{"name":"azure","displayName":"Azure","version":"6.33.0","description":"A Pulumi package for creating and managing Microsoft Azure cloud resources, based on the Terraform azurerm provider. We recommend using the [Azure Native provider](https://github.com/pulumi/pulumi-azure-native) to provision Azure infrastructure. Azure Native provides complete coverage of Azure resources and same-day access to new resources and resource updates.","keywords":["pulumi","azure"],"homepage":"https://pulumi.io","license":"Apache-2.0","attribution":"This Pulumi package is based on the [`azurerm` Terraform Provider](https://github.com/hashicorp/terraform-provider-azurerm).","repository":"https://github.com/pulumi/pulumi-azure","meta":{"moduleFormat":"(.*)(?:/[^/]*)"},"language":{"csharp":{"packageReferences":{"Pulumi":"3.*"},"namespaces":{"aadb2c":"AadB2C","advisor":"Advisor","aifoundry":"AIFoundry","analysisservices":"AnalysisServices","apimanagement":"ApiManagement","appconfiguration":"AppConfiguration","appinsights":"AppInsights","appplatform":"AppPlatform","appservice":"AppService","arc":"Arc","arckubernetes":"ArcKubernetes","arcmachine":"ArcMachine","armmsi":"ArmMsi","attestation":"Attestation","authorization":"Authorization","automanage":"Automanage","automation":"Automation","avs":"Avs","azure":"Azure","backup":"Backup","batch":"Batch","billing":"Billing","blueprint":"Blueprint","bot":"Bot","cdn":"Cdn","chaosstudio":"ChaosStudio","cognitive":"Cognitive","communication":"Communication","compute":"Compute","confidentialledger":"ConfidentialLedger","connections":"Connections","consumption":"Consumption","containerapp":"ContainerApp","containerservice":"ContainerService","core":"Core","cosmosdb":"CosmosDB","costmanagement":"CostManagement","customip":"CustomIp","dashboard":"Dashboard","databasemigration":"DatabaseMigration","databoxedge":"DataboxEdge","databricks":"DataBricks","datadog":"Datadog","datafactory":"DataFactory","dataprotection":"DataProtection","datashare":"DataShare","desktopvirtualization":"DesktopVirtualization","devcenter":"DevCenter","devtest":"DevTest","digitaltwins":"DigitalTwins","dns":"Dns","domainservices":"DomainServices","dynatrace":"Dynatrace","elasticcloud":"ElasticCloud","elasticsan":"ElasticSan","eventgrid":"EventGrid","eventhub":"EventHub","expressroute":"ExpressRoute","extendedlocation":"ExtendedLocation","fabric":"Fabric","fluidrelay":"FluidRelay","frontdoor":"FrontDoor","graph":"Graph","hdinsight":"HDInsight","healthcare":"Healthcare","hpc":"Hpc","hsm":"Hsm","iot":"Iot","iotcentral":"IotCentral","keyvault":"KeyVault","kusto":"Kusto","lb":"Lb","lighthouse":"Lighthouse","loadtest":"LoadTest","loganalytics":"LogAnalytics","logicapps":"LogicApps","machinelearning":"MachineLearning","maintenance":"Maintenance","managedapplication":"ManagedApplication","managedlustre":"ManagedLustre","managedredis":"ManagedRedis","management":"Management","managementgroups":"ManagementGroups","managementresource":"ManagementResource","maps":"Maps","marketplace":"Marketplace","mongocluster":"MongoCluster","monitoring":"Monitoring","msi":"Msi","mssql":"MSSql","mysql":"MySql","netapp":"NetApp","network":"Network","networkfunction":"NetworkFunction","newrelic":"NewRelic","nginx":"Nginx","notificationhub":"NotificationHub","operationalinsights":"OperationalInsights","oracle":"Oracle","orbital":"Orbital","paloalto":"PaloAlto","pim":"Pim","policy":"Policy","portal":"Portal","postgresql":"PostgreSql","powerbi":"PowerBI","privatedns":"PrivateDns","privatelink":"PrivateLink","proximity":"Proximity","purview":"Purview","qumulo":"Qumulo","recoveryservices":"RecoveryServices","redhatopenshift":"RedHatOpenShift","redis":"Redis","relay":"Relay","role":"Role","search":"Search","securitycenter":"SecurityCenter","sentinel":"Sentinel","servicebus":"ServiceBus","servicefabric":"ServiceFabric","signalr":"SignalR","siterecovery":"SiteRecovery","stack":"Stack","storage":"Storage","streamanalytics":"StreamAnalytics","synapse":"Synapse","systemcenter":"SystemCenter","trafficmanager":"TrafficManager","trustedsigning":"TrustedSigning","videoindexer":"VideoIndexer","voice":"Voice","waf":"Waf","webpubsub":"WebPubSub","workloadssap":"WorkloadsSAP"},"compatibility":"tfbridge20","respectSchemaVersion":true},"go":{"importBasePath":"github.com/pulumi/pulumi-azure/sdk/v6/go/azure","generateResourceContainerTypes":true,"generateExtraInputTypes":true,"respectSchemaVersion":true},"nodejs":{"packageDescription":"A Pulumi package for creating and managing Microsoft Azure cloud resources, based on the Terraform azurerm provider. We recommend using the [Azure Native provider](https://github.com/pulumi/pulumi-azure-native) to provision Azure infrastructure. Azure Native provides complete coverage of Azure resources and same-day access to new resources and resource updates.","readme":"\u003e This provider is a derived work of the [Terraform Provider](https://github.com/hashicorp/terraform-provider-azurerm)\n\u003e distributed under [MPL 2.0](https://www.mozilla.org/en-US/MPL/2.0/). If you encounter a bug or missing feature,\n\u003e first check the [`pulumi-azure` repo](https://github.com/pulumi/pulumi-azure/issues); however, if that doesn't turn up anything,\n\u003e please consult the source [`terraform-provider-azurerm` repo](https://github.com/hashicorp/terraform-provider-azurerm/issues).","dependencies":{"@azure/eventgrid":"^4.6.0","@azure/functions":"=1.2.2","@azure/identity":"~4.6.0","@azure/ms-rest-azure-js":"^2.0.1","azure-functions-ts-essentials":"^1.3.2","moment":"2.29.4","node-fetch":"^2.3.0"},"devDependencies":{"@types/node":"^10.0.0","@types/node-fetch":"^2.5.8"},"typescriptVersion":"^4","compatibility":"tfbridge20","disableUnionOutputTypes":true,"respectSchemaVersion":true},"python":{"readme":"\u003e This provider is a derived work of the [Terraform Provider](https://github.com/hashicorp/terraform-provider-azurerm)\n\u003e distributed under [MPL 2.0](https://www.mozilla.org/en-US/MPL/2.0/). If you encounter a bug or missing feature,\n\u003e first check the [`pulumi-azure` repo](https://github.com/pulumi/pulumi-azure/issues); however, if that doesn't turn up anything,\n\u003e please consult the source [`terraform-provider-azurerm` repo](https://github.com/hashicorp/terraform-provider-azurerm/issues).","compatibility":"tfbridge20","respectSchemaVersion":true,"pyproject":{"enabled":true},"inputTypes":"classes-and-dicts"}},"config":{"variables":{"adoPipelineServiceConnectionId":{"type":"string","description":"The Azure DevOps Pipeline Service Connection ID."},"auxiliaryTenantIds":{"type":"array","items":{"type":"string"},"secret":true},"clientCertificate":{"type":"string","description":"Base64 encoded PKCS#12 certificate bundle to use when authenticating as a Service Principal using a Client Certificate","secret":true},"clientCertificatePassword":{"type":"string","description":"The password associated with the Client Certificate. For use when authenticating as a Service Principal using a Client Certificate","secret":true},"clientCertificatePath":{"type":"string","description":"The path to the Client Certificate associated with the Service Principal for use when authenticating as a Service Principal using a Client Certificate.","secret":true},"clientId":{"type":"string","description":"The Client ID which should be used.","secret":true},"clientIdFilePath":{"type":"string","description":"The path to a file containing the Client ID which should be used.","secret":true},"clientSecret":{"type":"string","description":"The Client Secret which should be used. For use When authenticating as a Service Principal using a Client Secret.","secret":true},"clientSecretFilePath":{"type":"string","description":"The path to a file containing the Client Secret which should be used. For use When authenticating as a Service Principal using a Client Secret.","secret":true},"disableCorrelationRequestId":{"type":"boolean","description":"This will disable the x-ms-correlation-request-id header."},"disableTerraformPartnerId":{"type":"boolean","description":"This will disable the Terraform Partner ID which is used if a custom \u003cspan pulumi-lang-nodejs=\"`partnerId`\" pulumi-lang-dotnet=\"`PartnerId`\" pulumi-lang-go=\"`partnerId`\" pulumi-lang-python=\"`partner_id`\" pulumi-lang-yaml=\"`partnerId`\" pulumi-lang-java=\"`partnerId`\"\u003e`partner_id`\u003c/span\u003e isn't specified."},"environment":{"type":"string","description":"The Cloud Environment which should be used. Possible values are public, usgovernment, and china. Defaults to public. Not used and should not be specified when \u003cspan pulumi-lang-nodejs=\"`metadataHost`\" pulumi-lang-dotnet=\"`MetadataHost`\" pulumi-lang-go=\"`metadataHost`\" pulumi-lang-python=\"`metadata_host`\" pulumi-lang-yaml=\"`metadataHost`\" pulumi-lang-java=\"`metadataHost`\"\u003e`metadata_host`\u003c/span\u003e is specified.","default":"public","defaultInfo":{"environment":["AZURE_ENVIRONMENT","ARM_ENVIRONMENT"]}},"features":{"$ref":"#/types/azure:config/features:features"},"location":{"type":"string","defaultInfo":{"environment":["ARM_LOCATION"]}},"metadataHost":{"type":"string","description":"The Hostname which should be used for the Azure Metadata Service.","defaultInfo":{"environment":["ARM_METADATA_HOSTNAME"]}},"msiApiVersion":{"type":"string","description":"The API version to use for Managed Service Identity (IMDS) - for cases where the default API version is not supported by the endpoint. e.g. for Azure Container Apps."},"msiEndpoint":{"type":"string","description":"The path to a custom endpoint for Managed Service Identity - in most circumstances this should be detected automatically."},"oidcRequestToken":{"type":"string","description":"The bearer token for the request to the OIDC provider. For use when authenticating as a Service Principal using OpenID Connect.","secret":true},"oidcRequestUrl":{"type":"string","description":"The URL for the OIDC provider from which to request an ID token. For use when authenticating as a Service Principal using OpenID Connect."},"oidcToken":{"type":"string","description":"The OIDC ID token for use when authenticating as a Service Principal using OpenID Connect.","secret":true},"oidcTokenFilePath":{"type":"string","description":"The path to a file containing an OIDC ID token for use when authenticating as a Service Principal using OpenID Connect.","secret":true},"partnerId":{"type":"string","description":"A GUID/UUID that is registered with Microsoft to facilitate partner resource usage attribution."},"resourceProviderRegistrations":{"type":"string","description":"The set of Resource Providers which should be automatically registered for the subscription."},"resourceProvidersToRegisters":{"type":"array","items":{"type":"string"},"description":"A list of Resource Providers to explicitly register for the subscription, in addition to those specified by the \u003cspan pulumi-lang-nodejs=\"`resourceProviderRegistrations`\" pulumi-lang-dotnet=\"`ResourceProviderRegistrations`\" pulumi-lang-go=\"`resourceProviderRegistrations`\" pulumi-lang-python=\"`resource_provider_registrations`\" pulumi-lang-yaml=\"`resourceProviderRegistrations`\" pulumi-lang-java=\"`resourceProviderRegistrations`\"\u003e`resource_provider_registrations`\u003c/span\u003e property."},"skipProviderRegistration":{"type":"boolean","description":"Should the AzureRM Provider skip registering all of the Resource Providers that it supports, if they're not already registered?","default":false,"defaultInfo":{"environment":["ARM_SKIP_PROVIDER_REGISTRATION"]},"deprecationMessage":"This property is deprecated and will be removed in v5.0 of the AzureRM provider. Please use the \u003cspan pulumi-lang-nodejs=\"`resourceProviderRegistrations`\" pulumi-lang-dotnet=\"`ResourceProviderRegistrations`\" pulumi-lang-go=\"`resourceProviderRegistrations`\" pulumi-lang-python=\"`resource_provider_registrations`\" pulumi-lang-yaml=\"`resourceProviderRegistrations`\" pulumi-lang-java=\"`resourceProviderRegistrations`\"\u003e`resource_provider_registrations`\u003c/span\u003e property instead."},"storageUseAzuread":{"type":"boolean","description":"Should the AzureRM Provider use Azure AD Authentication when accessing the Storage Data Plane APIs?","default":false,"defaultInfo":{"environment":["ARM_STORAGE_USE_AZUREAD"]}},"subscriptionId":{"type":"string","description":"The Subscription ID which should be used.","default":"","defaultInfo":{"environment":["ARM_SUBSCRIPTION_ID"]},"secret":true},"tenantId":{"type":"string","description":"The Tenant ID which should be used.","secret":true},"useAksWorkloadIdentity":{"type":"boolean","description":"Allow Azure AKS Workload Identity to be used for Authentication."},"useCli":{"type":"boolean","description":"Allow Azure CLI to be used for Authentication."},"useMsi":{"type":"boolean","description":"Allow Managed Service Identity to be used for Authentication."},"useOidc":{"type":"boolean","description":"Allow OpenID Connect to be used for authentication"}}},"types":{"azure:advisor/getRecommendationsRecommendation:getRecommendationsRecommendation":{"properties":{"category":{"type":"string","description":"The category of the recommendation.\n"},"description":{"type":"string","description":"The description of the issue or the opportunity identified by the recommendation.\n"},"impact":{"type":"string","description":"The business impact of the recommendation.\n"},"recommendationName":{"type":"string","description":"The name of the Advisor Recommendation.\n"},"recommendationTypeId":{"type":"string","description":"The recommendation type id of the Advisor Recommendation.\n"},"resourceName":{"type":"string","description":"The name of the identified resource of the Advisor Recommendation.\n"},"resourceType":{"type":"string","description":"The type of the identified resource of the Advisor Recommendation.\n"},"suppressionNames":{"type":"array","items":{"type":"string"},"description":"A list of Advisor Suppression names of the Advisor Recommendation.\n"},"updatedTime":{"type":"string","description":"The most recent time that Advisor checked the validity of the recommendation..\n"}},"type":"object","required":["category","description","impact","recommendationName","recommendationTypeId","resourceName","resourceType","suppressionNames","updatedTime"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:aifoundry/HubEncryption:HubEncryption":{"properties":{"keyId":{"type":"string","description":"The Key Vault URI to access the encryption key.\n"},"keyVaultId":{"type":"string","description":"The Key Vault ID where the customer owned encryption key exists.\n"},"userAssignedIdentityId":{"type":"string","description":"The user assigned identity ID that has access to the encryption key.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`userAssignedIdentityId`\" pulumi-lang-dotnet=\"`UserAssignedIdentityId`\" pulumi-lang-go=\"`userAssignedIdentityId`\" pulumi-lang-python=\"`user_assigned_identity_id`\" pulumi-lang-yaml=\"`userAssignedIdentityId`\" pulumi-lang-java=\"`userAssignedIdentityId`\"\u003e`user_assigned_identity_id`\u003c/span\u003e must be set when`identity.type` is `UserAssigned` in order for the service to find the assigned permissions.\n"}},"type":"object","required":["keyId","keyVaultId"]},"azure:aifoundry/HubIdentity:HubIdentity":{"properties":{"identityIds":{"type":"array","items":{"type":"string"},"description":"Specifies a list of User Assigned Managed Identity IDs to be assigned to this AI Foundry Hub.\n\n\u003e **Note:** This is required when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to `UserAssigned` or `SystemAssigned, UserAssigned`.\n"},"principalId":{"type":"string","description":"The Principal ID associated with this Managed Service Identity.\n"},"tenantId":{"type":"string","description":"The Tenant ID associated with this Managed Service Identity.\n"},"type":{"type":"string","description":"Specifies the type of Managed Service Identity that should be configured on this AI Foundry Hub. Possible values are `SystemAssigned`, `UserAssigned`, `SystemAssigned, UserAssigned` (to enable both).\n"}},"type":"object","required":["type"],"language":{"nodejs":{"requiredOutputs":["principalId","tenantId","type"]}}},"azure:aifoundry/HubManagedNetwork:HubManagedNetwork":{"properties":{"isolationMode":{"type":"string","description":"The isolation mode of the AI Foundry Hub. Possible values are `Disabled`, `AllowOnlyApprovedOutbound`, and `AllowInternetOutbound`.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["isolationMode"]}}},"azure:aifoundry/ProjectIdentity:ProjectIdentity":{"properties":{"identityIds":{"type":"array","items":{"type":"string"},"description":"Specifies a list of User Assigned Managed Identity IDs to be assigned to this AI Foundry Project.\n\n\u003e **Note:** This is required when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to `UserAssigned` or `SystemAssigned, UserAssigned`.\n"},"principalId":{"type":"string","description":"The Principal ID associated with this Managed Service Identity.\n"},"tenantId":{"type":"string","description":"The Tenant ID associated with this Managed Service Identity.\n"},"type":{"type":"string","description":"Specifies the type of Managed Service Identity that should be configured on this AI Foundry Project. Possible values are `SystemAssigned`, `UserAssigned`, `SystemAssigned, UserAssigned` (to enable both).\n"}},"type":"object","required":["type"],"language":{"nodejs":{"requiredOutputs":["principalId","tenantId","type"]}}},"azure:analysisservices/ServerIpv4FirewallRule:ServerIpv4FirewallRule":{"properties":{"name":{"type":"string","description":"Specifies the name of the firewall rule.\n"},"rangeEnd":{"type":"string","description":"End of the firewall rule range as IPv4 address.\n"},"rangeStart":{"type":"string","description":"Start of the firewall rule range as IPv4 address.\n"}},"type":"object","required":["name","rangeEnd","rangeStart"]},"azure:apimanagement/ApiContact:ApiContact":{"properties":{"email":{"type":"string","description":"The email address of the contact person/organization.\n"},"name":{"type":"string","description":"The name of the contact person/organization.\n"},"url":{"type":"string","description":"Absolute URL of the contact information.\n"}},"type":"object"},"azure:apimanagement/ApiDiagnosticBackendRequest:ApiDiagnosticBackendRequest":{"properties":{"bodyBytes":{"type":"integer","description":"Number of payload bytes to log (up to 8192).\n"},"dataMasking":{"$ref":"#/types/azure:apimanagement/ApiDiagnosticBackendRequestDataMasking:ApiDiagnosticBackendRequestDataMasking","description":"A \u003cspan pulumi-lang-nodejs=\"`dataMasking`\" pulumi-lang-dotnet=\"`DataMasking`\" pulumi-lang-go=\"`dataMasking`\" pulumi-lang-python=\"`data_masking`\" pulumi-lang-yaml=\"`dataMasking`\" pulumi-lang-java=\"`dataMasking`\"\u003e`data_masking`\u003c/span\u003e block as defined below.\n"},"headersToLogs":{"type":"array","items":{"type":"string"},"description":"Specifies a list of headers to log.\n"}},"type":"object"},"azure:apimanagement/ApiDiagnosticBackendRequestDataMasking:ApiDiagnosticBackendRequestDataMasking":{"properties":{"headers":{"type":"array","items":{"$ref":"#/types/azure:apimanagement/ApiDiagnosticBackendRequestDataMaskingHeader:ApiDiagnosticBackendRequestDataMaskingHeader"},"description":"A \u003cspan pulumi-lang-nodejs=\"`headers`\" pulumi-lang-dotnet=\"`Headers`\" pulumi-lang-go=\"`headers`\" pulumi-lang-python=\"`headers`\" pulumi-lang-yaml=\"`headers`\" pulumi-lang-java=\"`headers`\"\u003e`headers`\u003c/span\u003e block as defined below.\n"},"queryParams":{"type":"array","items":{"$ref":"#/types/azure:apimanagement/ApiDiagnosticBackendRequestDataMaskingQueryParam:ApiDiagnosticBackendRequestDataMaskingQueryParam"},"description":"A \u003cspan pulumi-lang-nodejs=\"`queryParams`\" pulumi-lang-dotnet=\"`QueryParams`\" pulumi-lang-go=\"`queryParams`\" pulumi-lang-python=\"`query_params`\" pulumi-lang-yaml=\"`queryParams`\" pulumi-lang-java=\"`queryParams`\"\u003e`query_params`\u003c/span\u003e block as defined below.\n"}},"type":"object"},"azure:apimanagement/ApiDiagnosticBackendRequestDataMaskingHeader:ApiDiagnosticBackendRequestDataMaskingHeader":{"properties":{"mode":{"type":"string","description":"The data masking mode. Possible values are `Mask` and `Hide` for \u003cspan pulumi-lang-nodejs=\"`queryParams`\" pulumi-lang-dotnet=\"`QueryParams`\" pulumi-lang-go=\"`queryParams`\" pulumi-lang-python=\"`query_params`\" pulumi-lang-yaml=\"`queryParams`\" pulumi-lang-java=\"`queryParams`\"\u003e`query_params`\u003c/span\u003e. The only possible value is `Mask` for \u003cspan pulumi-lang-nodejs=\"`headers`\" pulumi-lang-dotnet=\"`Headers`\" pulumi-lang-go=\"`headers`\" pulumi-lang-python=\"`headers`\" pulumi-lang-yaml=\"`headers`\" pulumi-lang-java=\"`headers`\"\u003e`headers`\u003c/span\u003e.\n"},"value":{"type":"string","description":"The name of the header or the query parameter to mask.\n"}},"type":"object","required":["mode","value"]},"azure:apimanagement/ApiDiagnosticBackendRequestDataMaskingQueryParam:ApiDiagnosticBackendRequestDataMaskingQueryParam":{"properties":{"mode":{"type":"string","description":"The data masking mode. Possible values are `Mask` and `Hide` for \u003cspan pulumi-lang-nodejs=\"`queryParams`\" pulumi-lang-dotnet=\"`QueryParams`\" pulumi-lang-go=\"`queryParams`\" pulumi-lang-python=\"`query_params`\" pulumi-lang-yaml=\"`queryParams`\" pulumi-lang-java=\"`queryParams`\"\u003e`query_params`\u003c/span\u003e. The only possible value is `Mask` for \u003cspan pulumi-lang-nodejs=\"`headers`\" pulumi-lang-dotnet=\"`Headers`\" pulumi-lang-go=\"`headers`\" pulumi-lang-python=\"`headers`\" pulumi-lang-yaml=\"`headers`\" pulumi-lang-java=\"`headers`\"\u003e`headers`\u003c/span\u003e.\n"},"value":{"type":"string","description":"The name of the header or the query parameter to mask.\n"}},"type":"object","required":["mode","value"]},"azure:apimanagement/ApiDiagnosticBackendResponse:ApiDiagnosticBackendResponse":{"properties":{"bodyBytes":{"type":"integer","description":"Number of payload bytes to log (up to 8192).\n"},"dataMasking":{"$ref":"#/types/azure:apimanagement/ApiDiagnosticBackendResponseDataMasking:ApiDiagnosticBackendResponseDataMasking","description":"A \u003cspan pulumi-lang-nodejs=\"`dataMasking`\" pulumi-lang-dotnet=\"`DataMasking`\" pulumi-lang-go=\"`dataMasking`\" pulumi-lang-python=\"`data_masking`\" pulumi-lang-yaml=\"`dataMasking`\" pulumi-lang-java=\"`dataMasking`\"\u003e`data_masking`\u003c/span\u003e block as defined below.\n"},"headersToLogs":{"type":"array","items":{"type":"string"},"description":"Specifies a list of headers to log.\n"}},"type":"object"},"azure:apimanagement/ApiDiagnosticBackendResponseDataMasking:ApiDiagnosticBackendResponseDataMasking":{"properties":{"headers":{"type":"array","items":{"$ref":"#/types/azure:apimanagement/ApiDiagnosticBackendResponseDataMaskingHeader:ApiDiagnosticBackendResponseDataMaskingHeader"},"description":"A \u003cspan pulumi-lang-nodejs=\"`headers`\" pulumi-lang-dotnet=\"`Headers`\" pulumi-lang-go=\"`headers`\" pulumi-lang-python=\"`headers`\" pulumi-lang-yaml=\"`headers`\" pulumi-lang-java=\"`headers`\"\u003e`headers`\u003c/span\u003e block as defined below.\n"},"queryParams":{"type":"array","items":{"$ref":"#/types/azure:apimanagement/ApiDiagnosticBackendResponseDataMaskingQueryParam:ApiDiagnosticBackendResponseDataMaskingQueryParam"},"description":"A \u003cspan pulumi-lang-nodejs=\"`queryParams`\" pulumi-lang-dotnet=\"`QueryParams`\" pulumi-lang-go=\"`queryParams`\" pulumi-lang-python=\"`query_params`\" pulumi-lang-yaml=\"`queryParams`\" pulumi-lang-java=\"`queryParams`\"\u003e`query_params`\u003c/span\u003e block as defined below.\n"}},"type":"object"},"azure:apimanagement/ApiDiagnosticBackendResponseDataMaskingHeader:ApiDiagnosticBackendResponseDataMaskingHeader":{"properties":{"mode":{"type":"string","description":"The data masking mode. Possible values are `Mask` and `Hide` for \u003cspan pulumi-lang-nodejs=\"`queryParams`\" pulumi-lang-dotnet=\"`QueryParams`\" pulumi-lang-go=\"`queryParams`\" pulumi-lang-python=\"`query_params`\" pulumi-lang-yaml=\"`queryParams`\" pulumi-lang-java=\"`queryParams`\"\u003e`query_params`\u003c/span\u003e. The only possible value is `Mask` for \u003cspan pulumi-lang-nodejs=\"`headers`\" pulumi-lang-dotnet=\"`Headers`\" pulumi-lang-go=\"`headers`\" pulumi-lang-python=\"`headers`\" pulumi-lang-yaml=\"`headers`\" pulumi-lang-java=\"`headers`\"\u003e`headers`\u003c/span\u003e.\n"},"value":{"type":"string","description":"The name of the header or the query parameter to mask.\n"}},"type":"object","required":["mode","value"]},"azure:apimanagement/ApiDiagnosticBackendResponseDataMaskingQueryParam:ApiDiagnosticBackendResponseDataMaskingQueryParam":{"properties":{"mode":{"type":"string","description":"The data masking mode. Possible values are `Mask` and `Hide` for \u003cspan pulumi-lang-nodejs=\"`queryParams`\" pulumi-lang-dotnet=\"`QueryParams`\" pulumi-lang-go=\"`queryParams`\" pulumi-lang-python=\"`query_params`\" pulumi-lang-yaml=\"`queryParams`\" pulumi-lang-java=\"`queryParams`\"\u003e`query_params`\u003c/span\u003e. The only possible value is `Mask` for \u003cspan pulumi-lang-nodejs=\"`headers`\" pulumi-lang-dotnet=\"`Headers`\" pulumi-lang-go=\"`headers`\" pulumi-lang-python=\"`headers`\" pulumi-lang-yaml=\"`headers`\" pulumi-lang-java=\"`headers`\"\u003e`headers`\u003c/span\u003e.\n"},"value":{"type":"string","description":"The name of the header or the query parameter to mask.\n"}},"type":"object","required":["mode","value"]},"azure:apimanagement/ApiDiagnosticFrontendRequest:ApiDiagnosticFrontendRequest":{"properties":{"bodyBytes":{"type":"integer","description":"Number of payload bytes to log (up to 8192).\n"},"dataMasking":{"$ref":"#/types/azure:apimanagement/ApiDiagnosticFrontendRequestDataMasking:ApiDiagnosticFrontendRequestDataMasking","description":"A \u003cspan pulumi-lang-nodejs=\"`dataMasking`\" pulumi-lang-dotnet=\"`DataMasking`\" pulumi-lang-go=\"`dataMasking`\" pulumi-lang-python=\"`data_masking`\" pulumi-lang-yaml=\"`dataMasking`\" pulumi-lang-java=\"`dataMasking`\"\u003e`data_masking`\u003c/span\u003e block as defined below.\n"},"headersToLogs":{"type":"array","items":{"type":"string"},"description":"Specifies a list of headers to log.\n"}},"type":"object"},"azure:apimanagement/ApiDiagnosticFrontendRequestDataMasking:ApiDiagnosticFrontendRequestDataMasking":{"properties":{"headers":{"type":"array","items":{"$ref":"#/types/azure:apimanagement/ApiDiagnosticFrontendRequestDataMaskingHeader:ApiDiagnosticFrontendRequestDataMaskingHeader"},"description":"A \u003cspan pulumi-lang-nodejs=\"`headers`\" pulumi-lang-dotnet=\"`Headers`\" pulumi-lang-go=\"`headers`\" pulumi-lang-python=\"`headers`\" pulumi-lang-yaml=\"`headers`\" pulumi-lang-java=\"`headers`\"\u003e`headers`\u003c/span\u003e block as defined below.\n"},"queryParams":{"type":"array","items":{"$ref":"#/types/azure:apimanagement/ApiDiagnosticFrontendRequestDataMaskingQueryParam:ApiDiagnosticFrontendRequestDataMaskingQueryParam"},"description":"A \u003cspan pulumi-lang-nodejs=\"`queryParams`\" pulumi-lang-dotnet=\"`QueryParams`\" pulumi-lang-go=\"`queryParams`\" pulumi-lang-python=\"`query_params`\" pulumi-lang-yaml=\"`queryParams`\" pulumi-lang-java=\"`queryParams`\"\u003e`query_params`\u003c/span\u003e block as defined below.\n"}},"type":"object"},"azure:apimanagement/ApiDiagnosticFrontendRequestDataMaskingHeader:ApiDiagnosticFrontendRequestDataMaskingHeader":{"properties":{"mode":{"type":"string","description":"The data masking mode. Possible values are `Mask` and `Hide` for \u003cspan pulumi-lang-nodejs=\"`queryParams`\" pulumi-lang-dotnet=\"`QueryParams`\" pulumi-lang-go=\"`queryParams`\" pulumi-lang-python=\"`query_params`\" pulumi-lang-yaml=\"`queryParams`\" pulumi-lang-java=\"`queryParams`\"\u003e`query_params`\u003c/span\u003e. The only possible value is `Mask` for \u003cspan pulumi-lang-nodejs=\"`headers`\" pulumi-lang-dotnet=\"`Headers`\" pulumi-lang-go=\"`headers`\" pulumi-lang-python=\"`headers`\" pulumi-lang-yaml=\"`headers`\" pulumi-lang-java=\"`headers`\"\u003e`headers`\u003c/span\u003e.\n"},"value":{"type":"string","description":"The name of the header or the query parameter to mask.\n"}},"type":"object","required":["mode","value"]},"azure:apimanagement/ApiDiagnosticFrontendRequestDataMaskingQueryParam:ApiDiagnosticFrontendRequestDataMaskingQueryParam":{"properties":{"mode":{"type":"string","description":"The data masking mode. Possible values are `Mask` and `Hide` for \u003cspan pulumi-lang-nodejs=\"`queryParams`\" pulumi-lang-dotnet=\"`QueryParams`\" pulumi-lang-go=\"`queryParams`\" pulumi-lang-python=\"`query_params`\" pulumi-lang-yaml=\"`queryParams`\" pulumi-lang-java=\"`queryParams`\"\u003e`query_params`\u003c/span\u003e. The only possible value is `Mask` for \u003cspan pulumi-lang-nodejs=\"`headers`\" pulumi-lang-dotnet=\"`Headers`\" pulumi-lang-go=\"`headers`\" pulumi-lang-python=\"`headers`\" pulumi-lang-yaml=\"`headers`\" pulumi-lang-java=\"`headers`\"\u003e`headers`\u003c/span\u003e.\n"},"value":{"type":"string","description":"The name of the header or the query parameter to mask.\n"}},"type":"object","required":["mode","value"]},"azure:apimanagement/ApiDiagnosticFrontendResponse:ApiDiagnosticFrontendResponse":{"properties":{"bodyBytes":{"type":"integer","description":"Number of payload bytes to log (up to 8192).\n"},"dataMasking":{"$ref":"#/types/azure:apimanagement/ApiDiagnosticFrontendResponseDataMasking:ApiDiagnosticFrontendResponseDataMasking","description":"A \u003cspan pulumi-lang-nodejs=\"`dataMasking`\" pulumi-lang-dotnet=\"`DataMasking`\" pulumi-lang-go=\"`dataMasking`\" pulumi-lang-python=\"`data_masking`\" pulumi-lang-yaml=\"`dataMasking`\" pulumi-lang-java=\"`dataMasking`\"\u003e`data_masking`\u003c/span\u003e block as defined below.\n"},"headersToLogs":{"type":"array","items":{"type":"string"},"description":"Specifies a list of headers to log.\n"}},"type":"object"},"azure:apimanagement/ApiDiagnosticFrontendResponseDataMasking:ApiDiagnosticFrontendResponseDataMasking":{"properties":{"headers":{"type":"array","items":{"$ref":"#/types/azure:apimanagement/ApiDiagnosticFrontendResponseDataMaskingHeader:ApiDiagnosticFrontendResponseDataMaskingHeader"},"description":"A \u003cspan pulumi-lang-nodejs=\"`headers`\" pulumi-lang-dotnet=\"`Headers`\" pulumi-lang-go=\"`headers`\" pulumi-lang-python=\"`headers`\" pulumi-lang-yaml=\"`headers`\" pulumi-lang-java=\"`headers`\"\u003e`headers`\u003c/span\u003e block as defined below.\n"},"queryParams":{"type":"array","items":{"$ref":"#/types/azure:apimanagement/ApiDiagnosticFrontendResponseDataMaskingQueryParam:ApiDiagnosticFrontendResponseDataMaskingQueryParam"},"description":"A \u003cspan pulumi-lang-nodejs=\"`queryParams`\" pulumi-lang-dotnet=\"`QueryParams`\" pulumi-lang-go=\"`queryParams`\" pulumi-lang-python=\"`query_params`\" pulumi-lang-yaml=\"`queryParams`\" pulumi-lang-java=\"`queryParams`\"\u003e`query_params`\u003c/span\u003e block as defined below.\n"}},"type":"object"},"azure:apimanagement/ApiDiagnosticFrontendResponseDataMaskingHeader:ApiDiagnosticFrontendResponseDataMaskingHeader":{"properties":{"mode":{"type":"string","description":"The data masking mode. Possible values are `Mask` and `Hide` for \u003cspan pulumi-lang-nodejs=\"`queryParams`\" pulumi-lang-dotnet=\"`QueryParams`\" pulumi-lang-go=\"`queryParams`\" pulumi-lang-python=\"`query_params`\" pulumi-lang-yaml=\"`queryParams`\" pulumi-lang-java=\"`queryParams`\"\u003e`query_params`\u003c/span\u003e. The only possible value is `Mask` for \u003cspan pulumi-lang-nodejs=\"`headers`\" pulumi-lang-dotnet=\"`Headers`\" pulumi-lang-go=\"`headers`\" pulumi-lang-python=\"`headers`\" pulumi-lang-yaml=\"`headers`\" pulumi-lang-java=\"`headers`\"\u003e`headers`\u003c/span\u003e.\n"},"value":{"type":"string","description":"The name of the header or the query parameter to mask.\n"}},"type":"object","required":["mode","value"]},"azure:apimanagement/ApiDiagnosticFrontendResponseDataMaskingQueryParam:ApiDiagnosticFrontendResponseDataMaskingQueryParam":{"properties":{"mode":{"type":"string","description":"The data masking mode. Possible values are `Mask` and `Hide` for \u003cspan pulumi-lang-nodejs=\"`queryParams`\" pulumi-lang-dotnet=\"`QueryParams`\" pulumi-lang-go=\"`queryParams`\" pulumi-lang-python=\"`query_params`\" pulumi-lang-yaml=\"`queryParams`\" pulumi-lang-java=\"`queryParams`\"\u003e`query_params`\u003c/span\u003e. The only possible value is `Mask` for \u003cspan pulumi-lang-nodejs=\"`headers`\" pulumi-lang-dotnet=\"`Headers`\" pulumi-lang-go=\"`headers`\" pulumi-lang-python=\"`headers`\" pulumi-lang-yaml=\"`headers`\" pulumi-lang-java=\"`headers`\"\u003e`headers`\u003c/span\u003e.\n"},"value":{"type":"string","description":"The name of the header or the query parameter to mask.\n"}},"type":"object","required":["mode","value"]},"azure:apimanagement/ApiImport:ApiImport":{"properties":{"contentFormat":{"type":"string","description":"The format of the content from which the API Definition should be imported. Possible values are: \u003cspan pulumi-lang-nodejs=\"`openapi`\" pulumi-lang-dotnet=\"`Openapi`\" pulumi-lang-go=\"`openapi`\" pulumi-lang-python=\"`openapi`\" pulumi-lang-yaml=\"`openapi`\" pulumi-lang-java=\"`openapi`\"\u003e`openapi`\u003c/span\u003e, `openapi+json`, `openapi+json-link`, `openapi-link`, `swagger-json`, `swagger-link-json`, `wadl-link-json`, `wadl-xml`, \u003cspan pulumi-lang-nodejs=\"`wsdl`\" pulumi-lang-dotnet=\"`Wsdl`\" pulumi-lang-go=\"`wsdl`\" pulumi-lang-python=\"`wsdl`\" pulumi-lang-yaml=\"`wsdl`\" pulumi-lang-java=\"`wsdl`\"\u003e`wsdl`\u003c/span\u003e and `wsdl-link`.\n"},"contentValue":{"type":"string","description":"The Content from which the API Definition should be imported. When a \u003cspan pulumi-lang-nodejs=\"`contentFormat`\" pulumi-lang-dotnet=\"`ContentFormat`\" pulumi-lang-go=\"`contentFormat`\" pulumi-lang-python=\"`content_format`\" pulumi-lang-yaml=\"`contentFormat`\" pulumi-lang-java=\"`contentFormat`\"\u003e`content_format`\u003c/span\u003e of `*-link-*` is specified this must be a URL, otherwise this must be defined inline. The URL must be accessible and return a valid document; otherwise, deployment may fail.\n"},"wsdlSelector":{"$ref":"#/types/azure:apimanagement/ApiImportWsdlSelector:ApiImportWsdlSelector","description":"A \u003cspan pulumi-lang-nodejs=\"`wsdlSelector`\" pulumi-lang-dotnet=\"`WsdlSelector`\" pulumi-lang-go=\"`wsdlSelector`\" pulumi-lang-python=\"`wsdl_selector`\" pulumi-lang-yaml=\"`wsdlSelector`\" pulumi-lang-java=\"`wsdlSelector`\"\u003e`wsdl_selector`\u003c/span\u003e block as defined below, which allows you to limit the import of a WSDL to only a subset of the document. This can only be specified when \u003cspan pulumi-lang-nodejs=\"`contentFormat`\" pulumi-lang-dotnet=\"`ContentFormat`\" pulumi-lang-go=\"`contentFormat`\" pulumi-lang-python=\"`content_format`\" pulumi-lang-yaml=\"`contentFormat`\" pulumi-lang-java=\"`contentFormat`\"\u003e`content_format`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`wsdl`\" pulumi-lang-dotnet=\"`Wsdl`\" pulumi-lang-go=\"`wsdl`\" pulumi-lang-python=\"`wsdl`\" pulumi-lang-yaml=\"`wsdl`\" pulumi-lang-java=\"`wsdl`\"\u003e`wsdl`\u003c/span\u003e or `wsdl-link`.\n"}},"type":"object","required":["contentFormat","contentValue"]},"azure:apimanagement/ApiImportWsdlSelector:ApiImportWsdlSelector":{"properties":{"endpointName":{"type":"string","description":"The name of endpoint (port) to import from WSDL.\n"},"serviceName":{"type":"string","description":"The name of service to import from WSDL.\n"}},"type":"object","required":["endpointName","serviceName"]},"azure:apimanagement/ApiLicense:ApiLicense":{"properties":{"name":{"type":"string","description":"The name of the license .\n"},"url":{"type":"string","description":"Absolute URL of the license.\n"}},"type":"object"},"azure:apimanagement/ApiOauth2Authorization:ApiOauth2Authorization":{"properties":{"authorizationServerName":{"type":"string","description":"OAuth authorization server identifier. The name of an OAuth2 Authorization Server.\n"},"scope":{"type":"string","description":"Operations scope.\n"}},"type":"object","required":["authorizationServerName"]},"azure:apimanagement/ApiOpenidAuthentication:ApiOpenidAuthentication":{"properties":{"bearerTokenSendingMethods":{"type":"array","items":{"type":"string"},"description":"How to send token to the server. A list of zero or more methods. Valid values are `authorizationHeader` and \u003cspan pulumi-lang-nodejs=\"`query`\" pulumi-lang-dotnet=\"`Query`\" pulumi-lang-go=\"`query`\" pulumi-lang-python=\"`query`\" pulumi-lang-yaml=\"`query`\" pulumi-lang-java=\"`query`\"\u003e`query`\u003c/span\u003e.\n"},"openidProviderName":{"type":"string","description":"OpenID Connect provider identifier. The name of an OpenID Connect Provider.\n"}},"type":"object","required":["openidProviderName"]},"azure:apimanagement/ApiOperationRequest:ApiOperationRequest":{"properties":{"description":{"type":"string","description":"A description of the HTTP Request, which may include HTML tags.\n"},"headers":{"type":"array","items":{"$ref":"#/types/azure:apimanagement/ApiOperationRequestHeader:ApiOperationRequestHeader"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`header`\" pulumi-lang-dotnet=\"`Header`\" pulumi-lang-go=\"`header`\" pulumi-lang-python=\"`header`\" pulumi-lang-yaml=\"`header`\" pulumi-lang-java=\"`header`\"\u003e`header`\u003c/span\u003e blocks as defined above.\n"},"queryParameters":{"type":"array","items":{"$ref":"#/types/azure:apimanagement/ApiOperationRequestQueryParameter:ApiOperationRequestQueryParameter"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`queryParameter`\" pulumi-lang-dotnet=\"`QueryParameter`\" pulumi-lang-go=\"`queryParameter`\" pulumi-lang-python=\"`query_parameter`\" pulumi-lang-yaml=\"`queryParameter`\" pulumi-lang-java=\"`queryParameter`\"\u003e`query_parameter`\u003c/span\u003e blocks as defined above.\n"},"representations":{"type":"array","items":{"$ref":"#/types/azure:apimanagement/ApiOperationRequestRepresentation:ApiOperationRequestRepresentation"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`representation`\" pulumi-lang-dotnet=\"`Representation`\" pulumi-lang-go=\"`representation`\" pulumi-lang-python=\"`representation`\" pulumi-lang-yaml=\"`representation`\" pulumi-lang-java=\"`representation`\"\u003e`representation`\u003c/span\u003e blocks as defined below.\n"}},"type":"object"},"azure:apimanagement/ApiOperationRequestHeader:ApiOperationRequestHeader":{"properties":{"defaultValue":{"type":"string","description":"The default value for this Header.\n"},"description":{"type":"string","description":"A description of this Header.\n"},"examples":{"type":"array","items":{"$ref":"#/types/azure:apimanagement/ApiOperationRequestHeaderExample:ApiOperationRequestHeaderExample"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`example`\" pulumi-lang-dotnet=\"`Example`\" pulumi-lang-go=\"`example`\" pulumi-lang-python=\"`example`\" pulumi-lang-yaml=\"`example`\" pulumi-lang-java=\"`example`\"\u003e`example`\u003c/span\u003e blocks as defined above.\n"},"name":{"type":"string","description":"The Name of this Header.\n"},"required":{"type":"boolean","description":"Is this Header Required?\n"},"schemaId":{"type":"string","description":"The name of the Schema.\n"},"type":{"type":"string","description":"The Type of this Header, such as a \u003cspan pulumi-lang-nodejs=\"`string`\" pulumi-lang-dotnet=\"`String`\" pulumi-lang-go=\"`string`\" pulumi-lang-python=\"`string`\" pulumi-lang-yaml=\"`string`\" pulumi-lang-java=\"`string`\"\u003e`string`\u003c/span\u003e.\n"},"typeName":{"type":"string","description":"The type name defined by the Schema.\n"},"values":{"type":"array","items":{"type":"string"},"description":"One or more acceptable values for this Header.\n"}},"type":"object","required":["name","required","type"]},"azure:apimanagement/ApiOperationRequestHeaderExample:ApiOperationRequestHeaderExample":{"properties":{"description":{"type":"string","description":"A long description for this example.\n"},"externalValue":{"type":"string","description":"A URL that points to the literal example.\n"},"name":{"type":"string","description":"The name of this example.\n"},"summary":{"type":"string","description":"A short description for this example.\n"},"value":{"type":"string","description":"The example of the representation.\n"}},"type":"object","required":["name"]},"azure:apimanagement/ApiOperationRequestQueryParameter:ApiOperationRequestQueryParameter":{"properties":{"defaultValue":{"type":"string","description":"The default value for this Query Parameter.\n"},"description":{"type":"string","description":"A description of this Query Parameter.\n"},"examples":{"type":"array","items":{"$ref":"#/types/azure:apimanagement/ApiOperationRequestQueryParameterExample:ApiOperationRequestQueryParameterExample"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`example`\" pulumi-lang-dotnet=\"`Example`\" pulumi-lang-go=\"`example`\" pulumi-lang-python=\"`example`\" pulumi-lang-yaml=\"`example`\" pulumi-lang-java=\"`example`\"\u003e`example`\u003c/span\u003e blocks as defined above.\n"},"name":{"type":"string","description":"The Name of this Query Parameter.\n"},"required":{"type":"boolean","description":"Is this Query Parameter Required?\n"},"schemaId":{"type":"string","description":"The name of the Schema.\n"},"type":{"type":"string","description":"The Type of this Query Parameter, such as a \u003cspan pulumi-lang-nodejs=\"`string`\" pulumi-lang-dotnet=\"`String`\" pulumi-lang-go=\"`string`\" pulumi-lang-python=\"`string`\" pulumi-lang-yaml=\"`string`\" pulumi-lang-java=\"`string`\"\u003e`string`\u003c/span\u003e.\n"},"typeName":{"type":"string","description":"The type name defined by the Schema.\n"},"values":{"type":"array","items":{"type":"string"},"description":"One or more acceptable values for this Query Parameter.\n"}},"type":"object","required":["name","required","type"]},"azure:apimanagement/ApiOperationRequestQueryParameterExample:ApiOperationRequestQueryParameterExample":{"properties":{"description":{"type":"string","description":"A long description for this example.\n"},"externalValue":{"type":"string","description":"A URL that points to the literal example.\n"},"name":{"type":"string","description":"The name of this example.\n"},"summary":{"type":"string","description":"A short description for this example.\n"},"value":{"type":"string","description":"The example of the representation.\n"}},"type":"object","required":["name"]},"azure:apimanagement/ApiOperationRequestRepresentation:ApiOperationRequestRepresentation":{"properties":{"contentType":{"type":"string","description":"The Content Type of this representation, such as `application/json`.\n"},"examples":{"type":"array","items":{"$ref":"#/types/azure:apimanagement/ApiOperationRequestRepresentationExample:ApiOperationRequestRepresentationExample"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`example`\" pulumi-lang-dotnet=\"`Example`\" pulumi-lang-go=\"`example`\" pulumi-lang-python=\"`example`\" pulumi-lang-yaml=\"`example`\" pulumi-lang-java=\"`example`\"\u003e`example`\u003c/span\u003e blocks as defined above.\n"},"formParameters":{"type":"array","items":{"$ref":"#/types/azure:apimanagement/ApiOperationRequestRepresentationFormParameter:ApiOperationRequestRepresentationFormParameter"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`formParameter`\" pulumi-lang-dotnet=\"`FormParameter`\" pulumi-lang-go=\"`formParameter`\" pulumi-lang-python=\"`form_parameter`\" pulumi-lang-yaml=\"`formParameter`\" pulumi-lang-java=\"`formParameter`\"\u003e`form_parameter`\u003c/span\u003e block as defined above.\n\n\u003e **Note:** This is Required when \u003cspan pulumi-lang-nodejs=\"`contentType`\" pulumi-lang-dotnet=\"`ContentType`\" pulumi-lang-go=\"`contentType`\" pulumi-lang-python=\"`content_type`\" pulumi-lang-yaml=\"`contentType`\" pulumi-lang-java=\"`contentType`\"\u003e`content_type`\u003c/span\u003e is set to `application/x-www-form-urlencoded` or `multipart/form-data`.\n"},"schemaId":{"type":"string","description":"The ID of an API Management Schema which represents this Response.\n\n\u003e **Note:** This can only be specified when \u003cspan pulumi-lang-nodejs=\"`contentType`\" pulumi-lang-dotnet=\"`ContentType`\" pulumi-lang-go=\"`contentType`\" pulumi-lang-python=\"`content_type`\" pulumi-lang-yaml=\"`contentType`\" pulumi-lang-java=\"`contentType`\"\u003e`content_type`\u003c/span\u003e is not set to `application/x-www-form-urlencoded` or `multipart/form-data`.\n"},"typeName":{"type":"string","description":"The Type Name defined by the Schema.\n\n\u003e **Note:** This can only be specified when \u003cspan pulumi-lang-nodejs=\"`contentType`\" pulumi-lang-dotnet=\"`ContentType`\" pulumi-lang-go=\"`contentType`\" pulumi-lang-python=\"`content_type`\" pulumi-lang-yaml=\"`contentType`\" pulumi-lang-java=\"`contentType`\"\u003e`content_type`\u003c/span\u003e is not set to `application/x-www-form-urlencoded` or `multipart/form-data`.\n"}},"type":"object","required":["contentType"]},"azure:apimanagement/ApiOperationRequestRepresentationExample:ApiOperationRequestRepresentationExample":{"properties":{"description":{"type":"string","description":"A long description for this example.\n"},"externalValue":{"type":"string","description":"A URL that points to the literal example.\n"},"name":{"type":"string","description":"The name of this example.\n"},"summary":{"type":"string","description":"A short description for this example.\n"},"value":{"type":"string","description":"The example of the representation.\n"}},"type":"object","required":["name"]},"azure:apimanagement/ApiOperationRequestRepresentationFormParameter:ApiOperationRequestRepresentationFormParameter":{"properties":{"defaultValue":{"type":"string","description":"The default value for this Form Parameter.\n"},"description":{"type":"string","description":"A description of this Form Parameter.\n"},"examples":{"type":"array","items":{"$ref":"#/types/azure:apimanagement/ApiOperationRequestRepresentationFormParameterExample:ApiOperationRequestRepresentationFormParameterExample"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`example`\" pulumi-lang-dotnet=\"`Example`\" pulumi-lang-go=\"`example`\" pulumi-lang-python=\"`example`\" pulumi-lang-yaml=\"`example`\" pulumi-lang-java=\"`example`\"\u003e`example`\u003c/span\u003e blocks as defined above.\n"},"name":{"type":"string","description":"The Name of this Form Parameter.\n"},"required":{"type":"boolean","description":"Is this Form Parameter Required?\n"},"schemaId":{"type":"string","description":"The name of the Schema.\n"},"type":{"type":"string","description":"The Type of this Form Parameter, such as a \u003cspan pulumi-lang-nodejs=\"`string`\" pulumi-lang-dotnet=\"`String`\" pulumi-lang-go=\"`string`\" pulumi-lang-python=\"`string`\" pulumi-lang-yaml=\"`string`\" pulumi-lang-java=\"`string`\"\u003e`string`\u003c/span\u003e.\n"},"typeName":{"type":"string","description":"The type name defined by the Schema.\n"},"values":{"type":"array","items":{"type":"string"},"description":"One or more acceptable values for this Form Parameter.\n"}},"type":"object","required":["name","required","type"]},"azure:apimanagement/ApiOperationRequestRepresentationFormParameterExample:ApiOperationRequestRepresentationFormParameterExample":{"properties":{"description":{"type":"string","description":"A long description for this example.\n"},"externalValue":{"type":"string","description":"A URL that points to the literal example.\n"},"name":{"type":"string","description":"The name of this example.\n"},"summary":{"type":"string","description":"A short description for this example.\n"},"value":{"type":"string","description":"The example of the representation.\n"}},"type":"object","required":["name"]},"azure:apimanagement/ApiOperationResponse:ApiOperationResponse":{"properties":{"description":{"type":"string","description":"A description of the HTTP Response, which may include HTML tags.\n"},"headers":{"type":"array","items":{"$ref":"#/types/azure:apimanagement/ApiOperationResponseHeader:ApiOperationResponseHeader"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`header`\" pulumi-lang-dotnet=\"`Header`\" pulumi-lang-go=\"`header`\" pulumi-lang-python=\"`header`\" pulumi-lang-yaml=\"`header`\" pulumi-lang-java=\"`header`\"\u003e`header`\u003c/span\u003e blocks as defined above.\n"},"representations":{"type":"array","items":{"$ref":"#/types/azure:apimanagement/ApiOperationResponseRepresentation:ApiOperationResponseRepresentation"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`representation`\" pulumi-lang-dotnet=\"`Representation`\" pulumi-lang-go=\"`representation`\" pulumi-lang-python=\"`representation`\" pulumi-lang-yaml=\"`representation`\" pulumi-lang-java=\"`representation`\"\u003e`representation`\u003c/span\u003e blocks as defined above.\n"},"statusCode":{"type":"integer","description":"The HTTP Status Code.\n"}},"type":"object","required":["statusCode"]},"azure:apimanagement/ApiOperationResponseHeader:ApiOperationResponseHeader":{"properties":{"defaultValue":{"type":"string","description":"The default value for this Header.\n"},"description":{"type":"string","description":"A description of this Header.\n"},"examples":{"type":"array","items":{"$ref":"#/types/azure:apimanagement/ApiOperationResponseHeaderExample:ApiOperationResponseHeaderExample"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`example`\" pulumi-lang-dotnet=\"`Example`\" pulumi-lang-go=\"`example`\" pulumi-lang-python=\"`example`\" pulumi-lang-yaml=\"`example`\" pulumi-lang-java=\"`example`\"\u003e`example`\u003c/span\u003e blocks as defined above.\n"},"name":{"type":"string","description":"The Name of this Header.\n"},"required":{"type":"boolean","description":"Is this Header Required?\n"},"schemaId":{"type":"string","description":"The name of the Schema.\n"},"type":{"type":"string","description":"The Type of this Header, such as a \u003cspan pulumi-lang-nodejs=\"`string`\" pulumi-lang-dotnet=\"`String`\" pulumi-lang-go=\"`string`\" pulumi-lang-python=\"`string`\" pulumi-lang-yaml=\"`string`\" pulumi-lang-java=\"`string`\"\u003e`string`\u003c/span\u003e.\n"},"typeName":{"type":"string","description":"The type name defined by the Schema.\n"},"values":{"type":"array","items":{"type":"string"},"description":"One or more acceptable values for this Header.\n"}},"type":"object","required":["name","required","type"]},"azure:apimanagement/ApiOperationResponseHeaderExample:ApiOperationResponseHeaderExample":{"properties":{"description":{"type":"string","description":"A long description for this example.\n"},"externalValue":{"type":"string","description":"A URL that points to the literal example.\n"},"name":{"type":"string","description":"The name of this example.\n"},"summary":{"type":"string","description":"A short description for this example.\n"},"value":{"type":"string","description":"The example of the representation.\n"}},"type":"object","required":["name"]},"azure:apimanagement/ApiOperationResponseRepresentation:ApiOperationResponseRepresentation":{"properties":{"contentType":{"type":"string","description":"The Content Type of this representation, such as `application/json`.\n"},"examples":{"type":"array","items":{"$ref":"#/types/azure:apimanagement/ApiOperationResponseRepresentationExample:ApiOperationResponseRepresentationExample"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`example`\" pulumi-lang-dotnet=\"`Example`\" pulumi-lang-go=\"`example`\" pulumi-lang-python=\"`example`\" pulumi-lang-yaml=\"`example`\" pulumi-lang-java=\"`example`\"\u003e`example`\u003c/span\u003e blocks as defined above.\n"},"formParameters":{"type":"array","items":{"$ref":"#/types/azure:apimanagement/ApiOperationResponseRepresentationFormParameter:ApiOperationResponseRepresentationFormParameter"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`formParameter`\" pulumi-lang-dotnet=\"`FormParameter`\" pulumi-lang-go=\"`formParameter`\" pulumi-lang-python=\"`form_parameter`\" pulumi-lang-yaml=\"`formParameter`\" pulumi-lang-java=\"`formParameter`\"\u003e`form_parameter`\u003c/span\u003e block as defined above.\n\n\u003e **Note:** This is Required when \u003cspan pulumi-lang-nodejs=\"`contentType`\" pulumi-lang-dotnet=\"`ContentType`\" pulumi-lang-go=\"`contentType`\" pulumi-lang-python=\"`content_type`\" pulumi-lang-yaml=\"`contentType`\" pulumi-lang-java=\"`contentType`\"\u003e`content_type`\u003c/span\u003e is set to `application/x-www-form-urlencoded` or `multipart/form-data`.\n"},"schemaId":{"type":"string","description":"The ID of an API Management Schema which represents this Response.\n\n\u003e **Note:** This can only be specified when \u003cspan pulumi-lang-nodejs=\"`contentType`\" pulumi-lang-dotnet=\"`ContentType`\" pulumi-lang-go=\"`contentType`\" pulumi-lang-python=\"`content_type`\" pulumi-lang-yaml=\"`contentType`\" pulumi-lang-java=\"`contentType`\"\u003e`content_type`\u003c/span\u003e is not set to `application/x-www-form-urlencoded` or `multipart/form-data`.\n"},"typeName":{"type":"string","description":"The Type Name defined by the Schema.\n\n\u003e **Note:** This can only be specified when \u003cspan pulumi-lang-nodejs=\"`contentType`\" pulumi-lang-dotnet=\"`ContentType`\" pulumi-lang-go=\"`contentType`\" pulumi-lang-python=\"`content_type`\" pulumi-lang-yaml=\"`contentType`\" pulumi-lang-java=\"`contentType`\"\u003e`content_type`\u003c/span\u003e is not set to `application/x-www-form-urlencoded` or `multipart/form-data`.\n"}},"type":"object","required":["contentType"]},"azure:apimanagement/ApiOperationResponseRepresentationExample:ApiOperationResponseRepresentationExample":{"properties":{"description":{"type":"string","description":"A long description for this example.\n"},"externalValue":{"type":"string","description":"A URL that points to the literal example.\n"},"name":{"type":"string","description":"The name of this example.\n"},"summary":{"type":"string","description":"A short description for this example.\n"},"value":{"type":"string","description":"The example of the representation.\n"}},"type":"object","required":["name"]},"azure:apimanagement/ApiOperationResponseRepresentationFormParameter:ApiOperationResponseRepresentationFormParameter":{"properties":{"defaultValue":{"type":"string","description":"The default value for this Form Parameter.\n"},"description":{"type":"string","description":"A description of this Form Parameter.\n"},"examples":{"type":"array","items":{"$ref":"#/types/azure:apimanagement/ApiOperationResponseRepresentationFormParameterExample:ApiOperationResponseRepresentationFormParameterExample"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`example`\" pulumi-lang-dotnet=\"`Example`\" pulumi-lang-go=\"`example`\" pulumi-lang-python=\"`example`\" pulumi-lang-yaml=\"`example`\" pulumi-lang-java=\"`example`\"\u003e`example`\u003c/span\u003e blocks as defined above.\n"},"name":{"type":"string","description":"The Name of this Form Parameter.\n"},"required":{"type":"boolean","description":"Is this Form Parameter Required?\n"},"schemaId":{"type":"string","description":"The name of the Schema.\n"},"type":{"type":"string","description":"The Type of this Form Parameter, such as a \u003cspan pulumi-lang-nodejs=\"`string`\" pulumi-lang-dotnet=\"`String`\" pulumi-lang-go=\"`string`\" pulumi-lang-python=\"`string`\" pulumi-lang-yaml=\"`string`\" pulumi-lang-java=\"`string`\"\u003e`string`\u003c/span\u003e.\n"},"typeName":{"type":"string","description":"The type name defined by the Schema.\n"},"values":{"type":"array","items":{"type":"string"},"description":"One or more acceptable values for this Form Parameter.\n"}},"type":"object","required":["name","required","type"]},"azure:apimanagement/ApiOperationResponseRepresentationFormParameterExample:ApiOperationResponseRepresentationFormParameterExample":{"properties":{"description":{"type":"string","description":"A long description for this example.\n"},"externalValue":{"type":"string","description":"A URL that points to the literal example.\n"},"name":{"type":"string","description":"The name of this example.\n"},"summary":{"type":"string","description":"A short description for this example.\n"},"value":{"type":"string","description":"The example of the representation.\n"}},"type":"object","required":["name"]},"azure:apimanagement/ApiOperationTemplateParameter:ApiOperationTemplateParameter":{"properties":{"defaultValue":{"type":"string","description":"The default value for this Template Parameter.\n"},"description":{"type":"string","description":"A description of this Template Parameter.\n"},"examples":{"type":"array","items":{"$ref":"#/types/azure:apimanagement/ApiOperationTemplateParameterExample:ApiOperationTemplateParameterExample"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`example`\" pulumi-lang-dotnet=\"`Example`\" pulumi-lang-go=\"`example`\" pulumi-lang-python=\"`example`\" pulumi-lang-yaml=\"`example`\" pulumi-lang-java=\"`example`\"\u003e`example`\u003c/span\u003e blocks as defined above.\n"},"name":{"type":"string","description":"The Name of this Template Parameter.\n"},"required":{"type":"boolean","description":"Is this Template Parameter Required?\n"},"schemaId":{"type":"string","description":"The name of the Schema.\n"},"type":{"type":"string","description":"The Type of this Template Parameter, such as a \u003cspan pulumi-lang-nodejs=\"`string`\" pulumi-lang-dotnet=\"`String`\" pulumi-lang-go=\"`string`\" pulumi-lang-python=\"`string`\" pulumi-lang-yaml=\"`string`\" pulumi-lang-java=\"`string`\"\u003e`string`\u003c/span\u003e.\n"},"typeName":{"type":"string","description":"The type name defined by the Schema.\n"},"values":{"type":"array","items":{"type":"string"},"description":"One or more acceptable values for this Template Parameter.\n"}},"type":"object","required":["name","required","type"]},"azure:apimanagement/ApiOperationTemplateParameterExample:ApiOperationTemplateParameterExample":{"properties":{"description":{"type":"string","description":"A long description for this example.\n"},"externalValue":{"type":"string","description":"A URL that points to the literal example.\n"},"name":{"type":"string","description":"The name of this example.\n"},"summary":{"type":"string","description":"A short description for this example.\n"},"value":{"type":"string","description":"The example of the representation.\n"}},"type":"object","required":["name"]},"azure:apimanagement/ApiSubscriptionKeyParameterNames:ApiSubscriptionKeyParameterNames":{"properties":{"header":{"type":"string","description":"The name of the HTTP Header which should be used for the Subscription Key.\n"},"query":{"type":"string","description":"The name of the QueryString parameter which should be used for the Subscription Key.\n"}},"type":"object","required":["header","query"]},"azure:apimanagement/AuthorizationServerTokenBodyParameter:AuthorizationServerTokenBodyParameter":{"properties":{"name":{"type":"string","description":"The Name of the Parameter.\n"},"value":{"type":"string","description":"The Value of the Parameter.\n"}},"type":"object","required":["name","value"]},"azure:apimanagement/BackendCircuitBreakerRule:BackendCircuitBreakerRule":{"properties":{"acceptRetryAfterEnabled":{"type":"boolean","description":"Specifies whether the circuit breaker should honor `Retry-After` requests. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"failureCondition":{"$ref":"#/types/azure:apimanagement/BackendCircuitBreakerRuleFailureCondition:BackendCircuitBreakerRuleFailureCondition","description":"A \u003cspan pulumi-lang-nodejs=\"`failureCondition`\" pulumi-lang-dotnet=\"`FailureCondition`\" pulumi-lang-go=\"`failureCondition`\" pulumi-lang-python=\"`failure_condition`\" pulumi-lang-yaml=\"`failureCondition`\" pulumi-lang-java=\"`failureCondition`\"\u003e`failure_condition`\u003c/span\u003e block as defined below.\n"},"name":{"type":"string","description":"The name of the circuit breaker rule.\n"},"tripDuration":{"type":"string","description":"Specifies the duration for which the circuit remains open before retrying, in ISO 8601 format.\n"}},"type":"object","required":["failureCondition","name","tripDuration"]},"azure:apimanagement/BackendCircuitBreakerRuleFailureCondition:BackendCircuitBreakerRuleFailureCondition":{"properties":{"count":{"type":"integer","description":"Specifies the number of failures within the specified interval that will trigger the circuit breaker. Possible values are between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`10000`\" pulumi-lang-dotnet=\"`10000`\" pulumi-lang-go=\"`10000`\" pulumi-lang-python=\"`10000`\" pulumi-lang-yaml=\"`10000`\" pulumi-lang-java=\"`10000`\"\u003e`10000`\u003c/span\u003e.\n"},"errorReasons":{"type":"array","items":{"type":"string"},"description":"Specifies a list of error reasons to consider as failures.\n"},"intervalDuration":{"type":"string","description":"Specifies the time window over which failures are counted, in ISO 8601 format.\n"},"percentage":{"type":"integer","description":"Specifies the percentage of failures within the specified interval that will trigger the circuit breaker. Possible values are between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`100`\" pulumi-lang-dotnet=\"`100`\" pulumi-lang-go=\"`100`\" pulumi-lang-python=\"`100`\" pulumi-lang-yaml=\"`100`\" pulumi-lang-java=\"`100`\"\u003e`100`\u003c/span\u003e.\n\n\u003e **Note:** Exactly one of \u003cspan pulumi-lang-nodejs=\"`percentage`\" pulumi-lang-dotnet=\"`Percentage`\" pulumi-lang-go=\"`percentage`\" pulumi-lang-python=\"`percentage`\" pulumi-lang-yaml=\"`percentage`\" pulumi-lang-java=\"`percentage`\"\u003e`percentage`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`count`\" pulumi-lang-dotnet=\"`Count`\" pulumi-lang-go=\"`count`\" pulumi-lang-python=\"`count`\" pulumi-lang-yaml=\"`count`\" pulumi-lang-java=\"`count`\"\u003e`count`\u003c/span\u003e must be specified.\n"},"statusCodeRanges":{"type":"array","items":{"$ref":"#/types/azure:apimanagement/BackendCircuitBreakerRuleFailureConditionStatusCodeRange:BackendCircuitBreakerRuleFailureConditionStatusCodeRange"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`statusCodeRange`\" pulumi-lang-dotnet=\"`StatusCodeRange`\" pulumi-lang-go=\"`statusCodeRange`\" pulumi-lang-python=\"`status_code_range`\" pulumi-lang-yaml=\"`statusCodeRange`\" pulumi-lang-java=\"`statusCodeRange`\"\u003e`status_code_range`\u003c/span\u003e blocks as defined below.\n\n\u003e **Note:** At least one of \u003cspan pulumi-lang-nodejs=\"`statusCodeRange`\" pulumi-lang-dotnet=\"`StatusCodeRange`\" pulumi-lang-go=\"`statusCodeRange`\" pulumi-lang-python=\"`status_code_range`\" pulumi-lang-yaml=\"`statusCodeRange`\" pulumi-lang-java=\"`statusCodeRange`\"\u003e`status_code_range`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`errorReasons`\" pulumi-lang-dotnet=\"`ErrorReasons`\" pulumi-lang-go=\"`errorReasons`\" pulumi-lang-python=\"`error_reasons`\" pulumi-lang-yaml=\"`errorReasons`\" pulumi-lang-java=\"`errorReasons`\"\u003e`error_reasons`\u003c/span\u003e must be set.\n"}},"type":"object","required":["intervalDuration"]},"azure:apimanagement/BackendCircuitBreakerRuleFailureConditionStatusCodeRange:BackendCircuitBreakerRuleFailureConditionStatusCodeRange":{"properties":{"max":{"type":"integer","description":"Specifies the maximum HTTP status code to consider as a failure. Possible values are between \u003cspan pulumi-lang-nodejs=\"`200`\" pulumi-lang-dotnet=\"`200`\" pulumi-lang-go=\"`200`\" pulumi-lang-python=\"`200`\" pulumi-lang-yaml=\"`200`\" pulumi-lang-java=\"`200`\"\u003e`200`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`599`\" pulumi-lang-dotnet=\"`599`\" pulumi-lang-go=\"`599`\" pulumi-lang-python=\"`599`\" pulumi-lang-yaml=\"`599`\" pulumi-lang-java=\"`599`\"\u003e`599`\u003c/span\u003e.\n"},"min":{"type":"integer","description":"Specifies the minimum HTTP status code to consider as a failure. Possible values are between \u003cspan pulumi-lang-nodejs=\"`200`\" pulumi-lang-dotnet=\"`200`\" pulumi-lang-go=\"`200`\" pulumi-lang-python=\"`200`\" pulumi-lang-yaml=\"`200`\" pulumi-lang-java=\"`200`\"\u003e`200`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`599`\" pulumi-lang-dotnet=\"`599`\" pulumi-lang-go=\"`599`\" pulumi-lang-python=\"`599`\" pulumi-lang-yaml=\"`599`\" pulumi-lang-java=\"`599`\"\u003e`599`\u003c/span\u003e.\n"}},"type":"object","required":["max","min"]},"azure:apimanagement/BackendCredentials:BackendCredentials":{"properties":{"authorization":{"$ref":"#/types/azure:apimanagement/BackendCredentialsAuthorization:BackendCredentialsAuthorization","description":"An \u003cspan pulumi-lang-nodejs=\"`authorization`\" pulumi-lang-dotnet=\"`Authorization`\" pulumi-lang-go=\"`authorization`\" pulumi-lang-python=\"`authorization`\" pulumi-lang-yaml=\"`authorization`\" pulumi-lang-java=\"`authorization`\"\u003e`authorization`\u003c/span\u003e block as defined below.\n"},"certificates":{"type":"array","items":{"type":"string"},"description":"A list of client certificate thumbprints to present to the backend host. The certificates must exist within the API Management Service.\n"},"header":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of header parameters to pass to the backend host. The keys are the header names and the values are a comma separated string of header values. This is converted to a list before being passed to the API.\n"},"query":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of query parameters to pass to the backend host. The keys are the query names and the values are a comma separated string of query values. This is converted to a list before being passed to the API.\n"}},"type":"object"},"azure:apimanagement/BackendCredentialsAuthorization:BackendCredentialsAuthorization":{"properties":{"parameter":{"type":"string","description":"The authentication Parameter value.\n"},"scheme":{"type":"string","description":"The authentication Scheme name.\n"}},"type":"object"},"azure:apimanagement/BackendProxy:BackendProxy":{"properties":{"password":{"type":"string","description":"The password to connect to the proxy server.\n","secret":true},"url":{"type":"string","description":"The URL of the proxy server.\n"},"username":{"type":"string","description":"The username to connect to the proxy server.\n"}},"type":"object","required":["url","username"]},"azure:apimanagement/BackendServiceFabricCluster:BackendServiceFabricCluster":{"properties":{"clientCertificateId":{"type":"string","description":"The client certificate resource id for the management endpoint.\n\n\u003e **Note:** At least one of \u003cspan pulumi-lang-nodejs=\"`clientCertificateThumbprint`\" pulumi-lang-dotnet=\"`ClientCertificateThumbprint`\" pulumi-lang-go=\"`clientCertificateThumbprint`\" pulumi-lang-python=\"`client_certificate_thumbprint`\" pulumi-lang-yaml=\"`clientCertificateThumbprint`\" pulumi-lang-java=\"`clientCertificateThumbprint`\"\u003e`client_certificate_thumbprint`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`clientCertificateId`\" pulumi-lang-dotnet=\"`ClientCertificateId`\" pulumi-lang-go=\"`clientCertificateId`\" pulumi-lang-python=\"`client_certificate_id`\" pulumi-lang-yaml=\"`clientCertificateId`\" pulumi-lang-java=\"`clientCertificateId`\"\u003e`client_certificate_id`\u003c/span\u003e must be set.\n"},"clientCertificateThumbprint":{"type":"string","description":"The client certificate thumbprint for the management endpoint.\n"},"managementEndpoints":{"type":"array","items":{"type":"string"},"description":"A list of cluster management endpoints.\n"},"maxPartitionResolutionRetries":{"type":"integer","description":"The maximum number of retries when attempting resolve the partition.\n"},"serverCertificateThumbprints":{"type":"array","items":{"type":"string"},"description":"A list of thumbprints of the server certificates of the Service Fabric cluster.\n"},"serverX509Names":{"type":"array","items":{"$ref":"#/types/azure:apimanagement/BackendServiceFabricClusterServerX509Name:BackendServiceFabricClusterServerX509Name"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`serverX509Name`\" pulumi-lang-dotnet=\"`ServerX509Name`\" pulumi-lang-go=\"`serverX509Name`\" pulumi-lang-python=\"`server_x509_name`\" pulumi-lang-yaml=\"`serverX509Name`\" pulumi-lang-java=\"`serverX509Name`\"\u003e`server_x509_name`\u003c/span\u003e blocks as documented below.\n"}},"type":"object","required":["managementEndpoints","maxPartitionResolutionRetries"],"language":{"nodejs":{"requiredOutputs":["clientCertificateId","clientCertificateThumbprint","managementEndpoints","maxPartitionResolutionRetries"]}}},"azure:apimanagement/BackendServiceFabricClusterServerX509Name:BackendServiceFabricClusterServerX509Name":{"properties":{"issuerCertificateThumbprint":{"type":"string","description":"The thumbprint for the issuer of the certificate.\n"},"name":{"type":"string","description":"The common name of the certificate.\n"}},"type":"object","required":["issuerCertificateThumbprint","name"]},"azure:apimanagement/BackendTls:BackendTls":{"properties":{"validateCertificateChain":{"type":"boolean","description":"Flag indicating whether SSL certificate chain validation should be done when using self-signed certificates for the backend host.\n"},"validateCertificateName":{"type":"boolean","description":"Flag indicating whether SSL certificate name validation should be done when using self-signed certificates for the backend host.\n"}},"type":"object"},"azure:apimanagement/CustomDomainDeveloperPortal:CustomDomainDeveloperPortal":{"properties":{"certificate":{"type":"string","description":"The Base64 Encoded Certificate. (Mutually exclusive with \u003cspan pulumi-lang-nodejs=\"`keyVaultId`\" pulumi-lang-dotnet=\"`KeyVaultId`\" pulumi-lang-go=\"`keyVaultId`\" pulumi-lang-python=\"`key_vault_id`\" pulumi-lang-yaml=\"`keyVaultId`\" pulumi-lang-java=\"`keyVaultId`\"\u003e`key_vault_id`\u003c/span\u003e.)\n","secret":true},"certificatePassword":{"type":"string","description":"The password associated with the certificate provided above.\n","secret":true},"certificateSource":{"type":"string"},"certificateStatus":{"type":"string"},"expiry":{"type":"string"},"hostName":{"type":"string","description":"The Hostname to use for the corresponding endpoint.\n"},"keyVaultCertificateId":{"type":"string"},"keyVaultId":{"type":"string","description":"The ID of the Key Vault Secret containing the SSL Certificate, which must be should be of the type application/x-pkcs12.\n","deprecationMessage":"\u003cspan pulumi-lang-nodejs=\"`keyVaultId`\" pulumi-lang-dotnet=\"`KeyVaultId`\" pulumi-lang-go=\"`keyVaultId`\" pulumi-lang-python=\"`key_vault_id`\" pulumi-lang-yaml=\"`keyVaultId`\" pulumi-lang-java=\"`keyVaultId`\"\u003e`key_vault_id`\u003c/span\u003e has been deprecated in favour of \u003cspan pulumi-lang-nodejs=\"`keyVaultCertificateId`\" pulumi-lang-dotnet=\"`KeyVaultCertificateId`\" pulumi-lang-go=\"`keyVaultCertificateId`\" pulumi-lang-python=\"`key_vault_certificate_id`\" pulumi-lang-yaml=\"`keyVaultCertificateId`\" pulumi-lang-java=\"`keyVaultCertificateId`\"\u003e`key_vault_certificate_id`\u003c/span\u003e and will be removed in v5.0 of the AzureRM provider"},"negotiateClientCertificate":{"type":"boolean","description":"Should Client Certificate Negotiation be enabled for this Hostname? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"sslKeyvaultIdentityClientId":{"type":"string","description":"System or User Assigned Managed identity clientId as generated by Azure AD, which has `GET` access to the keyVault containing the SSL certificate.\n\n\u003e **NOTE:** If a User Assigned Managed identity is specified for \u003cspan pulumi-lang-nodejs=\"`sslKeyvaultIdentityClientId`\" pulumi-lang-dotnet=\"`SslKeyvaultIdentityClientId`\" pulumi-lang-go=\"`sslKeyvaultIdentityClientId`\" pulumi-lang-python=\"`ssl_keyvault_identity_client_id`\" pulumi-lang-yaml=\"`sslKeyvaultIdentityClientId`\" pulumi-lang-java=\"`sslKeyvaultIdentityClientId`\"\u003e`ssl_keyvault_identity_client_id`\u003c/span\u003e then this identity must be associated to the \u003cspan pulumi-lang-nodejs=\"`azure.apimanagement.Service`\" pulumi-lang-dotnet=\"`azure.apimanagement.Service`\" pulumi-lang-go=\"`apimanagement.Service`\" pulumi-lang-python=\"`apimanagement.Service`\" pulumi-lang-yaml=\"`azure.apimanagement.Service`\" pulumi-lang-java=\"`azure.apimanagement.Service`\"\u003e`azure.apimanagement.Service`\u003c/span\u003e within an \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block.\n"},"subject":{"type":"string"},"thumbprint":{"type":"string"}},"type":"object","required":["hostName"],"language":{"nodejs":{"requiredOutputs":["certificateSource","certificateStatus","expiry","hostName","keyVaultCertificateId","keyVaultId","subject","thumbprint"]}}},"azure:apimanagement/CustomDomainGateway:CustomDomainGateway":{"properties":{"certificate":{"type":"string","description":"The Base64 Encoded Certificate. (Mutually exclusive with \u003cspan pulumi-lang-nodejs=\"`keyVaultId`\" pulumi-lang-dotnet=\"`KeyVaultId`\" pulumi-lang-go=\"`keyVaultId`\" pulumi-lang-python=\"`key_vault_id`\" pulumi-lang-yaml=\"`keyVaultId`\" pulumi-lang-java=\"`keyVaultId`\"\u003e`key_vault_id`\u003c/span\u003e.)\n","secret":true},"certificatePassword":{"type":"string","description":"The password associated with the certificate provided above.\n","secret":true},"certificateSource":{"type":"string"},"certificateStatus":{"type":"string"},"defaultSslBinding":{"type":"boolean","description":"Is the certificate associated with this Hostname the Default SSL Certificate? This is used when an SNI header isn't specified by a client. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"expiry":{"type":"string"},"hostName":{"type":"string","description":"The Hostname to use for the API Proxy Endpoint.\n"},"keyVaultCertificateId":{"type":"string"},"keyVaultId":{"type":"string","description":"The ID of the Key Vault Secret containing the SSL Certificate, which must be should be of the type application/x-pkcs12.\n","deprecationMessage":"\u003cspan pulumi-lang-nodejs=\"`keyVaultId`\" pulumi-lang-dotnet=\"`KeyVaultId`\" pulumi-lang-go=\"`keyVaultId`\" pulumi-lang-python=\"`key_vault_id`\" pulumi-lang-yaml=\"`keyVaultId`\" pulumi-lang-java=\"`keyVaultId`\"\u003e`key_vault_id`\u003c/span\u003e has been deprecated in favour of \u003cspan pulumi-lang-nodejs=\"`keyVaultCertificateId`\" pulumi-lang-dotnet=\"`KeyVaultCertificateId`\" pulumi-lang-go=\"`keyVaultCertificateId`\" pulumi-lang-python=\"`key_vault_certificate_id`\" pulumi-lang-yaml=\"`keyVaultCertificateId`\" pulumi-lang-java=\"`keyVaultCertificateId`\"\u003e`key_vault_certificate_id`\u003c/span\u003e and will be removed in v5.0 of the AzureRM provider"},"negotiateClientCertificate":{"type":"boolean","description":"Should Client Certificate Negotiation be enabled for this Hostname? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"sslKeyvaultIdentityClientId":{"type":"string","description":"System or User Assigned Managed identity clientId as generated by Azure AD, which has `GET` access to the keyVault containing the SSL certificate.\n\n\u003e **NOTE:** If a User Assigned Managed identity is specified for \u003cspan pulumi-lang-nodejs=\"`sslKeyvaultIdentityClientId`\" pulumi-lang-dotnet=\"`SslKeyvaultIdentityClientId`\" pulumi-lang-go=\"`sslKeyvaultIdentityClientId`\" pulumi-lang-python=\"`ssl_keyvault_identity_client_id`\" pulumi-lang-yaml=\"`sslKeyvaultIdentityClientId`\" pulumi-lang-java=\"`sslKeyvaultIdentityClientId`\"\u003e`ssl_keyvault_identity_client_id`\u003c/span\u003e then this identity must be associated to the \u003cspan pulumi-lang-nodejs=\"`azure.apimanagement.Service`\" pulumi-lang-dotnet=\"`azure.apimanagement.Service`\" pulumi-lang-go=\"`apimanagement.Service`\" pulumi-lang-python=\"`apimanagement.Service`\" pulumi-lang-yaml=\"`azure.apimanagement.Service`\" pulumi-lang-java=\"`azure.apimanagement.Service`\"\u003e`azure.apimanagement.Service`\u003c/span\u003e within an \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block.\n"},"subject":{"type":"string"},"thumbprint":{"type":"string"}},"type":"object","required":["hostName"],"language":{"nodejs":{"requiredOutputs":["certificateSource","certificateStatus","defaultSslBinding","expiry","hostName","keyVaultCertificateId","keyVaultId","subject","thumbprint"]}}},"azure:apimanagement/CustomDomainManagement:CustomDomainManagement":{"properties":{"certificate":{"type":"string","description":"The Base64 Encoded Certificate. (Mutually exclusive with \u003cspan pulumi-lang-nodejs=\"`keyVaultId`\" pulumi-lang-dotnet=\"`KeyVaultId`\" pulumi-lang-go=\"`keyVaultId`\" pulumi-lang-python=\"`key_vault_id`\" pulumi-lang-yaml=\"`keyVaultId`\" pulumi-lang-java=\"`keyVaultId`\"\u003e`key_vault_id`\u003c/span\u003e.)\n","secret":true},"certificatePassword":{"type":"string","description":"The password associated with the certificate provided above.\n","secret":true},"certificateSource":{"type":"string"},"certificateStatus":{"type":"string"},"expiry":{"type":"string"},"hostName":{"type":"string","description":"The Hostname to use for the corresponding endpoint.\n"},"keyVaultCertificateId":{"type":"string"},"keyVaultId":{"type":"string","description":"The ID of the Key Vault Secret containing the SSL Certificate, which must be should be of the type application/x-pkcs12.\n","deprecationMessage":"\u003cspan pulumi-lang-nodejs=\"`keyVaultId`\" pulumi-lang-dotnet=\"`KeyVaultId`\" pulumi-lang-go=\"`keyVaultId`\" pulumi-lang-python=\"`key_vault_id`\" pulumi-lang-yaml=\"`keyVaultId`\" pulumi-lang-java=\"`keyVaultId`\"\u003e`key_vault_id`\u003c/span\u003e has been deprecated in favour of \u003cspan pulumi-lang-nodejs=\"`keyVaultCertificateId`\" pulumi-lang-dotnet=\"`KeyVaultCertificateId`\" pulumi-lang-go=\"`keyVaultCertificateId`\" pulumi-lang-python=\"`key_vault_certificate_id`\" pulumi-lang-yaml=\"`keyVaultCertificateId`\" pulumi-lang-java=\"`keyVaultCertificateId`\"\u003e`key_vault_certificate_id`\u003c/span\u003e and will be removed in v5.0 of the AzureRM provider"},"negotiateClientCertificate":{"type":"boolean","description":"Should Client Certificate Negotiation be enabled for this Hostname? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"sslKeyvaultIdentityClientId":{"type":"string","description":"System or User Assigned Managed identity clientId as generated by Azure AD, which has `GET` access to the keyVault containing the SSL certificate.\n\n\u003e **NOTE:** If a User Assigned Managed identity is specified for \u003cspan pulumi-lang-nodejs=\"`sslKeyvaultIdentityClientId`\" pulumi-lang-dotnet=\"`SslKeyvaultIdentityClientId`\" pulumi-lang-go=\"`sslKeyvaultIdentityClientId`\" pulumi-lang-python=\"`ssl_keyvault_identity_client_id`\" pulumi-lang-yaml=\"`sslKeyvaultIdentityClientId`\" pulumi-lang-java=\"`sslKeyvaultIdentityClientId`\"\u003e`ssl_keyvault_identity_client_id`\u003c/span\u003e then this identity must be associated to the \u003cspan pulumi-lang-nodejs=\"`azure.apimanagement.Service`\" pulumi-lang-dotnet=\"`azure.apimanagement.Service`\" pulumi-lang-go=\"`apimanagement.Service`\" pulumi-lang-python=\"`apimanagement.Service`\" pulumi-lang-yaml=\"`azure.apimanagement.Service`\" pulumi-lang-java=\"`azure.apimanagement.Service`\"\u003e`azure.apimanagement.Service`\u003c/span\u003e within an \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block.\n"},"subject":{"type":"string"},"thumbprint":{"type":"string"}},"type":"object","required":["hostName"],"language":{"nodejs":{"requiredOutputs":["certificateSource","certificateStatus","expiry","hostName","keyVaultCertificateId","keyVaultId","subject","thumbprint"]}}},"azure:apimanagement/CustomDomainPortal:CustomDomainPortal":{"properties":{"certificate":{"type":"string","description":"The Base64 Encoded Certificate. (Mutually exclusive with \u003cspan pulumi-lang-nodejs=\"`keyVaultId`\" pulumi-lang-dotnet=\"`KeyVaultId`\" pulumi-lang-go=\"`keyVaultId`\" pulumi-lang-python=\"`key_vault_id`\" pulumi-lang-yaml=\"`keyVaultId`\" pulumi-lang-java=\"`keyVaultId`\"\u003e`key_vault_id`\u003c/span\u003e.)\n","secret":true},"certificatePassword":{"type":"string","description":"The password associated with the certificate provided above.\n","secret":true},"certificateSource":{"type":"string"},"certificateStatus":{"type":"string"},"expiry":{"type":"string"},"hostName":{"type":"string","description":"The Hostname to use for the corresponding endpoint.\n"},"keyVaultCertificateId":{"type":"string"},"keyVaultId":{"type":"string","description":"The ID of the Key Vault Secret containing the SSL Certificate, which must be should be of the type application/x-pkcs12.\n","deprecationMessage":"\u003cspan pulumi-lang-nodejs=\"`keyVaultId`\" pulumi-lang-dotnet=\"`KeyVaultId`\" pulumi-lang-go=\"`keyVaultId`\" pulumi-lang-python=\"`key_vault_id`\" pulumi-lang-yaml=\"`keyVaultId`\" pulumi-lang-java=\"`keyVaultId`\"\u003e`key_vault_id`\u003c/span\u003e has been deprecated in favour of \u003cspan pulumi-lang-nodejs=\"`keyVaultCertificateId`\" pulumi-lang-dotnet=\"`KeyVaultCertificateId`\" pulumi-lang-go=\"`keyVaultCertificateId`\" pulumi-lang-python=\"`key_vault_certificate_id`\" pulumi-lang-yaml=\"`keyVaultCertificateId`\" pulumi-lang-java=\"`keyVaultCertificateId`\"\u003e`key_vault_certificate_id`\u003c/span\u003e and will be removed in v5.0 of the AzureRM provider"},"negotiateClientCertificate":{"type":"boolean","description":"Should Client Certificate Negotiation be enabled for this Hostname? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"sslKeyvaultIdentityClientId":{"type":"string","description":"System or User Assigned Managed identity clientId as generated by Azure AD, which has `GET` access to the keyVault containing the SSL certificate.\n\n\u003e **NOTE:** If a User Assigned Managed identity is specified for \u003cspan pulumi-lang-nodejs=\"`sslKeyvaultIdentityClientId`\" pulumi-lang-dotnet=\"`SslKeyvaultIdentityClientId`\" pulumi-lang-go=\"`sslKeyvaultIdentityClientId`\" pulumi-lang-python=\"`ssl_keyvault_identity_client_id`\" pulumi-lang-yaml=\"`sslKeyvaultIdentityClientId`\" pulumi-lang-java=\"`sslKeyvaultIdentityClientId`\"\u003e`ssl_keyvault_identity_client_id`\u003c/span\u003e then this identity must be associated to the \u003cspan pulumi-lang-nodejs=\"`azure.apimanagement.Service`\" pulumi-lang-dotnet=\"`azure.apimanagement.Service`\" pulumi-lang-go=\"`apimanagement.Service`\" pulumi-lang-python=\"`apimanagement.Service`\" pulumi-lang-yaml=\"`azure.apimanagement.Service`\" pulumi-lang-java=\"`azure.apimanagement.Service`\"\u003e`azure.apimanagement.Service`\u003c/span\u003e within an \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block.\n"},"subject":{"type":"string"},"thumbprint":{"type":"string"}},"type":"object","required":["hostName"],"language":{"nodejs":{"requiredOutputs":["certificateSource","certificateStatus","expiry","hostName","keyVaultCertificateId","keyVaultId","subject","thumbprint"]}}},"azure:apimanagement/CustomDomainScm:CustomDomainScm":{"properties":{"certificate":{"type":"string","description":"The Base64 Encoded Certificate. (Mutually exclusive with \u003cspan pulumi-lang-nodejs=\"`keyVaultId`\" pulumi-lang-dotnet=\"`KeyVaultId`\" pulumi-lang-go=\"`keyVaultId`\" pulumi-lang-python=\"`key_vault_id`\" pulumi-lang-yaml=\"`keyVaultId`\" pulumi-lang-java=\"`keyVaultId`\"\u003e`key_vault_id`\u003c/span\u003e.)\n","secret":true},"certificatePassword":{"type":"string","description":"The password associated with the certificate provided above.\n","secret":true},"certificateSource":{"type":"string"},"certificateStatus":{"type":"string"},"expiry":{"type":"string"},"hostName":{"type":"string","description":"The Hostname to use for the corresponding endpoint.\n"},"keyVaultCertificateId":{"type":"string"},"keyVaultId":{"type":"string","description":"The ID of the Key Vault Secret containing the SSL Certificate, which must be should be of the type application/x-pkcs12.\n","deprecationMessage":"\u003cspan pulumi-lang-nodejs=\"`keyVaultId`\" pulumi-lang-dotnet=\"`KeyVaultId`\" pulumi-lang-go=\"`keyVaultId`\" pulumi-lang-python=\"`key_vault_id`\" pulumi-lang-yaml=\"`keyVaultId`\" pulumi-lang-java=\"`keyVaultId`\"\u003e`key_vault_id`\u003c/span\u003e has been deprecated in favour of \u003cspan pulumi-lang-nodejs=\"`keyVaultCertificateId`\" pulumi-lang-dotnet=\"`KeyVaultCertificateId`\" pulumi-lang-go=\"`keyVaultCertificateId`\" pulumi-lang-python=\"`key_vault_certificate_id`\" pulumi-lang-yaml=\"`keyVaultCertificateId`\" pulumi-lang-java=\"`keyVaultCertificateId`\"\u003e`key_vault_certificate_id`\u003c/span\u003e and will be removed in v5.0 of the AzureRM provider"},"negotiateClientCertificate":{"type":"boolean","description":"Should Client Certificate Negotiation be enabled for this Hostname? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"sslKeyvaultIdentityClientId":{"type":"string","description":"System or User Assigned Managed identity clientId as generated by Azure AD, which has `GET` access to the keyVault containing the SSL certificate.\n\n\u003e **NOTE:** If a User Assigned Managed identity is specified for \u003cspan pulumi-lang-nodejs=\"`sslKeyvaultIdentityClientId`\" pulumi-lang-dotnet=\"`SslKeyvaultIdentityClientId`\" pulumi-lang-go=\"`sslKeyvaultIdentityClientId`\" pulumi-lang-python=\"`ssl_keyvault_identity_client_id`\" pulumi-lang-yaml=\"`sslKeyvaultIdentityClientId`\" pulumi-lang-java=\"`sslKeyvaultIdentityClientId`\"\u003e`ssl_keyvault_identity_client_id`\u003c/span\u003e then this identity must be associated to the \u003cspan pulumi-lang-nodejs=\"`azure.apimanagement.Service`\" pulumi-lang-dotnet=\"`azure.apimanagement.Service`\" pulumi-lang-go=\"`apimanagement.Service`\" pulumi-lang-python=\"`apimanagement.Service`\" pulumi-lang-yaml=\"`azure.apimanagement.Service`\" pulumi-lang-java=\"`azure.apimanagement.Service`\"\u003e`azure.apimanagement.Service`\u003c/span\u003e within an \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block.\n"},"subject":{"type":"string"},"thumbprint":{"type":"string"}},"type":"object","required":["hostName"],"language":{"nodejs":{"requiredOutputs":["certificateSource","certificateStatus","expiry","hostName","keyVaultCertificateId","keyVaultId","subject","thumbprint"]}}},"azure:apimanagement/DiagnosticBackendRequest:DiagnosticBackendRequest":{"properties":{"bodyBytes":{"type":"integer","description":"Number of payload bytes to log (up to 8192).\n"},"dataMasking":{"$ref":"#/types/azure:apimanagement/DiagnosticBackendRequestDataMasking:DiagnosticBackendRequestDataMasking","description":"A \u003cspan pulumi-lang-nodejs=\"`dataMasking`\" pulumi-lang-dotnet=\"`DataMasking`\" pulumi-lang-go=\"`dataMasking`\" pulumi-lang-python=\"`data_masking`\" pulumi-lang-yaml=\"`dataMasking`\" pulumi-lang-java=\"`dataMasking`\"\u003e`data_masking`\u003c/span\u003e block as defined below.\n"},"headersToLogs":{"type":"array","items":{"type":"string"},"description":"Specifies a list of headers to log.\n"}},"type":"object"},"azure:apimanagement/DiagnosticBackendRequestDataMasking:DiagnosticBackendRequestDataMasking":{"properties":{"headers":{"type":"array","items":{"$ref":"#/types/azure:apimanagement/DiagnosticBackendRequestDataMaskingHeader:DiagnosticBackendRequestDataMaskingHeader"},"description":"A \u003cspan pulumi-lang-nodejs=\"`headers`\" pulumi-lang-dotnet=\"`Headers`\" pulumi-lang-go=\"`headers`\" pulumi-lang-python=\"`headers`\" pulumi-lang-yaml=\"`headers`\" pulumi-lang-java=\"`headers`\"\u003e`headers`\u003c/span\u003e block as defined below.\n"},"queryParams":{"type":"array","items":{"$ref":"#/types/azure:apimanagement/DiagnosticBackendRequestDataMaskingQueryParam:DiagnosticBackendRequestDataMaskingQueryParam"},"description":"A \u003cspan pulumi-lang-nodejs=\"`queryParams`\" pulumi-lang-dotnet=\"`QueryParams`\" pulumi-lang-go=\"`queryParams`\" pulumi-lang-python=\"`query_params`\" pulumi-lang-yaml=\"`queryParams`\" pulumi-lang-java=\"`queryParams`\"\u003e`query_params`\u003c/span\u003e block as defined below.\n"}},"type":"object"},"azure:apimanagement/DiagnosticBackendRequestDataMaskingHeader:DiagnosticBackendRequestDataMaskingHeader":{"properties":{"mode":{"type":"string","description":"The data masking mode. Possible values are `Mask` and `Hide` for \u003cspan pulumi-lang-nodejs=\"`queryParams`\" pulumi-lang-dotnet=\"`QueryParams`\" pulumi-lang-go=\"`queryParams`\" pulumi-lang-python=\"`query_params`\" pulumi-lang-yaml=\"`queryParams`\" pulumi-lang-java=\"`queryParams`\"\u003e`query_params`\u003c/span\u003e. The only possible value is `Mask` for \u003cspan pulumi-lang-nodejs=\"`headers`\" pulumi-lang-dotnet=\"`Headers`\" pulumi-lang-go=\"`headers`\" pulumi-lang-python=\"`headers`\" pulumi-lang-yaml=\"`headers`\" pulumi-lang-java=\"`headers`\"\u003e`headers`\u003c/span\u003e.\n"},"value":{"type":"string","description":"The name of the header or the query parameter to mask.\n"}},"type":"object","required":["mode","value"]},"azure:apimanagement/DiagnosticBackendRequestDataMaskingQueryParam:DiagnosticBackendRequestDataMaskingQueryParam":{"properties":{"mode":{"type":"string","description":"The data masking mode. Possible values are `Mask` and `Hide` for \u003cspan pulumi-lang-nodejs=\"`queryParams`\" pulumi-lang-dotnet=\"`QueryParams`\" pulumi-lang-go=\"`queryParams`\" pulumi-lang-python=\"`query_params`\" pulumi-lang-yaml=\"`queryParams`\" pulumi-lang-java=\"`queryParams`\"\u003e`query_params`\u003c/span\u003e. The only possible value is `Mask` for \u003cspan pulumi-lang-nodejs=\"`headers`\" pulumi-lang-dotnet=\"`Headers`\" pulumi-lang-go=\"`headers`\" pulumi-lang-python=\"`headers`\" pulumi-lang-yaml=\"`headers`\" pulumi-lang-java=\"`headers`\"\u003e`headers`\u003c/span\u003e.\n"},"value":{"type":"string","description":"The name of the header or the query parameter to mask.\n"}},"type":"object","required":["mode","value"]},"azure:apimanagement/DiagnosticBackendResponse:DiagnosticBackendResponse":{"properties":{"bodyBytes":{"type":"integer","description":"Number of payload bytes to log (up to 8192).\n"},"dataMasking":{"$ref":"#/types/azure:apimanagement/DiagnosticBackendResponseDataMasking:DiagnosticBackendResponseDataMasking","description":"A \u003cspan pulumi-lang-nodejs=\"`dataMasking`\" pulumi-lang-dotnet=\"`DataMasking`\" pulumi-lang-go=\"`dataMasking`\" pulumi-lang-python=\"`data_masking`\" pulumi-lang-yaml=\"`dataMasking`\" pulumi-lang-java=\"`dataMasking`\"\u003e`data_masking`\u003c/span\u003e block as defined below.\n"},"headersToLogs":{"type":"array","items":{"type":"string"},"description":"Specifies a list of headers to log.\n"}},"type":"object"},"azure:apimanagement/DiagnosticBackendResponseDataMasking:DiagnosticBackendResponseDataMasking":{"properties":{"headers":{"type":"array","items":{"$ref":"#/types/azure:apimanagement/DiagnosticBackendResponseDataMaskingHeader:DiagnosticBackendResponseDataMaskingHeader"},"description":"A \u003cspan pulumi-lang-nodejs=\"`headers`\" pulumi-lang-dotnet=\"`Headers`\" pulumi-lang-go=\"`headers`\" pulumi-lang-python=\"`headers`\" pulumi-lang-yaml=\"`headers`\" pulumi-lang-java=\"`headers`\"\u003e`headers`\u003c/span\u003e block as defined below.\n"},"queryParams":{"type":"array","items":{"$ref":"#/types/azure:apimanagement/DiagnosticBackendResponseDataMaskingQueryParam:DiagnosticBackendResponseDataMaskingQueryParam"},"description":"A \u003cspan pulumi-lang-nodejs=\"`queryParams`\" pulumi-lang-dotnet=\"`QueryParams`\" pulumi-lang-go=\"`queryParams`\" pulumi-lang-python=\"`query_params`\" pulumi-lang-yaml=\"`queryParams`\" pulumi-lang-java=\"`queryParams`\"\u003e`query_params`\u003c/span\u003e block as defined below.\n"}},"type":"object"},"azure:apimanagement/DiagnosticBackendResponseDataMaskingHeader:DiagnosticBackendResponseDataMaskingHeader":{"properties":{"mode":{"type":"string","description":"The data masking mode. Possible values are `Mask` and `Hide` for \u003cspan pulumi-lang-nodejs=\"`queryParams`\" pulumi-lang-dotnet=\"`QueryParams`\" pulumi-lang-go=\"`queryParams`\" pulumi-lang-python=\"`query_params`\" pulumi-lang-yaml=\"`queryParams`\" pulumi-lang-java=\"`queryParams`\"\u003e`query_params`\u003c/span\u003e. The only possible value is `Mask` for \u003cspan pulumi-lang-nodejs=\"`headers`\" pulumi-lang-dotnet=\"`Headers`\" pulumi-lang-go=\"`headers`\" pulumi-lang-python=\"`headers`\" pulumi-lang-yaml=\"`headers`\" pulumi-lang-java=\"`headers`\"\u003e`headers`\u003c/span\u003e.\n"},"value":{"type":"string","description":"The name of the header or the query parameter to mask.\n"}},"type":"object","required":["mode","value"]},"azure:apimanagement/DiagnosticBackendResponseDataMaskingQueryParam:DiagnosticBackendResponseDataMaskingQueryParam":{"properties":{"mode":{"type":"string","description":"The data masking mode. Possible values are `Mask` and `Hide` for \u003cspan pulumi-lang-nodejs=\"`queryParams`\" pulumi-lang-dotnet=\"`QueryParams`\" pulumi-lang-go=\"`queryParams`\" pulumi-lang-python=\"`query_params`\" pulumi-lang-yaml=\"`queryParams`\" pulumi-lang-java=\"`queryParams`\"\u003e`query_params`\u003c/span\u003e. The only possible value is `Mask` for \u003cspan pulumi-lang-nodejs=\"`headers`\" pulumi-lang-dotnet=\"`Headers`\" pulumi-lang-go=\"`headers`\" pulumi-lang-python=\"`headers`\" pulumi-lang-yaml=\"`headers`\" pulumi-lang-java=\"`headers`\"\u003e`headers`\u003c/span\u003e.\n"},"value":{"type":"string","description":"The name of the header or the query parameter to mask.\n"}},"type":"object","required":["mode","value"]},"azure:apimanagement/DiagnosticFrontendRequest:DiagnosticFrontendRequest":{"properties":{"bodyBytes":{"type":"integer","description":"Number of payload bytes to log (up to 8192).\n"},"dataMasking":{"$ref":"#/types/azure:apimanagement/DiagnosticFrontendRequestDataMasking:DiagnosticFrontendRequestDataMasking","description":"A \u003cspan pulumi-lang-nodejs=\"`dataMasking`\" pulumi-lang-dotnet=\"`DataMasking`\" pulumi-lang-go=\"`dataMasking`\" pulumi-lang-python=\"`data_masking`\" pulumi-lang-yaml=\"`dataMasking`\" pulumi-lang-java=\"`dataMasking`\"\u003e`data_masking`\u003c/span\u003e block as defined below.\n"},"headersToLogs":{"type":"array","items":{"type":"string"},"description":"Specifies a list of headers to log.\n"}},"type":"object"},"azure:apimanagement/DiagnosticFrontendRequestDataMasking:DiagnosticFrontendRequestDataMasking":{"properties":{"headers":{"type":"array","items":{"$ref":"#/types/azure:apimanagement/DiagnosticFrontendRequestDataMaskingHeader:DiagnosticFrontendRequestDataMaskingHeader"},"description":"A \u003cspan pulumi-lang-nodejs=\"`headers`\" pulumi-lang-dotnet=\"`Headers`\" pulumi-lang-go=\"`headers`\" pulumi-lang-python=\"`headers`\" pulumi-lang-yaml=\"`headers`\" pulumi-lang-java=\"`headers`\"\u003e`headers`\u003c/span\u003e block as defined below.\n"},"queryParams":{"type":"array","items":{"$ref":"#/types/azure:apimanagement/DiagnosticFrontendRequestDataMaskingQueryParam:DiagnosticFrontendRequestDataMaskingQueryParam"},"description":"A \u003cspan pulumi-lang-nodejs=\"`queryParams`\" pulumi-lang-dotnet=\"`QueryParams`\" pulumi-lang-go=\"`queryParams`\" pulumi-lang-python=\"`query_params`\" pulumi-lang-yaml=\"`queryParams`\" pulumi-lang-java=\"`queryParams`\"\u003e`query_params`\u003c/span\u003e block as defined below.\n"}},"type":"object"},"azure:apimanagement/DiagnosticFrontendRequestDataMaskingHeader:DiagnosticFrontendRequestDataMaskingHeader":{"properties":{"mode":{"type":"string","description":"The data masking mode. Possible values are `Mask` and `Hide` for \u003cspan pulumi-lang-nodejs=\"`queryParams`\" pulumi-lang-dotnet=\"`QueryParams`\" pulumi-lang-go=\"`queryParams`\" pulumi-lang-python=\"`query_params`\" pulumi-lang-yaml=\"`queryParams`\" pulumi-lang-java=\"`queryParams`\"\u003e`query_params`\u003c/span\u003e. The only possible value is `Mask` for \u003cspan pulumi-lang-nodejs=\"`headers`\" pulumi-lang-dotnet=\"`Headers`\" pulumi-lang-go=\"`headers`\" pulumi-lang-python=\"`headers`\" pulumi-lang-yaml=\"`headers`\" pulumi-lang-java=\"`headers`\"\u003e`headers`\u003c/span\u003e.\n"},"value":{"type":"string","description":"The name of the header or the query parameter to mask.\n"}},"type":"object","required":["mode","value"]},"azure:apimanagement/DiagnosticFrontendRequestDataMaskingQueryParam:DiagnosticFrontendRequestDataMaskingQueryParam":{"properties":{"mode":{"type":"string","description":"The data masking mode. Possible values are `Mask` and `Hide` for \u003cspan pulumi-lang-nodejs=\"`queryParams`\" pulumi-lang-dotnet=\"`QueryParams`\" pulumi-lang-go=\"`queryParams`\" pulumi-lang-python=\"`query_params`\" pulumi-lang-yaml=\"`queryParams`\" pulumi-lang-java=\"`queryParams`\"\u003e`query_params`\u003c/span\u003e. The only possible value is `Mask` for \u003cspan pulumi-lang-nodejs=\"`headers`\" pulumi-lang-dotnet=\"`Headers`\" pulumi-lang-go=\"`headers`\" pulumi-lang-python=\"`headers`\" pulumi-lang-yaml=\"`headers`\" pulumi-lang-java=\"`headers`\"\u003e`headers`\u003c/span\u003e.\n"},"value":{"type":"string","description":"The name of the header or the query parameter to mask.\n"}},"type":"object","required":["mode","value"]},"azure:apimanagement/DiagnosticFrontendResponse:DiagnosticFrontendResponse":{"properties":{"bodyBytes":{"type":"integer","description":"Number of payload bytes to log (up to 8192).\n"},"dataMasking":{"$ref":"#/types/azure:apimanagement/DiagnosticFrontendResponseDataMasking:DiagnosticFrontendResponseDataMasking","description":"A \u003cspan pulumi-lang-nodejs=\"`dataMasking`\" pulumi-lang-dotnet=\"`DataMasking`\" pulumi-lang-go=\"`dataMasking`\" pulumi-lang-python=\"`data_masking`\" pulumi-lang-yaml=\"`dataMasking`\" pulumi-lang-java=\"`dataMasking`\"\u003e`data_masking`\u003c/span\u003e block as defined below.\n"},"headersToLogs":{"type":"array","items":{"type":"string"},"description":"Specifies a list of headers to log.\n"}},"type":"object"},"azure:apimanagement/DiagnosticFrontendResponseDataMasking:DiagnosticFrontendResponseDataMasking":{"properties":{"headers":{"type":"array","items":{"$ref":"#/types/azure:apimanagement/DiagnosticFrontendResponseDataMaskingHeader:DiagnosticFrontendResponseDataMaskingHeader"},"description":"A \u003cspan pulumi-lang-nodejs=\"`headers`\" pulumi-lang-dotnet=\"`Headers`\" pulumi-lang-go=\"`headers`\" pulumi-lang-python=\"`headers`\" pulumi-lang-yaml=\"`headers`\" pulumi-lang-java=\"`headers`\"\u003e`headers`\u003c/span\u003e block as defined below.\n"},"queryParams":{"type":"array","items":{"$ref":"#/types/azure:apimanagement/DiagnosticFrontendResponseDataMaskingQueryParam:DiagnosticFrontendResponseDataMaskingQueryParam"},"description":"A \u003cspan pulumi-lang-nodejs=\"`queryParams`\" pulumi-lang-dotnet=\"`QueryParams`\" pulumi-lang-go=\"`queryParams`\" pulumi-lang-python=\"`query_params`\" pulumi-lang-yaml=\"`queryParams`\" pulumi-lang-java=\"`queryParams`\"\u003e`query_params`\u003c/span\u003e block as defined below.\n"}},"type":"object"},"azure:apimanagement/DiagnosticFrontendResponseDataMaskingHeader:DiagnosticFrontendResponseDataMaskingHeader":{"properties":{"mode":{"type":"string","description":"The data masking mode. Possible values are `Mask` and `Hide` for \u003cspan pulumi-lang-nodejs=\"`queryParams`\" pulumi-lang-dotnet=\"`QueryParams`\" pulumi-lang-go=\"`queryParams`\" pulumi-lang-python=\"`query_params`\" pulumi-lang-yaml=\"`queryParams`\" pulumi-lang-java=\"`queryParams`\"\u003e`query_params`\u003c/span\u003e. The only possible value is `Mask` for \u003cspan pulumi-lang-nodejs=\"`headers`\" pulumi-lang-dotnet=\"`Headers`\" pulumi-lang-go=\"`headers`\" pulumi-lang-python=\"`headers`\" pulumi-lang-yaml=\"`headers`\" pulumi-lang-java=\"`headers`\"\u003e`headers`\u003c/span\u003e.\n"},"value":{"type":"string","description":"The name of the header or the query parameter to mask.\n"}},"type":"object","required":["mode","value"]},"azure:apimanagement/DiagnosticFrontendResponseDataMaskingQueryParam:DiagnosticFrontendResponseDataMaskingQueryParam":{"properties":{"mode":{"type":"string","description":"The data masking mode. Possible values are `Mask` and `Hide` for \u003cspan pulumi-lang-nodejs=\"`queryParams`\" pulumi-lang-dotnet=\"`QueryParams`\" pulumi-lang-go=\"`queryParams`\" pulumi-lang-python=\"`query_params`\" pulumi-lang-yaml=\"`queryParams`\" pulumi-lang-java=\"`queryParams`\"\u003e`query_params`\u003c/span\u003e. The only possible value is `Mask` for \u003cspan pulumi-lang-nodejs=\"`headers`\" pulumi-lang-dotnet=\"`Headers`\" pulumi-lang-go=\"`headers`\" pulumi-lang-python=\"`headers`\" pulumi-lang-yaml=\"`headers`\" pulumi-lang-java=\"`headers`\"\u003e`headers`\u003c/span\u003e.\n"},"value":{"type":"string","description":"The name of the header or the query parameter to mask.\n"}},"type":"object","required":["mode","value"]},"azure:apimanagement/GatewayLocationData:GatewayLocationData":{"properties":{"city":{"type":"string","description":"The city or locality where the resource is located.\n"},"district":{"type":"string","description":"The district, state, or province where the resource is located.\n"},"name":{"type":"string","description":"A canonical name for the geographic or physical location.\n"},"region":{"type":"string","description":"The country or region where the resource is located.\n"}},"type":"object","required":["name"]},"azure:apimanagement/LoggerApplicationInsights:LoggerApplicationInsights":{"properties":{"connectionString":{"type":"string","description":"The connection string of Application Insights.\n","secret":true},"instrumentationKey":{"type":"string","description":"The instrumentation key used to push data to Application Insights.\n\n\u003e **Note:** Either \u003cspan pulumi-lang-nodejs=\"`connectionString`\" pulumi-lang-dotnet=\"`ConnectionString`\" pulumi-lang-go=\"`connectionString`\" pulumi-lang-python=\"`connection_string`\" pulumi-lang-yaml=\"`connectionString`\" pulumi-lang-java=\"`connectionString`\"\u003e`connection_string`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`instrumentationKey`\" pulumi-lang-dotnet=\"`InstrumentationKey`\" pulumi-lang-go=\"`instrumentationKey`\" pulumi-lang-python=\"`instrumentation_key`\" pulumi-lang-yaml=\"`instrumentationKey`\" pulumi-lang-java=\"`instrumentationKey`\"\u003e`instrumentation_key`\u003c/span\u003e have to be specified.\n","secret":true}},"type":"object"},"azure:apimanagement/LoggerEventhub:LoggerEventhub":{"properties":{"connectionString":{"type":"string","description":"The connection string of an EventHub Namespace.\n\n\u003e **Note:** At least one of \u003cspan pulumi-lang-nodejs=\"`connectionString`\" pulumi-lang-dotnet=\"`ConnectionString`\" pulumi-lang-go=\"`connectionString`\" pulumi-lang-python=\"`connection_string`\" pulumi-lang-yaml=\"`connectionString`\" pulumi-lang-java=\"`connectionString`\"\u003e`connection_string`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`endpointUri`\" pulumi-lang-dotnet=\"`EndpointUri`\" pulumi-lang-go=\"`endpointUri`\" pulumi-lang-python=\"`endpoint_uri`\" pulumi-lang-yaml=\"`endpointUri`\" pulumi-lang-java=\"`endpointUri`\"\u003e`endpoint_uri`\u003c/span\u003e must be specified\n","secret":true},"endpointUri":{"type":"string","description":"The endpoint address of an EventHub Namespace. Required when \u003cspan pulumi-lang-nodejs=\"`clientId`\" pulumi-lang-dotnet=\"`ClientId`\" pulumi-lang-go=\"`clientId`\" pulumi-lang-python=\"`client_id`\" pulumi-lang-yaml=\"`clientId`\" pulumi-lang-java=\"`clientId`\"\u003e`client_id`\u003c/span\u003e is set.\n"},"name":{"type":"string","description":"The name of an EventHub.\n"},"userAssignedIdentityClientId":{"type":"string","description":"The Client Id of the User Assigned Identity with the \"Azure Event Hubs Data Sender\" role to the target EventHub Namespace. Required when \u003cspan pulumi-lang-nodejs=\"`endpointUri`\" pulumi-lang-dotnet=\"`EndpointUri`\" pulumi-lang-go=\"`endpointUri`\" pulumi-lang-python=\"`endpoint_uri`\" pulumi-lang-yaml=\"`endpointUri`\" pulumi-lang-java=\"`endpointUri`\"\u003e`endpoint_uri`\u003c/span\u003e is set. If not specified the System Assigned Identity will be used.\n"}},"type":"object","required":["name"]},"azure:apimanagement/NamedValueValueFromKeyVault:NamedValueValueFromKeyVault":{"properties":{"identityClientId":{"type":"string","description":"The client ID of User Assigned Identity, for the API Management Service, which will be used to access the key vault secret. The System Assigned Identity will be used in absence.\n"},"secretId":{"type":"string","description":"The resource ID of the Key Vault Secret.\n"}},"type":"object","required":["secretId"]},"azure:apimanagement/ServiceAdditionalLocation:ServiceAdditionalLocation":{"properties":{"capacity":{"type":"integer","description":"The number of compute units in this region. Defaults to the capacity of the main region.\n"},"gatewayDisabled":{"type":"boolean","description":"Only valid for an Api Management service deployed in multiple locations. This can be used to disable the gateway in this additional location.\n"},"gatewayRegionalUrl":{"type":"string","description":"The URL of the Regional Gateway for the API Management Service in the specified region.\n"},"location":{"type":"string","description":"The name of the Azure Region in which the API Management Service should be expanded to.\n"},"privateIpAddresses":{"type":"array","items":{"type":"string"},"description":"The Private IP addresses of the API Management Service. Available only when the API Manager instance is using Virtual Network mode.\n"},"publicIpAddressId":{"type":"string","description":"ID of a standard SKU IPv4 Public IP.\n\n\u003e **Note:** Availability zones and custom public IPs are only supported in the Premium tier.\n"},"publicIpAddresses":{"type":"array","items":{"type":"string"},"description":"Public Static Load Balanced IP addresses of the API Management service in the additional location. Available only for Basic, Standard and Premium SKU.\n"},"virtualNetworkConfiguration":{"$ref":"#/types/azure:apimanagement/ServiceAdditionalLocationVirtualNetworkConfiguration:ServiceAdditionalLocationVirtualNetworkConfiguration","description":"A \u003cspan pulumi-lang-nodejs=\"`virtualNetworkConfiguration`\" pulumi-lang-dotnet=\"`VirtualNetworkConfiguration`\" pulumi-lang-go=\"`virtualNetworkConfiguration`\" pulumi-lang-python=\"`virtual_network_configuration`\" pulumi-lang-yaml=\"`virtualNetworkConfiguration`\" pulumi-lang-java=\"`virtualNetworkConfiguration`\"\u003e`virtual_network_configuration`\u003c/span\u003e block as defined below. Required when \u003cspan pulumi-lang-nodejs=\"`virtualNetworkType`\" pulumi-lang-dotnet=\"`VirtualNetworkType`\" pulumi-lang-go=\"`virtualNetworkType`\" pulumi-lang-python=\"`virtual_network_type`\" pulumi-lang-yaml=\"`virtualNetworkType`\" pulumi-lang-java=\"`virtualNetworkType`\"\u003e`virtual_network_type`\u003c/span\u003e is `External` or `Internal`.\n"},"zones":{"type":"array","items":{"type":"string"},"description":"A list of availability zones.\n"}},"type":"object","required":["location"],"language":{"nodejs":{"requiredOutputs":["capacity","gatewayRegionalUrl","location","privateIpAddresses","publicIpAddresses"]}}},"azure:apimanagement/ServiceAdditionalLocationVirtualNetworkConfiguration:ServiceAdditionalLocationVirtualNetworkConfiguration":{"properties":{"subnetId":{"type":"string","description":"The id of the subnet that will be used for the API Management.\n"}},"type":"object","required":["subnetId"]},"azure:apimanagement/ServiceCertificate:ServiceCertificate":{"properties":{"certificatePassword":{"type":"string","description":"The password for the certificate.\n","secret":true},"encodedCertificate":{"type":"string","description":"The Base64 Encoded PFX or Base64 Encoded X.509 Certificate.\n","secret":true},"expiry":{"type":"string","description":"The expiration date of the certificate in RFC3339 format: `2000-01-02T03:04:05Z`.\n"},"storeName":{"type":"string","description":"The name of the Certificate Store where this certificate should be stored. Possible values are `CertificateAuthority` and `Root`.\n"},"subject":{"type":"string","description":"The subject of the certificate.\n"},"thumbprint":{"type":"string","description":"The thumbprint of the certificate.\n"}},"type":"object","required":["encodedCertificate","storeName"],"language":{"nodejs":{"requiredOutputs":["encodedCertificate","expiry","storeName","subject","thumbprint"]}}},"azure:apimanagement/ServiceDelegation:ServiceDelegation":{"properties":{"subscriptionsEnabled":{"type":"boolean","description":"Should subscription requests be delegated to an external url? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"url":{"type":"string","description":"The delegation URL.\n"},"userRegistrationEnabled":{"type":"boolean","description":"Should user registration requests be delegated to an external url? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"validationKey":{"type":"string","description":"A base64-encoded validation key to validate, that a request is coming from Azure API Management.\n","secret":true}},"type":"object"},"azure:apimanagement/ServiceHostnameConfiguration:ServiceHostnameConfiguration":{"properties":{"developerPortals":{"type":"array","items":{"$ref":"#/types/azure:apimanagement/ServiceHostnameConfigurationDeveloperPortal:ServiceHostnameConfigurationDeveloperPortal"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`developerPortal`\" pulumi-lang-dotnet=\"`DeveloperPortal`\" pulumi-lang-go=\"`developerPortal`\" pulumi-lang-python=\"`developer_portal`\" pulumi-lang-yaml=\"`developerPortal`\" pulumi-lang-java=\"`developerPortal`\"\u003e`developer_portal`\u003c/span\u003e blocks as documented below.\n"},"managements":{"type":"array","items":{"$ref":"#/types/azure:apimanagement/ServiceHostnameConfigurationManagement:ServiceHostnameConfigurationManagement"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`management`\" pulumi-lang-dotnet=\"`Management`\" pulumi-lang-go=\"`management`\" pulumi-lang-python=\"`management`\" pulumi-lang-yaml=\"`management`\" pulumi-lang-java=\"`management`\"\u003e`management`\u003c/span\u003e blocks as documented below.\n"},"portals":{"type":"array","items":{"$ref":"#/types/azure:apimanagement/ServiceHostnameConfigurationPortal:ServiceHostnameConfigurationPortal"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`portal`\" pulumi-lang-dotnet=\"`Portal`\" pulumi-lang-go=\"`portal`\" pulumi-lang-python=\"`portal`\" pulumi-lang-yaml=\"`portal`\" pulumi-lang-java=\"`portal`\"\u003e`portal`\u003c/span\u003e blocks as documented below.\n"},"proxies":{"type":"array","items":{"$ref":"#/types/azure:apimanagement/ServiceHostnameConfigurationProxy:ServiceHostnameConfigurationProxy"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`proxy`\" pulumi-lang-dotnet=\"`Proxy`\" pulumi-lang-go=\"`proxy`\" pulumi-lang-python=\"`proxy`\" pulumi-lang-yaml=\"`proxy`\" pulumi-lang-java=\"`proxy`\"\u003e`proxy`\u003c/span\u003e blocks as documented below.\n"},"scms":{"type":"array","items":{"$ref":"#/types/azure:apimanagement/ServiceHostnameConfigurationScm:ServiceHostnameConfigurationScm"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`scm`\" pulumi-lang-dotnet=\"`Scm`\" pulumi-lang-go=\"`scm`\" pulumi-lang-python=\"`scm`\" pulumi-lang-yaml=\"`scm`\" pulumi-lang-java=\"`scm`\"\u003e`scm`\u003c/span\u003e blocks as documented below.\n"}},"type":"object"},"azure:apimanagement/ServiceHostnameConfigurationDeveloperPortal:ServiceHostnameConfigurationDeveloperPortal":{"properties":{"certificate":{"type":"string","description":"The Base64 Encoded Certificate.\n","secret":true},"certificatePassword":{"type":"string","description":"The password associated with the certificate provided above.\n\n\u003e **Note:** Either \u003cspan pulumi-lang-nodejs=\"`keyVaultCertificateId`\" pulumi-lang-dotnet=\"`KeyVaultCertificateId`\" pulumi-lang-go=\"`keyVaultCertificateId`\" pulumi-lang-python=\"`key_vault_certificate_id`\" pulumi-lang-yaml=\"`keyVaultCertificateId`\" pulumi-lang-java=\"`keyVaultCertificateId`\"\u003e`key_vault_certificate_id`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`certificate`\" pulumi-lang-dotnet=\"`Certificate`\" pulumi-lang-go=\"`certificate`\" pulumi-lang-python=\"`certificate`\" pulumi-lang-yaml=\"`certificate`\" pulumi-lang-java=\"`certificate`\"\u003e`certificate`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`certificatePassword`\" pulumi-lang-dotnet=\"`CertificatePassword`\" pulumi-lang-go=\"`certificatePassword`\" pulumi-lang-python=\"`certificate_password`\" pulumi-lang-yaml=\"`certificatePassword`\" pulumi-lang-java=\"`certificatePassword`\"\u003e`certificate_password`\u003c/span\u003e must be specified.\n","secret":true},"certificateSource":{"type":"string","description":"The source of the certificate.\n"},"certificateStatus":{"type":"string","description":"The status of the certificate.\n"},"expiry":{"type":"string","description":"The expiration date of the certificate in RFC3339 format: `2000-01-02T03:04:05Z`.\n"},"hostName":{"type":"string","description":"The Hostname to use for the Management API.\n"},"keyVaultCertificateId":{"type":"string","description":"The ID of the Key Vault Secret containing the SSL Certificate, which must be of the type `application/x-pkcs12`.\n\n\u003e **Note:** Setting this field requires the \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block to be specified, since this identity is used for to retrieve the Key Vault Certificate. Possible values are versioned or versionless secret ID. Auto-updating the Certificate from the Key Vault requires the Secret version isn't specified.\n"},"keyVaultId":{"type":"string","deprecationMessage":"\u003cspan pulumi-lang-nodejs=\"`keyVaultId`\" pulumi-lang-dotnet=\"`KeyVaultId`\" pulumi-lang-go=\"`keyVaultId`\" pulumi-lang-python=\"`key_vault_id`\" pulumi-lang-yaml=\"`keyVaultId`\" pulumi-lang-java=\"`keyVaultId`\"\u003e`key_vault_id`\u003c/span\u003e has been deprecated in favour of \u003cspan pulumi-lang-nodejs=\"`keyVaultCertificateId`\" pulumi-lang-dotnet=\"`KeyVaultCertificateId`\" pulumi-lang-go=\"`keyVaultCertificateId`\" pulumi-lang-python=\"`key_vault_certificate_id`\" pulumi-lang-yaml=\"`keyVaultCertificateId`\" pulumi-lang-java=\"`keyVaultCertificateId`\"\u003e`key_vault_certificate_id`\u003c/span\u003e and will be removed in v5.0 of the AzureRM provider"},"negotiateClientCertificate":{"type":"boolean","description":"Should Client Certificate Negotiation be enabled for this Hostname? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"sslKeyvaultIdentityClientId":{"type":"string","description":"System or User Assigned Managed identity clientId as generated by Azure AD, which has `GET` access to the keyVault containing the SSL certificate.\n\n\u003e **Note:** If a User Assigned Managed identity is specified for \u003cspan pulumi-lang-nodejs=\"`sslKeyvaultIdentityClientId`\" pulumi-lang-dotnet=\"`SslKeyvaultIdentityClientId`\" pulumi-lang-go=\"`sslKeyvaultIdentityClientId`\" pulumi-lang-python=\"`ssl_keyvault_identity_client_id`\" pulumi-lang-yaml=\"`sslKeyvaultIdentityClientId`\" pulumi-lang-java=\"`sslKeyvaultIdentityClientId`\"\u003e`ssl_keyvault_identity_client_id`\u003c/span\u003e then this identity must be associated to the \u003cspan pulumi-lang-nodejs=\"`azure.apimanagement.Service`\" pulumi-lang-dotnet=\"`azure.apimanagement.Service`\" pulumi-lang-go=\"`apimanagement.Service`\" pulumi-lang-python=\"`apimanagement.Service`\" pulumi-lang-yaml=\"`azure.apimanagement.Service`\" pulumi-lang-java=\"`azure.apimanagement.Service`\"\u003e`azure.apimanagement.Service`\u003c/span\u003e within an \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block.\n"},"subject":{"type":"string","description":"The subject of the certificate.\n"},"thumbprint":{"type":"string","description":"The thumbprint of the certificate.\n"}},"type":"object","required":["hostName"],"language":{"nodejs":{"requiredOutputs":["certificateSource","certificateStatus","expiry","hostName","keyVaultCertificateId","keyVaultId","subject","thumbprint"]}}},"azure:apimanagement/ServiceHostnameConfigurationManagement:ServiceHostnameConfigurationManagement":{"properties":{"certificate":{"type":"string","description":"The Base64 Encoded Certificate.\n","secret":true},"certificatePassword":{"type":"string","description":"The password associated with the certificate provided above.\n\n\u003e **Note:** Either \u003cspan pulumi-lang-nodejs=\"`keyVaultCertificateId`\" pulumi-lang-dotnet=\"`KeyVaultCertificateId`\" pulumi-lang-go=\"`keyVaultCertificateId`\" pulumi-lang-python=\"`key_vault_certificate_id`\" pulumi-lang-yaml=\"`keyVaultCertificateId`\" pulumi-lang-java=\"`keyVaultCertificateId`\"\u003e`key_vault_certificate_id`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`certificate`\" pulumi-lang-dotnet=\"`Certificate`\" pulumi-lang-go=\"`certificate`\" pulumi-lang-python=\"`certificate`\" pulumi-lang-yaml=\"`certificate`\" pulumi-lang-java=\"`certificate`\"\u003e`certificate`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`certificatePassword`\" pulumi-lang-dotnet=\"`CertificatePassword`\" pulumi-lang-go=\"`certificatePassword`\" pulumi-lang-python=\"`certificate_password`\" pulumi-lang-yaml=\"`certificatePassword`\" pulumi-lang-java=\"`certificatePassword`\"\u003e`certificate_password`\u003c/span\u003e must be specified.\n","secret":true},"certificateSource":{"type":"string","description":"The source of the certificate.\n"},"certificateStatus":{"type":"string","description":"The status of the certificate.\n"},"expiry":{"type":"string","description":"The expiration date of the certificate in RFC3339 format: `2000-01-02T03:04:05Z`.\n"},"hostName":{"type":"string","description":"The Hostname to use for the Management API.\n"},"keyVaultCertificateId":{"type":"string","description":"The ID of the Key Vault Secret containing the SSL Certificate, which must be of the type `application/x-pkcs12`.\n\n\u003e **Note:** Setting this field requires the \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block to be specified, since this identity is used for to retrieve the Key Vault Certificate. Possible values are versioned or versionless secret ID. Auto-updating the Certificate from the Key Vault requires the Secret version isn't specified.\n"},"keyVaultId":{"type":"string","deprecationMessage":"\u003cspan pulumi-lang-nodejs=\"`keyVaultId`\" pulumi-lang-dotnet=\"`KeyVaultId`\" pulumi-lang-go=\"`keyVaultId`\" pulumi-lang-python=\"`key_vault_id`\" pulumi-lang-yaml=\"`keyVaultId`\" pulumi-lang-java=\"`keyVaultId`\"\u003e`key_vault_id`\u003c/span\u003e has been deprecated in favour of \u003cspan pulumi-lang-nodejs=\"`keyVaultCertificateId`\" pulumi-lang-dotnet=\"`KeyVaultCertificateId`\" pulumi-lang-go=\"`keyVaultCertificateId`\" pulumi-lang-python=\"`key_vault_certificate_id`\" pulumi-lang-yaml=\"`keyVaultCertificateId`\" pulumi-lang-java=\"`keyVaultCertificateId`\"\u003e`key_vault_certificate_id`\u003c/span\u003e and will be removed in v5.0 of the AzureRM provider"},"negotiateClientCertificate":{"type":"boolean","description":"Should Client Certificate Negotiation be enabled for this Hostname? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"sslKeyvaultIdentityClientId":{"type":"string","description":"System or User Assigned Managed identity clientId as generated by Azure AD, which has `GET` access to the keyVault containing the SSL certificate.\n\n\u003e **Note:** If a User Assigned Managed identity is specified for \u003cspan pulumi-lang-nodejs=\"`sslKeyvaultIdentityClientId`\" pulumi-lang-dotnet=\"`SslKeyvaultIdentityClientId`\" pulumi-lang-go=\"`sslKeyvaultIdentityClientId`\" pulumi-lang-python=\"`ssl_keyvault_identity_client_id`\" pulumi-lang-yaml=\"`sslKeyvaultIdentityClientId`\" pulumi-lang-java=\"`sslKeyvaultIdentityClientId`\"\u003e`ssl_keyvault_identity_client_id`\u003c/span\u003e then this identity must be associated to the \u003cspan pulumi-lang-nodejs=\"`azure.apimanagement.Service`\" pulumi-lang-dotnet=\"`azure.apimanagement.Service`\" pulumi-lang-go=\"`apimanagement.Service`\" pulumi-lang-python=\"`apimanagement.Service`\" pulumi-lang-yaml=\"`azure.apimanagement.Service`\" pulumi-lang-java=\"`azure.apimanagement.Service`\"\u003e`azure.apimanagement.Service`\u003c/span\u003e within an \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block.\n"},"subject":{"type":"string","description":"The subject of the certificate.\n"},"thumbprint":{"type":"string","description":"The thumbprint of the certificate.\n"}},"type":"object","required":["hostName"],"language":{"nodejs":{"requiredOutputs":["certificateSource","certificateStatus","expiry","hostName","keyVaultCertificateId","keyVaultId","subject","thumbprint"]}}},"azure:apimanagement/ServiceHostnameConfigurationPortal:ServiceHostnameConfigurationPortal":{"properties":{"certificate":{"type":"string","description":"The Base64 Encoded Certificate.\n","secret":true},"certificatePassword":{"type":"string","description":"The password associated with the certificate provided above.\n\n\u003e **Note:** Either \u003cspan pulumi-lang-nodejs=\"`keyVaultCertificateId`\" pulumi-lang-dotnet=\"`KeyVaultCertificateId`\" pulumi-lang-go=\"`keyVaultCertificateId`\" pulumi-lang-python=\"`key_vault_certificate_id`\" pulumi-lang-yaml=\"`keyVaultCertificateId`\" pulumi-lang-java=\"`keyVaultCertificateId`\"\u003e`key_vault_certificate_id`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`certificate`\" pulumi-lang-dotnet=\"`Certificate`\" pulumi-lang-go=\"`certificate`\" pulumi-lang-python=\"`certificate`\" pulumi-lang-yaml=\"`certificate`\" pulumi-lang-java=\"`certificate`\"\u003e`certificate`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`certificatePassword`\" pulumi-lang-dotnet=\"`CertificatePassword`\" pulumi-lang-go=\"`certificatePassword`\" pulumi-lang-python=\"`certificate_password`\" pulumi-lang-yaml=\"`certificatePassword`\" pulumi-lang-java=\"`certificatePassword`\"\u003e`certificate_password`\u003c/span\u003e must be specified.\n","secret":true},"certificateSource":{"type":"string","description":"The source of the certificate.\n"},"certificateStatus":{"type":"string","description":"The status of the certificate.\n"},"expiry":{"type":"string","description":"The expiration date of the certificate in RFC3339 format: `2000-01-02T03:04:05Z`.\n"},"hostName":{"type":"string","description":"The Hostname to use for the Management API.\n"},"keyVaultCertificateId":{"type":"string","description":"The ID of the Key Vault Secret containing the SSL Certificate, which must be of the type `application/x-pkcs12`.\n\n\u003e **Note:** Setting this field requires the \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block to be specified, since this identity is used for to retrieve the Key Vault Certificate. Possible values are versioned or versionless secret ID. Auto-updating the Certificate from the Key Vault requires the Secret version isn't specified.\n"},"keyVaultId":{"type":"string","deprecationMessage":"\u003cspan pulumi-lang-nodejs=\"`keyVaultId`\" pulumi-lang-dotnet=\"`KeyVaultId`\" pulumi-lang-go=\"`keyVaultId`\" pulumi-lang-python=\"`key_vault_id`\" pulumi-lang-yaml=\"`keyVaultId`\" pulumi-lang-java=\"`keyVaultId`\"\u003e`key_vault_id`\u003c/span\u003e has been deprecated in favour of \u003cspan pulumi-lang-nodejs=\"`keyVaultCertificateId`\" pulumi-lang-dotnet=\"`KeyVaultCertificateId`\" pulumi-lang-go=\"`keyVaultCertificateId`\" pulumi-lang-python=\"`key_vault_certificate_id`\" pulumi-lang-yaml=\"`keyVaultCertificateId`\" pulumi-lang-java=\"`keyVaultCertificateId`\"\u003e`key_vault_certificate_id`\u003c/span\u003e and will be removed in v5.0 of the AzureRM provider"},"negotiateClientCertificate":{"type":"boolean","description":"Should Client Certificate Negotiation be enabled for this Hostname? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"sslKeyvaultIdentityClientId":{"type":"string","description":"System or User Assigned Managed identity clientId as generated by Azure AD, which has `GET` access to the keyVault containing the SSL certificate.\n\n\u003e **Note:** If a User Assigned Managed identity is specified for \u003cspan pulumi-lang-nodejs=\"`sslKeyvaultIdentityClientId`\" pulumi-lang-dotnet=\"`SslKeyvaultIdentityClientId`\" pulumi-lang-go=\"`sslKeyvaultIdentityClientId`\" pulumi-lang-python=\"`ssl_keyvault_identity_client_id`\" pulumi-lang-yaml=\"`sslKeyvaultIdentityClientId`\" pulumi-lang-java=\"`sslKeyvaultIdentityClientId`\"\u003e`ssl_keyvault_identity_client_id`\u003c/span\u003e then this identity must be associated to the \u003cspan pulumi-lang-nodejs=\"`azure.apimanagement.Service`\" pulumi-lang-dotnet=\"`azure.apimanagement.Service`\" pulumi-lang-go=\"`apimanagement.Service`\" pulumi-lang-python=\"`apimanagement.Service`\" pulumi-lang-yaml=\"`azure.apimanagement.Service`\" pulumi-lang-java=\"`azure.apimanagement.Service`\"\u003e`azure.apimanagement.Service`\u003c/span\u003e within an \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block.\n"},"subject":{"type":"string","description":"The subject of the certificate.\n"},"thumbprint":{"type":"string","description":"The thumbprint of the certificate.\n"}},"type":"object","required":["hostName"],"language":{"nodejs":{"requiredOutputs":["certificateSource","certificateStatus","expiry","hostName","keyVaultCertificateId","keyVaultId","subject","thumbprint"]}}},"azure:apimanagement/ServiceHostnameConfigurationProxy:ServiceHostnameConfigurationProxy":{"properties":{"certificate":{"type":"string","description":"The Base64 Encoded Certificate.\n","secret":true},"certificatePassword":{"type":"string","description":"The password associated with the certificate provided above.\n\n\u003e **Note:** Either \u003cspan pulumi-lang-nodejs=\"`keyVaultCertificateId`\" pulumi-lang-dotnet=\"`KeyVaultCertificateId`\" pulumi-lang-go=\"`keyVaultCertificateId`\" pulumi-lang-python=\"`key_vault_certificate_id`\" pulumi-lang-yaml=\"`keyVaultCertificateId`\" pulumi-lang-java=\"`keyVaultCertificateId`\"\u003e`key_vault_certificate_id`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`certificate`\" pulumi-lang-dotnet=\"`Certificate`\" pulumi-lang-go=\"`certificate`\" pulumi-lang-python=\"`certificate`\" pulumi-lang-yaml=\"`certificate`\" pulumi-lang-java=\"`certificate`\"\u003e`certificate`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`certificatePassword`\" pulumi-lang-dotnet=\"`CertificatePassword`\" pulumi-lang-go=\"`certificatePassword`\" pulumi-lang-python=\"`certificate_password`\" pulumi-lang-yaml=\"`certificatePassword`\" pulumi-lang-java=\"`certificatePassword`\"\u003e`certificate_password`\u003c/span\u003e must be specified.\n","secret":true},"certificateSource":{"type":"string","description":"The source of the certificate.\n"},"certificateStatus":{"type":"string","description":"The status of the certificate.\n"},"defaultSslBinding":{"type":"boolean","description":"Is the certificate associated with this Hostname the Default SSL Certificate? This is used when an SNI header isn't specified by a client. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"expiry":{"type":"string","description":"The expiration date of the certificate in RFC3339 format: `2000-01-02T03:04:05Z`.\n"},"hostName":{"type":"string","description":"The Hostname to use for the Management API.\n"},"keyVaultCertificateId":{"type":"string","description":"The ID of the Key Vault Secret containing the SSL Certificate, which must be of the type `application/x-pkcs12`.\n\n\u003e **Note:** Setting this field requires the \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block to be specified, since this identity is used for to retrieve the Key Vault Certificate. Auto-updating the Certificate from the Key Vault requires the Secret version isn't specified.\n"},"keyVaultId":{"type":"string","deprecationMessage":"\u003cspan pulumi-lang-nodejs=\"`keyVaultId`\" pulumi-lang-dotnet=\"`KeyVaultId`\" pulumi-lang-go=\"`keyVaultId`\" pulumi-lang-python=\"`key_vault_id`\" pulumi-lang-yaml=\"`keyVaultId`\" pulumi-lang-java=\"`keyVaultId`\"\u003e`key_vault_id`\u003c/span\u003e has been deprecated in favour of \u003cspan pulumi-lang-nodejs=\"`keyVaultCertificateId`\" pulumi-lang-dotnet=\"`KeyVaultCertificateId`\" pulumi-lang-go=\"`keyVaultCertificateId`\" pulumi-lang-python=\"`key_vault_certificate_id`\" pulumi-lang-yaml=\"`keyVaultCertificateId`\" pulumi-lang-java=\"`keyVaultCertificateId`\"\u003e`key_vault_certificate_id`\u003c/span\u003e and will be removed in v5.0 of the AzureRM provider"},"negotiateClientCertificate":{"type":"boolean","description":"Should Client Certificate Negotiation be enabled for this Hostname? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"sslKeyvaultIdentityClientId":{"type":"string","description":"The Managed Identity Client ID to use to access the Key Vault. This Identity must be specified in the \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block to be used.\n"},"subject":{"type":"string","description":"The subject of the certificate.\n"},"thumbprint":{"type":"string","description":"The thumbprint of the certificate.\n"}},"type":"object","required":["hostName"],"language":{"nodejs":{"requiredOutputs":["certificateSource","certificateStatus","defaultSslBinding","expiry","hostName","keyVaultCertificateId","keyVaultId","subject","thumbprint"]}}},"azure:apimanagement/ServiceHostnameConfigurationScm:ServiceHostnameConfigurationScm":{"properties":{"certificate":{"type":"string","description":"The Base64 Encoded Certificate.\n","secret":true},"certificatePassword":{"type":"string","description":"The password associated with the certificate provided above.\n\n\u003e **Note:** Either \u003cspan pulumi-lang-nodejs=\"`keyVaultCertificateId`\" pulumi-lang-dotnet=\"`KeyVaultCertificateId`\" pulumi-lang-go=\"`keyVaultCertificateId`\" pulumi-lang-python=\"`key_vault_certificate_id`\" pulumi-lang-yaml=\"`keyVaultCertificateId`\" pulumi-lang-java=\"`keyVaultCertificateId`\"\u003e`key_vault_certificate_id`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`certificate`\" pulumi-lang-dotnet=\"`Certificate`\" pulumi-lang-go=\"`certificate`\" pulumi-lang-python=\"`certificate`\" pulumi-lang-yaml=\"`certificate`\" pulumi-lang-java=\"`certificate`\"\u003e`certificate`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`certificatePassword`\" pulumi-lang-dotnet=\"`CertificatePassword`\" pulumi-lang-go=\"`certificatePassword`\" pulumi-lang-python=\"`certificate_password`\" pulumi-lang-yaml=\"`certificatePassword`\" pulumi-lang-java=\"`certificatePassword`\"\u003e`certificate_password`\u003c/span\u003e must be specified.\n","secret":true},"certificateSource":{"type":"string","description":"The source of the certificate.\n"},"certificateStatus":{"type":"string","description":"The status of the certificate.\n"},"expiry":{"type":"string","description":"The expiration date of the certificate in RFC3339 format: `2000-01-02T03:04:05Z`.\n"},"hostName":{"type":"string","description":"The Hostname to use for the Management API.\n"},"keyVaultCertificateId":{"type":"string","description":"The ID of the Key Vault Secret containing the SSL Certificate, which must be of the type `application/x-pkcs12`.\n\n\u003e **Note:** Setting this field requires the \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block to be specified, since this identity is used for to retrieve the Key Vault Certificate. Possible values are versioned or versionless secret ID. Auto-updating the Certificate from the Key Vault requires the Secret version isn't specified.\n"},"keyVaultId":{"type":"string","deprecationMessage":"\u003cspan pulumi-lang-nodejs=\"`keyVaultId`\" pulumi-lang-dotnet=\"`KeyVaultId`\" pulumi-lang-go=\"`keyVaultId`\" pulumi-lang-python=\"`key_vault_id`\" pulumi-lang-yaml=\"`keyVaultId`\" pulumi-lang-java=\"`keyVaultId`\"\u003e`key_vault_id`\u003c/span\u003e has been deprecated in favour of \u003cspan pulumi-lang-nodejs=\"`keyVaultCertificateId`\" pulumi-lang-dotnet=\"`KeyVaultCertificateId`\" pulumi-lang-go=\"`keyVaultCertificateId`\" pulumi-lang-python=\"`key_vault_certificate_id`\" pulumi-lang-yaml=\"`keyVaultCertificateId`\" pulumi-lang-java=\"`keyVaultCertificateId`\"\u003e`key_vault_certificate_id`\u003c/span\u003e and will be removed in v5.0 of the AzureRM provider"},"negotiateClientCertificate":{"type":"boolean","description":"Should Client Certificate Negotiation be enabled for this Hostname? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"sslKeyvaultIdentityClientId":{"type":"string","description":"System or User Assigned Managed identity clientId as generated by Azure AD, which has `GET` access to the keyVault containing the SSL certificate.\n\n\u003e **Note:** If a User Assigned Managed identity is specified for \u003cspan pulumi-lang-nodejs=\"`sslKeyvaultIdentityClientId`\" pulumi-lang-dotnet=\"`SslKeyvaultIdentityClientId`\" pulumi-lang-go=\"`sslKeyvaultIdentityClientId`\" pulumi-lang-python=\"`ssl_keyvault_identity_client_id`\" pulumi-lang-yaml=\"`sslKeyvaultIdentityClientId`\" pulumi-lang-java=\"`sslKeyvaultIdentityClientId`\"\u003e`ssl_keyvault_identity_client_id`\u003c/span\u003e then this identity must be associated to the \u003cspan pulumi-lang-nodejs=\"`azure.apimanagement.Service`\" pulumi-lang-dotnet=\"`azure.apimanagement.Service`\" pulumi-lang-go=\"`apimanagement.Service`\" pulumi-lang-python=\"`apimanagement.Service`\" pulumi-lang-yaml=\"`azure.apimanagement.Service`\" pulumi-lang-java=\"`azure.apimanagement.Service`\"\u003e`azure.apimanagement.Service`\u003c/span\u003e within an \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block.\n"},"subject":{"type":"string","description":"The subject of the certificate.\n"},"thumbprint":{"type":"string","description":"The thumbprint of the certificate.\n"}},"type":"object","required":["hostName"],"language":{"nodejs":{"requiredOutputs":["certificateSource","certificateStatus","expiry","hostName","keyVaultCertificateId","keyVaultId","subject","thumbprint"]}}},"azure:apimanagement/ServiceIdentity:ServiceIdentity":{"properties":{"identityIds":{"type":"array","items":{"type":"string"},"description":"A list of User Assigned Managed Identity IDs to be assigned to this API Management Service.\n\n\u003e **Note:** This is required when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to `UserAssigned` or `SystemAssigned, UserAssigned`.\n"},"principalId":{"type":"string","description":"The Principal ID associated with this Managed Service Identity.\n"},"tenantId":{"type":"string","description":"The identifier for the tenant access information contract.\n"},"type":{"type":"string","description":"Specifies the type of Managed Service Identity that should be configured on this API Management Service. Possible values are `SystemAssigned`, `UserAssigned`, `SystemAssigned, UserAssigned` (to enable both).\n"}},"type":"object","required":["type"],"language":{"nodejs":{"requiredOutputs":["principalId","tenantId","type"]}}},"azure:apimanagement/ServiceProtocols:ServiceProtocols":{"properties":{"enableHttp2":{"type":"boolean","deprecationMessage":"`protocols.enable_http2` has been deprecated in favour of the `protocols.http2_enabled` property and will be removed in v5.0 of the AzureRM Provider"},"http2Enabled":{"type":"boolean","description":"Should HTTP/2 be supported by the API Management Service? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["enableHttp2","http2Enabled"]}}},"azure:apimanagement/ServiceSecurity:ServiceSecurity":{"properties":{"backendSsl30Enabled":{"type":"boolean","description":"Should SSL 3.0 be enabled on the backend of the gateway? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** This maps to the `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Ssl30` field\n"},"backendTls10Enabled":{"type":"boolean","description":"Should TLS 1.0 be enabled on the backend of the gateway? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** This maps to the `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls10` field\n"},"backendTls11Enabled":{"type":"boolean","description":"Should TLS 1.1 be enabled on the backend of the gateway? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** This maps to the `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls11` field\n"},"enableBackendSsl30":{"type":"boolean","deprecationMessage":"`security.enable_backend_ssl30` has been deprecated in favour of the `security.backend_ssl30_enabled` property and will be removed in v5.0 of the AzureRM Provider"},"enableBackendTls10":{"type":"boolean","deprecationMessage":"`security.enable_backend_tls10` has been deprecated in favour of the `security.backend_tls10_enabled` property and will be removed in v5.0 of the AzureRM Provider"},"enableBackendTls11":{"type":"boolean","deprecationMessage":"`security.enable_backend_tls11` has been deprecated in favour of the `security.backend_tls11_enabled` property and will be removed in v5.0 of the AzureRM Provider"},"enableFrontendSsl30":{"type":"boolean","deprecationMessage":"`security.enable_frontend_ssl30` has been deprecated in favour of the `security.frontend_ssl30_enabled` property and will be removed in v5.0 of the AzureRM Provider"},"enableFrontendTls10":{"type":"boolean","deprecationMessage":"`security.enable_frontend_tls10` has been deprecated in favour of the `security.frontend_tls10_enabled` property and will be removed in v5.0 of the AzureRM Provider"},"enableFrontendTls11":{"type":"boolean","deprecationMessage":"`security.enable_frontend_tls11` has been deprecated in favour of the `security.frontend_tls11_enabled` property and will be removed in v5.0 of the AzureRM Provider"},"frontendSsl30Enabled":{"type":"boolean","description":"Should SSL 3.0 be enabled on the frontend of the gateway? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** This maps to the `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Ssl30` field\n"},"frontendTls10Enabled":{"type":"boolean","description":"Should TLS 1.0 be enabled on the frontend of the gateway? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** This maps to the `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10` field\n"},"frontendTls11Enabled":{"type":"boolean","description":"Should TLS 1.1 be enabled on the frontend of the gateway? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** This maps to the `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls11` field\n"},"tlsEcdheEcdsaWithAes128CbcShaCiphersEnabled":{"type":"boolean","description":"Should the `TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA` cipher be enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** This maps to the `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA` field\n"},"tlsEcdheEcdsaWithAes256CbcShaCiphersEnabled":{"type":"boolean","description":"Should the `TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA` cipher be enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** This maps to the `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA` field\n"},"tlsEcdheRsaWithAes128CbcShaCiphersEnabled":{"type":"boolean","description":"Should the `TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA` cipher be enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** This maps to the `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA` field\n"},"tlsEcdheRsaWithAes256CbcShaCiphersEnabled":{"type":"boolean","description":"Should the `TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA` cipher be enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** This maps to the `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA` field\n"},"tlsRsaWithAes128CbcSha256CiphersEnabled":{"type":"boolean","description":"Should the `TLS_RSA_WITH_AES_128_CBC_SHA256` cipher be enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** This maps to the `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TLS_RSA_WITH_AES_128_CBC_SHA256` field\n"},"tlsRsaWithAes128CbcShaCiphersEnabled":{"type":"boolean","description":"Should the `TLS_RSA_WITH_AES_128_CBC_SHA` cipher be enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** This maps to the `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TLS_RSA_WITH_AES_128_CBC_SHA` field\n"},"tlsRsaWithAes128GcmSha256CiphersEnabled":{"type":"boolean","description":"Should the `TLS_RSA_WITH_AES_128_GCM_SHA256` cipher be enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** This maps to the `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TLS_RSA_WITH_AES_128_GCM_SHA256` field\n"},"tlsRsaWithAes256CbcSha256CiphersEnabled":{"type":"boolean","description":"Should the `TLS_RSA_WITH_AES_256_CBC_SHA256` cipher be enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** This maps to the `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TLS_RSA_WITH_AES_256_CBC_SHA256` field\n"},"tlsRsaWithAes256CbcShaCiphersEnabled":{"type":"boolean","description":"Should the `TLS_RSA_WITH_AES_256_CBC_SHA` cipher be enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** This maps to the `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TLS_RSA_WITH_AES_256_CBC_SHA` field\n"},"tlsRsaWithAes256GcmSha384CiphersEnabled":{"type":"boolean","description":"Should the `TLS_RSA_WITH_AES_256_GCM_SHA384` cipher be enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** This maps to the `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TLS_RSA_WITH_AES_256_GCM_SHA384` field\n"},"tripleDesCiphersEnabled":{"type":"boolean","description":"Should the `TLS_RSA_WITH_3DES_EDE_CBC_SHA` cipher be enabled for alL TLS versions (1.0, 1.1 and 1.2)? \n\n\u003e **Note:** This maps to the `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TripleDes168` field\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["backendSsl30Enabled","backendTls10Enabled","backendTls11Enabled","enableBackendSsl30","enableBackendTls10","enableBackendTls11","enableFrontendSsl30","enableFrontendTls10","enableFrontendTls11","frontendSsl30Enabled","frontendTls10Enabled","frontendTls11Enabled"]}}},"azure:apimanagement/ServiceSignIn:ServiceSignIn":{"properties":{"enabled":{"type":"boolean","description":"Should anonymous users be redirected to the sign in page?\n"}},"type":"object","required":["enabled"]},"azure:apimanagement/ServiceSignUp:ServiceSignUp":{"properties":{"enabled":{"type":"boolean","description":"Can users sign up on the development portal?\n"},"termsOfService":{"$ref":"#/types/azure:apimanagement/ServiceSignUpTermsOfService:ServiceSignUpTermsOfService","description":"A \u003cspan pulumi-lang-nodejs=\"`termsOfService`\" pulumi-lang-dotnet=\"`TermsOfService`\" pulumi-lang-go=\"`termsOfService`\" pulumi-lang-python=\"`terms_of_service`\" pulumi-lang-yaml=\"`termsOfService`\" pulumi-lang-java=\"`termsOfService`\"\u003e`terms_of_service`\u003c/span\u003e block as defined below.\n"}},"type":"object","required":["enabled","termsOfService"]},"azure:apimanagement/ServiceSignUpTermsOfService:ServiceSignUpTermsOfService":{"properties":{"consentRequired":{"type":"boolean","description":"Should the user be asked for consent during sign up?\n"},"enabled":{"type":"boolean","description":"Should Terms of Service be displayed during sign up?.\n"},"text":{"type":"string","description":"The Terms of Service which users are required to agree to in order to sign up.\n"}},"type":"object","required":["consentRequired","enabled"]},"azure:apimanagement/ServiceTenantAccess:ServiceTenantAccess":{"properties":{"enabled":{"type":"boolean","description":"Should the access to the management API be enabled?\n"},"primaryKey":{"type":"string","description":"Primary access key for the tenant access information contract.\n","secret":true},"secondaryKey":{"type":"string","description":"Secondary access key for the tenant access information contract.\n","secret":true},"tenantId":{"type":"string","description":"The identifier for the tenant access information contract.\n"}},"type":"object","required":["enabled"],"language":{"nodejs":{"requiredOutputs":["enabled","primaryKey","secondaryKey","tenantId"]}}},"azure:apimanagement/ServiceVirtualNetworkConfiguration:ServiceVirtualNetworkConfiguration":{"properties":{"subnetId":{"type":"string","description":"The id of the subnet that will be used for the API Management.\n"}},"type":"object","required":["subnetId"]},"azure:apimanagement/StandaloneGatewaySku:StandaloneGatewaySku":{"properties":{"capacity":{"type":"integer","description":"The number of deployed units of the SKU. Defaults to \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e.\n"},"name":{"type":"string","description":"The name of the SKU. The only possible value is `WorkspaceGatewayPremium`.\n"}},"type":"object","required":["name"]},"azure:apimanagement/WorkspaceNamedValueValueFromKeyVault:WorkspaceNamedValueValueFromKeyVault":{"properties":{"identityClientId":{"type":"string","description":"The client ID of the User Assigned Identity, for the API Management Service, which will be used to access the key vault secret. The System Assigned Identity will be used if not specified.\n"},"secretId":{"type":"string","description":"The resource ID of the Key Vault Secret.\n"}},"type":"object","required":["secretId"]},"azure:apimanagement/getApiSubscriptionKeyParameterName:getApiSubscriptionKeyParameterName":{"properties":{"header":{"type":"string","description":"The name of the HTTP Header which should be used for the Subscription Key.\n"},"query":{"type":"string","description":"The name of the QueryString parameter which should be used for the Subscription Key.\n"}},"type":"object","required":["header","query"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:apimanagement/getGatewayLocationData:getGatewayLocationData":{"properties":{"city":{"type":"string","description":"The city or locality where the resource is located.\n"},"district":{"type":"string","description":"The district, state, or province where the resource is located.\n"},"name":{"type":"string","description":"The name of the API Management Gateway.\n"},"region":{"type":"string"}},"type":"object","required":["city","district","name","region"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:apimanagement/getServiceAdditionalLocation:getServiceAdditionalLocation":{"properties":{"capacity":{"type":"integer","description":"The number of compute units in this region.\n"},"gatewayRegionalUrl":{"type":"string","description":"Gateway URL of the API Management service in the Region.\n"},"location":{"type":"string","description":"The location name of the additional region among Azure Data center regions.\n"},"privateIpAddresses":{"type":"array","items":{"type":"string"},"description":"Private IP addresses of the API Management service in the additional location, for instances using virtual network mode.\n"},"publicIpAddressId":{"type":"string","description":"ID of the standard SKU IPv4 Public IP. Available only for Premium SKU deployed in a virtual network.\n"},"publicIpAddresses":{"type":"array","items":{"type":"string"},"description":"Public Static Load Balanced IP addresses of the API Management service in the additional location. Available only for Basic, Standard and Premium SKU.\n"},"zones":{"type":"array","items":{"type":"string"},"description":"List of the availability zones where API Management is deployed in the additional region exists.\n"}},"type":"object","required":["capacity","gatewayRegionalUrl","location","privateIpAddresses","publicIpAddressId","publicIpAddresses","zones"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:apimanagement/getServiceHostnameConfiguration:getServiceHostnameConfiguration":{"properties":{"developerPortals":{"type":"array","items":{"$ref":"#/types/azure:apimanagement/getServiceHostnameConfigurationDeveloperPortal:getServiceHostnameConfigurationDeveloperPortal"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`developerPortal`\" pulumi-lang-dotnet=\"`DeveloperPortal`\" pulumi-lang-go=\"`developerPortal`\" pulumi-lang-python=\"`developer_portal`\" pulumi-lang-yaml=\"`developerPortal`\" pulumi-lang-java=\"`developerPortal`\"\u003e`developer_portal`\u003c/span\u003e blocks as documented below.\n"},"managements":{"type":"array","items":{"$ref":"#/types/azure:apimanagement/getServiceHostnameConfigurationManagement:getServiceHostnameConfigurationManagement"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`management`\" pulumi-lang-dotnet=\"`Management`\" pulumi-lang-go=\"`management`\" pulumi-lang-python=\"`management`\" pulumi-lang-yaml=\"`management`\" pulumi-lang-java=\"`management`\"\u003e`management`\u003c/span\u003e blocks as documented below.\n"},"portals":{"type":"array","items":{"$ref":"#/types/azure:apimanagement/getServiceHostnameConfigurationPortal:getServiceHostnameConfigurationPortal"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`portal`\" pulumi-lang-dotnet=\"`Portal`\" pulumi-lang-go=\"`portal`\" pulumi-lang-python=\"`portal`\" pulumi-lang-yaml=\"`portal`\" pulumi-lang-java=\"`portal`\"\u003e`portal`\u003c/span\u003e blocks as documented below.\n"},"proxies":{"type":"array","items":{"$ref":"#/types/azure:apimanagement/getServiceHostnameConfigurationProxy:getServiceHostnameConfigurationProxy"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`proxy`\" pulumi-lang-dotnet=\"`Proxy`\" pulumi-lang-go=\"`proxy`\" pulumi-lang-python=\"`proxy`\" pulumi-lang-yaml=\"`proxy`\" pulumi-lang-java=\"`proxy`\"\u003e`proxy`\u003c/span\u003e blocks as documented below.\n"},"scms":{"type":"array","items":{"$ref":"#/types/azure:apimanagement/getServiceHostnameConfigurationScm:getServiceHostnameConfigurationScm"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`scm`\" pulumi-lang-dotnet=\"`Scm`\" pulumi-lang-go=\"`scm`\" pulumi-lang-python=\"`scm`\" pulumi-lang-yaml=\"`scm`\" pulumi-lang-java=\"`scm`\"\u003e`scm`\u003c/span\u003e blocks as documented below.\n"}},"type":"object","required":["developerPortals","managements","portals","proxies","scms"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:apimanagement/getServiceHostnameConfigurationDeveloperPortal:getServiceHostnameConfigurationDeveloperPortal":{"properties":{"hostName":{"type":"string","description":"The Hostname used for the SCM URL.\n"},"keyVaultCertificateId":{"type":"string","description":"The ID of the Key Vault Secret which contains the SSL Certificate.\n"},"keyVaultId":{"type":"string"},"negotiateClientCertificate":{"type":"boolean","description":"Is Client Certificate Negotiation enabled?\n"}},"type":"object","required":["hostName","keyVaultCertificateId","keyVaultId","negotiateClientCertificate"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:apimanagement/getServiceHostnameConfigurationManagement:getServiceHostnameConfigurationManagement":{"properties":{"hostName":{"type":"string","description":"The Hostname used for the SCM URL.\n"},"keyVaultCertificateId":{"type":"string","description":"The ID of the Key Vault Secret which contains the SSL Certificate.\n"},"keyVaultId":{"type":"string"},"negotiateClientCertificate":{"type":"boolean","description":"Is Client Certificate Negotiation enabled?\n"}},"type":"object","required":["hostName","keyVaultCertificateId","keyVaultId","negotiateClientCertificate"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:apimanagement/getServiceHostnameConfigurationPortal:getServiceHostnameConfigurationPortal":{"properties":{"hostName":{"type":"string","description":"The Hostname used for the SCM URL.\n"},"keyVaultCertificateId":{"type":"string","description":"The ID of the Key Vault Secret which contains the SSL Certificate.\n"},"keyVaultId":{"type":"string"},"negotiateClientCertificate":{"type":"boolean","description":"Is Client Certificate Negotiation enabled?\n"}},"type":"object","required":["hostName","keyVaultCertificateId","keyVaultId","negotiateClientCertificate"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:apimanagement/getServiceHostnameConfigurationProxy:getServiceHostnameConfigurationProxy":{"properties":{"defaultSslBinding":{"type":"boolean","description":"Is this the default SSL Binding?\n"},"hostName":{"type":"string","description":"The Hostname used for the SCM URL.\n"},"keyVaultCertificateId":{"type":"string","description":"The ID of the Key Vault Secret which contains the SSL Certificate.\n"},"keyVaultId":{"type":"string"},"negotiateClientCertificate":{"type":"boolean","description":"Is Client Certificate Negotiation enabled?\n"}},"type":"object","required":["defaultSslBinding","hostName","keyVaultCertificateId","keyVaultId","negotiateClientCertificate"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:apimanagement/getServiceHostnameConfigurationScm:getServiceHostnameConfigurationScm":{"properties":{"hostName":{"type":"string","description":"The Hostname used for the SCM URL.\n"},"keyVaultCertificateId":{"type":"string","description":"The ID of the Key Vault Secret which contains the SSL Certificate.\n"},"keyVaultId":{"type":"string"},"negotiateClientCertificate":{"type":"boolean","description":"Is Client Certificate Negotiation enabled?\n"}},"type":"object","required":["hostName","keyVaultCertificateId","keyVaultId","negotiateClientCertificate"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:apimanagement/getServiceIdentity:getServiceIdentity":{"properties":{"identityIds":{"type":"array","items":{"type":"string"},"description":"The list of User Assigned Managed Identity IDs assigned to this API Management Service.\n"},"principalId":{"type":"string","description":"The Principal ID of the System Assigned Managed Service Identity that is configured on this API Management Service.\n"},"tenantId":{"type":"string","description":"The ID of the Tenant which has access to this API Management instance.\n"},"type":{"type":"string","description":"The type of Managed Service Identity that is configured on this API Management Service.\n"}},"type":"object","required":["identityIds","principalId","tenantId","type"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:apimanagement/getServiceTenantAccess:getServiceTenantAccess":{"properties":{"enabled":{"type":"boolean","description":"Is access to the Management API enabled (presumably \"for this Tenant\")?\n"},"primaryKey":{"type":"string","description":"Primary access key for the tenant access information contract.\n","secret":true},"secondaryKey":{"type":"string","description":"Secondary access key for the tenant access information contract.\n","secret":true},"tenantId":{"type":"string","description":"The ID of the Tenant which has access to this API Management instance.\n"}},"type":"object","required":["enabled","primaryKey","secondaryKey","tenantId"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appconfiguration/ConfigurationFeatureTargetingFilter:ConfigurationFeatureTargetingFilter":{"properties":{"defaultRolloutPercentage":{"type":"integer","description":"A number representing the percentage of the entire user base.\n"},"groups":{"type":"array","items":{"$ref":"#/types/azure:appconfiguration/ConfigurationFeatureTargetingFilterGroup:ConfigurationFeatureTargetingFilterGroup"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`groups`\" pulumi-lang-dotnet=\"`Groups`\" pulumi-lang-go=\"`groups`\" pulumi-lang-python=\"`groups`\" pulumi-lang-yaml=\"`groups`\" pulumi-lang-java=\"`groups`\"\u003e`groups`\u003c/span\u003e blocks as defined below.\n"},"users":{"type":"array","items":{"type":"string"},"description":"A list of users to target for this feature.\n"}},"type":"object","required":["defaultRolloutPercentage"]},"azure:appconfiguration/ConfigurationFeatureTargetingFilterGroup:ConfigurationFeatureTargetingFilterGroup":{"properties":{"name":{"type":"string","description":"The name of the group.\n"},"rolloutPercentage":{"type":"integer","description":"Rollout percentage of the group.\n"}},"type":"object","required":["name","rolloutPercentage"]},"azure:appconfiguration/ConfigurationFeatureTimewindowFilter:ConfigurationFeatureTimewindowFilter":{"properties":{"end":{"type":"string","description":"The latest timestamp the feature is enabled. The timestamp must be in RFC3339 format.\n"},"start":{"type":"string","description":"The earliest timestamp the feature is enabled. The timestamp must be in RFC3339 format.\n"}},"type":"object"},"azure:appconfiguration/ConfigurationStoreEncryption:ConfigurationStoreEncryption":{"properties":{"identityClientId":{"type":"string","description":"Specifies the client ID of the identity which will be used to access key vault.\n"},"keyVaultKeyIdentifier":{"type":"string","description":"Specifies the URI of the key vault key used to encrypt data.\n"}},"type":"object"},"azure:appconfiguration/ConfigurationStoreIdentity:ConfigurationStoreIdentity":{"properties":{"identityIds":{"type":"array","items":{"type":"string"},"description":"A list of User Assigned Managed Identity IDs to be assigned to this App Configuration.\n\n\u003e **Note:** This is required when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to `UserAssigned` or `SystemAssigned, UserAssigned`.\n"},"principalId":{"type":"string","description":"The Principal ID associated with this Managed Service Identity.\n"},"tenantId":{"type":"string","description":"The Tenant ID associated with this Managed Service Identity.\n"},"type":{"type":"string","description":"Specifies the type of Managed Service Identity that should be configured on this App Configuration. Possible values are `SystemAssigned`, `UserAssigned`, and `SystemAssigned, UserAssigned` (to enable both).\n"}},"type":"object","required":["type"],"language":{"nodejs":{"requiredOutputs":["principalId","tenantId","type"]}}},"azure:appconfiguration/ConfigurationStorePrimaryReadKey:ConfigurationStorePrimaryReadKey":{"properties":{"connectionString":{"type":"string","description":"The Connection String for this Access Key - consisting of the Endpoint, ID, and Secret.\n","secret":true},"id":{"type":"string","description":"The ID of the Access Key.\n","secret":true},"secret":{"type":"string","description":"The Secret of the Access Key.\n","secret":true}},"type":"object","language":{"nodejs":{"requiredOutputs":["connectionString","id","secret"]}}},"azure:appconfiguration/ConfigurationStorePrimaryWriteKey:ConfigurationStorePrimaryWriteKey":{"properties":{"connectionString":{"type":"string","description":"The Connection String for this Access Key - consisting of the Endpoint, ID, and Secret.\n","secret":true},"id":{"type":"string","description":"The ID of the Access Key.\n","secret":true},"secret":{"type":"string","description":"The Secret of the Access Key.\n","secret":true}},"type":"object","language":{"nodejs":{"requiredOutputs":["connectionString","id","secret"]}}},"azure:appconfiguration/ConfigurationStoreReplica:ConfigurationStoreReplica":{"properties":{"endpoint":{"type":"string","description":"The URL of the App Configuration Replica.\n"},"id":{"type":"string","description":"The ID of the Access Key.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the replica exists.\n"},"name":{"type":"string","description":"Specifies the name of the replica.\n"}},"type":"object","required":["location","name"],"language":{"nodejs":{"requiredOutputs":["endpoint","id","location","name"]}}},"azure:appconfiguration/ConfigurationStoreSecondaryReadKey:ConfigurationStoreSecondaryReadKey":{"properties":{"connectionString":{"type":"string","description":"The Connection String for this Access Key - consisting of the Endpoint, ID, and Secret.\n","secret":true},"id":{"type":"string","description":"The ID of the Access Key.\n","secret":true},"secret":{"type":"string","description":"The Secret of the Access Key.\n","secret":true}},"type":"object","language":{"nodejs":{"requiredOutputs":["connectionString","id","secret"]}}},"azure:appconfiguration/ConfigurationStoreSecondaryWriteKey:ConfigurationStoreSecondaryWriteKey":{"properties":{"connectionString":{"type":"string","description":"The Connection String for this Access Key - consisting of the Endpoint, ID, and Secret.\n","secret":true},"id":{"type":"string","description":"The ID of the Access Key.\n","secret":true},"secret":{"type":"string","description":"The Secret of the Access Key.\n","secret":true}},"type":"object","language":{"nodejs":{"requiredOutputs":["connectionString","id","secret"]}}},"azure:appconfiguration/getConfigurationKeysItem:getConfigurationKeysItem":{"properties":{"contentType":{"type":"string","description":"The content type of the App Configuration Key.\n"},"etag":{"type":"string","description":"The ETag of the key.\n"},"key":{"type":"string","description":"The name of the App Configuration Keys to look up.\n"},"label":{"type":"string","description":"The label of the App Configuration Keys tp look up.\n"},"locked":{"type":"boolean","description":"Is this App Configuration Key be Locked to prevent changes.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags assigned to the resource.\n"},"type":{"type":"string","description":"The type of the App Configuration Key. It can either be \u003cspan pulumi-lang-nodejs=\"`kv`\" pulumi-lang-dotnet=\"`Kv`\" pulumi-lang-go=\"`kv`\" pulumi-lang-python=\"`kv`\" pulumi-lang-yaml=\"`kv`\" pulumi-lang-java=\"`kv`\"\u003e`kv`\u003c/span\u003e (simple [key/value](https://docs.microsoft.com/azure/azure-app-configuration/concept-key-value)) or \u003cspan pulumi-lang-nodejs=\"`vault`\" pulumi-lang-dotnet=\"`Vault`\" pulumi-lang-go=\"`vault`\" pulumi-lang-python=\"`vault`\" pulumi-lang-yaml=\"`vault`\" pulumi-lang-java=\"`vault`\"\u003e`vault`\u003c/span\u003e (where the value is a reference to a [Key Vault Secret](https://azure.microsoft.com/en-gb/services/key-vault/).\n"},"value":{"type":"string","description":"The value of the App Configuration Key.\n"},"vaultKeyReference":{"type":"string","description":"The ID of the vault secret this App Configuration Key refers to, when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`vault`\" pulumi-lang-dotnet=\"`Vault`\" pulumi-lang-go=\"`vault`\" pulumi-lang-python=\"`vault`\" pulumi-lang-yaml=\"`vault`\" pulumi-lang-java=\"`vault`\"\u003e`vault`\u003c/span\u003e.\n"}},"type":"object","required":["contentType","etag","key","label","locked","tags","type","value","vaultKeyReference"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appconfiguration/getConfigurationStoreEncryption:getConfigurationStoreEncryption":{"properties":{"identityClientId":{"type":"string"},"keyVaultKeyIdentifier":{"type":"string"}},"type":"object","required":["identityClientId","keyVaultKeyIdentifier"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appconfiguration/getConfigurationStoreIdentity:getConfigurationStoreIdentity":{"properties":{"identityIds":{"type":"array","items":{"type":"string"}},"principalId":{"type":"string"},"tenantId":{"type":"string"},"type":{"type":"string"}},"type":"object","required":["identityIds","principalId","tenantId","type"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appconfiguration/getConfigurationStorePrimaryReadKey:getConfigurationStorePrimaryReadKey":{"properties":{"connectionString":{"type":"string","description":"The Connection String for this Access Key - consisting of the Endpoint, ID and Secret.\n","secret":true},"id":{"type":"string","description":"The ID of the Access Key.\n","secret":true},"secret":{"type":"string","description":"The Secret of the Access Key.\n","secret":true}},"type":"object","required":["connectionString","id","secret"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appconfiguration/getConfigurationStorePrimaryWriteKey:getConfigurationStorePrimaryWriteKey":{"properties":{"connectionString":{"type":"string","description":"The Connection String for this Access Key - consisting of the Endpoint, ID and Secret.\n","secret":true},"id":{"type":"string","description":"The ID of the Access Key.\n","secret":true},"secret":{"type":"string","description":"The Secret of the Access Key.\n","secret":true}},"type":"object","required":["connectionString","id","secret"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appconfiguration/getConfigurationStoreReplica:getConfigurationStoreReplica":{"properties":{"endpoint":{"type":"string","description":"The URL of the App Configuration Replica.\n"},"id":{"type":"string","description":"The ID of the Access Key.\n"},"location":{"type":"string","description":"The supported Azure location where the App Configuration Replica exists.\n"},"name":{"type":"string","description":"The Name of this App Configuration.\n"}},"type":"object","required":["endpoint","id","location","name"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appconfiguration/getConfigurationStoreSecondaryReadKey:getConfigurationStoreSecondaryReadKey":{"properties":{"connectionString":{"type":"string","description":"The Connection String for this Access Key - consisting of the Endpoint, ID and Secret.\n","secret":true},"id":{"type":"string","description":"The ID of the Access Key.\n","secret":true},"secret":{"type":"string","description":"The Secret of the Access Key.\n","secret":true}},"type":"object","required":["connectionString","id","secret"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appconfiguration/getConfigurationStoreSecondaryWriteKey:getConfigurationStoreSecondaryWriteKey":{"properties":{"connectionString":{"type":"string","description":"The Connection String for this Access Key - consisting of the Endpoint, ID and Secret.\n","secret":true},"id":{"type":"string","description":"The ID of the Access Key.\n","secret":true},"secret":{"type":"string","description":"The Secret of the Access Key.\n","secret":true}},"type":"object","required":["connectionString","id","secret"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appinsights/StandardWebTestRequest:StandardWebTestRequest":{"properties":{"body":{"type":"string","description":"The WebTest request body.\n"},"followRedirectsEnabled":{"type":"boolean","description":"Should the following of redirects be enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"headers":{"type":"array","items":{"$ref":"#/types/azure:appinsights/StandardWebTestRequestHeader:StandardWebTestRequestHeader"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`header`\" pulumi-lang-dotnet=\"`Header`\" pulumi-lang-go=\"`header`\" pulumi-lang-python=\"`header`\" pulumi-lang-yaml=\"`header`\" pulumi-lang-java=\"`header`\"\u003e`header`\u003c/span\u003e blocks as defined above.\n"},"httpVerb":{"type":"string","description":"Which HTTP verb to use for the call. Options are 'GET', 'POST', 'PUT', 'PATCH', 'DELETE', 'HEAD', and 'OPTIONS'. Defaults to `GET`.\n"},"parseDependentRequestsEnabled":{"type":"boolean","description":"Should the parsing of dependend requests be enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"url":{"type":"string","description":"The WebTest request URL.\n"}},"type":"object","required":["url"]},"azure:appinsights/StandardWebTestRequestHeader:StandardWebTestRequestHeader":{"properties":{"name":{"type":"string","description":"The name which should be used for a header in the request.\n"},"value":{"type":"string","description":"The value which should be used for a header in the request.\n"}},"type":"object","required":["name","value"]},"azure:appinsights/StandardWebTestValidationRules:StandardWebTestValidationRules":{"properties":{"content":{"$ref":"#/types/azure:appinsights/StandardWebTestValidationRulesContent:StandardWebTestValidationRulesContent","description":"A \u003cspan pulumi-lang-nodejs=\"`content`\" pulumi-lang-dotnet=\"`Content`\" pulumi-lang-go=\"`content`\" pulumi-lang-python=\"`content`\" pulumi-lang-yaml=\"`content`\" pulumi-lang-java=\"`content`\"\u003e`content`\u003c/span\u003e block as defined above.\n"},"expectedStatusCode":{"type":"integer","description":"The expected status code of the response. Default is '200', '0' means 'response code \u003c 400'\n"},"sslCertRemainingLifetime":{"type":"integer","description":"The number of days of SSL certificate validity remaining for the checked endpoint. If the certificate has a shorter remaining lifetime left, the test will fail. This number should be between 1 and 365.\n"},"sslCheckEnabled":{"type":"boolean","description":"Should the SSL check be enabled?\n"}},"type":"object"},"azure:appinsights/StandardWebTestValidationRulesContent:StandardWebTestValidationRulesContent":{"properties":{"contentMatch":{"type":"string","description":"A string value containing the content to match on.\n"},"ignoreCase":{"type":"boolean","description":"Ignore the casing in the \u003cspan pulumi-lang-nodejs=\"`contentMatch`\" pulumi-lang-dotnet=\"`ContentMatch`\" pulumi-lang-go=\"`contentMatch`\" pulumi-lang-python=\"`content_match`\" pulumi-lang-yaml=\"`contentMatch`\" pulumi-lang-java=\"`contentMatch`\"\u003e`content_match`\u003c/span\u003e value.\n"},"passIfTextFound":{"type":"boolean","description":"If the content of \u003cspan pulumi-lang-nodejs=\"`contentMatch`\" pulumi-lang-dotnet=\"`ContentMatch`\" pulumi-lang-go=\"`contentMatch`\" pulumi-lang-python=\"`content_match`\" pulumi-lang-yaml=\"`contentMatch`\" pulumi-lang-java=\"`contentMatch`\"\u003e`content_match`\u003c/span\u003e is found, pass the test. If set to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e, the WebTest is failing if the content of \u003cspan pulumi-lang-nodejs=\"`contentMatch`\" pulumi-lang-dotnet=\"`ContentMatch`\" pulumi-lang-go=\"`contentMatch`\" pulumi-lang-python=\"`content_match`\" pulumi-lang-yaml=\"`contentMatch`\" pulumi-lang-java=\"`contentMatch`\"\u003e`content_match`\u003c/span\u003e is found.\n"}},"type":"object","required":["contentMatch"]},"azure:appinsights/WorkbookIdentity:WorkbookIdentity":{"properties":{"identityIds":{"type":"array","items":{"type":"string"},"description":"The list of User Assigned Managed Identity IDs assigned to this Workbook. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"principalId":{"type":"string","description":"The Principal ID of the System Assigned Managed Service Identity that is configured on this Workbook.\n"},"tenantId":{"type":"string","description":"The Tenant ID of the System Assigned Managed Service Identity that is configured on this Workbook.\n"},"type":{"type":"string","description":"The type of Managed Service Identity that is configured on this Workbook. Possible values are `UserAssigned`, `SystemAssigned` and `SystemAssigned, UserAssigned`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["type"],"language":{"nodejs":{"requiredOutputs":["principalId","tenantId","type"]}}},"azure:appinsights/WorkbookTemplateGallery:WorkbookTemplateGallery":{"properties":{"category":{"type":"string","description":"Category for the gallery.\n"},"name":{"type":"string","description":"Name of the workbook template in the gallery.\n"},"order":{"type":"integer","description":"Order of the template within the gallery. Defaults to \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"resourceType":{"type":"string","description":"Azure resource type supported by the gallery. Defaults to `Azure Monitor`.\n"},"type":{"type":"string","description":"Type of workbook supported by the workbook template. Defaults to \u003cspan pulumi-lang-nodejs=\"`workbook`\" pulumi-lang-dotnet=\"`Workbook`\" pulumi-lang-go=\"`workbook`\" pulumi-lang-python=\"`workbook`\" pulumi-lang-yaml=\"`workbook`\" pulumi-lang-java=\"`workbook`\"\u003e`workbook`\u003c/span\u003e.\n\n\u003e **Note:** See [documentation](https://docs.microsoft.com/en-us/azure/azure-monitor/visualize/workbooks-automate#galleries) for more information of \u003cspan pulumi-lang-nodejs=\"`resourceType`\" pulumi-lang-dotnet=\"`ResourceType`\" pulumi-lang-go=\"`resourceType`\" pulumi-lang-python=\"`resource_type`\" pulumi-lang-yaml=\"`resourceType`\" pulumi-lang-java=\"`resourceType`\"\u003e`resource_type`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e.\n"}},"type":"object","required":["category","name"]},"azure:appplatform/SpringCloudApiPortalSso:SpringCloudApiPortalSso":{"properties":{"clientId":{"type":"string","description":"The public identifier for the application.\n"},"clientSecret":{"type":"string","description":"The secret known only to the application and the authorization server.\n"},"issuerUri":{"type":"string","description":"The URI of Issuer Identifier.\n"},"scopes":{"type":"array","items":{"type":"string"},"description":"It defines the specific actions applications can be allowed to do on a user's behalf.\n"}},"type":"object"},"azure:appplatform/SpringCloudAppCustomPersistentDisk:SpringCloudAppCustomPersistentDisk":{"properties":{"mountOptions":{"type":"array","items":{"type":"string"},"description":"These are the mount options for a persistent disk.\n"},"mountPath":{"type":"string","description":"The mount path of the persistent disk.\n"},"readOnlyEnabled":{"type":"boolean","description":"Indicates whether the persistent disk is a readOnly one.\n"},"shareName":{"type":"string","description":"The share name of the Azure File share.\n"},"storageName":{"type":"string","description":"The name of the Spring Cloud Storage.\n"}},"type":"object","required":["mountPath","shareName","storageName"]},"azure:appplatform/SpringCloudAppIdentity:SpringCloudAppIdentity":{"properties":{"identityIds":{"type":"array","items":{"type":"string"},"description":"A list of User Assigned Managed Identity IDs to be assigned to this Spring Cloud Application.\n\n\u003e **Note:** This is required when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to `UserAssigned` or `SystemAssigned, UserAssigned`.\n"},"principalId":{"type":"string","description":"The Principal ID for the Service Principal associated with the Managed Service Identity of this Spring Cloud Application.\n"},"tenantId":{"type":"string","description":"The Tenant ID for the Service Principal associated with the Managed Service Identity of this Spring Cloud Application.\n"},"type":{"type":"string","description":"Specifies the type of Managed Service Identity that should be configured on this Spring Cloud Application. Possible values are `SystemAssigned`, `UserAssigned`, `SystemAssigned, UserAssigned` (to enable both).\n"}},"type":"object","required":["type"],"language":{"nodejs":{"requiredOutputs":["principalId","tenantId","type"]}}},"azure:appplatform/SpringCloudAppIngressSettings:SpringCloudAppIngressSettings":{"properties":{"backendProtocol":{"type":"string","description":"Specifies how ingress should communicate with this app backend service. Allowed values are `GRPC` and `Default`. Defaults to `Default`.\n"},"readTimeoutInSeconds":{"type":"integer","description":"Specifies the ingress read time out in seconds. Defaults to \u003cspan pulumi-lang-nodejs=\"`300`\" pulumi-lang-dotnet=\"`300`\" pulumi-lang-go=\"`300`\" pulumi-lang-python=\"`300`\" pulumi-lang-yaml=\"`300`\" pulumi-lang-java=\"`300`\"\u003e`300`\u003c/span\u003e.\n"},"sendTimeoutInSeconds":{"type":"integer","description":"Specifies the ingress send time out in seconds. Defaults to \u003cspan pulumi-lang-nodejs=\"`60`\" pulumi-lang-dotnet=\"`60`\" pulumi-lang-go=\"`60`\" pulumi-lang-python=\"`60`\" pulumi-lang-yaml=\"`60`\" pulumi-lang-java=\"`60`\"\u003e`60`\u003c/span\u003e.\n"},"sessionAffinity":{"type":"string","description":"Specifies the type of the affinity, set this to `Cookie` to enable session affinity. Allowed values are `Cookie` and `None`. Defaults to `None`.\n"},"sessionCookieMaxAge":{"type":"integer","description":"Specifies the time in seconds until the cookie expires.\n"}},"type":"object"},"azure:appplatform/SpringCloudAppPersistentDisk:SpringCloudAppPersistentDisk":{"properties":{"mountPath":{"type":"string","description":"Specifies the mount path of the persistent disk. Defaults to `/persistent`.\n"},"sizeInGb":{"type":"integer","description":"Specifies the size of the persistent disk in GB. Possible values are between \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`50`\" pulumi-lang-dotnet=\"`50`\" pulumi-lang-go=\"`50`\" pulumi-lang-python=\"`50`\" pulumi-lang-yaml=\"`50`\" pulumi-lang-java=\"`50`\"\u003e`50`\u003c/span\u003e.\n"}},"type":"object","required":["sizeInGb"]},"azure:appplatform/SpringCloudBuildDeploymentQuota:SpringCloudBuildDeploymentQuota":{"properties":{"cpu":{"type":"string","description":"Specifies the required cpu of the Spring Cloud Deployment. Possible Values are \u003cspan pulumi-lang-nodejs=\"`500m`\" pulumi-lang-dotnet=\"`500m`\" pulumi-lang-go=\"`500m`\" pulumi-lang-python=\"`500m`\" pulumi-lang-yaml=\"`500m`\" pulumi-lang-java=\"`500m`\"\u003e`500m`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`4`\" pulumi-lang-dotnet=\"`4`\" pulumi-lang-go=\"`4`\" pulumi-lang-python=\"`4`\" pulumi-lang-yaml=\"`4`\" pulumi-lang-java=\"`4`\"\u003e`4`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e if not specified.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`cpu`\" pulumi-lang-dotnet=\"`Cpu`\" pulumi-lang-go=\"`cpu`\" pulumi-lang-python=\"`cpu`\" pulumi-lang-yaml=\"`cpu`\" pulumi-lang-java=\"`cpu`\"\u003e`cpu`\u003c/span\u003e supports \u003cspan pulumi-lang-nodejs=\"`500m`\" pulumi-lang-dotnet=\"`500m`\" pulumi-lang-go=\"`500m`\" pulumi-lang-python=\"`500m`\" pulumi-lang-yaml=\"`500m`\" pulumi-lang-java=\"`500m`\"\u003e`500m`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e for Basic tier, \u003cspan pulumi-lang-nodejs=\"`500m`\" pulumi-lang-dotnet=\"`500m`\" pulumi-lang-go=\"`500m`\" pulumi-lang-python=\"`500m`\" pulumi-lang-yaml=\"`500m`\" pulumi-lang-java=\"`500m`\"\u003e`500m`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`4`\" pulumi-lang-dotnet=\"`4`\" pulumi-lang-go=\"`4`\" pulumi-lang-python=\"`4`\" pulumi-lang-yaml=\"`4`\" pulumi-lang-java=\"`4`\"\u003e`4`\u003c/span\u003e for Standard tier.\n"},"memory":{"type":"string","description":"Specifies the required memory size of the Spring Cloud Deployment. Possible Values are `512Mi`, `1Gi`, `2Gi`, `3Gi`, `4Gi`, `5Gi`, `6Gi`, `7Gi`, and `8Gi`. Defaults to `1Gi` if not specified.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`memory`\" pulumi-lang-dotnet=\"`Memory`\" pulumi-lang-go=\"`memory`\" pulumi-lang-python=\"`memory`\" pulumi-lang-yaml=\"`memory`\" pulumi-lang-java=\"`memory`\"\u003e`memory`\u003c/span\u003e supports `512Mi`, `1Gi` and `2Gi` for Basic tier, `512Mi`, `1Gi`, `2Gi`, `3Gi`, `4Gi`, `5Gi`, `6Gi`, `7Gi`, and `8Gi` for Standard tier.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["cpu","memory"]}}},"azure:appplatform/SpringCloudBuildPackBindingLaunch:SpringCloudBuildPackBindingLaunch":{"properties":{"properties":{"type":"object","additionalProperties":{"type":"string"},"description":"Specifies a map of non-sensitive properties for launchProperties.\n"},"secrets":{"type":"object","additionalProperties":{"type":"string"},"description":"Specifies a map of sensitive properties for launchProperties.\n"}},"type":"object"},"azure:appplatform/SpringCloudBuilderBuildPackGroup:SpringCloudBuilderBuildPackGroup":{"properties":{"buildPackIds":{"type":"array","items":{"type":"string"},"description":"Specifies a list of the build pack's ID.\n"},"name":{"type":"string","description":"The name which should be used for this build pack group.\n"}},"type":"object","required":["name"]},"azure:appplatform/SpringCloudBuilderStack:SpringCloudBuilderStack":{"properties":{"id":{"type":"string","description":"Specifies the ID of the ClusterStack.\n"},"version":{"type":"string","description":"Specifies the version of the ClusterStack\n"}},"type":"object","required":["id","version"]},"azure:appplatform/SpringCloudConfigurationServiceRepository:SpringCloudConfigurationServiceRepository":{"properties":{"caCertificateId":{"type":"string","description":"Specifies the ID of the Certificate Authority used when retrieving the Git Repository via HTTPS.\n"},"hostKey":{"type":"string","description":"Specifies the SSH public key of git repository.\n"},"hostKeyAlgorithm":{"type":"string","description":"Specifies the SSH key algorithm of git repository.\n"},"label":{"type":"string","description":"Specifies the label of the repository.\n"},"name":{"type":"string","description":"Specifies the name which should be used for this repository.\n"},"password":{"type":"string","description":"Specifies the password of git repository basic auth.\n","secret":true},"patterns":{"type":"array","items":{"type":"string"},"description":"Specifies the collection of patterns of the repository.\n"},"privateKey":{"type":"string","description":"Specifies the SSH private key of git repository.\n","secret":true},"searchPaths":{"type":"array","items":{"type":"string"},"description":"Specifies a list of searching path of the repository\n"},"strictHostKeyChecking":{"type":"boolean","description":"Specifies whether enable the strict host key checking.\n"},"uri":{"type":"string","description":"Specifies the URI of the repository.\n"},"username":{"type":"string","description":"Specifies the username of git repository basic auth.\n"}},"type":"object","required":["label","name","patterns","uri"]},"azure:appplatform/SpringCloudConnectionAuthentication:SpringCloudConnectionAuthentication":{"properties":{"certificate":{"type":"string","description":"Service principal certificate for `servicePrincipal` auth. Should be specified when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to `servicePrincipalCertificate`.\n","secret":true},"clientId":{"type":"string","description":"Client ID for `userAssignedIdentity` or `servicePrincipal` auth. Should be specified when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to `servicePrincipalSecret` or `servicePrincipalCertificate`. When \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to `userAssignedIdentity`, \u003cspan pulumi-lang-nodejs=\"`clientId`\" pulumi-lang-dotnet=\"`ClientId`\" pulumi-lang-go=\"`clientId`\" pulumi-lang-python=\"`client_id`\" pulumi-lang-yaml=\"`clientId`\" pulumi-lang-java=\"`clientId`\"\u003e`client_id`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`subscriptionId`\" pulumi-lang-dotnet=\"`SubscriptionId`\" pulumi-lang-go=\"`subscriptionId`\" pulumi-lang-python=\"`subscription_id`\" pulumi-lang-yaml=\"`subscriptionId`\" pulumi-lang-java=\"`subscriptionId`\"\u003e`subscription_id`\u003c/span\u003e should be either both specified or both not specified.\n"},"name":{"type":"string","description":"Username or account name for secret auth. \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`secret`\" pulumi-lang-dotnet=\"`Secret`\" pulumi-lang-go=\"`secret`\" pulumi-lang-python=\"`secret`\" pulumi-lang-yaml=\"`secret`\" pulumi-lang-java=\"`secret`\"\u003e`secret`\u003c/span\u003e should be either both specified or both not specified when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`secret`\" pulumi-lang-dotnet=\"`Secret`\" pulumi-lang-go=\"`secret`\" pulumi-lang-python=\"`secret`\" pulumi-lang-yaml=\"`secret`\" pulumi-lang-java=\"`secret`\"\u003e`secret`\u003c/span\u003e.\n"},"principalId":{"type":"string","description":"Principal ID for `servicePrincipal` auth. Should be specified when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to `servicePrincipalSecret` or `servicePrincipalCertificate`.\n"},"secret":{"type":"string","description":"Password or account key for secret auth. \u003cspan pulumi-lang-nodejs=\"`secret`\" pulumi-lang-dotnet=\"`Secret`\" pulumi-lang-go=\"`secret`\" pulumi-lang-python=\"`secret`\" pulumi-lang-yaml=\"`secret`\" pulumi-lang-java=\"`secret`\"\u003e`secret`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e should be either both specified or both not specified when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`secret`\" pulumi-lang-dotnet=\"`Secret`\" pulumi-lang-go=\"`secret`\" pulumi-lang-python=\"`secret`\" pulumi-lang-yaml=\"`secret`\" pulumi-lang-java=\"`secret`\"\u003e`secret`\u003c/span\u003e.\n","secret":true},"subscriptionId":{"type":"string","description":"Subscription ID for `userAssignedIdentity`. \u003cspan pulumi-lang-nodejs=\"`subscriptionId`\" pulumi-lang-dotnet=\"`SubscriptionId`\" pulumi-lang-go=\"`subscriptionId`\" pulumi-lang-python=\"`subscription_id`\" pulumi-lang-yaml=\"`subscriptionId`\" pulumi-lang-java=\"`subscriptionId`\"\u003e`subscription_id`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`clientId`\" pulumi-lang-dotnet=\"`ClientId`\" pulumi-lang-go=\"`clientId`\" pulumi-lang-python=\"`client_id`\" pulumi-lang-yaml=\"`clientId`\" pulumi-lang-java=\"`clientId`\"\u003e`client_id`\u003c/span\u003e should be either both specified or both not specified.\n"},"type":{"type":"string","description":"The authentication type. Possible values are `systemAssignedIdentity`, `userAssignedIdentity`, `servicePrincipalSecret`, `servicePrincipalCertificate`, \u003cspan pulumi-lang-nodejs=\"`secret`\" pulumi-lang-dotnet=\"`Secret`\" pulumi-lang-go=\"`secret`\" pulumi-lang-python=\"`secret`\" pulumi-lang-yaml=\"`secret`\" pulumi-lang-java=\"`secret`\"\u003e`secret`\u003c/span\u003e. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["type"]},"azure:appplatform/SpringCloudConnectionSecretStore:SpringCloudConnectionSecretStore":{"properties":{"keyVaultId":{"type":"string","description":"The key vault id to store secret.\n"}},"type":"object","required":["keyVaultId"]},"azure:appplatform/SpringCloudContainerDeploymentQuota:SpringCloudContainerDeploymentQuota":{"properties":{"cpu":{"type":"string","description":"Specifies the required cpu of the Spring Cloud Deployment. Possible Values are \u003cspan pulumi-lang-nodejs=\"`500m`\" pulumi-lang-dotnet=\"`500m`\" pulumi-lang-go=\"`500m`\" pulumi-lang-python=\"`500m`\" pulumi-lang-yaml=\"`500m`\" pulumi-lang-java=\"`500m`\"\u003e`500m`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`4`\" pulumi-lang-dotnet=\"`4`\" pulumi-lang-go=\"`4`\" pulumi-lang-python=\"`4`\" pulumi-lang-yaml=\"`4`\" pulumi-lang-java=\"`4`\"\u003e`4`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e if not specified.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`cpu`\" pulumi-lang-dotnet=\"`Cpu`\" pulumi-lang-go=\"`cpu`\" pulumi-lang-python=\"`cpu`\" pulumi-lang-yaml=\"`cpu`\" pulumi-lang-java=\"`cpu`\"\u003e`cpu`\u003c/span\u003e supports \u003cspan pulumi-lang-nodejs=\"`500m`\" pulumi-lang-dotnet=\"`500m`\" pulumi-lang-go=\"`500m`\" pulumi-lang-python=\"`500m`\" pulumi-lang-yaml=\"`500m`\" pulumi-lang-java=\"`500m`\"\u003e`500m`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e for Basic tier, \u003cspan pulumi-lang-nodejs=\"`500m`\" pulumi-lang-dotnet=\"`500m`\" pulumi-lang-go=\"`500m`\" pulumi-lang-python=\"`500m`\" pulumi-lang-yaml=\"`500m`\" pulumi-lang-java=\"`500m`\"\u003e`500m`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`4`\" pulumi-lang-dotnet=\"`4`\" pulumi-lang-go=\"`4`\" pulumi-lang-python=\"`4`\" pulumi-lang-yaml=\"`4`\" pulumi-lang-java=\"`4`\"\u003e`4`\u003c/span\u003e for Standard tier.\n"},"memory":{"type":"string","description":"Specifies the required memory size of the Spring Cloud Deployment. Possible Values are `512Mi`, `1Gi`, `2Gi`, `3Gi`, `4Gi`, `5Gi`, `6Gi`, `7Gi`, and `8Gi`. Defaults to `1Gi` if not specified.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`memory`\" pulumi-lang-dotnet=\"`Memory`\" pulumi-lang-go=\"`memory`\" pulumi-lang-python=\"`memory`\" pulumi-lang-yaml=\"`memory`\" pulumi-lang-java=\"`memory`\"\u003e`memory`\u003c/span\u003e supports `512Mi`, `1Gi` and `2Gi` for Basic tier, `512Mi`, `1Gi`, `2Gi`, `3Gi`, `4Gi`, `5Gi`, `6Gi`, `7Gi`, and `8Gi` for Standard tier.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["cpu","memory"]}}},"azure:appplatform/SpringCloudCustomizedAcceleratorGitRepository:SpringCloudCustomizedAcceleratorGitRepository":{"properties":{"basicAuth":{"$ref":"#/types/azure:appplatform/SpringCloudCustomizedAcceleratorGitRepositoryBasicAuth:SpringCloudCustomizedAcceleratorGitRepositoryBasicAuth","description":"A \u003cspan pulumi-lang-nodejs=\"`basicAuth`\" pulumi-lang-dotnet=\"`BasicAuth`\" pulumi-lang-go=\"`basicAuth`\" pulumi-lang-python=\"`basic_auth`\" pulumi-lang-yaml=\"`basicAuth`\" pulumi-lang-java=\"`basicAuth`\"\u003e`basic_auth`\u003c/span\u003e block as defined below. Conflicts with `git_repository[0].ssh_auth`. Changing this forces a new Spring Cloud Customized Accelerator to be created.\n","willReplaceOnChanges":true},"branch":{"type":"string","description":"Specifies the Git repository branch to be used.\n"},"caCertificateId":{"type":"string","description":"Specifies the ID of the CA Spring Cloud Certificate for https URL of Git repository.\n"},"commit":{"type":"string","description":"Specifies the Git repository commit to be used.\n"},"gitTag":{"type":"string","description":"Specifies the Git repository tag to be used.\n"},"intervalInSeconds":{"type":"integer","description":"Specifies the interval for checking for updates to Git or image repository. It should be greater than 10.\n"},"path":{"type":"string","description":"Specifies the path under the git repository to be treated as the root directory of the accelerator or the fragment (depending on \u003cspan pulumi-lang-nodejs=\"`acceleratorType`\" pulumi-lang-dotnet=\"`AcceleratorType`\" pulumi-lang-go=\"`acceleratorType`\" pulumi-lang-python=\"`accelerator_type`\" pulumi-lang-yaml=\"`acceleratorType`\" pulumi-lang-java=\"`acceleratorType`\"\u003e`accelerator_type`\u003c/span\u003e).\n"},"sshAuth":{"$ref":"#/types/azure:appplatform/SpringCloudCustomizedAcceleratorGitRepositorySshAuth:SpringCloudCustomizedAcceleratorGitRepositorySshAuth","description":"A \u003cspan pulumi-lang-nodejs=\"`sshAuth`\" pulumi-lang-dotnet=\"`SshAuth`\" pulumi-lang-go=\"`sshAuth`\" pulumi-lang-python=\"`ssh_auth`\" pulumi-lang-yaml=\"`sshAuth`\" pulumi-lang-java=\"`sshAuth`\"\u003e`ssh_auth`\u003c/span\u003e block as defined below. Conflicts with `git_repository[0].basic_auth`. Changing this forces a new Spring Cloud Customized Accelerator to be created.\n","willReplaceOnChanges":true},"url":{"type":"string","description":"Specifies Git repository URL for the accelerator.\n"}},"type":"object","required":["url"]},"azure:appplatform/SpringCloudCustomizedAcceleratorGitRepositoryBasicAuth:SpringCloudCustomizedAcceleratorGitRepositoryBasicAuth":{"properties":{"password":{"type":"string","description":"Specifies the password of git repository basic auth.\n","secret":true},"username":{"type":"string","description":"Specifies the username of git repository basic auth.\n"}},"type":"object","required":["password","username"]},"azure:appplatform/SpringCloudCustomizedAcceleratorGitRepositorySshAuth:SpringCloudCustomizedAcceleratorGitRepositorySshAuth":{"properties":{"hostKey":{"type":"string","description":"Specifies the Public SSH Key of git repository basic auth.\n","secret":true},"hostKeyAlgorithm":{"type":"string","description":"Specifies the SSH Key algorithm of git repository basic auth.\n"},"privateKey":{"type":"string","description":"Specifies the Private SSH Key of git repository basic auth.\n","secret":true}},"type":"object","required":["privateKey"]},"azure:appplatform/SpringCloudDevToolPortalSso:SpringCloudDevToolPortalSso":{"properties":{"clientId":{"type":"string","description":"Specifies the public identifier for the application.\n"},"clientSecret":{"type":"string","description":"Specifies the secret known only to the application and the authorization server.\n"},"metadataUrl":{"type":"string","description":"Specifies the URI of a JSON file with generic OIDC provider configuration.\n"},"scopes":{"type":"array","items":{"type":"string"},"description":"Specifies a list of specific actions applications can be allowed to do on a user's behalf.\n"}},"type":"object"},"azure:appplatform/SpringCloudGatewayApiMetadata:SpringCloudGatewayApiMetadata":{"properties":{"description":{"type":"string","description":"Detailed description of the APIs available on the Gateway instance.\n"},"documentationUrl":{"type":"string","description":"Location of additional documentation for the APIs available on the Gateway instance.\n"},"serverUrl":{"type":"string","description":"Base URL that API consumers will use to access APIs on the Gateway instance.\n"},"title":{"type":"string","description":"Specifies the title describing the context of the APIs available on the Gateway instance.\n"},"version":{"type":"string","description":"Specifies the version of APIs available on this Gateway instance.\n"}},"type":"object"},"azure:appplatform/SpringCloudGatewayClientAuthorization:SpringCloudGatewayClientAuthorization":{"properties":{"certificateIds":{"type":"array","items":{"type":"string"},"description":"Specifies the Spring Cloud Certificate IDs of the Spring Cloud Gateway.\n"},"verificationEnabled":{"type":"boolean","description":"Specifies whether the client certificate verification is enabled.\n"}},"type":"object"},"azure:appplatform/SpringCloudGatewayCors:SpringCloudGatewayCors":{"properties":{"allowedHeaders":{"type":"array","items":{"type":"string"},"description":"Allowed headers in cross-site requests. The special value `*` allows actual requests to send any header.\n"},"allowedMethods":{"type":"array","items":{"type":"string"},"description":"Allowed HTTP methods on cross-site requests. The special value `*` allows all methods. If not set, `GET` and `HEAD` are allowed by default. Possible values are `DELETE`, `GET`, `HEAD`, `MERGE`, `POST`, `OPTIONS` and `PUT`.\n"},"allowedOriginPatterns":{"type":"array","items":{"type":"string"},"description":"Allowed origin patterns to make cross-site requests.\n"},"allowedOrigins":{"type":"array","items":{"type":"string"},"description":"Allowed origins to make cross-site requests. The special value `*` allows all domains.\n"},"credentialsAllowed":{"type":"boolean","description":"is user credentials are supported on cross-site requests?\n"},"exposedHeaders":{"type":"array","items":{"type":"string"},"description":"HTTP response headers to expose for cross-site requests.\n"},"maxAgeSeconds":{"type":"integer","description":"How long, in seconds, the response from a pre-flight request can be cached by clients.\n"}},"type":"object"},"azure:appplatform/SpringCloudGatewayLocalResponseCachePerInstance:SpringCloudGatewayLocalResponseCachePerInstance":{"properties":{"size":{"type":"string","description":"Specifies the maximum size of cache (10MB, 900KB, 1GB...) to determine if the cache needs to evict some entries.\n"},"timeToLive":{"type":"string","description":"Specifies the time before a cached entry is expired (300s, 5m, 1h...).\n"}},"type":"object"},"azure:appplatform/SpringCloudGatewayLocalResponseCachePerRoute:SpringCloudGatewayLocalResponseCachePerRoute":{"properties":{"size":{"type":"string","description":"Specifies the maximum size of cache (10MB, 900KB, 1GB...) to determine if the cache needs to evict some entries.\n"},"timeToLive":{"type":"string","description":"Specifies the time before a cached entry is expired (300s, 5m, 1h...).\n"}},"type":"object"},"azure:appplatform/SpringCloudGatewayQuota:SpringCloudGatewayQuota":{"properties":{"cpu":{"type":"string","description":"Specifies the required cpu of the Spring Cloud Deployment. Possible Values are \u003cspan pulumi-lang-nodejs=\"`500m`\" pulumi-lang-dotnet=\"`500m`\" pulumi-lang-go=\"`500m`\" pulumi-lang-python=\"`500m`\" pulumi-lang-yaml=\"`500m`\" pulumi-lang-java=\"`500m`\"\u003e`500m`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`4`\" pulumi-lang-dotnet=\"`4`\" pulumi-lang-go=\"`4`\" pulumi-lang-python=\"`4`\" pulumi-lang-yaml=\"`4`\" pulumi-lang-java=\"`4`\"\u003e`4`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e if not specified.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`cpu`\" pulumi-lang-dotnet=\"`Cpu`\" pulumi-lang-go=\"`cpu`\" pulumi-lang-python=\"`cpu`\" pulumi-lang-yaml=\"`cpu`\" pulumi-lang-java=\"`cpu`\"\u003e`cpu`\u003c/span\u003e supports \u003cspan pulumi-lang-nodejs=\"`500m`\" pulumi-lang-dotnet=\"`500m`\" pulumi-lang-go=\"`500m`\" pulumi-lang-python=\"`500m`\" pulumi-lang-yaml=\"`500m`\" pulumi-lang-java=\"`500m`\"\u003e`500m`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e for Basic tier, \u003cspan pulumi-lang-nodejs=\"`500m`\" pulumi-lang-dotnet=\"`500m`\" pulumi-lang-go=\"`500m`\" pulumi-lang-python=\"`500m`\" pulumi-lang-yaml=\"`500m`\" pulumi-lang-java=\"`500m`\"\u003e`500m`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`4`\" pulumi-lang-dotnet=\"`4`\" pulumi-lang-go=\"`4`\" pulumi-lang-python=\"`4`\" pulumi-lang-yaml=\"`4`\" pulumi-lang-java=\"`4`\"\u003e`4`\u003c/span\u003e for Standard tier.\n"},"memory":{"type":"string","description":"Specifies the required memory size of the Spring Cloud Deployment. Possible Values are `512Mi`, `1Gi`, `2Gi`, `3Gi`, `4Gi`, `5Gi`, `6Gi`, `7Gi`, and `8Gi`. Defaults to `2Gi` if not specified.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`memory`\" pulumi-lang-dotnet=\"`Memory`\" pulumi-lang-go=\"`memory`\" pulumi-lang-python=\"`memory`\" pulumi-lang-yaml=\"`memory`\" pulumi-lang-java=\"`memory`\"\u003e`memory`\u003c/span\u003e supports `512Mi`, `1Gi` and `2Gi` for Basic tier, `512Mi`, `1Gi`, `2Gi`, `3Gi`, `4Gi`, `5Gi`, `6Gi`, `7Gi`, and `8Gi` for Standard tier.\n"}},"type":"object"},"azure:appplatform/SpringCloudGatewayRouteConfigOpenApi:SpringCloudGatewayRouteConfigOpenApi":{"properties":{"uri":{"type":"string","description":"The URI of OpenAPI specification.\n"}},"type":"object"},"azure:appplatform/SpringCloudGatewayRouteConfigRoute:SpringCloudGatewayRouteConfigRoute":{"properties":{"classificationTags":{"type":"array","items":{"type":"string"},"description":"Specifies the classification tags which will be applied to methods in the generated OpenAPI documentation.\n"},"description":{"type":"string","description":"Specifies the description which will be applied to methods in the generated OpenAPI documentation.\n"},"filters":{"type":"array","items":{"type":"string"},"description":"Specifies a list of filters which are used to modify the request before sending it to the target endpoint, or the received response.\n"},"order":{"type":"integer","description":"Specifies the route processing order.\n"},"predicates":{"type":"array","items":{"type":"string"},"description":"Specifies a list of conditions to evaluate a route for each request. Each predicate may be evaluated against request headers and parameter values. All of the predicates associated with a route must evaluate to true for the route to be matched to the request.\n"},"ssoValidationEnabled":{"type":"boolean","description":"Should the sso validation be enabled?\n"},"title":{"type":"string","description":"Specifies the title which will be applied to methods in the generated OpenAPI documentation.\n"},"tokenRelay":{"type":"boolean","description":"Should pass currently-authenticated user's identity token to application service?\n"},"uri":{"type":"string","description":"Specifies the full uri which will override `appName`.\n"}},"type":"object","required":["order"]},"azure:appplatform/SpringCloudGatewaySso:SpringCloudGatewaySso":{"properties":{"clientId":{"type":"string","description":"The public identifier for the application.\n"},"clientSecret":{"type":"string","description":"The secret known only to the application and the authorization server.\n"},"issuerUri":{"type":"string","description":"The URI of Issuer Identifier.\n"},"scopes":{"type":"array","items":{"type":"string"},"description":"It defines the specific actions applications can be allowed to do on a user's behalf.\n"}},"type":"object"},"azure:appplatform/SpringCloudJavaDeploymentQuota:SpringCloudJavaDeploymentQuota":{"properties":{"cpu":{"type":"string","description":"Specifies the required cpu of the Spring Cloud Deployment. Possible Values are \u003cspan pulumi-lang-nodejs=\"`500m`\" pulumi-lang-dotnet=\"`500m`\" pulumi-lang-go=\"`500m`\" pulumi-lang-python=\"`500m`\" pulumi-lang-yaml=\"`500m`\" pulumi-lang-java=\"`500m`\"\u003e`500m`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`4`\" pulumi-lang-dotnet=\"`4`\" pulumi-lang-go=\"`4`\" pulumi-lang-python=\"`4`\" pulumi-lang-yaml=\"`4`\" pulumi-lang-java=\"`4`\"\u003e`4`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e if not specified.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`cpu`\" pulumi-lang-dotnet=\"`Cpu`\" pulumi-lang-go=\"`cpu`\" pulumi-lang-python=\"`cpu`\" pulumi-lang-yaml=\"`cpu`\" pulumi-lang-java=\"`cpu`\"\u003e`cpu`\u003c/span\u003e supports \u003cspan pulumi-lang-nodejs=\"`500m`\" pulumi-lang-dotnet=\"`500m`\" pulumi-lang-go=\"`500m`\" pulumi-lang-python=\"`500m`\" pulumi-lang-yaml=\"`500m`\" pulumi-lang-java=\"`500m`\"\u003e`500m`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e for Basic tier, \u003cspan pulumi-lang-nodejs=\"`500m`\" pulumi-lang-dotnet=\"`500m`\" pulumi-lang-go=\"`500m`\" pulumi-lang-python=\"`500m`\" pulumi-lang-yaml=\"`500m`\" pulumi-lang-java=\"`500m`\"\u003e`500m`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`4`\" pulumi-lang-dotnet=\"`4`\" pulumi-lang-go=\"`4`\" pulumi-lang-python=\"`4`\" pulumi-lang-yaml=\"`4`\" pulumi-lang-java=\"`4`\"\u003e`4`\u003c/span\u003e for Standard tier.\n"},"memory":{"type":"string","description":"Specifies the required memory size of the Spring Cloud Deployment. Possible Values are `512Mi`, `1Gi`, `2Gi`, `3Gi`, `4Gi`, `5Gi`, `6Gi`, `7Gi`, and `8Gi`. Defaults to `1Gi` if not specified.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`memory`\" pulumi-lang-dotnet=\"`Memory`\" pulumi-lang-go=\"`memory`\" pulumi-lang-python=\"`memory`\" pulumi-lang-yaml=\"`memory`\" pulumi-lang-java=\"`memory`\"\u003e`memory`\u003c/span\u003e supports `512Mi`, `1Gi` and `2Gi` for Basic tier, `512Mi`, `1Gi`, `2Gi`, `3Gi`, `4Gi`, `5Gi`, `6Gi`, `7Gi`, and `8Gi` for Standard tier.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["cpu","memory"]}}},"azure:appplatform/SpringCloudServiceConfigServerGitSetting:SpringCloudServiceConfigServerGitSetting":{"properties":{"httpBasicAuth":{"$ref":"#/types/azure:appplatform/SpringCloudServiceConfigServerGitSettingHttpBasicAuth:SpringCloudServiceConfigServerGitSettingHttpBasicAuth","description":"A \u003cspan pulumi-lang-nodejs=\"`httpBasicAuth`\" pulumi-lang-dotnet=\"`HttpBasicAuth`\" pulumi-lang-go=\"`httpBasicAuth`\" pulumi-lang-python=\"`http_basic_auth`\" pulumi-lang-yaml=\"`httpBasicAuth`\" pulumi-lang-java=\"`httpBasicAuth`\"\u003e`http_basic_auth`\u003c/span\u003e block as defined below.\n"},"label":{"type":"string","description":"The default label of the Git repository, should be the branch name, tag name, or commit-id of the repository.\n"},"repositories":{"type":"array","items":{"$ref":"#/types/azure:appplatform/SpringCloudServiceConfigServerGitSettingRepository:SpringCloudServiceConfigServerGitSettingRepository"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`repository`\" pulumi-lang-dotnet=\"`Repository`\" pulumi-lang-go=\"`repository`\" pulumi-lang-python=\"`repository`\" pulumi-lang-yaml=\"`repository`\" pulumi-lang-java=\"`repository`\"\u003e`repository`\u003c/span\u003e blocks as defined below.\n"},"searchPaths":{"type":"array","items":{"type":"string"},"description":"An array of strings used to search subdirectories of the Git repository.\n"},"sshAuth":{"$ref":"#/types/azure:appplatform/SpringCloudServiceConfigServerGitSettingSshAuth:SpringCloudServiceConfigServerGitSettingSshAuth","description":"A \u003cspan pulumi-lang-nodejs=\"`sshAuth`\" pulumi-lang-dotnet=\"`SshAuth`\" pulumi-lang-go=\"`sshAuth`\" pulumi-lang-python=\"`ssh_auth`\" pulumi-lang-yaml=\"`sshAuth`\" pulumi-lang-java=\"`sshAuth`\"\u003e`ssh_auth`\u003c/span\u003e block as defined below.\n"},"uri":{"type":"string","description":"The URI of the default Git repository used as the Config Server back end, should be started with `http://`, `https://`, `git@`, or `ssh://`.\n"}},"type":"object","required":["uri"]},"azure:appplatform/SpringCloudServiceConfigServerGitSettingHttpBasicAuth:SpringCloudServiceConfigServerGitSettingHttpBasicAuth":{"properties":{"password":{"type":"string","description":"The password used to access the Git repository server, required when the Git repository server supports HTTP Basic Authentication.\n","secret":true},"username":{"type":"string","description":"The username that's used to access the Git repository server, required when the Git repository server supports HTTP Basic Authentication.\n"}},"type":"object","required":["password","username"]},"azure:appplatform/SpringCloudServiceConfigServerGitSettingRepository:SpringCloudServiceConfigServerGitSettingRepository":{"properties":{"httpBasicAuth":{"$ref":"#/types/azure:appplatform/SpringCloudServiceConfigServerGitSettingRepositoryHttpBasicAuth:SpringCloudServiceConfigServerGitSettingRepositoryHttpBasicAuth","description":"A \u003cspan pulumi-lang-nodejs=\"`httpBasicAuth`\" pulumi-lang-dotnet=\"`HttpBasicAuth`\" pulumi-lang-go=\"`httpBasicAuth`\" pulumi-lang-python=\"`http_basic_auth`\" pulumi-lang-yaml=\"`httpBasicAuth`\" pulumi-lang-java=\"`httpBasicAuth`\"\u003e`http_basic_auth`\u003c/span\u003e block as defined below.\n"},"label":{"type":"string","description":"The default label of the Git repository, should be the branch name, tag name, or commit-id of the repository.\n"},"name":{"type":"string","description":"A name to identify on the Git repository, required only if repos exists.\n"},"patterns":{"type":"array","items":{"type":"string"},"description":"An array of strings used to match an application name. For each pattern, use the `{application}/{profile}` format with wildcards.\n"},"searchPaths":{"type":"array","items":{"type":"string"},"description":"An array of strings used to search subdirectories of the Git repository.\n"},"sshAuth":{"$ref":"#/types/azure:appplatform/SpringCloudServiceConfigServerGitSettingRepositorySshAuth:SpringCloudServiceConfigServerGitSettingRepositorySshAuth","description":"A \u003cspan pulumi-lang-nodejs=\"`sshAuth`\" pulumi-lang-dotnet=\"`SshAuth`\" pulumi-lang-go=\"`sshAuth`\" pulumi-lang-python=\"`ssh_auth`\" pulumi-lang-yaml=\"`sshAuth`\" pulumi-lang-java=\"`sshAuth`\"\u003e`ssh_auth`\u003c/span\u003e block as defined below.\n"},"uri":{"type":"string","description":"The URI of the Git repository that's used as the Config Server back end should be started with `http://`, `https://`, `git@`, or `ssh://`.\n"}},"type":"object","required":["name","uri"]},"azure:appplatform/SpringCloudServiceConfigServerGitSettingRepositoryHttpBasicAuth:SpringCloudServiceConfigServerGitSettingRepositoryHttpBasicAuth":{"properties":{"password":{"type":"string","description":"The password used to access the Git repository server, required when the Git repository server supports HTTP Basic Authentication.\n","secret":true},"username":{"type":"string","description":"The username that's used to access the Git repository server, required when the Git repository server supports HTTP Basic Authentication.\n"}},"type":"object","required":["password","username"]},"azure:appplatform/SpringCloudServiceConfigServerGitSettingRepositorySshAuth:SpringCloudServiceConfigServerGitSettingRepositorySshAuth":{"properties":{"hostKey":{"type":"string","description":"The host key of the Git repository server, should not include the algorithm prefix as covered by `host-key-algorithm`.\n","secret":true},"hostKeyAlgorithm":{"type":"string","description":"The host key algorithm, should be `ssh-dss`, `ssh-rsa`, `ecdsa-sha2-nistp256`, `ecdsa-sha2-nistp384`, or `ecdsa-sha2-nistp521`. Required only if `host-key` exists.\n"},"privateKey":{"type":"string","description":"The SSH private key to access the Git repository, required when the URI starts with `git@` or `ssh://`.\n","secret":true},"strictHostKeyCheckingEnabled":{"type":"boolean","description":"Indicates whether the Config Server instance will fail to start if the\u003cspan pulumi-lang-nodejs=\" hostKey \" pulumi-lang-dotnet=\" HostKey \" pulumi-lang-go=\" hostKey \" pulumi-lang-python=\" host_key \" pulumi-lang-yaml=\" hostKey \" pulumi-lang-java=\" hostKey \"\u003e host_key \u003c/span\u003edoes not match. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"}},"type":"object","required":["privateKey"]},"azure:appplatform/SpringCloudServiceConfigServerGitSettingSshAuth:SpringCloudServiceConfigServerGitSettingSshAuth":{"properties":{"hostKey":{"type":"string","description":"The host key of the Git repository server, should not include the algorithm prefix as covered by `host-key-algorithm`.\n","secret":true},"hostKeyAlgorithm":{"type":"string","description":"The host key algorithm, should be `ssh-dss`, `ssh-rsa`, `ecdsa-sha2-nistp256`, `ecdsa-sha2-nistp384`, or `ecdsa-sha2-nistp521`. Required only if `host-key` exists.\n"},"privateKey":{"type":"string","description":"The SSH private key to access the Git repository, required when the URI starts with `git@` or `ssh://`.\n","secret":true},"strictHostKeyCheckingEnabled":{"type":"boolean","description":"Indicates whether the Config Server instance will fail to start if the\u003cspan pulumi-lang-nodejs=\" hostKey \" pulumi-lang-dotnet=\" HostKey \" pulumi-lang-go=\" hostKey \" pulumi-lang-python=\" host_key \" pulumi-lang-yaml=\" hostKey \" pulumi-lang-java=\" hostKey \"\u003e host_key \u003c/span\u003edoes not match. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"}},"type":"object","required":["privateKey"]},"azure:appplatform/SpringCloudServiceContainerRegistry:SpringCloudServiceContainerRegistry":{"properties":{"name":{"type":"string","description":"Specifies the name of the container registry.\n"},"password":{"type":"string","description":"Specifies the password of the container registry.\n","secret":true},"server":{"type":"string","description":"Specifies the login server of the container registry.\n"},"username":{"type":"string","description":"Specifies the username of the container registry.\n"}},"type":"object","required":["name","password","server","username"]},"azure:appplatform/SpringCloudServiceDefaultBuildService:SpringCloudServiceDefaultBuildService":{"properties":{"containerRegistryName":{"type":"string","description":"Specifies the name of the container registry used in the default build service.\n"}},"type":"object"},"azure:appplatform/SpringCloudServiceMarketplace:SpringCloudServiceMarketplace":{"properties":{"plan":{"type":"string","description":"Specifies the plan ID of the 3rd Party Artifact that is being procured.\n"},"product":{"type":"string","description":"Specifies the 3rd Party artifact that is being procured.\n"},"publisher":{"type":"string","description":"Specifies the publisher ID of the 3rd Party Artifact that is being procured.\n"}},"type":"object","required":["plan","product","publisher"]},"azure:appplatform/SpringCloudServiceNetwork:SpringCloudServiceNetwork":{"properties":{"appNetworkResourceGroup":{"type":"string","description":"Specifies the Name of the resource group containing network resources of Azure Spring Cloud Apps. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"appSubnetId":{"type":"string","description":"Specifies the ID of the Subnet which should host the Spring Boot Applications deployed in this Spring Cloud Service. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"cidrRanges":{"type":"array","items":{"type":"string"},"description":"A list of (at least 3) CIDR ranges (at least /16) which are used to host the Spring Cloud infrastructure, which must not overlap with any existing CIDR ranges in the Subnet. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"outboundType":{"type":"string","description":"Specifies the egress traffic type of the Spring Cloud Service. Possible values are `loadBalancer` and `userDefinedRouting`. Defaults to `loadBalancer`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"readTimeoutSeconds":{"type":"integer","description":"Ingress read time out in seconds.\n"},"serviceRuntimeNetworkResourceGroup":{"type":"string","description":"Specifies the Name of the resource group containing network resources of Azure Spring Cloud Service Runtime. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"serviceRuntimeSubnetId":{"type":"string","description":"Specifies the ID of the Subnet where the Service Runtime components of the Spring Cloud Service will exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["appSubnetId","cidrRanges","serviceRuntimeSubnetId"],"language":{"nodejs":{"requiredOutputs":["appNetworkResourceGroup","appSubnetId","cidrRanges","serviceRuntimeNetworkResourceGroup","serviceRuntimeSubnetId"]}}},"azure:appplatform/SpringCloudServiceRequiredNetworkTrafficRule:SpringCloudServiceRequiredNetworkTrafficRule":{"properties":{"direction":{"type":"string","description":"The direction of required traffic. Possible values are `Inbound`, `Outbound`.\n"},"fqdns":{"type":"array","items":{"type":"string"},"description":"The FQDN list of required traffic.\n"},"ipAddresses":{"type":"array","items":{"type":"string"},"description":"The IP list of required traffic.\n"},"port":{"type":"integer","description":"The port of required traffic.\n"},"protocol":{"type":"string","description":"The protocol of required traffic.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["direction","fqdns","ipAddresses","port","protocol"]}}},"azure:appplatform/SpringCloudServiceTrace:SpringCloudServiceTrace":{"properties":{"connectionString":{"type":"string","description":"The connection string used for Application Insights.\n"},"sampleRate":{"type":"number","description":"The sampling rate of Application Insights Agent. Must be between `0.0` and `100.0`. Defaults to `10.0`.\n"}},"type":"object"},"azure:appplatform/getSpringCloudAppIdentity:getSpringCloudAppIdentity":{"properties":{"identityIds":{"type":"array","items":{"type":"string"}},"principalId":{"type":"string","description":"The Principal ID for the Service Principal associated with the Managed Service Identity of this Spring Cloud Application.\n"},"tenantId":{"type":"string","description":"The Tenant ID for the Service Principal associated with the Managed Service Identity of this Spring Cloud Application.\n"},"type":{"type":"string","description":"The Type of Managed Identity assigned to the Spring Cloud Application.\n"}},"type":"object","required":["identityIds","principalId","tenantId","type"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appplatform/getSpringCloudAppPersistentDisk:getSpringCloudAppPersistentDisk":{"properties":{"mountPath":{"type":"string","description":"The mount path of the persistent disk.\n"},"sizeInGb":{"type":"integer","description":"The size of the persistent disk in GB.\n"}},"type":"object","required":["mountPath","sizeInGb"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appplatform/getSpringCloudServiceConfigServerGitSetting:getSpringCloudServiceConfigServerGitSetting":{"properties":{"httpBasicAuths":{"type":"array","items":{"$ref":"#/types/azure:appplatform/getSpringCloudServiceConfigServerGitSettingHttpBasicAuth:getSpringCloudServiceConfigServerGitSettingHttpBasicAuth"},"description":"A \u003cspan pulumi-lang-nodejs=\"`httpBasicAuth`\" pulumi-lang-dotnet=\"`HttpBasicAuth`\" pulumi-lang-go=\"`httpBasicAuth`\" pulumi-lang-python=\"`http_basic_auth`\" pulumi-lang-yaml=\"`httpBasicAuth`\" pulumi-lang-java=\"`httpBasicAuth`\"\u003e`http_basic_auth`\u003c/span\u003e block as defined below.\n"},"label":{"type":"string","description":"The default label of the Git repository, which is a branch name, tag name, or commit-id of the repository\n"},"repositories":{"type":"array","items":{"$ref":"#/types/azure:appplatform/getSpringCloudServiceConfigServerGitSettingRepository:getSpringCloudServiceConfigServerGitSettingRepository"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`repository`\" pulumi-lang-dotnet=\"`Repository`\" pulumi-lang-go=\"`repository`\" pulumi-lang-python=\"`repository`\" pulumi-lang-yaml=\"`repository`\" pulumi-lang-java=\"`repository`\"\u003e`repository`\u003c/span\u003e blocks as defined below.\n"},"searchPaths":{"type":"array","items":{"type":"string"},"description":"An array of strings used to search subdirectories of the Git repository.\n"},"sshAuths":{"type":"array","items":{"$ref":"#/types/azure:appplatform/getSpringCloudServiceConfigServerGitSettingSshAuth:getSpringCloudServiceConfigServerGitSettingSshAuth"},"description":"A \u003cspan pulumi-lang-nodejs=\"`sshAuth`\" pulumi-lang-dotnet=\"`SshAuth`\" pulumi-lang-go=\"`sshAuth`\" pulumi-lang-python=\"`ssh_auth`\" pulumi-lang-yaml=\"`sshAuth`\" pulumi-lang-java=\"`sshAuth`\"\u003e`ssh_auth`\u003c/span\u003e block as defined below.\n"},"uri":{"type":"string","description":"The URI of the Git repository\n"}},"type":"object","required":["httpBasicAuths","label","repositories","searchPaths","sshAuths","uri"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appplatform/getSpringCloudServiceConfigServerGitSettingHttpBasicAuth:getSpringCloudServiceConfigServerGitSettingHttpBasicAuth":{"properties":{"password":{"type":"string","description":"The password used to access the HTTP Basic Authentication Git repository server.\n","secret":true},"username":{"type":"string","description":"The username used to access the HTTP Basic Authentication Git repository server.\n"}},"type":"object","required":["password","username"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appplatform/getSpringCloudServiceConfigServerGitSettingRepository:getSpringCloudServiceConfigServerGitSettingRepository":{"properties":{"httpBasicAuths":{"type":"array","items":{"$ref":"#/types/azure:appplatform/getSpringCloudServiceConfigServerGitSettingRepositoryHttpBasicAuth:getSpringCloudServiceConfigServerGitSettingRepositoryHttpBasicAuth"},"description":"A \u003cspan pulumi-lang-nodejs=\"`httpBasicAuth`\" pulumi-lang-dotnet=\"`HttpBasicAuth`\" pulumi-lang-go=\"`httpBasicAuth`\" pulumi-lang-python=\"`http_basic_auth`\" pulumi-lang-yaml=\"`httpBasicAuth`\" pulumi-lang-java=\"`httpBasicAuth`\"\u003e`http_basic_auth`\u003c/span\u003e block as defined below.\n"},"label":{"type":"string","description":"The default label of the Git repository, which is a branch name, tag name, or commit-id of the repository\n"},"name":{"type":"string","description":"Specifies The name of the Spring Cloud Service resource.\n"},"patterns":{"type":"array","items":{"type":"string"},"description":"An array of strings used to match an application name. For each pattern, use the `{application}/{profile}` format with wildcards.\n"},"searchPaths":{"type":"array","items":{"type":"string"},"description":"An array of strings used to search subdirectories of the Git repository.\n"},"sshAuths":{"type":"array","items":{"$ref":"#/types/azure:appplatform/getSpringCloudServiceConfigServerGitSettingRepositorySshAuth:getSpringCloudServiceConfigServerGitSettingRepositorySshAuth"},"description":"A \u003cspan pulumi-lang-nodejs=\"`sshAuth`\" pulumi-lang-dotnet=\"`SshAuth`\" pulumi-lang-go=\"`sshAuth`\" pulumi-lang-python=\"`ssh_auth`\" pulumi-lang-yaml=\"`sshAuth`\" pulumi-lang-java=\"`sshAuth`\"\u003e`ssh_auth`\u003c/span\u003e block as defined below.\n"},"uri":{"type":"string","description":"The URI of the Git repository\n"}},"type":"object","required":["httpBasicAuths","label","name","patterns","searchPaths","sshAuths","uri"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appplatform/getSpringCloudServiceConfigServerGitSettingRepositoryHttpBasicAuth:getSpringCloudServiceConfigServerGitSettingRepositoryHttpBasicAuth":{"properties":{"password":{"type":"string","description":"The password used to access the HTTP Basic Authentication Git repository server.\n","secret":true},"username":{"type":"string","description":"The username used to access the HTTP Basic Authentication Git repository server.\n"}},"type":"object","required":["password","username"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appplatform/getSpringCloudServiceConfigServerGitSettingRepositorySshAuth:getSpringCloudServiceConfigServerGitSettingRepositorySshAuth":{"properties":{"hostKey":{"type":"string","description":"The host key of the Git repository server.\n","secret":true},"hostKeyAlgorithm":{"type":"string","description":"The host key algorithm.\n"},"privateKey":{"type":"string","description":"The SSH private key to access the Git repository, needed when the URI starts with `git@` or `ssh://`.\n","secret":true},"strictHostKeyCheckingEnabled":{"type":"boolean","description":"Indicates whether the Config Server instance will fail to start if the\u003cspan pulumi-lang-nodejs=\" hostKey \" pulumi-lang-dotnet=\" HostKey \" pulumi-lang-go=\" hostKey \" pulumi-lang-python=\" host_key \" pulumi-lang-yaml=\" hostKey \" pulumi-lang-java=\" hostKey \"\u003e host_key \u003c/span\u003edoes not match.\n"}},"type":"object","required":["hostKey","hostKeyAlgorithm","privateKey","strictHostKeyCheckingEnabled"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appplatform/getSpringCloudServiceConfigServerGitSettingSshAuth:getSpringCloudServiceConfigServerGitSettingSshAuth":{"properties":{"hostKey":{"type":"string","description":"The host key of the Git repository server.\n","secret":true},"hostKeyAlgorithm":{"type":"string","description":"The host key algorithm.\n"},"privateKey":{"type":"string","description":"The SSH private key to access the Git repository, needed when the URI starts with `git@` or `ssh://`.\n","secret":true},"strictHostKeyCheckingEnabled":{"type":"boolean","description":"Indicates whether the Config Server instance will fail to start if the\u003cspan pulumi-lang-nodejs=\" hostKey \" pulumi-lang-dotnet=\" HostKey \" pulumi-lang-go=\" hostKey \" pulumi-lang-python=\" host_key \" pulumi-lang-yaml=\" hostKey \" pulumi-lang-java=\" hostKey \"\u003e host_key \u003c/span\u003edoes not match.\n"}},"type":"object","required":["hostKey","hostKeyAlgorithm","privateKey","strictHostKeyCheckingEnabled"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appplatform/getSpringCloudServiceRequiredNetworkTrafficRule:getSpringCloudServiceRequiredNetworkTrafficRule":{"properties":{"direction":{"type":"string","description":"The direction of required traffic. Possible values are `Inbound`, `Outbound`.\n"},"fqdns":{"type":"array","items":{"type":"string"},"description":"The FQDN list of required traffic.\n"},"ipAddresses":{"type":"array","items":{"type":"string"},"description":"The IP list of required traffic.\n"},"port":{"type":"integer","description":"The port of required traffic.\n"},"protocol":{"type":"string","description":"The protocol of required traffic.\n"}},"type":"object","required":["direction","fqdns","ipAddresses","port","protocol"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appservice/AppConnectionAuthentication:AppConnectionAuthentication":{"properties":{"certificate":{"type":"string","description":"Service principal certificate for `servicePrincipal` auth. Should be specified when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to `servicePrincipalCertificate`.\n","secret":true},"clientId":{"type":"string","description":"Client ID for `userAssignedIdentity` or `servicePrincipal` auth. Should be specified when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to `servicePrincipalSecret` or `servicePrincipalCertificate`. When \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to `userAssignedIdentity`, \u003cspan pulumi-lang-nodejs=\"`clientId`\" pulumi-lang-dotnet=\"`ClientId`\" pulumi-lang-go=\"`clientId`\" pulumi-lang-python=\"`client_id`\" pulumi-lang-yaml=\"`clientId`\" pulumi-lang-java=\"`clientId`\"\u003e`client_id`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`subscriptionId`\" pulumi-lang-dotnet=\"`SubscriptionId`\" pulumi-lang-go=\"`subscriptionId`\" pulumi-lang-python=\"`subscription_id`\" pulumi-lang-yaml=\"`subscriptionId`\" pulumi-lang-java=\"`subscriptionId`\"\u003e`subscription_id`\u003c/span\u003e should be either both specified or both not specified.\n"},"name":{"type":"string","description":"Username or account name for secret auth. \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`secret`\" pulumi-lang-dotnet=\"`Secret`\" pulumi-lang-go=\"`secret`\" pulumi-lang-python=\"`secret`\" pulumi-lang-yaml=\"`secret`\" pulumi-lang-java=\"`secret`\"\u003e`secret`\u003c/span\u003e should be either both specified or both not specified when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`secret`\" pulumi-lang-dotnet=\"`Secret`\" pulumi-lang-go=\"`secret`\" pulumi-lang-python=\"`secret`\" pulumi-lang-yaml=\"`secret`\" pulumi-lang-java=\"`secret`\"\u003e`secret`\u003c/span\u003e.\n"},"principalId":{"type":"string","description":"Principal ID for `servicePrincipal` auth. Should be specified when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to `servicePrincipalSecret` or `servicePrincipalCertificate`.\n"},"secret":{"type":"string","description":"Password or account key for secret auth. \u003cspan pulumi-lang-nodejs=\"`secret`\" pulumi-lang-dotnet=\"`Secret`\" pulumi-lang-go=\"`secret`\" pulumi-lang-python=\"`secret`\" pulumi-lang-yaml=\"`secret`\" pulumi-lang-java=\"`secret`\"\u003e`secret`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e should be either both specified or both not specified when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`secret`\" pulumi-lang-dotnet=\"`Secret`\" pulumi-lang-go=\"`secret`\" pulumi-lang-python=\"`secret`\" pulumi-lang-yaml=\"`secret`\" pulumi-lang-java=\"`secret`\"\u003e`secret`\u003c/span\u003e.\n","secret":true},"subscriptionId":{"type":"string","description":"Subscription ID for `userAssignedIdentity`. \u003cspan pulumi-lang-nodejs=\"`subscriptionId`\" pulumi-lang-dotnet=\"`SubscriptionId`\" pulumi-lang-go=\"`subscriptionId`\" pulumi-lang-python=\"`subscription_id`\" pulumi-lang-yaml=\"`subscriptionId`\" pulumi-lang-java=\"`subscriptionId`\"\u003e`subscription_id`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`clientId`\" pulumi-lang-dotnet=\"`ClientId`\" pulumi-lang-go=\"`clientId`\" pulumi-lang-python=\"`client_id`\" pulumi-lang-yaml=\"`clientId`\" pulumi-lang-java=\"`clientId`\"\u003e`client_id`\u003c/span\u003e should be either both specified or both not specified.\n"},"type":{"type":"string","description":"The authentication type. Possible values are `systemAssignedIdentity`, `userAssignedIdentity`, `servicePrincipalSecret`, `servicePrincipalCertificate`, \u003cspan pulumi-lang-nodejs=\"`secret`\" pulumi-lang-dotnet=\"`Secret`\" pulumi-lang-go=\"`secret`\" pulumi-lang-python=\"`secret`\" pulumi-lang-yaml=\"`secret`\" pulumi-lang-java=\"`secret`\"\u003e`secret`\u003c/span\u003e. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["type"]},"azure:appservice/AppConnectionSecretStore:AppConnectionSecretStore":{"properties":{"keyVaultId":{"type":"string","description":"The key vault id to store secret.\n"}},"type":"object","required":["keyVaultId"]},"azure:appservice/AppFlexConsumptionAlwaysReady:AppFlexConsumptionAlwaysReady":{"properties":{"instanceCount":{"type":"integer","description":"The instance count of the \u003cspan pulumi-lang-nodejs=\"`alwaysReady`\" pulumi-lang-dotnet=\"`AlwaysReady`\" pulumi-lang-go=\"`alwaysReady`\" pulumi-lang-python=\"`always_ready`\" pulumi-lang-yaml=\"`alwaysReady`\" pulumi-lang-java=\"`alwaysReady`\"\u003e`always_ready`\u003c/span\u003e of the Function App. The minimum number is \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e. The total number of \u003cspan pulumi-lang-nodejs=\"`instanceCount`\" pulumi-lang-dotnet=\"`InstanceCount`\" pulumi-lang-go=\"`instanceCount`\" pulumi-lang-python=\"`instance_count`\" pulumi-lang-yaml=\"`instanceCount`\" pulumi-lang-java=\"`instanceCount`\"\u003e`instance_count`\u003c/span\u003e should not exceed the \u003cspan pulumi-lang-nodejs=\"`maximumInstanceCount`\" pulumi-lang-dotnet=\"`MaximumInstanceCount`\" pulumi-lang-go=\"`maximumInstanceCount`\" pulumi-lang-python=\"`maximum_instance_count`\" pulumi-lang-yaml=\"`maximumInstanceCount`\" pulumi-lang-java=\"`maximumInstanceCount`\"\u003e`maximum_instance_count`\u003c/span\u003e.\n"},"name":{"type":"string","description":"The name of the \u003cspan pulumi-lang-nodejs=\"`alwaysReady`\" pulumi-lang-dotnet=\"`AlwaysReady`\" pulumi-lang-go=\"`alwaysReady`\" pulumi-lang-python=\"`always_ready`\" pulumi-lang-yaml=\"`alwaysReady`\" pulumi-lang-java=\"`alwaysReady`\"\u003e`always_ready`\u003c/span\u003e of the Function App.\n"}},"type":"object","required":["name"]},"azure:appservice/AppFlexConsumptionAuthSettings:AppFlexConsumptionAuthSettings":{"properties":{"activeDirectory":{"$ref":"#/types/azure:appservice/AppFlexConsumptionAuthSettingsActiveDirectory:AppFlexConsumptionAuthSettingsActiveDirectory","description":"An \u003cspan pulumi-lang-nodejs=\"`activeDirectory`\" pulumi-lang-dotnet=\"`ActiveDirectory`\" pulumi-lang-go=\"`activeDirectory`\" pulumi-lang-python=\"`active_directory`\" pulumi-lang-yaml=\"`activeDirectory`\" pulumi-lang-java=\"`activeDirectory`\"\u003e`active_directory`\u003c/span\u003e block as defined above.\n"},"additionalLoginParameters":{"type":"object","additionalProperties":{"type":"string"},"description":"Specifies a map of login Parameters to send to the OpenID Connect authorization endpoint when a user logs in.\n"},"allowedExternalRedirectUrls":{"type":"array","items":{"type":"string"},"description":"Specifies a list of External URLs that can be redirected to as part of logging in or logging out of the Linux Web App.\n"},"defaultProvider":{"type":"string","description":"The default authentication provider to use when multiple providers are configured. Possible values include: `AzureActiveDirectory`, `Facebook`, `Google`, `MicrosoftAccount`, `Twitter`, `Github`\n\n\u003e **Note:** This setting is only needed if multiple providers are configured, and the \u003cspan pulumi-lang-nodejs=\"`unauthenticatedClientAction`\" pulumi-lang-dotnet=\"`UnauthenticatedClientAction`\" pulumi-lang-go=\"`unauthenticatedClientAction`\" pulumi-lang-python=\"`unauthenticated_client_action`\" pulumi-lang-yaml=\"`unauthenticatedClientAction`\" pulumi-lang-java=\"`unauthenticatedClientAction`\"\u003e`unauthenticated_client_action`\u003c/span\u003e is set to \"RedirectToLoginPage\".\n"},"enabled":{"type":"boolean","description":"Should the Authentication / Authorization feature be enabled for the Linux Web App?\n"},"facebook":{"$ref":"#/types/azure:appservice/AppFlexConsumptionAuthSettingsFacebook:AppFlexConsumptionAuthSettingsFacebook","description":"A \u003cspan pulumi-lang-nodejs=\"`facebook`\" pulumi-lang-dotnet=\"`Facebook`\" pulumi-lang-go=\"`facebook`\" pulumi-lang-python=\"`facebook`\" pulumi-lang-yaml=\"`facebook`\" pulumi-lang-java=\"`facebook`\"\u003e`facebook`\u003c/span\u003e block as defined below.\n"},"github":{"$ref":"#/types/azure:appservice/AppFlexConsumptionAuthSettingsGithub:AppFlexConsumptionAuthSettingsGithub","description":"A \u003cspan pulumi-lang-nodejs=\"`github`\" pulumi-lang-dotnet=\"`Github`\" pulumi-lang-go=\"`github`\" pulumi-lang-python=\"`github`\" pulumi-lang-yaml=\"`github`\" pulumi-lang-java=\"`github`\"\u003e`github`\u003c/span\u003e block as defined below.\n"},"google":{"$ref":"#/types/azure:appservice/AppFlexConsumptionAuthSettingsGoogle:AppFlexConsumptionAuthSettingsGoogle","description":"A \u003cspan pulumi-lang-nodejs=\"`google`\" pulumi-lang-dotnet=\"`Google`\" pulumi-lang-go=\"`google`\" pulumi-lang-python=\"`google`\" pulumi-lang-yaml=\"`google`\" pulumi-lang-java=\"`google`\"\u003e`google`\u003c/span\u003e block as defined below.\n"},"issuer":{"type":"string","description":"The OpenID Connect Issuer URI that represents the entity which issues access tokens for this Linux Web App.\n\n\u003e **Note:** When using Azure Active Directory, this value is the URI of the directory tenant, e.g. \u003chttps://sts.windows.net/{tenant-guid}/\u003e.\n"},"microsoft":{"$ref":"#/types/azure:appservice/AppFlexConsumptionAuthSettingsMicrosoft:AppFlexConsumptionAuthSettingsMicrosoft","description":"A \u003cspan pulumi-lang-nodejs=\"`microsoft`\" pulumi-lang-dotnet=\"`Microsoft`\" pulumi-lang-go=\"`microsoft`\" pulumi-lang-python=\"`microsoft`\" pulumi-lang-yaml=\"`microsoft`\" pulumi-lang-java=\"`microsoft`\"\u003e`microsoft`\u003c/span\u003e block as defined below.\n"},"runtimeVersion":{"type":"string","description":"The RuntimeVersion of the Authentication / Authorization feature in use for the Linux Web App.\n"},"tokenRefreshExtensionHours":{"type":"number","description":"The number of hours after session token expiration that a session token can be used to call the token refresh API. Defaults to \u003cspan pulumi-lang-nodejs=\"`72`\" pulumi-lang-dotnet=\"`72`\" pulumi-lang-go=\"`72`\" pulumi-lang-python=\"`72`\" pulumi-lang-yaml=\"`72`\" pulumi-lang-java=\"`72`\"\u003e`72`\u003c/span\u003e hours.\n"},"tokenStoreEnabled":{"type":"boolean","description":"Should the Linux Web App durably store platform-specific security tokens that are obtained during login flows? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"twitter":{"$ref":"#/types/azure:appservice/AppFlexConsumptionAuthSettingsTwitter:AppFlexConsumptionAuthSettingsTwitter","description":"A \u003cspan pulumi-lang-nodejs=\"`twitter`\" pulumi-lang-dotnet=\"`Twitter`\" pulumi-lang-go=\"`twitter`\" pulumi-lang-python=\"`twitter`\" pulumi-lang-yaml=\"`twitter`\" pulumi-lang-java=\"`twitter`\"\u003e`twitter`\u003c/span\u003e block as defined below.\n"},"unauthenticatedClientAction":{"type":"string","description":"The action to take when an unauthenticated client attempts to access the app. Possible values include: `RedirectToLoginPage`, `AllowAnonymous`.\n"}},"type":"object","required":["enabled"],"language":{"nodejs":{"requiredOutputs":["allowedExternalRedirectUrls","defaultProvider","enabled","runtimeVersion","unauthenticatedClientAction"]}}},"azure:appservice/AppFlexConsumptionAuthSettingsActiveDirectory:AppFlexConsumptionAuthSettingsActiveDirectory":{"properties":{"allowedAudiences":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Allowed audience values to consider when validating JWTs issued by Azure Active Directory.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`clientId`\" pulumi-lang-dotnet=\"`ClientId`\" pulumi-lang-go=\"`clientId`\" pulumi-lang-python=\"`client_id`\" pulumi-lang-yaml=\"`clientId`\" pulumi-lang-java=\"`clientId`\"\u003e`client_id`\u003c/span\u003e value is always considered an allowed audience.\n"},"clientId":{"type":"string","description":"The ID of the Client to use to authenticate with Azure Active Directory.\n"},"clientSecret":{"type":"string","description":"The Client Secret for the Client ID. Cannot be used with \u003cspan pulumi-lang-nodejs=\"`clientSecretSettingName`\" pulumi-lang-dotnet=\"`ClientSecretSettingName`\" pulumi-lang-go=\"`clientSecretSettingName`\" pulumi-lang-python=\"`client_secret_setting_name`\" pulumi-lang-yaml=\"`clientSecretSettingName`\" pulumi-lang-java=\"`clientSecretSettingName`\"\u003e`client_secret_setting_name`\u003c/span\u003e.\n","secret":true},"clientSecretSettingName":{"type":"string","description":"The App Setting name that contains the client secret of the Client. Cannot be used with \u003cspan pulumi-lang-nodejs=\"`clientSecret`\" pulumi-lang-dotnet=\"`ClientSecret`\" pulumi-lang-go=\"`clientSecret`\" pulumi-lang-python=\"`client_secret`\" pulumi-lang-yaml=\"`clientSecret`\" pulumi-lang-java=\"`clientSecret`\"\u003e`client_secret`\u003c/span\u003e.\n"}},"type":"object","required":["clientId"]},"azure:appservice/AppFlexConsumptionAuthSettingsFacebook:AppFlexConsumptionAuthSettingsFacebook":{"properties":{"appId":{"type":"string","description":"The App ID of the Facebook app used for login.\n"},"appSecret":{"type":"string","description":"The App Secret of the Facebook app used for Facebook login. Cannot be specified with \u003cspan pulumi-lang-nodejs=\"`appSecretSettingName`\" pulumi-lang-dotnet=\"`AppSecretSettingName`\" pulumi-lang-go=\"`appSecretSettingName`\" pulumi-lang-python=\"`app_secret_setting_name`\" pulumi-lang-yaml=\"`appSecretSettingName`\" pulumi-lang-java=\"`appSecretSettingName`\"\u003e`app_secret_setting_name`\u003c/span\u003e.\n","secret":true},"appSecretSettingName":{"type":"string","description":"The app setting name that contains the \u003cspan pulumi-lang-nodejs=\"`appSecret`\" pulumi-lang-dotnet=\"`AppSecret`\" pulumi-lang-go=\"`appSecret`\" pulumi-lang-python=\"`app_secret`\" pulumi-lang-yaml=\"`appSecret`\" pulumi-lang-java=\"`appSecret`\"\u003e`app_secret`\u003c/span\u003e value used for Facebook login. Cannot be specified with \u003cspan pulumi-lang-nodejs=\"`appSecret`\" pulumi-lang-dotnet=\"`AppSecret`\" pulumi-lang-go=\"`appSecret`\" pulumi-lang-python=\"`app_secret`\" pulumi-lang-yaml=\"`appSecret`\" pulumi-lang-java=\"`appSecret`\"\u003e`app_secret`\u003c/span\u003e.\n"},"oauthScopes":{"type":"array","items":{"type":"string"},"description":"Specifies a list of OAuth 2.0 scopes to be requested as part of Facebook login authentication.\n"}},"type":"object","required":["appId"]},"azure:appservice/AppFlexConsumptionAuthSettingsGithub:AppFlexConsumptionAuthSettingsGithub":{"properties":{"clientId":{"type":"string","description":"The ID of the GitHub app used for login.\n"},"clientSecret":{"type":"string","description":"The Client Secret of the GitHub app used for GitHub login. Cannot be specified with \u003cspan pulumi-lang-nodejs=\"`clientSecretSettingName`\" pulumi-lang-dotnet=\"`ClientSecretSettingName`\" pulumi-lang-go=\"`clientSecretSettingName`\" pulumi-lang-python=\"`client_secret_setting_name`\" pulumi-lang-yaml=\"`clientSecretSettingName`\" pulumi-lang-java=\"`clientSecretSettingName`\"\u003e`client_secret_setting_name`\u003c/span\u003e.\n","secret":true},"clientSecretSettingName":{"type":"string","description":"The app setting name that contains the \u003cspan pulumi-lang-nodejs=\"`clientSecret`\" pulumi-lang-dotnet=\"`ClientSecret`\" pulumi-lang-go=\"`clientSecret`\" pulumi-lang-python=\"`client_secret`\" pulumi-lang-yaml=\"`clientSecret`\" pulumi-lang-java=\"`clientSecret`\"\u003e`client_secret`\u003c/span\u003e value used for GitHub login. Cannot be specified with \u003cspan pulumi-lang-nodejs=\"`clientSecret`\" pulumi-lang-dotnet=\"`ClientSecret`\" pulumi-lang-go=\"`clientSecret`\" pulumi-lang-python=\"`client_secret`\" pulumi-lang-yaml=\"`clientSecret`\" pulumi-lang-java=\"`clientSecret`\"\u003e`client_secret`\u003c/span\u003e.\n"},"oauthScopes":{"type":"array","items":{"type":"string"},"description":"Specifies a list of OAuth 2.0 scopes that will be requested as part of GitHub login authentication.\n"}},"type":"object","required":["clientId"]},"azure:appservice/AppFlexConsumptionAuthSettingsGoogle:AppFlexConsumptionAuthSettingsGoogle":{"properties":{"clientId":{"type":"string","description":"The OpenID Connect Client ID for the Google web application.\n"},"clientSecret":{"type":"string","description":"The client secret associated with the Google web application. Cannot be specified with \u003cspan pulumi-lang-nodejs=\"`clientSecretSettingName`\" pulumi-lang-dotnet=\"`ClientSecretSettingName`\" pulumi-lang-go=\"`clientSecretSettingName`\" pulumi-lang-python=\"`client_secret_setting_name`\" pulumi-lang-yaml=\"`clientSecretSettingName`\" pulumi-lang-java=\"`clientSecretSettingName`\"\u003e`client_secret_setting_name`\u003c/span\u003e.\n","secret":true},"clientSecretSettingName":{"type":"string","description":"The app setting name that contains the \u003cspan pulumi-lang-nodejs=\"`clientSecret`\" pulumi-lang-dotnet=\"`ClientSecret`\" pulumi-lang-go=\"`clientSecret`\" pulumi-lang-python=\"`client_secret`\" pulumi-lang-yaml=\"`clientSecret`\" pulumi-lang-java=\"`clientSecret`\"\u003e`client_secret`\u003c/span\u003e value used for Google login. Cannot be specified with \u003cspan pulumi-lang-nodejs=\"`clientSecret`\" pulumi-lang-dotnet=\"`ClientSecret`\" pulumi-lang-go=\"`clientSecret`\" pulumi-lang-python=\"`client_secret`\" pulumi-lang-yaml=\"`clientSecret`\" pulumi-lang-java=\"`clientSecret`\"\u003e`client_secret`\u003c/span\u003e.\n"},"oauthScopes":{"type":"array","items":{"type":"string"},"description":"Specifies a list of OAuth 2.0 scopes that will be requested as part of Google Sign-In authentication. If not specified, \u003cspan pulumi-lang-nodejs=\"`openid`\" pulumi-lang-dotnet=\"`Openid`\" pulumi-lang-go=\"`openid`\" pulumi-lang-python=\"`openid`\" pulumi-lang-yaml=\"`openid`\" pulumi-lang-java=\"`openid`\"\u003e`openid`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`profile`\" pulumi-lang-dotnet=\"`Profile`\" pulumi-lang-go=\"`profile`\" pulumi-lang-python=\"`profile`\" pulumi-lang-yaml=\"`profile`\" pulumi-lang-java=\"`profile`\"\u003e`profile`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`email`\" pulumi-lang-dotnet=\"`Email`\" pulumi-lang-go=\"`email`\" pulumi-lang-python=\"`email`\" pulumi-lang-yaml=\"`email`\" pulumi-lang-java=\"`email`\"\u003e`email`\u003c/span\u003e are used as default scopes.\n"}},"type":"object","required":["clientId"]},"azure:appservice/AppFlexConsumptionAuthSettingsMicrosoft:AppFlexConsumptionAuthSettingsMicrosoft":{"properties":{"clientId":{"type":"string","description":"The OAuth 2.0 client ID that was created for the app used for authentication.\n"},"clientSecret":{"type":"string","description":"The OAuth 2.0 client secret that was created for the app used for authentication. Cannot be specified with \u003cspan pulumi-lang-nodejs=\"`clientSecretSettingName`\" pulumi-lang-dotnet=\"`ClientSecretSettingName`\" pulumi-lang-go=\"`clientSecretSettingName`\" pulumi-lang-python=\"`client_secret_setting_name`\" pulumi-lang-yaml=\"`clientSecretSettingName`\" pulumi-lang-java=\"`clientSecretSettingName`\"\u003e`client_secret_setting_name`\u003c/span\u003e.\n","secret":true},"clientSecretSettingName":{"type":"string","description":"The app setting name containing the OAuth 2.0 client secret that was created for the app used for authentication. Cannot be specified with \u003cspan pulumi-lang-nodejs=\"`clientSecret`\" pulumi-lang-dotnet=\"`ClientSecret`\" pulumi-lang-go=\"`clientSecret`\" pulumi-lang-python=\"`client_secret`\" pulumi-lang-yaml=\"`clientSecret`\" pulumi-lang-java=\"`clientSecret`\"\u003e`client_secret`\u003c/span\u003e.\n"},"oauthScopes":{"type":"array","items":{"type":"string"},"description":"Specifies a 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.\n"}},"type":"object","required":["clientId"]},"azure:appservice/AppFlexConsumptionAuthSettingsTwitter:AppFlexConsumptionAuthSettingsTwitter":{"properties":{"consumerKey":{"type":"string","description":"The OAuth 1.0a consumer key of the Twitter application used for sign-in.\n"},"consumerSecret":{"type":"string","description":"The OAuth 1.0a consumer secret of the Twitter application used for sign-in. Cannot be specified with \u003cspan pulumi-lang-nodejs=\"`consumerSecretSettingName`\" pulumi-lang-dotnet=\"`ConsumerSecretSettingName`\" pulumi-lang-go=\"`consumerSecretSettingName`\" pulumi-lang-python=\"`consumer_secret_setting_name`\" pulumi-lang-yaml=\"`consumerSecretSettingName`\" pulumi-lang-java=\"`consumerSecretSettingName`\"\u003e`consumer_secret_setting_name`\u003c/span\u003e.\n","secret":true},"consumerSecretSettingName":{"type":"string","description":"The app setting name that contains the OAuth 1.0a consumer secret of the Twitter application used for sign-in. Cannot be specified with \u003cspan pulumi-lang-nodejs=\"`consumerSecret`\" pulumi-lang-dotnet=\"`ConsumerSecret`\" pulumi-lang-go=\"`consumerSecret`\" pulumi-lang-python=\"`consumer_secret`\" pulumi-lang-yaml=\"`consumerSecret`\" pulumi-lang-java=\"`consumerSecret`\"\u003e`consumer_secret`\u003c/span\u003e.\n"}},"type":"object","required":["consumerKey"]},"azure:appservice/AppFlexConsumptionAuthSettingsV2:AppFlexConsumptionAuthSettingsV2":{"properties":{"activeDirectoryV2":{"$ref":"#/types/azure:appservice/AppFlexConsumptionAuthSettingsV2ActiveDirectoryV2:AppFlexConsumptionAuthSettingsV2ActiveDirectoryV2","description":"An \u003cspan pulumi-lang-nodejs=\"`activeDirectoryV2`\" pulumi-lang-dotnet=\"`ActiveDirectoryV2`\" pulumi-lang-go=\"`activeDirectoryV2`\" pulumi-lang-python=\"`active_directory_v2`\" pulumi-lang-yaml=\"`activeDirectoryV2`\" pulumi-lang-java=\"`activeDirectoryV2`\"\u003e`active_directory_v2`\u003c/span\u003e block as defined below.\n"},"appleV2":{"$ref":"#/types/azure:appservice/AppFlexConsumptionAuthSettingsV2AppleV2:AppFlexConsumptionAuthSettingsV2AppleV2","description":"An \u003cspan pulumi-lang-nodejs=\"`appleV2`\" pulumi-lang-dotnet=\"`AppleV2`\" pulumi-lang-go=\"`appleV2`\" pulumi-lang-python=\"`apple_v2`\" pulumi-lang-yaml=\"`appleV2`\" pulumi-lang-java=\"`appleV2`\"\u003e`apple_v2`\u003c/span\u003e block as defined below.\n"},"authEnabled":{"type":"boolean","description":"Should the AuthV2 Settings be enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"azureStaticWebAppV2":{"$ref":"#/types/azure:appservice/AppFlexConsumptionAuthSettingsV2AzureStaticWebAppV2:AppFlexConsumptionAuthSettingsV2AzureStaticWebAppV2","description":"An \u003cspan pulumi-lang-nodejs=\"`azureStaticWebAppV2`\" pulumi-lang-dotnet=\"`AzureStaticWebAppV2`\" pulumi-lang-go=\"`azureStaticWebAppV2`\" pulumi-lang-python=\"`azure_static_web_app_v2`\" pulumi-lang-yaml=\"`azureStaticWebAppV2`\" pulumi-lang-java=\"`azureStaticWebAppV2`\"\u003e`azure_static_web_app_v2`\u003c/span\u003e block as defined below.\n"},"configFilePath":{"type":"string","description":"The path to the App Auth settings.\n\n\u003e **Note:** Relative Paths are evaluated from the Site Root directory.\n"},"customOidcV2s":{"type":"array","items":{"$ref":"#/types/azure:appservice/AppFlexConsumptionAuthSettingsV2CustomOidcV2:AppFlexConsumptionAuthSettingsV2CustomOidcV2"},"description":"Zero or more \u003cspan pulumi-lang-nodejs=\"`customOidcV2`\" pulumi-lang-dotnet=\"`CustomOidcV2`\" pulumi-lang-go=\"`customOidcV2`\" pulumi-lang-python=\"`custom_oidc_v2`\" pulumi-lang-yaml=\"`customOidcV2`\" pulumi-lang-java=\"`customOidcV2`\"\u003e`custom_oidc_v2`\u003c/span\u003e blocks as defined below.\n"},"defaultProvider":{"type":"string","description":"The Default Authentication Provider to use when the \u003cspan pulumi-lang-nodejs=\"`unauthenticatedAction`\" pulumi-lang-dotnet=\"`UnauthenticatedAction`\" pulumi-lang-go=\"`unauthenticatedAction`\" pulumi-lang-python=\"`unauthenticated_action`\" pulumi-lang-yaml=\"`unauthenticatedAction`\" pulumi-lang-java=\"`unauthenticatedAction`\"\u003e`unauthenticated_action`\u003c/span\u003e is set to `RedirectToLoginPage`. Possible values include: \u003cspan pulumi-lang-nodejs=\"`apple`\" pulumi-lang-dotnet=\"`Apple`\" pulumi-lang-go=\"`apple`\" pulumi-lang-python=\"`apple`\" pulumi-lang-yaml=\"`apple`\" pulumi-lang-java=\"`apple`\"\u003e`apple`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`azureactivedirectory`\" pulumi-lang-dotnet=\"`Azureactivedirectory`\" pulumi-lang-go=\"`azureactivedirectory`\" pulumi-lang-python=\"`azureactivedirectory`\" pulumi-lang-yaml=\"`azureactivedirectory`\" pulumi-lang-java=\"`azureactivedirectory`\"\u003e`azureactivedirectory`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`facebook`\" pulumi-lang-dotnet=\"`Facebook`\" pulumi-lang-go=\"`facebook`\" pulumi-lang-python=\"`facebook`\" pulumi-lang-yaml=\"`facebook`\" pulumi-lang-java=\"`facebook`\"\u003e`facebook`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`github`\" pulumi-lang-dotnet=\"`Github`\" pulumi-lang-go=\"`github`\" pulumi-lang-python=\"`github`\" pulumi-lang-yaml=\"`github`\" pulumi-lang-java=\"`github`\"\u003e`github`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`google`\" pulumi-lang-dotnet=\"`Google`\" pulumi-lang-go=\"`google`\" pulumi-lang-python=\"`google`\" pulumi-lang-yaml=\"`google`\" pulumi-lang-java=\"`google`\"\u003e`google`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`twitter`\" pulumi-lang-dotnet=\"`Twitter`\" pulumi-lang-go=\"`twitter`\" pulumi-lang-python=\"`twitter`\" pulumi-lang-yaml=\"`twitter`\" pulumi-lang-java=\"`twitter`\"\u003e`twitter`\u003c/span\u003e and the \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e of your \u003cspan pulumi-lang-nodejs=\"`customOidcV2`\" pulumi-lang-dotnet=\"`CustomOidcV2`\" pulumi-lang-go=\"`customOidcV2`\" pulumi-lang-python=\"`custom_oidc_v2`\" pulumi-lang-yaml=\"`customOidcV2`\" pulumi-lang-java=\"`customOidcV2`\"\u003e`custom_oidc_v2`\u003c/span\u003e provider.\n\n\u003e **Note:** Whilst any value will be accepted by the API for \u003cspan pulumi-lang-nodejs=\"`defaultProvider`\" pulumi-lang-dotnet=\"`DefaultProvider`\" pulumi-lang-go=\"`defaultProvider`\" pulumi-lang-python=\"`default_provider`\" pulumi-lang-yaml=\"`defaultProvider`\" pulumi-lang-java=\"`defaultProvider`\"\u003e`default_provider`\u003c/span\u003e, it can leave the app in an unusable state if this value does not correspond to the name of a known provider (either built-in value, or\u003cspan pulumi-lang-nodejs=\" customOidc \" pulumi-lang-dotnet=\" CustomOidc \" pulumi-lang-go=\" customOidc \" pulumi-lang-python=\" custom_oidc \" pulumi-lang-yaml=\" customOidc \" pulumi-lang-java=\" customOidc \"\u003e custom_oidc \u003c/span\u003ename) as it is used to build the auth endpoint URI.\n"},"excludedPaths":{"type":"array","items":{"type":"string"},"description":"The paths which should be excluded from the \u003cspan pulumi-lang-nodejs=\"`unauthenticatedAction`\" pulumi-lang-dotnet=\"`UnauthenticatedAction`\" pulumi-lang-go=\"`unauthenticatedAction`\" pulumi-lang-python=\"`unauthenticated_action`\" pulumi-lang-yaml=\"`unauthenticatedAction`\" pulumi-lang-java=\"`unauthenticatedAction`\"\u003e`unauthenticated_action`\u003c/span\u003e when it is set to `RedirectToLoginPage`.\n\n\u003e **Note:** This list should be used instead of setting `WEBSITE_WARMUP_PATH` in \u003cspan pulumi-lang-nodejs=\"`appSettings`\" pulumi-lang-dotnet=\"`AppSettings`\" pulumi-lang-go=\"`appSettings`\" pulumi-lang-python=\"`app_settings`\" pulumi-lang-yaml=\"`appSettings`\" pulumi-lang-java=\"`appSettings`\"\u003e`app_settings`\u003c/span\u003e as it takes priority.\n"},"facebookV2":{"$ref":"#/types/azure:appservice/AppFlexConsumptionAuthSettingsV2FacebookV2:AppFlexConsumptionAuthSettingsV2FacebookV2","description":"A \u003cspan pulumi-lang-nodejs=\"`facebookV2`\" pulumi-lang-dotnet=\"`FacebookV2`\" pulumi-lang-go=\"`facebookV2`\" pulumi-lang-python=\"`facebook_v2`\" pulumi-lang-yaml=\"`facebookV2`\" pulumi-lang-java=\"`facebookV2`\"\u003e`facebook_v2`\u003c/span\u003e block as defined below.\n"},"forwardProxyConvention":{"type":"string","description":"The convention used to determine the url of the request made. Possible values include `NoProxy`, `Standard`, `Custom`. Defaults to `NoProxy`.\n"},"forwardProxyCustomHostHeaderName":{"type":"string","description":"The name of the custom header containing the host of the request.\n"},"forwardProxyCustomSchemeHeaderName":{"type":"string","description":"The name of the custom header containing the scheme of the request.\n"},"githubV2":{"$ref":"#/types/azure:appservice/AppFlexConsumptionAuthSettingsV2GithubV2:AppFlexConsumptionAuthSettingsV2GithubV2","description":"A \u003cspan pulumi-lang-nodejs=\"`githubV2`\" pulumi-lang-dotnet=\"`GithubV2`\" pulumi-lang-go=\"`githubV2`\" pulumi-lang-python=\"`github_v2`\" pulumi-lang-yaml=\"`githubV2`\" pulumi-lang-java=\"`githubV2`\"\u003e`github_v2`\u003c/span\u003e block as defined below.\n"},"googleV2":{"$ref":"#/types/azure:appservice/AppFlexConsumptionAuthSettingsV2GoogleV2:AppFlexConsumptionAuthSettingsV2GoogleV2","description":"A \u003cspan pulumi-lang-nodejs=\"`googleV2`\" pulumi-lang-dotnet=\"`GoogleV2`\" pulumi-lang-go=\"`googleV2`\" pulumi-lang-python=\"`google_v2`\" pulumi-lang-yaml=\"`googleV2`\" pulumi-lang-java=\"`googleV2`\"\u003e`google_v2`\u003c/span\u003e block as defined below.\n"},"httpRouteApiPrefix":{"type":"string","description":"The prefix that should precede all the authentication and authorisation paths. Defaults to `/.auth`.\n"},"login":{"$ref":"#/types/azure:appservice/AppFlexConsumptionAuthSettingsV2Login:AppFlexConsumptionAuthSettingsV2Login","description":"A \u003cspan pulumi-lang-nodejs=\"`login`\" pulumi-lang-dotnet=\"`Login`\" pulumi-lang-go=\"`login`\" pulumi-lang-python=\"`login`\" pulumi-lang-yaml=\"`login`\" pulumi-lang-java=\"`login`\"\u003e`login`\u003c/span\u003e block as defined below.\n"},"microsoftV2":{"$ref":"#/types/azure:appservice/AppFlexConsumptionAuthSettingsV2MicrosoftV2:AppFlexConsumptionAuthSettingsV2MicrosoftV2","description":"A \u003cspan pulumi-lang-nodejs=\"`microsoftV2`\" pulumi-lang-dotnet=\"`MicrosoftV2`\" pulumi-lang-go=\"`microsoftV2`\" pulumi-lang-python=\"`microsoft_v2`\" pulumi-lang-yaml=\"`microsoftV2`\" pulumi-lang-java=\"`microsoftV2`\"\u003e`microsoft_v2`\u003c/span\u003e block as defined below.\n"},"requireAuthentication":{"type":"boolean","description":"Should the authentication flow be used for all requests.\n"},"requireHttps":{"type":"boolean","description":"Should HTTPS be required on connections? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"runtimeVersion":{"type":"string","description":"The Runtime Version of the Authentication and Authorisation feature of this App. Defaults to `~1`.\n"},"twitterV2":{"$ref":"#/types/azure:appservice/AppFlexConsumptionAuthSettingsV2TwitterV2:AppFlexConsumptionAuthSettingsV2TwitterV2","description":"A \u003cspan pulumi-lang-nodejs=\"`twitterV2`\" pulumi-lang-dotnet=\"`TwitterV2`\" pulumi-lang-go=\"`twitterV2`\" pulumi-lang-python=\"`twitter_v2`\" pulumi-lang-yaml=\"`twitterV2`\" pulumi-lang-java=\"`twitterV2`\"\u003e`twitter_v2`\u003c/span\u003e block as defined below.\n"},"unauthenticatedAction":{"type":"string","description":"The action to take for requests made without authentication. Possible values include `RedirectToLoginPage`, `AllowAnonymous`, `Return401`, and `Return403`. Defaults to `RedirectToLoginPage`.\n"}},"type":"object","required":["login"]},"azure:appservice/AppFlexConsumptionAuthSettingsV2ActiveDirectoryV2:AppFlexConsumptionAuthSettingsV2ActiveDirectoryV2":{"properties":{"allowedApplications":{"type":"array","items":{"type":"string"},"description":"The list of allowed Applications for the Default Authorisation Policy.\n"},"allowedAudiences":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Allowed audience values to consider when validating JWTs issued by Azure Active Directory.\n\n\u003e **Note:** This is configured on the Authentication Provider side and is Read Only here.\n"},"allowedGroups":{"type":"array","items":{"type":"string"},"description":"The list of allowed Group Names for the Default Authorisation Policy.\n"},"allowedIdentities":{"type":"array","items":{"type":"string"},"description":"The list of allowed Identities for the Default Authorisation Policy.\n"},"clientId":{"type":"string","description":"The ID of the Client to use to authenticate with Azure Active Directory.\n"},"clientSecretCertificateThumbprint":{"type":"string","description":"The thumbprint of the certificate used for signing purposes.\n\n!\u003e **Note:** If one \u003cspan pulumi-lang-nodejs=\"`clientSecretSettingName`\" pulumi-lang-dotnet=\"`ClientSecretSettingName`\" pulumi-lang-go=\"`clientSecretSettingName`\" pulumi-lang-python=\"`client_secret_setting_name`\" pulumi-lang-yaml=\"`clientSecretSettingName`\" pulumi-lang-java=\"`clientSecretSettingName`\"\u003e`client_secret_setting_name`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`clientSecretCertificateThumbprint`\" pulumi-lang-dotnet=\"`ClientSecretCertificateThumbprint`\" pulumi-lang-go=\"`clientSecretCertificateThumbprint`\" pulumi-lang-python=\"`client_secret_certificate_thumbprint`\" pulumi-lang-yaml=\"`clientSecretCertificateThumbprint`\" pulumi-lang-java=\"`clientSecretCertificateThumbprint`\"\u003e`client_secret_certificate_thumbprint`\u003c/span\u003e is specified, terraform won't write the client secret or secret certificate thumbprint back to \u003cspan pulumi-lang-nodejs=\"`appSetting`\" pulumi-lang-dotnet=\"`AppSetting`\" pulumi-lang-go=\"`appSetting`\" pulumi-lang-python=\"`app_setting`\" pulumi-lang-yaml=\"`appSetting`\" pulumi-lang-java=\"`appSetting`\"\u003e`app_setting`\u003c/span\u003e, so make sure they are existed in \u003cspan pulumi-lang-nodejs=\"`appSettings`\" pulumi-lang-dotnet=\"`AppSettings`\" pulumi-lang-go=\"`appSettings`\" pulumi-lang-python=\"`app_settings`\" pulumi-lang-yaml=\"`appSettings`\" pulumi-lang-java=\"`appSettings`\"\u003e`app_settings`\u003c/span\u003e to function correctly.\n"},"clientSecretSettingName":{"type":"string","description":"The App Setting name that contains the client secret of the Client.\n\n!\u003e **Note:** A setting with this name must exist in \u003cspan pulumi-lang-nodejs=\"`appSettings`\" pulumi-lang-dotnet=\"`AppSettings`\" pulumi-lang-go=\"`appSettings`\" pulumi-lang-python=\"`app_settings`\" pulumi-lang-yaml=\"`appSettings`\" pulumi-lang-java=\"`appSettings`\"\u003e`app_settings`\u003c/span\u003e to function correctly.\n"},"jwtAllowedClientApplications":{"type":"array","items":{"type":"string"},"description":"A list of Allowed Client Applications in the JWT Claim.\n"},"jwtAllowedGroups":{"type":"array","items":{"type":"string"},"description":"A list of Allowed Groups in the JWT Claim.\n"},"loginParameters":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of key-value pairs to send to the Authorisation Endpoint when a user logs in.\n"},"tenantAuthEndpoint":{"type":"string","description":"The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/`\n\n\u003e **Note:** [Here](https://learn.microsoft.com/en-us/entra/identity-platform/authentication-national-cloud#microsoft-entra-authentication-endpoints) is a list of possible authentication endpoints based on the cloud environment. [Here](https://learn.microsoft.com/en-us/azure/app-service/configure-authentication-provider-aad?tabs=workforce-tenant) is more information to better understand how to configure authentication for Azure App Service or Azure Functions.\n"},"wwwAuthenticationDisabled":{"type":"boolean","description":"Should the www-authenticate provider should be omitted from the request? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"}},"type":"object","required":["clientId","tenantAuthEndpoint"]},"azure:appservice/AppFlexConsumptionAuthSettingsV2AppleV2:AppFlexConsumptionAuthSettingsV2AppleV2":{"properties":{"clientId":{"type":"string","description":"The OpenID Connect Client ID for the Apple web application.\n"},"clientSecretSettingName":{"type":"string","description":"The app setting name that contains the \u003cspan pulumi-lang-nodejs=\"`clientSecret`\" pulumi-lang-dotnet=\"`ClientSecret`\" pulumi-lang-go=\"`clientSecret`\" pulumi-lang-python=\"`client_secret`\" pulumi-lang-yaml=\"`clientSecret`\" pulumi-lang-java=\"`clientSecret`\"\u003e`client_secret`\u003c/span\u003e value used for Apple Login.\n\n!\u003e **Note:** A setting with this name must exist in \u003cspan pulumi-lang-nodejs=\"`appSettings`\" pulumi-lang-dotnet=\"`AppSettings`\" pulumi-lang-go=\"`appSettings`\" pulumi-lang-python=\"`app_settings`\" pulumi-lang-yaml=\"`appSettings`\" pulumi-lang-java=\"`appSettings`\"\u003e`app_settings`\u003c/span\u003e to function correctly.\n"},"loginScopes":{"type":"array","items":{"type":"string"},"description":"A list of Login Scopes provided by this Authentication Provider.\n\n\u003e **Note:** This is configured on the Authentication Provider side and is Read Only here.\n"}},"type":"object","required":["clientId","clientSecretSettingName"],"language":{"nodejs":{"requiredOutputs":["clientId","clientSecretSettingName","loginScopes"]}}},"azure:appservice/AppFlexConsumptionAuthSettingsV2AzureStaticWebAppV2:AppFlexConsumptionAuthSettingsV2AzureStaticWebAppV2":{"properties":{"clientId":{"type":"string","description":"The ID of the Client to use to authenticate with Azure Static Web App Authentication.\n"}},"type":"object","required":["clientId"]},"azure:appservice/AppFlexConsumptionAuthSettingsV2CustomOidcV2:AppFlexConsumptionAuthSettingsV2CustomOidcV2":{"properties":{"authorisationEndpoint":{"type":"string","description":"The endpoint to make the Authorisation Request as supplied by \u003cspan pulumi-lang-nodejs=\"`openidConfigurationEndpoint`\" pulumi-lang-dotnet=\"`OpenidConfigurationEndpoint`\" pulumi-lang-go=\"`openidConfigurationEndpoint`\" pulumi-lang-python=\"`openid_configuration_endpoint`\" pulumi-lang-yaml=\"`openidConfigurationEndpoint`\" pulumi-lang-java=\"`openidConfigurationEndpoint`\"\u003e`openid_configuration_endpoint`\u003c/span\u003e response.\n"},"certificationUri":{"type":"string","description":"The endpoint that provides the keys necessary to validate the token as supplied by \u003cspan pulumi-lang-nodejs=\"`openidConfigurationEndpoint`\" pulumi-lang-dotnet=\"`OpenidConfigurationEndpoint`\" pulumi-lang-go=\"`openidConfigurationEndpoint`\" pulumi-lang-python=\"`openid_configuration_endpoint`\" pulumi-lang-yaml=\"`openidConfigurationEndpoint`\" pulumi-lang-java=\"`openidConfigurationEndpoint`\"\u003e`openid_configuration_endpoint`\u003c/span\u003e response.\n"},"clientCredentialMethod":{"type":"string","description":"The Client Credential Method used.\n"},"clientId":{"type":"string","description":"The ID of the Client to use to authenticate with the Custom OIDC.\n"},"clientSecretSettingName":{"type":"string","description":"The App Setting name that contains the secret for this Custom OIDC Client. This is generated from \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e above and suffixed with `_PROVIDER_AUTHENTICATION_SECRET`.\n"},"issuerEndpoint":{"type":"string","description":"The endpoint that issued the Token as supplied by \u003cspan pulumi-lang-nodejs=\"`openidConfigurationEndpoint`\" pulumi-lang-dotnet=\"`OpenidConfigurationEndpoint`\" pulumi-lang-go=\"`openidConfigurationEndpoint`\" pulumi-lang-python=\"`openid_configuration_endpoint`\" pulumi-lang-yaml=\"`openidConfigurationEndpoint`\" pulumi-lang-java=\"`openidConfigurationEndpoint`\"\u003e`openid_configuration_endpoint`\u003c/span\u003e response.\n"},"name":{"type":"string","description":"The name of the Custom OIDC Authentication Provider.\n\n\u003e **Note:** An \u003cspan pulumi-lang-nodejs=\"`appSetting`\" pulumi-lang-dotnet=\"`AppSetting`\" pulumi-lang-go=\"`appSetting`\" pulumi-lang-python=\"`app_setting`\" pulumi-lang-yaml=\"`appSetting`\" pulumi-lang-java=\"`appSetting`\"\u003e`app_setting`\u003c/span\u003e matching this value in upper case with the suffix of `_PROVIDER_AUTHENTICATION_SECRET` is required. e.g. `MYOIDC_PROVIDER_AUTHENTICATION_SECRET` for a value of \u003cspan pulumi-lang-nodejs=\"`myoidc`\" pulumi-lang-dotnet=\"`Myoidc`\" pulumi-lang-go=\"`myoidc`\" pulumi-lang-python=\"`myoidc`\" pulumi-lang-yaml=\"`myoidc`\" pulumi-lang-java=\"`myoidc`\"\u003e`myoidc`\u003c/span\u003e.\n"},"nameClaimType":{"type":"string","description":"The name of the claim that contains the users name.\n"},"openidConfigurationEndpoint":{"type":"string","description":"The app setting name that contains the \u003cspan pulumi-lang-nodejs=\"`clientSecret`\" pulumi-lang-dotnet=\"`ClientSecret`\" pulumi-lang-go=\"`clientSecret`\" pulumi-lang-python=\"`client_secret`\" pulumi-lang-yaml=\"`clientSecret`\" pulumi-lang-java=\"`clientSecret`\"\u003e`client_secret`\u003c/span\u003e value used for the Custom OIDC Login.\n"},"scopes":{"type":"array","items":{"type":"string"},"description":"The list of the scopes that should be requested while authenticating.\n"},"tokenEndpoint":{"type":"string","description":"The endpoint used to request a Token as supplied by \u003cspan pulumi-lang-nodejs=\"`openidConfigurationEndpoint`\" pulumi-lang-dotnet=\"`OpenidConfigurationEndpoint`\" pulumi-lang-go=\"`openidConfigurationEndpoint`\" pulumi-lang-python=\"`openid_configuration_endpoint`\" pulumi-lang-yaml=\"`openidConfigurationEndpoint`\" pulumi-lang-java=\"`openidConfigurationEndpoint`\"\u003e`openid_configuration_endpoint`\u003c/span\u003e response.\n"}},"type":"object","required":["clientId","name","openidConfigurationEndpoint"],"language":{"nodejs":{"requiredOutputs":["authorisationEndpoint","certificationUri","clientCredentialMethod","clientId","clientSecretSettingName","issuerEndpoint","name","openidConfigurationEndpoint","tokenEndpoint"]}}},"azure:appservice/AppFlexConsumptionAuthSettingsV2FacebookV2:AppFlexConsumptionAuthSettingsV2FacebookV2":{"properties":{"appId":{"type":"string","description":"The App ID of the Facebook app used for login.\n"},"appSecretSettingName":{"type":"string","description":"The app setting name that contains the \u003cspan pulumi-lang-nodejs=\"`appSecret`\" pulumi-lang-dotnet=\"`AppSecret`\" pulumi-lang-go=\"`appSecret`\" pulumi-lang-python=\"`app_secret`\" pulumi-lang-yaml=\"`appSecret`\" pulumi-lang-java=\"`appSecret`\"\u003e`app_secret`\u003c/span\u003e value used for Facebook Login.\n\n!\u003e **Note:** A setting with this name must exist in \u003cspan pulumi-lang-nodejs=\"`appSettings`\" pulumi-lang-dotnet=\"`AppSettings`\" pulumi-lang-go=\"`appSettings`\" pulumi-lang-python=\"`app_settings`\" pulumi-lang-yaml=\"`appSettings`\" pulumi-lang-java=\"`appSettings`\"\u003e`app_settings`\u003c/span\u003e to function correctly.\n"},"graphApiVersion":{"type":"string","description":"The version of the Facebook API to be used while logging in.\n"},"loginScopes":{"type":"array","items":{"type":"string"},"description":"The list of scopes that should be requested as part of Facebook Login authentication.\n"}},"type":"object","required":["appId","appSecretSettingName"],"language":{"nodejs":{"requiredOutputs":["appId","appSecretSettingName","graphApiVersion"]}}},"azure:appservice/AppFlexConsumptionAuthSettingsV2GithubV2:AppFlexConsumptionAuthSettingsV2GithubV2":{"properties":{"clientId":{"type":"string","description":"The ID of the GitHub app used for login..\n"},"clientSecretSettingName":{"type":"string","description":"The app setting name that contains the \u003cspan pulumi-lang-nodejs=\"`clientSecret`\" pulumi-lang-dotnet=\"`ClientSecret`\" pulumi-lang-go=\"`clientSecret`\" pulumi-lang-python=\"`client_secret`\" pulumi-lang-yaml=\"`clientSecret`\" pulumi-lang-java=\"`clientSecret`\"\u003e`client_secret`\u003c/span\u003e value used for GitHub Login.\n\n!\u003e **Note:** A setting with this name must exist in \u003cspan pulumi-lang-nodejs=\"`appSettings`\" pulumi-lang-dotnet=\"`AppSettings`\" pulumi-lang-go=\"`appSettings`\" pulumi-lang-python=\"`app_settings`\" pulumi-lang-yaml=\"`appSettings`\" pulumi-lang-java=\"`appSettings`\"\u003e`app_settings`\u003c/span\u003e to function correctly.\n"},"loginScopes":{"type":"array","items":{"type":"string"},"description":"The list of OAuth 2.0 scopes that should be requested as part of GitHub Login authentication.\n"}},"type":"object","required":["clientId","clientSecretSettingName"]},"azure:appservice/AppFlexConsumptionAuthSettingsV2GoogleV2:AppFlexConsumptionAuthSettingsV2GoogleV2":{"properties":{"allowedAudiences":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Allowed Audiences that should be requested as part of Google Sign-In authentication.\n"},"clientId":{"type":"string","description":"The OpenID Connect Client ID for the Google web application.\n"},"clientSecretSettingName":{"type":"string","description":"The app setting name that contains the \u003cspan pulumi-lang-nodejs=\"`clientSecret`\" pulumi-lang-dotnet=\"`ClientSecret`\" pulumi-lang-go=\"`clientSecret`\" pulumi-lang-python=\"`client_secret`\" pulumi-lang-yaml=\"`clientSecret`\" pulumi-lang-java=\"`clientSecret`\"\u003e`client_secret`\u003c/span\u003e value used for Google Login.\n\n!\u003e **Note:** A setting with this name must exist in \u003cspan pulumi-lang-nodejs=\"`appSettings`\" pulumi-lang-dotnet=\"`AppSettings`\" pulumi-lang-go=\"`appSettings`\" pulumi-lang-python=\"`app_settings`\" pulumi-lang-yaml=\"`appSettings`\" pulumi-lang-java=\"`appSettings`\"\u003e`app_settings`\u003c/span\u003e to function correctly.\n"},"loginScopes":{"type":"array","items":{"type":"string"},"description":"The list of OAuth 2.0 scopes that should be requested as part of Google Sign-In authentication.\n"}},"type":"object","required":["clientId","clientSecretSettingName"]},"azure:appservice/AppFlexConsumptionAuthSettingsV2Login:AppFlexConsumptionAuthSettingsV2Login":{"properties":{"allowedExternalRedirectUrls":{"type":"array","items":{"type":"string"},"description":"External URLs that can be redirected to as part of logging in or logging out of the app. This is an advanced setting typically only needed by Windows Store application backends.\n\n\u003e **Note:** URLs within the current domain are always implicitly allowed.\n"},"cookieExpirationConvention":{"type":"string","description":"The method by which cookies expire. Possible values include: `FixedTime`, and `IdentityProviderDerived`. Defaults to `FixedTime`.\n"},"cookieExpirationTime":{"type":"string","description":"The time after the request is made when the session cookie should expire. Defaults to `08:00:00`.\n"},"logoutEndpoint":{"type":"string","description":"The endpoint to which logout requests should be made.\n"},"nonceExpirationTime":{"type":"string","description":"The time after the request is made when the nonce should expire. Defaults to `00:05:00`.\n"},"preserveUrlFragmentsForLogins":{"type":"boolean","description":"Should the fragments from the request be preserved after the login request is made. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"tokenRefreshExtensionTime":{"type":"number","description":"The number of hours after session token expiration that a session token can be used to call the token refresh API. Defaults to \u003cspan pulumi-lang-nodejs=\"`72`\" pulumi-lang-dotnet=\"`72`\" pulumi-lang-go=\"`72`\" pulumi-lang-python=\"`72`\" pulumi-lang-yaml=\"`72`\" pulumi-lang-java=\"`72`\"\u003e`72`\u003c/span\u003e hours.\n"},"tokenStoreEnabled":{"type":"boolean","description":"Should the Token Store configuration Enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e\n"},"tokenStorePath":{"type":"string","description":"The directory path in the App Filesystem in which the tokens will be stored.\n"},"tokenStoreSasSettingName":{"type":"string","description":"The name of the app setting which contains the SAS URL of the blob storage containing the tokens.\n"},"validateNonce":{"type":"boolean","description":"Should the nonce be validated while completing the login flow. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"}},"type":"object"},"azure:appservice/AppFlexConsumptionAuthSettingsV2MicrosoftV2:AppFlexConsumptionAuthSettingsV2MicrosoftV2":{"properties":{"allowedAudiences":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Allowed Audiences that will be requested as part of Microsoft Sign-In authentication.\n"},"clientId":{"type":"string","description":"The OAuth 2.0 client ID that was created for the app used for authentication.\n"},"clientSecretSettingName":{"type":"string","description":"The app setting name containing the OAuth 2.0 client secret that was created for the app used for authentication.\n\n!\u003e **Note:** A setting with this name must exist in \u003cspan pulumi-lang-nodejs=\"`appSettings`\" pulumi-lang-dotnet=\"`AppSettings`\" pulumi-lang-go=\"`appSettings`\" pulumi-lang-python=\"`app_settings`\" pulumi-lang-yaml=\"`appSettings`\" pulumi-lang-java=\"`appSettings`\"\u003e`app_settings`\u003c/span\u003e to function correctly.\n"},"loginScopes":{"type":"array","items":{"type":"string"},"description":"The list of Login scopes that should be requested as part of Microsoft Account authentication.\n"}},"type":"object","required":["clientId","clientSecretSettingName"]},"azure:appservice/AppFlexConsumptionAuthSettingsV2TwitterV2:AppFlexConsumptionAuthSettingsV2TwitterV2":{"properties":{"consumerKey":{"type":"string","description":"The OAuth 1.0a consumer key of the Twitter application used for sign-in.\n"},"consumerSecretSettingName":{"type":"string","description":"The app setting name that contains the OAuth 1.0a consumer secret of the Twitter application used for sign-in.\n\n!\u003e **Note:** A setting with this name must exist in \u003cspan pulumi-lang-nodejs=\"`appSettings`\" pulumi-lang-dotnet=\"`AppSettings`\" pulumi-lang-go=\"`appSettings`\" pulumi-lang-python=\"`app_settings`\" pulumi-lang-yaml=\"`appSettings`\" pulumi-lang-java=\"`appSettings`\"\u003e`app_settings`\u003c/span\u003e to function correctly.\n"}},"type":"object","required":["consumerKey","consumerSecretSettingName"]},"azure:appservice/AppFlexConsumptionConnectionString:AppFlexConsumptionConnectionString":{"properties":{"name":{"type":"string","description":"The name which should be used for this Connection.\n"},"type":{"type":"string","description":"Type of database. Possible values include: `MySQL`, `SQLServer`, `SQLAzure`, `Custom`, `NotificationHub`, `ServiceBus`, `EventHub`, `APIHub`, `DocDb`, `RedisCache`, and `PostgreSQL`.\n"},"value":{"type":"string","description":"The connection string value.\n","secret":true}},"type":"object","required":["name","type","value"]},"azure:appservice/AppFlexConsumptionIdentity:AppFlexConsumptionIdentity":{"properties":{"identityIds":{"type":"array","items":{"type":"string"},"description":"A list of User Assigned Managed Identity IDs to be assigned to this Linux Function App.\n\n\u003e **Note:** This is required when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to `UserAssigned` or `SystemAssigned, UserAssigned`.\n"},"principalId":{"type":"string","description":"The Principal ID associated with this Managed Service Identity.\n"},"tenantId":{"type":"string","description":"The Tenant ID associated with this Managed Service Identity.\n"},"type":{"type":"string","description":"Specifies the type of Managed Service Identity that should be configured on this Linux Function App. Possible values are `SystemAssigned`, `UserAssigned`, `SystemAssigned, UserAssigned` (to enable both).\n"}},"type":"object","required":["type"],"language":{"nodejs":{"requiredOutputs":["principalId","tenantId","type"]}}},"azure:appservice/AppFlexConsumptionSiteConfig:AppFlexConsumptionSiteConfig":{"properties":{"apiDefinitionUrl":{"type":"string","description":"The URL of the API definition that describes this Linux Function App.\n"},"apiManagementApiId":{"type":"string","description":"The ID of the API Management API for this Linux Function App.\n"},"appCommandLine":{"type":"string","description":"The App command line to launch.\n"},"appServiceLogs":{"$ref":"#/types/azure:appservice/AppFlexConsumptionSiteConfigAppServiceLogs:AppFlexConsumptionSiteConfigAppServiceLogs","description":"An \u003cspan pulumi-lang-nodejs=\"`appServiceLogs`\" pulumi-lang-dotnet=\"`AppServiceLogs`\" pulumi-lang-go=\"`appServiceLogs`\" pulumi-lang-python=\"`app_service_logs`\" pulumi-lang-yaml=\"`appServiceLogs`\" pulumi-lang-java=\"`appServiceLogs`\"\u003e`app_service_logs`\u003c/span\u003e block as defined above.\n"},"applicationInsightsConnectionString":{"type":"string","description":"The Connection String for linking the Linux Function App to Application Insights.\n","secret":true},"applicationInsightsKey":{"type":"string","description":"The Instrumentation Key for connecting the Linux Function App to Application Insights.\n","secret":true},"containerRegistryManagedIdentityClientId":{"type":"string","description":"The Client ID of the Managed Service Identity to use for connections to the Azure Container Registry.\n"},"containerRegistryUseManagedIdentity":{"type":"boolean","description":"Should connections for Azure Container Registry use Managed Identity.\n"},"cors":{"$ref":"#/types/azure:appservice/AppFlexConsumptionSiteConfigCors:AppFlexConsumptionSiteConfigCors","description":"A \u003cspan pulumi-lang-nodejs=\"`cors`\" pulumi-lang-dotnet=\"`Cors`\" pulumi-lang-go=\"`cors`\" pulumi-lang-python=\"`cors`\" pulumi-lang-yaml=\"`cors`\" pulumi-lang-java=\"`cors`\"\u003e`cors`\u003c/span\u003e block as defined above.\n"},"defaultDocuments":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Default Documents for the Linux Web App.\n"},"detailedErrorLoggingEnabled":{"type":"boolean","description":"Is detailed error logging enabled\n"},"elasticInstanceMinimum":{"type":"integer","description":"The number of minimum instances for this Linux Function App. Only affects apps on Elastic Premium plans.\n"},"healthCheckEvictionTimeInMin":{"type":"integer","description":"The amount of time in minutes that a node can be unhealthy before being removed from the load balancer. Possible values are between \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`10`\" pulumi-lang-dotnet=\"`10`\" pulumi-lang-go=\"`10`\" pulumi-lang-python=\"`10`\" pulumi-lang-yaml=\"`10`\" pulumi-lang-java=\"`10`\"\u003e`10`\u003c/span\u003e. Only valid in conjunction with \u003cspan pulumi-lang-nodejs=\"`healthCheckPath`\" pulumi-lang-dotnet=\"`HealthCheckPath`\" pulumi-lang-go=\"`healthCheckPath`\" pulumi-lang-python=\"`health_check_path`\" pulumi-lang-yaml=\"`healthCheckPath`\" pulumi-lang-java=\"`healthCheckPath`\"\u003e`health_check_path`\u003c/span\u003e.\n"},"healthCheckPath":{"type":"string","description":"The path to be checked for this function app health.\n"},"http2Enabled":{"type":"boolean","description":"Specifies if the HTTP2 protocol should be enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"ipRestrictionDefaultAction":{"type":"string","description":"The Default action for traffic that does not match any \u003cspan pulumi-lang-nodejs=\"`ipRestriction`\" pulumi-lang-dotnet=\"`IpRestriction`\" pulumi-lang-go=\"`ipRestriction`\" pulumi-lang-python=\"`ip_restriction`\" pulumi-lang-yaml=\"`ipRestriction`\" pulumi-lang-java=\"`ipRestriction`\"\u003e`ip_restriction`\u003c/span\u003e rule. possible values include `Allow` and `Deny`. Defaults to `Allow`.\n"},"ipRestrictions":{"type":"array","items":{"$ref":"#/types/azure:appservice/AppFlexConsumptionSiteConfigIpRestriction:AppFlexConsumptionSiteConfigIpRestriction"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`ipRestriction`\" pulumi-lang-dotnet=\"`IpRestriction`\" pulumi-lang-go=\"`ipRestriction`\" pulumi-lang-python=\"`ip_restriction`\" pulumi-lang-yaml=\"`ipRestriction`\" pulumi-lang-java=\"`ipRestriction`\"\u003e`ip_restriction`\u003c/span\u003e blocks as defined above.\n"},"loadBalancingMode":{"type":"string","description":"The Site load balancing mode. Possible values include: `WeightedRoundRobin`, `LeastRequests`, `LeastResponseTime`, `WeightedTotalTraffic`, `RequestHash`, `PerSiteRoundRobin`. Defaults to `LeastRequests` if omitted.\n"},"managedPipelineMode":{"type":"string","description":"Managed pipeline mode. Possible values include: `Integrated`, `Classic`. Defaults to `Integrated`.\n"},"minimumTlsVersion":{"type":"string","description":"The configures the minimum version of TLS required for SSL requests. Possible values include: `1.0`, `1.1`, `1.2` and `1.3`. Defaults to `1.2`.\n"},"remoteDebuggingEnabled":{"type":"boolean","description":"Should Remote Debugging be enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"remoteDebuggingVersion":{"type":"string","description":"The Remote Debugging Version. Possible values include `VS2017`, `VS2019`, and `VS2022`.\n"},"runtimeScaleMonitoringEnabled":{"type":"boolean","description":"Should Scale Monitoring of the Functions Runtime be enabled?\n\n\u003e **Note:** Functions runtime scale monitoring can only be enabled for Elastic Premium Function Apps or Workflow Standard Logic Apps and requires a minimum prewarmed instance count of 1.\n"},"scmIpRestrictionDefaultAction":{"type":"string","description":"The Default action for traffic that does not match any \u003cspan pulumi-lang-nodejs=\"`scmIpRestriction`\" pulumi-lang-dotnet=\"`ScmIpRestriction`\" pulumi-lang-go=\"`scmIpRestriction`\" pulumi-lang-python=\"`scm_ip_restriction`\" pulumi-lang-yaml=\"`scmIpRestriction`\" pulumi-lang-java=\"`scmIpRestriction`\"\u003e`scm_ip_restriction`\u003c/span\u003e rule. possible values include `Allow` and `Deny`. Defaults to `Allow`.\n"},"scmIpRestrictions":{"type":"array","items":{"$ref":"#/types/azure:appservice/AppFlexConsumptionSiteConfigScmIpRestriction:AppFlexConsumptionSiteConfigScmIpRestriction"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`scmIpRestriction`\" pulumi-lang-dotnet=\"`ScmIpRestriction`\" pulumi-lang-go=\"`scmIpRestriction`\" pulumi-lang-python=\"`scm_ip_restriction`\" pulumi-lang-yaml=\"`scmIpRestriction`\" pulumi-lang-java=\"`scmIpRestriction`\"\u003e`scm_ip_restriction`\u003c/span\u003e blocks as defined above.\n"},"scmMinimumTlsVersion":{"type":"string","description":"The minimum version of TLS required for SSL requests to the SCM site. Possible values include `1.0`, `1.1`, `1.2` and `1.3`. Defaults to `1.2`.\n"},"scmType":{"type":"string","description":"The SCM Type in use by the Linux Function App.\n"},"scmUseMainIpRestriction":{"type":"boolean","description":"Should the Linux Function App \u003cspan pulumi-lang-nodejs=\"`ipRestriction`\" pulumi-lang-dotnet=\"`IpRestriction`\" pulumi-lang-go=\"`ipRestriction`\" pulumi-lang-python=\"`ip_restriction`\" pulumi-lang-yaml=\"`ipRestriction`\" pulumi-lang-java=\"`ipRestriction`\"\u003e`ip_restriction`\u003c/span\u003e configuration be used for the SCM also.\n"},"use32BitWorker":{"type":"boolean","description":"Should the Linux Web App Linux Function App use a 32-bit worker. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"vnetRouteAllEnabled":{"type":"boolean","description":"Should the Linux Function App route all traffic through the virtual network. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"websocketsEnabled":{"type":"boolean","description":"Should Web Sockets be enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"workerCount":{"type":"integer","description":"The number of Workers for this Linux Function App.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["defaultDocuments","detailedErrorLoggingEnabled","elasticInstanceMinimum","remoteDebuggingVersion","scmType","workerCount"]}}},"azure:appservice/AppFlexConsumptionSiteConfigAppServiceLogs:AppFlexConsumptionSiteConfigAppServiceLogs":{"properties":{"diskQuotaMb":{"type":"integer","description":"The amount of disk space to use for logs. Valid values are between \u003cspan pulumi-lang-nodejs=\"`25`\" pulumi-lang-dotnet=\"`25`\" pulumi-lang-go=\"`25`\" pulumi-lang-python=\"`25`\" pulumi-lang-yaml=\"`25`\" pulumi-lang-java=\"`25`\"\u003e`25`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`100`\" pulumi-lang-dotnet=\"`100`\" pulumi-lang-go=\"`100`\" pulumi-lang-python=\"`100`\" pulumi-lang-yaml=\"`100`\" pulumi-lang-java=\"`100`\"\u003e`100`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`35`\" pulumi-lang-dotnet=\"`35`\" pulumi-lang-go=\"`35`\" pulumi-lang-python=\"`35`\" pulumi-lang-yaml=\"`35`\" pulumi-lang-java=\"`35`\"\u003e`35`\u003c/span\u003e.\n"},"retentionPeriodDays":{"type":"integer","description":"The retention period for logs in days. Valid values are between \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`99999`\" pulumi-lang-dotnet=\"`99999`\" pulumi-lang-go=\"`99999`\" pulumi-lang-python=\"`99999`\" pulumi-lang-yaml=\"`99999`\" pulumi-lang-java=\"`99999`\"\u003e`99999`\u003c/span\u003e.(never delete).\n\n\u003e **Note:** This block is not supported on Consumption plans.\n"}},"type":"object"},"azure:appservice/AppFlexConsumptionSiteConfigCors:AppFlexConsumptionSiteConfigCors":{"properties":{"allowedOrigins":{"type":"array","items":{"type":"string"},"description":"Specifies a list of origins that should be allowed to make cross-origin calls.\n"},"supportCredentials":{"type":"boolean","description":"Are credentials allowed in CORS requests? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"}},"type":"object"},"azure:appservice/AppFlexConsumptionSiteConfigIpRestriction:AppFlexConsumptionSiteConfigIpRestriction":{"properties":{"action":{"type":"string","description":"The action to take. Possible values are `Allow` or `Deny`. Defaults to `Allow`.\n"},"description":{"type":"string","description":"The Description of this IP Restriction.\n"},"headers":{"$ref":"#/types/azure:appservice/AppFlexConsumptionSiteConfigIpRestrictionHeaders:AppFlexConsumptionSiteConfigIpRestrictionHeaders","description":"A \u003cspan pulumi-lang-nodejs=\"`headers`\" pulumi-lang-dotnet=\"`Headers`\" pulumi-lang-go=\"`headers`\" pulumi-lang-python=\"`headers`\" pulumi-lang-yaml=\"`headers`\" pulumi-lang-java=\"`headers`\"\u003e`headers`\u003c/span\u003e block as defined above.\n"},"ipAddress":{"type":"string","description":"The CIDR notation of the IP or IP Range to match. For example: `10.0.0.0/24` or `192.168.10.1/32`\n"},"name":{"type":"string","description":"The name which should be used for this \u003cspan pulumi-lang-nodejs=\"`ipRestriction`\" pulumi-lang-dotnet=\"`IpRestriction`\" pulumi-lang-go=\"`ipRestriction`\" pulumi-lang-python=\"`ip_restriction`\" pulumi-lang-yaml=\"`ipRestriction`\" pulumi-lang-java=\"`ipRestriction`\"\u003e`ip_restriction`\u003c/span\u003e.\n"},"priority":{"type":"integer","description":"The priority value of this \u003cspan pulumi-lang-nodejs=\"`ipRestriction`\" pulumi-lang-dotnet=\"`IpRestriction`\" pulumi-lang-go=\"`ipRestriction`\" pulumi-lang-python=\"`ip_restriction`\" pulumi-lang-yaml=\"`ipRestriction`\" pulumi-lang-java=\"`ipRestriction`\"\u003e`ip_restriction`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`65000`\" pulumi-lang-dotnet=\"`65000`\" pulumi-lang-go=\"`65000`\" pulumi-lang-python=\"`65000`\" pulumi-lang-yaml=\"`65000`\" pulumi-lang-java=\"`65000`\"\u003e`65000`\u003c/span\u003e.\n"},"serviceTag":{"type":"string","description":"The Service Tag used for this IP Restriction.\n"},"virtualNetworkSubnetId":{"type":"string","description":"The Virtual Network Subnet ID used for this IP Restriction.\n\n\u003e **Note:** One and only one of \u003cspan pulumi-lang-nodejs=\"`ipAddress`\" pulumi-lang-dotnet=\"`IpAddress`\" pulumi-lang-go=\"`ipAddress`\" pulumi-lang-python=\"`ip_address`\" pulumi-lang-yaml=\"`ipAddress`\" pulumi-lang-java=\"`ipAddress`\"\u003e`ip_address`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`serviceTag`\" pulumi-lang-dotnet=\"`ServiceTag`\" pulumi-lang-go=\"`serviceTag`\" pulumi-lang-python=\"`service_tag`\" pulumi-lang-yaml=\"`serviceTag`\" pulumi-lang-java=\"`serviceTag`\"\u003e`service_tag`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`virtualNetworkSubnetId`\" pulumi-lang-dotnet=\"`VirtualNetworkSubnetId`\" pulumi-lang-go=\"`virtualNetworkSubnetId`\" pulumi-lang-python=\"`virtual_network_subnet_id`\" pulumi-lang-yaml=\"`virtualNetworkSubnetId`\" pulumi-lang-java=\"`virtualNetworkSubnetId`\"\u003e`virtual_network_subnet_id`\u003c/span\u003e must be specified.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["name"]}}},"azure:appservice/AppFlexConsumptionSiteConfigIpRestrictionHeaders:AppFlexConsumptionSiteConfigIpRestrictionHeaders":{"properties":{"xAzureFdids":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Azure Front Door IDs.\n"},"xFdHealthProbe":{"type":"string","description":"Specifies if a Front Door Health Probe should be expected. The only possible value is \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e.\n"},"xForwardedFors":{"type":"array","items":{"type":"string"},"description":"Specifies a list of addresses for which matching should be applied. Omitting this value means allow any.\n"},"xForwardedHosts":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Hosts for which matching should be applied.\n"}},"type":"object"},"azure:appservice/AppFlexConsumptionSiteConfigScmIpRestriction:AppFlexConsumptionSiteConfigScmIpRestriction":{"properties":{"action":{"type":"string","description":"The action to take. Possible values are `Allow` or `Deny`. Defaults to `Allow`.\n"},"description":{"type":"string","description":"The Description of this IP Restriction.\n"},"headers":{"$ref":"#/types/azure:appservice/AppFlexConsumptionSiteConfigScmIpRestrictionHeaders:AppFlexConsumptionSiteConfigScmIpRestrictionHeaders","description":"A \u003cspan pulumi-lang-nodejs=\"`headers`\" pulumi-lang-dotnet=\"`Headers`\" pulumi-lang-go=\"`headers`\" pulumi-lang-python=\"`headers`\" pulumi-lang-yaml=\"`headers`\" pulumi-lang-java=\"`headers`\"\u003e`headers`\u003c/span\u003e block as defined above.\n"},"ipAddress":{"type":"string","description":"The CIDR notation of the IP or IP Range to match. For example: `10.0.0.0/24` or `192.168.10.1/32`\n"},"name":{"type":"string","description":"The name which should be used for this \u003cspan pulumi-lang-nodejs=\"`ipRestriction`\" pulumi-lang-dotnet=\"`IpRestriction`\" pulumi-lang-go=\"`ipRestriction`\" pulumi-lang-python=\"`ip_restriction`\" pulumi-lang-yaml=\"`ipRestriction`\" pulumi-lang-java=\"`ipRestriction`\"\u003e`ip_restriction`\u003c/span\u003e.\n"},"priority":{"type":"integer","description":"The priority value of this \u003cspan pulumi-lang-nodejs=\"`ipRestriction`\" pulumi-lang-dotnet=\"`IpRestriction`\" pulumi-lang-go=\"`ipRestriction`\" pulumi-lang-python=\"`ip_restriction`\" pulumi-lang-yaml=\"`ipRestriction`\" pulumi-lang-java=\"`ipRestriction`\"\u003e`ip_restriction`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`65000`\" pulumi-lang-dotnet=\"`65000`\" pulumi-lang-go=\"`65000`\" pulumi-lang-python=\"`65000`\" pulumi-lang-yaml=\"`65000`\" pulumi-lang-java=\"`65000`\"\u003e`65000`\u003c/span\u003e.\n"},"serviceTag":{"type":"string","description":"The Service Tag used for this IP Restriction.\n"},"virtualNetworkSubnetId":{"type":"string","description":"The Virtual Network Subnet ID used for this IP Restriction.\n\n\u003e **Note:** One and only one of \u003cspan pulumi-lang-nodejs=\"`ipAddress`\" pulumi-lang-dotnet=\"`IpAddress`\" pulumi-lang-go=\"`ipAddress`\" pulumi-lang-python=\"`ip_address`\" pulumi-lang-yaml=\"`ipAddress`\" pulumi-lang-java=\"`ipAddress`\"\u003e`ip_address`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`serviceTag`\" pulumi-lang-dotnet=\"`ServiceTag`\" pulumi-lang-go=\"`serviceTag`\" pulumi-lang-python=\"`service_tag`\" pulumi-lang-yaml=\"`serviceTag`\" pulumi-lang-java=\"`serviceTag`\"\u003e`service_tag`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`virtualNetworkSubnetId`\" pulumi-lang-dotnet=\"`VirtualNetworkSubnetId`\" pulumi-lang-go=\"`virtualNetworkSubnetId`\" pulumi-lang-python=\"`virtual_network_subnet_id`\" pulumi-lang-yaml=\"`virtualNetworkSubnetId`\" pulumi-lang-java=\"`virtualNetworkSubnetId`\"\u003e`virtual_network_subnet_id`\u003c/span\u003e must be specified.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["name"]}}},"azure:appservice/AppFlexConsumptionSiteConfigScmIpRestrictionHeaders:AppFlexConsumptionSiteConfigScmIpRestrictionHeaders":{"properties":{"xAzureFdids":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Azure Front Door IDs.\n"},"xFdHealthProbe":{"type":"string","description":"Specifies if a Front Door Health Probe should be expected. The only possible value is \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e.\n"},"xForwardedFors":{"type":"array","items":{"type":"string"},"description":"Specifies a list of addresses for which matching should be applied. Omitting this value means allow any.\n"},"xForwardedHosts":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Hosts for which matching should be applied.\n"}},"type":"object"},"azure:appservice/AppFlexConsumptionSiteCredential:AppFlexConsumptionSiteCredential":{"properties":{"name":{"type":"string","description":"The name which should be used for this Function App. Changing this forces a new Function App to be created. Limit the function name to 32 characters to avoid naming collisions. For more information about [Function App naming rule](https://docs.microsoft.com/en-us/azure/azure-resource-manager/management/resource-name-rules#microsoftweb) and [Host ID Collisions](https://github.com/Azure/azure-functions-host/wiki/Host-IDs#host-id-collisions)\n","secret":true},"password":{"type":"string","description":"The Site Credentials Password used for publishing.\n","secret":true}},"type":"object","language":{"nodejs":{"requiredOutputs":["name","password"]}}},"azure:appservice/AppFlexConsumptionStickySettings:AppFlexConsumptionStickySettings":{"properties":{"appSettingNames":{"type":"array","items":{"type":"string"},"description":"A list of \u003cspan pulumi-lang-nodejs=\"`appSetting`\" pulumi-lang-dotnet=\"`AppSetting`\" pulumi-lang-go=\"`appSetting`\" pulumi-lang-python=\"`app_setting`\" pulumi-lang-yaml=\"`appSetting`\" pulumi-lang-java=\"`appSetting`\"\u003e`app_setting`\u003c/span\u003e names that the Linux Function App will not swap between Slots when a swap operation is triggered.\n"},"connectionStringNames":{"type":"array","items":{"type":"string"},"description":"A list of \u003cspan pulumi-lang-nodejs=\"`connectionString`\" pulumi-lang-dotnet=\"`ConnectionString`\" pulumi-lang-go=\"`connectionString`\" pulumi-lang-python=\"`connection_string`\" pulumi-lang-yaml=\"`connectionString`\" pulumi-lang-java=\"`connectionString`\"\u003e`connection_string`\u003c/span\u003e names that the Linux Function App will not swap between Slots when a swap operation is triggered.\n"}},"type":"object"},"azure:appservice/AppServiceAuthSettings:AppServiceAuthSettings":{"properties":{"activeDirectory":{"$ref":"#/types/azure:appservice/AppServiceAuthSettingsActiveDirectory:AppServiceAuthSettingsActiveDirectory","description":"A \u003cspan pulumi-lang-nodejs=\"`activeDirectory`\" pulumi-lang-dotnet=\"`ActiveDirectory`\" pulumi-lang-go=\"`activeDirectory`\" pulumi-lang-python=\"`active_directory`\" pulumi-lang-yaml=\"`activeDirectory`\" pulumi-lang-java=\"`activeDirectory`\"\u003e`active_directory`\u003c/span\u003e block as defined below.\n"},"additionalLoginParams":{"type":"object","additionalProperties":{"type":"string"},"description":"Login parameters to send to the OpenID Connect authorization endpoint when a user logs in. Each parameter must be in the form \"key=value\".\n"},"allowedExternalRedirectUrls":{"type":"array","items":{"type":"string"},"description":"External URLs that can be redirected to as part of logging in or logging out of the app.\n"},"defaultProvider":{"type":"string","description":"The default provider to use when multiple providers have been set up. Possible values are `AzureActiveDirectory`, `Facebook`, `Google`, `MicrosoftAccount` and `Twitter`.\n\n\u003e **NOTE:** When using multiple providers, the default provider must be set for settings like \u003cspan pulumi-lang-nodejs=\"`unauthenticatedClientAction`\" pulumi-lang-dotnet=\"`UnauthenticatedClientAction`\" pulumi-lang-go=\"`unauthenticatedClientAction`\" pulumi-lang-python=\"`unauthenticated_client_action`\" pulumi-lang-yaml=\"`unauthenticatedClientAction`\" pulumi-lang-java=\"`unauthenticatedClientAction`\"\u003e`unauthenticated_client_action`\u003c/span\u003e to work.\n"},"enabled":{"type":"boolean","description":"Is Authentication enabled?\n"},"facebook":{"$ref":"#/types/azure:appservice/AppServiceAuthSettingsFacebook:AppServiceAuthSettingsFacebook","description":"A \u003cspan pulumi-lang-nodejs=\"`facebook`\" pulumi-lang-dotnet=\"`Facebook`\" pulumi-lang-go=\"`facebook`\" pulumi-lang-python=\"`facebook`\" pulumi-lang-yaml=\"`facebook`\" pulumi-lang-java=\"`facebook`\"\u003e`facebook`\u003c/span\u003e block as defined below.\n"},"google":{"$ref":"#/types/azure:appservice/AppServiceAuthSettingsGoogle:AppServiceAuthSettingsGoogle","description":"A \u003cspan pulumi-lang-nodejs=\"`google`\" pulumi-lang-dotnet=\"`Google`\" pulumi-lang-go=\"`google`\" pulumi-lang-python=\"`google`\" pulumi-lang-yaml=\"`google`\" pulumi-lang-java=\"`google`\"\u003e`google`\u003c/span\u003e block as defined below.\n"},"issuer":{"type":"string","description":"Issuer URI. When using Azure Active Directory, this value is the URI of the directory tenant, e.g. \u003chttps://sts.windows.net/{tenant-guid}/\u003e.\n"},"microsoft":{"$ref":"#/types/azure:appservice/AppServiceAuthSettingsMicrosoft:AppServiceAuthSettingsMicrosoft","description":"A \u003cspan pulumi-lang-nodejs=\"`microsoft`\" pulumi-lang-dotnet=\"`Microsoft`\" pulumi-lang-go=\"`microsoft`\" pulumi-lang-python=\"`microsoft`\" pulumi-lang-yaml=\"`microsoft`\" pulumi-lang-java=\"`microsoft`\"\u003e`microsoft`\u003c/span\u003e block as defined below.\n"},"runtimeVersion":{"type":"string","description":"The runtime version of the Authentication/Authorization module.\n"},"tokenRefreshExtensionHours":{"type":"number","description":"The number of hours after session token expiration that a session token can be used to call the token refresh API. Defaults to \u003cspan pulumi-lang-nodejs=\"`72`\" pulumi-lang-dotnet=\"`72`\" pulumi-lang-go=\"`72`\" pulumi-lang-python=\"`72`\" pulumi-lang-yaml=\"`72`\" pulumi-lang-java=\"`72`\"\u003e`72`\u003c/span\u003e.\n"},"tokenStoreEnabled":{"type":"boolean","description":"If enabled the module will durably store platform-specific security tokens that are obtained during login flows. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"twitter":{"$ref":"#/types/azure:appservice/AppServiceAuthSettingsTwitter:AppServiceAuthSettingsTwitter","description":"A \u003cspan pulumi-lang-nodejs=\"`twitter`\" pulumi-lang-dotnet=\"`Twitter`\" pulumi-lang-go=\"`twitter`\" pulumi-lang-python=\"`twitter`\" pulumi-lang-yaml=\"`twitter`\" pulumi-lang-java=\"`twitter`\"\u003e`twitter`\u003c/span\u003e block as defined below.\n"},"unauthenticatedClientAction":{"type":"string","description":"The action to take when an unauthenticated client attempts to access the app. Possible values are `AllowAnonymous` and `RedirectToLoginPage`.\n"}},"type":"object","required":["enabled"]},"azure:appservice/AppServiceAuthSettingsActiveDirectory:AppServiceAuthSettingsActiveDirectory":{"properties":{"allowedAudiences":{"type":"array","items":{"type":"string"},"description":"Allowed audience values to consider when validating JWTs issued by Azure Active Directory.\n"},"clientId":{"type":"string","description":"The Client ID of this relying party application. Enables OpenIDConnection authentication with Azure Active Directory.\n"},"clientSecret":{"type":"string","description":"The Client Secret of this relying party application. If no secret is provided, implicit flow will be used.\n","secret":true}},"type":"object","required":["clientId"]},"azure:appservice/AppServiceAuthSettingsFacebook:AppServiceAuthSettingsFacebook":{"properties":{"appId":{"type":"string","description":"The App ID of the Facebook app used for login\n"},"appSecret":{"type":"string","description":"The App Secret of the Facebook app used for Facebook login.\n","secret":true},"oauthScopes":{"type":"array","items":{"type":"string"},"description":"The OAuth 2.0 scopes that will be requested as part of Facebook login authentication. \u003chttps://developers.facebook.com/docs/facebook-login\u003e\n"}},"type":"object","required":["appId","appSecret"]},"azure:appservice/AppServiceAuthSettingsGoogle:AppServiceAuthSettingsGoogle":{"properties":{"clientId":{"type":"string","description":"The OpenID Connect Client ID for the Google web application.\n"},"clientSecret":{"type":"string","description":"The client secret associated with the Google web application.\n","secret":true},"oauthScopes":{"type":"array","items":{"type":"string"},"description":"The OAuth 2.0 scopes that will be requested as part of Google Sign-In authentication. \u003chttps://developers.google.com/identity/sign-in/web/\u003e\n"}},"type":"object","required":["clientId","clientSecret"]},"azure:appservice/AppServiceAuthSettingsMicrosoft:AppServiceAuthSettingsMicrosoft":{"properties":{"clientId":{"type":"string","description":"The OAuth 2.0 client ID that was created for the app used for authentication.\n"},"clientSecret":{"type":"string","description":"The OAuth 2.0 client secret that was created for the app used for authentication.\n","secret":true},"oauthScopes":{"type":"array","items":{"type":"string"},"description":"The OAuth 2.0 scopes that will be requested as part of Microsoft Account authentication. \u003chttps://msdn.microsoft.com/en-us/library/dn631845.aspx\u003e\n"}},"type":"object","required":["clientId","clientSecret"]},"azure:appservice/AppServiceAuthSettingsTwitter:AppServiceAuthSettingsTwitter":{"properties":{"consumerKey":{"type":"string","description":"The consumer key of the Twitter app used for login\n"},"consumerSecret":{"type":"string","description":"The consumer secret of the Twitter app used for login.\n","secret":true}},"type":"object","required":["consumerKey","consumerSecret"]},"azure:appservice/AppServiceBackup:AppServiceBackup":{"properties":{"enabled":{"type":"boolean","description":"Is this Backup enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"name":{"type":"string","description":"Specifies the name for this Backup.\n"},"schedule":{"$ref":"#/types/azure:appservice/AppServiceBackupSchedule:AppServiceBackupSchedule","description":"A \u003cspan pulumi-lang-nodejs=\"`schedule`\" pulumi-lang-dotnet=\"`Schedule`\" pulumi-lang-go=\"`schedule`\" pulumi-lang-python=\"`schedule`\" pulumi-lang-yaml=\"`schedule`\" pulumi-lang-java=\"`schedule`\"\u003e`schedule`\u003c/span\u003e block as defined below.\n"},"storageAccountUrl":{"type":"string","description":"The SAS URL to a Storage Container where Backups should be saved.\n","secret":true}},"type":"object","required":["name","schedule","storageAccountUrl"]},"azure:appservice/AppServiceBackupSchedule:AppServiceBackupSchedule":{"properties":{"frequencyInterval":{"type":"integer","description":"Sets how often the backup should be executed.\n"},"frequencyUnit":{"type":"string","description":"Sets the unit of time for how often the backup should be executed. Possible values are `Day` or `Hour`.\n"},"keepAtLeastOneBackup":{"type":"boolean","description":"Should at least one backup always be kept in the Storage Account by the Retention Policy, regardless of how old it is?\n"},"retentionPeriodInDays":{"type":"integer","description":"Specifies the number of days after which Backups should be deleted. Defaults to \u003cspan pulumi-lang-nodejs=\"`30`\" pulumi-lang-dotnet=\"`30`\" pulumi-lang-go=\"`30`\" pulumi-lang-python=\"`30`\" pulumi-lang-yaml=\"`30`\" pulumi-lang-java=\"`30`\"\u003e`30`\u003c/span\u003e.\n"},"startTime":{"type":"string","description":"Sets when the schedule should start working.\n"}},"type":"object","required":["frequencyInterval","frequencyUnit"]},"azure:appservice/AppServiceConnectionString:AppServiceConnectionString":{"properties":{"name":{"type":"string","description":"The name of the Connection String.\n"},"type":{"type":"string","description":"The type of the Connection String. Possible values are `APIHub`, `Custom`, `DocDb`, `EventHub`, `MySQL`, `NotificationHub`, `PostgreSQL`, `RedisCache`, `ServiceBus`, `SQLAzure` and `SQLServer`.\n"},"value":{"type":"string","description":"The value for the Connection String.\n","secret":true}},"type":"object","required":["name","type","value"]},"azure:appservice/AppServiceIdentity:AppServiceIdentity":{"properties":{"identityIds":{"type":"array","items":{"type":"string"},"description":"Specifies a list of user managed identity ids to be assigned. Required if \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is `UserAssigned`.\n"},"principalId":{"type":"string","description":"The Principal ID for the Service Principal associated with the Managed Service Identity of this App Service.\n"},"tenantId":{"type":"string","description":"The Tenant ID for the Service Principal associated with the Managed Service Identity of this App Service.\n"},"type":{"type":"string","description":"Specifies the identity type of the App Service. Possible values are `SystemAssigned` (where Azure will generate a Service Principal for you), `UserAssigned` where you can specify the Service Principal IDs in the \u003cspan pulumi-lang-nodejs=\"`identityIds`\" pulumi-lang-dotnet=\"`IdentityIds`\" pulumi-lang-go=\"`identityIds`\" pulumi-lang-python=\"`identity_ids`\" pulumi-lang-yaml=\"`identityIds`\" pulumi-lang-java=\"`identityIds`\"\u003e`identity_ids`\u003c/span\u003e field, and `SystemAssigned, UserAssigned` which assigns both a system managed identity as well as the specified user assigned identities.\n\n\u003e **NOTE:** When \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to `SystemAssigned`, The assigned \u003cspan pulumi-lang-nodejs=\"`principalId`\" pulumi-lang-dotnet=\"`PrincipalId`\" pulumi-lang-go=\"`principalId`\" pulumi-lang-python=\"`principal_id`\" pulumi-lang-yaml=\"`principalId`\" pulumi-lang-java=\"`principalId`\"\u003e`principal_id`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`tenantId`\" pulumi-lang-dotnet=\"`TenantId`\" pulumi-lang-go=\"`tenantId`\" pulumi-lang-python=\"`tenant_id`\" pulumi-lang-yaml=\"`tenantId`\" pulumi-lang-java=\"`tenantId`\"\u003e`tenant_id`\u003c/span\u003e can be retrieved after the App Service has been created. More details are available below.\n"}},"type":"object","required":["type"],"language":{"nodejs":{"requiredOutputs":["principalId","tenantId","type"]}}},"azure:appservice/AppServiceLogs:AppServiceLogs":{"properties":{"applicationLogs":{"$ref":"#/types/azure:appservice/AppServiceLogsApplicationLogs:AppServiceLogsApplicationLogs","description":"An \u003cspan pulumi-lang-nodejs=\"`applicationLogs`\" pulumi-lang-dotnet=\"`ApplicationLogs`\" pulumi-lang-go=\"`applicationLogs`\" pulumi-lang-python=\"`application_logs`\" pulumi-lang-yaml=\"`applicationLogs`\" pulumi-lang-java=\"`applicationLogs`\"\u003e`application_logs`\u003c/span\u003e block as defined below.\n"},"detailedErrorMessagesEnabled":{"type":"boolean","description":"Should `Detailed error messages` be enabled on this App Service? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"failedRequestTracingEnabled":{"type":"boolean","description":"Should `Failed request tracing` be enabled on this App Service? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"httpLogs":{"$ref":"#/types/azure:appservice/AppServiceLogsHttpLogs:AppServiceLogsHttpLogs","description":"An \u003cspan pulumi-lang-nodejs=\"`httpLogs`\" pulumi-lang-dotnet=\"`HttpLogs`\" pulumi-lang-go=\"`httpLogs`\" pulumi-lang-python=\"`http_logs`\" pulumi-lang-yaml=\"`httpLogs`\" pulumi-lang-java=\"`httpLogs`\"\u003e`http_logs`\u003c/span\u003e block as defined below.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["applicationLogs","httpLogs"]}}},"azure:appservice/AppServiceLogsApplicationLogs:AppServiceLogsApplicationLogs":{"properties":{"azureBlobStorage":{"$ref":"#/types/azure:appservice/AppServiceLogsApplicationLogsAzureBlobStorage:AppServiceLogsApplicationLogsAzureBlobStorage","description":"An \u003cspan pulumi-lang-nodejs=\"`azureBlobStorage`\" pulumi-lang-dotnet=\"`AzureBlobStorage`\" pulumi-lang-go=\"`azureBlobStorage`\" pulumi-lang-python=\"`azure_blob_storage`\" pulumi-lang-yaml=\"`azureBlobStorage`\" pulumi-lang-java=\"`azureBlobStorage`\"\u003e`azure_blob_storage`\u003c/span\u003e block as defined below.\n"},"fileSystemLevel":{"type":"string","description":"Log level for filesystem based logging. Supported values are `Error`, `Information`, `Verbose`, `Warning` and `Off`. Defaults to `Off`.\n"}},"type":"object"},"azure:appservice/AppServiceLogsApplicationLogsAzureBlobStorage:AppServiceLogsApplicationLogsAzureBlobStorage":{"properties":{"level":{"type":"string","description":"The level at which to log. Possible values include `Error`, `Warning`, `Information`, `Verbose` and `Off`. **NOTE:** this field is not available for \u003cspan pulumi-lang-nodejs=\"`httpLogs`\" pulumi-lang-dotnet=\"`HttpLogs`\" pulumi-lang-go=\"`httpLogs`\" pulumi-lang-python=\"`http_logs`\" pulumi-lang-yaml=\"`httpLogs`\" pulumi-lang-java=\"`httpLogs`\"\u003e`http_logs`\u003c/span\u003e\n"},"retentionInDays":{"type":"integer","description":"The number of days to retain logs for.\n"},"sasUrl":{"type":"string","description":"The URL to the storage container with a shared access signature token appended.\n\n\u003e **Note:** There isn't enough information to for the provider to generate the \u003cspan pulumi-lang-nodejs=\"`sasUrl`\" pulumi-lang-dotnet=\"`SasUrl`\" pulumi-lang-go=\"`sasUrl`\" pulumi-lang-python=\"`sas_url`\" pulumi-lang-yaml=\"`sasUrl`\" pulumi-lang-java=\"`sasUrl`\"\u003e`sas_url`\u003c/span\u003e from `data.azurerm_storage_account_sas` and it should be built by hand (i.e. `https://${azurerm_storage_account.example.name}.blob.core.windows.net/${azurerm_storage_container.example.name}${data.azurerm_storage_account_sas.example.sas}\u0026sr=b`).\n","secret":true}},"type":"object","required":["level","retentionInDays","sasUrl"]},"azure:appservice/AppServiceLogsHttpLogs:AppServiceLogsHttpLogs":{"properties":{"azureBlobStorage":{"$ref":"#/types/azure:appservice/AppServiceLogsHttpLogsAzureBlobStorage:AppServiceLogsHttpLogsAzureBlobStorage","description":"An \u003cspan pulumi-lang-nodejs=\"`azureBlobStorage`\" pulumi-lang-dotnet=\"`AzureBlobStorage`\" pulumi-lang-go=\"`azureBlobStorage`\" pulumi-lang-python=\"`azure_blob_storage`\" pulumi-lang-yaml=\"`azureBlobStorage`\" pulumi-lang-java=\"`azureBlobStorage`\"\u003e`azure_blob_storage`\u003c/span\u003e block as defined below.\n"},"fileSystem":{"$ref":"#/types/azure:appservice/AppServiceLogsHttpLogsFileSystem:AppServiceLogsHttpLogsFileSystem","description":"A \u003cspan pulumi-lang-nodejs=\"`fileSystem`\" pulumi-lang-dotnet=\"`FileSystem`\" pulumi-lang-go=\"`fileSystem`\" pulumi-lang-python=\"`file_system`\" pulumi-lang-yaml=\"`fileSystem`\" pulumi-lang-java=\"`fileSystem`\"\u003e`file_system`\u003c/span\u003e block as defined below.\n"}},"type":"object"},"azure:appservice/AppServiceLogsHttpLogsAzureBlobStorage:AppServiceLogsHttpLogsAzureBlobStorage":{"properties":{"retentionInDays":{"type":"integer","description":"The number of days to retain logs for.\n"},"sasUrl":{"type":"string","description":"The URL to the storage container with a shared access signature token appended.\n\n\u003e **Note:** There isn't enough information to for the provider to generate the \u003cspan pulumi-lang-nodejs=\"`sasUrl`\" pulumi-lang-dotnet=\"`SasUrl`\" pulumi-lang-go=\"`sasUrl`\" pulumi-lang-python=\"`sas_url`\" pulumi-lang-yaml=\"`sasUrl`\" pulumi-lang-java=\"`sasUrl`\"\u003e`sas_url`\u003c/span\u003e from `data.azurerm_storage_account_sas` and it should be built by hand (i.e. `https://${azurerm_storage_account.example.name}.blob.core.windows.net/${azurerm_storage_container.example.name}${data.azurerm_storage_account_sas.example.sas}\u0026sr=b`).\n","secret":true}},"type":"object","required":["retentionInDays","sasUrl"]},"azure:appservice/AppServiceLogsHttpLogsFileSystem:AppServiceLogsHttpLogsFileSystem":{"properties":{"retentionInDays":{"type":"integer","description":"The number of days to retain logs for.\n"},"retentionInMb":{"type":"integer","description":"The maximum size in megabytes that HTTP log files can use before being removed.\n"}},"type":"object","required":["retentionInDays","retentionInMb"]},"azure:appservice/AppServiceSiteConfig:AppServiceSiteConfig":{"properties":{"acrUseManagedIdentityCredentials":{"type":"boolean","description":"Are Managed Identity Credentials used for Azure Container Registry pull\n"},"acrUserManagedIdentityClientId":{"type":"string","description":"If using User Managed Identity, the User Managed Identity Client Id\n\n\u003e **NOTE:** When using User Managed Identity with Azure Container Registry the Identity will need to have the [ACRPull role assigned](https://docs.microsoft.com/azure/container-registry/container-registry-authentication-managed-identity#example-1-access-with-a-user-assigned-identity)\n"},"alwaysOn":{"type":"boolean","description":"Should the app be loaded at all times? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **NOTE:** when using an App Service Plan in the `Free` or `Shared` Tiers \u003cspan pulumi-lang-nodejs=\"`alwaysOn`\" pulumi-lang-dotnet=\"`AlwaysOn`\" pulumi-lang-go=\"`alwaysOn`\" pulumi-lang-python=\"`always_on`\" pulumi-lang-yaml=\"`alwaysOn`\" pulumi-lang-java=\"`alwaysOn`\"\u003e`always_on`\u003c/span\u003e must be set to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"appCommandLine":{"type":"string","description":"App command line to launch, e.g. `/sbin/myserver -b 0.0.0.0`.\n"},"autoSwapSlotName":{"type":"string","description":"The name of the slot to automatically swap to during deployment\n"},"cors":{"$ref":"#/types/azure:appservice/AppServiceSiteConfigCors:AppServiceSiteConfigCors","description":"A \u003cspan pulumi-lang-nodejs=\"`cors`\" pulumi-lang-dotnet=\"`Cors`\" pulumi-lang-go=\"`cors`\" pulumi-lang-python=\"`cors`\" pulumi-lang-yaml=\"`cors`\" pulumi-lang-java=\"`cors`\"\u003e`cors`\u003c/span\u003e block as defined below.\n"},"defaultDocuments":{"type":"array","items":{"type":"string"},"description":"The ordering of default documents to load, if an address isn't specified.\n"},"dotnetFrameworkVersion":{"type":"string","description":"The version of the .NET framework's CLR used in this App Service. Possible values are `v2.0` (which will use the latest version of the .NET framework for the .NET CLR v2 - currently `.net 3.5`), `v4.0` (which corresponds to the latest version of the .NET CLR v4 - which at the time of writing is `.net 4.7.1`), `v5.0` and `v6.0`. [For more information on which .NET CLR version to use based on the .NET framework you're targeting - please see this table](https://en.wikipedia.org/wiki/.NET_Framework_version_history#Overview). Defaults to `v4.0`.\n"},"ftpsState":{"type":"string","description":"State of FTP / FTPS service for this App Service. Possible values include: `AllAllowed`, `FtpsOnly` and `Disabled`.\n"},"healthCheckPath":{"type":"string","description":"The health check path to be pinged by App Service. [For more information - please see App Service health check announcement](https://azure.github.io/AppService/2020/08/24/healthcheck-on-app-service.html).\n"},"http2Enabled":{"type":"boolean","description":"Is HTTP2 Enabled on this App Service? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"ipRestrictions":{"type":"array","items":{"$ref":"#/types/azure:appservice/AppServiceSiteConfigIpRestriction:AppServiceSiteConfigIpRestriction"},"description":"A list of objects representing ip restrictions as defined below.\n\n\u003e **NOTE** User has to explicitly set \u003cspan pulumi-lang-nodejs=\"`ipRestriction`\" pulumi-lang-dotnet=\"`IpRestriction`\" pulumi-lang-go=\"`ipRestriction`\" pulumi-lang-python=\"`ip_restriction`\" pulumi-lang-yaml=\"`ipRestriction`\" pulumi-lang-java=\"`ipRestriction`\"\u003e`ip_restriction`\u003c/span\u003e to empty slice (`[]`) to remove it.\n"},"javaContainer":{"type":"string","description":"The Java Container to use. If specified \u003cspan pulumi-lang-nodejs=\"`javaVersion`\" pulumi-lang-dotnet=\"`JavaVersion`\" pulumi-lang-go=\"`javaVersion`\" pulumi-lang-python=\"`java_version`\" pulumi-lang-yaml=\"`javaVersion`\" pulumi-lang-java=\"`javaVersion`\"\u003e`java_version`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`javaContainerVersion`\" pulumi-lang-dotnet=\"`JavaContainerVersion`\" pulumi-lang-go=\"`javaContainerVersion`\" pulumi-lang-python=\"`java_container_version`\" pulumi-lang-yaml=\"`javaContainerVersion`\" pulumi-lang-java=\"`javaContainerVersion`\"\u003e`java_container_version`\u003c/span\u003e must also be specified. Possible values are `JAVA`, `JETTY`, and `TOMCAT`.\n"},"javaContainerVersion":{"type":"string","description":"The version of the Java Container to use. If specified \u003cspan pulumi-lang-nodejs=\"`javaVersion`\" pulumi-lang-dotnet=\"`JavaVersion`\" pulumi-lang-go=\"`javaVersion`\" pulumi-lang-python=\"`java_version`\" pulumi-lang-yaml=\"`javaVersion`\" pulumi-lang-java=\"`javaVersion`\"\u003e`java_version`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`javaContainer`\" pulumi-lang-dotnet=\"`JavaContainer`\" pulumi-lang-go=\"`javaContainer`\" pulumi-lang-python=\"`java_container`\" pulumi-lang-yaml=\"`javaContainer`\" pulumi-lang-java=\"`javaContainer`\"\u003e`java_container`\u003c/span\u003e must also be specified.\n"},"javaVersion":{"type":"string","description":"The version of Java to use. If specified \u003cspan pulumi-lang-nodejs=\"`javaContainer`\" pulumi-lang-dotnet=\"`JavaContainer`\" pulumi-lang-go=\"`javaContainer`\" pulumi-lang-python=\"`java_container`\" pulumi-lang-yaml=\"`javaContainer`\" pulumi-lang-java=\"`javaContainer`\"\u003e`java_container`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`javaContainerVersion`\" pulumi-lang-dotnet=\"`JavaContainerVersion`\" pulumi-lang-go=\"`javaContainerVersion`\" pulumi-lang-python=\"`java_container_version`\" pulumi-lang-yaml=\"`javaContainerVersion`\" pulumi-lang-java=\"`javaContainerVersion`\"\u003e`java_container_version`\u003c/span\u003e must also be specified. Possible values are `1.7`, `1.8` and \u003cspan pulumi-lang-nodejs=\"`11`\" pulumi-lang-dotnet=\"`11`\" pulumi-lang-go=\"`11`\" pulumi-lang-python=\"`11`\" pulumi-lang-yaml=\"`11`\" pulumi-lang-java=\"`11`\"\u003e`11`\u003c/span\u003e and their specific versions - except for Java 11 (e.g. `1.7.0_80`, `1.8.0_181`, \u003cspan pulumi-lang-nodejs=\"`11`\" pulumi-lang-dotnet=\"`11`\" pulumi-lang-go=\"`11`\" pulumi-lang-python=\"`11`\" pulumi-lang-yaml=\"`11`\" pulumi-lang-java=\"`11`\"\u003e`11`\u003c/span\u003e)\n"},"linuxFxVersion":{"type":"string","description":"Linux App Framework and version for the App Service. Possible options are a Docker container (`DOCKER|\u003cuser/image:tag\u003e`), a base-64 encoded Docker Compose file (`COMPOSE|${filebase64(\"compose.yml\")}`) or a base-64 encoded Kubernetes Manifest (`KUBE|${filebase64(\"kubernetes.yml\")}`).\n\n\u003e **NOTE:** To set this property the App Service Plan to which the App belongs must be configured with `kind = \"Linux\"`, and `reserved = true` or the API will reject any value supplied.\n"},"localMysqlEnabled":{"type":"boolean","description":"Is \"MySQL In App\" Enabled? This runs a local MySQL instance with your app and shares resources from the App Service plan.\n\n\u003e **NOTE:** MySQL In App is not intended for production environments and will not scale beyond a single instance. Instead you may wish to use Azure Database for MySQL.\n"},"managedPipelineMode":{"type":"string","description":"The Managed Pipeline Mode. Possible values are `Integrated` and `Classic`. Defaults to `Integrated`.\n"},"minTlsVersion":{"type":"string","description":"The minimum supported TLS version for the app service. Possible values are `1.0`, `1.1`, and `1.2`. Defaults to `1.2` for new app services.\n"},"numberOfWorkers":{"type":"integer","description":"The scaled number of workers (for per site scaling) of this App Service. Requires that \u003cspan pulumi-lang-nodejs=\"`perSiteScaling`\" pulumi-lang-dotnet=\"`PerSiteScaling`\" pulumi-lang-go=\"`perSiteScaling`\" pulumi-lang-python=\"`per_site_scaling`\" pulumi-lang-yaml=\"`perSiteScaling`\" pulumi-lang-java=\"`perSiteScaling`\"\u003e`per_site_scaling`\u003c/span\u003e is enabled on the \u003cspan pulumi-lang-nodejs=\"`azure.appservice.Plan`\" pulumi-lang-dotnet=\"`azure.appservice.Plan`\" pulumi-lang-go=\"`appservice.Plan`\" pulumi-lang-python=\"`appservice.Plan`\" pulumi-lang-yaml=\"`azure.appservice.Plan`\" pulumi-lang-java=\"`azure.appservice.Plan`\"\u003e`azure.appservice.Plan`\u003c/span\u003e. [For more information - please see Microsoft documentation on high-density hosting](https://docs.microsoft.com/azure/app-service/manage-scale-per-app).\n"},"phpVersion":{"type":"string","description":"The version of PHP to use in this App Service. Possible values are `5.5`, `5.6`, `7.0`, `7.1`, `7.2`, `7.3` and `7.4`.\n"},"pythonVersion":{"type":"string","description":"The version of Python to use in this App Service. Possible values are `2.7` and `3.4`.\n"},"remoteDebuggingEnabled":{"type":"boolean","description":"Is Remote Debugging Enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"remoteDebuggingVersion":{"type":"string","description":"Which version of Visual Studio should the Remote Debugger be compatible with? Currently only `VS2022` is supported.\n"},"scmIpRestrictions":{"type":"array","items":{"$ref":"#/types/azure:appservice/AppServiceSiteConfigScmIpRestriction:AppServiceSiteConfigScmIpRestriction"},"description":"A list of \u003cspan pulumi-lang-nodejs=\"`scmIpRestriction`\" pulumi-lang-dotnet=\"`ScmIpRestriction`\" pulumi-lang-go=\"`scmIpRestriction`\" pulumi-lang-python=\"`scm_ip_restriction`\" pulumi-lang-yaml=\"`scmIpRestriction`\" pulumi-lang-java=\"`scmIpRestriction`\"\u003e`scm_ip_restriction`\u003c/span\u003e objects representing IP restrictions as defined below.\n\n\u003e **NOTE** User has to explicitly set \u003cspan pulumi-lang-nodejs=\"`scmIpRestriction`\" pulumi-lang-dotnet=\"`ScmIpRestriction`\" pulumi-lang-go=\"`scmIpRestriction`\" pulumi-lang-python=\"`scm_ip_restriction`\" pulumi-lang-yaml=\"`scmIpRestriction`\" pulumi-lang-java=\"`scmIpRestriction`\"\u003e`scm_ip_restriction`\u003c/span\u003e to empty slice (`[]`) to remove it.\n"},"scmType":{"type":"string","description":"The type of Source Control enabled for this App Service. Defaults to `None`. Possible values are: `BitbucketGit`, `BitbucketHg`, `CodePlexGit`, `CodePlexHg`, `Dropbox`, `ExternalGit`, `ExternalHg`, `GitHub`, `LocalGit`, `None`, `OneDrive`, `Tfs`, `VSO`, and `VSTSRM`\n"},"scmUseMainIpRestriction":{"type":"boolean","description":"IP security restrictions for scm to use main. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. \n\n\u003e **NOTE** Any \u003cspan pulumi-lang-nodejs=\"`scmIpRestriction`\" pulumi-lang-dotnet=\"`ScmIpRestriction`\" pulumi-lang-go=\"`scmIpRestriction`\" pulumi-lang-python=\"`scm_ip_restriction`\" pulumi-lang-yaml=\"`scmIpRestriction`\" pulumi-lang-java=\"`scmIpRestriction`\"\u003e`scm_ip_restriction`\u003c/span\u003e blocks configured are ignored by the service when \u003cspan pulumi-lang-nodejs=\"`scmUseMainIpRestriction`\" pulumi-lang-dotnet=\"`ScmUseMainIpRestriction`\" pulumi-lang-go=\"`scmUseMainIpRestriction`\" pulumi-lang-python=\"`scm_use_main_ip_restriction`\" pulumi-lang-yaml=\"`scmUseMainIpRestriction`\" pulumi-lang-java=\"`scmUseMainIpRestriction`\"\u003e`scm_use_main_ip_restriction`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e. Any scm restrictions will become active if this is subsequently set to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e or removed.\n"},"use32BitWorkerProcess":{"type":"boolean","description":"Should the App Service run in 32 bit mode, rather than 64 bit mode?\n\n\u003e **NOTE:** when using an App Service Plan in the `Free` or `Shared` Tiers \u003cspan pulumi-lang-nodejs=\"`use32BitWorkerProcess`\" pulumi-lang-dotnet=\"`Use32BitWorkerProcess`\" pulumi-lang-go=\"`use32BitWorkerProcess`\" pulumi-lang-python=\"`use_32_bit_worker_process`\" pulumi-lang-yaml=\"`use32BitWorkerProcess`\" pulumi-lang-java=\"`use32BitWorkerProcess`\"\u003e`use_32_bit_worker_process`\u003c/span\u003e must be set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"vnetRouteAllEnabled":{"type":"boolean","description":"Should all outbound traffic to have Virtual Network Security Groups and User Defined Routes applied? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **NOTE:** This setting supersedes the previous mechanism of setting the \u003cspan pulumi-lang-nodejs=\"`appSettings`\" pulumi-lang-dotnet=\"`AppSettings`\" pulumi-lang-go=\"`appSettings`\" pulumi-lang-python=\"`app_settings`\" pulumi-lang-yaml=\"`appSettings`\" pulumi-lang-java=\"`appSettings`\"\u003e`app_settings`\u003c/span\u003e value of `WEBSITE_VNET_ROUTE_ALL`. However, to prevent older configurations breaking Terraform will update this value if it not explicitly set to the value in `app_settings.WEBSITE_VNET_ROUTE_ALL`.\n"},"websocketsEnabled":{"type":"boolean","description":"Should WebSockets be enabled?\n"},"windowsFxVersion":{"type":"string","description":"The Windows Docker container image (`DOCKER|\u003cuser/image:tag\u003e`)\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["cors","ftpsState","ipRestrictions","linuxFxVersion","localMysqlEnabled","managedPipelineMode","minTlsVersion","numberOfWorkers","remoteDebuggingVersion","scmIpRestrictions","scmType","vnetRouteAllEnabled","websocketsEnabled","windowsFxVersion"]}}},"azure:appservice/AppServiceSiteConfigCors:AppServiceSiteConfigCors":{"properties":{"allowedOrigins":{"type":"array","items":{"type":"string"},"description":"A list of origins which should be able to make cross-origin calls. `*` can be used to allow all calls.\n"},"supportCredentials":{"type":"boolean","description":"Are credentials supported?\n"}},"type":"object","required":["allowedOrigins"]},"azure:appservice/AppServiceSiteConfigIpRestriction:AppServiceSiteConfigIpRestriction":{"properties":{"action":{"type":"string","description":"Does this restriction `Allow` or `Deny` access for this IP range. Defaults to `Allow`.\n"},"headers":{"$ref":"#/types/azure:appservice/AppServiceSiteConfigIpRestrictionHeaders:AppServiceSiteConfigIpRestrictionHeaders","description":"The \u003cspan pulumi-lang-nodejs=\"`headers`\" pulumi-lang-dotnet=\"`Headers`\" pulumi-lang-go=\"`headers`\" pulumi-lang-python=\"`headers`\" pulumi-lang-yaml=\"`headers`\" pulumi-lang-java=\"`headers`\"\u003e`headers`\u003c/span\u003e block for this specific \u003cspan pulumi-lang-nodejs=\"`ipRestriction`\" pulumi-lang-dotnet=\"`IpRestriction`\" pulumi-lang-go=\"`ipRestriction`\" pulumi-lang-python=\"`ip_restriction`\" pulumi-lang-yaml=\"`ipRestriction`\" pulumi-lang-java=\"`ipRestriction`\"\u003e`ip_restriction`\u003c/span\u003e as defined below.\n"},"ipAddress":{"type":"string","description":"The IP Address used for this IP Restriction in CIDR notation.\n"},"name":{"type":"string","description":"The name for this IP Restriction.\n"},"priority":{"type":"integer","description":"The priority for this IP Restriction. Restrictions are enforced in priority order. By default, priority is set to 65000 if not specified.\n"},"serviceTag":{"type":"string","description":"The Service Tag used for this IP Restriction.\n"},"virtualNetworkSubnetId":{"type":"string","description":"The Virtual Network Subnet ID used for this IP Restriction.\n\n\u003e **NOTE:** One of either \u003cspan pulumi-lang-nodejs=\"`ipAddress`\" pulumi-lang-dotnet=\"`IpAddress`\" pulumi-lang-go=\"`ipAddress`\" pulumi-lang-python=\"`ip_address`\" pulumi-lang-yaml=\"`ipAddress`\" pulumi-lang-java=\"`ipAddress`\"\u003e`ip_address`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`serviceTag`\" pulumi-lang-dotnet=\"`ServiceTag`\" pulumi-lang-go=\"`serviceTag`\" pulumi-lang-python=\"`service_tag`\" pulumi-lang-yaml=\"`serviceTag`\" pulumi-lang-java=\"`serviceTag`\"\u003e`service_tag`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`virtualNetworkSubnetId`\" pulumi-lang-dotnet=\"`VirtualNetworkSubnetId`\" pulumi-lang-go=\"`virtualNetworkSubnetId`\" pulumi-lang-python=\"`virtual_network_subnet_id`\" pulumi-lang-yaml=\"`virtualNetworkSubnetId`\" pulumi-lang-java=\"`virtualNetworkSubnetId`\"\u003e`virtual_network_subnet_id`\u003c/span\u003e must be specified\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["headers","name"]}}},"azure:appservice/AppServiceSiteConfigIpRestrictionHeaders:AppServiceSiteConfigIpRestrictionHeaders":{"properties":{"xAzureFdids":{"type":"array","items":{"type":"string"},"description":"A list of allowed Azure FrontDoor IDs in UUID notation with a maximum of 8.\n"},"xFdHealthProbe":{"type":"string","description":"A list to allow the Azure FrontDoor health probe header. Only allowed value is \"1\".\n"},"xForwardedFors":{"type":"array","items":{"type":"string"},"description":"A list of allowed 'X-Forwarded-For' IPs in CIDR notation with a maximum of 8\n"},"xForwardedHosts":{"type":"array","items":{"type":"string"},"description":"A list of allowed 'X-Forwarded-Host' domains with a maximum of 8.\n"}},"type":"object"},"azure:appservice/AppServiceSiteConfigScmIpRestriction:AppServiceSiteConfigScmIpRestriction":{"properties":{"action":{"type":"string","description":"Allow or Deny access for this IP range. Defaults to `Allow`.\n"},"headers":{"$ref":"#/types/azure:appservice/AppServiceSiteConfigScmIpRestrictionHeaders:AppServiceSiteConfigScmIpRestrictionHeaders","description":"The \u003cspan pulumi-lang-nodejs=\"`headers`\" pulumi-lang-dotnet=\"`Headers`\" pulumi-lang-go=\"`headers`\" pulumi-lang-python=\"`headers`\" pulumi-lang-yaml=\"`headers`\" pulumi-lang-java=\"`headers`\"\u003e`headers`\u003c/span\u003e block for this specific \u003cspan pulumi-lang-nodejs=\"`scmIpRestriction`\" pulumi-lang-dotnet=\"`ScmIpRestriction`\" pulumi-lang-go=\"`scmIpRestriction`\" pulumi-lang-python=\"`scm_ip_restriction`\" pulumi-lang-yaml=\"`scmIpRestriction`\" pulumi-lang-java=\"`scmIpRestriction`\"\u003e`scm_ip_restriction`\u003c/span\u003e as defined below.\n"},"ipAddress":{"type":"string","description":"The IP Address used for this IP Restriction in CIDR notation.\n"},"name":{"type":"string","description":"The name for this IP Restriction.\n"},"priority":{"type":"integer","description":"The priority for this IP Restriction. Restrictions are enforced in priority order. By default, priority is set to 65000 if not specified.\n"},"serviceTag":{"type":"string","description":"The Service Tag used for this IP Restriction.\n"},"virtualNetworkSubnetId":{"type":"string","description":"The Virtual Network Subnet ID used for this IP Restriction.\n\n\u003e **NOTE:** One of either \u003cspan pulumi-lang-nodejs=\"`ipAddress`\" pulumi-lang-dotnet=\"`IpAddress`\" pulumi-lang-go=\"`ipAddress`\" pulumi-lang-python=\"`ip_address`\" pulumi-lang-yaml=\"`ipAddress`\" pulumi-lang-java=\"`ipAddress`\"\u003e`ip_address`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`serviceTag`\" pulumi-lang-dotnet=\"`ServiceTag`\" pulumi-lang-go=\"`serviceTag`\" pulumi-lang-python=\"`service_tag`\" pulumi-lang-yaml=\"`serviceTag`\" pulumi-lang-java=\"`serviceTag`\"\u003e`service_tag`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`virtualNetworkSubnetId`\" pulumi-lang-dotnet=\"`VirtualNetworkSubnetId`\" pulumi-lang-go=\"`virtualNetworkSubnetId`\" pulumi-lang-python=\"`virtual_network_subnet_id`\" pulumi-lang-yaml=\"`virtualNetworkSubnetId`\" pulumi-lang-java=\"`virtualNetworkSubnetId`\"\u003e`virtual_network_subnet_id`\u003c/span\u003e must be specified\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["headers","name"]}}},"azure:appservice/AppServiceSiteConfigScmIpRestrictionHeaders:AppServiceSiteConfigScmIpRestrictionHeaders":{"properties":{"xAzureFdids":{"type":"array","items":{"type":"string"},"description":"A list of allowed Azure FrontDoor IDs in UUID notation with a maximum of 8.\n"},"xFdHealthProbe":{"type":"string","description":"A list to allow the Azure FrontDoor health probe header. Only allowed value is \"1\".\n"},"xForwardedFors":{"type":"array","items":{"type":"string"},"description":"A list of allowed 'X-Forwarded-For' IPs in CIDR notation with a maximum of 8\n"},"xForwardedHosts":{"type":"array","items":{"type":"string"},"description":"A list of allowed 'X-Forwarded-Host' domains with a maximum of 8.\n"}},"type":"object"},"azure:appservice/AppServiceSiteCredential:AppServiceSiteCredential":{"properties":{"password":{"type":"string","description":"The password associated with the username, which can be used to publish to this App Service.\n","secret":true},"username":{"type":"string","description":"The username which can be used to publish to this App Service\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["password","username"]}}},"azure:appservice/AppServiceSourceControl:AppServiceSourceControl":{"properties":{"branch":{"type":"string","description":"The branch of the remote repository to use. Defaults to 'master'.\n"},"manualIntegration":{"type":"boolean","description":"Limits to manual integration. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e if not specified.\n"},"repoUrl":{"type":"string","description":"The URL of the source code repository.\n"},"rollbackEnabled":{"type":"boolean","description":"Enable roll-back for the repository. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e if not specified.\n"},"useMercurial":{"type":"boolean","description":"Use Mercurial if \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, otherwise uses Git.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["branch","manualIntegration","repoUrl","rollbackEnabled","useMercurial"]}}},"azure:appservice/AppServiceStorageAccount:AppServiceStorageAccount":{"properties":{"accessKey":{"type":"string","description":"The access key for the storage account.\n","secret":true},"accountName":{"type":"string","description":"The name of the storage account.\n"},"mountPath":{"type":"string","description":"The path to mount the storage within the site's runtime environment.\n"},"name":{"type":"string","description":"The name of the storage account identifier.\n"},"shareName":{"type":"string","description":"The name of the file share (container name, for Blob storage).\n"},"type":{"type":"string","description":"The type of storage. Possible values are `AzureBlob` and `AzureFiles`.\n"}},"type":"object","required":["accessKey","accountName","name","shareName","type"]},"azure:appservice/CertificateOrderCertificate:CertificateOrderCertificate":{"properties":{"certificateName":{"type":"string","description":"The name of the App Service Certificate.\n"},"keyVaultId":{"type":"string","description":"Key Vault resource Id.\n"},"keyVaultSecretName":{"type":"string","description":"Key Vault secret name.\n"},"provisioningState":{"type":"string","description":"Status of the Key Vault secret.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["certificateName","keyVaultId","keyVaultSecretName","provisioningState"]}}},"azure:appservice/ConnectionAuthentication:ConnectionAuthentication":{"properties":{"certificate":{"type":"string","description":"Service principal certificate for `servicePrincipal` auth. Should be specified when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to `servicePrincipalCertificate`.\n","secret":true},"clientId":{"type":"string","description":"Client ID for `userAssignedIdentity` or `servicePrincipal` auth. Should be specified when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to `servicePrincipalSecret` or `servicePrincipalCertificate`. When \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to `userAssignedIdentity`, \u003cspan pulumi-lang-nodejs=\"`clientId`\" pulumi-lang-dotnet=\"`ClientId`\" pulumi-lang-go=\"`clientId`\" pulumi-lang-python=\"`client_id`\" pulumi-lang-yaml=\"`clientId`\" pulumi-lang-java=\"`clientId`\"\u003e`client_id`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`subscriptionId`\" pulumi-lang-dotnet=\"`SubscriptionId`\" pulumi-lang-go=\"`subscriptionId`\" pulumi-lang-python=\"`subscription_id`\" pulumi-lang-yaml=\"`subscriptionId`\" pulumi-lang-java=\"`subscriptionId`\"\u003e`subscription_id`\u003c/span\u003e should be either both specified or both not specified.\n"},"name":{"type":"string","description":"Username or account name for secret auth. \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`secret`\" pulumi-lang-dotnet=\"`Secret`\" pulumi-lang-go=\"`secret`\" pulumi-lang-python=\"`secret`\" pulumi-lang-yaml=\"`secret`\" pulumi-lang-java=\"`secret`\"\u003e`secret`\u003c/span\u003e should be either both specified or both not specified when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`secret`\" pulumi-lang-dotnet=\"`Secret`\" pulumi-lang-go=\"`secret`\" pulumi-lang-python=\"`secret`\" pulumi-lang-yaml=\"`secret`\" pulumi-lang-java=\"`secret`\"\u003e`secret`\u003c/span\u003e.\n"},"principalId":{"type":"string","description":"Principal ID for `servicePrincipal` auth. Should be specified when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to `servicePrincipalSecret` or `servicePrincipalCertificate`.\n"},"secret":{"type":"string","description":"Password or account key for secret auth. \u003cspan pulumi-lang-nodejs=\"`secret`\" pulumi-lang-dotnet=\"`Secret`\" pulumi-lang-go=\"`secret`\" pulumi-lang-python=\"`secret`\" pulumi-lang-yaml=\"`secret`\" pulumi-lang-java=\"`secret`\"\u003e`secret`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e should be either both specified or both not specified when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`secret`\" pulumi-lang-dotnet=\"`Secret`\" pulumi-lang-go=\"`secret`\" pulumi-lang-python=\"`secret`\" pulumi-lang-yaml=\"`secret`\" pulumi-lang-java=\"`secret`\"\u003e`secret`\u003c/span\u003e.\n","secret":true},"subscriptionId":{"type":"string","description":"Subscription ID for `userAssignedIdentity`. \u003cspan pulumi-lang-nodejs=\"`subscriptionId`\" pulumi-lang-dotnet=\"`SubscriptionId`\" pulumi-lang-go=\"`subscriptionId`\" pulumi-lang-python=\"`subscription_id`\" pulumi-lang-yaml=\"`subscriptionId`\" pulumi-lang-java=\"`subscriptionId`\"\u003e`subscription_id`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`clientId`\" pulumi-lang-dotnet=\"`ClientId`\" pulumi-lang-go=\"`clientId`\" pulumi-lang-python=\"`client_id`\" pulumi-lang-yaml=\"`clientId`\" pulumi-lang-java=\"`clientId`\"\u003e`client_id`\u003c/span\u003e should be either both specified or both not specified.\n"},"type":{"type":"string","description":"The authentication type. Possible values are `systemAssignedIdentity`, `userAssignedIdentity`, `servicePrincipalSecret`, `servicePrincipalCertificate`, \u003cspan pulumi-lang-nodejs=\"`secret`\" pulumi-lang-dotnet=\"`Secret`\" pulumi-lang-go=\"`secret`\" pulumi-lang-python=\"`secret`\" pulumi-lang-yaml=\"`secret`\" pulumi-lang-java=\"`secret`\"\u003e`secret`\u003c/span\u003e. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["type"]},"azure:appservice/ConnectionSecretStore:ConnectionSecretStore":{"properties":{"keyVaultId":{"type":"string","description":"The key vault id to store secret.\n"}},"type":"object","required":["keyVaultId"]},"azure:appservice/EnvironmentV3ClusterSetting:EnvironmentV3ClusterSetting":{"properties":{"name":{"type":"string","description":"The name of the Cluster Setting.\n"},"value":{"type":"string","description":"The value for the Cluster Setting.\n"}},"type":"object","required":["name","value"]},"azure:appservice/EnvironmentV3InboundNetworkDependency:EnvironmentV3InboundNetworkDependency":{"properties":{"description":{"type":"string","description":"A short description of the purpose of the network traffic.\n"},"ipAddresses":{"type":"array","items":{"type":"string"},"description":"A list of IP addresses that network traffic will originate from in CIDR notation.\n"},"ports":{"type":"array","items":{"type":"string"},"description":"The ports that network traffic will arrive to the App Service Environment V3 on.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["description","ipAddresses","ports"]}}},"azure:appservice/FunctionAppAuthSettings:FunctionAppAuthSettings":{"properties":{"activeDirectory":{"$ref":"#/types/azure:appservice/FunctionAppAuthSettingsActiveDirectory:FunctionAppAuthSettingsActiveDirectory","description":"A \u003cspan pulumi-lang-nodejs=\"`activeDirectory`\" pulumi-lang-dotnet=\"`ActiveDirectory`\" pulumi-lang-go=\"`activeDirectory`\" pulumi-lang-python=\"`active_directory`\" pulumi-lang-yaml=\"`activeDirectory`\" pulumi-lang-java=\"`activeDirectory`\"\u003e`active_directory`\u003c/span\u003e block as defined below.\n"},"additionalLoginParams":{"type":"object","additionalProperties":{"type":"string"},"description":"Login parameters to send to the OpenID Connect authorization endpoint when a user logs in. Each parameter must be in the form \"key=value\".\n"},"allowedExternalRedirectUrls":{"type":"array","items":{"type":"string"},"description":"External URLs that can be redirected to as part of logging in or logging out of the app.\n"},"defaultProvider":{"type":"string","description":"The default provider to use when multiple providers have been set up. Possible values are `AzureActiveDirectory`, `Facebook`, `Google`, `MicrosoftAccount` and `Twitter`.\n\n\u003e **NOTE:** When using multiple providers, the default provider must be set for settings like \u003cspan pulumi-lang-nodejs=\"`unauthenticatedClientAction`\" pulumi-lang-dotnet=\"`UnauthenticatedClientAction`\" pulumi-lang-go=\"`unauthenticatedClientAction`\" pulumi-lang-python=\"`unauthenticated_client_action`\" pulumi-lang-yaml=\"`unauthenticatedClientAction`\" pulumi-lang-java=\"`unauthenticatedClientAction`\"\u003e`unauthenticated_client_action`\u003c/span\u003e to work.\n"},"enabled":{"type":"boolean","description":"Is Authentication enabled?\n"},"facebook":{"$ref":"#/types/azure:appservice/FunctionAppAuthSettingsFacebook:FunctionAppAuthSettingsFacebook","description":"A \u003cspan pulumi-lang-nodejs=\"`facebook`\" pulumi-lang-dotnet=\"`Facebook`\" pulumi-lang-go=\"`facebook`\" pulumi-lang-python=\"`facebook`\" pulumi-lang-yaml=\"`facebook`\" pulumi-lang-java=\"`facebook`\"\u003e`facebook`\u003c/span\u003e block as defined below.\n"},"google":{"$ref":"#/types/azure:appservice/FunctionAppAuthSettingsGoogle:FunctionAppAuthSettingsGoogle","description":"A \u003cspan pulumi-lang-nodejs=\"`google`\" pulumi-lang-dotnet=\"`Google`\" pulumi-lang-go=\"`google`\" pulumi-lang-python=\"`google`\" pulumi-lang-yaml=\"`google`\" pulumi-lang-java=\"`google`\"\u003e`google`\u003c/span\u003e block as defined below.\n"},"issuer":{"type":"string","description":"Issuer URI. When using Azure Active Directory, this value is the URI of the directory tenant, e.g. \u003chttps://sts.windows.net/{tenant-guid}/\u003e.\n"},"microsoft":{"$ref":"#/types/azure:appservice/FunctionAppAuthSettingsMicrosoft:FunctionAppAuthSettingsMicrosoft","description":"A \u003cspan pulumi-lang-nodejs=\"`microsoft`\" pulumi-lang-dotnet=\"`Microsoft`\" pulumi-lang-go=\"`microsoft`\" pulumi-lang-python=\"`microsoft`\" pulumi-lang-yaml=\"`microsoft`\" pulumi-lang-java=\"`microsoft`\"\u003e`microsoft`\u003c/span\u003e block as defined below.\n"},"runtimeVersion":{"type":"string","description":"The runtime version of the Authentication/Authorization module.\n"},"tokenRefreshExtensionHours":{"type":"number","description":"The number of hours after session token expiration that a session token can be used to call the token refresh API. Defaults to \u003cspan pulumi-lang-nodejs=\"`72`\" pulumi-lang-dotnet=\"`72`\" pulumi-lang-go=\"`72`\" pulumi-lang-python=\"`72`\" pulumi-lang-yaml=\"`72`\" pulumi-lang-java=\"`72`\"\u003e`72`\u003c/span\u003e.\n"},"tokenStoreEnabled":{"type":"boolean","description":"If enabled the module will durably store platform-specific security tokens that are obtained during login flows. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"twitter":{"$ref":"#/types/azure:appservice/FunctionAppAuthSettingsTwitter:FunctionAppAuthSettingsTwitter","description":"A \u003cspan pulumi-lang-nodejs=\"`twitter`\" pulumi-lang-dotnet=\"`Twitter`\" pulumi-lang-go=\"`twitter`\" pulumi-lang-python=\"`twitter`\" pulumi-lang-yaml=\"`twitter`\" pulumi-lang-java=\"`twitter`\"\u003e`twitter`\u003c/span\u003e block as defined below.\n"},"unauthenticatedClientAction":{"type":"string","description":"The action to take when an unauthenticated client attempts to access the app. Possible values are `AllowAnonymous` and `RedirectToLoginPage`.\n"}},"type":"object","required":["enabled"]},"azure:appservice/FunctionAppAuthSettingsActiveDirectory:FunctionAppAuthSettingsActiveDirectory":{"properties":{"allowedAudiences":{"type":"array","items":{"type":"string"},"description":"Allowed audience values to consider when validating JWTs issued by Azure Active Directory.\n"},"clientId":{"type":"string","description":"The Client ID of this relying party application. Enables OpenIDConnection authentication with Azure Active Directory.\n"},"clientSecret":{"type":"string","description":"The Client Secret of this relying party application. If no secret is provided, implicit flow will be used.\n","secret":true}},"type":"object","required":["clientId"]},"azure:appservice/FunctionAppAuthSettingsFacebook:FunctionAppAuthSettingsFacebook":{"properties":{"appId":{"type":"string","description":"The App ID of the Facebook app used for login\n"},"appSecret":{"type":"string","description":"The App Secret of the Facebook app used for Facebook login.\n","secret":true},"oauthScopes":{"type":"array","items":{"type":"string"},"description":"The OAuth 2.0 scopes that will be requested as part of Facebook login authentication. \u003chttps://developers.facebook.com/docs/facebook-login\u003e\n"}},"type":"object","required":["appId","appSecret"]},"azure:appservice/FunctionAppAuthSettingsGoogle:FunctionAppAuthSettingsGoogle":{"properties":{"clientId":{"type":"string","description":"The OpenID Connect Client ID for the Google web application.\n"},"clientSecret":{"type":"string","description":"The client secret associated with the Google web application.\n","secret":true},"oauthScopes":{"type":"array","items":{"type":"string"},"description":"The OAuth 2.0 scopes that will be requested as part of Google Sign-In authentication. \u003chttps://developers.google.com/identity/sign-in/web/\u003e\n"}},"type":"object","required":["clientId","clientSecret"]},"azure:appservice/FunctionAppAuthSettingsMicrosoft:FunctionAppAuthSettingsMicrosoft":{"properties":{"clientId":{"type":"string","description":"The OAuth 2.0 client ID that was created for the app used for authentication.\n"},"clientSecret":{"type":"string","description":"The OAuth 2.0 client secret that was created for the app used for authentication.\n","secret":true},"oauthScopes":{"type":"array","items":{"type":"string"},"description":"The OAuth 2.0 scopes that will be requested as part of Microsoft Account authentication. \u003chttps://msdn.microsoft.com/en-us/library/dn631845.aspx\u003e\n"}},"type":"object","required":["clientId","clientSecret"]},"azure:appservice/FunctionAppAuthSettingsTwitter:FunctionAppAuthSettingsTwitter":{"properties":{"consumerKey":{"type":"string","description":"The OAuth 1.0a consumer key of the Twitter application used for sign-in.\n"},"consumerSecret":{"type":"string","description":"The OAuth 1.0a consumer secret of the Twitter application used for sign-in.\n","secret":true}},"type":"object","required":["consumerKey","consumerSecret"]},"azure:appservice/FunctionAppConnectionString:FunctionAppConnectionString":{"properties":{"name":{"type":"string","description":"The name of the Connection String.\n"},"type":{"type":"string","description":"The type of the Connection String. Possible values are `APIHub`, `Custom`, `DocDb`, `EventHub`, `MySQL`, `NotificationHub`, `PostgreSQL`, `RedisCache`, `ServiceBus`, `SQLAzure` and `SQLServer`.\n"},"value":{"type":"string","description":"The value for the Connection String.\n","secret":true}},"type":"object","required":["name","type","value"]},"azure:appservice/FunctionAppFunctionFile:FunctionAppFunctionFile":{"properties":{"content":{"type":"string","description":"The content of the file. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The filename of the file to be uploaded. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["content","name"]},"azure:appservice/FunctionAppIdentity:FunctionAppIdentity":{"properties":{"identityIds":{"type":"array","items":{"type":"string"},"description":"Specifies a list of user managed identity ids to be assigned. Required if \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is `UserAssigned`.\n"},"principalId":{"type":"string","description":"The Principal ID for the Service Principal associated with the Managed Service Identity of this App Service.\n"},"tenantId":{"type":"string","description":"The Tenant ID for the Service Principal associated with the Managed Service Identity of this App Service.\n"},"type":{"type":"string","description":"Specifies the identity type of the Function App. Possible values are `SystemAssigned` (where Azure will generate a Service Principal for you), `UserAssigned` where you can specify the Service Principal IDs in the \u003cspan pulumi-lang-nodejs=\"`identityIds`\" pulumi-lang-dotnet=\"`IdentityIds`\" pulumi-lang-go=\"`identityIds`\" pulumi-lang-python=\"`identity_ids`\" pulumi-lang-yaml=\"`identityIds`\" pulumi-lang-java=\"`identityIds`\"\u003e`identity_ids`\u003c/span\u003e field, and `SystemAssigned, UserAssigned` which assigns both a system managed identity as well as the specified user assigned identities.\n\n\u003e **NOTE:** When \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to `SystemAssigned`, The assigned \u003cspan pulumi-lang-nodejs=\"`principalId`\" pulumi-lang-dotnet=\"`PrincipalId`\" pulumi-lang-go=\"`principalId`\" pulumi-lang-python=\"`principal_id`\" pulumi-lang-yaml=\"`principalId`\" pulumi-lang-java=\"`principalId`\"\u003e`principal_id`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`tenantId`\" pulumi-lang-dotnet=\"`TenantId`\" pulumi-lang-go=\"`tenantId`\" pulumi-lang-python=\"`tenant_id`\" pulumi-lang-yaml=\"`tenantId`\" pulumi-lang-java=\"`tenantId`\"\u003e`tenant_id`\u003c/span\u003e can be retrieved after the Function App has been created. More details are available below.\n"}},"type":"object","required":["type"],"language":{"nodejs":{"requiredOutputs":["principalId","tenantId","type"]}}},"azure:appservice/FunctionAppSiteConfig:FunctionAppSiteConfig":{"properties":{"alwaysOn":{"type":"boolean","description":"Should the Function App be loaded at all times? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"appScaleLimit":{"type":"integer","description":"The number of workers this function app can scale out to. Only applicable to apps on the Consumption and Premium plan.\n"},"autoSwapSlotName":{"type":"string","description":"The name of the slot to automatically swap to during deployment\n\n\u003e **NOTE:** This attribute is only used for slots.\n"},"cors":{"$ref":"#/types/azure:appservice/FunctionAppSiteConfigCors:FunctionAppSiteConfigCors","description":"A \u003cspan pulumi-lang-nodejs=\"`cors`\" pulumi-lang-dotnet=\"`Cors`\" pulumi-lang-go=\"`cors`\" pulumi-lang-python=\"`cors`\" pulumi-lang-yaml=\"`cors`\" pulumi-lang-java=\"`cors`\"\u003e`cors`\u003c/span\u003e block as defined below.\n"},"dotnetFrameworkVersion":{"type":"string","description":"The version of the .NET framework's CLR used in this function app. Possible values are `v4.0` (including .NET Core 2.1 and 3.1), `v5.0` and `v6.0`. [For more information on which .NET Framework version to use based on the runtime version you're targeting - please see this table](https://docs.microsoft.com/azure/azure-functions/functions-dotnet-class-library#supported-versions). Defaults to `v4.0`.\n"},"elasticInstanceMinimum":{"type":"integer","description":"The number of minimum instances for this function app. Only affects apps on the Premium plan. Possible values are between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`20`\" pulumi-lang-dotnet=\"`20`\" pulumi-lang-go=\"`20`\" pulumi-lang-python=\"`20`\" pulumi-lang-yaml=\"`20`\" pulumi-lang-java=\"`20`\"\u003e`20`\u003c/span\u003e.\n"},"ftpsState":{"type":"string","description":"State of FTP / FTPS service for this function app. Possible values include: `AllAllowed`, `FtpsOnly` and `Disabled`. Defaults to `AllAllowed`.\n"},"healthCheckPath":{"type":"string","description":"Path which will be checked for this function app health.\n"},"http2Enabled":{"type":"boolean","description":"Specifies whether or not the HTTP2 protocol should be enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"ipRestrictions":{"type":"array","items":{"$ref":"#/types/azure:appservice/FunctionAppSiteConfigIpRestriction:FunctionAppSiteConfigIpRestriction"},"description":"A list of \u003cspan pulumi-lang-nodejs=\"`ipRestriction`\" pulumi-lang-dotnet=\"`IpRestriction`\" pulumi-lang-go=\"`ipRestriction`\" pulumi-lang-python=\"`ip_restriction`\" pulumi-lang-yaml=\"`ipRestriction`\" pulumi-lang-java=\"`ipRestriction`\"\u003e`ip_restriction`\u003c/span\u003e objects representing IP restrictions as defined below.\n\n\u003e **NOTE** User has to explicitly set \u003cspan pulumi-lang-nodejs=\"`ipRestriction`\" pulumi-lang-dotnet=\"`IpRestriction`\" pulumi-lang-go=\"`ipRestriction`\" pulumi-lang-python=\"`ip_restriction`\" pulumi-lang-yaml=\"`ipRestriction`\" pulumi-lang-java=\"`ipRestriction`\"\u003e`ip_restriction`\u003c/span\u003e to empty slice (`[]`) to remove it.\n"},"javaVersion":{"type":"string","description":"Java version hosted by the function app in Azure. Possible values are `1.8`, \u003cspan pulumi-lang-nodejs=\"`11`\" pulumi-lang-dotnet=\"`11`\" pulumi-lang-go=\"`11`\" pulumi-lang-python=\"`11`\" pulumi-lang-yaml=\"`11`\" pulumi-lang-java=\"`11`\"\u003e`11`\u003c/span\u003e \u0026 \u003cspan pulumi-lang-nodejs=\"`17`\" pulumi-lang-dotnet=\"`17`\" pulumi-lang-go=\"`17`\" pulumi-lang-python=\"`17`\" pulumi-lang-yaml=\"`17`\" pulumi-lang-java=\"`17`\"\u003e`17`\u003c/span\u003e (In-Preview).\n"},"linuxFxVersion":{"type":"string","description":"Linux App Framework and version for the AppService, e.g. `DOCKER|(golang:latest)`.\n"},"minTlsVersion":{"type":"string","description":"The minimum supported TLS version for the function app. Possible values are `1.0`, `1.1`, and `1.2`. Defaults to `1.2` for new function apps.\n"},"preWarmedInstanceCount":{"type":"integer","description":"The number of pre-warmed instances for this function app. Only affects apps on the Premium plan.\n"},"runtimeScaleMonitoringEnabled":{"type":"boolean","description":"Should Runtime Scale Monitoring be enabled?. Only applicable to apps on the Premium plan. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"scmIpRestrictions":{"type":"array","items":{"$ref":"#/types/azure:appservice/FunctionAppSiteConfigScmIpRestriction:FunctionAppSiteConfigScmIpRestriction"},"description":"A list of \u003cspan pulumi-lang-nodejs=\"`scmIpRestriction`\" pulumi-lang-dotnet=\"`ScmIpRestriction`\" pulumi-lang-go=\"`scmIpRestriction`\" pulumi-lang-python=\"`scm_ip_restriction`\" pulumi-lang-yaml=\"`scmIpRestriction`\" pulumi-lang-java=\"`scmIpRestriction`\"\u003e`scm_ip_restriction`\u003c/span\u003e objects representing IP restrictions as defined below.\n\n\u003e **NOTE** User has to explicitly set \u003cspan pulumi-lang-nodejs=\"`scmIpRestriction`\" pulumi-lang-dotnet=\"`ScmIpRestriction`\" pulumi-lang-go=\"`scmIpRestriction`\" pulumi-lang-python=\"`scm_ip_restriction`\" pulumi-lang-yaml=\"`scmIpRestriction`\" pulumi-lang-java=\"`scmIpRestriction`\"\u003e`scm_ip_restriction`\u003c/span\u003e to empty slice (`[]`) to remove it.\n"},"scmType":{"type":"string","description":"The type of Source Control used by the Function App. Valid values include: `BitBucketGit`, `BitBucketHg`, `CodePlexGit`, `CodePlexHg`, `Dropbox`, `ExternalGit`, `ExternalHg`, `GitHub`, `LocalGit`, `None` (default), `OneDrive`, `Tfs`, `VSO`, and `VSTSRM`.\n\n\u003e **NOTE:** This setting is incompatible with the \u003cspan pulumi-lang-nodejs=\"`sourceControl`\" pulumi-lang-dotnet=\"`SourceControl`\" pulumi-lang-go=\"`sourceControl`\" pulumi-lang-python=\"`source_control`\" pulumi-lang-yaml=\"`sourceControl`\" pulumi-lang-java=\"`sourceControl`\"\u003e`source_control`\u003c/span\u003e block which updates this value based on the setting provided.\n"},"scmUseMainIpRestriction":{"type":"boolean","description":"IP security restrictions for scm to use main. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **NOTE** Any \u003cspan pulumi-lang-nodejs=\"`scmIpRestriction`\" pulumi-lang-dotnet=\"`ScmIpRestriction`\" pulumi-lang-go=\"`scmIpRestriction`\" pulumi-lang-python=\"`scm_ip_restriction`\" pulumi-lang-yaml=\"`scmIpRestriction`\" pulumi-lang-java=\"`scmIpRestriction`\"\u003e`scm_ip_restriction`\u003c/span\u003e blocks configured are ignored by the service when \u003cspan pulumi-lang-nodejs=\"`scmUseMainIpRestriction`\" pulumi-lang-dotnet=\"`ScmUseMainIpRestriction`\" pulumi-lang-go=\"`scmUseMainIpRestriction`\" pulumi-lang-python=\"`scm_use_main_ip_restriction`\" pulumi-lang-yaml=\"`scmUseMainIpRestriction`\" pulumi-lang-java=\"`scmUseMainIpRestriction`\"\u003e`scm_use_main_ip_restriction`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e. Any scm restrictions will become active if this is subsequently set to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e or removed.\n"},"use32BitWorkerProcess":{"type":"boolean","description":"Should the Function App run in 32 bit mode, rather than 64 bit mode? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n\n\u003e **Note:** when using an App Service Plan in the `Free` or `Shared` Tiers \u003cspan pulumi-lang-nodejs=\"`use32BitWorkerProcess`\" pulumi-lang-dotnet=\"`Use32BitWorkerProcess`\" pulumi-lang-go=\"`use32BitWorkerProcess`\" pulumi-lang-python=\"`use_32_bit_worker_process`\" pulumi-lang-yaml=\"`use32BitWorkerProcess`\" pulumi-lang-java=\"`use32BitWorkerProcess`\"\u003e`use_32_bit_worker_process`\u003c/span\u003e must be set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"vnetRouteAllEnabled":{"type":"boolean","description":"Should all outbound traffic to have Virtual Network Security Groups and User Defined Routes applied? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **NOTE:** This setting supersedes the previous mechanism of setting the \u003cspan pulumi-lang-nodejs=\"`appSettings`\" pulumi-lang-dotnet=\"`AppSettings`\" pulumi-lang-go=\"`appSettings`\" pulumi-lang-python=\"`app_settings`\" pulumi-lang-yaml=\"`appSettings`\" pulumi-lang-java=\"`appSettings`\"\u003e`app_settings`\u003c/span\u003e value of `WEBSITE_VNET_ROUTE_ALL`. However, to prevent older configurations breaking Terraform will update this value if it not explicitly set to the value in `app_settings.WEBSITE_VNET_ROUTE_ALL`.\n"},"websocketsEnabled":{"type":"boolean","description":"Should WebSockets be enabled?\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["appScaleLimit","cors","elasticInstanceMinimum","ftpsState","ipRestrictions","linuxFxVersion","minTlsVersion","preWarmedInstanceCount","scmIpRestrictions","scmType","vnetRouteAllEnabled"]}}},"azure:appservice/FunctionAppSiteConfigCors:FunctionAppSiteConfigCors":{"properties":{"allowedOrigins":{"type":"array","items":{"type":"string"},"description":"A list of origins which should be able to make cross-origin calls. `*` can be used to allow all calls.\n"},"supportCredentials":{"type":"boolean","description":"Are credentials supported?\n"}},"type":"object","required":["allowedOrigins"]},"azure:appservice/FunctionAppSiteConfigIpRestriction:FunctionAppSiteConfigIpRestriction":{"properties":{"action":{"type":"string","description":"Does this restriction `Allow` or `Deny` access for this IP range. Defaults to `Allow`.\n"},"headers":{"$ref":"#/types/azure:appservice/FunctionAppSiteConfigIpRestrictionHeaders:FunctionAppSiteConfigIpRestrictionHeaders","description":"The \u003cspan pulumi-lang-nodejs=\"`headers`\" pulumi-lang-dotnet=\"`Headers`\" pulumi-lang-go=\"`headers`\" pulumi-lang-python=\"`headers`\" pulumi-lang-yaml=\"`headers`\" pulumi-lang-java=\"`headers`\"\u003e`headers`\u003c/span\u003e block for this specific \u003cspan pulumi-lang-nodejs=\"`ipRestriction`\" pulumi-lang-dotnet=\"`IpRestriction`\" pulumi-lang-go=\"`ipRestriction`\" pulumi-lang-python=\"`ip_restriction`\" pulumi-lang-yaml=\"`ipRestriction`\" pulumi-lang-java=\"`ipRestriction`\"\u003e`ip_restriction`\u003c/span\u003e as defined below.\n"},"ipAddress":{"type":"string","description":"The IP Address used for this IP Restriction in CIDR notation.\n"},"name":{"type":"string","description":"The name for this IP Restriction.\n"},"priority":{"type":"integer","description":"The priority for this IP Restriction. Restrictions are enforced in priority order. By default, the priority is set to 65000 if not specified.\n"},"serviceTag":{"type":"string","description":"The Service Tag used for this IP Restriction.\n"},"virtualNetworkSubnetId":{"type":"string","description":"The Virtual Network Subnet ID used for this IP Restriction.\n\n\u003e **NOTE:** One of either \u003cspan pulumi-lang-nodejs=\"`ipAddress`\" pulumi-lang-dotnet=\"`IpAddress`\" pulumi-lang-go=\"`ipAddress`\" pulumi-lang-python=\"`ip_address`\" pulumi-lang-yaml=\"`ipAddress`\" pulumi-lang-java=\"`ipAddress`\"\u003e`ip_address`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`serviceTag`\" pulumi-lang-dotnet=\"`ServiceTag`\" pulumi-lang-go=\"`serviceTag`\" pulumi-lang-python=\"`service_tag`\" pulumi-lang-yaml=\"`serviceTag`\" pulumi-lang-java=\"`serviceTag`\"\u003e`service_tag`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`virtualNetworkSubnetId`\" pulumi-lang-dotnet=\"`VirtualNetworkSubnetId`\" pulumi-lang-go=\"`virtualNetworkSubnetId`\" pulumi-lang-python=\"`virtual_network_subnet_id`\" pulumi-lang-yaml=\"`virtualNetworkSubnetId`\" pulumi-lang-java=\"`virtualNetworkSubnetId`\"\u003e`virtual_network_subnet_id`\u003c/span\u003e must be specified\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["headers","name"]}}},"azure:appservice/FunctionAppSiteConfigIpRestrictionHeaders:FunctionAppSiteConfigIpRestrictionHeaders":{"properties":{"xAzureFdids":{"type":"array","items":{"type":"string"},"description":"A list of allowed Azure FrontDoor IDs in UUID notation with a maximum of 8.\n"},"xFdHealthProbe":{"type":"string","description":"A list to allow the Azure FrontDoor health probe header. Only allowed value is \"1\".\n"},"xForwardedFors":{"type":"array","items":{"type":"string"},"description":"A list of allowed 'X-Forwarded-For' IPs in CIDR notation with a maximum of 8\n"},"xForwardedHosts":{"type":"array","items":{"type":"string"},"description":"A list of allowed 'X-Forwarded-Host' domains with a maximum of 8.\n"}},"type":"object"},"azure:appservice/FunctionAppSiteConfigScmIpRestriction:FunctionAppSiteConfigScmIpRestriction":{"properties":{"action":{"type":"string","description":"Allow or Deny access for this IP range. Defaults to `Allow`.\n"},"headers":{"$ref":"#/types/azure:appservice/FunctionAppSiteConfigScmIpRestrictionHeaders:FunctionAppSiteConfigScmIpRestrictionHeaders","description":"The \u003cspan pulumi-lang-nodejs=\"`headers`\" pulumi-lang-dotnet=\"`Headers`\" pulumi-lang-go=\"`headers`\" pulumi-lang-python=\"`headers`\" pulumi-lang-yaml=\"`headers`\" pulumi-lang-java=\"`headers`\"\u003e`headers`\u003c/span\u003e block for this specific \u003cspan pulumi-lang-nodejs=\"`scmIpRestriction`\" pulumi-lang-dotnet=\"`ScmIpRestriction`\" pulumi-lang-go=\"`scmIpRestriction`\" pulumi-lang-python=\"`scm_ip_restriction`\" pulumi-lang-yaml=\"`scmIpRestriction`\" pulumi-lang-java=\"`scmIpRestriction`\"\u003e`scm_ip_restriction`\u003c/span\u003e as defined below.\n"},"ipAddress":{"type":"string","description":"The IP Address used for this IP Restriction in CIDR notation.\n"},"name":{"type":"string","description":"The name for this IP Restriction.\n"},"priority":{"type":"integer","description":"The priority for this IP Restriction. Restrictions are enforced in priority order. By default, priority is set to 65000 if not specified.\n"},"serviceTag":{"type":"string","description":"The Service Tag used for this IP Restriction.\n"},"virtualNetworkSubnetId":{"type":"string","description":"The Virtual Network Subnet ID used for this IP Restriction.\n\n\u003e **NOTE:** One of either \u003cspan pulumi-lang-nodejs=\"`ipAddress`\" pulumi-lang-dotnet=\"`IpAddress`\" pulumi-lang-go=\"`ipAddress`\" pulumi-lang-python=\"`ip_address`\" pulumi-lang-yaml=\"`ipAddress`\" pulumi-lang-java=\"`ipAddress`\"\u003e`ip_address`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`serviceTag`\" pulumi-lang-dotnet=\"`ServiceTag`\" pulumi-lang-go=\"`serviceTag`\" pulumi-lang-python=\"`service_tag`\" pulumi-lang-yaml=\"`serviceTag`\" pulumi-lang-java=\"`serviceTag`\"\u003e`service_tag`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`virtualNetworkSubnetId`\" pulumi-lang-dotnet=\"`VirtualNetworkSubnetId`\" pulumi-lang-go=\"`virtualNetworkSubnetId`\" pulumi-lang-python=\"`virtual_network_subnet_id`\" pulumi-lang-yaml=\"`virtualNetworkSubnetId`\" pulumi-lang-java=\"`virtualNetworkSubnetId`\"\u003e`virtual_network_subnet_id`\u003c/span\u003e must be specified\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["headers","name"]}}},"azure:appservice/FunctionAppSiteConfigScmIpRestrictionHeaders:FunctionAppSiteConfigScmIpRestrictionHeaders":{"properties":{"xAzureFdids":{"type":"array","items":{"type":"string"},"description":"A list of allowed Azure FrontDoor IDs in UUID notation with a maximum of 8.\n"},"xFdHealthProbe":{"type":"string","description":"A list to allow the Azure FrontDoor health probe header. Only allowed value is \"1\".\n"},"xForwardedFors":{"type":"array","items":{"type":"string"},"description":"A list of allowed 'X-Forwarded-For' IPs in CIDR notation with a maximum of 8\n"},"xForwardedHosts":{"type":"array","items":{"type":"string"},"description":"A list of allowed 'X-Forwarded-Host' domains with a maximum of 8.\n"}},"type":"object"},"azure:appservice/FunctionAppSiteCredential:FunctionAppSiteCredential":{"properties":{"password":{"type":"string","description":"The password associated with the username, which can be used to publish to this App Service.\n","secret":true},"username":{"type":"string","description":"The username which can be used to publish to this App Service\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["password","username"]}}},"azure:appservice/FunctionAppSlotAuthSettings:FunctionAppSlotAuthSettings":{"properties":{"activeDirectory":{"$ref":"#/types/azure:appservice/FunctionAppSlotAuthSettingsActiveDirectory:FunctionAppSlotAuthSettingsActiveDirectory","description":"An \u003cspan pulumi-lang-nodejs=\"`activeDirectory`\" pulumi-lang-dotnet=\"`ActiveDirectory`\" pulumi-lang-go=\"`activeDirectory`\" pulumi-lang-python=\"`active_directory`\" pulumi-lang-yaml=\"`activeDirectory`\" pulumi-lang-java=\"`activeDirectory`\"\u003e`active_directory`\u003c/span\u003e block as defined below.\n"},"additionalLoginParams":{"type":"object","additionalProperties":{"type":"string"},"description":"login parameters to send to the OpenID Connect authorization endpoint when a user logs in. Each parameter must be in the form \"key=value\".\n"},"allowedExternalRedirectUrls":{"type":"array","items":{"type":"string"},"description":"External URLs that can be redirected to as part of logging in or logging out of the app.\n"},"defaultProvider":{"type":"string","description":"The default provider to use when multiple providers have been set up. Possible values are `AzureActiveDirectory`, `Facebook`, `Google`, `MicrosoftAccount` and `Twitter`.\n\n\u003e **NOTE:** When using multiple providers, the default provider must be set for settings like \u003cspan pulumi-lang-nodejs=\"`unauthenticatedClientAction`\" pulumi-lang-dotnet=\"`UnauthenticatedClientAction`\" pulumi-lang-go=\"`unauthenticatedClientAction`\" pulumi-lang-python=\"`unauthenticated_client_action`\" pulumi-lang-yaml=\"`unauthenticatedClientAction`\" pulumi-lang-java=\"`unauthenticatedClientAction`\"\u003e`unauthenticated_client_action`\u003c/span\u003e to work.\n"},"enabled":{"type":"boolean","description":"Is Authentication enabled?\n"},"facebook":{"$ref":"#/types/azure:appservice/FunctionAppSlotAuthSettingsFacebook:FunctionAppSlotAuthSettingsFacebook","description":"A \u003cspan pulumi-lang-nodejs=\"`facebook`\" pulumi-lang-dotnet=\"`Facebook`\" pulumi-lang-go=\"`facebook`\" pulumi-lang-python=\"`facebook`\" pulumi-lang-yaml=\"`facebook`\" pulumi-lang-java=\"`facebook`\"\u003e`facebook`\u003c/span\u003e block as defined below.\n"},"google":{"$ref":"#/types/azure:appservice/FunctionAppSlotAuthSettingsGoogle:FunctionAppSlotAuthSettingsGoogle","description":"A \u003cspan pulumi-lang-nodejs=\"`google`\" pulumi-lang-dotnet=\"`Google`\" pulumi-lang-go=\"`google`\" pulumi-lang-python=\"`google`\" pulumi-lang-yaml=\"`google`\" pulumi-lang-java=\"`google`\"\u003e`google`\u003c/span\u003e block as defined below.\n"},"issuer":{"type":"string","description":"Issuer URI. When using Azure Active Directory, this value is the URI of the directory tenant, e.g. \u003chttps://sts.windows.net/{tenant-guid}/\u003e.\n"},"microsoft":{"$ref":"#/types/azure:appservice/FunctionAppSlotAuthSettingsMicrosoft:FunctionAppSlotAuthSettingsMicrosoft","description":"A \u003cspan pulumi-lang-nodejs=\"`microsoft`\" pulumi-lang-dotnet=\"`Microsoft`\" pulumi-lang-go=\"`microsoft`\" pulumi-lang-python=\"`microsoft`\" pulumi-lang-yaml=\"`microsoft`\" pulumi-lang-java=\"`microsoft`\"\u003e`microsoft`\u003c/span\u003e block as defined below.\n"},"runtimeVersion":{"type":"string","description":"The runtime version of the Authentication/Authorization module.\n"},"tokenRefreshExtensionHours":{"type":"number","description":"The number of hours after session token expiration that a session token can be used to call the token refresh API. Defaults to \u003cspan pulumi-lang-nodejs=\"`72`\" pulumi-lang-dotnet=\"`72`\" pulumi-lang-go=\"`72`\" pulumi-lang-python=\"`72`\" pulumi-lang-yaml=\"`72`\" pulumi-lang-java=\"`72`\"\u003e`72`\u003c/span\u003e.\n"},"tokenStoreEnabled":{"type":"boolean","description":"If enabled the module will durably store platform-specific security tokens that are obtained during login flows. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"twitter":{"$ref":"#/types/azure:appservice/FunctionAppSlotAuthSettingsTwitter:FunctionAppSlotAuthSettingsTwitter","description":"A \u003cspan pulumi-lang-nodejs=\"`twitter`\" pulumi-lang-dotnet=\"`Twitter`\" pulumi-lang-go=\"`twitter`\" pulumi-lang-python=\"`twitter`\" pulumi-lang-yaml=\"`twitter`\" pulumi-lang-java=\"`twitter`\"\u003e`twitter`\u003c/span\u003e block as defined below.\n"},"unauthenticatedClientAction":{"type":"string","description":"The action to take when an unauthenticated client attempts to access the app. Possible values are `AllowAnonymous` and `RedirectToLoginPage`.\n"}},"type":"object","required":["enabled"]},"azure:appservice/FunctionAppSlotAuthSettingsActiveDirectory:FunctionAppSlotAuthSettingsActiveDirectory":{"properties":{"allowedAudiences":{"type":"array","items":{"type":"string"},"description":"Allowed audience values to consider when validating JWTs issued by Azure Active Directory.\n"},"clientId":{"type":"string","description":"The Client ID of this relying party application. Enables OpenIDConnection authentication with Azure Active Directory.\n"},"clientSecret":{"type":"string","description":"The Client Secret of this relying party application. If no secret is provided, implicit flow will be used.\n","secret":true}},"type":"object","required":["clientId"]},"azure:appservice/FunctionAppSlotAuthSettingsFacebook:FunctionAppSlotAuthSettingsFacebook":{"properties":{"appId":{"type":"string","description":"The App ID of the Facebook app used for login\n"},"appSecret":{"type":"string","description":"The App Secret of the Facebook app used for Facebook login.\n","secret":true},"oauthScopes":{"type":"array","items":{"type":"string"},"description":"The OAuth 2.0 scopes that will be requested as part of Facebook login authentication. \u003chttps://developers.facebook.com/docs/facebook-login\u003e\n"}},"type":"object","required":["appId","appSecret"]},"azure:appservice/FunctionAppSlotAuthSettingsGoogle:FunctionAppSlotAuthSettingsGoogle":{"properties":{"clientId":{"type":"string","description":"The OpenID Connect Client ID for the Google web application.\n"},"clientSecret":{"type":"string","description":"The client secret associated with the Google web application.\n","secret":true},"oauthScopes":{"type":"array","items":{"type":"string"},"description":"The OAuth 2.0 scopes that will be requested as part of Google Sign-In authentication. \u003chttps://developers.google.com/identity/sign-in/web/\u003e\n"}},"type":"object","required":["clientId","clientSecret"]},"azure:appservice/FunctionAppSlotAuthSettingsMicrosoft:FunctionAppSlotAuthSettingsMicrosoft":{"properties":{"clientId":{"type":"string","description":"The OAuth 2.0 client ID that was created for the app used for authentication.\n"},"clientSecret":{"type":"string","description":"The OAuth 2.0 client secret that was created for the app used for authentication.\n","secret":true},"oauthScopes":{"type":"array","items":{"type":"string"},"description":"The OAuth 2.0 scopes that will be requested as part of Microsoft Account authentication. \u003chttps://msdn.microsoft.com/en-us/library/dn631845.aspx\u003e\n"}},"type":"object","required":["clientId","clientSecret"]},"azure:appservice/FunctionAppSlotAuthSettingsTwitter:FunctionAppSlotAuthSettingsTwitter":{"properties":{"consumerKey":{"type":"string","description":"The OAuth 1.0a consumer key of the Twitter application used for sign-in.\n"},"consumerSecret":{"type":"string","description":"The OAuth 1.0a consumer secret of the Twitter application used for sign-in.\n","secret":true}},"type":"object","required":["consumerKey","consumerSecret"]},"azure:appservice/FunctionAppSlotConnectionString:FunctionAppSlotConnectionString":{"properties":{"name":{"type":"string","description":"The name of the Connection String.\n"},"type":{"type":"string","description":"The type of the Connection String. Possible values are `APIHub`, `Custom`, `DocDb`, `EventHub`, `MySQL`, `NotificationHub`, `PostgreSQL`, `RedisCache`, `ServiceBus`, `SQLAzure` and `SQLServer`.\n"},"value":{"type":"string","description":"The value for the Connection String.\n","secret":true}},"type":"object","required":["name","type","value"]},"azure:appservice/FunctionAppSlotIdentity:FunctionAppSlotIdentity":{"properties":{"identityIds":{"type":"array","items":{"type":"string"},"description":"Specifies a list of user managed identity ids to be assigned. Required if \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is `UserAssigned`.\n"},"principalId":{"type":"string","description":"The Principal ID for the Service Principal associated with the Managed Service Identity of this App Service.\n"},"tenantId":{"type":"string","description":"The Tenant ID for the Service Principal associated with the Managed Service Identity of this App Service.\n"},"type":{"type":"string","description":"Specifies the identity type of the Function App. Possible values are `SystemAssigned` (where Azure will generate a Service Principal for you), `UserAssigned` where you can specify the Service Principal IDs in the \u003cspan pulumi-lang-nodejs=\"`identityIds`\" pulumi-lang-dotnet=\"`IdentityIds`\" pulumi-lang-go=\"`identityIds`\" pulumi-lang-python=\"`identity_ids`\" pulumi-lang-yaml=\"`identityIds`\" pulumi-lang-java=\"`identityIds`\"\u003e`identity_ids`\u003c/span\u003e field, and `SystemAssigned, UserAssigned` which assigns both a system managed identity as well as the specified user assigned identities.\n\n\u003e **NOTE:** When \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to `SystemAssigned`, The assigned \u003cspan pulumi-lang-nodejs=\"`principalId`\" pulumi-lang-dotnet=\"`PrincipalId`\" pulumi-lang-go=\"`principalId`\" pulumi-lang-python=\"`principal_id`\" pulumi-lang-yaml=\"`principalId`\" pulumi-lang-java=\"`principalId`\"\u003e`principal_id`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`tenantId`\" pulumi-lang-dotnet=\"`TenantId`\" pulumi-lang-go=\"`tenantId`\" pulumi-lang-python=\"`tenant_id`\" pulumi-lang-yaml=\"`tenantId`\" pulumi-lang-java=\"`tenantId`\"\u003e`tenant_id`\u003c/span\u003e can be retrieved after the Function App has been created. More details are available below.\n"}},"type":"object","required":["type"],"language":{"nodejs":{"requiredOutputs":["principalId","tenantId","type"]}}},"azure:appservice/FunctionAppSlotSiteConfig:FunctionAppSlotSiteConfig":{"properties":{"alwaysOn":{"type":"boolean","description":"Should the Function App be loaded at all times? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"appScaleLimit":{"type":"integer","description":"The number of workers this function app can scale out to. Only applicable to apps on the Consumption and Premium plan.\n"},"autoSwapSlotName":{"type":"string","description":"The name of the slot to automatically swap to during deployment\n"},"cors":{"$ref":"#/types/azure:appservice/FunctionAppSlotSiteConfigCors:FunctionAppSlotSiteConfigCors","description":"A \u003cspan pulumi-lang-nodejs=\"`cors`\" pulumi-lang-dotnet=\"`Cors`\" pulumi-lang-go=\"`cors`\" pulumi-lang-python=\"`cors`\" pulumi-lang-yaml=\"`cors`\" pulumi-lang-java=\"`cors`\"\u003e`cors`\u003c/span\u003e block as defined below.\n"},"dotnetFrameworkVersion":{"type":"string","description":"The version of the .NET framework's CLR used in this function app. Possible values are `v4.0` (including .NET Core 2.1 and 3.1), `v5.0` and `v6.0`. [For more information on which .NET Framework version to use based on the runtime version you're targeting - please see this table](https://docs.microsoft.com/azure/azure-functions/functions-dotnet-class-library#supported-versions). Defaults to `v4.0`.\n"},"elasticInstanceMinimum":{"type":"integer","description":"The number of minimum instances for this function app. Only applicable to apps on the Premium plan.\n"},"ftpsState":{"type":"string","description":"State of FTP / FTPS service for this function app. Possible values include: `AllAllowed`, `FtpsOnly` and `Disabled`.\n"},"healthCheckPath":{"type":"string","description":"Path which will be checked for this function app health.\n"},"http2Enabled":{"type":"boolean","description":"Specifies whether or not the HTTP2 protocol should be enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"ipRestrictions":{"type":"array","items":{"$ref":"#/types/azure:appservice/FunctionAppSlotSiteConfigIpRestriction:FunctionAppSlotSiteConfigIpRestriction"},"description":"A list of \u003cspan pulumi-lang-nodejs=\"`ipRestriction`\" pulumi-lang-dotnet=\"`IpRestriction`\" pulumi-lang-go=\"`ipRestriction`\" pulumi-lang-python=\"`ip_restriction`\" pulumi-lang-yaml=\"`ipRestriction`\" pulumi-lang-java=\"`ipRestriction`\"\u003e`ip_restriction`\u003c/span\u003e objects representing IP restrictions as defined below.\n"},"javaVersion":{"type":"string","description":"Java version hosted by the function app in Azure. Possible values are `1.8`, \u003cspan pulumi-lang-nodejs=\"`11`\" pulumi-lang-dotnet=\"`11`\" pulumi-lang-go=\"`11`\" pulumi-lang-python=\"`11`\" pulumi-lang-yaml=\"`11`\" pulumi-lang-java=\"`11`\"\u003e`11`\u003c/span\u003e \u0026 \u003cspan pulumi-lang-nodejs=\"`17`\" pulumi-lang-dotnet=\"`17`\" pulumi-lang-go=\"`17`\" pulumi-lang-python=\"`17`\" pulumi-lang-yaml=\"`17`\" pulumi-lang-java=\"`17`\"\u003e`17`\u003c/span\u003e (In-Preview).\n"},"linuxFxVersion":{"type":"string","description":"Linux App Framework and version for the AppService, e.g. `DOCKER|(golang:latest)`.\n"},"minTlsVersion":{"type":"string","description":"The minimum supported TLS version for the function app. Possible values are `1.0`, `1.1`, and `1.2`. Defaults to `1.2` for new function apps.\n"},"preWarmedInstanceCount":{"type":"integer","description":"The number of pre-warmed instances for this function app. Only affects apps on the Premium plan.\n"},"runtimeScaleMonitoringEnabled":{"type":"boolean","description":"Should Runtime Scale Monitoring be enabled?. Only applicable to apps on the Premium plan. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"scmIpRestrictions":{"type":"array","items":{"$ref":"#/types/azure:appservice/FunctionAppSlotSiteConfigScmIpRestriction:FunctionAppSlotSiteConfigScmIpRestriction"},"description":"A list of \u003cspan pulumi-lang-nodejs=\"`scmIpRestriction`\" pulumi-lang-dotnet=\"`ScmIpRestriction`\" pulumi-lang-go=\"`scmIpRestriction`\" pulumi-lang-python=\"`scm_ip_restriction`\" pulumi-lang-yaml=\"`scmIpRestriction`\" pulumi-lang-java=\"`scmIpRestriction`\"\u003e`scm_ip_restriction`\u003c/span\u003e objects representing IP restrictions as defined below.\n\n\u003e **NOTE** User has to explicitly set \u003cspan pulumi-lang-nodejs=\"`scmIpRestriction`\" pulumi-lang-dotnet=\"`ScmIpRestriction`\" pulumi-lang-go=\"`scmIpRestriction`\" pulumi-lang-python=\"`scm_ip_restriction`\" pulumi-lang-yaml=\"`scmIpRestriction`\" pulumi-lang-java=\"`scmIpRestriction`\"\u003e`scm_ip_restriction`\u003c/span\u003e to empty slice (`[]`) to remove it.\n"},"scmType":{"type":"string","description":"The type of Source Control used by this function App. Valid values include: `BitBucketGit`, `BitBucketHg`, `CodePlexGit`, `CodePlexHg`, `Dropbox`, `ExternalGit`, `ExternalHg`, `GitHub`, `LocalGit`, `None` (default), `OneDrive`, `Tfs`, `VSO`, and `VSTSRM`.\n\n\u003e **NOTE:** This setting is incompatible with the \u003cspan pulumi-lang-nodejs=\"`sourceControl`\" pulumi-lang-dotnet=\"`SourceControl`\" pulumi-lang-go=\"`sourceControl`\" pulumi-lang-python=\"`source_control`\" pulumi-lang-yaml=\"`sourceControl`\" pulumi-lang-java=\"`sourceControl`\"\u003e`source_control`\u003c/span\u003e block which updates this value based on the setting provided.\n"},"scmUseMainIpRestriction":{"type":"boolean","description":"IP security restrictions for scm to use main. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **NOTE** Any \u003cspan pulumi-lang-nodejs=\"`scmIpRestriction`\" pulumi-lang-dotnet=\"`ScmIpRestriction`\" pulumi-lang-go=\"`scmIpRestriction`\" pulumi-lang-python=\"`scm_ip_restriction`\" pulumi-lang-yaml=\"`scmIpRestriction`\" pulumi-lang-java=\"`scmIpRestriction`\"\u003e`scm_ip_restriction`\u003c/span\u003e blocks configured are ignored by the service when \u003cspan pulumi-lang-nodejs=\"`scmUseMainIpRestriction`\" pulumi-lang-dotnet=\"`ScmUseMainIpRestriction`\" pulumi-lang-go=\"`scmUseMainIpRestriction`\" pulumi-lang-python=\"`scm_use_main_ip_restriction`\" pulumi-lang-yaml=\"`scmUseMainIpRestriction`\" pulumi-lang-java=\"`scmUseMainIpRestriction`\"\u003e`scm_use_main_ip_restriction`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e. Any scm restrictions will become active if this is subsequently set to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e or removed.\n"},"use32BitWorkerProcess":{"type":"boolean","description":"Should the Function App run in 32 bit mode, rather than 64 bit mode? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n\n\u003e **Note:** when using an App Service Plan in the `Free` or `Shared` Tiers \u003cspan pulumi-lang-nodejs=\"`use32BitWorkerProcess`\" pulumi-lang-dotnet=\"`Use32BitWorkerProcess`\" pulumi-lang-go=\"`use32BitWorkerProcess`\" pulumi-lang-python=\"`use_32_bit_worker_process`\" pulumi-lang-yaml=\"`use32BitWorkerProcess`\" pulumi-lang-java=\"`use32BitWorkerProcess`\"\u003e`use_32_bit_worker_process`\u003c/span\u003e must be set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"vnetRouteAllEnabled":{"type":"boolean"},"websocketsEnabled":{"type":"boolean","description":"Should WebSockets be enabled?\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["appScaleLimit","cors","elasticInstanceMinimum","ftpsState","ipRestrictions","linuxFxVersion","minTlsVersion","preWarmedInstanceCount","scmIpRestrictions","scmType","vnetRouteAllEnabled"]}}},"azure:appservice/FunctionAppSlotSiteConfigCors:FunctionAppSlotSiteConfigCors":{"properties":{"allowedOrigins":{"type":"array","items":{"type":"string"},"description":"A list of origins which should be able to make cross-origin calls. `*` can be used to allow all calls.\n"},"supportCredentials":{"type":"boolean","description":"Are credentials supported?\n"}},"type":"object","required":["allowedOrigins"]},"azure:appservice/FunctionAppSlotSiteConfigIpRestriction:FunctionAppSlotSiteConfigIpRestriction":{"properties":{"action":{"type":"string","description":"Does this restriction `Allow` or `Deny` access for this IP range. Defaults to `Allow`.\n"},"headers":{"$ref":"#/types/azure:appservice/FunctionAppSlotSiteConfigIpRestrictionHeaders:FunctionAppSlotSiteConfigIpRestrictionHeaders","description":"The \u003cspan pulumi-lang-nodejs=\"`headers`\" pulumi-lang-dotnet=\"`Headers`\" pulumi-lang-go=\"`headers`\" pulumi-lang-python=\"`headers`\" pulumi-lang-yaml=\"`headers`\" pulumi-lang-java=\"`headers`\"\u003e`headers`\u003c/span\u003e block for this specific \u003cspan pulumi-lang-nodejs=\"`ipRestriction`\" pulumi-lang-dotnet=\"`IpRestriction`\" pulumi-lang-go=\"`ipRestriction`\" pulumi-lang-python=\"`ip_restriction`\" pulumi-lang-yaml=\"`ipRestriction`\" pulumi-lang-java=\"`ipRestriction`\"\u003e`ip_restriction`\u003c/span\u003e as defined below.\n"},"ipAddress":{"type":"string","description":"The IP Address used for this IP Restriction in CIDR notation.\n"},"name":{"type":"string","description":"The name for this IP Restriction.\n"},"priority":{"type":"integer","description":"The priority for this IP Restriction. Restrictions are enforced in priority order. By default, priority is set to 65000 if not specified.\n"},"serviceTag":{"type":"string","description":"The Service Tag used for this IP Restriction.\n"},"virtualNetworkSubnetId":{"type":"string","description":"The Virtual Network Subnet ID used for this IP Restriction.\n\n\u003e **NOTE:** One of either \u003cspan pulumi-lang-nodejs=\"`ipAddress`\" pulumi-lang-dotnet=\"`IpAddress`\" pulumi-lang-go=\"`ipAddress`\" pulumi-lang-python=\"`ip_address`\" pulumi-lang-yaml=\"`ipAddress`\" pulumi-lang-java=\"`ipAddress`\"\u003e`ip_address`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`serviceTag`\" pulumi-lang-dotnet=\"`ServiceTag`\" pulumi-lang-go=\"`serviceTag`\" pulumi-lang-python=\"`service_tag`\" pulumi-lang-yaml=\"`serviceTag`\" pulumi-lang-java=\"`serviceTag`\"\u003e`service_tag`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`virtualNetworkSubnetId`\" pulumi-lang-dotnet=\"`VirtualNetworkSubnetId`\" pulumi-lang-go=\"`virtualNetworkSubnetId`\" pulumi-lang-python=\"`virtual_network_subnet_id`\" pulumi-lang-yaml=\"`virtualNetworkSubnetId`\" pulumi-lang-java=\"`virtualNetworkSubnetId`\"\u003e`virtual_network_subnet_id`\u003c/span\u003e must be specified\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["headers","name"]}}},"azure:appservice/FunctionAppSlotSiteConfigIpRestrictionHeaders:FunctionAppSlotSiteConfigIpRestrictionHeaders":{"properties":{"xAzureFdids":{"type":"array","items":{"type":"string"},"description":"A list of allowed Azure FrontDoor IDs in UUID notation with a maximum of 8.\n"},"xFdHealthProbe":{"type":"string","description":"A list to allow the Azure FrontDoor health probe header. Only allowed value is \"1\".\n"},"xForwardedFors":{"type":"array","items":{"type":"string"},"description":"A list of allowed 'X-Forwarded-For' IPs in CIDR notation with a maximum of 8\n"},"xForwardedHosts":{"type":"array","items":{"type":"string"},"description":"A list of allowed 'X-Forwarded-Host' domains with a maximum of 8.\n"}},"type":"object"},"azure:appservice/FunctionAppSlotSiteConfigScmIpRestriction:FunctionAppSlotSiteConfigScmIpRestriction":{"properties":{"action":{"type":"string","description":"Allow or Deny access for this IP range. Defaults to `Allow`.\n"},"headers":{"$ref":"#/types/azure:appservice/FunctionAppSlotSiteConfigScmIpRestrictionHeaders:FunctionAppSlotSiteConfigScmIpRestrictionHeaders","description":"The \u003cspan pulumi-lang-nodejs=\"`headers`\" pulumi-lang-dotnet=\"`Headers`\" pulumi-lang-go=\"`headers`\" pulumi-lang-python=\"`headers`\" pulumi-lang-yaml=\"`headers`\" pulumi-lang-java=\"`headers`\"\u003e`headers`\u003c/span\u003e block for this specific \u003cspan pulumi-lang-nodejs=\"`scmIpRestriction`\" pulumi-lang-dotnet=\"`ScmIpRestriction`\" pulumi-lang-go=\"`scmIpRestriction`\" pulumi-lang-python=\"`scm_ip_restriction`\" pulumi-lang-yaml=\"`scmIpRestriction`\" pulumi-lang-java=\"`scmIpRestriction`\"\u003e`scm_ip_restriction`\u003c/span\u003e as defined below.\n"},"ipAddress":{"type":"string","description":"The IP Address used for this IP Restriction in CIDR notation.\n"},"name":{"type":"string","description":"The name for this IP Restriction.\n"},"priority":{"type":"integer","description":"The priority for this IP Restriction. Restrictions are enforced in priority order. By default, priority is set to 65000 if not specified.\n"},"serviceTag":{"type":"string","description":"The Service Tag used for this IP Restriction.\n"},"virtualNetworkSubnetId":{"type":"string","description":"The Virtual Network Subnet ID used for this IP Restriction.\n\n\u003e **NOTE:** One of either \u003cspan pulumi-lang-nodejs=\"`ipAddress`\" pulumi-lang-dotnet=\"`IpAddress`\" pulumi-lang-go=\"`ipAddress`\" pulumi-lang-python=\"`ip_address`\" pulumi-lang-yaml=\"`ipAddress`\" pulumi-lang-java=\"`ipAddress`\"\u003e`ip_address`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`serviceTag`\" pulumi-lang-dotnet=\"`ServiceTag`\" pulumi-lang-go=\"`serviceTag`\" pulumi-lang-python=\"`service_tag`\" pulumi-lang-yaml=\"`serviceTag`\" pulumi-lang-java=\"`serviceTag`\"\u003e`service_tag`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`virtualNetworkSubnetId`\" pulumi-lang-dotnet=\"`VirtualNetworkSubnetId`\" pulumi-lang-go=\"`virtualNetworkSubnetId`\" pulumi-lang-python=\"`virtual_network_subnet_id`\" pulumi-lang-yaml=\"`virtualNetworkSubnetId`\" pulumi-lang-java=\"`virtualNetworkSubnetId`\"\u003e`virtual_network_subnet_id`\u003c/span\u003e must be specified\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["headers","name"]}}},"azure:appservice/FunctionAppSlotSiteConfigScmIpRestrictionHeaders:FunctionAppSlotSiteConfigScmIpRestrictionHeaders":{"properties":{"xAzureFdids":{"type":"array","items":{"type":"string"},"description":"A list of allowed Azure FrontDoor IDs in UUID notation with a maximum of 8.\n"},"xFdHealthProbe":{"type":"string","description":"A list to allow the Azure FrontDoor health probe header. Only allowed value is \"1\".\n"},"xForwardedFors":{"type":"array","items":{"type":"string"},"description":"A list of allowed 'X-Forwarded-For' IPs in CIDR notation with a maximum of 8\n"},"xForwardedHosts":{"type":"array","items":{"type":"string"},"description":"A list of allowed 'X-Forwarded-Host' domains with a maximum of 8.\n"}},"type":"object"},"azure:appservice/FunctionAppSlotSiteCredential:FunctionAppSlotSiteCredential":{"properties":{"password":{"type":"string","description":"The password associated with the username, which can be used to publish to this App Service.\n","secret":true},"username":{"type":"string","description":"The username which can be used to publish to this App Service\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["password","username"]}}},"azure:appservice/FunctionAppSourceControl:FunctionAppSourceControl":{"properties":{"branch":{"type":"string","description":"The branch of the remote repository to use. Defaults to 'master'.\n"},"manualIntegration":{"type":"boolean","description":"Limits to manual integration. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e if not specified.\n"},"repoUrl":{"type":"string","description":"The URL of the source code repository.\n"},"rollbackEnabled":{"type":"boolean","description":"Enable roll-back for the repository. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e if not specified.\n"},"useMercurial":{"type":"boolean","description":"Use Mercurial if \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, otherwise uses Git.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["branch","manualIntegration","repoUrl","rollbackEnabled","useMercurial"]}}},"azure:appservice/LinuxFunctionAppAuthSettings:LinuxFunctionAppAuthSettings":{"properties":{"activeDirectory":{"$ref":"#/types/azure:appservice/LinuxFunctionAppAuthSettingsActiveDirectory:LinuxFunctionAppAuthSettingsActiveDirectory","description":"An \u003cspan pulumi-lang-nodejs=\"`activeDirectory`\" pulumi-lang-dotnet=\"`ActiveDirectory`\" pulumi-lang-go=\"`activeDirectory`\" pulumi-lang-python=\"`active_directory`\" pulumi-lang-yaml=\"`activeDirectory`\" pulumi-lang-java=\"`activeDirectory`\"\u003e`active_directory`\u003c/span\u003e block as defined above.\n"},"additionalLoginParameters":{"type":"object","additionalProperties":{"type":"string"},"description":"Specifies a map of login Parameters to send to the OpenID Connect authorization endpoint when a user logs in.\n"},"allowedExternalRedirectUrls":{"type":"array","items":{"type":"string"},"description":"Specifies a list of External URLs that can be redirected to as part of logging in or logging out of the Linux Web App.\n"},"defaultProvider":{"type":"string","description":"The default authentication provider to use when multiple providers are configured. Possible values include: `AzureActiveDirectory`, `Facebook`, `Google`, `MicrosoftAccount`, `Twitter`, `Github`\n\n\u003e **Note:** This setting is only needed if multiple providers are configured, and the \u003cspan pulumi-lang-nodejs=\"`unauthenticatedClientAction`\" pulumi-lang-dotnet=\"`UnauthenticatedClientAction`\" pulumi-lang-go=\"`unauthenticatedClientAction`\" pulumi-lang-python=\"`unauthenticated_client_action`\" pulumi-lang-yaml=\"`unauthenticatedClientAction`\" pulumi-lang-java=\"`unauthenticatedClientAction`\"\u003e`unauthenticated_client_action`\u003c/span\u003e is set to \"RedirectToLoginPage\".\n"},"enabled":{"type":"boolean","description":"Should the Authentication / Authorization feature be enabled for the Linux Web App?\n"},"facebook":{"$ref":"#/types/azure:appservice/LinuxFunctionAppAuthSettingsFacebook:LinuxFunctionAppAuthSettingsFacebook","description":"A \u003cspan pulumi-lang-nodejs=\"`facebook`\" pulumi-lang-dotnet=\"`Facebook`\" pulumi-lang-go=\"`facebook`\" pulumi-lang-python=\"`facebook`\" pulumi-lang-yaml=\"`facebook`\" pulumi-lang-java=\"`facebook`\"\u003e`facebook`\u003c/span\u003e block as defined below.\n"},"github":{"$ref":"#/types/azure:appservice/LinuxFunctionAppAuthSettingsGithub:LinuxFunctionAppAuthSettingsGithub","description":"A \u003cspan pulumi-lang-nodejs=\"`github`\" pulumi-lang-dotnet=\"`Github`\" pulumi-lang-go=\"`github`\" pulumi-lang-python=\"`github`\" pulumi-lang-yaml=\"`github`\" pulumi-lang-java=\"`github`\"\u003e`github`\u003c/span\u003e block as defined below.\n"},"google":{"$ref":"#/types/azure:appservice/LinuxFunctionAppAuthSettingsGoogle:LinuxFunctionAppAuthSettingsGoogle","description":"A \u003cspan pulumi-lang-nodejs=\"`google`\" pulumi-lang-dotnet=\"`Google`\" pulumi-lang-go=\"`google`\" pulumi-lang-python=\"`google`\" pulumi-lang-yaml=\"`google`\" pulumi-lang-java=\"`google`\"\u003e`google`\u003c/span\u003e block as defined below.\n"},"issuer":{"type":"string","description":"The OpenID Connect Issuer URI that represents the entity which issues access tokens for this Linux Web App.\n\n\u003e **Note:** When using Azure Active Directory, this value is the URI of the directory tenant, e.g. \u003chttps://sts.windows.net/{tenant-guid}/\u003e.\n"},"microsoft":{"$ref":"#/types/azure:appservice/LinuxFunctionAppAuthSettingsMicrosoft:LinuxFunctionAppAuthSettingsMicrosoft","description":"A \u003cspan pulumi-lang-nodejs=\"`microsoft`\" pulumi-lang-dotnet=\"`Microsoft`\" pulumi-lang-go=\"`microsoft`\" pulumi-lang-python=\"`microsoft`\" pulumi-lang-yaml=\"`microsoft`\" pulumi-lang-java=\"`microsoft`\"\u003e`microsoft`\u003c/span\u003e block as defined below.\n"},"runtimeVersion":{"type":"string","description":"The RuntimeVersion of the Authentication / Authorization feature in use for the Linux Web App.\n"},"tokenRefreshExtensionHours":{"type":"number","description":"The number of hours after session token expiration that a session token can be used to call the token refresh API. Defaults to \u003cspan pulumi-lang-nodejs=\"`72`\" pulumi-lang-dotnet=\"`72`\" pulumi-lang-go=\"`72`\" pulumi-lang-python=\"`72`\" pulumi-lang-yaml=\"`72`\" pulumi-lang-java=\"`72`\"\u003e`72`\u003c/span\u003e hours.\n"},"tokenStoreEnabled":{"type":"boolean","description":"Should the Linux Web App durably store platform-specific security tokens that are obtained during login flows? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"twitter":{"$ref":"#/types/azure:appservice/LinuxFunctionAppAuthSettingsTwitter:LinuxFunctionAppAuthSettingsTwitter","description":"A \u003cspan pulumi-lang-nodejs=\"`twitter`\" pulumi-lang-dotnet=\"`Twitter`\" pulumi-lang-go=\"`twitter`\" pulumi-lang-python=\"`twitter`\" pulumi-lang-yaml=\"`twitter`\" pulumi-lang-java=\"`twitter`\"\u003e`twitter`\u003c/span\u003e block as defined below.\n"},"unauthenticatedClientAction":{"type":"string","description":"The action to take when an unauthenticated client attempts to access the app. Possible values include: `RedirectToLoginPage`, `AllowAnonymous`.\n"}},"type":"object","required":["enabled"],"language":{"nodejs":{"requiredOutputs":["allowedExternalRedirectUrls","defaultProvider","enabled","runtimeVersion","unauthenticatedClientAction"]}}},"azure:appservice/LinuxFunctionAppAuthSettingsActiveDirectory:LinuxFunctionAppAuthSettingsActiveDirectory":{"properties":{"allowedAudiences":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Allowed audience values to consider when validating JWTs issued by Azure Active Directory.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`clientId`\" pulumi-lang-dotnet=\"`ClientId`\" pulumi-lang-go=\"`clientId`\" pulumi-lang-python=\"`client_id`\" pulumi-lang-yaml=\"`clientId`\" pulumi-lang-java=\"`clientId`\"\u003e`client_id`\u003c/span\u003e value is always considered an allowed audience.\n"},"clientId":{"type":"string","description":"The ID of the Client to use to authenticate with Azure Active Directory.\n"},"clientSecret":{"type":"string","description":"The Client Secret for the Client ID. Cannot be used with \u003cspan pulumi-lang-nodejs=\"`clientSecretSettingName`\" pulumi-lang-dotnet=\"`ClientSecretSettingName`\" pulumi-lang-go=\"`clientSecretSettingName`\" pulumi-lang-python=\"`client_secret_setting_name`\" pulumi-lang-yaml=\"`clientSecretSettingName`\" pulumi-lang-java=\"`clientSecretSettingName`\"\u003e`client_secret_setting_name`\u003c/span\u003e.\n","secret":true},"clientSecretSettingName":{"type":"string","description":"The App Setting name that contains the client secret of the Client. Cannot be used with \u003cspan pulumi-lang-nodejs=\"`clientSecret`\" pulumi-lang-dotnet=\"`ClientSecret`\" pulumi-lang-go=\"`clientSecret`\" pulumi-lang-python=\"`client_secret`\" pulumi-lang-yaml=\"`clientSecret`\" pulumi-lang-java=\"`clientSecret`\"\u003e`client_secret`\u003c/span\u003e.\n"}},"type":"object","required":["clientId"]},"azure:appservice/LinuxFunctionAppAuthSettingsFacebook:LinuxFunctionAppAuthSettingsFacebook":{"properties":{"appId":{"type":"string","description":"The App ID of the Facebook app used for login.\n"},"appSecret":{"type":"string","description":"The App Secret of the Facebook app used for Facebook login. Cannot be specified with \u003cspan pulumi-lang-nodejs=\"`appSecretSettingName`\" pulumi-lang-dotnet=\"`AppSecretSettingName`\" pulumi-lang-go=\"`appSecretSettingName`\" pulumi-lang-python=\"`app_secret_setting_name`\" pulumi-lang-yaml=\"`appSecretSettingName`\" pulumi-lang-java=\"`appSecretSettingName`\"\u003e`app_secret_setting_name`\u003c/span\u003e.\n","secret":true},"appSecretSettingName":{"type":"string","description":"The app setting name that contains the \u003cspan pulumi-lang-nodejs=\"`appSecret`\" pulumi-lang-dotnet=\"`AppSecret`\" pulumi-lang-go=\"`appSecret`\" pulumi-lang-python=\"`app_secret`\" pulumi-lang-yaml=\"`appSecret`\" pulumi-lang-java=\"`appSecret`\"\u003e`app_secret`\u003c/span\u003e value used for Facebook login. Cannot be specified with \u003cspan pulumi-lang-nodejs=\"`appSecret`\" pulumi-lang-dotnet=\"`AppSecret`\" pulumi-lang-go=\"`appSecret`\" pulumi-lang-python=\"`app_secret`\" pulumi-lang-yaml=\"`appSecret`\" pulumi-lang-java=\"`appSecret`\"\u003e`app_secret`\u003c/span\u003e.\n"},"oauthScopes":{"type":"array","items":{"type":"string"},"description":"Specifies a list of OAuth 2.0 scopes to be requested as part of Facebook login authentication.\n"}},"type":"object","required":["appId"]},"azure:appservice/LinuxFunctionAppAuthSettingsGithub:LinuxFunctionAppAuthSettingsGithub":{"properties":{"clientId":{"type":"string","description":"The ID of the GitHub app used for login.\n"},"clientSecret":{"type":"string","description":"The Client Secret of the GitHub app used for GitHub login. Cannot be specified with \u003cspan pulumi-lang-nodejs=\"`clientSecretSettingName`\" pulumi-lang-dotnet=\"`ClientSecretSettingName`\" pulumi-lang-go=\"`clientSecretSettingName`\" pulumi-lang-python=\"`client_secret_setting_name`\" pulumi-lang-yaml=\"`clientSecretSettingName`\" pulumi-lang-java=\"`clientSecretSettingName`\"\u003e`client_secret_setting_name`\u003c/span\u003e.\n","secret":true},"clientSecretSettingName":{"type":"string","description":"The app setting name that contains the \u003cspan pulumi-lang-nodejs=\"`clientSecret`\" pulumi-lang-dotnet=\"`ClientSecret`\" pulumi-lang-go=\"`clientSecret`\" pulumi-lang-python=\"`client_secret`\" pulumi-lang-yaml=\"`clientSecret`\" pulumi-lang-java=\"`clientSecret`\"\u003e`client_secret`\u003c/span\u003e value used for GitHub login. Cannot be specified with \u003cspan pulumi-lang-nodejs=\"`clientSecret`\" pulumi-lang-dotnet=\"`ClientSecret`\" pulumi-lang-go=\"`clientSecret`\" pulumi-lang-python=\"`client_secret`\" pulumi-lang-yaml=\"`clientSecret`\" pulumi-lang-java=\"`clientSecret`\"\u003e`client_secret`\u003c/span\u003e.\n"},"oauthScopes":{"type":"array","items":{"type":"string"},"description":"Specifies a list of OAuth 2.0 scopes that will be requested as part of GitHub login authentication.\n"}},"type":"object","required":["clientId"]},"azure:appservice/LinuxFunctionAppAuthSettingsGoogle:LinuxFunctionAppAuthSettingsGoogle":{"properties":{"clientId":{"type":"string","description":"The OpenID Connect Client ID for the Google web application.\n"},"clientSecret":{"type":"string","description":"The client secret associated with the Google web application. Cannot be specified with \u003cspan pulumi-lang-nodejs=\"`clientSecretSettingName`\" pulumi-lang-dotnet=\"`ClientSecretSettingName`\" pulumi-lang-go=\"`clientSecretSettingName`\" pulumi-lang-python=\"`client_secret_setting_name`\" pulumi-lang-yaml=\"`clientSecretSettingName`\" pulumi-lang-java=\"`clientSecretSettingName`\"\u003e`client_secret_setting_name`\u003c/span\u003e.\n","secret":true},"clientSecretSettingName":{"type":"string","description":"The app setting name that contains the \u003cspan pulumi-lang-nodejs=\"`clientSecret`\" pulumi-lang-dotnet=\"`ClientSecret`\" pulumi-lang-go=\"`clientSecret`\" pulumi-lang-python=\"`client_secret`\" pulumi-lang-yaml=\"`clientSecret`\" pulumi-lang-java=\"`clientSecret`\"\u003e`client_secret`\u003c/span\u003e value used for Google login. Cannot be specified with \u003cspan pulumi-lang-nodejs=\"`clientSecret`\" pulumi-lang-dotnet=\"`ClientSecret`\" pulumi-lang-go=\"`clientSecret`\" pulumi-lang-python=\"`client_secret`\" pulumi-lang-yaml=\"`clientSecret`\" pulumi-lang-java=\"`clientSecret`\"\u003e`client_secret`\u003c/span\u003e.\n"},"oauthScopes":{"type":"array","items":{"type":"string"},"description":"Specifies a list of OAuth 2.0 scopes that will be requested as part of Google Sign-In authentication. If not specified, \u003cspan pulumi-lang-nodejs=\"`openid`\" pulumi-lang-dotnet=\"`Openid`\" pulumi-lang-go=\"`openid`\" pulumi-lang-python=\"`openid`\" pulumi-lang-yaml=\"`openid`\" pulumi-lang-java=\"`openid`\"\u003e`openid`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`profile`\" pulumi-lang-dotnet=\"`Profile`\" pulumi-lang-go=\"`profile`\" pulumi-lang-python=\"`profile`\" pulumi-lang-yaml=\"`profile`\" pulumi-lang-java=\"`profile`\"\u003e`profile`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`email`\" pulumi-lang-dotnet=\"`Email`\" pulumi-lang-go=\"`email`\" pulumi-lang-python=\"`email`\" pulumi-lang-yaml=\"`email`\" pulumi-lang-java=\"`email`\"\u003e`email`\u003c/span\u003e are used as default scopes.\n"}},"type":"object","required":["clientId"]},"azure:appservice/LinuxFunctionAppAuthSettingsMicrosoft:LinuxFunctionAppAuthSettingsMicrosoft":{"properties":{"clientId":{"type":"string","description":"The OAuth 2.0 client ID that was created for the app used for authentication.\n"},"clientSecret":{"type":"string","description":"The OAuth 2.0 client secret that was created for the app used for authentication. Cannot be specified with \u003cspan pulumi-lang-nodejs=\"`clientSecretSettingName`\" pulumi-lang-dotnet=\"`ClientSecretSettingName`\" pulumi-lang-go=\"`clientSecretSettingName`\" pulumi-lang-python=\"`client_secret_setting_name`\" pulumi-lang-yaml=\"`clientSecretSettingName`\" pulumi-lang-java=\"`clientSecretSettingName`\"\u003e`client_secret_setting_name`\u003c/span\u003e.\n","secret":true},"clientSecretSettingName":{"type":"string","description":"The app setting name containing the OAuth 2.0 client secret that was created for the app used for authentication. Cannot be specified with \u003cspan pulumi-lang-nodejs=\"`clientSecret`\" pulumi-lang-dotnet=\"`ClientSecret`\" pulumi-lang-go=\"`clientSecret`\" pulumi-lang-python=\"`client_secret`\" pulumi-lang-yaml=\"`clientSecret`\" pulumi-lang-java=\"`clientSecret`\"\u003e`client_secret`\u003c/span\u003e.\n"},"oauthScopes":{"type":"array","items":{"type":"string"},"description":"Specifies a 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.\n"}},"type":"object","required":["clientId"]},"azure:appservice/LinuxFunctionAppAuthSettingsTwitter:LinuxFunctionAppAuthSettingsTwitter":{"properties":{"consumerKey":{"type":"string","description":"The OAuth 1.0a consumer key of the Twitter application used for sign-in.\n"},"consumerSecret":{"type":"string","description":"The OAuth 1.0a consumer secret of the Twitter application used for sign-in. Cannot be specified with \u003cspan pulumi-lang-nodejs=\"`consumerSecretSettingName`\" pulumi-lang-dotnet=\"`ConsumerSecretSettingName`\" pulumi-lang-go=\"`consumerSecretSettingName`\" pulumi-lang-python=\"`consumer_secret_setting_name`\" pulumi-lang-yaml=\"`consumerSecretSettingName`\" pulumi-lang-java=\"`consumerSecretSettingName`\"\u003e`consumer_secret_setting_name`\u003c/span\u003e.\n","secret":true},"consumerSecretSettingName":{"type":"string","description":"The app setting name that contains the OAuth 1.0a consumer secret of the Twitter application used for sign-in. Cannot be specified with \u003cspan pulumi-lang-nodejs=\"`consumerSecret`\" pulumi-lang-dotnet=\"`ConsumerSecret`\" pulumi-lang-go=\"`consumerSecret`\" pulumi-lang-python=\"`consumer_secret`\" pulumi-lang-yaml=\"`consumerSecret`\" pulumi-lang-java=\"`consumerSecret`\"\u003e`consumer_secret`\u003c/span\u003e.\n"}},"type":"object","required":["consumerKey"]},"azure:appservice/LinuxFunctionAppAuthSettingsV2:LinuxFunctionAppAuthSettingsV2":{"properties":{"activeDirectoryV2":{"$ref":"#/types/azure:appservice/LinuxFunctionAppAuthSettingsV2ActiveDirectoryV2:LinuxFunctionAppAuthSettingsV2ActiveDirectoryV2","description":"An \u003cspan pulumi-lang-nodejs=\"`activeDirectoryV2`\" pulumi-lang-dotnet=\"`ActiveDirectoryV2`\" pulumi-lang-go=\"`activeDirectoryV2`\" pulumi-lang-python=\"`active_directory_v2`\" pulumi-lang-yaml=\"`activeDirectoryV2`\" pulumi-lang-java=\"`activeDirectoryV2`\"\u003e`active_directory_v2`\u003c/span\u003e block as defined below.\n"},"appleV2":{"$ref":"#/types/azure:appservice/LinuxFunctionAppAuthSettingsV2AppleV2:LinuxFunctionAppAuthSettingsV2AppleV2","description":"An \u003cspan pulumi-lang-nodejs=\"`appleV2`\" pulumi-lang-dotnet=\"`AppleV2`\" pulumi-lang-go=\"`appleV2`\" pulumi-lang-python=\"`apple_v2`\" pulumi-lang-yaml=\"`appleV2`\" pulumi-lang-java=\"`appleV2`\"\u003e`apple_v2`\u003c/span\u003e block as defined below.\n"},"authEnabled":{"type":"boolean","description":"Should the AuthV2 Settings be enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"azureStaticWebAppV2":{"$ref":"#/types/azure:appservice/LinuxFunctionAppAuthSettingsV2AzureStaticWebAppV2:LinuxFunctionAppAuthSettingsV2AzureStaticWebAppV2","description":"An \u003cspan pulumi-lang-nodejs=\"`azureStaticWebAppV2`\" pulumi-lang-dotnet=\"`AzureStaticWebAppV2`\" pulumi-lang-go=\"`azureStaticWebAppV2`\" pulumi-lang-python=\"`azure_static_web_app_v2`\" pulumi-lang-yaml=\"`azureStaticWebAppV2`\" pulumi-lang-java=\"`azureStaticWebAppV2`\"\u003e`azure_static_web_app_v2`\u003c/span\u003e block as defined below.\n"},"configFilePath":{"type":"string","description":"The path to the App Auth settings.\n\n\u003e **Note:** Relative Paths are evaluated from the Site Root directory.\n"},"customOidcV2s":{"type":"array","items":{"$ref":"#/types/azure:appservice/LinuxFunctionAppAuthSettingsV2CustomOidcV2:LinuxFunctionAppAuthSettingsV2CustomOidcV2"},"description":"Zero or more \u003cspan pulumi-lang-nodejs=\"`customOidcV2`\" pulumi-lang-dotnet=\"`CustomOidcV2`\" pulumi-lang-go=\"`customOidcV2`\" pulumi-lang-python=\"`custom_oidc_v2`\" pulumi-lang-yaml=\"`customOidcV2`\" pulumi-lang-java=\"`customOidcV2`\"\u003e`custom_oidc_v2`\u003c/span\u003e blocks as defined below.\n"},"defaultProvider":{"type":"string","description":"The Default Authentication Provider to use when the \u003cspan pulumi-lang-nodejs=\"`unauthenticatedAction`\" pulumi-lang-dotnet=\"`UnauthenticatedAction`\" pulumi-lang-go=\"`unauthenticatedAction`\" pulumi-lang-python=\"`unauthenticated_action`\" pulumi-lang-yaml=\"`unauthenticatedAction`\" pulumi-lang-java=\"`unauthenticatedAction`\"\u003e`unauthenticated_action`\u003c/span\u003e is set to `RedirectToLoginPage`. Possible values include: \u003cspan pulumi-lang-nodejs=\"`apple`\" pulumi-lang-dotnet=\"`Apple`\" pulumi-lang-go=\"`apple`\" pulumi-lang-python=\"`apple`\" pulumi-lang-yaml=\"`apple`\" pulumi-lang-java=\"`apple`\"\u003e`apple`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`azureactivedirectory`\" pulumi-lang-dotnet=\"`Azureactivedirectory`\" pulumi-lang-go=\"`azureactivedirectory`\" pulumi-lang-python=\"`azureactivedirectory`\" pulumi-lang-yaml=\"`azureactivedirectory`\" pulumi-lang-java=\"`azureactivedirectory`\"\u003e`azureactivedirectory`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`facebook`\" pulumi-lang-dotnet=\"`Facebook`\" pulumi-lang-go=\"`facebook`\" pulumi-lang-python=\"`facebook`\" pulumi-lang-yaml=\"`facebook`\" pulumi-lang-java=\"`facebook`\"\u003e`facebook`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`github`\" pulumi-lang-dotnet=\"`Github`\" pulumi-lang-go=\"`github`\" pulumi-lang-python=\"`github`\" pulumi-lang-yaml=\"`github`\" pulumi-lang-java=\"`github`\"\u003e`github`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`google`\" pulumi-lang-dotnet=\"`Google`\" pulumi-lang-go=\"`google`\" pulumi-lang-python=\"`google`\" pulumi-lang-yaml=\"`google`\" pulumi-lang-java=\"`google`\"\u003e`google`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`twitter`\" pulumi-lang-dotnet=\"`Twitter`\" pulumi-lang-go=\"`twitter`\" pulumi-lang-python=\"`twitter`\" pulumi-lang-yaml=\"`twitter`\" pulumi-lang-java=\"`twitter`\"\u003e`twitter`\u003c/span\u003e and the \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e of your \u003cspan pulumi-lang-nodejs=\"`customOidcV2`\" pulumi-lang-dotnet=\"`CustomOidcV2`\" pulumi-lang-go=\"`customOidcV2`\" pulumi-lang-python=\"`custom_oidc_v2`\" pulumi-lang-yaml=\"`customOidcV2`\" pulumi-lang-java=\"`customOidcV2`\"\u003e`custom_oidc_v2`\u003c/span\u003e provider.\n\n\u003e **Note:** Whilst any value will be accepted by the API for \u003cspan pulumi-lang-nodejs=\"`defaultProvider`\" pulumi-lang-dotnet=\"`DefaultProvider`\" pulumi-lang-go=\"`defaultProvider`\" pulumi-lang-python=\"`default_provider`\" pulumi-lang-yaml=\"`defaultProvider`\" pulumi-lang-java=\"`defaultProvider`\"\u003e`default_provider`\u003c/span\u003e, it can leave the app in an unusable state if this value does not correspond to the name of a known provider (either built-in value, or\u003cspan pulumi-lang-nodejs=\" customOidc \" pulumi-lang-dotnet=\" CustomOidc \" pulumi-lang-go=\" customOidc \" pulumi-lang-python=\" custom_oidc \" pulumi-lang-yaml=\" customOidc \" pulumi-lang-java=\" customOidc \"\u003e custom_oidc \u003c/span\u003ename) as it is used to build the auth endpoint URI.\n"},"excludedPaths":{"type":"array","items":{"type":"string"},"description":"The paths which should be excluded from the \u003cspan pulumi-lang-nodejs=\"`unauthenticatedAction`\" pulumi-lang-dotnet=\"`UnauthenticatedAction`\" pulumi-lang-go=\"`unauthenticatedAction`\" pulumi-lang-python=\"`unauthenticated_action`\" pulumi-lang-yaml=\"`unauthenticatedAction`\" pulumi-lang-java=\"`unauthenticatedAction`\"\u003e`unauthenticated_action`\u003c/span\u003e when it is set to `RedirectToLoginPage`.\n\n\u003e **Note:** This list should be used instead of setting `WEBSITE_WARMUP_PATH` in \u003cspan pulumi-lang-nodejs=\"`appSettings`\" pulumi-lang-dotnet=\"`AppSettings`\" pulumi-lang-go=\"`appSettings`\" pulumi-lang-python=\"`app_settings`\" pulumi-lang-yaml=\"`appSettings`\" pulumi-lang-java=\"`appSettings`\"\u003e`app_settings`\u003c/span\u003e as it takes priority.\n"},"facebookV2":{"$ref":"#/types/azure:appservice/LinuxFunctionAppAuthSettingsV2FacebookV2:LinuxFunctionAppAuthSettingsV2FacebookV2","description":"A \u003cspan pulumi-lang-nodejs=\"`facebookV2`\" pulumi-lang-dotnet=\"`FacebookV2`\" pulumi-lang-go=\"`facebookV2`\" pulumi-lang-python=\"`facebook_v2`\" pulumi-lang-yaml=\"`facebookV2`\" pulumi-lang-java=\"`facebookV2`\"\u003e`facebook_v2`\u003c/span\u003e block as defined below.\n"},"forwardProxyConvention":{"type":"string","description":"The convention used to determine the url of the request made. Possible values include `NoProxy`, `Standard`, `Custom`. Defaults to `NoProxy`.\n"},"forwardProxyCustomHostHeaderName":{"type":"string","description":"The name of the custom header containing the host of the request.\n"},"forwardProxyCustomSchemeHeaderName":{"type":"string","description":"The name of the custom header containing the scheme of the request.\n"},"githubV2":{"$ref":"#/types/azure:appservice/LinuxFunctionAppAuthSettingsV2GithubV2:LinuxFunctionAppAuthSettingsV2GithubV2","description":"A \u003cspan pulumi-lang-nodejs=\"`githubV2`\" pulumi-lang-dotnet=\"`GithubV2`\" pulumi-lang-go=\"`githubV2`\" pulumi-lang-python=\"`github_v2`\" pulumi-lang-yaml=\"`githubV2`\" pulumi-lang-java=\"`githubV2`\"\u003e`github_v2`\u003c/span\u003e block as defined below.\n"},"googleV2":{"$ref":"#/types/azure:appservice/LinuxFunctionAppAuthSettingsV2GoogleV2:LinuxFunctionAppAuthSettingsV2GoogleV2","description":"A \u003cspan pulumi-lang-nodejs=\"`googleV2`\" pulumi-lang-dotnet=\"`GoogleV2`\" pulumi-lang-go=\"`googleV2`\" pulumi-lang-python=\"`google_v2`\" pulumi-lang-yaml=\"`googleV2`\" pulumi-lang-java=\"`googleV2`\"\u003e`google_v2`\u003c/span\u003e block as defined below.\n"},"httpRouteApiPrefix":{"type":"string","description":"The prefix that should precede all the authentication and authorisation paths. Defaults to `/.auth`.\n"},"login":{"$ref":"#/types/azure:appservice/LinuxFunctionAppAuthSettingsV2Login:LinuxFunctionAppAuthSettingsV2Login","description":"A \u003cspan pulumi-lang-nodejs=\"`login`\" pulumi-lang-dotnet=\"`Login`\" pulumi-lang-go=\"`login`\" pulumi-lang-python=\"`login`\" pulumi-lang-yaml=\"`login`\" pulumi-lang-java=\"`login`\"\u003e`login`\u003c/span\u003e block as defined below.\n"},"microsoftV2":{"$ref":"#/types/azure:appservice/LinuxFunctionAppAuthSettingsV2MicrosoftV2:LinuxFunctionAppAuthSettingsV2MicrosoftV2","description":"A \u003cspan pulumi-lang-nodejs=\"`microsoftV2`\" pulumi-lang-dotnet=\"`MicrosoftV2`\" pulumi-lang-go=\"`microsoftV2`\" pulumi-lang-python=\"`microsoft_v2`\" pulumi-lang-yaml=\"`microsoftV2`\" pulumi-lang-java=\"`microsoftV2`\"\u003e`microsoft_v2`\u003c/span\u003e block as defined below.\n"},"requireAuthentication":{"type":"boolean","description":"Should the authentication flow be used for all requests.\n"},"requireHttps":{"type":"boolean","description":"Should HTTPS be required on connections? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"runtimeVersion":{"type":"string","description":"The Runtime Version of the Authentication and Authorisation feature of this App. Defaults to `~1`.\n"},"twitterV2":{"$ref":"#/types/azure:appservice/LinuxFunctionAppAuthSettingsV2TwitterV2:LinuxFunctionAppAuthSettingsV2TwitterV2","description":"A \u003cspan pulumi-lang-nodejs=\"`twitterV2`\" pulumi-lang-dotnet=\"`TwitterV2`\" pulumi-lang-go=\"`twitterV2`\" pulumi-lang-python=\"`twitter_v2`\" pulumi-lang-yaml=\"`twitterV2`\" pulumi-lang-java=\"`twitterV2`\"\u003e`twitter_v2`\u003c/span\u003e block as defined below.\n"},"unauthenticatedAction":{"type":"string","description":"The action to take for requests made without authentication. Possible values include `RedirectToLoginPage`, `AllowAnonymous`, `Return401`, and `Return403`. Defaults to `RedirectToLoginPage`.\n"}},"type":"object","required":["login"]},"azure:appservice/LinuxFunctionAppAuthSettingsV2ActiveDirectoryV2:LinuxFunctionAppAuthSettingsV2ActiveDirectoryV2":{"properties":{"allowedApplications":{"type":"array","items":{"type":"string"},"description":"The list of allowed Applications for the Default Authorisation Policy.\n"},"allowedAudiences":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Allowed audience values to consider when validating JWTs issued by Azure Active Directory.\n\n\u003e **Note:** This is configured on the Authentication Provider side and is Read Only here.\n"},"allowedGroups":{"type":"array","items":{"type":"string"},"description":"The list of allowed Group Names for the Default Authorisation Policy.\n"},"allowedIdentities":{"type":"array","items":{"type":"string"},"description":"The list of allowed Identities for the Default Authorisation Policy.\n"},"clientId":{"type":"string","description":"The ID of the Client to use to authenticate with Azure Active Directory.\n"},"clientSecretCertificateThumbprint":{"type":"string","description":"The thumbprint of the certificate used for signing purposes.\n\n!\u003e **Note:** If one \u003cspan pulumi-lang-nodejs=\"`clientSecretSettingName`\" pulumi-lang-dotnet=\"`ClientSecretSettingName`\" pulumi-lang-go=\"`clientSecretSettingName`\" pulumi-lang-python=\"`client_secret_setting_name`\" pulumi-lang-yaml=\"`clientSecretSettingName`\" pulumi-lang-java=\"`clientSecretSettingName`\"\u003e`client_secret_setting_name`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`clientSecretCertificateThumbprint`\" pulumi-lang-dotnet=\"`ClientSecretCertificateThumbprint`\" pulumi-lang-go=\"`clientSecretCertificateThumbprint`\" pulumi-lang-python=\"`client_secret_certificate_thumbprint`\" pulumi-lang-yaml=\"`clientSecretCertificateThumbprint`\" pulumi-lang-java=\"`clientSecretCertificateThumbprint`\"\u003e`client_secret_certificate_thumbprint`\u003c/span\u003e is specified, terraform won't write the client secret or secret certificate thumbprint back to \u003cspan pulumi-lang-nodejs=\"`appSetting`\" pulumi-lang-dotnet=\"`AppSetting`\" pulumi-lang-go=\"`appSetting`\" pulumi-lang-python=\"`app_setting`\" pulumi-lang-yaml=\"`appSetting`\" pulumi-lang-java=\"`appSetting`\"\u003e`app_setting`\u003c/span\u003e, so make sure they are existed in \u003cspan pulumi-lang-nodejs=\"`appSettings`\" pulumi-lang-dotnet=\"`AppSettings`\" pulumi-lang-go=\"`appSettings`\" pulumi-lang-python=\"`app_settings`\" pulumi-lang-yaml=\"`appSettings`\" pulumi-lang-java=\"`appSettings`\"\u003e`app_settings`\u003c/span\u003e to function correctly.\n"},"clientSecretSettingName":{"type":"string","description":"The App Setting name that contains the client secret of the Client.\n\n!\u003e **Note:** A setting with this name must exist in \u003cspan pulumi-lang-nodejs=\"`appSettings`\" pulumi-lang-dotnet=\"`AppSettings`\" pulumi-lang-go=\"`appSettings`\" pulumi-lang-python=\"`app_settings`\" pulumi-lang-yaml=\"`appSettings`\" pulumi-lang-java=\"`appSettings`\"\u003e`app_settings`\u003c/span\u003e to function correctly.\n"},"jwtAllowedClientApplications":{"type":"array","items":{"type":"string"},"description":"A list of Allowed Client Applications in the JWT Claim.\n"},"jwtAllowedGroups":{"type":"array","items":{"type":"string"},"description":"A list of Allowed Groups in the JWT Claim.\n"},"loginParameters":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of key-value pairs to send to the Authorisation Endpoint when a user logs in.\n"},"tenantAuthEndpoint":{"type":"string","description":"The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/`\n\n\u003e **Note:** [Here](https://learn.microsoft.com/en-us/entra/identity-platform/authentication-national-cloud#microsoft-entra-authentication-endpoints) is a list of possible authentication endpoints based on the cloud environment. [Here](https://learn.microsoft.com/en-us/azure/app-service/configure-authentication-provider-aad?tabs=workforce-tenant) is more information to better understand how to configure authentication for Azure App Service or Azure Functions.\n"},"wwwAuthenticationDisabled":{"type":"boolean","description":"Should the www-authenticate provider should be omitted from the request? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"}},"type":"object","required":["clientId","tenantAuthEndpoint"]},"azure:appservice/LinuxFunctionAppAuthSettingsV2AppleV2:LinuxFunctionAppAuthSettingsV2AppleV2":{"properties":{"clientId":{"type":"string","description":"The OpenID Connect Client ID for the Apple web application.\n"},"clientSecretSettingName":{"type":"string","description":"The app setting name that contains the \u003cspan pulumi-lang-nodejs=\"`clientSecret`\" pulumi-lang-dotnet=\"`ClientSecret`\" pulumi-lang-go=\"`clientSecret`\" pulumi-lang-python=\"`client_secret`\" pulumi-lang-yaml=\"`clientSecret`\" pulumi-lang-java=\"`clientSecret`\"\u003e`client_secret`\u003c/span\u003e value used for Apple Login.\n\n!\u003e **Note:** A setting with this name must exist in \u003cspan pulumi-lang-nodejs=\"`appSettings`\" pulumi-lang-dotnet=\"`AppSettings`\" pulumi-lang-go=\"`appSettings`\" pulumi-lang-python=\"`app_settings`\" pulumi-lang-yaml=\"`appSettings`\" pulumi-lang-java=\"`appSettings`\"\u003e`app_settings`\u003c/span\u003e to function correctly.\n"},"loginScopes":{"type":"array","items":{"type":"string"},"description":"A list of Login Scopes provided by this Authentication Provider.\n\n\u003e **Note:** This is configured on the Authentication Provider side and is Read Only here.\n"}},"type":"object","required":["clientId","clientSecretSettingName"],"language":{"nodejs":{"requiredOutputs":["clientId","clientSecretSettingName","loginScopes"]}}},"azure:appservice/LinuxFunctionAppAuthSettingsV2AzureStaticWebAppV2:LinuxFunctionAppAuthSettingsV2AzureStaticWebAppV2":{"properties":{"clientId":{"type":"string","description":"The ID of the Client to use to authenticate with Azure Static Web App Authentication.\n"}},"type":"object","required":["clientId"]},"azure:appservice/LinuxFunctionAppAuthSettingsV2CustomOidcV2:LinuxFunctionAppAuthSettingsV2CustomOidcV2":{"properties":{"authorisationEndpoint":{"type":"string","description":"The endpoint to make the Authorisation Request as supplied by \u003cspan pulumi-lang-nodejs=\"`openidConfigurationEndpoint`\" pulumi-lang-dotnet=\"`OpenidConfigurationEndpoint`\" pulumi-lang-go=\"`openidConfigurationEndpoint`\" pulumi-lang-python=\"`openid_configuration_endpoint`\" pulumi-lang-yaml=\"`openidConfigurationEndpoint`\" pulumi-lang-java=\"`openidConfigurationEndpoint`\"\u003e`openid_configuration_endpoint`\u003c/span\u003e response.\n"},"certificationUri":{"type":"string","description":"The endpoint that provides the keys necessary to validate the token as supplied by \u003cspan pulumi-lang-nodejs=\"`openidConfigurationEndpoint`\" pulumi-lang-dotnet=\"`OpenidConfigurationEndpoint`\" pulumi-lang-go=\"`openidConfigurationEndpoint`\" pulumi-lang-python=\"`openid_configuration_endpoint`\" pulumi-lang-yaml=\"`openidConfigurationEndpoint`\" pulumi-lang-java=\"`openidConfigurationEndpoint`\"\u003e`openid_configuration_endpoint`\u003c/span\u003e response.\n"},"clientCredentialMethod":{"type":"string","description":"The Client Credential Method used.\n"},"clientId":{"type":"string","description":"The ID of the Client to use to authenticate with the Custom OIDC.\n"},"clientSecretSettingName":{"type":"string","description":"The App Setting name that contains the secret for this Custom OIDC Client. This is generated from \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e above and suffixed with `_PROVIDER_AUTHENTICATION_SECRET`.\n"},"issuerEndpoint":{"type":"string","description":"The endpoint that issued the Token as supplied by \u003cspan pulumi-lang-nodejs=\"`openidConfigurationEndpoint`\" pulumi-lang-dotnet=\"`OpenidConfigurationEndpoint`\" pulumi-lang-go=\"`openidConfigurationEndpoint`\" pulumi-lang-python=\"`openid_configuration_endpoint`\" pulumi-lang-yaml=\"`openidConfigurationEndpoint`\" pulumi-lang-java=\"`openidConfigurationEndpoint`\"\u003e`openid_configuration_endpoint`\u003c/span\u003e response.\n"},"name":{"type":"string","description":"The name of the Custom OIDC Authentication Provider.\n\n\u003e **Note:** An \u003cspan pulumi-lang-nodejs=\"`appSetting`\" pulumi-lang-dotnet=\"`AppSetting`\" pulumi-lang-go=\"`appSetting`\" pulumi-lang-python=\"`app_setting`\" pulumi-lang-yaml=\"`appSetting`\" pulumi-lang-java=\"`appSetting`\"\u003e`app_setting`\u003c/span\u003e matching this value in upper case with the suffix of `_PROVIDER_AUTHENTICATION_SECRET` is required. e.g. `MYOIDC_PROVIDER_AUTHENTICATION_SECRET` for a value of \u003cspan pulumi-lang-nodejs=\"`myoidc`\" pulumi-lang-dotnet=\"`Myoidc`\" pulumi-lang-go=\"`myoidc`\" pulumi-lang-python=\"`myoidc`\" pulumi-lang-yaml=\"`myoidc`\" pulumi-lang-java=\"`myoidc`\"\u003e`myoidc`\u003c/span\u003e.\n"},"nameClaimType":{"type":"string","description":"The name of the claim that contains the users name.\n"},"openidConfigurationEndpoint":{"type":"string","description":"The app setting name that contains the \u003cspan pulumi-lang-nodejs=\"`clientSecret`\" pulumi-lang-dotnet=\"`ClientSecret`\" pulumi-lang-go=\"`clientSecret`\" pulumi-lang-python=\"`client_secret`\" pulumi-lang-yaml=\"`clientSecret`\" pulumi-lang-java=\"`clientSecret`\"\u003e`client_secret`\u003c/span\u003e value used for the Custom OIDC Login.\n"},"scopes":{"type":"array","items":{"type":"string"},"description":"The list of the scopes that should be requested while authenticating.\n"},"tokenEndpoint":{"type":"string","description":"The endpoint used to request a Token as supplied by \u003cspan pulumi-lang-nodejs=\"`openidConfigurationEndpoint`\" pulumi-lang-dotnet=\"`OpenidConfigurationEndpoint`\" pulumi-lang-go=\"`openidConfigurationEndpoint`\" pulumi-lang-python=\"`openid_configuration_endpoint`\" pulumi-lang-yaml=\"`openidConfigurationEndpoint`\" pulumi-lang-java=\"`openidConfigurationEndpoint`\"\u003e`openid_configuration_endpoint`\u003c/span\u003e response.\n"}},"type":"object","required":["clientId","name","openidConfigurationEndpoint"],"language":{"nodejs":{"requiredOutputs":["authorisationEndpoint","certificationUri","clientCredentialMethod","clientId","clientSecretSettingName","issuerEndpoint","name","openidConfigurationEndpoint","tokenEndpoint"]}}},"azure:appservice/LinuxFunctionAppAuthSettingsV2FacebookV2:LinuxFunctionAppAuthSettingsV2FacebookV2":{"properties":{"appId":{"type":"string","description":"The App ID of the Facebook app used for login.\n"},"appSecretSettingName":{"type":"string","description":"The app setting name that contains the \u003cspan pulumi-lang-nodejs=\"`appSecret`\" pulumi-lang-dotnet=\"`AppSecret`\" pulumi-lang-go=\"`appSecret`\" pulumi-lang-python=\"`app_secret`\" pulumi-lang-yaml=\"`appSecret`\" pulumi-lang-java=\"`appSecret`\"\u003e`app_secret`\u003c/span\u003e value used for Facebook Login.\n\n!\u003e **Note:** A setting with this name must exist in \u003cspan pulumi-lang-nodejs=\"`appSettings`\" pulumi-lang-dotnet=\"`AppSettings`\" pulumi-lang-go=\"`appSettings`\" pulumi-lang-python=\"`app_settings`\" pulumi-lang-yaml=\"`appSettings`\" pulumi-lang-java=\"`appSettings`\"\u003e`app_settings`\u003c/span\u003e to function correctly.\n"},"graphApiVersion":{"type":"string","description":"The version of the Facebook API to be used while logging in.\n"},"loginScopes":{"type":"array","items":{"type":"string"},"description":"The list of scopes that should be requested as part of Facebook Login authentication.\n"}},"type":"object","required":["appId","appSecretSettingName"],"language":{"nodejs":{"requiredOutputs":["appId","appSecretSettingName","graphApiVersion"]}}},"azure:appservice/LinuxFunctionAppAuthSettingsV2GithubV2:LinuxFunctionAppAuthSettingsV2GithubV2":{"properties":{"clientId":{"type":"string","description":"The ID of the GitHub app used for login..\n"},"clientSecretSettingName":{"type":"string","description":"The app setting name that contains the \u003cspan pulumi-lang-nodejs=\"`clientSecret`\" pulumi-lang-dotnet=\"`ClientSecret`\" pulumi-lang-go=\"`clientSecret`\" pulumi-lang-python=\"`client_secret`\" pulumi-lang-yaml=\"`clientSecret`\" pulumi-lang-java=\"`clientSecret`\"\u003e`client_secret`\u003c/span\u003e value used for GitHub Login.\n\n!\u003e **Note:** A setting with this name must exist in \u003cspan pulumi-lang-nodejs=\"`appSettings`\" pulumi-lang-dotnet=\"`AppSettings`\" pulumi-lang-go=\"`appSettings`\" pulumi-lang-python=\"`app_settings`\" pulumi-lang-yaml=\"`appSettings`\" pulumi-lang-java=\"`appSettings`\"\u003e`app_settings`\u003c/span\u003e to function correctly.\n"},"loginScopes":{"type":"array","items":{"type":"string"},"description":"The list of OAuth 2.0 scopes that should be requested as part of GitHub Login authentication.\n"}},"type":"object","required":["clientId","clientSecretSettingName"]},"azure:appservice/LinuxFunctionAppAuthSettingsV2GoogleV2:LinuxFunctionAppAuthSettingsV2GoogleV2":{"properties":{"allowedAudiences":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Allowed Audiences that should be requested as part of Google Sign-In authentication.\n"},"clientId":{"type":"string","description":"The OpenID Connect Client ID for the Google web application.\n"},"clientSecretSettingName":{"type":"string","description":"The app setting name that contains the \u003cspan pulumi-lang-nodejs=\"`clientSecret`\" pulumi-lang-dotnet=\"`ClientSecret`\" pulumi-lang-go=\"`clientSecret`\" pulumi-lang-python=\"`client_secret`\" pulumi-lang-yaml=\"`clientSecret`\" pulumi-lang-java=\"`clientSecret`\"\u003e`client_secret`\u003c/span\u003e value used for Google Login.\n\n!\u003e **Note:** A setting with this name must exist in \u003cspan pulumi-lang-nodejs=\"`appSettings`\" pulumi-lang-dotnet=\"`AppSettings`\" pulumi-lang-go=\"`appSettings`\" pulumi-lang-python=\"`app_settings`\" pulumi-lang-yaml=\"`appSettings`\" pulumi-lang-java=\"`appSettings`\"\u003e`app_settings`\u003c/span\u003e to function correctly.\n"},"loginScopes":{"type":"array","items":{"type":"string"},"description":"The list of OAuth 2.0 scopes that should be requested as part of Google Sign-In authentication.\n"}},"type":"object","required":["clientId","clientSecretSettingName"]},"azure:appservice/LinuxFunctionAppAuthSettingsV2Login:LinuxFunctionAppAuthSettingsV2Login":{"properties":{"allowedExternalRedirectUrls":{"type":"array","items":{"type":"string"},"description":"External URLs that can be redirected to as part of logging in or logging out of the app. This is an advanced setting typically only needed by Windows Store application backends.\n\n\u003e **Note:** URLs within the current domain are always implicitly allowed.\n"},"cookieExpirationConvention":{"type":"string","description":"The method by which cookies expire. Possible values include: `FixedTime`, and `IdentityProviderDerived`. Defaults to `FixedTime`.\n"},"cookieExpirationTime":{"type":"string","description":"The time after the request is made when the session cookie should expire. Defaults to `08:00:00`.\n"},"logoutEndpoint":{"type":"string","description":"The endpoint to which logout requests should be made.\n"},"nonceExpirationTime":{"type":"string","description":"The time after the request is made when the nonce should expire. Defaults to `00:05:00`.\n"},"preserveUrlFragmentsForLogins":{"type":"boolean","description":"Should the fragments from the request be preserved after the login request is made. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"tokenRefreshExtensionTime":{"type":"number","description":"The number of hours after session token expiration that a session token can be used to call the token refresh API. Defaults to \u003cspan pulumi-lang-nodejs=\"`72`\" pulumi-lang-dotnet=\"`72`\" pulumi-lang-go=\"`72`\" pulumi-lang-python=\"`72`\" pulumi-lang-yaml=\"`72`\" pulumi-lang-java=\"`72`\"\u003e`72`\u003c/span\u003e hours.\n"},"tokenStoreEnabled":{"type":"boolean","description":"Should the Token Store configuration Enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e\n"},"tokenStorePath":{"type":"string","description":"The directory path in the App Filesystem in which the tokens will be stored.\n"},"tokenStoreSasSettingName":{"type":"string","description":"The name of the app setting which contains the SAS URL of the blob storage containing the tokens.\n"},"validateNonce":{"type":"boolean","description":"Should the nonce be validated while completing the login flow. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"}},"type":"object"},"azure:appservice/LinuxFunctionAppAuthSettingsV2MicrosoftV2:LinuxFunctionAppAuthSettingsV2MicrosoftV2":{"properties":{"allowedAudiences":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Allowed Audiences that will be requested as part of Microsoft Sign-In authentication.\n"},"clientId":{"type":"string","description":"The OAuth 2.0 client ID that was created for the app used for authentication.\n"},"clientSecretSettingName":{"type":"string","description":"The app setting name containing the OAuth 2.0 client secret that was created for the app used for authentication.\n\n!\u003e **Note:** A setting with this name must exist in \u003cspan pulumi-lang-nodejs=\"`appSettings`\" pulumi-lang-dotnet=\"`AppSettings`\" pulumi-lang-go=\"`appSettings`\" pulumi-lang-python=\"`app_settings`\" pulumi-lang-yaml=\"`appSettings`\" pulumi-lang-java=\"`appSettings`\"\u003e`app_settings`\u003c/span\u003e to function correctly.\n"},"loginScopes":{"type":"array","items":{"type":"string"},"description":"The list of Login scopes that should be requested as part of Microsoft Account authentication.\n"}},"type":"object","required":["clientId","clientSecretSettingName"]},"azure:appservice/LinuxFunctionAppAuthSettingsV2TwitterV2:LinuxFunctionAppAuthSettingsV2TwitterV2":{"properties":{"consumerKey":{"type":"string","description":"The OAuth 1.0a consumer key of the Twitter application used for sign-in.\n"},"consumerSecretSettingName":{"type":"string","description":"The app setting name that contains the OAuth 1.0a consumer secret of the Twitter application used for sign-in.\n\n!\u003e **Note:** A setting with this name must exist in \u003cspan pulumi-lang-nodejs=\"`appSettings`\" pulumi-lang-dotnet=\"`AppSettings`\" pulumi-lang-go=\"`appSettings`\" pulumi-lang-python=\"`app_settings`\" pulumi-lang-yaml=\"`appSettings`\" pulumi-lang-java=\"`appSettings`\"\u003e`app_settings`\u003c/span\u003e to function correctly.\n"}},"type":"object","required":["consumerKey","consumerSecretSettingName"]},"azure:appservice/LinuxFunctionAppBackup:LinuxFunctionAppBackup":{"properties":{"enabled":{"type":"boolean","description":"Should this backup job be enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"name":{"type":"string","description":"The name which should be used for this Backup.\n"},"schedule":{"$ref":"#/types/azure:appservice/LinuxFunctionAppBackupSchedule:LinuxFunctionAppBackupSchedule","description":"A \u003cspan pulumi-lang-nodejs=\"`schedule`\" pulumi-lang-dotnet=\"`Schedule`\" pulumi-lang-go=\"`schedule`\" pulumi-lang-python=\"`schedule`\" pulumi-lang-yaml=\"`schedule`\" pulumi-lang-java=\"`schedule`\"\u003e`schedule`\u003c/span\u003e block as defined below.\n"},"storageAccountUrl":{"type":"string","description":"The SAS URL to the container.\n","secret":true}},"type":"object","required":["name","schedule","storageAccountUrl"]},"azure:appservice/LinuxFunctionAppBackupSchedule:LinuxFunctionAppBackupSchedule":{"properties":{"frequencyInterval":{"type":"integer","description":"How often the backup should be executed (e.g. for weekly backup, this should be set to \u003cspan pulumi-lang-nodejs=\"`7`\" pulumi-lang-dotnet=\"`7`\" pulumi-lang-go=\"`7`\" pulumi-lang-python=\"`7`\" pulumi-lang-yaml=\"`7`\" pulumi-lang-java=\"`7`\"\u003e`7`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`frequencyUnit`\" pulumi-lang-dotnet=\"`FrequencyUnit`\" pulumi-lang-go=\"`frequencyUnit`\" pulumi-lang-python=\"`frequency_unit`\" pulumi-lang-yaml=\"`frequencyUnit`\" pulumi-lang-java=\"`frequencyUnit`\"\u003e`frequency_unit`\u003c/span\u003e should be set to `Day`).\n\n\u003e **Note:** Not all intervals are supported on all Linux Function App SKUs. Please refer to the official documentation for appropriate values.\n"},"frequencyUnit":{"type":"string","description":"The unit of time for how often the backup should take place. Possible values include: `Day` and `Hour`.\n"},"keepAtLeastOneBackup":{"type":"boolean","description":"Should the service keep at least one backup, regardless of age of backup. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"lastExecutionTime":{"type":"string","description":"The time the backup was last attempted.\n"},"retentionPeriodDays":{"type":"integer","description":"After how many days backups should be deleted. Defaults to \u003cspan pulumi-lang-nodejs=\"`30`\" pulumi-lang-dotnet=\"`30`\" pulumi-lang-go=\"`30`\" pulumi-lang-python=\"`30`\" pulumi-lang-yaml=\"`30`\" pulumi-lang-java=\"`30`\"\u003e`30`\u003c/span\u003e.\n"},"startTime":{"type":"string","description":"When the schedule should start working in RFC-3339 format.\n"}},"type":"object","required":["frequencyInterval","frequencyUnit"],"language":{"nodejs":{"requiredOutputs":["frequencyInterval","frequencyUnit","lastExecutionTime","startTime"]}}},"azure:appservice/LinuxFunctionAppConnectionString:LinuxFunctionAppConnectionString":{"properties":{"name":{"type":"string","description":"The name which should be used for this Connection.\n"},"type":{"type":"string","description":"Type of database. Possible values include: `MySQL`, `SQLServer`, `SQLAzure`, `Custom`, `NotificationHub`, `ServiceBus`, `EventHub`, `APIHub`, `DocDb`, `RedisCache`, and `PostgreSQL`.\n"},"value":{"type":"string","description":"The connection string value.\n","secret":true}},"type":"object","required":["name","type","value"]},"azure:appservice/LinuxFunctionAppIdentity:LinuxFunctionAppIdentity":{"properties":{"identityIds":{"type":"array","items":{"type":"string"},"description":"A list of User Assigned Managed Identity IDs to be assigned to this Linux Function App.\n\n\u003e **Note:** This is required when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to `UserAssigned` or `SystemAssigned, UserAssigned`.\n"},"principalId":{"type":"string","description":"The Principal ID associated with this Managed Service Identity.\n"},"tenantId":{"type":"string","description":"The Tenant ID associated with this Managed Service Identity.\n"},"type":{"type":"string","description":"Specifies the type of Managed Service Identity that should be configured on this Linux Function App. Possible values are `SystemAssigned`, `UserAssigned`, `SystemAssigned, UserAssigned` (to enable both).\n"}},"type":"object","required":["type"],"language":{"nodejs":{"requiredOutputs":["principalId","tenantId","type"]}}},"azure:appservice/LinuxFunctionAppSiteConfig:LinuxFunctionAppSiteConfig":{"properties":{"alwaysOn":{"type":"boolean","description":"If this Linux Web App is Always On enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** when running in a Consumption or Premium Plan, \u003cspan pulumi-lang-nodejs=\"`alwaysOn`\" pulumi-lang-dotnet=\"`AlwaysOn`\" pulumi-lang-go=\"`alwaysOn`\" pulumi-lang-python=\"`always_on`\" pulumi-lang-yaml=\"`alwaysOn`\" pulumi-lang-java=\"`alwaysOn`\"\u003e`always_on`\u003c/span\u003e feature should be turned off. Please turn it off before upgrading the service plan from standard to premium.\n"},"apiDefinitionUrl":{"type":"string","description":"The URL of the API definition that describes this Linux Function App.\n"},"apiManagementApiId":{"type":"string","description":"The ID of the API Management API for this Linux Function App.\n"},"appCommandLine":{"type":"string","description":"The App command line to launch.\n"},"appScaleLimit":{"type":"integer","description":"The number of workers this function app can scale out to. Only applicable to apps on the Consumption and Premium plan.\n"},"appServiceLogs":{"$ref":"#/types/azure:appservice/LinuxFunctionAppSiteConfigAppServiceLogs:LinuxFunctionAppSiteConfigAppServiceLogs","description":"An \u003cspan pulumi-lang-nodejs=\"`appServiceLogs`\" pulumi-lang-dotnet=\"`AppServiceLogs`\" pulumi-lang-go=\"`appServiceLogs`\" pulumi-lang-python=\"`app_service_logs`\" pulumi-lang-yaml=\"`appServiceLogs`\" pulumi-lang-java=\"`appServiceLogs`\"\u003e`app_service_logs`\u003c/span\u003e block as defined above.\n"},"applicationInsightsConnectionString":{"type":"string","description":"The Connection String for linking the Linux Function App to Application Insights.\n","secret":true},"applicationInsightsKey":{"type":"string","description":"The Instrumentation Key for connecting the Linux Function App to Application Insights.\n","secret":true},"applicationStack":{"$ref":"#/types/azure:appservice/LinuxFunctionAppSiteConfigApplicationStack:LinuxFunctionAppSiteConfigApplicationStack","description":"An \u003cspan pulumi-lang-nodejs=\"`applicationStack`\" pulumi-lang-dotnet=\"`ApplicationStack`\" pulumi-lang-go=\"`applicationStack`\" pulumi-lang-python=\"`application_stack`\" pulumi-lang-yaml=\"`applicationStack`\" pulumi-lang-java=\"`applicationStack`\"\u003e`application_stack`\u003c/span\u003e block as defined above.\n\n\u003e **Note:** If this is set, there must not be an application setting `FUNCTIONS_WORKER_RUNTIME`.\n"},"containerRegistryManagedIdentityClientId":{"type":"string","description":"The Client ID of the Managed Service Identity to use for connections to the Azure Container Registry.\n"},"containerRegistryUseManagedIdentity":{"type":"boolean","description":"Should connections for Azure Container Registry use Managed Identity.\n"},"cors":{"$ref":"#/types/azure:appservice/LinuxFunctionAppSiteConfigCors:LinuxFunctionAppSiteConfigCors","description":"A \u003cspan pulumi-lang-nodejs=\"`cors`\" pulumi-lang-dotnet=\"`Cors`\" pulumi-lang-go=\"`cors`\" pulumi-lang-python=\"`cors`\" pulumi-lang-yaml=\"`cors`\" pulumi-lang-java=\"`cors`\"\u003e`cors`\u003c/span\u003e block as defined above.\n"},"defaultDocuments":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Default Documents for the Linux Web App.\n"},"detailedErrorLoggingEnabled":{"type":"boolean","description":"Is detailed error logging enabled\n"},"elasticInstanceMinimum":{"type":"integer","description":"The number of minimum instances for this Linux Function App. Only affects apps on Elastic Premium plans.\n"},"ftpsState":{"type":"string","description":"State of FTP / FTPS service for this function app. Possible values include: `AllAllowed`, `FtpsOnly` and `Disabled`. Defaults to `Disabled`.\n"},"healthCheckEvictionTimeInMin":{"type":"integer","description":"The amount of time in minutes that a node can be unhealthy before being removed from the load balancer. Possible values are between \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`10`\" pulumi-lang-dotnet=\"`10`\" pulumi-lang-go=\"`10`\" pulumi-lang-python=\"`10`\" pulumi-lang-yaml=\"`10`\" pulumi-lang-java=\"`10`\"\u003e`10`\u003c/span\u003e. Only valid in conjunction with \u003cspan pulumi-lang-nodejs=\"`healthCheckPath`\" pulumi-lang-dotnet=\"`HealthCheckPath`\" pulumi-lang-go=\"`healthCheckPath`\" pulumi-lang-python=\"`health_check_path`\" pulumi-lang-yaml=\"`healthCheckPath`\" pulumi-lang-java=\"`healthCheckPath`\"\u003e`health_check_path`\u003c/span\u003e.\n"},"healthCheckPath":{"type":"string","description":"The path to be checked for this function app health.\n"},"http2Enabled":{"type":"boolean","description":"Specifies if the HTTP2 protocol should be enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"ipRestrictionDefaultAction":{"type":"string","description":"The Default action for traffic that does not match any \u003cspan pulumi-lang-nodejs=\"`ipRestriction`\" pulumi-lang-dotnet=\"`IpRestriction`\" pulumi-lang-go=\"`ipRestriction`\" pulumi-lang-python=\"`ip_restriction`\" pulumi-lang-yaml=\"`ipRestriction`\" pulumi-lang-java=\"`ipRestriction`\"\u003e`ip_restriction`\u003c/span\u003e rule. possible values include `Allow` and `Deny`. Defaults to `Allow`.\n"},"ipRestrictions":{"type":"array","items":{"$ref":"#/types/azure:appservice/LinuxFunctionAppSiteConfigIpRestriction:LinuxFunctionAppSiteConfigIpRestriction"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`ipRestriction`\" pulumi-lang-dotnet=\"`IpRestriction`\" pulumi-lang-go=\"`ipRestriction`\" pulumi-lang-python=\"`ip_restriction`\" pulumi-lang-yaml=\"`ipRestriction`\" pulumi-lang-java=\"`ipRestriction`\"\u003e`ip_restriction`\u003c/span\u003e blocks as defined above.\n"},"linuxFxVersion":{"type":"string","description":"The Linux FX Version\n"},"loadBalancingMode":{"type":"string","description":"The Site load balancing mode. Possible values include: `WeightedRoundRobin`, `LeastRequests`, `LeastResponseTime`, `WeightedTotalTraffic`, `RequestHash`, `PerSiteRoundRobin`. Defaults to `LeastRequests` if omitted.\n"},"managedPipelineMode":{"type":"string","description":"Managed pipeline mode. Possible values include: `Integrated`, `Classic`. Defaults to `Integrated`.\n"},"minimumTlsVersion":{"type":"string","description":"The configures the minimum version of TLS required for SSL requests. Possible values include: `1.0`, `1.1`, `1.2` and `1.3`. Defaults to `1.2`.\n"},"preWarmedInstanceCount":{"type":"integer","description":"The number of pre-warmed instances for this function app. Only affects apps on an Elastic Premium plan.\n"},"remoteDebuggingEnabled":{"type":"boolean","description":"Should Remote Debugging be enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"remoteDebuggingVersion":{"type":"string","description":"The Remote Debugging Version. Currently only `VS2022` is supported.\n"},"runtimeScaleMonitoringEnabled":{"type":"boolean","description":"Should Scale Monitoring of the Functions Runtime be enabled?\n\n\u003e **Note:** Functions runtime scale monitoring can only be enabled for Elastic Premium Function Apps or Workflow Standard Logic Apps and requires a minimum prewarmed instance count of 1.\n"},"scmIpRestrictionDefaultAction":{"type":"string","description":"The Default action for traffic that does not match any \u003cspan pulumi-lang-nodejs=\"`scmIpRestriction`\" pulumi-lang-dotnet=\"`ScmIpRestriction`\" pulumi-lang-go=\"`scmIpRestriction`\" pulumi-lang-python=\"`scm_ip_restriction`\" pulumi-lang-yaml=\"`scmIpRestriction`\" pulumi-lang-java=\"`scmIpRestriction`\"\u003e`scm_ip_restriction`\u003c/span\u003e rule. possible values include `Allow` and `Deny`. Defaults to `Allow`.\n"},"scmIpRestrictions":{"type":"array","items":{"$ref":"#/types/azure:appservice/LinuxFunctionAppSiteConfigScmIpRestriction:LinuxFunctionAppSiteConfigScmIpRestriction"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`scmIpRestriction`\" pulumi-lang-dotnet=\"`ScmIpRestriction`\" pulumi-lang-go=\"`scmIpRestriction`\" pulumi-lang-python=\"`scm_ip_restriction`\" pulumi-lang-yaml=\"`scmIpRestriction`\" pulumi-lang-java=\"`scmIpRestriction`\"\u003e`scm_ip_restriction`\u003c/span\u003e blocks as defined above.\n"},"scmMinimumTlsVersion":{"type":"string","description":"Configures the minimum version of TLS required for SSL requests to the SCM site Possible values include: `1.0`, `1.1`, `1.2` and `1.3`. Defaults to `1.2`.\n"},"scmType":{"type":"string","description":"The SCM Type in use by the Linux Function App.\n"},"scmUseMainIpRestriction":{"type":"boolean","description":"Should the Linux Function App \u003cspan pulumi-lang-nodejs=\"`ipRestriction`\" pulumi-lang-dotnet=\"`IpRestriction`\" pulumi-lang-go=\"`ipRestriction`\" pulumi-lang-python=\"`ip_restriction`\" pulumi-lang-yaml=\"`ipRestriction`\" pulumi-lang-java=\"`ipRestriction`\"\u003e`ip_restriction`\u003c/span\u003e configuration be used for the SCM also.\n"},"use32BitWorker":{"type":"boolean","description":"Should the Linux Web App use a 32-bit worker process. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"vnetRouteAllEnabled":{"type":"boolean","description":"Should all outbound traffic to have NAT Gateways, Network Security Groups and User Defined Routes applied? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"websocketsEnabled":{"type":"boolean","description":"Should Web Sockets be enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"workerCount":{"type":"integer","description":"The number of Workers for this Linux Function App.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["alwaysOn","appScaleLimit","defaultDocuments","detailedErrorLoggingEnabled","elasticInstanceMinimum","linuxFxVersion","preWarmedInstanceCount","remoteDebuggingVersion","scmType","workerCount"]}}},"azure:appservice/LinuxFunctionAppSiteConfigAppServiceLogs:LinuxFunctionAppSiteConfigAppServiceLogs":{"properties":{"diskQuotaMb":{"type":"integer","description":"The amount of disk space to use for logs. Valid values are between \u003cspan pulumi-lang-nodejs=\"`25`\" pulumi-lang-dotnet=\"`25`\" pulumi-lang-go=\"`25`\" pulumi-lang-python=\"`25`\" pulumi-lang-yaml=\"`25`\" pulumi-lang-java=\"`25`\"\u003e`25`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`100`\" pulumi-lang-dotnet=\"`100`\" pulumi-lang-go=\"`100`\" pulumi-lang-python=\"`100`\" pulumi-lang-yaml=\"`100`\" pulumi-lang-java=\"`100`\"\u003e`100`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`35`\" pulumi-lang-dotnet=\"`35`\" pulumi-lang-go=\"`35`\" pulumi-lang-python=\"`35`\" pulumi-lang-yaml=\"`35`\" pulumi-lang-java=\"`35`\"\u003e`35`\u003c/span\u003e.\n"},"retentionPeriodDays":{"type":"integer","description":"The retention period for logs in days. Valid values are between \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`99999`\" pulumi-lang-dotnet=\"`99999`\" pulumi-lang-go=\"`99999`\" pulumi-lang-python=\"`99999`\" pulumi-lang-yaml=\"`99999`\" pulumi-lang-java=\"`99999`\"\u003e`99999`\u003c/span\u003e.(never delete).\n\n\u003e **Note:** This block is not supported on Consumption plans.\n"}},"type":"object"},"azure:appservice/LinuxFunctionAppSiteConfigApplicationStack:LinuxFunctionAppSiteConfigApplicationStack":{"properties":{"dockers":{"type":"array","items":{"$ref":"#/types/azure:appservice/LinuxFunctionAppSiteConfigApplicationStackDocker:LinuxFunctionAppSiteConfigApplicationStackDocker"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`docker`\" pulumi-lang-dotnet=\"`Docker`\" pulumi-lang-go=\"`docker`\" pulumi-lang-python=\"`docker`\" pulumi-lang-yaml=\"`docker`\" pulumi-lang-java=\"`docker`\"\u003e`docker`\u003c/span\u003e blocks as defined below.\n"},"dotnetVersion":{"type":"string","description":"The version of .NET to use. Possible values include `3.1`, `6.0`, `7.0`, `8.0`, `9.0` and `10.0`.\n"},"javaVersion":{"type":"string","description":"The Version of Java to use. Supported versions include \u003cspan pulumi-lang-nodejs=\"`8`\" pulumi-lang-dotnet=\"`8`\" pulumi-lang-go=\"`8`\" pulumi-lang-python=\"`8`\" pulumi-lang-yaml=\"`8`\" pulumi-lang-java=\"`8`\"\u003e`8`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`11`\" pulumi-lang-dotnet=\"`11`\" pulumi-lang-go=\"`11`\" pulumi-lang-python=\"`11`\" pulumi-lang-yaml=\"`11`\" pulumi-lang-java=\"`11`\"\u003e`11`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`17`\" pulumi-lang-dotnet=\"`17`\" pulumi-lang-go=\"`17`\" pulumi-lang-python=\"`17`\" pulumi-lang-yaml=\"`17`\" pulumi-lang-java=\"`17`\"\u003e`17`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`21`\" pulumi-lang-dotnet=\"`21`\" pulumi-lang-go=\"`21`\" pulumi-lang-python=\"`21`\" pulumi-lang-yaml=\"`21`\" pulumi-lang-java=\"`21`\"\u003e`21`\u003c/span\u003e.\n\n\u003e **Note:** The value \u003cspan pulumi-lang-nodejs=\"`21`\" pulumi-lang-dotnet=\"`21`\" pulumi-lang-go=\"`21`\" pulumi-lang-python=\"`21`\" pulumi-lang-yaml=\"`21`\" pulumi-lang-java=\"`21`\"\u003e`21`\u003c/span\u003e is currently in Preview for \u003cspan pulumi-lang-nodejs=\"`javaVersion`\" pulumi-lang-dotnet=\"`JavaVersion`\" pulumi-lang-go=\"`javaVersion`\" pulumi-lang-python=\"`java_version`\" pulumi-lang-yaml=\"`javaVersion`\" pulumi-lang-java=\"`javaVersion`\"\u003e`java_version`\u003c/span\u003e.\n"},"nodeVersion":{"type":"string","description":"The version of Node to run. Possible values include \u003cspan pulumi-lang-nodejs=\"`12`\" pulumi-lang-dotnet=\"`12`\" pulumi-lang-go=\"`12`\" pulumi-lang-python=\"`12`\" pulumi-lang-yaml=\"`12`\" pulumi-lang-java=\"`12`\"\u003e`12`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`14`\" pulumi-lang-dotnet=\"`14`\" pulumi-lang-go=\"`14`\" pulumi-lang-python=\"`14`\" pulumi-lang-yaml=\"`14`\" pulumi-lang-java=\"`14`\"\u003e`14`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`16`\" pulumi-lang-dotnet=\"`16`\" pulumi-lang-go=\"`16`\" pulumi-lang-python=\"`16`\" pulumi-lang-yaml=\"`16`\" pulumi-lang-java=\"`16`\"\u003e`16`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`18`\" pulumi-lang-dotnet=\"`18`\" pulumi-lang-go=\"`18`\" pulumi-lang-python=\"`18`\" pulumi-lang-yaml=\"`18`\" pulumi-lang-java=\"`18`\"\u003e`18`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`20`\" pulumi-lang-dotnet=\"`20`\" pulumi-lang-go=\"`20`\" pulumi-lang-python=\"`20`\" pulumi-lang-yaml=\"`20`\" pulumi-lang-java=\"`20`\"\u003e`20`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`22`\" pulumi-lang-dotnet=\"`22`\" pulumi-lang-go=\"`22`\" pulumi-lang-python=\"`22`\" pulumi-lang-yaml=\"`22`\" pulumi-lang-java=\"`22`\"\u003e`22`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`24`\" pulumi-lang-dotnet=\"`24`\" pulumi-lang-go=\"`24`\" pulumi-lang-python=\"`24`\" pulumi-lang-yaml=\"`24`\" pulumi-lang-java=\"`24`\"\u003e`24`\u003c/span\u003e.\n"},"powershellCoreVersion":{"type":"string","description":"The version of PowerShell Core to run. Possible values are \u003cspan pulumi-lang-nodejs=\"`7`\" pulumi-lang-dotnet=\"`7`\" pulumi-lang-go=\"`7`\" pulumi-lang-python=\"`7`\" pulumi-lang-yaml=\"`7`\" pulumi-lang-java=\"`7`\"\u003e`7`\u003c/span\u003e, `7.2`, and `7.4`.\n"},"pythonVersion":{"type":"string","description":"The version of Python to run. Possible values are `3.14`, `3.13`, `3.12`, `3.11`, `3.10`, `3.9`, `3.8` and `3.7`.\n"},"useCustomRuntime":{"type":"boolean","description":"Should the Linux Function App use a custom runtime?\n"},"useDotnetIsolatedRuntime":{"type":"boolean","description":"Should the DotNet process use an isolated runtime. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"}},"type":"object"},"azure:appservice/LinuxFunctionAppSiteConfigApplicationStackDocker:LinuxFunctionAppSiteConfigApplicationStackDocker":{"properties":{"imageName":{"type":"string","description":"The name of the Docker image to use.\n"},"imageTag":{"type":"string","description":"The image tag of the image to use.\n"},"registryPassword":{"type":"string","description":"The password for the account to use to connect to the registry.\n\n\u003e **Note:** This value is required if \u003cspan pulumi-lang-nodejs=\"`containerRegistryUseManagedIdentity`\" pulumi-lang-dotnet=\"`ContainerRegistryUseManagedIdentity`\" pulumi-lang-go=\"`containerRegistryUseManagedIdentity`\" pulumi-lang-python=\"`container_registry_use_managed_identity`\" pulumi-lang-yaml=\"`containerRegistryUseManagedIdentity`\" pulumi-lang-java=\"`containerRegistryUseManagedIdentity`\"\u003e`container_registry_use_managed_identity`\u003c/span\u003e is not set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n","secret":true},"registryUrl":{"type":"string","description":"The URL of the docker registry.\n"},"registryUsername":{"type":"string","description":"The username to use for connections to the registry.\n\n\u003e **Note:** This value is required if \u003cspan pulumi-lang-nodejs=\"`containerRegistryUseManagedIdentity`\" pulumi-lang-dotnet=\"`ContainerRegistryUseManagedIdentity`\" pulumi-lang-go=\"`containerRegistryUseManagedIdentity`\" pulumi-lang-python=\"`container_registry_use_managed_identity`\" pulumi-lang-yaml=\"`containerRegistryUseManagedIdentity`\" pulumi-lang-java=\"`containerRegistryUseManagedIdentity`\"\u003e`container_registry_use_managed_identity`\u003c/span\u003e is not set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n","secret":true}},"type":"object","required":["imageName","imageTag","registryUrl"]},"azure:appservice/LinuxFunctionAppSiteConfigCors:LinuxFunctionAppSiteConfigCors":{"properties":{"allowedOrigins":{"type":"array","items":{"type":"string"},"description":"Specifies a list of origins that should be allowed to make cross-origin calls.\n"},"supportCredentials":{"type":"boolean","description":"Are credentials allowed in CORS requests? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"}},"type":"object"},"azure:appservice/LinuxFunctionAppSiteConfigIpRestriction:LinuxFunctionAppSiteConfigIpRestriction":{"properties":{"action":{"type":"string","description":"The action to take. Possible values are `Allow` or `Deny`. Defaults to `Allow`.\n"},"description":{"type":"string","description":"The Description of this IP Restriction.\n"},"headers":{"$ref":"#/types/azure:appservice/LinuxFunctionAppSiteConfigIpRestrictionHeaders:LinuxFunctionAppSiteConfigIpRestrictionHeaders","description":"A \u003cspan pulumi-lang-nodejs=\"`headers`\" pulumi-lang-dotnet=\"`Headers`\" pulumi-lang-go=\"`headers`\" pulumi-lang-python=\"`headers`\" pulumi-lang-yaml=\"`headers`\" pulumi-lang-java=\"`headers`\"\u003e`headers`\u003c/span\u003e block as defined above.\n"},"ipAddress":{"type":"string","description":"The CIDR notation of the IP or IP Range to match. For example: `10.0.0.0/24` or `192.168.10.1/32`\n"},"name":{"type":"string","description":"The name which should be used for this \u003cspan pulumi-lang-nodejs=\"`ipRestriction`\" pulumi-lang-dotnet=\"`IpRestriction`\" pulumi-lang-go=\"`ipRestriction`\" pulumi-lang-python=\"`ip_restriction`\" pulumi-lang-yaml=\"`ipRestriction`\" pulumi-lang-java=\"`ipRestriction`\"\u003e`ip_restriction`\u003c/span\u003e.\n"},"priority":{"type":"integer","description":"The priority value of this \u003cspan pulumi-lang-nodejs=\"`ipRestriction`\" pulumi-lang-dotnet=\"`IpRestriction`\" pulumi-lang-go=\"`ipRestriction`\" pulumi-lang-python=\"`ip_restriction`\" pulumi-lang-yaml=\"`ipRestriction`\" pulumi-lang-java=\"`ipRestriction`\"\u003e`ip_restriction`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`65000`\" pulumi-lang-dotnet=\"`65000`\" pulumi-lang-go=\"`65000`\" pulumi-lang-python=\"`65000`\" pulumi-lang-yaml=\"`65000`\" pulumi-lang-java=\"`65000`\"\u003e`65000`\u003c/span\u003e.\n"},"serviceTag":{"type":"string","description":"The Service Tag used for this IP Restriction.\n"},"virtualNetworkSubnetId":{"type":"string","description":"The Virtual Network Subnet ID used for this IP Restriction.\n\n\u003e **Note:** One and only one of \u003cspan pulumi-lang-nodejs=\"`ipAddress`\" pulumi-lang-dotnet=\"`IpAddress`\" pulumi-lang-go=\"`ipAddress`\" pulumi-lang-python=\"`ip_address`\" pulumi-lang-yaml=\"`ipAddress`\" pulumi-lang-java=\"`ipAddress`\"\u003e`ip_address`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`serviceTag`\" pulumi-lang-dotnet=\"`ServiceTag`\" pulumi-lang-go=\"`serviceTag`\" pulumi-lang-python=\"`service_tag`\" pulumi-lang-yaml=\"`serviceTag`\" pulumi-lang-java=\"`serviceTag`\"\u003e`service_tag`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`virtualNetworkSubnetId`\" pulumi-lang-dotnet=\"`VirtualNetworkSubnetId`\" pulumi-lang-go=\"`virtualNetworkSubnetId`\" pulumi-lang-python=\"`virtual_network_subnet_id`\" pulumi-lang-yaml=\"`virtualNetworkSubnetId`\" pulumi-lang-java=\"`virtualNetworkSubnetId`\"\u003e`virtual_network_subnet_id`\u003c/span\u003e must be specified.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["name"]}}},"azure:appservice/LinuxFunctionAppSiteConfigIpRestrictionHeaders:LinuxFunctionAppSiteConfigIpRestrictionHeaders":{"properties":{"xAzureFdids":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Azure Front Door IDs.\n"},"xFdHealthProbe":{"type":"string","description":"Specifies if a Front Door Health Probe should be expected. The only possible value is \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e.\n"},"xForwardedFors":{"type":"array","items":{"type":"string"},"description":"Specifies a list of addresses for which matching should be applied. Omitting this value means allow any.\n"},"xForwardedHosts":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Hosts for which matching should be applied.\n"}},"type":"object"},"azure:appservice/LinuxFunctionAppSiteConfigScmIpRestriction:LinuxFunctionAppSiteConfigScmIpRestriction":{"properties":{"action":{"type":"string","description":"The action to take. Possible values are `Allow` or `Deny`. Defaults to `Allow`.\n"},"description":{"type":"string","description":"The Description of this IP Restriction.\n"},"headers":{"$ref":"#/types/azure:appservice/LinuxFunctionAppSiteConfigScmIpRestrictionHeaders:LinuxFunctionAppSiteConfigScmIpRestrictionHeaders","description":"A \u003cspan pulumi-lang-nodejs=\"`headers`\" pulumi-lang-dotnet=\"`Headers`\" pulumi-lang-go=\"`headers`\" pulumi-lang-python=\"`headers`\" pulumi-lang-yaml=\"`headers`\" pulumi-lang-java=\"`headers`\"\u003e`headers`\u003c/span\u003e block as defined above.\n"},"ipAddress":{"type":"string","description":"The CIDR notation of the IP or IP Range to match. For example: `10.0.0.0/24` or `192.168.10.1/32`\n"},"name":{"type":"string","description":"The name which should be used for this \u003cspan pulumi-lang-nodejs=\"`ipRestriction`\" pulumi-lang-dotnet=\"`IpRestriction`\" pulumi-lang-go=\"`ipRestriction`\" pulumi-lang-python=\"`ip_restriction`\" pulumi-lang-yaml=\"`ipRestriction`\" pulumi-lang-java=\"`ipRestriction`\"\u003e`ip_restriction`\u003c/span\u003e.\n"},"priority":{"type":"integer","description":"The priority value of this \u003cspan pulumi-lang-nodejs=\"`ipRestriction`\" pulumi-lang-dotnet=\"`IpRestriction`\" pulumi-lang-go=\"`ipRestriction`\" pulumi-lang-python=\"`ip_restriction`\" pulumi-lang-yaml=\"`ipRestriction`\" pulumi-lang-java=\"`ipRestriction`\"\u003e`ip_restriction`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`65000`\" pulumi-lang-dotnet=\"`65000`\" pulumi-lang-go=\"`65000`\" pulumi-lang-python=\"`65000`\" pulumi-lang-yaml=\"`65000`\" pulumi-lang-java=\"`65000`\"\u003e`65000`\u003c/span\u003e.\n"},"serviceTag":{"type":"string","description":"The Service Tag used for this IP Restriction.\n"},"virtualNetworkSubnetId":{"type":"string","description":"The Virtual Network Subnet ID used for this IP Restriction.\n\n\u003e **Note:** One and only one of \u003cspan pulumi-lang-nodejs=\"`ipAddress`\" pulumi-lang-dotnet=\"`IpAddress`\" pulumi-lang-go=\"`ipAddress`\" pulumi-lang-python=\"`ip_address`\" pulumi-lang-yaml=\"`ipAddress`\" pulumi-lang-java=\"`ipAddress`\"\u003e`ip_address`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`serviceTag`\" pulumi-lang-dotnet=\"`ServiceTag`\" pulumi-lang-go=\"`serviceTag`\" pulumi-lang-python=\"`service_tag`\" pulumi-lang-yaml=\"`serviceTag`\" pulumi-lang-java=\"`serviceTag`\"\u003e`service_tag`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`virtualNetworkSubnetId`\" pulumi-lang-dotnet=\"`VirtualNetworkSubnetId`\" pulumi-lang-go=\"`virtualNetworkSubnetId`\" pulumi-lang-python=\"`virtual_network_subnet_id`\" pulumi-lang-yaml=\"`virtualNetworkSubnetId`\" pulumi-lang-java=\"`virtualNetworkSubnetId`\"\u003e`virtual_network_subnet_id`\u003c/span\u003e must be specified.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["name"]}}},"azure:appservice/LinuxFunctionAppSiteConfigScmIpRestrictionHeaders:LinuxFunctionAppSiteConfigScmIpRestrictionHeaders":{"properties":{"xAzureFdids":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Azure Front Door IDs.\n"},"xFdHealthProbe":{"type":"string","description":"Specifies if a Front Door Health Probe should be expected. The only possible value is \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e.\n"},"xForwardedFors":{"type":"array","items":{"type":"string"},"description":"Specifies a list of addresses for which matching should be applied. Omitting this value means allow any.\n"},"xForwardedHosts":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Hosts for which matching should be applied.\n"}},"type":"object"},"azure:appservice/LinuxFunctionAppSiteCredential:LinuxFunctionAppSiteCredential":{"properties":{"name":{"type":"string","description":"The name which should be used for this Linux Function App. Changing this forces a new Linux Function App to be created. Limit the function name to 32 characters to avoid naming collisions. For more information about [Function App naming rule](https://docs.microsoft.com/en-us/azure/azure-resource-manager/management/resource-name-rules#microsoftweb) and [Host ID Collisions](https://github.com/Azure/azure-functions-host/wiki/Host-IDs#host-id-collisions)\n","secret":true},"password":{"type":"string","description":"The Site Credentials Password used for publishing.\n","secret":true}},"type":"object","language":{"nodejs":{"requiredOutputs":["name","password"]}}},"azure:appservice/LinuxFunctionAppSlotAuthSettings:LinuxFunctionAppSlotAuthSettings":{"properties":{"activeDirectory":{"$ref":"#/types/azure:appservice/LinuxFunctionAppSlotAuthSettingsActiveDirectory:LinuxFunctionAppSlotAuthSettingsActiveDirectory","description":"an \u003cspan pulumi-lang-nodejs=\"`activeDirectory`\" pulumi-lang-dotnet=\"`ActiveDirectory`\" pulumi-lang-go=\"`activeDirectory`\" pulumi-lang-python=\"`active_directory`\" pulumi-lang-yaml=\"`activeDirectory`\" pulumi-lang-java=\"`activeDirectory`\"\u003e`active_directory`\u003c/span\u003e block as detailed below.\n"},"additionalLoginParameters":{"type":"object","additionalProperties":{"type":"string"},"description":"Specifies a map of login Parameters to send to the OpenID Connect authorization endpoint when a user logs in.\n"},"allowedExternalRedirectUrls":{"type":"array","items":{"type":"string"},"description":"Specifies a list of External URLs that can be redirected to as part of logging in or logging out of the Windows Web App.\n"},"defaultProvider":{"type":"string","description":"The default authentication provider to use when multiple providers are configured. Possible values include: `AzureActiveDirectory`, `Facebook`, `Google`, `MicrosoftAccount`, `Twitter`, `Github`.\n\n\u003e **Note:** This setting is only needed if multiple providers are configured, and the \u003cspan pulumi-lang-nodejs=\"`unauthenticatedClientAction`\" pulumi-lang-dotnet=\"`UnauthenticatedClientAction`\" pulumi-lang-go=\"`unauthenticatedClientAction`\" pulumi-lang-python=\"`unauthenticated_client_action`\" pulumi-lang-yaml=\"`unauthenticatedClientAction`\" pulumi-lang-java=\"`unauthenticatedClientAction`\"\u003e`unauthenticated_client_action`\u003c/span\u003e is set to \"RedirectToLoginPage\".\n"},"enabled":{"type":"boolean","description":"Should the Authentication / Authorization feature be enabled?\n"},"facebook":{"$ref":"#/types/azure:appservice/LinuxFunctionAppSlotAuthSettingsFacebook:LinuxFunctionAppSlotAuthSettingsFacebook","description":"a \u003cspan pulumi-lang-nodejs=\"`facebook`\" pulumi-lang-dotnet=\"`Facebook`\" pulumi-lang-go=\"`facebook`\" pulumi-lang-python=\"`facebook`\" pulumi-lang-yaml=\"`facebook`\" pulumi-lang-java=\"`facebook`\"\u003e`facebook`\u003c/span\u003e block as detailed below.\n"},"github":{"$ref":"#/types/azure:appservice/LinuxFunctionAppSlotAuthSettingsGithub:LinuxFunctionAppSlotAuthSettingsGithub","description":"a \u003cspan pulumi-lang-nodejs=\"`github`\" pulumi-lang-dotnet=\"`Github`\" pulumi-lang-go=\"`github`\" pulumi-lang-python=\"`github`\" pulumi-lang-yaml=\"`github`\" pulumi-lang-java=\"`github`\"\u003e`github`\u003c/span\u003e block as detailed below.\n"},"google":{"$ref":"#/types/azure:appservice/LinuxFunctionAppSlotAuthSettingsGoogle:LinuxFunctionAppSlotAuthSettingsGoogle","description":"a \u003cspan pulumi-lang-nodejs=\"`google`\" pulumi-lang-dotnet=\"`Google`\" pulumi-lang-go=\"`google`\" pulumi-lang-python=\"`google`\" pulumi-lang-yaml=\"`google`\" pulumi-lang-java=\"`google`\"\u003e`google`\u003c/span\u003e block as detailed below.\n"},"issuer":{"type":"string","description":"The OpenID Connect Issuer URI that represents the entity which issues access tokens.\n\n\u003e **Note:** When using Azure Active Directory, this value is the URI of the directory tenant, e.g. \u003chttps://sts.windows.net/{tenant-guid}/\u003e.\n"},"microsoft":{"$ref":"#/types/azure:appservice/LinuxFunctionAppSlotAuthSettingsMicrosoft:LinuxFunctionAppSlotAuthSettingsMicrosoft","description":"a \u003cspan pulumi-lang-nodejs=\"`microsoft`\" pulumi-lang-dotnet=\"`Microsoft`\" pulumi-lang-go=\"`microsoft`\" pulumi-lang-python=\"`microsoft`\" pulumi-lang-yaml=\"`microsoft`\" pulumi-lang-java=\"`microsoft`\"\u003e`microsoft`\u003c/span\u003e block as detailed below.\n"},"runtimeVersion":{"type":"string","description":"The RuntimeVersion of the Authentication / Authorization feature in use.\n"},"tokenRefreshExtensionHours":{"type":"number","description":"The number of hours after session token expiration that a session token can be used to call the token refresh API. Defaults to \u003cspan pulumi-lang-nodejs=\"`72`\" pulumi-lang-dotnet=\"`72`\" pulumi-lang-go=\"`72`\" pulumi-lang-python=\"`72`\" pulumi-lang-yaml=\"`72`\" pulumi-lang-java=\"`72`\"\u003e`72`\u003c/span\u003e hours.\n"},"tokenStoreEnabled":{"type":"boolean","description":"Should the Linux Web App durably store platform-specific security tokens that are obtained during login flows? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"twitter":{"$ref":"#/types/azure:appservice/LinuxFunctionAppSlotAuthSettingsTwitter:LinuxFunctionAppSlotAuthSettingsTwitter","description":"a \u003cspan pulumi-lang-nodejs=\"`twitter`\" pulumi-lang-dotnet=\"`Twitter`\" pulumi-lang-go=\"`twitter`\" pulumi-lang-python=\"`twitter`\" pulumi-lang-yaml=\"`twitter`\" pulumi-lang-java=\"`twitter`\"\u003e`twitter`\u003c/span\u003e block as detailed below.\n"},"unauthenticatedClientAction":{"type":"string","description":"The action to take when an unauthenticated client attempts to access the app. Possible values include: `RedirectToLoginPage`, `AllowAnonymous`.\n"}},"type":"object","required":["enabled"],"language":{"nodejs":{"requiredOutputs":["allowedExternalRedirectUrls","defaultProvider","enabled","runtimeVersion","unauthenticatedClientAction"]}}},"azure:appservice/LinuxFunctionAppSlotAuthSettingsActiveDirectory:LinuxFunctionAppSlotAuthSettingsActiveDirectory":{"properties":{"allowedAudiences":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Allowed audience values to consider when validating JWTs issued by Azure Active Directory.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`clientId`\" pulumi-lang-dotnet=\"`ClientId`\" pulumi-lang-go=\"`clientId`\" pulumi-lang-python=\"`client_id`\" pulumi-lang-yaml=\"`clientId`\" pulumi-lang-java=\"`clientId`\"\u003e`client_id`\u003c/span\u003e value is always considered an allowed audience.\n"},"clientId":{"type":"string","description":"The ID of the Client to use to authenticate with Azure Active Directory.\n"},"clientSecret":{"type":"string","description":"The Client Secret for the Client ID. Cannot be used with \u003cspan pulumi-lang-nodejs=\"`clientSecretSettingName`\" pulumi-lang-dotnet=\"`ClientSecretSettingName`\" pulumi-lang-go=\"`clientSecretSettingName`\" pulumi-lang-python=\"`client_secret_setting_name`\" pulumi-lang-yaml=\"`clientSecretSettingName`\" pulumi-lang-java=\"`clientSecretSettingName`\"\u003e`client_secret_setting_name`\u003c/span\u003e.\n","secret":true},"clientSecretSettingName":{"type":"string","description":"The App Setting name that contains the client secret of the Client. Cannot be used with \u003cspan pulumi-lang-nodejs=\"`clientSecret`\" pulumi-lang-dotnet=\"`ClientSecret`\" pulumi-lang-go=\"`clientSecret`\" pulumi-lang-python=\"`client_secret`\" pulumi-lang-yaml=\"`clientSecret`\" pulumi-lang-java=\"`clientSecret`\"\u003e`client_secret`\u003c/span\u003e.\n"}},"type":"object","required":["clientId"]},"azure:appservice/LinuxFunctionAppSlotAuthSettingsFacebook:LinuxFunctionAppSlotAuthSettingsFacebook":{"properties":{"appId":{"type":"string","description":"The App ID of the Facebook app used for login.\n"},"appSecret":{"type":"string","description":"The App Secret of the Facebook app used for Facebook login. Cannot be specified with \u003cspan pulumi-lang-nodejs=\"`appSecretSettingName`\" pulumi-lang-dotnet=\"`AppSecretSettingName`\" pulumi-lang-go=\"`appSecretSettingName`\" pulumi-lang-python=\"`app_secret_setting_name`\" pulumi-lang-yaml=\"`appSecretSettingName`\" pulumi-lang-java=\"`appSecretSettingName`\"\u003e`app_secret_setting_name`\u003c/span\u003e.\n","secret":true},"appSecretSettingName":{"type":"string","description":"The app setting name that contains the \u003cspan pulumi-lang-nodejs=\"`appSecret`\" pulumi-lang-dotnet=\"`AppSecret`\" pulumi-lang-go=\"`appSecret`\" pulumi-lang-python=\"`app_secret`\" pulumi-lang-yaml=\"`appSecret`\" pulumi-lang-java=\"`appSecret`\"\u003e`app_secret`\u003c/span\u003e value used for Facebook login. Cannot be specified with \u003cspan pulumi-lang-nodejs=\"`appSecret`\" pulumi-lang-dotnet=\"`AppSecret`\" pulumi-lang-go=\"`appSecret`\" pulumi-lang-python=\"`app_secret`\" pulumi-lang-yaml=\"`appSecret`\" pulumi-lang-java=\"`appSecret`\"\u003e`app_secret`\u003c/span\u003e.\n"},"oauthScopes":{"type":"array","items":{"type":"string"},"description":"Specifies a list of OAuth 2.0 scopes to be requested as part of Facebook login authentication.\n"}},"type":"object","required":["appId"]},"azure:appservice/LinuxFunctionAppSlotAuthSettingsGithub:LinuxFunctionAppSlotAuthSettingsGithub":{"properties":{"clientId":{"type":"string","description":"The ID of the GitHub app used for login.\n"},"clientSecret":{"type":"string","description":"The Client Secret of the GitHub app used for GitHub login. Cannot be specified with \u003cspan pulumi-lang-nodejs=\"`clientSecretSettingName`\" pulumi-lang-dotnet=\"`ClientSecretSettingName`\" pulumi-lang-go=\"`clientSecretSettingName`\" pulumi-lang-python=\"`client_secret_setting_name`\" pulumi-lang-yaml=\"`clientSecretSettingName`\" pulumi-lang-java=\"`clientSecretSettingName`\"\u003e`client_secret_setting_name`\u003c/span\u003e.\n","secret":true},"clientSecretSettingName":{"type":"string","description":"The app setting name that contains the \u003cspan pulumi-lang-nodejs=\"`clientSecret`\" pulumi-lang-dotnet=\"`ClientSecret`\" pulumi-lang-go=\"`clientSecret`\" pulumi-lang-python=\"`client_secret`\" pulumi-lang-yaml=\"`clientSecret`\" pulumi-lang-java=\"`clientSecret`\"\u003e`client_secret`\u003c/span\u003e value used for GitHub login. Cannot be specified with \u003cspan pulumi-lang-nodejs=\"`clientSecret`\" pulumi-lang-dotnet=\"`ClientSecret`\" pulumi-lang-go=\"`clientSecret`\" pulumi-lang-python=\"`client_secret`\" pulumi-lang-yaml=\"`clientSecret`\" pulumi-lang-java=\"`clientSecret`\"\u003e`client_secret`\u003c/span\u003e.\n"},"oauthScopes":{"type":"array","items":{"type":"string"},"description":"Specifies a list of OAuth 2.0 scopes that will be requested as part of GitHub login authentication.\n"}},"type":"object","required":["clientId"]},"azure:appservice/LinuxFunctionAppSlotAuthSettingsGoogle:LinuxFunctionAppSlotAuthSettingsGoogle":{"properties":{"clientId":{"type":"string","description":"The OpenID Connect Client ID for the Google web application.\n"},"clientSecret":{"type":"string","description":"The client secret associated with the Google web application. Cannot be specified with \u003cspan pulumi-lang-nodejs=\"`clientSecretSettingName`\" pulumi-lang-dotnet=\"`ClientSecretSettingName`\" pulumi-lang-go=\"`clientSecretSettingName`\" pulumi-lang-python=\"`client_secret_setting_name`\" pulumi-lang-yaml=\"`clientSecretSettingName`\" pulumi-lang-java=\"`clientSecretSettingName`\"\u003e`client_secret_setting_name`\u003c/span\u003e.\n","secret":true},"clientSecretSettingName":{"type":"string","description":"The app setting name that contains the \u003cspan pulumi-lang-nodejs=\"`clientSecret`\" pulumi-lang-dotnet=\"`ClientSecret`\" pulumi-lang-go=\"`clientSecret`\" pulumi-lang-python=\"`client_secret`\" pulumi-lang-yaml=\"`clientSecret`\" pulumi-lang-java=\"`clientSecret`\"\u003e`client_secret`\u003c/span\u003e value used for Google login. Cannot be specified with \u003cspan pulumi-lang-nodejs=\"`clientSecret`\" pulumi-lang-dotnet=\"`ClientSecret`\" pulumi-lang-go=\"`clientSecret`\" pulumi-lang-python=\"`client_secret`\" pulumi-lang-yaml=\"`clientSecret`\" pulumi-lang-java=\"`clientSecret`\"\u003e`client_secret`\u003c/span\u003e.\n"},"oauthScopes":{"type":"array","items":{"type":"string"},"description":"Specifies a list of OAuth 2.0 scopes that will be requested as part of Google Sign-In authentication. If not specified, \u003cspan pulumi-lang-nodejs=\"`openid`\" pulumi-lang-dotnet=\"`Openid`\" pulumi-lang-go=\"`openid`\" pulumi-lang-python=\"`openid`\" pulumi-lang-yaml=\"`openid`\" pulumi-lang-java=\"`openid`\"\u003e`openid`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`profile`\" pulumi-lang-dotnet=\"`Profile`\" pulumi-lang-go=\"`profile`\" pulumi-lang-python=\"`profile`\" pulumi-lang-yaml=\"`profile`\" pulumi-lang-java=\"`profile`\"\u003e`profile`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`email`\" pulumi-lang-dotnet=\"`Email`\" pulumi-lang-go=\"`email`\" pulumi-lang-python=\"`email`\" pulumi-lang-yaml=\"`email`\" pulumi-lang-java=\"`email`\"\u003e`email`\u003c/span\u003e are used as default scopes.\n"}},"type":"object","required":["clientId"]},"azure:appservice/LinuxFunctionAppSlotAuthSettingsMicrosoft:LinuxFunctionAppSlotAuthSettingsMicrosoft":{"properties":{"clientId":{"type":"string","description":"The OAuth 2.0 client ID that was created for the app used for authentication.\n"},"clientSecret":{"type":"string","description":"The OAuth 2.0 client secret that was created for the app used for authentication. Cannot be specified with \u003cspan pulumi-lang-nodejs=\"`clientSecretSettingName`\" pulumi-lang-dotnet=\"`ClientSecretSettingName`\" pulumi-lang-go=\"`clientSecretSettingName`\" pulumi-lang-python=\"`client_secret_setting_name`\" pulumi-lang-yaml=\"`clientSecretSettingName`\" pulumi-lang-java=\"`clientSecretSettingName`\"\u003e`client_secret_setting_name`\u003c/span\u003e.\n","secret":true},"clientSecretSettingName":{"type":"string","description":"The app setting name containing the OAuth 2.0 client secret that was created for the app used for authentication. Cannot be specified with \u003cspan pulumi-lang-nodejs=\"`clientSecret`\" pulumi-lang-dotnet=\"`ClientSecret`\" pulumi-lang-go=\"`clientSecret`\" pulumi-lang-python=\"`client_secret`\" pulumi-lang-yaml=\"`clientSecret`\" pulumi-lang-java=\"`clientSecret`\"\u003e`client_secret`\u003c/span\u003e.\n"},"oauthScopes":{"type":"array","items":{"type":"string"},"description":"Specifies a 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.\n"}},"type":"object","required":["clientId"]},"azure:appservice/LinuxFunctionAppSlotAuthSettingsTwitter:LinuxFunctionAppSlotAuthSettingsTwitter":{"properties":{"consumerKey":{"type":"string","description":"The OAuth 1.0a consumer key of the Twitter application used for sign-in.\n"},"consumerSecret":{"type":"string","description":"The OAuth 1.0a consumer secret of the Twitter application used for sign-in. Cannot be specified with \u003cspan pulumi-lang-nodejs=\"`consumerSecretSettingName`\" pulumi-lang-dotnet=\"`ConsumerSecretSettingName`\" pulumi-lang-go=\"`consumerSecretSettingName`\" pulumi-lang-python=\"`consumer_secret_setting_name`\" pulumi-lang-yaml=\"`consumerSecretSettingName`\" pulumi-lang-java=\"`consumerSecretSettingName`\"\u003e`consumer_secret_setting_name`\u003c/span\u003e.\n","secret":true},"consumerSecretSettingName":{"type":"string","description":"The app setting name that contains the OAuth 1.0a consumer secret of the Twitter application used for sign-in. Cannot be specified with \u003cspan pulumi-lang-nodejs=\"`consumerSecret`\" pulumi-lang-dotnet=\"`ConsumerSecret`\" pulumi-lang-go=\"`consumerSecret`\" pulumi-lang-python=\"`consumer_secret`\" pulumi-lang-yaml=\"`consumerSecret`\" pulumi-lang-java=\"`consumerSecret`\"\u003e`consumer_secret`\u003c/span\u003e.\n"}},"type":"object","required":["consumerKey"]},"azure:appservice/LinuxFunctionAppSlotAuthSettingsV2:LinuxFunctionAppSlotAuthSettingsV2":{"properties":{"activeDirectoryV2":{"$ref":"#/types/azure:appservice/LinuxFunctionAppSlotAuthSettingsV2ActiveDirectoryV2:LinuxFunctionAppSlotAuthSettingsV2ActiveDirectoryV2","description":"An \u003cspan pulumi-lang-nodejs=\"`activeDirectoryV2`\" pulumi-lang-dotnet=\"`ActiveDirectoryV2`\" pulumi-lang-go=\"`activeDirectoryV2`\" pulumi-lang-python=\"`active_directory_v2`\" pulumi-lang-yaml=\"`activeDirectoryV2`\" pulumi-lang-java=\"`activeDirectoryV2`\"\u003e`active_directory_v2`\u003c/span\u003e block as defined below.\n"},"appleV2":{"$ref":"#/types/azure:appservice/LinuxFunctionAppSlotAuthSettingsV2AppleV2:LinuxFunctionAppSlotAuthSettingsV2AppleV2","description":"An \u003cspan pulumi-lang-nodejs=\"`appleV2`\" pulumi-lang-dotnet=\"`AppleV2`\" pulumi-lang-go=\"`appleV2`\" pulumi-lang-python=\"`apple_v2`\" pulumi-lang-yaml=\"`appleV2`\" pulumi-lang-java=\"`appleV2`\"\u003e`apple_v2`\u003c/span\u003e block as defined below.\n"},"authEnabled":{"type":"boolean","description":"Should the AuthV2 Settings be enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"azureStaticWebAppV2":{"$ref":"#/types/azure:appservice/LinuxFunctionAppSlotAuthSettingsV2AzureStaticWebAppV2:LinuxFunctionAppSlotAuthSettingsV2AzureStaticWebAppV2","description":"An \u003cspan pulumi-lang-nodejs=\"`azureStaticWebAppV2`\" pulumi-lang-dotnet=\"`AzureStaticWebAppV2`\" pulumi-lang-go=\"`azureStaticWebAppV2`\" pulumi-lang-python=\"`azure_static_web_app_v2`\" pulumi-lang-yaml=\"`azureStaticWebAppV2`\" pulumi-lang-java=\"`azureStaticWebAppV2`\"\u003e`azure_static_web_app_v2`\u003c/span\u003e block as defined below.\n"},"configFilePath":{"type":"string","description":"The path to the App Auth settings.\n\n\u003e **Note:** Relative Paths are evaluated from the Site Root directory.\n"},"customOidcV2s":{"type":"array","items":{"$ref":"#/types/azure:appservice/LinuxFunctionAppSlotAuthSettingsV2CustomOidcV2:LinuxFunctionAppSlotAuthSettingsV2CustomOidcV2"},"description":"Zero or more \u003cspan pulumi-lang-nodejs=\"`customOidcV2`\" pulumi-lang-dotnet=\"`CustomOidcV2`\" pulumi-lang-go=\"`customOidcV2`\" pulumi-lang-python=\"`custom_oidc_v2`\" pulumi-lang-yaml=\"`customOidcV2`\" pulumi-lang-java=\"`customOidcV2`\"\u003e`custom_oidc_v2`\u003c/span\u003e blocks as defined below.\n"},"defaultProvider":{"type":"string","description":"The Default Authentication Provider to use when the \u003cspan pulumi-lang-nodejs=\"`unauthenticatedAction`\" pulumi-lang-dotnet=\"`UnauthenticatedAction`\" pulumi-lang-go=\"`unauthenticatedAction`\" pulumi-lang-python=\"`unauthenticated_action`\" pulumi-lang-yaml=\"`unauthenticatedAction`\" pulumi-lang-java=\"`unauthenticatedAction`\"\u003e`unauthenticated_action`\u003c/span\u003e is set to `RedirectToLoginPage`. Possible values include: \u003cspan pulumi-lang-nodejs=\"`apple`\" pulumi-lang-dotnet=\"`Apple`\" pulumi-lang-go=\"`apple`\" pulumi-lang-python=\"`apple`\" pulumi-lang-yaml=\"`apple`\" pulumi-lang-java=\"`apple`\"\u003e`apple`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`azureactivedirectory`\" pulumi-lang-dotnet=\"`Azureactivedirectory`\" pulumi-lang-go=\"`azureactivedirectory`\" pulumi-lang-python=\"`azureactivedirectory`\" pulumi-lang-yaml=\"`azureactivedirectory`\" pulumi-lang-java=\"`azureactivedirectory`\"\u003e`azureactivedirectory`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`facebook`\" pulumi-lang-dotnet=\"`Facebook`\" pulumi-lang-go=\"`facebook`\" pulumi-lang-python=\"`facebook`\" pulumi-lang-yaml=\"`facebook`\" pulumi-lang-java=\"`facebook`\"\u003e`facebook`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`github`\" pulumi-lang-dotnet=\"`Github`\" pulumi-lang-go=\"`github`\" pulumi-lang-python=\"`github`\" pulumi-lang-yaml=\"`github`\" pulumi-lang-java=\"`github`\"\u003e`github`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`google`\" pulumi-lang-dotnet=\"`Google`\" pulumi-lang-go=\"`google`\" pulumi-lang-python=\"`google`\" pulumi-lang-yaml=\"`google`\" pulumi-lang-java=\"`google`\"\u003e`google`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`twitter`\" pulumi-lang-dotnet=\"`Twitter`\" pulumi-lang-go=\"`twitter`\" pulumi-lang-python=\"`twitter`\" pulumi-lang-yaml=\"`twitter`\" pulumi-lang-java=\"`twitter`\"\u003e`twitter`\u003c/span\u003e and the \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e of your \u003cspan pulumi-lang-nodejs=\"`customOidcV2`\" pulumi-lang-dotnet=\"`CustomOidcV2`\" pulumi-lang-go=\"`customOidcV2`\" pulumi-lang-python=\"`custom_oidc_v2`\" pulumi-lang-yaml=\"`customOidcV2`\" pulumi-lang-java=\"`customOidcV2`\"\u003e`custom_oidc_v2`\u003c/span\u003e provider.\n\n\u003e **Note:** Whilst any value will be accepted by the API for \u003cspan pulumi-lang-nodejs=\"`defaultProvider`\" pulumi-lang-dotnet=\"`DefaultProvider`\" pulumi-lang-go=\"`defaultProvider`\" pulumi-lang-python=\"`default_provider`\" pulumi-lang-yaml=\"`defaultProvider`\" pulumi-lang-java=\"`defaultProvider`\"\u003e`default_provider`\u003c/span\u003e, it can leave the app in an unusable state if this value does not correspond to the name of a known provider (either built-in value, or\u003cspan pulumi-lang-nodejs=\" customOidc \" pulumi-lang-dotnet=\" CustomOidc \" pulumi-lang-go=\" customOidc \" pulumi-lang-python=\" custom_oidc \" pulumi-lang-yaml=\" customOidc \" pulumi-lang-java=\" customOidc \"\u003e custom_oidc \u003c/span\u003ename) as it is used to build the auth endpoint URI.\n"},"excludedPaths":{"type":"array","items":{"type":"string"},"description":"The paths which should be excluded from the \u003cspan pulumi-lang-nodejs=\"`unauthenticatedAction`\" pulumi-lang-dotnet=\"`UnauthenticatedAction`\" pulumi-lang-go=\"`unauthenticatedAction`\" pulumi-lang-python=\"`unauthenticated_action`\" pulumi-lang-yaml=\"`unauthenticatedAction`\" pulumi-lang-java=\"`unauthenticatedAction`\"\u003e`unauthenticated_action`\u003c/span\u003e when it is set to `RedirectToLoginPage`.\n\n\u003e **Note:** This list should be used instead of setting `WEBSITE_WARMUP_PATH` in \u003cspan pulumi-lang-nodejs=\"`appSettings`\" pulumi-lang-dotnet=\"`AppSettings`\" pulumi-lang-go=\"`appSettings`\" pulumi-lang-python=\"`app_settings`\" pulumi-lang-yaml=\"`appSettings`\" pulumi-lang-java=\"`appSettings`\"\u003e`app_settings`\u003c/span\u003e as it takes priority.\n"},"facebookV2":{"$ref":"#/types/azure:appservice/LinuxFunctionAppSlotAuthSettingsV2FacebookV2:LinuxFunctionAppSlotAuthSettingsV2FacebookV2","description":"A \u003cspan pulumi-lang-nodejs=\"`facebookV2`\" pulumi-lang-dotnet=\"`FacebookV2`\" pulumi-lang-go=\"`facebookV2`\" pulumi-lang-python=\"`facebook_v2`\" pulumi-lang-yaml=\"`facebookV2`\" pulumi-lang-java=\"`facebookV2`\"\u003e`facebook_v2`\u003c/span\u003e block as defined below.\n"},"forwardProxyConvention":{"type":"string","description":"The convention used to determine the url of the request made. Possible values include `NoProxy`, `Standard`, `Custom`. Defaults to `NoProxy`.\n"},"forwardProxyCustomHostHeaderName":{"type":"string","description":"The name of the custom header containing the host of the request.\n"},"forwardProxyCustomSchemeHeaderName":{"type":"string","description":"The name of the custom header containing the scheme of the request.\n"},"githubV2":{"$ref":"#/types/azure:appservice/LinuxFunctionAppSlotAuthSettingsV2GithubV2:LinuxFunctionAppSlotAuthSettingsV2GithubV2","description":"A \u003cspan pulumi-lang-nodejs=\"`githubV2`\" pulumi-lang-dotnet=\"`GithubV2`\" pulumi-lang-go=\"`githubV2`\" pulumi-lang-python=\"`github_v2`\" pulumi-lang-yaml=\"`githubV2`\" pulumi-lang-java=\"`githubV2`\"\u003e`github_v2`\u003c/span\u003e block as defined below.\n"},"googleV2":{"$ref":"#/types/azure:appservice/LinuxFunctionAppSlotAuthSettingsV2GoogleV2:LinuxFunctionAppSlotAuthSettingsV2GoogleV2","description":"A \u003cspan pulumi-lang-nodejs=\"`googleV2`\" pulumi-lang-dotnet=\"`GoogleV2`\" pulumi-lang-go=\"`googleV2`\" pulumi-lang-python=\"`google_v2`\" pulumi-lang-yaml=\"`googleV2`\" pulumi-lang-java=\"`googleV2`\"\u003e`google_v2`\u003c/span\u003e block as defined below.\n"},"httpRouteApiPrefix":{"type":"string","description":"The prefix that should precede all the authentication and authorisation paths. Defaults to `/.auth`.\n"},"login":{"$ref":"#/types/azure:appservice/LinuxFunctionAppSlotAuthSettingsV2Login:LinuxFunctionAppSlotAuthSettingsV2Login","description":"A \u003cspan pulumi-lang-nodejs=\"`login`\" pulumi-lang-dotnet=\"`Login`\" pulumi-lang-go=\"`login`\" pulumi-lang-python=\"`login`\" pulumi-lang-yaml=\"`login`\" pulumi-lang-java=\"`login`\"\u003e`login`\u003c/span\u003e block as defined below.\n"},"microsoftV2":{"$ref":"#/types/azure:appservice/LinuxFunctionAppSlotAuthSettingsV2MicrosoftV2:LinuxFunctionAppSlotAuthSettingsV2MicrosoftV2","description":"A \u003cspan pulumi-lang-nodejs=\"`microsoftV2`\" pulumi-lang-dotnet=\"`MicrosoftV2`\" pulumi-lang-go=\"`microsoftV2`\" pulumi-lang-python=\"`microsoft_v2`\" pulumi-lang-yaml=\"`microsoftV2`\" pulumi-lang-java=\"`microsoftV2`\"\u003e`microsoft_v2`\u003c/span\u003e block as defined below.\n"},"requireAuthentication":{"type":"boolean","description":"Should the authentication flow be used for all requests.\n"},"requireHttps":{"type":"boolean","description":"Should HTTPS be required on connections? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"runtimeVersion":{"type":"string","description":"The Runtime Version of the Authentication and Authorisation feature of this App. Defaults to `~1`.\n"},"twitterV2":{"$ref":"#/types/azure:appservice/LinuxFunctionAppSlotAuthSettingsV2TwitterV2:LinuxFunctionAppSlotAuthSettingsV2TwitterV2","description":"A \u003cspan pulumi-lang-nodejs=\"`twitterV2`\" pulumi-lang-dotnet=\"`TwitterV2`\" pulumi-lang-go=\"`twitterV2`\" pulumi-lang-python=\"`twitter_v2`\" pulumi-lang-yaml=\"`twitterV2`\" pulumi-lang-java=\"`twitterV2`\"\u003e`twitter_v2`\u003c/span\u003e block as defined below.\n"},"unauthenticatedAction":{"type":"string","description":"The action to take for requests made without authentication. Possible values include `RedirectToLoginPage`, `AllowAnonymous`, `Return401`, and `Return403`. Defaults to `RedirectToLoginPage`.\n"}},"type":"object","required":["login"]},"azure:appservice/LinuxFunctionAppSlotAuthSettingsV2ActiveDirectoryV2:LinuxFunctionAppSlotAuthSettingsV2ActiveDirectoryV2":{"properties":{"allowedApplications":{"type":"array","items":{"type":"string"},"description":"The list of allowed Applications for the Default Authorisation Policy.\n"},"allowedAudiences":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Allowed audience values to consider when validating JWTs issued by Azure Active Directory.\n\n\u003e **Note:** This is configured on the Authentication Provider side and is Read Only here.\n"},"allowedGroups":{"type":"array","items":{"type":"string"},"description":"The list of allowed Group Names for the Default Authorisation Policy.\n"},"allowedIdentities":{"type":"array","items":{"type":"string"},"description":"The list of allowed Identities for the Default Authorisation Policy.\n"},"clientId":{"type":"string","description":"The ID of the Client to use to authenticate with Azure Active Directory.\n"},"clientSecretCertificateThumbprint":{"type":"string","description":"The thumbprint of the certificate used for signing purposes.\n\n!\u003e **Note:** If one \u003cspan pulumi-lang-nodejs=\"`clientSecretSettingName`\" pulumi-lang-dotnet=\"`ClientSecretSettingName`\" pulumi-lang-go=\"`clientSecretSettingName`\" pulumi-lang-python=\"`client_secret_setting_name`\" pulumi-lang-yaml=\"`clientSecretSettingName`\" pulumi-lang-java=\"`clientSecretSettingName`\"\u003e`client_secret_setting_name`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`clientSecretCertificateThumbprint`\" pulumi-lang-dotnet=\"`ClientSecretCertificateThumbprint`\" pulumi-lang-go=\"`clientSecretCertificateThumbprint`\" pulumi-lang-python=\"`client_secret_certificate_thumbprint`\" pulumi-lang-yaml=\"`clientSecretCertificateThumbprint`\" pulumi-lang-java=\"`clientSecretCertificateThumbprint`\"\u003e`client_secret_certificate_thumbprint`\u003c/span\u003e is specified, terraform won't write the client secret or secret certificate thumbprint back to \u003cspan pulumi-lang-nodejs=\"`appSetting`\" pulumi-lang-dotnet=\"`AppSetting`\" pulumi-lang-go=\"`appSetting`\" pulumi-lang-python=\"`app_setting`\" pulumi-lang-yaml=\"`appSetting`\" pulumi-lang-java=\"`appSetting`\"\u003e`app_setting`\u003c/span\u003e, so make sure they are existed in \u003cspan pulumi-lang-nodejs=\"`appSettings`\" pulumi-lang-dotnet=\"`AppSettings`\" pulumi-lang-go=\"`appSettings`\" pulumi-lang-python=\"`app_settings`\" pulumi-lang-yaml=\"`appSettings`\" pulumi-lang-java=\"`appSettings`\"\u003e`app_settings`\u003c/span\u003e to function correctly.\n"},"clientSecretSettingName":{"type":"string","description":"The App Setting name that contains the client secret of the Client.\n\n!\u003e **Note:** A setting with this name must exist in \u003cspan pulumi-lang-nodejs=\"`appSettings`\" pulumi-lang-dotnet=\"`AppSettings`\" pulumi-lang-go=\"`appSettings`\" pulumi-lang-python=\"`app_settings`\" pulumi-lang-yaml=\"`appSettings`\" pulumi-lang-java=\"`appSettings`\"\u003e`app_settings`\u003c/span\u003e to function correctly.\n"},"jwtAllowedClientApplications":{"type":"array","items":{"type":"string"},"description":"A list of Allowed Client Applications in the JWT Claim.\n"},"jwtAllowedGroups":{"type":"array","items":{"type":"string"},"description":"A list of Allowed Groups in the JWT Claim.\n"},"loginParameters":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of key-value pairs to send to the Authorisation Endpoint when a user logs in.\n"},"tenantAuthEndpoint":{"type":"string","description":"The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/`\n\n\u003e **Note:** [Here](https://learn.microsoft.com/en-us/entra/identity-platform/authentication-national-cloud#microsoft-entra-authentication-endpoints) is a list of possible authentication endpoints based on the cloud environment. [Here](https://learn.microsoft.com/en-us/azure/app-service/configure-authentication-provider-aad?tabs=workforce-tenant) is more information to better understand how to configure authentication for Azure App Service or Azure Functions.\n"},"wwwAuthenticationDisabled":{"type":"boolean","description":"Should the www-authenticate provider should be omitted from the request? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"}},"type":"object","required":["clientId","tenantAuthEndpoint"]},"azure:appservice/LinuxFunctionAppSlotAuthSettingsV2AppleV2:LinuxFunctionAppSlotAuthSettingsV2AppleV2":{"properties":{"clientId":{"type":"string","description":"The OpenID Connect Client ID for the Apple web application.\n"},"clientSecretSettingName":{"type":"string","description":"The app setting name that contains the \u003cspan pulumi-lang-nodejs=\"`clientSecret`\" pulumi-lang-dotnet=\"`ClientSecret`\" pulumi-lang-go=\"`clientSecret`\" pulumi-lang-python=\"`client_secret`\" pulumi-lang-yaml=\"`clientSecret`\" pulumi-lang-java=\"`clientSecret`\"\u003e`client_secret`\u003c/span\u003e value used for Apple Login.\n\n!\u003e **Note:** A setting with this name must exist in \u003cspan pulumi-lang-nodejs=\"`appSettings`\" pulumi-lang-dotnet=\"`AppSettings`\" pulumi-lang-go=\"`appSettings`\" pulumi-lang-python=\"`app_settings`\" pulumi-lang-yaml=\"`appSettings`\" pulumi-lang-java=\"`appSettings`\"\u003e`app_settings`\u003c/span\u003e to function correctly.\n"},"loginScopes":{"type":"array","items":{"type":"string"},"description":"A list of Login Scopes provided by this Authentication Provider.\n\n\u003e **Note:** This is configured on the Authentication Provider side and is Read Only here.\n"}},"type":"object","required":["clientId","clientSecretSettingName"],"language":{"nodejs":{"requiredOutputs":["clientId","clientSecretSettingName","loginScopes"]}}},"azure:appservice/LinuxFunctionAppSlotAuthSettingsV2AzureStaticWebAppV2:LinuxFunctionAppSlotAuthSettingsV2AzureStaticWebAppV2":{"properties":{"clientId":{"type":"string","description":"The ID of the Client to use to authenticate with Azure Static Web App Authentication.\n"}},"type":"object","required":["clientId"]},"azure:appservice/LinuxFunctionAppSlotAuthSettingsV2CustomOidcV2:LinuxFunctionAppSlotAuthSettingsV2CustomOidcV2":{"properties":{"authorisationEndpoint":{"type":"string","description":"The endpoint to make the Authorisation Request as supplied by \u003cspan pulumi-lang-nodejs=\"`openidConfigurationEndpoint`\" pulumi-lang-dotnet=\"`OpenidConfigurationEndpoint`\" pulumi-lang-go=\"`openidConfigurationEndpoint`\" pulumi-lang-python=\"`openid_configuration_endpoint`\" pulumi-lang-yaml=\"`openidConfigurationEndpoint`\" pulumi-lang-java=\"`openidConfigurationEndpoint`\"\u003e`openid_configuration_endpoint`\u003c/span\u003e response.\n"},"certificationUri":{"type":"string","description":"The endpoint that provides the keys necessary to validate the token as supplied by \u003cspan pulumi-lang-nodejs=\"`openidConfigurationEndpoint`\" pulumi-lang-dotnet=\"`OpenidConfigurationEndpoint`\" pulumi-lang-go=\"`openidConfigurationEndpoint`\" pulumi-lang-python=\"`openid_configuration_endpoint`\" pulumi-lang-yaml=\"`openidConfigurationEndpoint`\" pulumi-lang-java=\"`openidConfigurationEndpoint`\"\u003e`openid_configuration_endpoint`\u003c/span\u003e response.\n"},"clientCredentialMethod":{"type":"string","description":"The Client Credential Method used.\n"},"clientId":{"type":"string","description":"The ID of the Client to use to authenticate with the Custom OIDC.\n"},"clientSecretSettingName":{"type":"string","description":"The App Setting name that contains the secret for this Custom OIDC Client. This is generated from \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e above and suffixed with `_PROVIDER_AUTHENTICATION_SECRET`.\n"},"issuerEndpoint":{"type":"string","description":"The endpoint that issued the Token as supplied by \u003cspan pulumi-lang-nodejs=\"`openidConfigurationEndpoint`\" pulumi-lang-dotnet=\"`OpenidConfigurationEndpoint`\" pulumi-lang-go=\"`openidConfigurationEndpoint`\" pulumi-lang-python=\"`openid_configuration_endpoint`\" pulumi-lang-yaml=\"`openidConfigurationEndpoint`\" pulumi-lang-java=\"`openidConfigurationEndpoint`\"\u003e`openid_configuration_endpoint`\u003c/span\u003e response.\n"},"name":{"type":"string","description":"The name of the Custom OIDC Authentication Provider.\n\n\u003e **Note:** An \u003cspan pulumi-lang-nodejs=\"`appSetting`\" pulumi-lang-dotnet=\"`AppSetting`\" pulumi-lang-go=\"`appSetting`\" pulumi-lang-python=\"`app_setting`\" pulumi-lang-yaml=\"`appSetting`\" pulumi-lang-java=\"`appSetting`\"\u003e`app_setting`\u003c/span\u003e matching this value in upper case with the suffix of `_PROVIDER_AUTHENTICATION_SECRET` is required. e.g. `MYOIDC_PROVIDER_AUTHENTICATION_SECRET` for a value of \u003cspan pulumi-lang-nodejs=\"`myoidc`\" pulumi-lang-dotnet=\"`Myoidc`\" pulumi-lang-go=\"`myoidc`\" pulumi-lang-python=\"`myoidc`\" pulumi-lang-yaml=\"`myoidc`\" pulumi-lang-java=\"`myoidc`\"\u003e`myoidc`\u003c/span\u003e.\n"},"nameClaimType":{"type":"string","description":"The name of the claim that contains the users name.\n"},"openidConfigurationEndpoint":{"type":"string","description":"The app setting name that contains the \u003cspan pulumi-lang-nodejs=\"`clientSecret`\" pulumi-lang-dotnet=\"`ClientSecret`\" pulumi-lang-go=\"`clientSecret`\" pulumi-lang-python=\"`client_secret`\" pulumi-lang-yaml=\"`clientSecret`\" pulumi-lang-java=\"`clientSecret`\"\u003e`client_secret`\u003c/span\u003e value used for the Custom OIDC Login.\n"},"scopes":{"type":"array","items":{"type":"string"},"description":"The list of the scopes that should be requested while authenticating.\n"},"tokenEndpoint":{"type":"string","description":"The endpoint used to request a Token as supplied by \u003cspan pulumi-lang-nodejs=\"`openidConfigurationEndpoint`\" pulumi-lang-dotnet=\"`OpenidConfigurationEndpoint`\" pulumi-lang-go=\"`openidConfigurationEndpoint`\" pulumi-lang-python=\"`openid_configuration_endpoint`\" pulumi-lang-yaml=\"`openidConfigurationEndpoint`\" pulumi-lang-java=\"`openidConfigurationEndpoint`\"\u003e`openid_configuration_endpoint`\u003c/span\u003e response.\n"}},"type":"object","required":["clientId","name","openidConfigurationEndpoint"],"language":{"nodejs":{"requiredOutputs":["authorisationEndpoint","certificationUri","clientCredentialMethod","clientId","clientSecretSettingName","issuerEndpoint","name","openidConfigurationEndpoint","tokenEndpoint"]}}},"azure:appservice/LinuxFunctionAppSlotAuthSettingsV2FacebookV2:LinuxFunctionAppSlotAuthSettingsV2FacebookV2":{"properties":{"appId":{"type":"string","description":"The App ID of the Facebook app used for login.\n"},"appSecretSettingName":{"type":"string","description":"The app setting name that contains the \u003cspan pulumi-lang-nodejs=\"`appSecret`\" pulumi-lang-dotnet=\"`AppSecret`\" pulumi-lang-go=\"`appSecret`\" pulumi-lang-python=\"`app_secret`\" pulumi-lang-yaml=\"`appSecret`\" pulumi-lang-java=\"`appSecret`\"\u003e`app_secret`\u003c/span\u003e value used for Facebook Login.\n\n!\u003e **Note:** A setting with this name must exist in \u003cspan pulumi-lang-nodejs=\"`appSettings`\" pulumi-lang-dotnet=\"`AppSettings`\" pulumi-lang-go=\"`appSettings`\" pulumi-lang-python=\"`app_settings`\" pulumi-lang-yaml=\"`appSettings`\" pulumi-lang-java=\"`appSettings`\"\u003e`app_settings`\u003c/span\u003e to function correctly.\n"},"graphApiVersion":{"type":"string","description":"The version of the Facebook API to be used while logging in.\n"},"loginScopes":{"type":"array","items":{"type":"string"},"description":"The list of scopes that should be requested as part of Facebook Login authentication.\n"}},"type":"object","required":["appId","appSecretSettingName"],"language":{"nodejs":{"requiredOutputs":["appId","appSecretSettingName","graphApiVersion"]}}},"azure:appservice/LinuxFunctionAppSlotAuthSettingsV2GithubV2:LinuxFunctionAppSlotAuthSettingsV2GithubV2":{"properties":{"clientId":{"type":"string","description":"The ID of the GitHub app used for login.\n"},"clientSecretSettingName":{"type":"string","description":"The app setting name that contains the \u003cspan pulumi-lang-nodejs=\"`clientSecret`\" pulumi-lang-dotnet=\"`ClientSecret`\" pulumi-lang-go=\"`clientSecret`\" pulumi-lang-python=\"`client_secret`\" pulumi-lang-yaml=\"`clientSecret`\" pulumi-lang-java=\"`clientSecret`\"\u003e`client_secret`\u003c/span\u003e value used for GitHub Login.\n\n!\u003e **Note:** A setting with this name must exist in \u003cspan pulumi-lang-nodejs=\"`appSettings`\" pulumi-lang-dotnet=\"`AppSettings`\" pulumi-lang-go=\"`appSettings`\" pulumi-lang-python=\"`app_settings`\" pulumi-lang-yaml=\"`appSettings`\" pulumi-lang-java=\"`appSettings`\"\u003e`app_settings`\u003c/span\u003e to function correctly.\n"},"loginScopes":{"type":"array","items":{"type":"string"},"description":"The list of OAuth 2.0 scopes that should be requested as part of GitHub Login authentication.\n"}},"type":"object","required":["clientId","clientSecretSettingName"]},"azure:appservice/LinuxFunctionAppSlotAuthSettingsV2GoogleV2:LinuxFunctionAppSlotAuthSettingsV2GoogleV2":{"properties":{"allowedAudiences":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Allowed Audiences that should be requested as part of Google Sign-In authentication.\n"},"clientId":{"type":"string","description":"The OpenID Connect Client ID for the Google web application.\n"},"clientSecretSettingName":{"type":"string","description":"The app setting name that contains the \u003cspan pulumi-lang-nodejs=\"`clientSecret`\" pulumi-lang-dotnet=\"`ClientSecret`\" pulumi-lang-go=\"`clientSecret`\" pulumi-lang-python=\"`client_secret`\" pulumi-lang-yaml=\"`clientSecret`\" pulumi-lang-java=\"`clientSecret`\"\u003e`client_secret`\u003c/span\u003e value used for Google Login.\n\n!\u003e **Note:** A setting with this name must exist in \u003cspan pulumi-lang-nodejs=\"`appSettings`\" pulumi-lang-dotnet=\"`AppSettings`\" pulumi-lang-go=\"`appSettings`\" pulumi-lang-python=\"`app_settings`\" pulumi-lang-yaml=\"`appSettings`\" pulumi-lang-java=\"`appSettings`\"\u003e`app_settings`\u003c/span\u003e to function correctly.\n"},"loginScopes":{"type":"array","items":{"type":"string"},"description":"The list of OAuth 2.0 scopes that should be requested as part of Google Sign-In authentication.\n"}},"type":"object","required":["clientId","clientSecretSettingName"]},"azure:appservice/LinuxFunctionAppSlotAuthSettingsV2Login:LinuxFunctionAppSlotAuthSettingsV2Login":{"properties":{"allowedExternalRedirectUrls":{"type":"array","items":{"type":"string"},"description":"External URLs that can be redirected to as part of logging in or logging out of the app. This is an advanced setting typically only needed by Windows Store application backends.\n\n\u003e **Note:** URLs within the current domain are always implicitly allowed.\n"},"cookieExpirationConvention":{"type":"string","description":"The method by which cookies expire. Possible values include: `FixedTime`, and `IdentityProviderDerived`. Defaults to `FixedTime`.\n"},"cookieExpirationTime":{"type":"string","description":"The time after the request is made when the session cookie should expire. Defaults to `08:00:00`.\n"},"logoutEndpoint":{"type":"string","description":"The endpoint to which logout requests should be made.\n"},"nonceExpirationTime":{"type":"string","description":"The time after the request is made when the nonce should expire. Defaults to `00:05:00`.\n"},"preserveUrlFragmentsForLogins":{"type":"boolean","description":"Should the fragments from the request be preserved after the login request is made. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"tokenRefreshExtensionTime":{"type":"number","description":"The number of hours after session token expiration that a session token can be used to call the token refresh API. Defaults to \u003cspan pulumi-lang-nodejs=\"`72`\" pulumi-lang-dotnet=\"`72`\" pulumi-lang-go=\"`72`\" pulumi-lang-python=\"`72`\" pulumi-lang-yaml=\"`72`\" pulumi-lang-java=\"`72`\"\u003e`72`\u003c/span\u003e hours.\n"},"tokenStoreEnabled":{"type":"boolean","description":"Should the Token Store configuration Enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e\n"},"tokenStorePath":{"type":"string","description":"The directory path in the App Filesystem in which the tokens will be stored.\n"},"tokenStoreSasSettingName":{"type":"string","description":"The name of the app setting which contains the SAS URL of the blob storage containing the tokens.\n"},"validateNonce":{"type":"boolean","description":"Should the nonce be validated while completing the login flow. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"}},"type":"object"},"azure:appservice/LinuxFunctionAppSlotAuthSettingsV2MicrosoftV2:LinuxFunctionAppSlotAuthSettingsV2MicrosoftV2":{"properties":{"allowedAudiences":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Allowed Audiences that will be requested as part of Microsoft Sign-In authentication.\n"},"clientId":{"type":"string","description":"The OAuth 2.0 client ID that was created for the app used for authentication.\n"},"clientSecretSettingName":{"type":"string","description":"The app setting name containing the OAuth 2.0 client secret that was created for the app used for authentication.\n\n!\u003e **Note:** A setting with this name must exist in \u003cspan pulumi-lang-nodejs=\"`appSettings`\" pulumi-lang-dotnet=\"`AppSettings`\" pulumi-lang-go=\"`appSettings`\" pulumi-lang-python=\"`app_settings`\" pulumi-lang-yaml=\"`appSettings`\" pulumi-lang-java=\"`appSettings`\"\u003e`app_settings`\u003c/span\u003e to function correctly.\n"},"loginScopes":{"type":"array","items":{"type":"string"},"description":"The list of Login scopes that should be requested as part of Microsoft Account authentication.\n"}},"type":"object","required":["clientId","clientSecretSettingName"]},"azure:appservice/LinuxFunctionAppSlotAuthSettingsV2TwitterV2:LinuxFunctionAppSlotAuthSettingsV2TwitterV2":{"properties":{"consumerKey":{"type":"string","description":"The OAuth 1.0a consumer key of the Twitter application used for sign-in.\n"},"consumerSecretSettingName":{"type":"string","description":"The app setting name that contains the OAuth 1.0a consumer secret of the Twitter application used for sign-in.\n\n!\u003e **Note:** A setting with this name must exist in \u003cspan pulumi-lang-nodejs=\"`appSettings`\" pulumi-lang-dotnet=\"`AppSettings`\" pulumi-lang-go=\"`appSettings`\" pulumi-lang-python=\"`app_settings`\" pulumi-lang-yaml=\"`appSettings`\" pulumi-lang-java=\"`appSettings`\"\u003e`app_settings`\u003c/span\u003e to function correctly.\n"}},"type":"object","required":["consumerKey","consumerSecretSettingName"]},"azure:appservice/LinuxFunctionAppSlotBackup:LinuxFunctionAppSlotBackup":{"properties":{"enabled":{"type":"boolean","description":"Should this backup job be enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"name":{"type":"string","description":"The name which should be used for this Backup.\n"},"schedule":{"$ref":"#/types/azure:appservice/LinuxFunctionAppSlotBackupSchedule:LinuxFunctionAppSlotBackupSchedule","description":"a \u003cspan pulumi-lang-nodejs=\"`schedule`\" pulumi-lang-dotnet=\"`Schedule`\" pulumi-lang-go=\"`schedule`\" pulumi-lang-python=\"`schedule`\" pulumi-lang-yaml=\"`schedule`\" pulumi-lang-java=\"`schedule`\"\u003e`schedule`\u003c/span\u003e block as detailed below.\n"},"storageAccountUrl":{"type":"string","description":"The SAS URL to the container.\n","secret":true}},"type":"object","required":["name","schedule","storageAccountUrl"]},"azure:appservice/LinuxFunctionAppSlotBackupSchedule:LinuxFunctionAppSlotBackupSchedule":{"properties":{"frequencyInterval":{"type":"integer","description":"How often the backup should be executed (e.g. for weekly backup, this should be set to \u003cspan pulumi-lang-nodejs=\"`7`\" pulumi-lang-dotnet=\"`7`\" pulumi-lang-go=\"`7`\" pulumi-lang-python=\"`7`\" pulumi-lang-yaml=\"`7`\" pulumi-lang-java=\"`7`\"\u003e`7`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`frequencyUnit`\" pulumi-lang-dotnet=\"`FrequencyUnit`\" pulumi-lang-go=\"`frequencyUnit`\" pulumi-lang-python=\"`frequency_unit`\" pulumi-lang-yaml=\"`frequencyUnit`\" pulumi-lang-java=\"`frequencyUnit`\"\u003e`frequency_unit`\u003c/span\u003e should be set to `Day`).\n\n\u003e **Note:** Not all intervals are supported on all Linux Function App SKUs. Please refer to the official documentation for appropriate values.\n"},"frequencyUnit":{"type":"string","description":"The unit of time for how often the backup should take place. Possible values include: `Day` and `Hour`.\n"},"keepAtLeastOneBackup":{"type":"boolean","description":"Should the service keep at least one backup, regardless of age of backup. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"lastExecutionTime":{"type":"string","description":"The time the backup was last attempted.\n"},"retentionPeriodDays":{"type":"integer","description":"After how many days backups should be deleted. Defaults to \u003cspan pulumi-lang-nodejs=\"`30`\" pulumi-lang-dotnet=\"`30`\" pulumi-lang-go=\"`30`\" pulumi-lang-python=\"`30`\" pulumi-lang-yaml=\"`30`\" pulumi-lang-java=\"`30`\"\u003e`30`\u003c/span\u003e.\n"},"startTime":{"type":"string","description":"When the schedule should start working in RFC-3339 format.\n"}},"type":"object","required":["frequencyInterval","frequencyUnit"],"language":{"nodejs":{"requiredOutputs":["frequencyInterval","frequencyUnit","lastExecutionTime","startTime"]}}},"azure:appservice/LinuxFunctionAppSlotConnectionString:LinuxFunctionAppSlotConnectionString":{"properties":{"name":{"type":"string","description":"The name which should be used for this Connection.\n"},"type":{"type":"string","description":"Type of database. Possible values include: `APIHub`, `Custom`, `DocDb`, `EventHub`, `MySQL`, `NotificationHub`, `PostgreSQL`, `RedisCache`, `ServiceBus`, `SQLAzure`, and `SQLServer`.\n"},"value":{"type":"string","description":"The connection string value.\n","secret":true}},"type":"object","required":["name","type","value"]},"azure:appservice/LinuxFunctionAppSlotIdentity:LinuxFunctionAppSlotIdentity":{"properties":{"identityIds":{"type":"array","items":{"type":"string"},"description":"A list of User Assigned Managed Identity IDs to be assigned to this Linux Function App Slot.\n\n\u003e **Note:** This is required when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to `UserAssigned` or `SystemAssigned, UserAssigned`.\n"},"principalId":{"type":"string","description":"The Principal ID associated with this Managed Service Identity.\n"},"tenantId":{"type":"string","description":"The Tenant ID associated with this Managed Service Identity.\n"},"type":{"type":"string","description":"Specifies the type of Managed Service Identity that should be configured on this Linux Function App Slot. Possible values are `SystemAssigned`, `UserAssigned`, `SystemAssigned, UserAssigned` (to enable both).\n"}},"type":"object","required":["type"],"language":{"nodejs":{"requiredOutputs":["principalId","tenantId","type"]}}},"azure:appservice/LinuxFunctionAppSlotSiteConfig:LinuxFunctionAppSlotSiteConfig":{"properties":{"alwaysOn":{"type":"boolean","description":"If this Linux Web App is Always On enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"apiDefinitionUrl":{"type":"string","description":"The URL of the API definition that describes this Linux Function App.\n"},"apiManagementApiId":{"type":"string","description":"The ID of the API Management API for this Linux Function App.\n"},"appCommandLine":{"type":"string","description":"The program and any arguments used to launch this app via the command line. (Example `node myapp.js`).\n"},"appScaleLimit":{"type":"integer","description":"The number of workers this function app can scale out to. Only applicable to apps on the Consumption and Premium plan.\n"},"appServiceLogs":{"$ref":"#/types/azure:appservice/LinuxFunctionAppSlotSiteConfigAppServiceLogs:LinuxFunctionAppSlotSiteConfigAppServiceLogs","description":"an \u003cspan pulumi-lang-nodejs=\"`appServiceLogs`\" pulumi-lang-dotnet=\"`AppServiceLogs`\" pulumi-lang-go=\"`appServiceLogs`\" pulumi-lang-python=\"`app_service_logs`\" pulumi-lang-yaml=\"`appServiceLogs`\" pulumi-lang-java=\"`appServiceLogs`\"\u003e`app_service_logs`\u003c/span\u003e block as detailed below.\n"},"applicationInsightsConnectionString":{"type":"string","description":"The Connection String for linking the Linux Function App to Application Insights.\n","secret":true},"applicationInsightsKey":{"type":"string","description":"The Instrumentation Key for connecting the Linux Function App to Application Insights.\n","secret":true},"applicationStack":{"$ref":"#/types/azure:appservice/LinuxFunctionAppSlotSiteConfigApplicationStack:LinuxFunctionAppSlotSiteConfigApplicationStack","description":"an \u003cspan pulumi-lang-nodejs=\"`applicationStack`\" pulumi-lang-dotnet=\"`ApplicationStack`\" pulumi-lang-go=\"`applicationStack`\" pulumi-lang-python=\"`application_stack`\" pulumi-lang-yaml=\"`applicationStack`\" pulumi-lang-java=\"`applicationStack`\"\u003e`application_stack`\u003c/span\u003e block as detailed below.\n"},"autoSwapSlotName":{"type":"string","description":"The name of the slot to automatically swap with when this slot is successfully deployed.\n"},"containerRegistryManagedIdentityClientId":{"type":"string","description":"The Client ID of the Managed Service Identity to use for connections to the Azure Container Registry.\n"},"containerRegistryUseManagedIdentity":{"type":"boolean","description":"Should connections for Azure Container Registry use Managed Identity.\n"},"cors":{"$ref":"#/types/azure:appservice/LinuxFunctionAppSlotSiteConfigCors:LinuxFunctionAppSlotSiteConfigCors","description":"a \u003cspan pulumi-lang-nodejs=\"`cors`\" pulumi-lang-dotnet=\"`Cors`\" pulumi-lang-go=\"`cors`\" pulumi-lang-python=\"`cors`\" pulumi-lang-yaml=\"`cors`\" pulumi-lang-java=\"`cors`\"\u003e`cors`\u003c/span\u003e block as detailed below.\n"},"defaultDocuments":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Default Documents for the Linux Web App.\n"},"detailedErrorLoggingEnabled":{"type":"boolean","description":"Is detailed error logging enabled\n"},"elasticInstanceMinimum":{"type":"integer","description":"The number of minimum instances for this Linux Function App. Only affects apps on Elastic Premium plans.\n"},"ftpsState":{"type":"string","description":"State of FTP / FTPS service for this function app. Possible values include: `AllAllowed`, `FtpsOnly` and `Disabled`. Defaults to `Disabled`.\n"},"healthCheckEvictionTimeInMin":{"type":"integer","description":"The amount of time in minutes that a node is unhealthy before being removed from the load balancer. Possible values are between \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`10`\" pulumi-lang-dotnet=\"`10`\" pulumi-lang-go=\"`10`\" pulumi-lang-python=\"`10`\" pulumi-lang-yaml=\"`10`\" pulumi-lang-java=\"`10`\"\u003e`10`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e. Only valid in conjunction with \u003cspan pulumi-lang-nodejs=\"`healthCheckPath`\" pulumi-lang-dotnet=\"`HealthCheckPath`\" pulumi-lang-go=\"`healthCheckPath`\" pulumi-lang-python=\"`health_check_path`\" pulumi-lang-yaml=\"`healthCheckPath`\" pulumi-lang-java=\"`healthCheckPath`\"\u003e`health_check_path`\u003c/span\u003e.\n"},"healthCheckPath":{"type":"string","description":"The path to be checked for this function app health.\n"},"http2Enabled":{"type":"boolean","description":"Specifies if the HTTP2 protocol should be enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"ipRestrictionDefaultAction":{"type":"string","description":"The Default action for traffic that does not match any \u003cspan pulumi-lang-nodejs=\"`ipRestriction`\" pulumi-lang-dotnet=\"`IpRestriction`\" pulumi-lang-go=\"`ipRestriction`\" pulumi-lang-python=\"`ip_restriction`\" pulumi-lang-yaml=\"`ipRestriction`\" pulumi-lang-java=\"`ipRestriction`\"\u003e`ip_restriction`\u003c/span\u003e rule. possible values include `Allow` and `Deny`. Defaults to `Allow`.\n"},"ipRestrictions":{"type":"array","items":{"$ref":"#/types/azure:appservice/LinuxFunctionAppSlotSiteConfigIpRestriction:LinuxFunctionAppSlotSiteConfigIpRestriction"},"description":"an \u003cspan pulumi-lang-nodejs=\"`ipRestriction`\" pulumi-lang-dotnet=\"`IpRestriction`\" pulumi-lang-go=\"`ipRestriction`\" pulumi-lang-python=\"`ip_restriction`\" pulumi-lang-yaml=\"`ipRestriction`\" pulumi-lang-java=\"`ipRestriction`\"\u003e`ip_restriction`\u003c/span\u003e block as detailed below.\n"},"linuxFxVersion":{"type":"string","description":"The Linux FX Version\n"},"loadBalancingMode":{"type":"string","description":"The Site load balancing mode. Possible values include: `WeightedRoundRobin`, `LeastRequests`, `LeastResponseTime`, `WeightedTotalTraffic`, `RequestHash`, `PerSiteRoundRobin`. Defaults to `LeastRequests` if omitted.\n"},"managedPipelineMode":{"type":"string","description":"The Managed Pipeline mode. Possible values include: `Integrated`, `Classic`. Defaults to `Integrated`.\n"},"minimumTlsVersion":{"type":"string","description":"The configures the minimum version of TLS required for SSL requests. Possible values include: `1.0`, `1.1`, `1.2` and `1.3`. Defaults to `1.2`.\n"},"preWarmedInstanceCount":{"type":"integer","description":"The number of pre-warmed instances for this function app. Only affects apps on an Elastic Premium plan.\n"},"remoteDebuggingEnabled":{"type":"boolean","description":"Should Remote Debugging be enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"remoteDebuggingVersion":{"type":"string","description":"The Remote Debugging Version. Currently only `VS2022` is supported.\n"},"runtimeScaleMonitoringEnabled":{"type":"boolean","description":"Should Functions Runtime Scale Monitoring be enabled.\n\n\u003e **Note:** Functions runtime scale monitoring can only be enabled for Elastic Premium Function Apps or Workflow Standard Logic Apps and requires a minimum prewarmed instance count of 1.\n"},"scmIpRestrictionDefaultAction":{"type":"string","description":"The Default action for traffic that does not match any \u003cspan pulumi-lang-nodejs=\"`scmIpRestriction`\" pulumi-lang-dotnet=\"`ScmIpRestriction`\" pulumi-lang-go=\"`scmIpRestriction`\" pulumi-lang-python=\"`scm_ip_restriction`\" pulumi-lang-yaml=\"`scmIpRestriction`\" pulumi-lang-java=\"`scmIpRestriction`\"\u003e`scm_ip_restriction`\u003c/span\u003e rule. possible values include `Allow` and `Deny`. Defaults to `Allow`.\n"},"scmIpRestrictions":{"type":"array","items":{"$ref":"#/types/azure:appservice/LinuxFunctionAppSlotSiteConfigScmIpRestriction:LinuxFunctionAppSlotSiteConfigScmIpRestriction"},"description":"a \u003cspan pulumi-lang-nodejs=\"`scmIpRestriction`\" pulumi-lang-dotnet=\"`ScmIpRestriction`\" pulumi-lang-go=\"`scmIpRestriction`\" pulumi-lang-python=\"`scm_ip_restriction`\" pulumi-lang-yaml=\"`scmIpRestriction`\" pulumi-lang-java=\"`scmIpRestriction`\"\u003e`scm_ip_restriction`\u003c/span\u003e block as detailed below.\n"},"scmMinimumTlsVersion":{"type":"string","description":"Configures the minimum version of TLS required for SSL requests to the SCM site Possible values include: `1.0`, `1.1`, `1.2` and `1.3`. Defaults to `1.2`.\n"},"scmType":{"type":"string","description":"The SCM Type in use by the Linux Function App.\n"},"scmUseMainIpRestriction":{"type":"boolean","description":"Should the Linux Function App \u003cspan pulumi-lang-nodejs=\"`ipRestriction`\" pulumi-lang-dotnet=\"`IpRestriction`\" pulumi-lang-go=\"`ipRestriction`\" pulumi-lang-python=\"`ip_restriction`\" pulumi-lang-yaml=\"`ipRestriction`\" pulumi-lang-java=\"`ipRestriction`\"\u003e`ip_restriction`\u003c/span\u003e configuration be used for the SCM also.\n"},"use32BitWorker":{"type":"boolean","description":"Should the Linux Web App use a 32-bit worker.\n"},"vnetRouteAllEnabled":{"type":"boolean","description":"Should all outbound traffic to have NAT Gateways, Network Security Groups and User Defined Routes applied? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"websocketsEnabled":{"type":"boolean","description":"Should Web Sockets be enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"workerCount":{"type":"integer","description":"The number of Workers for this Linux Function App.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["alwaysOn","appScaleLimit","defaultDocuments","detailedErrorLoggingEnabled","elasticInstanceMinimum","linuxFxVersion","preWarmedInstanceCount","remoteDebuggingVersion","scmType","workerCount"]}}},"azure:appservice/LinuxFunctionAppSlotSiteConfigAppServiceLogs:LinuxFunctionAppSlotSiteConfigAppServiceLogs":{"properties":{"diskQuotaMb":{"type":"integer","description":"The amount of disk space to use for logs. Valid values are between \u003cspan pulumi-lang-nodejs=\"`25`\" pulumi-lang-dotnet=\"`25`\" pulumi-lang-go=\"`25`\" pulumi-lang-python=\"`25`\" pulumi-lang-yaml=\"`25`\" pulumi-lang-java=\"`25`\"\u003e`25`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`100`\" pulumi-lang-dotnet=\"`100`\" pulumi-lang-go=\"`100`\" pulumi-lang-python=\"`100`\" pulumi-lang-yaml=\"`100`\" pulumi-lang-java=\"`100`\"\u003e`100`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`35`\" pulumi-lang-dotnet=\"`35`\" pulumi-lang-go=\"`35`\" pulumi-lang-python=\"`35`\" pulumi-lang-yaml=\"`35`\" pulumi-lang-java=\"`35`\"\u003e`35`\u003c/span\u003e.\n"},"retentionPeriodDays":{"type":"integer","description":"The retention period for logs in days. Valid values are between \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`99999`\" pulumi-lang-dotnet=\"`99999`\" pulumi-lang-go=\"`99999`\" pulumi-lang-python=\"`99999`\" pulumi-lang-yaml=\"`99999`\" pulumi-lang-java=\"`99999`\"\u003e`99999`\u003c/span\u003e.(never delete).\n\n\u003e **Note:** This block is not supported on Consumption plans.\n"}},"type":"object"},"azure:appservice/LinuxFunctionAppSlotSiteConfigApplicationStack:LinuxFunctionAppSlotSiteConfigApplicationStack":{"properties":{"dockers":{"type":"array","items":{"$ref":"#/types/azure:appservice/LinuxFunctionAppSlotSiteConfigApplicationStackDocker:LinuxFunctionAppSlotSiteConfigApplicationStackDocker"},"description":"a \u003cspan pulumi-lang-nodejs=\"`docker`\" pulumi-lang-dotnet=\"`Docker`\" pulumi-lang-go=\"`docker`\" pulumi-lang-python=\"`docker`\" pulumi-lang-yaml=\"`docker`\" pulumi-lang-java=\"`docker`\"\u003e`docker`\u003c/span\u003e block as detailed below.\n"},"dotnetVersion":{"type":"string","description":"The version of .Net. Possible values are `3.1`, `6.0`, `7.0`, `8.0`, `9.0` and `10.0`.\n"},"javaVersion":{"type":"string","description":"The version of Java to use. Possible values are \u003cspan pulumi-lang-nodejs=\"`8`\" pulumi-lang-dotnet=\"`8`\" pulumi-lang-go=\"`8`\" pulumi-lang-python=\"`8`\" pulumi-lang-yaml=\"`8`\" pulumi-lang-java=\"`8`\"\u003e`8`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`11`\" pulumi-lang-dotnet=\"`11`\" pulumi-lang-go=\"`11`\" pulumi-lang-python=\"`11`\" pulumi-lang-yaml=\"`11`\" pulumi-lang-java=\"`11`\"\u003e`11`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`17`\" pulumi-lang-dotnet=\"`17`\" pulumi-lang-go=\"`17`\" pulumi-lang-python=\"`17`\" pulumi-lang-yaml=\"`17`\" pulumi-lang-java=\"`17`\"\u003e`17`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`21`\" pulumi-lang-dotnet=\"`21`\" pulumi-lang-go=\"`21`\" pulumi-lang-python=\"`21`\" pulumi-lang-yaml=\"`21`\" pulumi-lang-java=\"`21`\"\u003e`21`\u003c/span\u003e.\n"},"nodeVersion":{"type":"string","description":"The version of Node to use. Possible values include \u003cspan pulumi-lang-nodejs=\"`12`\" pulumi-lang-dotnet=\"`12`\" pulumi-lang-go=\"`12`\" pulumi-lang-python=\"`12`\" pulumi-lang-yaml=\"`12`\" pulumi-lang-java=\"`12`\"\u003e`12`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`14`\" pulumi-lang-dotnet=\"`14`\" pulumi-lang-go=\"`14`\" pulumi-lang-python=\"`14`\" pulumi-lang-yaml=\"`14`\" pulumi-lang-java=\"`14`\"\u003e`14`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`16`\" pulumi-lang-dotnet=\"`16`\" pulumi-lang-go=\"`16`\" pulumi-lang-python=\"`16`\" pulumi-lang-yaml=\"`16`\" pulumi-lang-java=\"`16`\"\u003e`16`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`18`\" pulumi-lang-dotnet=\"`18`\" pulumi-lang-go=\"`18`\" pulumi-lang-python=\"`18`\" pulumi-lang-yaml=\"`18`\" pulumi-lang-java=\"`18`\"\u003e`18`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`20`\" pulumi-lang-dotnet=\"`20`\" pulumi-lang-go=\"`20`\" pulumi-lang-python=\"`20`\" pulumi-lang-yaml=\"`20`\" pulumi-lang-java=\"`20`\"\u003e`20`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`22`\" pulumi-lang-dotnet=\"`22`\" pulumi-lang-go=\"`22`\" pulumi-lang-python=\"`22`\" pulumi-lang-yaml=\"`22`\" pulumi-lang-java=\"`22`\"\u003e`22`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`24`\" pulumi-lang-dotnet=\"`24`\" pulumi-lang-go=\"`24`\" pulumi-lang-python=\"`24`\" pulumi-lang-yaml=\"`24`\" pulumi-lang-java=\"`24`\"\u003e`24`\u003c/span\u003e.\n"},"powershellCoreVersion":{"type":"string","description":"The version of PowerShell Core to use. Possibles values are \u003cspan pulumi-lang-nodejs=\"`7`\" pulumi-lang-dotnet=\"`7`\" pulumi-lang-go=\"`7`\" pulumi-lang-python=\"`7`\" pulumi-lang-yaml=\"`7`\" pulumi-lang-java=\"`7`\"\u003e`7`\u003c/span\u003e , `7.2`, and `7.4`.\n"},"pythonVersion":{"type":"string","description":"The version of Python to use. Possible values are `3.14`, `3.13`, `3.12`, `3.11`, `3.10`, `3.9`, `3.8` and `3.7`.\n"},"useCustomRuntime":{"type":"boolean","description":"Should the Linux Function App use a custom runtime?\n"},"useDotnetIsolatedRuntime":{"type":"boolean","description":"Should the DotNet process use an isolated runtime. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"}},"type":"object"},"azure:appservice/LinuxFunctionAppSlotSiteConfigApplicationStackDocker:LinuxFunctionAppSlotSiteConfigApplicationStackDocker":{"properties":{"imageName":{"type":"string","description":"The name of the Docker image to use.\n"},"imageTag":{"type":"string","description":"The image tag of the image to use.\n"},"registryPassword":{"type":"string","description":"The password for the account to use to connect to the registry.\n\n\u003e **Note:** This value is required if \u003cspan pulumi-lang-nodejs=\"`containerRegistryUseManagedIdentity`\" pulumi-lang-dotnet=\"`ContainerRegistryUseManagedIdentity`\" pulumi-lang-go=\"`containerRegistryUseManagedIdentity`\" pulumi-lang-python=\"`container_registry_use_managed_identity`\" pulumi-lang-yaml=\"`containerRegistryUseManagedIdentity`\" pulumi-lang-java=\"`containerRegistryUseManagedIdentity`\"\u003e`container_registry_use_managed_identity`\u003c/span\u003e is not set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n","secret":true},"registryUrl":{"type":"string","description":"The URL of the docker registry.\n"},"registryUsername":{"type":"string","description":"The username to use for connections to the registry.\n\n\u003e **Note:** This value is required if \u003cspan pulumi-lang-nodejs=\"`containerRegistryUseManagedIdentity`\" pulumi-lang-dotnet=\"`ContainerRegistryUseManagedIdentity`\" pulumi-lang-go=\"`containerRegistryUseManagedIdentity`\" pulumi-lang-python=\"`container_registry_use_managed_identity`\" pulumi-lang-yaml=\"`containerRegistryUseManagedIdentity`\" pulumi-lang-java=\"`containerRegistryUseManagedIdentity`\"\u003e`container_registry_use_managed_identity`\u003c/span\u003e is not set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n","secret":true}},"type":"object","required":["imageName","imageTag","registryUrl"]},"azure:appservice/LinuxFunctionAppSlotSiteConfigCors:LinuxFunctionAppSlotSiteConfigCors":{"properties":{"allowedOrigins":{"type":"array","items":{"type":"string"},"description":"Specifies a list of origins that should be allowed to make cross-origin calls.\n"},"supportCredentials":{"type":"boolean","description":"Are credentials allowed in CORS requests? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"}},"type":"object"},"azure:appservice/LinuxFunctionAppSlotSiteConfigIpRestriction:LinuxFunctionAppSlotSiteConfigIpRestriction":{"properties":{"action":{"type":"string","description":"The action to take. Possible values are `Allow` or `Deny`. Defaults to `Allow`.\n"},"description":{"type":"string","description":"The Description of this IP Restriction.\n"},"headers":{"$ref":"#/types/azure:appservice/LinuxFunctionAppSlotSiteConfigIpRestrictionHeaders:LinuxFunctionAppSlotSiteConfigIpRestrictionHeaders","description":"a \u003cspan pulumi-lang-nodejs=\"`headers`\" pulumi-lang-dotnet=\"`Headers`\" pulumi-lang-go=\"`headers`\" pulumi-lang-python=\"`headers`\" pulumi-lang-yaml=\"`headers`\" pulumi-lang-java=\"`headers`\"\u003e`headers`\u003c/span\u003e block as detailed below.\n"},"ipAddress":{"type":"string","description":"The CIDR notation of the IP or IP Range to match. For example: `10.0.0.0/24` or `192.168.10.1/32`\n"},"name":{"type":"string","description":"The name which should be used for this \u003cspan pulumi-lang-nodejs=\"`ipRestriction`\" pulumi-lang-dotnet=\"`IpRestriction`\" pulumi-lang-go=\"`ipRestriction`\" pulumi-lang-python=\"`ip_restriction`\" pulumi-lang-yaml=\"`ipRestriction`\" pulumi-lang-java=\"`ipRestriction`\"\u003e`ip_restriction`\u003c/span\u003e.\n"},"priority":{"type":"integer","description":"The priority value of this \u003cspan pulumi-lang-nodejs=\"`ipRestriction`\" pulumi-lang-dotnet=\"`IpRestriction`\" pulumi-lang-go=\"`ipRestriction`\" pulumi-lang-python=\"`ip_restriction`\" pulumi-lang-yaml=\"`ipRestriction`\" pulumi-lang-java=\"`ipRestriction`\"\u003e`ip_restriction`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`65000`\" pulumi-lang-dotnet=\"`65000`\" pulumi-lang-go=\"`65000`\" pulumi-lang-python=\"`65000`\" pulumi-lang-yaml=\"`65000`\" pulumi-lang-java=\"`65000`\"\u003e`65000`\u003c/span\u003e.\n"},"serviceTag":{"type":"string","description":"The Service Tag used for this IP Restriction.\n"},"virtualNetworkSubnetId":{"type":"string","description":"The Virtual Network Subnet ID used for this IP Restriction.\n\n\u003e **Note:** One and only one of \u003cspan pulumi-lang-nodejs=\"`ipAddress`\" pulumi-lang-dotnet=\"`IpAddress`\" pulumi-lang-go=\"`ipAddress`\" pulumi-lang-python=\"`ip_address`\" pulumi-lang-yaml=\"`ipAddress`\" pulumi-lang-java=\"`ipAddress`\"\u003e`ip_address`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`serviceTag`\" pulumi-lang-dotnet=\"`ServiceTag`\" pulumi-lang-go=\"`serviceTag`\" pulumi-lang-python=\"`service_tag`\" pulumi-lang-yaml=\"`serviceTag`\" pulumi-lang-java=\"`serviceTag`\"\u003e`service_tag`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`virtualNetworkSubnetId`\" pulumi-lang-dotnet=\"`VirtualNetworkSubnetId`\" pulumi-lang-go=\"`virtualNetworkSubnetId`\" pulumi-lang-python=\"`virtual_network_subnet_id`\" pulumi-lang-yaml=\"`virtualNetworkSubnetId`\" pulumi-lang-java=\"`virtualNetworkSubnetId`\"\u003e`virtual_network_subnet_id`\u003c/span\u003e must be specified.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["name"]}}},"azure:appservice/LinuxFunctionAppSlotSiteConfigIpRestrictionHeaders:LinuxFunctionAppSlotSiteConfigIpRestrictionHeaders":{"properties":{"xAzureFdids":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Azure Front Door IDs.\n"},"xFdHealthProbe":{"type":"string","description":"Specifies if a Front Door Health Probe should be expected. The only possible value is \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e.\n"},"xForwardedFors":{"type":"array","items":{"type":"string"},"description":"Specifies a list of addresses for which matching should be applied. Omitting this value means allow any.\n"},"xForwardedHosts":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Hosts for which matching should be applied.\n"}},"type":"object"},"azure:appservice/LinuxFunctionAppSlotSiteConfigScmIpRestriction:LinuxFunctionAppSlotSiteConfigScmIpRestriction":{"properties":{"action":{"type":"string","description":"The action to take. Possible values are `Allow` or `Deny`. Defaults to `Allow`.\n"},"description":{"type":"string","description":"The Description of this IP Restriction.\n"},"headers":{"$ref":"#/types/azure:appservice/LinuxFunctionAppSlotSiteConfigScmIpRestrictionHeaders:LinuxFunctionAppSlotSiteConfigScmIpRestrictionHeaders","description":"a \u003cspan pulumi-lang-nodejs=\"`headers`\" pulumi-lang-dotnet=\"`Headers`\" pulumi-lang-go=\"`headers`\" pulumi-lang-python=\"`headers`\" pulumi-lang-yaml=\"`headers`\" pulumi-lang-java=\"`headers`\"\u003e`headers`\u003c/span\u003e block as detailed below.\n"},"ipAddress":{"type":"string","description":"The CIDR notation of the IP or IP Range to match. For example: `10.0.0.0/24` or `192.168.10.1/32`\n"},"name":{"type":"string","description":"The name which should be used for this \u003cspan pulumi-lang-nodejs=\"`ipRestriction`\" pulumi-lang-dotnet=\"`IpRestriction`\" pulumi-lang-go=\"`ipRestriction`\" pulumi-lang-python=\"`ip_restriction`\" pulumi-lang-yaml=\"`ipRestriction`\" pulumi-lang-java=\"`ipRestriction`\"\u003e`ip_restriction`\u003c/span\u003e.\n"},"priority":{"type":"integer","description":"The priority value of this \u003cspan pulumi-lang-nodejs=\"`ipRestriction`\" pulumi-lang-dotnet=\"`IpRestriction`\" pulumi-lang-go=\"`ipRestriction`\" pulumi-lang-python=\"`ip_restriction`\" pulumi-lang-yaml=\"`ipRestriction`\" pulumi-lang-java=\"`ipRestriction`\"\u003e`ip_restriction`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`65000`\" pulumi-lang-dotnet=\"`65000`\" pulumi-lang-go=\"`65000`\" pulumi-lang-python=\"`65000`\" pulumi-lang-yaml=\"`65000`\" pulumi-lang-java=\"`65000`\"\u003e`65000`\u003c/span\u003e.\n"},"serviceTag":{"type":"string","description":"The Service Tag used for this IP Restriction.\n"},"virtualNetworkSubnetId":{"type":"string","description":"The Virtual Network Subnet ID used for this IP Restriction.\n\n\u003e **Note:** One and only one of \u003cspan pulumi-lang-nodejs=\"`ipAddress`\" pulumi-lang-dotnet=\"`IpAddress`\" pulumi-lang-go=\"`ipAddress`\" pulumi-lang-python=\"`ip_address`\" pulumi-lang-yaml=\"`ipAddress`\" pulumi-lang-java=\"`ipAddress`\"\u003e`ip_address`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`serviceTag`\" pulumi-lang-dotnet=\"`ServiceTag`\" pulumi-lang-go=\"`serviceTag`\" pulumi-lang-python=\"`service_tag`\" pulumi-lang-yaml=\"`serviceTag`\" pulumi-lang-java=\"`serviceTag`\"\u003e`service_tag`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`virtualNetworkSubnetId`\" pulumi-lang-dotnet=\"`VirtualNetworkSubnetId`\" pulumi-lang-go=\"`virtualNetworkSubnetId`\" pulumi-lang-python=\"`virtual_network_subnet_id`\" pulumi-lang-yaml=\"`virtualNetworkSubnetId`\" pulumi-lang-java=\"`virtualNetworkSubnetId`\"\u003e`virtual_network_subnet_id`\u003c/span\u003e must be specified.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["name"]}}},"azure:appservice/LinuxFunctionAppSlotSiteConfigScmIpRestrictionHeaders:LinuxFunctionAppSlotSiteConfigScmIpRestrictionHeaders":{"properties":{"xAzureFdids":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Azure Front Door IDs.\n"},"xFdHealthProbe":{"type":"string","description":"Specifies if a Front Door Health Probe should be expected. The only possible value is \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e.\n"},"xForwardedFors":{"type":"array","items":{"type":"string"},"description":"Specifies a list of addresses for which matching should be applied. Omitting this value means allow any.\n"},"xForwardedHosts":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Hosts for which matching should be applied.\n"}},"type":"object"},"azure:appservice/LinuxFunctionAppSlotSiteCredential:LinuxFunctionAppSlotSiteCredential":{"properties":{"name":{"type":"string","description":"The Site Credentials Username used for publishing.\n","secret":true},"password":{"type":"string","description":"The Site Credentials Password used for publishing.\n","secret":true}},"type":"object","language":{"nodejs":{"requiredOutputs":["name","password"]}}},"azure:appservice/LinuxFunctionAppSlotStorageAccount:LinuxFunctionAppSlotStorageAccount":{"properties":{"accessKey":{"type":"string","description":"The Access key for the storage account.\n","secret":true},"accountName":{"type":"string","description":"The Name of the Storage Account.\n"},"mountPath":{"type":"string","description":"The path at which to mount the storage share.\n"},"name":{"type":"string","description":"The name which should be used for this Storage Account.\n"},"shareName":{"type":"string","description":"The Name of the File Share or Container Name for Blob storage.\n"},"type":{"type":"string","description":"The Azure Storage Type. Possible values include `AzureFiles` and `AzureBlob`.\n"}},"type":"object","required":["accessKey","accountName","name","shareName","type"]},"azure:appservice/LinuxFunctionAppStickySettings:LinuxFunctionAppStickySettings":{"properties":{"appSettingNames":{"type":"array","items":{"type":"string"},"description":"A list of \u003cspan pulumi-lang-nodejs=\"`appSetting`\" pulumi-lang-dotnet=\"`AppSetting`\" pulumi-lang-go=\"`appSetting`\" pulumi-lang-python=\"`app_setting`\" pulumi-lang-yaml=\"`appSetting`\" pulumi-lang-java=\"`appSetting`\"\u003e`app_setting`\u003c/span\u003e names that the Linux Function App will not swap between Slots when a swap operation is triggered.\n"},"connectionStringNames":{"type":"array","items":{"type":"string"},"description":"A list of \u003cspan pulumi-lang-nodejs=\"`connectionString`\" pulumi-lang-dotnet=\"`ConnectionString`\" pulumi-lang-go=\"`connectionString`\" pulumi-lang-python=\"`connection_string`\" pulumi-lang-yaml=\"`connectionString`\" pulumi-lang-java=\"`connectionString`\"\u003e`connection_string`\u003c/span\u003e names that the Linux Function App will not swap between Slots when a swap operation is triggered.\n"}},"type":"object"},"azure:appservice/LinuxFunctionAppStorageAccount:LinuxFunctionAppStorageAccount":{"properties":{"accessKey":{"type":"string","description":"The Access key for the storage account.\n","secret":true},"accountName":{"type":"string","description":"The Name of the Storage Account.\n"},"mountPath":{"type":"string","description":"The path at which to mount the storage share.\n"},"name":{"type":"string","description":"The name which should be used for this Storage Account.\n"},"shareName":{"type":"string","description":"The Name of the File Share or Container Name for Blob storage.\n"},"type":{"type":"string","description":"The Azure Storage Type. Possible values include `AzureFiles` and `AzureBlob`.\n"}},"type":"object","required":["accessKey","accountName","name","shareName","type"]},"azure:appservice/LinuxWebAppAuthSettings:LinuxWebAppAuthSettings":{"properties":{"activeDirectory":{"$ref":"#/types/azure:appservice/LinuxWebAppAuthSettingsActiveDirectory:LinuxWebAppAuthSettingsActiveDirectory","description":"An \u003cspan pulumi-lang-nodejs=\"`activeDirectory`\" pulumi-lang-dotnet=\"`ActiveDirectory`\" pulumi-lang-go=\"`activeDirectory`\" pulumi-lang-python=\"`active_directory`\" pulumi-lang-yaml=\"`activeDirectory`\" pulumi-lang-java=\"`activeDirectory`\"\u003e`active_directory`\u003c/span\u003e block as defined above.\n"},"additionalLoginParameters":{"type":"object","additionalProperties":{"type":"string"},"description":"Specifies a map of login Parameters to send to the OpenID Connect authorization endpoint when a user logs in.\n"},"allowedExternalRedirectUrls":{"type":"array","items":{"type":"string"},"description":"Specifies a list of External URLs that can be redirected to as part of logging in or logging out of the Linux Web App.\n"},"defaultProvider":{"type":"string","description":"The default authentication provider to use when multiple providers are configured. Possible values include: `BuiltInAuthenticationProviderAzureActiveDirectory`, `BuiltInAuthenticationProviderFacebook`, `BuiltInAuthenticationProviderGoogle`, `BuiltInAuthenticationProviderMicrosoftAccount`, `BuiltInAuthenticationProviderTwitter`, `BuiltInAuthenticationProviderGithub`\n\n\u003e **Note:** This setting is only needed if multiple providers are configured, and the \u003cspan pulumi-lang-nodejs=\"`unauthenticatedClientAction`\" pulumi-lang-dotnet=\"`UnauthenticatedClientAction`\" pulumi-lang-go=\"`unauthenticatedClientAction`\" pulumi-lang-python=\"`unauthenticated_client_action`\" pulumi-lang-yaml=\"`unauthenticatedClientAction`\" pulumi-lang-java=\"`unauthenticatedClientAction`\"\u003e`unauthenticated_client_action`\u003c/span\u003e is set to \"RedirectToLoginPage\".\n"},"enabled":{"type":"boolean","description":"Should the Authentication / Authorization feature be enabled for the Linux Web App?\n"},"facebook":{"$ref":"#/types/azure:appservice/LinuxWebAppAuthSettingsFacebook:LinuxWebAppAuthSettingsFacebook","description":"A \u003cspan pulumi-lang-nodejs=\"`facebook`\" pulumi-lang-dotnet=\"`Facebook`\" pulumi-lang-go=\"`facebook`\" pulumi-lang-python=\"`facebook`\" pulumi-lang-yaml=\"`facebook`\" pulumi-lang-java=\"`facebook`\"\u003e`facebook`\u003c/span\u003e block as defined below.\n"},"github":{"$ref":"#/types/azure:appservice/LinuxWebAppAuthSettingsGithub:LinuxWebAppAuthSettingsGithub","description":"A \u003cspan pulumi-lang-nodejs=\"`github`\" pulumi-lang-dotnet=\"`Github`\" pulumi-lang-go=\"`github`\" pulumi-lang-python=\"`github`\" pulumi-lang-yaml=\"`github`\" pulumi-lang-java=\"`github`\"\u003e`github`\u003c/span\u003e block as defined below.\n"},"google":{"$ref":"#/types/azure:appservice/LinuxWebAppAuthSettingsGoogle:LinuxWebAppAuthSettingsGoogle","description":"A \u003cspan pulumi-lang-nodejs=\"`google`\" pulumi-lang-dotnet=\"`Google`\" pulumi-lang-go=\"`google`\" pulumi-lang-python=\"`google`\" pulumi-lang-yaml=\"`google`\" pulumi-lang-java=\"`google`\"\u003e`google`\u003c/span\u003e block as defined below.\n"},"issuer":{"type":"string","description":"The OpenID Connect Issuer URI that represents the entity that issues access tokens for this Linux Web App.\n\n\u003e **Note:** When using Azure Active Directory, this value is the URI of the directory tenant, e.g. \u003chttps://sts.windows.net/{tenant-guid}/\u003e.\n"},"microsoft":{"$ref":"#/types/azure:appservice/LinuxWebAppAuthSettingsMicrosoft:LinuxWebAppAuthSettingsMicrosoft","description":"A \u003cspan pulumi-lang-nodejs=\"`microsoft`\" pulumi-lang-dotnet=\"`Microsoft`\" pulumi-lang-go=\"`microsoft`\" pulumi-lang-python=\"`microsoft`\" pulumi-lang-yaml=\"`microsoft`\" pulumi-lang-java=\"`microsoft`\"\u003e`microsoft`\u003c/span\u003e block as defined below.\n"},"runtimeVersion":{"type":"string","description":"The RuntimeVersion of the Authentication / Authorization feature in use for the Linux Web App.\n"},"tokenRefreshExtensionHours":{"type":"number","description":"The number of hours after session token expiration that a session token can be used to call the token refresh API. Defaults to \u003cspan pulumi-lang-nodejs=\"`72`\" pulumi-lang-dotnet=\"`72`\" pulumi-lang-go=\"`72`\" pulumi-lang-python=\"`72`\" pulumi-lang-yaml=\"`72`\" pulumi-lang-java=\"`72`\"\u003e`72`\u003c/span\u003e hours.\n"},"tokenStoreEnabled":{"type":"boolean","description":"Should the Linux Web App durably store platform-specific security tokens that are obtained during login flows? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"twitter":{"$ref":"#/types/azure:appservice/LinuxWebAppAuthSettingsTwitter:LinuxWebAppAuthSettingsTwitter","description":"A \u003cspan pulumi-lang-nodejs=\"`twitter`\" pulumi-lang-dotnet=\"`Twitter`\" pulumi-lang-go=\"`twitter`\" pulumi-lang-python=\"`twitter`\" pulumi-lang-yaml=\"`twitter`\" pulumi-lang-java=\"`twitter`\"\u003e`twitter`\u003c/span\u003e block as defined below.\n"},"unauthenticatedClientAction":{"type":"string","description":"The action to take when an unauthenticated client attempts to access the app. Possible values include: `RedirectToLoginPage`, `AllowAnonymous`.\n"}},"type":"object","required":["enabled"],"language":{"nodejs":{"requiredOutputs":["allowedExternalRedirectUrls","defaultProvider","enabled","runtimeVersion","unauthenticatedClientAction"]}}},"azure:appservice/LinuxWebAppAuthSettingsActiveDirectory:LinuxWebAppAuthSettingsActiveDirectory":{"properties":{"allowedAudiences":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Allowed audience values to consider when validating JWTs issued by Azure Active Directory.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`clientId`\" pulumi-lang-dotnet=\"`ClientId`\" pulumi-lang-go=\"`clientId`\" pulumi-lang-python=\"`client_id`\" pulumi-lang-yaml=\"`clientId`\" pulumi-lang-java=\"`clientId`\"\u003e`client_id`\u003c/span\u003e value is always considered an allowed audience.\n"},"clientId":{"type":"string","description":"The ID of the Client to use to authenticate with Azure Active Directory.\n"},"clientSecret":{"type":"string","description":"The Client Secret for the Client ID. Cannot be used with \u003cspan pulumi-lang-nodejs=\"`clientSecretSettingName`\" pulumi-lang-dotnet=\"`ClientSecretSettingName`\" pulumi-lang-go=\"`clientSecretSettingName`\" pulumi-lang-python=\"`client_secret_setting_name`\" pulumi-lang-yaml=\"`clientSecretSettingName`\" pulumi-lang-java=\"`clientSecretSettingName`\"\u003e`client_secret_setting_name`\u003c/span\u003e.\n","secret":true},"clientSecretSettingName":{"type":"string","description":"The App Setting name that contains the client secret of the Client. Cannot be used with \u003cspan pulumi-lang-nodejs=\"`clientSecret`\" pulumi-lang-dotnet=\"`ClientSecret`\" pulumi-lang-go=\"`clientSecret`\" pulumi-lang-python=\"`client_secret`\" pulumi-lang-yaml=\"`clientSecret`\" pulumi-lang-java=\"`clientSecret`\"\u003e`client_secret`\u003c/span\u003e.\n"}},"type":"object","required":["clientId"]},"azure:appservice/LinuxWebAppAuthSettingsFacebook:LinuxWebAppAuthSettingsFacebook":{"properties":{"appId":{"type":"string","description":"The App ID of the Facebook app used for login.\n"},"appSecret":{"type":"string","description":"The App Secret of the Facebook app used for Facebook login. Cannot be specified with \u003cspan pulumi-lang-nodejs=\"`appSecretSettingName`\" pulumi-lang-dotnet=\"`AppSecretSettingName`\" pulumi-lang-go=\"`appSecretSettingName`\" pulumi-lang-python=\"`app_secret_setting_name`\" pulumi-lang-yaml=\"`appSecretSettingName`\" pulumi-lang-java=\"`appSecretSettingName`\"\u003e`app_secret_setting_name`\u003c/span\u003e.\n","secret":true},"appSecretSettingName":{"type":"string","description":"The app setting name that contains the \u003cspan pulumi-lang-nodejs=\"`appSecret`\" pulumi-lang-dotnet=\"`AppSecret`\" pulumi-lang-go=\"`appSecret`\" pulumi-lang-python=\"`app_secret`\" pulumi-lang-yaml=\"`appSecret`\" pulumi-lang-java=\"`appSecret`\"\u003e`app_secret`\u003c/span\u003e value used for Facebook login. Cannot be specified with \u003cspan pulumi-lang-nodejs=\"`appSecret`\" pulumi-lang-dotnet=\"`AppSecret`\" pulumi-lang-go=\"`appSecret`\" pulumi-lang-python=\"`app_secret`\" pulumi-lang-yaml=\"`appSecret`\" pulumi-lang-java=\"`appSecret`\"\u003e`app_secret`\u003c/span\u003e.\n"},"oauthScopes":{"type":"array","items":{"type":"string"},"description":"Specifies a list of OAuth 2.0 scopes to be requested as part of Facebook login authentication.\n"}},"type":"object","required":["appId"]},"azure:appservice/LinuxWebAppAuthSettingsGithub:LinuxWebAppAuthSettingsGithub":{"properties":{"clientId":{"type":"string","description":"The ID of the GitHub app used for login.\n"},"clientSecret":{"type":"string","description":"The Client Secret of the GitHub app used for GitHub login. Cannot be specified with \u003cspan pulumi-lang-nodejs=\"`clientSecretSettingName`\" pulumi-lang-dotnet=\"`ClientSecretSettingName`\" pulumi-lang-go=\"`clientSecretSettingName`\" pulumi-lang-python=\"`client_secret_setting_name`\" pulumi-lang-yaml=\"`clientSecretSettingName`\" pulumi-lang-java=\"`clientSecretSettingName`\"\u003e`client_secret_setting_name`\u003c/span\u003e.\n","secret":true},"clientSecretSettingName":{"type":"string","description":"The app setting name that contains the \u003cspan pulumi-lang-nodejs=\"`clientSecret`\" pulumi-lang-dotnet=\"`ClientSecret`\" pulumi-lang-go=\"`clientSecret`\" pulumi-lang-python=\"`client_secret`\" pulumi-lang-yaml=\"`clientSecret`\" pulumi-lang-java=\"`clientSecret`\"\u003e`client_secret`\u003c/span\u003e value used for GitHub login. Cannot be specified with \u003cspan pulumi-lang-nodejs=\"`clientSecret`\" pulumi-lang-dotnet=\"`ClientSecret`\" pulumi-lang-go=\"`clientSecret`\" pulumi-lang-python=\"`client_secret`\" pulumi-lang-yaml=\"`clientSecret`\" pulumi-lang-java=\"`clientSecret`\"\u003e`client_secret`\u003c/span\u003e.\n"},"oauthScopes":{"type":"array","items":{"type":"string"},"description":"Specifies a list of OAuth 2.0 scopes that will be requested as part of GitHub login authentication.\n"}},"type":"object","required":["clientId"]},"azure:appservice/LinuxWebAppAuthSettingsGoogle:LinuxWebAppAuthSettingsGoogle":{"properties":{"clientId":{"type":"string","description":"The OpenID Connect Client ID for the Google web application.\n"},"clientSecret":{"type":"string","description":"The client secret associated with the Google web application. Cannot be specified with \u003cspan pulumi-lang-nodejs=\"`clientSecretSettingName`\" pulumi-lang-dotnet=\"`ClientSecretSettingName`\" pulumi-lang-go=\"`clientSecretSettingName`\" pulumi-lang-python=\"`client_secret_setting_name`\" pulumi-lang-yaml=\"`clientSecretSettingName`\" pulumi-lang-java=\"`clientSecretSettingName`\"\u003e`client_secret_setting_name`\u003c/span\u003e.\n","secret":true},"clientSecretSettingName":{"type":"string","description":"The app setting name that contains the \u003cspan pulumi-lang-nodejs=\"`clientSecret`\" pulumi-lang-dotnet=\"`ClientSecret`\" pulumi-lang-go=\"`clientSecret`\" pulumi-lang-python=\"`client_secret`\" pulumi-lang-yaml=\"`clientSecret`\" pulumi-lang-java=\"`clientSecret`\"\u003e`client_secret`\u003c/span\u003e value used for Google login. Cannot be specified with \u003cspan pulumi-lang-nodejs=\"`clientSecret`\" pulumi-lang-dotnet=\"`ClientSecret`\" pulumi-lang-go=\"`clientSecret`\" pulumi-lang-python=\"`client_secret`\" pulumi-lang-yaml=\"`clientSecret`\" pulumi-lang-java=\"`clientSecret`\"\u003e`client_secret`\u003c/span\u003e.\n"},"oauthScopes":{"type":"array","items":{"type":"string"},"description":"Specifies a list of OAuth 2.0 scopes that will be requested as part of Google Sign-In authentication. If not specified, \u003cspan pulumi-lang-nodejs=\"`openid`\" pulumi-lang-dotnet=\"`Openid`\" pulumi-lang-go=\"`openid`\" pulumi-lang-python=\"`openid`\" pulumi-lang-yaml=\"`openid`\" pulumi-lang-java=\"`openid`\"\u003e`openid`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`profile`\" pulumi-lang-dotnet=\"`Profile`\" pulumi-lang-go=\"`profile`\" pulumi-lang-python=\"`profile`\" pulumi-lang-yaml=\"`profile`\" pulumi-lang-java=\"`profile`\"\u003e`profile`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`email`\" pulumi-lang-dotnet=\"`Email`\" pulumi-lang-go=\"`email`\" pulumi-lang-python=\"`email`\" pulumi-lang-yaml=\"`email`\" pulumi-lang-java=\"`email`\"\u003e`email`\u003c/span\u003e are used as default scopes.\n"}},"type":"object","required":["clientId"]},"azure:appservice/LinuxWebAppAuthSettingsMicrosoft:LinuxWebAppAuthSettingsMicrosoft":{"properties":{"clientId":{"type":"string","description":"The OAuth 2.0 client ID that was created for the app used for authentication.\n"},"clientSecret":{"type":"string","description":"The OAuth 2.0 client secret that was created for the app used for authentication. Cannot be specified with \u003cspan pulumi-lang-nodejs=\"`clientSecretSettingName`\" pulumi-lang-dotnet=\"`ClientSecretSettingName`\" pulumi-lang-go=\"`clientSecretSettingName`\" pulumi-lang-python=\"`client_secret_setting_name`\" pulumi-lang-yaml=\"`clientSecretSettingName`\" pulumi-lang-java=\"`clientSecretSettingName`\"\u003e`client_secret_setting_name`\u003c/span\u003e.\n","secret":true},"clientSecretSettingName":{"type":"string","description":"The app setting name containing the OAuth 2.0 client secret that was created for the app used for authentication. Cannot be specified with \u003cspan pulumi-lang-nodejs=\"`clientSecret`\" pulumi-lang-dotnet=\"`ClientSecret`\" pulumi-lang-go=\"`clientSecret`\" pulumi-lang-python=\"`client_secret`\" pulumi-lang-yaml=\"`clientSecret`\" pulumi-lang-java=\"`clientSecret`\"\u003e`client_secret`\u003c/span\u003e.\n"},"oauthScopes":{"type":"array","items":{"type":"string"},"description":"Specifies a 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.\n"}},"type":"object","required":["clientId"]},"azure:appservice/LinuxWebAppAuthSettingsTwitter:LinuxWebAppAuthSettingsTwitter":{"properties":{"consumerKey":{"type":"string","description":"The OAuth 1.0a consumer key of the Twitter application used for sign-in.\n"},"consumerSecret":{"type":"string","description":"The OAuth 1.0a consumer secret of the Twitter application used for sign-in. Cannot be specified with \u003cspan pulumi-lang-nodejs=\"`consumerSecretSettingName`\" pulumi-lang-dotnet=\"`ConsumerSecretSettingName`\" pulumi-lang-go=\"`consumerSecretSettingName`\" pulumi-lang-python=\"`consumer_secret_setting_name`\" pulumi-lang-yaml=\"`consumerSecretSettingName`\" pulumi-lang-java=\"`consumerSecretSettingName`\"\u003e`consumer_secret_setting_name`\u003c/span\u003e.\n","secret":true},"consumerSecretSettingName":{"type":"string","description":"The app setting name that contains the OAuth 1.0a consumer secret of the Twitter application used for sign-in. Cannot be specified with \u003cspan pulumi-lang-nodejs=\"`consumerSecret`\" pulumi-lang-dotnet=\"`ConsumerSecret`\" pulumi-lang-go=\"`consumerSecret`\" pulumi-lang-python=\"`consumer_secret`\" pulumi-lang-yaml=\"`consumerSecret`\" pulumi-lang-java=\"`consumerSecret`\"\u003e`consumer_secret`\u003c/span\u003e.\n"}},"type":"object","required":["consumerKey"]},"azure:appservice/LinuxWebAppAuthSettingsV2:LinuxWebAppAuthSettingsV2":{"properties":{"activeDirectoryV2":{"$ref":"#/types/azure:appservice/LinuxWebAppAuthSettingsV2ActiveDirectoryV2:LinuxWebAppAuthSettingsV2ActiveDirectoryV2","description":"An \u003cspan pulumi-lang-nodejs=\"`activeDirectoryV2`\" pulumi-lang-dotnet=\"`ActiveDirectoryV2`\" pulumi-lang-go=\"`activeDirectoryV2`\" pulumi-lang-python=\"`active_directory_v2`\" pulumi-lang-yaml=\"`activeDirectoryV2`\" pulumi-lang-java=\"`activeDirectoryV2`\"\u003e`active_directory_v2`\u003c/span\u003e block as defined below.\n"},"appleV2":{"$ref":"#/types/azure:appservice/LinuxWebAppAuthSettingsV2AppleV2:LinuxWebAppAuthSettingsV2AppleV2","description":"An \u003cspan pulumi-lang-nodejs=\"`appleV2`\" pulumi-lang-dotnet=\"`AppleV2`\" pulumi-lang-go=\"`appleV2`\" pulumi-lang-python=\"`apple_v2`\" pulumi-lang-yaml=\"`appleV2`\" pulumi-lang-java=\"`appleV2`\"\u003e`apple_v2`\u003c/span\u003e block as defined below.\n"},"authEnabled":{"type":"boolean","description":"Should the AuthV2 Settings be enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"azureStaticWebAppV2":{"$ref":"#/types/azure:appservice/LinuxWebAppAuthSettingsV2AzureStaticWebAppV2:LinuxWebAppAuthSettingsV2AzureStaticWebAppV2","description":"An \u003cspan pulumi-lang-nodejs=\"`azureStaticWebAppV2`\" pulumi-lang-dotnet=\"`AzureStaticWebAppV2`\" pulumi-lang-go=\"`azureStaticWebAppV2`\" pulumi-lang-python=\"`azure_static_web_app_v2`\" pulumi-lang-yaml=\"`azureStaticWebAppV2`\" pulumi-lang-java=\"`azureStaticWebAppV2`\"\u003e`azure_static_web_app_v2`\u003c/span\u003e block as defined below.\n"},"configFilePath":{"type":"string","description":"The path to the App Auth settings.\n\n\u003e **Note:** Relative Paths are evaluated from the Site Root directory.\n"},"customOidcV2s":{"type":"array","items":{"$ref":"#/types/azure:appservice/LinuxWebAppAuthSettingsV2CustomOidcV2:LinuxWebAppAuthSettingsV2CustomOidcV2"},"description":"Zero or more \u003cspan pulumi-lang-nodejs=\"`customOidcV2`\" pulumi-lang-dotnet=\"`CustomOidcV2`\" pulumi-lang-go=\"`customOidcV2`\" pulumi-lang-python=\"`custom_oidc_v2`\" pulumi-lang-yaml=\"`customOidcV2`\" pulumi-lang-java=\"`customOidcV2`\"\u003e`custom_oidc_v2`\u003c/span\u003e blocks as defined below.\n"},"defaultProvider":{"type":"string","description":"The Default Authentication Provider to use when the \u003cspan pulumi-lang-nodejs=\"`unauthenticatedAction`\" pulumi-lang-dotnet=\"`UnauthenticatedAction`\" pulumi-lang-go=\"`unauthenticatedAction`\" pulumi-lang-python=\"`unauthenticated_action`\" pulumi-lang-yaml=\"`unauthenticatedAction`\" pulumi-lang-java=\"`unauthenticatedAction`\"\u003e`unauthenticated_action`\u003c/span\u003e is set to `RedirectToLoginPage`. Possible values include: \u003cspan pulumi-lang-nodejs=\"`apple`\" pulumi-lang-dotnet=\"`Apple`\" pulumi-lang-go=\"`apple`\" pulumi-lang-python=\"`apple`\" pulumi-lang-yaml=\"`apple`\" pulumi-lang-java=\"`apple`\"\u003e`apple`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`azureactivedirectory`\" pulumi-lang-dotnet=\"`Azureactivedirectory`\" pulumi-lang-go=\"`azureactivedirectory`\" pulumi-lang-python=\"`azureactivedirectory`\" pulumi-lang-yaml=\"`azureactivedirectory`\" pulumi-lang-java=\"`azureactivedirectory`\"\u003e`azureactivedirectory`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`facebook`\" pulumi-lang-dotnet=\"`Facebook`\" pulumi-lang-go=\"`facebook`\" pulumi-lang-python=\"`facebook`\" pulumi-lang-yaml=\"`facebook`\" pulumi-lang-java=\"`facebook`\"\u003e`facebook`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`github`\" pulumi-lang-dotnet=\"`Github`\" pulumi-lang-go=\"`github`\" pulumi-lang-python=\"`github`\" pulumi-lang-yaml=\"`github`\" pulumi-lang-java=\"`github`\"\u003e`github`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`google`\" pulumi-lang-dotnet=\"`Google`\" pulumi-lang-go=\"`google`\" pulumi-lang-python=\"`google`\" pulumi-lang-yaml=\"`google`\" pulumi-lang-java=\"`google`\"\u003e`google`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`twitter`\" pulumi-lang-dotnet=\"`Twitter`\" pulumi-lang-go=\"`twitter`\" pulumi-lang-python=\"`twitter`\" pulumi-lang-yaml=\"`twitter`\" pulumi-lang-java=\"`twitter`\"\u003e`twitter`\u003c/span\u003e and the \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e of your \u003cspan pulumi-lang-nodejs=\"`customOidcV2`\" pulumi-lang-dotnet=\"`CustomOidcV2`\" pulumi-lang-go=\"`customOidcV2`\" pulumi-lang-python=\"`custom_oidc_v2`\" pulumi-lang-yaml=\"`customOidcV2`\" pulumi-lang-java=\"`customOidcV2`\"\u003e`custom_oidc_v2`\u003c/span\u003e provider.\n\n\u003e **Note:** Whilst any value will be accepted by the API for \u003cspan pulumi-lang-nodejs=\"`defaultProvider`\" pulumi-lang-dotnet=\"`DefaultProvider`\" pulumi-lang-go=\"`defaultProvider`\" pulumi-lang-python=\"`default_provider`\" pulumi-lang-yaml=\"`defaultProvider`\" pulumi-lang-java=\"`defaultProvider`\"\u003e`default_provider`\u003c/span\u003e, it can leave the app in an unusable state if this value does not correspond to the name of a known provider (either built-in value, or\u003cspan pulumi-lang-nodejs=\" customOidc \" pulumi-lang-dotnet=\" CustomOidc \" pulumi-lang-go=\" customOidc \" pulumi-lang-python=\" custom_oidc \" pulumi-lang-yaml=\" customOidc \" pulumi-lang-java=\" customOidc \"\u003e custom_oidc \u003c/span\u003ename) as it is used to build the auth endpoint URI.\n"},"excludedPaths":{"type":"array","items":{"type":"string"},"description":"The paths which should be excluded from the \u003cspan pulumi-lang-nodejs=\"`unauthenticatedAction`\" pulumi-lang-dotnet=\"`UnauthenticatedAction`\" pulumi-lang-go=\"`unauthenticatedAction`\" pulumi-lang-python=\"`unauthenticated_action`\" pulumi-lang-yaml=\"`unauthenticatedAction`\" pulumi-lang-java=\"`unauthenticatedAction`\"\u003e`unauthenticated_action`\u003c/span\u003e when it is set to `RedirectToLoginPage`.\n\n\u003e **Note:** This list should be used instead of setting `WEBSITE_WARMUP_PATH` in \u003cspan pulumi-lang-nodejs=\"`appSettings`\" pulumi-lang-dotnet=\"`AppSettings`\" pulumi-lang-go=\"`appSettings`\" pulumi-lang-python=\"`app_settings`\" pulumi-lang-yaml=\"`appSettings`\" pulumi-lang-java=\"`appSettings`\"\u003e`app_settings`\u003c/span\u003e as it takes priority.\n"},"facebookV2":{"$ref":"#/types/azure:appservice/LinuxWebAppAuthSettingsV2FacebookV2:LinuxWebAppAuthSettingsV2FacebookV2","description":"A \u003cspan pulumi-lang-nodejs=\"`facebookV2`\" pulumi-lang-dotnet=\"`FacebookV2`\" pulumi-lang-go=\"`facebookV2`\" pulumi-lang-python=\"`facebook_v2`\" pulumi-lang-yaml=\"`facebookV2`\" pulumi-lang-java=\"`facebookV2`\"\u003e`facebook_v2`\u003c/span\u003e block as defined below.\n"},"forwardProxyConvention":{"type":"string","description":"The convention used to determine the url of the request made. Possible values include `NoProxy`, `Standard`, `Custom`. Defaults to `NoProxy`.\n"},"forwardProxyCustomHostHeaderName":{"type":"string","description":"The name of the custom header containing the host of the request.\n"},"forwardProxyCustomSchemeHeaderName":{"type":"string","description":"The name of the custom header containing the scheme of the request.\n"},"githubV2":{"$ref":"#/types/azure:appservice/LinuxWebAppAuthSettingsV2GithubV2:LinuxWebAppAuthSettingsV2GithubV2","description":"A \u003cspan pulumi-lang-nodejs=\"`githubV2`\" pulumi-lang-dotnet=\"`GithubV2`\" pulumi-lang-go=\"`githubV2`\" pulumi-lang-python=\"`github_v2`\" pulumi-lang-yaml=\"`githubV2`\" pulumi-lang-java=\"`githubV2`\"\u003e`github_v2`\u003c/span\u003e block as defined below.\n"},"googleV2":{"$ref":"#/types/azure:appservice/LinuxWebAppAuthSettingsV2GoogleV2:LinuxWebAppAuthSettingsV2GoogleV2","description":"A \u003cspan pulumi-lang-nodejs=\"`googleV2`\" pulumi-lang-dotnet=\"`GoogleV2`\" pulumi-lang-go=\"`googleV2`\" pulumi-lang-python=\"`google_v2`\" pulumi-lang-yaml=\"`googleV2`\" pulumi-lang-java=\"`googleV2`\"\u003e`google_v2`\u003c/span\u003e block as defined below.\n"},"httpRouteApiPrefix":{"type":"string","description":"The prefix that should precede all the authentication and authorisation paths. Defaults to `/.auth`.\n"},"login":{"$ref":"#/types/azure:appservice/LinuxWebAppAuthSettingsV2Login:LinuxWebAppAuthSettingsV2Login","description":"A \u003cspan pulumi-lang-nodejs=\"`login`\" pulumi-lang-dotnet=\"`Login`\" pulumi-lang-go=\"`login`\" pulumi-lang-python=\"`login`\" pulumi-lang-yaml=\"`login`\" pulumi-lang-java=\"`login`\"\u003e`login`\u003c/span\u003e block as defined below.\n"},"microsoftV2":{"$ref":"#/types/azure:appservice/LinuxWebAppAuthSettingsV2MicrosoftV2:LinuxWebAppAuthSettingsV2MicrosoftV2","description":"A \u003cspan pulumi-lang-nodejs=\"`microsoftV2`\" pulumi-lang-dotnet=\"`MicrosoftV2`\" pulumi-lang-go=\"`microsoftV2`\" pulumi-lang-python=\"`microsoft_v2`\" pulumi-lang-yaml=\"`microsoftV2`\" pulumi-lang-java=\"`microsoftV2`\"\u003e`microsoft_v2`\u003c/span\u003e block as defined below.\n"},"requireAuthentication":{"type":"boolean","description":"Should the authentication flow be used for all requests.\n"},"requireHttps":{"type":"boolean","description":"Should HTTPS be required on connections? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"runtimeVersion":{"type":"string","description":"The Runtime Version of the Authentication and Authorisation feature of this App. Defaults to `~1`.\n"},"twitterV2":{"$ref":"#/types/azure:appservice/LinuxWebAppAuthSettingsV2TwitterV2:LinuxWebAppAuthSettingsV2TwitterV2","description":"A \u003cspan pulumi-lang-nodejs=\"`twitterV2`\" pulumi-lang-dotnet=\"`TwitterV2`\" pulumi-lang-go=\"`twitterV2`\" pulumi-lang-python=\"`twitter_v2`\" pulumi-lang-yaml=\"`twitterV2`\" pulumi-lang-java=\"`twitterV2`\"\u003e`twitter_v2`\u003c/span\u003e block as defined below.\n"},"unauthenticatedAction":{"type":"string","description":"The action to take for requests made without authentication. Possible values include `RedirectToLoginPage`, `AllowAnonymous`, `Return401`, and `Return403`. Defaults to `RedirectToLoginPage`.\n"}},"type":"object","required":["login"]},"azure:appservice/LinuxWebAppAuthSettingsV2ActiveDirectoryV2:LinuxWebAppAuthSettingsV2ActiveDirectoryV2":{"properties":{"allowedApplications":{"type":"array","items":{"type":"string"},"description":"The list of allowed Applications for the Default Authorisation Policy.\n"},"allowedAudiences":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Allowed audience values to consider when validating JWTs issued by Azure Active Directory.\n\n\u003e **Note:** This is configured on the Authentication Provider side and is Read Only here.\n"},"allowedGroups":{"type":"array","items":{"type":"string"},"description":"The list of allowed Group Names for the Default Authorisation Policy.\n"},"allowedIdentities":{"type":"array","items":{"type":"string"},"description":"The list of allowed Identities for the Default Authorisation Policy.\n"},"clientId":{"type":"string","description":"The ID of the Client to use to authenticate with Azure Active Directory.\n"},"clientSecretCertificateThumbprint":{"type":"string","description":"The thumbprint of the certificate used for signing purposes.\n\n!\u003e **Note:** If one \u003cspan pulumi-lang-nodejs=\"`clientSecretSettingName`\" pulumi-lang-dotnet=\"`ClientSecretSettingName`\" pulumi-lang-go=\"`clientSecretSettingName`\" pulumi-lang-python=\"`client_secret_setting_name`\" pulumi-lang-yaml=\"`clientSecretSettingName`\" pulumi-lang-java=\"`clientSecretSettingName`\"\u003e`client_secret_setting_name`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`clientSecretCertificateThumbprint`\" pulumi-lang-dotnet=\"`ClientSecretCertificateThumbprint`\" pulumi-lang-go=\"`clientSecretCertificateThumbprint`\" pulumi-lang-python=\"`client_secret_certificate_thumbprint`\" pulumi-lang-yaml=\"`clientSecretCertificateThumbprint`\" pulumi-lang-java=\"`clientSecretCertificateThumbprint`\"\u003e`client_secret_certificate_thumbprint`\u003c/span\u003e is specified, terraform won't write the client secret or secret certificate thumbprint back to \u003cspan pulumi-lang-nodejs=\"`appSetting`\" pulumi-lang-dotnet=\"`AppSetting`\" pulumi-lang-go=\"`appSetting`\" pulumi-lang-python=\"`app_setting`\" pulumi-lang-yaml=\"`appSetting`\" pulumi-lang-java=\"`appSetting`\"\u003e`app_setting`\u003c/span\u003e, so make sure they are existed in \u003cspan pulumi-lang-nodejs=\"`appSettings`\" pulumi-lang-dotnet=\"`AppSettings`\" pulumi-lang-go=\"`appSettings`\" pulumi-lang-python=\"`app_settings`\" pulumi-lang-yaml=\"`appSettings`\" pulumi-lang-java=\"`appSettings`\"\u003e`app_settings`\u003c/span\u003e to function correctly.\n"},"clientSecretSettingName":{"type":"string","description":"The App Setting name that contains the client secret of the Client.\n\n!\u003e **Note:** A setting with this name must exist in \u003cspan pulumi-lang-nodejs=\"`appSettings`\" pulumi-lang-dotnet=\"`AppSettings`\" pulumi-lang-go=\"`appSettings`\" pulumi-lang-python=\"`app_settings`\" pulumi-lang-yaml=\"`appSettings`\" pulumi-lang-java=\"`appSettings`\"\u003e`app_settings`\u003c/span\u003e to function correctly.\n"},"jwtAllowedClientApplications":{"type":"array","items":{"type":"string"},"description":"A list of Allowed Client Applications in the JWT Claim.\n"},"jwtAllowedGroups":{"type":"array","items":{"type":"string"},"description":"A list of Allowed Groups in the JWT Claim.\n"},"loginParameters":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of key-value pairs to send to the Authorisation Endpoint when a user logs in.\n"},"tenantAuthEndpoint":{"type":"string","description":"The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/`\n\n\u003e **Note:** [Here](https://learn.microsoft.com/en-us/entra/identity-platform/authentication-national-cloud#microsoft-entra-authentication-endpoints) is a list of possible authentication endpoints based on the cloud environment. [Here](https://learn.microsoft.com/en-us/azure/app-service/configure-authentication-provider-aad?tabs=workforce-tenant) is more information to better understand how to configure authentication for Azure App Service or Azure Functions.\n"},"wwwAuthenticationDisabled":{"type":"boolean","description":"Should the www-authenticate provider should be omitted from the request? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"}},"type":"object","required":["clientId","tenantAuthEndpoint"]},"azure:appservice/LinuxWebAppAuthSettingsV2AppleV2:LinuxWebAppAuthSettingsV2AppleV2":{"properties":{"clientId":{"type":"string","description":"The OpenID Connect Client ID for the Apple web application.\n"},"clientSecretSettingName":{"type":"string","description":"The app setting name that contains the \u003cspan pulumi-lang-nodejs=\"`clientSecret`\" pulumi-lang-dotnet=\"`ClientSecret`\" pulumi-lang-go=\"`clientSecret`\" pulumi-lang-python=\"`client_secret`\" pulumi-lang-yaml=\"`clientSecret`\" pulumi-lang-java=\"`clientSecret`\"\u003e`client_secret`\u003c/span\u003e value used for Apple Login.\n\n!\u003e **Note:** A setting with this name must exist in \u003cspan pulumi-lang-nodejs=\"`appSettings`\" pulumi-lang-dotnet=\"`AppSettings`\" pulumi-lang-go=\"`appSettings`\" pulumi-lang-python=\"`app_settings`\" pulumi-lang-yaml=\"`appSettings`\" pulumi-lang-java=\"`appSettings`\"\u003e`app_settings`\u003c/span\u003e to function correctly.\n"},"loginScopes":{"type":"array","items":{"type":"string"},"description":"A list of Login Scopes provided by this Authentication Provider.\n\n\u003e **Note:** This is configured on the Authentication Provider side and is Read Only here.\n"}},"type":"object","required":["clientId","clientSecretSettingName"],"language":{"nodejs":{"requiredOutputs":["clientId","clientSecretSettingName","loginScopes"]}}},"azure:appservice/LinuxWebAppAuthSettingsV2AzureStaticWebAppV2:LinuxWebAppAuthSettingsV2AzureStaticWebAppV2":{"properties":{"clientId":{"type":"string","description":"The ID of the Client to use to authenticate with Azure Static Web App Authentication.\n"}},"type":"object","required":["clientId"]},"azure:appservice/LinuxWebAppAuthSettingsV2CustomOidcV2:LinuxWebAppAuthSettingsV2CustomOidcV2":{"properties":{"authorisationEndpoint":{"type":"string","description":"The endpoint to make the Authorisation Request as supplied by \u003cspan pulumi-lang-nodejs=\"`openidConfigurationEndpoint`\" pulumi-lang-dotnet=\"`OpenidConfigurationEndpoint`\" pulumi-lang-go=\"`openidConfigurationEndpoint`\" pulumi-lang-python=\"`openid_configuration_endpoint`\" pulumi-lang-yaml=\"`openidConfigurationEndpoint`\" pulumi-lang-java=\"`openidConfigurationEndpoint`\"\u003e`openid_configuration_endpoint`\u003c/span\u003e response.\n"},"certificationUri":{"type":"string","description":"The endpoint that provides the keys necessary to validate the token as supplied by \u003cspan pulumi-lang-nodejs=\"`openidConfigurationEndpoint`\" pulumi-lang-dotnet=\"`OpenidConfigurationEndpoint`\" pulumi-lang-go=\"`openidConfigurationEndpoint`\" pulumi-lang-python=\"`openid_configuration_endpoint`\" pulumi-lang-yaml=\"`openidConfigurationEndpoint`\" pulumi-lang-java=\"`openidConfigurationEndpoint`\"\u003e`openid_configuration_endpoint`\u003c/span\u003e response.\n"},"clientCredentialMethod":{"type":"string","description":"The Client Credential Method used.\n"},"clientId":{"type":"string","description":"The ID of the Client to use to authenticate with the Custom OIDC.\n"},"clientSecretSettingName":{"type":"string","description":"The App Setting name that contains the secret for this Custom OIDC Client. This is generated from \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e above and suffixed with `_PROVIDER_AUTHENTICATION_SECRET`.\n"},"issuerEndpoint":{"type":"string","description":"The endpoint that issued the Token as supplied by \u003cspan pulumi-lang-nodejs=\"`openidConfigurationEndpoint`\" pulumi-lang-dotnet=\"`OpenidConfigurationEndpoint`\" pulumi-lang-go=\"`openidConfigurationEndpoint`\" pulumi-lang-python=\"`openid_configuration_endpoint`\" pulumi-lang-yaml=\"`openidConfigurationEndpoint`\" pulumi-lang-java=\"`openidConfigurationEndpoint`\"\u003e`openid_configuration_endpoint`\u003c/span\u003e response.\n"},"name":{"type":"string","description":"The name of the Custom OIDC Authentication Provider.\n\n\u003e **Note:** An \u003cspan pulumi-lang-nodejs=\"`appSetting`\" pulumi-lang-dotnet=\"`AppSetting`\" pulumi-lang-go=\"`appSetting`\" pulumi-lang-python=\"`app_setting`\" pulumi-lang-yaml=\"`appSetting`\" pulumi-lang-java=\"`appSetting`\"\u003e`app_setting`\u003c/span\u003e matching this value in upper case with the suffix of `_PROVIDER_AUTHENTICATION_SECRET` is required. e.g. `MYOIDC_PROVIDER_AUTHENTICATION_SECRET` for a value of \u003cspan pulumi-lang-nodejs=\"`myoidc`\" pulumi-lang-dotnet=\"`Myoidc`\" pulumi-lang-go=\"`myoidc`\" pulumi-lang-python=\"`myoidc`\" pulumi-lang-yaml=\"`myoidc`\" pulumi-lang-java=\"`myoidc`\"\u003e`myoidc`\u003c/span\u003e.\n"},"nameClaimType":{"type":"string","description":"The name of the claim that contains the users name.\n"},"openidConfigurationEndpoint":{"type":"string","description":"Specifies the endpoint used for OpenID Connect Discovery. For example `https://example.com/.well-known/openid-configuration`.\n"},"scopes":{"type":"array","items":{"type":"string"},"description":"The list of the scopes that should be requested while authenticating.\n"},"tokenEndpoint":{"type":"string","description":"The endpoint used to request a Token as supplied by \u003cspan pulumi-lang-nodejs=\"`openidConfigurationEndpoint`\" pulumi-lang-dotnet=\"`OpenidConfigurationEndpoint`\" pulumi-lang-go=\"`openidConfigurationEndpoint`\" pulumi-lang-python=\"`openid_configuration_endpoint`\" pulumi-lang-yaml=\"`openidConfigurationEndpoint`\" pulumi-lang-java=\"`openidConfigurationEndpoint`\"\u003e`openid_configuration_endpoint`\u003c/span\u003e response.\n"}},"type":"object","required":["clientId","name","openidConfigurationEndpoint"],"language":{"nodejs":{"requiredOutputs":["authorisationEndpoint","certificationUri","clientCredentialMethod","clientId","clientSecretSettingName","issuerEndpoint","name","openidConfigurationEndpoint","tokenEndpoint"]}}},"azure:appservice/LinuxWebAppAuthSettingsV2FacebookV2:LinuxWebAppAuthSettingsV2FacebookV2":{"properties":{"appId":{"type":"string","description":"The App ID of the Facebook app used for login.\n"},"appSecretSettingName":{"type":"string","description":"The app setting name that contains the \u003cspan pulumi-lang-nodejs=\"`appSecret`\" pulumi-lang-dotnet=\"`AppSecret`\" pulumi-lang-go=\"`appSecret`\" pulumi-lang-python=\"`app_secret`\" pulumi-lang-yaml=\"`appSecret`\" pulumi-lang-java=\"`appSecret`\"\u003e`app_secret`\u003c/span\u003e value used for Facebook Login.\n\n!\u003e **Note:** A setting with this name must exist in \u003cspan pulumi-lang-nodejs=\"`appSettings`\" pulumi-lang-dotnet=\"`AppSettings`\" pulumi-lang-go=\"`appSettings`\" pulumi-lang-python=\"`app_settings`\" pulumi-lang-yaml=\"`appSettings`\" pulumi-lang-java=\"`appSettings`\"\u003e`app_settings`\u003c/span\u003e to function correctly.\n"},"graphApiVersion":{"type":"string","description":"The version of the Facebook API to be used while logging in.\n"},"loginScopes":{"type":"array","items":{"type":"string"},"description":"The list of scopes that should be requested as part of Facebook Login authentication.\n"}},"type":"object","required":["appId","appSecretSettingName"],"language":{"nodejs":{"requiredOutputs":["appId","appSecretSettingName","graphApiVersion"]}}},"azure:appservice/LinuxWebAppAuthSettingsV2GithubV2:LinuxWebAppAuthSettingsV2GithubV2":{"properties":{"clientId":{"type":"string","description":"The ID of the GitHub app used for login..\n"},"clientSecretSettingName":{"type":"string","description":"The app setting name that contains the \u003cspan pulumi-lang-nodejs=\"`clientSecret`\" pulumi-lang-dotnet=\"`ClientSecret`\" pulumi-lang-go=\"`clientSecret`\" pulumi-lang-python=\"`client_secret`\" pulumi-lang-yaml=\"`clientSecret`\" pulumi-lang-java=\"`clientSecret`\"\u003e`client_secret`\u003c/span\u003e value used for GitHub Login.\n\n!\u003e **Note:** A setting with this name must exist in \u003cspan pulumi-lang-nodejs=\"`appSettings`\" pulumi-lang-dotnet=\"`AppSettings`\" pulumi-lang-go=\"`appSettings`\" pulumi-lang-python=\"`app_settings`\" pulumi-lang-yaml=\"`appSettings`\" pulumi-lang-java=\"`appSettings`\"\u003e`app_settings`\u003c/span\u003e to function correctly.\n"},"loginScopes":{"type":"array","items":{"type":"string"},"description":"The list of OAuth 2.0 scopes that should be requested as part of GitHub Login authentication.\n"}},"type":"object","required":["clientId","clientSecretSettingName"]},"azure:appservice/LinuxWebAppAuthSettingsV2GoogleV2:LinuxWebAppAuthSettingsV2GoogleV2":{"properties":{"allowedAudiences":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Allowed Audiences that should be requested as part of Google Sign-In authentication.\n"},"clientId":{"type":"string","description":"The OpenID Connect Client ID for the Google web application.\n"},"clientSecretSettingName":{"type":"string","description":"The app setting name that contains the \u003cspan pulumi-lang-nodejs=\"`clientSecret`\" pulumi-lang-dotnet=\"`ClientSecret`\" pulumi-lang-go=\"`clientSecret`\" pulumi-lang-python=\"`client_secret`\" pulumi-lang-yaml=\"`clientSecret`\" pulumi-lang-java=\"`clientSecret`\"\u003e`client_secret`\u003c/span\u003e value used for Google Login.\n\n!\u003e **Note:** A setting with this name must exist in \u003cspan pulumi-lang-nodejs=\"`appSettings`\" pulumi-lang-dotnet=\"`AppSettings`\" pulumi-lang-go=\"`appSettings`\" pulumi-lang-python=\"`app_settings`\" pulumi-lang-yaml=\"`appSettings`\" pulumi-lang-java=\"`appSettings`\"\u003e`app_settings`\u003c/span\u003e to function correctly.\n"},"loginScopes":{"type":"array","items":{"type":"string"},"description":"The list of OAuth 2.0 scopes that should be requested as part of Google Sign-In authentication.\n"}},"type":"object","required":["clientId","clientSecretSettingName"]},"azure:appservice/LinuxWebAppAuthSettingsV2Login:LinuxWebAppAuthSettingsV2Login":{"properties":{"allowedExternalRedirectUrls":{"type":"array","items":{"type":"string"},"description":"External URLs that can be redirected to as part of logging in or logging out of the app. This is an advanced setting typically only needed by Windows Store application backends.\n\n\u003e **Note:** URLs within the current domain are always implicitly allowed.\n"},"cookieExpirationConvention":{"type":"string","description":"The method by which cookies expire. Possible values include: `FixedTime`, and `IdentityProviderDerived`. Defaults to `FixedTime`.\n"},"cookieExpirationTime":{"type":"string","description":"The time after the request is made when the session cookie should expire. Defaults to `08:00:00`.\n"},"logoutEndpoint":{"type":"string","description":"The endpoint to which logout requests should be made.\n"},"nonceExpirationTime":{"type":"string","description":"The time after the request is made when the nonce should expire. Defaults to `00:05:00`.\n"},"preserveUrlFragmentsForLogins":{"type":"boolean","description":"Should the fragments from the request be preserved after the login request is made. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"tokenRefreshExtensionTime":{"type":"number","description":"The number of hours after session token expiration that a session token can be used to call the token refresh API. Defaults to \u003cspan pulumi-lang-nodejs=\"`72`\" pulumi-lang-dotnet=\"`72`\" pulumi-lang-go=\"`72`\" pulumi-lang-python=\"`72`\" pulumi-lang-yaml=\"`72`\" pulumi-lang-java=\"`72`\"\u003e`72`\u003c/span\u003e hours.\n"},"tokenStoreEnabled":{"type":"boolean","description":"Should the Token Store configuration Enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e\n"},"tokenStorePath":{"type":"string","description":"The directory path in the App Filesystem in which the tokens will be stored.\n"},"tokenStoreSasSettingName":{"type":"string","description":"The name of the app setting which contains the SAS URL of the blob storage containing the tokens.\n"},"validateNonce":{"type":"boolean","description":"Should the nonce be validated while completing the login flow. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"}},"type":"object"},"azure:appservice/LinuxWebAppAuthSettingsV2MicrosoftV2:LinuxWebAppAuthSettingsV2MicrosoftV2":{"properties":{"allowedAudiences":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Allowed Audiences that will be requested as part of Microsoft Sign-In authentication.\n"},"clientId":{"type":"string","description":"The OAuth 2.0 client ID that was created for the app used for authentication.\n"},"clientSecretSettingName":{"type":"string","description":"The app setting name containing the OAuth 2.0 client secret that was created for the app used for authentication.\n\n!\u003e **Note:** A setting with this name must exist in \u003cspan pulumi-lang-nodejs=\"`appSettings`\" pulumi-lang-dotnet=\"`AppSettings`\" pulumi-lang-go=\"`appSettings`\" pulumi-lang-python=\"`app_settings`\" pulumi-lang-yaml=\"`appSettings`\" pulumi-lang-java=\"`appSettings`\"\u003e`app_settings`\u003c/span\u003e to function correctly.\n"},"loginScopes":{"type":"array","items":{"type":"string"},"description":"The list of Login scopes that should be requested as part of Microsoft Account authentication.\n"}},"type":"object","required":["clientId","clientSecretSettingName"]},"azure:appservice/LinuxWebAppAuthSettingsV2TwitterV2:LinuxWebAppAuthSettingsV2TwitterV2":{"properties":{"consumerKey":{"type":"string","description":"The OAuth 1.0a consumer key of the Twitter application used for sign-in.\n"},"consumerSecretSettingName":{"type":"string","description":"The app setting name that contains the OAuth 1.0a consumer secret of the Twitter application used for sign-in.\n\n!\u003e **Note:** A setting with this name must exist in \u003cspan pulumi-lang-nodejs=\"`appSettings`\" pulumi-lang-dotnet=\"`AppSettings`\" pulumi-lang-go=\"`appSettings`\" pulumi-lang-python=\"`app_settings`\" pulumi-lang-yaml=\"`appSettings`\" pulumi-lang-java=\"`appSettings`\"\u003e`app_settings`\u003c/span\u003e to function correctly.\n"}},"type":"object","required":["consumerKey","consumerSecretSettingName"]},"azure:appservice/LinuxWebAppBackup:LinuxWebAppBackup":{"properties":{"enabled":{"type":"boolean","description":"Should this backup job be enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"name":{"type":"string","description":"The name which should be used for this Backup.\n"},"schedule":{"$ref":"#/types/azure:appservice/LinuxWebAppBackupSchedule:LinuxWebAppBackupSchedule","description":"A \u003cspan pulumi-lang-nodejs=\"`schedule`\" pulumi-lang-dotnet=\"`Schedule`\" pulumi-lang-go=\"`schedule`\" pulumi-lang-python=\"`schedule`\" pulumi-lang-yaml=\"`schedule`\" pulumi-lang-java=\"`schedule`\"\u003e`schedule`\u003c/span\u003e block as defined below.\n"},"storageAccountUrl":{"type":"string","description":"The SAS URL to the container.\n","secret":true}},"type":"object","required":["name","schedule","storageAccountUrl"]},"azure:appservice/LinuxWebAppBackupSchedule:LinuxWebAppBackupSchedule":{"properties":{"frequencyInterval":{"type":"integer","description":"How often the backup should be executed (e.g. for weekly backup, this should be set to \u003cspan pulumi-lang-nodejs=\"`7`\" pulumi-lang-dotnet=\"`7`\" pulumi-lang-go=\"`7`\" pulumi-lang-python=\"`7`\" pulumi-lang-yaml=\"`7`\" pulumi-lang-java=\"`7`\"\u003e`7`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`frequencyUnit`\" pulumi-lang-dotnet=\"`FrequencyUnit`\" pulumi-lang-go=\"`frequencyUnit`\" pulumi-lang-python=\"`frequency_unit`\" pulumi-lang-yaml=\"`frequencyUnit`\" pulumi-lang-java=\"`frequencyUnit`\"\u003e`frequency_unit`\u003c/span\u003e should be set to `Day`).\n\n\u003e **Note:** Not all intervals are supported on all Linux Web App SKUs. Please refer to the official documentation for appropriate values.\n"},"frequencyUnit":{"type":"string","description":"The unit of time for how often the backup should take place. Possible values include: `Day`, `Hour`\n"},"keepAtLeastOneBackup":{"type":"boolean","description":"Should the service keep at least one backup, regardless of the age of backup? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"lastExecutionTime":{"type":"string","description":"The time the backup was last attempted.\n"},"retentionPeriodDays":{"type":"integer","description":"After how many days backups should be deleted. Defaults to \u003cspan pulumi-lang-nodejs=\"`30`\" pulumi-lang-dotnet=\"`30`\" pulumi-lang-go=\"`30`\" pulumi-lang-python=\"`30`\" pulumi-lang-yaml=\"`30`\" pulumi-lang-java=\"`30`\"\u003e`30`\u003c/span\u003e.\n"},"startTime":{"type":"string","description":"When the schedule should start working in RFC-3339 format.\n"}},"type":"object","required":["frequencyInterval","frequencyUnit"],"language":{"nodejs":{"requiredOutputs":["frequencyInterval","frequencyUnit","lastExecutionTime","startTime"]}}},"azure:appservice/LinuxWebAppConnectionString:LinuxWebAppConnectionString":{"properties":{"name":{"type":"string","description":"The name of the Connection String.\n"},"type":{"type":"string","description":"Type of database. Possible values include: `MySQL`, `SQLServer`, `SQLAzure`, `Custom`, `NotificationHub`, `ServiceBus`, `EventHub`, `APIHub`, `DocDb`, `RedisCache`, and `PostgreSQL`.\n"},"value":{"type":"string","description":"The connection string value.\n","secret":true}},"type":"object","required":["name","type","value"]},"azure:appservice/LinuxWebAppIdentity:LinuxWebAppIdentity":{"properties":{"identityIds":{"type":"array","items":{"type":"string"},"description":"A list of User Assigned Managed Identity IDs to be assigned to this Linux Web App.\n\n\u003e **Note:** This is required when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to `UserAssigned` or `SystemAssigned, UserAssigned`.\n"},"principalId":{"type":"string","description":"The Principal ID associated with this Managed Service Identity.\n"},"tenantId":{"type":"string","description":"The Tenant ID associated with this Managed Service Identity.\n"},"type":{"type":"string","description":"Specifies the type of Managed Service Identity that should be configured on this Linux Web App. Possible values are `SystemAssigned`, `UserAssigned`, and `SystemAssigned, UserAssigned` (to enable both).\n"}},"type":"object","required":["type"],"language":{"nodejs":{"requiredOutputs":["principalId","tenantId","type"]}}},"azure:appservice/LinuxWebAppLogs:LinuxWebAppLogs":{"properties":{"applicationLogs":{"$ref":"#/types/azure:appservice/LinuxWebAppLogsApplicationLogs:LinuxWebAppLogsApplicationLogs","description":"A \u003cspan pulumi-lang-nodejs=\"`applicationLogs`\" pulumi-lang-dotnet=\"`ApplicationLogs`\" pulumi-lang-go=\"`applicationLogs`\" pulumi-lang-python=\"`application_logs`\" pulumi-lang-yaml=\"`applicationLogs`\" pulumi-lang-java=\"`applicationLogs`\"\u003e`application_logs`\u003c/span\u003e block as defined above.\n"},"detailedErrorMessages":{"type":"boolean","description":"Should detailed error messages be enabled?\n"},"failedRequestTracing":{"type":"boolean","description":"Should the failed request tracing be enabled?\n"},"httpLogs":{"$ref":"#/types/azure:appservice/LinuxWebAppLogsHttpLogs:LinuxWebAppLogsHttpLogs","description":"An \u003cspan pulumi-lang-nodejs=\"`httpLogs`\" pulumi-lang-dotnet=\"`HttpLogs`\" pulumi-lang-go=\"`httpLogs`\" pulumi-lang-python=\"`http_logs`\" pulumi-lang-yaml=\"`httpLogs`\" pulumi-lang-java=\"`httpLogs`\"\u003e`http_logs`\u003c/span\u003e block as defined above.\n"}},"type":"object"},"azure:appservice/LinuxWebAppLogsApplicationLogs:LinuxWebAppLogsApplicationLogs":{"properties":{"azureBlobStorage":{"$ref":"#/types/azure:appservice/LinuxWebAppLogsApplicationLogsAzureBlobStorage:LinuxWebAppLogsApplicationLogsAzureBlobStorage","description":"An \u003cspan pulumi-lang-nodejs=\"`azureBlobStorage`\" pulumi-lang-dotnet=\"`AzureBlobStorage`\" pulumi-lang-go=\"`azureBlobStorage`\" pulumi-lang-python=\"`azure_blob_storage`\" pulumi-lang-yaml=\"`azureBlobStorage`\" pulumi-lang-java=\"`azureBlobStorage`\"\u003e`azure_blob_storage`\u003c/span\u003e block as defined below.\n"},"fileSystemLevel":{"type":"string","description":"Log level. Possible values include: `Off`, `Verbose`, `Information`, `Warning`, and `Error`.\n"}},"type":"object","required":["fileSystemLevel"]},"azure:appservice/LinuxWebAppLogsApplicationLogsAzureBlobStorage:LinuxWebAppLogsApplicationLogsAzureBlobStorage":{"properties":{"level":{"type":"string","description":"The level at which to log. Possible values include `Error`, `Warning`, `Information`, `Verbose` and `Off`. **NOTE:** this field is not available for \u003cspan pulumi-lang-nodejs=\"`httpLogs`\" pulumi-lang-dotnet=\"`HttpLogs`\" pulumi-lang-go=\"`httpLogs`\" pulumi-lang-python=\"`http_logs`\" pulumi-lang-yaml=\"`httpLogs`\" pulumi-lang-java=\"`httpLogs`\"\u003e`http_logs`\u003c/span\u003e\n"},"retentionInDays":{"type":"integer","description":"The time in days after which to remove blobs. A value of \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e means no retention.\n"},"sasUrl":{"type":"string","description":"SAS url to an Azure blob container with read/write/list/delete permissions.\n\n\u003e **Note:** There isn't enough information to for the provider to generate the \u003cspan pulumi-lang-nodejs=\"`sasUrl`\" pulumi-lang-dotnet=\"`SasUrl`\" pulumi-lang-go=\"`sasUrl`\" pulumi-lang-python=\"`sas_url`\" pulumi-lang-yaml=\"`sasUrl`\" pulumi-lang-java=\"`sasUrl`\"\u003e`sas_url`\u003c/span\u003e from `data.azurerm_storage_account_sas` and it should be built by hand (i.e. `https://${azurerm_storage_account.example.name}.blob.core.windows.net/${azurerm_storage_container.example.name}${data.azurerm_storage_account_sas.example.sas}\u0026sr=b`).\n"}},"type":"object","required":["level","retentionInDays","sasUrl"]},"azure:appservice/LinuxWebAppLogsHttpLogs:LinuxWebAppLogsHttpLogs":{"properties":{"azureBlobStorage":{"$ref":"#/types/azure:appservice/LinuxWebAppLogsHttpLogsAzureBlobStorage:LinuxWebAppLogsHttpLogsAzureBlobStorage","description":"A \u003cspan pulumi-lang-nodejs=\"`azureBlobStorageHttp`\" pulumi-lang-dotnet=\"`AzureBlobStorageHttp`\" pulumi-lang-go=\"`azureBlobStorageHttp`\" pulumi-lang-python=\"`azure_blob_storage_http`\" pulumi-lang-yaml=\"`azureBlobStorageHttp`\" pulumi-lang-java=\"`azureBlobStorageHttp`\"\u003e`azure_blob_storage_http`\u003c/span\u003e block as defined above.\n"},"fileSystem":{"$ref":"#/types/azure:appservice/LinuxWebAppLogsHttpLogsFileSystem:LinuxWebAppLogsHttpLogsFileSystem","description":"A \u003cspan pulumi-lang-nodejs=\"`fileSystem`\" pulumi-lang-dotnet=\"`FileSystem`\" pulumi-lang-go=\"`fileSystem`\" pulumi-lang-python=\"`file_system`\" pulumi-lang-yaml=\"`fileSystem`\" pulumi-lang-java=\"`fileSystem`\"\u003e`file_system`\u003c/span\u003e block as defined above.\n"}},"type":"object"},"azure:appservice/LinuxWebAppLogsHttpLogsAzureBlobStorage:LinuxWebAppLogsHttpLogsAzureBlobStorage":{"properties":{"retentionInDays":{"type":"integer","description":"The time in days after which to remove blobs. A value of \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e means no retention.\n"},"sasUrl":{"type":"string","description":"SAS url to an Azure blob container with read/write/list/delete permissions.\n\n\u003e **Note:** There isn't enough information to for the provider to generate the \u003cspan pulumi-lang-nodejs=\"`sasUrl`\" pulumi-lang-dotnet=\"`SasUrl`\" pulumi-lang-go=\"`sasUrl`\" pulumi-lang-python=\"`sas_url`\" pulumi-lang-yaml=\"`sasUrl`\" pulumi-lang-java=\"`sasUrl`\"\u003e`sas_url`\u003c/span\u003e from `data.azurerm_storage_account_sas` and it should be built by hand (i.e. `https://${azurerm_storage_account.example.name}.blob.core.windows.net/${azurerm_storage_container.example.name}${data.azurerm_storage_account_sas.example.sas}\u0026sr=b`).\n","secret":true}},"type":"object","required":["sasUrl"]},"azure:appservice/LinuxWebAppLogsHttpLogsFileSystem:LinuxWebAppLogsHttpLogsFileSystem":{"properties":{"retentionInDays":{"type":"integer","description":"The retention period in days. A value of \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e means no retention.\n"},"retentionInMb":{"type":"integer","description":"The maximum size in megabytes that log files can use.\n"}},"type":"object","required":["retentionInDays","retentionInMb"]},"azure:appservice/LinuxWebAppSiteConfig:LinuxWebAppSiteConfig":{"properties":{"alwaysOn":{"type":"boolean","description":"If this Linux Web App is Always On enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`alwaysOn`\" pulumi-lang-dotnet=\"`AlwaysOn`\" pulumi-lang-go=\"`alwaysOn`\" pulumi-lang-python=\"`always_on`\" pulumi-lang-yaml=\"`alwaysOn`\" pulumi-lang-java=\"`alwaysOn`\"\u003e`always_on`\u003c/span\u003e must be explicitly set to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e when using `Free`, `F1`, `D1`, or `Shared` Service Plans.\n"},"apiDefinitionUrl":{"type":"string","description":"The URL to the API Definition for this Linux Web App.\n"},"apiManagementApiId":{"type":"string","description":"The API Management API ID this Linux Web App is associated with.\n"},"appCommandLine":{"type":"string","description":"The App command line to launch.\n"},"applicationStack":{"$ref":"#/types/azure:appservice/LinuxWebAppSiteConfigApplicationStack:LinuxWebAppSiteConfigApplicationStack","description":"A \u003cspan pulumi-lang-nodejs=\"`applicationStack`\" pulumi-lang-dotnet=\"`ApplicationStack`\" pulumi-lang-go=\"`applicationStack`\" pulumi-lang-python=\"`application_stack`\" pulumi-lang-yaml=\"`applicationStack`\" pulumi-lang-java=\"`applicationStack`\"\u003e`application_stack`\u003c/span\u003e block as defined above.\n"},"autoHealSetting":{"$ref":"#/types/azure:appservice/LinuxWebAppSiteConfigAutoHealSetting:LinuxWebAppSiteConfigAutoHealSetting","description":"A \u003cspan pulumi-lang-nodejs=\"`autoHealSetting`\" pulumi-lang-dotnet=\"`AutoHealSetting`\" pulumi-lang-go=\"`autoHealSetting`\" pulumi-lang-python=\"`auto_heal_setting`\" pulumi-lang-yaml=\"`autoHealSetting`\" pulumi-lang-java=\"`autoHealSetting`\"\u003e`auto_heal_setting`\u003c/span\u003e block as defined above. Required with \u003cspan pulumi-lang-nodejs=\"`autoHeal`\" pulumi-lang-dotnet=\"`AutoHeal`\" pulumi-lang-go=\"`autoHeal`\" pulumi-lang-python=\"`auto_heal`\" pulumi-lang-yaml=\"`autoHeal`\" pulumi-lang-java=\"`autoHeal`\"\u003e`auto_heal`\u003c/span\u003e.\n"},"containerRegistryManagedIdentityClientId":{"type":"string","description":"The Client ID of the Managed Service Identity to use for connections to the Azure Container Registry.\n"},"containerRegistryUseManagedIdentity":{"type":"boolean","description":"Should connections for Azure Container Registry use Managed Identity.\n"},"cors":{"$ref":"#/types/azure:appservice/LinuxWebAppSiteConfigCors:LinuxWebAppSiteConfigCors","description":"A \u003cspan pulumi-lang-nodejs=\"`cors`\" pulumi-lang-dotnet=\"`Cors`\" pulumi-lang-go=\"`cors`\" pulumi-lang-python=\"`cors`\" pulumi-lang-yaml=\"`cors`\" pulumi-lang-java=\"`cors`\"\u003e`cors`\u003c/span\u003e block as defined above.\n"},"defaultDocuments":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Default Documents for the Linux Web App.\n"},"detailedErrorLoggingEnabled":{"type":"boolean"},"ftpsState":{"type":"string","description":"The State of FTP / FTPS service. Possible values include `AllAllowed`, `FtpsOnly`, and `Disabled`. Defaults to `Disabled`.\n\n\u003e **Note:** Azure defaults this value to `AllAllowed`, however, in the interests of security Terraform will default this to `Disabled` to ensure the user makes a conscious choice to enable it.\n"},"healthCheckEvictionTimeInMin":{"type":"integer","description":"The amount of time in minutes that a node can be unhealthy before being removed from the load balancer. Possible values are between \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`10`\" pulumi-lang-dotnet=\"`10`\" pulumi-lang-go=\"`10`\" pulumi-lang-python=\"`10`\" pulumi-lang-yaml=\"`10`\" pulumi-lang-java=\"`10`\"\u003e`10`\u003c/span\u003e. Only valid in conjunction with \u003cspan pulumi-lang-nodejs=\"`healthCheckPath`\" pulumi-lang-dotnet=\"`HealthCheckPath`\" pulumi-lang-go=\"`healthCheckPath`\" pulumi-lang-python=\"`health_check_path`\" pulumi-lang-yaml=\"`healthCheckPath`\" pulumi-lang-java=\"`healthCheckPath`\"\u003e`health_check_path`\u003c/span\u003e.\n"},"healthCheckPath":{"type":"string","description":"The path to the Health Check.\n"},"http2Enabled":{"type":"boolean","description":"Should the HTTP2 be enabled?\n"},"ipRestrictionDefaultAction":{"type":"string","description":"The Default action for traffic that does not match any \u003cspan pulumi-lang-nodejs=\"`ipRestriction`\" pulumi-lang-dotnet=\"`IpRestriction`\" pulumi-lang-go=\"`ipRestriction`\" pulumi-lang-python=\"`ip_restriction`\" pulumi-lang-yaml=\"`ipRestriction`\" pulumi-lang-java=\"`ipRestriction`\"\u003e`ip_restriction`\u003c/span\u003e rule. possible values include `Allow` and `Deny`. Defaults to `Allow`.\n"},"ipRestrictions":{"type":"array","items":{"$ref":"#/types/azure:appservice/LinuxWebAppSiteConfigIpRestriction:LinuxWebAppSiteConfigIpRestriction"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`ipRestriction`\" pulumi-lang-dotnet=\"`IpRestriction`\" pulumi-lang-go=\"`ipRestriction`\" pulumi-lang-python=\"`ip_restriction`\" pulumi-lang-yaml=\"`ipRestriction`\" pulumi-lang-java=\"`ipRestriction`\"\u003e`ip_restriction`\u003c/span\u003e blocks as defined above.\n"},"linuxFxVersion":{"type":"string"},"loadBalancingMode":{"type":"string","description":"The Site load balancing. Possible values include: `WeightedRoundRobin`, `LeastRequests`, `LeastResponseTime`, `WeightedTotalTraffic`, `RequestHash`, `PerSiteRoundRobin`. Defaults to `LeastRequests` if omitted.\n"},"localMysqlEnabled":{"type":"boolean","description":"Use Local MySQL. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"managedPipelineMode":{"type":"string","description":"Managed pipeline mode. Possible values include `Integrated`, and `Classic`. Defaults to `Integrated`.\n"},"minimumTlsVersion":{"type":"string","description":"The configures the minimum version of TLS required for SSL requests. Possible values include: `1.0`, `1.1`, `1.2` and `1.3`. Defaults to `1.2`.\n"},"remoteDebuggingEnabled":{"type":"boolean","description":"Should Remote Debugging be enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"remoteDebuggingVersion":{"type":"string","description":"The Remote Debugging Version. Currently only `VS2022` is supported.\n"},"scmIpRestrictionDefaultAction":{"type":"string","description":"The Default action for traffic that does not match any \u003cspan pulumi-lang-nodejs=\"`scmIpRestriction`\" pulumi-lang-dotnet=\"`ScmIpRestriction`\" pulumi-lang-go=\"`scmIpRestriction`\" pulumi-lang-python=\"`scm_ip_restriction`\" pulumi-lang-yaml=\"`scmIpRestriction`\" pulumi-lang-java=\"`scmIpRestriction`\"\u003e`scm_ip_restriction`\u003c/span\u003e rule. possible values include `Allow` and `Deny`. Defaults to `Allow`.\n"},"scmIpRestrictions":{"type":"array","items":{"$ref":"#/types/azure:appservice/LinuxWebAppSiteConfigScmIpRestriction:LinuxWebAppSiteConfigScmIpRestriction"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`scmIpRestriction`\" pulumi-lang-dotnet=\"`ScmIpRestriction`\" pulumi-lang-go=\"`scmIpRestriction`\" pulumi-lang-python=\"`scm_ip_restriction`\" pulumi-lang-yaml=\"`scmIpRestriction`\" pulumi-lang-java=\"`scmIpRestriction`\"\u003e`scm_ip_restriction`\u003c/span\u003e blocks as defined above.\n"},"scmMinimumTlsVersion":{"type":"string","description":"The configures the minimum version of TLS required for SSL requests to the SCM site Possible values are `1.0`, `1.1`, `1.2` and `1.3`. Defaults to `1.2`.\n"},"scmType":{"type":"string"},"scmUseMainIpRestriction":{"type":"boolean","description":"Should the Linux Web App \u003cspan pulumi-lang-nodejs=\"`ipRestriction`\" pulumi-lang-dotnet=\"`IpRestriction`\" pulumi-lang-go=\"`ipRestriction`\" pulumi-lang-python=\"`ip_restriction`\" pulumi-lang-yaml=\"`ipRestriction`\" pulumi-lang-java=\"`ipRestriction`\"\u003e`ip_restriction`\u003c/span\u003e configuration be used for the SCM also.\n"},"use32BitWorker":{"type":"boolean","description":"Should the Linux Web App use a 32-bit worker? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"vnetRouteAllEnabled":{"type":"boolean","description":"Should all outbound traffic have NAT Gateways, Network Security Groups and User Defined Routes applied? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"websocketsEnabled":{"type":"boolean","description":"Should Web Sockets be enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"workerCount":{"type":"integer","description":"The number of Workers for this Linux App Service.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["applicationStack","defaultDocuments","detailedErrorLoggingEnabled","linuxFxVersion","remoteDebuggingVersion","scmType","workerCount"]}}},"azure:appservice/LinuxWebAppSiteConfigApplicationStack:LinuxWebAppSiteConfigApplicationStack":{"properties":{"dockerImageName":{"type":"string","description":"The docker image, including tag, to be used. e.g. `appsvc/staticsite:latest`.\n"},"dockerRegistryPassword":{"type":"string","description":"The User Name to use for authentication against the registry to pull the image.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`dockerRegistryUrl`\" pulumi-lang-dotnet=\"`DockerRegistryUrl`\" pulumi-lang-go=\"`dockerRegistryUrl`\" pulumi-lang-python=\"`docker_registry_url`\" pulumi-lang-yaml=\"`dockerRegistryUrl`\" pulumi-lang-java=\"`dockerRegistryUrl`\"\u003e`docker_registry_url`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`dockerRegistryUsername`\" pulumi-lang-dotnet=\"`DockerRegistryUsername`\" pulumi-lang-go=\"`dockerRegistryUsername`\" pulumi-lang-python=\"`docker_registry_username`\" pulumi-lang-yaml=\"`dockerRegistryUsername`\" pulumi-lang-java=\"`dockerRegistryUsername`\"\u003e`docker_registry_username`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`dockerRegistryPassword`\" pulumi-lang-dotnet=\"`DockerRegistryPassword`\" pulumi-lang-go=\"`dockerRegistryPassword`\" pulumi-lang-python=\"`docker_registry_password`\" pulumi-lang-yaml=\"`dockerRegistryPassword`\" pulumi-lang-java=\"`dockerRegistryPassword`\"\u003e`docker_registry_password`\u003c/span\u003e replace the use of the \u003cspan pulumi-lang-nodejs=\"`appSettings`\" pulumi-lang-dotnet=\"`AppSettings`\" pulumi-lang-go=\"`appSettings`\" pulumi-lang-python=\"`app_settings`\" pulumi-lang-yaml=\"`appSettings`\" pulumi-lang-java=\"`appSettings`\"\u003e`app_settings`\u003c/span\u003e values of `DOCKER_REGISTRY_SERVER_URL`, `DOCKER_REGISTRY_SERVER_USERNAME` and `DOCKER_REGISTRY_SERVER_PASSWORD` respectively, these values will be managed by the provider and should not be specified in the \u003cspan pulumi-lang-nodejs=\"`appSettings`\" pulumi-lang-dotnet=\"`AppSettings`\" pulumi-lang-go=\"`appSettings`\" pulumi-lang-python=\"`app_settings`\" pulumi-lang-yaml=\"`appSettings`\" pulumi-lang-java=\"`appSettings`\"\u003e`app_settings`\u003c/span\u003e map.\n","secret":true},"dockerRegistryUrl":{"type":"string","description":"The URL of the container registry where the \u003cspan pulumi-lang-nodejs=\"`dockerImageName`\" pulumi-lang-dotnet=\"`DockerImageName`\" pulumi-lang-go=\"`dockerImageName`\" pulumi-lang-python=\"`docker_image_name`\" pulumi-lang-yaml=\"`dockerImageName`\" pulumi-lang-java=\"`dockerImageName`\"\u003e`docker_image_name`\u003c/span\u003e is located. e.g. `https://index.docker.io` or `https://mcr.microsoft.com`. This value is required with \u003cspan pulumi-lang-nodejs=\"`dockerImageName`\" pulumi-lang-dotnet=\"`DockerImageName`\" pulumi-lang-go=\"`dockerImageName`\" pulumi-lang-python=\"`docker_image_name`\" pulumi-lang-yaml=\"`dockerImageName`\" pulumi-lang-java=\"`dockerImageName`\"\u003e`docker_image_name`\u003c/span\u003e.\n"},"dockerRegistryUsername":{"type":"string","description":"The User Name to use for authentication against the registry to pull the image.\n"},"dotnetVersion":{"type":"string","description":"The version of .NET to use. Possible values include `3.1`, `5.0`, `6.0`, `7.0`, `8.0`, `9.0`and `10.0`.\n"},"goVersion":{"type":"string","description":"The version of Go to use. Possible values include `1.18`, and `1.19`.\n"},"javaServer":{"type":"string","description":"The Java server type. Possible values include `JAVA`, `TOMCAT`, and `JBOSSEAP`.\n\n\u003e **Note:** `JBOSSEAP` requires a Premium Service Plan SKU to be a valid option.\n"},"javaServerVersion":{"type":"string","description":"The Version of the \u003cspan pulumi-lang-nodejs=\"`javaServer`\" pulumi-lang-dotnet=\"`JavaServer`\" pulumi-lang-go=\"`javaServer`\" pulumi-lang-python=\"`java_server`\" pulumi-lang-yaml=\"`javaServer`\" pulumi-lang-java=\"`javaServer`\"\u003e`java_server`\u003c/span\u003e to use.\n"},"javaVersion":{"type":"string","description":"The Version of Java to use. Possible values include \u003cspan pulumi-lang-nodejs=\"`8`\" pulumi-lang-dotnet=\"`8`\" pulumi-lang-go=\"`8`\" pulumi-lang-python=\"`8`\" pulumi-lang-yaml=\"`8`\" pulumi-lang-java=\"`8`\"\u003e`8`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`11`\" pulumi-lang-dotnet=\"`11`\" pulumi-lang-go=\"`11`\" pulumi-lang-python=\"`11`\" pulumi-lang-yaml=\"`11`\" pulumi-lang-java=\"`11`\"\u003e`11`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`17`\" pulumi-lang-dotnet=\"`17`\" pulumi-lang-go=\"`17`\" pulumi-lang-python=\"`17`\" pulumi-lang-yaml=\"`17`\" pulumi-lang-java=\"`17`\"\u003e`17`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`21`\" pulumi-lang-dotnet=\"`21`\" pulumi-lang-go=\"`21`\" pulumi-lang-python=\"`21`\" pulumi-lang-yaml=\"`21`\" pulumi-lang-java=\"`21`\"\u003e`21`\u003c/span\u003e.\n\n\u003e **Note:** The valid version combinations for \u003cspan pulumi-lang-nodejs=\"`javaVersion`\" pulumi-lang-dotnet=\"`JavaVersion`\" pulumi-lang-go=\"`javaVersion`\" pulumi-lang-python=\"`java_version`\" pulumi-lang-yaml=\"`javaVersion`\" pulumi-lang-java=\"`javaVersion`\"\u003e`java_version`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`javaServer`\" pulumi-lang-dotnet=\"`JavaServer`\" pulumi-lang-go=\"`javaServer`\" pulumi-lang-python=\"`java_server`\" pulumi-lang-yaml=\"`javaServer`\" pulumi-lang-java=\"`javaServer`\"\u003e`java_server`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`javaServerVersion`\" pulumi-lang-dotnet=\"`JavaServerVersion`\" pulumi-lang-go=\"`javaServerVersion`\" pulumi-lang-python=\"`java_server_version`\" pulumi-lang-yaml=\"`javaServerVersion`\" pulumi-lang-java=\"`javaServerVersion`\"\u003e`java_server_version`\u003c/span\u003e can be checked from the command line via `az webapp list-runtimes --os-type linux`.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`javaServer`\" pulumi-lang-dotnet=\"`JavaServer`\" pulumi-lang-go=\"`javaServer`\" pulumi-lang-python=\"`java_server`\" pulumi-lang-yaml=\"`javaServer`\" pulumi-lang-java=\"`javaServer`\"\u003e`java_server`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`javaServerVersion`\" pulumi-lang-dotnet=\"`JavaServerVersion`\" pulumi-lang-go=\"`javaServerVersion`\" pulumi-lang-python=\"`java_server_version`\" pulumi-lang-yaml=\"`javaServerVersion`\" pulumi-lang-java=\"`javaServerVersion`\"\u003e`java_server_version`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`javaVersion`\" pulumi-lang-dotnet=\"`JavaVersion`\" pulumi-lang-go=\"`javaVersion`\" pulumi-lang-python=\"`java_version`\" pulumi-lang-yaml=\"`javaVersion`\" pulumi-lang-java=\"`javaVersion`\"\u003e`java_version`\u003c/span\u003e must all be specified if building a java app\n"},"nodeVersion":{"type":"string","description":"The version of Node to run. Possible values include `12-lts`, `14-lts`, `16-lts`, `18-lts`, `20-lts`, `22-lts` and `24-lts`. This property conflicts with \u003cspan pulumi-lang-nodejs=\"`javaVersion`\" pulumi-lang-dotnet=\"`JavaVersion`\" pulumi-lang-go=\"`javaVersion`\" pulumi-lang-python=\"`java_version`\" pulumi-lang-yaml=\"`javaVersion`\" pulumi-lang-java=\"`javaVersion`\"\u003e`java_version`\u003c/span\u003e.\n\n\u003e **Note:** 10.x versions have been/are being deprecated so may cease to work for new resources in the future and may be removed from the provider.\n"},"phpVersion":{"type":"string","description":"The version of PHP to run. Possible values are `7.4`, `8.0`, `8.1`, `8.2`, `8.3` and `8.4`.\n\n\u003e **Note:** version `7.4` is deprecated and will be removed from the provider in a future version.\n"},"pythonVersion":{"type":"string","description":"The version of Python to run. Possible values include `3.13`, `3.12`, `3.11`, `3.10`, `3.9`, `3.8` and `3.7`.\n"},"rubyVersion":{"type":"string","description":"The version of Ruby to run. Possible values include `2.6` and `2.7`.\n"}},"type":"object"},"azure:appservice/LinuxWebAppSiteConfigAutoHealSetting:LinuxWebAppSiteConfigAutoHealSetting":{"properties":{"action":{"$ref":"#/types/azure:appservice/LinuxWebAppSiteConfigAutoHealSettingAction:LinuxWebAppSiteConfigAutoHealSettingAction","description":"A \u003cspan pulumi-lang-nodejs=\"`action`\" pulumi-lang-dotnet=\"`Action`\" pulumi-lang-go=\"`action`\" pulumi-lang-python=\"`action`\" pulumi-lang-yaml=\"`action`\" pulumi-lang-java=\"`action`\"\u003e`action`\u003c/span\u003e block as defined above.\n"},"trigger":{"$ref":"#/types/azure:appservice/LinuxWebAppSiteConfigAutoHealSettingTrigger:LinuxWebAppSiteConfigAutoHealSettingTrigger","description":"A \u003cspan pulumi-lang-nodejs=\"`trigger`\" pulumi-lang-dotnet=\"`Trigger`\" pulumi-lang-go=\"`trigger`\" pulumi-lang-python=\"`trigger`\" pulumi-lang-yaml=\"`trigger`\" pulumi-lang-java=\"`trigger`\"\u003e`trigger`\u003c/span\u003e block as defined below.\n"}},"type":"object"},"azure:appservice/LinuxWebAppSiteConfigAutoHealSettingAction:LinuxWebAppSiteConfigAutoHealSettingAction":{"properties":{"actionType":{"type":"string","description":"Predefined action to be taken to an Auto Heal trigger. Possible values include: `Recycle`.\n"},"minimumProcessExecutionTime":{"type":"string","description":"The minimum amount of time in `hh:mm:ss` the Linux Web App must have been running before the defined action will be run in the event of a trigger.\n"}},"type":"object","required":["actionType"],"language":{"nodejs":{"requiredOutputs":["actionType","minimumProcessExecutionTime"]}}},"azure:appservice/LinuxWebAppSiteConfigAutoHealSettingTrigger:LinuxWebAppSiteConfigAutoHealSettingTrigger":{"properties":{"requests":{"$ref":"#/types/azure:appservice/LinuxWebAppSiteConfigAutoHealSettingTriggerRequests:LinuxWebAppSiteConfigAutoHealSettingTriggerRequests","description":"A \u003cspan pulumi-lang-nodejs=\"`requests`\" pulumi-lang-dotnet=\"`Requests`\" pulumi-lang-go=\"`requests`\" pulumi-lang-python=\"`requests`\" pulumi-lang-yaml=\"`requests`\" pulumi-lang-java=\"`requests`\"\u003e`requests`\u003c/span\u003e block as defined above.\n"},"slowRequest":{"$ref":"#/types/azure:appservice/LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequest:LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequest","description":"A \u003cspan pulumi-lang-nodejs=\"`slowRequest`\" pulumi-lang-dotnet=\"`SlowRequest`\" pulumi-lang-go=\"`slowRequest`\" pulumi-lang-python=\"`slow_request`\" pulumi-lang-yaml=\"`slowRequest`\" pulumi-lang-java=\"`slowRequest`\"\u003e`slow_request`\u003c/span\u003e blocks as defined above.\n"},"slowRequestWithPaths":{"type":"array","items":{"$ref":"#/types/azure:appservice/LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPath:LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPath"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`slowRequestWithPath`\" pulumi-lang-dotnet=\"`SlowRequestWithPath`\" pulumi-lang-go=\"`slowRequestWithPath`\" pulumi-lang-python=\"`slow_request_with_path`\" pulumi-lang-yaml=\"`slowRequestWithPath`\" pulumi-lang-java=\"`slowRequestWithPath`\"\u003e`slow_request_with_path`\u003c/span\u003e blocks as defined above.\n"},"statusCodes":{"type":"array","items":{"$ref":"#/types/azure:appservice/LinuxWebAppSiteConfigAutoHealSettingTriggerStatusCode:LinuxWebAppSiteConfigAutoHealSettingTriggerStatusCode"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`statusCode`\" pulumi-lang-dotnet=\"`StatusCode`\" pulumi-lang-go=\"`statusCode`\" pulumi-lang-python=\"`status_code`\" pulumi-lang-yaml=\"`statusCode`\" pulumi-lang-java=\"`statusCode`\"\u003e`status_code`\u003c/span\u003e blocks as defined above.\n"}},"type":"object"},"azure:appservice/LinuxWebAppSiteConfigAutoHealSettingTriggerRequests:LinuxWebAppSiteConfigAutoHealSettingTriggerRequests":{"properties":{"count":{"type":"integer","description":"The number of requests in the specified \u003cspan pulumi-lang-nodejs=\"`interval`\" pulumi-lang-dotnet=\"`Interval`\" pulumi-lang-go=\"`interval`\" pulumi-lang-python=\"`interval`\" pulumi-lang-yaml=\"`interval`\" pulumi-lang-java=\"`interval`\"\u003e`interval`\u003c/span\u003e to trigger this rule.\n"},"interval":{"type":"string","description":"The interval in `hh:mm:ss`.\n"}},"type":"object","required":["count","interval"]},"azure:appservice/LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequest:LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequest":{"properties":{"count":{"type":"integer","description":"The number of Slow Requests in the time \u003cspan pulumi-lang-nodejs=\"`interval`\" pulumi-lang-dotnet=\"`Interval`\" pulumi-lang-go=\"`interval`\" pulumi-lang-python=\"`interval`\" pulumi-lang-yaml=\"`interval`\" pulumi-lang-java=\"`interval`\"\u003e`interval`\u003c/span\u003e to trigger this rule.\n"},"interval":{"type":"string","description":"The time interval in the form `hh:mm:ss`.\n"},"timeTaken":{"type":"string","description":"The threshold of time passed to qualify as a Slow Request in `hh:mm:ss`.\n"}},"type":"object","required":["count","interval","timeTaken"]},"azure:appservice/LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPath:LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPath":{"properties":{"count":{"type":"integer","description":"The number of Slow Requests in the time \u003cspan pulumi-lang-nodejs=\"`interval`\" pulumi-lang-dotnet=\"`Interval`\" pulumi-lang-go=\"`interval`\" pulumi-lang-python=\"`interval`\" pulumi-lang-yaml=\"`interval`\" pulumi-lang-java=\"`interval`\"\u003e`interval`\u003c/span\u003e to trigger this rule.\n"},"interval":{"type":"string","description":"The time interval in the form `hh:mm:ss`.\n"},"path":{"type":"string","description":"The path for which this slow request rule applies.\n"},"timeTaken":{"type":"string","description":"The threshold of time passed to qualify as a Slow Request in `hh:mm:ss`.\n"}},"type":"object","required":["count","interval","timeTaken"]},"azure:appservice/LinuxWebAppSiteConfigAutoHealSettingTriggerStatusCode:LinuxWebAppSiteConfigAutoHealSettingTriggerStatusCode":{"properties":{"count":{"type":"integer","description":"The number of occurrences of the defined \u003cspan pulumi-lang-nodejs=\"`statusCode`\" pulumi-lang-dotnet=\"`StatusCode`\" pulumi-lang-go=\"`statusCode`\" pulumi-lang-python=\"`status_code`\" pulumi-lang-yaml=\"`statusCode`\" pulumi-lang-java=\"`statusCode`\"\u003e`status_code`\u003c/span\u003e in the specified \u003cspan pulumi-lang-nodejs=\"`interval`\" pulumi-lang-dotnet=\"`Interval`\" pulumi-lang-go=\"`interval`\" pulumi-lang-python=\"`interval`\" pulumi-lang-yaml=\"`interval`\" pulumi-lang-java=\"`interval`\"\u003e`interval`\u003c/span\u003e on which to trigger this rule.\n"},"interval":{"type":"string","description":"The time interval in the form `hh:mm:ss`.\n"},"path":{"type":"string","description":"The path to which this rule status code applies.\n"},"statusCodeRange":{"type":"string","description":"The status code for this rule, accepts single status codes and status code ranges. e.g. \u003cspan pulumi-lang-nodejs=\"`500`\" pulumi-lang-dotnet=\"`500`\" pulumi-lang-go=\"`500`\" pulumi-lang-python=\"`500`\" pulumi-lang-yaml=\"`500`\" pulumi-lang-java=\"`500`\"\u003e`500`\u003c/span\u003e or `400-499`. Possible values are integers between \u003cspan pulumi-lang-nodejs=\"`101`\" pulumi-lang-dotnet=\"`101`\" pulumi-lang-go=\"`101`\" pulumi-lang-python=\"`101`\" pulumi-lang-yaml=\"`101`\" pulumi-lang-java=\"`101`\"\u003e`101`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`599`\" pulumi-lang-dotnet=\"`599`\" pulumi-lang-go=\"`599`\" pulumi-lang-python=\"`599`\" pulumi-lang-yaml=\"`599`\" pulumi-lang-java=\"`599`\"\u003e`599`\u003c/span\u003e\n"},"subStatus":{"type":"integer","description":"The Request Sub Status of the Status Code.\n"},"win32StatusCode":{"type":"integer","description":"The Win32 Status Code of the Request.\n"}},"type":"object","required":["count","interval","statusCodeRange"]},"azure:appservice/LinuxWebAppSiteConfigCors:LinuxWebAppSiteConfigCors":{"properties":{"allowedOrigins":{"type":"array","items":{"type":"string"},"description":"Specifies a list of origins that should be allowed to make cross-origin calls.\n"},"supportCredentials":{"type":"boolean","description":"Whether CORS requests with credentials are allowed. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e\n"}},"type":"object"},"azure:appservice/LinuxWebAppSiteConfigIpRestriction:LinuxWebAppSiteConfigIpRestriction":{"properties":{"action":{"type":"string","description":"The action to take. Possible values are `Allow` or `Deny`. Defaults to `Allow`.\n"},"description":{"type":"string","description":"The Description of this IP Restriction.\n"},"headers":{"$ref":"#/types/azure:appservice/LinuxWebAppSiteConfigIpRestrictionHeaders:LinuxWebAppSiteConfigIpRestrictionHeaders","description":"A \u003cspan pulumi-lang-nodejs=\"`headers`\" pulumi-lang-dotnet=\"`Headers`\" pulumi-lang-go=\"`headers`\" pulumi-lang-python=\"`headers`\" pulumi-lang-yaml=\"`headers`\" pulumi-lang-java=\"`headers`\"\u003e`headers`\u003c/span\u003e block as defined above.\n"},"ipAddress":{"type":"string","description":"The CIDR notation of the IP or IP Range to match. For example: `10.0.0.0/24` or `192.168.10.1/32`\n"},"name":{"type":"string","description":"The name which should be used for this \u003cspan pulumi-lang-nodejs=\"`ipRestriction`\" pulumi-lang-dotnet=\"`IpRestriction`\" pulumi-lang-go=\"`ipRestriction`\" pulumi-lang-python=\"`ip_restriction`\" pulumi-lang-yaml=\"`ipRestriction`\" pulumi-lang-java=\"`ipRestriction`\"\u003e`ip_restriction`\u003c/span\u003e.\n"},"priority":{"type":"integer","description":"The priority value of this \u003cspan pulumi-lang-nodejs=\"`ipRestriction`\" pulumi-lang-dotnet=\"`IpRestriction`\" pulumi-lang-go=\"`ipRestriction`\" pulumi-lang-python=\"`ip_restriction`\" pulumi-lang-yaml=\"`ipRestriction`\" pulumi-lang-java=\"`ipRestriction`\"\u003e`ip_restriction`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`65000`\" pulumi-lang-dotnet=\"`65000`\" pulumi-lang-go=\"`65000`\" pulumi-lang-python=\"`65000`\" pulumi-lang-yaml=\"`65000`\" pulumi-lang-java=\"`65000`\"\u003e`65000`\u003c/span\u003e.\n"},"serviceTag":{"type":"string","description":"The Service Tag used for this IP Restriction.\n"},"virtualNetworkSubnetId":{"type":"string","description":"The Virtual Network Subnet ID used for this IP Restriction.\n\n\u003e **Note:** One and only one of \u003cspan pulumi-lang-nodejs=\"`ipAddress`\" pulumi-lang-dotnet=\"`IpAddress`\" pulumi-lang-go=\"`ipAddress`\" pulumi-lang-python=\"`ip_address`\" pulumi-lang-yaml=\"`ipAddress`\" pulumi-lang-java=\"`ipAddress`\"\u003e`ip_address`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`serviceTag`\" pulumi-lang-dotnet=\"`ServiceTag`\" pulumi-lang-go=\"`serviceTag`\" pulumi-lang-python=\"`service_tag`\" pulumi-lang-yaml=\"`serviceTag`\" pulumi-lang-java=\"`serviceTag`\"\u003e`service_tag`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`virtualNetworkSubnetId`\" pulumi-lang-dotnet=\"`VirtualNetworkSubnetId`\" pulumi-lang-go=\"`virtualNetworkSubnetId`\" pulumi-lang-python=\"`virtual_network_subnet_id`\" pulumi-lang-yaml=\"`virtualNetworkSubnetId`\" pulumi-lang-java=\"`virtualNetworkSubnetId`\"\u003e`virtual_network_subnet_id`\u003c/span\u003e must be specified.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["name"]}}},"azure:appservice/LinuxWebAppSiteConfigIpRestrictionHeaders:LinuxWebAppSiteConfigIpRestrictionHeaders":{"properties":{"xAzureFdids":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Azure Front Door IDs.\n"},"xFdHealthProbe":{"type":"string","description":"Specifies if a Front Door Health Probe should be expected. The only possible value is \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e.\n"},"xForwardedFors":{"type":"array","items":{"type":"string"},"description":"Specifies a list of addresses for which matching should be applied. Omitting this value means allow any.\n"},"xForwardedHosts":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Hosts for which matching should be applied.\n"}},"type":"object"},"azure:appservice/LinuxWebAppSiteConfigScmIpRestriction:LinuxWebAppSiteConfigScmIpRestriction":{"properties":{"action":{"type":"string","description":"The action to take. Possible values are `Allow` or `Deny`. Defaults to `Allow`.\n"},"description":{"type":"string","description":"The Description of this IP Restriction.\n"},"headers":{"$ref":"#/types/azure:appservice/LinuxWebAppSiteConfigScmIpRestrictionHeaders:LinuxWebAppSiteConfigScmIpRestrictionHeaders","description":"A \u003cspan pulumi-lang-nodejs=\"`headers`\" pulumi-lang-dotnet=\"`Headers`\" pulumi-lang-go=\"`headers`\" pulumi-lang-python=\"`headers`\" pulumi-lang-yaml=\"`headers`\" pulumi-lang-java=\"`headers`\"\u003e`headers`\u003c/span\u003e block as defined above.\n"},"ipAddress":{"type":"string","description":"The CIDR notation of the IP or IP Range to match. For example: `10.0.0.0/24` or `192.168.10.1/32`\n"},"name":{"type":"string","description":"The name which should be used for this \u003cspan pulumi-lang-nodejs=\"`ipRestriction`\" pulumi-lang-dotnet=\"`IpRestriction`\" pulumi-lang-go=\"`ipRestriction`\" pulumi-lang-python=\"`ip_restriction`\" pulumi-lang-yaml=\"`ipRestriction`\" pulumi-lang-java=\"`ipRestriction`\"\u003e`ip_restriction`\u003c/span\u003e.\n"},"priority":{"type":"integer","description":"The priority value of this \u003cspan pulumi-lang-nodejs=\"`ipRestriction`\" pulumi-lang-dotnet=\"`IpRestriction`\" pulumi-lang-go=\"`ipRestriction`\" pulumi-lang-python=\"`ip_restriction`\" pulumi-lang-yaml=\"`ipRestriction`\" pulumi-lang-java=\"`ipRestriction`\"\u003e`ip_restriction`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`65000`\" pulumi-lang-dotnet=\"`65000`\" pulumi-lang-go=\"`65000`\" pulumi-lang-python=\"`65000`\" pulumi-lang-yaml=\"`65000`\" pulumi-lang-java=\"`65000`\"\u003e`65000`\u003c/span\u003e.\n"},"serviceTag":{"type":"string","description":"The Service Tag used for this IP Restriction.\n"},"virtualNetworkSubnetId":{"type":"string","description":"The Virtual Network Subnet ID used for this IP Restriction.\n\n\u003e **Note:** One and only one of \u003cspan pulumi-lang-nodejs=\"`ipAddress`\" pulumi-lang-dotnet=\"`IpAddress`\" pulumi-lang-go=\"`ipAddress`\" pulumi-lang-python=\"`ip_address`\" pulumi-lang-yaml=\"`ipAddress`\" pulumi-lang-java=\"`ipAddress`\"\u003e`ip_address`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`serviceTag`\" pulumi-lang-dotnet=\"`ServiceTag`\" pulumi-lang-go=\"`serviceTag`\" pulumi-lang-python=\"`service_tag`\" pulumi-lang-yaml=\"`serviceTag`\" pulumi-lang-java=\"`serviceTag`\"\u003e`service_tag`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`virtualNetworkSubnetId`\" pulumi-lang-dotnet=\"`VirtualNetworkSubnetId`\" pulumi-lang-go=\"`virtualNetworkSubnetId`\" pulumi-lang-python=\"`virtual_network_subnet_id`\" pulumi-lang-yaml=\"`virtualNetworkSubnetId`\" pulumi-lang-java=\"`virtualNetworkSubnetId`\"\u003e`virtual_network_subnet_id`\u003c/span\u003e must be specified.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["name"]}}},"azure:appservice/LinuxWebAppSiteConfigScmIpRestrictionHeaders:LinuxWebAppSiteConfigScmIpRestrictionHeaders":{"properties":{"xAzureFdids":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Azure Front Door IDs.\n"},"xFdHealthProbe":{"type":"string","description":"Specifies if a Front Door Health Probe should be expected. The only possible value is \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e.\n"},"xForwardedFors":{"type":"array","items":{"type":"string"},"description":"Specifies a list of addresses for which matching should be applied. Omitting this value means allow any.\n"},"xForwardedHosts":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Hosts for which matching should be applied.\n"}},"type":"object"},"azure:appservice/LinuxWebAppSiteCredential:LinuxWebAppSiteCredential":{"properties":{"name":{"type":"string","description":"The name which should be used for this Linux Web App. Changing this forces a new Linux Web App to be created.\n\n\u003e **Note:** Terraform will perform a name availability check as part of the creation progress, if this Web App is part of an App Service Environment terraform will require Read permission on the ASE for this to complete reliably.\n","secret":true},"password":{"type":"string","description":"The Site Credentials Password used for publishing.\n","secret":true}},"type":"object","language":{"nodejs":{"requiredOutputs":["name","password"]}}},"azure:appservice/LinuxWebAppSlotAuthSettings:LinuxWebAppSlotAuthSettings":{"properties":{"activeDirectory":{"$ref":"#/types/azure:appservice/LinuxWebAppSlotAuthSettingsActiveDirectory:LinuxWebAppSlotAuthSettingsActiveDirectory","description":"An \u003cspan pulumi-lang-nodejs=\"`activeDirectory`\" pulumi-lang-dotnet=\"`ActiveDirectory`\" pulumi-lang-go=\"`activeDirectory`\" pulumi-lang-python=\"`active_directory`\" pulumi-lang-yaml=\"`activeDirectory`\" pulumi-lang-java=\"`activeDirectory`\"\u003e`active_directory`\u003c/span\u003e block as defined above.\n"},"additionalLoginParameters":{"type":"object","additionalProperties":{"type":"string"},"description":"Specifies a map of login Parameters to send to the OpenID Connect authorization endpoint when a user logs in.\n"},"allowedExternalRedirectUrls":{"type":"array","items":{"type":"string"},"description":"Specifies a list of External URLs that can be redirected to as part of logging in or logging out of the Linux Web App.\n"},"defaultProvider":{"type":"string","description":"The default authentication provider to use when multiple providers are configured. Possible values include: `BuiltInAuthenticationProviderAzureActiveDirectory`, `BuiltInAuthenticationProviderFacebook`, `BuiltInAuthenticationProviderGoogle`, `BuiltInAuthenticationProviderMicrosoftAccount`, `BuiltInAuthenticationProviderTwitter`, `BuiltInAuthenticationProviderGithub`\n\n\u003e **Note:** This setting is only needed if multiple providers are configured, and the \u003cspan pulumi-lang-nodejs=\"`unauthenticatedClientAction`\" pulumi-lang-dotnet=\"`UnauthenticatedClientAction`\" pulumi-lang-go=\"`unauthenticatedClientAction`\" pulumi-lang-python=\"`unauthenticated_client_action`\" pulumi-lang-yaml=\"`unauthenticatedClientAction`\" pulumi-lang-java=\"`unauthenticatedClientAction`\"\u003e`unauthenticated_client_action`\u003c/span\u003e is set to \"RedirectToLoginPage\".\n"},"enabled":{"type":"boolean","description":"Should the Authentication / Authorization feature be enabled for the Linux Web App?\n"},"facebook":{"$ref":"#/types/azure:appservice/LinuxWebAppSlotAuthSettingsFacebook:LinuxWebAppSlotAuthSettingsFacebook","description":"A \u003cspan pulumi-lang-nodejs=\"`facebook`\" pulumi-lang-dotnet=\"`Facebook`\" pulumi-lang-go=\"`facebook`\" pulumi-lang-python=\"`facebook`\" pulumi-lang-yaml=\"`facebook`\" pulumi-lang-java=\"`facebook`\"\u003e`facebook`\u003c/span\u003e block as defined below.\n"},"github":{"$ref":"#/types/azure:appservice/LinuxWebAppSlotAuthSettingsGithub:LinuxWebAppSlotAuthSettingsGithub","description":"A \u003cspan pulumi-lang-nodejs=\"`github`\" pulumi-lang-dotnet=\"`Github`\" pulumi-lang-go=\"`github`\" pulumi-lang-python=\"`github`\" pulumi-lang-yaml=\"`github`\" pulumi-lang-java=\"`github`\"\u003e`github`\u003c/span\u003e block as defined below.\n"},"google":{"$ref":"#/types/azure:appservice/LinuxWebAppSlotAuthSettingsGoogle:LinuxWebAppSlotAuthSettingsGoogle","description":"A \u003cspan pulumi-lang-nodejs=\"`google`\" pulumi-lang-dotnet=\"`Google`\" pulumi-lang-go=\"`google`\" pulumi-lang-python=\"`google`\" pulumi-lang-yaml=\"`google`\" pulumi-lang-java=\"`google`\"\u003e`google`\u003c/span\u003e block as defined below.\n"},"issuer":{"type":"string","description":"The OpenID Connect Issuer URI that represents the entity that issues access tokens for this Linux Web App.\n\n\u003e **Note:** When using Azure Active Directory, this value is the URI of the directory tenant, e.g. \u003chttps://sts.windows.net/{tenant-guid}/\u003e.\n"},"microsoft":{"$ref":"#/types/azure:appservice/LinuxWebAppSlotAuthSettingsMicrosoft:LinuxWebAppSlotAuthSettingsMicrosoft","description":"A \u003cspan pulumi-lang-nodejs=\"`microsoft`\" pulumi-lang-dotnet=\"`Microsoft`\" pulumi-lang-go=\"`microsoft`\" pulumi-lang-python=\"`microsoft`\" pulumi-lang-yaml=\"`microsoft`\" pulumi-lang-java=\"`microsoft`\"\u003e`microsoft`\u003c/span\u003e block as defined below.\n"},"runtimeVersion":{"type":"string","description":"The RuntimeVersion of the Authentication / Authorization feature in use for the Linux Web App.\n"},"tokenRefreshExtensionHours":{"type":"number","description":"The number of hours after session token expiration that a session token can be used to call the token refresh API. Defaults to \u003cspan pulumi-lang-nodejs=\"`72`\" pulumi-lang-dotnet=\"`72`\" pulumi-lang-go=\"`72`\" pulumi-lang-python=\"`72`\" pulumi-lang-yaml=\"`72`\" pulumi-lang-java=\"`72`\"\u003e`72`\u003c/span\u003e hours.\n"},"tokenStoreEnabled":{"type":"boolean","description":"Should the Linux Web App durably store platform-specific security tokens that are obtained during login flows? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"twitter":{"$ref":"#/types/azure:appservice/LinuxWebAppSlotAuthSettingsTwitter:LinuxWebAppSlotAuthSettingsTwitter","description":"A \u003cspan pulumi-lang-nodejs=\"`twitter`\" pulumi-lang-dotnet=\"`Twitter`\" pulumi-lang-go=\"`twitter`\" pulumi-lang-python=\"`twitter`\" pulumi-lang-yaml=\"`twitter`\" pulumi-lang-java=\"`twitter`\"\u003e`twitter`\u003c/span\u003e block as defined below.\n"},"unauthenticatedClientAction":{"type":"string","description":"The action to take when an unauthenticated client attempts to access the app. Possible values include: `RedirectToLoginPage`, `AllowAnonymous`.\n"}},"type":"object","required":["enabled"],"language":{"nodejs":{"requiredOutputs":["allowedExternalRedirectUrls","defaultProvider","enabled","runtimeVersion","unauthenticatedClientAction"]}}},"azure:appservice/LinuxWebAppSlotAuthSettingsActiveDirectory:LinuxWebAppSlotAuthSettingsActiveDirectory":{"properties":{"allowedAudiences":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Allowed audience values to consider when validating JWTs issued by Azure Active Directory.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`clientId`\" pulumi-lang-dotnet=\"`ClientId`\" pulumi-lang-go=\"`clientId`\" pulumi-lang-python=\"`client_id`\" pulumi-lang-yaml=\"`clientId`\" pulumi-lang-java=\"`clientId`\"\u003e`client_id`\u003c/span\u003e value is always considered an allowed audience.\n"},"clientId":{"type":"string","description":"The ID of the Client to use to authenticate with Azure Active Directory.\n"},"clientSecret":{"type":"string","description":"The Client Secret for the Client ID. Cannot be used with \u003cspan pulumi-lang-nodejs=\"`clientSecretSettingName`\" pulumi-lang-dotnet=\"`ClientSecretSettingName`\" pulumi-lang-go=\"`clientSecretSettingName`\" pulumi-lang-python=\"`client_secret_setting_name`\" pulumi-lang-yaml=\"`clientSecretSettingName`\" pulumi-lang-java=\"`clientSecretSettingName`\"\u003e`client_secret_setting_name`\u003c/span\u003e.\n","secret":true},"clientSecretSettingName":{"type":"string","description":"The App Setting name that contains the client secret of the Client. Cannot be used with \u003cspan pulumi-lang-nodejs=\"`clientSecret`\" pulumi-lang-dotnet=\"`ClientSecret`\" pulumi-lang-go=\"`clientSecret`\" pulumi-lang-python=\"`client_secret`\" pulumi-lang-yaml=\"`clientSecret`\" pulumi-lang-java=\"`clientSecret`\"\u003e`client_secret`\u003c/span\u003e.\n"}},"type":"object","required":["clientId"]},"azure:appservice/LinuxWebAppSlotAuthSettingsFacebook:LinuxWebAppSlotAuthSettingsFacebook":{"properties":{"appId":{"type":"string","description":"The App ID of the Facebook app used for login.\n"},"appSecret":{"type":"string","description":"The App Secret of the Facebook app used for Facebook login. Cannot be specified with \u003cspan pulumi-lang-nodejs=\"`appSecretSettingName`\" pulumi-lang-dotnet=\"`AppSecretSettingName`\" pulumi-lang-go=\"`appSecretSettingName`\" pulumi-lang-python=\"`app_secret_setting_name`\" pulumi-lang-yaml=\"`appSecretSettingName`\" pulumi-lang-java=\"`appSecretSettingName`\"\u003e`app_secret_setting_name`\u003c/span\u003e.\n","secret":true},"appSecretSettingName":{"type":"string","description":"The app setting name that contains the \u003cspan pulumi-lang-nodejs=\"`appSecret`\" pulumi-lang-dotnet=\"`AppSecret`\" pulumi-lang-go=\"`appSecret`\" pulumi-lang-python=\"`app_secret`\" pulumi-lang-yaml=\"`appSecret`\" pulumi-lang-java=\"`appSecret`\"\u003e`app_secret`\u003c/span\u003e value used for Facebook login. Cannot be specified with \u003cspan pulumi-lang-nodejs=\"`appSecret`\" pulumi-lang-dotnet=\"`AppSecret`\" pulumi-lang-go=\"`appSecret`\" pulumi-lang-python=\"`app_secret`\" pulumi-lang-yaml=\"`appSecret`\" pulumi-lang-java=\"`appSecret`\"\u003e`app_secret`\u003c/span\u003e.\n"},"oauthScopes":{"type":"array","items":{"type":"string"},"description":"Specifies a list of OAuth 2.0 scopes to be requested as part of Facebook login authentication.\n"}},"type":"object","required":["appId"]},"azure:appservice/LinuxWebAppSlotAuthSettingsGithub:LinuxWebAppSlotAuthSettingsGithub":{"properties":{"clientId":{"type":"string","description":"The ID of the GitHub app used for login.\n"},"clientSecret":{"type":"string","description":"The Client Secret of the GitHub app used for GitHub login. Cannot be specified with \u003cspan pulumi-lang-nodejs=\"`clientSecretSettingName`\" pulumi-lang-dotnet=\"`ClientSecretSettingName`\" pulumi-lang-go=\"`clientSecretSettingName`\" pulumi-lang-python=\"`client_secret_setting_name`\" pulumi-lang-yaml=\"`clientSecretSettingName`\" pulumi-lang-java=\"`clientSecretSettingName`\"\u003e`client_secret_setting_name`\u003c/span\u003e.\n","secret":true},"clientSecretSettingName":{"type":"string","description":"The app setting name that contains the \u003cspan pulumi-lang-nodejs=\"`clientSecret`\" pulumi-lang-dotnet=\"`ClientSecret`\" pulumi-lang-go=\"`clientSecret`\" pulumi-lang-python=\"`client_secret`\" pulumi-lang-yaml=\"`clientSecret`\" pulumi-lang-java=\"`clientSecret`\"\u003e`client_secret`\u003c/span\u003e value used for GitHub login. Cannot be specified with \u003cspan pulumi-lang-nodejs=\"`clientSecret`\" pulumi-lang-dotnet=\"`ClientSecret`\" pulumi-lang-go=\"`clientSecret`\" pulumi-lang-python=\"`client_secret`\" pulumi-lang-yaml=\"`clientSecret`\" pulumi-lang-java=\"`clientSecret`\"\u003e`client_secret`\u003c/span\u003e.\n"},"oauthScopes":{"type":"array","items":{"type":"string"},"description":"Specifies a list of OAuth 2.0 scopes that will be requested as part of GitHub login authentication.\n"}},"type":"object","required":["clientId"]},"azure:appservice/LinuxWebAppSlotAuthSettingsGoogle:LinuxWebAppSlotAuthSettingsGoogle":{"properties":{"clientId":{"type":"string","description":"The OpenID Connect Client ID for the Google web application.\n"},"clientSecret":{"type":"string","description":"The client secret associated with the Google web application. Cannot be specified with \u003cspan pulumi-lang-nodejs=\"`clientSecretSettingName`\" pulumi-lang-dotnet=\"`ClientSecretSettingName`\" pulumi-lang-go=\"`clientSecretSettingName`\" pulumi-lang-python=\"`client_secret_setting_name`\" pulumi-lang-yaml=\"`clientSecretSettingName`\" pulumi-lang-java=\"`clientSecretSettingName`\"\u003e`client_secret_setting_name`\u003c/span\u003e.\n","secret":true},"clientSecretSettingName":{"type":"string","description":"The app setting name that contains the \u003cspan pulumi-lang-nodejs=\"`clientSecret`\" pulumi-lang-dotnet=\"`ClientSecret`\" pulumi-lang-go=\"`clientSecret`\" pulumi-lang-python=\"`client_secret`\" pulumi-lang-yaml=\"`clientSecret`\" pulumi-lang-java=\"`clientSecret`\"\u003e`client_secret`\u003c/span\u003e value used for Google login. Cannot be specified with \u003cspan pulumi-lang-nodejs=\"`clientSecret`\" pulumi-lang-dotnet=\"`ClientSecret`\" pulumi-lang-go=\"`clientSecret`\" pulumi-lang-python=\"`client_secret`\" pulumi-lang-yaml=\"`clientSecret`\" pulumi-lang-java=\"`clientSecret`\"\u003e`client_secret`\u003c/span\u003e.\n"},"oauthScopes":{"type":"array","items":{"type":"string"},"description":"Specifies a list of OAuth 2.0 scopes that will be requested as part of Google Sign-In authentication. If not specified, \u003cspan pulumi-lang-nodejs=\"`openid`\" pulumi-lang-dotnet=\"`Openid`\" pulumi-lang-go=\"`openid`\" pulumi-lang-python=\"`openid`\" pulumi-lang-yaml=\"`openid`\" pulumi-lang-java=\"`openid`\"\u003e`openid`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`profile`\" pulumi-lang-dotnet=\"`Profile`\" pulumi-lang-go=\"`profile`\" pulumi-lang-python=\"`profile`\" pulumi-lang-yaml=\"`profile`\" pulumi-lang-java=\"`profile`\"\u003e`profile`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`email`\" pulumi-lang-dotnet=\"`Email`\" pulumi-lang-go=\"`email`\" pulumi-lang-python=\"`email`\" pulumi-lang-yaml=\"`email`\" pulumi-lang-java=\"`email`\"\u003e`email`\u003c/span\u003e are used as default scopes.\n"}},"type":"object","required":["clientId"]},"azure:appservice/LinuxWebAppSlotAuthSettingsMicrosoft:LinuxWebAppSlotAuthSettingsMicrosoft":{"properties":{"clientId":{"type":"string","description":"The OAuth 2.0 client ID that was created for the app used for authentication.\n"},"clientSecret":{"type":"string","description":"The OAuth 2.0 client secret that was created for the app used for authentication. Cannot be specified with \u003cspan pulumi-lang-nodejs=\"`clientSecretSettingName`\" pulumi-lang-dotnet=\"`ClientSecretSettingName`\" pulumi-lang-go=\"`clientSecretSettingName`\" pulumi-lang-python=\"`client_secret_setting_name`\" pulumi-lang-yaml=\"`clientSecretSettingName`\" pulumi-lang-java=\"`clientSecretSettingName`\"\u003e`client_secret_setting_name`\u003c/span\u003e.\n","secret":true},"clientSecretSettingName":{"type":"string","description":"The app setting name containing the OAuth 2.0 client secret that was created for the app used for authentication. Cannot be specified with \u003cspan pulumi-lang-nodejs=\"`clientSecret`\" pulumi-lang-dotnet=\"`ClientSecret`\" pulumi-lang-go=\"`clientSecret`\" pulumi-lang-python=\"`client_secret`\" pulumi-lang-yaml=\"`clientSecret`\" pulumi-lang-java=\"`clientSecret`\"\u003e`client_secret`\u003c/span\u003e.\n"},"oauthScopes":{"type":"array","items":{"type":"string"},"description":"Specifies a 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.\n"}},"type":"object","required":["clientId"]},"azure:appservice/LinuxWebAppSlotAuthSettingsTwitter:LinuxWebAppSlotAuthSettingsTwitter":{"properties":{"consumerKey":{"type":"string","description":"The OAuth 1.0a consumer key of the Twitter application used for sign-in.\n"},"consumerSecret":{"type":"string","description":"The OAuth 1.0a consumer secret of the Twitter application used for sign-in. Cannot be specified with \u003cspan pulumi-lang-nodejs=\"`consumerSecretSettingName`\" pulumi-lang-dotnet=\"`ConsumerSecretSettingName`\" pulumi-lang-go=\"`consumerSecretSettingName`\" pulumi-lang-python=\"`consumer_secret_setting_name`\" pulumi-lang-yaml=\"`consumerSecretSettingName`\" pulumi-lang-java=\"`consumerSecretSettingName`\"\u003e`consumer_secret_setting_name`\u003c/span\u003e.\n","secret":true},"consumerSecretSettingName":{"type":"string","description":"The app setting name that contains the OAuth 1.0a consumer secret of the Twitter application used for sign-in. Cannot be specified with \u003cspan pulumi-lang-nodejs=\"`consumerSecret`\" pulumi-lang-dotnet=\"`ConsumerSecret`\" pulumi-lang-go=\"`consumerSecret`\" pulumi-lang-python=\"`consumer_secret`\" pulumi-lang-yaml=\"`consumerSecret`\" pulumi-lang-java=\"`consumerSecret`\"\u003e`consumer_secret`\u003c/span\u003e.\n"}},"type":"object","required":["consumerKey"]},"azure:appservice/LinuxWebAppSlotAuthSettingsV2:LinuxWebAppSlotAuthSettingsV2":{"properties":{"activeDirectoryV2":{"$ref":"#/types/azure:appservice/LinuxWebAppSlotAuthSettingsV2ActiveDirectoryV2:LinuxWebAppSlotAuthSettingsV2ActiveDirectoryV2","description":"An \u003cspan pulumi-lang-nodejs=\"`activeDirectoryV2`\" pulumi-lang-dotnet=\"`ActiveDirectoryV2`\" pulumi-lang-go=\"`activeDirectoryV2`\" pulumi-lang-python=\"`active_directory_v2`\" pulumi-lang-yaml=\"`activeDirectoryV2`\" pulumi-lang-java=\"`activeDirectoryV2`\"\u003e`active_directory_v2`\u003c/span\u003e block as defined below.\n"},"appleV2":{"$ref":"#/types/azure:appservice/LinuxWebAppSlotAuthSettingsV2AppleV2:LinuxWebAppSlotAuthSettingsV2AppleV2","description":"An \u003cspan pulumi-lang-nodejs=\"`appleV2`\" pulumi-lang-dotnet=\"`AppleV2`\" pulumi-lang-go=\"`appleV2`\" pulumi-lang-python=\"`apple_v2`\" pulumi-lang-yaml=\"`appleV2`\" pulumi-lang-java=\"`appleV2`\"\u003e`apple_v2`\u003c/span\u003e block as defined below.\n"},"authEnabled":{"type":"boolean","description":"Should the AuthV2 Settings be enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"azureStaticWebAppV2":{"$ref":"#/types/azure:appservice/LinuxWebAppSlotAuthSettingsV2AzureStaticWebAppV2:LinuxWebAppSlotAuthSettingsV2AzureStaticWebAppV2","description":"An \u003cspan pulumi-lang-nodejs=\"`azureStaticWebAppV2`\" pulumi-lang-dotnet=\"`AzureStaticWebAppV2`\" pulumi-lang-go=\"`azureStaticWebAppV2`\" pulumi-lang-python=\"`azure_static_web_app_v2`\" pulumi-lang-yaml=\"`azureStaticWebAppV2`\" pulumi-lang-java=\"`azureStaticWebAppV2`\"\u003e`azure_static_web_app_v2`\u003c/span\u003e block as defined below.\n"},"configFilePath":{"type":"string","description":"The path to the App Auth settings.\n\n\u003e **Note:** Relative Paths are evaluated from the Site Root directory.\n"},"customOidcV2s":{"type":"array","items":{"$ref":"#/types/azure:appservice/LinuxWebAppSlotAuthSettingsV2CustomOidcV2:LinuxWebAppSlotAuthSettingsV2CustomOidcV2"},"description":"Zero or more \u003cspan pulumi-lang-nodejs=\"`customOidcV2`\" pulumi-lang-dotnet=\"`CustomOidcV2`\" pulumi-lang-go=\"`customOidcV2`\" pulumi-lang-python=\"`custom_oidc_v2`\" pulumi-lang-yaml=\"`customOidcV2`\" pulumi-lang-java=\"`customOidcV2`\"\u003e`custom_oidc_v2`\u003c/span\u003e blocks as defined below.\n"},"defaultProvider":{"type":"string","description":"The Default Authentication Provider to use when the \u003cspan pulumi-lang-nodejs=\"`unauthenticatedAction`\" pulumi-lang-dotnet=\"`UnauthenticatedAction`\" pulumi-lang-go=\"`unauthenticatedAction`\" pulumi-lang-python=\"`unauthenticated_action`\" pulumi-lang-yaml=\"`unauthenticatedAction`\" pulumi-lang-java=\"`unauthenticatedAction`\"\u003e`unauthenticated_action`\u003c/span\u003e is set to `RedirectToLoginPage`. Possible values include: \u003cspan pulumi-lang-nodejs=\"`apple`\" pulumi-lang-dotnet=\"`Apple`\" pulumi-lang-go=\"`apple`\" pulumi-lang-python=\"`apple`\" pulumi-lang-yaml=\"`apple`\" pulumi-lang-java=\"`apple`\"\u003e`apple`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`azureactivedirectory`\" pulumi-lang-dotnet=\"`Azureactivedirectory`\" pulumi-lang-go=\"`azureactivedirectory`\" pulumi-lang-python=\"`azureactivedirectory`\" pulumi-lang-yaml=\"`azureactivedirectory`\" pulumi-lang-java=\"`azureactivedirectory`\"\u003e`azureactivedirectory`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`facebook`\" pulumi-lang-dotnet=\"`Facebook`\" pulumi-lang-go=\"`facebook`\" pulumi-lang-python=\"`facebook`\" pulumi-lang-yaml=\"`facebook`\" pulumi-lang-java=\"`facebook`\"\u003e`facebook`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`github`\" pulumi-lang-dotnet=\"`Github`\" pulumi-lang-go=\"`github`\" pulumi-lang-python=\"`github`\" pulumi-lang-yaml=\"`github`\" pulumi-lang-java=\"`github`\"\u003e`github`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`google`\" pulumi-lang-dotnet=\"`Google`\" pulumi-lang-go=\"`google`\" pulumi-lang-python=\"`google`\" pulumi-lang-yaml=\"`google`\" pulumi-lang-java=\"`google`\"\u003e`google`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`twitter`\" pulumi-lang-dotnet=\"`Twitter`\" pulumi-lang-go=\"`twitter`\" pulumi-lang-python=\"`twitter`\" pulumi-lang-yaml=\"`twitter`\" pulumi-lang-java=\"`twitter`\"\u003e`twitter`\u003c/span\u003e and the \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e of your \u003cspan pulumi-lang-nodejs=\"`customOidcV2`\" pulumi-lang-dotnet=\"`CustomOidcV2`\" pulumi-lang-go=\"`customOidcV2`\" pulumi-lang-python=\"`custom_oidc_v2`\" pulumi-lang-yaml=\"`customOidcV2`\" pulumi-lang-java=\"`customOidcV2`\"\u003e`custom_oidc_v2`\u003c/span\u003e provider.\n\n\u003e **Note:** Whilst any value will be accepted by the API for \u003cspan pulumi-lang-nodejs=\"`defaultProvider`\" pulumi-lang-dotnet=\"`DefaultProvider`\" pulumi-lang-go=\"`defaultProvider`\" pulumi-lang-python=\"`default_provider`\" pulumi-lang-yaml=\"`defaultProvider`\" pulumi-lang-java=\"`defaultProvider`\"\u003e`default_provider`\u003c/span\u003e, it can leave the app in an unusable state if this value does not correspond to the name of a known provider (either built-in value, or\u003cspan pulumi-lang-nodejs=\" customOidc \" pulumi-lang-dotnet=\" CustomOidc \" pulumi-lang-go=\" customOidc \" pulumi-lang-python=\" custom_oidc \" pulumi-lang-yaml=\" customOidc \" pulumi-lang-java=\" customOidc \"\u003e custom_oidc \u003c/span\u003ename) as it is used to build the auth endpoint URI.\n"},"excludedPaths":{"type":"array","items":{"type":"string"},"description":"The paths which should be excluded from the \u003cspan pulumi-lang-nodejs=\"`unauthenticatedAction`\" pulumi-lang-dotnet=\"`UnauthenticatedAction`\" pulumi-lang-go=\"`unauthenticatedAction`\" pulumi-lang-python=\"`unauthenticated_action`\" pulumi-lang-yaml=\"`unauthenticatedAction`\" pulumi-lang-java=\"`unauthenticatedAction`\"\u003e`unauthenticated_action`\u003c/span\u003e when it is set to `RedirectToLoginPage`.\n\n\u003e **Note:** This list should be used instead of setting `WEBSITE_WARMUP_PATH` in \u003cspan pulumi-lang-nodejs=\"`appSettings`\" pulumi-lang-dotnet=\"`AppSettings`\" pulumi-lang-go=\"`appSettings`\" pulumi-lang-python=\"`app_settings`\" pulumi-lang-yaml=\"`appSettings`\" pulumi-lang-java=\"`appSettings`\"\u003e`app_settings`\u003c/span\u003e as it takes priority.\n"},"facebookV2":{"$ref":"#/types/azure:appservice/LinuxWebAppSlotAuthSettingsV2FacebookV2:LinuxWebAppSlotAuthSettingsV2FacebookV2","description":"A \u003cspan pulumi-lang-nodejs=\"`facebookV2`\" pulumi-lang-dotnet=\"`FacebookV2`\" pulumi-lang-go=\"`facebookV2`\" pulumi-lang-python=\"`facebook_v2`\" pulumi-lang-yaml=\"`facebookV2`\" pulumi-lang-java=\"`facebookV2`\"\u003e`facebook_v2`\u003c/span\u003e block as defined below.\n"},"forwardProxyConvention":{"type":"string","description":"The convention used to determine the url of the request made. Possible values include `NoProxy`, `Standard`, `Custom`. Defaults to `NoProxy`.\n"},"forwardProxyCustomHostHeaderName":{"type":"string","description":"The name of the custom header containing the host of the request.\n"},"forwardProxyCustomSchemeHeaderName":{"type":"string","description":"The name of the custom header containing the scheme of the request.\n"},"githubV2":{"$ref":"#/types/azure:appservice/LinuxWebAppSlotAuthSettingsV2GithubV2:LinuxWebAppSlotAuthSettingsV2GithubV2","description":"A \u003cspan pulumi-lang-nodejs=\"`githubV2`\" pulumi-lang-dotnet=\"`GithubV2`\" pulumi-lang-go=\"`githubV2`\" pulumi-lang-python=\"`github_v2`\" pulumi-lang-yaml=\"`githubV2`\" pulumi-lang-java=\"`githubV2`\"\u003e`github_v2`\u003c/span\u003e block as defined below.\n"},"googleV2":{"$ref":"#/types/azure:appservice/LinuxWebAppSlotAuthSettingsV2GoogleV2:LinuxWebAppSlotAuthSettingsV2GoogleV2","description":"A \u003cspan pulumi-lang-nodejs=\"`googleV2`\" pulumi-lang-dotnet=\"`GoogleV2`\" pulumi-lang-go=\"`googleV2`\" pulumi-lang-python=\"`google_v2`\" pulumi-lang-yaml=\"`googleV2`\" pulumi-lang-java=\"`googleV2`\"\u003e`google_v2`\u003c/span\u003e block as defined below.\n"},"httpRouteApiPrefix":{"type":"string","description":"The prefix that should precede all the authentication and authorisation paths. Defaults to `/.auth`.\n"},"login":{"$ref":"#/types/azure:appservice/LinuxWebAppSlotAuthSettingsV2Login:LinuxWebAppSlotAuthSettingsV2Login","description":"A \u003cspan pulumi-lang-nodejs=\"`login`\" pulumi-lang-dotnet=\"`Login`\" pulumi-lang-go=\"`login`\" pulumi-lang-python=\"`login`\" pulumi-lang-yaml=\"`login`\" pulumi-lang-java=\"`login`\"\u003e`login`\u003c/span\u003e block as defined below.\n"},"microsoftV2":{"$ref":"#/types/azure:appservice/LinuxWebAppSlotAuthSettingsV2MicrosoftV2:LinuxWebAppSlotAuthSettingsV2MicrosoftV2","description":"A \u003cspan pulumi-lang-nodejs=\"`microsoftV2`\" pulumi-lang-dotnet=\"`MicrosoftV2`\" pulumi-lang-go=\"`microsoftV2`\" pulumi-lang-python=\"`microsoft_v2`\" pulumi-lang-yaml=\"`microsoftV2`\" pulumi-lang-java=\"`microsoftV2`\"\u003e`microsoft_v2`\u003c/span\u003e block as defined below.\n"},"requireAuthentication":{"type":"boolean","description":"Should the authentication flow be used for all requests.\n"},"requireHttps":{"type":"boolean","description":"Should HTTPS be required on connections? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"runtimeVersion":{"type":"string","description":"The Runtime Version of the Authentication and Authorisation feature of this App. Defaults to `~1`.\n"},"twitterV2":{"$ref":"#/types/azure:appservice/LinuxWebAppSlotAuthSettingsV2TwitterV2:LinuxWebAppSlotAuthSettingsV2TwitterV2","description":"A \u003cspan pulumi-lang-nodejs=\"`twitterV2`\" pulumi-lang-dotnet=\"`TwitterV2`\" pulumi-lang-go=\"`twitterV2`\" pulumi-lang-python=\"`twitter_v2`\" pulumi-lang-yaml=\"`twitterV2`\" pulumi-lang-java=\"`twitterV2`\"\u003e`twitter_v2`\u003c/span\u003e block as defined below.\n"},"unauthenticatedAction":{"type":"string","description":"The action to take for requests made without authentication. Possible values include `RedirectToLoginPage`, `AllowAnonymous`, `Return401`, and `Return403`. Defaults to `RedirectToLoginPage`.\n"}},"type":"object","required":["login"]},"azure:appservice/LinuxWebAppSlotAuthSettingsV2ActiveDirectoryV2:LinuxWebAppSlotAuthSettingsV2ActiveDirectoryV2":{"properties":{"allowedApplications":{"type":"array","items":{"type":"string"},"description":"The list of allowed Applications for the Default Authorisation Policy.\n"},"allowedAudiences":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Allowed audience values to consider when validating JWTs issued by Azure Active Directory.\n\n\u003e **Note:** This is configured on the Authentication Provider side and is Read Only here.\n"},"allowedGroups":{"type":"array","items":{"type":"string"},"description":"The list of allowed Group Names for the Default Authorisation Policy.\n"},"allowedIdentities":{"type":"array","items":{"type":"string"},"description":"The list of allowed Identities for the Default Authorisation Policy.\n"},"clientId":{"type":"string","description":"The ID of the Client to use to authenticate with Azure Active Directory.\n"},"clientSecretCertificateThumbprint":{"type":"string","description":"The thumbprint of the certificate used for signing purposes.\n\n!\u003e **Note:** If one \u003cspan pulumi-lang-nodejs=\"`clientSecretSettingName`\" pulumi-lang-dotnet=\"`ClientSecretSettingName`\" pulumi-lang-go=\"`clientSecretSettingName`\" pulumi-lang-python=\"`client_secret_setting_name`\" pulumi-lang-yaml=\"`clientSecretSettingName`\" pulumi-lang-java=\"`clientSecretSettingName`\"\u003e`client_secret_setting_name`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`clientSecretCertificateThumbprint`\" pulumi-lang-dotnet=\"`ClientSecretCertificateThumbprint`\" pulumi-lang-go=\"`clientSecretCertificateThumbprint`\" pulumi-lang-python=\"`client_secret_certificate_thumbprint`\" pulumi-lang-yaml=\"`clientSecretCertificateThumbprint`\" pulumi-lang-java=\"`clientSecretCertificateThumbprint`\"\u003e`client_secret_certificate_thumbprint`\u003c/span\u003e is specified, terraform won't write the client secret or secret certificate thumbprint back to \u003cspan pulumi-lang-nodejs=\"`appSetting`\" pulumi-lang-dotnet=\"`AppSetting`\" pulumi-lang-go=\"`appSetting`\" pulumi-lang-python=\"`app_setting`\" pulumi-lang-yaml=\"`appSetting`\" pulumi-lang-java=\"`appSetting`\"\u003e`app_setting`\u003c/span\u003e, so make sure they are existed in \u003cspan pulumi-lang-nodejs=\"`appSettings`\" pulumi-lang-dotnet=\"`AppSettings`\" pulumi-lang-go=\"`appSettings`\" pulumi-lang-python=\"`app_settings`\" pulumi-lang-yaml=\"`appSettings`\" pulumi-lang-java=\"`appSettings`\"\u003e`app_settings`\u003c/span\u003e to function correctly.\n"},"clientSecretSettingName":{"type":"string","description":"The App Setting name that contains the client secret of the Client.\n\n!\u003e **Note:** A setting with this name must exist in \u003cspan pulumi-lang-nodejs=\"`appSettings`\" pulumi-lang-dotnet=\"`AppSettings`\" pulumi-lang-go=\"`appSettings`\" pulumi-lang-python=\"`app_settings`\" pulumi-lang-yaml=\"`appSettings`\" pulumi-lang-java=\"`appSettings`\"\u003e`app_settings`\u003c/span\u003e to function correctly.\n"},"jwtAllowedClientApplications":{"type":"array","items":{"type":"string"},"description":"A list of Allowed Client Applications in the JWT Claim.\n"},"jwtAllowedGroups":{"type":"array","items":{"type":"string"},"description":"A list of Allowed Groups in the JWT Claim.\n"},"loginParameters":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of key-value pairs to send to the Authorisation Endpoint when a user logs in.\n"},"tenantAuthEndpoint":{"type":"string","description":"The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/`\n\n\u003e **Note:** [Here](https://learn.microsoft.com/en-us/entra/identity-platform/authentication-national-cloud#microsoft-entra-authentication-endpoints) is a list of possible authentication endpoints based on the cloud environment. [Here](https://learn.microsoft.com/en-us/azure/app-service/configure-authentication-provider-aad?tabs=workforce-tenant) is more information to better understand how to configure authentication for Azure App Service or Azure Functions.\n"},"wwwAuthenticationDisabled":{"type":"boolean","description":"Should the www-authenticate provider should be omitted from the request? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"}},"type":"object","required":["clientId","tenantAuthEndpoint"]},"azure:appservice/LinuxWebAppSlotAuthSettingsV2AppleV2:LinuxWebAppSlotAuthSettingsV2AppleV2":{"properties":{"clientId":{"type":"string","description":"The OpenID Connect Client ID for the Apple web application.\n"},"clientSecretSettingName":{"type":"string","description":"The app setting name that contains the \u003cspan pulumi-lang-nodejs=\"`clientSecret`\" pulumi-lang-dotnet=\"`ClientSecret`\" pulumi-lang-go=\"`clientSecret`\" pulumi-lang-python=\"`client_secret`\" pulumi-lang-yaml=\"`clientSecret`\" pulumi-lang-java=\"`clientSecret`\"\u003e`client_secret`\u003c/span\u003e value used for Apple Login.\n\n!\u003e **Note:** A setting with this name must exist in \u003cspan pulumi-lang-nodejs=\"`appSettings`\" pulumi-lang-dotnet=\"`AppSettings`\" pulumi-lang-go=\"`appSettings`\" pulumi-lang-python=\"`app_settings`\" pulumi-lang-yaml=\"`appSettings`\" pulumi-lang-java=\"`appSettings`\"\u003e`app_settings`\u003c/span\u003e to function correctly.\n"},"loginScopes":{"type":"array","items":{"type":"string"},"description":"A list of Login Scopes provided by this Authentication Provider.\n\n\u003e **Note:** This is configured on the Authentication Provider side and is Read Only here.\n"}},"type":"object","required":["clientId","clientSecretSettingName"],"language":{"nodejs":{"requiredOutputs":["clientId","clientSecretSettingName","loginScopes"]}}},"azure:appservice/LinuxWebAppSlotAuthSettingsV2AzureStaticWebAppV2:LinuxWebAppSlotAuthSettingsV2AzureStaticWebAppV2":{"properties":{"clientId":{"type":"string","description":"The ID of the Client to use to authenticate with Azure Static Web App Authentication.\n"}},"type":"object","required":["clientId"]},"azure:appservice/LinuxWebAppSlotAuthSettingsV2CustomOidcV2:LinuxWebAppSlotAuthSettingsV2CustomOidcV2":{"properties":{"authorisationEndpoint":{"type":"string","description":"The endpoint to make the Authorisation Request as supplied by \u003cspan pulumi-lang-nodejs=\"`openidConfigurationEndpoint`\" pulumi-lang-dotnet=\"`OpenidConfigurationEndpoint`\" pulumi-lang-go=\"`openidConfigurationEndpoint`\" pulumi-lang-python=\"`openid_configuration_endpoint`\" pulumi-lang-yaml=\"`openidConfigurationEndpoint`\" pulumi-lang-java=\"`openidConfigurationEndpoint`\"\u003e`openid_configuration_endpoint`\u003c/span\u003e response.\n"},"certificationUri":{"type":"string","description":"The endpoint that provides the keys necessary to validate the token as supplied by \u003cspan pulumi-lang-nodejs=\"`openidConfigurationEndpoint`\" pulumi-lang-dotnet=\"`OpenidConfigurationEndpoint`\" pulumi-lang-go=\"`openidConfigurationEndpoint`\" pulumi-lang-python=\"`openid_configuration_endpoint`\" pulumi-lang-yaml=\"`openidConfigurationEndpoint`\" pulumi-lang-java=\"`openidConfigurationEndpoint`\"\u003e`openid_configuration_endpoint`\u003c/span\u003e response.\n"},"clientCredentialMethod":{"type":"string","description":"The Client Credential Method used.\n"},"clientId":{"type":"string","description":"The ID of the Client to use to authenticate with the Custom OIDC.\n"},"clientSecretSettingName":{"type":"string","description":"The App Setting name that contains the secret for this Custom OIDC Client. This is generated from \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e above and suffixed with `_PROVIDER_AUTHENTICATION_SECRET`.\n"},"issuerEndpoint":{"type":"string","description":"The endpoint that issued the Token as supplied by \u003cspan pulumi-lang-nodejs=\"`openidConfigurationEndpoint`\" pulumi-lang-dotnet=\"`OpenidConfigurationEndpoint`\" pulumi-lang-go=\"`openidConfigurationEndpoint`\" pulumi-lang-python=\"`openid_configuration_endpoint`\" pulumi-lang-yaml=\"`openidConfigurationEndpoint`\" pulumi-lang-java=\"`openidConfigurationEndpoint`\"\u003e`openid_configuration_endpoint`\u003c/span\u003e response.\n"},"name":{"type":"string","description":"The name of the Custom OIDC Authentication Provider.\n\n\u003e **Note:** An \u003cspan pulumi-lang-nodejs=\"`appSetting`\" pulumi-lang-dotnet=\"`AppSetting`\" pulumi-lang-go=\"`appSetting`\" pulumi-lang-python=\"`app_setting`\" pulumi-lang-yaml=\"`appSetting`\" pulumi-lang-java=\"`appSetting`\"\u003e`app_setting`\u003c/span\u003e matching this value in upper case with the suffix of `_PROVIDER_AUTHENTICATION_SECRET` is required. e.g. `MYOIDC_PROVIDER_AUTHENTICATION_SECRET` for a value of \u003cspan pulumi-lang-nodejs=\"`myoidc`\" pulumi-lang-dotnet=\"`Myoidc`\" pulumi-lang-go=\"`myoidc`\" pulumi-lang-python=\"`myoidc`\" pulumi-lang-yaml=\"`myoidc`\" pulumi-lang-java=\"`myoidc`\"\u003e`myoidc`\u003c/span\u003e.\n"},"nameClaimType":{"type":"string","description":"The name of the claim that contains the users name.\n"},"openidConfigurationEndpoint":{"type":"string","description":"The app setting name that contains the \u003cspan pulumi-lang-nodejs=\"`clientSecret`\" pulumi-lang-dotnet=\"`ClientSecret`\" pulumi-lang-go=\"`clientSecret`\" pulumi-lang-python=\"`client_secret`\" pulumi-lang-yaml=\"`clientSecret`\" pulumi-lang-java=\"`clientSecret`\"\u003e`client_secret`\u003c/span\u003e value used for the Custom OIDC Login.\n"},"scopes":{"type":"array","items":{"type":"string"},"description":"The list of the scopes that should be requested while authenticating.\n"},"tokenEndpoint":{"type":"string","description":"The endpoint used to request a Token as supplied by \u003cspan pulumi-lang-nodejs=\"`openidConfigurationEndpoint`\" pulumi-lang-dotnet=\"`OpenidConfigurationEndpoint`\" pulumi-lang-go=\"`openidConfigurationEndpoint`\" pulumi-lang-python=\"`openid_configuration_endpoint`\" pulumi-lang-yaml=\"`openidConfigurationEndpoint`\" pulumi-lang-java=\"`openidConfigurationEndpoint`\"\u003e`openid_configuration_endpoint`\u003c/span\u003e response.\n"}},"type":"object","required":["clientId","name","openidConfigurationEndpoint"],"language":{"nodejs":{"requiredOutputs":["authorisationEndpoint","certificationUri","clientCredentialMethod","clientId","clientSecretSettingName","issuerEndpoint","name","openidConfigurationEndpoint","tokenEndpoint"]}}},"azure:appservice/LinuxWebAppSlotAuthSettingsV2FacebookV2:LinuxWebAppSlotAuthSettingsV2FacebookV2":{"properties":{"appId":{"type":"string","description":"The App ID of the Facebook app used for login.\n"},"appSecretSettingName":{"type":"string","description":"The app setting name that contains the \u003cspan pulumi-lang-nodejs=\"`appSecret`\" pulumi-lang-dotnet=\"`AppSecret`\" pulumi-lang-go=\"`appSecret`\" pulumi-lang-python=\"`app_secret`\" pulumi-lang-yaml=\"`appSecret`\" pulumi-lang-java=\"`appSecret`\"\u003e`app_secret`\u003c/span\u003e value used for Facebook Login.\n\n!\u003e **Note:** A setting with this name must exist in \u003cspan pulumi-lang-nodejs=\"`appSettings`\" pulumi-lang-dotnet=\"`AppSettings`\" pulumi-lang-go=\"`appSettings`\" pulumi-lang-python=\"`app_settings`\" pulumi-lang-yaml=\"`appSettings`\" pulumi-lang-java=\"`appSettings`\"\u003e`app_settings`\u003c/span\u003e to function correctly.\n"},"graphApiVersion":{"type":"string","description":"The version of the Facebook API to be used while logging in.\n"},"loginScopes":{"type":"array","items":{"type":"string"},"description":"The list of scopes that should be requested as part of Facebook Login authentication.\n"}},"type":"object","required":["appId","appSecretSettingName"],"language":{"nodejs":{"requiredOutputs":["appId","appSecretSettingName","graphApiVersion"]}}},"azure:appservice/LinuxWebAppSlotAuthSettingsV2GithubV2:LinuxWebAppSlotAuthSettingsV2GithubV2":{"properties":{"clientId":{"type":"string","description":"The ID of the GitHub app used for login.\n"},"clientSecretSettingName":{"type":"string","description":"The app setting name that contains the \u003cspan pulumi-lang-nodejs=\"`clientSecret`\" pulumi-lang-dotnet=\"`ClientSecret`\" pulumi-lang-go=\"`clientSecret`\" pulumi-lang-python=\"`client_secret`\" pulumi-lang-yaml=\"`clientSecret`\" pulumi-lang-java=\"`clientSecret`\"\u003e`client_secret`\u003c/span\u003e value used for GitHub Login.\n\n!\u003e **Note:** A setting with this name must exist in \u003cspan pulumi-lang-nodejs=\"`appSettings`\" pulumi-lang-dotnet=\"`AppSettings`\" pulumi-lang-go=\"`appSettings`\" pulumi-lang-python=\"`app_settings`\" pulumi-lang-yaml=\"`appSettings`\" pulumi-lang-java=\"`appSettings`\"\u003e`app_settings`\u003c/span\u003e to function correctly.\n"},"loginScopes":{"type":"array","items":{"type":"string"},"description":"The list of OAuth 2.0 scopes that should be requested as part of GitHub Login authentication.\n"}},"type":"object","required":["clientId","clientSecretSettingName"]},"azure:appservice/LinuxWebAppSlotAuthSettingsV2GoogleV2:LinuxWebAppSlotAuthSettingsV2GoogleV2":{"properties":{"allowedAudiences":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Allowed Audiences that should be requested as part of Google Sign-In authentication.\n"},"clientId":{"type":"string","description":"The OpenID Connect Client ID for the Google web application.\n"},"clientSecretSettingName":{"type":"string","description":"The app setting name that contains the \u003cspan pulumi-lang-nodejs=\"`clientSecret`\" pulumi-lang-dotnet=\"`ClientSecret`\" pulumi-lang-go=\"`clientSecret`\" pulumi-lang-python=\"`client_secret`\" pulumi-lang-yaml=\"`clientSecret`\" pulumi-lang-java=\"`clientSecret`\"\u003e`client_secret`\u003c/span\u003e value used for Google Login.\n\n!\u003e **Note:** A setting with this name must exist in \u003cspan pulumi-lang-nodejs=\"`appSettings`\" pulumi-lang-dotnet=\"`AppSettings`\" pulumi-lang-go=\"`appSettings`\" pulumi-lang-python=\"`app_settings`\" pulumi-lang-yaml=\"`appSettings`\" pulumi-lang-java=\"`appSettings`\"\u003e`app_settings`\u003c/span\u003e to function correctly.\n"},"loginScopes":{"type":"array","items":{"type":"string"},"description":"The list of OAuth 2.0 scopes that should be requested as part of Google Sign-In authentication.\n"}},"type":"object","required":["clientId","clientSecretSettingName"]},"azure:appservice/LinuxWebAppSlotAuthSettingsV2Login:LinuxWebAppSlotAuthSettingsV2Login":{"properties":{"allowedExternalRedirectUrls":{"type":"array","items":{"type":"string"},"description":"External URLs that can be redirected to as part of logging in or logging out of the app. This is an advanced setting typically only needed by Windows Store application backends.\n\n\u003e **Note:** URLs within the current domain are always implicitly allowed.\n"},"cookieExpirationConvention":{"type":"string","description":"The method by which cookies expire. Possible values include: `FixedTime`, and `IdentityProviderDerived`. Defaults to `FixedTime`.\n"},"cookieExpirationTime":{"type":"string","description":"The time after the request is made when the session cookie should expire. Defaults to `08:00:00`.\n"},"logoutEndpoint":{"type":"string","description":"The endpoint to which logout requests should be made.\n"},"nonceExpirationTime":{"type":"string","description":"The time after the request is made when the nonce should expire. Defaults to `00:05:00`.\n"},"preserveUrlFragmentsForLogins":{"type":"boolean","description":"Should the fragments from the request be preserved after the login request is made. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"tokenRefreshExtensionTime":{"type":"number","description":"The number of hours after session token expiration that a session token can be used to call the token refresh API. Defaults to \u003cspan pulumi-lang-nodejs=\"`72`\" pulumi-lang-dotnet=\"`72`\" pulumi-lang-go=\"`72`\" pulumi-lang-python=\"`72`\" pulumi-lang-yaml=\"`72`\" pulumi-lang-java=\"`72`\"\u003e`72`\u003c/span\u003e hours.\n"},"tokenStoreEnabled":{"type":"boolean","description":"Should the Token Store configuration Enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e\n"},"tokenStorePath":{"type":"string","description":"The directory path in the App Filesystem in which the tokens will be stored.\n"},"tokenStoreSasSettingName":{"type":"string","description":"The name of the app setting which contains the SAS URL of the blob storage containing the tokens.\n"},"validateNonce":{"type":"boolean","description":"Should the nonce be validated while completing the login flow. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"}},"type":"object"},"azure:appservice/LinuxWebAppSlotAuthSettingsV2MicrosoftV2:LinuxWebAppSlotAuthSettingsV2MicrosoftV2":{"properties":{"allowedAudiences":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Allowed Audiences that will be requested as part of Microsoft Sign-In authentication.\n"},"clientId":{"type":"string","description":"The OAuth 2.0 client ID that was created for the app used for authentication.\n"},"clientSecretSettingName":{"type":"string","description":"The app setting name containing the OAuth 2.0 client secret that was created for the app used for authentication.\n\n!\u003e **Note:** A setting with this name must exist in \u003cspan pulumi-lang-nodejs=\"`appSettings`\" pulumi-lang-dotnet=\"`AppSettings`\" pulumi-lang-go=\"`appSettings`\" pulumi-lang-python=\"`app_settings`\" pulumi-lang-yaml=\"`appSettings`\" pulumi-lang-java=\"`appSettings`\"\u003e`app_settings`\u003c/span\u003e to function correctly.\n"},"loginScopes":{"type":"array","items":{"type":"string"},"description":"The list of Login scopes that should be requested as part of Microsoft Account authentication.\n"}},"type":"object","required":["clientId","clientSecretSettingName"]},"azure:appservice/LinuxWebAppSlotAuthSettingsV2TwitterV2:LinuxWebAppSlotAuthSettingsV2TwitterV2":{"properties":{"consumerKey":{"type":"string","description":"The OAuth 1.0a consumer key of the Twitter application used for sign-in.\n"},"consumerSecretSettingName":{"type":"string","description":"The app setting name that contains the OAuth 1.0a consumer secret of the Twitter application used for sign-in.\n\n!\u003e **Note:** A setting with this name must exist in \u003cspan pulumi-lang-nodejs=\"`appSettings`\" pulumi-lang-dotnet=\"`AppSettings`\" pulumi-lang-go=\"`appSettings`\" pulumi-lang-python=\"`app_settings`\" pulumi-lang-yaml=\"`appSettings`\" pulumi-lang-java=\"`appSettings`\"\u003e`app_settings`\u003c/span\u003e to function correctly.\n"}},"type":"object","required":["consumerKey","consumerSecretSettingName"]},"azure:appservice/LinuxWebAppSlotBackup:LinuxWebAppSlotBackup":{"properties":{"enabled":{"type":"boolean","description":"Should this backup job be enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"name":{"type":"string","description":"The name which should be used for this Backup.\n"},"schedule":{"$ref":"#/types/azure:appservice/LinuxWebAppSlotBackupSchedule:LinuxWebAppSlotBackupSchedule","description":"An \u003cspan pulumi-lang-nodejs=\"`schedule`\" pulumi-lang-dotnet=\"`Schedule`\" pulumi-lang-go=\"`schedule`\" pulumi-lang-python=\"`schedule`\" pulumi-lang-yaml=\"`schedule`\" pulumi-lang-java=\"`schedule`\"\u003e`schedule`\u003c/span\u003e block as defined below.\n"},"storageAccountUrl":{"type":"string","description":"The SAS URL to the container.\n","secret":true}},"type":"object","required":["name","schedule","storageAccountUrl"]},"azure:appservice/LinuxWebAppSlotBackupSchedule:LinuxWebAppSlotBackupSchedule":{"properties":{"frequencyInterval":{"type":"integer","description":"How often the backup should be executed (e.g. for weekly backup, this should be set to \u003cspan pulumi-lang-nodejs=\"`7`\" pulumi-lang-dotnet=\"`7`\" pulumi-lang-go=\"`7`\" pulumi-lang-python=\"`7`\" pulumi-lang-yaml=\"`7`\" pulumi-lang-java=\"`7`\"\u003e`7`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`frequencyUnit`\" pulumi-lang-dotnet=\"`FrequencyUnit`\" pulumi-lang-go=\"`frequencyUnit`\" pulumi-lang-python=\"`frequency_unit`\" pulumi-lang-yaml=\"`frequencyUnit`\" pulumi-lang-java=\"`frequencyUnit`\"\u003e`frequency_unit`\u003c/span\u003e should be set to `Day`).\n\n\u003e **Note:** Not all intervals are supported on all Linux Web App SKUs. Please refer to the official documentation for appropriate values.\n"},"frequencyUnit":{"type":"string","description":"The unit of time for how often the backup should take place. Possible values include: `Day`, `Hour`\n"},"keepAtLeastOneBackup":{"type":"boolean","description":"Should the service keep at least one backup, regardless of the age of backup? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"lastExecutionTime":{"type":"string","description":"The time the backup was last attempted.\n"},"retentionPeriodDays":{"type":"integer","description":"After how many days backups should be deleted. Defaults to \u003cspan pulumi-lang-nodejs=\"`30`\" pulumi-lang-dotnet=\"`30`\" pulumi-lang-go=\"`30`\" pulumi-lang-python=\"`30`\" pulumi-lang-yaml=\"`30`\" pulumi-lang-java=\"`30`\"\u003e`30`\u003c/span\u003e.\n"},"startTime":{"type":"string","description":"When the schedule should start working in RFC-3339 format.\n"}},"type":"object","required":["frequencyInterval","frequencyUnit"],"language":{"nodejs":{"requiredOutputs":["frequencyInterval","frequencyUnit","lastExecutionTime","startTime"]}}},"azure:appservice/LinuxWebAppSlotConnectionString:LinuxWebAppSlotConnectionString":{"properties":{"name":{"type":"string","description":"The name of the Connection String.\n"},"type":{"type":"string","description":"Type of database. Possible values include `APIHub`, `Custom`, `DocDb`, `EventHub`, `MySQL`, `NotificationHub`, `PostgreSQL`, `RedisCache`, `ServiceBus`, `SQLAzure`, and `SQLServer`.\n"},"value":{"type":"string","description":"The connection string value.\n","secret":true}},"type":"object","required":["name","type","value"]},"azure:appservice/LinuxWebAppSlotIdentity:LinuxWebAppSlotIdentity":{"properties":{"identityIds":{"type":"array","items":{"type":"string"},"description":"A list of User Assigned Managed Identity IDs to be assigned to this Linux Web App Slot.\n\n\u003e **Note:** This is required when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to `UserAssigned` or `SystemAssigned, UserAssigned`.\n"},"principalId":{"type":"string","description":"The Principal ID associated with this Managed Service Identity.\n"},"tenantId":{"type":"string","description":"The Tenant ID associated with this Managed Service Identity.\n"},"type":{"type":"string","description":"Specifies the type of Managed Service Identity that should be configured on this Linux Web App Slot. Possible values are `SystemAssigned`, `UserAssigned` and `SystemAssigned, UserAssigned` (to enable both).\n"}},"type":"object","required":["type"],"language":{"nodejs":{"requiredOutputs":["principalId","tenantId","type"]}}},"azure:appservice/LinuxWebAppSlotLogs:LinuxWebAppSlotLogs":{"properties":{"applicationLogs":{"$ref":"#/types/azure:appservice/LinuxWebAppSlotLogsApplicationLogs:LinuxWebAppSlotLogsApplicationLogs","description":"A \u003cspan pulumi-lang-nodejs=\"`applicationLogs`\" pulumi-lang-dotnet=\"`ApplicationLogs`\" pulumi-lang-go=\"`applicationLogs`\" pulumi-lang-python=\"`application_logs`\" pulumi-lang-yaml=\"`applicationLogs`\" pulumi-lang-java=\"`applicationLogs`\"\u003e`application_logs`\u003c/span\u003e block as defined above.\n"},"detailedErrorMessages":{"type":"boolean","description":"Should detailed error messages be enabled?\n"},"failedRequestTracing":{"type":"boolean","description":"Should the failed request tracing be enabled?\n"},"httpLogs":{"$ref":"#/types/azure:appservice/LinuxWebAppSlotLogsHttpLogs:LinuxWebAppSlotLogsHttpLogs","description":"An \u003cspan pulumi-lang-nodejs=\"`httpLogs`\" pulumi-lang-dotnet=\"`HttpLogs`\" pulumi-lang-go=\"`httpLogs`\" pulumi-lang-python=\"`http_logs`\" pulumi-lang-yaml=\"`httpLogs`\" pulumi-lang-java=\"`httpLogs`\"\u003e`http_logs`\u003c/span\u003e block as defined above.\n"}},"type":"object"},"azure:appservice/LinuxWebAppSlotLogsApplicationLogs:LinuxWebAppSlotLogsApplicationLogs":{"properties":{"azureBlobStorage":{"$ref":"#/types/azure:appservice/LinuxWebAppSlotLogsApplicationLogsAzureBlobStorage:LinuxWebAppSlotLogsApplicationLogsAzureBlobStorage","description":"An \u003cspan pulumi-lang-nodejs=\"`azureBlobStorage`\" pulumi-lang-dotnet=\"`AzureBlobStorage`\" pulumi-lang-go=\"`azureBlobStorage`\" pulumi-lang-python=\"`azure_blob_storage`\" pulumi-lang-yaml=\"`azureBlobStorage`\" pulumi-lang-java=\"`azureBlobStorage`\"\u003e`azure_blob_storage`\u003c/span\u003e block as defined below.\n"},"fileSystemLevel":{"type":"string","description":"Log level. Possible values include `Off`, `Verbose`, `Information`, `Warning`, and `Error`.\n"}},"type":"object","required":["fileSystemLevel"]},"azure:appservice/LinuxWebAppSlotLogsApplicationLogsAzureBlobStorage:LinuxWebAppSlotLogsApplicationLogsAzureBlobStorage":{"properties":{"level":{"type":"string","description":"The level at which to log. Possible values include `Error`, `Warning`, `Information`, `Verbose` and `Off`. **NOTE:** this field is not available for \u003cspan pulumi-lang-nodejs=\"`httpLogs`\" pulumi-lang-dotnet=\"`HttpLogs`\" pulumi-lang-go=\"`httpLogs`\" pulumi-lang-python=\"`http_logs`\" pulumi-lang-yaml=\"`httpLogs`\" pulumi-lang-java=\"`httpLogs`\"\u003e`http_logs`\u003c/span\u003e\n"},"retentionInDays":{"type":"integer","description":"The time in days after which to remove blobs. A value of \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e means no retention.\n"},"sasUrl":{"type":"string","description":"SAS URL to an Azure blob container with read/write/list/delete permissions.\n\n\u003e **Note:** There isn't enough information to for the provider to generate the \u003cspan pulumi-lang-nodejs=\"`sasUrl`\" pulumi-lang-dotnet=\"`SasUrl`\" pulumi-lang-go=\"`sasUrl`\" pulumi-lang-python=\"`sas_url`\" pulumi-lang-yaml=\"`sasUrl`\" pulumi-lang-java=\"`sasUrl`\"\u003e`sas_url`\u003c/span\u003e from `data.azurerm_storage_account_sas` and it should be built by hand (i.e. `https://${azurerm_storage_account.example.name}.blob.core.windows.net/${azurerm_storage_container.example.name}${data.azurerm_storage_account_sas.example.sas}\u0026sr=b`).\n"}},"type":"object","required":["level","retentionInDays","sasUrl"]},"azure:appservice/LinuxWebAppSlotLogsHttpLogs:LinuxWebAppSlotLogsHttpLogs":{"properties":{"azureBlobStorage":{"$ref":"#/types/azure:appservice/LinuxWebAppSlotLogsHttpLogsAzureBlobStorage:LinuxWebAppSlotLogsHttpLogsAzureBlobStorage","description":"A \u003cspan pulumi-lang-nodejs=\"`azureBlobStorageHttp`\" pulumi-lang-dotnet=\"`AzureBlobStorageHttp`\" pulumi-lang-go=\"`azureBlobStorageHttp`\" pulumi-lang-python=\"`azure_blob_storage_http`\" pulumi-lang-yaml=\"`azureBlobStorageHttp`\" pulumi-lang-java=\"`azureBlobStorageHttp`\"\u003e`azure_blob_storage_http`\u003c/span\u003e block as defined above.\n"},"fileSystem":{"$ref":"#/types/azure:appservice/LinuxWebAppSlotLogsHttpLogsFileSystem:LinuxWebAppSlotLogsHttpLogsFileSystem","description":"A \u003cspan pulumi-lang-nodejs=\"`fileSystem`\" pulumi-lang-dotnet=\"`FileSystem`\" pulumi-lang-go=\"`fileSystem`\" pulumi-lang-python=\"`file_system`\" pulumi-lang-yaml=\"`fileSystem`\" pulumi-lang-java=\"`fileSystem`\"\u003e`file_system`\u003c/span\u003e block as defined above.\n"}},"type":"object"},"azure:appservice/LinuxWebAppSlotLogsHttpLogsAzureBlobStorage:LinuxWebAppSlotLogsHttpLogsAzureBlobStorage":{"properties":{"retentionInDays":{"type":"integer","description":"The time in days after which to remove blobs. A value of \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e means no retention.\n"},"sasUrl":{"type":"string","description":"SAS URL to an Azure blob container with read/write/list/delete permissions.\n\n\u003e **Note:** There isn't enough information to for the provider to generate the \u003cspan pulumi-lang-nodejs=\"`sasUrl`\" pulumi-lang-dotnet=\"`SasUrl`\" pulumi-lang-go=\"`sasUrl`\" pulumi-lang-python=\"`sas_url`\" pulumi-lang-yaml=\"`sasUrl`\" pulumi-lang-java=\"`sasUrl`\"\u003e`sas_url`\u003c/span\u003e from `data.azurerm_storage_account_sas` and it should be built by hand (i.e. `https://${azurerm_storage_account.example.name}.blob.core.windows.net/${azurerm_storage_container.example.name}${data.azurerm_storage_account_sas.example.sas}\u0026sr=b`).\n","secret":true}},"type":"object","required":["sasUrl"]},"azure:appservice/LinuxWebAppSlotLogsHttpLogsFileSystem:LinuxWebAppSlotLogsHttpLogsFileSystem":{"properties":{"retentionInDays":{"type":"integer","description":"The retention period in days. A values of \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e means no retention.\n"},"retentionInMb":{"type":"integer","description":"The maximum size in megabytes that log files can use.\n"}},"type":"object","required":["retentionInDays","retentionInMb"]},"azure:appservice/LinuxWebAppSlotSiteConfig:LinuxWebAppSlotSiteConfig":{"properties":{"alwaysOn":{"type":"boolean","description":"If this Linux Web App is Always On enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"apiDefinitionUrl":{"type":"string","description":"The URL to the API Definition for this Linux Web App Slot.\n"},"apiManagementApiId":{"type":"string","description":"The API Management API ID this Linux Web App Slot is associated with.\n"},"appCommandLine":{"type":"string","description":"The App command line to launch.\n"},"applicationStack":{"$ref":"#/types/azure:appservice/LinuxWebAppSlotSiteConfigApplicationStack:LinuxWebAppSlotSiteConfigApplicationStack","description":"A \u003cspan pulumi-lang-nodejs=\"`applicationStack`\" pulumi-lang-dotnet=\"`ApplicationStack`\" pulumi-lang-go=\"`applicationStack`\" pulumi-lang-python=\"`application_stack`\" pulumi-lang-yaml=\"`applicationStack`\" pulumi-lang-java=\"`applicationStack`\"\u003e`application_stack`\u003c/span\u003e block as defined above.\n"},"autoHealSetting":{"$ref":"#/types/azure:appservice/LinuxWebAppSlotSiteConfigAutoHealSetting:LinuxWebAppSlotSiteConfigAutoHealSetting","description":"A \u003cspan pulumi-lang-nodejs=\"`autoHealSetting`\" pulumi-lang-dotnet=\"`AutoHealSetting`\" pulumi-lang-go=\"`autoHealSetting`\" pulumi-lang-python=\"`auto_heal_setting`\" pulumi-lang-yaml=\"`autoHealSetting`\" pulumi-lang-java=\"`autoHealSetting`\"\u003e`auto_heal_setting`\u003c/span\u003e block as defined above. Required with \u003cspan pulumi-lang-nodejs=\"`autoHeal`\" pulumi-lang-dotnet=\"`AutoHeal`\" pulumi-lang-go=\"`autoHeal`\" pulumi-lang-python=\"`auto_heal`\" pulumi-lang-yaml=\"`autoHeal`\" pulumi-lang-java=\"`autoHeal`\"\u003e`auto_heal`\u003c/span\u003e.\n"},"autoSwapSlotName":{"type":"string","description":"The Linux Web App Slot Name to automatically swap to when deployment to that slot is successfully completed.\n\n\u003e **Note:** This must be a valid slot name on the target Linux Web App.\n"},"containerRegistryManagedIdentityClientId":{"type":"string","description":"The Client ID of the Managed Service Identity to use for connections to the Azure Container Registry.\n"},"containerRegistryUseManagedIdentity":{"type":"boolean","description":"Should connections for Azure Container Registry use Managed Identity.\n"},"cors":{"$ref":"#/types/azure:appservice/LinuxWebAppSlotSiteConfigCors:LinuxWebAppSlotSiteConfigCors","description":"A \u003cspan pulumi-lang-nodejs=\"`cors`\" pulumi-lang-dotnet=\"`Cors`\" pulumi-lang-go=\"`cors`\" pulumi-lang-python=\"`cors`\" pulumi-lang-yaml=\"`cors`\" pulumi-lang-java=\"`cors`\"\u003e`cors`\u003c/span\u003e block as defined above.\n"},"defaultDocuments":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Default Documents for the Linux Web App.\n"},"detailedErrorLoggingEnabled":{"type":"boolean"},"ftpsState":{"type":"string","description":"The State of FTP / FTPS service. Possible values include `AllAllowed`, `FtpsOnly`, and `Disabled`. Defaults to `Disabled`.\n\n\u003e **Note:** Azure defaults this value to `AllAllowed`, however, in the interests of security Terraform will default this to `Disabled` to ensure the user makes a conscious choice to enable it.\n"},"healthCheckEvictionTimeInMin":{"type":"integer","description":"The amount of time in minutes that a node can be unhealthy before being removed from the load balancer. Possible values are between \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`10`\" pulumi-lang-dotnet=\"`10`\" pulumi-lang-go=\"`10`\" pulumi-lang-python=\"`10`\" pulumi-lang-yaml=\"`10`\" pulumi-lang-java=\"`10`\"\u003e`10`\u003c/span\u003e. Only valid in conjunction with \u003cspan pulumi-lang-nodejs=\"`healthCheckPath`\" pulumi-lang-dotnet=\"`HealthCheckPath`\" pulumi-lang-go=\"`healthCheckPath`\" pulumi-lang-python=\"`health_check_path`\" pulumi-lang-yaml=\"`healthCheckPath`\" pulumi-lang-java=\"`healthCheckPath`\"\u003e`health_check_path`\u003c/span\u003e.\n"},"healthCheckPath":{"type":"string","description":"The path to the Health Check.\n"},"http2Enabled":{"type":"boolean","description":"Should the HTTP2 be enabled?\n"},"ipRestrictionDefaultAction":{"type":"string","description":"The Default action for traffic that does not match any \u003cspan pulumi-lang-nodejs=\"`ipRestriction`\" pulumi-lang-dotnet=\"`IpRestriction`\" pulumi-lang-go=\"`ipRestriction`\" pulumi-lang-python=\"`ip_restriction`\" pulumi-lang-yaml=\"`ipRestriction`\" pulumi-lang-java=\"`ipRestriction`\"\u003e`ip_restriction`\u003c/span\u003e rule. possible values include `Allow` and `Deny`. Defaults to `Allow`.\n"},"ipRestrictions":{"type":"array","items":{"$ref":"#/types/azure:appservice/LinuxWebAppSlotSiteConfigIpRestriction:LinuxWebAppSlotSiteConfigIpRestriction"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`ipRestriction`\" pulumi-lang-dotnet=\"`IpRestriction`\" pulumi-lang-go=\"`ipRestriction`\" pulumi-lang-python=\"`ip_restriction`\" pulumi-lang-yaml=\"`ipRestriction`\" pulumi-lang-java=\"`ipRestriction`\"\u003e`ip_restriction`\u003c/span\u003e blocks as defined above.\n"},"linuxFxVersion":{"type":"string"},"loadBalancingMode":{"type":"string","description":"The Site load balancing. Possible values include: `WeightedRoundRobin`, `LeastRequests`, `LeastResponseTime`, `WeightedTotalTraffic`, `RequestHash`, `PerSiteRoundRobin`. Defaults to `LeastRequests` if omitted.\n"},"localMysqlEnabled":{"type":"boolean","description":"Use Local MySQL. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"managedPipelineMode":{"type":"string","description":"Managed pipeline mode. Possible values include: `Integrated`, `Classic`. Defaults to `Integrated`.\n"},"minimumTlsVersion":{"type":"string","description":"The configures the minimum version of TLS required for SSL requests. Possible values are `1.0`, `1.1`, `1.2` and `1.3`. Defaults to `1.2`.\n"},"remoteDebuggingEnabled":{"type":"boolean","description":"Should Remote Debugging be enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"remoteDebuggingVersion":{"type":"string","description":"The Remote Debugging Version. Currently only `VS2022` is supported.\n"},"scmIpRestrictionDefaultAction":{"type":"string","description":"The Default action for traffic that does not match any \u003cspan pulumi-lang-nodejs=\"`scmIpRestriction`\" pulumi-lang-dotnet=\"`ScmIpRestriction`\" pulumi-lang-go=\"`scmIpRestriction`\" pulumi-lang-python=\"`scm_ip_restriction`\" pulumi-lang-yaml=\"`scmIpRestriction`\" pulumi-lang-java=\"`scmIpRestriction`\"\u003e`scm_ip_restriction`\u003c/span\u003e rule. possible values include `Allow` and `Deny`. Defaults to `Allow`.\n"},"scmIpRestrictions":{"type":"array","items":{"$ref":"#/types/azure:appservice/LinuxWebAppSlotSiteConfigScmIpRestriction:LinuxWebAppSlotSiteConfigScmIpRestriction"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`scmIpRestriction`\" pulumi-lang-dotnet=\"`ScmIpRestriction`\" pulumi-lang-go=\"`scmIpRestriction`\" pulumi-lang-python=\"`scm_ip_restriction`\" pulumi-lang-yaml=\"`scmIpRestriction`\" pulumi-lang-java=\"`scmIpRestriction`\"\u003e`scm_ip_restriction`\u003c/span\u003e blocks as defined above.\n"},"scmMinimumTlsVersion":{"type":"string","description":"The configures the minimum version of TLS required for SSL requests to the SCM site Possible values are `1.0`, `1.1`, `1.2` and `1.3`. Defaults to `1.2`.\n"},"scmType":{"type":"string"},"scmUseMainIpRestriction":{"type":"boolean","description":"Should the Linux Web App \u003cspan pulumi-lang-nodejs=\"`ipRestriction`\" pulumi-lang-dotnet=\"`IpRestriction`\" pulumi-lang-go=\"`ipRestriction`\" pulumi-lang-python=\"`ip_restriction`\" pulumi-lang-yaml=\"`ipRestriction`\" pulumi-lang-java=\"`ipRestriction`\"\u003e`ip_restriction`\u003c/span\u003e configuration be used for the SCM also.\n"},"use32BitWorker":{"type":"boolean","description":"Should the Linux Web App use a 32-bit worker? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"vnetRouteAllEnabled":{"type":"boolean","description":"Should all outbound traffic have NAT Gateways, Network Security Groups and User Defined Routes applied? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"websocketsEnabled":{"type":"boolean","description":"Should Web Sockets be enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"workerCount":{"type":"integer","description":"The number of Workers for this Linux App Service Slot.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["applicationStack","defaultDocuments","detailedErrorLoggingEnabled","linuxFxVersion","remoteDebuggingVersion","scmType","workerCount"]}}},"azure:appservice/LinuxWebAppSlotSiteConfigApplicationStack:LinuxWebAppSlotSiteConfigApplicationStack":{"properties":{"dockerImageName":{"type":"string","description":"The docker image, including tag, to be used. e.g. `appsvc/staticsite:latest`.\n"},"dockerRegistryPassword":{"type":"string","description":"The User Name to use for authentication against the registry to pull the image.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`dockerRegistryUrl`\" pulumi-lang-dotnet=\"`DockerRegistryUrl`\" pulumi-lang-go=\"`dockerRegistryUrl`\" pulumi-lang-python=\"`docker_registry_url`\" pulumi-lang-yaml=\"`dockerRegistryUrl`\" pulumi-lang-java=\"`dockerRegistryUrl`\"\u003e`docker_registry_url`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`dockerRegistryUsername`\" pulumi-lang-dotnet=\"`DockerRegistryUsername`\" pulumi-lang-go=\"`dockerRegistryUsername`\" pulumi-lang-python=\"`docker_registry_username`\" pulumi-lang-yaml=\"`dockerRegistryUsername`\" pulumi-lang-java=\"`dockerRegistryUsername`\"\u003e`docker_registry_username`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`dockerRegistryPassword`\" pulumi-lang-dotnet=\"`DockerRegistryPassword`\" pulumi-lang-go=\"`dockerRegistryPassword`\" pulumi-lang-python=\"`docker_registry_password`\" pulumi-lang-yaml=\"`dockerRegistryPassword`\" pulumi-lang-java=\"`dockerRegistryPassword`\"\u003e`docker_registry_password`\u003c/span\u003e replace the use of the \u003cspan pulumi-lang-nodejs=\"`appSettings`\" pulumi-lang-dotnet=\"`AppSettings`\" pulumi-lang-go=\"`appSettings`\" pulumi-lang-python=\"`app_settings`\" pulumi-lang-yaml=\"`appSettings`\" pulumi-lang-java=\"`appSettings`\"\u003e`app_settings`\u003c/span\u003e values of `DOCKER_REGISTRY_SERVER_URL`, `DOCKER_REGISTRY_SERVER_USERNAME` and `DOCKER_REGISTRY_SERVER_PASSWORD` respectively, these values will be managed by the provider and should not be specified in the \u003cspan pulumi-lang-nodejs=\"`appSettings`\" pulumi-lang-dotnet=\"`AppSettings`\" pulumi-lang-go=\"`appSettings`\" pulumi-lang-python=\"`app_settings`\" pulumi-lang-yaml=\"`appSettings`\" pulumi-lang-java=\"`appSettings`\"\u003e`app_settings`\u003c/span\u003e map.\n","secret":true},"dockerRegistryUrl":{"type":"string","description":"The URL of the container registry where the \u003cspan pulumi-lang-nodejs=\"`dockerImageName`\" pulumi-lang-dotnet=\"`DockerImageName`\" pulumi-lang-go=\"`dockerImageName`\" pulumi-lang-python=\"`docker_image_name`\" pulumi-lang-yaml=\"`dockerImageName`\" pulumi-lang-java=\"`dockerImageName`\"\u003e`docker_image_name`\u003c/span\u003e is located. e.g. `https://index.docker.io` or `https://mcr.microsoft.com`. This value is required with \u003cspan pulumi-lang-nodejs=\"`dockerImageName`\" pulumi-lang-dotnet=\"`DockerImageName`\" pulumi-lang-go=\"`dockerImageName`\" pulumi-lang-python=\"`docker_image_name`\" pulumi-lang-yaml=\"`dockerImageName`\" pulumi-lang-java=\"`dockerImageName`\"\u003e`docker_image_name`\u003c/span\u003e.\n"},"dockerRegistryUsername":{"type":"string","description":"The User Name to use for authentication against the registry to pull the image.\n"},"dotnetVersion":{"type":"string","description":"The version of .NET to use. Possible values include `3.1`, `5.0`, `6.0`, `7.0`, `8.0`, `9.0` and `10.0`.\n"},"goVersion":{"type":"string","description":"The version of Go to use. Possible values include `1.18`, and `1.19`.\n"},"javaServer":{"type":"string","description":"The Java server type. Possible values include `JAVA`, `TOMCAT`, and `JBOSSEAP`.\n\n\u003e **Note:** `JBOSSEAP` requires a Premium Service Plan SKU to be a valid option.\n"},"javaServerVersion":{"type":"string","description":"The Version of the \u003cspan pulumi-lang-nodejs=\"`javaServer`\" pulumi-lang-dotnet=\"`JavaServer`\" pulumi-lang-go=\"`javaServer`\" pulumi-lang-python=\"`java_server`\" pulumi-lang-yaml=\"`javaServer`\" pulumi-lang-java=\"`javaServer`\"\u003e`java_server`\u003c/span\u003e to use.\n"},"javaVersion":{"type":"string","description":"The Version of Java to use. Possible values are \u003cspan pulumi-lang-nodejs=\"`8`\" pulumi-lang-dotnet=\"`8`\" pulumi-lang-go=\"`8`\" pulumi-lang-python=\"`8`\" pulumi-lang-yaml=\"`8`\" pulumi-lang-java=\"`8`\"\u003e`8`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`11`\" pulumi-lang-dotnet=\"`11`\" pulumi-lang-go=\"`11`\" pulumi-lang-python=\"`11`\" pulumi-lang-yaml=\"`11`\" pulumi-lang-java=\"`11`\"\u003e`11`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`17`\" pulumi-lang-dotnet=\"`17`\" pulumi-lang-go=\"`17`\" pulumi-lang-python=\"`17`\" pulumi-lang-yaml=\"`17`\" pulumi-lang-java=\"`17`\"\u003e`17`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`21`\" pulumi-lang-dotnet=\"`21`\" pulumi-lang-go=\"`21`\" pulumi-lang-python=\"`21`\" pulumi-lang-yaml=\"`21`\" pulumi-lang-java=\"`21`\"\u003e`21`\u003c/span\u003e.\n\n\u003e **Note:** The valid version combinations for \u003cspan pulumi-lang-nodejs=\"`javaVersion`\" pulumi-lang-dotnet=\"`JavaVersion`\" pulumi-lang-go=\"`javaVersion`\" pulumi-lang-python=\"`java_version`\" pulumi-lang-yaml=\"`javaVersion`\" pulumi-lang-java=\"`javaVersion`\"\u003e`java_version`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`javaServer`\" pulumi-lang-dotnet=\"`JavaServer`\" pulumi-lang-go=\"`javaServer`\" pulumi-lang-python=\"`java_server`\" pulumi-lang-yaml=\"`javaServer`\" pulumi-lang-java=\"`javaServer`\"\u003e`java_server`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`javaServerVersion`\" pulumi-lang-dotnet=\"`JavaServerVersion`\" pulumi-lang-go=\"`javaServerVersion`\" pulumi-lang-python=\"`java_server_version`\" pulumi-lang-yaml=\"`javaServerVersion`\" pulumi-lang-java=\"`javaServerVersion`\"\u003e`java_server_version`\u003c/span\u003e can be checked from the command line via `az webapp list-runtimes --os-type linux`.\n"},"nodeVersion":{"type":"string","description":"The version of Node to run. Possible values are `12-lts`, `14-lts`, `16-lts`, `18-lts`, `20-lts`, `22-lts` and `24-lts`. This property conflicts with \u003cspan pulumi-lang-nodejs=\"`javaVersion`\" pulumi-lang-dotnet=\"`JavaVersion`\" pulumi-lang-go=\"`javaVersion`\" pulumi-lang-python=\"`java_version`\" pulumi-lang-yaml=\"`javaVersion`\" pulumi-lang-java=\"`javaVersion`\"\u003e`java_version`\u003c/span\u003e.\n\n\u003e **Note:** 10.x versions have been/are being deprecated so may cease to work for new resources in the future and may be removed from the provider.\n"},"phpVersion":{"type":"string","description":"The version of PHP to run. Possible values are `7.4`, `8.0`, `8.1`, `8.2`, `8.3` and `8.4`.\n\n\u003e **Note:** version `7.4` is deprecated and will be removed from the provider in a future version.\n"},"pythonVersion":{"type":"string","description":"The version of Python to run. Possible values include `3.13`, `3.12`, `3.11`, `3.10`, `3.9`, `3.8` and `3.7`.\n"},"rubyVersion":{"type":"string","description":"The version of Ruby to run. Possible values include `2.6` and `2.7`.\n"}},"type":"object"},"azure:appservice/LinuxWebAppSlotSiteConfigAutoHealSetting:LinuxWebAppSlotSiteConfigAutoHealSetting":{"properties":{"action":{"$ref":"#/types/azure:appservice/LinuxWebAppSlotSiteConfigAutoHealSettingAction:LinuxWebAppSlotSiteConfigAutoHealSettingAction","description":"A \u003cspan pulumi-lang-nodejs=\"`action`\" pulumi-lang-dotnet=\"`Action`\" pulumi-lang-go=\"`action`\" pulumi-lang-python=\"`action`\" pulumi-lang-yaml=\"`action`\" pulumi-lang-java=\"`action`\"\u003e`action`\u003c/span\u003e block as defined above.\n"},"trigger":{"$ref":"#/types/azure:appservice/LinuxWebAppSlotSiteConfigAutoHealSettingTrigger:LinuxWebAppSlotSiteConfigAutoHealSettingTrigger","description":"A \u003cspan pulumi-lang-nodejs=\"`trigger`\" pulumi-lang-dotnet=\"`Trigger`\" pulumi-lang-go=\"`trigger`\" pulumi-lang-python=\"`trigger`\" pulumi-lang-yaml=\"`trigger`\" pulumi-lang-java=\"`trigger`\"\u003e`trigger`\u003c/span\u003e block as defined below.\n"}},"type":"object"},"azure:appservice/LinuxWebAppSlotSiteConfigAutoHealSettingAction:LinuxWebAppSlotSiteConfigAutoHealSettingAction":{"properties":{"actionType":{"type":"string","description":"Predefined action to be taken to an Auto Heal trigger. Possible values include: `Recycle`.\n"},"minimumProcessExecutionTime":{"type":"string","description":"The minimum amount of time in `hh:mm:ss` the Linux Web App must have been running before the defined action will be run in the event of a trigger.\n"}},"type":"object","required":["actionType"],"language":{"nodejs":{"requiredOutputs":["actionType","minimumProcessExecutionTime"]}}},"azure:appservice/LinuxWebAppSlotSiteConfigAutoHealSettingTrigger:LinuxWebAppSlotSiteConfigAutoHealSettingTrigger":{"properties":{"requests":{"$ref":"#/types/azure:appservice/LinuxWebAppSlotSiteConfigAutoHealSettingTriggerRequests:LinuxWebAppSlotSiteConfigAutoHealSettingTriggerRequests","description":"A \u003cspan pulumi-lang-nodejs=\"`requests`\" pulumi-lang-dotnet=\"`Requests`\" pulumi-lang-go=\"`requests`\" pulumi-lang-python=\"`requests`\" pulumi-lang-yaml=\"`requests`\" pulumi-lang-java=\"`requests`\"\u003e`requests`\u003c/span\u003e block as defined above.\n"},"slowRequest":{"$ref":"#/types/azure:appservice/LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequest:LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequest","description":"A \u003cspan pulumi-lang-nodejs=\"`slowRequest`\" pulumi-lang-dotnet=\"`SlowRequest`\" pulumi-lang-go=\"`slowRequest`\" pulumi-lang-python=\"`slow_request`\" pulumi-lang-yaml=\"`slowRequest`\" pulumi-lang-java=\"`slowRequest`\"\u003e`slow_request`\u003c/span\u003e block as defined above.\n"},"slowRequestWithPaths":{"type":"array","items":{"$ref":"#/types/azure:appservice/LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPath:LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPath"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`slowRequestWithPath`\" pulumi-lang-dotnet=\"`SlowRequestWithPath`\" pulumi-lang-go=\"`slowRequestWithPath`\" pulumi-lang-python=\"`slow_request_with_path`\" pulumi-lang-yaml=\"`slowRequestWithPath`\" pulumi-lang-java=\"`slowRequestWithPath`\"\u003e`slow_request_with_path`\u003c/span\u003e blocks as defined above.\n"},"statusCodes":{"type":"array","items":{"$ref":"#/types/azure:appservice/LinuxWebAppSlotSiteConfigAutoHealSettingTriggerStatusCode:LinuxWebAppSlotSiteConfigAutoHealSettingTriggerStatusCode"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`statusCode`\" pulumi-lang-dotnet=\"`StatusCode`\" pulumi-lang-go=\"`statusCode`\" pulumi-lang-python=\"`status_code`\" pulumi-lang-yaml=\"`statusCode`\" pulumi-lang-java=\"`statusCode`\"\u003e`status_code`\u003c/span\u003e blocks as defined above.\n"}},"type":"object"},"azure:appservice/LinuxWebAppSlotSiteConfigAutoHealSettingTriggerRequests:LinuxWebAppSlotSiteConfigAutoHealSettingTriggerRequests":{"properties":{"count":{"type":"integer","description":"The number of requests in the specified \u003cspan pulumi-lang-nodejs=\"`interval`\" pulumi-lang-dotnet=\"`Interval`\" pulumi-lang-go=\"`interval`\" pulumi-lang-python=\"`interval`\" pulumi-lang-yaml=\"`interval`\" pulumi-lang-java=\"`interval`\"\u003e`interval`\u003c/span\u003e to trigger this rule.\n"},"interval":{"type":"string","description":"The interval in `hh:mm:ss`.\n"}},"type":"object","required":["count","interval"]},"azure:appservice/LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequest:LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequest":{"properties":{"count":{"type":"integer","description":"The number of Slow Requests in the time \u003cspan pulumi-lang-nodejs=\"`interval`\" pulumi-lang-dotnet=\"`Interval`\" pulumi-lang-go=\"`interval`\" pulumi-lang-python=\"`interval`\" pulumi-lang-yaml=\"`interval`\" pulumi-lang-java=\"`interval`\"\u003e`interval`\u003c/span\u003e to trigger this rule.\n"},"interval":{"type":"string","description":"The time interval in the form `hh:mm:ss`.\n"},"timeTaken":{"type":"string","description":"The threshold of time passed to qualify as a Slow Request in `hh:mm:ss`.\n"}},"type":"object","required":["count","interval","timeTaken"]},"azure:appservice/LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPath:LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPath":{"properties":{"count":{"type":"integer","description":"The number of Slow Requests in the time \u003cspan pulumi-lang-nodejs=\"`interval`\" pulumi-lang-dotnet=\"`Interval`\" pulumi-lang-go=\"`interval`\" pulumi-lang-python=\"`interval`\" pulumi-lang-yaml=\"`interval`\" pulumi-lang-java=\"`interval`\"\u003e`interval`\u003c/span\u003e to trigger this rule.\n"},"interval":{"type":"string","description":"The time interval in the form `hh:mm:ss`.\n"},"path":{"type":"string","description":"The path for which this slow request rule applies.\n"},"timeTaken":{"type":"string","description":"The threshold of time passed to qualify as a Slow Request in `hh:mm:ss`.\n"}},"type":"object","required":["count","interval","timeTaken"]},"azure:appservice/LinuxWebAppSlotSiteConfigAutoHealSettingTriggerStatusCode:LinuxWebAppSlotSiteConfigAutoHealSettingTriggerStatusCode":{"properties":{"count":{"type":"integer","description":"The number of occurrences of the defined \u003cspan pulumi-lang-nodejs=\"`statusCode`\" pulumi-lang-dotnet=\"`StatusCode`\" pulumi-lang-go=\"`statusCode`\" pulumi-lang-python=\"`status_code`\" pulumi-lang-yaml=\"`statusCode`\" pulumi-lang-java=\"`statusCode`\"\u003e`status_code`\u003c/span\u003e in the specified \u003cspan pulumi-lang-nodejs=\"`interval`\" pulumi-lang-dotnet=\"`Interval`\" pulumi-lang-go=\"`interval`\" pulumi-lang-python=\"`interval`\" pulumi-lang-yaml=\"`interval`\" pulumi-lang-java=\"`interval`\"\u003e`interval`\u003c/span\u003e on which to trigger this rule.\n"},"interval":{"type":"string","description":"The time interval in the form `hh:mm:ss`.\n"},"path":{"type":"string","description":"The path to which this rule status code applies.\n"},"statusCodeRange":{"type":"string","description":"The status code for this rule, accepts single status codes and status code ranges. e.g. \u003cspan pulumi-lang-nodejs=\"`500`\" pulumi-lang-dotnet=\"`500`\" pulumi-lang-go=\"`500`\" pulumi-lang-python=\"`500`\" pulumi-lang-yaml=\"`500`\" pulumi-lang-java=\"`500`\"\u003e`500`\u003c/span\u003e or `400-499`. Possible values are integers between \u003cspan pulumi-lang-nodejs=\"`101`\" pulumi-lang-dotnet=\"`101`\" pulumi-lang-go=\"`101`\" pulumi-lang-python=\"`101`\" pulumi-lang-yaml=\"`101`\" pulumi-lang-java=\"`101`\"\u003e`101`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`599`\" pulumi-lang-dotnet=\"`599`\" pulumi-lang-go=\"`599`\" pulumi-lang-python=\"`599`\" pulumi-lang-yaml=\"`599`\" pulumi-lang-java=\"`599`\"\u003e`599`\u003c/span\u003e\n"},"subStatus":{"type":"integer","description":"The Request Sub Status of the Status Code.\n"},"win32StatusCode":{"type":"integer","description":"The Win32 Status Code of the Request.\n"}},"type":"object","required":["count","interval","statusCodeRange"]},"azure:appservice/LinuxWebAppSlotSiteConfigCors:LinuxWebAppSlotSiteConfigCors":{"properties":{"allowedOrigins":{"type":"array","items":{"type":"string"},"description":"Specifies a list of origins that should be allowed to make cross-origin calls.\n"},"supportCredentials":{"type":"boolean","description":"Whether CORS requests with credentials are allowed. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e\n"}},"type":"object"},"azure:appservice/LinuxWebAppSlotSiteConfigIpRestriction:LinuxWebAppSlotSiteConfigIpRestriction":{"properties":{"action":{"type":"string","description":"The action to take. Possible values are `Allow` or `Deny`. Defaults to `Allow`.\n"},"description":{"type":"string","description":"The Description of this IP Restriction.\n"},"headers":{"$ref":"#/types/azure:appservice/LinuxWebAppSlotSiteConfigIpRestrictionHeaders:LinuxWebAppSlotSiteConfigIpRestrictionHeaders","description":"A \u003cspan pulumi-lang-nodejs=\"`headers`\" pulumi-lang-dotnet=\"`Headers`\" pulumi-lang-go=\"`headers`\" pulumi-lang-python=\"`headers`\" pulumi-lang-yaml=\"`headers`\" pulumi-lang-java=\"`headers`\"\u003e`headers`\u003c/span\u003e block as defined above.\n"},"ipAddress":{"type":"string","description":"The CIDR notation of the IP or IP Range to match. For example: `10.0.0.0/24` or `192.168.10.1/32`\n"},"name":{"type":"string","description":"The name which should be used for this \u003cspan pulumi-lang-nodejs=\"`ipRestriction`\" pulumi-lang-dotnet=\"`IpRestriction`\" pulumi-lang-go=\"`ipRestriction`\" pulumi-lang-python=\"`ip_restriction`\" pulumi-lang-yaml=\"`ipRestriction`\" pulumi-lang-java=\"`ipRestriction`\"\u003e`ip_restriction`\u003c/span\u003e.\n"},"priority":{"type":"integer","description":"The priority value of this \u003cspan pulumi-lang-nodejs=\"`ipRestriction`\" pulumi-lang-dotnet=\"`IpRestriction`\" pulumi-lang-go=\"`ipRestriction`\" pulumi-lang-python=\"`ip_restriction`\" pulumi-lang-yaml=\"`ipRestriction`\" pulumi-lang-java=\"`ipRestriction`\"\u003e`ip_restriction`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`65000`\" pulumi-lang-dotnet=\"`65000`\" pulumi-lang-go=\"`65000`\" pulumi-lang-python=\"`65000`\" pulumi-lang-yaml=\"`65000`\" pulumi-lang-java=\"`65000`\"\u003e`65000`\u003c/span\u003e.\n"},"serviceTag":{"type":"string","description":"The Service Tag used for this IP Restriction.\n"},"virtualNetworkSubnetId":{"type":"string","description":"The Virtual Network Subnet ID used for this IP Restriction.\n\n\u003e **Note:** One and only one of \u003cspan pulumi-lang-nodejs=\"`ipAddress`\" pulumi-lang-dotnet=\"`IpAddress`\" pulumi-lang-go=\"`ipAddress`\" pulumi-lang-python=\"`ip_address`\" pulumi-lang-yaml=\"`ipAddress`\" pulumi-lang-java=\"`ipAddress`\"\u003e`ip_address`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`serviceTag`\" pulumi-lang-dotnet=\"`ServiceTag`\" pulumi-lang-go=\"`serviceTag`\" pulumi-lang-python=\"`service_tag`\" pulumi-lang-yaml=\"`serviceTag`\" pulumi-lang-java=\"`serviceTag`\"\u003e`service_tag`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`virtualNetworkSubnetId`\" pulumi-lang-dotnet=\"`VirtualNetworkSubnetId`\" pulumi-lang-go=\"`virtualNetworkSubnetId`\" pulumi-lang-python=\"`virtual_network_subnet_id`\" pulumi-lang-yaml=\"`virtualNetworkSubnetId`\" pulumi-lang-java=\"`virtualNetworkSubnetId`\"\u003e`virtual_network_subnet_id`\u003c/span\u003e must be specified.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["name"]}}},"azure:appservice/LinuxWebAppSlotSiteConfigIpRestrictionHeaders:LinuxWebAppSlotSiteConfigIpRestrictionHeaders":{"properties":{"xAzureFdids":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Azure Front Door IDs.\n"},"xFdHealthProbe":{"type":"string","description":"Specifies if a Front Door Health Probe should be expected. The only possible value is \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e.\n"},"xForwardedFors":{"type":"array","items":{"type":"string"},"description":"Specifies a list of addresses for which matching should be applied. Omitting this value means allow any.\n"},"xForwardedHosts":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Hosts for which matching should be applied.\n"}},"type":"object"},"azure:appservice/LinuxWebAppSlotSiteConfigScmIpRestriction:LinuxWebAppSlotSiteConfigScmIpRestriction":{"properties":{"action":{"type":"string","description":"The action to take. Possible values are `Allow` or `Deny`. Defaults to `Allow`.\n"},"description":{"type":"string","description":"The Description of this IP Restriction.\n"},"headers":{"$ref":"#/types/azure:appservice/LinuxWebAppSlotSiteConfigScmIpRestrictionHeaders:LinuxWebAppSlotSiteConfigScmIpRestrictionHeaders","description":"A \u003cspan pulumi-lang-nodejs=\"`headers`\" pulumi-lang-dotnet=\"`Headers`\" pulumi-lang-go=\"`headers`\" pulumi-lang-python=\"`headers`\" pulumi-lang-yaml=\"`headers`\" pulumi-lang-java=\"`headers`\"\u003e`headers`\u003c/span\u003e block as defined above.\n"},"ipAddress":{"type":"string","description":"The CIDR notation of the IP or IP Range to match. For example: `10.0.0.0/24` or `192.168.10.1/32`\n"},"name":{"type":"string","description":"The name which should be used for this \u003cspan pulumi-lang-nodejs=\"`ipRestriction`\" pulumi-lang-dotnet=\"`IpRestriction`\" pulumi-lang-go=\"`ipRestriction`\" pulumi-lang-python=\"`ip_restriction`\" pulumi-lang-yaml=\"`ipRestriction`\" pulumi-lang-java=\"`ipRestriction`\"\u003e`ip_restriction`\u003c/span\u003e.\n"},"priority":{"type":"integer","description":"The priority value of this \u003cspan pulumi-lang-nodejs=\"`ipRestriction`\" pulumi-lang-dotnet=\"`IpRestriction`\" pulumi-lang-go=\"`ipRestriction`\" pulumi-lang-python=\"`ip_restriction`\" pulumi-lang-yaml=\"`ipRestriction`\" pulumi-lang-java=\"`ipRestriction`\"\u003e`ip_restriction`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`65000`\" pulumi-lang-dotnet=\"`65000`\" pulumi-lang-go=\"`65000`\" pulumi-lang-python=\"`65000`\" pulumi-lang-yaml=\"`65000`\" pulumi-lang-java=\"`65000`\"\u003e`65000`\u003c/span\u003e.\n"},"serviceTag":{"type":"string","description":"The Service Tag used for this IP Restriction.\n"},"virtualNetworkSubnetId":{"type":"string","description":"The Virtual Network Subnet ID used for this IP Restriction.\n\n\u003e **Note:** One and only one of \u003cspan pulumi-lang-nodejs=\"`ipAddress`\" pulumi-lang-dotnet=\"`IpAddress`\" pulumi-lang-go=\"`ipAddress`\" pulumi-lang-python=\"`ip_address`\" pulumi-lang-yaml=\"`ipAddress`\" pulumi-lang-java=\"`ipAddress`\"\u003e`ip_address`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`serviceTag`\" pulumi-lang-dotnet=\"`ServiceTag`\" pulumi-lang-go=\"`serviceTag`\" pulumi-lang-python=\"`service_tag`\" pulumi-lang-yaml=\"`serviceTag`\" pulumi-lang-java=\"`serviceTag`\"\u003e`service_tag`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`virtualNetworkSubnetId`\" pulumi-lang-dotnet=\"`VirtualNetworkSubnetId`\" pulumi-lang-go=\"`virtualNetworkSubnetId`\" pulumi-lang-python=\"`virtual_network_subnet_id`\" pulumi-lang-yaml=\"`virtualNetworkSubnetId`\" pulumi-lang-java=\"`virtualNetworkSubnetId`\"\u003e`virtual_network_subnet_id`\u003c/span\u003e must be specified.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["name"]}}},"azure:appservice/LinuxWebAppSlotSiteConfigScmIpRestrictionHeaders:LinuxWebAppSlotSiteConfigScmIpRestrictionHeaders":{"properties":{"xAzureFdids":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Azure Front Door IDs.\n"},"xFdHealthProbe":{"type":"string","description":"Specifies if a Front Door Health Probe should be expected. The only possible value is \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e.\n"},"xForwardedFors":{"type":"array","items":{"type":"string"},"description":"Specifies a list of addresses for which matching should be applied. Omitting this value means allow any.\n"},"xForwardedHosts":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Hosts for which matching should be applied.\n"}},"type":"object"},"azure:appservice/LinuxWebAppSlotSiteCredential:LinuxWebAppSlotSiteCredential":{"properties":{"name":{"type":"string","description":"The name which should be used for this Linux Web App Slot. Changing this forces a new Linux Web App Slot to be created.\n\n\u003e **Note:** Terraform will perform a name availability check as part of the creation progress, if this Web App is part of an App Service Environment terraform will require Read permission on the ASE for this to complete reliably.\n","secret":true},"password":{"type":"string","description":"The Site Credentials Password used for publishing.\n","secret":true}},"type":"object","language":{"nodejs":{"requiredOutputs":["name","password"]}}},"azure:appservice/LinuxWebAppSlotStorageAccount:LinuxWebAppSlotStorageAccount":{"properties":{"accessKey":{"type":"string","description":"The Access key for the storage account.\n","secret":true},"accountName":{"type":"string","description":"The Name of the Storage Account.\n"},"mountPath":{"type":"string","description":"The path at which to mount the storage share.\n"},"name":{"type":"string","description":"The name which should be used for this Storage Account.\n"},"shareName":{"type":"string","description":"The Name of the File Share or Container Name for Blob storage.\n"},"type":{"type":"string","description":"The Azure Storage Type. Possible values include `AzureFiles` and `AzureBlob`\n"}},"type":"object","required":["accessKey","accountName","name","shareName","type"]},"azure:appservice/LinuxWebAppStickySettings:LinuxWebAppStickySettings":{"properties":{"appSettingNames":{"type":"array","items":{"type":"string"},"description":"A list of \u003cspan pulumi-lang-nodejs=\"`appSetting`\" pulumi-lang-dotnet=\"`AppSetting`\" pulumi-lang-go=\"`appSetting`\" pulumi-lang-python=\"`app_setting`\" pulumi-lang-yaml=\"`appSetting`\" pulumi-lang-java=\"`appSetting`\"\u003e`app_setting`\u003c/span\u003e names that the Linux Web App will not swap between Slots when a swap operation is triggered.\n"},"connectionStringNames":{"type":"array","items":{"type":"string"},"description":"A list of \u003cspan pulumi-lang-nodejs=\"`connectionString`\" pulumi-lang-dotnet=\"`ConnectionString`\" pulumi-lang-go=\"`connectionString`\" pulumi-lang-python=\"`connection_string`\" pulumi-lang-yaml=\"`connectionString`\" pulumi-lang-java=\"`connectionString`\"\u003e`connection_string`\u003c/span\u003e names that the Linux Web App will not swap between Slots when a swap operation is triggered.\n"}},"type":"object"},"azure:appservice/LinuxWebAppStorageAccount:LinuxWebAppStorageAccount":{"properties":{"accessKey":{"type":"string","description":"The Access key for the storage account.\n","secret":true},"accountName":{"type":"string","description":"The Name of the Storage Account.\n"},"mountPath":{"type":"string","description":"The path at which to mount the storage share.\n"},"name":{"type":"string","description":"The name which should be used for this Storage Account.\n"},"shareName":{"type":"string","description":"The Name of the File Share or Container Name for Blob storage.\n"},"type":{"type":"string","description":"The Azure Storage Type. Possible values include `AzureFiles` and `AzureBlob`\n"}},"type":"object","required":["accessKey","accountName","name","shareName","type"]},"azure:appservice/PlanSku:PlanSku":{"properties":{"capacity":{"type":"integer","description":"Specifies the number of workers associated with this App Service Plan.\n"},"size":{"type":"string","description":"Specifies the plan's instance size.\n"},"tier":{"type":"string","description":"Specifies the plan's pricing tier.\n"}},"type":"object","required":["size","tier"],"language":{"nodejs":{"requiredOutputs":["capacity","size","tier"]}}},"azure:appservice/SlotAuthSettings:SlotAuthSettings":{"properties":{"activeDirectory":{"$ref":"#/types/azure:appservice/SlotAuthSettingsActiveDirectory:SlotAuthSettingsActiveDirectory","description":"A \u003cspan pulumi-lang-nodejs=\"`activeDirectory`\" pulumi-lang-dotnet=\"`ActiveDirectory`\" pulumi-lang-go=\"`activeDirectory`\" pulumi-lang-python=\"`active_directory`\" pulumi-lang-yaml=\"`activeDirectory`\" pulumi-lang-java=\"`activeDirectory`\"\u003e`active_directory`\u003c/span\u003e block as defined below.\n"},"additionalLoginParams":{"type":"object","additionalProperties":{"type":"string"},"description":"Login parameters to send to the OpenID Connect authorization endpoint when a user logs in. Each parameter must be in the form \"key=value\".\n"},"allowedExternalRedirectUrls":{"type":"array","items":{"type":"string"},"description":"External URLs that can be redirected to as part of logging in or logging out of the app.\n"},"defaultProvider":{"type":"string","description":"The default provider to use when multiple providers have been set up. Possible values are `AzureActiveDirectory`, `Facebook`, `Google`, `MicrosoftAccount` and `Twitter`.\n\n\u003e **NOTE:** When using multiple providers, the default provider must be set for settings like \u003cspan pulumi-lang-nodejs=\"`unauthenticatedClientAction`\" pulumi-lang-dotnet=\"`UnauthenticatedClientAction`\" pulumi-lang-go=\"`unauthenticatedClientAction`\" pulumi-lang-python=\"`unauthenticated_client_action`\" pulumi-lang-yaml=\"`unauthenticatedClientAction`\" pulumi-lang-java=\"`unauthenticatedClientAction`\"\u003e`unauthenticated_client_action`\u003c/span\u003e to work.\n"},"enabled":{"type":"boolean","description":"Is Authentication enabled?\n"},"facebook":{"$ref":"#/types/azure:appservice/SlotAuthSettingsFacebook:SlotAuthSettingsFacebook","description":"A \u003cspan pulumi-lang-nodejs=\"`facebook`\" pulumi-lang-dotnet=\"`Facebook`\" pulumi-lang-go=\"`facebook`\" pulumi-lang-python=\"`facebook`\" pulumi-lang-yaml=\"`facebook`\" pulumi-lang-java=\"`facebook`\"\u003e`facebook`\u003c/span\u003e block as defined below.\n"},"google":{"$ref":"#/types/azure:appservice/SlotAuthSettingsGoogle:SlotAuthSettingsGoogle","description":"A \u003cspan pulumi-lang-nodejs=\"`google`\" pulumi-lang-dotnet=\"`Google`\" pulumi-lang-go=\"`google`\" pulumi-lang-python=\"`google`\" pulumi-lang-yaml=\"`google`\" pulumi-lang-java=\"`google`\"\u003e`google`\u003c/span\u003e block as defined below.\n"},"issuer":{"type":"string","description":"Issuer URI. When using Azure Active Directory, this value is the URI of the directory tenant, e.g. \u003chttps://sts.windows.net/{tenant-guid}/\u003e.\n"},"microsoft":{"$ref":"#/types/azure:appservice/SlotAuthSettingsMicrosoft:SlotAuthSettingsMicrosoft","description":"A \u003cspan pulumi-lang-nodejs=\"`microsoft`\" pulumi-lang-dotnet=\"`Microsoft`\" pulumi-lang-go=\"`microsoft`\" pulumi-lang-python=\"`microsoft`\" pulumi-lang-yaml=\"`microsoft`\" pulumi-lang-java=\"`microsoft`\"\u003e`microsoft`\u003c/span\u003e block as defined below.\n"},"runtimeVersion":{"type":"string","description":"The runtime version of the Authentication/Authorization module.\n"},"tokenRefreshExtensionHours":{"type":"number","description":"The number of hours after session token expiration that a session token can be used to call the token refresh API. Defaults to \u003cspan pulumi-lang-nodejs=\"`72`\" pulumi-lang-dotnet=\"`72`\" pulumi-lang-go=\"`72`\" pulumi-lang-python=\"`72`\" pulumi-lang-yaml=\"`72`\" pulumi-lang-java=\"`72`\"\u003e`72`\u003c/span\u003e.\n"},"tokenStoreEnabled":{"type":"boolean","description":"If enabled the module will durably store platform-specific security tokens that are obtained during login flows. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"twitter":{"$ref":"#/types/azure:appservice/SlotAuthSettingsTwitter:SlotAuthSettingsTwitter","description":"A \u003cspan pulumi-lang-nodejs=\"`twitter`\" pulumi-lang-dotnet=\"`Twitter`\" pulumi-lang-go=\"`twitter`\" pulumi-lang-python=\"`twitter`\" pulumi-lang-yaml=\"`twitter`\" pulumi-lang-java=\"`twitter`\"\u003e`twitter`\u003c/span\u003e block as defined below.\n"},"unauthenticatedClientAction":{"type":"string","description":"The action to take when an unauthenticated client attempts to access the app. Possible values are `AllowAnonymous` and `RedirectToLoginPage`.\n"}},"type":"object","required":["enabled"]},"azure:appservice/SlotAuthSettingsActiveDirectory:SlotAuthSettingsActiveDirectory":{"properties":{"allowedAudiences":{"type":"array","items":{"type":"string"},"description":"Allowed audience values to consider when validating JWTs issued by Azure Active Directory.\n"},"clientId":{"type":"string","description":"The Client ID of this relying party application. Enables OpenIDConnection authentication with Azure Active Directory.\n"},"clientSecret":{"type":"string","description":"The Client Secret of this relying party application. If no secret is provided, implicit flow will be used.\n","secret":true}},"type":"object","required":["clientId"]},"azure:appservice/SlotAuthSettingsFacebook:SlotAuthSettingsFacebook":{"properties":{"appId":{"type":"string","description":"The App ID of the Facebook app used for login\n"},"appSecret":{"type":"string","description":"The App Secret of the Facebook app used for Facebook login.\n","secret":true},"oauthScopes":{"type":"array","items":{"type":"string"},"description":"The OAuth 2.0 scopes that will be requested as part of Facebook login authentication. \u003chttps://developers.facebook.com/docs/facebook-login\u003e\n"}},"type":"object","required":["appId","appSecret"]},"azure:appservice/SlotAuthSettingsGoogle:SlotAuthSettingsGoogle":{"properties":{"clientId":{"type":"string","description":"The OpenID Connect Client ID for the Google web application.\n"},"clientSecret":{"type":"string","description":"The client secret associated with the Google web application.\n","secret":true},"oauthScopes":{"type":"array","items":{"type":"string"},"description":"The OAuth 2.0 scopes that will be requested as part of Google Sign-In authentication. \u003chttps://developers.google.com/identity/sign-in/web/\u003e\n"}},"type":"object","required":["clientId","clientSecret"]},"azure:appservice/SlotAuthSettingsMicrosoft:SlotAuthSettingsMicrosoft":{"properties":{"clientId":{"type":"string","description":"The OAuth 2.0 client ID that was created for the app used for authentication.\n"},"clientSecret":{"type":"string","description":"The OAuth 2.0 client secret that was created for the app used for authentication.\n","secret":true},"oauthScopes":{"type":"array","items":{"type":"string"},"description":"The OAuth 2.0 scopes that will be requested as part of Microsoft Account authentication. \u003chttps://msdn.microsoft.com/en-us/library/dn631845.aspx\u003e\n"}},"type":"object","required":["clientId","clientSecret"]},"azure:appservice/SlotAuthSettingsTwitter:SlotAuthSettingsTwitter":{"properties":{"consumerKey":{"type":"string","description":"The consumer key of the Twitter app used for login\n"},"consumerSecret":{"type":"string","description":"The consumer secret of the Twitter app used for login.\n","secret":true}},"type":"object","required":["consumerKey","consumerSecret"]},"azure:appservice/SlotConnectionString:SlotConnectionString":{"properties":{"name":{"type":"string","description":"The name of the Connection String.\n"},"type":{"type":"string","description":"The type of the Connection String. Possible values are `APIHub`, `Custom`, `DocDb`, `EventHub`, `MySQL`, `NotificationHub`, `PostgreSQL`, `RedisCache`, `ServiceBus`, `SQLAzure`, and `SQLServer`.\n"},"value":{"type":"string","description":"The value for the Connection String.\n","secret":true}},"type":"object","required":["name","type","value"]},"azure:appservice/SlotIdentity:SlotIdentity":{"properties":{"identityIds":{"type":"array","items":{"type":"string"},"description":"Specifies a list of user managed identity ids to be assigned. Required if \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is `UserAssigned`.\n"},"principalId":{"type":"string","description":"The Principal ID for the Service Principal associated with the Managed Service Identity of this App Service slot.\n"},"tenantId":{"type":"string","description":"The Tenant ID for the Service Principal associated with the Managed Service Identity of this App Service slot.\n"},"type":{"type":"string","description":"Specifies the identity type of the App Service. Possible values are `SystemAssigned` (where Azure will generate a Service Principal for you), `UserAssigned` where you can specify the Service Principal IDs in the \u003cspan pulumi-lang-nodejs=\"`identityIds`\" pulumi-lang-dotnet=\"`IdentityIds`\" pulumi-lang-go=\"`identityIds`\" pulumi-lang-python=\"`identity_ids`\" pulumi-lang-yaml=\"`identityIds`\" pulumi-lang-java=\"`identityIds`\"\u003e`identity_ids`\u003c/span\u003e field, and `SystemAssigned, UserAssigned` which assigns both a system managed identity as well as the specified user assigned identities.\n\n\u003e **NOTE:** When \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to `SystemAssigned`, The assigned \u003cspan pulumi-lang-nodejs=\"`principalId`\" pulumi-lang-dotnet=\"`PrincipalId`\" pulumi-lang-go=\"`principalId`\" pulumi-lang-python=\"`principal_id`\" pulumi-lang-yaml=\"`principalId`\" pulumi-lang-java=\"`principalId`\"\u003e`principal_id`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`tenantId`\" pulumi-lang-dotnet=\"`TenantId`\" pulumi-lang-go=\"`tenantId`\" pulumi-lang-python=\"`tenant_id`\" pulumi-lang-yaml=\"`tenantId`\" pulumi-lang-java=\"`tenantId`\"\u003e`tenant_id`\u003c/span\u003e can be retrieved after the App Service has been created. More details are available below.\n"}},"type":"object","required":["type"],"language":{"nodejs":{"requiredOutputs":["principalId","tenantId","type"]}}},"azure:appservice/SlotLogs:SlotLogs":{"properties":{"applicationLogs":{"$ref":"#/types/azure:appservice/SlotLogsApplicationLogs:SlotLogsApplicationLogs","description":"An \u003cspan pulumi-lang-nodejs=\"`applicationLogs`\" pulumi-lang-dotnet=\"`ApplicationLogs`\" pulumi-lang-go=\"`applicationLogs`\" pulumi-lang-python=\"`application_logs`\" pulumi-lang-yaml=\"`applicationLogs`\" pulumi-lang-java=\"`applicationLogs`\"\u003e`application_logs`\u003c/span\u003e block as defined below.\n"},"detailedErrorMessagesEnabled":{"type":"boolean","description":"Should `Detailed error messages` be enabled on this App Service slot? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"failedRequestTracingEnabled":{"type":"boolean","description":"Should `Failed request tracing` be enabled on this App Service slot? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"httpLogs":{"$ref":"#/types/azure:appservice/SlotLogsHttpLogs:SlotLogsHttpLogs","description":"An \u003cspan pulumi-lang-nodejs=\"`httpLogs`\" pulumi-lang-dotnet=\"`HttpLogs`\" pulumi-lang-go=\"`httpLogs`\" pulumi-lang-python=\"`http_logs`\" pulumi-lang-yaml=\"`httpLogs`\" pulumi-lang-java=\"`httpLogs`\"\u003e`http_logs`\u003c/span\u003e block as defined below.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["applicationLogs","httpLogs"]}}},"azure:appservice/SlotLogsApplicationLogs:SlotLogsApplicationLogs":{"properties":{"azureBlobStorage":{"$ref":"#/types/azure:appservice/SlotLogsApplicationLogsAzureBlobStorage:SlotLogsApplicationLogsAzureBlobStorage","description":"An \u003cspan pulumi-lang-nodejs=\"`azureBlobStorage`\" pulumi-lang-dotnet=\"`AzureBlobStorage`\" pulumi-lang-go=\"`azureBlobStorage`\" pulumi-lang-python=\"`azure_blob_storage`\" pulumi-lang-yaml=\"`azureBlobStorage`\" pulumi-lang-java=\"`azureBlobStorage`\"\u003e`azure_blob_storage`\u003c/span\u003e block as defined below.\n"},"fileSystemLevel":{"type":"string","description":"The file system log level. Possible values are `Off`, `Error`, `Warning`, `Information`, and `Verbose`. Defaults to `Off`.\n"}},"type":"object"},"azure:appservice/SlotLogsApplicationLogsAzureBlobStorage:SlotLogsApplicationLogsAzureBlobStorage":{"properties":{"level":{"type":"string","description":"The level at which to log. Possible values include `Error`, `Warning`, `Information`, `Verbose` and `Off`. **NOTE:** this field is not available for \u003cspan pulumi-lang-nodejs=\"`httpLogs`\" pulumi-lang-dotnet=\"`HttpLogs`\" pulumi-lang-go=\"`httpLogs`\" pulumi-lang-python=\"`http_logs`\" pulumi-lang-yaml=\"`httpLogs`\" pulumi-lang-java=\"`httpLogs`\"\u003e`http_logs`\u003c/span\u003e\n"},"retentionInDays":{"type":"integer","description":"The number of days to retain logs for.\n"},"sasUrl":{"type":"string","description":"The URL to the storage container, with a Service SAS token appended.\n\n\u003e **Note:** There isn't enough information to for the provider to generate the \u003cspan pulumi-lang-nodejs=\"`sasUrl`\" pulumi-lang-dotnet=\"`SasUrl`\" pulumi-lang-go=\"`sasUrl`\" pulumi-lang-python=\"`sas_url`\" pulumi-lang-yaml=\"`sasUrl`\" pulumi-lang-java=\"`sasUrl`\"\u003e`sas_url`\u003c/span\u003e from `data.azurerm_storage_account_sas` and it should be built by hand (i.e. `https://${azurerm_storage_account.example.name}.blob.core.windows.net/${azurerm_storage_container.example.name}${data.azurerm_storage_account_sas.example.sas}\u0026sr=b`).\n","secret":true}},"type":"object","required":["level","retentionInDays","sasUrl"]},"azure:appservice/SlotLogsHttpLogs:SlotLogsHttpLogs":{"properties":{"azureBlobStorage":{"$ref":"#/types/azure:appservice/SlotLogsHttpLogsAzureBlobStorage:SlotLogsHttpLogsAzureBlobStorage","description":"An \u003cspan pulumi-lang-nodejs=\"`azureBlobStorage`\" pulumi-lang-dotnet=\"`AzureBlobStorage`\" pulumi-lang-go=\"`azureBlobStorage`\" pulumi-lang-python=\"`azure_blob_storage`\" pulumi-lang-yaml=\"`azureBlobStorage`\" pulumi-lang-java=\"`azureBlobStorage`\"\u003e`azure_blob_storage`\u003c/span\u003e block as defined below.\n"},"fileSystem":{"$ref":"#/types/azure:appservice/SlotLogsHttpLogsFileSystem:SlotLogsHttpLogsFileSystem","description":"A \u003cspan pulumi-lang-nodejs=\"`fileSystem`\" pulumi-lang-dotnet=\"`FileSystem`\" pulumi-lang-go=\"`fileSystem`\" pulumi-lang-python=\"`file_system`\" pulumi-lang-yaml=\"`fileSystem`\" pulumi-lang-java=\"`fileSystem`\"\u003e`file_system`\u003c/span\u003e block as defined below.\n"}},"type":"object"},"azure:appservice/SlotLogsHttpLogsAzureBlobStorage:SlotLogsHttpLogsAzureBlobStorage":{"properties":{"retentionInDays":{"type":"integer","description":"The number of days to retain logs for.\n"},"sasUrl":{"type":"string","description":"The URL to the storage container, with a Service SAS token appended.\n\n\u003e **Note:** There isn't enough information to for the provider to generate the \u003cspan pulumi-lang-nodejs=\"`sasUrl`\" pulumi-lang-dotnet=\"`SasUrl`\" pulumi-lang-go=\"`sasUrl`\" pulumi-lang-python=\"`sas_url`\" pulumi-lang-yaml=\"`sasUrl`\" pulumi-lang-java=\"`sasUrl`\"\u003e`sas_url`\u003c/span\u003e from `data.azurerm_storage_account_sas` and it should be built by hand (i.e. `https://${azurerm_storage_account.example.name}.blob.core.windows.net/${azurerm_storage_container.example.name}${data.azurerm_storage_account_sas.example.sas}\u0026sr=b`).\n","secret":true}},"type":"object","required":["retentionInDays","sasUrl"]},"azure:appservice/SlotLogsHttpLogsFileSystem:SlotLogsHttpLogsFileSystem":{"properties":{"retentionInDays":{"type":"integer","description":"The number of days to retain logs for.\n"},"retentionInMb":{"type":"integer","description":"The maximum size in megabytes that HTTP log files can use before being removed.\n"}},"type":"object","required":["retentionInDays","retentionInMb"]},"azure:appservice/SlotSiteConfig:SlotSiteConfig":{"properties":{"acrUseManagedIdentityCredentials":{"type":"boolean","description":"Are Managed Identity Credentials used for Azure Container Registry pull\n"},"acrUserManagedIdentityClientId":{"type":"string","description":"If using User Managed Identity, the User Managed Identity Client Id\n\n\u003e **NOTE:** When using User Managed Identity with Azure Container Registry the Identity will need to have the [ACRPull role assigned](https://docs.microsoft.com/azure/container-registry/container-registry-authentication-managed-identity#example-1-access-with-a-user-assigned-identity)\n"},"alwaysOn":{"type":"boolean","description":"Should the slot be loaded at all times? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **NOTE:** when using an App Service Plan in the `Free` or `Shared` Tiers \u003cspan pulumi-lang-nodejs=\"`alwaysOn`\" pulumi-lang-dotnet=\"`AlwaysOn`\" pulumi-lang-go=\"`alwaysOn`\" pulumi-lang-python=\"`always_on`\" pulumi-lang-yaml=\"`alwaysOn`\" pulumi-lang-java=\"`alwaysOn`\"\u003e`always_on`\u003c/span\u003e must be set to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"appCommandLine":{"type":"string","description":"App command line to launch, e.g. `/sbin/myserver -b 0.0.0.0`.\n"},"autoSwapSlotName":{"type":"string","description":"The name of the slot to automatically swap to during deployment\n"},"cors":{"$ref":"#/types/azure:appservice/SlotSiteConfigCors:SlotSiteConfigCors","description":"A \u003cspan pulumi-lang-nodejs=\"`cors`\" pulumi-lang-dotnet=\"`Cors`\" pulumi-lang-go=\"`cors`\" pulumi-lang-python=\"`cors`\" pulumi-lang-yaml=\"`cors`\" pulumi-lang-java=\"`cors`\"\u003e`cors`\u003c/span\u003e block as defined below.\n"},"defaultDocuments":{"type":"array","items":{"type":"string"},"description":"The ordering of default documents to load, if an address isn't specified.\n"},"dotnetFrameworkVersion":{"type":"string","description":"The version of the .NET framework's CLR used in this App Service Slot. Possible values are `v2.0` (which will use the latest version of the .NET framework for the .NET CLR v2 - currently `.net 3.5`), `v4.0` (which corresponds to the latest version of the .NET CLR v4 - which at the time of writing is `.net 4.7.1`), `v5.0` and `v6.0`. [For more information on which .NET CLR version to use based on the .NET framework you're targeting - please see this table](https://en.wikipedia.org/wiki/.NET_Framework_version_history#Overview). Defaults to `v4.0`.\n"},"ftpsState":{"type":"string","description":"State of FTP / FTPS service for this App Service Slot. Possible values include: `AllAllowed`, `FtpsOnly` and `Disabled`.\n"},"healthCheckPath":{"type":"string","description":"The health check path to be pinged by App Service Slot. [For more information - please see App Service health check announcement](https://azure.github.io/AppService/2020/08/24/healthcheck-on-app-service.html).\n"},"http2Enabled":{"type":"boolean","description":"Is HTTP2 Enabled on this App Service? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"ipRestrictions":{"type":"array","items":{"$ref":"#/types/azure:appservice/SlotSiteConfigIpRestriction:SlotSiteConfigIpRestriction"},"description":"A list of objects representing ip restrictions as defined below.\n\n\u003e **NOTE** User has to explicitly set \u003cspan pulumi-lang-nodejs=\"`ipRestriction`\" pulumi-lang-dotnet=\"`IpRestriction`\" pulumi-lang-go=\"`ipRestriction`\" pulumi-lang-python=\"`ip_restriction`\" pulumi-lang-yaml=\"`ipRestriction`\" pulumi-lang-java=\"`ipRestriction`\"\u003e`ip_restriction`\u003c/span\u003e to empty slice (`[]`) to remove it.\n"},"javaContainer":{"type":"string","description":"The Java Container to use. If specified \u003cspan pulumi-lang-nodejs=\"`javaVersion`\" pulumi-lang-dotnet=\"`JavaVersion`\" pulumi-lang-go=\"`javaVersion`\" pulumi-lang-python=\"`java_version`\" pulumi-lang-yaml=\"`javaVersion`\" pulumi-lang-java=\"`javaVersion`\"\u003e`java_version`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`javaContainerVersion`\" pulumi-lang-dotnet=\"`JavaContainerVersion`\" pulumi-lang-go=\"`javaContainerVersion`\" pulumi-lang-python=\"`java_container_version`\" pulumi-lang-yaml=\"`javaContainerVersion`\" pulumi-lang-java=\"`javaContainerVersion`\"\u003e`java_container_version`\u003c/span\u003e must also be specified. Possible values are `JAVA`, `JETTY`, and `TOMCAT`.\n"},"javaContainerVersion":{"type":"string","description":"The version of the Java Container to use. If specified \u003cspan pulumi-lang-nodejs=\"`javaVersion`\" pulumi-lang-dotnet=\"`JavaVersion`\" pulumi-lang-go=\"`javaVersion`\" pulumi-lang-python=\"`java_version`\" pulumi-lang-yaml=\"`javaVersion`\" pulumi-lang-java=\"`javaVersion`\"\u003e`java_version`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`javaContainer`\" pulumi-lang-dotnet=\"`JavaContainer`\" pulumi-lang-go=\"`javaContainer`\" pulumi-lang-python=\"`java_container`\" pulumi-lang-yaml=\"`javaContainer`\" pulumi-lang-java=\"`javaContainer`\"\u003e`java_container`\u003c/span\u003e must also be specified.\n"},"javaVersion":{"type":"string","description":"The version of Java to use. If specified \u003cspan pulumi-lang-nodejs=\"`javaContainer`\" pulumi-lang-dotnet=\"`JavaContainer`\" pulumi-lang-go=\"`javaContainer`\" pulumi-lang-python=\"`java_container`\" pulumi-lang-yaml=\"`javaContainer`\" pulumi-lang-java=\"`javaContainer`\"\u003e`java_container`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`javaContainerVersion`\" pulumi-lang-dotnet=\"`JavaContainerVersion`\" pulumi-lang-go=\"`javaContainerVersion`\" pulumi-lang-python=\"`java_container_version`\" pulumi-lang-yaml=\"`javaContainerVersion`\" pulumi-lang-java=\"`javaContainerVersion`\"\u003e`java_container_version`\u003c/span\u003e must also be specified. Possible values are `1.7`, `1.8`, and \u003cspan pulumi-lang-nodejs=\"`11`\" pulumi-lang-dotnet=\"`11`\" pulumi-lang-go=\"`11`\" pulumi-lang-python=\"`11`\" pulumi-lang-yaml=\"`11`\" pulumi-lang-java=\"`11`\"\u003e`11`\u003c/span\u003e and their specific versions - except for Java 11 (e.g. `1.7.0_80`, `1.8.0_181`, \u003cspan pulumi-lang-nodejs=\"`11`\" pulumi-lang-dotnet=\"`11`\" pulumi-lang-go=\"`11`\" pulumi-lang-python=\"`11`\" pulumi-lang-yaml=\"`11`\" pulumi-lang-java=\"`11`\"\u003e`11`\u003c/span\u003e)\n"},"linuxFxVersion":{"type":"string","description":"Linux App Framework and version for the App Service Slot. Possible options are a Docker container (`DOCKER|\u003cuser/image:tag\u003e`), a base-64 encoded Docker Compose file (`COMPOSE|${filebase64(\"compose.yml\")}`) or a base-64 encoded Kubernetes Manifest (`KUBE|${filebase64(\"kubernetes.yml\")}`).\n\n\u003e **NOTE:** To set this property the App Service Plan to which the App belongs must be configured with `kind = \"Linux\"`, and `reserved = true` or the API will reject any value supplied.\n"},"localMysqlEnabled":{"type":"boolean","description":"Is \"MySQL In App\" Enabled? This runs a local MySQL instance with your app and shares resources from the App Service plan.\n\n\u003e **NOTE:** MySQL In App is not intended for production environments and will not scale beyond a single instance. Instead you may wish to use Azure Database for MySQL.\n"},"managedPipelineMode":{"type":"string","description":"The Managed Pipeline Mode. Possible values are `Integrated` and `Classic`. Defaults to `Integrated`.\n"},"minTlsVersion":{"type":"string","description":"The minimum supported TLS version for the app service. Possible values are `1.0`, `1.1`, and `1.2`. Defaults to `1.2` for new app services.\n"},"numberOfWorkers":{"type":"integer","description":"The scaled number of workers (for per site scaling) of this App Service Slot. Requires that \u003cspan pulumi-lang-nodejs=\"`perSiteScaling`\" pulumi-lang-dotnet=\"`PerSiteScaling`\" pulumi-lang-go=\"`perSiteScaling`\" pulumi-lang-python=\"`per_site_scaling`\" pulumi-lang-yaml=\"`perSiteScaling`\" pulumi-lang-java=\"`perSiteScaling`\"\u003e`per_site_scaling`\u003c/span\u003e is enabled on the \u003cspan pulumi-lang-nodejs=\"`azure.appservice.Plan`\" pulumi-lang-dotnet=\"`azure.appservice.Plan`\" pulumi-lang-go=\"`appservice.Plan`\" pulumi-lang-python=\"`appservice.Plan`\" pulumi-lang-yaml=\"`azure.appservice.Plan`\" pulumi-lang-java=\"`azure.appservice.Plan`\"\u003e`azure.appservice.Plan`\u003c/span\u003e. [For more information - please see Microsoft documentation on high-density hosting](https://docs.microsoft.com/azure/app-service/manage-scale-per-app).\n"},"phpVersion":{"type":"string","description":"The version of PHP to use in this App Service Slot. Possible values are `5.5`, `5.6`, `7.0`, `7.1`, `7.2`, `7.3`, and `7.4`.\n"},"pythonVersion":{"type":"string","description":"The version of Python to use in this App Service Slot. Possible values are `2.7` and `3.4`.\n"},"remoteDebuggingEnabled":{"type":"boolean","description":"Is Remote Debugging Enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"remoteDebuggingVersion":{"type":"string","description":"Which version of Visual Studio should the Remote Debugger be compatible with? Currently only `VS2022` is supported.\n"},"scmIpRestrictions":{"type":"array","items":{"$ref":"#/types/azure:appservice/SlotSiteConfigScmIpRestriction:SlotSiteConfigScmIpRestriction"},"description":"A list of \u003cspan pulumi-lang-nodejs=\"`scmIpRestriction`\" pulumi-lang-dotnet=\"`ScmIpRestriction`\" pulumi-lang-go=\"`scmIpRestriction`\" pulumi-lang-python=\"`scm_ip_restriction`\" pulumi-lang-yaml=\"`scmIpRestriction`\" pulumi-lang-java=\"`scmIpRestriction`\"\u003e`scm_ip_restriction`\u003c/span\u003e objects representing IP restrictions as defined below.\n\n\u003e **NOTE** User has to explicitly set \u003cspan pulumi-lang-nodejs=\"`scmIpRestriction`\" pulumi-lang-dotnet=\"`ScmIpRestriction`\" pulumi-lang-go=\"`scmIpRestriction`\" pulumi-lang-python=\"`scm_ip_restriction`\" pulumi-lang-yaml=\"`scmIpRestriction`\" pulumi-lang-java=\"`scmIpRestriction`\"\u003e`scm_ip_restriction`\u003c/span\u003e to empty slice (`[]`) to remove it.\n"},"scmType":{"type":"string","description":"The type of Source Control enabled for this App Service Slot. Defaults to `None`. Possible values are: `BitbucketGit`, `BitbucketHg`, `CodePlexGit`, `CodePlexHg`, `Dropbox`, `ExternalGit`, `ExternalHg`, `GitHub`, `LocalGit`, `None`, `OneDrive`, `Tfs`, `VSO`, and `VSTSRM`\n"},"scmUseMainIpRestriction":{"type":"boolean","description":"IP security restrictions for scm to use main. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. \n\n\u003e **NOTE** Any \u003cspan pulumi-lang-nodejs=\"`scmIpRestriction`\" pulumi-lang-dotnet=\"`ScmIpRestriction`\" pulumi-lang-go=\"`scmIpRestriction`\" pulumi-lang-python=\"`scm_ip_restriction`\" pulumi-lang-yaml=\"`scmIpRestriction`\" pulumi-lang-java=\"`scmIpRestriction`\"\u003e`scm_ip_restriction`\u003c/span\u003e blocks configured are ignored by the service when \u003cspan pulumi-lang-nodejs=\"`scmUseMainIpRestriction`\" pulumi-lang-dotnet=\"`ScmUseMainIpRestriction`\" pulumi-lang-go=\"`scmUseMainIpRestriction`\" pulumi-lang-python=\"`scm_use_main_ip_restriction`\" pulumi-lang-yaml=\"`scmUseMainIpRestriction`\" pulumi-lang-java=\"`scmUseMainIpRestriction`\"\u003e`scm_use_main_ip_restriction`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e. Any scm restrictions will become active if this is subsequently set to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e or removed.\n"},"use32BitWorkerProcess":{"type":"boolean","description":"Should the App Service Slot run in 32 bit mode, rather than 64 bit mode?\n\n\u003e **NOTE:** when using an App Service Plan in the `Free` or `Shared` Tiers \u003cspan pulumi-lang-nodejs=\"`use32BitWorkerProcess`\" pulumi-lang-dotnet=\"`Use32BitWorkerProcess`\" pulumi-lang-go=\"`use32BitWorkerProcess`\" pulumi-lang-python=\"`use_32_bit_worker_process`\" pulumi-lang-yaml=\"`use32BitWorkerProcess`\" pulumi-lang-java=\"`use32BitWorkerProcess`\"\u003e`use_32_bit_worker_process`\u003c/span\u003e must be set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"vnetRouteAllEnabled":{"type":"boolean","description":"Should all outbound traffic to have Virtual Network Security Groups and User Defined Routes applied? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **NOTE:** This setting supersedes the previous mechanism of setting the \u003cspan pulumi-lang-nodejs=\"`appSettings`\" pulumi-lang-dotnet=\"`AppSettings`\" pulumi-lang-go=\"`appSettings`\" pulumi-lang-python=\"`app_settings`\" pulumi-lang-yaml=\"`appSettings`\" pulumi-lang-java=\"`appSettings`\"\u003e`app_settings`\u003c/span\u003e value of `WEBSITE_VNET_ROUTE_ALL`. However, to prevent older configurations breaking Terraform will update this value if it not explicitly set to the value in `app_settings.WEBSITE_VNET_ROUTE_ALL`.\n"},"websocketsEnabled":{"type":"boolean","description":"Should WebSockets be enabled?\n"},"windowsFxVersion":{"type":"string","description":"The Windows Docker container image (`DOCKER|\u003cuser/image:tag\u003e`)\n\nAdditional examples of how to run Containers via the \u003cspan pulumi-lang-nodejs=\"`azure.appservice.Slot`\" pulumi-lang-dotnet=\"`azure.appservice.Slot`\" pulumi-lang-go=\"`appservice.Slot`\" pulumi-lang-python=\"`appservice.Slot`\" pulumi-lang-yaml=\"`azure.appservice.Slot`\" pulumi-lang-java=\"`azure.appservice.Slot`\"\u003e`azure.appservice.Slot`\u003c/span\u003e resource can be found in the `./examples/app-service` directory within the GitHub Repository.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["cors","ftpsState","ipRestrictions","linuxFxVersion","localMysqlEnabled","managedPipelineMode","minTlsVersion","numberOfWorkers","remoteDebuggingVersion","scmIpRestrictions","scmType","vnetRouteAllEnabled","websocketsEnabled","windowsFxVersion"]}}},"azure:appservice/SlotSiteConfigCors:SlotSiteConfigCors":{"properties":{"allowedOrigins":{"type":"array","items":{"type":"string"},"description":"A list of origins which should be able to make cross-origin calls. `*` can be used to allow all calls.\n"},"supportCredentials":{"type":"boolean","description":"Are credentials supported?\n"}},"type":"object","required":["allowedOrigins"]},"azure:appservice/SlotSiteConfigIpRestriction:SlotSiteConfigIpRestriction":{"properties":{"action":{"type":"string","description":"Does this restriction `Allow` or `Deny` access for this IP range. Defaults to `Allow`.\n"},"headers":{"$ref":"#/types/azure:appservice/SlotSiteConfigIpRestrictionHeaders:SlotSiteConfigIpRestrictionHeaders","description":"The \u003cspan pulumi-lang-nodejs=\"`headers`\" pulumi-lang-dotnet=\"`Headers`\" pulumi-lang-go=\"`headers`\" pulumi-lang-python=\"`headers`\" pulumi-lang-yaml=\"`headers`\" pulumi-lang-java=\"`headers`\"\u003e`headers`\u003c/span\u003e block for this specific \u003cspan pulumi-lang-nodejs=\"`ipRestriction`\" pulumi-lang-dotnet=\"`IpRestriction`\" pulumi-lang-go=\"`ipRestriction`\" pulumi-lang-python=\"`ip_restriction`\" pulumi-lang-yaml=\"`ipRestriction`\" pulumi-lang-java=\"`ipRestriction`\"\u003e`ip_restriction`\u003c/span\u003e as defined below. The HTTP header filters are evaluated after the rule itself and both conditions must be true for the rule to apply.\n"},"ipAddress":{"type":"string","description":"The IP Address used for this IP Restriction in CIDR notation.\n"},"name":{"type":"string","description":"The name for this IP Restriction.\n"},"priority":{"type":"integer","description":"The priority for this IP Restriction. Restrictions are enforced in priority order. By default, priority is set to 65000 if not specified.\n"},"serviceTag":{"type":"string","description":"The Service Tag used for this IP Restriction.\n"},"virtualNetworkSubnetId":{"type":"string","description":"The Virtual Network Subnet ID used for this IP Restriction.\n\n\u003e **NOTE:** One of either \u003cspan pulumi-lang-nodejs=\"`ipAddress`\" pulumi-lang-dotnet=\"`IpAddress`\" pulumi-lang-go=\"`ipAddress`\" pulumi-lang-python=\"`ip_address`\" pulumi-lang-yaml=\"`ipAddress`\" pulumi-lang-java=\"`ipAddress`\"\u003e`ip_address`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`serviceTag`\" pulumi-lang-dotnet=\"`ServiceTag`\" pulumi-lang-go=\"`serviceTag`\" pulumi-lang-python=\"`service_tag`\" pulumi-lang-yaml=\"`serviceTag`\" pulumi-lang-java=\"`serviceTag`\"\u003e`service_tag`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`virtualNetworkSubnetId`\" pulumi-lang-dotnet=\"`VirtualNetworkSubnetId`\" pulumi-lang-go=\"`virtualNetworkSubnetId`\" pulumi-lang-python=\"`virtual_network_subnet_id`\" pulumi-lang-yaml=\"`virtualNetworkSubnetId`\" pulumi-lang-java=\"`virtualNetworkSubnetId`\"\u003e`virtual_network_subnet_id`\u003c/span\u003e must be specified\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["headers","name"]}}},"azure:appservice/SlotSiteConfigIpRestrictionHeaders:SlotSiteConfigIpRestrictionHeaders":{"properties":{"xAzureFdids":{"type":"array","items":{"type":"string"},"description":"A list of allowed Azure FrontDoor IDs in UUID notation with a maximum of 8.\n"},"xFdHealthProbe":{"type":"string","description":"A list to allow the Azure FrontDoor health probe header. Only allowed value is \"1\".\n"},"xForwardedFors":{"type":"array","items":{"type":"string"},"description":"A list of allowed 'X-Forwarded-For' IPs in CIDR notation with a maximum of 8\n"},"xForwardedHosts":{"type":"array","items":{"type":"string"},"description":"A list of allowed 'X-Forwarded-Host' domains with a maximum of 8.\n"}},"type":"object"},"azure:appservice/SlotSiteConfigScmIpRestriction:SlotSiteConfigScmIpRestriction":{"properties":{"action":{"type":"string","description":"Allow or Deny access for this IP range. Defaults to `Allow`.\n"},"headers":{"$ref":"#/types/azure:appservice/SlotSiteConfigScmIpRestrictionHeaders:SlotSiteConfigScmIpRestrictionHeaders","description":"The \u003cspan pulumi-lang-nodejs=\"`headers`\" pulumi-lang-dotnet=\"`Headers`\" pulumi-lang-go=\"`headers`\" pulumi-lang-python=\"`headers`\" pulumi-lang-yaml=\"`headers`\" pulumi-lang-java=\"`headers`\"\u003e`headers`\u003c/span\u003e block for this specific \u003cspan pulumi-lang-nodejs=\"`scmIpRestriction`\" pulumi-lang-dotnet=\"`ScmIpRestriction`\" pulumi-lang-go=\"`scmIpRestriction`\" pulumi-lang-python=\"`scm_ip_restriction`\" pulumi-lang-yaml=\"`scmIpRestriction`\" pulumi-lang-java=\"`scmIpRestriction`\"\u003e`scm_ip_restriction`\u003c/span\u003e as defined below.\n"},"ipAddress":{"type":"string","description":"The IP Address used for this IP Restriction in CIDR notation.\n"},"name":{"type":"string","description":"The name for this IP Restriction.\n"},"priority":{"type":"integer","description":"The priority for this IP Restriction. Restrictions are enforced in priority order. By default, priority is set to 65000 if not specified.\n"},"serviceTag":{"type":"string","description":"The Service Tag used for this IP Restriction.\n"},"virtualNetworkSubnetId":{"type":"string","description":"The Virtual Network Subnet ID used for this IP Restriction.\n\n\u003e **NOTE:** One of either \u003cspan pulumi-lang-nodejs=\"`ipAddress`\" pulumi-lang-dotnet=\"`IpAddress`\" pulumi-lang-go=\"`ipAddress`\" pulumi-lang-python=\"`ip_address`\" pulumi-lang-yaml=\"`ipAddress`\" pulumi-lang-java=\"`ipAddress`\"\u003e`ip_address`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`serviceTag`\" pulumi-lang-dotnet=\"`ServiceTag`\" pulumi-lang-go=\"`serviceTag`\" pulumi-lang-python=\"`service_tag`\" pulumi-lang-yaml=\"`serviceTag`\" pulumi-lang-java=\"`serviceTag`\"\u003e`service_tag`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`virtualNetworkSubnetId`\" pulumi-lang-dotnet=\"`VirtualNetworkSubnetId`\" pulumi-lang-go=\"`virtualNetworkSubnetId`\" pulumi-lang-python=\"`virtual_network_subnet_id`\" pulumi-lang-yaml=\"`virtualNetworkSubnetId`\" pulumi-lang-java=\"`virtualNetworkSubnetId`\"\u003e`virtual_network_subnet_id`\u003c/span\u003e must be specified\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["headers","name"]}}},"azure:appservice/SlotSiteConfigScmIpRestrictionHeaders:SlotSiteConfigScmIpRestrictionHeaders":{"properties":{"xAzureFdids":{"type":"array","items":{"type":"string"},"description":"A list of allowed Azure FrontDoor IDs in UUID notation with a maximum of 8.\n"},"xFdHealthProbe":{"type":"string","description":"A list to allow the Azure FrontDoor health probe header. Only allowed value is \"1\".\n"},"xForwardedFors":{"type":"array","items":{"type":"string"},"description":"A list of allowed 'X-Forwarded-For' IPs in CIDR notation with a maximum of 8\n"},"xForwardedHosts":{"type":"array","items":{"type":"string"},"description":"A list of allowed 'X-Forwarded-Host' domains with a maximum of 8.\n"}},"type":"object"},"azure:appservice/SlotSiteCredential:SlotSiteCredential":{"properties":{"password":{"type":"string","description":"The password associated with the username, which can be used to publish to this App Service.\n","secret":true},"username":{"type":"string","description":"The username which can be used to publish to this App Service\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["password","username"]}}},"azure:appservice/SlotStorageAccount:SlotStorageAccount":{"properties":{"accessKey":{"type":"string","description":"The access key for the storage account.\n","secret":true},"accountName":{"type":"string","description":"The name of the storage account.\n"},"mountPath":{"type":"string","description":"The path to mount the storage within the site's runtime environment.\n"},"name":{"type":"string","description":"The name of the storage account identifier.\n"},"shareName":{"type":"string","description":"The name of the file share (container name, for Blob storage).\n"},"type":{"type":"string","description":"The type of storage. Possible values are `AzureBlob` and `AzureFiles`.\n"}},"type":"object","required":["accessKey","accountName","name","shareName","type"]},"azure:appservice/SourceControlGithubActionConfiguration:SourceControlGithubActionConfiguration":{"properties":{"codeConfiguration":{"$ref":"#/types/azure:appservice/SourceControlGithubActionConfigurationCodeConfiguration:SourceControlGithubActionConfigurationCodeConfiguration","description":"A \u003cspan pulumi-lang-nodejs=\"`codeConfiguration`\" pulumi-lang-dotnet=\"`CodeConfiguration`\" pulumi-lang-go=\"`codeConfiguration`\" pulumi-lang-python=\"`code_configuration`\" pulumi-lang-yaml=\"`codeConfiguration`\" pulumi-lang-java=\"`codeConfiguration`\"\u003e`code_configuration`\u003c/span\u003e block as defined above. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"containerConfiguration":{"$ref":"#/types/azure:appservice/SourceControlGithubActionConfigurationContainerConfiguration:SourceControlGithubActionConfigurationContainerConfiguration","description":"A \u003cspan pulumi-lang-nodejs=\"`containerConfiguration`\" pulumi-lang-dotnet=\"`ContainerConfiguration`\" pulumi-lang-go=\"`containerConfiguration`\" pulumi-lang-python=\"`container_configuration`\" pulumi-lang-yaml=\"`containerConfiguration`\" pulumi-lang-java=\"`containerConfiguration`\"\u003e`container_configuration`\u003c/span\u003e block as defined above.\n"},"generateWorkflowFile":{"type":"boolean","description":"Whether to generate the GitHub work flow file. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"linuxAction":{"type":"boolean","description":"Denotes this action uses a Linux base image.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["linuxAction"]}}},"azure:appservice/SourceControlGithubActionConfigurationCodeConfiguration:SourceControlGithubActionConfigurationCodeConfiguration":{"properties":{"runtimeStack":{"type":"string","description":"The value to use for the Runtime Stack in the workflow file content for code base apps. Possible values are \u003cspan pulumi-lang-nodejs=\"`dotnetcore`\" pulumi-lang-dotnet=\"`Dotnetcore`\" pulumi-lang-go=\"`dotnetcore`\" pulumi-lang-python=\"`dotnetcore`\" pulumi-lang-yaml=\"`dotnetcore`\" pulumi-lang-java=\"`dotnetcore`\"\u003e`dotnetcore`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`spring`\" pulumi-lang-dotnet=\"`Spring`\" pulumi-lang-go=\"`spring`\" pulumi-lang-python=\"`spring`\" pulumi-lang-yaml=\"`spring`\" pulumi-lang-java=\"`spring`\"\u003e`spring`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`tomcat`\" pulumi-lang-dotnet=\"`Tomcat`\" pulumi-lang-go=\"`tomcat`\" pulumi-lang-python=\"`tomcat`\" pulumi-lang-yaml=\"`tomcat`\" pulumi-lang-java=\"`tomcat`\"\u003e`tomcat`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`node`\" pulumi-lang-dotnet=\"`Node`\" pulumi-lang-go=\"`node`\" pulumi-lang-python=\"`node`\" pulumi-lang-yaml=\"`node`\" pulumi-lang-java=\"`node`\"\u003e`node`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`python`\" pulumi-lang-dotnet=\"`Python`\" pulumi-lang-go=\"`python`\" pulumi-lang-python=\"`python`\" pulumi-lang-yaml=\"`python`\" pulumi-lang-java=\"`python`\"\u003e`python`\u003c/span\u003e. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"runtimeVersion":{"type":"string","description":"The value to use for the Runtime Version in the workflow file content for code base apps. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["runtimeStack","runtimeVersion"]},"azure:appservice/SourceControlGithubActionConfigurationContainerConfiguration:SourceControlGithubActionConfigurationContainerConfiguration":{"properties":{"imageName":{"type":"string","description":"The image name for the build. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"registryPassword":{"type":"string","description":"The password used to upload the image to the container registry. Changing this forces a new resource to be created.\n","secret":true,"willReplaceOnChanges":true},"registryUrl":{"type":"string","description":"The server URL for the container registry where the build will be hosted. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"registryUsername":{"type":"string","description":"The username used to upload the image to the container registry. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["imageName","registryUrl"]},"azure:appservice/SourceControlSlotGithubActionConfiguration:SourceControlSlotGithubActionConfiguration":{"properties":{"codeConfiguration":{"$ref":"#/types/azure:appservice/SourceControlSlotGithubActionConfigurationCodeConfiguration:SourceControlSlotGithubActionConfigurationCodeConfiguration","description":"A \u003cspan pulumi-lang-nodejs=\"`codeConfiguration`\" pulumi-lang-dotnet=\"`CodeConfiguration`\" pulumi-lang-go=\"`codeConfiguration`\" pulumi-lang-python=\"`code_configuration`\" pulumi-lang-yaml=\"`codeConfiguration`\" pulumi-lang-java=\"`codeConfiguration`\"\u003e`code_configuration`\u003c/span\u003e block as detailed below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"containerConfiguration":{"$ref":"#/types/azure:appservice/SourceControlSlotGithubActionConfigurationContainerConfiguration:SourceControlSlotGithubActionConfigurationContainerConfiguration","description":"A \u003cspan pulumi-lang-nodejs=\"`containerConfiguration`\" pulumi-lang-dotnet=\"`ContainerConfiguration`\" pulumi-lang-go=\"`containerConfiguration`\" pulumi-lang-python=\"`container_configuration`\" pulumi-lang-yaml=\"`containerConfiguration`\" pulumi-lang-java=\"`containerConfiguration`\"\u003e`container_configuration`\u003c/span\u003e block as detailed below.\n"},"generateWorkflowFile":{"type":"boolean","description":"Should the service generate the GitHub Action Workflow file. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"linuxAction":{"type":"boolean","description":"Denotes this action uses a Linux base image.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["linuxAction"]}}},"azure:appservice/SourceControlSlotGithubActionConfigurationCodeConfiguration:SourceControlSlotGithubActionConfigurationCodeConfiguration":{"properties":{"runtimeStack":{"type":"string","description":"The value to use for the Runtime Stack in the workflow file content for code base apps. Changing this forces a new resource to be created. Possible values are \u003cspan pulumi-lang-nodejs=\"`dotnetcore`\" pulumi-lang-dotnet=\"`Dotnetcore`\" pulumi-lang-go=\"`dotnetcore`\" pulumi-lang-python=\"`dotnetcore`\" pulumi-lang-yaml=\"`dotnetcore`\" pulumi-lang-java=\"`dotnetcore`\"\u003e`dotnetcore`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`spring`\" pulumi-lang-dotnet=\"`Spring`\" pulumi-lang-go=\"`spring`\" pulumi-lang-python=\"`spring`\" pulumi-lang-yaml=\"`spring`\" pulumi-lang-java=\"`spring`\"\u003e`spring`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`tomcat`\" pulumi-lang-dotnet=\"`Tomcat`\" pulumi-lang-go=\"`tomcat`\" pulumi-lang-python=\"`tomcat`\" pulumi-lang-yaml=\"`tomcat`\" pulumi-lang-java=\"`tomcat`\"\u003e`tomcat`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`node`\" pulumi-lang-dotnet=\"`Node`\" pulumi-lang-go=\"`node`\" pulumi-lang-python=\"`node`\" pulumi-lang-yaml=\"`node`\" pulumi-lang-java=\"`node`\"\u003e`node`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`python`\" pulumi-lang-dotnet=\"`Python`\" pulumi-lang-go=\"`python`\" pulumi-lang-python=\"`python`\" pulumi-lang-yaml=\"`python`\" pulumi-lang-java=\"`python`\"\u003e`python`\u003c/span\u003e.\n","willReplaceOnChanges":true},"runtimeVersion":{"type":"string","description":"The value to use for the Runtime Version in the workflow file content for code base apps. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["runtimeStack","runtimeVersion"]},"azure:appservice/SourceControlSlotGithubActionConfigurationContainerConfiguration:SourceControlSlotGithubActionConfigurationContainerConfiguration":{"properties":{"imageName":{"type":"string","description":"The image name for the build. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"registryPassword":{"type":"string","description":"The password used to upload the image to the container registry. Changing this forces a new resource to be created.\n","secret":true,"willReplaceOnChanges":true},"registryUrl":{"type":"string","description":"The server URL for the container registry where the build will be hosted. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"registryUsername":{"type":"string","description":"The username used to upload the image to the container registry. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["imageName","registryUrl"]},"azure:appservice/StaticSiteIdentity:StaticSiteIdentity":{"properties":{"identityIds":{"type":"array","items":{"type":"string"},"description":"A list of Managed Identity IDs which should be assigned to this Static Site resource.\n"},"principalId":{"type":"string","description":"(Optional) The Principal ID associated with this Managed Service Identity.\n"},"tenantId":{"type":"string"},"type":{"type":"string","description":"The Type of Managed Identity assigned to this Static Site resource. Possible values are `SystemAssigned`, `UserAssigned` and `SystemAssigned, UserAssigned`.\n"}},"type":"object","required":["type"],"language":{"nodejs":{"requiredOutputs":["principalId","tenantId","type"]}}},"azure:appservice/StaticWebAppBasicAuth:StaticWebAppBasicAuth":{"properties":{"environments":{"type":"string","description":"The Environment types to use the Basic Auth for access. Possible values include `AllEnvironments` and `StagingEnvironments`.\n"},"password":{"type":"string","description":"The password for the basic authentication access.\n","secret":true}},"type":"object","required":["environments","password"]},"azure:appservice/StaticWebAppIdentity:StaticWebAppIdentity":{"properties":{"identityIds":{"type":"array","items":{"type":"string"},"description":"A list of Managed Identity IDs which should be assigned to this Static Web App resource.\n"},"principalId":{"type":"string"},"tenantId":{"type":"string"},"type":{"type":"string","description":"The Type of Managed Identity assigned to this Static Web App resource. Possible values are `SystemAssigned`, `UserAssigned` and `SystemAssigned, UserAssigned`.\n"}},"type":"object","required":["type"],"language":{"nodejs":{"requiredOutputs":["principalId","tenantId","type"]}}},"azure:appservice/WindowsFunctionAppAuthSettings:WindowsFunctionAppAuthSettings":{"properties":{"activeDirectory":{"$ref":"#/types/azure:appservice/WindowsFunctionAppAuthSettingsActiveDirectory:WindowsFunctionAppAuthSettingsActiveDirectory","description":"An \u003cspan pulumi-lang-nodejs=\"`activeDirectory`\" pulumi-lang-dotnet=\"`ActiveDirectory`\" pulumi-lang-go=\"`activeDirectory`\" pulumi-lang-python=\"`active_directory`\" pulumi-lang-yaml=\"`activeDirectory`\" pulumi-lang-java=\"`activeDirectory`\"\u003e`active_directory`\u003c/span\u003e block as defined above.\n"},"additionalLoginParameters":{"type":"object","additionalProperties":{"type":"string"},"description":"Specifies a map of login Parameters to send to the OpenID Connect authorization endpoint when a user logs in.\n"},"allowedExternalRedirectUrls":{"type":"array","items":{"type":"string"},"description":"Specifies a list of External URLs that can be redirected to as part of logging in or logging out of the Windows Function App.\n"},"defaultProvider":{"type":"string","description":"The default authentication provider to use when multiple providers are configured. Possible values include: `AzureActiveDirectory`, `Facebook`, `Google`, `MicrosoftAccount`, `Twitter`, `Github`\n\n\u003e **Note:** This setting is only needed if multiple providers are configured, and the \u003cspan pulumi-lang-nodejs=\"`unauthenticatedClientAction`\" pulumi-lang-dotnet=\"`UnauthenticatedClientAction`\" pulumi-lang-go=\"`unauthenticatedClientAction`\" pulumi-lang-python=\"`unauthenticated_client_action`\" pulumi-lang-yaml=\"`unauthenticatedClientAction`\" pulumi-lang-java=\"`unauthenticatedClientAction`\"\u003e`unauthenticated_client_action`\u003c/span\u003e is set to \"RedirectToLoginPage\".\n"},"enabled":{"type":"boolean","description":"Should the Authentication / Authorization feature be enabled for the Windows Function App?\n"},"facebook":{"$ref":"#/types/azure:appservice/WindowsFunctionAppAuthSettingsFacebook:WindowsFunctionAppAuthSettingsFacebook","description":"A \u003cspan pulumi-lang-nodejs=\"`facebook`\" pulumi-lang-dotnet=\"`Facebook`\" pulumi-lang-go=\"`facebook`\" pulumi-lang-python=\"`facebook`\" pulumi-lang-yaml=\"`facebook`\" pulumi-lang-java=\"`facebook`\"\u003e`facebook`\u003c/span\u003e block as defined below.\n"},"github":{"$ref":"#/types/azure:appservice/WindowsFunctionAppAuthSettingsGithub:WindowsFunctionAppAuthSettingsGithub","description":"A \u003cspan pulumi-lang-nodejs=\"`github`\" pulumi-lang-dotnet=\"`Github`\" pulumi-lang-go=\"`github`\" pulumi-lang-python=\"`github`\" pulumi-lang-yaml=\"`github`\" pulumi-lang-java=\"`github`\"\u003e`github`\u003c/span\u003e block as defined below.\n"},"google":{"$ref":"#/types/azure:appservice/WindowsFunctionAppAuthSettingsGoogle:WindowsFunctionAppAuthSettingsGoogle","description":"A \u003cspan pulumi-lang-nodejs=\"`google`\" pulumi-lang-dotnet=\"`Google`\" pulumi-lang-go=\"`google`\" pulumi-lang-python=\"`google`\" pulumi-lang-yaml=\"`google`\" pulumi-lang-java=\"`google`\"\u003e`google`\u003c/span\u003e block as defined below.\n"},"issuer":{"type":"string","description":"The OpenID Connect Issuer URI that represents the entity which issues access tokens for this Windows Function App.\n\n\u003e **Note:** When using Azure Active Directory, this value is the URI of the directory tenant, e.g. \u003chttps://sts.windows.net/{tenant-guid}/\u003e.\n"},"microsoft":{"$ref":"#/types/azure:appservice/WindowsFunctionAppAuthSettingsMicrosoft:WindowsFunctionAppAuthSettingsMicrosoft","description":"A \u003cspan pulumi-lang-nodejs=\"`microsoft`\" pulumi-lang-dotnet=\"`Microsoft`\" pulumi-lang-go=\"`microsoft`\" pulumi-lang-python=\"`microsoft`\" pulumi-lang-yaml=\"`microsoft`\" pulumi-lang-java=\"`microsoft`\"\u003e`microsoft`\u003c/span\u003e block as defined below.\n"},"runtimeVersion":{"type":"string","description":"The Runtime Version of the Authentication / Authorization feature in use for the Windows Function App.\n"},"tokenRefreshExtensionHours":{"type":"number","description":"The number of hours after session token expiration that a session token can be used to call the token refresh API. Defaults to \u003cspan pulumi-lang-nodejs=\"`72`\" pulumi-lang-dotnet=\"`72`\" pulumi-lang-go=\"`72`\" pulumi-lang-python=\"`72`\" pulumi-lang-yaml=\"`72`\" pulumi-lang-java=\"`72`\"\u003e`72`\u003c/span\u003e hours.\n"},"tokenStoreEnabled":{"type":"boolean","description":"Should the Windows Function App durably store platform-specific security tokens that are obtained during login flows? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"twitter":{"$ref":"#/types/azure:appservice/WindowsFunctionAppAuthSettingsTwitter:WindowsFunctionAppAuthSettingsTwitter","description":"A \u003cspan pulumi-lang-nodejs=\"`twitter`\" pulumi-lang-dotnet=\"`Twitter`\" pulumi-lang-go=\"`twitter`\" pulumi-lang-python=\"`twitter`\" pulumi-lang-yaml=\"`twitter`\" pulumi-lang-java=\"`twitter`\"\u003e`twitter`\u003c/span\u003e block as defined below.\n"},"unauthenticatedClientAction":{"type":"string","description":"The action to take when an unauthenticated client attempts to access the app. Possible values include: `RedirectToLoginPage`, `AllowAnonymous`.\n"}},"type":"object","required":["enabled"],"language":{"nodejs":{"requiredOutputs":["allowedExternalRedirectUrls","defaultProvider","enabled","runtimeVersion","unauthenticatedClientAction"]}}},"azure:appservice/WindowsFunctionAppAuthSettingsActiveDirectory:WindowsFunctionAppAuthSettingsActiveDirectory":{"properties":{"allowedAudiences":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Allowed audience values to consider when validating JWTs issued by Azure Active Directory.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`clientId`\" pulumi-lang-dotnet=\"`ClientId`\" pulumi-lang-go=\"`clientId`\" pulumi-lang-python=\"`client_id`\" pulumi-lang-yaml=\"`clientId`\" pulumi-lang-java=\"`clientId`\"\u003e`client_id`\u003c/span\u003e value is always considered an allowed audience.\n"},"clientId":{"type":"string","description":"The ID of the Client to use to authenticate with Azure Active Directory.\n"},"clientSecret":{"type":"string","description":"The Client Secret for the Client ID. Cannot be used with \u003cspan pulumi-lang-nodejs=\"`clientSecretSettingName`\" pulumi-lang-dotnet=\"`ClientSecretSettingName`\" pulumi-lang-go=\"`clientSecretSettingName`\" pulumi-lang-python=\"`client_secret_setting_name`\" pulumi-lang-yaml=\"`clientSecretSettingName`\" pulumi-lang-java=\"`clientSecretSettingName`\"\u003e`client_secret_setting_name`\u003c/span\u003e.\n","secret":true},"clientSecretSettingName":{"type":"string","description":"The App Setting name that contains the client secret of the Client. Cannot be used with \u003cspan pulumi-lang-nodejs=\"`clientSecret`\" pulumi-lang-dotnet=\"`ClientSecret`\" pulumi-lang-go=\"`clientSecret`\" pulumi-lang-python=\"`client_secret`\" pulumi-lang-yaml=\"`clientSecret`\" pulumi-lang-java=\"`clientSecret`\"\u003e`client_secret`\u003c/span\u003e.\n"}},"type":"object","required":["clientId"]},"azure:appservice/WindowsFunctionAppAuthSettingsFacebook:WindowsFunctionAppAuthSettingsFacebook":{"properties":{"appId":{"type":"string","description":"The App ID of the Facebook app used for login.\n"},"appSecret":{"type":"string","description":"The App Secret of the Facebook app used for Facebook login. Cannot be specified with \u003cspan pulumi-lang-nodejs=\"`appSecretSettingName`\" pulumi-lang-dotnet=\"`AppSecretSettingName`\" pulumi-lang-go=\"`appSecretSettingName`\" pulumi-lang-python=\"`app_secret_setting_name`\" pulumi-lang-yaml=\"`appSecretSettingName`\" pulumi-lang-java=\"`appSecretSettingName`\"\u003e`app_secret_setting_name`\u003c/span\u003e.\n","secret":true},"appSecretSettingName":{"type":"string","description":"The app setting name that contains the \u003cspan pulumi-lang-nodejs=\"`appSecret`\" pulumi-lang-dotnet=\"`AppSecret`\" pulumi-lang-go=\"`appSecret`\" pulumi-lang-python=\"`app_secret`\" pulumi-lang-yaml=\"`appSecret`\" pulumi-lang-java=\"`appSecret`\"\u003e`app_secret`\u003c/span\u003e value used for Facebook login. Cannot be specified with \u003cspan pulumi-lang-nodejs=\"`appSecret`\" pulumi-lang-dotnet=\"`AppSecret`\" pulumi-lang-go=\"`appSecret`\" pulumi-lang-python=\"`app_secret`\" pulumi-lang-yaml=\"`appSecret`\" pulumi-lang-java=\"`appSecret`\"\u003e`app_secret`\u003c/span\u003e.\n"},"oauthScopes":{"type":"array","items":{"type":"string"},"description":"Specifies a list of OAuth 2.0 scopes to be requested as part of Facebook login authentication.\n"}},"type":"object","required":["appId"]},"azure:appservice/WindowsFunctionAppAuthSettingsGithub:WindowsFunctionAppAuthSettingsGithub":{"properties":{"clientId":{"type":"string","description":"The ID of the GitHub app used for login.\n"},"clientSecret":{"type":"string","description":"The Client Secret of the GitHub app used for GitHub login. Cannot be specified with \u003cspan pulumi-lang-nodejs=\"`clientSecretSettingName`\" pulumi-lang-dotnet=\"`ClientSecretSettingName`\" pulumi-lang-go=\"`clientSecretSettingName`\" pulumi-lang-python=\"`client_secret_setting_name`\" pulumi-lang-yaml=\"`clientSecretSettingName`\" pulumi-lang-java=\"`clientSecretSettingName`\"\u003e`client_secret_setting_name`\u003c/span\u003e.\n","secret":true},"clientSecretSettingName":{"type":"string","description":"The app setting name that contains the \u003cspan pulumi-lang-nodejs=\"`clientSecret`\" pulumi-lang-dotnet=\"`ClientSecret`\" pulumi-lang-go=\"`clientSecret`\" pulumi-lang-python=\"`client_secret`\" pulumi-lang-yaml=\"`clientSecret`\" pulumi-lang-java=\"`clientSecret`\"\u003e`client_secret`\u003c/span\u003e value used for GitHub login. Cannot be specified with \u003cspan pulumi-lang-nodejs=\"`clientSecret`\" pulumi-lang-dotnet=\"`ClientSecret`\" pulumi-lang-go=\"`clientSecret`\" pulumi-lang-python=\"`client_secret`\" pulumi-lang-yaml=\"`clientSecret`\" pulumi-lang-java=\"`clientSecret`\"\u003e`client_secret`\u003c/span\u003e.\n"},"oauthScopes":{"type":"array","items":{"type":"string"},"description":"Specifies a list of OAuth 2.0 scopes that will be requested as part of GitHub login authentication.\n"}},"type":"object","required":["clientId"]},"azure:appservice/WindowsFunctionAppAuthSettingsGoogle:WindowsFunctionAppAuthSettingsGoogle":{"properties":{"clientId":{"type":"string","description":"The OpenID Connect Client ID for the Google web application.\n"},"clientSecret":{"type":"string","description":"The client secret associated with the Google web application. Cannot be specified with \u003cspan pulumi-lang-nodejs=\"`clientSecretSettingName`\" pulumi-lang-dotnet=\"`ClientSecretSettingName`\" pulumi-lang-go=\"`clientSecretSettingName`\" pulumi-lang-python=\"`client_secret_setting_name`\" pulumi-lang-yaml=\"`clientSecretSettingName`\" pulumi-lang-java=\"`clientSecretSettingName`\"\u003e`client_secret_setting_name`\u003c/span\u003e.\n","secret":true},"clientSecretSettingName":{"type":"string","description":"The app setting name that contains the \u003cspan pulumi-lang-nodejs=\"`clientSecret`\" pulumi-lang-dotnet=\"`ClientSecret`\" pulumi-lang-go=\"`clientSecret`\" pulumi-lang-python=\"`client_secret`\" pulumi-lang-yaml=\"`clientSecret`\" pulumi-lang-java=\"`clientSecret`\"\u003e`client_secret`\u003c/span\u003e value used for Google login. Cannot be specified with \u003cspan pulumi-lang-nodejs=\"`clientSecret`\" pulumi-lang-dotnet=\"`ClientSecret`\" pulumi-lang-go=\"`clientSecret`\" pulumi-lang-python=\"`client_secret`\" pulumi-lang-yaml=\"`clientSecret`\" pulumi-lang-java=\"`clientSecret`\"\u003e`client_secret`\u003c/span\u003e.\n"},"oauthScopes":{"type":"array","items":{"type":"string"},"description":"Specifies a list of OAuth 2.0 scopes that will be requested as part of Google Sign-In authentication. If not specified, \u003cspan pulumi-lang-nodejs=\"`openid`\" pulumi-lang-dotnet=\"`Openid`\" pulumi-lang-go=\"`openid`\" pulumi-lang-python=\"`openid`\" pulumi-lang-yaml=\"`openid`\" pulumi-lang-java=\"`openid`\"\u003e`openid`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`profile`\" pulumi-lang-dotnet=\"`Profile`\" pulumi-lang-go=\"`profile`\" pulumi-lang-python=\"`profile`\" pulumi-lang-yaml=\"`profile`\" pulumi-lang-java=\"`profile`\"\u003e`profile`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`email`\" pulumi-lang-dotnet=\"`Email`\" pulumi-lang-go=\"`email`\" pulumi-lang-python=\"`email`\" pulumi-lang-yaml=\"`email`\" pulumi-lang-java=\"`email`\"\u003e`email`\u003c/span\u003e are used as default scopes.\n"}},"type":"object","required":["clientId"]},"azure:appservice/WindowsFunctionAppAuthSettingsMicrosoft:WindowsFunctionAppAuthSettingsMicrosoft":{"properties":{"clientId":{"type":"string","description":"The OAuth 2.0 client ID that was created for the app used for authentication.\n"},"clientSecret":{"type":"string","description":"The OAuth 2.0 client secret that was created for the app used for authentication. Cannot be specified with \u003cspan pulumi-lang-nodejs=\"`clientSecretSettingName`\" pulumi-lang-dotnet=\"`ClientSecretSettingName`\" pulumi-lang-go=\"`clientSecretSettingName`\" pulumi-lang-python=\"`client_secret_setting_name`\" pulumi-lang-yaml=\"`clientSecretSettingName`\" pulumi-lang-java=\"`clientSecretSettingName`\"\u003e`client_secret_setting_name`\u003c/span\u003e.\n","secret":true},"clientSecretSettingName":{"type":"string","description":"The app setting name containing the OAuth 2.0 client secret that was created for the app used for authentication. Cannot be specified with \u003cspan pulumi-lang-nodejs=\"`clientSecret`\" pulumi-lang-dotnet=\"`ClientSecret`\" pulumi-lang-go=\"`clientSecret`\" pulumi-lang-python=\"`client_secret`\" pulumi-lang-yaml=\"`clientSecret`\" pulumi-lang-java=\"`clientSecret`\"\u003e`client_secret`\u003c/span\u003e.\n"},"oauthScopes":{"type":"array","items":{"type":"string"},"description":"Specifies a 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.\n"}},"type":"object","required":["clientId"]},"azure:appservice/WindowsFunctionAppAuthSettingsTwitter:WindowsFunctionAppAuthSettingsTwitter":{"properties":{"consumerKey":{"type":"string","description":"The OAuth 1.0a consumer key of the Twitter application used for sign-in.\n"},"consumerSecret":{"type":"string","description":"The OAuth 1.0a consumer secret of the Twitter application used for sign-in. Cannot be specified with \u003cspan pulumi-lang-nodejs=\"`consumerSecretSettingName`\" pulumi-lang-dotnet=\"`ConsumerSecretSettingName`\" pulumi-lang-go=\"`consumerSecretSettingName`\" pulumi-lang-python=\"`consumer_secret_setting_name`\" pulumi-lang-yaml=\"`consumerSecretSettingName`\" pulumi-lang-java=\"`consumerSecretSettingName`\"\u003e`consumer_secret_setting_name`\u003c/span\u003e.\n","secret":true},"consumerSecretSettingName":{"type":"string","description":"The app setting name that contains the OAuth 1.0a consumer secret of the Twitter application used for sign-in. Cannot be specified with \u003cspan pulumi-lang-nodejs=\"`consumerSecret`\" pulumi-lang-dotnet=\"`ConsumerSecret`\" pulumi-lang-go=\"`consumerSecret`\" pulumi-lang-python=\"`consumer_secret`\" pulumi-lang-yaml=\"`consumerSecret`\" pulumi-lang-java=\"`consumerSecret`\"\u003e`consumer_secret`\u003c/span\u003e.\n"}},"type":"object","required":["consumerKey"]},"azure:appservice/WindowsFunctionAppAuthSettingsV2:WindowsFunctionAppAuthSettingsV2":{"properties":{"activeDirectoryV2":{"$ref":"#/types/azure:appservice/WindowsFunctionAppAuthSettingsV2ActiveDirectoryV2:WindowsFunctionAppAuthSettingsV2ActiveDirectoryV2","description":"An \u003cspan pulumi-lang-nodejs=\"`activeDirectoryV2`\" pulumi-lang-dotnet=\"`ActiveDirectoryV2`\" pulumi-lang-go=\"`activeDirectoryV2`\" pulumi-lang-python=\"`active_directory_v2`\" pulumi-lang-yaml=\"`activeDirectoryV2`\" pulumi-lang-java=\"`activeDirectoryV2`\"\u003e`active_directory_v2`\u003c/span\u003e block as defined below.\n"},"appleV2":{"$ref":"#/types/azure:appservice/WindowsFunctionAppAuthSettingsV2AppleV2:WindowsFunctionAppAuthSettingsV2AppleV2","description":"An \u003cspan pulumi-lang-nodejs=\"`appleV2`\" pulumi-lang-dotnet=\"`AppleV2`\" pulumi-lang-go=\"`appleV2`\" pulumi-lang-python=\"`apple_v2`\" pulumi-lang-yaml=\"`appleV2`\" pulumi-lang-java=\"`appleV2`\"\u003e`apple_v2`\u003c/span\u003e block as defined below.\n"},"authEnabled":{"type":"boolean","description":"Should the AuthV2 Settings be enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"azureStaticWebAppV2":{"$ref":"#/types/azure:appservice/WindowsFunctionAppAuthSettingsV2AzureStaticWebAppV2:WindowsFunctionAppAuthSettingsV2AzureStaticWebAppV2","description":"An \u003cspan pulumi-lang-nodejs=\"`azureStaticWebAppV2`\" pulumi-lang-dotnet=\"`AzureStaticWebAppV2`\" pulumi-lang-go=\"`azureStaticWebAppV2`\" pulumi-lang-python=\"`azure_static_web_app_v2`\" pulumi-lang-yaml=\"`azureStaticWebAppV2`\" pulumi-lang-java=\"`azureStaticWebAppV2`\"\u003e`azure_static_web_app_v2`\u003c/span\u003e block as defined below.\n"},"configFilePath":{"type":"string","description":"The path to the App Auth settings.\n\n\u003e **Note:** Relative Paths are evaluated from the Site Root directory.\n"},"customOidcV2s":{"type":"array","items":{"$ref":"#/types/azure:appservice/WindowsFunctionAppAuthSettingsV2CustomOidcV2:WindowsFunctionAppAuthSettingsV2CustomOidcV2"},"description":"Zero or more \u003cspan pulumi-lang-nodejs=\"`customOidcV2`\" pulumi-lang-dotnet=\"`CustomOidcV2`\" pulumi-lang-go=\"`customOidcV2`\" pulumi-lang-python=\"`custom_oidc_v2`\" pulumi-lang-yaml=\"`customOidcV2`\" pulumi-lang-java=\"`customOidcV2`\"\u003e`custom_oidc_v2`\u003c/span\u003e blocks as defined below.\n"},"defaultProvider":{"type":"string","description":"The Default Authentication Provider to use when the \u003cspan pulumi-lang-nodejs=\"`unauthenticatedAction`\" pulumi-lang-dotnet=\"`UnauthenticatedAction`\" pulumi-lang-go=\"`unauthenticatedAction`\" pulumi-lang-python=\"`unauthenticated_action`\" pulumi-lang-yaml=\"`unauthenticatedAction`\" pulumi-lang-java=\"`unauthenticatedAction`\"\u003e`unauthenticated_action`\u003c/span\u003e is set to `RedirectToLoginPage`. Possible values include: \u003cspan pulumi-lang-nodejs=\"`apple`\" pulumi-lang-dotnet=\"`Apple`\" pulumi-lang-go=\"`apple`\" pulumi-lang-python=\"`apple`\" pulumi-lang-yaml=\"`apple`\" pulumi-lang-java=\"`apple`\"\u003e`apple`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`azureactivedirectory`\" pulumi-lang-dotnet=\"`Azureactivedirectory`\" pulumi-lang-go=\"`azureactivedirectory`\" pulumi-lang-python=\"`azureactivedirectory`\" pulumi-lang-yaml=\"`azureactivedirectory`\" pulumi-lang-java=\"`azureactivedirectory`\"\u003e`azureactivedirectory`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`facebook`\" pulumi-lang-dotnet=\"`Facebook`\" pulumi-lang-go=\"`facebook`\" pulumi-lang-python=\"`facebook`\" pulumi-lang-yaml=\"`facebook`\" pulumi-lang-java=\"`facebook`\"\u003e`facebook`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`github`\" pulumi-lang-dotnet=\"`Github`\" pulumi-lang-go=\"`github`\" pulumi-lang-python=\"`github`\" pulumi-lang-yaml=\"`github`\" pulumi-lang-java=\"`github`\"\u003e`github`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`google`\" pulumi-lang-dotnet=\"`Google`\" pulumi-lang-go=\"`google`\" pulumi-lang-python=\"`google`\" pulumi-lang-yaml=\"`google`\" pulumi-lang-java=\"`google`\"\u003e`google`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`twitter`\" pulumi-lang-dotnet=\"`Twitter`\" pulumi-lang-go=\"`twitter`\" pulumi-lang-python=\"`twitter`\" pulumi-lang-yaml=\"`twitter`\" pulumi-lang-java=\"`twitter`\"\u003e`twitter`\u003c/span\u003e and the \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e of your \u003cspan pulumi-lang-nodejs=\"`customOidcV2`\" pulumi-lang-dotnet=\"`CustomOidcV2`\" pulumi-lang-go=\"`customOidcV2`\" pulumi-lang-python=\"`custom_oidc_v2`\" pulumi-lang-yaml=\"`customOidcV2`\" pulumi-lang-java=\"`customOidcV2`\"\u003e`custom_oidc_v2`\u003c/span\u003e provider.\n\n\u003e **Note:** Whilst any value will be accepted by the API for \u003cspan pulumi-lang-nodejs=\"`defaultProvider`\" pulumi-lang-dotnet=\"`DefaultProvider`\" pulumi-lang-go=\"`defaultProvider`\" pulumi-lang-python=\"`default_provider`\" pulumi-lang-yaml=\"`defaultProvider`\" pulumi-lang-java=\"`defaultProvider`\"\u003e`default_provider`\u003c/span\u003e, it can leave the app in an unusable state if this value does not correspond to the name of a known provider (either built-in value, or\u003cspan pulumi-lang-nodejs=\" customOidc \" pulumi-lang-dotnet=\" CustomOidc \" pulumi-lang-go=\" customOidc \" pulumi-lang-python=\" custom_oidc \" pulumi-lang-yaml=\" customOidc \" pulumi-lang-java=\" customOidc \"\u003e custom_oidc \u003c/span\u003ename) as it is used to build the auth endpoint URI.\n"},"excludedPaths":{"type":"array","items":{"type":"string"},"description":"The paths which should be excluded from the \u003cspan pulumi-lang-nodejs=\"`unauthenticatedAction`\" pulumi-lang-dotnet=\"`UnauthenticatedAction`\" pulumi-lang-go=\"`unauthenticatedAction`\" pulumi-lang-python=\"`unauthenticated_action`\" pulumi-lang-yaml=\"`unauthenticatedAction`\" pulumi-lang-java=\"`unauthenticatedAction`\"\u003e`unauthenticated_action`\u003c/span\u003e when it is set to `RedirectToLoginPage`.\n\n\u003e **Note:** This list should be used instead of setting `WEBSITE_WARMUP_PATH` in \u003cspan pulumi-lang-nodejs=\"`appSettings`\" pulumi-lang-dotnet=\"`AppSettings`\" pulumi-lang-go=\"`appSettings`\" pulumi-lang-python=\"`app_settings`\" pulumi-lang-yaml=\"`appSettings`\" pulumi-lang-java=\"`appSettings`\"\u003e`app_settings`\u003c/span\u003e as it takes priority.\n"},"facebookV2":{"$ref":"#/types/azure:appservice/WindowsFunctionAppAuthSettingsV2FacebookV2:WindowsFunctionAppAuthSettingsV2FacebookV2","description":"A \u003cspan pulumi-lang-nodejs=\"`facebookV2`\" pulumi-lang-dotnet=\"`FacebookV2`\" pulumi-lang-go=\"`facebookV2`\" pulumi-lang-python=\"`facebook_v2`\" pulumi-lang-yaml=\"`facebookV2`\" pulumi-lang-java=\"`facebookV2`\"\u003e`facebook_v2`\u003c/span\u003e block as defined below.\n"},"forwardProxyConvention":{"type":"string","description":"The convention used to determine the url of the request made. Possible values include `NoProxy`, `Standard`, `Custom`. Defaults to `NoProxy`.\n"},"forwardProxyCustomHostHeaderName":{"type":"string","description":"The name of the custom header containing the host of the request.\n"},"forwardProxyCustomSchemeHeaderName":{"type":"string","description":"The name of the custom header containing the scheme of the request.\n"},"githubV2":{"$ref":"#/types/azure:appservice/WindowsFunctionAppAuthSettingsV2GithubV2:WindowsFunctionAppAuthSettingsV2GithubV2","description":"A \u003cspan pulumi-lang-nodejs=\"`githubV2`\" pulumi-lang-dotnet=\"`GithubV2`\" pulumi-lang-go=\"`githubV2`\" pulumi-lang-python=\"`github_v2`\" pulumi-lang-yaml=\"`githubV2`\" pulumi-lang-java=\"`githubV2`\"\u003e`github_v2`\u003c/span\u003e block as defined below.\n"},"googleV2":{"$ref":"#/types/azure:appservice/WindowsFunctionAppAuthSettingsV2GoogleV2:WindowsFunctionAppAuthSettingsV2GoogleV2","description":"A \u003cspan pulumi-lang-nodejs=\"`googleV2`\" pulumi-lang-dotnet=\"`GoogleV2`\" pulumi-lang-go=\"`googleV2`\" pulumi-lang-python=\"`google_v2`\" pulumi-lang-yaml=\"`googleV2`\" pulumi-lang-java=\"`googleV2`\"\u003e`google_v2`\u003c/span\u003e block as defined below.\n"},"httpRouteApiPrefix":{"type":"string","description":"The prefix that should precede all the authentication and authorisation paths. Defaults to `/.auth`.\n"},"login":{"$ref":"#/types/azure:appservice/WindowsFunctionAppAuthSettingsV2Login:WindowsFunctionAppAuthSettingsV2Login","description":"A \u003cspan pulumi-lang-nodejs=\"`login`\" pulumi-lang-dotnet=\"`Login`\" pulumi-lang-go=\"`login`\" pulumi-lang-python=\"`login`\" pulumi-lang-yaml=\"`login`\" pulumi-lang-java=\"`login`\"\u003e`login`\u003c/span\u003e block as defined below.\n"},"microsoftV2":{"$ref":"#/types/azure:appservice/WindowsFunctionAppAuthSettingsV2MicrosoftV2:WindowsFunctionAppAuthSettingsV2MicrosoftV2","description":"A \u003cspan pulumi-lang-nodejs=\"`microsoftV2`\" pulumi-lang-dotnet=\"`MicrosoftV2`\" pulumi-lang-go=\"`microsoftV2`\" pulumi-lang-python=\"`microsoft_v2`\" pulumi-lang-yaml=\"`microsoftV2`\" pulumi-lang-java=\"`microsoftV2`\"\u003e`microsoft_v2`\u003c/span\u003e block as defined below.\n"},"requireAuthentication":{"type":"boolean","description":"Should the authentication flow be used for all requests.\n"},"requireHttps":{"type":"boolean","description":"Should HTTPS be required on connections? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"runtimeVersion":{"type":"string","description":"The Runtime Version of the Authentication and Authorisation feature of this App. Defaults to `~1`.\n"},"twitterV2":{"$ref":"#/types/azure:appservice/WindowsFunctionAppAuthSettingsV2TwitterV2:WindowsFunctionAppAuthSettingsV2TwitterV2","description":"A \u003cspan pulumi-lang-nodejs=\"`twitterV2`\" pulumi-lang-dotnet=\"`TwitterV2`\" pulumi-lang-go=\"`twitterV2`\" pulumi-lang-python=\"`twitter_v2`\" pulumi-lang-yaml=\"`twitterV2`\" pulumi-lang-java=\"`twitterV2`\"\u003e`twitter_v2`\u003c/span\u003e block as defined below.\n"},"unauthenticatedAction":{"type":"string","description":"The action to take for requests made without authentication. Possible values include `RedirectToLoginPage`, `AllowAnonymous`, `Return401`, and `Return403`. Defaults to `RedirectToLoginPage`.\n"}},"type":"object","required":["login"]},"azure:appservice/WindowsFunctionAppAuthSettingsV2ActiveDirectoryV2:WindowsFunctionAppAuthSettingsV2ActiveDirectoryV2":{"properties":{"allowedApplications":{"type":"array","items":{"type":"string"},"description":"The list of allowed Applications for the Default Authorisation Policy.\n"},"allowedAudiences":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Allowed audience values to consider when validating JWTs issued by Azure Active Directory.\n\n\u003e **Note:** This is configured on the Authentication Provider side and is Read Only here.\n"},"allowedGroups":{"type":"array","items":{"type":"string"},"description":"The list of allowed Group Names for the Default Authorisation Policy.\n"},"allowedIdentities":{"type":"array","items":{"type":"string"},"description":"The list of allowed Identities for the Default Authorisation Policy.\n"},"clientId":{"type":"string","description":"The ID of the Client to use to authenticate with Azure Active Directory.\n"},"clientSecretCertificateThumbprint":{"type":"string","description":"The thumbprint of the certificate used for signing purposes.\n\n!\u003e **Note:** If one \u003cspan pulumi-lang-nodejs=\"`clientSecretSettingName`\" pulumi-lang-dotnet=\"`ClientSecretSettingName`\" pulumi-lang-go=\"`clientSecretSettingName`\" pulumi-lang-python=\"`client_secret_setting_name`\" pulumi-lang-yaml=\"`clientSecretSettingName`\" pulumi-lang-java=\"`clientSecretSettingName`\"\u003e`client_secret_setting_name`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`clientSecretCertificateThumbprint`\" pulumi-lang-dotnet=\"`ClientSecretCertificateThumbprint`\" pulumi-lang-go=\"`clientSecretCertificateThumbprint`\" pulumi-lang-python=\"`client_secret_certificate_thumbprint`\" pulumi-lang-yaml=\"`clientSecretCertificateThumbprint`\" pulumi-lang-java=\"`clientSecretCertificateThumbprint`\"\u003e`client_secret_certificate_thumbprint`\u003c/span\u003e is specified, terraform won't write the client secret or secret certificate thumbprint back to \u003cspan pulumi-lang-nodejs=\"`appSetting`\" pulumi-lang-dotnet=\"`AppSetting`\" pulumi-lang-go=\"`appSetting`\" pulumi-lang-python=\"`app_setting`\" pulumi-lang-yaml=\"`appSetting`\" pulumi-lang-java=\"`appSetting`\"\u003e`app_setting`\u003c/span\u003e, so make sure they are existed in \u003cspan pulumi-lang-nodejs=\"`appSettings`\" pulumi-lang-dotnet=\"`AppSettings`\" pulumi-lang-go=\"`appSettings`\" pulumi-lang-python=\"`app_settings`\" pulumi-lang-yaml=\"`appSettings`\" pulumi-lang-java=\"`appSettings`\"\u003e`app_settings`\u003c/span\u003e to function correctly.\n"},"clientSecretSettingName":{"type":"string","description":"The App Setting name that contains the client secret of the Client.\n\n!\u003e **Note:** A setting with this name must exist in \u003cspan pulumi-lang-nodejs=\"`appSettings`\" pulumi-lang-dotnet=\"`AppSettings`\" pulumi-lang-go=\"`appSettings`\" pulumi-lang-python=\"`app_settings`\" pulumi-lang-yaml=\"`appSettings`\" pulumi-lang-java=\"`appSettings`\"\u003e`app_settings`\u003c/span\u003e to function correctly.\n"},"jwtAllowedClientApplications":{"type":"array","items":{"type":"string"},"description":"A list of Allowed Client Applications in the JWT Claim.\n"},"jwtAllowedGroups":{"type":"array","items":{"type":"string"},"description":"A list of Allowed Groups in the JWT Claim.\n"},"loginParameters":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of key-value pairs to send to the Authorisation Endpoint when a user logs in.\n"},"tenantAuthEndpoint":{"type":"string","description":"The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/`\n\n\u003e **Note:** [Here](https://learn.microsoft.com/en-us/entra/identity-platform/authentication-national-cloud#microsoft-entra-authentication-endpoints) is a list of possible authentication endpoints based on the cloud environment. [Here](https://learn.microsoft.com/en-us/azure/app-service/configure-authentication-provider-aad?tabs=workforce-tenant) is more information to better understand how to configure authentication for Azure App Service or Azure Functions.\n"},"wwwAuthenticationDisabled":{"type":"boolean","description":"Should the www-authenticate provider should be omitted from the request? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"}},"type":"object","required":["clientId","tenantAuthEndpoint"]},"azure:appservice/WindowsFunctionAppAuthSettingsV2AppleV2:WindowsFunctionAppAuthSettingsV2AppleV2":{"properties":{"clientId":{"type":"string","description":"The OpenID Connect Client ID for the Apple web application.\n"},"clientSecretSettingName":{"type":"string","description":"The app setting name that contains the \u003cspan pulumi-lang-nodejs=\"`clientSecret`\" pulumi-lang-dotnet=\"`ClientSecret`\" pulumi-lang-go=\"`clientSecret`\" pulumi-lang-python=\"`client_secret`\" pulumi-lang-yaml=\"`clientSecret`\" pulumi-lang-java=\"`clientSecret`\"\u003e`client_secret`\u003c/span\u003e value used for Apple Login.\n\n!\u003e **Note:** A setting with this name must exist in \u003cspan pulumi-lang-nodejs=\"`appSettings`\" pulumi-lang-dotnet=\"`AppSettings`\" pulumi-lang-go=\"`appSettings`\" pulumi-lang-python=\"`app_settings`\" pulumi-lang-yaml=\"`appSettings`\" pulumi-lang-java=\"`appSettings`\"\u003e`app_settings`\u003c/span\u003e to function correctly.\n"},"loginScopes":{"type":"array","items":{"type":"string"},"description":"A list of Login Scopes provided by this Authentication Provider.\n\n\u003e **Note:** This is configured on the Authentication Provider side and is Read Only here.\n"}},"type":"object","required":["clientId","clientSecretSettingName"],"language":{"nodejs":{"requiredOutputs":["clientId","clientSecretSettingName","loginScopes"]}}},"azure:appservice/WindowsFunctionAppAuthSettingsV2AzureStaticWebAppV2:WindowsFunctionAppAuthSettingsV2AzureStaticWebAppV2":{"properties":{"clientId":{"type":"string","description":"The ID of the Client to use to authenticate with Azure Static Web App Authentication.\n"}},"type":"object","required":["clientId"]},"azure:appservice/WindowsFunctionAppAuthSettingsV2CustomOidcV2:WindowsFunctionAppAuthSettingsV2CustomOidcV2":{"properties":{"authorisationEndpoint":{"type":"string","description":"The endpoint to make the Authorisation Request as supplied by \u003cspan pulumi-lang-nodejs=\"`openidConfigurationEndpoint`\" pulumi-lang-dotnet=\"`OpenidConfigurationEndpoint`\" pulumi-lang-go=\"`openidConfigurationEndpoint`\" pulumi-lang-python=\"`openid_configuration_endpoint`\" pulumi-lang-yaml=\"`openidConfigurationEndpoint`\" pulumi-lang-java=\"`openidConfigurationEndpoint`\"\u003e`openid_configuration_endpoint`\u003c/span\u003e response.\n"},"certificationUri":{"type":"string","description":"The endpoint that provides the keys necessary to validate the token as supplied by \u003cspan pulumi-lang-nodejs=\"`openidConfigurationEndpoint`\" pulumi-lang-dotnet=\"`OpenidConfigurationEndpoint`\" pulumi-lang-go=\"`openidConfigurationEndpoint`\" pulumi-lang-python=\"`openid_configuration_endpoint`\" pulumi-lang-yaml=\"`openidConfigurationEndpoint`\" pulumi-lang-java=\"`openidConfigurationEndpoint`\"\u003e`openid_configuration_endpoint`\u003c/span\u003e response.\n"},"clientCredentialMethod":{"type":"string","description":"The Client Credential Method used.\n"},"clientId":{"type":"string","description":"The ID of the Client to use to authenticate with the Custom OIDC.\n"},"clientSecretSettingName":{"type":"string","description":"The App Setting name that contains the secret for this Custom OIDC Client. This is generated from \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e above and suffixed with `_PROVIDER_AUTHENTICATION_SECRET`.\n"},"issuerEndpoint":{"type":"string","description":"The endpoint that issued the Token as supplied by \u003cspan pulumi-lang-nodejs=\"`openidConfigurationEndpoint`\" pulumi-lang-dotnet=\"`OpenidConfigurationEndpoint`\" pulumi-lang-go=\"`openidConfigurationEndpoint`\" pulumi-lang-python=\"`openid_configuration_endpoint`\" pulumi-lang-yaml=\"`openidConfigurationEndpoint`\" pulumi-lang-java=\"`openidConfigurationEndpoint`\"\u003e`openid_configuration_endpoint`\u003c/span\u003e response.\n"},"name":{"type":"string","description":"The name of the Custom OIDC Authentication Provider.\n\n\u003e **Note:** An \u003cspan pulumi-lang-nodejs=\"`appSetting`\" pulumi-lang-dotnet=\"`AppSetting`\" pulumi-lang-go=\"`appSetting`\" pulumi-lang-python=\"`app_setting`\" pulumi-lang-yaml=\"`appSetting`\" pulumi-lang-java=\"`appSetting`\"\u003e`app_setting`\u003c/span\u003e matching this value in upper case with the suffix of `_PROVIDER_AUTHENTICATION_SECRET` is required. e.g. `MYOIDC_PROVIDER_AUTHENTICATION_SECRET` for a value of \u003cspan pulumi-lang-nodejs=\"`myoidc`\" pulumi-lang-dotnet=\"`Myoidc`\" pulumi-lang-go=\"`myoidc`\" pulumi-lang-python=\"`myoidc`\" pulumi-lang-yaml=\"`myoidc`\" pulumi-lang-java=\"`myoidc`\"\u003e`myoidc`\u003c/span\u003e.\n"},"nameClaimType":{"type":"string","description":"The name of the claim that contains the users name.\n"},"openidConfigurationEndpoint":{"type":"string","description":"The app setting name that contains the \u003cspan pulumi-lang-nodejs=\"`clientSecret`\" pulumi-lang-dotnet=\"`ClientSecret`\" pulumi-lang-go=\"`clientSecret`\" pulumi-lang-python=\"`client_secret`\" pulumi-lang-yaml=\"`clientSecret`\" pulumi-lang-java=\"`clientSecret`\"\u003e`client_secret`\u003c/span\u003e value used for the Custom OIDC Login.\n"},"scopes":{"type":"array","items":{"type":"string"},"description":"The list of the scopes that should be requested while authenticating.\n"},"tokenEndpoint":{"type":"string","description":"The endpoint used to request a Token as supplied by \u003cspan pulumi-lang-nodejs=\"`openidConfigurationEndpoint`\" pulumi-lang-dotnet=\"`OpenidConfigurationEndpoint`\" pulumi-lang-go=\"`openidConfigurationEndpoint`\" pulumi-lang-python=\"`openid_configuration_endpoint`\" pulumi-lang-yaml=\"`openidConfigurationEndpoint`\" pulumi-lang-java=\"`openidConfigurationEndpoint`\"\u003e`openid_configuration_endpoint`\u003c/span\u003e response.\n"}},"type":"object","required":["clientId","name","openidConfigurationEndpoint"],"language":{"nodejs":{"requiredOutputs":["authorisationEndpoint","certificationUri","clientCredentialMethod","clientId","clientSecretSettingName","issuerEndpoint","name","openidConfigurationEndpoint","tokenEndpoint"]}}},"azure:appservice/WindowsFunctionAppAuthSettingsV2FacebookV2:WindowsFunctionAppAuthSettingsV2FacebookV2":{"properties":{"appId":{"type":"string","description":"The App ID of the Facebook app used for login.\n"},"appSecretSettingName":{"type":"string","description":"The app setting name that contains the \u003cspan pulumi-lang-nodejs=\"`appSecret`\" pulumi-lang-dotnet=\"`AppSecret`\" pulumi-lang-go=\"`appSecret`\" pulumi-lang-python=\"`app_secret`\" pulumi-lang-yaml=\"`appSecret`\" pulumi-lang-java=\"`appSecret`\"\u003e`app_secret`\u003c/span\u003e value used for Facebook Login.\n\n!\u003e **Note:** A setting with this name must exist in \u003cspan pulumi-lang-nodejs=\"`appSettings`\" pulumi-lang-dotnet=\"`AppSettings`\" pulumi-lang-go=\"`appSettings`\" pulumi-lang-python=\"`app_settings`\" pulumi-lang-yaml=\"`appSettings`\" pulumi-lang-java=\"`appSettings`\"\u003e`app_settings`\u003c/span\u003e to function correctly.\n"},"graphApiVersion":{"type":"string","description":"The version of the Facebook API to be used while logging in.\n"},"loginScopes":{"type":"array","items":{"type":"string"},"description":"The list of scopes that should be requested as part of Facebook Login authentication.\n"}},"type":"object","required":["appId","appSecretSettingName"],"language":{"nodejs":{"requiredOutputs":["appId","appSecretSettingName","graphApiVersion"]}}},"azure:appservice/WindowsFunctionAppAuthSettingsV2GithubV2:WindowsFunctionAppAuthSettingsV2GithubV2":{"properties":{"clientId":{"type":"string","description":"The ID of the GitHub app used for login.\n"},"clientSecretSettingName":{"type":"string","description":"The app setting name that contains the \u003cspan pulumi-lang-nodejs=\"`clientSecret`\" pulumi-lang-dotnet=\"`ClientSecret`\" pulumi-lang-go=\"`clientSecret`\" pulumi-lang-python=\"`client_secret`\" pulumi-lang-yaml=\"`clientSecret`\" pulumi-lang-java=\"`clientSecret`\"\u003e`client_secret`\u003c/span\u003e value used for GitHub Login.\n\n!\u003e **Note:** A setting with this name must exist in \u003cspan pulumi-lang-nodejs=\"`appSettings`\" pulumi-lang-dotnet=\"`AppSettings`\" pulumi-lang-go=\"`appSettings`\" pulumi-lang-python=\"`app_settings`\" pulumi-lang-yaml=\"`appSettings`\" pulumi-lang-java=\"`appSettings`\"\u003e`app_settings`\u003c/span\u003e to function correctly.\n"},"loginScopes":{"type":"array","items":{"type":"string"},"description":"The list of OAuth 2.0 scopes that should be requested as part of GitHub Login authentication.\n"}},"type":"object","required":["clientId","clientSecretSettingName"]},"azure:appservice/WindowsFunctionAppAuthSettingsV2GoogleV2:WindowsFunctionAppAuthSettingsV2GoogleV2":{"properties":{"allowedAudiences":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Allowed Audiences that should be requested as part of Google Sign-In authentication.\n"},"clientId":{"type":"string","description":"The OpenID Connect Client ID for the Google web application.\n"},"clientSecretSettingName":{"type":"string","description":"The app setting name that contains the \u003cspan pulumi-lang-nodejs=\"`clientSecret`\" pulumi-lang-dotnet=\"`ClientSecret`\" pulumi-lang-go=\"`clientSecret`\" pulumi-lang-python=\"`client_secret`\" pulumi-lang-yaml=\"`clientSecret`\" pulumi-lang-java=\"`clientSecret`\"\u003e`client_secret`\u003c/span\u003e value used for Google Login.\n\n!\u003e **Note:** A setting with this name must exist in \u003cspan pulumi-lang-nodejs=\"`appSettings`\" pulumi-lang-dotnet=\"`AppSettings`\" pulumi-lang-go=\"`appSettings`\" pulumi-lang-python=\"`app_settings`\" pulumi-lang-yaml=\"`appSettings`\" pulumi-lang-java=\"`appSettings`\"\u003e`app_settings`\u003c/span\u003e to function correctly.\n"},"loginScopes":{"type":"array","items":{"type":"string"},"description":"The list of OAuth 2.0 scopes that should be requested as part of Google Sign-In authentication.\n"}},"type":"object","required":["clientId","clientSecretSettingName"]},"azure:appservice/WindowsFunctionAppAuthSettingsV2Login:WindowsFunctionAppAuthSettingsV2Login":{"properties":{"allowedExternalRedirectUrls":{"type":"array","items":{"type":"string"},"description":"External URLs that can be redirected to as part of logging in or logging out of the app. This is an advanced setting typically only needed by Windows Store application backends.\n\n\u003e **Note:** URLs within the current domain are always implicitly allowed.\n"},"cookieExpirationConvention":{"type":"string","description":"The method by which cookies expire. Possible values include: `FixedTime`, and `IdentityProviderDerived`. Defaults to `FixedTime`.\n"},"cookieExpirationTime":{"type":"string","description":"The time after the request is made when the session cookie should expire. Defaults to `08:00:00`.\n"},"logoutEndpoint":{"type":"string","description":"The endpoint to which logout requests should be made.\n"},"nonceExpirationTime":{"type":"string","description":"The time after the request is made when the nonce should expire. Defaults to `00:05:00`.\n"},"preserveUrlFragmentsForLogins":{"type":"boolean","description":"Should the fragments from the request be preserved after the login request is made. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"tokenRefreshExtensionTime":{"type":"number","description":"The number of hours after session token expiration that a session token can be used to call the token refresh API. Defaults to \u003cspan pulumi-lang-nodejs=\"`72`\" pulumi-lang-dotnet=\"`72`\" pulumi-lang-go=\"`72`\" pulumi-lang-python=\"`72`\" pulumi-lang-yaml=\"`72`\" pulumi-lang-java=\"`72`\"\u003e`72`\u003c/span\u003e hours.\n"},"tokenStoreEnabled":{"type":"boolean","description":"Should the Token Store configuration Enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e\n"},"tokenStorePath":{"type":"string","description":"The directory path in the App Filesystem in which the tokens will be stored.\n"},"tokenStoreSasSettingName":{"type":"string","description":"The name of the app setting which contains the SAS URL of the blob storage containing the tokens.\n"},"validateNonce":{"type":"boolean","description":"Should the nonce be validated while completing the login flow. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"}},"type":"object"},"azure:appservice/WindowsFunctionAppAuthSettingsV2MicrosoftV2:WindowsFunctionAppAuthSettingsV2MicrosoftV2":{"properties":{"allowedAudiences":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Allowed Audiences that will be requested as part of Microsoft Sign-In authentication.\n"},"clientId":{"type":"string","description":"The OAuth 2.0 client ID that was created for the app used for authentication.\n"},"clientSecretSettingName":{"type":"string","description":"The app setting name containing the OAuth 2.0 client secret that was created for the app used for authentication.\n\n!\u003e **Note:** A setting with this name must exist in \u003cspan pulumi-lang-nodejs=\"`appSettings`\" pulumi-lang-dotnet=\"`AppSettings`\" pulumi-lang-go=\"`appSettings`\" pulumi-lang-python=\"`app_settings`\" pulumi-lang-yaml=\"`appSettings`\" pulumi-lang-java=\"`appSettings`\"\u003e`app_settings`\u003c/span\u003e to function correctly.\n"},"loginScopes":{"type":"array","items":{"type":"string"},"description":"The list of Login scopes that should be requested as part of Microsoft Account authentication.\n"}},"type":"object","required":["clientId","clientSecretSettingName"]},"azure:appservice/WindowsFunctionAppAuthSettingsV2TwitterV2:WindowsFunctionAppAuthSettingsV2TwitterV2":{"properties":{"consumerKey":{"type":"string","description":"The OAuth 1.0a consumer key of the Twitter application used for sign-in.\n"},"consumerSecretSettingName":{"type":"string","description":"The app setting name that contains the OAuth 1.0a consumer secret of the Twitter application used for sign-in.\n\n!\u003e **Note:** A setting with this name must exist in \u003cspan pulumi-lang-nodejs=\"`appSettings`\" pulumi-lang-dotnet=\"`AppSettings`\" pulumi-lang-go=\"`appSettings`\" pulumi-lang-python=\"`app_settings`\" pulumi-lang-yaml=\"`appSettings`\" pulumi-lang-java=\"`appSettings`\"\u003e`app_settings`\u003c/span\u003e to function correctly.\n"}},"type":"object","required":["consumerKey","consumerSecretSettingName"]},"azure:appservice/WindowsFunctionAppBackup:WindowsFunctionAppBackup":{"properties":{"enabled":{"type":"boolean","description":"Should this backup job be enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"name":{"type":"string","description":"The name which should be used for this Backup.\n"},"schedule":{"$ref":"#/types/azure:appservice/WindowsFunctionAppBackupSchedule:WindowsFunctionAppBackupSchedule","description":"A \u003cspan pulumi-lang-nodejs=\"`schedule`\" pulumi-lang-dotnet=\"`Schedule`\" pulumi-lang-go=\"`schedule`\" pulumi-lang-python=\"`schedule`\" pulumi-lang-yaml=\"`schedule`\" pulumi-lang-java=\"`schedule`\"\u003e`schedule`\u003c/span\u003e block as defined below.\n"},"storageAccountUrl":{"type":"string","description":"The SAS URL to the container.\n","secret":true}},"type":"object","required":["name","schedule","storageAccountUrl"]},"azure:appservice/WindowsFunctionAppBackupSchedule:WindowsFunctionAppBackupSchedule":{"properties":{"frequencyInterval":{"type":"integer","description":"How often the backup should be executed (e.g. for weekly backup, this should be set to \u003cspan pulumi-lang-nodejs=\"`7`\" pulumi-lang-dotnet=\"`7`\" pulumi-lang-go=\"`7`\" pulumi-lang-python=\"`7`\" pulumi-lang-yaml=\"`7`\" pulumi-lang-java=\"`7`\"\u003e`7`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`frequencyUnit`\" pulumi-lang-dotnet=\"`FrequencyUnit`\" pulumi-lang-go=\"`frequencyUnit`\" pulumi-lang-python=\"`frequency_unit`\" pulumi-lang-yaml=\"`frequencyUnit`\" pulumi-lang-java=\"`frequencyUnit`\"\u003e`frequency_unit`\u003c/span\u003e should be set to `Day`).\n\n\u003e **Note:** Not all intervals are supported on all Windows Function App SKUs. Please refer to the official documentation for appropriate values.\n"},"frequencyUnit":{"type":"string","description":"The unit of time for how often the backup should take place. Possible values include: `Day` and `Hour`.\n"},"keepAtLeastOneBackup":{"type":"boolean","description":"Should the service keep at least one backup, regardless of age of backup. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"lastExecutionTime":{"type":"string","description":"The time the backup was last attempted.\n"},"retentionPeriodDays":{"type":"integer","description":"After how many days backups should be deleted. Defaults to \u003cspan pulumi-lang-nodejs=\"`30`\" pulumi-lang-dotnet=\"`30`\" pulumi-lang-go=\"`30`\" pulumi-lang-python=\"`30`\" pulumi-lang-yaml=\"`30`\" pulumi-lang-java=\"`30`\"\u003e`30`\u003c/span\u003e.\n"},"startTime":{"type":"string","description":"When the schedule should start working in RFC-3339 format.\n"}},"type":"object","required":["frequencyInterval","frequencyUnit"],"language":{"nodejs":{"requiredOutputs":["frequencyInterval","frequencyUnit","lastExecutionTime","startTime"]}}},"azure:appservice/WindowsFunctionAppConnectionString:WindowsFunctionAppConnectionString":{"properties":{"name":{"type":"string","description":"The name which should be used for this Connection.\n"},"type":{"type":"string","description":"Type of database. Possible values include: `APIHub`, `Custom`, `DocDb`, `EventHub`, `MySQL`, `NotificationHub`, `PostgreSQL`, `RedisCache`, `ServiceBus`, `SQLAzure`, and `SQLServer`.\n"},"value":{"type":"string","description":"The connection string value.\n","secret":true}},"type":"object","required":["name","type","value"]},"azure:appservice/WindowsFunctionAppIdentity:WindowsFunctionAppIdentity":{"properties":{"identityIds":{"type":"array","items":{"type":"string"},"description":"A list of User Assigned Managed Identity IDs to be assigned to this Windows Function App.\n\n\u003e **Note:** This is required when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to `UserAssigned` or `SystemAssigned, UserAssigned`.\n"},"principalId":{"type":"string","description":"The Principal ID associated with this Managed Service Identity.\n"},"tenantId":{"type":"string","description":"The Tenant ID associated with this Managed Service Identity.\n"},"type":{"type":"string","description":"Specifies the type of Managed Service Identity that should be configured on this Windows Function App. Possible values are `SystemAssigned`, `UserAssigned`, `SystemAssigned, UserAssigned` (to enable both).\n"}},"type":"object","required":["type"],"language":{"nodejs":{"requiredOutputs":["principalId","tenantId","type"]}}},"azure:appservice/WindowsFunctionAppSiteConfig:WindowsFunctionAppSiteConfig":{"properties":{"alwaysOn":{"type":"boolean","description":"If this Windows Function App is Always On enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** when running in a Consumption or Premium Plan, \u003cspan pulumi-lang-nodejs=\"`alwaysOn`\" pulumi-lang-dotnet=\"`AlwaysOn`\" pulumi-lang-go=\"`alwaysOn`\" pulumi-lang-python=\"`always_on`\" pulumi-lang-yaml=\"`alwaysOn`\" pulumi-lang-java=\"`alwaysOn`\"\u003e`always_on`\u003c/span\u003e feature should be turned off. Please turn it off before upgrading the service plan from standard to premium.\n"},"apiDefinitionUrl":{"type":"string","description":"The URL of the API definition that describes this Windows Function App.\n"},"apiManagementApiId":{"type":"string","description":"The ID of the API Management API for this Windows Function App.\n"},"appCommandLine":{"type":"string","description":"The App command line to launch.\n"},"appScaleLimit":{"type":"integer","description":"The number of workers this function app can scale out to. Only applicable to apps on the Consumption and Premium plan.\n"},"appServiceLogs":{"$ref":"#/types/azure:appservice/WindowsFunctionAppSiteConfigAppServiceLogs:WindowsFunctionAppSiteConfigAppServiceLogs","description":"An \u003cspan pulumi-lang-nodejs=\"`appServiceLogs`\" pulumi-lang-dotnet=\"`AppServiceLogs`\" pulumi-lang-go=\"`appServiceLogs`\" pulumi-lang-python=\"`app_service_logs`\" pulumi-lang-yaml=\"`appServiceLogs`\" pulumi-lang-java=\"`appServiceLogs`\"\u003e`app_service_logs`\u003c/span\u003e block as defined above.\n"},"applicationInsightsConnectionString":{"type":"string","description":"The Connection String for linking the Windows Function App to Application Insights.\n","secret":true},"applicationInsightsKey":{"type":"string","description":"The Instrumentation Key for connecting the Windows Function App to Application Insights.\n","secret":true},"applicationStack":{"$ref":"#/types/azure:appservice/WindowsFunctionAppSiteConfigApplicationStack:WindowsFunctionAppSiteConfigApplicationStack","description":"An \u003cspan pulumi-lang-nodejs=\"`applicationStack`\" pulumi-lang-dotnet=\"`ApplicationStack`\" pulumi-lang-go=\"`applicationStack`\" pulumi-lang-python=\"`application_stack`\" pulumi-lang-yaml=\"`applicationStack`\" pulumi-lang-java=\"`applicationStack`\"\u003e`application_stack`\u003c/span\u003e block as defined above.\n\n\u003e **Note:** If this is set, there must not be an application setting `FUNCTIONS_WORKER_RUNTIME`.\n"},"cors":{"$ref":"#/types/azure:appservice/WindowsFunctionAppSiteConfigCors:WindowsFunctionAppSiteConfigCors","description":"A \u003cspan pulumi-lang-nodejs=\"`cors`\" pulumi-lang-dotnet=\"`Cors`\" pulumi-lang-go=\"`cors`\" pulumi-lang-python=\"`cors`\" pulumi-lang-yaml=\"`cors`\" pulumi-lang-java=\"`cors`\"\u003e`cors`\u003c/span\u003e block as defined above.\n"},"defaultDocuments":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Default Documents for the Windows Function App.\n"},"detailedErrorLoggingEnabled":{"type":"boolean","description":"Is detailed error logging enabled\n"},"elasticInstanceMinimum":{"type":"integer","description":"The number of minimum instances for this Windows Function App. Only affects apps on Elastic Premium plans.\n"},"ftpsState":{"type":"string","description":"State of FTP / FTPS service for this Windows Function App. Possible values include: `AllAllowed`, `FtpsOnly` and `Disabled`. Defaults to `Disabled`.\n"},"healthCheckEvictionTimeInMin":{"type":"integer","description":"The amount of time in minutes that a node can be unhealthy before being removed from the load balancer. Possible values are between \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`10`\" pulumi-lang-dotnet=\"`10`\" pulumi-lang-go=\"`10`\" pulumi-lang-python=\"`10`\" pulumi-lang-yaml=\"`10`\" pulumi-lang-java=\"`10`\"\u003e`10`\u003c/span\u003e. Only valid in conjunction with \u003cspan pulumi-lang-nodejs=\"`healthCheckPath`\" pulumi-lang-dotnet=\"`HealthCheckPath`\" pulumi-lang-go=\"`healthCheckPath`\" pulumi-lang-python=\"`health_check_path`\" pulumi-lang-yaml=\"`healthCheckPath`\" pulumi-lang-java=\"`healthCheckPath`\"\u003e`health_check_path`\u003c/span\u003e.\n"},"healthCheckPath":{"type":"string","description":"The path to be checked for this Windows Function App health.\n"},"http2Enabled":{"type":"boolean","description":"Specifies if the HTTP2 protocol should be enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"ipRestrictionDefaultAction":{"type":"string","description":"The Default action for traffic that does not match any \u003cspan pulumi-lang-nodejs=\"`ipRestriction`\" pulumi-lang-dotnet=\"`IpRestriction`\" pulumi-lang-go=\"`ipRestriction`\" pulumi-lang-python=\"`ip_restriction`\" pulumi-lang-yaml=\"`ipRestriction`\" pulumi-lang-java=\"`ipRestriction`\"\u003e`ip_restriction`\u003c/span\u003e rule. possible values include `Allow` and `Deny`. Defaults to `Allow`.\n"},"ipRestrictions":{"type":"array","items":{"$ref":"#/types/azure:appservice/WindowsFunctionAppSiteConfigIpRestriction:WindowsFunctionAppSiteConfigIpRestriction"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`ipRestriction`\" pulumi-lang-dotnet=\"`IpRestriction`\" pulumi-lang-go=\"`ipRestriction`\" pulumi-lang-python=\"`ip_restriction`\" pulumi-lang-yaml=\"`ipRestriction`\" pulumi-lang-java=\"`ipRestriction`\"\u003e`ip_restriction`\u003c/span\u003e blocks as defined above.\n"},"loadBalancingMode":{"type":"string","description":"The Site load balancing mode. Possible values include: `WeightedRoundRobin`, `LeastRequests`, `LeastResponseTime`, `WeightedTotalTraffic`, `RequestHash`, `PerSiteRoundRobin`. Defaults to `LeastRequests` if omitted.\n"},"managedPipelineMode":{"type":"string","description":"Managed pipeline mode. Possible values include: `Integrated`, `Classic`. Defaults to `Integrated`.\n"},"minimumTlsVersion":{"type":"string","description":"Configures the minimum version of TLS required for SSL requests. Possible values include: `1.0`, `1.1`, `1.2` and `1.3`. Defaults to `1.2`.\n"},"preWarmedInstanceCount":{"type":"integer","description":"The number of pre-warmed instances for this Windows Function App. Only affects apps on an Elastic Premium plan.\n"},"remoteDebuggingEnabled":{"type":"boolean","description":"Should Remote Debugging be enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"remoteDebuggingVersion":{"type":"string","description":"The Remote Debugging Version. Currently only `VS2022` is supported.\n"},"runtimeScaleMonitoringEnabled":{"type":"boolean","description":"Should Scale Monitoring of the Functions Runtime be enabled?\n\n\u003e **Note:** Functions runtime scale monitoring can only be enabled for Elastic Premium Function Apps or Workflow Standard Logic Apps and requires a minimum prewarmed instance count of 1.\n"},"scmIpRestrictionDefaultAction":{"type":"string","description":"The Default action for traffic that does not match any \u003cspan pulumi-lang-nodejs=\"`scmIpRestriction`\" pulumi-lang-dotnet=\"`ScmIpRestriction`\" pulumi-lang-go=\"`scmIpRestriction`\" pulumi-lang-python=\"`scm_ip_restriction`\" pulumi-lang-yaml=\"`scmIpRestriction`\" pulumi-lang-java=\"`scmIpRestriction`\"\u003e`scm_ip_restriction`\u003c/span\u003e rule. possible values include `Allow` and `Deny`. Defaults to `Allow`.\n"},"scmIpRestrictions":{"type":"array","items":{"$ref":"#/types/azure:appservice/WindowsFunctionAppSiteConfigScmIpRestriction:WindowsFunctionAppSiteConfigScmIpRestriction"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`scmIpRestriction`\" pulumi-lang-dotnet=\"`ScmIpRestriction`\" pulumi-lang-go=\"`scmIpRestriction`\" pulumi-lang-python=\"`scm_ip_restriction`\" pulumi-lang-yaml=\"`scmIpRestriction`\" pulumi-lang-java=\"`scmIpRestriction`\"\u003e`scm_ip_restriction`\u003c/span\u003e blocks as defined above.\n"},"scmMinimumTlsVersion":{"type":"string","description":"Configures the minimum version of TLS required for SSL requests to the SCM site. Possible values include: `1.0`, `1.1`, `1.2` and `1.3`. Defaults to `1.2`.\n"},"scmType":{"type":"string","description":"The SCM Type in use by the Windows Function App.\n"},"scmUseMainIpRestriction":{"type":"boolean","description":"Should the Windows Function App \u003cspan pulumi-lang-nodejs=\"`ipRestriction`\" pulumi-lang-dotnet=\"`IpRestriction`\" pulumi-lang-go=\"`ipRestriction`\" pulumi-lang-python=\"`ip_restriction`\" pulumi-lang-yaml=\"`ipRestriction`\" pulumi-lang-java=\"`ipRestriction`\"\u003e`ip_restriction`\u003c/span\u003e configuration be used for the SCM also.\n"},"use32BitWorker":{"type":"boolean","description":"Should the Windows Function App use a 32-bit worker process. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"vnetRouteAllEnabled":{"type":"boolean","description":"Should all outbound traffic to have NAT Gateways, Network Security Groups and User Defined Routes applied? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"websocketsEnabled":{"type":"boolean","description":"Should Web Sockets be enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"windowsFxVersion":{"type":"string","description":"The Windows FX Version string.\n"},"workerCount":{"type":"integer","description":"The number of Workers for this Windows Function App.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["alwaysOn","appScaleLimit","applicationStack","defaultDocuments","detailedErrorLoggingEnabled","elasticInstanceMinimum","preWarmedInstanceCount","remoteDebuggingVersion","scmType","windowsFxVersion","workerCount"]}}},"azure:appservice/WindowsFunctionAppSiteConfigAppServiceLogs:WindowsFunctionAppSiteConfigAppServiceLogs":{"properties":{"diskQuotaMb":{"type":"integer","description":"The amount of disk space to use for logs. Valid values are between \u003cspan pulumi-lang-nodejs=\"`25`\" pulumi-lang-dotnet=\"`25`\" pulumi-lang-go=\"`25`\" pulumi-lang-python=\"`25`\" pulumi-lang-yaml=\"`25`\" pulumi-lang-java=\"`25`\"\u003e`25`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`100`\" pulumi-lang-dotnet=\"`100`\" pulumi-lang-go=\"`100`\" pulumi-lang-python=\"`100`\" pulumi-lang-yaml=\"`100`\" pulumi-lang-java=\"`100`\"\u003e`100`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`35`\" pulumi-lang-dotnet=\"`35`\" pulumi-lang-go=\"`35`\" pulumi-lang-python=\"`35`\" pulumi-lang-yaml=\"`35`\" pulumi-lang-java=\"`35`\"\u003e`35`\u003c/span\u003e.\n"},"retentionPeriodDays":{"type":"integer","description":"The retention period for logs in days. Valid values are between \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`99999`\" pulumi-lang-dotnet=\"`99999`\" pulumi-lang-go=\"`99999`\" pulumi-lang-python=\"`99999`\" pulumi-lang-yaml=\"`99999`\" pulumi-lang-java=\"`99999`\"\u003e`99999`\u003c/span\u003e.(never delete).\n\n\u003e **Note:** This block is not supported on Consumption plans.\n"}},"type":"object"},"azure:appservice/WindowsFunctionAppSiteConfigApplicationStack:WindowsFunctionAppSiteConfigApplicationStack":{"properties":{"dotnetVersion":{"type":"string","description":"The version of .NET to use. Possible values include `v3.0`, `v4.0` `v6.0`, `v7.0`, `v8.0`, `v9.0` and `v10.0`. Defaults to `v4.0`.\n"},"javaVersion":{"type":"string","description":"The Version of Java to use. Supported versions include `1.8`, \u003cspan pulumi-lang-nodejs=\"`11`\" pulumi-lang-dotnet=\"`11`\" pulumi-lang-go=\"`11`\" pulumi-lang-python=\"`11`\" pulumi-lang-yaml=\"`11`\" pulumi-lang-java=\"`11`\"\u003e`11`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`17`\" pulumi-lang-dotnet=\"`17`\" pulumi-lang-go=\"`17`\" pulumi-lang-python=\"`17`\" pulumi-lang-yaml=\"`17`\" pulumi-lang-java=\"`17`\"\u003e`17`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`21`\" pulumi-lang-dotnet=\"`21`\" pulumi-lang-go=\"`21`\" pulumi-lang-python=\"`21`\" pulumi-lang-yaml=\"`21`\" pulumi-lang-java=\"`21`\"\u003e`21`\u003c/span\u003e (In-Preview).\n"},"nodeVersion":{"type":"string","description":"The version of Node to run. Possible values include `~12`, `~14`, `~16`, `~18` `~20`, `~22` and `~24`.\n"},"powershellCoreVersion":{"type":"string","description":"The version of PowerShell Core to run. Possible values are \u003cspan pulumi-lang-nodejs=\"`7`\" pulumi-lang-dotnet=\"`7`\" pulumi-lang-go=\"`7`\" pulumi-lang-python=\"`7`\" pulumi-lang-yaml=\"`7`\" pulumi-lang-java=\"`7`\"\u003e`7`\u003c/span\u003e, `7.2`, and `7.4`.\n\n\u003e **Note:** A value of \u003cspan pulumi-lang-nodejs=\"`7`\" pulumi-lang-dotnet=\"`7`\" pulumi-lang-go=\"`7`\" pulumi-lang-python=\"`7`\" pulumi-lang-yaml=\"`7`\" pulumi-lang-java=\"`7`\"\u003e`7`\u003c/span\u003e will provide the latest stable version. `7.2` is in preview at the time of writing.\n"},"useCustomRuntime":{"type":"boolean","description":"Should the Windows Function App use a custom runtime?\n"},"useDotnetIsolatedRuntime":{"type":"boolean","description":"Should the DotNet process use an isolated runtime. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["useCustomRuntime","useDotnetIsolatedRuntime"]}}},"azure:appservice/WindowsFunctionAppSiteConfigCors:WindowsFunctionAppSiteConfigCors":{"properties":{"allowedOrigins":{"type":"array","items":{"type":"string"},"description":"Specifies a list of origins that should be allowed to make cross-origin calls.\n"},"supportCredentials":{"type":"boolean","description":"Are credentials allowed in CORS requests? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"}},"type":"object"},"azure:appservice/WindowsFunctionAppSiteConfigIpRestriction:WindowsFunctionAppSiteConfigIpRestriction":{"properties":{"action":{"type":"string","description":"The action to take. Possible values are `Allow` or `Deny`. Defaults to `Allow`.\n"},"description":{"type":"string","description":"The Description of this IP Restriction.\n"},"headers":{"$ref":"#/types/azure:appservice/WindowsFunctionAppSiteConfigIpRestrictionHeaders:WindowsFunctionAppSiteConfigIpRestrictionHeaders","description":"A \u003cspan pulumi-lang-nodejs=\"`headers`\" pulumi-lang-dotnet=\"`Headers`\" pulumi-lang-go=\"`headers`\" pulumi-lang-python=\"`headers`\" pulumi-lang-yaml=\"`headers`\" pulumi-lang-java=\"`headers`\"\u003e`headers`\u003c/span\u003e block as defined above.\n"},"ipAddress":{"type":"string","description":"The CIDR notation of the IP or IP Range to match. For example: `10.0.0.0/24` or `192.168.10.1/32`\n"},"name":{"type":"string","description":"The name which should be used for this \u003cspan pulumi-lang-nodejs=\"`ipRestriction`\" pulumi-lang-dotnet=\"`IpRestriction`\" pulumi-lang-go=\"`ipRestriction`\" pulumi-lang-python=\"`ip_restriction`\" pulumi-lang-yaml=\"`ipRestriction`\" pulumi-lang-java=\"`ipRestriction`\"\u003e`ip_restriction`\u003c/span\u003e.\n"},"priority":{"type":"integer","description":"The priority value of this \u003cspan pulumi-lang-nodejs=\"`ipRestriction`\" pulumi-lang-dotnet=\"`IpRestriction`\" pulumi-lang-go=\"`ipRestriction`\" pulumi-lang-python=\"`ip_restriction`\" pulumi-lang-yaml=\"`ipRestriction`\" pulumi-lang-java=\"`ipRestriction`\"\u003e`ip_restriction`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`65000`\" pulumi-lang-dotnet=\"`65000`\" pulumi-lang-go=\"`65000`\" pulumi-lang-python=\"`65000`\" pulumi-lang-yaml=\"`65000`\" pulumi-lang-java=\"`65000`\"\u003e`65000`\u003c/span\u003e.\n"},"serviceTag":{"type":"string","description":"The Service Tag used for this IP Restriction.\n"},"virtualNetworkSubnetId":{"type":"string","description":"The Virtual Network Subnet ID used for this IP Restriction.\n\n\u003e **Note:** One and only one of \u003cspan pulumi-lang-nodejs=\"`ipAddress`\" pulumi-lang-dotnet=\"`IpAddress`\" pulumi-lang-go=\"`ipAddress`\" pulumi-lang-python=\"`ip_address`\" pulumi-lang-yaml=\"`ipAddress`\" pulumi-lang-java=\"`ipAddress`\"\u003e`ip_address`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`serviceTag`\" pulumi-lang-dotnet=\"`ServiceTag`\" pulumi-lang-go=\"`serviceTag`\" pulumi-lang-python=\"`service_tag`\" pulumi-lang-yaml=\"`serviceTag`\" pulumi-lang-java=\"`serviceTag`\"\u003e`service_tag`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`virtualNetworkSubnetId`\" pulumi-lang-dotnet=\"`VirtualNetworkSubnetId`\" pulumi-lang-go=\"`virtualNetworkSubnetId`\" pulumi-lang-python=\"`virtual_network_subnet_id`\" pulumi-lang-yaml=\"`virtualNetworkSubnetId`\" pulumi-lang-java=\"`virtualNetworkSubnetId`\"\u003e`virtual_network_subnet_id`\u003c/span\u003e must be specified.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["name"]}}},"azure:appservice/WindowsFunctionAppSiteConfigIpRestrictionHeaders:WindowsFunctionAppSiteConfigIpRestrictionHeaders":{"properties":{"xAzureFdids":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Azure Front Door IDs.\n"},"xFdHealthProbe":{"type":"string","description":"Specifies if a Front Door Health Probe should be expected. The only possible value is \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e.\n"},"xForwardedFors":{"type":"array","items":{"type":"string"},"description":"Specifies a list of addresses for which matching should be applied. Omitting this value means allow any.\n"},"xForwardedHosts":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Hosts for which matching should be applied.\n"}},"type":"object"},"azure:appservice/WindowsFunctionAppSiteConfigScmIpRestriction:WindowsFunctionAppSiteConfigScmIpRestriction":{"properties":{"action":{"type":"string","description":"The action to take. Possible values are `Allow` or `Deny`. Defaults to `Allow`.\n"},"description":{"type":"string","description":"The Description of this IP Restriction.\n"},"headers":{"$ref":"#/types/azure:appservice/WindowsFunctionAppSiteConfigScmIpRestrictionHeaders:WindowsFunctionAppSiteConfigScmIpRestrictionHeaders","description":"A \u003cspan pulumi-lang-nodejs=\"`headers`\" pulumi-lang-dotnet=\"`Headers`\" pulumi-lang-go=\"`headers`\" pulumi-lang-python=\"`headers`\" pulumi-lang-yaml=\"`headers`\" pulumi-lang-java=\"`headers`\"\u003e`headers`\u003c/span\u003e block as defined above.\n"},"ipAddress":{"type":"string","description":"The CIDR notation of the IP or IP Range to match. For example: `10.0.0.0/24` or `192.168.10.1/32`\n"},"name":{"type":"string","description":"The name which should be used for this \u003cspan pulumi-lang-nodejs=\"`ipRestriction`\" pulumi-lang-dotnet=\"`IpRestriction`\" pulumi-lang-go=\"`ipRestriction`\" pulumi-lang-python=\"`ip_restriction`\" pulumi-lang-yaml=\"`ipRestriction`\" pulumi-lang-java=\"`ipRestriction`\"\u003e`ip_restriction`\u003c/span\u003e.\n"},"priority":{"type":"integer","description":"The priority value of this \u003cspan pulumi-lang-nodejs=\"`ipRestriction`\" pulumi-lang-dotnet=\"`IpRestriction`\" pulumi-lang-go=\"`ipRestriction`\" pulumi-lang-python=\"`ip_restriction`\" pulumi-lang-yaml=\"`ipRestriction`\" pulumi-lang-java=\"`ipRestriction`\"\u003e`ip_restriction`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`65000`\" pulumi-lang-dotnet=\"`65000`\" pulumi-lang-go=\"`65000`\" pulumi-lang-python=\"`65000`\" pulumi-lang-yaml=\"`65000`\" pulumi-lang-java=\"`65000`\"\u003e`65000`\u003c/span\u003e.\n"},"serviceTag":{"type":"string","description":"The Service Tag used for this IP Restriction.\n"},"virtualNetworkSubnetId":{"type":"string","description":"The Virtual Network Subnet ID used for this IP Restriction.\n\n\u003e **Note:** One and only one of \u003cspan pulumi-lang-nodejs=\"`ipAddress`\" pulumi-lang-dotnet=\"`IpAddress`\" pulumi-lang-go=\"`ipAddress`\" pulumi-lang-python=\"`ip_address`\" pulumi-lang-yaml=\"`ipAddress`\" pulumi-lang-java=\"`ipAddress`\"\u003e`ip_address`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`serviceTag`\" pulumi-lang-dotnet=\"`ServiceTag`\" pulumi-lang-go=\"`serviceTag`\" pulumi-lang-python=\"`service_tag`\" pulumi-lang-yaml=\"`serviceTag`\" pulumi-lang-java=\"`serviceTag`\"\u003e`service_tag`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`virtualNetworkSubnetId`\" pulumi-lang-dotnet=\"`VirtualNetworkSubnetId`\" pulumi-lang-go=\"`virtualNetworkSubnetId`\" pulumi-lang-python=\"`virtual_network_subnet_id`\" pulumi-lang-yaml=\"`virtualNetworkSubnetId`\" pulumi-lang-java=\"`virtualNetworkSubnetId`\"\u003e`virtual_network_subnet_id`\u003c/span\u003e must be specified.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["name"]}}},"azure:appservice/WindowsFunctionAppSiteConfigScmIpRestrictionHeaders:WindowsFunctionAppSiteConfigScmIpRestrictionHeaders":{"properties":{"xAzureFdids":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Azure Front Door IDs.\n"},"xFdHealthProbe":{"type":"string","description":"Specifies if a Front Door Health Probe should be expected. The only possible value is \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e.\n"},"xForwardedFors":{"type":"array","items":{"type":"string"},"description":"Specifies a list of addresses for which matching should be applied. Omitting this value means allow any.\n"},"xForwardedHosts":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Hosts for which matching should be applied.\n"}},"type":"object"},"azure:appservice/WindowsFunctionAppSiteCredential:WindowsFunctionAppSiteCredential":{"properties":{"name":{"type":"string","description":"The name which should be used for this Windows Function App. Changing this forces a new Windows Function App to be created. Limit the function name to 32 characters to avoid naming collisions. For more information about [Function App naming rule](https://docs.microsoft.com/en-us/azure/azure-resource-manager/management/resource-name-rules#microsoftweb) and [Host ID Collisions](https://github.com/Azure/azure-functions-host/wiki/Host-IDs#host-id-collisions)\n","secret":true},"password":{"type":"string","description":"The Site Credentials Password used for publishing.\n","secret":true}},"type":"object","language":{"nodejs":{"requiredOutputs":["name","password"]}}},"azure:appservice/WindowsFunctionAppSlotAuthSettings:WindowsFunctionAppSlotAuthSettings":{"properties":{"activeDirectory":{"$ref":"#/types/azure:appservice/WindowsFunctionAppSlotAuthSettingsActiveDirectory:WindowsFunctionAppSlotAuthSettingsActiveDirectory","description":"an \u003cspan pulumi-lang-nodejs=\"`activeDirectory`\" pulumi-lang-dotnet=\"`ActiveDirectory`\" pulumi-lang-go=\"`activeDirectory`\" pulumi-lang-python=\"`active_directory`\" pulumi-lang-yaml=\"`activeDirectory`\" pulumi-lang-java=\"`activeDirectory`\"\u003e`active_directory`\u003c/span\u003e block as detailed below.\n"},"additionalLoginParameters":{"type":"object","additionalProperties":{"type":"string"},"description":"Specifies a map of login Parameters to send to the OpenID Connect authorization endpoint when a user logs in.\n"},"allowedExternalRedirectUrls":{"type":"array","items":{"type":"string"},"description":"Specifies a list of External URLs that can be redirected to as part of logging in or logging out of the Windows Web App.\n"},"defaultProvider":{"type":"string","description":"The default authentication provider to use when multiple providers are configured. Possible values include: `AzureActiveDirectory`, `Facebook`, `Google`, `MicrosoftAccount`, `Twitter`, `Github`.\n\n\u003e **Note:** This setting is only needed if multiple providers are configured, and the \u003cspan pulumi-lang-nodejs=\"`unauthenticatedClientAction`\" pulumi-lang-dotnet=\"`UnauthenticatedClientAction`\" pulumi-lang-go=\"`unauthenticatedClientAction`\" pulumi-lang-python=\"`unauthenticated_client_action`\" pulumi-lang-yaml=\"`unauthenticatedClientAction`\" pulumi-lang-java=\"`unauthenticatedClientAction`\"\u003e`unauthenticated_client_action`\u003c/span\u003e is set to \"RedirectToLoginPage\".\n"},"enabled":{"type":"boolean","description":"Should the Authentication / Authorization feature be enabled?\n"},"facebook":{"$ref":"#/types/azure:appservice/WindowsFunctionAppSlotAuthSettingsFacebook:WindowsFunctionAppSlotAuthSettingsFacebook","description":"a \u003cspan pulumi-lang-nodejs=\"`facebook`\" pulumi-lang-dotnet=\"`Facebook`\" pulumi-lang-go=\"`facebook`\" pulumi-lang-python=\"`facebook`\" pulumi-lang-yaml=\"`facebook`\" pulumi-lang-java=\"`facebook`\"\u003e`facebook`\u003c/span\u003e block as detailed below.\n"},"github":{"$ref":"#/types/azure:appservice/WindowsFunctionAppSlotAuthSettingsGithub:WindowsFunctionAppSlotAuthSettingsGithub","description":"a \u003cspan pulumi-lang-nodejs=\"`github`\" pulumi-lang-dotnet=\"`Github`\" pulumi-lang-go=\"`github`\" pulumi-lang-python=\"`github`\" pulumi-lang-yaml=\"`github`\" pulumi-lang-java=\"`github`\"\u003e`github`\u003c/span\u003e block as detailed below.\n"},"google":{"$ref":"#/types/azure:appservice/WindowsFunctionAppSlotAuthSettingsGoogle:WindowsFunctionAppSlotAuthSettingsGoogle","description":"a \u003cspan pulumi-lang-nodejs=\"`google`\" pulumi-lang-dotnet=\"`Google`\" pulumi-lang-go=\"`google`\" pulumi-lang-python=\"`google`\" pulumi-lang-yaml=\"`google`\" pulumi-lang-java=\"`google`\"\u003e`google`\u003c/span\u003e block as detailed below.\n"},"issuer":{"type":"string","description":"The OpenID Connect Issuer URI that represents the entity which issues access tokens.\n\n\u003e **Note:** When using Azure Active Directory, this value is the URI of the directory tenant, e.g. \u003chttps://sts.windows.net/{tenant-guid}/\u003e.\n"},"microsoft":{"$ref":"#/types/azure:appservice/WindowsFunctionAppSlotAuthSettingsMicrosoft:WindowsFunctionAppSlotAuthSettingsMicrosoft","description":"a \u003cspan pulumi-lang-nodejs=\"`microsoft`\" pulumi-lang-dotnet=\"`Microsoft`\" pulumi-lang-go=\"`microsoft`\" pulumi-lang-python=\"`microsoft`\" pulumi-lang-yaml=\"`microsoft`\" pulumi-lang-java=\"`microsoft`\"\u003e`microsoft`\u003c/span\u003e block as detailed below.\n"},"runtimeVersion":{"type":"string","description":"The RuntimeVersion of the Authentication / Authorization feature in use.\n"},"tokenRefreshExtensionHours":{"type":"number","description":"The number of hours after session token expiration that a session token can be used to call the token refresh API. Defaults to \u003cspan pulumi-lang-nodejs=\"`72`\" pulumi-lang-dotnet=\"`72`\" pulumi-lang-go=\"`72`\" pulumi-lang-python=\"`72`\" pulumi-lang-yaml=\"`72`\" pulumi-lang-java=\"`72`\"\u003e`72`\u003c/span\u003e hours.\n"},"tokenStoreEnabled":{"type":"boolean","description":"Should the Windows Web App durably store platform-specific security tokens that are obtained during login flows? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"twitter":{"$ref":"#/types/azure:appservice/WindowsFunctionAppSlotAuthSettingsTwitter:WindowsFunctionAppSlotAuthSettingsTwitter","description":"a \u003cspan pulumi-lang-nodejs=\"`twitter`\" pulumi-lang-dotnet=\"`Twitter`\" pulumi-lang-go=\"`twitter`\" pulumi-lang-python=\"`twitter`\" pulumi-lang-yaml=\"`twitter`\" pulumi-lang-java=\"`twitter`\"\u003e`twitter`\u003c/span\u003e block as detailed below.\n"},"unauthenticatedClientAction":{"type":"string","description":"The action to take when an unauthenticated client attempts to access the app. Possible values include: `RedirectToLoginPage`, `AllowAnonymous`.\n"}},"type":"object","required":["enabled"],"language":{"nodejs":{"requiredOutputs":["allowedExternalRedirectUrls","defaultProvider","enabled","runtimeVersion","unauthenticatedClientAction"]}}},"azure:appservice/WindowsFunctionAppSlotAuthSettingsActiveDirectory:WindowsFunctionAppSlotAuthSettingsActiveDirectory":{"properties":{"allowedAudiences":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Allowed audience values to consider when validating JWTs issued by Azure Active Directory.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`clientId`\" pulumi-lang-dotnet=\"`ClientId`\" pulumi-lang-go=\"`clientId`\" pulumi-lang-python=\"`client_id`\" pulumi-lang-yaml=\"`clientId`\" pulumi-lang-java=\"`clientId`\"\u003e`client_id`\u003c/span\u003e value is always considered an allowed audience.\n"},"clientId":{"type":"string","description":"The ID of the Client to use to authenticate with Azure Active Directory.\n"},"clientSecret":{"type":"string","description":"The Client Secret for the Client ID. Cannot be used with \u003cspan pulumi-lang-nodejs=\"`clientSecretSettingName`\" pulumi-lang-dotnet=\"`ClientSecretSettingName`\" pulumi-lang-go=\"`clientSecretSettingName`\" pulumi-lang-python=\"`client_secret_setting_name`\" pulumi-lang-yaml=\"`clientSecretSettingName`\" pulumi-lang-java=\"`clientSecretSettingName`\"\u003e`client_secret_setting_name`\u003c/span\u003e.\n","secret":true},"clientSecretSettingName":{"type":"string","description":"The App Setting name that contains the client secret of the Client. Cannot be used with \u003cspan pulumi-lang-nodejs=\"`clientSecret`\" pulumi-lang-dotnet=\"`ClientSecret`\" pulumi-lang-go=\"`clientSecret`\" pulumi-lang-python=\"`client_secret`\" pulumi-lang-yaml=\"`clientSecret`\" pulumi-lang-java=\"`clientSecret`\"\u003e`client_secret`\u003c/span\u003e.\n"}},"type":"object","required":["clientId"]},"azure:appservice/WindowsFunctionAppSlotAuthSettingsFacebook:WindowsFunctionAppSlotAuthSettingsFacebook":{"properties":{"appId":{"type":"string","description":"The App ID of the Facebook app used for login.\n"},"appSecret":{"type":"string","description":"The App Secret of the Facebook app used for Facebook login. Cannot be specified with \u003cspan pulumi-lang-nodejs=\"`appSecretSettingName`\" pulumi-lang-dotnet=\"`AppSecretSettingName`\" pulumi-lang-go=\"`appSecretSettingName`\" pulumi-lang-python=\"`app_secret_setting_name`\" pulumi-lang-yaml=\"`appSecretSettingName`\" pulumi-lang-java=\"`appSecretSettingName`\"\u003e`app_secret_setting_name`\u003c/span\u003e.\n","secret":true},"appSecretSettingName":{"type":"string","description":"The app setting name that contains the \u003cspan pulumi-lang-nodejs=\"`appSecret`\" pulumi-lang-dotnet=\"`AppSecret`\" pulumi-lang-go=\"`appSecret`\" pulumi-lang-python=\"`app_secret`\" pulumi-lang-yaml=\"`appSecret`\" pulumi-lang-java=\"`appSecret`\"\u003e`app_secret`\u003c/span\u003e value used for Facebook login. Cannot be specified with \u003cspan pulumi-lang-nodejs=\"`appSecret`\" pulumi-lang-dotnet=\"`AppSecret`\" pulumi-lang-go=\"`appSecret`\" pulumi-lang-python=\"`app_secret`\" pulumi-lang-yaml=\"`appSecret`\" pulumi-lang-java=\"`appSecret`\"\u003e`app_secret`\u003c/span\u003e.\n"},"oauthScopes":{"type":"array","items":{"type":"string"},"description":"Specifies a list of OAuth 2.0 scopes to be requested as part of Facebook Login authentication.\n"}},"type":"object","required":["appId"]},"azure:appservice/WindowsFunctionAppSlotAuthSettingsGithub:WindowsFunctionAppSlotAuthSettingsGithub":{"properties":{"clientId":{"type":"string","description":"The ID of the GitHub app used for login.\n"},"clientSecret":{"type":"string","description":"The Client Secret of the GitHub app used for GitHub login. Cannot be specified with \u003cspan pulumi-lang-nodejs=\"`clientSecretSettingName`\" pulumi-lang-dotnet=\"`ClientSecretSettingName`\" pulumi-lang-go=\"`clientSecretSettingName`\" pulumi-lang-python=\"`client_secret_setting_name`\" pulumi-lang-yaml=\"`clientSecretSettingName`\" pulumi-lang-java=\"`clientSecretSettingName`\"\u003e`client_secret_setting_name`\u003c/span\u003e.\n","secret":true},"clientSecretSettingName":{"type":"string","description":"The app setting name that contains the \u003cspan pulumi-lang-nodejs=\"`clientSecret`\" pulumi-lang-dotnet=\"`ClientSecret`\" pulumi-lang-go=\"`clientSecret`\" pulumi-lang-python=\"`client_secret`\" pulumi-lang-yaml=\"`clientSecret`\" pulumi-lang-java=\"`clientSecret`\"\u003e`client_secret`\u003c/span\u003e value used for GitHub login. Cannot be specified with \u003cspan pulumi-lang-nodejs=\"`clientSecret`\" pulumi-lang-dotnet=\"`ClientSecret`\" pulumi-lang-go=\"`clientSecret`\" pulumi-lang-python=\"`client_secret`\" pulumi-lang-yaml=\"`clientSecret`\" pulumi-lang-java=\"`clientSecret`\"\u003e`client_secret`\u003c/span\u003e.\n"},"oauthScopes":{"type":"array","items":{"type":"string"},"description":"an \u003cspan pulumi-lang-nodejs=\"`oauthScopes`\" pulumi-lang-dotnet=\"`OauthScopes`\" pulumi-lang-go=\"`oauthScopes`\" pulumi-lang-python=\"`oauth_scopes`\" pulumi-lang-yaml=\"`oauthScopes`\" pulumi-lang-java=\"`oauthScopes`\"\u003e`oauth_scopes`\u003c/span\u003e.\n"}},"type":"object","required":["clientId"]},"azure:appservice/WindowsFunctionAppSlotAuthSettingsGoogle:WindowsFunctionAppSlotAuthSettingsGoogle":{"properties":{"clientId":{"type":"string","description":"The OpenID Connect Client ID for the Google web application.\n"},"clientSecret":{"type":"string","description":"The client secret associated with the Google web application. Cannot be specified with \u003cspan pulumi-lang-nodejs=\"`clientSecretSettingName`\" pulumi-lang-dotnet=\"`ClientSecretSettingName`\" pulumi-lang-go=\"`clientSecretSettingName`\" pulumi-lang-python=\"`client_secret_setting_name`\" pulumi-lang-yaml=\"`clientSecretSettingName`\" pulumi-lang-java=\"`clientSecretSettingName`\"\u003e`client_secret_setting_name`\u003c/span\u003e.\n","secret":true},"clientSecretSettingName":{"type":"string","description":"The app setting name that contains the \u003cspan pulumi-lang-nodejs=\"`clientSecret`\" pulumi-lang-dotnet=\"`ClientSecret`\" pulumi-lang-go=\"`clientSecret`\" pulumi-lang-python=\"`client_secret`\" pulumi-lang-yaml=\"`clientSecret`\" pulumi-lang-java=\"`clientSecret`\"\u003e`client_secret`\u003c/span\u003e value used for Google login. Cannot be specified with \u003cspan pulumi-lang-nodejs=\"`clientSecret`\" pulumi-lang-dotnet=\"`ClientSecret`\" pulumi-lang-go=\"`clientSecret`\" pulumi-lang-python=\"`client_secret`\" pulumi-lang-yaml=\"`clientSecret`\" pulumi-lang-java=\"`clientSecret`\"\u003e`client_secret`\u003c/span\u003e.\n"},"oauthScopes":{"type":"array","items":{"type":"string"},"description":"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.\n"}},"type":"object","required":["clientId"]},"azure:appservice/WindowsFunctionAppSlotAuthSettingsMicrosoft:WindowsFunctionAppSlotAuthSettingsMicrosoft":{"properties":{"clientId":{"type":"string","description":"The OAuth 2.0 client ID that was created for the app used for authentication.\n"},"clientSecret":{"type":"string","description":"The OAuth 2.0 client secret that was created for the app used for authentication. Cannot be specified with \u003cspan pulumi-lang-nodejs=\"`clientSecretSettingName`\" pulumi-lang-dotnet=\"`ClientSecretSettingName`\" pulumi-lang-go=\"`clientSecretSettingName`\" pulumi-lang-python=\"`client_secret_setting_name`\" pulumi-lang-yaml=\"`clientSecretSettingName`\" pulumi-lang-java=\"`clientSecretSettingName`\"\u003e`client_secret_setting_name`\u003c/span\u003e.\n","secret":true},"clientSecretSettingName":{"type":"string","description":"The app setting name containing the OAuth 2.0 client secret that was created for the app used for authentication. Cannot be specified with \u003cspan pulumi-lang-nodejs=\"`clientSecret`\" pulumi-lang-dotnet=\"`ClientSecret`\" pulumi-lang-go=\"`clientSecret`\" pulumi-lang-python=\"`client_secret`\" pulumi-lang-yaml=\"`clientSecret`\" pulumi-lang-java=\"`clientSecret`\"\u003e`client_secret`\u003c/span\u003e.\n"},"oauthScopes":{"type":"array","items":{"type":"string"},"description":"Specifies a 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.\n"}},"type":"object","required":["clientId"]},"azure:appservice/WindowsFunctionAppSlotAuthSettingsTwitter:WindowsFunctionAppSlotAuthSettingsTwitter":{"properties":{"consumerKey":{"type":"string","description":"The OAuth 1.0a consumer key of the Twitter application used for sign-in.\n"},"consumerSecret":{"type":"string","description":"The OAuth 1.0a consumer secret of the Twitter application used for sign-in. Cannot be specified with \u003cspan pulumi-lang-nodejs=\"`consumerSecretSettingName`\" pulumi-lang-dotnet=\"`ConsumerSecretSettingName`\" pulumi-lang-go=\"`consumerSecretSettingName`\" pulumi-lang-python=\"`consumer_secret_setting_name`\" pulumi-lang-yaml=\"`consumerSecretSettingName`\" pulumi-lang-java=\"`consumerSecretSettingName`\"\u003e`consumer_secret_setting_name`\u003c/span\u003e.\n","secret":true},"consumerSecretSettingName":{"type":"string","description":"The app setting name that contains the OAuth 1.0a consumer secret of the Twitter application used for sign-in. Cannot be specified with \u003cspan pulumi-lang-nodejs=\"`consumerSecret`\" pulumi-lang-dotnet=\"`ConsumerSecret`\" pulumi-lang-go=\"`consumerSecret`\" pulumi-lang-python=\"`consumer_secret`\" pulumi-lang-yaml=\"`consumerSecret`\" pulumi-lang-java=\"`consumerSecret`\"\u003e`consumer_secret`\u003c/span\u003e.\n"}},"type":"object","required":["consumerKey"]},"azure:appservice/WindowsFunctionAppSlotAuthSettingsV2:WindowsFunctionAppSlotAuthSettingsV2":{"properties":{"activeDirectoryV2":{"$ref":"#/types/azure:appservice/WindowsFunctionAppSlotAuthSettingsV2ActiveDirectoryV2:WindowsFunctionAppSlotAuthSettingsV2ActiveDirectoryV2","description":"An \u003cspan pulumi-lang-nodejs=\"`activeDirectoryV2`\" pulumi-lang-dotnet=\"`ActiveDirectoryV2`\" pulumi-lang-go=\"`activeDirectoryV2`\" pulumi-lang-python=\"`active_directory_v2`\" pulumi-lang-yaml=\"`activeDirectoryV2`\" pulumi-lang-java=\"`activeDirectoryV2`\"\u003e`active_directory_v2`\u003c/span\u003e block as defined below.\n"},"appleV2":{"$ref":"#/types/azure:appservice/WindowsFunctionAppSlotAuthSettingsV2AppleV2:WindowsFunctionAppSlotAuthSettingsV2AppleV2","description":"An \u003cspan pulumi-lang-nodejs=\"`appleV2`\" pulumi-lang-dotnet=\"`AppleV2`\" pulumi-lang-go=\"`appleV2`\" pulumi-lang-python=\"`apple_v2`\" pulumi-lang-yaml=\"`appleV2`\" pulumi-lang-java=\"`appleV2`\"\u003e`apple_v2`\u003c/span\u003e block as defined below.\n"},"authEnabled":{"type":"boolean","description":"Should the AuthV2 Settings be enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"azureStaticWebAppV2":{"$ref":"#/types/azure:appservice/WindowsFunctionAppSlotAuthSettingsV2AzureStaticWebAppV2:WindowsFunctionAppSlotAuthSettingsV2AzureStaticWebAppV2","description":"An \u003cspan pulumi-lang-nodejs=\"`azureStaticWebAppV2`\" pulumi-lang-dotnet=\"`AzureStaticWebAppV2`\" pulumi-lang-go=\"`azureStaticWebAppV2`\" pulumi-lang-python=\"`azure_static_web_app_v2`\" pulumi-lang-yaml=\"`azureStaticWebAppV2`\" pulumi-lang-java=\"`azureStaticWebAppV2`\"\u003e`azure_static_web_app_v2`\u003c/span\u003e block as defined below.\n"},"configFilePath":{"type":"string","description":"The path to the App Auth settings.\n\n\u003e **Note:** Relative Paths are evaluated from the Site Root directory.\n"},"customOidcV2s":{"type":"array","items":{"$ref":"#/types/azure:appservice/WindowsFunctionAppSlotAuthSettingsV2CustomOidcV2:WindowsFunctionAppSlotAuthSettingsV2CustomOidcV2"},"description":"Zero or more \u003cspan pulumi-lang-nodejs=\"`customOidcV2`\" pulumi-lang-dotnet=\"`CustomOidcV2`\" pulumi-lang-go=\"`customOidcV2`\" pulumi-lang-python=\"`custom_oidc_v2`\" pulumi-lang-yaml=\"`customOidcV2`\" pulumi-lang-java=\"`customOidcV2`\"\u003e`custom_oidc_v2`\u003c/span\u003e blocks as defined below.\n"},"defaultProvider":{"type":"string","description":"The Default Authentication Provider to use when the \u003cspan pulumi-lang-nodejs=\"`unauthenticatedAction`\" pulumi-lang-dotnet=\"`UnauthenticatedAction`\" pulumi-lang-go=\"`unauthenticatedAction`\" pulumi-lang-python=\"`unauthenticated_action`\" pulumi-lang-yaml=\"`unauthenticatedAction`\" pulumi-lang-java=\"`unauthenticatedAction`\"\u003e`unauthenticated_action`\u003c/span\u003e is set to `RedirectToLoginPage`. Possible values include: \u003cspan pulumi-lang-nodejs=\"`apple`\" pulumi-lang-dotnet=\"`Apple`\" pulumi-lang-go=\"`apple`\" pulumi-lang-python=\"`apple`\" pulumi-lang-yaml=\"`apple`\" pulumi-lang-java=\"`apple`\"\u003e`apple`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`azureactivedirectory`\" pulumi-lang-dotnet=\"`Azureactivedirectory`\" pulumi-lang-go=\"`azureactivedirectory`\" pulumi-lang-python=\"`azureactivedirectory`\" pulumi-lang-yaml=\"`azureactivedirectory`\" pulumi-lang-java=\"`azureactivedirectory`\"\u003e`azureactivedirectory`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`facebook`\" pulumi-lang-dotnet=\"`Facebook`\" pulumi-lang-go=\"`facebook`\" pulumi-lang-python=\"`facebook`\" pulumi-lang-yaml=\"`facebook`\" pulumi-lang-java=\"`facebook`\"\u003e`facebook`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`github`\" pulumi-lang-dotnet=\"`Github`\" pulumi-lang-go=\"`github`\" pulumi-lang-python=\"`github`\" pulumi-lang-yaml=\"`github`\" pulumi-lang-java=\"`github`\"\u003e`github`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`google`\" pulumi-lang-dotnet=\"`Google`\" pulumi-lang-go=\"`google`\" pulumi-lang-python=\"`google`\" pulumi-lang-yaml=\"`google`\" pulumi-lang-java=\"`google`\"\u003e`google`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`twitter`\" pulumi-lang-dotnet=\"`Twitter`\" pulumi-lang-go=\"`twitter`\" pulumi-lang-python=\"`twitter`\" pulumi-lang-yaml=\"`twitter`\" pulumi-lang-java=\"`twitter`\"\u003e`twitter`\u003c/span\u003e and the \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e of your \u003cspan pulumi-lang-nodejs=\"`customOidcV2`\" pulumi-lang-dotnet=\"`CustomOidcV2`\" pulumi-lang-go=\"`customOidcV2`\" pulumi-lang-python=\"`custom_oidc_v2`\" pulumi-lang-yaml=\"`customOidcV2`\" pulumi-lang-java=\"`customOidcV2`\"\u003e`custom_oidc_v2`\u003c/span\u003e provider.\n\n\u003e **Note:** Whilst any value will be accepted by the API for \u003cspan pulumi-lang-nodejs=\"`defaultProvider`\" pulumi-lang-dotnet=\"`DefaultProvider`\" pulumi-lang-go=\"`defaultProvider`\" pulumi-lang-python=\"`default_provider`\" pulumi-lang-yaml=\"`defaultProvider`\" pulumi-lang-java=\"`defaultProvider`\"\u003e`default_provider`\u003c/span\u003e, it can leave the app in an unusable state if this value does not correspond to the name of a known provider (either built-in value, or\u003cspan pulumi-lang-nodejs=\" customOidc \" pulumi-lang-dotnet=\" CustomOidc \" pulumi-lang-go=\" customOidc \" pulumi-lang-python=\" custom_oidc \" pulumi-lang-yaml=\" customOidc \" pulumi-lang-java=\" customOidc \"\u003e custom_oidc \u003c/span\u003ename) as it is used to build the auth endpoint URI.\n"},"excludedPaths":{"type":"array","items":{"type":"string"},"description":"The paths which should be excluded from the \u003cspan pulumi-lang-nodejs=\"`unauthenticatedAction`\" pulumi-lang-dotnet=\"`UnauthenticatedAction`\" pulumi-lang-go=\"`unauthenticatedAction`\" pulumi-lang-python=\"`unauthenticated_action`\" pulumi-lang-yaml=\"`unauthenticatedAction`\" pulumi-lang-java=\"`unauthenticatedAction`\"\u003e`unauthenticated_action`\u003c/span\u003e when it is set to `RedirectToLoginPage`.\n\n\u003e **Note:** This list should be used instead of setting `WEBSITE_WARMUP_PATH` in \u003cspan pulumi-lang-nodejs=\"`appSettings`\" pulumi-lang-dotnet=\"`AppSettings`\" pulumi-lang-go=\"`appSettings`\" pulumi-lang-python=\"`app_settings`\" pulumi-lang-yaml=\"`appSettings`\" pulumi-lang-java=\"`appSettings`\"\u003e`app_settings`\u003c/span\u003e as it takes priority.\n"},"facebookV2":{"$ref":"#/types/azure:appservice/WindowsFunctionAppSlotAuthSettingsV2FacebookV2:WindowsFunctionAppSlotAuthSettingsV2FacebookV2","description":"A \u003cspan pulumi-lang-nodejs=\"`facebookV2`\" pulumi-lang-dotnet=\"`FacebookV2`\" pulumi-lang-go=\"`facebookV2`\" pulumi-lang-python=\"`facebook_v2`\" pulumi-lang-yaml=\"`facebookV2`\" pulumi-lang-java=\"`facebookV2`\"\u003e`facebook_v2`\u003c/span\u003e block as defined below.\n"},"forwardProxyConvention":{"type":"string","description":"The convention used to determine the url of the request made. Possible values include `NoProxy`, `Standard`, `Custom`. Defaults to `NoProxy`.\n"},"forwardProxyCustomHostHeaderName":{"type":"string","description":"The name of the custom header containing the host of the request.\n"},"forwardProxyCustomSchemeHeaderName":{"type":"string","description":"The name of the custom header containing the scheme of the request.\n"},"githubV2":{"$ref":"#/types/azure:appservice/WindowsFunctionAppSlotAuthSettingsV2GithubV2:WindowsFunctionAppSlotAuthSettingsV2GithubV2","description":"A \u003cspan pulumi-lang-nodejs=\"`githubV2`\" pulumi-lang-dotnet=\"`GithubV2`\" pulumi-lang-go=\"`githubV2`\" pulumi-lang-python=\"`github_v2`\" pulumi-lang-yaml=\"`githubV2`\" pulumi-lang-java=\"`githubV2`\"\u003e`github_v2`\u003c/span\u003e block as defined below.\n"},"googleV2":{"$ref":"#/types/azure:appservice/WindowsFunctionAppSlotAuthSettingsV2GoogleV2:WindowsFunctionAppSlotAuthSettingsV2GoogleV2","description":"A \u003cspan pulumi-lang-nodejs=\"`googleV2`\" pulumi-lang-dotnet=\"`GoogleV2`\" pulumi-lang-go=\"`googleV2`\" pulumi-lang-python=\"`google_v2`\" pulumi-lang-yaml=\"`googleV2`\" pulumi-lang-java=\"`googleV2`\"\u003e`google_v2`\u003c/span\u003e block as defined below.\n"},"httpRouteApiPrefix":{"type":"string","description":"The prefix that should precede all the authentication and authorisation paths. Defaults to `/.auth`.\n"},"login":{"$ref":"#/types/azure:appservice/WindowsFunctionAppSlotAuthSettingsV2Login:WindowsFunctionAppSlotAuthSettingsV2Login","description":"A \u003cspan pulumi-lang-nodejs=\"`login`\" pulumi-lang-dotnet=\"`Login`\" pulumi-lang-go=\"`login`\" pulumi-lang-python=\"`login`\" pulumi-lang-yaml=\"`login`\" pulumi-lang-java=\"`login`\"\u003e`login`\u003c/span\u003e block as defined below.\n"},"microsoftV2":{"$ref":"#/types/azure:appservice/WindowsFunctionAppSlotAuthSettingsV2MicrosoftV2:WindowsFunctionAppSlotAuthSettingsV2MicrosoftV2","description":"A \u003cspan pulumi-lang-nodejs=\"`microsoftV2`\" pulumi-lang-dotnet=\"`MicrosoftV2`\" pulumi-lang-go=\"`microsoftV2`\" pulumi-lang-python=\"`microsoft_v2`\" pulumi-lang-yaml=\"`microsoftV2`\" pulumi-lang-java=\"`microsoftV2`\"\u003e`microsoft_v2`\u003c/span\u003e block as defined below.\n"},"requireAuthentication":{"type":"boolean","description":"Should the authentication flow be used for all requests.\n"},"requireHttps":{"type":"boolean","description":"Should HTTPS be required on connections? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"runtimeVersion":{"type":"string","description":"The Runtime Version of the Authentication and Authorisation feature of this App. Defaults to `~1`.\n"},"twitterV2":{"$ref":"#/types/azure:appservice/WindowsFunctionAppSlotAuthSettingsV2TwitterV2:WindowsFunctionAppSlotAuthSettingsV2TwitterV2","description":"A \u003cspan pulumi-lang-nodejs=\"`twitterV2`\" pulumi-lang-dotnet=\"`TwitterV2`\" pulumi-lang-go=\"`twitterV2`\" pulumi-lang-python=\"`twitter_v2`\" pulumi-lang-yaml=\"`twitterV2`\" pulumi-lang-java=\"`twitterV2`\"\u003e`twitter_v2`\u003c/span\u003e block as defined below.\n"},"unauthenticatedAction":{"type":"string","description":"The action to take for requests made without authentication. Possible values include `RedirectToLoginPage`, `AllowAnonymous`, `Return401`, and `Return403`. Defaults to `RedirectToLoginPage`.\n"}},"type":"object","required":["login"]},"azure:appservice/WindowsFunctionAppSlotAuthSettingsV2ActiveDirectoryV2:WindowsFunctionAppSlotAuthSettingsV2ActiveDirectoryV2":{"properties":{"allowedApplications":{"type":"array","items":{"type":"string"},"description":"The list of allowed Applications for the Default Authorisation Policy.\n"},"allowedAudiences":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Allowed audience values to consider when validating JWTs issued by Azure Active Directory.\n\n\u003e **Note:** This is configured on the Authentication Provider side and is Read Only here.\n"},"allowedGroups":{"type":"array","items":{"type":"string"},"description":"The list of allowed Group Names for the Default Authorisation Policy.\n"},"allowedIdentities":{"type":"array","items":{"type":"string"},"description":"The list of allowed Identities for the Default Authorisation Policy.\n"},"clientId":{"type":"string","description":"The ID of the Client to use to authenticate with Azure Active Directory.\n"},"clientSecretCertificateThumbprint":{"type":"string","description":"The thumbprint of the certificate used for signing purposes.\n\n!\u003e **Note:** If one \u003cspan pulumi-lang-nodejs=\"`clientSecretSettingName`\" pulumi-lang-dotnet=\"`ClientSecretSettingName`\" pulumi-lang-go=\"`clientSecretSettingName`\" pulumi-lang-python=\"`client_secret_setting_name`\" pulumi-lang-yaml=\"`clientSecretSettingName`\" pulumi-lang-java=\"`clientSecretSettingName`\"\u003e`client_secret_setting_name`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`clientSecretCertificateThumbprint`\" pulumi-lang-dotnet=\"`ClientSecretCertificateThumbprint`\" pulumi-lang-go=\"`clientSecretCertificateThumbprint`\" pulumi-lang-python=\"`client_secret_certificate_thumbprint`\" pulumi-lang-yaml=\"`clientSecretCertificateThumbprint`\" pulumi-lang-java=\"`clientSecretCertificateThumbprint`\"\u003e`client_secret_certificate_thumbprint`\u003c/span\u003e is specified, terraform won't write the client secret or secret certificate thumbprint back to \u003cspan pulumi-lang-nodejs=\"`appSetting`\" pulumi-lang-dotnet=\"`AppSetting`\" pulumi-lang-go=\"`appSetting`\" pulumi-lang-python=\"`app_setting`\" pulumi-lang-yaml=\"`appSetting`\" pulumi-lang-java=\"`appSetting`\"\u003e`app_setting`\u003c/span\u003e, so make sure they are existed in \u003cspan pulumi-lang-nodejs=\"`appSettings`\" pulumi-lang-dotnet=\"`AppSettings`\" pulumi-lang-go=\"`appSettings`\" pulumi-lang-python=\"`app_settings`\" pulumi-lang-yaml=\"`appSettings`\" pulumi-lang-java=\"`appSettings`\"\u003e`app_settings`\u003c/span\u003e to function correctly.\n"},"clientSecretSettingName":{"type":"string","description":"The App Setting name that contains the client secret of the Client.\n\n!\u003e **Note:** A setting with this name must exist in \u003cspan pulumi-lang-nodejs=\"`appSettings`\" pulumi-lang-dotnet=\"`AppSettings`\" pulumi-lang-go=\"`appSettings`\" pulumi-lang-python=\"`app_settings`\" pulumi-lang-yaml=\"`appSettings`\" pulumi-lang-java=\"`appSettings`\"\u003e`app_settings`\u003c/span\u003e to function correctly.\n"},"jwtAllowedClientApplications":{"type":"array","items":{"type":"string"},"description":"A list of Allowed Client Applications in the JWT Claim.\n"},"jwtAllowedGroups":{"type":"array","items":{"type":"string"},"description":"A list of Allowed Groups in the JWT Claim.\n"},"loginParameters":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of key-value pairs to send to the Authorisation Endpoint when a user logs in.\n"},"tenantAuthEndpoint":{"type":"string","description":"The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/`\n\n\u003e **Note:** [Here](https://learn.microsoft.com/en-us/entra/identity-platform/authentication-national-cloud#microsoft-entra-authentication-endpoints) is a list of possible authentication endpoints based on the cloud environment. [Here](https://learn.microsoft.com/en-us/azure/app-service/configure-authentication-provider-aad?tabs=workforce-tenant) is more information to better understand how to configure authentication for Azure App Service or Azure Functions.\n"},"wwwAuthenticationDisabled":{"type":"boolean","description":"Should the www-authenticate provider should be omitted from the request? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"}},"type":"object","required":["clientId","tenantAuthEndpoint"]},"azure:appservice/WindowsFunctionAppSlotAuthSettingsV2AppleV2:WindowsFunctionAppSlotAuthSettingsV2AppleV2":{"properties":{"clientId":{"type":"string","description":"The OpenID Connect Client ID for the Apple web application.\n"},"clientSecretSettingName":{"type":"string","description":"The app setting name that contains the \u003cspan pulumi-lang-nodejs=\"`clientSecret`\" pulumi-lang-dotnet=\"`ClientSecret`\" pulumi-lang-go=\"`clientSecret`\" pulumi-lang-python=\"`client_secret`\" pulumi-lang-yaml=\"`clientSecret`\" pulumi-lang-java=\"`clientSecret`\"\u003e`client_secret`\u003c/span\u003e value used for Apple Login.\n\n!\u003e **Note:** A setting with this name must exist in \u003cspan pulumi-lang-nodejs=\"`appSettings`\" pulumi-lang-dotnet=\"`AppSettings`\" pulumi-lang-go=\"`appSettings`\" pulumi-lang-python=\"`app_settings`\" pulumi-lang-yaml=\"`appSettings`\" pulumi-lang-java=\"`appSettings`\"\u003e`app_settings`\u003c/span\u003e to function correctly.\n"},"loginScopes":{"type":"array","items":{"type":"string"},"description":"A list of Login Scopes provided by this Authentication Provider.\n\n\u003e **Note:** This is configured on the Authentication Provider side and is Read Only here.\n"}},"type":"object","required":["clientId","clientSecretSettingName"],"language":{"nodejs":{"requiredOutputs":["clientId","clientSecretSettingName","loginScopes"]}}},"azure:appservice/WindowsFunctionAppSlotAuthSettingsV2AzureStaticWebAppV2:WindowsFunctionAppSlotAuthSettingsV2AzureStaticWebAppV2":{"properties":{"clientId":{"type":"string","description":"The ID of the Client to use to authenticate with Azure Static Web App Authentication.\n"}},"type":"object","required":["clientId"]},"azure:appservice/WindowsFunctionAppSlotAuthSettingsV2CustomOidcV2:WindowsFunctionAppSlotAuthSettingsV2CustomOidcV2":{"properties":{"authorisationEndpoint":{"type":"string","description":"The endpoint to make the Authorisation Request as supplied by \u003cspan pulumi-lang-nodejs=\"`openidConfigurationEndpoint`\" pulumi-lang-dotnet=\"`OpenidConfigurationEndpoint`\" pulumi-lang-go=\"`openidConfigurationEndpoint`\" pulumi-lang-python=\"`openid_configuration_endpoint`\" pulumi-lang-yaml=\"`openidConfigurationEndpoint`\" pulumi-lang-java=\"`openidConfigurationEndpoint`\"\u003e`openid_configuration_endpoint`\u003c/span\u003e response.\n"},"certificationUri":{"type":"string","description":"The endpoint that provides the keys necessary to validate the token as supplied by \u003cspan pulumi-lang-nodejs=\"`openidConfigurationEndpoint`\" pulumi-lang-dotnet=\"`OpenidConfigurationEndpoint`\" pulumi-lang-go=\"`openidConfigurationEndpoint`\" pulumi-lang-python=\"`openid_configuration_endpoint`\" pulumi-lang-yaml=\"`openidConfigurationEndpoint`\" pulumi-lang-java=\"`openidConfigurationEndpoint`\"\u003e`openid_configuration_endpoint`\u003c/span\u003e response.\n"},"clientCredentialMethod":{"type":"string","description":"The Client Credential Method used.\n"},"clientId":{"type":"string","description":"The ID of the Client to use to authenticate with the Custom OIDC.\n"},"clientSecretSettingName":{"type":"string","description":"The App Setting name that contains the secret for this Custom OIDC Client. This is generated from \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e above and suffixed with `_PROVIDER_AUTHENTICATION_SECRET`.\n"},"issuerEndpoint":{"type":"string","description":"The endpoint that issued the Token as supplied by \u003cspan pulumi-lang-nodejs=\"`openidConfigurationEndpoint`\" pulumi-lang-dotnet=\"`OpenidConfigurationEndpoint`\" pulumi-lang-go=\"`openidConfigurationEndpoint`\" pulumi-lang-python=\"`openid_configuration_endpoint`\" pulumi-lang-yaml=\"`openidConfigurationEndpoint`\" pulumi-lang-java=\"`openidConfigurationEndpoint`\"\u003e`openid_configuration_endpoint`\u003c/span\u003e response.\n"},"name":{"type":"string","description":"The name of the Custom OIDC Authentication Provider.\n\n\u003e **Note:** An \u003cspan pulumi-lang-nodejs=\"`appSetting`\" pulumi-lang-dotnet=\"`AppSetting`\" pulumi-lang-go=\"`appSetting`\" pulumi-lang-python=\"`app_setting`\" pulumi-lang-yaml=\"`appSetting`\" pulumi-lang-java=\"`appSetting`\"\u003e`app_setting`\u003c/span\u003e matching this value in upper case with the suffix of `_PROVIDER_AUTHENTICATION_SECRET` is required. e.g. `MYOIDC_PROVIDER_AUTHENTICATION_SECRET` for a value of \u003cspan pulumi-lang-nodejs=\"`myoidc`\" pulumi-lang-dotnet=\"`Myoidc`\" pulumi-lang-go=\"`myoidc`\" pulumi-lang-python=\"`myoidc`\" pulumi-lang-yaml=\"`myoidc`\" pulumi-lang-java=\"`myoidc`\"\u003e`myoidc`\u003c/span\u003e.\n"},"nameClaimType":{"type":"string","description":"The name of the claim that contains the users name.\n"},"openidConfigurationEndpoint":{"type":"string","description":"The app setting name that contains the \u003cspan pulumi-lang-nodejs=\"`clientSecret`\" pulumi-lang-dotnet=\"`ClientSecret`\" pulumi-lang-go=\"`clientSecret`\" pulumi-lang-python=\"`client_secret`\" pulumi-lang-yaml=\"`clientSecret`\" pulumi-lang-java=\"`clientSecret`\"\u003e`client_secret`\u003c/span\u003e value used for the Custom OIDC Login.\n"},"scopes":{"type":"array","items":{"type":"string"},"description":"The list of the scopes that should be requested while authenticating.\n"},"tokenEndpoint":{"type":"string","description":"The endpoint used to request a Token as supplied by \u003cspan pulumi-lang-nodejs=\"`openidConfigurationEndpoint`\" pulumi-lang-dotnet=\"`OpenidConfigurationEndpoint`\" pulumi-lang-go=\"`openidConfigurationEndpoint`\" pulumi-lang-python=\"`openid_configuration_endpoint`\" pulumi-lang-yaml=\"`openidConfigurationEndpoint`\" pulumi-lang-java=\"`openidConfigurationEndpoint`\"\u003e`openid_configuration_endpoint`\u003c/span\u003e response.\n"}},"type":"object","required":["clientId","name","openidConfigurationEndpoint"],"language":{"nodejs":{"requiredOutputs":["authorisationEndpoint","certificationUri","clientCredentialMethod","clientId","clientSecretSettingName","issuerEndpoint","name","openidConfigurationEndpoint","tokenEndpoint"]}}},"azure:appservice/WindowsFunctionAppSlotAuthSettingsV2FacebookV2:WindowsFunctionAppSlotAuthSettingsV2FacebookV2":{"properties":{"appId":{"type":"string","description":"The App ID of the Facebook app used for login.\n"},"appSecretSettingName":{"type":"string","description":"The app setting name that contains the \u003cspan pulumi-lang-nodejs=\"`appSecret`\" pulumi-lang-dotnet=\"`AppSecret`\" pulumi-lang-go=\"`appSecret`\" pulumi-lang-python=\"`app_secret`\" pulumi-lang-yaml=\"`appSecret`\" pulumi-lang-java=\"`appSecret`\"\u003e`app_secret`\u003c/span\u003e value used for Facebook Login.\n\n!\u003e **Note:** A setting with this name must exist in \u003cspan pulumi-lang-nodejs=\"`appSettings`\" pulumi-lang-dotnet=\"`AppSettings`\" pulumi-lang-go=\"`appSettings`\" pulumi-lang-python=\"`app_settings`\" pulumi-lang-yaml=\"`appSettings`\" pulumi-lang-java=\"`appSettings`\"\u003e`app_settings`\u003c/span\u003e to function correctly.\n"},"graphApiVersion":{"type":"string","description":"The version of the Facebook API to be used while logging in.\n"},"loginScopes":{"type":"array","items":{"type":"string"},"description":"The list of scopes that should be requested as part of Facebook Login authentication.\n"}},"type":"object","required":["appId","appSecretSettingName"],"language":{"nodejs":{"requiredOutputs":["appId","appSecretSettingName","graphApiVersion"]}}},"azure:appservice/WindowsFunctionAppSlotAuthSettingsV2GithubV2:WindowsFunctionAppSlotAuthSettingsV2GithubV2":{"properties":{"clientId":{"type":"string","description":"The ID of the GitHub app used for login.\n"},"clientSecretSettingName":{"type":"string","description":"The app setting name that contains the \u003cspan pulumi-lang-nodejs=\"`clientSecret`\" pulumi-lang-dotnet=\"`ClientSecret`\" pulumi-lang-go=\"`clientSecret`\" pulumi-lang-python=\"`client_secret`\" pulumi-lang-yaml=\"`clientSecret`\" pulumi-lang-java=\"`clientSecret`\"\u003e`client_secret`\u003c/span\u003e value used for GitHub Login.\n\n!\u003e **Note:** A setting with this name must exist in \u003cspan pulumi-lang-nodejs=\"`appSettings`\" pulumi-lang-dotnet=\"`AppSettings`\" pulumi-lang-go=\"`appSettings`\" pulumi-lang-python=\"`app_settings`\" pulumi-lang-yaml=\"`appSettings`\" pulumi-lang-java=\"`appSettings`\"\u003e`app_settings`\u003c/span\u003e to function correctly.\n"},"loginScopes":{"type":"array","items":{"type":"string"},"description":"The list of OAuth 2.0 scopes that should be requested as part of GitHub Login authentication.\n"}},"type":"object","required":["clientId","clientSecretSettingName"]},"azure:appservice/WindowsFunctionAppSlotAuthSettingsV2GoogleV2:WindowsFunctionAppSlotAuthSettingsV2GoogleV2":{"properties":{"allowedAudiences":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Allowed Audiences that should be requested as part of Google Sign-In authentication.\n"},"clientId":{"type":"string","description":"The OpenID Connect Client ID for the Google web application.\n"},"clientSecretSettingName":{"type":"string","description":"The app setting name that contains the \u003cspan pulumi-lang-nodejs=\"`clientSecret`\" pulumi-lang-dotnet=\"`ClientSecret`\" pulumi-lang-go=\"`clientSecret`\" pulumi-lang-python=\"`client_secret`\" pulumi-lang-yaml=\"`clientSecret`\" pulumi-lang-java=\"`clientSecret`\"\u003e`client_secret`\u003c/span\u003e value used for Google Login.\n\n!\u003e **Note:** A setting with this name must exist in \u003cspan pulumi-lang-nodejs=\"`appSettings`\" pulumi-lang-dotnet=\"`AppSettings`\" pulumi-lang-go=\"`appSettings`\" pulumi-lang-python=\"`app_settings`\" pulumi-lang-yaml=\"`appSettings`\" pulumi-lang-java=\"`appSettings`\"\u003e`app_settings`\u003c/span\u003e to function correctly.\n"},"loginScopes":{"type":"array","items":{"type":"string"},"description":"The list of OAuth 2.0 scopes that should be requested as part of Google Sign-In authentication.\n"}},"type":"object","required":["clientId","clientSecretSettingName"]},"azure:appservice/WindowsFunctionAppSlotAuthSettingsV2Login:WindowsFunctionAppSlotAuthSettingsV2Login":{"properties":{"allowedExternalRedirectUrls":{"type":"array","items":{"type":"string"},"description":"External URLs that can be redirected to as part of logging in or logging out of the app. This is an advanced setting typically only needed by Windows Store application backends.\n\n\u003e **Note:** URLs within the current domain are always implicitly allowed.\n"},"cookieExpirationConvention":{"type":"string","description":"The method by which cookies expire. Possible values include: `FixedTime`, and `IdentityProviderDerived`. Defaults to `FixedTime`.\n"},"cookieExpirationTime":{"type":"string","description":"The time after the request is made when the session cookie should expire. Defaults to `08:00:00`.\n"},"logoutEndpoint":{"type":"string","description":"The endpoint to which logout requests should be made.\n"},"nonceExpirationTime":{"type":"string","description":"The time after the request is made when the nonce should expire. Defaults to `00:05:00`.\n"},"preserveUrlFragmentsForLogins":{"type":"boolean","description":"Should the fragments from the request be preserved after the login request is made. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"tokenRefreshExtensionTime":{"type":"number","description":"The number of hours after session token expiration that a session token can be used to call the token refresh API. Defaults to \u003cspan pulumi-lang-nodejs=\"`72`\" pulumi-lang-dotnet=\"`72`\" pulumi-lang-go=\"`72`\" pulumi-lang-python=\"`72`\" pulumi-lang-yaml=\"`72`\" pulumi-lang-java=\"`72`\"\u003e`72`\u003c/span\u003e hours.\n"},"tokenStoreEnabled":{"type":"boolean","description":"Should the Token Store configuration Enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e\n"},"tokenStorePath":{"type":"string","description":"The directory path in the App Filesystem in which the tokens will be stored.\n"},"tokenStoreSasSettingName":{"type":"string","description":"The name of the app setting which contains the SAS URL of the blob storage containing the tokens.\n"},"validateNonce":{"type":"boolean","description":"Should the nonce be validated while completing the login flow. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"}},"type":"object"},"azure:appservice/WindowsFunctionAppSlotAuthSettingsV2MicrosoftV2:WindowsFunctionAppSlotAuthSettingsV2MicrosoftV2":{"properties":{"allowedAudiences":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Allowed Audiences that will be requested as part of Microsoft Sign-In authentication.\n"},"clientId":{"type":"string","description":"The OAuth 2.0 client ID that was created for the app used for authentication.\n"},"clientSecretSettingName":{"type":"string","description":"The app setting name containing the OAuth 2.0 client secret that was created for the app used for authentication.\n\n!\u003e **Note:** A setting with this name must exist in \u003cspan pulumi-lang-nodejs=\"`appSettings`\" pulumi-lang-dotnet=\"`AppSettings`\" pulumi-lang-go=\"`appSettings`\" pulumi-lang-python=\"`app_settings`\" pulumi-lang-yaml=\"`appSettings`\" pulumi-lang-java=\"`appSettings`\"\u003e`app_settings`\u003c/span\u003e to function correctly.\n"},"loginScopes":{"type":"array","items":{"type":"string"},"description":"The list of Login scopes that should be requested as part of Microsoft Account authentication.\n"}},"type":"object","required":["clientId","clientSecretSettingName"]},"azure:appservice/WindowsFunctionAppSlotAuthSettingsV2TwitterV2:WindowsFunctionAppSlotAuthSettingsV2TwitterV2":{"properties":{"consumerKey":{"type":"string","description":"The OAuth 1.0a consumer key of the Twitter application used for sign-in.\n"},"consumerSecretSettingName":{"type":"string","description":"The app setting name that contains the OAuth 1.0a consumer secret of the Twitter application used for sign-in.\n\n!\u003e **Note:** A setting with this name must exist in \u003cspan pulumi-lang-nodejs=\"`appSettings`\" pulumi-lang-dotnet=\"`AppSettings`\" pulumi-lang-go=\"`appSettings`\" pulumi-lang-python=\"`app_settings`\" pulumi-lang-yaml=\"`appSettings`\" pulumi-lang-java=\"`appSettings`\"\u003e`app_settings`\u003c/span\u003e to function correctly.\n"}},"type":"object","required":["consumerKey","consumerSecretSettingName"]},"azure:appservice/WindowsFunctionAppSlotBackup:WindowsFunctionAppSlotBackup":{"properties":{"enabled":{"type":"boolean","description":"Should this backup job be enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"name":{"type":"string","description":"The name which should be used for this Backup.\n"},"schedule":{"$ref":"#/types/azure:appservice/WindowsFunctionAppSlotBackupSchedule:WindowsFunctionAppSlotBackupSchedule","description":"a \u003cspan pulumi-lang-nodejs=\"`schedule`\" pulumi-lang-dotnet=\"`Schedule`\" pulumi-lang-go=\"`schedule`\" pulumi-lang-python=\"`schedule`\" pulumi-lang-yaml=\"`schedule`\" pulumi-lang-java=\"`schedule`\"\u003e`schedule`\u003c/span\u003e block as detailed below.\n"},"storageAccountUrl":{"type":"string","description":"The SAS URL to the container.\n","secret":true}},"type":"object","required":["name","schedule","storageAccountUrl"]},"azure:appservice/WindowsFunctionAppSlotBackupSchedule:WindowsFunctionAppSlotBackupSchedule":{"properties":{"frequencyInterval":{"type":"integer","description":"How often the backup should be executed (e.g. for weekly backup, this should be set to \u003cspan pulumi-lang-nodejs=\"`7`\" pulumi-lang-dotnet=\"`7`\" pulumi-lang-go=\"`7`\" pulumi-lang-python=\"`7`\" pulumi-lang-yaml=\"`7`\" pulumi-lang-java=\"`7`\"\u003e`7`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`frequencyUnit`\" pulumi-lang-dotnet=\"`FrequencyUnit`\" pulumi-lang-go=\"`frequencyUnit`\" pulumi-lang-python=\"`frequency_unit`\" pulumi-lang-yaml=\"`frequencyUnit`\" pulumi-lang-java=\"`frequencyUnit`\"\u003e`frequency_unit`\u003c/span\u003e should be set to `Day`).\n\n\u003e **Note:** Not all intervals are supported on all SKUs. Please refer to the official documentation for appropriate values.\n"},"frequencyUnit":{"type":"string","description":"The unit of time for how often the backup should take place. Possible values include: `Day` and `Hour`.\n"},"keepAtLeastOneBackup":{"type":"boolean","description":"Should the service keep at least one backup, regardless of age of backup. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"lastExecutionTime":{"type":"string","description":"The time the backup was last attempted.\n"},"retentionPeriodDays":{"type":"integer","description":"After how many days backups should be deleted. Defaults to \u003cspan pulumi-lang-nodejs=\"`30`\" pulumi-lang-dotnet=\"`30`\" pulumi-lang-go=\"`30`\" pulumi-lang-python=\"`30`\" pulumi-lang-yaml=\"`30`\" pulumi-lang-java=\"`30`\"\u003e`30`\u003c/span\u003e.\n"},"startTime":{"type":"string","description":"When the schedule should start working in RFC-3339 format.\n"}},"type":"object","required":["frequencyInterval","frequencyUnit"],"language":{"nodejs":{"requiredOutputs":["frequencyInterval","frequencyUnit","lastExecutionTime","startTime"]}}},"azure:appservice/WindowsFunctionAppSlotConnectionString:WindowsFunctionAppSlotConnectionString":{"properties":{"name":{"type":"string","description":"The name which should be used for this Connection.\n"},"type":{"type":"string","description":"Type of database. Possible values include: `APIHub`, `Custom`, `DocDb`, `EventHub`, `MySQL`, `NotificationHub`, `PostgreSQL`, `RedisCache`, `ServiceBus`, `SQLAzure`, and `SQLServer`.\n"},"value":{"type":"string","description":"The connection string value.\n","secret":true}},"type":"object","required":["name","type","value"]},"azure:appservice/WindowsFunctionAppSlotIdentity:WindowsFunctionAppSlotIdentity":{"properties":{"identityIds":{"type":"array","items":{"type":"string"},"description":"A list of User Assigned Managed Identity IDs to be assigned to this Windows Function App Slot.\n\n\u003e **Note:** This is required when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to `UserAssigned` or `SystemAssigned, UserAssigned`.\n"},"principalId":{"type":"string","description":"The Principal ID associated with this Managed Service Identity.\n"},"tenantId":{"type":"string","description":"The Tenant ID associated with this Managed Service Identity.\n"},"type":{"type":"string","description":"Specifies the type of Managed Service Identity that should be configured on this Windows Function App Slot. Possible values are `SystemAssigned`, `UserAssigned`, `SystemAssigned, UserAssigned` (to enable both).\n"}},"type":"object","required":["type"],"language":{"nodejs":{"requiredOutputs":["principalId","tenantId","type"]}}},"azure:appservice/WindowsFunctionAppSlotSiteConfig:WindowsFunctionAppSlotSiteConfig":{"properties":{"alwaysOn":{"type":"boolean","description":"If this Windows Web App is Always On enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"apiDefinitionUrl":{"type":"string","description":"The URL of the API definition that describes this Windows Function App.\n"},"apiManagementApiId":{"type":"string","description":"The ID of the API Management API for this Windows Function App.\n"},"appCommandLine":{"type":"string","description":"The program and any arguments used to launch this app via the command line. (Example `node myapp.js`).\n"},"appScaleLimit":{"type":"integer","description":"The number of workers this function app can scale out to. Only applicable to apps on the Consumption and Premium plan.\n"},"appServiceLogs":{"$ref":"#/types/azure:appservice/WindowsFunctionAppSlotSiteConfigAppServiceLogs:WindowsFunctionAppSlotSiteConfigAppServiceLogs","description":"an \u003cspan pulumi-lang-nodejs=\"`appServiceLogs`\" pulumi-lang-dotnet=\"`AppServiceLogs`\" pulumi-lang-go=\"`appServiceLogs`\" pulumi-lang-python=\"`app_service_logs`\" pulumi-lang-yaml=\"`appServiceLogs`\" pulumi-lang-java=\"`appServiceLogs`\"\u003e`app_service_logs`\u003c/span\u003e block as detailed below.\n"},"applicationInsightsConnectionString":{"type":"string","description":"The Connection String for linking the Windows Function App to Application Insights.\n","secret":true},"applicationInsightsKey":{"type":"string","description":"The Instrumentation Key for connecting the Windows Function App to Application Insights.\n","secret":true},"applicationStack":{"$ref":"#/types/azure:appservice/WindowsFunctionAppSlotSiteConfigApplicationStack:WindowsFunctionAppSlotSiteConfigApplicationStack","description":"an \u003cspan pulumi-lang-nodejs=\"`applicationStack`\" pulumi-lang-dotnet=\"`ApplicationStack`\" pulumi-lang-go=\"`applicationStack`\" pulumi-lang-python=\"`application_stack`\" pulumi-lang-yaml=\"`applicationStack`\" pulumi-lang-java=\"`applicationStack`\"\u003e`application_stack`\u003c/span\u003e block as detailed below.\n"},"autoSwapSlotName":{"type":"string","description":"The name of the slot to automatically swap with when this slot is successfully deployed.\n"},"cors":{"$ref":"#/types/azure:appservice/WindowsFunctionAppSlotSiteConfigCors:WindowsFunctionAppSlotSiteConfigCors","description":"a \u003cspan pulumi-lang-nodejs=\"`cors`\" pulumi-lang-dotnet=\"`Cors`\" pulumi-lang-go=\"`cors`\" pulumi-lang-python=\"`cors`\" pulumi-lang-yaml=\"`cors`\" pulumi-lang-java=\"`cors`\"\u003e`cors`\u003c/span\u003e block as detailed below.\n"},"defaultDocuments":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Default Documents for the Windows Web App.\n"},"detailedErrorLoggingEnabled":{"type":"boolean","description":"Is detailed error logging enabled\n"},"elasticInstanceMinimum":{"type":"integer","description":"The number of minimum instances for this Windows Function App. Only affects apps on Elastic Premium plans.\n"},"ftpsState":{"type":"string","description":"State of FTP / FTPS service for this function app. Possible values include: `AllAllowed`, `FtpsOnly` and `Disabled`. Defaults to `Disabled`.\n"},"healthCheckEvictionTimeInMin":{"type":"integer","description":"The amount of time in minutes that a node is unhealthy before being removed from the load balancer. Possible values are between \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`10`\" pulumi-lang-dotnet=\"`10`\" pulumi-lang-go=\"`10`\" pulumi-lang-python=\"`10`\" pulumi-lang-yaml=\"`10`\" pulumi-lang-java=\"`10`\"\u003e`10`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e. Only valid in conjunction with \u003cspan pulumi-lang-nodejs=\"`healthCheckPath`\" pulumi-lang-dotnet=\"`HealthCheckPath`\" pulumi-lang-go=\"`healthCheckPath`\" pulumi-lang-python=\"`health_check_path`\" pulumi-lang-yaml=\"`healthCheckPath`\" pulumi-lang-java=\"`healthCheckPath`\"\u003e`health_check_path`\u003c/span\u003e.\n"},"healthCheckPath":{"type":"string","description":"The path to be checked for this function app health.\n"},"http2Enabled":{"type":"boolean","description":"Specifies if the HTTP2 protocol should be enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"ipRestrictionDefaultAction":{"type":"string","description":"The Default action for traffic that does not match any \u003cspan pulumi-lang-nodejs=\"`ipRestriction`\" pulumi-lang-dotnet=\"`IpRestriction`\" pulumi-lang-go=\"`ipRestriction`\" pulumi-lang-python=\"`ip_restriction`\" pulumi-lang-yaml=\"`ipRestriction`\" pulumi-lang-java=\"`ipRestriction`\"\u003e`ip_restriction`\u003c/span\u003e rule. possible values include `Allow` and `Deny`. Defaults to `Allow`.\n"},"ipRestrictions":{"type":"array","items":{"$ref":"#/types/azure:appservice/WindowsFunctionAppSlotSiteConfigIpRestriction:WindowsFunctionAppSlotSiteConfigIpRestriction"},"description":"an \u003cspan pulumi-lang-nodejs=\"`ipRestriction`\" pulumi-lang-dotnet=\"`IpRestriction`\" pulumi-lang-go=\"`ipRestriction`\" pulumi-lang-python=\"`ip_restriction`\" pulumi-lang-yaml=\"`ipRestriction`\" pulumi-lang-java=\"`ipRestriction`\"\u003e`ip_restriction`\u003c/span\u003e block as detailed below.\n"},"loadBalancingMode":{"type":"string","description":"The Site load balancing mode. Possible values include: `WeightedRoundRobin`, `LeastRequests`, `LeastResponseTime`, `WeightedTotalTraffic`, `RequestHash`, `PerSiteRoundRobin`. Defaults to `LeastRequests` if omitted.\n"},"managedPipelineMode":{"type":"string","description":"The Managed Pipeline mode. Possible values include: `Integrated`, `Classic`. Defaults to `Integrated`.\n"},"minimumTlsVersion":{"type":"string","description":"The configures the minimum version of TLS required for SSL requests. Possible values include: `1.0`, `1.1`, `1.2` and `1.3`. Defaults to `1.2`.\n"},"preWarmedInstanceCount":{"type":"integer","description":"The number of pre-warmed instances for this function app. Only affects apps on an Elastic Premium plan.\n"},"remoteDebuggingEnabled":{"type":"boolean","description":"Should Remote Debugging be enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"remoteDebuggingVersion":{"type":"string","description":"The Remote Debugging Version. Currently only `VS2022` is supported.\n"},"runtimeScaleMonitoringEnabled":{"type":"boolean","description":"Should Scale Monitoring of the Functions Runtime be enabled?\n\n\u003e **Note:** Functions runtime scale monitoring can only be enabled for Elastic Premium Function Apps or Workflow Standard Logic Apps and requires a minimum prewarmed instance count of 1.\n"},"scmIpRestrictionDefaultAction":{"type":"string","description":"The Default action for traffic that does not match any \u003cspan pulumi-lang-nodejs=\"`scmIpRestriction`\" pulumi-lang-dotnet=\"`ScmIpRestriction`\" pulumi-lang-go=\"`scmIpRestriction`\" pulumi-lang-python=\"`scm_ip_restriction`\" pulumi-lang-yaml=\"`scmIpRestriction`\" pulumi-lang-java=\"`scmIpRestriction`\"\u003e`scm_ip_restriction`\u003c/span\u003e rule. possible values include `Allow` and `Deny`. Defaults to `Allow`.\n"},"scmIpRestrictions":{"type":"array","items":{"$ref":"#/types/azure:appservice/WindowsFunctionAppSlotSiteConfigScmIpRestriction:WindowsFunctionAppSlotSiteConfigScmIpRestriction"},"description":"a \u003cspan pulumi-lang-nodejs=\"`scmIpRestriction`\" pulumi-lang-dotnet=\"`ScmIpRestriction`\" pulumi-lang-go=\"`scmIpRestriction`\" pulumi-lang-python=\"`scm_ip_restriction`\" pulumi-lang-yaml=\"`scmIpRestriction`\" pulumi-lang-java=\"`scmIpRestriction`\"\u003e`scm_ip_restriction`\u003c/span\u003e block as detailed below.\n"},"scmMinimumTlsVersion":{"type":"string","description":"Configures the minimum version of TLS required for SSL requests to the SCM site Possible values include: `1.0`, `1.1`, `1.2` and `1.3`. Defaults to `1.2`.\n"},"scmType":{"type":"string","description":"The SCM Type in use by the Windows Function App.\n"},"scmUseMainIpRestriction":{"type":"boolean","description":"Should the Windows Function App \u003cspan pulumi-lang-nodejs=\"`ipRestriction`\" pulumi-lang-dotnet=\"`IpRestriction`\" pulumi-lang-go=\"`ipRestriction`\" pulumi-lang-python=\"`ip_restriction`\" pulumi-lang-yaml=\"`ipRestriction`\" pulumi-lang-java=\"`ipRestriction`\"\u003e`ip_restriction`\u003c/span\u003e configuration be used for the SCM also.\n"},"use32BitWorker":{"type":"boolean","description":"Should the Windows Web App use a 32-bit worker. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"vnetRouteAllEnabled":{"type":"boolean","description":"Should all outbound traffic to have NAT Gateways, Network Security Groups and User Defined Routes applied? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"websocketsEnabled":{"type":"boolean","description":"Should Web Sockets be enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"windowsFxVersion":{"type":"string","description":"The Windows FX Version string.\n"},"workerCount":{"type":"integer","description":"The number of Workers for this Windows Function App.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["alwaysOn","appScaleLimit","applicationStack","defaultDocuments","detailedErrorLoggingEnabled","elasticInstanceMinimum","preWarmedInstanceCount","remoteDebuggingVersion","scmType","windowsFxVersion","workerCount"]}}},"azure:appservice/WindowsFunctionAppSlotSiteConfigAppServiceLogs:WindowsFunctionAppSlotSiteConfigAppServiceLogs":{"properties":{"diskQuotaMb":{"type":"integer","description":"The amount of disk space to use for logs. Valid values are between \u003cspan pulumi-lang-nodejs=\"`25`\" pulumi-lang-dotnet=\"`25`\" pulumi-lang-go=\"`25`\" pulumi-lang-python=\"`25`\" pulumi-lang-yaml=\"`25`\" pulumi-lang-java=\"`25`\"\u003e`25`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`100`\" pulumi-lang-dotnet=\"`100`\" pulumi-lang-go=\"`100`\" pulumi-lang-python=\"`100`\" pulumi-lang-yaml=\"`100`\" pulumi-lang-java=\"`100`\"\u003e`100`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`35`\" pulumi-lang-dotnet=\"`35`\" pulumi-lang-go=\"`35`\" pulumi-lang-python=\"`35`\" pulumi-lang-yaml=\"`35`\" pulumi-lang-java=\"`35`\"\u003e`35`\u003c/span\u003e.\n"},"retentionPeriodDays":{"type":"integer","description":"The retention period for logs in days. Valid values are between \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`99999`\" pulumi-lang-dotnet=\"`99999`\" pulumi-lang-go=\"`99999`\" pulumi-lang-python=\"`99999`\" pulumi-lang-yaml=\"`99999`\" pulumi-lang-java=\"`99999`\"\u003e`99999`\u003c/span\u003e.(never delete).\n\n\u003e **Note:** This block is not supported on Consumption plans.\n"}},"type":"object"},"azure:appservice/WindowsFunctionAppSlotSiteConfigApplicationStack:WindowsFunctionAppSlotSiteConfigApplicationStack":{"properties":{"dotnetVersion":{"type":"string","description":"The version of .Net. Possible values are `v3.0`, `v4.0`, `v6.0`, `v7.0`, `v8.0`, `v9.0` and `v10.0`. Defaults to `v4.0`.\n"},"javaVersion":{"type":"string","description":"The version of Java to use. Possible values are `1.8`, \u003cspan pulumi-lang-nodejs=\"`11`\" pulumi-lang-dotnet=\"`11`\" pulumi-lang-go=\"`11`\" pulumi-lang-python=\"`11`\" pulumi-lang-yaml=\"`11`\" pulumi-lang-java=\"`11`\"\u003e`11`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`17`\" pulumi-lang-dotnet=\"`17`\" pulumi-lang-go=\"`17`\" pulumi-lang-python=\"`17`\" pulumi-lang-yaml=\"`17`\" pulumi-lang-java=\"`17`\"\u003e`17`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`21`\" pulumi-lang-dotnet=\"`21`\" pulumi-lang-go=\"`21`\" pulumi-lang-python=\"`21`\" pulumi-lang-yaml=\"`21`\" pulumi-lang-java=\"`21`\"\u003e`21`\u003c/span\u003e.\n"},"nodeVersion":{"type":"string","description":"The version of Node to use. Possible values are `~12`, `~14`, `~16`, `~18`, `~20`, `~22` and `~24`.\n"},"powershellCoreVersion":{"type":"string","description":"The PowerShell Core version to use. Possible values are \u003cspan pulumi-lang-nodejs=\"`7`\" pulumi-lang-dotnet=\"`7`\" pulumi-lang-go=\"`7`\" pulumi-lang-python=\"`7`\" pulumi-lang-yaml=\"`7`\" pulumi-lang-java=\"`7`\"\u003e`7`\u003c/span\u003e, `7.2`, and `7.4`.\n"},"useCustomRuntime":{"type":"boolean","description":"Does the Function App use a custom Application Stack?\n"},"useDotnetIsolatedRuntime":{"type":"boolean","description":"Should the DotNet process use an isolated runtime. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["useCustomRuntime","useDotnetIsolatedRuntime"]}}},"azure:appservice/WindowsFunctionAppSlotSiteConfigCors:WindowsFunctionAppSlotSiteConfigCors":{"properties":{"allowedOrigins":{"type":"array","items":{"type":"string"},"description":"Specifies a list of origins that should be allowed to make cross-origin calls.\n"},"supportCredentials":{"type":"boolean","description":"Are credentials allowed in CORS requests? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"}},"type":"object"},"azure:appservice/WindowsFunctionAppSlotSiteConfigIpRestriction:WindowsFunctionAppSlotSiteConfigIpRestriction":{"properties":{"action":{"type":"string","description":"The action to take. Possible values are `Allow` or `Deny`. Defaults to `Allow`.\n"},"description":{"type":"string","description":"The Description of this IP Restriction.\n"},"headers":{"$ref":"#/types/azure:appservice/WindowsFunctionAppSlotSiteConfigIpRestrictionHeaders:WindowsFunctionAppSlotSiteConfigIpRestrictionHeaders","description":"a \u003cspan pulumi-lang-nodejs=\"`headers`\" pulumi-lang-dotnet=\"`Headers`\" pulumi-lang-go=\"`headers`\" pulumi-lang-python=\"`headers`\" pulumi-lang-yaml=\"`headers`\" pulumi-lang-java=\"`headers`\"\u003e`headers`\u003c/span\u003e block as detailed below.\n"},"ipAddress":{"type":"string","description":"The CIDR notation of the IP or IP Range to match. For example: `10.0.0.0/24` or `192.168.10.1/32`\n"},"name":{"type":"string","description":"The name which should be used for this \u003cspan pulumi-lang-nodejs=\"`ipRestriction`\" pulumi-lang-dotnet=\"`IpRestriction`\" pulumi-lang-go=\"`ipRestriction`\" pulumi-lang-python=\"`ip_restriction`\" pulumi-lang-yaml=\"`ipRestriction`\" pulumi-lang-java=\"`ipRestriction`\"\u003e`ip_restriction`\u003c/span\u003e.\n"},"priority":{"type":"integer","description":"The priority value of this \u003cspan pulumi-lang-nodejs=\"`ipRestriction`\" pulumi-lang-dotnet=\"`IpRestriction`\" pulumi-lang-go=\"`ipRestriction`\" pulumi-lang-python=\"`ip_restriction`\" pulumi-lang-yaml=\"`ipRestriction`\" pulumi-lang-java=\"`ipRestriction`\"\u003e`ip_restriction`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`65000`\" pulumi-lang-dotnet=\"`65000`\" pulumi-lang-go=\"`65000`\" pulumi-lang-python=\"`65000`\" pulumi-lang-yaml=\"`65000`\" pulumi-lang-java=\"`65000`\"\u003e`65000`\u003c/span\u003e.\n"},"serviceTag":{"type":"string","description":"The Service Tag used for this IP Restriction.\n"},"virtualNetworkSubnetId":{"type":"string","description":"The Virtual Network Subnet ID used for this IP Restriction.\n\n\u003e **Note:** One and only one of \u003cspan pulumi-lang-nodejs=\"`ipAddress`\" pulumi-lang-dotnet=\"`IpAddress`\" pulumi-lang-go=\"`ipAddress`\" pulumi-lang-python=\"`ip_address`\" pulumi-lang-yaml=\"`ipAddress`\" pulumi-lang-java=\"`ipAddress`\"\u003e`ip_address`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`serviceTag`\" pulumi-lang-dotnet=\"`ServiceTag`\" pulumi-lang-go=\"`serviceTag`\" pulumi-lang-python=\"`service_tag`\" pulumi-lang-yaml=\"`serviceTag`\" pulumi-lang-java=\"`serviceTag`\"\u003e`service_tag`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`virtualNetworkSubnetId`\" pulumi-lang-dotnet=\"`VirtualNetworkSubnetId`\" pulumi-lang-go=\"`virtualNetworkSubnetId`\" pulumi-lang-python=\"`virtual_network_subnet_id`\" pulumi-lang-yaml=\"`virtualNetworkSubnetId`\" pulumi-lang-java=\"`virtualNetworkSubnetId`\"\u003e`virtual_network_subnet_id`\u003c/span\u003e must be specified.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["name"]}}},"azure:appservice/WindowsFunctionAppSlotSiteConfigIpRestrictionHeaders:WindowsFunctionAppSlotSiteConfigIpRestrictionHeaders":{"properties":{"xAzureFdids":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Azure Front Door IDs.\n"},"xFdHealthProbe":{"type":"string","description":"Specifies if a Front Door Health Probe should be expected. The only possible value is \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e.\n"},"xForwardedFors":{"type":"array","items":{"type":"string"},"description":"Specifies a list of addresses for which matching should be applied. Omitting this value means allow any.\n"},"xForwardedHosts":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Hosts for which matching should be applied.\n"}},"type":"object"},"azure:appservice/WindowsFunctionAppSlotSiteConfigScmIpRestriction:WindowsFunctionAppSlotSiteConfigScmIpRestriction":{"properties":{"action":{"type":"string","description":"The action to take. Possible values are `Allow` or `Deny`. Defaults to `Allow`.\n"},"description":{"type":"string","description":"The Description of this IP Restriction.\n"},"headers":{"$ref":"#/types/azure:appservice/WindowsFunctionAppSlotSiteConfigScmIpRestrictionHeaders:WindowsFunctionAppSlotSiteConfigScmIpRestrictionHeaders","description":"a \u003cspan pulumi-lang-nodejs=\"`headers`\" pulumi-lang-dotnet=\"`Headers`\" pulumi-lang-go=\"`headers`\" pulumi-lang-python=\"`headers`\" pulumi-lang-yaml=\"`headers`\" pulumi-lang-java=\"`headers`\"\u003e`headers`\u003c/span\u003e block as detailed below.\n"},"ipAddress":{"type":"string","description":"The CIDR notation of the IP or IP Range to match. For example: `10.0.0.0/24` or `192.168.10.1/32`\n"},"name":{"type":"string","description":"The name which should be used for this \u003cspan pulumi-lang-nodejs=\"`ipRestriction`\" pulumi-lang-dotnet=\"`IpRestriction`\" pulumi-lang-go=\"`ipRestriction`\" pulumi-lang-python=\"`ip_restriction`\" pulumi-lang-yaml=\"`ipRestriction`\" pulumi-lang-java=\"`ipRestriction`\"\u003e`ip_restriction`\u003c/span\u003e.\n"},"priority":{"type":"integer","description":"The priority value of this \u003cspan pulumi-lang-nodejs=\"`ipRestriction`\" pulumi-lang-dotnet=\"`IpRestriction`\" pulumi-lang-go=\"`ipRestriction`\" pulumi-lang-python=\"`ip_restriction`\" pulumi-lang-yaml=\"`ipRestriction`\" pulumi-lang-java=\"`ipRestriction`\"\u003e`ip_restriction`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`65000`\" pulumi-lang-dotnet=\"`65000`\" pulumi-lang-go=\"`65000`\" pulumi-lang-python=\"`65000`\" pulumi-lang-yaml=\"`65000`\" pulumi-lang-java=\"`65000`\"\u003e`65000`\u003c/span\u003e.\n"},"serviceTag":{"type":"string","description":"The Service Tag used for this IP Restriction.\n"},"virtualNetworkSubnetId":{"type":"string","description":"The Virtual Network Subnet ID used for this IP Restriction.\n\n\u003e **Note:** Exactly one of \u003cspan pulumi-lang-nodejs=\"`ipAddress`\" pulumi-lang-dotnet=\"`IpAddress`\" pulumi-lang-go=\"`ipAddress`\" pulumi-lang-python=\"`ip_address`\" pulumi-lang-yaml=\"`ipAddress`\" pulumi-lang-java=\"`ipAddress`\"\u003e`ip_address`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`serviceTag`\" pulumi-lang-dotnet=\"`ServiceTag`\" pulumi-lang-go=\"`serviceTag`\" pulumi-lang-python=\"`service_tag`\" pulumi-lang-yaml=\"`serviceTag`\" pulumi-lang-java=\"`serviceTag`\"\u003e`service_tag`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`virtualNetworkSubnetId`\" pulumi-lang-dotnet=\"`VirtualNetworkSubnetId`\" pulumi-lang-go=\"`virtualNetworkSubnetId`\" pulumi-lang-python=\"`virtual_network_subnet_id`\" pulumi-lang-yaml=\"`virtualNetworkSubnetId`\" pulumi-lang-java=\"`virtualNetworkSubnetId`\"\u003e`virtual_network_subnet_id`\u003c/span\u003e must be specified.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["name"]}}},"azure:appservice/WindowsFunctionAppSlotSiteConfigScmIpRestrictionHeaders:WindowsFunctionAppSlotSiteConfigScmIpRestrictionHeaders":{"properties":{"xAzureFdids":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Azure Front Door IDs.\n"},"xFdHealthProbe":{"type":"string","description":"Specifies if a Front Door Health Probe should be expected. The only possible value is \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e.\n"},"xForwardedFors":{"type":"array","items":{"type":"string"},"description":"Specifies a list of addresses for which matching should be applied. Omitting this value means allow any.\n"},"xForwardedHosts":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Hosts for which matching should be applied.\n"}},"type":"object"},"azure:appservice/WindowsFunctionAppSlotSiteCredential:WindowsFunctionAppSlotSiteCredential":{"properties":{"name":{"type":"string","description":"The Site Credentials Username used for publishing.\n","secret":true},"password":{"type":"string","description":"The Site Credentials Password used for publishing.\n","secret":true}},"type":"object","language":{"nodejs":{"requiredOutputs":["name","password"]}}},"azure:appservice/WindowsFunctionAppSlotStorageAccount:WindowsFunctionAppSlotStorageAccount":{"properties":{"accessKey":{"type":"string","description":"The Access key for the storage account.\n","secret":true},"accountName":{"type":"string","description":"The Name of the Storage Account.\n"},"mountPath":{"type":"string","description":"The path at which to mount the storage share.\n"},"name":{"type":"string","description":"The name which should be used for this Storage Account.\n"},"shareName":{"type":"string","description":"The Name of the File Share or Container Name for Blob storage.\n"},"type":{"type":"string","description":"The Azure Storage Type. Possible values include `AzureFiles`.\n"}},"type":"object","required":["accessKey","accountName","name","shareName","type"]},"azure:appservice/WindowsFunctionAppStickySettings:WindowsFunctionAppStickySettings":{"properties":{"appSettingNames":{"type":"array","items":{"type":"string"},"description":"A list of \u003cspan pulumi-lang-nodejs=\"`appSetting`\" pulumi-lang-dotnet=\"`AppSetting`\" pulumi-lang-go=\"`appSetting`\" pulumi-lang-python=\"`app_setting`\" pulumi-lang-yaml=\"`appSetting`\" pulumi-lang-java=\"`appSetting`\"\u003e`app_setting`\u003c/span\u003e names that the Windows Function App will not swap between Slots when a swap operation is triggered.\n"},"connectionStringNames":{"type":"array","items":{"type":"string"},"description":"A list of \u003cspan pulumi-lang-nodejs=\"`connectionString`\" pulumi-lang-dotnet=\"`ConnectionString`\" pulumi-lang-go=\"`connectionString`\" pulumi-lang-python=\"`connection_string`\" pulumi-lang-yaml=\"`connectionString`\" pulumi-lang-java=\"`connectionString`\"\u003e`connection_string`\u003c/span\u003e names that the Windows Function App will not swap between Slots when a swap operation is triggered.\n"}},"type":"object"},"azure:appservice/WindowsFunctionAppStorageAccount:WindowsFunctionAppStorageAccount":{"properties":{"accessKey":{"type":"string","description":"The Access key for the storage account.\n","secret":true},"accountName":{"type":"string","description":"The Name of the Storage Account.\n"},"mountPath":{"type":"string","description":"The path at which to mount the storage share.\n"},"name":{"type":"string","description":"The name which should be used for this Storage Account.\n"},"shareName":{"type":"string","description":"The Name of the File Share or Container Name for Blob storage.\n"},"type":{"type":"string","description":"The Azure Storage Type. Possible values include `AzureFiles`.\n"}},"type":"object","required":["accessKey","accountName","name","shareName","type"]},"azure:appservice/WindowsWebAppAuthSettings:WindowsWebAppAuthSettings":{"properties":{"activeDirectory":{"$ref":"#/types/azure:appservice/WindowsWebAppAuthSettingsActiveDirectory:WindowsWebAppAuthSettingsActiveDirectory","description":"An \u003cspan pulumi-lang-nodejs=\"`activeDirectory`\" pulumi-lang-dotnet=\"`ActiveDirectory`\" pulumi-lang-go=\"`activeDirectory`\" pulumi-lang-python=\"`active_directory`\" pulumi-lang-yaml=\"`activeDirectory`\" pulumi-lang-java=\"`activeDirectory`\"\u003e`active_directory`\u003c/span\u003e block as defined above.\n"},"additionalLoginParameters":{"type":"object","additionalProperties":{"type":"string"},"description":"Specifies a map of login Parameters to send to the OpenID Connect authorization endpoint when a user logs in.\n"},"allowedExternalRedirectUrls":{"type":"array","items":{"type":"string"},"description":"Specifies a list of External URLs that can be redirected to as part of logging in or logging out of the Windows Web App.\n"},"defaultProvider":{"type":"string","description":"The default authentication provider to use when multiple providers are configured. Possible values include: `AzureActiveDirectory`, `Facebook`, `Google`, `MicrosoftAccount`, `Twitter`, `Github`\n\n\u003e **Note:** This setting is only needed if multiple providers are configured, and the \u003cspan pulumi-lang-nodejs=\"`unauthenticatedClientAction`\" pulumi-lang-dotnet=\"`UnauthenticatedClientAction`\" pulumi-lang-go=\"`unauthenticatedClientAction`\" pulumi-lang-python=\"`unauthenticated_client_action`\" pulumi-lang-yaml=\"`unauthenticatedClientAction`\" pulumi-lang-java=\"`unauthenticatedClientAction`\"\u003e`unauthenticated_client_action`\u003c/span\u003e is set to \"RedirectToLoginPage\".\n"},"enabled":{"type":"boolean","description":"Should the Authentication / Authorization feature is enabled for the Windows Web App be enabled?\n"},"facebook":{"$ref":"#/types/azure:appservice/WindowsWebAppAuthSettingsFacebook:WindowsWebAppAuthSettingsFacebook","description":"A \u003cspan pulumi-lang-nodejs=\"`facebook`\" pulumi-lang-dotnet=\"`Facebook`\" pulumi-lang-go=\"`facebook`\" pulumi-lang-python=\"`facebook`\" pulumi-lang-yaml=\"`facebook`\" pulumi-lang-java=\"`facebook`\"\u003e`facebook`\u003c/span\u003e block as defined below.\n"},"github":{"$ref":"#/types/azure:appservice/WindowsWebAppAuthSettingsGithub:WindowsWebAppAuthSettingsGithub","description":"A \u003cspan pulumi-lang-nodejs=\"`github`\" pulumi-lang-dotnet=\"`Github`\" pulumi-lang-go=\"`github`\" pulumi-lang-python=\"`github`\" pulumi-lang-yaml=\"`github`\" pulumi-lang-java=\"`github`\"\u003e`github`\u003c/span\u003e block as defined below.\n"},"google":{"$ref":"#/types/azure:appservice/WindowsWebAppAuthSettingsGoogle:WindowsWebAppAuthSettingsGoogle","description":"A \u003cspan pulumi-lang-nodejs=\"`google`\" pulumi-lang-dotnet=\"`Google`\" pulumi-lang-go=\"`google`\" pulumi-lang-python=\"`google`\" pulumi-lang-yaml=\"`google`\" pulumi-lang-java=\"`google`\"\u003e`google`\u003c/span\u003e block as defined below.\n"},"issuer":{"type":"string","description":"The OpenID Connect Issuer URI that represents the entity which issues access tokens for this Windows Web App.\n\n\u003e **Note:** When using Azure Active Directory, this value is the URI of the directory tenant, e.g. \u003chttps://sts.windows.net/{tenant-guid}/\u003e.\n"},"microsoft":{"$ref":"#/types/azure:appservice/WindowsWebAppAuthSettingsMicrosoft:WindowsWebAppAuthSettingsMicrosoft","description":"A \u003cspan pulumi-lang-nodejs=\"`microsoft`\" pulumi-lang-dotnet=\"`Microsoft`\" pulumi-lang-go=\"`microsoft`\" pulumi-lang-python=\"`microsoft`\" pulumi-lang-yaml=\"`microsoft`\" pulumi-lang-java=\"`microsoft`\"\u003e`microsoft`\u003c/span\u003e block as defined below.\n"},"runtimeVersion":{"type":"string","description":"The RuntimeVersion of the Authentication / Authorization feature in use for the Windows Web App.\n"},"tokenRefreshExtensionHours":{"type":"number","description":"The number of hours after session token expiration that a session token can be used to call the token refresh API. Defaults to \u003cspan pulumi-lang-nodejs=\"`72`\" pulumi-lang-dotnet=\"`72`\" pulumi-lang-go=\"`72`\" pulumi-lang-python=\"`72`\" pulumi-lang-yaml=\"`72`\" pulumi-lang-java=\"`72`\"\u003e`72`\u003c/span\u003e hours.\n"},"tokenStoreEnabled":{"type":"boolean","description":"Should the Windows Web App durably store platform-specific security tokens that are obtained during login flows? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"twitter":{"$ref":"#/types/azure:appservice/WindowsWebAppAuthSettingsTwitter:WindowsWebAppAuthSettingsTwitter","description":"A \u003cspan pulumi-lang-nodejs=\"`twitter`\" pulumi-lang-dotnet=\"`Twitter`\" pulumi-lang-go=\"`twitter`\" pulumi-lang-python=\"`twitter`\" pulumi-lang-yaml=\"`twitter`\" pulumi-lang-java=\"`twitter`\"\u003e`twitter`\u003c/span\u003e block as defined below.\n"},"unauthenticatedClientAction":{"type":"string","description":"The action to take when an unauthenticated client attempts to access the app. Possible values include: `RedirectToLoginPage`, `AllowAnonymous`.\n"}},"type":"object","required":["enabled"],"language":{"nodejs":{"requiredOutputs":["allowedExternalRedirectUrls","defaultProvider","enabled","runtimeVersion","unauthenticatedClientAction"]}}},"azure:appservice/WindowsWebAppAuthSettingsActiveDirectory:WindowsWebAppAuthSettingsActiveDirectory":{"properties":{"allowedAudiences":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Allowed audience values to consider when validating JWTs issued by Azure Active Directory.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`clientId`\" pulumi-lang-dotnet=\"`ClientId`\" pulumi-lang-go=\"`clientId`\" pulumi-lang-python=\"`client_id`\" pulumi-lang-yaml=\"`clientId`\" pulumi-lang-java=\"`clientId`\"\u003e`client_id`\u003c/span\u003e value is always considered an allowed audience.\n"},"clientId":{"type":"string","description":"The ID of the Client to use to authenticate with Azure Active Directory.\n"},"clientSecret":{"type":"string","description":"The Client Secret for the Client ID. Cannot be used with \u003cspan pulumi-lang-nodejs=\"`clientSecretSettingName`\" pulumi-lang-dotnet=\"`ClientSecretSettingName`\" pulumi-lang-go=\"`clientSecretSettingName`\" pulumi-lang-python=\"`client_secret_setting_name`\" pulumi-lang-yaml=\"`clientSecretSettingName`\" pulumi-lang-java=\"`clientSecretSettingName`\"\u003e`client_secret_setting_name`\u003c/span\u003e.\n","secret":true},"clientSecretSettingName":{"type":"string","description":"The App Setting name that contains the client secret of the Client. Cannot be used with \u003cspan pulumi-lang-nodejs=\"`clientSecret`\" pulumi-lang-dotnet=\"`ClientSecret`\" pulumi-lang-go=\"`clientSecret`\" pulumi-lang-python=\"`client_secret`\" pulumi-lang-yaml=\"`clientSecret`\" pulumi-lang-java=\"`clientSecret`\"\u003e`client_secret`\u003c/span\u003e.\n"}},"type":"object","required":["clientId"]},"azure:appservice/WindowsWebAppAuthSettingsFacebook:WindowsWebAppAuthSettingsFacebook":{"properties":{"appId":{"type":"string","description":"The App ID of the Facebook app used for login.\n"},"appSecret":{"type":"string","description":"The App Secret of the Facebook app used for Facebook login. Cannot be specified with \u003cspan pulumi-lang-nodejs=\"`appSecretSettingName`\" pulumi-lang-dotnet=\"`AppSecretSettingName`\" pulumi-lang-go=\"`appSecretSettingName`\" pulumi-lang-python=\"`app_secret_setting_name`\" pulumi-lang-yaml=\"`appSecretSettingName`\" pulumi-lang-java=\"`appSecretSettingName`\"\u003e`app_secret_setting_name`\u003c/span\u003e.\n","secret":true},"appSecretSettingName":{"type":"string","description":"The app setting name that contains the \u003cspan pulumi-lang-nodejs=\"`appSecret`\" pulumi-lang-dotnet=\"`AppSecret`\" pulumi-lang-go=\"`appSecret`\" pulumi-lang-python=\"`app_secret`\" pulumi-lang-yaml=\"`appSecret`\" pulumi-lang-java=\"`appSecret`\"\u003e`app_secret`\u003c/span\u003e value used for Facebook login. Cannot be specified with \u003cspan pulumi-lang-nodejs=\"`appSecret`\" pulumi-lang-dotnet=\"`AppSecret`\" pulumi-lang-go=\"`appSecret`\" pulumi-lang-python=\"`app_secret`\" pulumi-lang-yaml=\"`appSecret`\" pulumi-lang-java=\"`appSecret`\"\u003e`app_secret`\u003c/span\u003e.\n"},"oauthScopes":{"type":"array","items":{"type":"string"},"description":"Specifies a list of OAuth 2.0 scopes to be requested as part of Facebook login authentication.\n"}},"type":"object","required":["appId"]},"azure:appservice/WindowsWebAppAuthSettingsGithub:WindowsWebAppAuthSettingsGithub":{"properties":{"clientId":{"type":"string","description":"The ID of the GitHub app used for login.\n"},"clientSecret":{"type":"string","description":"The Client Secret of the GitHub app used for GitHub login. Cannot be specified with \u003cspan pulumi-lang-nodejs=\"`clientSecretSettingName`\" pulumi-lang-dotnet=\"`ClientSecretSettingName`\" pulumi-lang-go=\"`clientSecretSettingName`\" pulumi-lang-python=\"`client_secret_setting_name`\" pulumi-lang-yaml=\"`clientSecretSettingName`\" pulumi-lang-java=\"`clientSecretSettingName`\"\u003e`client_secret_setting_name`\u003c/span\u003e.\n","secret":true},"clientSecretSettingName":{"type":"string","description":"The app setting name that contains the \u003cspan pulumi-lang-nodejs=\"`clientSecret`\" pulumi-lang-dotnet=\"`ClientSecret`\" pulumi-lang-go=\"`clientSecret`\" pulumi-lang-python=\"`client_secret`\" pulumi-lang-yaml=\"`clientSecret`\" pulumi-lang-java=\"`clientSecret`\"\u003e`client_secret`\u003c/span\u003e value used for GitHub login. Cannot be specified with \u003cspan pulumi-lang-nodejs=\"`clientSecret`\" pulumi-lang-dotnet=\"`ClientSecret`\" pulumi-lang-go=\"`clientSecret`\" pulumi-lang-python=\"`client_secret`\" pulumi-lang-yaml=\"`clientSecret`\" pulumi-lang-java=\"`clientSecret`\"\u003e`client_secret`\u003c/span\u003e.\n"},"oauthScopes":{"type":"array","items":{"type":"string"},"description":"Specifies a list of OAuth 2.0 scopes that will be requested as part of GitHub login authentication.\n"}},"type":"object","required":["clientId"]},"azure:appservice/WindowsWebAppAuthSettingsGoogle:WindowsWebAppAuthSettingsGoogle":{"properties":{"clientId":{"type":"string","description":"The OpenID Connect Client ID for the Google web application.\n"},"clientSecret":{"type":"string","description":"The client secret associated with the Google web application. Cannot be specified with \u003cspan pulumi-lang-nodejs=\"`clientSecretSettingName`\" pulumi-lang-dotnet=\"`ClientSecretSettingName`\" pulumi-lang-go=\"`clientSecretSettingName`\" pulumi-lang-python=\"`client_secret_setting_name`\" pulumi-lang-yaml=\"`clientSecretSettingName`\" pulumi-lang-java=\"`clientSecretSettingName`\"\u003e`client_secret_setting_name`\u003c/span\u003e.\n","secret":true},"clientSecretSettingName":{"type":"string","description":"The app setting name that contains the \u003cspan pulumi-lang-nodejs=\"`clientSecret`\" pulumi-lang-dotnet=\"`ClientSecret`\" pulumi-lang-go=\"`clientSecret`\" pulumi-lang-python=\"`client_secret`\" pulumi-lang-yaml=\"`clientSecret`\" pulumi-lang-java=\"`clientSecret`\"\u003e`client_secret`\u003c/span\u003e value used for Google login. Cannot be specified with \u003cspan pulumi-lang-nodejs=\"`clientSecret`\" pulumi-lang-dotnet=\"`ClientSecret`\" pulumi-lang-go=\"`clientSecret`\" pulumi-lang-python=\"`client_secret`\" pulumi-lang-yaml=\"`clientSecret`\" pulumi-lang-java=\"`clientSecret`\"\u003e`client_secret`\u003c/span\u003e.\n"},"oauthScopes":{"type":"array","items":{"type":"string"},"description":"Specifies a list of OAuth 2.0 scopes that will be requested as part of Google Sign-In authentication. If not specified, \u003cspan pulumi-lang-nodejs=\"`openid`\" pulumi-lang-dotnet=\"`Openid`\" pulumi-lang-go=\"`openid`\" pulumi-lang-python=\"`openid`\" pulumi-lang-yaml=\"`openid`\" pulumi-lang-java=\"`openid`\"\u003e`openid`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`profile`\" pulumi-lang-dotnet=\"`Profile`\" pulumi-lang-go=\"`profile`\" pulumi-lang-python=\"`profile`\" pulumi-lang-yaml=\"`profile`\" pulumi-lang-java=\"`profile`\"\u003e`profile`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`email`\" pulumi-lang-dotnet=\"`Email`\" pulumi-lang-go=\"`email`\" pulumi-lang-python=\"`email`\" pulumi-lang-yaml=\"`email`\" pulumi-lang-java=\"`email`\"\u003e`email`\u003c/span\u003e are used as default scopes.\n"}},"type":"object","required":["clientId"]},"azure:appservice/WindowsWebAppAuthSettingsMicrosoft:WindowsWebAppAuthSettingsMicrosoft":{"properties":{"clientId":{"type":"string","description":"The OAuth 2.0 client ID that was created for the app used for authentication.\n"},"clientSecret":{"type":"string","description":"The OAuth 2.0 client secret that was created for the app used for authentication. Cannot be specified with \u003cspan pulumi-lang-nodejs=\"`clientSecretSettingName`\" pulumi-lang-dotnet=\"`ClientSecretSettingName`\" pulumi-lang-go=\"`clientSecretSettingName`\" pulumi-lang-python=\"`client_secret_setting_name`\" pulumi-lang-yaml=\"`clientSecretSettingName`\" pulumi-lang-java=\"`clientSecretSettingName`\"\u003e`client_secret_setting_name`\u003c/span\u003e.\n","secret":true},"clientSecretSettingName":{"type":"string","description":"The app setting name containing the OAuth 2.0 client secret that was created for the app used for authentication. Cannot be specified with \u003cspan pulumi-lang-nodejs=\"`clientSecret`\" pulumi-lang-dotnet=\"`ClientSecret`\" pulumi-lang-go=\"`clientSecret`\" pulumi-lang-python=\"`client_secret`\" pulumi-lang-yaml=\"`clientSecret`\" pulumi-lang-java=\"`clientSecret`\"\u003e`client_secret`\u003c/span\u003e.\n"},"oauthScopes":{"type":"array","items":{"type":"string"},"description":"Specifies a 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.\n"}},"type":"object","required":["clientId"]},"azure:appservice/WindowsWebAppAuthSettingsTwitter:WindowsWebAppAuthSettingsTwitter":{"properties":{"consumerKey":{"type":"string","description":"The OAuth 1.0a consumer key of the Twitter application used for sign-in.\n"},"consumerSecret":{"type":"string","description":"The OAuth 1.0a consumer secret of the Twitter application used for sign-in. Cannot be specified with \u003cspan pulumi-lang-nodejs=\"`consumerSecretSettingName`\" pulumi-lang-dotnet=\"`ConsumerSecretSettingName`\" pulumi-lang-go=\"`consumerSecretSettingName`\" pulumi-lang-python=\"`consumer_secret_setting_name`\" pulumi-lang-yaml=\"`consumerSecretSettingName`\" pulumi-lang-java=\"`consumerSecretSettingName`\"\u003e`consumer_secret_setting_name`\u003c/span\u003e.\n","secret":true},"consumerSecretSettingName":{"type":"string","description":"The app setting name that contains the OAuth 1.0a consumer secret of the Twitter application used for sign-in. Cannot be specified with \u003cspan pulumi-lang-nodejs=\"`consumerSecret`\" pulumi-lang-dotnet=\"`ConsumerSecret`\" pulumi-lang-go=\"`consumerSecret`\" pulumi-lang-python=\"`consumer_secret`\" pulumi-lang-yaml=\"`consumerSecret`\" pulumi-lang-java=\"`consumerSecret`\"\u003e`consumer_secret`\u003c/span\u003e.\n"}},"type":"object","required":["consumerKey"]},"azure:appservice/WindowsWebAppAuthSettingsV2:WindowsWebAppAuthSettingsV2":{"properties":{"activeDirectoryV2":{"$ref":"#/types/azure:appservice/WindowsWebAppAuthSettingsV2ActiveDirectoryV2:WindowsWebAppAuthSettingsV2ActiveDirectoryV2","description":"An \u003cspan pulumi-lang-nodejs=\"`activeDirectoryV2`\" pulumi-lang-dotnet=\"`ActiveDirectoryV2`\" pulumi-lang-go=\"`activeDirectoryV2`\" pulumi-lang-python=\"`active_directory_v2`\" pulumi-lang-yaml=\"`activeDirectoryV2`\" pulumi-lang-java=\"`activeDirectoryV2`\"\u003e`active_directory_v2`\u003c/span\u003e block as defined below.\n"},"appleV2":{"$ref":"#/types/azure:appservice/WindowsWebAppAuthSettingsV2AppleV2:WindowsWebAppAuthSettingsV2AppleV2","description":"An \u003cspan pulumi-lang-nodejs=\"`appleV2`\" pulumi-lang-dotnet=\"`AppleV2`\" pulumi-lang-go=\"`appleV2`\" pulumi-lang-python=\"`apple_v2`\" pulumi-lang-yaml=\"`appleV2`\" pulumi-lang-java=\"`appleV2`\"\u003e`apple_v2`\u003c/span\u003e block as defined below.\n"},"authEnabled":{"type":"boolean","description":"Should the AuthV2 Settings be enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"azureStaticWebAppV2":{"$ref":"#/types/azure:appservice/WindowsWebAppAuthSettingsV2AzureStaticWebAppV2:WindowsWebAppAuthSettingsV2AzureStaticWebAppV2","description":"An \u003cspan pulumi-lang-nodejs=\"`azureStaticWebAppV2`\" pulumi-lang-dotnet=\"`AzureStaticWebAppV2`\" pulumi-lang-go=\"`azureStaticWebAppV2`\" pulumi-lang-python=\"`azure_static_web_app_v2`\" pulumi-lang-yaml=\"`azureStaticWebAppV2`\" pulumi-lang-java=\"`azureStaticWebAppV2`\"\u003e`azure_static_web_app_v2`\u003c/span\u003e block as defined below.\n"},"configFilePath":{"type":"string","description":"The path to the App Auth settings.\n\n\u003e **Note:** Relative Paths are evaluated from the Site Root directory.\n"},"customOidcV2s":{"type":"array","items":{"$ref":"#/types/azure:appservice/WindowsWebAppAuthSettingsV2CustomOidcV2:WindowsWebAppAuthSettingsV2CustomOidcV2"},"description":"Zero or more \u003cspan pulumi-lang-nodejs=\"`customOidcV2`\" pulumi-lang-dotnet=\"`CustomOidcV2`\" pulumi-lang-go=\"`customOidcV2`\" pulumi-lang-python=\"`custom_oidc_v2`\" pulumi-lang-yaml=\"`customOidcV2`\" pulumi-lang-java=\"`customOidcV2`\"\u003e`custom_oidc_v2`\u003c/span\u003e blocks as defined below.\n"},"defaultProvider":{"type":"string","description":"The Default Authentication Provider to use when the \u003cspan pulumi-lang-nodejs=\"`unauthenticatedAction`\" pulumi-lang-dotnet=\"`UnauthenticatedAction`\" pulumi-lang-go=\"`unauthenticatedAction`\" pulumi-lang-python=\"`unauthenticated_action`\" pulumi-lang-yaml=\"`unauthenticatedAction`\" pulumi-lang-java=\"`unauthenticatedAction`\"\u003e`unauthenticated_action`\u003c/span\u003e is set to `RedirectToLoginPage`. Possible values include: \u003cspan pulumi-lang-nodejs=\"`apple`\" pulumi-lang-dotnet=\"`Apple`\" pulumi-lang-go=\"`apple`\" pulumi-lang-python=\"`apple`\" pulumi-lang-yaml=\"`apple`\" pulumi-lang-java=\"`apple`\"\u003e`apple`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`azureactivedirectory`\" pulumi-lang-dotnet=\"`Azureactivedirectory`\" pulumi-lang-go=\"`azureactivedirectory`\" pulumi-lang-python=\"`azureactivedirectory`\" pulumi-lang-yaml=\"`azureactivedirectory`\" pulumi-lang-java=\"`azureactivedirectory`\"\u003e`azureactivedirectory`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`facebook`\" pulumi-lang-dotnet=\"`Facebook`\" pulumi-lang-go=\"`facebook`\" pulumi-lang-python=\"`facebook`\" pulumi-lang-yaml=\"`facebook`\" pulumi-lang-java=\"`facebook`\"\u003e`facebook`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`github`\" pulumi-lang-dotnet=\"`Github`\" pulumi-lang-go=\"`github`\" pulumi-lang-python=\"`github`\" pulumi-lang-yaml=\"`github`\" pulumi-lang-java=\"`github`\"\u003e`github`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`google`\" pulumi-lang-dotnet=\"`Google`\" pulumi-lang-go=\"`google`\" pulumi-lang-python=\"`google`\" pulumi-lang-yaml=\"`google`\" pulumi-lang-java=\"`google`\"\u003e`google`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`twitter`\" pulumi-lang-dotnet=\"`Twitter`\" pulumi-lang-go=\"`twitter`\" pulumi-lang-python=\"`twitter`\" pulumi-lang-yaml=\"`twitter`\" pulumi-lang-java=\"`twitter`\"\u003e`twitter`\u003c/span\u003e and the \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e of your \u003cspan pulumi-lang-nodejs=\"`customOidcV2`\" pulumi-lang-dotnet=\"`CustomOidcV2`\" pulumi-lang-go=\"`customOidcV2`\" pulumi-lang-python=\"`custom_oidc_v2`\" pulumi-lang-yaml=\"`customOidcV2`\" pulumi-lang-java=\"`customOidcV2`\"\u003e`custom_oidc_v2`\u003c/span\u003e provider.\n\n\u003e **Note:** Whilst any value will be accepted by the API for \u003cspan pulumi-lang-nodejs=\"`defaultProvider`\" pulumi-lang-dotnet=\"`DefaultProvider`\" pulumi-lang-go=\"`defaultProvider`\" pulumi-lang-python=\"`default_provider`\" pulumi-lang-yaml=\"`defaultProvider`\" pulumi-lang-java=\"`defaultProvider`\"\u003e`default_provider`\u003c/span\u003e, it can leave the app in an unusable state if this value does not correspond to the name of a known provider (either built-in value, or\u003cspan pulumi-lang-nodejs=\" customOidc \" pulumi-lang-dotnet=\" CustomOidc \" pulumi-lang-go=\" customOidc \" pulumi-lang-python=\" custom_oidc \" pulumi-lang-yaml=\" customOidc \" pulumi-lang-java=\" customOidc \"\u003e custom_oidc \u003c/span\u003ename) as it is used to build the auth endpoint URI.\n"},"excludedPaths":{"type":"array","items":{"type":"string"},"description":"The paths which should be excluded from the \u003cspan pulumi-lang-nodejs=\"`unauthenticatedAction`\" pulumi-lang-dotnet=\"`UnauthenticatedAction`\" pulumi-lang-go=\"`unauthenticatedAction`\" pulumi-lang-python=\"`unauthenticated_action`\" pulumi-lang-yaml=\"`unauthenticatedAction`\" pulumi-lang-java=\"`unauthenticatedAction`\"\u003e`unauthenticated_action`\u003c/span\u003e when it is set to `RedirectToLoginPage`.\n\n\u003e **Note:** This list should be used instead of setting `WEBSITE_WARMUP_PATH` in \u003cspan pulumi-lang-nodejs=\"`appSettings`\" pulumi-lang-dotnet=\"`AppSettings`\" pulumi-lang-go=\"`appSettings`\" pulumi-lang-python=\"`app_settings`\" pulumi-lang-yaml=\"`appSettings`\" pulumi-lang-java=\"`appSettings`\"\u003e`app_settings`\u003c/span\u003e as it takes priority.\n"},"facebookV2":{"$ref":"#/types/azure:appservice/WindowsWebAppAuthSettingsV2FacebookV2:WindowsWebAppAuthSettingsV2FacebookV2","description":"A \u003cspan pulumi-lang-nodejs=\"`facebookV2`\" pulumi-lang-dotnet=\"`FacebookV2`\" pulumi-lang-go=\"`facebookV2`\" pulumi-lang-python=\"`facebook_v2`\" pulumi-lang-yaml=\"`facebookV2`\" pulumi-lang-java=\"`facebookV2`\"\u003e`facebook_v2`\u003c/span\u003e block as defined below.\n"},"forwardProxyConvention":{"type":"string","description":"The convention used to determine the url of the request made. Possible values include `NoProxy`, `Standard`, `Custom`. Defaults to `NoProxy`.\n"},"forwardProxyCustomHostHeaderName":{"type":"string","description":"The name of the custom header containing the host of the request.\n"},"forwardProxyCustomSchemeHeaderName":{"type":"string","description":"The name of the custom header containing the scheme of the request.\n"},"githubV2":{"$ref":"#/types/azure:appservice/WindowsWebAppAuthSettingsV2GithubV2:WindowsWebAppAuthSettingsV2GithubV2","description":"A \u003cspan pulumi-lang-nodejs=\"`githubV2`\" pulumi-lang-dotnet=\"`GithubV2`\" pulumi-lang-go=\"`githubV2`\" pulumi-lang-python=\"`github_v2`\" pulumi-lang-yaml=\"`githubV2`\" pulumi-lang-java=\"`githubV2`\"\u003e`github_v2`\u003c/span\u003e block as defined below.\n"},"googleV2":{"$ref":"#/types/azure:appservice/WindowsWebAppAuthSettingsV2GoogleV2:WindowsWebAppAuthSettingsV2GoogleV2","description":"A \u003cspan pulumi-lang-nodejs=\"`googleV2`\" pulumi-lang-dotnet=\"`GoogleV2`\" pulumi-lang-go=\"`googleV2`\" pulumi-lang-python=\"`google_v2`\" pulumi-lang-yaml=\"`googleV2`\" pulumi-lang-java=\"`googleV2`\"\u003e`google_v2`\u003c/span\u003e block as defined below.\n"},"httpRouteApiPrefix":{"type":"string","description":"The prefix that should precede all the authentication and authorisation paths. Defaults to `/.auth`.\n"},"login":{"$ref":"#/types/azure:appservice/WindowsWebAppAuthSettingsV2Login:WindowsWebAppAuthSettingsV2Login","description":"A \u003cspan pulumi-lang-nodejs=\"`login`\" pulumi-lang-dotnet=\"`Login`\" pulumi-lang-go=\"`login`\" pulumi-lang-python=\"`login`\" pulumi-lang-yaml=\"`login`\" pulumi-lang-java=\"`login`\"\u003e`login`\u003c/span\u003e block as defined below.\n"},"microsoftV2":{"$ref":"#/types/azure:appservice/WindowsWebAppAuthSettingsV2MicrosoftV2:WindowsWebAppAuthSettingsV2MicrosoftV2","description":"A \u003cspan pulumi-lang-nodejs=\"`microsoftV2`\" pulumi-lang-dotnet=\"`MicrosoftV2`\" pulumi-lang-go=\"`microsoftV2`\" pulumi-lang-python=\"`microsoft_v2`\" pulumi-lang-yaml=\"`microsoftV2`\" pulumi-lang-java=\"`microsoftV2`\"\u003e`microsoft_v2`\u003c/span\u003e block as defined below.\n"},"requireAuthentication":{"type":"boolean","description":"Should the authentication flow be used for all requests.\n"},"requireHttps":{"type":"boolean","description":"Should HTTPS be required on connections? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"runtimeVersion":{"type":"string","description":"The Runtime Version of the Authentication and Authorisation feature of this App. Defaults to `~1`.\n"},"twitterV2":{"$ref":"#/types/azure:appservice/WindowsWebAppAuthSettingsV2TwitterV2:WindowsWebAppAuthSettingsV2TwitterV2","description":"A \u003cspan pulumi-lang-nodejs=\"`twitterV2`\" pulumi-lang-dotnet=\"`TwitterV2`\" pulumi-lang-go=\"`twitterV2`\" pulumi-lang-python=\"`twitter_v2`\" pulumi-lang-yaml=\"`twitterV2`\" pulumi-lang-java=\"`twitterV2`\"\u003e`twitter_v2`\u003c/span\u003e block as defined below.\n"},"unauthenticatedAction":{"type":"string","description":"The action to take for requests made without authentication. Possible values include `RedirectToLoginPage`, `AllowAnonymous`, `Return401`, and `Return403`. Defaults to `RedirectToLoginPage`.\n"}},"type":"object","required":["login"]},"azure:appservice/WindowsWebAppAuthSettingsV2ActiveDirectoryV2:WindowsWebAppAuthSettingsV2ActiveDirectoryV2":{"properties":{"allowedApplications":{"type":"array","items":{"type":"string"},"description":"The list of allowed Applications for the Default Authorisation Policy.\n"},"allowedAudiences":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Allowed audience values to consider when validating JWTs issued by Azure Active Directory.\n\n\u003e **Note:** This is configured on the Authentication Provider side and is Read Only here.\n"},"allowedGroups":{"type":"array","items":{"type":"string"},"description":"The list of allowed Group Names for the Default Authorisation Policy.\n"},"allowedIdentities":{"type":"array","items":{"type":"string"},"description":"The list of allowed Identities for the Default Authorisation Policy.\n"},"clientId":{"type":"string","description":"The ID of the Client to use to authenticate with Azure Active Directory.\n"},"clientSecretCertificateThumbprint":{"type":"string","description":"The thumbprint of the certificate used for signing purposes.\n\n!\u003e **Note:** If one \u003cspan pulumi-lang-nodejs=\"`clientSecretSettingName`\" pulumi-lang-dotnet=\"`ClientSecretSettingName`\" pulumi-lang-go=\"`clientSecretSettingName`\" pulumi-lang-python=\"`client_secret_setting_name`\" pulumi-lang-yaml=\"`clientSecretSettingName`\" pulumi-lang-java=\"`clientSecretSettingName`\"\u003e`client_secret_setting_name`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`clientSecretCertificateThumbprint`\" pulumi-lang-dotnet=\"`ClientSecretCertificateThumbprint`\" pulumi-lang-go=\"`clientSecretCertificateThumbprint`\" pulumi-lang-python=\"`client_secret_certificate_thumbprint`\" pulumi-lang-yaml=\"`clientSecretCertificateThumbprint`\" pulumi-lang-java=\"`clientSecretCertificateThumbprint`\"\u003e`client_secret_certificate_thumbprint`\u003c/span\u003e is specified, terraform won't write the client secret or secret certificate thumbprint back to \u003cspan pulumi-lang-nodejs=\"`appSetting`\" pulumi-lang-dotnet=\"`AppSetting`\" pulumi-lang-go=\"`appSetting`\" pulumi-lang-python=\"`app_setting`\" pulumi-lang-yaml=\"`appSetting`\" pulumi-lang-java=\"`appSetting`\"\u003e`app_setting`\u003c/span\u003e, so make sure they are existed in \u003cspan pulumi-lang-nodejs=\"`appSettings`\" pulumi-lang-dotnet=\"`AppSettings`\" pulumi-lang-go=\"`appSettings`\" pulumi-lang-python=\"`app_settings`\" pulumi-lang-yaml=\"`appSettings`\" pulumi-lang-java=\"`appSettings`\"\u003e`app_settings`\u003c/span\u003e to function correctly.\n"},"clientSecretSettingName":{"type":"string","description":"The App Setting name that contains the client secret of the Client.\n\n!\u003e **Note:** A setting with this name must exist in \u003cspan pulumi-lang-nodejs=\"`appSettings`\" pulumi-lang-dotnet=\"`AppSettings`\" pulumi-lang-go=\"`appSettings`\" pulumi-lang-python=\"`app_settings`\" pulumi-lang-yaml=\"`appSettings`\" pulumi-lang-java=\"`appSettings`\"\u003e`app_settings`\u003c/span\u003e to function correctly.\n"},"jwtAllowedClientApplications":{"type":"array","items":{"type":"string"},"description":"A list of Allowed Client Applications in the JWT Claim.\n"},"jwtAllowedGroups":{"type":"array","items":{"type":"string"},"description":"A list of Allowed Groups in the JWT Claim.\n"},"loginParameters":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of key-value pairs to send to the Authorisation Endpoint when a user logs in.\n"},"tenantAuthEndpoint":{"type":"string","description":"The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/`\n\n\u003e **Note:** [Here](https://learn.microsoft.com/en-us/entra/identity-platform/authentication-national-cloud#microsoft-entra-authentication-endpoints) is a list of possible authentication endpoints based on the cloud environment. [Here](https://learn.microsoft.com/en-us/azure/app-service/configure-authentication-provider-aad?tabs=workforce-tenant) is more information to better understand how to configure authentication for Azure App Service or Azure Functions.\n"},"wwwAuthenticationDisabled":{"type":"boolean","description":"Should the www-authenticate provider should be omitted from the request? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"}},"type":"object","required":["clientId","tenantAuthEndpoint"]},"azure:appservice/WindowsWebAppAuthSettingsV2AppleV2:WindowsWebAppAuthSettingsV2AppleV2":{"properties":{"clientId":{"type":"string","description":"The OpenID Connect Client ID for the Apple web application.\n"},"clientSecretSettingName":{"type":"string","description":"The app setting name that contains the \u003cspan pulumi-lang-nodejs=\"`clientSecret`\" pulumi-lang-dotnet=\"`ClientSecret`\" pulumi-lang-go=\"`clientSecret`\" pulumi-lang-python=\"`client_secret`\" pulumi-lang-yaml=\"`clientSecret`\" pulumi-lang-java=\"`clientSecret`\"\u003e`client_secret`\u003c/span\u003e value used for Apple Login.\n\n!\u003e **Note:** A setting with this name must exist in \u003cspan pulumi-lang-nodejs=\"`appSettings`\" pulumi-lang-dotnet=\"`AppSettings`\" pulumi-lang-go=\"`appSettings`\" pulumi-lang-python=\"`app_settings`\" pulumi-lang-yaml=\"`appSettings`\" pulumi-lang-java=\"`appSettings`\"\u003e`app_settings`\u003c/span\u003e to function correctly.\n"},"loginScopes":{"type":"array","items":{"type":"string"},"description":"A list of Login Scopes provided by this Authentication Provider.\n\n\u003e **Note:** This is configured on the Authentication Provider side and is Read Only here.\n"}},"type":"object","required":["clientId","clientSecretSettingName"],"language":{"nodejs":{"requiredOutputs":["clientId","clientSecretSettingName","loginScopes"]}}},"azure:appservice/WindowsWebAppAuthSettingsV2AzureStaticWebAppV2:WindowsWebAppAuthSettingsV2AzureStaticWebAppV2":{"properties":{"clientId":{"type":"string","description":"The ID of the Client to use to authenticate with Azure Static Web App Authentication.\n"}},"type":"object","required":["clientId"]},"azure:appservice/WindowsWebAppAuthSettingsV2CustomOidcV2:WindowsWebAppAuthSettingsV2CustomOidcV2":{"properties":{"authorisationEndpoint":{"type":"string","description":"The endpoint to make the Authorisation Request as supplied by \u003cspan pulumi-lang-nodejs=\"`openidConfigurationEndpoint`\" pulumi-lang-dotnet=\"`OpenidConfigurationEndpoint`\" pulumi-lang-go=\"`openidConfigurationEndpoint`\" pulumi-lang-python=\"`openid_configuration_endpoint`\" pulumi-lang-yaml=\"`openidConfigurationEndpoint`\" pulumi-lang-java=\"`openidConfigurationEndpoint`\"\u003e`openid_configuration_endpoint`\u003c/span\u003e response.\n"},"certificationUri":{"type":"string","description":"The endpoint that provides the keys necessary to validate the token as supplied by \u003cspan pulumi-lang-nodejs=\"`openidConfigurationEndpoint`\" pulumi-lang-dotnet=\"`OpenidConfigurationEndpoint`\" pulumi-lang-go=\"`openidConfigurationEndpoint`\" pulumi-lang-python=\"`openid_configuration_endpoint`\" pulumi-lang-yaml=\"`openidConfigurationEndpoint`\" pulumi-lang-java=\"`openidConfigurationEndpoint`\"\u003e`openid_configuration_endpoint`\u003c/span\u003e response.\n"},"clientCredentialMethod":{"type":"string","description":"The Client Credential Method used.\n"},"clientId":{"type":"string","description":"The ID of the Client to use to authenticate with the Custom OIDC.\n"},"clientSecretSettingName":{"type":"string","description":"The App Setting name that contains the secret for this Custom OIDC Client. This is generated from \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e above and suffixed with `_PROVIDER_AUTHENTICATION_SECRET`.\n"},"issuerEndpoint":{"type":"string","description":"The endpoint that issued the Token as supplied by \u003cspan pulumi-lang-nodejs=\"`openidConfigurationEndpoint`\" pulumi-lang-dotnet=\"`OpenidConfigurationEndpoint`\" pulumi-lang-go=\"`openidConfigurationEndpoint`\" pulumi-lang-python=\"`openid_configuration_endpoint`\" pulumi-lang-yaml=\"`openidConfigurationEndpoint`\" pulumi-lang-java=\"`openidConfigurationEndpoint`\"\u003e`openid_configuration_endpoint`\u003c/span\u003e response.\n"},"name":{"type":"string","description":"The name of the Custom OIDC Authentication Provider.\n\n\u003e **Note:** An \u003cspan pulumi-lang-nodejs=\"`appSetting`\" pulumi-lang-dotnet=\"`AppSetting`\" pulumi-lang-go=\"`appSetting`\" pulumi-lang-python=\"`app_setting`\" pulumi-lang-yaml=\"`appSetting`\" pulumi-lang-java=\"`appSetting`\"\u003e`app_setting`\u003c/span\u003e matching this value in upper case with the suffix of `_PROVIDER_AUTHENTICATION_SECRET` is required. e.g. `MYOIDC_PROVIDER_AUTHENTICATION_SECRET` for a value of \u003cspan pulumi-lang-nodejs=\"`myoidc`\" pulumi-lang-dotnet=\"`Myoidc`\" pulumi-lang-go=\"`myoidc`\" pulumi-lang-python=\"`myoidc`\" pulumi-lang-yaml=\"`myoidc`\" pulumi-lang-java=\"`myoidc`\"\u003e`myoidc`\u003c/span\u003e.\n"},"nameClaimType":{"type":"string","description":"The name of the claim that contains the users name.\n"},"openidConfigurationEndpoint":{"type":"string","description":"The app setting name that contains the \u003cspan pulumi-lang-nodejs=\"`clientSecret`\" pulumi-lang-dotnet=\"`ClientSecret`\" pulumi-lang-go=\"`clientSecret`\" pulumi-lang-python=\"`client_secret`\" pulumi-lang-yaml=\"`clientSecret`\" pulumi-lang-java=\"`clientSecret`\"\u003e`client_secret`\u003c/span\u003e value used for the Custom OIDC Login.\n"},"scopes":{"type":"array","items":{"type":"string"},"description":"The list of the scopes that should be requested while authenticating.\n"},"tokenEndpoint":{"type":"string","description":"The endpoint used to request a Token as supplied by \u003cspan pulumi-lang-nodejs=\"`openidConfigurationEndpoint`\" pulumi-lang-dotnet=\"`OpenidConfigurationEndpoint`\" pulumi-lang-go=\"`openidConfigurationEndpoint`\" pulumi-lang-python=\"`openid_configuration_endpoint`\" pulumi-lang-yaml=\"`openidConfigurationEndpoint`\" pulumi-lang-java=\"`openidConfigurationEndpoint`\"\u003e`openid_configuration_endpoint`\u003c/span\u003e response.\n"}},"type":"object","required":["clientId","name","openidConfigurationEndpoint"],"language":{"nodejs":{"requiredOutputs":["authorisationEndpoint","certificationUri","clientCredentialMethod","clientId","clientSecretSettingName","issuerEndpoint","name","openidConfigurationEndpoint","tokenEndpoint"]}}},"azure:appservice/WindowsWebAppAuthSettingsV2FacebookV2:WindowsWebAppAuthSettingsV2FacebookV2":{"properties":{"appId":{"type":"string","description":"The App ID of the Facebook app used for login.\n"},"appSecretSettingName":{"type":"string","description":"The app setting name that contains the \u003cspan pulumi-lang-nodejs=\"`appSecret`\" pulumi-lang-dotnet=\"`AppSecret`\" pulumi-lang-go=\"`appSecret`\" pulumi-lang-python=\"`app_secret`\" pulumi-lang-yaml=\"`appSecret`\" pulumi-lang-java=\"`appSecret`\"\u003e`app_secret`\u003c/span\u003e value used for Facebook Login.\n\n!\u003e **Note:** A setting with this name must exist in \u003cspan pulumi-lang-nodejs=\"`appSettings`\" pulumi-lang-dotnet=\"`AppSettings`\" pulumi-lang-go=\"`appSettings`\" pulumi-lang-python=\"`app_settings`\" pulumi-lang-yaml=\"`appSettings`\" pulumi-lang-java=\"`appSettings`\"\u003e`app_settings`\u003c/span\u003e to function correctly.\n"},"graphApiVersion":{"type":"string","description":"The version of the Facebook API to be used while logging in.\n"},"loginScopes":{"type":"array","items":{"type":"string"},"description":"The list of scopes that should be requested as part of Facebook Login authentication.\n"}},"type":"object","required":["appId","appSecretSettingName"],"language":{"nodejs":{"requiredOutputs":["appId","appSecretSettingName","graphApiVersion"]}}},"azure:appservice/WindowsWebAppAuthSettingsV2GithubV2:WindowsWebAppAuthSettingsV2GithubV2":{"properties":{"clientId":{"type":"string","description":"The ID of the GitHub app used for login.\n"},"clientSecretSettingName":{"type":"string","description":"The app setting name that contains the \u003cspan pulumi-lang-nodejs=\"`clientSecret`\" pulumi-lang-dotnet=\"`ClientSecret`\" pulumi-lang-go=\"`clientSecret`\" pulumi-lang-python=\"`client_secret`\" pulumi-lang-yaml=\"`clientSecret`\" pulumi-lang-java=\"`clientSecret`\"\u003e`client_secret`\u003c/span\u003e value used for GitHub Login.\n\n!\u003e **Note:** A setting with this name must exist in \u003cspan pulumi-lang-nodejs=\"`appSettings`\" pulumi-lang-dotnet=\"`AppSettings`\" pulumi-lang-go=\"`appSettings`\" pulumi-lang-python=\"`app_settings`\" pulumi-lang-yaml=\"`appSettings`\" pulumi-lang-java=\"`appSettings`\"\u003e`app_settings`\u003c/span\u003e to function correctly.\n"},"loginScopes":{"type":"array","items":{"type":"string"},"description":"The list of OAuth 2.0 scopes that should be requested as part of GitHub Login authentication.\n"}},"type":"object","required":["clientId","clientSecretSettingName"]},"azure:appservice/WindowsWebAppAuthSettingsV2GoogleV2:WindowsWebAppAuthSettingsV2GoogleV2":{"properties":{"allowedAudiences":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Allowed Audiences that should be requested as part of Google Sign-In authentication.\n"},"clientId":{"type":"string","description":"The OpenID Connect Client ID for the Google web application.\n"},"clientSecretSettingName":{"type":"string","description":"The app setting name that contains the \u003cspan pulumi-lang-nodejs=\"`clientSecret`\" pulumi-lang-dotnet=\"`ClientSecret`\" pulumi-lang-go=\"`clientSecret`\" pulumi-lang-python=\"`client_secret`\" pulumi-lang-yaml=\"`clientSecret`\" pulumi-lang-java=\"`clientSecret`\"\u003e`client_secret`\u003c/span\u003e value used for Google Login.\n\n!\u003e **Note:** A setting with this name must exist in \u003cspan pulumi-lang-nodejs=\"`appSettings`\" pulumi-lang-dotnet=\"`AppSettings`\" pulumi-lang-go=\"`appSettings`\" pulumi-lang-python=\"`app_settings`\" pulumi-lang-yaml=\"`appSettings`\" pulumi-lang-java=\"`appSettings`\"\u003e`app_settings`\u003c/span\u003e to function correctly.\n"},"loginScopes":{"type":"array","items":{"type":"string"},"description":"The list of OAuth 2.0 scopes that should be requested as part of Google Sign-In authentication.\n"}},"type":"object","required":["clientId","clientSecretSettingName"]},"azure:appservice/WindowsWebAppAuthSettingsV2Login:WindowsWebAppAuthSettingsV2Login":{"properties":{"allowedExternalRedirectUrls":{"type":"array","items":{"type":"string"},"description":"External URLs that can be redirected to as part of logging in or logging out of the app. This is an advanced setting typically only needed by Windows Store application backends.\n\n\u003e **Note:** URLs within the current domain are always implicitly allowed.\n"},"cookieExpirationConvention":{"type":"string","description":"The method by which cookies expire. Possible values include: `FixedTime`, and `IdentityProviderDerived`. Defaults to `FixedTime`.\n"},"cookieExpirationTime":{"type":"string","description":"The time after the request is made when the session cookie should expire. Defaults to `08:00:00`.\n"},"logoutEndpoint":{"type":"string","description":"The endpoint to which logout requests should be made.\n"},"nonceExpirationTime":{"type":"string","description":"The time after the request is made when the nonce should expire. Defaults to `00:05:00`.\n"},"preserveUrlFragmentsForLogins":{"type":"boolean","description":"Should the fragments from the request be preserved after the login request is made. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"tokenRefreshExtensionTime":{"type":"number","description":"The number of hours after session token expiration that a session token can be used to call the token refresh API. Defaults to \u003cspan pulumi-lang-nodejs=\"`72`\" pulumi-lang-dotnet=\"`72`\" pulumi-lang-go=\"`72`\" pulumi-lang-python=\"`72`\" pulumi-lang-yaml=\"`72`\" pulumi-lang-java=\"`72`\"\u003e`72`\u003c/span\u003e hours.\n"},"tokenStoreEnabled":{"type":"boolean","description":"Should the Token Store configuration Enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e\n"},"tokenStorePath":{"type":"string","description":"The directory path in the App Filesystem in which the tokens will be stored.\n"},"tokenStoreSasSettingName":{"type":"string","description":"The name of the app setting which contains the SAS URL of the blob storage containing the tokens.\n"},"validateNonce":{"type":"boolean","description":"Should the nonce be validated while completing the login flow. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"}},"type":"object"},"azure:appservice/WindowsWebAppAuthSettingsV2MicrosoftV2:WindowsWebAppAuthSettingsV2MicrosoftV2":{"properties":{"allowedAudiences":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Allowed Audiences that will be requested as part of Microsoft Sign-In authentication.\n"},"clientId":{"type":"string","description":"The OAuth 2.0 client ID that was created for the app used for authentication.\n"},"clientSecretSettingName":{"type":"string","description":"The app setting name containing the OAuth 2.0 client secret that was created for the app used for authentication.\n\n!\u003e **Note:** A setting with this name must exist in \u003cspan pulumi-lang-nodejs=\"`appSettings`\" pulumi-lang-dotnet=\"`AppSettings`\" pulumi-lang-go=\"`appSettings`\" pulumi-lang-python=\"`app_settings`\" pulumi-lang-yaml=\"`appSettings`\" pulumi-lang-java=\"`appSettings`\"\u003e`app_settings`\u003c/span\u003e to function correctly.\n"},"loginScopes":{"type":"array","items":{"type":"string"},"description":"The list of Login scopes that should be requested as part of Microsoft Account authentication.\n"}},"type":"object","required":["clientId","clientSecretSettingName"]},"azure:appservice/WindowsWebAppAuthSettingsV2TwitterV2:WindowsWebAppAuthSettingsV2TwitterV2":{"properties":{"consumerKey":{"type":"string","description":"The OAuth 1.0a consumer key of the Twitter application used for sign-in.\n"},"consumerSecretSettingName":{"type":"string","description":"The app setting name that contains the OAuth 1.0a consumer secret of the Twitter application used for sign-in.\n\n!\u003e **Note:** A setting with this name must exist in \u003cspan pulumi-lang-nodejs=\"`appSettings`\" pulumi-lang-dotnet=\"`AppSettings`\" pulumi-lang-go=\"`appSettings`\" pulumi-lang-python=\"`app_settings`\" pulumi-lang-yaml=\"`appSettings`\" pulumi-lang-java=\"`appSettings`\"\u003e`app_settings`\u003c/span\u003e to function correctly.\n"}},"type":"object","required":["consumerKey","consumerSecretSettingName"]},"azure:appservice/WindowsWebAppBackup:WindowsWebAppBackup":{"properties":{"enabled":{"type":"boolean","description":"Should this backup job be enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"name":{"type":"string","description":"The name which should be used for this Backup.\n"},"schedule":{"$ref":"#/types/azure:appservice/WindowsWebAppBackupSchedule:WindowsWebAppBackupSchedule","description":"A \u003cspan pulumi-lang-nodejs=\"`schedule`\" pulumi-lang-dotnet=\"`Schedule`\" pulumi-lang-go=\"`schedule`\" pulumi-lang-python=\"`schedule`\" pulumi-lang-yaml=\"`schedule`\" pulumi-lang-java=\"`schedule`\"\u003e`schedule`\u003c/span\u003e block as defined below.\n"},"storageAccountUrl":{"type":"string","description":"The SAS URL to the container.\n","secret":true}},"type":"object","required":["name","schedule","storageAccountUrl"]},"azure:appservice/WindowsWebAppBackupSchedule:WindowsWebAppBackupSchedule":{"properties":{"frequencyInterval":{"type":"integer","description":"How often the backup should be executed (e.g. for weekly backup, this should be set to \u003cspan pulumi-lang-nodejs=\"`7`\" pulumi-lang-dotnet=\"`7`\" pulumi-lang-go=\"`7`\" pulumi-lang-python=\"`7`\" pulumi-lang-yaml=\"`7`\" pulumi-lang-java=\"`7`\"\u003e`7`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`frequencyUnit`\" pulumi-lang-dotnet=\"`FrequencyUnit`\" pulumi-lang-go=\"`frequencyUnit`\" pulumi-lang-python=\"`frequency_unit`\" pulumi-lang-yaml=\"`frequencyUnit`\" pulumi-lang-java=\"`frequencyUnit`\"\u003e`frequency_unit`\u003c/span\u003e should be set to `Day`).\n\n\u003e **Note:** Not all intervals are supported on all Windows Web App SKUs. Please refer to the official documentation for appropriate values.\n"},"frequencyUnit":{"type":"string","description":"The unit of time for how often the backup should take place. Possible values include: `Day`, `Hour`\n"},"keepAtLeastOneBackup":{"type":"boolean","description":"Should the service keep at least one backup, regardless of age of backup. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"lastExecutionTime":{"type":"string","description":"The time the backup was last attempted.\n"},"retentionPeriodDays":{"type":"integer","description":"After how many days backups should be deleted. Defaults to \u003cspan pulumi-lang-nodejs=\"`30`\" pulumi-lang-dotnet=\"`30`\" pulumi-lang-go=\"`30`\" pulumi-lang-python=\"`30`\" pulumi-lang-yaml=\"`30`\" pulumi-lang-java=\"`30`\"\u003e`30`\u003c/span\u003e.\n"},"startTime":{"type":"string","description":"When the schedule should start working in RFC-3339 format.\n"}},"type":"object","required":["frequencyInterval","frequencyUnit"],"language":{"nodejs":{"requiredOutputs":["frequencyInterval","frequencyUnit","lastExecutionTime","startTime"]}}},"azure:appservice/WindowsWebAppConnectionString:WindowsWebAppConnectionString":{"properties":{"name":{"type":"string","description":"The name of the Connection String.\n"},"type":{"type":"string","description":"Type of database. Possible values include: `APIHub`, `Custom`, `DocDb`, `EventHub`, `MySQL`, `NotificationHub`, `PostgreSQL`, `RedisCache`, `ServiceBus`, `SQLAzure`, and `SQLServer`.\n"},"value":{"type":"string","description":"The connection string value.\n","secret":true}},"type":"object","required":["name","type","value"]},"azure:appservice/WindowsWebAppIdentity:WindowsWebAppIdentity":{"properties":{"identityIds":{"type":"array","items":{"type":"string"},"description":"A list of User Assigned Managed Identity IDs to be assigned to this Windows Web App.\n\n\u003e **Note:** This is required when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to `UserAssigned` or `SystemAssigned, UserAssigned`.\n"},"principalId":{"type":"string","description":"The Principal ID associated with this Managed Service Identity.\n"},"tenantId":{"type":"string","description":"The Tenant ID associated with this Managed Service Identity.\n"},"type":{"type":"string","description":"Specifies the type of Managed Service Identity that should be configured on this Windows Web App. Possible values are `SystemAssigned`, `UserAssigned`, `SystemAssigned, UserAssigned` (to enable both).\n"}},"type":"object","required":["type"],"language":{"nodejs":{"requiredOutputs":["principalId","tenantId","type"]}}},"azure:appservice/WindowsWebAppLogs:WindowsWebAppLogs":{"properties":{"applicationLogs":{"$ref":"#/types/azure:appservice/WindowsWebAppLogsApplicationLogs:WindowsWebAppLogsApplicationLogs","description":"A \u003cspan pulumi-lang-nodejs=\"`applicationLogs`\" pulumi-lang-dotnet=\"`ApplicationLogs`\" pulumi-lang-go=\"`applicationLogs`\" pulumi-lang-python=\"`application_logs`\" pulumi-lang-yaml=\"`applicationLogs`\" pulumi-lang-java=\"`applicationLogs`\"\u003e`application_logs`\u003c/span\u003e block as defined above.\n"},"detailedErrorMessages":{"type":"boolean","description":"Should detailed error messages be enabled.\n"},"failedRequestTracing":{"type":"boolean","description":"Should tracing be enabled for failed requests.\n"},"httpLogs":{"$ref":"#/types/azure:appservice/WindowsWebAppLogsHttpLogs:WindowsWebAppLogsHttpLogs","description":"A \u003cspan pulumi-lang-nodejs=\"`httpLogs`\" pulumi-lang-dotnet=\"`HttpLogs`\" pulumi-lang-go=\"`httpLogs`\" pulumi-lang-python=\"`http_logs`\" pulumi-lang-yaml=\"`httpLogs`\" pulumi-lang-java=\"`httpLogs`\"\u003e`http_logs`\u003c/span\u003e block as defined above.\n"}},"type":"object"},"azure:appservice/WindowsWebAppLogsApplicationLogs:WindowsWebAppLogsApplicationLogs":{"properties":{"azureBlobStorage":{"$ref":"#/types/azure:appservice/WindowsWebAppLogsApplicationLogsAzureBlobStorage:WindowsWebAppLogsApplicationLogsAzureBlobStorage","description":"An \u003cspan pulumi-lang-nodejs=\"`azureBlobStorage`\" pulumi-lang-dotnet=\"`AzureBlobStorage`\" pulumi-lang-go=\"`azureBlobStorage`\" pulumi-lang-python=\"`azure_blob_storage`\" pulumi-lang-yaml=\"`azureBlobStorage`\" pulumi-lang-java=\"`azureBlobStorage`\"\u003e`azure_blob_storage`\u003c/span\u003e block as defined below.\n"},"fileSystemLevel":{"type":"string","description":"Log level. Possible values include: `Off`, `Verbose`, `Information`, `Warning`, and `Error`.\n"}},"type":"object","required":["fileSystemLevel"]},"azure:appservice/WindowsWebAppLogsApplicationLogsAzureBlobStorage:WindowsWebAppLogsApplicationLogsAzureBlobStorage":{"properties":{"level":{"type":"string","description":"The level at which to log. Possible values include `Error`, `Warning`, `Information`, `Verbose` and `Off`. **NOTE:** this field is not available for \u003cspan pulumi-lang-nodejs=\"`httpLogs`\" pulumi-lang-dotnet=\"`HttpLogs`\" pulumi-lang-go=\"`httpLogs`\" pulumi-lang-python=\"`http_logs`\" pulumi-lang-yaml=\"`httpLogs`\" pulumi-lang-java=\"`httpLogs`\"\u003e`http_logs`\u003c/span\u003e\n"},"retentionInDays":{"type":"integer","description":"The time in days after which to remove blobs. A value of \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e means no retention.\n"},"sasUrl":{"type":"string","description":"SAS url to an Azure blob container with read/write/list/delete permissions.\n\n\u003e **Note:** There isn't enough information to for the provider to generate the \u003cspan pulumi-lang-nodejs=\"`sasUrl`\" pulumi-lang-dotnet=\"`SasUrl`\" pulumi-lang-go=\"`sasUrl`\" pulumi-lang-python=\"`sas_url`\" pulumi-lang-yaml=\"`sasUrl`\" pulumi-lang-java=\"`sasUrl`\"\u003e`sas_url`\u003c/span\u003e from `data.azurerm_storage_account_sas` and it should be built by hand (i.e. `https://${azurerm_storage_account.example.name}.blob.core.windows.net/${azurerm_storage_container.example.name}${data.azurerm_storage_account_sas.example.sas}\u0026sr=b`).\n"}},"type":"object","required":["level","retentionInDays","sasUrl"]},"azure:appservice/WindowsWebAppLogsHttpLogs:WindowsWebAppLogsHttpLogs":{"properties":{"azureBlobStorage":{"$ref":"#/types/azure:appservice/WindowsWebAppLogsHttpLogsAzureBlobStorage:WindowsWebAppLogsHttpLogsAzureBlobStorage","description":"A \u003cspan pulumi-lang-nodejs=\"`azureBlobStorageHttp`\" pulumi-lang-dotnet=\"`AzureBlobStorageHttp`\" pulumi-lang-go=\"`azureBlobStorageHttp`\" pulumi-lang-python=\"`azure_blob_storage_http`\" pulumi-lang-yaml=\"`azureBlobStorageHttp`\" pulumi-lang-java=\"`azureBlobStorageHttp`\"\u003e`azure_blob_storage_http`\u003c/span\u003e block as defined below.\n"},"fileSystem":{"$ref":"#/types/azure:appservice/WindowsWebAppLogsHttpLogsFileSystem:WindowsWebAppLogsHttpLogsFileSystem","description":"A \u003cspan pulumi-lang-nodejs=\"`fileSystem`\" pulumi-lang-dotnet=\"`FileSystem`\" pulumi-lang-go=\"`fileSystem`\" pulumi-lang-python=\"`file_system`\" pulumi-lang-yaml=\"`fileSystem`\" pulumi-lang-java=\"`fileSystem`\"\u003e`file_system`\u003c/span\u003e block as defined above.\n"}},"type":"object"},"azure:appservice/WindowsWebAppLogsHttpLogsAzureBlobStorage:WindowsWebAppLogsHttpLogsAzureBlobStorage":{"properties":{"retentionInDays":{"type":"integer","description":"The time in days after which to remove blobs. A value of \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e means no retention.\n"},"sasUrl":{"type":"string","description":"SAS url to an Azure blob container with read/write/list/delete permissions.\n\n\u003e **Note:** There isn't enough information to for the provider to generate the \u003cspan pulumi-lang-nodejs=\"`sasUrl`\" pulumi-lang-dotnet=\"`SasUrl`\" pulumi-lang-go=\"`sasUrl`\" pulumi-lang-python=\"`sas_url`\" pulumi-lang-yaml=\"`sasUrl`\" pulumi-lang-java=\"`sasUrl`\"\u003e`sas_url`\u003c/span\u003e from `data.azurerm_storage_account_sas` and it should be built by hand (i.e. `https://${azurerm_storage_account.example.name}.blob.core.windows.net/${azurerm_storage_container.example.name}${data.azurerm_storage_account_sas.example.sas}\u0026sr=b`).\n","secret":true}},"type":"object","required":["sasUrl"]},"azure:appservice/WindowsWebAppLogsHttpLogsFileSystem:WindowsWebAppLogsHttpLogsFileSystem":{"properties":{"retentionInDays":{"type":"integer","description":"The retention period in days. A values of \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e means no retention.\n"},"retentionInMb":{"type":"integer","description":"The maximum size in megabytes that log files can use.\n"}},"type":"object","required":["retentionInDays","retentionInMb"]},"azure:appservice/WindowsWebAppSiteConfig:WindowsWebAppSiteConfig":{"properties":{"alwaysOn":{"type":"boolean","description":"If this Windows Web App is Always On enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`alwaysOn`\" pulumi-lang-dotnet=\"`AlwaysOn`\" pulumi-lang-go=\"`alwaysOn`\" pulumi-lang-python=\"`always_on`\" pulumi-lang-yaml=\"`alwaysOn`\" pulumi-lang-java=\"`alwaysOn`\"\u003e`always_on`\u003c/span\u003e must be explicitly set to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e when using `Free`, `F1`, `D1`, or `Shared` Service Plans.\n"},"apiDefinitionUrl":{"type":"string","description":"The URL to the API Definition for this Windows Web App.\n"},"apiManagementApiId":{"type":"string","description":"The API Management API ID this Windows Web App Slot is associated with.\n"},"appCommandLine":{"type":"string","description":"The App command line to launch.\n"},"applicationStack":{"$ref":"#/types/azure:appservice/WindowsWebAppSiteConfigApplicationStack:WindowsWebAppSiteConfigApplicationStack","description":"A \u003cspan pulumi-lang-nodejs=\"`applicationStack`\" pulumi-lang-dotnet=\"`ApplicationStack`\" pulumi-lang-go=\"`applicationStack`\" pulumi-lang-python=\"`application_stack`\" pulumi-lang-yaml=\"`applicationStack`\" pulumi-lang-java=\"`applicationStack`\"\u003e`application_stack`\u003c/span\u003e block as defined above.\n"},"autoHealSetting":{"$ref":"#/types/azure:appservice/WindowsWebAppSiteConfigAutoHealSetting:WindowsWebAppSiteConfigAutoHealSetting","description":"A \u003cspan pulumi-lang-nodejs=\"`autoHealSetting`\" pulumi-lang-dotnet=\"`AutoHealSetting`\" pulumi-lang-go=\"`autoHealSetting`\" pulumi-lang-python=\"`auto_heal_setting`\" pulumi-lang-yaml=\"`autoHealSetting`\" pulumi-lang-java=\"`autoHealSetting`\"\u003e`auto_heal_setting`\u003c/span\u003e block as defined above. Required with \u003cspan pulumi-lang-nodejs=\"`autoHeal`\" pulumi-lang-dotnet=\"`AutoHeal`\" pulumi-lang-go=\"`autoHeal`\" pulumi-lang-python=\"`auto_heal`\" pulumi-lang-yaml=\"`autoHeal`\" pulumi-lang-java=\"`autoHeal`\"\u003e`auto_heal`\u003c/span\u003e.\n"},"containerRegistryManagedIdentityClientId":{"type":"string","description":"The Client ID of the Managed Service Identity to use for connections to the Azure Container Registry.\n"},"containerRegistryUseManagedIdentity":{"type":"boolean","description":"Should connections for Azure Container Registry use Managed Identity.\n"},"cors":{"$ref":"#/types/azure:appservice/WindowsWebAppSiteConfigCors:WindowsWebAppSiteConfigCors","description":"A \u003cspan pulumi-lang-nodejs=\"`cors`\" pulumi-lang-dotnet=\"`Cors`\" pulumi-lang-go=\"`cors`\" pulumi-lang-python=\"`cors`\" pulumi-lang-yaml=\"`cors`\" pulumi-lang-java=\"`cors`\"\u003e`cors`\u003c/span\u003e block as defined above.\n"},"defaultDocuments":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Default Documents for the Windows Web App.\n"},"detailedErrorLoggingEnabled":{"type":"boolean"},"ftpsState":{"type":"string","description":"The State of FTP / FTPS service. Possible values include: `AllAllowed`, `FtpsOnly`, `Disabled`. Defaults to `Disabled`.\n\n\u003e **Note:** Azure defaults this value to `AllAllowed`, however, in the interests of security Terraform will default this to `Disabled` to ensure the user makes a conscious choice to enable it.\n"},"handlerMappings":{"type":"array","items":{"$ref":"#/types/azure:appservice/WindowsWebAppSiteConfigHandlerMapping:WindowsWebAppSiteConfigHandlerMapping"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`handlerMapping`\" pulumi-lang-dotnet=\"`HandlerMapping`\" pulumi-lang-go=\"`handlerMapping`\" pulumi-lang-python=\"`handler_mapping`\" pulumi-lang-yaml=\"`handlerMapping`\" pulumi-lang-java=\"`handlerMapping`\"\u003e`handler_mapping`\u003c/span\u003e blocks as defined below.\n"},"healthCheckEvictionTimeInMin":{"type":"integer","description":"The amount of time in minutes that a node can be unhealthy before being removed from the load balancer. Possible values are between \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`10`\" pulumi-lang-dotnet=\"`10`\" pulumi-lang-go=\"`10`\" pulumi-lang-python=\"`10`\" pulumi-lang-yaml=\"`10`\" pulumi-lang-java=\"`10`\"\u003e`10`\u003c/span\u003e. Only valid in conjunction with \u003cspan pulumi-lang-nodejs=\"`healthCheckPath`\" pulumi-lang-dotnet=\"`HealthCheckPath`\" pulumi-lang-go=\"`healthCheckPath`\" pulumi-lang-python=\"`health_check_path`\" pulumi-lang-yaml=\"`healthCheckPath`\" pulumi-lang-java=\"`healthCheckPath`\"\u003e`health_check_path`\u003c/span\u003e.\n"},"healthCheckPath":{"type":"string","description":"The path to the Health Check.\n"},"http2Enabled":{"type":"boolean","description":"Should the HTTP2 be enabled?\n"},"ipRestrictionDefaultAction":{"type":"string","description":"The Default action for traffic that does not match any \u003cspan pulumi-lang-nodejs=\"`ipRestriction`\" pulumi-lang-dotnet=\"`IpRestriction`\" pulumi-lang-go=\"`ipRestriction`\" pulumi-lang-python=\"`ip_restriction`\" pulumi-lang-yaml=\"`ipRestriction`\" pulumi-lang-java=\"`ipRestriction`\"\u003e`ip_restriction`\u003c/span\u003e rule. possible values include `Allow` and `Deny`. Defaults to `Allow`.\n"},"ipRestrictions":{"type":"array","items":{"$ref":"#/types/azure:appservice/WindowsWebAppSiteConfigIpRestriction:WindowsWebAppSiteConfigIpRestriction"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`ipRestriction`\" pulumi-lang-dotnet=\"`IpRestriction`\" pulumi-lang-go=\"`ipRestriction`\" pulumi-lang-python=\"`ip_restriction`\" pulumi-lang-yaml=\"`ipRestriction`\" pulumi-lang-java=\"`ipRestriction`\"\u003e`ip_restriction`\u003c/span\u003e blocks as defined above.\n"},"linuxFxVersion":{"type":"string"},"loadBalancingMode":{"type":"string","description":"The Site load balancing. Possible values include: `WeightedRoundRobin`, `LeastRequests`, `LeastResponseTime`, `WeightedTotalTraffic`, `RequestHash`, `PerSiteRoundRobin`. Defaults to `LeastRequests` if omitted.\n"},"localMysqlEnabled":{"type":"boolean","description":"Use Local MySQL. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"managedPipelineMode":{"type":"string","description":"Managed pipeline mode. Possible values include: `Integrated`, `Classic`. Defaults to `Integrated`.\n"},"minimumTlsVersion":{"type":"string","description":"The configures the minimum version of TLS required for SSL requests. Possible values include: `1.0`, `1.1`, `1.2` and `1.3`. Defaults to `1.2`.\n"},"remoteDebuggingEnabled":{"type":"boolean","description":"Should Remote Debugging be enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"remoteDebuggingVersion":{"type":"string","description":"The Remote Debugging Version. Currently only `VS2022` is supported.\n"},"scmIpRestrictionDefaultAction":{"type":"string","description":"The Default action for traffic that does not match any \u003cspan pulumi-lang-nodejs=\"`scmIpRestriction`\" pulumi-lang-dotnet=\"`ScmIpRestriction`\" pulumi-lang-go=\"`scmIpRestriction`\" pulumi-lang-python=\"`scm_ip_restriction`\" pulumi-lang-yaml=\"`scmIpRestriction`\" pulumi-lang-java=\"`scmIpRestriction`\"\u003e`scm_ip_restriction`\u003c/span\u003e rule. possible values include `Allow` and `Deny`. Defaults to `Allow`.\n"},"scmIpRestrictions":{"type":"array","items":{"$ref":"#/types/azure:appservice/WindowsWebAppSiteConfigScmIpRestriction:WindowsWebAppSiteConfigScmIpRestriction"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`scmIpRestriction`\" pulumi-lang-dotnet=\"`ScmIpRestriction`\" pulumi-lang-go=\"`scmIpRestriction`\" pulumi-lang-python=\"`scm_ip_restriction`\" pulumi-lang-yaml=\"`scmIpRestriction`\" pulumi-lang-java=\"`scmIpRestriction`\"\u003e`scm_ip_restriction`\u003c/span\u003e blocks as defined above.\n"},"scmMinimumTlsVersion":{"type":"string","description":"The configures the minimum version of TLS required for SSL requests to the SCM site Possible values are `1.0`, `1.1`, `1.2` and `1.3`. Defaults to `1.2`.\n"},"scmType":{"type":"string"},"scmUseMainIpRestriction":{"type":"boolean","description":"Should the Windows Web App \u003cspan pulumi-lang-nodejs=\"`ipRestriction`\" pulumi-lang-dotnet=\"`IpRestriction`\" pulumi-lang-go=\"`ipRestriction`\" pulumi-lang-python=\"`ip_restriction`\" pulumi-lang-yaml=\"`ipRestriction`\" pulumi-lang-java=\"`ipRestriction`\"\u003e`ip_restriction`\u003c/span\u003e configuration be used for the SCM also.\n"},"use32BitWorker":{"type":"boolean","description":"Should the Windows Web App use a 32-bit worker. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"virtualApplications":{"type":"array","items":{"$ref":"#/types/azure:appservice/WindowsWebAppSiteConfigVirtualApplication:WindowsWebAppSiteConfigVirtualApplication"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`virtualApplication`\" pulumi-lang-dotnet=\"`VirtualApplication`\" pulumi-lang-go=\"`virtualApplication`\" pulumi-lang-python=\"`virtual_application`\" pulumi-lang-yaml=\"`virtualApplication`\" pulumi-lang-java=\"`virtualApplication`\"\u003e`virtual_application`\u003c/span\u003e blocks as defined below.\n"},"vnetRouteAllEnabled":{"type":"boolean","description":"Should all outbound traffic to have NAT Gateways, Network Security Groups and User Defined Routes applied? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"websocketsEnabled":{"type":"boolean","description":"Should Web Sockets be enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"windowsFxVersion":{"type":"string"},"workerCount":{"type":"integer","description":"The number of Workers for this Windows App Service.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["applicationStack","defaultDocuments","detailedErrorLoggingEnabled","linuxFxVersion","remoteDebuggingVersion","scmType","windowsFxVersion","workerCount"]}}},"azure:appservice/WindowsWebAppSiteConfigApplicationStack:WindowsWebAppSiteConfigApplicationStack":{"properties":{"currentStack":{"type":"string","description":"The Application Stack for the Windows Web App. Possible values include \u003cspan pulumi-lang-nodejs=\"`dotnet`\" pulumi-lang-dotnet=\"`Dotnet`\" pulumi-lang-go=\"`dotnet`\" pulumi-lang-python=\"`dotnet`\" pulumi-lang-yaml=\"`dotnet`\" pulumi-lang-java=\"`dotnet`\"\u003e`dotnet`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`dotnetcore`\" pulumi-lang-dotnet=\"`Dotnetcore`\" pulumi-lang-go=\"`dotnetcore`\" pulumi-lang-python=\"`dotnetcore`\" pulumi-lang-yaml=\"`dotnetcore`\" pulumi-lang-java=\"`dotnetcore`\"\u003e`dotnetcore`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`node`\" pulumi-lang-dotnet=\"`Node`\" pulumi-lang-go=\"`node`\" pulumi-lang-python=\"`node`\" pulumi-lang-yaml=\"`node`\" pulumi-lang-java=\"`node`\"\u003e`node`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`python`\" pulumi-lang-dotnet=\"`Python`\" pulumi-lang-go=\"`python`\" pulumi-lang-python=\"`python`\" pulumi-lang-yaml=\"`python`\" pulumi-lang-java=\"`python`\"\u003e`python`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`php`\" pulumi-lang-dotnet=\"`Php`\" pulumi-lang-go=\"`php`\" pulumi-lang-python=\"`php`\" pulumi-lang-yaml=\"`php`\" pulumi-lang-java=\"`php`\"\u003e`php`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`java`\" pulumi-lang-dotnet=\"`Java`\" pulumi-lang-go=\"`java`\" pulumi-lang-python=\"`java`\" pulumi-lang-yaml=\"`java`\" pulumi-lang-java=\"`java`\"\u003e`java`\u003c/span\u003e.\n\n\u003e **Note:** Whilst this property is Optional omitting it can cause unexpected behaviour, in particular for display of settings in the Azure Portal.\n\n\u003e **Note:** Windows Web apps can configure multiple \u003cspan pulumi-lang-nodejs=\"`appStack`\" pulumi-lang-dotnet=\"`AppStack`\" pulumi-lang-go=\"`appStack`\" pulumi-lang-python=\"`app_stack`\" pulumi-lang-yaml=\"`appStack`\" pulumi-lang-java=\"`appStack`\"\u003e`app_stack`\u003c/span\u003e properties, it is recommended to always configure this `Optional` value and set it to the primary application stack of your app to ensure correct operation of this resource and display the correct metadata in the Azure Portal.\n"},"dockerImageName":{"type":"string","description":"The docker image, including tag, to be used. e.g. `azure-app-service/windows/parkingpage:latest`.\n"},"dockerRegistryPassword":{"type":"string","description":"The User Name to use for authentication against the registry to pull the image.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`dockerRegistryUrl`\" pulumi-lang-dotnet=\"`DockerRegistryUrl`\" pulumi-lang-go=\"`dockerRegistryUrl`\" pulumi-lang-python=\"`docker_registry_url`\" pulumi-lang-yaml=\"`dockerRegistryUrl`\" pulumi-lang-java=\"`dockerRegistryUrl`\"\u003e`docker_registry_url`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`dockerRegistryUsername`\" pulumi-lang-dotnet=\"`DockerRegistryUsername`\" pulumi-lang-go=\"`dockerRegistryUsername`\" pulumi-lang-python=\"`docker_registry_username`\" pulumi-lang-yaml=\"`dockerRegistryUsername`\" pulumi-lang-java=\"`dockerRegistryUsername`\"\u003e`docker_registry_username`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`dockerRegistryPassword`\" pulumi-lang-dotnet=\"`DockerRegistryPassword`\" pulumi-lang-go=\"`dockerRegistryPassword`\" pulumi-lang-python=\"`docker_registry_password`\" pulumi-lang-yaml=\"`dockerRegistryPassword`\" pulumi-lang-java=\"`dockerRegistryPassword`\"\u003e`docker_registry_password`\u003c/span\u003e replace the use of the \u003cspan pulumi-lang-nodejs=\"`appSettings`\" pulumi-lang-dotnet=\"`AppSettings`\" pulumi-lang-go=\"`appSettings`\" pulumi-lang-python=\"`app_settings`\" pulumi-lang-yaml=\"`appSettings`\" pulumi-lang-java=\"`appSettings`\"\u003e`app_settings`\u003c/span\u003e values of `DOCKER_REGISTRY_SERVER_URL`, `DOCKER_REGISTRY_SERVER_USERNAME` and `DOCKER_REGISTRY_SERVER_PASSWORD` respectively, these values will be managed by the provider and should not be specified in the \u003cspan pulumi-lang-nodejs=\"`appSettings`\" pulumi-lang-dotnet=\"`AppSettings`\" pulumi-lang-go=\"`appSettings`\" pulumi-lang-python=\"`app_settings`\" pulumi-lang-yaml=\"`appSettings`\" pulumi-lang-java=\"`appSettings`\"\u003e`app_settings`\u003c/span\u003e map.\n","secret":true},"dockerRegistryUrl":{"type":"string","description":"The URL of the container registry where the \u003cspan pulumi-lang-nodejs=\"`dockerImageName`\" pulumi-lang-dotnet=\"`DockerImageName`\" pulumi-lang-go=\"`dockerImageName`\" pulumi-lang-python=\"`docker_image_name`\" pulumi-lang-yaml=\"`dockerImageName`\" pulumi-lang-java=\"`dockerImageName`\"\u003e`docker_image_name`\u003c/span\u003e is located. e.g. `https://index.docker.io` or `https://mcr.microsoft.com`. This value is required with \u003cspan pulumi-lang-nodejs=\"`dockerImageName`\" pulumi-lang-dotnet=\"`DockerImageName`\" pulumi-lang-go=\"`dockerImageName`\" pulumi-lang-python=\"`docker_image_name`\" pulumi-lang-yaml=\"`dockerImageName`\" pulumi-lang-java=\"`dockerImageName`\"\u003e`docker_image_name`\u003c/span\u003e.\n"},"dockerRegistryUsername":{"type":"string","description":"The User Name to use for authentication against the registry to pull the image.\n"},"dotnetCoreVersion":{"type":"string","description":"The version of .NET to use when \u003cspan pulumi-lang-nodejs=\"`currentStack`\" pulumi-lang-dotnet=\"`CurrentStack`\" pulumi-lang-go=\"`currentStack`\" pulumi-lang-python=\"`current_stack`\" pulumi-lang-yaml=\"`currentStack`\" pulumi-lang-java=\"`currentStack`\"\u003e`current_stack`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`dotnetcore`\" pulumi-lang-dotnet=\"`Dotnetcore`\" pulumi-lang-go=\"`dotnetcore`\" pulumi-lang-python=\"`dotnetcore`\" pulumi-lang-yaml=\"`dotnetcore`\" pulumi-lang-java=\"`dotnetcore`\"\u003e`dotnetcore`\u003c/span\u003e. Possible values include `v4.0`.\n"},"dotnetVersion":{"type":"string","description":"The version of .NET to use when \u003cspan pulumi-lang-nodejs=\"`currentStack`\" pulumi-lang-dotnet=\"`CurrentStack`\" pulumi-lang-go=\"`currentStack`\" pulumi-lang-python=\"`current_stack`\" pulumi-lang-yaml=\"`currentStack`\" pulumi-lang-java=\"`currentStack`\"\u003e`current_stack`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`dotnet`\" pulumi-lang-dotnet=\"`Dotnet`\" pulumi-lang-go=\"`dotnet`\" pulumi-lang-python=\"`dotnet`\" pulumi-lang-yaml=\"`dotnet`\" pulumi-lang-java=\"`dotnet`\"\u003e`dotnet`\u003c/span\u003e. Possible values include `v2.0`,`v3.0`, `v4.0`, `v5.0`, `v6.0`, `v7.0`, `v8.0`, `v9.0` and `v10.0`.\n\n\u003e **Note:** The Portal displayed values and the actual underlying API values differ for this setting, as follows:\nPortal Value | API value\n:--|--:\nASP.NET V3.5 | v2.0\nASP.NET V4.8 | v4.0\n.NET 6 (LTS) | v6.0\n.NET 7 (STS) | v7.0\n.NET 8 (LTS) | v8.0\n.NET 9 (STS) | v9.0\n.NET 10 (LTS) | v10.0\n"},"javaContainer":{"type":"string","deprecationMessage":"this property has been deprecated in favour of \u003cspan pulumi-lang-nodejs=\"`tomcatVersion`\" pulumi-lang-dotnet=\"`TomcatVersion`\" pulumi-lang-go=\"`tomcatVersion`\" pulumi-lang-python=\"`tomcat_version`\" pulumi-lang-yaml=\"`tomcatVersion`\" pulumi-lang-java=\"`tomcatVersion`\"\u003e`tomcat_version`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`javaEmbeddedServerEnabled`\" pulumi-lang-dotnet=\"`JavaEmbeddedServerEnabled`\" pulumi-lang-go=\"`javaEmbeddedServerEnabled`\" pulumi-lang-python=\"`java_embedded_server_enabled`\" pulumi-lang-yaml=\"`javaEmbeddedServerEnabled`\" pulumi-lang-java=\"`javaEmbeddedServerEnabled`\"\u003e`java_embedded_server_enabled`\u003c/span\u003e"},"javaContainerVersion":{"type":"string","deprecationMessage":"This property has been deprecated in favour of \u003cspan pulumi-lang-nodejs=\"`tomcatVersion`\" pulumi-lang-dotnet=\"`TomcatVersion`\" pulumi-lang-go=\"`tomcatVersion`\" pulumi-lang-python=\"`tomcat_version`\" pulumi-lang-yaml=\"`tomcatVersion`\" pulumi-lang-java=\"`tomcatVersion`\"\u003e`tomcat_version`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`javaEmbeddedServerEnabled`\" pulumi-lang-dotnet=\"`JavaEmbeddedServerEnabled`\" pulumi-lang-go=\"`javaEmbeddedServerEnabled`\" pulumi-lang-python=\"`java_embedded_server_enabled`\" pulumi-lang-yaml=\"`javaEmbeddedServerEnabled`\" pulumi-lang-java=\"`javaEmbeddedServerEnabled`\"\u003e`java_embedded_server_enabled`\u003c/span\u003e"},"javaEmbeddedServerEnabled":{"type":"boolean","description":"Should the Java Embedded Server (Java SE) be used to run the app.\n"},"javaVersion":{"type":"string","description":"The version of Java to use when \u003cspan pulumi-lang-nodejs=\"`currentStack`\" pulumi-lang-dotnet=\"`CurrentStack`\" pulumi-lang-go=\"`currentStack`\" pulumi-lang-python=\"`current_stack`\" pulumi-lang-yaml=\"`currentStack`\" pulumi-lang-java=\"`currentStack`\"\u003e`current_stack`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`java`\" pulumi-lang-dotnet=\"`Java`\" pulumi-lang-go=\"`java`\" pulumi-lang-python=\"`java`\" pulumi-lang-yaml=\"`java`\" pulumi-lang-java=\"`java`\"\u003e`java`\u003c/span\u003e. \n\n\u003e **Note:** For currently supported versions, please see the official documentation. Some example values include: `1.8`, `1.8.0_322`,  \u003cspan pulumi-lang-nodejs=\"`11`\" pulumi-lang-dotnet=\"`11`\" pulumi-lang-go=\"`11`\" pulumi-lang-python=\"`11`\" pulumi-lang-yaml=\"`11`\" pulumi-lang-java=\"`11`\"\u003e`11`\u003c/span\u003e, `11.0.14`, \u003cspan pulumi-lang-nodejs=\"`17`\" pulumi-lang-dotnet=\"`17`\" pulumi-lang-go=\"`17`\" pulumi-lang-python=\"`17`\" pulumi-lang-yaml=\"`17`\" pulumi-lang-java=\"`17`\"\u003e`17`\u003c/span\u003e and `17.0.2`\n"},"nodeVersion":{"type":"string","description":"The version of node to use when \u003cspan pulumi-lang-nodejs=\"`currentStack`\" pulumi-lang-dotnet=\"`CurrentStack`\" pulumi-lang-go=\"`currentStack`\" pulumi-lang-python=\"`current_stack`\" pulumi-lang-yaml=\"`currentStack`\" pulumi-lang-java=\"`currentStack`\"\u003e`current_stack`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`node`\" pulumi-lang-dotnet=\"`Node`\" pulumi-lang-go=\"`node`\" pulumi-lang-python=\"`node`\" pulumi-lang-yaml=\"`node`\" pulumi-lang-java=\"`node`\"\u003e`node`\u003c/span\u003e. Possible values are `~12`, `~14`, `~16`, `~18`, `~20` and `~22`.\n\n\u003e **Note:** This property conflicts with \u003cspan pulumi-lang-nodejs=\"`javaVersion`\" pulumi-lang-dotnet=\"`JavaVersion`\" pulumi-lang-go=\"`javaVersion`\" pulumi-lang-python=\"`java_version`\" pulumi-lang-yaml=\"`javaVersion`\" pulumi-lang-java=\"`javaVersion`\"\u003e`java_version`\u003c/span\u003e.\n"},"phpVersion":{"type":"string","description":"The version of PHP to use when \u003cspan pulumi-lang-nodejs=\"`currentStack`\" pulumi-lang-dotnet=\"`CurrentStack`\" pulumi-lang-go=\"`currentStack`\" pulumi-lang-python=\"`current_stack`\" pulumi-lang-yaml=\"`currentStack`\" pulumi-lang-java=\"`currentStack`\"\u003e`current_stack`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`php`\" pulumi-lang-dotnet=\"`Php`\" pulumi-lang-go=\"`php`\" pulumi-lang-python=\"`php`\" pulumi-lang-yaml=\"`php`\" pulumi-lang-java=\"`php`\"\u003e`php`\u003c/span\u003e. Possible values are `7.1`, `7.4` and `Off`.\n\n\u003e **Note:** The value `Off` is used to signify latest supported by the service.\n"},"python":{"type":"boolean","description":"Specifies whether this is a Python app. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"tomcatVersion":{"type":"string","description":"The version of Tomcat the Java App should use. Conflicts with \u003cspan pulumi-lang-nodejs=\"`javaEmbeddedServerEnabled`\" pulumi-lang-dotnet=\"`JavaEmbeddedServerEnabled`\" pulumi-lang-go=\"`javaEmbeddedServerEnabled`\" pulumi-lang-python=\"`java_embedded_server_enabled`\" pulumi-lang-yaml=\"`javaEmbeddedServerEnabled`\" pulumi-lang-java=\"`javaEmbeddedServerEnabled`\"\u003e`java_embedded_server_enabled`\u003c/span\u003e\n\n\u003e **Note:** See the official documentation for current supported versions. Some example values include: `10.0`, `10.0.20`.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["currentStack","dotnetVersion","javaEmbeddedServerEnabled","phpVersion"]}}},"azure:appservice/WindowsWebAppSiteConfigAutoHealSetting:WindowsWebAppSiteConfigAutoHealSetting":{"properties":{"action":{"$ref":"#/types/azure:appservice/WindowsWebAppSiteConfigAutoHealSettingAction:WindowsWebAppSiteConfigAutoHealSettingAction","description":"An \u003cspan pulumi-lang-nodejs=\"`action`\" pulumi-lang-dotnet=\"`Action`\" pulumi-lang-go=\"`action`\" pulumi-lang-python=\"`action`\" pulumi-lang-yaml=\"`action`\" pulumi-lang-java=\"`action`\"\u003e`action`\u003c/span\u003e block as defined above.\n"},"trigger":{"$ref":"#/types/azure:appservice/WindowsWebAppSiteConfigAutoHealSettingTrigger:WindowsWebAppSiteConfigAutoHealSettingTrigger","description":"A \u003cspan pulumi-lang-nodejs=\"`trigger`\" pulumi-lang-dotnet=\"`Trigger`\" pulumi-lang-go=\"`trigger`\" pulumi-lang-python=\"`trigger`\" pulumi-lang-yaml=\"`trigger`\" pulumi-lang-java=\"`trigger`\"\u003e`trigger`\u003c/span\u003e block as defined below.\n"}},"type":"object","required":["action","trigger"]},"azure:appservice/WindowsWebAppSiteConfigAutoHealSettingAction:WindowsWebAppSiteConfigAutoHealSettingAction":{"properties":{"actionType":{"type":"string","description":"Predefined action to be taken to an Auto Heal trigger. Possible values include: `Recycle`, `LogEvent`, and `CustomAction`.\n"},"customAction":{"$ref":"#/types/azure:appservice/WindowsWebAppSiteConfigAutoHealSettingActionCustomAction:WindowsWebAppSiteConfigAutoHealSettingActionCustomAction","description":"A \u003cspan pulumi-lang-nodejs=\"`customAction`\" pulumi-lang-dotnet=\"`CustomAction`\" pulumi-lang-go=\"`customAction`\" pulumi-lang-python=\"`custom_action`\" pulumi-lang-yaml=\"`customAction`\" pulumi-lang-java=\"`customAction`\"\u003e`custom_action`\u003c/span\u003e block as defined below.\n"},"minimumProcessExecutionTime":{"type":"string","description":"The minimum amount of time in `hh:mm:ss` the Windows Web App must have been running before the defined action will be run in the event of a trigger.\n"}},"type":"object","required":["actionType"],"language":{"nodejs":{"requiredOutputs":["actionType","minimumProcessExecutionTime"]}}},"azure:appservice/WindowsWebAppSiteConfigAutoHealSettingActionCustomAction:WindowsWebAppSiteConfigAutoHealSettingActionCustomAction":{"properties":{"executable":{"type":"string","description":"The executable to run for the \u003cspan pulumi-lang-nodejs=\"`customAction`\" pulumi-lang-dotnet=\"`CustomAction`\" pulumi-lang-go=\"`customAction`\" pulumi-lang-python=\"`custom_action`\" pulumi-lang-yaml=\"`customAction`\" pulumi-lang-java=\"`customAction`\"\u003e`custom_action`\u003c/span\u003e.\n"},"parameters":{"type":"string","description":"The parameters to pass to the specified \u003cspan pulumi-lang-nodejs=\"`executable`\" pulumi-lang-dotnet=\"`Executable`\" pulumi-lang-go=\"`executable`\" pulumi-lang-python=\"`executable`\" pulumi-lang-yaml=\"`executable`\" pulumi-lang-java=\"`executable`\"\u003e`executable`\u003c/span\u003e.\n"}},"type":"object","required":["executable"]},"azure:appservice/WindowsWebAppSiteConfigAutoHealSettingTrigger:WindowsWebAppSiteConfigAutoHealSettingTrigger":{"properties":{"privateMemoryKb":{"type":"integer","description":"The amount of Private Memory to be consumed for this rule to trigger. Possible values are between \u003cspan pulumi-lang-nodejs=\"`102400`\" pulumi-lang-dotnet=\"`102400`\" pulumi-lang-go=\"`102400`\" pulumi-lang-python=\"`102400`\" pulumi-lang-yaml=\"`102400`\" pulumi-lang-java=\"`102400`\"\u003e`102400`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`13631488`\" pulumi-lang-dotnet=\"`13631488`\" pulumi-lang-go=\"`13631488`\" pulumi-lang-python=\"`13631488`\" pulumi-lang-yaml=\"`13631488`\" pulumi-lang-java=\"`13631488`\"\u003e`13631488`\u003c/span\u003e.\n"},"requests":{"$ref":"#/types/azure:appservice/WindowsWebAppSiteConfigAutoHealSettingTriggerRequests:WindowsWebAppSiteConfigAutoHealSettingTriggerRequests","description":"A \u003cspan pulumi-lang-nodejs=\"`requests`\" pulumi-lang-dotnet=\"`Requests`\" pulumi-lang-go=\"`requests`\" pulumi-lang-python=\"`requests`\" pulumi-lang-yaml=\"`requests`\" pulumi-lang-java=\"`requests`\"\u003e`requests`\u003c/span\u003e block as defined above.\n"},"slowRequest":{"$ref":"#/types/azure:appservice/WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequest:WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequest","description":"A \u003cspan pulumi-lang-nodejs=\"`slowRequest`\" pulumi-lang-dotnet=\"`SlowRequest`\" pulumi-lang-go=\"`slowRequest`\" pulumi-lang-python=\"`slow_request`\" pulumi-lang-yaml=\"`slowRequest`\" pulumi-lang-java=\"`slowRequest`\"\u003e`slow_request`\u003c/span\u003e block as defined above.\n"},"slowRequestWithPaths":{"type":"array","items":{"$ref":"#/types/azure:appservice/WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPath:WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPath"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`slowRequestWithPath`\" pulumi-lang-dotnet=\"`SlowRequestWithPath`\" pulumi-lang-go=\"`slowRequestWithPath`\" pulumi-lang-python=\"`slow_request_with_path`\" pulumi-lang-yaml=\"`slowRequestWithPath`\" pulumi-lang-java=\"`slowRequestWithPath`\"\u003e`slow_request_with_path`\u003c/span\u003e blocks as defined above.\n"},"statusCodes":{"type":"array","items":{"$ref":"#/types/azure:appservice/WindowsWebAppSiteConfigAutoHealSettingTriggerStatusCode:WindowsWebAppSiteConfigAutoHealSettingTriggerStatusCode"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`statusCode`\" pulumi-lang-dotnet=\"`StatusCode`\" pulumi-lang-go=\"`statusCode`\" pulumi-lang-python=\"`status_code`\" pulumi-lang-yaml=\"`statusCode`\" pulumi-lang-java=\"`statusCode`\"\u003e`status_code`\u003c/span\u003e blocks as defined above.\n"}},"type":"object"},"azure:appservice/WindowsWebAppSiteConfigAutoHealSettingTriggerRequests:WindowsWebAppSiteConfigAutoHealSettingTriggerRequests":{"properties":{"count":{"type":"integer","description":"The number of requests in the specified \u003cspan pulumi-lang-nodejs=\"`interval`\" pulumi-lang-dotnet=\"`Interval`\" pulumi-lang-go=\"`interval`\" pulumi-lang-python=\"`interval`\" pulumi-lang-yaml=\"`interval`\" pulumi-lang-java=\"`interval`\"\u003e`interval`\u003c/span\u003e to trigger this rule.\n"},"interval":{"type":"string","description":"The interval in `hh:mm:ss`.\n"}},"type":"object","required":["count","interval"]},"azure:appservice/WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequest:WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequest":{"properties":{"count":{"type":"integer","description":"The number of Slow Requests in the time \u003cspan pulumi-lang-nodejs=\"`interval`\" pulumi-lang-dotnet=\"`Interval`\" pulumi-lang-go=\"`interval`\" pulumi-lang-python=\"`interval`\" pulumi-lang-yaml=\"`interval`\" pulumi-lang-java=\"`interval`\"\u003e`interval`\u003c/span\u003e to trigger this rule.\n"},"interval":{"type":"string","description":"The time interval in the form `hh:mm:ss`.\n"},"timeTaken":{"type":"string","description":"The threshold of time passed to qualify as a Slow Request in `hh:mm:ss`.\n"}},"type":"object","required":["count","interval","timeTaken"]},"azure:appservice/WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPath:WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPath":{"properties":{"count":{"type":"integer","description":"The number of Slow Requests in the time \u003cspan pulumi-lang-nodejs=\"`interval`\" pulumi-lang-dotnet=\"`Interval`\" pulumi-lang-go=\"`interval`\" pulumi-lang-python=\"`interval`\" pulumi-lang-yaml=\"`interval`\" pulumi-lang-java=\"`interval`\"\u003e`interval`\u003c/span\u003e to trigger this rule.\n"},"interval":{"type":"string","description":"The time interval in the form `hh:mm:ss`.\n"},"path":{"type":"string","description":"The path for which this slow request rule applies.\n"},"timeTaken":{"type":"string","description":"The threshold of time passed to qualify as a Slow Request in `hh:mm:ss`.\n"}},"type":"object","required":["count","interval","timeTaken"]},"azure:appservice/WindowsWebAppSiteConfigAutoHealSettingTriggerStatusCode:WindowsWebAppSiteConfigAutoHealSettingTriggerStatusCode":{"properties":{"count":{"type":"integer","description":"The number of occurrences of the defined \u003cspan pulumi-lang-nodejs=\"`statusCode`\" pulumi-lang-dotnet=\"`StatusCode`\" pulumi-lang-go=\"`statusCode`\" pulumi-lang-python=\"`status_code`\" pulumi-lang-yaml=\"`statusCode`\" pulumi-lang-java=\"`statusCode`\"\u003e`status_code`\u003c/span\u003e in the specified \u003cspan pulumi-lang-nodejs=\"`interval`\" pulumi-lang-dotnet=\"`Interval`\" pulumi-lang-go=\"`interval`\" pulumi-lang-python=\"`interval`\" pulumi-lang-yaml=\"`interval`\" pulumi-lang-java=\"`interval`\"\u003e`interval`\u003c/span\u003e on which to trigger this rule.\n"},"interval":{"type":"string","description":"The time interval in the form `hh:mm:ss`.\n"},"path":{"type":"string","description":"The path to which this rule status code applies.\n"},"statusCodeRange":{"type":"string","description":"The status code for this rule, accepts single status codes and status code ranges. e.g. \u003cspan pulumi-lang-nodejs=\"`500`\" pulumi-lang-dotnet=\"`500`\" pulumi-lang-go=\"`500`\" pulumi-lang-python=\"`500`\" pulumi-lang-yaml=\"`500`\" pulumi-lang-java=\"`500`\"\u003e`500`\u003c/span\u003e or `400-499`. Possible values are integers between \u003cspan pulumi-lang-nodejs=\"`101`\" pulumi-lang-dotnet=\"`101`\" pulumi-lang-go=\"`101`\" pulumi-lang-python=\"`101`\" pulumi-lang-yaml=\"`101`\" pulumi-lang-java=\"`101`\"\u003e`101`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`599`\" pulumi-lang-dotnet=\"`599`\" pulumi-lang-go=\"`599`\" pulumi-lang-python=\"`599`\" pulumi-lang-yaml=\"`599`\" pulumi-lang-java=\"`599`\"\u003e`599`\u003c/span\u003e\n"},"subStatus":{"type":"integer","description":"The Request Sub Status of the Status Code.\n"},"win32StatusCode":{"type":"integer","description":"The Win32 Status Code of the Request.\n"}},"type":"object","required":["count","interval","statusCodeRange"]},"azure:appservice/WindowsWebAppSiteConfigCors:WindowsWebAppSiteConfigCors":{"properties":{"allowedOrigins":{"type":"array","items":{"type":"string"},"description":"Specifies a list of origins that should be allowed to make cross-origin calls.\n"},"supportCredentials":{"type":"boolean","description":"Whether CORS requests with credentials are allowed. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e\n"}},"type":"object"},"azure:appservice/WindowsWebAppSiteConfigHandlerMapping:WindowsWebAppSiteConfigHandlerMapping":{"properties":{"arguments":{"type":"string","description":"Specifies the command-line arguments to be passed to the script processor.\n"},"extension":{"type":"string","description":"Specifies which extension to be handled by the specified FastCGI application.\n"},"scriptProcessorPath":{"type":"string","description":"Specifies the absolute path to the FastCGI application.\n"}},"type":"object","required":["extension","scriptProcessorPath"]},"azure:appservice/WindowsWebAppSiteConfigIpRestriction:WindowsWebAppSiteConfigIpRestriction":{"properties":{"action":{"type":"string","description":"The action to take. Possible values are `Allow` or `Deny`. Defaults to `Allow`.\n"},"description":{"type":"string","description":"The Description of this IP Restriction.\n"},"headers":{"$ref":"#/types/azure:appservice/WindowsWebAppSiteConfigIpRestrictionHeaders:WindowsWebAppSiteConfigIpRestrictionHeaders","description":"A \u003cspan pulumi-lang-nodejs=\"`headers`\" pulumi-lang-dotnet=\"`Headers`\" pulumi-lang-go=\"`headers`\" pulumi-lang-python=\"`headers`\" pulumi-lang-yaml=\"`headers`\" pulumi-lang-java=\"`headers`\"\u003e`headers`\u003c/span\u003e block as defined above.\n"},"ipAddress":{"type":"string","description":"The CIDR notation of the IP or IP Range to match. For example: `10.0.0.0/24` or `192.168.10.1/32`\n"},"name":{"type":"string","description":"The name which should be used for this \u003cspan pulumi-lang-nodejs=\"`ipRestriction`\" pulumi-lang-dotnet=\"`IpRestriction`\" pulumi-lang-go=\"`ipRestriction`\" pulumi-lang-python=\"`ip_restriction`\" pulumi-lang-yaml=\"`ipRestriction`\" pulumi-lang-java=\"`ipRestriction`\"\u003e`ip_restriction`\u003c/span\u003e.\n"},"priority":{"type":"integer","description":"The priority value of this \u003cspan pulumi-lang-nodejs=\"`ipRestriction`\" pulumi-lang-dotnet=\"`IpRestriction`\" pulumi-lang-go=\"`ipRestriction`\" pulumi-lang-python=\"`ip_restriction`\" pulumi-lang-yaml=\"`ipRestriction`\" pulumi-lang-java=\"`ipRestriction`\"\u003e`ip_restriction`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`65000`\" pulumi-lang-dotnet=\"`65000`\" pulumi-lang-go=\"`65000`\" pulumi-lang-python=\"`65000`\" pulumi-lang-yaml=\"`65000`\" pulumi-lang-java=\"`65000`\"\u003e`65000`\u003c/span\u003e.\n"},"serviceTag":{"type":"string","description":"The Service Tag used for this IP Restriction.\n"},"virtualNetworkSubnetId":{"type":"string","description":"The Virtual Network Subnet ID used for this IP Restriction.\n\n\u003e **Note:** One and only one of \u003cspan pulumi-lang-nodejs=\"`ipAddress`\" pulumi-lang-dotnet=\"`IpAddress`\" pulumi-lang-go=\"`ipAddress`\" pulumi-lang-python=\"`ip_address`\" pulumi-lang-yaml=\"`ipAddress`\" pulumi-lang-java=\"`ipAddress`\"\u003e`ip_address`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`serviceTag`\" pulumi-lang-dotnet=\"`ServiceTag`\" pulumi-lang-go=\"`serviceTag`\" pulumi-lang-python=\"`service_tag`\" pulumi-lang-yaml=\"`serviceTag`\" pulumi-lang-java=\"`serviceTag`\"\u003e`service_tag`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`virtualNetworkSubnetId`\" pulumi-lang-dotnet=\"`VirtualNetworkSubnetId`\" pulumi-lang-go=\"`virtualNetworkSubnetId`\" pulumi-lang-python=\"`virtual_network_subnet_id`\" pulumi-lang-yaml=\"`virtualNetworkSubnetId`\" pulumi-lang-java=\"`virtualNetworkSubnetId`\"\u003e`virtual_network_subnet_id`\u003c/span\u003e must be specified.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["name"]}}},"azure:appservice/WindowsWebAppSiteConfigIpRestrictionHeaders:WindowsWebAppSiteConfigIpRestrictionHeaders":{"properties":{"xAzureFdids":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Azure Front Door IDs.\n"},"xFdHealthProbe":{"type":"string","description":"Specifies if a Front Door Health Probe should be expected. The only possible value is \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e.\n"},"xForwardedFors":{"type":"array","items":{"type":"string"},"description":"Specifies a list of addresses for which matching should be applied. Omitting this value means allow any.\n"},"xForwardedHosts":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Hosts for which matching should be applied.\n"}},"type":"object"},"azure:appservice/WindowsWebAppSiteConfigScmIpRestriction:WindowsWebAppSiteConfigScmIpRestriction":{"properties":{"action":{"type":"string","description":"The action to take. Possible values are `Allow` or `Deny`. Defaults to `Allow`.\n"},"description":{"type":"string","description":"The Description of this IP Restriction.\n"},"headers":{"$ref":"#/types/azure:appservice/WindowsWebAppSiteConfigScmIpRestrictionHeaders:WindowsWebAppSiteConfigScmIpRestrictionHeaders","description":"A \u003cspan pulumi-lang-nodejs=\"`headers`\" pulumi-lang-dotnet=\"`Headers`\" pulumi-lang-go=\"`headers`\" pulumi-lang-python=\"`headers`\" pulumi-lang-yaml=\"`headers`\" pulumi-lang-java=\"`headers`\"\u003e`headers`\u003c/span\u003e block as defined above.\n"},"ipAddress":{"type":"string","description":"The CIDR notation of the IP or IP Range to match. For example: `10.0.0.0/24` or `192.168.10.1/32`\n"},"name":{"type":"string","description":"The name which should be used for this \u003cspan pulumi-lang-nodejs=\"`ipRestriction`\" pulumi-lang-dotnet=\"`IpRestriction`\" pulumi-lang-go=\"`ipRestriction`\" pulumi-lang-python=\"`ip_restriction`\" pulumi-lang-yaml=\"`ipRestriction`\" pulumi-lang-java=\"`ipRestriction`\"\u003e`ip_restriction`\u003c/span\u003e.\n"},"priority":{"type":"integer","description":"The priority value of this \u003cspan pulumi-lang-nodejs=\"`ipRestriction`\" pulumi-lang-dotnet=\"`IpRestriction`\" pulumi-lang-go=\"`ipRestriction`\" pulumi-lang-python=\"`ip_restriction`\" pulumi-lang-yaml=\"`ipRestriction`\" pulumi-lang-java=\"`ipRestriction`\"\u003e`ip_restriction`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`65000`\" pulumi-lang-dotnet=\"`65000`\" pulumi-lang-go=\"`65000`\" pulumi-lang-python=\"`65000`\" pulumi-lang-yaml=\"`65000`\" pulumi-lang-java=\"`65000`\"\u003e`65000`\u003c/span\u003e.\n"},"serviceTag":{"type":"string","description":"The Service Tag used for this IP Restriction.\n"},"virtualNetworkSubnetId":{"type":"string","description":"The Virtual Network Subnet ID used for this IP Restriction.\n\n\u003e **Note:** One and only one of \u003cspan pulumi-lang-nodejs=\"`ipAddress`\" pulumi-lang-dotnet=\"`IpAddress`\" pulumi-lang-go=\"`ipAddress`\" pulumi-lang-python=\"`ip_address`\" pulumi-lang-yaml=\"`ipAddress`\" pulumi-lang-java=\"`ipAddress`\"\u003e`ip_address`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`serviceTag`\" pulumi-lang-dotnet=\"`ServiceTag`\" pulumi-lang-go=\"`serviceTag`\" pulumi-lang-python=\"`service_tag`\" pulumi-lang-yaml=\"`serviceTag`\" pulumi-lang-java=\"`serviceTag`\"\u003e`service_tag`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`virtualNetworkSubnetId`\" pulumi-lang-dotnet=\"`VirtualNetworkSubnetId`\" pulumi-lang-go=\"`virtualNetworkSubnetId`\" pulumi-lang-python=\"`virtual_network_subnet_id`\" pulumi-lang-yaml=\"`virtualNetworkSubnetId`\" pulumi-lang-java=\"`virtualNetworkSubnetId`\"\u003e`virtual_network_subnet_id`\u003c/span\u003e must be specified.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["name"]}}},"azure:appservice/WindowsWebAppSiteConfigScmIpRestrictionHeaders:WindowsWebAppSiteConfigScmIpRestrictionHeaders":{"properties":{"xAzureFdids":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Azure Front Door IDs.\n"},"xFdHealthProbe":{"type":"string","description":"Specifies if a Front Door Health Probe should be expected. The only possible value is \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e.\n"},"xForwardedFors":{"type":"array","items":{"type":"string"},"description":"Specifies a list of addresses for which matching should be applied. Omitting this value means allow any.\n"},"xForwardedHosts":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Hosts for which matching should be applied.\n"}},"type":"object"},"azure:appservice/WindowsWebAppSiteConfigVirtualApplication:WindowsWebAppSiteConfigVirtualApplication":{"properties":{"physicalPath":{"type":"string","description":"The physical path for the Virtual Application.\n"},"preload":{"type":"boolean","description":"Should pre-loading be enabled.\n"},"virtualDirectories":{"type":"array","items":{"$ref":"#/types/azure:appservice/WindowsWebAppSiteConfigVirtualApplicationVirtualDirectory:WindowsWebAppSiteConfigVirtualApplicationVirtualDirectory"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`virtualDirectory`\" pulumi-lang-dotnet=\"`VirtualDirectory`\" pulumi-lang-go=\"`virtualDirectory`\" pulumi-lang-python=\"`virtual_directory`\" pulumi-lang-yaml=\"`virtualDirectory`\" pulumi-lang-java=\"`virtualDirectory`\"\u003e`virtual_directory`\u003c/span\u003e blocks as defined below.\n"},"virtualPath":{"type":"string","description":"The Virtual Path for the Virtual Application.\n"}},"type":"object","required":["physicalPath","preload","virtualPath"]},"azure:appservice/WindowsWebAppSiteConfigVirtualApplicationVirtualDirectory:WindowsWebAppSiteConfigVirtualApplicationVirtualDirectory":{"properties":{"physicalPath":{"type":"string","description":"The physical path for the Virtual Application.\n"},"virtualPath":{"type":"string","description":"The Virtual Path for the Virtual Application.\n"}},"type":"object"},"azure:appservice/WindowsWebAppSiteCredential:WindowsWebAppSiteCredential":{"properties":{"name":{"type":"string","description":"The name which should be used for this Windows Web App. Changing this forces a new Windows Web App to be created.\n","secret":true},"password":{"type":"string","description":"The Site Credentials Password used for publishing.\n","secret":true}},"type":"object","language":{"nodejs":{"requiredOutputs":["name","password"]}}},"azure:appservice/WindowsWebAppSlotAuthSettings:WindowsWebAppSlotAuthSettings":{"properties":{"activeDirectory":{"$ref":"#/types/azure:appservice/WindowsWebAppSlotAuthSettingsActiveDirectory:WindowsWebAppSlotAuthSettingsActiveDirectory","description":"An \u003cspan pulumi-lang-nodejs=\"`activeDirectory`\" pulumi-lang-dotnet=\"`ActiveDirectory`\" pulumi-lang-go=\"`activeDirectory`\" pulumi-lang-python=\"`active_directory`\" pulumi-lang-yaml=\"`activeDirectory`\" pulumi-lang-java=\"`activeDirectory`\"\u003e`active_directory`\u003c/span\u003e block as defined above.\n"},"additionalLoginParameters":{"type":"object","additionalProperties":{"type":"string"},"description":"Specifies a map of login Parameters to send to the OpenID Connect authorization endpoint when a user logs in.\n"},"allowedExternalRedirectUrls":{"type":"array","items":{"type":"string"},"description":"Specifies a list of External URLs that can be redirected to as part of logging in or logging out of the Windows Web App Slot.\n"},"defaultProvider":{"type":"string","description":"The default authentication provider to use when multiple providers are configured. Possible values include: `AzureActiveDirectory`, `Facebook`, `Google`, `MicrosoftAccount`, `Twitter`, `Github`.\n\n\u003e **Note:** This setting is only needed if multiple providers are configured, and the \u003cspan pulumi-lang-nodejs=\"`unauthenticatedClientAction`\" pulumi-lang-dotnet=\"`UnauthenticatedClientAction`\" pulumi-lang-go=\"`unauthenticatedClientAction`\" pulumi-lang-python=\"`unauthenticated_client_action`\" pulumi-lang-yaml=\"`unauthenticatedClientAction`\" pulumi-lang-java=\"`unauthenticatedClientAction`\"\u003e`unauthenticated_client_action`\u003c/span\u003e is set to \"RedirectToLoginPage\".\n"},"enabled":{"type":"boolean","description":"Should the Authentication / Authorization feature be enabled for the Windows Web App?\n"},"facebook":{"$ref":"#/types/azure:appservice/WindowsWebAppSlotAuthSettingsFacebook:WindowsWebAppSlotAuthSettingsFacebook","description":"A \u003cspan pulumi-lang-nodejs=\"`facebook`\" pulumi-lang-dotnet=\"`Facebook`\" pulumi-lang-go=\"`facebook`\" pulumi-lang-python=\"`facebook`\" pulumi-lang-yaml=\"`facebook`\" pulumi-lang-java=\"`facebook`\"\u003e`facebook`\u003c/span\u003e block as defined below.\n"},"github":{"$ref":"#/types/azure:appservice/WindowsWebAppSlotAuthSettingsGithub:WindowsWebAppSlotAuthSettingsGithub","description":"A \u003cspan pulumi-lang-nodejs=\"`github`\" pulumi-lang-dotnet=\"`Github`\" pulumi-lang-go=\"`github`\" pulumi-lang-python=\"`github`\" pulumi-lang-yaml=\"`github`\" pulumi-lang-java=\"`github`\"\u003e`github`\u003c/span\u003e block as defined below.\n"},"google":{"$ref":"#/types/azure:appservice/WindowsWebAppSlotAuthSettingsGoogle:WindowsWebAppSlotAuthSettingsGoogle","description":"A \u003cspan pulumi-lang-nodejs=\"`google`\" pulumi-lang-dotnet=\"`Google`\" pulumi-lang-go=\"`google`\" pulumi-lang-python=\"`google`\" pulumi-lang-yaml=\"`google`\" pulumi-lang-java=\"`google`\"\u003e`google`\u003c/span\u003e block as defined below.\n"},"issuer":{"type":"string","description":"The OpenID Connect Issuer URI that represents the entity which issues access tokens for this Windows Web App Slot.\n\n\u003e **Note:** When using Azure Active Directory, this value is the URI of the directory tenant, e.g. \u003chttps://sts.windows.net/{tenant-guid}/\u003e.\n"},"microsoft":{"$ref":"#/types/azure:appservice/WindowsWebAppSlotAuthSettingsMicrosoft:WindowsWebAppSlotAuthSettingsMicrosoft","description":"A \u003cspan pulumi-lang-nodejs=\"`microsoft`\" pulumi-lang-dotnet=\"`Microsoft`\" pulumi-lang-go=\"`microsoft`\" pulumi-lang-python=\"`microsoft`\" pulumi-lang-yaml=\"`microsoft`\" pulumi-lang-java=\"`microsoft`\"\u003e`microsoft`\u003c/span\u003e block as defined below.\n"},"runtimeVersion":{"type":"string","description":"The RuntimeVersion of the Authentication / Authorization feature in use for the Windows Web App Slot.\n"},"tokenRefreshExtensionHours":{"type":"number","description":"The number of hours after session token expiration that a session token can be used to call the token refresh API. Defaults to \u003cspan pulumi-lang-nodejs=\"`72`\" pulumi-lang-dotnet=\"`72`\" pulumi-lang-go=\"`72`\" pulumi-lang-python=\"`72`\" pulumi-lang-yaml=\"`72`\" pulumi-lang-java=\"`72`\"\u003e`72`\u003c/span\u003e hours.\n"},"tokenStoreEnabled":{"type":"boolean","description":"Should the Windows Web App Slot durably store platform-specific security tokens that are obtained during login flows? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"twitter":{"$ref":"#/types/azure:appservice/WindowsWebAppSlotAuthSettingsTwitter:WindowsWebAppSlotAuthSettingsTwitter","description":"A \u003cspan pulumi-lang-nodejs=\"`twitter`\" pulumi-lang-dotnet=\"`Twitter`\" pulumi-lang-go=\"`twitter`\" pulumi-lang-python=\"`twitter`\" pulumi-lang-yaml=\"`twitter`\" pulumi-lang-java=\"`twitter`\"\u003e`twitter`\u003c/span\u003e block as defined below.\n"},"unauthenticatedClientAction":{"type":"string","description":"The action to take when an unauthenticated client attempts to access the app. Possible values include: `RedirectToLoginPage`, `AllowAnonymous`.\n"}},"type":"object","required":["enabled"],"language":{"nodejs":{"requiredOutputs":["allowedExternalRedirectUrls","defaultProvider","enabled","runtimeVersion","unauthenticatedClientAction"]}}},"azure:appservice/WindowsWebAppSlotAuthSettingsActiveDirectory:WindowsWebAppSlotAuthSettingsActiveDirectory":{"properties":{"allowedAudiences":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Allowed audience values to consider when validating JWTs issued by Azure Active Directory.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`clientId`\" pulumi-lang-dotnet=\"`ClientId`\" pulumi-lang-go=\"`clientId`\" pulumi-lang-python=\"`client_id`\" pulumi-lang-yaml=\"`clientId`\" pulumi-lang-java=\"`clientId`\"\u003e`client_id`\u003c/span\u003e value is always considered an allowed audience, so should not be included.\n"},"clientId":{"type":"string","description":"The ID of the Client to use to authenticate with Azure Active Directory.\n"},"clientSecret":{"type":"string","description":"The Client Secret for the Client ID. Cannot be used with \u003cspan pulumi-lang-nodejs=\"`clientSecretSettingName`\" pulumi-lang-dotnet=\"`ClientSecretSettingName`\" pulumi-lang-go=\"`clientSecretSettingName`\" pulumi-lang-python=\"`client_secret_setting_name`\" pulumi-lang-yaml=\"`clientSecretSettingName`\" pulumi-lang-java=\"`clientSecretSettingName`\"\u003e`client_secret_setting_name`\u003c/span\u003e.\n","secret":true},"clientSecretSettingName":{"type":"string","description":"The App Setting name that contains the client secret of the Client. Cannot be used with \u003cspan pulumi-lang-nodejs=\"`clientSecret`\" pulumi-lang-dotnet=\"`ClientSecret`\" pulumi-lang-go=\"`clientSecret`\" pulumi-lang-python=\"`client_secret`\" pulumi-lang-yaml=\"`clientSecret`\" pulumi-lang-java=\"`clientSecret`\"\u003e`client_secret`\u003c/span\u003e.\n"}},"type":"object","required":["clientId"]},"azure:appservice/WindowsWebAppSlotAuthSettingsFacebook:WindowsWebAppSlotAuthSettingsFacebook":{"properties":{"appId":{"type":"string","description":"The App ID of the Facebook app used for login.\n"},"appSecret":{"type":"string","description":"The App Secret of the Facebook app used for Facebook login. Cannot be specified with \u003cspan pulumi-lang-nodejs=\"`appSecretSettingName`\" pulumi-lang-dotnet=\"`AppSecretSettingName`\" pulumi-lang-go=\"`appSecretSettingName`\" pulumi-lang-python=\"`app_secret_setting_name`\" pulumi-lang-yaml=\"`appSecretSettingName`\" pulumi-lang-java=\"`appSecretSettingName`\"\u003e`app_secret_setting_name`\u003c/span\u003e.\n","secret":true},"appSecretSettingName":{"type":"string","description":"The app setting name that contains the \u003cspan pulumi-lang-nodejs=\"`appSecret`\" pulumi-lang-dotnet=\"`AppSecret`\" pulumi-lang-go=\"`appSecret`\" pulumi-lang-python=\"`app_secret`\" pulumi-lang-yaml=\"`appSecret`\" pulumi-lang-java=\"`appSecret`\"\u003e`app_secret`\u003c/span\u003e value used for Facebook login. Cannot be specified with \u003cspan pulumi-lang-nodejs=\"`appSecret`\" pulumi-lang-dotnet=\"`AppSecret`\" pulumi-lang-go=\"`appSecret`\" pulumi-lang-python=\"`app_secret`\" pulumi-lang-yaml=\"`appSecret`\" pulumi-lang-java=\"`appSecret`\"\u003e`app_secret`\u003c/span\u003e.\n"},"oauthScopes":{"type":"array","items":{"type":"string"},"description":"Specifies a list of OAuth 2.0 scopes to be requested as part of Facebook login authentication.\n"}},"type":"object","required":["appId"]},"azure:appservice/WindowsWebAppSlotAuthSettingsGithub:WindowsWebAppSlotAuthSettingsGithub":{"properties":{"clientId":{"type":"string","description":"The ID of the GitHub app used for login.\n"},"clientSecret":{"type":"string","description":"The Client Secret of the GitHub app used for GitHub login. Cannot be specified with \u003cspan pulumi-lang-nodejs=\"`clientSecretSettingName`\" pulumi-lang-dotnet=\"`ClientSecretSettingName`\" pulumi-lang-go=\"`clientSecretSettingName`\" pulumi-lang-python=\"`client_secret_setting_name`\" pulumi-lang-yaml=\"`clientSecretSettingName`\" pulumi-lang-java=\"`clientSecretSettingName`\"\u003e`client_secret_setting_name`\u003c/span\u003e.\n","secret":true},"clientSecretSettingName":{"type":"string","description":"The app setting name that contains the \u003cspan pulumi-lang-nodejs=\"`clientSecret`\" pulumi-lang-dotnet=\"`ClientSecret`\" pulumi-lang-go=\"`clientSecret`\" pulumi-lang-python=\"`client_secret`\" pulumi-lang-yaml=\"`clientSecret`\" pulumi-lang-java=\"`clientSecret`\"\u003e`client_secret`\u003c/span\u003e value used for GitHub login. Cannot be specified with \u003cspan pulumi-lang-nodejs=\"`clientSecret`\" pulumi-lang-dotnet=\"`ClientSecret`\" pulumi-lang-go=\"`clientSecret`\" pulumi-lang-python=\"`client_secret`\" pulumi-lang-yaml=\"`clientSecret`\" pulumi-lang-java=\"`clientSecret`\"\u003e`client_secret`\u003c/span\u003e.\n"},"oauthScopes":{"type":"array","items":{"type":"string"},"description":"Specifies a list of OAuth 2.0 scopes that will be requested as part of GitHub login authentication.\n"}},"type":"object","required":["clientId"]},"azure:appservice/WindowsWebAppSlotAuthSettingsGoogle:WindowsWebAppSlotAuthSettingsGoogle":{"properties":{"clientId":{"type":"string","description":"The OpenID Connect Client ID for the Google web application.\n"},"clientSecret":{"type":"string","description":"The client secret associated with the Google web application. Cannot be specified with \u003cspan pulumi-lang-nodejs=\"`clientSecretSettingName`\" pulumi-lang-dotnet=\"`ClientSecretSettingName`\" pulumi-lang-go=\"`clientSecretSettingName`\" pulumi-lang-python=\"`client_secret_setting_name`\" pulumi-lang-yaml=\"`clientSecretSettingName`\" pulumi-lang-java=\"`clientSecretSettingName`\"\u003e`client_secret_setting_name`\u003c/span\u003e.\n","secret":true},"clientSecretSettingName":{"type":"string","description":"The app setting name that contains the \u003cspan pulumi-lang-nodejs=\"`clientSecret`\" pulumi-lang-dotnet=\"`ClientSecret`\" pulumi-lang-go=\"`clientSecret`\" pulumi-lang-python=\"`client_secret`\" pulumi-lang-yaml=\"`clientSecret`\" pulumi-lang-java=\"`clientSecret`\"\u003e`client_secret`\u003c/span\u003e value used for Google login. Cannot be specified with \u003cspan pulumi-lang-nodejs=\"`clientSecret`\" pulumi-lang-dotnet=\"`ClientSecret`\" pulumi-lang-go=\"`clientSecret`\" pulumi-lang-python=\"`client_secret`\" pulumi-lang-yaml=\"`clientSecret`\" pulumi-lang-java=\"`clientSecret`\"\u003e`client_secret`\u003c/span\u003e.\n"},"oauthScopes":{"type":"array","items":{"type":"string"},"description":"Specifies a list of OAuth 2.0 scopes that will be requested as part of Google Sign-In authentication. If not specified, \u003cspan pulumi-lang-nodejs=\"`openid`\" pulumi-lang-dotnet=\"`Openid`\" pulumi-lang-go=\"`openid`\" pulumi-lang-python=\"`openid`\" pulumi-lang-yaml=\"`openid`\" pulumi-lang-java=\"`openid`\"\u003e`openid`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`profile`\" pulumi-lang-dotnet=\"`Profile`\" pulumi-lang-go=\"`profile`\" pulumi-lang-python=\"`profile`\" pulumi-lang-yaml=\"`profile`\" pulumi-lang-java=\"`profile`\"\u003e`profile`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`email`\" pulumi-lang-dotnet=\"`Email`\" pulumi-lang-go=\"`email`\" pulumi-lang-python=\"`email`\" pulumi-lang-yaml=\"`email`\" pulumi-lang-java=\"`email`\"\u003e`email`\u003c/span\u003e are used as default scopes.\n"}},"type":"object","required":["clientId"]},"azure:appservice/WindowsWebAppSlotAuthSettingsMicrosoft:WindowsWebAppSlotAuthSettingsMicrosoft":{"properties":{"clientId":{"type":"string","description":"The OAuth 2.0 client ID that was created for the app used for authentication.\n"},"clientSecret":{"type":"string","description":"The OAuth 2.0 client secret that was created for the app used for authentication. Cannot be specified with \u003cspan pulumi-lang-nodejs=\"`clientSecretSettingName`\" pulumi-lang-dotnet=\"`ClientSecretSettingName`\" pulumi-lang-go=\"`clientSecretSettingName`\" pulumi-lang-python=\"`client_secret_setting_name`\" pulumi-lang-yaml=\"`clientSecretSettingName`\" pulumi-lang-java=\"`clientSecretSettingName`\"\u003e`client_secret_setting_name`\u003c/span\u003e.\n","secret":true},"clientSecretSettingName":{"type":"string","description":"The app setting name containing the OAuth 2.0 client secret that was created for the app used for authentication. Cannot be specified with \u003cspan pulumi-lang-nodejs=\"`clientSecret`\" pulumi-lang-dotnet=\"`ClientSecret`\" pulumi-lang-go=\"`clientSecret`\" pulumi-lang-python=\"`client_secret`\" pulumi-lang-yaml=\"`clientSecret`\" pulumi-lang-java=\"`clientSecret`\"\u003e`client_secret`\u003c/span\u003e.\n"},"oauthScopes":{"type":"array","items":{"type":"string"},"description":"Specifies a 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.\n"}},"type":"object","required":["clientId"]},"azure:appservice/WindowsWebAppSlotAuthSettingsTwitter:WindowsWebAppSlotAuthSettingsTwitter":{"properties":{"consumerKey":{"type":"string","description":"The OAuth 1.0a consumer key of the Twitter application used for sign-in.\n"},"consumerSecret":{"type":"string","description":"The OAuth 1.0a consumer secret of the Twitter application used for sign-in. Cannot be specified with \u003cspan pulumi-lang-nodejs=\"`consumerSecretSettingName`\" pulumi-lang-dotnet=\"`ConsumerSecretSettingName`\" pulumi-lang-go=\"`consumerSecretSettingName`\" pulumi-lang-python=\"`consumer_secret_setting_name`\" pulumi-lang-yaml=\"`consumerSecretSettingName`\" pulumi-lang-java=\"`consumerSecretSettingName`\"\u003e`consumer_secret_setting_name`\u003c/span\u003e.\n","secret":true},"consumerSecretSettingName":{"type":"string","description":"The app setting name that contains the OAuth 1.0a consumer secret of the Twitter application used for sign-in. Cannot be specified with \u003cspan pulumi-lang-nodejs=\"`consumerSecret`\" pulumi-lang-dotnet=\"`ConsumerSecret`\" pulumi-lang-go=\"`consumerSecret`\" pulumi-lang-python=\"`consumer_secret`\" pulumi-lang-yaml=\"`consumerSecret`\" pulumi-lang-java=\"`consumerSecret`\"\u003e`consumer_secret`\u003c/span\u003e.\n"}},"type":"object","required":["consumerKey"]},"azure:appservice/WindowsWebAppSlotAuthSettingsV2:WindowsWebAppSlotAuthSettingsV2":{"properties":{"activeDirectoryV2":{"$ref":"#/types/azure:appservice/WindowsWebAppSlotAuthSettingsV2ActiveDirectoryV2:WindowsWebAppSlotAuthSettingsV2ActiveDirectoryV2","description":"An \u003cspan pulumi-lang-nodejs=\"`activeDirectoryV2`\" pulumi-lang-dotnet=\"`ActiveDirectoryV2`\" pulumi-lang-go=\"`activeDirectoryV2`\" pulumi-lang-python=\"`active_directory_v2`\" pulumi-lang-yaml=\"`activeDirectoryV2`\" pulumi-lang-java=\"`activeDirectoryV2`\"\u003e`active_directory_v2`\u003c/span\u003e block as defined below.\n"},"appleV2":{"$ref":"#/types/azure:appservice/WindowsWebAppSlotAuthSettingsV2AppleV2:WindowsWebAppSlotAuthSettingsV2AppleV2","description":"An \u003cspan pulumi-lang-nodejs=\"`appleV2`\" pulumi-lang-dotnet=\"`AppleV2`\" pulumi-lang-go=\"`appleV2`\" pulumi-lang-python=\"`apple_v2`\" pulumi-lang-yaml=\"`appleV2`\" pulumi-lang-java=\"`appleV2`\"\u003e`apple_v2`\u003c/span\u003e block as defined below.\n"},"authEnabled":{"type":"boolean","description":"Should the AuthV2 Settings be enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"azureStaticWebAppV2":{"$ref":"#/types/azure:appservice/WindowsWebAppSlotAuthSettingsV2AzureStaticWebAppV2:WindowsWebAppSlotAuthSettingsV2AzureStaticWebAppV2","description":"An \u003cspan pulumi-lang-nodejs=\"`azureStaticWebAppV2`\" pulumi-lang-dotnet=\"`AzureStaticWebAppV2`\" pulumi-lang-go=\"`azureStaticWebAppV2`\" pulumi-lang-python=\"`azure_static_web_app_v2`\" pulumi-lang-yaml=\"`azureStaticWebAppV2`\" pulumi-lang-java=\"`azureStaticWebAppV2`\"\u003e`azure_static_web_app_v2`\u003c/span\u003e block as defined below.\n"},"configFilePath":{"type":"string","description":"The path to the App Auth settings.\n\n\u003e **Note:** Relative Paths are evaluated from the Site Root directory.\n"},"customOidcV2s":{"type":"array","items":{"$ref":"#/types/azure:appservice/WindowsWebAppSlotAuthSettingsV2CustomOidcV2:WindowsWebAppSlotAuthSettingsV2CustomOidcV2"},"description":"Zero or more \u003cspan pulumi-lang-nodejs=\"`customOidcV2`\" pulumi-lang-dotnet=\"`CustomOidcV2`\" pulumi-lang-go=\"`customOidcV2`\" pulumi-lang-python=\"`custom_oidc_v2`\" pulumi-lang-yaml=\"`customOidcV2`\" pulumi-lang-java=\"`customOidcV2`\"\u003e`custom_oidc_v2`\u003c/span\u003e blocks as defined below.\n"},"defaultProvider":{"type":"string","description":"The Default Authentication Provider to use when the \u003cspan pulumi-lang-nodejs=\"`unauthenticatedAction`\" pulumi-lang-dotnet=\"`UnauthenticatedAction`\" pulumi-lang-go=\"`unauthenticatedAction`\" pulumi-lang-python=\"`unauthenticated_action`\" pulumi-lang-yaml=\"`unauthenticatedAction`\" pulumi-lang-java=\"`unauthenticatedAction`\"\u003e`unauthenticated_action`\u003c/span\u003e is set to `RedirectToLoginPage`. Possible values include: \u003cspan pulumi-lang-nodejs=\"`apple`\" pulumi-lang-dotnet=\"`Apple`\" pulumi-lang-go=\"`apple`\" pulumi-lang-python=\"`apple`\" pulumi-lang-yaml=\"`apple`\" pulumi-lang-java=\"`apple`\"\u003e`apple`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`azureactivedirectory`\" pulumi-lang-dotnet=\"`Azureactivedirectory`\" pulumi-lang-go=\"`azureactivedirectory`\" pulumi-lang-python=\"`azureactivedirectory`\" pulumi-lang-yaml=\"`azureactivedirectory`\" pulumi-lang-java=\"`azureactivedirectory`\"\u003e`azureactivedirectory`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`facebook`\" pulumi-lang-dotnet=\"`Facebook`\" pulumi-lang-go=\"`facebook`\" pulumi-lang-python=\"`facebook`\" pulumi-lang-yaml=\"`facebook`\" pulumi-lang-java=\"`facebook`\"\u003e`facebook`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`github`\" pulumi-lang-dotnet=\"`Github`\" pulumi-lang-go=\"`github`\" pulumi-lang-python=\"`github`\" pulumi-lang-yaml=\"`github`\" pulumi-lang-java=\"`github`\"\u003e`github`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`google`\" pulumi-lang-dotnet=\"`Google`\" pulumi-lang-go=\"`google`\" pulumi-lang-python=\"`google`\" pulumi-lang-yaml=\"`google`\" pulumi-lang-java=\"`google`\"\u003e`google`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`twitter`\" pulumi-lang-dotnet=\"`Twitter`\" pulumi-lang-go=\"`twitter`\" pulumi-lang-python=\"`twitter`\" pulumi-lang-yaml=\"`twitter`\" pulumi-lang-java=\"`twitter`\"\u003e`twitter`\u003c/span\u003e and the \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e of your \u003cspan pulumi-lang-nodejs=\"`customOidcV2`\" pulumi-lang-dotnet=\"`CustomOidcV2`\" pulumi-lang-go=\"`customOidcV2`\" pulumi-lang-python=\"`custom_oidc_v2`\" pulumi-lang-yaml=\"`customOidcV2`\" pulumi-lang-java=\"`customOidcV2`\"\u003e`custom_oidc_v2`\u003c/span\u003e provider.\n\n\u003e **Note:** Whilst any value will be accepted by the API for \u003cspan pulumi-lang-nodejs=\"`defaultProvider`\" pulumi-lang-dotnet=\"`DefaultProvider`\" pulumi-lang-go=\"`defaultProvider`\" pulumi-lang-python=\"`default_provider`\" pulumi-lang-yaml=\"`defaultProvider`\" pulumi-lang-java=\"`defaultProvider`\"\u003e`default_provider`\u003c/span\u003e, it can leave the app in an unusable state if this value does not correspond to the name of a known provider (either built-in value, or\u003cspan pulumi-lang-nodejs=\" customOidc \" pulumi-lang-dotnet=\" CustomOidc \" pulumi-lang-go=\" customOidc \" pulumi-lang-python=\" custom_oidc \" pulumi-lang-yaml=\" customOidc \" pulumi-lang-java=\" customOidc \"\u003e custom_oidc \u003c/span\u003ename) as it is used to build the auth endpoint URI.\n"},"excludedPaths":{"type":"array","items":{"type":"string"},"description":"The paths which should be excluded from the \u003cspan pulumi-lang-nodejs=\"`unauthenticatedAction`\" pulumi-lang-dotnet=\"`UnauthenticatedAction`\" pulumi-lang-go=\"`unauthenticatedAction`\" pulumi-lang-python=\"`unauthenticated_action`\" pulumi-lang-yaml=\"`unauthenticatedAction`\" pulumi-lang-java=\"`unauthenticatedAction`\"\u003e`unauthenticated_action`\u003c/span\u003e when it is set to `RedirectToLoginPage`.\n\n\u003e **Note:** This list should be used instead of setting `WEBSITE_WARMUP_PATH` in \u003cspan pulumi-lang-nodejs=\"`appSettings`\" pulumi-lang-dotnet=\"`AppSettings`\" pulumi-lang-go=\"`appSettings`\" pulumi-lang-python=\"`app_settings`\" pulumi-lang-yaml=\"`appSettings`\" pulumi-lang-java=\"`appSettings`\"\u003e`app_settings`\u003c/span\u003e as it takes priority.\n"},"facebookV2":{"$ref":"#/types/azure:appservice/WindowsWebAppSlotAuthSettingsV2FacebookV2:WindowsWebAppSlotAuthSettingsV2FacebookV2","description":"A \u003cspan pulumi-lang-nodejs=\"`facebookV2`\" pulumi-lang-dotnet=\"`FacebookV2`\" pulumi-lang-go=\"`facebookV2`\" pulumi-lang-python=\"`facebook_v2`\" pulumi-lang-yaml=\"`facebookV2`\" pulumi-lang-java=\"`facebookV2`\"\u003e`facebook_v2`\u003c/span\u003e block as defined below.\n"},"forwardProxyConvention":{"type":"string","description":"The convention used to determine the url of the request made. Possible values include `NoProxy`, `Standard`, `Custom`. Defaults to `NoProxy`.\n"},"forwardProxyCustomHostHeaderName":{"type":"string","description":"The name of the custom header containing the host of the request.\n"},"forwardProxyCustomSchemeHeaderName":{"type":"string","description":"The name of the custom header containing the scheme of the request.\n"},"githubV2":{"$ref":"#/types/azure:appservice/WindowsWebAppSlotAuthSettingsV2GithubV2:WindowsWebAppSlotAuthSettingsV2GithubV2","description":"A \u003cspan pulumi-lang-nodejs=\"`githubV2`\" pulumi-lang-dotnet=\"`GithubV2`\" pulumi-lang-go=\"`githubV2`\" pulumi-lang-python=\"`github_v2`\" pulumi-lang-yaml=\"`githubV2`\" pulumi-lang-java=\"`githubV2`\"\u003e`github_v2`\u003c/span\u003e block as defined below.\n"},"googleV2":{"$ref":"#/types/azure:appservice/WindowsWebAppSlotAuthSettingsV2GoogleV2:WindowsWebAppSlotAuthSettingsV2GoogleV2","description":"A \u003cspan pulumi-lang-nodejs=\"`googleV2`\" pulumi-lang-dotnet=\"`GoogleV2`\" pulumi-lang-go=\"`googleV2`\" pulumi-lang-python=\"`google_v2`\" pulumi-lang-yaml=\"`googleV2`\" pulumi-lang-java=\"`googleV2`\"\u003e`google_v2`\u003c/span\u003e block as defined below.\n"},"httpRouteApiPrefix":{"type":"string","description":"The prefix that should precede all the authentication and authorisation paths. Defaults to `/.auth`.\n"},"login":{"$ref":"#/types/azure:appservice/WindowsWebAppSlotAuthSettingsV2Login:WindowsWebAppSlotAuthSettingsV2Login","description":"A \u003cspan pulumi-lang-nodejs=\"`login`\" pulumi-lang-dotnet=\"`Login`\" pulumi-lang-go=\"`login`\" pulumi-lang-python=\"`login`\" pulumi-lang-yaml=\"`login`\" pulumi-lang-java=\"`login`\"\u003e`login`\u003c/span\u003e block as defined below.\n"},"microsoftV2":{"$ref":"#/types/azure:appservice/WindowsWebAppSlotAuthSettingsV2MicrosoftV2:WindowsWebAppSlotAuthSettingsV2MicrosoftV2","description":"A \u003cspan pulumi-lang-nodejs=\"`microsoftV2`\" pulumi-lang-dotnet=\"`MicrosoftV2`\" pulumi-lang-go=\"`microsoftV2`\" pulumi-lang-python=\"`microsoft_v2`\" pulumi-lang-yaml=\"`microsoftV2`\" pulumi-lang-java=\"`microsoftV2`\"\u003e`microsoft_v2`\u003c/span\u003e block as defined below.\n"},"requireAuthentication":{"type":"boolean","description":"Should the authentication flow be used for all requests.\n"},"requireHttps":{"type":"boolean","description":"Should HTTPS be required on connections? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"runtimeVersion":{"type":"string","description":"The Runtime Version of the Authentication and Authorisation feature of this App. Defaults to `~1`.\n"},"twitterV2":{"$ref":"#/types/azure:appservice/WindowsWebAppSlotAuthSettingsV2TwitterV2:WindowsWebAppSlotAuthSettingsV2TwitterV2","description":"A \u003cspan pulumi-lang-nodejs=\"`twitterV2`\" pulumi-lang-dotnet=\"`TwitterV2`\" pulumi-lang-go=\"`twitterV2`\" pulumi-lang-python=\"`twitter_v2`\" pulumi-lang-yaml=\"`twitterV2`\" pulumi-lang-java=\"`twitterV2`\"\u003e`twitter_v2`\u003c/span\u003e block as defined below.\n"},"unauthenticatedAction":{"type":"string","description":"The action to take for requests made without authentication. Possible values include `RedirectToLoginPage`, `AllowAnonymous`, `Return401`, and `Return403`. Defaults to `RedirectToLoginPage`.\n"}},"type":"object","required":["login"]},"azure:appservice/WindowsWebAppSlotAuthSettingsV2ActiveDirectoryV2:WindowsWebAppSlotAuthSettingsV2ActiveDirectoryV2":{"properties":{"allowedApplications":{"type":"array","items":{"type":"string"},"description":"The list of allowed Applications for the Default Authorisation Policy.\n"},"allowedAudiences":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Allowed audience values to consider when validating JWTs issued by Azure Active Directory.\n\n\u003e **Note:** This is configured on the Authentication Provider side and is Read Only here.\n"},"allowedGroups":{"type":"array","items":{"type":"string"},"description":"The list of allowed Group Names for the Default Authorisation Policy.\n"},"allowedIdentities":{"type":"array","items":{"type":"string"},"description":"The list of allowed Identities for the Default Authorisation Policy.\n"},"clientId":{"type":"string","description":"The ID of the Client to use to authenticate with Azure Active Directory.\n"},"clientSecretCertificateThumbprint":{"type":"string","description":"The thumbprint of the certificate used for signing purposes.\n\n!\u003e **Note:** If one \u003cspan pulumi-lang-nodejs=\"`clientSecretSettingName`\" pulumi-lang-dotnet=\"`ClientSecretSettingName`\" pulumi-lang-go=\"`clientSecretSettingName`\" pulumi-lang-python=\"`client_secret_setting_name`\" pulumi-lang-yaml=\"`clientSecretSettingName`\" pulumi-lang-java=\"`clientSecretSettingName`\"\u003e`client_secret_setting_name`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`clientSecretCertificateThumbprint`\" pulumi-lang-dotnet=\"`ClientSecretCertificateThumbprint`\" pulumi-lang-go=\"`clientSecretCertificateThumbprint`\" pulumi-lang-python=\"`client_secret_certificate_thumbprint`\" pulumi-lang-yaml=\"`clientSecretCertificateThumbprint`\" pulumi-lang-java=\"`clientSecretCertificateThumbprint`\"\u003e`client_secret_certificate_thumbprint`\u003c/span\u003e is specified, terraform won't write the client secret or secret certificate thumbprint back to \u003cspan pulumi-lang-nodejs=\"`appSetting`\" pulumi-lang-dotnet=\"`AppSetting`\" pulumi-lang-go=\"`appSetting`\" pulumi-lang-python=\"`app_setting`\" pulumi-lang-yaml=\"`appSetting`\" pulumi-lang-java=\"`appSetting`\"\u003e`app_setting`\u003c/span\u003e, so make sure they are existed in \u003cspan pulumi-lang-nodejs=\"`appSettings`\" pulumi-lang-dotnet=\"`AppSettings`\" pulumi-lang-go=\"`appSettings`\" pulumi-lang-python=\"`app_settings`\" pulumi-lang-yaml=\"`appSettings`\" pulumi-lang-java=\"`appSettings`\"\u003e`app_settings`\u003c/span\u003e to function correctly.\n"},"clientSecretSettingName":{"type":"string","description":"The App Setting name that contains the client secret of the Client.\n\n!\u003e **Note:** A setting with this name must exist in \u003cspan pulumi-lang-nodejs=\"`appSettings`\" pulumi-lang-dotnet=\"`AppSettings`\" pulumi-lang-go=\"`appSettings`\" pulumi-lang-python=\"`app_settings`\" pulumi-lang-yaml=\"`appSettings`\" pulumi-lang-java=\"`appSettings`\"\u003e`app_settings`\u003c/span\u003e to function correctly.\n"},"jwtAllowedClientApplications":{"type":"array","items":{"type":"string"},"description":"A list of Allowed Client Applications in the JWT Claim.\n"},"jwtAllowedGroups":{"type":"array","items":{"type":"string"},"description":"A list of Allowed Groups in the JWT Claim.\n"},"loginParameters":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of key-value pairs to send to the Authorisation Endpoint when a user logs in.\n"},"tenantAuthEndpoint":{"type":"string","description":"The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/`\n\n\u003e **Note:** [Here](https://learn.microsoft.com/en-us/entra/identity-platform/authentication-national-cloud#microsoft-entra-authentication-endpoints) is a list of possible authentication endpoints based on the cloud environment. [Here](https://learn.microsoft.com/en-us/azure/app-service/configure-authentication-provider-aad?tabs=workforce-tenant) is more information to better understand how to configure authentication for Azure App Service or Azure Functions.\n"},"wwwAuthenticationDisabled":{"type":"boolean","description":"Should the www-authenticate provider should be omitted from the request? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"}},"type":"object","required":["clientId","tenantAuthEndpoint"]},"azure:appservice/WindowsWebAppSlotAuthSettingsV2AppleV2:WindowsWebAppSlotAuthSettingsV2AppleV2":{"properties":{"clientId":{"type":"string","description":"The OpenID Connect Client ID for the Apple web application.\n"},"clientSecretSettingName":{"type":"string","description":"The app setting name that contains the \u003cspan pulumi-lang-nodejs=\"`clientSecret`\" pulumi-lang-dotnet=\"`ClientSecret`\" pulumi-lang-go=\"`clientSecret`\" pulumi-lang-python=\"`client_secret`\" pulumi-lang-yaml=\"`clientSecret`\" pulumi-lang-java=\"`clientSecret`\"\u003e`client_secret`\u003c/span\u003e value used for Apple Login.\n\n!\u003e **Note:** A setting with this name must exist in \u003cspan pulumi-lang-nodejs=\"`appSettings`\" pulumi-lang-dotnet=\"`AppSettings`\" pulumi-lang-go=\"`appSettings`\" pulumi-lang-python=\"`app_settings`\" pulumi-lang-yaml=\"`appSettings`\" pulumi-lang-java=\"`appSettings`\"\u003e`app_settings`\u003c/span\u003e to function correctly.\n"},"loginScopes":{"type":"array","items":{"type":"string"},"description":"A list of Login Scopes provided by this Authentication Provider.\n\n\u003e **Note:** This is configured on the Authentication Provider side and is Read Only here.\n"}},"type":"object","required":["clientId","clientSecretSettingName"],"language":{"nodejs":{"requiredOutputs":["clientId","clientSecretSettingName","loginScopes"]}}},"azure:appservice/WindowsWebAppSlotAuthSettingsV2AzureStaticWebAppV2:WindowsWebAppSlotAuthSettingsV2AzureStaticWebAppV2":{"properties":{"clientId":{"type":"string","description":"The ID of the Client to use to authenticate with Azure Static Web App Authentication.\n"}},"type":"object","required":["clientId"]},"azure:appservice/WindowsWebAppSlotAuthSettingsV2CustomOidcV2:WindowsWebAppSlotAuthSettingsV2CustomOidcV2":{"properties":{"authorisationEndpoint":{"type":"string","description":"The endpoint to make the Authorisation Request as supplied by \u003cspan pulumi-lang-nodejs=\"`openidConfigurationEndpoint`\" pulumi-lang-dotnet=\"`OpenidConfigurationEndpoint`\" pulumi-lang-go=\"`openidConfigurationEndpoint`\" pulumi-lang-python=\"`openid_configuration_endpoint`\" pulumi-lang-yaml=\"`openidConfigurationEndpoint`\" pulumi-lang-java=\"`openidConfigurationEndpoint`\"\u003e`openid_configuration_endpoint`\u003c/span\u003e response.\n"},"certificationUri":{"type":"string","description":"The endpoint that provides the keys necessary to validate the token as supplied by \u003cspan pulumi-lang-nodejs=\"`openidConfigurationEndpoint`\" pulumi-lang-dotnet=\"`OpenidConfigurationEndpoint`\" pulumi-lang-go=\"`openidConfigurationEndpoint`\" pulumi-lang-python=\"`openid_configuration_endpoint`\" pulumi-lang-yaml=\"`openidConfigurationEndpoint`\" pulumi-lang-java=\"`openidConfigurationEndpoint`\"\u003e`openid_configuration_endpoint`\u003c/span\u003e response.\n"},"clientCredentialMethod":{"type":"string","description":"The Client Credential Method used.\n"},"clientId":{"type":"string","description":"The ID of the Client to use to authenticate with the Custom OIDC.\n"},"clientSecretSettingName":{"type":"string","description":"The App Setting name that contains the secret for this Custom OIDC Client. This is generated from \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e above and suffixed with `_PROVIDER_AUTHENTICATION_SECRET`.\n"},"issuerEndpoint":{"type":"string","description":"The endpoint that issued the Token as supplied by \u003cspan pulumi-lang-nodejs=\"`openidConfigurationEndpoint`\" pulumi-lang-dotnet=\"`OpenidConfigurationEndpoint`\" pulumi-lang-go=\"`openidConfigurationEndpoint`\" pulumi-lang-python=\"`openid_configuration_endpoint`\" pulumi-lang-yaml=\"`openidConfigurationEndpoint`\" pulumi-lang-java=\"`openidConfigurationEndpoint`\"\u003e`openid_configuration_endpoint`\u003c/span\u003e response.\n"},"name":{"type":"string","description":"The name of the Custom OIDC Authentication Provider.\n\n\u003e **Note:** An \u003cspan pulumi-lang-nodejs=\"`appSetting`\" pulumi-lang-dotnet=\"`AppSetting`\" pulumi-lang-go=\"`appSetting`\" pulumi-lang-python=\"`app_setting`\" pulumi-lang-yaml=\"`appSetting`\" pulumi-lang-java=\"`appSetting`\"\u003e`app_setting`\u003c/span\u003e matching this value in upper case with the suffix of `_PROVIDER_AUTHENTICATION_SECRET` is required. e.g. `MYOIDC_PROVIDER_AUTHENTICATION_SECRET` for a value of \u003cspan pulumi-lang-nodejs=\"`myoidc`\" pulumi-lang-dotnet=\"`Myoidc`\" pulumi-lang-go=\"`myoidc`\" pulumi-lang-python=\"`myoidc`\" pulumi-lang-yaml=\"`myoidc`\" pulumi-lang-java=\"`myoidc`\"\u003e`myoidc`\u003c/span\u003e.\n"},"nameClaimType":{"type":"string","description":"The name of the claim that contains the users name.\n"},"openidConfigurationEndpoint":{"type":"string","description":"The app setting name that contains the \u003cspan pulumi-lang-nodejs=\"`clientSecret`\" pulumi-lang-dotnet=\"`ClientSecret`\" pulumi-lang-go=\"`clientSecret`\" pulumi-lang-python=\"`client_secret`\" pulumi-lang-yaml=\"`clientSecret`\" pulumi-lang-java=\"`clientSecret`\"\u003e`client_secret`\u003c/span\u003e value used for the Custom OIDC Login.\n"},"scopes":{"type":"array","items":{"type":"string"},"description":"The list of the scopes that should be requested while authenticating.\n"},"tokenEndpoint":{"type":"string","description":"The endpoint used to request a Token as supplied by \u003cspan pulumi-lang-nodejs=\"`openidConfigurationEndpoint`\" pulumi-lang-dotnet=\"`OpenidConfigurationEndpoint`\" pulumi-lang-go=\"`openidConfigurationEndpoint`\" pulumi-lang-python=\"`openid_configuration_endpoint`\" pulumi-lang-yaml=\"`openidConfigurationEndpoint`\" pulumi-lang-java=\"`openidConfigurationEndpoint`\"\u003e`openid_configuration_endpoint`\u003c/span\u003e response.\n"}},"type":"object","required":["clientId","name","openidConfigurationEndpoint"],"language":{"nodejs":{"requiredOutputs":["authorisationEndpoint","certificationUri","clientCredentialMethod","clientId","clientSecretSettingName","issuerEndpoint","name","openidConfigurationEndpoint","tokenEndpoint"]}}},"azure:appservice/WindowsWebAppSlotAuthSettingsV2FacebookV2:WindowsWebAppSlotAuthSettingsV2FacebookV2":{"properties":{"appId":{"type":"string","description":"The App ID of the Facebook app used for login.\n"},"appSecretSettingName":{"type":"string","description":"The app setting name that contains the \u003cspan pulumi-lang-nodejs=\"`appSecret`\" pulumi-lang-dotnet=\"`AppSecret`\" pulumi-lang-go=\"`appSecret`\" pulumi-lang-python=\"`app_secret`\" pulumi-lang-yaml=\"`appSecret`\" pulumi-lang-java=\"`appSecret`\"\u003e`app_secret`\u003c/span\u003e value used for Facebook Login.\n\n!\u003e **Note:** A setting with this name must exist in \u003cspan pulumi-lang-nodejs=\"`appSettings`\" pulumi-lang-dotnet=\"`AppSettings`\" pulumi-lang-go=\"`appSettings`\" pulumi-lang-python=\"`app_settings`\" pulumi-lang-yaml=\"`appSettings`\" pulumi-lang-java=\"`appSettings`\"\u003e`app_settings`\u003c/span\u003e to function correctly.\n"},"graphApiVersion":{"type":"string","description":"The version of the Facebook API to be used while logging in.\n"},"loginScopes":{"type":"array","items":{"type":"string"},"description":"The list of scopes that should be requested as part of Facebook Login authentication.\n"}},"type":"object","required":["appId","appSecretSettingName"],"language":{"nodejs":{"requiredOutputs":["appId","appSecretSettingName","graphApiVersion"]}}},"azure:appservice/WindowsWebAppSlotAuthSettingsV2GithubV2:WindowsWebAppSlotAuthSettingsV2GithubV2":{"properties":{"clientId":{"type":"string","description":"The ID of the GitHub app used for login..\n"},"clientSecretSettingName":{"type":"string","description":"The app setting name that contains the \u003cspan pulumi-lang-nodejs=\"`clientSecret`\" pulumi-lang-dotnet=\"`ClientSecret`\" pulumi-lang-go=\"`clientSecret`\" pulumi-lang-python=\"`client_secret`\" pulumi-lang-yaml=\"`clientSecret`\" pulumi-lang-java=\"`clientSecret`\"\u003e`client_secret`\u003c/span\u003e value used for GitHub Login.\n\n!\u003e **Note:** A setting with this name must exist in \u003cspan pulumi-lang-nodejs=\"`appSettings`\" pulumi-lang-dotnet=\"`AppSettings`\" pulumi-lang-go=\"`appSettings`\" pulumi-lang-python=\"`app_settings`\" pulumi-lang-yaml=\"`appSettings`\" pulumi-lang-java=\"`appSettings`\"\u003e`app_settings`\u003c/span\u003e to function correctly.\n"},"loginScopes":{"type":"array","items":{"type":"string"},"description":"The list of OAuth 2.0 scopes that should be requested as part of GitHub Login authentication.\n"}},"type":"object","required":["clientId","clientSecretSettingName"]},"azure:appservice/WindowsWebAppSlotAuthSettingsV2GoogleV2:WindowsWebAppSlotAuthSettingsV2GoogleV2":{"properties":{"allowedAudiences":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Allowed Audiences that should be requested as part of Google Sign-In authentication.\n"},"clientId":{"type":"string","description":"The OpenID Connect Client ID for the Google web application.\n"},"clientSecretSettingName":{"type":"string","description":"The app setting name that contains the \u003cspan pulumi-lang-nodejs=\"`clientSecret`\" pulumi-lang-dotnet=\"`ClientSecret`\" pulumi-lang-go=\"`clientSecret`\" pulumi-lang-python=\"`client_secret`\" pulumi-lang-yaml=\"`clientSecret`\" pulumi-lang-java=\"`clientSecret`\"\u003e`client_secret`\u003c/span\u003e value used for Google Login.\n\n!\u003e **Note:** A setting with this name must exist in \u003cspan pulumi-lang-nodejs=\"`appSettings`\" pulumi-lang-dotnet=\"`AppSettings`\" pulumi-lang-go=\"`appSettings`\" pulumi-lang-python=\"`app_settings`\" pulumi-lang-yaml=\"`appSettings`\" pulumi-lang-java=\"`appSettings`\"\u003e`app_settings`\u003c/span\u003e to function correctly.\n"},"loginScopes":{"type":"array","items":{"type":"string"},"description":"The list of OAuth 2.0 scopes that should be requested as part of Google Sign-In authentication.\n"}},"type":"object","required":["clientId","clientSecretSettingName"]},"azure:appservice/WindowsWebAppSlotAuthSettingsV2Login:WindowsWebAppSlotAuthSettingsV2Login":{"properties":{"allowedExternalRedirectUrls":{"type":"array","items":{"type":"string"},"description":"External URLs that can be redirected to as part of logging in or logging out of the app. This is an advanced setting typically only needed by Windows Store application backends.\n\n\u003e **Note:** URLs within the current domain are always implicitly allowed.\n"},"cookieExpirationConvention":{"type":"string","description":"The method by which cookies expire. Possible values include: `FixedTime`, and `IdentityProviderDerived`. Defaults to `FixedTime`.\n"},"cookieExpirationTime":{"type":"string","description":"The time after the request is made when the session cookie should expire. Defaults to `08:00:00`.\n"},"logoutEndpoint":{"type":"string","description":"The endpoint to which logout requests should be made.\n"},"nonceExpirationTime":{"type":"string","description":"The time after the request is made when the nonce should expire. Defaults to `00:05:00`.\n"},"preserveUrlFragmentsForLogins":{"type":"boolean","description":"Should the fragments from the request be preserved after the login request is made. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"tokenRefreshExtensionTime":{"type":"number","description":"The number of hours after session token expiration that a session token can be used to call the token refresh API. Defaults to \u003cspan pulumi-lang-nodejs=\"`72`\" pulumi-lang-dotnet=\"`72`\" pulumi-lang-go=\"`72`\" pulumi-lang-python=\"`72`\" pulumi-lang-yaml=\"`72`\" pulumi-lang-java=\"`72`\"\u003e`72`\u003c/span\u003e hours.\n"},"tokenStoreEnabled":{"type":"boolean","description":"Should the Token Store configuration Enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e\n"},"tokenStorePath":{"type":"string","description":"The directory path in the App Filesystem in which the tokens will be stored.\n"},"tokenStoreSasSettingName":{"type":"string","description":"The name of the app setting which contains the SAS URL of the blob storage containing the tokens.\n"},"validateNonce":{"type":"boolean","description":"Should the nonce be validated while completing the login flow. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"}},"type":"object"},"azure:appservice/WindowsWebAppSlotAuthSettingsV2MicrosoftV2:WindowsWebAppSlotAuthSettingsV2MicrosoftV2":{"properties":{"allowedAudiences":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Allowed Audiences that will be requested as part of Microsoft Sign-In authentication.\n"},"clientId":{"type":"string","description":"The OAuth 2.0 client ID that was created for the app used for authentication.\n"},"clientSecretSettingName":{"type":"string","description":"The app setting name containing the OAuth 2.0 client secret that was created for the app used for authentication.\n\n!\u003e **Note:** A setting with this name must exist in \u003cspan pulumi-lang-nodejs=\"`appSettings`\" pulumi-lang-dotnet=\"`AppSettings`\" pulumi-lang-go=\"`appSettings`\" pulumi-lang-python=\"`app_settings`\" pulumi-lang-yaml=\"`appSettings`\" pulumi-lang-java=\"`appSettings`\"\u003e`app_settings`\u003c/span\u003e to function correctly.\n"},"loginScopes":{"type":"array","items":{"type":"string"},"description":"The list of Login scopes that should be requested as part of Microsoft Account authentication.\n"}},"type":"object","required":["clientId","clientSecretSettingName"]},"azure:appservice/WindowsWebAppSlotAuthSettingsV2TwitterV2:WindowsWebAppSlotAuthSettingsV2TwitterV2":{"properties":{"consumerKey":{"type":"string","description":"The OAuth 1.0a consumer key of the Twitter application used for sign-in.\n"},"consumerSecretSettingName":{"type":"string","description":"The app setting name that contains the OAuth 1.0a consumer secret of the Twitter application used for sign-in.\n\n!\u003e **Note:** A setting with this name must exist in \u003cspan pulumi-lang-nodejs=\"`appSettings`\" pulumi-lang-dotnet=\"`AppSettings`\" pulumi-lang-go=\"`appSettings`\" pulumi-lang-python=\"`app_settings`\" pulumi-lang-yaml=\"`appSettings`\" pulumi-lang-java=\"`appSettings`\"\u003e`app_settings`\u003c/span\u003e to function correctly.\n"}},"type":"object","required":["consumerKey","consumerSecretSettingName"]},"azure:appservice/WindowsWebAppSlotBackup:WindowsWebAppSlotBackup":{"properties":{"enabled":{"type":"boolean","description":"Should this backup job be enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"name":{"type":"string","description":"The name which should be used for this Backup.\n"},"schedule":{"$ref":"#/types/azure:appservice/WindowsWebAppSlotBackupSchedule:WindowsWebAppSlotBackupSchedule","description":"A \u003cspan pulumi-lang-nodejs=\"`schedule`\" pulumi-lang-dotnet=\"`Schedule`\" pulumi-lang-go=\"`schedule`\" pulumi-lang-python=\"`schedule`\" pulumi-lang-yaml=\"`schedule`\" pulumi-lang-java=\"`schedule`\"\u003e`schedule`\u003c/span\u003e block as defined below.\n"},"storageAccountUrl":{"type":"string","description":"The SAS URL to the container.\n","secret":true}},"type":"object","required":["name","schedule","storageAccountUrl"]},"azure:appservice/WindowsWebAppSlotBackupSchedule:WindowsWebAppSlotBackupSchedule":{"properties":{"frequencyInterval":{"type":"integer","description":"How often the backup should be executed (e.g. for weekly backup, this should be set to \u003cspan pulumi-lang-nodejs=\"`7`\" pulumi-lang-dotnet=\"`7`\" pulumi-lang-go=\"`7`\" pulumi-lang-python=\"`7`\" pulumi-lang-yaml=\"`7`\" pulumi-lang-java=\"`7`\"\u003e`7`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`frequencyUnit`\" pulumi-lang-dotnet=\"`FrequencyUnit`\" pulumi-lang-go=\"`frequencyUnit`\" pulumi-lang-python=\"`frequency_unit`\" pulumi-lang-yaml=\"`frequencyUnit`\" pulumi-lang-java=\"`frequencyUnit`\"\u003e`frequency_unit`\u003c/span\u003e should be set to `Day`).\n\n\u003e **Note:** Not all intervals are supported on all Windows Web App SKUs. Please refer to the official documentation for appropriate values.\n"},"frequencyUnit":{"type":"string","description":"The unit of time for how often the backup should take place. Possible values include: `Day`, `Hour`\n"},"keepAtLeastOneBackup":{"type":"boolean","description":"Should the service keep at least one backup, regardless of age of backup. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"lastExecutionTime":{"type":"string","description":"The time the backup was last attempted.\n"},"retentionPeriodDays":{"type":"integer","description":"After how many days backups should be deleted. Defaults to \u003cspan pulumi-lang-nodejs=\"`30`\" pulumi-lang-dotnet=\"`30`\" pulumi-lang-go=\"`30`\" pulumi-lang-python=\"`30`\" pulumi-lang-yaml=\"`30`\" pulumi-lang-java=\"`30`\"\u003e`30`\u003c/span\u003e.\n"},"startTime":{"type":"string","description":"When the schedule should start working in RFC-3339 format.\n"}},"type":"object","required":["frequencyInterval","frequencyUnit"],"language":{"nodejs":{"requiredOutputs":["frequencyInterval","frequencyUnit","lastExecutionTime","startTime"]}}},"azure:appservice/WindowsWebAppSlotConnectionString:WindowsWebAppSlotConnectionString":{"properties":{"name":{"type":"string","description":"The name of the connection String.\n"},"type":{"type":"string","description":"Type of database. Possible values include: `APIHub`, `Custom`, `DocDb`, `EventHub`, `MySQL`, `NotificationHub`, `PostgreSQL`, `RedisCache`, `ServiceBus`, `SQLAzure`, and `SQLServer`.\n"},"value":{"type":"string","description":"The connection string value.\n","secret":true}},"type":"object","required":["name","type","value"]},"azure:appservice/WindowsWebAppSlotIdentity:WindowsWebAppSlotIdentity":{"properties":{"identityIds":{"type":"array","items":{"type":"string"},"description":"A list of User Assigned Managed Identity IDs to be assigned to this Windows Web App Slot.\n\n\u003e **Note:** This is required when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to `UserAssigned` or `SystemAssigned, UserAssigned`.\n"},"principalId":{"type":"string","description":"The Principal ID associated with this Managed Service Identity.\n"},"tenantId":{"type":"string","description":"The Tenant ID associated with this Managed Service Identity.\n"},"type":{"type":"string","description":"Specifies the type of Managed Service Identity that should be configured on this Windows Web App Slot. Possible values are `SystemAssigned`, `UserAssigned`, `SystemAssigned, UserAssigned` (to enable both).\n"}},"type":"object","required":["type"],"language":{"nodejs":{"requiredOutputs":["principalId","tenantId","type"]}}},"azure:appservice/WindowsWebAppSlotLogs:WindowsWebAppSlotLogs":{"properties":{"applicationLogs":{"$ref":"#/types/azure:appservice/WindowsWebAppSlotLogsApplicationLogs:WindowsWebAppSlotLogsApplicationLogs","description":"A \u003cspan pulumi-lang-nodejs=\"`applicationLogs`\" pulumi-lang-dotnet=\"`ApplicationLogs`\" pulumi-lang-go=\"`applicationLogs`\" pulumi-lang-python=\"`application_logs`\" pulumi-lang-yaml=\"`applicationLogs`\" pulumi-lang-java=\"`applicationLogs`\"\u003e`application_logs`\u003c/span\u003e block as defined above.\n"},"detailedErrorMessages":{"type":"boolean","description":"Should detailed error messages be enabled.\n"},"failedRequestTracing":{"type":"boolean","description":"Should failed request tracing be enabled.\n"},"httpLogs":{"$ref":"#/types/azure:appservice/WindowsWebAppSlotLogsHttpLogs:WindowsWebAppSlotLogsHttpLogs","description":"An \u003cspan pulumi-lang-nodejs=\"`httpLogs`\" pulumi-lang-dotnet=\"`HttpLogs`\" pulumi-lang-go=\"`httpLogs`\" pulumi-lang-python=\"`http_logs`\" pulumi-lang-yaml=\"`httpLogs`\" pulumi-lang-java=\"`httpLogs`\"\u003e`http_logs`\u003c/span\u003e block as defined above.\n"}},"type":"object"},"azure:appservice/WindowsWebAppSlotLogsApplicationLogs:WindowsWebAppSlotLogsApplicationLogs":{"properties":{"azureBlobStorage":{"$ref":"#/types/azure:appservice/WindowsWebAppSlotLogsApplicationLogsAzureBlobStorage:WindowsWebAppSlotLogsApplicationLogsAzureBlobStorage","description":"An \u003cspan pulumi-lang-nodejs=\"`azureBlobStorage`\" pulumi-lang-dotnet=\"`AzureBlobStorage`\" pulumi-lang-go=\"`azureBlobStorage`\" pulumi-lang-python=\"`azure_blob_storage`\" pulumi-lang-yaml=\"`azureBlobStorage`\" pulumi-lang-java=\"`azureBlobStorage`\"\u003e`azure_blob_storage`\u003c/span\u003e block as defined below.\n"},"fileSystemLevel":{"type":"string","description":"Log level. Possible values include: `Off`, `Verbose`, `Information`, `Warning`, and `Error`.\n"}},"type":"object","required":["fileSystemLevel"]},"azure:appservice/WindowsWebAppSlotLogsApplicationLogsAzureBlobStorage:WindowsWebAppSlotLogsApplicationLogsAzureBlobStorage":{"properties":{"level":{"type":"string","description":"The level at which to log. Possible values include `Error`, `Warning`, `Information`, `Verbose` and `Off`. **NOTE:** this field is not available for \u003cspan pulumi-lang-nodejs=\"`httpLogs`\" pulumi-lang-dotnet=\"`HttpLogs`\" pulumi-lang-go=\"`httpLogs`\" pulumi-lang-python=\"`http_logs`\" pulumi-lang-yaml=\"`httpLogs`\" pulumi-lang-java=\"`httpLogs`\"\u003e`http_logs`\u003c/span\u003e\n"},"retentionInDays":{"type":"integer","description":"The time in days after which to remove blobs. A value of \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e means no retention.\n"},"sasUrl":{"type":"string","description":"SAS url to an Azure blob container with read/write/list/delete permissions.\n\n\u003e **Note:** There isn't enough information to for the provider to generate the \u003cspan pulumi-lang-nodejs=\"`sasUrl`\" pulumi-lang-dotnet=\"`SasUrl`\" pulumi-lang-go=\"`sasUrl`\" pulumi-lang-python=\"`sas_url`\" pulumi-lang-yaml=\"`sasUrl`\" pulumi-lang-java=\"`sasUrl`\"\u003e`sas_url`\u003c/span\u003e from `data.azurerm_storage_account_sas` and it should be built by hand (i.e. `https://${azurerm_storage_account.example.name}.blob.core.windows.net/${azurerm_storage_container.example.name}${data.azurerm_storage_account_sas.example.sas}\u0026sr=b`).\n"}},"type":"object","required":["level","retentionInDays","sasUrl"]},"azure:appservice/WindowsWebAppSlotLogsHttpLogs:WindowsWebAppSlotLogsHttpLogs":{"properties":{"azureBlobStorage":{"$ref":"#/types/azure:appservice/WindowsWebAppSlotLogsHttpLogsAzureBlobStorage:WindowsWebAppSlotLogsHttpLogsAzureBlobStorage","description":"A \u003cspan pulumi-lang-nodejs=\"`azureBlobStorageHttp`\" pulumi-lang-dotnet=\"`AzureBlobStorageHttp`\" pulumi-lang-go=\"`azureBlobStorageHttp`\" pulumi-lang-python=\"`azure_blob_storage_http`\" pulumi-lang-yaml=\"`azureBlobStorageHttp`\" pulumi-lang-java=\"`azureBlobStorageHttp`\"\u003e`azure_blob_storage_http`\u003c/span\u003e block as defined above.\n"},"fileSystem":{"$ref":"#/types/azure:appservice/WindowsWebAppSlotLogsHttpLogsFileSystem:WindowsWebAppSlotLogsHttpLogsFileSystem","description":"A \u003cspan pulumi-lang-nodejs=\"`fileSystem`\" pulumi-lang-dotnet=\"`FileSystem`\" pulumi-lang-go=\"`fileSystem`\" pulumi-lang-python=\"`file_system`\" pulumi-lang-yaml=\"`fileSystem`\" pulumi-lang-java=\"`fileSystem`\"\u003e`file_system`\u003c/span\u003e block as defined above.\n"}},"type":"object"},"azure:appservice/WindowsWebAppSlotLogsHttpLogsAzureBlobStorage:WindowsWebAppSlotLogsHttpLogsAzureBlobStorage":{"properties":{"retentionInDays":{"type":"integer","description":"The time in days after which to remove blobs. A value of \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e means no retention.\n"},"sasUrl":{"type":"string","description":"SAS url to an Azure blob container with read/write/list/delete permissions.\n\n\u003e **Note:** There isn't enough information to for the provider to generate the \u003cspan pulumi-lang-nodejs=\"`sasUrl`\" pulumi-lang-dotnet=\"`SasUrl`\" pulumi-lang-go=\"`sasUrl`\" pulumi-lang-python=\"`sas_url`\" pulumi-lang-yaml=\"`sasUrl`\" pulumi-lang-java=\"`sasUrl`\"\u003e`sas_url`\u003c/span\u003e from `data.azurerm_storage_account_sas` and it should be built by hand (i.e. `https://${azurerm_storage_account.example.name}.blob.core.windows.net/${azurerm_storage_container.example.name}${data.azurerm_storage_account_sas.example.sas}\u0026sr=b`).\n","secret":true}},"type":"object","required":["sasUrl"]},"azure:appservice/WindowsWebAppSlotLogsHttpLogsFileSystem:WindowsWebAppSlotLogsHttpLogsFileSystem":{"properties":{"retentionInDays":{"type":"integer","description":"The retention period in days. A values of \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e means no retention.\n"},"retentionInMb":{"type":"integer","description":"The maximum size in megabytes that log files can use.\n"}},"type":"object","required":["retentionInDays","retentionInMb"]},"azure:appservice/WindowsWebAppSlotSiteConfig:WindowsWebAppSlotSiteConfig":{"properties":{"alwaysOn":{"type":"boolean","description":"If this Windows Web App Slot is Always On enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"apiDefinitionUrl":{"type":"string","description":"The URL to the API Definition for this Windows Web App Slot.\n"},"apiManagementApiId":{"type":"string","description":"The API Management API ID this Windows Web App Slot os associated with.\n"},"appCommandLine":{"type":"string","description":"The App command line to launch.\n"},"applicationStack":{"$ref":"#/types/azure:appservice/WindowsWebAppSlotSiteConfigApplicationStack:WindowsWebAppSlotSiteConfigApplicationStack","description":"A \u003cspan pulumi-lang-nodejs=\"`applicationStack`\" pulumi-lang-dotnet=\"`ApplicationStack`\" pulumi-lang-go=\"`applicationStack`\" pulumi-lang-python=\"`application_stack`\" pulumi-lang-yaml=\"`applicationStack`\" pulumi-lang-java=\"`applicationStack`\"\u003e`application_stack`\u003c/span\u003e block as defined above.\n"},"autoHealSetting":{"$ref":"#/types/azure:appservice/WindowsWebAppSlotSiteConfigAutoHealSetting:WindowsWebAppSlotSiteConfigAutoHealSetting","description":"A \u003cspan pulumi-lang-nodejs=\"`autoHealSetting`\" pulumi-lang-dotnet=\"`AutoHealSetting`\" pulumi-lang-go=\"`autoHealSetting`\" pulumi-lang-python=\"`auto_heal_setting`\" pulumi-lang-yaml=\"`autoHealSetting`\" pulumi-lang-java=\"`autoHealSetting`\"\u003e`auto_heal_setting`\u003c/span\u003e block as defined above. Required with \u003cspan pulumi-lang-nodejs=\"`autoHeal`\" pulumi-lang-dotnet=\"`AutoHeal`\" pulumi-lang-go=\"`autoHeal`\" pulumi-lang-python=\"`auto_heal`\" pulumi-lang-yaml=\"`autoHeal`\" pulumi-lang-java=\"`autoHeal`\"\u003e`auto_heal`\u003c/span\u003e.\n"},"autoSwapSlotName":{"type":"string","description":"The Windows Web App Slot Name to automatically swap to when deployment to that slot is successfully completed.\n\n\u003e **Note:** This must be a valid slot name on the target Windows Web App Slot.\n"},"containerRegistryManagedIdentityClientId":{"type":"string","description":"The Client ID of the Managed Service Identity to use for connections to the Azure Container Registry.\n"},"containerRegistryUseManagedIdentity":{"type":"boolean","description":"Should connections for Azure Container Registry use Managed Identity.\n"},"cors":{"$ref":"#/types/azure:appservice/WindowsWebAppSlotSiteConfigCors:WindowsWebAppSlotSiteConfigCors","description":"A \u003cspan pulumi-lang-nodejs=\"`cors`\" pulumi-lang-dotnet=\"`Cors`\" pulumi-lang-go=\"`cors`\" pulumi-lang-python=\"`cors`\" pulumi-lang-yaml=\"`cors`\" pulumi-lang-java=\"`cors`\"\u003e`cors`\u003c/span\u003e block as defined above.\n"},"defaultDocuments":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Default Documents for the Windows Web App Slot.\n"},"detailedErrorLoggingEnabled":{"type":"boolean"},"ftpsState":{"type":"string","description":"The State of FTP / FTPS service. Possible values include: `AllAllowed`, `FtpsOnly`, `Disabled`. Defaults to `Disabled`.\n\n\u003e **Note:** Azure defaults this value to `AllAllowed`, however, in the interests of security Terraform will default this to `Disabled` to ensure the user makes a conscious choice to enable it.\n"},"handlerMappings":{"type":"array","items":{"$ref":"#/types/azure:appservice/WindowsWebAppSlotSiteConfigHandlerMapping:WindowsWebAppSlotSiteConfigHandlerMapping"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`handlerMapping`\" pulumi-lang-dotnet=\"`HandlerMapping`\" pulumi-lang-go=\"`handlerMapping`\" pulumi-lang-python=\"`handler_mapping`\" pulumi-lang-yaml=\"`handlerMapping`\" pulumi-lang-java=\"`handlerMapping`\"\u003e`handler_mapping`\u003c/span\u003e blocks as defined below.\n"},"healthCheckEvictionTimeInMin":{"type":"integer","description":"The amount of time in minutes that a node can be unhealthy before being removed from the load balancer. Possible values are between \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`10`\" pulumi-lang-dotnet=\"`10`\" pulumi-lang-go=\"`10`\" pulumi-lang-python=\"`10`\" pulumi-lang-yaml=\"`10`\" pulumi-lang-java=\"`10`\"\u003e`10`\u003c/span\u003e. Only valid in conjunction with \u003cspan pulumi-lang-nodejs=\"`healthCheckPath`\" pulumi-lang-dotnet=\"`HealthCheckPath`\" pulumi-lang-go=\"`healthCheckPath`\" pulumi-lang-python=\"`health_check_path`\" pulumi-lang-yaml=\"`healthCheckPath`\" pulumi-lang-java=\"`healthCheckPath`\"\u003e`health_check_path`\u003c/span\u003e.\n"},"healthCheckPath":{"type":"string","description":"The path to the Health Check.\n"},"http2Enabled":{"type":"boolean","description":"Should the HTTP2 be enabled?\n"},"ipRestrictionDefaultAction":{"type":"string","description":"The Default action for traffic that does not match any \u003cspan pulumi-lang-nodejs=\"`ipRestriction`\" pulumi-lang-dotnet=\"`IpRestriction`\" pulumi-lang-go=\"`ipRestriction`\" pulumi-lang-python=\"`ip_restriction`\" pulumi-lang-yaml=\"`ipRestriction`\" pulumi-lang-java=\"`ipRestriction`\"\u003e`ip_restriction`\u003c/span\u003e rule. possible values include `Allow` and `Deny`. Defaults to `Allow`.\n"},"ipRestrictions":{"type":"array","items":{"$ref":"#/types/azure:appservice/WindowsWebAppSlotSiteConfigIpRestriction:WindowsWebAppSlotSiteConfigIpRestriction"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`ipRestriction`\" pulumi-lang-dotnet=\"`IpRestriction`\" pulumi-lang-go=\"`ipRestriction`\" pulumi-lang-python=\"`ip_restriction`\" pulumi-lang-yaml=\"`ipRestriction`\" pulumi-lang-java=\"`ipRestriction`\"\u003e`ip_restriction`\u003c/span\u003e blocks as defined above.\n"},"loadBalancingMode":{"type":"string","description":"The Site load balancing. Possible values include: `WeightedRoundRobin`, `LeastRequests`, `LeastResponseTime`, `WeightedTotalTraffic`, `RequestHash`, `PerSiteRoundRobin`. Defaults to `LeastRequests` if omitted.\n"},"localMysqlEnabled":{"type":"boolean","description":"Use Local MySQL. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"managedPipelineMode":{"type":"string","description":"Managed pipeline mode. Possible values include: `Integrated`, `Classic`. Defaults to `Integrated`.\n"},"minimumTlsVersion":{"type":"string","description":"The configures the minimum version of TLS required for SSL requests. Possible values are `1.1`, `1.3`, `1.2` and `1.0`. Defaults to `1.2`.\n"},"remoteDebuggingEnabled":{"type":"boolean","description":"Should Remote Debugging be enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"remoteDebuggingVersion":{"type":"string","description":"The Remote Debugging Version. Currently only `VS2022` is supported.\n"},"scmIpRestrictionDefaultAction":{"type":"string","description":"The Default action for traffic that does not match any \u003cspan pulumi-lang-nodejs=\"`scmIpRestriction`\" pulumi-lang-dotnet=\"`ScmIpRestriction`\" pulumi-lang-go=\"`scmIpRestriction`\" pulumi-lang-python=\"`scm_ip_restriction`\" pulumi-lang-yaml=\"`scmIpRestriction`\" pulumi-lang-java=\"`scmIpRestriction`\"\u003e`scm_ip_restriction`\u003c/span\u003e rule. possible values include `Allow` and `Deny`. Defaults to `Allow`.\n"},"scmIpRestrictions":{"type":"array","items":{"$ref":"#/types/azure:appservice/WindowsWebAppSlotSiteConfigScmIpRestriction:WindowsWebAppSlotSiteConfigScmIpRestriction"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`scmIpRestriction`\" pulumi-lang-dotnet=\"`ScmIpRestriction`\" pulumi-lang-go=\"`scmIpRestriction`\" pulumi-lang-python=\"`scm_ip_restriction`\" pulumi-lang-yaml=\"`scmIpRestriction`\" pulumi-lang-java=\"`scmIpRestriction`\"\u003e`scm_ip_restriction`\u003c/span\u003e blocks as defined above.\n"},"scmMinimumTlsVersion":{"type":"string","description":"The configures the minimum version of TLS required for SSL requests to the SCM site Possible values are `1.1`, `1.3`, `1.2` and `1.0`. Defaults to `1.2`.\n"},"scmType":{"type":"string"},"scmUseMainIpRestriction":{"type":"boolean","description":"Should the Windows Web App Slot \u003cspan pulumi-lang-nodejs=\"`ipRestriction`\" pulumi-lang-dotnet=\"`IpRestriction`\" pulumi-lang-go=\"`ipRestriction`\" pulumi-lang-python=\"`ip_restriction`\" pulumi-lang-yaml=\"`ipRestriction`\" pulumi-lang-java=\"`ipRestriction`\"\u003e`ip_restriction`\u003c/span\u003e configuration be used for the SCM also.\n"},"use32BitWorker":{"type":"boolean","description":"Should the Windows Web App Slot use a 32-bit worker. The default value varies from different service plans.\n"},"virtualApplications":{"type":"array","items":{"$ref":"#/types/azure:appservice/WindowsWebAppSlotSiteConfigVirtualApplication:WindowsWebAppSlotSiteConfigVirtualApplication"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`virtualApplication`\" pulumi-lang-dotnet=\"`VirtualApplication`\" pulumi-lang-go=\"`virtualApplication`\" pulumi-lang-python=\"`virtual_application`\" pulumi-lang-yaml=\"`virtualApplication`\" pulumi-lang-java=\"`virtualApplication`\"\u003e`virtual_application`\u003c/span\u003e blocks as defined below.\n"},"vnetRouteAllEnabled":{"type":"boolean","description":"Should all outbound traffic to have NAT Gateways, Network Security Groups and User Defined Routes applied? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"websocketsEnabled":{"type":"boolean","description":"Should Web Sockets be enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"windowsFxVersion":{"type":"string"},"workerCount":{"type":"integer","description":"The number of Workers for this Windows App Service Slot.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["applicationStack","defaultDocuments","detailedErrorLoggingEnabled","remoteDebuggingVersion","scmType","use32BitWorker","windowsFxVersion","workerCount"]}}},"azure:appservice/WindowsWebAppSlotSiteConfigApplicationStack:WindowsWebAppSlotSiteConfigApplicationStack":{"properties":{"currentStack":{"type":"string","description":"The Application Stack for the Windows Web App. Possible values include \u003cspan pulumi-lang-nodejs=\"`dotnet`\" pulumi-lang-dotnet=\"`Dotnet`\" pulumi-lang-go=\"`dotnet`\" pulumi-lang-python=\"`dotnet`\" pulumi-lang-yaml=\"`dotnet`\" pulumi-lang-java=\"`dotnet`\"\u003e`dotnet`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`dotnetcore`\" pulumi-lang-dotnet=\"`Dotnetcore`\" pulumi-lang-go=\"`dotnetcore`\" pulumi-lang-python=\"`dotnetcore`\" pulumi-lang-yaml=\"`dotnetcore`\" pulumi-lang-java=\"`dotnetcore`\"\u003e`dotnetcore`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`node`\" pulumi-lang-dotnet=\"`Node`\" pulumi-lang-go=\"`node`\" pulumi-lang-python=\"`node`\" pulumi-lang-yaml=\"`node`\" pulumi-lang-java=\"`node`\"\u003e`node`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`python`\" pulumi-lang-dotnet=\"`Python`\" pulumi-lang-go=\"`python`\" pulumi-lang-python=\"`python`\" pulumi-lang-yaml=\"`python`\" pulumi-lang-java=\"`python`\"\u003e`python`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`php`\" pulumi-lang-dotnet=\"`Php`\" pulumi-lang-go=\"`php`\" pulumi-lang-python=\"`php`\" pulumi-lang-yaml=\"`php`\" pulumi-lang-java=\"`php`\"\u003e`php`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`java`\" pulumi-lang-dotnet=\"`Java`\" pulumi-lang-go=\"`java`\" pulumi-lang-python=\"`java`\" pulumi-lang-yaml=\"`java`\" pulumi-lang-java=\"`java`\"\u003e`java`\u003c/span\u003e.\n\n\u003e **Note:** Whilst this property is Optional omitting it can cause unexpected behaviour, in particular for display of settings in the Azure Portal.\n"},"dockerImageName":{"type":"string","description":"The docker image, including tag, to be used. e.g. `azure-app-service/windows/parkingpage:latest`.\n"},"dockerRegistryPassword":{"type":"string","description":"The User Name to use for authentication against the registry to pull the image.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`dockerRegistryUrl`\" pulumi-lang-dotnet=\"`DockerRegistryUrl`\" pulumi-lang-go=\"`dockerRegistryUrl`\" pulumi-lang-python=\"`docker_registry_url`\" pulumi-lang-yaml=\"`dockerRegistryUrl`\" pulumi-lang-java=\"`dockerRegistryUrl`\"\u003e`docker_registry_url`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`dockerRegistryUsername`\" pulumi-lang-dotnet=\"`DockerRegistryUsername`\" pulumi-lang-go=\"`dockerRegistryUsername`\" pulumi-lang-python=\"`docker_registry_username`\" pulumi-lang-yaml=\"`dockerRegistryUsername`\" pulumi-lang-java=\"`dockerRegistryUsername`\"\u003e`docker_registry_username`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`dockerRegistryPassword`\" pulumi-lang-dotnet=\"`DockerRegistryPassword`\" pulumi-lang-go=\"`dockerRegistryPassword`\" pulumi-lang-python=\"`docker_registry_password`\" pulumi-lang-yaml=\"`dockerRegistryPassword`\" pulumi-lang-java=\"`dockerRegistryPassword`\"\u003e`docker_registry_password`\u003c/span\u003e replace the use of the \u003cspan pulumi-lang-nodejs=\"`appSettings`\" pulumi-lang-dotnet=\"`AppSettings`\" pulumi-lang-go=\"`appSettings`\" pulumi-lang-python=\"`app_settings`\" pulumi-lang-yaml=\"`appSettings`\" pulumi-lang-java=\"`appSettings`\"\u003e`app_settings`\u003c/span\u003e values of `DOCKER_REGISTRY_SERVER_URL`, `DOCKER_REGISTRY_SERVER_USERNAME` and `DOCKER_REGISTRY_SERVER_PASSWORD` respectively, these values will be managed by the provider and should not be specified in the \u003cspan pulumi-lang-nodejs=\"`appSettings`\" pulumi-lang-dotnet=\"`AppSettings`\" pulumi-lang-go=\"`appSettings`\" pulumi-lang-python=\"`app_settings`\" pulumi-lang-yaml=\"`appSettings`\" pulumi-lang-java=\"`appSettings`\"\u003e`app_settings`\u003c/span\u003e map.\n","secret":true},"dockerRegistryUrl":{"type":"string","description":"The URL of the container registry where the \u003cspan pulumi-lang-nodejs=\"`dockerImageName`\" pulumi-lang-dotnet=\"`DockerImageName`\" pulumi-lang-go=\"`dockerImageName`\" pulumi-lang-python=\"`docker_image_name`\" pulumi-lang-yaml=\"`dockerImageName`\" pulumi-lang-java=\"`dockerImageName`\"\u003e`docker_image_name`\u003c/span\u003e is located. e.g. `https://index.docker.io` or `https://mcr.microsoft.com`. This value is required with \u003cspan pulumi-lang-nodejs=\"`dockerImageName`\" pulumi-lang-dotnet=\"`DockerImageName`\" pulumi-lang-go=\"`dockerImageName`\" pulumi-lang-python=\"`docker_image_name`\" pulumi-lang-yaml=\"`dockerImageName`\" pulumi-lang-java=\"`dockerImageName`\"\u003e`docker_image_name`\u003c/span\u003e.\n"},"dockerRegistryUsername":{"type":"string","description":"The User Name to use for authentication against the registry to pull the image.\n"},"dotnetCoreVersion":{"type":"string","description":"The version of .NET to use when \u003cspan pulumi-lang-nodejs=\"`currentStack`\" pulumi-lang-dotnet=\"`CurrentStack`\" pulumi-lang-go=\"`currentStack`\" pulumi-lang-python=\"`current_stack`\" pulumi-lang-yaml=\"`currentStack`\" pulumi-lang-java=\"`currentStack`\"\u003e`current_stack`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`dotnetcore`\" pulumi-lang-dotnet=\"`Dotnetcore`\" pulumi-lang-go=\"`dotnetcore`\" pulumi-lang-python=\"`dotnetcore`\" pulumi-lang-yaml=\"`dotnetcore`\" pulumi-lang-java=\"`dotnetcore`\"\u003e`dotnetcore`\u003c/span\u003e. Possible values include `v4.0`.\n"},"dotnetVersion":{"type":"string","description":"The version of .NET to use when \u003cspan pulumi-lang-nodejs=\"`currentStack`\" pulumi-lang-dotnet=\"`CurrentStack`\" pulumi-lang-go=\"`currentStack`\" pulumi-lang-python=\"`current_stack`\" pulumi-lang-yaml=\"`currentStack`\" pulumi-lang-java=\"`currentStack`\"\u003e`current_stack`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`dotnet`\" pulumi-lang-dotnet=\"`Dotnet`\" pulumi-lang-go=\"`dotnet`\" pulumi-lang-python=\"`dotnet`\" pulumi-lang-yaml=\"`dotnet`\" pulumi-lang-java=\"`dotnet`\"\u003e`dotnet`\u003c/span\u003e. Possible values include `v2.0`,`v3.0`, `v4.0`, `v5.0`, `v6.0`, `v7.0`, `v8.0`, `v9.0` and `v10.0`.\n"},"javaContainer":{"type":"string","deprecationMessage":"this property has been deprecated in favour of \u003cspan pulumi-lang-nodejs=\"`tomcatVersion`\" pulumi-lang-dotnet=\"`TomcatVersion`\" pulumi-lang-go=\"`tomcatVersion`\" pulumi-lang-python=\"`tomcat_version`\" pulumi-lang-yaml=\"`tomcatVersion`\" pulumi-lang-java=\"`tomcatVersion`\"\u003e`tomcat_version`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`javaEmbeddedServerEnabled`\" pulumi-lang-dotnet=\"`JavaEmbeddedServerEnabled`\" pulumi-lang-go=\"`javaEmbeddedServerEnabled`\" pulumi-lang-python=\"`java_embedded_server_enabled`\" pulumi-lang-yaml=\"`javaEmbeddedServerEnabled`\" pulumi-lang-java=\"`javaEmbeddedServerEnabled`\"\u003e`java_embedded_server_enabled`\u003c/span\u003e"},"javaContainerVersion":{"type":"string","deprecationMessage":"This property has been deprecated in favour of \u003cspan pulumi-lang-nodejs=\"`tomcatVersion`\" pulumi-lang-dotnet=\"`TomcatVersion`\" pulumi-lang-go=\"`tomcatVersion`\" pulumi-lang-python=\"`tomcat_version`\" pulumi-lang-yaml=\"`tomcatVersion`\" pulumi-lang-java=\"`tomcatVersion`\"\u003e`tomcat_version`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`javaEmbeddedServerEnabled`\" pulumi-lang-dotnet=\"`JavaEmbeddedServerEnabled`\" pulumi-lang-go=\"`javaEmbeddedServerEnabled`\" pulumi-lang-python=\"`java_embedded_server_enabled`\" pulumi-lang-yaml=\"`javaEmbeddedServerEnabled`\" pulumi-lang-java=\"`javaEmbeddedServerEnabled`\"\u003e`java_embedded_server_enabled`\u003c/span\u003e"},"javaEmbeddedServerEnabled":{"type":"boolean","description":"Should the Java Embedded Server (Java SE) be used to run the app.\n"},"javaVersion":{"type":"string","description":"The version of Java to use when \u003cspan pulumi-lang-nodejs=\"`currentStack`\" pulumi-lang-dotnet=\"`CurrentStack`\" pulumi-lang-go=\"`currentStack`\" pulumi-lang-python=\"`current_stack`\" pulumi-lang-yaml=\"`currentStack`\" pulumi-lang-java=\"`currentStack`\"\u003e`current_stack`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`java`\" pulumi-lang-dotnet=\"`Java`\" pulumi-lang-go=\"`java`\" pulumi-lang-python=\"`java`\" pulumi-lang-yaml=\"`java`\" pulumi-lang-java=\"`java`\"\u003e`java`\u003c/span\u003e. Possible values include `1.7`, `1.8`, \u003cspan pulumi-lang-nodejs=\"`11`\" pulumi-lang-dotnet=\"`11`\" pulumi-lang-go=\"`11`\" pulumi-lang-python=\"`11`\" pulumi-lang-yaml=\"`11`\" pulumi-lang-java=\"`11`\"\u003e`11`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`17`\" pulumi-lang-dotnet=\"`17`\" pulumi-lang-go=\"`17`\" pulumi-lang-python=\"`17`\" pulumi-lang-yaml=\"`17`\" pulumi-lang-java=\"`17`\"\u003e`17`\u003c/span\u003e. Required with \u003cspan pulumi-lang-nodejs=\"`javaContainer`\" pulumi-lang-dotnet=\"`JavaContainer`\" pulumi-lang-go=\"`javaContainer`\" pulumi-lang-python=\"`java_container`\" pulumi-lang-yaml=\"`javaContainer`\" pulumi-lang-java=\"`javaContainer`\"\u003e`java_container`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`javaContainerVersion`\" pulumi-lang-dotnet=\"`JavaContainerVersion`\" pulumi-lang-go=\"`javaContainerVersion`\" pulumi-lang-python=\"`java_container_version`\" pulumi-lang-yaml=\"`javaContainerVersion`\" pulumi-lang-java=\"`javaContainerVersion`\"\u003e`java_container_version`\u003c/span\u003e.\n\n\u003e **Note:** For compatible combinations of \u003cspan pulumi-lang-nodejs=\"`javaVersion`\" pulumi-lang-dotnet=\"`JavaVersion`\" pulumi-lang-go=\"`javaVersion`\" pulumi-lang-python=\"`java_version`\" pulumi-lang-yaml=\"`javaVersion`\" pulumi-lang-java=\"`javaVersion`\"\u003e`java_version`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`javaContainer`\" pulumi-lang-dotnet=\"`JavaContainer`\" pulumi-lang-go=\"`javaContainer`\" pulumi-lang-python=\"`java_container`\" pulumi-lang-yaml=\"`javaContainer`\" pulumi-lang-java=\"`javaContainer`\"\u003e`java_container`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`javaContainerVersion`\" pulumi-lang-dotnet=\"`JavaContainerVersion`\" pulumi-lang-go=\"`javaContainerVersion`\" pulumi-lang-python=\"`java_container_version`\" pulumi-lang-yaml=\"`javaContainerVersion`\" pulumi-lang-java=\"`javaContainerVersion`\"\u003e`java_container_version`\u003c/span\u003e users can use `az webapp list-runtimes` from command line.\n"},"nodeVersion":{"type":"string","description":"The version of node to use when \u003cspan pulumi-lang-nodejs=\"`currentStack`\" pulumi-lang-dotnet=\"`CurrentStack`\" pulumi-lang-go=\"`currentStack`\" pulumi-lang-python=\"`current_stack`\" pulumi-lang-yaml=\"`currentStack`\" pulumi-lang-java=\"`currentStack`\"\u003e`current_stack`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`node`\" pulumi-lang-dotnet=\"`Node`\" pulumi-lang-go=\"`node`\" pulumi-lang-python=\"`node`\" pulumi-lang-yaml=\"`node`\" pulumi-lang-java=\"`node`\"\u003e`node`\u003c/span\u003e. Possible values include `~12`, `~14`, `~16`, `~18`, `~20` and `~22`.\n\n\u003e **Note:** This property conflicts with \u003cspan pulumi-lang-nodejs=\"`javaVersion`\" pulumi-lang-dotnet=\"`JavaVersion`\" pulumi-lang-go=\"`javaVersion`\" pulumi-lang-python=\"`java_version`\" pulumi-lang-yaml=\"`javaVersion`\" pulumi-lang-java=\"`javaVersion`\"\u003e`java_version`\u003c/span\u003e.\n"},"phpVersion":{"type":"string","description":"The version of PHP to use when \u003cspan pulumi-lang-nodejs=\"`currentStack`\" pulumi-lang-dotnet=\"`CurrentStack`\" pulumi-lang-go=\"`currentStack`\" pulumi-lang-python=\"`current_stack`\" pulumi-lang-yaml=\"`currentStack`\" pulumi-lang-java=\"`currentStack`\"\u003e`current_stack`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`php`\" pulumi-lang-dotnet=\"`Php`\" pulumi-lang-go=\"`php`\" pulumi-lang-python=\"`php`\" pulumi-lang-yaml=\"`php`\" pulumi-lang-java=\"`php`\"\u003e`php`\u003c/span\u003e. Possible values are `7.1`, `7.4` and `Off`.\n\n\u003e **Note:** The value `Off` is used to signify latest supported by the service.\n"},"python":{"type":"boolean","description":"The app is a Python app. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"tomcatVersion":{"type":"string","description":"The version of Tomcat the Java App should use.\n\n\u003e **Note:** See the official documentation for current supported versions.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["currentStack","dotnetVersion","javaEmbeddedServerEnabled","phpVersion"]}}},"azure:appservice/WindowsWebAppSlotSiteConfigAutoHealSetting:WindowsWebAppSlotSiteConfigAutoHealSetting":{"properties":{"action":{"$ref":"#/types/azure:appservice/WindowsWebAppSlotSiteConfigAutoHealSettingAction:WindowsWebAppSlotSiteConfigAutoHealSettingAction","description":"A \u003cspan pulumi-lang-nodejs=\"`action`\" pulumi-lang-dotnet=\"`Action`\" pulumi-lang-go=\"`action`\" pulumi-lang-python=\"`action`\" pulumi-lang-yaml=\"`action`\" pulumi-lang-java=\"`action`\"\u003e`action`\u003c/span\u003e block as defined above.\n"},"trigger":{"$ref":"#/types/azure:appservice/WindowsWebAppSlotSiteConfigAutoHealSettingTrigger:WindowsWebAppSlotSiteConfigAutoHealSettingTrigger","description":"A \u003cspan pulumi-lang-nodejs=\"`trigger`\" pulumi-lang-dotnet=\"`Trigger`\" pulumi-lang-go=\"`trigger`\" pulumi-lang-python=\"`trigger`\" pulumi-lang-yaml=\"`trigger`\" pulumi-lang-java=\"`trigger`\"\u003e`trigger`\u003c/span\u003e block as defined below.\n"}},"type":"object","required":["action","trigger"]},"azure:appservice/WindowsWebAppSlotSiteConfigAutoHealSettingAction:WindowsWebAppSlotSiteConfigAutoHealSettingAction":{"properties":{"actionType":{"type":"string","description":"Predefined action to be taken to an Auto Heal trigger. Possible values are `CustomAction`, `LogEvent` and `Recycle`.\n"},"customAction":{"$ref":"#/types/azure:appservice/WindowsWebAppSlotSiteConfigAutoHealSettingActionCustomAction:WindowsWebAppSlotSiteConfigAutoHealSettingActionCustomAction","description":"A \u003cspan pulumi-lang-nodejs=\"`customAction`\" pulumi-lang-dotnet=\"`CustomAction`\" pulumi-lang-go=\"`customAction`\" pulumi-lang-python=\"`custom_action`\" pulumi-lang-yaml=\"`customAction`\" pulumi-lang-java=\"`customAction`\"\u003e`custom_action`\u003c/span\u003e block as defined below.\n"},"minimumProcessExecutionTime":{"type":"string","description":"The minimum amount of time in `hh:mm:ss` the Windows Web App Slot must have been running before the defined action will be run in the event of a trigger.\n"}},"type":"object","required":["actionType"],"language":{"nodejs":{"requiredOutputs":["actionType","minimumProcessExecutionTime"]}}},"azure:appservice/WindowsWebAppSlotSiteConfigAutoHealSettingActionCustomAction:WindowsWebAppSlotSiteConfigAutoHealSettingActionCustomAction":{"properties":{"executable":{"type":"string","description":"The executable to run for the \u003cspan pulumi-lang-nodejs=\"`customAction`\" pulumi-lang-dotnet=\"`CustomAction`\" pulumi-lang-go=\"`customAction`\" pulumi-lang-python=\"`custom_action`\" pulumi-lang-yaml=\"`customAction`\" pulumi-lang-java=\"`customAction`\"\u003e`custom_action`\u003c/span\u003e.\n"},"parameters":{"type":"string","description":"The parameters to pass to the specified \u003cspan pulumi-lang-nodejs=\"`executable`\" pulumi-lang-dotnet=\"`Executable`\" pulumi-lang-go=\"`executable`\" pulumi-lang-python=\"`executable`\" pulumi-lang-yaml=\"`executable`\" pulumi-lang-java=\"`executable`\"\u003e`executable`\u003c/span\u003e.\n"}},"type":"object","required":["executable"]},"azure:appservice/WindowsWebAppSlotSiteConfigAutoHealSettingTrigger:WindowsWebAppSlotSiteConfigAutoHealSettingTrigger":{"properties":{"privateMemoryKb":{"type":"integer","description":"The amount of Private Memory to be consumed for this rule to trigger. Possible values are between \u003cspan pulumi-lang-nodejs=\"`102400`\" pulumi-lang-dotnet=\"`102400`\" pulumi-lang-go=\"`102400`\" pulumi-lang-python=\"`102400`\" pulumi-lang-yaml=\"`102400`\" pulumi-lang-java=\"`102400`\"\u003e`102400`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`13631488`\" pulumi-lang-dotnet=\"`13631488`\" pulumi-lang-go=\"`13631488`\" pulumi-lang-python=\"`13631488`\" pulumi-lang-yaml=\"`13631488`\" pulumi-lang-java=\"`13631488`\"\u003e`13631488`\u003c/span\u003e.\n"},"requests":{"$ref":"#/types/azure:appservice/WindowsWebAppSlotSiteConfigAutoHealSettingTriggerRequests:WindowsWebAppSlotSiteConfigAutoHealSettingTriggerRequests","description":"A \u003cspan pulumi-lang-nodejs=\"`requests`\" pulumi-lang-dotnet=\"`Requests`\" pulumi-lang-go=\"`requests`\" pulumi-lang-python=\"`requests`\" pulumi-lang-yaml=\"`requests`\" pulumi-lang-java=\"`requests`\"\u003e`requests`\u003c/span\u003e block as defined above.\n"},"slowRequest":{"$ref":"#/types/azure:appservice/WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequest:WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequest","description":"A \u003cspan pulumi-lang-nodejs=\"`slowRequest`\" pulumi-lang-dotnet=\"`SlowRequest`\" pulumi-lang-go=\"`slowRequest`\" pulumi-lang-python=\"`slow_request`\" pulumi-lang-yaml=\"`slowRequest`\" pulumi-lang-java=\"`slowRequest`\"\u003e`slow_request`\u003c/span\u003e block as defined above.\n"},"slowRequestWithPaths":{"type":"array","items":{"$ref":"#/types/azure:appservice/WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPath:WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPath"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`slowRequestWithPath`\" pulumi-lang-dotnet=\"`SlowRequestWithPath`\" pulumi-lang-go=\"`slowRequestWithPath`\" pulumi-lang-python=\"`slow_request_with_path`\" pulumi-lang-yaml=\"`slowRequestWithPath`\" pulumi-lang-java=\"`slowRequestWithPath`\"\u003e`slow_request_with_path`\u003c/span\u003e blocks as defined above.\n"},"statusCodes":{"type":"array","items":{"$ref":"#/types/azure:appservice/WindowsWebAppSlotSiteConfigAutoHealSettingTriggerStatusCode:WindowsWebAppSlotSiteConfigAutoHealSettingTriggerStatusCode"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`statusCode`\" pulumi-lang-dotnet=\"`StatusCode`\" pulumi-lang-go=\"`statusCode`\" pulumi-lang-python=\"`status_code`\" pulumi-lang-yaml=\"`statusCode`\" pulumi-lang-java=\"`statusCode`\"\u003e`status_code`\u003c/span\u003e blocks as defined above.\n"}},"type":"object"},"azure:appservice/WindowsWebAppSlotSiteConfigAutoHealSettingTriggerRequests:WindowsWebAppSlotSiteConfigAutoHealSettingTriggerRequests":{"properties":{"count":{"type":"integer","description":"The number of requests in the specified \u003cspan pulumi-lang-nodejs=\"`interval`\" pulumi-lang-dotnet=\"`Interval`\" pulumi-lang-go=\"`interval`\" pulumi-lang-python=\"`interval`\" pulumi-lang-yaml=\"`interval`\" pulumi-lang-java=\"`interval`\"\u003e`interval`\u003c/span\u003e to trigger this rule.\n"},"interval":{"type":"string","description":"The interval in `hh:mm:ss`.\n"}},"type":"object","required":["count","interval"]},"azure:appservice/WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequest:WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequest":{"properties":{"count":{"type":"integer","description":"The number of Slow Requests in the time \u003cspan pulumi-lang-nodejs=\"`interval`\" pulumi-lang-dotnet=\"`Interval`\" pulumi-lang-go=\"`interval`\" pulumi-lang-python=\"`interval`\" pulumi-lang-yaml=\"`interval`\" pulumi-lang-java=\"`interval`\"\u003e`interval`\u003c/span\u003e to trigger this rule.\n"},"interval":{"type":"string","description":"The time interval in the form `hh:mm:ss`.\n"},"timeTaken":{"type":"string","description":"The threshold of time passed to qualify as a Slow Request in `hh:mm:ss`.\n"}},"type":"object","required":["count","interval","timeTaken"]},"azure:appservice/WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPath:WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPath":{"properties":{"count":{"type":"integer","description":"The number of Slow Requests in the time \u003cspan pulumi-lang-nodejs=\"`interval`\" pulumi-lang-dotnet=\"`Interval`\" pulumi-lang-go=\"`interval`\" pulumi-lang-python=\"`interval`\" pulumi-lang-yaml=\"`interval`\" pulumi-lang-java=\"`interval`\"\u003e`interval`\u003c/span\u003e to trigger this rule.\n"},"interval":{"type":"string","description":"The time interval in the form `hh:mm:ss`.\n"},"path":{"type":"string","description":"The path for which this slow request rule applies.\n"},"timeTaken":{"type":"string","description":"The threshold of time passed to qualify as a Slow Request in `hh:mm:ss`.\n"}},"type":"object","required":["count","interval","timeTaken"]},"azure:appservice/WindowsWebAppSlotSiteConfigAutoHealSettingTriggerStatusCode:WindowsWebAppSlotSiteConfigAutoHealSettingTriggerStatusCode":{"properties":{"count":{"type":"integer","description":"The number of occurrences of the defined \u003cspan pulumi-lang-nodejs=\"`statusCode`\" pulumi-lang-dotnet=\"`StatusCode`\" pulumi-lang-go=\"`statusCode`\" pulumi-lang-python=\"`status_code`\" pulumi-lang-yaml=\"`statusCode`\" pulumi-lang-java=\"`statusCode`\"\u003e`status_code`\u003c/span\u003e in the specified \u003cspan pulumi-lang-nodejs=\"`interval`\" pulumi-lang-dotnet=\"`Interval`\" pulumi-lang-go=\"`interval`\" pulumi-lang-python=\"`interval`\" pulumi-lang-yaml=\"`interval`\" pulumi-lang-java=\"`interval`\"\u003e`interval`\u003c/span\u003e on which to trigger this rule.\n"},"interval":{"type":"string","description":"The time interval in the form `hh:mm:ss`.\n"},"path":{"type":"string","description":"The path to which this rule status code applies.\n"},"statusCodeRange":{"type":"string","description":"The status code for this rule, accepts single status codes and status code ranges. e.g. \u003cspan pulumi-lang-nodejs=\"`500`\" pulumi-lang-dotnet=\"`500`\" pulumi-lang-go=\"`500`\" pulumi-lang-python=\"`500`\" pulumi-lang-yaml=\"`500`\" pulumi-lang-java=\"`500`\"\u003e`500`\u003c/span\u003e or `400-499`. Possible values are integers between \u003cspan pulumi-lang-nodejs=\"`101`\" pulumi-lang-dotnet=\"`101`\" pulumi-lang-go=\"`101`\" pulumi-lang-python=\"`101`\" pulumi-lang-yaml=\"`101`\" pulumi-lang-java=\"`101`\"\u003e`101`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`599`\" pulumi-lang-dotnet=\"`599`\" pulumi-lang-go=\"`599`\" pulumi-lang-python=\"`599`\" pulumi-lang-yaml=\"`599`\" pulumi-lang-java=\"`599`\"\u003e`599`\u003c/span\u003e\n"},"subStatus":{"type":"integer","description":"The Request Sub Status of the Status Code.\n"},"win32StatusCode":{"type":"integer","description":"The Win32 Status Code of the Request.\n"}},"type":"object","required":["count","interval","statusCodeRange"]},"azure:appservice/WindowsWebAppSlotSiteConfigCors:WindowsWebAppSlotSiteConfigCors":{"properties":{"allowedOrigins":{"type":"array","items":{"type":"string"},"description":"Specifies a list of origins that should be allowed to make cross-origin calls.\n"},"supportCredentials":{"type":"boolean","description":"Whether CORS requests with credentials are allowed. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e\n"}},"type":"object"},"azure:appservice/WindowsWebAppSlotSiteConfigHandlerMapping:WindowsWebAppSlotSiteConfigHandlerMapping":{"properties":{"arguments":{"type":"string","description":"Specify the command-line arguments to be passed to the script processor.\n"},"extension":{"type":"string","description":"Specify which extension to be handled by the specified FastCGI application.\n"},"scriptProcessorPath":{"type":"string","description":"Specify the absolute path to the FastCGI application.\n"}},"type":"object","required":["extension","scriptProcessorPath"]},"azure:appservice/WindowsWebAppSlotSiteConfigIpRestriction:WindowsWebAppSlotSiteConfigIpRestriction":{"properties":{"action":{"type":"string","description":"The action to take. Possible values are `Allow` or `Deny`. Defaults to `Allow`.\n"},"description":{"type":"string","description":"The Description of this IP Restriction.\n"},"headers":{"$ref":"#/types/azure:appservice/WindowsWebAppSlotSiteConfigIpRestrictionHeaders:WindowsWebAppSlotSiteConfigIpRestrictionHeaders","description":"A \u003cspan pulumi-lang-nodejs=\"`headers`\" pulumi-lang-dotnet=\"`Headers`\" pulumi-lang-go=\"`headers`\" pulumi-lang-python=\"`headers`\" pulumi-lang-yaml=\"`headers`\" pulumi-lang-java=\"`headers`\"\u003e`headers`\u003c/span\u003e block as defined above.\n"},"ipAddress":{"type":"string","description":"The CIDR notation of the IP or IP Range to match. For example: `10.0.0.0/24` or `192.168.10.1/32`\n"},"name":{"type":"string","description":"The name which should be used for this \u003cspan pulumi-lang-nodejs=\"`ipRestriction`\" pulumi-lang-dotnet=\"`IpRestriction`\" pulumi-lang-go=\"`ipRestriction`\" pulumi-lang-python=\"`ip_restriction`\" pulumi-lang-yaml=\"`ipRestriction`\" pulumi-lang-java=\"`ipRestriction`\"\u003e`ip_restriction`\u003c/span\u003e.\n"},"priority":{"type":"integer","description":"The priority value of this \u003cspan pulumi-lang-nodejs=\"`ipRestriction`\" pulumi-lang-dotnet=\"`IpRestriction`\" pulumi-lang-go=\"`ipRestriction`\" pulumi-lang-python=\"`ip_restriction`\" pulumi-lang-yaml=\"`ipRestriction`\" pulumi-lang-java=\"`ipRestriction`\"\u003e`ip_restriction`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`65000`\" pulumi-lang-dotnet=\"`65000`\" pulumi-lang-go=\"`65000`\" pulumi-lang-python=\"`65000`\" pulumi-lang-yaml=\"`65000`\" pulumi-lang-java=\"`65000`\"\u003e`65000`\u003c/span\u003e.\n"},"serviceTag":{"type":"string","description":"The Service Tag used for this IP Restriction.\n"},"virtualNetworkSubnetId":{"type":"string","description":"The Virtual Network Subnet ID used for this IP Restriction.\n\n\u003e **Note:** One and only one of \u003cspan pulumi-lang-nodejs=\"`ipAddress`\" pulumi-lang-dotnet=\"`IpAddress`\" pulumi-lang-go=\"`ipAddress`\" pulumi-lang-python=\"`ip_address`\" pulumi-lang-yaml=\"`ipAddress`\" pulumi-lang-java=\"`ipAddress`\"\u003e`ip_address`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`serviceTag`\" pulumi-lang-dotnet=\"`ServiceTag`\" pulumi-lang-go=\"`serviceTag`\" pulumi-lang-python=\"`service_tag`\" pulumi-lang-yaml=\"`serviceTag`\" pulumi-lang-java=\"`serviceTag`\"\u003e`service_tag`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`virtualNetworkSubnetId`\" pulumi-lang-dotnet=\"`VirtualNetworkSubnetId`\" pulumi-lang-go=\"`virtualNetworkSubnetId`\" pulumi-lang-python=\"`virtual_network_subnet_id`\" pulumi-lang-yaml=\"`virtualNetworkSubnetId`\" pulumi-lang-java=\"`virtualNetworkSubnetId`\"\u003e`virtual_network_subnet_id`\u003c/span\u003e must be specified.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["name"]}}},"azure:appservice/WindowsWebAppSlotSiteConfigIpRestrictionHeaders:WindowsWebAppSlotSiteConfigIpRestrictionHeaders":{"properties":{"xAzureFdids":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Azure Front Door IDs.\n"},"xFdHealthProbe":{"type":"string","description":"Specifies if a Front Door Health Probe should be expected. The only possible value is \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e.\n"},"xForwardedFors":{"type":"array","items":{"type":"string"},"description":"Specifies a list of addresses for which matching should be applied. Omitting this value means allow any.\n"},"xForwardedHosts":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Hosts for which matching should be applied.\n"}},"type":"object"},"azure:appservice/WindowsWebAppSlotSiteConfigScmIpRestriction:WindowsWebAppSlotSiteConfigScmIpRestriction":{"properties":{"action":{"type":"string","description":"The action to take. Possible values are `Allow` or `Deny`. Defaults to `Allow`.\n"},"description":{"type":"string","description":"The Description of this IP Restriction.\n"},"headers":{"$ref":"#/types/azure:appservice/WindowsWebAppSlotSiteConfigScmIpRestrictionHeaders:WindowsWebAppSlotSiteConfigScmIpRestrictionHeaders","description":"A \u003cspan pulumi-lang-nodejs=\"`headers`\" pulumi-lang-dotnet=\"`Headers`\" pulumi-lang-go=\"`headers`\" pulumi-lang-python=\"`headers`\" pulumi-lang-yaml=\"`headers`\" pulumi-lang-java=\"`headers`\"\u003e`headers`\u003c/span\u003e block as defined above.\n"},"ipAddress":{"type":"string","description":"The CIDR notation of the IP or IP Range to match. For example: `10.0.0.0/24` or `192.168.10.1/32`\n"},"name":{"type":"string","description":"The name which should be used for this \u003cspan pulumi-lang-nodejs=\"`ipRestriction`\" pulumi-lang-dotnet=\"`IpRestriction`\" pulumi-lang-go=\"`ipRestriction`\" pulumi-lang-python=\"`ip_restriction`\" pulumi-lang-yaml=\"`ipRestriction`\" pulumi-lang-java=\"`ipRestriction`\"\u003e`ip_restriction`\u003c/span\u003e.\n"},"priority":{"type":"integer","description":"The priority value of this \u003cspan pulumi-lang-nodejs=\"`ipRestriction`\" pulumi-lang-dotnet=\"`IpRestriction`\" pulumi-lang-go=\"`ipRestriction`\" pulumi-lang-python=\"`ip_restriction`\" pulumi-lang-yaml=\"`ipRestriction`\" pulumi-lang-java=\"`ipRestriction`\"\u003e`ip_restriction`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`65000`\" pulumi-lang-dotnet=\"`65000`\" pulumi-lang-go=\"`65000`\" pulumi-lang-python=\"`65000`\" pulumi-lang-yaml=\"`65000`\" pulumi-lang-java=\"`65000`\"\u003e`65000`\u003c/span\u003e.\n"},"serviceTag":{"type":"string","description":"The Service Tag used for this IP Restriction.\n"},"virtualNetworkSubnetId":{"type":"string","description":"The Virtual Network Subnet ID used for this IP Restriction.\n\n\u003e **Note:** One and only one of \u003cspan pulumi-lang-nodejs=\"`ipAddress`\" pulumi-lang-dotnet=\"`IpAddress`\" pulumi-lang-go=\"`ipAddress`\" pulumi-lang-python=\"`ip_address`\" pulumi-lang-yaml=\"`ipAddress`\" pulumi-lang-java=\"`ipAddress`\"\u003e`ip_address`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`serviceTag`\" pulumi-lang-dotnet=\"`ServiceTag`\" pulumi-lang-go=\"`serviceTag`\" pulumi-lang-python=\"`service_tag`\" pulumi-lang-yaml=\"`serviceTag`\" pulumi-lang-java=\"`serviceTag`\"\u003e`service_tag`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`virtualNetworkSubnetId`\" pulumi-lang-dotnet=\"`VirtualNetworkSubnetId`\" pulumi-lang-go=\"`virtualNetworkSubnetId`\" pulumi-lang-python=\"`virtual_network_subnet_id`\" pulumi-lang-yaml=\"`virtualNetworkSubnetId`\" pulumi-lang-java=\"`virtualNetworkSubnetId`\"\u003e`virtual_network_subnet_id`\u003c/span\u003e must be specified.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["name"]}}},"azure:appservice/WindowsWebAppSlotSiteConfigScmIpRestrictionHeaders:WindowsWebAppSlotSiteConfigScmIpRestrictionHeaders":{"properties":{"xAzureFdids":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Azure Front Door IDs.\n"},"xFdHealthProbe":{"type":"string","description":"Specifies if a Front Door Health Probe should be expected. The only possible value is \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e.\n"},"xForwardedFors":{"type":"array","items":{"type":"string"},"description":"Specifies a list of addresses for which matching should be applied. Omitting this value means allow any.\n"},"xForwardedHosts":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Hosts for which matching should be applied.\n"}},"type":"object"},"azure:appservice/WindowsWebAppSlotSiteConfigVirtualApplication:WindowsWebAppSlotSiteConfigVirtualApplication":{"properties":{"physicalPath":{"type":"string","description":"The physical path for the Virtual Application.\n"},"preload":{"type":"boolean","description":"Should pre-loading be enabled.\n"},"virtualDirectories":{"type":"array","items":{"$ref":"#/types/azure:appservice/WindowsWebAppSlotSiteConfigVirtualApplicationVirtualDirectory:WindowsWebAppSlotSiteConfigVirtualApplicationVirtualDirectory"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`virtualDirectory`\" pulumi-lang-dotnet=\"`VirtualDirectory`\" pulumi-lang-go=\"`virtualDirectory`\" pulumi-lang-python=\"`virtual_directory`\" pulumi-lang-yaml=\"`virtualDirectory`\" pulumi-lang-java=\"`virtualDirectory`\"\u003e`virtual_directory`\u003c/span\u003e blocks as defined below.\n"},"virtualPath":{"type":"string","description":"The Virtual Path for the Virtual Application.\n"}},"type":"object","required":["physicalPath","preload","virtualPath"]},"azure:appservice/WindowsWebAppSlotSiteConfigVirtualApplicationVirtualDirectory:WindowsWebAppSlotSiteConfigVirtualApplicationVirtualDirectory":{"properties":{"physicalPath":{"type":"string","description":"The physical path for the Virtual Application.\n"},"virtualPath":{"type":"string","description":"The Virtual Path for the Virtual Application.\n"}},"type":"object"},"azure:appservice/WindowsWebAppSlotSiteCredential:WindowsWebAppSlotSiteCredential":{"properties":{"name":{"type":"string","description":"The name which should be used for this Windows Web App Slot. Changing this forces a new Windows Web App Slot to be created.\n\n\u003e **Note:** Terraform will perform a name availability check as part of the creation progress, if this Web App is part of an App Service Environment terraform will require Read permission on the App Service Environment for this to complete reliably.\n","secret":true},"password":{"type":"string","description":"The Site Credentials Password used for publishing.\n","secret":true}},"type":"object","language":{"nodejs":{"requiredOutputs":["name","password"]}}},"azure:appservice/WindowsWebAppSlotStorageAccount:WindowsWebAppSlotStorageAccount":{"properties":{"accessKey":{"type":"string","description":"The Access key for the storage account.\n","secret":true},"accountName":{"type":"string","description":"The Name of the Storage Account.\n"},"mountPath":{"type":"string","description":"The path at which to mount the storage share.\n"},"name":{"type":"string","description":"The name which should be used for this Storage Account.\n"},"shareName":{"type":"string","description":"The Name of the File Share or Container Name for Blob storage.\n"},"type":{"type":"string","description":"The Azure Storage Type. Possible values include `AzureFiles` and `AzureBlob`\n"}},"type":"object","required":["accessKey","accountName","name","shareName","type"]},"azure:appservice/WindowsWebAppStickySettings:WindowsWebAppStickySettings":{"properties":{"appSettingNames":{"type":"array","items":{"type":"string"},"description":"A list of \u003cspan pulumi-lang-nodejs=\"`appSetting`\" pulumi-lang-dotnet=\"`AppSetting`\" pulumi-lang-go=\"`appSetting`\" pulumi-lang-python=\"`app_setting`\" pulumi-lang-yaml=\"`appSetting`\" pulumi-lang-java=\"`appSetting`\"\u003e`app_setting`\u003c/span\u003e names that the Windows Web App will not swap between Slots when a swap operation is triggered.\n"},"connectionStringNames":{"type":"array","items":{"type":"string"},"description":"A list of \u003cspan pulumi-lang-nodejs=\"`connectionString`\" pulumi-lang-dotnet=\"`ConnectionString`\" pulumi-lang-go=\"`connectionString`\" pulumi-lang-python=\"`connection_string`\" pulumi-lang-yaml=\"`connectionString`\" pulumi-lang-java=\"`connectionString`\"\u003e`connection_string`\u003c/span\u003e names that the Windows Web App will not swap between Slots when a swap operation is triggered.\n"}},"type":"object"},"azure:appservice/WindowsWebAppStorageAccount:WindowsWebAppStorageAccount":{"properties":{"accessKey":{"type":"string","description":"The Access key for the storage account.\n","secret":true},"accountName":{"type":"string","description":"The Name of the Storage Account.\n"},"mountPath":{"type":"string","description":"The path at which to mount the storage share.\n"},"name":{"type":"string","description":"The name which should be used for this TODO.\n"},"shareName":{"type":"string","description":"The Name of the File Share or Container Name for Blob storage.\n"},"type":{"type":"string","description":"The Azure Storage Type. Possible values include `AzureFiles` and `AzureBlob`\n"}},"type":"object","required":["accessKey","accountName","name","shareName","type"]},"azure:appservice/getAppServiceConnectionString:getAppServiceConnectionString":{"properties":{"name":{"type":"string","description":"The name of the App Service.\n"},"type":{"type":"string","description":"The type of the Connection String.\n"},"value":{"type":"string","description":"The value for the Connection String.\n","secret":true}},"type":"object","required":["name","type","value"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appservice/getAppServicePlanSku:getAppServicePlanSku":{"properties":{"capacity":{"type":"integer","description":"Specifies the number of workers associated with this App Service Plan.\n"},"size":{"type":"string","description":"Specifies the plan's instance size.\n"},"tier":{"type":"string","description":"Specifies the plan's pricing tier.\n"}},"type":"object","required":["capacity","size","tier"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appservice/getAppServiceSiteConfig:getAppServiceSiteConfig":{"properties":{"acrUseManagedIdentityCredentials":{"type":"boolean","description":"Are Managed Identity Credentials used for Azure Container Registry pull.\n"},"acrUserManagedIdentityClientId":{"type":"string","description":"The User Managed Identity Client Id.\n"},"alwaysOn":{"type":"boolean","description":"Is the app loaded at all times?\n"},"appCommandLine":{"type":"string","description":"App command line to launch.\n"},"cors":{"type":"array","items":{"$ref":"#/types/azure:appservice/getAppServiceSiteConfigCor:getAppServiceSiteConfigCor"},"description":"A \u003cspan pulumi-lang-nodejs=\"`cors`\" pulumi-lang-dotnet=\"`Cors`\" pulumi-lang-go=\"`cors`\" pulumi-lang-python=\"`cors`\" pulumi-lang-yaml=\"`cors`\" pulumi-lang-java=\"`cors`\"\u003e`cors`\u003c/span\u003e block as defined above.\n"},"defaultDocuments":{"type":"array","items":{"type":"string"},"description":"The ordering of default documents to load, if an address isn't specified.\n"},"dotnetFrameworkVersion":{"type":"string","description":"The version of the .NET framework's CLR used in this App Service.\n"},"ftpsState":{"type":"string","description":"State of FTP / FTPS service for this AppService.\n"},"healthCheckPath":{"type":"string","description":"The health check path to be pinged by App Service.\n"},"http2Enabled":{"type":"boolean","description":"Is HTTP2 Enabled on this App Service?\n"},"ipRestrictions":{"type":"array","items":{"$ref":"#/types/azure:appservice/getAppServiceSiteConfigIpRestriction:getAppServiceSiteConfigIpRestriction"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`ipRestriction`\" pulumi-lang-dotnet=\"`IpRestriction`\" pulumi-lang-go=\"`ipRestriction`\" pulumi-lang-python=\"`ip_restriction`\" pulumi-lang-yaml=\"`ipRestriction`\" pulumi-lang-java=\"`ipRestriction`\"\u003e`ip_restriction`\u003c/span\u003e blocks as defined above.\n"},"javaContainer":{"type":"string","description":"The Java Container in use.\n"},"javaContainerVersion":{"type":"string","description":"The version of the Java Container in use.\n"},"javaVersion":{"type":"string","description":"The version of Java in use.\n"},"linuxFxVersion":{"type":"string","description":"Linux App Framework and version for the AppService.\n"},"localMysqlEnabled":{"type":"boolean","description":"Is \"MySQL In App\" Enabled? This runs a local MySQL instance with your app and shares resources from the App Service plan.\n"},"managedPipelineMode":{"type":"string","description":"The Managed Pipeline Mode used in this App Service.\n"},"minTlsVersion":{"type":"string","description":"The minimum supported TLS version for this App Service.\n"},"numberOfWorkers":{"type":"integer","description":"The scaled number of workers (for per site scaling) of this App Service.\n"},"phpVersion":{"type":"string","description":"The version of PHP used in this App Service.\n"},"pythonVersion":{"type":"string","description":"The version of Python used in this App Service.\n"},"remoteDebuggingEnabled":{"type":"boolean","description":"Is Remote Debugging Enabled in this App Service?\n"},"remoteDebuggingVersion":{"type":"string","description":"Which version of Visual Studio is the Remote Debugger compatible with?\n"},"scmIpRestrictions":{"type":"array","items":{"$ref":"#/types/azure:appservice/getAppServiceSiteConfigScmIpRestriction:getAppServiceSiteConfigScmIpRestriction"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`scmIpRestriction`\" pulumi-lang-dotnet=\"`ScmIpRestriction`\" pulumi-lang-go=\"`scmIpRestriction`\" pulumi-lang-python=\"`scm_ip_restriction`\" pulumi-lang-yaml=\"`scmIpRestriction`\" pulumi-lang-java=\"`scmIpRestriction`\"\u003e`scm_ip_restriction`\u003c/span\u003e blocks as defined above.\n"},"scmType":{"type":"string","description":"The type of Source Control enabled for this App Service.\n"},"scmUseMainIpRestriction":{"type":"boolean","description":"IP security restrictions for scm to use main.\n"},"use32BitWorkerProcess":{"type":"boolean","description":"Does the App Service run in 32 bit mode, rather than 64 bit mode?\n"},"vnetRouteAllEnabled":{"type":"boolean","description":"(Optional) Should all outbound traffic to have Virtual Network Security Groups and User Defined Routes applied?\n"},"websocketsEnabled":{"type":"boolean","description":"Are WebSockets enabled for this App Service?\n"},"windowsFxVersion":{"type":"string","description":"Windows Container Docker Image for the AppService.\n"}},"type":"object","required":["acrUseManagedIdentityCredentials","acrUserManagedIdentityClientId","alwaysOn","appCommandLine","cors","defaultDocuments","dotnetFrameworkVersion","ftpsState","healthCheckPath","http2Enabled","ipRestrictions","javaContainer","javaContainerVersion","javaVersion","linuxFxVersion","localMysqlEnabled","managedPipelineMode","minTlsVersion","numberOfWorkers","phpVersion","pythonVersion","remoteDebuggingEnabled","remoteDebuggingVersion","scmIpRestrictions","scmType","scmUseMainIpRestriction","use32BitWorkerProcess","vnetRouteAllEnabled","websocketsEnabled","windowsFxVersion"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appservice/getAppServiceSiteConfigCor:getAppServiceSiteConfigCor":{"properties":{"allowedOrigins":{"type":"array","items":{"type":"string"},"description":"A list of origins which are able to make cross-origin calls.\n"},"supportCredentials":{"type":"boolean","description":"Are credentials supported?\n"}},"type":"object","required":["allowedOrigins","supportCredentials"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appservice/getAppServiceSiteConfigIpRestriction:getAppServiceSiteConfigIpRestriction":{"properties":{"action":{"type":"string","description":"Allow or Deny access for this IP range. Defaults to Allow.\n"},"headers":{"$ref":"#/types/azure:appservice/getAppServiceSiteConfigIpRestrictionHeaders:getAppServiceSiteConfigIpRestrictionHeaders"},"ipAddress":{"type":"string","description":"The IP Address used for this IP Restriction in CIDR notation.\n"},"name":{"type":"string","description":"The name of the App Service.\n"},"priority":{"type":"integer","description":"The priority for this IP Restriction.\n"},"serviceTag":{"type":"string","description":"The Service Tag used for this IP Restriction.\n"},"virtualNetworkSubnetId":{"type":"string","description":"The Virtual Network Subnet ID used for this IP Restriction.\n"}},"type":"object","required":["action","headers","ipAddress","name","priority","serviceTag","virtualNetworkSubnetId"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appservice/getAppServiceSiteConfigIpRestrictionHeaders:getAppServiceSiteConfigIpRestrictionHeaders":{"properties":{"xAzureFdids":{"type":"array","items":{"type":"string"}},"xFdHealthProbes":{"type":"array","items":{"type":"string"}},"xForwardedFors":{"type":"array","items":{"type":"string"}},"xForwardedHosts":{"type":"array","items":{"type":"string"}}},"type":"object","required":["xAzureFdids","xFdHealthProbes","xForwardedFors","xForwardedHosts"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appservice/getAppServiceSiteConfigScmIpRestriction:getAppServiceSiteConfigScmIpRestriction":{"properties":{"action":{"type":"string","description":"Allow or Deny access for this IP range. Defaults to Allow.\n"},"headers":{"$ref":"#/types/azure:appservice/getAppServiceSiteConfigScmIpRestrictionHeaders:getAppServiceSiteConfigScmIpRestrictionHeaders"},"ipAddress":{"type":"string","description":"The IP Address used for this IP Restriction in CIDR notation.\n"},"name":{"type":"string","description":"The name of the App Service.\n"},"priority":{"type":"integer","description":"The priority for this IP Restriction.\n"},"serviceTag":{"type":"string","description":"The Service Tag used for this IP Restriction.\n"},"virtualNetworkSubnetId":{"type":"string","description":"The Virtual Network Subnet ID used for this IP Restriction.\n"}},"type":"object","required":["action","headers","ipAddress","name","priority","serviceTag","virtualNetworkSubnetId"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appservice/getAppServiceSiteConfigScmIpRestrictionHeaders:getAppServiceSiteConfigScmIpRestrictionHeaders":{"properties":{"xAzureFdids":{"type":"array","items":{"type":"string"}},"xFdHealthProbes":{"type":"array","items":{"type":"string"}},"xForwardedFors":{"type":"array","items":{"type":"string"}},"xForwardedHosts":{"type":"array","items":{"type":"string"}}},"type":"object","required":["xAzureFdids","xFdHealthProbes","xForwardedFors","xForwardedHosts"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appservice/getAppServiceSiteCredential:getAppServiceSiteCredential":{"properties":{"password":{"type":"string","secret":true},"username":{"type":"string"}},"type":"object","required":["password","username"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appservice/getAppServiceSourceControl:getAppServiceSourceControl":{"properties":{"branch":{"type":"string","description":"The branch of the remote repository in use.\n"},"manualIntegration":{"type":"boolean","description":"Limits to manual integration.\n"},"repoUrl":{"type":"string","description":"The URL of the source code repository.\n"},"rollbackEnabled":{"type":"boolean","description":"Is roll-back enabled for the repository.\n"},"useMercurial":{"type":"boolean","description":"Uses Mercurial if \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, otherwise uses Git.\n"}},"type":"object","required":["branch","manualIntegration","repoUrl","rollbackEnabled","useMercurial"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appservice/getCertificateOrderCertificate:getCertificateOrderCertificate":{"properties":{"certificateName":{"type":"string","description":"The name of the App Service Certificate.\n"},"keyVaultId":{"type":"string","description":"Key Vault resource Id.\n"},"keyVaultSecretName":{"type":"string","description":"Key Vault secret name.\n"},"provisioningState":{"type":"string","description":"Status of the Key Vault secret.\n"}},"type":"object","required":["certificateName","keyVaultId","keyVaultSecretName","provisioningState"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appservice/getEnvironmentV3ClusterSetting:getEnvironmentV3ClusterSetting":{"properties":{"name":{"type":"string","description":"The name of this v3 App Service Environment.\n"},"value":{"type":"string","description":"The value for the Cluster Setting.\n"}},"type":"object","required":["name","value"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appservice/getEnvironmentV3InboundNetworkDependency:getEnvironmentV3InboundNetworkDependency":{"properties":{"description":{"type":"string","description":"A short description of the purpose of the network traffic.\n"},"ipAddresses":{"type":"array","items":{"type":"string"},"description":"A list of IP addresses that network traffic will originate from in CIDR notation.\n"},"ports":{"type":"array","items":{"type":"string"},"description":"The ports that network traffic will arrive to the App Service Environment V3 on.\n"}},"type":"object","required":["description","ipAddresses","ports"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appservice/getFunctionAppConnectionString:getFunctionAppConnectionString":{"properties":{"name":{"type":"string","description":"The name of the Function App resource.\n"},"type":{"type":"string","description":"The identity type of the Managed Identity assigned to the Function App.\n"},"value":{"type":"string","description":"The value for the Connection String.\n","secret":true}},"type":"object","required":["name","type","value"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appservice/getFunctionAppIdentity:getFunctionAppIdentity":{"properties":{"identityIds":{"type":"array","items":{"type":"string"},"description":"A list of User Assigned Identity IDs assigned to the Function App.\n"},"principalId":{"type":"string","description":"The ID of the Managed Identity assigned to the Function App.\n"},"tenantId":{"type":"string","description":"The ID of the Tenant where the Managed Identity assigned to the Function App is located.\n"},"type":{"type":"string","description":"The identity type of the Managed Identity assigned to the Function App.\n"}},"type":"object","required":["identityIds","principalId","tenantId","type"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appservice/getFunctionAppSiteConfig:getFunctionAppSiteConfig":{"properties":{"alwaysOn":{"type":"boolean","description":"Is the app loaded at all times?\n"},"appScaleLimit":{"type":"integer","description":"The number of workers this function app can scale out to. Only applicable to apps on the Consumption and Premium plan.\n"},"autoSwapSlotName":{"type":"string"},"cors":{"$ref":"#/types/azure:appservice/getFunctionAppSiteConfigCors:getFunctionAppSiteConfigCors","description":"A \u003cspan pulumi-lang-nodejs=\"`cors`\" pulumi-lang-dotnet=\"`Cors`\" pulumi-lang-go=\"`cors`\" pulumi-lang-python=\"`cors`\" pulumi-lang-yaml=\"`cors`\" pulumi-lang-java=\"`cors`\"\u003e`cors`\u003c/span\u003e block as defined above.\n"},"dotnetFrameworkVersion":{"type":"string","description":"The version of the .NET framework's CLR used in this App Service.\n"},"elasticInstanceMinimum":{"type":"integer","description":"The number of minimum instances for this function app. Only applicable to apps on the Premium plan.\n"},"ftpsState":{"type":"string","description":"State of FTP / FTPS service for this AppService.\n"},"healthCheckPath":{"type":"string"},"http2Enabled":{"type":"boolean","description":"Is HTTP2 Enabled on this App Service?\n"},"ipRestrictions":{"type":"array","items":{"$ref":"#/types/azure:appservice/getFunctionAppSiteConfigIpRestriction:getFunctionAppSiteConfigIpRestriction"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`ipRestriction`\" pulumi-lang-dotnet=\"`IpRestriction`\" pulumi-lang-go=\"`ipRestriction`\" pulumi-lang-python=\"`ip_restriction`\" pulumi-lang-yaml=\"`ipRestriction`\" pulumi-lang-java=\"`ipRestriction`\"\u003e`ip_restriction`\u003c/span\u003e blocks as defined above.\n"},"javaVersion":{"type":"string","description":"Java version hosted by the function app in Azure.\n"},"linuxFxVersion":{"type":"string","description":"Linux App Framework and version for the AppService.\n"},"minTlsVersion":{"type":"string","description":"The minimum supported TLS version for this App Service.\n"},"preWarmedInstanceCount":{"type":"integer","description":"The number of pre-warmed instances for this function app. Only applicable to apps on the Premium plan.\n"},"runtimeScaleMonitoringEnabled":{"type":"boolean","description":"Is Runtime Scale Monitoring Enabled on this function app?\n"},"scmIpRestrictions":{"type":"array","items":{"$ref":"#/types/azure:appservice/getFunctionAppSiteConfigScmIpRestriction:getFunctionAppSiteConfigScmIpRestriction"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`scmIpRestriction`\" pulumi-lang-dotnet=\"`ScmIpRestriction`\" pulumi-lang-go=\"`scmIpRestriction`\" pulumi-lang-python=\"`scm_ip_restriction`\" pulumi-lang-yaml=\"`scmIpRestriction`\" pulumi-lang-java=\"`scmIpRestriction`\"\u003e`scm_ip_restriction`\u003c/span\u003e blocks as defined above.\n"},"scmType":{"type":"string","description":"The type of Source Control enabled for this App Service.\n"},"scmUseMainIpRestriction":{"type":"boolean","description":"IP security restrictions for scm to use main.\n"},"use32BitWorkerProcess":{"type":"boolean","description":"Does the App Service run in 32 bit mode, rather than 64 bit mode?\n"},"vnetRouteAllEnabled":{"type":"boolean","description":"(Optional) Should all outbound traffic to have Virtual Network Security Groups and User Defined Routes applied?\n"},"websocketsEnabled":{"type":"boolean","description":"Are WebSockets enabled for this App Service?\n"}},"type":"object","required":["alwaysOn","appScaleLimit","autoSwapSlotName","cors","dotnetFrameworkVersion","elasticInstanceMinimum","ftpsState","healthCheckPath","http2Enabled","ipRestrictions","javaVersion","linuxFxVersion","minTlsVersion","preWarmedInstanceCount","runtimeScaleMonitoringEnabled","scmIpRestrictions","scmType","scmUseMainIpRestriction","use32BitWorkerProcess","vnetRouteAllEnabled","websocketsEnabled"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appservice/getFunctionAppSiteConfigCors:getFunctionAppSiteConfigCors":{"properties":{"allowedOrigins":{"type":"array","items":{"type":"string"}},"supportCredentials":{"type":"boolean"}},"type":"object","required":["allowedOrigins"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appservice/getFunctionAppSiteConfigIpRestriction:getFunctionAppSiteConfigIpRestriction":{"properties":{"action":{"type":"string","description":"Allow or Deny access for this IP range. Defaults to Allow.\n"},"headers":{"$ref":"#/types/azure:appservice/getFunctionAppSiteConfigIpRestrictionHeaders:getFunctionAppSiteConfigIpRestrictionHeaders"},"ipAddress":{"type":"string","description":"The IP Address used for this IP Restriction in CIDR notation.\n"},"name":{"type":"string","description":"The name of the Function App resource.\n"},"priority":{"type":"integer","description":"The priority for this IP Restriction.\n"},"serviceTag":{"type":"string","description":"The Service Tag used for this IP Restriction.\n"},"virtualNetworkSubnetId":{"type":"string","description":"The Virtual Network Subnet ID used for this IP Restriction.\n"}},"type":"object","required":["action","headers","ipAddress","name","priority","serviceTag","virtualNetworkSubnetId"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appservice/getFunctionAppSiteConfigIpRestrictionHeaders:getFunctionAppSiteConfigIpRestrictionHeaders":{"properties":{"xAzureFdids":{"type":"array","items":{"type":"string"}},"xFdHealthProbes":{"type":"array","items":{"type":"string"}},"xForwardedFors":{"type":"array","items":{"type":"string"}},"xForwardedHosts":{"type":"array","items":{"type":"string"}}},"type":"object","required":["xAzureFdids","xFdHealthProbes","xForwardedFors","xForwardedHosts"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appservice/getFunctionAppSiteConfigScmIpRestriction:getFunctionAppSiteConfigScmIpRestriction":{"properties":{"action":{"type":"string","description":"Allow or Deny access for this IP range. Defaults to Allow.\n"},"headers":{"$ref":"#/types/azure:appservice/getFunctionAppSiteConfigScmIpRestrictionHeaders:getFunctionAppSiteConfigScmIpRestrictionHeaders"},"ipAddress":{"type":"string","description":"The IP Address used for this IP Restriction in CIDR notation.\n"},"name":{"type":"string","description":"The name of the Function App resource.\n"},"priority":{"type":"integer","description":"The priority for this IP Restriction.\n"},"serviceTag":{"type":"string","description":"The Service Tag used for this IP Restriction.\n"},"virtualNetworkSubnetId":{"type":"string","description":"The Virtual Network Subnet ID used for this IP Restriction.\n"}},"type":"object","required":["action","headers","ipAddress","name","priority","serviceTag","virtualNetworkSubnetId"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appservice/getFunctionAppSiteConfigScmIpRestrictionHeaders:getFunctionAppSiteConfigScmIpRestrictionHeaders":{"properties":{"xAzureFdids":{"type":"array","items":{"type":"string"}},"xFdHealthProbes":{"type":"array","items":{"type":"string"}},"xForwardedFors":{"type":"array","items":{"type":"string"}},"xForwardedHosts":{"type":"array","items":{"type":"string"}}},"type":"object","required":["xAzureFdids","xFdHealthProbes","xForwardedFors","xForwardedHosts"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appservice/getFunctionAppSiteCredential:getFunctionAppSiteCredential":{"properties":{"password":{"type":"string","description":"The password associated with the username, which can be used to publish to this App Service.\n","secret":true},"username":{"type":"string","description":"The username which can be used to publish to this App Service\n"}},"type":"object","required":["password","username"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appservice/getFunctionAppSourceControl:getFunctionAppSourceControl":{"properties":{"branch":{"type":"string","description":"The branch of the remote repository in use.\n"},"manualIntegration":{"type":"boolean","description":"Limits to manual integration.\n"},"repoUrl":{"type":"string","description":"The URL of the source code repository.\n"},"rollbackEnabled":{"type":"boolean","description":"Is roll-back enabled for the repository.\n"},"useMercurial":{"type":"boolean","description":"Uses Mercurial if \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, otherwise uses Git.\n"}},"type":"object","required":["branch","manualIntegration","repoUrl","rollbackEnabled","useMercurial"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appservice/getLinuxFunctionAppAuthSetting:getLinuxFunctionAppAuthSetting":{"properties":{"activeDirectories":{"type":"array","items":{"$ref":"#/types/azure:appservice/getLinuxFunctionAppAuthSettingActiveDirectory:getLinuxFunctionAppAuthSettingActiveDirectory"},"description":"An \u003cspan pulumi-lang-nodejs=\"`activeDirectory`\" pulumi-lang-dotnet=\"`ActiveDirectory`\" pulumi-lang-go=\"`activeDirectory`\" pulumi-lang-python=\"`active_directory`\" pulumi-lang-yaml=\"`activeDirectory`\" pulumi-lang-java=\"`activeDirectory`\"\u003e`active_directory`\u003c/span\u003e block as defined above.\n"},"additionalLoginParameters":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of login parameters sent to the OpenID Connect authorization endpoint when a user logs in.\n"},"allowedExternalRedirectUrls":{"type":"array","items":{"type":"string"},"description":"External URLs that can be redirected to as part of logging in or logging out of the app.\n"},"defaultProvider":{"type":"string","description":"The Default Authentication Provider used when more than one Authentication Provider is configured and the \u003cspan pulumi-lang-nodejs=\"`unauthenticatedAction`\" pulumi-lang-dotnet=\"`UnauthenticatedAction`\" pulumi-lang-go=\"`unauthenticatedAction`\" pulumi-lang-python=\"`unauthenticated_action`\" pulumi-lang-yaml=\"`unauthenticatedAction`\" pulumi-lang-java=\"`unauthenticatedAction`\"\u003e`unauthenticated_action`\u003c/span\u003e is set to `RedirectToLoginPage`.\n"},"enabled":{"type":"boolean","description":"Is this backup job enabled?\n"},"facebooks":{"type":"array","items":{"$ref":"#/types/azure:appservice/getLinuxFunctionAppAuthSettingFacebook:getLinuxFunctionAppAuthSettingFacebook"},"description":"A \u003cspan pulumi-lang-nodejs=\"`facebook`\" pulumi-lang-dotnet=\"`Facebook`\" pulumi-lang-go=\"`facebook`\" pulumi-lang-python=\"`facebook`\" pulumi-lang-yaml=\"`facebook`\" pulumi-lang-java=\"`facebook`\"\u003e`facebook`\u003c/span\u003e block as defined below.\n"},"githubs":{"type":"array","items":{"$ref":"#/types/azure:appservice/getLinuxFunctionAppAuthSettingGithub:getLinuxFunctionAppAuthSettingGithub"},"description":"A \u003cspan pulumi-lang-nodejs=\"`github`\" pulumi-lang-dotnet=\"`Github`\" pulumi-lang-go=\"`github`\" pulumi-lang-python=\"`github`\" pulumi-lang-yaml=\"`github`\" pulumi-lang-java=\"`github`\"\u003e`github`\u003c/span\u003e block as defined below.\n"},"googles":{"type":"array","items":{"$ref":"#/types/azure:appservice/getLinuxFunctionAppAuthSettingGoogle:getLinuxFunctionAppAuthSettingGoogle"},"description":"A \u003cspan pulumi-lang-nodejs=\"`google`\" pulumi-lang-dotnet=\"`Google`\" pulumi-lang-go=\"`google`\" pulumi-lang-python=\"`google`\" pulumi-lang-yaml=\"`google`\" pulumi-lang-java=\"`google`\"\u003e`google`\u003c/span\u003e block as defined below.\n"},"issuer":{"type":"string","description":"The OpenID Connect Issuer URI that represents the entity which issues access tokens for this Linux Web App.\n"},"microsofts":{"type":"array","items":{"$ref":"#/types/azure:appservice/getLinuxFunctionAppAuthSettingMicrosoft:getLinuxFunctionAppAuthSettingMicrosoft"},"description":"A \u003cspan pulumi-lang-nodejs=\"`microsoft`\" pulumi-lang-dotnet=\"`Microsoft`\" pulumi-lang-go=\"`microsoft`\" pulumi-lang-python=\"`microsoft`\" pulumi-lang-yaml=\"`microsoft`\" pulumi-lang-java=\"`microsoft`\"\u003e`microsoft`\u003c/span\u003e block as defined below.\n"},"runtimeVersion":{"type":"string","description":"The Runtime Version of the Authentication and Authorisation feature of this App.\n"},"tokenRefreshExtensionHours":{"type":"number","description":"The number of hours after session token expiration that a session token can be used to call the token refresh API.\n"},"tokenStoreEnabled":{"type":"boolean","description":"Is the Token Store configuration Enabled.\n"},"twitters":{"type":"array","items":{"$ref":"#/types/azure:appservice/getLinuxFunctionAppAuthSettingTwitter:getLinuxFunctionAppAuthSettingTwitter"},"description":"A \u003cspan pulumi-lang-nodejs=\"`twitter`\" pulumi-lang-dotnet=\"`Twitter`\" pulumi-lang-go=\"`twitter`\" pulumi-lang-python=\"`twitter`\" pulumi-lang-yaml=\"`twitter`\" pulumi-lang-java=\"`twitter`\"\u003e`twitter`\u003c/span\u003e block as defined below.\n"},"unauthenticatedClientAction":{"type":"string","description":"The action to taken when an unauthenticated client attempts to access the app.\n"}},"type":"object","required":["activeDirectories","additionalLoginParameters","allowedExternalRedirectUrls","defaultProvider","enabled","facebooks","githubs","googles","issuer","microsofts","runtimeVersion","tokenRefreshExtensionHours","tokenStoreEnabled","twitters","unauthenticatedClientAction"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appservice/getLinuxFunctionAppAuthSettingActiveDirectory:getLinuxFunctionAppAuthSettingActiveDirectory":{"properties":{"allowedAudiences":{"type":"array","items":{"type":"string"},"description":"The list of Allowed Audiences that are be requested as part of Microsoft Sign-In authentication.\n"},"clientId":{"type":"string","description":"The OAuth 2.0 client ID that was created for the app used for authentication.\n"},"clientSecret":{"type":"string","description":"The OAuth 2.0 client secret that was created for the app used for authentication.\n","secret":true},"clientSecretSettingName":{"type":"string","description":"The app setting name containing the OAuth 2.0 client secret that was created for the app used for authentication.\n"}},"type":"object","required":["allowedAudiences","clientId","clientSecret","clientSecretSettingName"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appservice/getLinuxFunctionAppAuthSettingFacebook:getLinuxFunctionAppAuthSettingFacebook":{"properties":{"appId":{"type":"string","description":"The App ID of the Facebook app used for login.\n"},"appSecret":{"type":"string","description":"The App Secret of the Facebook app used for Facebook login.\n","secret":true},"appSecretSettingName":{"type":"string","description":"The app setting name that contains the \u003cspan pulumi-lang-nodejs=\"`appSecret`\" pulumi-lang-dotnet=\"`AppSecret`\" pulumi-lang-go=\"`appSecret`\" pulumi-lang-python=\"`app_secret`\" pulumi-lang-yaml=\"`appSecret`\" pulumi-lang-java=\"`appSecret`\"\u003e`app_secret`\u003c/span\u003e value used for Facebook login.\n"},"oauthScopes":{"type":"array","items":{"type":"string"},"description":"A list of OAuth 2.0 scopes that will be requested as part of Microsoft Account authentication.\n"}},"type":"object","required":["appId","appSecret","appSecretSettingName","oauthScopes"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appservice/getLinuxFunctionAppAuthSettingGithub:getLinuxFunctionAppAuthSettingGithub":{"properties":{"clientId":{"type":"string","description":"The OAuth 2.0 client ID that was created for the app used for authentication.\n"},"clientSecret":{"type":"string","description":"The OAuth 2.0 client secret that was created for the app used for authentication.\n","secret":true},"clientSecretSettingName":{"type":"string","description":"The app setting name containing the OAuth 2.0 client secret that was created for the app used for authentication.\n"},"oauthScopes":{"type":"array","items":{"type":"string"},"description":"A list of OAuth 2.0 scopes that will be requested as part of Microsoft Account authentication.\n"}},"type":"object","required":["clientId","clientSecret","clientSecretSettingName","oauthScopes"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appservice/getLinuxFunctionAppAuthSettingGoogle:getLinuxFunctionAppAuthSettingGoogle":{"properties":{"clientId":{"type":"string","description":"The OAuth 2.0 client ID that was created for the app used for authentication.\n"},"clientSecret":{"type":"string","description":"The OAuth 2.0 client secret that was created for the app used for authentication.\n","secret":true},"clientSecretSettingName":{"type":"string","description":"The app setting name containing the OAuth 2.0 client secret that was created for the app used for authentication.\n"},"oauthScopes":{"type":"array","items":{"type":"string"},"description":"A list of OAuth 2.0 scopes that will be requested as part of Microsoft Account authentication.\n"}},"type":"object","required":["clientId","clientSecret","clientSecretSettingName","oauthScopes"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appservice/getLinuxFunctionAppAuthSettingMicrosoft:getLinuxFunctionAppAuthSettingMicrosoft":{"properties":{"clientId":{"type":"string","description":"The OAuth 2.0 client ID that was created for the app used for authentication.\n"},"clientSecret":{"type":"string","description":"The OAuth 2.0 client secret that was created for the app used for authentication.\n","secret":true},"clientSecretSettingName":{"type":"string","description":"The app setting name containing the OAuth 2.0 client secret that was created for the app used for authentication.\n"},"oauthScopes":{"type":"array","items":{"type":"string"},"description":"A list of OAuth 2.0 scopes that will be requested as part of Microsoft Account authentication.\n"}},"type":"object","required":["clientId","clientSecret","clientSecretSettingName","oauthScopes"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appservice/getLinuxFunctionAppAuthSettingTwitter:getLinuxFunctionAppAuthSettingTwitter":{"properties":{"consumerKey":{"type":"string","description":"The OAuth 1.0a consumer key of the Twitter application used for sign-in.\n"},"consumerSecret":{"type":"string","description":"The OAuth 1.0a consumer secret of the Twitter application used for sign-in.\n","secret":true},"consumerSecretSettingName":{"type":"string","description":"The app setting name that contains the OAuth 1.0a consumer secret of the Twitter application used for sign-in.\n"}},"type":"object","required":["consumerKey","consumerSecret","consumerSecretSettingName"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appservice/getLinuxFunctionAppAuthSettingsV2:getLinuxFunctionAppAuthSettingsV2":{"properties":{"activeDirectoryV2s":{"type":"array","items":{"$ref":"#/types/azure:appservice/getLinuxFunctionAppAuthSettingsV2ActiveDirectoryV2:getLinuxFunctionAppAuthSettingsV2ActiveDirectoryV2"},"description":"An \u003cspan pulumi-lang-nodejs=\"`activeDirectoryV2`\" pulumi-lang-dotnet=\"`ActiveDirectoryV2`\" pulumi-lang-go=\"`activeDirectoryV2`\" pulumi-lang-python=\"`active_directory_v2`\" pulumi-lang-yaml=\"`activeDirectoryV2`\" pulumi-lang-java=\"`activeDirectoryV2`\"\u003e`active_directory_v2`\u003c/span\u003e block as defined below.\n"},"appleV2s":{"type":"array","items":{"$ref":"#/types/azure:appservice/getLinuxFunctionAppAuthSettingsV2AppleV2:getLinuxFunctionAppAuthSettingsV2AppleV2"},"description":"An \u003cspan pulumi-lang-nodejs=\"`appleV2`\" pulumi-lang-dotnet=\"`AppleV2`\" pulumi-lang-go=\"`appleV2`\" pulumi-lang-python=\"`apple_v2`\" pulumi-lang-yaml=\"`appleV2`\" pulumi-lang-java=\"`appleV2`\"\u003e`apple_v2`\u003c/span\u003e block as defined below.\n"},"authEnabled":{"type":"boolean","description":"Are the AuthV2 Settings enabled.\n"},"azureStaticWebAppV2s":{"type":"array","items":{"$ref":"#/types/azure:appservice/getLinuxFunctionAppAuthSettingsV2AzureStaticWebAppV2:getLinuxFunctionAppAuthSettingsV2AzureStaticWebAppV2"},"description":"An \u003cspan pulumi-lang-nodejs=\"`azureStaticWebAppV2`\" pulumi-lang-dotnet=\"`AzureStaticWebAppV2`\" pulumi-lang-go=\"`azureStaticWebAppV2`\" pulumi-lang-python=\"`azure_static_web_app_v2`\" pulumi-lang-yaml=\"`azureStaticWebAppV2`\" pulumi-lang-java=\"`azureStaticWebAppV2`\"\u003e`azure_static_web_app_v2`\u003c/span\u003e block as defined below.\n"},"configFilePath":{"type":"string","description":"The path to the App Auth settings.\n"},"customOidcV2s":{"type":"array","items":{"$ref":"#/types/azure:appservice/getLinuxFunctionAppAuthSettingsV2CustomOidcV2:getLinuxFunctionAppAuthSettingsV2CustomOidcV2"},"description":"Zero or more \u003cspan pulumi-lang-nodejs=\"`customOidcV2`\" pulumi-lang-dotnet=\"`CustomOidcV2`\" pulumi-lang-go=\"`customOidcV2`\" pulumi-lang-python=\"`custom_oidc_v2`\" pulumi-lang-yaml=\"`customOidcV2`\" pulumi-lang-java=\"`customOidcV2`\"\u003e`custom_oidc_v2`\u003c/span\u003e blocks as defined below.\n"},"defaultProvider":{"type":"string","description":"The Default Authentication Provider used when more than one Authentication Provider is configured and the \u003cspan pulumi-lang-nodejs=\"`unauthenticatedAction`\" pulumi-lang-dotnet=\"`UnauthenticatedAction`\" pulumi-lang-go=\"`unauthenticatedAction`\" pulumi-lang-python=\"`unauthenticated_action`\" pulumi-lang-yaml=\"`unauthenticatedAction`\" pulumi-lang-java=\"`unauthenticatedAction`\"\u003e`unauthenticated_action`\u003c/span\u003e is set to `RedirectToLoginPage`.\n"},"excludedPaths":{"type":"array","items":{"type":"string"},"description":"The paths which should be excluded from the \u003cspan pulumi-lang-nodejs=\"`unauthenticatedAction`\" pulumi-lang-dotnet=\"`UnauthenticatedAction`\" pulumi-lang-go=\"`unauthenticatedAction`\" pulumi-lang-python=\"`unauthenticated_action`\" pulumi-lang-yaml=\"`unauthenticatedAction`\" pulumi-lang-java=\"`unauthenticatedAction`\"\u003e`unauthenticated_action`\u003c/span\u003e when it is set to `RedirectToLoginPage`.\n"},"facebookV2s":{"type":"array","items":{"$ref":"#/types/azure:appservice/getLinuxFunctionAppAuthSettingsV2FacebookV2:getLinuxFunctionAppAuthSettingsV2FacebookV2"},"description":"A \u003cspan pulumi-lang-nodejs=\"`facebookV2`\" pulumi-lang-dotnet=\"`FacebookV2`\" pulumi-lang-go=\"`facebookV2`\" pulumi-lang-python=\"`facebook_v2`\" pulumi-lang-yaml=\"`facebookV2`\" pulumi-lang-java=\"`facebookV2`\"\u003e`facebook_v2`\u003c/span\u003e block as defined below.\n"},"forwardProxyConvention":{"type":"string","description":"The convention used to determine the url of the request made.\n"},"forwardProxyCustomHostHeaderName":{"type":"string","description":"The name of the custom header containing the host of the request.\n"},"forwardProxyCustomSchemeHeaderName":{"type":"string","description":"The name of the custom header containing the scheme of the request.\n"},"githubV2s":{"type":"array","items":{"$ref":"#/types/azure:appservice/getLinuxFunctionAppAuthSettingsV2GithubV2:getLinuxFunctionAppAuthSettingsV2GithubV2"},"description":"A \u003cspan pulumi-lang-nodejs=\"`githubV2`\" pulumi-lang-dotnet=\"`GithubV2`\" pulumi-lang-go=\"`githubV2`\" pulumi-lang-python=\"`github_v2`\" pulumi-lang-yaml=\"`githubV2`\" pulumi-lang-java=\"`githubV2`\"\u003e`github_v2`\u003c/span\u003e block as defined below.\n"},"googleV2s":{"type":"array","items":{"$ref":"#/types/azure:appservice/getLinuxFunctionAppAuthSettingsV2GoogleV2:getLinuxFunctionAppAuthSettingsV2GoogleV2"},"description":"A \u003cspan pulumi-lang-nodejs=\"`googleV2`\" pulumi-lang-dotnet=\"`GoogleV2`\" pulumi-lang-go=\"`googleV2`\" pulumi-lang-python=\"`google_v2`\" pulumi-lang-yaml=\"`googleV2`\" pulumi-lang-java=\"`googleV2`\"\u003e`google_v2`\u003c/span\u003e block as defined below.\n"},"httpRouteApiPrefix":{"type":"string","description":"The prefix that should precede all the authentication and authorisation paths.\n"},"logins":{"type":"array","items":{"$ref":"#/types/azure:appservice/getLinuxFunctionAppAuthSettingsV2Login:getLinuxFunctionAppAuthSettingsV2Login"},"description":"A \u003cspan pulumi-lang-nodejs=\"`login`\" pulumi-lang-dotnet=\"`Login`\" pulumi-lang-go=\"`login`\" pulumi-lang-python=\"`login`\" pulumi-lang-yaml=\"`login`\" pulumi-lang-java=\"`login`\"\u003e`login`\u003c/span\u003e block as defined below.\n"},"microsoftV2s":{"type":"array","items":{"$ref":"#/types/azure:appservice/getLinuxFunctionAppAuthSettingsV2MicrosoftV2:getLinuxFunctionAppAuthSettingsV2MicrosoftV2"},"description":"A \u003cspan pulumi-lang-nodejs=\"`microsoftV2`\" pulumi-lang-dotnet=\"`MicrosoftV2`\" pulumi-lang-go=\"`microsoftV2`\" pulumi-lang-python=\"`microsoft_v2`\" pulumi-lang-yaml=\"`microsoftV2`\" pulumi-lang-java=\"`microsoftV2`\"\u003e`microsoft_v2`\u003c/span\u003e block as defined below.\n"},"requireAuthentication":{"type":"boolean","description":"Is the authentication flow used for all requests.\n"},"requireHttps":{"type":"boolean","description":"Is HTTPS required on connections?\n"},"runtimeVersion":{"type":"string","description":"The Runtime Version of the Authentication and Authorisation feature of this App.\n"},"twitterV2s":{"type":"array","items":{"$ref":"#/types/azure:appservice/getLinuxFunctionAppAuthSettingsV2TwitterV2:getLinuxFunctionAppAuthSettingsV2TwitterV2"},"description":"A \u003cspan pulumi-lang-nodejs=\"`twitterV2`\" pulumi-lang-dotnet=\"`TwitterV2`\" pulumi-lang-go=\"`twitterV2`\" pulumi-lang-python=\"`twitter_v2`\" pulumi-lang-yaml=\"`twitterV2`\" pulumi-lang-java=\"`twitterV2`\"\u003e`twitter_v2`\u003c/span\u003e block as defined below.\n"},"unauthenticatedAction":{"type":"string","description":"The action to take for requests made without authentication.\n"}},"type":"object","required":["activeDirectoryV2s","appleV2s","authEnabled","azureStaticWebAppV2s","configFilePath","customOidcV2s","defaultProvider","excludedPaths","facebookV2s","forwardProxyConvention","forwardProxyCustomHostHeaderName","forwardProxyCustomSchemeHeaderName","githubV2s","googleV2s","httpRouteApiPrefix","logins","microsoftV2s","requireAuthentication","requireHttps","runtimeVersion","twitterV2s","unauthenticatedAction"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appservice/getLinuxFunctionAppAuthSettingsV2ActiveDirectoryV2:getLinuxFunctionAppAuthSettingsV2ActiveDirectoryV2":{"properties":{"allowedApplications":{"type":"array","items":{"type":"string"},"description":"The list of allowed Applications for the Default Authorisation Policy.\n"},"allowedAudiences":{"type":"array","items":{"type":"string"},"description":"The list of Allowed Audiences that are be requested as part of Microsoft Sign-In authentication.\n"},"allowedGroups":{"type":"array","items":{"type":"string"},"description":"The list of allowed Group Names for the Default Authorisation Policy.\n"},"allowedIdentities":{"type":"array","items":{"type":"string"},"description":"The list of allowed Identities for the Default Authorisation Policy.\n"},"clientId":{"type":"string","description":"The OAuth 2.0 client ID that was created for the app used for authentication.\n"},"clientSecretCertificateThumbprint":{"type":"string","description":"The thumbprint of the certificate used for signing purposes.\n"},"clientSecretSettingName":{"type":"string","description":"The app setting name containing the OAuth 2.0 client secret that was created for the app used for authentication.\n"},"jwtAllowedClientApplications":{"type":"array","items":{"type":"string"},"description":"The list of Allowed Client Applications in the JWT Claim.\n"},"jwtAllowedGroups":{"type":"array","items":{"type":"string"},"description":"The list of Allowed Groups in the JWT Claim.\n"},"loginParameters":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of key-value pairs sent to the Authorisation Endpoint when a user logs in.\n"},"tenantAuthEndpoint":{"type":"string","description":"The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/`\n"},"wwwAuthenticationDisabled":{"type":"boolean","description":"Is the www-authenticate provider omitted from the request?\n"}},"type":"object","required":["allowedApplications","allowedAudiences","allowedGroups","allowedIdentities","clientId","clientSecretCertificateThumbprint","clientSecretSettingName","jwtAllowedClientApplications","jwtAllowedGroups","loginParameters","tenantAuthEndpoint","wwwAuthenticationDisabled"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appservice/getLinuxFunctionAppAuthSettingsV2AppleV2:getLinuxFunctionAppAuthSettingsV2AppleV2":{"properties":{"clientId":{"type":"string","description":"The OAuth 2.0 client ID that was created for the app used for authentication.\n"},"clientSecretSettingName":{"type":"string","description":"The app setting name containing the OAuth 2.0 client secret that was created for the app used for authentication.\n"},"loginScopes":{"type":"array","items":{"type":"string"},"description":"The list of Login scopes that are requested as part of Microsoft Account authentication.\n"}},"type":"object","required":["clientId","clientSecretSettingName","loginScopes"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appservice/getLinuxFunctionAppAuthSettingsV2AzureStaticWebAppV2:getLinuxFunctionAppAuthSettingsV2AzureStaticWebAppV2":{"properties":{"clientId":{"type":"string","description":"The OAuth 2.0 client ID that was created for the app used for authentication.\n"}},"type":"object","required":["clientId"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appservice/getLinuxFunctionAppAuthSettingsV2CustomOidcV2:getLinuxFunctionAppAuthSettingsV2CustomOidcV2":{"properties":{"authorisationEndpoint":{"type":"string","description":"The endpoint to make the Authorisation Request as supplied by \u003cspan pulumi-lang-nodejs=\"`openidConfigurationEndpoint`\" pulumi-lang-dotnet=\"`OpenidConfigurationEndpoint`\" pulumi-lang-go=\"`openidConfigurationEndpoint`\" pulumi-lang-python=\"`openid_configuration_endpoint`\" pulumi-lang-yaml=\"`openidConfigurationEndpoint`\" pulumi-lang-java=\"`openidConfigurationEndpoint`\"\u003e`openid_configuration_endpoint`\u003c/span\u003e response.\n"},"certificationUri":{"type":"string","description":"The endpoint that provides the keys necessary to validate the token as supplied by \u003cspan pulumi-lang-nodejs=\"`openidConfigurationEndpoint`\" pulumi-lang-dotnet=\"`OpenidConfigurationEndpoint`\" pulumi-lang-go=\"`openidConfigurationEndpoint`\" pulumi-lang-python=\"`openid_configuration_endpoint`\" pulumi-lang-yaml=\"`openidConfigurationEndpoint`\" pulumi-lang-java=\"`openidConfigurationEndpoint`\"\u003e`openid_configuration_endpoint`\u003c/span\u003e response.\n"},"clientCredentialMethod":{"type":"string","description":"The Client Credential Method used.\n"},"clientId":{"type":"string","description":"The OAuth 2.0 client ID that was created for the app used for authentication.\n"},"clientSecretSettingName":{"type":"string","description":"The app setting name containing the OAuth 2.0 client secret that was created for the app used for authentication.\n"},"issuerEndpoint":{"type":"string","description":"The endpoint that issued the Token as supplied by \u003cspan pulumi-lang-nodejs=\"`openidConfigurationEndpoint`\" pulumi-lang-dotnet=\"`OpenidConfigurationEndpoint`\" pulumi-lang-go=\"`openidConfigurationEndpoint`\" pulumi-lang-python=\"`openid_configuration_endpoint`\" pulumi-lang-yaml=\"`openidConfigurationEndpoint`\" pulumi-lang-java=\"`openidConfigurationEndpoint`\"\u003e`openid_configuration_endpoint`\u003c/span\u003e response.\n"},"name":{"type":"string","description":"The name which should be used for this Linux Function App.\n"},"nameClaimType":{"type":"string","description":"The name of the claim that contains the users name.\n"},"openidConfigurationEndpoint":{"type":"string","description":"The endpoint used for OpenID Connect Discovery. For example `https://example.com/.well-known/openid-configuration`.\n"},"scopes":{"type":"array","items":{"type":"string"},"description":"The list of the scopes that are requested while authenticating.\n"},"tokenEndpoint":{"type":"string","description":"The endpoint used to request a Token as supplied by \u003cspan pulumi-lang-nodejs=\"`openidConfigurationEndpoint`\" pulumi-lang-dotnet=\"`OpenidConfigurationEndpoint`\" pulumi-lang-go=\"`openidConfigurationEndpoint`\" pulumi-lang-python=\"`openid_configuration_endpoint`\" pulumi-lang-yaml=\"`openidConfigurationEndpoint`\" pulumi-lang-java=\"`openidConfigurationEndpoint`\"\u003e`openid_configuration_endpoint`\u003c/span\u003e response.\n"}},"type":"object","required":["authorisationEndpoint","certificationUri","clientCredentialMethod","clientId","clientSecretSettingName","issuerEndpoint","name","nameClaimType","openidConfigurationEndpoint","scopes","tokenEndpoint"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appservice/getLinuxFunctionAppAuthSettingsV2FacebookV2:getLinuxFunctionAppAuthSettingsV2FacebookV2":{"properties":{"appId":{"type":"string","description":"The App ID of the Facebook app used for login.\n"},"appSecretSettingName":{"type":"string","description":"The app setting name that contains the \u003cspan pulumi-lang-nodejs=\"`appSecret`\" pulumi-lang-dotnet=\"`AppSecret`\" pulumi-lang-go=\"`appSecret`\" pulumi-lang-python=\"`app_secret`\" pulumi-lang-yaml=\"`appSecret`\" pulumi-lang-java=\"`appSecret`\"\u003e`app_secret`\u003c/span\u003e value used for Facebook login.\n"},"graphApiVersion":{"type":"string","description":"The version of the Facebook API to be used while logging in.\n"},"loginScopes":{"type":"array","items":{"type":"string"},"description":"The list of Login scopes that are requested as part of Microsoft Account authentication.\n"}},"type":"object","required":["appId","appSecretSettingName","graphApiVersion","loginScopes"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appservice/getLinuxFunctionAppAuthSettingsV2GithubV2:getLinuxFunctionAppAuthSettingsV2GithubV2":{"properties":{"clientId":{"type":"string","description":"The OAuth 2.0 client ID that was created for the app used for authentication.\n"},"clientSecretSettingName":{"type":"string","description":"The app setting name containing the OAuth 2.0 client secret that was created for the app used for authentication.\n"},"loginScopes":{"type":"array","items":{"type":"string"},"description":"The list of Login scopes that are requested as part of Microsoft Account authentication.\n"}},"type":"object","required":["clientId","clientSecretSettingName","loginScopes"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appservice/getLinuxFunctionAppAuthSettingsV2GoogleV2:getLinuxFunctionAppAuthSettingsV2GoogleV2":{"properties":{"allowedAudiences":{"type":"array","items":{"type":"string"},"description":"The list of Allowed Audiences that are be requested as part of Microsoft Sign-In authentication.\n"},"clientId":{"type":"string","description":"The OAuth 2.0 client ID that was created for the app used for authentication.\n"},"clientSecretSettingName":{"type":"string","description":"The app setting name containing the OAuth 2.0 client secret that was created for the app used for authentication.\n"},"loginScopes":{"type":"array","items":{"type":"string"},"description":"The list of Login scopes that are requested as part of Microsoft Account authentication.\n"}},"type":"object","required":["allowedAudiences","clientId","clientSecretSettingName","loginScopes"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appservice/getLinuxFunctionAppAuthSettingsV2Login:getLinuxFunctionAppAuthSettingsV2Login":{"properties":{"allowedExternalRedirectUrls":{"type":"array","items":{"type":"string"},"description":"External URLs that can be redirected to as part of logging in or logging out of the app.\n"},"cookieExpirationConvention":{"type":"string","description":"The method by which cookies expire.\n"},"cookieExpirationTime":{"type":"string","description":"The time after the request is made when the session cookie should expire.\n"},"logoutEndpoint":{"type":"string","description":"The endpoint to which logout requests are made.\n"},"nonceExpirationTime":{"type":"string","description":"The time after the request is made when the nonce should expire.\n"},"preserveUrlFragmentsForLogins":{"type":"boolean","description":"Are the fragments from the request preserved after the login request is made.\n"},"tokenRefreshExtensionTime":{"type":"number","description":"The number of hours after session token expiration that a session token can be used to call the token refresh API.\n"},"tokenStoreEnabled":{"type":"boolean","description":"Is the Token Store configuration Enabled.\n"},"tokenStorePath":{"type":"string","description":"The directory path in the App Filesystem in which the tokens are stored.\n"},"tokenStoreSasSettingName":{"type":"string","description":"The name of the app setting which contains the SAS URL of the blob storage containing the tokens.\n"},"validateNonce":{"type":"boolean","description":"Is the nonce validated while completing the login flow.\n"}},"type":"object","required":["allowedExternalRedirectUrls","cookieExpirationConvention","cookieExpirationTime","logoutEndpoint","nonceExpirationTime","preserveUrlFragmentsForLogins","tokenRefreshExtensionTime","tokenStoreEnabled","tokenStorePath","tokenStoreSasSettingName","validateNonce"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appservice/getLinuxFunctionAppAuthSettingsV2MicrosoftV2:getLinuxFunctionAppAuthSettingsV2MicrosoftV2":{"properties":{"allowedAudiences":{"type":"array","items":{"type":"string"},"description":"The list of Allowed Audiences that are be requested as part of Microsoft Sign-In authentication.\n"},"clientId":{"type":"string","description":"The OAuth 2.0 client ID that was created for the app used for authentication.\n"},"clientSecretSettingName":{"type":"string","description":"The app setting name containing the OAuth 2.0 client secret that was created for the app used for authentication.\n"},"loginScopes":{"type":"array","items":{"type":"string"},"description":"The list of Login scopes that are requested as part of Microsoft Account authentication.\n"}},"type":"object","required":["allowedAudiences","clientId","clientSecretSettingName","loginScopes"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appservice/getLinuxFunctionAppAuthSettingsV2TwitterV2:getLinuxFunctionAppAuthSettingsV2TwitterV2":{"properties":{"consumerKey":{"type":"string","description":"The OAuth 1.0a consumer key of the Twitter application used for sign-in.\n"},"consumerSecretSettingName":{"type":"string","description":"The app setting name that contains the OAuth 1.0a consumer secret of the Twitter application used for sign-in.\n"}},"type":"object","required":["consumerKey","consumerSecretSettingName"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appservice/getLinuxFunctionAppBackup:getLinuxFunctionAppBackup":{"properties":{"enabled":{"type":"boolean","description":"Is this backup job enabled?\n"},"name":{"type":"string","description":"The name which should be used for this Linux Function App.\n"},"schedules":{"type":"array","items":{"$ref":"#/types/azure:appservice/getLinuxFunctionAppBackupSchedule:getLinuxFunctionAppBackupSchedule"},"description":"A \u003cspan pulumi-lang-nodejs=\"`schedule`\" pulumi-lang-dotnet=\"`Schedule`\" pulumi-lang-go=\"`schedule`\" pulumi-lang-python=\"`schedule`\" pulumi-lang-yaml=\"`schedule`\" pulumi-lang-java=\"`schedule`\"\u003e`schedule`\u003c/span\u003e block as defined below.\n"},"storageAccountUrl":{"type":"string","description":"The SAS URL to the container.\n","secret":true}},"type":"object","required":["enabled","name","schedules","storageAccountUrl"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appservice/getLinuxFunctionAppBackupSchedule:getLinuxFunctionAppBackupSchedule":{"properties":{"frequencyInterval":{"type":"integer","description":"How often the backup is executed.\n"},"frequencyUnit":{"type":"string","description":"The unit of time for how often the backup takes place.\n"},"keepAtLeastOneBackup":{"type":"boolean","description":"Does the service keep at least one backup, regardless of age of backup?\n"},"lastExecutionTime":{"type":"string","description":"The time the backup was last attempted.\n"},"retentionPeriodDays":{"type":"integer","description":"After how many days backups are deleted.\n"},"startTime":{"type":"string","description":"When the schedule starts working in RFC-3339 format.\n"}},"type":"object","required":["frequencyInterval","frequencyUnit","keepAtLeastOneBackup","lastExecutionTime","retentionPeriodDays","startTime"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appservice/getLinuxFunctionAppConnectionString:getLinuxFunctionAppConnectionString":{"properties":{"name":{"type":"string","description":"The name which should be used for this Linux Function App.\n"},"type":{"type":"string","description":"The type of Managed Service Identity that is configured on this Linux Function App.\n"},"value":{"type":"string","description":"The connection string value.\n","secret":true}},"type":"object","required":["name","type","value"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appservice/getLinuxFunctionAppIdentity:getLinuxFunctionAppIdentity":{"properties":{"identityIds":{"type":"array","items":{"type":"string"},"description":"The list of User Assigned Managed Identity IDs assigned to this Linux Function App.\n"},"principalId":{"type":"string","description":"The Principal ID of the System Assigned Managed Service Identity that is configured on this Linux Function App.\n"},"tenantId":{"type":"string","description":"The Tenant ID of the System Assigned Managed Service Identity that is configured on this Linux Function App.\n"},"type":{"type":"string","description":"The type of Managed Service Identity that is configured on this Linux Function App.\n"}},"type":"object","required":["identityIds","principalId","tenantId","type"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appservice/getLinuxFunctionAppSiteConfig:getLinuxFunctionAppSiteConfig":{"properties":{"alwaysOn":{"type":"boolean","description":"If this Linux Web App is Always On enabled.\n"},"apiDefinitionUrl":{"type":"string","description":"The URL of the API definition that describes this Linux Function App.\n"},"apiManagementApiId":{"type":"string","description":"The ID of the API Management API for this Linux Function App.\n"},"appCommandLine":{"type":"string","description":"The App command line that is launched.\n"},"appScaleLimit":{"type":"integer","description":"The number of workers this function app can scale out to.\n"},"appServiceLogs":{"type":"array","items":{"$ref":"#/types/azure:appservice/getLinuxFunctionAppSiteConfigAppServiceLog:getLinuxFunctionAppSiteConfigAppServiceLog"},"description":"An \u003cspan pulumi-lang-nodejs=\"`appServiceLogs`\" pulumi-lang-dotnet=\"`AppServiceLogs`\" pulumi-lang-go=\"`appServiceLogs`\" pulumi-lang-python=\"`app_service_logs`\" pulumi-lang-yaml=\"`appServiceLogs`\" pulumi-lang-java=\"`appServiceLogs`\"\u003e`app_service_logs`\u003c/span\u003e block as defined above.\n"},"applicationInsightsConnectionString":{"type":"string","description":"The Connection String that links the Linux Function App to Application Insights.\n"},"applicationInsightsKey":{"type":"string","description":"The Instrumentation Key that connects the Linux Function App to Application Insights.\n"},"applicationStacks":{"type":"array","items":{"$ref":"#/types/azure:appservice/getLinuxFunctionAppSiteConfigApplicationStack:getLinuxFunctionAppSiteConfigApplicationStack"},"description":"An \u003cspan pulumi-lang-nodejs=\"`applicationStack`\" pulumi-lang-dotnet=\"`ApplicationStack`\" pulumi-lang-go=\"`applicationStack`\" pulumi-lang-python=\"`application_stack`\" pulumi-lang-yaml=\"`applicationStack`\" pulumi-lang-java=\"`applicationStack`\"\u003e`application_stack`\u003c/span\u003e block as defined above.\n"},"containerRegistryManagedIdentityClientId":{"type":"string","description":"The Client ID of the Managed Service Identity that is used for connections to the Azure Container Registry.\n"},"containerRegistryUseManagedIdentity":{"type":"boolean","description":"Do connections for Azure Container Registry use Managed Identity?\n"},"cors":{"type":"array","items":{"$ref":"#/types/azure:appservice/getLinuxFunctionAppSiteConfigCor:getLinuxFunctionAppSiteConfigCor"},"description":"A \u003cspan pulumi-lang-nodejs=\"`cors`\" pulumi-lang-dotnet=\"`Cors`\" pulumi-lang-go=\"`cors`\" pulumi-lang-python=\"`cors`\" pulumi-lang-yaml=\"`cors`\" pulumi-lang-java=\"`cors`\"\u003e`cors`\u003c/span\u003e block as defined above.\n"},"defaultDocuments":{"type":"array","items":{"type":"string"},"description":"A list of Default Documents for the Linux Web App.\n"},"detailedErrorLoggingEnabled":{"type":"boolean"},"elasticInstanceMinimum":{"type":"integer","description":"The number of minimum instances for this Linux Function App.\n"},"ftpsState":{"type":"string","description":"State of FTP / FTPS service for this function app.\n"},"healthCheckEvictionTimeInMin":{"type":"integer","description":"The amount of time in minutes that a node can be unhealthy before being removed from the load balancer.\n"},"healthCheckPath":{"type":"string","description":"The path that is checked for this function app health.\n"},"http2Enabled":{"type":"boolean","description":"Is the HTTP2 protocol enabled?\n"},"ipRestrictionDefaultAction":{"type":"string","description":"The Default action for traffic that does not match any \u003cspan pulumi-lang-nodejs=\"`ipRestriction`\" pulumi-lang-dotnet=\"`IpRestriction`\" pulumi-lang-go=\"`ipRestriction`\" pulumi-lang-python=\"`ip_restriction`\" pulumi-lang-yaml=\"`ipRestriction`\" pulumi-lang-java=\"`ipRestriction`\"\u003e`ip_restriction`\u003c/span\u003e rule.\n"},"ipRestrictions":{"type":"array","items":{"$ref":"#/types/azure:appservice/getLinuxFunctionAppSiteConfigIpRestriction:getLinuxFunctionAppSiteConfigIpRestriction"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`ipRestriction`\" pulumi-lang-dotnet=\"`IpRestriction`\" pulumi-lang-go=\"`ipRestriction`\" pulumi-lang-python=\"`ip_restriction`\" pulumi-lang-yaml=\"`ipRestriction`\" pulumi-lang-java=\"`ipRestriction`\"\u003e`ip_restriction`\u003c/span\u003e blocks as defined above.\n"},"linuxFxVersion":{"type":"string"},"loadBalancingMode":{"type":"string","description":"The Site load balancing mode.\n"},"managedPipelineMode":{"type":"string","description":"Managed pipeline mode.\n"},"minimumTlsVersion":{"type":"string","description":"The minimum version of TLS required for SSL requests.\n"},"preWarmedInstanceCount":{"type":"integer","description":"The number of pre-warmed instances for this function app.\n"},"remoteDebuggingEnabled":{"type":"boolean","description":"Is Remote Debugging enabled?\n"},"remoteDebuggingVersion":{"type":"string","description":"The Remote Debugging Version.\n"},"runtimeScaleMonitoringEnabled":{"type":"boolean","description":"Is Scale Monitoring of the Functions Runtime enabled?\n"},"scmIpRestrictionDefaultAction":{"type":"string","description":"The Default action for traffic that does not match any \u003cspan pulumi-lang-nodejs=\"`scmIpRestriction`\" pulumi-lang-dotnet=\"`ScmIpRestriction`\" pulumi-lang-go=\"`scmIpRestriction`\" pulumi-lang-python=\"`scm_ip_restriction`\" pulumi-lang-yaml=\"`scmIpRestriction`\" pulumi-lang-java=\"`scmIpRestriction`\"\u003e`scm_ip_restriction`\u003c/span\u003e rule.\n"},"scmIpRestrictions":{"type":"array","items":{"$ref":"#/types/azure:appservice/getLinuxFunctionAppSiteConfigScmIpRestriction:getLinuxFunctionAppSiteConfigScmIpRestriction"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`scmIpRestriction`\" pulumi-lang-dotnet=\"`ScmIpRestriction`\" pulumi-lang-go=\"`scmIpRestriction`\" pulumi-lang-python=\"`scm_ip_restriction`\" pulumi-lang-yaml=\"`scmIpRestriction`\" pulumi-lang-java=\"`scmIpRestriction`\"\u003e`scm_ip_restriction`\u003c/span\u003e blocks as defined above.\n"},"scmMinimumTlsVersion":{"type":"string","description":"The minimum version of TLS for SSL requests to the SCM site.\n"},"scmType":{"type":"string"},"scmUseMainIpRestriction":{"type":"boolean","description":"Is the Linux Function App \u003cspan pulumi-lang-nodejs=\"`ipRestriction`\" pulumi-lang-dotnet=\"`IpRestriction`\" pulumi-lang-go=\"`ipRestriction`\" pulumi-lang-python=\"`ip_restriction`\" pulumi-lang-yaml=\"`ipRestriction`\" pulumi-lang-java=\"`ipRestriction`\"\u003e`ip_restriction`\u003c/span\u003e configuration used for the SCM also?\n"},"use32BitWorker":{"type":"boolean","description":"Does the Linux Web App use a 32-bit worker process?\n"},"vnetRouteAllEnabled":{"type":"boolean","description":"Are all outbound traffic to NAT Gateways, Network Security Groups and User Defined Routes applied?\n"},"websocketsEnabled":{"type":"boolean","description":"Are Web Sockets enabled?\n"},"workerCount":{"type":"integer","description":"The number of Workers for this Linux Function App.\n"}},"type":"object","required":["alwaysOn","apiDefinitionUrl","apiManagementApiId","appCommandLine","appScaleLimit","appServiceLogs","applicationInsightsConnectionString","applicationInsightsKey","applicationStacks","containerRegistryManagedIdentityClientId","containerRegistryUseManagedIdentity","cors","defaultDocuments","detailedErrorLoggingEnabled","elasticInstanceMinimum","ftpsState","healthCheckEvictionTimeInMin","healthCheckPath","http2Enabled","ipRestrictions","ipRestrictionDefaultAction","linuxFxVersion","loadBalancingMode","managedPipelineMode","minimumTlsVersion","preWarmedInstanceCount","remoteDebuggingEnabled","remoteDebuggingVersion","runtimeScaleMonitoringEnabled","scmIpRestrictions","scmMinimumTlsVersion","scmType","scmUseMainIpRestriction","use32BitWorker","vnetRouteAllEnabled","websocketsEnabled","workerCount"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appservice/getLinuxFunctionAppSiteConfigAppServiceLog:getLinuxFunctionAppSiteConfigAppServiceLog":{"properties":{"diskQuotaMb":{"type":"integer","description":"The amount of disk space used for logs.\n"},"retentionPeriodDays":{"type":"integer","description":"After how many days backups are deleted.\n"}},"type":"object","required":["diskQuotaMb","retentionPeriodDays"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appservice/getLinuxFunctionAppSiteConfigApplicationStack:getLinuxFunctionAppSiteConfigApplicationStack":{"properties":{"dockers":{"type":"array","items":{"$ref":"#/types/azure:appservice/getLinuxFunctionAppSiteConfigApplicationStackDocker:getLinuxFunctionAppSiteConfigApplicationStackDocker"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`docker`\" pulumi-lang-dotnet=\"`Docker`\" pulumi-lang-go=\"`docker`\" pulumi-lang-python=\"`docker`\" pulumi-lang-yaml=\"`docker`\" pulumi-lang-java=\"`docker`\"\u003e`docker`\u003c/span\u003e blocks as defined below.\n"},"dotnetVersion":{"type":"string","description":"The version of .NET used.\n"},"javaVersion":{"type":"string","description":"The Version of Java used.\n"},"nodeVersion":{"type":"string","description":"The version of Node used.\n"},"powershellCoreVersion":{"type":"string","description":"The version of PowerShell Core used.\n"},"pythonVersion":{"type":"string","description":"The version of Python used.\n"},"useCustomRuntime":{"type":"boolean","description":"Does the Linux Function App use a custom runtime?\n"},"useDotnetIsolatedRuntime":{"type":"boolean"}},"type":"object","required":["dockers","dotnetVersion","javaVersion","nodeVersion","powershellCoreVersion","pythonVersion","useCustomRuntime","useDotnetIsolatedRuntime"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appservice/getLinuxFunctionAppSiteConfigApplicationStackDocker:getLinuxFunctionAppSiteConfigApplicationStackDocker":{"properties":{"imageName":{"type":"string","description":"The name of the Docker image used.\n"},"imageTag":{"type":"string","description":"The image tag of the image used.\n"},"registryPassword":{"type":"string","description":"The password for the account to use to connect to the registry.\n"},"registryUrl":{"type":"string","description":"The URL of the docker registry.\n"},"registryUsername":{"type":"string","description":"The username used for connections to the registry.\n"}},"type":"object","required":["imageName","imageTag","registryPassword","registryUrl","registryUsername"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appservice/getLinuxFunctionAppSiteConfigCor:getLinuxFunctionAppSiteConfigCor":{"properties":{"allowedOrigins":{"type":"array","items":{"type":"string"},"description":"A list of origins that are allowed to make cross-origin calls.\n"},"supportCredentials":{"type":"boolean","description":"Are credentials allowed in CORS requests?\n"}},"type":"object","required":["allowedOrigins","supportCredentials"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appservice/getLinuxFunctionAppSiteConfigIpRestriction:getLinuxFunctionAppSiteConfigIpRestriction":{"properties":{"action":{"type":"string","description":"The action taken.\n"},"description":{"type":"string","description":"The description of the ip restriction rule.\n"},"headers":{"type":"array","items":{"$ref":"#/types/azure:appservice/getLinuxFunctionAppSiteConfigIpRestrictionHeader:getLinuxFunctionAppSiteConfigIpRestrictionHeader"},"description":"A \u003cspan pulumi-lang-nodejs=\"`headers`\" pulumi-lang-dotnet=\"`Headers`\" pulumi-lang-go=\"`headers`\" pulumi-lang-python=\"`headers`\" pulumi-lang-yaml=\"`headers`\" pulumi-lang-java=\"`headers`\"\u003e`headers`\u003c/span\u003e block as defined above.\n"},"ipAddress":{"type":"string","description":"The CIDR notation of the IP or IP Range matched.\n"},"name":{"type":"string","description":"The name which should be used for this Linux Function App.\n"},"priority":{"type":"integer","description":"The priority value of this \u003cspan pulumi-lang-nodejs=\"`ipRestriction`\" pulumi-lang-dotnet=\"`IpRestriction`\" pulumi-lang-go=\"`ipRestriction`\" pulumi-lang-python=\"`ip_restriction`\" pulumi-lang-yaml=\"`ipRestriction`\" pulumi-lang-java=\"`ipRestriction`\"\u003e`ip_restriction`\u003c/span\u003e.\n"},"serviceTag":{"type":"string","description":"The Service Tag used for this IP Restriction.\n"},"virtualNetworkSubnetId":{"type":"string","description":"The Virtual Network Subnet ID used for this IP Restriction.\n"}},"type":"object","required":["action","description","headers","ipAddress","name","priority","serviceTag","virtualNetworkSubnetId"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appservice/getLinuxFunctionAppSiteConfigIpRestrictionHeader:getLinuxFunctionAppSiteConfigIpRestrictionHeader":{"properties":{"xAzureFdids":{"type":"array","items":{"type":"string"},"description":"A list of Azure Front Door IDs.\n"},"xFdHealthProbes":{"type":"array","items":{"type":"string"},"description":"Should a Front Door Health Probe be expected?\n"},"xForwardedFors":{"type":"array","items":{"type":"string"},"description":"A list of addresses for which matching is applied.\n"},"xForwardedHosts":{"type":"array","items":{"type":"string"},"description":"A list of Hosts for which matching is applied.\n"}},"type":"object","required":["xAzureFdids","xFdHealthProbes","xForwardedFors","xForwardedHosts"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appservice/getLinuxFunctionAppSiteConfigScmIpRestriction:getLinuxFunctionAppSiteConfigScmIpRestriction":{"properties":{"action":{"type":"string","description":"The action taken.\n"},"description":{"type":"string","description":"The description of the ip restriction rule.\n"},"headers":{"type":"array","items":{"$ref":"#/types/azure:appservice/getLinuxFunctionAppSiteConfigScmIpRestrictionHeader:getLinuxFunctionAppSiteConfigScmIpRestrictionHeader"},"description":"A \u003cspan pulumi-lang-nodejs=\"`headers`\" pulumi-lang-dotnet=\"`Headers`\" pulumi-lang-go=\"`headers`\" pulumi-lang-python=\"`headers`\" pulumi-lang-yaml=\"`headers`\" pulumi-lang-java=\"`headers`\"\u003e`headers`\u003c/span\u003e block as defined above.\n"},"ipAddress":{"type":"string","description":"The CIDR notation of the IP or IP Range matched.\n"},"name":{"type":"string","description":"The name which should be used for this Linux Function App.\n"},"priority":{"type":"integer","description":"The priority value of this \u003cspan pulumi-lang-nodejs=\"`ipRestriction`\" pulumi-lang-dotnet=\"`IpRestriction`\" pulumi-lang-go=\"`ipRestriction`\" pulumi-lang-python=\"`ip_restriction`\" pulumi-lang-yaml=\"`ipRestriction`\" pulumi-lang-java=\"`ipRestriction`\"\u003e`ip_restriction`\u003c/span\u003e.\n"},"serviceTag":{"type":"string","description":"The Service Tag used for this IP Restriction.\n"},"virtualNetworkSubnetId":{"type":"string","description":"The Virtual Network Subnet ID used for this IP Restriction.\n"}},"type":"object","required":["action","description","headers","ipAddress","name","priority","serviceTag","virtualNetworkSubnetId"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appservice/getLinuxFunctionAppSiteConfigScmIpRestrictionHeader:getLinuxFunctionAppSiteConfigScmIpRestrictionHeader":{"properties":{"xAzureFdids":{"type":"array","items":{"type":"string"},"description":"A list of Azure Front Door IDs.\n"},"xFdHealthProbes":{"type":"array","items":{"type":"string"},"description":"Should a Front Door Health Probe be expected?\n"},"xForwardedFors":{"type":"array","items":{"type":"string"},"description":"A list of addresses for which matching is applied.\n"},"xForwardedHosts":{"type":"array","items":{"type":"string"},"description":"A list of Hosts for which matching is applied.\n"}},"type":"object","required":["xAzureFdids","xFdHealthProbes","xForwardedFors","xForwardedHosts"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appservice/getLinuxFunctionAppSiteCredential:getLinuxFunctionAppSiteCredential":{"properties":{"name":{"type":"string","description":"The name which should be used for this Linux Function App.\n","secret":true},"password":{"type":"string","description":"The Site Credentials Password used for publishing.\n","secret":true}},"type":"object","required":["name","password"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appservice/getLinuxFunctionAppStickySetting:getLinuxFunctionAppStickySetting":{"properties":{"appSettingNames":{"type":"array","items":{"type":"string"},"description":"A list of \u003cspan pulumi-lang-nodejs=\"`appSetting`\" pulumi-lang-dotnet=\"`AppSetting`\" pulumi-lang-go=\"`appSetting`\" pulumi-lang-python=\"`app_setting`\" pulumi-lang-yaml=\"`appSetting`\" pulumi-lang-java=\"`appSetting`\"\u003e`app_setting`\u003c/span\u003e names that the Linux Function App will not swap between Slots when a swap operation is triggered.\n"},"connectionStringNames":{"type":"array","items":{"type":"string"},"description":"A list of \u003cspan pulumi-lang-nodejs=\"`connectionString`\" pulumi-lang-dotnet=\"`ConnectionString`\" pulumi-lang-go=\"`connectionString`\" pulumi-lang-python=\"`connection_string`\" pulumi-lang-yaml=\"`connectionString`\" pulumi-lang-java=\"`connectionString`\"\u003e`connection_string`\u003c/span\u003e names that the Linux Function App will not swap between Slots when a swap operation is triggered.\n"}},"type":"object","required":["appSettingNames","connectionStringNames"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appservice/getLinuxWebAppAuthSetting:getLinuxWebAppAuthSetting":{"properties":{"activeDirectories":{"type":"array","items":{"$ref":"#/types/azure:appservice/getLinuxWebAppAuthSettingActiveDirectory:getLinuxWebAppAuthSettingActiveDirectory"},"description":"A \u003cspan pulumi-lang-nodejs=\"`activeDirectory`\" pulumi-lang-dotnet=\"`ActiveDirectory`\" pulumi-lang-go=\"`activeDirectory`\" pulumi-lang-python=\"`active_directory`\" pulumi-lang-yaml=\"`activeDirectory`\" pulumi-lang-java=\"`activeDirectory`\"\u003e`active_directory`\u003c/span\u003e block as defined above.\n"},"additionalLoginParameters":{"type":"object","additionalProperties":{"type":"string"},"description":"A \u003cspan pulumi-lang-nodejs=\"`additionalLoginParameters`\" pulumi-lang-dotnet=\"`AdditionalLoginParameters`\" pulumi-lang-go=\"`additionalLoginParameters`\" pulumi-lang-python=\"`additional_login_parameters`\" pulumi-lang-yaml=\"`additionalLoginParameters`\" pulumi-lang-java=\"`additionalLoginParameters`\"\u003e`additional_login_parameters`\u003c/span\u003e block as defined above.\n"},"allowedExternalRedirectUrls":{"type":"array","items":{"type":"string"},"description":"External URLs that can be redirected to as part of logging in or logging out of the app.\n"},"defaultProvider":{"type":"string","description":"The Default Authentication Provider used when more than one Authentication Provider is configured and the \u003cspan pulumi-lang-nodejs=\"`unauthenticatedAction`\" pulumi-lang-dotnet=\"`UnauthenticatedAction`\" pulumi-lang-go=\"`unauthenticatedAction`\" pulumi-lang-python=\"`unauthenticated_action`\" pulumi-lang-yaml=\"`unauthenticatedAction`\" pulumi-lang-java=\"`unauthenticatedAction`\"\u003e`unauthenticated_action`\u003c/span\u003e is set to `RedirectToLoginPage`.\n"},"enabled":{"type":"boolean","description":"Is the Backup enabled?\n"},"facebooks":{"type":"array","items":{"$ref":"#/types/azure:appservice/getLinuxWebAppAuthSettingFacebook:getLinuxWebAppAuthSettingFacebook"},"description":"A \u003cspan pulumi-lang-nodejs=\"`facebook`\" pulumi-lang-dotnet=\"`Facebook`\" pulumi-lang-go=\"`facebook`\" pulumi-lang-python=\"`facebook`\" pulumi-lang-yaml=\"`facebook`\" pulumi-lang-java=\"`facebook`\"\u003e`facebook`\u003c/span\u003e block as defined below.\n"},"githubs":{"type":"array","items":{"$ref":"#/types/azure:appservice/getLinuxWebAppAuthSettingGithub:getLinuxWebAppAuthSettingGithub"},"description":"A \u003cspan pulumi-lang-nodejs=\"`github`\" pulumi-lang-dotnet=\"`Github`\" pulumi-lang-go=\"`github`\" pulumi-lang-python=\"`github`\" pulumi-lang-yaml=\"`github`\" pulumi-lang-java=\"`github`\"\u003e`github`\u003c/span\u003e block as defined below.\n"},"googles":{"type":"array","items":{"$ref":"#/types/azure:appservice/getLinuxWebAppAuthSettingGoogle:getLinuxWebAppAuthSettingGoogle"},"description":"A \u003cspan pulumi-lang-nodejs=\"`google`\" pulumi-lang-dotnet=\"`Google`\" pulumi-lang-go=\"`google`\" pulumi-lang-python=\"`google`\" pulumi-lang-yaml=\"`google`\" pulumi-lang-java=\"`google`\"\u003e`google`\u003c/span\u003e block as defined below.\n"},"issuer":{"type":"string","description":"The OpenID Connect Issuer URI that represents the entity which issues access tokens for this Linux Web App.\n"},"microsofts":{"type":"array","items":{"$ref":"#/types/azure:appservice/getLinuxWebAppAuthSettingMicrosoft:getLinuxWebAppAuthSettingMicrosoft"},"description":"A \u003cspan pulumi-lang-nodejs=\"`microsoft`\" pulumi-lang-dotnet=\"`Microsoft`\" pulumi-lang-go=\"`microsoft`\" pulumi-lang-python=\"`microsoft`\" pulumi-lang-yaml=\"`microsoft`\" pulumi-lang-java=\"`microsoft`\"\u003e`microsoft`\u003c/span\u003e block as defined below.\n"},"runtimeVersion":{"type":"string","description":"The Runtime Version of the Authentication and Authorisation feature of this App.\n"},"tokenRefreshExtensionHours":{"type":"number","description":"The number of hours after session token expiration that a session token can be used to call the token refresh API.\n"},"tokenStoreEnabled":{"type":"boolean","description":"Is the Token Store configuration Enabled.\n"},"twitters":{"type":"array","items":{"$ref":"#/types/azure:appservice/getLinuxWebAppAuthSettingTwitter:getLinuxWebAppAuthSettingTwitter"},"description":"A \u003cspan pulumi-lang-nodejs=\"`twitter`\" pulumi-lang-dotnet=\"`Twitter`\" pulumi-lang-go=\"`twitter`\" pulumi-lang-python=\"`twitter`\" pulumi-lang-yaml=\"`twitter`\" pulumi-lang-java=\"`twitter`\"\u003e`twitter`\u003c/span\u003e block as defined below.\n"},"unauthenticatedClientAction":{"type":"string","description":"The action to take when an unauthenticated client attempts to access the app.\n"}},"type":"object","required":["activeDirectories","additionalLoginParameters","allowedExternalRedirectUrls","defaultProvider","enabled","facebooks","githubs","googles","issuer","microsofts","runtimeVersion","tokenRefreshExtensionHours","tokenStoreEnabled","twitters","unauthenticatedClientAction"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appservice/getLinuxWebAppAuthSettingActiveDirectory:getLinuxWebAppAuthSettingActiveDirectory":{"properties":{"allowedAudiences":{"type":"array","items":{"type":"string"},"description":"The list of Allowed Audiences that are be requested as part of Microsoft Sign-In authentication.\n"},"clientId":{"type":"string","description":"The OAuth 2.0 client ID used by the app for authentication.\n"},"clientSecret":{"type":"string","description":"The OAuth 2.0 client secret used by the app for authentication.\n","secret":true},"clientSecretSettingName":{"type":"string","description":"The app setting name containing the OAuth 2.0 client secret used by the app for authentication.\n"}},"type":"object","required":["allowedAudiences","clientId","clientSecret","clientSecretSettingName"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appservice/getLinuxWebAppAuthSettingFacebook:getLinuxWebAppAuthSettingFacebook":{"properties":{"appId":{"type":"string","description":"The App ID of the Facebook app used for login.\n"},"appSecret":{"type":"string","description":"The App Secret of the Facebook app used for Facebook login.\n","secret":true},"appSecretSettingName":{"type":"string","description":"The app setting name that contains the \u003cspan pulumi-lang-nodejs=\"`appSecret`\" pulumi-lang-dotnet=\"`AppSecret`\" pulumi-lang-go=\"`appSecret`\" pulumi-lang-python=\"`app_secret`\" pulumi-lang-yaml=\"`appSecret`\" pulumi-lang-java=\"`appSecret`\"\u003e`app_secret`\u003c/span\u003e value used for Facebook login.\n"},"oauthScopes":{"type":"array","items":{"type":"string"},"description":"A list of OAuth 2.0 scopes requested as part of Microsoft Account authentication.\n"}},"type":"object","required":["appId","appSecret","appSecretSettingName","oauthScopes"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appservice/getLinuxWebAppAuthSettingGithub:getLinuxWebAppAuthSettingGithub":{"properties":{"clientId":{"type":"string","description":"The OAuth 2.0 client ID used by the app for authentication.\n"},"clientSecret":{"type":"string","description":"The OAuth 2.0 client secret used by the app for authentication.\n","secret":true},"clientSecretSettingName":{"type":"string","description":"The app setting name containing the OAuth 2.0 client secret used by the app for authentication.\n"},"oauthScopes":{"type":"array","items":{"type":"string"},"description":"A list of OAuth 2.0 scopes requested as part of Microsoft Account authentication.\n"}},"type":"object","required":["clientId","clientSecret","clientSecretSettingName","oauthScopes"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appservice/getLinuxWebAppAuthSettingGoogle:getLinuxWebAppAuthSettingGoogle":{"properties":{"clientId":{"type":"string","description":"The OAuth 2.0 client ID used by the app for authentication.\n"},"clientSecret":{"type":"string","description":"The OAuth 2.0 client secret used by the app for authentication.\n","secret":true},"clientSecretSettingName":{"type":"string","description":"The app setting name containing the OAuth 2.0 client secret used by the app for authentication.\n"},"oauthScopes":{"type":"array","items":{"type":"string"},"description":"A list of OAuth 2.0 scopes requested as part of Microsoft Account authentication.\n"}},"type":"object","required":["clientId","clientSecret","clientSecretSettingName","oauthScopes"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appservice/getLinuxWebAppAuthSettingMicrosoft:getLinuxWebAppAuthSettingMicrosoft":{"properties":{"clientId":{"type":"string","description":"The OAuth 2.0 client ID used by the app for authentication.\n"},"clientSecret":{"type":"string","description":"The OAuth 2.0 client secret used by the app for authentication.\n","secret":true},"clientSecretSettingName":{"type":"string","description":"The app setting name containing the OAuth 2.0 client secret used by the app for authentication.\n"},"oauthScopes":{"type":"array","items":{"type":"string"},"description":"A list of OAuth 2.0 scopes requested as part of Microsoft Account authentication.\n"}},"type":"object","required":["clientId","clientSecret","clientSecretSettingName","oauthScopes"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appservice/getLinuxWebAppAuthSettingTwitter:getLinuxWebAppAuthSettingTwitter":{"properties":{"consumerKey":{"type":"string","description":"The OAuth 1.0a consumer key of the Twitter application used for sign-in.\n"},"consumerSecret":{"type":"string","description":"The OAuth 1.0a consumer secret of the Twitter application used for sign-in.\n","secret":true},"consumerSecretSettingName":{"type":"string","description":"The app setting name that contains the OAuth 1.0a consumer secret of the Twitter application used for sign-in.\n"}},"type":"object","required":["consumerKey","consumerSecret","consumerSecretSettingName"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appservice/getLinuxWebAppAuthSettingsV2:getLinuxWebAppAuthSettingsV2":{"properties":{"activeDirectoryV2s":{"type":"array","items":{"$ref":"#/types/azure:appservice/getLinuxWebAppAuthSettingsV2ActiveDirectoryV2:getLinuxWebAppAuthSettingsV2ActiveDirectoryV2"},"description":"An \u003cspan pulumi-lang-nodejs=\"`activeDirectoryV2`\" pulumi-lang-dotnet=\"`ActiveDirectoryV2`\" pulumi-lang-go=\"`activeDirectoryV2`\" pulumi-lang-python=\"`active_directory_v2`\" pulumi-lang-yaml=\"`activeDirectoryV2`\" pulumi-lang-java=\"`activeDirectoryV2`\"\u003e`active_directory_v2`\u003c/span\u003e block as defined below.\n"},"appleV2s":{"type":"array","items":{"$ref":"#/types/azure:appservice/getLinuxWebAppAuthSettingsV2AppleV2:getLinuxWebAppAuthSettingsV2AppleV2"},"description":"An \u003cspan pulumi-lang-nodejs=\"`appleV2`\" pulumi-lang-dotnet=\"`AppleV2`\" pulumi-lang-go=\"`appleV2`\" pulumi-lang-python=\"`apple_v2`\" pulumi-lang-yaml=\"`appleV2`\" pulumi-lang-java=\"`appleV2`\"\u003e`apple_v2`\u003c/span\u003e block as defined below.\n"},"authEnabled":{"type":"boolean","description":"Are the AuthV2 Settings enabled.\n"},"azureStaticWebAppV2s":{"type":"array","items":{"$ref":"#/types/azure:appservice/getLinuxWebAppAuthSettingsV2AzureStaticWebAppV2:getLinuxWebAppAuthSettingsV2AzureStaticWebAppV2"},"description":"An \u003cspan pulumi-lang-nodejs=\"`azureStaticWebAppV2`\" pulumi-lang-dotnet=\"`AzureStaticWebAppV2`\" pulumi-lang-go=\"`azureStaticWebAppV2`\" pulumi-lang-python=\"`azure_static_web_app_v2`\" pulumi-lang-yaml=\"`azureStaticWebAppV2`\" pulumi-lang-java=\"`azureStaticWebAppV2`\"\u003e`azure_static_web_app_v2`\u003c/span\u003e block as defined below.\n"},"configFilePath":{"type":"string","description":"The path to the App Auth settings.\n"},"customOidcV2s":{"type":"array","items":{"$ref":"#/types/azure:appservice/getLinuxWebAppAuthSettingsV2CustomOidcV2:getLinuxWebAppAuthSettingsV2CustomOidcV2"},"description":"Zero or more \u003cspan pulumi-lang-nodejs=\"`customOidcV2`\" pulumi-lang-dotnet=\"`CustomOidcV2`\" pulumi-lang-go=\"`customOidcV2`\" pulumi-lang-python=\"`custom_oidc_v2`\" pulumi-lang-yaml=\"`customOidcV2`\" pulumi-lang-java=\"`customOidcV2`\"\u003e`custom_oidc_v2`\u003c/span\u003e blocks as defined below.\n"},"defaultProvider":{"type":"string","description":"The Default Authentication Provider used when more than one Authentication Provider is configured and the \u003cspan pulumi-lang-nodejs=\"`unauthenticatedAction`\" pulumi-lang-dotnet=\"`UnauthenticatedAction`\" pulumi-lang-go=\"`unauthenticatedAction`\" pulumi-lang-python=\"`unauthenticated_action`\" pulumi-lang-yaml=\"`unauthenticatedAction`\" pulumi-lang-java=\"`unauthenticatedAction`\"\u003e`unauthenticated_action`\u003c/span\u003e is set to `RedirectToLoginPage`.\n"},"excludedPaths":{"type":"array","items":{"type":"string"},"description":"The paths which should be excluded from the \u003cspan pulumi-lang-nodejs=\"`unauthenticatedAction`\" pulumi-lang-dotnet=\"`UnauthenticatedAction`\" pulumi-lang-go=\"`unauthenticatedAction`\" pulumi-lang-python=\"`unauthenticated_action`\" pulumi-lang-yaml=\"`unauthenticatedAction`\" pulumi-lang-java=\"`unauthenticatedAction`\"\u003e`unauthenticated_action`\u003c/span\u003e when it is set to `RedirectToLoginPage`.\n"},"facebookV2s":{"type":"array","items":{"$ref":"#/types/azure:appservice/getLinuxWebAppAuthSettingsV2FacebookV2:getLinuxWebAppAuthSettingsV2FacebookV2"},"description":"A \u003cspan pulumi-lang-nodejs=\"`facebookV2`\" pulumi-lang-dotnet=\"`FacebookV2`\" pulumi-lang-go=\"`facebookV2`\" pulumi-lang-python=\"`facebook_v2`\" pulumi-lang-yaml=\"`facebookV2`\" pulumi-lang-java=\"`facebookV2`\"\u003e`facebook_v2`\u003c/span\u003e block as defined below.\n"},"forwardProxyConvention":{"type":"string","description":"The convention used to determine the url of the request made.\n"},"forwardProxyCustomHostHeaderName":{"type":"string","description":"The name of the custom header containing the host of the request.\n"},"forwardProxyCustomSchemeHeaderName":{"type":"string","description":"The name of the custom header containing the scheme of the request.\n"},"githubV2s":{"type":"array","items":{"$ref":"#/types/azure:appservice/getLinuxWebAppAuthSettingsV2GithubV2:getLinuxWebAppAuthSettingsV2GithubV2"},"description":"A \u003cspan pulumi-lang-nodejs=\"`githubV2`\" pulumi-lang-dotnet=\"`GithubV2`\" pulumi-lang-go=\"`githubV2`\" pulumi-lang-python=\"`github_v2`\" pulumi-lang-yaml=\"`githubV2`\" pulumi-lang-java=\"`githubV2`\"\u003e`github_v2`\u003c/span\u003e block as defined below.\n"},"googleV2s":{"type":"array","items":{"$ref":"#/types/azure:appservice/getLinuxWebAppAuthSettingsV2GoogleV2:getLinuxWebAppAuthSettingsV2GoogleV2"},"description":"A \u003cspan pulumi-lang-nodejs=\"`googleV2`\" pulumi-lang-dotnet=\"`GoogleV2`\" pulumi-lang-go=\"`googleV2`\" pulumi-lang-python=\"`google_v2`\" pulumi-lang-yaml=\"`googleV2`\" pulumi-lang-java=\"`googleV2`\"\u003e`google_v2`\u003c/span\u003e block as defined below.\n"},"httpRouteApiPrefix":{"type":"string","description":"The prefix that should precede all the authentication and authorisation paths.\n"},"logins":{"type":"array","items":{"$ref":"#/types/azure:appservice/getLinuxWebAppAuthSettingsV2Login:getLinuxWebAppAuthSettingsV2Login"},"description":"A \u003cspan pulumi-lang-nodejs=\"`login`\" pulumi-lang-dotnet=\"`Login`\" pulumi-lang-go=\"`login`\" pulumi-lang-python=\"`login`\" pulumi-lang-yaml=\"`login`\" pulumi-lang-java=\"`login`\"\u003e`login`\u003c/span\u003e block as defined below.\n"},"microsoftV2s":{"type":"array","items":{"$ref":"#/types/azure:appservice/getLinuxWebAppAuthSettingsV2MicrosoftV2:getLinuxWebAppAuthSettingsV2MicrosoftV2"},"description":"A \u003cspan pulumi-lang-nodejs=\"`microsoftV2`\" pulumi-lang-dotnet=\"`MicrosoftV2`\" pulumi-lang-go=\"`microsoftV2`\" pulumi-lang-python=\"`microsoft_v2`\" pulumi-lang-yaml=\"`microsoftV2`\" pulumi-lang-java=\"`microsoftV2`\"\u003e`microsoft_v2`\u003c/span\u003e block as defined below.\n"},"requireAuthentication":{"type":"boolean","description":"Is the authentication flow used for all requests.\n"},"requireHttps":{"type":"boolean","description":"Is HTTPS required on connections?\n"},"runtimeVersion":{"type":"string","description":"The Runtime Version of the Authentication and Authorisation feature of this App.\n"},"twitterV2s":{"type":"array","items":{"$ref":"#/types/azure:appservice/getLinuxWebAppAuthSettingsV2TwitterV2:getLinuxWebAppAuthSettingsV2TwitterV2"},"description":"A \u003cspan pulumi-lang-nodejs=\"`twitterV2`\" pulumi-lang-dotnet=\"`TwitterV2`\" pulumi-lang-go=\"`twitterV2`\" pulumi-lang-python=\"`twitter_v2`\" pulumi-lang-yaml=\"`twitterV2`\" pulumi-lang-java=\"`twitterV2`\"\u003e`twitter_v2`\u003c/span\u003e block as defined below.\n"},"unauthenticatedAction":{"type":"string","description":"The action to take for requests made without authentication.\n"}},"type":"object","required":["activeDirectoryV2s","appleV2s","authEnabled","azureStaticWebAppV2s","configFilePath","customOidcV2s","defaultProvider","excludedPaths","facebookV2s","forwardProxyConvention","forwardProxyCustomHostHeaderName","forwardProxyCustomSchemeHeaderName","githubV2s","googleV2s","httpRouteApiPrefix","logins","microsoftV2s","requireAuthentication","requireHttps","runtimeVersion","twitterV2s","unauthenticatedAction"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appservice/getLinuxWebAppAuthSettingsV2ActiveDirectoryV2:getLinuxWebAppAuthSettingsV2ActiveDirectoryV2":{"properties":{"allowedApplications":{"type":"array","items":{"type":"string"},"description":"The list of allowed Applications for the Default Authorisation Policy.\n"},"allowedAudiences":{"type":"array","items":{"type":"string"},"description":"The list of Allowed Audiences that are be requested as part of Microsoft Sign-In authentication.\n"},"allowedGroups":{"type":"array","items":{"type":"string"},"description":"The list of allowed Group Names for the Default Authorisation Policy.\n"},"allowedIdentities":{"type":"array","items":{"type":"string"},"description":"The list of allowed Identities for the Default Authorisation Policy.\n"},"clientId":{"type":"string","description":"The OAuth 2.0 client ID used by the app for authentication.\n"},"clientSecretCertificateThumbprint":{"type":"string","description":"The thumbprint of the certificate used for signing purposes.\n"},"clientSecretSettingName":{"type":"string","description":"The app setting name containing the OAuth 2.0 client secret used by the app for authentication.\n"},"jwtAllowedClientApplications":{"type":"array","items":{"type":"string"},"description":"The list of Allowed Client Applications in the JWT Claim.\n"},"jwtAllowedGroups":{"type":"array","items":{"type":"string"},"description":"The list of Allowed Groups in the JWT Claim.\n"},"loginParameters":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of key-value pairs sent to the Authorisation Endpoint when a user logs in.\n"},"tenantAuthEndpoint":{"type":"string","description":"The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/`\n"},"wwwAuthenticationDisabled":{"type":"boolean","description":"Is the www-authenticate provider omitted from the request?\n"}},"type":"object","required":["allowedApplications","allowedAudiences","allowedGroups","allowedIdentities","clientId","clientSecretCertificateThumbprint","clientSecretSettingName","jwtAllowedClientApplications","jwtAllowedGroups","loginParameters","tenantAuthEndpoint","wwwAuthenticationDisabled"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appservice/getLinuxWebAppAuthSettingsV2AppleV2:getLinuxWebAppAuthSettingsV2AppleV2":{"properties":{"clientId":{"type":"string","description":"The OAuth 2.0 client ID used by the app for authentication.\n"},"clientSecretSettingName":{"type":"string","description":"The app setting name containing the OAuth 2.0 client secret used by the app for authentication.\n"},"loginScopes":{"type":"array","items":{"type":"string"},"description":"The list of Login scopes that are requested as part of Microsoft Account authentication.\n"}},"type":"object","required":["clientId","clientSecretSettingName","loginScopes"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appservice/getLinuxWebAppAuthSettingsV2AzureStaticWebAppV2:getLinuxWebAppAuthSettingsV2AzureStaticWebAppV2":{"properties":{"clientId":{"type":"string","description":"The OAuth 2.0 client ID used by the app for authentication.\n"}},"type":"object","required":["clientId"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appservice/getLinuxWebAppAuthSettingsV2CustomOidcV2:getLinuxWebAppAuthSettingsV2CustomOidcV2":{"properties":{"authorisationEndpoint":{"type":"string","description":"The endpoint to make the Authorisation Request as supplied by \u003cspan pulumi-lang-nodejs=\"`openidConfigurationEndpoint`\" pulumi-lang-dotnet=\"`OpenidConfigurationEndpoint`\" pulumi-lang-go=\"`openidConfigurationEndpoint`\" pulumi-lang-python=\"`openid_configuration_endpoint`\" pulumi-lang-yaml=\"`openidConfigurationEndpoint`\" pulumi-lang-java=\"`openidConfigurationEndpoint`\"\u003e`openid_configuration_endpoint`\u003c/span\u003e response.\n"},"certificationUri":{"type":"string","description":"The endpoint that provides the keys necessary to validate the token as supplied by \u003cspan pulumi-lang-nodejs=\"`openidConfigurationEndpoint`\" pulumi-lang-dotnet=\"`OpenidConfigurationEndpoint`\" pulumi-lang-go=\"`openidConfigurationEndpoint`\" pulumi-lang-python=\"`openid_configuration_endpoint`\" pulumi-lang-yaml=\"`openidConfigurationEndpoint`\" pulumi-lang-java=\"`openidConfigurationEndpoint`\"\u003e`openid_configuration_endpoint`\u003c/span\u003e response.\n"},"clientCredentialMethod":{"type":"string","description":"The Client Credential Method used.\n"},"clientId":{"type":"string","description":"The OAuth 2.0 client ID used by the app for authentication.\n"},"clientSecretSettingName":{"type":"string","description":"The app setting name containing the OAuth 2.0 client secret used by the app for authentication.\n"},"issuerEndpoint":{"type":"string","description":"The endpoint that issued the Token as supplied by \u003cspan pulumi-lang-nodejs=\"`openidConfigurationEndpoint`\" pulumi-lang-dotnet=\"`OpenidConfigurationEndpoint`\" pulumi-lang-go=\"`openidConfigurationEndpoint`\" pulumi-lang-python=\"`openid_configuration_endpoint`\" pulumi-lang-yaml=\"`openidConfigurationEndpoint`\" pulumi-lang-java=\"`openidConfigurationEndpoint`\"\u003e`openid_configuration_endpoint`\u003c/span\u003e response.\n"},"name":{"type":"string","description":"The name of this Linux Web App.\n"},"nameClaimType":{"type":"string","description":"The name of the claim that contains the users name.\n"},"openidConfigurationEndpoint":{"type":"string","description":"The endpoint used for OpenID Connect Discovery. For example `https://example.com/.well-known/openid-configuration`.\n"},"scopes":{"type":"array","items":{"type":"string"},"description":"The list of the scopes that are requested while authenticating.\n"},"tokenEndpoint":{"type":"string","description":"The endpoint used to request a Token as supplied by \u003cspan pulumi-lang-nodejs=\"`openidConfigurationEndpoint`\" pulumi-lang-dotnet=\"`OpenidConfigurationEndpoint`\" pulumi-lang-go=\"`openidConfigurationEndpoint`\" pulumi-lang-python=\"`openid_configuration_endpoint`\" pulumi-lang-yaml=\"`openidConfigurationEndpoint`\" pulumi-lang-java=\"`openidConfigurationEndpoint`\"\u003e`openid_configuration_endpoint`\u003c/span\u003e response.\n"}},"type":"object","required":["authorisationEndpoint","certificationUri","clientCredentialMethod","clientId","clientSecretSettingName","issuerEndpoint","name","nameClaimType","openidConfigurationEndpoint","scopes","tokenEndpoint"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appservice/getLinuxWebAppAuthSettingsV2FacebookV2:getLinuxWebAppAuthSettingsV2FacebookV2":{"properties":{"appId":{"type":"string","description":"The App ID of the Facebook app used for login.\n"},"appSecretSettingName":{"type":"string","description":"The app setting name that contains the \u003cspan pulumi-lang-nodejs=\"`appSecret`\" pulumi-lang-dotnet=\"`AppSecret`\" pulumi-lang-go=\"`appSecret`\" pulumi-lang-python=\"`app_secret`\" pulumi-lang-yaml=\"`appSecret`\" pulumi-lang-java=\"`appSecret`\"\u003e`app_secret`\u003c/span\u003e value used for Facebook login.\n"},"graphApiVersion":{"type":"string","description":"The version of the Facebook API to be used while logging in.\n"},"loginScopes":{"type":"array","items":{"type":"string"},"description":"The list of Login scopes that are requested as part of Microsoft Account authentication.\n"}},"type":"object","required":["appId","appSecretSettingName","graphApiVersion","loginScopes"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appservice/getLinuxWebAppAuthSettingsV2GithubV2:getLinuxWebAppAuthSettingsV2GithubV2":{"properties":{"clientId":{"type":"string","description":"The OAuth 2.0 client ID used by the app for authentication.\n"},"clientSecretSettingName":{"type":"string","description":"The app setting name containing the OAuth 2.0 client secret used by the app for authentication.\n"},"loginScopes":{"type":"array","items":{"type":"string"},"description":"The list of Login scopes that are requested as part of Microsoft Account authentication.\n"}},"type":"object","required":["clientId","clientSecretSettingName","loginScopes"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appservice/getLinuxWebAppAuthSettingsV2GoogleV2:getLinuxWebAppAuthSettingsV2GoogleV2":{"properties":{"allowedAudiences":{"type":"array","items":{"type":"string"},"description":"The list of Allowed Audiences that are be requested as part of Microsoft Sign-In authentication.\n"},"clientId":{"type":"string","description":"The OAuth 2.0 client ID used by the app for authentication.\n"},"clientSecretSettingName":{"type":"string","description":"The app setting name containing the OAuth 2.0 client secret used by the app for authentication.\n"},"loginScopes":{"type":"array","items":{"type":"string"},"description":"The list of Login scopes that are requested as part of Microsoft Account authentication.\n"}},"type":"object","required":["allowedAudiences","clientId","clientSecretSettingName","loginScopes"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appservice/getLinuxWebAppAuthSettingsV2Login:getLinuxWebAppAuthSettingsV2Login":{"properties":{"allowedExternalRedirectUrls":{"type":"array","items":{"type":"string"},"description":"External URLs that can be redirected to as part of logging in or logging out of the app.\n"},"cookieExpirationConvention":{"type":"string","description":"The method by which cookies expire.\n"},"cookieExpirationTime":{"type":"string","description":"The time after the request is made when the session cookie should expire.\n"},"logoutEndpoint":{"type":"string","description":"The endpoint to which logout requests are made.\n"},"nonceExpirationTime":{"type":"string","description":"The time after the request is made when the nonce should expire.\n"},"preserveUrlFragmentsForLogins":{"type":"boolean","description":"Are the fragments from the request preserved after the login request is made.\n"},"tokenRefreshExtensionTime":{"type":"number","description":"The number of hours after session token expiration that a session token can be used to call the token refresh API.\n"},"tokenStoreEnabled":{"type":"boolean","description":"Is the Token Store configuration Enabled.\n"},"tokenStorePath":{"type":"string","description":"The directory path in the App Filesystem in which the tokens are stored.\n"},"tokenStoreSasSettingName":{"type":"string","description":"The name of the app setting which contains the SAS URL of the blob storage containing the tokens.\n"},"validateNonce":{"type":"boolean","description":"Is the nonce validated while completing the login flow.\n"}},"type":"object","required":["allowedExternalRedirectUrls","cookieExpirationConvention","cookieExpirationTime","logoutEndpoint","nonceExpirationTime","preserveUrlFragmentsForLogins","tokenRefreshExtensionTime","tokenStoreEnabled","tokenStorePath","tokenStoreSasSettingName","validateNonce"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appservice/getLinuxWebAppAuthSettingsV2MicrosoftV2:getLinuxWebAppAuthSettingsV2MicrosoftV2":{"properties":{"allowedAudiences":{"type":"array","items":{"type":"string"},"description":"The list of Allowed Audiences that are be requested as part of Microsoft Sign-In authentication.\n"},"clientId":{"type":"string","description":"The OAuth 2.0 client ID used by the app for authentication.\n"},"clientSecretSettingName":{"type":"string","description":"The app setting name containing the OAuth 2.0 client secret used by the app for authentication.\n"},"loginScopes":{"type":"array","items":{"type":"string"},"description":"The list of Login scopes that are requested as part of Microsoft Account authentication.\n"}},"type":"object","required":["allowedAudiences","clientId","clientSecretSettingName","loginScopes"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appservice/getLinuxWebAppAuthSettingsV2TwitterV2:getLinuxWebAppAuthSettingsV2TwitterV2":{"properties":{"consumerKey":{"type":"string","description":"The OAuth 1.0a consumer key of the Twitter application used for sign-in.\n"},"consumerSecretSettingName":{"type":"string","description":"The app setting name that contains the OAuth 1.0a consumer secret of the Twitter application used for sign-in.\n"}},"type":"object","required":["consumerKey","consumerSecretSettingName"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appservice/getLinuxWebAppBackup:getLinuxWebAppBackup":{"properties":{"enabled":{"type":"boolean","description":"Is the Backup enabled?\n"},"name":{"type":"string","description":"The name of this Linux Web App.\n"},"schedules":{"type":"array","items":{"$ref":"#/types/azure:appservice/getLinuxWebAppBackupSchedule:getLinuxWebAppBackupSchedule"},"description":"A \u003cspan pulumi-lang-nodejs=\"`schedule`\" pulumi-lang-dotnet=\"`Schedule`\" pulumi-lang-go=\"`schedule`\" pulumi-lang-python=\"`schedule`\" pulumi-lang-yaml=\"`schedule`\" pulumi-lang-java=\"`schedule`\"\u003e`schedule`\u003c/span\u003e block as defined below.\n"},"storageAccountUrl":{"type":"string","description":"The SAS URL to the container.\n","secret":true}},"type":"object","required":["enabled","name","schedules","storageAccountUrl"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appservice/getLinuxWebAppBackupSchedule:getLinuxWebAppBackupSchedule":{"properties":{"frequencyInterval":{"type":"integer","description":"How often the backup will be executed.\n"},"frequencyUnit":{"type":"string","description":"The unit of time for how often the backup should take place.\n"},"keepAtLeastOneBackup":{"type":"boolean","description":"Will the service keep at least one backup, regardless of age of backup.\n"},"lastExecutionTime":{"type":"string","description":"The time of the last backup attempt.\n"},"retentionPeriodDays":{"type":"integer","description":"After how many days backups should be deleted.\n"},"startTime":{"type":"string","description":"When the schedule should start in RFC-3339 format.\n"}},"type":"object","required":["frequencyInterval","frequencyUnit","keepAtLeastOneBackup","lastExecutionTime","retentionPeriodDays","startTime"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appservice/getLinuxWebAppConnectionString:getLinuxWebAppConnectionString":{"properties":{"name":{"type":"string","description":"The name of this Linux Web App.\n"},"type":{"type":"string","description":"The Azure Storage Type.\n"},"value":{"type":"string","description":"The Connection String value.\n","secret":true}},"type":"object","required":["name","type","value"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appservice/getLinuxWebAppIdentity:getLinuxWebAppIdentity":{"properties":{"identityIds":{"type":"array","items":{"type":"string"},"description":"The list of User Assigned Managed Identity IDs assigned to this Linux Web App.\n"},"principalId":{"type":"string","description":"The Principal ID of the System Assigned Managed Service Identity that is configured on this Linux Web App.\n"},"tenantId":{"type":"string","description":"The Tenant ID of the System Assigned Managed Service Identity that is configured on this Linux Web App.\n"},"type":{"type":"string","description":"The Azure Storage Type.\n"}},"type":"object","required":["identityIds","principalId","tenantId","type"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appservice/getLinuxWebAppLog:getLinuxWebAppLog":{"properties":{"applicationLogs":{"type":"array","items":{"$ref":"#/types/azure:appservice/getLinuxWebAppLogApplicationLog:getLinuxWebAppLogApplicationLog"},"description":"A \u003cspan pulumi-lang-nodejs=\"`applicationLogs`\" pulumi-lang-dotnet=\"`ApplicationLogs`\" pulumi-lang-go=\"`applicationLogs`\" pulumi-lang-python=\"`application_logs`\" pulumi-lang-yaml=\"`applicationLogs`\" pulumi-lang-java=\"`applicationLogs`\"\u003e`application_logs`\u003c/span\u003e block as defined above.\n"},"detailedErrorMessages":{"type":"boolean","description":"Is Detailed Error Messaging enabled.\n"},"failedRequestTracing":{"type":"boolean","description":"Is Failed Request Tracing enabled.\n"},"httpLogs":{"type":"array","items":{"$ref":"#/types/azure:appservice/getLinuxWebAppLogHttpLog:getLinuxWebAppLogHttpLog"},"description":"An \u003cspan pulumi-lang-nodejs=\"`httpLogs`\" pulumi-lang-dotnet=\"`HttpLogs`\" pulumi-lang-go=\"`httpLogs`\" pulumi-lang-python=\"`http_logs`\" pulumi-lang-yaml=\"`httpLogs`\" pulumi-lang-java=\"`httpLogs`\"\u003e`http_logs`\u003c/span\u003e block as defined above.\n"}},"type":"object","required":["applicationLogs","detailedErrorMessages","failedRequestTracing","httpLogs"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appservice/getLinuxWebAppLogApplicationLog:getLinuxWebAppLogApplicationLog":{"properties":{"azureBlobStorages":{"type":"array","items":{"$ref":"#/types/azure:appservice/getLinuxWebAppLogApplicationLogAzureBlobStorage:getLinuxWebAppLogApplicationLogAzureBlobStorage"},"description":"A \u003cspan pulumi-lang-nodejs=\"`azureBlobStorage`\" pulumi-lang-dotnet=\"`AzureBlobStorage`\" pulumi-lang-go=\"`azureBlobStorage`\" pulumi-lang-python=\"`azure_blob_storage`\" pulumi-lang-yaml=\"`azureBlobStorage`\" pulumi-lang-java=\"`azureBlobStorage`\"\u003e`azure_blob_storage`\u003c/span\u003e block as defined above.\n"},"fileSystemLevel":{"type":"string","description":"The logging level.\n"}},"type":"object","required":["azureBlobStorages","fileSystemLevel"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appservice/getLinuxWebAppLogApplicationLogAzureBlobStorage:getLinuxWebAppLogApplicationLogAzureBlobStorage":{"properties":{"level":{"type":"string","description":"The level at which to log. Possible values include `Error`, `Warning`, `Information`, `Verbose` and `Off`. **NOTE:** this field is not available for \u003cspan pulumi-lang-nodejs=\"`httpLogs`\" pulumi-lang-dotnet=\"`HttpLogs`\" pulumi-lang-go=\"`httpLogs`\" pulumi-lang-python=\"`http_logs`\" pulumi-lang-yaml=\"`httpLogs`\" pulumi-lang-java=\"`httpLogs`\"\u003e`http_logs`\u003c/span\u003e\n"},"retentionInDays":{"type":"integer","description":"The retention period in days.\n"},"sasUrl":{"type":"string","description":"The SAS url to an Azure blob container.\n","secret":true}},"type":"object","required":["level","retentionInDays","sasUrl"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appservice/getLinuxWebAppLogHttpLog:getLinuxWebAppLogHttpLog":{"properties":{"azureBlobStorages":{"type":"array","items":{"$ref":"#/types/azure:appservice/getLinuxWebAppLogHttpLogAzureBlobStorage:getLinuxWebAppLogHttpLogAzureBlobStorage"},"description":"A \u003cspan pulumi-lang-nodejs=\"`azureBlobStorage`\" pulumi-lang-dotnet=\"`AzureBlobStorage`\" pulumi-lang-go=\"`azureBlobStorage`\" pulumi-lang-python=\"`azure_blob_storage`\" pulumi-lang-yaml=\"`azureBlobStorage`\" pulumi-lang-java=\"`azureBlobStorage`\"\u003e`azure_blob_storage`\u003c/span\u003e block as defined above.\n"},"fileSystems":{"type":"array","items":{"$ref":"#/types/azure:appservice/getLinuxWebAppLogHttpLogFileSystem:getLinuxWebAppLogHttpLogFileSystem"},"description":"A \u003cspan pulumi-lang-nodejs=\"`fileSystem`\" pulumi-lang-dotnet=\"`FileSystem`\" pulumi-lang-go=\"`fileSystem`\" pulumi-lang-python=\"`file_system`\" pulumi-lang-yaml=\"`fileSystem`\" pulumi-lang-java=\"`fileSystem`\"\u003e`file_system`\u003c/span\u003e block as defined above.\n"}},"type":"object","required":["azureBlobStorages","fileSystems"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appservice/getLinuxWebAppLogHttpLogAzureBlobStorage:getLinuxWebAppLogHttpLogAzureBlobStorage":{"properties":{"retentionInDays":{"type":"integer","description":"The retention period in days.\n"},"sasUrl":{"type":"string","description":"The SAS url to an Azure blob container.\n","secret":true}},"type":"object","required":["retentionInDays","sasUrl"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appservice/getLinuxWebAppLogHttpLogFileSystem:getLinuxWebAppLogHttpLogFileSystem":{"properties":{"retentionInDays":{"type":"integer","description":"The retention period in days.\n"},"retentionInMb":{"type":"integer","description":"The maximum size in megabytes that log files can use.\n"}},"type":"object","required":["retentionInDays","retentionInMb"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appservice/getLinuxWebAppSiteConfig:getLinuxWebAppSiteConfig":{"properties":{"alwaysOn":{"type":"boolean","description":"Is this Linux Web App is Always On enabled.\n"},"apiDefinitionUrl":{"type":"string","description":"The ID of the APIM configuration for this Linux Web App.\n"},"apiManagementApiId":{"type":"string","description":"The ID of the API Management API for this Linux Web App.\n"},"appCommandLine":{"type":"string","description":"The command line used to launch this app.\n"},"applicationStacks":{"type":"array","items":{"$ref":"#/types/azure:appservice/getLinuxWebAppSiteConfigApplicationStack:getLinuxWebAppSiteConfigApplicationStack"},"description":"A \u003cspan pulumi-lang-nodejs=\"`applicationStack`\" pulumi-lang-dotnet=\"`ApplicationStack`\" pulumi-lang-go=\"`applicationStack`\" pulumi-lang-python=\"`application_stack`\" pulumi-lang-yaml=\"`applicationStack`\" pulumi-lang-java=\"`applicationStack`\"\u003e`application_stack`\u003c/span\u003e block as defined above.\n"},"autoHealSettings":{"type":"array","items":{"$ref":"#/types/azure:appservice/getLinuxWebAppSiteConfigAutoHealSetting:getLinuxWebAppSiteConfigAutoHealSetting"},"description":"A \u003cspan pulumi-lang-nodejs=\"`autoHealSetting`\" pulumi-lang-dotnet=\"`AutoHealSetting`\" pulumi-lang-go=\"`autoHealSetting`\" pulumi-lang-python=\"`auto_heal_setting`\" pulumi-lang-yaml=\"`autoHealSetting`\" pulumi-lang-java=\"`autoHealSetting`\"\u003e`auto_heal_setting`\u003c/span\u003e block as defined above.\n"},"containerRegistryManagedIdentityClientId":{"type":"string","description":"The Client ID of the Managed Service Identity used for connections to the Azure Container Registry.\n"},"containerRegistryUseManagedIdentity":{"type":"boolean","description":"Do connections for Azure Container Registry use Managed Identity.\n"},"cors":{"type":"array","items":{"$ref":"#/types/azure:appservice/getLinuxWebAppSiteConfigCor:getLinuxWebAppSiteConfigCor"},"description":"A \u003cspan pulumi-lang-nodejs=\"`cors`\" pulumi-lang-dotnet=\"`Cors`\" pulumi-lang-go=\"`cors`\" pulumi-lang-python=\"`cors`\" pulumi-lang-yaml=\"`cors`\" pulumi-lang-java=\"`cors`\"\u003e`cors`\u003c/span\u003e block as defined above.\n"},"defaultDocuments":{"type":"array","items":{"type":"string"},"description":"The list of Default Documents for the Linux Web App.\n"},"detailedErrorLoggingEnabled":{"type":"boolean","description":"Is Detailed Error Logging enabled.\n"},"ftpsState":{"type":"string","description":"The State of FTP / FTPS service.\n"},"healthCheckEvictionTimeInMin":{"type":"integer","description":"The amount of time in minutes that a node can be unhealthy before being removed from the load balancer.\n"},"healthCheckPath":{"type":"string","description":"The path to the Health Check endpoint.\n"},"http2Enabled":{"type":"boolean","description":"Is HTTP2.0 enabled.\n"},"ipRestrictionDefaultAction":{"type":"string","description":"The Default action for traffic that does not match any \u003cspan pulumi-lang-nodejs=\"`ipRestriction`\" pulumi-lang-dotnet=\"`IpRestriction`\" pulumi-lang-go=\"`ipRestriction`\" pulumi-lang-python=\"`ip_restriction`\" pulumi-lang-yaml=\"`ipRestriction`\" pulumi-lang-java=\"`ipRestriction`\"\u003e`ip_restriction`\u003c/span\u003e rule.\n"},"ipRestrictions":{"type":"array","items":{"$ref":"#/types/azure:appservice/getLinuxWebAppSiteConfigIpRestriction:getLinuxWebAppSiteConfigIpRestriction"},"description":"A \u003cspan pulumi-lang-nodejs=\"`ipRestriction`\" pulumi-lang-dotnet=\"`IpRestriction`\" pulumi-lang-go=\"`ipRestriction`\" pulumi-lang-python=\"`ip_restriction`\" pulumi-lang-yaml=\"`ipRestriction`\" pulumi-lang-java=\"`ipRestriction`\"\u003e`ip_restriction`\u003c/span\u003e block as defined above.\n"},"linuxFxVersion":{"type":"string","description":"The `LinuxFXVersion` string.\n"},"loadBalancingMode":{"type":"string","description":"The site Load Balancing Mode.\n"},"localMysqlEnabled":{"type":"boolean","description":"Is the Local MySQL enabled.\n"},"managedPipelineMode":{"type":"string","description":"The Managed Pipeline Mode.\n"},"minimumTlsVersion":{"type":"string","description":"The Minimum version of TLS for requests.\n"},"remoteDebuggingEnabled":{"type":"boolean","description":"Is Remote Debugging enabled.\n"},"remoteDebuggingVersion":{"type":"string","description":"The Remote Debugging Version.\n"},"scmIpRestrictionDefaultAction":{"type":"string","description":"The Default action for traffic that does not match any \u003cspan pulumi-lang-nodejs=\"`scmIpRestriction`\" pulumi-lang-dotnet=\"`ScmIpRestriction`\" pulumi-lang-go=\"`scmIpRestriction`\" pulumi-lang-python=\"`scm_ip_restriction`\" pulumi-lang-yaml=\"`scmIpRestriction`\" pulumi-lang-java=\"`scmIpRestriction`\"\u003e`scm_ip_restriction`\u003c/span\u003e rule.\n"},"scmIpRestrictions":{"type":"array","items":{"$ref":"#/types/azure:appservice/getLinuxWebAppSiteConfigScmIpRestriction:getLinuxWebAppSiteConfigScmIpRestriction"},"description":"A \u003cspan pulumi-lang-nodejs=\"`scmIpRestriction`\" pulumi-lang-dotnet=\"`ScmIpRestriction`\" pulumi-lang-go=\"`scmIpRestriction`\" pulumi-lang-python=\"`scm_ip_restriction`\" pulumi-lang-yaml=\"`scmIpRestriction`\" pulumi-lang-java=\"`scmIpRestriction`\"\u003e`scm_ip_restriction`\u003c/span\u003e block as defined above.\n"},"scmMinimumTlsVersion":{"type":"string","description":"The Minimum version of TLS for requests to SCM.\n"},"scmType":{"type":"string","description":"The Source Control Management Type in use.\n"},"scmUseMainIpRestriction":{"type":"boolean","description":"Is the Linux Web App \u003cspan pulumi-lang-nodejs=\"`ipRestriction`\" pulumi-lang-dotnet=\"`IpRestriction`\" pulumi-lang-go=\"`ipRestriction`\" pulumi-lang-python=\"`ip_restriction`\" pulumi-lang-yaml=\"`ipRestriction`\" pulumi-lang-java=\"`ipRestriction`\"\u003e`ip_restriction`\u003c/span\u003e configuration used for the SCM also.\n"},"use32BitWorker":{"type":"boolean","description":"Does the Linux Web App use a 32-bit worker.\n"},"vnetRouteAllEnabled":{"type":"boolean","description":"Are all outbound traffic to NAT Gateways, Network Security Groups and User Defined Routes applied?\n"},"websocketsEnabled":{"type":"boolean","description":"Are Web Sockets enabled?\n"},"workerCount":{"type":"integer","description":"The number of Workers for this Linux App Service.\n"}},"type":"object","required":["alwaysOn","apiDefinitionUrl","apiManagementApiId","appCommandLine","applicationStacks","autoHealSettings","containerRegistryManagedIdentityClientId","containerRegistryUseManagedIdentity","cors","defaultDocuments","detailedErrorLoggingEnabled","ftpsState","healthCheckEvictionTimeInMin","healthCheckPath","http2Enabled","ipRestrictions","ipRestrictionDefaultAction","linuxFxVersion","loadBalancingMode","localMysqlEnabled","managedPipelineMode","minimumTlsVersion","remoteDebuggingEnabled","remoteDebuggingVersion","scmIpRestrictions","scmIpRestrictionDefaultAction","scmMinimumTlsVersion","scmType","scmUseMainIpRestriction","use32BitWorker","vnetRouteAllEnabled","websocketsEnabled","workerCount"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appservice/getLinuxWebAppSiteConfigApplicationStack:getLinuxWebAppSiteConfigApplicationStack":{"properties":{"dockerImageName":{"type":"string","description":"The docker image, including tag, used by this Linux Web App.\n"},"dockerRegistryPassword":{"type":"string","description":"The User Name to use for authentication against the registry to pull the image.\n","secret":true},"dockerRegistryUrl":{"type":"string","description":"The URL of the container registry where the \u003cspan pulumi-lang-nodejs=\"`dockerImageName`\" pulumi-lang-dotnet=\"`DockerImageName`\" pulumi-lang-go=\"`dockerImageName`\" pulumi-lang-python=\"`docker_image_name`\" pulumi-lang-yaml=\"`dockerImageName`\" pulumi-lang-java=\"`dockerImageName`\"\u003e`docker_image_name`\u003c/span\u003e is located.\n"},"dockerRegistryUsername":{"type":"string","description":"The User Name to use for authentication against the registry to pull the image.\n"},"dotnetVersion":{"type":"string","description":"The version of .NET in use.\n"},"goVersion":{"type":"string"},"javaServer":{"type":"string","description":"The Java server type.\n"},"javaServerVersion":{"type":"string","description":"The Version of the \u003cspan pulumi-lang-nodejs=\"`javaServer`\" pulumi-lang-dotnet=\"`JavaServer`\" pulumi-lang-go=\"`javaServer`\" pulumi-lang-python=\"`java_server`\" pulumi-lang-yaml=\"`javaServer`\" pulumi-lang-java=\"`javaServer`\"\u003e`java_server`\u003c/span\u003e in use.\n"},"javaVersion":{"type":"string","description":"The Version of Java in use.\n"},"nodeVersion":{"type":"string","description":"The version of Node in use.\n"},"phpVersion":{"type":"string","description":"The version of PHP in use.\n"},"pythonVersion":{"type":"string","description":"The version of Python in use.\n"},"rubyVersion":{"type":"string","description":"The version of Ruby in use.\n"}},"type":"object","required":["dockerImageName","dockerRegistryPassword","dockerRegistryUrl","dockerRegistryUsername","dotnetVersion","goVersion","javaServer","javaServerVersion","javaVersion","nodeVersion","phpVersion","pythonVersion","rubyVersion"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appservice/getLinuxWebAppSiteConfigAutoHealSetting:getLinuxWebAppSiteConfigAutoHealSetting":{"properties":{"actions":{"type":"array","items":{"$ref":"#/types/azure:appservice/getLinuxWebAppSiteConfigAutoHealSettingAction:getLinuxWebAppSiteConfigAutoHealSettingAction"},"description":"A \u003cspan pulumi-lang-nodejs=\"`action`\" pulumi-lang-dotnet=\"`Action`\" pulumi-lang-go=\"`action`\" pulumi-lang-python=\"`action`\" pulumi-lang-yaml=\"`action`\" pulumi-lang-java=\"`action`\"\u003e`action`\u003c/span\u003e block as defined above.\n"},"triggers":{"type":"array","items":{"$ref":"#/types/azure:appservice/getLinuxWebAppSiteConfigAutoHealSettingTrigger:getLinuxWebAppSiteConfigAutoHealSettingTrigger"},"description":"A \u003cspan pulumi-lang-nodejs=\"`trigger`\" pulumi-lang-dotnet=\"`Trigger`\" pulumi-lang-go=\"`trigger`\" pulumi-lang-python=\"`trigger`\" pulumi-lang-yaml=\"`trigger`\" pulumi-lang-java=\"`trigger`\"\u003e`trigger`\u003c/span\u003e block as defined below.\n"}},"type":"object","required":["actions","triggers"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appservice/getLinuxWebAppSiteConfigAutoHealSettingAction:getLinuxWebAppSiteConfigAutoHealSettingAction":{"properties":{"actionType":{"type":"string","description":"The predefined action to be taken to an Auto Heal trigger.\n"},"minimumProcessExecutionTime":{"type":"string","description":"The minimum amount of time in `hh:mm:ss` the Linux Web App must have been running before the defined action will be run in the event of a trigger.\n"}},"type":"object","required":["actionType","minimumProcessExecutionTime"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appservice/getLinuxWebAppSiteConfigAutoHealSettingTrigger:getLinuxWebAppSiteConfigAutoHealSettingTrigger":{"properties":{"requests":{"type":"array","items":{"$ref":"#/types/azure:appservice/getLinuxWebAppSiteConfigAutoHealSettingTriggerRequest:getLinuxWebAppSiteConfigAutoHealSettingTriggerRequest"},"description":"A \u003cspan pulumi-lang-nodejs=\"`requests`\" pulumi-lang-dotnet=\"`Requests`\" pulumi-lang-go=\"`requests`\" pulumi-lang-python=\"`requests`\" pulumi-lang-yaml=\"`requests`\" pulumi-lang-java=\"`requests`\"\u003e`requests`\u003c/span\u003e block as defined above.\n"},"slowRequestWithPaths":{"type":"array","items":{"$ref":"#/types/azure:appservice/getLinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPath:getLinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPath"},"description":"(Optional) One or more \u003cspan pulumi-lang-nodejs=\"`slowRequestWithPath`\" pulumi-lang-dotnet=\"`SlowRequestWithPath`\" pulumi-lang-go=\"`slowRequestWithPath`\" pulumi-lang-python=\"`slow_request_with_path`\" pulumi-lang-yaml=\"`slowRequestWithPath`\" pulumi-lang-java=\"`slowRequestWithPath`\"\u003e`slow_request_with_path`\u003c/span\u003e blocks as defined above.\n"},"slowRequests":{"type":"array","items":{"$ref":"#/types/azure:appservice/getLinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequest:getLinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequest"},"description":"A \u003cspan pulumi-lang-nodejs=\"`slowRequest`\" pulumi-lang-dotnet=\"`SlowRequest`\" pulumi-lang-go=\"`slowRequest`\" pulumi-lang-python=\"`slow_request`\" pulumi-lang-yaml=\"`slowRequest`\" pulumi-lang-java=\"`slowRequest`\"\u003e`slow_request`\u003c/span\u003e block as defined above.\n"},"statusCodes":{"type":"array","items":{"$ref":"#/types/azure:appservice/getLinuxWebAppSiteConfigAutoHealSettingTriggerStatusCode:getLinuxWebAppSiteConfigAutoHealSettingTriggerStatusCode"},"description":"A \u003cspan pulumi-lang-nodejs=\"`statusCode`\" pulumi-lang-dotnet=\"`StatusCode`\" pulumi-lang-go=\"`statusCode`\" pulumi-lang-python=\"`status_code`\" pulumi-lang-yaml=\"`statusCode`\" pulumi-lang-java=\"`statusCode`\"\u003e`status_code`\u003c/span\u003e block as defined above.\n"}},"type":"object","required":["requests","slowRequestWithPaths","statusCodes"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appservice/getLinuxWebAppSiteConfigAutoHealSettingTriggerRequest:getLinuxWebAppSiteConfigAutoHealSettingTriggerRequest":{"properties":{"count":{"type":"integer","description":"The number of occurrences of the defined \u003cspan pulumi-lang-nodejs=\"`statusCode`\" pulumi-lang-dotnet=\"`StatusCode`\" pulumi-lang-go=\"`statusCode`\" pulumi-lang-python=\"`status_code`\" pulumi-lang-yaml=\"`statusCode`\" pulumi-lang-java=\"`statusCode`\"\u003e`status_code`\u003c/span\u003e in the specified \u003cspan pulumi-lang-nodejs=\"`interval`\" pulumi-lang-dotnet=\"`Interval`\" pulumi-lang-go=\"`interval`\" pulumi-lang-python=\"`interval`\" pulumi-lang-yaml=\"`interval`\" pulumi-lang-java=\"`interval`\"\u003e`interval`\u003c/span\u003e on which to trigger this rule.\n"},"interval":{"type":"string","description":"The time interval in the form `hh:mm:ss`.\n"}},"type":"object","required":["count","interval"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appservice/getLinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequest:getLinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequest":{"properties":{"count":{"type":"integer","description":"The number of occurrences of the defined \u003cspan pulumi-lang-nodejs=\"`statusCode`\" pulumi-lang-dotnet=\"`StatusCode`\" pulumi-lang-go=\"`statusCode`\" pulumi-lang-python=\"`status_code`\" pulumi-lang-yaml=\"`statusCode`\" pulumi-lang-java=\"`statusCode`\"\u003e`status_code`\u003c/span\u003e in the specified \u003cspan pulumi-lang-nodejs=\"`interval`\" pulumi-lang-dotnet=\"`Interval`\" pulumi-lang-go=\"`interval`\" pulumi-lang-python=\"`interval`\" pulumi-lang-yaml=\"`interval`\" pulumi-lang-java=\"`interval`\"\u003e`interval`\u003c/span\u003e on which to trigger this rule.\n"},"interval":{"type":"string","description":"The time interval in the form `hh:mm:ss`.\n"},"timeTaken":{"type":"string","description":"(Required) The threshold of time passed to qualify as a Slow Request in `hh:mm:ss`.\n"}},"type":"object","required":["count","interval","timeTaken"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appservice/getLinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPath:getLinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPath":{"properties":{"count":{"type":"integer","description":"The number of occurrences of the defined \u003cspan pulumi-lang-nodejs=\"`statusCode`\" pulumi-lang-dotnet=\"`StatusCode`\" pulumi-lang-go=\"`statusCode`\" pulumi-lang-python=\"`status_code`\" pulumi-lang-yaml=\"`statusCode`\" pulumi-lang-java=\"`statusCode`\"\u003e`status_code`\u003c/span\u003e in the specified \u003cspan pulumi-lang-nodejs=\"`interval`\" pulumi-lang-dotnet=\"`Interval`\" pulumi-lang-go=\"`interval`\" pulumi-lang-python=\"`interval`\" pulumi-lang-yaml=\"`interval`\" pulumi-lang-java=\"`interval`\"\u003e`interval`\u003c/span\u003e on which to trigger this rule.\n"},"interval":{"type":"string","description":"The time interval in the form `hh:mm:ss`.\n"},"path":{"type":"string","description":"The path to which this rule status code applies.\n"},"timeTaken":{"type":"string","description":"(Required) The threshold of time passed to qualify as a Slow Request in `hh:mm:ss`.\n"}},"type":"object","required":["count","interval","path","timeTaken"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appservice/getLinuxWebAppSiteConfigAutoHealSettingTriggerStatusCode:getLinuxWebAppSiteConfigAutoHealSettingTriggerStatusCode":{"properties":{"count":{"type":"integer","description":"The number of occurrences of the defined \u003cspan pulumi-lang-nodejs=\"`statusCode`\" pulumi-lang-dotnet=\"`StatusCode`\" pulumi-lang-go=\"`statusCode`\" pulumi-lang-python=\"`status_code`\" pulumi-lang-yaml=\"`statusCode`\" pulumi-lang-java=\"`statusCode`\"\u003e`status_code`\u003c/span\u003e in the specified \u003cspan pulumi-lang-nodejs=\"`interval`\" pulumi-lang-dotnet=\"`Interval`\" pulumi-lang-go=\"`interval`\" pulumi-lang-python=\"`interval`\" pulumi-lang-yaml=\"`interval`\" pulumi-lang-java=\"`interval`\"\u003e`interval`\u003c/span\u003e on which to trigger this rule.\n"},"interval":{"type":"string","description":"The time interval in the form `hh:mm:ss`.\n"},"path":{"type":"string","description":"The path to which this rule status code applies.\n"},"statusCodeRange":{"type":"string","description":"The status code or range for this rule.\n"},"subStatus":{"type":"integer","description":"The Request Sub Status of the Status Code.\n"},"win32StatusCode":{"type":"integer","description":"The Win32 Status Code of the Request.\n"}},"type":"object","required":["count","interval","path","statusCodeRange","subStatus","win32StatusCode"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appservice/getLinuxWebAppSiteConfigCor:getLinuxWebAppSiteConfigCor":{"properties":{"allowedOrigins":{"type":"array","items":{"type":"string"},"description":"A list of origins that should be allowed to make cross-origin calls.\n"},"supportCredentials":{"type":"boolean","description":"Whether CORS requests with credentials are allowed.\n"}},"type":"object","required":["allowedOrigins","supportCredentials"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appservice/getLinuxWebAppSiteConfigIpRestriction:getLinuxWebAppSiteConfigIpRestriction":{"properties":{"action":{"type":"string","description":"A \u003cspan pulumi-lang-nodejs=\"`action`\" pulumi-lang-dotnet=\"`Action`\" pulumi-lang-go=\"`action`\" pulumi-lang-python=\"`action`\" pulumi-lang-yaml=\"`action`\" pulumi-lang-java=\"`action`\"\u003e`action`\u003c/span\u003e block as defined above.\n"},"description":{"type":"string","description":"The description of the ip restriction rule.\n"},"headers":{"type":"array","items":{"$ref":"#/types/azure:appservice/getLinuxWebAppSiteConfigIpRestrictionHeader:getLinuxWebAppSiteConfigIpRestrictionHeader"}},"ipAddress":{"type":"string","description":"The CIDR notation of the IP or IP Range to match.\n"},"name":{"type":"string","description":"The name of this Linux Web App.\n"},"priority":{"type":"integer","description":"The priority value of this \u003cspan pulumi-lang-nodejs=\"`ipRestriction`\" pulumi-lang-dotnet=\"`IpRestriction`\" pulumi-lang-go=\"`ipRestriction`\" pulumi-lang-python=\"`ip_restriction`\" pulumi-lang-yaml=\"`ipRestriction`\" pulumi-lang-java=\"`ipRestriction`\"\u003e`ip_restriction`\u003c/span\u003e.\n"},"serviceTag":{"type":"string","description":"The Service Tag used for this IP Restriction.\n"},"virtualNetworkSubnetId":{"type":"string","description":"The subnet id which the Linux Web App is vNet Integrated with.\n"}},"type":"object","required":["action","description","headers","ipAddress","name","priority","serviceTag","virtualNetworkSubnetId"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appservice/getLinuxWebAppSiteConfigIpRestrictionHeader:getLinuxWebAppSiteConfigIpRestrictionHeader":{"properties":{"xAzureFdids":{"type":"array","items":{"type":"string"},"description":"The list of Azure Front Door IDs.\n"},"xFdHealthProbes":{"type":"array","items":{"type":"string"},"description":"Specifies if a Front Door Health Probe is expected.\n"},"xForwardedFors":{"type":"array","items":{"type":"string"},"description":"The list of addresses for which matching is applied.\n"},"xForwardedHosts":{"type":"array","items":{"type":"string"},"description":"The list of Hosts for which matching will be applied.\n"}},"type":"object","required":["xAzureFdids","xFdHealthProbes","xForwardedFors","xForwardedHosts"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appservice/getLinuxWebAppSiteConfigScmIpRestriction:getLinuxWebAppSiteConfigScmIpRestriction":{"properties":{"action":{"type":"string","description":"A \u003cspan pulumi-lang-nodejs=\"`action`\" pulumi-lang-dotnet=\"`Action`\" pulumi-lang-go=\"`action`\" pulumi-lang-python=\"`action`\" pulumi-lang-yaml=\"`action`\" pulumi-lang-java=\"`action`\"\u003e`action`\u003c/span\u003e block as defined above.\n"},"description":{"type":"string","description":"The description of the ip restriction rule.\n"},"headers":{"type":"array","items":{"$ref":"#/types/azure:appservice/getLinuxWebAppSiteConfigScmIpRestrictionHeader:getLinuxWebAppSiteConfigScmIpRestrictionHeader"}},"ipAddress":{"type":"string","description":"The CIDR notation of the IP or IP Range to match.\n"},"name":{"type":"string","description":"The name of this Linux Web App.\n"},"priority":{"type":"integer","description":"The priority value of this \u003cspan pulumi-lang-nodejs=\"`ipRestriction`\" pulumi-lang-dotnet=\"`IpRestriction`\" pulumi-lang-go=\"`ipRestriction`\" pulumi-lang-python=\"`ip_restriction`\" pulumi-lang-yaml=\"`ipRestriction`\" pulumi-lang-java=\"`ipRestriction`\"\u003e`ip_restriction`\u003c/span\u003e.\n"},"serviceTag":{"type":"string","description":"The Service Tag used for this IP Restriction.\n"},"virtualNetworkSubnetId":{"type":"string","description":"The subnet id which the Linux Web App is vNet Integrated with.\n"}},"type":"object","required":["action","description","headers","ipAddress","name","priority","serviceTag","virtualNetworkSubnetId"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appservice/getLinuxWebAppSiteConfigScmIpRestrictionHeader:getLinuxWebAppSiteConfigScmIpRestrictionHeader":{"properties":{"xAzureFdids":{"type":"array","items":{"type":"string"},"description":"The list of Azure Front Door IDs.\n"},"xFdHealthProbes":{"type":"array","items":{"type":"string"},"description":"Specifies if a Front Door Health Probe is expected.\n"},"xForwardedFors":{"type":"array","items":{"type":"string"},"description":"The list of addresses for which matching is applied.\n"},"xForwardedHosts":{"type":"array","items":{"type":"string"},"description":"The list of Hosts for which matching will be applied.\n"}},"type":"object","required":["xAzureFdids","xFdHealthProbes","xForwardedFors","xForwardedHosts"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appservice/getLinuxWebAppSiteCredential:getLinuxWebAppSiteCredential":{"properties":{"name":{"type":"string","description":"The name of this Linux Web App.\n","secret":true},"password":{"type":"string","description":"The Site Credentials Password used for publishing.\n","secret":true}},"type":"object","required":["name","password"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appservice/getLinuxWebAppStickySetting:getLinuxWebAppStickySetting":{"properties":{"appSettingNames":{"type":"array","items":{"type":"string"},"description":"A list of \u003cspan pulumi-lang-nodejs=\"`appSetting`\" pulumi-lang-dotnet=\"`AppSetting`\" pulumi-lang-go=\"`appSetting`\" pulumi-lang-python=\"`app_setting`\" pulumi-lang-yaml=\"`appSetting`\" pulumi-lang-java=\"`appSetting`\"\u003e`app_setting`\u003c/span\u003e names that the Linux Web App will not swap between Slots when a swap operation is triggered.\n"},"connectionStringNames":{"type":"array","items":{"type":"string"},"description":"A list of \u003cspan pulumi-lang-nodejs=\"`connectionString`\" pulumi-lang-dotnet=\"`ConnectionString`\" pulumi-lang-go=\"`connectionString`\" pulumi-lang-python=\"`connection_string`\" pulumi-lang-yaml=\"`connectionString`\" pulumi-lang-java=\"`connectionString`\"\u003e`connection_string`\u003c/span\u003e names that the Linux Web App will not swap between Slots when a swap operation is triggered.\n"}},"type":"object","required":["appSettingNames","connectionStringNames"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appservice/getLinuxWebAppStorageAccount:getLinuxWebAppStorageAccount":{"properties":{"accessKey":{"type":"string","description":"The Access key for the storage account.\n","secret":true},"accountName":{"type":"string","description":"The Name of the Storage Account.\n"},"mountPath":{"type":"string","description":"The path at which to mount the Storage Share.\n"},"name":{"type":"string","description":"The name of this Linux Web App.\n"},"shareName":{"type":"string","description":"The Name of the File Share or Container Name for Blob storage.\n"},"type":{"type":"string","description":"The Azure Storage Type.\n"}},"type":"object","required":["accessKey","accountName","mountPath","name","shareName","type"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appservice/getStaticWebAppBasicAuth:getStaticWebAppBasicAuth":{"properties":{"environments":{"type":"string","description":"The Environment types which are configured to use Basic Auth access.\n"}},"type":"object","required":["environments"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appservice/getStaticWebAppIdentity:getStaticWebAppIdentity":{"properties":{"identityIds":{"type":"array","items":{"type":"string"},"description":"The list of Managed Identity IDs which are assigned to this Static Web App resource.\n"},"principalId":{"type":"string"},"tenantId":{"type":"string"},"type":{"type":"string","description":"The Type of Managed Identity assigned to this Static Web App resource.\n"}},"type":"object","required":["identityIds","principalId","tenantId","type"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appservice/getWindowsFunctionAppAuthSetting:getWindowsFunctionAppAuthSetting":{"properties":{"activeDirectories":{"type":"array","items":{"$ref":"#/types/azure:appservice/getWindowsFunctionAppAuthSettingActiveDirectory:getWindowsFunctionAppAuthSettingActiveDirectory"},"description":"A \u003cspan pulumi-lang-nodejs=\"`activeDirectory`\" pulumi-lang-dotnet=\"`ActiveDirectory`\" pulumi-lang-go=\"`activeDirectory`\" pulumi-lang-python=\"`active_directory`\" pulumi-lang-yaml=\"`activeDirectory`\" pulumi-lang-java=\"`activeDirectory`\"\u003e`active_directory`\u003c/span\u003e block as defined above.\n"},"additionalLoginParameters":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of Login Parameters to send to the OpenID Connect authorization endpoint when a user logs in.\n"},"allowedExternalRedirectUrls":{"type":"array","items":{"type":"string"},"description":"External URLs that can be redirected to as part of logging in or logging out of the app.\n"},"defaultProvider":{"type":"string","description":"The Default Authentication Provider used when more than one Authentication Provider is configured and the \u003cspan pulumi-lang-nodejs=\"`unauthenticatedAction`\" pulumi-lang-dotnet=\"`UnauthenticatedAction`\" pulumi-lang-go=\"`unauthenticatedAction`\" pulumi-lang-python=\"`unauthenticated_action`\" pulumi-lang-yaml=\"`unauthenticatedAction`\" pulumi-lang-java=\"`unauthenticatedAction`\"\u003e`unauthenticated_action`\u003c/span\u003e is set to `RedirectToLoginPage`.\n"},"enabled":{"type":"boolean","description":"Is the Backup Job enabled?\n"},"facebooks":{"type":"array","items":{"$ref":"#/types/azure:appservice/getWindowsFunctionAppAuthSettingFacebook:getWindowsFunctionAppAuthSettingFacebook"},"description":"A \u003cspan pulumi-lang-nodejs=\"`facebook`\" pulumi-lang-dotnet=\"`Facebook`\" pulumi-lang-go=\"`facebook`\" pulumi-lang-python=\"`facebook`\" pulumi-lang-yaml=\"`facebook`\" pulumi-lang-java=\"`facebook`\"\u003e`facebook`\u003c/span\u003e block as defined below.\n"},"githubs":{"type":"array","items":{"$ref":"#/types/azure:appservice/getWindowsFunctionAppAuthSettingGithub:getWindowsFunctionAppAuthSettingGithub"},"description":"A \u003cspan pulumi-lang-nodejs=\"`github`\" pulumi-lang-dotnet=\"`Github`\" pulumi-lang-go=\"`github`\" pulumi-lang-python=\"`github`\" pulumi-lang-yaml=\"`github`\" pulumi-lang-java=\"`github`\"\u003e`github`\u003c/span\u003e block as defined below.\n"},"googles":{"type":"array","items":{"$ref":"#/types/azure:appservice/getWindowsFunctionAppAuthSettingGoogle:getWindowsFunctionAppAuthSettingGoogle"},"description":"A \u003cspan pulumi-lang-nodejs=\"`google`\" pulumi-lang-dotnet=\"`Google`\" pulumi-lang-go=\"`google`\" pulumi-lang-python=\"`google`\" pulumi-lang-yaml=\"`google`\" pulumi-lang-java=\"`google`\"\u003e`google`\u003c/span\u003e block as defined below.\n"},"issuer":{"type":"string","description":"The OpenID Connect Issuer URI that represents the entity which issues access tokens for this Windows Function App.\n"},"microsofts":{"type":"array","items":{"$ref":"#/types/azure:appservice/getWindowsFunctionAppAuthSettingMicrosoft:getWindowsFunctionAppAuthSettingMicrosoft"},"description":"A \u003cspan pulumi-lang-nodejs=\"`microsoft`\" pulumi-lang-dotnet=\"`Microsoft`\" pulumi-lang-go=\"`microsoft`\" pulumi-lang-python=\"`microsoft`\" pulumi-lang-yaml=\"`microsoft`\" pulumi-lang-java=\"`microsoft`\"\u003e`microsoft`\u003c/span\u003e block as defined below.\n"},"runtimeVersion":{"type":"string","description":"The Runtime Version of the Authentication and Authorisation feature of this App.\n"},"tokenRefreshExtensionHours":{"type":"number","description":"The number of hours after session token expiration that a session token can be used to call the token refresh API.\n"},"tokenStoreEnabled":{"type":"boolean","description":"Is the Token Store configuration Enabled.\n"},"twitters":{"type":"array","items":{"$ref":"#/types/azure:appservice/getWindowsFunctionAppAuthSettingTwitter:getWindowsFunctionAppAuthSettingTwitter"},"description":"A \u003cspan pulumi-lang-nodejs=\"`twitter`\" pulumi-lang-dotnet=\"`Twitter`\" pulumi-lang-go=\"`twitter`\" pulumi-lang-python=\"`twitter`\" pulumi-lang-yaml=\"`twitter`\" pulumi-lang-java=\"`twitter`\"\u003e`twitter`\u003c/span\u003e block as defined below.\n"},"unauthenticatedClientAction":{"type":"string","description":"The action to take when an unauthenticated client attempts to access the app.\n"}},"type":"object","required":["activeDirectories","additionalLoginParameters","allowedExternalRedirectUrls","defaultProvider","enabled","facebooks","githubs","googles","issuer","microsofts","runtimeVersion","tokenRefreshExtensionHours","tokenStoreEnabled","twitters","unauthenticatedClientAction"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appservice/getWindowsFunctionAppAuthSettingActiveDirectory:getWindowsFunctionAppAuthSettingActiveDirectory":{"properties":{"allowedAudiences":{"type":"array","items":{"type":"string"},"description":"The list of Allowed Audiences that are be requested as part of Microsoft Sign-In authentication.\n"},"clientId":{"type":"string","description":"The OAuth 2.0 client ID that was created for the app used for authentication.\n"},"clientSecret":{"type":"string","description":"The OAuth 2.0 client secret that was created for the app used for authentication.\n","secret":true},"clientSecretSettingName":{"type":"string","description":"The app setting name containing the OAuth 2.0 client secret that was created for the app used for authentication.\n"}},"type":"object","required":["allowedAudiences","clientId","clientSecret","clientSecretSettingName"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appservice/getWindowsFunctionAppAuthSettingFacebook:getWindowsFunctionAppAuthSettingFacebook":{"properties":{"appId":{"type":"string","description":"The App ID of the Facebook app used for login.\n"},"appSecret":{"type":"string","description":"The App Secret of the Facebook app used for Facebook Login.\n","secret":true},"appSecretSettingName":{"type":"string","description":"The app setting name that contains the \u003cspan pulumi-lang-nodejs=\"`appSecret`\" pulumi-lang-dotnet=\"`AppSecret`\" pulumi-lang-go=\"`appSecret`\" pulumi-lang-python=\"`app_secret`\" pulumi-lang-yaml=\"`appSecret`\" pulumi-lang-java=\"`appSecret`\"\u003e`app_secret`\u003c/span\u003e value used for Facebook Login.\n"},"oauthScopes":{"type":"array","items":{"type":"string"},"description":"A list of OAuth 2.0 scopes that will be requested as part of Microsoft Account authentication.\n"}},"type":"object","required":["appId","appSecret","appSecretSettingName","oauthScopes"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appservice/getWindowsFunctionAppAuthSettingGithub:getWindowsFunctionAppAuthSettingGithub":{"properties":{"clientId":{"type":"string","description":"The OAuth 2.0 client ID that was created for the app used for authentication.\n"},"clientSecret":{"type":"string","description":"The OAuth 2.0 client secret that was created for the app used for authentication.\n","secret":true},"clientSecretSettingName":{"type":"string","description":"The app setting name containing the OAuth 2.0 client secret that was created for the app used for authentication.\n"},"oauthScopes":{"type":"array","items":{"type":"string"},"description":"A list of OAuth 2.0 scopes that will be requested as part of Microsoft Account authentication.\n"}},"type":"object","required":["clientId","clientSecret","clientSecretSettingName","oauthScopes"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appservice/getWindowsFunctionAppAuthSettingGoogle:getWindowsFunctionAppAuthSettingGoogle":{"properties":{"clientId":{"type":"string","description":"The OAuth 2.0 client ID that was created for the app used for authentication.\n"},"clientSecret":{"type":"string","description":"The OAuth 2.0 client secret that was created for the app used for authentication.\n","secret":true},"clientSecretSettingName":{"type":"string","description":"The app setting name containing the OAuth 2.0 client secret that was created for the app used for authentication.\n"},"oauthScopes":{"type":"array","items":{"type":"string"},"description":"A list of OAuth 2.0 scopes that will be requested as part of Microsoft Account authentication.\n"}},"type":"object","required":["clientId","clientSecret","clientSecretSettingName","oauthScopes"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appservice/getWindowsFunctionAppAuthSettingMicrosoft:getWindowsFunctionAppAuthSettingMicrosoft":{"properties":{"clientId":{"type":"string","description":"The OAuth 2.0 client ID that was created for the app used for authentication.\n"},"clientSecret":{"type":"string","description":"The OAuth 2.0 client secret that was created for the app used for authentication.\n","secret":true},"clientSecretSettingName":{"type":"string","description":"The app setting name containing the OAuth 2.0 client secret that was created for the app used for authentication.\n"},"oauthScopes":{"type":"array","items":{"type":"string"},"description":"A list of OAuth 2.0 scopes that will be requested as part of Microsoft Account authentication.\n"}},"type":"object","required":["clientId","clientSecret","clientSecretSettingName","oauthScopes"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appservice/getWindowsFunctionAppAuthSettingTwitter:getWindowsFunctionAppAuthSettingTwitter":{"properties":{"consumerKey":{"type":"string","description":"The OAuth 1.0a consumer key of the Twitter application used for sign-in.\n"},"consumerSecret":{"type":"string","description":"The OAuth 1.0a consumer secret of the Twitter application used for sign-in.\n","secret":true},"consumerSecretSettingName":{"type":"string","description":"The app setting name that contains the OAuth 1.0a consumer secret of the Twitter application used for sign-in.\n"}},"type":"object","required":["consumerKey","consumerSecret","consumerSecretSettingName"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appservice/getWindowsFunctionAppAuthSettingsV2:getWindowsFunctionAppAuthSettingsV2":{"properties":{"activeDirectoryV2s":{"type":"array","items":{"$ref":"#/types/azure:appservice/getWindowsFunctionAppAuthSettingsV2ActiveDirectoryV2:getWindowsFunctionAppAuthSettingsV2ActiveDirectoryV2"},"description":"An \u003cspan pulumi-lang-nodejs=\"`activeDirectoryV2`\" pulumi-lang-dotnet=\"`ActiveDirectoryV2`\" pulumi-lang-go=\"`activeDirectoryV2`\" pulumi-lang-python=\"`active_directory_v2`\" pulumi-lang-yaml=\"`activeDirectoryV2`\" pulumi-lang-java=\"`activeDirectoryV2`\"\u003e`active_directory_v2`\u003c/span\u003e block as defined below.\n"},"appleV2s":{"type":"array","items":{"$ref":"#/types/azure:appservice/getWindowsFunctionAppAuthSettingsV2AppleV2:getWindowsFunctionAppAuthSettingsV2AppleV2"},"description":"An \u003cspan pulumi-lang-nodejs=\"`appleV2`\" pulumi-lang-dotnet=\"`AppleV2`\" pulumi-lang-go=\"`appleV2`\" pulumi-lang-python=\"`apple_v2`\" pulumi-lang-yaml=\"`appleV2`\" pulumi-lang-java=\"`appleV2`\"\u003e`apple_v2`\u003c/span\u003e block as defined below.\n"},"authEnabled":{"type":"boolean","description":"Are the AuthV2 Settings enabled.\n"},"azureStaticWebAppV2s":{"type":"array","items":{"$ref":"#/types/azure:appservice/getWindowsFunctionAppAuthSettingsV2AzureStaticWebAppV2:getWindowsFunctionAppAuthSettingsV2AzureStaticWebAppV2"},"description":"An \u003cspan pulumi-lang-nodejs=\"`azureStaticWebAppV2`\" pulumi-lang-dotnet=\"`AzureStaticWebAppV2`\" pulumi-lang-go=\"`azureStaticWebAppV2`\" pulumi-lang-python=\"`azure_static_web_app_v2`\" pulumi-lang-yaml=\"`azureStaticWebAppV2`\" pulumi-lang-java=\"`azureStaticWebAppV2`\"\u003e`azure_static_web_app_v2`\u003c/span\u003e block as defined below.\n"},"configFilePath":{"type":"string","description":"The path to the App Auth settings.\n"},"customOidcV2s":{"type":"array","items":{"$ref":"#/types/azure:appservice/getWindowsFunctionAppAuthSettingsV2CustomOidcV2:getWindowsFunctionAppAuthSettingsV2CustomOidcV2"},"description":"Zero or more \u003cspan pulumi-lang-nodejs=\"`customOidcV2`\" pulumi-lang-dotnet=\"`CustomOidcV2`\" pulumi-lang-go=\"`customOidcV2`\" pulumi-lang-python=\"`custom_oidc_v2`\" pulumi-lang-yaml=\"`customOidcV2`\" pulumi-lang-java=\"`customOidcV2`\"\u003e`custom_oidc_v2`\u003c/span\u003e blocks as defined below.\n"},"defaultProvider":{"type":"string","description":"The Default Authentication Provider used when more than one Authentication Provider is configured and the \u003cspan pulumi-lang-nodejs=\"`unauthenticatedAction`\" pulumi-lang-dotnet=\"`UnauthenticatedAction`\" pulumi-lang-go=\"`unauthenticatedAction`\" pulumi-lang-python=\"`unauthenticated_action`\" pulumi-lang-yaml=\"`unauthenticatedAction`\" pulumi-lang-java=\"`unauthenticatedAction`\"\u003e`unauthenticated_action`\u003c/span\u003e is set to `RedirectToLoginPage`.\n"},"excludedPaths":{"type":"array","items":{"type":"string"},"description":"The paths which should be excluded from the \u003cspan pulumi-lang-nodejs=\"`unauthenticatedAction`\" pulumi-lang-dotnet=\"`UnauthenticatedAction`\" pulumi-lang-go=\"`unauthenticatedAction`\" pulumi-lang-python=\"`unauthenticated_action`\" pulumi-lang-yaml=\"`unauthenticatedAction`\" pulumi-lang-java=\"`unauthenticatedAction`\"\u003e`unauthenticated_action`\u003c/span\u003e when it is set to `RedirectToLoginPage`.\n"},"facebookV2s":{"type":"array","items":{"$ref":"#/types/azure:appservice/getWindowsFunctionAppAuthSettingsV2FacebookV2:getWindowsFunctionAppAuthSettingsV2FacebookV2"},"description":"A \u003cspan pulumi-lang-nodejs=\"`facebookV2`\" pulumi-lang-dotnet=\"`FacebookV2`\" pulumi-lang-go=\"`facebookV2`\" pulumi-lang-python=\"`facebook_v2`\" pulumi-lang-yaml=\"`facebookV2`\" pulumi-lang-java=\"`facebookV2`\"\u003e`facebook_v2`\u003c/span\u003e block as defined below.\n"},"forwardProxyConvention":{"type":"string","description":"The convention used to determine the url of the request made.\n"},"forwardProxyCustomHostHeaderName":{"type":"string","description":"The name of the custom header containing the host of the request.\n"},"forwardProxyCustomSchemeHeaderName":{"type":"string","description":"The name of the custom header containing the scheme of the request.\n"},"githubV2s":{"type":"array","items":{"$ref":"#/types/azure:appservice/getWindowsFunctionAppAuthSettingsV2GithubV2:getWindowsFunctionAppAuthSettingsV2GithubV2"},"description":"A \u003cspan pulumi-lang-nodejs=\"`githubV2`\" pulumi-lang-dotnet=\"`GithubV2`\" pulumi-lang-go=\"`githubV2`\" pulumi-lang-python=\"`github_v2`\" pulumi-lang-yaml=\"`githubV2`\" pulumi-lang-java=\"`githubV2`\"\u003e`github_v2`\u003c/span\u003e block as defined below.\n"},"googleV2s":{"type":"array","items":{"$ref":"#/types/azure:appservice/getWindowsFunctionAppAuthSettingsV2GoogleV2:getWindowsFunctionAppAuthSettingsV2GoogleV2"},"description":"A \u003cspan pulumi-lang-nodejs=\"`googleV2`\" pulumi-lang-dotnet=\"`GoogleV2`\" pulumi-lang-go=\"`googleV2`\" pulumi-lang-python=\"`google_v2`\" pulumi-lang-yaml=\"`googleV2`\" pulumi-lang-java=\"`googleV2`\"\u003e`google_v2`\u003c/span\u003e block as defined below.\n"},"httpRouteApiPrefix":{"type":"string","description":"The prefix that should precede all the authentication and authorisation paths.\n"},"logins":{"type":"array","items":{"$ref":"#/types/azure:appservice/getWindowsFunctionAppAuthSettingsV2Login:getWindowsFunctionAppAuthSettingsV2Login"},"description":"A \u003cspan pulumi-lang-nodejs=\"`login`\" pulumi-lang-dotnet=\"`Login`\" pulumi-lang-go=\"`login`\" pulumi-lang-python=\"`login`\" pulumi-lang-yaml=\"`login`\" pulumi-lang-java=\"`login`\"\u003e`login`\u003c/span\u003e block as defined below.\n"},"microsoftV2s":{"type":"array","items":{"$ref":"#/types/azure:appservice/getWindowsFunctionAppAuthSettingsV2MicrosoftV2:getWindowsFunctionAppAuthSettingsV2MicrosoftV2"},"description":"A \u003cspan pulumi-lang-nodejs=\"`microsoftV2`\" pulumi-lang-dotnet=\"`MicrosoftV2`\" pulumi-lang-go=\"`microsoftV2`\" pulumi-lang-python=\"`microsoft_v2`\" pulumi-lang-yaml=\"`microsoftV2`\" pulumi-lang-java=\"`microsoftV2`\"\u003e`microsoft_v2`\u003c/span\u003e block as defined below.\n"},"requireAuthentication":{"type":"boolean","description":"Is the authentication flow used for all requests.\n"},"requireHttps":{"type":"boolean","description":"Is HTTPS required on connections?\n"},"runtimeVersion":{"type":"string","description":"The Runtime Version of the Authentication and Authorisation feature of this App.\n"},"twitterV2s":{"type":"array","items":{"$ref":"#/types/azure:appservice/getWindowsFunctionAppAuthSettingsV2TwitterV2:getWindowsFunctionAppAuthSettingsV2TwitterV2"},"description":"A \u003cspan pulumi-lang-nodejs=\"`twitterV2`\" pulumi-lang-dotnet=\"`TwitterV2`\" pulumi-lang-go=\"`twitterV2`\" pulumi-lang-python=\"`twitter_v2`\" pulumi-lang-yaml=\"`twitterV2`\" pulumi-lang-java=\"`twitterV2`\"\u003e`twitter_v2`\u003c/span\u003e block as defined below.\n"},"unauthenticatedAction":{"type":"string","description":"The action to take for requests made without authentication.\n"}},"type":"object","required":["activeDirectoryV2s","appleV2s","authEnabled","azureStaticWebAppV2s","configFilePath","customOidcV2s","defaultProvider","excludedPaths","facebookV2s","forwardProxyConvention","forwardProxyCustomHostHeaderName","forwardProxyCustomSchemeHeaderName","githubV2s","googleV2s","httpRouteApiPrefix","logins","microsoftV2s","requireAuthentication","requireHttps","runtimeVersion","twitterV2s","unauthenticatedAction"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appservice/getWindowsFunctionAppAuthSettingsV2ActiveDirectoryV2:getWindowsFunctionAppAuthSettingsV2ActiveDirectoryV2":{"properties":{"allowedApplications":{"type":"array","items":{"type":"string"},"description":"The list of allowed Applications for the Default Authorisation Policy.\n"},"allowedAudiences":{"type":"array","items":{"type":"string"},"description":"The list of Allowed Audiences that are be requested as part of Microsoft Sign-In authentication.\n"},"allowedGroups":{"type":"array","items":{"type":"string"},"description":"The list of allowed Group Names for the Default Authorisation Policy.\n"},"allowedIdentities":{"type":"array","items":{"type":"string"},"description":"The list of allowed Identities for the Default Authorisation Policy.\n"},"clientId":{"type":"string","description":"The OAuth 2.0 client ID that was created for the app used for authentication.\n"},"clientSecretCertificateThumbprint":{"type":"string","description":"The thumbprint of the certificate used for signing purposes.\n"},"clientSecretSettingName":{"type":"string","description":"The app setting name containing the OAuth 2.0 client secret that was created for the app used for authentication.\n"},"jwtAllowedClientApplications":{"type":"array","items":{"type":"string"},"description":"The list of Allowed Client Applications in the JWT Claim.\n"},"jwtAllowedGroups":{"type":"array","items":{"type":"string"},"description":"The list of Allowed Groups in the JWT Claim.\n"},"loginParameters":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of key-value pairs sent to the Authorisation Endpoint when a user logs in.\n"},"tenantAuthEndpoint":{"type":"string","description":"The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/`\n"},"wwwAuthenticationDisabled":{"type":"boolean","description":"Is the www-authenticate provider omitted from the request?\n"}},"type":"object","required":["allowedApplications","allowedAudiences","allowedGroups","allowedIdentities","clientId","clientSecretCertificateThumbprint","clientSecretSettingName","jwtAllowedClientApplications","jwtAllowedGroups","loginParameters","tenantAuthEndpoint","wwwAuthenticationDisabled"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appservice/getWindowsFunctionAppAuthSettingsV2AppleV2:getWindowsFunctionAppAuthSettingsV2AppleV2":{"properties":{"clientId":{"type":"string","description":"The OAuth 2.0 client ID that was created for the app used for authentication.\n"},"clientSecretSettingName":{"type":"string","description":"The app setting name containing the OAuth 2.0 client secret that was created for the app used for authentication.\n"},"loginScopes":{"type":"array","items":{"type":"string"},"description":"The list of Login scopes that are requested as part of Microsoft Account authentication.\n"}},"type":"object","required":["clientId","clientSecretSettingName","loginScopes"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appservice/getWindowsFunctionAppAuthSettingsV2AzureStaticWebAppV2:getWindowsFunctionAppAuthSettingsV2AzureStaticWebAppV2":{"properties":{"clientId":{"type":"string","description":"The OAuth 2.0 client ID that was created for the app used for authentication.\n"}},"type":"object","required":["clientId"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appservice/getWindowsFunctionAppAuthSettingsV2CustomOidcV2:getWindowsFunctionAppAuthSettingsV2CustomOidcV2":{"properties":{"authorisationEndpoint":{"type":"string","description":"The endpoint to make the Authorisation Request as supplied by \u003cspan pulumi-lang-nodejs=\"`openidConfigurationEndpoint`\" pulumi-lang-dotnet=\"`OpenidConfigurationEndpoint`\" pulumi-lang-go=\"`openidConfigurationEndpoint`\" pulumi-lang-python=\"`openid_configuration_endpoint`\" pulumi-lang-yaml=\"`openidConfigurationEndpoint`\" pulumi-lang-java=\"`openidConfigurationEndpoint`\"\u003e`openid_configuration_endpoint`\u003c/span\u003e response.\n"},"certificationUri":{"type":"string","description":"The endpoint that provides the keys necessary to validate the token as supplied by \u003cspan pulumi-lang-nodejs=\"`openidConfigurationEndpoint`\" pulumi-lang-dotnet=\"`OpenidConfigurationEndpoint`\" pulumi-lang-go=\"`openidConfigurationEndpoint`\" pulumi-lang-python=\"`openid_configuration_endpoint`\" pulumi-lang-yaml=\"`openidConfigurationEndpoint`\" pulumi-lang-java=\"`openidConfigurationEndpoint`\"\u003e`openid_configuration_endpoint`\u003c/span\u003e response.\n"},"clientCredentialMethod":{"type":"string","description":"The Client Credential Method used.\n"},"clientId":{"type":"string","description":"The OAuth 2.0 client ID that was created for the app used for authentication.\n"},"clientSecretSettingName":{"type":"string","description":"The app setting name containing the OAuth 2.0 client secret that was created for the app used for authentication.\n"},"issuerEndpoint":{"type":"string","description":"The endpoint that issued the Token as supplied by \u003cspan pulumi-lang-nodejs=\"`openidConfigurationEndpoint`\" pulumi-lang-dotnet=\"`OpenidConfigurationEndpoint`\" pulumi-lang-go=\"`openidConfigurationEndpoint`\" pulumi-lang-python=\"`openid_configuration_endpoint`\" pulumi-lang-yaml=\"`openidConfigurationEndpoint`\" pulumi-lang-java=\"`openidConfigurationEndpoint`\"\u003e`openid_configuration_endpoint`\u003c/span\u003e response.\n"},"name":{"type":"string","description":"The name of this Windows Function App.\n"},"nameClaimType":{"type":"string","description":"The name of the claim that contains the users name.\n"},"openidConfigurationEndpoint":{"type":"string","description":"The endpoint used for OpenID Connect Discovery. For example `https://example.com/.well-known/openid-configuration`.\n"},"scopes":{"type":"array","items":{"type":"string"},"description":"The list of the scopes that are requested while authenticating.\n"},"tokenEndpoint":{"type":"string","description":"The endpoint used to request a Token as supplied by \u003cspan pulumi-lang-nodejs=\"`openidConfigurationEndpoint`\" pulumi-lang-dotnet=\"`OpenidConfigurationEndpoint`\" pulumi-lang-go=\"`openidConfigurationEndpoint`\" pulumi-lang-python=\"`openid_configuration_endpoint`\" pulumi-lang-yaml=\"`openidConfigurationEndpoint`\" pulumi-lang-java=\"`openidConfigurationEndpoint`\"\u003e`openid_configuration_endpoint`\u003c/span\u003e response.\n"}},"type":"object","required":["authorisationEndpoint","certificationUri","clientCredentialMethod","clientId","clientSecretSettingName","issuerEndpoint","name","nameClaimType","openidConfigurationEndpoint","scopes","tokenEndpoint"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appservice/getWindowsFunctionAppAuthSettingsV2FacebookV2:getWindowsFunctionAppAuthSettingsV2FacebookV2":{"properties":{"appId":{"type":"string","description":"The App ID of the Facebook app used for login.\n"},"appSecretSettingName":{"type":"string","description":"The app setting name that contains the \u003cspan pulumi-lang-nodejs=\"`appSecret`\" pulumi-lang-dotnet=\"`AppSecret`\" pulumi-lang-go=\"`appSecret`\" pulumi-lang-python=\"`app_secret`\" pulumi-lang-yaml=\"`appSecret`\" pulumi-lang-java=\"`appSecret`\"\u003e`app_secret`\u003c/span\u003e value used for Facebook Login.\n"},"graphApiVersion":{"type":"string","description":"The version of the Facebook API to be used while logging in.\n"},"loginScopes":{"type":"array","items":{"type":"string"},"description":"The list of Login scopes that are requested as part of Microsoft Account authentication.\n"}},"type":"object","required":["appId","appSecretSettingName","graphApiVersion","loginScopes"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appservice/getWindowsFunctionAppAuthSettingsV2GithubV2:getWindowsFunctionAppAuthSettingsV2GithubV2":{"properties":{"clientId":{"type":"string","description":"The OAuth 2.0 client ID that was created for the app used for authentication.\n"},"clientSecretSettingName":{"type":"string","description":"The app setting name containing the OAuth 2.0 client secret that was created for the app used for authentication.\n"},"loginScopes":{"type":"array","items":{"type":"string"},"description":"The list of Login scopes that are requested as part of Microsoft Account authentication.\n"}},"type":"object","required":["clientId","clientSecretSettingName","loginScopes"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appservice/getWindowsFunctionAppAuthSettingsV2GoogleV2:getWindowsFunctionAppAuthSettingsV2GoogleV2":{"properties":{"allowedAudiences":{"type":"array","items":{"type":"string"},"description":"The list of Allowed Audiences that are be requested as part of Microsoft Sign-In authentication.\n"},"clientId":{"type":"string","description":"The OAuth 2.0 client ID that was created for the app used for authentication.\n"},"clientSecretSettingName":{"type":"string","description":"The app setting name containing the OAuth 2.0 client secret that was created for the app used for authentication.\n"},"loginScopes":{"type":"array","items":{"type":"string"},"description":"The list of Login scopes that are requested as part of Microsoft Account authentication.\n"}},"type":"object","required":["allowedAudiences","clientId","clientSecretSettingName","loginScopes"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appservice/getWindowsFunctionAppAuthSettingsV2Login:getWindowsFunctionAppAuthSettingsV2Login":{"properties":{"allowedExternalRedirectUrls":{"type":"array","items":{"type":"string"},"description":"External URLs that can be redirected to as part of logging in or logging out of the app.\n"},"cookieExpirationConvention":{"type":"string","description":"The method by which cookies expire.\n"},"cookieExpirationTime":{"type":"string","description":"The time after the request is made when the session cookie should expire.\n"},"logoutEndpoint":{"type":"string","description":"The endpoint to which logout requests are made.\n"},"nonceExpirationTime":{"type":"string","description":"The time after the request is made when the nonce should expire.\n"},"preserveUrlFragmentsForLogins":{"type":"boolean","description":"Are the fragments from the request preserved after the login request is made.\n"},"tokenRefreshExtensionTime":{"type":"number","description":"The number of hours after session token expiration that a session token can be used to call the token refresh API.\n"},"tokenStoreEnabled":{"type":"boolean","description":"Is the Token Store configuration Enabled.\n"},"tokenStorePath":{"type":"string","description":"The directory path in the App Filesystem in which the tokens are stored.\n"},"tokenStoreSasSettingName":{"type":"string","description":"The name of the app setting which contains the SAS URL of the blob storage containing the tokens.\n"},"validateNonce":{"type":"boolean","description":"Is the nonce validated while completing the login flow.\n"}},"type":"object","required":["allowedExternalRedirectUrls","cookieExpirationConvention","cookieExpirationTime","logoutEndpoint","nonceExpirationTime","preserveUrlFragmentsForLogins","tokenRefreshExtensionTime","tokenStoreEnabled","tokenStorePath","tokenStoreSasSettingName","validateNonce"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appservice/getWindowsFunctionAppAuthSettingsV2MicrosoftV2:getWindowsFunctionAppAuthSettingsV2MicrosoftV2":{"properties":{"allowedAudiences":{"type":"array","items":{"type":"string"},"description":"The list of Allowed Audiences that are be requested as part of Microsoft Sign-In authentication.\n"},"clientId":{"type":"string","description":"The OAuth 2.0 client ID that was created for the app used for authentication.\n"},"clientSecretSettingName":{"type":"string","description":"The app setting name containing the OAuth 2.0 client secret that was created for the app used for authentication.\n"},"loginScopes":{"type":"array","items":{"type":"string"},"description":"The list of Login scopes that are requested as part of Microsoft Account authentication.\n"}},"type":"object","required":["allowedAudiences","clientId","clientSecretSettingName","loginScopes"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appservice/getWindowsFunctionAppAuthSettingsV2TwitterV2:getWindowsFunctionAppAuthSettingsV2TwitterV2":{"properties":{"consumerKey":{"type":"string","description":"The OAuth 1.0a consumer key of the Twitter application used for sign-in.\n"},"consumerSecretSettingName":{"type":"string","description":"The app setting name that contains the OAuth 1.0a consumer secret of the Twitter application used for sign-in.\n"}},"type":"object","required":["consumerKey","consumerSecretSettingName"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appservice/getWindowsFunctionAppBackup:getWindowsFunctionAppBackup":{"properties":{"enabled":{"type":"boolean","description":"Is the Backup Job enabled?\n"},"name":{"type":"string","description":"The name of this Windows Function App.\n"},"schedules":{"type":"array","items":{"$ref":"#/types/azure:appservice/getWindowsFunctionAppBackupSchedule:getWindowsFunctionAppBackupSchedule"},"description":"A \u003cspan pulumi-lang-nodejs=\"`schedule`\" pulumi-lang-dotnet=\"`Schedule`\" pulumi-lang-go=\"`schedule`\" pulumi-lang-python=\"`schedule`\" pulumi-lang-yaml=\"`schedule`\" pulumi-lang-java=\"`schedule`\"\u003e`schedule`\u003c/span\u003e block as defined below.\n"},"storageAccountUrl":{"type":"string","description":"The SAS URL to the container.\n","secret":true}},"type":"object","required":["enabled","name","schedules","storageAccountUrl"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appservice/getWindowsFunctionAppBackupSchedule:getWindowsFunctionAppBackupSchedule":{"properties":{"frequencyInterval":{"type":"integer","description":"How often the backup is executed.\n"},"frequencyUnit":{"type":"string","description":"The unit of time the backup should take place.\n"},"keepAtLeastOneBackup":{"type":"boolean","description":"Should the service keep at least one backup.\n"},"lastExecutionTime":{"type":"string","description":"The time the backup was last attempted.\n"},"retentionPeriodDays":{"type":"integer","description":"After how many days backups is deleted.\n"},"startTime":{"type":"string","description":"When the schedule should start working in RFC-3339 format.\n"}},"type":"object","required":["frequencyInterval","frequencyUnit","keepAtLeastOneBackup","lastExecutionTime","retentionPeriodDays","startTime"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appservice/getWindowsFunctionAppConnectionString:getWindowsFunctionAppConnectionString":{"properties":{"name":{"type":"string","description":"The name of this Windows Function App.\n"},"type":{"type":"string","description":"The type of Managed Service Identity that is configured on this Windows Function App.\n"},"value":{"type":"string","description":"The connection string value.\n","secret":true}},"type":"object","required":["name","type","value"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appservice/getWindowsFunctionAppIdentity:getWindowsFunctionAppIdentity":{"properties":{"identityIds":{"type":"array","items":{"type":"string"},"description":"The list of User Assigned Managed Identity IDs assigned to this Windows Function App.\n"},"principalId":{"type":"string","description":"The Principal ID of the System Assigned Managed Service Identity that is configured on this Windows Function App.\n"},"tenantId":{"type":"string","description":"The Tenant ID of the System Assigned Managed Service Identity that is configured on this Windows Function App.\n"},"type":{"type":"string","description":"The type of Managed Service Identity that is configured on this Windows Function App.\n"}},"type":"object","required":["identityIds","principalId","tenantId","type"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appservice/getWindowsFunctionAppSiteConfig:getWindowsFunctionAppSiteConfig":{"properties":{"alwaysOn":{"type":"boolean","description":"Is this Windows Function App Always On?.\n"},"apiDefinitionUrl":{"type":"string","description":"The URL of the API definition that describes this Windows Function App.\n"},"apiManagementApiId":{"type":"string","description":"The ID of the API Management API for this Windows Function App.\n"},"appCommandLine":{"type":"string","description":"The App command line to launch.\n"},"appScaleLimit":{"type":"integer","description":"The number of workers this function app can scale out to.\n"},"appServiceLogs":{"type":"array","items":{"$ref":"#/types/azure:appservice/getWindowsFunctionAppSiteConfigAppServiceLog:getWindowsFunctionAppSiteConfigAppServiceLog"},"description":"A \u003cspan pulumi-lang-nodejs=\"`appServiceLogs`\" pulumi-lang-dotnet=\"`AppServiceLogs`\" pulumi-lang-go=\"`appServiceLogs`\" pulumi-lang-python=\"`app_service_logs`\" pulumi-lang-yaml=\"`appServiceLogs`\" pulumi-lang-java=\"`appServiceLogs`\"\u003e`app_service_logs`\u003c/span\u003e block as defined above.\n"},"applicationInsightsConnectionString":{"type":"string","description":"The Connection String for linking the Windows Function App to Application Insights.\n","secret":true},"applicationInsightsKey":{"type":"string","description":"The Instrumentation Key for connecting the Windows Function App to Application Insights.\n"},"applicationStacks":{"type":"array","items":{"$ref":"#/types/azure:appservice/getWindowsFunctionAppSiteConfigApplicationStack:getWindowsFunctionAppSiteConfigApplicationStack"},"description":"A \u003cspan pulumi-lang-nodejs=\"`applicationStack`\" pulumi-lang-dotnet=\"`ApplicationStack`\" pulumi-lang-go=\"`applicationStack`\" pulumi-lang-python=\"`application_stack`\" pulumi-lang-yaml=\"`applicationStack`\" pulumi-lang-java=\"`applicationStack`\"\u003e`application_stack`\u003c/span\u003e block as defined above.\n"},"cors":{"type":"array","items":{"$ref":"#/types/azure:appservice/getWindowsFunctionAppSiteConfigCor:getWindowsFunctionAppSiteConfigCor"},"description":"A \u003cspan pulumi-lang-nodejs=\"`cors`\" pulumi-lang-dotnet=\"`Cors`\" pulumi-lang-go=\"`cors`\" pulumi-lang-python=\"`cors`\" pulumi-lang-yaml=\"`cors`\" pulumi-lang-java=\"`cors`\"\u003e`cors`\u003c/span\u003e block as defined above.\n"},"defaultDocuments":{"type":"array","items":{"type":"string"},"description":"A list of Default Documents for the Windows Web App.\n"},"detailedErrorLoggingEnabled":{"type":"boolean","description":"Is detailed error logging enabled?\n"},"elasticInstanceMinimum":{"type":"integer","description":"The number of minimum instances for this Windows Function App.\n"},"ftpsState":{"type":"string","description":"State of FTP / FTPS service for this Windows Function App.\n"},"healthCheckEvictionTimeInMin":{"type":"integer","description":"The amount of time in minutes that a node can be unhealthy before being removed from the load balancer.\n"},"healthCheckPath":{"type":"string","description":"The path to be checked for this Windows Function App health.\n"},"http2Enabled":{"type":"boolean","description":"Is the HTTP2 protocol enabled?\n"},"ipRestrictionDefaultAction":{"type":"string","description":"The Default action for traffic that does not match any \u003cspan pulumi-lang-nodejs=\"`ipRestriction`\" pulumi-lang-dotnet=\"`IpRestriction`\" pulumi-lang-go=\"`ipRestriction`\" pulumi-lang-python=\"`ip_restriction`\" pulumi-lang-yaml=\"`ipRestriction`\" pulumi-lang-java=\"`ipRestriction`\"\u003e`ip_restriction`\u003c/span\u003e rule.\n"},"ipRestrictions":{"type":"array","items":{"$ref":"#/types/azure:appservice/getWindowsFunctionAppSiteConfigIpRestriction:getWindowsFunctionAppSiteConfigIpRestriction"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`ipRestriction`\" pulumi-lang-dotnet=\"`IpRestriction`\" pulumi-lang-go=\"`ipRestriction`\" pulumi-lang-python=\"`ip_restriction`\" pulumi-lang-yaml=\"`ipRestriction`\" pulumi-lang-java=\"`ipRestriction`\"\u003e`ip_restriction`\u003c/span\u003e blocks as defined above.\n"},"loadBalancingMode":{"type":"string","description":"The Site load balancing mode.\n"},"managedPipelineMode":{"type":"string","description":"The Managed pipeline mode.\n"},"minimumTlsVersion":{"type":"string","description":"The minimum version of TLS required for SSL requests.\n"},"preWarmedInstanceCount":{"type":"integer","description":"The number of pre-warmed instances for this Windows Function App.\n"},"remoteDebuggingEnabled":{"type":"boolean","description":"Is Remote Debugging enabled?\n"},"remoteDebuggingVersion":{"type":"string","description":"The Remote Debugging Version.\n"},"runtimeScaleMonitoringEnabled":{"type":"boolean","description":"Is Scale Monitoring of the Functions Runtime enabled?\n"},"scmIpRestrictionDefaultAction":{"type":"string","description":"The Default action for traffic that does not match any \u003cspan pulumi-lang-nodejs=\"`scmIpRestriction`\" pulumi-lang-dotnet=\"`ScmIpRestriction`\" pulumi-lang-go=\"`scmIpRestriction`\" pulumi-lang-python=\"`scm_ip_restriction`\" pulumi-lang-yaml=\"`scmIpRestriction`\" pulumi-lang-java=\"`scmIpRestriction`\"\u003e`scm_ip_restriction`\u003c/span\u003e rule.\n"},"scmIpRestrictions":{"type":"array","items":{"$ref":"#/types/azure:appservice/getWindowsFunctionAppSiteConfigScmIpRestriction:getWindowsFunctionAppSiteConfigScmIpRestriction"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`scmIpRestriction`\" pulumi-lang-dotnet=\"`ScmIpRestriction`\" pulumi-lang-go=\"`scmIpRestriction`\" pulumi-lang-python=\"`scm_ip_restriction`\" pulumi-lang-yaml=\"`scmIpRestriction`\" pulumi-lang-java=\"`scmIpRestriction`\"\u003e`scm_ip_restriction`\u003c/span\u003e blocks as defined above.\n"},"scmMinimumTlsVersion":{"type":"string","description":"The minimum version of TLS required for SSL requests to the SCM site.\n"},"scmType":{"type":"string","description":"The SCM type.\n"},"scmUseMainIpRestriction":{"type":"boolean","description":"Is the \u003cspan pulumi-lang-nodejs=\"`ipRestriction`\" pulumi-lang-dotnet=\"`IpRestriction`\" pulumi-lang-go=\"`ipRestriction`\" pulumi-lang-python=\"`ip_restriction`\" pulumi-lang-yaml=\"`ipRestriction`\" pulumi-lang-java=\"`ipRestriction`\"\u003e`ip_restriction`\u003c/span\u003e configuration used for the SCM?.\n"},"use32BitWorker":{"type":"boolean","description":"Is the Windows Function App using a 32-bit worker process?\n"},"vnetRouteAllEnabled":{"type":"boolean","description":"Are all outbound traffic to NAT Gateways, Network Security Groups and User Defined Routes applied?\n"},"websocketsEnabled":{"type":"boolean","description":"Are Web Sockets enabled?\n"},"windowsFxVersion":{"type":"string","description":"The Windows FX version.\n"},"workerCount":{"type":"integer","description":"The number of Workers for this Windows Function App.\n"}},"type":"object","required":["alwaysOn","apiDefinitionUrl","apiManagementApiId","appCommandLine","appScaleLimit","appServiceLogs","applicationInsightsConnectionString","applicationInsightsKey","applicationStacks","cors","defaultDocuments","detailedErrorLoggingEnabled","elasticInstanceMinimum","ftpsState","healthCheckEvictionTimeInMin","healthCheckPath","http2Enabled","ipRestrictions","ipRestrictionDefaultAction","loadBalancingMode","managedPipelineMode","minimumTlsVersion","preWarmedInstanceCount","remoteDebuggingEnabled","remoteDebuggingVersion","runtimeScaleMonitoringEnabled","scmIpRestrictions","scmIpRestrictionDefaultAction","scmMinimumTlsVersion","scmType","scmUseMainIpRestriction","use32BitWorker","vnetRouteAllEnabled","websocketsEnabled","windowsFxVersion","workerCount"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appservice/getWindowsFunctionAppSiteConfigAppServiceLog:getWindowsFunctionAppSiteConfigAppServiceLog":{"properties":{"diskQuotaMb":{"type":"integer","description":"The amount of disk space to use for logs.\n"},"retentionPeriodDays":{"type":"integer","description":"After how many days backups is deleted.\n"}},"type":"object","required":["diskQuotaMb","retentionPeriodDays"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appservice/getWindowsFunctionAppSiteConfigApplicationStack:getWindowsFunctionAppSiteConfigApplicationStack":{"properties":{"dotnetVersion":{"type":"string","description":"The version of .Net to use.\n"},"javaVersion":{"type":"string","description":"The version of Java to use.\n"},"nodeVersion":{"type":"string","description":"The version of Node to use.\n"},"powershellCoreVersion":{"type":"string","description":"The version of PowerShell Core to use.\n"},"useCustomRuntime":{"type":"boolean","description":"Is the Windows Function App using a custom runtime?.\n"},"useDotnetIsolatedRuntime":{"type":"boolean"}},"type":"object","required":["dotnetVersion","javaVersion","nodeVersion","powershellCoreVersion","useCustomRuntime","useDotnetIsolatedRuntime"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appservice/getWindowsFunctionAppSiteConfigCor:getWindowsFunctionAppSiteConfigCor":{"properties":{"allowedOrigins":{"type":"array","items":{"type":"string"},"description":"A list of origins that should be allowed to make cross-origin calls.\n"},"supportCredentials":{"type":"boolean","description":"Are credentials allows in CORS requests?.\n"}},"type":"object","required":["allowedOrigins","supportCredentials"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appservice/getWindowsFunctionAppSiteConfigIpRestriction:getWindowsFunctionAppSiteConfigIpRestriction":{"properties":{"action":{"type":"string","description":"The action to take.\n"},"description":{"type":"string","description":"The description of the ip restriction rule.\n"},"headers":{"type":"array","items":{"$ref":"#/types/azure:appservice/getWindowsFunctionAppSiteConfigIpRestrictionHeader:getWindowsFunctionAppSiteConfigIpRestrictionHeader"}},"ipAddress":{"type":"string","description":"The CIDR notation of the IP or IP Range to match.\n"},"name":{"type":"string","description":"The name of this Windows Function App.\n"},"priority":{"type":"integer","description":"The priority value of this \u003cspan pulumi-lang-nodejs=\"`ipRestriction`\" pulumi-lang-dotnet=\"`IpRestriction`\" pulumi-lang-go=\"`ipRestriction`\" pulumi-lang-python=\"`ip_restriction`\" pulumi-lang-yaml=\"`ipRestriction`\" pulumi-lang-java=\"`ipRestriction`\"\u003e`ip_restriction`\u003c/span\u003e.\n"},"serviceTag":{"type":"string","description":"The Service Tag used for this IP Restriction.\n"},"virtualNetworkSubnetId":{"type":"string","description":"The subnet id which the Windows Function App is vNet Integrated with.\n"}},"type":"object","required":["action","description","headers","ipAddress","name","priority","serviceTag","virtualNetworkSubnetId"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appservice/getWindowsFunctionAppSiteConfigIpRestrictionHeader:getWindowsFunctionAppSiteConfigIpRestrictionHeader":{"properties":{"xAzureFdids":{"type":"array","items":{"type":"string"},"description":"The list of Azure Front Door IDs.\n"},"xFdHealthProbes":{"type":"array","items":{"type":"string"},"description":"Specifies if a Front Door Health Probe is expected.\n"},"xForwardedFors":{"type":"array","items":{"type":"string"},"description":"The list of addresses for which matching is applied.\n"},"xForwardedHosts":{"type":"array","items":{"type":"string"},"description":"The list of Hosts for which matching will be applied.\n"}},"type":"object","required":["xAzureFdids","xFdHealthProbes","xForwardedFors","xForwardedHosts"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appservice/getWindowsFunctionAppSiteConfigScmIpRestriction:getWindowsFunctionAppSiteConfigScmIpRestriction":{"properties":{"action":{"type":"string","description":"The action to take.\n"},"description":{"type":"string","description":"The description of the ip restriction rule.\n"},"headers":{"type":"array","items":{"$ref":"#/types/azure:appservice/getWindowsFunctionAppSiteConfigScmIpRestrictionHeader:getWindowsFunctionAppSiteConfigScmIpRestrictionHeader"}},"ipAddress":{"type":"string","description":"The CIDR notation of the IP or IP Range to match.\n"},"name":{"type":"string","description":"The name of this Windows Function App.\n"},"priority":{"type":"integer","description":"The priority value of this \u003cspan pulumi-lang-nodejs=\"`ipRestriction`\" pulumi-lang-dotnet=\"`IpRestriction`\" pulumi-lang-go=\"`ipRestriction`\" pulumi-lang-python=\"`ip_restriction`\" pulumi-lang-yaml=\"`ipRestriction`\" pulumi-lang-java=\"`ipRestriction`\"\u003e`ip_restriction`\u003c/span\u003e.\n"},"serviceTag":{"type":"string","description":"The Service Tag used for this IP Restriction.\n"},"virtualNetworkSubnetId":{"type":"string","description":"The subnet id which the Windows Function App is vNet Integrated with.\n"}},"type":"object","required":["action","description","headers","ipAddress","name","priority","serviceTag","virtualNetworkSubnetId"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appservice/getWindowsFunctionAppSiteConfigScmIpRestrictionHeader:getWindowsFunctionAppSiteConfigScmIpRestrictionHeader":{"properties":{"xAzureFdids":{"type":"array","items":{"type":"string"},"description":"The list of Azure Front Door IDs.\n"},"xFdHealthProbes":{"type":"array","items":{"type":"string"},"description":"Specifies if a Front Door Health Probe is expected.\n"},"xForwardedFors":{"type":"array","items":{"type":"string"},"description":"The list of addresses for which matching is applied.\n"},"xForwardedHosts":{"type":"array","items":{"type":"string"},"description":"The list of Hosts for which matching will be applied.\n"}},"type":"object","required":["xAzureFdids","xFdHealthProbes","xForwardedFors","xForwardedHosts"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appservice/getWindowsFunctionAppSiteCredential:getWindowsFunctionAppSiteCredential":{"properties":{"name":{"type":"string","description":"The name of this Windows Function App.\n","secret":true},"password":{"type":"string","description":"The Site Credentials Password used for publishing.\n","secret":true}},"type":"object","required":["name","password"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appservice/getWindowsFunctionAppStickySetting:getWindowsFunctionAppStickySetting":{"properties":{"appSettingNames":{"type":"array","items":{"type":"string"},"description":"A list of \u003cspan pulumi-lang-nodejs=\"`appSetting`\" pulumi-lang-dotnet=\"`AppSetting`\" pulumi-lang-go=\"`appSetting`\" pulumi-lang-python=\"`app_setting`\" pulumi-lang-yaml=\"`appSetting`\" pulumi-lang-java=\"`appSetting`\"\u003e`app_setting`\u003c/span\u003e names that the Windows Function App will not swap between Slots when a swap operation is triggered.\n"},"connectionStringNames":{"type":"array","items":{"type":"string"},"description":"A list of \u003cspan pulumi-lang-nodejs=\"`connectionString`\" pulumi-lang-dotnet=\"`ConnectionString`\" pulumi-lang-go=\"`connectionString`\" pulumi-lang-python=\"`connection_string`\" pulumi-lang-yaml=\"`connectionString`\" pulumi-lang-java=\"`connectionString`\"\u003e`connection_string`\u003c/span\u003e names that the Windows Function App will not swap between Slots when a swap operation is triggered.\n"}},"type":"object","required":["appSettingNames","connectionStringNames"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appservice/getWindowsWebAppAuthSetting:getWindowsWebAppAuthSetting":{"properties":{"activeDirectories":{"type":"array","items":{"$ref":"#/types/azure:appservice/getWindowsWebAppAuthSettingActiveDirectory:getWindowsWebAppAuthSettingActiveDirectory"},"description":"A \u003cspan pulumi-lang-nodejs=\"`activeDirectory`\" pulumi-lang-dotnet=\"`ActiveDirectory`\" pulumi-lang-go=\"`activeDirectory`\" pulumi-lang-python=\"`active_directory`\" pulumi-lang-yaml=\"`activeDirectory`\" pulumi-lang-java=\"`activeDirectory`\"\u003e`active_directory`\u003c/span\u003e block as defined above.\n"},"additionalLoginParameters":{"type":"object","additionalProperties":{"type":"string"},"description":"A \u003cspan pulumi-lang-nodejs=\"`additionalLoginParameters`\" pulumi-lang-dotnet=\"`AdditionalLoginParameters`\" pulumi-lang-go=\"`additionalLoginParameters`\" pulumi-lang-python=\"`additional_login_parameters`\" pulumi-lang-yaml=\"`additionalLoginParameters`\" pulumi-lang-java=\"`additionalLoginParameters`\"\u003e`additional_login_parameters`\u003c/span\u003e block as defined above.\n"},"allowedExternalRedirectUrls":{"type":"array","items":{"type":"string"},"description":"External URLs that can be redirected to as part of logging in or logging out of the app.\n"},"defaultProvider":{"type":"string","description":"The Default Authentication Provider used when more than one Authentication Provider is configured and the \u003cspan pulumi-lang-nodejs=\"`unauthenticatedAction`\" pulumi-lang-dotnet=\"`UnauthenticatedAction`\" pulumi-lang-go=\"`unauthenticatedAction`\" pulumi-lang-python=\"`unauthenticated_action`\" pulumi-lang-yaml=\"`unauthenticatedAction`\" pulumi-lang-java=\"`unauthenticatedAction`\"\u003e`unauthenticated_action`\u003c/span\u003e is set to `RedirectToLoginPage`.\n"},"enabled":{"type":"boolean","description":"Is the Backup enabled?\n"},"facebooks":{"type":"array","items":{"$ref":"#/types/azure:appservice/getWindowsWebAppAuthSettingFacebook:getWindowsWebAppAuthSettingFacebook"},"description":"A \u003cspan pulumi-lang-nodejs=\"`facebook`\" pulumi-lang-dotnet=\"`Facebook`\" pulumi-lang-go=\"`facebook`\" pulumi-lang-python=\"`facebook`\" pulumi-lang-yaml=\"`facebook`\" pulumi-lang-java=\"`facebook`\"\u003e`facebook`\u003c/span\u003e block as defined below.\n"},"githubs":{"type":"array","items":{"$ref":"#/types/azure:appservice/getWindowsWebAppAuthSettingGithub:getWindowsWebAppAuthSettingGithub"},"description":"A \u003cspan pulumi-lang-nodejs=\"`github`\" pulumi-lang-dotnet=\"`Github`\" pulumi-lang-go=\"`github`\" pulumi-lang-python=\"`github`\" pulumi-lang-yaml=\"`github`\" pulumi-lang-java=\"`github`\"\u003e`github`\u003c/span\u003e block as defined below.\n"},"googles":{"type":"array","items":{"$ref":"#/types/azure:appservice/getWindowsWebAppAuthSettingGoogle:getWindowsWebAppAuthSettingGoogle"},"description":"A \u003cspan pulumi-lang-nodejs=\"`google`\" pulumi-lang-dotnet=\"`Google`\" pulumi-lang-go=\"`google`\" pulumi-lang-python=\"`google`\" pulumi-lang-yaml=\"`google`\" pulumi-lang-java=\"`google`\"\u003e`google`\u003c/span\u003e block as defined below.\n"},"issuer":{"type":"string","description":"The OpenID Connect Issuer URI that represents the entity which issues access tokens for this Windows Web App.\n"},"microsofts":{"type":"array","items":{"$ref":"#/types/azure:appservice/getWindowsWebAppAuthSettingMicrosoft:getWindowsWebAppAuthSettingMicrosoft"},"description":"A \u003cspan pulumi-lang-nodejs=\"`microsoft`\" pulumi-lang-dotnet=\"`Microsoft`\" pulumi-lang-go=\"`microsoft`\" pulumi-lang-python=\"`microsoft`\" pulumi-lang-yaml=\"`microsoft`\" pulumi-lang-java=\"`microsoft`\"\u003e`microsoft`\u003c/span\u003e block as defined below.\n"},"runtimeVersion":{"type":"string","description":"The Runtime Version of the Authentication and Authorisation feature of this App.\n"},"tokenRefreshExtensionHours":{"type":"number","description":"The number of hours after session token expiration that a session token can be used to call the token refresh API.\n"},"tokenStoreEnabled":{"type":"boolean","description":"Is the Token Store configuration Enabled.\n"},"twitters":{"type":"array","items":{"$ref":"#/types/azure:appservice/getWindowsWebAppAuthSettingTwitter:getWindowsWebAppAuthSettingTwitter"},"description":"A \u003cspan pulumi-lang-nodejs=\"`twitter`\" pulumi-lang-dotnet=\"`Twitter`\" pulumi-lang-go=\"`twitter`\" pulumi-lang-python=\"`twitter`\" pulumi-lang-yaml=\"`twitter`\" pulumi-lang-java=\"`twitter`\"\u003e`twitter`\u003c/span\u003e block as defined below.\n"},"unauthenticatedClientAction":{"type":"string","description":"The action to take when an unauthenticated client attempts to access the app.\n"}},"type":"object","required":["activeDirectories","additionalLoginParameters","allowedExternalRedirectUrls","defaultProvider","enabled","facebooks","githubs","googles","issuer","microsofts","runtimeVersion","tokenRefreshExtensionHours","tokenStoreEnabled","twitters","unauthenticatedClientAction"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appservice/getWindowsWebAppAuthSettingActiveDirectory:getWindowsWebAppAuthSettingActiveDirectory":{"properties":{"allowedAudiences":{"type":"array","items":{"type":"string"},"description":"The list of Allowed Audiences that are be requested as part of Microsoft Sign-In authentication.\n"},"clientId":{"type":"string","description":"The OAuth 2.0 client ID used by the app for authentication.\n"},"clientSecret":{"type":"string","description":"The OAuth 2.0 client secret used by the app for authentication.\n","secret":true},"clientSecretSettingName":{"type":"string","description":"The app setting name containing the OAuth 2.0 client secret used by the app for authentication.\n"}},"type":"object","required":["allowedAudiences","clientId","clientSecret","clientSecretSettingName"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appservice/getWindowsWebAppAuthSettingFacebook:getWindowsWebAppAuthSettingFacebook":{"properties":{"appId":{"type":"string","description":"The App ID of the Facebook app used for login.\n"},"appSecret":{"type":"string","description":"The App Secret of the Facebook app used for Facebook login.\n","secret":true},"appSecretSettingName":{"type":"string","description":"The app setting name that contains the \u003cspan pulumi-lang-nodejs=\"`appSecret`\" pulumi-lang-dotnet=\"`AppSecret`\" pulumi-lang-go=\"`appSecret`\" pulumi-lang-python=\"`app_secret`\" pulumi-lang-yaml=\"`appSecret`\" pulumi-lang-java=\"`appSecret`\"\u003e`app_secret`\u003c/span\u003e value used for Facebook login.\n"},"oauthScopes":{"type":"array","items":{"type":"string"},"description":"A list of OAuth 2.0 scopes requested as part of Microsoft Account authentication.\n"}},"type":"object","required":["appId","appSecret","appSecretSettingName","oauthScopes"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appservice/getWindowsWebAppAuthSettingGithub:getWindowsWebAppAuthSettingGithub":{"properties":{"clientId":{"type":"string","description":"The OAuth 2.0 client ID used by the app for authentication.\n"},"clientSecret":{"type":"string","description":"The OAuth 2.0 client secret used by the app for authentication.\n","secret":true},"clientSecretSettingName":{"type":"string","description":"The app setting name containing the OAuth 2.0 client secret used by the app for authentication.\n"},"oauthScopes":{"type":"array","items":{"type":"string"},"description":"A list of OAuth 2.0 scopes requested as part of Microsoft Account authentication.\n"}},"type":"object","required":["clientId","clientSecret","clientSecretSettingName","oauthScopes"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appservice/getWindowsWebAppAuthSettingGoogle:getWindowsWebAppAuthSettingGoogle":{"properties":{"clientId":{"type":"string","description":"The OAuth 2.0 client ID used by the app for authentication.\n"},"clientSecret":{"type":"string","description":"The OAuth 2.0 client secret used by the app for authentication.\n","secret":true},"clientSecretSettingName":{"type":"string","description":"The app setting name containing the OAuth 2.0 client secret used by the app for authentication.\n"},"oauthScopes":{"type":"array","items":{"type":"string"},"description":"A list of OAuth 2.0 scopes requested as part of Microsoft Account authentication.\n"}},"type":"object","required":["clientId","clientSecret","clientSecretSettingName","oauthScopes"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appservice/getWindowsWebAppAuthSettingMicrosoft:getWindowsWebAppAuthSettingMicrosoft":{"properties":{"clientId":{"type":"string","description":"The OAuth 2.0 client ID used by the app for authentication.\n"},"clientSecret":{"type":"string","description":"The OAuth 2.0 client secret used by the app for authentication.\n","secret":true},"clientSecretSettingName":{"type":"string","description":"The app setting name containing the OAuth 2.0 client secret used by the app for authentication.\n"},"oauthScopes":{"type":"array","items":{"type":"string"},"description":"A list of OAuth 2.0 scopes requested as part of Microsoft Account authentication.\n"}},"type":"object","required":["clientId","clientSecret","clientSecretSettingName","oauthScopes"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appservice/getWindowsWebAppAuthSettingTwitter:getWindowsWebAppAuthSettingTwitter":{"properties":{"consumerKey":{"type":"string","description":"The OAuth 1.0a consumer key of the Twitter application used for sign-in.\n"},"consumerSecret":{"type":"string","description":"The OAuth 1.0a consumer secret of the Twitter application used for sign-in.\n","secret":true},"consumerSecretSettingName":{"type":"string","description":"The app setting name that contains the OAuth 1.0a consumer secret of the Twitter application used for sign-in.\n"}},"type":"object","required":["consumerKey","consumerSecret","consumerSecretSettingName"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appservice/getWindowsWebAppAuthSettingsV2:getWindowsWebAppAuthSettingsV2":{"properties":{"activeDirectoryV2s":{"type":"array","items":{"$ref":"#/types/azure:appservice/getWindowsWebAppAuthSettingsV2ActiveDirectoryV2:getWindowsWebAppAuthSettingsV2ActiveDirectoryV2"},"description":"An \u003cspan pulumi-lang-nodejs=\"`activeDirectoryV2`\" pulumi-lang-dotnet=\"`ActiveDirectoryV2`\" pulumi-lang-go=\"`activeDirectoryV2`\" pulumi-lang-python=\"`active_directory_v2`\" pulumi-lang-yaml=\"`activeDirectoryV2`\" pulumi-lang-java=\"`activeDirectoryV2`\"\u003e`active_directory_v2`\u003c/span\u003e block as defined below.\n"},"appleV2s":{"type":"array","items":{"$ref":"#/types/azure:appservice/getWindowsWebAppAuthSettingsV2AppleV2:getWindowsWebAppAuthSettingsV2AppleV2"},"description":"An \u003cspan pulumi-lang-nodejs=\"`appleV2`\" pulumi-lang-dotnet=\"`AppleV2`\" pulumi-lang-go=\"`appleV2`\" pulumi-lang-python=\"`apple_v2`\" pulumi-lang-yaml=\"`appleV2`\" pulumi-lang-java=\"`appleV2`\"\u003e`apple_v2`\u003c/span\u003e block as defined below.\n"},"authEnabled":{"type":"boolean","description":"Are the AuthV2 Settings enabled.\n"},"azureStaticWebAppV2s":{"type":"array","items":{"$ref":"#/types/azure:appservice/getWindowsWebAppAuthSettingsV2AzureStaticWebAppV2:getWindowsWebAppAuthSettingsV2AzureStaticWebAppV2"},"description":"An \u003cspan pulumi-lang-nodejs=\"`azureStaticWebAppV2`\" pulumi-lang-dotnet=\"`AzureStaticWebAppV2`\" pulumi-lang-go=\"`azureStaticWebAppV2`\" pulumi-lang-python=\"`azure_static_web_app_v2`\" pulumi-lang-yaml=\"`azureStaticWebAppV2`\" pulumi-lang-java=\"`azureStaticWebAppV2`\"\u003e`azure_static_web_app_v2`\u003c/span\u003e block as defined below.\n"},"configFilePath":{"type":"string","description":"The path to the App Auth settings.\n"},"customOidcV2s":{"type":"array","items":{"$ref":"#/types/azure:appservice/getWindowsWebAppAuthSettingsV2CustomOidcV2:getWindowsWebAppAuthSettingsV2CustomOidcV2"},"description":"Zero or more \u003cspan pulumi-lang-nodejs=\"`customOidcV2`\" pulumi-lang-dotnet=\"`CustomOidcV2`\" pulumi-lang-go=\"`customOidcV2`\" pulumi-lang-python=\"`custom_oidc_v2`\" pulumi-lang-yaml=\"`customOidcV2`\" pulumi-lang-java=\"`customOidcV2`\"\u003e`custom_oidc_v2`\u003c/span\u003e blocks as defined below.\n"},"defaultProvider":{"type":"string","description":"The Default Authentication Provider used when more than one Authentication Provider is configured and the \u003cspan pulumi-lang-nodejs=\"`unauthenticatedAction`\" pulumi-lang-dotnet=\"`UnauthenticatedAction`\" pulumi-lang-go=\"`unauthenticatedAction`\" pulumi-lang-python=\"`unauthenticated_action`\" pulumi-lang-yaml=\"`unauthenticatedAction`\" pulumi-lang-java=\"`unauthenticatedAction`\"\u003e`unauthenticated_action`\u003c/span\u003e is set to `RedirectToLoginPage`.\n"},"excludedPaths":{"type":"array","items":{"type":"string"},"description":"The paths which should be excluded from the \u003cspan pulumi-lang-nodejs=\"`unauthenticatedAction`\" pulumi-lang-dotnet=\"`UnauthenticatedAction`\" pulumi-lang-go=\"`unauthenticatedAction`\" pulumi-lang-python=\"`unauthenticated_action`\" pulumi-lang-yaml=\"`unauthenticatedAction`\" pulumi-lang-java=\"`unauthenticatedAction`\"\u003e`unauthenticated_action`\u003c/span\u003e when it is set to `RedirectToLoginPage`.\n"},"facebookV2s":{"type":"array","items":{"$ref":"#/types/azure:appservice/getWindowsWebAppAuthSettingsV2FacebookV2:getWindowsWebAppAuthSettingsV2FacebookV2"},"description":"A \u003cspan pulumi-lang-nodejs=\"`facebookV2`\" pulumi-lang-dotnet=\"`FacebookV2`\" pulumi-lang-go=\"`facebookV2`\" pulumi-lang-python=\"`facebook_v2`\" pulumi-lang-yaml=\"`facebookV2`\" pulumi-lang-java=\"`facebookV2`\"\u003e`facebook_v2`\u003c/span\u003e block as defined below.\n"},"forwardProxyConvention":{"type":"string","description":"The convention used to determine the url of the request made.\n"},"forwardProxyCustomHostHeaderName":{"type":"string","description":"The name of the custom header containing the host of the request.\n"},"forwardProxyCustomSchemeHeaderName":{"type":"string","description":"The name of the custom header containing the scheme of the request.\n"},"githubV2s":{"type":"array","items":{"$ref":"#/types/azure:appservice/getWindowsWebAppAuthSettingsV2GithubV2:getWindowsWebAppAuthSettingsV2GithubV2"},"description":"A \u003cspan pulumi-lang-nodejs=\"`githubV2`\" pulumi-lang-dotnet=\"`GithubV2`\" pulumi-lang-go=\"`githubV2`\" pulumi-lang-python=\"`github_v2`\" pulumi-lang-yaml=\"`githubV2`\" pulumi-lang-java=\"`githubV2`\"\u003e`github_v2`\u003c/span\u003e block as defined below.\n"},"googleV2s":{"type":"array","items":{"$ref":"#/types/azure:appservice/getWindowsWebAppAuthSettingsV2GoogleV2:getWindowsWebAppAuthSettingsV2GoogleV2"},"description":"A \u003cspan pulumi-lang-nodejs=\"`googleV2`\" pulumi-lang-dotnet=\"`GoogleV2`\" pulumi-lang-go=\"`googleV2`\" pulumi-lang-python=\"`google_v2`\" pulumi-lang-yaml=\"`googleV2`\" pulumi-lang-java=\"`googleV2`\"\u003e`google_v2`\u003c/span\u003e block as defined below.\n"},"httpRouteApiPrefix":{"type":"string","description":"The prefix that should precede all the authentication and authorisation paths.\n"},"logins":{"type":"array","items":{"$ref":"#/types/azure:appservice/getWindowsWebAppAuthSettingsV2Login:getWindowsWebAppAuthSettingsV2Login"},"description":"A \u003cspan pulumi-lang-nodejs=\"`login`\" pulumi-lang-dotnet=\"`Login`\" pulumi-lang-go=\"`login`\" pulumi-lang-python=\"`login`\" pulumi-lang-yaml=\"`login`\" pulumi-lang-java=\"`login`\"\u003e`login`\u003c/span\u003e block as defined below.\n"},"microsoftV2s":{"type":"array","items":{"$ref":"#/types/azure:appservice/getWindowsWebAppAuthSettingsV2MicrosoftV2:getWindowsWebAppAuthSettingsV2MicrosoftV2"},"description":"A \u003cspan pulumi-lang-nodejs=\"`microsoftV2`\" pulumi-lang-dotnet=\"`MicrosoftV2`\" pulumi-lang-go=\"`microsoftV2`\" pulumi-lang-python=\"`microsoft_v2`\" pulumi-lang-yaml=\"`microsoftV2`\" pulumi-lang-java=\"`microsoftV2`\"\u003e`microsoft_v2`\u003c/span\u003e block as defined below.\n"},"requireAuthentication":{"type":"boolean","description":"Is the authentication flow used for all requests.\n"},"requireHttps":{"type":"boolean","description":"Is HTTPS required on connections?\n"},"runtimeVersion":{"type":"string","description":"The Runtime Version of the Authentication and Authorisation feature of this App.\n"},"twitterV2s":{"type":"array","items":{"$ref":"#/types/azure:appservice/getWindowsWebAppAuthSettingsV2TwitterV2:getWindowsWebAppAuthSettingsV2TwitterV2"},"description":"A \u003cspan pulumi-lang-nodejs=\"`twitterV2`\" pulumi-lang-dotnet=\"`TwitterV2`\" pulumi-lang-go=\"`twitterV2`\" pulumi-lang-python=\"`twitter_v2`\" pulumi-lang-yaml=\"`twitterV2`\" pulumi-lang-java=\"`twitterV2`\"\u003e`twitter_v2`\u003c/span\u003e block as defined below.\n"},"unauthenticatedAction":{"type":"string","description":"The action to take for requests made without authentication.\n"}},"type":"object","required":["activeDirectoryV2s","appleV2s","authEnabled","azureStaticWebAppV2s","configFilePath","customOidcV2s","defaultProvider","excludedPaths","facebookV2s","forwardProxyConvention","forwardProxyCustomHostHeaderName","forwardProxyCustomSchemeHeaderName","githubV2s","googleV2s","httpRouteApiPrefix","logins","microsoftV2s","requireAuthentication","requireHttps","runtimeVersion","twitterV2s","unauthenticatedAction"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appservice/getWindowsWebAppAuthSettingsV2ActiveDirectoryV2:getWindowsWebAppAuthSettingsV2ActiveDirectoryV2":{"properties":{"allowedApplications":{"type":"array","items":{"type":"string"},"description":"The list of allowed Applications for the Default Authorisation Policy.\n"},"allowedAudiences":{"type":"array","items":{"type":"string"},"description":"The list of Allowed Audiences that are be requested as part of Microsoft Sign-In authentication.\n"},"allowedGroups":{"type":"array","items":{"type":"string"},"description":"The list of allowed Group Names for the Default Authorisation Policy.\n"},"allowedIdentities":{"type":"array","items":{"type":"string"},"description":"The list of allowed Identities for the Default Authorisation Policy.\n"},"clientId":{"type":"string","description":"The OAuth 2.0 client ID used by the app for authentication.\n"},"clientSecretCertificateThumbprint":{"type":"string","description":"The thumbprint of the certificate used for signing purposes.\n"},"clientSecretSettingName":{"type":"string","description":"The app setting name containing the OAuth 2.0 client secret used by the app for authentication.\n"},"jwtAllowedClientApplications":{"type":"array","items":{"type":"string"},"description":"The list of Allowed Client Applications in the JWT Claim.\n"},"jwtAllowedGroups":{"type":"array","items":{"type":"string"},"description":"The list of Allowed Groups in the JWT Claim.\n"},"loginParameters":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of key-value pairs sent to the Authorisation Endpoint when a user logs in.\n"},"tenantAuthEndpoint":{"type":"string","description":"The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/`\n"},"wwwAuthenticationDisabled":{"type":"boolean","description":"Is the www-authenticate provider omitted from the request?\n"}},"type":"object","required":["allowedApplications","allowedAudiences","allowedGroups","allowedIdentities","clientId","clientSecretCertificateThumbprint","clientSecretSettingName","jwtAllowedClientApplications","jwtAllowedGroups","loginParameters","tenantAuthEndpoint","wwwAuthenticationDisabled"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appservice/getWindowsWebAppAuthSettingsV2AppleV2:getWindowsWebAppAuthSettingsV2AppleV2":{"properties":{"clientId":{"type":"string","description":"The OAuth 2.0 client ID used by the app for authentication.\n"},"clientSecretSettingName":{"type":"string","description":"The app setting name containing the OAuth 2.0 client secret used by the app for authentication.\n"},"loginScopes":{"type":"array","items":{"type":"string"},"description":"The list of Login scopes that are requested as part of Microsoft Account authentication.\n"}},"type":"object","required":["clientId","clientSecretSettingName","loginScopes"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appservice/getWindowsWebAppAuthSettingsV2AzureStaticWebAppV2:getWindowsWebAppAuthSettingsV2AzureStaticWebAppV2":{"properties":{"clientId":{"type":"string","description":"The OAuth 2.0 client ID used by the app for authentication.\n"}},"type":"object","required":["clientId"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appservice/getWindowsWebAppAuthSettingsV2CustomOidcV2:getWindowsWebAppAuthSettingsV2CustomOidcV2":{"properties":{"authorisationEndpoint":{"type":"string","description":"The endpoint to make the Authorisation Request as supplied by \u003cspan pulumi-lang-nodejs=\"`openidConfigurationEndpoint`\" pulumi-lang-dotnet=\"`OpenidConfigurationEndpoint`\" pulumi-lang-go=\"`openidConfigurationEndpoint`\" pulumi-lang-python=\"`openid_configuration_endpoint`\" pulumi-lang-yaml=\"`openidConfigurationEndpoint`\" pulumi-lang-java=\"`openidConfigurationEndpoint`\"\u003e`openid_configuration_endpoint`\u003c/span\u003e response.\n"},"certificationUri":{"type":"string","description":"The endpoint that provides the keys necessary to validate the token as supplied by \u003cspan pulumi-lang-nodejs=\"`openidConfigurationEndpoint`\" pulumi-lang-dotnet=\"`OpenidConfigurationEndpoint`\" pulumi-lang-go=\"`openidConfigurationEndpoint`\" pulumi-lang-python=\"`openid_configuration_endpoint`\" pulumi-lang-yaml=\"`openidConfigurationEndpoint`\" pulumi-lang-java=\"`openidConfigurationEndpoint`\"\u003e`openid_configuration_endpoint`\u003c/span\u003e response.\n"},"clientCredentialMethod":{"type":"string","description":"The Client Credential Method used.\n"},"clientId":{"type":"string","description":"The OAuth 2.0 client ID used by the app for authentication.\n"},"clientSecretSettingName":{"type":"string","description":"The app setting name containing the OAuth 2.0 client secret used by the app for authentication.\n"},"issuerEndpoint":{"type":"string","description":"The endpoint that issued the Token as supplied by \u003cspan pulumi-lang-nodejs=\"`openidConfigurationEndpoint`\" pulumi-lang-dotnet=\"`OpenidConfigurationEndpoint`\" pulumi-lang-go=\"`openidConfigurationEndpoint`\" pulumi-lang-python=\"`openid_configuration_endpoint`\" pulumi-lang-yaml=\"`openidConfigurationEndpoint`\" pulumi-lang-java=\"`openidConfigurationEndpoint`\"\u003e`openid_configuration_endpoint`\u003c/span\u003e response.\n"},"name":{"type":"string","description":"The name of this Windows Web App.\n"},"nameClaimType":{"type":"string","description":"The name of the claim that contains the users name.\n"},"openidConfigurationEndpoint":{"type":"string","description":"The endpoint used for OpenID Connect Discovery. For example `https://example.com/.well-known/openid-configuration`.\n"},"scopes":{"type":"array","items":{"type":"string"},"description":"The list of the scopes that are requested while authenticating.\n"},"tokenEndpoint":{"type":"string","description":"The endpoint used to request a Token as supplied by \u003cspan pulumi-lang-nodejs=\"`openidConfigurationEndpoint`\" pulumi-lang-dotnet=\"`OpenidConfigurationEndpoint`\" pulumi-lang-go=\"`openidConfigurationEndpoint`\" pulumi-lang-python=\"`openid_configuration_endpoint`\" pulumi-lang-yaml=\"`openidConfigurationEndpoint`\" pulumi-lang-java=\"`openidConfigurationEndpoint`\"\u003e`openid_configuration_endpoint`\u003c/span\u003e response.\n"}},"type":"object","required":["authorisationEndpoint","certificationUri","clientCredentialMethod","clientId","clientSecretSettingName","issuerEndpoint","name","nameClaimType","openidConfigurationEndpoint","scopes","tokenEndpoint"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appservice/getWindowsWebAppAuthSettingsV2FacebookV2:getWindowsWebAppAuthSettingsV2FacebookV2":{"properties":{"appId":{"type":"string","description":"The App ID of the Facebook app used for login.\n"},"appSecretSettingName":{"type":"string","description":"The app setting name that contains the \u003cspan pulumi-lang-nodejs=\"`appSecret`\" pulumi-lang-dotnet=\"`AppSecret`\" pulumi-lang-go=\"`appSecret`\" pulumi-lang-python=\"`app_secret`\" pulumi-lang-yaml=\"`appSecret`\" pulumi-lang-java=\"`appSecret`\"\u003e`app_secret`\u003c/span\u003e value used for Facebook login.\n"},"graphApiVersion":{"type":"string","description":"The version of the Facebook API to be used while logging in.\n"},"loginScopes":{"type":"array","items":{"type":"string"},"description":"The list of Login scopes that are requested as part of Microsoft Account authentication.\n"}},"type":"object","required":["appId","appSecretSettingName","graphApiVersion","loginScopes"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appservice/getWindowsWebAppAuthSettingsV2GithubV2:getWindowsWebAppAuthSettingsV2GithubV2":{"properties":{"clientId":{"type":"string","description":"The OAuth 2.0 client ID used by the app for authentication.\n"},"clientSecretSettingName":{"type":"string","description":"The app setting name containing the OAuth 2.0 client secret used by the app for authentication.\n"},"loginScopes":{"type":"array","items":{"type":"string"},"description":"The list of Login scopes that are requested as part of Microsoft Account authentication.\n"}},"type":"object","required":["clientId","clientSecretSettingName","loginScopes"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appservice/getWindowsWebAppAuthSettingsV2GoogleV2:getWindowsWebAppAuthSettingsV2GoogleV2":{"properties":{"allowedAudiences":{"type":"array","items":{"type":"string"},"description":"The list of Allowed Audiences that are be requested as part of Microsoft Sign-In authentication.\n"},"clientId":{"type":"string","description":"The OAuth 2.0 client ID used by the app for authentication.\n"},"clientSecretSettingName":{"type":"string","description":"The app setting name containing the OAuth 2.0 client secret used by the app for authentication.\n"},"loginScopes":{"type":"array","items":{"type":"string"},"description":"The list of Login scopes that are requested as part of Microsoft Account authentication.\n"}},"type":"object","required":["allowedAudiences","clientId","clientSecretSettingName","loginScopes"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appservice/getWindowsWebAppAuthSettingsV2Login:getWindowsWebAppAuthSettingsV2Login":{"properties":{"allowedExternalRedirectUrls":{"type":"array","items":{"type":"string"},"description":"External URLs that can be redirected to as part of logging in or logging out of the app.\n"},"cookieExpirationConvention":{"type":"string","description":"The method by which cookies expire.\n"},"cookieExpirationTime":{"type":"string","description":"The time after the request is made when the session cookie should expire.\n"},"logoutEndpoint":{"type":"string","description":"The endpoint to which logout requests are made.\n"},"nonceExpirationTime":{"type":"string","description":"The time after the request is made when the nonce should expire.\n"},"preserveUrlFragmentsForLogins":{"type":"boolean","description":"Are the fragments from the request preserved after the login request is made.\n"},"tokenRefreshExtensionTime":{"type":"number","description":"The number of hours after session token expiration that a session token can be used to call the token refresh API.\n"},"tokenStoreEnabled":{"type":"boolean","description":"Is the Token Store configuration Enabled.\n"},"tokenStorePath":{"type":"string","description":"The directory path in the App Filesystem in which the tokens are stored.\n"},"tokenStoreSasSettingName":{"type":"string","description":"The name of the app setting which contains the SAS URL of the blob storage containing the tokens.\n"},"validateNonce":{"type":"boolean","description":"Is the nonce validated while completing the login flow.\n"}},"type":"object","required":["allowedExternalRedirectUrls","cookieExpirationConvention","cookieExpirationTime","logoutEndpoint","nonceExpirationTime","preserveUrlFragmentsForLogins","tokenRefreshExtensionTime","tokenStoreEnabled","tokenStorePath","tokenStoreSasSettingName","validateNonce"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appservice/getWindowsWebAppAuthSettingsV2MicrosoftV2:getWindowsWebAppAuthSettingsV2MicrosoftV2":{"properties":{"allowedAudiences":{"type":"array","items":{"type":"string"},"description":"The list of Allowed Audiences that are be requested as part of Microsoft Sign-In authentication.\n"},"clientId":{"type":"string","description":"The OAuth 2.0 client ID used by the app for authentication.\n"},"clientSecretSettingName":{"type":"string","description":"The app setting name containing the OAuth 2.0 client secret used by the app for authentication.\n"},"loginScopes":{"type":"array","items":{"type":"string"},"description":"The list of Login scopes that are requested as part of Microsoft Account authentication.\n"}},"type":"object","required":["allowedAudiences","clientId","clientSecretSettingName","loginScopes"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appservice/getWindowsWebAppAuthSettingsV2TwitterV2:getWindowsWebAppAuthSettingsV2TwitterV2":{"properties":{"consumerKey":{"type":"string","description":"The OAuth 1.0a consumer key of the Twitter application used for sign-in.\n"},"consumerSecretSettingName":{"type":"string","description":"The app setting name that contains the OAuth 1.0a consumer secret of the Twitter application used for sign-in.\n"}},"type":"object","required":["consumerKey","consumerSecretSettingName"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appservice/getWindowsWebAppBackup:getWindowsWebAppBackup":{"properties":{"enabled":{"type":"boolean","description":"Is the Backup enabled?\n"},"name":{"type":"string","description":"The name of this Windows Web App.\n"},"schedules":{"type":"array","items":{"$ref":"#/types/azure:appservice/getWindowsWebAppBackupSchedule:getWindowsWebAppBackupSchedule"},"description":"A \u003cspan pulumi-lang-nodejs=\"`schedule`\" pulumi-lang-dotnet=\"`Schedule`\" pulumi-lang-go=\"`schedule`\" pulumi-lang-python=\"`schedule`\" pulumi-lang-yaml=\"`schedule`\" pulumi-lang-java=\"`schedule`\"\u003e`schedule`\u003c/span\u003e block as defined below.\n"},"storageAccountUrl":{"type":"string","description":"The SAS URL to the container.\n","secret":true}},"type":"object","required":["enabled","name","schedules","storageAccountUrl"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appservice/getWindowsWebAppBackupSchedule:getWindowsWebAppBackupSchedule":{"properties":{"frequencyInterval":{"type":"integer","description":"How often the backup will be executed.\n"},"frequencyUnit":{"type":"string","description":"The unit of time for how often the backup should take place.\n"},"keepAtLeastOneBackup":{"type":"boolean","description":"Will the service keep at least one backup, regardless of age of backup.\n"},"lastExecutionTime":{"type":"string","description":"The time of the last backup attempt.\n"},"retentionPeriodDays":{"type":"integer","description":"After how many days backups should be deleted.\n"},"startTime":{"type":"string","description":"When the schedule should start in RFC-3339 format.\n"}},"type":"object","required":["frequencyInterval","frequencyUnit","keepAtLeastOneBackup","lastExecutionTime","retentionPeriodDays","startTime"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appservice/getWindowsWebAppConnectionString:getWindowsWebAppConnectionString":{"properties":{"name":{"type":"string","description":"The name of this Windows Web App.\n"},"type":{"type":"string","description":"The Azure Storage Type.\n"},"value":{"type":"string","description":"The Connection String value.\n","secret":true}},"type":"object","required":["name","type","value"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appservice/getWindowsWebAppIdentity:getWindowsWebAppIdentity":{"properties":{"identityIds":{"type":"array","items":{"type":"string"},"description":"A \u003cspan pulumi-lang-nodejs=\"`identityIds`\" pulumi-lang-dotnet=\"`IdentityIds`\" pulumi-lang-go=\"`identityIds`\" pulumi-lang-python=\"`identity_ids`\" pulumi-lang-yaml=\"`identityIds`\" pulumi-lang-java=\"`identityIds`\"\u003e`identity_ids`\u003c/span\u003e block as defined below.\n"},"principalId":{"type":"string","description":"The Principal ID Managed Service Identity.\n"},"tenantId":{"type":"string","description":"The Tenant ID of the Managed Service Identity.\n"},"type":{"type":"string","description":"The Azure Storage Type.\n"}},"type":"object","required":["identityIds","principalId","tenantId","type"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appservice/getWindowsWebAppLog:getWindowsWebAppLog":{"properties":{"applicationLogs":{"type":"array","items":{"$ref":"#/types/azure:appservice/getWindowsWebAppLogApplicationLog:getWindowsWebAppLogApplicationLog"},"description":"A \u003cspan pulumi-lang-nodejs=\"`applicationLogs`\" pulumi-lang-dotnet=\"`ApplicationLogs`\" pulumi-lang-go=\"`applicationLogs`\" pulumi-lang-python=\"`application_logs`\" pulumi-lang-yaml=\"`applicationLogs`\" pulumi-lang-java=\"`applicationLogs`\"\u003e`application_logs`\u003c/span\u003e block as defined above.\n"},"detailedErrorMessages":{"type":"boolean","description":"Is Detailed Error Messaging enabled.\n"},"failedRequestTracing":{"type":"boolean","description":"Is Failed Request Tracing enabled.\n"},"httpLogs":{"type":"array","items":{"$ref":"#/types/azure:appservice/getWindowsWebAppLogHttpLog:getWindowsWebAppLogHttpLog"},"description":"An \u003cspan pulumi-lang-nodejs=\"`httpLogs`\" pulumi-lang-dotnet=\"`HttpLogs`\" pulumi-lang-go=\"`httpLogs`\" pulumi-lang-python=\"`http_logs`\" pulumi-lang-yaml=\"`httpLogs`\" pulumi-lang-java=\"`httpLogs`\"\u003e`http_logs`\u003c/span\u003e block as defined above.\n"}},"type":"object","required":["applicationLogs","detailedErrorMessages","failedRequestTracing","httpLogs"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appservice/getWindowsWebAppLogApplicationLog:getWindowsWebAppLogApplicationLog":{"properties":{"azureBlobStorages":{"type":"array","items":{"$ref":"#/types/azure:appservice/getWindowsWebAppLogApplicationLogAzureBlobStorage:getWindowsWebAppLogApplicationLogAzureBlobStorage"},"description":"A \u003cspan pulumi-lang-nodejs=\"`azureBlobStorage`\" pulumi-lang-dotnet=\"`AzureBlobStorage`\" pulumi-lang-go=\"`azureBlobStorage`\" pulumi-lang-python=\"`azure_blob_storage`\" pulumi-lang-yaml=\"`azureBlobStorage`\" pulumi-lang-java=\"`azureBlobStorage`\"\u003e`azure_blob_storage`\u003c/span\u003e block as defined above.\n"},"fileSystemLevel":{"type":"string","description":"The logging level.\n"}},"type":"object","required":["azureBlobStorages","fileSystemLevel"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appservice/getWindowsWebAppLogApplicationLogAzureBlobStorage:getWindowsWebAppLogApplicationLogAzureBlobStorage":{"properties":{"level":{"type":"string","description":"The level at which to log. Possible values include `Error`, `Warning`, `Information`, `Verbose` and `Off`. **NOTE:** this field is not available for \u003cspan pulumi-lang-nodejs=\"`httpLogs`\" pulumi-lang-dotnet=\"`HttpLogs`\" pulumi-lang-go=\"`httpLogs`\" pulumi-lang-python=\"`http_logs`\" pulumi-lang-yaml=\"`httpLogs`\" pulumi-lang-java=\"`httpLogs`\"\u003e`http_logs`\u003c/span\u003e\n"},"retentionInDays":{"type":"integer","description":"The retention period in days.\n"},"sasUrl":{"type":"string","description":"The SAS url to the Azure Blob container.\n","secret":true}},"type":"object","required":["level","retentionInDays","sasUrl"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appservice/getWindowsWebAppLogHttpLog:getWindowsWebAppLogHttpLog":{"properties":{"azureBlobStorages":{"type":"array","items":{"$ref":"#/types/azure:appservice/getWindowsWebAppLogHttpLogAzureBlobStorage:getWindowsWebAppLogHttpLogAzureBlobStorage"},"description":"A \u003cspan pulumi-lang-nodejs=\"`azureBlobStorage`\" pulumi-lang-dotnet=\"`AzureBlobStorage`\" pulumi-lang-go=\"`azureBlobStorage`\" pulumi-lang-python=\"`azure_blob_storage`\" pulumi-lang-yaml=\"`azureBlobStorage`\" pulumi-lang-java=\"`azureBlobStorage`\"\u003e`azure_blob_storage`\u003c/span\u003e block as defined above.\n"},"fileSystems":{"type":"array","items":{"$ref":"#/types/azure:appservice/getWindowsWebAppLogHttpLogFileSystem:getWindowsWebAppLogHttpLogFileSystem"},"description":"A \u003cspan pulumi-lang-nodejs=\"`fileSystem`\" pulumi-lang-dotnet=\"`FileSystem`\" pulumi-lang-go=\"`fileSystem`\" pulumi-lang-python=\"`file_system`\" pulumi-lang-yaml=\"`fileSystem`\" pulumi-lang-java=\"`fileSystem`\"\u003e`file_system`\u003c/span\u003e block as defined above.\n"}},"type":"object","required":["azureBlobStorages","fileSystems"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appservice/getWindowsWebAppLogHttpLogAzureBlobStorage:getWindowsWebAppLogHttpLogAzureBlobStorage":{"properties":{"retentionInDays":{"type":"integer","description":"The retention period in days.\n"},"sasUrl":{"type":"string","description":"The SAS url to the Azure Blob container.\n","secret":true}},"type":"object","required":["retentionInDays","sasUrl"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appservice/getWindowsWebAppLogHttpLogFileSystem:getWindowsWebAppLogHttpLogFileSystem":{"properties":{"retentionInDays":{"type":"integer","description":"The retention period in days.\n"},"retentionInMb":{"type":"integer","description":"The maximum size in megabytes that log files can use.\n"}},"type":"object","required":["retentionInDays","retentionInMb"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appservice/getWindowsWebAppSiteConfig:getWindowsWebAppSiteConfig":{"properties":{"alwaysOn":{"type":"boolean","description":"Is this Windows Web App is Always On enabled.\n"},"apiDefinitionUrl":{"type":"string","description":"The ID of the APIM configuration for this Windows Web App.\n"},"apiManagementApiId":{"type":"string","description":"The ID of the API Management setting linked to the Windows Web App.\n"},"appCommandLine":{"type":"string","description":"The command line used to launch this app.\n"},"applicationStacks":{"type":"array","items":{"$ref":"#/types/azure:appservice/getWindowsWebAppSiteConfigApplicationStack:getWindowsWebAppSiteConfigApplicationStack"},"description":"A \u003cspan pulumi-lang-nodejs=\"`applicationStack`\" pulumi-lang-dotnet=\"`ApplicationStack`\" pulumi-lang-go=\"`applicationStack`\" pulumi-lang-python=\"`application_stack`\" pulumi-lang-yaml=\"`applicationStack`\" pulumi-lang-java=\"`applicationStack`\"\u003e`application_stack`\u003c/span\u003e block as defined above.\n"},"autoHealSettings":{"type":"array","items":{"$ref":"#/types/azure:appservice/getWindowsWebAppSiteConfigAutoHealSetting:getWindowsWebAppSiteConfigAutoHealSetting"},"description":"A \u003cspan pulumi-lang-nodejs=\"`autoHealSetting`\" pulumi-lang-dotnet=\"`AutoHealSetting`\" pulumi-lang-go=\"`autoHealSetting`\" pulumi-lang-python=\"`auto_heal_setting`\" pulumi-lang-yaml=\"`autoHealSetting`\" pulumi-lang-java=\"`autoHealSetting`\"\u003e`auto_heal_setting`\u003c/span\u003e block as defined above.\n"},"containerRegistryManagedIdentityClientId":{"type":"string","description":"The Client ID of the Managed Service Identity used for connections to the Azure Container Registry.\n"},"containerRegistryUseManagedIdentity":{"type":"boolean","description":"Do connections for Azure Container Registry use Managed Identity.\n"},"cors":{"type":"array","items":{"$ref":"#/types/azure:appservice/getWindowsWebAppSiteConfigCor:getWindowsWebAppSiteConfigCor"},"description":"A \u003cspan pulumi-lang-nodejs=\"`cors`\" pulumi-lang-dotnet=\"`Cors`\" pulumi-lang-go=\"`cors`\" pulumi-lang-python=\"`cors`\" pulumi-lang-yaml=\"`cors`\" pulumi-lang-java=\"`cors`\"\u003e`cors`\u003c/span\u003e block as defined above.\n"},"defaultDocuments":{"type":"array","items":{"type":"string"},"description":"The list of Default Documents for the Windows Web App.\n"},"detailedErrorLoggingEnabled":{"type":"boolean","description":"Is Detailed Error Logging enabled.\n"},"ftpsState":{"type":"string","description":"The State of FTP / FTPS service.\n"},"handlerMappings":{"type":"array","items":{"$ref":"#/types/azure:appservice/getWindowsWebAppSiteConfigHandlerMapping:getWindowsWebAppSiteConfigHandlerMapping"},"description":"A \u003cspan pulumi-lang-nodejs=\"`handlerMapping`\" pulumi-lang-dotnet=\"`HandlerMapping`\" pulumi-lang-go=\"`handlerMapping`\" pulumi-lang-python=\"`handler_mapping`\" pulumi-lang-yaml=\"`handlerMapping`\" pulumi-lang-java=\"`handlerMapping`\"\u003e`handler_mapping`\u003c/span\u003e block as defined below.\n"},"healthCheckEvictionTimeInMin":{"type":"integer","description":"(Optional) The amount of time in minutes that a node can be unhealthy before being removed from the load balancer. Possible values are between \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`10`\" pulumi-lang-dotnet=\"`10`\" pulumi-lang-go=\"`10`\" pulumi-lang-python=\"`10`\" pulumi-lang-yaml=\"`10`\" pulumi-lang-java=\"`10`\"\u003e`10`\u003c/span\u003e. Only valid in conjunction with \u003cspan pulumi-lang-nodejs=\"`healthCheckPath`\" pulumi-lang-dotnet=\"`HealthCheckPath`\" pulumi-lang-go=\"`healthCheckPath`\" pulumi-lang-python=\"`health_check_path`\" pulumi-lang-yaml=\"`healthCheckPath`\" pulumi-lang-java=\"`healthCheckPath`\"\u003e`health_check_path`\u003c/span\u003e.\n"},"healthCheckPath":{"type":"string","description":"The path to the Health Check endpoint.\n"},"http2Enabled":{"type":"boolean","description":"Is HTTP2.0 enabled.\n"},"ipRestrictionDefaultAction":{"type":"string","description":"The Default action for traffic that does not match any \u003cspan pulumi-lang-nodejs=\"`ipRestriction`\" pulumi-lang-dotnet=\"`IpRestriction`\" pulumi-lang-go=\"`ipRestriction`\" pulumi-lang-python=\"`ip_restriction`\" pulumi-lang-yaml=\"`ipRestriction`\" pulumi-lang-java=\"`ipRestriction`\"\u003e`ip_restriction`\u003c/span\u003e rule.\n"},"ipRestrictions":{"type":"array","items":{"$ref":"#/types/azure:appservice/getWindowsWebAppSiteConfigIpRestriction:getWindowsWebAppSiteConfigIpRestriction"},"description":"A \u003cspan pulumi-lang-nodejs=\"`ipRestriction`\" pulumi-lang-dotnet=\"`IpRestriction`\" pulumi-lang-go=\"`ipRestriction`\" pulumi-lang-python=\"`ip_restriction`\" pulumi-lang-yaml=\"`ipRestriction`\" pulumi-lang-java=\"`ipRestriction`\"\u003e`ip_restriction`\u003c/span\u003e block as defined above.\n"},"loadBalancingMode":{"type":"string","description":"The site Load Balancing Mode.\n"},"localMysqlEnabled":{"type":"boolean","description":"Is the Local MySQL enabled.\n"},"managedPipelineMode":{"type":"string","description":"The Managed Pipeline Mode.\n"},"minimumTlsVersion":{"type":"string","description":"The Minimum version of TLS for requests.\n"},"remoteDebuggingEnabled":{"type":"boolean"},"remoteDebuggingVersion":{"type":"string","description":"The Remote Debugging Version.\n"},"scmIpRestrictionDefaultAction":{"type":"string","description":"The Default action for traffic that does not match any \u003cspan pulumi-lang-nodejs=\"`scmIpRestriction`\" pulumi-lang-dotnet=\"`ScmIpRestriction`\" pulumi-lang-go=\"`scmIpRestriction`\" pulumi-lang-python=\"`scm_ip_restriction`\" pulumi-lang-yaml=\"`scmIpRestriction`\" pulumi-lang-java=\"`scmIpRestriction`\"\u003e`scm_ip_restriction`\u003c/span\u003e rule.\n"},"scmIpRestrictions":{"type":"array","items":{"$ref":"#/types/azure:appservice/getWindowsWebAppSiteConfigScmIpRestriction:getWindowsWebAppSiteConfigScmIpRestriction"},"description":"A \u003cspan pulumi-lang-nodejs=\"`scmIpRestriction`\" pulumi-lang-dotnet=\"`ScmIpRestriction`\" pulumi-lang-go=\"`scmIpRestriction`\" pulumi-lang-python=\"`scm_ip_restriction`\" pulumi-lang-yaml=\"`scmIpRestriction`\" pulumi-lang-java=\"`scmIpRestriction`\"\u003e`scm_ip_restriction`\u003c/span\u003e block as defined above.\n"},"scmMinimumTlsVersion":{"type":"string","description":"The Minimum version of TLS for requests to SCM.\n"},"scmType":{"type":"string","description":"The Source Control Management Type in use.\n"},"scmUseMainIpRestriction":{"type":"boolean","description":"Is the Windows Web App \u003cspan pulumi-lang-nodejs=\"`ipRestriction`\" pulumi-lang-dotnet=\"`IpRestriction`\" pulumi-lang-go=\"`ipRestriction`\" pulumi-lang-python=\"`ip_restriction`\" pulumi-lang-yaml=\"`ipRestriction`\" pulumi-lang-java=\"`ipRestriction`\"\u003e`ip_restriction`\u003c/span\u003e configuration used for the SCM also.\n"},"use32BitWorker":{"type":"boolean","description":"Does the Windows Web App use a 32-bit worker.\n"},"virtualApplications":{"type":"array","items":{"$ref":"#/types/azure:appservice/getWindowsWebAppSiteConfigVirtualApplication:getWindowsWebAppSiteConfigVirtualApplication"},"description":"A \u003cspan pulumi-lang-nodejs=\"`virtualApplication`\" pulumi-lang-dotnet=\"`VirtualApplication`\" pulumi-lang-go=\"`virtualApplication`\" pulumi-lang-python=\"`virtual_application`\" pulumi-lang-yaml=\"`virtualApplication`\" pulumi-lang-java=\"`virtualApplication`\"\u003e`virtual_application`\u003c/span\u003e block as defined below.\n"},"vnetRouteAllEnabled":{"type":"boolean","description":"Are all outbound traffic to NAT Gateways, Network Security Groups and User Defined Routes applied?\n"},"websocketsEnabled":{"type":"boolean","description":"Are Web Sockets enabled?\n"},"windowsFxVersion":{"type":"string","description":"The string representation of the Windows FX Version.\n"},"workerCount":{"type":"integer","description":"The number of Workers for this Windows App Service.\n"}},"type":"object","required":["alwaysOn","apiDefinitionUrl","apiManagementApiId","appCommandLine","applicationStacks","autoHealSettings","containerRegistryManagedIdentityClientId","containerRegistryUseManagedIdentity","cors","defaultDocuments","detailedErrorLoggingEnabled","ftpsState","handlerMappings","healthCheckEvictionTimeInMin","healthCheckPath","http2Enabled","ipRestrictions","ipRestrictionDefaultAction","loadBalancingMode","localMysqlEnabled","managedPipelineMode","minimumTlsVersion","remoteDebuggingEnabled","remoteDebuggingVersion","scmIpRestrictions","scmIpRestrictionDefaultAction","scmMinimumTlsVersion","scmType","scmUseMainIpRestriction","use32BitWorker","virtualApplications","vnetRouteAllEnabled","websocketsEnabled","windowsFxVersion","workerCount"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appservice/getWindowsWebAppSiteConfigApplicationStack:getWindowsWebAppSiteConfigApplicationStack":{"properties":{"currentStack":{"type":"string","description":"The Current Stack value of the Windows Web App.\n"},"dockerImageName":{"type":"string","description":"The docker image, including tag, used by this Windows Web App.\n"},"dockerRegistryPassword":{"type":"string","description":"The User Name to use for authentication against the registry to pull the image.\n","secret":true},"dockerRegistryUrl":{"type":"string","description":"The URL of the container registry where the \u003cspan pulumi-lang-nodejs=\"`dockerImageName`\" pulumi-lang-dotnet=\"`DockerImageName`\" pulumi-lang-go=\"`dockerImageName`\" pulumi-lang-python=\"`docker_image_name`\" pulumi-lang-yaml=\"`dockerImageName`\" pulumi-lang-java=\"`dockerImageName`\"\u003e`docker_image_name`\u003c/span\u003e is located.\n"},"dockerRegistryUsername":{"type":"string","description":"The User Name to use for authentication against the registry to pull the image.\n"},"dotnetCoreVersion":{"type":"string"},"dotnetVersion":{"type":"string","description":"The version of .NET in use.\n"},"javaContainer":{"type":"string","description":"The Java Container in use.\n"},"javaContainerVersion":{"type":"string","description":"The Version of the Java Container in use.\n"},"javaEmbeddedServerEnabled":{"type":"boolean"},"javaVersion":{"type":"string","description":"The Version of Java in use.\n"},"nodeVersion":{"type":"string","description":"The Version of Node in use.\n"},"phpVersion":{"type":"string","description":"The Version of the PHP in use.\n"},"python":{"type":"boolean"},"pythonVersion":{"type":"string","description":"The Version of Python in use.\n"},"tomcatVersion":{"type":"string"}},"type":"object","required":["currentStack","dockerImageName","dockerRegistryPassword","dockerRegistryUrl","dockerRegistryUsername","dotnetCoreVersion","dotnetVersion","javaContainer","javaContainerVersion","javaEmbeddedServerEnabled","javaVersion","nodeVersion","phpVersion","python","pythonVersion","tomcatVersion"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appservice/getWindowsWebAppSiteConfigAutoHealSetting:getWindowsWebAppSiteConfigAutoHealSetting":{"properties":{"actions":{"type":"array","items":{"$ref":"#/types/azure:appservice/getWindowsWebAppSiteConfigAutoHealSettingAction:getWindowsWebAppSiteConfigAutoHealSettingAction"},"description":"A \u003cspan pulumi-lang-nodejs=\"`action`\" pulumi-lang-dotnet=\"`Action`\" pulumi-lang-go=\"`action`\" pulumi-lang-python=\"`action`\" pulumi-lang-yaml=\"`action`\" pulumi-lang-java=\"`action`\"\u003e`action`\u003c/span\u003e block as defined above.\n"},"triggers":{"type":"array","items":{"$ref":"#/types/azure:appservice/getWindowsWebAppSiteConfigAutoHealSettingTrigger:getWindowsWebAppSiteConfigAutoHealSettingTrigger"},"description":"A \u003cspan pulumi-lang-nodejs=\"`trigger`\" pulumi-lang-dotnet=\"`Trigger`\" pulumi-lang-go=\"`trigger`\" pulumi-lang-python=\"`trigger`\" pulumi-lang-yaml=\"`trigger`\" pulumi-lang-java=\"`trigger`\"\u003e`trigger`\u003c/span\u003e block as defined below.\n"}},"type":"object","required":["actions","triggers"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appservice/getWindowsWebAppSiteConfigAutoHealSettingAction:getWindowsWebAppSiteConfigAutoHealSettingAction":{"properties":{"actionType":{"type":"string","description":"The predefined action to be taken to an Auto Heal trigger.\n"},"customActions":{"type":"array","items":{"$ref":"#/types/azure:appservice/getWindowsWebAppSiteConfigAutoHealSettingActionCustomAction:getWindowsWebAppSiteConfigAutoHealSettingActionCustomAction"},"description":"A \u003cspan pulumi-lang-nodejs=\"`customAction`\" pulumi-lang-dotnet=\"`CustomAction`\" pulumi-lang-go=\"`customAction`\" pulumi-lang-python=\"`custom_action`\" pulumi-lang-yaml=\"`customAction`\" pulumi-lang-java=\"`customAction`\"\u003e`custom_action`\u003c/span\u003e block as defined below.\n"},"minimumProcessExecutionTime":{"type":"string","description":"The minimum amount of time in `hh:mm:ss` the Windows Web App must have been running before the defined action will be run in the event of a trigger.\n"}},"type":"object","required":["actionType","customActions","minimumProcessExecutionTime"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appservice/getWindowsWebAppSiteConfigAutoHealSettingActionCustomAction:getWindowsWebAppSiteConfigAutoHealSettingActionCustomAction":{"properties":{"executable":{"type":"string","description":"The command run when this \u003cspan pulumi-lang-nodejs=\"`autoHeal`\" pulumi-lang-dotnet=\"`AutoHeal`\" pulumi-lang-go=\"`autoHeal`\" pulumi-lang-python=\"`auto_heal`\" pulumi-lang-yaml=\"`autoHeal`\" pulumi-lang-java=\"`autoHeal`\"\u003e`auto_heal`\u003c/span\u003e action is triggered.\n"},"parameters":{"type":"string","description":"The parameters passed to the \u003cspan pulumi-lang-nodejs=\"`executable`\" pulumi-lang-dotnet=\"`Executable`\" pulumi-lang-go=\"`executable`\" pulumi-lang-python=\"`executable`\" pulumi-lang-yaml=\"`executable`\" pulumi-lang-java=\"`executable`\"\u003e`executable`\u003c/span\u003e.\n"}},"type":"object","required":["executable","parameters"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appservice/getWindowsWebAppSiteConfigAutoHealSettingTrigger:getWindowsWebAppSiteConfigAutoHealSettingTrigger":{"properties":{"privateMemoryKb":{"type":"integer","description":"The amount of Private Memory used.\n"},"requests":{"type":"array","items":{"$ref":"#/types/azure:appservice/getWindowsWebAppSiteConfigAutoHealSettingTriggerRequest:getWindowsWebAppSiteConfigAutoHealSettingTriggerRequest"},"description":"A \u003cspan pulumi-lang-nodejs=\"`requests`\" pulumi-lang-dotnet=\"`Requests`\" pulumi-lang-go=\"`requests`\" pulumi-lang-python=\"`requests`\" pulumi-lang-yaml=\"`requests`\" pulumi-lang-java=\"`requests`\"\u003e`requests`\u003c/span\u003e block as defined above.\n"},"slowRequestWithPaths":{"type":"array","items":{"$ref":"#/types/azure:appservice/getWindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPath:getWindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPath"},"description":"(Optional) One or more \u003cspan pulumi-lang-nodejs=\"`slowRequestWithPath`\" pulumi-lang-dotnet=\"`SlowRequestWithPath`\" pulumi-lang-go=\"`slowRequestWithPath`\" pulumi-lang-python=\"`slow_request_with_path`\" pulumi-lang-yaml=\"`slowRequestWithPath`\" pulumi-lang-java=\"`slowRequestWithPath`\"\u003e`slow_request_with_path`\u003c/span\u003e blocks as defined above.\n"},"slowRequests":{"type":"array","items":{"$ref":"#/types/azure:appservice/getWindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequest:getWindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequest"},"description":"A \u003cspan pulumi-lang-nodejs=\"`slowRequest`\" pulumi-lang-dotnet=\"`SlowRequest`\" pulumi-lang-go=\"`slowRequest`\" pulumi-lang-python=\"`slow_request`\" pulumi-lang-yaml=\"`slowRequest`\" pulumi-lang-java=\"`slowRequest`\"\u003e`slow_request`\u003c/span\u003e block as defined above.\n"},"statusCodes":{"type":"array","items":{"$ref":"#/types/azure:appservice/getWindowsWebAppSiteConfigAutoHealSettingTriggerStatusCode:getWindowsWebAppSiteConfigAutoHealSettingTriggerStatusCode"},"description":"A \u003cspan pulumi-lang-nodejs=\"`statusCode`\" pulumi-lang-dotnet=\"`StatusCode`\" pulumi-lang-go=\"`statusCode`\" pulumi-lang-python=\"`status_code`\" pulumi-lang-yaml=\"`statusCode`\" pulumi-lang-java=\"`statusCode`\"\u003e`status_code`\u003c/span\u003e block as defined above.\n"}},"type":"object","required":["privateMemoryKb","requests","slowRequests","slowRequestWithPaths","statusCodes"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appservice/getWindowsWebAppSiteConfigAutoHealSettingTriggerRequest:getWindowsWebAppSiteConfigAutoHealSettingTriggerRequest":{"properties":{"count":{"type":"integer","description":"The number of occurrences of the defined \u003cspan pulumi-lang-nodejs=\"`statusCode`\" pulumi-lang-dotnet=\"`StatusCode`\" pulumi-lang-go=\"`statusCode`\" pulumi-lang-python=\"`status_code`\" pulumi-lang-yaml=\"`statusCode`\" pulumi-lang-java=\"`statusCode`\"\u003e`status_code`\u003c/span\u003e in the specified \u003cspan pulumi-lang-nodejs=\"`interval`\" pulumi-lang-dotnet=\"`Interval`\" pulumi-lang-go=\"`interval`\" pulumi-lang-python=\"`interval`\" pulumi-lang-yaml=\"`interval`\" pulumi-lang-java=\"`interval`\"\u003e`interval`\u003c/span\u003e on which to trigger this rule.\n"},"interval":{"type":"string","description":"The time interval in the form `hh:mm:ss`.\n"}},"type":"object","required":["count","interval"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appservice/getWindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequest:getWindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequest":{"properties":{"count":{"type":"integer","description":"The number of occurrences of the defined \u003cspan pulumi-lang-nodejs=\"`statusCode`\" pulumi-lang-dotnet=\"`StatusCode`\" pulumi-lang-go=\"`statusCode`\" pulumi-lang-python=\"`status_code`\" pulumi-lang-yaml=\"`statusCode`\" pulumi-lang-java=\"`statusCode`\"\u003e`status_code`\u003c/span\u003e in the specified \u003cspan pulumi-lang-nodejs=\"`interval`\" pulumi-lang-dotnet=\"`Interval`\" pulumi-lang-go=\"`interval`\" pulumi-lang-python=\"`interval`\" pulumi-lang-yaml=\"`interval`\" pulumi-lang-java=\"`interval`\"\u003e`interval`\u003c/span\u003e on which to trigger this rule.\n"},"interval":{"type":"string","description":"The time interval in the form `hh:mm:ss`.\n"},"timeTaken":{"type":"string","description":"(Required) The threshold of time passed to qualify as a Slow Request in `hh:mm:ss`.\n"}},"type":"object","required":["count","interval","timeTaken"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appservice/getWindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPath:getWindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPath":{"properties":{"count":{"type":"integer","description":"The number of occurrences of the defined \u003cspan pulumi-lang-nodejs=\"`statusCode`\" pulumi-lang-dotnet=\"`StatusCode`\" pulumi-lang-go=\"`statusCode`\" pulumi-lang-python=\"`status_code`\" pulumi-lang-yaml=\"`statusCode`\" pulumi-lang-java=\"`statusCode`\"\u003e`status_code`\u003c/span\u003e in the specified \u003cspan pulumi-lang-nodejs=\"`interval`\" pulumi-lang-dotnet=\"`Interval`\" pulumi-lang-go=\"`interval`\" pulumi-lang-python=\"`interval`\" pulumi-lang-yaml=\"`interval`\" pulumi-lang-java=\"`interval`\"\u003e`interval`\u003c/span\u003e on which to trigger this rule.\n"},"interval":{"type":"string","description":"The time interval in the form `hh:mm:ss`.\n"},"path":{"type":"string","description":"The path to which this rule status code applies.\n"},"timeTaken":{"type":"string","description":"(Required) The threshold of time passed to qualify as a Slow Request in `hh:mm:ss`.\n"}},"type":"object","required":["count","interval","path","timeTaken"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appservice/getWindowsWebAppSiteConfigAutoHealSettingTriggerStatusCode:getWindowsWebAppSiteConfigAutoHealSettingTriggerStatusCode":{"properties":{"count":{"type":"integer","description":"The number of occurrences of the defined \u003cspan pulumi-lang-nodejs=\"`statusCode`\" pulumi-lang-dotnet=\"`StatusCode`\" pulumi-lang-go=\"`statusCode`\" pulumi-lang-python=\"`status_code`\" pulumi-lang-yaml=\"`statusCode`\" pulumi-lang-java=\"`statusCode`\"\u003e`status_code`\u003c/span\u003e in the specified \u003cspan pulumi-lang-nodejs=\"`interval`\" pulumi-lang-dotnet=\"`Interval`\" pulumi-lang-go=\"`interval`\" pulumi-lang-python=\"`interval`\" pulumi-lang-yaml=\"`interval`\" pulumi-lang-java=\"`interval`\"\u003e`interval`\u003c/span\u003e on which to trigger this rule.\n"},"interval":{"type":"string","description":"The time interval in the form `hh:mm:ss`.\n"},"path":{"type":"string","description":"The path to which this rule status code applies.\n"},"statusCodeRange":{"type":"string","description":"The status code or range for this rule.\n"},"subStatus":{"type":"integer","description":"The Request Sub Status of the Status Code.\n"},"win32StatusCode":{"type":"integer","description":"The Win32 Status Code of the Request.\n"}},"type":"object","required":["count","interval","path","statusCodeRange","subStatus","win32StatusCode"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appservice/getWindowsWebAppSiteConfigCor:getWindowsWebAppSiteConfigCor":{"properties":{"allowedOrigins":{"type":"array","items":{"type":"string"},"description":"A \u003cspan pulumi-lang-nodejs=\"`allowedOrigins`\" pulumi-lang-dotnet=\"`AllowedOrigins`\" pulumi-lang-go=\"`allowedOrigins`\" pulumi-lang-python=\"`allowed_origins`\" pulumi-lang-yaml=\"`allowedOrigins`\" pulumi-lang-java=\"`allowedOrigins`\"\u003e`allowed_origins`\u003c/span\u003e block as defined above.\n"},"supportCredentials":{"type":"boolean","description":"Whether CORS requests with credentials are allowed.\n"}},"type":"object","required":["allowedOrigins","supportCredentials"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appservice/getWindowsWebAppSiteConfigHandlerMapping:getWindowsWebAppSiteConfigHandlerMapping":{"properties":{"arguments":{"type":"string","description":"The command-line arguments to be passed to the script processor.\n"},"extension":{"type":"string","description":"The extension to be handled by the specified FastCGI application.\n"},"scriptProcessorPath":{"type":"string","description":"The absolute path to the FastCGI application.\n"}},"type":"object","required":["arguments","extension","scriptProcessorPath"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appservice/getWindowsWebAppSiteConfigIpRestriction:getWindowsWebAppSiteConfigIpRestriction":{"properties":{"action":{"type":"string","description":"A \u003cspan pulumi-lang-nodejs=\"`action`\" pulumi-lang-dotnet=\"`Action`\" pulumi-lang-go=\"`action`\" pulumi-lang-python=\"`action`\" pulumi-lang-yaml=\"`action`\" pulumi-lang-java=\"`action`\"\u003e`action`\u003c/span\u003e block as defined above.\n"},"description":{"type":"string","description":"The description of the ip restriction rule.\n"},"headers":{"type":"array","items":{"$ref":"#/types/azure:appservice/getWindowsWebAppSiteConfigIpRestrictionHeader:getWindowsWebAppSiteConfigIpRestrictionHeader"}},"ipAddress":{"type":"string","description":"The CIDR notation of the IP or IP Range to match.\n"},"name":{"type":"string","description":"The name of this Windows Web App.\n"},"priority":{"type":"integer","description":"The priority value of this \u003cspan pulumi-lang-nodejs=\"`ipRestriction`\" pulumi-lang-dotnet=\"`IpRestriction`\" pulumi-lang-go=\"`ipRestriction`\" pulumi-lang-python=\"`ip_restriction`\" pulumi-lang-yaml=\"`ipRestriction`\" pulumi-lang-java=\"`ipRestriction`\"\u003e`ip_restriction`\u003c/span\u003e.\n"},"serviceTag":{"type":"string","description":"The Service Tag used for this IP Restriction.\n"},"virtualNetworkSubnetId":{"type":"string","description":"The subnet id which the Windows Web App is vNet Integrated with.\n"}},"type":"object","required":["action","description","headers","ipAddress","name","priority","serviceTag","virtualNetworkSubnetId"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appservice/getWindowsWebAppSiteConfigIpRestrictionHeader:getWindowsWebAppSiteConfigIpRestrictionHeader":{"properties":{"xAzureFdids":{"type":"array","items":{"type":"string"},"description":"The list of Azure Front Door IDs.\n"},"xFdHealthProbes":{"type":"array","items":{"type":"string"},"description":"Specifies if a Front Door Health Probe is expected.\n"},"xForwardedFors":{"type":"array","items":{"type":"string"},"description":"The list of addresses for which matching is applied.\n"},"xForwardedHosts":{"type":"array","items":{"type":"string"},"description":"The list of Hosts for which matching will be applied.\n"}},"type":"object","required":["xAzureFdids","xFdHealthProbes","xForwardedFors","xForwardedHosts"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appservice/getWindowsWebAppSiteConfigScmIpRestriction:getWindowsWebAppSiteConfigScmIpRestriction":{"properties":{"action":{"type":"string","description":"A \u003cspan pulumi-lang-nodejs=\"`action`\" pulumi-lang-dotnet=\"`Action`\" pulumi-lang-go=\"`action`\" pulumi-lang-python=\"`action`\" pulumi-lang-yaml=\"`action`\" pulumi-lang-java=\"`action`\"\u003e`action`\u003c/span\u003e block as defined above.\n"},"description":{"type":"string","description":"The description of the ip restriction rule.\n"},"headers":{"type":"array","items":{"$ref":"#/types/azure:appservice/getWindowsWebAppSiteConfigScmIpRestrictionHeader:getWindowsWebAppSiteConfigScmIpRestrictionHeader"}},"ipAddress":{"type":"string","description":"The CIDR notation of the IP or IP Range to match.\n"},"name":{"type":"string","description":"The name of this Windows Web App.\n"},"priority":{"type":"integer","description":"The priority value of this \u003cspan pulumi-lang-nodejs=\"`ipRestriction`\" pulumi-lang-dotnet=\"`IpRestriction`\" pulumi-lang-go=\"`ipRestriction`\" pulumi-lang-python=\"`ip_restriction`\" pulumi-lang-yaml=\"`ipRestriction`\" pulumi-lang-java=\"`ipRestriction`\"\u003e`ip_restriction`\u003c/span\u003e.\n"},"serviceTag":{"type":"string","description":"The Service Tag used for this IP Restriction.\n"},"virtualNetworkSubnetId":{"type":"string","description":"The subnet id which the Windows Web App is vNet Integrated with.\n"}},"type":"object","required":["action","description","headers","ipAddress","name","priority","serviceTag","virtualNetworkSubnetId"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appservice/getWindowsWebAppSiteConfigScmIpRestrictionHeader:getWindowsWebAppSiteConfigScmIpRestrictionHeader":{"properties":{"xAzureFdids":{"type":"array","items":{"type":"string"},"description":"The list of Azure Front Door IDs.\n"},"xFdHealthProbes":{"type":"array","items":{"type":"string"},"description":"Specifies if a Front Door Health Probe is expected.\n"},"xForwardedFors":{"type":"array","items":{"type":"string"},"description":"The list of addresses for which matching is applied.\n"},"xForwardedHosts":{"type":"array","items":{"type":"string"},"description":"The list of Hosts for which matching will be applied.\n"}},"type":"object","required":["xAzureFdids","xFdHealthProbes","xForwardedFors","xForwardedHosts"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appservice/getWindowsWebAppSiteConfigVirtualApplication:getWindowsWebAppSiteConfigVirtualApplication":{"properties":{"physicalPath":{"type":"string","description":"The path on disk to the Virtual Directory\n"},"preload":{"type":"boolean","description":"Is this Application Pre-loaded at startup.\n"},"virtualDirectories":{"type":"array","items":{"$ref":"#/types/azure:appservice/getWindowsWebAppSiteConfigVirtualApplicationVirtualDirectory:getWindowsWebAppSiteConfigVirtualApplicationVirtualDirectory"},"description":"A \u003cspan pulumi-lang-nodejs=\"`virtualDirectory`\" pulumi-lang-dotnet=\"`VirtualDirectory`\" pulumi-lang-go=\"`virtualDirectory`\" pulumi-lang-python=\"`virtual_directory`\" pulumi-lang-yaml=\"`virtualDirectory`\" pulumi-lang-java=\"`virtualDirectory`\"\u003e`virtual_directory`\u003c/span\u003e block as defined below.\n"},"virtualPath":{"type":"string","description":"The Virtual Path of the Virtual Directory.\n"}},"type":"object","required":["physicalPath","preload","virtualDirectories","virtualPath"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appservice/getWindowsWebAppSiteConfigVirtualApplicationVirtualDirectory:getWindowsWebAppSiteConfigVirtualApplicationVirtualDirectory":{"properties":{"physicalPath":{"type":"string","description":"The path on disk to the Virtual Directory\n"},"virtualPath":{"type":"string","description":"The Virtual Path of the Virtual Directory.\n"}},"type":"object","required":["physicalPath","virtualPath"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appservice/getWindowsWebAppSiteCredential:getWindowsWebAppSiteCredential":{"properties":{"name":{"type":"string","description":"The name of this Windows Web App.\n","secret":true},"password":{"type":"string","description":"The Site Credentials Password used for publishing.\n","secret":true}},"type":"object","required":["name","password"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appservice/getWindowsWebAppStickySetting:getWindowsWebAppStickySetting":{"properties":{"appSettingNames":{"type":"array","items":{"type":"string"},"description":"A list of \u003cspan pulumi-lang-nodejs=\"`appSetting`\" pulumi-lang-dotnet=\"`AppSetting`\" pulumi-lang-go=\"`appSetting`\" pulumi-lang-python=\"`app_setting`\" pulumi-lang-yaml=\"`appSetting`\" pulumi-lang-java=\"`appSetting`\"\u003e`app_setting`\u003c/span\u003e names that the Windows Web App will not swap between Slots when a swap operation is triggered.\n"},"connectionStringNames":{"type":"array","items":{"type":"string"},"description":"A list of \u003cspan pulumi-lang-nodejs=\"`connectionString`\" pulumi-lang-dotnet=\"`ConnectionString`\" pulumi-lang-go=\"`connectionString`\" pulumi-lang-python=\"`connection_string`\" pulumi-lang-yaml=\"`connectionString`\" pulumi-lang-java=\"`connectionString`\"\u003e`connection_string`\u003c/span\u003e names that the Windows Web App will not swap between Slots when a swap operation is triggered.\n"}},"type":"object","required":["appSettingNames","connectionStringNames"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:appservice/getWindowsWebAppStorageAccount:getWindowsWebAppStorageAccount":{"properties":{"accessKey":{"type":"string","description":"The Access key for the storage account.\n","secret":true},"accountName":{"type":"string","description":"The Name of the Storage Account.\n"},"mountPath":{"type":"string","description":"The path at which to mount the Storage Share.\n"},"name":{"type":"string","description":"The name of this Windows Web App.\n"},"shareName":{"type":"string","description":"The Name of the File Share.\n"},"type":{"type":"string","description":"The Azure Storage Type.\n"}},"type":"object","required":["accessKey","accountName","mountPath","name","shareName","type"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:arc/ResourceBridgeApplianceIdentity:ResourceBridgeApplianceIdentity":{"properties":{"principalId":{"type":"string","description":"The Principal ID associated with this Managed Service Identity.\n"},"tenantId":{"type":"string","description":"The Tenant ID associated with this Managed Service Identity.\n"},"type":{"type":"string","description":"Specifies the type of Managed Service Identity that should be configured on this Arc Resource Bridge Appliance. The only possible value is `SystemAssigned`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["type"],"language":{"nodejs":{"requiredOutputs":["principalId","tenantId","type"]}}},"azure:arc/getResourceBridgeApplianceIdentity:getResourceBridgeApplianceIdentity":{"properties":{"principalId":{"type":"string","description":"The Principal ID associated with this Managed Service Identity.\n"},"tenantId":{"type":"string","description":"The Tenant ID associated with this Managed Service Identity.\n"},"type":{"type":"string","description":"The type of this Managed Service Identity.\n"}},"type":"object","required":["principalId","tenantId","type"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:arckubernetes/ClusterExtensionIdentity:ClusterExtensionIdentity":{"properties":{"principalId":{"type":"string","description":"The Principal ID associated with this Managed Service Identity.\n"},"tenantId":{"type":"string","description":"The Tenant ID associated with this Managed Service Identity.\n"},"type":{"type":"string","description":"Specifies the type of Managed Service Identity. The only possible value is `SystemAssigned`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["type"],"language":{"nodejs":{"requiredOutputs":["principalId","tenantId","type"]}}},"azure:arckubernetes/ClusterIdentity:ClusterIdentity":{"properties":{"principalId":{"type":"string","description":"The Principal ID associated with this Managed Service Identity.\n"},"tenantId":{"type":"string","description":"The Tenant ID associated with this Managed Service Identity.\n"},"type":{"type":"string","description":"Specifies the type of Managed Service Identity assigned to this Arc Kubernetes Cluster. At this time the only possible value is `SystemAssigned`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["type"],"language":{"nodejs":{"requiredOutputs":["principalId","tenantId","type"]}}},"azure:arckubernetes/FluxConfigurationBlobStorage:FluxConfigurationBlobStorage":{"properties":{"accountKey":{"type":"string","description":"Specifies the account key (shared key) to access the storage account.\n","secret":true},"containerId":{"type":"string","description":"Specifies the Azure Blob container ID.\n"},"localAuthReference":{"type":"string","description":"Specifies the name of a local secret on the Kubernetes cluster to use as the authentication secret rather than the managed or user-provided configuration secrets.\n"},"sasToken":{"type":"string","description":"Specifies the shared access token to access the storage container.\n","secret":true},"servicePrincipal":{"$ref":"#/types/azure:arckubernetes/FluxConfigurationBlobStorageServicePrincipal:FluxConfigurationBlobStorageServicePrincipal","description":"A \u003cspan pulumi-lang-nodejs=\"`servicePrincipal`\" pulumi-lang-dotnet=\"`ServicePrincipal`\" pulumi-lang-go=\"`servicePrincipal`\" pulumi-lang-python=\"`service_principal`\" pulumi-lang-yaml=\"`servicePrincipal`\" pulumi-lang-java=\"`servicePrincipal`\"\u003e`service_principal`\u003c/span\u003e block as defined below.\n"},"syncIntervalInSeconds":{"type":"integer","description":"Specifies the interval at which to re-reconcile the cluster Azure Blob source with the remote.\n"},"timeoutInSeconds":{"type":"integer","description":"Specifies the maximum time to attempt to reconcile the cluster Azure Blob source with the remote.\n"}},"type":"object","required":["containerId"]},"azure:arckubernetes/FluxConfigurationBlobStorageServicePrincipal:FluxConfigurationBlobStorageServicePrincipal":{"properties":{"clientCertificateBase64":{"type":"string","description":"Base64-encoded certificate used to authenticate a Service Principal .\n","secret":true},"clientCertificatePassword":{"type":"string","description":"Specifies the password for the certificate used to authenticate a Service Principal .\n","secret":true},"clientCertificateSendChain":{"type":"boolean","description":"Specifies whether to include x5c header in client claims when acquiring a token to enable subject name / issuer based authentication for the client certificate.\n"},"clientId":{"type":"string","description":"Specifies the client ID for authenticating a Service Principal.\n"},"clientSecret":{"type":"string","description":"Specifies the client secret for authenticating a Service Principal.\n","secret":true},"tenantId":{"type":"string","description":"Specifies the tenant ID for authenticating a Service Principal.\n"}},"type":"object","required":["clientId","tenantId"]},"azure:arckubernetes/FluxConfigurationBucket:FluxConfigurationBucket":{"properties":{"accessKey":{"type":"string","description":"Specifies the plaintext access key used to securely access the S3 bucket.\n"},"bucketName":{"type":"string","description":"Specifies the bucket name to sync from the url endpoint for the flux configuration.\n"},"localAuthReference":{"type":"string","description":"Specifies the name of a local secret on the Kubernetes cluster to use as the authentication secret rather than the managed or user-provided configuration secrets.\n"},"secretKeyBase64":{"type":"string","description":"Specifies the Base64-encoded secret key used to authenticate with the bucket source.\n","secret":true},"syncIntervalInSeconds":{"type":"integer","description":"Specifies the interval at which to re-reconcile the cluster git repository source with the remote. Defaults to \u003cspan pulumi-lang-nodejs=\"`600`\" pulumi-lang-dotnet=\"`600`\" pulumi-lang-go=\"`600`\" pulumi-lang-python=\"`600`\" pulumi-lang-yaml=\"`600`\" pulumi-lang-java=\"`600`\"\u003e`600`\u003c/span\u003e.\n"},"timeoutInSeconds":{"type":"integer","description":"Specifies the maximum time to attempt to reconcile the cluster git repository source with the remote. Defaults to \u003cspan pulumi-lang-nodejs=\"`600`\" pulumi-lang-dotnet=\"`600`\" pulumi-lang-go=\"`600`\" pulumi-lang-python=\"`600`\" pulumi-lang-yaml=\"`600`\" pulumi-lang-java=\"`600`\"\u003e`600`\u003c/span\u003e.\n"},"tlsEnabled":{"type":"boolean","description":"Specify whether to communicate with a bucket using TLS is enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"url":{"type":"string","description":"Specifies the URL to sync for the flux configuration S3 bucket. It must start with `http://` or `https://`.\n"}},"type":"object","required":["bucketName","url"]},"azure:arckubernetes/FluxConfigurationGitRepository:FluxConfigurationGitRepository":{"properties":{"httpsCaCertBase64":{"type":"string","description":"Specifies the Base64-encoded HTTPS certificate authority contents used to access git private git repositories over HTTPS.\n","secret":true},"httpsKeyBase64":{"type":"string","description":"Specifies the Base64-encoded HTTPS personal access token or password that will be used to access the repository.\n","secret":true},"httpsUser":{"type":"string","description":"Specifies the plaintext HTTPS username used to access private git repositories over HTTPS.\n"},"localAuthReference":{"type":"string","description":"Specifies the name of a local secret on the Kubernetes cluster to use as the authentication secret rather than the managed or user-provided configuration secrets. It must be between 1 and 63 characters. It can contain only lowercase letters, numbers, and hyphens (-). It must start and end with a lowercase letter or number.\n"},"referenceType":{"type":"string","description":"Specifies the source reference type for the GitRepository object. Possible values are \u003cspan pulumi-lang-nodejs=\"`branch`\" pulumi-lang-dotnet=\"`Branch`\" pulumi-lang-go=\"`branch`\" pulumi-lang-python=\"`branch`\" pulumi-lang-yaml=\"`branch`\" pulumi-lang-java=\"`branch`\"\u003e`branch`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`commit`\" pulumi-lang-dotnet=\"`Commit`\" pulumi-lang-go=\"`commit`\" pulumi-lang-python=\"`commit`\" pulumi-lang-yaml=\"`commit`\" pulumi-lang-java=\"`commit`\"\u003e`commit`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`semver`\" pulumi-lang-dotnet=\"`Semver`\" pulumi-lang-go=\"`semver`\" pulumi-lang-python=\"`semver`\" pulumi-lang-yaml=\"`semver`\" pulumi-lang-java=\"`semver`\"\u003e`semver`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`tag`\" pulumi-lang-dotnet=\"`Tag`\" pulumi-lang-go=\"`tag`\" pulumi-lang-python=\"`tag`\" pulumi-lang-yaml=\"`tag`\" pulumi-lang-java=\"`tag`\"\u003e`tag`\u003c/span\u003e.\n"},"referenceValue":{"type":"string","description":"Specifies the source reference value for the GitRepository object.\n"},"sshKnownHostsBase64":{"type":"string","description":"Specifies the Base64-encoded\u003cspan pulumi-lang-nodejs=\" knownHosts \" pulumi-lang-dotnet=\" KnownHosts \" pulumi-lang-go=\" knownHosts \" pulumi-lang-python=\" known_hosts \" pulumi-lang-yaml=\" knownHosts \" pulumi-lang-java=\" knownHosts \"\u003e known_hosts \u003c/span\u003evalue containing public SSH keys required to access private git repositories over SSH.\n"},"sshPrivateKeyBase64":{"type":"string","description":"Specifies the Base64-encoded SSH private key in PEM format.\n","secret":true},"syncIntervalInSeconds":{"type":"integer","description":"Specifies the interval at which to re-reconcile the cluster git repository source with the remote. Defaults to \u003cspan pulumi-lang-nodejs=\"`600`\" pulumi-lang-dotnet=\"`600`\" pulumi-lang-go=\"`600`\" pulumi-lang-python=\"`600`\" pulumi-lang-yaml=\"`600`\" pulumi-lang-java=\"`600`\"\u003e`600`\u003c/span\u003e.\n"},"timeoutInSeconds":{"type":"integer","description":"Specifies the maximum time to attempt to reconcile the cluster git repository source with the remote. Defaults to \u003cspan pulumi-lang-nodejs=\"`600`\" pulumi-lang-dotnet=\"`600`\" pulumi-lang-go=\"`600`\" pulumi-lang-python=\"`600`\" pulumi-lang-yaml=\"`600`\" pulumi-lang-java=\"`600`\"\u003e`600`\u003c/span\u003e.\n"},"url":{"type":"string","description":"Specifies the URL to sync for the flux configuration git repository. It must start with `http://`, `https://`, `git@` or `ssh://`.\n"}},"type":"object","required":["referenceType","referenceValue","url"]},"azure:arckubernetes/FluxConfigurationKustomization:FluxConfigurationKustomization":{"properties":{"dependsOns":{"type":"array","items":{"type":"string"},"description":"Specifies other kustomizations that this kustomization depends on. This kustomization will not reconcile until all dependencies have completed their reconciliation.\n"},"garbageCollectionEnabled":{"type":"boolean","description":"Whether garbage collections of Kubernetes objects created by this kustomization is enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"name":{"type":"string","description":"Specifies the name of the kustomization.\n"},"path":{"type":"string","description":"Specifies the path in the source reference to reconcile on the cluster.\n"},"recreatingEnabled":{"type":"boolean","description":"Whether re-creating Kubernetes resources on the cluster is enabled when patching fails due to an immutable field change. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"retryIntervalInSeconds":{"type":"integer","description":"The interval at which to re-reconcile the kustomization on the cluster in the event of failure on reconciliation. Defaults to \u003cspan pulumi-lang-nodejs=\"`600`\" pulumi-lang-dotnet=\"`600`\" pulumi-lang-go=\"`600`\" pulumi-lang-python=\"`600`\" pulumi-lang-yaml=\"`600`\" pulumi-lang-java=\"`600`\"\u003e`600`\u003c/span\u003e.\n"},"syncIntervalInSeconds":{"type":"integer","description":"The interval at which to re-reconcile the kustomization on the cluster. Defaults to \u003cspan pulumi-lang-nodejs=\"`600`\" pulumi-lang-dotnet=\"`600`\" pulumi-lang-go=\"`600`\" pulumi-lang-python=\"`600`\" pulumi-lang-yaml=\"`600`\" pulumi-lang-java=\"`600`\"\u003e`600`\u003c/span\u003e.\n"},"timeoutInSeconds":{"type":"integer","description":"The maximum time to attempt to reconcile the kustomization on the cluster. Defaults to \u003cspan pulumi-lang-nodejs=\"`600`\" pulumi-lang-dotnet=\"`600`\" pulumi-lang-go=\"`600`\" pulumi-lang-python=\"`600`\" pulumi-lang-yaml=\"`600`\" pulumi-lang-java=\"`600`\"\u003e`600`\u003c/span\u003e.\n"}},"type":"object","required":["name"]},"azure:arckubernetes/ProvisionedClusterAzureActiveDirectory:ProvisionedClusterAzureActiveDirectory":{"properties":{"adminGroupObjectIds":{"type":"array","items":{"type":"string"},"description":"A list of IDs of Microsoft Entra ID Groups. All members of the specified Microsoft Entra ID Groups have the cluster administrator access to the Kubernetes cluster.\n"},"azureRbacEnabled":{"type":"boolean","description":"Whether to enable Azure RBAC for Kubernetes authorization. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"tenantId":{"type":"string","description":"The Tenant ID to use for authentication. If not specified, the Tenant of the Arc Kubernetes Cluster will be used.\n"}},"type":"object"},"azure:arckubernetes/ProvisionedClusterIdentity:ProvisionedClusterIdentity":{"properties":{"principalId":{"type":"string","description":"The Principal ID associated with this Managed Service Identity.\n"},"tenantId":{"type":"string","description":"The Tenant ID associated with this Managed Service Identity.\n"},"type":{"type":"string","description":"The type of the Managed Identity. The only possible value is `SystemAssigned`. Changing this forces a new Arc Kubernetes Provisioned Cluster to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["type"],"language":{"nodejs":{"requiredOutputs":["principalId","tenantId","type"]}}},"azure:arcmachine/ArcMachineIdentity:ArcMachineIdentity":{"properties":{"principalId":{"type":"string","description":"The Principal ID associated with this Managed Service Identity.\n"},"tenantId":{"type":"string","description":"The Tenant ID associated with this Managed Service Identity.\n"},"type":{"type":"string","description":"Specifies the type of Managed Service Identity assigned to this Arc Machine. At this time the only possible value is `SystemAssigned`.\n"}},"type":"object","required":["type"],"language":{"nodejs":{"requiredOutputs":["principalId","tenantId","type"]}}},"azure:arcmachine/getAgent:getAgent":{"properties":{"extensionsAllowLists":{"type":"array","items":{"$ref":"#/types/azure:arcmachine/getAgentExtensionsAllowList:getAgentExtensionsAllowList"},"description":"A \u003cspan pulumi-lang-nodejs=\"`extensionsAllowList`\" pulumi-lang-dotnet=\"`ExtensionsAllowList`\" pulumi-lang-go=\"`extensionsAllowList`\" pulumi-lang-python=\"`extensions_allow_list`\" pulumi-lang-yaml=\"`extensionsAllowList`\" pulumi-lang-java=\"`extensionsAllowList`\"\u003e`extensions_allow_list`\u003c/span\u003e block as defined below.\n"},"extensionsBlockLists":{"type":"array","items":{"$ref":"#/types/azure:arcmachine/getAgentExtensionsBlockList:getAgentExtensionsBlockList"},"description":"A \u003cspan pulumi-lang-nodejs=\"`extensionsBlockList`\" pulumi-lang-dotnet=\"`ExtensionsBlockList`\" pulumi-lang-go=\"`extensionsBlockList`\" pulumi-lang-python=\"`extensions_block_list`\" pulumi-lang-yaml=\"`extensionsBlockList`\" pulumi-lang-java=\"`extensionsBlockList`\"\u003e`extensions_block_list`\u003c/span\u003e block as defined below.\n"},"extensionsEnabled":{"type":"boolean","description":"Specifies whether the extension service is enabled or disabled.\n"},"guestConfigurationEnabled":{"type":"boolean","description":"Specified whether the guest configuration service is enabled or disabled.\n"},"incomingConnectionsPorts":{"type":"array","items":{"type":"string"},"description":"Specifies the list of ports that the agent will be able to listen on.\n"},"proxyBypasses":{"type":"array","items":{"type":"string"},"description":"List of service names which should not use the specified proxy server.\n"},"proxyUrl":{"type":"string","description":"Specifies the URL of the proxy to be used.\n"}},"type":"object","required":["extensionsAllowLists","extensionsBlockLists","extensionsEnabled","guestConfigurationEnabled","incomingConnectionsPorts","proxyBypasses","proxyUrl"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:arcmachine/getAgentExtensionsAllowList:getAgentExtensionsAllowList":{"properties":{"publisher":{"type":"string","description":"Publisher of the extension.\n"},"type":{"type":"string","description":"The identity type.\n"}},"type":"object","required":["publisher","type"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:arcmachine/getAgentExtensionsBlockList:getAgentExtensionsBlockList":{"properties":{"publisher":{"type":"string","description":"Publisher of the extension.\n"},"type":{"type":"string","description":"The identity type.\n"}},"type":"object","required":["publisher","type"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:arcmachine/getCloudMetadata:getCloudMetadata":{"properties":{"provider":{"type":"string","description":"Specifies the cloud provider. For example `Azure`, `AWS` and `GCP`.\n"}},"type":"object","required":["provider"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:arcmachine/getIdentity:getIdentity":{"properties":{"principalId":{"type":"string","description":"The principal ID of resource identity.\n"},"tenantId":{"type":"string","description":"The tenant ID of resource.\n"},"type":{"type":"string","description":"The identity type.\n"}},"type":"object","required":["principalId","tenantId","type"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:arcmachine/getLocationData:getLocationData":{"properties":{"city":{"type":"string","description":"The city or locality where the resource is located.\n"},"countryOrRegion":{"type":"string","description":"The country or region where the resource is located.\n"},"district":{"type":"string","description":"The district, state, or province where the resource is located.\n"},"name":{"type":"string","description":"The name of this Azure Arc machine.\n"}},"type":"object","required":["city","countryOrRegion","district","name"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:arcmachine/getOsProfile:getOsProfile":{"properties":{"computerName":{"type":"string","description":"Specifies the host OS name of the Azure Arc machine.\n"},"linuxes":{"type":"array","items":{"$ref":"#/types/azure:arcmachine/getOsProfileLinux:getOsProfileLinux"},"description":"A \u003cspan pulumi-lang-nodejs=\"`linux`\" pulumi-lang-dotnet=\"`Linux`\" pulumi-lang-go=\"`linux`\" pulumi-lang-python=\"`linux`\" pulumi-lang-yaml=\"`linux`\" pulumi-lang-java=\"`linux`\"\u003e`linux`\u003c/span\u003e block as defined above.\n"},"windows":{"type":"array","items":{"$ref":"#/types/azure:arcmachine/getOsProfileWindow:getOsProfileWindow"},"description":"A \u003cspan pulumi-lang-nodejs=\"`windows`\" pulumi-lang-dotnet=\"`Windows`\" pulumi-lang-go=\"`windows`\" pulumi-lang-python=\"`windows`\" pulumi-lang-yaml=\"`windows`\" pulumi-lang-java=\"`windows`\"\u003e`windows`\u003c/span\u003e block as defined below.\n"}},"type":"object","required":["computerName","linuxes","windows"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:arcmachine/getOsProfileLinux:getOsProfileLinux":{"properties":{"patches":{"type":"array","items":{"$ref":"#/types/azure:arcmachine/getOsProfileLinuxPatch:getOsProfileLinuxPatch"},"description":"A \u003cspan pulumi-lang-nodejs=\"`patch`\" pulumi-lang-dotnet=\"`Patch`\" pulumi-lang-go=\"`patch`\" pulumi-lang-python=\"`patch`\" pulumi-lang-yaml=\"`patch`\" pulumi-lang-java=\"`patch`\"\u003e`patch`\u003c/span\u003e block as defined above.\n"}},"type":"object","required":["patches"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:arcmachine/getOsProfileLinuxPatch:getOsProfileLinuxPatch":{"properties":{"assessmentMode":{"type":"string","description":"Specifies the assessment mode.\n"},"patchMode":{"type":"string","description":"Specifies the patch mode.\n"}},"type":"object","required":["assessmentMode","patchMode"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:arcmachine/getOsProfileWindow:getOsProfileWindow":{"properties":{"patches":{"type":"array","items":{"$ref":"#/types/azure:arcmachine/getOsProfileWindowPatch:getOsProfileWindowPatch"},"description":"A \u003cspan pulumi-lang-nodejs=\"`patch`\" pulumi-lang-dotnet=\"`Patch`\" pulumi-lang-go=\"`patch`\" pulumi-lang-python=\"`patch`\" pulumi-lang-yaml=\"`patch`\" pulumi-lang-java=\"`patch`\"\u003e`patch`\u003c/span\u003e block as defined above.\n"}},"type":"object","required":["patches"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:arcmachine/getOsProfileWindowPatch:getOsProfileWindowPatch":{"properties":{"assessmentMode":{"type":"string","description":"Specifies the assessment mode.\n"},"patchMode":{"type":"string","description":"Specifies the patch mode.\n"}},"type":"object","required":["assessmentMode","patchMode"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:arcmachine/getServiceStatus:getServiceStatus":{"properties":{"extensionServices":{"type":"array","items":{"$ref":"#/types/azure:arcmachine/getServiceStatusExtensionService:getServiceStatusExtensionService"},"description":"A \u003cspan pulumi-lang-nodejs=\"`extensionService`\" pulumi-lang-dotnet=\"`ExtensionService`\" pulumi-lang-go=\"`extensionService`\" pulumi-lang-python=\"`extension_service`\" pulumi-lang-yaml=\"`extensionService`\" pulumi-lang-java=\"`extensionService`\"\u003e`extension_service`\u003c/span\u003e block as defined above.\n"},"guestConfigurationServices":{"type":"array","items":{"$ref":"#/types/azure:arcmachine/getServiceStatusGuestConfigurationService:getServiceStatusGuestConfigurationService"},"description":"A \u003cspan pulumi-lang-nodejs=\"`guestConfigurationService`\" pulumi-lang-dotnet=\"`GuestConfigurationService`\" pulumi-lang-go=\"`guestConfigurationService`\" pulumi-lang-python=\"`guest_configuration_service`\" pulumi-lang-yaml=\"`guestConfigurationService`\" pulumi-lang-java=\"`guestConfigurationService`\"\u003e`guest_configuration_service`\u003c/span\u003e block as defined above.\n"}},"type":"object","required":["extensionServices","guestConfigurationServices"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:arcmachine/getServiceStatusExtensionService:getServiceStatusExtensionService":{"properties":{"startupType":{"type":"string","description":"The behavior of the service when the Arc-enabled machine starts up.\n"},"status":{"type":"string","description":"The current status of the service.\n"}},"type":"object","required":["startupType","status"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:arcmachine/getServiceStatusGuestConfigurationService:getServiceStatusGuestConfigurationService":{"properties":{"startupType":{"type":"string","description":"The behavior of the service when the Arc-enabled machine starts up.\n"},"status":{"type":"string","description":"The current status of the service.\n"}},"type":"object","required":["startupType","status"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:authorization/RoleDefinitionPermission:RoleDefinitionPermission":{"properties":{"actions":{"type":"array","items":{"type":"string"},"description":"One or more Allowed Actions, such as `*`, `Microsoft.Resources/subscriptions/resourceGroups/read`. See ['Azure Resource Manager resource provider operations'](https://docs.microsoft.com/azure/role-based-access-control/resource-provider-operations) for details.\n"},"dataActions":{"type":"array","items":{"type":"string"},"description":"One or more Allowed Data Actions, such as `*`, `Microsoft.Storage/storageAccounts/blobServices/containers/blobs/read`. See ['Azure Resource Manager resource provider operations'](https://docs.microsoft.com/azure/role-based-access-control/resource-provider-operations) for details.\n"},"notActions":{"type":"array","items":{"type":"string"},"description":"One or more Disallowed Actions, such as `*`, `Microsoft.Resources/subscriptions/resourceGroups/read`. See ['Azure Resource Manager resource provider operations'](https://docs.microsoft.com/azure/role-based-access-control/resource-provider-operations) for details.\n"},"notDataActions":{"type":"array","items":{"type":"string"},"description":"One or more Disallowed Data Actions, such as `*`, `Microsoft.Resources/subscriptions/resourceGroups/read`. See ['Azure Resource Manager resource provider operations'](https://docs.microsoft.com/azure/role-based-access-control/resource-provider-operations) for details.\n"}},"type":"object"},"azure:authorization/getRoleDefinitionPermission:getRoleDefinitionPermission":{"properties":{"actions":{"type":"array","items":{"type":"string"},"description":"A list of actions supported by this role.\n"},"condition":{"type":"string","description":"The conditions on this role definition, which limits the resources it can be assigned to.\n"},"conditionVersion":{"type":"string","description":"The version of the condition.\n"},"dataActions":{"type":"array","items":{"type":"string"},"description":"A list of data actions allowed by this role.\n"},"notActions":{"type":"array","items":{"type":"string"},"description":"A list of actions which are denied by this role.\n"},"notDataActions":{"type":"array","items":{"type":"string"},"description":"A list of data actions which are denied by this role.\n"}},"type":"object","required":["actions","condition","conditionVersion","notActions"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:automanage/ConfigurationAntimalware:ConfigurationAntimalware":{"properties":{"exclusions":{"$ref":"#/types/azure:automanage/ConfigurationAntimalwareExclusions:ConfigurationAntimalwareExclusions","description":"A \u003cspan pulumi-lang-nodejs=\"`exclusions`\" pulumi-lang-dotnet=\"`Exclusions`\" pulumi-lang-go=\"`exclusions`\" pulumi-lang-python=\"`exclusions`\" pulumi-lang-yaml=\"`exclusions`\" pulumi-lang-java=\"`exclusions`\"\u003e`exclusions`\u003c/span\u003e block as defined below.\n"},"realTimeProtectionEnabled":{"type":"boolean","description":"Whether the real time protection is enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"scheduledScanDay":{"type":"integer","description":"The day of the scheduled scan. Possible values are \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`8`\" pulumi-lang-dotnet=\"`8`\" pulumi-lang-go=\"`8`\" pulumi-lang-python=\"`8`\" pulumi-lang-yaml=\"`8`\" pulumi-lang-java=\"`8`\"\u003e`8`\u003c/span\u003e where \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e is daily, \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`7`\" pulumi-lang-dotnet=\"`7`\" pulumi-lang-go=\"`7`\" pulumi-lang-python=\"`7`\" pulumi-lang-yaml=\"`7`\" pulumi-lang-java=\"`7`\"\u003e`7`\u003c/span\u003e are the days of the week and \u003cspan pulumi-lang-nodejs=\"`8`\" pulumi-lang-dotnet=\"`8`\" pulumi-lang-go=\"`8`\" pulumi-lang-python=\"`8`\" pulumi-lang-yaml=\"`8`\" pulumi-lang-java=\"`8`\"\u003e`8`\u003c/span\u003e is Disabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`8`\" pulumi-lang-dotnet=\"`8`\" pulumi-lang-go=\"`8`\" pulumi-lang-python=\"`8`\" pulumi-lang-yaml=\"`8`\" pulumi-lang-java=\"`8`\"\u003e`8`\u003c/span\u003e.\n"},"scheduledScanEnabled":{"type":"boolean","description":"Whether the scheduled scan is enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"scheduledScanTimeInMinutes":{"type":"integer","description":"The time of the scheduled scan in minutes. Possible values are \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`1439`\" pulumi-lang-dotnet=\"`1439`\" pulumi-lang-go=\"`1439`\" pulumi-lang-python=\"`1439`\" pulumi-lang-yaml=\"`1439`\" pulumi-lang-java=\"`1439`\"\u003e`1439`\u003c/span\u003e where \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e is 12:00 AM and \u003cspan pulumi-lang-nodejs=\"`1439`\" pulumi-lang-dotnet=\"`1439`\" pulumi-lang-go=\"`1439`\" pulumi-lang-python=\"`1439`\" pulumi-lang-yaml=\"`1439`\" pulumi-lang-java=\"`1439`\"\u003e`1439`\u003c/span\u003e is 11:59 PM.\n"},"scheduledScanType":{"type":"string","description":"The type of the scheduled scan. Possible values are `Quick` and `Full`. Defaults to `Quick`.\n"}},"type":"object"},"azure:automanage/ConfigurationAntimalwareExclusions:ConfigurationAntimalwareExclusions":{"properties":{"extensions":{"type":"string","description":"The extensions to exclude from the antimalware scan, separated by `;`. For example `.ext1;.ext2`.\n"},"paths":{"type":"string","description":"The paths to exclude from the antimalware scan, separated by `;`. For example `C:\\\\Windows\\\\Temp;D:\\\\Temp`.\n"},"processes":{"type":"string","description":"The processes to exclude from the antimalware scan, separated by `;`. For example `svchost.exe;notepad.exe`.\n"}},"type":"object"},"azure:automanage/ConfigurationAzureSecurityBaseline:ConfigurationAzureSecurityBaseline":{"properties":{"assignmentType":{"type":"string","description":"The assignment type of the azure security baseline. Possible values are `ApplyAndAutoCorrect`, `ApplyAndMonitor`, `Audit` and `DeployAndAutoCorrect`. Defaults to `ApplyAndAutoCorrect`.\n"}},"type":"object"},"azure:automanage/ConfigurationBackup:ConfigurationBackup":{"properties":{"instantRpRetentionRangeInDays":{"type":"integer","description":"The retention range in days of the backup policy. Defaults to \u003cspan pulumi-lang-nodejs=\"`5`\" pulumi-lang-dotnet=\"`5`\" pulumi-lang-go=\"`5`\" pulumi-lang-python=\"`5`\" pulumi-lang-yaml=\"`5`\" pulumi-lang-java=\"`5`\"\u003e`5`\u003c/span\u003e.\n"},"policyName":{"type":"string","description":"The name of the backup policy.\n"},"retentionPolicy":{"$ref":"#/types/azure:automanage/ConfigurationBackupRetentionPolicy:ConfigurationBackupRetentionPolicy","description":"A \u003cspan pulumi-lang-nodejs=\"`retentionPolicy`\" pulumi-lang-dotnet=\"`RetentionPolicy`\" pulumi-lang-go=\"`retentionPolicy`\" pulumi-lang-python=\"`retention_policy`\" pulumi-lang-yaml=\"`retentionPolicy`\" pulumi-lang-java=\"`retentionPolicy`\"\u003e`retention_policy`\u003c/span\u003e block as defined below.\n"},"schedulePolicy":{"$ref":"#/types/azure:automanage/ConfigurationBackupSchedulePolicy:ConfigurationBackupSchedulePolicy","description":"A \u003cspan pulumi-lang-nodejs=\"`schedulePolicy`\" pulumi-lang-dotnet=\"`SchedulePolicy`\" pulumi-lang-go=\"`schedulePolicy`\" pulumi-lang-python=\"`schedule_policy`\" pulumi-lang-yaml=\"`schedulePolicy`\" pulumi-lang-java=\"`schedulePolicy`\"\u003e`schedule_policy`\u003c/span\u003e block as defined below.\n"},"timeZone":{"type":"string","description":"The timezone of the backup policy. Defaults to `UTC`.\n"}},"type":"object"},"azure:automanage/ConfigurationBackupRetentionPolicy:ConfigurationBackupRetentionPolicy":{"properties":{"dailySchedule":{"$ref":"#/types/azure:automanage/ConfigurationBackupRetentionPolicyDailySchedule:ConfigurationBackupRetentionPolicyDailySchedule","description":"A \u003cspan pulumi-lang-nodejs=\"`dailySchedule`\" pulumi-lang-dotnet=\"`DailySchedule`\" pulumi-lang-go=\"`dailySchedule`\" pulumi-lang-python=\"`daily_schedule`\" pulumi-lang-yaml=\"`dailySchedule`\" pulumi-lang-java=\"`dailySchedule`\"\u003e`daily_schedule`\u003c/span\u003e block as defined below.\n"},"retentionPolicyType":{"type":"string","description":"The retention policy type of the backup policy. Possible value is `LongTermRetentionPolicy`. Defaults to `LongTermRetentionPolicy`.\n"},"weeklySchedule":{"$ref":"#/types/azure:automanage/ConfigurationBackupRetentionPolicyWeeklySchedule:ConfigurationBackupRetentionPolicyWeeklySchedule","description":"A \u003cspan pulumi-lang-nodejs=\"`weeklySchedule`\" pulumi-lang-dotnet=\"`WeeklySchedule`\" pulumi-lang-go=\"`weeklySchedule`\" pulumi-lang-python=\"`weekly_schedule`\" pulumi-lang-yaml=\"`weeklySchedule`\" pulumi-lang-java=\"`weeklySchedule`\"\u003e`weekly_schedule`\u003c/span\u003e block as defined below.\n"}},"type":"object"},"azure:automanage/ConfigurationBackupRetentionPolicyDailySchedule:ConfigurationBackupRetentionPolicyDailySchedule":{"properties":{"retentionDuration":{"$ref":"#/types/azure:automanage/ConfigurationBackupRetentionPolicyDailyScheduleRetentionDuration:ConfigurationBackupRetentionPolicyDailyScheduleRetentionDuration","description":"A \u003cspan pulumi-lang-nodejs=\"`retentionDuration`\" pulumi-lang-dotnet=\"`RetentionDuration`\" pulumi-lang-go=\"`retentionDuration`\" pulumi-lang-python=\"`retention_duration`\" pulumi-lang-yaml=\"`retentionDuration`\" pulumi-lang-java=\"`retentionDuration`\"\u003e`retention_duration`\u003c/span\u003e block as defined below.\n"},"retentionTimes":{"type":"array","items":{"type":"string"},"description":"The retention times of the backup policy.\n"}},"type":"object"},"azure:automanage/ConfigurationBackupRetentionPolicyDailyScheduleRetentionDuration:ConfigurationBackupRetentionPolicyDailyScheduleRetentionDuration":{"properties":{"count":{"type":"integer","description":"The count of the retention duration of the backup policy. Valid value inside \u003cspan pulumi-lang-nodejs=\"`dailySchedule`\" pulumi-lang-dotnet=\"`DailySchedule`\" pulumi-lang-go=\"`dailySchedule`\" pulumi-lang-python=\"`daily_schedule`\" pulumi-lang-yaml=\"`dailySchedule`\" pulumi-lang-java=\"`dailySchedule`\"\u003e`daily_schedule`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`7`\" pulumi-lang-dotnet=\"`7`\" pulumi-lang-go=\"`7`\" pulumi-lang-python=\"`7`\" pulumi-lang-yaml=\"`7`\" pulumi-lang-java=\"`7`\"\u003e`7`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`9999`\" pulumi-lang-dotnet=\"`9999`\" pulumi-lang-go=\"`9999`\" pulumi-lang-python=\"`9999`\" pulumi-lang-yaml=\"`9999`\" pulumi-lang-java=\"`9999`\"\u003e`9999`\u003c/span\u003e and inside \u003cspan pulumi-lang-nodejs=\"`weeklySchedule`\" pulumi-lang-dotnet=\"`WeeklySchedule`\" pulumi-lang-go=\"`weeklySchedule`\" pulumi-lang-python=\"`weekly_schedule`\" pulumi-lang-yaml=\"`weeklySchedule`\" pulumi-lang-java=\"`weeklySchedule`\"\u003e`weekly_schedule`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`5163`\" pulumi-lang-dotnet=\"`5163`\" pulumi-lang-go=\"`5163`\" pulumi-lang-python=\"`5163`\" pulumi-lang-yaml=\"`5163`\" pulumi-lang-java=\"`5163`\"\u003e`5163`\u003c/span\u003e.\n"},"durationType":{"type":"string","description":"The duration type of the retention duration of the backup policy. Valid value inside \u003cspan pulumi-lang-nodejs=\"`dailySchedule`\" pulumi-lang-dotnet=\"`DailySchedule`\" pulumi-lang-go=\"`dailySchedule`\" pulumi-lang-python=\"`daily_schedule`\" pulumi-lang-yaml=\"`dailySchedule`\" pulumi-lang-java=\"`dailySchedule`\"\u003e`daily_schedule`\u003c/span\u003e is `Days` and inside \u003cspan pulumi-lang-nodejs=\"`weeklySchedule`\" pulumi-lang-dotnet=\"`WeeklySchedule`\" pulumi-lang-go=\"`weeklySchedule`\" pulumi-lang-python=\"`weekly_schedule`\" pulumi-lang-yaml=\"`weeklySchedule`\" pulumi-lang-java=\"`weeklySchedule`\"\u003e`weekly_schedule`\u003c/span\u003e is `Weeks`. Defaults to `Days`.\n"}},"type":"object"},"azure:automanage/ConfigurationBackupRetentionPolicyWeeklySchedule:ConfigurationBackupRetentionPolicyWeeklySchedule":{"properties":{"retentionDuration":{"$ref":"#/types/azure:automanage/ConfigurationBackupRetentionPolicyWeeklyScheduleRetentionDuration:ConfigurationBackupRetentionPolicyWeeklyScheduleRetentionDuration","description":"A \u003cspan pulumi-lang-nodejs=\"`retentionDuration`\" pulumi-lang-dotnet=\"`RetentionDuration`\" pulumi-lang-go=\"`retentionDuration`\" pulumi-lang-python=\"`retention_duration`\" pulumi-lang-yaml=\"`retentionDuration`\" pulumi-lang-java=\"`retentionDuration`\"\u003e`retention_duration`\u003c/span\u003e block as defined below.\n"},"retentionTimes":{"type":"array","items":{"type":"string"},"description":"The retention times of the backup policy.\n"}},"type":"object"},"azure:automanage/ConfigurationBackupRetentionPolicyWeeklyScheduleRetentionDuration:ConfigurationBackupRetentionPolicyWeeklyScheduleRetentionDuration":{"properties":{"count":{"type":"integer","description":"The count of the retention duration of the backup policy. Valid value inside \u003cspan pulumi-lang-nodejs=\"`dailySchedule`\" pulumi-lang-dotnet=\"`DailySchedule`\" pulumi-lang-go=\"`dailySchedule`\" pulumi-lang-python=\"`daily_schedule`\" pulumi-lang-yaml=\"`dailySchedule`\" pulumi-lang-java=\"`dailySchedule`\"\u003e`daily_schedule`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`7`\" pulumi-lang-dotnet=\"`7`\" pulumi-lang-go=\"`7`\" pulumi-lang-python=\"`7`\" pulumi-lang-yaml=\"`7`\" pulumi-lang-java=\"`7`\"\u003e`7`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`9999`\" pulumi-lang-dotnet=\"`9999`\" pulumi-lang-go=\"`9999`\" pulumi-lang-python=\"`9999`\" pulumi-lang-yaml=\"`9999`\" pulumi-lang-java=\"`9999`\"\u003e`9999`\u003c/span\u003e and inside \u003cspan pulumi-lang-nodejs=\"`weeklySchedule`\" pulumi-lang-dotnet=\"`WeeklySchedule`\" pulumi-lang-go=\"`weeklySchedule`\" pulumi-lang-python=\"`weekly_schedule`\" pulumi-lang-yaml=\"`weeklySchedule`\" pulumi-lang-java=\"`weeklySchedule`\"\u003e`weekly_schedule`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`5163`\" pulumi-lang-dotnet=\"`5163`\" pulumi-lang-go=\"`5163`\" pulumi-lang-python=\"`5163`\" pulumi-lang-yaml=\"`5163`\" pulumi-lang-java=\"`5163`\"\u003e`5163`\u003c/span\u003e.\n"},"durationType":{"type":"string","description":"The duration type of the retention duration of the backup policy. Valid value inside \u003cspan pulumi-lang-nodejs=\"`dailySchedule`\" pulumi-lang-dotnet=\"`DailySchedule`\" pulumi-lang-go=\"`dailySchedule`\" pulumi-lang-python=\"`daily_schedule`\" pulumi-lang-yaml=\"`dailySchedule`\" pulumi-lang-java=\"`dailySchedule`\"\u003e`daily_schedule`\u003c/span\u003e is `Days` and inside \u003cspan pulumi-lang-nodejs=\"`weeklySchedule`\" pulumi-lang-dotnet=\"`WeeklySchedule`\" pulumi-lang-go=\"`weeklySchedule`\" pulumi-lang-python=\"`weekly_schedule`\" pulumi-lang-yaml=\"`weeklySchedule`\" pulumi-lang-java=\"`weeklySchedule`\"\u003e`weekly_schedule`\u003c/span\u003e is `Weeks`. Defaults to `Days`.\n"}},"type":"object"},"azure:automanage/ConfigurationBackupSchedulePolicy:ConfigurationBackupSchedulePolicy":{"properties":{"schedulePolicyType":{"type":"string","description":"The schedule policy type of the backup policy. Possible value is `SimpleSchedulePolicy`. Defaults to `SimpleSchedulePolicy`.\n"},"scheduleRunDays":{"type":"array","items":{"type":"string"},"description":"The schedule run days of the backup policy. Possible values are `Sunday`, `Monday`, `Tuesday`, `Wednesday`, `Thursday`, `Friday` and `Saturday`.\n"},"scheduleRunFrequency":{"type":"string","description":"The schedule run frequency of the backup policy. Possible values are `Daily` and `Weekly`. Defaults to `Daily`.\n"},"scheduleRunTimes":{"type":"array","items":{"type":"string"},"description":"The schedule run times of the backup policy.\n"}},"type":"object"},"azure:automation/AccountEncryption:AccountEncryption":{"properties":{"keySource":{"type":"string","deprecationMessage":"`encryption.key_source` has been deprecated and will be removed in v5.0 of the AzureRM Provider. To disable encryption, omit the \u003cspan pulumi-lang-nodejs=\"`encryption`\" pulumi-lang-dotnet=\"`Encryption`\" pulumi-lang-go=\"`encryption`\" pulumi-lang-python=\"`encryption`\" pulumi-lang-yaml=\"`encryption`\" pulumi-lang-java=\"`encryption`\"\u003e`encryption`\u003c/span\u003e block"},"keyVaultKeyId":{"type":"string","description":"The ID of the Key Vault Key which should be used to Encrypt the data in this Automation Account.\n"},"userAssignedIdentityId":{"type":"string","description":"The User Assigned Managed Identity ID to be used for accessing the Customer Managed Key for encryption.\n"}},"type":"object","required":["keyVaultKeyId"]},"azure:automation/AccountIdentity:AccountIdentity":{"properties":{"identityIds":{"type":"array","items":{"type":"string"},"description":"The ID of the User Assigned Identity which should be assigned to this Automation Account.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`identityIds`\" pulumi-lang-dotnet=\"`IdentityIds`\" pulumi-lang-go=\"`identityIds`\" pulumi-lang-python=\"`identity_ids`\" pulumi-lang-yaml=\"`identityIds`\" pulumi-lang-java=\"`identityIds`\"\u003e`identity_ids`\u003c/span\u003e is required when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to `UserAssigned` or `SystemAssigned, UserAssigned`.\n"},"principalId":{"type":"string","description":"The Principal ID associated with this Managed Service Identity.\n"},"tenantId":{"type":"string","description":"The Tenant ID associated with this Managed Service Identity.\n"},"type":{"type":"string","description":"The type of identity used for this Automation Account. Possible values are `SystemAssigned`, `UserAssigned` and `SystemAssigned, UserAssigned`.\n"}},"type":"object","required":["type"],"language":{"nodejs":{"requiredOutputs":["principalId","tenantId","type"]}}},"azure:automation/AccountPrivateEndpointConnection:AccountPrivateEndpointConnection":{"properties":{"id":{"type":"string","description":"The ID of the Automation Account.\n"},"name":{"type":"string","description":"Specifies the name of the Automation Account. Changing this forces a new resource to be created.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["id","name"]}}},"azure:automation/ConnectionTypeField:ConnectionTypeField":{"properties":{"isEncrypted":{"type":"boolean","description":"Whether to set the isEncrypted flag of the connection field definition.\n"},"isOptional":{"type":"boolean","description":"Whether to set the isOptional flag of the connection field definition.\n"},"name":{"type":"string","description":"The name which should be used for this connection field definition.\n"},"type":{"type":"string","description":"The type of the connection field definition.\n"}},"type":"object","required":["name","type"]},"azure:automation/ModuleModuleLink:ModuleModuleLink":{"properties":{"hash":{"$ref":"#/types/azure:automation/ModuleModuleLinkHash:ModuleModuleLinkHash","description":"A \u003cspan pulumi-lang-nodejs=\"`hash`\" pulumi-lang-dotnet=\"`Hash`\" pulumi-lang-go=\"`hash`\" pulumi-lang-python=\"`hash`\" pulumi-lang-yaml=\"`hash`\" pulumi-lang-java=\"`hash`\"\u003e`hash`\u003c/span\u003e block as defined below.\n"},"uri":{"type":"string","description":"The URI of the module content (zip or nupkg).\n"}},"type":"object","required":["uri"]},"azure:automation/ModuleModuleLinkHash:ModuleModuleLinkHash":{"properties":{"algorithm":{"type":"string","description":"Specifies the algorithm used for the hash content.\n"},"value":{"type":"string","description":"The hash value of the content.\n"}},"type":"object","required":["algorithm","value"]},"azure:automation/Powershell72ModuleModuleLink:Powershell72ModuleModuleLink":{"properties":{"hash":{"$ref":"#/types/azure:automation/Powershell72ModuleModuleLinkHash:Powershell72ModuleModuleLinkHash","description":"A \u003cspan pulumi-lang-nodejs=\"`hash`\" pulumi-lang-dotnet=\"`Hash`\" pulumi-lang-go=\"`hash`\" pulumi-lang-python=\"`hash`\" pulumi-lang-yaml=\"`hash`\" pulumi-lang-java=\"`hash`\"\u003e`hash`\u003c/span\u003e block as defined below.\n"},"uri":{"type":"string","description":"The URI of the module content (zip or nupkg).\n"}},"type":"object","required":["uri"]},"azure:automation/Powershell72ModuleModuleLinkHash:Powershell72ModuleModuleLinkHash":{"properties":{"algorithm":{"type":"string","description":"Specifies the algorithm used for the hash content.\n"},"value":{"type":"string","description":"The hash value of the content.\n"}},"type":"object","required":["algorithm","value"]},"azure:automation/RunBookDraft:RunBookDraft":{"properties":{"contentLink":{"$ref":"#/types/azure:automation/RunBookDraftContentLink:RunBookDraftContentLink","description":"A \u003cspan pulumi-lang-nodejs=\"`publishContentLink`\" pulumi-lang-dotnet=\"`PublishContentLink`\" pulumi-lang-go=\"`publishContentLink`\" pulumi-lang-python=\"`publish_content_link`\" pulumi-lang-yaml=\"`publishContentLink`\" pulumi-lang-java=\"`publishContentLink`\"\u003e`publish_content_link`\u003c/span\u003e block as defined above.\n"},"creationTime":{"type":"string"},"editModeEnabled":{"type":"boolean","description":"Whether the draft in edit mode.\n"},"lastModifiedTime":{"type":"string"},"outputTypes":{"type":"array","items":{"type":"string"},"description":"Specifies the output types of the runbook.\n"},"parameters":{"type":"array","items":{"$ref":"#/types/azure:automation/RunBookDraftParameter:RunBookDraftParameter"},"description":"A list of \u003cspan pulumi-lang-nodejs=\"`parameters`\" pulumi-lang-dotnet=\"`Parameters`\" pulumi-lang-go=\"`parameters`\" pulumi-lang-python=\"`parameters`\" pulumi-lang-yaml=\"`parameters`\" pulumi-lang-java=\"`parameters`\"\u003e`parameters`\u003c/span\u003e block as defined below.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["creationTime","lastModifiedTime"]}}},"azure:automation/RunBookDraftContentLink:RunBookDraftContentLink":{"properties":{"hash":{"$ref":"#/types/azure:automation/RunBookDraftContentLinkHash:RunBookDraftContentLinkHash","description":"A \u003cspan pulumi-lang-nodejs=\"`hash`\" pulumi-lang-dotnet=\"`Hash`\" pulumi-lang-go=\"`hash`\" pulumi-lang-python=\"`hash`\" pulumi-lang-yaml=\"`hash`\" pulumi-lang-java=\"`hash`\"\u003e`hash`\u003c/span\u003e block as defined below.\n"},"uri":{"type":"string","description":"The URI of the runbook content.\n"},"version":{"type":"string","description":"Specifies the version of the content\n"}},"type":"object","required":["uri"]},"azure:automation/RunBookDraftContentLinkHash:RunBookDraftContentLinkHash":{"properties":{"algorithm":{"type":"string","description":"Specifies the hash algorithm used to hash the content.\n"},"value":{"type":"string","description":"Specifies the expected hash value of the content.\n"}},"type":"object","required":["algorithm","value"]},"azure:automation/RunBookDraftParameter:RunBookDraftParameter":{"properties":{"defaultValue":{"type":"string","description":"Specifies the default value of the parameter.\n"},"key":{"type":"string","description":"The name of the parameter.\n"},"mandatory":{"type":"boolean","description":"Whether this parameter is mandatory.\n"},"position":{"type":"integer","description":"Specifies the position of the parameter.\n"},"type":{"type":"string","description":"Specifies the type of this parameter.\n"}},"type":"object","required":["key","type"]},"azure:automation/RunBookJobSchedule:RunBookJobSchedule":{"properties":{"jobScheduleId":{"type":"string","description":"The UUID of automation runbook job schedule ID.\n"},"parameters":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of key/value pairs corresponding to the arguments that can be passed to the Runbook.\n\n\u003e **Note:** The parameter keys/names must strictly be in lowercase, even if this is not the case in the runbook. This is due to a limitation in Azure Automation where the parameter names are normalized. The values specified don't have this limitation.\n"},"runOn":{"type":"string","description":"Name of a Hybrid Worker Group the Runbook will be executed on.\n"},"scheduleName":{"type":"string","description":"The name of the Schedule.\n"}},"type":"object","required":["scheduleName"],"language":{"nodejs":{"requiredOutputs":["jobScheduleId","scheduleName"]}}},"azure:automation/RunBookPublishContentLink:RunBookPublishContentLink":{"properties":{"hash":{"$ref":"#/types/azure:automation/RunBookPublishContentLinkHash:RunBookPublishContentLinkHash","description":"A \u003cspan pulumi-lang-nodejs=\"`hash`\" pulumi-lang-dotnet=\"`Hash`\" pulumi-lang-go=\"`hash`\" pulumi-lang-python=\"`hash`\" pulumi-lang-yaml=\"`hash`\" pulumi-lang-java=\"`hash`\"\u003e`hash`\u003c/span\u003e block as defined below.\n"},"uri":{"type":"string","description":"The URI of the runbook content.\n"},"version":{"type":"string","description":"Specifies the version of the content\n"}},"type":"object","required":["uri"]},"azure:automation/RunBookPublishContentLinkHash:RunBookPublishContentLinkHash":{"properties":{"algorithm":{"type":"string","description":"Specifies the hash algorithm used to hash the content.\n"},"value":{"type":"string","description":"Specifies the expected hash value of the content.\n"}},"type":"object","required":["algorithm","value"]},"azure:automation/ScheduleMonthlyOccurrence:ScheduleMonthlyOccurrence":{"properties":{"day":{"type":"string","description":"Day of the occurrence. Must be one of `Monday`, `Tuesday`, `Wednesday`, `Thursday`, `Friday`, `Saturday`, `Sunday`.\n"},"occurrence":{"type":"integer","description":"Occurrence of the week within the month. Must be between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`5`\" pulumi-lang-dotnet=\"`5`\" pulumi-lang-go=\"`5`\" pulumi-lang-python=\"`5`\" pulumi-lang-yaml=\"`5`\" pulumi-lang-java=\"`5`\"\u003e`5`\u003c/span\u003e. `-1` for last week within the month.\n"}},"type":"object","required":["day","occurrence"]},"azure:automation/SoftwareUpdateConfigurationLinux:SoftwareUpdateConfigurationLinux":{"properties":{"classificationsIncludeds":{"type":"array","items":{"type":"string"},"description":"Specifies the list of update classifications included in the Software Update Configuration. Possible values are `Unclassified`, `Critical`, `Security` and `Other`.\n"},"excludedPackages":{"type":"array","items":{"type":"string"},"description":"Specifies a list of packages to excluded from the Software Update Configuration.\n"},"includedPackages":{"type":"array","items":{"type":"string"},"description":"Specifies a list of packages to included from the Software Update Configuration.\n"},"reboot":{"type":"string","description":"Specifies the reboot settings after software update, possible values are `IfRequired`, `Never`, `RebootOnly` and `Always`. Defaults to `IfRequired`.\n"}},"type":"object","required":["classificationsIncludeds"]},"azure:automation/SoftwareUpdateConfigurationPostTask:SoftwareUpdateConfigurationPostTask":{"properties":{"parameters":{"type":"object","additionalProperties":{"type":"string"},"description":"Specifies a map of parameters for the task.\n"},"source":{"type":"string","description":"The name of the runbook for the post task.\n"}},"type":"object"},"azure:automation/SoftwareUpdateConfigurationPreTask:SoftwareUpdateConfigurationPreTask":{"properties":{"parameters":{"type":"object","additionalProperties":{"type":"string"},"description":"Specifies a map of parameters for the task.\n"},"source":{"type":"string","description":"The name of the runbook for the pre task.\n"}},"type":"object"},"azure:automation/SoftwareUpdateConfigurationSchedule:SoftwareUpdateConfigurationSchedule":{"properties":{"advancedMonthDays":{"type":"array","items":{"type":"integer"},"description":"List of days of the month that the job should execute on. Must be between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`31`\" pulumi-lang-dotnet=\"`31`\" pulumi-lang-go=\"`31`\" pulumi-lang-python=\"`31`\" pulumi-lang-yaml=\"`31`\" pulumi-lang-java=\"`31`\"\u003e`31`\u003c/span\u003e. `-1` for last day of the month. Only valid when frequency is `Month`.\n"},"advancedWeekDays":{"type":"array","items":{"type":"string"},"description":"List of days of the week that the job should execute on. Only valid when frequency is `Week`. Possible values include `Monday`, `Tuesday`, `Wednesday`, `Thursday`, `Friday`, `Saturday`, and `Sunday`.\n"},"creationTime":{"type":"string"},"description":{"type":"string","description":"A description for this Schedule.\n"},"expiryTime":{"type":"string","description":"The end time of the schedule.\n"},"expiryTimeOffsetMinutes":{"type":"number","description":"The time offset in minutes for the expiry time.\n"},"frequency":{"type":"string","description":"The frequency of the schedule. - can be either `OneTime`, `Day`, `Hour`, `Week`, or `Month`.\n"},"interval":{"type":"integer","description":"The number of \u003cspan pulumi-lang-nodejs=\"`frequency`\" pulumi-lang-dotnet=\"`Frequency`\" pulumi-lang-go=\"`frequency`\" pulumi-lang-python=\"`frequency`\" pulumi-lang-yaml=\"`frequency`\" pulumi-lang-java=\"`frequency`\"\u003e`frequency`\u003c/span\u003es between runs. Only valid when frequency is `Day`, `Hour`, `Week`, or `Month`.\n"},"isEnabled":{"type":"boolean","description":"Whether the schedule is enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"lastModifiedTime":{"type":"string"},"monthlyOccurrence":{"$ref":"#/types/azure:automation/SoftwareUpdateConfigurationScheduleMonthlyOccurrence:SoftwareUpdateConfigurationScheduleMonthlyOccurrence","description":"List of \u003cspan pulumi-lang-nodejs=\"`monthlyOccurrence`\" pulumi-lang-dotnet=\"`MonthlyOccurrence`\" pulumi-lang-go=\"`monthlyOccurrence`\" pulumi-lang-python=\"`monthly_occurrence`\" pulumi-lang-yaml=\"`monthlyOccurrence`\" pulumi-lang-java=\"`monthlyOccurrence`\"\u003e`monthly_occurrence`\u003c/span\u003e blocks as defined below to specifies occurrences of days within a month. Only valid when frequency is `Month`. The \u003cspan pulumi-lang-nodejs=\"`monthlyOccurrence`\" pulumi-lang-dotnet=\"`MonthlyOccurrence`\" pulumi-lang-go=\"`monthlyOccurrence`\" pulumi-lang-python=\"`monthly_occurrence`\" pulumi-lang-yaml=\"`monthlyOccurrence`\" pulumi-lang-java=\"`monthlyOccurrence`\"\u003e`monthly_occurrence`\u003c/span\u003e block supports fields as defined below.\n"},"nextRun":{"type":"string"},"nextRunOffsetMinutes":{"type":"number","description":"The time offset in minutes for the next run time.\n"},"startTime":{"type":"string","description":"Start time of the schedule. Must be at least five minutes in the future. Defaults to seven minutes in the future from the time the resource is created.\n"},"startTimeOffsetMinutes":{"type":"number","description":"The time offset in minutes for the start time.\n"},"timeZone":{"type":"string","description":"The timezone of the start time. Defaults to `Etc/UTC`. For possible values see: \u003chttps://docs.microsoft.com/en-us/rest/api/maps/timezone/gettimezoneenumwindows\u003e\n"}},"type":"object","required":["frequency"],"language":{"nodejs":{"requiredOutputs":["creationTime","expiryTime","frequency","lastModifiedTime","nextRun","startTime"]}}},"azure:automation/SoftwareUpdateConfigurationScheduleMonthlyOccurrence:SoftwareUpdateConfigurationScheduleMonthlyOccurrence":{"properties":{"day":{"type":"string","description":"Day of the occurrence. Must be one of `Monday`, `Tuesday`, `Wednesday`, `Thursday`, `Friday`, `Saturday`, `Sunday`.\n"},"occurrence":{"type":"integer","description":"Occurrence of the week within the month. Must be between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`4`\" pulumi-lang-dotnet=\"`4`\" pulumi-lang-go=\"`4`\" pulumi-lang-python=\"`4`\" pulumi-lang-yaml=\"`4`\" pulumi-lang-java=\"`4`\"\u003e`4`\u003c/span\u003e. `-1` for last week within the month.\n"}},"type":"object","required":["day","occurrence"]},"azure:automation/SoftwareUpdateConfigurationTarget:SoftwareUpdateConfigurationTarget":{"properties":{"azureQueries":{"type":"array","items":{"$ref":"#/types/azure:automation/SoftwareUpdateConfigurationTargetAzureQuery:SoftwareUpdateConfigurationTargetAzureQuery"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`azureQuery`\" pulumi-lang-dotnet=\"`AzureQuery`\" pulumi-lang-go=\"`azureQuery`\" pulumi-lang-python=\"`azure_query`\" pulumi-lang-yaml=\"`azureQuery`\" pulumi-lang-java=\"`azureQuery`\"\u003e`azure_query`\u003c/span\u003e blocks as defined above.\n"},"nonAzureQueries":{"type":"array","items":{"$ref":"#/types/azure:automation/SoftwareUpdateConfigurationTargetNonAzureQuery:SoftwareUpdateConfigurationTargetNonAzureQuery"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`nonAzureQuery`\" pulumi-lang-dotnet=\"`NonAzureQuery`\" pulumi-lang-go=\"`nonAzureQuery`\" pulumi-lang-python=\"`non_azure_query`\" pulumi-lang-yaml=\"`nonAzureQuery`\" pulumi-lang-java=\"`nonAzureQuery`\"\u003e`non_azure_query`\u003c/span\u003e blocks as defined above.\n"}},"type":"object"},"azure:automation/SoftwareUpdateConfigurationTargetAzureQuery:SoftwareUpdateConfigurationTargetAzureQuery":{"properties":{"locations":{"type":"array","items":{"type":"string"},"description":"Specifies a list of locations to scope the query to.\n"},"scopes":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Subscription or Resource Group ARM Ids to query.\n"},"tagFilter":{"type":"string","description":"Specifies how the specified tags to filter VMs. Possible values are `Any` and `All`.\n"},"tags":{"type":"array","items":{"$ref":"#/types/azure:automation/SoftwareUpdateConfigurationTargetAzureQueryTag:SoftwareUpdateConfigurationTargetAzureQueryTag"},"description":"A mapping of tags used for query filter. One or more \u003cspan pulumi-lang-nodejs=\"`tags`\" pulumi-lang-dotnet=\"`Tags`\" pulumi-lang-go=\"`tags`\" pulumi-lang-python=\"`tags`\" pulumi-lang-yaml=\"`tags`\" pulumi-lang-java=\"`tags`\"\u003e`tags`\u003c/span\u003e block as defined below.\n"}},"type":"object"},"azure:automation/SoftwareUpdateConfigurationTargetAzureQueryTag:SoftwareUpdateConfigurationTargetAzureQueryTag":{"properties":{"tag":{"type":"string","description":"Specifies the name of the tag to filter.\n"},"values":{"type":"array","items":{"type":"string"},"description":"Specifies a list of values for this tag key.\n"}},"type":"object","required":["tag","values"]},"azure:automation/SoftwareUpdateConfigurationTargetNonAzureQuery:SoftwareUpdateConfigurationTargetNonAzureQuery":{"properties":{"functionAlias":{"type":"string","description":"Specifies the Log Analytics save search name.\n"},"workspaceId":{"type":"string","description":"The workspace id for Log Analytics in which the saved search in.\n"}},"type":"object"},"azure:automation/SoftwareUpdateConfigurationWindows:SoftwareUpdateConfigurationWindows":{"properties":{"classificationsIncludeds":{"type":"array","items":{"type":"string"},"description":"Specifies the list of update classification. Possible values are `Unclassified`, `Critical`, `Security`, `UpdateRollup`, `FeaturePack`, `ServicePack`, `Definition`, `Tools` and `Updates`.\n"},"excludedKnowledgeBaseNumbers":{"type":"array","items":{"type":"string"},"description":"Specifies a list of knowledge base numbers excluded.\n"},"includedKnowledgeBaseNumbers":{"type":"array","items":{"type":"string"},"description":"Specifies a list of knowledge base numbers included.\n"},"reboot":{"type":"string","description":"Specifies the reboot settings after software update, possible values are `IfRequired`, `Never`, `RebootOnly` and `Always`. Defaults to `IfRequired`.\n"}},"type":"object","required":["classificationsIncludeds"]},"azure:automation/SourceControlSecurity:SourceControlSecurity":{"properties":{"refreshToken":{"type":"string","description":"The refresh token of specified rpeo.\n"},"token":{"type":"string","description":"The access token of specified repo.\n"},"tokenType":{"type":"string","description":"Specify the token type, possible values are `PersonalAccessToken` and `Oauth`.\n"}},"type":"object","required":["token","tokenType"]},"azure:automation/getAccountIdentity:getAccountIdentity":{"properties":{"identityIds":{"type":"array","items":{"type":"string"},"description":"The list of User Assigned Managed Identity IDs assigned to this Automation Account.\n"},"principalId":{"type":"string","description":"The Principal ID of the System Assigned Managed Service Identity that is configured on this Automation Account.\n"},"tenantId":{"type":"string","description":"The Tenant ID of the System Assigned Managed Service Identity that is configured on this Automation Account.\n"},"type":{"type":"string","description":"The type of Managed Service Identity that is configured on this Automation Account.\n"}},"type":"object","required":["identityIds","principalId","tenantId","type"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:automation/getAccountPrivateEndpointConnection:getAccountPrivateEndpointConnection":{"properties":{"id":{"type":"string","description":"The ID of the Automation Account\n"},"name":{"type":"string","description":"The name of the Automation Account.\n"}},"type":"object","required":["id","name"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:automation/getVariablesBool:getVariablesBool":{"properties":{"description":{"type":"string","description":"The description of the Automation Variable.\n"},"encrypted":{"type":"boolean","description":"Specifies if the Automation Variable is encrypted.\n"},"id":{"type":"string"},"name":{"type":"string","description":"The name of the Automation Variable.\n"},"value":{"type":"boolean","description":"The value of the Automation Variable.\n"}},"type":"object","required":["description","encrypted","id","name","value"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:automation/getVariablesDatetime:getVariablesDatetime":{"properties":{"description":{"type":"string","description":"The description of the Automation Variable.\n"},"encrypted":{"type":"boolean","description":"Specifies if the Automation Variable is encrypted.\n"},"id":{"type":"string"},"name":{"type":"string","description":"The name of the Automation Variable.\n"},"value":{"type":"string","description":"The value of the Automation Variable.\n"}},"type":"object","required":["description","encrypted","id","name","value"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:automation/getVariablesEncrypted:getVariablesEncrypted":{"properties":{"description":{"type":"string","description":"The description of the Automation Variable.\n"},"encrypted":{"type":"boolean","description":"Specifies if the Automation Variable is encrypted.\n"},"id":{"type":"string"},"name":{"type":"string","description":"The name of the Automation Variable.\n"},"value":{"type":"string","description":"The value of the Automation Variable.\n"}},"type":"object","required":["description","encrypted","id","name","value"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:automation/getVariablesInt:getVariablesInt":{"properties":{"description":{"type":"string","description":"The description of the Automation Variable.\n"},"encrypted":{"type":"boolean","description":"Specifies if the Automation Variable is encrypted.\n"},"id":{"type":"string"},"name":{"type":"string","description":"The name of the Automation Variable.\n"},"value":{"type":"integer","description":"The value of the Automation Variable.\n"}},"type":"object","required":["description","encrypted","id","name","value"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:automation/getVariablesNull:getVariablesNull":{"properties":{"description":{"type":"string","description":"The description of the Automation Variable.\n"},"encrypted":{"type":"boolean","description":"Specifies if the Automation Variable is encrypted.\n"},"id":{"type":"string"},"name":{"type":"string","description":"The name of the Automation Variable.\n"},"value":{"type":"string","description":"The value of the Automation Variable.\n"}},"type":"object","required":["description","encrypted","id","name","value"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:automation/getVariablesObject:getVariablesObject":{"properties":{"description":{"type":"string","description":"The description of the Automation Variable.\n"},"encrypted":{"type":"boolean","description":"Specifies if the Automation Variable is encrypted.\n"},"id":{"type":"string"},"name":{"type":"string","description":"The name of the Automation Variable.\n"},"value":{"type":"string","description":"The value of the Automation Variable.\n"}},"type":"object","required":["description","encrypted","id","name","value"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:automation/getVariablesString:getVariablesString":{"properties":{"description":{"type":"string","description":"The description of the Automation Variable.\n"},"encrypted":{"type":"boolean","description":"Specifies if the Automation Variable is encrypted.\n"},"id":{"type":"string"},"name":{"type":"string","description":"The name of the Automation Variable.\n"},"value":{"type":"string","description":"The value of the Automation Variable.\n"}},"type":"object","required":["description","encrypted","id","name","value"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:avs/PrivateCloudCircuit:PrivateCloudCircuit":{"properties":{"expressRouteId":{"type":"string","description":"The ID of the ExpressRoute Circuit.\n"},"expressRoutePrivatePeeringId":{"type":"string","description":"The ID of the ExpressRoute Circuit private peering.\n"},"primarySubnetCidr":{"type":"string","description":"The CIDR of the primary subnet.\n"},"secondarySubnetCidr":{"type":"string","description":"The CIDR of the secondary subnet.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["expressRouteId","expressRoutePrivatePeeringId","primarySubnetCidr","secondarySubnetCidr"]}}},"azure:avs/PrivateCloudManagementCluster:PrivateCloudManagementCluster":{"properties":{"hosts":{"type":"array","items":{"type":"string"},"description":"A list of hosts in the management cluster.\n"},"id":{"type":"integer","description":"The ID of the management cluster.\n"},"size":{"type":"integer","description":"The size of the management cluster. This field can not updated with \u003cspan pulumi-lang-nodejs=\"`internetConnectionEnabled`\" pulumi-lang-dotnet=\"`InternetConnectionEnabled`\" pulumi-lang-go=\"`internetConnectionEnabled`\" pulumi-lang-python=\"`internet_connection_enabled`\" pulumi-lang-yaml=\"`internetConnectionEnabled`\" pulumi-lang-java=\"`internetConnectionEnabled`\"\u003e`internet_connection_enabled`\u003c/span\u003e together.\n"}},"type":"object","required":["size"],"language":{"nodejs":{"requiredOutputs":["hosts","id","size"]}}},"azure:avs/getPrivateCloudCircuit:getPrivateCloudCircuit":{"properties":{"expressRouteId":{"type":"string","description":"The ID of the ExpressRoute Circuit.\n"},"expressRoutePrivatePeeringId":{"type":"string","description":"The ID of the ExpressRoute Circuit private peering.\n"},"primarySubnetCidr":{"type":"string","description":"The CIDR of the primary subnet.\n"},"secondarySubnetCidr":{"type":"string","description":"The CIDR of the secondary subnet.\n"}},"type":"object","required":["expressRouteId","expressRoutePrivatePeeringId","primarySubnetCidr","secondarySubnetCidr"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:avs/getPrivateCloudManagementCluster:getPrivateCloudManagementCluster":{"properties":{"hosts":{"type":"array","items":{"type":"string"},"description":"The list of the hosts in the management cluster.\n"},"id":{"type":"integer","description":"The ID of the management cluster.\n"},"size":{"type":"integer","description":"The size of the management cluster.\n"}},"type":"object","required":["hosts","id","size"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:backup/PolicyFileShareBackup:PolicyFileShareBackup":{"properties":{"frequency":{"type":"string","description":"Sets the backup frequency. Possible values are `Daily` and `Hourly`. \n\n\u003e **Note:** This argument is made available for consistency with VM backup policies and to allow for potential future support of weekly backups\n"},"hourly":{"$ref":"#/types/azure:backup/PolicyFileShareBackupHourly:PolicyFileShareBackupHourly","description":"A \u003cspan pulumi-lang-nodejs=\"`hourly`\" pulumi-lang-dotnet=\"`Hourly`\" pulumi-lang-go=\"`hourly`\" pulumi-lang-python=\"`hourly`\" pulumi-lang-yaml=\"`hourly`\" pulumi-lang-java=\"`hourly`\"\u003e`hourly`\u003c/span\u003e block defined as below. This is required when \u003cspan pulumi-lang-nodejs=\"`frequency`\" pulumi-lang-dotnet=\"`Frequency`\" pulumi-lang-go=\"`frequency`\" pulumi-lang-python=\"`frequency`\" pulumi-lang-yaml=\"`frequency`\" pulumi-lang-java=\"`frequency`\"\u003e`frequency`\u003c/span\u003e is set to `Hourly`.\n"},"time":{"type":"string","description":"The time of day to perform the backup in 24-hour format. Times must be either on the hour or half hour (e.g. 12:00, 12:30, 13:00, etc.)\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`time`\" pulumi-lang-dotnet=\"`Time`\" pulumi-lang-go=\"`time`\" pulumi-lang-python=\"`time`\" pulumi-lang-yaml=\"`time`\" pulumi-lang-java=\"`time`\"\u003e`time`\u003c/span\u003e is required when \u003cspan pulumi-lang-nodejs=\"`frequency`\" pulumi-lang-dotnet=\"`Frequency`\" pulumi-lang-go=\"`frequency`\" pulumi-lang-python=\"`frequency`\" pulumi-lang-yaml=\"`frequency`\" pulumi-lang-java=\"`frequency`\"\u003e`frequency`\u003c/span\u003e is set to `Daily`.\n"}},"type":"object","required":["frequency"]},"azure:backup/PolicyFileShareBackupHourly:PolicyFileShareBackupHourly":{"properties":{"interval":{"type":"integer","description":"Specifies the interval at which backup needs to be triggered. Possible values are \u003cspan pulumi-lang-nodejs=\"`4`\" pulumi-lang-dotnet=\"`4`\" pulumi-lang-go=\"`4`\" pulumi-lang-python=\"`4`\" pulumi-lang-yaml=\"`4`\" pulumi-lang-java=\"`4`\"\u003e`4`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`6`\" pulumi-lang-dotnet=\"`6`\" pulumi-lang-go=\"`6`\" pulumi-lang-python=\"`6`\" pulumi-lang-yaml=\"`6`\" pulumi-lang-java=\"`6`\"\u003e`6`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`8`\" pulumi-lang-dotnet=\"`8`\" pulumi-lang-go=\"`8`\" pulumi-lang-python=\"`8`\" pulumi-lang-yaml=\"`8`\" pulumi-lang-java=\"`8`\"\u003e`8`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`12`\" pulumi-lang-dotnet=\"`12`\" pulumi-lang-go=\"`12`\" pulumi-lang-python=\"`12`\" pulumi-lang-yaml=\"`12`\" pulumi-lang-java=\"`12`\"\u003e`12`\u003c/span\u003e.\n"},"startTime":{"type":"string","description":"Specifies the start time of the hourly backup. The time format should be in 24-hour format. Times must be either on the hour or half hour (e.g. 12:00, 12:30, 13:00, etc.).\n"},"windowDuration":{"type":"integer","description":"Species the duration of the backup window in hours. Details could be found [here](https://learn.microsoft.com/en-us/azure/backup/backup-azure-files-faq#what-does-the-duration-attribute-in-azure-files-backup-policy-signify-).\n"}},"type":"object","required":["interval","startTime","windowDuration"]},"azure:backup/PolicyFileShareRetentionDaily:PolicyFileShareRetentionDaily":{"properties":{"count":{"type":"integer","description":"The number of daily backups to keep. Must be between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`200`\" pulumi-lang-dotnet=\"`200`\" pulumi-lang-go=\"`200`\" pulumi-lang-python=\"`200`\" pulumi-lang-yaml=\"`200`\" pulumi-lang-java=\"`200`\"\u003e`200`\u003c/span\u003e (inclusive)\n"}},"type":"object","required":["count"]},"azure:backup/PolicyFileShareRetentionMonthly:PolicyFileShareRetentionMonthly":{"properties":{"count":{"type":"integer","description":"The number of monthly backups to keep. Must be between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`120`\" pulumi-lang-dotnet=\"`120`\" pulumi-lang-go=\"`120`\" pulumi-lang-python=\"`120`\" pulumi-lang-yaml=\"`120`\" pulumi-lang-java=\"`120`\"\u003e`120`\u003c/span\u003e\n"},"days":{"type":"array","items":{"type":"integer"},"description":"The days of the month to retain backups of. Must be between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`31`\" pulumi-lang-dotnet=\"`31`\" pulumi-lang-go=\"`31`\" pulumi-lang-python=\"`31`\" pulumi-lang-yaml=\"`31`\" pulumi-lang-java=\"`31`\"\u003e`31`\u003c/span\u003e.\n"},"includeLastDays":{"type":"boolean","description":"Including the last day of the month, default to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** Either \u003cspan pulumi-lang-nodejs=\"`weekdays`\" pulumi-lang-dotnet=\"`Weekdays`\" pulumi-lang-go=\"`weekdays`\" pulumi-lang-python=\"`weekdays`\" pulumi-lang-yaml=\"`weekdays`\" pulumi-lang-java=\"`weekdays`\"\u003e`weekdays`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`weeks`\" pulumi-lang-dotnet=\"`Weeks`\" pulumi-lang-go=\"`weeks`\" pulumi-lang-python=\"`weeks`\" pulumi-lang-yaml=\"`weeks`\" pulumi-lang-java=\"`weeks`\"\u003e`weeks`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`days`\" pulumi-lang-dotnet=\"`Days`\" pulumi-lang-go=\"`days`\" pulumi-lang-python=\"`days`\" pulumi-lang-yaml=\"`days`\" pulumi-lang-java=\"`days`\"\u003e`days`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`includeLastDays`\" pulumi-lang-dotnet=\"`IncludeLastDays`\" pulumi-lang-go=\"`includeLastDays`\" pulumi-lang-python=\"`include_last_days`\" pulumi-lang-yaml=\"`includeLastDays`\" pulumi-lang-java=\"`includeLastDays`\"\u003e`include_last_days`\u003c/span\u003e must be specified.\n"},"weekdays":{"type":"array","items":{"type":"string"},"description":"The weekday backups to retain . Must be one of `Sunday`, `Monday`, `Tuesday`, `Wednesday`, `Thursday`, `Friday` or `Saturday`.\n"},"weeks":{"type":"array","items":{"type":"string"},"description":"The weeks of the month to retain backups of. Must be one of `First`, `Second`, `Third`, `Fourth`, `Last`.\n"}},"type":"object","required":["count"]},"azure:backup/PolicyFileShareRetentionWeekly:PolicyFileShareRetentionWeekly":{"properties":{"count":{"type":"integer","description":"The number of daily backups to keep. Must be between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`200`\" pulumi-lang-dotnet=\"`200`\" pulumi-lang-go=\"`200`\" pulumi-lang-python=\"`200`\" pulumi-lang-yaml=\"`200`\" pulumi-lang-java=\"`200`\"\u003e`200`\u003c/span\u003e (inclusive)\n"},"weekdays":{"type":"array","items":{"type":"string"},"description":"The weekday backups to retain. Must be one of `Sunday`, `Monday`, `Tuesday`, `Wednesday`, `Thursday`, `Friday` or `Saturday`.\n"}},"type":"object","required":["count","weekdays"]},"azure:backup/PolicyFileShareRetentionYearly:PolicyFileShareRetentionYearly":{"properties":{"count":{"type":"integer","description":"The number of yearly backups to keep. Must be between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`10`\" pulumi-lang-dotnet=\"`10`\" pulumi-lang-go=\"`10`\" pulumi-lang-python=\"`10`\" pulumi-lang-yaml=\"`10`\" pulumi-lang-java=\"`10`\"\u003e`10`\u003c/span\u003e\n"},"days":{"type":"array","items":{"type":"integer"},"description":"The days of the month to retain backups of. Must be between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`31`\" pulumi-lang-dotnet=\"`31`\" pulumi-lang-go=\"`31`\" pulumi-lang-python=\"`31`\" pulumi-lang-yaml=\"`31`\" pulumi-lang-java=\"`31`\"\u003e`31`\u003c/span\u003e.\n"},"includeLastDays":{"type":"boolean","description":"Including the last day of the month, default to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** Either \u003cspan pulumi-lang-nodejs=\"`weekdays`\" pulumi-lang-dotnet=\"`Weekdays`\" pulumi-lang-go=\"`weekdays`\" pulumi-lang-python=\"`weekdays`\" pulumi-lang-yaml=\"`weekdays`\" pulumi-lang-java=\"`weekdays`\"\u003e`weekdays`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`weeks`\" pulumi-lang-dotnet=\"`Weeks`\" pulumi-lang-go=\"`weeks`\" pulumi-lang-python=\"`weeks`\" pulumi-lang-yaml=\"`weeks`\" pulumi-lang-java=\"`weeks`\"\u003e`weeks`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`days`\" pulumi-lang-dotnet=\"`Days`\" pulumi-lang-go=\"`days`\" pulumi-lang-python=\"`days`\" pulumi-lang-yaml=\"`days`\" pulumi-lang-java=\"`days`\"\u003e`days`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`includeLastDays`\" pulumi-lang-dotnet=\"`IncludeLastDays`\" pulumi-lang-go=\"`includeLastDays`\" pulumi-lang-python=\"`include_last_days`\" pulumi-lang-yaml=\"`includeLastDays`\" pulumi-lang-java=\"`includeLastDays`\"\u003e`include_last_days`\u003c/span\u003e must be specified.\n"},"months":{"type":"array","items":{"type":"string"},"description":"The months of the year to retain backups of. Must be one of `January`, `February`, `March`, `April`, `May`, `June`, `July`, `Augest`, `September`, `October`, `November` and `December`.\n"},"weekdays":{"type":"array","items":{"type":"string"},"description":"The weekday backups to retain . Must be one of `Sunday`, `Monday`, `Tuesday`, `Wednesday`, `Thursday`, `Friday` or `Saturday`.\n"},"weeks":{"type":"array","items":{"type":"string"},"description":"The weeks of the month to retain backups of. Must be one of `First`, `Second`, `Third`, `Fourth`, `Last`.\n"}},"type":"object","required":["count","months"]},"azure:backup/PolicyVMBackup:PolicyVMBackup":{"properties":{"frequency":{"type":"string","description":"Sets the backup frequency. Possible values are `Hourly`, `Daily` and `Weekly`.\n"},"hourDuration":{"type":"integer","description":"Duration of the backup window in hours. Possible values are between \u003cspan pulumi-lang-nodejs=\"`4`\" pulumi-lang-dotnet=\"`4`\" pulumi-lang-go=\"`4`\" pulumi-lang-python=\"`4`\" pulumi-lang-yaml=\"`4`\" pulumi-lang-java=\"`4`\"\u003e`4`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`24`\" pulumi-lang-dotnet=\"`24`\" pulumi-lang-go=\"`24`\" pulumi-lang-python=\"`24`\" pulumi-lang-yaml=\"`24`\" pulumi-lang-java=\"`24`\"\u003e`24`\u003c/span\u003e This is used when \u003cspan pulumi-lang-nodejs=\"`frequency`\" pulumi-lang-dotnet=\"`Frequency`\" pulumi-lang-go=\"`frequency`\" pulumi-lang-python=\"`frequency`\" pulumi-lang-yaml=\"`frequency`\" pulumi-lang-java=\"`frequency`\"\u003e`frequency`\u003c/span\u003e is `Hourly`.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`hourDuration`\" pulumi-lang-dotnet=\"`HourDuration`\" pulumi-lang-go=\"`hourDuration`\" pulumi-lang-python=\"`hour_duration`\" pulumi-lang-yaml=\"`hourDuration`\" pulumi-lang-java=\"`hourDuration`\"\u003e`hour_duration`\u003c/span\u003e must be multiplier of \u003cspan pulumi-lang-nodejs=\"`hourInterval`\" pulumi-lang-dotnet=\"`HourInterval`\" pulumi-lang-go=\"`hourInterval`\" pulumi-lang-python=\"`hour_interval`\" pulumi-lang-yaml=\"`hourInterval`\" pulumi-lang-java=\"`hourInterval`\"\u003e`hour_interval`\u003c/span\u003e\n"},"hourInterval":{"type":"integer","description":"Interval in hour at which backup is triggered. Possible values are \u003cspan pulumi-lang-nodejs=\"`4`\" pulumi-lang-dotnet=\"`4`\" pulumi-lang-go=\"`4`\" pulumi-lang-python=\"`4`\" pulumi-lang-yaml=\"`4`\" pulumi-lang-java=\"`4`\"\u003e`4`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`6`\" pulumi-lang-dotnet=\"`6`\" pulumi-lang-go=\"`6`\" pulumi-lang-python=\"`6`\" pulumi-lang-yaml=\"`6`\" pulumi-lang-java=\"`6`\"\u003e`6`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`8`\" pulumi-lang-dotnet=\"`8`\" pulumi-lang-go=\"`8`\" pulumi-lang-python=\"`8`\" pulumi-lang-yaml=\"`8`\" pulumi-lang-java=\"`8`\"\u003e`8`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`12`\" pulumi-lang-dotnet=\"`12`\" pulumi-lang-go=\"`12`\" pulumi-lang-python=\"`12`\" pulumi-lang-yaml=\"`12`\" pulumi-lang-java=\"`12`\"\u003e`12`\u003c/span\u003e. This is used when \u003cspan pulumi-lang-nodejs=\"`frequency`\" pulumi-lang-dotnet=\"`Frequency`\" pulumi-lang-go=\"`frequency`\" pulumi-lang-python=\"`frequency`\" pulumi-lang-yaml=\"`frequency`\" pulumi-lang-java=\"`frequency`\"\u003e`frequency`\u003c/span\u003e is `Hourly`.\n"},"time":{"type":"string","description":"The time of day to perform the backup in 24hour format.\n"},"weekdays":{"type":"array","items":{"type":"string"},"description":"The days of the week to perform backups on. Must be one of `Sunday`, `Monday`, `Tuesday`, `Wednesday`, `Thursday`, `Friday` or `Saturday`. This is used when \u003cspan pulumi-lang-nodejs=\"`frequency`\" pulumi-lang-dotnet=\"`Frequency`\" pulumi-lang-go=\"`frequency`\" pulumi-lang-python=\"`frequency`\" pulumi-lang-yaml=\"`frequency`\" pulumi-lang-java=\"`frequency`\"\u003e`frequency`\u003c/span\u003e is `Weekly`.\n"}},"type":"object","required":["frequency","time"]},"azure:backup/PolicyVMInstantRestoreResourceGroup:PolicyVMInstantRestoreResourceGroup":{"properties":{"prefix":{"type":"string","description":"The prefix for the \u003cspan pulumi-lang-nodejs=\"`instantRestoreResourceGroup`\" pulumi-lang-dotnet=\"`InstantRestoreResourceGroup`\" pulumi-lang-go=\"`instantRestoreResourceGroup`\" pulumi-lang-python=\"`instant_restore_resource_group`\" pulumi-lang-yaml=\"`instantRestoreResourceGroup`\" pulumi-lang-java=\"`instantRestoreResourceGroup`\"\u003e`instant_restore_resource_group`\u003c/span\u003e name.\n"},"suffix":{"type":"string","description":"The suffix for the \u003cspan pulumi-lang-nodejs=\"`instantRestoreResourceGroup`\" pulumi-lang-dotnet=\"`InstantRestoreResourceGroup`\" pulumi-lang-go=\"`instantRestoreResourceGroup`\" pulumi-lang-python=\"`instant_restore_resource_group`\" pulumi-lang-yaml=\"`instantRestoreResourceGroup`\" pulumi-lang-java=\"`instantRestoreResourceGroup`\"\u003e`instant_restore_resource_group`\u003c/span\u003e name.\n"}},"type":"object","required":["prefix"]},"azure:backup/PolicyVMRetentionDaily:PolicyVMRetentionDaily":{"properties":{"count":{"type":"integer","description":"The number of daily backups to keep. Must be between \u003cspan pulumi-lang-nodejs=\"`7`\" pulumi-lang-dotnet=\"`7`\" pulumi-lang-go=\"`7`\" pulumi-lang-python=\"`7`\" pulumi-lang-yaml=\"`7`\" pulumi-lang-java=\"`7`\"\u003e`7`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`9999`\" pulumi-lang-dotnet=\"`9999`\" pulumi-lang-go=\"`9999`\" pulumi-lang-python=\"`9999`\" pulumi-lang-yaml=\"`9999`\" pulumi-lang-java=\"`9999`\"\u003e`9999`\u003c/span\u003e.\n\n\u003e **Note:** Azure previously allows this field to be set to a minimum of 1 (day) - but for new resources/to update this value on existing Backup Policies - this value must now be at least 7 (days).\n"}},"type":"object","required":["count"]},"azure:backup/PolicyVMRetentionMonthly:PolicyVMRetentionMonthly":{"properties":{"count":{"type":"integer","description":"The number of monthly backups to keep. Must be between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`9999`\" pulumi-lang-dotnet=\"`9999`\" pulumi-lang-go=\"`9999`\" pulumi-lang-python=\"`9999`\" pulumi-lang-yaml=\"`9999`\" pulumi-lang-java=\"`9999`\"\u003e`9999`\u003c/span\u003e\n"},"days":{"type":"array","items":{"type":"integer"},"description":"The days of the month to retain backups of. Must be between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`31`\" pulumi-lang-dotnet=\"`31`\" pulumi-lang-go=\"`31`\" pulumi-lang-python=\"`31`\" pulumi-lang-yaml=\"`31`\" pulumi-lang-java=\"`31`\"\u003e`31`\u003c/span\u003e.\n"},"includeLastDays":{"type":"boolean","description":"Including the last day of the month, default to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** Either \u003cspan pulumi-lang-nodejs=\"`weekdays`\" pulumi-lang-dotnet=\"`Weekdays`\" pulumi-lang-go=\"`weekdays`\" pulumi-lang-python=\"`weekdays`\" pulumi-lang-yaml=\"`weekdays`\" pulumi-lang-java=\"`weekdays`\"\u003e`weekdays`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`weeks`\" pulumi-lang-dotnet=\"`Weeks`\" pulumi-lang-go=\"`weeks`\" pulumi-lang-python=\"`weeks`\" pulumi-lang-yaml=\"`weeks`\" pulumi-lang-java=\"`weeks`\"\u003e`weeks`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`days`\" pulumi-lang-dotnet=\"`Days`\" pulumi-lang-go=\"`days`\" pulumi-lang-python=\"`days`\" pulumi-lang-yaml=\"`days`\" pulumi-lang-java=\"`days`\"\u003e`days`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`includeLastDays`\" pulumi-lang-dotnet=\"`IncludeLastDays`\" pulumi-lang-go=\"`includeLastDays`\" pulumi-lang-python=\"`include_last_days`\" pulumi-lang-yaml=\"`includeLastDays`\" pulumi-lang-java=\"`includeLastDays`\"\u003e`include_last_days`\u003c/span\u003e must be specified.\n"},"weekdays":{"type":"array","items":{"type":"string"},"description":"The weekday backups to retain . Must be one of `Sunday`, `Monday`, `Tuesday`, `Wednesday`, `Thursday`, `Friday` or `Saturday`.\n"},"weeks":{"type":"array","items":{"type":"string"},"description":"The weeks of the month to retain backups of. Must be one of `First`, `Second`, `Third`, `Fourth`, `Last`.\n"}},"type":"object","required":["count"]},"azure:backup/PolicyVMRetentionWeekly:PolicyVMRetentionWeekly":{"properties":{"count":{"type":"integer","description":"The number of weekly backups to keep. Must be between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`9999`\" pulumi-lang-dotnet=\"`9999`\" pulumi-lang-go=\"`9999`\" pulumi-lang-python=\"`9999`\" pulumi-lang-yaml=\"`9999`\" pulumi-lang-java=\"`9999`\"\u003e`9999`\u003c/span\u003e\n"},"weekdays":{"type":"array","items":{"type":"string"},"description":"The weekday backups to retain. Must be one of `Sunday`, `Monday`, `Tuesday`, `Wednesday`, `Thursday`, `Friday` or `Saturday`.\n"}},"type":"object","required":["count","weekdays"]},"azure:backup/PolicyVMRetentionYearly:PolicyVMRetentionYearly":{"properties":{"count":{"type":"integer","description":"The number of yearly backups to keep. Must be between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`9999`\" pulumi-lang-dotnet=\"`9999`\" pulumi-lang-go=\"`9999`\" pulumi-lang-python=\"`9999`\" pulumi-lang-yaml=\"`9999`\" pulumi-lang-java=\"`9999`\"\u003e`9999`\u003c/span\u003e\n"},"days":{"type":"array","items":{"type":"integer"},"description":"The days of the month to retain backups of. Must be between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`31`\" pulumi-lang-dotnet=\"`31`\" pulumi-lang-go=\"`31`\" pulumi-lang-python=\"`31`\" pulumi-lang-yaml=\"`31`\" pulumi-lang-java=\"`31`\"\u003e`31`\u003c/span\u003e.\n"},"includeLastDays":{"type":"boolean","description":"Including the last day of the month, default to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** Either \u003cspan pulumi-lang-nodejs=\"`weekdays`\" pulumi-lang-dotnet=\"`Weekdays`\" pulumi-lang-go=\"`weekdays`\" pulumi-lang-python=\"`weekdays`\" pulumi-lang-yaml=\"`weekdays`\" pulumi-lang-java=\"`weekdays`\"\u003e`weekdays`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`weeks`\" pulumi-lang-dotnet=\"`Weeks`\" pulumi-lang-go=\"`weeks`\" pulumi-lang-python=\"`weeks`\" pulumi-lang-yaml=\"`weeks`\" pulumi-lang-java=\"`weeks`\"\u003e`weeks`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`days`\" pulumi-lang-dotnet=\"`Days`\" pulumi-lang-go=\"`days`\" pulumi-lang-python=\"`days`\" pulumi-lang-yaml=\"`days`\" pulumi-lang-java=\"`days`\"\u003e`days`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`includeLastDays`\" pulumi-lang-dotnet=\"`IncludeLastDays`\" pulumi-lang-go=\"`includeLastDays`\" pulumi-lang-python=\"`include_last_days`\" pulumi-lang-yaml=\"`includeLastDays`\" pulumi-lang-java=\"`includeLastDays`\"\u003e`include_last_days`\u003c/span\u003e must be specified.\n"},"months":{"type":"array","items":{"type":"string"},"description":"The months of the year to retain backups of. Must be one of `January`, `February`, `March`, `April`, `May`, `June`, `July`, `August`, `September`, `October`, `November` and `December`.\n"},"weekdays":{"type":"array","items":{"type":"string"},"description":"The weekday backups to retain . Must be one of `Sunday`, `Monday`, `Tuesday`, `Wednesday`, `Thursday`, `Friday` or `Saturday`.\n"},"weeks":{"type":"array","items":{"type":"string"},"description":"The weeks of the month to retain backups of. Must be one of `First`, `Second`, `Third`, `Fourth`, `Last`.\n"}},"type":"object","required":["count","months"]},"azure:backup/PolicyVMTieringPolicy:PolicyVMTieringPolicy":{"properties":{"archivedRestorePoint":{"$ref":"#/types/azure:backup/PolicyVMTieringPolicyArchivedRestorePoint:PolicyVMTieringPolicyArchivedRestorePoint","description":"An \u003cspan pulumi-lang-nodejs=\"`archivedRestorePoint`\" pulumi-lang-dotnet=\"`ArchivedRestorePoint`\" pulumi-lang-go=\"`archivedRestorePoint`\" pulumi-lang-python=\"`archived_restore_point`\" pulumi-lang-yaml=\"`archivedRestorePoint`\" pulumi-lang-java=\"`archivedRestorePoint`\"\u003e`archived_restore_point`\u003c/span\u003e block as defined below.\n"}},"type":"object","required":["archivedRestorePoint"]},"azure:backup/PolicyVMTieringPolicyArchivedRestorePoint:PolicyVMTieringPolicyArchivedRestorePoint":{"properties":{"duration":{"type":"integer","description":"The number of days/weeks/months/years to retain backups in current tier before tiering.\n"},"durationType":{"type":"string","description":"The retention duration type. Possible values are `Days`, `Weeks`, `Months` and `Years`.\n"},"mode":{"type":"string","description":"The tiering mode to control automatic tiering of recovery points. Possible values are `TierAfter` and `TierRecommended`.\n"}},"type":"object","required":["mode"]},"azure:backup/PolicyVMWorkloadProtectionPolicy:PolicyVMWorkloadProtectionPolicy":{"properties":{"backup":{"$ref":"#/types/azure:backup/PolicyVMWorkloadProtectionPolicyBackup:PolicyVMWorkloadProtectionPolicyBackup","description":"A \u003cspan pulumi-lang-nodejs=\"`backup`\" pulumi-lang-dotnet=\"`Backup`\" pulumi-lang-go=\"`backup`\" pulumi-lang-python=\"`backup`\" pulumi-lang-yaml=\"`backup`\" pulumi-lang-java=\"`backup`\"\u003e`backup`\u003c/span\u003e block as defined below.\n"},"policyType":{"type":"string","description":"The type of the VM Workload Backup Policy. Possible values are `Differential`, `Full`, `Incremental` and `Log`.\n"},"retentionDaily":{"$ref":"#/types/azure:backup/PolicyVMWorkloadProtectionPolicyRetentionDaily:PolicyVMWorkloadProtectionPolicyRetentionDaily","description":"A \u003cspan pulumi-lang-nodejs=\"`retentionDaily`\" pulumi-lang-dotnet=\"`RetentionDaily`\" pulumi-lang-go=\"`retentionDaily`\" pulumi-lang-python=\"`retention_daily`\" pulumi-lang-yaml=\"`retentionDaily`\" pulumi-lang-java=\"`retentionDaily`\"\u003e`retention_daily`\u003c/span\u003e block as defined below.\n"},"retentionMonthly":{"$ref":"#/types/azure:backup/PolicyVMWorkloadProtectionPolicyRetentionMonthly:PolicyVMWorkloadProtectionPolicyRetentionMonthly","description":"A \u003cspan pulumi-lang-nodejs=\"`retentionMonthly`\" pulumi-lang-dotnet=\"`RetentionMonthly`\" pulumi-lang-go=\"`retentionMonthly`\" pulumi-lang-python=\"`retention_monthly`\" pulumi-lang-yaml=\"`retentionMonthly`\" pulumi-lang-java=\"`retentionMonthly`\"\u003e`retention_monthly`\u003c/span\u003e block as defined below.\n"},"retentionWeekly":{"$ref":"#/types/azure:backup/PolicyVMWorkloadProtectionPolicyRetentionWeekly:PolicyVMWorkloadProtectionPolicyRetentionWeekly","description":"A \u003cspan pulumi-lang-nodejs=\"`retentionWeekly`\" pulumi-lang-dotnet=\"`RetentionWeekly`\" pulumi-lang-go=\"`retentionWeekly`\" pulumi-lang-python=\"`retention_weekly`\" pulumi-lang-yaml=\"`retentionWeekly`\" pulumi-lang-java=\"`retentionWeekly`\"\u003e`retention_weekly`\u003c/span\u003e block as defined below.\n"},"retentionYearly":{"$ref":"#/types/azure:backup/PolicyVMWorkloadProtectionPolicyRetentionYearly:PolicyVMWorkloadProtectionPolicyRetentionYearly","description":"A \u003cspan pulumi-lang-nodejs=\"`retentionYearly`\" pulumi-lang-dotnet=\"`RetentionYearly`\" pulumi-lang-go=\"`retentionYearly`\" pulumi-lang-python=\"`retention_yearly`\" pulumi-lang-yaml=\"`retentionYearly`\" pulumi-lang-java=\"`retentionYearly`\"\u003e`retention_yearly`\u003c/span\u003e block as defined below.\n"},"simpleRetention":{"$ref":"#/types/azure:backup/PolicyVMWorkloadProtectionPolicySimpleRetention:PolicyVMWorkloadProtectionPolicySimpleRetention","description":"A \u003cspan pulumi-lang-nodejs=\"`simpleRetention`\" pulumi-lang-dotnet=\"`SimpleRetention`\" pulumi-lang-go=\"`simpleRetention`\" pulumi-lang-python=\"`simple_retention`\" pulumi-lang-yaml=\"`simpleRetention`\" pulumi-lang-java=\"`simpleRetention`\"\u003e`simple_retention`\u003c/span\u003e block as defined below.\n"}},"type":"object","required":["backup","policyType"]},"azure:backup/PolicyVMWorkloadProtectionPolicyBackup:PolicyVMWorkloadProtectionPolicyBackup":{"properties":{"frequency":{"type":"string","description":"The backup frequency for the VM Workload Backup Policy. Possible values are `Daily` and `Weekly`.\n"},"frequencyInMinutes":{"type":"integer","description":"The backup frequency in minutes for the VM Workload Backup Policy. Possible values are \u003cspan pulumi-lang-nodejs=\"`15`\" pulumi-lang-dotnet=\"`15`\" pulumi-lang-go=\"`15`\" pulumi-lang-python=\"`15`\" pulumi-lang-yaml=\"`15`\" pulumi-lang-java=\"`15`\"\u003e`15`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`30`\" pulumi-lang-dotnet=\"`30`\" pulumi-lang-go=\"`30`\" pulumi-lang-python=\"`30`\" pulumi-lang-yaml=\"`30`\" pulumi-lang-java=\"`30`\"\u003e`30`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`60`\" pulumi-lang-dotnet=\"`60`\" pulumi-lang-go=\"`60`\" pulumi-lang-python=\"`60`\" pulumi-lang-yaml=\"`60`\" pulumi-lang-java=\"`60`\"\u003e`60`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`120`\" pulumi-lang-dotnet=\"`120`\" pulumi-lang-go=\"`120`\" pulumi-lang-python=\"`120`\" pulumi-lang-yaml=\"`120`\" pulumi-lang-java=\"`120`\"\u003e`120`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`240`\" pulumi-lang-dotnet=\"`240`\" pulumi-lang-go=\"`240`\" pulumi-lang-python=\"`240`\" pulumi-lang-yaml=\"`240`\" pulumi-lang-java=\"`240`\"\u003e`240`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`480`\" pulumi-lang-dotnet=\"`480`\" pulumi-lang-go=\"`480`\" pulumi-lang-python=\"`480`\" pulumi-lang-yaml=\"`480`\" pulumi-lang-java=\"`480`\"\u003e`480`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`720`\" pulumi-lang-dotnet=\"`720`\" pulumi-lang-go=\"`720`\" pulumi-lang-python=\"`720`\" pulumi-lang-yaml=\"`720`\" pulumi-lang-java=\"`720`\"\u003e`720`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`1440`\" pulumi-lang-dotnet=\"`1440`\" pulumi-lang-go=\"`1440`\" pulumi-lang-python=\"`1440`\" pulumi-lang-yaml=\"`1440`\" pulumi-lang-java=\"`1440`\"\u003e`1440`\u003c/span\u003e.\n"},"time":{"type":"string","description":"The time of day to perform the backup in 24hour format.\n"},"weekdays":{"type":"array","items":{"type":"string"},"description":"The days of the week to perform backups on. Possible values are `Sunday`, `Monday`, `Tuesday`, `Wednesday`, `Thursday`, `Friday` or `Saturday`. This is used when \u003cspan pulumi-lang-nodejs=\"`frequency`\" pulumi-lang-dotnet=\"`Frequency`\" pulumi-lang-go=\"`frequency`\" pulumi-lang-python=\"`frequency`\" pulumi-lang-yaml=\"`frequency`\" pulumi-lang-java=\"`frequency`\"\u003e`frequency`\u003c/span\u003e is `Weekly`.\n"}},"type":"object"},"azure:backup/PolicyVMWorkloadProtectionPolicyRetentionDaily:PolicyVMWorkloadProtectionPolicyRetentionDaily":{"properties":{"count":{"type":"integer","description":"The number of daily backups to keep. Possible values are between \u003cspan pulumi-lang-nodejs=\"`7`\" pulumi-lang-dotnet=\"`7`\" pulumi-lang-go=\"`7`\" pulumi-lang-python=\"`7`\" pulumi-lang-yaml=\"`7`\" pulumi-lang-java=\"`7`\"\u003e`7`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`9999`\" pulumi-lang-dotnet=\"`9999`\" pulumi-lang-go=\"`9999`\" pulumi-lang-python=\"`9999`\" pulumi-lang-yaml=\"`9999`\" pulumi-lang-java=\"`9999`\"\u003e`9999`\u003c/span\u003e.\n"}},"type":"object","required":["count"]},"azure:backup/PolicyVMWorkloadProtectionPolicyRetentionMonthly:PolicyVMWorkloadProtectionPolicyRetentionMonthly":{"properties":{"count":{"type":"integer","description":"The number of monthly backups to keep. Must be between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`1188`\" pulumi-lang-dotnet=\"`1188`\" pulumi-lang-go=\"`1188`\" pulumi-lang-python=\"`1188`\" pulumi-lang-yaml=\"`1188`\" pulumi-lang-java=\"`1188`\"\u003e`1188`\u003c/span\u003e.\n"},"formatType":{"type":"string","description":"The retention schedule format type for monthly retention policy. Possible values are `Daily` and `Weekly`.\n"},"monthdays":{"type":"array","items":{"type":"integer"},"description":"The monthday backups to retain. Possible values are between \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`28`\" pulumi-lang-dotnet=\"`28`\" pulumi-lang-go=\"`28`\" pulumi-lang-python=\"`28`\" pulumi-lang-yaml=\"`28`\" pulumi-lang-java=\"`28`\"\u003e`28`\u003c/span\u003e.\n"},"weekdays":{"type":"array","items":{"type":"string"},"description":"The weekday backups to retain. Possible values are `Sunday`, `Monday`, `Tuesday`, `Wednesday`, `Thursday`, `Friday` or `Saturday`.\n"},"weeks":{"type":"array","items":{"type":"string"},"description":"The weeks of the month to retain backups of. Possible values are `First`, `Second`, `Third`, `Fourth` and `Last`.\n"}},"type":"object","required":["count","formatType"]},"azure:backup/PolicyVMWorkloadProtectionPolicyRetentionWeekly:PolicyVMWorkloadProtectionPolicyRetentionWeekly":{"properties":{"count":{"type":"integer","description":"The number of weekly backups to keep. Possible values are between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`5163`\" pulumi-lang-dotnet=\"`5163`\" pulumi-lang-go=\"`5163`\" pulumi-lang-python=\"`5163`\" pulumi-lang-yaml=\"`5163`\" pulumi-lang-java=\"`5163`\"\u003e`5163`\u003c/span\u003e.\n"},"weekdays":{"type":"array","items":{"type":"string"},"description":"The weekday backups to retain. Possible values are `Sunday`, `Monday`, `Tuesday`, `Wednesday`, `Thursday`, `Friday` or `Saturday`.\n"}},"type":"object","required":["count","weekdays"]},"azure:backup/PolicyVMWorkloadProtectionPolicyRetentionYearly:PolicyVMWorkloadProtectionPolicyRetentionYearly":{"properties":{"count":{"type":"integer","description":"The number of yearly backups to keep. Possible values are between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`99`\" pulumi-lang-dotnet=\"`99`\" pulumi-lang-go=\"`99`\" pulumi-lang-python=\"`99`\" pulumi-lang-yaml=\"`99`\" pulumi-lang-java=\"`99`\"\u003e`99`\u003c/span\u003e\n"},"formatType":{"type":"string","description":"The retention schedule format type for yearly retention policy. Possible values are `Daily` and `Weekly`.\n"},"monthdays":{"type":"array","items":{"type":"integer"},"description":"The monthday backups to retain. Possible values are between \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`28`\" pulumi-lang-dotnet=\"`28`\" pulumi-lang-go=\"`28`\" pulumi-lang-python=\"`28`\" pulumi-lang-yaml=\"`28`\" pulumi-lang-java=\"`28`\"\u003e`28`\u003c/span\u003e.\n"},"months":{"type":"array","items":{"type":"string"},"description":"The months of the year to retain backups of. Possible values are `January`, `February`, `March`, `April`, `May`, `June`, `July`, `August`, `September`, `October`, `November` and `December`.\n"},"weekdays":{"type":"array","items":{"type":"string"},"description":"The weekday backups to retain. Possible values are `Sunday`, `Monday`, `Tuesday`, `Wednesday`, `Thursday`, `Friday` or `Saturday`.\n"},"weeks":{"type":"array","items":{"type":"string"},"description":"The weeks of the month to retain backups of. Possible values are `First`, `Second`, `Third`, `Fourth`, `Last`.\n"}},"type":"object","required":["count","formatType","months"]},"azure:backup/PolicyVMWorkloadProtectionPolicySimpleRetention:PolicyVMWorkloadProtectionPolicySimpleRetention":{"properties":{"count":{"type":"integer","description":"The count that is used to count retention duration with duration type `Days`. Possible values are between \u003cspan pulumi-lang-nodejs=\"`7`\" pulumi-lang-dotnet=\"`7`\" pulumi-lang-go=\"`7`\" pulumi-lang-python=\"`7`\" pulumi-lang-yaml=\"`7`\" pulumi-lang-java=\"`7`\"\u003e`7`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`35`\" pulumi-lang-dotnet=\"`35`\" pulumi-lang-go=\"`35`\" pulumi-lang-python=\"`35`\" pulumi-lang-yaml=\"`35`\" pulumi-lang-java=\"`35`\"\u003e`35`\u003c/span\u003e.\n"}},"type":"object","required":["count"]},"azure:backup/PolicyVMWorkloadSettings:PolicyVMWorkloadSettings":{"properties":{"compressionEnabled":{"type":"boolean","description":"The compression setting for the VM Workload Backup Policy. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"timeZone":{"type":"string","description":"The timezone for the VM Workload Backup Policy. [The possible values are defined here](https://jackstromberg.com/2017/01/list-of-time-zones-consumed-by-azure/).\n"}},"type":"object","required":["timeZone"]},"azure:batch/AccountEncryption:AccountEncryption":{"properties":{"keyVaultKeyId":{"type":"string","description":"The full URL path to the Azure key vault key id that should be used to encrypt data, as documented [here](https://docs.microsoft.com/azure/batch/batch-customer-managed-key). Both versioned and versionless keys are supported.\n"}},"type":"object","required":["keyVaultKeyId"]},"azure:batch/AccountIdentity:AccountIdentity":{"properties":{"identityIds":{"type":"array","items":{"type":"string"},"description":"A list of User Assigned Managed Identity IDs to be assigned to this Batch Account.\n\n\u003e **NOTE:** This is required when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to `UserAssigned`.\n"},"principalId":{"type":"string","description":"The Principal ID associated with this Managed Service Identity.\n"},"tenantId":{"type":"string","description":"The Tenant ID associated with this Managed Service Identity.\n"},"type":{"type":"string","description":"Specifies the type of Managed Service Identity that should be configured on this Batch Account. Possible values are `SystemAssigned` or `UserAssigned`.\n"}},"type":"object","required":["type"],"language":{"nodejs":{"requiredOutputs":["principalId","tenantId","type"]}}},"azure:batch/AccountKeyVaultReference:AccountKeyVaultReference":{"properties":{"id":{"type":"string","description":"The Azure identifier of the Azure KeyVault to use.\n"},"url":{"type":"string","description":"The HTTPS URL of the Azure KeyVault to use.\n"}},"type":"object","required":["id","url"]},"azure:batch/AccountNetworkProfile:AccountNetworkProfile":{"properties":{"accountAccess":{"$ref":"#/types/azure:batch/AccountNetworkProfileAccountAccess:AccountNetworkProfileAccountAccess","description":"An \u003cspan pulumi-lang-nodejs=\"`accountAccess`\" pulumi-lang-dotnet=\"`AccountAccess`\" pulumi-lang-go=\"`accountAccess`\" pulumi-lang-python=\"`account_access`\" pulumi-lang-yaml=\"`accountAccess`\" pulumi-lang-java=\"`accountAccess`\"\u003e`account_access`\u003c/span\u003e block as defined below.\n"},"nodeManagementAccess":{"$ref":"#/types/azure:batch/AccountNetworkProfileNodeManagementAccess:AccountNetworkProfileNodeManagementAccess","description":"A \u003cspan pulumi-lang-nodejs=\"`nodeManagementAccess`\" pulumi-lang-dotnet=\"`NodeManagementAccess`\" pulumi-lang-go=\"`nodeManagementAccess`\" pulumi-lang-python=\"`node_management_access`\" pulumi-lang-yaml=\"`nodeManagementAccess`\" pulumi-lang-java=\"`nodeManagementAccess`\"\u003e`node_management_access`\u003c/span\u003e block as defined below.\n\n\u003e **NOTE:** At least one of \u003cspan pulumi-lang-nodejs=\"`accountAccess`\" pulumi-lang-dotnet=\"`AccountAccess`\" pulumi-lang-go=\"`accountAccess`\" pulumi-lang-python=\"`account_access`\" pulumi-lang-yaml=\"`accountAccess`\" pulumi-lang-java=\"`accountAccess`\"\u003e`account_access`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`nodeManagementAccess`\" pulumi-lang-dotnet=\"`NodeManagementAccess`\" pulumi-lang-go=\"`nodeManagementAccess`\" pulumi-lang-python=\"`node_management_access`\" pulumi-lang-yaml=\"`nodeManagementAccess`\" pulumi-lang-java=\"`nodeManagementAccess`\"\u003e`node_management_access`\u003c/span\u003e must be specified.\n"}},"type":"object"},"azure:batch/AccountNetworkProfileAccountAccess:AccountNetworkProfileAccountAccess":{"properties":{"defaultAction":{"type":"string","description":"Specifies the default action for the account access. Possible values are `Allow` and `Deny`. Defaults to `Deny`.\n"},"ipRules":{"type":"array","items":{"$ref":"#/types/azure:batch/AccountNetworkProfileAccountAccessIpRule:AccountNetworkProfileAccountAccessIpRule"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`ipRule`\" pulumi-lang-dotnet=\"`IpRule`\" pulumi-lang-go=\"`ipRule`\" pulumi-lang-python=\"`ip_rule`\" pulumi-lang-yaml=\"`ipRule`\" pulumi-lang-java=\"`ipRule`\"\u003e`ip_rule`\u003c/span\u003e blocks as defined below.\n"}},"type":"object"},"azure:batch/AccountNetworkProfileAccountAccessIpRule:AccountNetworkProfileAccountAccessIpRule":{"properties":{"action":{"type":"string","description":"Specifies the action of the ip rule. The only possible value is `Allow`. Defaults to `Allow`.\n"},"ipRange":{"type":"string","description":"The CIDR block from which requests will match the rule.\n"}},"type":"object","required":["ipRange"]},"azure:batch/AccountNetworkProfileNodeManagementAccess:AccountNetworkProfileNodeManagementAccess":{"properties":{"defaultAction":{"type":"string","description":"Specifies the default action for the node management access. Possible values are `Allow` and `Deny`. Defaults to `Deny`.\n"},"ipRules":{"type":"array","items":{"$ref":"#/types/azure:batch/AccountNetworkProfileNodeManagementAccessIpRule:AccountNetworkProfileNodeManagementAccessIpRule"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`ipRule`\" pulumi-lang-dotnet=\"`IpRule`\" pulumi-lang-go=\"`ipRule`\" pulumi-lang-python=\"`ip_rule`\" pulumi-lang-yaml=\"`ipRule`\" pulumi-lang-java=\"`ipRule`\"\u003e`ip_rule`\u003c/span\u003e blocks as defined below.\n"}},"type":"object"},"azure:batch/AccountNetworkProfileNodeManagementAccessIpRule:AccountNetworkProfileNodeManagementAccessIpRule":{"properties":{"action":{"type":"string","description":"Specifies the action of the ip rule. The only possible value is `Allow`. Defaults to `Allow`.\n"},"ipRange":{"type":"string","description":"The CIDR block from which requests will match the rule.\n"}},"type":"object","required":["ipRange"]},"azure:batch/PoolAutoScale:PoolAutoScale":{"properties":{"evaluationInterval":{"type":"string","description":"The interval to wait before evaluating if the pool needs to be scaled. Defaults to `PT15M`.\n"},"formula":{"type":"string","description":"The autoscale formula that needs to be used for scaling the Batch pool.\n"}},"type":"object","required":["formula"]},"azure:batch/PoolCertificate:PoolCertificate":{"properties":{"id":{"type":"string","description":"The ID of the Batch Pool.\n"},"storeLocation":{"type":"string"},"storeName":{"type":"string"},"visibilities":{"type":"array","items":{"type":"string"}}},"type":"object","required":["id","storeLocation"]},"azure:batch/PoolContainerConfiguration:PoolContainerConfiguration":{"properties":{"containerImageNames":{"type":"array","items":{"type":"string"},"description":"A list of container image names to use, as would be specified by `docker pull`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"containerRegistries":{"type":"array","items":{"$ref":"#/types/azure:batch/PoolContainerConfigurationContainerRegistry:PoolContainerConfigurationContainerRegistry"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`containerRegistries`\" pulumi-lang-dotnet=\"`ContainerRegistries`\" pulumi-lang-go=\"`containerRegistries`\" pulumi-lang-python=\"`container_registries`\" pulumi-lang-yaml=\"`containerRegistries`\" pulumi-lang-java=\"`containerRegistries`\"\u003e`container_registries`\u003c/span\u003e blocks as defined below. Additional container registries from which container images can be pulled by the pool's VMs. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"type":{"type":"string","description":"The type of container configuration. Possible value is `DockerCompatible`.\n"}},"type":"object"},"azure:batch/PoolContainerConfigurationContainerRegistry:PoolContainerConfigurationContainerRegistry":{"properties":{"password":{"type":"string","description":"The password to log into the registry server. Changing this forces a new resource to be created.\n","secret":true,"willReplaceOnChanges":true},"registryServer":{"type":"string","description":"The container registry URL. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"userAssignedIdentityId":{"type":"string","description":"The reference to the user assigned identity to use to access an Azure Container Registry instead of username and password. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"userName":{"type":"string","description":"The user name to log into the registry server. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["registryServer"]},"azure:batch/PoolDataDisk:PoolDataDisk":{"properties":{"caching":{"type":"string","description":"Values are: \"none\" - The caching mode for the disk is not enabled. \"readOnly\" - The caching mode for the disk is read only. \"readWrite\" - The caching mode for the disk is read and write. For information about the caching options see: \u003chttps://blogs.msdn.microsoft.com/windowsazurestorage/2012/06/27/exploring-windows-azure-drives-disks-and-images/\u003e. Possible values are `None`, `ReadOnly` and `ReadWrite`. Defaults to `ReadOnly`.\n"},"diskSizeGb":{"type":"integer","description":"The initial disk size in GB when creating new data disk.\n"},"lun":{"type":"integer","description":"The lun is used to uniquely identify each data disk. If attaching multiple disks, each should have a distinct lun. The value must be between 0 and 63, inclusive.\n"},"storageAccountType":{"type":"string","description":"The storage account type to be used for the data disk. Values are: Possible values are `Standard_LRS` - The data disk should use standard locally redundant storage. `Premium_LRS` - The data disk should use premium locally redundant storage. Defaults to `Standard_LRS`.\n"}},"type":"object","required":["diskSizeGb","lun"]},"azure:batch/PoolDiskEncryption:PoolDiskEncryption":{"properties":{"diskEncryptionTarget":{"type":"string","description":"On Linux pool, only \\\"TemporaryDisk\\\" is supported; on Windows pool, \\\"OsDisk\\\" and \\\"TemporaryDisk\\\" must be specified.\n"}},"type":"object","required":["diskEncryptionTarget"]},"azure:batch/PoolExtension:PoolExtension":{"properties":{"autoUpgradeMinorVersion":{"type":"boolean","description":"Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true.\n"},"automaticUpgradeEnabled":{"type":"boolean","description":"Indicates whether the extension should be automatically upgraded by the platform if there is a newer version available. Supported values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** When \u003cspan pulumi-lang-nodejs=\"`automaticUpgradeEnabled`\" pulumi-lang-dotnet=\"`AutomaticUpgradeEnabled`\" pulumi-lang-go=\"`automaticUpgradeEnabled`\" pulumi-lang-python=\"`automatic_upgrade_enabled`\" pulumi-lang-yaml=\"`automaticUpgradeEnabled`\" pulumi-lang-java=\"`automaticUpgradeEnabled`\"\u003e`automatic_upgrade_enabled`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, the \u003cspan pulumi-lang-nodejs=\"`typeHandlerVersion`\" pulumi-lang-dotnet=\"`TypeHandlerVersion`\" pulumi-lang-go=\"`typeHandlerVersion`\" pulumi-lang-python=\"`type_handler_version`\" pulumi-lang-yaml=\"`typeHandlerVersion`\" pulumi-lang-java=\"`typeHandlerVersion`\"\u003e`type_handler_version`\u003c/span\u003e is automatically updated by the Azure platform when a new version is available and any change in \u003cspan pulumi-lang-nodejs=\"`typeHandlerVersion`\" pulumi-lang-dotnet=\"`TypeHandlerVersion`\" pulumi-lang-go=\"`typeHandlerVersion`\" pulumi-lang-python=\"`type_handler_version`\" pulumi-lang-yaml=\"`typeHandlerVersion`\" pulumi-lang-java=\"`typeHandlerVersion`\"\u003e`type_handler_version`\u003c/span\u003e should be manually ignored by user.\n"},"name":{"type":"string","description":"The name of the virtual machine extension.\n"},"protectedSettings":{"type":"string","description":"JSON formatted protected settings for the extension, the value should be encoded with \u003cspan pulumi-lang-nodejs=\"`jsonencode`\" pulumi-lang-dotnet=\"`Jsonencode`\" pulumi-lang-go=\"`jsonencode`\" pulumi-lang-python=\"`jsonencode`\" pulumi-lang-yaml=\"`jsonencode`\" pulumi-lang-java=\"`jsonencode`\"\u003e`jsonencode`\u003c/span\u003e function. The extension can contain either \u003cspan pulumi-lang-nodejs=\"`protectedSettings`\" pulumi-lang-dotnet=\"`ProtectedSettings`\" pulumi-lang-go=\"`protectedSettings`\" pulumi-lang-python=\"`protected_settings`\" pulumi-lang-yaml=\"`protectedSettings`\" pulumi-lang-java=\"`protectedSettings`\"\u003e`protected_settings`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`provisionAfterExtensions`\" pulumi-lang-dotnet=\"`ProvisionAfterExtensions`\" pulumi-lang-go=\"`provisionAfterExtensions`\" pulumi-lang-python=\"`provision_after_extensions`\" pulumi-lang-yaml=\"`provisionAfterExtensions`\" pulumi-lang-java=\"`provisionAfterExtensions`\"\u003e`provision_after_extensions`\u003c/span\u003e or no protected settings at all.\n","secret":true},"provisionAfterExtensions":{"type":"array","items":{"type":"string"},"description":"The collection of extension names. Collection of extension names after which this extension needs to be provisioned.\n"},"publisher":{"type":"string","description":"The name of the extension handler publisher.The name of the extension handler publisher.\n"},"settingsJson":{"type":"string","description":"JSON formatted public settings for the extension, the value should be encoded with \u003cspan pulumi-lang-nodejs=\"`jsonencode`\" pulumi-lang-dotnet=\"`Jsonencode`\" pulumi-lang-go=\"`jsonencode`\" pulumi-lang-python=\"`jsonencode`\" pulumi-lang-yaml=\"`jsonencode`\" pulumi-lang-java=\"`jsonencode`\"\u003e`jsonencode`\u003c/span\u003e function.\n"},"type":{"type":"string","description":"The type of the extensions.\n"},"typeHandlerVersion":{"type":"string","description":"The version of script handler.\n"}},"type":"object","required":["name","publisher","type"]},"azure:batch/PoolFixedScale:PoolFixedScale":{"properties":{"nodeDeallocationMethod":{"type":"string","description":"It determines what to do with a node and its running task(s) if the pool size is decreasing. Values are `Requeue`, `RetainedData`, `TaskCompletion` and `Terminate`.\n"},"resizeTimeout":{"type":"string","description":"The timeout for resize operations. Defaults to `PT15M`.\n"},"targetDedicatedNodes":{"type":"integer","description":"The number of nodes in the Batch pool. Defaults to \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e.\n"},"targetLowPriorityNodes":{"type":"integer","description":"The number of low priority nodes in the Batch pool. Defaults to \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"}},"type":"object"},"azure:batch/PoolIdentity:PoolIdentity":{"properties":{"identityIds":{"type":"array","items":{"type":"string"},"description":"Specifies a list of User Assigned Managed Identity IDs to be assigned to this Batch Account.\n"},"type":{"type":"string","description":"Specifies the type of Managed Service Identity that should be configured on this Batch Account. Only possible value is `UserAssigned`.\n"}},"type":"object","required":["identityIds","type"]},"azure:batch/PoolMount:PoolMount":{"properties":{"azureBlobFileSystem":{"$ref":"#/types/azure:batch/PoolMountAzureBlobFileSystem:PoolMountAzureBlobFileSystem","description":"A \u003cspan pulumi-lang-nodejs=\"`azureBlobFileSystem`\" pulumi-lang-dotnet=\"`AzureBlobFileSystem`\" pulumi-lang-go=\"`azureBlobFileSystem`\" pulumi-lang-python=\"`azure_blob_file_system`\" pulumi-lang-yaml=\"`azureBlobFileSystem`\" pulumi-lang-java=\"`azureBlobFileSystem`\"\u003e`azure_blob_file_system`\u003c/span\u003e block defined as below.\n"},"azureFileShares":{"type":"array","items":{"$ref":"#/types/azure:batch/PoolMountAzureFileShare:PoolMountAzureFileShare"},"description":"A \u003cspan pulumi-lang-nodejs=\"`azureFileShare`\" pulumi-lang-dotnet=\"`AzureFileShare`\" pulumi-lang-go=\"`azureFileShare`\" pulumi-lang-python=\"`azure_file_share`\" pulumi-lang-yaml=\"`azureFileShare`\" pulumi-lang-java=\"`azureFileShare`\"\u003e`azure_file_share`\u003c/span\u003e block defined as below.\n"},"cifsMounts":{"type":"array","items":{"$ref":"#/types/azure:batch/PoolMountCifsMount:PoolMountCifsMount"},"description":"A \u003cspan pulumi-lang-nodejs=\"`cifsMount`\" pulumi-lang-dotnet=\"`CifsMount`\" pulumi-lang-go=\"`cifsMount`\" pulumi-lang-python=\"`cifs_mount`\" pulumi-lang-yaml=\"`cifsMount`\" pulumi-lang-java=\"`cifsMount`\"\u003e`cifs_mount`\u003c/span\u003e block defined as below.\n"},"nfsMounts":{"type":"array","items":{"$ref":"#/types/azure:batch/PoolMountNfsMount:PoolMountNfsMount"},"description":"A \u003cspan pulumi-lang-nodejs=\"`nfsMount`\" pulumi-lang-dotnet=\"`NfsMount`\" pulumi-lang-go=\"`nfsMount`\" pulumi-lang-python=\"`nfs_mount`\" pulumi-lang-yaml=\"`nfsMount`\" pulumi-lang-java=\"`nfsMount`\"\u003e`nfs_mount`\u003c/span\u003e block defined as below.\n"}},"type":"object"},"azure:batch/PoolMountAzureBlobFileSystem:PoolMountAzureBlobFileSystem":{"properties":{"accountKey":{"type":"string","description":"The Azure Storage Account key. This property is mutually exclusive with both \u003cspan pulumi-lang-nodejs=\"`sasKey`\" pulumi-lang-dotnet=\"`SasKey`\" pulumi-lang-go=\"`sasKey`\" pulumi-lang-python=\"`sas_key`\" pulumi-lang-yaml=\"`sasKey`\" pulumi-lang-java=\"`sasKey`\"\u003e`sas_key`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`identityId`\" pulumi-lang-dotnet=\"`IdentityId`\" pulumi-lang-go=\"`identityId`\" pulumi-lang-python=\"`identity_id`\" pulumi-lang-yaml=\"`identityId`\" pulumi-lang-java=\"`identityId`\"\u003e`identity_id`\u003c/span\u003e; exactly one must be specified.\n","secret":true},"accountName":{"type":"string","description":"The Azure Storage Account name.\n"},"blobfuseOptions":{"type":"string","description":"Additional command line options to pass to the mount command. These are 'net use' options in Windows and 'mount' options in Linux.\n"},"containerName":{"type":"string","description":"The Azure Blob Storage Container name.\n"},"identityId":{"type":"string","description":"The ARM resource id of the user assigned identity. This property is mutually exclusive with both \u003cspan pulumi-lang-nodejs=\"`accountKey`\" pulumi-lang-dotnet=\"`AccountKey`\" pulumi-lang-go=\"`accountKey`\" pulumi-lang-python=\"`account_key`\" pulumi-lang-yaml=\"`accountKey`\" pulumi-lang-java=\"`accountKey`\"\u003e`account_key`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`sasKey`\" pulumi-lang-dotnet=\"`SasKey`\" pulumi-lang-go=\"`sasKey`\" pulumi-lang-python=\"`sas_key`\" pulumi-lang-yaml=\"`sasKey`\" pulumi-lang-java=\"`sasKey`\"\u003e`sas_key`\u003c/span\u003e; exactly one must be specified.\n"},"relativeMountPath":{"type":"string","description":"The relative path on compute node where the file system will be mounted All file systems are mounted relative to the Batch mounts directory, accessible via the `AZ_BATCH_NODE_MOUNTS_DIR` environment variable.\n"},"sasKey":{"type":"string","description":"The Azure Storage SAS token. This property is mutually exclusive with both \u003cspan pulumi-lang-nodejs=\"`accountKey`\" pulumi-lang-dotnet=\"`AccountKey`\" pulumi-lang-go=\"`accountKey`\" pulumi-lang-python=\"`account_key`\" pulumi-lang-yaml=\"`accountKey`\" pulumi-lang-java=\"`accountKey`\"\u003e`account_key`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`identityId`\" pulumi-lang-dotnet=\"`IdentityId`\" pulumi-lang-go=\"`identityId`\" pulumi-lang-python=\"`identity_id`\" pulumi-lang-yaml=\"`identityId`\" pulumi-lang-java=\"`identityId`\"\u003e`identity_id`\u003c/span\u003e; exactly one must be specified.\n","secret":true}},"type":"object","required":["accountName","containerName","relativeMountPath"]},"azure:batch/PoolMountAzureFileShare:PoolMountAzureFileShare":{"properties":{"accountKey":{"type":"string","description":"The Azure Storage Account key.\n","secret":true},"accountName":{"type":"string","description":"The Azure Storage Account name.\n"},"azureFileUrl":{"type":"string","description":"The Azure Files URL. This is of the form 'https://{account}.file.core.windows.net/'.\n"},"mountOptions":{"type":"string","description":"Additional command line options to pass to the mount command. These are 'net use' options in Windows and 'mount' options in Linux.\n"},"relativeMountPath":{"type":"string","description":"The relative path on compute node where the file system will be mounted All file systems are mounted relative to the Batch mounts directory, accessible via the `AZ_BATCH_NODE_MOUNTS_DIR` environment variable.\n"}},"type":"object","required":["accountKey","accountName","azureFileUrl","relativeMountPath"]},"azure:batch/PoolMountCifsMount:PoolMountCifsMount":{"properties":{"mountOptions":{"type":"string","description":"Additional command line options to pass to the mount command. These are 'net use' options in Windows and 'mount' options in Linux.\n"},"password":{"type":"string","description":"The password to use for authentication against the CIFS file system.\n","secret":true},"relativeMountPath":{"type":"string","description":"The relative path on compute node where the file system will be mounted All file systems are mounted relative to the Batch mounts directory, accessible via the `AZ_BATCH_NODE_MOUNTS_DIR` environment variable.\n"},"source":{"type":"string","description":"The URI of the file system to mount.\n"},"userName":{"type":"string","description":"The user to use for authentication against the CIFS file system.\n"}},"type":"object","required":["password","relativeMountPath","source","userName"]},"azure:batch/PoolMountNfsMount:PoolMountNfsMount":{"properties":{"mountOptions":{"type":"string","description":"Additional command line options to pass to the mount command. These are 'net use' options in Windows and 'mount' options in Linux.\n"},"relativeMountPath":{"type":"string","description":"The relative path on compute node where the file system will be mounted All file systems are mounted relative to the Batch mounts directory, accessible via the `AZ_BATCH_NODE_MOUNTS_DIR` environment variable.\n"},"source":{"type":"string","description":"The URI of the file system to mount.\n"}},"type":"object","required":["relativeMountPath","source"]},"azure:batch/PoolNetworkConfiguration:PoolNetworkConfiguration":{"properties":{"acceleratedNetworkingEnabled":{"type":"boolean","description":"Whether to enable accelerated networking. Possible values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"dynamicVnetAssignmentScope":{"type":"string","description":"The scope of dynamic vnet assignment. Allowed values: \u003cspan pulumi-lang-nodejs=\"`none`\" pulumi-lang-dotnet=\"`None`\" pulumi-lang-go=\"`none`\" pulumi-lang-python=\"`none`\" pulumi-lang-yaml=\"`none`\" pulumi-lang-java=\"`none`\"\u003e`none`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`job`\" pulumi-lang-dotnet=\"`Job`\" pulumi-lang-go=\"`job`\" pulumi-lang-python=\"`job`\" pulumi-lang-yaml=\"`job`\" pulumi-lang-java=\"`job`\"\u003e`job`\u003c/span\u003e. Changing this forces a new resource to be created. Defaults to \u003cspan pulumi-lang-nodejs=\"`none`\" pulumi-lang-dotnet=\"`None`\" pulumi-lang-go=\"`none`\" pulumi-lang-python=\"`none`\" pulumi-lang-yaml=\"`none`\" pulumi-lang-java=\"`none`\"\u003e`none`\u003c/span\u003e.\n","willReplaceOnChanges":true},"endpointConfigurations":{"type":"array","items":{"$ref":"#/types/azure:batch/PoolNetworkConfigurationEndpointConfiguration:PoolNetworkConfigurationEndpointConfiguration"},"description":"A list of \u003cspan pulumi-lang-nodejs=\"`endpointConfiguration`\" pulumi-lang-dotnet=\"`EndpointConfiguration`\" pulumi-lang-go=\"`endpointConfiguration`\" pulumi-lang-python=\"`endpoint_configuration`\" pulumi-lang-yaml=\"`endpointConfiguration`\" pulumi-lang-java=\"`endpointConfiguration`\"\u003e`endpoint_configuration`\u003c/span\u003e blocks that can be used to address specific ports on an individual compute node externally as defined below. Set as documented in the\u003cspan pulumi-lang-nodejs=\" inboundNatPools \" pulumi-lang-dotnet=\" InboundNatPools \" pulumi-lang-go=\" inboundNatPools \" pulumi-lang-python=\" inbound_nat_pools \" pulumi-lang-yaml=\" inboundNatPools \" pulumi-lang-java=\" inboundNatPools \"\u003e inbound_nat_pools \u003c/span\u003eblock below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"publicAddressProvisioningType":{"type":"string","description":"Type of public IP address provisioning. Supported values are `BatchManaged`, `UserManaged` and `NoPublicIPAddresses`.\n"},"publicIps":{"type":"array","items":{"type":"string"},"description":"A list of public IP ids that will be allocated to nodes. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"subnetId":{"type":"string","description":"The ARM resource identifier of the virtual network subnet which the compute nodes of the pool will join. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"},"azure:batch/PoolNetworkConfigurationEndpointConfiguration:PoolNetworkConfigurationEndpointConfiguration":{"properties":{"backendPort":{"type":"integer","description":"The port number on the compute node. Acceptable values are between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`65535`\" pulumi-lang-dotnet=\"`65535`\" pulumi-lang-go=\"`65535`\" pulumi-lang-python=\"`65535`\" pulumi-lang-yaml=\"`65535`\" pulumi-lang-java=\"`65535`\"\u003e`65535`\u003c/span\u003e except for \u003cspan pulumi-lang-nodejs=\"`29876`\" pulumi-lang-dotnet=\"`29876`\" pulumi-lang-go=\"`29876`\" pulumi-lang-python=\"`29876`\" pulumi-lang-yaml=\"`29876`\" pulumi-lang-java=\"`29876`\"\u003e`29876`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`29877`\" pulumi-lang-dotnet=\"`29877`\" pulumi-lang-go=\"`29877`\" pulumi-lang-python=\"`29877`\" pulumi-lang-yaml=\"`29877`\" pulumi-lang-java=\"`29877`\"\u003e`29877`\u003c/span\u003e as these are reserved. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"frontendPortRange":{"type":"string","description":"The range of external ports that will be used to provide inbound access to the backendPort on individual compute nodes in the format of `1000-1100`. Acceptable values range between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`65534`\" pulumi-lang-dotnet=\"`65534`\" pulumi-lang-go=\"`65534`\" pulumi-lang-python=\"`65534`\" pulumi-lang-yaml=\"`65534`\" pulumi-lang-java=\"`65534`\"\u003e`65534`\u003c/span\u003e except ports from \u003cspan pulumi-lang-nodejs=\"`50000`\" pulumi-lang-dotnet=\"`50000`\" pulumi-lang-go=\"`50000`\" pulumi-lang-python=\"`50000`\" pulumi-lang-yaml=\"`50000`\" pulumi-lang-java=\"`50000`\"\u003e`50000`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`55000`\" pulumi-lang-dotnet=\"`55000`\" pulumi-lang-go=\"`55000`\" pulumi-lang-python=\"`55000`\" pulumi-lang-yaml=\"`55000`\" pulumi-lang-java=\"`55000`\"\u003e`55000`\u003c/span\u003e which are reserved by the Batch service. All ranges within a pool must be distinct and cannot overlap. Values must be a range of at least \u003cspan pulumi-lang-nodejs=\"`100`\" pulumi-lang-dotnet=\"`100`\" pulumi-lang-go=\"`100`\" pulumi-lang-python=\"`100`\" pulumi-lang-yaml=\"`100`\" pulumi-lang-java=\"`100`\"\u003e`100`\u003c/span\u003e nodes. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the endpoint. The name must be unique within a Batch pool, can contain letters, numbers, underscores, periods, and hyphens. Names must start with a letter or number, must end with a letter, number, or underscore, and cannot exceed 77 characters. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"networkSecurityGroupRules":{"type":"array","items":{"$ref":"#/types/azure:batch/PoolNetworkConfigurationEndpointConfigurationNetworkSecurityGroupRule:PoolNetworkConfigurationEndpointConfigurationNetworkSecurityGroupRule"},"description":"A list of \u003cspan pulumi-lang-nodejs=\"`networkSecurityGroupRules`\" pulumi-lang-dotnet=\"`NetworkSecurityGroupRules`\" pulumi-lang-go=\"`networkSecurityGroupRules`\" pulumi-lang-python=\"`network_security_group_rules`\" pulumi-lang-yaml=\"`networkSecurityGroupRules`\" pulumi-lang-java=\"`networkSecurityGroupRules`\"\u003e`network_security_group_rules`\u003c/span\u003e blocks as defined below that will be applied to the endpoint. The maximum number of rules that can be specified across all the endpoints on a Batch pool is \u003cspan pulumi-lang-nodejs=\"`25`\" pulumi-lang-dotnet=\"`25`\" pulumi-lang-go=\"`25`\" pulumi-lang-python=\"`25`\" pulumi-lang-yaml=\"`25`\" pulumi-lang-java=\"`25`\"\u003e`25`\u003c/span\u003e. If no network security group rules are specified, a default rule will be created to allow inbound access to the specified backendPort. Set as documented in the\u003cspan pulumi-lang-nodejs=\" networkSecurityGroupRules \" pulumi-lang-dotnet=\" NetworkSecurityGroupRules \" pulumi-lang-go=\" networkSecurityGroupRules \" pulumi-lang-python=\" network_security_group_rules \" pulumi-lang-yaml=\" networkSecurityGroupRules \" pulumi-lang-java=\" networkSecurityGroupRules \"\u003e network_security_group_rules \u003c/span\u003eblock below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"protocol":{"type":"string","description":"The protocol of the endpoint. Acceptable values are `TCP` and `UDP`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["backendPort","frontendPortRange","name","protocol"]},"azure:batch/PoolNetworkConfigurationEndpointConfigurationNetworkSecurityGroupRule:PoolNetworkConfigurationEndpointConfigurationNetworkSecurityGroupRule":{"properties":{"access":{"type":"string","description":"The action that should be taken for a specified IP address, subnet range or tag. Acceptable values are `Allow` and `Deny`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"priority":{"type":"integer","description":"The priority for this rule. The value must be at least \u003cspan pulumi-lang-nodejs=\"`150`\" pulumi-lang-dotnet=\"`150`\" pulumi-lang-go=\"`150`\" pulumi-lang-python=\"`150`\" pulumi-lang-yaml=\"`150`\" pulumi-lang-java=\"`150`\"\u003e`150`\u003c/span\u003e. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sourceAddressPrefix":{"type":"string","description":"The source address prefix or tag to match for the rule. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sourcePortRanges":{"type":"array","items":{"type":"string"},"description":"The source port ranges to match for the rule. Valid values are `*` (for all ports 0 - 65535) or arrays of ports or port ranges (i.e. `100-200`). The ports should in the range of 0 to 65535 and the port ranges or ports can't overlap. If any other values are provided the request fails with HTTP status code 400. Default value will be `*`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["access","priority","sourceAddressPrefix"],"language":{"nodejs":{"requiredOutputs":["access","priority","sourceAddressPrefix","sourcePortRanges"]}}},"azure:batch/PoolNodePlacement:PoolNodePlacement":{"properties":{"policy":{"type":"string","description":"The placement policy for allocating nodes in the pool. Values are: \"Regional\": All nodes in the pool will be allocated in the same region; \"Zonal\": Nodes in the pool will be spread across different zones with the best effort balancing. Defaults to `Regional`.\n"}},"type":"object"},"azure:batch/PoolSecurityProfile:PoolSecurityProfile":{"properties":{"hostEncryptionEnabled":{"type":"boolean","description":"Whether to enable host encryption for the Virtual Machine or Virtual Machine Scale Set. This will enable the encryption for all the disks including Resource/Temp disk at host itself. Possible values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"secureBootEnabled":{"type":"boolean","description":"Whether to enable secure boot for the Virtual Machine or Virtual Machine Scale Set. Possible values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"securityType":{"type":"string","description":"The security type of the Virtual Machine. Possible values are `confidentialVM` and `trustedLaunch`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"vtpmEnabled":{"type":"boolean","description":"Whether to enable virtual trusted platform module (vTPM) for the Virtual Machine or Virtual Machine Scale Set. Possible values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Changing this forces a new resource to be created.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`securityProfile`\" pulumi-lang-dotnet=\"`SecurityProfile`\" pulumi-lang-go=\"`securityProfile`\" pulumi-lang-python=\"`security_profile`\" pulumi-lang-yaml=\"`securityProfile`\" pulumi-lang-java=\"`securityProfile`\"\u003e`security_profile`\u003c/span\u003e block can only be specified during creation and does not support updates.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`securityType`\" pulumi-lang-dotnet=\"`SecurityType`\" pulumi-lang-go=\"`securityType`\" pulumi-lang-python=\"`security_type`\" pulumi-lang-yaml=\"`securityType`\" pulumi-lang-java=\"`securityType`\"\u003e`security_type`\u003c/span\u003e must be specified to set UEFI related properties including \u003cspan pulumi-lang-nodejs=\"`secureBootEnabled`\" pulumi-lang-dotnet=\"`SecureBootEnabled`\" pulumi-lang-go=\"`secureBootEnabled`\" pulumi-lang-python=\"`secure_boot_enabled`\" pulumi-lang-yaml=\"`secureBootEnabled`\" pulumi-lang-java=\"`secureBootEnabled`\"\u003e`secure_boot_enabled`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`vtpmEnabled`\" pulumi-lang-dotnet=\"`VtpmEnabled`\" pulumi-lang-go=\"`vtpmEnabled`\" pulumi-lang-python=\"`vtpm_enabled`\" pulumi-lang-yaml=\"`vtpmEnabled`\" pulumi-lang-java=\"`vtpmEnabled`\"\u003e`vtpm_enabled`\u003c/span\u003e.\n","willReplaceOnChanges":true}},"type":"object"},"azure:batch/PoolStartTask:PoolStartTask":{"properties":{"commandLine":{"type":"string","description":"The command line executed by the start task.\n"},"commonEnvironmentProperties":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of strings (key,value) that represents the environment variables to set in the start task.\n"},"containers":{"type":"array","items":{"$ref":"#/types/azure:batch/PoolStartTaskContainer:PoolStartTaskContainer"},"description":"A \u003cspan pulumi-lang-nodejs=\"`container`\" pulumi-lang-dotnet=\"`Container`\" pulumi-lang-go=\"`container`\" pulumi-lang-python=\"`container`\" pulumi-lang-yaml=\"`container`\" pulumi-lang-java=\"`container`\"\u003e`container`\u003c/span\u003e block is the settings for the container under which the start task runs as defined below. When this is specified, all directories recursively below the `AZ_BATCH_NODE_ROOT_DIR` (the root of Azure Batch directories on the node) are mapped into the container, all task environment variables are mapped into the container, and the task command line is executed in the container.\n"},"resourceFiles":{"type":"array","items":{"$ref":"#/types/azure:batch/PoolStartTaskResourceFile:PoolStartTaskResourceFile"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`resourceFile`\" pulumi-lang-dotnet=\"`ResourceFile`\" pulumi-lang-go=\"`resourceFile`\" pulumi-lang-python=\"`resource_file`\" pulumi-lang-yaml=\"`resourceFile`\" pulumi-lang-java=\"`resourceFile`\"\u003e`resource_file`\u003c/span\u003e blocks that describe the files to be downloaded to a compute node as defined below.\n"},"taskRetryMaximum":{"type":"integer","description":"The number of retry count. If this is set to \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e, the Batch service does not retry Tasks. If this is set to `-1`, the Batch service retries Batch Tasks without limit.\n"},"userIdentity":{"$ref":"#/types/azure:batch/PoolStartTaskUserIdentity:PoolStartTaskUserIdentity","description":"A \u003cspan pulumi-lang-nodejs=\"`userIdentity`\" pulumi-lang-dotnet=\"`UserIdentity`\" pulumi-lang-go=\"`userIdentity`\" pulumi-lang-python=\"`user_identity`\" pulumi-lang-yaml=\"`userIdentity`\" pulumi-lang-java=\"`userIdentity`\"\u003e`user_identity`\u003c/span\u003e block that describes the user identity under which the start task runs as defined below.\n"},"waitForSuccess":{"type":"boolean","description":"A flag that indicates if the Batch pool should wait for the start task to be completed. Default to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"}},"type":"object","required":["commandLine","userIdentity"]},"azure:batch/PoolStartTaskContainer:PoolStartTaskContainer":{"properties":{"imageName":{"type":"string","description":"The image to use to create the container in which the task will run. This is the full image reference, as would be specified to \"docker pull\". If no tag is provided as part of the image name, the tag \":latest\" is used as a default.\n"},"registries":{"type":"array","items":{"$ref":"#/types/azure:batch/PoolStartTaskContainerRegistry:PoolStartTaskContainerRegistry"},"description":"The \u003cspan pulumi-lang-nodejs=\"`containerRegistries`\" pulumi-lang-dotnet=\"`ContainerRegistries`\" pulumi-lang-go=\"`containerRegistries`\" pulumi-lang-python=\"`container_registries`\" pulumi-lang-yaml=\"`containerRegistries`\" pulumi-lang-java=\"`containerRegistries`\"\u003e`container_registries`\u003c/span\u003e block defined as below.\n"},"runOptions":{"type":"string","description":"Additional options to the container create command. These additional options are supplied as arguments to the \"docker create\" command, in addition to those controlled by the Batch Service.\n"},"workingDirectory":{"type":"string","description":"A flag to indicate where the container task working directory is. Possible values are `TaskWorkingDirectory` and `ContainerImageDefault`.\n"}},"type":"object","required":["imageName"]},"azure:batch/PoolStartTaskContainerRegistry:PoolStartTaskContainerRegistry":{"properties":{"password":{"type":"string","secret":true,"willReplaceOnChanges":true},"registryServer":{"type":"string","description":"The container registry URL. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"userAssignedIdentityId":{"type":"string","description":"The User Assigned Identity to use for Container Registry access.\n","willReplaceOnChanges":true},"userName":{"type":"string","willReplaceOnChanges":true}},"type":"object","required":["registryServer"]},"azure:batch/PoolStartTaskResourceFile:PoolStartTaskResourceFile":{"properties":{"autoStorageContainerName":{"type":"string","description":"The storage container name in the auto storage account.\n"},"blobPrefix":{"type":"string","description":"The blob prefix to use when downloading blobs from an Azure Storage container. Only the blobs whose names begin with the specified prefix will be downloaded. The property is valid only when \u003cspan pulumi-lang-nodejs=\"`autoStorageContainerName`\" pulumi-lang-dotnet=\"`AutoStorageContainerName`\" pulumi-lang-go=\"`autoStorageContainerName`\" pulumi-lang-python=\"`auto_storage_container_name`\" pulumi-lang-yaml=\"`autoStorageContainerName`\" pulumi-lang-java=\"`autoStorageContainerName`\"\u003e`auto_storage_container_name`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`storageContainerUrl`\" pulumi-lang-dotnet=\"`StorageContainerUrl`\" pulumi-lang-go=\"`storageContainerUrl`\" pulumi-lang-python=\"`storage_container_url`\" pulumi-lang-yaml=\"`storageContainerUrl`\" pulumi-lang-java=\"`storageContainerUrl`\"\u003e`storage_container_url`\u003c/span\u003e is used. This prefix can be a partial filename or a subdirectory. If a prefix is not specified, all the files in the container will be downloaded.\n"},"fileMode":{"type":"string","description":"The file permission mode represented as a string in octal format (e.g. `\"0644\"`). This property applies only to files being downloaded to Linux compute nodes. It will be ignored if it is specified for a \u003cspan pulumi-lang-nodejs=\"`resourceFile`\" pulumi-lang-dotnet=\"`ResourceFile`\" pulumi-lang-go=\"`resourceFile`\" pulumi-lang-python=\"`resource_file`\" pulumi-lang-yaml=\"`resourceFile`\" pulumi-lang-java=\"`resourceFile`\"\u003e`resource_file`\u003c/span\u003e which will be downloaded to a Windows node. If this property is not specified for a Linux node, then a default value of 0770 is applied to the file.\n"},"filePath":{"type":"string","description":"The location on the compute node to which to download the file, relative to the task's working directory. If the \u003cspan pulumi-lang-nodejs=\"`httpUrl`\" pulumi-lang-dotnet=\"`HttpUrl`\" pulumi-lang-go=\"`httpUrl`\" pulumi-lang-python=\"`http_url`\" pulumi-lang-yaml=\"`httpUrl`\" pulumi-lang-java=\"`httpUrl`\"\u003e`http_url`\u003c/span\u003e property is specified, the \u003cspan pulumi-lang-nodejs=\"`filePath`\" pulumi-lang-dotnet=\"`FilePath`\" pulumi-lang-go=\"`filePath`\" pulumi-lang-python=\"`file_path`\" pulumi-lang-yaml=\"`filePath`\" pulumi-lang-java=\"`filePath`\"\u003e`file_path`\u003c/span\u003e is required and describes the path which the file will be downloaded to, including the filename. Otherwise, if the \u003cspan pulumi-lang-nodejs=\"`autoStorageContainerName`\" pulumi-lang-dotnet=\"`AutoStorageContainerName`\" pulumi-lang-go=\"`autoStorageContainerName`\" pulumi-lang-python=\"`auto_storage_container_name`\" pulumi-lang-yaml=\"`autoStorageContainerName`\" pulumi-lang-java=\"`autoStorageContainerName`\"\u003e`auto_storage_container_name`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`storageContainerUrl`\" pulumi-lang-dotnet=\"`StorageContainerUrl`\" pulumi-lang-go=\"`storageContainerUrl`\" pulumi-lang-python=\"`storage_container_url`\" pulumi-lang-yaml=\"`storageContainerUrl`\" pulumi-lang-java=\"`storageContainerUrl`\"\u003e`storage_container_url`\u003c/span\u003e property is specified, \u003cspan pulumi-lang-nodejs=\"`filePath`\" pulumi-lang-dotnet=\"`FilePath`\" pulumi-lang-go=\"`filePath`\" pulumi-lang-python=\"`file_path`\" pulumi-lang-yaml=\"`filePath`\" pulumi-lang-java=\"`filePath`\"\u003e`file_path`\u003c/span\u003e is optional and is the directory to download the files to. In the case where \u003cspan pulumi-lang-nodejs=\"`filePath`\" pulumi-lang-dotnet=\"`FilePath`\" pulumi-lang-go=\"`filePath`\" pulumi-lang-python=\"`file_path`\" pulumi-lang-yaml=\"`filePath`\" pulumi-lang-java=\"`filePath`\"\u003e`file_path`\u003c/span\u003e is used as a directory, any directory structure already associated with the input data will be retained in full and appended to the specified filePath directory. The specified relative path cannot break out of the task's working directory (for example by using '..').\n"},"httpUrl":{"type":"string","description":"The URL of the file to download. If the URL is Azure Blob Storage, it must be readable using anonymous access; that is, the Batch service does not present any credentials when downloading the blob. There are two ways to get such a URL for a blob in Azure storage: include a Shared Access Signature (SAS) granting read permissions on the blob, or set the ACL for the blob or its container to allow public access.\n"},"storageContainerUrl":{"type":"string","description":"The URL of the blob container within Azure Blob Storage. This URL must be readable and listable using anonymous access; that is, the Batch service does not present any credentials when downloading the blob. There are two ways to get such a URL for a blob in Azure storage: include a Shared Access Signature (SAS) granting read and list permissions on the blob, or set the ACL for the blob or its container to allow public access.\n"},"userAssignedIdentityId":{"type":"string","description":"An identity reference from pool's user assigned managed identity list.\n\n\u003e **Note:** Exactly one of \u003cspan pulumi-lang-nodejs=\"`autoStorageContainerName`\" pulumi-lang-dotnet=\"`AutoStorageContainerName`\" pulumi-lang-go=\"`autoStorageContainerName`\" pulumi-lang-python=\"`auto_storage_container_name`\" pulumi-lang-yaml=\"`autoStorageContainerName`\" pulumi-lang-java=\"`autoStorageContainerName`\"\u003e`auto_storage_container_name`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`storageContainerUrl`\" pulumi-lang-dotnet=\"`StorageContainerUrl`\" pulumi-lang-go=\"`storageContainerUrl`\" pulumi-lang-python=\"`storage_container_url`\" pulumi-lang-yaml=\"`storageContainerUrl`\" pulumi-lang-java=\"`storageContainerUrl`\"\u003e`storage_container_url`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`autoUser`\" pulumi-lang-dotnet=\"`AutoUser`\" pulumi-lang-go=\"`autoUser`\" pulumi-lang-python=\"`auto_user`\" pulumi-lang-yaml=\"`autoUser`\" pulumi-lang-java=\"`autoUser`\"\u003e`auto_user`\u003c/span\u003e must be specified.\n"}},"type":"object"},"azure:batch/PoolStartTaskUserIdentity:PoolStartTaskUserIdentity":{"properties":{"autoUser":{"$ref":"#/types/azure:batch/PoolStartTaskUserIdentityAutoUser:PoolStartTaskUserIdentityAutoUser","description":"A \u003cspan pulumi-lang-nodejs=\"`autoUser`\" pulumi-lang-dotnet=\"`AutoUser`\" pulumi-lang-go=\"`autoUser`\" pulumi-lang-python=\"`auto_user`\" pulumi-lang-yaml=\"`autoUser`\" pulumi-lang-java=\"`autoUser`\"\u003e`auto_user`\u003c/span\u003e block that describes the user identity under which the start task runs as defined below.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`userName`\" pulumi-lang-dotnet=\"`UserName`\" pulumi-lang-go=\"`userName`\" pulumi-lang-python=\"`user_name`\" pulumi-lang-yaml=\"`userName`\" pulumi-lang-java=\"`userName`\"\u003e`user_name`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`autoUser`\" pulumi-lang-dotnet=\"`AutoUser`\" pulumi-lang-go=\"`autoUser`\" pulumi-lang-python=\"`auto_user`\" pulumi-lang-yaml=\"`autoUser`\" pulumi-lang-java=\"`autoUser`\"\u003e`auto_user`\u003c/span\u003e blocks cannot be used both at the same time, but you need to define one or the other.\n"},"userName":{"type":"string","description":"The username to be used by the Batch pool start task.\n"}},"type":"object"},"azure:batch/PoolStartTaskUserIdentityAutoUser:PoolStartTaskUserIdentityAutoUser":{"properties":{"elevationLevel":{"type":"string","description":"The elevation level of the user identity under which the start task runs. Possible values are `Admin` or `NonAdmin`. Defaults to `NonAdmin`.\n"},"scope":{"type":"string","description":"The scope of the user identity under which the start task runs. Possible values are `Task` or `Pool`. Defaults to `Task`.\n"}},"type":"object"},"azure:batch/PoolStorageImageReference:PoolStorageImageReference":{"properties":{"id":{"type":"string","description":"Specifies the ID of the Custom Image which the virtual machines should be created from. Changing this forces a new resource to be created. See [official documentation](https://docs.microsoft.com/azure/batch/batch-custom-images) for more details.\n","willReplaceOnChanges":true},"offer":{"type":"string","description":"Specifies the offer of the image used to create the virtual machines. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"publisher":{"type":"string","description":"Specifies the publisher of the image used to create the virtual machines. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sku":{"type":"string","description":"Specifies the SKU of the image used to create the virtual machines. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"version":{"type":"string","description":"Specifies the version of the image used to create the virtual machines. Changing this forces a new resource to be created.\n\nTo provision a Custom Image, the following fields are applicable:\n","willReplaceOnChanges":true}},"type":"object"},"azure:batch/PoolTaskSchedulingPolicy:PoolTaskSchedulingPolicy":{"properties":{"nodeFillType":{"type":"string","description":"Supported values are \"Pack\" and \"Spread\". \"Pack\" means as many tasks as possible (taskSlotsPerNode) should be assigned to each node in the pool before any tasks are assigned to the next node in the pool. \"Spread\" means that tasks should be assigned evenly across all nodes in the pool.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["nodeFillType"]}}},"azure:batch/PoolUserAccount:PoolUserAccount":{"properties":{"elevationLevel":{"type":"string","description":"The elevation level of the user account. \"NonAdmin\" - The auto user is a standard user without elevated access. \"Admin\" - The auto user is a user with elevated access and operates with full Administrator permissions. The default value is nonAdmin.\n"},"linuxUserConfigurations":{"type":"array","items":{"$ref":"#/types/azure:batch/PoolUserAccountLinuxUserConfiguration:PoolUserAccountLinuxUserConfiguration"},"description":"The \u003cspan pulumi-lang-nodejs=\"`linuxUserConfiguration`\" pulumi-lang-dotnet=\"`LinuxUserConfiguration`\" pulumi-lang-go=\"`linuxUserConfiguration`\" pulumi-lang-python=\"`linux_user_configuration`\" pulumi-lang-yaml=\"`linuxUserConfiguration`\" pulumi-lang-java=\"`linuxUserConfiguration`\"\u003e`linux_user_configuration`\u003c/span\u003e block defined below is a linux-specific user configuration for the user account. This property is ignored if specified on a Windows pool. If not specified, the user is created with the default options.\n"},"name":{"type":"string","description":"The name of the user account.\n"},"password":{"type":"string","description":"The password for the user account.\n","secret":true},"windowsUserConfigurations":{"type":"array","items":{"$ref":"#/types/azure:batch/PoolUserAccountWindowsUserConfiguration:PoolUserAccountWindowsUserConfiguration"},"description":"The \u003cspan pulumi-lang-nodejs=\"`windowsUserConfiguration`\" pulumi-lang-dotnet=\"`WindowsUserConfiguration`\" pulumi-lang-go=\"`windowsUserConfiguration`\" pulumi-lang-python=\"`windows_user_configuration`\" pulumi-lang-yaml=\"`windowsUserConfiguration`\" pulumi-lang-java=\"`windowsUserConfiguration`\"\u003e`windows_user_configuration`\u003c/span\u003e block defined below is a windows-specific user configuration for the user account. This property can only be specified if the user is on a Windows pool. If not specified and on a Windows pool, the user is created with the default options.\n"}},"type":"object","required":["elevationLevel","name","password"]},"azure:batch/PoolUserAccountLinuxUserConfiguration:PoolUserAccountLinuxUserConfiguration":{"properties":{"gid":{"type":"integer","description":"The user ID of the user account. The \u003cspan pulumi-lang-nodejs=\"`uid`\" pulumi-lang-dotnet=\"`Uid`\" pulumi-lang-go=\"`uid`\" pulumi-lang-python=\"`uid`\" pulumi-lang-yaml=\"`uid`\" pulumi-lang-java=\"`uid`\"\u003e`uid`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`gid`\" pulumi-lang-dotnet=\"`Gid`\" pulumi-lang-go=\"`gid`\" pulumi-lang-python=\"`gid`\" pulumi-lang-yaml=\"`gid`\" pulumi-lang-java=\"`gid`\"\u003e`gid`\u003c/span\u003e properties must be specified together or not at all. If not specified the underlying operating system picks the uid.\n"},"sshPrivateKey":{"type":"string","description":"The SSH private key for the user account. The private key must not be password protected. The private key is used to automatically configure asymmetric-key based authentication for SSH between nodes in a Linux pool when the pool's enableInterNodeCommunication property is true (it is ignored if enableInterNodeCommunication is false). It does this by placing the key pair into the user's .ssh directory. If not specified, password-less SSH is not configured between nodes (no modification of the user's .ssh directory is done).\n","secret":true},"uid":{"type":"integer","description":"The group ID for the user account. The \u003cspan pulumi-lang-nodejs=\"`uid`\" pulumi-lang-dotnet=\"`Uid`\" pulumi-lang-go=\"`uid`\" pulumi-lang-python=\"`uid`\" pulumi-lang-yaml=\"`uid`\" pulumi-lang-java=\"`uid`\"\u003e`uid`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`gid`\" pulumi-lang-dotnet=\"`Gid`\" pulumi-lang-go=\"`gid`\" pulumi-lang-python=\"`gid`\" pulumi-lang-yaml=\"`gid`\" pulumi-lang-java=\"`gid`\"\u003e`gid`\u003c/span\u003e properties must be specified together or not at all. If not specified the underlying operating system picks the gid.\n"}},"type":"object"},"azure:batch/PoolUserAccountWindowsUserConfiguration:PoolUserAccountWindowsUserConfiguration":{"properties":{"loginMode":{"type":"string","description":"Specifies login mode for the user. The default value for VirtualMachineConfiguration pools is interactive mode and for CloudServiceConfiguration pools is batch mode. Values supported are \"Batch\" and \"Interactive\".\n"}},"type":"object","required":["loginMode"]},"azure:batch/PoolWindow:PoolWindow":{"properties":{"enableAutomaticUpdates":{"type":"boolean","description":"Whether automatic updates are enabled on the virtual machine. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"}},"type":"object"},"azure:batch/getAccountEncryption:getAccountEncryption":{"properties":{"keyVaultKeyId":{"type":"string","description":"The full URL path of the Key Vault Key used to encrypt data for this Batch account.\n"}},"type":"object","required":["keyVaultKeyId"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:batch/getAccountKeyVaultReference:getAccountKeyVaultReference":{"properties":{"id":{"type":"string","description":"The Azure identifier of the Azure KeyVault reference.\n"},"url":{"type":"string","description":"The HTTPS URL of the Azure KeyVault reference.\n"}},"type":"object","required":["id","url"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:batch/getPoolAutoScale:getPoolAutoScale":{"properties":{"evaluationInterval":{"type":"string","description":"The interval to wait before evaluating if the pool needs to be scaled.\n"},"formula":{"type":"string","description":"The autoscale formula that needs to be used for scaling the Batch pool.\n"}},"type":"object","required":["evaluationInterval","formula"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:batch/getPoolCertificate:getPoolCertificate":{"properties":{"id":{"type":"string","description":"The Batch pool ID.\n"},"storeLocation":{"type":"string"},"storeName":{"type":"string"},"visibilities":{"type":"array","items":{"type":"string"}}},"type":"object","required":["id","storeLocation","storeName","visibilities"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:batch/getPoolContainerConfiguration:getPoolContainerConfiguration":{"properties":{"containerImageNames":{"type":"array","items":{"type":"string"},"description":"A list of container image names to use, as would be specified by `docker pull`.\n"},"containerRegistries":{"type":"array","items":{"$ref":"#/types/azure:batch/getPoolContainerConfigurationContainerRegistry:getPoolContainerConfigurationContainerRegistry"},"description":"Additional container registries from which container images can be pulled by the pool's VMs.\n"},"type":{"type":"string","description":"The type of container configuration.\n"}},"type":"object","required":["containerImageNames","containerRegistries","type"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:batch/getPoolContainerConfigurationContainerRegistry:getPoolContainerConfigurationContainerRegistry":{"properties":{"password":{"type":"string","description":"The password for the user account.\n","secret":true},"registryServer":{"type":"string","description":"The container registry URL. The default is \"docker.io\".\n"},"userAssignedIdentityId":{"type":"string","description":"The reference to the user assigned identity to use to access an Azure Container Registry instead of username and password.\n"},"userName":{"type":"string","description":"The user to use for authentication against the CIFS file system.\n"}},"type":"object","required":["password","registryServer","userAssignedIdentityId","userName"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:batch/getPoolDataDisk:getPoolDataDisk":{"properties":{"caching":{"type":"string","description":"The caching mode of data disks.\n"},"diskSizeGb":{"type":"integer","description":"The initial disk size in GB when creating new data disk.\n"},"lun":{"type":"integer","description":"The lun is used to uniquely identify each data disk.\n"},"storageAccountType":{"type":"string","description":"The storage account type to be used for the data disk.\n"}},"type":"object","required":["caching","diskSizeGb","lun","storageAccountType"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:batch/getPoolDiskEncryption:getPoolDiskEncryption":{"properties":{"diskEncryptionTarget":{"type":"string","description":"On Linux pool, only `TemporaryDisk` is supported; on Windows pool, `OsDisk` and `TemporaryDisk` must be specified.\n"}},"type":"object","required":["diskEncryptionTarget"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:batch/getPoolExtension:getPoolExtension":{"properties":{"autoUpgradeMinorVersion":{"type":"boolean","description":"Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true.\n"},"name":{"type":"string","description":"The name of the Batch pool.\n"},"protectedSettings":{"type":"string","description":"The extension can contain either \u003cspan pulumi-lang-nodejs=\"`protectedSettings`\" pulumi-lang-dotnet=\"`ProtectedSettings`\" pulumi-lang-go=\"`protectedSettings`\" pulumi-lang-python=\"`protected_settings`\" pulumi-lang-yaml=\"`protectedSettings`\" pulumi-lang-java=\"`protectedSettings`\"\u003e`protected_settings`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`provisionAfterExtensions`\" pulumi-lang-dotnet=\"`ProvisionAfterExtensions`\" pulumi-lang-go=\"`provisionAfterExtensions`\" pulumi-lang-python=\"`provision_after_extensions`\" pulumi-lang-yaml=\"`provisionAfterExtensions`\" pulumi-lang-java=\"`provisionAfterExtensions`\"\u003e`provision_after_extensions`\u003c/span\u003e or no protected settings at all.\n"},"provisionAfterExtensions":{"type":"array","items":{"type":"string"},"description":"The collection of extension names. Collection of extension names after which this extension needs to be provisioned.\n"},"publisher":{"type":"string","description":"The name of the extension handler publisher.The name of the extension handler publisher.\n"},"settingsJson":{"type":"string","description":"JSON formatted public settings for the extension.\n"},"type":{"type":"string","description":"The type of container configuration.\n"},"typeHandlerVersion":{"type":"string","description":"The version of script handler.\n"}},"type":"object","required":["autoUpgradeMinorVersion","name","protectedSettings","provisionAfterExtensions","publisher","settingsJson","type","typeHandlerVersion"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:batch/getPoolFixedScale:getPoolFixedScale":{"properties":{"resizeTimeout":{"type":"string","description":"The timeout for resize operations.\n"},"targetDedicatedNodes":{"type":"integer","description":"The number of nodes in the Batch pool.\n"},"targetLowPriorityNodes":{"type":"integer","description":"The number of low priority nodes in the Batch pool.\n"}},"type":"object","required":["resizeTimeout","targetDedicatedNodes","targetLowPriorityNodes"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:batch/getPoolMount:getPoolMount":{"properties":{"azureBlobFileSystems":{"type":"array","items":{"$ref":"#/types/azure:batch/getPoolMountAzureBlobFileSystem:getPoolMountAzureBlobFileSystem"},"description":"A \u003cspan pulumi-lang-nodejs=\"`azureBlobFileSystem`\" pulumi-lang-dotnet=\"`AzureBlobFileSystem`\" pulumi-lang-go=\"`azureBlobFileSystem`\" pulumi-lang-python=\"`azure_blob_file_system`\" pulumi-lang-yaml=\"`azureBlobFileSystem`\" pulumi-lang-java=\"`azureBlobFileSystem`\"\u003e`azure_blob_file_system`\u003c/span\u003e block defined as below.\n"},"azureFileShares":{"type":"array","items":{"$ref":"#/types/azure:batch/getPoolMountAzureFileShare:getPoolMountAzureFileShare"},"description":"A \u003cspan pulumi-lang-nodejs=\"`azureFileShare`\" pulumi-lang-dotnet=\"`AzureFileShare`\" pulumi-lang-go=\"`azureFileShare`\" pulumi-lang-python=\"`azure_file_share`\" pulumi-lang-yaml=\"`azureFileShare`\" pulumi-lang-java=\"`azureFileShare`\"\u003e`azure_file_share`\u003c/span\u003e block defined as below.\n"},"cifsMounts":{"type":"array","items":{"$ref":"#/types/azure:batch/getPoolMountCifsMount:getPoolMountCifsMount"},"description":"A \u003cspan pulumi-lang-nodejs=\"`cifsMount`\" pulumi-lang-dotnet=\"`CifsMount`\" pulumi-lang-go=\"`cifsMount`\" pulumi-lang-python=\"`cifs_mount`\" pulumi-lang-yaml=\"`cifsMount`\" pulumi-lang-java=\"`cifsMount`\"\u003e`cifs_mount`\u003c/span\u003e block defined as below.\n"},"nfsMounts":{"type":"array","items":{"$ref":"#/types/azure:batch/getPoolMountNfsMount:getPoolMountNfsMount"},"description":"A \u003cspan pulumi-lang-nodejs=\"`nfsMount`\" pulumi-lang-dotnet=\"`NfsMount`\" pulumi-lang-go=\"`nfsMount`\" pulumi-lang-python=\"`nfs_mount`\" pulumi-lang-yaml=\"`nfsMount`\" pulumi-lang-java=\"`nfsMount`\"\u003e`nfs_mount`\u003c/span\u003e block defined as below.\n"}},"type":"object","required":["cifsMounts","nfsMounts"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:batch/getPoolMountAzureBlobFileSystem:getPoolMountAzureBlobFileSystem":{"properties":{"accountKey":{"type":"string","description":"The Azure Storage Account key.\n"},"accountName":{"type":"string","description":"The Batch Account name associated with the Batch pool.\n"},"blobfuseOptions":{"type":"string","description":"Additional command line options to pass to the mount command. These are 'net use' options in Windows and 'mount' options in Linux.\n"},"containerName":{"type":"string","description":"The Azure Blob Storage Container name.\n"},"identityId":{"type":"string","description":"The ARM resource id of the user assigned identity. This property is mutually exclusive with both \u003cspan pulumi-lang-nodejs=\"`accountKey`\" pulumi-lang-dotnet=\"`AccountKey`\" pulumi-lang-go=\"`accountKey`\" pulumi-lang-python=\"`account_key`\" pulumi-lang-yaml=\"`accountKey`\" pulumi-lang-java=\"`accountKey`\"\u003e`account_key`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`sasKey`\" pulumi-lang-dotnet=\"`SasKey`\" pulumi-lang-go=\"`sasKey`\" pulumi-lang-python=\"`sas_key`\" pulumi-lang-yaml=\"`sasKey`\" pulumi-lang-java=\"`sasKey`\"\u003e`sas_key`\u003c/span\u003e; exactly one must be specified.\n"},"relativeMountPath":{"type":"string","description":"The relative path on compute node where the file system will be mounted All file systems are mounted relative to the Batch mounts directory, accessible via the `AZ_BATCH_NODE_MOUNTS_DIR` environment variable.\n"},"sasKey":{"type":"string","description":"The Azure Storage SAS token. This property is mutually exclusive with both \u003cspan pulumi-lang-nodejs=\"`accountKey`\" pulumi-lang-dotnet=\"`AccountKey`\" pulumi-lang-go=\"`accountKey`\" pulumi-lang-python=\"`account_key`\" pulumi-lang-yaml=\"`accountKey`\" pulumi-lang-java=\"`accountKey`\"\u003e`account_key`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`identityId`\" pulumi-lang-dotnet=\"`IdentityId`\" pulumi-lang-go=\"`identityId`\" pulumi-lang-python=\"`identity_id`\" pulumi-lang-yaml=\"`identityId`\" pulumi-lang-java=\"`identityId`\"\u003e`identity_id`\u003c/span\u003e; exactly one must be specified.\n"}},"type":"object","required":["accountKey","accountName","blobfuseOptions","containerName","identityId","relativeMountPath","sasKey"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:batch/getPoolMountAzureFileShare:getPoolMountAzureFileShare":{"properties":{"accountKey":{"type":"string","description":"The Azure Storage Account key.\n"},"accountName":{"type":"string","description":"The Batch Account name associated with the Batch pool.\n"},"azureFileUrl":{"type":"string","description":"The Azure Files URL. This is of the form 'https://{account}.file.core.windows.net/'.\n"},"mountOptions":{"type":"string","description":"Additional command line options to pass to the mount command. These are 'net use' options in Windows and 'mount' options in Linux.\n"},"relativeMountPath":{"type":"string","description":"The relative path on compute node where the file system will be mounted All file systems are mounted relative to the Batch mounts directory, accessible via the `AZ_BATCH_NODE_MOUNTS_DIR` environment variable.\n"}},"type":"object","required":["accountKey","accountName","azureFileUrl","mountOptions","relativeMountPath"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:batch/getPoolMountCifsMount:getPoolMountCifsMount":{"properties":{"mountOptions":{"type":"string","description":"Additional command line options to pass to the mount command. These are 'net use' options in Windows and 'mount' options in Linux.\n"},"password":{"type":"string","description":"The password for the user account.\n","secret":true},"relativeMountPath":{"type":"string","description":"The relative path on compute node where the file system will be mounted All file systems are mounted relative to the Batch mounts directory, accessible via the `AZ_BATCH_NODE_MOUNTS_DIR` environment variable.\n"},"source":{"type":"string","description":"The URI of the file system to mount.\n"},"userName":{"type":"string","description":"The user to use for authentication against the CIFS file system.\n"}},"type":"object","required":["mountOptions","password","relativeMountPath","source","userName"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:batch/getPoolMountNfsMount:getPoolMountNfsMount":{"properties":{"mountOptions":{"type":"string","description":"Additional command line options to pass to the mount command. These are 'net use' options in Windows and 'mount' options in Linux.\n"},"relativeMountPath":{"type":"string","description":"The relative path on compute node where the file system will be mounted All file systems are mounted relative to the Batch mounts directory, accessible via the `AZ_BATCH_NODE_MOUNTS_DIR` environment variable.\n"},"source":{"type":"string","description":"The URI of the file system to mount.\n"}},"type":"object","required":["mountOptions","relativeMountPath","source"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:batch/getPoolNetworkConfiguration:getPoolNetworkConfiguration":{"properties":{"acceleratedNetworkingEnabled":{"type":"boolean"},"dynamicVnetAssignmentScope":{"type":"string","description":"The scope of dynamic vnet assignment.\n"},"endpointConfigurations":{"type":"array","items":{"$ref":"#/types/azure:batch/getPoolNetworkConfigurationEndpointConfiguration:getPoolNetworkConfigurationEndpointConfiguration"},"description":"The inbound NAT pools that are used to address specific ports on the individual compute node externally.\n"},"publicAddressProvisioningType":{"type":"string","description":"Type of public IP address provisioning.\n"},"publicIps":{"type":"array","items":{"type":"string"},"description":"A list of public IP ids that will be allocated to nodes.\n"},"subnetId":{"type":"string","description":"The ARM resource identifier of the virtual network subnet which the compute nodes of the pool are joined too.\n"}},"type":"object","required":["acceleratedNetworkingEnabled","dynamicVnetAssignmentScope","endpointConfigurations","publicAddressProvisioningType","publicIps","subnetId"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:batch/getPoolNetworkConfigurationEndpointConfiguration:getPoolNetworkConfigurationEndpointConfiguration":{"properties":{"backendPort":{"type":"integer","description":"The port number on the compute node.\n"},"frontendPortRange":{"type":"string","description":"The range of external ports that are used to provide inbound access to the backendPort on the individual compute nodes in the format of `1000-1100`.\n"},"name":{"type":"string","description":"The name of the Batch pool.\n"},"networkSecurityGroupRules":{"type":"array","items":{"$ref":"#/types/azure:batch/getPoolNetworkConfigurationEndpointConfigurationNetworkSecurityGroupRule:getPoolNetworkConfigurationEndpointConfigurationNetworkSecurityGroupRule"},"description":"The list of network security group rules that are applied to the endpoint.\n"},"protocol":{"type":"string","description":"The protocol of the endpoint.\n"}},"type":"object","required":["backendPort","frontendPortRange","name","networkSecurityGroupRules","protocol"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:batch/getPoolNetworkConfigurationEndpointConfigurationNetworkSecurityGroupRule:getPoolNetworkConfigurationEndpointConfigurationNetworkSecurityGroupRule":{"properties":{"access":{"type":"string","description":"The action that should be taken for a specified IP address, subnet range or tag.\n"},"priority":{"type":"integer","description":"The priority for this rule.\n"},"sourceAddressPrefix":{"type":"string","description":"The source address prefix or tag to match for the rule.\n"},"sourcePortRanges":{"type":"array","items":{"type":"string"},"description":"The source port ranges to match for the rule.\n"}},"type":"object","required":["access","priority","sourceAddressPrefix","sourcePortRanges"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:batch/getPoolNodePlacement:getPoolNodePlacement":{"properties":{"policy":{"type":"string","description":"The placement policy for allocating nodes in the pool.\n"}},"type":"object","required":["policy"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:batch/getPoolStartTask:getPoolStartTask":{"properties":{"commandLine":{"type":"string","description":"The command line executed by the start task.\n"},"commonEnvironmentProperties":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of strings (key,value) that represents the environment variables to set in the start task.\n"},"containers":{"type":"array","items":{"$ref":"#/types/azure:batch/getPoolStartTaskContainer:getPoolStartTaskContainer"},"description":"The settings for the container under which the start task runs.\n"},"resourceFiles":{"type":"array","items":{"$ref":"#/types/azure:batch/getPoolStartTaskResourceFile:getPoolStartTaskResourceFile"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`resourceFile`\" pulumi-lang-dotnet=\"`ResourceFile`\" pulumi-lang-go=\"`resourceFile`\" pulumi-lang-python=\"`resource_file`\" pulumi-lang-yaml=\"`resourceFile`\" pulumi-lang-java=\"`resourceFile`\"\u003e`resource_file`\u003c/span\u003e blocks that describe the files to be downloaded to a compute node.\n"},"taskRetryMaximum":{"type":"integer","description":"The number of retry count\n"},"userIdentities":{"type":"array","items":{"$ref":"#/types/azure:batch/getPoolStartTaskUserIdentity:getPoolStartTaskUserIdentity"},"description":"A \u003cspan pulumi-lang-nodejs=\"`userIdentity`\" pulumi-lang-dotnet=\"`UserIdentity`\" pulumi-lang-go=\"`userIdentity`\" pulumi-lang-python=\"`user_identity`\" pulumi-lang-yaml=\"`userIdentity`\" pulumi-lang-java=\"`userIdentity`\"\u003e`user_identity`\u003c/span\u003e block that describes the user identity under which the start task runs.\n"},"waitForSuccess":{"type":"boolean","description":"A flag that indicates if the Batch pool should wait for the start task to be completed.\n"}},"type":"object","required":["commandLine","containers","resourceFiles","taskRetryMaximum","userIdentities","waitForSuccess"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:batch/getPoolStartTaskContainer:getPoolStartTaskContainer":{"properties":{"imageName":{"type":"string","description":"The image to use to create the container in which the task will run.\n"},"registries":{"type":"array","items":{"$ref":"#/types/azure:batch/getPoolStartTaskContainerRegistry:getPoolStartTaskContainerRegistry"},"description":"The same reference as \u003cspan pulumi-lang-nodejs=\"`containerRegistries`\" pulumi-lang-dotnet=\"`ContainerRegistries`\" pulumi-lang-go=\"`containerRegistries`\" pulumi-lang-python=\"`container_registries`\" pulumi-lang-yaml=\"`containerRegistries`\" pulumi-lang-java=\"`containerRegistries`\"\u003e`container_registries`\u003c/span\u003e block defined as follows.\n"},"runOptions":{"type":"string","description":"Additional options to the container create command.\n"},"workingDirectory":{"type":"string","description":"A flag to indicate where the container task working directory is.\n"}},"type":"object","required":["imageName","registries","runOptions","workingDirectory"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:batch/getPoolStartTaskContainerRegistry:getPoolStartTaskContainerRegistry":{"properties":{"password":{"type":"string","description":"The password for the user account.\n","secret":true},"registryServer":{"type":"string","description":"The container registry URL. The default is \"docker.io\".\n"},"userAssignedIdentityId":{"type":"string","description":"The reference to the user assigned identity to use to access an Azure Container Registry instead of username and password.\n"},"userName":{"type":"string","description":"The user to use for authentication against the CIFS file system.\n"}},"type":"object","required":["password","registryServer","userAssignedIdentityId","userName"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:batch/getPoolStartTaskResourceFile:getPoolStartTaskResourceFile":{"properties":{"autoStorageContainerName":{"type":"string","description":"The storage container name in the auto storage account.\n"},"blobPrefix":{"type":"string","description":"The blob prefix used when downloading blobs from an Azure Storage container.\n"},"fileMode":{"type":"string","description":"The file permission mode attribute represented as a string in octal format (e.g. `\"0644\"`).\n"},"filePath":{"type":"string","description":"The location on the compute node to which to download the file, relative to the task's working directory. If the \u003cspan pulumi-lang-nodejs=\"`httpUrl`\" pulumi-lang-dotnet=\"`HttpUrl`\" pulumi-lang-go=\"`httpUrl`\" pulumi-lang-python=\"`http_url`\" pulumi-lang-yaml=\"`httpUrl`\" pulumi-lang-java=\"`httpUrl`\"\u003e`http_url`\u003c/span\u003e property is specified, the \u003cspan pulumi-lang-nodejs=\"`filePath`\" pulumi-lang-dotnet=\"`FilePath`\" pulumi-lang-go=\"`filePath`\" pulumi-lang-python=\"`file_path`\" pulumi-lang-yaml=\"`filePath`\" pulumi-lang-java=\"`filePath`\"\u003e`file_path`\u003c/span\u003e is required and describes the path which the file will be downloaded to, including the filename. Otherwise, if the \u003cspan pulumi-lang-nodejs=\"`autoStorageContainerName`\" pulumi-lang-dotnet=\"`AutoStorageContainerName`\" pulumi-lang-go=\"`autoStorageContainerName`\" pulumi-lang-python=\"`auto_storage_container_name`\" pulumi-lang-yaml=\"`autoStorageContainerName`\" pulumi-lang-java=\"`autoStorageContainerName`\"\u003e`auto_storage_container_name`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`storageContainerUrl`\" pulumi-lang-dotnet=\"`StorageContainerUrl`\" pulumi-lang-go=\"`storageContainerUrl`\" pulumi-lang-python=\"`storage_container_url`\" pulumi-lang-yaml=\"`storageContainerUrl`\" pulumi-lang-java=\"`storageContainerUrl`\"\u003e`storage_container_url`\u003c/span\u003e property is specified.\n"},"httpUrl":{"type":"string","description":"The URL of the file to download. If the URL is Azure Blob Storage, it must be readable using anonymous access.\n"},"storageContainerUrl":{"type":"string","description":"The URL of the blob container within Azure Blob Storage.\n"},"userAssignedIdentityId":{"type":"string","description":"The reference to the user assigned identity to use to access an Azure Container Registry instead of username and password.\n"}},"type":"object","required":["autoStorageContainerName","blobPrefix","fileMode","filePath","httpUrl","storageContainerUrl","userAssignedIdentityId"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:batch/getPoolStartTaskUserIdentity:getPoolStartTaskUserIdentity":{"properties":{"autoUsers":{"type":"array","items":{"$ref":"#/types/azure:batch/getPoolStartTaskUserIdentityAutoUser:getPoolStartTaskUserIdentityAutoUser"},"description":"A \u003cspan pulumi-lang-nodejs=\"`autoUser`\" pulumi-lang-dotnet=\"`AutoUser`\" pulumi-lang-go=\"`autoUser`\" pulumi-lang-python=\"`auto_user`\" pulumi-lang-yaml=\"`autoUser`\" pulumi-lang-java=\"`autoUser`\"\u003e`auto_user`\u003c/span\u003e block that describes the user identity under which the start task runs.\n"},"userName":{"type":"string","description":"The user to use for authentication against the CIFS file system.\n"}},"type":"object","required":["autoUsers","userName"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:batch/getPoolStartTaskUserIdentityAutoUser:getPoolStartTaskUserIdentityAutoUser":{"properties":{"elevationLevel":{"type":"string","description":"The elevation level of the user account. \"NonAdmin\" - The auto user is a standard user without elevated access. \"Admin\" - The auto user is a user with elevated access and operates with full Administrator permissions. The default value is nonAdmin.\n"},"scope":{"type":"string","description":"The scope of the user identity under which the start task runs.\n"}},"type":"object","required":["elevationLevel","scope"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:batch/getPoolStorageImageReference:getPoolStorageImageReference":{"properties":{"id":{"type":"string","description":"The Batch pool ID.\n"},"offer":{"type":"string"},"publisher":{"type":"string","description":"The name of the extension handler publisher.The name of the extension handler publisher.\n"},"sku":{"type":"string"},"version":{"type":"string"}},"type":"object","required":["id","offer","publisher","sku","version"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:batch/getPoolTaskSchedulingPolicy:getPoolTaskSchedulingPolicy":{"properties":{"nodeFillType":{"type":"string","description":"Supported values are `Pack` and `Spread`. `Pack` means as many tasks as possible (taskSlotsPerNode) should be assigned to each node in the pool before any tasks are assigned to the next node in the pool. `Spread` means that tasks should be assigned evenly across all nodes in the pool.\n"}},"type":"object","required":["nodeFillType"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:batch/getPoolUserAccount:getPoolUserAccount":{"properties":{"elevationLevel":{"type":"string","description":"The elevation level of the user account. \"NonAdmin\" - The auto user is a standard user without elevated access. \"Admin\" - The auto user is a user with elevated access and operates with full Administrator permissions. The default value is nonAdmin.\n"},"linuxUserConfigurations":{"type":"array","items":{"$ref":"#/types/azure:batch/getPoolUserAccountLinuxUserConfiguration:getPoolUserAccountLinuxUserConfiguration"},"description":"The \u003cspan pulumi-lang-nodejs=\"`linuxUserConfiguration`\" pulumi-lang-dotnet=\"`LinuxUserConfiguration`\" pulumi-lang-go=\"`linuxUserConfiguration`\" pulumi-lang-python=\"`linux_user_configuration`\" pulumi-lang-yaml=\"`linuxUserConfiguration`\" pulumi-lang-java=\"`linuxUserConfiguration`\"\u003e`linux_user_configuration`\u003c/span\u003e block defined below is a linux-specific user configuration for the user account. This property is ignored if specified on a Windows pool. If not specified, the user is created with the default options.\n"},"name":{"type":"string","description":"The name of the Batch pool.\n"},"password":{"type":"string","description":"The password for the user account.\n","secret":true},"windowsUserConfigurations":{"type":"array","items":{"$ref":"#/types/azure:batch/getPoolUserAccountWindowsUserConfiguration:getPoolUserAccountWindowsUserConfiguration"},"description":"The \u003cspan pulumi-lang-nodejs=\"`windowsUserConfiguration`\" pulumi-lang-dotnet=\"`WindowsUserConfiguration`\" pulumi-lang-go=\"`windowsUserConfiguration`\" pulumi-lang-python=\"`windows_user_configuration`\" pulumi-lang-yaml=\"`windowsUserConfiguration`\" pulumi-lang-java=\"`windowsUserConfiguration`\"\u003e`windows_user_configuration`\u003c/span\u003e block defined below is a windows-specific user configuration for the user account. This property can only be specified if the user is on a Windows pool. If not specified and on a Windows pool, the user is created with the default options.\n"}},"type":"object","required":["elevationLevel","linuxUserConfigurations","name","password","windowsUserConfigurations"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:batch/getPoolUserAccountLinuxUserConfiguration:getPoolUserAccountLinuxUserConfiguration":{"properties":{"gid":{"type":"integer","description":"The user ID of the user account.\n"},"sshPrivateKey":{"type":"string","description":"The SSH private key for the user account.\n","secret":true},"uid":{"type":"integer","description":"The group ID for the user account.\n"}},"type":"object","required":["gid","sshPrivateKey","uid"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:batch/getPoolUserAccountWindowsUserConfiguration:getPoolUserAccountWindowsUserConfiguration":{"properties":{"loginMode":{"type":"string","description":"Specifies login mode for the user.\n"}},"type":"object","required":["loginMode"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:batch/getPoolWindow:getPoolWindow":{"properties":{"enableAutomaticUpdates":{"type":"boolean","description":"Whether automatic updates are enabled on the virtual machine.\n"}},"type":"object","required":["enableAutomaticUpdates"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:billing/AccountCostManagementExportExportDataOptions:AccountCostManagementExportExportDataOptions":{"properties":{"timeFrame":{"type":"string","description":"The time frame for pulling data for the query. If custom, then a specific time period must be provided. Possible values include: `WeekToDate`, `MonthToDate`, `BillingMonthToDate`, `TheLast7Days`, `TheLastMonth`, `TheLastBillingMonth`, `Custom`.\n"},"type":{"type":"string","description":"The type of the query. Possible values are `ActualCost`, `AmortizedCost` and `Usage`.\n"}},"type":"object","required":["timeFrame","type"]},"azure:billing/AccountCostManagementExportExportDataStorageLocation:AccountCostManagementExportExportDataStorageLocation":{"properties":{"containerId":{"type":"string","description":"The Resource Manager ID of the container where exports will be uploaded. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"rootFolderPath":{"type":"string","description":"The path of the directory where exports will be uploaded. Changing this forces a new resource to be created.\n\n\u003e **Note:** The Resource Manager ID of a Storage Container is exposed via the \u003cspan pulumi-lang-nodejs=\"`resourceManagerId`\" pulumi-lang-dotnet=\"`ResourceManagerId`\" pulumi-lang-go=\"`resourceManagerId`\" pulumi-lang-python=\"`resource_manager_id`\" pulumi-lang-yaml=\"`resourceManagerId`\" pulumi-lang-java=\"`resourceManagerId`\"\u003e`resource_manager_id`\u003c/span\u003e attribute of the \u003cspan pulumi-lang-nodejs=\"`azure.storage.Container`\" pulumi-lang-dotnet=\"`azure.storage.Container`\" pulumi-lang-go=\"`storage.Container`\" pulumi-lang-python=\"`storage.Container`\" pulumi-lang-yaml=\"`azure.storage.Container`\" pulumi-lang-java=\"`azure.storage.Container`\"\u003e`azure.storage.Container`\u003c/span\u003e resource.\n","willReplaceOnChanges":true}},"type":"object","required":["containerId","rootFolderPath"]},"azure:blueprint/AssignmentIdentity:AssignmentIdentity":{"properties":{"identityIds":{"type":"array","items":{"type":"string"},"description":"Specifies a list of User Assigned Managed Identity IDs to be assigned to this Blueprint.\n"},"principalId":{"type":"string"},"tenantId":{"type":"string"},"type":{"type":"string","description":"Specifies the type of Managed Service Identity that should be configured on this Blueprint. Possible values are `SystemAssigned` and `UserAssigned`.\n"}},"type":"object","required":["type"],"language":{"nodejs":{"requiredOutputs":["principalId","tenantId","type"]}}},"azure:bot/ChannelDirectLineSite:ChannelDirectLineSite":{"properties":{"enabled":{"type":"boolean","description":"Enables/Disables this site. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"endpointParametersEnabled":{"type":"boolean","description":"Is the endpoint parameters enabled for this site?\n"},"enhancedAuthenticationEnabled":{"type":"boolean","description":"Enables additional security measures for this site, see [Enhanced Directline Authentication Features](https://blog.botframework.com/2018/09/25/enhanced-direct-line-authentication-features). Disabled by default.\n"},"id":{"type":"string","description":"Id for the site\n"},"key":{"type":"string","description":"Primary key for accessing this site\n","secret":true},"key2":{"type":"string","description":"Secondary key for accessing this site\n","secret":true},"name":{"type":"string","description":"The name of the site\n"},"storageEnabled":{"type":"boolean","description":"Is the storage site enabled for detailed logging? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"trustedOrigins":{"type":"array","items":{"type":"string"},"description":"This field is required when \u003cspan pulumi-lang-nodejs=\"`isSecureSiteEnabled`\" pulumi-lang-dotnet=\"`IsSecureSiteEnabled`\" pulumi-lang-go=\"`isSecureSiteEnabled`\" pulumi-lang-python=\"`is_secure_site_enabled`\" pulumi-lang-yaml=\"`isSecureSiteEnabled`\" pulumi-lang-java=\"`isSecureSiteEnabled`\"\u003e`is_secure_site_enabled`\u003c/span\u003e is enabled. Determines which origins can establish a Directline conversation for this site.\n"},"userUploadEnabled":{"type":"boolean","description":"Is the user upload enabled for this site? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"v1Allowed":{"type":"boolean","description":"Enables v1 of the Directline protocol for this site. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"v3Allowed":{"type":"boolean","description":"Enables v3 of the Directline protocol for this site. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"}},"type":"object","required":["name"],"language":{"nodejs":{"requiredOutputs":["id","key","key2","name"]}}},"azure:bot/ChannelFacebookPage:ChannelFacebookPage":{"properties":{"accessToken":{"type":"string","description":"The Facebook Page Access Token for the Facebook Channel.\n","secret":true},"id":{"type":"string","description":"The Facebook Page ID for the Facebook Channel.\n"}},"type":"object","required":["accessToken","id"]},"azure:bot/ChannelLineLineChannel:ChannelLineLineChannel":{"properties":{"accessToken":{"type":"string","description":"The access token which is used to call the Line Channel API.\n","secret":true},"secret":{"type":"string","description":"The secret which is used to access the Line Channel.\n","secret":true}},"type":"object","required":["accessToken","secret"]},"azure:bot/ChannelWebChatSite:ChannelWebChatSite":{"properties":{"endpointParametersEnabled":{"type":"boolean","description":"Is the endpoint parameters enabled for this site?\n"},"name":{"type":"string","description":"The name of the site.\n"},"storageEnabled":{"type":"boolean","description":"Is the storage site enabled for detailed logging? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"userUploadEnabled":{"type":"boolean","description":"Is the user upload enabled for this site? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"}},"type":"object","required":["name"]},"azure:cdn/EndpointCustomDomainCdnManagedHttps:EndpointCustomDomainCdnManagedHttps":{"properties":{"certificateType":{"type":"string","description":"The type of HTTPS certificate. Possible values are `Shared` and `Dedicated`.\n"},"protocolType":{"type":"string","description":"The type of protocol. Possible values are `ServerNameIndication` and `IPBased`.\n"},"tlsVersion":{"type":"string","description":"The minimum TLS protocol version that is used for HTTPS. Possible values are `TLS10` (representing TLS 1.0/1.1), `TLS12` (representing TLS 1.2) and `None` (representing no minimums). Defaults to `TLS12`.\n\n\u003e **Note:** Azure Services will require TLS 1.2+ by August 2025, please see this [announcement](https://azure.microsoft.com/en-us/updates/v2/update-retirement-tls1-0-tls1-1-versions-azure-services/) for more.\n"}},"type":"object","required":["certificateType","protocolType"]},"azure:cdn/EndpointCustomDomainUserManagedHttps:EndpointCustomDomainUserManagedHttps":{"properties":{"keyVaultSecretId":{"type":"string","description":"The ID of the Key Vault Secret that contains the HTTPS certificate.\n"},"tlsVersion":{"type":"string","description":"The minimum TLS protocol version that is used for HTTPS. Possible values are `TLS10` (representing TLS 1.0/1.1), `TLS12` (representing TLS 1.2) and `None` (representing no minimums). Defaults to `TLS12`.\n\n\u003e **Note:** Azure Services will require TLS 1.2+ by August 2025, please see this [announcement](https://azure.microsoft.com/en-us/updates/v2/update-retirement-tls1-0-tls1-1-versions-azure-services/) for more.\n"}},"type":"object","required":["keyVaultSecretId"]},"azure:cdn/EndpointDeliveryRule:EndpointDeliveryRule":{"properties":{"cacheExpirationAction":{"$ref":"#/types/azure:cdn/EndpointDeliveryRuleCacheExpirationAction:EndpointDeliveryRuleCacheExpirationAction","description":"A \u003cspan pulumi-lang-nodejs=\"`cacheExpirationAction`\" pulumi-lang-dotnet=\"`CacheExpirationAction`\" pulumi-lang-go=\"`cacheExpirationAction`\" pulumi-lang-python=\"`cache_expiration_action`\" pulumi-lang-yaml=\"`cacheExpirationAction`\" pulumi-lang-java=\"`cacheExpirationAction`\"\u003e`cache_expiration_action`\u003c/span\u003e block as defined above.\n"},"cacheKeyQueryStringAction":{"$ref":"#/types/azure:cdn/EndpointDeliveryRuleCacheKeyQueryStringAction:EndpointDeliveryRuleCacheKeyQueryStringAction","description":"A \u003cspan pulumi-lang-nodejs=\"`cacheKeyQueryStringAction`\" pulumi-lang-dotnet=\"`CacheKeyQueryStringAction`\" pulumi-lang-go=\"`cacheKeyQueryStringAction`\" pulumi-lang-python=\"`cache_key_query_string_action`\" pulumi-lang-yaml=\"`cacheKeyQueryStringAction`\" pulumi-lang-java=\"`cacheKeyQueryStringAction`\"\u003e`cache_key_query_string_action`\u003c/span\u003e block as defined above.\n"},"cookiesConditions":{"type":"array","items":{"$ref":"#/types/azure:cdn/EndpointDeliveryRuleCookiesCondition:EndpointDeliveryRuleCookiesCondition"},"description":"A \u003cspan pulumi-lang-nodejs=\"`cookiesCondition`\" pulumi-lang-dotnet=\"`CookiesCondition`\" pulumi-lang-go=\"`cookiesCondition`\" pulumi-lang-python=\"`cookies_condition`\" pulumi-lang-yaml=\"`cookiesCondition`\" pulumi-lang-java=\"`cookiesCondition`\"\u003e`cookies_condition`\u003c/span\u003e block as defined above.\n"},"deviceCondition":{"$ref":"#/types/azure:cdn/EndpointDeliveryRuleDeviceCondition:EndpointDeliveryRuleDeviceCondition","description":"A \u003cspan pulumi-lang-nodejs=\"`deviceCondition`\" pulumi-lang-dotnet=\"`DeviceCondition`\" pulumi-lang-go=\"`deviceCondition`\" pulumi-lang-python=\"`device_condition`\" pulumi-lang-yaml=\"`deviceCondition`\" pulumi-lang-java=\"`deviceCondition`\"\u003e`device_condition`\u003c/span\u003e block as defined below.\n"},"httpVersionConditions":{"type":"array","items":{"$ref":"#/types/azure:cdn/EndpointDeliveryRuleHttpVersionCondition:EndpointDeliveryRuleHttpVersionCondition"},"description":"A \u003cspan pulumi-lang-nodejs=\"`httpVersionCondition`\" pulumi-lang-dotnet=\"`HttpVersionCondition`\" pulumi-lang-go=\"`httpVersionCondition`\" pulumi-lang-python=\"`http_version_condition`\" pulumi-lang-yaml=\"`httpVersionCondition`\" pulumi-lang-java=\"`httpVersionCondition`\"\u003e`http_version_condition`\u003c/span\u003e block as defined below.\n"},"modifyRequestHeaderActions":{"type":"array","items":{"$ref":"#/types/azure:cdn/EndpointDeliveryRuleModifyRequestHeaderAction:EndpointDeliveryRuleModifyRequestHeaderAction"},"description":"A \u003cspan pulumi-lang-nodejs=\"`modifyRequestHeaderAction`\" pulumi-lang-dotnet=\"`ModifyRequestHeaderAction`\" pulumi-lang-go=\"`modifyRequestHeaderAction`\" pulumi-lang-python=\"`modify_request_header_action`\" pulumi-lang-yaml=\"`modifyRequestHeaderAction`\" pulumi-lang-java=\"`modifyRequestHeaderAction`\"\u003e`modify_request_header_action`\u003c/span\u003e block as defined below.\n"},"modifyResponseHeaderActions":{"type":"array","items":{"$ref":"#/types/azure:cdn/EndpointDeliveryRuleModifyResponseHeaderAction:EndpointDeliveryRuleModifyResponseHeaderAction"},"description":"A \u003cspan pulumi-lang-nodejs=\"`modifyResponseHeaderAction`\" pulumi-lang-dotnet=\"`ModifyResponseHeaderAction`\" pulumi-lang-go=\"`modifyResponseHeaderAction`\" pulumi-lang-python=\"`modify_response_header_action`\" pulumi-lang-yaml=\"`modifyResponseHeaderAction`\" pulumi-lang-java=\"`modifyResponseHeaderAction`\"\u003e`modify_response_header_action`\u003c/span\u003e block as defined below.\n"},"name":{"type":"string","description":"The Name which should be used for this Delivery Rule.\n"},"order":{"type":"integer","description":"The order used for this rule. The order values should be sequential and begin at \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e.\n"},"postArgConditions":{"type":"array","items":{"$ref":"#/types/azure:cdn/EndpointDeliveryRulePostArgCondition:EndpointDeliveryRulePostArgCondition"},"description":"A \u003cspan pulumi-lang-nodejs=\"`postArgCondition`\" pulumi-lang-dotnet=\"`PostArgCondition`\" pulumi-lang-go=\"`postArgCondition`\" pulumi-lang-python=\"`post_arg_condition`\" pulumi-lang-yaml=\"`postArgCondition`\" pulumi-lang-java=\"`postArgCondition`\"\u003e`post_arg_condition`\u003c/span\u003e block as defined below.\n"},"queryStringConditions":{"type":"array","items":{"$ref":"#/types/azure:cdn/EndpointDeliveryRuleQueryStringCondition:EndpointDeliveryRuleQueryStringCondition"},"description":"A \u003cspan pulumi-lang-nodejs=\"`queryStringCondition`\" pulumi-lang-dotnet=\"`QueryStringCondition`\" pulumi-lang-go=\"`queryStringCondition`\" pulumi-lang-python=\"`query_string_condition`\" pulumi-lang-yaml=\"`queryStringCondition`\" pulumi-lang-java=\"`queryStringCondition`\"\u003e`query_string_condition`\u003c/span\u003e block as defined below.\n"},"remoteAddressConditions":{"type":"array","items":{"$ref":"#/types/azure:cdn/EndpointDeliveryRuleRemoteAddressCondition:EndpointDeliveryRuleRemoteAddressCondition"},"description":"A \u003cspan pulumi-lang-nodejs=\"`remoteAddressCondition`\" pulumi-lang-dotnet=\"`RemoteAddressCondition`\" pulumi-lang-go=\"`remoteAddressCondition`\" pulumi-lang-python=\"`remote_address_condition`\" pulumi-lang-yaml=\"`remoteAddressCondition`\" pulumi-lang-java=\"`remoteAddressCondition`\"\u003e`remote_address_condition`\u003c/span\u003e block as defined below.\n"},"requestBodyConditions":{"type":"array","items":{"$ref":"#/types/azure:cdn/EndpointDeliveryRuleRequestBodyCondition:EndpointDeliveryRuleRequestBodyCondition"},"description":"A \u003cspan pulumi-lang-nodejs=\"`requestBodyCondition`\" pulumi-lang-dotnet=\"`RequestBodyCondition`\" pulumi-lang-go=\"`requestBodyCondition`\" pulumi-lang-python=\"`request_body_condition`\" pulumi-lang-yaml=\"`requestBodyCondition`\" pulumi-lang-java=\"`requestBodyCondition`\"\u003e`request_body_condition`\u003c/span\u003e block as defined below.\n"},"requestHeaderConditions":{"type":"array","items":{"$ref":"#/types/azure:cdn/EndpointDeliveryRuleRequestHeaderCondition:EndpointDeliveryRuleRequestHeaderCondition"},"description":"A \u003cspan pulumi-lang-nodejs=\"`requestHeaderCondition`\" pulumi-lang-dotnet=\"`RequestHeaderCondition`\" pulumi-lang-go=\"`requestHeaderCondition`\" pulumi-lang-python=\"`request_header_condition`\" pulumi-lang-yaml=\"`requestHeaderCondition`\" pulumi-lang-java=\"`requestHeaderCondition`\"\u003e`request_header_condition`\u003c/span\u003e block as defined below.\n"},"requestMethodCondition":{"$ref":"#/types/azure:cdn/EndpointDeliveryRuleRequestMethodCondition:EndpointDeliveryRuleRequestMethodCondition","description":"A \u003cspan pulumi-lang-nodejs=\"`requestMethodCondition`\" pulumi-lang-dotnet=\"`RequestMethodCondition`\" pulumi-lang-go=\"`requestMethodCondition`\" pulumi-lang-python=\"`request_method_condition`\" pulumi-lang-yaml=\"`requestMethodCondition`\" pulumi-lang-java=\"`requestMethodCondition`\"\u003e`request_method_condition`\u003c/span\u003e block as defined below.\n"},"requestSchemeCondition":{"$ref":"#/types/azure:cdn/EndpointDeliveryRuleRequestSchemeCondition:EndpointDeliveryRuleRequestSchemeCondition","description":"A \u003cspan pulumi-lang-nodejs=\"`requestSchemeCondition`\" pulumi-lang-dotnet=\"`RequestSchemeCondition`\" pulumi-lang-go=\"`requestSchemeCondition`\" pulumi-lang-python=\"`request_scheme_condition`\" pulumi-lang-yaml=\"`requestSchemeCondition`\" pulumi-lang-java=\"`requestSchemeCondition`\"\u003e`request_scheme_condition`\u003c/span\u003e block as defined below.\n"},"requestUriConditions":{"type":"array","items":{"$ref":"#/types/azure:cdn/EndpointDeliveryRuleRequestUriCondition:EndpointDeliveryRuleRequestUriCondition"},"description":"A \u003cspan pulumi-lang-nodejs=\"`requestUriCondition`\" pulumi-lang-dotnet=\"`RequestUriCondition`\" pulumi-lang-go=\"`requestUriCondition`\" pulumi-lang-python=\"`request_uri_condition`\" pulumi-lang-yaml=\"`requestUriCondition`\" pulumi-lang-java=\"`requestUriCondition`\"\u003e`request_uri_condition`\u003c/span\u003e block as defined below.\n"},"urlFileExtensionConditions":{"type":"array","items":{"$ref":"#/types/azure:cdn/EndpointDeliveryRuleUrlFileExtensionCondition:EndpointDeliveryRuleUrlFileExtensionCondition"},"description":"A \u003cspan pulumi-lang-nodejs=\"`urlFileExtensionCondition`\" pulumi-lang-dotnet=\"`UrlFileExtensionCondition`\" pulumi-lang-go=\"`urlFileExtensionCondition`\" pulumi-lang-python=\"`url_file_extension_condition`\" pulumi-lang-yaml=\"`urlFileExtensionCondition`\" pulumi-lang-java=\"`urlFileExtensionCondition`\"\u003e`url_file_extension_condition`\u003c/span\u003e block as defined below.\n"},"urlFileNameConditions":{"type":"array","items":{"$ref":"#/types/azure:cdn/EndpointDeliveryRuleUrlFileNameCondition:EndpointDeliveryRuleUrlFileNameCondition"},"description":"A \u003cspan pulumi-lang-nodejs=\"`urlFileNameCondition`\" pulumi-lang-dotnet=\"`UrlFileNameCondition`\" pulumi-lang-go=\"`urlFileNameCondition`\" pulumi-lang-python=\"`url_file_name_condition`\" pulumi-lang-yaml=\"`urlFileNameCondition`\" pulumi-lang-java=\"`urlFileNameCondition`\"\u003e`url_file_name_condition`\u003c/span\u003e block as defined below.\n"},"urlPathConditions":{"type":"array","items":{"$ref":"#/types/azure:cdn/EndpointDeliveryRuleUrlPathCondition:EndpointDeliveryRuleUrlPathCondition"},"description":"A \u003cspan pulumi-lang-nodejs=\"`urlPathCondition`\" pulumi-lang-dotnet=\"`UrlPathCondition`\" pulumi-lang-go=\"`urlPathCondition`\" pulumi-lang-python=\"`url_path_condition`\" pulumi-lang-yaml=\"`urlPathCondition`\" pulumi-lang-java=\"`urlPathCondition`\"\u003e`url_path_condition`\u003c/span\u003e block as defined below.\n"},"urlRedirectAction":{"$ref":"#/types/azure:cdn/EndpointDeliveryRuleUrlRedirectAction:EndpointDeliveryRuleUrlRedirectAction","description":"A \u003cspan pulumi-lang-nodejs=\"`urlRedirectAction`\" pulumi-lang-dotnet=\"`UrlRedirectAction`\" pulumi-lang-go=\"`urlRedirectAction`\" pulumi-lang-python=\"`url_redirect_action`\" pulumi-lang-yaml=\"`urlRedirectAction`\" pulumi-lang-java=\"`urlRedirectAction`\"\u003e`url_redirect_action`\u003c/span\u003e block as defined below.\n"},"urlRewriteAction":{"$ref":"#/types/azure:cdn/EndpointDeliveryRuleUrlRewriteAction:EndpointDeliveryRuleUrlRewriteAction","description":"A \u003cspan pulumi-lang-nodejs=\"`urlRewriteAction`\" pulumi-lang-dotnet=\"`UrlRewriteAction`\" pulumi-lang-go=\"`urlRewriteAction`\" pulumi-lang-python=\"`url_rewrite_action`\" pulumi-lang-yaml=\"`urlRewriteAction`\" pulumi-lang-java=\"`urlRewriteAction`\"\u003e`url_rewrite_action`\u003c/span\u003e block as defined below.\n"}},"type":"object","required":["name","order"]},"azure:cdn/EndpointDeliveryRuleCacheExpirationAction:EndpointDeliveryRuleCacheExpirationAction":{"properties":{"behavior":{"type":"string","description":"The behavior of the cache. Valid values are `BypassCache`, `Override` and `SetIfMissing`.\n"},"duration":{"type":"string","description":"Duration of the cache. Only allowed when \u003cspan pulumi-lang-nodejs=\"`behavior`\" pulumi-lang-dotnet=\"`Behavior`\" pulumi-lang-go=\"`behavior`\" pulumi-lang-python=\"`behavior`\" pulumi-lang-yaml=\"`behavior`\" pulumi-lang-java=\"`behavior`\"\u003e`behavior`\u003c/span\u003e is set to `Override` or `SetIfMissing`. Format: `[d.]hh:mm:ss`\n"}},"type":"object","required":["behavior"]},"azure:cdn/EndpointDeliveryRuleCacheKeyQueryStringAction:EndpointDeliveryRuleCacheKeyQueryStringAction":{"properties":{"behavior":{"type":"string","description":"The behavior of the cache key for query strings. Valid values are `Exclude`, `ExcludeAll`, `Include` and `IncludeAll`.\n"},"parameters":{"type":"string","description":"Comma separated list of parameter values.\n"}},"type":"object","required":["behavior"]},"azure:cdn/EndpointDeliveryRuleCookiesCondition:EndpointDeliveryRuleCookiesCondition":{"properties":{"matchValues":{"type":"array","items":{"type":"string"},"description":"List of values for the cookie. This is required if \u003cspan pulumi-lang-nodejs=\"`operator`\" pulumi-lang-dotnet=\"`Operator`\" pulumi-lang-go=\"`operator`\" pulumi-lang-python=\"`operator`\" pulumi-lang-yaml=\"`operator`\" pulumi-lang-java=\"`operator`\"\u003e`operator`\u003c/span\u003e is not `Any`.\n"},"negateCondition":{"type":"boolean","description":"Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"operator":{"type":"string","description":"Valid values are `Any`, `BeginsWith`, `Contains`, `EndsWith`, `Equal`, `GreaterThan`, `GreaterThanOrEqual`, `LessThan` and `LessThanOrEqual`.\n"},"selector":{"type":"string","description":"Name of the cookie.\n"},"transforms":{"type":"array","items":{"type":"string"},"description":"A list of transforms. Valid values are `Lowercase` and `Uppercase`.\n"}},"type":"object","required":["operator","selector"]},"azure:cdn/EndpointDeliveryRuleDeviceCondition:EndpointDeliveryRuleDeviceCondition":{"properties":{"matchValues":{"type":"array","items":{"type":"string"},"description":"Valid values are `Desktop` and `Mobile`.\n"},"negateCondition":{"type":"boolean","description":"Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"operator":{"type":"string","description":"Valid values are `Equal`. Defaults to `Equal`.\n"}},"type":"object","required":["matchValues"]},"azure:cdn/EndpointDeliveryRuleHttpVersionCondition:EndpointDeliveryRuleHttpVersionCondition":{"properties":{"matchValues":{"type":"array","items":{"type":"string"},"description":"Valid values are `0.9`, `1.0`, `1.1` and `2.0`.\n"},"negateCondition":{"type":"boolean","description":"Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"operator":{"type":"string","description":"Valid values are `Equal`. Defaults to `Equal`.\n"}},"type":"object","required":["matchValues"]},"azure:cdn/EndpointDeliveryRuleModifyRequestHeaderAction:EndpointDeliveryRuleModifyRequestHeaderAction":{"properties":{"action":{"type":"string","description":"Action to be executed on a header value. Valid values are `Append`, `Delete` and `Overwrite`.\n"},"name":{"type":"string","description":"The header name.\n"},"value":{"type":"string","description":"The value of the header. Only needed when \u003cspan pulumi-lang-nodejs=\"`action`\" pulumi-lang-dotnet=\"`Action`\" pulumi-lang-go=\"`action`\" pulumi-lang-python=\"`action`\" pulumi-lang-yaml=\"`action`\" pulumi-lang-java=\"`action`\"\u003e`action`\u003c/span\u003e is set to `Append` or \u003cspan pulumi-lang-nodejs=\"`overwrite`\" pulumi-lang-dotnet=\"`Overwrite`\" pulumi-lang-go=\"`overwrite`\" pulumi-lang-python=\"`overwrite`\" pulumi-lang-yaml=\"`overwrite`\" pulumi-lang-java=\"`overwrite`\"\u003e`overwrite`\u003c/span\u003e.\n"}},"type":"object","required":["action","name"]},"azure:cdn/EndpointDeliveryRuleModifyResponseHeaderAction:EndpointDeliveryRuleModifyResponseHeaderAction":{"properties":{"action":{"type":"string","description":"Action to be executed on a header value. Valid values are `Append`, `Delete` and `Overwrite`.\n"},"name":{"type":"string","description":"The header name.\n"},"value":{"type":"string","description":"The value of the header. Only needed when \u003cspan pulumi-lang-nodejs=\"`action`\" pulumi-lang-dotnet=\"`Action`\" pulumi-lang-go=\"`action`\" pulumi-lang-python=\"`action`\" pulumi-lang-yaml=\"`action`\" pulumi-lang-java=\"`action`\"\u003e`action`\u003c/span\u003e is set to `Append` or \u003cspan pulumi-lang-nodejs=\"`overwrite`\" pulumi-lang-dotnet=\"`Overwrite`\" pulumi-lang-go=\"`overwrite`\" pulumi-lang-python=\"`overwrite`\" pulumi-lang-yaml=\"`overwrite`\" pulumi-lang-java=\"`overwrite`\"\u003e`overwrite`\u003c/span\u003e.\n"}},"type":"object","required":["action","name"]},"azure:cdn/EndpointDeliveryRulePostArgCondition:EndpointDeliveryRulePostArgCondition":{"properties":{"matchValues":{"type":"array","items":{"type":"string"},"description":"List of string values. This is required if \u003cspan pulumi-lang-nodejs=\"`operator`\" pulumi-lang-dotnet=\"`Operator`\" pulumi-lang-go=\"`operator`\" pulumi-lang-python=\"`operator`\" pulumi-lang-yaml=\"`operator`\" pulumi-lang-java=\"`operator`\"\u003e`operator`\u003c/span\u003e is not `Any`.\n"},"negateCondition":{"type":"boolean","description":"Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"operator":{"type":"string","description":"Valid values are `Any`, `BeginsWith`, `Contains`, `EndsWith`, `Equal`, `GreaterThan`, `GreaterThanOrEqual`, `LessThan` and `LessThanOrEqual`.\n"},"selector":{"type":"string","description":"Name of the post arg.\n"},"transforms":{"type":"array","items":{"type":"string"},"description":"A list of transforms. Valid values are `Lowercase` and `Uppercase`.\n"}},"type":"object","required":["operator","selector"]},"azure:cdn/EndpointDeliveryRuleQueryStringCondition:EndpointDeliveryRuleQueryStringCondition":{"properties":{"matchValues":{"type":"array","items":{"type":"string"},"description":"List of string values. This is required if \u003cspan pulumi-lang-nodejs=\"`operator`\" pulumi-lang-dotnet=\"`Operator`\" pulumi-lang-go=\"`operator`\" pulumi-lang-python=\"`operator`\" pulumi-lang-yaml=\"`operator`\" pulumi-lang-java=\"`operator`\"\u003e`operator`\u003c/span\u003e is not `Any`.\n"},"negateCondition":{"type":"boolean","description":"Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"operator":{"type":"string","description":"Valid values are `Any`, `BeginsWith`, `Contains`, `EndsWith`, `Equal`, `GreaterThan`, `GreaterThanOrEqual`, `LessThan` and `LessThanOrEqual`.\n"},"transforms":{"type":"array","items":{"type":"string"},"description":"A list of transforms. Valid values are `Lowercase` and `Uppercase`.\n"}},"type":"object","required":["operator"]},"azure:cdn/EndpointDeliveryRuleRemoteAddressCondition:EndpointDeliveryRuleRemoteAddressCondition":{"properties":{"matchValues":{"type":"array","items":{"type":"string"},"description":"List of string values. For `GeoMatch` \u003cspan pulumi-lang-nodejs=\"`operator`\" pulumi-lang-dotnet=\"`Operator`\" pulumi-lang-go=\"`operator`\" pulumi-lang-python=\"`operator`\" pulumi-lang-yaml=\"`operator`\" pulumi-lang-java=\"`operator`\"\u003e`operator`\u003c/span\u003e this should be a list of country codes (e.g. `US` or `DE`). List of IP address if \u003cspan pulumi-lang-nodejs=\"`operator`\" pulumi-lang-dotnet=\"`Operator`\" pulumi-lang-go=\"`operator`\" pulumi-lang-python=\"`operator`\" pulumi-lang-yaml=\"`operator`\" pulumi-lang-java=\"`operator`\"\u003e`operator`\u003c/span\u003e equals to `IPMatch`. This is required if \u003cspan pulumi-lang-nodejs=\"`operator`\" pulumi-lang-dotnet=\"`Operator`\" pulumi-lang-go=\"`operator`\" pulumi-lang-python=\"`operator`\" pulumi-lang-yaml=\"`operator`\" pulumi-lang-java=\"`operator`\"\u003e`operator`\u003c/span\u003e is not `Any`.\n"},"negateCondition":{"type":"boolean","description":"Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"operator":{"type":"string","description":"Valid values are `Any`, `GeoMatch` and `IPMatch`.\n"}},"type":"object","required":["operator"]},"azure:cdn/EndpointDeliveryRuleRequestBodyCondition:EndpointDeliveryRuleRequestBodyCondition":{"properties":{"matchValues":{"type":"array","items":{"type":"string"},"description":"List of string values. This is required if \u003cspan pulumi-lang-nodejs=\"`operator`\" pulumi-lang-dotnet=\"`Operator`\" pulumi-lang-go=\"`operator`\" pulumi-lang-python=\"`operator`\" pulumi-lang-yaml=\"`operator`\" pulumi-lang-java=\"`operator`\"\u003e`operator`\u003c/span\u003e is not `Any`.\n"},"negateCondition":{"type":"boolean","description":"Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"operator":{"type":"string","description":"Valid values are `Any`, `BeginsWith`, `Contains`, `EndsWith`, `Equal`, `GreaterThan`, `GreaterThanOrEqual`, `LessThan` and `LessThanOrEqual`.\n"},"transforms":{"type":"array","items":{"type":"string"},"description":"A list of transforms. Valid values are `Lowercase` and `Uppercase`.\n"}},"type":"object","required":["operator"]},"azure:cdn/EndpointDeliveryRuleRequestHeaderCondition:EndpointDeliveryRuleRequestHeaderCondition":{"properties":{"matchValues":{"type":"array","items":{"type":"string"},"description":"List of header values. This is required if \u003cspan pulumi-lang-nodejs=\"`operator`\" pulumi-lang-dotnet=\"`Operator`\" pulumi-lang-go=\"`operator`\" pulumi-lang-python=\"`operator`\" pulumi-lang-yaml=\"`operator`\" pulumi-lang-java=\"`operator`\"\u003e`operator`\u003c/span\u003e is not `Any`.\n"},"negateCondition":{"type":"boolean","description":"Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"operator":{"type":"string","description":"Valid values are `Any`, `BeginsWith`, `Contains`, `EndsWith`, `Equal`, `GreaterThan`, `GreaterThanOrEqual`, `LessThan` and `LessThanOrEqual`.\n"},"selector":{"type":"string","description":"Header name.\n"},"transforms":{"type":"array","items":{"type":"string"},"description":"A list of transforms. Valid values are `Lowercase` and `Uppercase`.\n"}},"type":"object","required":["operator","selector"]},"azure:cdn/EndpointDeliveryRuleRequestMethodCondition:EndpointDeliveryRuleRequestMethodCondition":{"properties":{"matchValues":{"type":"array","items":{"type":"string"},"description":"Valid values are `DELETE`, `GET`, `HEAD`, `OPTIONS`, `POST` and `PUT`.\n"},"negateCondition":{"type":"boolean","description":"Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"operator":{"type":"string","description":"Valid values are `Equal`. Defaults to `Equal`.\n"}},"type":"object","required":["matchValues"]},"azure:cdn/EndpointDeliveryRuleRequestSchemeCondition:EndpointDeliveryRuleRequestSchemeCondition":{"properties":{"matchValues":{"type":"array","items":{"type":"string"},"description":"Valid values are `HTTP` and `HTTPS`.\n"},"negateCondition":{"type":"boolean","description":"Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"operator":{"type":"string","description":"Valid values are `Equal`. Defaults to `Equal`.\n"}},"type":"object","required":["matchValues"]},"azure:cdn/EndpointDeliveryRuleRequestUriCondition:EndpointDeliveryRuleRequestUriCondition":{"properties":{"matchValues":{"type":"array","items":{"type":"string"},"description":"List of string values. This is required if \u003cspan pulumi-lang-nodejs=\"`operator`\" pulumi-lang-dotnet=\"`Operator`\" pulumi-lang-go=\"`operator`\" pulumi-lang-python=\"`operator`\" pulumi-lang-yaml=\"`operator`\" pulumi-lang-java=\"`operator`\"\u003e`operator`\u003c/span\u003e is not `Any`.\n"},"negateCondition":{"type":"boolean","description":"Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"operator":{"type":"string","description":"Valid values are `Any`, `BeginsWith`, `Contains`, `EndsWith`, `Equal`, `GreaterThan`, `GreaterThanOrEqual`, `LessThan` and `LessThanOrEqual`.\n"},"transforms":{"type":"array","items":{"type":"string"},"description":"A list of transforms. Valid values are `Lowercase` and `Uppercase`.\n"}},"type":"object","required":["operator"]},"azure:cdn/EndpointDeliveryRuleUrlFileExtensionCondition:EndpointDeliveryRuleUrlFileExtensionCondition":{"properties":{"matchValues":{"type":"array","items":{"type":"string"},"description":"List of string values. This is required if \u003cspan pulumi-lang-nodejs=\"`operator`\" pulumi-lang-dotnet=\"`Operator`\" pulumi-lang-go=\"`operator`\" pulumi-lang-python=\"`operator`\" pulumi-lang-yaml=\"`operator`\" pulumi-lang-java=\"`operator`\"\u003e`operator`\u003c/span\u003e is not `Any`.\n"},"negateCondition":{"type":"boolean","description":"Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"operator":{"type":"string","description":"Valid values are `Any`, `BeginsWith`, `Contains`, `EndsWith`, `Equal`, `GreaterThan`, `GreaterThanOrEqual`, `LessThan` and `LessThanOrEqual`.\n"},"transforms":{"type":"array","items":{"type":"string"},"description":"A list of transforms. Valid values are `Lowercase` and `Uppercase`.\n"}},"type":"object","required":["operator"]},"azure:cdn/EndpointDeliveryRuleUrlFileNameCondition:EndpointDeliveryRuleUrlFileNameCondition":{"properties":{"matchValues":{"type":"array","items":{"type":"string"},"description":"List of string values. This is required if \u003cspan pulumi-lang-nodejs=\"`operator`\" pulumi-lang-dotnet=\"`Operator`\" pulumi-lang-go=\"`operator`\" pulumi-lang-python=\"`operator`\" pulumi-lang-yaml=\"`operator`\" pulumi-lang-java=\"`operator`\"\u003e`operator`\u003c/span\u003e is not `Any`.\n"},"negateCondition":{"type":"boolean","description":"Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"operator":{"type":"string","description":"Valid values are `Any`, `BeginsWith`, `Contains`, `EndsWith`, `Equal`, `GreaterThan`, `GreaterThanOrEqual`, `LessThan` and `LessThanOrEqual`.\n"},"transforms":{"type":"array","items":{"type":"string"},"description":"A list of transforms. Valid values are `Lowercase` and `Uppercase`.\n"}},"type":"object","required":["operator"]},"azure:cdn/EndpointDeliveryRuleUrlPathCondition:EndpointDeliveryRuleUrlPathCondition":{"properties":{"matchValues":{"type":"array","items":{"type":"string"},"description":"List of string values. This is required if \u003cspan pulumi-lang-nodejs=\"`operator`\" pulumi-lang-dotnet=\"`Operator`\" pulumi-lang-go=\"`operator`\" pulumi-lang-python=\"`operator`\" pulumi-lang-yaml=\"`operator`\" pulumi-lang-java=\"`operator`\"\u003e`operator`\u003c/span\u003e is not `Any`.\n"},"negateCondition":{"type":"boolean","description":"Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"operator":{"type":"string","description":"Valid values are `Any`, `BeginsWith`, `Contains`, `EndsWith`, `Equal`, `GreaterThan`, `GreaterThanOrEqual`, `LessThan`, `LessThanOrEqual`, `RegEx` and `Wildcard`.\n"},"transforms":{"type":"array","items":{"type":"string"},"description":"A list of transforms. Valid values are `Lowercase` and `Uppercase`.\n"}},"type":"object","required":["operator"]},"azure:cdn/EndpointDeliveryRuleUrlRedirectAction:EndpointDeliveryRuleUrlRedirectAction":{"properties":{"fragment":{"type":"string","description":"Specifies the fragment part of the URL. This value must not start with a `#`.\n"},"hostname":{"type":"string","description":"Specifies the hostname part of the URL.\n"},"path":{"type":"string","description":"Specifies the path part of the URL. This value must begin with a `/`.\n"},"protocol":{"type":"string","description":"Specifies the protocol part of the URL. Valid values are `MatchRequest`, `Http` and `Https`. Defaults to `MatchRequest`.\n"},"queryString":{"type":"string","description":"Specifies the query string part of the URL. This value must not start with a `?` or `\u0026` and must be in `\u003ckey\u003e=\u003cvalue\u003e` format separated by `\u0026`.\n"},"redirectType":{"type":"string","description":"Type of the redirect. Valid values are `Found`, `Moved`, `PermanentRedirect` and `TemporaryRedirect`.\n"}},"type":"object","required":["redirectType"]},"azure:cdn/EndpointDeliveryRuleUrlRewriteAction:EndpointDeliveryRuleUrlRewriteAction":{"properties":{"destination":{"type":"string","description":"This value must start with a `/` and can't be longer than 260 characters.\n"},"preserveUnmatchedPath":{"type":"boolean","description":"Whether preserve an unmatched path. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"sourcePattern":{"type":"string","description":"This value must start with a `/` and can't be longer than 260 characters.\n"}},"type":"object","required":["destination","sourcePattern"]},"azure:cdn/EndpointGeoFilter:EndpointGeoFilter":{"properties":{"action":{"type":"string","description":"The Action of the Geo Filter. Possible values include `Allow` and `Block`.\n"},"countryCodes":{"type":"array","items":{"type":"string"},"description":"A List of two letter country codes (e.g. `US`, `GB`) to be associated with this Geo Filter.\n"},"relativePath":{"type":"string","description":"The relative path applicable to geo filter.\n"}},"type":"object","required":["action","countryCodes","relativePath"]},"azure:cdn/EndpointGlobalDeliveryRule:EndpointGlobalDeliveryRule":{"properties":{"cacheExpirationAction":{"$ref":"#/types/azure:cdn/EndpointGlobalDeliveryRuleCacheExpirationAction:EndpointGlobalDeliveryRuleCacheExpirationAction","description":"A \u003cspan pulumi-lang-nodejs=\"`cacheExpirationAction`\" pulumi-lang-dotnet=\"`CacheExpirationAction`\" pulumi-lang-go=\"`cacheExpirationAction`\" pulumi-lang-python=\"`cache_expiration_action`\" pulumi-lang-yaml=\"`cacheExpirationAction`\" pulumi-lang-java=\"`cacheExpirationAction`\"\u003e`cache_expiration_action`\u003c/span\u003e block as defined above.\n"},"cacheKeyQueryStringAction":{"$ref":"#/types/azure:cdn/EndpointGlobalDeliveryRuleCacheKeyQueryStringAction:EndpointGlobalDeliveryRuleCacheKeyQueryStringAction","description":"A \u003cspan pulumi-lang-nodejs=\"`cacheKeyQueryStringAction`\" pulumi-lang-dotnet=\"`CacheKeyQueryStringAction`\" pulumi-lang-go=\"`cacheKeyQueryStringAction`\" pulumi-lang-python=\"`cache_key_query_string_action`\" pulumi-lang-yaml=\"`cacheKeyQueryStringAction`\" pulumi-lang-java=\"`cacheKeyQueryStringAction`\"\u003e`cache_key_query_string_action`\u003c/span\u003e block as defined above.\n"},"modifyRequestHeaderActions":{"type":"array","items":{"$ref":"#/types/azure:cdn/EndpointGlobalDeliveryRuleModifyRequestHeaderAction:EndpointGlobalDeliveryRuleModifyRequestHeaderAction"},"description":"A \u003cspan pulumi-lang-nodejs=\"`modifyRequestHeaderAction`\" pulumi-lang-dotnet=\"`ModifyRequestHeaderAction`\" pulumi-lang-go=\"`modifyRequestHeaderAction`\" pulumi-lang-python=\"`modify_request_header_action`\" pulumi-lang-yaml=\"`modifyRequestHeaderAction`\" pulumi-lang-java=\"`modifyRequestHeaderAction`\"\u003e`modify_request_header_action`\u003c/span\u003e block as defined below.\n"},"modifyResponseHeaderActions":{"type":"array","items":{"$ref":"#/types/azure:cdn/EndpointGlobalDeliveryRuleModifyResponseHeaderAction:EndpointGlobalDeliveryRuleModifyResponseHeaderAction"},"description":"A \u003cspan pulumi-lang-nodejs=\"`modifyResponseHeaderAction`\" pulumi-lang-dotnet=\"`ModifyResponseHeaderAction`\" pulumi-lang-go=\"`modifyResponseHeaderAction`\" pulumi-lang-python=\"`modify_response_header_action`\" pulumi-lang-yaml=\"`modifyResponseHeaderAction`\" pulumi-lang-java=\"`modifyResponseHeaderAction`\"\u003e`modify_response_header_action`\u003c/span\u003e block as defined below.\n"},"urlRedirectAction":{"$ref":"#/types/azure:cdn/EndpointGlobalDeliveryRuleUrlRedirectAction:EndpointGlobalDeliveryRuleUrlRedirectAction","description":"A \u003cspan pulumi-lang-nodejs=\"`urlRedirectAction`\" pulumi-lang-dotnet=\"`UrlRedirectAction`\" pulumi-lang-go=\"`urlRedirectAction`\" pulumi-lang-python=\"`url_redirect_action`\" pulumi-lang-yaml=\"`urlRedirectAction`\" pulumi-lang-java=\"`urlRedirectAction`\"\u003e`url_redirect_action`\u003c/span\u003e block as defined below.\n"},"urlRewriteAction":{"$ref":"#/types/azure:cdn/EndpointGlobalDeliveryRuleUrlRewriteAction:EndpointGlobalDeliveryRuleUrlRewriteAction","description":"A \u003cspan pulumi-lang-nodejs=\"`urlRewriteAction`\" pulumi-lang-dotnet=\"`UrlRewriteAction`\" pulumi-lang-go=\"`urlRewriteAction`\" pulumi-lang-python=\"`url_rewrite_action`\" pulumi-lang-yaml=\"`urlRewriteAction`\" pulumi-lang-java=\"`urlRewriteAction`\"\u003e`url_rewrite_action`\u003c/span\u003e block as defined below.\n"}},"type":"object"},"azure:cdn/EndpointGlobalDeliveryRuleCacheExpirationAction:EndpointGlobalDeliveryRuleCacheExpirationAction":{"properties":{"behavior":{"type":"string","description":"The behavior of the cache. Valid values are `BypassCache`, `Override` and `SetIfMissing`.\n"},"duration":{"type":"string","description":"Duration of the cache. Only allowed when \u003cspan pulumi-lang-nodejs=\"`behavior`\" pulumi-lang-dotnet=\"`Behavior`\" pulumi-lang-go=\"`behavior`\" pulumi-lang-python=\"`behavior`\" pulumi-lang-yaml=\"`behavior`\" pulumi-lang-java=\"`behavior`\"\u003e`behavior`\u003c/span\u003e is set to `Override` or `SetIfMissing`. Format: `[d.]hh:mm:ss`\n"}},"type":"object","required":["behavior"]},"azure:cdn/EndpointGlobalDeliveryRuleCacheKeyQueryStringAction:EndpointGlobalDeliveryRuleCacheKeyQueryStringAction":{"properties":{"behavior":{"type":"string","description":"The behavior of the cache key for query strings. Valid values are `Exclude`, `ExcludeAll`, `Include` and `IncludeAll`.\n"},"parameters":{"type":"string","description":"Comma separated list of parameter values.\n"}},"type":"object","required":["behavior"]},"azure:cdn/EndpointGlobalDeliveryRuleModifyRequestHeaderAction:EndpointGlobalDeliveryRuleModifyRequestHeaderAction":{"properties":{"action":{"type":"string","description":"Action to be executed on a header value. Valid values are `Append`, `Delete` and `Overwrite`.\n"},"name":{"type":"string","description":"The header name.\n"},"value":{"type":"string","description":"The value of the header. Only needed when \u003cspan pulumi-lang-nodejs=\"`action`\" pulumi-lang-dotnet=\"`Action`\" pulumi-lang-go=\"`action`\" pulumi-lang-python=\"`action`\" pulumi-lang-yaml=\"`action`\" pulumi-lang-java=\"`action`\"\u003e`action`\u003c/span\u003e is set to `Append` or \u003cspan pulumi-lang-nodejs=\"`overwrite`\" pulumi-lang-dotnet=\"`Overwrite`\" pulumi-lang-go=\"`overwrite`\" pulumi-lang-python=\"`overwrite`\" pulumi-lang-yaml=\"`overwrite`\" pulumi-lang-java=\"`overwrite`\"\u003e`overwrite`\u003c/span\u003e.\n"}},"type":"object","required":["action","name"]},"azure:cdn/EndpointGlobalDeliveryRuleModifyResponseHeaderAction:EndpointGlobalDeliveryRuleModifyResponseHeaderAction":{"properties":{"action":{"type":"string","description":"Action to be executed on a header value. Valid values are `Append`, `Delete` and `Overwrite`.\n"},"name":{"type":"string","description":"The header name.\n"},"value":{"type":"string","description":"The value of the header. Only needed when \u003cspan pulumi-lang-nodejs=\"`action`\" pulumi-lang-dotnet=\"`Action`\" pulumi-lang-go=\"`action`\" pulumi-lang-python=\"`action`\" pulumi-lang-yaml=\"`action`\" pulumi-lang-java=\"`action`\"\u003e`action`\u003c/span\u003e is set to `Append` or \u003cspan pulumi-lang-nodejs=\"`overwrite`\" pulumi-lang-dotnet=\"`Overwrite`\" pulumi-lang-go=\"`overwrite`\" pulumi-lang-python=\"`overwrite`\" pulumi-lang-yaml=\"`overwrite`\" pulumi-lang-java=\"`overwrite`\"\u003e`overwrite`\u003c/span\u003e.\n"}},"type":"object","required":["action","name"]},"azure:cdn/EndpointGlobalDeliveryRuleUrlRedirectAction:EndpointGlobalDeliveryRuleUrlRedirectAction":{"properties":{"fragment":{"type":"string","description":"Specifies the fragment part of the URL. This value must not start with a `#`.\n"},"hostname":{"type":"string","description":"Specifies the hostname part of the URL.\n"},"path":{"type":"string","description":"Specifies the path part of the URL. This value must begin with a `/`.\n"},"protocol":{"type":"string","description":"Specifies the protocol part of the URL. Valid values are `MatchRequest`, `Http` and `Https`. Defaults to `MatchRequest`.\n"},"queryString":{"type":"string","description":"Specifies the query string part of the URL. This value must not start with a `?` or `\u0026` and must be in `\u003ckey\u003e=\u003cvalue\u003e` format separated by `\u0026`.\n"},"redirectType":{"type":"string","description":"Type of the redirect. Valid values are `Found`, `Moved`, `PermanentRedirect` and `TemporaryRedirect`.\n"}},"type":"object","required":["redirectType"]},"azure:cdn/EndpointGlobalDeliveryRuleUrlRewriteAction:EndpointGlobalDeliveryRuleUrlRewriteAction":{"properties":{"destination":{"type":"string","description":"This value must start with a `/` and can't be longer than 260 characters.\n"},"preserveUnmatchedPath":{"type":"boolean","description":"Whether preserve an unmatched path. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"sourcePattern":{"type":"string","description":"This value must start with a `/` and can't be longer than 260 characters.\n"}},"type":"object","required":["destination","sourcePattern"]},"azure:cdn/EndpointOrigin:EndpointOrigin":{"properties":{"hostName":{"type":"string","description":"A string that determines the hostname/IP address of the origin server. This string can be a domain name, Storage Account endpoint, Web App endpoint, IPv4 address or IPv6 address. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"httpPort":{"type":"integer","description":"The HTTP port of the origin. Defaults to \u003cspan pulumi-lang-nodejs=\"`80`\" pulumi-lang-dotnet=\"`80`\" pulumi-lang-go=\"`80`\" pulumi-lang-python=\"`80`\" pulumi-lang-yaml=\"`80`\" pulumi-lang-java=\"`80`\"\u003e`80`\u003c/span\u003e. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"httpsPort":{"type":"integer","description":"The HTTPS port of the origin. Defaults to \u003cspan pulumi-lang-nodejs=\"`443`\" pulumi-lang-dotnet=\"`443`\" pulumi-lang-go=\"`443`\" pulumi-lang-python=\"`443`\" pulumi-lang-yaml=\"`443`\" pulumi-lang-java=\"`443`\"\u003e`443`\u003c/span\u003e. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the origin. This is an arbitrary value. However, this value needs to be unique under the endpoint. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["hostName","name"]},"azure:cdn/FrontdoorCustomDomainTls:FrontdoorCustomDomainTls":{"properties":{"cdnFrontdoorSecretId":{"type":"string","description":"Resource ID of the Front Door Secret.\n"},"certificateType":{"type":"string","description":"Defines the source of the SSL certificate. Possible values include `CustomerCertificate` and `ManagedCertificate`. Defaults to `ManagedCertificate`.\n\n\u003e **Note:** It may take up to 15 minutes for the Front Door Service to validate the state and Domain ownership of the Custom Domain.\n"},"minimumTlsVersion":{"type":"string","description":"TLS protocol version that will be used for Https. Possible values are `TLS12`. Defaults to `TLS12`.\n\n\u003e **Note:** On March 1, 2025, support for Transport Layer Security (TLS) 1.0 and 1.1 will be retired for Azure Front Door, all connections to Azure Front Door must employ `TLS 1.2` or later, please see the product [announcement](https://azure.microsoft.com/en-us/updates/v2/update-retirement-tls1-0-tls1-1-versions-azure-services/) for more details.\n","deprecationMessage":"As of March 1, 2025, support for 'TLS10' will be retired from Azure Front Door, therefore the 'TLS10' property value will be removed in v5.0 of the provider."}},"type":"object","language":{"nodejs":{"requiredOutputs":["cdnFrontdoorSecretId"]}}},"azure:cdn/FrontdoorFirewallPolicyCustomRule:FrontdoorFirewallPolicyCustomRule":{"properties":{"action":{"type":"string","description":"The action to perform when the rule is matched. Possible values are `Allow`, `Block`, `Log`, `Redirect`, `JSChallenge`, or `CAPTCHA`.\n\n!\u003e **Note:** Setting the \u003cspan pulumi-lang-nodejs=\"`action`\" pulumi-lang-dotnet=\"`Action`\" pulumi-lang-go=\"`action`\" pulumi-lang-python=\"`action`\" pulumi-lang-yaml=\"`action`\" pulumi-lang-java=\"`action`\"\u003e`action`\u003c/span\u003e field to `JSChallenge` or `CAPTCHA` is currently in **PREVIEW**. Please see the [Supplemental Terms of Use for Microsoft Azure Previews](https://azure.microsoft.com/support/legal/preview-supplemental-terms/) for legal terms that apply to Azure features that are in beta, preview, or otherwise not yet released into general availability.\n"},"enabled":{"type":"boolean","description":"Is the rule is enabled or disabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"matchConditions":{"type":"array","items":{"$ref":"#/types/azure:cdn/FrontdoorFirewallPolicyCustomRuleMatchCondition:FrontdoorFirewallPolicyCustomRuleMatchCondition"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`matchCondition`\" pulumi-lang-dotnet=\"`MatchCondition`\" pulumi-lang-go=\"`matchCondition`\" pulumi-lang-python=\"`match_condition`\" pulumi-lang-yaml=\"`matchCondition`\" pulumi-lang-java=\"`matchCondition`\"\u003e`match_condition`\u003c/span\u003e block defined below. Can support up to \u003cspan pulumi-lang-nodejs=\"`10`\" pulumi-lang-dotnet=\"`10`\" pulumi-lang-go=\"`10`\" pulumi-lang-python=\"`10`\" pulumi-lang-yaml=\"`10`\" pulumi-lang-java=\"`10`\"\u003e`10`\u003c/span\u003e \u003cspan pulumi-lang-nodejs=\"`matchCondition`\" pulumi-lang-dotnet=\"`MatchCondition`\" pulumi-lang-go=\"`matchCondition`\" pulumi-lang-python=\"`match_condition`\" pulumi-lang-yaml=\"`matchCondition`\" pulumi-lang-java=\"`matchCondition`\"\u003e`match_condition`\u003c/span\u003e blocks.\n"},"name":{"type":"string","description":"Gets name of the resource that is unique within a policy. This name can be used to access the resource.\n"},"priority":{"type":"integer","description":"The priority of the rule. Rules with a lower value will be evaluated before rules with a higher value. Defaults to \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e.\n"},"rateLimitDurationInMinutes":{"type":"integer","description":"The rate limit duration in minutes. Defaults to \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e.\n"},"rateLimitThreshold":{"type":"integer","description":"The rate limit threshold. Defaults to \u003cspan pulumi-lang-nodejs=\"`10`\" pulumi-lang-dotnet=\"`10`\" pulumi-lang-go=\"`10`\" pulumi-lang-python=\"`10`\" pulumi-lang-yaml=\"`10`\" pulumi-lang-java=\"`10`\"\u003e`10`\u003c/span\u003e.\n"},"type":{"type":"string","description":"The type of rule. Possible values are `MatchRule` or `RateLimitRule`.\n"}},"type":"object","required":["action","name","type"]},"azure:cdn/FrontdoorFirewallPolicyCustomRuleMatchCondition:FrontdoorFirewallPolicyCustomRuleMatchCondition":{"properties":{"matchValues":{"type":"array","items":{"type":"string"},"description":"Up to \u003cspan pulumi-lang-nodejs=\"`600`\" pulumi-lang-dotnet=\"`600`\" pulumi-lang-go=\"`600`\" pulumi-lang-python=\"`600`\" pulumi-lang-yaml=\"`600`\" pulumi-lang-java=\"`600`\"\u003e`600`\u003c/span\u003e possible values to match. Limit is in total across all \u003cspan pulumi-lang-nodejs=\"`matchCondition`\" pulumi-lang-dotnet=\"`MatchCondition`\" pulumi-lang-go=\"`matchCondition`\" pulumi-lang-python=\"`match_condition`\" pulumi-lang-yaml=\"`matchCondition`\" pulumi-lang-java=\"`matchCondition`\"\u003e`match_condition`\u003c/span\u003e blocks and \u003cspan pulumi-lang-nodejs=\"`matchValues`\" pulumi-lang-dotnet=\"`MatchValues`\" pulumi-lang-go=\"`matchValues`\" pulumi-lang-python=\"`match_values`\" pulumi-lang-yaml=\"`matchValues`\" pulumi-lang-java=\"`matchValues`\"\u003e`match_values`\u003c/span\u003e arguments. String value itself can be up to \u003cspan pulumi-lang-nodejs=\"`256`\" pulumi-lang-dotnet=\"`256`\" pulumi-lang-go=\"`256`\" pulumi-lang-python=\"`256`\" pulumi-lang-yaml=\"`256`\" pulumi-lang-java=\"`256`\"\u003e`256`\u003c/span\u003e characters in length.\n"},"matchVariable":{"type":"string","description":"The request variable to compare with. Possible values are `Cookies`, `PostArgs`, `QueryString`, `RemoteAddr`, `RequestBody`, `RequestHeader`, `RequestMethod`, `RequestUri`, or `SocketAddr`.\n"},"negationCondition":{"type":"boolean","description":"Should the result of the condition be negated.\n"},"operator":{"type":"string","description":"Comparison type to use for matching with the variable value. Possible values are `Any`, `BeginsWith`, `Contains`, `EndsWith`, `Equal`, `GeoMatch`, `GreaterThan`, `GreaterThanOrEqual`, `IPMatch`, `LessThan`, `LessThanOrEqual`, or `RegEx`.\n"},"selector":{"type":"string","description":"Match against a specific key if the \u003cspan pulumi-lang-nodejs=\"`matchVariable`\" pulumi-lang-dotnet=\"`MatchVariable`\" pulumi-lang-go=\"`matchVariable`\" pulumi-lang-python=\"`match_variable`\" pulumi-lang-yaml=\"`matchVariable`\" pulumi-lang-java=\"`matchVariable`\"\u003e`match_variable`\u003c/span\u003e is `QueryString`, `PostArgs`, `RequestHeader`, or `Cookies`.\n"},"transforms":{"type":"array","items":{"type":"string"},"description":"Up to \u003cspan pulumi-lang-nodejs=\"`5`\" pulumi-lang-dotnet=\"`5`\" pulumi-lang-go=\"`5`\" pulumi-lang-python=\"`5`\" pulumi-lang-yaml=\"`5`\" pulumi-lang-java=\"`5`\"\u003e`5`\u003c/span\u003e transforms to apply. Possible values are `Lowercase`, `RemoveNulls`, `Trim`, `Uppercase`, `URLDecode`, or `URLEncode`.\n"}},"type":"object","required":["matchValues","matchVariable","operator"]},"azure:cdn/FrontdoorFirewallPolicyLogScrubbing:FrontdoorFirewallPolicyLogScrubbing":{"properties":{"enabled":{"type":"boolean","description":"Is log scrubbing enabled? Possible values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"scrubbingRules":{"type":"array","items":{"$ref":"#/types/azure:cdn/FrontdoorFirewallPolicyLogScrubbingScrubbingRule:FrontdoorFirewallPolicyLogScrubbingScrubbingRule"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`scrubbingRule`\" pulumi-lang-dotnet=\"`ScrubbingRule`\" pulumi-lang-go=\"`scrubbingRule`\" pulumi-lang-python=\"`scrubbing_rule`\" pulumi-lang-yaml=\"`scrubbingRule`\" pulumi-lang-java=\"`scrubbingRule`\"\u003e`scrubbing_rule`\u003c/span\u003e blocks as defined below.\n\n\u003e **Note:** For more information on masking sensitive data in Azure Front Door please see the [product documentation](https://learn.microsoft.com/azure/web-application-firewall/afds/waf-sensitive-data-protection-configure-frontdoor).\n"}},"type":"object","required":["scrubbingRules"]},"azure:cdn/FrontdoorFirewallPolicyLogScrubbingScrubbingRule:FrontdoorFirewallPolicyLogScrubbingScrubbingRule":{"properties":{"enabled":{"type":"boolean","description":"Is this \u003cspan pulumi-lang-nodejs=\"`scrubbingRule`\" pulumi-lang-dotnet=\"`ScrubbingRule`\" pulumi-lang-go=\"`scrubbingRule`\" pulumi-lang-python=\"`scrubbing_rule`\" pulumi-lang-yaml=\"`scrubbingRule`\" pulumi-lang-java=\"`scrubbingRule`\"\u003e`scrubbing_rule`\u003c/span\u003e enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"matchVariable":{"type":"string","description":"The variable to be scrubbed from the logs. Possible values include `QueryStringArgNames`, `RequestBodyJsonArgNames`, `RequestBodyPostArgNames`, `RequestCookieNames`, `RequestHeaderNames`, `RequestIPAddress`, or `RequestUri`.\n\n\u003e **Note:** `RequestIPAddress` and `RequestUri` must use the `EqualsAny` \u003cspan pulumi-lang-nodejs=\"`operator`\" pulumi-lang-dotnet=\"`Operator`\" pulumi-lang-go=\"`operator`\" pulumi-lang-python=\"`operator`\" pulumi-lang-yaml=\"`operator`\" pulumi-lang-java=\"`operator`\"\u003e`operator`\u003c/span\u003e.\n"},"operator":{"type":"string","description":"When the \u003cspan pulumi-lang-nodejs=\"`matchVariable`\" pulumi-lang-dotnet=\"`MatchVariable`\" pulumi-lang-go=\"`matchVariable`\" pulumi-lang-python=\"`match_variable`\" pulumi-lang-yaml=\"`matchVariable`\" pulumi-lang-java=\"`matchVariable`\"\u003e`match_variable`\u003c/span\u003e is a collection, operate on the \u003cspan pulumi-lang-nodejs=\"`selector`\" pulumi-lang-dotnet=\"`Selector`\" pulumi-lang-go=\"`selector`\" pulumi-lang-python=\"`selector`\" pulumi-lang-yaml=\"`selector`\" pulumi-lang-java=\"`selector`\"\u003e`selector`\u003c/span\u003e to specify which elements in the collection this \u003cspan pulumi-lang-nodejs=\"`scrubbingRule`\" pulumi-lang-dotnet=\"`ScrubbingRule`\" pulumi-lang-go=\"`scrubbingRule`\" pulumi-lang-python=\"`scrubbing_rule`\" pulumi-lang-yaml=\"`scrubbingRule`\" pulumi-lang-java=\"`scrubbingRule`\"\u003e`scrubbing_rule`\u003c/span\u003e applies to. Possible values are `Equals` or `EqualsAny`. Defaults to `Equals`.\n"},"selector":{"type":"string","description":"When the \u003cspan pulumi-lang-nodejs=\"`matchVariable`\" pulumi-lang-dotnet=\"`MatchVariable`\" pulumi-lang-go=\"`matchVariable`\" pulumi-lang-python=\"`match_variable`\" pulumi-lang-yaml=\"`matchVariable`\" pulumi-lang-java=\"`matchVariable`\"\u003e`match_variable`\u003c/span\u003e is a collection, the \u003cspan pulumi-lang-nodejs=\"`operator`\" pulumi-lang-dotnet=\"`Operator`\" pulumi-lang-go=\"`operator`\" pulumi-lang-python=\"`operator`\" pulumi-lang-yaml=\"`operator`\" pulumi-lang-java=\"`operator`\"\u003e`operator`\u003c/span\u003e is used to specify which elements in the collection this \u003cspan pulumi-lang-nodejs=\"`scrubbingRule`\" pulumi-lang-dotnet=\"`ScrubbingRule`\" pulumi-lang-go=\"`scrubbingRule`\" pulumi-lang-python=\"`scrubbing_rule`\" pulumi-lang-yaml=\"`scrubbingRule`\" pulumi-lang-java=\"`scrubbingRule`\"\u003e`scrubbing_rule`\u003c/span\u003e applies to.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`selector`\" pulumi-lang-dotnet=\"`Selector`\" pulumi-lang-go=\"`selector`\" pulumi-lang-python=\"`selector`\" pulumi-lang-yaml=\"`selector`\" pulumi-lang-java=\"`selector`\"\u003e`selector`\u003c/span\u003e field cannot be set if the \u003cspan pulumi-lang-nodejs=\"`operator`\" pulumi-lang-dotnet=\"`Operator`\" pulumi-lang-go=\"`operator`\" pulumi-lang-python=\"`operator`\" pulumi-lang-yaml=\"`operator`\" pulumi-lang-java=\"`operator`\"\u003e`operator`\u003c/span\u003e is set to `EqualsAny`.\n"}},"type":"object","required":["matchVariable"]},"azure:cdn/FrontdoorFirewallPolicyManagedRule:FrontdoorFirewallPolicyManagedRule":{"properties":{"action":{"type":"string","description":"The action to perform for all default rule set rules when the managed rule is matched or when the anomaly score is 5 or greater depending on which version of the default rule set you are using. Possible values include `Allow`, `Log`, `Block`, or `Redirect`.\n"},"exclusions":{"type":"array","items":{"$ref":"#/types/azure:cdn/FrontdoorFirewallPolicyManagedRuleExclusion:FrontdoorFirewallPolicyManagedRuleExclusion"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`exclusion`\" pulumi-lang-dotnet=\"`Exclusion`\" pulumi-lang-go=\"`exclusion`\" pulumi-lang-python=\"`exclusion`\" pulumi-lang-yaml=\"`exclusion`\" pulumi-lang-java=\"`exclusion`\"\u003e`exclusion`\u003c/span\u003e blocks as defined below.\n"},"overrides":{"type":"array","items":{"$ref":"#/types/azure:cdn/FrontdoorFirewallPolicyManagedRuleOverride:FrontdoorFirewallPolicyManagedRuleOverride"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`override`\" pulumi-lang-dotnet=\"`Override`\" pulumi-lang-go=\"`override`\" pulumi-lang-python=\"`override`\" pulumi-lang-yaml=\"`override`\" pulumi-lang-java=\"`override`\"\u003e`override`\u003c/span\u003e blocks as defined below.\n"},"type":{"type":"string","description":"The name of the managed rule to use with this resource. Possible values include `DefaultRuleSet`, `Microsoft_DefaultRuleSet`, `BotProtection`, or `Microsoft_BotManagerRuleSet`.\n"},"version":{"type":"string","description":"The version of the managed rule to use with this resource. Possible values depends on which default rule set type you are using, for the `DefaultRuleSet` type the possible values include `1.0` or `preview-0.1`. For `Microsoft_DefaultRuleSet` the possible values include `1.1`, `2.0`, or `2.1`. For `BotProtection` the value must be `preview-0.1` and for `Microsoft_BotManagerRuleSet` the possible values include `1.0` and `1.1`.\n"}},"type":"object","required":["action","type","version"]},"azure:cdn/FrontdoorFirewallPolicyManagedRuleExclusion:FrontdoorFirewallPolicyManagedRuleExclusion":{"properties":{"matchVariable":{"type":"string","description":"The variable type to be excluded. Possible values are `QueryStringArgNames`, `RequestBodyPostArgNames`, `RequestCookieNames`, `RequestHeaderNames`, `RequestBodyJsonArgNames`\n\n\u003e **Note:** `RequestBodyJsonArgNames` is only available on Default Rule Set (DRS) 2.0 or later\n"},"operator":{"type":"string","description":"Comparison operator to apply to the selector when specifying which elements in the collection this exclusion applies to. Possible values are: `Equals`, `Contains`, `StartsWith`, `EndsWith`, or `EqualsAny`.\n"},"selector":{"type":"string","description":"Selector for the value in the \u003cspan pulumi-lang-nodejs=\"`matchVariable`\" pulumi-lang-dotnet=\"`MatchVariable`\" pulumi-lang-go=\"`matchVariable`\" pulumi-lang-python=\"`match_variable`\" pulumi-lang-yaml=\"`matchVariable`\" pulumi-lang-java=\"`matchVariable`\"\u003e`match_variable`\u003c/span\u003e attribute this exclusion applies to.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`selector`\" pulumi-lang-dotnet=\"`Selector`\" pulumi-lang-go=\"`selector`\" pulumi-lang-python=\"`selector`\" pulumi-lang-yaml=\"`selector`\" pulumi-lang-java=\"`selector`\"\u003e`selector`\u003c/span\u003e must be set to `*` if \u003cspan pulumi-lang-nodejs=\"`operator`\" pulumi-lang-dotnet=\"`Operator`\" pulumi-lang-go=\"`operator`\" pulumi-lang-python=\"`operator`\" pulumi-lang-yaml=\"`operator`\" pulumi-lang-java=\"`operator`\"\u003e`operator`\u003c/span\u003e is set to `EqualsAny`.\n"}},"type":"object","required":["matchVariable","operator","selector"]},"azure:cdn/FrontdoorFirewallPolicyManagedRuleOverride:FrontdoorFirewallPolicyManagedRuleOverride":{"properties":{"exclusions":{"type":"array","items":{"$ref":"#/types/azure:cdn/FrontdoorFirewallPolicyManagedRuleOverrideExclusion:FrontdoorFirewallPolicyManagedRuleOverrideExclusion"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`exclusion`\" pulumi-lang-dotnet=\"`Exclusion`\" pulumi-lang-go=\"`exclusion`\" pulumi-lang-python=\"`exclusion`\" pulumi-lang-yaml=\"`exclusion`\" pulumi-lang-java=\"`exclusion`\"\u003e`exclusion`\u003c/span\u003e blocks as defined below.\n"},"ruleGroupName":{"type":"string","description":"The managed rule group to override.\n"},"rules":{"type":"array","items":{"$ref":"#/types/azure:cdn/FrontdoorFirewallPolicyManagedRuleOverrideRule:FrontdoorFirewallPolicyManagedRuleOverrideRule"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`rule`\" pulumi-lang-dotnet=\"`Rule`\" pulumi-lang-go=\"`rule`\" pulumi-lang-python=\"`rule`\" pulumi-lang-yaml=\"`rule`\" pulumi-lang-java=\"`rule`\"\u003e`rule`\u003c/span\u003e blocks as defined below. If none are specified, all of the rules in the group will be disabled.\n"}},"type":"object","required":["ruleGroupName"]},"azure:cdn/FrontdoorFirewallPolicyManagedRuleOverrideExclusion:FrontdoorFirewallPolicyManagedRuleOverrideExclusion":{"properties":{"matchVariable":{"type":"string","description":"The variable type to be excluded. Possible values are `QueryStringArgNames`, `RequestBodyPostArgNames`, `RequestCookieNames`, `RequestHeaderNames`, `RequestBodyJsonArgNames`\n\n\u003e **Note:** `RequestBodyJsonArgNames` is only available on Default Rule Set (DRS) 2.0 or later\n"},"operator":{"type":"string","description":"Comparison operator to apply to the selector when specifying which elements in the collection this exclusion applies to. Possible values are: `Equals`, `Contains`, `StartsWith`, `EndsWith`, or `EqualsAny`.\n"},"selector":{"type":"string","description":"Selector for the value in the \u003cspan pulumi-lang-nodejs=\"`matchVariable`\" pulumi-lang-dotnet=\"`MatchVariable`\" pulumi-lang-go=\"`matchVariable`\" pulumi-lang-python=\"`match_variable`\" pulumi-lang-yaml=\"`matchVariable`\" pulumi-lang-java=\"`matchVariable`\"\u003e`match_variable`\u003c/span\u003e attribute this exclusion applies to.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`selector`\" pulumi-lang-dotnet=\"`Selector`\" pulumi-lang-go=\"`selector`\" pulumi-lang-python=\"`selector`\" pulumi-lang-yaml=\"`selector`\" pulumi-lang-java=\"`selector`\"\u003e`selector`\u003c/span\u003e must be set to `*` if \u003cspan pulumi-lang-nodejs=\"`operator`\" pulumi-lang-dotnet=\"`Operator`\" pulumi-lang-go=\"`operator`\" pulumi-lang-python=\"`operator`\" pulumi-lang-yaml=\"`operator`\" pulumi-lang-java=\"`operator`\"\u003e`operator`\u003c/span\u003e is set to `EqualsAny`.\n"}},"type":"object","required":["matchVariable","operator","selector"]},"azure:cdn/FrontdoorFirewallPolicyManagedRuleOverrideRule:FrontdoorFirewallPolicyManagedRuleOverrideRule":{"properties":{"action":{"type":"string","description":"The action to be applied when the managed rule matches or when the anomaly score is 5 or greater. Possible values are `Allow`, `CAPTCHA`, `Log`, `Block`, `Redirect`, `AnomalyScoring` and `JSChallenge`.\n\n\u003e **Note:** Possible values for `DefaultRuleSet 1.1` and below are `Allow`, `Log`, `Block`, or `Redirect`.\n\n\u003e **Note:** Possible values for `DefaultRuleSet 2.0` and above are `Log` or `AnomalyScoring`.\n\n\u003e **Note:** Possible values for `Microsoft_BotManagerRuleSet` are `Allow`, `Log`, `Block`, `Redirect`, or `JSChallenge`.\n\n\u003e **Note:** Please see the `DefaultRuleSet` [product documentation](https://learn.microsoft.com/azure/web-application-firewall/afds/waf-front-door-drs?tabs=drs20#anomaly-scoring-mode) or the `Microsoft_BotManagerRuleSet` [product documentation](https://learn.microsoft.com/azure/web-application-firewall/afds/afds-overview) for more information.\n\n!\u003e **Note:** Setting the \u003cspan pulumi-lang-nodejs=\"`action`\" pulumi-lang-dotnet=\"`Action`\" pulumi-lang-go=\"`action`\" pulumi-lang-python=\"`action`\" pulumi-lang-yaml=\"`action`\" pulumi-lang-java=\"`action`\"\u003e`action`\u003c/span\u003e field to `JSChallenge` is currently in **PREVIEW**. Please see the [Supplemental Terms of Use for Microsoft Azure Previews](https://azure.microsoft.com/support/legal/preview-supplemental-terms/) for legal terms that apply to Azure features that are in beta, preview, or otherwise not yet released into general availability.\n"},"enabled":{"type":"boolean","description":"Is the managed rule override enabled or disabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e\n"},"exclusions":{"type":"array","items":{"$ref":"#/types/azure:cdn/FrontdoorFirewallPolicyManagedRuleOverrideRuleExclusion:FrontdoorFirewallPolicyManagedRuleOverrideRuleExclusion"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`exclusion`\" pulumi-lang-dotnet=\"`Exclusion`\" pulumi-lang-go=\"`exclusion`\" pulumi-lang-python=\"`exclusion`\" pulumi-lang-yaml=\"`exclusion`\" pulumi-lang-java=\"`exclusion`\"\u003e`exclusion`\u003c/span\u003e blocks as defined below.\n"},"ruleId":{"type":"string","description":"Identifier for the managed rule.\n"}},"type":"object","required":["action","ruleId"]},"azure:cdn/FrontdoorFirewallPolicyManagedRuleOverrideRuleExclusion:FrontdoorFirewallPolicyManagedRuleOverrideRuleExclusion":{"properties":{"matchVariable":{"type":"string","description":"The variable type to be excluded. Possible values are `QueryStringArgNames`, `RequestBodyPostArgNames`, `RequestCookieNames`, `RequestHeaderNames`, `RequestBodyJsonArgNames`\n\n\u003e **Note:** `RequestBodyJsonArgNames` is only available on Default Rule Set (DRS) 2.0 or later\n"},"operator":{"type":"string","description":"Comparison operator to apply to the selector when specifying which elements in the collection this exclusion applies to. Possible values are: `Equals`, `Contains`, `StartsWith`, `EndsWith`, or `EqualsAny`.\n"},"selector":{"type":"string","description":"Selector for the value in the \u003cspan pulumi-lang-nodejs=\"`matchVariable`\" pulumi-lang-dotnet=\"`MatchVariable`\" pulumi-lang-go=\"`matchVariable`\" pulumi-lang-python=\"`match_variable`\" pulumi-lang-yaml=\"`matchVariable`\" pulumi-lang-java=\"`matchVariable`\"\u003e`match_variable`\u003c/span\u003e attribute this exclusion applies to.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`selector`\" pulumi-lang-dotnet=\"`Selector`\" pulumi-lang-go=\"`selector`\" pulumi-lang-python=\"`selector`\" pulumi-lang-yaml=\"`selector`\" pulumi-lang-java=\"`selector`\"\u003e`selector`\u003c/span\u003e must be set to `*` if \u003cspan pulumi-lang-nodejs=\"`operator`\" pulumi-lang-dotnet=\"`Operator`\" pulumi-lang-go=\"`operator`\" pulumi-lang-python=\"`operator`\" pulumi-lang-yaml=\"`operator`\" pulumi-lang-java=\"`operator`\"\u003e`operator`\u003c/span\u003e is set to `EqualsAny`.\n"}},"type":"object","required":["matchVariable","operator","selector"]},"azure:cdn/FrontdoorOriginGroupHealthProbe:FrontdoorOriginGroupHealthProbe":{"properties":{"intervalInSeconds":{"type":"integer","description":"Specifies the number of seconds between health probes. Possible values are between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`255`\" pulumi-lang-dotnet=\"`255`\" pulumi-lang-go=\"`255`\" pulumi-lang-python=\"`255`\" pulumi-lang-yaml=\"`255`\" pulumi-lang-java=\"`255`\"\u003e`255`\u003c/span\u003e seconds (inclusive).\n"},"path":{"type":"string","description":"Specifies the path relative to the origin that is used to determine the health of the origin. Defaults to `/`.\n\n\u003e **Note:** Health probes can only be disabled if there is a single enabled origin in a single enabled origin group. For more information about the \u003cspan pulumi-lang-nodejs=\"`healthProbe`\" pulumi-lang-dotnet=\"`HealthProbe`\" pulumi-lang-go=\"`healthProbe`\" pulumi-lang-python=\"`health_probe`\" pulumi-lang-yaml=\"`healthProbe`\" pulumi-lang-java=\"`healthProbe`\"\u003e`health_probe`\u003c/span\u003e settings please see the [product documentation](https://docs.microsoft.com/azure/frontdoor/health-probes).\n"},"protocol":{"type":"string","description":"Specifies the protocol to use for health probe. Possible values are `Http` and `Https`.\n"},"requestType":{"type":"string","description":"Specifies the type of health probe request that is made. Possible values are `GET` and `HEAD`. Defaults to `HEAD`.\n"}},"type":"object","required":["intervalInSeconds","protocol"]},"azure:cdn/FrontdoorOriginGroupLoadBalancing:FrontdoorOriginGroupLoadBalancing":{"properties":{"additionalLatencyInMilliseconds":{"type":"integer","description":"Specifies the additional latency in milliseconds for probes to fall into the lowest latency bucket. Possible values are between \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`1000`\" pulumi-lang-dotnet=\"`1000`\" pulumi-lang-go=\"`1000`\" pulumi-lang-python=\"`1000`\" pulumi-lang-yaml=\"`1000`\" pulumi-lang-java=\"`1000`\"\u003e`1000`\u003c/span\u003e milliseconds (inclusive). Defaults to \u003cspan pulumi-lang-nodejs=\"`50`\" pulumi-lang-dotnet=\"`50`\" pulumi-lang-go=\"`50`\" pulumi-lang-python=\"`50`\" pulumi-lang-yaml=\"`50`\" pulumi-lang-java=\"`50`\"\u003e`50`\u003c/span\u003e.\n"},"sampleSize":{"type":"integer","description":"Specifies the number of samples to consider for load balancing decisions. Possible values are between \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`255`\" pulumi-lang-dotnet=\"`255`\" pulumi-lang-go=\"`255`\" pulumi-lang-python=\"`255`\" pulumi-lang-yaml=\"`255`\" pulumi-lang-java=\"`255`\"\u003e`255`\u003c/span\u003e (inclusive). Defaults to \u003cspan pulumi-lang-nodejs=\"`4`\" pulumi-lang-dotnet=\"`4`\" pulumi-lang-go=\"`4`\" pulumi-lang-python=\"`4`\" pulumi-lang-yaml=\"`4`\" pulumi-lang-java=\"`4`\"\u003e`4`\u003c/span\u003e.\n"},"successfulSamplesRequired":{"type":"integer","description":"Specifies the number of samples within the sample period that must succeed. Possible values are between \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`255`\" pulumi-lang-dotnet=\"`255`\" pulumi-lang-go=\"`255`\" pulumi-lang-python=\"`255`\" pulumi-lang-yaml=\"`255`\" pulumi-lang-java=\"`255`\"\u003e`255`\u003c/span\u003e (inclusive). Defaults to \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e.\n"}},"type":"object"},"azure:cdn/FrontdoorOriginPrivateLink:FrontdoorOriginPrivateLink":{"properties":{"location":{"type":"string","description":"Specifies the location where the Private Link resource should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"privateLinkTargetId":{"type":"string","description":"The ID of the Azure Resource to connect to via the Private Link.\n\n\u003e **Note:** the \u003cspan pulumi-lang-nodejs=\"`privateLinkTargetId`\" pulumi-lang-dotnet=\"`PrivateLinkTargetId`\" pulumi-lang-go=\"`privateLinkTargetId`\" pulumi-lang-python=\"`private_link_target_id`\" pulumi-lang-yaml=\"`privateLinkTargetId`\" pulumi-lang-java=\"`privateLinkTargetId`\"\u003e`private_link_target_id`\u003c/span\u003e property must specify the Resource ID of the Private Link Service when using Load Balancer as an Origin.\n"},"requestMessage":{"type":"string","description":"Specifies the request message that will be submitted to the \u003cspan pulumi-lang-nodejs=\"`privateLinkTargetId`\" pulumi-lang-dotnet=\"`PrivateLinkTargetId`\" pulumi-lang-go=\"`privateLinkTargetId`\" pulumi-lang-python=\"`private_link_target_id`\" pulumi-lang-yaml=\"`privateLinkTargetId`\" pulumi-lang-java=\"`privateLinkTargetId`\"\u003e`private_link_target_id`\u003c/span\u003e when requesting the private link endpoint connection. Values must be between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`140`\" pulumi-lang-dotnet=\"`140`\" pulumi-lang-go=\"`140`\" pulumi-lang-python=\"`140`\" pulumi-lang-yaml=\"`140`\" pulumi-lang-java=\"`140`\"\u003e`140`\u003c/span\u003e characters in length. Defaults to `Access request for CDN FrontDoor Private Link Origin`.\n"},"targetType":{"type":"string","description":"Specifies the type of target for this Private Link Endpoint. Possible values are \u003cspan pulumi-lang-nodejs=\"`blob`\" pulumi-lang-dotnet=\"`Blob`\" pulumi-lang-go=\"`blob`\" pulumi-lang-python=\"`blob`\" pulumi-lang-yaml=\"`blob`\" pulumi-lang-java=\"`blob`\"\u003e`blob`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`blobSecondary`\" pulumi-lang-dotnet=\"`BlobSecondary`\" pulumi-lang-go=\"`blobSecondary`\" pulumi-lang-python=\"`blob_secondary`\" pulumi-lang-yaml=\"`blobSecondary`\" pulumi-lang-java=\"`blobSecondary`\"\u003e`blob_secondary`\u003c/span\u003e, `Gateway`, `managedEnvironments`, \u003cspan pulumi-lang-nodejs=\"`sites`\" pulumi-lang-dotnet=\"`Sites`\" pulumi-lang-go=\"`sites`\" pulumi-lang-python=\"`sites`\" pulumi-lang-yaml=\"`sites`\" pulumi-lang-java=\"`sites`\"\u003e`sites`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`web`\" pulumi-lang-dotnet=\"`Web`\" pulumi-lang-go=\"`web`\" pulumi-lang-python=\"`web`\" pulumi-lang-yaml=\"`web`\" pulumi-lang-java=\"`web`\"\u003e`web`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`webSecondary`\" pulumi-lang-dotnet=\"`WebSecondary`\" pulumi-lang-go=\"`webSecondary`\" pulumi-lang-python=\"`web_secondary`\" pulumi-lang-yaml=\"`webSecondary`\" pulumi-lang-java=\"`webSecondary`\"\u003e`web_secondary`\u003c/span\u003e.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`targetType`\" pulumi-lang-dotnet=\"`TargetType`\" pulumi-lang-go=\"`targetType`\" pulumi-lang-python=\"`target_type`\" pulumi-lang-yaml=\"`targetType`\" pulumi-lang-java=\"`targetType`\"\u003e`target_type`\u003c/span\u003e cannot be specified when using a Load Balancer as an Origin.\n"}},"type":"object","required":["location","privateLinkTargetId"]},"azure:cdn/FrontdoorProfileIdentity:FrontdoorProfileIdentity":{"properties":{"identityIds":{"type":"array","items":{"type":"string"},"description":"A list of one or more Resource IDs for User Assigned Managed identities to assign. Required when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to `UserAssigned` or `SystemAssigned, UserAssigned`.\n"},"principalId":{"type":"string"},"tenantId":{"type":"string"},"type":{"type":"string","description":"The type of managed identity to assign. Possible values are `SystemAssigned`, `UserAssigned` or `SystemAssigned, UserAssigned`.\n"}},"type":"object","required":["type"],"language":{"nodejs":{"requiredOutputs":["principalId","tenantId","type"]}}},"azure:cdn/FrontdoorProfileLogScrubbingRule:FrontdoorProfileLogScrubbingRule":{"properties":{"matchVariable":{"type":"string","description":"The variable to be scrubbed from the logs. Possible values are `QueryStringArgNames`, `RequestIPAddress`, and `RequestUri`.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`operator`\" pulumi-lang-dotnet=\"`Operator`\" pulumi-lang-go=\"`operator`\" pulumi-lang-python=\"`operator`\" pulumi-lang-yaml=\"`operator`\" pulumi-lang-java=\"`operator`\"\u003e`operator`\u003c/span\u003e field is implicitly set to `EqualsAny`, as it is the sole supported value, and is therefore not exposed as a configurable option in the provider schema.\n"}},"type":"object","required":["matchVariable"]},"azure:cdn/FrontdoorRouteCache:FrontdoorRouteCache":{"properties":{"compressionEnabled":{"type":"boolean","description":"Is content compression enabled? Possible values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** Content won't be compressed when the requested content is smaller than `1 KB` or larger than `8 MB`(inclusive).\n"},"contentTypesToCompresses":{"type":"array","items":{"type":"string"},"description":"A list of one or more `Content types` (formerly known as `MIME types`) to compress. Possible values include `application/eot`, `application/font`, `application/font-sfnt`, `application/javascript`, `application/json`, `application/opentype`, `application/otf`, `application/pkcs7-mime`, `application/truetype`, `application/ttf`, `application/vnd.ms-fontobject`, `application/xhtml+xml`, `application/xml`, `application/xml+rss`, `application/x-font-opentype`, `application/x-font-truetype`, `application/x-font-ttf`, `application/x-httpd-cgi`, `application/x-mpegurl`, `application/x-opentype`, `application/x-otf`, `application/x-perl`, `application/x-ttf`, `application/x-javascript`, `font/eot`, `font/ttf`, `font/otf`, `font/opentype`, `image/svg+xml`, `text/css`, `text/csv`, `text/html`, `text/javascript`, `text/js`, `text/plain`, `text/richtext`, `text/tab-separated-values`, `text/xml`, `text/x-script`, `text/x-component` or `text/x-java-source`.\n"},"queryStringCachingBehavior":{"type":"string","description":"Defines how the Front Door Route will cache requests that include query strings. Possible values include `IgnoreQueryString`, `IgnoreSpecifiedQueryStrings`, `IncludeSpecifiedQueryStrings` or `UseQueryString`. Defaults to `IgnoreQueryString`.\n\n\u003e **Note:** The value of the \u003cspan pulumi-lang-nodejs=\"`queryStringCachingBehavior`\" pulumi-lang-dotnet=\"`QueryStringCachingBehavior`\" pulumi-lang-go=\"`queryStringCachingBehavior`\" pulumi-lang-python=\"`query_string_caching_behavior`\" pulumi-lang-yaml=\"`queryStringCachingBehavior`\" pulumi-lang-java=\"`queryStringCachingBehavior`\"\u003e`query_string_caching_behavior`\u003c/span\u003e determines if the \u003cspan pulumi-lang-nodejs=\"`queryStrings`\" pulumi-lang-dotnet=\"`QueryStrings`\" pulumi-lang-go=\"`queryStrings`\" pulumi-lang-python=\"`query_strings`\" pulumi-lang-yaml=\"`queryStrings`\" pulumi-lang-java=\"`queryStrings`\"\u003e`query_strings`\u003c/span\u003e field will be used as an include list or an ignore list.\n"},"queryStrings":{"type":"array","items":{"type":"string"},"description":"Query strings to include or ignore.\n"}},"type":"object"},"azure:cdn/FrontdoorRuleActions:FrontdoorRuleActions":{"properties":{"requestHeaderActions":{"type":"array","items":{"$ref":"#/types/azure:cdn/FrontdoorRuleActionsRequestHeaderAction:FrontdoorRuleActionsRequestHeaderAction"},"description":"A \u003cspan pulumi-lang-nodejs=\"`requestHeaderAction`\" pulumi-lang-dotnet=\"`RequestHeaderAction`\" pulumi-lang-go=\"`requestHeaderAction`\" pulumi-lang-python=\"`request_header_action`\" pulumi-lang-yaml=\"`requestHeaderAction`\" pulumi-lang-java=\"`requestHeaderAction`\"\u003e`request_header_action`\u003c/span\u003e block as defined below.\n"},"responseHeaderActions":{"type":"array","items":{"$ref":"#/types/azure:cdn/FrontdoorRuleActionsResponseHeaderAction:FrontdoorRuleActionsResponseHeaderAction"},"description":"A \u003cspan pulumi-lang-nodejs=\"`responseHeaderAction`\" pulumi-lang-dotnet=\"`ResponseHeaderAction`\" pulumi-lang-go=\"`responseHeaderAction`\" pulumi-lang-python=\"`response_header_action`\" pulumi-lang-yaml=\"`responseHeaderAction`\" pulumi-lang-java=\"`responseHeaderAction`\"\u003e`response_header_action`\u003c/span\u003e block as defined below.\n"},"routeConfigurationOverrideAction":{"$ref":"#/types/azure:cdn/FrontdoorRuleActionsRouteConfigurationOverrideAction:FrontdoorRuleActionsRouteConfigurationOverrideAction","description":"A \u003cspan pulumi-lang-nodejs=\"`routeConfigurationOverrideAction`\" pulumi-lang-dotnet=\"`RouteConfigurationOverrideAction`\" pulumi-lang-go=\"`routeConfigurationOverrideAction`\" pulumi-lang-python=\"`route_configuration_override_action`\" pulumi-lang-yaml=\"`routeConfigurationOverrideAction`\" pulumi-lang-java=\"`routeConfigurationOverrideAction`\"\u003e`route_configuration_override_action`\u003c/span\u003e block as defined below.\n"},"urlRedirectAction":{"$ref":"#/types/azure:cdn/FrontdoorRuleActionsUrlRedirectAction:FrontdoorRuleActionsUrlRedirectAction","description":"A \u003cspan pulumi-lang-nodejs=\"`urlRedirectAction`\" pulumi-lang-dotnet=\"`UrlRedirectAction`\" pulumi-lang-go=\"`urlRedirectAction`\" pulumi-lang-python=\"`url_redirect_action`\" pulumi-lang-yaml=\"`urlRedirectAction`\" pulumi-lang-java=\"`urlRedirectAction`\"\u003e`url_redirect_action`\u003c/span\u003e block as defined below. You may **not** have a \u003cspan pulumi-lang-nodejs=\"`urlRedirectAction`\" pulumi-lang-dotnet=\"`UrlRedirectAction`\" pulumi-lang-go=\"`urlRedirectAction`\" pulumi-lang-python=\"`url_redirect_action`\" pulumi-lang-yaml=\"`urlRedirectAction`\" pulumi-lang-java=\"`urlRedirectAction`\"\u003e`url_redirect_action`\u003c/span\u003e **and** a \u003cspan pulumi-lang-nodejs=\"`urlRewriteAction`\" pulumi-lang-dotnet=\"`UrlRewriteAction`\" pulumi-lang-go=\"`urlRewriteAction`\" pulumi-lang-python=\"`url_rewrite_action`\" pulumi-lang-yaml=\"`urlRewriteAction`\" pulumi-lang-java=\"`urlRewriteAction`\"\u003e`url_rewrite_action`\u003c/span\u003e defined in the same \u003cspan pulumi-lang-nodejs=\"`actions`\" pulumi-lang-dotnet=\"`Actions`\" pulumi-lang-go=\"`actions`\" pulumi-lang-python=\"`actions`\" pulumi-lang-yaml=\"`actions`\" pulumi-lang-java=\"`actions`\"\u003e`actions`\u003c/span\u003e block.\n"},"urlRewriteAction":{"$ref":"#/types/azure:cdn/FrontdoorRuleActionsUrlRewriteAction:FrontdoorRuleActionsUrlRewriteAction","description":"A \u003cspan pulumi-lang-nodejs=\"`urlRewriteAction`\" pulumi-lang-dotnet=\"`UrlRewriteAction`\" pulumi-lang-go=\"`urlRewriteAction`\" pulumi-lang-python=\"`url_rewrite_action`\" pulumi-lang-yaml=\"`urlRewriteAction`\" pulumi-lang-java=\"`urlRewriteAction`\"\u003e`url_rewrite_action`\u003c/span\u003e block as defined below. You may **not** have a \u003cspan pulumi-lang-nodejs=\"`urlRewriteAction`\" pulumi-lang-dotnet=\"`UrlRewriteAction`\" pulumi-lang-go=\"`urlRewriteAction`\" pulumi-lang-python=\"`url_rewrite_action`\" pulumi-lang-yaml=\"`urlRewriteAction`\" pulumi-lang-java=\"`urlRewriteAction`\"\u003e`url_rewrite_action`\u003c/span\u003e **and** a \u003cspan pulumi-lang-nodejs=\"`urlRedirectAction`\" pulumi-lang-dotnet=\"`UrlRedirectAction`\" pulumi-lang-go=\"`urlRedirectAction`\" pulumi-lang-python=\"`url_redirect_action`\" pulumi-lang-yaml=\"`urlRedirectAction`\" pulumi-lang-java=\"`urlRedirectAction`\"\u003e`url_redirect_action`\u003c/span\u003e defined in the same \u003cspan pulumi-lang-nodejs=\"`actions`\" pulumi-lang-dotnet=\"`Actions`\" pulumi-lang-go=\"`actions`\" pulumi-lang-python=\"`actions`\" pulumi-lang-yaml=\"`actions`\" pulumi-lang-java=\"`actions`\"\u003e`actions`\u003c/span\u003e block.\n"}},"type":"object"},"azure:cdn/FrontdoorRuleActionsRequestHeaderAction:FrontdoorRuleActionsRequestHeaderAction":{"properties":{"headerAction":{"type":"string","description":"The action to be taken on the specified \u003cspan pulumi-lang-nodejs=\"`headerName`\" pulumi-lang-dotnet=\"`HeaderName`\" pulumi-lang-go=\"`headerName`\" pulumi-lang-python=\"`header_name`\" pulumi-lang-yaml=\"`headerName`\" pulumi-lang-java=\"`headerName`\"\u003e`header_name`\u003c/span\u003e. Possible values include `Append`, `Overwrite` or `Delete`.\n\n\u003e **Note:** `Append` causes the specified header to be added to the request with the specified value. If the header is already present, the value is appended to the existing header value using string concatenation. No delimiters are added. `Overwrite` causes specified header to be added to the request with the specified value. If the header is already present, the specified value overwrites the existing value. `Delete` causes the header to be deleted from the request.\n"},"headerName":{"type":"string","description":"The name of the header to modify.\n"},"value":{"type":"string","description":"The value to append or overwrite.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`value`\" pulumi-lang-dotnet=\"`Value`\" pulumi-lang-go=\"`value`\" pulumi-lang-python=\"`value`\" pulumi-lang-yaml=\"`value`\" pulumi-lang-java=\"`value`\"\u003e`value`\u003c/span\u003e is required if the \u003cspan pulumi-lang-nodejs=\"`headerAction`\" pulumi-lang-dotnet=\"`HeaderAction`\" pulumi-lang-go=\"`headerAction`\" pulumi-lang-python=\"`header_action`\" pulumi-lang-yaml=\"`headerAction`\" pulumi-lang-java=\"`headerAction`\"\u003e`header_action`\u003c/span\u003e is set to `Append` or `Overwrite`.\n"}},"type":"object","required":["headerAction","headerName"]},"azure:cdn/FrontdoorRuleActionsResponseHeaderAction:FrontdoorRuleActionsResponseHeaderAction":{"properties":{"headerAction":{"type":"string","description":"The action to be taken on the specified \u003cspan pulumi-lang-nodejs=\"`headerName`\" pulumi-lang-dotnet=\"`HeaderName`\" pulumi-lang-go=\"`headerName`\" pulumi-lang-python=\"`header_name`\" pulumi-lang-yaml=\"`headerName`\" pulumi-lang-java=\"`headerName`\"\u003e`header_name`\u003c/span\u003e. Possible values include `Append`, `Overwrite` or `Delete`.\n\n\u003e **Note:** `Append` causes the specified header to be added to the request with the specified value. If the header is already present, the value is appended to the existing header value using string concatenation. No delimiters are added. `Overwrite` causes specified header to be added to the request with the specified value. If the header is already present, the specified value overwrites the existing value. `Delete` causes the header to be deleted from the request.\n"},"headerName":{"type":"string","description":"The name of the header to modify.\n"},"value":{"type":"string","description":"The value to append or overwrite.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`value`\" pulumi-lang-dotnet=\"`Value`\" pulumi-lang-go=\"`value`\" pulumi-lang-python=\"`value`\" pulumi-lang-yaml=\"`value`\" pulumi-lang-java=\"`value`\"\u003e`value`\u003c/span\u003e is required if the \u003cspan pulumi-lang-nodejs=\"`headerAction`\" pulumi-lang-dotnet=\"`HeaderAction`\" pulumi-lang-go=\"`headerAction`\" pulumi-lang-python=\"`header_action`\" pulumi-lang-yaml=\"`headerAction`\" pulumi-lang-java=\"`headerAction`\"\u003e`header_action`\u003c/span\u003e is set to `Append` or `Overwrite`.\n"}},"type":"object","required":["headerAction","headerName"]},"azure:cdn/FrontdoorRuleActionsRouteConfigurationOverrideAction:FrontdoorRuleActionsRouteConfigurationOverrideAction":{"properties":{"cacheBehavior":{"type":"string","description":"`HonorOrigin` the Front Door will always honor origin response header directive. If the origin directive is missing, Front Door will cache contents anywhere from \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e days. `OverrideAlways` the TTL value returned from your Front Door Origin is overwritten with the value specified in the action. This behavior will only be applied if the response is cacheable. `OverrideIfOriginMissing` if no TTL value gets returned from your Front Door Origin, the rule sets the TTL to the value specified in the action. This behavior will only be applied if the response is cacheable. `Disabled` the Front Door will not cache the response contents, irrespective of Front Door Origin response directives. Possible values include `HonorOrigin`, `OverrideAlways`, `OverrideIfOriginMissing` or `Disabled`.\n"},"cacheDuration":{"type":"string","description":"When Cache behavior is set to `Override` or `SetIfMissing`, this field specifies the cache duration to use. The maximum duration is 366 days specified in the `d.HH:MM:SS` format(e.g. `365.23:59:59`). If the desired maximum cache duration is less than 1 day then the maximum cache duration should be specified in the `HH:MM:SS` format(e.g. `23:59:59`).\n"},"cdnFrontdoorOriginGroupId":{"type":"string","description":"The Front Door Origin Group resource ID that the request should be routed to. This overrides the configuration specified in the Front Door Endpoint route.\n"},"compressionEnabled":{"type":"boolean","description":"Should the Front Door dynamically compress the content? Possible values include \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** Content won't be compressed on AzureFrontDoor when requested content is smaller than `1 byte` or larger than `1 MB`.\n"},"forwardingProtocol":{"type":"string","description":"The forwarding protocol the request will be redirected as. This overrides the configuration specified in the route to be associated with. Possible values include `MatchRequest`, `HttpOnly` or `HttpsOnly`.\n\n\u003e **Note:** If the \u003cspan pulumi-lang-nodejs=\"`cdnFrontdoorOriginGroupId`\" pulumi-lang-dotnet=\"`CdnFrontdoorOriginGroupId`\" pulumi-lang-go=\"`cdnFrontdoorOriginGroupId`\" pulumi-lang-python=\"`cdn_frontdoor_origin_group_id`\" pulumi-lang-yaml=\"`cdnFrontdoorOriginGroupId`\" pulumi-lang-java=\"`cdnFrontdoorOriginGroupId`\"\u003e`cdn_frontdoor_origin_group_id`\u003c/span\u003e is not defined you cannot set the \u003cspan pulumi-lang-nodejs=\"`forwardingProtocol`\" pulumi-lang-dotnet=\"`ForwardingProtocol`\" pulumi-lang-go=\"`forwardingProtocol`\" pulumi-lang-python=\"`forwarding_protocol`\" pulumi-lang-yaml=\"`forwardingProtocol`\" pulumi-lang-java=\"`forwardingProtocol`\"\u003e`forwarding_protocol`\u003c/span\u003e.\n"},"queryStringCachingBehavior":{"type":"string","description":"`IncludeSpecifiedQueryStrings` query strings specified in the \u003cspan pulumi-lang-nodejs=\"`queryStringParameters`\" pulumi-lang-dotnet=\"`QueryStringParameters`\" pulumi-lang-go=\"`queryStringParameters`\" pulumi-lang-python=\"`query_string_parameters`\" pulumi-lang-yaml=\"`queryStringParameters`\" pulumi-lang-java=\"`queryStringParameters`\"\u003e`query_string_parameters`\u003c/span\u003e field get included when the cache key gets generated. `UseQueryString` cache every unique URL, each unique URL will have its own cache key. `IgnoreSpecifiedQueryStrings` query strings specified in the \u003cspan pulumi-lang-nodejs=\"`queryStringParameters`\" pulumi-lang-dotnet=\"`QueryStringParameters`\" pulumi-lang-go=\"`queryStringParameters`\" pulumi-lang-python=\"`query_string_parameters`\" pulumi-lang-yaml=\"`queryStringParameters`\" pulumi-lang-java=\"`queryStringParameters`\"\u003e`query_string_parameters`\u003c/span\u003e field get excluded when the cache key gets generated. `IgnoreQueryString` query strings aren't considered when the cache key gets generated. Possible values include `IgnoreQueryString`, `UseQueryString`, `IgnoreSpecifiedQueryStrings` or `IncludeSpecifiedQueryStrings`.\n"},"queryStringParameters":{"type":"array","items":{"type":"string"},"description":"A list of query string parameter names.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`queryStringParameters`\" pulumi-lang-dotnet=\"`QueryStringParameters`\" pulumi-lang-go=\"`queryStringParameters`\" pulumi-lang-python=\"`query_string_parameters`\" pulumi-lang-yaml=\"`queryStringParameters`\" pulumi-lang-java=\"`queryStringParameters`\"\u003e`query_string_parameters`\u003c/span\u003e is a required field when the \u003cspan pulumi-lang-nodejs=\"`queryStringCachingBehavior`\" pulumi-lang-dotnet=\"`QueryStringCachingBehavior`\" pulumi-lang-go=\"`queryStringCachingBehavior`\" pulumi-lang-python=\"`query_string_caching_behavior`\" pulumi-lang-yaml=\"`queryStringCachingBehavior`\" pulumi-lang-java=\"`queryStringCachingBehavior`\"\u003e`query_string_caching_behavior`\u003c/span\u003e is set to `IncludeSpecifiedQueryStrings` or `IgnoreSpecifiedQueryStrings`.\n"}},"type":"object"},"azure:cdn/FrontdoorRuleActionsUrlRedirectAction:FrontdoorRuleActionsUrlRedirectAction":{"properties":{"destinationFragment":{"type":"string","description":"The fragment to use in the redirect. The value must be a string between \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`1024`\" pulumi-lang-dotnet=\"`1024`\" pulumi-lang-go=\"`1024`\" pulumi-lang-python=\"`1024`\" pulumi-lang-yaml=\"`1024`\" pulumi-lang-java=\"`1024`\"\u003e`1024`\u003c/span\u003e characters in length, leave blank to preserve the incoming fragment. Defaults to `\"\"`.\n"},"destinationHostname":{"type":"string","description":"The host name you want the request to be redirected to. The value must be a string between \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`2048`\" pulumi-lang-dotnet=\"`2048`\" pulumi-lang-go=\"`2048`\" pulumi-lang-python=\"`2048`\" pulumi-lang-yaml=\"`2048`\" pulumi-lang-java=\"`2048`\"\u003e`2048`\u003c/span\u003e characters in length, leave blank to preserve the incoming host.\n"},"destinationPath":{"type":"string","description":"The path to use in the redirect. The value must be a string and include the leading `/`, leave blank to preserve the incoming path. Defaults to `\"\"`.\n"},"queryString":{"type":"string","description":"The query string used in the redirect URL. The value must be in the \u0026lt;key\u003e=\u0026lt;value\u003e or \u0026lt;key\u003e={\u003cspan pulumi-lang-nodejs=\"`actionServerVariable`\" pulumi-lang-dotnet=\"`ActionServerVariable`\" pulumi-lang-go=\"`actionServerVariable`\" pulumi-lang-python=\"`action_server_variable`\" pulumi-lang-yaml=\"`actionServerVariable`\" pulumi-lang-java=\"`actionServerVariable`\"\u003e`action_server_variable`\u003c/span\u003e} format and must not include the leading `?`, leave blank to preserve the incoming query string. Maximum allowed length for this field is \u003cspan pulumi-lang-nodejs=\"`2048`\" pulumi-lang-dotnet=\"`2048`\" pulumi-lang-go=\"`2048`\" pulumi-lang-python=\"`2048`\" pulumi-lang-yaml=\"`2048`\" pulumi-lang-java=\"`2048`\"\u003e`2048`\u003c/span\u003e characters. Defaults to `\"\"`.\n"},"redirectProtocol":{"type":"string","description":"The protocol the request will be redirected as. Possible values include `MatchRequest`, `Http` or `Https`. Defaults to `MatchRequest`.\n"},"redirectType":{"type":"string","description":"The response type to return to the requestor. Possible values include `Moved`, `Found` , `TemporaryRedirect` or `PermanentRedirect`.\n"}},"type":"object","required":["destinationHostname","redirectType"]},"azure:cdn/FrontdoorRuleActionsUrlRewriteAction:FrontdoorRuleActionsUrlRewriteAction":{"properties":{"destination":{"type":"string","description":"The destination path to use in the rewrite. The destination path overwrites the source pattern.\n"},"preserveUnmatchedPath":{"type":"boolean","description":"Append the remaining path after the source pattern to the new destination path? Possible values \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"sourcePattern":{"type":"string","description":"The source pattern in the URL path to replace. This uses prefix-based matching. For example, to match all URL paths use a forward slash `\"/\"` as the source pattern value.\n"}},"type":"object","required":["destination","sourcePattern"]},"azure:cdn/FrontdoorRuleConditions:FrontdoorRuleConditions":{"properties":{"clientPortConditions":{"type":"array","items":{"$ref":"#/types/azure:cdn/FrontdoorRuleConditionsClientPortCondition:FrontdoorRuleConditionsClientPortCondition"},"description":"A \u003cspan pulumi-lang-nodejs=\"`clientPortCondition`\" pulumi-lang-dotnet=\"`ClientPortCondition`\" pulumi-lang-go=\"`clientPortCondition`\" pulumi-lang-python=\"`client_port_condition`\" pulumi-lang-yaml=\"`clientPortCondition`\" pulumi-lang-java=\"`clientPortCondition`\"\u003e`client_port_condition`\u003c/span\u003e block as defined below.\n"},"cookiesConditions":{"type":"array","items":{"$ref":"#/types/azure:cdn/FrontdoorRuleConditionsCookiesCondition:FrontdoorRuleConditionsCookiesCondition"},"description":"A \u003cspan pulumi-lang-nodejs=\"`cookiesCondition`\" pulumi-lang-dotnet=\"`CookiesCondition`\" pulumi-lang-go=\"`cookiesCondition`\" pulumi-lang-python=\"`cookies_condition`\" pulumi-lang-yaml=\"`cookiesCondition`\" pulumi-lang-java=\"`cookiesCondition`\"\u003e`cookies_condition`\u003c/span\u003e block as defined below.\n"},"hostNameConditions":{"type":"array","items":{"$ref":"#/types/azure:cdn/FrontdoorRuleConditionsHostNameCondition:FrontdoorRuleConditionsHostNameCondition"},"description":"A \u003cspan pulumi-lang-nodejs=\"`hostNameCondition`\" pulumi-lang-dotnet=\"`HostNameCondition`\" pulumi-lang-go=\"`hostNameCondition`\" pulumi-lang-python=\"`host_name_condition`\" pulumi-lang-yaml=\"`hostNameCondition`\" pulumi-lang-java=\"`hostNameCondition`\"\u003e`host_name_condition`\u003c/span\u003e block as defined below.\n"},"httpVersionConditions":{"type":"array","items":{"$ref":"#/types/azure:cdn/FrontdoorRuleConditionsHttpVersionCondition:FrontdoorRuleConditionsHttpVersionCondition"},"description":"A \u003cspan pulumi-lang-nodejs=\"`httpVersionCondition`\" pulumi-lang-dotnet=\"`HttpVersionCondition`\" pulumi-lang-go=\"`httpVersionCondition`\" pulumi-lang-python=\"`http_version_condition`\" pulumi-lang-yaml=\"`httpVersionCondition`\" pulumi-lang-java=\"`httpVersionCondition`\"\u003e`http_version_condition`\u003c/span\u003e block as defined below.\n"},"isDeviceConditions":{"type":"array","items":{"$ref":"#/types/azure:cdn/FrontdoorRuleConditionsIsDeviceCondition:FrontdoorRuleConditionsIsDeviceCondition"},"description":"A \u003cspan pulumi-lang-nodejs=\"`isDeviceCondition`\" pulumi-lang-dotnet=\"`IsDeviceCondition`\" pulumi-lang-go=\"`isDeviceCondition`\" pulumi-lang-python=\"`is_device_condition`\" pulumi-lang-yaml=\"`isDeviceCondition`\" pulumi-lang-java=\"`isDeviceCondition`\"\u003e`is_device_condition`\u003c/span\u003e block as defined below.\n"},"postArgsConditions":{"type":"array","items":{"$ref":"#/types/azure:cdn/FrontdoorRuleConditionsPostArgsCondition:FrontdoorRuleConditionsPostArgsCondition"},"description":"A \u003cspan pulumi-lang-nodejs=\"`postArgsCondition`\" pulumi-lang-dotnet=\"`PostArgsCondition`\" pulumi-lang-go=\"`postArgsCondition`\" pulumi-lang-python=\"`post_args_condition`\" pulumi-lang-yaml=\"`postArgsCondition`\" pulumi-lang-java=\"`postArgsCondition`\"\u003e`post_args_condition`\u003c/span\u003e block as defined below.\n"},"queryStringConditions":{"type":"array","items":{"$ref":"#/types/azure:cdn/FrontdoorRuleConditionsQueryStringCondition:FrontdoorRuleConditionsQueryStringCondition"},"description":"A \u003cspan pulumi-lang-nodejs=\"`queryStringCondition`\" pulumi-lang-dotnet=\"`QueryStringCondition`\" pulumi-lang-go=\"`queryStringCondition`\" pulumi-lang-python=\"`query_string_condition`\" pulumi-lang-yaml=\"`queryStringCondition`\" pulumi-lang-java=\"`queryStringCondition`\"\u003e`query_string_condition`\u003c/span\u003e block as defined below.\n"},"remoteAddressConditions":{"type":"array","items":{"$ref":"#/types/azure:cdn/FrontdoorRuleConditionsRemoteAddressCondition:FrontdoorRuleConditionsRemoteAddressCondition"},"description":"A \u003cspan pulumi-lang-nodejs=\"`remoteAddressCondition`\" pulumi-lang-dotnet=\"`RemoteAddressCondition`\" pulumi-lang-go=\"`remoteAddressCondition`\" pulumi-lang-python=\"`remote_address_condition`\" pulumi-lang-yaml=\"`remoteAddressCondition`\" pulumi-lang-java=\"`remoteAddressCondition`\"\u003e`remote_address_condition`\u003c/span\u003e block as defined below.\n"},"requestBodyConditions":{"type":"array","items":{"$ref":"#/types/azure:cdn/FrontdoorRuleConditionsRequestBodyCondition:FrontdoorRuleConditionsRequestBodyCondition"},"description":"A \u003cspan pulumi-lang-nodejs=\"`requestBodyCondition`\" pulumi-lang-dotnet=\"`RequestBodyCondition`\" pulumi-lang-go=\"`requestBodyCondition`\" pulumi-lang-python=\"`request_body_condition`\" pulumi-lang-yaml=\"`requestBodyCondition`\" pulumi-lang-java=\"`requestBodyCondition`\"\u003e`request_body_condition`\u003c/span\u003e block as defined below.\n"},"requestHeaderConditions":{"type":"array","items":{"$ref":"#/types/azure:cdn/FrontdoorRuleConditionsRequestHeaderCondition:FrontdoorRuleConditionsRequestHeaderCondition"},"description":"A \u003cspan pulumi-lang-nodejs=\"`requestHeaderCondition`\" pulumi-lang-dotnet=\"`RequestHeaderCondition`\" pulumi-lang-go=\"`requestHeaderCondition`\" pulumi-lang-python=\"`request_header_condition`\" pulumi-lang-yaml=\"`requestHeaderCondition`\" pulumi-lang-java=\"`requestHeaderCondition`\"\u003e`request_header_condition`\u003c/span\u003e block as defined below.\n"},"requestMethodConditions":{"type":"array","items":{"$ref":"#/types/azure:cdn/FrontdoorRuleConditionsRequestMethodCondition:FrontdoorRuleConditionsRequestMethodCondition"},"description":"A \u003cspan pulumi-lang-nodejs=\"`requestMethodCondition`\" pulumi-lang-dotnet=\"`RequestMethodCondition`\" pulumi-lang-go=\"`requestMethodCondition`\" pulumi-lang-python=\"`request_method_condition`\" pulumi-lang-yaml=\"`requestMethodCondition`\" pulumi-lang-java=\"`requestMethodCondition`\"\u003e`request_method_condition`\u003c/span\u003e block as defined below.\n"},"requestSchemeConditions":{"type":"array","items":{"$ref":"#/types/azure:cdn/FrontdoorRuleConditionsRequestSchemeCondition:FrontdoorRuleConditionsRequestSchemeCondition"},"description":"A \u003cspan pulumi-lang-nodejs=\"`requestSchemeCondition`\" pulumi-lang-dotnet=\"`RequestSchemeCondition`\" pulumi-lang-go=\"`requestSchemeCondition`\" pulumi-lang-python=\"`request_scheme_condition`\" pulumi-lang-yaml=\"`requestSchemeCondition`\" pulumi-lang-java=\"`requestSchemeCondition`\"\u003e`request_scheme_condition`\u003c/span\u003e block as defined below.\n"},"requestUriConditions":{"type":"array","items":{"$ref":"#/types/azure:cdn/FrontdoorRuleConditionsRequestUriCondition:FrontdoorRuleConditionsRequestUriCondition"},"description":"A \u003cspan pulumi-lang-nodejs=\"`requestUriCondition`\" pulumi-lang-dotnet=\"`RequestUriCondition`\" pulumi-lang-go=\"`requestUriCondition`\" pulumi-lang-python=\"`request_uri_condition`\" pulumi-lang-yaml=\"`requestUriCondition`\" pulumi-lang-java=\"`requestUriCondition`\"\u003e`request_uri_condition`\u003c/span\u003e block as defined below.\n"},"serverPortConditions":{"type":"array","items":{"$ref":"#/types/azure:cdn/FrontdoorRuleConditionsServerPortCondition:FrontdoorRuleConditionsServerPortCondition"},"description":"A \u003cspan pulumi-lang-nodejs=\"`serverPortCondition`\" pulumi-lang-dotnet=\"`ServerPortCondition`\" pulumi-lang-go=\"`serverPortCondition`\" pulumi-lang-python=\"`server_port_condition`\" pulumi-lang-yaml=\"`serverPortCondition`\" pulumi-lang-java=\"`serverPortCondition`\"\u003e`server_port_condition`\u003c/span\u003e block as defined below.\n"},"socketAddressConditions":{"type":"array","items":{"$ref":"#/types/azure:cdn/FrontdoorRuleConditionsSocketAddressCondition:FrontdoorRuleConditionsSocketAddressCondition"},"description":"A \u003cspan pulumi-lang-nodejs=\"`socketAddressCondition`\" pulumi-lang-dotnet=\"`SocketAddressCondition`\" pulumi-lang-go=\"`socketAddressCondition`\" pulumi-lang-python=\"`socket_address_condition`\" pulumi-lang-yaml=\"`socketAddressCondition`\" pulumi-lang-java=\"`socketAddressCondition`\"\u003e`socket_address_condition`\u003c/span\u003e block as defined below.\n"},"sslProtocolConditions":{"type":"array","items":{"$ref":"#/types/azure:cdn/FrontdoorRuleConditionsSslProtocolCondition:FrontdoorRuleConditionsSslProtocolCondition"},"description":"A \u003cspan pulumi-lang-nodejs=\"`sslProtocolCondition`\" pulumi-lang-dotnet=\"`SslProtocolCondition`\" pulumi-lang-go=\"`sslProtocolCondition`\" pulumi-lang-python=\"`ssl_protocol_condition`\" pulumi-lang-yaml=\"`sslProtocolCondition`\" pulumi-lang-java=\"`sslProtocolCondition`\"\u003e`ssl_protocol_condition`\u003c/span\u003e block as defined below.\n"},"urlFileExtensionConditions":{"type":"array","items":{"$ref":"#/types/azure:cdn/FrontdoorRuleConditionsUrlFileExtensionCondition:FrontdoorRuleConditionsUrlFileExtensionCondition"},"description":"A \u003cspan pulumi-lang-nodejs=\"`urlFileExtensionCondition`\" pulumi-lang-dotnet=\"`UrlFileExtensionCondition`\" pulumi-lang-go=\"`urlFileExtensionCondition`\" pulumi-lang-python=\"`url_file_extension_condition`\" pulumi-lang-yaml=\"`urlFileExtensionCondition`\" pulumi-lang-java=\"`urlFileExtensionCondition`\"\u003e`url_file_extension_condition`\u003c/span\u003e block as defined below.\n"},"urlFilenameConditions":{"type":"array","items":{"$ref":"#/types/azure:cdn/FrontdoorRuleConditionsUrlFilenameCondition:FrontdoorRuleConditionsUrlFilenameCondition"},"description":"A \u003cspan pulumi-lang-nodejs=\"`urlFilenameCondition`\" pulumi-lang-dotnet=\"`UrlFilenameCondition`\" pulumi-lang-go=\"`urlFilenameCondition`\" pulumi-lang-python=\"`url_filename_condition`\" pulumi-lang-yaml=\"`urlFilenameCondition`\" pulumi-lang-java=\"`urlFilenameCondition`\"\u003e`url_filename_condition`\u003c/span\u003e block as defined below.\n"},"urlPathConditions":{"type":"array","items":{"$ref":"#/types/azure:cdn/FrontdoorRuleConditionsUrlPathCondition:FrontdoorRuleConditionsUrlPathCondition"},"description":"A \u003cspan pulumi-lang-nodejs=\"`urlPathCondition`\" pulumi-lang-dotnet=\"`UrlPathCondition`\" pulumi-lang-go=\"`urlPathCondition`\" pulumi-lang-python=\"`url_path_condition`\" pulumi-lang-yaml=\"`urlPathCondition`\" pulumi-lang-java=\"`urlPathCondition`\"\u003e`url_path_condition`\u003c/span\u003e block as defined below.\n"}},"type":"object"},"azure:cdn/FrontdoorRuleConditionsClientPortCondition:FrontdoorRuleConditionsClientPortCondition":{"properties":{"matchValues":{"type":"array","items":{"type":"string"},"description":"One or more integer values(e.g. \"1\") representing the value of the client port to match. If multiple values are specified, they're evaluated using `OR` logic.\n"},"negateCondition":{"type":"boolean","description":"If \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e operator becomes the opposite of its value. Possible values \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Details can be found in the `Condition Operator List` below.\n"},"operator":{"type":"string","description":"A Conditional operator. Possible values include `Any`, `Equal`, `Contains`, `BeginsWith`, `EndsWith`, `LessThan`, `LessThanOrEqual`, `GreaterThan`, `GreaterThanOrEqual` or `RegEx`. Details can be found in the `Condition Operator List` below.\n"}},"type":"object","required":["operator"]},"azure:cdn/FrontdoorRuleConditionsCookiesCondition:FrontdoorRuleConditionsCookiesCondition":{"properties":{"cookieName":{"type":"string","description":"A string value representing the name of the cookie.\n"},"matchValues":{"type":"array","items":{"type":"string"},"description":"One or more string or integer values(e.g. \"1\") representing the value of the request header to match. If multiple values are specified, they're evaluated using `OR` logic.\n"},"negateCondition":{"type":"boolean","description":"If \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e operator becomes the opposite of its value. Possible values \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Details can be found in the `Condition Operator List` below.\n"},"operator":{"type":"string","description":"A Conditional operator. Possible values include `Any`, `Equal`, `Contains`, `BeginsWith`, `EndsWith`, `LessThan`, `LessThanOrEqual`, `GreaterThan`, `GreaterThanOrEqual` or `RegEx`. Details can be found in the `Condition Operator List` below.\n"},"transforms":{"type":"array","items":{"type":"string"},"description":"A Conditional operator. Possible values include `Lowercase`, `RemoveNulls`, `Trim`, `Uppercase`, `UrlDecode` or `UrlEncode`. Details can be found in the `Condition Transform List` below.\n"}},"type":"object","required":["cookieName","operator"]},"azure:cdn/FrontdoorRuleConditionsHostNameCondition:FrontdoorRuleConditionsHostNameCondition":{"properties":{"matchValues":{"type":"array","items":{"type":"string"},"description":"A list of one or more string values representing the value of the request hostname to match. If multiple values are specified, they're evaluated using `OR` logic.\n"},"negateCondition":{"type":"boolean","description":"If \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e operator becomes the opposite of its value. Possible values \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Details can be found in the `Condition Operator List` below.\n"},"operator":{"type":"string","description":"A Conditional operator. Possible values include `Any`, `Equal`, `Contains`, `BeginsWith`, `EndsWith`, `LessThan`, `LessThanOrEqual`, `GreaterThan`, `GreaterThanOrEqual` or `RegEx`. Details can be found in the `Condition Operator List` below.\n"},"transforms":{"type":"array","items":{"type":"string"},"description":"A Conditional operator. Possible values include `Lowercase`, `RemoveNulls`, `Trim`, `Uppercase`, `UrlDecode` or `UrlEncode`. Details can be found in the `Condition Transform List` below.\n"}},"type":"object","required":["operator"]},"azure:cdn/FrontdoorRuleConditionsHttpVersionCondition:FrontdoorRuleConditionsHttpVersionCondition":{"properties":{"matchValues":{"type":"array","items":{"type":"string"},"description":"What HTTP version should this condition match? Possible values `2.0`, `1.1`, `1.0` or `0.9`.\n"},"negateCondition":{"type":"boolean","description":"If \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e operator becomes the opposite of its value. Possible values \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Details can be found in the `Condition Operator List` below.\n"},"operator":{"type":"string","description":"Possible value `Equal`. Defaults to `Equal`.\n"}},"type":"object","required":["matchValues"]},"azure:cdn/FrontdoorRuleConditionsIsDeviceCondition:FrontdoorRuleConditionsIsDeviceCondition":{"properties":{"matchValues":{"type":"string","description":"Which device should this rule match on? Possible values `Mobile` or `Desktop`.\n"},"negateCondition":{"type":"boolean","description":"If \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e operator becomes the opposite of its value. Possible values \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Details can be found in the `Condition Operator List` below.\n"},"operator":{"type":"string","description":"Possible value `Equal`. Defaults to `Equal`.\n"}},"type":"object"},"azure:cdn/FrontdoorRuleConditionsPostArgsCondition:FrontdoorRuleConditionsPostArgsCondition":{"properties":{"matchValues":{"type":"array","items":{"type":"string"},"description":"One or more string or integer values(e.g. \"1\") representing the value of the `POST` argument to match. If multiple values are specified, they're evaluated using `OR` logic.\n"},"negateCondition":{"type":"boolean","description":"If \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e operator becomes the opposite of its value. Possible values \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Details can be found in the `Condition Operator List` below.\n"},"operator":{"type":"string","description":"A Conditional operator. Possible values include `Any`, `Equal`, `Contains`, `BeginsWith`, `EndsWith`, `LessThan`, `LessThanOrEqual`, `GreaterThan`, `GreaterThanOrEqual` or `RegEx`. Details can be found in the `Condition Operator List` below.\n"},"postArgsName":{"type":"string","description":"A string value representing the name of the `POST` argument.\n"},"transforms":{"type":"array","items":{"type":"string"},"description":"A Conditional operator. Possible values include `Lowercase`, `RemoveNulls`, `Trim`, `Uppercase`, `UrlDecode` or `UrlEncode`. Details can be found in the `Condition Transform List` below.\n"}},"type":"object","required":["operator","postArgsName"]},"azure:cdn/FrontdoorRuleConditionsQueryStringCondition:FrontdoorRuleConditionsQueryStringCondition":{"properties":{"matchValues":{"type":"array","items":{"type":"string"},"description":"One or more string or integer values(e.g. \"1\") representing the value of the query string to match. If multiple values are specified, they're evaluated using `OR` logic.\n"},"negateCondition":{"type":"boolean","description":"If \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e operator becomes the opposite of its value. Possible values \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Details can be found in the `Condition Operator List` below.\n"},"operator":{"type":"string","description":"A Conditional operator. Possible values include `Any`, `Equal`, `Contains`, `BeginsWith`, `EndsWith`, `LessThan`, `LessThanOrEqual`, `GreaterThan`, `GreaterThanOrEqual` or `RegEx`. Details can be found in the `Condition Operator List` below.\n"},"transforms":{"type":"array","items":{"type":"string"},"description":"A Conditional operator. Possible values include `Lowercase`, `RemoveNulls`, `Trim`, `Uppercase`, `UrlDecode` or `UrlEncode`. Details can be found in the `Condition Transform List` below.\n"}},"type":"object","required":["operator"]},"azure:cdn/FrontdoorRuleConditionsRemoteAddressCondition:FrontdoorRuleConditionsRemoteAddressCondition":{"properties":{"matchValues":{"type":"array","items":{"type":"string"},"description":"For the IP Match or IP Not Match operators: specify one or more IP address ranges. If multiple IP address ranges are specified, they're evaluated using `OR` logic. For the Geo Match or Geo Not Match operators: specify one or more locations using their country code.\n\n\u003e **Note:** See the `Specifying IP Address Ranges` section below on how to correctly define the \u003cspan pulumi-lang-nodejs=\"`matchValues`\" pulumi-lang-dotnet=\"`MatchValues`\" pulumi-lang-go=\"`matchValues`\" pulumi-lang-python=\"`match_values`\" pulumi-lang-yaml=\"`matchValues`\" pulumi-lang-java=\"`matchValues`\"\u003e`match_values`\u003c/span\u003e field.\n"},"negateCondition":{"type":"boolean","description":"If \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e operator becomes the opposite of its value. Possible values \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Details can be found in the `Condition Operator List` below.\n"},"operator":{"type":"string","description":"The type of the remote address to match. Possible values include `Any`, `GeoMatch` or `IPMatch`. Use the \u003cspan pulumi-lang-nodejs=\"`negateCondition`\" pulumi-lang-dotnet=\"`NegateCondition`\" pulumi-lang-go=\"`negateCondition`\" pulumi-lang-python=\"`negate_condition`\" pulumi-lang-yaml=\"`negateCondition`\" pulumi-lang-java=\"`negateCondition`\"\u003e`negate_condition`\u003c/span\u003e to specify Not `GeoMatch` or Not `IPMatch`. Defaults to `IPMatch`.\n"}},"type":"object"},"azure:cdn/FrontdoorRuleConditionsRequestBodyCondition:FrontdoorRuleConditionsRequestBodyCondition":{"properties":{"matchValues":{"type":"array","items":{"type":"string"},"description":"A list of one or more string or integer values(e.g. \"1\") representing the value of the request body text to match. If multiple values are specified, they're evaluated using `OR` logic.\n"},"negateCondition":{"type":"boolean","description":"If \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e operator becomes the opposite of its value. Possible values \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Details can be found in the `Condition Operator List` below.\n"},"operator":{"type":"string","description":"A Conditional operator. Possible values include `Any`, `Equal`, `Contains`, `BeginsWith`, `EndsWith`, `LessThan`, `LessThanOrEqual`, `GreaterThan`, `GreaterThanOrEqual` or `RegEx`. Details can be found in the `Condition Operator List` below.\n"},"transforms":{"type":"array","items":{"type":"string"},"description":"A Conditional operator. Possible values include `Lowercase`, `RemoveNulls`, `Trim`, `Uppercase`, `UrlDecode` or `UrlEncode`. Details can be found in the `Condition Transform List` below.\n"}},"type":"object","required":["matchValues","operator"]},"azure:cdn/FrontdoorRuleConditionsRequestHeaderCondition:FrontdoorRuleConditionsRequestHeaderCondition":{"properties":{"headerName":{"type":"string","description":"A string value representing the name of the `POST` argument.\n"},"matchValues":{"type":"array","items":{"type":"string"},"description":"One or more string or integer values(e.g. \"1\") representing the value of the request header to match. If multiple values are specified, they're evaluated using `OR` logic.\n"},"negateCondition":{"type":"boolean","description":"If \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e operator becomes the opposite of its value. Possible values \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Details can be found in the `Condition Operator List` below.\n"},"operator":{"type":"string","description":"A Conditional operator. Possible values include `Any`, `Equal`, `Contains`, `BeginsWith`, `EndsWith`, `LessThan`, `LessThanOrEqual`, `GreaterThan`, `GreaterThanOrEqual` or `RegEx`. Details can be found in the `Condition Operator List` below.\n"},"transforms":{"type":"array","items":{"type":"string"},"description":"A Conditional operator. Possible values include `Lowercase`, `RemoveNulls`, `Trim`, `Uppercase`, `UrlDecode` or `UrlEncode`. Details can be found in the `Condition Transform List` below.\n"}},"type":"object","required":["headerName","operator"]},"azure:cdn/FrontdoorRuleConditionsRequestMethodCondition:FrontdoorRuleConditionsRequestMethodCondition":{"properties":{"matchValues":{"type":"array","items":{"type":"string"},"description":"A list of one or more HTTP methods. Possible values include `GET`, `POST`, `PUT`, `DELETE`, `HEAD`, `OPTIONS` or `TRACE`. If multiple values are specified, they're evaluated using `OR` logic.\n"},"negateCondition":{"type":"boolean","description":"If \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e operator becomes the opposite of its value. Possible values \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Details can be found in the `Condition Operator List` below.\n"},"operator":{"type":"string","description":"Possible value `Equal`. Defaults to `Equal`.\n"}},"type":"object","required":["matchValues"]},"azure:cdn/FrontdoorRuleConditionsRequestSchemeCondition:FrontdoorRuleConditionsRequestSchemeCondition":{"properties":{"matchValues":{"type":"string","description":"The requests protocol to match. Possible values include `HTTP` or `HTTPS`.\n"},"negateCondition":{"type":"boolean","description":"If \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e operator becomes the opposite of its value. Possible values \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Details can be found in the `Condition Operator List` below.\n"},"operator":{"type":"string","description":"Possible value `Equal`. Defaults to `Equal`.\n"}},"type":"object"},"azure:cdn/FrontdoorRuleConditionsRequestUriCondition:FrontdoorRuleConditionsRequestUriCondition":{"properties":{"matchValues":{"type":"array","items":{"type":"string"},"description":"One or more string or integer values(e.g. \"1\") representing the value of the request URL to match. If multiple values are specified, they're evaluated using `OR` logic.\n"},"negateCondition":{"type":"boolean","description":"If \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e operator becomes the opposite of its value. Possible values \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Details can be found in the `Condition Operator List` below.\n"},"operator":{"type":"string","description":"A Conditional operator. Possible values include `Any`, `Equal`, `Contains`, `BeginsWith`, `EndsWith`, `LessThan`, `LessThanOrEqual`, `GreaterThan`, `GreaterThanOrEqual` or `RegEx`. Details can be found in the `Condition Operator List` below.\n"},"transforms":{"type":"array","items":{"type":"string"},"description":"A Conditional operator. Possible values include `Lowercase`, `RemoveNulls`, `Trim`, `Uppercase`, `UrlDecode` or `UrlEncode`. Details can be found in the `Condition Transform List` below.\n"}},"type":"object","required":["operator"]},"azure:cdn/FrontdoorRuleConditionsServerPortCondition:FrontdoorRuleConditionsServerPortCondition":{"properties":{"matchValues":{"type":"array","items":{"type":"string"},"description":"A list of one or more integer values(e.g. \"1\") representing the value of the client port to match. Possible values include \u003cspan pulumi-lang-nodejs=\"`80`\" pulumi-lang-dotnet=\"`80`\" pulumi-lang-go=\"`80`\" pulumi-lang-python=\"`80`\" pulumi-lang-yaml=\"`80`\" pulumi-lang-java=\"`80`\"\u003e`80`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`443`\" pulumi-lang-dotnet=\"`443`\" pulumi-lang-go=\"`443`\" pulumi-lang-python=\"`443`\" pulumi-lang-yaml=\"`443`\" pulumi-lang-java=\"`443`\"\u003e`443`\u003c/span\u003e. If multiple values are specified, they're evaluated using `OR` logic.\n"},"negateCondition":{"type":"boolean","description":"If \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e operator becomes the opposite of its value. Possible values \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Details can be found in the `Condition Operator List` below.\n"},"operator":{"type":"string","description":"A Conditional operator. Possible values include `Any`, `Equal`, `Contains`, `BeginsWith`, `EndsWith`, `LessThan`, `LessThanOrEqual`, `GreaterThan`, `GreaterThanOrEqual` or `RegEx`. Details can be found in the `Condition Operator List` below.\n"}},"type":"object","required":["matchValues","operator"]},"azure:cdn/FrontdoorRuleConditionsSocketAddressCondition:FrontdoorRuleConditionsSocketAddressCondition":{"properties":{"matchValues":{"type":"array","items":{"type":"string"},"description":"Specify one or more IP address ranges. If multiple IP address ranges are specified, they're evaluated using `OR` logic.\n\n\u003e **Note:** See the `Specifying IP Address Ranges` section below on how to correctly define the \u003cspan pulumi-lang-nodejs=\"`matchValues`\" pulumi-lang-dotnet=\"`MatchValues`\" pulumi-lang-go=\"`matchValues`\" pulumi-lang-python=\"`match_values`\" pulumi-lang-yaml=\"`matchValues`\" pulumi-lang-java=\"`matchValues`\"\u003e`match_values`\u003c/span\u003e field.\n"},"negateCondition":{"type":"boolean","description":"If \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e operator becomes the opposite of its value. Possible values \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Details can be found in the `Condition Operator List` below.\n"},"operator":{"type":"string","description":"The type of match. The Possible values are `IpMatch` or `Any`. Defaults to `IPMatch`.\n\n\u003e **Note:** If the value of the \u003cspan pulumi-lang-nodejs=\"`operator`\" pulumi-lang-dotnet=\"`Operator`\" pulumi-lang-go=\"`operator`\" pulumi-lang-python=\"`operator`\" pulumi-lang-yaml=\"`operator`\" pulumi-lang-java=\"`operator`\"\u003e`operator`\u003c/span\u003e field is set to `IpMatch` then the \u003cspan pulumi-lang-nodejs=\"`matchValues`\" pulumi-lang-dotnet=\"`MatchValues`\" pulumi-lang-go=\"`matchValues`\" pulumi-lang-python=\"`match_values`\" pulumi-lang-yaml=\"`matchValues`\" pulumi-lang-java=\"`matchValues`\"\u003e`match_values`\u003c/span\u003e field is also required.\n"}},"type":"object"},"azure:cdn/FrontdoorRuleConditionsSslProtocolCondition:FrontdoorRuleConditionsSslProtocolCondition":{"properties":{"matchValues":{"type":"array","items":{"type":"string"},"description":"A list of one or more HTTP methods. Possible values are `TLSv1`, `TLSv1.1` and `TLSv1.2` logic.\n"},"negateCondition":{"type":"boolean","description":"If \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e operator becomes the opposite of its value. Possible values \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Details can be found in the `Condition Operator List` below.\n"},"operator":{"type":"string","description":"Possible value `Equal`. Defaults to `Equal`.\n"}},"type":"object","required":["matchValues"]},"azure:cdn/FrontdoorRuleConditionsUrlFileExtensionCondition:FrontdoorRuleConditionsUrlFileExtensionCondition":{"properties":{"matchValues":{"type":"array","items":{"type":"string"},"description":"A list of one or more string or integer values(e.g. \"1\") representing the value of the request file extension to match. If multiple values are specified, they're evaluated using `OR` logic.\n"},"negateCondition":{"type":"boolean","description":"If \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e operator becomes the opposite of its value. Possible values \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Details can be found in the `Condition Operator List` below.\n"},"operator":{"type":"string","description":"A Conditional operator. Possible values include `Any`, `Equal`, `Contains`, `BeginsWith`, `EndsWith`, `LessThan`, `LessThanOrEqual`, `GreaterThan`, `GreaterThanOrEqual` or `RegEx`. Details can be found in the `Condition Operator List` below.\n"},"transforms":{"type":"array","items":{"type":"string"},"description":"A Conditional operator. Possible values include `Lowercase`, `RemoveNulls`, `Trim`, `Uppercase`, `UrlDecode` or `UrlEncode`. Details can be found in the `Condition Transform List` below.\n"}},"type":"object","required":["matchValues","operator"]},"azure:cdn/FrontdoorRuleConditionsUrlFilenameCondition:FrontdoorRuleConditionsUrlFilenameCondition":{"properties":{"matchValues":{"type":"array","items":{"type":"string"},"description":"A list of one or more string or integer values(e.g. \"1\") representing the value of the request file name to match. If multiple values are specified, they're evaluated using `OR` logic.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`matchValues`\" pulumi-lang-dotnet=\"`MatchValues`\" pulumi-lang-go=\"`matchValues`\" pulumi-lang-python=\"`match_values`\" pulumi-lang-yaml=\"`matchValues`\" pulumi-lang-java=\"`matchValues`\"\u003e`match_values`\u003c/span\u003e field is only optional if the \u003cspan pulumi-lang-nodejs=\"`operator`\" pulumi-lang-dotnet=\"`Operator`\" pulumi-lang-go=\"`operator`\" pulumi-lang-python=\"`operator`\" pulumi-lang-yaml=\"`operator`\" pulumi-lang-java=\"`operator`\"\u003e`operator`\u003c/span\u003e is set to `Any`.\n"},"negateCondition":{"type":"boolean","description":"If \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e operator becomes the opposite of its value. Possible values \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Details can be found in the `Condition Operator List` below.\n"},"operator":{"type":"string","description":"A Conditional operator. Possible values include `Any`, `Equal`, `Contains`, `BeginsWith`, `EndsWith`, `LessThan`, `LessThanOrEqual`, `GreaterThan`, `GreaterThanOrEqual` or `RegEx`. Details can be found in the `Condition Operator List` below.\n"},"transforms":{"type":"array","items":{"type":"string"},"description":"A Conditional operator. Possible values include `Lowercase`, `RemoveNulls`, `Trim`, `Uppercase`, `UrlDecode` or `UrlEncode`. Details can be found in the `Condition Transform List` below.\n"}},"type":"object","required":["operator"]},"azure:cdn/FrontdoorRuleConditionsUrlPathCondition:FrontdoorRuleConditionsUrlPathCondition":{"properties":{"matchValues":{"type":"array","items":{"type":"string"},"description":"One or more string or integer values(e.g. \"1\") representing the value of the request path to match. Don't include the leading slash (`/`). If multiple values are specified, they're evaluated using `OR` logic.\n"},"negateCondition":{"type":"boolean","description":"If \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e operator becomes the opposite of its value. Possible values \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Details can be found in the `Condition Operator List` below.\n"},"operator":{"type":"string","description":"A Conditional operator. Possible values include `Any`, `Equal`, `Contains`, `BeginsWith`, `EndsWith`, `LessThan`, `LessThanOrEqual`, `GreaterThan`, `GreaterThanOrEqual`, `RegEx` or `Wildcard`. Details can be found in the `Condition Operator List` below.\n"},"transforms":{"type":"array","items":{"type":"string"},"description":"A Conditional operator. Possible values include `Lowercase`, `RemoveNulls`, `Trim`, `Uppercase`, `UrlDecode` or `UrlEncode`. Details can be found in the `Condition Transform List` below.\n"}},"type":"object","required":["operator"]},"azure:cdn/FrontdoorSecretSecret:FrontdoorSecretSecret":{"properties":{"customerCertificates":{"type":"array","items":{"$ref":"#/types/azure:cdn/FrontdoorSecretSecretCustomerCertificate:FrontdoorSecretSecretCustomerCertificate"},"description":"A \u003cspan pulumi-lang-nodejs=\"`customerCertificate`\" pulumi-lang-dotnet=\"`CustomerCertificate`\" pulumi-lang-go=\"`customerCertificate`\" pulumi-lang-python=\"`customer_certificate`\" pulumi-lang-yaml=\"`customerCertificate`\" pulumi-lang-java=\"`customerCertificate`\"\u003e`customer_certificate`\u003c/span\u003e block as defined below. Changing this forces a new Front Door Secret to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["customerCertificates"]},"azure:cdn/FrontdoorSecretSecretCustomerCertificate:FrontdoorSecretSecretCustomerCertificate":{"properties":{"keyVaultCertificateId":{"type":"string","description":"The ID of the Key Vault certificate resource to use. Changing this forces a new Front Door Secret to be created.\n\n\u003e **Note:** If you would like to use the **latest version** of the Key Vault Certificate use the Key Vault Certificates \u003cspan pulumi-lang-nodejs=\"`versionlessId`\" pulumi-lang-dotnet=\"`VersionlessId`\" pulumi-lang-go=\"`versionlessId`\" pulumi-lang-python=\"`versionless_id`\" pulumi-lang-yaml=\"`versionlessId`\" pulumi-lang-java=\"`versionlessId`\"\u003e`versionless_id`\u003c/span\u003e attribute as the \u003cspan pulumi-lang-nodejs=\"`keyVaultCertificateId`\" pulumi-lang-dotnet=\"`KeyVaultCertificateId`\" pulumi-lang-go=\"`keyVaultCertificateId`\" pulumi-lang-python=\"`key_vault_certificate_id`\" pulumi-lang-yaml=\"`keyVaultCertificateId`\" pulumi-lang-java=\"`keyVaultCertificateId`\"\u003e`key_vault_certificate_id`\u003c/span\u003e fields value(e.g. \u003cspan pulumi-lang-nodejs=\"`keyVaultCertificateId \" pulumi-lang-dotnet=\"`KeyVaultCertificateId \" pulumi-lang-go=\"`keyVaultCertificateId \" pulumi-lang-python=\"`key_vault_certificate_id \" pulumi-lang-yaml=\"`keyVaultCertificateId \" pulumi-lang-java=\"`keyVaultCertificateId \"\u003e`key_vault_certificate_id \u003c/span\u003e= azurerm_key_vault_certificate.example.versionless_id`).\n","willReplaceOnChanges":true},"subjectAlternativeNames":{"type":"array","items":{"type":"string"},"description":"One or more `subject alternative names` contained within the key vault certificate.\n"}},"type":"object","required":["keyVaultCertificateId"],"language":{"nodejs":{"requiredOutputs":["keyVaultCertificateId","subjectAlternativeNames"]}}},"azure:cdn/FrontdoorSecurityPolicySecurityPolicies:FrontdoorSecurityPolicySecurityPolicies":{"properties":{"firewall":{"$ref":"#/types/azure:cdn/FrontdoorSecurityPolicySecurityPoliciesFirewall:FrontdoorSecurityPolicySecurityPoliciesFirewall","description":"An \u003cspan pulumi-lang-nodejs=\"`firewall`\" pulumi-lang-dotnet=\"`Firewall`\" pulumi-lang-go=\"`firewall`\" pulumi-lang-python=\"`firewall`\" pulumi-lang-yaml=\"`firewall`\" pulumi-lang-java=\"`firewall`\"\u003e`firewall`\u003c/span\u003e block as defined below.\n"}},"type":"object","required":["firewall"]},"azure:cdn/FrontdoorSecurityPolicySecurityPoliciesFirewall:FrontdoorSecurityPolicySecurityPoliciesFirewall":{"properties":{"association":{"$ref":"#/types/azure:cdn/FrontdoorSecurityPolicySecurityPoliciesFirewallAssociation:FrontdoorSecurityPolicySecurityPoliciesFirewallAssociation","description":"An \u003cspan pulumi-lang-nodejs=\"`association`\" pulumi-lang-dotnet=\"`Association`\" pulumi-lang-go=\"`association`\" pulumi-lang-python=\"`association`\" pulumi-lang-yaml=\"`association`\" pulumi-lang-java=\"`association`\"\u003e`association`\u003c/span\u003e block as defined below.\n"},"cdnFrontdoorFirewallPolicyId":{"type":"string","description":"The Resource Id of the Front Door Firewall Policy that should be linked to this Front Door Security Policy. Changing this forces a new Front Door Security Policy to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["association","cdnFrontdoorFirewallPolicyId"]},"azure:cdn/FrontdoorSecurityPolicySecurityPoliciesFirewallAssociation:FrontdoorSecurityPolicySecurityPoliciesFirewallAssociation":{"properties":{"domains":{"type":"array","items":{"$ref":"#/types/azure:cdn/FrontdoorSecurityPolicySecurityPoliciesFirewallAssociationDomain:FrontdoorSecurityPolicySecurityPoliciesFirewallAssociationDomain"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`domain`\" pulumi-lang-dotnet=\"`Domain`\" pulumi-lang-go=\"`domain`\" pulumi-lang-python=\"`domain`\" pulumi-lang-yaml=\"`domain`\" pulumi-lang-java=\"`domain`\"\u003e`domain`\u003c/span\u003e blocks as defined below.\n"},"patternsToMatch":{"type":"string","description":"The list of paths to match for this firewall policy. Possible value includes `/*`. Changing this forces a new Front Door Security Policy to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["domains","patternsToMatch"]},"azure:cdn/FrontdoorSecurityPolicySecurityPoliciesFirewallAssociationDomain:FrontdoorSecurityPolicySecurityPoliciesFirewallAssociationDomain":{"properties":{"active":{"type":"boolean","description":"Is the Front Door Custom Domain/Endpoint activated?\n"},"cdnFrontdoorDomainId":{"type":"string","description":"The Resource Id of the **Front Door Custom Domain** or **Front Door Endpoint** that should be bound to this Front Door Security Policy.\n"}},"type":"object","required":["cdnFrontdoorDomainId"],"language":{"nodejs":{"requiredOutputs":["active","cdnFrontdoorDomainId"]}}},"azure:cdn/getFrontdoorCustomDomainTl:getFrontdoorCustomDomainTl":{"properties":{"cdnFrontdoorSecretId":{"type":"string","description":"The Resource ID of the Front Door Secret.\n"},"certificateType":{"type":"string","description":"The SSL certificate type.\n"},"minimumTlsVersion":{"type":"string","description":"The TLS protocol version that will be used for Https connections.\n"}},"type":"object","required":["cdnFrontdoorSecretId","certificateType","minimumTlsVersion"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:cdn/getFrontdoorOriginGroupHealthProbe:getFrontdoorOriginGroupHealthProbe":{"properties":{"intervalInSeconds":{"type":"integer","description":"Specifies the number of seconds between health probes.\n"},"path":{"type":"string","description":"Specifies the path relative to the origin that is used to determine the health of the origin.\n"},"protocol":{"type":"string","description":"Specifies the protocol to use for health probe.\n"},"requestType":{"type":"string","description":"Specifies the type of health probe request that is made.\n"}},"type":"object","required":["intervalInSeconds","path","protocol","requestType"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:cdn/getFrontdoorOriginGroupLoadBalancing:getFrontdoorOriginGroupLoadBalancing":{"properties":{"additionalLatencyInMilliseconds":{"type":"integer","description":"Specifies the additional latency in milliseconds for probes to fall into the lowest latency bucket.\n"},"sampleSize":{"type":"integer","description":"Specifies the number of samples to consider for load balancing decisions.\n"},"successfulSamplesRequired":{"type":"integer","description":"Specifies the number of samples within the sample period that must succeed.\n"}},"type":"object","required":["additionalLatencyInMilliseconds","sampleSize","successfulSamplesRequired"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:cdn/getFrontdoorProfileIdentity:getFrontdoorProfileIdentity":{"properties":{"identityIds":{"type":"array","items":{"type":"string"},"description":"The list of User Assigned Managed Identity IDs assigned to this Front Door Profile.\n"},"principalId":{"type":"string"},"tenantId":{"type":"string"},"type":{"type":"string","description":"The type of Managed Service Identity that is configured on this Front Door Profile.\n"}},"type":"object","required":["identityIds","principalId","tenantId","type"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:cdn/getFrontdoorProfileLogScrubbingRule:getFrontdoorProfileLogScrubbingRule":{"properties":{"matchVariable":{"type":"string","description":"The variable that is scrubbed from the logs.\n"}},"type":"object","required":["matchVariable"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:cdn/getFrontdoorSecretSecret:getFrontdoorSecretSecret":{"properties":{"customerCertificates":{"type":"array","items":{"$ref":"#/types/azure:cdn/getFrontdoorSecretSecretCustomerCertificate:getFrontdoorSecretSecretCustomerCertificate"},"description":"A \u003cspan pulumi-lang-nodejs=\"`customerCertificate`\" pulumi-lang-dotnet=\"`CustomerCertificate`\" pulumi-lang-go=\"`customerCertificate`\" pulumi-lang-python=\"`customer_certificate`\" pulumi-lang-yaml=\"`customerCertificate`\" pulumi-lang-java=\"`customerCertificate`\"\u003e`customer_certificate`\u003c/span\u003e block as defined below.\n"}},"type":"object","required":["customerCertificates"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:cdn/getFrontdoorSecretSecretCustomerCertificate:getFrontdoorSecretSecretCustomerCertificate":{"properties":{"expirationDate":{"type":"string","description":"The key vault certificate expiration date.\n"},"keyVaultCertificateId":{"type":"string","description":"The key vault certificate ID.\n"},"subjectAlternativeNames":{"type":"array","items":{"type":"string"},"description":"One or more `subject alternative names` contained within the key vault certificate.\n"}},"type":"object","required":["expirationDate","keyVaultCertificateId","subjectAlternativeNames"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:chaosstudio/ExperimentIdentity:ExperimentIdentity":{"properties":{"identityIds":{"type":"array","items":{"type":"string"},"description":"A list of User Managed Identity IDs which should be assigned to the Policy Definition.\n\n\u003e **Note:** This is required when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to `UserAssigned`.\n"},"principalId":{"type":"string","description":"The Principal ID associated with this Managed Service Identity.\n"},"tenantId":{"type":"string","description":"The Tenant ID associated with this Managed Service Identity.\n"},"type":{"type":"string","description":"The Type of Managed Identity which should be added to this Policy Definition. Possible values are `SystemAssigned` and `UserAssigned`.\n"}},"type":"object","required":["type"],"language":{"nodejs":{"requiredOutputs":["principalId","tenantId","type"]}}},"azure:chaosstudio/ExperimentSelector:ExperimentSelector":{"properties":{"chaosStudioTargetIds":{"type":"array","items":{"type":"string"},"description":"A list of Chaos Studio Target IDs that should be part of this Selector.\n"},"name":{"type":"string","description":"The name of this Selector.\n"}},"type":"object","required":["chaosStudioTargetIds","name"]},"azure:chaosstudio/ExperimentStep:ExperimentStep":{"properties":{"branches":{"type":"array","items":{"$ref":"#/types/azure:chaosstudio/ExperimentStepBranch:ExperimentStepBranch"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`branch`\" pulumi-lang-dotnet=\"`Branch`\" pulumi-lang-go=\"`branch`\" pulumi-lang-python=\"`branch`\" pulumi-lang-yaml=\"`branch`\" pulumi-lang-java=\"`branch`\"\u003e`branch`\u003c/span\u003e blocks as defined above.\n"},"name":{"type":"string","description":"The name of the Step.\n"}},"type":"object","required":["branches","name"]},"azure:chaosstudio/ExperimentStepBranch:ExperimentStepBranch":{"properties":{"actions":{"type":"array","items":{"$ref":"#/types/azure:chaosstudio/ExperimentStepBranchAction:ExperimentStepBranchAction"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`actions`\" pulumi-lang-dotnet=\"`Actions`\" pulumi-lang-go=\"`actions`\" pulumi-lang-python=\"`actions`\" pulumi-lang-yaml=\"`actions`\" pulumi-lang-java=\"`actions`\"\u003e`actions`\u003c/span\u003e blocks as defined above.\n"},"name":{"type":"string","description":"The name of the branch.\n"}},"type":"object","required":["actions","name"]},"azure:chaosstudio/ExperimentStepBranchAction:ExperimentStepBranchAction":{"properties":{"actionType":{"type":"string","description":"The type of action that should be added to the experiment. Possible values are \u003cspan pulumi-lang-nodejs=\"`continuous`\" pulumi-lang-dotnet=\"`Continuous`\" pulumi-lang-go=\"`continuous`\" pulumi-lang-python=\"`continuous`\" pulumi-lang-yaml=\"`continuous`\" pulumi-lang-java=\"`continuous`\"\u003e`continuous`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`delay`\" pulumi-lang-dotnet=\"`Delay`\" pulumi-lang-go=\"`delay`\" pulumi-lang-python=\"`delay`\" pulumi-lang-yaml=\"`delay`\" pulumi-lang-java=\"`delay`\"\u003e`delay`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`discrete`\" pulumi-lang-dotnet=\"`Discrete`\" pulumi-lang-go=\"`discrete`\" pulumi-lang-python=\"`discrete`\" pulumi-lang-yaml=\"`discrete`\" pulumi-lang-java=\"`discrete`\"\u003e`discrete`\u003c/span\u003e.\n"},"duration":{"type":"string","description":"An ISO8601 formatted string specifying the duration for a \u003cspan pulumi-lang-nodejs=\"`delay`\" pulumi-lang-dotnet=\"`Delay`\" pulumi-lang-go=\"`delay`\" pulumi-lang-python=\"`delay`\" pulumi-lang-yaml=\"`delay`\" pulumi-lang-java=\"`delay`\"\u003e`delay`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`continuous`\" pulumi-lang-dotnet=\"`Continuous`\" pulumi-lang-go=\"`continuous`\" pulumi-lang-python=\"`continuous`\" pulumi-lang-yaml=\"`continuous`\" pulumi-lang-java=\"`continuous`\"\u003e`continuous`\u003c/span\u003e action.\n"},"parameters":{"type":"object","additionalProperties":{"type":"string"},"description":"A key-value map of additional parameters to configure the action. The values that are accepted by this depend on the \u003cspan pulumi-lang-nodejs=\"`urn`\" pulumi-lang-dotnet=\"`Urn`\" pulumi-lang-go=\"`urn`\" pulumi-lang-python=\"`urn`\" pulumi-lang-yaml=\"`urn`\" pulumi-lang-java=\"`urn`\"\u003e`urn`\u003c/span\u003e i.e. the capability/fault that is applied. Possible parameter values can be found in this [documentation](https://learn.microsoft.com/azure/chaos-studio/chaos-studio-fault-library)\n"},"selectorName":{"type":"string","description":"The name of the Selector to which this action should apply to. This must be specified if the \u003cspan pulumi-lang-nodejs=\"`actionType`\" pulumi-lang-dotnet=\"`ActionType`\" pulumi-lang-go=\"`actionType`\" pulumi-lang-python=\"`action_type`\" pulumi-lang-yaml=\"`actionType`\" pulumi-lang-java=\"`actionType`\"\u003e`action_type`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`continuous`\" pulumi-lang-dotnet=\"`Continuous`\" pulumi-lang-go=\"`continuous`\" pulumi-lang-python=\"`continuous`\" pulumi-lang-yaml=\"`continuous`\" pulumi-lang-java=\"`continuous`\"\u003e`continuous`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`discrete`\" pulumi-lang-dotnet=\"`Discrete`\" pulumi-lang-go=\"`discrete`\" pulumi-lang-python=\"`discrete`\" pulumi-lang-yaml=\"`discrete`\" pulumi-lang-java=\"`discrete`\"\u003e`discrete`\u003c/span\u003e.\n"},"urn":{"type":"string","description":"The Unique Resource Name of the action, this value is provided by the \u003cspan pulumi-lang-nodejs=\"`azure.chaosstudio.Capability`\" pulumi-lang-dotnet=\"`azure.chaosstudio.Capability`\" pulumi-lang-go=\"`chaosstudio.Capability`\" pulumi-lang-python=\"`chaosstudio.Capability`\" pulumi-lang-yaml=\"`azure.chaosstudio.Capability`\" pulumi-lang-java=\"`azure.chaosstudio.Capability`\"\u003e`azure.chaosstudio.Capability`\u003c/span\u003e resource e.g. `azurerm_chaos_studio_capability.example.urn`. This must be specified if the \u003cspan pulumi-lang-nodejs=\"`actionType`\" pulumi-lang-dotnet=\"`ActionType`\" pulumi-lang-go=\"`actionType`\" pulumi-lang-python=\"`action_type`\" pulumi-lang-yaml=\"`actionType`\" pulumi-lang-java=\"`actionType`\"\u003e`action_type`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`continuous`\" pulumi-lang-dotnet=\"`Continuous`\" pulumi-lang-go=\"`continuous`\" pulumi-lang-python=\"`continuous`\" pulumi-lang-yaml=\"`continuous`\" pulumi-lang-java=\"`continuous`\"\u003e`continuous`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`discrete`\" pulumi-lang-dotnet=\"`Discrete`\" pulumi-lang-go=\"`discrete`\" pulumi-lang-python=\"`discrete`\" pulumi-lang-yaml=\"`discrete`\" pulumi-lang-java=\"`discrete`\"\u003e`discrete`\u003c/span\u003e.\n"}},"type":"object","required":["actionType"]},"azure:cognitive/AIServicesCustomerManagedKey:AIServicesCustomerManagedKey":{"properties":{"identityClientId":{"type":"string","description":"The Client ID of the User Assigned Identity that has access to the key. This property only needs to be specified when there are multiple identities attached to the Azure AI Service.\n"},"keyVaultKeyId":{"type":"string","description":"The ID of the Key Vault Key which should be used to encrypt the data in this AI Services Account. Exactly one of \u003cspan pulumi-lang-nodejs=\"`keyVaultKeyId`\" pulumi-lang-dotnet=\"`KeyVaultKeyId`\" pulumi-lang-go=\"`keyVaultKeyId`\" pulumi-lang-python=\"`key_vault_key_id`\" pulumi-lang-yaml=\"`keyVaultKeyId`\" pulumi-lang-java=\"`keyVaultKeyId`\"\u003e`key_vault_key_id`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`managedHsmKeyId`\" pulumi-lang-dotnet=\"`ManagedHsmKeyId`\" pulumi-lang-go=\"`managedHsmKeyId`\" pulumi-lang-python=\"`managed_hsm_key_id`\" pulumi-lang-yaml=\"`managedHsmKeyId`\" pulumi-lang-java=\"`managedHsmKeyId`\"\u003e`managed_hsm_key_id`\u003c/span\u003e must be specified.\n"},"managedHsmKeyId":{"type":"string","description":"The ID of the managed HSM Key which should be used to encrypt the data in this AI Services Account. Exactly one of \u003cspan pulumi-lang-nodejs=\"`keyVaultKeyId`\" pulumi-lang-dotnet=\"`KeyVaultKeyId`\" pulumi-lang-go=\"`keyVaultKeyId`\" pulumi-lang-python=\"`key_vault_key_id`\" pulumi-lang-yaml=\"`keyVaultKeyId`\" pulumi-lang-java=\"`keyVaultKeyId`\"\u003e`key_vault_key_id`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`managedHsmKeyId`\" pulumi-lang-dotnet=\"`ManagedHsmKeyId`\" pulumi-lang-go=\"`managedHsmKeyId`\" pulumi-lang-python=\"`managed_hsm_key_id`\" pulumi-lang-yaml=\"`managedHsmKeyId`\" pulumi-lang-java=\"`managedHsmKeyId`\"\u003e`managed_hsm_key_id`\u003c/span\u003e must be specified.\n"}},"type":"object"},"azure:cognitive/AIServicesIdentity:AIServicesIdentity":{"properties":{"identityIds":{"type":"array","items":{"type":"string"},"description":"Specifies a list of User Assigned Managed Identity IDs to be assigned to this AI Services Account.\n\n\u003e **Note:** This is required when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to `UserAssigned` or `SystemAssigned, UserAssigned`.\n"},"principalId":{"type":"string","description":"The Principal ID associated with this Managed Service Identity.\n"},"tenantId":{"type":"string","description":"The Tenant ID associated with this Managed Service Identity.\n"},"type":{"type":"string","description":"Specifies the type of Managed Service Identity that should be configured on this AI Services Account. Possible values are `SystemAssigned`, `UserAssigned`, `SystemAssigned, UserAssigned`\n"}},"type":"object","required":["type"],"language":{"nodejs":{"requiredOutputs":["principalId","tenantId","type"]}}},"azure:cognitive/AIServicesNetworkAcls:AIServicesNetworkAcls":{"properties":{"bypass":{"type":"string","description":"Whether to allow trusted Azure Services to access the service. Possible values are `None` and `AzureServices`. Defaults to `AzureServices`.\n"},"defaultAction":{"type":"string","description":"The Default Action to use when no rules match from \u003cspan pulumi-lang-nodejs=\"`ipRules`\" pulumi-lang-dotnet=\"`IpRules`\" pulumi-lang-go=\"`ipRules`\" pulumi-lang-python=\"`ip_rules`\" pulumi-lang-yaml=\"`ipRules`\" pulumi-lang-java=\"`ipRules`\"\u003e`ip_rules`\u003c/span\u003e / \u003cspan pulumi-lang-nodejs=\"`virtualNetworkRules`\" pulumi-lang-dotnet=\"`VirtualNetworkRules`\" pulumi-lang-go=\"`virtualNetworkRules`\" pulumi-lang-python=\"`virtual_network_rules`\" pulumi-lang-yaml=\"`virtualNetworkRules`\" pulumi-lang-java=\"`virtualNetworkRules`\"\u003e`virtual_network_rules`\u003c/span\u003e. Possible values are `Allow` and `Deny`.\n"},"ipRules":{"type":"array","items":{"type":"string"},"description":"One or more IP Addresses, or CIDR Blocks which should be able to access the AI Services Account.\n"},"virtualNetworkRules":{"type":"array","items":{"$ref":"#/types/azure:cognitive/AIServicesNetworkAclsVirtualNetworkRule:AIServicesNetworkAclsVirtualNetworkRule"},"description":"A \u003cspan pulumi-lang-nodejs=\"`virtualNetworkRules`\" pulumi-lang-dotnet=\"`VirtualNetworkRules`\" pulumi-lang-go=\"`virtualNetworkRules`\" pulumi-lang-python=\"`virtual_network_rules`\" pulumi-lang-yaml=\"`virtualNetworkRules`\" pulumi-lang-java=\"`virtualNetworkRules`\"\u003e`virtual_network_rules`\u003c/span\u003e block as defined below.\n"}},"type":"object","required":["defaultAction"]},"azure:cognitive/AIServicesNetworkAclsVirtualNetworkRule:AIServicesNetworkAclsVirtualNetworkRule":{"properties":{"ignoreMissingVnetServiceEndpoint":{"type":"boolean","description":"Whether to ignore a missing Virtual Network Service Endpoint or not. Default to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"subnetId":{"type":"string","description":"The ID of the subnet which should be able to access this AI Services Account.\n"}},"type":"object","required":["subnetId"]},"azure:cognitive/AIServicesStorage:AIServicesStorage":{"properties":{"identityClientId":{"type":"string","description":"The client ID of the Managed Identity associated with the Storage Account.\n"},"storageAccountId":{"type":"string","description":"The ID of the Storage Account.\n"}},"type":"object","required":["storageAccountId"]},"azure:cognitive/AccountCustomerManagedKey:AccountCustomerManagedKey":{"properties":{"identityClientId":{"type":"string","description":"The Client ID of the User Assigned Identity that has access to the key. This property only needs to be specified when there're multiple identities attached to the Cognitive Account.\n\n\u003e **Note:** When \u003cspan pulumi-lang-nodejs=\"`projectManagementEnabled`\" pulumi-lang-dotnet=\"`ProjectManagementEnabled`\" pulumi-lang-go=\"`projectManagementEnabled`\" pulumi-lang-python=\"`project_management_enabled`\" pulumi-lang-yaml=\"`projectManagementEnabled`\" pulumi-lang-java=\"`projectManagementEnabled`\"\u003e`project_management_enabled`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, removing this block forces a new resource to be created.\n"},"keyVaultKeyId":{"type":"string","description":"The ID of the Key Vault Key which should be used to Encrypt the data in this Cognitive Account.\n"}},"type":"object","required":["keyVaultKeyId"]},"azure:cognitive/AccountIdentity:AccountIdentity":{"properties":{"identityIds":{"type":"array","items":{"type":"string"},"description":"Specifies a list of User Assigned Managed Identity IDs to be assigned to this Cognitive Account.\n\n\u003e **Note:** This is required when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to `UserAssigned` or `SystemAssigned, UserAssigned`.\n"},"principalId":{"type":"string","description":"The Principal ID associated with this Managed Service Identity.\n"},"tenantId":{"type":"string","description":"The Tenant ID associated with this Managed Service Identity.\n"},"type":{"type":"string","description":"Specifies the type of Managed Service Identity that should be configured on this Cognitive Account. Possible values are `SystemAssigned`, `UserAssigned`, `SystemAssigned, UserAssigned` (to enable both).\n"}},"type":"object","required":["type"],"language":{"nodejs":{"requiredOutputs":["principalId","tenantId","type"]}}},"azure:cognitive/AccountNetworkAcls:AccountNetworkAcls":{"properties":{"bypass":{"type":"string","description":"Whether to allow trusted Azure Services to access the service. Possible values are `None` and `AzureServices`.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`bypass`\" pulumi-lang-dotnet=\"`Bypass`\" pulumi-lang-go=\"`bypass`\" pulumi-lang-python=\"`bypass`\" pulumi-lang-yaml=\"`bypass`\" pulumi-lang-java=\"`bypass`\"\u003e`bypass`\u003c/span\u003e can only be set when \u003cspan pulumi-lang-nodejs=\"`kind`\" pulumi-lang-dotnet=\"`Kind`\" pulumi-lang-go=\"`kind`\" pulumi-lang-python=\"`kind`\" pulumi-lang-yaml=\"`kind`\" pulumi-lang-java=\"`kind`\"\u003e`kind`\u003c/span\u003e is set to `OpenAI`, `AIServices`, or `TextAnalytics`.\n"},"defaultAction":{"type":"string","description":"The Default Action to use when no rules match from \u003cspan pulumi-lang-nodejs=\"`ipRules`\" pulumi-lang-dotnet=\"`IpRules`\" pulumi-lang-go=\"`ipRules`\" pulumi-lang-python=\"`ip_rules`\" pulumi-lang-yaml=\"`ipRules`\" pulumi-lang-java=\"`ipRules`\"\u003e`ip_rules`\u003c/span\u003e / \u003cspan pulumi-lang-nodejs=\"`virtualNetworkRules`\" pulumi-lang-dotnet=\"`VirtualNetworkRules`\" pulumi-lang-go=\"`virtualNetworkRules`\" pulumi-lang-python=\"`virtual_network_rules`\" pulumi-lang-yaml=\"`virtualNetworkRules`\" pulumi-lang-java=\"`virtualNetworkRules`\"\u003e`virtual_network_rules`\u003c/span\u003e. Possible values are `Allow` and `Deny`.\n"},"ipRules":{"type":"array","items":{"type":"string"},"description":"One or more IP Addresses, or CIDR Blocks which should be able to access the Cognitive Account.\n"},"virtualNetworkRules":{"type":"array","items":{"$ref":"#/types/azure:cognitive/AccountNetworkAclsVirtualNetworkRule:AccountNetworkAclsVirtualNetworkRule"},"description":"A \u003cspan pulumi-lang-nodejs=\"`virtualNetworkRules`\" pulumi-lang-dotnet=\"`VirtualNetworkRules`\" pulumi-lang-go=\"`virtualNetworkRules`\" pulumi-lang-python=\"`virtual_network_rules`\" pulumi-lang-yaml=\"`virtualNetworkRules`\" pulumi-lang-java=\"`virtualNetworkRules`\"\u003e`virtual_network_rules`\u003c/span\u003e block as defined below.\n"}},"type":"object","required":["defaultAction"]},"azure:cognitive/AccountNetworkAclsVirtualNetworkRule:AccountNetworkAclsVirtualNetworkRule":{"properties":{"ignoreMissingVnetServiceEndpoint":{"type":"boolean","description":"Whether ignore missing vnet service endpoint or not. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"subnetId":{"type":"string","description":"The ID of the subnet which should be able to access this Cognitive Account.\n"}},"type":"object","required":["subnetId"]},"azure:cognitive/AccountNetworkInjection:AccountNetworkInjection":{"properties":{"scenario":{"type":"string","description":"Specifies what features network injection applies to. The only possible value is \u003cspan pulumi-lang-nodejs=\"`agent`\" pulumi-lang-dotnet=\"`Agent`\" pulumi-lang-go=\"`agent`\" pulumi-lang-python=\"`agent`\" pulumi-lang-yaml=\"`agent`\" pulumi-lang-java=\"`agent`\"\u003e`agent`\u003c/span\u003e.\n"},"subnetId":{"type":"string","description":"The ID of the subnet which the Agent Client is injected into.\n\n\u003e **Note:** The agent subnet must use an address space in the 172.* or 192.* ranges.\n"}},"type":"object","required":["scenario","subnetId"]},"azure:cognitive/AccountProjectIdentity:AccountProjectIdentity":{"properties":{"identityIds":{"type":"array","items":{"type":"string"},"description":"Specifies a list of User Assigned Managed Identity IDs to be assigned to this Cognitive Account Project.\n"},"principalId":{"type":"string","description":"The Principal ID associated with this Managed Service Identity.\n"},"tenantId":{"type":"string","description":"The Tenant ID associated with this Managed Service Identity.\n"},"type":{"type":"string","description":"Specifies the type of Managed Service Identity that should be configured on this Cognitive Account Project. Possible values are `SystemAssigned`, `UserAssigned`, `SystemAssigned, UserAssigned` (to enable both).\n"}},"type":"object","required":["type"],"language":{"nodejs":{"requiredOutputs":["principalId","tenantId","type"]}}},"azure:cognitive/AccountRaiPolicyContentFilter:AccountRaiPolicyContentFilter":{"properties":{"blockEnabled":{"type":"boolean","description":"Whether the filter should block content. Possible values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"filterEnabled":{"type":"boolean","description":"Whether the filter is enabled. Possible values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"name":{"type":"string","description":"The name of the content filter.\n"},"severityThreshold":{"type":"string","description":"The severity threshold for the filter. Possible values are `Low`, `Medium` or `High`.\n"},"source":{"type":"string","description":"Content source to apply the content filter. Possible values are `Prompt` or `Completion`.\n"}},"type":"object","required":["blockEnabled","filterEnabled","name","severityThreshold","source"]},"azure:cognitive/AccountStorage:AccountStorage":{"properties":{"identityClientId":{"type":"string","description":"The client ID of the managed identity associated with the storage resource.\n\n\u003e **Note:** Not all \u003cspan pulumi-lang-nodejs=\"`kind`\" pulumi-lang-dotnet=\"`Kind`\" pulumi-lang-go=\"`kind`\" pulumi-lang-python=\"`kind`\" pulumi-lang-yaml=\"`kind`\" pulumi-lang-java=\"`kind`\"\u003e`kind`\u003c/span\u003e support a \u003cspan pulumi-lang-nodejs=\"`storage`\" pulumi-lang-dotnet=\"`Storage`\" pulumi-lang-go=\"`storage`\" pulumi-lang-python=\"`storage`\" pulumi-lang-yaml=\"`storage`\" pulumi-lang-java=\"`storage`\"\u003e`storage`\u003c/span\u003e block. For example the \u003cspan pulumi-lang-nodejs=\"`kind`\" pulumi-lang-dotnet=\"`Kind`\" pulumi-lang-go=\"`kind`\" pulumi-lang-python=\"`kind`\" pulumi-lang-yaml=\"`kind`\" pulumi-lang-java=\"`kind`\"\u003e`kind`\u003c/span\u003e `OpenAI` does not support it.\n"},"storageAccountId":{"type":"string","description":"Full resource id of a Microsoft.Storage resource.\n"}},"type":"object","required":["storageAccountId"]},"azure:cognitive/DeploymentModel:DeploymentModel":{"properties":{"format":{"type":"string","description":"The format of the Cognitive Services Account Deployment model. Changing this forces a new resource to be created.\n\n\u003e **Note:** Possible values of \u003cspan pulumi-lang-nodejs=\"`format`\" pulumi-lang-dotnet=\"`Format`\" pulumi-lang-go=\"`format`\" pulumi-lang-python=\"`format`\" pulumi-lang-yaml=\"`format`\" pulumi-lang-java=\"`format`\"\u003e`format`\u003c/span\u003e can be found by running the command `az cognitiveservices account list-models`. The available values may vary by region or due to quota limitations. These could include models from `AI21 Labs`, `Black Forest Labs`, `Cohere`, `Core42`, `DeepSeek`, `Meta`, `Microsoft`, `Mistral AI`, `OpenAI`, and `xAI`.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the Cognitive Services Account Deployment model. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"version":{"type":"string","description":"The version of Cognitive Services Account Deployment model. If \u003cspan pulumi-lang-nodejs=\"`version`\" pulumi-lang-dotnet=\"`Version`\" pulumi-lang-go=\"`version`\" pulumi-lang-python=\"`version`\" pulumi-lang-yaml=\"`version`\" pulumi-lang-java=\"`version`\"\u003e`version`\u003c/span\u003e is not specified, the default version of the model at the time will be assigned.\n"}},"type":"object","required":["format","name"]},"azure:cognitive/DeploymentSku:DeploymentSku":{"properties":{"capacity":{"type":"integer","description":"Tokens-per-Minute (TPM). The unit of measure for this field is in the thousands of Tokens-per-Minute. Defaults to \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e which means that the limitation is \u003cspan pulumi-lang-nodejs=\"`1000`\" pulumi-lang-dotnet=\"`1000`\" pulumi-lang-go=\"`1000`\" pulumi-lang-python=\"`1000`\" pulumi-lang-yaml=\"`1000`\" pulumi-lang-java=\"`1000`\"\u003e`1000`\u003c/span\u003e tokens per minute. If the resources SKU supports scale in/out then the capacity field should be included in the resources' configuration. If the scale in/out is not supported by the resources SKU then this field can be safely omitted. For more information about TPM please see the [product documentation](https://learn.microsoft.com/azure/ai-services/openai/how-to/quota?tabs=rest).\n"},"family":{"type":"string","description":"If the service has different generations of hardware, for the same SKU, then that can be captured here. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the SKU. Possible values include `Standard`, `DataZoneBatch`, `DataZoneStandard`, `DataZoneProvisionedManaged`, `GlobalBatch`, `GlobalProvisionedManaged`, `GlobalStandard`, and `ProvisionedManaged`. Changing this forces a new resource to be created.\n\n\u003e **Note:** `DataZoneProvisionedManaged`, `GlobalProvisionedManaged`, and `ProvisionedManaged` are purchased on-demand at an hourly basis based on the number of deployed PTUs, with substantial term discount available via the purchase of Azure Reservations. Currently, this step cannot be completed using Terraform. For more details, please refer to the [provisioned throughput onboarding documentation](https://learn.microsoft.com/en-us/azure/ai-services/openai/how-to/provisioned-throughput-onboarding).\n","willReplaceOnChanges":true},"size":{"type":"string","description":"The SKU size. When the name field is the combination of tier and some other value, this would be the standalone code. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tier":{"type":"string","description":"Possible values are `Free`, `Basic`, `Standard`, `Premium`, `Enterprise`. This property is required only when multiple tiers are available with the SKU name. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["name"]},"azure:cognitive/getAccountCustomerManagedKey:getAccountCustomerManagedKey":{"properties":{"identityClientId":{"type":"string","description":"The client ID of the managed identity associated with the storage resource.\n"},"keyVaultKeyId":{"type":"string","description":"The ID of the Key Vault Key which is used to encrypt the data in this Cognitive Services Account.\n"}},"type":"object","required":["identityClientId","keyVaultKeyId"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:cognitive/getAccountIdentity:getAccountIdentity":{"properties":{"identityIds":{"type":"array","items":{"type":"string"},"description":"The list of User Assigned Managed Identity IDs assigned to this Cognitive Services Account.\n"},"principalId":{"type":"string","description":"The Principal ID of the System Assigned Managed Service Identity that is configured on this Cognitive Services Account.\n"},"tenantId":{"type":"string","description":"The Tenant ID of the System Assigned Managed Service Identity that is configured on this Cognitive Services Account.\n"},"type":{"type":"string","description":"The type of Managed Service Identity that is configured on this Cognitive Services Account.\n"}},"type":"object","required":["identityIds","principalId","tenantId","type"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:cognitive/getAccountNetworkAcl:getAccountNetworkAcl":{"properties":{"bypass":{"type":"string","description":"Whether trusted Azure Services are allowed to access the service.\n"},"defaultAction":{"type":"string","description":"The Default Action to use when no rules match from \u003cspan pulumi-lang-nodejs=\"`ipRules`\" pulumi-lang-dotnet=\"`IpRules`\" pulumi-lang-go=\"`ipRules`\" pulumi-lang-python=\"`ip_rules`\" pulumi-lang-yaml=\"`ipRules`\" pulumi-lang-java=\"`ipRules`\"\u003e`ip_rules`\u003c/span\u003e / \u003cspan pulumi-lang-nodejs=\"`virtualNetworkRules`\" pulumi-lang-dotnet=\"`VirtualNetworkRules`\" pulumi-lang-go=\"`virtualNetworkRules`\" pulumi-lang-python=\"`virtual_network_rules`\" pulumi-lang-yaml=\"`virtualNetworkRules`\" pulumi-lang-java=\"`virtualNetworkRules`\"\u003e`virtual_network_rules`\u003c/span\u003e.\n"},"ipRules":{"type":"array","items":{"type":"string"},"description":"One or more IP Addresses, or CIDR Blocks that are able to access the Cognitive Services Account.\n"},"virtualNetworkRules":{"type":"array","items":{"$ref":"#/types/azure:cognitive/getAccountNetworkAclVirtualNetworkRule:getAccountNetworkAclVirtualNetworkRule"},"description":"A \u003cspan pulumi-lang-nodejs=\"`virtualNetworkRules`\" pulumi-lang-dotnet=\"`VirtualNetworkRules`\" pulumi-lang-go=\"`virtualNetworkRules`\" pulumi-lang-python=\"`virtual_network_rules`\" pulumi-lang-yaml=\"`virtualNetworkRules`\" pulumi-lang-java=\"`virtualNetworkRules`\"\u003e`virtual_network_rules`\u003c/span\u003e block as defined below.\n"}},"type":"object","required":["bypass","defaultAction","ipRules","virtualNetworkRules"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:cognitive/getAccountNetworkAclVirtualNetworkRule:getAccountNetworkAclVirtualNetworkRule":{"properties":{"ignoreMissingVnetServiceEndpoint":{"type":"boolean","description":"Whether missing vnet service endpoint is ignored or not.\n"},"subnetId":{"type":"string","description":"The ID of the subnet which is able to access this Cognitive Services Account.\n"}},"type":"object","required":["ignoreMissingVnetServiceEndpoint","subnetId"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:cognitive/getAccountNetworkInjection:getAccountNetworkInjection":{"properties":{"scenario":{"type":"string","description":"The feature that network injection is applied to.\n"},"subnetId":{"type":"string","description":"The ID of the subnet which is able to access this Cognitive Services Account.\n"}},"type":"object","required":["scenario","subnetId"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:cognitive/getAccountProjectIdentity:getAccountProjectIdentity":{"properties":{"identityIds":{"type":"array","items":{"type":"string"},"description":"The list of User Assigned Managed Identity IDs assigned to this Cognitive Services Account Project.\n"},"principalId":{"type":"string","description":"The Principal ID of the System Assigned Managed Service Identity that is configured on this Cognitive Services Account Project.\n"},"tenantId":{"type":"string","description":"The Tenant ID of the System Assigned Managed Service Identity that is configured on this Cognitive Services Account Project.\n"},"type":{"type":"string","description":"The type of Managed Service Identity that is configured on this Cognitive Services Account Project.\n"}},"type":"object","required":["identityIds","principalId","tenantId","type"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:cognitive/getAccountStorage:getAccountStorage":{"properties":{"identityClientId":{"type":"string","description":"The client ID of the managed identity associated with the storage resource.\n"},"storageAccountId":{"type":"string","description":"The ID of the Storage Account resource associated with this Cognitive Services Account.\n"}},"type":"object","required":["identityClientId","storageAccountId"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:communication/EmailServiceDomainVerificationRecord:EmailServiceDomainVerificationRecord":{"properties":{"dkim2s":{"type":"array","items":{"$ref":"#/types/azure:communication/EmailServiceDomainVerificationRecordDkim2:EmailServiceDomainVerificationRecordDkim2"},"description":"(Optional) An \u003cspan pulumi-lang-nodejs=\"`dkim2`\" pulumi-lang-dotnet=\"`Dkim2`\" pulumi-lang-go=\"`dkim2`\" pulumi-lang-python=\"`dkim2`\" pulumi-lang-yaml=\"`dkim2`\" pulumi-lang-java=\"`dkim2`\"\u003e`dkim2`\u003c/span\u003e block as defined below.\n"},"dkims":{"type":"array","items":{"$ref":"#/types/azure:communication/EmailServiceDomainVerificationRecordDkim:EmailServiceDomainVerificationRecordDkim"},"description":"(Optional) An \u003cspan pulumi-lang-nodejs=\"`dkim`\" pulumi-lang-dotnet=\"`Dkim`\" pulumi-lang-go=\"`dkim`\" pulumi-lang-python=\"`dkim`\" pulumi-lang-yaml=\"`dkim`\" pulumi-lang-java=\"`dkim`\"\u003e`dkim`\u003c/span\u003e block as defined below.\n"},"dmarcs":{"type":"array","items":{"$ref":"#/types/azure:communication/EmailServiceDomainVerificationRecordDmarc:EmailServiceDomainVerificationRecordDmarc"},"description":"(Optional) An \u003cspan pulumi-lang-nodejs=\"`dmarc`\" pulumi-lang-dotnet=\"`Dmarc`\" pulumi-lang-go=\"`dmarc`\" pulumi-lang-python=\"`dmarc`\" pulumi-lang-yaml=\"`dmarc`\" pulumi-lang-java=\"`dmarc`\"\u003e`dmarc`\u003c/span\u003e block as defined below.\n"},"domains":{"type":"array","items":{"$ref":"#/types/azure:communication/EmailServiceDomainVerificationRecordDomain:EmailServiceDomainVerificationRecordDomain"},"description":"(Optional) An \u003cspan pulumi-lang-nodejs=\"`domain`\" pulumi-lang-dotnet=\"`Domain`\" pulumi-lang-go=\"`domain`\" pulumi-lang-python=\"`domain`\" pulumi-lang-yaml=\"`domain`\" pulumi-lang-java=\"`domain`\"\u003e`domain`\u003c/span\u003e block as defined below.\n"},"spfs":{"type":"array","items":{"$ref":"#/types/azure:communication/EmailServiceDomainVerificationRecordSpf:EmailServiceDomainVerificationRecordSpf"},"description":"(Optional) An \u003cspan pulumi-lang-nodejs=\"`spf`\" pulumi-lang-dotnet=\"`Spf`\" pulumi-lang-go=\"`spf`\" pulumi-lang-python=\"`spf`\" pulumi-lang-yaml=\"`spf`\" pulumi-lang-java=\"`spf`\"\u003e`spf`\u003c/span\u003e block as defined below.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["dkim2s","dkims","dmarcs","domains","spfs"]}}},"azure:communication/EmailServiceDomainVerificationRecordDkim2:EmailServiceDomainVerificationRecordDkim2":{"properties":{"name":{"type":"string","description":"The name of the Email Communication Service resource. If \u003cspan pulumi-lang-nodejs=\"`domainManagement`\" pulumi-lang-dotnet=\"`DomainManagement`\" pulumi-lang-go=\"`domainManagement`\" pulumi-lang-python=\"`domain_management`\" pulumi-lang-yaml=\"`domainManagement`\" pulumi-lang-java=\"`domainManagement`\"\u003e`domain_management`\u003c/span\u003e is `AzureManaged`, the name must be `AzureManagedDomain`. Changing this forces a new Email Communication Service to be created.\n"},"ttl":{"type":"integer","description":"Represents an expiry time in seconds to represent how long this entry can be cached by the resolver, default = 3600sec.\n"},"type":{"type":"string","description":"Type of the DNS record. Example: TXT\n"},"value":{"type":"string","description":"Value of the DNS record.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["name","ttl","type","value"]}}},"azure:communication/EmailServiceDomainVerificationRecordDkim:EmailServiceDomainVerificationRecordDkim":{"properties":{"name":{"type":"string","description":"The name of the Email Communication Service resource. If \u003cspan pulumi-lang-nodejs=\"`domainManagement`\" pulumi-lang-dotnet=\"`DomainManagement`\" pulumi-lang-go=\"`domainManagement`\" pulumi-lang-python=\"`domain_management`\" pulumi-lang-yaml=\"`domainManagement`\" pulumi-lang-java=\"`domainManagement`\"\u003e`domain_management`\u003c/span\u003e is `AzureManaged`, the name must be `AzureManagedDomain`. Changing this forces a new Email Communication Service to be created.\n"},"ttl":{"type":"integer","description":"Represents an expiry time in seconds to represent how long this entry can be cached by the resolver, default = 3600sec.\n"},"type":{"type":"string","description":"Type of the DNS record. Example: TXT\n"},"value":{"type":"string","description":"Value of the DNS record.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["name","ttl","type","value"]}}},"azure:communication/EmailServiceDomainVerificationRecordDmarc:EmailServiceDomainVerificationRecordDmarc":{"properties":{"name":{"type":"string","description":"The name of the Email Communication Service resource. If \u003cspan pulumi-lang-nodejs=\"`domainManagement`\" pulumi-lang-dotnet=\"`DomainManagement`\" pulumi-lang-go=\"`domainManagement`\" pulumi-lang-python=\"`domain_management`\" pulumi-lang-yaml=\"`domainManagement`\" pulumi-lang-java=\"`domainManagement`\"\u003e`domain_management`\u003c/span\u003e is `AzureManaged`, the name must be `AzureManagedDomain`. Changing this forces a new Email Communication Service to be created.\n"},"ttl":{"type":"integer","description":"Represents an expiry time in seconds to represent how long this entry can be cached by the resolver, default = 3600sec.\n"},"type":{"type":"string","description":"Type of the DNS record. Example: TXT\n"},"value":{"type":"string","description":"Value of the DNS record.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["name","ttl","type","value"]}}},"azure:communication/EmailServiceDomainVerificationRecordDomain:EmailServiceDomainVerificationRecordDomain":{"properties":{"name":{"type":"string","description":"The name of the Email Communication Service resource. If \u003cspan pulumi-lang-nodejs=\"`domainManagement`\" pulumi-lang-dotnet=\"`DomainManagement`\" pulumi-lang-go=\"`domainManagement`\" pulumi-lang-python=\"`domain_management`\" pulumi-lang-yaml=\"`domainManagement`\" pulumi-lang-java=\"`domainManagement`\"\u003e`domain_management`\u003c/span\u003e is `AzureManaged`, the name must be `AzureManagedDomain`. Changing this forces a new Email Communication Service to be created.\n"},"ttl":{"type":"integer","description":"Represents an expiry time in seconds to represent how long this entry can be cached by the resolver, default = 3600sec.\n"},"type":{"type":"string","description":"Type of the DNS record. Example: TXT\n"},"value":{"type":"string","description":"Value of the DNS record.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["name","ttl","type","value"]}}},"azure:communication/EmailServiceDomainVerificationRecordSpf:EmailServiceDomainVerificationRecordSpf":{"properties":{"name":{"type":"string","description":"The name of the Email Communication Service resource. If \u003cspan pulumi-lang-nodejs=\"`domainManagement`\" pulumi-lang-dotnet=\"`DomainManagement`\" pulumi-lang-go=\"`domainManagement`\" pulumi-lang-python=\"`domain_management`\" pulumi-lang-yaml=\"`domainManagement`\" pulumi-lang-java=\"`domainManagement`\"\u003e`domain_management`\u003c/span\u003e is `AzureManaged`, the name must be `AzureManagedDomain`. Changing this forces a new Email Communication Service to be created.\n"},"ttl":{"type":"integer","description":"Represents an expiry time in seconds to represent how long this entry can be cached by the resolver, default = 3600sec.\n"},"type":{"type":"string","description":"Type of the DNS record. Example: TXT\n"},"value":{"type":"string","description":"Value of the DNS record.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["name","ttl","type","value"]}}},"azure:compute/BastionHostIpConfiguration:BastionHostIpConfiguration":{"properties":{"name":{"type":"string","description":"The name of the IP configuration. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"publicIpAddressId":{"type":"string","description":"Reference to a Public IP Address to associate with this Bastion Host. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"subnetId":{"type":"string","description":"Reference to a subnet in which this Bastion Host has been created. Changing this forces a new resource to be created.\n\n\u003e **Note:** The Subnet used for the Bastion Host must have the name `AzureBastionSubnet` and the subnet mask must be at least a `/26`.\n","willReplaceOnChanges":true}},"type":"object","required":["name","publicIpAddressId","subnetId"]},"azure:compute/CapacityReservationSku:CapacityReservationSku":{"properties":{"capacity":{"type":"integer","description":"Specifies the number of instances to be reserved. It must be greater than or equal to \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e and not exceed the quota in the subscription.\n"},"name":{"type":"string","description":"Name of the sku, such as `Standard_F2`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["capacity","name"]},"azure:compute/DiskEncryptionSetIdentity:DiskEncryptionSetIdentity":{"properties":{"identityIds":{"type":"array","items":{"type":"string"},"description":"A list of User Assigned Managed Identity IDs to be assigned to this Disk Encryption Set.\n\n\u003e **Note:** This is required when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to `UserAssigned` or `SystemAssigned, UserAssigned`.\n"},"principalId":{"type":"string","description":"The (Client) ID of the Service Principal.\n"},"tenantId":{"type":"string","description":"The ID of the Tenant the Service Principal is assigned in.\n"},"type":{"type":"string","description":"The type of Managed Service Identity that is configured on this Disk Encryption Set. Possible values are `SystemAssigned`, `UserAssigned`, `SystemAssigned, UserAssigned` (to enable both).\n"}},"type":"object","required":["type"],"language":{"nodejs":{"requiredOutputs":["principalId","tenantId","type"]}}},"azure:compute/ExtensionProtectedSettingsFromKeyVault:ExtensionProtectedSettingsFromKeyVault":{"properties":{"secretUrl":{"type":"string","description":"The URL to the Key Vault Secret which stores the protected settings.\n"},"sourceVaultId":{"type":"string","description":"The ID of the source Key Vault.\n"}},"type":"object","required":["secretUrl","sourceVaultId"]},"azure:compute/GalleryApplicationVersionManageAction:GalleryApplicationVersionManageAction":{"properties":{"install":{"type":"string","description":"The command to install the Gallery Application. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"remove":{"type":"string","description":"The command to remove the Gallery Application. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"update":{"type":"string","description":"The command to update the Gallery Application. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["install","remove"]},"azure:compute/GalleryApplicationVersionSource:GalleryApplicationVersionSource":{"properties":{"defaultConfigurationLink":{"type":"string","description":"The Storage Blob URI of the default configuration. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"mediaLink":{"type":"string","description":"The Storage Blob URI of the source application package. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["mediaLink"]},"azure:compute/GalleryApplicationVersionTargetRegion:GalleryApplicationVersionTargetRegion":{"properties":{"excludeFromLatest":{"type":"boolean","description":"Specifies whether this Gallery Application Version should be excluded from the \u003cspan pulumi-lang-nodejs=\"`latest`\" pulumi-lang-dotnet=\"`Latest`\" pulumi-lang-go=\"`latest`\" pulumi-lang-python=\"`latest`\" pulumi-lang-yaml=\"`latest`\" pulumi-lang-java=\"`latest`\"\u003e`latest`\u003c/span\u003e filter. If set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, this Gallery Application Version won't be returned for the \u003cspan pulumi-lang-nodejs=\"`latest`\" pulumi-lang-dotnet=\"`Latest`\" pulumi-lang-go=\"`latest`\" pulumi-lang-python=\"`latest`\" pulumi-lang-yaml=\"`latest`\" pulumi-lang-java=\"`latest`\"\u003e`latest`\u003c/span\u003e version. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"name":{"type":"string","description":"The Azure Region in which the Gallery Application Version exists.\n"},"regionalReplicaCount":{"type":"integer","description":"The number of replicas of the Gallery Application Version to be created per region. Possible values are between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`10`\" pulumi-lang-dotnet=\"`10`\" pulumi-lang-go=\"`10`\" pulumi-lang-python=\"`10`\" pulumi-lang-yaml=\"`10`\" pulumi-lang-java=\"`10`\"\u003e`10`\u003c/span\u003e.\n"},"storageAccountType":{"type":"string","description":"The storage account type for the Gallery Application Version. Possible values are `Standard_LRS`, `Premium_LRS` and `Standard_ZRS`. Defaults to `Standard_LRS`.\n"}},"type":"object","required":["name","regionalReplicaCount"]},"azure:compute/ImageDataDisk:ImageDataDisk":{"properties":{"blobUri":{"type":"string","description":"Specifies the URI in Azure storage of the blob that you want to use to create the image.\n"},"caching":{"type":"string","description":"Specifies the caching mode as `ReadWrite`, `ReadOnly`, or `None`. Defaults to `None`.\n"},"diskEncryptionSetId":{"type":"string","description":"The ID of the Disk Encryption Set which should be used to encrypt this disk. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"lun":{"type":"integer","description":"Specifies the logical unit number of the data disk.\n"},"managedDiskId":{"type":"string","description":"Specifies the ID of the managed disk resource that you want to use to create the image. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sizeGb":{"type":"integer","description":"Specifies the size of the image to be created. The target size can't be smaller than the source size.\n"},"storageType":{"type":"string","description":"The type of Storage Disk to use. Possible values are `Premium_LRS`, `PremiumV2_LRS`, `Premium_ZRS`, `Standard_LRS`, `StandardSSD_LRS`, `StandardSSD_ZRS` and `UltraSSD_LRS`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["storageType"],"language":{"nodejs":{"requiredOutputs":["blobUri","sizeGb","storageType"]}}},"azure:compute/ImageOsDisk:ImageOsDisk":{"properties":{"blobUri":{"type":"string","description":"Specifies the URI in Azure storage of the blob that you want to use to create the image. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"caching":{"type":"string","description":"Specifies the caching mode as `ReadWrite`, `ReadOnly`, or `None`. The default is `None`.\n"},"diskEncryptionSetId":{"type":"string","description":"The ID of the Disk Encryption Set which should be used to encrypt this disk. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"managedDiskId":{"type":"string","description":"Specifies the ID of the managed disk resource that you want to use to create the image.\n"},"osState":{"type":"string","description":"Specifies the state of the operating system contained in the blob. Currently, the only value is Generalized. Possible values are `Generalized` and `Specialized`.\n"},"osType":{"type":"string","description":"Specifies the type of operating system contained in the virtual machine image. Possible values are: `Windows` or `Linux`.\n"},"sizeGb":{"type":"integer","description":"Specifies the size of the image to be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"storageType":{"type":"string","description":"The type of Storage Disk to use. Possible values are `Premium_LRS`, `PremiumV2_LRS`, `Premium_ZRS`, `Standard_LRS`, `StandardSSD_LRS`, `StandardSSD_ZRS` and `UltraSSD_LRS`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["storageType"],"language":{"nodejs":{"requiredOutputs":["blobUri","managedDiskId","sizeGb","storageType"]}}},"azure:compute/LinuxVirtualMachineAdditionalCapabilities:LinuxVirtualMachineAdditionalCapabilities":{"properties":{"hibernationEnabled":{"type":"boolean","description":"Whether to enable the hibernation capability or not.\n"},"ultraSsdEnabled":{"type":"boolean","description":"Should the capacity to enable Data Disks of the `UltraSSD_LRS` storage account type be supported on this Virtual Machine? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"}},"type":"object"},"azure:compute/LinuxVirtualMachineAdminSshKey:LinuxVirtualMachineAdminSshKey":{"properties":{"publicKey":{"type":"string","description":"The Public Key which should be used for authentication, which needs to be in `ssh-rsa` format with at least 2048-bit or in `ssh-ed25519` format. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"username":{"type":"string","description":"The Username for which this Public SSH Key should be configured. Changing this forces a new resource to be created.\n\n\u003e **NOTE:** The Azure VM Agent only allows creating SSH Keys at the path `/home/{username}/.ssh/authorized_keys` - as such this public key will be written to the authorized keys file.\n","willReplaceOnChanges":true}},"type":"object","required":["publicKey","username"]},"azure:compute/LinuxVirtualMachineBootDiagnostics:LinuxVirtualMachineBootDiagnostics":{"properties":{"storageAccountUri":{"type":"string","description":"The Primary/Secondary Endpoint for the Azure Storage Account which should be used to store Boot Diagnostics, including Console Output and Screenshots from the Hypervisor.\n\n\u003e **NOTE:** Passing a null value will utilize a Managed Storage Account to store Boot Diagnostics\n"}},"type":"object"},"azure:compute/LinuxVirtualMachineGalleryApplication:LinuxVirtualMachineGalleryApplication":{"properties":{"automaticUpgradeEnabled":{"type":"boolean","description":"Specifies whether the version will be automatically updated for the VM when a new Gallery Application version is available in PIR/SIG. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"configurationBlobUri":{"type":"string","description":"Specifies the URI to an Azure Blob that will replace the default configuration for the package if provided.\n"},"order":{"type":"integer","description":"Specifies the order in which the packages have to be installed. Possible values are between \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`2147483647`\" pulumi-lang-dotnet=\"`2147483647`\" pulumi-lang-go=\"`2147483647`\" pulumi-lang-python=\"`2147483647`\" pulumi-lang-yaml=\"`2147483647`\" pulumi-lang-java=\"`2147483647`\"\u003e`2147483647`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"tag":{"type":"string","description":"Specifies a passthrough value for more generic context. This field can be any valid \u003cspan pulumi-lang-nodejs=\"`string`\" pulumi-lang-dotnet=\"`String`\" pulumi-lang-go=\"`string`\" pulumi-lang-python=\"`string`\" pulumi-lang-yaml=\"`string`\" pulumi-lang-java=\"`string`\"\u003e`string`\u003c/span\u003e value.\n"},"treatFailureAsDeploymentFailureEnabled":{"type":"boolean","description":"Specifies whether any failure for any operation in the VmApplication will fail the deployment of the VM. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"versionId":{"type":"string","description":"Specifies the Gallery Application Version resource ID.\n"}},"type":"object","required":["versionId"]},"azure:compute/LinuxVirtualMachineIdentity:LinuxVirtualMachineIdentity":{"properties":{"identityIds":{"type":"array","items":{"type":"string"},"description":"Specifies a list of User Assigned Managed Identity IDs to be assigned to this Linux Virtual Machine.\n\n\u003e **NOTE:** This is required when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to `UserAssigned` or `SystemAssigned, UserAssigned`.\n"},"principalId":{"type":"string","description":"The Principal ID associated with this Managed Service Identity.\n"},"tenantId":{"type":"string","description":"The Tenant ID associated with this Managed Service Identity.\n"},"type":{"type":"string","description":"Specifies the type of Managed Service Identity that should be configured on this Linux Virtual Machine. Possible values are `SystemAssigned`, `UserAssigned`, `SystemAssigned, UserAssigned` (to enable both).\n"}},"type":"object","required":["type"],"language":{"nodejs":{"requiredOutputs":["principalId","tenantId","type"]}}},"azure:compute/LinuxVirtualMachineOsDisk:LinuxVirtualMachineOsDisk":{"properties":{"caching":{"type":"string","description":"The Type of Caching which should be used for the Internal OS Disk. Possible values are `None`, `ReadOnly` and `ReadWrite`.\n"},"diffDiskSettings":{"$ref":"#/types/azure:compute/LinuxVirtualMachineOsDiskDiffDiskSettings:LinuxVirtualMachineOsDiskDiffDiskSettings","description":"A \u003cspan pulumi-lang-nodejs=\"`diffDiskSettings`\" pulumi-lang-dotnet=\"`DiffDiskSettings`\" pulumi-lang-go=\"`diffDiskSettings`\" pulumi-lang-python=\"`diff_disk_settings`\" pulumi-lang-yaml=\"`diffDiskSettings`\" pulumi-lang-java=\"`diffDiskSettings`\"\u003e`diff_disk_settings`\u003c/span\u003e block as defined above. Changing this forces a new resource to be created.\n\n\u003e **NOTE:** \u003cspan pulumi-lang-nodejs=\"`diffDiskSettings`\" pulumi-lang-dotnet=\"`DiffDiskSettings`\" pulumi-lang-go=\"`diffDiskSettings`\" pulumi-lang-python=\"`diff_disk_settings`\" pulumi-lang-yaml=\"`diffDiskSettings`\" pulumi-lang-java=\"`diffDiskSettings`\"\u003e`diff_disk_settings`\u003c/span\u003e can only be set when \u003cspan pulumi-lang-nodejs=\"`caching`\" pulumi-lang-dotnet=\"`Caching`\" pulumi-lang-go=\"`caching`\" pulumi-lang-python=\"`caching`\" pulumi-lang-yaml=\"`caching`\" pulumi-lang-java=\"`caching`\"\u003e`caching`\u003c/span\u003e is set to `ReadOnly`. More information can be found [here](https://docs.microsoft.com/azure/virtual-machines/ephemeral-os-disks-deploy#vm-template-deployment). Additionally, this property cannot be set when an existing Managed Disk is used to create the Virtual Machine by setting \u003cspan pulumi-lang-nodejs=\"`osManagedDiskId`\" pulumi-lang-dotnet=\"`OsManagedDiskId`\" pulumi-lang-go=\"`osManagedDiskId`\" pulumi-lang-python=\"`os_managed_disk_id`\" pulumi-lang-yaml=\"`osManagedDiskId`\" pulumi-lang-java=\"`osManagedDiskId`\"\u003e`os_managed_disk_id`\u003c/span\u003e.\n","willReplaceOnChanges":true},"diskEncryptionSetId":{"type":"string","description":"The ID of the Disk Encryption Set which should be used to Encrypt this OS Disk. Conflicts with \u003cspan pulumi-lang-nodejs=\"`secureVmDiskEncryptionSetId`\" pulumi-lang-dotnet=\"`SecureVmDiskEncryptionSetId`\" pulumi-lang-go=\"`secureVmDiskEncryptionSetId`\" pulumi-lang-python=\"`secure_vm_disk_encryption_set_id`\" pulumi-lang-yaml=\"`secureVmDiskEncryptionSetId`\" pulumi-lang-java=\"`secureVmDiskEncryptionSetId`\"\u003e`secure_vm_disk_encryption_set_id`\u003c/span\u003e.\n\n\u003e **NOTE:** The Disk Encryption Set must have the `Reader` Role Assignment scoped on the Key Vault - in addition to an Access Policy to the Key Vault\n"},"diskSizeGb":{"type":"integer","description":"The Size of the Internal OS Disk in GB, if you wish to vary from the size used in the image this Virtual Machine is sourced from.\n\n\u003e **NOTE:** If specified this must be equal to or larger than the size of the Image the Virtual Machine is based on. When creating a larger disk than exists in the image you'll need to repartition the disk to use the remaining space.\n"},"id":{"type":"string","description":"The ID of the OS disk.\n"},"name":{"type":"string","description":"The name which should be used for the Internal OS Disk. Changing this forces a new resource to be created.\n\n\u003e **Note:** a value for \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e cannot be specified if/when the Virtual Machine is/has been created using an existing Managed Disk for the OS by setting \u003cspan pulumi-lang-nodejs=\"`osManagedDiskId`\" pulumi-lang-dotnet=\"`OsManagedDiskId`\" pulumi-lang-go=\"`osManagedDiskId`\" pulumi-lang-python=\"`os_managed_disk_id`\" pulumi-lang-yaml=\"`osManagedDiskId`\" pulumi-lang-java=\"`osManagedDiskId`\"\u003e`os_managed_disk_id`\u003c/span\u003e.\n","willReplaceOnChanges":true},"secureVmDiskEncryptionSetId":{"type":"string","description":"The ID of the Disk Encryption Set which should be used to Encrypt this OS Disk when the Virtual Machine is a Confidential VM. Conflicts with \u003cspan pulumi-lang-nodejs=\"`diskEncryptionSetId`\" pulumi-lang-dotnet=\"`DiskEncryptionSetId`\" pulumi-lang-go=\"`diskEncryptionSetId`\" pulumi-lang-python=\"`disk_encryption_set_id`\" pulumi-lang-yaml=\"`diskEncryptionSetId`\" pulumi-lang-java=\"`diskEncryptionSetId`\"\u003e`disk_encryption_set_id`\u003c/span\u003e. Changing this forces a new resource to be created.\n\n\u003e **NOTE:** \u003cspan pulumi-lang-nodejs=\"`secureVmDiskEncryptionSetId`\" pulumi-lang-dotnet=\"`SecureVmDiskEncryptionSetId`\" pulumi-lang-go=\"`secureVmDiskEncryptionSetId`\" pulumi-lang-python=\"`secure_vm_disk_encryption_set_id`\" pulumi-lang-yaml=\"`secureVmDiskEncryptionSetId`\" pulumi-lang-java=\"`secureVmDiskEncryptionSetId`\"\u003e`secure_vm_disk_encryption_set_id`\u003c/span\u003e can only be specified when \u003cspan pulumi-lang-nodejs=\"`securityEncryptionType`\" pulumi-lang-dotnet=\"`SecurityEncryptionType`\" pulumi-lang-go=\"`securityEncryptionType`\" pulumi-lang-python=\"`security_encryption_type`\" pulumi-lang-yaml=\"`securityEncryptionType`\" pulumi-lang-java=\"`securityEncryptionType`\"\u003e`security_encryption_type`\u003c/span\u003e is set to `DiskWithVMGuestState`.\n","willReplaceOnChanges":true},"securityEncryptionType":{"type":"string","description":"Encryption Type when the Virtual Machine is a Confidential VM. Possible values are `VMGuestStateOnly` and `DiskWithVMGuestState`. Changing this forces a new resource to be created.\n\n\u003e **NOTE:** \u003cspan pulumi-lang-nodejs=\"`vtpmEnabled`\" pulumi-lang-dotnet=\"`VtpmEnabled`\" pulumi-lang-go=\"`vtpmEnabled`\" pulumi-lang-python=\"`vtpm_enabled`\" pulumi-lang-yaml=\"`vtpmEnabled`\" pulumi-lang-java=\"`vtpmEnabled`\"\u003e`vtpm_enabled`\u003c/span\u003e must be set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e when \u003cspan pulumi-lang-nodejs=\"`securityEncryptionType`\" pulumi-lang-dotnet=\"`SecurityEncryptionType`\" pulumi-lang-go=\"`securityEncryptionType`\" pulumi-lang-python=\"`security_encryption_type`\" pulumi-lang-yaml=\"`securityEncryptionType`\" pulumi-lang-java=\"`securityEncryptionType`\"\u003e`security_encryption_type`\u003c/span\u003e is specified.\n\n\u003e **NOTE:** \u003cspan pulumi-lang-nodejs=\"`encryptionAtHostEnabled`\" pulumi-lang-dotnet=\"`EncryptionAtHostEnabled`\" pulumi-lang-go=\"`encryptionAtHostEnabled`\" pulumi-lang-python=\"`encryption_at_host_enabled`\" pulumi-lang-yaml=\"`encryptionAtHostEnabled`\" pulumi-lang-java=\"`encryptionAtHostEnabled`\"\u003e`encryption_at_host_enabled`\u003c/span\u003e cannot be set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e when \u003cspan pulumi-lang-nodejs=\"`securityEncryptionType`\" pulumi-lang-dotnet=\"`SecurityEncryptionType`\" pulumi-lang-go=\"`securityEncryptionType`\" pulumi-lang-python=\"`security_encryption_type`\" pulumi-lang-yaml=\"`securityEncryptionType`\" pulumi-lang-java=\"`securityEncryptionType`\"\u003e`security_encryption_type`\u003c/span\u003e is set to `DiskWithVMGuestState`.\n","willReplaceOnChanges":true},"storageAccountType":{"type":"string","description":"The Type of Storage Account which should back this the Internal OS Disk. Possible values are `Standard_LRS`, `StandardSSD_LRS`, `Premium_LRS`, `StandardSSD_ZRS` and `Premium_ZRS`. Changing this forces a new resource to be created.\n\n\u003e **Note:** This is required unless using an existing OS Managed Disk by specifying \u003cspan pulumi-lang-nodejs=\"`osManagedDiskId`\" pulumi-lang-dotnet=\"`OsManagedDiskId`\" pulumi-lang-go=\"`osManagedDiskId`\" pulumi-lang-python=\"`os_managed_disk_id`\" pulumi-lang-yaml=\"`osManagedDiskId`\" pulumi-lang-java=\"`osManagedDiskId`\"\u003e`os_managed_disk_id`\u003c/span\u003e.\n","willReplaceOnChanges":true},"writeAcceleratorEnabled":{"type":"boolean","description":"Should Write Accelerator be Enabled for this OS Disk? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **NOTE:** This requires that the \u003cspan pulumi-lang-nodejs=\"`storageAccountType`\" pulumi-lang-dotnet=\"`StorageAccountType`\" pulumi-lang-go=\"`storageAccountType`\" pulumi-lang-python=\"`storage_account_type`\" pulumi-lang-yaml=\"`storageAccountType`\" pulumi-lang-java=\"`storageAccountType`\"\u003e`storage_account_type`\u003c/span\u003e is set to `Premium_LRS` and that \u003cspan pulumi-lang-nodejs=\"`caching`\" pulumi-lang-dotnet=\"`Caching`\" pulumi-lang-go=\"`caching`\" pulumi-lang-python=\"`caching`\" pulumi-lang-yaml=\"`caching`\" pulumi-lang-java=\"`caching`\"\u003e`caching`\u003c/span\u003e is set to `None`.\n"}},"type":"object","required":["caching"],"language":{"nodejs":{"requiredOutputs":["caching","diskSizeGb","id","name","storageAccountType"]}}},"azure:compute/LinuxVirtualMachineOsDiskDiffDiskSettings:LinuxVirtualMachineOsDiskDiffDiskSettings":{"properties":{"option":{"type":"string","description":"Specifies the Ephemeral Disk Settings for the OS Disk. At this time the only possible value is `Local`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"placement":{"type":"string","description":"Specifies where to store the Ephemeral Disk. Possible values are `CacheDisk`, `ResourceDisk` and `NvmeDisk`. Defaults to `CacheDisk`. Changing this forces a new resource to be created.\n\n\u003e **Note:** `NvmeDisk` can only be used for v6 VMs in combination with a supported \u003cspan pulumi-lang-nodejs=\"`sourceImageReference`\" pulumi-lang-dotnet=\"`SourceImageReference`\" pulumi-lang-go=\"`sourceImageReference`\" pulumi-lang-python=\"`source_image_reference`\" pulumi-lang-yaml=\"`sourceImageReference`\" pulumi-lang-java=\"`sourceImageReference`\"\u003e`source_image_reference`\u003c/span\u003e. More information can be found [here](https://learn.microsoft.com/en-us/azure/virtual-machines/ephemeral-os-disks)\n","willReplaceOnChanges":true}},"type":"object","required":["option"]},"azure:compute/LinuxVirtualMachineOsImageNotification:LinuxVirtualMachineOsImageNotification":{"properties":{"timeout":{"type":"string","description":"Length of time a notification to be sent to the VM on the instance metadata server till the VM gets OS upgraded. The only possible value is `PT15M`. Defaults to `PT15M`.\n"}},"type":"object"},"azure:compute/LinuxVirtualMachinePlan:LinuxVirtualMachinePlan":{"properties":{"name":{"type":"string","description":"Specifies the Name of the Marketplace Image this Virtual Machine should be created from. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"product":{"type":"string","description":"Specifies the Product of the Marketplace Image this Virtual Machine should be created from. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"publisher":{"type":"string","description":"Specifies the Publisher of the Marketplace Image this Virtual Machine should be created from. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["name","product","publisher"]},"azure:compute/LinuxVirtualMachineScaleSetAdditionalCapabilities:LinuxVirtualMachineScaleSetAdditionalCapabilities":{"properties":{"ultraSsdEnabled":{"type":"boolean","description":"Should the capacity to enable Data Disks of the `UltraSSD_LRS` storage account type be supported on this Virtual Machine Scale Set? Possible values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"},"azure:compute/LinuxVirtualMachineScaleSetAdminSshKey:LinuxVirtualMachineScaleSetAdminSshKey":{"properties":{"publicKey":{"type":"string","description":"The Public Key which should be used for authentication, which needs to be in `ssh-rsa` format with at least 2048-bit or in `ssh-ed25519` format.\n"},"username":{"type":"string","description":"The Username for which this Public SSH Key should be configured.\n\n\u003e **Note:** The Azure VM Agent only allows creating SSH Keys at the path `/home/{username}/.ssh/authorized_keys` - as such this public key will be added/appended to the authorized keys file.\n"}},"type":"object","required":["publicKey","username"]},"azure:compute/LinuxVirtualMachineScaleSetAutomaticInstanceRepair:LinuxVirtualMachineScaleSetAutomaticInstanceRepair":{"properties":{"action":{"type":"string","description":"The repair action that will be used for repairing unhealthy virtual machines in the scale set. Possible values include `Replace`, `Restart`, `Reimage`.\n\n\u003e **Note:** Once the \u003cspan pulumi-lang-nodejs=\"`action`\" pulumi-lang-dotnet=\"`Action`\" pulumi-lang-go=\"`action`\" pulumi-lang-python=\"`action`\" pulumi-lang-yaml=\"`action`\" pulumi-lang-java=\"`action`\"\u003e`action`\u003c/span\u003e field has been set it will always return the last value it was assigned if it is removed from the configuration file.\n\n\u003e **Note:** If you wish to update the repair \u003cspan pulumi-lang-nodejs=\"`action`\" pulumi-lang-dotnet=\"`Action`\" pulumi-lang-go=\"`action`\" pulumi-lang-python=\"`action`\" pulumi-lang-yaml=\"`action`\" pulumi-lang-java=\"`action`\"\u003e`action`\u003c/span\u003e of an existing \u003cspan pulumi-lang-nodejs=\"`automaticInstanceRepair`\" pulumi-lang-dotnet=\"`AutomaticInstanceRepair`\" pulumi-lang-go=\"`automaticInstanceRepair`\" pulumi-lang-python=\"`automatic_instance_repair`\" pulumi-lang-yaml=\"`automaticInstanceRepair`\" pulumi-lang-java=\"`automaticInstanceRepair`\"\u003e`automatic_instance_repair`\u003c/span\u003e policy, you must first \u003cspan pulumi-lang-nodejs=\"`disable`\" pulumi-lang-dotnet=\"`Disable`\" pulumi-lang-go=\"`disable`\" pulumi-lang-python=\"`disable`\" pulumi-lang-yaml=\"`disable`\" pulumi-lang-java=\"`disable`\"\u003e`disable`\u003c/span\u003e the \u003cspan pulumi-lang-nodejs=\"`automaticInstanceRepair`\" pulumi-lang-dotnet=\"`AutomaticInstanceRepair`\" pulumi-lang-go=\"`automaticInstanceRepair`\" pulumi-lang-python=\"`automatic_instance_repair`\" pulumi-lang-yaml=\"`automaticInstanceRepair`\" pulumi-lang-java=\"`automaticInstanceRepair`\"\u003e`automatic_instance_repair`\u003c/span\u003e policy before you can re-enable the \u003cspan pulumi-lang-nodejs=\"`automaticInstanceRepair`\" pulumi-lang-dotnet=\"`AutomaticInstanceRepair`\" pulumi-lang-go=\"`automaticInstanceRepair`\" pulumi-lang-python=\"`automatic_instance_repair`\" pulumi-lang-yaml=\"`automaticInstanceRepair`\" pulumi-lang-java=\"`automaticInstanceRepair`\"\u003e`automatic_instance_repair`\u003c/span\u003e policy with the new repair \u003cspan pulumi-lang-nodejs=\"`action`\" pulumi-lang-dotnet=\"`Action`\" pulumi-lang-go=\"`action`\" pulumi-lang-python=\"`action`\" pulumi-lang-yaml=\"`action`\" pulumi-lang-java=\"`action`\"\u003e`action`\u003c/span\u003e defined.\n"},"enabled":{"type":"boolean","description":"Should the automatic instance repair be enabled on this Virtual Machine Scale Set?\n"},"gracePeriod":{"type":"string","description":"Amount of time for which automatic repairs will be delayed. The grace period starts right after the VM is found unhealthy. Possible values are between \u003cspan pulumi-lang-nodejs=\"`10`\" pulumi-lang-dotnet=\"`10`\" pulumi-lang-go=\"`10`\" pulumi-lang-python=\"`10`\" pulumi-lang-yaml=\"`10`\" pulumi-lang-java=\"`10`\"\u003e`10`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`90`\" pulumi-lang-dotnet=\"`90`\" pulumi-lang-go=\"`90`\" pulumi-lang-python=\"`90`\" pulumi-lang-yaml=\"`90`\" pulumi-lang-java=\"`90`\"\u003e`90`\u003c/span\u003e minutes. The time duration should be specified in `ISO 8601` format (e.g. `PT10M` to `PT90M`).\n\n\u003e **Note:** Once the \u003cspan pulumi-lang-nodejs=\"`gracePeriod`\" pulumi-lang-dotnet=\"`GracePeriod`\" pulumi-lang-go=\"`gracePeriod`\" pulumi-lang-python=\"`grace_period`\" pulumi-lang-yaml=\"`gracePeriod`\" pulumi-lang-java=\"`gracePeriod`\"\u003e`grace_period`\u003c/span\u003e field has been set it will always return the last value it was assigned if it is removed from the configuration file.\n"}},"type":"object","required":["enabled"],"language":{"nodejs":{"requiredOutputs":["action","enabled","gracePeriod"]}}},"azure:compute/LinuxVirtualMachineScaleSetAutomaticOsUpgradePolicy:LinuxVirtualMachineScaleSetAutomaticOsUpgradePolicy":{"properties":{"disableAutomaticRollback":{"type":"boolean","description":"Should automatic rollbacks be disabled?\n"},"enableAutomaticOsUpgrade":{"type":"boolean","description":"Should OS Upgrades automatically be applied to Scale Set instances in a rolling fashion when a newer version of the OS Image becomes available?\n"}},"type":"object","required":["disableAutomaticRollback","enableAutomaticOsUpgrade"]},"azure:compute/LinuxVirtualMachineScaleSetBootDiagnostics:LinuxVirtualMachineScaleSetBootDiagnostics":{"properties":{"storageAccountUri":{"type":"string","description":"The Primary/Secondary Endpoint for the Azure Storage Account which should be used to store Boot Diagnostics, including Console Output and Screenshots from the Hypervisor.\n\n\u003e **Note:** Passing a null value will utilize a Managed Storage Account to store Boot Diagnostics.\n"}},"type":"object"},"azure:compute/LinuxVirtualMachineScaleSetDataDisk:LinuxVirtualMachineScaleSetDataDisk":{"properties":{"caching":{"type":"string","description":"The type of Caching which should be used for this Data Disk. Possible values are `None`, `ReadOnly` and `ReadWrite`.\n"},"createOption":{"type":"string","description":"The create option which should be used for this Data Disk. Possible values are `Empty` and `FromImage`. Defaults to `Empty`. (`FromImage` should only be used if the source image includes data disks).\n"},"diskEncryptionSetId":{"type":"string","description":"The ID of the Disk Encryption Set which should be used to encrypt this Data Disk. Changing this forces a new resource to be created.\n\n\u003e **Note:** The Disk Encryption Set must have the `Reader` Role Assignment scoped on the Key Vault - in addition to an Access Policy to the Key Vault\n\n\u003e **Note:** Disk Encryption Sets are in Public Preview in a limited set of regions\n","willReplaceOnChanges":true},"diskSizeGb":{"type":"integer","description":"The size of the Data Disk which should be created.\n"},"lun":{"type":"integer","description":"The Logical Unit Number of the Data Disk, which must be unique within the Virtual Machine.\n"},"name":{"type":"string","description":"The name of the Data Disk.\n"},"storageAccountType":{"type":"string","description":"The Type of Storage Account which should back this Data Disk. Possible values include `Standard_LRS`, `StandardSSD_LRS`, `StandardSSD_ZRS`, `Premium_LRS`, `PremiumV2_LRS`, `Premium_ZRS` and `UltraSSD_LRS`.\n\n\u003e **Note:** `UltraSSD_LRS` is only supported when \u003cspan pulumi-lang-nodejs=\"`ultraSsdEnabled`\" pulumi-lang-dotnet=\"`UltraSsdEnabled`\" pulumi-lang-go=\"`ultraSsdEnabled`\" pulumi-lang-python=\"`ultra_ssd_enabled`\" pulumi-lang-yaml=\"`ultraSsdEnabled`\" pulumi-lang-java=\"`ultraSsdEnabled`\"\u003e`ultra_ssd_enabled`\u003c/span\u003e within the \u003cspan pulumi-lang-nodejs=\"`additionalCapabilities`\" pulumi-lang-dotnet=\"`AdditionalCapabilities`\" pulumi-lang-go=\"`additionalCapabilities`\" pulumi-lang-python=\"`additional_capabilities`\" pulumi-lang-yaml=\"`additionalCapabilities`\" pulumi-lang-java=\"`additionalCapabilities`\"\u003e`additional_capabilities`\u003c/span\u003e block is enabled.\n"},"ultraSsdDiskIopsReadWrite":{"type":"integer","description":"Specifies the Read-Write IOPS for this Data Disk. Only settable when \u003cspan pulumi-lang-nodejs=\"`storageAccountType`\" pulumi-lang-dotnet=\"`StorageAccountType`\" pulumi-lang-go=\"`storageAccountType`\" pulumi-lang-python=\"`storage_account_type`\" pulumi-lang-yaml=\"`storageAccountType`\" pulumi-lang-java=\"`storageAccountType`\"\u003e`storage_account_type`\u003c/span\u003e is `PremiumV2_LRS` or `UltraSSD_LRS`.\n"},"ultraSsdDiskMbpsReadWrite":{"type":"integer","description":"Specifies the bandwidth in MB per second for this Data Disk. Only settable when \u003cspan pulumi-lang-nodejs=\"`storageAccountType`\" pulumi-lang-dotnet=\"`StorageAccountType`\" pulumi-lang-go=\"`storageAccountType`\" pulumi-lang-python=\"`storage_account_type`\" pulumi-lang-yaml=\"`storageAccountType`\" pulumi-lang-java=\"`storageAccountType`\"\u003e`storage_account_type`\u003c/span\u003e is `PremiumV2_LRS` or `UltraSSD_LRS`.\n"},"writeAcceleratorEnabled":{"type":"boolean","description":"Should Write Accelerator be enabled for this Data Disk? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** This requires that the \u003cspan pulumi-lang-nodejs=\"`storageAccountType`\" pulumi-lang-dotnet=\"`StorageAccountType`\" pulumi-lang-go=\"`storageAccountType`\" pulumi-lang-python=\"`storage_account_type`\" pulumi-lang-yaml=\"`storageAccountType`\" pulumi-lang-java=\"`storageAccountType`\"\u003e`storage_account_type`\u003c/span\u003e is set to `Premium_LRS` and that \u003cspan pulumi-lang-nodejs=\"`caching`\" pulumi-lang-dotnet=\"`Caching`\" pulumi-lang-go=\"`caching`\" pulumi-lang-python=\"`caching`\" pulumi-lang-yaml=\"`caching`\" pulumi-lang-java=\"`caching`\"\u003e`caching`\u003c/span\u003e is set to `None`.\n"}},"type":"object","required":["caching","diskSizeGb","lun","storageAccountType"],"language":{"nodejs":{"requiredOutputs":["caching","diskSizeGb","lun","storageAccountType","ultraSsdDiskIopsReadWrite","ultraSsdDiskMbpsReadWrite"]}}},"azure:compute/LinuxVirtualMachineScaleSetExtension:LinuxVirtualMachineScaleSetExtension":{"properties":{"autoUpgradeMinorVersion":{"type":"boolean","description":"Should the latest version of the Extension be used at Deployment Time, if one is available? This won't auto-update the extension on existing installation. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"automaticUpgradeEnabled":{"type":"boolean","description":"Should the Extension be automatically updated whenever the Publisher releases a new version of this VM Extension?\n"},"forceUpdateTag":{"type":"string","description":"A value which, when different to the previous value can be used to force-run the Extension even if the Extension Configuration hasn't changed.\n"},"name":{"type":"string","description":"The name for the Virtual Machine Scale Set Extension.\n"},"protectedSettings":{"type":"string","description":"A JSON String which specifies Sensitive Settings (such as Passwords) for the Extension.\n\n\u003e **Note:** Keys within the \u003cspan pulumi-lang-nodejs=\"`protectedSettings`\" pulumi-lang-dotnet=\"`ProtectedSettings`\" pulumi-lang-go=\"`protectedSettings`\" pulumi-lang-python=\"`protected_settings`\" pulumi-lang-yaml=\"`protectedSettings`\" pulumi-lang-java=\"`protectedSettings`\"\u003e`protected_settings`\u003c/span\u003e block are notoriously case-sensitive, where the casing required (e.g. TitleCase vs snakeCase) depends on the Extension being used. Please refer to the documentation for the specific Virtual Machine Extension you're looking to use for more information.\n","secret":true},"protectedSettingsFromKeyVault":{"$ref":"#/types/azure:compute/LinuxVirtualMachineScaleSetExtensionProtectedSettingsFromKeyVault:LinuxVirtualMachineScaleSetExtensionProtectedSettingsFromKeyVault","description":"A \u003cspan pulumi-lang-nodejs=\"`protectedSettingsFromKeyVault`\" pulumi-lang-dotnet=\"`ProtectedSettingsFromKeyVault`\" pulumi-lang-go=\"`protectedSettingsFromKeyVault`\" pulumi-lang-python=\"`protected_settings_from_key_vault`\" pulumi-lang-yaml=\"`protectedSettingsFromKeyVault`\" pulumi-lang-java=\"`protectedSettingsFromKeyVault`\"\u003e`protected_settings_from_key_vault`\u003c/span\u003e block as defined below.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`protectedSettingsFromKeyVault`\" pulumi-lang-dotnet=\"`ProtectedSettingsFromKeyVault`\" pulumi-lang-go=\"`protectedSettingsFromKeyVault`\" pulumi-lang-python=\"`protected_settings_from_key_vault`\" pulumi-lang-yaml=\"`protectedSettingsFromKeyVault`\" pulumi-lang-java=\"`protectedSettingsFromKeyVault`\"\u003e`protected_settings_from_key_vault`\u003c/span\u003e cannot be used with \u003cspan pulumi-lang-nodejs=\"`protectedSettings`\" pulumi-lang-dotnet=\"`ProtectedSettings`\" pulumi-lang-go=\"`protectedSettings`\" pulumi-lang-python=\"`protected_settings`\" pulumi-lang-yaml=\"`protectedSettings`\" pulumi-lang-java=\"`protectedSettings`\"\u003e`protected_settings`\u003c/span\u003e\n"},"provisionAfterExtensions":{"type":"array","items":{"type":"string"},"description":"An ordered list of Extension names which this should be provisioned after.\n"},"publisher":{"type":"string","description":"Specifies the Publisher of the Extension.\n"},"settings":{"type":"string","description":"A JSON String which specifies Settings for the Extension.\n\n\u003e **Note:** Keys within the \u003cspan pulumi-lang-nodejs=\"`settings`\" pulumi-lang-dotnet=\"`Settings`\" pulumi-lang-go=\"`settings`\" pulumi-lang-python=\"`settings`\" pulumi-lang-yaml=\"`settings`\" pulumi-lang-java=\"`settings`\"\u003e`settings`\u003c/span\u003e block are notoriously case-sensitive, where the casing required (e.g. TitleCase vs snakeCase) depends on the Extension being used. Please refer to the documentation for the specific Virtual Machine Extension you're looking to use for more information.\n"},"type":{"type":"string","description":"Specifies the Type of the Extension.\n"},"typeHandlerVersion":{"type":"string","description":"Specifies the version of the extension to use, available versions can be found using the Azure CLI.\n"}},"type":"object","required":["name","publisher","type","typeHandlerVersion"]},"azure:compute/LinuxVirtualMachineScaleSetExtensionProtectedSettingsFromKeyVault:LinuxVirtualMachineScaleSetExtensionProtectedSettingsFromKeyVault":{"properties":{"secretUrl":{"type":"string","description":"The URL to the Key Vault Secret which stores the protected settings.\n"},"sourceVaultId":{"type":"string","description":"The ID of the source Key Vault.\n"}},"type":"object","required":["secretUrl","sourceVaultId"]},"azure:compute/LinuxVirtualMachineScaleSetGalleryApplication:LinuxVirtualMachineScaleSetGalleryApplication":{"properties":{"configurationBlobUri":{"type":"string","description":"Specifies the URI to an Azure Blob that will replace the default configuration for the package if provided. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"order":{"type":"integer","description":"Specifies the order in which the packages have to be installed. Possible values are between \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`2147483647`\" pulumi-lang-dotnet=\"`2147483647`\" pulumi-lang-go=\"`2147483647`\" pulumi-lang-python=\"`2147483647`\" pulumi-lang-yaml=\"`2147483647`\" pulumi-lang-java=\"`2147483647`\"\u003e`2147483647`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tag":{"type":"string","description":"Specifies a passthrough value for more generic context. This field can be any valid \u003cspan pulumi-lang-nodejs=\"`string`\" pulumi-lang-dotnet=\"`String`\" pulumi-lang-go=\"`string`\" pulumi-lang-python=\"`string`\" pulumi-lang-yaml=\"`string`\" pulumi-lang-java=\"`string`\"\u003e`string`\u003c/span\u003e value. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"versionId":{"type":"string","description":"Specifies the Gallery Application Version resource ID. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["versionId"]},"azure:compute/LinuxVirtualMachineScaleSetIdentity:LinuxVirtualMachineScaleSetIdentity":{"properties":{"identityIds":{"type":"array","items":{"type":"string"},"description":"Specifies a list of User Assigned Managed Identity IDs to be assigned to this Linux Virtual Machine Scale Set.\n\n\u003e **Note:** This is required when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to `UserAssigned` or `SystemAssigned, UserAssigned`.\n"},"principalId":{"type":"string","description":"The Principal ID associated with this Managed Service Identity.\n"},"tenantId":{"type":"string","description":"The Tenant ID associated with this Managed Service Identity.\n"},"type":{"type":"string","description":"Specifies the type of Managed Service Identity that should be configured on this Linux Virtual Machine Scale Set. Possible values are `SystemAssigned`, `UserAssigned`, `SystemAssigned, UserAssigned` (to enable both).\n"}},"type":"object","required":["type"],"language":{"nodejs":{"requiredOutputs":["principalId","tenantId","type"]}}},"azure:compute/LinuxVirtualMachineScaleSetNetworkInterface:LinuxVirtualMachineScaleSetNetworkInterface":{"properties":{"auxiliaryMode":{"type":"string","description":"Specifies the auxiliary mode used to enable network high-performance feature on Network Virtual Appliances (NVAs). This feature offers competitive performance in Connections Per Second (CPS) optimization, along with improvements to handling large amounts of simultaneous connections. Possible values are `AcceleratedConnections` and `Floating`.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`auxiliaryMode`\" pulumi-lang-dotnet=\"`AuxiliaryMode`\" pulumi-lang-go=\"`auxiliaryMode`\" pulumi-lang-python=\"`auxiliary_mode`\" pulumi-lang-yaml=\"`auxiliaryMode`\" pulumi-lang-java=\"`auxiliaryMode`\"\u003e`auxiliary_mode`\u003c/span\u003e is in **Preview** and requires that the prerequisites are enabled - [more information can be found in the Azure documentation](https://learn.microsoft.com/azure/networking/nva-accelerated-connections#prerequisites).\n"},"auxiliarySku":{"type":"string","description":"Specifies the SKU used for the network high-performance feature on Network Virtual Appliances (NVAs). Possible values are `A1`, `A2`, `A4` and `A8`.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`auxiliarySku`\" pulumi-lang-dotnet=\"`AuxiliarySku`\" pulumi-lang-go=\"`auxiliarySku`\" pulumi-lang-python=\"`auxiliary_sku`\" pulumi-lang-yaml=\"`auxiliarySku`\" pulumi-lang-java=\"`auxiliarySku`\"\u003e`auxiliary_sku`\u003c/span\u003e is in **Preview** and requires that the prerequisites are enabled - [more information can be found in the Azure documentation](https://learn.microsoft.com/azure/networking/nva-accelerated-connections#prerequisites).\n"},"dnsServers":{"type":"array","items":{"type":"string"},"description":"A list of IP Addresses of DNS Servers which should be assigned to the Network Interface.\n"},"enableAcceleratedNetworking":{"type":"boolean","description":"Does this Network Interface support Accelerated Networking? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"enableIpForwarding":{"type":"boolean","description":"Does this Network Interface support IP Forwarding? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"ipConfigurations":{"type":"array","items":{"$ref":"#/types/azure:compute/LinuxVirtualMachineScaleSetNetworkInterfaceIpConfiguration:LinuxVirtualMachineScaleSetNetworkInterfaceIpConfiguration"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`ipConfiguration`\" pulumi-lang-dotnet=\"`IpConfiguration`\" pulumi-lang-go=\"`ipConfiguration`\" pulumi-lang-python=\"`ip_configuration`\" pulumi-lang-yaml=\"`ipConfiguration`\" pulumi-lang-java=\"`ipConfiguration`\"\u003e`ip_configuration`\u003c/span\u003e blocks as defined above.\n"},"name":{"type":"string","description":"The Name which should be used for this Network Interface. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"networkSecurityGroupId":{"type":"string","description":"The ID of a Network Security Group which should be assigned to this Network Interface.\n"},"primary":{"type":"boolean","description":"Is this the Primary IP Configuration?\n\n\u003e **Note:** If multiple \u003cspan pulumi-lang-nodejs=\"`networkInterface`\" pulumi-lang-dotnet=\"`NetworkInterface`\" pulumi-lang-go=\"`networkInterface`\" pulumi-lang-python=\"`network_interface`\" pulumi-lang-yaml=\"`networkInterface`\" pulumi-lang-java=\"`networkInterface`\"\u003e`network_interface`\u003c/span\u003e blocks are specified, one must be set to \u003cspan pulumi-lang-nodejs=\"`primary`\" pulumi-lang-dotnet=\"`Primary`\" pulumi-lang-go=\"`primary`\" pulumi-lang-python=\"`primary`\" pulumi-lang-yaml=\"`primary`\" pulumi-lang-java=\"`primary`\"\u003e`primary`\u003c/span\u003e.\n"}},"type":"object","required":["ipConfigurations","name"]},"azure:compute/LinuxVirtualMachineScaleSetNetworkInterfaceIpConfiguration:LinuxVirtualMachineScaleSetNetworkInterfaceIpConfiguration":{"properties":{"applicationGatewayBackendAddressPoolIds":{"type":"array","items":{"type":"string"},"description":"A list of Backend Address Pools ID's from a Application Gateway which this Virtual Machine Scale Set should be connected to.\n"},"applicationSecurityGroupIds":{"type":"array","items":{"type":"string"},"description":"A list of Application Security Group ID's which this Virtual Machine Scale Set should be connected to.\n"},"loadBalancerBackendAddressPoolIds":{"type":"array","items":{"type":"string"},"description":"A list of Backend Address Pools ID's from a Load Balancer which this Virtual Machine Scale Set should be connected to.\n\n\u003e **Note:** When the Virtual Machine Scale Set is configured to have public IPs per instance are created with a load balancer, the SKU of the Virtual Machine instance IPs is determined by the SKU of the Virtual Machine Scale Sets Load Balancer (e.g. `Basic` or `Standard`). Alternatively, you may use the \u003cspan pulumi-lang-nodejs=\"`publicIpPrefixId`\" pulumi-lang-dotnet=\"`PublicIpPrefixId`\" pulumi-lang-go=\"`publicIpPrefixId`\" pulumi-lang-python=\"`public_ip_prefix_id`\" pulumi-lang-yaml=\"`publicIpPrefixId`\" pulumi-lang-java=\"`publicIpPrefixId`\"\u003e`public_ip_prefix_id`\u003c/span\u003e field to generate instance-level IPs in a virtual machine scale set as well. The zonal properties of the prefix will be passed to the Virtual Machine instance IPs, though they will not be shown in the output. To view the public IP addresses assigned to the Virtual Machine Scale Sets Virtual Machine instances use the **az vmss list-instance-public-ips --resource-group `ResourceGroupName` --name `VirtualMachineScaleSetName`** CLI command.\n\n\u003e **Note:** When using this field you'll also need to configure a Rule for the Load Balancer, and use a \u003cspan pulumi-lang-nodejs=\"`dependsOn`\" pulumi-lang-dotnet=\"`DependsOn`\" pulumi-lang-go=\"`dependsOn`\" pulumi-lang-python=\"`depends_on`\" pulumi-lang-yaml=\"`dependsOn`\" pulumi-lang-java=\"`dependsOn`\"\u003e`depends_on`\u003c/span\u003e between this resource and the Load Balancer Rule.\n"},"loadBalancerInboundNatRulesIds":{"type":"array","items":{"type":"string"},"description":"A list of NAT Rule ID's from a Load Balancer which this Virtual Machine Scale Set should be connected to.\n\n\u003e **Note:** When using this field you'll also need to configure a Rule for the Load Balancer, and use a \u003cspan pulumi-lang-nodejs=\"`dependsOn`\" pulumi-lang-dotnet=\"`DependsOn`\" pulumi-lang-go=\"`dependsOn`\" pulumi-lang-python=\"`depends_on`\" pulumi-lang-yaml=\"`dependsOn`\" pulumi-lang-java=\"`dependsOn`\"\u003e`depends_on`\u003c/span\u003e between this resource and the Load Balancer Rule.\n"},"name":{"type":"string","description":"The Name which should be used for this IP Configuration.\n"},"primary":{"type":"boolean","description":"Is this the Primary IP Configuration for this Network Interface? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** One \u003cspan pulumi-lang-nodejs=\"`ipConfiguration`\" pulumi-lang-dotnet=\"`IpConfiguration`\" pulumi-lang-go=\"`ipConfiguration`\" pulumi-lang-python=\"`ip_configuration`\" pulumi-lang-yaml=\"`ipConfiguration`\" pulumi-lang-java=\"`ipConfiguration`\"\u003e`ip_configuration`\u003c/span\u003e block must be marked as Primary for each Network Interface.\n"},"publicIpAddresses":{"type":"array","items":{"$ref":"#/types/azure:compute/LinuxVirtualMachineScaleSetNetworkInterfaceIpConfigurationPublicIpAddress:LinuxVirtualMachineScaleSetNetworkInterfaceIpConfigurationPublicIpAddress"},"description":"A \u003cspan pulumi-lang-nodejs=\"`publicIpAddress`\" pulumi-lang-dotnet=\"`PublicIpAddress`\" pulumi-lang-go=\"`publicIpAddress`\" pulumi-lang-python=\"`public_ip_address`\" pulumi-lang-yaml=\"`publicIpAddress`\" pulumi-lang-java=\"`publicIpAddress`\"\u003e`public_ip_address`\u003c/span\u003e block as defined below.\n"},"subnetId":{"type":"string","description":"The ID of the Subnet which this IP Configuration should be connected to.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`subnetId`\" pulumi-lang-dotnet=\"`SubnetId`\" pulumi-lang-go=\"`subnetId`\" pulumi-lang-python=\"`subnet_id`\" pulumi-lang-yaml=\"`subnetId`\" pulumi-lang-java=\"`subnetId`\"\u003e`subnet_id`\u003c/span\u003e is required if \u003cspan pulumi-lang-nodejs=\"`version`\" pulumi-lang-dotnet=\"`Version`\" pulumi-lang-go=\"`version`\" pulumi-lang-python=\"`version`\" pulumi-lang-yaml=\"`version`\" pulumi-lang-java=\"`version`\"\u003e`version`\u003c/span\u003e is set to `IPv4`.\n"},"version":{"type":"string","description":"The Internet Protocol Version which should be used for this IP Configuration. Possible values are `IPv4` and `IPv6`. Defaults to `IPv4`.\n"}},"type":"object","required":["name"]},"azure:compute/LinuxVirtualMachineScaleSetNetworkInterfaceIpConfigurationPublicIpAddress:LinuxVirtualMachineScaleSetNetworkInterfaceIpConfigurationPublicIpAddress":{"properties":{"domainNameLabel":{"type":"string","description":"The Prefix which should be used for the Domain Name Label for each Virtual Machine Instance. Azure concatenates the Domain Name Label and Virtual Machine Index to create a unique Domain Name Label for each Virtual Machine.\n"},"idleTimeoutInMinutes":{"type":"integer","description":"The Idle Timeout in Minutes for the Public IP Address. Possible values are in the range \u003cspan pulumi-lang-nodejs=\"`4`\" pulumi-lang-dotnet=\"`4`\" pulumi-lang-go=\"`4`\" pulumi-lang-python=\"`4`\" pulumi-lang-yaml=\"`4`\" pulumi-lang-java=\"`4`\"\u003e`4`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`32`\" pulumi-lang-dotnet=\"`32`\" pulumi-lang-go=\"`32`\" pulumi-lang-python=\"`32`\" pulumi-lang-yaml=\"`32`\" pulumi-lang-java=\"`32`\"\u003e`32`\u003c/span\u003e.\n"},"ipTags":{"type":"array","items":{"$ref":"#/types/azure:compute/LinuxVirtualMachineScaleSetNetworkInterfaceIpConfigurationPublicIpAddressIpTag:LinuxVirtualMachineScaleSetNetworkInterfaceIpConfigurationPublicIpAddressIpTag"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`ipTag`\" pulumi-lang-dotnet=\"`IpTag`\" pulumi-lang-go=\"`ipTag`\" pulumi-lang-python=\"`ip_tag`\" pulumi-lang-yaml=\"`ipTag`\" pulumi-lang-java=\"`ipTag`\"\u003e`ip_tag`\u003c/span\u003e blocks as defined above. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The Name of the Public IP Address Configuration.\n"},"publicIpPrefixId":{"type":"string","description":"The ID of the Public IP Address Prefix from where Public IP Addresses should be allocated. Changing this forces a new resource to be created.\n\n\u003e **Note:** This functionality is in Preview and must be opted into via `az feature register --namespace Microsoft.Network --name AllowBringYourOwnPublicIpAddress` and then `az provider register -n Microsoft.Network`.\n","willReplaceOnChanges":true},"version":{"type":"string","description":"The Internet Protocol Version which should be used for this public IP address. Possible values are `IPv4` and `IPv6`. Defaults to `IPv4`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["name"],"language":{"nodejs":{"requiredOutputs":["idleTimeoutInMinutes","name"]}}},"azure:compute/LinuxVirtualMachineScaleSetNetworkInterfaceIpConfigurationPublicIpAddressIpTag:LinuxVirtualMachineScaleSetNetworkInterfaceIpConfigurationPublicIpAddressIpTag":{"properties":{"tag":{"type":"string","description":"The IP Tag associated with the Public IP, such as `SQL` or `Storage`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"type":{"type":"string","description":"The Type of IP Tag, such as `FirstPartyUsage`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["tag","type"]},"azure:compute/LinuxVirtualMachineScaleSetOsDisk:LinuxVirtualMachineScaleSetOsDisk":{"properties":{"caching":{"type":"string","description":"The Type of Caching which should be used for the Internal OS Disk. Possible values are `None`, `ReadOnly` and `ReadWrite`.\n"},"diffDiskSettings":{"$ref":"#/types/azure:compute/LinuxVirtualMachineScaleSetOsDiskDiffDiskSettings:LinuxVirtualMachineScaleSetOsDiskDiffDiskSettings","description":"A \u003cspan pulumi-lang-nodejs=\"`diffDiskSettings`\" pulumi-lang-dotnet=\"`DiffDiskSettings`\" pulumi-lang-go=\"`diffDiskSettings`\" pulumi-lang-python=\"`diff_disk_settings`\" pulumi-lang-yaml=\"`diffDiskSettings`\" pulumi-lang-java=\"`diffDiskSettings`\"\u003e`diff_disk_settings`\u003c/span\u003e block as defined above. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"diskEncryptionSetId":{"type":"string","description":"The ID of the Disk Encryption Set which should be used to encrypt this OS Disk. Conflicts with \u003cspan pulumi-lang-nodejs=\"`secureVmDiskEncryptionSetId`\" pulumi-lang-dotnet=\"`SecureVmDiskEncryptionSetId`\" pulumi-lang-go=\"`secureVmDiskEncryptionSetId`\" pulumi-lang-python=\"`secure_vm_disk_encryption_set_id`\" pulumi-lang-yaml=\"`secureVmDiskEncryptionSetId`\" pulumi-lang-java=\"`secureVmDiskEncryptionSetId`\"\u003e`secure_vm_disk_encryption_set_id`\u003c/span\u003e. Changing this forces a new resource to be created.\n\n\u003e **Note:** The Disk Encryption Set must have the `Reader` Role Assignment scoped on the Key Vault - in addition to an Access Policy to the Key Vault\n\n\u003e **Note:** Disk Encryption Sets are in Public Preview in a limited set of regions\n","willReplaceOnChanges":true},"diskSizeGb":{"type":"integer","description":"The Size of the Internal OS Disk in GB, if you wish to vary from the size used in the image this Virtual Machine Scale Set is sourced from.\n\n\u003e **Note:** If specified this must be equal to or larger than the size of the Image the VM Scale Set is based on. When creating a larger disk than exists in the image you'll need to repartition the disk to use the remaining space.\n"},"secureVmDiskEncryptionSetId":{"type":"string","description":"The ID of the Disk Encryption Set which should be used to Encrypt the OS Disk when the Virtual Machine Scale Set is Confidential VMSS. Conflicts with \u003cspan pulumi-lang-nodejs=\"`diskEncryptionSetId`\" pulumi-lang-dotnet=\"`DiskEncryptionSetId`\" pulumi-lang-go=\"`diskEncryptionSetId`\" pulumi-lang-python=\"`disk_encryption_set_id`\" pulumi-lang-yaml=\"`diskEncryptionSetId`\" pulumi-lang-java=\"`diskEncryptionSetId`\"\u003e`disk_encryption_set_id`\u003c/span\u003e. Changing this forces a new resource to be created.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`secureVmDiskEncryptionSetId`\" pulumi-lang-dotnet=\"`SecureVmDiskEncryptionSetId`\" pulumi-lang-go=\"`secureVmDiskEncryptionSetId`\" pulumi-lang-python=\"`secure_vm_disk_encryption_set_id`\" pulumi-lang-yaml=\"`secureVmDiskEncryptionSetId`\" pulumi-lang-java=\"`secureVmDiskEncryptionSetId`\"\u003e`secure_vm_disk_encryption_set_id`\u003c/span\u003e can only be specified when \u003cspan pulumi-lang-nodejs=\"`securityEncryptionType`\" pulumi-lang-dotnet=\"`SecurityEncryptionType`\" pulumi-lang-go=\"`securityEncryptionType`\" pulumi-lang-python=\"`security_encryption_type`\" pulumi-lang-yaml=\"`securityEncryptionType`\" pulumi-lang-java=\"`securityEncryptionType`\"\u003e`security_encryption_type`\u003c/span\u003e is set to `DiskWithVMGuestState`.\n","willReplaceOnChanges":true},"securityEncryptionType":{"type":"string","description":"Encryption Type when the Virtual Machine Scale Set is Confidential VMSS. Possible values are `VMGuestStateOnly` and `DiskWithVMGuestState`. Changing this forces a new resource to be created.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`vtpmEnabled`\" pulumi-lang-dotnet=\"`VtpmEnabled`\" pulumi-lang-go=\"`vtpmEnabled`\" pulumi-lang-python=\"`vtpm_enabled`\" pulumi-lang-yaml=\"`vtpmEnabled`\" pulumi-lang-java=\"`vtpmEnabled`\"\u003e`vtpm_enabled`\u003c/span\u003e must be set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e when \u003cspan pulumi-lang-nodejs=\"`securityEncryptionType`\" pulumi-lang-dotnet=\"`SecurityEncryptionType`\" pulumi-lang-go=\"`securityEncryptionType`\" pulumi-lang-python=\"`security_encryption_type`\" pulumi-lang-yaml=\"`securityEncryptionType`\" pulumi-lang-java=\"`securityEncryptionType`\"\u003e`security_encryption_type`\u003c/span\u003e is specified.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`encryptionAtHostEnabled`\" pulumi-lang-dotnet=\"`EncryptionAtHostEnabled`\" pulumi-lang-go=\"`encryptionAtHostEnabled`\" pulumi-lang-python=\"`encryption_at_host_enabled`\" pulumi-lang-yaml=\"`encryptionAtHostEnabled`\" pulumi-lang-java=\"`encryptionAtHostEnabled`\"\u003e`encryption_at_host_enabled`\u003c/span\u003e cannot be set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e when \u003cspan pulumi-lang-nodejs=\"`securityEncryptionType`\" pulumi-lang-dotnet=\"`SecurityEncryptionType`\" pulumi-lang-go=\"`securityEncryptionType`\" pulumi-lang-python=\"`security_encryption_type`\" pulumi-lang-yaml=\"`securityEncryptionType`\" pulumi-lang-java=\"`securityEncryptionType`\"\u003e`security_encryption_type`\u003c/span\u003e is set to `DiskWithVMGuestState`.\n","willReplaceOnChanges":true},"storageAccountType":{"type":"string","description":"The Type of Storage Account which should back this the Internal OS Disk. Possible values include `Standard_LRS`, `StandardSSD_LRS`, `StandardSSD_ZRS`, `Premium_LRS` and `Premium_ZRS`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"writeAcceleratorEnabled":{"type":"boolean","description":"Should Write Accelerator be Enabled for this OS Disk? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** This requires that the \u003cspan pulumi-lang-nodejs=\"`storageAccountType`\" pulumi-lang-dotnet=\"`StorageAccountType`\" pulumi-lang-go=\"`storageAccountType`\" pulumi-lang-python=\"`storage_account_type`\" pulumi-lang-yaml=\"`storageAccountType`\" pulumi-lang-java=\"`storageAccountType`\"\u003e`storage_account_type`\u003c/span\u003e is set to `Premium_LRS` and that \u003cspan pulumi-lang-nodejs=\"`caching`\" pulumi-lang-dotnet=\"`Caching`\" pulumi-lang-go=\"`caching`\" pulumi-lang-python=\"`caching`\" pulumi-lang-yaml=\"`caching`\" pulumi-lang-java=\"`caching`\"\u003e`caching`\u003c/span\u003e is set to `None`.\n"}},"type":"object","required":["caching","storageAccountType"],"language":{"nodejs":{"requiredOutputs":["caching","diskSizeGb","storageAccountType"]}}},"azure:compute/LinuxVirtualMachineScaleSetOsDiskDiffDiskSettings:LinuxVirtualMachineScaleSetOsDiskDiffDiskSettings":{"properties":{"option":{"type":"string","description":"Specifies the Ephemeral Disk Settings for the OS Disk. At this time the only possible value is `Local`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"placement":{"type":"string","description":"Specifies where to store the Ephemeral Disk. Possible values are `CacheDisk` and `ResourceDisk`. Defaults to `CacheDisk`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["option"]},"azure:compute/LinuxVirtualMachineScaleSetPlan:LinuxVirtualMachineScaleSetPlan":{"properties":{"name":{"type":"string","description":"Specifies the name of the image from the marketplace. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"product":{"type":"string","description":"Specifies the product of the image from the marketplace. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"publisher":{"type":"string","description":"Specifies the publisher of the image. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["name","product","publisher"]},"azure:compute/LinuxVirtualMachineScaleSetRollingUpgradePolicy:LinuxVirtualMachineScaleSetRollingUpgradePolicy":{"properties":{"crossZoneUpgradesEnabled":{"type":"boolean","description":"Should the Virtual Machine Scale Set ignore the Azure Zone boundaries when constructing upgrade batches? Possible values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"maxBatchInstancePercent":{"type":"integer","description":"The maximum percent of total virtual machine instances that will be upgraded simultaneously by the rolling upgrade in one batch. As this is a maximum, unhealthy instances in previous or future batches can cause the percentage of instances in a batch to decrease to ensure higher reliability.\n"},"maxUnhealthyInstancePercent":{"type":"integer","description":"The maximum percentage of the total virtual machine instances in the scale set that can be simultaneously unhealthy, either as a result of being upgraded, or by being found in an unhealthy state by the virtual machine health checks before the rolling upgrade aborts. This constraint will be checked prior to starting any batch.\n"},"maxUnhealthyUpgradedInstancePercent":{"type":"integer","description":"The maximum percentage of upgraded virtual machine instances that can be found to be in an unhealthy state. This check will happen after each batch is upgraded. If this percentage is ever exceeded, the rolling update aborts.\n"},"maximumSurgeInstancesEnabled":{"type":"boolean","description":"Create new virtual machines to upgrade the scale set, rather than updating the existing virtual machines. Existing virtual machines will be deleted once the new virtual machines are created for each batch. Possible values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`overprovision`\" pulumi-lang-dotnet=\"`Overprovision`\" pulumi-lang-go=\"`overprovision`\" pulumi-lang-python=\"`overprovision`\" pulumi-lang-yaml=\"`overprovision`\" pulumi-lang-java=\"`overprovision`\"\u003e`overprovision`\u003c/span\u003e must be set to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e when \u003cspan pulumi-lang-nodejs=\"`maximumSurgeInstancesEnabled`\" pulumi-lang-dotnet=\"`MaximumSurgeInstancesEnabled`\" pulumi-lang-go=\"`maximumSurgeInstancesEnabled`\" pulumi-lang-python=\"`maximum_surge_instances_enabled`\" pulumi-lang-yaml=\"`maximumSurgeInstancesEnabled`\" pulumi-lang-java=\"`maximumSurgeInstancesEnabled`\"\u003e`maximum_surge_instances_enabled`\u003c/span\u003e is specified.\n"},"pauseTimeBetweenBatches":{"type":"string","description":"The wait time between completing the update for all virtual machines in one batch and starting the next batch. The time duration should be specified in ISO 8601 format.\n"},"prioritizeUnhealthyInstancesEnabled":{"type":"boolean","description":"Upgrade all unhealthy instances in a scale set before any healthy instances. Possible values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"}},"type":"object","required":["maxBatchInstancePercent","maxUnhealthyInstancePercent","maxUnhealthyUpgradedInstancePercent","pauseTimeBetweenBatches"]},"azure:compute/LinuxVirtualMachineScaleSetScaleIn:LinuxVirtualMachineScaleSetScaleIn":{"properties":{"forceDeletionEnabled":{"type":"boolean","description":"Should the virtual machines chosen for removal be force deleted when the virtual machine scale set is being scaled-in? Possible values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"rule":{"type":"string","description":"The scale-in policy rule that decides which virtual machines are chosen for removal when a Virtual Machine Scale Set is scaled in. Possible values for the scale-in policy rules are `Default`, `NewestVM` and `OldestVM`, defaults to `Default`. For more information about scale in policy, please [refer to this doc](https://docs.microsoft.com/azure/virtual-machine-scale-sets/virtual-machine-scale-sets-scale-in-policy).\n"}},"type":"object"},"azure:compute/LinuxVirtualMachineScaleSetSecret:LinuxVirtualMachineScaleSetSecret":{"properties":{"certificates":{"type":"array","items":{"$ref":"#/types/azure:compute/LinuxVirtualMachineScaleSetSecretCertificate:LinuxVirtualMachineScaleSetSecretCertificate"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`certificate`\" pulumi-lang-dotnet=\"`Certificate`\" pulumi-lang-go=\"`certificate`\" pulumi-lang-python=\"`certificate`\" pulumi-lang-yaml=\"`certificate`\" pulumi-lang-java=\"`certificate`\"\u003e`certificate`\u003c/span\u003e blocks as defined above.\n"},"keyVaultId":{"type":"string","description":"The ID of the Key Vault from which all Secrets should be sourced.\n"}},"type":"object","required":["certificates","keyVaultId"]},"azure:compute/LinuxVirtualMachineScaleSetSecretCertificate:LinuxVirtualMachineScaleSetSecretCertificate":{"properties":{"url":{"type":"string","description":"The Secret URL of a Key Vault Certificate.\n\n\u003e **Note:** This can be sourced from the \u003cspan pulumi-lang-nodejs=\"`secretId`\" pulumi-lang-dotnet=\"`SecretId`\" pulumi-lang-go=\"`secretId`\" pulumi-lang-python=\"`secret_id`\" pulumi-lang-yaml=\"`secretId`\" pulumi-lang-java=\"`secretId`\"\u003e`secret_id`\u003c/span\u003e field within the \u003cspan pulumi-lang-nodejs=\"`azure.keyvault.Certificate`\" pulumi-lang-dotnet=\"`azure.keyvault.Certificate`\" pulumi-lang-go=\"`keyvault.Certificate`\" pulumi-lang-python=\"`keyvault.Certificate`\" pulumi-lang-yaml=\"`azure.keyvault.Certificate`\" pulumi-lang-java=\"`azure.keyvault.Certificate`\"\u003e`azure.keyvault.Certificate`\u003c/span\u003e Resource.\n\n\u003e **Note:** The certificate must have been uploaded/created in PFX format, PEM certificates are not currently supported by Azure.\n"}},"type":"object","required":["url"]},"azure:compute/LinuxVirtualMachineScaleSetSourceImageReference:LinuxVirtualMachineScaleSetSourceImageReference":{"properties":{"offer":{"type":"string","description":"Specifies the offer of the image used to create the virtual machines. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"publisher":{"type":"string","description":"Specifies the publisher of the image used to create the virtual machines. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sku":{"type":"string","description":"Specifies the SKU of the image used to create the virtual machines.\n"},"version":{"type":"string","description":"Specifies the version of the image used to create the virtual machines.\n"}},"type":"object","required":["offer","publisher","sku","version"]},"azure:compute/LinuxVirtualMachineScaleSetSpotRestore:LinuxVirtualMachineScaleSetSpotRestore":{"properties":{"enabled":{"type":"boolean","description":"Should the Spot-Try-Restore feature be enabled? The Spot-Try-Restore feature will attempt to automatically restore the evicted Spot Virtual Machine Scale Set VM instances opportunistically based on capacity availability and pricing constraints. Possible values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"timeout":{"type":"string","description":"The length of time that the Virtual Machine Scale Set should attempt to restore the Spot VM instances which have been evicted. The time duration should be between \u003cspan pulumi-lang-nodejs=\"`15`\" pulumi-lang-dotnet=\"`15`\" pulumi-lang-go=\"`15`\" pulumi-lang-python=\"`15`\" pulumi-lang-yaml=\"`15`\" pulumi-lang-java=\"`15`\"\u003e`15`\u003c/span\u003e minutes and \u003cspan pulumi-lang-nodejs=\"`120`\" pulumi-lang-dotnet=\"`120`\" pulumi-lang-go=\"`120`\" pulumi-lang-python=\"`120`\" pulumi-lang-yaml=\"`120`\" pulumi-lang-java=\"`120`\"\u003e`120`\u003c/span\u003e minutes (inclusive). The time duration should be specified in the ISO 8601 format. Defaults to `PT1H`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"},"azure:compute/LinuxVirtualMachineScaleSetTerminationNotification:LinuxVirtualMachineScaleSetTerminationNotification":{"properties":{"enabled":{"type":"boolean","description":"Should the termination notification be enabled on this Virtual Machine Scale Set?\n"},"timeout":{"type":"string","description":"Length of time (in minutes, between 5 and 15) a notification to be sent to the VM on the instance metadata server till the VM gets deleted. The time duration should be specified in ISO 8601 format. Defaults to `PT5M`.\n\n\u003e **Note:** For more information about the termination notification, please [refer to this doc](https://docs.microsoft.com/azure/virtual-machine-scale-sets/virtual-machine-scale-sets-terminate-notification).\n"}},"type":"object","required":["enabled"]},"azure:compute/LinuxVirtualMachineSecret:LinuxVirtualMachineSecret":{"properties":{"certificates":{"type":"array","items":{"$ref":"#/types/azure:compute/LinuxVirtualMachineSecretCertificate:LinuxVirtualMachineSecretCertificate"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`certificate`\" pulumi-lang-dotnet=\"`Certificate`\" pulumi-lang-go=\"`certificate`\" pulumi-lang-python=\"`certificate`\" pulumi-lang-yaml=\"`certificate`\" pulumi-lang-java=\"`certificate`\"\u003e`certificate`\u003c/span\u003e blocks as defined above.\n"},"keyVaultId":{"type":"string","description":"The ID of the Key Vault from which all Secrets should be sourced.\n"}},"type":"object","required":["certificates","keyVaultId"]},"azure:compute/LinuxVirtualMachineSecretCertificate:LinuxVirtualMachineSecretCertificate":{"properties":{"url":{"type":"string","description":"The Secret URL of a Key Vault Certificate.\n\n\u003e **NOTE:** This can be sourced from the \u003cspan pulumi-lang-nodejs=\"`secretId`\" pulumi-lang-dotnet=\"`SecretId`\" pulumi-lang-go=\"`secretId`\" pulumi-lang-python=\"`secret_id`\" pulumi-lang-yaml=\"`secretId`\" pulumi-lang-java=\"`secretId`\"\u003e`secret_id`\u003c/span\u003e field within the \u003cspan pulumi-lang-nodejs=\"`azure.keyvault.Certificate`\" pulumi-lang-dotnet=\"`azure.keyvault.Certificate`\" pulumi-lang-go=\"`keyvault.Certificate`\" pulumi-lang-python=\"`keyvault.Certificate`\" pulumi-lang-yaml=\"`azure.keyvault.Certificate`\" pulumi-lang-java=\"`azure.keyvault.Certificate`\"\u003e`azure.keyvault.Certificate`\u003c/span\u003e Resource.\n"}},"type":"object","required":["url"]},"azure:compute/LinuxVirtualMachineSourceImageReference:LinuxVirtualMachineSourceImageReference":{"properties":{"offer":{"type":"string","description":"Specifies the offer of the image used to create the virtual machines. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"publisher":{"type":"string","description":"Specifies the publisher of the image used to create the virtual machines. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sku":{"type":"string","description":"Specifies the SKU of the image used to create the virtual machines. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"version":{"type":"string","description":"Specifies the version of the image used to create the virtual machines. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["offer","publisher","sku","version"]},"azure:compute/LinuxVirtualMachineTerminationNotification:LinuxVirtualMachineTerminationNotification":{"properties":{"enabled":{"type":"boolean","description":"Should the termination notification be enabled on this Virtual Machine?\n"},"timeout":{"type":"string","description":"Length of time (in minutes, between \u003cspan pulumi-lang-nodejs=\"`5`\" pulumi-lang-dotnet=\"`5`\" pulumi-lang-go=\"`5`\" pulumi-lang-python=\"`5`\" pulumi-lang-yaml=\"`5`\" pulumi-lang-java=\"`5`\"\u003e`5`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`15`\" pulumi-lang-dotnet=\"`15`\" pulumi-lang-go=\"`15`\" pulumi-lang-python=\"`15`\" pulumi-lang-yaml=\"`15`\" pulumi-lang-java=\"`15`\"\u003e`15`\u003c/span\u003e) a notification to be sent to the VM on the instance metadata server till the VM gets deleted. The time duration should be specified in ISO 8601 format. Defaults to `PT5M`.\n\n\u003e **NOTE:** For more information about the termination notification, please [refer to this doc](https://docs.microsoft.com/azure/virtual-machine-scale-sets/virtual-machine-scale-sets-terminate-notification).\n"}},"type":"object","required":["enabled"]},"azure:compute/ManagedDiskEncryptionSettings:ManagedDiskEncryptionSettings":{"properties":{"diskEncryptionKey":{"$ref":"#/types/azure:compute/ManagedDiskEncryptionSettingsDiskEncryptionKey:ManagedDiskEncryptionSettingsDiskEncryptionKey","description":"A \u003cspan pulumi-lang-nodejs=\"`diskEncryptionKey`\" pulumi-lang-dotnet=\"`DiskEncryptionKey`\" pulumi-lang-go=\"`diskEncryptionKey`\" pulumi-lang-python=\"`disk_encryption_key`\" pulumi-lang-yaml=\"`diskEncryptionKey`\" pulumi-lang-java=\"`diskEncryptionKey`\"\u003e`disk_encryption_key`\u003c/span\u003e block as defined above.\n"},"keyEncryptionKey":{"$ref":"#/types/azure:compute/ManagedDiskEncryptionSettingsKeyEncryptionKey:ManagedDiskEncryptionSettingsKeyEncryptionKey","description":"A \u003cspan pulumi-lang-nodejs=\"`keyEncryptionKey`\" pulumi-lang-dotnet=\"`KeyEncryptionKey`\" pulumi-lang-go=\"`keyEncryptionKey`\" pulumi-lang-python=\"`key_encryption_key`\" pulumi-lang-yaml=\"`keyEncryptionKey`\" pulumi-lang-java=\"`keyEncryptionKey`\"\u003e`key_encryption_key`\u003c/span\u003e block as defined below.\n"}},"type":"object","required":["diskEncryptionKey"]},"azure:compute/ManagedDiskEncryptionSettingsDiskEncryptionKey:ManagedDiskEncryptionSettingsDiskEncryptionKey":{"properties":{"secretUrl":{"type":"string","description":"The URL to the Key Vault Secret used as the Disk Encryption Key. This can be found as \u003cspan pulumi-lang-nodejs=\"`id`\" pulumi-lang-dotnet=\"`Id`\" pulumi-lang-go=\"`id`\" pulumi-lang-python=\"`id`\" pulumi-lang-yaml=\"`id`\" pulumi-lang-java=\"`id`\"\u003e`id`\u003c/span\u003e on the \u003cspan pulumi-lang-nodejs=\"`azure.keyvault.Secret`\" pulumi-lang-dotnet=\"`azure.keyvault.Secret`\" pulumi-lang-go=\"`keyvault.Secret`\" pulumi-lang-python=\"`keyvault.Secret`\" pulumi-lang-yaml=\"`azure.keyvault.Secret`\" pulumi-lang-java=\"`azure.keyvault.Secret`\"\u003e`azure.keyvault.Secret`\u003c/span\u003e resource.\n"},"sourceVaultId":{"type":"string","description":"The ID of the source Key Vault. This can be found as \u003cspan pulumi-lang-nodejs=\"`id`\" pulumi-lang-dotnet=\"`Id`\" pulumi-lang-go=\"`id`\" pulumi-lang-python=\"`id`\" pulumi-lang-yaml=\"`id`\" pulumi-lang-java=\"`id`\"\u003e`id`\u003c/span\u003e on the \u003cspan pulumi-lang-nodejs=\"`azure.keyvault.KeyVault`\" pulumi-lang-dotnet=\"`azure.keyvault.KeyVault`\" pulumi-lang-go=\"`keyvault.KeyVault`\" pulumi-lang-python=\"`keyvault.KeyVault`\" pulumi-lang-yaml=\"`azure.keyvault.KeyVault`\" pulumi-lang-java=\"`azure.keyvault.KeyVault`\"\u003e`azure.keyvault.KeyVault`\u003c/span\u003e resource.\n"}},"type":"object","required":["secretUrl","sourceVaultId"]},"azure:compute/ManagedDiskEncryptionSettingsKeyEncryptionKey:ManagedDiskEncryptionSettingsKeyEncryptionKey":{"properties":{"keyUrl":{"type":"string","description":"The URL to the Key Vault Key used as the Key Encryption Key. This can be found as \u003cspan pulumi-lang-nodejs=\"`id`\" pulumi-lang-dotnet=\"`Id`\" pulumi-lang-go=\"`id`\" pulumi-lang-python=\"`id`\" pulumi-lang-yaml=\"`id`\" pulumi-lang-java=\"`id`\"\u003e`id`\u003c/span\u003e on the \u003cspan pulumi-lang-nodejs=\"`azure.keyvault.Key`\" pulumi-lang-dotnet=\"`azure.keyvault.Key`\" pulumi-lang-go=\"`keyvault.Key`\" pulumi-lang-python=\"`keyvault.Key`\" pulumi-lang-yaml=\"`azure.keyvault.Key`\" pulumi-lang-java=\"`azure.keyvault.Key`\"\u003e`azure.keyvault.Key`\u003c/span\u003e resource.\n"},"sourceVaultId":{"type":"string","description":"The ID of the source Key Vault. This can be found as \u003cspan pulumi-lang-nodejs=\"`id`\" pulumi-lang-dotnet=\"`Id`\" pulumi-lang-go=\"`id`\" pulumi-lang-python=\"`id`\" pulumi-lang-yaml=\"`id`\" pulumi-lang-java=\"`id`\"\u003e`id`\u003c/span\u003e on the \u003cspan pulumi-lang-nodejs=\"`azure.keyvault.KeyVault`\" pulumi-lang-dotnet=\"`azure.keyvault.KeyVault`\" pulumi-lang-go=\"`keyvault.KeyVault`\" pulumi-lang-python=\"`keyvault.KeyVault`\" pulumi-lang-yaml=\"`azure.keyvault.KeyVault`\" pulumi-lang-java=\"`azure.keyvault.KeyVault`\"\u003e`azure.keyvault.KeyVault`\u003c/span\u003e resource.\n"}},"type":"object","required":["keyUrl","sourceVaultId"]},"azure:compute/OrchestratedVirtualMachineScaleSetAdditionalCapabilities:OrchestratedVirtualMachineScaleSetAdditionalCapabilities":{"properties":{"ultraSsdEnabled":{"type":"boolean","description":"Should the capacity to enable Data Disks of the `UltraSSD_LRS` storage account type be supported on this Virtual Machine Scale Set? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"},"azure:compute/OrchestratedVirtualMachineScaleSetAutomaticInstanceRepair:OrchestratedVirtualMachineScaleSetAutomaticInstanceRepair":{"properties":{"action":{"type":"string","description":"The repair action that will be used for repairing unhealthy virtual machines in the scale set. Possible values include `Replace`, `Restart`, `Reimage`.\n\n\u003e **Note:** Once the \u003cspan pulumi-lang-nodejs=\"`action`\" pulumi-lang-dotnet=\"`Action`\" pulumi-lang-go=\"`action`\" pulumi-lang-python=\"`action`\" pulumi-lang-yaml=\"`action`\" pulumi-lang-java=\"`action`\"\u003e`action`\u003c/span\u003e field has been set it will always return the last value it was assigned if it is removed from the configuration file.\n\n\u003e **Note:** If you wish to update the repair \u003cspan pulumi-lang-nodejs=\"`action`\" pulumi-lang-dotnet=\"`Action`\" pulumi-lang-go=\"`action`\" pulumi-lang-python=\"`action`\" pulumi-lang-yaml=\"`action`\" pulumi-lang-java=\"`action`\"\u003e`action`\u003c/span\u003e of an existing \u003cspan pulumi-lang-nodejs=\"`automaticInstanceRepair`\" pulumi-lang-dotnet=\"`AutomaticInstanceRepair`\" pulumi-lang-go=\"`automaticInstanceRepair`\" pulumi-lang-python=\"`automatic_instance_repair`\" pulumi-lang-yaml=\"`automaticInstanceRepair`\" pulumi-lang-java=\"`automaticInstanceRepair`\"\u003e`automatic_instance_repair`\u003c/span\u003e policy, you must first \u003cspan pulumi-lang-nodejs=\"`disable`\" pulumi-lang-dotnet=\"`Disable`\" pulumi-lang-go=\"`disable`\" pulumi-lang-python=\"`disable`\" pulumi-lang-yaml=\"`disable`\" pulumi-lang-java=\"`disable`\"\u003e`disable`\u003c/span\u003e the \u003cspan pulumi-lang-nodejs=\"`automaticInstanceRepair`\" pulumi-lang-dotnet=\"`AutomaticInstanceRepair`\" pulumi-lang-go=\"`automaticInstanceRepair`\" pulumi-lang-python=\"`automatic_instance_repair`\" pulumi-lang-yaml=\"`automaticInstanceRepair`\" pulumi-lang-java=\"`automaticInstanceRepair`\"\u003e`automatic_instance_repair`\u003c/span\u003e policy before you can re-enable the \u003cspan pulumi-lang-nodejs=\"`automaticInstanceRepair`\" pulumi-lang-dotnet=\"`AutomaticInstanceRepair`\" pulumi-lang-go=\"`automaticInstanceRepair`\" pulumi-lang-python=\"`automatic_instance_repair`\" pulumi-lang-yaml=\"`automaticInstanceRepair`\" pulumi-lang-java=\"`automaticInstanceRepair`\"\u003e`automatic_instance_repair`\u003c/span\u003e policy with the new repair \u003cspan pulumi-lang-nodejs=\"`action`\" pulumi-lang-dotnet=\"`Action`\" pulumi-lang-go=\"`action`\" pulumi-lang-python=\"`action`\" pulumi-lang-yaml=\"`action`\" pulumi-lang-java=\"`action`\"\u003e`action`\u003c/span\u003e defined.\n"},"enabled":{"type":"boolean","description":"Should the automatic instance repair be enabled on this Virtual Machine Scale Set? Possible values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"gracePeriod":{"type":"string","description":"Amount of time for which automatic repairs will be delayed. The grace period starts right after the VM is found unhealthy. Possible values are between \u003cspan pulumi-lang-nodejs=\"`10`\" pulumi-lang-dotnet=\"`10`\" pulumi-lang-go=\"`10`\" pulumi-lang-python=\"`10`\" pulumi-lang-yaml=\"`10`\" pulumi-lang-java=\"`10`\"\u003e`10`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`90`\" pulumi-lang-dotnet=\"`90`\" pulumi-lang-go=\"`90`\" pulumi-lang-python=\"`90`\" pulumi-lang-yaml=\"`90`\" pulumi-lang-java=\"`90`\"\u003e`90`\u003c/span\u003e minutes. The time duration should be specified in `ISO 8601` format (e.g. `PT10M` to `PT90M`).\n\n\u003e **Note:** Once the \u003cspan pulumi-lang-nodejs=\"`gracePeriod`\" pulumi-lang-dotnet=\"`GracePeriod`\" pulumi-lang-go=\"`gracePeriod`\" pulumi-lang-python=\"`grace_period`\" pulumi-lang-yaml=\"`gracePeriod`\" pulumi-lang-java=\"`gracePeriod`\"\u003e`grace_period`\u003c/span\u003e field has been set it will always return the last value it was assigned if it is removed from the configuration file.\n"}},"type":"object","required":["enabled"],"language":{"nodejs":{"requiredOutputs":["action","enabled","gracePeriod"]}}},"azure:compute/OrchestratedVirtualMachineScaleSetBootDiagnostics:OrchestratedVirtualMachineScaleSetBootDiagnostics":{"properties":{"storageAccountUri":{"type":"string","description":"The Primary/Secondary Endpoint for the Azure Storage Account which should be used to store Boot Diagnostics, including Console Output and Screenshots from the Hypervisor. By including a \u003cspan pulumi-lang-nodejs=\"`bootDiagnostics`\" pulumi-lang-dotnet=\"`BootDiagnostics`\" pulumi-lang-go=\"`bootDiagnostics`\" pulumi-lang-python=\"`boot_diagnostics`\" pulumi-lang-yaml=\"`bootDiagnostics`\" pulumi-lang-java=\"`bootDiagnostics`\"\u003e`boot_diagnostics`\u003c/span\u003e block without passing the \u003cspan pulumi-lang-nodejs=\"`storageAccountUri`\" pulumi-lang-dotnet=\"`StorageAccountUri`\" pulumi-lang-go=\"`storageAccountUri`\" pulumi-lang-python=\"`storage_account_uri`\" pulumi-lang-yaml=\"`storageAccountUri`\" pulumi-lang-java=\"`storageAccountUri`\"\u003e`storage_account_uri`\u003c/span\u003e field will cause the API to utilize a Managed Storage Account to store the Boot Diagnostics output.\n"}},"type":"object"},"azure:compute/OrchestratedVirtualMachineScaleSetDataDisk:OrchestratedVirtualMachineScaleSetDataDisk":{"properties":{"caching":{"type":"string","description":"The type of Caching which should be used for this Data Disk. Possible values are None, ReadOnly and ReadWrite.\n"},"createOption":{"type":"string","description":"The create option which should be used for this Data Disk. Possible values are Empty and FromImage. Defaults to `Empty`. (FromImage should only be used if the source image includes data disks).\n"},"diskEncryptionSetId":{"type":"string","description":"The ID of the Disk Encryption Set which should be used to encrypt the Data Disk. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"diskSizeGb":{"type":"integer","description":"The size of the Data Disk which should be created. Required if \u003cspan pulumi-lang-nodejs=\"`createOption`\" pulumi-lang-dotnet=\"`CreateOption`\" pulumi-lang-go=\"`createOption`\" pulumi-lang-python=\"`create_option`\" pulumi-lang-yaml=\"`createOption`\" pulumi-lang-java=\"`createOption`\"\u003e`create_option`\u003c/span\u003e is specified as `Empty`.\n"},"lun":{"type":"integer","description":"The Logical Unit Number of the Data Disk, which must be unique within the Virtual Machine. Required if \u003cspan pulumi-lang-nodejs=\"`createOption`\" pulumi-lang-dotnet=\"`CreateOption`\" pulumi-lang-go=\"`createOption`\" pulumi-lang-python=\"`create_option`\" pulumi-lang-yaml=\"`createOption`\" pulumi-lang-java=\"`createOption`\"\u003e`create_option`\u003c/span\u003e is specified as `Empty`.\n"},"storageAccountType":{"type":"string","description":"The Type of Storage Account which should back this Data Disk. Possible values include `Standard_LRS`, `StandardSSD_LRS`, `StandardSSD_ZRS`, `Premium_LRS`, `PremiumV2_LRS`, `Premium_ZRS` and `UltraSSD_LRS`.\n"},"ultraSsdDiskIopsReadWrite":{"type":"integer","description":"Specifies the Read-Write IOPS for this Data Disk. Only settable when \u003cspan pulumi-lang-nodejs=\"`storageAccountType`\" pulumi-lang-dotnet=\"`StorageAccountType`\" pulumi-lang-go=\"`storageAccountType`\" pulumi-lang-python=\"`storage_account_type`\" pulumi-lang-yaml=\"`storageAccountType`\" pulumi-lang-java=\"`storageAccountType`\"\u003e`storage_account_type`\u003c/span\u003e is `PremiumV2_LRS` or `UltraSSD_LRS`.\n"},"ultraSsdDiskMbpsReadWrite":{"type":"integer","description":"Specifies the bandwidth in MB per second for this Data Disk. Only settable when \u003cspan pulumi-lang-nodejs=\"`storageAccountType`\" pulumi-lang-dotnet=\"`StorageAccountType`\" pulumi-lang-go=\"`storageAccountType`\" pulumi-lang-python=\"`storage_account_type`\" pulumi-lang-yaml=\"`storageAccountType`\" pulumi-lang-java=\"`storageAccountType`\"\u003e`storage_account_type`\u003c/span\u003e is `PremiumV2_LRS` or `UltraSSD_LRS`.\n"},"writeAcceleratorEnabled":{"type":"boolean","description":"Specifies if Write Accelerator is enabled on the Data Disk. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"}},"type":"object","required":["caching","storageAccountType"],"language":{"nodejs":{"requiredOutputs":["caching","diskSizeGb","lun","storageAccountType","ultraSsdDiskIopsReadWrite","ultraSsdDiskMbpsReadWrite"]}}},"azure:compute/OrchestratedVirtualMachineScaleSetExtension:OrchestratedVirtualMachineScaleSetExtension":{"properties":{"autoUpgradeMinorVersionEnabled":{"type":"boolean","description":"Should the latest version of the Extension be used at Deployment Time, if one is available? This won't auto-update the extension on existing installation. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"extensionsToProvisionAfterVmCreations":{"type":"array","items":{"type":"string"},"description":"An ordered list of Extension names which Virtual Machine Scale Set should provision after VM creation.\n"},"failureSuppressionEnabled":{"type":"boolean","description":"Should failures from the extension be suppressed? Possible values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** Operational failures such as not connecting to the VM will not be suppressed regardless of the \u003cspan pulumi-lang-nodejs=\"`failureSuppressionEnabled`\" pulumi-lang-dotnet=\"`FailureSuppressionEnabled`\" pulumi-lang-go=\"`failureSuppressionEnabled`\" pulumi-lang-python=\"`failure_suppression_enabled`\" pulumi-lang-yaml=\"`failureSuppressionEnabled`\" pulumi-lang-java=\"`failureSuppressionEnabled`\"\u003e`failure_suppression_enabled`\u003c/span\u003e value.\n"},"forceExtensionExecutionOnChange":{"type":"string","description":"A value which, when different to the previous value can be used to force-run the Extension even if the Extension Configuration hasn't changed.\n"},"name":{"type":"string","description":"The name for the Virtual Machine Scale Set Extension.\n"},"protectedSettings":{"type":"string","description":"A JSON String which specifies Sensitive Settings (such as Passwords) for the Extension.\n\n\u003e **Note:** Keys within the \u003cspan pulumi-lang-nodejs=\"`protectedSettings`\" pulumi-lang-dotnet=\"`ProtectedSettings`\" pulumi-lang-go=\"`protectedSettings`\" pulumi-lang-python=\"`protected_settings`\" pulumi-lang-yaml=\"`protectedSettings`\" pulumi-lang-java=\"`protectedSettings`\"\u003e`protected_settings`\u003c/span\u003e block are notoriously case-sensitive, where the casing required (e.g. `TitleCase` vs `snakeCase`) depends on the Extension being used. Please refer to the documentation for the specific Virtual Machine Extension you're looking to use for more information.\n","secret":true},"protectedSettingsFromKeyVault":{"$ref":"#/types/azure:compute/OrchestratedVirtualMachineScaleSetExtensionProtectedSettingsFromKeyVault:OrchestratedVirtualMachineScaleSetExtensionProtectedSettingsFromKeyVault","description":"A \u003cspan pulumi-lang-nodejs=\"`protectedSettingsFromKeyVault`\" pulumi-lang-dotnet=\"`ProtectedSettingsFromKeyVault`\" pulumi-lang-go=\"`protectedSettingsFromKeyVault`\" pulumi-lang-python=\"`protected_settings_from_key_vault`\" pulumi-lang-yaml=\"`protectedSettingsFromKeyVault`\" pulumi-lang-java=\"`protectedSettingsFromKeyVault`\"\u003e`protected_settings_from_key_vault`\u003c/span\u003e block as defined below.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`protectedSettingsFromKeyVault`\" pulumi-lang-dotnet=\"`ProtectedSettingsFromKeyVault`\" pulumi-lang-go=\"`protectedSettingsFromKeyVault`\" pulumi-lang-python=\"`protected_settings_from_key_vault`\" pulumi-lang-yaml=\"`protectedSettingsFromKeyVault`\" pulumi-lang-java=\"`protectedSettingsFromKeyVault`\"\u003e`protected_settings_from_key_vault`\u003c/span\u003e cannot be used with \u003cspan pulumi-lang-nodejs=\"`protectedSettings`\" pulumi-lang-dotnet=\"`ProtectedSettings`\" pulumi-lang-go=\"`protectedSettings`\" pulumi-lang-python=\"`protected_settings`\" pulumi-lang-yaml=\"`protectedSettings`\" pulumi-lang-java=\"`protectedSettings`\"\u003e`protected_settings`\u003c/span\u003e\n"},"publisher":{"type":"string","description":"Specifies the Publisher of the Extension.\n"},"settings":{"type":"string","description":"A JSON String which specifies Settings for the Extension.\n"},"type":{"type":"string","description":"Specifies the Type of the Extension.\n"},"typeHandlerVersion":{"type":"string","description":"Specifies the version of the extension to use, available versions can be found using the Azure CLI.\n"}},"type":"object","required":["name","publisher","type","typeHandlerVersion"]},"azure:compute/OrchestratedVirtualMachineScaleSetExtensionProtectedSettingsFromKeyVault:OrchestratedVirtualMachineScaleSetExtensionProtectedSettingsFromKeyVault":{"properties":{"secretUrl":{"type":"string","description":"The URL to the Key Vault Secret which stores the protected settings.\n"},"sourceVaultId":{"type":"string","description":"The ID of the source Key Vault.\n"}},"type":"object","required":["secretUrl","sourceVaultId"]},"azure:compute/OrchestratedVirtualMachineScaleSetIdentity:OrchestratedVirtualMachineScaleSetIdentity":{"properties":{"identityIds":{"type":"array","items":{"type":"string"},"description":"Specifies a list of User Managed Identity IDs to be assigned to this Windows Virtual Machine Scale Set.\n"},"type":{"type":"string","description":"The type of Managed Identity that should be configured on this Windows Virtual Machine Scale Set. Only possible value is `UserAssigned`.\n"}},"type":"object","required":["identityIds","type"]},"azure:compute/OrchestratedVirtualMachineScaleSetNetworkInterface:OrchestratedVirtualMachineScaleSetNetworkInterface":{"properties":{"auxiliaryMode":{"type":"string","description":"Specifies the auxiliary mode used to enable network high-performance feature on Network Virtual Appliances (NVAs). This feature offers competitive performance in Connections Per Second (CPS) optimization, along with improvements to handling large amounts of simultaneous connections. Possible values are `AcceleratedConnections` and `Floating`.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`auxiliaryMode`\" pulumi-lang-dotnet=\"`AuxiliaryMode`\" pulumi-lang-go=\"`auxiliaryMode`\" pulumi-lang-python=\"`auxiliary_mode`\" pulumi-lang-yaml=\"`auxiliaryMode`\" pulumi-lang-java=\"`auxiliaryMode`\"\u003e`auxiliary_mode`\u003c/span\u003e is in **Preview** and requires that the prerequisites are enabled - [more information can be found in the Azure documentation](https://learn.microsoft.com/azure/networking/nva-accelerated-connections#prerequisites).\n"},"auxiliarySku":{"type":"string","description":"Specifies the SKU used for the network high-performance feature on Network Virtual Appliances (NVAs). Possible values are `A1`, `A2`, `A4` and `A8`.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`auxiliarySku`\" pulumi-lang-dotnet=\"`AuxiliarySku`\" pulumi-lang-go=\"`auxiliarySku`\" pulumi-lang-python=\"`auxiliary_sku`\" pulumi-lang-yaml=\"`auxiliarySku`\" pulumi-lang-java=\"`auxiliarySku`\"\u003e`auxiliary_sku`\u003c/span\u003e is in **Preview** and requires that the prerequisites are enabled - [more information can be found in the Azure documentation](https://learn.microsoft.com/azure/networking/nva-accelerated-connections#prerequisites).\n"},"dnsServers":{"type":"array","items":{"type":"string"},"description":"A list of IP Addresses of DNS Servers which should be assigned to the Network Interface.\n"},"enableAcceleratedNetworking":{"type":"boolean","description":"Does this Network Interface support Accelerated Networking? Possible values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"enableIpForwarding":{"type":"boolean","description":"Does this Network Interface support IP Forwarding? Possible values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"ipConfigurations":{"type":"array","items":{"$ref":"#/types/azure:compute/OrchestratedVirtualMachineScaleSetNetworkInterfaceIpConfiguration:OrchestratedVirtualMachineScaleSetNetworkInterfaceIpConfiguration"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`ipConfiguration`\" pulumi-lang-dotnet=\"`IpConfiguration`\" pulumi-lang-go=\"`ipConfiguration`\" pulumi-lang-python=\"`ip_configuration`\" pulumi-lang-yaml=\"`ipConfiguration`\" pulumi-lang-java=\"`ipConfiguration`\"\u003e`ip_configuration`\u003c/span\u003e blocks as defined above.\n"},"name":{"type":"string","description":"The Name which should be used for this Network Interface. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"networkSecurityGroupId":{"type":"string","description":"The ID of a Network Security Group which should be assigned to this Network Interface.\n"},"primary":{"type":"boolean","description":"Is this the Primary IP Configuration? Possible values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** If multiple \u003cspan pulumi-lang-nodejs=\"`networkInterface`\" pulumi-lang-dotnet=\"`NetworkInterface`\" pulumi-lang-go=\"`networkInterface`\" pulumi-lang-python=\"`network_interface`\" pulumi-lang-yaml=\"`networkInterface`\" pulumi-lang-java=\"`networkInterface`\"\u003e`network_interface`\u003c/span\u003e blocks are specified, one must be set to \u003cspan pulumi-lang-nodejs=\"`primary`\" pulumi-lang-dotnet=\"`Primary`\" pulumi-lang-go=\"`primary`\" pulumi-lang-python=\"`primary`\" pulumi-lang-yaml=\"`primary`\" pulumi-lang-java=\"`primary`\"\u003e`primary`\u003c/span\u003e.\n"}},"type":"object","required":["ipConfigurations","name"]},"azure:compute/OrchestratedVirtualMachineScaleSetNetworkInterfaceIpConfiguration:OrchestratedVirtualMachineScaleSetNetworkInterfaceIpConfiguration":{"properties":{"applicationGatewayBackendAddressPoolIds":{"type":"array","items":{"type":"string"},"description":"A list of Backend Address Pools IDs from a Application Gateway which this Virtual Machine Scale Set should be connected to.\n"},"applicationSecurityGroupIds":{"type":"array","items":{"type":"string"},"description":"A list of Application Security Group IDs which this Virtual Machine Scale Set should be connected to.\n"},"loadBalancerBackendAddressPoolIds":{"type":"array","items":{"type":"string"},"description":"A list of Backend Address Pools IDs from a Load Balancer which this Virtual Machine Scale Set should be connected to.\n\n\u003e **Note:** When using this field you'll also need to configure a Rule for the Load Balancer, and use a\u003cspan pulumi-lang-nodejs=\" dependsOn \" pulumi-lang-dotnet=\" DependsOn \" pulumi-lang-go=\" dependsOn \" pulumi-lang-python=\" depends_on \" pulumi-lang-yaml=\" dependsOn \" pulumi-lang-java=\" dependsOn \"\u003e depends_on \u003c/span\u003ebetween this resource and the Load Balancer Rule.\n"},"name":{"type":"string","description":"The Name which should be used for this IP Configuration.\n"},"primary":{"type":"boolean","description":"Is this the Primary IP Configuration for this Network Interface? Possible values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** One \u003cspan pulumi-lang-nodejs=\"`ipConfiguration`\" pulumi-lang-dotnet=\"`IpConfiguration`\" pulumi-lang-go=\"`ipConfiguration`\" pulumi-lang-python=\"`ip_configuration`\" pulumi-lang-yaml=\"`ipConfiguration`\" pulumi-lang-java=\"`ipConfiguration`\"\u003e`ip_configuration`\u003c/span\u003e block must be marked as Primary for each Network Interface.\n"},"publicIpAddresses":{"type":"array","items":{"$ref":"#/types/azure:compute/OrchestratedVirtualMachineScaleSetNetworkInterfaceIpConfigurationPublicIpAddress:OrchestratedVirtualMachineScaleSetNetworkInterfaceIpConfigurationPublicIpAddress"},"description":"A \u003cspan pulumi-lang-nodejs=\"`publicIpAddress`\" pulumi-lang-dotnet=\"`PublicIpAddress`\" pulumi-lang-go=\"`publicIpAddress`\" pulumi-lang-python=\"`public_ip_address`\" pulumi-lang-yaml=\"`publicIpAddress`\" pulumi-lang-java=\"`publicIpAddress`\"\u003e`public_ip_address`\u003c/span\u003e block as defined below.\n"},"subnetId":{"type":"string","description":"The ID of the Subnet which this IP Configuration should be connected to.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`subnetId`\" pulumi-lang-dotnet=\"`SubnetId`\" pulumi-lang-go=\"`subnetId`\" pulumi-lang-python=\"`subnet_id`\" pulumi-lang-yaml=\"`subnetId`\" pulumi-lang-java=\"`subnetId`\"\u003e`subnet_id`\u003c/span\u003e is required if version is set to `IPv4`.\n"},"version":{"type":"string","description":"The Internet Protocol Version which should be used for this IP Configuration. Possible values are `IPv4` and `IPv6`. Defaults to `IPv4`.\n"}},"type":"object","required":["name"]},"azure:compute/OrchestratedVirtualMachineScaleSetNetworkInterfaceIpConfigurationPublicIpAddress:OrchestratedVirtualMachineScaleSetNetworkInterfaceIpConfigurationPublicIpAddress":{"properties":{"domainNameLabel":{"type":"string","description":"The Prefix which should be used for the Domain Name Label for each Virtual Machine Instance. Azure concatenates the Domain Name Label and Virtual Machine Index to create a unique Domain Name Label for each Virtual Machine. Valid values must be between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`26`\" pulumi-lang-dotnet=\"`26`\" pulumi-lang-go=\"`26`\" pulumi-lang-python=\"`26`\" pulumi-lang-yaml=\"`26`\" pulumi-lang-java=\"`26`\"\u003e`26`\u003c/span\u003e characters long, start with a lower case letter, end with a lower case letter or number and contains only `a-z`, `0-9` and \u003cspan pulumi-lang-nodejs=\"`hyphens`\" pulumi-lang-dotnet=\"`Hyphens`\" pulumi-lang-go=\"`hyphens`\" pulumi-lang-python=\"`hyphens`\" pulumi-lang-yaml=\"`hyphens`\" pulumi-lang-java=\"`hyphens`\"\u003e`hyphens`\u003c/span\u003e.\n"},"idleTimeoutInMinutes":{"type":"integer","description":"The Idle Timeout in Minutes for the Public IP Address. Possible values are in the range \u003cspan pulumi-lang-nodejs=\"`4`\" pulumi-lang-dotnet=\"`4`\" pulumi-lang-go=\"`4`\" pulumi-lang-python=\"`4`\" pulumi-lang-yaml=\"`4`\" pulumi-lang-java=\"`4`\"\u003e`4`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`32`\" pulumi-lang-dotnet=\"`32`\" pulumi-lang-go=\"`32`\" pulumi-lang-python=\"`32`\" pulumi-lang-yaml=\"`32`\" pulumi-lang-java=\"`32`\"\u003e`32`\u003c/span\u003e.\n"},"ipTags":{"type":"array","items":{"$ref":"#/types/azure:compute/OrchestratedVirtualMachineScaleSetNetworkInterfaceIpConfigurationPublicIpAddressIpTag:OrchestratedVirtualMachineScaleSetNetworkInterfaceIpConfigurationPublicIpAddressIpTag"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`ipTag`\" pulumi-lang-dotnet=\"`IpTag`\" pulumi-lang-go=\"`ipTag`\" pulumi-lang-python=\"`ip_tag`\" pulumi-lang-yaml=\"`ipTag`\" pulumi-lang-java=\"`ipTag`\"\u003e`ip_tag`\u003c/span\u003e blocks as defined above. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The Name of the Public IP Address Configuration.\n"},"publicIpPrefixId":{"type":"string","description":"The ID of the Public IP Address Prefix from where Public IP Addresses should be allocated. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"skuName":{"type":"string","description":"Specifies what Public IP Address SKU the Public IP Address should be provisioned as. Possible vaules include `Basic_Regional`, `Basic_Global`, `Standard_Regional` or `Standard_Global`. For more information about Public IP Address SKU's and their capabilities, please see the [product documentation](https://docs.microsoft.com/azure/virtual-network/ip-services/public-ip-addresses#sku). Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"version":{"type":"string","description":"The Internet Protocol Version which should be used for this public IP address. Possible values are `IPv4` and `IPv6`. Defaults to `IPv4`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["name"],"language":{"nodejs":{"requiredOutputs":["idleTimeoutInMinutes","name"]}}},"azure:compute/OrchestratedVirtualMachineScaleSetNetworkInterfaceIpConfigurationPublicIpAddressIpTag:OrchestratedVirtualMachineScaleSetNetworkInterfaceIpConfigurationPublicIpAddressIpTag":{"properties":{"tag":{"type":"string","description":"The IP Tag associated with the Public IP, such as `SQL` or `Storage`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"type":{"type":"string","description":"The Type of IP Tag, such as `FirstPartyUsage`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["tag","type"]},"azure:compute/OrchestratedVirtualMachineScaleSetOsDisk:OrchestratedVirtualMachineScaleSetOsDisk":{"properties":{"caching":{"type":"string","description":"The Type of Caching which should be used for the Internal OS Disk. Possible values are `None`, `ReadOnly` and `ReadWrite`.\n"},"diffDiskSettings":{"$ref":"#/types/azure:compute/OrchestratedVirtualMachineScaleSetOsDiskDiffDiskSettings:OrchestratedVirtualMachineScaleSetOsDiskDiffDiskSettings","description":"A \u003cspan pulumi-lang-nodejs=\"`diffDiskSettings`\" pulumi-lang-dotnet=\"`DiffDiskSettings`\" pulumi-lang-go=\"`diffDiskSettings`\" pulumi-lang-python=\"`diff_disk_settings`\" pulumi-lang-yaml=\"`diffDiskSettings`\" pulumi-lang-java=\"`diffDiskSettings`\"\u003e`diff_disk_settings`\u003c/span\u003e block as defined above. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"diskEncryptionSetId":{"type":"string","description":"The ID of the Disk Encryption Set which should be used to encrypt this OS Disk. Changing this forces a new resource to be created.\n\n\u003e **Note:** Disk Encryption Sets are in Public Preview in a limited set of regions\n","willReplaceOnChanges":true},"diskSizeGb":{"type":"integer","description":"The Size of the Internal OS Disk in GB, if you wish to vary from the size used in the image this Virtual Machine Scale Set is sourced from.\n"},"storageAccountType":{"type":"string","description":"The Type of Storage Account which should back this the Internal OS Disk. Possible values include `Standard_LRS`, `StandardSSD_LRS`, `StandardSSD_ZRS`, `Premium_LRS` and `Premium_ZRS`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"writeAcceleratorEnabled":{"type":"boolean","description":"Specifies if Write Accelerator is enabled on the OS Disk. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"}},"type":"object","required":["caching","storageAccountType"],"language":{"nodejs":{"requiredOutputs":["caching","diskSizeGb","storageAccountType"]}}},"azure:compute/OrchestratedVirtualMachineScaleSetOsDiskDiffDiskSettings:OrchestratedVirtualMachineScaleSetOsDiskDiffDiskSettings":{"properties":{"option":{"type":"string","description":"Specifies the Ephemeral Disk Settings for the OS Disk. At this time the only possible value is `Local`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"placement":{"type":"string","description":"Specifies where to store the Ephemeral Disk. Possible values are `CacheDisk` and `ResourceDisk`. Defaults to `CacheDisk`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["option"]},"azure:compute/OrchestratedVirtualMachineScaleSetOsProfile:OrchestratedVirtualMachineScaleSetOsProfile":{"properties":{"customData":{"type":"string","description":"The Base64-Encoded Custom Data which should be used for this Virtual Machine Scale Set.\n\n\u003e **Note:** When Custom Data has been configured, it's not possible to remove it without tainting the Virtual Machine Scale Set, due to a limitation of the Azure API.\n","secret":true},"linuxConfiguration":{"$ref":"#/types/azure:compute/OrchestratedVirtualMachineScaleSetOsProfileLinuxConfiguration:OrchestratedVirtualMachineScaleSetOsProfileLinuxConfiguration","description":"A \u003cspan pulumi-lang-nodejs=\"`linuxConfiguration`\" pulumi-lang-dotnet=\"`LinuxConfiguration`\" pulumi-lang-go=\"`linuxConfiguration`\" pulumi-lang-python=\"`linux_configuration`\" pulumi-lang-yaml=\"`linuxConfiguration`\" pulumi-lang-java=\"`linuxConfiguration`\"\u003e`linux_configuration`\u003c/span\u003e block as documented below.\n"},"windowsConfiguration":{"$ref":"#/types/azure:compute/OrchestratedVirtualMachineScaleSetOsProfileWindowsConfiguration:OrchestratedVirtualMachineScaleSetOsProfileWindowsConfiguration","description":"A \u003cspan pulumi-lang-nodejs=\"`windowsConfiguration`\" pulumi-lang-dotnet=\"`WindowsConfiguration`\" pulumi-lang-go=\"`windowsConfiguration`\" pulumi-lang-python=\"`windows_configuration`\" pulumi-lang-yaml=\"`windowsConfiguration`\" pulumi-lang-java=\"`windowsConfiguration`\"\u003e`windows_configuration`\u003c/span\u003e block as documented below.\n"}},"type":"object"},"azure:compute/OrchestratedVirtualMachineScaleSetOsProfileLinuxConfiguration:OrchestratedVirtualMachineScaleSetOsProfileLinuxConfiguration":{"properties":{"adminPassword":{"type":"string","description":"The Password which should be used for the local-administrator on this Virtual Machine. Changing this forces a new resource to be created.\n","secret":true,"willReplaceOnChanges":true},"adminSshKeys":{"type":"array","items":{"$ref":"#/types/azure:compute/OrchestratedVirtualMachineScaleSetOsProfileLinuxConfigurationAdminSshKey:OrchestratedVirtualMachineScaleSetOsProfileLinuxConfigurationAdminSshKey"},"description":"A \u003cspan pulumi-lang-nodejs=\"`adminSshKey`\" pulumi-lang-dotnet=\"`AdminSshKey`\" pulumi-lang-go=\"`adminSshKey`\" pulumi-lang-python=\"`admin_ssh_key`\" pulumi-lang-yaml=\"`adminSshKey`\" pulumi-lang-java=\"`adminSshKey`\"\u003e`admin_ssh_key`\u003c/span\u003e block as documented below.\n"},"adminUsername":{"type":"string","description":"The username of the local administrator on each Virtual Machine Scale Set instance. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"computerNamePrefix":{"type":"string","description":"The prefix which should be used for the name of the Virtual Machines in this Scale Set. If unspecified this defaults to the value for the name field. If the value of the name field is not a valid \u003cspan pulumi-lang-nodejs=\"`computerNamePrefix`\" pulumi-lang-dotnet=\"`ComputerNamePrefix`\" pulumi-lang-go=\"`computerNamePrefix`\" pulumi-lang-python=\"`computer_name_prefix`\" pulumi-lang-yaml=\"`computerNamePrefix`\" pulumi-lang-java=\"`computerNamePrefix`\"\u003e`computer_name_prefix`\u003c/span\u003e, then you must specify \u003cspan pulumi-lang-nodejs=\"`computerNamePrefix`\" pulumi-lang-dotnet=\"`ComputerNamePrefix`\" pulumi-lang-go=\"`computerNamePrefix`\" pulumi-lang-python=\"`computer_name_prefix`\" pulumi-lang-yaml=\"`computerNamePrefix`\" pulumi-lang-java=\"`computerNamePrefix`\"\u003e`computer_name_prefix`\u003c/span\u003e. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"disablePasswordAuthentication":{"type":"boolean","description":"When an \u003cspan pulumi-lang-nodejs=\"`adminPassword`\" pulumi-lang-dotnet=\"`AdminPassword`\" pulumi-lang-go=\"`adminPassword`\" pulumi-lang-python=\"`admin_password`\" pulumi-lang-yaml=\"`adminPassword`\" pulumi-lang-java=\"`adminPassword`\"\u003e`admin_password`\u003c/span\u003e is specified \u003cspan pulumi-lang-nodejs=\"`disablePasswordAuthentication`\" pulumi-lang-dotnet=\"`DisablePasswordAuthentication`\" pulumi-lang-go=\"`disablePasswordAuthentication`\" pulumi-lang-python=\"`disable_password_authentication`\" pulumi-lang-yaml=\"`disablePasswordAuthentication`\" pulumi-lang-java=\"`disablePasswordAuthentication`\"\u003e`disable_password_authentication`\u003c/span\u003e must be set to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n\n\u003e **Note:** Either \u003cspan pulumi-lang-nodejs=\"`adminPassword`\" pulumi-lang-dotnet=\"`AdminPassword`\" pulumi-lang-go=\"`adminPassword`\" pulumi-lang-python=\"`admin_password`\" pulumi-lang-yaml=\"`adminPassword`\" pulumi-lang-java=\"`adminPassword`\"\u003e`admin_password`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`adminSshKey`\" pulumi-lang-dotnet=\"`AdminSshKey`\" pulumi-lang-go=\"`adminSshKey`\" pulumi-lang-python=\"`admin_ssh_key`\" pulumi-lang-yaml=\"`adminSshKey`\" pulumi-lang-java=\"`adminSshKey`\"\u003e`admin_ssh_key`\u003c/span\u003e must be specified.\n"},"patchAssessmentMode":{"type":"string","description":"Specifies the mode of VM Guest Patching for the virtual machines that are associated to the Virtual Machine Scale Set. Possible values are `AutomaticByPlatform` or `ImageDefault`. Defaults to `ImageDefault`.\n\n\u003e **Note:** If the \u003cspan pulumi-lang-nodejs=\"`patchAssessmentMode`\" pulumi-lang-dotnet=\"`PatchAssessmentMode`\" pulumi-lang-go=\"`patchAssessmentMode`\" pulumi-lang-python=\"`patch_assessment_mode`\" pulumi-lang-yaml=\"`patchAssessmentMode`\" pulumi-lang-java=\"`patchAssessmentMode`\"\u003e`patch_assessment_mode`\u003c/span\u003e is set to `AutomaticByPlatform` then the \u003cspan pulumi-lang-nodejs=\"`provisionVmAgent`\" pulumi-lang-dotnet=\"`ProvisionVmAgent`\" pulumi-lang-go=\"`provisionVmAgent`\" pulumi-lang-python=\"`provision_vm_agent`\" pulumi-lang-yaml=\"`provisionVmAgent`\" pulumi-lang-java=\"`provisionVmAgent`\"\u003e`provision_vm_agent`\u003c/span\u003e field must be set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"patchMode":{"type":"string","description":"Specifies the mode of in-guest patching of this Windows Virtual Machine. Possible values are `ImageDefault` or `AutomaticByPlatform`. Defaults to `ImageDefault`. For more information on patch modes please see the [product documentation](https://docs.microsoft.com/azure/virtual-machines/automatic-vm-guest-patching#patch-orchestration-modes).\n\n\u003e **Note:** If \u003cspan pulumi-lang-nodejs=\"`patchMode`\" pulumi-lang-dotnet=\"`PatchMode`\" pulumi-lang-go=\"`patchMode`\" pulumi-lang-python=\"`patch_mode`\" pulumi-lang-yaml=\"`patchMode`\" pulumi-lang-java=\"`patchMode`\"\u003e`patch_mode`\u003c/span\u003e is set to `AutomaticByPlatform` the \u003cspan pulumi-lang-nodejs=\"`provisionVmAgent`\" pulumi-lang-dotnet=\"`ProvisionVmAgent`\" pulumi-lang-go=\"`provisionVmAgent`\" pulumi-lang-python=\"`provision_vm_agent`\" pulumi-lang-yaml=\"`provisionVmAgent`\" pulumi-lang-java=\"`provisionVmAgent`\"\u003e`provision_vm_agent`\u003c/span\u003e must be set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e and the \u003cspan pulumi-lang-nodejs=\"`extension`\" pulumi-lang-dotnet=\"`Extension`\" pulumi-lang-go=\"`extension`\" pulumi-lang-python=\"`extension`\" pulumi-lang-yaml=\"`extension`\" pulumi-lang-java=\"`extension`\"\u003e`extension`\u003c/span\u003e must contain at least one application health extension.  An example of how to correctly configure a Virtual Machine Scale Set to provision a Linux Virtual Machine with Automatic VM Guest Patching enabled can be found in the `./examples/orchestrated-vm-scale-set/automatic-vm-guest-patching` directory within the GitHub Repository.\n"},"provisionVmAgent":{"type":"boolean","description":"Should the Azure VM Agent be provisioned on each Virtual Machine in the Scale Set? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e. Changing this value forces a new resource to be created.\n","willReplaceOnChanges":true},"secrets":{"type":"array","items":{"$ref":"#/types/azure:compute/OrchestratedVirtualMachineScaleSetOsProfileLinuxConfigurationSecret:OrchestratedVirtualMachineScaleSetOsProfileLinuxConfigurationSecret"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`secret`\" pulumi-lang-dotnet=\"`Secret`\" pulumi-lang-go=\"`secret`\" pulumi-lang-python=\"`secret`\" pulumi-lang-yaml=\"`secret`\" pulumi-lang-java=\"`secret`\"\u003e`secret`\u003c/span\u003e blocks as defined below.\n"}},"type":"object","required":["adminUsername"],"language":{"nodejs":{"requiredOutputs":["adminUsername","computerNamePrefix"]}}},"azure:compute/OrchestratedVirtualMachineScaleSetOsProfileLinuxConfigurationAdminSshKey:OrchestratedVirtualMachineScaleSetOsProfileLinuxConfigurationAdminSshKey":{"properties":{"publicKey":{"type":"string","description":"The Public Key which should be used for authentication, which needs to be in `ssh-rsa` format with at least 2048-bit or in `ssh-ed25519` format.\n"},"username":{"type":"string","description":"The Username for which this Public SSH Key should be configured.\n\n\u003e **Note:** The Azure VM Agent only allows creating SSH Keys at the path `/home/{username}/.ssh/authorized_keys` - as such this public key will be written to the authorized keys file.\n"}},"type":"object","required":["publicKey","username"]},"azure:compute/OrchestratedVirtualMachineScaleSetOsProfileLinuxConfigurationSecret:OrchestratedVirtualMachineScaleSetOsProfileLinuxConfigurationSecret":{"properties":{"certificates":{"type":"array","items":{"$ref":"#/types/azure:compute/OrchestratedVirtualMachineScaleSetOsProfileLinuxConfigurationSecretCertificate:OrchestratedVirtualMachineScaleSetOsProfileLinuxConfigurationSecretCertificate"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`certificate`\" pulumi-lang-dotnet=\"`Certificate`\" pulumi-lang-go=\"`certificate`\" pulumi-lang-python=\"`certificate`\" pulumi-lang-yaml=\"`certificate`\" pulumi-lang-java=\"`certificate`\"\u003e`certificate`\u003c/span\u003e blocks as defined below.\n"},"keyVaultId":{"type":"string","description":"The ID of the Key Vault from which all Secrets should be sourced.\n"}},"type":"object","required":["certificates","keyVaultId"]},"azure:compute/OrchestratedVirtualMachineScaleSetOsProfileLinuxConfigurationSecretCertificate:OrchestratedVirtualMachineScaleSetOsProfileLinuxConfigurationSecretCertificate":{"properties":{"url":{"type":"string","description":"The Secret URL of a Key Vault Certificate.\n\n\u003e **Note:** This can be sourced from the \u003cspan pulumi-lang-nodejs=\"`secretId`\" pulumi-lang-dotnet=\"`SecretId`\" pulumi-lang-go=\"`secretId`\" pulumi-lang-python=\"`secret_id`\" pulumi-lang-yaml=\"`secretId`\" pulumi-lang-java=\"`secretId`\"\u003e`secret_id`\u003c/span\u003e field within the \u003cspan pulumi-lang-nodejs=\"`azure.keyvault.Certificate`\" pulumi-lang-dotnet=\"`azure.keyvault.Certificate`\" pulumi-lang-go=\"`keyvault.Certificate`\" pulumi-lang-python=\"`keyvault.Certificate`\" pulumi-lang-yaml=\"`azure.keyvault.Certificate`\" pulumi-lang-java=\"`azure.keyvault.Certificate`\"\u003e`azure.keyvault.Certificate`\u003c/span\u003e Resource.\n"}},"type":"object","required":["url"]},"azure:compute/OrchestratedVirtualMachineScaleSetOsProfileWindowsConfiguration:OrchestratedVirtualMachineScaleSetOsProfileWindowsConfiguration":{"properties":{"additionalUnattendContents":{"type":"array","items":{"$ref":"#/types/azure:compute/OrchestratedVirtualMachineScaleSetOsProfileWindowsConfigurationAdditionalUnattendContent:OrchestratedVirtualMachineScaleSetOsProfileWindowsConfigurationAdditionalUnattendContent"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`additionalUnattendContent`\" pulumi-lang-dotnet=\"`AdditionalUnattendContent`\" pulumi-lang-go=\"`additionalUnattendContent`\" pulumi-lang-python=\"`additional_unattend_content`\" pulumi-lang-yaml=\"`additionalUnattendContent`\" pulumi-lang-java=\"`additionalUnattendContent`\"\u003e`additional_unattend_content`\u003c/span\u003e blocks as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"adminPassword":{"type":"string","description":"The Password which should be used for the local-administrator on this Virtual Machine. Changing this forces a new resource to be created.\n","secret":true,"willReplaceOnChanges":true},"adminUsername":{"type":"string","description":"The username of the local administrator on each Virtual Machine Scale Set instance. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"computerNamePrefix":{"type":"string","description":"The prefix which should be used for the name of the Virtual Machines in this Scale Set. If unspecified this defaults to the value for the \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e field. If the value of the \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e field is not a valid \u003cspan pulumi-lang-nodejs=\"`computerNamePrefix`\" pulumi-lang-dotnet=\"`ComputerNamePrefix`\" pulumi-lang-go=\"`computerNamePrefix`\" pulumi-lang-python=\"`computer_name_prefix`\" pulumi-lang-yaml=\"`computerNamePrefix`\" pulumi-lang-java=\"`computerNamePrefix`\"\u003e`computer_name_prefix`\u003c/span\u003e, then you must specify \u003cspan pulumi-lang-nodejs=\"`computerNamePrefix`\" pulumi-lang-dotnet=\"`ComputerNamePrefix`\" pulumi-lang-go=\"`computerNamePrefix`\" pulumi-lang-python=\"`computer_name_prefix`\" pulumi-lang-yaml=\"`computerNamePrefix`\" pulumi-lang-java=\"`computerNamePrefix`\"\u003e`computer_name_prefix`\u003c/span\u003e. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"enableAutomaticUpdates":{"type":"boolean","description":"Are automatic updates enabled for this Virtual Machine? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"hotpatchingEnabled":{"type":"boolean","description":"Should the VM be patched without requiring a reboot? Possible values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. For more information about hot patching please see the [product documentation](https://docs.microsoft.com/azure/automanage/automanage-hotpatch).\n\n\u003e **Note:** Hotpatching can only be enabled if the \u003cspan pulumi-lang-nodejs=\"`patchMode`\" pulumi-lang-dotnet=\"`PatchMode`\" pulumi-lang-go=\"`patchMode`\" pulumi-lang-python=\"`patch_mode`\" pulumi-lang-yaml=\"`patchMode`\" pulumi-lang-java=\"`patchMode`\"\u003e`patch_mode`\u003c/span\u003e is set to `AutomaticByPlatform`, the \u003cspan pulumi-lang-nodejs=\"`provisionVmAgent`\" pulumi-lang-dotnet=\"`ProvisionVmAgent`\" pulumi-lang-go=\"`provisionVmAgent`\" pulumi-lang-python=\"`provision_vm_agent`\" pulumi-lang-yaml=\"`provisionVmAgent`\" pulumi-lang-java=\"`provisionVmAgent`\"\u003e`provision_vm_agent`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, your \u003cspan pulumi-lang-nodejs=\"`sourceImageReference`\" pulumi-lang-dotnet=\"`SourceImageReference`\" pulumi-lang-go=\"`sourceImageReference`\" pulumi-lang-python=\"`source_image_reference`\" pulumi-lang-yaml=\"`sourceImageReference`\" pulumi-lang-java=\"`sourceImageReference`\"\u003e`source_image_reference`\u003c/span\u003e references a hotpatching enabled image, the VM's \u003cspan pulumi-lang-nodejs=\"`skuName`\" pulumi-lang-dotnet=\"`SkuName`\" pulumi-lang-go=\"`skuName`\" pulumi-lang-python=\"`sku_name`\" pulumi-lang-yaml=\"`skuName`\" pulumi-lang-java=\"`skuName`\"\u003e`sku_name`\u003c/span\u003e is set to a [Azure generation 2](https://docs.microsoft.com/azure/virtual-machines/generation-2#generation-2-vm-sizes) VM SKU and the \u003cspan pulumi-lang-nodejs=\"`extension`\" pulumi-lang-dotnet=\"`Extension`\" pulumi-lang-go=\"`extension`\" pulumi-lang-python=\"`extension`\" pulumi-lang-yaml=\"`extension`\" pulumi-lang-java=\"`extension`\"\u003e`extension`\u003c/span\u003e contains an application health extension. An example of how to correctly configure a Virtual Machine Scale Set to provision a Windows Virtual Machine with hotpatching enabled can be found in the `./examples/orchestrated-vm-scale-set/hotpatching-enabled` directory within the GitHub Repository.\n"},"patchAssessmentMode":{"type":"string","description":"Specifies the mode of VM Guest Patching for the virtual machines that are associated to the Virtual Machine Scale Set. Possible values are `AutomaticByPlatform` or `ImageDefault`. Defaults to `ImageDefault`.\n\n\u003e **Note:** If the \u003cspan pulumi-lang-nodejs=\"`patchAssessmentMode`\" pulumi-lang-dotnet=\"`PatchAssessmentMode`\" pulumi-lang-go=\"`patchAssessmentMode`\" pulumi-lang-python=\"`patch_assessment_mode`\" pulumi-lang-yaml=\"`patchAssessmentMode`\" pulumi-lang-java=\"`patchAssessmentMode`\"\u003e`patch_assessment_mode`\u003c/span\u003e is set to `AutomaticByPlatform` then the \u003cspan pulumi-lang-nodejs=\"`provisionVmAgent`\" pulumi-lang-dotnet=\"`ProvisionVmAgent`\" pulumi-lang-go=\"`provisionVmAgent`\" pulumi-lang-python=\"`provision_vm_agent`\" pulumi-lang-yaml=\"`provisionVmAgent`\" pulumi-lang-java=\"`provisionVmAgent`\"\u003e`provision_vm_agent`\u003c/span\u003e field must be set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"patchMode":{"type":"string","description":"Specifies the mode of in-guest patching of this Windows Virtual Machine. Possible values are `Manual`, `AutomaticByOS` and `AutomaticByPlatform`. Defaults to `AutomaticByOS`. For more information on patch modes please see the [product documentation](https://docs.microsoft.com/azure/virtual-machines/automatic-vm-guest-patching#patch-orchestration-modes).\n\n\u003e **Note:** If \u003cspan pulumi-lang-nodejs=\"`patchMode`\" pulumi-lang-dotnet=\"`PatchMode`\" pulumi-lang-go=\"`patchMode`\" pulumi-lang-python=\"`patch_mode`\" pulumi-lang-yaml=\"`patchMode`\" pulumi-lang-java=\"`patchMode`\"\u003e`patch_mode`\u003c/span\u003e is set to `AutomaticByPlatform` the \u003cspan pulumi-lang-nodejs=\"`provisionVmAgent`\" pulumi-lang-dotnet=\"`ProvisionVmAgent`\" pulumi-lang-go=\"`provisionVmAgent`\" pulumi-lang-python=\"`provision_vm_agent`\" pulumi-lang-yaml=\"`provisionVmAgent`\" pulumi-lang-java=\"`provisionVmAgent`\"\u003e`provision_vm_agent`\u003c/span\u003e must be set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e and the \u003cspan pulumi-lang-nodejs=\"`extension`\" pulumi-lang-dotnet=\"`Extension`\" pulumi-lang-go=\"`extension`\" pulumi-lang-python=\"`extension`\" pulumi-lang-yaml=\"`extension`\" pulumi-lang-java=\"`extension`\"\u003e`extension`\u003c/span\u003e must contain at least one application health extension.\n"},"provisionVmAgent":{"type":"boolean","description":"Should the Azure VM Agent be provisioned on each Virtual Machine in the Scale Set? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e. Changing this value forces a new resource to be created.\n","willReplaceOnChanges":true},"secrets":{"type":"array","items":{"$ref":"#/types/azure:compute/OrchestratedVirtualMachineScaleSetOsProfileWindowsConfigurationSecret:OrchestratedVirtualMachineScaleSetOsProfileWindowsConfigurationSecret"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`secret`\" pulumi-lang-dotnet=\"`Secret`\" pulumi-lang-go=\"`secret`\" pulumi-lang-python=\"`secret`\" pulumi-lang-yaml=\"`secret`\" pulumi-lang-java=\"`secret`\"\u003e`secret`\u003c/span\u003e blocks as defined below.\n"},"timezone":{"type":"string","description":"Specifies the time zone of the virtual machine, the possible values are defined [here](https://jackstromberg.com/2017/01/list-of-time-zones-consumed-by-azure/).\n"},"winrmListeners":{"type":"array","items":{"$ref":"#/types/azure:compute/OrchestratedVirtualMachineScaleSetOsProfileWindowsConfigurationWinrmListener:OrchestratedVirtualMachineScaleSetOsProfileWindowsConfigurationWinrmListener"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`winrmListener`\" pulumi-lang-dotnet=\"`WinrmListener`\" pulumi-lang-go=\"`winrmListener`\" pulumi-lang-python=\"`winrm_listener`\" pulumi-lang-yaml=\"`winrmListener`\" pulumi-lang-java=\"`winrmListener`\"\u003e`winrm_listener`\u003c/span\u003e blocks as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["adminPassword","adminUsername"],"language":{"nodejs":{"requiredOutputs":["adminPassword","adminUsername","computerNamePrefix"]}}},"azure:compute/OrchestratedVirtualMachineScaleSetOsProfileWindowsConfigurationAdditionalUnattendContent:OrchestratedVirtualMachineScaleSetOsProfileWindowsConfigurationAdditionalUnattendContent":{"properties":{"content":{"type":"string","description":"The XML formatted content that is added to the unattend.xml file for the specified path and component. Changing this forces a new resource to be created.\n","secret":true,"willReplaceOnChanges":true},"setting":{"type":"string","description":"The name of the setting to which the content applies. Possible values are `AutoLogon` and `FirstLogonCommands`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["content","setting"]},"azure:compute/OrchestratedVirtualMachineScaleSetOsProfileWindowsConfigurationSecret:OrchestratedVirtualMachineScaleSetOsProfileWindowsConfigurationSecret":{"properties":{"certificates":{"type":"array","items":{"$ref":"#/types/azure:compute/OrchestratedVirtualMachineScaleSetOsProfileWindowsConfigurationSecretCertificate:OrchestratedVirtualMachineScaleSetOsProfileWindowsConfigurationSecretCertificate"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`certificate`\" pulumi-lang-dotnet=\"`Certificate`\" pulumi-lang-go=\"`certificate`\" pulumi-lang-python=\"`certificate`\" pulumi-lang-yaml=\"`certificate`\" pulumi-lang-java=\"`certificate`\"\u003e`certificate`\u003c/span\u003e blocks as defined below.\n"},"keyVaultId":{"type":"string","description":"The ID of the Key Vault from which all Secrets should be sourced.\n"}},"type":"object","required":["certificates","keyVaultId"]},"azure:compute/OrchestratedVirtualMachineScaleSetOsProfileWindowsConfigurationSecretCertificate:OrchestratedVirtualMachineScaleSetOsProfileWindowsConfigurationSecretCertificate":{"properties":{"store":{"type":"string","description":"The certificate store on the Virtual Machine where the certificate should be added.\n"},"url":{"type":"string","description":"The Secret URL of a Key Vault Certificate.\n\n\u003e **Note:** This can be sourced from the \u003cspan pulumi-lang-nodejs=\"`secretId`\" pulumi-lang-dotnet=\"`SecretId`\" pulumi-lang-go=\"`secretId`\" pulumi-lang-python=\"`secret_id`\" pulumi-lang-yaml=\"`secretId`\" pulumi-lang-java=\"`secretId`\"\u003e`secret_id`\u003c/span\u003e field within the \u003cspan pulumi-lang-nodejs=\"`azure.keyvault.Certificate`\" pulumi-lang-dotnet=\"`azure.keyvault.Certificate`\" pulumi-lang-go=\"`keyvault.Certificate`\" pulumi-lang-python=\"`keyvault.Certificate`\" pulumi-lang-yaml=\"`azure.keyvault.Certificate`\" pulumi-lang-java=\"`azure.keyvault.Certificate`\"\u003e`azure.keyvault.Certificate`\u003c/span\u003e Resource.\n"}},"type":"object","required":["store","url"]},"azure:compute/OrchestratedVirtualMachineScaleSetOsProfileWindowsConfigurationWinrmListener:OrchestratedVirtualMachineScaleSetOsProfileWindowsConfigurationWinrmListener":{"properties":{"certificateUrl":{"type":"string","description":"The Secret URL of a Key Vault Certificate, which must be specified when protocol is set to `Https`. Changing this forces a new resource to be created.\n\n\u003e **Note:** This can be sourced from the \u003cspan pulumi-lang-nodejs=\"`secretId`\" pulumi-lang-dotnet=\"`SecretId`\" pulumi-lang-go=\"`secretId`\" pulumi-lang-python=\"`secret_id`\" pulumi-lang-yaml=\"`secretId`\" pulumi-lang-java=\"`secretId`\"\u003e`secret_id`\u003c/span\u003e field within the \u003cspan pulumi-lang-nodejs=\"`azure.keyvault.Certificate`\" pulumi-lang-dotnet=\"`azure.keyvault.Certificate`\" pulumi-lang-go=\"`keyvault.Certificate`\" pulumi-lang-python=\"`keyvault.Certificate`\" pulumi-lang-yaml=\"`azure.keyvault.Certificate`\" pulumi-lang-java=\"`azure.keyvault.Certificate`\"\u003e`azure.keyvault.Certificate`\u003c/span\u003e Resource.\n","willReplaceOnChanges":true},"protocol":{"type":"string","description":"Specifies the protocol of listener. Possible values are `Http` or `Https`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["protocol"]},"azure:compute/OrchestratedVirtualMachineScaleSetPlan:OrchestratedVirtualMachineScaleSetPlan":{"properties":{"name":{"type":"string","description":"Specifies the name of the image from the marketplace. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"product":{"type":"string","description":"Specifies the product of the image from the marketplace. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"publisher":{"type":"string","description":"Specifies the publisher of the image. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["name","product","publisher"]},"azure:compute/OrchestratedVirtualMachineScaleSetPriorityMix:OrchestratedVirtualMachineScaleSetPriorityMix":{"properties":{"baseRegularCount":{"type":"integer","description":"Specifies the base number of VMs of `Regular` priority that will be created before any VMs of priority `Spot` are created. Possible values are integers between \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`1000`\" pulumi-lang-dotnet=\"`1000`\" pulumi-lang-go=\"`1000`\" pulumi-lang-python=\"`1000`\" pulumi-lang-yaml=\"`1000`\" pulumi-lang-java=\"`1000`\"\u003e`1000`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"regularPercentageAboveBase":{"type":"integer","description":"Specifies the desired percentage of VM instances that are of `Regular` priority after the base count has been reached. Possible values are integers between \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`100`\" pulumi-lang-dotnet=\"`100`\" pulumi-lang-go=\"`100`\" pulumi-lang-python=\"`100`\" pulumi-lang-yaml=\"`100`\" pulumi-lang-java=\"`100`\"\u003e`100`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"}},"type":"object"},"azure:compute/OrchestratedVirtualMachineScaleSetRollingUpgradePolicy:OrchestratedVirtualMachineScaleSetRollingUpgradePolicy":{"properties":{"crossZoneUpgradesEnabled":{"type":"boolean","description":"Should the Virtual Machine Scale Set ignore the Azure Zone boundaries when constructing upgrade batches? Possible values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"maxBatchInstancePercent":{"type":"integer","description":"The maximum percent of total virtual machine instances that will be upgraded simultaneously by the rolling upgrade in one batch. As this is a maximum, unhealthy instances in previous or future batches can cause the percentage of instances in a batch to decrease to ensure higher reliability.\n"},"maxUnhealthyInstancePercent":{"type":"integer","description":"The maximum percentage of the total virtual machine instances in the scale set that can be simultaneously unhealthy, either as a result of being upgraded, or by being found in an unhealthy state by the virtual machine health checks before the rolling upgrade aborts. This constraint will be checked prior to starting any batch.\n"},"maxUnhealthyUpgradedInstancePercent":{"type":"integer","description":"The maximum percentage of upgraded virtual machine instances that can be found to be in an unhealthy state. This check will happen after each batch is upgraded. If this percentage is ever exceeded, the rolling update aborts.\n"},"maximumSurgeInstancesEnabled":{"type":"boolean","description":"Create new virtual machines to upgrade the scale set, rather than updating the existing virtual machines. Existing virtual machines will be deleted once the new virtual machines are created for each batch. Possible values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"pauseTimeBetweenBatches":{"type":"string","description":"The wait time between completing the update for all virtual machines in one batch and starting the next batch. The time duration should be specified in ISO 8601 duration format.\n"},"prioritizeUnhealthyInstancesEnabled":{"type":"boolean","description":"Upgrade all unhealthy instances in a scale set before any healthy instances. Possible values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"}},"type":"object","required":["maxBatchInstancePercent","maxUnhealthyInstancePercent","maxUnhealthyUpgradedInstancePercent","pauseTimeBetweenBatches"]},"azure:compute/OrchestratedVirtualMachineScaleSetSkuProfile:OrchestratedVirtualMachineScaleSetSkuProfile":{"properties":{"allocationStrategy":{"type":"string","description":"Specifies the allocation strategy for the virtual machine scale set based on which the VMs will be allocated. Possible values are `CapacityOptimized`, `LowestPrice` and `Prioritized`.\n"},"vmSizes":{"type":"array","items":{"type":"string"},"description":"Specifies the VM sizes for the virtual machine scale set.\n"}},"type":"object","required":["allocationStrategy","vmSizes"]},"azure:compute/OrchestratedVirtualMachineScaleSetSourceImageReference:OrchestratedVirtualMachineScaleSetSourceImageReference":{"properties":{"offer":{"type":"string","description":"Specifies the offer of the image used to create the virtual machines. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"publisher":{"type":"string","description":"Specifies the publisher of the image used to create the virtual machines. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sku":{"type":"string","description":"Specifies the SKU of the image used to create the virtual machines.\n"},"version":{"type":"string","description":"Specifies the version of the image used to create the virtual machines.\n"}},"type":"object","required":["offer","publisher","sku","version"]},"azure:compute/OrchestratedVirtualMachineScaleSetTerminationNotification:OrchestratedVirtualMachineScaleSetTerminationNotification":{"properties":{"enabled":{"type":"boolean","description":"Should the termination notification be enabled on this Virtual Machine Scale Set? Possible values \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"timeout":{"type":"string","description":"Length of time (in minutes, between \u003cspan pulumi-lang-nodejs=\"`5`\" pulumi-lang-dotnet=\"`5`\" pulumi-lang-go=\"`5`\" pulumi-lang-python=\"`5`\" pulumi-lang-yaml=\"`5`\" pulumi-lang-java=\"`5`\"\u003e`5`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`15`\" pulumi-lang-dotnet=\"`15`\" pulumi-lang-go=\"`15`\" pulumi-lang-python=\"`15`\" pulumi-lang-yaml=\"`15`\" pulumi-lang-java=\"`15`\"\u003e`15`\u003c/span\u003e) a notification to be sent to the VM on the instance metadata server till the VM gets deleted. The time duration should be specified in `ISO 8601` format. Defaults to `PT5M`.\n"}},"type":"object","required":["enabled"]},"azure:compute/PacketCaptureFilter:PacketCaptureFilter":{"properties":{"localIpAddress":{"type":"string","description":"The local IP Address to be filtered on. Specify `127.0.0.1` for a single address entry, `127.0.0.1-127.0.0.255` for a range and `127.0.0.1;127.0.0.5` for multiple entries. Multiple ranges and mixing ranges with multiple entries are currently not supported. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"localPort":{"type":"string","description":"The local port to be filtered on. Specify \u003cspan pulumi-lang-nodejs=\"`80`\" pulumi-lang-dotnet=\"`80`\" pulumi-lang-go=\"`80`\" pulumi-lang-python=\"`80`\" pulumi-lang-yaml=\"`80`\" pulumi-lang-java=\"`80`\"\u003e`80`\u003c/span\u003e for single port entry, `80-85` for a range and `80;443;` for multiple entries. Multiple ranges and mixing ranges with multiple entries are currently not supported. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"protocol":{"type":"string","description":"The Protocol to be filtered on. Possible values include `Any`, `TCP` and `UDP`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"remoteIpAddress":{"type":"string","description":"The remote IP Address to be filtered on. Specify `127.0.0.1` for a single address entry, `127.0.0.1-127.0.0.255` for a range and `127.0.0.1;127.0.0.5` for multiple entries. Multiple ranges and mixing ranges with multiple entries are currently not supported. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"remotePort":{"type":"string","description":"The remote port to be filtered on. Specify \u003cspan pulumi-lang-nodejs=\"`80`\" pulumi-lang-dotnet=\"`80`\" pulumi-lang-go=\"`80`\" pulumi-lang-python=\"`80`\" pulumi-lang-yaml=\"`80`\" pulumi-lang-java=\"`80`\"\u003e`80`\u003c/span\u003e for single port entry, `80-85` for a range and `80;443;` for multiple entries. Multiple ranges and mixing ranges with multiple entries are currently not supported. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["protocol"]},"azure:compute/PacketCaptureStorageLocation:PacketCaptureStorageLocation":{"properties":{"filePath":{"type":"string","description":"A valid local path on the target Virtual Machine. Must include the name of the capture file (*.cap). For Linux Virtual Machines it must start with `/var/captures`.\n"},"storageAccountId":{"type":"string","description":"The ID of the storage account where the packet capture sessions should be saved to.\n\n\u003e **Note:** At least one of \u003cspan pulumi-lang-nodejs=\"`filePath`\" pulumi-lang-dotnet=\"`FilePath`\" pulumi-lang-go=\"`filePath`\" pulumi-lang-python=\"`file_path`\" pulumi-lang-yaml=\"`filePath`\" pulumi-lang-java=\"`filePath`\"\u003e`file_path`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`storageAccountId`\" pulumi-lang-dotnet=\"`StorageAccountId`\" pulumi-lang-go=\"`storageAccountId`\" pulumi-lang-python=\"`storage_account_id`\" pulumi-lang-yaml=\"`storageAccountId`\" pulumi-lang-java=\"`storageAccountId`\"\u003e`storage_account_id`\u003c/span\u003e must be specified.\n"},"storagePath":{"type":"string","description":"The URI of the storage path where the packet capture sessions are saved to.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["storagePath"]}}},"azure:compute/RunCommandErrorBlobManagedIdentity:RunCommandErrorBlobManagedIdentity":{"properties":{"clientId":{"type":"string","description":"The client ID of the managed identity.\n","secret":true},"objectId":{"type":"string","description":"The object ID of the managed identity.\n","secret":true}},"type":"object"},"azure:compute/RunCommandInstanceView:RunCommandInstanceView":{"properties":{"endTime":{"type":"string"},"errorMessage":{"type":"string"},"executionMessage":{"type":"string"},"executionState":{"type":"string"},"exitCode":{"type":"integer"},"output":{"type":"string"},"startTime":{"type":"string"}},"type":"object","language":{"nodejs":{"requiredOutputs":["endTime","errorMessage","executionMessage","executionState","exitCode","output","startTime"]}}},"azure:compute/RunCommandOutputBlobManagedIdentity:RunCommandOutputBlobManagedIdentity":{"properties":{"clientId":{"type":"string","description":"The client ID of the managed identity.\n","secret":true},"objectId":{"type":"string","description":"The object ID of the managed identity.\n","secret":true}},"type":"object"},"azure:compute/RunCommandParameter:RunCommandParameter":{"properties":{"name":{"type":"string","description":"The run parameter name.\n"},"value":{"type":"string","description":"The run parameter value.\n"}},"type":"object","required":["name","value"]},"azure:compute/RunCommandProtectedParameter:RunCommandProtectedParameter":{"properties":{"name":{"type":"string","description":"The run parameter name.\n","secret":true},"value":{"type":"string","description":"The run parameter value.\n","secret":true}},"type":"object","required":["name","value"]},"azure:compute/RunCommandSource:RunCommandSource":{"properties":{"commandId":{"type":"string"},"script":{"type":"string"},"scriptUri":{"type":"string"},"scriptUriManagedIdentity":{"$ref":"#/types/azure:compute/RunCommandSourceScriptUriManagedIdentity:RunCommandSourceScriptUriManagedIdentity","description":"A \u003cspan pulumi-lang-nodejs=\"`scriptUriManagedIdentity`\" pulumi-lang-dotnet=\"`ScriptUriManagedIdentity`\" pulumi-lang-go=\"`scriptUriManagedIdentity`\" pulumi-lang-python=\"`script_uri_managed_identity`\" pulumi-lang-yaml=\"`scriptUriManagedIdentity`\" pulumi-lang-java=\"`scriptUriManagedIdentity`\"\u003e`script_uri_managed_identity`\u003c/span\u003e block as defined above.\n","secret":true}},"type":"object"},"azure:compute/RunCommandSourceScriptUriManagedIdentity:RunCommandSourceScriptUriManagedIdentity":{"properties":{"clientId":{"type":"string","description":"The client ID of the managed identity.\n","secret":true},"objectId":{"type":"string","description":"The object ID of the managed identity.\n","secret":true}},"type":"object"},"azure:compute/ScaleSetBootDiagnostics:ScaleSetBootDiagnostics":{"properties":{"enabled":{"type":"boolean","description":"Whether to enable boot diagnostics for the virtual machine. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"storageUri":{"type":"string","description":"Blob endpoint for the storage account to hold the virtual machine's diagnostic files. This must be the root of a storage account, and not a storage container.\n"}},"type":"object","required":["storageUri"]},"azure:compute/ScaleSetExtension:ScaleSetExtension":{"properties":{"autoUpgradeMinorVersion":{"type":"boolean","description":"Specifies whether or not to use the latest minor version available.\n"},"name":{"type":"string","description":"Specifies the name of the extension.\n"},"protectedSettings":{"type":"string","description":"The\u003cspan pulumi-lang-nodejs=\" protectedSettings \" pulumi-lang-dotnet=\" ProtectedSettings \" pulumi-lang-go=\" protectedSettings \" pulumi-lang-python=\" protected_settings \" pulumi-lang-yaml=\" protectedSettings \" pulumi-lang-java=\" protectedSettings \"\u003e protected_settings \u003c/span\u003epassed to the extension, like settings, these are specified as a JSON object in a string.\n","secret":true},"provisionAfterExtensions":{"type":"array","items":{"type":"string"},"description":"Specifies a dependency array of extensions required to be executed before, the array stores the name of each extension.\n"},"publisher":{"type":"string","description":"The publisher of the extension, available publishers can be found by using the Azure CLI.\n"},"settings":{"type":"string","description":"The settings passed to the extension, these are specified as a JSON object in a string.\n"},"type":{"type":"string","description":"The type of extension, available types for a publisher can be found using the Azure CLI.\n"},"typeHandlerVersion":{"type":"string","description":"Specifies the version of the extension to use, available versions can be found using the Azure CLI.\n"}},"type":"object","required":["name","publisher","type","typeHandlerVersion"]},"azure:compute/ScaleSetIdentity:ScaleSetIdentity":{"properties":{"identityIds":{"type":"array","items":{"type":"string"},"description":"Specifies a list of user managed identity ids to be assigned to the VMSS. Required if \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is `UserAssigned`.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.compute.ScaleSet(\"example\", {\n    name: \"vm-scaleset\",\n    resourceGroupName: exampleAzurermResourceGroup.name,\n    location: exampleAzurermResourceGroup.location,\n    sku: {\n        name: vmSku,\n        tier: \"Standard\",\n        capacity: instanceCount,\n    },\n    identity: {\n        type: \"SystemAssigned\",\n    },\n    extensions: [{\n        name: \"MSILinuxExtension\",\n        publisher: \"Microsoft.ManagedIdentity\",\n        type: \"ManagedIdentityExtensionForLinux\",\n        typeHandlerVersion: \"1.0\",\n        settings: \"{\\\"port\\\": 50342}\",\n    }],\n});\nexport const principalId = example.identity.apply(identity =\u003e identity?.principalId);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.compute.ScaleSet(\"example\",\n    name=\"vm-scaleset\",\n    resource_group_name=example_azurerm_resource_group[\"name\"],\n    location=example_azurerm_resource_group[\"location\"],\n    sku={\n        \"name\": vm_sku,\n        \"tier\": \"Standard\",\n        \"capacity\": instance_count,\n    },\n    identity={\n        \"type\": \"SystemAssigned\",\n    },\n    extensions=[{\n        \"name\": \"MSILinuxExtension\",\n        \"publisher\": \"Microsoft.ManagedIdentity\",\n        \"type\": \"ManagedIdentityExtensionForLinux\",\n        \"type_handler_version\": \"1.0\",\n        \"settings\": \"{\\\"port\\\": 50342}\",\n    }])\npulumi.export(\"principalId\", example.identity.principal_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Compute.ScaleSet(\"example\", new()\n    {\n        Name = \"vm-scaleset\",\n        ResourceGroupName = exampleAzurermResourceGroup.Name,\n        Location = exampleAzurermResourceGroup.Location,\n        Sku = new Azure.Compute.Inputs.ScaleSetSkuArgs\n        {\n            Name = vmSku,\n            Tier = \"Standard\",\n            Capacity = instanceCount,\n        },\n        Identity = new Azure.Compute.Inputs.ScaleSetIdentityArgs\n        {\n            Type = \"SystemAssigned\",\n        },\n        Extensions = new[]\n        {\n            new Azure.Compute.Inputs.ScaleSetExtensionArgs\n            {\n                Name = \"MSILinuxExtension\",\n                Publisher = \"Microsoft.ManagedIdentity\",\n                Type = \"ManagedIdentityExtensionForLinux\",\n                TypeHandlerVersion = \"1.0\",\n                Settings = \"{\\\"port\\\": 50342}\",\n            },\n        },\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"principalId\"] = example.Identity.Apply(identity =\u003e identity?.PrincipalId),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/compute\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := compute.NewScaleSet(ctx, \"example\", \u0026compute.ScaleSetArgs{\n\t\t\tName:              pulumi.String(\"vm-scaleset\"),\n\t\t\tResourceGroupName: pulumi.Any(exampleAzurermResourceGroup.Name),\n\t\t\tLocation:          pulumi.Any(exampleAzurermResourceGroup.Location),\n\t\t\tSku: \u0026compute.ScaleSetSkuArgs{\n\t\t\t\tName:     pulumi.Any(vmSku),\n\t\t\t\tTier:     pulumi.String(\"Standard\"),\n\t\t\t\tCapacity: pulumi.Any(instanceCount),\n\t\t\t},\n\t\t\tIdentity: \u0026compute.ScaleSetIdentityArgs{\n\t\t\t\tType: pulumi.String(\"SystemAssigned\"),\n\t\t\t},\n\t\t\tExtensions: compute.ScaleSetExtensionArray{\n\t\t\t\t\u0026compute.ScaleSetExtensionArgs{\n\t\t\t\t\tName:               pulumi.String(\"MSILinuxExtension\"),\n\t\t\t\t\tPublisher:          pulumi.String(\"Microsoft.ManagedIdentity\"),\n\t\t\t\t\tType:               pulumi.String(\"ManagedIdentityExtensionForLinux\"),\n\t\t\t\t\tTypeHandlerVersion: pulumi.String(\"1.0\"),\n\t\t\t\t\tSettings:           pulumi.String(\"{\\\"port\\\": 50342}\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"principalId\", example.Identity.ApplyT(func(identity compute.ScaleSetIdentity) (*string, error) {\n\t\t\treturn \u0026identity.PrincipalId, nil\n\t\t}).(pulumi.StringPtrOutput))\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.compute.ScaleSet;\nimport com.pulumi.azure.compute.ScaleSetArgs;\nimport com.pulumi.azure.compute.inputs.ScaleSetSkuArgs;\nimport com.pulumi.azure.compute.inputs.ScaleSetIdentityArgs;\nimport com.pulumi.azure.compute.inputs.ScaleSetExtensionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ScaleSet(\"example\", ScaleSetArgs.builder()\n            .name(\"vm-scaleset\")\n            .resourceGroupName(exampleAzurermResourceGroup.name())\n            .location(exampleAzurermResourceGroup.location())\n            .sku(ScaleSetSkuArgs.builder()\n                .name(vmSku)\n                .tier(\"Standard\")\n                .capacity(instanceCount)\n                .build())\n            .identity(ScaleSetIdentityArgs.builder()\n                .type(\"SystemAssigned\")\n                .build())\n            .extensions(ScaleSetExtensionArgs.builder()\n                .name(\"MSILinuxExtension\")\n                .publisher(\"Microsoft.ManagedIdentity\")\n                .type(\"ManagedIdentityExtensionForLinux\")\n                .typeHandlerVersion(\"1.0\")\n                .settings(\"{\\\"port\\\": 50342}\")\n                .build())\n            .build());\n\n        ctx.export(\"principalId\", example.identity().applyValue(_identity -\u003e _identity.principalId()));\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:compute:ScaleSet\n    properties:\n      name: vm-scaleset\n      resourceGroupName: ${exampleAzurermResourceGroup.name}\n      location: ${exampleAzurermResourceGroup.location}\n      sku:\n        name: ${vmSku}\n        tier: Standard\n        capacity: ${instanceCount}\n      identity:\n        type: SystemAssigned\n      extensions:\n        - name: MSILinuxExtension\n          publisher: Microsoft.ManagedIdentity\n          type: ManagedIdentityExtensionForLinux\n          typeHandlerVersion: '1.0'\n          settings: '{\"port\": 50342}'\noutputs:\n  principalId: ${example.identity.principalId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n"},"principalId":{"type":"string"},"tenantId":{"type":"string"},"type":{"type":"string","description":"Specifies the identity type to be assigned to the scale set. Allowable values are `SystemAssigned` and `UserAssigned`. For the `SystemAssigned` identity the scale set's Service Principal ID (SPN) can be retrieved after the scale set has been created. See [documentation](https://docs.microsoft.com/azure/active-directory/managed-service-identity/overview) for more information. Possible values are `SystemAssigned`, `UserAssigned` and `SystemAssigned, UserAssigned`.\n"}},"type":"object","required":["type"],"language":{"nodejs":{"requiredOutputs":["principalId","tenantId","type"]}}},"azure:compute/ScaleSetNetworkProfile:ScaleSetNetworkProfile":{"properties":{"acceleratedNetworking":{"type":"boolean","description":"Specifies whether to enable accelerated networking or not.\n"},"dnsSettings":{"$ref":"#/types/azure:compute/ScaleSetNetworkProfileDnsSettings:ScaleSetNetworkProfileDnsSettings","description":"A \u003cspan pulumi-lang-nodejs=\"`dnsSettings`\" pulumi-lang-dotnet=\"`DnsSettings`\" pulumi-lang-go=\"`dnsSettings`\" pulumi-lang-python=\"`dns_settings`\" pulumi-lang-yaml=\"`dnsSettings`\" pulumi-lang-java=\"`dnsSettings`\"\u003e`dns_settings`\u003c/span\u003e block as documented below.\n"},"ipConfigurations":{"type":"array","items":{"$ref":"#/types/azure:compute/ScaleSetNetworkProfileIpConfiguration:ScaleSetNetworkProfileIpConfiguration"},"description":"An \u003cspan pulumi-lang-nodejs=\"`ipConfiguration`\" pulumi-lang-dotnet=\"`IpConfiguration`\" pulumi-lang-go=\"`ipConfiguration`\" pulumi-lang-python=\"`ip_configuration`\" pulumi-lang-yaml=\"`ipConfiguration`\" pulumi-lang-java=\"`ipConfiguration`\"\u003e`ip_configuration`\u003c/span\u003e block as documented below.\n"},"ipForwarding":{"type":"boolean","description":"Whether IP forwarding is enabled on this NIC. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"name":{"type":"string","description":"Specifies the name of the network interface configuration.\n"},"networkSecurityGroupId":{"type":"string","description":"Specifies the identifier for the network security group.\n"},"primary":{"type":"boolean","description":"Indicates whether network interfaces created from the network interface configuration will be the primary NIC of the VM.\n"}},"type":"object","required":["ipConfigurations","name","primary"]},"azure:compute/ScaleSetNetworkProfileDnsSettings:ScaleSetNetworkProfileDnsSettings":{"properties":{"dnsServers":{"type":"array","items":{"type":"string"},"description":"Specifies an array of DNS servers.\n"}},"type":"object","required":["dnsServers"]},"azure:compute/ScaleSetNetworkProfileIpConfiguration:ScaleSetNetworkProfileIpConfiguration":{"properties":{"applicationGatewayBackendAddressPoolIds":{"type":"array","items":{"type":"string"},"description":"Specifies an array of references to backend address pools of application gateways. A scale set can reference backend address pools of multiple application gateways. Multiple scale sets can use the same application gateway.\n"},"applicationSecurityGroupIds":{"type":"array","items":{"type":"string"},"description":"Specifies up to \u003cspan pulumi-lang-nodejs=\"`20`\" pulumi-lang-dotnet=\"`20`\" pulumi-lang-go=\"`20`\" pulumi-lang-python=\"`20`\" pulumi-lang-yaml=\"`20`\" pulumi-lang-java=\"`20`\"\u003e`20`\u003c/span\u003e application security group IDs.\n"},"loadBalancerBackendAddressPoolIds":{"type":"array","items":{"type":"string"},"description":"Specifies an array of references to backend address pools of load balancers. A scale set can reference backend address pools of one public and one internal load balancer. Multiple scale sets cannot use the same load balancer.\n\n\u003e **NOTE:** When using this field you'll also need to configure a Rule for the Load Balancer, and use a \u003cspan pulumi-lang-nodejs=\"`dependsOn`\" pulumi-lang-dotnet=\"`DependsOn`\" pulumi-lang-go=\"`dependsOn`\" pulumi-lang-python=\"`depends_on`\" pulumi-lang-yaml=\"`dependsOn`\" pulumi-lang-java=\"`dependsOn`\"\u003e`depends_on`\u003c/span\u003e between this resource and the Load Balancer Rule.\n"},"loadBalancerInboundNatRulesIds":{"type":"array","items":{"type":"string"},"description":"Specifies an array of references to inbound NAT pools for load balancers. A scale set can reference inbound NAT pools of one public and one internal load balancer. Multiple scale sets cannot use the same load balancer.\n\n\u003e **NOTE:** When using this field you'll also need to configure a Rule for the Load Balancer, and use a \u003cspan pulumi-lang-nodejs=\"`dependsOn`\" pulumi-lang-dotnet=\"`DependsOn`\" pulumi-lang-go=\"`dependsOn`\" pulumi-lang-python=\"`depends_on`\" pulumi-lang-yaml=\"`dependsOn`\" pulumi-lang-java=\"`dependsOn`\"\u003e`depends_on`\u003c/span\u003e between this resource and the Load Balancer Rule.\n"},"name":{"type":"string","description":"Specifies name of the IP configuration.\n"},"primary":{"type":"boolean","description":"Specifies if this\u003cspan pulumi-lang-nodejs=\" ipConfiguration \" pulumi-lang-dotnet=\" IpConfiguration \" pulumi-lang-go=\" ipConfiguration \" pulumi-lang-python=\" ip_configuration \" pulumi-lang-yaml=\" ipConfiguration \" pulumi-lang-java=\" ipConfiguration \"\u003e ip_configuration \u003c/span\u003eis the primary one.\n"},"publicIpAddressConfiguration":{"$ref":"#/types/azure:compute/ScaleSetNetworkProfileIpConfigurationPublicIpAddressConfiguration:ScaleSetNetworkProfileIpConfigurationPublicIpAddressConfiguration","description":"Describes a virtual machines scale set IP Configuration's PublicIPAddress configuration. The \u003cspan pulumi-lang-nodejs=\"`publicIpAddressConfiguration`\" pulumi-lang-dotnet=\"`PublicIpAddressConfiguration`\" pulumi-lang-go=\"`publicIpAddressConfiguration`\" pulumi-lang-python=\"`public_ip_address_configuration`\" pulumi-lang-yaml=\"`publicIpAddressConfiguration`\" pulumi-lang-java=\"`publicIpAddressConfiguration`\"\u003e`public_ip_address_configuration`\u003c/span\u003e block is documented below.\n"},"subnetId":{"type":"string","description":"Specifies the identifier of the subnet.\n"}},"type":"object","required":["name","primary","subnetId"],"language":{"nodejs":{"requiredOutputs":["loadBalancerInboundNatRulesIds","name","primary","subnetId"]}}},"azure:compute/ScaleSetNetworkProfileIpConfigurationPublicIpAddressConfiguration:ScaleSetNetworkProfileIpConfigurationPublicIpAddressConfiguration":{"properties":{"domainNameLabel":{"type":"string","description":"The domain name label for the DNS settings.\n"},"idleTimeout":{"type":"integer","description":"The idle timeout in minutes. This value must be between 4 and 30.\n"},"name":{"type":"string","description":"The name of the public IP address configuration\n"}},"type":"object","required":["domainNameLabel","idleTimeout","name"]},"azure:compute/ScaleSetOsProfile:ScaleSetOsProfile":{"properties":{"adminPassword":{"type":"string","description":"Specifies the administrator password to use for all the instances of virtual machines in a scale set.\n","secret":true},"adminUsername":{"type":"string","description":"Specifies the administrator account name to use for all the instances of virtual machines in the scale set.\n"},"computerNamePrefix":{"type":"string","description":"Specifies the computer name prefix for all of the virtual machines in the scale set. Computer name prefixes must be 1 to 9 characters long for windows images and 1 - 58 for Linux. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"customData":{"type":"string","description":"Specifies custom data to supply to the machine. On Linux-based systems, this can be used as a cloud-init script. On other systems, this will be copied as a file on disk. Internally, this provider will base64 encode this value before sending it to the API. The maximum length of the binary array is 65535 bytes.\n"}},"type":"object","required":["adminUsername","computerNamePrefix"]},"azure:compute/ScaleSetOsProfileLinuxConfig:ScaleSetOsProfileLinuxConfig":{"properties":{"disablePasswordAuthentication":{"type":"boolean","description":"Specifies whether password authentication should be disabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sshKeys":{"type":"array","items":{"$ref":"#/types/azure:compute/ScaleSetOsProfileLinuxConfigSshKey:ScaleSetOsProfileLinuxConfigSshKey"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`sshKeys`\" pulumi-lang-dotnet=\"`SshKeys`\" pulumi-lang-go=\"`sshKeys`\" pulumi-lang-python=\"`ssh_keys`\" pulumi-lang-yaml=\"`sshKeys`\" pulumi-lang-java=\"`sshKeys`\"\u003e`ssh_keys`\u003c/span\u003e blocks as defined below.\n\n\u003e **Note:** Please note that the only allowed \u003cspan pulumi-lang-nodejs=\"`path`\" pulumi-lang-dotnet=\"`Path`\" pulumi-lang-go=\"`path`\" pulumi-lang-python=\"`path`\" pulumi-lang-yaml=\"`path`\" pulumi-lang-java=\"`path`\"\u003e`path`\u003c/span\u003e is `/home/\u003cusername\u003e/.ssh/authorized_keys` due to a limitation of Azure.\n\n\u003e **NOTE:** At least one \u003cspan pulumi-lang-nodejs=\"`sshKeys`\" pulumi-lang-dotnet=\"`SshKeys`\" pulumi-lang-go=\"`sshKeys`\" pulumi-lang-python=\"`ssh_keys`\" pulumi-lang-yaml=\"`sshKeys`\" pulumi-lang-java=\"`sshKeys`\"\u003e`ssh_keys`\u003c/span\u003e block is required if \u003cspan pulumi-lang-nodejs=\"`disablePasswordAuthentication`\" pulumi-lang-dotnet=\"`DisablePasswordAuthentication`\" pulumi-lang-go=\"`disablePasswordAuthentication`\" pulumi-lang-python=\"`disable_password_authentication`\" pulumi-lang-yaml=\"`disablePasswordAuthentication`\" pulumi-lang-java=\"`disablePasswordAuthentication`\"\u003e`disable_password_authentication`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"}},"type":"object"},"azure:compute/ScaleSetOsProfileLinuxConfigSshKey:ScaleSetOsProfileLinuxConfigSshKey":{"properties":{"keyData":{"type":"string","description":"The Public SSH Key which should be written to the \u003cspan pulumi-lang-nodejs=\"`path`\" pulumi-lang-dotnet=\"`Path`\" pulumi-lang-go=\"`path`\" pulumi-lang-python=\"`path`\" pulumi-lang-yaml=\"`path`\" pulumi-lang-java=\"`path`\"\u003e`path`\u003c/span\u003e defined above.\n\n\u003e **Note:** Azure only supports RSA SSH2 key signatures of at least 2048 bits in length\n\n\u003e **NOTE:** Rather than defining this in-line you can source this from a local file using the \u003cspan pulumi-lang-nodejs=\"`file`\" pulumi-lang-dotnet=\"`File`\" pulumi-lang-go=\"`file`\" pulumi-lang-python=\"`file`\" pulumi-lang-yaml=\"`file`\" pulumi-lang-java=\"`file`\"\u003e`file`\u003c/span\u003e function - for example \u003cspan pulumi-lang-nodejs=\"`keyData \" pulumi-lang-dotnet=\"`KeyData \" pulumi-lang-go=\"`keyData \" pulumi-lang-python=\"`key_data \" pulumi-lang-yaml=\"`keyData \" pulumi-lang-java=\"`keyData \"\u003e`key_data \u003c/span\u003e= file(\"~/.ssh/id_rsa.pub\")`.\n"},"path":{"type":"string","description":"The path of the destination file on the virtual machine\n\n\u003e **NOTE:** Due to a limitation in the Azure VM Agent the only allowed \u003cspan pulumi-lang-nodejs=\"`path`\" pulumi-lang-dotnet=\"`Path`\" pulumi-lang-go=\"`path`\" pulumi-lang-python=\"`path`\" pulumi-lang-yaml=\"`path`\" pulumi-lang-java=\"`path`\"\u003e`path`\u003c/span\u003e is `/home/{username}/.ssh/authorized_keys`.\n"}},"type":"object","required":["path"]},"azure:compute/ScaleSetOsProfileSecret:ScaleSetOsProfileSecret":{"properties":{"sourceVaultId":{"type":"string","description":"Specifies the key vault to use.\n"},"vaultCertificates":{"type":"array","items":{"$ref":"#/types/azure:compute/ScaleSetOsProfileSecretVaultCertificate:ScaleSetOsProfileSecretVaultCertificate"},"description":"(Required, on Windows machines) One or more \u003cspan pulumi-lang-nodejs=\"`vaultCertificates`\" pulumi-lang-dotnet=\"`VaultCertificates`\" pulumi-lang-go=\"`vaultCertificates`\" pulumi-lang-python=\"`vault_certificates`\" pulumi-lang-yaml=\"`vaultCertificates`\" pulumi-lang-java=\"`vaultCertificates`\"\u003e`vault_certificates`\u003c/span\u003e blocks as defined below.\n"}},"type":"object","required":["sourceVaultId"]},"azure:compute/ScaleSetOsProfileSecretVaultCertificate:ScaleSetOsProfileSecretVaultCertificate":{"properties":{"certificateStore":{"type":"string","description":"(Required, on windows machines) Specifies the certificate store on the Virtual Machine where the certificate should be added to.\n"},"certificateUrl":{"type":"string","description":"It is the Base64 encoding of a JSON Object that which is encoded in UTF-8 of which the contents need to be \u003cspan pulumi-lang-nodejs=\"`data`\" pulumi-lang-dotnet=\"`Data`\" pulumi-lang-go=\"`data`\" pulumi-lang-python=\"`data`\" pulumi-lang-yaml=\"`data`\" pulumi-lang-java=\"`data`\"\u003e`data`\u003c/span\u003e, `dataType` and \u003cspan pulumi-lang-nodejs=\"`password`\" pulumi-lang-dotnet=\"`Password`\" pulumi-lang-go=\"`password`\" pulumi-lang-python=\"`password`\" pulumi-lang-yaml=\"`password`\" pulumi-lang-java=\"`password`\"\u003e`password`\u003c/span\u003e.\n"}},"type":"object","required":["certificateUrl"]},"azure:compute/ScaleSetOsProfileWindowsConfig:ScaleSetOsProfileWindowsConfig":{"properties":{"additionalUnattendConfigs":{"type":"array","items":{"$ref":"#/types/azure:compute/ScaleSetOsProfileWindowsConfigAdditionalUnattendConfig:ScaleSetOsProfileWindowsConfigAdditionalUnattendConfig"},"description":"An \u003cspan pulumi-lang-nodejs=\"`additionalUnattendConfig`\" pulumi-lang-dotnet=\"`AdditionalUnattendConfig`\" pulumi-lang-go=\"`additionalUnattendConfig`\" pulumi-lang-python=\"`additional_unattend_config`\" pulumi-lang-yaml=\"`additionalUnattendConfig`\" pulumi-lang-java=\"`additionalUnattendConfig`\"\u003e`additional_unattend_config`\u003c/span\u003e block as documented below.\n"},"enableAutomaticUpgrades":{"type":"boolean","description":"Indicates whether virtual machines in the scale set are enabled for automatic updates.\n"},"provisionVmAgent":{"type":"boolean","description":"Indicates whether virtual machine agent should be provisioned on the virtual machines in the scale set.\n"},"winrms":{"type":"array","items":{"$ref":"#/types/azure:compute/ScaleSetOsProfileWindowsConfigWinrm:ScaleSetOsProfileWindowsConfigWinrm"},"description":"A collection of \u003cspan pulumi-lang-nodejs=\"`winrm`\" pulumi-lang-dotnet=\"`Winrm`\" pulumi-lang-go=\"`winrm`\" pulumi-lang-python=\"`winrm`\" pulumi-lang-yaml=\"`winrm`\" pulumi-lang-java=\"`winrm`\"\u003e`winrm`\u003c/span\u003e blocks as documented below.\n"}},"type":"object"},"azure:compute/ScaleSetOsProfileWindowsConfigAdditionalUnattendConfig:ScaleSetOsProfileWindowsConfigAdditionalUnattendConfig":{"properties":{"component":{"type":"string","description":"Specifies the name of the component to configure with the added content. The only allowable value is `Microsoft-Windows-Shell-Setup`.\n"},"content":{"type":"string","description":"Specifies the base-64 encoded XML formatted content that is added to the unattend.xml file for the specified path and component.\n","secret":true},"pass":{"type":"string","description":"Specifies the name of the pass that the content applies to. The only allowable value is `oobeSystem`.\n"},"settingName":{"type":"string","description":"Specifies the name of the setting to which the content applies. Possible values are: `FirstLogonCommands` and `AutoLogon`.\n"}},"type":"object","required":["component","content","pass","settingName"]},"azure:compute/ScaleSetOsProfileWindowsConfigWinrm:ScaleSetOsProfileWindowsConfigWinrm":{"properties":{"certificateUrl":{"type":"string","description":"Specifies URL of the certificate with which new Virtual Machines is provisioned.\n"},"protocol":{"type":"string","description":"Specifies the protocol of listener\n"}},"type":"object","required":["protocol"]},"azure:compute/ScaleSetPacketCaptureFilter:ScaleSetPacketCaptureFilter":{"properties":{"localIpAddress":{"type":"string","description":"The local IP Address to be filtered on. Specify `127.0.0.1` for a single address entry, `127.0.0.1-127.0.0.255` for a range and `127.0.0.1;127.0.0.5` for multiple entries. Multiple ranges and mixing ranges with multiple entries are currently not supported. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"localPort":{"type":"string","description":"The local port to be filtered on. Specify \u003cspan pulumi-lang-nodejs=\"`80`\" pulumi-lang-dotnet=\"`80`\" pulumi-lang-go=\"`80`\" pulumi-lang-python=\"`80`\" pulumi-lang-yaml=\"`80`\" pulumi-lang-java=\"`80`\"\u003e`80`\u003c/span\u003e for single port entry, `80-85` for a range and `80;443;` for multiple entries. Multiple ranges and mixing ranges with multiple entries are currently not supported. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"protocol":{"type":"string","description":"The Protocol to be filtered on. Possible values include `Any`, `TCP` and `UDP`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"remoteIpAddress":{"type":"string","description":"The remote IP Address to be filtered on. Specify `127.0.0.1` for a single address entry, `127.0.0.1-127.0.0.255` for a range and `127.0.0.1;127.0.0.5` for multiple entries. Multiple ranges and mixing ranges with multiple entries are currently not supported. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"remotePort":{"type":"string","description":"The remote port to be filtered on. Specify \u003cspan pulumi-lang-nodejs=\"`80`\" pulumi-lang-dotnet=\"`80`\" pulumi-lang-go=\"`80`\" pulumi-lang-python=\"`80`\" pulumi-lang-yaml=\"`80`\" pulumi-lang-java=\"`80`\"\u003e`80`\u003c/span\u003e for single port entry, `80-85` for a range and `80;443;` for multiple entries. Multiple ranges and mixing ranges with multiple entries are currently not supported. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["protocol"]},"azure:compute/ScaleSetPacketCaptureMachineScope:ScaleSetPacketCaptureMachineScope":{"properties":{"excludeInstanceIds":{"type":"array","items":{"type":"string"},"description":"A list of Virtual Machine Scale Set instance IDs which should be excluded from running Packet Capture, e.g. `[\"0\", \"2\"]`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"includeInstanceIds":{"type":"array","items":{"type":"string"},"description":"A list of Virtual Machine Scale Set instance IDs which should be included for Packet Capture, e.g. `[\"1\", \"3\"]`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"},"azure:compute/ScaleSetPacketCaptureStorageLocation:ScaleSetPacketCaptureStorageLocation":{"properties":{"filePath":{"type":"string","description":"A valid local path on the targeting VM. Must include the name of the capture file (*.cap). For Linux virtual machine it must start with `/var/captures`.\n"},"storageAccountId":{"type":"string","description":"The ID of the storage account to save the packet capture session\n\n\u003e **Note:** At least one of \u003cspan pulumi-lang-nodejs=\"`filePath`\" pulumi-lang-dotnet=\"`FilePath`\" pulumi-lang-go=\"`filePath`\" pulumi-lang-python=\"`file_path`\" pulumi-lang-yaml=\"`filePath`\" pulumi-lang-java=\"`filePath`\"\u003e`file_path`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`storageAccountId`\" pulumi-lang-dotnet=\"`StorageAccountId`\" pulumi-lang-go=\"`storageAccountId`\" pulumi-lang-python=\"`storage_account_id`\" pulumi-lang-yaml=\"`storageAccountId`\" pulumi-lang-java=\"`storageAccountId`\"\u003e`storage_account_id`\u003c/span\u003e must be specified.\n"},"storagePath":{"type":"string","description":"The URI of the storage path where the packet capture sessions are saved to.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["storagePath"]}}},"azure:compute/ScaleSetPlan:ScaleSetPlan":{"properties":{"name":{"type":"string","description":"Specifies the name of the image from the marketplace.\n"},"product":{"type":"string","description":"Specifies the product of the image from the marketplace.\n"},"publisher":{"type":"string","description":"Specifies the publisher of the image.\n"}},"type":"object","required":["name","product","publisher"]},"azure:compute/ScaleSetRollingUpgradePolicy:ScaleSetRollingUpgradePolicy":{"properties":{"maxBatchInstancePercent":{"type":"integer","description":"The maximum percent of total virtual machine instances that will be upgraded simultaneously by the rolling upgrade in one batch. As this is a maximum, unhealthy instances in previous or future batches can cause the percentage of instances in a batch to decrease to ensure higher reliability. Defaults to \u003cspan pulumi-lang-nodejs=\"`20`\" pulumi-lang-dotnet=\"`20`\" pulumi-lang-go=\"`20`\" pulumi-lang-python=\"`20`\" pulumi-lang-yaml=\"`20`\" pulumi-lang-java=\"`20`\"\u003e`20`\u003c/span\u003e.\n"},"maxUnhealthyInstancePercent":{"type":"integer","description":"The maximum percentage of the total virtual machine instances in the scale set that can be simultaneously unhealthy, either as a result of being upgraded, or by being found in an unhealthy state by the virtual machine health checks before the rolling upgrade aborts. This constraint will be checked prior to starting any batch. Defaults to \u003cspan pulumi-lang-nodejs=\"`20`\" pulumi-lang-dotnet=\"`20`\" pulumi-lang-go=\"`20`\" pulumi-lang-python=\"`20`\" pulumi-lang-yaml=\"`20`\" pulumi-lang-java=\"`20`\"\u003e`20`\u003c/span\u003e.\n"},"maxUnhealthyUpgradedInstancePercent":{"type":"integer","description":"The maximum percentage of upgraded virtual machine instances that can be found to be in an unhealthy state. This check will happen after each batch is upgraded. If this percentage is ever exceeded, the rolling update aborts. Defaults to \u003cspan pulumi-lang-nodejs=\"`20`\" pulumi-lang-dotnet=\"`20`\" pulumi-lang-go=\"`20`\" pulumi-lang-python=\"`20`\" pulumi-lang-yaml=\"`20`\" pulumi-lang-java=\"`20`\"\u003e`20`\u003c/span\u003e.\n"},"pauseTimeBetweenBatches":{"type":"string","description":"The wait time between completing the update for all virtual machines in one batch and starting the next batch. The time duration should be specified in ISO 8601 format for duration (\u003chttps://en.wikipedia.org/wiki/ISO_8601#Durations\u003e). Defaults to `PT0S` seconds represented as `PT0S`.\n"}},"type":"object"},"azure:compute/ScaleSetSku:ScaleSetSku":{"properties":{"capacity":{"type":"integer","description":"Specifies the number of virtual machines in the scale set.\n"},"name":{"type":"string","description":"Specifies the size of virtual machines in a scale set.\n"},"tier":{"type":"string","description":"Specifies the tier of virtual machines in a scale set. Possible values, \u003cspan pulumi-lang-nodejs=\"`standard`\" pulumi-lang-dotnet=\"`Standard`\" pulumi-lang-go=\"`standard`\" pulumi-lang-python=\"`standard`\" pulumi-lang-yaml=\"`standard`\" pulumi-lang-java=\"`standard`\"\u003e`standard`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`basic`\" pulumi-lang-dotnet=\"`Basic`\" pulumi-lang-go=\"`basic`\" pulumi-lang-python=\"`basic`\" pulumi-lang-yaml=\"`basic`\" pulumi-lang-java=\"`basic`\"\u003e`basic`\u003c/span\u003e.\n"}},"type":"object","required":["capacity","name"],"language":{"nodejs":{"requiredOutputs":["capacity","name","tier"]}}},"azure:compute/ScaleSetStandbyPoolElasticityProfile:ScaleSetStandbyPoolElasticityProfile":{"properties":{"maxReadyCapacity":{"type":"integer","description":"Specifies the maximum number of virtual machines in the standby pool.\n"},"minReadyCapacity":{"type":"integer","description":"Specifies the desired minimum number of virtual machines in the standby pool.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`minReadyCapacity`\" pulumi-lang-dotnet=\"`MinReadyCapacity`\" pulumi-lang-go=\"`minReadyCapacity`\" pulumi-lang-python=\"`min_ready_capacity`\" pulumi-lang-yaml=\"`minReadyCapacity`\" pulumi-lang-java=\"`minReadyCapacity`\"\u003e`min_ready_capacity`\u003c/span\u003e cannot exceed \u003cspan pulumi-lang-nodejs=\"`maxReadyCapacity`\" pulumi-lang-dotnet=\"`MaxReadyCapacity`\" pulumi-lang-go=\"`maxReadyCapacity`\" pulumi-lang-python=\"`max_ready_capacity`\" pulumi-lang-yaml=\"`maxReadyCapacity`\" pulumi-lang-java=\"`maxReadyCapacity`\"\u003e`max_ready_capacity`\u003c/span\u003e.\n"}},"type":"object","required":["maxReadyCapacity","minReadyCapacity"]},"azure:compute/ScaleSetStorageProfileDataDisk:ScaleSetStorageProfileDataDisk":{"properties":{"caching":{"type":"string","description":"Specifies the caching requirements. Possible values include: `None` (default), `ReadOnly`, `ReadWrite`.\n"},"createOption":{"type":"string","description":"Specifies how the data disk should be created. The only possible options are `FromImage` and `Empty`.\n"},"diskSizeGb":{"type":"integer","description":"Specifies the size of the disk in GB. This element is required when creating an empty disk.\n"},"lun":{"type":"integer","description":"Specifies the Logical Unit Number of the disk in each virtual machine in the scale set.\n"},"managedDiskType":{"type":"string","description":"Specifies the type of managed disk to create. Value must be either `Standard_LRS`, `StandardSSD_LRS` or `Premium_LRS`.\n"}},"type":"object","required":["createOption","lun"],"language":{"nodejs":{"requiredOutputs":["caching","createOption","diskSizeGb","lun","managedDiskType"]}}},"azure:compute/ScaleSetStorageProfileImageReference:ScaleSetStorageProfileImageReference":{"properties":{"id":{"type":"string","description":"Specifies the ID of the (custom) image to use to create the virtual machine scale set, as in the example below.\n"},"offer":{"type":"string","description":"Specifies the offer of the image used to create the virtual machines.\n"},"publisher":{"type":"string","description":"Specifies the publisher of the image used to create the virtual machines.\n"},"sku":{"type":"string","description":"Specifies the SKU of the image used to create the virtual machines.\n"},"version":{"type":"string","description":"Specifies the version of the image used to create the virtual machines.\n"}},"type":"object"},"azure:compute/ScaleSetStorageProfileOsDisk:ScaleSetStorageProfileOsDisk":{"properties":{"caching":{"type":"string","description":"Specifies the caching requirements. Possible values include: `None` (default), `ReadOnly`, `ReadWrite`.\n"},"createOption":{"type":"string","description":"Specifies how the virtual machine should be created. The only possible option is `FromImage`.\n"},"image":{"type":"string","description":"Specifies the blob URI for user image. A virtual machine scale set creates an os disk in the same container as the user image.\nUpdating the osDisk image causes the existing disk to be deleted and a new one created with the new image. If the VM scale set is in Manual upgrade mode then the virtual machines are not updated until they have manualUpgrade applied to them.\nWhen setting this field \u003cspan pulumi-lang-nodejs=\"`osType`\" pulumi-lang-dotnet=\"`OsType`\" pulumi-lang-go=\"`osType`\" pulumi-lang-python=\"`os_type`\" pulumi-lang-yaml=\"`osType`\" pulumi-lang-java=\"`osType`\"\u003e`os_type`\u003c/span\u003e needs to be specified. Cannot be used when \u003cspan pulumi-lang-nodejs=\"`vhdContainers`\" pulumi-lang-dotnet=\"`VhdContainers`\" pulumi-lang-go=\"`vhdContainers`\" pulumi-lang-python=\"`vhd_containers`\" pulumi-lang-yaml=\"`vhdContainers`\" pulumi-lang-java=\"`vhdContainers`\"\u003e`vhd_containers`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`managedDiskType`\" pulumi-lang-dotnet=\"`ManagedDiskType`\" pulumi-lang-go=\"`managedDiskType`\" pulumi-lang-python=\"`managed_disk_type`\" pulumi-lang-yaml=\"`managedDiskType`\" pulumi-lang-java=\"`managedDiskType`\"\u003e`managed_disk_type`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`storageProfileImageReference`\" pulumi-lang-dotnet=\"`StorageProfileImageReference`\" pulumi-lang-go=\"`storageProfileImageReference`\" pulumi-lang-python=\"`storage_profile_image_reference`\" pulumi-lang-yaml=\"`storageProfileImageReference`\" pulumi-lang-java=\"`storageProfileImageReference`\"\u003e`storage_profile_image_reference`\u003c/span\u003e are specified.\n"},"managedDiskType":{"type":"string","description":"Specifies the type of managed disk to create. Value you must be either `Standard_LRS`, `StandardSSD_LRS` or `Premium_LRS`. Cannot be used when \u003cspan pulumi-lang-nodejs=\"`vhdContainers`\" pulumi-lang-dotnet=\"`VhdContainers`\" pulumi-lang-go=\"`vhdContainers`\" pulumi-lang-python=\"`vhd_containers`\" pulumi-lang-yaml=\"`vhdContainers`\" pulumi-lang-java=\"`vhdContainers`\"\u003e`vhd_containers`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`image`\" pulumi-lang-dotnet=\"`Image`\" pulumi-lang-go=\"`image`\" pulumi-lang-python=\"`image`\" pulumi-lang-yaml=\"`image`\" pulumi-lang-java=\"`image`\"\u003e`image`\u003c/span\u003e is specified.\n"},"name":{"type":"string","description":"Specifies the disk name. Must be specified when using unmanaged disk ('managed_disk_type' property not set).\n"},"osType":{"type":"string","description":"Specifies the operating system Type, valid values are windows, Linux.\n"},"vhdContainers":{"type":"array","items":{"type":"string"},"description":"Specifies the VHD URI. Cannot be used when \u003cspan pulumi-lang-nodejs=\"`image`\" pulumi-lang-dotnet=\"`Image`\" pulumi-lang-go=\"`image`\" pulumi-lang-python=\"`image`\" pulumi-lang-yaml=\"`image`\" pulumi-lang-java=\"`image`\"\u003e`image`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`managedDiskType`\" pulumi-lang-dotnet=\"`ManagedDiskType`\" pulumi-lang-go=\"`managedDiskType`\" pulumi-lang-python=\"`managed_disk_type`\" pulumi-lang-yaml=\"`managedDiskType`\" pulumi-lang-java=\"`managedDiskType`\"\u003e`managed_disk_type`\u003c/span\u003e is specified.\n"}},"type":"object","required":["createOption"],"language":{"nodejs":{"requiredOutputs":["caching","createOption","managedDiskType"]}}},"azure:compute/SharedImageGallerySharing:SharedImageGallerySharing":{"properties":{"communityGallery":{"$ref":"#/types/azure:compute/SharedImageGallerySharingCommunityGallery:SharedImageGallerySharingCommunityGallery","description":"A \u003cspan pulumi-lang-nodejs=\"`communityGallery`\" pulumi-lang-dotnet=\"`CommunityGallery`\" pulumi-lang-go=\"`communityGallery`\" pulumi-lang-python=\"`community_gallery`\" pulumi-lang-yaml=\"`communityGallery`\" pulumi-lang-java=\"`communityGallery`\"\u003e`community_gallery`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`communityGallery`\" pulumi-lang-dotnet=\"`CommunityGallery`\" pulumi-lang-go=\"`communityGallery`\" pulumi-lang-python=\"`community_gallery`\" pulumi-lang-yaml=\"`communityGallery`\" pulumi-lang-java=\"`communityGallery`\"\u003e`community_gallery`\u003c/span\u003e must be set when \u003cspan pulumi-lang-nodejs=\"`permission`\" pulumi-lang-dotnet=\"`Permission`\" pulumi-lang-go=\"`permission`\" pulumi-lang-python=\"`permission`\" pulumi-lang-yaml=\"`permission`\" pulumi-lang-java=\"`permission`\"\u003e`permission`\u003c/span\u003e is set to `Community`.\n","willReplaceOnChanges":true},"permission":{"type":"string","description":"The permission of the Shared Image Gallery when sharing. Possible values are `Community`, `Groups` and `Private`. Changing this forces a new resource to be created.\n\n\u003e **Note:** This requires that the Preview Feature `Microsoft.Compute/CommunityGalleries` is enabled, see [the documentation](https://learn.microsoft.com/azure/virtual-machines/share-gallery-community?tabs=cli) for more information.\n","willReplaceOnChanges":true}},"type":"object","required":["permission"]},"azure:compute/SharedImageGallerySharingCommunityGallery:SharedImageGallerySharingCommunityGallery":{"properties":{"eula":{"type":"string","description":"The End User Licence Agreement for the Shared Image Gallery. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the Shared Image Gallery. Changing this forces a new resource to be created.\n"},"prefix":{"type":"string","description":"Prefix of the community public name for the Shared Image Gallery. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"publisherEmail":{"type":"string","description":"Email of the publisher for the Shared Image Gallery. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"publisherUri":{"type":"string","description":"URI of the publisher for the Shared Image Gallery. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["eula","prefix","publisherEmail","publisherUri"],"language":{"nodejs":{"requiredOutputs":["eula","name","prefix","publisherEmail","publisherUri"]}}},"azure:compute/SharedImageIdentifier:SharedImageIdentifier":{"properties":{"offer":{"type":"string","description":"The Offer Name for this Shared Image. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"publisher":{"type":"string","description":"The Publisher Name for this Gallery Image. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sku":{"type":"string","description":"The Name of the SKU for this Gallery Image. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["offer","publisher","sku"]},"azure:compute/SharedImagePurchasePlan:SharedImagePurchasePlan":{"properties":{"name":{"type":"string","description":"The Purchase Plan Name for this Shared Image. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"product":{"type":"string","description":"The Purchase Plan Product for this Gallery Image. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"publisher":{"type":"string","description":"The Purchase Plan Publisher for this Gallery Image. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["name"]},"azure:compute/SharedImageVersionTargetRegion:SharedImageVersionTargetRegion":{"properties":{"diskEncryptionSetId":{"type":"string","description":"The ID of the Disk Encryption Set to encrypt the Image Version in the target region. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"excludeFromLatestEnabled":{"type":"boolean","description":"Specifies whether this Shared Image Version should be excluded when querying for the \u003cspan pulumi-lang-nodejs=\"`latest`\" pulumi-lang-dotnet=\"`Latest`\" pulumi-lang-go=\"`latest`\" pulumi-lang-python=\"`latest`\" pulumi-lang-yaml=\"`latest`\" pulumi-lang-java=\"`latest`\"\u003e`latest`\u003c/span\u003e version. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"name":{"type":"string","description":"The Azure Region in which this Image Version should exist.\n"},"regionalReplicaCount":{"type":"integer","description":"The number of replicas of the Image Version to be created per region.\n"},"storageAccountType":{"type":"string","description":"The storage account type for the image version. Possible values are `Standard_LRS`, `Premium_LRS` and `Standard_ZRS`. Defaults to `Standard_LRS`. You can store all of your image version replicas in Zone Redundant Storage by specifying `Standard_ZRS`.\n"}},"type":"object","required":["name","regionalReplicaCount"]},"azure:compute/SnapshotEncryptionSettings:SnapshotEncryptionSettings":{"properties":{"diskEncryptionKey":{"$ref":"#/types/azure:compute/SnapshotEncryptionSettingsDiskEncryptionKey:SnapshotEncryptionSettingsDiskEncryptionKey","description":"A \u003cspan pulumi-lang-nodejs=\"`diskEncryptionKey`\" pulumi-lang-dotnet=\"`DiskEncryptionKey`\" pulumi-lang-go=\"`diskEncryptionKey`\" pulumi-lang-python=\"`disk_encryption_key`\" pulumi-lang-yaml=\"`diskEncryptionKey`\" pulumi-lang-java=\"`diskEncryptionKey`\"\u003e`disk_encryption_key`\u003c/span\u003e block as defined below.\n"},"keyEncryptionKey":{"$ref":"#/types/azure:compute/SnapshotEncryptionSettingsKeyEncryptionKey:SnapshotEncryptionSettingsKeyEncryptionKey","description":"A \u003cspan pulumi-lang-nodejs=\"`keyEncryptionKey`\" pulumi-lang-dotnet=\"`KeyEncryptionKey`\" pulumi-lang-go=\"`keyEncryptionKey`\" pulumi-lang-python=\"`key_encryption_key`\" pulumi-lang-yaml=\"`keyEncryptionKey`\" pulumi-lang-java=\"`keyEncryptionKey`\"\u003e`key_encryption_key`\u003c/span\u003e block as defined below.\n"}},"type":"object","required":["diskEncryptionKey"]},"azure:compute/SnapshotEncryptionSettingsDiskEncryptionKey:SnapshotEncryptionSettingsDiskEncryptionKey":{"properties":{"secretUrl":{"type":"string","description":"The URL to the Key Vault Secret used as the Disk Encryption Key. This can be found as \u003cspan pulumi-lang-nodejs=\"`id`\" pulumi-lang-dotnet=\"`Id`\" pulumi-lang-go=\"`id`\" pulumi-lang-python=\"`id`\" pulumi-lang-yaml=\"`id`\" pulumi-lang-java=\"`id`\"\u003e`id`\u003c/span\u003e on the \u003cspan pulumi-lang-nodejs=\"`azure.keyvault.Secret`\" pulumi-lang-dotnet=\"`azure.keyvault.Secret`\" pulumi-lang-go=\"`keyvault.Secret`\" pulumi-lang-python=\"`keyvault.Secret`\" pulumi-lang-yaml=\"`azure.keyvault.Secret`\" pulumi-lang-java=\"`azure.keyvault.Secret`\"\u003e`azure.keyvault.Secret`\u003c/span\u003e resource.\n"},"sourceVaultId":{"type":"string","description":"The ID of the source Key Vault. This can be found as \u003cspan pulumi-lang-nodejs=\"`id`\" pulumi-lang-dotnet=\"`Id`\" pulumi-lang-go=\"`id`\" pulumi-lang-python=\"`id`\" pulumi-lang-yaml=\"`id`\" pulumi-lang-java=\"`id`\"\u003e`id`\u003c/span\u003e on the \u003cspan pulumi-lang-nodejs=\"`azure.keyvault.KeyVault`\" pulumi-lang-dotnet=\"`azure.keyvault.KeyVault`\" pulumi-lang-go=\"`keyvault.KeyVault`\" pulumi-lang-python=\"`keyvault.KeyVault`\" pulumi-lang-yaml=\"`azure.keyvault.KeyVault`\" pulumi-lang-java=\"`azure.keyvault.KeyVault`\"\u003e`azure.keyvault.KeyVault`\u003c/span\u003e resource.\n"}},"type":"object","required":["secretUrl","sourceVaultId"]},"azure:compute/SnapshotEncryptionSettingsKeyEncryptionKey:SnapshotEncryptionSettingsKeyEncryptionKey":{"properties":{"keyUrl":{"type":"string","description":"The URL to the Key Vault Key used as the Key Encryption Key. This can be found as \u003cspan pulumi-lang-nodejs=\"`id`\" pulumi-lang-dotnet=\"`Id`\" pulumi-lang-go=\"`id`\" pulumi-lang-python=\"`id`\" pulumi-lang-yaml=\"`id`\" pulumi-lang-java=\"`id`\"\u003e`id`\u003c/span\u003e on the \u003cspan pulumi-lang-nodejs=\"`azure.keyvault.Key`\" pulumi-lang-dotnet=\"`azure.keyvault.Key`\" pulumi-lang-go=\"`keyvault.Key`\" pulumi-lang-python=\"`keyvault.Key`\" pulumi-lang-yaml=\"`azure.keyvault.Key`\" pulumi-lang-java=\"`azure.keyvault.Key`\"\u003e`azure.keyvault.Key`\u003c/span\u003e resource.\n"},"sourceVaultId":{"type":"string","description":"The ID of the source Key Vault. This can be found as \u003cspan pulumi-lang-nodejs=\"`id`\" pulumi-lang-dotnet=\"`Id`\" pulumi-lang-go=\"`id`\" pulumi-lang-python=\"`id`\" pulumi-lang-yaml=\"`id`\" pulumi-lang-java=\"`id`\"\u003e`id`\u003c/span\u003e on the \u003cspan pulumi-lang-nodejs=\"`azure.keyvault.KeyVault`\" pulumi-lang-dotnet=\"`azure.keyvault.KeyVault`\" pulumi-lang-go=\"`keyvault.KeyVault`\" pulumi-lang-python=\"`keyvault.KeyVault`\" pulumi-lang-yaml=\"`azure.keyvault.KeyVault`\" pulumi-lang-java=\"`azure.keyvault.KeyVault`\"\u003e`azure.keyvault.KeyVault`\u003c/span\u003e resource.\n"}},"type":"object","required":["keyUrl","sourceVaultId"]},"azure:compute/VirtualMachineAdditionalCapabilities:VirtualMachineAdditionalCapabilities":{"properties":{"ultraSsdEnabled":{"type":"boolean","description":"Should Ultra SSD disk be enabled for this Virtual Machine? Changing this forces a new resource to be created.\n\n\u003e **Note:** Azure Ultra Disk Storage is only available in a region that support availability zones and can only enabled on the following VM series: `ESv3`, `DSv3`, `FSv3`, `LSv2`, `M` and `Mv2`. For more information see the `Azure Ultra Disk Storage` [product documentation](https://docs.microsoft.com/azure/virtual-machines/windows/disks-enable-ultra-ssd).\n","willReplaceOnChanges":true}},"type":"object","required":["ultraSsdEnabled"]},"azure:compute/VirtualMachineBootDiagnostics:VirtualMachineBootDiagnostics":{"properties":{"enabled":{"type":"boolean","description":"Should Boot Diagnostics be enabled for this Virtual Machine?\n"},"storageUri":{"type":"string","description":"The Storage Account's Blob Endpoint which should hold the virtual machine's diagnostic files.\n\n\u003e **NOTE:** This needs to be the root of a Storage Account and not a Storage Container.\n"}},"type":"object","required":["enabled","storageUri"]},"azure:compute/VirtualMachineIdentity:VirtualMachineIdentity":{"properties":{"identityIds":{"type":"array","items":{"type":"string"},"description":"Specifies a list of User Assigned Managed Identity IDs to be assigned to this Virtual Machine.\n\n\u003e **NOTE:** This is required when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to `UserAssigned` or `SystemAssigned, UserAssigned`.\n"},"principalId":{"type":"string","description":"The Principal ID associated with this Managed Service Identity.\n"},"tenantId":{"type":"string"},"type":{"type":"string","description":"Specifies the type of Managed Service Identity that should be configured on this Virtual Machine. Possible values are `SystemAssigned`, `UserAssigned`, `SystemAssigned, UserAssigned` (to enable both).\n\n\u003e **NOTE:** Managed Service Identity previously required the installation of a VM Extension, but this information [is now available via the Azure Instance Metadata Service](https://docs.microsoft.com/azure/active-directory/managed-service-identity/overview#how-does-it-work).\n\n\u003e **NOTE:** When \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to `SystemAssigned`, identity the Principal ID can be retrieved after the virtual machine has been created. More details are available below. See [documentation](https://docs.microsoft.com/azure/active-directory/managed-service-identity/overview) for additional information.\n"}},"type":"object","required":["type"],"language":{"nodejs":{"requiredOutputs":["principalId","tenantId","type"]}}},"azure:compute/VirtualMachineOsProfile:VirtualMachineOsProfile":{"properties":{"adminPassword":{"type":"string","description":"(Optional for Windows, Optional for Linux) The password associated with the local administrator account.\n\n\u003e **NOTE:** If using Linux, it may be preferable to use SSH Key authentication (available in the \u003cspan pulumi-lang-nodejs=\"`osProfileLinuxConfig`\" pulumi-lang-dotnet=\"`OsProfileLinuxConfig`\" pulumi-lang-go=\"`osProfileLinuxConfig`\" pulumi-lang-python=\"`os_profile_linux_config`\" pulumi-lang-yaml=\"`osProfileLinuxConfig`\" pulumi-lang-java=\"`osProfileLinuxConfig`\"\u003e`os_profile_linux_config`\u003c/span\u003e block) instead of password authentication.\n","secret":true},"adminUsername":{"type":"string","description":"Specifies the name of the local administrator account.\n"},"computerName":{"type":"string","description":"Specifies the name of the Virtual Machine. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"customData":{"type":"string","description":"Specifies custom data to supply to the machine. On Linux-based systems, this can be used as a cloud-init script. On other systems, this will be copied as a file on disk. Internally, this provider will base64 encode this value before sending it to the API. The maximum length of the binary array is 65535 bytes. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["adminUsername","computerName"],"language":{"nodejs":{"requiredOutputs":["adminUsername","computerName","customData"]}}},"azure:compute/VirtualMachineOsProfileLinuxConfig:VirtualMachineOsProfileLinuxConfig":{"properties":{"disablePasswordAuthentication":{"type":"boolean","description":"Specifies whether password authentication should be disabled. If set to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e, an \u003cspan pulumi-lang-nodejs=\"`adminPassword`\" pulumi-lang-dotnet=\"`AdminPassword`\" pulumi-lang-go=\"`adminPassword`\" pulumi-lang-python=\"`admin_password`\" pulumi-lang-yaml=\"`adminPassword`\" pulumi-lang-java=\"`adminPassword`\"\u003e`admin_password`\u003c/span\u003e must be specified.\n"},"sshKeys":{"type":"array","items":{"$ref":"#/types/azure:compute/VirtualMachineOsProfileLinuxConfigSshKey:VirtualMachineOsProfileLinuxConfigSshKey"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`sshKeys`\" pulumi-lang-dotnet=\"`SshKeys`\" pulumi-lang-go=\"`sshKeys`\" pulumi-lang-python=\"`ssh_keys`\" pulumi-lang-yaml=\"`sshKeys`\" pulumi-lang-java=\"`sshKeys`\"\u003e`ssh_keys`\u003c/span\u003e blocks as defined below. This field is required if \u003cspan pulumi-lang-nodejs=\"`disablePasswordAuthentication`\" pulumi-lang-dotnet=\"`DisablePasswordAuthentication`\" pulumi-lang-go=\"`disablePasswordAuthentication`\" pulumi-lang-python=\"`disable_password_authentication`\" pulumi-lang-yaml=\"`disablePasswordAuthentication`\" pulumi-lang-java=\"`disablePasswordAuthentication`\"\u003e`disable_password_authentication`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"}},"type":"object","required":["disablePasswordAuthentication"]},"azure:compute/VirtualMachineOsProfileLinuxConfigSshKey:VirtualMachineOsProfileLinuxConfigSshKey":{"properties":{"keyData":{"type":"string","description":"The Public SSH Key which should be written to the \u003cspan pulumi-lang-nodejs=\"`path`\" pulumi-lang-dotnet=\"`Path`\" pulumi-lang-go=\"`path`\" pulumi-lang-python=\"`path`\" pulumi-lang-yaml=\"`path`\" pulumi-lang-java=\"`path`\"\u003e`path`\u003c/span\u003e defined above.\n\n\u003e **Note:** Azure only supports RSA SSH2 key signatures of at least 2048 bits in length\n"},"path":{"type":"string","description":"The path of the destination file on the virtual machine\n\n\u003e **NOTE:** Due to a limitation in the Azure VM Agent the only allowed \u003cspan pulumi-lang-nodejs=\"`path`\" pulumi-lang-dotnet=\"`Path`\" pulumi-lang-go=\"`path`\" pulumi-lang-python=\"`path`\" pulumi-lang-yaml=\"`path`\" pulumi-lang-java=\"`path`\"\u003e`path`\u003c/span\u003e is `/home/{username}/.ssh/authorized_keys`.\n"}},"type":"object","required":["keyData","path"]},"azure:compute/VirtualMachineOsProfileSecret:VirtualMachineOsProfileSecret":{"properties":{"sourceVaultId":{"type":"string","description":"Specifies the ID of the Key Vault to use.\n"},"vaultCertificates":{"type":"array","items":{"$ref":"#/types/azure:compute/VirtualMachineOsProfileSecretVaultCertificate:VirtualMachineOsProfileSecretVaultCertificate"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`vaultCertificates`\" pulumi-lang-dotnet=\"`VaultCertificates`\" pulumi-lang-go=\"`vaultCertificates`\" pulumi-lang-python=\"`vault_certificates`\" pulumi-lang-yaml=\"`vaultCertificates`\" pulumi-lang-java=\"`vaultCertificates`\"\u003e`vault_certificates`\u003c/span\u003e blocks as defined below.\n"}},"type":"object","required":["sourceVaultId"]},"azure:compute/VirtualMachineOsProfileSecretVaultCertificate:VirtualMachineOsProfileSecretVaultCertificate":{"properties":{"certificateStore":{"type":"string","description":"(Required, on windows machines) Specifies the certificate store on the Virtual Machine where the certificate should be added to, such as `My`.\n"},"certificateUrl":{"type":"string","description":"The ID of the Key Vault Secret. Stored secret is the Base64 encoding of a JSON Object that which is encoded in UTF-8 of which the contents need to be:\n\n```json\n{\n\"data\":\"\u003cBase64-encoded-certificate\u003e\",\n\"dataType\":\"pfx\",\n\"password\":\"\u003cpfx-file-password\u003e\"\n}\n```\n\n\u003e **NOTE:** If your certificate is stored in Azure Key Vault - this can be sourced from the \u003cspan pulumi-lang-nodejs=\"`secretId`\" pulumi-lang-dotnet=\"`SecretId`\" pulumi-lang-go=\"`secretId`\" pulumi-lang-python=\"`secret_id`\" pulumi-lang-yaml=\"`secretId`\" pulumi-lang-java=\"`secretId`\"\u003e`secret_id`\u003c/span\u003e property on the \u003cspan pulumi-lang-nodejs=\"`azure.keyvault.Certificate`\" pulumi-lang-dotnet=\"`azure.keyvault.Certificate`\" pulumi-lang-go=\"`keyvault.Certificate`\" pulumi-lang-python=\"`keyvault.Certificate`\" pulumi-lang-yaml=\"`azure.keyvault.Certificate`\" pulumi-lang-java=\"`azure.keyvault.Certificate`\"\u003e`azure.keyvault.Certificate`\u003c/span\u003e resource.\n"}},"type":"object","required":["certificateUrl"]},"azure:compute/VirtualMachineOsProfileWindowsConfig:VirtualMachineOsProfileWindowsConfig":{"properties":{"additionalUnattendConfigs":{"type":"array","items":{"$ref":"#/types/azure:compute/VirtualMachineOsProfileWindowsConfigAdditionalUnattendConfig:VirtualMachineOsProfileWindowsConfigAdditionalUnattendConfig"},"description":"An \u003cspan pulumi-lang-nodejs=\"`additionalUnattendConfig`\" pulumi-lang-dotnet=\"`AdditionalUnattendConfig`\" pulumi-lang-go=\"`additionalUnattendConfig`\" pulumi-lang-python=\"`additional_unattend_config`\" pulumi-lang-yaml=\"`additionalUnattendConfig`\" pulumi-lang-java=\"`additionalUnattendConfig`\"\u003e`additional_unattend_config`\u003c/span\u003e block as defined below.\n"},"enableAutomaticUpgrades":{"type":"boolean","description":"Are automatic updates enabled on this Virtual Machine? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"provisionVmAgent":{"type":"boolean","description":"Should the Azure Virtual Machine Guest Agent be installed on this Virtual Machine? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **NOTE:** This is different from the Default value used for this field within Azure.\n"},"timezone":{"type":"string","description":"Specifies the time zone of the virtual machine, [the possible values are defined here](https://jackstromberg.com/2017/01/list-of-time-zones-consumed-by-azure/). Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"winrms":{"type":"array","items":{"$ref":"#/types/azure:compute/VirtualMachineOsProfileWindowsConfigWinrm:VirtualMachineOsProfileWindowsConfigWinrm"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`winrm`\" pulumi-lang-dotnet=\"`Winrm`\" pulumi-lang-go=\"`winrm`\" pulumi-lang-python=\"`winrm`\" pulumi-lang-yaml=\"`winrm`\" pulumi-lang-java=\"`winrm`\"\u003e`winrm`\u003c/span\u003e blocks as defined below.\n"}},"type":"object"},"azure:compute/VirtualMachineOsProfileWindowsConfigAdditionalUnattendConfig:VirtualMachineOsProfileWindowsConfigAdditionalUnattendConfig":{"properties":{"component":{"type":"string","description":"Specifies the name of the component to configure with the added content. The only allowable value is `Microsoft-Windows-Shell-Setup`.\n"},"content":{"type":"string","description":"Specifies the base-64 encoded XML formatted content that is added to the unattend.xml file for the specified path and component.\n","secret":true},"pass":{"type":"string","description":"Specifies the name of the pass that the content applies to. The only allowable value is `oobeSystem`.\n"},"settingName":{"type":"string","description":"Specifies the name of the setting to which the content applies. Possible values are: `FirstLogonCommands` and `AutoLogon`.\n"}},"type":"object","required":["component","content","pass","settingName"]},"azure:compute/VirtualMachineOsProfileWindowsConfigWinrm:VirtualMachineOsProfileWindowsConfigWinrm":{"properties":{"certificateUrl":{"type":"string","description":"The ID of the Key Vault Secret which contains the encrypted Certificate which should be installed on the Virtual Machine. This certificate must also be specified in the \u003cspan pulumi-lang-nodejs=\"`vaultCertificates`\" pulumi-lang-dotnet=\"`VaultCertificates`\" pulumi-lang-go=\"`vaultCertificates`\" pulumi-lang-python=\"`vault_certificates`\" pulumi-lang-yaml=\"`vaultCertificates`\" pulumi-lang-java=\"`vaultCertificates`\"\u003e`vault_certificates`\u003c/span\u003e block within the \u003cspan pulumi-lang-nodejs=\"`osProfileSecrets`\" pulumi-lang-dotnet=\"`OsProfileSecrets`\" pulumi-lang-go=\"`osProfileSecrets`\" pulumi-lang-python=\"`os_profile_secrets`\" pulumi-lang-yaml=\"`osProfileSecrets`\" pulumi-lang-java=\"`osProfileSecrets`\"\u003e`os_profile_secrets`\u003c/span\u003e block.\n\n\u003e **NOTE:** This can be sourced from the \u003cspan pulumi-lang-nodejs=\"`secretId`\" pulumi-lang-dotnet=\"`SecretId`\" pulumi-lang-go=\"`secretId`\" pulumi-lang-python=\"`secret_id`\" pulumi-lang-yaml=\"`secretId`\" pulumi-lang-java=\"`secretId`\"\u003e`secret_id`\u003c/span\u003e field on the \u003cspan pulumi-lang-nodejs=\"`azure.keyvault.Certificate`\" pulumi-lang-dotnet=\"`azure.keyvault.Certificate`\" pulumi-lang-go=\"`keyvault.Certificate`\" pulumi-lang-python=\"`keyvault.Certificate`\" pulumi-lang-yaml=\"`azure.keyvault.Certificate`\" pulumi-lang-java=\"`azure.keyvault.Certificate`\"\u003e`azure.keyvault.Certificate`\u003c/span\u003e resource.\n"},"protocol":{"type":"string","description":"Specifies the protocol of listener. Possible values are `HTTP` or `HTTPS`.\n"}},"type":"object","required":["protocol"]},"azure:compute/VirtualMachinePlan:VirtualMachinePlan":{"properties":{"name":{"type":"string","description":"Specifies the name of the image from the marketplace.\n"},"product":{"type":"string","description":"Specifies the product of the image from the marketplace.\n"},"publisher":{"type":"string","description":"Specifies the publisher of the image.\n"}},"type":"object","required":["name","product","publisher"]},"azure:compute/VirtualMachineScaleSetExtensionProtectedSettingsFromKeyVault:VirtualMachineScaleSetExtensionProtectedSettingsFromKeyVault":{"properties":{"secretUrl":{"type":"string","description":"The URL to the Key Vault Secret which stores the protected settings.\n"},"sourceVaultId":{"type":"string","description":"The ID of the source Key Vault.\n"}},"type":"object","required":["secretUrl","sourceVaultId"]},"azure:compute/VirtualMachineStorageDataDisk:VirtualMachineStorageDataDisk":{"properties":{"caching":{"type":"string","description":"Specifies the caching requirements for the Data Disk. Possible values include `None`, `ReadOnly` and `ReadWrite`.\n"},"createOption":{"type":"string","description":"Specifies how the data disk should be created. Possible values are `Attach`, `FromImage` and `Empty`.\n\n\u003e **NOTE:** If using an image that does not have data to be written to the Data Disk, use `Empty` as the create option in order to create the desired disk without any data.\n"},"diskSizeGb":{"type":"integer","description":"Specifies the size of the data disk in gigabytes.\n"},"lun":{"type":"integer","description":"Specifies the logical unit number of the data disk. This needs to be unique within all the Data Disks on the Virtual Machine.\n"},"managedDiskId":{"type":"string","description":"Specifies the ID of an Existing Managed Disk which should be attached to this Virtual Machine. When this field is set \u003cspan pulumi-lang-nodejs=\"`createOption`\" pulumi-lang-dotnet=\"`CreateOption`\" pulumi-lang-go=\"`createOption`\" pulumi-lang-python=\"`create_option`\" pulumi-lang-yaml=\"`createOption`\" pulumi-lang-java=\"`createOption`\"\u003e`create_option`\u003c/span\u003e must be set to `Attach`.\n\nThe following properties apply when using Unmanaged Disks:\n"},"managedDiskType":{"type":"string","description":"Specifies the type of managed disk to create. Possible values are either `Standard_LRS`, `StandardSSD_LRS`, `Premium_LRS` or `UltraSSD_LRS`.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`managedDiskType`\" pulumi-lang-dotnet=\"`ManagedDiskType`\" pulumi-lang-go=\"`managedDiskType`\" pulumi-lang-python=\"`managed_disk_type`\" pulumi-lang-yaml=\"`managedDiskType`\" pulumi-lang-java=\"`managedDiskType`\"\u003e`managed_disk_type`\u003c/span\u003e of type `UltraSSD_LRS` is currently in preview and are not available to subscriptions that have not [requested](https://aka.ms/UltraSSDPreviewSignUp) onboarding to `Azure Ultra Disk Storage` preview. `Azure Ultra Disk Storage` is only available in `East US 2`, `North Europe`, and `Southeast Asia` regions. For more information see the `Azure Ultra Disk Storage` [product documentation](https://docs.microsoft.com/azure/virtual-machines/windows/disks-enable-ultra-ssd), [product blog](https://azure.microsoft.com/en-us/blog/announcing-the-general-availability-of-azure-ultra-disk-storage/) and [FAQ](https://docs.microsoft.com/azure/virtual-machines/windows/faq-for-disks#ultra-disks). You must also set `additional_capabilities.ultra_ssd_enabled` to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"name":{"type":"string","description":"The name of the Data Disk.\n"},"vhdUri":{"type":"string","description":"Specifies the URI of the VHD file backing this Unmanaged Data Disk.\n"},"writeAcceleratorEnabled":{"type":"boolean","description":"Specifies if Write Accelerator is enabled on the disk. This can only be enabled on `Premium_LRS` managed disks with no caching and [M-Series VMs](https://docs.microsoft.com/azure/virtual-machines/workloads/sap/how-to-enable-write-accelerator). Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\nThe following properties apply when using Managed Disks:\n"}},"type":"object","required":["createOption","lun","name"],"language":{"nodejs":{"requiredOutputs":["caching","createOption","diskSizeGb","lun","managedDiskId","managedDiskType","name"]}}},"azure:compute/VirtualMachineStorageImageReference:VirtualMachineStorageImageReference":{"properties":{"id":{"type":"string","description":"Specifies the ID of the Custom Image which the Virtual Machine should be created from. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"offer":{"type":"string","description":"Specifies the offer of the image used to create the virtual machine. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"publisher":{"type":"string","description":"Specifies the publisher of the image used to create the virtual machine. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sku":{"type":"string","description":"Specifies the SKU of the image used to create the virtual machine. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"version":{"type":"string","description":"Specifies the version of the image used to create the virtual machine. Changing this forces a new resource to be created.\n\nTo provision a Custom Image, the following fields are applicable:\n","willReplaceOnChanges":true}},"type":"object","language":{"nodejs":{"requiredOutputs":["version"]}}},"azure:compute/VirtualMachineStorageOsDisk:VirtualMachineStorageOsDisk":{"properties":{"caching":{"type":"string","description":"Specifies the caching requirements for the OS Disk. Possible values include `None`, `ReadOnly` and `ReadWrite`.\n"},"createOption":{"type":"string","description":"Specifies how the OS Disk should be created. Possible values are `Attach` (managed disks only) and `FromImage`.\n"},"diskSizeGb":{"type":"integer","description":"Specifies the size of the OS Disk in gigabytes.\n"},"imageUri":{"type":"string","description":"Specifies the Image URI in the format `publisherName:offer:skus:version`. This field can also specify the [VHD URI](https://docs.microsoft.com/azure/virtual-machines/linux/tutorial-custom-images) of a custom VM image to clone. When cloning a Custom (Unmanaged) Disk Image the \u003cspan pulumi-lang-nodejs=\"`osType`\" pulumi-lang-dotnet=\"`OsType`\" pulumi-lang-go=\"`osType`\" pulumi-lang-python=\"`os_type`\" pulumi-lang-yaml=\"`osType`\" pulumi-lang-java=\"`osType`\"\u003e`os_type`\u003c/span\u003e field must be set.\n"},"managedDiskId":{"type":"string","description":"Specifies the ID of an existing Managed Disk which should be attached as the OS Disk of this Virtual Machine. If this is set then the \u003cspan pulumi-lang-nodejs=\"`createOption`\" pulumi-lang-dotnet=\"`CreateOption`\" pulumi-lang-go=\"`createOption`\" pulumi-lang-python=\"`create_option`\" pulumi-lang-yaml=\"`createOption`\" pulumi-lang-java=\"`createOption`\"\u003e`create_option`\u003c/span\u003e must be set to `Attach`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"managedDiskType":{"type":"string","description":"Specifies the type of Managed Disk which should be created. Possible values are `Standard_LRS`, `StandardSSD_LRS` or `Premium_LRS`.\n\nThe following properties apply when using Unmanaged Disks:\n"},"name":{"type":"string","description":"Specifies the name of the OS Disk.\n"},"osType":{"type":"string","description":"Specifies the Operating System on the OS Disk. Possible values are `Linux` and `Windows`.\n"},"vhdUri":{"type":"string","description":"Specifies the URI of the VHD file backing this Unmanaged OS Disk. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"writeAcceleratorEnabled":{"type":"boolean","description":"Specifies if Write Accelerator is enabled on the disk. This can only be enabled on `Premium_LRS` managed disks with no caching and [M-Series VMs](https://docs.microsoft.com/azure/virtual-machines/workloads/sap/how-to-enable-write-accelerator). Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\nThe following properties apply when using Managed Disks:\n"}},"type":"object","required":["createOption","name"],"language":{"nodejs":{"requiredOutputs":["caching","createOption","diskSizeGb","managedDiskId","managedDiskType","name","osType"]}}},"azure:compute/WindowsVirtualMachineAdditionalCapabilities:WindowsVirtualMachineAdditionalCapabilities":{"properties":{"hibernationEnabled":{"type":"boolean","description":"Whether to enable the hibernation capability or not.\n"},"ultraSsdEnabled":{"type":"boolean","description":"Should the capacity to enable Data Disks of the `UltraSSD_LRS` storage account type be supported on this Virtual Machine? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"}},"type":"object"},"azure:compute/WindowsVirtualMachineAdditionalUnattendContent:WindowsVirtualMachineAdditionalUnattendContent":{"properties":{"content":{"type":"string","description":"The XML formatted content that is added to the unattend.xml file for the specified path and component. Changing this forces a new resource to be created.\n","secret":true,"willReplaceOnChanges":true},"setting":{"type":"string","description":"The name of the setting to which the content applies. Possible values are `AutoLogon` and `FirstLogonCommands`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["content","setting"]},"azure:compute/WindowsVirtualMachineBootDiagnostics:WindowsVirtualMachineBootDiagnostics":{"properties":{"storageAccountUri":{"type":"string","description":"The Primary/Secondary Endpoint for the Azure Storage Account which should be used to store Boot Diagnostics, including Console Output and Screenshots from the Hypervisor.\n\n\u003e **NOTE:** Passing a null value will utilize a Managed Storage Account to store Boot Diagnostics.\n"}},"type":"object"},"azure:compute/WindowsVirtualMachineGalleryApplication:WindowsVirtualMachineGalleryApplication":{"properties":{"automaticUpgradeEnabled":{"type":"boolean","description":"Specifies whether the version will be automatically updated for the VM when a new Gallery Application version is available in PIR/SIG. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"configurationBlobUri":{"type":"string","description":"Specifies the URI to an Azure Blob that will replace the default configuration for the package if provided.\n"},"order":{"type":"integer","description":"Specifies the order in which the packages have to be installed. Possible values are between \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`2147483647`\" pulumi-lang-dotnet=\"`2147483647`\" pulumi-lang-go=\"`2147483647`\" pulumi-lang-python=\"`2147483647`\" pulumi-lang-yaml=\"`2147483647`\" pulumi-lang-java=\"`2147483647`\"\u003e`2147483647`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"tag":{"type":"string","description":"Specifies a passthrough value for more generic context. This field can be any valid \u003cspan pulumi-lang-nodejs=\"`string`\" pulumi-lang-dotnet=\"`String`\" pulumi-lang-go=\"`string`\" pulumi-lang-python=\"`string`\" pulumi-lang-yaml=\"`string`\" pulumi-lang-java=\"`string`\"\u003e`string`\u003c/span\u003e value.\n"},"treatFailureAsDeploymentFailureEnabled":{"type":"boolean","description":"Specifies whether any failure for any operation in the VmApplication will fail the deployment of the VM. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"versionId":{"type":"string","description":"Specifies the Gallery Application Version resource ID.\n"}},"type":"object","required":["versionId"]},"azure:compute/WindowsVirtualMachineIdentity:WindowsVirtualMachineIdentity":{"properties":{"identityIds":{"type":"array","items":{"type":"string"},"description":"Specifies a list of User Assigned Managed Identity IDs to be assigned to this Windows Virtual Machine.\n\n\u003e **NOTE:** This is required when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to `UserAssigned` or `SystemAssigned, UserAssigned`.\n"},"principalId":{"type":"string","description":"The Principal ID associated with this Managed Service Identity.\n"},"tenantId":{"type":"string","description":"The Tenant ID associated with this Managed Service Identity.\n"},"type":{"type":"string","description":"Specifies the type of Managed Service Identity that should be configured on this Windows Virtual Machine. Possible values are `SystemAssigned`, `UserAssigned`, `SystemAssigned, UserAssigned` (to enable both).\n"}},"type":"object","required":["type"],"language":{"nodejs":{"requiredOutputs":["principalId","tenantId","type"]}}},"azure:compute/WindowsVirtualMachineOsDisk:WindowsVirtualMachineOsDisk":{"properties":{"caching":{"type":"string","description":"The Type of Caching which should be used for the Internal OS Disk. Possible values are `None`, `ReadOnly` and `ReadWrite`.\n"},"diffDiskSettings":{"$ref":"#/types/azure:compute/WindowsVirtualMachineOsDiskDiffDiskSettings:WindowsVirtualMachineOsDiskDiffDiskSettings","description":"A \u003cspan pulumi-lang-nodejs=\"`diffDiskSettings`\" pulumi-lang-dotnet=\"`DiffDiskSettings`\" pulumi-lang-go=\"`diffDiskSettings`\" pulumi-lang-python=\"`diff_disk_settings`\" pulumi-lang-yaml=\"`diffDiskSettings`\" pulumi-lang-java=\"`diffDiskSettings`\"\u003e`diff_disk_settings`\u003c/span\u003e block as defined above. Changing this forces a new resource to be created.\n\n\u003e **NOTE:** \u003cspan pulumi-lang-nodejs=\"`diffDiskSettings`\" pulumi-lang-dotnet=\"`DiffDiskSettings`\" pulumi-lang-go=\"`diffDiskSettings`\" pulumi-lang-python=\"`diff_disk_settings`\" pulumi-lang-yaml=\"`diffDiskSettings`\" pulumi-lang-java=\"`diffDiskSettings`\"\u003e`diff_disk_settings`\u003c/span\u003e can only be set when \u003cspan pulumi-lang-nodejs=\"`caching`\" pulumi-lang-dotnet=\"`Caching`\" pulumi-lang-go=\"`caching`\" pulumi-lang-python=\"`caching`\" pulumi-lang-yaml=\"`caching`\" pulumi-lang-java=\"`caching`\"\u003e`caching`\u003c/span\u003e is set to `ReadOnly`. More information can be found [here](https://docs.microsoft.com/azure/virtual-machines/ephemeral-os-disks-deploy#vm-template-deployment). Additionally, this property cannot be set when an existing Managed Disk is used to create the Virtual Machine by setting \u003cspan pulumi-lang-nodejs=\"`osManagedDiskId`\" pulumi-lang-dotnet=\"`OsManagedDiskId`\" pulumi-lang-go=\"`osManagedDiskId`\" pulumi-lang-python=\"`os_managed_disk_id`\" pulumi-lang-yaml=\"`osManagedDiskId`\" pulumi-lang-java=\"`osManagedDiskId`\"\u003e`os_managed_disk_id`\u003c/span\u003e.\n","willReplaceOnChanges":true},"diskEncryptionSetId":{"type":"string","description":"The ID of the Disk Encryption Set which should be used to Encrypt this OS Disk. Conflicts with \u003cspan pulumi-lang-nodejs=\"`secureVmDiskEncryptionSetId`\" pulumi-lang-dotnet=\"`SecureVmDiskEncryptionSetId`\" pulumi-lang-go=\"`secureVmDiskEncryptionSetId`\" pulumi-lang-python=\"`secure_vm_disk_encryption_set_id`\" pulumi-lang-yaml=\"`secureVmDiskEncryptionSetId`\" pulumi-lang-java=\"`secureVmDiskEncryptionSetId`\"\u003e`secure_vm_disk_encryption_set_id`\u003c/span\u003e.\n\n\u003e **NOTE:** The Disk Encryption Set must have the `Reader` Role Assignment scoped on the Key Vault - in addition to an Access Policy to the Key Vault\n"},"diskSizeGb":{"type":"integer","description":"The Size of the Internal OS Disk in GB, if you wish to vary from the size used in the image this Virtual Machine is sourced from.\n\n\u003e **NOTE:** If specified this must be equal to or larger than the size of the Image the Virtual Machine is based on. When creating a larger disk than exists in the image you'll need to repartition the disk to use the remaining space.\n"},"id":{"type":"string","description":"The ID of the OS disk.\n"},"name":{"type":"string","description":"The name which should be used for the Internal OS Disk. Changing this forces a new resource to be created.\n\n\u003e **Note:** a value for \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e cannot be specified if/when the Virtual Machine has been created using an existing Managed Disk for the OS by setting \u003cspan pulumi-lang-nodejs=\"`osManagedDiskId`\" pulumi-lang-dotnet=\"`OsManagedDiskId`\" pulumi-lang-go=\"`osManagedDiskId`\" pulumi-lang-python=\"`os_managed_disk_id`\" pulumi-lang-yaml=\"`osManagedDiskId`\" pulumi-lang-java=\"`osManagedDiskId`\"\u003e`os_managed_disk_id`\u003c/span\u003e.\n","willReplaceOnChanges":true},"secureVmDiskEncryptionSetId":{"type":"string","description":"The ID of the Disk Encryption Set which should be used to Encrypt this OS Disk when the Virtual Machine is a Confidential VM. Conflicts with \u003cspan pulumi-lang-nodejs=\"`diskEncryptionSetId`\" pulumi-lang-dotnet=\"`DiskEncryptionSetId`\" pulumi-lang-go=\"`diskEncryptionSetId`\" pulumi-lang-python=\"`disk_encryption_set_id`\" pulumi-lang-yaml=\"`diskEncryptionSetId`\" pulumi-lang-java=\"`diskEncryptionSetId`\"\u003e`disk_encryption_set_id`\u003c/span\u003e. Changing this forces a new resource to be created.\n\n\u003e **NOTE:** \u003cspan pulumi-lang-nodejs=\"`secureVmDiskEncryptionSetId`\" pulumi-lang-dotnet=\"`SecureVmDiskEncryptionSetId`\" pulumi-lang-go=\"`secureVmDiskEncryptionSetId`\" pulumi-lang-python=\"`secure_vm_disk_encryption_set_id`\" pulumi-lang-yaml=\"`secureVmDiskEncryptionSetId`\" pulumi-lang-java=\"`secureVmDiskEncryptionSetId`\"\u003e`secure_vm_disk_encryption_set_id`\u003c/span\u003e can only be specified when \u003cspan pulumi-lang-nodejs=\"`securityEncryptionType`\" pulumi-lang-dotnet=\"`SecurityEncryptionType`\" pulumi-lang-go=\"`securityEncryptionType`\" pulumi-lang-python=\"`security_encryption_type`\" pulumi-lang-yaml=\"`securityEncryptionType`\" pulumi-lang-java=\"`securityEncryptionType`\"\u003e`security_encryption_type`\u003c/span\u003e is set to `DiskWithVMGuestState`.\n","willReplaceOnChanges":true},"securityEncryptionType":{"type":"string","description":"Encryption Type when the Virtual Machine is a Confidential VM. Possible values are `VMGuestStateOnly` and `DiskWithVMGuestState`. Changing this forces a new resource to be created.\n\n\u003e **NOTE:** \u003cspan pulumi-lang-nodejs=\"`vtpmEnabled`\" pulumi-lang-dotnet=\"`VtpmEnabled`\" pulumi-lang-go=\"`vtpmEnabled`\" pulumi-lang-python=\"`vtpm_enabled`\" pulumi-lang-yaml=\"`vtpmEnabled`\" pulumi-lang-java=\"`vtpmEnabled`\"\u003e`vtpm_enabled`\u003c/span\u003e must be set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e when \u003cspan pulumi-lang-nodejs=\"`securityEncryptionType`\" pulumi-lang-dotnet=\"`SecurityEncryptionType`\" pulumi-lang-go=\"`securityEncryptionType`\" pulumi-lang-python=\"`security_encryption_type`\" pulumi-lang-yaml=\"`securityEncryptionType`\" pulumi-lang-java=\"`securityEncryptionType`\"\u003e`security_encryption_type`\u003c/span\u003e is specified.\n\n\u003e **NOTE:** \u003cspan pulumi-lang-nodejs=\"`encryptionAtHostEnabled`\" pulumi-lang-dotnet=\"`EncryptionAtHostEnabled`\" pulumi-lang-go=\"`encryptionAtHostEnabled`\" pulumi-lang-python=\"`encryption_at_host_enabled`\" pulumi-lang-yaml=\"`encryptionAtHostEnabled`\" pulumi-lang-java=\"`encryptionAtHostEnabled`\"\u003e`encryption_at_host_enabled`\u003c/span\u003e cannot be set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e when \u003cspan pulumi-lang-nodejs=\"`securityEncryptionType`\" pulumi-lang-dotnet=\"`SecurityEncryptionType`\" pulumi-lang-go=\"`securityEncryptionType`\" pulumi-lang-python=\"`security_encryption_type`\" pulumi-lang-yaml=\"`securityEncryptionType`\" pulumi-lang-java=\"`securityEncryptionType`\"\u003e`security_encryption_type`\u003c/span\u003e is set to `DiskWithVMGuestState`.\n","willReplaceOnChanges":true},"storageAccountType":{"type":"string","description":"The Type of Storage Account which should back this the Internal OS Disk. Possible values are `Standard_LRS`, `StandardSSD_LRS`, `Premium_LRS`, `StandardSSD_ZRS` and `Premium_ZRS`. Changing this forces a new resource to be created.\n\n\u003e **Note:** This is required unless using an existing OS Managed Disk by specifying \u003cspan pulumi-lang-nodejs=\"`osManagedDiskId`\" pulumi-lang-dotnet=\"`OsManagedDiskId`\" pulumi-lang-go=\"`osManagedDiskId`\" pulumi-lang-python=\"`os_managed_disk_id`\" pulumi-lang-yaml=\"`osManagedDiskId`\" pulumi-lang-java=\"`osManagedDiskId`\"\u003e`os_managed_disk_id`\u003c/span\u003e.\n","willReplaceOnChanges":true},"writeAcceleratorEnabled":{"type":"boolean","description":"Should Write Accelerator be Enabled for this OS Disk? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **NOTE:** This requires that the \u003cspan pulumi-lang-nodejs=\"`storageAccountType`\" pulumi-lang-dotnet=\"`StorageAccountType`\" pulumi-lang-go=\"`storageAccountType`\" pulumi-lang-python=\"`storage_account_type`\" pulumi-lang-yaml=\"`storageAccountType`\" pulumi-lang-java=\"`storageAccountType`\"\u003e`storage_account_type`\u003c/span\u003e is set to `Premium_LRS` and that \u003cspan pulumi-lang-nodejs=\"`caching`\" pulumi-lang-dotnet=\"`Caching`\" pulumi-lang-go=\"`caching`\" pulumi-lang-python=\"`caching`\" pulumi-lang-yaml=\"`caching`\" pulumi-lang-java=\"`caching`\"\u003e`caching`\u003c/span\u003e is set to `None`.\n"}},"type":"object","required":["caching"],"language":{"nodejs":{"requiredOutputs":["caching","diskSizeGb","id","name","storageAccountType"]}}},"azure:compute/WindowsVirtualMachineOsDiskDiffDiskSettings:WindowsVirtualMachineOsDiskDiffDiskSettings":{"properties":{"option":{"type":"string","description":"Specifies the Ephemeral Disk Settings for the OS Disk. At this time the only possible value is `Local`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"placement":{"type":"string","description":"Specifies where to store the Ephemeral Disk. Possible values are `CacheDisk`, `ResourceDisk` and `NvmeDisk`. Defaults to `CacheDisk`. Changing this forces a new resource to be created.\n\n\u003e **Note:** `NvmeDisk` can only be used for v6 VMs in combination with a supported \u003cspan pulumi-lang-nodejs=\"`sourceImageReference`\" pulumi-lang-dotnet=\"`SourceImageReference`\" pulumi-lang-go=\"`sourceImageReference`\" pulumi-lang-python=\"`source_image_reference`\" pulumi-lang-yaml=\"`sourceImageReference`\" pulumi-lang-java=\"`sourceImageReference`\"\u003e`source_image_reference`\u003c/span\u003e. More information can be found [here](https://learn.microsoft.com/en-us/azure/virtual-machines/ephemeral-os-disks)\n","willReplaceOnChanges":true}},"type":"object","required":["option"]},"azure:compute/WindowsVirtualMachineOsImageNotification:WindowsVirtualMachineOsImageNotification":{"properties":{"timeout":{"type":"string","description":"Length of time a notification to be sent to the VM on the instance metadata server till the VM gets OS upgraded. The only possible value is `PT15M`. Defaults to `PT15M`.\n"}},"type":"object"},"azure:compute/WindowsVirtualMachinePlan:WindowsVirtualMachinePlan":{"properties":{"name":{"type":"string","description":"Specifies the Name of the Marketplace Image this Virtual Machine should be created from. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"product":{"type":"string","description":"Specifies the Product of the Marketplace Image this Virtual Machine should be created from. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"publisher":{"type":"string","description":"Specifies the Publisher of the Marketplace Image this Virtual Machine should be created from. Changing this forces a new resource to be created.\n\n\u003e **NOTE:** If you use the \u003cspan pulumi-lang-nodejs=\"`plan`\" pulumi-lang-dotnet=\"`Plan`\" pulumi-lang-go=\"`plan`\" pulumi-lang-python=\"`plan`\" pulumi-lang-yaml=\"`plan`\" pulumi-lang-java=\"`plan`\"\u003e`plan`\u003c/span\u003e block with one of Microsoft's marketplace images (e.g. `publisher = \"MicrosoftWindowsServer\"`). This may prevent the purchase of the offer. An example Azure API error: `The Offer: 'WindowsServer' cannot be purchased by subscription: '12345678-12234-5678-9012-123456789012' as it is not to be sold in market: 'US'. Please choose a subscription which is associated with a different market.`\n","willReplaceOnChanges":true}},"type":"object","required":["name","product","publisher"]},"azure:compute/WindowsVirtualMachineScaleSetAdditionalCapabilities:WindowsVirtualMachineScaleSetAdditionalCapabilities":{"properties":{"ultraSsdEnabled":{"type":"boolean","description":"Should the capacity to enable Data Disks of the `UltraSSD_LRS` storage account type be supported on this Virtual Machine Scale Set? Possible values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"},"azure:compute/WindowsVirtualMachineScaleSetAdditionalUnattendContent:WindowsVirtualMachineScaleSetAdditionalUnattendContent":{"properties":{"content":{"type":"string","description":"The XML formatted content that is added to the unattend.xml file for the specified path and component. Changing this forces a new resource to be created.\n","secret":true,"willReplaceOnChanges":true},"setting":{"type":"string","description":"The name of the setting to which the content applies. Possible values are `AutoLogon` and `FirstLogonCommands`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["content","setting"]},"azure:compute/WindowsVirtualMachineScaleSetAutomaticInstanceRepair:WindowsVirtualMachineScaleSetAutomaticInstanceRepair":{"properties":{"action":{"type":"string","description":"The repair action that will be used for repairing unhealthy virtual machines in the scale set. Possible values include `Replace`, `Restart`, `Reimage`.\n\n\u003e **Note:** Once the \u003cspan pulumi-lang-nodejs=\"`action`\" pulumi-lang-dotnet=\"`Action`\" pulumi-lang-go=\"`action`\" pulumi-lang-python=\"`action`\" pulumi-lang-yaml=\"`action`\" pulumi-lang-java=\"`action`\"\u003e`action`\u003c/span\u003e field has been set it will always return the last value it was assigned if it is removed from the configuration file.\n\n\u003e **Note:** If you wish to update the repair \u003cspan pulumi-lang-nodejs=\"`action`\" pulumi-lang-dotnet=\"`Action`\" pulumi-lang-go=\"`action`\" pulumi-lang-python=\"`action`\" pulumi-lang-yaml=\"`action`\" pulumi-lang-java=\"`action`\"\u003e`action`\u003c/span\u003e of an existing \u003cspan pulumi-lang-nodejs=\"`automaticInstanceRepair`\" pulumi-lang-dotnet=\"`AutomaticInstanceRepair`\" pulumi-lang-go=\"`automaticInstanceRepair`\" pulumi-lang-python=\"`automatic_instance_repair`\" pulumi-lang-yaml=\"`automaticInstanceRepair`\" pulumi-lang-java=\"`automaticInstanceRepair`\"\u003e`automatic_instance_repair`\u003c/span\u003e policy, you must first \u003cspan pulumi-lang-nodejs=\"`disable`\" pulumi-lang-dotnet=\"`Disable`\" pulumi-lang-go=\"`disable`\" pulumi-lang-python=\"`disable`\" pulumi-lang-yaml=\"`disable`\" pulumi-lang-java=\"`disable`\"\u003e`disable`\u003c/span\u003e the \u003cspan pulumi-lang-nodejs=\"`automaticInstanceRepair`\" pulumi-lang-dotnet=\"`AutomaticInstanceRepair`\" pulumi-lang-go=\"`automaticInstanceRepair`\" pulumi-lang-python=\"`automatic_instance_repair`\" pulumi-lang-yaml=\"`automaticInstanceRepair`\" pulumi-lang-java=\"`automaticInstanceRepair`\"\u003e`automatic_instance_repair`\u003c/span\u003e policy before you can re-enable the \u003cspan pulumi-lang-nodejs=\"`automaticInstanceRepair`\" pulumi-lang-dotnet=\"`AutomaticInstanceRepair`\" pulumi-lang-go=\"`automaticInstanceRepair`\" pulumi-lang-python=\"`automatic_instance_repair`\" pulumi-lang-yaml=\"`automaticInstanceRepair`\" pulumi-lang-java=\"`automaticInstanceRepair`\"\u003e`automatic_instance_repair`\u003c/span\u003e policy with the new repair \u003cspan pulumi-lang-nodejs=\"`action`\" pulumi-lang-dotnet=\"`Action`\" pulumi-lang-go=\"`action`\" pulumi-lang-python=\"`action`\" pulumi-lang-yaml=\"`action`\" pulumi-lang-java=\"`action`\"\u003e`action`\u003c/span\u003e defined.\n"},"enabled":{"type":"boolean","description":"Should the automatic instance repair be enabled on this Virtual Machine Scale Set?\n"},"gracePeriod":{"type":"string","description":"Amount of time for which automatic repairs will be delayed. The grace period starts right after the VM is found unhealthy. Possible values are between \u003cspan pulumi-lang-nodejs=\"`10`\" pulumi-lang-dotnet=\"`10`\" pulumi-lang-go=\"`10`\" pulumi-lang-python=\"`10`\" pulumi-lang-yaml=\"`10`\" pulumi-lang-java=\"`10`\"\u003e`10`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`90`\" pulumi-lang-dotnet=\"`90`\" pulumi-lang-go=\"`90`\" pulumi-lang-python=\"`90`\" pulumi-lang-yaml=\"`90`\" pulumi-lang-java=\"`90`\"\u003e`90`\u003c/span\u003e minutes. The time duration should be specified in `ISO 8601` format (e.g. `PT10M` to `PT90M`).\n\n\u003e **Note:** Once the \u003cspan pulumi-lang-nodejs=\"`gracePeriod`\" pulumi-lang-dotnet=\"`GracePeriod`\" pulumi-lang-go=\"`gracePeriod`\" pulumi-lang-python=\"`grace_period`\" pulumi-lang-yaml=\"`gracePeriod`\" pulumi-lang-java=\"`gracePeriod`\"\u003e`grace_period`\u003c/span\u003e field has been set it will always return the last value it was assigned if it is removed from the configuration file.\n"}},"type":"object","required":["enabled"],"language":{"nodejs":{"requiredOutputs":["action","enabled","gracePeriod"]}}},"azure:compute/WindowsVirtualMachineScaleSetAutomaticOsUpgradePolicy:WindowsVirtualMachineScaleSetAutomaticOsUpgradePolicy":{"properties":{"disableAutomaticRollback":{"type":"boolean","description":"Should automatic rollbacks be disabled?\n"},"enableAutomaticOsUpgrade":{"type":"boolean","description":"Should OS Upgrades automatically be applied to Scale Set instances in a rolling fashion when a newer version of the OS Image becomes available?\n"}},"type":"object","required":["disableAutomaticRollback","enableAutomaticOsUpgrade"]},"azure:compute/WindowsVirtualMachineScaleSetBootDiagnostics:WindowsVirtualMachineScaleSetBootDiagnostics":{"properties":{"storageAccountUri":{"type":"string","description":"The Primary/Secondary Endpoint for the Azure Storage Account which should be used to store Boot Diagnostics, including Console Output and Screenshots from the Hypervisor.\n\n\u003e **Note:** Passing a null value will utilize a Managed Storage Account to store Boot Diagnostics\n"}},"type":"object"},"azure:compute/WindowsVirtualMachineScaleSetDataDisk:WindowsVirtualMachineScaleSetDataDisk":{"properties":{"caching":{"type":"string","description":"The type of Caching which should be used for this Data Disk. Possible values are `None`, `ReadOnly` and `ReadWrite`.\n"},"createOption":{"type":"string","description":"The create option which should be used for this Data Disk. Possible values are `Empty` and `FromImage`. Defaults to `Empty`. (`FromImage` should only be used if the source image includes data disks).\n"},"diskEncryptionSetId":{"type":"string","description":"The ID of the Disk Encryption Set which should be used to encrypt this Data Disk. Changing this forces a new resource to be created.\n\n\u003e **Note:** The Disk Encryption Set must have the `Reader` Role Assignment scoped on the Key Vault - in addition to an Access Policy to the Key Vault\n\n\u003e **Note:** Disk Encryption Sets are in Public Preview in a limited set of regions\n","willReplaceOnChanges":true},"diskSizeGb":{"type":"integer","description":"The size of the Data Disk which should be created.\n"},"lun":{"type":"integer","description":"The Logical Unit Number of the Data Disk, which must be unique within the Virtual Machine.\n"},"name":{"type":"string","description":"The name of the Data Disk.\n"},"storageAccountType":{"type":"string","description":"The Type of Storage Account which should back this Data Disk. Possible values include `Standard_LRS`, `StandardSSD_LRS`, `StandardSSD_ZRS`, `Premium_LRS`, `PremiumV2_LRS`, `Premium_ZRS` and `UltraSSD_LRS`.\n\n\u003e **Note:** `UltraSSD_LRS` is only supported when \u003cspan pulumi-lang-nodejs=\"`ultraSsdEnabled`\" pulumi-lang-dotnet=\"`UltraSsdEnabled`\" pulumi-lang-go=\"`ultraSsdEnabled`\" pulumi-lang-python=\"`ultra_ssd_enabled`\" pulumi-lang-yaml=\"`ultraSsdEnabled`\" pulumi-lang-java=\"`ultraSsdEnabled`\"\u003e`ultra_ssd_enabled`\u003c/span\u003e within the \u003cspan pulumi-lang-nodejs=\"`additionalCapabilities`\" pulumi-lang-dotnet=\"`AdditionalCapabilities`\" pulumi-lang-go=\"`additionalCapabilities`\" pulumi-lang-python=\"`additional_capabilities`\" pulumi-lang-yaml=\"`additionalCapabilities`\" pulumi-lang-java=\"`additionalCapabilities`\"\u003e`additional_capabilities`\u003c/span\u003e block is enabled.\n"},"ultraSsdDiskIopsReadWrite":{"type":"integer","description":"Specifies the Read-Write IOPS for this Data Disk. Only settable when \u003cspan pulumi-lang-nodejs=\"`storageAccountType`\" pulumi-lang-dotnet=\"`StorageAccountType`\" pulumi-lang-go=\"`storageAccountType`\" pulumi-lang-python=\"`storage_account_type`\" pulumi-lang-yaml=\"`storageAccountType`\" pulumi-lang-java=\"`storageAccountType`\"\u003e`storage_account_type`\u003c/span\u003e is `PremiumV2_LRS` or `UltraSSD_LRS`.\n"},"ultraSsdDiskMbpsReadWrite":{"type":"integer","description":"Specifies the bandwidth in MB per second for this Data Disk. Only settable when \u003cspan pulumi-lang-nodejs=\"`storageAccountType`\" pulumi-lang-dotnet=\"`StorageAccountType`\" pulumi-lang-go=\"`storageAccountType`\" pulumi-lang-python=\"`storage_account_type`\" pulumi-lang-yaml=\"`storageAccountType`\" pulumi-lang-java=\"`storageAccountType`\"\u003e`storage_account_type`\u003c/span\u003e is `PremiumV2_LRS` or `UltraSSD_LRS`.\n"},"writeAcceleratorEnabled":{"type":"boolean","description":"Should Write Accelerator be enabled for this Data Disk? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** This requires that the \u003cspan pulumi-lang-nodejs=\"`storageAccountType`\" pulumi-lang-dotnet=\"`StorageAccountType`\" pulumi-lang-go=\"`storageAccountType`\" pulumi-lang-python=\"`storage_account_type`\" pulumi-lang-yaml=\"`storageAccountType`\" pulumi-lang-java=\"`storageAccountType`\"\u003e`storage_account_type`\u003c/span\u003e is set to `Premium_LRS` and that \u003cspan pulumi-lang-nodejs=\"`caching`\" pulumi-lang-dotnet=\"`Caching`\" pulumi-lang-go=\"`caching`\" pulumi-lang-python=\"`caching`\" pulumi-lang-yaml=\"`caching`\" pulumi-lang-java=\"`caching`\"\u003e`caching`\u003c/span\u003e is set to `None`.\n"}},"type":"object","required":["caching","diskSizeGb","lun","storageAccountType"],"language":{"nodejs":{"requiredOutputs":["caching","diskSizeGb","lun","storageAccountType","ultraSsdDiskIopsReadWrite","ultraSsdDiskMbpsReadWrite"]}}},"azure:compute/WindowsVirtualMachineScaleSetExtension:WindowsVirtualMachineScaleSetExtension":{"properties":{"autoUpgradeMinorVersion":{"type":"boolean","description":"Should the latest version of the Extension be used at Deployment Time, if one is available? This won't auto-update the extension on existing installation. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"automaticUpgradeEnabled":{"type":"boolean","description":"Should the Extension be automatically updated whenever the Publisher releases a new version of this VM Extension?\n"},"forceUpdateTag":{"type":"string","description":"A value which, when different to the previous value can be used to force-run the Extension even if the Extension Configuration hasn't changed.\n"},"name":{"type":"string","description":"The name for the Virtual Machine Scale Set Extension.\n"},"protectedSettings":{"type":"string","description":"A JSON String which specifies Sensitive Settings (such as Passwords) for the Extension.\n\n\u003e **Note:** Keys within the \u003cspan pulumi-lang-nodejs=\"`protectedSettings`\" pulumi-lang-dotnet=\"`ProtectedSettings`\" pulumi-lang-go=\"`protectedSettings`\" pulumi-lang-python=\"`protected_settings`\" pulumi-lang-yaml=\"`protectedSettings`\" pulumi-lang-java=\"`protectedSettings`\"\u003e`protected_settings`\u003c/span\u003e block are notoriously case-sensitive, where the casing required (e.g. TitleCase vs snakeCase) depends on the Extension being used. Please refer to the documentation for the specific Virtual Machine Extension you're looking to use for more information.\n","secret":true},"protectedSettingsFromKeyVault":{"$ref":"#/types/azure:compute/WindowsVirtualMachineScaleSetExtensionProtectedSettingsFromKeyVault:WindowsVirtualMachineScaleSetExtensionProtectedSettingsFromKeyVault","description":"A \u003cspan pulumi-lang-nodejs=\"`protectedSettingsFromKeyVault`\" pulumi-lang-dotnet=\"`ProtectedSettingsFromKeyVault`\" pulumi-lang-go=\"`protectedSettingsFromKeyVault`\" pulumi-lang-python=\"`protected_settings_from_key_vault`\" pulumi-lang-yaml=\"`protectedSettingsFromKeyVault`\" pulumi-lang-java=\"`protectedSettingsFromKeyVault`\"\u003e`protected_settings_from_key_vault`\u003c/span\u003e block as defined below.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`protectedSettingsFromKeyVault`\" pulumi-lang-dotnet=\"`ProtectedSettingsFromKeyVault`\" pulumi-lang-go=\"`protectedSettingsFromKeyVault`\" pulumi-lang-python=\"`protected_settings_from_key_vault`\" pulumi-lang-yaml=\"`protectedSettingsFromKeyVault`\" pulumi-lang-java=\"`protectedSettingsFromKeyVault`\"\u003e`protected_settings_from_key_vault`\u003c/span\u003e cannot be used with \u003cspan pulumi-lang-nodejs=\"`protectedSettings`\" pulumi-lang-dotnet=\"`ProtectedSettings`\" pulumi-lang-go=\"`protectedSettings`\" pulumi-lang-python=\"`protected_settings`\" pulumi-lang-yaml=\"`protectedSettings`\" pulumi-lang-java=\"`protectedSettings`\"\u003e`protected_settings`\u003c/span\u003e\n"},"provisionAfterExtensions":{"type":"array","items":{"type":"string"},"description":"An ordered list of Extension names which this should be provisioned after.\n"},"publisher":{"type":"string","description":"Specifies the Publisher of the Extension.\n"},"settings":{"type":"string","description":"A JSON String which specifies Settings for the Extension.\n\n\u003e **Note:** Keys within the \u003cspan pulumi-lang-nodejs=\"`settings`\" pulumi-lang-dotnet=\"`Settings`\" pulumi-lang-go=\"`settings`\" pulumi-lang-python=\"`settings`\" pulumi-lang-yaml=\"`settings`\" pulumi-lang-java=\"`settings`\"\u003e`settings`\u003c/span\u003e block are notoriously case-sensitive, where the casing required (e.g. TitleCase vs snakeCase) depends on the Extension being used. Please refer to the documentation for the specific Virtual Machine Extension you're looking to use for more information.\n"},"type":{"type":"string","description":"Specifies the Type of the Extension.\n"},"typeHandlerVersion":{"type":"string","description":"Specifies the version of the extension to use, available versions can be found using the Azure CLI.\n"}},"type":"object","required":["name","publisher","type","typeHandlerVersion"]},"azure:compute/WindowsVirtualMachineScaleSetExtensionProtectedSettingsFromKeyVault:WindowsVirtualMachineScaleSetExtensionProtectedSettingsFromKeyVault":{"properties":{"secretUrl":{"type":"string","description":"The URL to the Key Vault Secret which stores the protected settings.\n"},"sourceVaultId":{"type":"string","description":"The ID of the source Key Vault.\n"}},"type":"object","required":["secretUrl","sourceVaultId"]},"azure:compute/WindowsVirtualMachineScaleSetGalleryApplication:WindowsVirtualMachineScaleSetGalleryApplication":{"properties":{"configurationBlobUri":{"type":"string","description":"Specifies the URI to an Azure Blob that will replace the default configuration for the package if provided. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"order":{"type":"integer","description":"Specifies the order in which the packages have to be installed. Possible values are between \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`2147483647`\" pulumi-lang-dotnet=\"`2147483647`\" pulumi-lang-go=\"`2147483647`\" pulumi-lang-python=\"`2147483647`\" pulumi-lang-yaml=\"`2147483647`\" pulumi-lang-java=\"`2147483647`\"\u003e`2147483647`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tag":{"type":"string","description":"Specifies a passthrough value for more generic context. This field can be any valid \u003cspan pulumi-lang-nodejs=\"`string`\" pulumi-lang-dotnet=\"`String`\" pulumi-lang-go=\"`string`\" pulumi-lang-python=\"`string`\" pulumi-lang-yaml=\"`string`\" pulumi-lang-java=\"`string`\"\u003e`string`\u003c/span\u003e value. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"versionId":{"type":"string","description":"Specifies the Gallery Application Version resource ID. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["versionId"]},"azure:compute/WindowsVirtualMachineScaleSetIdentity:WindowsVirtualMachineScaleSetIdentity":{"properties":{"identityIds":{"type":"array","items":{"type":"string"},"description":"Specifies a list of User Assigned Managed Identity IDs to be assigned to this Windows Virtual Machine Scale Set.\n\n\u003e **Note:** This is required when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to `UserAssigned` or `SystemAssigned, UserAssigned`.\n"},"principalId":{"type":"string","description":"The Principal ID associated with this Managed Service Identity.\n"},"tenantId":{"type":"string","description":"The Tenant ID associated with this Managed Service Identity.\n"},"type":{"type":"string","description":"Specifies the type of Managed Service Identity that should be configured on this Windows Virtual Machine Scale Set. Possible values are `SystemAssigned`, `UserAssigned`, `SystemAssigned, UserAssigned` (to enable both).\n"}},"type":"object","required":["type"],"language":{"nodejs":{"requiredOutputs":["principalId","tenantId","type"]}}},"azure:compute/WindowsVirtualMachineScaleSetNetworkInterface:WindowsVirtualMachineScaleSetNetworkInterface":{"properties":{"auxiliaryMode":{"type":"string","description":"Specifies the auxiliary mode used to enable network high-performance feature on Network Virtual Appliances (NVAs). This feature offers competitive performance in Connections Per Second (CPS) optimization, along with improvements to handling large amounts of simultaneous connections. Possible values are `AcceleratedConnections` and `Floating`.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`auxiliaryMode`\" pulumi-lang-dotnet=\"`AuxiliaryMode`\" pulumi-lang-go=\"`auxiliaryMode`\" pulumi-lang-python=\"`auxiliary_mode`\" pulumi-lang-yaml=\"`auxiliaryMode`\" pulumi-lang-java=\"`auxiliaryMode`\"\u003e`auxiliary_mode`\u003c/span\u003e is in **Preview** and requires that the prerequisites are enabled - [more information can be found in the Azure documentation](https://learn.microsoft.com/azure/networking/nva-accelerated-connections#prerequisites).\n"},"auxiliarySku":{"type":"string","description":"Specifies the SKU used for the network high-performance feature on Network Virtual Appliances (NVAs). Possible values are `A1`, `A2`, `A4` and `A8`.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`auxiliarySku`\" pulumi-lang-dotnet=\"`AuxiliarySku`\" pulumi-lang-go=\"`auxiliarySku`\" pulumi-lang-python=\"`auxiliary_sku`\" pulumi-lang-yaml=\"`auxiliarySku`\" pulumi-lang-java=\"`auxiliarySku`\"\u003e`auxiliary_sku`\u003c/span\u003e is in **Preview** and requires that the prerequisites are enabled - [more information can be found in the Azure documentation](https://learn.microsoft.com/azure/networking/nva-accelerated-connections#prerequisites).\n"},"dnsServers":{"type":"array","items":{"type":"string"},"description":"A list of IP Addresses of DNS Servers which should be assigned to the Network Interface.\n"},"enableAcceleratedNetworking":{"type":"boolean","description":"Does this Network Interface support Accelerated Networking? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"enableIpForwarding":{"type":"boolean","description":"Does this Network Interface support IP Forwarding? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"ipConfigurations":{"type":"array","items":{"$ref":"#/types/azure:compute/WindowsVirtualMachineScaleSetNetworkInterfaceIpConfiguration:WindowsVirtualMachineScaleSetNetworkInterfaceIpConfiguration"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`ipConfiguration`\" pulumi-lang-dotnet=\"`IpConfiguration`\" pulumi-lang-go=\"`ipConfiguration`\" pulumi-lang-python=\"`ip_configuration`\" pulumi-lang-yaml=\"`ipConfiguration`\" pulumi-lang-java=\"`ipConfiguration`\"\u003e`ip_configuration`\u003c/span\u003e blocks as defined above.\n"},"name":{"type":"string","description":"The Name which should be used for this Network Interface. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"networkSecurityGroupId":{"type":"string","description":"The ID of a Network Security Group which should be assigned to this Network Interface.\n"},"primary":{"type":"boolean","description":"Is this the Primary IP Configuration?\n\n\u003e **Note:** If multiple \u003cspan pulumi-lang-nodejs=\"`networkInterface`\" pulumi-lang-dotnet=\"`NetworkInterface`\" pulumi-lang-go=\"`networkInterface`\" pulumi-lang-python=\"`network_interface`\" pulumi-lang-yaml=\"`networkInterface`\" pulumi-lang-java=\"`networkInterface`\"\u003e`network_interface`\u003c/span\u003e blocks are specified, one must be set to \u003cspan pulumi-lang-nodejs=\"`primary`\" pulumi-lang-dotnet=\"`Primary`\" pulumi-lang-go=\"`primary`\" pulumi-lang-python=\"`primary`\" pulumi-lang-yaml=\"`primary`\" pulumi-lang-java=\"`primary`\"\u003e`primary`\u003c/span\u003e.\n"}},"type":"object","required":["ipConfigurations","name"]},"azure:compute/WindowsVirtualMachineScaleSetNetworkInterfaceIpConfiguration:WindowsVirtualMachineScaleSetNetworkInterfaceIpConfiguration":{"properties":{"applicationGatewayBackendAddressPoolIds":{"type":"array","items":{"type":"string"},"description":"A list of Backend Address Pools ID's from a Application Gateway which this Virtual Machine Scale Set should be connected to.\n"},"applicationSecurityGroupIds":{"type":"array","items":{"type":"string"},"description":"A list of Application Security Group ID's which this Virtual Machine Scale Set should be connected to.\n"},"loadBalancerBackendAddressPoolIds":{"type":"array","items":{"type":"string"},"description":"A list of Backend Address Pools ID's from a Load Balancer which this Virtual Machine Scale Set should be connected to.\n\n\u003e **Note:** When the Virtual Machine Scale Set is configured to have public IPs per instance are created with a load balancer, the SKU of the Virtual Machine instance IPs is determined by the SKU of the Virtual Machine Scale Sets Load Balancer (e.g. `Basic` or `Standard`). Alternatively, you may use the \u003cspan pulumi-lang-nodejs=\"`publicIpPrefixId`\" pulumi-lang-dotnet=\"`PublicIpPrefixId`\" pulumi-lang-go=\"`publicIpPrefixId`\" pulumi-lang-python=\"`public_ip_prefix_id`\" pulumi-lang-yaml=\"`publicIpPrefixId`\" pulumi-lang-java=\"`publicIpPrefixId`\"\u003e`public_ip_prefix_id`\u003c/span\u003e field to generate instance-level IPs in a virtual machine scale set as well. The zonal properties of the prefix will be passed to the Virtual Machine instance IPs, though they will not be shown in the output. To view the public IP addresses assigned to the Virtual Machine Scale Sets Virtual Machine instances use the **az vmss list-instance-public-ips --resource-group `ResourceGroupName` --name `VirtualMachineScaleSetName`** CLI command.\n\n\u003e **Note:** When using this field you'll also need to configure a Rule for the Load Balancer, and use a \u003cspan pulumi-lang-nodejs=\"`dependsOn`\" pulumi-lang-dotnet=\"`DependsOn`\" pulumi-lang-go=\"`dependsOn`\" pulumi-lang-python=\"`depends_on`\" pulumi-lang-yaml=\"`dependsOn`\" pulumi-lang-java=\"`dependsOn`\"\u003e`depends_on`\u003c/span\u003e between this resource and the Load Balancer Rule.\n"},"loadBalancerInboundNatRulesIds":{"type":"array","items":{"type":"string"},"description":"A list of NAT Rule ID's from a Load Balancer which this Virtual Machine Scale Set should be connected to.\n\n\u003e **Note:** When using this field you'll also need to configure a Rule for the Load Balancer, and use a \u003cspan pulumi-lang-nodejs=\"`dependsOn`\" pulumi-lang-dotnet=\"`DependsOn`\" pulumi-lang-go=\"`dependsOn`\" pulumi-lang-python=\"`depends_on`\" pulumi-lang-yaml=\"`dependsOn`\" pulumi-lang-java=\"`dependsOn`\"\u003e`depends_on`\u003c/span\u003e between this resource and the Load Balancer Rule.\n"},"name":{"type":"string","description":"The Name which should be used for this IP Configuration.\n"},"primary":{"type":"boolean","description":"Is this the Primary IP Configuration for this Network Interface? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** One \u003cspan pulumi-lang-nodejs=\"`ipConfiguration`\" pulumi-lang-dotnet=\"`IpConfiguration`\" pulumi-lang-go=\"`ipConfiguration`\" pulumi-lang-python=\"`ip_configuration`\" pulumi-lang-yaml=\"`ipConfiguration`\" pulumi-lang-java=\"`ipConfiguration`\"\u003e`ip_configuration`\u003c/span\u003e block must be marked as Primary for each Network Interface.\n"},"publicIpAddresses":{"type":"array","items":{"$ref":"#/types/azure:compute/WindowsVirtualMachineScaleSetNetworkInterfaceIpConfigurationPublicIpAddress:WindowsVirtualMachineScaleSetNetworkInterfaceIpConfigurationPublicIpAddress"},"description":"A \u003cspan pulumi-lang-nodejs=\"`publicIpAddress`\" pulumi-lang-dotnet=\"`PublicIpAddress`\" pulumi-lang-go=\"`publicIpAddress`\" pulumi-lang-python=\"`public_ip_address`\" pulumi-lang-yaml=\"`publicIpAddress`\" pulumi-lang-java=\"`publicIpAddress`\"\u003e`public_ip_address`\u003c/span\u003e block as defined below.\n"},"subnetId":{"type":"string","description":"The ID of the Subnet which this IP Configuration should be connected to.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`subnetId`\" pulumi-lang-dotnet=\"`SubnetId`\" pulumi-lang-go=\"`subnetId`\" pulumi-lang-python=\"`subnet_id`\" pulumi-lang-yaml=\"`subnetId`\" pulumi-lang-java=\"`subnetId`\"\u003e`subnet_id`\u003c/span\u003e is required if \u003cspan pulumi-lang-nodejs=\"`version`\" pulumi-lang-dotnet=\"`Version`\" pulumi-lang-go=\"`version`\" pulumi-lang-python=\"`version`\" pulumi-lang-yaml=\"`version`\" pulumi-lang-java=\"`version`\"\u003e`version`\u003c/span\u003e is set to `IPv4`.\n"},"version":{"type":"string","description":"The Internet Protocol Version which should be used for this IP Configuration. Possible values are `IPv4` and `IPv6`. Defaults to `IPv4`.\n"}},"type":"object","required":["name"]},"azure:compute/WindowsVirtualMachineScaleSetNetworkInterfaceIpConfigurationPublicIpAddress:WindowsVirtualMachineScaleSetNetworkInterfaceIpConfigurationPublicIpAddress":{"properties":{"domainNameLabel":{"type":"string","description":"The Prefix which should be used for the Domain Name Label for each Virtual Machine Instance. Azure concatenates the Domain Name Label and Virtual Machine Index to create a unique Domain Name Label for each Virtual Machine.\n"},"idleTimeoutInMinutes":{"type":"integer","description":"The Idle Timeout in Minutes for the Public IP Address. Possible values are in the range \u003cspan pulumi-lang-nodejs=\"`4`\" pulumi-lang-dotnet=\"`4`\" pulumi-lang-go=\"`4`\" pulumi-lang-python=\"`4`\" pulumi-lang-yaml=\"`4`\" pulumi-lang-java=\"`4`\"\u003e`4`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`32`\" pulumi-lang-dotnet=\"`32`\" pulumi-lang-go=\"`32`\" pulumi-lang-python=\"`32`\" pulumi-lang-yaml=\"`32`\" pulumi-lang-java=\"`32`\"\u003e`32`\u003c/span\u003e.\n"},"ipTags":{"type":"array","items":{"$ref":"#/types/azure:compute/WindowsVirtualMachineScaleSetNetworkInterfaceIpConfigurationPublicIpAddressIpTag:WindowsVirtualMachineScaleSetNetworkInterfaceIpConfigurationPublicIpAddressIpTag"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`ipTag`\" pulumi-lang-dotnet=\"`IpTag`\" pulumi-lang-go=\"`ipTag`\" pulumi-lang-python=\"`ip_tag`\" pulumi-lang-yaml=\"`ipTag`\" pulumi-lang-java=\"`ipTag`\"\u003e`ip_tag`\u003c/span\u003e blocks as defined above. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The Name of the Public IP Address Configuration.\n"},"publicIpPrefixId":{"type":"string","description":"The ID of the Public IP Address Prefix from where Public IP Addresses should be allocated. Changing this forces a new resource to be created.\n\n\u003e **Note:** This functionality is in Preview and must be opted into via `az feature register --namespace Microsoft.Network --name AllowBringYourOwnPublicIpAddress` and then `az provider register -n Microsoft.Network`.\n","willReplaceOnChanges":true},"version":{"type":"string","description":"The Internet Protocol Version which should be used for this public IP address. Possible values are `IPv4` and `IPv6`. Defaults to `IPv4`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["name"],"language":{"nodejs":{"requiredOutputs":["idleTimeoutInMinutes","name"]}}},"azure:compute/WindowsVirtualMachineScaleSetNetworkInterfaceIpConfigurationPublicIpAddressIpTag:WindowsVirtualMachineScaleSetNetworkInterfaceIpConfigurationPublicIpAddressIpTag":{"properties":{"tag":{"type":"string","description":"The IP Tag associated with the Public IP, such as `SQL` or `Storage`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"type":{"type":"string","description":"The Type of IP Tag, such as `FirstPartyUsage`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["tag","type"]},"azure:compute/WindowsVirtualMachineScaleSetOsDisk:WindowsVirtualMachineScaleSetOsDisk":{"properties":{"caching":{"type":"string","description":"The Type of Caching which should be used for the Internal OS Disk. Possible values are `None`, `ReadOnly` and `ReadWrite`.\n"},"diffDiskSettings":{"$ref":"#/types/azure:compute/WindowsVirtualMachineScaleSetOsDiskDiffDiskSettings:WindowsVirtualMachineScaleSetOsDiskDiffDiskSettings","description":"A \u003cspan pulumi-lang-nodejs=\"`diffDiskSettings`\" pulumi-lang-dotnet=\"`DiffDiskSettings`\" pulumi-lang-go=\"`diffDiskSettings`\" pulumi-lang-python=\"`diff_disk_settings`\" pulumi-lang-yaml=\"`diffDiskSettings`\" pulumi-lang-java=\"`diffDiskSettings`\"\u003e`diff_disk_settings`\u003c/span\u003e block as defined above. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"diskEncryptionSetId":{"type":"string","description":"The ID of the Disk Encryption Set which should be used to encrypt this OS Disk. Conflicts with \u003cspan pulumi-lang-nodejs=\"`secureVmDiskEncryptionSetId`\" pulumi-lang-dotnet=\"`SecureVmDiskEncryptionSetId`\" pulumi-lang-go=\"`secureVmDiskEncryptionSetId`\" pulumi-lang-python=\"`secure_vm_disk_encryption_set_id`\" pulumi-lang-yaml=\"`secureVmDiskEncryptionSetId`\" pulumi-lang-java=\"`secureVmDiskEncryptionSetId`\"\u003e`secure_vm_disk_encryption_set_id`\u003c/span\u003e. Changing this forces a new resource to be created.\n\n\u003e **Note:** The Disk Encryption Set must have the `Reader` Role Assignment scoped on the Key Vault - in addition to an Access Policy to the Key Vault\n\n\u003e **Note:** Disk Encryption Sets are in Public Preview in a limited set of regions\n","willReplaceOnChanges":true},"diskSizeGb":{"type":"integer","description":"The Size of the Internal OS Disk in GB, if you wish to vary from the size used in the image this Virtual Machine Scale Set is sourced from.\n\n\u003e **Note:** If specified this must be equal to or larger than the size of the Image the VM Scale Set is based on. When creating a larger disk than exists in the image you'll need to repartition the disk to use the remaining space.\n"},"secureVmDiskEncryptionSetId":{"type":"string","description":"The ID of the Disk Encryption Set which should be used to Encrypt the OS Disk when the Virtual Machine Scale Set is Confidential VMSS. Conflicts with \u003cspan pulumi-lang-nodejs=\"`diskEncryptionSetId`\" pulumi-lang-dotnet=\"`DiskEncryptionSetId`\" pulumi-lang-go=\"`diskEncryptionSetId`\" pulumi-lang-python=\"`disk_encryption_set_id`\" pulumi-lang-yaml=\"`diskEncryptionSetId`\" pulumi-lang-java=\"`diskEncryptionSetId`\"\u003e`disk_encryption_set_id`\u003c/span\u003e. Changing this forces a new resource to be created.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`secureVmDiskEncryptionSetId`\" pulumi-lang-dotnet=\"`SecureVmDiskEncryptionSetId`\" pulumi-lang-go=\"`secureVmDiskEncryptionSetId`\" pulumi-lang-python=\"`secure_vm_disk_encryption_set_id`\" pulumi-lang-yaml=\"`secureVmDiskEncryptionSetId`\" pulumi-lang-java=\"`secureVmDiskEncryptionSetId`\"\u003e`secure_vm_disk_encryption_set_id`\u003c/span\u003e can only be specified when \u003cspan pulumi-lang-nodejs=\"`securityEncryptionType`\" pulumi-lang-dotnet=\"`SecurityEncryptionType`\" pulumi-lang-go=\"`securityEncryptionType`\" pulumi-lang-python=\"`security_encryption_type`\" pulumi-lang-yaml=\"`securityEncryptionType`\" pulumi-lang-java=\"`securityEncryptionType`\"\u003e`security_encryption_type`\u003c/span\u003e is set to `DiskWithVMGuestState`.\n","willReplaceOnChanges":true},"securityEncryptionType":{"type":"string","description":"Encryption Type when the Virtual Machine Scale Set is Confidential VMSS. Possible values are `VMGuestStateOnly` and `DiskWithVMGuestState`. Changing this forces a new resource to be created.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`vtpmEnabled`\" pulumi-lang-dotnet=\"`VtpmEnabled`\" pulumi-lang-go=\"`vtpmEnabled`\" pulumi-lang-python=\"`vtpm_enabled`\" pulumi-lang-yaml=\"`vtpmEnabled`\" pulumi-lang-java=\"`vtpmEnabled`\"\u003e`vtpm_enabled`\u003c/span\u003e must be set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e when \u003cspan pulumi-lang-nodejs=\"`securityEncryptionType`\" pulumi-lang-dotnet=\"`SecurityEncryptionType`\" pulumi-lang-go=\"`securityEncryptionType`\" pulumi-lang-python=\"`security_encryption_type`\" pulumi-lang-yaml=\"`securityEncryptionType`\" pulumi-lang-java=\"`securityEncryptionType`\"\u003e`security_encryption_type`\u003c/span\u003e is specified.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`encryptionAtHostEnabled`\" pulumi-lang-dotnet=\"`EncryptionAtHostEnabled`\" pulumi-lang-go=\"`encryptionAtHostEnabled`\" pulumi-lang-python=\"`encryption_at_host_enabled`\" pulumi-lang-yaml=\"`encryptionAtHostEnabled`\" pulumi-lang-java=\"`encryptionAtHostEnabled`\"\u003e`encryption_at_host_enabled`\u003c/span\u003e cannot be set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e when \u003cspan pulumi-lang-nodejs=\"`securityEncryptionType`\" pulumi-lang-dotnet=\"`SecurityEncryptionType`\" pulumi-lang-go=\"`securityEncryptionType`\" pulumi-lang-python=\"`security_encryption_type`\" pulumi-lang-yaml=\"`securityEncryptionType`\" pulumi-lang-java=\"`securityEncryptionType`\"\u003e`security_encryption_type`\u003c/span\u003e is set to `DiskWithVMGuestState`.\n","willReplaceOnChanges":true},"storageAccountType":{"type":"string","description":"The Type of Storage Account which should back this the Internal OS Disk. Possible values include `Standard_LRS`, `StandardSSD_LRS`, `StandardSSD_ZRS`, `Premium_LRS` and `Premium_ZRS`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"writeAcceleratorEnabled":{"type":"boolean","description":"Should Write Accelerator be Enabled for this OS Disk? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** This requires that the \u003cspan pulumi-lang-nodejs=\"`storageAccountType`\" pulumi-lang-dotnet=\"`StorageAccountType`\" pulumi-lang-go=\"`storageAccountType`\" pulumi-lang-python=\"`storage_account_type`\" pulumi-lang-yaml=\"`storageAccountType`\" pulumi-lang-java=\"`storageAccountType`\"\u003e`storage_account_type`\u003c/span\u003e is set to `Premium_LRS` and that \u003cspan pulumi-lang-nodejs=\"`caching`\" pulumi-lang-dotnet=\"`Caching`\" pulumi-lang-go=\"`caching`\" pulumi-lang-python=\"`caching`\" pulumi-lang-yaml=\"`caching`\" pulumi-lang-java=\"`caching`\"\u003e`caching`\u003c/span\u003e is set to `None`.\n"}},"type":"object","required":["caching","storageAccountType"],"language":{"nodejs":{"requiredOutputs":["caching","diskSizeGb","storageAccountType"]}}},"azure:compute/WindowsVirtualMachineScaleSetOsDiskDiffDiskSettings:WindowsVirtualMachineScaleSetOsDiskDiffDiskSettings":{"properties":{"option":{"type":"string","description":"Specifies the Ephemeral Disk Settings for the OS Disk. At this time the only possible value is `Local`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"placement":{"type":"string","description":"Specifies where to store the Ephemeral Disk. Possible values are `CacheDisk` and `ResourceDisk`. Defaults to `CacheDisk`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["option"]},"azure:compute/WindowsVirtualMachineScaleSetPlan:WindowsVirtualMachineScaleSetPlan":{"properties":{"name":{"type":"string","description":"Specifies the name of the image from the marketplace. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"product":{"type":"string","description":"Specifies the product of the image from the marketplace. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"publisher":{"type":"string","description":"Specifies the publisher of the image. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["name","product","publisher"]},"azure:compute/WindowsVirtualMachineScaleSetRollingUpgradePolicy:WindowsVirtualMachineScaleSetRollingUpgradePolicy":{"properties":{"crossZoneUpgradesEnabled":{"type":"boolean","description":"Should the Virtual Machine Scale Set ignore the Azure Zone boundaries when constructing upgrade batches? Possible values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"maxBatchInstancePercent":{"type":"integer","description":"The maximum percent of total virtual machine instances that will be upgraded simultaneously by the rolling upgrade in one batch. As this is a maximum, unhealthy instances in previous or future batches can cause the percentage of instances in a batch to decrease to ensure higher reliability.\n"},"maxUnhealthyInstancePercent":{"type":"integer","description":"The maximum percentage of the total virtual machine instances in the scale set that can be simultaneously unhealthy, either as a result of being upgraded, or by being found in an unhealthy state by the virtual machine health checks before the rolling upgrade aborts. This constraint will be checked prior to starting any batch.\n"},"maxUnhealthyUpgradedInstancePercent":{"type":"integer","description":"The maximum percentage of upgraded virtual machine instances that can be found to be in an unhealthy state. This check will happen after each batch is upgraded. If this percentage is ever exceeded, the rolling update aborts.\n"},"maximumSurgeInstancesEnabled":{"type":"boolean","description":"Create new virtual machines to upgrade the scale set, rather than updating the existing virtual machines. Existing virtual machines will be deleted once the new virtual machines are created for each batch. Possible values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`overprovision`\" pulumi-lang-dotnet=\"`Overprovision`\" pulumi-lang-go=\"`overprovision`\" pulumi-lang-python=\"`overprovision`\" pulumi-lang-yaml=\"`overprovision`\" pulumi-lang-java=\"`overprovision`\"\u003e`overprovision`\u003c/span\u003e must be set to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e when \u003cspan pulumi-lang-nodejs=\"`maximumSurgeInstancesEnabled`\" pulumi-lang-dotnet=\"`MaximumSurgeInstancesEnabled`\" pulumi-lang-go=\"`maximumSurgeInstancesEnabled`\" pulumi-lang-python=\"`maximum_surge_instances_enabled`\" pulumi-lang-yaml=\"`maximumSurgeInstancesEnabled`\" pulumi-lang-java=\"`maximumSurgeInstancesEnabled`\"\u003e`maximum_surge_instances_enabled`\u003c/span\u003e is specified.\n"},"pauseTimeBetweenBatches":{"type":"string","description":"The wait time between completing the update for all virtual machines in one batch and starting the next batch. The time duration should be specified in ISO 8601 format.\n"},"prioritizeUnhealthyInstancesEnabled":{"type":"boolean","description":"Upgrade all unhealthy instances in a scale set before any healthy instances. Possible values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"}},"type":"object","required":["maxBatchInstancePercent","maxUnhealthyInstancePercent","maxUnhealthyUpgradedInstancePercent","pauseTimeBetweenBatches"]},"azure:compute/WindowsVirtualMachineScaleSetScaleIn:WindowsVirtualMachineScaleSetScaleIn":{"properties":{"forceDeletionEnabled":{"type":"boolean","description":"Should the virtual machines chosen for removal be force deleted when the virtual machine scale set is being scaled-in? Possible values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"rule":{"type":"string","description":"The scale-in policy rule that decides which virtual machines are chosen for removal when a Virtual Machine Scale Set is scaled in. Possible values for the scale-in policy rules are `Default`, `NewestVM` and `OldestVM`, defaults to `Default`. For more information about scale in policy, please [refer to this doc](https://docs.microsoft.com/azure/virtual-machine-scale-sets/virtual-machine-scale-sets-scale-in-policy).\n"}},"type":"object"},"azure:compute/WindowsVirtualMachineScaleSetSecret:WindowsVirtualMachineScaleSetSecret":{"properties":{"certificates":{"type":"array","items":{"$ref":"#/types/azure:compute/WindowsVirtualMachineScaleSetSecretCertificate:WindowsVirtualMachineScaleSetSecretCertificate"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`certificate`\" pulumi-lang-dotnet=\"`Certificate`\" pulumi-lang-go=\"`certificate`\" pulumi-lang-python=\"`certificate`\" pulumi-lang-yaml=\"`certificate`\" pulumi-lang-java=\"`certificate`\"\u003e`certificate`\u003c/span\u003e blocks as defined above.\n"},"keyVaultId":{"type":"string","description":"The ID of the Key Vault from which all Secrets should be sourced.\n"}},"type":"object","required":["certificates","keyVaultId"]},"azure:compute/WindowsVirtualMachineScaleSetSecretCertificate:WindowsVirtualMachineScaleSetSecretCertificate":{"properties":{"store":{"type":"string","description":"The certificate store on the Virtual Machine where the certificate should be added.\n"},"url":{"type":"string","description":"The Secret URL of a Key Vault Certificate.\n\n\u003e **Note:** This can be sourced from the \u003cspan pulumi-lang-nodejs=\"`secretId`\" pulumi-lang-dotnet=\"`SecretId`\" pulumi-lang-go=\"`secretId`\" pulumi-lang-python=\"`secret_id`\" pulumi-lang-yaml=\"`secretId`\" pulumi-lang-java=\"`secretId`\"\u003e`secret_id`\u003c/span\u003e field within the \u003cspan pulumi-lang-nodejs=\"`azure.keyvault.Certificate`\" pulumi-lang-dotnet=\"`azure.keyvault.Certificate`\" pulumi-lang-go=\"`keyvault.Certificate`\" pulumi-lang-python=\"`keyvault.Certificate`\" pulumi-lang-yaml=\"`azure.keyvault.Certificate`\" pulumi-lang-java=\"`azure.keyvault.Certificate`\"\u003e`azure.keyvault.Certificate`\u003c/span\u003e Resource.\n"}},"type":"object","required":["store","url"]},"azure:compute/WindowsVirtualMachineScaleSetSourceImageReference:WindowsVirtualMachineScaleSetSourceImageReference":{"properties":{"offer":{"type":"string","description":"Specifies the offer of the image used to create the virtual machines. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"publisher":{"type":"string","description":"Specifies the publisher of the image used to create the virtual machines. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sku":{"type":"string","description":"Specifies the SKU of the image used to create the virtual machines.\n"},"version":{"type":"string","description":"Specifies the version of the image used to create the virtual machines.\n"}},"type":"object","required":["offer","publisher","sku","version"]},"azure:compute/WindowsVirtualMachineScaleSetSpotRestore:WindowsVirtualMachineScaleSetSpotRestore":{"properties":{"enabled":{"type":"boolean","description":"Should the Spot-Try-Restore feature be enabled? The Spot-Try-Restore feature will attempt to automatically restore the evicted Spot Virtual Machine Scale Set VM instances opportunistically based on capacity availability and pricing constraints. Possible values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"timeout":{"type":"string","description":"The length of time that the Virtual Machine Scale Set should attempt to restore the Spot VM instances which have been evicted. The time duration should be between \u003cspan pulumi-lang-nodejs=\"`15`\" pulumi-lang-dotnet=\"`15`\" pulumi-lang-go=\"`15`\" pulumi-lang-python=\"`15`\" pulumi-lang-yaml=\"`15`\" pulumi-lang-java=\"`15`\"\u003e`15`\u003c/span\u003e minutes and \u003cspan pulumi-lang-nodejs=\"`120`\" pulumi-lang-dotnet=\"`120`\" pulumi-lang-go=\"`120`\" pulumi-lang-python=\"`120`\" pulumi-lang-yaml=\"`120`\" pulumi-lang-java=\"`120`\"\u003e`120`\u003c/span\u003e minutes (inclusive). The time duration should be specified in the ISO 8601 format. Defaults to `PT1H`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"},"azure:compute/WindowsVirtualMachineScaleSetTerminationNotification:WindowsVirtualMachineScaleSetTerminationNotification":{"properties":{"enabled":{"type":"boolean","description":"Should the termination notification be enabled on this Virtual Machine Scale Set?\n"},"timeout":{"type":"string","description":"Length of time (in minutes, between 5 and 15) a notification to be sent to the VM on the instance metadata server till the VM gets deleted. The time duration should be specified in ISO 8601 format. Defaults to `PT5M`.\n\n\u003e **Note:** For more information about the termination notification, please [refer to this doc](https://docs.microsoft.com/azure/virtual-machine-scale-sets/virtual-machine-scale-sets-terminate-notification).\n"}},"type":"object","required":["enabled"]},"azure:compute/WindowsVirtualMachineScaleSetWinrmListener:WindowsVirtualMachineScaleSetWinrmListener":{"properties":{"certificateUrl":{"type":"string","description":"The Secret URL of a Key Vault Certificate, which must be specified when \u003cspan pulumi-lang-nodejs=\"`protocol`\" pulumi-lang-dotnet=\"`Protocol`\" pulumi-lang-go=\"`protocol`\" pulumi-lang-python=\"`protocol`\" pulumi-lang-yaml=\"`protocol`\" pulumi-lang-java=\"`protocol`\"\u003e`protocol`\u003c/span\u003e is set to `Https`. Changing this forces a new resource to be created.\n\n\u003e **Note:** This can be sourced from the \u003cspan pulumi-lang-nodejs=\"`secretId`\" pulumi-lang-dotnet=\"`SecretId`\" pulumi-lang-go=\"`secretId`\" pulumi-lang-python=\"`secret_id`\" pulumi-lang-yaml=\"`secretId`\" pulumi-lang-java=\"`secretId`\"\u003e`secret_id`\u003c/span\u003e field within the \u003cspan pulumi-lang-nodejs=\"`azure.keyvault.Certificate`\" pulumi-lang-dotnet=\"`azure.keyvault.Certificate`\" pulumi-lang-go=\"`keyvault.Certificate`\" pulumi-lang-python=\"`keyvault.Certificate`\" pulumi-lang-yaml=\"`azure.keyvault.Certificate`\" pulumi-lang-java=\"`azure.keyvault.Certificate`\"\u003e`azure.keyvault.Certificate`\u003c/span\u003e Resource.\n","willReplaceOnChanges":true},"protocol":{"type":"string","description":"The Protocol of the WinRM Listener. Possible values are `Http` and `Https`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["protocol"]},"azure:compute/WindowsVirtualMachineSecret:WindowsVirtualMachineSecret":{"properties":{"certificates":{"type":"array","items":{"$ref":"#/types/azure:compute/WindowsVirtualMachineSecretCertificate:WindowsVirtualMachineSecretCertificate"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`certificate`\" pulumi-lang-dotnet=\"`Certificate`\" pulumi-lang-go=\"`certificate`\" pulumi-lang-python=\"`certificate`\" pulumi-lang-yaml=\"`certificate`\" pulumi-lang-java=\"`certificate`\"\u003e`certificate`\u003c/span\u003e blocks as defined above.\n"},"keyVaultId":{"type":"string","description":"The ID of the Key Vault from which all Secrets should be sourced.\n"}},"type":"object","required":["certificates","keyVaultId"]},"azure:compute/WindowsVirtualMachineSecretCertificate:WindowsVirtualMachineSecretCertificate":{"properties":{"store":{"type":"string","description":"The certificate store on the Virtual Machine where the certificate should be added.\n"},"url":{"type":"string","description":"The Secret URL of a Key Vault Certificate.\n\n\u003e **NOTE:** This can be sourced from the \u003cspan pulumi-lang-nodejs=\"`secretId`\" pulumi-lang-dotnet=\"`SecretId`\" pulumi-lang-go=\"`secretId`\" pulumi-lang-python=\"`secret_id`\" pulumi-lang-yaml=\"`secretId`\" pulumi-lang-java=\"`secretId`\"\u003e`secret_id`\u003c/span\u003e field within the \u003cspan pulumi-lang-nodejs=\"`azure.keyvault.Certificate`\" pulumi-lang-dotnet=\"`azure.keyvault.Certificate`\" pulumi-lang-go=\"`keyvault.Certificate`\" pulumi-lang-python=\"`keyvault.Certificate`\" pulumi-lang-yaml=\"`azure.keyvault.Certificate`\" pulumi-lang-java=\"`azure.keyvault.Certificate`\"\u003e`azure.keyvault.Certificate`\u003c/span\u003e Resource.\n"}},"type":"object","required":["store","url"]},"azure:compute/WindowsVirtualMachineSourceImageReference:WindowsVirtualMachineSourceImageReference":{"properties":{"offer":{"type":"string","description":"Specifies the offer of the image used to create the virtual machines. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"publisher":{"type":"string","description":"Specifies the publisher of the image used to create the virtual machines. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sku":{"type":"string","description":"Specifies the SKU of the image used to create the virtual machines. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"version":{"type":"string","description":"Specifies the version of the image used to create the virtual machines. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["offer","publisher","sku","version"]},"azure:compute/WindowsVirtualMachineTerminationNotification:WindowsVirtualMachineTerminationNotification":{"properties":{"enabled":{"type":"boolean","description":"Should the termination notification be enabled on this Virtual Machine?\n"},"timeout":{"type":"string","description":"Length of time (in minutes, between \u003cspan pulumi-lang-nodejs=\"`5`\" pulumi-lang-dotnet=\"`5`\" pulumi-lang-go=\"`5`\" pulumi-lang-python=\"`5`\" pulumi-lang-yaml=\"`5`\" pulumi-lang-java=\"`5`\"\u003e`5`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`15`\" pulumi-lang-dotnet=\"`15`\" pulumi-lang-go=\"`15`\" pulumi-lang-python=\"`15`\" pulumi-lang-yaml=\"`15`\" pulumi-lang-java=\"`15`\"\u003e`15`\u003c/span\u003e) a notification to be sent to the VM on the instance metadata server till the VM gets deleted. The time duration should be specified in ISO 8601 format. Defaults to `PT5M`.\n\n\u003e **NOTE:** For more information about the termination notification, please [refer to this doc](https://docs.microsoft.com/azure/virtual-machine-scale-sets/virtual-machine-scale-sets-terminate-notification).\n"}},"type":"object","required":["enabled"]},"azure:compute/WindowsVirtualMachineWinrmListener:WindowsVirtualMachineWinrmListener":{"properties":{"certificateUrl":{"type":"string","description":"The Secret URL of a Key Vault Certificate, which must be specified when \u003cspan pulumi-lang-nodejs=\"`protocol`\" pulumi-lang-dotnet=\"`Protocol`\" pulumi-lang-go=\"`protocol`\" pulumi-lang-python=\"`protocol`\" pulumi-lang-yaml=\"`protocol`\" pulumi-lang-java=\"`protocol`\"\u003e`protocol`\u003c/span\u003e is set to `Https`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"protocol":{"type":"string","description":"Specifies the protocol of listener. Possible values are `Http` or `Https`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["protocol"]},"azure:compute/getBastionHostIpConfiguration:getBastionHostIpConfiguration":{"properties":{"name":{"type":"string","description":"The name of the Bastion Host.\n"},"publicIpAddressId":{"type":"string","description":"Reference to a Public IP Address associated to this Bastion Host.\n"},"subnetId":{"type":"string","description":"Reference to the subnet in which this Bastion Host has been created.\n"}},"type":"object","required":["name","publicIpAddressId","subnetId"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:compute/getConfidentialLedgerAzureadBasedServicePrincipal:getConfidentialLedgerAzureadBasedServicePrincipal":{"properties":{"ledgerRoleName":{"type":"string","description":"The Ledger Role to grant this Certificate Security Principal.\n"},"principalId":{"type":"string","description":"The Principal ID of the AzureAD Service Principal.\n"},"tenantId":{"type":"string","description":"The Tenant ID for this AzureAD Service Principal.\n"}},"type":"object","required":["ledgerRoleName","principalId","tenantId"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:compute/getConfidentialLedgerCertificateBasedSecurityPrincipal:getConfidentialLedgerCertificateBasedSecurityPrincipal":{"properties":{"ledgerRoleName":{"type":"string","description":"The Ledger Role to grant this Certificate Security Principal.\n"},"pemPublicKey":{"type":"string","description":"The public key, in PEM format, of the certificate used by this identity to authenticate with the Confidential Ledger.\n"}},"type":"object","required":["ledgerRoleName","pemPublicKey"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:compute/getDiskEncryptionSetIdentity:getDiskEncryptionSetIdentity":{"properties":{"identityIds":{"type":"array","items":{"type":"string"},"description":"A list of User Assigned Managed Identity IDs assigned to this Disk Encryption Set.\n"},"principalId":{"type":"string","description":"The (Client) ID of the Service Principal.\n"},"tenantId":{"type":"string","description":"The ID of the Tenant the Service Principal is assigned in.\n"},"type":{"type":"string","description":"The type of Managed Service Identity that is configured on this Disk Encryption Set.\n"}},"type":"object","required":["identityIds","principalId","tenantId","type"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:compute/getImageDataDisk:getImageDataDisk":{"properties":{"blobUri":{"type":"string","description":"the URI in Azure storage of the blob used to create the image.\n"},"caching":{"type":"string","description":"the caching mode for the Data Disk, such as `ReadWrite`, `ReadOnly`, or `None`.\n"},"lun":{"type":"integer","description":"the logical unit number of the data disk.\n"},"managedDiskId":{"type":"string","description":"the ID of the Managed Disk used as the Data Disk Image.\n"},"sizeGb":{"type":"integer","description":"the size of this Data Disk in GB.\n"}},"type":"object","required":["blobUri","caching","lun","managedDiskId","sizeGb"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:compute/getImageOsDisk:getImageOsDisk":{"properties":{"blobUri":{"type":"string","description":"the URI in Azure storage of the blob used to create the image.\n"},"caching":{"type":"string","description":"the caching mode for the Data Disk, such as `ReadWrite`, `ReadOnly`, or `None`.\n"},"managedDiskId":{"type":"string","description":"the ID of the Managed Disk used as the Data Disk Image.\n"},"osState":{"type":"string","description":"the State of the OS used in the Image, such as `Generalized`.\n"},"osType":{"type":"string","description":"the type of Operating System used on the OS Disk. such as `Linux` or `Windows`.\n"},"sizeGb":{"type":"integer","description":"the size of this Data Disk in GB.\n"}},"type":"object","required":["blobUri","caching","managedDiskId","osState","osType","sizeGb"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:compute/getImagesImage:getImagesImage":{"properties":{"dataDisks":{"type":"array","items":{"$ref":"#/types/azure:compute/getImagesImageDataDisk:getImagesImageDataDisk"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`dataDisk`\" pulumi-lang-dotnet=\"`DataDisk`\" pulumi-lang-go=\"`dataDisk`\" pulumi-lang-python=\"`data_disk`\" pulumi-lang-yaml=\"`dataDisk`\" pulumi-lang-java=\"`dataDisk`\"\u003e`data_disk`\u003c/span\u003e blocks as defined below.\n"},"location":{"type":"string","description":"The supported Azure location where the Image exists.\n"},"name":{"type":"string","description":"The name of the Image.\n"},"osDisks":{"type":"array","items":{"$ref":"#/types/azure:compute/getImagesImageOsDisk:getImagesImageOsDisk"},"description":"An \u003cspan pulumi-lang-nodejs=\"`osDisk`\" pulumi-lang-dotnet=\"`OsDisk`\" pulumi-lang-go=\"`osDisk`\" pulumi-lang-python=\"`os_disk`\" pulumi-lang-yaml=\"`osDisk`\" pulumi-lang-java=\"`osDisk`\"\u003e`os_disk`\u003c/span\u003e block as defined below.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags assigned to the Image.\n"},"zoneResilient":{"type":"boolean","description":"Is zone resiliency enabled?\n"}},"type":"object","required":["dataDisks","location","name","osDisks","tags","zoneResilient"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:compute/getImagesImageDataDisk:getImagesImageDataDisk":{"properties":{"blobUri":{"type":"string","description":"the URI in Azure storage of the blob used to create the image.\n"},"caching":{"type":"string","description":"the caching mode for the Data Disk.\n"},"lun":{"type":"integer","description":"the logical unit number of the data disk.\n"},"managedDiskId":{"type":"string","description":"the ID of the Managed Disk used as the Data Disk Image.\n"},"sizeGb":{"type":"integer","description":"the size of this Data Disk in GB.\n"}},"type":"object","required":["blobUri","caching","lun","managedDiskId","sizeGb"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:compute/getImagesImageOsDisk:getImagesImageOsDisk":{"properties":{"blobUri":{"type":"string","description":"the URI in Azure storage of the blob used to create the image.\n"},"caching":{"type":"string","description":"the caching mode for the Data Disk.\n"},"diskEncryptionSetId":{"type":"string","description":"the ID of the Disk Encryption Set used to encrypt this image.\n"},"managedDiskId":{"type":"string","description":"the ID of the Managed Disk used as the Data Disk Image.\n"},"osState":{"type":"string","description":"the State of the OS used in the Image.\n"},"osType":{"type":"string","description":"the type of Operating System used on the OS Disk.\n"},"sizeGb":{"type":"integer","description":"the size of this Data Disk in GB.\n"}},"type":"object","required":["blobUri","caching","diskEncryptionSetId","managedDiskId","osState","osType","sizeGb"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:compute/getManagedDiskEncryptionSetting:getManagedDiskEncryptionSetting":{"properties":{"diskEncryptionKeys":{"type":"array","items":{"$ref":"#/types/azure:compute/getManagedDiskEncryptionSettingDiskEncryptionKey:getManagedDiskEncryptionSettingDiskEncryptionKey"},"description":"A \u003cspan pulumi-lang-nodejs=\"`diskEncryptionKey`\" pulumi-lang-dotnet=\"`DiskEncryptionKey`\" pulumi-lang-go=\"`diskEncryptionKey`\" pulumi-lang-python=\"`disk_encryption_key`\" pulumi-lang-yaml=\"`diskEncryptionKey`\" pulumi-lang-java=\"`diskEncryptionKey`\"\u003e`disk_encryption_key`\u003c/span\u003e block as defined above.\n"},"enabled":{"type":"boolean"},"keyEncryptionKeys":{"type":"array","items":{"$ref":"#/types/azure:compute/getManagedDiskEncryptionSettingKeyEncryptionKey:getManagedDiskEncryptionSettingKeyEncryptionKey"},"description":"A \u003cspan pulumi-lang-nodejs=\"`keyEncryptionKey`\" pulumi-lang-dotnet=\"`KeyEncryptionKey`\" pulumi-lang-go=\"`keyEncryptionKey`\" pulumi-lang-python=\"`key_encryption_key`\" pulumi-lang-yaml=\"`keyEncryptionKey`\" pulumi-lang-java=\"`keyEncryptionKey`\"\u003e`key_encryption_key`\u003c/span\u003e block as defined below.\n"}},"type":"object","required":["diskEncryptionKeys","enabled","keyEncryptionKeys"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:compute/getManagedDiskEncryptionSettingDiskEncryptionKey:getManagedDiskEncryptionSettingDiskEncryptionKey":{"properties":{"secretUrl":{"type":"string","description":"The URL to the Key Vault Secret used as the Disk Encryption Key.\n"},"sourceVaultId":{"type":"string","description":"The ID of the source Key Vault.\n"}},"type":"object","required":["secretUrl","sourceVaultId"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:compute/getManagedDiskEncryptionSettingKeyEncryptionKey:getManagedDiskEncryptionSettingKeyEncryptionKey":{"properties":{"keyUrl":{"type":"string","description":"The URL to the Key Vault Key used as the Key Encryption Key.\n"},"sourceVaultId":{"type":"string","description":"The ID of the source Key Vault.\n"}},"type":"object","required":["keyUrl","sourceVaultId"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:compute/getManagedDisksDisk:getManagedDisksDisk":{"properties":{"createOption":{"type":"string"},"diskAccessId":{"type":"string","description":"The ID of the disk access resource for using private endpoints on disks.\n"},"diskEncryptionSetId":{"type":"string","description":"The ID of the Disk Encryption Set used to encrypt this Managed Disk.\n"},"diskIopsReadWrite":{"type":"integer","description":"The number of IOPS allowed for this disk, where one operation can transfer between 4k and 256k bytes.\n"},"diskMbpsReadWrite":{"type":"integer","description":"The bandwidth allowed for this disk.\n"},"diskSizeInGb":{"type":"integer","description":"The size of the Managed Disk in gigabytes.\n"},"encryptionSettings":{"type":"array","items":{"$ref":"#/types/azure:compute/getManagedDisksDiskEncryptionSetting:getManagedDisksDiskEncryptionSetting"},"description":"An \u003cspan pulumi-lang-nodejs=\"`encryptionSettings`\" pulumi-lang-dotnet=\"`EncryptionSettings`\" pulumi-lang-go=\"`encryptionSettings`\" pulumi-lang-python=\"`encryption_settings`\" pulumi-lang-yaml=\"`encryptionSettings`\" pulumi-lang-java=\"`encryptionSettings`\"\u003e`encryption_settings`\u003c/span\u003e block as defined below.\n"},"id":{"type":"string"},"imageReferenceId":{"type":"string","description":"The ID of the source image used for creating this Managed Disk.\n"},"location":{"type":"string","description":"The Azure location of the Managed Disk.\n"},"name":{"type":"string","description":"The name of the Managed Disk.\n"},"networkAccessPolicy":{"type":"string","description":"Policy for accessing the disk via network.\n"},"osType":{"type":"string","description":"The operating system used for this Managed Disk.\n"},"sourceResourceId":{"type":"string","description":"The ID of an existing Managed Disk which this Disk was created from.\n"},"sourceUri":{"type":"string","description":"The Source URI for this Managed Disk.\n"},"storageAccountId":{"type":"string","description":"The ID of the Storage Account where the \u003cspan pulumi-lang-nodejs=\"`sourceUri`\" pulumi-lang-dotnet=\"`SourceUri`\" pulumi-lang-go=\"`sourceUri`\" pulumi-lang-python=\"`source_uri`\" pulumi-lang-yaml=\"`sourceUri`\" pulumi-lang-java=\"`sourceUri`\"\u003e`source_uri`\u003c/span\u003e is located.\n"},"storageAccountType":{"type":"string","description":"The storage account type for the Managed Disk.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags assigned to the resource.\n"},"zones":{"type":"array","items":{"type":"string"},"description":"A list of Availability Zones where the Managed Disk exists.\n"}},"type":"object","required":["createOption","diskAccessId","diskEncryptionSetId","diskIopsReadWrite","diskMbpsReadWrite","diskSizeInGb","encryptionSettings","id","imageReferenceId","location","name","networkAccessPolicy","osType","sourceResourceId","sourceUri","storageAccountId","storageAccountType","tags","zones"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:compute/getManagedDisksDiskEncryptionSetting:getManagedDisksDiskEncryptionSetting":{"properties":{"diskEncryptionKeys":{"type":"array","items":{"$ref":"#/types/azure:compute/getManagedDisksDiskEncryptionSettingDiskEncryptionKey:getManagedDisksDiskEncryptionSettingDiskEncryptionKey"},"description":"A \u003cspan pulumi-lang-nodejs=\"`diskEncryptionKey`\" pulumi-lang-dotnet=\"`DiskEncryptionKey`\" pulumi-lang-go=\"`diskEncryptionKey`\" pulumi-lang-python=\"`disk_encryption_key`\" pulumi-lang-yaml=\"`diskEncryptionKey`\" pulumi-lang-java=\"`diskEncryptionKey`\"\u003e`disk_encryption_key`\u003c/span\u003e block as defined above.\n"},"enabled":{"type":"boolean"},"keyEncryptionKeys":{"type":"array","items":{"$ref":"#/types/azure:compute/getManagedDisksDiskEncryptionSettingKeyEncryptionKey:getManagedDisksDiskEncryptionSettingKeyEncryptionKey"},"description":"A \u003cspan pulumi-lang-nodejs=\"`keyEncryptionKey`\" pulumi-lang-dotnet=\"`KeyEncryptionKey`\" pulumi-lang-go=\"`keyEncryptionKey`\" pulumi-lang-python=\"`key_encryption_key`\" pulumi-lang-yaml=\"`keyEncryptionKey`\" pulumi-lang-java=\"`keyEncryptionKey`\"\u003e`key_encryption_key`\u003c/span\u003e block as defined below.\n"}},"type":"object","required":["diskEncryptionKeys","enabled","keyEncryptionKeys"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:compute/getManagedDisksDiskEncryptionSettingDiskEncryptionKey:getManagedDisksDiskEncryptionSettingDiskEncryptionKey":{"properties":{"secretUrl":{"type":"string","description":"The URL to the Key Vault Secret used as the Disk Encryption Key.\n"},"sourceVaultId":{"type":"string","description":"The ID of the source Key Vault.\n"}},"type":"object","required":["secretUrl","sourceVaultId"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:compute/getManagedDisksDiskEncryptionSettingKeyEncryptionKey:getManagedDisksDiskEncryptionSettingKeyEncryptionKey":{"properties":{"keyUrl":{"type":"string","description":"The URL to the Key Vault Key used as the Key Encryption Key.\n"},"sourceVaultId":{"type":"string","description":"The ID of the source Key Vault.\n"}},"type":"object","required":["keyUrl","sourceVaultId"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:compute/getOrchestratedVirtualMachineScaleSetIdentity:getOrchestratedVirtualMachineScaleSetIdentity":{"properties":{"identityIds":{"type":"array","items":{"type":"string"},"description":"The list of User Assigned Managed Identity IDs assigned to this Orchestrated Virtual Machine Scale Set.\n"},"principalId":{"type":"string","description":"The Principal ID of the System Assigned Managed Service Identity that is configured on this Orchestrated Virtual Machine Scale Set.\n"},"tenantId":{"type":"string","description":"The Tenant ID of the System Assigned Managed Service Identity that is configured on this Orchestrated Virtual Machine Scale Set.\n"},"type":{"type":"string","description":"The Type of IP Tag.\n"}},"type":"object","required":["identityIds","principalId","tenantId","type"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:compute/getOrchestratedVirtualMachineScaleSetNetworkInterface:getOrchestratedVirtualMachineScaleSetNetworkInterface":{"properties":{"acceleratedNetworkingEnabled":{"type":"boolean","description":"Is accelerated networking enabled?\n"},"dnsServers":{"type":"array","items":{"type":"string"},"description":"An array of the DNS servers in use.\n"},"ipConfigurations":{"type":"array","items":{"$ref":"#/types/azure:compute/getOrchestratedVirtualMachineScaleSetNetworkInterfaceIpConfiguration:getOrchestratedVirtualMachineScaleSetNetworkInterfaceIpConfiguration"},"description":"An \u003cspan pulumi-lang-nodejs=\"`ipConfiguration`\" pulumi-lang-dotnet=\"`IpConfiguration`\" pulumi-lang-go=\"`ipConfiguration`\" pulumi-lang-python=\"`ip_configuration`\" pulumi-lang-yaml=\"`ipConfiguration`\" pulumi-lang-java=\"`ipConfiguration`\"\u003e`ip_configuration`\u003c/span\u003e block as documented below.\n"},"ipForwardingEnabled":{"type":"boolean","description":"Is IP forwarding enabled?\n"},"name":{"type":"string","description":"The name of this Orchestrated Virtual Machine Scale Set.\n"},"networkSecurityGroupId":{"type":"string","description":"The identifier for the network security group.\n"},"primary":{"type":"boolean","description":"If this\u003cspan pulumi-lang-nodejs=\" ipConfiguration \" pulumi-lang-dotnet=\" IpConfiguration \" pulumi-lang-go=\" ipConfiguration \" pulumi-lang-python=\" ip_configuration \" pulumi-lang-yaml=\" ipConfiguration \" pulumi-lang-java=\" ipConfiguration \"\u003e ip_configuration \u003c/span\u003eis the primary one.\n"}},"type":"object","required":["acceleratedNetworkingEnabled","dnsServers","ipConfigurations","ipForwardingEnabled","name","networkSecurityGroupId","primary"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:compute/getOrchestratedVirtualMachineScaleSetNetworkInterfaceIpConfiguration:getOrchestratedVirtualMachineScaleSetNetworkInterfaceIpConfiguration":{"properties":{"applicationGatewayBackendAddressPoolIds":{"type":"array","items":{"type":"string"},"description":"An array of references to backend address pools of application gateways.\n"},"applicationSecurityGroupIds":{"type":"array","items":{"type":"string"},"description":"The application security group IDs to use.\n"},"loadBalancerBackendAddressPoolIds":{"type":"array","items":{"type":"string"},"description":"An array of references to backend address pools of load balancers.\n"},"loadBalancerInboundNatRulesIds":{"type":"array","items":{"type":"string"},"description":"An array of references to inbound NAT pools for load balancers.\n"},"name":{"type":"string","description":"The name of this Orchestrated Virtual Machine Scale Set.\n"},"primary":{"type":"boolean","description":"If this\u003cspan pulumi-lang-nodejs=\" ipConfiguration \" pulumi-lang-dotnet=\" IpConfiguration \" pulumi-lang-go=\" ipConfiguration \" pulumi-lang-python=\" ip_configuration \" pulumi-lang-yaml=\" ipConfiguration \" pulumi-lang-java=\" ipConfiguration \"\u003e ip_configuration \u003c/span\u003eis the primary one.\n"},"publicIpAddresses":{"type":"array","items":{"$ref":"#/types/azure:compute/getOrchestratedVirtualMachineScaleSetNetworkInterfaceIpConfigurationPublicIpAddress:getOrchestratedVirtualMachineScaleSetNetworkInterfaceIpConfigurationPublicIpAddress"},"description":"The virtual machines scale set IP Configuration's PublicIPAddress configuration. The \u003cspan pulumi-lang-nodejs=\"`publicIpAddress`\" pulumi-lang-dotnet=\"`PublicIpAddress`\" pulumi-lang-go=\"`publicIpAddress`\" pulumi-lang-python=\"`public_ip_address`\" pulumi-lang-yaml=\"`publicIpAddress`\" pulumi-lang-java=\"`publicIpAddress`\"\u003e`public_ip_address`\u003c/span\u003e is documented below.\n"},"subnetId":{"type":"string","description":"The identifier of the subnet.\n"},"version":{"type":"string","description":"The Internet Protocol Version of the public IP address.\n"}},"type":"object","required":["applicationGatewayBackendAddressPoolIds","applicationSecurityGroupIds","loadBalancerBackendAddressPoolIds","loadBalancerInboundNatRulesIds","name","primary","publicIpAddresses","subnetId","version"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:compute/getOrchestratedVirtualMachineScaleSetNetworkInterfaceIpConfigurationPublicIpAddress:getOrchestratedVirtualMachineScaleSetNetworkInterfaceIpConfigurationPublicIpAddress":{"properties":{"domainNameLabel":{"type":"string","description":"The domain name label for the DNS settings.\n"},"idleTimeoutInMinutes":{"type":"integer","description":"The idle timeout in minutes.\n"},"ipTags":{"type":"array","items":{"$ref":"#/types/azure:compute/getOrchestratedVirtualMachineScaleSetNetworkInterfaceIpConfigurationPublicIpAddressIpTag:getOrchestratedVirtualMachineScaleSetNetworkInterfaceIpConfigurationPublicIpAddressIpTag"},"description":"A list of \u003cspan pulumi-lang-nodejs=\"`ipTag`\" pulumi-lang-dotnet=\"`IpTag`\" pulumi-lang-go=\"`ipTag`\" pulumi-lang-python=\"`ip_tag`\" pulumi-lang-yaml=\"`ipTag`\" pulumi-lang-java=\"`ipTag`\"\u003e`ip_tag`\u003c/span\u003e blocks as defined below.\n"},"name":{"type":"string","description":"The name of this Orchestrated Virtual Machine Scale Set.\n"},"publicIpPrefixId":{"type":"string","description":"The ID of the public IP prefix.\n"},"version":{"type":"string","description":"The Internet Protocol Version of the public IP address.\n"}},"type":"object","required":["domainNameLabel","idleTimeoutInMinutes","ipTags","name","publicIpPrefixId","version"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:compute/getOrchestratedVirtualMachineScaleSetNetworkInterfaceIpConfigurationPublicIpAddressIpTag:getOrchestratedVirtualMachineScaleSetNetworkInterfaceIpConfigurationPublicIpAddressIpTag":{"properties":{"tag":{"type":"string","description":"The IP Tag associated with the Public IP.\n"},"type":{"type":"string","description":"The Type of IP Tag.\n"}},"type":"object","required":["tag","type"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:compute/getSharedImageIdentifier:getSharedImageIdentifier":{"properties":{"offer":{"type":"string","description":"The Offer Name for this Shared Image.\n"},"publisher":{"type":"string","description":"(Optional) The Purchase Plan Publisher for this Gallery Image.\n"},"sku":{"type":"string","description":"The Name of the SKU for this Gallery Image.\n"}},"type":"object","required":["offer","publisher","sku"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:compute/getSharedImagePurchasePlan:getSharedImagePurchasePlan":{"properties":{"name":{"type":"string","description":"The name of the Shared Image.\n"},"product":{"type":"string","description":"(Optional) The Purchase Plan Product for this Gallery Image.\n"},"publisher":{"type":"string","description":"(Optional) The Purchase Plan Publisher for this Gallery Image.\n"}},"type":"object","required":["name","product","publisher"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:compute/getSharedImageVersionTargetRegion:getSharedImageVersionTargetRegion":{"properties":{"name":{"type":"string","description":"The name of the Image Version.\n\n\u003e **Note:** You may specify \u003cspan pulumi-lang-nodejs=\"`latest`\" pulumi-lang-dotnet=\"`Latest`\" pulumi-lang-go=\"`latest`\" pulumi-lang-python=\"`latest`\" pulumi-lang-yaml=\"`latest`\" pulumi-lang-java=\"`latest`\"\u003e`latest`\u003c/span\u003e to obtain the latest version or \u003cspan pulumi-lang-nodejs=\"`recent`\" pulumi-lang-dotnet=\"`Recent`\" pulumi-lang-go=\"`recent`\" pulumi-lang-python=\"`recent`\" pulumi-lang-yaml=\"`recent`\" pulumi-lang-java=\"`recent`\"\u003e`recent`\u003c/span\u003e to obtain the most recently updated version.\n\n\u003e **Note:** In 3.0, \u003cspan pulumi-lang-nodejs=\"`latest`\" pulumi-lang-dotnet=\"`Latest`\" pulumi-lang-go=\"`latest`\" pulumi-lang-python=\"`latest`\" pulumi-lang-yaml=\"`latest`\" pulumi-lang-java=\"`latest`\"\u003e`latest`\u003c/span\u003e may return an image version with \u003cspan pulumi-lang-nodejs=\"`excludeFromLatest`\" pulumi-lang-dotnet=\"`ExcludeFromLatest`\" pulumi-lang-go=\"`excludeFromLatest`\" pulumi-lang-python=\"`exclude_from_latest`\" pulumi-lang-yaml=\"`excludeFromLatest`\" pulumi-lang-java=\"`excludeFromLatest`\"\u003e`exclude_from_latest`\u003c/span\u003e set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e. Starting from 4.0 onwards \u003cspan pulumi-lang-nodejs=\"`latest`\" pulumi-lang-dotnet=\"`Latest`\" pulumi-lang-go=\"`latest`\" pulumi-lang-python=\"`latest`\" pulumi-lang-yaml=\"`latest`\" pulumi-lang-java=\"`latest`\"\u003e`latest`\u003c/span\u003e will not return image versions with \u003cspan pulumi-lang-nodejs=\"`exludeFromLatest`\" pulumi-lang-dotnet=\"`ExludeFromLatest`\" pulumi-lang-go=\"`exludeFromLatest`\" pulumi-lang-python=\"`exlude_from_latest`\" pulumi-lang-yaml=\"`exludeFromLatest`\" pulumi-lang-java=\"`exludeFromLatest`\"\u003e`exlude_from_latest`\u003c/span\u003e set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"regionalReplicaCount":{"type":"integer","description":"The number of replicas of the Image Version to be created per region.\n"},"storageAccountType":{"type":"string","description":"The storage account type for the image version.\n"}},"type":"object","required":["name","regionalReplicaCount","storageAccountType"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:compute/getSharedImageVersionsImage:getSharedImageVersionsImage":{"properties":{"excludeFromLatest":{"type":"boolean","description":"Is this Image Version excluded from the \u003cspan pulumi-lang-nodejs=\"`latest`\" pulumi-lang-dotnet=\"`Latest`\" pulumi-lang-go=\"`latest`\" pulumi-lang-python=\"`latest`\" pulumi-lang-yaml=\"`latest`\" pulumi-lang-java=\"`latest`\"\u003e`latest`\u003c/span\u003e filter?\n"},"id":{"type":"string","description":"The ID of this Shared Image Version.\n"},"location":{"type":"string","description":"The supported Azure location where the Shared Image Gallery exists.\n"},"managedImageId":{"type":"string","description":"The ID of the Managed Image which was the source of this Shared Image Version.\n"},"name":{"type":"string","description":"The Azure Region in which this Image Version exists.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags assigned to the Shared Image.\n"},"targetRegions":{"type":"array","items":{"$ref":"#/types/azure:compute/getSharedImageVersionsImageTargetRegion:getSharedImageVersionsImageTargetRegion"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`targetRegion`\" pulumi-lang-dotnet=\"`TargetRegion`\" pulumi-lang-go=\"`targetRegion`\" pulumi-lang-python=\"`target_region`\" pulumi-lang-yaml=\"`targetRegion`\" pulumi-lang-java=\"`targetRegion`\"\u003e`target_region`\u003c/span\u003e blocks as documented below.\n"}},"type":"object","required":["excludeFromLatest","id","location","managedImageId","name","tags","targetRegions"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:compute/getSharedImageVersionsImageTargetRegion:getSharedImageVersionsImageTargetRegion":{"properties":{"name":{"type":"string","description":"The Azure Region in which this Image Version exists.\n"},"regionalReplicaCount":{"type":"integer","description":"The number of replicas of the Image Version to be created per region.\n"},"storageAccountType":{"type":"string","description":"The storage account type for the image version.\n"}},"type":"object","required":["name","regionalReplicaCount","storageAccountType"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:compute/getSnapshotEncryptionSetting:getSnapshotEncryptionSetting":{"properties":{"diskEncryptionKeys":{"type":"array","items":{"$ref":"#/types/azure:compute/getSnapshotEncryptionSettingDiskEncryptionKey:getSnapshotEncryptionSettingDiskEncryptionKey"}},"enabled":{"type":"boolean"},"keyEncryptionKeys":{"type":"array","items":{"$ref":"#/types/azure:compute/getSnapshotEncryptionSettingKeyEncryptionKey:getSnapshotEncryptionSettingKeyEncryptionKey"}}},"type":"object","required":["diskEncryptionKeys","enabled","keyEncryptionKeys"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:compute/getSnapshotEncryptionSettingDiskEncryptionKey:getSnapshotEncryptionSettingDiskEncryptionKey":{"properties":{"secretUrl":{"type":"string"},"sourceVaultId":{"type":"string"}},"type":"object","required":["secretUrl","sourceVaultId"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:compute/getSnapshotEncryptionSettingKeyEncryptionKey:getSnapshotEncryptionSettingKeyEncryptionKey":{"properties":{"keyUrl":{"type":"string"},"sourceVaultId":{"type":"string"}},"type":"object","required":["keyUrl","sourceVaultId"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:compute/getVirtualMachineIdentity:getVirtualMachineIdentity":{"properties":{"identityIds":{"type":"array","items":{"type":"string"},"description":"The list of User Managed Identity IDs which are assigned to the Virtual Machine.\n"},"principalId":{"type":"string","description":"The ID of the System Managed Service Principal assigned to the Virtual Machine.\n"},"tenantId":{"type":"string","description":"The ID of the Tenant of the System Managed Service Principal assigned to the Virtual Machine.\n"},"type":{"type":"string","description":"The identity type of the Managed Identity assigned to the Virtual Machine.\n"}},"type":"object","required":["identityIds","principalId","tenantId","type"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:compute/getVirtualMachineScaleSetIdentity:getVirtualMachineScaleSetIdentity":{"properties":{"identityIds":{"type":"array","items":{"type":"string"},"description":"The list of User Assigned Managed Identity IDs assigned to this Virtual Machine Scale Set.\n"},"principalId":{"type":"string","description":"The Principal ID of the System Assigned Managed Service Identity that is configured on this Virtual Machine Scale Set.\n"},"tenantId":{"type":"string","description":"The Tenant ID of the System Assigned Managed Service Identity that is configured on this Virtual Machine Scale Set.\n"},"type":{"type":"string","description":"The Type of IP Tag.\n"}},"type":"object","required":["identityIds","principalId","tenantId","type"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:compute/getVirtualMachineScaleSetInstance:getVirtualMachineScaleSetInstance":{"properties":{"computerName":{"type":"string","description":"The Hostname of this Virtual Machine.\n"},"instanceId":{"type":"string","description":"The Instance ID of this Virtual Machine.\n"},"latestModelApplied":{"type":"boolean","description":"Whether the latest model has been applied to this Virtual Machine.\n"},"name":{"type":"string","description":"The name of this Virtual Machine Scale Set.\n"},"powerState":{"type":"string","description":"The power state of the virtual machine.\n"},"privateIpAddress":{"type":"string","description":"The Primary Private IP Address assigned to this Virtual Machine.\n"},"privateIpAddresses":{"type":"array","items":{"type":"string"},"description":"A list of Private IP Addresses assigned to this Virtual Machine.\n"},"publicIpAddress":{"type":"string","description":"A \u003cspan pulumi-lang-nodejs=\"`publicIpAddress`\" pulumi-lang-dotnet=\"`PublicIpAddress`\" pulumi-lang-go=\"`publicIpAddress`\" pulumi-lang-python=\"`public_ip_address`\" pulumi-lang-yaml=\"`publicIpAddress`\" pulumi-lang-java=\"`publicIpAddress`\"\u003e`public_ip_address`\u003c/span\u003e block as defined below.\n"},"publicIpAddresses":{"type":"array","items":{"type":"string"},"description":"A list of the Public IP Addresses assigned to this Virtual Machine.\n"},"virtualMachineId":{"type":"string","description":"The unique ID of the virtual machine.\n"},"zone":{"type":"string","description":"The zones of the virtual machine.\n"}},"type":"object","required":["computerName","instanceId","latestModelApplied","name","powerState","privateIpAddress","privateIpAddresses","publicIpAddress","publicIpAddresses","virtualMachineId","zone"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:compute/getVirtualMachineScaleSetNetworkInterface:getVirtualMachineScaleSetNetworkInterface":{"properties":{"auxiliaryMode":{"type":"string","description":"The auxiliary mode for the network interface.\n"},"auxiliarySku":{"type":"string","description":"The auxiliary SKU for the network interface.\n"},"dnsServers":{"type":"array","items":{"type":"string"},"description":"An array of the DNS servers in use.\n"},"enableAcceleratedNetworking":{"type":"boolean","description":"Whether accelerated networking is enabled.\n"},"enableIpForwarding":{"type":"boolean","description":"Whether IP forwarding is enabled on this NIC.\n"},"ipConfigurations":{"type":"array","items":{"$ref":"#/types/azure:compute/getVirtualMachineScaleSetNetworkInterfaceIpConfiguration:getVirtualMachineScaleSetNetworkInterfaceIpConfiguration"},"description":"An \u003cspan pulumi-lang-nodejs=\"`ipConfiguration`\" pulumi-lang-dotnet=\"`IpConfiguration`\" pulumi-lang-go=\"`ipConfiguration`\" pulumi-lang-python=\"`ip_configuration`\" pulumi-lang-yaml=\"`ipConfiguration`\" pulumi-lang-java=\"`ipConfiguration`\"\u003e`ip_configuration`\u003c/span\u003e block as defined below.\n"},"name":{"type":"string","description":"The name of this Virtual Machine Scale Set.\n"},"networkSecurityGroupId":{"type":"string","description":"The identifier for the network security group.\n"},"primary":{"type":"boolean","description":"If this\u003cspan pulumi-lang-nodejs=\" ipConfiguration \" pulumi-lang-dotnet=\" IpConfiguration \" pulumi-lang-go=\" ipConfiguration \" pulumi-lang-python=\" ip_configuration \" pulumi-lang-yaml=\" ipConfiguration \" pulumi-lang-java=\" ipConfiguration \"\u003e ip_configuration \u003c/span\u003eis the primary one.\n"}},"type":"object","required":["auxiliaryMode","auxiliarySku","dnsServers","enableAcceleratedNetworking","enableIpForwarding","ipConfigurations","name","networkSecurityGroupId","primary"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:compute/getVirtualMachineScaleSetNetworkInterfaceIpConfiguration:getVirtualMachineScaleSetNetworkInterfaceIpConfiguration":{"properties":{"applicationGatewayBackendAddressPoolIds":{"type":"array","items":{"type":"string"},"description":"An array of references to backend address pools of application gateways.\n"},"applicationSecurityGroupIds":{"type":"array","items":{"type":"string"},"description":"The application security group IDs to use.\n"},"loadBalancerBackendAddressPoolIds":{"type":"array","items":{"type":"string"},"description":"An array of references to backend address pools of load balancers.\n"},"loadBalancerInboundNatRulesIds":{"type":"array","items":{"type":"string"},"description":"An array of references to inbound NAT pools for load balancers.\n"},"name":{"type":"string","description":"The name of this Virtual Machine Scale Set.\n"},"primary":{"type":"boolean","description":"If this\u003cspan pulumi-lang-nodejs=\" ipConfiguration \" pulumi-lang-dotnet=\" IpConfiguration \" pulumi-lang-go=\" ipConfiguration \" pulumi-lang-python=\" ip_configuration \" pulumi-lang-yaml=\" ipConfiguration \" pulumi-lang-java=\" ipConfiguration \"\u003e ip_configuration \u003c/span\u003eis the primary one.\n"},"publicIpAddresses":{"type":"array","items":{"$ref":"#/types/azure:compute/getVirtualMachineScaleSetNetworkInterfaceIpConfigurationPublicIpAddress:getVirtualMachineScaleSetNetworkInterfaceIpConfigurationPublicIpAddress"},"description":"A \u003cspan pulumi-lang-nodejs=\"`publicIpAddress`\" pulumi-lang-dotnet=\"`PublicIpAddress`\" pulumi-lang-go=\"`publicIpAddress`\" pulumi-lang-python=\"`public_ip_address`\" pulumi-lang-yaml=\"`publicIpAddress`\" pulumi-lang-java=\"`publicIpAddress`\"\u003e`public_ip_address`\u003c/span\u003e block as defined below.\n"},"subnetId":{"type":"string","description":"The identifier of the subnet.\n"},"version":{"type":"string","description":"The Internet Protocol Version of the public IP address.\n"}},"type":"object","required":["applicationGatewayBackendAddressPoolIds","applicationSecurityGroupIds","loadBalancerBackendAddressPoolIds","loadBalancerInboundNatRulesIds","name","primary","publicIpAddresses","subnetId","version"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:compute/getVirtualMachineScaleSetNetworkInterfaceIpConfigurationPublicIpAddress:getVirtualMachineScaleSetNetworkInterfaceIpConfigurationPublicIpAddress":{"properties":{"domainNameLabel":{"type":"string","description":"The domain name label for the DNS settings.\n"},"idleTimeoutInMinutes":{"type":"integer","description":"The idle timeout in minutes.\n"},"ipTags":{"type":"array","items":{"$ref":"#/types/azure:compute/getVirtualMachineScaleSetNetworkInterfaceIpConfigurationPublicIpAddressIpTag:getVirtualMachineScaleSetNetworkInterfaceIpConfigurationPublicIpAddressIpTag"},"description":"A list of \u003cspan pulumi-lang-nodejs=\"`ipTag`\" pulumi-lang-dotnet=\"`IpTag`\" pulumi-lang-go=\"`ipTag`\" pulumi-lang-python=\"`ip_tag`\" pulumi-lang-yaml=\"`ipTag`\" pulumi-lang-java=\"`ipTag`\"\u003e`ip_tag`\u003c/span\u003e blocks as defined below.\n"},"name":{"type":"string","description":"The name of this Virtual Machine Scale Set.\n"},"publicIpPrefixId":{"type":"string","description":"The ID of the public IP prefix.\n"},"version":{"type":"string","description":"The Internet Protocol Version of the public IP address.\n"}},"type":"object","required":["domainNameLabel","idleTimeoutInMinutes","ipTags","name","publicIpPrefixId","version"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:compute/getVirtualMachineScaleSetNetworkInterfaceIpConfigurationPublicIpAddressIpTag:getVirtualMachineScaleSetNetworkInterfaceIpConfigurationPublicIpAddressIpTag":{"properties":{"tag":{"type":"string","description":"The IP Tag associated with the Public IP.\n"},"type":{"type":"string","description":"The Type of IP Tag.\n"}},"type":"object","required":["tag","type"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:confidentialledger/LedgerAzureadBasedServicePrincipal:LedgerAzureadBasedServicePrincipal":{"properties":{"ledgerRoleName":{"type":"string","description":"Specifies the Ledger Role to grant this AzureAD Service Principal. Possible values are `Administrator`, `Contributor` and `Reader`.\n"},"principalId":{"type":"string","description":"Specifies the Principal ID of the AzureAD Service Principal.\n"},"tenantId":{"type":"string","description":"Specifies the Tenant ID for this AzureAD Service Principal.\n"}},"type":"object","required":["ledgerRoleName","principalId","tenantId"]},"azure:confidentialledger/LedgerCertificateBasedSecurityPrincipal:LedgerCertificateBasedSecurityPrincipal":{"properties":{"ledgerRoleName":{"type":"string","description":"Specifies the Ledger Role to grant this Certificate Security Principal. Possible values are `Administrator`, `Contributor` and `Reader`.\n"},"pemPublicKey":{"type":"string","description":"The public key, in PEM format, of the certificate used by this identity to authenticate with the Confidential Ledger.\n"}},"type":"object","required":["ledgerRoleName","pemPublicKey"]},"azure:config/features:features":{"properties":{"apiManagement":{"$ref":"#/types/azure:config/featuresApiManagement:featuresApiManagement"},"appConfiguration":{"$ref":"#/types/azure:config/featuresAppConfiguration:featuresAppConfiguration"},"applicationInsights":{"$ref":"#/types/azure:config/featuresApplicationInsights:featuresApplicationInsights"},"cognitiveAccount":{"$ref":"#/types/azure:config/featuresCognitiveAccount:featuresCognitiveAccount"},"databricksWorkspace":{"$ref":"#/types/azure:config/featuresDatabricksWorkspace:featuresDatabricksWorkspace"},"keyVault":{"$ref":"#/types/azure:config/featuresKeyVault:featuresKeyVault"},"logAnalyticsWorkspace":{"$ref":"#/types/azure:config/featuresLogAnalyticsWorkspace:featuresLogAnalyticsWorkspace"},"machineLearning":{"$ref":"#/types/azure:config/featuresMachineLearning:featuresMachineLearning"},"managedDisk":{"$ref":"#/types/azure:config/featuresManagedDisk:featuresManagedDisk"},"netapp":{"$ref":"#/types/azure:config/featuresNetapp:featuresNetapp"},"postgresqlFlexibleServer":{"$ref":"#/types/azure:config/featuresPostgresqlFlexibleServer:featuresPostgresqlFlexibleServer"},"recoveryService":{"$ref":"#/types/azure:config/featuresRecoveryService:featuresRecoveryService"},"recoveryServicesVaults":{"$ref":"#/types/azure:config/featuresRecoveryServicesVaults:featuresRecoveryServicesVaults"},"resourceGroup":{"$ref":"#/types/azure:config/featuresResourceGroup:featuresResourceGroup"},"storage":{"$ref":"#/types/azure:config/featuresStorage:featuresStorage"},"subscription":{"$ref":"#/types/azure:config/featuresSubscription:featuresSubscription"},"templateDeployment":{"$ref":"#/types/azure:config/featuresTemplateDeployment:featuresTemplateDeployment"},"virtualMachine":{"$ref":"#/types/azure:config/featuresVirtualMachine:featuresVirtualMachine"},"virtualMachineScaleSet":{"$ref":"#/types/azure:config/featuresVirtualMachineScaleSet:featuresVirtualMachineScaleSet"}},"type":"object"},"azure:config/featuresApiManagement:featuresApiManagement":{"properties":{"purgeSoftDeleteOnDestroy":{"type":"boolean"},"recoverSoftDeleted":{"type":"boolean"}},"type":"object"},"azure:config/featuresAppConfiguration:featuresAppConfiguration":{"properties":{"purgeSoftDeleteOnDestroy":{"type":"boolean"},"recoverSoftDeleted":{"type":"boolean"}},"type":"object"},"azure:config/featuresApplicationInsights:featuresApplicationInsights":{"properties":{"disableGeneratedRule":{"type":"boolean"}},"type":"object"},"azure:config/featuresCognitiveAccount:featuresCognitiveAccount":{"properties":{"purgeSoftDeleteOnDestroy":{"type":"boolean"}},"type":"object"},"azure:config/featuresDatabricksWorkspace:featuresDatabricksWorkspace":{"properties":{"forceDelete":{"type":"boolean","description":"When enabled, the managed resource group that contains the Unity Catalog data will be forcibly deleted when the workspace is destroyed, regardless of contents.\n"}},"type":"object"},"azure:config/featuresKeyVault:featuresKeyVault":{"properties":{"purgeSoftDeleteOnDestroy":{"type":"boolean","description":"When enabled soft-deleted \u003cspan pulumi-lang-nodejs=\"`azure.keyvault.KeyVault`\" pulumi-lang-dotnet=\"`azure.keyvault.KeyVault`\" pulumi-lang-go=\"`keyvault.KeyVault`\" pulumi-lang-python=\"`keyvault.KeyVault`\" pulumi-lang-yaml=\"`azure.keyvault.KeyVault`\" pulumi-lang-java=\"`azure.keyvault.KeyVault`\"\u003e`azure.keyvault.KeyVault`\u003c/span\u003e resources will be permanently deleted (e.g purged), when destroyed\n"},"purgeSoftDeletedCertificatesOnDestroy":{"type":"boolean","description":"When enabled soft-deleted \u003cspan pulumi-lang-nodejs=\"`azure.keyvault.Certificate`\" pulumi-lang-dotnet=\"`azure.keyvault.Certificate`\" pulumi-lang-go=\"`keyvault.Certificate`\" pulumi-lang-python=\"`keyvault.Certificate`\" pulumi-lang-yaml=\"`azure.keyvault.Certificate`\" pulumi-lang-java=\"`azure.keyvault.Certificate`\"\u003e`azure.keyvault.Certificate`\u003c/span\u003e resources will be permanently deleted (e.g purged), when destroyed\n"},"purgeSoftDeletedHardwareSecurityModuleKeysOnDestroy":{"type":"boolean","description":"When enabled soft-deleted \u003cspan pulumi-lang-nodejs=\"`azure.keyvault.ManagedHardwareSecurityModuleKey`\" pulumi-lang-dotnet=\"`azure.keyvault.ManagedHardwareSecurityModuleKey`\" pulumi-lang-go=\"`keyvault.ManagedHardwareSecurityModuleKey`\" pulumi-lang-python=\"`keyvault.ManagedHardwareSecurityModuleKey`\" pulumi-lang-yaml=\"`azure.keyvault.ManagedHardwareSecurityModuleKey`\" pulumi-lang-java=\"`azure.keyvault.ManagedHardwareSecurityModuleKey`\"\u003e`azure.keyvault.ManagedHardwareSecurityModuleKey`\u003c/span\u003e resources will be permanently deleted (e.g purged), when destroyed\n"},"purgeSoftDeletedHardwareSecurityModulesOnDestroy":{"type":"boolean","description":"When enabled soft-deleted \u003cspan pulumi-lang-nodejs=\"`azure.keyvault.ManagedHardwareSecurityModule`\" pulumi-lang-dotnet=\"`azure.keyvault.ManagedHardwareSecurityModule`\" pulumi-lang-go=\"`keyvault.ManagedHardwareSecurityModule`\" pulumi-lang-python=\"`keyvault.ManagedHardwareSecurityModule`\" pulumi-lang-yaml=\"`azure.keyvault.ManagedHardwareSecurityModule`\" pulumi-lang-java=\"`azure.keyvault.ManagedHardwareSecurityModule`\"\u003e`azure.keyvault.ManagedHardwareSecurityModule`\u003c/span\u003e resources will be permanently deleted (e.g purged), when destroyed\n"},"purgeSoftDeletedKeysOnDestroy":{"type":"boolean","description":"When enabled soft-deleted \u003cspan pulumi-lang-nodejs=\"`azure.keyvault.Key`\" pulumi-lang-dotnet=\"`azure.keyvault.Key`\" pulumi-lang-go=\"`keyvault.Key`\" pulumi-lang-python=\"`keyvault.Key`\" pulumi-lang-yaml=\"`azure.keyvault.Key`\" pulumi-lang-java=\"`azure.keyvault.Key`\"\u003e`azure.keyvault.Key`\u003c/span\u003e resources will be permanently deleted (e.g purged), when destroyed\n"},"purgeSoftDeletedSecretsOnDestroy":{"type":"boolean","description":"When enabled soft-deleted \u003cspan pulumi-lang-nodejs=\"`azure.keyvault.Secret`\" pulumi-lang-dotnet=\"`azure.keyvault.Secret`\" pulumi-lang-go=\"`keyvault.Secret`\" pulumi-lang-python=\"`keyvault.Secret`\" pulumi-lang-yaml=\"`azure.keyvault.Secret`\" pulumi-lang-java=\"`azure.keyvault.Secret`\"\u003e`azure.keyvault.Secret`\u003c/span\u003e resources will be permanently deleted (e.g purged), when destroyed\n"},"recoverSoftDeletedCertificates":{"type":"boolean","description":"When enabled soft-deleted \u003cspan pulumi-lang-nodejs=\"`azure.keyvault.Certificate`\" pulumi-lang-dotnet=\"`azure.keyvault.Certificate`\" pulumi-lang-go=\"`keyvault.Certificate`\" pulumi-lang-python=\"`keyvault.Certificate`\" pulumi-lang-yaml=\"`azure.keyvault.Certificate`\" pulumi-lang-java=\"`azure.keyvault.Certificate`\"\u003e`azure.keyvault.Certificate`\u003c/span\u003e resources will be restored, instead of creating new ones\n"},"recoverSoftDeletedHardwareSecurityModuleKeys":{"type":"boolean","description":"When enabled soft-deleted \u003cspan pulumi-lang-nodejs=\"`azure.keyvault.ManagedHardwareSecurityModuleKey`\" pulumi-lang-dotnet=\"`azure.keyvault.ManagedHardwareSecurityModuleKey`\" pulumi-lang-go=\"`keyvault.ManagedHardwareSecurityModuleKey`\" pulumi-lang-python=\"`keyvault.ManagedHardwareSecurityModuleKey`\" pulumi-lang-yaml=\"`azure.keyvault.ManagedHardwareSecurityModuleKey`\" pulumi-lang-java=\"`azure.keyvault.ManagedHardwareSecurityModuleKey`\"\u003e`azure.keyvault.ManagedHardwareSecurityModuleKey`\u003c/span\u003e resources will be restored, instead of creating new ones\n"},"recoverSoftDeletedKeyVaults":{"type":"boolean","description":"When enabled soft-deleted \u003cspan pulumi-lang-nodejs=\"`azure.keyvault.KeyVault`\" pulumi-lang-dotnet=\"`azure.keyvault.KeyVault`\" pulumi-lang-go=\"`keyvault.KeyVault`\" pulumi-lang-python=\"`keyvault.KeyVault`\" pulumi-lang-yaml=\"`azure.keyvault.KeyVault`\" pulumi-lang-java=\"`azure.keyvault.KeyVault`\"\u003e`azure.keyvault.KeyVault`\u003c/span\u003e resources will be restored, instead of creating new ones\n"},"recoverSoftDeletedKeys":{"type":"boolean","description":"When enabled soft-deleted \u003cspan pulumi-lang-nodejs=\"`azure.keyvault.Key`\" pulumi-lang-dotnet=\"`azure.keyvault.Key`\" pulumi-lang-go=\"`keyvault.Key`\" pulumi-lang-python=\"`keyvault.Key`\" pulumi-lang-yaml=\"`azure.keyvault.Key`\" pulumi-lang-java=\"`azure.keyvault.Key`\"\u003e`azure.keyvault.Key`\u003c/span\u003e resources will be restored, instead of creating new ones\n"},"recoverSoftDeletedSecrets":{"type":"boolean","description":"When enabled soft-deleted \u003cspan pulumi-lang-nodejs=\"`azure.keyvault.Secret`\" pulumi-lang-dotnet=\"`azure.keyvault.Secret`\" pulumi-lang-go=\"`keyvault.Secret`\" pulumi-lang-python=\"`keyvault.Secret`\" pulumi-lang-yaml=\"`azure.keyvault.Secret`\" pulumi-lang-java=\"`azure.keyvault.Secret`\"\u003e`azure.keyvault.Secret`\u003c/span\u003e resources will be restored, instead of creating new ones\n"}},"type":"object"},"azure:config/featuresLogAnalyticsWorkspace:featuresLogAnalyticsWorkspace":{"properties":{"permanentlyDeleteOnDestroy":{"type":"boolean"}},"type":"object"},"azure:config/featuresMachineLearning:featuresMachineLearning":{"properties":{"purgeSoftDeletedWorkspaceOnDestroy":{"type":"boolean"}},"type":"object"},"azure:config/featuresManagedDisk:featuresManagedDisk":{"properties":{"expandWithoutDowntime":{"type":"boolean"}},"type":"object"},"azure:config/featuresNetapp:featuresNetapp":{"properties":{"deleteBackupsOnBackupVaultDestroy":{"type":"boolean","description":"When enabled, backups will be deleted when the \u003cspan pulumi-lang-nodejs=\"`azure.netapp.BackupVault`\" pulumi-lang-dotnet=\"`azure.netapp.BackupVault`\" pulumi-lang-go=\"`netapp.BackupVault`\" pulumi-lang-python=\"`netapp.BackupVault`\" pulumi-lang-yaml=\"`azure.netapp.BackupVault`\" pulumi-lang-java=\"`azure.netapp.BackupVault`\"\u003e`azure.netapp.BackupVault`\u003c/span\u003e resource is destroyed\n"},"preventVolumeDestruction":{"type":"boolean","description":"When enabled, the volume will not be destroyed, safeguarding from severe data loss\n"}},"type":"object"},"azure:config/featuresPostgresqlFlexibleServer:featuresPostgresqlFlexibleServer":{"properties":{"restartServerOnConfigurationValueChange":{"type":"boolean"}},"type":"object"},"azure:config/featuresRecoveryService:featuresRecoveryService":{"properties":{"purgeProtectedItemsFromVaultOnDestroy":{"type":"boolean"},"vmBackupStopProtectionAndRetainDataOnDestroy":{"type":"boolean"},"vmBackupSuspendProtectionAndRetainDataOnDestroy":{"type":"boolean"}},"type":"object"},"azure:config/featuresRecoveryServicesVaults:featuresRecoveryServicesVaults":{"properties":{"recoverSoftDeletedBackupProtectedVm":{"type":"boolean"}},"type":"object"},"azure:config/featuresResourceGroup:featuresResourceGroup":{"properties":{"preventDeletionIfContainsResources":{"type":"boolean"}},"type":"object"},"azure:config/featuresStorage:featuresStorage":{"properties":{"dataPlaneAvailable":{"type":"boolean"}},"type":"object"},"azure:config/featuresSubscription:featuresSubscription":{"properties":{"preventCancellationOnDestroy":{"type":"boolean"}},"type":"object"},"azure:config/featuresTemplateDeployment:featuresTemplateDeployment":{"properties":{"deleteNestedItemsDuringDeletion":{"type":"boolean"}},"type":"object","required":["deleteNestedItemsDuringDeletion"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:config/featuresVirtualMachine:featuresVirtualMachine":{"properties":{"deleteOsDiskOnDeletion":{"type":"boolean"},"detachImplicitDataDiskOnDeletion":{"type":"boolean"},"gracefulShutdown":{"type":"boolean","deprecationMessage":"'graceful_shutdown' has been deprecated and will be removed from v5.0 of the AzureRM provider."},"skipShutdownAndForceDelete":{"type":"boolean"}},"type":"object"},"azure:config/featuresVirtualMachineScaleSet:featuresVirtualMachineScaleSet":{"properties":{"forceDelete":{"type":"boolean"},"reimageOnManualUpgrade":{"type":"boolean"},"rollInstancesWhenRequired":{"type":"boolean"},"scaleToZeroBeforeDeletion":{"type":"boolean"}},"type":"object"},"azure:consumption/BudgetManagementGroupFilter:BudgetManagementGroupFilter":{"properties":{"dimensions":{"type":"array","items":{"$ref":"#/types/azure:consumption/BudgetManagementGroupFilterDimension:BudgetManagementGroupFilterDimension"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`dimension`\" pulumi-lang-dotnet=\"`Dimension`\" pulumi-lang-go=\"`dimension`\" pulumi-lang-python=\"`dimension`\" pulumi-lang-yaml=\"`dimension`\" pulumi-lang-java=\"`dimension`\"\u003e`dimension`\u003c/span\u003e blocks as defined below to filter the budget on.\n"},"tags":{"type":"array","items":{"$ref":"#/types/azure:consumption/BudgetManagementGroupFilterTag:BudgetManagementGroupFilterTag"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`tag`\" pulumi-lang-dotnet=\"`Tag`\" pulumi-lang-go=\"`tag`\" pulumi-lang-python=\"`tag`\" pulumi-lang-yaml=\"`tag`\" pulumi-lang-java=\"`tag`\"\u003e`tag`\u003c/span\u003e blocks as defined below to filter the budget on.\n"}},"type":"object"},"azure:consumption/BudgetManagementGroupFilterDimension:BudgetManagementGroupFilterDimension":{"properties":{"name":{"type":"string","description":"The name of the column to use for the filter. The allowed values are `ChargeType`, `Frequency`, `InvoiceId`, `Meter`, `MeterCategory`, `MeterSubCategory`, `PartNumber`, `PricingModel`, `Product`, `ProductOrderId`, `ProductOrderName`, `PublisherType`, `ReservationId`, `ReservationName`, `ResourceGroupName`, `ResourceGuid`, `ResourceId`, `ResourceLocation`, `ResourceType`, `ServiceFamily`, `ServiceName`, `SubscriptionID`, `SubscriptionName`, `UnitOfMeasure`.\n"},"operator":{"type":"string","description":"The operator to use for comparison. The allowed values are `In`. Defaults to `In`.\n"},"values":{"type":"array","items":{"type":"string"},"description":"Specifies a list of values for the column.\n"}},"type":"object","required":["name","values"]},"azure:consumption/BudgetManagementGroupFilterTag:BudgetManagementGroupFilterTag":{"properties":{"name":{"type":"string","description":"The name of the tag to use for the filter.\n"},"operator":{"type":"string","description":"The operator to use for comparison. The allowed values are `In`. Defaults to `In`.\n"},"values":{"type":"array","items":{"type":"string"},"description":"Specifies a list of values for the tag.\n"}},"type":"object","required":["name","values"]},"azure:consumption/BudgetManagementGroupNotification:BudgetManagementGroupNotification":{"properties":{"contactEmails":{"type":"array","items":{"type":"string"},"description":"Specifies a list of email addresses to send the budget notification to when the threshold is exceeded.\n"},"enabled":{"type":"boolean","description":"Should the notification be enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"operator":{"type":"string","description":"The comparison operator for the notification. Must be one of `EqualTo`, `GreaterThan`, or `GreaterThanOrEqualTo`.\n"},"threshold":{"type":"integer","description":"Threshold value associated with a notification. Notification is sent when the cost exceeded the threshold. It is always percent and has to be between 0 and 1000.\n"},"thresholdType":{"type":"string","description":"The type of threshold for the notification. This determines whether the notification is triggered by forecasted costs or actual costs. The allowed values are `Actual` and `Forecasted`. Default is `Actual`.\n"}},"type":"object","required":["contactEmails","operator","threshold"]},"azure:consumption/BudgetManagementGroupTimePeriod:BudgetManagementGroupTimePeriod":{"properties":{"endDate":{"type":"string","description":"The end date for the budget. If not set this will be 10 years after the start date.\n"},"startDate":{"type":"string","description":"The start date for the budget. The start date must be first of the month and should be less than the end date. Budget start date must be on or after June 1, 2017. Future start date should not be more than twelve months. Past start date should be selected within the timegrain period. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["startDate"],"language":{"nodejs":{"requiredOutputs":["endDate","startDate"]}}},"azure:consumption/BudgetResourceGroupFilter:BudgetResourceGroupFilter":{"properties":{"dimensions":{"type":"array","items":{"$ref":"#/types/azure:consumption/BudgetResourceGroupFilterDimension:BudgetResourceGroupFilterDimension"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`dimension`\" pulumi-lang-dotnet=\"`Dimension`\" pulumi-lang-go=\"`dimension`\" pulumi-lang-python=\"`dimension`\" pulumi-lang-yaml=\"`dimension`\" pulumi-lang-java=\"`dimension`\"\u003e`dimension`\u003c/span\u003e blocks as defined below to filter the budget on.\n"},"tags":{"type":"array","items":{"$ref":"#/types/azure:consumption/BudgetResourceGroupFilterTag:BudgetResourceGroupFilterTag"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`tag`\" pulumi-lang-dotnet=\"`Tag`\" pulumi-lang-go=\"`tag`\" pulumi-lang-python=\"`tag`\" pulumi-lang-yaml=\"`tag`\" pulumi-lang-java=\"`tag`\"\u003e`tag`\u003c/span\u003e blocks as defined below to filter the budget on.\n"}},"type":"object"},"azure:consumption/BudgetResourceGroupFilterDimension:BudgetResourceGroupFilterDimension":{"properties":{"name":{"type":"string","description":"The name of the column to use for the filter. The allowed values are `ChargeType`, `Frequency`, `InvoiceId`, `Meter`, `MeterCategory`, `MeterSubCategory`, `PartNumber`, `PricingModel`, `Product`, `ProductOrderId`, `ProductOrderName`, `PublisherType`, `ReservationId`, `ReservationName`, `ResourceGroupName`, `ResourceGuid`, `ResourceId`, `ResourceLocation`, `ResourceType`, `ServiceFamily`, `ServiceName`, `SubscriptionID`, `SubscriptionName`, `UnitOfMeasure`.\n"},"operator":{"type":"string","description":"The operator to use for comparison. The allowed values are `In`. Defaults to `In`.\n"},"values":{"type":"array","items":{"type":"string"},"description":"Specifies a list of values for the column.\n"}},"type":"object","required":["name","values"]},"azure:consumption/BudgetResourceGroupFilterTag:BudgetResourceGroupFilterTag":{"properties":{"name":{"type":"string","description":"The name of the tag to use for the filter.\n"},"operator":{"type":"string","description":"The operator to use for comparison. The allowed values are `In`. Defaults to `In`.\n"},"values":{"type":"array","items":{"type":"string"},"description":"Specifies a list of values for the tag.\n"}},"type":"object","required":["name","values"]},"azure:consumption/BudgetResourceGroupNotification:BudgetResourceGroupNotification":{"properties":{"contactEmails":{"type":"array","items":{"type":"string"},"description":"Specifies a list of email addresses to send the budget notification to when the threshold is exceeded.\n"},"contactGroups":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Action Group IDs to send the budget notification to when the threshold is exceeded.\n"},"contactRoles":{"type":"array","items":{"type":"string"},"description":"Specifies a list of contact roles to send the budget notification to when the threshold is exceeded.\n"},"enabled":{"type":"boolean","description":"Should the notification be enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n\n\u003e **Note:** A \u003cspan pulumi-lang-nodejs=\"`notification`\" pulumi-lang-dotnet=\"`Notification`\" pulumi-lang-go=\"`notification`\" pulumi-lang-python=\"`notification`\" pulumi-lang-yaml=\"`notification`\" pulumi-lang-java=\"`notification`\"\u003e`notification`\u003c/span\u003e block cannot have all of \u003cspan pulumi-lang-nodejs=\"`contactEmails`\" pulumi-lang-dotnet=\"`ContactEmails`\" pulumi-lang-go=\"`contactEmails`\" pulumi-lang-python=\"`contact_emails`\" pulumi-lang-yaml=\"`contactEmails`\" pulumi-lang-java=\"`contactEmails`\"\u003e`contact_emails`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`contactRoles`\" pulumi-lang-dotnet=\"`ContactRoles`\" pulumi-lang-go=\"`contactRoles`\" pulumi-lang-python=\"`contact_roles`\" pulumi-lang-yaml=\"`contactRoles`\" pulumi-lang-java=\"`contactRoles`\"\u003e`contact_roles`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`contactGroups`\" pulumi-lang-dotnet=\"`ContactGroups`\" pulumi-lang-go=\"`contactGroups`\" pulumi-lang-python=\"`contact_groups`\" pulumi-lang-yaml=\"`contactGroups`\" pulumi-lang-java=\"`contactGroups`\"\u003e`contact_groups`\u003c/span\u003e empty. This means that at least one of the three must be specified.\n"},"operator":{"type":"string","description":"The comparison operator for the notification. Must be one of `EqualTo`, `GreaterThan`, or `GreaterThanOrEqualTo`.\n"},"threshold":{"type":"integer","description":"Threshold value associated with a notification. Notification is sent when the cost exceeded the threshold. It is always percent and has to be between 0 and 1000.\n"},"thresholdType":{"type":"string","description":"The type of threshold for the notification. This determines whether the notification is triggered by forecasted costs or actual costs. The allowed values are `Actual` and `Forecasted`. Default is `Actual`.\n"}},"type":"object","required":["operator","threshold"]},"azure:consumption/BudgetResourceGroupTimePeriod:BudgetResourceGroupTimePeriod":{"properties":{"endDate":{"type":"string","description":"The end date for the budget. If not set this will be 10 years after the start date.\n"},"startDate":{"type":"string","description":"The start date for the budget. The start date must be first of the month and should be less than the end date. Budget start date must be on or after June 1, 2017. Future start date should not be more than twelve months. Past start date should be selected within the timegrain period. Changing this forces a new Resource Group Consumption Budget to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["startDate"],"language":{"nodejs":{"requiredOutputs":["endDate","startDate"]}}},"azure:consumption/BudgetSubscriptionFilter:BudgetSubscriptionFilter":{"properties":{"dimensions":{"type":"array","items":{"$ref":"#/types/azure:consumption/BudgetSubscriptionFilterDimension:BudgetSubscriptionFilterDimension"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`dimension`\" pulumi-lang-dotnet=\"`Dimension`\" pulumi-lang-go=\"`dimension`\" pulumi-lang-python=\"`dimension`\" pulumi-lang-yaml=\"`dimension`\" pulumi-lang-java=\"`dimension`\"\u003e`dimension`\u003c/span\u003e blocks as defined below to filter the budget on.\n"},"tags":{"type":"array","items":{"$ref":"#/types/azure:consumption/BudgetSubscriptionFilterTag:BudgetSubscriptionFilterTag"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`tag`\" pulumi-lang-dotnet=\"`Tag`\" pulumi-lang-go=\"`tag`\" pulumi-lang-python=\"`tag`\" pulumi-lang-yaml=\"`tag`\" pulumi-lang-java=\"`tag`\"\u003e`tag`\u003c/span\u003e blocks as defined below to filter the budget on.\n"}},"type":"object"},"azure:consumption/BudgetSubscriptionFilterDimension:BudgetSubscriptionFilterDimension":{"properties":{"name":{"type":"string","description":"The name of the column to use for the filter. The allowed values are `ChargeType`, `Frequency`, `InvoiceId`, `Meter`, `MeterCategory`, `MeterSubCategory`, `PartNumber`, `PricingModel`, `Product`, `ProductOrderId`, `ProductOrderName`, `PublisherType`, `ReservationId`, `ReservationName`, `ResourceGroupName`, `ResourceGuid`, `ResourceId`, `ResourceLocation`, `ResourceType`, `ServiceFamily`, `ServiceName`, `SubscriptionID`, `SubscriptionName`, `UnitOfMeasure`.\n"},"operator":{"type":"string","description":"The operator to use for comparison. The allowed values are `In`. Defaults to `In`.\n"},"values":{"type":"array","items":{"type":"string"},"description":"Specifies a list of values for the column.\n"}},"type":"object","required":["name","values"]},"azure:consumption/BudgetSubscriptionFilterTag:BudgetSubscriptionFilterTag":{"properties":{"name":{"type":"string","description":"The name of the tag to use for the filter.\n"},"operator":{"type":"string","description":"The operator to use for comparison. The allowed values are `In`. Defaults to `In`.\n"},"values":{"type":"array","items":{"type":"string"},"description":"Specifies a list of values for the tag.\n"}},"type":"object","required":["name","values"]},"azure:consumption/BudgetSubscriptionNotification:BudgetSubscriptionNotification":{"properties":{"contactEmails":{"type":"array","items":{"type":"string"},"description":"Specifies a list of email addresses to send the budget notification to when the threshold is exceeded.\n"},"contactGroups":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Action Group IDs to send the budget notification to when the threshold is exceeded.\n"},"contactRoles":{"type":"array","items":{"type":"string"},"description":"Specifies a list of contact roles to send the budget notification to when the threshold is exceeded.\n"},"enabled":{"type":"boolean","description":"Should the notification be enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n\n\u003e **Note:** A \u003cspan pulumi-lang-nodejs=\"`notification`\" pulumi-lang-dotnet=\"`Notification`\" pulumi-lang-go=\"`notification`\" pulumi-lang-python=\"`notification`\" pulumi-lang-yaml=\"`notification`\" pulumi-lang-java=\"`notification`\"\u003e`notification`\u003c/span\u003e block cannot have all of \u003cspan pulumi-lang-nodejs=\"`contactEmails`\" pulumi-lang-dotnet=\"`ContactEmails`\" pulumi-lang-go=\"`contactEmails`\" pulumi-lang-python=\"`contact_emails`\" pulumi-lang-yaml=\"`contactEmails`\" pulumi-lang-java=\"`contactEmails`\"\u003e`contact_emails`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`contactRoles`\" pulumi-lang-dotnet=\"`ContactRoles`\" pulumi-lang-go=\"`contactRoles`\" pulumi-lang-python=\"`contact_roles`\" pulumi-lang-yaml=\"`contactRoles`\" pulumi-lang-java=\"`contactRoles`\"\u003e`contact_roles`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`contactGroups`\" pulumi-lang-dotnet=\"`ContactGroups`\" pulumi-lang-go=\"`contactGroups`\" pulumi-lang-python=\"`contact_groups`\" pulumi-lang-yaml=\"`contactGroups`\" pulumi-lang-java=\"`contactGroups`\"\u003e`contact_groups`\u003c/span\u003e empty. This means that at least one of the three must be specified.\n"},"operator":{"type":"string","description":"The comparison operator for the notification. Must be one of `EqualTo`, `GreaterThan`, or `GreaterThanOrEqualTo`.\n"},"threshold":{"type":"integer","description":"Threshold value associated with a notification. Notification is sent when the cost exceeded the threshold. It is always percent and has to be between 0 and 1000.\n"},"thresholdType":{"type":"string","description":"The type of threshold for the notification. This determines whether the notification is triggered by forecasted costs or actual costs. The allowed values are `Actual` and `Forecasted`. Default is `Actual`.\n"}},"type":"object","required":["operator","threshold"]},"azure:consumption/BudgetSubscriptionTimePeriod:BudgetSubscriptionTimePeriod":{"properties":{"endDate":{"type":"string","description":"The end date for the budget. If not set this will be 10 years after the start date.\n"},"startDate":{"type":"string","description":"The start date for the budget. The start date must be first of the month and should be less than the end date. Budget start date must be on or after June 1, 2017. Future start date should not be more than twelve months. Past start date should be selected within the timegrain period. Changing this forces a new Subscription Consumption Budget to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["startDate"],"language":{"nodejs":{"requiredOutputs":["endDate","startDate"]}}},"azure:consumption/getBudgetResourceGroupFilter:getBudgetResourceGroupFilter":{"properties":{"dimensions":{"type":"array","items":{"$ref":"#/types/azure:consumption/getBudgetResourceGroupFilterDimension:getBudgetResourceGroupFilterDimension"},"description":"A \u003cspan pulumi-lang-nodejs=\"`dimension`\" pulumi-lang-dotnet=\"`Dimension`\" pulumi-lang-go=\"`dimension`\" pulumi-lang-python=\"`dimension`\" pulumi-lang-yaml=\"`dimension`\" pulumi-lang-java=\"`dimension`\"\u003e`dimension`\u003c/span\u003e block as defined below.\n"},"nots":{"type":"array","items":{"$ref":"#/types/azure:consumption/getBudgetResourceGroupFilterNot:getBudgetResourceGroupFilterNot"},"description":"A \u003cspan pulumi-lang-nodejs=\"`not`\" pulumi-lang-dotnet=\"`Not`\" pulumi-lang-go=\"`not`\" pulumi-lang-python=\"`not`\" pulumi-lang-yaml=\"`not`\" pulumi-lang-java=\"`not`\"\u003e`not`\u003c/span\u003e block as defined below.\n"},"tags":{"type":"array","items":{"$ref":"#/types/azure:consumption/getBudgetResourceGroupFilterTag:getBudgetResourceGroupFilterTag"},"description":"A \u003cspan pulumi-lang-nodejs=\"`tag`\" pulumi-lang-dotnet=\"`Tag`\" pulumi-lang-go=\"`tag`\" pulumi-lang-python=\"`tag`\" pulumi-lang-yaml=\"`tag`\" pulumi-lang-java=\"`tag`\"\u003e`tag`\u003c/span\u003e block as defined below.\n"}},"type":"object","required":["dimensions","nots","tags"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:consumption/getBudgetResourceGroupFilterDimension:getBudgetResourceGroupFilterDimension":{"properties":{"name":{"type":"string","description":"The name of this Consumption Budget.\n"},"operator":{"type":"string","description":"The operator used for comparison.\n"},"values":{"type":"array","items":{"type":"string"},"description":"A list of values for the tag.\n"}},"type":"object","required":["name","operator","values"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:consumption/getBudgetResourceGroupFilterNot:getBudgetResourceGroupFilterNot":{"properties":{"dimensions":{"type":"array","items":{"$ref":"#/types/azure:consumption/getBudgetResourceGroupFilterNotDimension:getBudgetResourceGroupFilterNotDimension"},"description":"A \u003cspan pulumi-lang-nodejs=\"`dimension`\" pulumi-lang-dotnet=\"`Dimension`\" pulumi-lang-go=\"`dimension`\" pulumi-lang-python=\"`dimension`\" pulumi-lang-yaml=\"`dimension`\" pulumi-lang-java=\"`dimension`\"\u003e`dimension`\u003c/span\u003e block as defined below.\n"},"tags":{"type":"array","items":{"$ref":"#/types/azure:consumption/getBudgetResourceGroupFilterNotTag:getBudgetResourceGroupFilterNotTag"},"description":"A \u003cspan pulumi-lang-nodejs=\"`tag`\" pulumi-lang-dotnet=\"`Tag`\" pulumi-lang-go=\"`tag`\" pulumi-lang-python=\"`tag`\" pulumi-lang-yaml=\"`tag`\" pulumi-lang-java=\"`tag`\"\u003e`tag`\u003c/span\u003e block as defined below.\n"}},"type":"object","required":["dimensions","tags"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:consumption/getBudgetResourceGroupFilterNotDimension:getBudgetResourceGroupFilterNotDimension":{"properties":{"name":{"type":"string","description":"The name of this Consumption Budget.\n"},"operator":{"type":"string","description":"The operator used for comparison.\n"},"values":{"type":"array","items":{"type":"string"},"description":"A list of values for the tag.\n"}},"type":"object","required":["name","operator","values"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:consumption/getBudgetResourceGroupFilterNotTag:getBudgetResourceGroupFilterNotTag":{"properties":{"name":{"type":"string","description":"The name of this Consumption Budget.\n"},"operator":{"type":"string","description":"The operator used for comparison.\n"},"values":{"type":"array","items":{"type":"string"},"description":"A list of values for the tag.\n"}},"type":"object","required":["name","operator","values"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:consumption/getBudgetResourceGroupFilterTag:getBudgetResourceGroupFilterTag":{"properties":{"name":{"type":"string","description":"The name of this Consumption Budget.\n"},"operator":{"type":"string","description":"The operator used for comparison.\n"},"values":{"type":"array","items":{"type":"string"},"description":"A list of values for the tag.\n"}},"type":"object","required":["name","operator","values"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:consumption/getBudgetResourceGroupNotification:getBudgetResourceGroupNotification":{"properties":{"contactEmails":{"type":"array","items":{"type":"string"},"description":"A list of email addresses to send the budget notification to when the threshold is exceeded.\n"},"contactGroups":{"type":"array","items":{"type":"string"},"description":"A list of Action Group IDs to send the budget notification to when the threshold is exceeded.\n"},"contactRoles":{"type":"array","items":{"type":"string"},"description":"A list of contact roles to send the budget notification to when the threshold is exceeded.\n"},"enabled":{"type":"boolean","description":"Whether the notification is enabled.\n"},"operator":{"type":"string","description":"The operator used for comparison.\n"},"threshold":{"type":"integer","description":"Threshold value associated with the notification.\n"},"thresholdType":{"type":"string"}},"type":"object","required":["contactEmails","contactGroups","contactRoles","enabled","operator","threshold","thresholdType"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:consumption/getBudgetResourceGroupTimePeriod:getBudgetResourceGroupTimePeriod":{"properties":{"endDate":{"type":"string","description":"The end date for the budget.\n"},"startDate":{"type":"string","description":"The start date for the budget.\n"}},"type":"object","required":["endDate","startDate"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:consumption/getBudgetSubscriptionFilter:getBudgetSubscriptionFilter":{"properties":{"dimensions":{"type":"array","items":{"$ref":"#/types/azure:consumption/getBudgetSubscriptionFilterDimension:getBudgetSubscriptionFilterDimension"},"description":"A \u003cspan pulumi-lang-nodejs=\"`dimension`\" pulumi-lang-dotnet=\"`Dimension`\" pulumi-lang-go=\"`dimension`\" pulumi-lang-python=\"`dimension`\" pulumi-lang-yaml=\"`dimension`\" pulumi-lang-java=\"`dimension`\"\u003e`dimension`\u003c/span\u003e block as defined above.\n"},"nots":{"type":"array","items":{"$ref":"#/types/azure:consumption/getBudgetSubscriptionFilterNot:getBudgetSubscriptionFilterNot"},"description":"A \u003cspan pulumi-lang-nodejs=\"`not`\" pulumi-lang-dotnet=\"`Not`\" pulumi-lang-go=\"`not`\" pulumi-lang-python=\"`not`\" pulumi-lang-yaml=\"`not`\" pulumi-lang-java=\"`not`\"\u003e`not`\u003c/span\u003e block as defined below.\n"},"tags":{"type":"array","items":{"$ref":"#/types/azure:consumption/getBudgetSubscriptionFilterTag:getBudgetSubscriptionFilterTag"},"description":"A \u003cspan pulumi-lang-nodejs=\"`tag`\" pulumi-lang-dotnet=\"`Tag`\" pulumi-lang-go=\"`tag`\" pulumi-lang-python=\"`tag`\" pulumi-lang-yaml=\"`tag`\" pulumi-lang-java=\"`tag`\"\u003e`tag`\u003c/span\u003e block as defined below.\n"}},"type":"object","required":["dimensions","nots","tags"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:consumption/getBudgetSubscriptionFilterDimension:getBudgetSubscriptionFilterDimension":{"properties":{"name":{"type":"string","description":"The name of this Consumption Budget.\n"},"operator":{"type":"string","description":"The operator to used for comparison.\n"},"values":{"type":"array","items":{"type":"string"},"description":"A list of values for the tag.\n"}},"type":"object","required":["name","operator","values"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:consumption/getBudgetSubscriptionFilterNot:getBudgetSubscriptionFilterNot":{"properties":{"dimensions":{"type":"array","items":{"$ref":"#/types/azure:consumption/getBudgetSubscriptionFilterNotDimension:getBudgetSubscriptionFilterNotDimension"},"description":"A \u003cspan pulumi-lang-nodejs=\"`dimension`\" pulumi-lang-dotnet=\"`Dimension`\" pulumi-lang-go=\"`dimension`\" pulumi-lang-python=\"`dimension`\" pulumi-lang-yaml=\"`dimension`\" pulumi-lang-java=\"`dimension`\"\u003e`dimension`\u003c/span\u003e block as defined above.\n"},"tags":{"type":"array","items":{"$ref":"#/types/azure:consumption/getBudgetSubscriptionFilterNotTag:getBudgetSubscriptionFilterNotTag"},"description":"A \u003cspan pulumi-lang-nodejs=\"`tag`\" pulumi-lang-dotnet=\"`Tag`\" pulumi-lang-go=\"`tag`\" pulumi-lang-python=\"`tag`\" pulumi-lang-yaml=\"`tag`\" pulumi-lang-java=\"`tag`\"\u003e`tag`\u003c/span\u003e block as defined below.\n"}},"type":"object","required":["dimensions","tags"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:consumption/getBudgetSubscriptionFilterNotDimension:getBudgetSubscriptionFilterNotDimension":{"properties":{"name":{"type":"string","description":"The name of this Consumption Budget.\n"},"operator":{"type":"string","description":"The operator to used for comparison.\n"},"values":{"type":"array","items":{"type":"string"},"description":"A list of values for the tag.\n"}},"type":"object","required":["name","operator","values"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:consumption/getBudgetSubscriptionFilterNotTag:getBudgetSubscriptionFilterNotTag":{"properties":{"name":{"type":"string","description":"The name of this Consumption Budget.\n"},"operator":{"type":"string","description":"The operator to used for comparison.\n"},"values":{"type":"array","items":{"type":"string"},"description":"A list of values for the tag.\n"}},"type":"object","required":["name","operator","values"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:consumption/getBudgetSubscriptionFilterTag:getBudgetSubscriptionFilterTag":{"properties":{"name":{"type":"string","description":"The name of this Consumption Budget.\n"},"operator":{"type":"string","description":"The operator to used for comparison.\n"},"values":{"type":"array","items":{"type":"string"},"description":"A list of values for the tag.\n"}},"type":"object","required":["name","operator","values"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:consumption/getBudgetSubscriptionNotification:getBudgetSubscriptionNotification":{"properties":{"contactEmails":{"type":"array","items":{"type":"string"},"description":"A list of email addresses to send the budget notification to when the threshold is exceeded.\n"},"contactGroups":{"type":"array","items":{"type":"string"},"description":"A list of Action Group IDs to send the budget notification to when the threshold is exceeded.\n"},"contactRoles":{"type":"array","items":{"type":"string"},"description":"A list of contact roles to send the budget notification to when the threshold is exceeded.\n"},"enabled":{"type":"boolean","description":"Whether the notification is enabled.\n"},"operator":{"type":"string","description":"The operator to used for comparison.\n"},"threshold":{"type":"integer","description":"Threshold value associated with the notification.\n"},"thresholdType":{"type":"string"}},"type":"object","required":["contactEmails","contactGroups","contactRoles","enabled","operator","threshold","thresholdType"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:consumption/getBudgetSubscriptionTimePeriod:getBudgetSubscriptionTimePeriod":{"properties":{"endDate":{"type":"string","description":"The end date for the budget.\n"},"startDate":{"type":"string","description":"The start date for the budget.\n"}},"type":"object","required":["endDate","startDate"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:containerapp/AppDapr:AppDapr":{"properties":{"appId":{"type":"string","description":"The Dapr Application Identifier.\n"},"appPort":{"type":"integer","description":"The port which the application is listening on. This is the same as the \u003cspan pulumi-lang-nodejs=\"`ingress`\" pulumi-lang-dotnet=\"`Ingress`\" pulumi-lang-go=\"`ingress`\" pulumi-lang-python=\"`ingress`\" pulumi-lang-yaml=\"`ingress`\" pulumi-lang-java=\"`ingress`\"\u003e`ingress`\u003c/span\u003e port.\n"},"appProtocol":{"type":"string","description":"The protocol for the app. Possible values include \u003cspan pulumi-lang-nodejs=\"`http`\" pulumi-lang-dotnet=\"`Http`\" pulumi-lang-go=\"`http`\" pulumi-lang-python=\"`http`\" pulumi-lang-yaml=\"`http`\" pulumi-lang-java=\"`http`\"\u003e`http`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`grpc`\" pulumi-lang-dotnet=\"`Grpc`\" pulumi-lang-go=\"`grpc`\" pulumi-lang-python=\"`grpc`\" pulumi-lang-yaml=\"`grpc`\" pulumi-lang-java=\"`grpc`\"\u003e`grpc`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`http`\" pulumi-lang-dotnet=\"`Http`\" pulumi-lang-go=\"`http`\" pulumi-lang-python=\"`http`\" pulumi-lang-yaml=\"`http`\" pulumi-lang-java=\"`http`\"\u003e`http`\u003c/span\u003e.\n"}},"type":"object","required":["appId"]},"azure:containerapp/AppIdentity:AppIdentity":{"properties":{"identityIds":{"type":"array","items":{"type":"string"},"description":"A list of one or more Resource IDs for User Assigned Managed identities to assign. Required when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to `UserAssigned` or `SystemAssigned, UserAssigned`.\n"},"principalId":{"type":"string"},"tenantId":{"type":"string"},"type":{"type":"string","description":"The type of managed identity to assign. Possible values are `SystemAssigned`, `UserAssigned`, and `SystemAssigned, UserAssigned` (to enable both).\n"}},"type":"object","required":["type"],"language":{"nodejs":{"requiredOutputs":["principalId","tenantId","type"]}}},"azure:containerapp/AppIngress:AppIngress":{"properties":{"allowInsecureConnections":{"type":"boolean","description":"Should this ingress allow insecure connections?\n"},"clientCertificateMode":{"type":"string","description":"The client certificate mode for the Ingress. Possible values are \u003cspan pulumi-lang-nodejs=\"`require`\" pulumi-lang-dotnet=\"`Require`\" pulumi-lang-go=\"`require`\" pulumi-lang-python=\"`require`\" pulumi-lang-yaml=\"`require`\" pulumi-lang-java=\"`require`\"\u003e`require`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`accept`\" pulumi-lang-dotnet=\"`Accept`\" pulumi-lang-go=\"`accept`\" pulumi-lang-python=\"`accept`\" pulumi-lang-yaml=\"`accept`\" pulumi-lang-java=\"`accept`\"\u003e`accept`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`ignore`\" pulumi-lang-dotnet=\"`Ignore`\" pulumi-lang-go=\"`ignore`\" pulumi-lang-python=\"`ignore`\" pulumi-lang-yaml=\"`ignore`\" pulumi-lang-java=\"`ignore`\"\u003e`ignore`\u003c/span\u003e.\n"},"cors":{"$ref":"#/types/azure:containerapp/AppIngressCors:AppIngressCors","description":"A \u003cspan pulumi-lang-nodejs=\"`cors`\" pulumi-lang-dotnet=\"`Cors`\" pulumi-lang-go=\"`cors`\" pulumi-lang-python=\"`cors`\" pulumi-lang-yaml=\"`cors`\" pulumi-lang-java=\"`cors`\"\u003e`cors`\u003c/span\u003e block as defined below.\n"},"customDomains":{"type":"array","items":{"$ref":"#/types/azure:containerapp/AppIngressCustomDomain:AppIngressCustomDomain"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`customDomain`\" pulumi-lang-dotnet=\"`CustomDomain`\" pulumi-lang-go=\"`customDomain`\" pulumi-lang-python=\"`custom_domain`\" pulumi-lang-yaml=\"`customDomain`\" pulumi-lang-java=\"`customDomain`\"\u003e`custom_domain`\u003c/span\u003e block as detailed below.\n"},"exposedPort":{"type":"integer","description":"The exposed port on the container for the Ingress traffic.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`exposedPort`\" pulumi-lang-dotnet=\"`ExposedPort`\" pulumi-lang-go=\"`exposedPort`\" pulumi-lang-python=\"`exposed_port`\" pulumi-lang-yaml=\"`exposedPort`\" pulumi-lang-java=\"`exposedPort`\"\u003e`exposed_port`\u003c/span\u003e can only be specified when \u003cspan pulumi-lang-nodejs=\"`transport`\" pulumi-lang-dotnet=\"`Transport`\" pulumi-lang-go=\"`transport`\" pulumi-lang-python=\"`transport`\" pulumi-lang-yaml=\"`transport`\" pulumi-lang-java=\"`transport`\"\u003e`transport`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`tcp`\" pulumi-lang-dotnet=\"`Tcp`\" pulumi-lang-go=\"`tcp`\" pulumi-lang-python=\"`tcp`\" pulumi-lang-yaml=\"`tcp`\" pulumi-lang-java=\"`tcp`\"\u003e`tcp`\u003c/span\u003e.\n"},"externalEnabled":{"type":"boolean","description":"Are connections to this Ingress from outside the Container App Environment enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"fqdn":{"type":"string","description":"The FQDN of the ingress.\n"},"ipSecurityRestrictions":{"type":"array","items":{"$ref":"#/types/azure:containerapp/AppIngressIpSecurityRestriction:AppIngressIpSecurityRestriction"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`ipSecurityRestriction`\" pulumi-lang-dotnet=\"`IpSecurityRestriction`\" pulumi-lang-go=\"`ipSecurityRestriction`\" pulumi-lang-python=\"`ip_security_restriction`\" pulumi-lang-yaml=\"`ipSecurityRestriction`\" pulumi-lang-java=\"`ipSecurityRestriction`\"\u003e`ip_security_restriction`\u003c/span\u003e blocks for IP-filtering rules as defined below.\n"},"targetPort":{"type":"integer","description":"The target port on the container for the Ingress traffic.\n"},"trafficWeights":{"type":"array","items":{"$ref":"#/types/azure:containerapp/AppIngressTrafficWeight:AppIngressTrafficWeight"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`trafficWeight`\" pulumi-lang-dotnet=\"`TrafficWeight`\" pulumi-lang-go=\"`trafficWeight`\" pulumi-lang-python=\"`traffic_weight`\" pulumi-lang-yaml=\"`trafficWeight`\" pulumi-lang-java=\"`trafficWeight`\"\u003e`traffic_weight`\u003c/span\u003e blocks as detailed below.\n"},"transport":{"type":"string","description":"The transport method for the Ingress. Possible values are \u003cspan pulumi-lang-nodejs=\"`auto`\" pulumi-lang-dotnet=\"`Auto`\" pulumi-lang-go=\"`auto`\" pulumi-lang-python=\"`auto`\" pulumi-lang-yaml=\"`auto`\" pulumi-lang-java=\"`auto`\"\u003e`auto`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`http`\" pulumi-lang-dotnet=\"`Http`\" pulumi-lang-go=\"`http`\" pulumi-lang-python=\"`http`\" pulumi-lang-yaml=\"`http`\" pulumi-lang-java=\"`http`\"\u003e`http`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`http2`\" pulumi-lang-dotnet=\"`Http2`\" pulumi-lang-go=\"`http2`\" pulumi-lang-python=\"`http2`\" pulumi-lang-yaml=\"`http2`\" pulumi-lang-java=\"`http2`\"\u003e`http2`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`tcp`\" pulumi-lang-dotnet=\"`Tcp`\" pulumi-lang-go=\"`tcp`\" pulumi-lang-python=\"`tcp`\" pulumi-lang-yaml=\"`tcp`\" pulumi-lang-java=\"`tcp`\"\u003e`tcp`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`auto`\" pulumi-lang-dotnet=\"`Auto`\" pulumi-lang-go=\"`auto`\" pulumi-lang-python=\"`auto`\" pulumi-lang-yaml=\"`auto`\" pulumi-lang-java=\"`auto`\"\u003e`auto`\u003c/span\u003e.\n\n\u003e **Note:** if \u003cspan pulumi-lang-nodejs=\"`transport`\" pulumi-lang-dotnet=\"`Transport`\" pulumi-lang-go=\"`transport`\" pulumi-lang-python=\"`transport`\" pulumi-lang-yaml=\"`transport`\" pulumi-lang-java=\"`transport`\"\u003e`transport`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`tcp`\" pulumi-lang-dotnet=\"`Tcp`\" pulumi-lang-go=\"`tcp`\" pulumi-lang-python=\"`tcp`\" pulumi-lang-yaml=\"`tcp`\" pulumi-lang-java=\"`tcp`\"\u003e`tcp`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`exposedPort`\" pulumi-lang-dotnet=\"`ExposedPort`\" pulumi-lang-go=\"`exposedPort`\" pulumi-lang-python=\"`exposed_port`\" pulumi-lang-yaml=\"`exposedPort`\" pulumi-lang-java=\"`exposedPort`\"\u003e`exposed_port`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`targetPort`\" pulumi-lang-dotnet=\"`TargetPort`\" pulumi-lang-go=\"`targetPort`\" pulumi-lang-python=\"`target_port`\" pulumi-lang-yaml=\"`targetPort`\" pulumi-lang-java=\"`targetPort`\"\u003e`target_port`\u003c/span\u003e should be set at the same time.\n"}},"type":"object","required":["targetPort","trafficWeights"],"language":{"nodejs":{"requiredOutputs":["customDomains","fqdn","targetPort","trafficWeights"]}}},"azure:containerapp/AppIngressCors:AppIngressCors":{"properties":{"allowCredentialsEnabled":{"type":"boolean","description":"Whether user credentials are allowed in the cross-origin request is enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"allowedHeaders":{"type":"array","items":{"type":"string"},"description":"Specifies the list of request headers that are permitted in the actual request.\n"},"allowedMethods":{"type":"array","items":{"type":"string"},"description":"Specifies the list of HTTP methods are allowed when accessing the resource in a cross-origin request.\n"},"allowedOrigins":{"type":"array","items":{"type":"string"},"description":"Specifies the list of origins that are allowed to make cross-origin calls.\n"},"exposedHeaders":{"type":"array","items":{"type":"string"},"description":"Specifies the list of headers exposed to the browser in the response to a cross-origin request.\n"},"maxAgeInSeconds":{"type":"integer","description":"Specifies the number of seconds that the browser can cache the results of a preflight request.\n"}},"type":"object","required":["allowedOrigins"]},"azure:containerapp/AppIngressCustomDomain:AppIngressCustomDomain":{"properties":{"certificateBindingType":{"type":"string","description":"The Binding type.\n"},"certificateId":{"type":"string","description":"The ID of the Container App Environment Certificate.\n"},"name":{"type":"string","description":"The name for this Container App. Changing this forces a new resource to be created.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["certificateBindingType","certificateId","name"]}}},"azure:containerapp/AppIngressIpSecurityRestriction:AppIngressIpSecurityRestriction":{"properties":{"action":{"type":"string","description":"The IP-filter action. `Allow` or `Deny`.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`action`\" pulumi-lang-dotnet=\"`Action`\" pulumi-lang-go=\"`action`\" pulumi-lang-python=\"`action`\" pulumi-lang-yaml=\"`action`\" pulumi-lang-java=\"`action`\"\u003e`action`\u003c/span\u003e types in an all \u003cspan pulumi-lang-nodejs=\"`ipSecurityRestriction`\" pulumi-lang-dotnet=\"`IpSecurityRestriction`\" pulumi-lang-go=\"`ipSecurityRestriction`\" pulumi-lang-python=\"`ip_security_restriction`\" pulumi-lang-yaml=\"`ipSecurityRestriction`\" pulumi-lang-java=\"`ipSecurityRestriction`\"\u003e`ip_security_restriction`\u003c/span\u003e blocks must be the same for the \u003cspan pulumi-lang-nodejs=\"`ingress`\" pulumi-lang-dotnet=\"`Ingress`\" pulumi-lang-go=\"`ingress`\" pulumi-lang-python=\"`ingress`\" pulumi-lang-yaml=\"`ingress`\" pulumi-lang-java=\"`ingress`\"\u003e`ingress`\u003c/span\u003e, mixing `Allow` and `Deny` rules is not currently supported by the service.\n"},"description":{"type":"string","description":"Describe the IP restriction rule that is being sent to the container-app.\n"},"ipAddressRange":{"type":"string","description":"The incoming IP address or range of IP addresses (in CIDR notation).\n"},"name":{"type":"string","description":"Name for the IP restriction rule.\n"}},"type":"object","required":["action","ipAddressRange","name"]},"azure:containerapp/AppIngressTrafficWeight:AppIngressTrafficWeight":{"properties":{"label":{"type":"string","description":"The label to apply to the revision as a name prefix for routing traffic.\n"},"latestRevision":{"type":"boolean","description":"This traffic Weight applies to the latest stable Container Revision. At most only one \u003cspan pulumi-lang-nodejs=\"`trafficWeight`\" pulumi-lang-dotnet=\"`TrafficWeight`\" pulumi-lang-go=\"`trafficWeight`\" pulumi-lang-python=\"`traffic_weight`\" pulumi-lang-yaml=\"`trafficWeight`\" pulumi-lang-java=\"`trafficWeight`\"\u003e`traffic_weight`\u003c/span\u003e block can have the \u003cspan pulumi-lang-nodejs=\"`latestRevision`\" pulumi-lang-dotnet=\"`LatestRevision`\" pulumi-lang-go=\"`latestRevision`\" pulumi-lang-python=\"`latest_revision`\" pulumi-lang-yaml=\"`latestRevision`\" pulumi-lang-java=\"`latestRevision`\"\u003e`latest_revision`\u003c/span\u003e set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"percentage":{"type":"integer","description":"The percentage of traffic which should be sent this revision.\n\n\u003e **Note:** The cumulative values for \u003cspan pulumi-lang-nodejs=\"`weight`\" pulumi-lang-dotnet=\"`Weight`\" pulumi-lang-go=\"`weight`\" pulumi-lang-python=\"`weight`\" pulumi-lang-yaml=\"`weight`\" pulumi-lang-java=\"`weight`\"\u003e`weight`\u003c/span\u003e must equal 100 exactly and explicitly, no default weights are assumed.\n"},"revisionSuffix":{"type":"string","description":"The suffix string to which this \u003cspan pulumi-lang-nodejs=\"`trafficWeight`\" pulumi-lang-dotnet=\"`TrafficWeight`\" pulumi-lang-go=\"`trafficWeight`\" pulumi-lang-python=\"`traffic_weight`\" pulumi-lang-yaml=\"`trafficWeight`\" pulumi-lang-java=\"`trafficWeight`\"\u003e`traffic_weight`\u003c/span\u003e applies.\n\n\u003e **Note:** If \u003cspan pulumi-lang-nodejs=\"`latestRevision`\" pulumi-lang-dotnet=\"`LatestRevision`\" pulumi-lang-go=\"`latestRevision`\" pulumi-lang-python=\"`latest_revision`\" pulumi-lang-yaml=\"`latestRevision`\" pulumi-lang-java=\"`latestRevision`\"\u003e`latest_revision`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e, the \u003cspan pulumi-lang-nodejs=\"`revisionSuffix`\" pulumi-lang-dotnet=\"`RevisionSuffix`\" pulumi-lang-go=\"`revisionSuffix`\" pulumi-lang-python=\"`revision_suffix`\" pulumi-lang-yaml=\"`revisionSuffix`\" pulumi-lang-java=\"`revisionSuffix`\"\u003e`revision_suffix`\u003c/span\u003e shall be specified.\n"}},"type":"object","required":["percentage"]},"azure:containerapp/AppRegistry:AppRegistry":{"properties":{"identity":{"type":"string","description":"Resource ID for the User Assigned Managed identity to use when pulling from the Container Registry.\n\n\u003e **Note:** The Resource ID must be of a User Assigned Managed identity defined in an \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block.\n"},"passwordSecretName":{"type":"string","description":"The name of the Secret Reference containing the password value for this user on the Container Registry, \u003cspan pulumi-lang-nodejs=\"`username`\" pulumi-lang-dotnet=\"`Username`\" pulumi-lang-go=\"`username`\" pulumi-lang-python=\"`username`\" pulumi-lang-yaml=\"`username`\" pulumi-lang-java=\"`username`\"\u003e`username`\u003c/span\u003e must also be supplied.\n"},"server":{"type":"string","description":"The hostname for the Container Registry.\n\nThe authentication details must also be supplied, \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`username`\" pulumi-lang-dotnet=\"`Username`\" pulumi-lang-go=\"`username`\" pulumi-lang-python=\"`username`\" pulumi-lang-yaml=\"`username`\" pulumi-lang-java=\"`username`\"\u003e`username`\u003c/span\u003e/\u003cspan pulumi-lang-nodejs=\"`passwordSecretName`\" pulumi-lang-dotnet=\"`PasswordSecretName`\" pulumi-lang-go=\"`passwordSecretName`\" pulumi-lang-python=\"`password_secret_name`\" pulumi-lang-yaml=\"`passwordSecretName`\" pulumi-lang-java=\"`passwordSecretName`\"\u003e`password_secret_name`\u003c/span\u003e are mutually exclusive.\n"},"username":{"type":"string","description":"The username to use for this Container Registry, \u003cspan pulumi-lang-nodejs=\"`passwordSecretName`\" pulumi-lang-dotnet=\"`PasswordSecretName`\" pulumi-lang-go=\"`passwordSecretName`\" pulumi-lang-python=\"`password_secret_name`\" pulumi-lang-yaml=\"`passwordSecretName`\" pulumi-lang-java=\"`passwordSecretName`\"\u003e`password_secret_name`\u003c/span\u003e must also be supplied..\n"}},"type":"object","required":["server"]},"azure:containerapp/AppSecret:AppSecret":{"properties":{"identity":{"type":"string","description":"The identity to use for accessing the Key Vault secret reference. This can either be the Resource ID of a User Assigned Identity, or `System` for the System Assigned Identity.\n\n!\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e must be used together with \u003cspan pulumi-lang-nodejs=\"`keyVaultSecretId`\" pulumi-lang-dotnet=\"`KeyVaultSecretId`\" pulumi-lang-go=\"`keyVaultSecretId`\" pulumi-lang-python=\"`key_vault_secret_id`\" pulumi-lang-yaml=\"`keyVaultSecretId`\" pulumi-lang-java=\"`keyVaultSecretId`\"\u003e`key_vault_secret_id`\u003c/span\u003e\n"},"keyVaultSecretId":{"type":"string","description":"The ID of a Key Vault secret. This can be a versioned or version-less ID.\n\n!\u003e **Note:** When using \u003cspan pulumi-lang-nodejs=\"`keyVaultSecretId`\" pulumi-lang-dotnet=\"`KeyVaultSecretId`\" pulumi-lang-go=\"`keyVaultSecretId`\" pulumi-lang-python=\"`key_vault_secret_id`\" pulumi-lang-yaml=\"`keyVaultSecretId`\" pulumi-lang-java=\"`keyVaultSecretId`\"\u003e`key_vault_secret_id`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`ignoreChanges`\" pulumi-lang-dotnet=\"`IgnoreChanges`\" pulumi-lang-go=\"`ignoreChanges`\" pulumi-lang-python=\"`ignore_changes`\" pulumi-lang-yaml=\"`ignoreChanges`\" pulumi-lang-java=\"`ignoreChanges`\"\u003e`ignore_changes`\u003c/span\u003e should be used to ignore any changes to \u003cspan pulumi-lang-nodejs=\"`value`\" pulumi-lang-dotnet=\"`Value`\" pulumi-lang-go=\"`value`\" pulumi-lang-python=\"`value`\" pulumi-lang-yaml=\"`value`\" pulumi-lang-java=\"`value`\"\u003e`value`\u003c/span\u003e.\n"},"name":{"type":"string","description":"The secret name.\n"},"value":{"type":"string","description":"The value for this secret.\n\n!\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`value`\" pulumi-lang-dotnet=\"`Value`\" pulumi-lang-go=\"`value`\" pulumi-lang-python=\"`value`\" pulumi-lang-yaml=\"`value`\" pulumi-lang-java=\"`value`\"\u003e`value`\u003c/span\u003e will be ignored if \u003cspan pulumi-lang-nodejs=\"`keyVaultSecretId`\" pulumi-lang-dotnet=\"`KeyVaultSecretId`\" pulumi-lang-go=\"`keyVaultSecretId`\" pulumi-lang-python=\"`key_vault_secret_id`\" pulumi-lang-yaml=\"`keyVaultSecretId`\" pulumi-lang-java=\"`keyVaultSecretId`\"\u003e`key_vault_secret_id`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e are provided.\n","secret":true}},"type":"object","required":["name"]},"azure:containerapp/AppTemplate:AppTemplate":{"properties":{"azureQueueScaleRules":{"type":"array","items":{"$ref":"#/types/azure:containerapp/AppTemplateAzureQueueScaleRule:AppTemplateAzureQueueScaleRule"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`azureQueueScaleRule`\" pulumi-lang-dotnet=\"`AzureQueueScaleRule`\" pulumi-lang-go=\"`azureQueueScaleRule`\" pulumi-lang-python=\"`azure_queue_scale_rule`\" pulumi-lang-yaml=\"`azureQueueScaleRule`\" pulumi-lang-java=\"`azureQueueScaleRule`\"\u003e`azure_queue_scale_rule`\u003c/span\u003e blocks as defined below.\n"},"containers":{"type":"array","items":{"$ref":"#/types/azure:containerapp/AppTemplateContainer:AppTemplateContainer"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`container`\" pulumi-lang-dotnet=\"`Container`\" pulumi-lang-go=\"`container`\" pulumi-lang-python=\"`container`\" pulumi-lang-yaml=\"`container`\" pulumi-lang-java=\"`container`\"\u003e`container`\u003c/span\u003e blocks as detailed below.\n"},"cooldownPeriodInSeconds":{"type":"integer","description":"The number of seconds to wait before scaling down the number of instances again. Defaults to \u003cspan pulumi-lang-nodejs=\"`300`\" pulumi-lang-dotnet=\"`300`\" pulumi-lang-go=\"`300`\" pulumi-lang-python=\"`300`\" pulumi-lang-yaml=\"`300`\" pulumi-lang-java=\"`300`\"\u003e`300`\u003c/span\u003e.\n"},"customScaleRules":{"type":"array","items":{"$ref":"#/types/azure:containerapp/AppTemplateCustomScaleRule:AppTemplateCustomScaleRule"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`customScaleRule`\" pulumi-lang-dotnet=\"`CustomScaleRule`\" pulumi-lang-go=\"`customScaleRule`\" pulumi-lang-python=\"`custom_scale_rule`\" pulumi-lang-yaml=\"`customScaleRule`\" pulumi-lang-java=\"`customScaleRule`\"\u003e`custom_scale_rule`\u003c/span\u003e blocks as defined below.\n"},"httpScaleRules":{"type":"array","items":{"$ref":"#/types/azure:containerapp/AppTemplateHttpScaleRule:AppTemplateHttpScaleRule"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`httpScaleRule`\" pulumi-lang-dotnet=\"`HttpScaleRule`\" pulumi-lang-go=\"`httpScaleRule`\" pulumi-lang-python=\"`http_scale_rule`\" pulumi-lang-yaml=\"`httpScaleRule`\" pulumi-lang-java=\"`httpScaleRule`\"\u003e`http_scale_rule`\u003c/span\u003e blocks as defined below.\n"},"initContainers":{"type":"array","items":{"$ref":"#/types/azure:containerapp/AppTemplateInitContainer:AppTemplateInitContainer"},"description":"The definition of an init container that is part of the group as documented in the \u003cspan pulumi-lang-nodejs=\"`initContainer`\" pulumi-lang-dotnet=\"`InitContainer`\" pulumi-lang-go=\"`initContainer`\" pulumi-lang-python=\"`init_container`\" pulumi-lang-yaml=\"`initContainer`\" pulumi-lang-java=\"`initContainer`\"\u003e`init_container`\u003c/span\u003e block below.\n"},"maxReplicas":{"type":"integer","description":"The maximum number of replicas for this container.\n"},"minReplicas":{"type":"integer","description":"The minimum number of replicas for this container.\n"},"pollingIntervalInSeconds":{"type":"integer","description":"The interval in seconds used for polling KEDA. Defaults to \u003cspan pulumi-lang-nodejs=\"`30`\" pulumi-lang-dotnet=\"`30`\" pulumi-lang-go=\"`30`\" pulumi-lang-python=\"`30`\" pulumi-lang-yaml=\"`30`\" pulumi-lang-java=\"`30`\"\u003e`30`\u003c/span\u003e.\n"},"revisionSuffix":{"type":"string","description":"The suffix for the revision. This value must be unique for the lifetime of the Resource. If omitted the service will use a hash function to create one.\n"},"tcpScaleRules":{"type":"array","items":{"$ref":"#/types/azure:containerapp/AppTemplateTcpScaleRule:AppTemplateTcpScaleRule"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`tcpScaleRule`\" pulumi-lang-dotnet=\"`TcpScaleRule`\" pulumi-lang-go=\"`tcpScaleRule`\" pulumi-lang-python=\"`tcp_scale_rule`\" pulumi-lang-yaml=\"`tcpScaleRule`\" pulumi-lang-java=\"`tcpScaleRule`\"\u003e`tcp_scale_rule`\u003c/span\u003e blocks as defined below.\n"},"terminationGracePeriodSeconds":{"type":"integer","description":"The time in seconds after the container is sent the termination signal before the process if forcibly killed.\n"},"volumes":{"type":"array","items":{"$ref":"#/types/azure:containerapp/AppTemplateVolume:AppTemplateVolume"},"description":"A \u003cspan pulumi-lang-nodejs=\"`volume`\" pulumi-lang-dotnet=\"`Volume`\" pulumi-lang-go=\"`volume`\" pulumi-lang-python=\"`volume`\" pulumi-lang-yaml=\"`volume`\" pulumi-lang-java=\"`volume`\"\u003e`volume`\u003c/span\u003e block as detailed below.\n"}},"type":"object","required":["containers"],"language":{"nodejs":{"requiredOutputs":["containers","revisionSuffix"]}}},"azure:containerapp/AppTemplateAzureQueueScaleRule:AppTemplateAzureQueueScaleRule":{"properties":{"authentications":{"type":"array","items":{"$ref":"#/types/azure:containerapp/AppTemplateAzureQueueScaleRuleAuthentication:AppTemplateAzureQueueScaleRuleAuthentication"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`authentication`\" pulumi-lang-dotnet=\"`Authentication`\" pulumi-lang-go=\"`authentication`\" pulumi-lang-python=\"`authentication`\" pulumi-lang-yaml=\"`authentication`\" pulumi-lang-java=\"`authentication`\"\u003e`authentication`\u003c/span\u003e blocks as defined below.\n"},"name":{"type":"string","description":"The name of the Scaling Rule\n"},"queueLength":{"type":"integer","description":"The value of the length of the queue to trigger scaling actions.\n"},"queueName":{"type":"string","description":"The name of the Azure Queue\n"}},"type":"object","required":["authentications","name","queueLength","queueName"]},"azure:containerapp/AppTemplateAzureQueueScaleRuleAuthentication:AppTemplateAzureQueueScaleRuleAuthentication":{"properties":{"secretName":{"type":"string","description":"The name of the Container App Secret to use for this Scale Rule Authentication.\n"},"triggerParameter":{"type":"string","description":"The Trigger Parameter name to use the supply the value retrieved from the \u003cspan pulumi-lang-nodejs=\"`secretName`\" pulumi-lang-dotnet=\"`SecretName`\" pulumi-lang-go=\"`secretName`\" pulumi-lang-python=\"`secret_name`\" pulumi-lang-yaml=\"`secretName`\" pulumi-lang-java=\"`secretName`\"\u003e`secret_name`\u003c/span\u003e.\n"}},"type":"object","required":["secretName","triggerParameter"]},"azure:containerapp/AppTemplateContainer:AppTemplateContainer":{"properties":{"args":{"type":"array","items":{"type":"string"},"description":"A list of extra arguments to pass to the container.\n"},"commands":{"type":"array","items":{"type":"string"},"description":"A command to pass to the container to override the default. This is provided as a list of command line elements without spaces.\n"},"cpu":{"type":"number","description":"The amount of vCPU to allocate to the container.\n\n\u003e **Note:** When using a Consumption plan, the \u003cspan pulumi-lang-nodejs=\"`cpu`\" pulumi-lang-dotnet=\"`Cpu`\" pulumi-lang-go=\"`cpu`\" pulumi-lang-python=\"`cpu`\" pulumi-lang-yaml=\"`cpu`\" pulumi-lang-java=\"`cpu`\"\u003e`cpu`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`memory`\" pulumi-lang-dotnet=\"`Memory`\" pulumi-lang-go=\"`memory`\" pulumi-lang-python=\"`memory`\" pulumi-lang-yaml=\"`memory`\" pulumi-lang-java=\"`memory`\"\u003e`memory`\u003c/span\u003e properties must add up to one of the combinations found in the Microsoft provided documentation, for more information see [vCPU and memory allocation requirements](https://learn.microsoft.com/azure/container-apps/containers#allocations)\n"},"envs":{"type":"array","items":{"$ref":"#/types/azure:containerapp/AppTemplateContainerEnv:AppTemplateContainerEnv"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`env`\" pulumi-lang-dotnet=\"`Env`\" pulumi-lang-go=\"`env`\" pulumi-lang-python=\"`env`\" pulumi-lang-yaml=\"`env`\" pulumi-lang-java=\"`env`\"\u003e`env`\u003c/span\u003e blocks as detailed below.\n"},"ephemeralStorage":{"type":"string","description":"The amount of ephemeral storage available to the Container App.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`ephemeralStorage`\" pulumi-lang-dotnet=\"`EphemeralStorage`\" pulumi-lang-go=\"`ephemeralStorage`\" pulumi-lang-python=\"`ephemeral_storage`\" pulumi-lang-yaml=\"`ephemeralStorage`\" pulumi-lang-java=\"`ephemeralStorage`\"\u003e`ephemeral_storage`\u003c/span\u003e is currently in preview and not configurable at this time.\n"},"image":{"type":"string","description":"The image to use to create the container.\n"},"livenessProbes":{"type":"array","items":{"$ref":"#/types/azure:containerapp/AppTemplateContainerLivenessProbe:AppTemplateContainerLivenessProbe"},"description":"A \u003cspan pulumi-lang-nodejs=\"`livenessProbe`\" pulumi-lang-dotnet=\"`LivenessProbe`\" pulumi-lang-go=\"`livenessProbe`\" pulumi-lang-python=\"`liveness_probe`\" pulumi-lang-yaml=\"`livenessProbe`\" pulumi-lang-java=\"`livenessProbe`\"\u003e`liveness_probe`\u003c/span\u003e block as detailed below.\n"},"memory":{"type":"string","description":"The amount of memory to allocate to the container.\n\n\u003e **Note:** When using a Consumption plan, the \u003cspan pulumi-lang-nodejs=\"`cpu`\" pulumi-lang-dotnet=\"`Cpu`\" pulumi-lang-go=\"`cpu`\" pulumi-lang-python=\"`cpu`\" pulumi-lang-yaml=\"`cpu`\" pulumi-lang-java=\"`cpu`\"\u003e`cpu`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`memory`\" pulumi-lang-dotnet=\"`Memory`\" pulumi-lang-go=\"`memory`\" pulumi-lang-python=\"`memory`\" pulumi-lang-yaml=\"`memory`\" pulumi-lang-java=\"`memory`\"\u003e`memory`\u003c/span\u003e properties must add up to one of the combinations found in the Microsoft provided documentation, for more information see [vCPU and memory allocation requirements](https://learn.microsoft.com/azure/container-apps/containers#allocations)\n"},"name":{"type":"string","description":"The name of the container\n"},"readinessProbes":{"type":"array","items":{"$ref":"#/types/azure:containerapp/AppTemplateContainerReadinessProbe:AppTemplateContainerReadinessProbe"},"description":"A \u003cspan pulumi-lang-nodejs=\"`readinessProbe`\" pulumi-lang-dotnet=\"`ReadinessProbe`\" pulumi-lang-go=\"`readinessProbe`\" pulumi-lang-python=\"`readiness_probe`\" pulumi-lang-yaml=\"`readinessProbe`\" pulumi-lang-java=\"`readinessProbe`\"\u003e`readiness_probe`\u003c/span\u003e block as detailed below.\n"},"startupProbes":{"type":"array","items":{"$ref":"#/types/azure:containerapp/AppTemplateContainerStartupProbe:AppTemplateContainerStartupProbe"},"description":"A \u003cspan pulumi-lang-nodejs=\"`startupProbe`\" pulumi-lang-dotnet=\"`StartupProbe`\" pulumi-lang-go=\"`startupProbe`\" pulumi-lang-python=\"`startup_probe`\" pulumi-lang-yaml=\"`startupProbe`\" pulumi-lang-java=\"`startupProbe`\"\u003e`startup_probe`\u003c/span\u003e block as detailed below.\n"},"volumeMounts":{"type":"array","items":{"$ref":"#/types/azure:containerapp/AppTemplateContainerVolumeMount:AppTemplateContainerVolumeMount"},"description":"A \u003cspan pulumi-lang-nodejs=\"`volumeMounts`\" pulumi-lang-dotnet=\"`VolumeMounts`\" pulumi-lang-go=\"`volumeMounts`\" pulumi-lang-python=\"`volume_mounts`\" pulumi-lang-yaml=\"`volumeMounts`\" pulumi-lang-java=\"`volumeMounts`\"\u003e`volume_mounts`\u003c/span\u003e block as detailed below.\n"}},"type":"object","required":["cpu","image","memory","name"],"language":{"nodejs":{"requiredOutputs":["cpu","ephemeralStorage","image","memory","name"]}}},"azure:containerapp/AppTemplateContainerEnv:AppTemplateContainerEnv":{"properties":{"name":{"type":"string","description":"The name of the environment variable for the container.\n"},"secretName":{"type":"string","description":"The name of the secret that contains the value for this environment variable.\n"},"value":{"type":"string","description":"The value for this environment variable.\n\n\u003e **Note:** This value is ignored if \u003cspan pulumi-lang-nodejs=\"`secretName`\" pulumi-lang-dotnet=\"`SecretName`\" pulumi-lang-go=\"`secretName`\" pulumi-lang-python=\"`secret_name`\" pulumi-lang-yaml=\"`secretName`\" pulumi-lang-java=\"`secretName`\"\u003e`secret_name`\u003c/span\u003e is used\n"}},"type":"object","required":["name"]},"azure:containerapp/AppTemplateContainerLivenessProbe:AppTemplateContainerLivenessProbe":{"properties":{"failureCountThreshold":{"type":"integer","description":"The number of consecutive failures required to consider this probe as failed. Possible values are between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`10`\" pulumi-lang-dotnet=\"`10`\" pulumi-lang-go=\"`10`\" pulumi-lang-python=\"`10`\" pulumi-lang-yaml=\"`10`\" pulumi-lang-java=\"`10`\"\u003e`10`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e.\n"},"headers":{"type":"array","items":{"$ref":"#/types/azure:containerapp/AppTemplateContainerLivenessProbeHeader:AppTemplateContainerLivenessProbeHeader"},"description":"A \u003cspan pulumi-lang-nodejs=\"`header`\" pulumi-lang-dotnet=\"`Header`\" pulumi-lang-go=\"`header`\" pulumi-lang-python=\"`header`\" pulumi-lang-yaml=\"`header`\" pulumi-lang-java=\"`header`\"\u003e`header`\u003c/span\u003e block as detailed below.\n"},"host":{"type":"string","description":"The probe hostname. Defaults to the pod IP address. Setting a value for `Host` in \u003cspan pulumi-lang-nodejs=\"`headers`\" pulumi-lang-dotnet=\"`Headers`\" pulumi-lang-go=\"`headers`\" pulumi-lang-python=\"`headers`\" pulumi-lang-yaml=\"`headers`\" pulumi-lang-java=\"`headers`\"\u003e`headers`\u003c/span\u003e can be used to override this for `HTTP` and `HTTPS` type probes.\n"},"initialDelay":{"type":"integer","description":"The number of seconds elapsed after the container has started before the probe is initiated. Possible values are between \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`60`\" pulumi-lang-dotnet=\"`60`\" pulumi-lang-go=\"`60`\" pulumi-lang-python=\"`60`\" pulumi-lang-yaml=\"`60`\" pulumi-lang-java=\"`60`\"\u003e`60`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e seconds.\n"},"intervalSeconds":{"type":"integer","description":"How often, in seconds, the probe should run. Possible values are in the range \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e - \u003cspan pulumi-lang-nodejs=\"`240`\" pulumi-lang-dotnet=\"`240`\" pulumi-lang-go=\"`240`\" pulumi-lang-python=\"`240`\" pulumi-lang-yaml=\"`240`\" pulumi-lang-java=\"`240`\"\u003e`240`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`10`\" pulumi-lang-dotnet=\"`10`\" pulumi-lang-go=\"`10`\" pulumi-lang-python=\"`10`\" pulumi-lang-yaml=\"`10`\" pulumi-lang-java=\"`10`\"\u003e`10`\u003c/span\u003e.\n"},"path":{"type":"string","description":"The URI to use with the \u003cspan pulumi-lang-nodejs=\"`host`\" pulumi-lang-dotnet=\"`Host`\" pulumi-lang-go=\"`host`\" pulumi-lang-python=\"`host`\" pulumi-lang-yaml=\"`host`\" pulumi-lang-java=\"`host`\"\u003e`host`\u003c/span\u003e for http type probes. Not valid for `TCP` type probes. Defaults to `/`.\n"},"port":{"type":"integer","description":"The port number on which to connect. Possible values are between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`65535`\" pulumi-lang-dotnet=\"`65535`\" pulumi-lang-go=\"`65535`\" pulumi-lang-python=\"`65535`\" pulumi-lang-yaml=\"`65535`\" pulumi-lang-java=\"`65535`\"\u003e`65535`\u003c/span\u003e.\n"},"terminationGracePeriodSeconds":{"type":"integer","description":"The time in seconds after the container is sent the termination signal before the process if forcibly killed.\n"},"timeout":{"type":"integer","description":"Time in seconds after which the probe times out. Possible values are in the range \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e - \u003cspan pulumi-lang-nodejs=\"`240`\" pulumi-lang-dotnet=\"`240`\" pulumi-lang-go=\"`240`\" pulumi-lang-python=\"`240`\" pulumi-lang-yaml=\"`240`\" pulumi-lang-java=\"`240`\"\u003e`240`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e.\n"},"transport":{"type":"string","description":"Type of probe. Possible values are `TCP`, `HTTP`, and `HTTPS`.\n"}},"type":"object","required":["port","transport"],"language":{"nodejs":{"requiredOutputs":["path","port","terminationGracePeriodSeconds","transport"]}}},"azure:containerapp/AppTemplateContainerLivenessProbeHeader:AppTemplateContainerLivenessProbeHeader":{"properties":{"name":{"type":"string","description":"The HTTP Header Name.\n"},"value":{"type":"string","description":"The HTTP Header value.\n"}},"type":"object","required":["name","value"]},"azure:containerapp/AppTemplateContainerReadinessProbe:AppTemplateContainerReadinessProbe":{"properties":{"failureCountThreshold":{"type":"integer","description":"The number of consecutive failures required to consider this probe as failed. Possible values are between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`30`\" pulumi-lang-dotnet=\"`30`\" pulumi-lang-go=\"`30`\" pulumi-lang-python=\"`30`\" pulumi-lang-yaml=\"`30`\" pulumi-lang-java=\"`30`\"\u003e`30`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e.\n"},"headers":{"type":"array","items":{"$ref":"#/types/azure:containerapp/AppTemplateContainerReadinessProbeHeader:AppTemplateContainerReadinessProbeHeader"},"description":"A \u003cspan pulumi-lang-nodejs=\"`header`\" pulumi-lang-dotnet=\"`Header`\" pulumi-lang-go=\"`header`\" pulumi-lang-python=\"`header`\" pulumi-lang-yaml=\"`header`\" pulumi-lang-java=\"`header`\"\u003e`header`\u003c/span\u003e block as detailed below.\n"},"host":{"type":"string","description":"The probe hostname. Defaults to the pod IP address. Setting a value for `Host` in \u003cspan pulumi-lang-nodejs=\"`headers`\" pulumi-lang-dotnet=\"`Headers`\" pulumi-lang-go=\"`headers`\" pulumi-lang-python=\"`headers`\" pulumi-lang-yaml=\"`headers`\" pulumi-lang-java=\"`headers`\"\u003e`headers`\u003c/span\u003e can be used to override this for `HTTP` and `HTTPS` type probes.\n"},"initialDelay":{"type":"integer","description":"The number of seconds elapsed after the container has started before the probe is initiated. Possible values are between \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`60`\" pulumi-lang-dotnet=\"`60`\" pulumi-lang-go=\"`60`\" pulumi-lang-python=\"`60`\" pulumi-lang-yaml=\"`60`\" pulumi-lang-java=\"`60`\"\u003e`60`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e seconds.\n"},"intervalSeconds":{"type":"integer","description":"How often, in seconds, the probe should run. Possible values are between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`240`\" pulumi-lang-dotnet=\"`240`\" pulumi-lang-go=\"`240`\" pulumi-lang-python=\"`240`\" pulumi-lang-yaml=\"`240`\" pulumi-lang-java=\"`240`\"\u003e`240`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`10`\" pulumi-lang-dotnet=\"`10`\" pulumi-lang-go=\"`10`\" pulumi-lang-python=\"`10`\" pulumi-lang-yaml=\"`10`\" pulumi-lang-java=\"`10`\"\u003e`10`\u003c/span\u003e\n"},"path":{"type":"string","description":"The URI to use for http type probes. Not valid for `TCP` type probes. Defaults to `/`.\n"},"port":{"type":"integer","description":"The port number on which to connect. Possible values are between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`65535`\" pulumi-lang-dotnet=\"`65535`\" pulumi-lang-go=\"`65535`\" pulumi-lang-python=\"`65535`\" pulumi-lang-yaml=\"`65535`\" pulumi-lang-java=\"`65535`\"\u003e`65535`\u003c/span\u003e.\n"},"successCountThreshold":{"type":"integer","description":"The number of consecutive successful responses required to consider this probe as successful. Possible values are between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`10`\" pulumi-lang-dotnet=\"`10`\" pulumi-lang-go=\"`10`\" pulumi-lang-python=\"`10`\" pulumi-lang-yaml=\"`10`\" pulumi-lang-java=\"`10`\"\u003e`10`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e.\n"},"timeout":{"type":"integer","description":"Time in seconds after which the probe times out. Possible values are in the range \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e - \u003cspan pulumi-lang-nodejs=\"`240`\" pulumi-lang-dotnet=\"`240`\" pulumi-lang-go=\"`240`\" pulumi-lang-python=\"`240`\" pulumi-lang-yaml=\"`240`\" pulumi-lang-java=\"`240`\"\u003e`240`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e.\n"},"transport":{"type":"string","description":"Type of probe. Possible values are `TCP`, `HTTP`, and `HTTPS`.\n"}},"type":"object","required":["port","transport"],"language":{"nodejs":{"requiredOutputs":["path","port","transport"]}}},"azure:containerapp/AppTemplateContainerReadinessProbeHeader:AppTemplateContainerReadinessProbeHeader":{"properties":{"name":{"type":"string","description":"The HTTP Header Name.\n"},"value":{"type":"string","description":"The HTTP Header value.\n"}},"type":"object","required":["name","value"]},"azure:containerapp/AppTemplateContainerStartupProbe:AppTemplateContainerStartupProbe":{"properties":{"failureCountThreshold":{"type":"integer","description":"The number of consecutive failures required to consider this probe as failed. Possible values are between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`30`\" pulumi-lang-dotnet=\"`30`\" pulumi-lang-go=\"`30`\" pulumi-lang-python=\"`30`\" pulumi-lang-yaml=\"`30`\" pulumi-lang-java=\"`30`\"\u003e`30`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e.\n"},"headers":{"type":"array","items":{"$ref":"#/types/azure:containerapp/AppTemplateContainerStartupProbeHeader:AppTemplateContainerStartupProbeHeader"},"description":"A \u003cspan pulumi-lang-nodejs=\"`header`\" pulumi-lang-dotnet=\"`Header`\" pulumi-lang-go=\"`header`\" pulumi-lang-python=\"`header`\" pulumi-lang-yaml=\"`header`\" pulumi-lang-java=\"`header`\"\u003e`header`\u003c/span\u003e block as detailed below.\n"},"host":{"type":"string","description":"The value for the host header which should be sent with this probe. If unspecified, the IP Address of the Pod is used as the host header. Setting a value for `Host` in \u003cspan pulumi-lang-nodejs=\"`headers`\" pulumi-lang-dotnet=\"`Headers`\" pulumi-lang-go=\"`headers`\" pulumi-lang-python=\"`headers`\" pulumi-lang-yaml=\"`headers`\" pulumi-lang-java=\"`headers`\"\u003e`headers`\u003c/span\u003e can be used to override this for `HTTP` and `HTTPS` type probes.\n"},"initialDelay":{"type":"integer","description":"The number of seconds elapsed after the container has started before the probe is initiated. Possible values are between \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`60`\" pulumi-lang-dotnet=\"`60`\" pulumi-lang-go=\"`60`\" pulumi-lang-python=\"`60`\" pulumi-lang-yaml=\"`60`\" pulumi-lang-java=\"`60`\"\u003e`60`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e seconds.\n"},"intervalSeconds":{"type":"integer","description":"How often, in seconds, the probe should run. Possible values are between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`240`\" pulumi-lang-dotnet=\"`240`\" pulumi-lang-go=\"`240`\" pulumi-lang-python=\"`240`\" pulumi-lang-yaml=\"`240`\" pulumi-lang-java=\"`240`\"\u003e`240`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`10`\" pulumi-lang-dotnet=\"`10`\" pulumi-lang-go=\"`10`\" pulumi-lang-python=\"`10`\" pulumi-lang-yaml=\"`10`\" pulumi-lang-java=\"`10`\"\u003e`10`\u003c/span\u003e\n"},"path":{"type":"string","description":"The URI to use with the \u003cspan pulumi-lang-nodejs=\"`host`\" pulumi-lang-dotnet=\"`Host`\" pulumi-lang-go=\"`host`\" pulumi-lang-python=\"`host`\" pulumi-lang-yaml=\"`host`\" pulumi-lang-java=\"`host`\"\u003e`host`\u003c/span\u003e for http type probes. Not valid for `TCP` type probes. Defaults to `/`.\n"},"port":{"type":"integer","description":"The port number on which to connect. Possible values are between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`65535`\" pulumi-lang-dotnet=\"`65535`\" pulumi-lang-go=\"`65535`\" pulumi-lang-python=\"`65535`\" pulumi-lang-yaml=\"`65535`\" pulumi-lang-java=\"`65535`\"\u003e`65535`\u003c/span\u003e.\n"},"terminationGracePeriodSeconds":{"type":"integer","description":"The time in seconds after the container is sent the termination signal before the process if forcibly killed.\n"},"timeout":{"type":"integer","description":"Time in seconds after which the probe times out. Possible values are in the range \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e - \u003cspan pulumi-lang-nodejs=\"`240`\" pulumi-lang-dotnet=\"`240`\" pulumi-lang-go=\"`240`\" pulumi-lang-python=\"`240`\" pulumi-lang-yaml=\"`240`\" pulumi-lang-java=\"`240`\"\u003e`240`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e.\n"},"transport":{"type":"string","description":"Type of probe. Possible values are `TCP`, `HTTP`, and `HTTPS`.\n"}},"type":"object","required":["port","transport"],"language":{"nodejs":{"requiredOutputs":["path","port","terminationGracePeriodSeconds","transport"]}}},"azure:containerapp/AppTemplateContainerStartupProbeHeader:AppTemplateContainerStartupProbeHeader":{"properties":{"name":{"type":"string","description":"The HTTP Header Name.\n"},"value":{"type":"string","description":"The HTTP Header value.\n"}},"type":"object","required":["name","value"]},"azure:containerapp/AppTemplateContainerVolumeMount:AppTemplateContainerVolumeMount":{"properties":{"name":{"type":"string","description":"The name of the Volume to be mounted in the container.\n"},"path":{"type":"string","description":"The path in the container at which to mount this volume.\n"},"subPath":{"type":"string","description":"The sub path of the volume to be mounted in the container.\n"}},"type":"object","required":["name","path"]},"azure:containerapp/AppTemplateCustomScaleRule:AppTemplateCustomScaleRule":{"properties":{"authentications":{"type":"array","items":{"$ref":"#/types/azure:containerapp/AppTemplateCustomScaleRuleAuthentication:AppTemplateCustomScaleRuleAuthentication"},"description":"Zero or more \u003cspan pulumi-lang-nodejs=\"`authentication`\" pulumi-lang-dotnet=\"`Authentication`\" pulumi-lang-go=\"`authentication`\" pulumi-lang-python=\"`authentication`\" pulumi-lang-yaml=\"`authentication`\" pulumi-lang-java=\"`authentication`\"\u003e`authentication`\u003c/span\u003e blocks as defined below.\n"},"customRuleType":{"type":"string","description":"The Custom rule type. Possible values include: \u003cspan pulumi-lang-nodejs=\"`activemq`\" pulumi-lang-dotnet=\"`Activemq`\" pulumi-lang-go=\"`activemq`\" pulumi-lang-python=\"`activemq`\" pulumi-lang-yaml=\"`activemq`\" pulumi-lang-java=\"`activemq`\"\u003e`activemq`\u003c/span\u003e, `artemis-queue`, \u003cspan pulumi-lang-nodejs=\"`kafka`\" pulumi-lang-dotnet=\"`Kafka`\" pulumi-lang-go=\"`kafka`\" pulumi-lang-python=\"`kafka`\" pulumi-lang-yaml=\"`kafka`\" pulumi-lang-java=\"`kafka`\"\u003e`kafka`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`pulsar`\" pulumi-lang-dotnet=\"`Pulsar`\" pulumi-lang-go=\"`pulsar`\" pulumi-lang-python=\"`pulsar`\" pulumi-lang-yaml=\"`pulsar`\" pulumi-lang-java=\"`pulsar`\"\u003e`pulsar`\u003c/span\u003e, `aws-cloudwatch`, `aws-dynamodb`, `aws-dynamodb-streams`, `aws-kinesis-stream`, `aws-sqs-queue`, `azure-app-insights`, `azure-blob`, `azure-data-explorer`, `azure-eventhub`, `azure-log-analytics`, `azure-monitor`, `azure-pipelines`, `azure-servicebus`, `azure-queue`, \u003cspan pulumi-lang-nodejs=\"`cassandra`\" pulumi-lang-dotnet=\"`Cassandra`\" pulumi-lang-go=\"`cassandra`\" pulumi-lang-python=\"`cassandra`\" pulumi-lang-yaml=\"`cassandra`\" pulumi-lang-java=\"`cassandra`\"\u003e`cassandra`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`cpu`\" pulumi-lang-dotnet=\"`Cpu`\" pulumi-lang-go=\"`cpu`\" pulumi-lang-python=\"`cpu`\" pulumi-lang-yaml=\"`cpu`\" pulumi-lang-java=\"`cpu`\"\u003e`cpu`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`cron`\" pulumi-lang-dotnet=\"`Cron`\" pulumi-lang-go=\"`cron`\" pulumi-lang-python=\"`cron`\" pulumi-lang-yaml=\"`cron`\" pulumi-lang-java=\"`cron`\"\u003e`cron`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`datadog`\" pulumi-lang-dotnet=\"`Datadog`\" pulumi-lang-go=\"`datadog`\" pulumi-lang-python=\"`datadog`\" pulumi-lang-yaml=\"`datadog`\" pulumi-lang-java=\"`datadog`\"\u003e`datadog`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`elasticsearch`\" pulumi-lang-dotnet=\"`Elasticsearch`\" pulumi-lang-go=\"`elasticsearch`\" pulumi-lang-python=\"`elasticsearch`\" pulumi-lang-yaml=\"`elasticsearch`\" pulumi-lang-java=\"`elasticsearch`\"\u003e`elasticsearch`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`external`\" pulumi-lang-dotnet=\"`External`\" pulumi-lang-go=\"`external`\" pulumi-lang-python=\"`external`\" pulumi-lang-yaml=\"`external`\" pulumi-lang-java=\"`external`\"\u003e`external`\u003c/span\u003e, `external-push`, `gcp-stackdriver`, `gcp-storage`, `gcp-pubsub`, \u003cspan pulumi-lang-nodejs=\"`graphite`\" pulumi-lang-dotnet=\"`Graphite`\" pulumi-lang-go=\"`graphite`\" pulumi-lang-python=\"`graphite`\" pulumi-lang-yaml=\"`graphite`\" pulumi-lang-java=\"`graphite`\"\u003e`graphite`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`http`\" pulumi-lang-dotnet=\"`Http`\" pulumi-lang-go=\"`http`\" pulumi-lang-python=\"`http`\" pulumi-lang-yaml=\"`http`\" pulumi-lang-java=\"`http`\"\u003e`http`\u003c/span\u003e, `huawei-cloudeye`, \u003cspan pulumi-lang-nodejs=\"`ibmmq`\" pulumi-lang-dotnet=\"`Ibmmq`\" pulumi-lang-go=\"`ibmmq`\" pulumi-lang-python=\"`ibmmq`\" pulumi-lang-yaml=\"`ibmmq`\" pulumi-lang-java=\"`ibmmq`\"\u003e`ibmmq`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`influxdb`\" pulumi-lang-dotnet=\"`Influxdb`\" pulumi-lang-go=\"`influxdb`\" pulumi-lang-python=\"`influxdb`\" pulumi-lang-yaml=\"`influxdb`\" pulumi-lang-java=\"`influxdb`\"\u003e`influxdb`\u003c/span\u003e, `kubernetes-workload`, \u003cspan pulumi-lang-nodejs=\"`liiklus`\" pulumi-lang-dotnet=\"`Liiklus`\" pulumi-lang-go=\"`liiklus`\" pulumi-lang-python=\"`liiklus`\" pulumi-lang-yaml=\"`liiklus`\" pulumi-lang-java=\"`liiklus`\"\u003e`liiklus`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`memory`\" pulumi-lang-dotnet=\"`Memory`\" pulumi-lang-go=\"`memory`\" pulumi-lang-python=\"`memory`\" pulumi-lang-yaml=\"`memory`\" pulumi-lang-java=\"`memory`\"\u003e`memory`\u003c/span\u003e, `metrics-api`, \u003cspan pulumi-lang-nodejs=\"`mongodb`\" pulumi-lang-dotnet=\"`Mongodb`\" pulumi-lang-go=\"`mongodb`\" pulumi-lang-python=\"`mongodb`\" pulumi-lang-yaml=\"`mongodb`\" pulumi-lang-java=\"`mongodb`\"\u003e`mongodb`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`mssql`\" pulumi-lang-dotnet=\"`Mssql`\" pulumi-lang-go=\"`mssql`\" pulumi-lang-python=\"`mssql`\" pulumi-lang-yaml=\"`mssql`\" pulumi-lang-java=\"`mssql`\"\u003e`mssql`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`mysql`\" pulumi-lang-dotnet=\"`Mysql`\" pulumi-lang-go=\"`mysql`\" pulumi-lang-python=\"`mysql`\" pulumi-lang-yaml=\"`mysql`\" pulumi-lang-java=\"`mysql`\"\u003e`mysql`\u003c/span\u003e, `nats-jetstream`, \u003cspan pulumi-lang-nodejs=\"`stan`\" pulumi-lang-dotnet=\"`Stan`\" pulumi-lang-go=\"`stan`\" pulumi-lang-python=\"`stan`\" pulumi-lang-yaml=\"`stan`\" pulumi-lang-java=\"`stan`\"\u003e`stan`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`tcp`\" pulumi-lang-dotnet=\"`Tcp`\" pulumi-lang-go=\"`tcp`\" pulumi-lang-python=\"`tcp`\" pulumi-lang-yaml=\"`tcp`\" pulumi-lang-java=\"`tcp`\"\u003e`tcp`\u003c/span\u003e, `new-relic`, `openstack-metric`, `openstack-swift`, \u003cspan pulumi-lang-nodejs=\"`postgresql`\" pulumi-lang-dotnet=\"`Postgresql`\" pulumi-lang-go=\"`postgresql`\" pulumi-lang-python=\"`postgresql`\" pulumi-lang-yaml=\"`postgresql`\" pulumi-lang-java=\"`postgresql`\"\u003e`postgresql`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`predictkube`\" pulumi-lang-dotnet=\"`Predictkube`\" pulumi-lang-go=\"`predictkube`\" pulumi-lang-python=\"`predictkube`\" pulumi-lang-yaml=\"`predictkube`\" pulumi-lang-java=\"`predictkube`\"\u003e`predictkube`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`prometheus`\" pulumi-lang-dotnet=\"`Prometheus`\" pulumi-lang-go=\"`prometheus`\" pulumi-lang-python=\"`prometheus`\" pulumi-lang-yaml=\"`prometheus`\" pulumi-lang-java=\"`prometheus`\"\u003e`prometheus`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`rabbitmq`\" pulumi-lang-dotnet=\"`Rabbitmq`\" pulumi-lang-go=\"`rabbitmq`\" pulumi-lang-python=\"`rabbitmq`\" pulumi-lang-yaml=\"`rabbitmq`\" pulumi-lang-java=\"`rabbitmq`\"\u003e`rabbitmq`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`redis`\" pulumi-lang-dotnet=\"`Redis`\" pulumi-lang-go=\"`redis`\" pulumi-lang-python=\"`redis`\" pulumi-lang-yaml=\"`redis`\" pulumi-lang-java=\"`redis`\"\u003e`redis`\u003c/span\u003e, `redis-cluster`, `redis-sentinel`, `redis-streams`, `redis-cluster-streams`, `redis-sentinel-streams`, `selenium-grid`,`solace-event-queue`, and `github-runner`.\n"},"metadata":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of string key-value pairs to configure the Custom Scale Rule.\n"},"name":{"type":"string","description":"The name of the Scaling Rule\n"}},"type":"object","required":["customRuleType","metadata","name"]},"azure:containerapp/AppTemplateCustomScaleRuleAuthentication:AppTemplateCustomScaleRuleAuthentication":{"properties":{"secretName":{"type":"string","description":"The name of the Container App Secret to use for this Scale Rule Authentication.\n"},"triggerParameter":{"type":"string","description":"The Trigger Parameter name to use the supply the value retrieved from the \u003cspan pulumi-lang-nodejs=\"`secretName`\" pulumi-lang-dotnet=\"`SecretName`\" pulumi-lang-go=\"`secretName`\" pulumi-lang-python=\"`secret_name`\" pulumi-lang-yaml=\"`secretName`\" pulumi-lang-java=\"`secretName`\"\u003e`secret_name`\u003c/span\u003e.\n"}},"type":"object","required":["secretName","triggerParameter"]},"azure:containerapp/AppTemplateHttpScaleRule:AppTemplateHttpScaleRule":{"properties":{"authentications":{"type":"array","items":{"$ref":"#/types/azure:containerapp/AppTemplateHttpScaleRuleAuthentication:AppTemplateHttpScaleRuleAuthentication"},"description":"Zero or more \u003cspan pulumi-lang-nodejs=\"`authentication`\" pulumi-lang-dotnet=\"`Authentication`\" pulumi-lang-go=\"`authentication`\" pulumi-lang-python=\"`authentication`\" pulumi-lang-yaml=\"`authentication`\" pulumi-lang-java=\"`authentication`\"\u003e`authentication`\u003c/span\u003e blocks as defined below.\n"},"concurrentRequests":{"type":"string","description":"The number of concurrent requests to trigger scaling.\n"},"name":{"type":"string","description":"The name of the Scaling Rule\n"}},"type":"object","required":["concurrentRequests","name"]},"azure:containerapp/AppTemplateHttpScaleRuleAuthentication:AppTemplateHttpScaleRuleAuthentication":{"properties":{"secretName":{"type":"string","description":"The name of the Container App Secret to use for this Scale Rule Authentication.\n"},"triggerParameter":{"type":"string","description":"The Trigger Parameter name to use the supply the value retrieved from the \u003cspan pulumi-lang-nodejs=\"`secretName`\" pulumi-lang-dotnet=\"`SecretName`\" pulumi-lang-go=\"`secretName`\" pulumi-lang-python=\"`secret_name`\" pulumi-lang-yaml=\"`secretName`\" pulumi-lang-java=\"`secretName`\"\u003e`secret_name`\u003c/span\u003e.\n"}},"type":"object","required":["secretName"]},"azure:containerapp/AppTemplateInitContainer:AppTemplateInitContainer":{"properties":{"args":{"type":"array","items":{"type":"string"},"description":"A list of extra arguments to pass to the container.\n"},"commands":{"type":"array","items":{"type":"string"},"description":"A command to pass to the container to override the default. This is provided as a list of command line elements without spaces.\n"},"cpu":{"type":"number","description":"The amount of vCPU to allocate to the container.\n\n\u003e **Note:** When using a Consumption plan, the \u003cspan pulumi-lang-nodejs=\"`cpu`\" pulumi-lang-dotnet=\"`Cpu`\" pulumi-lang-go=\"`cpu`\" pulumi-lang-python=\"`cpu`\" pulumi-lang-yaml=\"`cpu`\" pulumi-lang-java=\"`cpu`\"\u003e`cpu`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`memory`\" pulumi-lang-dotnet=\"`Memory`\" pulumi-lang-go=\"`memory`\" pulumi-lang-python=\"`memory`\" pulumi-lang-yaml=\"`memory`\" pulumi-lang-java=\"`memory`\"\u003e`memory`\u003c/span\u003e properties must add up to one of the combinations found in the Microsoft provided documentation, for more information see [vCPU and memory allocation requirements](https://learn.microsoft.com/azure/container-apps/containers#allocations)\n"},"envs":{"type":"array","items":{"$ref":"#/types/azure:containerapp/AppTemplateInitContainerEnv:AppTemplateInitContainerEnv"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`env`\" pulumi-lang-dotnet=\"`Env`\" pulumi-lang-go=\"`env`\" pulumi-lang-python=\"`env`\" pulumi-lang-yaml=\"`env`\" pulumi-lang-java=\"`env`\"\u003e`env`\u003c/span\u003e blocks as detailed below.\n"},"ephemeralStorage":{"type":"string","description":"The amount of ephemeral storage available to the Container App.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`ephemeralStorage`\" pulumi-lang-dotnet=\"`EphemeralStorage`\" pulumi-lang-go=\"`ephemeralStorage`\" pulumi-lang-python=\"`ephemeral_storage`\" pulumi-lang-yaml=\"`ephemeralStorage`\" pulumi-lang-java=\"`ephemeralStorage`\"\u003e`ephemeral_storage`\u003c/span\u003e is currently in preview and not configurable at this time.\n"},"image":{"type":"string","description":"The image to use to create the container.\n"},"memory":{"type":"string","description":"The amount of memory to allocate to the container.\n\n\u003e **Note:** When using a Consumption plan, the \u003cspan pulumi-lang-nodejs=\"`cpu`\" pulumi-lang-dotnet=\"`Cpu`\" pulumi-lang-go=\"`cpu`\" pulumi-lang-python=\"`cpu`\" pulumi-lang-yaml=\"`cpu`\" pulumi-lang-java=\"`cpu`\"\u003e`cpu`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`memory`\" pulumi-lang-dotnet=\"`Memory`\" pulumi-lang-go=\"`memory`\" pulumi-lang-python=\"`memory`\" pulumi-lang-yaml=\"`memory`\" pulumi-lang-java=\"`memory`\"\u003e`memory`\u003c/span\u003e properties must add up to one of the combinations found in the Microsoft provided documentation, for more information see [vCPU and memory allocation requirements](https://learn.microsoft.com/azure/container-apps/containers#allocations)\n"},"name":{"type":"string","description":"The name of the container\n"},"volumeMounts":{"type":"array","items":{"$ref":"#/types/azure:containerapp/AppTemplateInitContainerVolumeMount:AppTemplateInitContainerVolumeMount"},"description":"A \u003cspan pulumi-lang-nodejs=\"`volumeMounts`\" pulumi-lang-dotnet=\"`VolumeMounts`\" pulumi-lang-go=\"`volumeMounts`\" pulumi-lang-python=\"`volume_mounts`\" pulumi-lang-yaml=\"`volumeMounts`\" pulumi-lang-java=\"`volumeMounts`\"\u003e`volume_mounts`\u003c/span\u003e block as detailed below.\n"}},"type":"object","required":["image","name"],"language":{"nodejs":{"requiredOutputs":["ephemeralStorage","image","name"]}}},"azure:containerapp/AppTemplateInitContainerEnv:AppTemplateInitContainerEnv":{"properties":{"name":{"type":"string","description":"The name of the environment variable for the container.\n"},"secretName":{"type":"string","description":"The name of the secret that contains the value for this environment variable.\n"},"value":{"type":"string","description":"The value for this environment variable.\n\n\u003e **Note:** This value is ignored if \u003cspan pulumi-lang-nodejs=\"`secretName`\" pulumi-lang-dotnet=\"`SecretName`\" pulumi-lang-go=\"`secretName`\" pulumi-lang-python=\"`secret_name`\" pulumi-lang-yaml=\"`secretName`\" pulumi-lang-java=\"`secretName`\"\u003e`secret_name`\u003c/span\u003e is used\n"}},"type":"object","required":["name"]},"azure:containerapp/AppTemplateInitContainerVolumeMount:AppTemplateInitContainerVolumeMount":{"properties":{"name":{"type":"string","description":"The name of the Volume to be mounted in the container.\n"},"path":{"type":"string","description":"The path in the container at which to mount this volume.\n"},"subPath":{"type":"string","description":"The sub path of the volume to be mounted in the container.\n"}},"type":"object","required":["name","path"]},"azure:containerapp/AppTemplateTcpScaleRule:AppTemplateTcpScaleRule":{"properties":{"authentications":{"type":"array","items":{"$ref":"#/types/azure:containerapp/AppTemplateTcpScaleRuleAuthentication:AppTemplateTcpScaleRuleAuthentication"},"description":"Zero or more \u003cspan pulumi-lang-nodejs=\"`authentication`\" pulumi-lang-dotnet=\"`Authentication`\" pulumi-lang-go=\"`authentication`\" pulumi-lang-python=\"`authentication`\" pulumi-lang-yaml=\"`authentication`\" pulumi-lang-java=\"`authentication`\"\u003e`authentication`\u003c/span\u003e blocks as defined below.\n"},"concurrentRequests":{"type":"string","description":"The number of concurrent requests to trigger scaling.\n"},"name":{"type":"string","description":"The name of the Scaling Rule\n"}},"type":"object","required":["concurrentRequests","name"]},"azure:containerapp/AppTemplateTcpScaleRuleAuthentication:AppTemplateTcpScaleRuleAuthentication":{"properties":{"secretName":{"type":"string","description":"The name of the Container App Secret to use for this Scale Rule Authentication.\n"},"triggerParameter":{"type":"string","description":"The Trigger Parameter name to use the supply the value retrieved from the \u003cspan pulumi-lang-nodejs=\"`secretName`\" pulumi-lang-dotnet=\"`SecretName`\" pulumi-lang-go=\"`secretName`\" pulumi-lang-python=\"`secret_name`\" pulumi-lang-yaml=\"`secretName`\" pulumi-lang-java=\"`secretName`\"\u003e`secret_name`\u003c/span\u003e.\n"}},"type":"object","required":["secretName"]},"azure:containerapp/AppTemplateVolume:AppTemplateVolume":{"properties":{"mountOptions":{"type":"string","description":"Mount options used while mounting the AzureFile. Must be a comma-separated string e.g. `dir_mode=0751,file_mode=0751`.\n"},"name":{"type":"string","description":"The name of the volume.\n"},"storageName":{"type":"string","description":"The name of the `AzureFile` storage.\n"},"storageType":{"type":"string","description":"The type of storage volume. Possible values are `AzureFile`, `EmptyDir`, `NfsAzureFile` and `Secret`. Defaults to `EmptyDir`.\n"}},"type":"object","required":["name"]},"azure:containerapp/EnvironmentCertificateCertificateKeyVault:EnvironmentCertificateCertificateKeyVault":{"properties":{"identity":{"type":"string","description":"The managed identity to authenticate with Azure Key Vault. Possible values are the resource ID of user-assigned identity, and `System` for system-assigned identity. Defaults to `System`. Changing this forces a new resource to be created.\n\n\u003e **Note:** Please make sure [required permissions](https://learn.microsoft.com/en-us/azure/container-apps/key-vault-certificates-manage) are correctly configured for your Key Vault and managed identity.\n","willReplaceOnChanges":true},"keyVaultSecretId":{"type":"string","description":"The ID of the Key Vault Secret containing the certificate. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["keyVaultSecretId"]},"azure:containerapp/EnvironmentDaprComponentMetadata:EnvironmentDaprComponentMetadata":{"properties":{"name":{"type":"string","description":"The name of the Metadata configuration item.\n"},"secretName":{"type":"string","description":"The name of a secret specified in the \u003cspan pulumi-lang-nodejs=\"`secrets`\" pulumi-lang-dotnet=\"`Secrets`\" pulumi-lang-go=\"`secrets`\" pulumi-lang-python=\"`secrets`\" pulumi-lang-yaml=\"`secrets`\" pulumi-lang-java=\"`secrets`\"\u003e`secrets`\u003c/span\u003e block that contains the value for this metadata configuration item.\n"},"value":{"type":"string","description":"The value for this metadata configuration item.\n"}},"type":"object","required":["name"]},"azure:containerapp/EnvironmentDaprComponentSecret:EnvironmentDaprComponentSecret":{"properties":{"identity":{"type":"string","description":"The identity to use for accessing key vault reference. Possible values are the Resource ID of a User Assigned Managed Identity, or `System` to use the System Assigned Managed Identity.\n"},"keyVaultSecretId":{"type":"string","description":"The Key Vault Secret ID.\n"},"name":{"type":"string","description":"The Secret name.\n"},"value":{"type":"string","description":"The value for this secret.\n","secret":true}},"type":"object","required":["name"]},"azure:containerapp/EnvironmentIdentity:EnvironmentIdentity":{"properties":{"identityIds":{"type":"array","items":{"type":"string"},"description":"A list of one or more Resource IDs for User Assigned Managed identities to assign. Required when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to `UserAssigned` or `SystemAssigned, UserAssigned`.\n"},"principalId":{"type":"string"},"tenantId":{"type":"string"},"type":{"type":"string","description":"The type of managed identity to assign. Possible values are `SystemAssigned`, `UserAssigned`, and `SystemAssigned, UserAssigned` (to enable both).\n"}},"type":"object","required":["type"],"language":{"nodejs":{"requiredOutputs":["principalId","tenantId","type"]}}},"azure:containerapp/EnvironmentWorkloadProfile:EnvironmentWorkloadProfile":{"properties":{"maximumCount":{"type":"integer","description":"The maximum number of instances of workload profile that can be deployed in the Container App Environment.\n"},"minimumCount":{"type":"integer","description":"The minimum number of instances of workload profile that can be deployed in the Container App Environment.\n"},"name":{"type":"string","description":"The name of the workload profile.\n"},"workloadProfileType":{"type":"string","description":"Workload profile type for the workloads to run on. Possible values include `Consumption`, `Consumption-GPU-NC24-A100`, `Consumption-GPU-NC8as-T4`, `D4`, `D8`, `D16`, `D32`, `E4`, `E8`, `E16`, `E32`, `NC24-A100`, `NC48-A100` and `NC96-A100`.\n\n\u003e **Note:** A `Consumption` type must have a name of `Consumption` and an environment may only have one `Consumption` Workload Profile.\n\n\u003e **Note:** Defining a `Consumption` profile is optional, however, Environments created without an initial Workload Profile cannot have them added at a later time and must be recreated. Similarly, an environment created with Profiles must always have at least one defined Profile, removing all profiles will force a recreation of the resource.\n"}},"type":"object","required":["name","workloadProfileType"]},"azure:containerapp/JobEventTriggerConfig:JobEventTriggerConfig":{"properties":{"parallelism":{"type":"integer","description":"Number of parallel replicas of a job that can run at a given time.\n"},"replicaCompletionCount":{"type":"integer","description":"Minimum number of successful replica completions before overall job completion.\n"},"scales":{"type":"array","items":{"$ref":"#/types/azure:containerapp/JobEventTriggerConfigScale:JobEventTriggerConfigScale"},"description":"A \u003cspan pulumi-lang-nodejs=\"`scale`\" pulumi-lang-dotnet=\"`Scale`\" pulumi-lang-go=\"`scale`\" pulumi-lang-python=\"`scale`\" pulumi-lang-yaml=\"`scale`\" pulumi-lang-java=\"`scale`\"\u003e`scale`\u003c/span\u003e block as defined below.\n"}},"type":"object"},"azure:containerapp/JobEventTriggerConfigScale:JobEventTriggerConfigScale":{"properties":{"maxExecutions":{"type":"integer","description":"Maximum number of job executions that are created for a trigger.\n"},"minExecutions":{"type":"integer","description":"Minimum number of job executions that are created for a trigger.\n"},"pollingIntervalInSeconds":{"type":"integer","description":"Interval to check each event source in seconds.\n"},"rules":{"type":"array","items":{"$ref":"#/types/azure:containerapp/JobEventTriggerConfigScaleRule:JobEventTriggerConfigScaleRule"},"description":"A \u003cspan pulumi-lang-nodejs=\"`rules`\" pulumi-lang-dotnet=\"`Rules`\" pulumi-lang-go=\"`rules`\" pulumi-lang-python=\"`rules`\" pulumi-lang-yaml=\"`rules`\" pulumi-lang-java=\"`rules`\"\u003e`rules`\u003c/span\u003e block as defined below.\n"}},"type":"object"},"azure:containerapp/JobEventTriggerConfigScaleRule:JobEventTriggerConfigScaleRule":{"properties":{"authentications":{"type":"array","items":{"$ref":"#/types/azure:containerapp/JobEventTriggerConfigScaleRuleAuthentication:JobEventTriggerConfigScaleRuleAuthentication"},"description":"A \u003cspan pulumi-lang-nodejs=\"`authentication`\" pulumi-lang-dotnet=\"`Authentication`\" pulumi-lang-go=\"`authentication`\" pulumi-lang-python=\"`authentication`\" pulumi-lang-yaml=\"`authentication`\" pulumi-lang-java=\"`authentication`\"\u003e`authentication`\u003c/span\u003e block as defined below.\n"},"customRuleType":{"type":"string","description":"Type of the scale rule. Possible values are \u003cspan pulumi-lang-nodejs=\"`activemq`\" pulumi-lang-dotnet=\"`Activemq`\" pulumi-lang-go=\"`activemq`\" pulumi-lang-python=\"`activemq`\" pulumi-lang-yaml=\"`activemq`\" pulumi-lang-java=\"`activemq`\"\u003e`activemq`\u003c/span\u003e, `artemis-queue`, \u003cspan pulumi-lang-nodejs=\"`kafka`\" pulumi-lang-dotnet=\"`Kafka`\" pulumi-lang-go=\"`kafka`\" pulumi-lang-python=\"`kafka`\" pulumi-lang-yaml=\"`kafka`\" pulumi-lang-java=\"`kafka`\"\u003e`kafka`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`pulsar`\" pulumi-lang-dotnet=\"`Pulsar`\" pulumi-lang-go=\"`pulsar`\" pulumi-lang-python=\"`pulsar`\" pulumi-lang-yaml=\"`pulsar`\" pulumi-lang-java=\"`pulsar`\"\u003e`pulsar`\u003c/span\u003e, `aws-cloudwatch`, `aws-dynamodb`, `aws-dynamodb-streams`, `aws-kinesis-stream`, `aws-sqs-queue`, `azure-app-insights`, `azure-blob`, `azure-data-explorer`, `azure-eventhub`, `azure-log-analytics`, `azure-monitor`, `azure-pipelines`, `azure-servicebus`, `azure-queue`, \u003cspan pulumi-lang-nodejs=\"`cassandra`\" pulumi-lang-dotnet=\"`Cassandra`\" pulumi-lang-go=\"`cassandra`\" pulumi-lang-python=\"`cassandra`\" pulumi-lang-yaml=\"`cassandra`\" pulumi-lang-java=\"`cassandra`\"\u003e`cassandra`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`cpu`\" pulumi-lang-dotnet=\"`Cpu`\" pulumi-lang-go=\"`cpu`\" pulumi-lang-python=\"`cpu`\" pulumi-lang-yaml=\"`cpu`\" pulumi-lang-java=\"`cpu`\"\u003e`cpu`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`cron`\" pulumi-lang-dotnet=\"`Cron`\" pulumi-lang-go=\"`cron`\" pulumi-lang-python=\"`cron`\" pulumi-lang-yaml=\"`cron`\" pulumi-lang-java=\"`cron`\"\u003e`cron`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`datadog`\" pulumi-lang-dotnet=\"`Datadog`\" pulumi-lang-go=\"`datadog`\" pulumi-lang-python=\"`datadog`\" pulumi-lang-yaml=\"`datadog`\" pulumi-lang-java=\"`datadog`\"\u003e`datadog`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`elasticsearch`\" pulumi-lang-dotnet=\"`Elasticsearch`\" pulumi-lang-go=\"`elasticsearch`\" pulumi-lang-python=\"`elasticsearch`\" pulumi-lang-yaml=\"`elasticsearch`\" pulumi-lang-java=\"`elasticsearch`\"\u003e`elasticsearch`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`external`\" pulumi-lang-dotnet=\"`External`\" pulumi-lang-go=\"`external`\" pulumi-lang-python=\"`external`\" pulumi-lang-yaml=\"`external`\" pulumi-lang-java=\"`external`\"\u003e`external`\u003c/span\u003e, `external-push`, `gcp-stackdriver`, `gcp-storage`, `gcp-pubsub`, \u003cspan pulumi-lang-nodejs=\"`graphite`\" pulumi-lang-dotnet=\"`Graphite`\" pulumi-lang-go=\"`graphite`\" pulumi-lang-python=\"`graphite`\" pulumi-lang-yaml=\"`graphite`\" pulumi-lang-java=\"`graphite`\"\u003e`graphite`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`http`\" pulumi-lang-dotnet=\"`Http`\" pulumi-lang-go=\"`http`\" pulumi-lang-python=\"`http`\" pulumi-lang-yaml=\"`http`\" pulumi-lang-java=\"`http`\"\u003e`http`\u003c/span\u003e, `huawei-cloudeye`, \u003cspan pulumi-lang-nodejs=\"`ibmmq`\" pulumi-lang-dotnet=\"`Ibmmq`\" pulumi-lang-go=\"`ibmmq`\" pulumi-lang-python=\"`ibmmq`\" pulumi-lang-yaml=\"`ibmmq`\" pulumi-lang-java=\"`ibmmq`\"\u003e`ibmmq`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`influxdb`\" pulumi-lang-dotnet=\"`Influxdb`\" pulumi-lang-go=\"`influxdb`\" pulumi-lang-python=\"`influxdb`\" pulumi-lang-yaml=\"`influxdb`\" pulumi-lang-java=\"`influxdb`\"\u003e`influxdb`\u003c/span\u003e, `kubernetes-workload`, \u003cspan pulumi-lang-nodejs=\"`liiklus`\" pulumi-lang-dotnet=\"`Liiklus`\" pulumi-lang-go=\"`liiklus`\" pulumi-lang-python=\"`liiklus`\" pulumi-lang-yaml=\"`liiklus`\" pulumi-lang-java=\"`liiklus`\"\u003e`liiklus`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`memory`\" pulumi-lang-dotnet=\"`Memory`\" pulumi-lang-go=\"`memory`\" pulumi-lang-python=\"`memory`\" pulumi-lang-yaml=\"`memory`\" pulumi-lang-java=\"`memory`\"\u003e`memory`\u003c/span\u003e, `metrics-api`, \u003cspan pulumi-lang-nodejs=\"`mongodb`\" pulumi-lang-dotnet=\"`Mongodb`\" pulumi-lang-go=\"`mongodb`\" pulumi-lang-python=\"`mongodb`\" pulumi-lang-yaml=\"`mongodb`\" pulumi-lang-java=\"`mongodb`\"\u003e`mongodb`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`mssql`\" pulumi-lang-dotnet=\"`Mssql`\" pulumi-lang-go=\"`mssql`\" pulumi-lang-python=\"`mssql`\" pulumi-lang-yaml=\"`mssql`\" pulumi-lang-java=\"`mssql`\"\u003e`mssql`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`mysql`\" pulumi-lang-dotnet=\"`Mysql`\" pulumi-lang-go=\"`mysql`\" pulumi-lang-python=\"`mysql`\" pulumi-lang-yaml=\"`mysql`\" pulumi-lang-java=\"`mysql`\"\u003e`mysql`\u003c/span\u003e, `nats-jetstream`, \u003cspan pulumi-lang-nodejs=\"`stan`\" pulumi-lang-dotnet=\"`Stan`\" pulumi-lang-go=\"`stan`\" pulumi-lang-python=\"`stan`\" pulumi-lang-yaml=\"`stan`\" pulumi-lang-java=\"`stan`\"\u003e`stan`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`tcp`\" pulumi-lang-dotnet=\"`Tcp`\" pulumi-lang-go=\"`tcp`\" pulumi-lang-python=\"`tcp`\" pulumi-lang-yaml=\"`tcp`\" pulumi-lang-java=\"`tcp`\"\u003e`tcp`\u003c/span\u003e, `new-relic`, `openstack-metric`, `openstack-swift`, \u003cspan pulumi-lang-nodejs=\"`postgresql`\" pulumi-lang-dotnet=\"`Postgresql`\" pulumi-lang-go=\"`postgresql`\" pulumi-lang-python=\"`postgresql`\" pulumi-lang-yaml=\"`postgresql`\" pulumi-lang-java=\"`postgresql`\"\u003e`postgresql`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`predictkube`\" pulumi-lang-dotnet=\"`Predictkube`\" pulumi-lang-go=\"`predictkube`\" pulumi-lang-python=\"`predictkube`\" pulumi-lang-yaml=\"`predictkube`\" pulumi-lang-java=\"`predictkube`\"\u003e`predictkube`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`prometheus`\" pulumi-lang-dotnet=\"`Prometheus`\" pulumi-lang-go=\"`prometheus`\" pulumi-lang-python=\"`prometheus`\" pulumi-lang-yaml=\"`prometheus`\" pulumi-lang-java=\"`prometheus`\"\u003e`prometheus`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`rabbitmq`\" pulumi-lang-dotnet=\"`Rabbitmq`\" pulumi-lang-go=\"`rabbitmq`\" pulumi-lang-python=\"`rabbitmq`\" pulumi-lang-yaml=\"`rabbitmq`\" pulumi-lang-java=\"`rabbitmq`\"\u003e`rabbitmq`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`redis`\" pulumi-lang-dotnet=\"`Redis`\" pulumi-lang-go=\"`redis`\" pulumi-lang-python=\"`redis`\" pulumi-lang-yaml=\"`redis`\" pulumi-lang-java=\"`redis`\"\u003e`redis`\u003c/span\u003e, `redis-cluster`, `redis-sentinel`, `redis-streams`, `redis-cluster-streams`, `redis-sentinel-streams`, `selenium-grid`, `solace-event-queue` and `github-runner`.\n"},"metadata":{"type":"object","additionalProperties":{"type":"string"},"description":"Metadata properties to describe the scale rule.\n"},"name":{"type":"string","description":"Name of the scale rule.\n"}},"type":"object","required":["customRuleType","metadata","name"]},"azure:containerapp/JobEventTriggerConfigScaleRuleAuthentication:JobEventTriggerConfigScaleRuleAuthentication":{"properties":{"secretName":{"type":"string","description":"Name of the secret from which to pull the auth params.\n"},"triggerParameter":{"type":"string","description":"Trigger Parameter that uses the secret.\n"}},"type":"object","required":["secretName","triggerParameter"]},"azure:containerapp/JobIdentity:JobIdentity":{"properties":{"identityIds":{"type":"array","items":{"type":"string"},"description":"A list of Managed Identity IDs to assign to the Container App Job.\n"},"principalId":{"type":"string","description":"The Principal ID associated with this Managed Service Identity.\n"},"tenantId":{"type":"string","description":"The Tenant ID associated with this Managed Service Identity.\n"},"type":{"type":"string","description":"The type of identity used for the Container App Job. Possible values are `SystemAssigned`, `UserAssigned` and `None`.\n"}},"type":"object","required":["type"],"language":{"nodejs":{"requiredOutputs":["principalId","tenantId","type"]}}},"azure:containerapp/JobManualTriggerConfig:JobManualTriggerConfig":{"properties":{"parallelism":{"type":"integer","description":"Number of parallel replicas of a job that can run at a given time.\n"},"replicaCompletionCount":{"type":"integer","description":"Minimum number of successful replica completions before overall job completion.\n"}},"type":"object"},"azure:containerapp/JobRegistry:JobRegistry":{"properties":{"identity":{"type":"string","description":"A Managed Identity to use to authenticate with Azure Container Registry.\n"},"passwordSecretName":{"type":"string","description":"The name of the Secret that contains the registry login password.\n"},"server":{"type":"string","description":"The URL of the Azure Container Registry server.\n"},"username":{"type":"string","description":"The username to use to authenticate with Azure Container Registry.\n"}},"type":"object","required":["server"]},"azure:containerapp/JobScheduleTriggerConfig:JobScheduleTriggerConfig":{"properties":{"cronExpression":{"type":"string","description":"Cron formatted repeating schedule of a Cron Job.\n"},"parallelism":{"type":"integer","description":"Number of parallel replicas of a job that can run at a given time.\n"},"replicaCompletionCount":{"type":"integer","description":"Minimum number of successful replica completions before overall job completion.\n"}},"type":"object","required":["cronExpression"]},"azure:containerapp/JobSecret:JobSecret":{"properties":{"identity":{"type":"string","description":"The identity to use for accessing the Key Vault secret reference. This can either be the Resource ID of a User Assigned Identity, or `System` for the System Assigned Identity.\n\n!\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e must be used together with \u003cspan pulumi-lang-nodejs=\"`keyVaultSecretId`\" pulumi-lang-dotnet=\"`KeyVaultSecretId`\" pulumi-lang-go=\"`keyVaultSecretId`\" pulumi-lang-python=\"`key_vault_secret_id`\" pulumi-lang-yaml=\"`keyVaultSecretId`\" pulumi-lang-java=\"`keyVaultSecretId`\"\u003e`key_vault_secret_id`\u003c/span\u003e\n"},"keyVaultSecretId":{"type":"string","description":"The ID of a Key Vault secret. This can be a versioned or version-less ID.\n\n!\u003e **Note:** When using \u003cspan pulumi-lang-nodejs=\"`keyVaultSecretId`\" pulumi-lang-dotnet=\"`KeyVaultSecretId`\" pulumi-lang-go=\"`keyVaultSecretId`\" pulumi-lang-python=\"`key_vault_secret_id`\" pulumi-lang-yaml=\"`keyVaultSecretId`\" pulumi-lang-java=\"`keyVaultSecretId`\"\u003e`key_vault_secret_id`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`ignoreChanges`\" pulumi-lang-dotnet=\"`IgnoreChanges`\" pulumi-lang-go=\"`ignoreChanges`\" pulumi-lang-python=\"`ignore_changes`\" pulumi-lang-yaml=\"`ignoreChanges`\" pulumi-lang-java=\"`ignoreChanges`\"\u003e`ignore_changes`\u003c/span\u003e should be used to ignore any changes to \u003cspan pulumi-lang-nodejs=\"`value`\" pulumi-lang-dotnet=\"`Value`\" pulumi-lang-go=\"`value`\" pulumi-lang-python=\"`value`\" pulumi-lang-yaml=\"`value`\" pulumi-lang-java=\"`value`\"\u003e`value`\u003c/span\u003e.\n"},"name":{"type":"string","description":"The secret name.\n"},"value":{"type":"string","description":"The value for this secret.\n\n!\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`value`\" pulumi-lang-dotnet=\"`Value`\" pulumi-lang-go=\"`value`\" pulumi-lang-python=\"`value`\" pulumi-lang-yaml=\"`value`\" pulumi-lang-java=\"`value`\"\u003e`value`\u003c/span\u003e will be ignored if \u003cspan pulumi-lang-nodejs=\"`keyVaultSecretId`\" pulumi-lang-dotnet=\"`KeyVaultSecretId`\" pulumi-lang-go=\"`keyVaultSecretId`\" pulumi-lang-python=\"`key_vault_secret_id`\" pulumi-lang-yaml=\"`keyVaultSecretId`\" pulumi-lang-java=\"`keyVaultSecretId`\"\u003e`key_vault_secret_id`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e are provided.\n","secret":true}},"type":"object","required":["name"]},"azure:containerapp/JobTemplate:JobTemplate":{"properties":{"containers":{"type":"array","items":{"$ref":"#/types/azure:containerapp/JobTemplateContainer:JobTemplateContainer"},"description":"A \u003cspan pulumi-lang-nodejs=\"`container`\" pulumi-lang-dotnet=\"`Container`\" pulumi-lang-go=\"`container`\" pulumi-lang-python=\"`container`\" pulumi-lang-yaml=\"`container`\" pulumi-lang-java=\"`container`\"\u003e`container`\u003c/span\u003e block as defined below.\n"},"initContainers":{"type":"array","items":{"$ref":"#/types/azure:containerapp/JobTemplateInitContainer:JobTemplateInitContainer"},"description":"A \u003cspan pulumi-lang-nodejs=\"`initContainer`\" pulumi-lang-dotnet=\"`InitContainer`\" pulumi-lang-go=\"`initContainer`\" pulumi-lang-python=\"`init_container`\" pulumi-lang-yaml=\"`initContainer`\" pulumi-lang-java=\"`initContainer`\"\u003e`init_container`\u003c/span\u003e block as defined below.\n"},"volumes":{"type":"array","items":{"$ref":"#/types/azure:containerapp/JobTemplateVolume:JobTemplateVolume"},"description":"A \u003cspan pulumi-lang-nodejs=\"`volume`\" pulumi-lang-dotnet=\"`Volume`\" pulumi-lang-go=\"`volume`\" pulumi-lang-python=\"`volume`\" pulumi-lang-yaml=\"`volume`\" pulumi-lang-java=\"`volume`\"\u003e`volume`\u003c/span\u003e block as defined below.\n"}},"type":"object","required":["containers"]},"azure:containerapp/JobTemplateContainer:JobTemplateContainer":{"properties":{"args":{"type":"array","items":{"type":"string"},"description":"A list of extra arguments to pass to the container.\n"},"commands":{"type":"array","items":{"type":"string"},"description":"A command to pass to the container to override the default. This is provided as a list of command line elements without spaces.\n"},"cpu":{"type":"number","description":"The amount of vCPU to allocate to the container.\n\n\u003e **Note:** When using a Consumption plan, the \u003cspan pulumi-lang-nodejs=\"`cpu`\" pulumi-lang-dotnet=\"`Cpu`\" pulumi-lang-go=\"`cpu`\" pulumi-lang-python=\"`cpu`\" pulumi-lang-yaml=\"`cpu`\" pulumi-lang-java=\"`cpu`\"\u003e`cpu`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`memory`\" pulumi-lang-dotnet=\"`Memory`\" pulumi-lang-go=\"`memory`\" pulumi-lang-python=\"`memory`\" pulumi-lang-yaml=\"`memory`\" pulumi-lang-java=\"`memory`\"\u003e`memory`\u003c/span\u003e properties must add up to one of the combinations found in the Microsoft provided documentation, for more information see [vCPU and memory allocation requirements](https://learn.microsoft.com/azure/container-apps/containers#allocations)\n"},"envs":{"type":"array","items":{"$ref":"#/types/azure:containerapp/JobTemplateContainerEnv:JobTemplateContainerEnv"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`env`\" pulumi-lang-dotnet=\"`Env`\" pulumi-lang-go=\"`env`\" pulumi-lang-python=\"`env`\" pulumi-lang-yaml=\"`env`\" pulumi-lang-java=\"`env`\"\u003e`env`\u003c/span\u003e blocks as detailed below.\n"},"ephemeralStorage":{"type":"string","description":"The amount of ephemeral storage available to the Container App.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`ephemeralStorage`\" pulumi-lang-dotnet=\"`EphemeralStorage`\" pulumi-lang-go=\"`ephemeralStorage`\" pulumi-lang-python=\"`ephemeral_storage`\" pulumi-lang-yaml=\"`ephemeralStorage`\" pulumi-lang-java=\"`ephemeralStorage`\"\u003e`ephemeral_storage`\u003c/span\u003e is currently in preview and not configurable at this time.\n"},"image":{"type":"string","description":"The image to use to create the container.\n"},"livenessProbes":{"type":"array","items":{"$ref":"#/types/azure:containerapp/JobTemplateContainerLivenessProbe:JobTemplateContainerLivenessProbe"},"description":"A \u003cspan pulumi-lang-nodejs=\"`livenessProbe`\" pulumi-lang-dotnet=\"`LivenessProbe`\" pulumi-lang-go=\"`livenessProbe`\" pulumi-lang-python=\"`liveness_probe`\" pulumi-lang-yaml=\"`livenessProbe`\" pulumi-lang-java=\"`livenessProbe`\"\u003e`liveness_probe`\u003c/span\u003e block as detailed below.\n"},"memory":{"type":"string","description":"The amount of memory to allocate to the container.\n\n\u003e **Note:** When using a Consumption plan, the \u003cspan pulumi-lang-nodejs=\"`cpu`\" pulumi-lang-dotnet=\"`Cpu`\" pulumi-lang-go=\"`cpu`\" pulumi-lang-python=\"`cpu`\" pulumi-lang-yaml=\"`cpu`\" pulumi-lang-java=\"`cpu`\"\u003e`cpu`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`memory`\" pulumi-lang-dotnet=\"`Memory`\" pulumi-lang-go=\"`memory`\" pulumi-lang-python=\"`memory`\" pulumi-lang-yaml=\"`memory`\" pulumi-lang-java=\"`memory`\"\u003e`memory`\u003c/span\u003e properties must add up to one of the combinations found in the Microsoft provided documentation, for more information see [vCPU and memory allocation requirements](https://learn.microsoft.com/azure/container-apps/containers#allocations)\n"},"name":{"type":"string","description":"The name of the container.\n"},"readinessProbes":{"type":"array","items":{"$ref":"#/types/azure:containerapp/JobTemplateContainerReadinessProbe:JobTemplateContainerReadinessProbe"},"description":"A \u003cspan pulumi-lang-nodejs=\"`readinessProbe`\" pulumi-lang-dotnet=\"`ReadinessProbe`\" pulumi-lang-go=\"`readinessProbe`\" pulumi-lang-python=\"`readiness_probe`\" pulumi-lang-yaml=\"`readinessProbe`\" pulumi-lang-java=\"`readinessProbe`\"\u003e`readiness_probe`\u003c/span\u003e block as detailed below.\n"},"startupProbes":{"type":"array","items":{"$ref":"#/types/azure:containerapp/JobTemplateContainerStartupProbe:JobTemplateContainerStartupProbe"},"description":"A \u003cspan pulumi-lang-nodejs=\"`startupProbe`\" pulumi-lang-dotnet=\"`StartupProbe`\" pulumi-lang-go=\"`startupProbe`\" pulumi-lang-python=\"`startup_probe`\" pulumi-lang-yaml=\"`startupProbe`\" pulumi-lang-java=\"`startupProbe`\"\u003e`startup_probe`\u003c/span\u003e block as detailed below.\n"},"volumeMounts":{"type":"array","items":{"$ref":"#/types/azure:containerapp/JobTemplateContainerVolumeMount:JobTemplateContainerVolumeMount"},"description":"A \u003cspan pulumi-lang-nodejs=\"`volumeMounts`\" pulumi-lang-dotnet=\"`VolumeMounts`\" pulumi-lang-go=\"`volumeMounts`\" pulumi-lang-python=\"`volume_mounts`\" pulumi-lang-yaml=\"`volumeMounts`\" pulumi-lang-java=\"`volumeMounts`\"\u003e`volume_mounts`\u003c/span\u003e block as detailed below.\n"}},"type":"object","required":["cpu","image","memory","name"],"language":{"nodejs":{"requiredOutputs":["cpu","ephemeralStorage","image","memory","name"]}}},"azure:containerapp/JobTemplateContainerEnv:JobTemplateContainerEnv":{"properties":{"name":{"type":"string","description":"The name of the environment variable.\n"},"secretName":{"type":"string","description":"Name of the Container App secret from which to pull the environment variable value.\n"},"value":{"type":"string","description":"The value of the environment variable.\n"}},"type":"object","required":["name"]},"azure:containerapp/JobTemplateContainerLivenessProbe:JobTemplateContainerLivenessProbe":{"properties":{"failureCountThreshold":{"type":"integer","description":"The number of consecutive failures required to consider this probe as failed. Possible values are between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`10`\" pulumi-lang-dotnet=\"`10`\" pulumi-lang-go=\"`10`\" pulumi-lang-python=\"`10`\" pulumi-lang-yaml=\"`10`\" pulumi-lang-java=\"`10`\"\u003e`10`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e.\n"},"headers":{"type":"array","items":{"$ref":"#/types/azure:containerapp/JobTemplateContainerLivenessProbeHeader:JobTemplateContainerLivenessProbeHeader"},"description":"A \u003cspan pulumi-lang-nodejs=\"`header`\" pulumi-lang-dotnet=\"`Header`\" pulumi-lang-go=\"`header`\" pulumi-lang-python=\"`header`\" pulumi-lang-yaml=\"`header`\" pulumi-lang-java=\"`header`\"\u003e`header`\u003c/span\u003e block as detailed below.\n"},"host":{"type":"string","description":"The probe hostname. Defaults to the pod IP address. Setting a value for `Host` in \u003cspan pulumi-lang-nodejs=\"`headers`\" pulumi-lang-dotnet=\"`Headers`\" pulumi-lang-go=\"`headers`\" pulumi-lang-python=\"`headers`\" pulumi-lang-yaml=\"`headers`\" pulumi-lang-java=\"`headers`\"\u003e`headers`\u003c/span\u003e can be used to override this for `HTTP` and `HTTPS` type probes.\n"},"initialDelay":{"type":"integer","description":"The time in seconds to wait after the container has started before the probe is started.\n"},"intervalSeconds":{"type":"integer","description":"How often, in seconds, the probe should run. Possible values are in the range \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e - \u003cspan pulumi-lang-nodejs=\"`240`\" pulumi-lang-dotnet=\"`240`\" pulumi-lang-go=\"`240`\" pulumi-lang-python=\"`240`\" pulumi-lang-yaml=\"`240`\" pulumi-lang-java=\"`240`\"\u003e`240`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`10`\" pulumi-lang-dotnet=\"`10`\" pulumi-lang-go=\"`10`\" pulumi-lang-python=\"`10`\" pulumi-lang-yaml=\"`10`\" pulumi-lang-java=\"`10`\"\u003e`10`\u003c/span\u003e.\n"},"path":{"type":"string","description":"The URI to use with the \u003cspan pulumi-lang-nodejs=\"`host`\" pulumi-lang-dotnet=\"`Host`\" pulumi-lang-go=\"`host`\" pulumi-lang-python=\"`host`\" pulumi-lang-yaml=\"`host`\" pulumi-lang-java=\"`host`\"\u003e`host`\u003c/span\u003e for http type probes. Not valid for `TCP` type probes. Defaults to `/`.\n"},"port":{"type":"integer","description":"The port number on which to connect. Possible values are between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`65535`\" pulumi-lang-dotnet=\"`65535`\" pulumi-lang-go=\"`65535`\" pulumi-lang-python=\"`65535`\" pulumi-lang-yaml=\"`65535`\" pulumi-lang-java=\"`65535`\"\u003e`65535`\u003c/span\u003e.\n"},"terminationGracePeriodSeconds":{"type":"integer","description":"The time in seconds after the container is sent the termination signal before the process if forcibly killed.\n"},"timeout":{"type":"integer","description":"Time in seconds after which the probe times out. Possible values are in the range \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e - \u003cspan pulumi-lang-nodejs=\"`240`\" pulumi-lang-dotnet=\"`240`\" pulumi-lang-go=\"`240`\" pulumi-lang-python=\"`240`\" pulumi-lang-yaml=\"`240`\" pulumi-lang-java=\"`240`\"\u003e`240`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e.\n"},"transport":{"type":"string","description":"Type of probe. Possible values are `TCP`, `HTTP`, and `HTTPS`.\n"}},"type":"object","required":["port","transport"],"language":{"nodejs":{"requiredOutputs":["path","port","terminationGracePeriodSeconds","transport"]}}},"azure:containerapp/JobTemplateContainerLivenessProbeHeader:JobTemplateContainerLivenessProbeHeader":{"properties":{"name":{"type":"string","description":"The HTTP Header Name.\n"},"value":{"type":"string","description":"The HTTP Header value.\n"}},"type":"object","required":["name","value"]},"azure:containerapp/JobTemplateContainerReadinessProbe:JobTemplateContainerReadinessProbe":{"properties":{"failureCountThreshold":{"type":"integer","description":"The number of consecutive failures required to consider this probe as failed. Possible values are between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`10`\" pulumi-lang-dotnet=\"`10`\" pulumi-lang-go=\"`10`\" pulumi-lang-python=\"`10`\" pulumi-lang-yaml=\"`10`\" pulumi-lang-java=\"`10`\"\u003e`10`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e.\n"},"headers":{"type":"array","items":{"$ref":"#/types/azure:containerapp/JobTemplateContainerReadinessProbeHeader:JobTemplateContainerReadinessProbeHeader"},"description":"A \u003cspan pulumi-lang-nodejs=\"`header`\" pulumi-lang-dotnet=\"`Header`\" pulumi-lang-go=\"`header`\" pulumi-lang-python=\"`header`\" pulumi-lang-yaml=\"`header`\" pulumi-lang-java=\"`header`\"\u003e`header`\u003c/span\u003e block as detailed below.\n"},"host":{"type":"string","description":"The probe hostname. Defaults to the pod IP address. Setting a value for `Host` in \u003cspan pulumi-lang-nodejs=\"`headers`\" pulumi-lang-dotnet=\"`Headers`\" pulumi-lang-go=\"`headers`\" pulumi-lang-python=\"`headers`\" pulumi-lang-yaml=\"`headers`\" pulumi-lang-java=\"`headers`\"\u003e`headers`\u003c/span\u003e can be used to override this for `HTTP` and `HTTPS` type probes.\n"},"initialDelay":{"type":"integer","description":"The number of seconds elapsed after the container has started before the probe is initiated. Possible values are between \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`60`\" pulumi-lang-dotnet=\"`60`\" pulumi-lang-go=\"`60`\" pulumi-lang-python=\"`60`\" pulumi-lang-yaml=\"`60`\" pulumi-lang-java=\"`60`\"\u003e`60`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e seconds.\n"},"intervalSeconds":{"type":"integer","description":"How often, in seconds, the probe should run. Possible values are between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`240`\" pulumi-lang-dotnet=\"`240`\" pulumi-lang-go=\"`240`\" pulumi-lang-python=\"`240`\" pulumi-lang-yaml=\"`240`\" pulumi-lang-java=\"`240`\"\u003e`240`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`10`\" pulumi-lang-dotnet=\"`10`\" pulumi-lang-go=\"`10`\" pulumi-lang-python=\"`10`\" pulumi-lang-yaml=\"`10`\" pulumi-lang-java=\"`10`\"\u003e`10`\u003c/span\u003e\n"},"path":{"type":"string","description":"The URI to use for http type probes. Not valid for `TCP` type probes. Defaults to `/`.\n"},"port":{"type":"integer","description":"The port number on which to connect. Possible values are between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`65535`\" pulumi-lang-dotnet=\"`65535`\" pulumi-lang-go=\"`65535`\" pulumi-lang-python=\"`65535`\" pulumi-lang-yaml=\"`65535`\" pulumi-lang-java=\"`65535`\"\u003e`65535`\u003c/span\u003e.\n"},"successCountThreshold":{"type":"integer","description":"The number of consecutive successful responses required to consider this probe as successful. Possible values are between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`10`\" pulumi-lang-dotnet=\"`10`\" pulumi-lang-go=\"`10`\" pulumi-lang-python=\"`10`\" pulumi-lang-yaml=\"`10`\" pulumi-lang-java=\"`10`\"\u003e`10`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e.\n"},"timeout":{"type":"integer","description":"Time in seconds after which the probe times out. Possible values are in the range \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e - \u003cspan pulumi-lang-nodejs=\"`240`\" pulumi-lang-dotnet=\"`240`\" pulumi-lang-go=\"`240`\" pulumi-lang-python=\"`240`\" pulumi-lang-yaml=\"`240`\" pulumi-lang-java=\"`240`\"\u003e`240`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e.\n"},"transport":{"type":"string","description":"Type of probe. Possible values are `TCP`, `HTTP`, and `HTTPS`.\n"}},"type":"object","required":["port","transport"],"language":{"nodejs":{"requiredOutputs":["path","port","transport"]}}},"azure:containerapp/JobTemplateContainerReadinessProbeHeader:JobTemplateContainerReadinessProbeHeader":{"properties":{"name":{"type":"string","description":"The HTTP Header Name.\n"},"value":{"type":"string","description":"The HTTP Header value.\n"}},"type":"object","required":["name","value"]},"azure:containerapp/JobTemplateContainerStartupProbe:JobTemplateContainerStartupProbe":{"properties":{"failureCountThreshold":{"type":"integer","description":"The number of consecutive failures required to consider this probe as failed. Possible values are between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`10`\" pulumi-lang-dotnet=\"`10`\" pulumi-lang-go=\"`10`\" pulumi-lang-python=\"`10`\" pulumi-lang-yaml=\"`10`\" pulumi-lang-java=\"`10`\"\u003e`10`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e.\n"},"headers":{"type":"array","items":{"$ref":"#/types/azure:containerapp/JobTemplateContainerStartupProbeHeader:JobTemplateContainerStartupProbeHeader"},"description":"A \u003cspan pulumi-lang-nodejs=\"`header`\" pulumi-lang-dotnet=\"`Header`\" pulumi-lang-go=\"`header`\" pulumi-lang-python=\"`header`\" pulumi-lang-yaml=\"`header`\" pulumi-lang-java=\"`header`\"\u003e`header`\u003c/span\u003e block as detailed below.\n"},"host":{"type":"string","description":"The value for the host header which should be sent with this probe. If unspecified, the IP Address of the Pod is used as the host header. Setting a value for `Host` in \u003cspan pulumi-lang-nodejs=\"`headers`\" pulumi-lang-dotnet=\"`Headers`\" pulumi-lang-go=\"`headers`\" pulumi-lang-python=\"`headers`\" pulumi-lang-yaml=\"`headers`\" pulumi-lang-java=\"`headers`\"\u003e`headers`\u003c/span\u003e can be used to override this for `HTTP` and `HTTPS` type probes.\n"},"initialDelay":{"type":"integer","description":"The number of seconds elapsed after the container has started before the probe is initiated. Possible values are between \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`60`\" pulumi-lang-dotnet=\"`60`\" pulumi-lang-go=\"`60`\" pulumi-lang-python=\"`60`\" pulumi-lang-yaml=\"`60`\" pulumi-lang-java=\"`60`\"\u003e`60`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e seconds.\n"},"intervalSeconds":{"type":"integer","description":"How often, in seconds, the probe should run. Possible values are between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`240`\" pulumi-lang-dotnet=\"`240`\" pulumi-lang-go=\"`240`\" pulumi-lang-python=\"`240`\" pulumi-lang-yaml=\"`240`\" pulumi-lang-java=\"`240`\"\u003e`240`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`10`\" pulumi-lang-dotnet=\"`10`\" pulumi-lang-go=\"`10`\" pulumi-lang-python=\"`10`\" pulumi-lang-yaml=\"`10`\" pulumi-lang-java=\"`10`\"\u003e`10`\u003c/span\u003e\n"},"path":{"type":"string","description":"The URI to use with the \u003cspan pulumi-lang-nodejs=\"`host`\" pulumi-lang-dotnet=\"`Host`\" pulumi-lang-go=\"`host`\" pulumi-lang-python=\"`host`\" pulumi-lang-yaml=\"`host`\" pulumi-lang-java=\"`host`\"\u003e`host`\u003c/span\u003e for http type probes. Not valid for `TCP` type probes. Defaults to `/`.\n"},"port":{"type":"integer","description":"The port number on which to connect. Possible values are between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`65535`\" pulumi-lang-dotnet=\"`65535`\" pulumi-lang-go=\"`65535`\" pulumi-lang-python=\"`65535`\" pulumi-lang-yaml=\"`65535`\" pulumi-lang-java=\"`65535`\"\u003e`65535`\u003c/span\u003e.\n"},"terminationGracePeriodSeconds":{"type":"integer","description":"The time in seconds after the container is sent the termination signal before the process if forcibly killed.\n"},"timeout":{"type":"integer","description":"Time in seconds after which the probe times out. Possible values are in the range \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e - \u003cspan pulumi-lang-nodejs=\"`240`\" pulumi-lang-dotnet=\"`240`\" pulumi-lang-go=\"`240`\" pulumi-lang-python=\"`240`\" pulumi-lang-yaml=\"`240`\" pulumi-lang-java=\"`240`\"\u003e`240`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e.\n"},"transport":{"type":"string","description":"Type of probe. Possible values are `TCP`, `HTTP`, and `HTTPS`.\n"}},"type":"object","required":["port","transport"],"language":{"nodejs":{"requiredOutputs":["path","port","terminationGracePeriodSeconds","transport"]}}},"azure:containerapp/JobTemplateContainerStartupProbeHeader:JobTemplateContainerStartupProbeHeader":{"properties":{"name":{"type":"string","description":"The HTTP Header Name.\n"},"value":{"type":"string","description":"The HTTP Header value.\n"}},"type":"object","required":["name","value"]},"azure:containerapp/JobTemplateContainerVolumeMount:JobTemplateContainerVolumeMount":{"properties":{"name":{"type":"string","description":"The name of the volume to mount. This must match the name of a volume defined in the \u003cspan pulumi-lang-nodejs=\"`volume`\" pulumi-lang-dotnet=\"`Volume`\" pulumi-lang-go=\"`volume`\" pulumi-lang-python=\"`volume`\" pulumi-lang-yaml=\"`volume`\" pulumi-lang-java=\"`volume`\"\u003e`volume`\u003c/span\u003e block.\n"},"path":{"type":"string","description":"The path within the container at which the volume should be mounted. Must not contain `:`.\n"},"subPath":{"type":"string","description":"The sub path of the volume to be mounted in the container.\n"}},"type":"object","required":["name","path"]},"azure:containerapp/JobTemplateInitContainer:JobTemplateInitContainer":{"properties":{"args":{"type":"array","items":{"type":"string"},"description":"A list of extra arguments to pass to the container.\n"},"commands":{"type":"array","items":{"type":"string"},"description":"A command to pass to the container to override the default. This is provided as a list of command line elements without spaces.\n"},"cpu":{"type":"number","description":"The amount of vCPU to allocate to the container.\n\n\u003e **Note:** When using a Consumption plan, the \u003cspan pulumi-lang-nodejs=\"`cpu`\" pulumi-lang-dotnet=\"`Cpu`\" pulumi-lang-go=\"`cpu`\" pulumi-lang-python=\"`cpu`\" pulumi-lang-yaml=\"`cpu`\" pulumi-lang-java=\"`cpu`\"\u003e`cpu`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`memory`\" pulumi-lang-dotnet=\"`Memory`\" pulumi-lang-go=\"`memory`\" pulumi-lang-python=\"`memory`\" pulumi-lang-yaml=\"`memory`\" pulumi-lang-java=\"`memory`\"\u003e`memory`\u003c/span\u003e properties must add up to one of the combinations found in the Microsoft provided documentation, for more information see [vCPU and memory allocation requirements](https://learn.microsoft.com/azure/container-apps/containers#allocations)\n"},"envs":{"type":"array","items":{"$ref":"#/types/azure:containerapp/JobTemplateInitContainerEnv:JobTemplateInitContainerEnv"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`env`\" pulumi-lang-dotnet=\"`Env`\" pulumi-lang-go=\"`env`\" pulumi-lang-python=\"`env`\" pulumi-lang-yaml=\"`env`\" pulumi-lang-java=\"`env`\"\u003e`env`\u003c/span\u003e blocks as detailed below.\n"},"ephemeralStorage":{"type":"string","description":"The amount of ephemeral storage available to the Container App.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`ephemeralStorage`\" pulumi-lang-dotnet=\"`EphemeralStorage`\" pulumi-lang-go=\"`ephemeralStorage`\" pulumi-lang-python=\"`ephemeral_storage`\" pulumi-lang-yaml=\"`ephemeralStorage`\" pulumi-lang-java=\"`ephemeralStorage`\"\u003e`ephemeral_storage`\u003c/span\u003e is currently in preview and not configurable at this time.\n"},"image":{"type":"string","description":"The image to use to create the container.\n"},"memory":{"type":"string","description":"The amount of memory to allocate to the container.\n\n\u003e **Note:** When using a Consumption plan, the \u003cspan pulumi-lang-nodejs=\"`cpu`\" pulumi-lang-dotnet=\"`Cpu`\" pulumi-lang-go=\"`cpu`\" pulumi-lang-python=\"`cpu`\" pulumi-lang-yaml=\"`cpu`\" pulumi-lang-java=\"`cpu`\"\u003e`cpu`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`memory`\" pulumi-lang-dotnet=\"`Memory`\" pulumi-lang-go=\"`memory`\" pulumi-lang-python=\"`memory`\" pulumi-lang-yaml=\"`memory`\" pulumi-lang-java=\"`memory`\"\u003e`memory`\u003c/span\u003e properties must add up to one of the combinations found in the Microsoft provided documentation, for more information see [vCPU and memory allocation requirements](https://learn.microsoft.com/azure/container-apps/containers#allocations)\n"},"name":{"type":"string","description":"The name of the container.\n"},"volumeMounts":{"type":"array","items":{"$ref":"#/types/azure:containerapp/JobTemplateInitContainerVolumeMount:JobTemplateInitContainerVolumeMount"},"description":"A \u003cspan pulumi-lang-nodejs=\"`volumeMounts`\" pulumi-lang-dotnet=\"`VolumeMounts`\" pulumi-lang-go=\"`volumeMounts`\" pulumi-lang-python=\"`volume_mounts`\" pulumi-lang-yaml=\"`volumeMounts`\" pulumi-lang-java=\"`volumeMounts`\"\u003e`volume_mounts`\u003c/span\u003e block as detailed below.\n"}},"type":"object","required":["image","name"],"language":{"nodejs":{"requiredOutputs":["ephemeralStorage","image","name"]}}},"azure:containerapp/JobTemplateInitContainerEnv:JobTemplateInitContainerEnv":{"properties":{"name":{"type":"string","description":"The name of the environment variable.\n"},"secretName":{"type":"string","description":"Name of the Container App secret from which to pull the environment variable value.\n"},"value":{"type":"string","description":"The value of the environment variable.\n"}},"type":"object","required":["name"]},"azure:containerapp/JobTemplateInitContainerVolumeMount:JobTemplateInitContainerVolumeMount":{"properties":{"name":{"type":"string","description":"The name of the volume to mount. This must match the name of a volume defined in the \u003cspan pulumi-lang-nodejs=\"`volume`\" pulumi-lang-dotnet=\"`Volume`\" pulumi-lang-go=\"`volume`\" pulumi-lang-python=\"`volume`\" pulumi-lang-yaml=\"`volume`\" pulumi-lang-java=\"`volume`\"\u003e`volume`\u003c/span\u003e block.\n"},"path":{"type":"string","description":"The path within the container at which the volume should be mounted. Must not contain `:`.\n"},"subPath":{"type":"string","description":"The sub path of the volume to be mounted in the container.\n"}},"type":"object","required":["name","path"]},"azure:containerapp/JobTemplateVolume:JobTemplateVolume":{"properties":{"mountOptions":{"type":"string","description":"Mount options used while mounting the AzureFile. Must be a comma-separated string e.g. `dir_mode=0751,file_mode=0751`.\n"},"name":{"type":"string","description":"The name of the volume.\n"},"storageName":{"type":"string","description":"The name of the storage to use for the volume.\n"},"storageType":{"type":"string","description":"The type of storage to use for the volume. Possible values are `AzureFile`, `EmptyDir`, `NfsAzureFile` and `Secret`. Defaults to `EmptyDir`.\n"}},"type":"object","required":["name"]},"azure:containerapp/getAppDapr:getAppDapr":{"properties":{"appId":{"type":"string","description":"The Dapr Application Identifier.\n"},"appPort":{"type":"integer","description":"The port which the application is listening on. This is the same as the \u003cspan pulumi-lang-nodejs=\"`ingress`\" pulumi-lang-dotnet=\"`Ingress`\" pulumi-lang-go=\"`ingress`\" pulumi-lang-python=\"`ingress`\" pulumi-lang-yaml=\"`ingress`\" pulumi-lang-java=\"`ingress`\"\u003e`ingress`\u003c/span\u003e port.\n"},"appProtocol":{"type":"string","description":"The protocol for the app.\n"}},"type":"object","required":["appId","appPort","appProtocol"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:containerapp/getAppIdentity:getAppIdentity":{"properties":{"identityIds":{"type":"array","items":{"type":"string"},"description":"A list of one or more Resource IDs for User Assigned Managed identities to assign.\n"},"principalId":{"type":"string"},"tenantId":{"type":"string"},"type":{"type":"string","description":"The type of managed identity to assign.\n"}},"type":"object","required":["identityIds","principalId","tenantId","type"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:containerapp/getAppIngress:getAppIngress":{"properties":{"allowInsecureConnections":{"type":"boolean","description":"Should this ingress allow insecure connections?\n"},"clientCertificateMode":{"type":"string","description":"The client certificate mode for the Ingress.\n"},"cors":{"type":"array","items":{"$ref":"#/types/azure:containerapp/getAppIngressCor:getAppIngressCor"},"description":"A \u003cspan pulumi-lang-nodejs=\"`cors`\" pulumi-lang-dotnet=\"`Cors`\" pulumi-lang-go=\"`cors`\" pulumi-lang-python=\"`cors`\" pulumi-lang-yaml=\"`cors`\" pulumi-lang-java=\"`cors`\"\u003e`cors`\u003c/span\u003e block as detailed below.\n"},"customDomains":{"type":"array","items":{"$ref":"#/types/azure:containerapp/getAppIngressCustomDomain:getAppIngressCustomDomain"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`customDomain`\" pulumi-lang-dotnet=\"`CustomDomain`\" pulumi-lang-go=\"`customDomain`\" pulumi-lang-python=\"`custom_domain`\" pulumi-lang-yaml=\"`customDomain`\" pulumi-lang-java=\"`customDomain`\"\u003e`custom_domain`\u003c/span\u003e block as detailed below.\n"},"exposedPort":{"type":"integer","description":"The exposed port on the container for the Ingress traffic.\n"},"externalEnabled":{"type":"boolean","description":"Is this an external Ingress.\n"},"fqdn":{"type":"string","description":"The FQDN of the ingress.\n"},"ipSecurityRestrictions":{"type":"array","items":{"$ref":"#/types/azure:containerapp/getAppIngressIpSecurityRestriction:getAppIngressIpSecurityRestriction"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`ipSecurityRestriction`\" pulumi-lang-dotnet=\"`IpSecurityRestriction`\" pulumi-lang-go=\"`ipSecurityRestriction`\" pulumi-lang-python=\"`ip_security_restriction`\" pulumi-lang-yaml=\"`ipSecurityRestriction`\" pulumi-lang-java=\"`ipSecurityRestriction`\"\u003e`ip_security_restriction`\u003c/span\u003e blocks for IP-filtering rules as defined below.\n"},"targetPort":{"type":"integer","description":"The target port on the container for the Ingress traffic.\n"},"trafficWeights":{"type":"array","items":{"$ref":"#/types/azure:containerapp/getAppIngressTrafficWeight:getAppIngressTrafficWeight"},"description":"A \u003cspan pulumi-lang-nodejs=\"`trafficWeight`\" pulumi-lang-dotnet=\"`TrafficWeight`\" pulumi-lang-go=\"`trafficWeight`\" pulumi-lang-python=\"`traffic_weight`\" pulumi-lang-yaml=\"`trafficWeight`\" pulumi-lang-java=\"`trafficWeight`\"\u003e`traffic_weight`\u003c/span\u003e block as detailed below.\n"},"transport":{"type":"string","description":"The transport method for the Ingress.\n"}},"type":"object","required":["allowInsecureConnections","clientCertificateMode","cors","customDomains","exposedPort","externalEnabled","fqdn","ipSecurityRestrictions","targetPort","trafficWeights","transport"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:containerapp/getAppIngressCor:getAppIngressCor":{"properties":{"allowCredentialsEnabled":{"type":"boolean","description":"Whether user credentials are allowed in the cross-origin request.\n"},"allowedHeaders":{"type":"array","items":{"type":"string"},"description":"The list of request headers that are permitted in the actual request.\n"},"allowedMethods":{"type":"array","items":{"type":"string"},"description":"The list of HTTP methods are allowed when accessing the resource in a cross-origin request.\n"},"allowedOrigins":{"type":"array","items":{"type":"string"},"description":"The list of origins that are allowed to make cross-origin calls.\n"},"exposedHeaders":{"type":"array","items":{"type":"string"},"description":"The list of headers exposed to the browser in the response to a cross-origin request.\n"},"maxAgeInSeconds":{"type":"integer","description":"The number of seconds that the browser can cache the results of a preflight request.\n"}},"type":"object","required":["allowCredentialsEnabled","allowedHeaders","allowedMethods","allowedOrigins","exposedHeaders","maxAgeInSeconds"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:containerapp/getAppIngressCustomDomain:getAppIngressCustomDomain":{"properties":{"certificateBindingType":{"type":"string","description":"The Binding type.\n"},"certificateId":{"type":"string","description":"The ID of the Container App Environment Certificate.\n"},"name":{"type":"string","description":"The name of the Container App.\n"}},"type":"object","required":["certificateBindingType","certificateId","name"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:containerapp/getAppIngressIpSecurityRestriction:getAppIngressIpSecurityRestriction":{"properties":{"action":{"type":"string","description":"The IP-filter action.\n"},"description":{"type":"string","description":"Description of the IP restriction rule that is being sent to the container-app.\n"},"ipAddressRange":{"type":"string","description":"CIDR notation that matches the incoming IP address.\n"},"name":{"type":"string","description":"The name of the Container App.\n"}},"type":"object","required":["action","description","ipAddressRange","name"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:containerapp/getAppIngressTrafficWeight:getAppIngressTrafficWeight":{"properties":{"label":{"type":"string","description":"The label to apply to the revision as a name prefix for routing traffic.\n"},"latestRevision":{"type":"boolean","description":"This traffic Weight relates to the latest stable Container Revision.\n"},"percentage":{"type":"integer","description":"The percentage of traffic which should be sent this revision.\n"},"revisionSuffix":{"type":"string","description":"The suffix string to which this \u003cspan pulumi-lang-nodejs=\"`trafficWeight`\" pulumi-lang-dotnet=\"`TrafficWeight`\" pulumi-lang-go=\"`trafficWeight`\" pulumi-lang-python=\"`traffic_weight`\" pulumi-lang-yaml=\"`trafficWeight`\" pulumi-lang-java=\"`trafficWeight`\"\u003e`traffic_weight`\u003c/span\u003e applies.\n"}},"type":"object","required":["label","latestRevision","percentage","revisionSuffix"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:containerapp/getAppRegistry:getAppRegistry":{"properties":{"identity":{"type":"string","description":"Resource ID for the User Assigned Managed identity to use when pulling from the Container Registry.\n"},"passwordSecretName":{"type":"string","description":"The name of the Secret Reference containing the password value for the user on the Container Registry.\n"},"server":{"type":"string","description":"The hostname for the Container Registry.\n"},"username":{"type":"string","description":"The username used for this Container Registry.\n"}},"type":"object","required":["identity","passwordSecretName","server","username"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:containerapp/getAppSecret:getAppSecret":{"properties":{"identity":{"type":"string","description":"Resource ID for the User Assigned Managed identity to use when pulling from the Container Registry.\n"},"keyVaultSecretId":{"type":"string","description":"The ID of a Key Vault secret.\n"},"name":{"type":"string","description":"The name of the Container App.\n"},"value":{"type":"string","description":"The HTTP Header value.\n","secret":true}},"type":"object","required":["identity","keyVaultSecretId","name","value"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:containerapp/getAppTemplate:getAppTemplate":{"properties":{"azureQueueScaleRules":{"type":"array","items":{"$ref":"#/types/azure:containerapp/getAppTemplateAzureQueueScaleRule:getAppTemplateAzureQueueScaleRule"}},"containers":{"type":"array","items":{"$ref":"#/types/azure:containerapp/getAppTemplateContainer:getAppTemplateContainer"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`container`\" pulumi-lang-dotnet=\"`Container`\" pulumi-lang-go=\"`container`\" pulumi-lang-python=\"`container`\" pulumi-lang-yaml=\"`container`\" pulumi-lang-java=\"`container`\"\u003e`container`\u003c/span\u003e blocks as detailed below.\n"},"cooldownPeriodInSeconds":{"type":"integer","description":"The number of seconds to wait before scaling down the number of instances again.\n"},"customScaleRules":{"type":"array","items":{"$ref":"#/types/azure:containerapp/getAppTemplateCustomScaleRule:getAppTemplateCustomScaleRule"}},"httpScaleRules":{"type":"array","items":{"$ref":"#/types/azure:containerapp/getAppTemplateHttpScaleRule:getAppTemplateHttpScaleRule"}},"initContainers":{"type":"array","items":{"$ref":"#/types/azure:containerapp/getAppTemplateInitContainer:getAppTemplateInitContainer"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`initContainer`\" pulumi-lang-dotnet=\"`InitContainer`\" pulumi-lang-go=\"`initContainer`\" pulumi-lang-python=\"`init_container`\" pulumi-lang-yaml=\"`initContainer`\" pulumi-lang-java=\"`initContainer`\"\u003e`init_container`\u003c/span\u003e blocks as detailed below.\n"},"maxReplicas":{"type":"integer","description":"The maximum number of replicas for this container.\n"},"minReplicas":{"type":"integer","description":"The minimum number of replicas for this container.\n"},"pollingIntervalInSeconds":{"type":"integer","description":"The interval in seconds used for polling KEDA.\n"},"revisionSuffix":{"type":"string","description":"The suffix string to which this \u003cspan pulumi-lang-nodejs=\"`trafficWeight`\" pulumi-lang-dotnet=\"`TrafficWeight`\" pulumi-lang-go=\"`trafficWeight`\" pulumi-lang-python=\"`traffic_weight`\" pulumi-lang-yaml=\"`trafficWeight`\" pulumi-lang-java=\"`trafficWeight`\"\u003e`traffic_weight`\u003c/span\u003e applies.\n"},"tcpScaleRules":{"type":"array","items":{"$ref":"#/types/azure:containerapp/getAppTemplateTcpScaleRule:getAppTemplateTcpScaleRule"}},"terminationGracePeriodSeconds":{"type":"integer","description":"The time in seconds after the container is sent the termination signal before the process if forcibly killed.\n"},"volumes":{"type":"array","items":{"$ref":"#/types/azure:containerapp/getAppTemplateVolume:getAppTemplateVolume"},"description":"A \u003cspan pulumi-lang-nodejs=\"`volume`\" pulumi-lang-dotnet=\"`Volume`\" pulumi-lang-go=\"`volume`\" pulumi-lang-python=\"`volume`\" pulumi-lang-yaml=\"`volume`\" pulumi-lang-java=\"`volume`\"\u003e`volume`\u003c/span\u003e block as detailed below.\n"}},"type":"object","required":["azureQueueScaleRules","containers","cooldownPeriodInSeconds","httpScaleRules","initContainers","maxReplicas","minReplicas","pollingIntervalInSeconds","revisionSuffix","tcpScaleRules","terminationGracePeriodSeconds","volumes"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:containerapp/getAppTemplateAzureQueueScaleRule:getAppTemplateAzureQueueScaleRule":{"properties":{"authentications":{"type":"array","items":{"$ref":"#/types/azure:containerapp/getAppTemplateAzureQueueScaleRuleAuthentication:getAppTemplateAzureQueueScaleRuleAuthentication"}},"name":{"type":"string","description":"The name of the Container App.\n"},"queueLength":{"type":"integer"},"queueName":{"type":"string"}},"type":"object","required":["authentications","name","queueLength","queueName"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:containerapp/getAppTemplateAzureQueueScaleRuleAuthentication:getAppTemplateAzureQueueScaleRuleAuthentication":{"properties":{"secretName":{"type":"string","description":"The name of the secret that contains the value for this environment variable.\n"},"triggerParameter":{"type":"string"}},"type":"object","required":["secretName","triggerParameter"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:containerapp/getAppTemplateContainer:getAppTemplateContainer":{"properties":{"args":{"type":"array","items":{"type":"string"},"description":"A list of extra arguments passed to the container.\n"},"commands":{"type":"array","items":{"type":"string"},"description":"A command passed to the container to override the default. This is provided as a list of command line elements without spaces.\n"},"cpu":{"type":"number","description":"The amount of vCPU allocated to the container.\n"},"envs":{"type":"array","items":{"$ref":"#/types/azure:containerapp/getAppTemplateContainerEnv:getAppTemplateContainerEnv"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`env`\" pulumi-lang-dotnet=\"`Env`\" pulumi-lang-go=\"`env`\" pulumi-lang-python=\"`env`\" pulumi-lang-yaml=\"`env`\" pulumi-lang-java=\"`env`\"\u003e`env`\u003c/span\u003e blocks as detailed below.\n"},"ephemeralStorage":{"type":"string","description":"The amount of ephemeral storage available to the Container App.\n"},"image":{"type":"string","description":"The image to use to create the container.\n"},"livenessProbes":{"type":"array","items":{"$ref":"#/types/azure:containerapp/getAppTemplateContainerLivenessProbe:getAppTemplateContainerLivenessProbe"},"description":"A \u003cspan pulumi-lang-nodejs=\"`livenessProbe`\" pulumi-lang-dotnet=\"`LivenessProbe`\" pulumi-lang-go=\"`livenessProbe`\" pulumi-lang-python=\"`liveness_probe`\" pulumi-lang-yaml=\"`livenessProbe`\" pulumi-lang-java=\"`livenessProbe`\"\u003e`liveness_probe`\u003c/span\u003e block as detailed below.\n"},"memory":{"type":"string","description":"The amount of memory allocated to the container.\n"},"name":{"type":"string","description":"The name of the Container App.\n"},"readinessProbes":{"type":"array","items":{"$ref":"#/types/azure:containerapp/getAppTemplateContainerReadinessProbe:getAppTemplateContainerReadinessProbe"},"description":"A \u003cspan pulumi-lang-nodejs=\"`readinessProbe`\" pulumi-lang-dotnet=\"`ReadinessProbe`\" pulumi-lang-go=\"`readinessProbe`\" pulumi-lang-python=\"`readiness_probe`\" pulumi-lang-yaml=\"`readinessProbe`\" pulumi-lang-java=\"`readinessProbe`\"\u003e`readiness_probe`\u003c/span\u003e block as detailed below.\n"},"startupProbes":{"type":"array","items":{"$ref":"#/types/azure:containerapp/getAppTemplateContainerStartupProbe:getAppTemplateContainerStartupProbe"},"description":"A \u003cspan pulumi-lang-nodejs=\"`startupProbe`\" pulumi-lang-dotnet=\"`StartupProbe`\" pulumi-lang-go=\"`startupProbe`\" pulumi-lang-python=\"`startup_probe`\" pulumi-lang-yaml=\"`startupProbe`\" pulumi-lang-java=\"`startupProbe`\"\u003e`startup_probe`\u003c/span\u003e block as detailed below.\n"},"volumeMounts":{"type":"array","items":{"$ref":"#/types/azure:containerapp/getAppTemplateContainerVolumeMount:getAppTemplateContainerVolumeMount"},"description":"A \u003cspan pulumi-lang-nodejs=\"`volumeMounts`\" pulumi-lang-dotnet=\"`VolumeMounts`\" pulumi-lang-go=\"`volumeMounts`\" pulumi-lang-python=\"`volume_mounts`\" pulumi-lang-yaml=\"`volumeMounts`\" pulumi-lang-java=\"`volumeMounts`\"\u003e`volume_mounts`\u003c/span\u003e block as detailed below.\n"}},"type":"object","required":["args","commands","cpu","envs","ephemeralStorage","image","livenessProbes","memory","name","readinessProbes","startupProbes","volumeMounts"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:containerapp/getAppTemplateContainerEnv:getAppTemplateContainerEnv":{"properties":{"name":{"type":"string","description":"The name of the Container App.\n"},"secretName":{"type":"string","description":"The name of the secret that contains the value for this environment variable.\n"},"value":{"type":"string","description":"The HTTP Header value.\n"}},"type":"object","required":["name","secretName","value"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:containerapp/getAppTemplateContainerLivenessProbe:getAppTemplateContainerLivenessProbe":{"properties":{"failureCountThreshold":{"type":"integer","description":"The number of consecutive failures required to consider this probe as failed.\n"},"headers":{"type":"array","items":{"$ref":"#/types/azure:containerapp/getAppTemplateContainerLivenessProbeHeader:getAppTemplateContainerLivenessProbeHeader"},"description":"A \u003cspan pulumi-lang-nodejs=\"`header`\" pulumi-lang-dotnet=\"`Header`\" pulumi-lang-go=\"`header`\" pulumi-lang-python=\"`header`\" pulumi-lang-yaml=\"`header`\" pulumi-lang-java=\"`header`\"\u003e`header`\u003c/span\u003e block as detailed below.\n"},"host":{"type":"string","description":"The value for the host header which should be sent with this probe.\n"},"initialDelay":{"type":"integer","description":"The number of seconds elapsed after the container has started before the probe is initiated.\n"},"intervalSeconds":{"type":"integer","description":"How often, in seconds, the probe should run.\n"},"path":{"type":"string","description":"The path in the container at which to mount this volume.\n"},"port":{"type":"integer","description":"The port number on which to connect.\n"},"terminationGracePeriodSeconds":{"type":"integer","description":"The time in seconds after the container is sent the termination signal before the process if forcibly killed.\n"},"timeout":{"type":"integer","description":"Time in seconds after which the probe times out.\n"},"transport":{"type":"string","description":"The transport method for the Ingress.\n"}},"type":"object","required":["failureCountThreshold","headers","host","initialDelay","intervalSeconds","path","port","terminationGracePeriodSeconds","timeout","transport"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:containerapp/getAppTemplateContainerLivenessProbeHeader:getAppTemplateContainerLivenessProbeHeader":{"properties":{"name":{"type":"string","description":"The name of the Container App.\n"},"value":{"type":"string","description":"The HTTP Header value.\n"}},"type":"object","required":["name","value"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:containerapp/getAppTemplateContainerReadinessProbe:getAppTemplateContainerReadinessProbe":{"properties":{"failureCountThreshold":{"type":"integer","description":"The number of consecutive failures required to consider this probe as failed.\n"},"headers":{"type":"array","items":{"$ref":"#/types/azure:containerapp/getAppTemplateContainerReadinessProbeHeader:getAppTemplateContainerReadinessProbeHeader"},"description":"A \u003cspan pulumi-lang-nodejs=\"`header`\" pulumi-lang-dotnet=\"`Header`\" pulumi-lang-go=\"`header`\" pulumi-lang-python=\"`header`\" pulumi-lang-yaml=\"`header`\" pulumi-lang-java=\"`header`\"\u003e`header`\u003c/span\u003e block as detailed below.\n"},"host":{"type":"string","description":"The value for the host header which should be sent with this probe.\n"},"initialDelay":{"type":"integer","description":"The number of seconds elapsed after the container has started before the probe is initiated.\n"},"intervalSeconds":{"type":"integer","description":"How often, in seconds, the probe should run.\n"},"path":{"type":"string","description":"The path in the container at which to mount this volume.\n"},"port":{"type":"integer","description":"The port number on which to connect.\n"},"successCountThreshold":{"type":"integer","description":"The number of consecutive successful responses required to consider this probe as successful.\n"},"timeout":{"type":"integer","description":"Time in seconds after which the probe times out.\n"},"transport":{"type":"string","description":"The transport method for the Ingress.\n"}},"type":"object","required":["failureCountThreshold","headers","host","initialDelay","intervalSeconds","path","port","successCountThreshold","timeout","transport"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:containerapp/getAppTemplateContainerReadinessProbeHeader:getAppTemplateContainerReadinessProbeHeader":{"properties":{"name":{"type":"string","description":"The name of the Container App.\n"},"value":{"type":"string","description":"The HTTP Header value.\n"}},"type":"object","required":["name","value"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:containerapp/getAppTemplateContainerStartupProbe:getAppTemplateContainerStartupProbe":{"properties":{"failureCountThreshold":{"type":"integer","description":"The number of consecutive failures required to consider this probe as failed.\n"},"headers":{"type":"array","items":{"$ref":"#/types/azure:containerapp/getAppTemplateContainerStartupProbeHeader:getAppTemplateContainerStartupProbeHeader"},"description":"A \u003cspan pulumi-lang-nodejs=\"`header`\" pulumi-lang-dotnet=\"`Header`\" pulumi-lang-go=\"`header`\" pulumi-lang-python=\"`header`\" pulumi-lang-yaml=\"`header`\" pulumi-lang-java=\"`header`\"\u003e`header`\u003c/span\u003e block as detailed below.\n"},"host":{"type":"string","description":"The value for the host header which should be sent with this probe.\n"},"initialDelay":{"type":"integer","description":"The number of seconds elapsed after the container has started before the probe is initiated.\n"},"intervalSeconds":{"type":"integer","description":"How often, in seconds, the probe should run.\n"},"path":{"type":"string","description":"The path in the container at which to mount this volume.\n"},"port":{"type":"integer","description":"The port number on which to connect.\n"},"terminationGracePeriodSeconds":{"type":"integer","description":"The time in seconds after the container is sent the termination signal before the process if forcibly killed.\n"},"timeout":{"type":"integer","description":"Time in seconds after which the probe times out.\n"},"transport":{"type":"string","description":"The transport method for the Ingress.\n"}},"type":"object","required":["failureCountThreshold","headers","host","initialDelay","intervalSeconds","path","port","terminationGracePeriodSeconds","timeout","transport"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:containerapp/getAppTemplateContainerStartupProbeHeader:getAppTemplateContainerStartupProbeHeader":{"properties":{"name":{"type":"string","description":"The name of the Container App.\n"},"value":{"type":"string","description":"The HTTP Header value.\n"}},"type":"object","required":["name","value"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:containerapp/getAppTemplateContainerVolumeMount:getAppTemplateContainerVolumeMount":{"properties":{"name":{"type":"string","description":"The name of the Container App.\n"},"path":{"type":"string","description":"The path in the container at which to mount this volume.\n"},"subPath":{"type":"string","description":"The sub path of the volume to be mounted in the container.\n"}},"type":"object","required":["name","path","subPath"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:containerapp/getAppTemplateCustomScaleRule:getAppTemplateCustomScaleRule":{"properties":{"authentications":{"type":"array","items":{"$ref":"#/types/azure:containerapp/getAppTemplateCustomScaleRuleAuthentication:getAppTemplateCustomScaleRuleAuthentication"}},"customRuleType":{"type":"string"},"metadata":{"type":"object","additionalProperties":{"type":"string"}},"name":{"type":"string","description":"The name of the Container App.\n"}},"type":"object","required":["authentications","customRuleType","metadata","name"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:containerapp/getAppTemplateCustomScaleRuleAuthentication:getAppTemplateCustomScaleRuleAuthentication":{"properties":{"secretName":{"type":"string","description":"The name of the secret that contains the value for this environment variable.\n"},"triggerParameter":{"type":"string"}},"type":"object","required":["secretName","triggerParameter"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:containerapp/getAppTemplateHttpScaleRule:getAppTemplateHttpScaleRule":{"properties":{"authentications":{"type":"array","items":{"$ref":"#/types/azure:containerapp/getAppTemplateHttpScaleRuleAuthentication:getAppTemplateHttpScaleRuleAuthentication"}},"concurrentRequests":{"type":"string"},"name":{"type":"string","description":"The name of the Container App.\n"}},"type":"object","required":["authentications","concurrentRequests","name"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:containerapp/getAppTemplateHttpScaleRuleAuthentication:getAppTemplateHttpScaleRuleAuthentication":{"properties":{"secretName":{"type":"string","description":"The name of the secret that contains the value for this environment variable.\n"},"triggerParameter":{"type":"string"}},"type":"object","required":["secretName","triggerParameter"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:containerapp/getAppTemplateInitContainer:getAppTemplateInitContainer":{"properties":{"args":{"type":"array","items":{"type":"string"},"description":"A list of extra arguments passed to the container.\n"},"commands":{"type":"array","items":{"type":"string"},"description":"A command passed to the container to override the default. This is provided as a list of command line elements without spaces.\n"},"cpu":{"type":"number","description":"The amount of vCPU allocated to the container.\n"},"envs":{"type":"array","items":{"$ref":"#/types/azure:containerapp/getAppTemplateInitContainerEnv:getAppTemplateInitContainerEnv"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`env`\" pulumi-lang-dotnet=\"`Env`\" pulumi-lang-go=\"`env`\" pulumi-lang-python=\"`env`\" pulumi-lang-yaml=\"`env`\" pulumi-lang-java=\"`env`\"\u003e`env`\u003c/span\u003e blocks as detailed below.\n"},"ephemeralStorage":{"type":"string","description":"The amount of ephemeral storage available to the Container App.\n"},"image":{"type":"string","description":"The image to use to create the container.\n"},"memory":{"type":"string","description":"The amount of memory allocated to the container.\n"},"name":{"type":"string","description":"The name of the Container App.\n"},"volumeMounts":{"type":"array","items":{"$ref":"#/types/azure:containerapp/getAppTemplateInitContainerVolumeMount:getAppTemplateInitContainerVolumeMount"},"description":"A \u003cspan pulumi-lang-nodejs=\"`volumeMounts`\" pulumi-lang-dotnet=\"`VolumeMounts`\" pulumi-lang-go=\"`volumeMounts`\" pulumi-lang-python=\"`volume_mounts`\" pulumi-lang-yaml=\"`volumeMounts`\" pulumi-lang-java=\"`volumeMounts`\"\u003e`volume_mounts`\u003c/span\u003e block as detailed below.\n"}},"type":"object","required":["args","commands","cpu","envs","ephemeralStorage","image","memory","name","volumeMounts"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:containerapp/getAppTemplateInitContainerEnv:getAppTemplateInitContainerEnv":{"properties":{"name":{"type":"string","description":"The name of the Container App.\n"},"secretName":{"type":"string","description":"The name of the secret that contains the value for this environment variable.\n"},"value":{"type":"string","description":"The HTTP Header value.\n"}},"type":"object","required":["name","secretName","value"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:containerapp/getAppTemplateInitContainerVolumeMount:getAppTemplateInitContainerVolumeMount":{"properties":{"name":{"type":"string","description":"The name of the Container App.\n"},"path":{"type":"string","description":"The path in the container at which to mount this volume.\n"},"subPath":{"type":"string","description":"The sub path of the volume to be mounted in the container.\n"}},"type":"object","required":["name","path","subPath"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:containerapp/getAppTemplateTcpScaleRule:getAppTemplateTcpScaleRule":{"properties":{"authentications":{"type":"array","items":{"$ref":"#/types/azure:containerapp/getAppTemplateTcpScaleRuleAuthentication:getAppTemplateTcpScaleRuleAuthentication"}},"concurrentRequests":{"type":"string"},"name":{"type":"string","description":"The name of the Container App.\n"}},"type":"object","required":["authentications","concurrentRequests","name"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:containerapp/getAppTemplateTcpScaleRuleAuthentication:getAppTemplateTcpScaleRuleAuthentication":{"properties":{"secretName":{"type":"string","description":"The name of the secret that contains the value for this environment variable.\n"},"triggerParameter":{"type":"string"}},"type":"object","required":["secretName","triggerParameter"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:containerapp/getAppTemplateVolume:getAppTemplateVolume":{"properties":{"mountOptions":{"type":"string","description":"Mount options used while mounting the AzureFile.\n"},"name":{"type":"string","description":"The name of the Container App.\n"},"storageName":{"type":"string","description":"The name of the `AzureFile` storage.\n"},"storageType":{"type":"string","description":"The type of storage volume.\n"}},"type":"object","required":["mountOptions","name","storageName","storageType"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:containerservice/ConnectedRegistryNotification:ConnectedRegistryNotification":{"properties":{"action":{"type":"string","description":"The action of the artifact that wants to be subscribed for the Connected Registry. Possible values are \u003cspan pulumi-lang-nodejs=\"`push`\" pulumi-lang-dotnet=\"`Push`\" pulumi-lang-go=\"`push`\" pulumi-lang-python=\"`push`\" pulumi-lang-yaml=\"`push`\" pulumi-lang-java=\"`push`\"\u003e`push`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`delete`\" pulumi-lang-dotnet=\"`Delete`\" pulumi-lang-go=\"`delete`\" pulumi-lang-python=\"`delete`\" pulumi-lang-yaml=\"`delete`\" pulumi-lang-java=\"`delete`\"\u003e`delete`\u003c/span\u003e and `*` (i.e. any).\n"},"digest":{"type":"string","description":"The digest of the artifact that wants to be subscribed for the Connected Registry.\n\n\u003e **Note:** One of either \u003cspan pulumi-lang-nodejs=\"`tag`\" pulumi-lang-dotnet=\"`Tag`\" pulumi-lang-go=\"`tag`\" pulumi-lang-python=\"`tag`\" pulumi-lang-yaml=\"`tag`\" pulumi-lang-java=\"`tag`\"\u003e`tag`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`digest`\" pulumi-lang-dotnet=\"`Digest`\" pulumi-lang-go=\"`digest`\" pulumi-lang-python=\"`digest`\" pulumi-lang-yaml=\"`digest`\" pulumi-lang-java=\"`digest`\"\u003e`digest`\u003c/span\u003e can be specified.\n"},"name":{"type":"string","description":"The name of the artifact that wants to be subscribed for the Connected Registry.\n"},"tag":{"type":"string","description":"The tag of the artifact that wants to be subscribed for the Connected Registry.\n"}},"type":"object","required":["action","name"]},"azure:containerservice/FleetUpdateRunManagedClusterUpdate:FleetUpdateRunManagedClusterUpdate":{"properties":{"nodeImageSelection":{"$ref":"#/types/azure:containerservice/FleetUpdateRunManagedClusterUpdateNodeImageSelection:FleetUpdateRunManagedClusterUpdateNodeImageSelection","description":"A \u003cspan pulumi-lang-nodejs=\"`nodeImageSelection`\" pulumi-lang-dotnet=\"`NodeImageSelection`\" pulumi-lang-go=\"`nodeImageSelection`\" pulumi-lang-python=\"`node_image_selection`\" pulumi-lang-yaml=\"`nodeImageSelection`\" pulumi-lang-java=\"`nodeImageSelection`\"\u003e`node_image_selection`\u003c/span\u003e block as defined below.\n"},"upgrade":{"$ref":"#/types/azure:containerservice/FleetUpdateRunManagedClusterUpdateUpgrade:FleetUpdateRunManagedClusterUpdateUpgrade","description":"A \u003cspan pulumi-lang-nodejs=\"`upgrade`\" pulumi-lang-dotnet=\"`Upgrade`\" pulumi-lang-go=\"`upgrade`\" pulumi-lang-python=\"`upgrade`\" pulumi-lang-yaml=\"`upgrade`\" pulumi-lang-java=\"`upgrade`\"\u003e`upgrade`\u003c/span\u003e block as defined below.\n"}},"type":"object","required":["upgrade"]},"azure:containerservice/FleetUpdateRunManagedClusterUpdateNodeImageSelection:FleetUpdateRunManagedClusterUpdateNodeImageSelection":{"properties":{"type":{"type":"string","description":"Specifies the node image upgrade type. Possible values are `Latest` and `Consistent`.\n"}},"type":"object","required":["type"]},"azure:containerservice/FleetUpdateRunManagedClusterUpdateUpgrade:FleetUpdateRunManagedClusterUpdateUpgrade":{"properties":{"kubernetesVersion":{"type":"string","description":"Specifies the Kubernetes version to upgrade the member clusters to. This is required if \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to `Full`.\n"},"type":{"type":"string","description":"Specifies the type of upgrade to perform. Possible values are `Full` and `NodeImageOnly`.\n"}},"type":"object","required":["type"]},"azure:containerservice/FleetUpdateRunStage:FleetUpdateRunStage":{"properties":{"afterStageWaitInSeconds":{"type":"integer","description":"Specifies the time in seconds to wait at the end of this stage before starting the next one.\n"},"groups":{"type":"array","items":{"$ref":"#/types/azure:containerservice/FleetUpdateRunStageGroup:FleetUpdateRunStageGroup"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`group`\" pulumi-lang-dotnet=\"`Group`\" pulumi-lang-go=\"`group`\" pulumi-lang-python=\"`group`\" pulumi-lang-yaml=\"`group`\" pulumi-lang-java=\"`group`\"\u003e`group`\u003c/span\u003e blocks as defined below.\n"},"name":{"type":"string","description":"The name which should be used for this stage.\n"}},"type":"object","required":["groups","name"]},"azure:containerservice/FleetUpdateRunStageGroup:FleetUpdateRunStageGroup":{"properties":{"name":{"type":"string","description":"The name which should be used for this group.\n"}},"type":"object","required":["name"]},"azure:containerservice/FleetUpdateStrategyStage:FleetUpdateStrategyStage":{"properties":{"afterStageWaitInSeconds":{"type":"integer","description":"Specifies the time in seconds to wait at the end of this stage before starting the next one.\n"},"groups":{"type":"array","items":{"$ref":"#/types/azure:containerservice/FleetUpdateStrategyStageGroup:FleetUpdateStrategyStageGroup"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`group`\" pulumi-lang-dotnet=\"`Group`\" pulumi-lang-go=\"`group`\" pulumi-lang-python=\"`group`\" pulumi-lang-yaml=\"`group`\" pulumi-lang-java=\"`group`\"\u003e`group`\u003c/span\u003e blocks as defined below.\n"},"name":{"type":"string","description":"The name which should be used for this stage.\n"}},"type":"object","required":["groups","name"]},"azure:containerservice/FleetUpdateStrategyStageGroup:FleetUpdateStrategyStageGroup":{"properties":{"name":{"type":"string","description":"The name which should be used for this group.\n"}},"type":"object","required":["name"]},"azure:containerservice/FluxConfigurationBlobStorage:FluxConfigurationBlobStorage":{"properties":{"accountKey":{"type":"string","description":"Specifies the account key (shared key) to access the storage account.\n","secret":true},"containerId":{"type":"string","description":"Specifies the Azure Blob container ID.\n"},"localAuthReference":{"type":"string","description":"Specifies the name of a local secret on the Kubernetes cluster to use as the authentication secret rather than the managed or user-provided configuration secrets.\n"},"managedIdentity":{"$ref":"#/types/azure:containerservice/FluxConfigurationBlobStorageManagedIdentity:FluxConfigurationBlobStorageManagedIdentity","description":"A \u003cspan pulumi-lang-nodejs=\"`managedIdentity`\" pulumi-lang-dotnet=\"`ManagedIdentity`\" pulumi-lang-go=\"`managedIdentity`\" pulumi-lang-python=\"`managed_identity`\" pulumi-lang-yaml=\"`managedIdentity`\" pulumi-lang-java=\"`managedIdentity`\"\u003e`managed_identity`\u003c/span\u003e block as defined below.\n"},"sasToken":{"type":"string","description":"Specifies the shared access token to access the storage container.\n","secret":true},"servicePrincipal":{"$ref":"#/types/azure:containerservice/FluxConfigurationBlobStorageServicePrincipal:FluxConfigurationBlobStorageServicePrincipal","description":"A \u003cspan pulumi-lang-nodejs=\"`servicePrincipal`\" pulumi-lang-dotnet=\"`ServicePrincipal`\" pulumi-lang-go=\"`servicePrincipal`\" pulumi-lang-python=\"`service_principal`\" pulumi-lang-yaml=\"`servicePrincipal`\" pulumi-lang-java=\"`servicePrincipal`\"\u003e`service_principal`\u003c/span\u003e block as defined below.\n"},"syncIntervalInSeconds":{"type":"integer","description":"Specifies the interval at which to re-reconcile the cluster Azure Blob source with the remote.\n"},"timeoutInSeconds":{"type":"integer","description":"Specifies the maximum time to attempt to reconcile the cluster Azure Blob source with the remote.\n"}},"type":"object","required":["containerId"]},"azure:containerservice/FluxConfigurationBlobStorageManagedIdentity:FluxConfigurationBlobStorageManagedIdentity":{"properties":{"clientId":{"type":"string","description":"Specifies the client ID for authenticating a Managed Identity.\n"}},"type":"object","required":["clientId"]},"azure:containerservice/FluxConfigurationBlobStorageServicePrincipal:FluxConfigurationBlobStorageServicePrincipal":{"properties":{"clientCertificateBase64":{"type":"string","description":"Base64-encoded certificate used to authenticate a Service Principal .\n","secret":true},"clientCertificatePassword":{"type":"string","description":"Specifies the password for the certificate used to authenticate a Service Principal .\n","secret":true},"clientCertificateSendChain":{"type":"boolean","description":"Specifies whether to include x5c header in client claims when acquiring a token to enable subject name / issuer based authentication for the client certificate.\n"},"clientId":{"type":"string","description":"Specifies the client ID for authenticating a Service Principal.\n"},"clientSecret":{"type":"string","description":"Specifies the client secret for authenticating a Service Principal.\n","secret":true},"tenantId":{"type":"string","description":"Specifies the tenant ID for authenticating a Service Principal.\n"}},"type":"object","required":["clientId","tenantId"]},"azure:containerservice/FluxConfigurationBucket:FluxConfigurationBucket":{"properties":{"accessKey":{"type":"string","description":"Specifies the plaintext access key used to securely access the S3 bucket.\n"},"bucketName":{"type":"string","description":"Specifies the bucket name to sync from the url endpoint for the flux configuration.\n"},"localAuthReference":{"type":"string","description":"Specifies the name of a local secret on the Kubernetes cluster to use as the authentication secret rather than the managed or user-provided configuration secrets. It must be between 1 and 63 characters. It can contain only lowercase letters, numbers, and hyphens (-). It must start and end with a lowercase letter or number.\n"},"secretKeyBase64":{"type":"string","description":"Specifies the Base64-encoded secret key used to authenticate with the bucket source.\n","secret":true},"syncIntervalInSeconds":{"type":"integer","description":"Specifies the interval at which to re-reconcile the cluster git repository source with the remote. Defaults to \u003cspan pulumi-lang-nodejs=\"`600`\" pulumi-lang-dotnet=\"`600`\" pulumi-lang-go=\"`600`\" pulumi-lang-python=\"`600`\" pulumi-lang-yaml=\"`600`\" pulumi-lang-java=\"`600`\"\u003e`600`\u003c/span\u003e.\n"},"timeoutInSeconds":{"type":"integer","description":"Specifies the maximum time to attempt to reconcile the cluster git repository source with the remote. Defaults to \u003cspan pulumi-lang-nodejs=\"`600`\" pulumi-lang-dotnet=\"`600`\" pulumi-lang-go=\"`600`\" pulumi-lang-python=\"`600`\" pulumi-lang-yaml=\"`600`\" pulumi-lang-java=\"`600`\"\u003e`600`\u003c/span\u003e.\n"},"tlsEnabled":{"type":"boolean","description":"Specify whether to communicate with a bucket using TLS is enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"url":{"type":"string","description":"Specifies the URL to sync for the flux configuration S3 bucket. It must start with `http://` or `https://`.\n"}},"type":"object","required":["bucketName","url"]},"azure:containerservice/FluxConfigurationGitRepository:FluxConfigurationGitRepository":{"properties":{"httpsCaCertBase64":{"type":"string","description":"Specifies the Base64-encoded HTTPS certificate authority contents used to access git private git repositories over HTTPS.\n","secret":true},"httpsKeyBase64":{"type":"string","description":"Specifies the Base64-encoded HTTPS personal access token or password that will be used to access the repository.\n","secret":true},"httpsUser":{"type":"string","description":"Specifies the plaintext HTTPS username used to access private git repositories over HTTPS.\n"},"localAuthReference":{"type":"string","description":"Specifies the name of a local secret on the Kubernetes cluster to use as the authentication secret rather than the managed or user-provided configuration secrets. It must be between 1 and 63 characters. It can contain only lowercase letters, numbers, and hyphens (-). It must start and end with a lowercase letter or number.\n"},"provider":{"type":"string","description":"Specifies the OIDC provider used for workload identity federation authentication against git repositories. Possible values are `Azure`, `Generic`.\n"},"referenceType":{"type":"string","description":"Specifies the source reference type for the GitRepository object. Possible values are \u003cspan pulumi-lang-nodejs=\"`branch`\" pulumi-lang-dotnet=\"`Branch`\" pulumi-lang-go=\"`branch`\" pulumi-lang-python=\"`branch`\" pulumi-lang-yaml=\"`branch`\" pulumi-lang-java=\"`branch`\"\u003e`branch`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`commit`\" pulumi-lang-dotnet=\"`Commit`\" pulumi-lang-go=\"`commit`\" pulumi-lang-python=\"`commit`\" pulumi-lang-yaml=\"`commit`\" pulumi-lang-java=\"`commit`\"\u003e`commit`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`semver`\" pulumi-lang-dotnet=\"`Semver`\" pulumi-lang-go=\"`semver`\" pulumi-lang-python=\"`semver`\" pulumi-lang-yaml=\"`semver`\" pulumi-lang-java=\"`semver`\"\u003e`semver`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`tag`\" pulumi-lang-dotnet=\"`Tag`\" pulumi-lang-go=\"`tag`\" pulumi-lang-python=\"`tag`\" pulumi-lang-yaml=\"`tag`\" pulumi-lang-java=\"`tag`\"\u003e`tag`\u003c/span\u003e.\n"},"referenceValue":{"type":"string","description":"Specifies the source reference value for the GitRepository object.\n"},"sshKnownHostsBase64":{"type":"string","description":"Specifies the Base64-encoded\u003cspan pulumi-lang-nodejs=\" knownHosts \" pulumi-lang-dotnet=\" KnownHosts \" pulumi-lang-go=\" knownHosts \" pulumi-lang-python=\" known_hosts \" pulumi-lang-yaml=\" knownHosts \" pulumi-lang-java=\" knownHosts \"\u003e known_hosts \u003c/span\u003evalue containing public SSH keys required to access private git repositories over SSH.\n"},"sshPrivateKeyBase64":{"type":"string","description":"Specifies the Base64-encoded SSH private key in PEM format.\n","secret":true},"syncIntervalInSeconds":{"type":"integer","description":"Specifies the interval at which to re-reconcile the cluster git repository source with the remote. Defaults to \u003cspan pulumi-lang-nodejs=\"`600`\" pulumi-lang-dotnet=\"`600`\" pulumi-lang-go=\"`600`\" pulumi-lang-python=\"`600`\" pulumi-lang-yaml=\"`600`\" pulumi-lang-java=\"`600`\"\u003e`600`\u003c/span\u003e.\n"},"timeoutInSeconds":{"type":"integer","description":"Specifies the maximum time to attempt to reconcile the cluster git repository source with the remote. Defaults to \u003cspan pulumi-lang-nodejs=\"`600`\" pulumi-lang-dotnet=\"`600`\" pulumi-lang-go=\"`600`\" pulumi-lang-python=\"`600`\" pulumi-lang-yaml=\"`600`\" pulumi-lang-java=\"`600`\"\u003e`600`\u003c/span\u003e.\n"},"url":{"type":"string","description":"Specifies the URL to sync for the flux configuration git repository. It must start with `http://`, `https://`, `git@` or `ssh://`.\n"}},"type":"object","required":["referenceType","referenceValue","url"]},"azure:containerservice/FluxConfigurationKustomization:FluxConfigurationKustomization":{"properties":{"dependsOns":{"type":"array","items":{"type":"string"},"description":"Specifies other kustomizations that this kustomization depends on. This kustomization will not reconcile until all dependencies have completed their reconciliation.\n"},"garbageCollectionEnabled":{"type":"boolean","description":"Whether garbage collections of Kubernetes objects created by this kustomization is enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"name":{"type":"string","description":"Specifies the name of the kustomization.\n"},"path":{"type":"string","description":"Specifies the path in the source reference to reconcile on the cluster.\n"},"postBuild":{"$ref":"#/types/azure:containerservice/FluxConfigurationKustomizationPostBuild:FluxConfigurationKustomizationPostBuild","description":"A \u003cspan pulumi-lang-nodejs=\"`postBuild`\" pulumi-lang-dotnet=\"`PostBuild`\" pulumi-lang-go=\"`postBuild`\" pulumi-lang-python=\"`post_build`\" pulumi-lang-yaml=\"`postBuild`\" pulumi-lang-java=\"`postBuild`\"\u003e`post_build`\u003c/span\u003e block as defined below.\n"},"recreatingEnabled":{"type":"boolean","description":"Whether re-creating Kubernetes resources on the cluster is enabled when patching fails due to an immutable field change. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"retryIntervalInSeconds":{"type":"integer","description":"The interval at which to re-reconcile the kustomization on the cluster in the event of failure on reconciliation. Defaults to \u003cspan pulumi-lang-nodejs=\"`600`\" pulumi-lang-dotnet=\"`600`\" pulumi-lang-go=\"`600`\" pulumi-lang-python=\"`600`\" pulumi-lang-yaml=\"`600`\" pulumi-lang-java=\"`600`\"\u003e`600`\u003c/span\u003e.\n"},"syncIntervalInSeconds":{"type":"integer","description":"The interval at which to re-reconcile the kustomization on the cluster. Defaults to \u003cspan pulumi-lang-nodejs=\"`600`\" pulumi-lang-dotnet=\"`600`\" pulumi-lang-go=\"`600`\" pulumi-lang-python=\"`600`\" pulumi-lang-yaml=\"`600`\" pulumi-lang-java=\"`600`\"\u003e`600`\u003c/span\u003e.\n"},"timeoutInSeconds":{"type":"integer","description":"The maximum time to attempt to reconcile the kustomization on the cluster. Defaults to \u003cspan pulumi-lang-nodejs=\"`600`\" pulumi-lang-dotnet=\"`600`\" pulumi-lang-go=\"`600`\" pulumi-lang-python=\"`600`\" pulumi-lang-yaml=\"`600`\" pulumi-lang-java=\"`600`\"\u003e`600`\u003c/span\u003e.\n"},"wait":{"type":"boolean","description":"Whether to enable health check for all Kubernetes objects created by this Kustomization. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"}},"type":"object","required":["name"]},"azure:containerservice/FluxConfigurationKustomizationPostBuild:FluxConfigurationKustomizationPostBuild":{"properties":{"substitute":{"type":"object","additionalProperties":{"type":"string"},"description":"Specifies the key/value pairs holding the variables to be substituted in this Kustomization.\n"},"substituteFroms":{"type":"array","items":{"$ref":"#/types/azure:containerservice/FluxConfigurationKustomizationPostBuildSubstituteFrom:FluxConfigurationKustomizationPostBuildSubstituteFrom"},"description":"A \u003cspan pulumi-lang-nodejs=\"`substituteFrom`\" pulumi-lang-dotnet=\"`SubstituteFrom`\" pulumi-lang-go=\"`substituteFrom`\" pulumi-lang-python=\"`substitute_from`\" pulumi-lang-yaml=\"`substituteFrom`\" pulumi-lang-java=\"`substituteFrom`\"\u003e`substitute_from`\u003c/span\u003e block as defined below.\n"}},"type":"object"},"azure:containerservice/FluxConfigurationKustomizationPostBuildSubstituteFrom:FluxConfigurationKustomizationPostBuildSubstituteFrom":{"properties":{"kind":{"type":"string","description":"Specifies the source kind to hold the variables to be used in substitution. Possible values are `ConfigMap` and `Secret`.\n"},"name":{"type":"string","description":"Specifies the name of the ConfigMap/Secret that holds the variables to be used in substitution.\n"},"optional":{"type":"boolean","description":"Whether to proceed without ConfigMap/Secret if it is not present. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"}},"type":"object","required":["kind","name"]},"azure:containerservice/GroupContainer:GroupContainer":{"properties":{"commands":{"type":"array","items":{"type":"string"},"description":"A list of commands which should be run on the container. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"cpu":{"type":"number","description":"The required number of CPU cores of the containers. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"cpuLimit":{"type":"number","description":"The upper limit of the number of CPU cores of the containers.\n"},"environmentVariables":{"type":"object","additionalProperties":{"type":"string"},"description":"A list of environment variables to be set on the container. Specified as a map of name/value pairs. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"image":{"type":"string","description":"The container image name. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"livenessProbe":{"$ref":"#/types/azure:containerservice/GroupContainerLivenessProbe:GroupContainerLivenessProbe","description":"The definition of a readiness probe for this container as documented in the \u003cspan pulumi-lang-nodejs=\"`livenessProbe`\" pulumi-lang-dotnet=\"`LivenessProbe`\" pulumi-lang-go=\"`livenessProbe`\" pulumi-lang-python=\"`liveness_probe`\" pulumi-lang-yaml=\"`livenessProbe`\" pulumi-lang-java=\"`livenessProbe`\"\u003e`liveness_probe`\u003c/span\u003e block below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"memory":{"type":"number","description":"The required memory of the containers in GB. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"memoryLimit":{"type":"number","description":"The upper limit of the memory of the containers in GB.\n"},"name":{"type":"string","description":"Specifies the name of the Container. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"ports":{"type":"array","items":{"$ref":"#/types/azure:containerservice/GroupContainerPort:GroupContainerPort"},"description":"A set of public ports for the container. Changing this forces a new resource to be created. Set as documented in the \u003cspan pulumi-lang-nodejs=\"`ports`\" pulumi-lang-dotnet=\"`Ports`\" pulumi-lang-go=\"`ports`\" pulumi-lang-python=\"`ports`\" pulumi-lang-yaml=\"`ports`\" pulumi-lang-java=\"`ports`\"\u003e`ports`\u003c/span\u003e block below.\n","willReplaceOnChanges":true},"readinessProbe":{"$ref":"#/types/azure:containerservice/GroupContainerReadinessProbe:GroupContainerReadinessProbe","description":"The definition of a readiness probe for this container as documented in the \u003cspan pulumi-lang-nodejs=\"`readinessProbe`\" pulumi-lang-dotnet=\"`ReadinessProbe`\" pulumi-lang-go=\"`readinessProbe`\" pulumi-lang-python=\"`readiness_probe`\" pulumi-lang-yaml=\"`readinessProbe`\" pulumi-lang-java=\"`readinessProbe`\"\u003e`readiness_probe`\u003c/span\u003e block below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"secureEnvironmentVariables":{"type":"object","additionalProperties":{"type":"string"},"description":"A list of sensitive environment variables to be set on the container. Specified as a map of name/value pairs. Changing this forces a new resource to be created.\n","secret":true,"willReplaceOnChanges":true},"securities":{"type":"array","items":{"$ref":"#/types/azure:containerservice/GroupContainerSecurity:GroupContainerSecurity"},"description":"The definition of the security context for this container as documented in the \u003cspan pulumi-lang-nodejs=\"`security`\" pulumi-lang-dotnet=\"`Security`\" pulumi-lang-go=\"`security`\" pulumi-lang-python=\"`security`\" pulumi-lang-yaml=\"`security`\" pulumi-lang-java=\"`security`\"\u003e`security`\u003c/span\u003e block below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"volumes":{"type":"array","items":{"$ref":"#/types/azure:containerservice/GroupContainerVolume:GroupContainerVolume"},"description":"The definition of a volume mount for this container as documented in the \u003cspan pulumi-lang-nodejs=\"`volume`\" pulumi-lang-dotnet=\"`Volume`\" pulumi-lang-go=\"`volume`\" pulumi-lang-python=\"`volume`\" pulumi-lang-yaml=\"`volume`\" pulumi-lang-java=\"`volume`\"\u003e`volume`\u003c/span\u003e block below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["cpu","image","memory","name"],"language":{"nodejs":{"requiredOutputs":["commands","cpu","image","memory","name"]}}},"azure:containerservice/GroupContainerLivenessProbe:GroupContainerLivenessProbe":{"properties":{"execs":{"type":"array","items":{"type":"string"},"description":"Commands to be run to validate container readiness. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"failureThreshold":{"type":"integer","description":"How many times to try the probe before restarting the container (liveness probe) or marking the container as unhealthy (readiness probe). Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"httpGets":{"type":"array","items":{"$ref":"#/types/azure:containerservice/GroupContainerLivenessProbeHttpGet:GroupContainerLivenessProbeHttpGet"},"description":"The definition of the\u003cspan pulumi-lang-nodejs=\" httpGet \" pulumi-lang-dotnet=\" HttpGet \" pulumi-lang-go=\" httpGet \" pulumi-lang-python=\" http_get \" pulumi-lang-yaml=\" httpGet \" pulumi-lang-java=\" httpGet \"\u003e http_get \u003c/span\u003efor this container as documented in the \u003cspan pulumi-lang-nodejs=\"`httpGet`\" pulumi-lang-dotnet=\"`HttpGet`\" pulumi-lang-go=\"`httpGet`\" pulumi-lang-python=\"`http_get`\" pulumi-lang-yaml=\"`httpGet`\" pulumi-lang-java=\"`httpGet`\"\u003e`http_get`\u003c/span\u003e block below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"initialDelaySeconds":{"type":"integer","description":"Number of seconds after the container has started before liveness or readiness probes are initiated. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"periodSeconds":{"type":"integer","description":"How often (in seconds) to perform the probe. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"successThreshold":{"type":"integer","description":"Minimum consecutive successes for the probe to be considered successful after having failed. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"timeoutSeconds":{"type":"integer","description":"Number of seconds after which the probe times out. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"},"azure:containerservice/GroupContainerLivenessProbeHttpGet:GroupContainerLivenessProbeHttpGet":{"properties":{"httpHeaders":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of HTTP headers used to access on the container. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"path":{"type":"string","description":"Path to access on the HTTP server. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"port":{"type":"integer","description":"Number of the port to access on the container. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"scheme":{"type":"string","description":"Scheme to use for connecting to the host. Possible values are `Http` and `Https`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"},"azure:containerservice/GroupContainerPort:GroupContainerPort":{"properties":{"port":{"type":"integer","description":"The port number the container will expose. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"protocol":{"type":"string","description":"The network protocol associated with port. Possible values are `TCP` \u0026 `UDP`. Changing this forces a new resource to be created. Defaults to `TCP`.\n\n\u003e **Note:** Omitting these blocks will default the exposed ports on the group to all ports on all containers defined in the \u003cspan pulumi-lang-nodejs=\"`container`\" pulumi-lang-dotnet=\"`Container`\" pulumi-lang-go=\"`container`\" pulumi-lang-python=\"`container`\" pulumi-lang-yaml=\"`container`\" pulumi-lang-java=\"`container`\"\u003e`container`\u003c/span\u003e blocks of this group.\n","willReplaceOnChanges":true}},"type":"object"},"azure:containerservice/GroupContainerReadinessProbe:GroupContainerReadinessProbe":{"properties":{"execs":{"type":"array","items":{"type":"string"},"description":"Commands to be run to validate container readiness. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"failureThreshold":{"type":"integer","description":"How many times to try the probe before restarting the container (liveness probe) or marking the container as unhealthy (readiness probe). Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"httpGets":{"type":"array","items":{"$ref":"#/types/azure:containerservice/GroupContainerReadinessProbeHttpGet:GroupContainerReadinessProbeHttpGet"},"description":"The definition of the\u003cspan pulumi-lang-nodejs=\" httpGet \" pulumi-lang-dotnet=\" HttpGet \" pulumi-lang-go=\" httpGet \" pulumi-lang-python=\" http_get \" pulumi-lang-yaml=\" httpGet \" pulumi-lang-java=\" httpGet \"\u003e http_get \u003c/span\u003efor this container as documented in the \u003cspan pulumi-lang-nodejs=\"`httpGet`\" pulumi-lang-dotnet=\"`HttpGet`\" pulumi-lang-go=\"`httpGet`\" pulumi-lang-python=\"`http_get`\" pulumi-lang-yaml=\"`httpGet`\" pulumi-lang-java=\"`httpGet`\"\u003e`http_get`\u003c/span\u003e block below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"initialDelaySeconds":{"type":"integer","description":"Number of seconds after the container has started before liveness or readiness probes are initiated. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"periodSeconds":{"type":"integer","description":"How often (in seconds) to perform the probe. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"successThreshold":{"type":"integer","description":"Minimum consecutive successes for the probe to be considered successful after having failed. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"timeoutSeconds":{"type":"integer","description":"Number of seconds after which the probe times out. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"},"azure:containerservice/GroupContainerReadinessProbeHttpGet:GroupContainerReadinessProbeHttpGet":{"properties":{"httpHeaders":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of HTTP headers used to access on the container. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"path":{"type":"string","description":"Path to access on the HTTP server. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"port":{"type":"integer","description":"Number of the port to access on the container. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"scheme":{"type":"string","description":"Scheme to use for connecting to the host. Possible values are `Http` and `Https`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"},"azure:containerservice/GroupContainerSecurity:GroupContainerSecurity":{"properties":{"privilegeEnabled":{"type":"boolean","description":"Whether the container's permission is elevated to privileged? Changing this forces a new resource to be created.\n\n\u003e **Note:** Currently, this only applies when the \u003cspan pulumi-lang-nodejs=\"`osType`\" pulumi-lang-dotnet=\"`OsType`\" pulumi-lang-go=\"`osType`\" pulumi-lang-python=\"`os_type`\" pulumi-lang-yaml=\"`osType`\" pulumi-lang-java=\"`osType`\"\u003e`os_type`\u003c/span\u003e is `Linux` and the \u003cspan pulumi-lang-nodejs=\"`sku`\" pulumi-lang-dotnet=\"`Sku`\" pulumi-lang-go=\"`sku`\" pulumi-lang-python=\"`sku`\" pulumi-lang-yaml=\"`sku`\" pulumi-lang-java=\"`sku`\"\u003e`sku`\u003c/span\u003e is `Confidential`.\n","willReplaceOnChanges":true}},"type":"object","required":["privilegeEnabled"]},"azure:containerservice/GroupContainerVolume:GroupContainerVolume":{"properties":{"emptyDir":{"type":"boolean","description":"Boolean as to whether the mounted volume should be an empty directory. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"gitRepo":{"$ref":"#/types/azure:containerservice/GroupContainerVolumeGitRepo:GroupContainerVolumeGitRepo","description":"A \u003cspan pulumi-lang-nodejs=\"`gitRepo`\" pulumi-lang-dotnet=\"`GitRepo`\" pulumi-lang-go=\"`gitRepo`\" pulumi-lang-python=\"`git_repo`\" pulumi-lang-yaml=\"`gitRepo`\" pulumi-lang-java=\"`gitRepo`\"\u003e`git_repo`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"mountPath":{"type":"string","description":"The path on which this volume is to be mounted. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the volume mount. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"readOnly":{"type":"boolean","description":"Specify if the volume is to be mounted as read only or not. The default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"secret":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of secrets that will be mounted as files in the volume. Changing this forces a new resource to be created.\n\n\u003e **Note:** Exactly one of \u003cspan pulumi-lang-nodejs=\"`emptyDir`\" pulumi-lang-dotnet=\"`EmptyDir`\" pulumi-lang-go=\"`emptyDir`\" pulumi-lang-python=\"`empty_dir`\" pulumi-lang-yaml=\"`emptyDir`\" pulumi-lang-java=\"`emptyDir`\"\u003e`empty_dir`\u003c/span\u003e volume, \u003cspan pulumi-lang-nodejs=\"`gitRepo`\" pulumi-lang-dotnet=\"`GitRepo`\" pulumi-lang-go=\"`gitRepo`\" pulumi-lang-python=\"`git_repo`\" pulumi-lang-yaml=\"`gitRepo`\" pulumi-lang-java=\"`gitRepo`\"\u003e`git_repo`\u003c/span\u003e volume, \u003cspan pulumi-lang-nodejs=\"`secret`\" pulumi-lang-dotnet=\"`Secret`\" pulumi-lang-go=\"`secret`\" pulumi-lang-python=\"`secret`\" pulumi-lang-yaml=\"`secret`\" pulumi-lang-java=\"`secret`\"\u003e`secret`\u003c/span\u003e volume or storage account volume (\u003cspan pulumi-lang-nodejs=\"`shareName`\" pulumi-lang-dotnet=\"`ShareName`\" pulumi-lang-go=\"`shareName`\" pulumi-lang-python=\"`share_name`\" pulumi-lang-yaml=\"`shareName`\" pulumi-lang-java=\"`shareName`\"\u003e`share_name`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`storageAccountName`\" pulumi-lang-dotnet=\"`StorageAccountName`\" pulumi-lang-go=\"`storageAccountName`\" pulumi-lang-python=\"`storage_account_name`\" pulumi-lang-yaml=\"`storageAccountName`\" pulumi-lang-java=\"`storageAccountName`\"\u003e`storage_account_name`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`storageAccountKey`\" pulumi-lang-dotnet=\"`StorageAccountKey`\" pulumi-lang-go=\"`storageAccountKey`\" pulumi-lang-python=\"`storage_account_key`\" pulumi-lang-yaml=\"`storageAccountKey`\" pulumi-lang-java=\"`storageAccountKey`\"\u003e`storage_account_key`\u003c/span\u003e) must be specified.\n\n\u003e **Note:** when using a storage account volume, all of \u003cspan pulumi-lang-nodejs=\"`shareName`\" pulumi-lang-dotnet=\"`ShareName`\" pulumi-lang-go=\"`shareName`\" pulumi-lang-python=\"`share_name`\" pulumi-lang-yaml=\"`shareName`\" pulumi-lang-java=\"`shareName`\"\u003e`share_name`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`storageAccountName`\" pulumi-lang-dotnet=\"`StorageAccountName`\" pulumi-lang-go=\"`storageAccountName`\" pulumi-lang-python=\"`storage_account_name`\" pulumi-lang-yaml=\"`storageAccountName`\" pulumi-lang-java=\"`storageAccountName`\"\u003e`storage_account_name`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`storageAccountKey`\" pulumi-lang-dotnet=\"`StorageAccountKey`\" pulumi-lang-go=\"`storageAccountKey`\" pulumi-lang-python=\"`storage_account_key`\" pulumi-lang-yaml=\"`storageAccountKey`\" pulumi-lang-java=\"`storageAccountKey`\"\u003e`storage_account_key`\u003c/span\u003e must be specified.\n\n\u003e **Note:** The secret values must be supplied as Base64 encoded strings. The secret values are decoded to their original values when mounted in the volume on the container.\n","secret":true,"willReplaceOnChanges":true},"shareName":{"type":"string","description":"The Azure storage share that is to be mounted as a volume. This must be created on the storage account specified as above. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"storageAccountKey":{"type":"string","description":"The access key for the Azure Storage account specified as above. Changing this forces a new resource to be created.\n","secret":true,"willReplaceOnChanges":true},"storageAccountName":{"type":"string","description":"The Azure storage account from which the volume is to be mounted. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["mountPath","name"]},"azure:containerservice/GroupContainerVolumeGitRepo:GroupContainerVolumeGitRepo":{"properties":{"directory":{"type":"string","description":"Specifies the directory into which the repository should be cloned. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"revision":{"type":"string","description":"Specifies the commit hash of the revision to be cloned. If unspecified, the HEAD revision is cloned. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"url":{"type":"string","description":"Specifies the Git repository to be cloned. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["url"]},"azure:containerservice/GroupDiagnostics:GroupDiagnostics":{"properties":{"logAnalytics":{"$ref":"#/types/azure:containerservice/GroupDiagnosticsLogAnalytics:GroupDiagnosticsLogAnalytics","description":"A \u003cspan pulumi-lang-nodejs=\"`logAnalytics`\" pulumi-lang-dotnet=\"`LogAnalytics`\" pulumi-lang-go=\"`logAnalytics`\" pulumi-lang-python=\"`log_analytics`\" pulumi-lang-yaml=\"`logAnalytics`\" pulumi-lang-java=\"`logAnalytics`\"\u003e`log_analytics`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["logAnalytics"]},"azure:containerservice/GroupDiagnosticsLogAnalytics:GroupDiagnosticsLogAnalytics":{"properties":{"logType":{"type":"string","description":"The log type which should be used. Possible values are `ContainerInsights` and `ContainerInstanceLogs`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"metadata":{"type":"object","additionalProperties":{"type":"string"},"description":"Any metadata required for Log Analytics. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"workspaceId":{"type":"string","description":"The Workspace ID of the Log Analytics Workspace. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"workspaceKey":{"type":"string","description":"The Workspace Key of the Log Analytics Workspace. Changing this forces a new resource to be created.\n","secret":true,"willReplaceOnChanges":true}},"type":"object","required":["workspaceId","workspaceKey"]},"azure:containerservice/GroupDnsConfig:GroupDnsConfig":{"properties":{"nameservers":{"type":"array","items":{"type":"string"},"description":"A list of nameservers the containers will search out to resolve requests. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"options":{"type":"array","items":{"type":"string"},"description":"A list of [resolver configuration options](https://man7.org/linux/man-pages/man5/resolv.conf.5.html). Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"searchDomains":{"type":"array","items":{"type":"string"},"description":"A list of search domains that DNS requests will search along. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["nameservers"]},"azure:containerservice/GroupExposedPort:GroupExposedPort":{"properties":{"port":{"type":"integer","description":"The port number the container will expose. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"protocol":{"type":"string","description":"The network protocol associated with port. Possible values are `TCP` \u0026 `UDP`. Changing this forces a new resource to be created. Defaults to `TCP`.\n\n\u003e **Note:** Removing all \u003cspan pulumi-lang-nodejs=\"`exposedPort`\" pulumi-lang-dotnet=\"`ExposedPort`\" pulumi-lang-go=\"`exposedPort`\" pulumi-lang-python=\"`exposed_port`\" pulumi-lang-yaml=\"`exposedPort`\" pulumi-lang-java=\"`exposedPort`\"\u003e`exposed_port`\u003c/span\u003e blocks requires setting \u003cspan pulumi-lang-nodejs=\"`exposedPort \" pulumi-lang-dotnet=\"`ExposedPort \" pulumi-lang-go=\"`exposedPort \" pulumi-lang-python=\"`exposed_port \" pulumi-lang-yaml=\"`exposedPort \" pulumi-lang-java=\"`exposedPort \"\u003e`exposed_port \u003c/span\u003e= []`.\n","willReplaceOnChanges":true}},"type":"object"},"azure:containerservice/GroupIdentity:GroupIdentity":{"properties":{"identityIds":{"type":"array","items":{"type":"string"},"description":"Specifies a list of User Assigned Managed Identity IDs to be assigned to this Container Group.\n\n\u003e **Note:** This is required when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to `UserAssigned` or `SystemAssigned, UserAssigned`.\n\n\u003e **Note:** Currently you can't use a managed identity in a container group deployed to a virtual network.\n"},"principalId":{"type":"string","description":"The Principal ID associated with this Managed Service Identity.\n"},"tenantId":{"type":"string","description":"The Tenant ID associated with this Managed Service Identity.\n"},"type":{"type":"string","description":"Specifies the type of Managed Service Identity that should be configured on this Container Group. Possible values are `SystemAssigned`, `UserAssigned`, `SystemAssigned, UserAssigned` (to enable both).\n\n\u003e **Note:** When \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to `SystemAssigned`, the identity of the Principal ID can be retrieved after the container group has been created. See [documentation](https://docs.microsoft.com/azure/active-directory/managed-service-identity/overview) for more information.\n"}},"type":"object","required":["type"],"language":{"nodejs":{"requiredOutputs":["principalId","tenantId","type"]}}},"azure:containerservice/GroupImageRegistryCredential:GroupImageRegistryCredential":{"properties":{"password":{"type":"string","description":"The password with which to connect to the registry. Changing this forces a new resource to be created.\n","secret":true,"willReplaceOnChanges":true},"server":{"type":"string","description":"The address to use to connect to the registry without protocol (\"https\"/\"http\"). For example: \"myacr.acr.io\". Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"userAssignedIdentityId":{"type":"string","description":"The identity ID for the private registry. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"username":{"type":"string","description":"The username with which to connect to the registry. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["server"]},"azure:containerservice/GroupInitContainer:GroupInitContainer":{"properties":{"commands":{"type":"array","items":{"type":"string"},"description":"A list of commands which should be run on the container. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"environmentVariables":{"type":"object","additionalProperties":{"type":"string"},"description":"A list of environment variables to be set on the container. Specified as a map of name/value pairs. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"image":{"type":"string","description":"The container image name. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the Container. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"secureEnvironmentVariables":{"type":"object","additionalProperties":{"type":"string"},"description":"A list of sensitive environment variables to be set on the container. Specified as a map of name/value pairs. Changing this forces a new resource to be created.\n","secret":true,"willReplaceOnChanges":true},"securities":{"type":"array","items":{"$ref":"#/types/azure:containerservice/GroupInitContainerSecurity:GroupInitContainerSecurity"},"description":"The definition of the security context for this container as documented in the \u003cspan pulumi-lang-nodejs=\"`security`\" pulumi-lang-dotnet=\"`Security`\" pulumi-lang-go=\"`security`\" pulumi-lang-python=\"`security`\" pulumi-lang-yaml=\"`security`\" pulumi-lang-java=\"`security`\"\u003e`security`\u003c/span\u003e block below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"volumes":{"type":"array","items":{"$ref":"#/types/azure:containerservice/GroupInitContainerVolume:GroupInitContainerVolume"},"description":"The definition of a volume mount for this container as documented in the \u003cspan pulumi-lang-nodejs=\"`volume`\" pulumi-lang-dotnet=\"`Volume`\" pulumi-lang-go=\"`volume`\" pulumi-lang-python=\"`volume`\" pulumi-lang-yaml=\"`volume`\" pulumi-lang-java=\"`volume`\"\u003e`volume`\u003c/span\u003e block below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["image","name"],"language":{"nodejs":{"requiredOutputs":["commands","image","name"]}}},"azure:containerservice/GroupInitContainerSecurity:GroupInitContainerSecurity":{"properties":{"privilegeEnabled":{"type":"boolean","description":"Whether the container's permission is elevated to privileged? Changing this forces a new resource to be created.\n\n\u003e **Note:** Currently, this only applies when the \u003cspan pulumi-lang-nodejs=\"`osType`\" pulumi-lang-dotnet=\"`OsType`\" pulumi-lang-go=\"`osType`\" pulumi-lang-python=\"`os_type`\" pulumi-lang-yaml=\"`osType`\" pulumi-lang-java=\"`osType`\"\u003e`os_type`\u003c/span\u003e is `Linux` and the \u003cspan pulumi-lang-nodejs=\"`sku`\" pulumi-lang-dotnet=\"`Sku`\" pulumi-lang-go=\"`sku`\" pulumi-lang-python=\"`sku`\" pulumi-lang-yaml=\"`sku`\" pulumi-lang-java=\"`sku`\"\u003e`sku`\u003c/span\u003e is `Confidential`.\n","willReplaceOnChanges":true}},"type":"object","required":["privilegeEnabled"]},"azure:containerservice/GroupInitContainerVolume:GroupInitContainerVolume":{"properties":{"emptyDir":{"type":"boolean","description":"Boolean as to whether the mounted volume should be an empty directory. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"gitRepo":{"$ref":"#/types/azure:containerservice/GroupInitContainerVolumeGitRepo:GroupInitContainerVolumeGitRepo","description":"A \u003cspan pulumi-lang-nodejs=\"`gitRepo`\" pulumi-lang-dotnet=\"`GitRepo`\" pulumi-lang-go=\"`gitRepo`\" pulumi-lang-python=\"`git_repo`\" pulumi-lang-yaml=\"`gitRepo`\" pulumi-lang-java=\"`gitRepo`\"\u003e`git_repo`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"mountPath":{"type":"string","description":"The path on which this volume is to be mounted. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the volume mount. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"readOnly":{"type":"boolean","description":"Specify if the volume is to be mounted as read only or not. The default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"secret":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of secrets that will be mounted as files in the volume. Changing this forces a new resource to be created.\n\n\u003e **Note:** Exactly one of \u003cspan pulumi-lang-nodejs=\"`emptyDir`\" pulumi-lang-dotnet=\"`EmptyDir`\" pulumi-lang-go=\"`emptyDir`\" pulumi-lang-python=\"`empty_dir`\" pulumi-lang-yaml=\"`emptyDir`\" pulumi-lang-java=\"`emptyDir`\"\u003e`empty_dir`\u003c/span\u003e volume, \u003cspan pulumi-lang-nodejs=\"`gitRepo`\" pulumi-lang-dotnet=\"`GitRepo`\" pulumi-lang-go=\"`gitRepo`\" pulumi-lang-python=\"`git_repo`\" pulumi-lang-yaml=\"`gitRepo`\" pulumi-lang-java=\"`gitRepo`\"\u003e`git_repo`\u003c/span\u003e volume, \u003cspan pulumi-lang-nodejs=\"`secret`\" pulumi-lang-dotnet=\"`Secret`\" pulumi-lang-go=\"`secret`\" pulumi-lang-python=\"`secret`\" pulumi-lang-yaml=\"`secret`\" pulumi-lang-java=\"`secret`\"\u003e`secret`\u003c/span\u003e volume or storage account volume (\u003cspan pulumi-lang-nodejs=\"`shareName`\" pulumi-lang-dotnet=\"`ShareName`\" pulumi-lang-go=\"`shareName`\" pulumi-lang-python=\"`share_name`\" pulumi-lang-yaml=\"`shareName`\" pulumi-lang-java=\"`shareName`\"\u003e`share_name`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`storageAccountName`\" pulumi-lang-dotnet=\"`StorageAccountName`\" pulumi-lang-go=\"`storageAccountName`\" pulumi-lang-python=\"`storage_account_name`\" pulumi-lang-yaml=\"`storageAccountName`\" pulumi-lang-java=\"`storageAccountName`\"\u003e`storage_account_name`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`storageAccountKey`\" pulumi-lang-dotnet=\"`StorageAccountKey`\" pulumi-lang-go=\"`storageAccountKey`\" pulumi-lang-python=\"`storage_account_key`\" pulumi-lang-yaml=\"`storageAccountKey`\" pulumi-lang-java=\"`storageAccountKey`\"\u003e`storage_account_key`\u003c/span\u003e) must be specified.\n\n\u003e **Note:** when using a storage account volume, all of \u003cspan pulumi-lang-nodejs=\"`shareName`\" pulumi-lang-dotnet=\"`ShareName`\" pulumi-lang-go=\"`shareName`\" pulumi-lang-python=\"`share_name`\" pulumi-lang-yaml=\"`shareName`\" pulumi-lang-java=\"`shareName`\"\u003e`share_name`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`storageAccountName`\" pulumi-lang-dotnet=\"`StorageAccountName`\" pulumi-lang-go=\"`storageAccountName`\" pulumi-lang-python=\"`storage_account_name`\" pulumi-lang-yaml=\"`storageAccountName`\" pulumi-lang-java=\"`storageAccountName`\"\u003e`storage_account_name`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`storageAccountKey`\" pulumi-lang-dotnet=\"`StorageAccountKey`\" pulumi-lang-go=\"`storageAccountKey`\" pulumi-lang-python=\"`storage_account_key`\" pulumi-lang-yaml=\"`storageAccountKey`\" pulumi-lang-java=\"`storageAccountKey`\"\u003e`storage_account_key`\u003c/span\u003e must be specified.\n\n\u003e **Note:** The secret values must be supplied as Base64 encoded strings. The secret values are decoded to their original values when mounted in the volume on the container.\n","secret":true,"willReplaceOnChanges":true},"shareName":{"type":"string","description":"The Azure storage share that is to be mounted as a volume. This must be created on the storage account specified as above. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"storageAccountKey":{"type":"string","description":"The access key for the Azure Storage account specified as above. Changing this forces a new resource to be created.\n","secret":true,"willReplaceOnChanges":true},"storageAccountName":{"type":"string","description":"The Azure storage account from which the volume is to be mounted. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["mountPath","name"]},"azure:containerservice/GroupInitContainerVolumeGitRepo:GroupInitContainerVolumeGitRepo":{"properties":{"directory":{"type":"string","description":"Specifies the directory into which the repository should be cloned. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"revision":{"type":"string","description":"Specifies the commit hash of the revision to be cloned. If unspecified, the HEAD revision is cloned. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"url":{"type":"string","description":"Specifies the Git repository to be cloned. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["url"]},"azure:containerservice/KubernetesClusterAciConnectorLinux:KubernetesClusterAciConnectorLinux":{"properties":{"connectorIdentities":{"type":"array","items":{"$ref":"#/types/azure:containerservice/KubernetesClusterAciConnectorLinuxConnectorIdentity:KubernetesClusterAciConnectorLinuxConnectorIdentity"},"description":"A \u003cspan pulumi-lang-nodejs=\"`connectorIdentity`\" pulumi-lang-dotnet=\"`ConnectorIdentity`\" pulumi-lang-go=\"`connectorIdentity`\" pulumi-lang-python=\"`connector_identity`\" pulumi-lang-yaml=\"`connectorIdentity`\" pulumi-lang-java=\"`connectorIdentity`\"\u003e`connector_identity`\u003c/span\u003e block is exported. The exported attributes are defined below.\n"},"subnetName":{"type":"string","description":"The subnet name for the virtual nodes to run.\n\n\u003e **Note:** At this time ACI Connectors are not supported in Azure China.\n\n\u003e **Note:** AKS will add a delegation to the subnet named here. To prevent further runs from failing you should make sure that the subnet you create for virtual nodes has a delegation, like so.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst virtual = new azure.network.Subnet(\"virtual\", {delegations: [{\n    name: \"aciDelegation\",\n    serviceDelegation: {\n        name: \"Microsoft.ContainerInstance/containerGroups\",\n        actions: [\"Microsoft.Network/virtualNetworks/subnets/action\"],\n    },\n}]});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nvirtual = azure.network.Subnet(\"virtual\", delegations=[{\n    \"name\": \"aciDelegation\",\n    \"service_delegation\": {\n        \"name\": \"Microsoft.ContainerInstance/containerGroups\",\n        \"actions\": [\"Microsoft.Network/virtualNetworks/subnets/action\"],\n    },\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var @virtual = new Azure.Network.Subnet(\"virtual\", new()\n    {\n        Delegations = new[]\n        {\n            new Azure.Network.Inputs.SubnetDelegationArgs\n            {\n                Name = \"aciDelegation\",\n                ServiceDelegation = new Azure.Network.Inputs.SubnetDelegationServiceDelegationArgs\n                {\n                    Name = \"Microsoft.ContainerInstance/containerGroups\",\n                    Actions = new[]\n                    {\n                        \"Microsoft.Network/virtualNetworks/subnets/action\",\n                    },\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := network.NewSubnet(ctx, \"virtual\", \u0026network.SubnetArgs{\n\t\t\tDelegations: network.SubnetDelegationArray{\n\t\t\t\t\u0026network.SubnetDelegationArgs{\n\t\t\t\t\tName: pulumi.String(\"aciDelegation\"),\n\t\t\t\t\tServiceDelegation: \u0026network.SubnetDelegationServiceDelegationArgs{\n\t\t\t\t\t\tName: pulumi.String(\"Microsoft.ContainerInstance/containerGroups\"),\n\t\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"Microsoft.Network/virtualNetworks/subnets/action\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.network.Subnet;\nimport com.pulumi.azure.network.SubnetArgs;\nimport com.pulumi.azure.network.inputs.SubnetDelegationArgs;\nimport com.pulumi.azure.network.inputs.SubnetDelegationServiceDelegationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var virtual = new Subnet(\"virtual\", SubnetArgs.builder()\n            .delegations(SubnetDelegationArgs.builder()\n                .name(\"aciDelegation\")\n                .serviceDelegation(SubnetDelegationServiceDelegationArgs.builder()\n                    .name(\"Microsoft.ContainerInstance/containerGroups\")\n                    .actions(\"Microsoft.Network/virtualNetworks/subnets/action\")\n                    .build())\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  virtual:\n    type: azure:network:Subnet\n    properties:\n      delegations:\n        - name: aciDelegation\n          serviceDelegation:\n            name: Microsoft.ContainerInstance/containerGroups\n            actions:\n              - Microsoft.Network/virtualNetworks/subnets/action\n```\n\u003c!--End PulumiCodeChooser --\u003e\n"}},"type":"object","required":["subnetName"],"language":{"nodejs":{"requiredOutputs":["connectorIdentities","subnetName"]}}},"azure:containerservice/KubernetesClusterAciConnectorLinuxConnectorIdentity:KubernetesClusterAciConnectorLinuxConnectorIdentity":{"properties":{"clientId":{"type":"string","description":"The Client ID of the user-defined Managed Identity used for Web App Routing.\n"},"objectId":{"type":"string","description":"The Object ID of the user-defined Managed Identity used for Web App Routing\n"},"userAssignedIdentityId":{"type":"string","description":"The ID of the User Assigned Identity used for Web App Routing.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["clientId","objectId","userAssignedIdentityId"]}}},"azure:containerservice/KubernetesClusterApiServerAccessProfile:KubernetesClusterApiServerAccessProfile":{"properties":{"authorizedIpRanges":{"type":"array","items":{"type":"string"},"description":"Set of authorized IP ranges to allow access to API server, e.g. [\"198.51.100.0/24\"].\n"},"subnetId":{"type":"string","description":"The ID of the Subnet where the API server endpoint is delegated to.\n"},"virtualNetworkIntegrationEnabled":{"type":"boolean","description":"Whether to enable virtual network integration for the API Server. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"}},"type":"object"},"azure:containerservice/KubernetesClusterAutoScalerProfile:KubernetesClusterAutoScalerProfile":{"properties":{"balanceSimilarNodeGroups":{"type":"boolean","description":"Detect similar node groups and balance the number of nodes between them. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"daemonsetEvictionForEmptyNodesEnabled":{"type":"boolean","description":"Whether DaemonSet pods will be gracefully terminated from empty nodes. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"daemonsetEvictionForOccupiedNodesEnabled":{"type":"boolean","description":"Whether DaemonSet pods will be gracefully terminated from non-empty nodes. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"emptyBulkDeleteMax":{"type":"string","description":"Maximum number of empty nodes that can be deleted at the same time. Defaults to \u003cspan pulumi-lang-nodejs=\"`10`\" pulumi-lang-dotnet=\"`10`\" pulumi-lang-go=\"`10`\" pulumi-lang-python=\"`10`\" pulumi-lang-yaml=\"`10`\" pulumi-lang-java=\"`10`\"\u003e`10`\u003c/span\u003e.\n"},"expander":{"type":"string","description":"Expander to use. Possible values are `least-waste`, \u003cspan pulumi-lang-nodejs=\"`priority`\" pulumi-lang-dotnet=\"`Priority`\" pulumi-lang-go=\"`priority`\" pulumi-lang-python=\"`priority`\" pulumi-lang-yaml=\"`priority`\" pulumi-lang-java=\"`priority`\"\u003e`priority`\u003c/span\u003e, `most-pods` and \u003cspan pulumi-lang-nodejs=\"`random`\" pulumi-lang-dotnet=\"`Random`\" pulumi-lang-go=\"`random`\" pulumi-lang-python=\"`random`\" pulumi-lang-yaml=\"`random`\" pulumi-lang-java=\"`random`\"\u003e`random`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`random`\" pulumi-lang-dotnet=\"`Random`\" pulumi-lang-go=\"`random`\" pulumi-lang-python=\"`random`\" pulumi-lang-yaml=\"`random`\" pulumi-lang-java=\"`random`\"\u003e`random`\u003c/span\u003e.\n"},"ignoreDaemonsetsUtilizationEnabled":{"type":"boolean","description":"Whether DaemonSet pods will be ignored when calculating resource utilization for scale down. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"maxGracefulTerminationSec":{"type":"string","description":"Maximum number of seconds the cluster autoscaler waits for pod termination when trying to scale down a node. Defaults to \u003cspan pulumi-lang-nodejs=\"`600`\" pulumi-lang-dotnet=\"`600`\" pulumi-lang-go=\"`600`\" pulumi-lang-python=\"`600`\" pulumi-lang-yaml=\"`600`\" pulumi-lang-java=\"`600`\"\u003e`600`\u003c/span\u003e.\n"},"maxNodeProvisioningTime":{"type":"string","description":"Maximum time the autoscaler waits for a node to be provisioned. Defaults to \u003cspan pulumi-lang-nodejs=\"`15m`\" pulumi-lang-dotnet=\"`15m`\" pulumi-lang-go=\"`15m`\" pulumi-lang-python=\"`15m`\" pulumi-lang-yaml=\"`15m`\" pulumi-lang-java=\"`15m`\"\u003e`15m`\u003c/span\u003e.\n"},"maxUnreadyNodes":{"type":"integer","description":"Maximum Number of allowed unready nodes. Defaults to \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e.\n"},"maxUnreadyPercentage":{"type":"number","description":"Maximum percentage of unready nodes the cluster autoscaler will stop if the percentage is exceeded. Defaults to \u003cspan pulumi-lang-nodejs=\"`45`\" pulumi-lang-dotnet=\"`45`\" pulumi-lang-go=\"`45`\" pulumi-lang-python=\"`45`\" pulumi-lang-yaml=\"`45`\" pulumi-lang-java=\"`45`\"\u003e`45`\u003c/span\u003e.\n"},"newPodScaleUpDelay":{"type":"string","description":"For scenarios like burst/batch scale where you don't want CA to act before the kubernetes scheduler could schedule all the pods, you can tell CA to ignore unscheduled pods before they're a certain age. Defaults to \u003cspan pulumi-lang-nodejs=\"`10s`\" pulumi-lang-dotnet=\"`10s`\" pulumi-lang-go=\"`10s`\" pulumi-lang-python=\"`10s`\" pulumi-lang-yaml=\"`10s`\" pulumi-lang-java=\"`10s`\"\u003e`10s`\u003c/span\u003e.\n"},"scaleDownDelayAfterAdd":{"type":"string","description":"How long after the scale up of AKS nodes the scale down evaluation resumes. Defaults to \u003cspan pulumi-lang-nodejs=\"`10m`\" pulumi-lang-dotnet=\"`10m`\" pulumi-lang-go=\"`10m`\" pulumi-lang-python=\"`10m`\" pulumi-lang-yaml=\"`10m`\" pulumi-lang-java=\"`10m`\"\u003e`10m`\u003c/span\u003e.\n"},"scaleDownDelayAfterDelete":{"type":"string","description":"How long after node deletion that scale down evaluation resumes. Defaults to the value used for \u003cspan pulumi-lang-nodejs=\"`scanInterval`\" pulumi-lang-dotnet=\"`ScanInterval`\" pulumi-lang-go=\"`scanInterval`\" pulumi-lang-python=\"`scan_interval`\" pulumi-lang-yaml=\"`scanInterval`\" pulumi-lang-java=\"`scanInterval`\"\u003e`scan_interval`\u003c/span\u003e.\n"},"scaleDownDelayAfterFailure":{"type":"string","description":"How long after scale down failure that scale down evaluation resumes. Defaults to \u003cspan pulumi-lang-nodejs=\"`3m`\" pulumi-lang-dotnet=\"`3m`\" pulumi-lang-go=\"`3m`\" pulumi-lang-python=\"`3m`\" pulumi-lang-yaml=\"`3m`\" pulumi-lang-java=\"`3m`\"\u003e`3m`\u003c/span\u003e.\n"},"scaleDownUnneeded":{"type":"string","description":"How long a node should be unneeded before it is eligible for scale down. Defaults to \u003cspan pulumi-lang-nodejs=\"`10m`\" pulumi-lang-dotnet=\"`10m`\" pulumi-lang-go=\"`10m`\" pulumi-lang-python=\"`10m`\" pulumi-lang-yaml=\"`10m`\" pulumi-lang-java=\"`10m`\"\u003e`10m`\u003c/span\u003e.\n"},"scaleDownUnready":{"type":"string","description":"How long an unready node should be unneeded before it is eligible for scale down. Defaults to \u003cspan pulumi-lang-nodejs=\"`20m`\" pulumi-lang-dotnet=\"`20m`\" pulumi-lang-go=\"`20m`\" pulumi-lang-python=\"`20m`\" pulumi-lang-yaml=\"`20m`\" pulumi-lang-java=\"`20m`\"\u003e`20m`\u003c/span\u003e.\n"},"scaleDownUtilizationThreshold":{"type":"string","description":"Node utilization level, defined as sum of requested resources divided by capacity, below which a node can be considered for scale down. Defaults to `0.5`.\n"},"scanInterval":{"type":"string","description":"How often the AKS Cluster should be re-evaluated for scale up/down. Defaults to \u003cspan pulumi-lang-nodejs=\"`10s`\" pulumi-lang-dotnet=\"`10s`\" pulumi-lang-go=\"`10s`\" pulumi-lang-python=\"`10s`\" pulumi-lang-yaml=\"`10s`\" pulumi-lang-java=\"`10s`\"\u003e`10s`\u003c/span\u003e.\n"},"skipNodesWithLocalStorage":{"type":"boolean","description":"If \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e cluster autoscaler will never delete nodes with pods with local storage, for example, EmptyDir or HostPath. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\u003c!-- Note: Although Azure’s API default is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, Terraform sends the zero-value (\u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e) whenever an \u003cspan pulumi-lang-nodejs=\"`autoScalerProfile`\" pulumi-lang-dotnet=\"`AutoScalerProfile`\" pulumi-lang-go=\"`autoScalerProfile`\" pulumi-lang-python=\"`auto_scaler_profile`\" pulumi-lang-yaml=\"`autoScalerProfile`\" pulumi-lang-java=\"`autoScalerProfile`\"\u003e`auto_scaler_profile`\u003c/span\u003e block is present but this field isn’t set. --\u003e\n"},"skipNodesWithSystemPods":{"type":"boolean","description":"If \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e cluster autoscaler will never delete nodes with pods from kube-system (except for DaemonSet or mirror pods). Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["emptyBulkDeleteMax","maxGracefulTerminationSec","newPodScaleUpDelay","scaleDownDelayAfterAdd","scaleDownDelayAfterDelete","scaleDownDelayAfterFailure","scaleDownUnneeded","scaleDownUnready","scaleDownUtilizationThreshold","scanInterval"]}}},"azure:containerservice/KubernetesClusterAzureActiveDirectoryRoleBasedAccessControl:KubernetesClusterAzureActiveDirectoryRoleBasedAccessControl":{"properties":{"adminGroupObjectIds":{"type":"array","items":{"type":"string"},"description":"A list of Object IDs of Azure Active Directory Groups which should have Admin Role on the Cluster.\n"},"azureRbacEnabled":{"type":"boolean","description":"Is Role Based Access Control based on Azure AD enabled?\n"},"tenantId":{"type":"string","description":"The Tenant ID used for Azure Active Directory Application. If this isn't specified the Tenant ID of the current Subscription is used.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["tenantId"]}}},"azure:containerservice/KubernetesClusterBootstrapProfile:KubernetesClusterBootstrapProfile":{"properties":{"artifactSource":{"type":"string","description":"The artifact source. The source where the artifacts are downloaded from. Possible values are `Cache` and `Direct`. Defaults to `Direct`.\n\n\u003e **Note:** If the \u003cspan pulumi-lang-nodejs=\"`artifactSource`\" pulumi-lang-dotnet=\"`ArtifactSource`\" pulumi-lang-go=\"`artifactSource`\" pulumi-lang-python=\"`artifact_source`\" pulumi-lang-yaml=\"`artifactSource`\" pulumi-lang-java=\"`artifactSource`\"\u003e`artifact_source`\u003c/span\u003e is set to `Cache` and the \u003cspan pulumi-lang-nodejs=\"`outboundType`\" pulumi-lang-dotnet=\"`OutboundType`\" pulumi-lang-go=\"`outboundType`\" pulumi-lang-python=\"`outbound_type`\" pulumi-lang-yaml=\"`outboundType`\" pulumi-lang-java=\"`outboundType`\"\u003e`outbound_type`\u003c/span\u003e has been specified, the managed ACR and related resources will **not** be automatically deleted and must be removed manually. Please see the product [documentation](https://learn.microsoft.com/azure/aks/concepts-network-isolated#how-a-network-isolated-cluster-works) for more information.\n"},"containerRegistryId":{"type":"string","description":"The resource Id of Azure Container Registry.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`containerRegistryId`\" pulumi-lang-dotnet=\"`ContainerRegistryId`\" pulumi-lang-go=\"`containerRegistryId`\" pulumi-lang-python=\"`container_registry_id`\" pulumi-lang-yaml=\"`containerRegistryId`\" pulumi-lang-java=\"`containerRegistryId`\"\u003e`container_registry_id`\u003c/span\u003e requires an ACR with a private link to the cluster. You must manage permissions, cache rules, the associated private link and the private endpoint. Please see the product [documentation](https://learn.microsoft.com/azure/container-registry/container-registry-private-link) for more information on configuring an ACR with a private endpoint.\n"}},"type":"object"},"azure:containerservice/KubernetesClusterConfidentialComputing:KubernetesClusterConfidentialComputing":{"properties":{"sgxQuoteHelperEnabled":{"type":"boolean","description":"Should the SGX quote helper be enabled?\n"}},"type":"object","required":["sgxQuoteHelperEnabled"]},"azure:containerservice/KubernetesClusterDefaultNodePool:KubernetesClusterDefaultNodePool":{"properties":{"autoScalingEnabled":{"type":"boolean","description":"Should [the Kubernetes Auto Scaler](https://docs.microsoft.com/azure/aks/cluster-autoscaler) be enabled for this Node Pool?\n\n\u003e **Note:** This requires that the \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to `VirtualMachineScaleSets`.\n\n\u003e **Note:** If you're using AutoScaling, you may wish to use [`ignoreChanges` functionality](https://www.pulumi.com/docs/intro/concepts/programming-model/#ignorechanges) to ignore changes to the \u003cspan pulumi-lang-nodejs=\"`nodeCount`\" pulumi-lang-dotnet=\"`NodeCount`\" pulumi-lang-go=\"`nodeCount`\" pulumi-lang-python=\"`node_count`\" pulumi-lang-yaml=\"`nodeCount`\" pulumi-lang-java=\"`nodeCount`\"\u003e`node_count`\u003c/span\u003e field.\n"},"capacityReservationGroupId":{"type":"string","description":"Specifies the ID of the Capacity Reservation Group within which this AKS Cluster should be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"fipsEnabled":{"type":"boolean","description":"Should the nodes in this Node Pool have Federal Information Processing Standard enabled? \u003cspan pulumi-lang-nodejs=\"`temporaryNameForRotation`\" pulumi-lang-dotnet=\"`TemporaryNameForRotation`\" pulumi-lang-go=\"`temporaryNameForRotation`\" pulumi-lang-python=\"`temporary_name_for_rotation`\" pulumi-lang-yaml=\"`temporaryNameForRotation`\" pulumi-lang-java=\"`temporaryNameForRotation`\"\u003e`temporary_name_for_rotation`\u003c/span\u003e must be specified when changing this block.\n"},"gpuDriver":{"type":"string","description":"Specifies the driver type for GPU nodes. Possible values are `Install` and `None`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"gpuInstance":{"type":"string","description":"Specifies the GPU MIG instance profile for supported GPU VM SKU. The allowed values are `MIG1g`, `MIG2g`, `MIG3g`, `MIG4g` and `MIG7g`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"hostEncryptionEnabled":{"type":"boolean","description":"Should the nodes in the Default Node Pool have host encryption enabled? \u003cspan pulumi-lang-nodejs=\"`temporaryNameForRotation`\" pulumi-lang-dotnet=\"`TemporaryNameForRotation`\" pulumi-lang-go=\"`temporaryNameForRotation`\" pulumi-lang-python=\"`temporary_name_for_rotation`\" pulumi-lang-yaml=\"`temporaryNameForRotation`\" pulumi-lang-java=\"`temporaryNameForRotation`\"\u003e`temporary_name_for_rotation`\u003c/span\u003e must be specified when changing this property.\n\n\u003e **Note:** This requires that the Feature `Microsoft.Compute/EncryptionAtHost` is enabled and the Resource Provider is registered.\n"},"hostGroupId":{"type":"string","description":"Specifies the ID of the Host Group within which this AKS Cluster should be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"kubeletConfig":{"$ref":"#/types/azure:containerservice/KubernetesClusterDefaultNodePoolKubeletConfig:KubernetesClusterDefaultNodePoolKubeletConfig","description":"A \u003cspan pulumi-lang-nodejs=\"`kubeletConfig`\" pulumi-lang-dotnet=\"`KubeletConfig`\" pulumi-lang-go=\"`kubeletConfig`\" pulumi-lang-python=\"`kubelet_config`\" pulumi-lang-yaml=\"`kubeletConfig`\" pulumi-lang-java=\"`kubeletConfig`\"\u003e`kubelet_config`\u003c/span\u003e block as defined below. \u003cspan pulumi-lang-nodejs=\"`temporaryNameForRotation`\" pulumi-lang-dotnet=\"`TemporaryNameForRotation`\" pulumi-lang-go=\"`temporaryNameForRotation`\" pulumi-lang-python=\"`temporary_name_for_rotation`\" pulumi-lang-yaml=\"`temporaryNameForRotation`\" pulumi-lang-java=\"`temporaryNameForRotation`\"\u003e`temporary_name_for_rotation`\u003c/span\u003e must be specified when changing this block.\n"},"kubeletDiskType":{"type":"string","description":"The type of disk used by kubelet. Possible values are `OS` and `Temporary`. \u003cspan pulumi-lang-nodejs=\"`temporaryNameForRotation`\" pulumi-lang-dotnet=\"`TemporaryNameForRotation`\" pulumi-lang-go=\"`temporaryNameForRotation`\" pulumi-lang-python=\"`temporary_name_for_rotation`\" pulumi-lang-yaml=\"`temporaryNameForRotation`\" pulumi-lang-java=\"`temporaryNameForRotation`\"\u003e`temporary_name_for_rotation`\u003c/span\u003e must be specified when changing this block.\n"},"linuxOsConfig":{"$ref":"#/types/azure:containerservice/KubernetesClusterDefaultNodePoolLinuxOsConfig:KubernetesClusterDefaultNodePoolLinuxOsConfig","description":"A \u003cspan pulumi-lang-nodejs=\"`linuxOsConfig`\" pulumi-lang-dotnet=\"`LinuxOsConfig`\" pulumi-lang-go=\"`linuxOsConfig`\" pulumi-lang-python=\"`linux_os_config`\" pulumi-lang-yaml=\"`linuxOsConfig`\" pulumi-lang-java=\"`linuxOsConfig`\"\u003e`linux_os_config`\u003c/span\u003e block as defined below. \u003cspan pulumi-lang-nodejs=\"`temporaryNameForRotation`\" pulumi-lang-dotnet=\"`TemporaryNameForRotation`\" pulumi-lang-go=\"`temporaryNameForRotation`\" pulumi-lang-python=\"`temporary_name_for_rotation`\" pulumi-lang-yaml=\"`temporaryNameForRotation`\" pulumi-lang-java=\"`temporaryNameForRotation`\"\u003e`temporary_name_for_rotation`\u003c/span\u003e must be specified when changing this block.\n"},"maxCount":{"type":"integer"},"maxPods":{"type":"integer","description":"The maximum number of pods that can run on each agent. \u003cspan pulumi-lang-nodejs=\"`temporaryNameForRotation`\" pulumi-lang-dotnet=\"`TemporaryNameForRotation`\" pulumi-lang-go=\"`temporaryNameForRotation`\" pulumi-lang-python=\"`temporary_name_for_rotation`\" pulumi-lang-yaml=\"`temporaryNameForRotation`\" pulumi-lang-java=\"`temporaryNameForRotation`\"\u003e`temporary_name_for_rotation`\u003c/span\u003e must be specified when changing this property.\n"},"minCount":{"type":"integer"},"name":{"type":"string","description":"The name which should be used for the default Kubernetes Node Pool.\n"},"nodeCount":{"type":"integer"},"nodeLabels":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of Kubernetes labels which should be applied to nodes in the Default Node Pool.\n"},"nodeNetworkProfile":{"$ref":"#/types/azure:containerservice/KubernetesClusterDefaultNodePoolNodeNetworkProfile:KubernetesClusterDefaultNodePoolNodeNetworkProfile","description":"A \u003cspan pulumi-lang-nodejs=\"`nodeNetworkProfile`\" pulumi-lang-dotnet=\"`NodeNetworkProfile`\" pulumi-lang-go=\"`nodeNetworkProfile`\" pulumi-lang-python=\"`node_network_profile`\" pulumi-lang-yaml=\"`nodeNetworkProfile`\" pulumi-lang-java=\"`nodeNetworkProfile`\"\u003e`node_network_profile`\u003c/span\u003e block as documented below.\n"},"nodePublicIpEnabled":{"type":"boolean","description":"Should nodes in this Node Pool have a Public IP Address? \u003cspan pulumi-lang-nodejs=\"`temporaryNameForRotation`\" pulumi-lang-dotnet=\"`TemporaryNameForRotation`\" pulumi-lang-go=\"`temporaryNameForRotation`\" pulumi-lang-python=\"`temporary_name_for_rotation`\" pulumi-lang-yaml=\"`temporaryNameForRotation`\" pulumi-lang-java=\"`temporaryNameForRotation`\"\u003e`temporary_name_for_rotation`\u003c/span\u003e must be specified when changing this property.\n"},"nodePublicIpPrefixId":{"type":"string","description":"Resource ID for the Public IP Addresses Prefix for the nodes in this Node Pool. \u003cspan pulumi-lang-nodejs=\"`nodePublicIpEnabled`\" pulumi-lang-dotnet=\"`NodePublicIpEnabled`\" pulumi-lang-go=\"`nodePublicIpEnabled`\" pulumi-lang-python=\"`node_public_ip_enabled`\" pulumi-lang-yaml=\"`nodePublicIpEnabled`\" pulumi-lang-java=\"`nodePublicIpEnabled`\"\u003e`node_public_ip_enabled`\u003c/span\u003e should be \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"onlyCriticalAddonsEnabled":{"type":"boolean","description":"Enabling this option will taint default node pool with `CriticalAddonsOnly=true:NoSchedule` taint. \u003cspan pulumi-lang-nodejs=\"`temporaryNameForRotation`\" pulumi-lang-dotnet=\"`TemporaryNameForRotation`\" pulumi-lang-go=\"`temporaryNameForRotation`\" pulumi-lang-python=\"`temporary_name_for_rotation`\" pulumi-lang-yaml=\"`temporaryNameForRotation`\" pulumi-lang-java=\"`temporaryNameForRotation`\"\u003e`temporary_name_for_rotation`\u003c/span\u003e must be specified when changing this property.\n"},"orchestratorVersion":{"type":"string","description":"Version of Kubernetes used for the Agents. If not specified, the default node pool will be created with the version specified by \u003cspan pulumi-lang-nodejs=\"`kubernetesVersion`\" pulumi-lang-dotnet=\"`KubernetesVersion`\" pulumi-lang-go=\"`kubernetesVersion`\" pulumi-lang-python=\"`kubernetes_version`\" pulumi-lang-yaml=\"`kubernetesVersion`\" pulumi-lang-java=\"`kubernetesVersion`\"\u003e`kubernetes_version`\u003c/span\u003e. If both are unspecified, the latest recommended version will be used at provisioning time (but won't auto-upgrade). AKS does not require an exact patch version to be specified, minor version aliases such as `1.22` are also supported. - The minor version's latest GA patch is automatically chosen in that case. More details can be found in [the documentation](https://docs.microsoft.com/en-us/azure/aks/supported-kubernetes-versions?tabs=azure-cli#alias-minor-version).\n\n\u003e **Note:** This version must be supported by the Kubernetes Cluster - as such the version of Kubernetes used on the Cluster/Control Plane may need to be upgraded first.\n"},"osDiskSizeGb":{"type":"integer","description":"The size of the OS Disk which should be used for each agent in the Node Pool. \u003cspan pulumi-lang-nodejs=\"`temporaryNameForRotation`\" pulumi-lang-dotnet=\"`TemporaryNameForRotation`\" pulumi-lang-go=\"`temporaryNameForRotation`\" pulumi-lang-python=\"`temporary_name_for_rotation`\" pulumi-lang-yaml=\"`temporaryNameForRotation`\" pulumi-lang-java=\"`temporaryNameForRotation`\"\u003e`temporary_name_for_rotation`\u003c/span\u003e must be specified when attempting a change.\n"},"osDiskType":{"type":"string","description":"The type of disk which should be used for the Operating System. Possible values are `Ephemeral` and `Managed`. Defaults to `Managed`. \u003cspan pulumi-lang-nodejs=\"`temporaryNameForRotation`\" pulumi-lang-dotnet=\"`TemporaryNameForRotation`\" pulumi-lang-go=\"`temporaryNameForRotation`\" pulumi-lang-python=\"`temporary_name_for_rotation`\" pulumi-lang-yaml=\"`temporaryNameForRotation`\" pulumi-lang-java=\"`temporaryNameForRotation`\"\u003e`temporary_name_for_rotation`\u003c/span\u003e must be specified when attempting a change.\n"},"osSku":{"type":"string","description":"Specifies the OS SKU used by the agent pool. Possible values are `AzureLinux`, `AzureLinux3`, `Ubuntu`, `Ubuntu2204`, `Windows2019` and `Windows2022`. If not specified, the default is `Ubuntu` when os_type=Linux or `Windows2019` if os_type=Windows (`Windows2022` Kubernetes ≥1.33). Changing between `AzureLinux` and `Ubuntu` does not replace the resource; otherwise \u003cspan pulumi-lang-nodejs=\"`temporaryNameForRotation`\" pulumi-lang-dotnet=\"`TemporaryNameForRotation`\" pulumi-lang-go=\"`temporaryNameForRotation`\" pulumi-lang-python=\"`temporary_name_for_rotation`\" pulumi-lang-yaml=\"`temporaryNameForRotation`\" pulumi-lang-java=\"`temporaryNameForRotation`\"\u003e`temporary_name_for_rotation`\u003c/span\u003e must be specified when attempting a change.\n\n\u003e **Note:** `Windows2019` is deprecated and not supported for Kubernetes version ≥1.33.\n"},"podSubnetId":{"type":"string","description":"The ID of the Subnet where the pods in the default Node Pool should exist.\n"},"proximityPlacementGroupId":{"type":"string","description":"The ID of the Proximity Placement Group. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"scaleDownMode":{"type":"string","description":"Specifies the autoscaling behaviour of the Kubernetes Cluster. Allowed values are `Delete` and `Deallocate`. Defaults to `Delete`.\n"},"snapshotId":{"type":"string","description":"The ID of the Snapshot which should be used to create this default Node Pool. \u003cspan pulumi-lang-nodejs=\"`temporaryNameForRotation`\" pulumi-lang-dotnet=\"`TemporaryNameForRotation`\" pulumi-lang-go=\"`temporaryNameForRotation`\" pulumi-lang-python=\"`temporary_name_for_rotation`\" pulumi-lang-yaml=\"`temporaryNameForRotation`\" pulumi-lang-java=\"`temporaryNameForRotation`\"\u003e`temporary_name_for_rotation`\u003c/span\u003e must be specified when changing this property.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the Node Pool.\n\n\u003e At this time there's a bug in the AKS API where Tags for a Node Pool are not stored in the correct case - you may wish to use \u003cspan pulumi-lang-nodejs=\"`ignoreChanges`\" pulumi-lang-dotnet=\"`IgnoreChanges`\" pulumi-lang-go=\"`ignoreChanges`\" pulumi-lang-python=\"`ignore_changes`\" pulumi-lang-yaml=\"`ignoreChanges`\" pulumi-lang-java=\"`ignoreChanges`\"\u003e`ignore_changes`\u003c/span\u003e functionality to ignore changes to the casing until this is fixed in the AKS API.\n"},"temporaryNameForRotation":{"type":"string","description":"Specifies the name of the temporary node pool used to cycle the default node pool for VM resizing.\n"},"type":{"type":"string","description":"The type of Node Pool which should be created. Possible values are `VirtualMachineScaleSets`. Defaults to `VirtualMachineScaleSets`. Changing this forces a new resource to be created.\n\n\u003e **Note:** When creating a cluster that supports multiple node pools, the cluster must use `VirtualMachineScaleSets`. For more information on the limitations of clusters using multiple node pools see [the documentation](https://learn.microsoft.com/en-us/azure/aks/use-multiple-node-pools#limitations).\n","willReplaceOnChanges":true},"ultraSsdEnabled":{"type":"boolean","description":"Used to specify whether the UltraSSD is enabled in the Default Node Pool. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. See [the documentation](https://docs.microsoft.com/azure/aks/use-ultra-disks) for more information. \u003cspan pulumi-lang-nodejs=\"`temporaryNameForRotation`\" pulumi-lang-dotnet=\"`TemporaryNameForRotation`\" pulumi-lang-go=\"`temporaryNameForRotation`\" pulumi-lang-python=\"`temporary_name_for_rotation`\" pulumi-lang-yaml=\"`temporaryNameForRotation`\" pulumi-lang-java=\"`temporaryNameForRotation`\"\u003e`temporary_name_for_rotation`\u003c/span\u003e must be specified when attempting a change.\n"},"upgradeSettings":{"$ref":"#/types/azure:containerservice/KubernetesClusterDefaultNodePoolUpgradeSettings:KubernetesClusterDefaultNodePoolUpgradeSettings","description":"A \u003cspan pulumi-lang-nodejs=\"`upgradeSettings`\" pulumi-lang-dotnet=\"`UpgradeSettings`\" pulumi-lang-go=\"`upgradeSettings`\" pulumi-lang-python=\"`upgrade_settings`\" pulumi-lang-yaml=\"`upgradeSettings`\" pulumi-lang-java=\"`upgradeSettings`\"\u003e`upgrade_settings`\u003c/span\u003e block as documented below.\n"},"vmSize":{"type":"string","description":"The size of the Virtual Machine, such as `Standard_DS2_v2`. \u003cspan pulumi-lang-nodejs=\"`temporaryNameForRotation`\" pulumi-lang-dotnet=\"`TemporaryNameForRotation`\" pulumi-lang-go=\"`temporaryNameForRotation`\" pulumi-lang-python=\"`temporary_name_for_rotation`\" pulumi-lang-yaml=\"`temporaryNameForRotation`\" pulumi-lang-java=\"`temporaryNameForRotation`\"\u003e`temporary_name_for_rotation`\u003c/span\u003e must be specified when attempting a resize.\n"},"vnetSubnetId":{"type":"string","description":"The ID of a Subnet where the Kubernetes Node Pool should exist.\n\n\u003e **Note:** A Route Table must be configured on this Subnet.\n"},"workloadRuntime":{"type":"string","description":"Specifies the workload runtime used by the node pool. Possible value is `OCIContainer`.\n"},"zones":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Availability Zones in which this Kubernetes Cluster should be located. \u003cspan pulumi-lang-nodejs=\"`temporaryNameForRotation`\" pulumi-lang-dotnet=\"`TemporaryNameForRotation`\" pulumi-lang-go=\"`temporaryNameForRotation`\" pulumi-lang-python=\"`temporary_name_for_rotation`\" pulumi-lang-yaml=\"`temporaryNameForRotation`\" pulumi-lang-java=\"`temporaryNameForRotation`\"\u003e`temporary_name_for_rotation`\u003c/span\u003e must be specified when changing this property.\n\n\u003e **Note:** This requires that the \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to `VirtualMachineScaleSets` and that \u003cspan pulumi-lang-nodejs=\"`loadBalancerSku`\" pulumi-lang-dotnet=\"`LoadBalancerSku`\" pulumi-lang-go=\"`loadBalancerSku`\" pulumi-lang-python=\"`load_balancer_sku`\" pulumi-lang-yaml=\"`loadBalancerSku`\" pulumi-lang-java=\"`loadBalancerSku`\"\u003e`load_balancer_sku`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`standard`\" pulumi-lang-dotnet=\"`Standard`\" pulumi-lang-go=\"`standard`\" pulumi-lang-python=\"`standard`\" pulumi-lang-yaml=\"`standard`\" pulumi-lang-java=\"`standard`\"\u003e`standard`\u003c/span\u003e.\n"}},"type":"object","required":["name"],"language":{"nodejs":{"requiredOutputs":["kubeletDiskType","maxPods","name","nodeCount","nodeLabels","orchestratorVersion","osDiskSizeGb","osSku","vmSize","workloadRuntime"]}}},"azure:containerservice/KubernetesClusterDefaultNodePoolKubeletConfig:KubernetesClusterDefaultNodePoolKubeletConfig":{"properties":{"allowedUnsafeSysctls":{"type":"array","items":{"type":"string"},"description":"Specifies the allow list of unsafe sysctls command or patterns (ending in `*`).\n"},"containerLogMaxLine":{"type":"integer","description":"Specifies the maximum number of container log files that can be present for a container. must be at least 2.\n"},"containerLogMaxSizeMb":{"type":"integer","description":"Specifies the maximum size (e.g. 10MB) of container log file before it is rotated.\n"},"cpuCfsQuotaEnabled":{"type":"boolean","description":"Is CPU CFS quota enforcement for containers enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"cpuCfsQuotaPeriod":{"type":"string","description":"Specifies the CPU CFS quota period value.\n"},"cpuManagerPolicy":{"type":"string","description":"Specifies the CPU Manager policy to use. Possible values are \u003cspan pulumi-lang-nodejs=\"`none`\" pulumi-lang-dotnet=\"`None`\" pulumi-lang-go=\"`none`\" pulumi-lang-python=\"`none`\" pulumi-lang-yaml=\"`none`\" pulumi-lang-java=\"`none`\"\u003e`none`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`static`\" pulumi-lang-dotnet=\"`Static`\" pulumi-lang-go=\"`static`\" pulumi-lang-python=\"`static`\" pulumi-lang-yaml=\"`static`\" pulumi-lang-java=\"`static`\"\u003e`static`\u003c/span\u003e,.\n"},"imageGcHighThreshold":{"type":"integer","description":"Specifies the percent of disk usage above which image garbage collection is always run. Must be between \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`100`\" pulumi-lang-dotnet=\"`100`\" pulumi-lang-go=\"`100`\" pulumi-lang-python=\"`100`\" pulumi-lang-yaml=\"`100`\" pulumi-lang-java=\"`100`\"\u003e`100`\u003c/span\u003e.\n"},"imageGcLowThreshold":{"type":"integer","description":"Specifies the percent of disk usage lower than which image garbage collection is never run. Must be between \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`100`\" pulumi-lang-dotnet=\"`100`\" pulumi-lang-go=\"`100`\" pulumi-lang-python=\"`100`\" pulumi-lang-yaml=\"`100`\" pulumi-lang-java=\"`100`\"\u003e`100`\u003c/span\u003e.\n"},"podMaxPid":{"type":"integer","description":"Specifies the maximum number of processes per pod.\n"},"topologyManagerPolicy":{"type":"string","description":"Specifies the Topology Manager policy to use. Possible values are \u003cspan pulumi-lang-nodejs=\"`none`\" pulumi-lang-dotnet=\"`None`\" pulumi-lang-go=\"`none`\" pulumi-lang-python=\"`none`\" pulumi-lang-yaml=\"`none`\" pulumi-lang-java=\"`none`\"\u003e`none`\u003c/span\u003e, `best-effort`, \u003cspan pulumi-lang-nodejs=\"`restricted`\" pulumi-lang-dotnet=\"`Restricted`\" pulumi-lang-go=\"`restricted`\" pulumi-lang-python=\"`restricted`\" pulumi-lang-yaml=\"`restricted`\" pulumi-lang-java=\"`restricted`\"\u003e`restricted`\u003c/span\u003e or `single-numa-node`.\n"}},"type":"object"},"azure:containerservice/KubernetesClusterDefaultNodePoolLinuxOsConfig:KubernetesClusterDefaultNodePoolLinuxOsConfig":{"properties":{"swapFileSizeMb":{"type":"integer","description":"Specifies the size of the swap file on each node in MB.\n"},"sysctlConfig":{"$ref":"#/types/azure:containerservice/KubernetesClusterDefaultNodePoolLinuxOsConfigSysctlConfig:KubernetesClusterDefaultNodePoolLinuxOsConfigSysctlConfig","description":"A \u003cspan pulumi-lang-nodejs=\"`sysctlConfig`\" pulumi-lang-dotnet=\"`SysctlConfig`\" pulumi-lang-go=\"`sysctlConfig`\" pulumi-lang-python=\"`sysctl_config`\" pulumi-lang-yaml=\"`sysctlConfig`\" pulumi-lang-java=\"`sysctlConfig`\"\u003e`sysctl_config`\u003c/span\u003e block as defined below.\n"},"transparentHugePage":{"type":"string","description":"Specifies the Transparent Huge Page configuration. Possible values are \u003cspan pulumi-lang-nodejs=\"`always`\" pulumi-lang-dotnet=\"`Always`\" pulumi-lang-go=\"`always`\" pulumi-lang-python=\"`always`\" pulumi-lang-yaml=\"`always`\" pulumi-lang-java=\"`always`\"\u003e`always`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`madvise`\" pulumi-lang-dotnet=\"`Madvise`\" pulumi-lang-go=\"`madvise`\" pulumi-lang-python=\"`madvise`\" pulumi-lang-yaml=\"`madvise`\" pulumi-lang-java=\"`madvise`\"\u003e`madvise`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`never`\" pulumi-lang-dotnet=\"`Never`\" pulumi-lang-go=\"`never`\" pulumi-lang-python=\"`never`\" pulumi-lang-yaml=\"`never`\" pulumi-lang-java=\"`never`\"\u003e`never`\u003c/span\u003e.\n"},"transparentHugePageDefrag":{"type":"string","description":"specifies the defrag configuration for Transparent Huge Page. Possible values are \u003cspan pulumi-lang-nodejs=\"`always`\" pulumi-lang-dotnet=\"`Always`\" pulumi-lang-go=\"`always`\" pulumi-lang-python=\"`always`\" pulumi-lang-yaml=\"`always`\" pulumi-lang-java=\"`always`\"\u003e`always`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`defer`\" pulumi-lang-dotnet=\"`Defer`\" pulumi-lang-go=\"`defer`\" pulumi-lang-python=\"`defer`\" pulumi-lang-yaml=\"`defer`\" pulumi-lang-java=\"`defer`\"\u003e`defer`\u003c/span\u003e, `defer+madvise`, \u003cspan pulumi-lang-nodejs=\"`madvise`\" pulumi-lang-dotnet=\"`Madvise`\" pulumi-lang-go=\"`madvise`\" pulumi-lang-python=\"`madvise`\" pulumi-lang-yaml=\"`madvise`\" pulumi-lang-java=\"`madvise`\"\u003e`madvise`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`never`\" pulumi-lang-dotnet=\"`Never`\" pulumi-lang-go=\"`never`\" pulumi-lang-python=\"`never`\" pulumi-lang-yaml=\"`never`\" pulumi-lang-java=\"`never`\"\u003e`never`\u003c/span\u003e.\n"},"transparentHugePageEnabled":{"type":"string","deprecationMessage":"this property has been deprecated in favour of \u003cspan pulumi-lang-nodejs=\"`transparentHugePage`\" pulumi-lang-dotnet=\"`TransparentHugePage`\" pulumi-lang-go=\"`transparentHugePage`\" pulumi-lang-python=\"`transparent_huge_page`\" pulumi-lang-yaml=\"`transparentHugePage`\" pulumi-lang-java=\"`transparentHugePage`\"\u003e`transparent_huge_page`\u003c/span\u003e and will be removed in version 5.0 of the Provider."}},"type":"object","language":{"nodejs":{"requiredOutputs":["transparentHugePage","transparentHugePageEnabled"]}}},"azure:containerservice/KubernetesClusterDefaultNodePoolLinuxOsConfigSysctlConfig:KubernetesClusterDefaultNodePoolLinuxOsConfigSysctlConfig":{"properties":{"fsAioMaxNr":{"type":"integer","description":"The sysctl setting fs.aio-max-nr. Must be between \u003cspan pulumi-lang-nodejs=\"`65536`\" pulumi-lang-dotnet=\"`65536`\" pulumi-lang-go=\"`65536`\" pulumi-lang-python=\"`65536`\" pulumi-lang-yaml=\"`65536`\" pulumi-lang-java=\"`65536`\"\u003e`65536`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`6553500`\" pulumi-lang-dotnet=\"`6553500`\" pulumi-lang-go=\"`6553500`\" pulumi-lang-python=\"`6553500`\" pulumi-lang-yaml=\"`6553500`\" pulumi-lang-java=\"`6553500`\"\u003e`6553500`\u003c/span\u003e.\n"},"fsFileMax":{"type":"integer","description":"The sysctl setting fs.file-max. Must be between \u003cspan pulumi-lang-nodejs=\"`8192`\" pulumi-lang-dotnet=\"`8192`\" pulumi-lang-go=\"`8192`\" pulumi-lang-python=\"`8192`\" pulumi-lang-yaml=\"`8192`\" pulumi-lang-java=\"`8192`\"\u003e`8192`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`12000500`\" pulumi-lang-dotnet=\"`12000500`\" pulumi-lang-go=\"`12000500`\" pulumi-lang-python=\"`12000500`\" pulumi-lang-yaml=\"`12000500`\" pulumi-lang-java=\"`12000500`\"\u003e`12000500`\u003c/span\u003e.\n"},"fsInotifyMaxUserWatches":{"type":"integer","description":"The sysctl setting fs.inotify.max_user_watches. Must be between \u003cspan pulumi-lang-nodejs=\"`781250`\" pulumi-lang-dotnet=\"`781250`\" pulumi-lang-go=\"`781250`\" pulumi-lang-python=\"`781250`\" pulumi-lang-yaml=\"`781250`\" pulumi-lang-java=\"`781250`\"\u003e`781250`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`2097152`\" pulumi-lang-dotnet=\"`2097152`\" pulumi-lang-go=\"`2097152`\" pulumi-lang-python=\"`2097152`\" pulumi-lang-yaml=\"`2097152`\" pulumi-lang-java=\"`2097152`\"\u003e`2097152`\u003c/span\u003e.\n"},"fsNrOpen":{"type":"integer","description":"The sysctl setting fs.nr_open. Must be between \u003cspan pulumi-lang-nodejs=\"`8192`\" pulumi-lang-dotnet=\"`8192`\" pulumi-lang-go=\"`8192`\" pulumi-lang-python=\"`8192`\" pulumi-lang-yaml=\"`8192`\" pulumi-lang-java=\"`8192`\"\u003e`8192`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`20000500`\" pulumi-lang-dotnet=\"`20000500`\" pulumi-lang-go=\"`20000500`\" pulumi-lang-python=\"`20000500`\" pulumi-lang-yaml=\"`20000500`\" pulumi-lang-java=\"`20000500`\"\u003e`20000500`\u003c/span\u003e.\n"},"kernelThreadsMax":{"type":"integer","description":"The sysctl setting kernel.threads-max. Must be between \u003cspan pulumi-lang-nodejs=\"`20`\" pulumi-lang-dotnet=\"`20`\" pulumi-lang-go=\"`20`\" pulumi-lang-python=\"`20`\" pulumi-lang-yaml=\"`20`\" pulumi-lang-java=\"`20`\"\u003e`20`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`513785`\" pulumi-lang-dotnet=\"`513785`\" pulumi-lang-go=\"`513785`\" pulumi-lang-python=\"`513785`\" pulumi-lang-yaml=\"`513785`\" pulumi-lang-java=\"`513785`\"\u003e`513785`\u003c/span\u003e.\n"},"netCoreNetdevMaxBacklog":{"type":"integer","description":"The sysctl setting net.core.netdev_max_backlog. Must be between \u003cspan pulumi-lang-nodejs=\"`1000`\" pulumi-lang-dotnet=\"`1000`\" pulumi-lang-go=\"`1000`\" pulumi-lang-python=\"`1000`\" pulumi-lang-yaml=\"`1000`\" pulumi-lang-java=\"`1000`\"\u003e`1000`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`3240000`\" pulumi-lang-dotnet=\"`3240000`\" pulumi-lang-go=\"`3240000`\" pulumi-lang-python=\"`3240000`\" pulumi-lang-yaml=\"`3240000`\" pulumi-lang-java=\"`3240000`\"\u003e`3240000`\u003c/span\u003e.\n"},"netCoreOptmemMax":{"type":"integer","description":"The sysctl setting net.core.optmem_max. Must be between \u003cspan pulumi-lang-nodejs=\"`20480`\" pulumi-lang-dotnet=\"`20480`\" pulumi-lang-go=\"`20480`\" pulumi-lang-python=\"`20480`\" pulumi-lang-yaml=\"`20480`\" pulumi-lang-java=\"`20480`\"\u003e`20480`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`4194304`\" pulumi-lang-dotnet=\"`4194304`\" pulumi-lang-go=\"`4194304`\" pulumi-lang-python=\"`4194304`\" pulumi-lang-yaml=\"`4194304`\" pulumi-lang-java=\"`4194304`\"\u003e`4194304`\u003c/span\u003e.\n"},"netCoreRmemDefault":{"type":"integer","description":"The sysctl setting net.core.rmem_default. Must be between \u003cspan pulumi-lang-nodejs=\"`212992`\" pulumi-lang-dotnet=\"`212992`\" pulumi-lang-go=\"`212992`\" pulumi-lang-python=\"`212992`\" pulumi-lang-yaml=\"`212992`\" pulumi-lang-java=\"`212992`\"\u003e`212992`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`134217728`\" pulumi-lang-dotnet=\"`134217728`\" pulumi-lang-go=\"`134217728`\" pulumi-lang-python=\"`134217728`\" pulumi-lang-yaml=\"`134217728`\" pulumi-lang-java=\"`134217728`\"\u003e`134217728`\u003c/span\u003e.\n"},"netCoreRmemMax":{"type":"integer","description":"The sysctl setting net.core.rmem_max. Must be between \u003cspan pulumi-lang-nodejs=\"`212992`\" pulumi-lang-dotnet=\"`212992`\" pulumi-lang-go=\"`212992`\" pulumi-lang-python=\"`212992`\" pulumi-lang-yaml=\"`212992`\" pulumi-lang-java=\"`212992`\"\u003e`212992`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`134217728`\" pulumi-lang-dotnet=\"`134217728`\" pulumi-lang-go=\"`134217728`\" pulumi-lang-python=\"`134217728`\" pulumi-lang-yaml=\"`134217728`\" pulumi-lang-java=\"`134217728`\"\u003e`134217728`\u003c/span\u003e.\n"},"netCoreSomaxconn":{"type":"integer","description":"The sysctl setting net.core.somaxconn. Must be between \u003cspan pulumi-lang-nodejs=\"`4096`\" pulumi-lang-dotnet=\"`4096`\" pulumi-lang-go=\"`4096`\" pulumi-lang-python=\"`4096`\" pulumi-lang-yaml=\"`4096`\" pulumi-lang-java=\"`4096`\"\u003e`4096`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`3240000`\" pulumi-lang-dotnet=\"`3240000`\" pulumi-lang-go=\"`3240000`\" pulumi-lang-python=\"`3240000`\" pulumi-lang-yaml=\"`3240000`\" pulumi-lang-java=\"`3240000`\"\u003e`3240000`\u003c/span\u003e.\n"},"netCoreWmemDefault":{"type":"integer","description":"The sysctl setting net.core.wmem_default. Must be between \u003cspan pulumi-lang-nodejs=\"`212992`\" pulumi-lang-dotnet=\"`212992`\" pulumi-lang-go=\"`212992`\" pulumi-lang-python=\"`212992`\" pulumi-lang-yaml=\"`212992`\" pulumi-lang-java=\"`212992`\"\u003e`212992`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`134217728`\" pulumi-lang-dotnet=\"`134217728`\" pulumi-lang-go=\"`134217728`\" pulumi-lang-python=\"`134217728`\" pulumi-lang-yaml=\"`134217728`\" pulumi-lang-java=\"`134217728`\"\u003e`134217728`\u003c/span\u003e.\n"},"netCoreWmemMax":{"type":"integer","description":"The sysctl setting net.core.wmem_max. Must be between \u003cspan pulumi-lang-nodejs=\"`212992`\" pulumi-lang-dotnet=\"`212992`\" pulumi-lang-go=\"`212992`\" pulumi-lang-python=\"`212992`\" pulumi-lang-yaml=\"`212992`\" pulumi-lang-java=\"`212992`\"\u003e`212992`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`134217728`\" pulumi-lang-dotnet=\"`134217728`\" pulumi-lang-go=\"`134217728`\" pulumi-lang-python=\"`134217728`\" pulumi-lang-yaml=\"`134217728`\" pulumi-lang-java=\"`134217728`\"\u003e`134217728`\u003c/span\u003e.\n"},"netIpv4IpLocalPortRangeMax":{"type":"integer","description":"The sysctl setting net.ipv4.ip_local_port_range max value. Must be between \u003cspan pulumi-lang-nodejs=\"`32768`\" pulumi-lang-dotnet=\"`32768`\" pulumi-lang-go=\"`32768`\" pulumi-lang-python=\"`32768`\" pulumi-lang-yaml=\"`32768`\" pulumi-lang-java=\"`32768`\"\u003e`32768`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`65535`\" pulumi-lang-dotnet=\"`65535`\" pulumi-lang-go=\"`65535`\" pulumi-lang-python=\"`65535`\" pulumi-lang-yaml=\"`65535`\" pulumi-lang-java=\"`65535`\"\u003e`65535`\u003c/span\u003e.\n"},"netIpv4IpLocalPortRangeMin":{"type":"integer","description":"The sysctl setting net.ipv4.ip_local_port_range min value. Must be between \u003cspan pulumi-lang-nodejs=\"`1024`\" pulumi-lang-dotnet=\"`1024`\" pulumi-lang-go=\"`1024`\" pulumi-lang-python=\"`1024`\" pulumi-lang-yaml=\"`1024`\" pulumi-lang-java=\"`1024`\"\u003e`1024`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`60999`\" pulumi-lang-dotnet=\"`60999`\" pulumi-lang-go=\"`60999`\" pulumi-lang-python=\"`60999`\" pulumi-lang-yaml=\"`60999`\" pulumi-lang-java=\"`60999`\"\u003e`60999`\u003c/span\u003e.\n"},"netIpv4NeighDefaultGcThresh1":{"type":"integer","description":"The sysctl setting net.ipv4.neigh.default.gc_thresh1. Must be between \u003cspan pulumi-lang-nodejs=\"`128`\" pulumi-lang-dotnet=\"`128`\" pulumi-lang-go=\"`128`\" pulumi-lang-python=\"`128`\" pulumi-lang-yaml=\"`128`\" pulumi-lang-java=\"`128`\"\u003e`128`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`80000`\" pulumi-lang-dotnet=\"`80000`\" pulumi-lang-go=\"`80000`\" pulumi-lang-python=\"`80000`\" pulumi-lang-yaml=\"`80000`\" pulumi-lang-java=\"`80000`\"\u003e`80000`\u003c/span\u003e.\n"},"netIpv4NeighDefaultGcThresh2":{"type":"integer","description":"The sysctl setting net.ipv4.neigh.default.gc_thresh2. Must be between \u003cspan pulumi-lang-nodejs=\"`512`\" pulumi-lang-dotnet=\"`512`\" pulumi-lang-go=\"`512`\" pulumi-lang-python=\"`512`\" pulumi-lang-yaml=\"`512`\" pulumi-lang-java=\"`512`\"\u003e`512`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`90000`\" pulumi-lang-dotnet=\"`90000`\" pulumi-lang-go=\"`90000`\" pulumi-lang-python=\"`90000`\" pulumi-lang-yaml=\"`90000`\" pulumi-lang-java=\"`90000`\"\u003e`90000`\u003c/span\u003e.\n"},"netIpv4NeighDefaultGcThresh3":{"type":"integer","description":"The sysctl setting net.ipv4.neigh.default.gc_thresh3. Must be between \u003cspan pulumi-lang-nodejs=\"`1024`\" pulumi-lang-dotnet=\"`1024`\" pulumi-lang-go=\"`1024`\" pulumi-lang-python=\"`1024`\" pulumi-lang-yaml=\"`1024`\" pulumi-lang-java=\"`1024`\"\u003e`1024`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`100000`\" pulumi-lang-dotnet=\"`100000`\" pulumi-lang-go=\"`100000`\" pulumi-lang-python=\"`100000`\" pulumi-lang-yaml=\"`100000`\" pulumi-lang-java=\"`100000`\"\u003e`100000`\u003c/span\u003e.\n"},"netIpv4TcpFinTimeout":{"type":"integer","description":"The sysctl setting net.ipv4.tcp_fin_timeout. Must be between \u003cspan pulumi-lang-nodejs=\"`5`\" pulumi-lang-dotnet=\"`5`\" pulumi-lang-go=\"`5`\" pulumi-lang-python=\"`5`\" pulumi-lang-yaml=\"`5`\" pulumi-lang-java=\"`5`\"\u003e`5`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`120`\" pulumi-lang-dotnet=\"`120`\" pulumi-lang-go=\"`120`\" pulumi-lang-python=\"`120`\" pulumi-lang-yaml=\"`120`\" pulumi-lang-java=\"`120`\"\u003e`120`\u003c/span\u003e.\n"},"netIpv4TcpKeepaliveIntvl":{"type":"integer","description":"The sysctl setting net.ipv4.tcp_keepalive_intvl. Must be between \u003cspan pulumi-lang-nodejs=\"`10`\" pulumi-lang-dotnet=\"`10`\" pulumi-lang-go=\"`10`\" pulumi-lang-python=\"`10`\" pulumi-lang-yaml=\"`10`\" pulumi-lang-java=\"`10`\"\u003e`10`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`90`\" pulumi-lang-dotnet=\"`90`\" pulumi-lang-go=\"`90`\" pulumi-lang-python=\"`90`\" pulumi-lang-yaml=\"`90`\" pulumi-lang-java=\"`90`\"\u003e`90`\u003c/span\u003e.\n"},"netIpv4TcpKeepaliveProbes":{"type":"integer","description":"The sysctl setting net.ipv4.tcp_keepalive_probes. Must be between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`15`\" pulumi-lang-dotnet=\"`15`\" pulumi-lang-go=\"`15`\" pulumi-lang-python=\"`15`\" pulumi-lang-yaml=\"`15`\" pulumi-lang-java=\"`15`\"\u003e`15`\u003c/span\u003e.\n"},"netIpv4TcpKeepaliveTime":{"type":"integer","description":"The sysctl setting net.ipv4.tcp_keepalive_time. Must be between \u003cspan pulumi-lang-nodejs=\"`30`\" pulumi-lang-dotnet=\"`30`\" pulumi-lang-go=\"`30`\" pulumi-lang-python=\"`30`\" pulumi-lang-yaml=\"`30`\" pulumi-lang-java=\"`30`\"\u003e`30`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`432000`\" pulumi-lang-dotnet=\"`432000`\" pulumi-lang-go=\"`432000`\" pulumi-lang-python=\"`432000`\" pulumi-lang-yaml=\"`432000`\" pulumi-lang-java=\"`432000`\"\u003e`432000`\u003c/span\u003e.\n"},"netIpv4TcpMaxSynBacklog":{"type":"integer","description":"The sysctl setting net.ipv4.tcp_max_syn_backlog. Must be between \u003cspan pulumi-lang-nodejs=\"`128`\" pulumi-lang-dotnet=\"`128`\" pulumi-lang-go=\"`128`\" pulumi-lang-python=\"`128`\" pulumi-lang-yaml=\"`128`\" pulumi-lang-java=\"`128`\"\u003e`128`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`3240000`\" pulumi-lang-dotnet=\"`3240000`\" pulumi-lang-go=\"`3240000`\" pulumi-lang-python=\"`3240000`\" pulumi-lang-yaml=\"`3240000`\" pulumi-lang-java=\"`3240000`\"\u003e`3240000`\u003c/span\u003e.\n"},"netIpv4TcpMaxTwBuckets":{"type":"integer","description":"The sysctl setting net.ipv4.tcp_max_tw_buckets. Must be between \u003cspan pulumi-lang-nodejs=\"`8000`\" pulumi-lang-dotnet=\"`8000`\" pulumi-lang-go=\"`8000`\" pulumi-lang-python=\"`8000`\" pulumi-lang-yaml=\"`8000`\" pulumi-lang-java=\"`8000`\"\u003e`8000`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`1440000`\" pulumi-lang-dotnet=\"`1440000`\" pulumi-lang-go=\"`1440000`\" pulumi-lang-python=\"`1440000`\" pulumi-lang-yaml=\"`1440000`\" pulumi-lang-java=\"`1440000`\"\u003e`1440000`\u003c/span\u003e.\n"},"netIpv4TcpTwReuse":{"type":"boolean","description":"The sysctl setting net.ipv4.tcp_tw_reuse.\n"},"netNetfilterNfConntrackBuckets":{"type":"integer","description":"The sysctl setting net.netfilter.nf_conntrack_buckets. Must be between \u003cspan pulumi-lang-nodejs=\"`65536`\" pulumi-lang-dotnet=\"`65536`\" pulumi-lang-go=\"`65536`\" pulumi-lang-python=\"`65536`\" pulumi-lang-yaml=\"`65536`\" pulumi-lang-java=\"`65536`\"\u003e`65536`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`524288`\" pulumi-lang-dotnet=\"`524288`\" pulumi-lang-go=\"`524288`\" pulumi-lang-python=\"`524288`\" pulumi-lang-yaml=\"`524288`\" pulumi-lang-java=\"`524288`\"\u003e`524288`\u003c/span\u003e.\n"},"netNetfilterNfConntrackMax":{"type":"integer","description":"The sysctl setting net.netfilter.nf_conntrack_max. Must be between \u003cspan pulumi-lang-nodejs=\"`131072`\" pulumi-lang-dotnet=\"`131072`\" pulumi-lang-go=\"`131072`\" pulumi-lang-python=\"`131072`\" pulumi-lang-yaml=\"`131072`\" pulumi-lang-java=\"`131072`\"\u003e`131072`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`2097152`\" pulumi-lang-dotnet=\"`2097152`\" pulumi-lang-go=\"`2097152`\" pulumi-lang-python=\"`2097152`\" pulumi-lang-yaml=\"`2097152`\" pulumi-lang-java=\"`2097152`\"\u003e`2097152`\u003c/span\u003e.\n"},"vmMaxMapCount":{"type":"integer","description":"The sysctl setting vm.max_map_count. Must be between \u003cspan pulumi-lang-nodejs=\"`65530`\" pulumi-lang-dotnet=\"`65530`\" pulumi-lang-go=\"`65530`\" pulumi-lang-python=\"`65530`\" pulumi-lang-yaml=\"`65530`\" pulumi-lang-java=\"`65530`\"\u003e`65530`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`262144`\" pulumi-lang-dotnet=\"`262144`\" pulumi-lang-go=\"`262144`\" pulumi-lang-python=\"`262144`\" pulumi-lang-yaml=\"`262144`\" pulumi-lang-java=\"`262144`\"\u003e`262144`\u003c/span\u003e.\n"},"vmSwappiness":{"type":"integer","description":"The sysctl setting vm.swappiness. Must be between \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`100`\" pulumi-lang-dotnet=\"`100`\" pulumi-lang-go=\"`100`\" pulumi-lang-python=\"`100`\" pulumi-lang-yaml=\"`100`\" pulumi-lang-java=\"`100`\"\u003e`100`\u003c/span\u003e.\n"},"vmVfsCachePressure":{"type":"integer","description":"The sysctl setting vm.vfs_cache_pressure. Must be between \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`100`\" pulumi-lang-dotnet=\"`100`\" pulumi-lang-go=\"`100`\" pulumi-lang-python=\"`100`\" pulumi-lang-yaml=\"`100`\" pulumi-lang-java=\"`100`\"\u003e`100`\u003c/span\u003e.\n"}},"type":"object"},"azure:containerservice/KubernetesClusterDefaultNodePoolNodeNetworkProfile:KubernetesClusterDefaultNodePoolNodeNetworkProfile":{"properties":{"allowedHostPorts":{"type":"array","items":{"$ref":"#/types/azure:containerservice/KubernetesClusterDefaultNodePoolNodeNetworkProfileAllowedHostPort:KubernetesClusterDefaultNodePoolNodeNetworkProfileAllowedHostPort"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`allowedHostPorts`\" pulumi-lang-dotnet=\"`AllowedHostPorts`\" pulumi-lang-go=\"`allowedHostPorts`\" pulumi-lang-python=\"`allowed_host_ports`\" pulumi-lang-yaml=\"`allowedHostPorts`\" pulumi-lang-java=\"`allowedHostPorts`\"\u003e`allowed_host_ports`\u003c/span\u003e blocks as defined below.\n"},"applicationSecurityGroupIds":{"type":"array","items":{"type":"string"},"description":"A list of Application Security Group IDs which should be associated with this Node Pool.\n"},"nodePublicIpTags":{"type":"object","additionalProperties":{"type":"string"},"description":"Specifies a mapping of tags to the instance-level public IPs. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"},"azure:containerservice/KubernetesClusterDefaultNodePoolNodeNetworkProfileAllowedHostPort:KubernetesClusterDefaultNodePoolNodeNetworkProfileAllowedHostPort":{"properties":{"portEnd":{"type":"integer","description":"Specifies the end of the port range.\n"},"portStart":{"type":"integer","description":"Specifies the start of the port range.\n"},"protocol":{"type":"string","description":"Specifies the protocol of the port range. Possible values are `TCP` and `UDP`.\n"}},"type":"object"},"azure:containerservice/KubernetesClusterDefaultNodePoolUpgradeSettings:KubernetesClusterDefaultNodePoolUpgradeSettings":{"properties":{"drainTimeoutInMinutes":{"type":"integer","description":"The amount of time in minutes to wait on eviction of pods and graceful termination per node. This eviction wait time honors pod disruption budgets for upgrades. If this time is exceeded, the upgrade fails. Unsetting this after configuring it will force a new resource to be created.\n"},"maxSurge":{"type":"string","description":"The maximum number or percentage of nodes which will be added to the Node Pool size during an upgrade.\n\n\u003e **Note:** If a percentage is provided, the number of surge nodes is calculated from the \u003cspan pulumi-lang-nodejs=\"`nodeCount`\" pulumi-lang-dotnet=\"`NodeCount`\" pulumi-lang-go=\"`nodeCount`\" pulumi-lang-python=\"`node_count`\" pulumi-lang-yaml=\"`nodeCount`\" pulumi-lang-java=\"`nodeCount`\"\u003e`node_count`\u003c/span\u003e value on the current cluster. Node surge can allow a cluster to have more nodes than \u003cspan pulumi-lang-nodejs=\"`maxCount`\" pulumi-lang-dotnet=\"`MaxCount`\" pulumi-lang-go=\"`maxCount`\" pulumi-lang-python=\"`max_count`\" pulumi-lang-yaml=\"`maxCount`\" pulumi-lang-java=\"`maxCount`\"\u003e`max_count`\u003c/span\u003e during an upgrade. Ensure that your cluster has enough [IP space](https://docs.microsoft.com/azure/aks/upgrade-cluster#customize-node-surge-upgrade) during an upgrade.\n"},"nodeSoakDurationInMinutes":{"type":"integer","description":"The amount of time in minutes to wait after draining a node and before reimaging and moving on to next node.\n\n\u003e **Note:** The default value for \u003cspan pulumi-lang-nodejs=\"`nodeSoakDurationInMinutes`\" pulumi-lang-dotnet=\"`NodeSoakDurationInMinutes`\" pulumi-lang-go=\"`nodeSoakDurationInMinutes`\" pulumi-lang-python=\"`node_soak_duration_in_minutes`\" pulumi-lang-yaml=\"`nodeSoakDurationInMinutes`\" pulumi-lang-java=\"`nodeSoakDurationInMinutes`\"\u003e`node_soak_duration_in_minutes`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e. \u003c!-- The 0 default happens in code, not in Schema --\u003e.\n"},"undrainableNodeBehavior":{"type":"string","description":"Specifies the action when a node is undrainable during upgrade. Possible values are `Cordon` and `Schedule`. Unsetting this after configuring it will force a new resource to be created.\n"}},"type":"object","required":["maxSurge"]},"azure:containerservice/KubernetesClusterExtensionAksAssignedIdentity:KubernetesClusterExtensionAksAssignedIdentity":{"properties":{"principalId":{"type":"string","description":"The principal ID of resource identity.\n"},"tenantId":{"type":"string","description":"The tenant ID of resource.\n"},"type":{"type":"string","description":"The identity type.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["principalId","tenantId","type"]}}},"azure:containerservice/KubernetesClusterExtensionPlan:KubernetesClusterExtensionPlan":{"properties":{"name":{"type":"string","description":"Specifies the name of the plan from the marketplace. Changing this forces a new Kubernetes Cluster Extension to be created.\n","willReplaceOnChanges":true},"product":{"type":"string","description":"Specifies the product of the plan from the marketplace. Changing this forces a new Kubernetes Cluster Extension to be created.\n","willReplaceOnChanges":true},"promotionCode":{"type":"string","description":"Specifies the promotion code to use with the plan. Changing this forces a new Kubernetes Cluster Extension to be created.\n","willReplaceOnChanges":true},"publisher":{"type":"string","description":"Specifies the publisher of the plan. Changing this forces a new Kubernetes Cluster Extension to be created.\n","willReplaceOnChanges":true},"version":{"type":"string","description":"Specifies the version of the plan from the marketplace. Changing this forces a new Kubernetes Cluster Extension to be created.\n\n\u003e **Note:** When \u003cspan pulumi-lang-nodejs=\"`plan`\" pulumi-lang-dotnet=\"`Plan`\" pulumi-lang-go=\"`plan`\" pulumi-lang-python=\"`plan`\" pulumi-lang-yaml=\"`plan`\" pulumi-lang-java=\"`plan`\"\u003e`plan`\u003c/span\u003e is specified, legal terms must be accepted for this item on this subscription before creating the Kubernetes Cluster Extension. The \u003cspan pulumi-lang-nodejs=\"`azure.marketplace.Agreement`\" pulumi-lang-dotnet=\"`azure.marketplace.Agreement`\" pulumi-lang-go=\"`marketplace.Agreement`\" pulumi-lang-python=\"`marketplace.Agreement`\" pulumi-lang-yaml=\"`azure.marketplace.Agreement`\" pulumi-lang-java=\"`azure.marketplace.Agreement`\"\u003e`azure.marketplace.Agreement`\u003c/span\u003e resource or AZ CLI tool can be used to do this.\n","willReplaceOnChanges":true}},"type":"object","required":["name","product","publisher"]},"azure:containerservice/KubernetesClusterHttpProxyConfig:KubernetesClusterHttpProxyConfig":{"properties":{"httpProxy":{"type":"string","description":"The proxy address to be used when communicating over HTTP.\n"},"httpsProxy":{"type":"string","description":"The proxy address to be used when communicating over HTTPS.\n"},"noProxies":{"type":"array","items":{"type":"string"},"description":"The list of domains that will not use the proxy for communication.\n\n\u003e **Note:** If you specify the `default_node_pool[0].vnet_subnet_id`, be sure to include the Subnet CIDR in the \u003cspan pulumi-lang-nodejs=\"`noProxy`\" pulumi-lang-dotnet=\"`NoProxy`\" pulumi-lang-go=\"`noProxy`\" pulumi-lang-python=\"`no_proxy`\" pulumi-lang-yaml=\"`noProxy`\" pulumi-lang-java=\"`noProxy`\"\u003e`no_proxy`\u003c/span\u003e list.\n\n\u003e **Note:** You may wish to use Terraform's \u003cspan pulumi-lang-nodejs=\"`ignoreChanges`\" pulumi-lang-dotnet=\"`IgnoreChanges`\" pulumi-lang-go=\"`ignoreChanges`\" pulumi-lang-python=\"`ignore_changes`\" pulumi-lang-yaml=\"`ignoreChanges`\" pulumi-lang-java=\"`ignoreChanges`\"\u003e`ignore_changes`\u003c/span\u003e functionality to ignore the changes to this field.\n"},"trustedCa":{"type":"string","description":"The base64 encoded alternative CA certificate content in PEM format.\n","secret":true}},"type":"object"},"azure:containerservice/KubernetesClusterIdentity:KubernetesClusterIdentity":{"properties":{"identityIds":{"type":"array","items":{"type":"string"},"description":"Specifies a list of User Assigned Managed Identity IDs to be assigned to this Kubernetes Cluster.\n\n\u003e **Note:** This is required when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to `UserAssigned`. Currently only one User Assigned Identity is supported.\n"},"principalId":{"type":"string","description":"The Principal ID associated with this Managed Service Identity.\n"},"tenantId":{"type":"string","description":"The Tenant ID associated with this Managed Service Identity.\n"},"type":{"type":"string","description":"Specifies the type of Managed Service Identity that should be configured on this Kubernetes Cluster. Possible values are `SystemAssigned` or `UserAssigned`.\n"}},"type":"object","required":["type"],"language":{"nodejs":{"requiredOutputs":["principalId","tenantId","type"]}}},"azure:containerservice/KubernetesClusterIngressApplicationGateway:KubernetesClusterIngressApplicationGateway":{"properties":{"effectiveGatewayId":{"type":"string","description":"The ID of the Application Gateway associated with the ingress controller deployed to this Kubernetes Cluster.\n"},"gatewayId":{"type":"string","description":"The ID of the Application Gateway to integrate with the ingress controller of this Kubernetes Cluster. See [this](https://docs.microsoft.com/azure/application-gateway/tutorial-ingress-controller-add-on-existing) page for further details.\n"},"gatewayName":{"type":"string","description":"The name of the Application Gateway to be used or created in the Nodepool Resource Group, which in turn will be integrated with the ingress controller of this Kubernetes Cluster. See [this](https://docs.microsoft.com/azure/application-gateway/tutorial-ingress-controller-add-on-new) page for further details.\n"},"ingressApplicationGatewayIdentities":{"type":"array","items":{"$ref":"#/types/azure:containerservice/KubernetesClusterIngressApplicationGatewayIngressApplicationGatewayIdentity:KubernetesClusterIngressApplicationGatewayIngressApplicationGatewayIdentity"},"description":"An \u003cspan pulumi-lang-nodejs=\"`ingressApplicationGatewayIdentity`\" pulumi-lang-dotnet=\"`IngressApplicationGatewayIdentity`\" pulumi-lang-go=\"`ingressApplicationGatewayIdentity`\" pulumi-lang-python=\"`ingress_application_gateway_identity`\" pulumi-lang-yaml=\"`ingressApplicationGatewayIdentity`\" pulumi-lang-java=\"`ingressApplicationGatewayIdentity`\"\u003e`ingress_application_gateway_identity`\u003c/span\u003e block is exported. The exported attributes are defined below.\n"},"subnetCidr":{"type":"string","description":"The subnet CIDR to be used to create an Application Gateway, which in turn will be integrated with the ingress controller of this Kubernetes Cluster. See [this](https://docs.microsoft.com/azure/application-gateway/tutorial-ingress-controller-add-on-new) page for further details.\n"},"subnetId":{"type":"string","description":"The ID of the subnet on which to create an Application Gateway, which in turn will be integrated with the ingress controller of this Kubernetes Cluster. See [this](https://docs.microsoft.com/azure/application-gateway/tutorial-ingress-controller-add-on-new) page for further details.\n\n\u003e **Note:** Exactly one of \u003cspan pulumi-lang-nodejs=\"`gatewayId`\" pulumi-lang-dotnet=\"`GatewayId`\" pulumi-lang-go=\"`gatewayId`\" pulumi-lang-python=\"`gateway_id`\" pulumi-lang-yaml=\"`gatewayId`\" pulumi-lang-java=\"`gatewayId`\"\u003e`gateway_id`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`subnetId`\" pulumi-lang-dotnet=\"`SubnetId`\" pulumi-lang-go=\"`subnetId`\" pulumi-lang-python=\"`subnet_id`\" pulumi-lang-yaml=\"`subnetId`\" pulumi-lang-java=\"`subnetId`\"\u003e`subnet_id`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`subnetCidr`\" pulumi-lang-dotnet=\"`SubnetCidr`\" pulumi-lang-go=\"`subnetCidr`\" pulumi-lang-python=\"`subnet_cidr`\" pulumi-lang-yaml=\"`subnetCidr`\" pulumi-lang-java=\"`subnetCidr`\"\u003e`subnet_cidr`\u003c/span\u003e must be specified.\n\n\u003e **Note:** If specifying \u003cspan pulumi-lang-nodejs=\"`ingressApplicationGateway`\" pulumi-lang-dotnet=\"`IngressApplicationGateway`\" pulumi-lang-go=\"`ingressApplicationGateway`\" pulumi-lang-python=\"`ingress_application_gateway`\" pulumi-lang-yaml=\"`ingressApplicationGateway`\" pulumi-lang-java=\"`ingressApplicationGateway`\"\u003e`ingress_application_gateway`\u003c/span\u003e in conjunction with \u003cspan pulumi-lang-nodejs=\"`onlyCriticalAddonsEnabled`\" pulumi-lang-dotnet=\"`OnlyCriticalAddonsEnabled`\" pulumi-lang-go=\"`onlyCriticalAddonsEnabled`\" pulumi-lang-python=\"`only_critical_addons_enabled`\" pulumi-lang-yaml=\"`onlyCriticalAddonsEnabled`\" pulumi-lang-java=\"`onlyCriticalAddonsEnabled`\"\u003e`only_critical_addons_enabled`\u003c/span\u003e, the AGIC pod will fail to start. A separate \u003cspan pulumi-lang-nodejs=\"`azure.containerservice.KubernetesClusterNodePool`\" pulumi-lang-dotnet=\"`azure.containerservice.KubernetesClusterNodePool`\" pulumi-lang-go=\"`containerservice.KubernetesClusterNodePool`\" pulumi-lang-python=\"`containerservice.KubernetesClusterNodePool`\" pulumi-lang-yaml=\"`azure.containerservice.KubernetesClusterNodePool`\" pulumi-lang-java=\"`azure.containerservice.KubernetesClusterNodePool`\"\u003e`azure.containerservice.KubernetesClusterNodePool`\u003c/span\u003e is required to run the AGIC pod successfully. This is because AGIC is classed as a \"non-critical addon\".\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["effectiveGatewayId","ingressApplicationGatewayIdentities"]}}},"azure:containerservice/KubernetesClusterIngressApplicationGatewayIngressApplicationGatewayIdentity:KubernetesClusterIngressApplicationGatewayIngressApplicationGatewayIdentity":{"properties":{"clientId":{"type":"string","description":"The Client ID of the user-defined Managed Identity used for Web App Routing.\n"},"objectId":{"type":"string","description":"The Object ID of the user-defined Managed Identity used for Web App Routing\n"},"userAssignedIdentityId":{"type":"string","description":"The ID of the User Assigned Identity used for Web App Routing.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["clientId","objectId","userAssignedIdentityId"]}}},"azure:containerservice/KubernetesClusterKeyManagementService:KubernetesClusterKeyManagementService":{"properties":{"keyVaultKeyId":{"type":"string","description":"Identifier of Azure Key Vault key. See [key identifier format](https://learn.microsoft.com/en-us/azure/key-vault/general/about-keys-secrets-certificates#vault-name-and-object-name) for more details.\n"},"keyVaultNetworkAccess":{"type":"string","description":"Network access of the key vault Network access of key vault. The possible values are `Public` and `Private`. `Public` means the key vault allows public access from all networks. `Private` means the key vault disables public access and enables private link. Defaults to `Public`.\n"}},"type":"object","required":["keyVaultKeyId"]},"azure:containerservice/KubernetesClusterKeyVaultSecretsProvider:KubernetesClusterKeyVaultSecretsProvider":{"properties":{"secretIdentities":{"type":"array","items":{"$ref":"#/types/azure:containerservice/KubernetesClusterKeyVaultSecretsProviderSecretIdentity:KubernetesClusterKeyVaultSecretsProviderSecretIdentity"},"description":"An \u003cspan pulumi-lang-nodejs=\"`secretIdentity`\" pulumi-lang-dotnet=\"`SecretIdentity`\" pulumi-lang-go=\"`secretIdentity`\" pulumi-lang-python=\"`secret_identity`\" pulumi-lang-yaml=\"`secretIdentity`\" pulumi-lang-java=\"`secretIdentity`\"\u003e`secret_identity`\u003c/span\u003e block is exported. The exported attributes are defined below.\n"},"secretRotationEnabled":{"type":"boolean","description":"Should the secret store CSI driver on the AKS cluster be enabled?\n"},"secretRotationInterval":{"type":"string","description":"The interval to poll for secret rotation. This attribute is only set when \u003cspan pulumi-lang-nodejs=\"`secretRotationEnabled`\" pulumi-lang-dotnet=\"`SecretRotationEnabled`\" pulumi-lang-go=\"`secretRotationEnabled`\" pulumi-lang-python=\"`secret_rotation_enabled`\" pulumi-lang-yaml=\"`secretRotationEnabled`\" pulumi-lang-java=\"`secretRotationEnabled`\"\u003e`secret_rotation_enabled`\u003c/span\u003e is true. Defaults to \u003cspan pulumi-lang-nodejs=\"`2m`\" pulumi-lang-dotnet=\"`2m`\" pulumi-lang-go=\"`2m`\" pulumi-lang-python=\"`2m`\" pulumi-lang-yaml=\"`2m`\" pulumi-lang-java=\"`2m`\"\u003e`2m`\u003c/span\u003e.\n\n\u003e **Note:** To enable\u003cspan pulumi-lang-nodejs=\"`keyVaultSecretsProvider`\" pulumi-lang-dotnet=\"`KeyVaultSecretsProvider`\" pulumi-lang-go=\"`keyVaultSecretsProvider`\" pulumi-lang-python=\"`key_vault_secrets_provider`\" pulumi-lang-yaml=\"`keyVaultSecretsProvider`\" pulumi-lang-java=\"`keyVaultSecretsProvider`\"\u003e`key_vault_secrets_provider`\u003c/span\u003e either \u003cspan pulumi-lang-nodejs=\"`secretRotationEnabled`\" pulumi-lang-dotnet=\"`SecretRotationEnabled`\" pulumi-lang-go=\"`secretRotationEnabled`\" pulumi-lang-python=\"`secret_rotation_enabled`\" pulumi-lang-yaml=\"`secretRotationEnabled`\" pulumi-lang-java=\"`secretRotationEnabled`\"\u003e`secret_rotation_enabled`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`secretRotationInterval`\" pulumi-lang-dotnet=\"`SecretRotationInterval`\" pulumi-lang-go=\"`secretRotationInterval`\" pulumi-lang-python=\"`secret_rotation_interval`\" pulumi-lang-yaml=\"`secretRotationInterval`\" pulumi-lang-java=\"`secretRotationInterval`\"\u003e`secret_rotation_interval`\u003c/span\u003e must be specified.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["secretIdentities"]}}},"azure:containerservice/KubernetesClusterKeyVaultSecretsProviderSecretIdentity:KubernetesClusterKeyVaultSecretsProviderSecretIdentity":{"properties":{"clientId":{"type":"string","description":"The Client ID of the user-defined Managed Identity used for Web App Routing.\n"},"objectId":{"type":"string","description":"The Object ID of the user-defined Managed Identity used for Web App Routing\n"},"userAssignedIdentityId":{"type":"string","description":"The ID of the User Assigned Identity used for Web App Routing.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["clientId","objectId","userAssignedIdentityId"]}}},"azure:containerservice/KubernetesClusterKubeAdminConfig:KubernetesClusterKubeAdminConfig":{"properties":{"clientCertificate":{"type":"string","description":"Base64 encoded public certificate used by clients to authenticate to the Kubernetes cluster.\n","secret":true},"clientKey":{"type":"string","description":"Base64 encoded private key used by clients to authenticate to the Kubernetes cluster.\n","secret":true},"clusterCaCertificate":{"type":"string","description":"Base64 encoded public CA certificate used as the root of trust for the Kubernetes cluster.\n","secret":true},"host":{"type":"string","description":"The Kubernetes cluster server host.\n","secret":true},"password":{"type":"string","description":"A password or token used to authenticate to the Kubernetes cluster.\n","secret":true},"username":{"type":"string","description":"A username used to authenticate to the Kubernetes cluster.\n","secret":true}},"type":"object","language":{"nodejs":{"requiredOutputs":["clientCertificate","clientKey","clusterCaCertificate","host","password","username"]}}},"azure:containerservice/KubernetesClusterKubeConfig:KubernetesClusterKubeConfig":{"properties":{"clientCertificate":{"type":"string","description":"Base64 encoded public certificate used by clients to authenticate to the Kubernetes cluster.\n","secret":true},"clientKey":{"type":"string","description":"Base64 encoded private key used by clients to authenticate to the Kubernetes cluster.\n","secret":true},"clusterCaCertificate":{"type":"string","description":"Base64 encoded public CA certificate used as the root of trust for the Kubernetes cluster.\n","secret":true},"host":{"type":"string","description":"The Kubernetes cluster server host.\n","secret":true},"password":{"type":"string","description":"A password or token used to authenticate to the Kubernetes cluster.\n","secret":true},"username":{"type":"string","description":"A username used to authenticate to the Kubernetes cluster.\n","secret":true}},"type":"object","language":{"nodejs":{"requiredOutputs":["clientCertificate","clientKey","clusterCaCertificate","host","password","username"]}}},"azure:containerservice/KubernetesClusterKubeletIdentity:KubernetesClusterKubeletIdentity":{"properties":{"clientId":{"type":"string","description":"The Client ID of the user-defined Managed Identity to be assigned to the Kubelets. If not specified a Managed Identity is created automatically. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"objectId":{"type":"string","description":"The Object ID of the user-defined Managed Identity assigned to the Kubelets.If not specified a Managed Identity is created automatically. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"userAssignedIdentityId":{"type":"string","description":"The ID of the User Assigned Identity assigned to the Kubelets. If not specified a Managed Identity is created automatically. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","language":{"nodejs":{"requiredOutputs":["clientId","objectId","userAssignedIdentityId"]}}},"azure:containerservice/KubernetesClusterLinuxProfile:KubernetesClusterLinuxProfile":{"properties":{"adminUsername":{"type":"string","description":"The Admin Username for the Cluster. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sshKey":{"$ref":"#/types/azure:containerservice/KubernetesClusterLinuxProfileSshKey:KubernetesClusterLinuxProfileSshKey","description":"An \u003cspan pulumi-lang-nodejs=\"`sshKey`\" pulumi-lang-dotnet=\"`SshKey`\" pulumi-lang-go=\"`sshKey`\" pulumi-lang-python=\"`ssh_key`\" pulumi-lang-yaml=\"`sshKey`\" pulumi-lang-java=\"`sshKey`\"\u003e`ssh_key`\u003c/span\u003e block as defined below.\n"}},"type":"object","required":["adminUsername","sshKey"]},"azure:containerservice/KubernetesClusterLinuxProfileSshKey:KubernetesClusterLinuxProfileSshKey":{"properties":{"keyData":{"type":"string","description":"The Public SSH Key used to access the cluster. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["keyData"]},"azure:containerservice/KubernetesClusterMaintenanceWindow:KubernetesClusterMaintenanceWindow":{"properties":{"alloweds":{"type":"array","items":{"$ref":"#/types/azure:containerservice/KubernetesClusterMaintenanceWindowAllowed:KubernetesClusterMaintenanceWindowAllowed"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`allowed`\" pulumi-lang-dotnet=\"`Allowed`\" pulumi-lang-go=\"`allowed`\" pulumi-lang-python=\"`allowed`\" pulumi-lang-yaml=\"`allowed`\" pulumi-lang-java=\"`allowed`\"\u003e`allowed`\u003c/span\u003e blocks as defined below.\n"},"notAlloweds":{"type":"array","items":{"$ref":"#/types/azure:containerservice/KubernetesClusterMaintenanceWindowNotAllowed:KubernetesClusterMaintenanceWindowNotAllowed"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`notAllowed`\" pulumi-lang-dotnet=\"`NotAllowed`\" pulumi-lang-go=\"`notAllowed`\" pulumi-lang-python=\"`not_allowed`\" pulumi-lang-yaml=\"`notAllowed`\" pulumi-lang-java=\"`notAllowed`\"\u003e`not_allowed`\u003c/span\u003e block as defined below.\n"}},"type":"object"},"azure:containerservice/KubernetesClusterMaintenanceWindowAllowed:KubernetesClusterMaintenanceWindowAllowed":{"properties":{"day":{"type":"string","description":"A day in a week. Possible values are `Sunday`, `Monday`, `Tuesday`, `Wednesday`, `Thursday`, `Friday` and `Saturday`.\n"},"hours":{"type":"array","items":{"type":"integer"},"description":"An array of hour slots in a day. For example, specifying \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e will allow maintenance from 1:00am to 2:00am. Specifying \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e will allow maintenance from 1:00am to 3:00m. Possible values are between \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`23`\" pulumi-lang-dotnet=\"`23`\" pulumi-lang-go=\"`23`\" pulumi-lang-python=\"`23`\" pulumi-lang-yaml=\"`23`\" pulumi-lang-java=\"`23`\"\u003e`23`\u003c/span\u003e.\n"}},"type":"object","required":["day","hours"]},"azure:containerservice/KubernetesClusterMaintenanceWindowAutoUpgrade:KubernetesClusterMaintenanceWindowAutoUpgrade":{"properties":{"dayOfMonth":{"type":"integer","description":"The day of the month for the maintenance run. Required in combination with AbsoluteMonthly frequency. Value between 0 and 31 (inclusive).\n"},"dayOfWeek":{"type":"string","description":"The day of the week for the maintenance run. Required in combination with weekly frequency. Possible values are `Friday`, `Monday`, `Saturday`, `Sunday`, `Thursday`, `Tuesday` and `Wednesday`.\n"},"duration":{"type":"integer","description":"The duration of the window for maintenance to run in hours. Possible options are between \u003cspan pulumi-lang-nodejs=\"`4`\" pulumi-lang-dotnet=\"`4`\" pulumi-lang-go=\"`4`\" pulumi-lang-python=\"`4`\" pulumi-lang-yaml=\"`4`\" pulumi-lang-java=\"`4`\"\u003e`4`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`24`\" pulumi-lang-dotnet=\"`24`\" pulumi-lang-go=\"`24`\" pulumi-lang-python=\"`24`\" pulumi-lang-yaml=\"`24`\" pulumi-lang-java=\"`24`\"\u003e`24`\u003c/span\u003e.\n"},"frequency":{"type":"string","description":"Frequency of maintenance. Possible options are `Daily`, `Weekly`, `AbsoluteMonthly` and `RelativeMonthly`.\n"},"interval":{"type":"integer","description":"The interval for maintenance runs. Depending on the frequency this interval is week or month based.\n"},"notAlloweds":{"type":"array","items":{"$ref":"#/types/azure:containerservice/KubernetesClusterMaintenanceWindowAutoUpgradeNotAllowed:KubernetesClusterMaintenanceWindowAutoUpgradeNotAllowed"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`notAllowed`\" pulumi-lang-dotnet=\"`NotAllowed`\" pulumi-lang-go=\"`notAllowed`\" pulumi-lang-python=\"`not_allowed`\" pulumi-lang-yaml=\"`notAllowed`\" pulumi-lang-java=\"`notAllowed`\"\u003e`not_allowed`\u003c/span\u003e block as defined below.\n"},"startDate":{"type":"string","description":"The date on which the maintenance window begins to take effect.\n"},"startTime":{"type":"string","description":"The time for maintenance to begin, based on the timezone determined by \u003cspan pulumi-lang-nodejs=\"`utcOffset`\" pulumi-lang-dotnet=\"`UtcOffset`\" pulumi-lang-go=\"`utcOffset`\" pulumi-lang-python=\"`utc_offset`\" pulumi-lang-yaml=\"`utcOffset`\" pulumi-lang-java=\"`utcOffset`\"\u003e`utc_offset`\u003c/span\u003e. Format is `HH:mm`.\n"},"utcOffset":{"type":"string","description":"Used to determine the timezone for cluster maintenance.\n"},"weekIndex":{"type":"string","description":"Specifies on which instance of the allowed days specified in \u003cspan pulumi-lang-nodejs=\"`dayOfWeek`\" pulumi-lang-dotnet=\"`DayOfWeek`\" pulumi-lang-go=\"`dayOfWeek`\" pulumi-lang-python=\"`day_of_week`\" pulumi-lang-yaml=\"`dayOfWeek`\" pulumi-lang-java=\"`dayOfWeek`\"\u003e`day_of_week`\u003c/span\u003e the maintenance occurs. Options are `First`, `Second`, `Third`, `Fourth`, and `Last`.\nRequired in combination with relative monthly frequency.\n"}},"type":"object","required":["duration","frequency","interval"],"language":{"nodejs":{"requiredOutputs":["duration","frequency","interval","startDate"]}}},"azure:containerservice/KubernetesClusterMaintenanceWindowAutoUpgradeNotAllowed:KubernetesClusterMaintenanceWindowAutoUpgradeNotAllowed":{"properties":{"end":{"type":"string","description":"The end of a time span, formatted as an RFC3339 string.\n"},"start":{"type":"string","description":"The start of a time span, formatted as an RFC3339 string.\n"}},"type":"object","required":["end","start"]},"azure:containerservice/KubernetesClusterMaintenanceWindowNodeOs:KubernetesClusterMaintenanceWindowNodeOs":{"properties":{"dayOfMonth":{"type":"integer","description":"The day of the month for the maintenance run. Required in combination with AbsoluteMonthly frequency. Value between 0 and 31 (inclusive).\n"},"dayOfWeek":{"type":"string","description":"The day of the week for the maintenance run. Required in combination with weekly frequency. Possible values are `Friday`, `Monday`, `Saturday`, `Sunday`, `Thursday`, `Tuesday` and `Wednesday`.\n"},"duration":{"type":"integer","description":"The duration of the window for maintenance to run in hours. Possible options are between \u003cspan pulumi-lang-nodejs=\"`4`\" pulumi-lang-dotnet=\"`4`\" pulumi-lang-go=\"`4`\" pulumi-lang-python=\"`4`\" pulumi-lang-yaml=\"`4`\" pulumi-lang-java=\"`4`\"\u003e`4`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`24`\" pulumi-lang-dotnet=\"`24`\" pulumi-lang-go=\"`24`\" pulumi-lang-python=\"`24`\" pulumi-lang-yaml=\"`24`\" pulumi-lang-java=\"`24`\"\u003e`24`\u003c/span\u003e.\n"},"frequency":{"type":"string","description":"Frequency of maintenance. Possible options are `Daily`, `Weekly`, `AbsoluteMonthly` and `RelativeMonthly`.\n"},"interval":{"type":"integer","description":"The interval for maintenance runs. Depending on the frequency this interval is week or month based.\n"},"notAlloweds":{"type":"array","items":{"$ref":"#/types/azure:containerservice/KubernetesClusterMaintenanceWindowNodeOsNotAllowed:KubernetesClusterMaintenanceWindowNodeOsNotAllowed"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`notAllowed`\" pulumi-lang-dotnet=\"`NotAllowed`\" pulumi-lang-go=\"`notAllowed`\" pulumi-lang-python=\"`not_allowed`\" pulumi-lang-yaml=\"`notAllowed`\" pulumi-lang-java=\"`notAllowed`\"\u003e`not_allowed`\u003c/span\u003e block as defined below.\n"},"startDate":{"type":"string","description":"The date on which the maintenance window begins to take effect.\n"},"startTime":{"type":"string","description":"The time for maintenance to begin, based on the timezone determined by \u003cspan pulumi-lang-nodejs=\"`utcOffset`\" pulumi-lang-dotnet=\"`UtcOffset`\" pulumi-lang-go=\"`utcOffset`\" pulumi-lang-python=\"`utc_offset`\" pulumi-lang-yaml=\"`utcOffset`\" pulumi-lang-java=\"`utcOffset`\"\u003e`utc_offset`\u003c/span\u003e. Format is `HH:mm`.\n"},"utcOffset":{"type":"string","description":"Used to determine the timezone for cluster maintenance.\n"},"weekIndex":{"type":"string","description":"The week in the month used for the maintenance run. Options are `First`, `Second`, `Third`, `Fourth`, and `Last`.\n"}},"type":"object","required":["duration","frequency","interval"],"language":{"nodejs":{"requiredOutputs":["duration","frequency","interval","startDate"]}}},"azure:containerservice/KubernetesClusterMaintenanceWindowNodeOsNotAllowed:KubernetesClusterMaintenanceWindowNodeOsNotAllowed":{"properties":{"end":{"type":"string","description":"The end of a time span, formatted as an RFC3339 string.\n"},"start":{"type":"string","description":"The start of a time span, formatted as an RFC3339 string.\n"}},"type":"object","required":["end","start"]},"azure:containerservice/KubernetesClusterMaintenanceWindowNotAllowed:KubernetesClusterMaintenanceWindowNotAllowed":{"properties":{"end":{"type":"string","description":"The end of a time span, formatted as an RFC3339 string.\n"},"start":{"type":"string","description":"The start of a time span, formatted as an RFC3339 string.\n"}},"type":"object","required":["end","start"]},"azure:containerservice/KubernetesClusterMicrosoftDefender:KubernetesClusterMicrosoftDefender":{"properties":{"logAnalyticsWorkspaceId":{"type":"string","description":"Specifies the ID of the Log Analytics Workspace where the audit logs collected by Microsoft Defender should be sent to.\n"}},"type":"object","required":["logAnalyticsWorkspaceId"]},"azure:containerservice/KubernetesClusterMonitorMetrics:KubernetesClusterMonitorMetrics":{"properties":{"annotationsAllowed":{"type":"string","description":"Specifies a comma-separated list of Kubernetes annotation keys that will be used in the resource's labels metric.\n"},"labelsAllowed":{"type":"string","description":"Specifies a Comma-separated list of additional Kubernetes label keys that will be used in the resource's labels metric.\n\n\u003e **Note:** Both properties \u003cspan pulumi-lang-nodejs=\"`annotationsAllowed`\" pulumi-lang-dotnet=\"`AnnotationsAllowed`\" pulumi-lang-go=\"`annotationsAllowed`\" pulumi-lang-python=\"`annotations_allowed`\" pulumi-lang-yaml=\"`annotationsAllowed`\" pulumi-lang-java=\"`annotationsAllowed`\"\u003e`annotations_allowed`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`labelsAllowed`\" pulumi-lang-dotnet=\"`LabelsAllowed`\" pulumi-lang-go=\"`labelsAllowed`\" pulumi-lang-python=\"`labels_allowed`\" pulumi-lang-yaml=\"`labelsAllowed`\" pulumi-lang-java=\"`labelsAllowed`\"\u003e`labels_allowed`\u003c/span\u003e are required if you are enabling Managed Prometheus with an existing Azure Monitor Workspace.\n"}},"type":"object"},"azure:containerservice/KubernetesClusterNetworkProfile:KubernetesClusterNetworkProfile":{"properties":{"advancedNetworking":{"$ref":"#/types/azure:containerservice/KubernetesClusterNetworkProfileAdvancedNetworking:KubernetesClusterNetworkProfileAdvancedNetworking","description":"An \u003cspan pulumi-lang-nodejs=\"`advancedNetworking`\" pulumi-lang-dotnet=\"`AdvancedNetworking`\" pulumi-lang-go=\"`advancedNetworking`\" pulumi-lang-python=\"`advanced_networking`\" pulumi-lang-yaml=\"`advancedNetworking`\" pulumi-lang-java=\"`advancedNetworking`\"\u003e`advanced_networking`\u003c/span\u003e block as defined below. This can only be specified when \u003cspan pulumi-lang-nodejs=\"`networkPlugin`\" pulumi-lang-dotnet=\"`NetworkPlugin`\" pulumi-lang-go=\"`networkPlugin`\" pulumi-lang-python=\"`network_plugin`\" pulumi-lang-yaml=\"`networkPlugin`\" pulumi-lang-java=\"`networkPlugin`\"\u003e`network_plugin`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`azure`\" pulumi-lang-dotnet=\"`Azure`\" pulumi-lang-go=\"`azure`\" pulumi-lang-python=\"`azure`\" pulumi-lang-yaml=\"`azure`\" pulumi-lang-java=\"`azure`\"\u003e`azure`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`networkDataPlane`\" pulumi-lang-dotnet=\"`NetworkDataPlane`\" pulumi-lang-go=\"`networkDataPlane`\" pulumi-lang-python=\"`network_data_plane`\" pulumi-lang-yaml=\"`networkDataPlane`\" pulumi-lang-java=\"`networkDataPlane`\"\u003e`network_data_plane`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`cilium`\" pulumi-lang-dotnet=\"`Cilium`\" pulumi-lang-go=\"`cilium`\" pulumi-lang-python=\"`cilium`\" pulumi-lang-yaml=\"`cilium`\" pulumi-lang-java=\"`cilium`\"\u003e`cilium`\u003c/span\u003e.\n"},"dnsServiceIp":{"type":"string","description":"IP address within the Kubernetes service address range that will be used by cluster service discovery (kube-dns). Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"ipVersions":{"type":"array","items":{"type":"string"},"description":"Specifies a list of IP versions the Kubernetes Cluster will use to assign IP addresses to its nodes and pods. Possible values are `IPv4` and/or `IPv6`. `IPv4` must always be specified. Changing this forces a new resource to be created.\n\n-\u003e**Note:** To configure dual-stack networking \u003cspan pulumi-lang-nodejs=\"`ipVersions`\" pulumi-lang-dotnet=\"`IpVersions`\" pulumi-lang-go=\"`ipVersions`\" pulumi-lang-python=\"`ip_versions`\" pulumi-lang-yaml=\"`ipVersions`\" pulumi-lang-java=\"`ipVersions`\"\u003e`ip_versions`\u003c/span\u003e should be set to `[\"IPv4\", \"IPv6\"]`.\n\n-\u003e**Note:** Dual-stack networking requires that the Preview Feature `Microsoft.ContainerService/AKS-EnableDualStack` is enabled and the Resource Provider is re-registered, see [the documentation](https://docs.microsoft.com/azure/aks/configure-kubenet-dual-stack?tabs=azure-cli%2Ckubectl#register-the-aks-enabledualstack-preview-feature) for more information.\n","willReplaceOnChanges":true},"loadBalancerProfile":{"$ref":"#/types/azure:containerservice/KubernetesClusterNetworkProfileLoadBalancerProfile:KubernetesClusterNetworkProfileLoadBalancerProfile","description":"A \u003cspan pulumi-lang-nodejs=\"`loadBalancerProfile`\" pulumi-lang-dotnet=\"`LoadBalancerProfile`\" pulumi-lang-go=\"`loadBalancerProfile`\" pulumi-lang-python=\"`load_balancer_profile`\" pulumi-lang-yaml=\"`loadBalancerProfile`\" pulumi-lang-java=\"`loadBalancerProfile`\"\u003e`load_balancer_profile`\u003c/span\u003e block as defined below. This can only be specified when \u003cspan pulumi-lang-nodejs=\"`loadBalancerSku`\" pulumi-lang-dotnet=\"`LoadBalancerSku`\" pulumi-lang-go=\"`loadBalancerSku`\" pulumi-lang-python=\"`load_balancer_sku`\" pulumi-lang-yaml=\"`loadBalancerSku`\" pulumi-lang-java=\"`loadBalancerSku`\"\u003e`load_balancer_sku`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`standard`\" pulumi-lang-dotnet=\"`Standard`\" pulumi-lang-go=\"`standard`\" pulumi-lang-python=\"`standard`\" pulumi-lang-yaml=\"`standard`\" pulumi-lang-java=\"`standard`\"\u003e`standard`\u003c/span\u003e. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"loadBalancerSku":{"type":"string","description":"Specifies the SKU of the Load Balancer used for this Kubernetes Cluster. Possible values are \u003cspan pulumi-lang-nodejs=\"`basic`\" pulumi-lang-dotnet=\"`Basic`\" pulumi-lang-go=\"`basic`\" pulumi-lang-python=\"`basic`\" pulumi-lang-yaml=\"`basic`\" pulumi-lang-java=\"`basic`\"\u003e`basic`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`standard`\" pulumi-lang-dotnet=\"`Standard`\" pulumi-lang-go=\"`standard`\" pulumi-lang-python=\"`standard`\" pulumi-lang-yaml=\"`standard`\" pulumi-lang-java=\"`standard`\"\u003e`standard`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`standard`\" pulumi-lang-dotnet=\"`Standard`\" pulumi-lang-go=\"`standard`\" pulumi-lang-python=\"`standard`\" pulumi-lang-yaml=\"`standard`\" pulumi-lang-java=\"`standard`\"\u003e`standard`\u003c/span\u003e. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"natGatewayProfile":{"$ref":"#/types/azure:containerservice/KubernetesClusterNetworkProfileNatGatewayProfile:KubernetesClusterNetworkProfileNatGatewayProfile","description":"A \u003cspan pulumi-lang-nodejs=\"`natGatewayProfile`\" pulumi-lang-dotnet=\"`NatGatewayProfile`\" pulumi-lang-go=\"`natGatewayProfile`\" pulumi-lang-python=\"`nat_gateway_profile`\" pulumi-lang-yaml=\"`natGatewayProfile`\" pulumi-lang-java=\"`natGatewayProfile`\"\u003e`nat_gateway_profile`\u003c/span\u003e block as defined below. This can only be specified when \u003cspan pulumi-lang-nodejs=\"`loadBalancerSku`\" pulumi-lang-dotnet=\"`LoadBalancerSku`\" pulumi-lang-go=\"`loadBalancerSku`\" pulumi-lang-python=\"`load_balancer_sku`\" pulumi-lang-yaml=\"`loadBalancerSku`\" pulumi-lang-java=\"`loadBalancerSku`\"\u003e`load_balancer_sku`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`standard`\" pulumi-lang-dotnet=\"`Standard`\" pulumi-lang-go=\"`standard`\" pulumi-lang-python=\"`standard`\" pulumi-lang-yaml=\"`standard`\" pulumi-lang-java=\"`standard`\"\u003e`standard`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`outboundType`\" pulumi-lang-dotnet=\"`OutboundType`\" pulumi-lang-go=\"`outboundType`\" pulumi-lang-python=\"`outbound_type`\" pulumi-lang-yaml=\"`outboundType`\" pulumi-lang-java=\"`outboundType`\"\u003e`outbound_type`\u003c/span\u003e is set to `managedNATGateway` or `userAssignedNATGateway`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"networkDataPlane":{"type":"string","description":"Specifies the data plane used for building the Kubernetes network. Possible values are \u003cspan pulumi-lang-nodejs=\"`azure`\" pulumi-lang-dotnet=\"`Azure`\" pulumi-lang-go=\"`azure`\" pulumi-lang-python=\"`azure`\" pulumi-lang-yaml=\"`azure`\" pulumi-lang-java=\"`azure`\"\u003e`azure`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`cilium`\" pulumi-lang-dotnet=\"`Cilium`\" pulumi-lang-go=\"`cilium`\" pulumi-lang-python=\"`cilium`\" pulumi-lang-yaml=\"`cilium`\" pulumi-lang-java=\"`cilium`\"\u003e`cilium`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`azure`\" pulumi-lang-dotnet=\"`Azure`\" pulumi-lang-go=\"`azure`\" pulumi-lang-python=\"`azure`\" pulumi-lang-yaml=\"`azure`\" pulumi-lang-java=\"`azure`\"\u003e`azure`\u003c/span\u003e. Disabling this forces a new resource to be created.\n\n\u003e **Note:** When \u003cspan pulumi-lang-nodejs=\"`networkDataPlane`\" pulumi-lang-dotnet=\"`NetworkDataPlane`\" pulumi-lang-go=\"`networkDataPlane`\" pulumi-lang-python=\"`network_data_plane`\" pulumi-lang-yaml=\"`networkDataPlane`\" pulumi-lang-java=\"`networkDataPlane`\"\u003e`network_data_plane`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`cilium`\" pulumi-lang-dotnet=\"`Cilium`\" pulumi-lang-go=\"`cilium`\" pulumi-lang-python=\"`cilium`\" pulumi-lang-yaml=\"`cilium`\" pulumi-lang-java=\"`cilium`\"\u003e`cilium`\u003c/span\u003e, the \u003cspan pulumi-lang-nodejs=\"`networkPlugin`\" pulumi-lang-dotnet=\"`NetworkPlugin`\" pulumi-lang-go=\"`networkPlugin`\" pulumi-lang-python=\"`network_plugin`\" pulumi-lang-yaml=\"`networkPlugin`\" pulumi-lang-java=\"`networkPlugin`\"\u003e`network_plugin`\u003c/span\u003e field can only be set to \u003cspan pulumi-lang-nodejs=\"`azure`\" pulumi-lang-dotnet=\"`Azure`\" pulumi-lang-go=\"`azure`\" pulumi-lang-python=\"`azure`\" pulumi-lang-yaml=\"`azure`\" pulumi-lang-java=\"`azure`\"\u003e`azure`\u003c/span\u003e.\n\n\u003e **Note:** When \u003cspan pulumi-lang-nodejs=\"`networkDataPlane`\" pulumi-lang-dotnet=\"`NetworkDataPlane`\" pulumi-lang-go=\"`networkDataPlane`\" pulumi-lang-python=\"`network_data_plane`\" pulumi-lang-yaml=\"`networkDataPlane`\" pulumi-lang-java=\"`networkDataPlane`\"\u003e`network_data_plane`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`cilium`\" pulumi-lang-dotnet=\"`Cilium`\" pulumi-lang-go=\"`cilium`\" pulumi-lang-python=\"`cilium`\" pulumi-lang-yaml=\"`cilium`\" pulumi-lang-java=\"`cilium`\"\u003e`cilium`\u003c/span\u003e, one of either \u003cspan pulumi-lang-nodejs=\"`networkPluginMode \" pulumi-lang-dotnet=\"`NetworkPluginMode \" pulumi-lang-go=\"`networkPluginMode \" pulumi-lang-python=\"`network_plugin_mode \" pulumi-lang-yaml=\"`networkPluginMode \" pulumi-lang-java=\"`networkPluginMode \"\u003e`network_plugin_mode \u003c/span\u003e= \"overlay\"` or \u003cspan pulumi-lang-nodejs=\"`podSubnetId`\" pulumi-lang-dotnet=\"`PodSubnetId`\" pulumi-lang-go=\"`podSubnetId`\" pulumi-lang-python=\"`pod_subnet_id`\" pulumi-lang-yaml=\"`podSubnetId`\" pulumi-lang-java=\"`podSubnetId`\"\u003e`pod_subnet_id`\u003c/span\u003e must be specified.\n\n\u003e **Note:** Upgrading \u003cspan pulumi-lang-nodejs=\"`networkDataPlane`\" pulumi-lang-dotnet=\"`NetworkDataPlane`\" pulumi-lang-go=\"`networkDataPlane`\" pulumi-lang-python=\"`network_data_plane`\" pulumi-lang-yaml=\"`networkDataPlane`\" pulumi-lang-java=\"`networkDataPlane`\"\u003e`network_data_plane`\u003c/span\u003e from \u003cspan pulumi-lang-nodejs=\"`azure`\" pulumi-lang-dotnet=\"`Azure`\" pulumi-lang-go=\"`azure`\" pulumi-lang-python=\"`azure`\" pulumi-lang-yaml=\"`azure`\" pulumi-lang-java=\"`azure`\"\u003e`azure`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`cilium`\" pulumi-lang-dotnet=\"`Cilium`\" pulumi-lang-go=\"`cilium`\" pulumi-lang-python=\"`cilium`\" pulumi-lang-yaml=\"`cilium`\" pulumi-lang-java=\"`cilium`\"\u003e`cilium`\u003c/span\u003e is supported and will perform an in-place upgrade by reimaging all nodes in the cluster. Changing from other values will force a new resource to be created. For more information on upgrading to Azure CNI Powered by Cilium see the [product documentation](https://learn.microsoft.com/azure/aks/upgrade-azure-cni).\n"},"networkMode":{"type":"string","description":"Network mode to be used with Azure CNI. Possible values are \u003cspan pulumi-lang-nodejs=\"`bridge`\" pulumi-lang-dotnet=\"`Bridge`\" pulumi-lang-go=\"`bridge`\" pulumi-lang-python=\"`bridge`\" pulumi-lang-yaml=\"`bridge`\" pulumi-lang-java=\"`bridge`\"\u003e`bridge`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`transparent`\" pulumi-lang-dotnet=\"`Transparent`\" pulumi-lang-go=\"`transparent`\" pulumi-lang-python=\"`transparent`\" pulumi-lang-yaml=\"`transparent`\" pulumi-lang-java=\"`transparent`\"\u003e`transparent`\u003c/span\u003e. Changing this forces a new resource to be created.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`networkMode`\" pulumi-lang-dotnet=\"`NetworkMode`\" pulumi-lang-go=\"`networkMode`\" pulumi-lang-python=\"`network_mode`\" pulumi-lang-yaml=\"`networkMode`\" pulumi-lang-java=\"`networkMode`\"\u003e`network_mode`\u003c/span\u003e can only be set to \u003cspan pulumi-lang-nodejs=\"`bridge`\" pulumi-lang-dotnet=\"`Bridge`\" pulumi-lang-go=\"`bridge`\" pulumi-lang-python=\"`bridge`\" pulumi-lang-yaml=\"`bridge`\" pulumi-lang-java=\"`bridge`\"\u003e`bridge`\u003c/span\u003e for existing Kubernetes Clusters and cannot be used to provision new Clusters - this will be removed by Azure in the future.\n\n\u003e **Note:** This property can only be set when \u003cspan pulumi-lang-nodejs=\"`networkPlugin`\" pulumi-lang-dotnet=\"`NetworkPlugin`\" pulumi-lang-go=\"`networkPlugin`\" pulumi-lang-python=\"`network_plugin`\" pulumi-lang-yaml=\"`networkPlugin`\" pulumi-lang-java=\"`networkPlugin`\"\u003e`network_plugin`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`azure`\" pulumi-lang-dotnet=\"`Azure`\" pulumi-lang-go=\"`azure`\" pulumi-lang-python=\"`azure`\" pulumi-lang-yaml=\"`azure`\" pulumi-lang-java=\"`azure`\"\u003e`azure`\u003c/span\u003e.\n","willReplaceOnChanges":true},"networkPlugin":{"type":"string","description":"Network plugin to use for networking. Currently supported values are \u003cspan pulumi-lang-nodejs=\"`azure`\" pulumi-lang-dotnet=\"`Azure`\" pulumi-lang-go=\"`azure`\" pulumi-lang-python=\"`azure`\" pulumi-lang-yaml=\"`azure`\" pulumi-lang-java=\"`azure`\"\u003e`azure`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`kubenet`\" pulumi-lang-dotnet=\"`Kubenet`\" pulumi-lang-go=\"`kubenet`\" pulumi-lang-python=\"`kubenet`\" pulumi-lang-yaml=\"`kubenet`\" pulumi-lang-java=\"`kubenet`\"\u003e`kubenet`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`none`\" pulumi-lang-dotnet=\"`None`\" pulumi-lang-go=\"`none`\" pulumi-lang-python=\"`none`\" pulumi-lang-yaml=\"`none`\" pulumi-lang-java=\"`none`\"\u003e`none`\u003c/span\u003e. Changing this forces a new resource to be created.\n\n\u003e **Note:** When \u003cspan pulumi-lang-nodejs=\"`networkPlugin`\" pulumi-lang-dotnet=\"`NetworkPlugin`\" pulumi-lang-go=\"`networkPlugin`\" pulumi-lang-python=\"`network_plugin`\" pulumi-lang-yaml=\"`networkPlugin`\" pulumi-lang-java=\"`networkPlugin`\"\u003e`network_plugin`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`azure`\" pulumi-lang-dotnet=\"`Azure`\" pulumi-lang-go=\"`azure`\" pulumi-lang-python=\"`azure`\" pulumi-lang-yaml=\"`azure`\" pulumi-lang-java=\"`azure`\"\u003e`azure`\u003c/span\u003e - the \u003cspan pulumi-lang-nodejs=\"`podCidr`\" pulumi-lang-dotnet=\"`PodCidr`\" pulumi-lang-go=\"`podCidr`\" pulumi-lang-python=\"`pod_cidr`\" pulumi-lang-yaml=\"`podCidr`\" pulumi-lang-java=\"`podCidr`\"\u003e`pod_cidr`\u003c/span\u003e field must not be set, unless specifying \u003cspan pulumi-lang-nodejs=\"`networkPluginMode`\" pulumi-lang-dotnet=\"`NetworkPluginMode`\" pulumi-lang-go=\"`networkPluginMode`\" pulumi-lang-python=\"`network_plugin_mode`\" pulumi-lang-yaml=\"`networkPluginMode`\" pulumi-lang-java=\"`networkPluginMode`\"\u003e`network_plugin_mode`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`overlay`\" pulumi-lang-dotnet=\"`Overlay`\" pulumi-lang-go=\"`overlay`\" pulumi-lang-python=\"`overlay`\" pulumi-lang-yaml=\"`overlay`\" pulumi-lang-java=\"`overlay`\"\u003e`overlay`\u003c/span\u003e.\n","willReplaceOnChanges":true},"networkPluginMode":{"type":"string","description":"Specifies the network plugin mode used for building the Kubernetes network. Possible value is \u003cspan pulumi-lang-nodejs=\"`overlay`\" pulumi-lang-dotnet=\"`Overlay`\" pulumi-lang-go=\"`overlay`\" pulumi-lang-python=\"`overlay`\" pulumi-lang-yaml=\"`overlay`\" pulumi-lang-java=\"`overlay`\"\u003e`overlay`\u003c/span\u003e.\n\n\u003e **Note:** When \u003cspan pulumi-lang-nodejs=\"`networkPluginMode`\" pulumi-lang-dotnet=\"`NetworkPluginMode`\" pulumi-lang-go=\"`networkPluginMode`\" pulumi-lang-python=\"`network_plugin_mode`\" pulumi-lang-yaml=\"`networkPluginMode`\" pulumi-lang-java=\"`networkPluginMode`\"\u003e`network_plugin_mode`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`overlay`\" pulumi-lang-dotnet=\"`Overlay`\" pulumi-lang-go=\"`overlay`\" pulumi-lang-python=\"`overlay`\" pulumi-lang-yaml=\"`overlay`\" pulumi-lang-java=\"`overlay`\"\u003e`overlay`\u003c/span\u003e, the \u003cspan pulumi-lang-nodejs=\"`networkPlugin`\" pulumi-lang-dotnet=\"`NetworkPlugin`\" pulumi-lang-go=\"`networkPlugin`\" pulumi-lang-python=\"`network_plugin`\" pulumi-lang-yaml=\"`networkPlugin`\" pulumi-lang-java=\"`networkPlugin`\"\u003e`network_plugin`\u003c/span\u003e field can only be set to \u003cspan pulumi-lang-nodejs=\"`azure`\" pulumi-lang-dotnet=\"`Azure`\" pulumi-lang-go=\"`azure`\" pulumi-lang-python=\"`azure`\" pulumi-lang-yaml=\"`azure`\" pulumi-lang-java=\"`azure`\"\u003e`azure`\u003c/span\u003e. When upgrading from Azure CNI without overlay, \u003cspan pulumi-lang-nodejs=\"`podSubnetId`\" pulumi-lang-dotnet=\"`PodSubnetId`\" pulumi-lang-go=\"`podSubnetId`\" pulumi-lang-python=\"`pod_subnet_id`\" pulumi-lang-yaml=\"`podSubnetId`\" pulumi-lang-java=\"`podSubnetId`\"\u003e`pod_subnet_id`\u003c/span\u003e must be specified.\n"},"networkPolicy":{"type":"string","description":"Sets up network policy to be used with Azure CNI. [Network policy allows us to control the traffic flow between pods](https://docs.microsoft.com/azure/aks/use-network-policies). Currently supported values are \u003cspan pulumi-lang-nodejs=\"`calico`\" pulumi-lang-dotnet=\"`Calico`\" pulumi-lang-go=\"`calico`\" pulumi-lang-python=\"`calico`\" pulumi-lang-yaml=\"`calico`\" pulumi-lang-java=\"`calico`\"\u003e`calico`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`azure`\" pulumi-lang-dotnet=\"`Azure`\" pulumi-lang-go=\"`azure`\" pulumi-lang-python=\"`azure`\" pulumi-lang-yaml=\"`azure`\" pulumi-lang-java=\"`azure`\"\u003e`azure`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`cilium`\" pulumi-lang-dotnet=\"`Cilium`\" pulumi-lang-go=\"`cilium`\" pulumi-lang-python=\"`cilium`\" pulumi-lang-yaml=\"`cilium`\" pulumi-lang-java=\"`cilium`\"\u003e`cilium`\u003c/span\u003e.\n\n\u003e **Note:** When \u003cspan pulumi-lang-nodejs=\"`networkPolicy`\" pulumi-lang-dotnet=\"`NetworkPolicy`\" pulumi-lang-go=\"`networkPolicy`\" pulumi-lang-python=\"`network_policy`\" pulumi-lang-yaml=\"`networkPolicy`\" pulumi-lang-java=\"`networkPolicy`\"\u003e`network_policy`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`azure`\" pulumi-lang-dotnet=\"`Azure`\" pulumi-lang-go=\"`azure`\" pulumi-lang-python=\"`azure`\" pulumi-lang-yaml=\"`azure`\" pulumi-lang-java=\"`azure`\"\u003e`azure`\u003c/span\u003e, the \u003cspan pulumi-lang-nodejs=\"`networkPlugin`\" pulumi-lang-dotnet=\"`NetworkPlugin`\" pulumi-lang-go=\"`networkPlugin`\" pulumi-lang-python=\"`network_plugin`\" pulumi-lang-yaml=\"`networkPlugin`\" pulumi-lang-java=\"`networkPlugin`\"\u003e`network_plugin`\u003c/span\u003e field can only be set to \u003cspan pulumi-lang-nodejs=\"`azure`\" pulumi-lang-dotnet=\"`Azure`\" pulumi-lang-go=\"`azure`\" pulumi-lang-python=\"`azure`\" pulumi-lang-yaml=\"`azure`\" pulumi-lang-java=\"`azure`\"\u003e`azure`\u003c/span\u003e.\n\n\u003e **Note:** When \u003cspan pulumi-lang-nodejs=\"`networkPolicy`\" pulumi-lang-dotnet=\"`NetworkPolicy`\" pulumi-lang-go=\"`networkPolicy`\" pulumi-lang-python=\"`network_policy`\" pulumi-lang-yaml=\"`networkPolicy`\" pulumi-lang-java=\"`networkPolicy`\"\u003e`network_policy`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`cilium`\" pulumi-lang-dotnet=\"`Cilium`\" pulumi-lang-go=\"`cilium`\" pulumi-lang-python=\"`cilium`\" pulumi-lang-yaml=\"`cilium`\" pulumi-lang-java=\"`cilium`\"\u003e`cilium`\u003c/span\u003e, the \u003cspan pulumi-lang-nodejs=\"`networkDataPlane`\" pulumi-lang-dotnet=\"`NetworkDataPlane`\" pulumi-lang-go=\"`networkDataPlane`\" pulumi-lang-python=\"`network_data_plane`\" pulumi-lang-yaml=\"`networkDataPlane`\" pulumi-lang-java=\"`networkDataPlane`\"\u003e`network_data_plane`\u003c/span\u003e field must be set to \u003cspan pulumi-lang-nodejs=\"`cilium`\" pulumi-lang-dotnet=\"`Cilium`\" pulumi-lang-go=\"`cilium`\" pulumi-lang-python=\"`cilium`\" pulumi-lang-yaml=\"`cilium`\" pulumi-lang-java=\"`cilium`\"\u003e`cilium`\u003c/span\u003e.\n\n\u003e **Note:** Upgrading \u003cspan pulumi-lang-nodejs=\"`networkPolicy`\" pulumi-lang-dotnet=\"`NetworkPolicy`\" pulumi-lang-go=\"`networkPolicy`\" pulumi-lang-python=\"`network_policy`\" pulumi-lang-yaml=\"`networkPolicy`\" pulumi-lang-java=\"`networkPolicy`\"\u003e`network_policy`\u003c/span\u003e from \u003cspan pulumi-lang-nodejs=\"`azure`\" pulumi-lang-dotnet=\"`Azure`\" pulumi-lang-go=\"`azure`\" pulumi-lang-python=\"`azure`\" pulumi-lang-yaml=\"`azure`\" pulumi-lang-java=\"`azure`\"\u003e`azure`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`calico`\" pulumi-lang-dotnet=\"`Calico`\" pulumi-lang-go=\"`calico`\" pulumi-lang-python=\"`calico`\" pulumi-lang-yaml=\"`calico`\" pulumi-lang-java=\"`calico`\"\u003e`calico`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`cilium`\" pulumi-lang-dotnet=\"`Cilium`\" pulumi-lang-go=\"`cilium`\" pulumi-lang-python=\"`cilium`\" pulumi-lang-yaml=\"`cilium`\" pulumi-lang-java=\"`cilium`\"\u003e`cilium`\u003c/span\u003e is supported and will perform an in-place upgrade. Changing from other values will force a new resource to be created.\n"},"outboundType":{"type":"string","description":"The outbound (egress) routing method which should be used for this Kubernetes Cluster. Possible values are `loadBalancer`, `userDefinedRouting`, `managedNATGateway`, `userAssignedNATGateway` and \u003cspan pulumi-lang-nodejs=\"`none`\" pulumi-lang-dotnet=\"`None`\" pulumi-lang-go=\"`none`\" pulumi-lang-python=\"`none`\" pulumi-lang-yaml=\"`none`\" pulumi-lang-java=\"`none`\"\u003e`none`\u003c/span\u003e. Defaults to `loadBalancer`.\n\n\u003e **Note:** For more information on supported \u003cspan pulumi-lang-nodejs=\"`outboundType`\" pulumi-lang-dotnet=\"`OutboundType`\" pulumi-lang-go=\"`outboundType`\" pulumi-lang-python=\"`outbound_type`\" pulumi-lang-yaml=\"`outboundType`\" pulumi-lang-java=\"`outboundType`\"\u003e`outbound_type`\u003c/span\u003e migration paths please see the product [documentation](https://learn.microsoft.com/azure/aks/egress-outboundtype#updating-outboundtype-after-cluster-creation).\n"},"podCidr":{"type":"string","description":"The CIDR to use for pod IP addresses. This field can only be set when \u003cspan pulumi-lang-nodejs=\"`networkPlugin`\" pulumi-lang-dotnet=\"`NetworkPlugin`\" pulumi-lang-go=\"`networkPlugin`\" pulumi-lang-python=\"`network_plugin`\" pulumi-lang-yaml=\"`networkPlugin`\" pulumi-lang-java=\"`networkPlugin`\"\u003e`network_plugin`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`kubenet`\" pulumi-lang-dotnet=\"`Kubenet`\" pulumi-lang-go=\"`kubenet`\" pulumi-lang-python=\"`kubenet`\" pulumi-lang-yaml=\"`kubenet`\" pulumi-lang-java=\"`kubenet`\"\u003e`kubenet`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`networkPluginMode`\" pulumi-lang-dotnet=\"`NetworkPluginMode`\" pulumi-lang-go=\"`networkPluginMode`\" pulumi-lang-python=\"`network_plugin_mode`\" pulumi-lang-yaml=\"`networkPluginMode`\" pulumi-lang-java=\"`networkPluginMode`\"\u003e`network_plugin_mode`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`overlay`\" pulumi-lang-dotnet=\"`Overlay`\" pulumi-lang-go=\"`overlay`\" pulumi-lang-python=\"`overlay`\" pulumi-lang-yaml=\"`overlay`\" pulumi-lang-java=\"`overlay`\"\u003e`overlay`\u003c/span\u003e. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"podCidrs":{"type":"array","items":{"type":"string"},"description":"A list of CIDRs to use for pod IP addresses. For single-stack networking a single IPv4 CIDR is expected. For dual-stack networking an IPv4 and IPv6 CIDR are expected. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"serviceCidr":{"type":"string","description":"The Network Range used by the Kubernetes service. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"serviceCidrs":{"type":"array","items":{"type":"string"},"description":"A list of CIDRs to use for Kubernetes services. For single-stack networking a single IPv4 CIDR is expected. For dual-stack networking an IPv4 and IPv6 CIDR are expected. Changing this forces a new resource to be created.\n\n\u003e **Note:** This range should not be used by any network element on or connected to this VNet. Service address CIDR must be smaller than /12. \u003cspan pulumi-lang-nodejs=\"`dockerBridgeCidr`\" pulumi-lang-dotnet=\"`DockerBridgeCidr`\" pulumi-lang-go=\"`dockerBridgeCidr`\" pulumi-lang-python=\"`docker_bridge_cidr`\" pulumi-lang-yaml=\"`dockerBridgeCidr`\" pulumi-lang-java=\"`dockerBridgeCidr`\"\u003e`docker_bridge_cidr`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`dnsServiceIp`\" pulumi-lang-dotnet=\"`DnsServiceIp`\" pulumi-lang-go=\"`dnsServiceIp`\" pulumi-lang-python=\"`dns_service_ip`\" pulumi-lang-yaml=\"`dnsServiceIp`\" pulumi-lang-java=\"`dnsServiceIp`\"\u003e`dns_service_ip`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`serviceCidr`\" pulumi-lang-dotnet=\"`ServiceCidr`\" pulumi-lang-go=\"`serviceCidr`\" pulumi-lang-python=\"`service_cidr`\" pulumi-lang-yaml=\"`serviceCidr`\" pulumi-lang-java=\"`serviceCidr`\"\u003e`service_cidr`\u003c/span\u003e should all be empty or all should be set.\n","willReplaceOnChanges":true}},"type":"object","required":["networkPlugin"],"language":{"nodejs":{"requiredOutputs":["dnsServiceIp","ipVersions","loadBalancerProfile","natGatewayProfile","networkMode","networkPlugin","networkPolicy","podCidr","podCidrs","serviceCidr","serviceCidrs"]}}},"azure:containerservice/KubernetesClusterNetworkProfileAdvancedNetworking:KubernetesClusterNetworkProfileAdvancedNetworking":{"properties":{"observabilityEnabled":{"type":"boolean","description":"Is observability enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"securityEnabled":{"type":"boolean","description":"Is security enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"}},"type":"object"},"azure:containerservice/KubernetesClusterNetworkProfileLoadBalancerProfile:KubernetesClusterNetworkProfileLoadBalancerProfile":{"properties":{"backendPoolType":{"type":"string","description":"The type of the managed inbound Load Balancer Backend Pool. Possible values are `NodeIP` and `NodeIPConfiguration`. Defaults to `NodeIPConfiguration`. See [the documentation](https://learn.microsoft.com/en-us/azure/aks/load-balancer-standard#change-the-inbound-pool-type) for more information.\n"},"effectiveOutboundIps":{"type":"array","items":{"type":"string"},"description":"The outcome (resource IDs) of the specified arguments.\n"},"idleTimeoutInMinutes":{"type":"integer","description":"Desired outbound flow idle timeout in minutes for the cluster load balancer. Must be between \u003cspan pulumi-lang-nodejs=\"`4`\" pulumi-lang-dotnet=\"`4`\" pulumi-lang-go=\"`4`\" pulumi-lang-python=\"`4`\" pulumi-lang-yaml=\"`4`\" pulumi-lang-java=\"`4`\"\u003e`4`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`100`\" pulumi-lang-dotnet=\"`100`\" pulumi-lang-go=\"`100`\" pulumi-lang-python=\"`100`\" pulumi-lang-yaml=\"`100`\" pulumi-lang-java=\"`100`\"\u003e`100`\u003c/span\u003e inclusive. Defaults to \u003cspan pulumi-lang-nodejs=\"`30`\" pulumi-lang-dotnet=\"`30`\" pulumi-lang-go=\"`30`\" pulumi-lang-python=\"`30`\" pulumi-lang-yaml=\"`30`\" pulumi-lang-java=\"`30`\"\u003e`30`\u003c/span\u003e.\n"},"managedOutboundIpCount":{"type":"integer","description":"Count of desired managed outbound IPs for the cluster load balancer. Must be between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`100`\" pulumi-lang-dotnet=\"`100`\" pulumi-lang-go=\"`100`\" pulumi-lang-python=\"`100`\" pulumi-lang-yaml=\"`100`\" pulumi-lang-java=\"`100`\"\u003e`100`\u003c/span\u003e inclusive.\n"},"managedOutboundIpv6Count":{"type":"integer","description":"The desired number of IPv6 outbound IPs created and managed by Azure for the cluster load balancer. Must be in the range of 1 to 100 (inclusive). The default value is 0 for single-stack and 1 for dual-stack.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`managedOutboundIpv6Count`\" pulumi-lang-dotnet=\"`ManagedOutboundIpv6Count`\" pulumi-lang-go=\"`managedOutboundIpv6Count`\" pulumi-lang-python=\"`managed_outbound_ipv6_count`\" pulumi-lang-yaml=\"`managedOutboundIpv6Count`\" pulumi-lang-java=\"`managedOutboundIpv6Count`\"\u003e`managed_outbound_ipv6_count`\u003c/span\u003e requires dual-stack networking. To enable dual-stack networking the Preview Feature `Microsoft.ContainerService/AKS-EnableDualStack` needs to be enabled and the Resource Provider re-registered, see [the documentation](https://docs.microsoft.com/azure/aks/configure-kubenet-dual-stack?tabs=azure-cli%2Ckubectl#register-the-aks-enabledualstack-preview-feature) for more information.\n"},"outboundIpAddressIds":{"type":"array","items":{"type":"string"},"description":"The ID of the Public IP Addresses which should be used for outbound communication for the cluster load balancer.\n\n\u003e **Note:** Set \u003cspan pulumi-lang-nodejs=\"`outboundIpAddressIds`\" pulumi-lang-dotnet=\"`OutboundIpAddressIds`\" pulumi-lang-go=\"`outboundIpAddressIds`\" pulumi-lang-python=\"`outbound_ip_address_ids`\" pulumi-lang-yaml=\"`outboundIpAddressIds`\" pulumi-lang-java=\"`outboundIpAddressIds`\"\u003e`outbound_ip_address_ids`\u003c/span\u003e to an empty slice `[]` in order to unlink it from the cluster. Unlinking a \u003cspan pulumi-lang-nodejs=\"`outboundIpAddressIds`\" pulumi-lang-dotnet=\"`OutboundIpAddressIds`\" pulumi-lang-go=\"`outboundIpAddressIds`\" pulumi-lang-python=\"`outbound_ip_address_ids`\" pulumi-lang-yaml=\"`outboundIpAddressIds`\" pulumi-lang-java=\"`outboundIpAddressIds`\"\u003e`outbound_ip_address_ids`\u003c/span\u003e will revert the load balancing for the cluster back to a managed one.\n"},"outboundIpPrefixIds":{"type":"array","items":{"type":"string"},"description":"The ID of the outbound Public IP Address Prefixes which should be used for the cluster load balancer.\n\n\u003e **Note:** Set \u003cspan pulumi-lang-nodejs=\"`outboundIpPrefixIds`\" pulumi-lang-dotnet=\"`OutboundIpPrefixIds`\" pulumi-lang-go=\"`outboundIpPrefixIds`\" pulumi-lang-python=\"`outbound_ip_prefix_ids`\" pulumi-lang-yaml=\"`outboundIpPrefixIds`\" pulumi-lang-java=\"`outboundIpPrefixIds`\"\u003e`outbound_ip_prefix_ids`\u003c/span\u003e to an empty slice `[]` in order to unlink it from the cluster. Unlinking a \u003cspan pulumi-lang-nodejs=\"`outboundIpPrefixIds`\" pulumi-lang-dotnet=\"`OutboundIpPrefixIds`\" pulumi-lang-go=\"`outboundIpPrefixIds`\" pulumi-lang-python=\"`outbound_ip_prefix_ids`\" pulumi-lang-yaml=\"`outboundIpPrefixIds`\" pulumi-lang-java=\"`outboundIpPrefixIds`\"\u003e`outbound_ip_prefix_ids`\u003c/span\u003e will revert the load balancing for the cluster back to a managed one.\n"},"outboundPortsAllocated":{"type":"integer","description":"Number of desired SNAT port for each VM in the clusters load balancer. Must be between \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`64000`\" pulumi-lang-dotnet=\"`64000`\" pulumi-lang-go=\"`64000`\" pulumi-lang-python=\"`64000`\" pulumi-lang-yaml=\"`64000`\" pulumi-lang-java=\"`64000`\"\u003e`64000`\u003c/span\u003e inclusive. Defaults to \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["effectiveOutboundIps","managedOutboundIpCount","managedOutboundIpv6Count"]}}},"azure:containerservice/KubernetesClusterNetworkProfileNatGatewayProfile:KubernetesClusterNetworkProfileNatGatewayProfile":{"properties":{"effectiveOutboundIps":{"type":"array","items":{"type":"string"},"description":"The outcome (resource IDs) of the specified arguments.\n"},"idleTimeoutInMinutes":{"type":"integer","description":"Desired outbound flow idle timeout in minutes for the managed nat gateway. Must be between \u003cspan pulumi-lang-nodejs=\"`4`\" pulumi-lang-dotnet=\"`4`\" pulumi-lang-go=\"`4`\" pulumi-lang-python=\"`4`\" pulumi-lang-yaml=\"`4`\" pulumi-lang-java=\"`4`\"\u003e`4`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`120`\" pulumi-lang-dotnet=\"`120`\" pulumi-lang-go=\"`120`\" pulumi-lang-python=\"`120`\" pulumi-lang-yaml=\"`120`\" pulumi-lang-java=\"`120`\"\u003e`120`\u003c/span\u003e inclusive. Defaults to \u003cspan pulumi-lang-nodejs=\"`4`\" pulumi-lang-dotnet=\"`4`\" pulumi-lang-go=\"`4`\" pulumi-lang-python=\"`4`\" pulumi-lang-yaml=\"`4`\" pulumi-lang-java=\"`4`\"\u003e`4`\u003c/span\u003e.\n"},"managedOutboundIpCount":{"type":"integer","description":"Count of desired managed outbound IPs for the managed nat gateway. Must be between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`16`\" pulumi-lang-dotnet=\"`16`\" pulumi-lang-go=\"`16`\" pulumi-lang-python=\"`16`\" pulumi-lang-yaml=\"`16`\" pulumi-lang-java=\"`16`\"\u003e`16`\u003c/span\u003e inclusive.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["effectiveOutboundIps","managedOutboundIpCount"]}}},"azure:containerservice/KubernetesClusterNodePoolKubeletConfig:KubernetesClusterNodePoolKubeletConfig":{"properties":{"allowedUnsafeSysctls":{"type":"array","items":{"type":"string"},"description":"Specifies the allow list of unsafe sysctls command or patterns (ending in `*`).\n"},"containerLogMaxLine":{"type":"integer","description":"Specifies the maximum number of container log files that can be present for a container. must be at least 2.\n"},"containerLogMaxSizeMb":{"type":"integer","description":"Specifies the maximum size (e.g. 10MB) of container log file before it is rotated.\n"},"cpuCfsQuotaEnabled":{"type":"boolean","description":"Is CPU CFS quota enforcement for containers enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"cpuCfsQuotaPeriod":{"type":"string","description":"Specifies the CPU CFS quota period value.\n"},"cpuManagerPolicy":{"type":"string","description":"Specifies the CPU Manager policy to use. Possible values are \u003cspan pulumi-lang-nodejs=\"`none`\" pulumi-lang-dotnet=\"`None`\" pulumi-lang-go=\"`none`\" pulumi-lang-python=\"`none`\" pulumi-lang-yaml=\"`none`\" pulumi-lang-java=\"`none`\"\u003e`none`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`static`\" pulumi-lang-dotnet=\"`Static`\" pulumi-lang-go=\"`static`\" pulumi-lang-python=\"`static`\" pulumi-lang-yaml=\"`static`\" pulumi-lang-java=\"`static`\"\u003e`static`\u003c/span\u003e,\n"},"imageGcHighThreshold":{"type":"integer","description":"Specifies the percent of disk usage above which image garbage collection is always run. Must be between \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`100`\" pulumi-lang-dotnet=\"`100`\" pulumi-lang-go=\"`100`\" pulumi-lang-python=\"`100`\" pulumi-lang-yaml=\"`100`\" pulumi-lang-java=\"`100`\"\u003e`100`\u003c/span\u003e.\n"},"imageGcLowThreshold":{"type":"integer","description":"Specifies the percent of disk usage lower than which image garbage collection is never run. Must be between \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`100`\" pulumi-lang-dotnet=\"`100`\" pulumi-lang-go=\"`100`\" pulumi-lang-python=\"`100`\" pulumi-lang-yaml=\"`100`\" pulumi-lang-java=\"`100`\"\u003e`100`\u003c/span\u003e.\n"},"podMaxPid":{"type":"integer","description":"Specifies the maximum number of processes per pod.\n"},"topologyManagerPolicy":{"type":"string","description":"Specifies the Topology Manager policy to use. Possible values are \u003cspan pulumi-lang-nodejs=\"`none`\" pulumi-lang-dotnet=\"`None`\" pulumi-lang-go=\"`none`\" pulumi-lang-python=\"`none`\" pulumi-lang-yaml=\"`none`\" pulumi-lang-java=\"`none`\"\u003e`none`\u003c/span\u003e, `best-effort`, \u003cspan pulumi-lang-nodejs=\"`restricted`\" pulumi-lang-dotnet=\"`Restricted`\" pulumi-lang-go=\"`restricted`\" pulumi-lang-python=\"`restricted`\" pulumi-lang-yaml=\"`restricted`\" pulumi-lang-java=\"`restricted`\"\u003e`restricted`\u003c/span\u003e or `single-numa-node`.\n"}},"type":"object"},"azure:containerservice/KubernetesClusterNodePoolLinuxOsConfig:KubernetesClusterNodePoolLinuxOsConfig":{"properties":{"swapFileSizeMb":{"type":"integer","description":"Specifies the size of swap file on each node in MB.\n"},"sysctlConfig":{"$ref":"#/types/azure:containerservice/KubernetesClusterNodePoolLinuxOsConfigSysctlConfig:KubernetesClusterNodePoolLinuxOsConfigSysctlConfig","description":"A \u003cspan pulumi-lang-nodejs=\"`sysctlConfig`\" pulumi-lang-dotnet=\"`SysctlConfig`\" pulumi-lang-go=\"`sysctlConfig`\" pulumi-lang-python=\"`sysctl_config`\" pulumi-lang-yaml=\"`sysctlConfig`\" pulumi-lang-java=\"`sysctlConfig`\"\u003e`sysctl_config`\u003c/span\u003e block as defined below.\n"},"transparentHugePage":{"type":"string","description":"Specifies the Transparent Huge Page configuration. Possible values are \u003cspan pulumi-lang-nodejs=\"`always`\" pulumi-lang-dotnet=\"`Always`\" pulumi-lang-go=\"`always`\" pulumi-lang-python=\"`always`\" pulumi-lang-yaml=\"`always`\" pulumi-lang-java=\"`always`\"\u003e`always`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`madvise`\" pulumi-lang-dotnet=\"`Madvise`\" pulumi-lang-go=\"`madvise`\" pulumi-lang-python=\"`madvise`\" pulumi-lang-yaml=\"`madvise`\" pulumi-lang-java=\"`madvise`\"\u003e`madvise`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`never`\" pulumi-lang-dotnet=\"`Never`\" pulumi-lang-go=\"`never`\" pulumi-lang-python=\"`never`\" pulumi-lang-yaml=\"`never`\" pulumi-lang-java=\"`never`\"\u003e`never`\u003c/span\u003e.\n"},"transparentHugePageDefrag":{"type":"string","description":"specifies the defrag configuration for Transparent Huge Page. Possible values are \u003cspan pulumi-lang-nodejs=\"`always`\" pulumi-lang-dotnet=\"`Always`\" pulumi-lang-go=\"`always`\" pulumi-lang-python=\"`always`\" pulumi-lang-yaml=\"`always`\" pulumi-lang-java=\"`always`\"\u003e`always`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`defer`\" pulumi-lang-dotnet=\"`Defer`\" pulumi-lang-go=\"`defer`\" pulumi-lang-python=\"`defer`\" pulumi-lang-yaml=\"`defer`\" pulumi-lang-java=\"`defer`\"\u003e`defer`\u003c/span\u003e, `defer+madvise`, \u003cspan pulumi-lang-nodejs=\"`madvise`\" pulumi-lang-dotnet=\"`Madvise`\" pulumi-lang-go=\"`madvise`\" pulumi-lang-python=\"`madvise`\" pulumi-lang-yaml=\"`madvise`\" pulumi-lang-java=\"`madvise`\"\u003e`madvise`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`never`\" pulumi-lang-dotnet=\"`Never`\" pulumi-lang-go=\"`never`\" pulumi-lang-python=\"`never`\" pulumi-lang-yaml=\"`never`\" pulumi-lang-java=\"`never`\"\u003e`never`\u003c/span\u003e.\n"},"transparentHugePageEnabled":{"type":"string","deprecationMessage":"this property has been deprecated in favour of \u003cspan pulumi-lang-nodejs=\"`transparentHugePage`\" pulumi-lang-dotnet=\"`TransparentHugePage`\" pulumi-lang-go=\"`transparentHugePage`\" pulumi-lang-python=\"`transparent_huge_page`\" pulumi-lang-yaml=\"`transparentHugePage`\" pulumi-lang-java=\"`transparentHugePage`\"\u003e`transparent_huge_page`\u003c/span\u003e and will be removed in version 5.0 of the Provider."}},"type":"object","language":{"nodejs":{"requiredOutputs":["transparentHugePage","transparentHugePageEnabled"]}}},"azure:containerservice/KubernetesClusterNodePoolLinuxOsConfigSysctlConfig:KubernetesClusterNodePoolLinuxOsConfigSysctlConfig":{"properties":{"fsAioMaxNr":{"type":"integer","description":"The sysctl setting fs.aio-max-nr. Must be between \u003cspan pulumi-lang-nodejs=\"`65536`\" pulumi-lang-dotnet=\"`65536`\" pulumi-lang-go=\"`65536`\" pulumi-lang-python=\"`65536`\" pulumi-lang-yaml=\"`65536`\" pulumi-lang-java=\"`65536`\"\u003e`65536`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`6553500`\" pulumi-lang-dotnet=\"`6553500`\" pulumi-lang-go=\"`6553500`\" pulumi-lang-python=\"`6553500`\" pulumi-lang-yaml=\"`6553500`\" pulumi-lang-java=\"`6553500`\"\u003e`6553500`\u003c/span\u003e.\n"},"fsFileMax":{"type":"integer","description":"The sysctl setting fs.file-max. Must be between \u003cspan pulumi-lang-nodejs=\"`8192`\" pulumi-lang-dotnet=\"`8192`\" pulumi-lang-go=\"`8192`\" pulumi-lang-python=\"`8192`\" pulumi-lang-yaml=\"`8192`\" pulumi-lang-java=\"`8192`\"\u003e`8192`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`12000500`\" pulumi-lang-dotnet=\"`12000500`\" pulumi-lang-go=\"`12000500`\" pulumi-lang-python=\"`12000500`\" pulumi-lang-yaml=\"`12000500`\" pulumi-lang-java=\"`12000500`\"\u003e`12000500`\u003c/span\u003e.\n"},"fsInotifyMaxUserWatches":{"type":"integer","description":"The sysctl setting fs.inotify.max_user_watches. Must be between \u003cspan pulumi-lang-nodejs=\"`781250`\" pulumi-lang-dotnet=\"`781250`\" pulumi-lang-go=\"`781250`\" pulumi-lang-python=\"`781250`\" pulumi-lang-yaml=\"`781250`\" pulumi-lang-java=\"`781250`\"\u003e`781250`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`2097152`\" pulumi-lang-dotnet=\"`2097152`\" pulumi-lang-go=\"`2097152`\" pulumi-lang-python=\"`2097152`\" pulumi-lang-yaml=\"`2097152`\" pulumi-lang-java=\"`2097152`\"\u003e`2097152`\u003c/span\u003e.\n"},"fsNrOpen":{"type":"integer","description":"The sysctl setting fs.nr_open. Must be between \u003cspan pulumi-lang-nodejs=\"`8192`\" pulumi-lang-dotnet=\"`8192`\" pulumi-lang-go=\"`8192`\" pulumi-lang-python=\"`8192`\" pulumi-lang-yaml=\"`8192`\" pulumi-lang-java=\"`8192`\"\u003e`8192`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`20000500`\" pulumi-lang-dotnet=\"`20000500`\" pulumi-lang-go=\"`20000500`\" pulumi-lang-python=\"`20000500`\" pulumi-lang-yaml=\"`20000500`\" pulumi-lang-java=\"`20000500`\"\u003e`20000500`\u003c/span\u003e.\n"},"kernelThreadsMax":{"type":"integer","description":"The sysctl setting kernel.threads-max. Must be between \u003cspan pulumi-lang-nodejs=\"`20`\" pulumi-lang-dotnet=\"`20`\" pulumi-lang-go=\"`20`\" pulumi-lang-python=\"`20`\" pulumi-lang-yaml=\"`20`\" pulumi-lang-java=\"`20`\"\u003e`20`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`513785`\" pulumi-lang-dotnet=\"`513785`\" pulumi-lang-go=\"`513785`\" pulumi-lang-python=\"`513785`\" pulumi-lang-yaml=\"`513785`\" pulumi-lang-java=\"`513785`\"\u003e`513785`\u003c/span\u003e.\n"},"netCoreNetdevMaxBacklog":{"type":"integer","description":"The sysctl setting net.core.netdev_max_backlog. Must be between \u003cspan pulumi-lang-nodejs=\"`1000`\" pulumi-lang-dotnet=\"`1000`\" pulumi-lang-go=\"`1000`\" pulumi-lang-python=\"`1000`\" pulumi-lang-yaml=\"`1000`\" pulumi-lang-java=\"`1000`\"\u003e`1000`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`3240000`\" pulumi-lang-dotnet=\"`3240000`\" pulumi-lang-go=\"`3240000`\" pulumi-lang-python=\"`3240000`\" pulumi-lang-yaml=\"`3240000`\" pulumi-lang-java=\"`3240000`\"\u003e`3240000`\u003c/span\u003e.\n"},"netCoreOptmemMax":{"type":"integer","description":"The sysctl setting net.core.optmem_max. Must be between \u003cspan pulumi-lang-nodejs=\"`20480`\" pulumi-lang-dotnet=\"`20480`\" pulumi-lang-go=\"`20480`\" pulumi-lang-python=\"`20480`\" pulumi-lang-yaml=\"`20480`\" pulumi-lang-java=\"`20480`\"\u003e`20480`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`4194304`\" pulumi-lang-dotnet=\"`4194304`\" pulumi-lang-go=\"`4194304`\" pulumi-lang-python=\"`4194304`\" pulumi-lang-yaml=\"`4194304`\" pulumi-lang-java=\"`4194304`\"\u003e`4194304`\u003c/span\u003e.\n"},"netCoreRmemDefault":{"type":"integer","description":"The sysctl setting net.core.rmem_default. Must be between \u003cspan pulumi-lang-nodejs=\"`212992`\" pulumi-lang-dotnet=\"`212992`\" pulumi-lang-go=\"`212992`\" pulumi-lang-python=\"`212992`\" pulumi-lang-yaml=\"`212992`\" pulumi-lang-java=\"`212992`\"\u003e`212992`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`134217728`\" pulumi-lang-dotnet=\"`134217728`\" pulumi-lang-go=\"`134217728`\" pulumi-lang-python=\"`134217728`\" pulumi-lang-yaml=\"`134217728`\" pulumi-lang-java=\"`134217728`\"\u003e`134217728`\u003c/span\u003e.\n"},"netCoreRmemMax":{"type":"integer","description":"The sysctl setting net.core.rmem_max. Must be between \u003cspan pulumi-lang-nodejs=\"`212992`\" pulumi-lang-dotnet=\"`212992`\" pulumi-lang-go=\"`212992`\" pulumi-lang-python=\"`212992`\" pulumi-lang-yaml=\"`212992`\" pulumi-lang-java=\"`212992`\"\u003e`212992`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`134217728`\" pulumi-lang-dotnet=\"`134217728`\" pulumi-lang-go=\"`134217728`\" pulumi-lang-python=\"`134217728`\" pulumi-lang-yaml=\"`134217728`\" pulumi-lang-java=\"`134217728`\"\u003e`134217728`\u003c/span\u003e.\n"},"netCoreSomaxconn":{"type":"integer","description":"The sysctl setting net.core.somaxconn. Must be between \u003cspan pulumi-lang-nodejs=\"`4096`\" pulumi-lang-dotnet=\"`4096`\" pulumi-lang-go=\"`4096`\" pulumi-lang-python=\"`4096`\" pulumi-lang-yaml=\"`4096`\" pulumi-lang-java=\"`4096`\"\u003e`4096`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`3240000`\" pulumi-lang-dotnet=\"`3240000`\" pulumi-lang-go=\"`3240000`\" pulumi-lang-python=\"`3240000`\" pulumi-lang-yaml=\"`3240000`\" pulumi-lang-java=\"`3240000`\"\u003e`3240000`\u003c/span\u003e.\n"},"netCoreWmemDefault":{"type":"integer","description":"The sysctl setting net.core.wmem_default. Must be between \u003cspan pulumi-lang-nodejs=\"`212992`\" pulumi-lang-dotnet=\"`212992`\" pulumi-lang-go=\"`212992`\" pulumi-lang-python=\"`212992`\" pulumi-lang-yaml=\"`212992`\" pulumi-lang-java=\"`212992`\"\u003e`212992`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`134217728`\" pulumi-lang-dotnet=\"`134217728`\" pulumi-lang-go=\"`134217728`\" pulumi-lang-python=\"`134217728`\" pulumi-lang-yaml=\"`134217728`\" pulumi-lang-java=\"`134217728`\"\u003e`134217728`\u003c/span\u003e.\n"},"netCoreWmemMax":{"type":"integer","description":"The sysctl setting net.core.wmem_max. Must be between \u003cspan pulumi-lang-nodejs=\"`212992`\" pulumi-lang-dotnet=\"`212992`\" pulumi-lang-go=\"`212992`\" pulumi-lang-python=\"`212992`\" pulumi-lang-yaml=\"`212992`\" pulumi-lang-java=\"`212992`\"\u003e`212992`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`134217728`\" pulumi-lang-dotnet=\"`134217728`\" pulumi-lang-go=\"`134217728`\" pulumi-lang-python=\"`134217728`\" pulumi-lang-yaml=\"`134217728`\" pulumi-lang-java=\"`134217728`\"\u003e`134217728`\u003c/span\u003e.\n"},"netIpv4IpLocalPortRangeMax":{"type":"integer","description":"The sysctl setting net.ipv4.ip_local_port_range max value. Must be between \u003cspan pulumi-lang-nodejs=\"`32768`\" pulumi-lang-dotnet=\"`32768`\" pulumi-lang-go=\"`32768`\" pulumi-lang-python=\"`32768`\" pulumi-lang-yaml=\"`32768`\" pulumi-lang-java=\"`32768`\"\u003e`32768`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`65535`\" pulumi-lang-dotnet=\"`65535`\" pulumi-lang-go=\"`65535`\" pulumi-lang-python=\"`65535`\" pulumi-lang-yaml=\"`65535`\" pulumi-lang-java=\"`65535`\"\u003e`65535`\u003c/span\u003e.\n"},"netIpv4IpLocalPortRangeMin":{"type":"integer","description":"The sysctl setting net.ipv4.ip_local_port_range min value. Must be between \u003cspan pulumi-lang-nodejs=\"`1024`\" pulumi-lang-dotnet=\"`1024`\" pulumi-lang-go=\"`1024`\" pulumi-lang-python=\"`1024`\" pulumi-lang-yaml=\"`1024`\" pulumi-lang-java=\"`1024`\"\u003e`1024`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`60999`\" pulumi-lang-dotnet=\"`60999`\" pulumi-lang-go=\"`60999`\" pulumi-lang-python=\"`60999`\" pulumi-lang-yaml=\"`60999`\" pulumi-lang-java=\"`60999`\"\u003e`60999`\u003c/span\u003e.\n"},"netIpv4NeighDefaultGcThresh1":{"type":"integer","description":"The sysctl setting net.ipv4.neigh.default.gc_thresh1. Must be between \u003cspan pulumi-lang-nodejs=\"`128`\" pulumi-lang-dotnet=\"`128`\" pulumi-lang-go=\"`128`\" pulumi-lang-python=\"`128`\" pulumi-lang-yaml=\"`128`\" pulumi-lang-java=\"`128`\"\u003e`128`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`80000`\" pulumi-lang-dotnet=\"`80000`\" pulumi-lang-go=\"`80000`\" pulumi-lang-python=\"`80000`\" pulumi-lang-yaml=\"`80000`\" pulumi-lang-java=\"`80000`\"\u003e`80000`\u003c/span\u003e.\n"},"netIpv4NeighDefaultGcThresh2":{"type":"integer","description":"The sysctl setting net.ipv4.neigh.default.gc_thresh2. Must be between \u003cspan pulumi-lang-nodejs=\"`512`\" pulumi-lang-dotnet=\"`512`\" pulumi-lang-go=\"`512`\" pulumi-lang-python=\"`512`\" pulumi-lang-yaml=\"`512`\" pulumi-lang-java=\"`512`\"\u003e`512`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`90000`\" pulumi-lang-dotnet=\"`90000`\" pulumi-lang-go=\"`90000`\" pulumi-lang-python=\"`90000`\" pulumi-lang-yaml=\"`90000`\" pulumi-lang-java=\"`90000`\"\u003e`90000`\u003c/span\u003e.\n"},"netIpv4NeighDefaultGcThresh3":{"type":"integer","description":"The sysctl setting net.ipv4.neigh.default.gc_thresh3. Must be between \u003cspan pulumi-lang-nodejs=\"`1024`\" pulumi-lang-dotnet=\"`1024`\" pulumi-lang-go=\"`1024`\" pulumi-lang-python=\"`1024`\" pulumi-lang-yaml=\"`1024`\" pulumi-lang-java=\"`1024`\"\u003e`1024`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`100000`\" pulumi-lang-dotnet=\"`100000`\" pulumi-lang-go=\"`100000`\" pulumi-lang-python=\"`100000`\" pulumi-lang-yaml=\"`100000`\" pulumi-lang-java=\"`100000`\"\u003e`100000`\u003c/span\u003e.\n"},"netIpv4TcpFinTimeout":{"type":"integer","description":"The sysctl setting net.ipv4.tcp_fin_timeout. Must be between \u003cspan pulumi-lang-nodejs=\"`5`\" pulumi-lang-dotnet=\"`5`\" pulumi-lang-go=\"`5`\" pulumi-lang-python=\"`5`\" pulumi-lang-yaml=\"`5`\" pulumi-lang-java=\"`5`\"\u003e`5`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`120`\" pulumi-lang-dotnet=\"`120`\" pulumi-lang-go=\"`120`\" pulumi-lang-python=\"`120`\" pulumi-lang-yaml=\"`120`\" pulumi-lang-java=\"`120`\"\u003e`120`\u003c/span\u003e.\n"},"netIpv4TcpKeepaliveIntvl":{"type":"integer","description":"The sysctl setting net.ipv4.tcp_keepalive_intvl. Must be between \u003cspan pulumi-lang-nodejs=\"`10`\" pulumi-lang-dotnet=\"`10`\" pulumi-lang-go=\"`10`\" pulumi-lang-python=\"`10`\" pulumi-lang-yaml=\"`10`\" pulumi-lang-java=\"`10`\"\u003e`10`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`90`\" pulumi-lang-dotnet=\"`90`\" pulumi-lang-go=\"`90`\" pulumi-lang-python=\"`90`\" pulumi-lang-yaml=\"`90`\" pulumi-lang-java=\"`90`\"\u003e`90`\u003c/span\u003e.\n"},"netIpv4TcpKeepaliveProbes":{"type":"integer","description":"The sysctl setting net.ipv4.tcp_keepalive_probes. Must be between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`15`\" pulumi-lang-dotnet=\"`15`\" pulumi-lang-go=\"`15`\" pulumi-lang-python=\"`15`\" pulumi-lang-yaml=\"`15`\" pulumi-lang-java=\"`15`\"\u003e`15`\u003c/span\u003e.\n"},"netIpv4TcpKeepaliveTime":{"type":"integer","description":"The sysctl setting net.ipv4.tcp_keepalive_time. Must be between \u003cspan pulumi-lang-nodejs=\"`30`\" pulumi-lang-dotnet=\"`30`\" pulumi-lang-go=\"`30`\" pulumi-lang-python=\"`30`\" pulumi-lang-yaml=\"`30`\" pulumi-lang-java=\"`30`\"\u003e`30`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`432000`\" pulumi-lang-dotnet=\"`432000`\" pulumi-lang-go=\"`432000`\" pulumi-lang-python=\"`432000`\" pulumi-lang-yaml=\"`432000`\" pulumi-lang-java=\"`432000`\"\u003e`432000`\u003c/span\u003e.\n"},"netIpv4TcpMaxSynBacklog":{"type":"integer","description":"The sysctl setting net.ipv4.tcp_max_syn_backlog. Must be between \u003cspan pulumi-lang-nodejs=\"`128`\" pulumi-lang-dotnet=\"`128`\" pulumi-lang-go=\"`128`\" pulumi-lang-python=\"`128`\" pulumi-lang-yaml=\"`128`\" pulumi-lang-java=\"`128`\"\u003e`128`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`3240000`\" pulumi-lang-dotnet=\"`3240000`\" pulumi-lang-go=\"`3240000`\" pulumi-lang-python=\"`3240000`\" pulumi-lang-yaml=\"`3240000`\" pulumi-lang-java=\"`3240000`\"\u003e`3240000`\u003c/span\u003e.\n"},"netIpv4TcpMaxTwBuckets":{"type":"integer","description":"The sysctl setting net.ipv4.tcp_max_tw_buckets. Must be between \u003cspan pulumi-lang-nodejs=\"`8000`\" pulumi-lang-dotnet=\"`8000`\" pulumi-lang-go=\"`8000`\" pulumi-lang-python=\"`8000`\" pulumi-lang-yaml=\"`8000`\" pulumi-lang-java=\"`8000`\"\u003e`8000`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`1440000`\" pulumi-lang-dotnet=\"`1440000`\" pulumi-lang-go=\"`1440000`\" pulumi-lang-python=\"`1440000`\" pulumi-lang-yaml=\"`1440000`\" pulumi-lang-java=\"`1440000`\"\u003e`1440000`\u003c/span\u003e.\n"},"netIpv4TcpTwReuse":{"type":"boolean","description":"Is sysctl setting net.ipv4.tcp_tw_reuse enabled?\n"},"netNetfilterNfConntrackBuckets":{"type":"integer","description":"The sysctl setting net.netfilter.nf_conntrack_buckets. Must be between \u003cspan pulumi-lang-nodejs=\"`65536`\" pulumi-lang-dotnet=\"`65536`\" pulumi-lang-go=\"`65536`\" pulumi-lang-python=\"`65536`\" pulumi-lang-yaml=\"`65536`\" pulumi-lang-java=\"`65536`\"\u003e`65536`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`524288`\" pulumi-lang-dotnet=\"`524288`\" pulumi-lang-go=\"`524288`\" pulumi-lang-python=\"`524288`\" pulumi-lang-yaml=\"`524288`\" pulumi-lang-java=\"`524288`\"\u003e`524288`\u003c/span\u003e.\n"},"netNetfilterNfConntrackMax":{"type":"integer","description":"The sysctl setting net.netfilter.nf_conntrack_max. Must be between \u003cspan pulumi-lang-nodejs=\"`131072`\" pulumi-lang-dotnet=\"`131072`\" pulumi-lang-go=\"`131072`\" pulumi-lang-python=\"`131072`\" pulumi-lang-yaml=\"`131072`\" pulumi-lang-java=\"`131072`\"\u003e`131072`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`2097152`\" pulumi-lang-dotnet=\"`2097152`\" pulumi-lang-go=\"`2097152`\" pulumi-lang-python=\"`2097152`\" pulumi-lang-yaml=\"`2097152`\" pulumi-lang-java=\"`2097152`\"\u003e`2097152`\u003c/span\u003e.\n"},"vmMaxMapCount":{"type":"integer","description":"The sysctl setting vm.max_map_count. Must be between \u003cspan pulumi-lang-nodejs=\"`65530`\" pulumi-lang-dotnet=\"`65530`\" pulumi-lang-go=\"`65530`\" pulumi-lang-python=\"`65530`\" pulumi-lang-yaml=\"`65530`\" pulumi-lang-java=\"`65530`\"\u003e`65530`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`262144`\" pulumi-lang-dotnet=\"`262144`\" pulumi-lang-go=\"`262144`\" pulumi-lang-python=\"`262144`\" pulumi-lang-yaml=\"`262144`\" pulumi-lang-java=\"`262144`\"\u003e`262144`\u003c/span\u003e.\n"},"vmSwappiness":{"type":"integer","description":"The sysctl setting vm.swappiness. Must be between \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`100`\" pulumi-lang-dotnet=\"`100`\" pulumi-lang-go=\"`100`\" pulumi-lang-python=\"`100`\" pulumi-lang-yaml=\"`100`\" pulumi-lang-java=\"`100`\"\u003e`100`\u003c/span\u003e.\n"},"vmVfsCachePressure":{"type":"integer","description":"The sysctl setting vm.vfs_cache_pressure. Must be between \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`100`\" pulumi-lang-dotnet=\"`100`\" pulumi-lang-go=\"`100`\" pulumi-lang-python=\"`100`\" pulumi-lang-yaml=\"`100`\" pulumi-lang-java=\"`100`\"\u003e`100`\u003c/span\u003e.\n"}},"type":"object"},"azure:containerservice/KubernetesClusterNodePoolNodeNetworkProfile:KubernetesClusterNodePoolNodeNetworkProfile":{"properties":{"allowedHostPorts":{"type":"array","items":{"$ref":"#/types/azure:containerservice/KubernetesClusterNodePoolNodeNetworkProfileAllowedHostPort:KubernetesClusterNodePoolNodeNetworkProfileAllowedHostPort"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`allowedHostPorts`\" pulumi-lang-dotnet=\"`AllowedHostPorts`\" pulumi-lang-go=\"`allowedHostPorts`\" pulumi-lang-python=\"`allowed_host_ports`\" pulumi-lang-yaml=\"`allowedHostPorts`\" pulumi-lang-java=\"`allowedHostPorts`\"\u003e`allowed_host_ports`\u003c/span\u003e blocks as defined below.\n"},"applicationSecurityGroupIds":{"type":"array","items":{"type":"string"},"description":"A list of Application Security Group IDs which should be associated with this Node Pool.\n"},"nodePublicIpTags":{"type":"object","additionalProperties":{"type":"string"},"description":"Specifies a mapping of tags to the instance-level public IPs. Changing this forces a new resource to be created.\n\n\u003e **Note:** To set the application security group, you must allow at least one host port. Without this, the configuration will fail silently. [Learn More](https://learn.microsoft.com/en-us/azure/aks/use-node-public-ips#allow-host-port-connections-and-add-node-pools-to-application-security-groups).\n","willReplaceOnChanges":true}},"type":"object"},"azure:containerservice/KubernetesClusterNodePoolNodeNetworkProfileAllowedHostPort:KubernetesClusterNodePoolNodeNetworkProfileAllowedHostPort":{"properties":{"portEnd":{"type":"integer","description":"Specifies the end of the port range.\n"},"portStart":{"type":"integer","description":"Specifies the start of the port range.\n"},"protocol":{"type":"string","description":"Specifies the protocol of the port range. Possible values are `TCP` and `UDP`.\n"}},"type":"object"},"azure:containerservice/KubernetesClusterNodePoolUpgradeSettings:KubernetesClusterNodePoolUpgradeSettings":{"properties":{"drainTimeoutInMinutes":{"type":"integer","description":"The amount of time in minutes to wait on eviction of pods and graceful termination per node. This eviction wait time honors waiting on pod disruption budgets. If this time is exceeded, the upgrade fails. Unsetting this after configuring it will force a new resource to be created.\n"},"maxSurge":{"type":"string","description":"The maximum number or percentage of nodes which will be added to the Node Pool size during an upgrade.\n"},"maxUnavailable":{"type":"string","description":"The maximum number or percentage of nodes which can be unavailable during the upgrade.\n\n\u003e **Note:** Exactly one of \u003cspan pulumi-lang-nodejs=\"`maxSurge`\" pulumi-lang-dotnet=\"`MaxSurge`\" pulumi-lang-go=\"`maxSurge`\" pulumi-lang-python=\"`max_surge`\" pulumi-lang-yaml=\"`maxSurge`\" pulumi-lang-java=\"`maxSurge`\"\u003e`max_surge`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`maxUnavailable`\" pulumi-lang-dotnet=\"`MaxUnavailable`\" pulumi-lang-go=\"`maxUnavailable`\" pulumi-lang-python=\"`max_unavailable`\" pulumi-lang-yaml=\"`maxUnavailable`\" pulumi-lang-java=\"`maxUnavailable`\"\u003e`max_unavailable`\u003c/span\u003e must be specified.\n"},"nodeSoakDurationInMinutes":{"type":"integer","description":"The amount of time in minutes to wait after draining a node and before reimaging and moving on to next node.\n"},"undrainableNodeBehavior":{"type":"string","description":"Specifies the action when a node is undrainable during upgrade. Possible values are `Cordon` and `Schedule`. Unsetting this after configuring it will force a new resource to be created.\n"}},"type":"object"},"azure:containerservice/KubernetesClusterNodePoolWindowsProfile:KubernetesClusterNodePoolWindowsProfile":{"properties":{"outboundNatEnabled":{"type":"boolean","description":"Should the Windows nodes in this Node Pool have outbound NAT enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e. Changing this forces a new resource to be created.\n\n\u003e **Note:** If a percentage is provided, the number of surge nodes is calculated from the current node count on the cluster. Node surge can allow a cluster to have more nodes than \u003cspan pulumi-lang-nodejs=\"`maxCount`\" pulumi-lang-dotnet=\"`MaxCount`\" pulumi-lang-go=\"`maxCount`\" pulumi-lang-python=\"`max_count`\" pulumi-lang-yaml=\"`maxCount`\" pulumi-lang-java=\"`maxCount`\"\u003e`max_count`\u003c/span\u003e during an upgrade. Ensure that your cluster has enough [IP space](https://docs.microsoft.com/azure/aks/upgrade-cluster#customize-node-surge-upgrade) during an upgrade.\n","willReplaceOnChanges":true}},"type":"object"},"azure:containerservice/KubernetesClusterNodeProvisioningProfile:KubernetesClusterNodeProvisioningProfile":{"properties":{"defaultNodePools":{"type":"string","description":"Specifies whether default node pools should be provisioned automatically. Possible values are `Auto` and `None`. Defaults to `Auto`. At least one of \u003cspan pulumi-lang-nodejs=\"`mode`\" pulumi-lang-dotnet=\"`Mode`\" pulumi-lang-go=\"`mode`\" pulumi-lang-python=\"`mode`\" pulumi-lang-yaml=\"`mode`\" pulumi-lang-java=\"`mode`\"\u003e`mode`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`defaultNodePools`\" pulumi-lang-dotnet=\"`DefaultNodePools`\" pulumi-lang-go=\"`defaultNodePools`\" pulumi-lang-python=\"`default_node_pools`\" pulumi-lang-yaml=\"`defaultNodePools`\" pulumi-lang-java=\"`defaultNodePools`\"\u003e`default_node_pools`\u003c/span\u003e must be specified.\n"},"mode":{"type":"string"}},"type":"object"},"azure:containerservice/KubernetesClusterOmsAgent:KubernetesClusterOmsAgent":{"properties":{"logAnalyticsWorkspaceId":{"type":"string","description":"The ID of the Log Analytics Workspace which the OMS Agent should send data to.\n"},"msiAuthForMonitoringEnabled":{"type":"boolean","description":"Is managed identity authentication for monitoring enabled?\n"},"omsAgentIdentities":{"type":"array","items":{"$ref":"#/types/azure:containerservice/KubernetesClusterOmsAgentOmsAgentIdentity:KubernetesClusterOmsAgentOmsAgentIdentity"},"description":"An \u003cspan pulumi-lang-nodejs=\"`omsAgentIdentity`\" pulumi-lang-dotnet=\"`OmsAgentIdentity`\" pulumi-lang-go=\"`omsAgentIdentity`\" pulumi-lang-python=\"`oms_agent_identity`\" pulumi-lang-yaml=\"`omsAgentIdentity`\" pulumi-lang-java=\"`omsAgentIdentity`\"\u003e`oms_agent_identity`\u003c/span\u003e block is exported. The exported attributes are defined below.\n"}},"type":"object","required":["logAnalyticsWorkspaceId"],"language":{"nodejs":{"requiredOutputs":["logAnalyticsWorkspaceId","omsAgentIdentities"]}}},"azure:containerservice/KubernetesClusterOmsAgentOmsAgentIdentity:KubernetesClusterOmsAgentOmsAgentIdentity":{"properties":{"clientId":{"type":"string","description":"The Client ID of the user-defined Managed Identity used for Web App Routing.\n"},"objectId":{"type":"string","description":"The Object ID of the user-defined Managed Identity used for Web App Routing\n"},"userAssignedIdentityId":{"type":"string","description":"The ID of the User Assigned Identity used for Web App Routing.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["clientId","objectId","userAssignedIdentityId"]}}},"azure:containerservice/KubernetesClusterServiceMeshProfile:KubernetesClusterServiceMeshProfile":{"properties":{"certificateAuthority":{"$ref":"#/types/azure:containerservice/KubernetesClusterServiceMeshProfileCertificateAuthority:KubernetesClusterServiceMeshProfileCertificateAuthority","description":"A \u003cspan pulumi-lang-nodejs=\"`certificateAuthority`\" pulumi-lang-dotnet=\"`CertificateAuthority`\" pulumi-lang-go=\"`certificateAuthority`\" pulumi-lang-python=\"`certificate_authority`\" pulumi-lang-yaml=\"`certificateAuthority`\" pulumi-lang-java=\"`certificateAuthority`\"\u003e`certificate_authority`\u003c/span\u003e block as defined below. When this property is specified, \u003cspan pulumi-lang-nodejs=\"`keyVaultSecretsProvider`\" pulumi-lang-dotnet=\"`KeyVaultSecretsProvider`\" pulumi-lang-go=\"`keyVaultSecretsProvider`\" pulumi-lang-python=\"`key_vault_secrets_provider`\" pulumi-lang-yaml=\"`keyVaultSecretsProvider`\" pulumi-lang-java=\"`keyVaultSecretsProvider`\"\u003e`key_vault_secrets_provider`\u003c/span\u003e is also required to be set. This configuration allows you to bring your own root certificate and keys for Istio CA in the Istio-based service mesh add-on for Azure Kubernetes Service.\n"},"externalIngressGatewayEnabled":{"type":"boolean","description":"Is Istio External Ingress Gateway enabled?\n\n\u003e **NOTE:** Currently only one Internal Ingress Gateway and one External Ingress Gateway are allowed per cluster\n"},"internalIngressGatewayEnabled":{"type":"boolean","description":"Is Istio Internal Ingress Gateway enabled?\n"},"mode":{"type":"string","description":"The mode of the service mesh. Possible value is `Istio`.\n"},"revisions":{"type":"array","items":{"type":"string"},"description":"Specify 1 or 2 Istio control plane revisions for managing minor upgrades using the canary upgrade process. For example, create the resource with \u003cspan pulumi-lang-nodejs=\"`revisions`\" pulumi-lang-dotnet=\"`Revisions`\" pulumi-lang-go=\"`revisions`\" pulumi-lang-python=\"`revisions`\" pulumi-lang-yaml=\"`revisions`\" pulumi-lang-java=\"`revisions`\"\u003e`revisions`\u003c/span\u003e set to `[\"asm-1-25\"]`, or leave it empty (the \u003cspan pulumi-lang-nodejs=\"`revisions`\" pulumi-lang-dotnet=\"`Revisions`\" pulumi-lang-go=\"`revisions`\" pulumi-lang-python=\"`revisions`\" pulumi-lang-yaml=\"`revisions`\" pulumi-lang-java=\"`revisions`\"\u003e`revisions`\u003c/span\u003e will only be known after apply). To start the canary upgrade, change \u003cspan pulumi-lang-nodejs=\"`revisions`\" pulumi-lang-dotnet=\"`Revisions`\" pulumi-lang-go=\"`revisions`\" pulumi-lang-python=\"`revisions`\" pulumi-lang-yaml=\"`revisions`\" pulumi-lang-java=\"`revisions`\"\u003e`revisions`\u003c/span\u003e to `[\"asm-1-25\", \"asm-1-26\"]`. To roll back the canary upgrade, revert to `[\"asm-1-25\"]`. To confirm the upgrade, change to `[\"asm-1-26\"]`.\n\n\u003e **NOTE:** Upgrading to a new (canary) revision does not affect existing sidecar proxies. You need to apply the canary revision label to selected namespaces and restart pods with kubectl to inject the new sidecar proxy. [Learn more](https://istio.io/latest/docs/setup/upgrade/canary/#data-plane).\n"}},"type":"object","required":["mode","revisions"]},"azure:containerservice/KubernetesClusterServiceMeshProfileCertificateAuthority:KubernetesClusterServiceMeshProfileCertificateAuthority":{"properties":{"certChainObjectName":{"type":"string","description":"The certificate chain object name in Azure Key Vault.\n"},"certObjectName":{"type":"string","description":"The intermediate certificate object name in Azure Key Vault.\n"},"keyObjectName":{"type":"string","description":"The intermediate certificate private key object name in Azure Key Vault.\n\n\u003e **Note:** For more information on [Istio-based service mesh add-on with plug-in CA certificates and how to generate these certificates](https://learn.microsoft.com/en-us/azure/aks/istio-plugin-ca),\n"},"keyVaultId":{"type":"string","description":"The resource ID of the Key Vault.\n"},"rootCertObjectName":{"type":"string","description":"The root certificate object name in Azure Key Vault.\n"}},"type":"object","required":["certChainObjectName","certObjectName","keyObjectName","keyVaultId","rootCertObjectName"]},"azure:containerservice/KubernetesClusterServicePrincipal:KubernetesClusterServicePrincipal":{"properties":{"clientId":{"type":"string","description":"The Client ID for the Service Principal.\n"},"clientSecret":{"type":"string","description":"The Client Secret for the Service Principal.\n","secret":true}},"type":"object","required":["clientId","clientSecret"]},"azure:containerservice/KubernetesClusterStorageProfile:KubernetesClusterStorageProfile":{"properties":{"blobDriverEnabled":{"type":"boolean","description":"Is the Blob CSI driver enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"diskDriverEnabled":{"type":"boolean","description":"Is the Disk CSI driver enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"fileDriverEnabled":{"type":"boolean","description":"Is the File CSI driver enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"snapshotControllerEnabled":{"type":"boolean","description":"Is the Snapshot Controller enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"}},"type":"object"},"azure:containerservice/KubernetesClusterUpgradeOverride:KubernetesClusterUpgradeOverride":{"properties":{"effectiveUntil":{"type":"string","description":"Specifies the duration, in RFC 3339 format (e.g., `2025-10-01T13:00:00Z`), the \u003cspan pulumi-lang-nodejs=\"`upgradeOverride`\" pulumi-lang-dotnet=\"`UpgradeOverride`\" pulumi-lang-go=\"`upgradeOverride`\" pulumi-lang-python=\"`upgrade_override`\" pulumi-lang-yaml=\"`upgradeOverride`\" pulumi-lang-java=\"`upgradeOverride`\"\u003e`upgrade_override`\u003c/span\u003e values are effective. This field must be set for the \u003cspan pulumi-lang-nodejs=\"`upgradeOverride`\" pulumi-lang-dotnet=\"`UpgradeOverride`\" pulumi-lang-go=\"`upgradeOverride`\" pulumi-lang-python=\"`upgrade_override`\" pulumi-lang-yaml=\"`upgradeOverride`\" pulumi-lang-java=\"`upgradeOverride`\"\u003e`upgrade_override`\u003c/span\u003e values to take effect. The date-time must be within the next 30 days.\n\n\u003e **Note:** This only matches the start time of an upgrade, and the effectiveness won't change once an upgrade starts even if the \u003cspan pulumi-lang-nodejs=\"`effectiveUntil`\" pulumi-lang-dotnet=\"`EffectiveUntil`\" pulumi-lang-go=\"`effectiveUntil`\" pulumi-lang-python=\"`effective_until`\" pulumi-lang-yaml=\"`effectiveUntil`\" pulumi-lang-java=\"`effectiveUntil`\"\u003e`effective_until`\u003c/span\u003e value expires as the upgrade proceeds.\n"},"forceUpgradeEnabled":{"type":"boolean","description":"Whether to force upgrade the cluster. Possible values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n!\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`forceUpgradeEnabled`\" pulumi-lang-dotnet=\"`ForceUpgradeEnabled`\" pulumi-lang-go=\"`forceUpgradeEnabled`\" pulumi-lang-python=\"`force_upgrade_enabled`\" pulumi-lang-yaml=\"`forceUpgradeEnabled`\" pulumi-lang-java=\"`forceUpgradeEnabled`\"\u003e`force_upgrade_enabled`\u003c/span\u003e field instructs the upgrade operation to bypass upgrade protections (e.g. checking for deprecated API usage) which may render the cluster inoperative after the upgrade process has completed. Use the \u003cspan pulumi-lang-nodejs=\"`forceUpgradeEnabled`\" pulumi-lang-dotnet=\"`ForceUpgradeEnabled`\" pulumi-lang-go=\"`forceUpgradeEnabled`\" pulumi-lang-python=\"`force_upgrade_enabled`\" pulumi-lang-yaml=\"`forceUpgradeEnabled`\" pulumi-lang-java=\"`forceUpgradeEnabled`\"\u003e`force_upgrade_enabled`\u003c/span\u003e option with extreme caution only.\n"}},"type":"object","required":["forceUpgradeEnabled"]},"azure:containerservice/KubernetesClusterWebAppRouting:KubernetesClusterWebAppRouting":{"properties":{"defaultNginxController":{"type":"string","description":"Specifies the ingress type for the default `NginxIngressController` custom resource. The allowed values are `None`, `Internal`, `External` and `AnnotationControlled`. Defaults to `AnnotationControlled`.\n"},"dnsZoneIds":{"type":"array","items":{"type":"string"},"description":"Specifies the list of the DNS Zone IDs in which DNS entries are created for applications deployed to the cluster when Web App Routing is enabled. If not using Bring-Your-Own DNS zones this property should be set to an empty list.\n"},"webAppRoutingIdentities":{"type":"array","items":{"$ref":"#/types/azure:containerservice/KubernetesClusterWebAppRoutingWebAppRoutingIdentity:KubernetesClusterWebAppRoutingWebAppRoutingIdentity"},"description":"A \u003cspan pulumi-lang-nodejs=\"`webAppRoutingIdentity`\" pulumi-lang-dotnet=\"`WebAppRoutingIdentity`\" pulumi-lang-go=\"`webAppRoutingIdentity`\" pulumi-lang-python=\"`web_app_routing_identity`\" pulumi-lang-yaml=\"`webAppRoutingIdentity`\" pulumi-lang-java=\"`webAppRoutingIdentity`\"\u003e`web_app_routing_identity`\u003c/span\u003e block is exported. The exported attributes are defined below.\n"}},"type":"object","required":["dnsZoneIds"],"language":{"nodejs":{"requiredOutputs":["dnsZoneIds","webAppRoutingIdentities"]}}},"azure:containerservice/KubernetesClusterWebAppRoutingWebAppRoutingIdentity:KubernetesClusterWebAppRoutingWebAppRoutingIdentity":{"properties":{"clientId":{"type":"string","description":"The Client ID of the user-defined Managed Identity used for Web App Routing.\n"},"objectId":{"type":"string","description":"The Object ID of the user-defined Managed Identity used for Web App Routing\n"},"userAssignedIdentityId":{"type":"string","description":"The ID of the User Assigned Identity used for Web App Routing.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["clientId","objectId","userAssignedIdentityId"]}}},"azure:containerservice/KubernetesClusterWindowsProfile:KubernetesClusterWindowsProfile":{"properties":{"adminPassword":{"type":"string","description":"The Admin Password for Windows VMs. Length must be between 14 and 123 characters.\n","secret":true},"adminUsername":{"type":"string","description":"The Admin Username for Windows VMs. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"gmsa":{"$ref":"#/types/azure:containerservice/KubernetesClusterWindowsProfileGmsa:KubernetesClusterWindowsProfileGmsa","description":"A \u003cspan pulumi-lang-nodejs=\"`gmsa`\" pulumi-lang-dotnet=\"`Gmsa`\" pulumi-lang-go=\"`gmsa`\" pulumi-lang-python=\"`gmsa`\" pulumi-lang-yaml=\"`gmsa`\" pulumi-lang-java=\"`gmsa`\"\u003e`gmsa`\u003c/span\u003e block as defined below.\n"},"license":{"type":"string","description":"Specifies the type of on-premise license which should be used for Node Pool Windows Virtual Machine. At this time the only possible value is `Windows_Server`.\n"}},"type":"object","required":["adminPassword","adminUsername"]},"azure:containerservice/KubernetesClusterWindowsProfileGmsa:KubernetesClusterWindowsProfileGmsa":{"properties":{"dnsServer":{"type":"string","description":"Specifies the DNS server for Windows gMSA. Set this to an empty string if you have configured the DNS server in the VNet which was used to create the managed cluster.\n"},"rootDomain":{"type":"string","description":"Specifies the root domain name for Windows gMSA. Set this to an empty string if you have configured the DNS server in the VNet which was used to create the managed cluster.\n\n\u003e **Note:** The properties \u003cspan pulumi-lang-nodejs=\"`dnsServer`\" pulumi-lang-dotnet=\"`DnsServer`\" pulumi-lang-go=\"`dnsServer`\" pulumi-lang-python=\"`dns_server`\" pulumi-lang-yaml=\"`dnsServer`\" pulumi-lang-java=\"`dnsServer`\"\u003e`dns_server`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`rootDomain`\" pulumi-lang-dotnet=\"`RootDomain`\" pulumi-lang-go=\"`rootDomain`\" pulumi-lang-python=\"`root_domain`\" pulumi-lang-yaml=\"`rootDomain`\" pulumi-lang-java=\"`rootDomain`\"\u003e`root_domain`\u003c/span\u003e must both either be set or unset, i.e. empty.\n"}},"type":"object","required":["dnsServer","rootDomain"]},"azure:containerservice/KubernetesClusterWorkloadAutoscalerProfile:KubernetesClusterWorkloadAutoscalerProfile":{"properties":{"kedaEnabled":{"type":"boolean","description":"Specifies whether KEDA Autoscaler can be used for workloads.\n"},"verticalPodAutoscalerEnabled":{"type":"boolean","description":"Specifies whether Vertical Pod Autoscaler should be enabled.\n"}},"type":"object"},"azure:containerservice/KubernetesFleetManagerHubProfile:KubernetesFleetManagerHubProfile":{"properties":{"dnsPrefix":{"type":"string"},"fqdn":{"type":"string"},"kubernetesVersion":{"type":"string"}},"type":"object","required":["dnsPrefix"],"language":{"nodejs":{"requiredOutputs":["dnsPrefix","fqdn","kubernetesVersion"]}}},"azure:containerservice/RegistryCredentialSetAuthenticationCredentials:RegistryCredentialSetAuthenticationCredentials":{"properties":{"passwordSecretId":{"type":"string","description":"The URI of the secret containing the password in a Key Vault.\n\n\u003e **Note:** Be aware that you will need to permit the Identity that is created for the Container Registry to have \u003cspan pulumi-lang-nodejs=\"`get`\" pulumi-lang-dotnet=\"`Get`\" pulumi-lang-go=\"`get`\" pulumi-lang-python=\"`get`\" pulumi-lang-yaml=\"`get`\" pulumi-lang-java=\"`get`\"\u003e`get`\u003c/span\u003e on secrets to the Key Vault, e.g. using the \u003cspan pulumi-lang-nodejs=\"`azure.keyvault.AccessPolicy`\" pulumi-lang-dotnet=\"`azure.keyvault.AccessPolicy`\" pulumi-lang-go=\"`keyvault.AccessPolicy`\" pulumi-lang-python=\"`keyvault.AccessPolicy`\" pulumi-lang-yaml=\"`azure.keyvault.AccessPolicy`\" pulumi-lang-java=\"`azure.keyvault.AccessPolicy`\"\u003e`azure.keyvault.AccessPolicy`\u003c/span\u003e resource.\n"},"usernameSecretId":{"type":"string","description":"The URI of the secret containing the username in a Key Vault.\n"}},"type":"object","required":["passwordSecretId","usernameSecretId"]},"azure:containerservice/RegistryCredentialSetIdentity:RegistryCredentialSetIdentity":{"properties":{"principalId":{"type":"string","description":"The principal ID of the Identity.\n"},"tenantId":{"type":"string","description":"The tenant ID of the Identity.\n"},"type":{"type":"string","description":"The type of Managed Service Identity that is configured on for the Container Registry Credential Set. Currently the only possible value is `SystemAssigned`.\n"}},"type":"object","required":["type"],"language":{"nodejs":{"requiredOutputs":["principalId","tenantId","type"]}}},"azure:containerservice/RegistryEncryption:RegistryEncryption":{"properties":{"identityClientId":{"type":"string","description":"The client ID of the managed identity associated with the encryption key.\n"},"keyVaultKeyId":{"type":"string","description":"The ID of the Key Vault Key.\n"}},"type":"object","required":["identityClientId","keyVaultKeyId"]},"azure:containerservice/RegistryGeoreplication:RegistryGeoreplication":{"properties":{"location":{"type":"string","description":"A location where the container registry should be geo-replicated.\n"},"regionalEndpointEnabled":{"type":"boolean","description":"Whether regional endpoint is enabled for this Container Registry?\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to this replication location.\n"},"zoneRedundancyEnabled":{"type":"boolean","description":"Whether zone redundancy is enabled for this replication location? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** Changing the \u003cspan pulumi-lang-nodejs=\"`zoneRedundancyEnabled`\" pulumi-lang-dotnet=\"`ZoneRedundancyEnabled`\" pulumi-lang-go=\"`zoneRedundancyEnabled`\" pulumi-lang-python=\"`zone_redundancy_enabled`\" pulumi-lang-yaml=\"`zoneRedundancyEnabled`\" pulumi-lang-java=\"`zoneRedundancyEnabled`\"\u003e`zone_redundancy_enabled`\u003c/span\u003e forces an underlying replication to be created.\n"}},"type":"object","required":["location"]},"azure:containerservice/RegistryIdentity:RegistryIdentity":{"properties":{"identityIds":{"type":"array","items":{"type":"string"},"description":"Specifies a list of User Assigned Managed Identity IDs to be assigned to this Container Registry.\n\n\u003e **Note:** This is required when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to `UserAssigned` or `SystemAssigned, UserAssigned`.\n"},"principalId":{"type":"string","description":"The Principal ID associated with this Managed Service Identity.\n"},"tenantId":{"type":"string","description":"The Tenant ID associated with this Managed Service Identity.\n"},"type":{"type":"string","description":"Specifies the type of Managed Service Identity that should be configured on this Container Registry. Possible values are `SystemAssigned`, `UserAssigned`, `SystemAssigned, UserAssigned` (to enable both).\n"}},"type":"object","required":["type"],"language":{"nodejs":{"requiredOutputs":["principalId","tenantId","type"]}}},"azure:containerservice/RegistryNetworkRuleSet:RegistryNetworkRuleSet":{"properties":{"defaultAction":{"type":"string","description":"The behaviour for requests matching no rules. Either `Allow` or `Deny`. Defaults to `Allow`\n"},"ipRules":{"type":"array","items":{"$ref":"#/types/azure:containerservice/RegistryNetworkRuleSetIpRule:RegistryNetworkRuleSetIpRule"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`ipRule`\" pulumi-lang-dotnet=\"`IpRule`\" pulumi-lang-go=\"`ipRule`\" pulumi-lang-python=\"`ip_rule`\" pulumi-lang-yaml=\"`ipRule`\" pulumi-lang-java=\"`ipRule`\"\u003e`ip_rule`\u003c/span\u003e blocks as defined below.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`networkRuleSet`\" pulumi-lang-dotnet=\"`NetworkRuleSet`\" pulumi-lang-go=\"`networkRuleSet`\" pulumi-lang-python=\"`network_rule_set`\" pulumi-lang-yaml=\"`networkRuleSet`\" pulumi-lang-java=\"`networkRuleSet`\"\u003e`network_rule_set`\u003c/span\u003e is only supported with the `Premium` SKU at this time.\n\n\u003e **Note:** Azure automatically configures Network Rules - to remove these, you'll need to specify an \u003cspan pulumi-lang-nodejs=\"`networkRuleSet`\" pulumi-lang-dotnet=\"`NetworkRuleSet`\" pulumi-lang-go=\"`networkRuleSet`\" pulumi-lang-python=\"`network_rule_set`\" pulumi-lang-yaml=\"`networkRuleSet`\" pulumi-lang-java=\"`networkRuleSet`\"\u003e`network_rule_set`\u003c/span\u003e block with \u003cspan pulumi-lang-nodejs=\"`defaultAction`\" pulumi-lang-dotnet=\"`DefaultAction`\" pulumi-lang-go=\"`defaultAction`\" pulumi-lang-python=\"`default_action`\" pulumi-lang-yaml=\"`defaultAction`\" pulumi-lang-java=\"`defaultAction`\"\u003e`default_action`\u003c/span\u003e set to `Deny`.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["ipRules"]}}},"azure:containerservice/RegistryNetworkRuleSetIpRule:RegistryNetworkRuleSetIpRule":{"properties":{"action":{"type":"string","description":"The behaviour for requests matching this rule. At this time the only supported value is `Allow`\n"},"ipRange":{"type":"string","description":"The CIDR block from which requests will match the rule.\n"}},"type":"object","required":["action","ipRange"]},"azure:containerservice/RegistryTaskAgentSetting:RegistryTaskAgentSetting":{"properties":{"cpu":{"type":"integer","description":"The number of cores required for the Container Registry Task. Possible value is \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e.\n"}},"type":"object","required":["cpu"]},"azure:containerservice/RegistryTaskBaseImageTrigger:RegistryTaskBaseImageTrigger":{"properties":{"enabled":{"type":"boolean","description":"Should the trigger be enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"name":{"type":"string","description":"The name which should be used for this trigger.\n"},"type":{"type":"string","description":"The type of the trigger. Possible values are `All` and `Runtime`.\n"},"updateTriggerEndpoint":{"type":"string","description":"The endpoint URL for receiving the trigger.\n","secret":true},"updateTriggerPayloadType":{"type":"string","description":"Type of payload body for the trigger. Possible values are `Default` and `Token`.\n"}},"type":"object","required":["name","type"]},"azure:containerservice/RegistryTaskDockerStep:RegistryTaskDockerStep":{"properties":{"arguments":{"type":"object","additionalProperties":{"type":"string"},"description":"Specifies a map of arguments to be used when executing this step.\n"},"cacheEnabled":{"type":"boolean","description":"Should the image cache be enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"contextAccessToken":{"type":"string","description":"The token (Git PAT or SAS token of storage account blob) associated with the context for this step.\n","secret":true},"contextPath":{"type":"string","description":"The URL (absolute or relative) of the source context for this step. If the context is an url you can reference a specific branch or folder via `#branch:folder`.\n"},"dockerfilePath":{"type":"string","description":"The Dockerfile path relative to the source context.\n"},"imageNames":{"type":"array","items":{"type":"string"},"description":"Specifies a list of fully qualified image names including the repository and tag.\n"},"pushEnabled":{"type":"boolean","description":"Should the image built be pushed to the registry or not? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"secretArguments":{"type":"object","additionalProperties":{"type":"string"},"description":"Specifies a map of *secret* arguments to be used when executing this step.\n","secret":true},"target":{"type":"string","description":"The name of the target build stage for the docker build.\n"}},"type":"object","required":["contextAccessToken","contextPath","dockerfilePath"]},"azure:containerservice/RegistryTaskEncodedStep:RegistryTaskEncodedStep":{"properties":{"contextAccessToken":{"type":"string","description":"The token (Git PAT or SAS token of storage account blob) associated with the context for this step.\n","secret":true},"contextPath":{"type":"string","description":"The URL (absolute or relative) of the source context for this step.\n"},"secretValues":{"type":"object","additionalProperties":{"type":"string"},"description":"Specifies a map of secret values that can be passed when running a task.\n","secret":true},"taskContent":{"type":"string","description":"The (optionally base64 encoded) content of the build template.\n"},"valueContent":{"type":"string","description":"The (optionally base64 encoded) content of the build parameters.\n"},"values":{"type":"object","additionalProperties":{"type":"string"},"description":"Specifies a map of values that can be passed when running a task.\n"}},"type":"object","required":["taskContent"]},"azure:containerservice/RegistryTaskFileStep:RegistryTaskFileStep":{"properties":{"contextAccessToken":{"type":"string","description":"The token (Git PAT or SAS token of storage account blob) associated with the context for this step.\n","secret":true},"contextPath":{"type":"string","description":"The URL (absolute or relative) of the source context for this step.\n"},"secretValues":{"type":"object","additionalProperties":{"type":"string"},"description":"Specifies a map of secret values that can be passed when running a task.\n","secret":true},"taskFilePath":{"type":"string","description":"The task template file path relative to the source context.\n"},"valueFilePath":{"type":"string","description":"The parameters file path relative to the source context.\n"},"values":{"type":"object","additionalProperties":{"type":"string"},"description":"Specifies a map of values that can be passed when running a task.\n"}},"type":"object","required":["taskFilePath"]},"azure:containerservice/RegistryTaskIdentity:RegistryTaskIdentity":{"properties":{"identityIds":{"type":"array","items":{"type":"string"},"description":"Specifies a list of User Assigned Managed Identity IDs to be assigned to this Container Registry Task.\n\n\u003e **Note:** This is required when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to `UserAssigned` or `SystemAssigned, UserAssigned`.\n"},"principalId":{"type":"string","description":"The Principal ID associated with this Managed Service Identity.\n"},"tenantId":{"type":"string","description":"The Tenant ID associated with this Managed Service Identity.\n"},"type":{"type":"string","description":"Specifies the type of Managed Service Identity that should be configured on this Container Registry Task. Possible values are `SystemAssigned`, `UserAssigned`, `SystemAssigned, UserAssigned` (to enable both).\n"}},"type":"object","required":["type"],"language":{"nodejs":{"requiredOutputs":["principalId","tenantId","type"]}}},"azure:containerservice/RegistryTaskPlatform:RegistryTaskPlatform":{"properties":{"architecture":{"type":"string","description":"The OS architecture. Possible values are \u003cspan pulumi-lang-nodejs=\"`amd64`\" pulumi-lang-dotnet=\"`Amd64`\" pulumi-lang-go=\"`amd64`\" pulumi-lang-python=\"`amd64`\" pulumi-lang-yaml=\"`amd64`\" pulumi-lang-java=\"`amd64`\"\u003e`amd64`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`x86`\" pulumi-lang-dotnet=\"`X86`\" pulumi-lang-go=\"`x86`\" pulumi-lang-python=\"`x86`\" pulumi-lang-yaml=\"`x86`\" pulumi-lang-java=\"`x86`\"\u003e`x86`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`386`\" pulumi-lang-dotnet=\"`386`\" pulumi-lang-go=\"`386`\" pulumi-lang-python=\"`386`\" pulumi-lang-yaml=\"`386`\" pulumi-lang-java=\"`386`\"\u003e`386`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`arm`\" pulumi-lang-dotnet=\"`Arm`\" pulumi-lang-go=\"`arm`\" pulumi-lang-python=\"`arm`\" pulumi-lang-yaml=\"`arm`\" pulumi-lang-java=\"`arm`\"\u003e`arm`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`arm64`\" pulumi-lang-dotnet=\"`Arm64`\" pulumi-lang-go=\"`arm64`\" pulumi-lang-python=\"`arm64`\" pulumi-lang-yaml=\"`arm64`\" pulumi-lang-java=\"`arm64`\"\u003e`arm64`\u003c/span\u003e.\n"},"os":{"type":"string","description":"The operating system type required for the task. Possible values are `Windows` and `Linux`.\n"},"variant":{"type":"string","description":"The variant of the CPU. Possible values are \u003cspan pulumi-lang-nodejs=\"`v6`\" pulumi-lang-dotnet=\"`V6`\" pulumi-lang-go=\"`v6`\" pulumi-lang-python=\"`v6`\" pulumi-lang-yaml=\"`v6`\" pulumi-lang-java=\"`v6`\"\u003e`v6`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`v7`\" pulumi-lang-dotnet=\"`V7`\" pulumi-lang-go=\"`v7`\" pulumi-lang-python=\"`v7`\" pulumi-lang-yaml=\"`v7`\" pulumi-lang-java=\"`v7`\"\u003e`v7`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`v8`\" pulumi-lang-dotnet=\"`V8`\" pulumi-lang-go=\"`v8`\" pulumi-lang-python=\"`v8`\" pulumi-lang-yaml=\"`v8`\" pulumi-lang-java=\"`v8`\"\u003e`v8`\u003c/span\u003e.\n"}},"type":"object","required":["os"]},"azure:containerservice/RegistryTaskRegistryCredential:RegistryTaskRegistryCredential":{"properties":{"customs":{"type":"array","items":{"$ref":"#/types/azure:containerservice/RegistryTaskRegistryCredentialCustom:RegistryTaskRegistryCredentialCustom"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`custom`\" pulumi-lang-dotnet=\"`Custom`\" pulumi-lang-go=\"`custom`\" pulumi-lang-python=\"`custom`\" pulumi-lang-yaml=\"`custom`\" pulumi-lang-java=\"`custom`\"\u003e`custom`\u003c/span\u003e blocks as defined above.\n","secret":true},"source":{"$ref":"#/types/azure:containerservice/RegistryTaskRegistryCredentialSource:RegistryTaskRegistryCredentialSource","description":"One \u003cspan pulumi-lang-nodejs=\"`source`\" pulumi-lang-dotnet=\"`Source`\" pulumi-lang-go=\"`source`\" pulumi-lang-python=\"`source`\" pulumi-lang-yaml=\"`source`\" pulumi-lang-java=\"`source`\"\u003e`source`\u003c/span\u003e block as defined below.\n"}},"type":"object"},"azure:containerservice/RegistryTaskRegistryCredentialCustom:RegistryTaskRegistryCredentialCustom":{"properties":{"identity":{"type":"string","description":"The managed identity assigned to this custom credential. For user assigned identity, the value is the client ID of the identity. For system assigned identity, the value is `[system]`.\n"},"loginServer":{"type":"string","description":"The login server of the custom Container Registry.\n"},"password":{"type":"string","description":"The password for logging into the custom Container Registry. It can be either a plain text of password, or a Keyvault Secret ID.\n","secret":true},"username":{"type":"string","description":"The username for logging into the custom Container Registry. It can be either a plain text of username, or a Keyvault Secret ID.\n"}},"type":"object","required":["loginServer"]},"azure:containerservice/RegistryTaskRegistryCredentialSource:RegistryTaskRegistryCredentialSource":{"properties":{"loginMode":{"type":"string","description":"The login mode for the source registry. Possible values are `None` and `Default`.\n"}},"type":"object","required":["loginMode"]},"azure:containerservice/RegistryTaskSourceTrigger:RegistryTaskSourceTrigger":{"properties":{"authentication":{"$ref":"#/types/azure:containerservice/RegistryTaskSourceTriggerAuthentication:RegistryTaskSourceTriggerAuthentication","description":"A \u003cspan pulumi-lang-nodejs=\"`authentication`\" pulumi-lang-dotnet=\"`Authentication`\" pulumi-lang-go=\"`authentication`\" pulumi-lang-python=\"`authentication`\" pulumi-lang-yaml=\"`authentication`\" pulumi-lang-java=\"`authentication`\"\u003e`authentication`\u003c/span\u003e block as defined above.\n"},"branch":{"type":"string","description":"The branch name of the source code.\n"},"enabled":{"type":"boolean","description":"Should the trigger be enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"events":{"type":"array","items":{"type":"string"},"description":"Specifies a list of source events corresponding to the trigger. Possible values are \u003cspan pulumi-lang-nodejs=\"`commit`\" pulumi-lang-dotnet=\"`Commit`\" pulumi-lang-go=\"`commit`\" pulumi-lang-python=\"`commit`\" pulumi-lang-yaml=\"`commit`\" pulumi-lang-java=\"`commit`\"\u003e`commit`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`pullrequest`\" pulumi-lang-dotnet=\"`Pullrequest`\" pulumi-lang-go=\"`pullrequest`\" pulumi-lang-python=\"`pullrequest`\" pulumi-lang-yaml=\"`pullrequest`\" pulumi-lang-java=\"`pullrequest`\"\u003e`pullrequest`\u003c/span\u003e.\n"},"name":{"type":"string","description":"The name which should be used for this trigger.\n"},"repositoryUrl":{"type":"string","description":"The full URL to the source code repository.\n"},"sourceType":{"type":"string","description":"The type of the source control service. Possible values are `Github` and `VisualStudioTeamService`.\n"}},"type":"object","required":["events","name","repositoryUrl","sourceType"]},"azure:containerservice/RegistryTaskSourceTriggerAuthentication:RegistryTaskSourceTriggerAuthentication":{"properties":{"expireInSeconds":{"type":"integer","description":"Time in seconds that the token remains valid.\n"},"refreshToken":{"type":"string","description":"The refresh token used to refresh the access token.\n","secret":true},"scope":{"type":"string","description":"The scope of the access token.\n"},"token":{"type":"string","description":"The access token used to access the source control provider.\n","secret":true},"tokenType":{"type":"string","description":"The type of the token. Possible values are `PAT` (personal access token) and `OAuth`.\n"}},"type":"object","required":["token","tokenType"]},"azure:containerservice/RegistryTaskTimerTrigger:RegistryTaskTimerTrigger":{"properties":{"enabled":{"type":"boolean","description":"Should the trigger be enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"name":{"type":"string","description":"The name which should be used for this trigger.\n"},"schedule":{"type":"string","description":"The CRON expression for the task schedule.\n"}},"type":"object","required":["name","schedule"]},"azure:containerservice/TokenPasswordPassword1:TokenPasswordPassword1":{"properties":{"expiry":{"type":"string","description":"The expiration date of the password in RFC3339 format. If not specified, the password never expires. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"value":{"type":"string","description":"The value of the password (Sensitive).\n","secret":true}},"type":"object","language":{"nodejs":{"requiredOutputs":["value"]}}},"azure:containerservice/TokenPasswordPassword2:TokenPasswordPassword2":{"properties":{"expiry":{"type":"string","description":"The expiration date of the password in RFC3339 format. If not specified, the password never expires. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"value":{"type":"string","description":"The value of the password (Sensitive).\n","secret":true}},"type":"object","language":{"nodejs":{"requiredOutputs":["value"]}}},"azure:containerservice/getClusterNodePoolUpgradeSetting:getClusterNodePoolUpgradeSetting":{"properties":{"drainTimeoutInMinutes":{"type":"integer","description":"The amount of time in minutes to wait on eviction of pods and graceful termination per node. This eviction wait time honors waiting on pod disruption budgets. If this time is exceeded, the upgrade fails.\n"},"maxSurge":{"type":"string","description":"The maximum number or percentage of nodes which will be added to the Node Pool size during an upgrade.\n"},"maxUnavailable":{"type":"string","description":"The maximum number or percentage of nodes which can be unavailable during the upgrade.\n"},"nodeSoakDurationInMinutes":{"type":"integer","description":"The amount of time in minutes to wait after draining a node and before reimaging it and moving on to next node.\n"},"undrainableNodeBehavior":{"type":"string","description":"The action when a node is undrainable during upgrade. Possible values are `Cordon` and `Schedule`.\n"}},"type":"object","required":["drainTimeoutInMinutes","maxSurge","maxUnavailable","nodeSoakDurationInMinutes","undrainableNodeBehavior"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:containerservice/getGroupIdentity:getGroupIdentity":{"properties":{"identityIds":{"type":"array","items":{"type":"string"},"description":"The list of User Assigned Managed Identity IDs assigned to this Container Group.\n"},"principalId":{"type":"string","description":"The Principal ID of the System Assigned Managed Service Identity that is configured on this Container Group.\n"},"tenantId":{"type":"string","description":"The Tenant ID of the System Assigned Managed Service Identity that is configured on this Container Group.\n"},"type":{"type":"string","description":"Type of Managed Service Identity configured on this Container Group.\n"}},"type":"object","required":["identityIds","principalId","tenantId","type"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:containerservice/getKubernetesClusterAciConnectorLinux:getKubernetesClusterAciConnectorLinux":{"properties":{"subnetName":{"type":"string","description":"The subnet name for the virtual nodes to run.\n"}},"type":"object","required":["subnetName"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:containerservice/getKubernetesClusterAgentPoolProfile:getKubernetesClusterAgentPoolProfile":{"properties":{"autoScalingEnabled":{"type":"boolean","description":"If the auto-scaler is enabled.\n"},"count":{"type":"integer","description":"The number of Agents (VMs) in the Pool.\n"},"maxCount":{"type":"integer","description":"Maximum number of nodes for auto-scaling\n"},"maxPods":{"type":"integer","description":"The maximum number of pods that can run on each agent.\n"},"minCount":{"type":"integer","description":"Minimum number of nodes for auto-scaling\n"},"name":{"type":"string","description":"The name of the managed Kubernetes Cluster.\n"},"nodeLabels":{"type":"object","additionalProperties":{"type":"string"}},"nodePublicIpEnabled":{"type":"boolean","description":"If the Public IPs for the nodes in this Agent Pool are enabled.\n"},"nodePublicIpPrefixId":{"type":"string","description":"Resource ID for the Public IP Addresses Prefix for the nodes in this Agent Pool.\n"},"nodeTaints":{"type":"array","items":{"type":"string"}},"orchestratorVersion":{"type":"string","description":"Kubernetes version used for the Agents.\n"},"osDiskSizeGb":{"type":"integer","description":"The size of the Agent VM's Operating System Disk in GB.\n"},"osType":{"type":"string","description":"The Operating System used for the Agents.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"type":{"type":"string","description":"The type of Managed Service Identity that is configured on this Kubernetes Cluster.\n"},"upgradeSettings":{"type":"array","items":{"$ref":"#/types/azure:containerservice/getKubernetesClusterAgentPoolProfileUpgradeSetting:getKubernetesClusterAgentPoolProfileUpgradeSetting"},"description":"A \u003cspan pulumi-lang-nodejs=\"`upgradeSettings`\" pulumi-lang-dotnet=\"`UpgradeSettings`\" pulumi-lang-go=\"`upgradeSettings`\" pulumi-lang-python=\"`upgrade_settings`\" pulumi-lang-yaml=\"`upgradeSettings`\" pulumi-lang-java=\"`upgradeSettings`\"\u003e`upgrade_settings`\u003c/span\u003e block as documented below.\n"},"vmSize":{"type":"string","description":"The size of each VM in the Agent Pool (e.g. `Standard_F1`).\n"},"vnetSubnetId":{"type":"string","description":"The ID of the Subnet where the Agents in the Pool are provisioned.\n"},"zones":{"type":"array","items":{"type":"string"},"description":"A list of Availability Zones in which this Kubernetes Cluster is located.\n"}},"type":"object","required":["autoScalingEnabled","count","maxCount","maxPods","minCount","name","nodeLabels","nodePublicIpEnabled","nodePublicIpPrefixId","nodeTaints","orchestratorVersion","osDiskSizeGb","osType","tags","type","upgradeSettings","vmSize","vnetSubnetId","zones"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:containerservice/getKubernetesClusterAgentPoolProfileUpgradeSetting:getKubernetesClusterAgentPoolProfileUpgradeSetting":{"properties":{"drainTimeoutInMinutes":{"type":"integer","description":"The amount of time in minutes to wait on eviction of pods and graceful termination per node. This eviction wait time honors waiting on pod disruption budgets. If this time is exceeded, the upgrade fails.\n"},"maxSurge":{"type":"string","description":"The maximum number or percentage of nodes that will be added to the Node Pool size during an upgrade.\n"},"maxUnavailable":{"type":"string"},"nodeSoakDurationInMinutes":{"type":"integer","description":"The amount of time in minutes to wait after draining a node and before reimaging it and moving on to next node.\n"},"undrainableNodeBehavior":{"type":"string","description":"The action when a node is undrainable during upgrade. Possible values are `Cordon` and `Schedule`.\n"}},"type":"object","required":["drainTimeoutInMinutes","maxSurge","maxUnavailable","nodeSoakDurationInMinutes","undrainableNodeBehavior"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:containerservice/getKubernetesClusterAzureActiveDirectoryRoleBasedAccessControl:getKubernetesClusterAzureActiveDirectoryRoleBasedAccessControl":{"properties":{"adminGroupObjectIds":{"type":"array","items":{"type":"string"},"description":"A list of Object IDs of Azure Active Directory Groups which should have Admin Role on the Cluster.\n"},"azureRbacEnabled":{"type":"boolean","description":"Is Role Based Access Control based on Azure AD enabled?\n"},"tenantId":{"type":"string","description":"The Tenant ID of the System Assigned Managed Service Identity that is configured on this Kubernetes Cluster.\n"}},"type":"object","required":["adminGroupObjectIds","azureRbacEnabled","tenantId"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:containerservice/getKubernetesClusterIdentity:getKubernetesClusterIdentity":{"properties":{"identityIds":{"type":"array","items":{"type":"string"},"description":"The list of User Assigned Managed Identity IDs assigned to this Kubernetes Cluster.\n"},"principalId":{"type":"string","description":"The Principal ID of the System Assigned Managed Service Identity that is configured on this Kubernetes Cluster.\n"},"tenantId":{"type":"string","description":"The Tenant ID of the System Assigned Managed Service Identity that is configured on this Kubernetes Cluster.\n"},"type":{"type":"string","description":"The type of Managed Service Identity that is configured on this Kubernetes Cluster.\n"}},"type":"object","required":["identityIds","principalId","tenantId","type"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:containerservice/getKubernetesClusterIngressApplicationGateway:getKubernetesClusterIngressApplicationGateway":{"properties":{"effectiveGatewayId":{"type":"string","description":"The ID of the Application Gateway associated with the ingress controller deployed to this Kubernetes Cluster.\n"},"gatewayId":{"type":"string","description":"The ID of the Application Gateway integrated with the ingress controller of this Kubernetes Cluster. This attribute is only set when\u003cspan pulumi-lang-nodejs=\" gatewayId \" pulumi-lang-dotnet=\" GatewayId \" pulumi-lang-go=\" gatewayId \" pulumi-lang-python=\" gateway_id \" pulumi-lang-yaml=\" gatewayId \" pulumi-lang-java=\" gatewayId \"\u003e gateway_id \u003c/span\u003eis specified when configuring the \u003cspan pulumi-lang-nodejs=\"`ingressApplicationGateway`\" pulumi-lang-dotnet=\"`IngressApplicationGateway`\" pulumi-lang-go=\"`ingressApplicationGateway`\" pulumi-lang-python=\"`ingress_application_gateway`\" pulumi-lang-yaml=\"`ingressApplicationGateway`\" pulumi-lang-java=\"`ingressApplicationGateway`\"\u003e`ingress_application_gateway`\u003c/span\u003e addon.\n"},"gatewayName":{"type":"string"},"ingressApplicationGatewayIdentities":{"type":"array","items":{"$ref":"#/types/azure:containerservice/getKubernetesClusterIngressApplicationGatewayIngressApplicationGatewayIdentity:getKubernetesClusterIngressApplicationGatewayIngressApplicationGatewayIdentity"},"description":"An \u003cspan pulumi-lang-nodejs=\"`ingressApplicationGatewayIdentity`\" pulumi-lang-dotnet=\"`IngressApplicationGatewayIdentity`\" pulumi-lang-go=\"`ingressApplicationGatewayIdentity`\" pulumi-lang-python=\"`ingress_application_gateway_identity`\" pulumi-lang-yaml=\"`ingressApplicationGatewayIdentity`\" pulumi-lang-java=\"`ingressApplicationGatewayIdentity`\"\u003e`ingress_application_gateway_identity`\u003c/span\u003e block as defined below.\n"},"subnetCidr":{"type":"string","description":"The subnet CIDR used to create an Application Gateway, which in turn will be integrated with the ingress controller of this Kubernetes Cluster. This attribute is only set when \u003cspan pulumi-lang-nodejs=\"`subnetCidr`\" pulumi-lang-dotnet=\"`SubnetCidr`\" pulumi-lang-go=\"`subnetCidr`\" pulumi-lang-python=\"`subnet_cidr`\" pulumi-lang-yaml=\"`subnetCidr`\" pulumi-lang-java=\"`subnetCidr`\"\u003e`subnet_cidr`\u003c/span\u003e is specified when configuring the \u003cspan pulumi-lang-nodejs=\"`ingressApplicationGateway`\" pulumi-lang-dotnet=\"`IngressApplicationGateway`\" pulumi-lang-go=\"`ingressApplicationGateway`\" pulumi-lang-python=\"`ingress_application_gateway`\" pulumi-lang-yaml=\"`ingressApplicationGateway`\" pulumi-lang-java=\"`ingressApplicationGateway`\"\u003e`ingress_application_gateway`\u003c/span\u003e addon.\n"},"subnetId":{"type":"string","description":"The ID of the subnet on which to create an Application Gateway, which in turn will be integrated with the ingress controller of this Kubernetes Cluster. This attribute is only set when \u003cspan pulumi-lang-nodejs=\"`subnetId`\" pulumi-lang-dotnet=\"`SubnetId`\" pulumi-lang-go=\"`subnetId`\" pulumi-lang-python=\"`subnet_id`\" pulumi-lang-yaml=\"`subnetId`\" pulumi-lang-java=\"`subnetId`\"\u003e`subnet_id`\u003c/span\u003e is specified when configuring the \u003cspan pulumi-lang-nodejs=\"`ingressApplicationGateway`\" pulumi-lang-dotnet=\"`IngressApplicationGateway`\" pulumi-lang-go=\"`ingressApplicationGateway`\" pulumi-lang-python=\"`ingress_application_gateway`\" pulumi-lang-yaml=\"`ingressApplicationGateway`\" pulumi-lang-java=\"`ingressApplicationGateway`\"\u003e`ingress_application_gateway`\u003c/span\u003e addon.\n"}},"type":"object","required":["effectiveGatewayId","gatewayId","gatewayName","ingressApplicationGatewayIdentities","subnetCidr","subnetId"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:containerservice/getKubernetesClusterIngressApplicationGatewayIngressApplicationGatewayIdentity:getKubernetesClusterIngressApplicationGatewayIngressApplicationGatewayIdentity":{"properties":{"clientId":{"type":"string","description":"The Client ID of the user-defined Managed Identity assigned to the Kubelets.\n"},"objectId":{"type":"string","description":"The Object ID of the user-defined Managed Identity assigned to the Kubelets.\n"},"userAssignedIdentityId":{"type":"string","description":"The ID of the User Assigned Identity assigned to the Kubelets.\n"}},"type":"object","required":["clientId","objectId","userAssignedIdentityId"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:containerservice/getKubernetesClusterKeyManagementService:getKubernetesClusterKeyManagementService":{"properties":{"keyVaultKeyId":{"type":"string","description":"Identifier of Azure Key Vault key. See [key identifier format](https://learn.microsoft.com/en-us/azure/key-vault/general/about-keys-secrets-certificates#vault-name-and-object-name) for more details.\n"},"keyVaultNetworkAccess":{"type":"string","description":"Network access of the key vault. The possible values are `Public` and `Private`. `Public` means the key vault allows public access from all networks. `Private` means the key vault disables public access and enables private link.\n"}},"type":"object","required":["keyVaultKeyId","keyVaultNetworkAccess"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:containerservice/getKubernetesClusterKeyVaultSecretsProvider:getKubernetesClusterKeyVaultSecretsProvider":{"properties":{"secretIdentities":{"type":"array","items":{"$ref":"#/types/azure:containerservice/getKubernetesClusterKeyVaultSecretsProviderSecretIdentity:getKubernetesClusterKeyVaultSecretsProviderSecretIdentity"},"description":"A \u003cspan pulumi-lang-nodejs=\"`secretIdentity`\" pulumi-lang-dotnet=\"`SecretIdentity`\" pulumi-lang-go=\"`secretIdentity`\" pulumi-lang-python=\"`secret_identity`\" pulumi-lang-yaml=\"`secretIdentity`\" pulumi-lang-java=\"`secretIdentity`\"\u003e`secret_identity`\u003c/span\u003e block as documented below.\n"},"secretRotationEnabled":{"type":"boolean","description":"Is secret rotation enabled?\n"},"secretRotationInterval":{"type":"string","description":"The interval to poll for secret rotation.\n"}},"type":"object","required":["secretIdentities","secretRotationEnabled","secretRotationInterval"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:containerservice/getKubernetesClusterKeyVaultSecretsProviderSecretIdentity:getKubernetesClusterKeyVaultSecretsProviderSecretIdentity":{"properties":{"clientId":{"type":"string","description":"The Client ID of the user-defined Managed Identity assigned to the Kubelets.\n"},"objectId":{"type":"string","description":"The Object ID of the user-defined Managed Identity assigned to the Kubelets.\n"},"userAssignedIdentityId":{"type":"string","description":"The ID of the User Assigned Identity assigned to the Kubelets.\n"}},"type":"object","required":["clientId","objectId","userAssignedIdentityId"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:containerservice/getKubernetesClusterKubeAdminConfig:getKubernetesClusterKubeAdminConfig":{"properties":{"clientCertificate":{"type":"string","description":"Base64 encoded public certificate used by clients to authenticate to the Kubernetes cluster.\n","secret":true},"clientKey":{"type":"string","description":"Base64 encoded private key used by clients to authenticate to the Kubernetes cluster.\n","secret":true},"clusterCaCertificate":{"type":"string","description":"Base64 encoded public CA certificate used as the root of trust for the Kubernetes cluster.\n","secret":true},"host":{"type":"string","description":"The Kubernetes cluster server host.\n","secret":true},"password":{"type":"string","description":"A password or token used to authenticate to the Kubernetes cluster.\n","secret":true},"username":{"type":"string","description":"A username used to authenticate to the Kubernetes cluster.\n","secret":true}},"type":"object","required":["clientCertificate","clientKey","clusterCaCertificate","host","password","username"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:containerservice/getKubernetesClusterKubeConfig:getKubernetesClusterKubeConfig":{"properties":{"clientCertificate":{"type":"string","description":"Base64 encoded public certificate used by clients to authenticate to the Kubernetes cluster.\n","secret":true},"clientKey":{"type":"string","description":"Base64 encoded private key used by clients to authenticate to the Kubernetes cluster.\n","secret":true},"clusterCaCertificate":{"type":"string","description":"Base64 encoded public CA certificate used as the root of trust for the Kubernetes cluster.\n","secret":true},"host":{"type":"string","description":"The Kubernetes cluster server host.\n","secret":true},"password":{"type":"string","description":"A password or token used to authenticate to the Kubernetes cluster.\n","secret":true},"username":{"type":"string","description":"A username used to authenticate to the Kubernetes cluster.\n","secret":true}},"type":"object","required":["clientCertificate","clientKey","clusterCaCertificate","host","password","username"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:containerservice/getKubernetesClusterKubeletIdentity:getKubernetesClusterKubeletIdentity":{"properties":{"clientId":{"type":"string","description":"The Client ID of the user-defined Managed Identity assigned to the Kubelets.\n"},"objectId":{"type":"string","description":"The Object ID of the user-defined Managed Identity assigned to the Kubelets.\n"},"userAssignedIdentityId":{"type":"string","description":"The ID of the User Assigned Identity assigned to the Kubelets.\n"}},"type":"object","required":["clientId","objectId","userAssignedIdentityId"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:containerservice/getKubernetesClusterLinuxProfile:getKubernetesClusterLinuxProfile":{"properties":{"adminUsername":{"type":"string","description":"The username associated with the administrator account of the Windows VMs.\n"},"sshKeys":{"type":"array","items":{"$ref":"#/types/azure:containerservice/getKubernetesClusterLinuxProfileSshKey:getKubernetesClusterLinuxProfileSshKey"},"description":"An \u003cspan pulumi-lang-nodejs=\"`sshKey`\" pulumi-lang-dotnet=\"`SshKey`\" pulumi-lang-go=\"`sshKey`\" pulumi-lang-python=\"`ssh_key`\" pulumi-lang-yaml=\"`sshKey`\" pulumi-lang-java=\"`sshKey`\"\u003e`ssh_key`\u003c/span\u003e block as defined below.\n"}},"type":"object","required":["adminUsername","sshKeys"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:containerservice/getKubernetesClusterLinuxProfileSshKey:getKubernetesClusterLinuxProfileSshKey":{"properties":{"keyData":{"type":"string","description":"The Public SSH Key used to access the cluster.\n"}},"type":"object","required":["keyData"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:containerservice/getKubernetesClusterMicrosoftDefender:getKubernetesClusterMicrosoftDefender":{"properties":{"logAnalyticsWorkspaceId":{"type":"string","description":"The ID of the Log Analytics Workspace to which the OMS Agent should send data.\n"}},"type":"object","required":["logAnalyticsWorkspaceId"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:containerservice/getKubernetesClusterNetworkProfile:getKubernetesClusterNetworkProfile":{"properties":{"dnsServiceIp":{"type":"string","description":"IP address within the Kubernetes service address range used by cluster service discovery (kube-dns).\n"},"dockerBridgeCidr":{"type":"string","description":"IP address (in CIDR notation) used as the Docker bridge IP address on nodes.\n"},"loadBalancerSku":{"type":"string"},"networkPlugin":{"type":"string","description":"Network plugin used such as \u003cspan pulumi-lang-nodejs=\"`azure`\" pulumi-lang-dotnet=\"`Azure`\" pulumi-lang-go=\"`azure`\" pulumi-lang-python=\"`azure`\" pulumi-lang-yaml=\"`azure`\" pulumi-lang-java=\"`azure`\"\u003e`azure`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`kubenet`\" pulumi-lang-dotnet=\"`Kubenet`\" pulumi-lang-go=\"`kubenet`\" pulumi-lang-python=\"`kubenet`\" pulumi-lang-yaml=\"`kubenet`\" pulumi-lang-java=\"`kubenet`\"\u003e`kubenet`\u003c/span\u003e.\n"},"networkPolicy":{"type":"string","description":"Network policy to be used with Azure CNI. e.g. \u003cspan pulumi-lang-nodejs=\"`calico`\" pulumi-lang-dotnet=\"`Calico`\" pulumi-lang-go=\"`calico`\" pulumi-lang-python=\"`calico`\" pulumi-lang-yaml=\"`calico`\" pulumi-lang-java=\"`calico`\"\u003e`calico`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`azure`\" pulumi-lang-dotnet=\"`Azure`\" pulumi-lang-go=\"`azure`\" pulumi-lang-python=\"`azure`\" pulumi-lang-yaml=\"`azure`\" pulumi-lang-java=\"`azure`\"\u003e`azure`\u003c/span\u003e\n"},"podCidr":{"type":"string","description":"The CIDR used for pod IP addresses.\n"},"serviceCidr":{"type":"string","description":"Network range used by the Kubernetes service.\n"}},"type":"object","required":["dnsServiceIp","dockerBridgeCidr","loadBalancerSku","networkPlugin","networkPolicy","podCidr","serviceCidr"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:containerservice/getKubernetesClusterOmsAgent:getKubernetesClusterOmsAgent":{"properties":{"logAnalyticsWorkspaceId":{"type":"string","description":"The ID of the Log Analytics Workspace to which the OMS Agent should send data.\n"},"msiAuthForMonitoringEnabled":{"type":"boolean","description":"Is managed identity authentication for monitoring enabled?\n"},"omsAgentIdentities":{"type":"array","items":{"$ref":"#/types/azure:containerservice/getKubernetesClusterOmsAgentOmsAgentIdentity:getKubernetesClusterOmsAgentOmsAgentIdentity"},"description":"An \u003cspan pulumi-lang-nodejs=\"`omsAgentIdentity`\" pulumi-lang-dotnet=\"`OmsAgentIdentity`\" pulumi-lang-go=\"`omsAgentIdentity`\" pulumi-lang-python=\"`oms_agent_identity`\" pulumi-lang-yaml=\"`omsAgentIdentity`\" pulumi-lang-java=\"`omsAgentIdentity`\"\u003e`oms_agent_identity`\u003c/span\u003e block as defined below.\n"}},"type":"object","required":["logAnalyticsWorkspaceId","msiAuthForMonitoringEnabled","omsAgentIdentities"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:containerservice/getKubernetesClusterOmsAgentOmsAgentIdentity:getKubernetesClusterOmsAgentOmsAgentIdentity":{"properties":{"clientId":{"type":"string","description":"The Client ID of the user-defined Managed Identity assigned to the Kubelets.\n"},"objectId":{"type":"string","description":"The Object ID of the user-defined Managed Identity assigned to the Kubelets.\n"},"userAssignedIdentityId":{"type":"string","description":"The ID of the User Assigned Identity assigned to the Kubelets.\n"}},"type":"object","required":["clientId","objectId","userAssignedIdentityId"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:containerservice/getKubernetesClusterServiceMeshProfile:getKubernetesClusterServiceMeshProfile":{"properties":{"certificateAuthorities":{"type":"array","items":{"$ref":"#/types/azure:containerservice/getKubernetesClusterServiceMeshProfileCertificateAuthority:getKubernetesClusterServiceMeshProfileCertificateAuthority"},"description":"A \u003cspan pulumi-lang-nodejs=\"`certificateAuthority`\" pulumi-lang-dotnet=\"`CertificateAuthority`\" pulumi-lang-go=\"`certificateAuthority`\" pulumi-lang-python=\"`certificate_authority`\" pulumi-lang-yaml=\"`certificateAuthority`\" pulumi-lang-java=\"`certificateAuthority`\"\u003e`certificate_authority`\u003c/span\u003e block as documented below.\n"},"externalIngressGatewayEnabled":{"type":"boolean","description":"Is Istio External Ingress Gateway enabled?\n"},"internalIngressGatewayEnabled":{"type":"boolean","description":"Is Istio Internal Ingress Gateway enabled?\n"},"mode":{"type":"string","description":"The mode of the service mesh.\n"},"revisions":{"type":"array","items":{"type":"string"},"description":"List of revisions of the Istio control plane. When an upgrade is not in progress, this holds one value. When canary upgrade is in progress, this can only hold two consecutive values. Learn More.\n"}},"type":"object","required":["certificateAuthorities","externalIngressGatewayEnabled","internalIngressGatewayEnabled","mode","revisions"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:containerservice/getKubernetesClusterServiceMeshProfileCertificateAuthority:getKubernetesClusterServiceMeshProfileCertificateAuthority":{"properties":{"certChainObjectName":{"type":"string","description":"The certificate chain object name in Azure Key Vault.\n"},"certObjectName":{"type":"string","description":"The intermediate certificate object name in Azure Key Vault.\n"},"keyObjectName":{"type":"string","description":"The intermediate certificate private key object name in Azure Key Vault.\n"},"keyVaultId":{"type":"string","description":"The resource ID of the Key Vault.\n"},"rootCertObjectName":{"type":"string","description":"The root certificate object name in Azure Key Vault.\n"}},"type":"object","required":["certChainObjectName","certObjectName","keyObjectName","keyVaultId","rootCertObjectName"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:containerservice/getKubernetesClusterServicePrincipal:getKubernetesClusterServicePrincipal":{"properties":{"clientId":{"type":"string","description":"The Client ID of the user-defined Managed Identity assigned to the Kubelets.\n"}},"type":"object","required":["clientId"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:containerservice/getKubernetesClusterStorageProfile:getKubernetesClusterStorageProfile":{"properties":{"blobDriverEnabled":{"type":"boolean","description":"Is the Blob CSI driver enabled?\n"},"diskDriverEnabled":{"type":"boolean","description":"Is the Disk CSI driver enabled?\n"},"fileDriverEnabled":{"type":"boolean","description":"Is the File CSI driver enabled?\n"},"snapshotControllerEnabled":{"type":"boolean","description":"Is the Snapshot Controller enabled?\n"}},"type":"object","required":["blobDriverEnabled","diskDriverEnabled","fileDriverEnabled","snapshotControllerEnabled"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:containerservice/getKubernetesClusterWindowsProfile:getKubernetesClusterWindowsProfile":{"properties":{"adminUsername":{"type":"string","description":"The username associated with the administrator account of the Windows VMs.\n"}},"type":"object","required":["adminUsername"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:core/CustomProviderAction:CustomProviderAction":{"properties":{"endpoint":{"type":"string","description":"Specifies the endpoint of the action.\n"},"name":{"type":"string","description":"Specifies the name of the action.\n"}},"type":"object","required":["endpoint","name"]},"azure:core/CustomProviderResourceType:CustomProviderResourceType":{"properties":{"endpoint":{"type":"string","description":"Specifies the endpoint of the route definition.\n"},"name":{"type":"string","description":"Specifies the name of the route definition.\n"},"routingType":{"type":"string","description":"The routing type that is supported for the resource request. Valid values are `Proxy` and `Proxy,Cache`. Defaults to `Proxy`.\n"}},"type":"object","required":["endpoint","name"]},"azure:core/CustomProviderValidation:CustomProviderValidation":{"properties":{"specification":{"type":"string","description":"The endpoint where the validation specification is located.\n"}},"type":"object","required":["specification"]},"azure:core/ResourceDeploymentScriptAzureCliContainer:ResourceDeploymentScriptAzureCliContainer":{"properties":{"containerGroupName":{"type":"string","description":"Container group name, if not specified then the name will get auto-generated. For more information, please refer to the [Container Configuration](https://learn.microsoft.com/en-us/rest/api/resources/deployment-scripts/create?tabs=HTTP#containerconfiguration) documentation.\n"}},"type":"object"},"azure:core/ResourceDeploymentScriptAzureCliEnvironmentVariable:ResourceDeploymentScriptAzureCliEnvironmentVariable":{"properties":{"name":{"type":"string","description":"Specifies the name of the environment variable.\n"},"secureValue":{"type":"string","description":"Specifies the value of the secure environment variable.\n","secret":true},"value":{"type":"string","description":"Specifies the value of the environment variable.\n"}},"type":"object","required":["name"]},"azure:core/ResourceDeploymentScriptAzureCliIdentity:ResourceDeploymentScriptAzureCliIdentity":{"properties":{"identityIds":{"type":"array","items":{"type":"string"},"description":"Specifies the list of user-assigned managed identity IDs associated with the resource. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"type":{"type":"string","description":"Type of the managed identity. The only possible value is `UserAssigned`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["identityIds","type"]},"azure:core/ResourceDeploymentScriptAzureCliStorageAccount:ResourceDeploymentScriptAzureCliStorageAccount":{"properties":{"key":{"type":"string","description":"Specifies the storage account access key.\n","secret":true},"name":{"type":"string","description":"Specifies the storage account name.\n"}},"type":"object","required":["key","name"]},"azure:core/ResourceDeploymentScriptPowerShellContainer:ResourceDeploymentScriptPowerShellContainer":{"properties":{"containerGroupName":{"type":"string","description":"Container group name, if not specified then the name will get auto-generated. For more information, please refer to the [Container Configuration](https://learn.microsoft.com/en-us/rest/api/resources/deployment-scripts/create?tabs=HTTP#containerconfiguration) documentation.\n"}},"type":"object"},"azure:core/ResourceDeploymentScriptPowerShellEnvironmentVariable:ResourceDeploymentScriptPowerShellEnvironmentVariable":{"properties":{"name":{"type":"string","description":"Specifies the name of the environment variable.\n"},"secureValue":{"type":"string","description":"Specifies the value of the secure environment variable.\n","secret":true},"value":{"type":"string","description":"Specifies the value of the environment variable.\n"}},"type":"object","required":["name"]},"azure:core/ResourceDeploymentScriptPowerShellIdentity:ResourceDeploymentScriptPowerShellIdentity":{"properties":{"identityIds":{"type":"array","items":{"type":"string"},"description":"Specifies the list of user-assigned managed identity IDs associated with the resource. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"type":{"type":"string","description":"Type of the managed identity. The only possible value is `UserAssigned`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["identityIds","type"]},"azure:core/ResourceDeploymentScriptPowerShellStorageAccount:ResourceDeploymentScriptPowerShellStorageAccount":{"properties":{"key":{"type":"string","description":"Specifies the storage account access key.\n","secret":true},"name":{"type":"string","description":"Specifies the storage account name.\n"}},"type":"object","required":["key","name"]},"azure:core/ResourceGroupCostManagementExportExportDataOptions:ResourceGroupCostManagementExportExportDataOptions":{"properties":{"timeFrame":{"type":"string","description":"The time frame for pulling data for the query. If custom, then a specific time period must be provided. Possible values include: `WeekToDate`, `MonthToDate`, `BillingMonthToDate`, `TheLast7Days`, `TheLastMonth`, `TheLastBillingMonth`, `Custom`.\n"},"type":{"type":"string","description":"The type of the query. Possible values are `ActualCost`, `AmortizedCost` and `Usage`.\n"}},"type":"object","required":["timeFrame","type"]},"azure:core/ResourceGroupCostManagementExportExportDataStorageLocation:ResourceGroupCostManagementExportExportDataStorageLocation":{"properties":{"containerId":{"type":"string","description":"The Resource Manager ID of the container where exports will be uploaded. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"rootFolderPath":{"type":"string","description":"The path of the directory where exports will be uploaded. Changing this forces a new resource to be created.\n\n\u003e **Note:** The Resource Manager ID of a Storage Container is exposed via the \u003cspan pulumi-lang-nodejs=\"`resourceManagerId`\" pulumi-lang-dotnet=\"`ResourceManagerId`\" pulumi-lang-go=\"`resourceManagerId`\" pulumi-lang-python=\"`resource_manager_id`\" pulumi-lang-yaml=\"`resourceManagerId`\" pulumi-lang-java=\"`resourceManagerId`\"\u003e`resource_manager_id`\u003c/span\u003e attribute of the \u003cspan pulumi-lang-nodejs=\"`azure.storage.Container`\" pulumi-lang-dotnet=\"`azure.storage.Container`\" pulumi-lang-go=\"`storage.Container`\" pulumi-lang-python=\"`storage.Container`\" pulumi-lang-yaml=\"`azure.storage.Container`\" pulumi-lang-java=\"`azure.storage.Container`\"\u003e`azure.storage.Container`\u003c/span\u003e resource.\n","willReplaceOnChanges":true}},"type":"object","required":["containerId","rootFolderPath"]},"azure:core/ResourceGroupCostManagementViewDataset:ResourceGroupCostManagementViewDataset":{"properties":{"aggregations":{"type":"array","items":{"$ref":"#/types/azure:core/ResourceGroupCostManagementViewDatasetAggregation:ResourceGroupCostManagementViewDatasetAggregation"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`aggregation`\" pulumi-lang-dotnet=\"`Aggregation`\" pulumi-lang-go=\"`aggregation`\" pulumi-lang-python=\"`aggregation`\" pulumi-lang-yaml=\"`aggregation`\" pulumi-lang-java=\"`aggregation`\"\u003e`aggregation`\u003c/span\u003e blocks as defined above.\n"},"granularity":{"type":"string","description":"The granularity of rows in the report. Possible values are `Daily` and `Monthly`.\n"},"groupings":{"type":"array","items":{"$ref":"#/types/azure:core/ResourceGroupCostManagementViewDatasetGrouping:ResourceGroupCostManagementViewDatasetGrouping"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`grouping`\" pulumi-lang-dotnet=\"`Grouping`\" pulumi-lang-go=\"`grouping`\" pulumi-lang-python=\"`grouping`\" pulumi-lang-yaml=\"`grouping`\" pulumi-lang-java=\"`grouping`\"\u003e`grouping`\u003c/span\u003e blocks as defined below.\n"},"sortings":{"type":"array","items":{"$ref":"#/types/azure:core/ResourceGroupCostManagementViewDatasetSorting:ResourceGroupCostManagementViewDatasetSorting"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`sorting`\" pulumi-lang-dotnet=\"`Sorting`\" pulumi-lang-go=\"`sorting`\" pulumi-lang-python=\"`sorting`\" pulumi-lang-yaml=\"`sorting`\" pulumi-lang-java=\"`sorting`\"\u003e`sorting`\u003c/span\u003e blocks as defined below, containing the order by expression to be used in the report\n"}},"type":"object","required":["aggregations","granularity"]},"azure:core/ResourceGroupCostManagementViewDatasetAggregation:ResourceGroupCostManagementViewDatasetAggregation":{"properties":{"columnName":{"type":"string","description":"The name of the column to aggregate. Changing this forces a new Cost Management View for a Resource Group to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this aggregation. Changing this forces a new Cost Management View for a Resource Group to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["columnName","name"]},"azure:core/ResourceGroupCostManagementViewDatasetGrouping:ResourceGroupCostManagementViewDatasetGrouping":{"properties":{"name":{"type":"string","description":"The name of the column to group.\n"},"type":{"type":"string","description":"The type of the column. Possible values are `Dimension` and `TagKey`.\n"}},"type":"object","required":["name","type"]},"azure:core/ResourceGroupCostManagementViewDatasetSorting:ResourceGroupCostManagementViewDatasetSorting":{"properties":{"direction":{"type":"string","description":"Direction of sort. Possible values are `Ascending` and `Descending`.\n"},"name":{"type":"string","description":"The name of the column to sort.\n"}},"type":"object","required":["direction","name"]},"azure:core/ResourceGroupCostManagementViewKpi:ResourceGroupCostManagementViewKpi":{"properties":{"type":{"type":"string","description":"KPI type. Possible values are `Budget` and `Forecast`.\n"}},"type":"object","required":["type"]},"azure:core/ResourceGroupCostManagementViewPivot:ResourceGroupCostManagementViewPivot":{"properties":{"name":{"type":"string","description":"The name of the column which should be used for this sub-view in the Cost Analysis UI.\n"},"type":{"type":"string","description":"The data type to show in this sub-view. Possible values are `Dimension` and `TagKey`.\n"}},"type":"object","required":["name","type"]},"azure:core/ResourceGroupPolicyAssignmentIdentity:ResourceGroupPolicyAssignmentIdentity":{"properties":{"identityIds":{"type":"array","items":{"type":"string"},"description":"A list of User Managed Identity IDs which should be assigned to the Policy Definition.\n\n\u003e **Note:** This is required when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to `UserAssigned`.\n"},"principalId":{"type":"string","description":"The Principal ID of the Policy Assignment for this Resource Group.\n"},"tenantId":{"type":"string","description":"The Tenant ID of the Policy Assignment for this Resource Group.\n"},"type":{"type":"string","description":"The Type of Managed Identity which should be added to this Policy Definition. Possible values are `SystemAssigned` and `UserAssigned`.\n"}},"type":"object","required":["type"],"language":{"nodejs":{"requiredOutputs":["principalId","tenantId","type"]}}},"azure:core/ResourceGroupPolicyAssignmentNonComplianceMessage:ResourceGroupPolicyAssignmentNonComplianceMessage":{"properties":{"content":{"type":"string","description":"The non-compliance message text. When assigning policy sets (initiatives), unless \u003cspan pulumi-lang-nodejs=\"`policyDefinitionReferenceId`\" pulumi-lang-dotnet=\"`PolicyDefinitionReferenceId`\" pulumi-lang-go=\"`policyDefinitionReferenceId`\" pulumi-lang-python=\"`policy_definition_reference_id`\" pulumi-lang-yaml=\"`policyDefinitionReferenceId`\" pulumi-lang-java=\"`policyDefinitionReferenceId`\"\u003e`policy_definition_reference_id`\u003c/span\u003e is specified then this message will be the default for all policies.\n"},"policyDefinitionReferenceId":{"type":"string","description":"When assigning policy sets (initiatives), this is the ID of the policy definition that the non-compliance message applies to.\n"}},"type":"object","required":["content"]},"azure:core/ResourceGroupPolicyAssignmentOverride:ResourceGroupPolicyAssignmentOverride":{"properties":{"selectors":{"type":"array","items":{"$ref":"#/types/azure:core/ResourceGroupPolicyAssignmentOverrideSelector:ResourceGroupPolicyAssignmentOverrideSelector"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`overrideSelector`\" pulumi-lang-dotnet=\"`OverrideSelector`\" pulumi-lang-go=\"`overrideSelector`\" pulumi-lang-python=\"`override_selector`\" pulumi-lang-yaml=\"`overrideSelector`\" pulumi-lang-java=\"`overrideSelector`\"\u003e`override_selector`\u003c/span\u003e block as defined below.\n"},"value":{"type":"string","description":"Specifies the value to override the policy property. Possible values for `policyEffect` override listed [policy effects](https://learn.microsoft.com/en-us/azure/governance/policy/concepts/effects).\n"}},"type":"object","required":["value"]},"azure:core/ResourceGroupPolicyAssignmentOverrideSelector:ResourceGroupPolicyAssignmentOverrideSelector":{"properties":{"ins":{"type":"array","items":{"type":"string"}},"kind":{"type":"string"},"notIns":{"type":"array","items":{"type":"string"}}},"type":"object"},"azure:core/ResourceGroupPolicyAssignmentResourceSelector:ResourceGroupPolicyAssignmentResourceSelector":{"properties":{"name":{"type":"string","description":"Specifies a name for the resource selector.\n"},"selectors":{"type":"array","items":{"$ref":"#/types/azure:core/ResourceGroupPolicyAssignmentResourceSelectorSelector:ResourceGroupPolicyAssignmentResourceSelectorSelector"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`resourceSelector`\" pulumi-lang-dotnet=\"`ResourceSelector`\" pulumi-lang-go=\"`resourceSelector`\" pulumi-lang-python=\"`resource_selector`\" pulumi-lang-yaml=\"`resourceSelector`\" pulumi-lang-java=\"`resourceSelector`\"\u003e`resource_selector`\u003c/span\u003e block as defined below.\n"}},"type":"object","required":["selectors"]},"azure:core/ResourceGroupPolicyAssignmentResourceSelectorSelector:ResourceGroupPolicyAssignmentResourceSelectorSelector":{"properties":{"ins":{"type":"array","items":{"type":"string"}},"kind":{"type":"string"},"notIns":{"type":"array","items":{"type":"string"}}},"type":"object","required":["kind"]},"azure:core/ResourcePolicyAssignmentIdentity:ResourcePolicyAssignmentIdentity":{"properties":{"identityIds":{"type":"array","items":{"type":"string"},"description":"A list of User Managed Identity IDs which should be assigned to the Policy Definition.\n\n\u003e **Note:** This is required when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to `UserAssigned`.\n"},"principalId":{"type":"string","description":"The Principal ID of the Policy Assignment for this Resource.\n"},"tenantId":{"type":"string","description":"The Tenant ID of the Policy Assignment for this Resource.\n"},"type":{"type":"string","description":"The Type of Managed Identity which should be added to this Policy Definition. Possible values are `SystemAssigned` and `UserAssigned`.\n"}},"type":"object","required":["type"],"language":{"nodejs":{"requiredOutputs":["principalId","tenantId","type"]}}},"azure:core/ResourcePolicyAssignmentNonComplianceMessage:ResourcePolicyAssignmentNonComplianceMessage":{"properties":{"content":{"type":"string","description":"The non-compliance message text. When assigning policy sets (initiatives), unless \u003cspan pulumi-lang-nodejs=\"`policyDefinitionReferenceId`\" pulumi-lang-dotnet=\"`PolicyDefinitionReferenceId`\" pulumi-lang-go=\"`policyDefinitionReferenceId`\" pulumi-lang-python=\"`policy_definition_reference_id`\" pulumi-lang-yaml=\"`policyDefinitionReferenceId`\" pulumi-lang-java=\"`policyDefinitionReferenceId`\"\u003e`policy_definition_reference_id`\u003c/span\u003e is specified then this message will be the default for all policies.\n"},"policyDefinitionReferenceId":{"type":"string","description":"When assigning policy sets (initiatives), this is the ID of the policy definition that the non-compliance message applies to.\n"}},"type":"object","required":["content"]},"azure:core/ResourcePolicyAssignmentOverride:ResourcePolicyAssignmentOverride":{"properties":{"selectors":{"type":"array","items":{"$ref":"#/types/azure:core/ResourcePolicyAssignmentOverrideSelector:ResourcePolicyAssignmentOverrideSelector"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`overrideSelector`\" pulumi-lang-dotnet=\"`OverrideSelector`\" pulumi-lang-go=\"`overrideSelector`\" pulumi-lang-python=\"`override_selector`\" pulumi-lang-yaml=\"`overrideSelector`\" pulumi-lang-java=\"`overrideSelector`\"\u003e`override_selector`\u003c/span\u003e block as defined below.\n"},"value":{"type":"string","description":"Specifies the value to override the policy property. Possible values for `policyEffect` override listed [policy effects](https://learn.microsoft.com/en-us/azure/governance/policy/concepts/effects).\n"}},"type":"object","required":["value"]},"azure:core/ResourcePolicyAssignmentOverrideSelector:ResourcePolicyAssignmentOverrideSelector":{"properties":{"ins":{"type":"array","items":{"type":"string"}},"kind":{"type":"string"},"notIns":{"type":"array","items":{"type":"string"}}},"type":"object"},"azure:core/ResourcePolicyAssignmentResourceSelector:ResourcePolicyAssignmentResourceSelector":{"properties":{"name":{"type":"string","description":"Specifies a name for the resource selector.\n"},"selectors":{"type":"array","items":{"$ref":"#/types/azure:core/ResourcePolicyAssignmentResourceSelectorSelector:ResourcePolicyAssignmentResourceSelectorSelector"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`resourceSelector`\" pulumi-lang-dotnet=\"`ResourceSelector`\" pulumi-lang-go=\"`resourceSelector`\" pulumi-lang-python=\"`resource_selector`\" pulumi-lang-yaml=\"`resourceSelector`\" pulumi-lang-java=\"`resourceSelector`\"\u003e`resource_selector`\u003c/span\u003e block as defined below.\n"}},"type":"object","required":["selectors"]},"azure:core/ResourcePolicyAssignmentResourceSelectorSelector:ResourcePolicyAssignmentResourceSelectorSelector":{"properties":{"ins":{"type":"array","items":{"type":"string"}},"kind":{"type":"string"},"notIns":{"type":"array","items":{"type":"string"}}},"type":"object","required":["kind"]},"azure:core/ResourceProviderRegistrationFeature:ResourceProviderRegistrationFeature":{"properties":{"name":{"type":"string","description":"Specifies the name of the feature to register.\n\n\u003e **Note:** Only Preview Features which have an `ApprovalType` of `AutoApproval` can be managed in Terraform, features which require manual approval by Service Teams are unsupported. [More information on Resource Provider Preview Features can be found in this document](https://docs.microsoft.com/rest/api/resources/features)\n"},"registered":{"type":"boolean","description":"Should this feature be Registered or Unregistered?\n"}},"type":"object","required":["name","registered"]},"azure:core/SubscriptionCostManagementExportExportDataOptions:SubscriptionCostManagementExportExportDataOptions":{"properties":{"timeFrame":{"type":"string","description":"The time frame for pulling data for the query. If custom, then a specific time period must be provided. Possible values include: `WeekToDate`, `MonthToDate`, `BillingMonthToDate`, `TheLast7Days`, `TheLastMonth`, `TheLastBillingMonth`, `Custom`.\n"},"type":{"type":"string","description":"The type of the query. Possible values are `ActualCost`, `AmortizedCost` and `Usage`.\n"}},"type":"object","required":["timeFrame","type"]},"azure:core/SubscriptionCostManagementExportExportDataStorageLocation:SubscriptionCostManagementExportExportDataStorageLocation":{"properties":{"containerId":{"type":"string","description":"The Resource Manager ID of the container where exports will be uploaded. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"rootFolderPath":{"type":"string","description":"The path of the directory where exports will be uploaded. Changing this forces a new resource to be created.\n\n\u003e **Note:** The Resource Manager ID of a Storage Container is exposed via the \u003cspan pulumi-lang-nodejs=\"`resourceManagerId`\" pulumi-lang-dotnet=\"`ResourceManagerId`\" pulumi-lang-go=\"`resourceManagerId`\" pulumi-lang-python=\"`resource_manager_id`\" pulumi-lang-yaml=\"`resourceManagerId`\" pulumi-lang-java=\"`resourceManagerId`\"\u003e`resource_manager_id`\u003c/span\u003e attribute of the \u003cspan pulumi-lang-nodejs=\"`azure.storage.Container`\" pulumi-lang-dotnet=\"`azure.storage.Container`\" pulumi-lang-go=\"`storage.Container`\" pulumi-lang-python=\"`storage.Container`\" pulumi-lang-yaml=\"`azure.storage.Container`\" pulumi-lang-java=\"`azure.storage.Container`\"\u003e`azure.storage.Container`\u003c/span\u003e resource.\n","willReplaceOnChanges":true}},"type":"object","required":["containerId","rootFolderPath"]},"azure:core/SubscriptionCostManagementViewDataset:SubscriptionCostManagementViewDataset":{"properties":{"aggregations":{"type":"array","items":{"$ref":"#/types/azure:core/SubscriptionCostManagementViewDatasetAggregation:SubscriptionCostManagementViewDatasetAggregation"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`aggregation`\" pulumi-lang-dotnet=\"`Aggregation`\" pulumi-lang-go=\"`aggregation`\" pulumi-lang-python=\"`aggregation`\" pulumi-lang-yaml=\"`aggregation`\" pulumi-lang-java=\"`aggregation`\"\u003e`aggregation`\u003c/span\u003e blocks as defined above.\n"},"granularity":{"type":"string","description":"The granularity of rows in the report. Possible values are `Daily` and `Monthly`.\n"},"groupings":{"type":"array","items":{"$ref":"#/types/azure:core/SubscriptionCostManagementViewDatasetGrouping:SubscriptionCostManagementViewDatasetGrouping"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`grouping`\" pulumi-lang-dotnet=\"`Grouping`\" pulumi-lang-go=\"`grouping`\" pulumi-lang-python=\"`grouping`\" pulumi-lang-yaml=\"`grouping`\" pulumi-lang-java=\"`grouping`\"\u003e`grouping`\u003c/span\u003e blocks as defined below.\n"},"sortings":{"type":"array","items":{"$ref":"#/types/azure:core/SubscriptionCostManagementViewDatasetSorting:SubscriptionCostManagementViewDatasetSorting"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`sorting`\" pulumi-lang-dotnet=\"`Sorting`\" pulumi-lang-go=\"`sorting`\" pulumi-lang-python=\"`sorting`\" pulumi-lang-yaml=\"`sorting`\" pulumi-lang-java=\"`sorting`\"\u003e`sorting`\u003c/span\u003e blocks as defined below, containing the order by expression to be used in the report\n"}},"type":"object","required":["aggregations","granularity"]},"azure:core/SubscriptionCostManagementViewDatasetAggregation:SubscriptionCostManagementViewDatasetAggregation":{"properties":{"columnName":{"type":"string","description":"The name of the column to aggregate. Changing this forces a new Cost Management View for a Subscription to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this aggregation. Changing this forces a new Cost Management View for a Subscription to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["columnName","name"]},"azure:core/SubscriptionCostManagementViewDatasetGrouping:SubscriptionCostManagementViewDatasetGrouping":{"properties":{"name":{"type":"string","description":"The name of the column to group.\n"},"type":{"type":"string","description":"The type of the column. Possible values are `Dimension` and `TagKey`.\n"}},"type":"object","required":["name","type"]},"azure:core/SubscriptionCostManagementViewDatasetSorting:SubscriptionCostManagementViewDatasetSorting":{"properties":{"direction":{"type":"string","description":"Direction of sort. Possible values are `Ascending` and `Descending`.\n"},"name":{"type":"string","description":"The name of the column to sort.\n"}},"type":"object","required":["direction","name"]},"azure:core/SubscriptionCostManagementViewKpi:SubscriptionCostManagementViewKpi":{"properties":{"type":{"type":"string","description":"KPI type. Possible values are `Budget` and `Forecast`.\n"}},"type":"object","required":["type"]},"azure:core/SubscriptionCostManagementViewPivot:SubscriptionCostManagementViewPivot":{"properties":{"name":{"type":"string","description":"The name of the column which should be used for this sub-view in the Cost Analysis UI.\n"},"type":{"type":"string","description":"The data type to show in this sub-view. Possible values are `Dimension` and `TagKey`.\n"}},"type":"object","required":["name","type"]},"azure:core/SubscriptionPolicyAssignmentIdentity:SubscriptionPolicyAssignmentIdentity":{"properties":{"identityIds":{"type":"array","items":{"type":"string"},"description":"A list of User Managed Identity IDs which should be assigned to the Policy Definition.\n\n\u003e **Note:** This is required when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to `UserAssigned`.\n"},"principalId":{"type":"string","description":"The Principal ID of the Policy Assignment for this Subscription.\n"},"tenantId":{"type":"string","description":"The Tenant ID of the Policy Assignment for this Subscription.\n"},"type":{"type":"string","description":"The Type of Managed Identity which should be added to this Policy Definition. Possible values are `SystemAssigned` or `UserAssigned`.\n"}},"type":"object","required":["type"],"language":{"nodejs":{"requiredOutputs":["principalId","tenantId","type"]}}},"azure:core/SubscriptionPolicyAssignmentNonComplianceMessage:SubscriptionPolicyAssignmentNonComplianceMessage":{"properties":{"content":{"type":"string","description":"The non-compliance message text. When assigning policy sets (initiatives), unless \u003cspan pulumi-lang-nodejs=\"`policyDefinitionReferenceId`\" pulumi-lang-dotnet=\"`PolicyDefinitionReferenceId`\" pulumi-lang-go=\"`policyDefinitionReferenceId`\" pulumi-lang-python=\"`policy_definition_reference_id`\" pulumi-lang-yaml=\"`policyDefinitionReferenceId`\" pulumi-lang-java=\"`policyDefinitionReferenceId`\"\u003e`policy_definition_reference_id`\u003c/span\u003e is specified then this message will be the default for all policies.\n"},"policyDefinitionReferenceId":{"type":"string","description":"When assigning policy sets (initiatives), this is the ID of the policy definition that the non-compliance message applies to.\n"}},"type":"object","required":["content"]},"azure:core/SubscriptionPolicyAssignmentOverride:SubscriptionPolicyAssignmentOverride":{"properties":{"selectors":{"type":"array","items":{"$ref":"#/types/azure:core/SubscriptionPolicyAssignmentOverrideSelector:SubscriptionPolicyAssignmentOverrideSelector"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`overrideSelector`\" pulumi-lang-dotnet=\"`OverrideSelector`\" pulumi-lang-go=\"`overrideSelector`\" pulumi-lang-python=\"`override_selector`\" pulumi-lang-yaml=\"`overrideSelector`\" pulumi-lang-java=\"`overrideSelector`\"\u003e`override_selector`\u003c/span\u003e block as defined below.\n"},"value":{"type":"string","description":"Specifies the value to override the policy property. Possible values for `policyEffect` override listed [policy effects](https://learn.microsoft.com/en-us/azure/governance/policy/concepts/effects).\n"}},"type":"object","required":["value"]},"azure:core/SubscriptionPolicyAssignmentOverrideSelector:SubscriptionPolicyAssignmentOverrideSelector":{"properties":{"ins":{"type":"array","items":{"type":"string"}},"kind":{"type":"string"},"notIns":{"type":"array","items":{"type":"string"}}},"type":"object"},"azure:core/SubscriptionPolicyAssignmentResourceSelector:SubscriptionPolicyAssignmentResourceSelector":{"properties":{"name":{"type":"string","description":"Specifies a name for the resource selector.\n"},"selectors":{"type":"array","items":{"$ref":"#/types/azure:core/SubscriptionPolicyAssignmentResourceSelectorSelector:SubscriptionPolicyAssignmentResourceSelectorSelector"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`resourceSelector`\" pulumi-lang-dotnet=\"`ResourceSelector`\" pulumi-lang-go=\"`resourceSelector`\" pulumi-lang-python=\"`resource_selector`\" pulumi-lang-yaml=\"`resourceSelector`\" pulumi-lang-java=\"`resourceSelector`\"\u003e`resource_selector`\u003c/span\u003e block as defined below.\n"}},"type":"object","required":["selectors"]},"azure:core/SubscriptionPolicyAssignmentResourceSelectorSelector:SubscriptionPolicyAssignmentResourceSelectorSelector":{"properties":{"ins":{"type":"array","items":{"type":"string"}},"kind":{"type":"string"},"notIns":{"type":"array","items":{"type":"string"}}},"type":"object","required":["kind"]},"azure:core/getLocationZoneMapping:getLocationZoneMapping":{"properties":{"logicalZone":{"type":"string","description":"The logical zone id for the availability zone\n"},"physicalZone":{"type":"string","description":"The fully qualified physical zone id of availability zone to which logical zone id is mapped to\n"}},"type":"object","required":["logicalZone","physicalZone"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:core/getResourcesResource:getResourcesResource":{"properties":{"id":{"type":"string","description":"The ID of this Resource.\n"},"location":{"type":"string","description":"The Azure Region in which this Resource exists.\n"},"name":{"type":"string","description":"The name of the Resource.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource group where the Resources are located.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of tags assigned to this Resource.\n"},"type":{"type":"string","description":"The Resource Type of the Resources you want to list (e.g. `Microsoft.Network/virtualNetworks`). A resource type's name follows the format: `{resource-provider}/{resource-type}`. The resource type for a key vault is `Microsoft.KeyVault/vaults`. A full list of available Resource Providers can be found [here](https://docs.microsoft.com/azure/azure-resource-manager/azure-services-resource-providers). A full list of Resources Types can be found [here](https://learn.microsoft.com/en-us/azure/templates/#find-resources).\n"}},"type":"object","required":["id","location","name","resourceGroupName","tags","type"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:core/getSubscriptionsSubscription:getSubscriptionsSubscription":{"properties":{"displayName":{"type":"string","description":"The subscription display name.\n"},"id":{"type":"string","description":"The ID of this subscription.\n"},"locationPlacementId":{"type":"string","description":"The subscription location placement ID.\n"},"quotaId":{"type":"string","description":"The subscription quota ID.\n"},"spendingLimit":{"type":"string","description":"The subscription spending limit.\n"},"state":{"type":"string","description":"The subscription state. Possible values are Enabled, Warned, PastDue, Disabled, and Deleted.\n"},"subscriptionId":{"type":"string","description":"The subscription GUID.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags assigned to the resource.\n"},"tenantId":{"type":"string","description":"The subscription tenant ID.\n"}},"type":"object","required":["displayName","id","locationPlacementId","quotaId","spendingLimit","state","subscriptionId","tags","tenantId"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:cosmosdb/AccountAnalyticalStorage:AccountAnalyticalStorage":{"properties":{"schemaType":{"type":"string","description":"The schema type of the Analytical Storage for this Cosmos DB account. Possible values are `FullFidelity` and `WellDefined`.\n"}},"type":"object","required":["schemaType"]},"azure:cosmosdb/AccountBackup:AccountBackup":{"properties":{"intervalInMinutes":{"type":"integer","description":"The interval in minutes between two backups. Possible values are between 60 and 1440. Defaults to \u003cspan pulumi-lang-nodejs=\"`240`\" pulumi-lang-dotnet=\"`240`\" pulumi-lang-go=\"`240`\" pulumi-lang-python=\"`240`\" pulumi-lang-yaml=\"`240`\" pulumi-lang-java=\"`240`\"\u003e`240`\u003c/span\u003e.\n"},"retentionInHours":{"type":"integer","description":"The time in hours that each backup is retained. Possible values are between 8 and 720. Defaults to \u003cspan pulumi-lang-nodejs=\"`8`\" pulumi-lang-dotnet=\"`8`\" pulumi-lang-go=\"`8`\" pulumi-lang-python=\"`8`\" pulumi-lang-yaml=\"`8`\" pulumi-lang-java=\"`8`\"\u003e`8`\u003c/span\u003e.\n"},"storageRedundancy":{"type":"string","description":"The storage redundancy is used to indicate the type of backup residency. Possible values are `Geo`, `Local` and `Zone`. Defaults to `Geo`.\n\n\u003e **Note:** You can only configure \u003cspan pulumi-lang-nodejs=\"`intervalInMinutes`\" pulumi-lang-dotnet=\"`IntervalInMinutes`\" pulumi-lang-go=\"`intervalInMinutes`\" pulumi-lang-python=\"`interval_in_minutes`\" pulumi-lang-yaml=\"`intervalInMinutes`\" pulumi-lang-java=\"`intervalInMinutes`\"\u003e`interval_in_minutes`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`retentionInHours`\" pulumi-lang-dotnet=\"`RetentionInHours`\" pulumi-lang-go=\"`retentionInHours`\" pulumi-lang-python=\"`retention_in_hours`\" pulumi-lang-yaml=\"`retentionInHours`\" pulumi-lang-java=\"`retentionInHours`\"\u003e`retention_in_hours`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`storageRedundancy`\" pulumi-lang-dotnet=\"`StorageRedundancy`\" pulumi-lang-go=\"`storageRedundancy`\" pulumi-lang-python=\"`storage_redundancy`\" pulumi-lang-yaml=\"`storageRedundancy`\" pulumi-lang-java=\"`storageRedundancy`\"\u003e`storage_redundancy`\u003c/span\u003e when the \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e field is set to `Periodic`.\n"},"tier":{"type":"string","description":"The continuous backup tier. Possible values are `Continuous7Days` and `Continuous30Days`.\n"},"type":{"type":"string","description":"The type of the \u003cspan pulumi-lang-nodejs=\"`backup`\" pulumi-lang-dotnet=\"`Backup`\" pulumi-lang-go=\"`backup`\" pulumi-lang-python=\"`backup`\" pulumi-lang-yaml=\"`backup`\" pulumi-lang-java=\"`backup`\"\u003e`backup`\u003c/span\u003e. Possible values are `Continuous` and `Periodic`.\n\n\u003e **Note:** Migration of `Periodic` to `Continuous` is one-way, changing `Continuous` to `Periodic` forces a new resource to be created.\n"}},"type":"object","required":["type"],"language":{"nodejs":{"requiredOutputs":["intervalInMinutes","retentionInHours","storageRedundancy","tier","type"]}}},"azure:cosmosdb/AccountCapability:AccountCapability":{"properties":{"name":{"type":"string","description":"Specifies the name of the CosmosDB Account. Changing this forces a new resource to be created.\n"}},"type":"object","required":["name"]},"azure:cosmosdb/AccountCapacity:AccountCapacity":{"properties":{"totalThroughputLimit":{"type":"integer","description":"The total throughput limit imposed on this Cosmos DB account (RU/s). Possible values are at least `-1`. `-1` means no limit.\n"}},"type":"object","required":["totalThroughputLimit"]},"azure:cosmosdb/AccountConsistencyPolicy:AccountConsistencyPolicy":{"properties":{"consistencyLevel":{"type":"string","description":"The Consistency Level to use for this CosmosDB Account - can be either `BoundedStaleness`, `Eventual`, `Session`, `Strong` or `ConsistentPrefix`.\n"},"maxIntervalInSeconds":{"type":"integer","description":"When used with the Bounded Staleness consistency level, this value represents the time amount of staleness (in seconds) tolerated. The accepted range for this value is \u003cspan pulumi-lang-nodejs=\"`5`\" pulumi-lang-dotnet=\"`5`\" pulumi-lang-go=\"`5`\" pulumi-lang-python=\"`5`\" pulumi-lang-yaml=\"`5`\" pulumi-lang-java=\"`5`\"\u003e`5`\u003c/span\u003e - \u003cspan pulumi-lang-nodejs=\"`86400`\" pulumi-lang-dotnet=\"`86400`\" pulumi-lang-go=\"`86400`\" pulumi-lang-python=\"`86400`\" pulumi-lang-yaml=\"`86400`\" pulumi-lang-java=\"`86400`\"\u003e`86400`\u003c/span\u003e (1 day). Defaults to \u003cspan pulumi-lang-nodejs=\"`5`\" pulumi-lang-dotnet=\"`5`\" pulumi-lang-go=\"`5`\" pulumi-lang-python=\"`5`\" pulumi-lang-yaml=\"`5`\" pulumi-lang-java=\"`5`\"\u003e`5`\u003c/span\u003e. Required when \u003cspan pulumi-lang-nodejs=\"`consistencyLevel`\" pulumi-lang-dotnet=\"`ConsistencyLevel`\" pulumi-lang-go=\"`consistencyLevel`\" pulumi-lang-python=\"`consistency_level`\" pulumi-lang-yaml=\"`consistencyLevel`\" pulumi-lang-java=\"`consistencyLevel`\"\u003e`consistency_level`\u003c/span\u003e is set to `BoundedStaleness`.\n"},"maxStalenessPrefix":{"type":"integer","description":"When used with the Bounded Staleness consistency level, this value represents the number of stale requests tolerated. The accepted range for this value is \u003cspan pulumi-lang-nodejs=\"`10`\" pulumi-lang-dotnet=\"`10`\" pulumi-lang-go=\"`10`\" pulumi-lang-python=\"`10`\" pulumi-lang-yaml=\"`10`\" pulumi-lang-java=\"`10`\"\u003e`10`\u003c/span\u003e – \u003cspan pulumi-lang-nodejs=\"`2147483647`\" pulumi-lang-dotnet=\"`2147483647`\" pulumi-lang-go=\"`2147483647`\" pulumi-lang-python=\"`2147483647`\" pulumi-lang-yaml=\"`2147483647`\" pulumi-lang-java=\"`2147483647`\"\u003e`2147483647`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`100`\" pulumi-lang-dotnet=\"`100`\" pulumi-lang-go=\"`100`\" pulumi-lang-python=\"`100`\" pulumi-lang-yaml=\"`100`\" pulumi-lang-java=\"`100`\"\u003e`100`\u003c/span\u003e. Required when \u003cspan pulumi-lang-nodejs=\"`consistencyLevel`\" pulumi-lang-dotnet=\"`ConsistencyLevel`\" pulumi-lang-go=\"`consistencyLevel`\" pulumi-lang-python=\"`consistency_level`\" pulumi-lang-yaml=\"`consistencyLevel`\" pulumi-lang-java=\"`consistencyLevel`\"\u003e`consistency_level`\u003c/span\u003e is set to `BoundedStaleness`.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`maxIntervalInSeconds`\" pulumi-lang-dotnet=\"`MaxIntervalInSeconds`\" pulumi-lang-go=\"`maxIntervalInSeconds`\" pulumi-lang-python=\"`max_interval_in_seconds`\" pulumi-lang-yaml=\"`maxIntervalInSeconds`\" pulumi-lang-java=\"`maxIntervalInSeconds`\"\u003e`max_interval_in_seconds`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`maxStalenessPrefix`\" pulumi-lang-dotnet=\"`MaxStalenessPrefix`\" pulumi-lang-go=\"`maxStalenessPrefix`\" pulumi-lang-python=\"`max_staleness_prefix`\" pulumi-lang-yaml=\"`maxStalenessPrefix`\" pulumi-lang-java=\"`maxStalenessPrefix`\"\u003e`max_staleness_prefix`\u003c/span\u003e can only be set to values other than default when the \u003cspan pulumi-lang-nodejs=\"`consistencyLevel`\" pulumi-lang-dotnet=\"`ConsistencyLevel`\" pulumi-lang-go=\"`consistencyLevel`\" pulumi-lang-python=\"`consistency_level`\" pulumi-lang-yaml=\"`consistencyLevel`\" pulumi-lang-java=\"`consistencyLevel`\"\u003e`consistency_level`\u003c/span\u003e is set to `BoundedStaleness`.\n"}},"type":"object","required":["consistencyLevel"]},"azure:cosmosdb/AccountCorsRule:AccountCorsRule":{"properties":{"allowedHeaders":{"type":"array","items":{"type":"string"},"description":"A list of headers that are allowed to be a part of the cross-origin request.\n"},"allowedMethods":{"type":"array","items":{"type":"string"},"description":"A list of HTTP headers that are allowed to be executed by the origin. Valid options are `DELETE`, `GET`, `HEAD`, `MERGE`, `POST`, `OPTIONS`, `PUT` or `PATCH`.\n"},"allowedOrigins":{"type":"array","items":{"type":"string"},"description":"A list of origin domains that will be allowed by CORS.\n"},"exposedHeaders":{"type":"array","items":{"type":"string"},"description":"A list of response headers that are exposed to CORS clients.\n"},"maxAgeInSeconds":{"type":"integer","description":"The number of seconds the client should cache a preflight response. Possible values are between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`2147483647`\" pulumi-lang-dotnet=\"`2147483647`\" pulumi-lang-go=\"`2147483647`\" pulumi-lang-python=\"`2147483647`\" pulumi-lang-yaml=\"`2147483647`\" pulumi-lang-java=\"`2147483647`\"\u003e`2147483647`\u003c/span\u003e.\n"}},"type":"object","required":["allowedHeaders","allowedMethods","allowedOrigins","exposedHeaders"]},"azure:cosmosdb/AccountGeoLocation:AccountGeoLocation":{"properties":{"failoverPriority":{"type":"integer","description":"The failover priority of the region. A failover priority of \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e indicates a write region. The maximum value for a failover priority = (total number of regions - 1). Failover priority values must be unique for each of the regions in which the database account exists. Changing this causes the location to be re-provisioned and cannot be changed for the location with failover priority \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"id":{"type":"string","description":"The CosmosDB Account ID.\n"},"location":{"type":"string","description":"The name of the Azure region to host replicated data.\n"},"zoneRedundant":{"type":"boolean","description":"Should zone redundancy be enabled for this region? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"}},"type":"object","required":["failoverPriority","location"],"language":{"nodejs":{"requiredOutputs":["failoverPriority","id","location"]}}},"azure:cosmosdb/AccountIdentity:AccountIdentity":{"properties":{"identityIds":{"type":"array","items":{"type":"string"},"description":"Specifies a list of User Assigned Managed Identity IDs to be assigned to this Cosmos Account.\n"},"principalId":{"type":"string","description":"The Principal ID associated with this Managed Service Identity.\n"},"tenantId":{"type":"string","description":"The Tenant ID associated with this Managed Service Identity.\n"},"type":{"type":"string","description":"The Type of Managed Identity assigned to this Cosmos account. Possible values are `SystemAssigned`, `UserAssigned` and `SystemAssigned, UserAssigned`.\n"}},"type":"object","required":["type"],"language":{"nodejs":{"requiredOutputs":["principalId","tenantId","type"]}}},"azure:cosmosdb/AccountRestore:AccountRestore":{"properties":{"databases":{"type":"array","items":{"$ref":"#/types/azure:cosmosdb/AccountRestoreDatabase:AccountRestoreDatabase"},"description":"A \u003cspan pulumi-lang-nodejs=\"`database`\" pulumi-lang-dotnet=\"`Database`\" pulumi-lang-go=\"`database`\" pulumi-lang-python=\"`database`\" pulumi-lang-yaml=\"`database`\" pulumi-lang-java=\"`database`\"\u003e`database`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"gremlinDatabases":{"type":"array","items":{"$ref":"#/types/azure:cosmosdb/AccountRestoreGremlinDatabase:AccountRestoreGremlinDatabase"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`gremlinDatabase`\" pulumi-lang-dotnet=\"`GremlinDatabase`\" pulumi-lang-go=\"`gremlinDatabase`\" pulumi-lang-python=\"`gremlin_database`\" pulumi-lang-yaml=\"`gremlinDatabase`\" pulumi-lang-java=\"`gremlinDatabase`\"\u003e`gremlin_database`\u003c/span\u003e blocks as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"restoreTimestampInUtc":{"type":"string","description":"The creation time of the database or the collection (Datetime Format `RFC 3339`). Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sourceCosmosdbAccountId":{"type":"string","description":"The resource ID of the restorable database account from which the restore has to be initiated. The example is `/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts/{restorableDatabaseAccountName}`. Changing this forces a new resource to be created.\n\n\u003e **Note:** Any database account with `Continuous` type (live account or accounts deleted in last 30 days) is a restorable database account and there cannot be Create/Update/Delete operations on the restorable database accounts. They can only be read and retrieved by \u003cspan pulumi-lang-nodejs=\"`azure.cosmosdb.getRestorableDatabaseAccounts`\" pulumi-lang-dotnet=\"`azure.cosmosdb.getRestorableDatabaseAccounts`\" pulumi-lang-go=\"`cosmosdb.getRestorableDatabaseAccounts`\" pulumi-lang-python=\"`cosmosdb_get_restorable_database_accounts`\" pulumi-lang-yaml=\"`azure.cosmosdb.getRestorableDatabaseAccounts`\" pulumi-lang-java=\"`azure.cosmosdb.getRestorableDatabaseAccounts`\"\u003e`azure.cosmosdb.getRestorableDatabaseAccounts`\u003c/span\u003e.\n","willReplaceOnChanges":true},"tablesToRestores":{"type":"array","items":{"type":"string"},"description":"A list of specific tables available for restore. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["restoreTimestampInUtc","sourceCosmosdbAccountId"]},"azure:cosmosdb/AccountRestoreDatabase:AccountRestoreDatabase":{"properties":{"collectionNames":{"type":"array","items":{"type":"string"},"description":"A list of the collection names for the restore request. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The database name for the restore request. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["name"]},"azure:cosmosdb/AccountRestoreGremlinDatabase:AccountRestoreGremlinDatabase":{"properties":{"graphNames":{"type":"array","items":{"type":"string"},"description":"A list of the Graph names for the restore request. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The Gremlin Database name for the restore request. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["name"]},"azure:cosmosdb/AccountVirtualNetworkRule:AccountVirtualNetworkRule":{"properties":{"id":{"type":"string","description":"The ID of the virtual network subnet.\n"},"ignoreMissingVnetServiceEndpoint":{"type":"boolean","description":"If set to true, the specified subnet will be added as a virtual network rule even if its CosmosDB service endpoint is not active. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"}},"type":"object","required":["id"]},"azure:cosmosdb/CassandraClusterIdentity:CassandraClusterIdentity":{"properties":{"principalId":{"type":"string"},"tenantId":{"type":"string"},"type":{"type":"string","description":"Specifies the type of Managed Service Identity that should be configured on this Cassandra Cluster. The only possible value is `SystemAssigned`.\n"}},"type":"object","required":["type"],"language":{"nodejs":{"requiredOutputs":["principalId","tenantId","type"]}}},"azure:cosmosdb/CassandraKeyspaceAutoscaleSettings:CassandraKeyspaceAutoscaleSettings":{"properties":{"maxThroughput":{"type":"integer","description":"The maximum throughput of the Cassandra KeySpace (RU/s). Must be between `1,000` and `1,000,000`. Must be set in increments of `1,000`. Conflicts with \u003cspan pulumi-lang-nodejs=\"`throughput`\" pulumi-lang-dotnet=\"`Throughput`\" pulumi-lang-go=\"`throughput`\" pulumi-lang-python=\"`throughput`\" pulumi-lang-yaml=\"`throughput`\" pulumi-lang-java=\"`throughput`\"\u003e`throughput`\u003c/span\u003e.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["maxThroughput"]}}},"azure:cosmosdb/CassandraTableAutoscaleSettings:CassandraTableAutoscaleSettings":{"properties":{"maxThroughput":{"type":"integer","description":"The maximum throughput of the Cassandra Table (RU/s). Must be between `1,000` and `1,000,000`. Must be set in increments of `1,000`. Conflicts with \u003cspan pulumi-lang-nodejs=\"`throughput`\" pulumi-lang-dotnet=\"`Throughput`\" pulumi-lang-go=\"`throughput`\" pulumi-lang-python=\"`throughput`\" pulumi-lang-yaml=\"`throughput`\" pulumi-lang-java=\"`throughput`\"\u003e`throughput`\u003c/span\u003e.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["maxThroughput"]}}},"azure:cosmosdb/CassandraTableSchema:CassandraTableSchema":{"properties":{"clusterKeys":{"type":"array","items":{"$ref":"#/types/azure:cosmosdb/CassandraTableSchemaClusterKey:CassandraTableSchemaClusterKey"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`clusterKey`\" pulumi-lang-dotnet=\"`ClusterKey`\" pulumi-lang-go=\"`clusterKey`\" pulumi-lang-python=\"`cluster_key`\" pulumi-lang-yaml=\"`clusterKey`\" pulumi-lang-java=\"`clusterKey`\"\u003e`cluster_key`\u003c/span\u003e blocks as defined below.\n"},"columns":{"type":"array","items":{"$ref":"#/types/azure:cosmosdb/CassandraTableSchemaColumn:CassandraTableSchemaColumn"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`column`\" pulumi-lang-dotnet=\"`Column`\" pulumi-lang-go=\"`column`\" pulumi-lang-python=\"`column`\" pulumi-lang-yaml=\"`column`\" pulumi-lang-java=\"`column`\"\u003e`column`\u003c/span\u003e blocks as defined below.\n"},"partitionKeys":{"type":"array","items":{"$ref":"#/types/azure:cosmosdb/CassandraTableSchemaPartitionKey:CassandraTableSchemaPartitionKey"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`partitionKey`\" pulumi-lang-dotnet=\"`PartitionKey`\" pulumi-lang-go=\"`partitionKey`\" pulumi-lang-python=\"`partition_key`\" pulumi-lang-yaml=\"`partitionKey`\" pulumi-lang-java=\"`partitionKey`\"\u003e`partition_key`\u003c/span\u003e blocks as defined below.\n"}},"type":"object","required":["columns","partitionKeys"]},"azure:cosmosdb/CassandraTableSchemaClusterKey:CassandraTableSchemaClusterKey":{"properties":{"name":{"type":"string","description":"Name of the cluster key to be created.\n"},"orderBy":{"type":"string","description":"Order of the key. Currently supported values are `Asc` and `Desc`.\n"}},"type":"object","required":["name","orderBy"]},"azure:cosmosdb/CassandraTableSchemaColumn:CassandraTableSchemaColumn":{"properties":{"name":{"type":"string","description":"Name of the column to be created.\n"},"type":{"type":"string","description":"Type of the column to be created.\n"}},"type":"object","required":["name","type"]},"azure:cosmosdb/CassandraTableSchemaPartitionKey:CassandraTableSchemaPartitionKey":{"properties":{"name":{"type":"string","description":"Name of the column to partition by.\n"}},"type":"object","required":["name"]},"azure:cosmosdb/GremlinDatabaseAutoscaleSettings:GremlinDatabaseAutoscaleSettings":{"properties":{"maxThroughput":{"type":"integer","description":"The maximum throughput of the Gremlin database (RU/s). Must be between `1,000` and `1,000,000`. Must be set in increments of `1,000`. Conflicts with \u003cspan pulumi-lang-nodejs=\"`throughput`\" pulumi-lang-dotnet=\"`Throughput`\" pulumi-lang-go=\"`throughput`\" pulumi-lang-python=\"`throughput`\" pulumi-lang-yaml=\"`throughput`\" pulumi-lang-java=\"`throughput`\"\u003e`throughput`\u003c/span\u003e.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["maxThroughput"]}}},"azure:cosmosdb/GremlinGraphAutoscaleSettings:GremlinGraphAutoscaleSettings":{"properties":{"maxThroughput":{"type":"integer","description":"The maximum throughput of the Gremlin graph (RU/s). Must be between `1,000` and `1,000,000`. Must be set in increments of `1,000`. Conflicts with \u003cspan pulumi-lang-nodejs=\"`throughput`\" pulumi-lang-dotnet=\"`Throughput`\" pulumi-lang-go=\"`throughput`\" pulumi-lang-python=\"`throughput`\" pulumi-lang-yaml=\"`throughput`\" pulumi-lang-java=\"`throughput`\"\u003e`throughput`\u003c/span\u003e.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["maxThroughput"]}}},"azure:cosmosdb/GremlinGraphConflictResolutionPolicy:GremlinGraphConflictResolutionPolicy":{"properties":{"conflictResolutionPath":{"type":"string","description":"The conflict resolution path in the case of LastWriterWins mode.\n"},"conflictResolutionProcedure":{"type":"string","description":"The procedure to resolve conflicts in the case of custom mode.\n"},"mode":{"type":"string","description":"Indicates the conflict resolution mode. Possible values include: `LastWriterWins`, `Custom`.\n"}},"type":"object","required":["mode"]},"azure:cosmosdb/GremlinGraphIndexPolicy:GremlinGraphIndexPolicy":{"properties":{"automatic":{"type":"boolean","description":"Indicates if the indexing policy is automatic. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"compositeIndices":{"type":"array","items":{"$ref":"#/types/azure:cosmosdb/GremlinGraphIndexPolicyCompositeIndex:GremlinGraphIndexPolicyCompositeIndex"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`compositeIndex`\" pulumi-lang-dotnet=\"`CompositeIndex`\" pulumi-lang-go=\"`compositeIndex`\" pulumi-lang-python=\"`composite_index`\" pulumi-lang-yaml=\"`compositeIndex`\" pulumi-lang-java=\"`compositeIndex`\"\u003e`composite_index`\u003c/span\u003e blocks as defined below.\n"},"excludedPaths":{"type":"array","items":{"type":"string"},"description":"List of paths to exclude from indexing. Required if \u003cspan pulumi-lang-nodejs=\"`indexingMode`\" pulumi-lang-dotnet=\"`IndexingMode`\" pulumi-lang-go=\"`indexingMode`\" pulumi-lang-python=\"`indexing_mode`\" pulumi-lang-yaml=\"`indexingMode`\" pulumi-lang-java=\"`indexingMode`\"\u003e`indexing_mode`\u003c/span\u003e is `Consistent` or `Lazy`.\n"},"includedPaths":{"type":"array","items":{"type":"string"},"description":"List of paths to include in the indexing. Required if \u003cspan pulumi-lang-nodejs=\"`indexingMode`\" pulumi-lang-dotnet=\"`IndexingMode`\" pulumi-lang-go=\"`indexingMode`\" pulumi-lang-python=\"`indexing_mode`\" pulumi-lang-yaml=\"`indexingMode`\" pulumi-lang-java=\"`indexingMode`\"\u003e`indexing_mode`\u003c/span\u003e is `Consistent` or `Lazy`.\n"},"indexingMode":{"type":"string","description":"Indicates the indexing mode. Possible values include: `Consistent`, `Lazy`, `None`.\n"},"spatialIndices":{"type":"array","items":{"$ref":"#/types/azure:cosmosdb/GremlinGraphIndexPolicySpatialIndex:GremlinGraphIndexPolicySpatialIndex"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`spatialIndex`\" pulumi-lang-dotnet=\"`SpatialIndex`\" pulumi-lang-go=\"`spatialIndex`\" pulumi-lang-python=\"`spatial_index`\" pulumi-lang-yaml=\"`spatialIndex`\" pulumi-lang-java=\"`spatialIndex`\"\u003e`spatial_index`\u003c/span\u003e blocks as defined below.\n"}},"type":"object","required":["indexingMode"],"language":{"nodejs":{"requiredOutputs":["excludedPaths","includedPaths","indexingMode"]}}},"azure:cosmosdb/GremlinGraphIndexPolicyCompositeIndex:GremlinGraphIndexPolicyCompositeIndex":{"properties":{"indices":{"type":"array","items":{"$ref":"#/types/azure:cosmosdb/GremlinGraphIndexPolicyCompositeIndexIndex:GremlinGraphIndexPolicyCompositeIndexIndex"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`index`\" pulumi-lang-dotnet=\"`Index`\" pulumi-lang-go=\"`index`\" pulumi-lang-python=\"`index`\" pulumi-lang-yaml=\"`index`\" pulumi-lang-java=\"`index`\"\u003e`index`\u003c/span\u003e blocks as defined below.\n"}},"type":"object","required":["indices"]},"azure:cosmosdb/GremlinGraphIndexPolicyCompositeIndexIndex:GremlinGraphIndexPolicyCompositeIndexIndex":{"properties":{"order":{"type":"string","description":"Order of the index. Possible values are `Ascending` or `Descending`.\n"},"path":{"type":"string","description":"Path for which the indexing behaviour applies to.\n"}},"type":"object","required":["order","path"]},"azure:cosmosdb/GremlinGraphIndexPolicySpatialIndex:GremlinGraphIndexPolicySpatialIndex":{"properties":{"path":{"type":"string","description":"Path for which the indexing behaviour applies to. According to the service design, all spatial types including `LineString`, `MultiPolygon`, `Point`, and `Polygon` will be applied to the path.\n"},"types":{"type":"array","items":{"type":"string"}}},"type":"object","required":["path"],"language":{"nodejs":{"requiredOutputs":["path","types"]}}},"azure:cosmosdb/GremlinGraphUniqueKey:GremlinGraphUniqueKey":{"properties":{"paths":{"type":"array","items":{"type":"string"},"description":"A list of paths to use for this unique key. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["paths"]},"azure:cosmosdb/MongoClusterConnectionString:MongoClusterConnectionString":{"properties":{"description":{"type":"string","description":"The description of the connection string.\n"},"name":{"type":"string","description":"The name which should be used for the MongoDB Cluster. Changing this forces a new resource to be created.\n"},"value":{"type":"string","description":"The value of the Mongo Cluster connection string. The `\u003cuser\u003e:\u003cpassword\u003e` placeholder returned from API will be replaced by the real \u003cspan pulumi-lang-nodejs=\"`administratorUsername`\" pulumi-lang-dotnet=\"`AdministratorUsername`\" pulumi-lang-go=\"`administratorUsername`\" pulumi-lang-python=\"`administrator_username`\" pulumi-lang-yaml=\"`administratorUsername`\" pulumi-lang-java=\"`administratorUsername`\"\u003e`administrator_username`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`administratorPassword`\" pulumi-lang-dotnet=\"`AdministratorPassword`\" pulumi-lang-go=\"`administratorPassword`\" pulumi-lang-python=\"`administrator_password`\" pulumi-lang-yaml=\"`administratorPassword`\" pulumi-lang-java=\"`administratorPassword`\"\u003e`administrator_password`\u003c/span\u003e if available in the state.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["description","name","value"]}}},"azure:cosmosdb/MongoClusterCustomerManagedKey:MongoClusterCustomerManagedKey":{"properties":{"keyVaultKeyId":{"type":"string","description":"The ID of the key vault key used for encryption. For example: `https://example-vault-name.vault.azure.net/keys/example-key-name`.\n"},"userAssignedIdentityId":{"type":"string","description":"The ID of the User Assigned Identity that has access to the Key Vault Key.\n"}},"type":"object","required":["keyVaultKeyId","userAssignedIdentityId"]},"azure:cosmosdb/MongoClusterIdentity:MongoClusterIdentity":{"properties":{"identityIds":{"type":"array","items":{"type":"string"},"description":"A list of one or more Resource IDs for User Assigned Managed identities to assign.\n\n\u003e **Note:** Required when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to `UserAssigned`.\n"},"type":{"type":"string","description":"The type of managed identity to assign. Possible value is `UserAssigned`.\n"}},"type":"object","required":["identityIds","type"]},"azure:cosmosdb/MongoClusterRestore:MongoClusterRestore":{"properties":{"pointInTimeUtc":{"type":"string","description":"The point in time (in UTC) to restore from, in ISO 8601 format (e.g., `2024-01-01T00:00:00Z`). Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sourceId":{"type":"string","description":"The ID of the source MongoDB Cluster to restore from. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["pointInTimeUtc","sourceId"]},"azure:cosmosdb/MongoCollectionAutoscaleSettings:MongoCollectionAutoscaleSettings":{"properties":{"maxThroughput":{"type":"integer","description":"The maximum throughput of the MongoDB collection (RU/s). Must be between `1,000` and `1,000,000`. Must be set in increments of `1,000`. Conflicts with \u003cspan pulumi-lang-nodejs=\"`throughput`\" pulumi-lang-dotnet=\"`Throughput`\" pulumi-lang-go=\"`throughput`\" pulumi-lang-python=\"`throughput`\" pulumi-lang-yaml=\"`throughput`\" pulumi-lang-java=\"`throughput`\"\u003e`throughput`\u003c/span\u003e.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["maxThroughput"]}}},"azure:cosmosdb/MongoCollectionIndex:MongoCollectionIndex":{"properties":{"keys":{"type":"array","items":{"type":"string"},"description":"Specifies the list of user settable keys for each Cosmos DB Mongo Collection.\n"},"unique":{"type":"boolean","description":"Is the index unique or not? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** An index with an \"_id\" key must be specified.\n"}},"type":"object","required":["keys"]},"azure:cosmosdb/MongoCollectionSystemIndex:MongoCollectionSystemIndex":{"properties":{"keys":{"type":"array","items":{"type":"string"},"description":"The list of system keys which are not settable for each Cosmos DB Mongo Collection.\n"},"unique":{"type":"boolean","description":"Identifies whether the table contains no duplicate values.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["keys","unique"]}}},"azure:cosmosdb/MongoDatabaseAutoscaleSettings:MongoDatabaseAutoscaleSettings":{"properties":{"maxThroughput":{"type":"integer","description":"The maximum throughput of the MongoDB database (RU/s). Must be between `1,000` and `1,000,000`. Must be set in increments of `1,000`. Conflicts with \u003cspan pulumi-lang-nodejs=\"`throughput`\" pulumi-lang-dotnet=\"`Throughput`\" pulumi-lang-go=\"`throughput`\" pulumi-lang-python=\"`throughput`\" pulumi-lang-yaml=\"`throughput`\" pulumi-lang-java=\"`throughput`\"\u003e`throughput`\u003c/span\u003e.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["maxThroughput"]}}},"azure:cosmosdb/MongoRoleDefinitionPrivilege:MongoRoleDefinitionPrivilege":{"properties":{"actions":{"type":"array","items":{"type":"string"},"description":"A list of actions that are allowed.\n"},"resource":{"$ref":"#/types/azure:cosmosdb/MongoRoleDefinitionPrivilegeResource:MongoRoleDefinitionPrivilegeResource","description":"A \u003cspan pulumi-lang-nodejs=\"`resource`\" pulumi-lang-dotnet=\"`Resource`\" pulumi-lang-go=\"`resource`\" pulumi-lang-python=\"`resource`\" pulumi-lang-yaml=\"`resource`\" pulumi-lang-java=\"`resource`\"\u003e`resource`\u003c/span\u003e block as defined below.\n"}},"type":"object","required":["actions","resource"]},"azure:cosmosdb/MongoRoleDefinitionPrivilegeResource:MongoRoleDefinitionPrivilegeResource":{"properties":{"collectionName":{"type":"string","description":"The name of the Mongo DB Collection that the Role Definition is applied.\n"},"dbName":{"type":"string","description":"The name of the Mongo DB that the Role Definition is applied.\n"}},"type":"object"},"azure:cosmosdb/PostgresqlClusterMaintenanceWindow:PostgresqlClusterMaintenanceWindow":{"properties":{"dayOfWeek":{"type":"integer","description":"The day of week for maintenance window, where the week starts on a Sunday, i.e. Sunday = \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e, Monday = \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"startHour":{"type":"integer","description":"The start hour for maintenance window. Defaults to \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"startMinute":{"type":"integer","description":"The start minute for maintenance window. Defaults to \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"}},"type":"object"},"azure:cosmosdb/PostgresqlClusterServer:PostgresqlClusterServer":{"properties":{"fqdn":{"type":"string","description":"The Fully Qualified Domain Name of the server.\n"},"name":{"type":"string","description":"The name which should be used for this Azure Cosmos DB for PostgreSQL Cluster. Changing this forces a new resource to be created.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["fqdn","name"]}}},"azure:cosmosdb/SqlContainerAutoscaleSettings:SqlContainerAutoscaleSettings":{"properties":{"maxThroughput":{"type":"integer","description":"The maximum throughput of the SQL container (RU/s). Must be between `1,000` and `1,000,000`. Must be set in increments of `1,000`. Conflicts with \u003cspan pulumi-lang-nodejs=\"`throughput`\" pulumi-lang-dotnet=\"`Throughput`\" pulumi-lang-go=\"`throughput`\" pulumi-lang-python=\"`throughput`\" pulumi-lang-yaml=\"`throughput`\" pulumi-lang-java=\"`throughput`\"\u003e`throughput`\u003c/span\u003e.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["maxThroughput"]}}},"azure:cosmosdb/SqlContainerConflictResolutionPolicy:SqlContainerConflictResolutionPolicy":{"properties":{"conflictResolutionPath":{"type":"string","description":"The conflict resolution path in the case of `LastWriterWins` mode.\n"},"conflictResolutionProcedure":{"type":"string","description":"The procedure to resolve conflicts in the case of `Custom` mode.\n"},"mode":{"type":"string","description":"Indicates the conflict resolution mode. Possible values include: `LastWriterWins`, `Custom`.\n"}},"type":"object","required":["mode"]},"azure:cosmosdb/SqlContainerIndexingPolicy:SqlContainerIndexingPolicy":{"properties":{"compositeIndices":{"type":"array","items":{"$ref":"#/types/azure:cosmosdb/SqlContainerIndexingPolicyCompositeIndex:SqlContainerIndexingPolicyCompositeIndex"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`compositeIndex`\" pulumi-lang-dotnet=\"`CompositeIndex`\" pulumi-lang-go=\"`compositeIndex`\" pulumi-lang-python=\"`composite_index`\" pulumi-lang-yaml=\"`compositeIndex`\" pulumi-lang-java=\"`compositeIndex`\"\u003e`composite_index`\u003c/span\u003e blocks as defined below.\n"},"excludedPaths":{"type":"array","items":{"$ref":"#/types/azure:cosmosdb/SqlContainerIndexingPolicyExcludedPath:SqlContainerIndexingPolicyExcludedPath"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`excludedPath`\" pulumi-lang-dotnet=\"`ExcludedPath`\" pulumi-lang-go=\"`excludedPath`\" pulumi-lang-python=\"`excluded_path`\" pulumi-lang-yaml=\"`excludedPath`\" pulumi-lang-java=\"`excludedPath`\"\u003e`excluded_path`\u003c/span\u003e blocks as defined below. Either \u003cspan pulumi-lang-nodejs=\"`includedPath`\" pulumi-lang-dotnet=\"`IncludedPath`\" pulumi-lang-go=\"`includedPath`\" pulumi-lang-python=\"`included_path`\" pulumi-lang-yaml=\"`includedPath`\" pulumi-lang-java=\"`includedPath`\"\u003e`included_path`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`excludedPath`\" pulumi-lang-dotnet=\"`ExcludedPath`\" pulumi-lang-go=\"`excludedPath`\" pulumi-lang-python=\"`excluded_path`\" pulumi-lang-yaml=\"`excludedPath`\" pulumi-lang-java=\"`excludedPath`\"\u003e`excluded_path`\u003c/span\u003e must contain the \u003cspan pulumi-lang-nodejs=\"`path`\" pulumi-lang-dotnet=\"`Path`\" pulumi-lang-go=\"`path`\" pulumi-lang-python=\"`path`\" pulumi-lang-yaml=\"`path`\" pulumi-lang-java=\"`path`\"\u003e`path`\u003c/span\u003e `/*`\n"},"includedPaths":{"type":"array","items":{"$ref":"#/types/azure:cosmosdb/SqlContainerIndexingPolicyIncludedPath:SqlContainerIndexingPolicyIncludedPath"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`includedPath`\" pulumi-lang-dotnet=\"`IncludedPath`\" pulumi-lang-go=\"`includedPath`\" pulumi-lang-python=\"`included_path`\" pulumi-lang-yaml=\"`includedPath`\" pulumi-lang-java=\"`includedPath`\"\u003e`included_path`\u003c/span\u003e blocks as defined below. Either \u003cspan pulumi-lang-nodejs=\"`includedPath`\" pulumi-lang-dotnet=\"`IncludedPath`\" pulumi-lang-go=\"`includedPath`\" pulumi-lang-python=\"`included_path`\" pulumi-lang-yaml=\"`includedPath`\" pulumi-lang-java=\"`includedPath`\"\u003e`included_path`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`excludedPath`\" pulumi-lang-dotnet=\"`ExcludedPath`\" pulumi-lang-go=\"`excludedPath`\" pulumi-lang-python=\"`excluded_path`\" pulumi-lang-yaml=\"`excludedPath`\" pulumi-lang-java=\"`excludedPath`\"\u003e`excluded_path`\u003c/span\u003e must contain the \u003cspan pulumi-lang-nodejs=\"`path`\" pulumi-lang-dotnet=\"`Path`\" pulumi-lang-go=\"`path`\" pulumi-lang-python=\"`path`\" pulumi-lang-yaml=\"`path`\" pulumi-lang-java=\"`path`\"\u003e`path`\u003c/span\u003e `/*`\n"},"indexingMode":{"type":"string","description":"Indicates the indexing mode. Possible values include: \u003cspan pulumi-lang-nodejs=\"`consistent`\" pulumi-lang-dotnet=\"`Consistent`\" pulumi-lang-go=\"`consistent`\" pulumi-lang-python=\"`consistent`\" pulumi-lang-yaml=\"`consistent`\" pulumi-lang-java=\"`consistent`\"\u003e`consistent`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`none`\" pulumi-lang-dotnet=\"`None`\" pulumi-lang-go=\"`none`\" pulumi-lang-python=\"`none`\" pulumi-lang-yaml=\"`none`\" pulumi-lang-java=\"`none`\"\u003e`none`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`consistent`\" pulumi-lang-dotnet=\"`Consistent`\" pulumi-lang-go=\"`consistent`\" pulumi-lang-python=\"`consistent`\" pulumi-lang-yaml=\"`consistent`\" pulumi-lang-java=\"`consistent`\"\u003e`consistent`\u003c/span\u003e.\n"},"spatialIndices":{"type":"array","items":{"$ref":"#/types/azure:cosmosdb/SqlContainerIndexingPolicySpatialIndex:SqlContainerIndexingPolicySpatialIndex"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`spatialIndex`\" pulumi-lang-dotnet=\"`SpatialIndex`\" pulumi-lang-go=\"`spatialIndex`\" pulumi-lang-python=\"`spatial_index`\" pulumi-lang-yaml=\"`spatialIndex`\" pulumi-lang-java=\"`spatialIndex`\"\u003e`spatial_index`\u003c/span\u003e blocks as defined below.\n"}},"type":"object"},"azure:cosmosdb/SqlContainerIndexingPolicyCompositeIndex:SqlContainerIndexingPolicyCompositeIndex":{"properties":{"indices":{"type":"array","items":{"$ref":"#/types/azure:cosmosdb/SqlContainerIndexingPolicyCompositeIndexIndex:SqlContainerIndexingPolicyCompositeIndexIndex"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`index`\" pulumi-lang-dotnet=\"`Index`\" pulumi-lang-go=\"`index`\" pulumi-lang-python=\"`index`\" pulumi-lang-yaml=\"`index`\" pulumi-lang-java=\"`index`\"\u003e`index`\u003c/span\u003e blocks as defined below.\n"}},"type":"object","required":["indices"]},"azure:cosmosdb/SqlContainerIndexingPolicyCompositeIndexIndex:SqlContainerIndexingPolicyCompositeIndexIndex":{"properties":{"order":{"type":"string","description":"Order of the index. Possible values are `Ascending` or `Descending`.\n"},"path":{"type":"string","description":"Path for which the indexing behaviour applies to.\n"}},"type":"object","required":["order","path"]},"azure:cosmosdb/SqlContainerIndexingPolicyExcludedPath:SqlContainerIndexingPolicyExcludedPath":{"properties":{"path":{"type":"string","description":"Path that is excluded from indexing.\n"}},"type":"object","required":["path"]},"azure:cosmosdb/SqlContainerIndexingPolicyIncludedPath:SqlContainerIndexingPolicyIncludedPath":{"properties":{"path":{"type":"string","description":"Path for which the indexing behaviour applies to.\n"}},"type":"object","required":["path"]},"azure:cosmosdb/SqlContainerIndexingPolicySpatialIndex:SqlContainerIndexingPolicySpatialIndex":{"properties":{"path":{"type":"string","description":"Path for which the indexing behaviour applies to. According to the service design, all spatial types including `LineString`, `MultiPolygon`, `Point`, and `Polygon` will be applied to the path.\n"},"types":{"type":"array","items":{"type":"string"},"description":"A set of spatial types of the path.\n"}},"type":"object","required":["path"],"language":{"nodejs":{"requiredOutputs":["path","types"]}}},"azure:cosmosdb/SqlContainerUniqueKey:SqlContainerUniqueKey":{"properties":{"paths":{"type":"array","items":{"type":"string"},"description":"A list of paths to use for this unique key. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["paths"]},"azure:cosmosdb/SqlDatabaseAutoscaleSettings:SqlDatabaseAutoscaleSettings":{"properties":{"maxThroughput":{"type":"integer","description":"The maximum throughput of the SQL database (RU/s). Must be between `1,000` and `1,000,000`. Must be set in increments of `1,000`. Conflicts with \u003cspan pulumi-lang-nodejs=\"`throughput`\" pulumi-lang-dotnet=\"`Throughput`\" pulumi-lang-go=\"`throughput`\" pulumi-lang-python=\"`throughput`\" pulumi-lang-yaml=\"`throughput`\" pulumi-lang-java=\"`throughput`\"\u003e`throughput`\u003c/span\u003e.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["maxThroughput"]}}},"azure:cosmosdb/SqlRoleDefinitionPermission:SqlRoleDefinitionPermission":{"properties":{"dataActions":{"type":"array","items":{"type":"string"},"description":"A list of data actions that are allowed for the Cosmos DB SQL Role Definition.\n"}},"type":"object","required":["dataActions"]},"azure:cosmosdb/TableAutoscaleSettings:TableAutoscaleSettings":{"properties":{"maxThroughput":{"type":"integer","description":"The maximum throughput of the Table (RU/s). Must be between `1,000` and `1,000,000`. Must be set in increments of `1,000`. Conflicts with \u003cspan pulumi-lang-nodejs=\"`throughput`\" pulumi-lang-dotnet=\"`Throughput`\" pulumi-lang-go=\"`throughput`\" pulumi-lang-python=\"`throughput`\" pulumi-lang-yaml=\"`throughput`\" pulumi-lang-java=\"`throughput`\"\u003e`throughput`\u003c/span\u003e.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["maxThroughput"]}}},"azure:cosmosdb/getAccountCapability:getAccountCapability":{"properties":{"name":{"type":"string","description":"Specifies the name of the CosmosDB Account.\n"}},"type":"object","required":["name"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:cosmosdb/getAccountConsistencyPolicy:getAccountConsistencyPolicy":{"properties":{"consistencyLevel":{"type":"string","description":"The Consistency Level used by this CosmosDB Account.\n"},"maxIntervalInSeconds":{"type":"integer","description":"The amount of staleness (in seconds) tolerated when the consistency level is Bounded Staleness.\n"},"maxStalenessPrefix":{"type":"integer","description":"The number of stale requests tolerated when the consistency level is Bounded Staleness.\n"}},"type":"object","required":["consistencyLevel","maxIntervalInSeconds","maxStalenessPrefix"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:cosmosdb/getAccountGeoLocation:getAccountGeoLocation":{"properties":{"failoverPriority":{"type":"integer"},"id":{"type":"string","description":"The ID of the virtual network subnet.\n"},"location":{"type":"string","description":"The name of the Azure region hosting replicated data.\n"}},"type":"object","required":["failoverPriority","id","location"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:cosmosdb/getAccountVirtualNetworkRule:getAccountVirtualNetworkRule":{"properties":{"id":{"type":"string","description":"The ID of the virtual network subnet.\n"}},"type":"object","required":["id"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:cosmosdb/getRestorableDatabaseAccountsAccount:getRestorableDatabaseAccountsAccount":{"properties":{"apiType":{"type":"string","description":"The API type of the Cosmos DB Restorable Database Account.\n"},"creationTime":{"type":"string","description":"The creation time of the regional Cosmos DB Restorable Database Account.\n"},"deletionTime":{"type":"string","description":"The deletion time of the regional Cosmos DB Restorable Database Account.\n"},"id":{"type":"string","description":"The ID of the Cosmos DB Restorable Database Account.\n"},"restorableLocations":{"type":"array","items":{"$ref":"#/types/azure:cosmosdb/getRestorableDatabaseAccountsAccountRestorableLocation:getRestorableDatabaseAccountsAccountRestorableLocation"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`restorableLocations`\" pulumi-lang-dotnet=\"`RestorableLocations`\" pulumi-lang-go=\"`restorableLocations`\" pulumi-lang-python=\"`restorable_locations`\" pulumi-lang-yaml=\"`restorableLocations`\" pulumi-lang-java=\"`restorableLocations`\"\u003e`restorable_locations`\u003c/span\u003e blocks as defined below.\n"}},"type":"object","required":["apiType","creationTime","deletionTime","id","restorableLocations"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:cosmosdb/getRestorableDatabaseAccountsAccountRestorableLocation:getRestorableDatabaseAccountsAccountRestorableLocation":{"properties":{"creationTime":{"type":"string","description":"The creation time of the regional Cosmos DB Restorable Database Account.\n"},"deletionTime":{"type":"string","description":"The deletion time of the regional Cosmos DB Restorable Database Account.\n"},"location":{"type":"string","description":"The location where the Cosmos DB Database Account.\n"},"regionalDatabaseAccountInstanceId":{"type":"string","description":"The instance ID of the regional Cosmos DB Restorable Database Account.\n"}},"type":"object","required":["creationTime","deletionTime","location","regionalDatabaseAccountInstanceId"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:cosmosdb/getSqlDatabaseAutoscaleSetting:getSqlDatabaseAutoscaleSetting":{"properties":{"maxThroughput":{"type":"integer","description":"The maximum throughput of the SQL database (RU/s).\n"}},"type":"object","required":["maxThroughput"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:cosmosdb/getSqlRoleDefinitionPermission:getSqlRoleDefinitionPermission":{"properties":{"dataActions":{"type":"array","items":{"type":"string"},"description":"A list of data actions that are allowed for the Cosmos DB SQL Role Definition.\n"}},"type":"object","required":["dataActions"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:dashboard/GrafanaAzureMonitorWorkspaceIntegration:GrafanaAzureMonitorWorkspaceIntegration":{"properties":{"resourceId":{"type":"string","description":"Specifies the resource ID of the connected Azure Monitor Workspace.\n"}},"type":"object","required":["resourceId"]},"azure:dashboard/GrafanaIdentity:GrafanaIdentity":{"properties":{"identityIds":{"type":"array","items":{"type":"string"},"description":"Specifies the list of User Assigned Managed Service Identity IDs which should be assigned to this Dashboard Grafana. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"principalId":{"type":"string","description":"The Principal ID associated with this Managed Service Identity.\n"},"tenantId":{"type":"string","description":"The Tenant ID associated with this Managed Service Identity.\n"},"type":{"type":"string","description":"Specifies the type of Managed Service Identity. Possible values are `SystemAssigned`, `UserAssigned`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["type"],"language":{"nodejs":{"requiredOutputs":["principalId","tenantId","type"]}}},"azure:dashboard/GrafanaSmtp:GrafanaSmtp":{"properties":{"enabled":{"type":"boolean","description":"Whether to enable the smtp setting of the Grafana instance. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"fromAddress":{"type":"string","description":"Address used when sending emails.\n"},"fromName":{"type":"string","description":"Name used when sending emails. Defaults to `Azure Managed Grafana Notification`.\n"},"host":{"type":"string","description":"SMTP server hostname with port, e.g. test.email.net:587\n"},"password":{"type":"string","description":"Password of SMTP authentication.\n","secret":true},"startTlsPolicy":{"type":"string","description":"Whether to use TLS when connecting to SMTP server. Possible values are `OpportunisticStartTLS`, `NoStartTLS`, `MandatoryStartTLS`.\n"},"user":{"type":"string","description":"User of SMTP authentication.\n"},"verificationSkipEnabled":{"type":"boolean","description":"Whether verify SSL for SMTP server. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"}},"type":"object","required":["fromAddress","host","password","startTlsPolicy","user"]},"azure:dashboard/getGrafanaAzureMonitorWorkspaceIntegration:getGrafanaAzureMonitorWorkspaceIntegration":{"properties":{"resourceId":{"type":"string"}},"type":"object","required":["resourceId"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:dashboard/getGrafanaIdentity:getGrafanaIdentity":{"properties":{"identityIds":{"type":"array","items":{"type":"string"}},"principalId":{"type":"string"},"tenantId":{"type":"string"},"type":{"type":"string"}},"type":"object","required":["principalId","tenantId","type"],"language":{"nodejs":{"requiredInputs":["type"]}}},"azure:databoxedge/DeviceDeviceProperty:DeviceDeviceProperty":{"properties":{"capacity":{"type":"integer","description":"The Data Box Edge/Gateway device local capacity in MB.\n"},"configuredRoleTypes":{"type":"array","items":{"type":"string"},"description":"Type of compute roles configured.\n"},"culture":{"type":"string","description":"The Data Box Edge/Gateway device culture.\n"},"hcsVersion":{"type":"string","description":"The device software version number of the device (e.g. 1.2.18105.6).\n"},"model":{"type":"string","description":"The Data Box Edge/Gateway device model.\n"},"nodeCount":{"type":"integer","description":"The number of nodes in the cluster.\n"},"serialNumber":{"type":"string","description":"The Serial Number of Data Box Edge/Gateway device.\n"},"softwareVersion":{"type":"string","description":"The Data Box Edge/Gateway device software version.\n"},"status":{"type":"string","description":"The status of the Data Box Edge/Gateway device.\n"},"timeZone":{"type":"string","description":"The Data Box Edge/Gateway device timezone.\n"},"type":{"type":"string","description":"The type of the Data Box Edge/Gateway device.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["capacity","configuredRoleTypes","culture","hcsVersion","model","nodeCount","serialNumber","softwareVersion","status","timeZone","type"]}}},"azure:databoxedge/getDeviceDeviceProperty:getDeviceDeviceProperty":{"properties":{"capacity":{"type":"integer","description":"The Data Box Edge/Gateway device local capacity in MB.\n"},"configuredRoleTypes":{"type":"array","items":{"type":"string"},"description":"Type of compute roles configured.\n"},"culture":{"type":"string","description":"The Data Box Edge/Gateway device culture.\n"},"hcsVersion":{"type":"string","description":"The device software version number of the device (e.g. 1.2.18105.6).\n"},"model":{"type":"string","description":"The Data Box Edge/Gateway device model.\n"},"nodeCount":{"type":"integer","description":"The number of nodes in the cluster.\n"},"serialNumber":{"type":"string","description":"The Serial Number of Data Box Edge/Gateway device.\n"},"softwareVersion":{"type":"string","description":"The Data Box Edge/Gateway device software version.\n"},"status":{"type":"string","description":"The status of the Data Box Edge/Gateway device.\n"},"timeZone":{"type":"string","description":"The Data Box Edge/Gateway device timezone.\n"},"type":{"type":"string","description":"The type of the Data Box Edge/Gateway device.\n"}},"type":"object","required":["capacity","configuredRoleTypes","culture","hcsVersion","model","nodeCount","serialNumber","softwareVersion","status","timeZone","type"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:databricks/AccessConnectorIdentity:AccessConnectorIdentity":{"properties":{"identityIds":{"type":"array","items":{"type":"string"},"description":"Specifies a list of User Assigned Managed Identity IDs to be assigned to the Databricks Access Connector. Only one User Assigned Managed Identity ID is supported per Databricks Access Connector resource.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`identityIds`\" pulumi-lang-dotnet=\"`IdentityIds`\" pulumi-lang-go=\"`identityIds`\" pulumi-lang-python=\"`identity_ids`\" pulumi-lang-yaml=\"`identityIds`\" pulumi-lang-java=\"`identityIds`\"\u003e`identity_ids`\u003c/span\u003e are required when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to `UserAssigned`.\n"},"principalId":{"type":"string","description":"The Principal ID of the System Assigned Managed Service Identity that is configured on this Access Connector.\n"},"tenantId":{"type":"string","description":"The Tenant ID of the System Assigned Managed Service Identity that is configured on this Access Connector.\n"},"type":{"type":"string","description":"Specifies the type of Managed Service Identity that should be configured on the Databricks Access Connector. Possible values are `SystemAssigned`, `UserAssigned`, `SystemAssigned, UserAssigned`.\n"}},"type":"object","required":["type"],"language":{"nodejs":{"requiredOutputs":["principalId","tenantId","type"]}}},"azure:databricks/WorkspaceCustomParameters:WorkspaceCustomParameters":{"properties":{"machineLearningWorkspaceId":{"type":"string","description":"The ID of a Azure Machine Learning workspace to link with Databricks workspace. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"natGatewayName":{"type":"string","description":"Name of the NAT gateway for Secure Cluster Connectivity (No Public IP) workspace subnets (only for workspace with managed virtual network). Defaults to `nat-gateway`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"noPublicIp":{"type":"boolean","description":"Are public IP Addresses not allowed? Possible values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n\n\u003e **Note:** Updating \u003cspan pulumi-lang-nodejs=\"`noPublicIp`\" pulumi-lang-dotnet=\"`NoPublicIp`\" pulumi-lang-go=\"`noPublicIp`\" pulumi-lang-python=\"`no_public_ip`\" pulumi-lang-yaml=\"`noPublicIp`\" pulumi-lang-java=\"`noPublicIp`\"\u003e`no_public_ip`\u003c/span\u003e parameter is only allowed if the value is changing from \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e and only for VNet-injected workspaces.\n\n\u003e **Note:** In `v3.104.0` and higher of the provider the \u003cspan pulumi-lang-nodejs=\"`noPublicIp`\" pulumi-lang-dotnet=\"`NoPublicIp`\" pulumi-lang-go=\"`noPublicIp`\" pulumi-lang-python=\"`no_public_ip`\" pulumi-lang-yaml=\"`noPublicIp`\" pulumi-lang-java=\"`noPublicIp`\"\u003e`no_public_ip`\u003c/span\u003e parameter will now default to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e instead of \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"privateSubnetName":{"type":"string","description":"The name of the Private Subnet within the Virtual Network. Required if \u003cspan pulumi-lang-nodejs=\"`virtualNetworkId`\" pulumi-lang-dotnet=\"`VirtualNetworkId`\" pulumi-lang-go=\"`virtualNetworkId`\" pulumi-lang-python=\"`virtual_network_id`\" pulumi-lang-yaml=\"`virtualNetworkId`\" pulumi-lang-java=\"`virtualNetworkId`\"\u003e`virtual_network_id`\u003c/span\u003e is set. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"privateSubnetNetworkSecurityGroupAssociationId":{"type":"string","description":"The resource ID of the \u003cspan pulumi-lang-nodejs=\"`azure.network.SubnetNetworkSecurityGroupAssociation`\" pulumi-lang-dotnet=\"`azure.network.SubnetNetworkSecurityGroupAssociation`\" pulumi-lang-go=\"`network.SubnetNetworkSecurityGroupAssociation`\" pulumi-lang-python=\"`network.SubnetNetworkSecurityGroupAssociation`\" pulumi-lang-yaml=\"`azure.network.SubnetNetworkSecurityGroupAssociation`\" pulumi-lang-java=\"`azure.network.SubnetNetworkSecurityGroupAssociation`\"\u003e`azure.network.SubnetNetworkSecurityGroupAssociation`\u003c/span\u003e resource which is referred to by the \u003cspan pulumi-lang-nodejs=\"`privateSubnetName`\" pulumi-lang-dotnet=\"`PrivateSubnetName`\" pulumi-lang-go=\"`privateSubnetName`\" pulumi-lang-python=\"`private_subnet_name`\" pulumi-lang-yaml=\"`privateSubnetName`\" pulumi-lang-java=\"`privateSubnetName`\"\u003e`private_subnet_name`\u003c/span\u003e field. This is the same as the ID of the subnet referred to by the \u003cspan pulumi-lang-nodejs=\"`privateSubnetName`\" pulumi-lang-dotnet=\"`PrivateSubnetName`\" pulumi-lang-go=\"`privateSubnetName`\" pulumi-lang-python=\"`private_subnet_name`\" pulumi-lang-yaml=\"`privateSubnetName`\" pulumi-lang-java=\"`privateSubnetName`\"\u003e`private_subnet_name`\u003c/span\u003e field. Required if \u003cspan pulumi-lang-nodejs=\"`virtualNetworkId`\" pulumi-lang-dotnet=\"`VirtualNetworkId`\" pulumi-lang-go=\"`virtualNetworkId`\" pulumi-lang-python=\"`virtual_network_id`\" pulumi-lang-yaml=\"`virtualNetworkId`\" pulumi-lang-java=\"`virtualNetworkId`\"\u003e`virtual_network_id`\u003c/span\u003e is set.\n"},"publicIpName":{"type":"string","description":"Name of the Public IP for No Public IP workspace with managed virtual network. Defaults to `nat-gw-public-ip`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"publicSubnetName":{"type":"string","description":"The name of the Public Subnet within the Virtual Network. Required if \u003cspan pulumi-lang-nodejs=\"`virtualNetworkId`\" pulumi-lang-dotnet=\"`VirtualNetworkId`\" pulumi-lang-go=\"`virtualNetworkId`\" pulumi-lang-python=\"`virtual_network_id`\" pulumi-lang-yaml=\"`virtualNetworkId`\" pulumi-lang-java=\"`virtualNetworkId`\"\u003e`virtual_network_id`\u003c/span\u003e is set. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"publicSubnetNetworkSecurityGroupAssociationId":{"type":"string","description":"The resource ID of the \u003cspan pulumi-lang-nodejs=\"`azure.network.SubnetNetworkSecurityGroupAssociation`\" pulumi-lang-dotnet=\"`azure.network.SubnetNetworkSecurityGroupAssociation`\" pulumi-lang-go=\"`network.SubnetNetworkSecurityGroupAssociation`\" pulumi-lang-python=\"`network.SubnetNetworkSecurityGroupAssociation`\" pulumi-lang-yaml=\"`azure.network.SubnetNetworkSecurityGroupAssociation`\" pulumi-lang-java=\"`azure.network.SubnetNetworkSecurityGroupAssociation`\"\u003e`azure.network.SubnetNetworkSecurityGroupAssociation`\u003c/span\u003e resource which is referred to by the \u003cspan pulumi-lang-nodejs=\"`publicSubnetName`\" pulumi-lang-dotnet=\"`PublicSubnetName`\" pulumi-lang-go=\"`publicSubnetName`\" pulumi-lang-python=\"`public_subnet_name`\" pulumi-lang-yaml=\"`publicSubnetName`\" pulumi-lang-java=\"`publicSubnetName`\"\u003e`public_subnet_name`\u003c/span\u003e field. This is the same as the ID of the subnet referred to by the \u003cspan pulumi-lang-nodejs=\"`publicSubnetName`\" pulumi-lang-dotnet=\"`PublicSubnetName`\" pulumi-lang-go=\"`publicSubnetName`\" pulumi-lang-python=\"`public_subnet_name`\" pulumi-lang-yaml=\"`publicSubnetName`\" pulumi-lang-java=\"`publicSubnetName`\"\u003e`public_subnet_name`\u003c/span\u003e field. Required if \u003cspan pulumi-lang-nodejs=\"`virtualNetworkId`\" pulumi-lang-dotnet=\"`VirtualNetworkId`\" pulumi-lang-go=\"`virtualNetworkId`\" pulumi-lang-python=\"`virtual_network_id`\" pulumi-lang-yaml=\"`virtualNetworkId`\" pulumi-lang-java=\"`virtualNetworkId`\"\u003e`virtual_network_id`\u003c/span\u003e is set.\n"},"storageAccountName":{"type":"string","description":"Default Databricks File Storage account name. Defaults to a randomized name(e.g. \u003cspan pulumi-lang-nodejs=\"`dbstoragel6mfeghoe5kxu`\" pulumi-lang-dotnet=\"`Dbstoragel6mfeghoe5kxu`\" pulumi-lang-go=\"`dbstoragel6mfeghoe5kxu`\" pulumi-lang-python=\"`dbstoragel6mfeghoe5kxu`\" pulumi-lang-yaml=\"`dbstoragel6mfeghoe5kxu`\" pulumi-lang-java=\"`dbstoragel6mfeghoe5kxu`\"\u003e`dbstoragel6mfeghoe5kxu`\u003c/span\u003e). Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"storageAccountSkuName":{"type":"string","description":"Storage account SKU name. Possible values include `Standard_LRS`, `Standard_GRS`, `Standard_RAGRS`, `Standard_GZRS`, `Standard_RAGZRS`, `Standard_ZRS`, `Premium_LRS` or `Premium_ZRS`. Defaults to `Standard_GRS`.\n"},"virtualNetworkId":{"type":"string","description":"The ID of a Virtual Network where this Databricks Cluster should be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"vnetAddressPrefix":{"type":"string","description":"Address prefix for Managed virtual network. Defaults to `10.139`. Changing this forces a new resource to be created.\n\n\u003e **Note:** Databricks requires that a network security group is associated with the \u003cspan pulumi-lang-nodejs=\"`public`\" pulumi-lang-dotnet=\"`Public`\" pulumi-lang-go=\"`public`\" pulumi-lang-python=\"`public`\" pulumi-lang-yaml=\"`public`\" pulumi-lang-java=\"`public`\"\u003e`public`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`private`\" pulumi-lang-dotnet=\"`Private`\" pulumi-lang-go=\"`private`\" pulumi-lang-python=\"`private`\" pulumi-lang-yaml=\"`private`\" pulumi-lang-java=\"`private`\"\u003e`private`\u003c/span\u003e subnets when a \u003cspan pulumi-lang-nodejs=\"`virtualNetworkId`\" pulumi-lang-dotnet=\"`VirtualNetworkId`\" pulumi-lang-go=\"`virtualNetworkId`\" pulumi-lang-python=\"`virtual_network_id`\" pulumi-lang-yaml=\"`virtualNetworkId`\" pulumi-lang-java=\"`virtualNetworkId`\"\u003e`virtual_network_id`\u003c/span\u003e has been defined. Both \u003cspan pulumi-lang-nodejs=\"`public`\" pulumi-lang-dotnet=\"`Public`\" pulumi-lang-go=\"`public`\" pulumi-lang-python=\"`public`\" pulumi-lang-yaml=\"`public`\" pulumi-lang-java=\"`public`\"\u003e`public`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`private`\" pulumi-lang-dotnet=\"`Private`\" pulumi-lang-go=\"`private`\" pulumi-lang-python=\"`private`\" pulumi-lang-yaml=\"`private`\" pulumi-lang-java=\"`private`\"\u003e`private`\u003c/span\u003e subnets must be delegated to `Microsoft.Databricks/workspaces`. For more information about subnet delegation see the [product documentation](https://docs.microsoft.com/azure/virtual-network/subnet-delegation-overview).\n","willReplaceOnChanges":true}},"type":"object","language":{"nodejs":{"requiredOutputs":["natGatewayName","publicIpName","storageAccountName","storageAccountSkuName","vnetAddressPrefix"]}}},"azure:databricks/WorkspaceEnhancedSecurityCompliance:WorkspaceEnhancedSecurityCompliance":{"properties":{"automaticClusterUpdateEnabled":{"type":"boolean","description":"Enables automatic cluster updates for this workspace. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"complianceSecurityProfileEnabled":{"type":"boolean","description":"Enables compliance security profile for this workspace. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** Changing the value of \u003cspan pulumi-lang-nodejs=\"`complianceSecurityProfileEnabled`\" pulumi-lang-dotnet=\"`ComplianceSecurityProfileEnabled`\" pulumi-lang-go=\"`complianceSecurityProfileEnabled`\" pulumi-lang-python=\"`compliance_security_profile_enabled`\" pulumi-lang-yaml=\"`complianceSecurityProfileEnabled`\" pulumi-lang-java=\"`complianceSecurityProfileEnabled`\"\u003e`compliance_security_profile_enabled`\u003c/span\u003e from \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e forces a replacement of the Databricks workspace.\n\n\u003e **Note:** The attributes \u003cspan pulumi-lang-nodejs=\"`automaticClusterUpdateEnabled`\" pulumi-lang-dotnet=\"`AutomaticClusterUpdateEnabled`\" pulumi-lang-go=\"`automaticClusterUpdateEnabled`\" pulumi-lang-python=\"`automatic_cluster_update_enabled`\" pulumi-lang-yaml=\"`automaticClusterUpdateEnabled`\" pulumi-lang-java=\"`automaticClusterUpdateEnabled`\"\u003e`automatic_cluster_update_enabled`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`enhancedSecurityMonitoringEnabled`\" pulumi-lang-dotnet=\"`EnhancedSecurityMonitoringEnabled`\" pulumi-lang-go=\"`enhancedSecurityMonitoringEnabled`\" pulumi-lang-python=\"`enhanced_security_monitoring_enabled`\" pulumi-lang-yaml=\"`enhancedSecurityMonitoringEnabled`\" pulumi-lang-java=\"`enhancedSecurityMonitoringEnabled`\"\u003e`enhanced_security_monitoring_enabled`\u003c/span\u003e must be set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e in order to set \u003cspan pulumi-lang-nodejs=\"`complianceSecurityProfileEnabled`\" pulumi-lang-dotnet=\"`ComplianceSecurityProfileEnabled`\" pulumi-lang-go=\"`complianceSecurityProfileEnabled`\" pulumi-lang-python=\"`compliance_security_profile_enabled`\" pulumi-lang-yaml=\"`complianceSecurityProfileEnabled`\" pulumi-lang-java=\"`complianceSecurityProfileEnabled`\"\u003e`compliance_security_profile_enabled`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"complianceSecurityProfileStandards":{"type":"array","items":{"type":"string"},"description":"A list of standards to enforce on this workspace. Possible values include `HIPAA` and `PCI_DSS`.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`complianceSecurityProfileEnabled`\" pulumi-lang-dotnet=\"`ComplianceSecurityProfileEnabled`\" pulumi-lang-go=\"`complianceSecurityProfileEnabled`\" pulumi-lang-python=\"`compliance_security_profile_enabled`\" pulumi-lang-yaml=\"`complianceSecurityProfileEnabled`\" pulumi-lang-java=\"`complianceSecurityProfileEnabled`\"\u003e`compliance_security_profile_enabled`\u003c/span\u003e must be set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e in order to use \u003cspan pulumi-lang-nodejs=\"`complianceSecurityProfileStandards`\" pulumi-lang-dotnet=\"`ComplianceSecurityProfileStandards`\" pulumi-lang-go=\"`complianceSecurityProfileStandards`\" pulumi-lang-python=\"`compliance_security_profile_standards`\" pulumi-lang-yaml=\"`complianceSecurityProfileStandards`\" pulumi-lang-java=\"`complianceSecurityProfileStandards`\"\u003e`compliance_security_profile_standards`\u003c/span\u003e.\n\n\u003e **Note:** Removing a standard from the \u003cspan pulumi-lang-nodejs=\"`complianceSecurityProfileStandards`\" pulumi-lang-dotnet=\"`ComplianceSecurityProfileStandards`\" pulumi-lang-go=\"`complianceSecurityProfileStandards`\" pulumi-lang-python=\"`compliance_security_profile_standards`\" pulumi-lang-yaml=\"`complianceSecurityProfileStandards`\" pulumi-lang-java=\"`complianceSecurityProfileStandards`\"\u003e`compliance_security_profile_standards`\u003c/span\u003e list forces a replacement of the Databricks workspace.\n"},"enhancedSecurityMonitoringEnabled":{"type":"boolean","description":"Enables enhanced security monitoring for this workspace. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"}},"type":"object"},"azure:databricks/WorkspaceManagedDiskIdentity:WorkspaceManagedDiskIdentity":{"properties":{"principalId":{"type":"string","description":"The principal UUID for the internal databricks storage account needed to provide access to the workspace for enabling Customer Managed Keys.\n","secret":true},"tenantId":{"type":"string","description":"The UUID of the tenant where the internal databricks storage account was created.\n","secret":true},"type":{"type":"string","description":"The type of the internal databricks storage account.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["principalId","tenantId","type"]}}},"azure:databricks/WorkspaceStorageAccountIdentity:WorkspaceStorageAccountIdentity":{"properties":{"principalId":{"type":"string","description":"The principal UUID for the internal databricks storage account needed to provide access to the workspace for enabling Customer Managed Keys.\n","secret":true},"tenantId":{"type":"string","description":"The UUID of the tenant where the internal databricks storage account was created.\n","secret":true},"type":{"type":"string","description":"The type of the internal databricks storage account.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["principalId","tenantId","type"]}}},"azure:databricks/getAccessConnectorIdentity:getAccessConnectorIdentity":{"properties":{"identityIds":{"type":"array","items":{"type":"string"},"description":"The list of User Assigned Managed Identity IDs assigned to this Access Connector.\n"},"principalId":{"type":"string","description":"The Principal ID of the System Assigned Managed Service Identity that is configured on this Access Connector.\n"},"tenantId":{"type":"string","description":"The Tenant ID of the System Assigned Managed Service Identity that is configured on this Access Connector.\n"},"type":{"type":"string","description":"The type of Managed Service Identity that is configured on this Access Connector.\n"}},"type":"object","required":["identityIds","principalId","tenantId","type"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:databricks/getWorkspaceCustomParameter:getWorkspaceCustomParameter":{"properties":{"machineLearningWorkspaceId":{"type":"string","description":"The ID of a Azure Machine Learning workspace to link with Databricks workspace.\n"},"natGatewayName":{"type":"string","description":"Name of the NAT gateway for Secure Cluster Connectivity (No Public IP) workspace subnets (only for workspace with managed virtual network).\n"},"noPublicIp":{"type":"boolean","description":"Are public IP Addresses not allowed?\n"},"privateSubnetName":{"type":"string","description":"The name of the Private Subnet within the Virtual Network.\n"},"publicIpName":{"type":"string","description":"Name of the Public IP for No Public IP workspace with managed virtual network.\n"},"publicSubnetName":{"type":"string","description":"The name of the Public Subnet within the Virtual Network.\n"},"storageAccountName":{"type":"string","description":"Default Databricks File Storage account name.\n"},"storageAccountSkuName":{"type":"string","description":"Storage account SKU name.\n"},"virtualNetworkId":{"type":"string","description":"The ID of a Virtual Network where this Databricks Cluster should be created.\n"},"vnetAddressPrefix":{"type":"string","description":"Address prefix for Managed virtual network.\n"}},"type":"object","required":["machineLearningWorkspaceId","natGatewayName","noPublicIp","privateSubnetName","publicIpName","publicSubnetName","storageAccountName","storageAccountSkuName","virtualNetworkId","vnetAddressPrefix"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:databricks/getWorkspaceEnhancedSecurityCompliance:getWorkspaceEnhancedSecurityCompliance":{"properties":{"automaticClusterUpdateEnabled":{"type":"boolean","description":"Whether automatic cluster updates for this workspace is enabled.\n"},"complianceSecurityProfileEnabled":{"type":"boolean","description":"Whether compliance security profile for this workspace is enabled.\n"},"complianceSecurityProfileStandards":{"type":"array","items":{"type":"string"},"description":"A list of standards enforced on this workspace.\n"},"enhancedSecurityMonitoringEnabled":{"type":"boolean","description":"Whether enhanced security monitoring for this workspace is enabled.\n"}},"type":"object","required":["automaticClusterUpdateEnabled","complianceSecurityProfileEnabled","complianceSecurityProfileStandards","enhancedSecurityMonitoringEnabled"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:databricks/getWorkspaceManagedDiskIdentity:getWorkspaceManagedDiskIdentity":{"properties":{"principalId":{"type":"string","description":"The principal UUID for the internal databricks storage account needed to provide access to the workspace for enabling Customer Managed Keys.\n","secret":true},"tenantId":{"type":"string","description":"The UUID of the tenant where the internal databricks storage account was created.\n","secret":true},"type":{"type":"string","description":"The type of the internal databricks storage account.\n"}},"type":"object","required":["principalId","tenantId","type"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:databricks/getWorkspacePrivateEndpointConnectionConnection:getWorkspacePrivateEndpointConnectionConnection":{"properties":{"actionRequired":{"type":"string","description":"Actions required for a private endpoint connection.\n"},"description":{"type":"string","description":"The description for the current state of a private endpoint connection.\n"},"name":{"type":"string","description":"The name of the Databricks Workspace.\n"},"status":{"type":"string","description":"The status of a private endpoint connection. Possible values are `Pending`, `Approved`, `Rejected` or `Disconnected`.\n"},"workspacePrivateEndpointId":{"type":"string","description":"The Databricks Workspace resource ID for the private link endpoint.\n"}},"type":"object","required":["actionRequired","description","name","status","workspacePrivateEndpointId"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:databricks/getWorkspaceStorageAccountIdentity:getWorkspaceStorageAccountIdentity":{"properties":{"principalId":{"type":"string","description":"The principal UUID for the internal databricks storage account needed to provide access to the workspace for enabling Customer Managed Keys.\n","secret":true},"tenantId":{"type":"string","description":"The UUID of the tenant where the internal databricks storage account was created.\n","secret":true},"type":{"type":"string","description":"The type of the internal databricks storage account.\n"}},"type":"object","required":["principalId","tenantId","type"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:datadog/MonitorDatadogOrganization:MonitorDatadogOrganization":{"properties":{"apiKey":{"type":"string","description":"Api key associated to the Datadog organization. Changing this forces a new Datadog Monitor to be created.\n","secret":true,"willReplaceOnChanges":true},"applicationKey":{"type":"string","description":"Application key associated to the Datadog organization. Changing this forces a new Datadog Monitor to be created.\n","secret":true,"willReplaceOnChanges":true},"enterpriseAppId":{"type":"string","description":"The ID of the enterprise_app. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"id":{"type":"string","description":"The ID of the Datadog Monitor.\n"},"linkingAuthCode":{"type":"string","description":"The auth code used to linking to an existing Datadog organization. Changing this forces a new Datadog Monitor to be created.\n","secret":true,"willReplaceOnChanges":true},"linkingClientId":{"type":"string","description":"The ID of the linking_client. Changing this forces a new Datadog Monitor to be created.\n","secret":true,"willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the user that will be associated with the Datadog Monitor. Changing this forces a new Datadog Monitor to be created.\n"},"redirectUri":{"type":"string","description":"The redirect uri for linking. Changing this forces a new Datadog Monitor to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["apiKey","applicationKey"],"language":{"nodejs":{"requiredOutputs":["apiKey","applicationKey","id","name"]}}},"azure:datadog/MonitorIdentity:MonitorIdentity":{"properties":{"principalId":{"type":"string","description":"The Principal ID for the Service Principal associated with the Identity of this Datadog Monitor.\n"},"tenantId":{"type":"string","description":"The Tenant ID for the Service Principal associated with the Identity of this Datadog Monitor.\n"},"type":{"type":"string","description":"Specifies the identity type of the Datadog Monitor. At this time the only allowed value is `SystemAssigned`.\n\n\u003e **Note:** The assigned \u003cspan pulumi-lang-nodejs=\"`principalId`\" pulumi-lang-dotnet=\"`PrincipalId`\" pulumi-lang-go=\"`principalId`\" pulumi-lang-python=\"`principal_id`\" pulumi-lang-yaml=\"`principalId`\" pulumi-lang-java=\"`principalId`\"\u003e`principal_id`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`tenantId`\" pulumi-lang-dotnet=\"`TenantId`\" pulumi-lang-go=\"`tenantId`\" pulumi-lang-python=\"`tenant_id`\" pulumi-lang-yaml=\"`tenantId`\" pulumi-lang-java=\"`tenantId`\"\u003e`tenant_id`\u003c/span\u003e can be retrieved after the identity \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e has been set to `SystemAssigned` and the Datadog Monitor has been created. More details are available below.\n"}},"type":"object","required":["type"],"language":{"nodejs":{"requiredOutputs":["principalId","tenantId","type"]}}},"azure:datadog/MonitorTagRuleLog:MonitorTagRuleLog":{"properties":{"aadLogEnabled":{"type":"boolean","description":"Whether AAD logs should be sent for the Monitor resource?\n"},"filters":{"type":"array","items":{"$ref":"#/types/azure:datadog/MonitorTagRuleLogFilter:MonitorTagRuleLogFilter"},"description":"A \u003cspan pulumi-lang-nodejs=\"`filter`\" pulumi-lang-dotnet=\"`Filter`\" pulumi-lang-go=\"`filter`\" pulumi-lang-python=\"`filter`\" pulumi-lang-yaml=\"`filter`\" pulumi-lang-java=\"`filter`\"\u003e`filter`\u003c/span\u003e block as defined below.\n\n\u003e **Note:** List of filtering tags to be used for capturing logs. This only takes effect if \u003cspan pulumi-lang-nodejs=\"`resourceLogEnabled`\" pulumi-lang-dotnet=\"`ResourceLogEnabled`\" pulumi-lang-go=\"`resourceLogEnabled`\" pulumi-lang-python=\"`resource_log_enabled`\" pulumi-lang-yaml=\"`resourceLogEnabled`\" pulumi-lang-java=\"`resourceLogEnabled`\"\u003e`resource_log_enabled`\u003c/span\u003e flag is enabled. If empty, all resources will be captured. If only Exclude action is specified, the rules will apply to the list of all available resources. If Include actions are specified, the rules will only include resources with the associated tags.\n"},"resourceLogEnabled":{"type":"boolean","description":"Whether Azure resource logs should be sent for the Monitor resource?\n"},"subscriptionLogEnabled":{"type":"boolean","description":"Whether Azure subscription logs should be sent for the Monitor resource?\n"}},"type":"object"},"azure:datadog/MonitorTagRuleLogFilter:MonitorTagRuleLogFilter":{"properties":{"action":{"type":"string","description":"Allowed values Include or Exclude.\n"},"name":{"type":"string","description":"Name of the Tag.\n"},"value":{"type":"string","description":"Value of the Tag.\n"}},"type":"object","required":["action","name","value"]},"azure:datadog/MonitorTagRuleMetric:MonitorTagRuleMetric":{"properties":{"filters":{"type":"array","items":{"$ref":"#/types/azure:datadog/MonitorTagRuleMetricFilter:MonitorTagRuleMetricFilter"},"description":"A \u003cspan pulumi-lang-nodejs=\"`filter`\" pulumi-lang-dotnet=\"`Filter`\" pulumi-lang-go=\"`filter`\" pulumi-lang-python=\"`filter`\" pulumi-lang-yaml=\"`filter`\" pulumi-lang-java=\"`filter`\"\u003e`filter`\u003c/span\u003e block as defined below.\n\n\u003e **Note:** List of filtering tags to be used for capturing metrics. If empty, all resources will be captured. If only Exclude action is specified, the rules will apply to the list of all available resources. If Include actions are specified, the rules will only include resources with the associated tags.\n"}},"type":"object"},"azure:datadog/MonitorTagRuleMetricFilter:MonitorTagRuleMetricFilter":{"properties":{"action":{"type":"string","description":"Allowed values Include or Exclude.\n"},"name":{"type":"string","description":"Name of the Tag.\n"},"value":{"type":"string","description":"Value of the Tag.\n"}},"type":"object","required":["action","name","value"]},"azure:datadog/MonitorUser:MonitorUser":{"properties":{"email":{"type":"string","description":"Email of the user used by Datadog for contacting them if needed. Changing this forces a new Datadog Monitor to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this user_info. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"phoneNumber":{"type":"string","description":"Phone number of the user used by Datadog for contacting them if needed. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["email","name"]},"azure:datafactory/CredentialServicePrincipalServicePrincipalKey:CredentialServicePrincipalServicePrincipalKey":{"properties":{"linkedServiceName":{"type":"string","description":"The name of the Linked Service to use for the Service Principal Key.\n"},"secretName":{"type":"string","description":"The name of the Secret in the Key Vault.\n"},"secretVersion":{"type":"string","description":"The version of the Secret in the Key Vault.\n"}},"type":"object","required":["linkedServiceName","secretName"]},"azure:datafactory/CustomDatasetLinkedService:CustomDatasetLinkedService":{"properties":{"name":{"type":"string","description":"The name of the Data Factory Linked Service.\n"},"parameters":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of parameters to associate with the Data Factory Linked Service.\n"}},"type":"object","required":["name"]},"azure:datafactory/DataFlowSink:DataFlowSink":{"properties":{"dataset":{"$ref":"#/types/azure:datafactory/DataFlowSinkDataset:DataFlowSinkDataset","description":"A \u003cspan pulumi-lang-nodejs=\"`dataset`\" pulumi-lang-dotnet=\"`Dataset`\" pulumi-lang-go=\"`dataset`\" pulumi-lang-python=\"`dataset`\" pulumi-lang-yaml=\"`dataset`\" pulumi-lang-java=\"`dataset`\"\u003e`dataset`\u003c/span\u003e block as defined below.\n"},"description":{"type":"string","description":"The description for the Data Flow Source.\n"},"flowlet":{"$ref":"#/types/azure:datafactory/DataFlowSinkFlowlet:DataFlowSinkFlowlet","description":"A \u003cspan pulumi-lang-nodejs=\"`flowlet`\" pulumi-lang-dotnet=\"`Flowlet`\" pulumi-lang-go=\"`flowlet`\" pulumi-lang-python=\"`flowlet`\" pulumi-lang-yaml=\"`flowlet`\" pulumi-lang-java=\"`flowlet`\"\u003e`flowlet`\u003c/span\u003e block as defined below.\n"},"linkedService":{"$ref":"#/types/azure:datafactory/DataFlowSinkLinkedService:DataFlowSinkLinkedService","description":"A \u003cspan pulumi-lang-nodejs=\"`linkedService`\" pulumi-lang-dotnet=\"`LinkedService`\" pulumi-lang-go=\"`linkedService`\" pulumi-lang-python=\"`linked_service`\" pulumi-lang-yaml=\"`linkedService`\" pulumi-lang-java=\"`linkedService`\"\u003e`linked_service`\u003c/span\u003e block as defined below.\n"},"name":{"type":"string","description":"The name for the Data Flow Source.\n"},"rejectedLinkedService":{"$ref":"#/types/azure:datafactory/DataFlowSinkRejectedLinkedService:DataFlowSinkRejectedLinkedService","description":"A \u003cspan pulumi-lang-nodejs=\"`rejectedLinkedService`\" pulumi-lang-dotnet=\"`RejectedLinkedService`\" pulumi-lang-go=\"`rejectedLinkedService`\" pulumi-lang-python=\"`rejected_linked_service`\" pulumi-lang-yaml=\"`rejectedLinkedService`\" pulumi-lang-java=\"`rejectedLinkedService`\"\u003e`rejected_linked_service`\u003c/span\u003e block as defined below.\n"},"schemaLinkedService":{"$ref":"#/types/azure:datafactory/DataFlowSinkSchemaLinkedService:DataFlowSinkSchemaLinkedService","description":"A \u003cspan pulumi-lang-nodejs=\"`schemaLinkedService`\" pulumi-lang-dotnet=\"`SchemaLinkedService`\" pulumi-lang-go=\"`schemaLinkedService`\" pulumi-lang-python=\"`schema_linked_service`\" pulumi-lang-yaml=\"`schemaLinkedService`\" pulumi-lang-java=\"`schemaLinkedService`\"\u003e`schema_linked_service`\u003c/span\u003e block as defined below.\n"}},"type":"object","required":["name"]},"azure:datafactory/DataFlowSinkDataset:DataFlowSinkDataset":{"properties":{"name":{"type":"string","description":"The name for the Data Factory Dataset.\n"},"parameters":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of parameters to associate with the Data Factory dataset.\n"}},"type":"object","required":["name"]},"azure:datafactory/DataFlowSinkFlowlet:DataFlowSinkFlowlet":{"properties":{"datasetParameters":{"type":"string","description":"Specifies the reference data flow parameters from dataset.\n"},"name":{"type":"string","description":"The name for the Data Factory Flowlet.\n"},"parameters":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of parameters to associate with the Data Factory Flowlet.\n"}},"type":"object","required":["name"]},"azure:datafactory/DataFlowSinkLinkedService:DataFlowSinkLinkedService":{"properties":{"name":{"type":"string","description":"The name for the Data Factory Linked Service.\n"},"parameters":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of parameters to associate with the Data Factory Linked Service.\n"}},"type":"object","required":["name"]},"azure:datafactory/DataFlowSinkRejectedLinkedService:DataFlowSinkRejectedLinkedService":{"properties":{"name":{"type":"string","description":"The name for the Data Factory Linked Service with schema.\n"},"parameters":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of parameters to associate with the Data Factory Linked Service.\n"}},"type":"object","required":["name"]},"azure:datafactory/DataFlowSinkSchemaLinkedService:DataFlowSinkSchemaLinkedService":{"properties":{"name":{"type":"string","description":"The name for the Data Factory Linked Service with schema.\n"},"parameters":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of parameters to associate with the Data Factory Linked Service.\n"}},"type":"object","required":["name"]},"azure:datafactory/DataFlowSource:DataFlowSource":{"properties":{"dataset":{"$ref":"#/types/azure:datafactory/DataFlowSourceDataset:DataFlowSourceDataset","description":"A \u003cspan pulumi-lang-nodejs=\"`dataset`\" pulumi-lang-dotnet=\"`Dataset`\" pulumi-lang-go=\"`dataset`\" pulumi-lang-python=\"`dataset`\" pulumi-lang-yaml=\"`dataset`\" pulumi-lang-java=\"`dataset`\"\u003e`dataset`\u003c/span\u003e block as defined below.\n"},"description":{"type":"string","description":"The description for the Data Flow Source.\n"},"flowlet":{"$ref":"#/types/azure:datafactory/DataFlowSourceFlowlet:DataFlowSourceFlowlet","description":"A \u003cspan pulumi-lang-nodejs=\"`flowlet`\" pulumi-lang-dotnet=\"`Flowlet`\" pulumi-lang-go=\"`flowlet`\" pulumi-lang-python=\"`flowlet`\" pulumi-lang-yaml=\"`flowlet`\" pulumi-lang-java=\"`flowlet`\"\u003e`flowlet`\u003c/span\u003e block as defined below.\n"},"linkedService":{"$ref":"#/types/azure:datafactory/DataFlowSourceLinkedService:DataFlowSourceLinkedService","description":"A \u003cspan pulumi-lang-nodejs=\"`linkedService`\" pulumi-lang-dotnet=\"`LinkedService`\" pulumi-lang-go=\"`linkedService`\" pulumi-lang-python=\"`linked_service`\" pulumi-lang-yaml=\"`linkedService`\" pulumi-lang-java=\"`linkedService`\"\u003e`linked_service`\u003c/span\u003e block as defined below.\n"},"name":{"type":"string","description":"The name for the Data Flow Source.\n"},"rejectedLinkedService":{"$ref":"#/types/azure:datafactory/DataFlowSourceRejectedLinkedService:DataFlowSourceRejectedLinkedService","description":"A \u003cspan pulumi-lang-nodejs=\"`rejectedLinkedService`\" pulumi-lang-dotnet=\"`RejectedLinkedService`\" pulumi-lang-go=\"`rejectedLinkedService`\" pulumi-lang-python=\"`rejected_linked_service`\" pulumi-lang-yaml=\"`rejectedLinkedService`\" pulumi-lang-java=\"`rejectedLinkedService`\"\u003e`rejected_linked_service`\u003c/span\u003e block as defined below.\n"},"schemaLinkedService":{"$ref":"#/types/azure:datafactory/DataFlowSourceSchemaLinkedService:DataFlowSourceSchemaLinkedService","description":"A \u003cspan pulumi-lang-nodejs=\"`schemaLinkedService`\" pulumi-lang-dotnet=\"`SchemaLinkedService`\" pulumi-lang-go=\"`schemaLinkedService`\" pulumi-lang-python=\"`schema_linked_service`\" pulumi-lang-yaml=\"`schemaLinkedService`\" pulumi-lang-java=\"`schemaLinkedService`\"\u003e`schema_linked_service`\u003c/span\u003e block as defined below.\n"}},"type":"object","required":["name"]},"azure:datafactory/DataFlowSourceDataset:DataFlowSourceDataset":{"properties":{"name":{"type":"string","description":"The name for the Data Factory Dataset.\n"},"parameters":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of parameters to associate with the Data Factory dataset.\n"}},"type":"object","required":["name"]},"azure:datafactory/DataFlowSourceFlowlet:DataFlowSourceFlowlet":{"properties":{"datasetParameters":{"type":"string","description":"Specifies the reference data flow parameters from dataset.\n"},"name":{"type":"string","description":"The name for the Data Factory Flowlet.\n"},"parameters":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of parameters to associate with the Data Factory Flowlet.\n"}},"type":"object","required":["name"]},"azure:datafactory/DataFlowSourceLinkedService:DataFlowSourceLinkedService":{"properties":{"name":{"type":"string","description":"The name for the Data Factory Linked Service.\n"},"parameters":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of parameters to associate with the Data Factory Linked Service.\n"}},"type":"object","required":["name"]},"azure:datafactory/DataFlowSourceRejectedLinkedService:DataFlowSourceRejectedLinkedService":{"properties":{"name":{"type":"string","description":"The name for the Data Factory Linked Service with schema.\n"},"parameters":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of parameters to associate with the Data Factory Linked Service.\n"}},"type":"object","required":["name"]},"azure:datafactory/DataFlowSourceSchemaLinkedService:DataFlowSourceSchemaLinkedService":{"properties":{"name":{"type":"string","description":"The name for the Data Factory Linked Service with schema.\n"},"parameters":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of parameters to associate with the Data Factory Linked Service.\n"}},"type":"object","required":["name"]},"azure:datafactory/DataFlowTransformation:DataFlowTransformation":{"properties":{"dataset":{"$ref":"#/types/azure:datafactory/DataFlowTransformationDataset:DataFlowTransformationDataset","description":"A \u003cspan pulumi-lang-nodejs=\"`dataset`\" pulumi-lang-dotnet=\"`Dataset`\" pulumi-lang-go=\"`dataset`\" pulumi-lang-python=\"`dataset`\" pulumi-lang-yaml=\"`dataset`\" pulumi-lang-java=\"`dataset`\"\u003e`dataset`\u003c/span\u003e block as defined below.\n"},"description":{"type":"string","description":"The description for the Data Flow transformation.\n"},"flowlet":{"$ref":"#/types/azure:datafactory/DataFlowTransformationFlowlet:DataFlowTransformationFlowlet","description":"A \u003cspan pulumi-lang-nodejs=\"`flowlet`\" pulumi-lang-dotnet=\"`Flowlet`\" pulumi-lang-go=\"`flowlet`\" pulumi-lang-python=\"`flowlet`\" pulumi-lang-yaml=\"`flowlet`\" pulumi-lang-java=\"`flowlet`\"\u003e`flowlet`\u003c/span\u003e block as defined below.\n"},"linkedService":{"$ref":"#/types/azure:datafactory/DataFlowTransformationLinkedService:DataFlowTransformationLinkedService","description":"A \u003cspan pulumi-lang-nodejs=\"`linkedService`\" pulumi-lang-dotnet=\"`LinkedService`\" pulumi-lang-go=\"`linkedService`\" pulumi-lang-python=\"`linked_service`\" pulumi-lang-yaml=\"`linkedService`\" pulumi-lang-java=\"`linkedService`\"\u003e`linked_service`\u003c/span\u003e block as defined below.\n"},"name":{"type":"string","description":"The name for the Data Flow transformation.\n"}},"type":"object","required":["name"]},"azure:datafactory/DataFlowTransformationDataset:DataFlowTransformationDataset":{"properties":{"name":{"type":"string","description":"The name for the Data Factory Dataset.\n"},"parameters":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of parameters to associate with the Data Factory dataset.\n"}},"type":"object","required":["name"]},"azure:datafactory/DataFlowTransformationFlowlet:DataFlowTransformationFlowlet":{"properties":{"datasetParameters":{"type":"string","description":"Specifies the reference data flow parameters from dataset.\n"},"name":{"type":"string","description":"The name for the Data Factory Flowlet.\n"},"parameters":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of parameters to associate with the Data Factory Flowlet.\n"}},"type":"object","required":["name"]},"azure:datafactory/DataFlowTransformationLinkedService:DataFlowTransformationLinkedService":{"properties":{"name":{"type":"string","description":"The name for the Data Factory Linked Service.\n"},"parameters":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of parameters to associate with the Data Factory Linked Service.\n"}},"type":"object","required":["name"]},"azure:datafactory/DatasetAzureBlobSchemaColumn:DatasetAzureBlobSchemaColumn":{"properties":{"description":{"type":"string","description":"The description of the column.\n"},"name":{"type":"string","description":"The name of the column.\n"},"type":{"type":"string","description":"Type of the column. Valid values are `Byte`, `Byte[]`, `Boolean`, `Date`, `DateTime`,`DateTimeOffset`, `Decimal`, `Double`, `Guid`, `Int16`, `Int32`, `Int64`, `Single`, `String`, `TimeSpan`. Please note these values are case sensitive.\n"}},"type":"object","required":["name"]},"azure:datafactory/DatasetAzureSqlTableSchemaColumn:DatasetAzureSqlTableSchemaColumn":{"properties":{"description":{"type":"string","description":"The description of the column.\n"},"name":{"type":"string","description":"The name of the column.\n"},"type":{"type":"string","description":"Type of the column. Valid values are `Byte`, `Byte[]`, `Boolean`, `Date`, `DateTime`,`DateTimeOffset`, `Decimal`, `Double`, `Guid`, `Int16`, `Int32`, `Int64`, `Single`, `String`, `TimeSpan`. Please note these values are case sensitive.\n"}},"type":"object","required":["name"]},"azure:datafactory/DatasetBinaryAzureBlobStorageLocation:DatasetBinaryAzureBlobStorageLocation":{"properties":{"container":{"type":"string","description":"The container on the Azure Blob Storage Account hosting the file.\n"},"dynamicContainerEnabled":{"type":"boolean","description":"Is the \u003cspan pulumi-lang-nodejs=\"`container`\" pulumi-lang-dotnet=\"`Container`\" pulumi-lang-go=\"`container`\" pulumi-lang-python=\"`container`\" pulumi-lang-yaml=\"`container`\" pulumi-lang-java=\"`container`\"\u003e`container`\u003c/span\u003e using dynamic expression, function or system variables? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"dynamicFilenameEnabled":{"type":"boolean","description":"Is the \u003cspan pulumi-lang-nodejs=\"`filename`\" pulumi-lang-dotnet=\"`Filename`\" pulumi-lang-go=\"`filename`\" pulumi-lang-python=\"`filename`\" pulumi-lang-yaml=\"`filename`\" pulumi-lang-java=\"`filename`\"\u003e`filename`\u003c/span\u003e using dynamic expression, function or system variables? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"dynamicPathEnabled":{"type":"boolean","description":"Is the \u003cspan pulumi-lang-nodejs=\"`path`\" pulumi-lang-dotnet=\"`Path`\" pulumi-lang-go=\"`path`\" pulumi-lang-python=\"`path`\" pulumi-lang-yaml=\"`path`\" pulumi-lang-java=\"`path`\"\u003e`path`\u003c/span\u003e using dynamic expression, function or system variables? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"filename":{"type":"string","description":"The filename of the file in the blob container.\n"},"path":{"type":"string","description":"The folder path to the file in the blob container.\n"}},"type":"object","required":["container"]},"azure:datafactory/DatasetBinaryCompression:DatasetBinaryCompression":{"properties":{"level":{"type":"string","description":"The level of compression. Possible values are `Fastest` and `Optimal`.\n"},"type":{"type":"string","description":"The type of compression used during transport. Possible values are `BZip2`, `Deflate`, `GZip`, `Tar`, `TarGZip` and `ZipDeflate`.\n"}},"type":"object","required":["type"]},"azure:datafactory/DatasetBinaryHttpServerLocation:DatasetBinaryHttpServerLocation":{"properties":{"dynamicFilenameEnabled":{"type":"boolean","description":"Is the \u003cspan pulumi-lang-nodejs=\"`filename`\" pulumi-lang-dotnet=\"`Filename`\" pulumi-lang-go=\"`filename`\" pulumi-lang-python=\"`filename`\" pulumi-lang-yaml=\"`filename`\" pulumi-lang-java=\"`filename`\"\u003e`filename`\u003c/span\u003e using dynamic expression, function or system variables? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"dynamicPathEnabled":{"type":"boolean","description":"Is the \u003cspan pulumi-lang-nodejs=\"`path`\" pulumi-lang-dotnet=\"`Path`\" pulumi-lang-go=\"`path`\" pulumi-lang-python=\"`path`\" pulumi-lang-yaml=\"`path`\" pulumi-lang-java=\"`path`\"\u003e`path`\u003c/span\u003e using dynamic expression, function or system variables? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"filename":{"type":"string","description":"The filename of the file on the web server.\n"},"path":{"type":"string","description":"The folder path to the file on the web server.\n"},"relativeUrl":{"type":"string","description":"The base URL to the web server hosting the file.\n"}},"type":"object","required":["filename","path","relativeUrl"]},"azure:datafactory/DatasetBinarySftpServerLocation:DatasetBinarySftpServerLocation":{"properties":{"dynamicFilenameEnabled":{"type":"boolean","description":"Is the \u003cspan pulumi-lang-nodejs=\"`filename`\" pulumi-lang-dotnet=\"`Filename`\" pulumi-lang-go=\"`filename`\" pulumi-lang-python=\"`filename`\" pulumi-lang-yaml=\"`filename`\" pulumi-lang-java=\"`filename`\"\u003e`filename`\u003c/span\u003e using dynamic expression, function or system variables? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"dynamicPathEnabled":{"type":"boolean","description":"Is the \u003cspan pulumi-lang-nodejs=\"`path`\" pulumi-lang-dotnet=\"`Path`\" pulumi-lang-go=\"`path`\" pulumi-lang-python=\"`path`\" pulumi-lang-yaml=\"`path`\" pulumi-lang-java=\"`path`\"\u003e`path`\u003c/span\u003e using dynamic expression, function or system variables? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"filename":{"type":"string","description":"The filename of the file on the SFTP server.\n"},"path":{"type":"string","description":"The folder path to the file on the SFTP server.\n"}},"type":"object","required":["filename","path"]},"azure:datafactory/DatasetCosmosDBApiSchemaColumn:DatasetCosmosDBApiSchemaColumn":{"properties":{"description":{"type":"string","description":"The description of the column.\n"},"name":{"type":"string","description":"The name of the column.\n"},"type":{"type":"string","description":"Type of the column. Valid values are `Byte`, `Byte[]`, `Boolean`, `Date`, `DateTime`,`DateTimeOffset`, `Decimal`, `Double`, `Guid`, `Int16`, `Int32`, `Int64`, `Single`, `String`, `TimeSpan`. Please note these values are case sensitive.\n"}},"type":"object","required":["name"]},"azure:datafactory/DatasetDelimitedTextAzureBlobFsLocation:DatasetDelimitedTextAzureBlobFsLocation":{"properties":{"dynamicFileSystemEnabled":{"type":"boolean","description":"Is the \u003cspan pulumi-lang-nodejs=\"`fileSystem`\" pulumi-lang-dotnet=\"`FileSystem`\" pulumi-lang-go=\"`fileSystem`\" pulumi-lang-python=\"`file_system`\" pulumi-lang-yaml=\"`fileSystem`\" pulumi-lang-java=\"`fileSystem`\"\u003e`file_system`\u003c/span\u003e using dynamic expression, function or system variables? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"dynamicFilenameEnabled":{"type":"boolean","description":"Is the \u003cspan pulumi-lang-nodejs=\"`filename`\" pulumi-lang-dotnet=\"`Filename`\" pulumi-lang-go=\"`filename`\" pulumi-lang-python=\"`filename`\" pulumi-lang-yaml=\"`filename`\" pulumi-lang-java=\"`filename`\"\u003e`filename`\u003c/span\u003e using dynamic expression, function or system variables? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"dynamicPathEnabled":{"type":"boolean","description":"Is the \u003cspan pulumi-lang-nodejs=\"`path`\" pulumi-lang-dotnet=\"`Path`\" pulumi-lang-go=\"`path`\" pulumi-lang-python=\"`path`\" pulumi-lang-yaml=\"`path`\" pulumi-lang-java=\"`path`\"\u003e`path`\u003c/span\u003e using dynamic expression, function or system variables? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"fileSystem":{"type":"string","description":"The storage data lake gen2 file system on the Azure Blob Storage Account hosting the file.\n"},"filename":{"type":"string","description":"The filename of the file.\n"},"path":{"type":"string","description":"The folder path to the file.\n"}},"type":"object"},"azure:datafactory/DatasetDelimitedTextAzureBlobStorageLocation:DatasetDelimitedTextAzureBlobStorageLocation":{"properties":{"container":{"type":"string","description":"The container on the Azure Blob Storage Account hosting the file.\n"},"dynamicContainerEnabled":{"type":"boolean","description":"Is the \u003cspan pulumi-lang-nodejs=\"`container`\" pulumi-lang-dotnet=\"`Container`\" pulumi-lang-go=\"`container`\" pulumi-lang-python=\"`container`\" pulumi-lang-yaml=\"`container`\" pulumi-lang-java=\"`container`\"\u003e`container`\u003c/span\u003e using dynamic expression, function or system variables? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"dynamicFilenameEnabled":{"type":"boolean","description":"Is the \u003cspan pulumi-lang-nodejs=\"`filename`\" pulumi-lang-dotnet=\"`Filename`\" pulumi-lang-go=\"`filename`\" pulumi-lang-python=\"`filename`\" pulumi-lang-yaml=\"`filename`\" pulumi-lang-java=\"`filename`\"\u003e`filename`\u003c/span\u003e using dynamic expression, function or system variables? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"dynamicPathEnabled":{"type":"boolean","description":"Is the \u003cspan pulumi-lang-nodejs=\"`path`\" pulumi-lang-dotnet=\"`Path`\" pulumi-lang-go=\"`path`\" pulumi-lang-python=\"`path`\" pulumi-lang-yaml=\"`path`\" pulumi-lang-java=\"`path`\"\u003e`path`\u003c/span\u003e using dynamic expression, function or system variables? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"filename":{"type":"string","description":"The filename of the file.\n"},"path":{"type":"string","description":"The folder path to the file. This can be an empty string.\n"}},"type":"object","required":["container"]},"azure:datafactory/DatasetDelimitedTextHttpServerLocation:DatasetDelimitedTextHttpServerLocation":{"properties":{"dynamicFilenameEnabled":{"type":"boolean","description":"Is the \u003cspan pulumi-lang-nodejs=\"`filename`\" pulumi-lang-dotnet=\"`Filename`\" pulumi-lang-go=\"`filename`\" pulumi-lang-python=\"`filename`\" pulumi-lang-yaml=\"`filename`\" pulumi-lang-java=\"`filename`\"\u003e`filename`\u003c/span\u003e using dynamic expression, function or system variables? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"dynamicPathEnabled":{"type":"boolean","description":"Is the \u003cspan pulumi-lang-nodejs=\"`path`\" pulumi-lang-dotnet=\"`Path`\" pulumi-lang-go=\"`path`\" pulumi-lang-python=\"`path`\" pulumi-lang-yaml=\"`path`\" pulumi-lang-java=\"`path`\"\u003e`path`\u003c/span\u003e using dynamic expression, function or system variables? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"filename":{"type":"string","description":"The filename of the file on the web server.\n"},"path":{"type":"string","description":"The folder path to the file on the web server.\n"},"relativeUrl":{"type":"string","description":"The base URL to the web server hosting the file.\n"}},"type":"object","required":["filename","path","relativeUrl"]},"azure:datafactory/DatasetDelimitedTextSchemaColumn:DatasetDelimitedTextSchemaColumn":{"properties":{"description":{"type":"string","description":"The description of the column.\n"},"name":{"type":"string","description":"The name of the column.\n"},"type":{"type":"string","description":"Type of the column. Valid values are `Byte`, `Byte[]`, `Boolean`, `Date`, `DateTime`,`DateTimeOffset`, `Decimal`, `Double`, `Guid`, `Int16`, `Int32`, `Int64`, `Single`, `String`, `TimeSpan`. Please note these values are case sensitive.\n"}},"type":"object","required":["name"]},"azure:datafactory/DatasetHttpSchemaColumn:DatasetHttpSchemaColumn":{"properties":{"description":{"type":"string","description":"The description of the column.\n"},"name":{"type":"string","description":"The name of the column.\n"},"type":{"type":"string","description":"Type of the column. Valid values are `Byte`, `Byte[]`, `Boolean`, `Date`, `DateTime`,`DateTimeOffset`, `Decimal`, `Double`, `Guid`, `Int16`, `Int32`, `Int64`, `Single`, `String`, `TimeSpan`. Please note these values are case sensitive.\n"}},"type":"object","required":["name"]},"azure:datafactory/DatasetJsonAzureBlobStorageLocation:DatasetJsonAzureBlobStorageLocation":{"properties":{"container":{"type":"string","description":"The container on the Azure Blob Storage Account hosting the file.\n"},"dynamicContainerEnabled":{"type":"boolean","description":"Is the \u003cspan pulumi-lang-nodejs=\"`container`\" pulumi-lang-dotnet=\"`Container`\" pulumi-lang-go=\"`container`\" pulumi-lang-python=\"`container`\" pulumi-lang-yaml=\"`container`\" pulumi-lang-java=\"`container`\"\u003e`container`\u003c/span\u003e using dynamic expression, function or system variables? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"dynamicFilenameEnabled":{"type":"boolean","description":"Is the \u003cspan pulumi-lang-nodejs=\"`filename`\" pulumi-lang-dotnet=\"`Filename`\" pulumi-lang-go=\"`filename`\" pulumi-lang-python=\"`filename`\" pulumi-lang-yaml=\"`filename`\" pulumi-lang-java=\"`filename`\"\u003e`filename`\u003c/span\u003e using dynamic expression, function or system variables? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"dynamicPathEnabled":{"type":"boolean","description":"Is the \u003cspan pulumi-lang-nodejs=\"`path`\" pulumi-lang-dotnet=\"`Path`\" pulumi-lang-go=\"`path`\" pulumi-lang-python=\"`path`\" pulumi-lang-yaml=\"`path`\" pulumi-lang-java=\"`path`\"\u003e`path`\u003c/span\u003e using dynamic expression, function or system variables? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"filename":{"type":"string","description":"The filename of the file on the web server.\n"},"path":{"type":"string","description":"The folder path to the file on the web server.\n"}},"type":"object","required":["container","filename","path"]},"azure:datafactory/DatasetJsonHttpServerLocation:DatasetJsonHttpServerLocation":{"properties":{"dynamicFilenameEnabled":{"type":"boolean","description":"Is the \u003cspan pulumi-lang-nodejs=\"`filename`\" pulumi-lang-dotnet=\"`Filename`\" pulumi-lang-go=\"`filename`\" pulumi-lang-python=\"`filename`\" pulumi-lang-yaml=\"`filename`\" pulumi-lang-java=\"`filename`\"\u003e`filename`\u003c/span\u003e using dynamic expression, function or system variables? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"dynamicPathEnabled":{"type":"boolean","description":"Is the \u003cspan pulumi-lang-nodejs=\"`path`\" pulumi-lang-dotnet=\"`Path`\" pulumi-lang-go=\"`path`\" pulumi-lang-python=\"`path`\" pulumi-lang-yaml=\"`path`\" pulumi-lang-java=\"`path`\"\u003e`path`\u003c/span\u003e using dynamic expression, function or system variables? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"filename":{"type":"string","description":"The filename of the file on the web server.\n"},"path":{"type":"string","description":"The folder path to the file on the web server.\n"},"relativeUrl":{"type":"string","description":"The base URL to the web server hosting the file.\n"}},"type":"object","required":["filename","path","relativeUrl"]},"azure:datafactory/DatasetJsonSchemaColumn:DatasetJsonSchemaColumn":{"properties":{"description":{"type":"string","description":"The description of the column.\n"},"name":{"type":"string","description":"The name of the column.\n"},"type":{"type":"string","description":"Type of the column. Valid values are `Byte`, `Byte[]`, `Boolean`, `Date`, `DateTime`,`DateTimeOffset`, `Decimal`, `Double`, `Guid`, `Int16`, `Int32`, `Int64`, `Single`, `String`, `TimeSpan`. Please note these values are case sensitive.\n"}},"type":"object","required":["name"]},"azure:datafactory/DatasetMysqlSchemaColumn:DatasetMysqlSchemaColumn":{"properties":{"description":{"type":"string","description":"The description of the column.\n"},"name":{"type":"string","description":"The name of the column.\n"},"type":{"type":"string","description":"Type of the column. Valid values are `Byte`, `Byte[]`, `Boolean`, `Date`, `DateTime`,`DateTimeOffset`, `Decimal`, `Double`, `Guid`, `Int16`, `Int32`, `Int64`, `Single`, `String`, `TimeSpan`. Please note these values are case sensitive.\n"}},"type":"object","required":["name"]},"azure:datafactory/DatasetParquetAzureBlobFsLocation:DatasetParquetAzureBlobFsLocation":{"properties":{"dynamicFileSystemEnabled":{"type":"boolean","description":"Is the \u003cspan pulumi-lang-nodejs=\"`fileSystem`\" pulumi-lang-dotnet=\"`FileSystem`\" pulumi-lang-go=\"`fileSystem`\" pulumi-lang-python=\"`file_system`\" pulumi-lang-yaml=\"`fileSystem`\" pulumi-lang-java=\"`fileSystem`\"\u003e`file_system`\u003c/span\u003e using dynamic expression, function or system variables? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"dynamicFilenameEnabled":{"type":"boolean","description":"Is the \u003cspan pulumi-lang-nodejs=\"`filename`\" pulumi-lang-dotnet=\"`Filename`\" pulumi-lang-go=\"`filename`\" pulumi-lang-python=\"`filename`\" pulumi-lang-yaml=\"`filename`\" pulumi-lang-java=\"`filename`\"\u003e`filename`\u003c/span\u003e using dynamic expression, function or system variables? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"dynamicPathEnabled":{"type":"boolean","description":"Is the \u003cspan pulumi-lang-nodejs=\"`path`\" pulumi-lang-dotnet=\"`Path`\" pulumi-lang-go=\"`path`\" pulumi-lang-python=\"`path`\" pulumi-lang-yaml=\"`path`\" pulumi-lang-java=\"`path`\"\u003e`path`\u003c/span\u003e using dynamic expression, function or system variables? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"fileSystem":{"type":"string","description":"The container on the Azure Data Lake Storage Account hosting the file.\n"},"filename":{"type":"string","description":"The filename of the file on the Azure Data Lake Storage Account.\n"},"path":{"type":"string","description":"The folder path to the file on the Azure Data Lake Storage Account.\n"}},"type":"object"},"azure:datafactory/DatasetParquetAzureBlobStorageLocation:DatasetParquetAzureBlobStorageLocation":{"properties":{"container":{"type":"string","description":"The container on the Azure Blob Storage Account hosting the file.\n"},"dynamicContainerEnabled":{"type":"boolean","description":"Is the \u003cspan pulumi-lang-nodejs=\"`container`\" pulumi-lang-dotnet=\"`Container`\" pulumi-lang-go=\"`container`\" pulumi-lang-python=\"`container`\" pulumi-lang-yaml=\"`container`\" pulumi-lang-java=\"`container`\"\u003e`container`\u003c/span\u003e using dynamic expression, function or system variables? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"dynamicFilenameEnabled":{"type":"boolean","description":"Is the \u003cspan pulumi-lang-nodejs=\"`filename`\" pulumi-lang-dotnet=\"`Filename`\" pulumi-lang-go=\"`filename`\" pulumi-lang-python=\"`filename`\" pulumi-lang-yaml=\"`filename`\" pulumi-lang-java=\"`filename`\"\u003e`filename`\u003c/span\u003e using dynamic expression, function or system variables? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"dynamicPathEnabled":{"type":"boolean","description":"Is the \u003cspan pulumi-lang-nodejs=\"`path`\" pulumi-lang-dotnet=\"`Path`\" pulumi-lang-go=\"`path`\" pulumi-lang-python=\"`path`\" pulumi-lang-yaml=\"`path`\" pulumi-lang-java=\"`path`\"\u003e`path`\u003c/span\u003e using dynamic expression, function or system variables? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"filename":{"type":"string","description":"The filename of the file on the Azure Blob Storage Account.\n"},"path":{"type":"string","description":"The folder path to the file on the Azure Blob Storage Account.\n"}},"type":"object","required":["container"]},"azure:datafactory/DatasetParquetHttpServerLocation:DatasetParquetHttpServerLocation":{"properties":{"dynamicFilenameEnabled":{"type":"boolean","description":"Is the \u003cspan pulumi-lang-nodejs=\"`filename`\" pulumi-lang-dotnet=\"`Filename`\" pulumi-lang-go=\"`filename`\" pulumi-lang-python=\"`filename`\" pulumi-lang-yaml=\"`filename`\" pulumi-lang-java=\"`filename`\"\u003e`filename`\u003c/span\u003e using dynamic expression, function or system variables? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"dynamicPathEnabled":{"type":"boolean","description":"Is the \u003cspan pulumi-lang-nodejs=\"`path`\" pulumi-lang-dotnet=\"`Path`\" pulumi-lang-go=\"`path`\" pulumi-lang-python=\"`path`\" pulumi-lang-yaml=\"`path`\" pulumi-lang-java=\"`path`\"\u003e`path`\u003c/span\u003e using dynamic expression, function or system variables? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"filename":{"type":"string","description":"The filename of the file on the web server.\n"},"path":{"type":"string","description":"The folder path to the file on the web server.\n"},"relativeUrl":{"type":"string","description":"The base URL to the web server hosting the file.\n"}},"type":"object","required":["filename","relativeUrl"]},"azure:datafactory/DatasetParquetSchemaColumn:DatasetParquetSchemaColumn":{"properties":{"description":{"type":"string","description":"The description of the column.\n"},"name":{"type":"string","description":"The name of the column.\n"},"type":{"type":"string","description":"Type of the column. Valid values are `Byte`, `Byte[]`, `Boolean`, `Date`, `DateTime`,`DateTimeOffset`, `Decimal`, `Double`, `Guid`, `Int16`, `Int32`, `Int64`, `Single`, `String`, `TimeSpan`. Please note these values are case sensitive.\n"}},"type":"object","required":["name"]},"azure:datafactory/DatasetPostgresqlSchemaColumn:DatasetPostgresqlSchemaColumn":{"properties":{"description":{"type":"string","description":"The description of the column.\n"},"name":{"type":"string","description":"The name of the column.\n"},"type":{"type":"string","description":"Type of the column. Valid values are `Byte`, `Byte[]`, `Boolean`, `Date`, `DateTime`,`DateTimeOffset`, `Decimal`, `Double`, `Guid`, `Int16`, `Int32`, `Int64`, `Single`, `String`, `TimeSpan`. Please note these values are case sensitive.\n"}},"type":"object","required":["name"]},"azure:datafactory/DatasetSnowflakeSchemaColumn:DatasetSnowflakeSchemaColumn":{"properties":{"name":{"type":"string","description":"The name of the column.\n"},"precision":{"type":"integer","description":"The total number of digits allowed.\n"},"scale":{"type":"integer","description":"The number of digits allowed to the right of the decimal point.\n"},"type":{"type":"string","description":"Type of the column. Valid values are `NUMBER`, `DECIMAL`, `NUMERIC`, `INT`, `INTEGER`, `BIGINT`, `SMALLINT`, `FLOAT``FLOAT4`, `FLOAT8`, `DOUBLE`, `DOUBLE PRECISION`, `REAL`, `VARCHAR`, `CHAR`, `CHARACTER`, `STRING`, `TEXT`, `BINARY`, `VARBINARY`, `BOOLEAN`, `DATE`, `DATETIME`, `TIME`, `TIMESTAMP`, `TIMESTAMP_LTZ`, `TIMESTAMP_NTZ`, `TIMESTAMP_TZ`, `VARIANT`, `OBJECT`, `ARRAY`, `GEOGRAPHY`. Please note these values are case sensitive.\n"}},"type":"object","required":["name"]},"azure:datafactory/DatasetSqlServerTableSchemaColumn:DatasetSqlServerTableSchemaColumn":{"properties":{"description":{"type":"string","description":"The description of the column.\n"},"name":{"type":"string","description":"The name of the column.\n"},"type":{"type":"string","description":"Type of the column. Valid values are `Byte`, `Byte[]`, `Boolean`, `Date`, `DateTime`,`DateTimeOffset`, `Decimal`, `Double`, `Guid`, `Int16`, `Int32`, `Int64`, `Single`, `String`, `TimeSpan`. Please note these values are case sensitive.\n"}},"type":"object","required":["name"]},"azure:datafactory/FactoryGithubConfiguration:FactoryGithubConfiguration":{"properties":{"accountName":{"type":"string","description":"Specifies the GitHub account name.\n"},"branchName":{"type":"string","description":"Specifies the branch of the repository to get code from.\n"},"gitUrl":{"type":"string","description":"Specifies the GitHub Enterprise host name. For example: \u003chttps://github.mydomain.com\u003e. Use \u003chttps://github.com\u003e for open source repositories.\n"},"publishingEnabled":{"type":"boolean","description":"Is automated publishing enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n\n\u003e **Note:** You must log in to the Data Factory management UI to complete the authentication to the GitHub repository.\n"},"repositoryName":{"type":"string","description":"Specifies the name of the git repository.\n"},"rootFolder":{"type":"string","description":"Specifies the root folder within the repository. Set to `/` for the top level.\n"}},"type":"object","required":["accountName","branchName","repositoryName","rootFolder"]},"azure:datafactory/FactoryGlobalParameter:FactoryGlobalParameter":{"properties":{"name":{"type":"string","description":"Specifies the global parameter name.\n"},"type":{"type":"string","description":"Specifies the global parameter type. Possible Values are `Array`, `Bool`, `Float`, `Int`, `Object` or `String`.\n"},"value":{"type":"string","description":"Specifies the global parameter value.\n\n\u003e **Note:** For type `Array` and `Object` it is recommended to use `jsonencode()` for the value\n"}},"type":"object","required":["name","type","value"]},"azure:datafactory/FactoryIdentity:FactoryIdentity":{"properties":{"identityIds":{"type":"array","items":{"type":"string"},"description":"Specifies a list of User Assigned Managed Identity IDs to be assigned to this Data Factory.\n\n\u003e **Note:** This is required when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to `UserAssigned` or `SystemAssigned, UserAssigned`.\n"},"principalId":{"type":"string","description":"The Principal ID associated with this Managed Service Identity.\n"},"tenantId":{"type":"string","description":"The Tenant ID associated with this Managed Service Identity.\n"},"type":{"type":"string","description":"Specifies the type of Managed Service Identity that should be configured on this Data Factory. Possible values are `SystemAssigned`, `UserAssigned`, `SystemAssigned, UserAssigned` (to enable both).\n"}},"type":"object","required":["type"],"language":{"nodejs":{"requiredOutputs":["principalId","tenantId","type"]}}},"azure:datafactory/FactoryVstsConfiguration:FactoryVstsConfiguration":{"properties":{"accountName":{"type":"string","description":"Specifies the VSTS account name.\n"},"branchName":{"type":"string","description":"Specifies the branch of the repository to get code from.\n"},"projectName":{"type":"string","description":"Specifies the name of the VSTS project.\n"},"publishingEnabled":{"type":"boolean","description":"Is automated publishing enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"repositoryName":{"type":"string","description":"Specifies the name of the git repository.\n"},"rootFolder":{"type":"string","description":"Specifies the root folder within the repository. Set to `/` for the top level.\n"},"tenantId":{"type":"string","description":"Specifies the Tenant ID associated with the VSTS account.\n"}},"type":"object","required":["accountName","branchName","projectName","repositoryName","rootFolder","tenantId"]},"azure:datafactory/FlowletDataFlowSink:FlowletDataFlowSink":{"properties":{"dataset":{"$ref":"#/types/azure:datafactory/FlowletDataFlowSinkDataset:FlowletDataFlowSinkDataset","description":"A \u003cspan pulumi-lang-nodejs=\"`dataset`\" pulumi-lang-dotnet=\"`Dataset`\" pulumi-lang-go=\"`dataset`\" pulumi-lang-python=\"`dataset`\" pulumi-lang-yaml=\"`dataset`\" pulumi-lang-java=\"`dataset`\"\u003e`dataset`\u003c/span\u003e block as defined below.\n"},"description":{"type":"string","description":"The description for the Data Flow Source.\n"},"flowlet":{"$ref":"#/types/azure:datafactory/FlowletDataFlowSinkFlowlet:FlowletDataFlowSinkFlowlet","description":"A \u003cspan pulumi-lang-nodejs=\"`flowlet`\" pulumi-lang-dotnet=\"`Flowlet`\" pulumi-lang-go=\"`flowlet`\" pulumi-lang-python=\"`flowlet`\" pulumi-lang-yaml=\"`flowlet`\" pulumi-lang-java=\"`flowlet`\"\u003e`flowlet`\u003c/span\u003e block as defined below.\n"},"linkedService":{"$ref":"#/types/azure:datafactory/FlowletDataFlowSinkLinkedService:FlowletDataFlowSinkLinkedService","description":"A \u003cspan pulumi-lang-nodejs=\"`linkedService`\" pulumi-lang-dotnet=\"`LinkedService`\" pulumi-lang-go=\"`linkedService`\" pulumi-lang-python=\"`linked_service`\" pulumi-lang-yaml=\"`linkedService`\" pulumi-lang-java=\"`linkedService`\"\u003e`linked_service`\u003c/span\u003e block as defined below.\n"},"name":{"type":"string","description":"The name for the Data Flow Source.\n"},"rejectedLinkedService":{"$ref":"#/types/azure:datafactory/FlowletDataFlowSinkRejectedLinkedService:FlowletDataFlowSinkRejectedLinkedService","description":"A \u003cspan pulumi-lang-nodejs=\"`rejectedLinkedService`\" pulumi-lang-dotnet=\"`RejectedLinkedService`\" pulumi-lang-go=\"`rejectedLinkedService`\" pulumi-lang-python=\"`rejected_linked_service`\" pulumi-lang-yaml=\"`rejectedLinkedService`\" pulumi-lang-java=\"`rejectedLinkedService`\"\u003e`rejected_linked_service`\u003c/span\u003e block as defined below.\n"},"schemaLinkedService":{"$ref":"#/types/azure:datafactory/FlowletDataFlowSinkSchemaLinkedService:FlowletDataFlowSinkSchemaLinkedService","description":"A \u003cspan pulumi-lang-nodejs=\"`schemaLinkedService`\" pulumi-lang-dotnet=\"`SchemaLinkedService`\" pulumi-lang-go=\"`schemaLinkedService`\" pulumi-lang-python=\"`schema_linked_service`\" pulumi-lang-yaml=\"`schemaLinkedService`\" pulumi-lang-java=\"`schemaLinkedService`\"\u003e`schema_linked_service`\u003c/span\u003e block as defined below.\n"}},"type":"object","required":["name"]},"azure:datafactory/FlowletDataFlowSinkDataset:FlowletDataFlowSinkDataset":{"properties":{"name":{"type":"string","description":"The name for the Data Factory Dataset.\n"},"parameters":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of parameters to associate with the Data Factory dataset.\n"}},"type":"object","required":["name"]},"azure:datafactory/FlowletDataFlowSinkFlowlet:FlowletDataFlowSinkFlowlet":{"properties":{"datasetParameters":{"type":"string","description":"Specifies the reference data flow parameters from dataset.\n"},"name":{"type":"string","description":"The name for the Data Factory Flowlet.\n"},"parameters":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of parameters to associate with the Data Factory Flowlet.\n"}},"type":"object","required":["name"]},"azure:datafactory/FlowletDataFlowSinkLinkedService:FlowletDataFlowSinkLinkedService":{"properties":{"name":{"type":"string","description":"The name for the Data Factory Linked Service.\n"},"parameters":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of parameters to associate with the Data Factory Linked Service.\n"}},"type":"object","required":["name"]},"azure:datafactory/FlowletDataFlowSinkRejectedLinkedService:FlowletDataFlowSinkRejectedLinkedService":{"properties":{"name":{"type":"string","description":"The name for the Data Factory Linked Service with schema.\n"},"parameters":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of parameters to associate with the Data Factory Linked Service.\n"}},"type":"object","required":["name"]},"azure:datafactory/FlowletDataFlowSinkSchemaLinkedService:FlowletDataFlowSinkSchemaLinkedService":{"properties":{"name":{"type":"string","description":"The name for the Data Factory Linked Service with schema.\n"},"parameters":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of parameters to associate with the Data Factory Linked Service.\n"}},"type":"object","required":["name"]},"azure:datafactory/FlowletDataFlowSource:FlowletDataFlowSource":{"properties":{"dataset":{"$ref":"#/types/azure:datafactory/FlowletDataFlowSourceDataset:FlowletDataFlowSourceDataset","description":"A \u003cspan pulumi-lang-nodejs=\"`dataset`\" pulumi-lang-dotnet=\"`Dataset`\" pulumi-lang-go=\"`dataset`\" pulumi-lang-python=\"`dataset`\" pulumi-lang-yaml=\"`dataset`\" pulumi-lang-java=\"`dataset`\"\u003e`dataset`\u003c/span\u003e block as defined below.\n"},"description":{"type":"string","description":"The description for the Data Flow Source.\n"},"flowlet":{"$ref":"#/types/azure:datafactory/FlowletDataFlowSourceFlowlet:FlowletDataFlowSourceFlowlet","description":"A \u003cspan pulumi-lang-nodejs=\"`flowlet`\" pulumi-lang-dotnet=\"`Flowlet`\" pulumi-lang-go=\"`flowlet`\" pulumi-lang-python=\"`flowlet`\" pulumi-lang-yaml=\"`flowlet`\" pulumi-lang-java=\"`flowlet`\"\u003e`flowlet`\u003c/span\u003e block as defined below.\n"},"linkedService":{"$ref":"#/types/azure:datafactory/FlowletDataFlowSourceLinkedService:FlowletDataFlowSourceLinkedService","description":"A \u003cspan pulumi-lang-nodejs=\"`linkedService`\" pulumi-lang-dotnet=\"`LinkedService`\" pulumi-lang-go=\"`linkedService`\" pulumi-lang-python=\"`linked_service`\" pulumi-lang-yaml=\"`linkedService`\" pulumi-lang-java=\"`linkedService`\"\u003e`linked_service`\u003c/span\u003e block as defined below.\n"},"name":{"type":"string","description":"The name for the Data Flow Source.\n"},"rejectedLinkedService":{"$ref":"#/types/azure:datafactory/FlowletDataFlowSourceRejectedLinkedService:FlowletDataFlowSourceRejectedLinkedService","description":"A \u003cspan pulumi-lang-nodejs=\"`rejectedLinkedService`\" pulumi-lang-dotnet=\"`RejectedLinkedService`\" pulumi-lang-go=\"`rejectedLinkedService`\" pulumi-lang-python=\"`rejected_linked_service`\" pulumi-lang-yaml=\"`rejectedLinkedService`\" pulumi-lang-java=\"`rejectedLinkedService`\"\u003e`rejected_linked_service`\u003c/span\u003e block as defined below.\n"},"schemaLinkedService":{"$ref":"#/types/azure:datafactory/FlowletDataFlowSourceSchemaLinkedService:FlowletDataFlowSourceSchemaLinkedService","description":"A \u003cspan pulumi-lang-nodejs=\"`schemaLinkedService`\" pulumi-lang-dotnet=\"`SchemaLinkedService`\" pulumi-lang-go=\"`schemaLinkedService`\" pulumi-lang-python=\"`schema_linked_service`\" pulumi-lang-yaml=\"`schemaLinkedService`\" pulumi-lang-java=\"`schemaLinkedService`\"\u003e`schema_linked_service`\u003c/span\u003e block as defined below.\n"}},"type":"object","required":["name"]},"azure:datafactory/FlowletDataFlowSourceDataset:FlowletDataFlowSourceDataset":{"properties":{"name":{"type":"string","description":"The name for the Data Factory Dataset.\n"},"parameters":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of parameters to associate with the Data Factory dataset.\n"}},"type":"object","required":["name"]},"azure:datafactory/FlowletDataFlowSourceFlowlet:FlowletDataFlowSourceFlowlet":{"properties":{"datasetParameters":{"type":"string","description":"Specifies the reference data flow parameters from dataset.\n"},"name":{"type":"string","description":"The name for the Data Factory Flowlet.\n"},"parameters":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of parameters to associate with the Data Factory Flowlet.\n"}},"type":"object","required":["name"]},"azure:datafactory/FlowletDataFlowSourceLinkedService:FlowletDataFlowSourceLinkedService":{"properties":{"name":{"type":"string","description":"The name for the Data Factory Linked Service.\n"},"parameters":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of parameters to associate with the Data Factory Linked Service.\n"}},"type":"object","required":["name"]},"azure:datafactory/FlowletDataFlowSourceRejectedLinkedService:FlowletDataFlowSourceRejectedLinkedService":{"properties":{"name":{"type":"string","description":"The name for the Data Factory Linked Service with schema.\n"},"parameters":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of parameters to associate with the Data Factory Linked Service.\n"}},"type":"object","required":["name"]},"azure:datafactory/FlowletDataFlowSourceSchemaLinkedService:FlowletDataFlowSourceSchemaLinkedService":{"properties":{"name":{"type":"string","description":"The name for the Data Factory Linked Service with schema.\n"},"parameters":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of parameters to associate with the Data Factory Linked Service.\n"}},"type":"object","required":["name"]},"azure:datafactory/FlowletDataFlowTransformation:FlowletDataFlowTransformation":{"properties":{"dataset":{"$ref":"#/types/azure:datafactory/FlowletDataFlowTransformationDataset:FlowletDataFlowTransformationDataset","description":"A \u003cspan pulumi-lang-nodejs=\"`dataset`\" pulumi-lang-dotnet=\"`Dataset`\" pulumi-lang-go=\"`dataset`\" pulumi-lang-python=\"`dataset`\" pulumi-lang-yaml=\"`dataset`\" pulumi-lang-java=\"`dataset`\"\u003e`dataset`\u003c/span\u003e block as defined below.\n"},"description":{"type":"string","description":"The description for the Data Flow transformation.\n"},"flowlet":{"$ref":"#/types/azure:datafactory/FlowletDataFlowTransformationFlowlet:FlowletDataFlowTransformationFlowlet","description":"A \u003cspan pulumi-lang-nodejs=\"`flowlet`\" pulumi-lang-dotnet=\"`Flowlet`\" pulumi-lang-go=\"`flowlet`\" pulumi-lang-python=\"`flowlet`\" pulumi-lang-yaml=\"`flowlet`\" pulumi-lang-java=\"`flowlet`\"\u003e`flowlet`\u003c/span\u003e block as defined below.\n"},"linkedService":{"$ref":"#/types/azure:datafactory/FlowletDataFlowTransformationLinkedService:FlowletDataFlowTransformationLinkedService","description":"A \u003cspan pulumi-lang-nodejs=\"`linkedService`\" pulumi-lang-dotnet=\"`LinkedService`\" pulumi-lang-go=\"`linkedService`\" pulumi-lang-python=\"`linked_service`\" pulumi-lang-yaml=\"`linkedService`\" pulumi-lang-java=\"`linkedService`\"\u003e`linked_service`\u003c/span\u003e block as defined below.\n"},"name":{"type":"string","description":"The name for the Data Flow transformation.\n"}},"type":"object","required":["name"]},"azure:datafactory/FlowletDataFlowTransformationDataset:FlowletDataFlowTransformationDataset":{"properties":{"name":{"type":"string","description":"The name for the Data Factory Dataset.\n"},"parameters":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of parameters to associate with the Data Factory dataset.\n"}},"type":"object","required":["name"]},"azure:datafactory/FlowletDataFlowTransformationFlowlet:FlowletDataFlowTransformationFlowlet":{"properties":{"datasetParameters":{"type":"string","description":"Specifies the reference data flow parameters from dataset.\n"},"name":{"type":"string","description":"The name for the Data Factory Flowlet.\n"},"parameters":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of parameters to associate with the Data Factory Flowlet.\n"}},"type":"object","required":["name"]},"azure:datafactory/FlowletDataFlowTransformationLinkedService:FlowletDataFlowTransformationLinkedService":{"properties":{"name":{"type":"string","description":"The name for the Data Factory Linked Service.\n"},"parameters":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of parameters to associate with the Data Factory Linked Service.\n"}},"type":"object","required":["name"]},"azure:datafactory/IntegrationRuntimeSelfHostedRbacAuthorization:IntegrationRuntimeSelfHostedRbacAuthorization":{"properties":{"resourceId":{"type":"string","description":"The resource identifier of the integration runtime to be shared.\n\n\u003e **Please Note**: RBAC Authorization creates a [linked Self-hosted Integration Runtime targeting the Shared Self-hosted Integration Runtime in\u003cspan pulumi-lang-nodejs=\" resourceId]\" pulumi-lang-dotnet=\" ResourceId]\" pulumi-lang-go=\" resourceId]\" pulumi-lang-python=\" resource_id]\" pulumi-lang-yaml=\" resourceId]\" pulumi-lang-java=\" resourceId]\"\u003e resource_id]\u003c/span\u003e(https://docs.microsoft.com/azure/data-factory/create-shared-self-hosted-integration-runtime-powershell#share-the-self-hosted-integration-runtime-with-another-data-factory). The linked Self-hosted Integration Runtime needs Contributor access granted to the Shared Self-hosted Data Factory.\n\nFor more information on the configuration, please check out the [Azure documentation](https://docs.microsoft.com/rest/api/datafactory/integrationruntimes/createorupdate#linkedintegrationruntimerbacauthorization)\n"}},"type":"object","required":["resourceId"]},"azure:datafactory/IntegrationRuntimeSsisCatalogInfo:IntegrationRuntimeSsisCatalogInfo":{"properties":{"administratorLogin":{"type":"string","description":"Administrator login name for the SQL Server.\n"},"administratorPassword":{"type":"string","description":"Administrator login password for the SQL Server.\n","secret":true},"dualStandbyPairName":{"type":"string","description":"The dual standby Azure-SSIS Integration Runtime pair with SSISDB failover.\n"},"elasticPoolName":{"type":"string","description":"The name of SQL elastic pool where the database will be created for the SSIS catalog. Mutually exclusive with \u003cspan pulumi-lang-nodejs=\"`pricingTier`\" pulumi-lang-dotnet=\"`PricingTier`\" pulumi-lang-go=\"`pricingTier`\" pulumi-lang-python=\"`pricing_tier`\" pulumi-lang-yaml=\"`pricingTier`\" pulumi-lang-java=\"`pricingTier`\"\u003e`pricing_tier`\u003c/span\u003e.\n"},"pricingTier":{"type":"string","description":"Pricing tier for the database that will be created for the SSIS catalog. Valid values are: `Basic`, `S0`, `S1`, `S2`, `S3`, `S4`, `S6`, `S7`, `S9`, `S12`, `P1`, `P2`, `P4`, `P6`, `P11`, `P15`, `GP_S_Gen5_1`, `GP_S_Gen5_2`, `GP_S_Gen5_4`, `GP_S_Gen5_6`, `GP_S_Gen5_8`, `GP_S_Gen5_10`, `GP_S_Gen5_12`, `GP_S_Gen5_14`, `GP_S_Gen5_16`, `GP_S_Gen5_18`, `GP_S_Gen5_20`, `GP_S_Gen5_24`, `GP_S_Gen5_32`, `GP_S_Gen5_40`, `GP_Gen5_2`, `GP_Gen5_4`, `GP_Gen5_6`, `GP_Gen5_8`, `GP_Gen5_10`, `GP_Gen5_12`, `GP_Gen5_14`, `GP_Gen5_16`, `GP_Gen5_18`, `GP_Gen5_20`, `GP_Gen5_24`, `GP_Gen5_32`, `GP_Gen5_40`, `GP_Gen5_80`, `BC_Gen5_2`, `BC_Gen5_4`, `BC_Gen5_6`, `BC_Gen5_8`, `BC_Gen5_10`, `BC_Gen5_12`, `BC_Gen5_14`, `BC_Gen5_16`, `BC_Gen5_18`, `BC_Gen5_20`, `BC_Gen5_24`, `BC_Gen5_32`, `BC_Gen5_40`, `BC_Gen5_80`, `HS_Gen5_2`, `HS_Gen5_4`, `HS_Gen5_6`, `HS_Gen5_8`, `HS_Gen5_10`, `HS_Gen5_12`, `HS_Gen5_14`, `HS_Gen5_16`, `HS_Gen5_18`, `HS_Gen5_20`, `HS_Gen5_24`, `HS_Gen5_32`, `HS_Gen5_40` and `HS_Gen5_80`. Mutually exclusive with \u003cspan pulumi-lang-nodejs=\"`elasticPoolName`\" pulumi-lang-dotnet=\"`ElasticPoolName`\" pulumi-lang-go=\"`elasticPoolName`\" pulumi-lang-python=\"`elastic_pool_name`\" pulumi-lang-yaml=\"`elasticPoolName`\" pulumi-lang-java=\"`elasticPoolName`\"\u003e`elastic_pool_name`\u003c/span\u003e.\n"},"serverEndpoint":{"type":"string","description":"The endpoint of an Azure SQL Server that will be used to host the SSIS catalog.\n"}},"type":"object","required":["serverEndpoint"]},"azure:datafactory/IntegrationRuntimeSsisCopyComputeScale:IntegrationRuntimeSsisCopyComputeScale":{"properties":{"dataIntegrationUnit":{"type":"integer","description":"Specifies the data integration unit number setting reserved for copy activity execution. Supported values are multiples of \u003cspan pulumi-lang-nodejs=\"`4`\" pulumi-lang-dotnet=\"`4`\" pulumi-lang-go=\"`4`\" pulumi-lang-python=\"`4`\" pulumi-lang-yaml=\"`4`\" pulumi-lang-java=\"`4`\"\u003e`4`\u003c/span\u003e in range 4-256.\n"},"timeToLive":{"type":"integer","description":"Specifies the time to live (in minutes) setting of integration runtime which will execute copy activity. Possible values are at least \u003cspan pulumi-lang-nodejs=\"`5`\" pulumi-lang-dotnet=\"`5`\" pulumi-lang-go=\"`5`\" pulumi-lang-python=\"`5`\" pulumi-lang-yaml=\"`5`\" pulumi-lang-java=\"`5`\"\u003e`5`\u003c/span\u003e.\n"}},"type":"object"},"azure:datafactory/IntegrationRuntimeSsisCustomSetupScript:IntegrationRuntimeSsisCustomSetupScript":{"properties":{"blobContainerUri":{"type":"string","description":"The blob endpoint for the container which contains a custom setup script that will be run on every node on startup. See [https://docs.microsoft.com/azure/data-factory/how-to-configure-azure-ssis-ir-custom-setup](https://docs.microsoft.com/azure/data-factory/how-to-configure-azure-ssis-ir-custom-setup) for more information.\n"},"sasToken":{"type":"string","description":"A container SAS token that gives access to the files. See [https://docs.microsoft.com/azure/data-factory/how-to-configure-azure-ssis-ir-custom-setup](https://docs.microsoft.com/azure/data-factory/how-to-configure-azure-ssis-ir-custom-setup) for more information.\n","secret":true}},"type":"object","required":["blobContainerUri","sasToken"]},"azure:datafactory/IntegrationRuntimeSsisExpressCustomSetup:IntegrationRuntimeSsisExpressCustomSetup":{"properties":{"commandKeys":{"type":"array","items":{"$ref":"#/types/azure:datafactory/IntegrationRuntimeSsisExpressCustomSetupCommandKey:IntegrationRuntimeSsisExpressCustomSetupCommandKey"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`commandKey`\" pulumi-lang-dotnet=\"`CommandKey`\" pulumi-lang-go=\"`commandKey`\" pulumi-lang-python=\"`command_key`\" pulumi-lang-yaml=\"`commandKey`\" pulumi-lang-java=\"`commandKey`\"\u003e`command_key`\u003c/span\u003e blocks as defined below.\n"},"components":{"type":"array","items":{"$ref":"#/types/azure:datafactory/IntegrationRuntimeSsisExpressCustomSetupComponent:IntegrationRuntimeSsisExpressCustomSetupComponent"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`component`\" pulumi-lang-dotnet=\"`Component`\" pulumi-lang-go=\"`component`\" pulumi-lang-python=\"`component`\" pulumi-lang-yaml=\"`component`\" pulumi-lang-java=\"`component`\"\u003e`component`\u003c/span\u003e blocks as defined below.\n"},"environment":{"type":"object","additionalProperties":{"type":"string"},"description":"The Environment Variables for the Azure-SSIS Integration Runtime.\n"},"powershellVersion":{"type":"string","description":"The version of Azure Powershell installed for the Azure-SSIS Integration Runtime.\n\n\u003e **Note:** At least one of \u003cspan pulumi-lang-nodejs=\"`env`\" pulumi-lang-dotnet=\"`Env`\" pulumi-lang-go=\"`env`\" pulumi-lang-python=\"`env`\" pulumi-lang-yaml=\"`env`\" pulumi-lang-java=\"`env`\"\u003e`env`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`powershellVersion`\" pulumi-lang-dotnet=\"`PowershellVersion`\" pulumi-lang-go=\"`powershellVersion`\" pulumi-lang-python=\"`powershell_version`\" pulumi-lang-yaml=\"`powershellVersion`\" pulumi-lang-java=\"`powershellVersion`\"\u003e`powershell_version`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`component`\" pulumi-lang-dotnet=\"`Component`\" pulumi-lang-go=\"`component`\" pulumi-lang-python=\"`component`\" pulumi-lang-yaml=\"`component`\" pulumi-lang-java=\"`component`\"\u003e`component`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`commandKey`\" pulumi-lang-dotnet=\"`CommandKey`\" pulumi-lang-go=\"`commandKey`\" pulumi-lang-python=\"`command_key`\" pulumi-lang-yaml=\"`commandKey`\" pulumi-lang-java=\"`commandKey`\"\u003e`command_key`\u003c/span\u003e should be specified.\n"}},"type":"object"},"azure:datafactory/IntegrationRuntimeSsisExpressCustomSetupCommandKey:IntegrationRuntimeSsisExpressCustomSetupCommandKey":{"properties":{"keyVaultPassword":{"$ref":"#/types/azure:datafactory/IntegrationRuntimeSsisExpressCustomSetupCommandKeyKeyVaultPassword:IntegrationRuntimeSsisExpressCustomSetupCommandKeyKeyVaultPassword","description":"A \u003cspan pulumi-lang-nodejs=\"`keyVaultSecretReference`\" pulumi-lang-dotnet=\"`KeyVaultSecretReference`\" pulumi-lang-go=\"`keyVaultSecretReference`\" pulumi-lang-python=\"`key_vault_secret_reference`\" pulumi-lang-yaml=\"`keyVaultSecretReference`\" pulumi-lang-java=\"`keyVaultSecretReference`\"\u003e`key_vault_secret_reference`\u003c/span\u003e block as defined below.\n"},"password":{"type":"string","description":"The password for the target device.\n","secret":true},"targetName":{"type":"string","description":"The target computer or domain name.\n"},"userName":{"type":"string","description":"The username for the target device.\n"}},"type":"object","required":["targetName","userName"]},"azure:datafactory/IntegrationRuntimeSsisExpressCustomSetupCommandKeyKeyVaultPassword:IntegrationRuntimeSsisExpressCustomSetupCommandKeyKeyVaultPassword":{"properties":{"linkedServiceName":{"type":"string"},"parameters":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of parameters to associate with the Key Vault Data Factory Linked Service.\n"},"secretName":{"type":"string","description":"Specifies the secret name in Azure Key Vault.\n"},"secretVersion":{"type":"string","description":"Specifies the secret version in Azure Key Vault.\n"}},"type":"object","required":["linkedServiceName","secretName"]},"azure:datafactory/IntegrationRuntimeSsisExpressCustomSetupComponent:IntegrationRuntimeSsisExpressCustomSetupComponent":{"properties":{"keyVaultLicense":{"$ref":"#/types/azure:datafactory/IntegrationRuntimeSsisExpressCustomSetupComponentKeyVaultLicense:IntegrationRuntimeSsisExpressCustomSetupComponentKeyVaultLicense","description":"A \u003cspan pulumi-lang-nodejs=\"`keyVaultSecretReference`\" pulumi-lang-dotnet=\"`KeyVaultSecretReference`\" pulumi-lang-go=\"`keyVaultSecretReference`\" pulumi-lang-python=\"`key_vault_secret_reference`\" pulumi-lang-yaml=\"`keyVaultSecretReference`\" pulumi-lang-java=\"`keyVaultSecretReference`\"\u003e`key_vault_secret_reference`\u003c/span\u003e block as defined below.\n"},"license":{"type":"string","description":"The license used for the Component.\n","secret":true},"name":{"type":"string","description":"The Component Name installed for the Azure-SSIS Integration Runtime.\n"}},"type":"object","required":["name"]},"azure:datafactory/IntegrationRuntimeSsisExpressCustomSetupComponentKeyVaultLicense:IntegrationRuntimeSsisExpressCustomSetupComponentKeyVaultLicense":{"properties":{"linkedServiceName":{"type":"string"},"parameters":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of parameters to associate with the Key Vault Data Factory Linked Service.\n"},"secretName":{"type":"string","description":"Specifies the secret name in Azure Key Vault.\n"},"secretVersion":{"type":"string","description":"Specifies the secret version in Azure Key Vault.\n"}},"type":"object","required":["linkedServiceName","secretName"]},"azure:datafactory/IntegrationRuntimeSsisExpressVnetIntegration:IntegrationRuntimeSsisExpressVnetIntegration":{"properties":{"subnetId":{"type":"string","description":"id of the subnet to which the nodes of the Azure-SSIS Integration Runtime will be added.\n"}},"type":"object","required":["subnetId"]},"azure:datafactory/IntegrationRuntimeSsisPackageStore:IntegrationRuntimeSsisPackageStore":{"properties":{"linkedServiceName":{"type":"string","description":"Name of the Linked Service to associate with the packages.\n"},"name":{"type":"string","description":"Name of the package store.\n"}},"type":"object","required":["linkedServiceName","name"]},"azure:datafactory/IntegrationRuntimeSsisPipelineExternalComputeScale:IntegrationRuntimeSsisPipelineExternalComputeScale":{"properties":{"numberOfExternalNodes":{"type":"integer","description":"Specifies the number of the external nodes, which should be greater than \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e and less than \u003cspan pulumi-lang-nodejs=\"`11`\" pulumi-lang-dotnet=\"`11`\" pulumi-lang-go=\"`11`\" pulumi-lang-python=\"`11`\" pulumi-lang-yaml=\"`11`\" pulumi-lang-java=\"`11`\"\u003e`11`\u003c/span\u003e.\n"},"numberOfPipelineNodes":{"type":"integer","description":"Specifies the number of the pipeline nodes, which should be greater than \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e and less than \u003cspan pulumi-lang-nodejs=\"`11`\" pulumi-lang-dotnet=\"`11`\" pulumi-lang-go=\"`11`\" pulumi-lang-python=\"`11`\" pulumi-lang-yaml=\"`11`\" pulumi-lang-java=\"`11`\"\u003e`11`\u003c/span\u003e.\n"},"timeToLive":{"type":"integer","description":"Specifies the time to live (in minutes) setting of integration runtime which will execute copy activity. Possible values are at least \u003cspan pulumi-lang-nodejs=\"`5`\" pulumi-lang-dotnet=\"`5`\" pulumi-lang-go=\"`5`\" pulumi-lang-python=\"`5`\" pulumi-lang-yaml=\"`5`\" pulumi-lang-java=\"`5`\"\u003e`5`\u003c/span\u003e.\n"}},"type":"object"},"azure:datafactory/IntegrationRuntimeSsisProxy:IntegrationRuntimeSsisProxy":{"properties":{"path":{"type":"string","description":"The path in the data store to be used when moving data between Self-Hosted and Azure-SSIS Integration Runtimes.\n"},"selfHostedIntegrationRuntimeName":{"type":"string","description":"Name of Self Hosted Integration Runtime as a proxy.\n"},"stagingStorageLinkedServiceName":{"type":"string","description":"Name of Azure Blob Storage linked service to reference the staging data store to be used when moving data between self-hosted and Azure-SSIS integration runtimes.\n"}},"type":"object","required":["selfHostedIntegrationRuntimeName","stagingStorageLinkedServiceName"]},"azure:datafactory/IntegrationRuntimeSsisVnetIntegration:IntegrationRuntimeSsisVnetIntegration":{"properties":{"publicIps":{"type":"array","items":{"type":"string"},"description":"Static public IP addresses for the Azure-SSIS Integration Runtime. The size must be 2.\n"},"subnetId":{"type":"string","description":"id of the subnet to which the nodes of the Azure-SSIS Integration Runtime will be added.\n\n\u003e **Note:** Only one of \u003cspan pulumi-lang-nodejs=\"`subnetId`\" pulumi-lang-dotnet=\"`SubnetId`\" pulumi-lang-go=\"`subnetId`\" pulumi-lang-python=\"`subnet_id`\" pulumi-lang-yaml=\"`subnetId`\" pulumi-lang-java=\"`subnetId`\"\u003e`subnet_id`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`subnetName`\" pulumi-lang-dotnet=\"`SubnetName`\" pulumi-lang-go=\"`subnetName`\" pulumi-lang-python=\"`subnet_name`\" pulumi-lang-yaml=\"`subnetName`\" pulumi-lang-java=\"`subnetName`\"\u003e`subnet_name`\u003c/span\u003e can be specified. If \u003cspan pulumi-lang-nodejs=\"`subnetName`\" pulumi-lang-dotnet=\"`SubnetName`\" pulumi-lang-go=\"`subnetName`\" pulumi-lang-python=\"`subnet_name`\" pulumi-lang-yaml=\"`subnetName`\" pulumi-lang-java=\"`subnetName`\"\u003e`subnet_name`\u003c/span\u003e is specified, \u003cspan pulumi-lang-nodejs=\"`vnetId`\" pulumi-lang-dotnet=\"`VnetId`\" pulumi-lang-go=\"`vnetId`\" pulumi-lang-python=\"`vnet_id`\" pulumi-lang-yaml=\"`vnetId`\" pulumi-lang-java=\"`vnetId`\"\u003e`vnet_id`\u003c/span\u003e must be provided.\n"},"subnetName":{"type":"string","description":"Name of the subnet to which the nodes of the Azure-SSIS Integration Runtime will be added.\n"},"vnetId":{"type":"string","description":"ID of the virtual network to which the nodes of the Azure-SSIS Integration Runtime will be added.\n"}},"type":"object"},"azure:datafactory/LinkedCustomServiceIntegrationRuntime:LinkedCustomServiceIntegrationRuntime":{"properties":{"name":{"type":"string","description":"The integration runtime reference to associate with the Data Factory Linked Service.\n"},"parameters":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of parameters to associate with the integration runtime.\n"}},"type":"object","required":["name"]},"azure:datafactory/LinkedServiceAzureBlobStorageKeyVaultSasToken:LinkedServiceAzureBlobStorageKeyVaultSasToken":{"properties":{"linkedServiceName":{"type":"string"},"secretName":{"type":"string"}},"type":"object","required":["linkedServiceName","secretName"]},"azure:datafactory/LinkedServiceAzureBlobStorageSasTokenLinkedKeyVaultKey:LinkedServiceAzureBlobStorageSasTokenLinkedKeyVaultKey":{"properties":{"linkedServiceName":{"type":"string","description":"Specifies the name of an existing Key Vault Data Factory Linked Service.\n"},"secretName":{"type":"string","description":"Specifies the secret name in Azure Key Vault that stores the SAS token.\n"}},"type":"object","required":["linkedServiceName","secretName"]},"azure:datafactory/LinkedServiceAzureBlobStorageServicePrincipalLinkedKeyVaultKey:LinkedServiceAzureBlobStorageServicePrincipalLinkedKeyVaultKey":{"properties":{"linkedServiceName":{"type":"string","description":"Specifies the name of an existing Key Vault Data Factory Linked Service.\n"},"secretName":{"type":"string","description":"Specifies the secret name in Azure Key Vault that stores the Service Principal key.\n"}},"type":"object","required":["linkedServiceName","secretName"]},"azure:datafactory/LinkedServiceAzureDatabricksInstancePool:LinkedServiceAzureDatabricksInstancePool":{"properties":{"clusterVersion":{"type":"string","description":"Spark version of a the cluster.\n"},"instancePoolId":{"type":"string","description":"Identifier of the instance pool within the linked ADB instance.\n"},"maxNumberOfWorkers":{"type":"integer","description":"The max number of worker nodes. Set this value if you want to enable autoscaling between the \u003cspan pulumi-lang-nodejs=\"`minNumberOfWorkers`\" pulumi-lang-dotnet=\"`MinNumberOfWorkers`\" pulumi-lang-go=\"`minNumberOfWorkers`\" pulumi-lang-python=\"`min_number_of_workers`\" pulumi-lang-yaml=\"`minNumberOfWorkers`\" pulumi-lang-java=\"`minNumberOfWorkers`\"\u003e`min_number_of_workers`\u003c/span\u003e and this value. Omit this value to use a fixed number of workers defined in the \u003cspan pulumi-lang-nodejs=\"`minNumberOfWorkers`\" pulumi-lang-dotnet=\"`MinNumberOfWorkers`\" pulumi-lang-go=\"`minNumberOfWorkers`\" pulumi-lang-python=\"`min_number_of_workers`\" pulumi-lang-yaml=\"`minNumberOfWorkers`\" pulumi-lang-java=\"`minNumberOfWorkers`\"\u003e`min_number_of_workers`\u003c/span\u003e property.\n"},"minNumberOfWorkers":{"type":"integer","description":"The minimum number of worker nodes. Defaults to \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e.\n"}},"type":"object","required":["clusterVersion","instancePoolId"]},"azure:datafactory/LinkedServiceAzureDatabricksKeyVaultPassword:LinkedServiceAzureDatabricksKeyVaultPassword":{"properties":{"linkedServiceName":{"type":"string","description":"Specifies the name of an existing Key Vault Data Factory Linked Service.\n"},"secretName":{"type":"string","description":"Specifies the secret name in Azure Key Vault that stores ADB access token.\n"}},"type":"object","required":["linkedServiceName","secretName"]},"azure:datafactory/LinkedServiceAzureDatabricksNewClusterConfig:LinkedServiceAzureDatabricksNewClusterConfig":{"properties":{"clusterVersion":{"type":"string","description":"Spark version of a the cluster.\n"},"customTags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags for the cluster resource.\n"},"driverNodeType":{"type":"string","description":"Driver node type for the cluster.\n"},"initScripts":{"type":"array","items":{"type":"string"},"description":"User defined initialization scripts for the cluster.\n"},"logDestination":{"type":"string","description":"Location to deliver Spark driver, worker, and event logs.\n"},"maxNumberOfWorkers":{"type":"integer","description":"Specifies the maximum number of worker nodes. It should be between 1 and 25000.\n"},"minNumberOfWorkers":{"type":"integer","description":"Specifies the minimum number of worker nodes. It should be between 1 and 25000. It defaults to \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e.\n"},"nodeType":{"type":"string","description":"Node type for the new cluster.\n"},"sparkConfig":{"type":"object","additionalProperties":{"type":"string"},"description":"User-specified Spark configuration variables key-value pairs.\n"},"sparkEnvironmentVariables":{"type":"object","additionalProperties":{"type":"string"},"description":"User-specified Spark environment variables key-value pairs.\n"}},"type":"object","required":["clusterVersion","nodeType"]},"azure:datafactory/LinkedServiceAzureFileStorageKeyVaultPassword:LinkedServiceAzureFileStorageKeyVaultPassword":{"properties":{"linkedServiceName":{"type":"string","description":"Specifies the name of an existing Key Vault Data Factory Linked Service.\n"},"secretName":{"type":"string","description":"Specifies the secret name in Azure Key Vault that stores Azure File Storage password.\n"}},"type":"object","required":["linkedServiceName","secretName"]},"azure:datafactory/LinkedServiceAzureFunctionKeyVaultKey:LinkedServiceAzureFunctionKeyVaultKey":{"properties":{"linkedServiceName":{"type":"string","description":"Specifies the name of an existing Key Vault Data Factory Linked Service.\n"},"secretName":{"type":"string","description":"Specifies the secret name in Azure Key Vault that stores the system key of the Azure Function.\n"}},"type":"object","required":["linkedServiceName","secretName"]},"azure:datafactory/LinkedServiceAzureSqlDatabaseKeyVaultConnectionString:LinkedServiceAzureSqlDatabaseKeyVaultConnectionString":{"properties":{"linkedServiceName":{"type":"string","description":"Specifies the name of an existing Key Vault Data Factory Linked Service.\n"},"secretName":{"type":"string","description":"Specifies the secret name in Azure Key Vault that stores SQL Server connection string.\n"}},"type":"object","required":["linkedServiceName","secretName"]},"azure:datafactory/LinkedServiceAzureSqlDatabaseKeyVaultPassword:LinkedServiceAzureSqlDatabaseKeyVaultPassword":{"properties":{"linkedServiceName":{"type":"string","description":"Specifies the name of an existing Key Vault Data Factory Linked Service.\n"},"secretName":{"type":"string","description":"Specifies the secret name in Azure Key Vault that stores SQL Server password.\n"}},"type":"object","required":["linkedServiceName","secretName"]},"azure:datafactory/LinkedServiceOdataBasicAuthentication:LinkedServiceOdataBasicAuthentication":{"properties":{"password":{"type":"string","description":"The password associated with the username, which can be used to authenticate to the OData endpoint.\n","secret":true},"username":{"type":"string","description":"The username which can be used to authenticate to the OData endpoint.\n"}},"type":"object","required":["password","username"]},"azure:datafactory/LinkedServiceOdbcBasicAuthentication:LinkedServiceOdbcBasicAuthentication":{"properties":{"password":{"type":"string","description":"The password associated with the username, which can be used to authenticate to the ODBC endpoint.\n","secret":true},"username":{"type":"string","description":"The username which can be used to authenticate to the ODBC endpoint.\n"}},"type":"object","required":["password","username"]},"azure:datafactory/LinkedServiceSftpKeyVaultPassword:LinkedServiceSftpKeyVaultPassword":{"properties":{"linkedServiceName":{"type":"string","description":"Specifies the name of an existing Key Vault Data Factory Linked Service.\n"},"secretName":{"type":"string","description":"Specifies the name of the secret containing the password.\n"}},"type":"object","required":["linkedServiceName","secretName"]},"azure:datafactory/LinkedServiceSftpKeyVaultPrivateKeyContentBase64:LinkedServiceSftpKeyVaultPrivateKeyContentBase64":{"properties":{"linkedServiceName":{"type":"string","description":"Specifies the name of an existing Key Vault Data Factory Linked Service.\n"},"secretName":{"type":"string","description":"Specifies the name of the secret containing the Base64 encoded SSH private key.\n"}},"type":"object","required":["linkedServiceName","secretName"]},"azure:datafactory/LinkedServiceSftpKeyVaultPrivateKeyPassphrase:LinkedServiceSftpKeyVaultPrivateKeyPassphrase":{"properties":{"linkedServiceName":{"type":"string","description":"Specifies the name of an existing Key Vault Data Factory Linked Service.\n"},"secretName":{"type":"string","description":"Specifies the name of the secret containing the SSH private key passphrase.\n"}},"type":"object","required":["linkedServiceName","secretName"]},"azure:datafactory/LinkedServiceSnowflakeKeyVaultPassword:LinkedServiceSnowflakeKeyVaultPassword":{"properties":{"linkedServiceName":{"type":"string","description":"Specifies the name of an existing Key Vault Data Factory Linked Service.\n"},"secretName":{"type":"string","description":"Specifies the secret name in Azure Key Vault that stores Snowflake password.\n"}},"type":"object","required":["linkedServiceName","secretName"]},"azure:datafactory/LinkedServiceSqlManagedInstanceKeyVaultConnectionString:LinkedServiceSqlManagedInstanceKeyVaultConnectionString":{"properties":{"linkedServiceName":{"type":"string","description":"Specifies the name of an existing Key Vault Data Factory Linked Service.\n"},"secretName":{"type":"string","description":"Specifies the secret name in Azure Key Vault that stores SQL Managed Instance connection string.\n"}},"type":"object","required":["linkedServiceName","secretName"]},"azure:datafactory/LinkedServiceSqlManagedInstanceKeyVaultPassword:LinkedServiceSqlManagedInstanceKeyVaultPassword":{"properties":{"linkedServiceName":{"type":"string","description":"Specifies the name of an existing Key Vault Data Factory Linked Service.\n"},"secretName":{"type":"string","description":"Specifies the secret name in Azure Key Vault that stores SQL Managed Instance password.\n"}},"type":"object","required":["linkedServiceName","secretName"]},"azure:datafactory/LinkedServiceSqlServerKeyVaultConnectionString:LinkedServiceSqlServerKeyVaultConnectionString":{"properties":{"linkedServiceName":{"type":"string","description":"Specifies the name of an existing Key Vault Data Factory Linked Service.\n"},"secretName":{"type":"string","description":"Specifies the secret name in Azure Key Vault that stores SQL Server connection string.\n"}},"type":"object","required":["linkedServiceName","secretName"]},"azure:datafactory/LinkedServiceSqlServerKeyVaultPassword:LinkedServiceSqlServerKeyVaultPassword":{"properties":{"linkedServiceName":{"type":"string","description":"Specifies the name of an existing Key Vault Data Factory Linked Service.\n"},"secretName":{"type":"string","description":"Specifies the secret name in Azure Key Vault that stores SQL Server password.\n"}},"type":"object","required":["linkedServiceName","secretName"]},"azure:datafactory/LinkedServiceSynapseKeyVaultPassword:LinkedServiceSynapseKeyVaultPassword":{"properties":{"linkedServiceName":{"type":"string","description":"Specifies the name of an existing Key Vault Data Factory Linked Service.\n"},"secretName":{"type":"string","description":"Specifies the secret name in Azure Key Vault that stores Synapse password.\n"}},"type":"object","required":["linkedServiceName","secretName"]},"azure:datafactory/TriggerBlobEventPipeline:TriggerBlobEventPipeline":{"properties":{"name":{"type":"string","description":"The Data Factory Pipeline name that the trigger will act on.\n"},"parameters":{"type":"object","additionalProperties":{"type":"string"},"description":"The Data Factory Pipeline parameters that the trigger will act on.\n"}},"type":"object","required":["name"]},"azure:datafactory/TriggerCustomEventPipeline:TriggerCustomEventPipeline":{"properties":{"name":{"type":"string","description":"The Data Factory Pipeline name that the trigger will act on.\n"},"parameters":{"type":"object","additionalProperties":{"type":"string"},"description":"The Data Factory Pipeline parameters that the trigger will act on.\n"}},"type":"object","required":["name"]},"azure:datafactory/TriggerSchedulePipeline:TriggerSchedulePipeline":{"properties":{"name":{"type":"string","description":"Reference pipeline name.\n"},"parameters":{"type":"object","additionalProperties":{"type":"string"},"description":"The pipeline parameters that the trigger will act upon.\n"}},"type":"object","required":["name"]},"azure:datafactory/TriggerScheduleSchedule:TriggerScheduleSchedule":{"properties":{"daysOfMonths":{"type":"array","items":{"type":"integer"},"description":"Day(s) of the month on which the trigger is scheduled. This value can be specified with a monthly frequency only.\n"},"daysOfWeeks":{"type":"array","items":{"type":"string"},"description":"Days of the week on which the trigger is scheduled. This value can be specified only with a weekly frequency.\n"},"hours":{"type":"array","items":{"type":"integer"},"description":"Hours of the day on which the trigger is scheduled.\n"},"minutes":{"type":"array","items":{"type":"integer"},"description":"Minutes of the hour on which the trigger is scheduled.\n"},"monthlies":{"type":"array","items":{"$ref":"#/types/azure:datafactory/TriggerScheduleScheduleMonthly:TriggerScheduleScheduleMonthly"},"description":"A \u003cspan pulumi-lang-nodejs=\"`monthly`\" pulumi-lang-dotnet=\"`Monthly`\" pulumi-lang-go=\"`monthly`\" pulumi-lang-python=\"`monthly`\" pulumi-lang-yaml=\"`monthly`\" pulumi-lang-java=\"`monthly`\"\u003e`monthly`\u003c/span\u003e block as documented below, which specifies the days of the month on which the trigger is scheduled. The value can be specified only with a monthly frequency.\n"}},"type":"object"},"azure:datafactory/TriggerScheduleScheduleMonthly:TriggerScheduleScheduleMonthly":{"properties":{"week":{"type":"integer","description":"The occurrence of the specified day during the month. For example, a \u003cspan pulumi-lang-nodejs=\"`monthly`\" pulumi-lang-dotnet=\"`Monthly`\" pulumi-lang-go=\"`monthly`\" pulumi-lang-python=\"`monthly`\" pulumi-lang-yaml=\"`monthly`\" pulumi-lang-java=\"`monthly`\"\u003e`monthly`\u003c/span\u003e property with \u003cspan pulumi-lang-nodejs=\"`weekday`\" pulumi-lang-dotnet=\"`Weekday`\" pulumi-lang-go=\"`weekday`\" pulumi-lang-python=\"`weekday`\" pulumi-lang-yaml=\"`weekday`\" pulumi-lang-java=\"`weekday`\"\u003e`weekday`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`week`\" pulumi-lang-dotnet=\"`Week`\" pulumi-lang-go=\"`week`\" pulumi-lang-python=\"`week`\" pulumi-lang-yaml=\"`week`\" pulumi-lang-java=\"`week`\"\u003e`week`\u003c/span\u003e values of `Sunday, -1` means the last Sunday of the month.\n"},"weekday":{"type":"string","description":"The day of the week on which the trigger runs. For example, a \u003cspan pulumi-lang-nodejs=\"`monthly`\" pulumi-lang-dotnet=\"`Monthly`\" pulumi-lang-go=\"`monthly`\" pulumi-lang-python=\"`monthly`\" pulumi-lang-yaml=\"`monthly`\" pulumi-lang-java=\"`monthly`\"\u003e`monthly`\u003c/span\u003e property with a \u003cspan pulumi-lang-nodejs=\"`weekday`\" pulumi-lang-dotnet=\"`Weekday`\" pulumi-lang-go=\"`weekday`\" pulumi-lang-python=\"`weekday`\" pulumi-lang-yaml=\"`weekday`\" pulumi-lang-java=\"`weekday`\"\u003e`weekday`\u003c/span\u003e value of `Sunday` means every Sunday of the month.\n"}},"type":"object","required":["weekday"]},"azure:datafactory/TriggerTumblingWindowPipeline:TriggerTumblingWindowPipeline":{"properties":{"name":{"type":"string","description":"The Data Factory Pipeline name that the trigger will act on.\n"},"parameters":{"type":"object","additionalProperties":{"type":"string"},"description":"The Data Factory Pipeline parameters that the trigger will act on.\n"}},"type":"object","required":["name"]},"azure:datafactory/TriggerTumblingWindowRetry:TriggerTumblingWindowRetry":{"properties":{"count":{"type":"integer","description":"The maximum retry attempts if the pipeline run failed.\n"},"interval":{"type":"integer","description":"The Interval in seconds between each retry if the pipeline run failed. Defaults to \u003cspan pulumi-lang-nodejs=\"`30`\" pulumi-lang-dotnet=\"`30`\" pulumi-lang-go=\"`30`\" pulumi-lang-python=\"`30`\" pulumi-lang-yaml=\"`30`\" pulumi-lang-java=\"`30`\"\u003e`30`\u003c/span\u003e.\n"}},"type":"object","required":["count"]},"azure:datafactory/TriggerTumblingWindowTriggerDependency:TriggerTumblingWindowTriggerDependency":{"properties":{"offset":{"type":"string","description":"The offset of the dependency trigger. Must be in Timespan format (±hh:mm:ss) and must be a negative offset for a self dependency.\n"},"size":{"type":"string","description":"The size of the dependency tumbling window. Must be in Timespan format (hh:mm:ss).\n"},"triggerName":{"type":"string","description":"The dependency trigger name. If not specified, it will use self dependency.\n"}},"type":"object"},"azure:datafactory/getFactoryGithubConfiguration:getFactoryGithubConfiguration":{"properties":{"accountName":{"type":"string","description":"The VSTS account name.\n"},"branchName":{"type":"string","description":"The branch of the repository to get code from.\n"},"gitUrl":{"type":"string","description":"The GitHub repository url.\n"},"repositoryName":{"type":"string","description":"The name of the git repository.\n"},"rootFolder":{"type":"string","description":"The root folder within the repository.\n"}},"type":"object","required":["accountName","branchName","gitUrl","repositoryName","rootFolder"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:datafactory/getFactoryIdentity:getFactoryIdentity":{"properties":{"identityIds":{"type":"array","items":{"type":"string"},"description":"The list of User Assigned Managed Identity IDs assigned to this Data Factory.\n"},"principalId":{"type":"string","description":"The Principal ID of the System Assigned Managed Service Identity that is configured on this Data Factory.\n"},"tenantId":{"type":"string","description":"The Tenant ID associated with the VSTS account.\n"},"type":{"type":"string","description":"The type of Managed Service Identity that is configured on this Data Factory.\n"}},"type":"object","required":["identityIds","principalId","tenantId","type"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:datafactory/getFactoryVstsConfiguration:getFactoryVstsConfiguration":{"properties":{"accountName":{"type":"string","description":"The VSTS account name.\n"},"branchName":{"type":"string","description":"The branch of the repository to get code from.\n"},"projectName":{"type":"string","description":"The name of the VSTS project.\n"},"repositoryName":{"type":"string","description":"The name of the git repository.\n"},"rootFolder":{"type":"string","description":"The root folder within the repository.\n"},"tenantId":{"type":"string","description":"The Tenant ID associated with the VSTS account.\n"}},"type":"object","required":["accountName","branchName","projectName","repositoryName","rootFolder","tenantId"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:datafactory/getTriggerScheduleSchedule:getTriggerScheduleSchedule":{"properties":{"daysOfMonths":{"type":"array","items":{"type":"integer"},"description":"Day(s) of the month on which the trigger is scheduled.\n"},"daysOfWeeks":{"type":"array","items":{"type":"string"},"description":"Day(s) of the week on which the trigger is scheduled.\n"},"hours":{"type":"array","items":{"type":"integer"},"description":"Hours of the day on which the trigger is scheduled.\n"},"minutes":{"type":"array","items":{"type":"integer"},"description":"Minutes of the hour on which the trigger is scheduled.\n"},"monthlies":{"type":"array","items":{"$ref":"#/types/azure:datafactory/getTriggerScheduleScheduleMonthly:getTriggerScheduleScheduleMonthly"},"description":"A \u003cspan pulumi-lang-nodejs=\"`monthly`\" pulumi-lang-dotnet=\"`Monthly`\" pulumi-lang-go=\"`monthly`\" pulumi-lang-python=\"`monthly`\" pulumi-lang-yaml=\"`monthly`\" pulumi-lang-java=\"`monthly`\"\u003e`monthly`\u003c/span\u003e block as documented below, which specifies the days of the month on which the trigger is scheduled.\n"}},"type":"object","required":["daysOfMonths","daysOfWeeks","hours","minutes","monthlies"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:datafactory/getTriggerScheduleScheduleMonthly:getTriggerScheduleScheduleMonthly":{"properties":{"week":{"type":"integer","description":"The occurrence of the specified day during the month.\n"},"weekday":{"type":"string","description":"The day of the week on which the trigger runs.\n"}},"type":"object","required":["week","weekday"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:dataprotection/BackupInstanceKubernetesClusterBackupDatasourceParameters:BackupInstanceKubernetesClusterBackupDatasourceParameters":{"properties":{"clusterScopedResourcesEnabled":{"type":"boolean","description":"Whether to include cluster scope resources during backup. Default to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"excludedNamespaces":{"type":"array","items":{"type":"string"},"description":"Specifies the namespaces to be excluded during backup. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"excludedResourceTypes":{"type":"array","items":{"type":"string"},"description":"Specifies the resource types to be excluded during backup. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"includedNamespaces":{"type":"array","items":{"type":"string"},"description":"Specifies the namespaces to be included during backup. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"includedResourceTypes":{"type":"array","items":{"type":"string"},"description":"Specifies the resource types to be included during backup. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"labelSelectors":{"type":"array","items":{"type":"string"},"description":"Specifies the resources with such label selectors to be included during backup. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"volumeSnapshotEnabled":{"type":"boolean","description":"Whether to take volume snapshots during backup. Default to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"},"azure:dataprotection/BackupPolicyBlobStorageRetentionRule:BackupPolicyBlobStorageRetentionRule":{"properties":{"criteria":{"$ref":"#/types/azure:dataprotection/BackupPolicyBlobStorageRetentionRuleCriteria:BackupPolicyBlobStorageRetentionRuleCriteria","description":"A \u003cspan pulumi-lang-nodejs=\"`criteria`\" pulumi-lang-dotnet=\"`Criteria`\" pulumi-lang-go=\"`criteria`\" pulumi-lang-python=\"`criteria`\" pulumi-lang-yaml=\"`criteria`\" pulumi-lang-java=\"`criteria`\"\u003e`criteria`\u003c/span\u003e block as defined below. Changing this forces a new Backup Policy Blob Storage to be created.\n","willReplaceOnChanges":true},"lifeCycle":{"$ref":"#/types/azure:dataprotection/BackupPolicyBlobStorageRetentionRuleLifeCycle:BackupPolicyBlobStorageRetentionRuleLifeCycle","description":"A \u003cspan pulumi-lang-nodejs=\"`lifeCycle`\" pulumi-lang-dotnet=\"`LifeCycle`\" pulumi-lang-go=\"`lifeCycle`\" pulumi-lang-python=\"`life_cycle`\" pulumi-lang-yaml=\"`lifeCycle`\" pulumi-lang-java=\"`lifeCycle`\"\u003e`life_cycle`\u003c/span\u003e block as defined below. Changing this forces a new Backup Policy Blob Storage to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this retention rule. Changing this forces a new Backup Policy Blob Storage to be created.\n","willReplaceOnChanges":true},"priority":{"type":"integer","description":"Specifies the priority of the rule. The priority number must be unique for each rule. The lower the priority number, the higher the priority of the rule. Changing this forces a new Backup Policy Blob Storage to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["criteria","lifeCycle","name","priority"]},"azure:dataprotection/BackupPolicyBlobStorageRetentionRuleCriteria:BackupPolicyBlobStorageRetentionRuleCriteria":{"properties":{"absoluteCriteria":{"type":"string","description":"Possible values are `AllBackup`, `FirstOfDay`, `FirstOfWeek`, `FirstOfMonth` and `FirstOfYear`. These values mean the first successful backup of the day/week/month/year. Changing this forces a new Backup Policy Blob Storage to be created.\n","willReplaceOnChanges":true},"daysOfMonths":{"type":"array","items":{"type":"integer"},"description":"Must be between \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`28`\" pulumi-lang-dotnet=\"`28`\" pulumi-lang-go=\"`28`\" pulumi-lang-python=\"`28`\" pulumi-lang-yaml=\"`28`\" pulumi-lang-java=\"`28`\"\u003e`28`\u003c/span\u003e. \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e for last day within the month. Changing this forces a new Backup Policy Blob Storage to be created.\n","willReplaceOnChanges":true},"daysOfWeeks":{"type":"array","items":{"type":"string"},"description":"Possible values are `Monday`, `Tuesday`, `Thursday`, `Friday`, `Saturday` and `Sunday`. Changing this forces a new Backup Policy Blob Storage to be created.\n","willReplaceOnChanges":true},"monthsOfYears":{"type":"array","items":{"type":"string"},"description":"Possible values are `January`, `February`, `March`, `April`, `May`, `June`, `July`, `August`, `September`, `October`, `November` and `December`. Changing this forces a new Backup Policy Blob Storage to be created. When this property is specified, exactly one of the following must also be set: \u003cspan pulumi-lang-nodejs=\"`daysOfMonth`\" pulumi-lang-dotnet=\"`DaysOfMonth`\" pulumi-lang-go=\"`daysOfMonth`\" pulumi-lang-python=\"`days_of_month`\" pulumi-lang-yaml=\"`daysOfMonth`\" pulumi-lang-java=\"`daysOfMonth`\"\u003e`days_of_month`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`daysOfWeek`\" pulumi-lang-dotnet=\"`DaysOfWeek`\" pulumi-lang-go=\"`daysOfWeek`\" pulumi-lang-python=\"`days_of_week`\" pulumi-lang-yaml=\"`daysOfWeek`\" pulumi-lang-java=\"`daysOfWeek`\"\u003e`days_of_week`\u003c/span\u003e\n","willReplaceOnChanges":true},"scheduledBackupTimes":{"type":"array","items":{"type":"string"},"description":"Specifies a list of backup times for backup in the `RFC3339` format. Changing this forces a new Backup Policy Blob Storage to be created.\n","willReplaceOnChanges":true},"weeksOfMonths":{"type":"array","items":{"type":"string"},"description":"Possible values are `First`, `Second`, `Third`, `Fourth` and `Last`. Changing this forces a new Backup Policy Blob Storage to be created. When this property is specified, exactly one of the following must also be set: \u003cspan pulumi-lang-nodejs=\"`daysOfMonth`\" pulumi-lang-dotnet=\"`DaysOfMonth`\" pulumi-lang-go=\"`daysOfMonth`\" pulumi-lang-python=\"`days_of_month`\" pulumi-lang-yaml=\"`daysOfMonth`\" pulumi-lang-java=\"`daysOfMonth`\"\u003e`days_of_month`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`daysOfWeek`\" pulumi-lang-dotnet=\"`DaysOfWeek`\" pulumi-lang-go=\"`daysOfWeek`\" pulumi-lang-python=\"`days_of_week`\" pulumi-lang-yaml=\"`daysOfWeek`\" pulumi-lang-java=\"`daysOfWeek`\"\u003e`days_of_week`\u003c/span\u003e\n\n\u003e **Note:** When not using \u003cspan pulumi-lang-nodejs=\"`absoluteCriteria`\" pulumi-lang-dotnet=\"`AbsoluteCriteria`\" pulumi-lang-go=\"`absoluteCriteria`\" pulumi-lang-python=\"`absolute_criteria`\" pulumi-lang-yaml=\"`absoluteCriteria`\" pulumi-lang-java=\"`absoluteCriteria`\"\u003e`absolute_criteria`\u003c/span\u003e, you must use exactly one of \u003cspan pulumi-lang-nodejs=\"`daysOfMonth`\" pulumi-lang-dotnet=\"`DaysOfMonth`\" pulumi-lang-go=\"`daysOfMonth`\" pulumi-lang-python=\"`days_of_month`\" pulumi-lang-yaml=\"`daysOfMonth`\" pulumi-lang-java=\"`daysOfMonth`\"\u003e`days_of_month`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`daysOfWeek`\" pulumi-lang-dotnet=\"`DaysOfWeek`\" pulumi-lang-go=\"`daysOfWeek`\" pulumi-lang-python=\"`days_of_week`\" pulumi-lang-yaml=\"`daysOfWeek`\" pulumi-lang-java=\"`daysOfWeek`\"\u003e`days_of_week`\u003c/span\u003e. Regarding the remaining two properties, \u003cspan pulumi-lang-nodejs=\"`weeksOfMonth`\" pulumi-lang-dotnet=\"`WeeksOfMonth`\" pulumi-lang-go=\"`weeksOfMonth`\" pulumi-lang-python=\"`weeks_of_month`\" pulumi-lang-yaml=\"`weeksOfMonth`\" pulumi-lang-java=\"`weeksOfMonth`\"\u003e`weeks_of_month`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`monthsOfYear`\" pulumi-lang-dotnet=\"`MonthsOfYear`\" pulumi-lang-go=\"`monthsOfYear`\" pulumi-lang-python=\"`months_of_year`\" pulumi-lang-yaml=\"`monthsOfYear`\" pulumi-lang-java=\"`monthsOfYear`\"\u003e`months_of_year`\u003c/span\u003e, you may use either, both, or neither. If you would like to set multiple intervals, you may do so by using multiple \u003cspan pulumi-lang-nodejs=\"`retentionRule`\" pulumi-lang-dotnet=\"`RetentionRule`\" pulumi-lang-go=\"`retentionRule`\" pulumi-lang-python=\"`retention_rule`\" pulumi-lang-yaml=\"`retentionRule`\" pulumi-lang-java=\"`retentionRule`\"\u003e`retention_rule`\u003c/span\u003e blocks.\n","willReplaceOnChanges":true}},"type":"object"},"azure:dataprotection/BackupPolicyBlobStorageRetentionRuleLifeCycle:BackupPolicyBlobStorageRetentionRuleLifeCycle":{"properties":{"dataStoreType":{"type":"string","description":"The type of data store. The only possible value is `VaultStore`. Changing this forces a new Backup Policy Blob Storage to be created.\n","willReplaceOnChanges":true},"duration":{"type":"string","description":"The retention duration up to which the backups are to be retained in the data stores. It should follow `ISO 8601` duration format. Changing this forces a new Backup Policy Blob Storage to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["dataStoreType","duration"]},"azure:dataprotection/BackupPolicyDiskRetentionRule:BackupPolicyDiskRetentionRule":{"properties":{"criteria":{"$ref":"#/types/azure:dataprotection/BackupPolicyDiskRetentionRuleCriteria:BackupPolicyDiskRetentionRuleCriteria","description":"A \u003cspan pulumi-lang-nodejs=\"`criteria`\" pulumi-lang-dotnet=\"`Criteria`\" pulumi-lang-go=\"`criteria`\" pulumi-lang-python=\"`criteria`\" pulumi-lang-yaml=\"`criteria`\" pulumi-lang-java=\"`criteria`\"\u003e`criteria`\u003c/span\u003e block as defined below. Changing this forces a new Backup Policy Disk to be created.\n","willReplaceOnChanges":true},"duration":{"type":"string","description":"Duration of deletion after given timespan. It should follow `ISO 8601` duration format. Changing this forces a new Backup Policy Disk to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this retention rule. Changing this forces a new Backup Policy Disk to be created.\n","willReplaceOnChanges":true},"priority":{"type":"integer","description":"Retention Tag priority. Changing this forces a new Backup Policy Disk to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["criteria","duration","name","priority"]},"azure:dataprotection/BackupPolicyDiskRetentionRuleCriteria:BackupPolicyDiskRetentionRuleCriteria":{"properties":{"absoluteCriteria":{"type":"string","description":"Possible values are `AllBackup`, `FirstOfDay`, `FirstOfWeek`, `FirstOfMonth` and `FirstOfYear`. These values mean the first successful backup of the day/week/month/year. Changing this forces a new Backup Policy Disk to be created.\n","willReplaceOnChanges":true}},"type":"object"},"azure:dataprotection/BackupPolicyKubernetesClusterDefaultRetentionRule:BackupPolicyKubernetesClusterDefaultRetentionRule":{"properties":{"lifeCycles":{"type":"array","items":{"$ref":"#/types/azure:dataprotection/BackupPolicyKubernetesClusterDefaultRetentionRuleLifeCycle:BackupPolicyKubernetesClusterDefaultRetentionRuleLifeCycle"},"description":"A \u003cspan pulumi-lang-nodejs=\"`lifeCycle`\" pulumi-lang-dotnet=\"`LifeCycle`\" pulumi-lang-go=\"`lifeCycle`\" pulumi-lang-python=\"`life_cycle`\" pulumi-lang-yaml=\"`lifeCycle`\" pulumi-lang-java=\"`lifeCycle`\"\u003e`life_cycle`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["lifeCycles"]},"azure:dataprotection/BackupPolicyKubernetesClusterDefaultRetentionRuleLifeCycle:BackupPolicyKubernetesClusterDefaultRetentionRuleLifeCycle":{"properties":{"dataStoreType":{"type":"string","description":"The type of data store. The only possible value is `OperationalStore`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"duration":{"type":"string","description":"The retention duration up to which the backups are to be retained in the data stores. It should follow `ISO 8601` duration format. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["dataStoreType","duration"]},"azure:dataprotection/BackupPolicyKubernetesClusterRetentionRule:BackupPolicyKubernetesClusterRetentionRule":{"properties":{"criteria":{"$ref":"#/types/azure:dataprotection/BackupPolicyKubernetesClusterRetentionRuleCriteria:BackupPolicyKubernetesClusterRetentionRuleCriteria","description":"A \u003cspan pulumi-lang-nodejs=\"`criteria`\" pulumi-lang-dotnet=\"`Criteria`\" pulumi-lang-go=\"`criteria`\" pulumi-lang-python=\"`criteria`\" pulumi-lang-yaml=\"`criteria`\" pulumi-lang-java=\"`criteria`\"\u003e`criteria`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"lifeCycles":{"type":"array","items":{"$ref":"#/types/azure:dataprotection/BackupPolicyKubernetesClusterRetentionRuleLifeCycle:BackupPolicyKubernetesClusterRetentionRuleLifeCycle"},"description":"A \u003cspan pulumi-lang-nodejs=\"`lifeCycle`\" pulumi-lang-dotnet=\"`LifeCycle`\" pulumi-lang-go=\"`lifeCycle`\" pulumi-lang-python=\"`life_cycle`\" pulumi-lang-yaml=\"`lifeCycle`\" pulumi-lang-java=\"`lifeCycle`\"\u003e`life_cycle`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this retention rule. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"priority":{"type":"integer","description":"Specifies the priority of the rule. The priority number must be unique for each rule. The lower the priority number, the higher the priority of the rule. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["criteria","lifeCycles","name","priority"]},"azure:dataprotection/BackupPolicyKubernetesClusterRetentionRuleCriteria:BackupPolicyKubernetesClusterRetentionRuleCriteria":{"properties":{"absoluteCriteria":{"type":"string","description":"Possible values are `AllBackup`, `FirstOfDay`, `FirstOfWeek`, `FirstOfMonth` and `FirstOfYear`. These values mean the first successful backup of the day/week/month/year. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"daysOfWeeks":{"type":"array","items":{"type":"string"},"description":"Possible values are `Monday`, `Tuesday`, `Thursday`, `Friday`, `Saturday` and `Sunday`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"monthsOfYears":{"type":"array","items":{"type":"string"},"description":"Possible values are `January`, `February`, `March`, `April`, `May`, `June`, `July`, `August`, `September`, `October`, `November` and `December`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"scheduledBackupTimes":{"type":"array","items":{"type":"string"},"description":"Specifies a list of backup times for backup in the `RFC3339` format. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"weeksOfMonths":{"type":"array","items":{"type":"string"},"description":"Possible values are `First`, `Second`, `Third`, `Fourth` and `Last`. Changing this forces a new resource to be created.\n\n\u003e **Note:** When not using \u003cspan pulumi-lang-nodejs=\"`absoluteCriteria`\" pulumi-lang-dotnet=\"`AbsoluteCriteria`\" pulumi-lang-go=\"`absoluteCriteria`\" pulumi-lang-python=\"`absolute_criteria`\" pulumi-lang-yaml=\"`absoluteCriteria`\" pulumi-lang-java=\"`absoluteCriteria`\"\u003e`absolute_criteria`\u003c/span\u003e, you must use exactly one of \u003cspan pulumi-lang-nodejs=\"`daysOfMonth`\" pulumi-lang-dotnet=\"`DaysOfMonth`\" pulumi-lang-go=\"`daysOfMonth`\" pulumi-lang-python=\"`days_of_month`\" pulumi-lang-yaml=\"`daysOfMonth`\" pulumi-lang-java=\"`daysOfMonth`\"\u003e`days_of_month`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`daysOfWeek`\" pulumi-lang-dotnet=\"`DaysOfWeek`\" pulumi-lang-go=\"`daysOfWeek`\" pulumi-lang-python=\"`days_of_week`\" pulumi-lang-yaml=\"`daysOfWeek`\" pulumi-lang-java=\"`daysOfWeek`\"\u003e`days_of_week`\u003c/span\u003e. Regarding the remaining two properties, \u003cspan pulumi-lang-nodejs=\"`weeksOfMonth`\" pulumi-lang-dotnet=\"`WeeksOfMonth`\" pulumi-lang-go=\"`weeksOfMonth`\" pulumi-lang-python=\"`weeks_of_month`\" pulumi-lang-yaml=\"`weeksOfMonth`\" pulumi-lang-java=\"`weeksOfMonth`\"\u003e`weeks_of_month`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`monthsOfYear`\" pulumi-lang-dotnet=\"`MonthsOfYear`\" pulumi-lang-go=\"`monthsOfYear`\" pulumi-lang-python=\"`months_of_year`\" pulumi-lang-yaml=\"`monthsOfYear`\" pulumi-lang-java=\"`monthsOfYear`\"\u003e`months_of_year`\u003c/span\u003e, you may use either, both, or neither. If you would like to set multiple intervals, you may do so by using multiple \u003cspan pulumi-lang-nodejs=\"`retentionRule`\" pulumi-lang-dotnet=\"`RetentionRule`\" pulumi-lang-go=\"`retentionRule`\" pulumi-lang-python=\"`retention_rule`\" pulumi-lang-yaml=\"`retentionRule`\" pulumi-lang-java=\"`retentionRule`\"\u003e`retention_rule`\u003c/span\u003e blocks.\n","willReplaceOnChanges":true}},"type":"object"},"azure:dataprotection/BackupPolicyKubernetesClusterRetentionRuleLifeCycle:BackupPolicyKubernetesClusterRetentionRuleLifeCycle":{"properties":{"dataStoreType":{"type":"string","description":"The type of data store. The only possible value is `OperationalStore`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"duration":{"type":"string","description":"The retention duration up to which the backups are to be retained in the data stores. It should follow `ISO 8601` duration format. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["dataStoreType","duration"]},"azure:dataprotection/BackupPolicyMysqlFlexibleServerDefaultRetentionRule:BackupPolicyMysqlFlexibleServerDefaultRetentionRule":{"properties":{"lifeCycles":{"type":"array","items":{"$ref":"#/types/azure:dataprotection/BackupPolicyMysqlFlexibleServerDefaultRetentionRuleLifeCycle:BackupPolicyMysqlFlexibleServerDefaultRetentionRuleLifeCycle"},"description":"A \u003cspan pulumi-lang-nodejs=\"`lifeCycle`\" pulumi-lang-dotnet=\"`LifeCycle`\" pulumi-lang-go=\"`lifeCycle`\" pulumi-lang-python=\"`life_cycle`\" pulumi-lang-yaml=\"`lifeCycle`\" pulumi-lang-java=\"`lifeCycle`\"\u003e`life_cycle`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["lifeCycles"]},"azure:dataprotection/BackupPolicyMysqlFlexibleServerDefaultRetentionRuleLifeCycle:BackupPolicyMysqlFlexibleServerDefaultRetentionRuleLifeCycle":{"properties":{"dataStoreType":{"type":"string","description":"The type of data store. The only possible value is `VaultStore`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"duration":{"type":"string","description":"The retention duration up to which the backups are to be retained in the data stores. It should follow `ISO 8601` duration format. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["dataStoreType","duration"]},"azure:dataprotection/BackupPolicyMysqlFlexibleServerRetentionRule:BackupPolicyMysqlFlexibleServerRetentionRule":{"properties":{"criteria":{"$ref":"#/types/azure:dataprotection/BackupPolicyMysqlFlexibleServerRetentionRuleCriteria:BackupPolicyMysqlFlexibleServerRetentionRuleCriteria","description":"A \u003cspan pulumi-lang-nodejs=\"`criteria`\" pulumi-lang-dotnet=\"`Criteria`\" pulumi-lang-go=\"`criteria`\" pulumi-lang-python=\"`criteria`\" pulumi-lang-yaml=\"`criteria`\" pulumi-lang-java=\"`criteria`\"\u003e`criteria`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"lifeCycles":{"type":"array","items":{"$ref":"#/types/azure:dataprotection/BackupPolicyMysqlFlexibleServerRetentionRuleLifeCycle:BackupPolicyMysqlFlexibleServerRetentionRuleLifeCycle"},"description":"A \u003cspan pulumi-lang-nodejs=\"`lifeCycle`\" pulumi-lang-dotnet=\"`LifeCycle`\" pulumi-lang-go=\"`lifeCycle`\" pulumi-lang-python=\"`life_cycle`\" pulumi-lang-yaml=\"`lifeCycle`\" pulumi-lang-java=\"`lifeCycle`\"\u003e`life_cycle`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the retention rule. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"priority":{"type":"integer","description":"Specifies the priority of the rule. The priority number must be unique for each rule. The lower the priority number, the higher the priority of the rule. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["criteria","lifeCycles","name","priority"]},"azure:dataprotection/BackupPolicyMysqlFlexibleServerRetentionRuleCriteria:BackupPolicyMysqlFlexibleServerRetentionRuleCriteria":{"properties":{"absoluteCriteria":{"type":"string","description":"Possible values are `AllBackup`, `FirstOfDay`, `FirstOfWeek`, `FirstOfMonth` and `FirstOfYear`. These values mean the first successful backup of the day/week/month/year. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"daysOfWeeks":{"type":"array","items":{"type":"string"},"description":"Possible values are `Monday`, `Tuesday`, `Wednesday`, `Thursday`, `Friday`, `Saturday` and `Sunday`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"monthsOfYears":{"type":"array","items":{"type":"string"},"description":"Possible values are `January`, `February`, `March`, `April`, `May`, `June`, `July`, `August`, `September`, `October`, `November` and `December`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"scheduledBackupTimes":{"type":"array","items":{"type":"string"},"description":"Specifies a list of backup times for backup in the `RFC3339` format. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"weeksOfMonths":{"type":"array","items":{"type":"string"},"description":"Possible values are `First`, `Second`, `Third`, `Fourth` and `Last`. Changing this forces a new resource to be created.\n\n\u003e **Note:** When not using \u003cspan pulumi-lang-nodejs=\"`absoluteCriteria`\" pulumi-lang-dotnet=\"`AbsoluteCriteria`\" pulumi-lang-go=\"`absoluteCriteria`\" pulumi-lang-python=\"`absolute_criteria`\" pulumi-lang-yaml=\"`absoluteCriteria`\" pulumi-lang-java=\"`absoluteCriteria`\"\u003e`absolute_criteria`\u003c/span\u003e, you must use exactly one of \u003cspan pulumi-lang-nodejs=\"`daysOfMonth`\" pulumi-lang-dotnet=\"`DaysOfMonth`\" pulumi-lang-go=\"`daysOfMonth`\" pulumi-lang-python=\"`days_of_month`\" pulumi-lang-yaml=\"`daysOfMonth`\" pulumi-lang-java=\"`daysOfMonth`\"\u003e`days_of_month`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`daysOfWeek`\" pulumi-lang-dotnet=\"`DaysOfWeek`\" pulumi-lang-go=\"`daysOfWeek`\" pulumi-lang-python=\"`days_of_week`\" pulumi-lang-yaml=\"`daysOfWeek`\" pulumi-lang-java=\"`daysOfWeek`\"\u003e`days_of_week`\u003c/span\u003e. Regarding the remaining two properties, \u003cspan pulumi-lang-nodejs=\"`weeksOfMonth`\" pulumi-lang-dotnet=\"`WeeksOfMonth`\" pulumi-lang-go=\"`weeksOfMonth`\" pulumi-lang-python=\"`weeks_of_month`\" pulumi-lang-yaml=\"`weeksOfMonth`\" pulumi-lang-java=\"`weeksOfMonth`\"\u003e`weeks_of_month`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`monthsOfYear`\" pulumi-lang-dotnet=\"`MonthsOfYear`\" pulumi-lang-go=\"`monthsOfYear`\" pulumi-lang-python=\"`months_of_year`\" pulumi-lang-yaml=\"`monthsOfYear`\" pulumi-lang-java=\"`monthsOfYear`\"\u003e`months_of_year`\u003c/span\u003e, you may use either, both, or neither. If you would like to set multiple intervals, you may do so by using multiple \u003cspan pulumi-lang-nodejs=\"`retentionRule`\" pulumi-lang-dotnet=\"`RetentionRule`\" pulumi-lang-go=\"`retentionRule`\" pulumi-lang-python=\"`retention_rule`\" pulumi-lang-yaml=\"`retentionRule`\" pulumi-lang-java=\"`retentionRule`\"\u003e`retention_rule`\u003c/span\u003e blocks.\n","willReplaceOnChanges":true}},"type":"object"},"azure:dataprotection/BackupPolicyMysqlFlexibleServerRetentionRuleLifeCycle:BackupPolicyMysqlFlexibleServerRetentionRuleLifeCycle":{"properties":{"dataStoreType":{"type":"string","description":"The type of data store. The only possible value is `VaultStore`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"duration":{"type":"string","description":"The retention duration up to which the backups are to be retained in the data stores. It should follow `ISO 8601` duration format. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["dataStoreType","duration"]},"azure:dataprotection/BackupPolicyPostgresqlFlexibleServerDefaultRetentionRule:BackupPolicyPostgresqlFlexibleServerDefaultRetentionRule":{"properties":{"lifeCycles":{"type":"array","items":{"$ref":"#/types/azure:dataprotection/BackupPolicyPostgresqlFlexibleServerDefaultRetentionRuleLifeCycle:BackupPolicyPostgresqlFlexibleServerDefaultRetentionRuleLifeCycle"},"description":"A \u003cspan pulumi-lang-nodejs=\"`lifeCycle`\" pulumi-lang-dotnet=\"`LifeCycle`\" pulumi-lang-go=\"`lifeCycle`\" pulumi-lang-python=\"`life_cycle`\" pulumi-lang-yaml=\"`lifeCycle`\" pulumi-lang-java=\"`lifeCycle`\"\u003e`life_cycle`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["lifeCycles"]},"azure:dataprotection/BackupPolicyPostgresqlFlexibleServerDefaultRetentionRuleLifeCycle:BackupPolicyPostgresqlFlexibleServerDefaultRetentionRuleLifeCycle":{"properties":{"dataStoreType":{"type":"string","description":"The type of data store. The only possible value is `VaultStore`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"duration":{"type":"string","description":"The retention duration up to which the backups are to be retained in the data stores. It should follow `ISO 8601` duration format. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["dataStoreType","duration"]},"azure:dataprotection/BackupPolicyPostgresqlFlexibleServerRetentionRule:BackupPolicyPostgresqlFlexibleServerRetentionRule":{"properties":{"criteria":{"$ref":"#/types/azure:dataprotection/BackupPolicyPostgresqlFlexibleServerRetentionRuleCriteria:BackupPolicyPostgresqlFlexibleServerRetentionRuleCriteria","description":"A \u003cspan pulumi-lang-nodejs=\"`criteria`\" pulumi-lang-dotnet=\"`Criteria`\" pulumi-lang-go=\"`criteria`\" pulumi-lang-python=\"`criteria`\" pulumi-lang-yaml=\"`criteria`\" pulumi-lang-java=\"`criteria`\"\u003e`criteria`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"lifeCycles":{"type":"array","items":{"$ref":"#/types/azure:dataprotection/BackupPolicyPostgresqlFlexibleServerRetentionRuleLifeCycle:BackupPolicyPostgresqlFlexibleServerRetentionRuleLifeCycle"},"description":"A \u003cspan pulumi-lang-nodejs=\"`lifeCycle`\" pulumi-lang-dotnet=\"`LifeCycle`\" pulumi-lang-go=\"`lifeCycle`\" pulumi-lang-python=\"`life_cycle`\" pulumi-lang-yaml=\"`lifeCycle`\" pulumi-lang-java=\"`lifeCycle`\"\u003e`life_cycle`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the retention rule. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"priority":{"type":"integer","description":"Specifies the priority of the rule. The priority number must be unique for each rule. The lower the priority number, the higher the priority of the rule. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["criteria","lifeCycles","name","priority"]},"azure:dataprotection/BackupPolicyPostgresqlFlexibleServerRetentionRuleCriteria:BackupPolicyPostgresqlFlexibleServerRetentionRuleCriteria":{"properties":{"absoluteCriteria":{"type":"string","description":"Possible values are `AllBackup`, `FirstOfDay`, `FirstOfWeek`, `FirstOfMonth` and `FirstOfYear`. These values mean the first successful backup of the day/week/month/year. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"daysOfWeeks":{"type":"array","items":{"type":"string"},"description":"Possible values are `Monday`, `Tuesday`, `Wednesday`, `Thursday`, `Friday`, `Saturday` and `Sunday`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"monthsOfYears":{"type":"array","items":{"type":"string"},"description":"Possible values are `January`, `February`, `March`, `April`, `May`, `June`, `July`, `August`, `September`, `October`, `November` and `December`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"scheduledBackupTimes":{"type":"array","items":{"type":"string"},"description":"Specifies a list of backup times for backup in the `RFC3339` format. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"weeksOfMonths":{"type":"array","items":{"type":"string"},"description":"Possible values are `First`, `Second`, `Third`, `Fourth` and `Last`. Changing this forces a new resource to be created.\n\n\u003e **Note:** When not using \u003cspan pulumi-lang-nodejs=\"`absoluteCriteria`\" pulumi-lang-dotnet=\"`AbsoluteCriteria`\" pulumi-lang-go=\"`absoluteCriteria`\" pulumi-lang-python=\"`absolute_criteria`\" pulumi-lang-yaml=\"`absoluteCriteria`\" pulumi-lang-java=\"`absoluteCriteria`\"\u003e`absolute_criteria`\u003c/span\u003e, you must use exactly one of \u003cspan pulumi-lang-nodejs=\"`daysOfMonth`\" pulumi-lang-dotnet=\"`DaysOfMonth`\" pulumi-lang-go=\"`daysOfMonth`\" pulumi-lang-python=\"`days_of_month`\" pulumi-lang-yaml=\"`daysOfMonth`\" pulumi-lang-java=\"`daysOfMonth`\"\u003e`days_of_month`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`daysOfWeek`\" pulumi-lang-dotnet=\"`DaysOfWeek`\" pulumi-lang-go=\"`daysOfWeek`\" pulumi-lang-python=\"`days_of_week`\" pulumi-lang-yaml=\"`daysOfWeek`\" pulumi-lang-java=\"`daysOfWeek`\"\u003e`days_of_week`\u003c/span\u003e. Regarding the remaining two properties, \u003cspan pulumi-lang-nodejs=\"`weeksOfMonth`\" pulumi-lang-dotnet=\"`WeeksOfMonth`\" pulumi-lang-go=\"`weeksOfMonth`\" pulumi-lang-python=\"`weeks_of_month`\" pulumi-lang-yaml=\"`weeksOfMonth`\" pulumi-lang-java=\"`weeksOfMonth`\"\u003e`weeks_of_month`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`monthsOfYear`\" pulumi-lang-dotnet=\"`MonthsOfYear`\" pulumi-lang-go=\"`monthsOfYear`\" pulumi-lang-python=\"`months_of_year`\" pulumi-lang-yaml=\"`monthsOfYear`\" pulumi-lang-java=\"`monthsOfYear`\"\u003e`months_of_year`\u003c/span\u003e, you may use either, both, or neither. If you would like to set multiple intervals, you may do so by using multiple \u003cspan pulumi-lang-nodejs=\"`retentionRule`\" pulumi-lang-dotnet=\"`RetentionRule`\" pulumi-lang-go=\"`retentionRule`\" pulumi-lang-python=\"`retention_rule`\" pulumi-lang-yaml=\"`retentionRule`\" pulumi-lang-java=\"`retentionRule`\"\u003e`retention_rule`\u003c/span\u003e blocks.\n","willReplaceOnChanges":true}},"type":"object"},"azure:dataprotection/BackupPolicyPostgresqlFlexibleServerRetentionRuleLifeCycle:BackupPolicyPostgresqlFlexibleServerRetentionRuleLifeCycle":{"properties":{"dataStoreType":{"type":"string","description":"The type of data store. The only possible value is `VaultStore`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"duration":{"type":"string","description":"The retention duration up to which the backups are to be retained in the data stores. It should follow `ISO 8601` duration format. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["dataStoreType","duration"]},"azure:dataprotection/BackupPolicyPostgresqlRetentionRule:BackupPolicyPostgresqlRetentionRule":{"properties":{"criteria":{"$ref":"#/types/azure:dataprotection/BackupPolicyPostgresqlRetentionRuleCriteria:BackupPolicyPostgresqlRetentionRuleCriteria","description":"A \u003cspan pulumi-lang-nodejs=\"`criteria`\" pulumi-lang-dotnet=\"`Criteria`\" pulumi-lang-go=\"`criteria`\" pulumi-lang-python=\"`criteria`\" pulumi-lang-yaml=\"`criteria`\" pulumi-lang-java=\"`criteria`\"\u003e`criteria`\u003c/span\u003e block as defined below. Changing this forces a new Backup Policy PostgreSQL to be created.\n","willReplaceOnChanges":true},"duration":{"type":"string","description":"Duration after which the backup is deleted. It should follow `ISO 8601` duration format. Changing this forces a new Backup Policy PostgreSQL to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this retention rule. Changing this forces a new Backup Policy PostgreSQL to be created.\n","willReplaceOnChanges":true},"priority":{"type":"integer","description":"Specifies the priority of the rule. The priority number must be unique for each rule. The lower the priority number, the higher the priority of the rule. Changing this forces a new Backup Policy PostgreSQL to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["criteria","duration","name","priority"]},"azure:dataprotection/BackupPolicyPostgresqlRetentionRuleCriteria:BackupPolicyPostgresqlRetentionRuleCriteria":{"properties":{"absoluteCriteria":{"type":"string","description":"Possible values are `AllBackup`, `FirstOfDay`, `FirstOfWeek`, `FirstOfMonth` and `FirstOfYear`. These values mean the first successful backup of the day/week/month/year. Changing this forces a new Backup Policy PostgreSQL to be created.\n","willReplaceOnChanges":true},"daysOfWeeks":{"type":"array","items":{"type":"string"},"description":"Possible values are `Monday`, `Tuesday`, `Thursday`, `Friday`, `Saturday` and `Sunday`. Changing this forces a new Backup Policy PostgreSQL to be created.\n","willReplaceOnChanges":true},"monthsOfYears":{"type":"array","items":{"type":"string"},"description":"Possible values are `January`, `February`, `March`, `April`, `May`, `June`, `July`, `August`, `September`, `October`, `November` and `December`. Changing this forces a new Backup Policy PostgreSQL to be created.\n","willReplaceOnChanges":true},"scheduledBackupTimes":{"type":"array","items":{"type":"string"},"description":"Specifies a list of backup times for backup in the `RFC3339` format. Changing this forces a new Backup Policy PostgreSQL to be created.\n","willReplaceOnChanges":true},"weeksOfMonths":{"type":"array","items":{"type":"string"},"description":"Possible values are `First`, `Second`, `Third`, `Fourth` and `Last`. Changing this forces a new Backup Policy PostgreSQL to be created.\n\n\u003e **Note:** When not using \u003cspan pulumi-lang-nodejs=\"`absoluteCriteria`\" pulumi-lang-dotnet=\"`AbsoluteCriteria`\" pulumi-lang-go=\"`absoluteCriteria`\" pulumi-lang-python=\"`absolute_criteria`\" pulumi-lang-yaml=\"`absoluteCriteria`\" pulumi-lang-java=\"`absoluteCriteria`\"\u003e`absolute_criteria`\u003c/span\u003e, you must use exactly one of \u003cspan pulumi-lang-nodejs=\"`daysOfMonth`\" pulumi-lang-dotnet=\"`DaysOfMonth`\" pulumi-lang-go=\"`daysOfMonth`\" pulumi-lang-python=\"`days_of_month`\" pulumi-lang-yaml=\"`daysOfMonth`\" pulumi-lang-java=\"`daysOfMonth`\"\u003e`days_of_month`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`daysOfWeek`\" pulumi-lang-dotnet=\"`DaysOfWeek`\" pulumi-lang-go=\"`daysOfWeek`\" pulumi-lang-python=\"`days_of_week`\" pulumi-lang-yaml=\"`daysOfWeek`\" pulumi-lang-java=\"`daysOfWeek`\"\u003e`days_of_week`\u003c/span\u003e. Regarding the remaining two properties, \u003cspan pulumi-lang-nodejs=\"`weeksOfMonth`\" pulumi-lang-dotnet=\"`WeeksOfMonth`\" pulumi-lang-go=\"`weeksOfMonth`\" pulumi-lang-python=\"`weeks_of_month`\" pulumi-lang-yaml=\"`weeksOfMonth`\" pulumi-lang-java=\"`weeksOfMonth`\"\u003e`weeks_of_month`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`monthsOfYear`\" pulumi-lang-dotnet=\"`MonthsOfYear`\" pulumi-lang-go=\"`monthsOfYear`\" pulumi-lang-python=\"`months_of_year`\" pulumi-lang-yaml=\"`monthsOfYear`\" pulumi-lang-java=\"`monthsOfYear`\"\u003e`months_of_year`\u003c/span\u003e, you may use either, both, or neither. If you would like to set multiple intervals, you may do so by using multiple \u003cspan pulumi-lang-nodejs=\"`retentionRule`\" pulumi-lang-dotnet=\"`RetentionRule`\" pulumi-lang-go=\"`retentionRule`\" pulumi-lang-python=\"`retention_rule`\" pulumi-lang-yaml=\"`retentionRule`\" pulumi-lang-java=\"`retentionRule`\"\u003e`retention_rule`\u003c/span\u003e blocks.\n","willReplaceOnChanges":true}},"type":"object"},"azure:dataprotection/BackupVaultIdentity:BackupVaultIdentity":{"properties":{"identityIds":{"type":"array","items":{"type":"string"},"description":"Specifies a list of User Assigned Managed Identity IDs to be assigned to this Backup Vault.\n"},"principalId":{"type":"string","description":"The Principal ID for the Service Principal associated with the Identity of this Backup Vault.\n"},"tenantId":{"type":"string","description":"The Tenant ID for the Service Principal associated with the Identity of this Backup Vault.\n"},"type":{"type":"string","description":"Specifies the type of Managed Service Identity that should be configured on this Backup Vault. Possible values are `SystemAssigned`, `UserAssigned` and `SystemAssigned, UserAssigned`.\n"}},"type":"object","required":["type"],"language":{"nodejs":{"requiredOutputs":["principalId","tenantId","type"]}}},"azure:dataprotection/getBackupVaultIdentity:getBackupVaultIdentity":{"properties":{"identityIds":{"type":"array","items":{"type":"string"},"description":"The list of User Assigned Managed Identity IDs assigned to this Backup Vault.\n"},"principalId":{"type":"string","description":"The Principal ID of the System Assigned Managed Service Identity that is configured on this Backup Vault.\n"},"tenantId":{"type":"string","description":"The Tenant ID of the System Assigned Managed Service Identity that is configured on this Backup Vault.\n"},"type":{"type":"string","description":"The type of Managed Service Identity that is configured on this Backup Vault.\n"}},"type":"object","required":["identityIds","principalId","tenantId","type"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:datashare/AccountIdentity:AccountIdentity":{"properties":{"principalId":{"type":"string","description":"The Principal ID for the Service Principal associated with the Identity of this Data Share Account.\n"},"tenantId":{"type":"string","description":"The Tenant ID for the Service Principal associated with the Identity of this Data Share Account.\n"},"type":{"type":"string","description":"Specifies the type of Managed Service Identity that should be configured on this Data Share Account. The only possible value is `SystemAssigned`. Changing this forces a new resource to be created.\n\n\u003e **Note:** The assigned \u003cspan pulumi-lang-nodejs=\"`principalId`\" pulumi-lang-dotnet=\"`PrincipalId`\" pulumi-lang-go=\"`principalId`\" pulumi-lang-python=\"`principal_id`\" pulumi-lang-yaml=\"`principalId`\" pulumi-lang-java=\"`principalId`\"\u003e`principal_id`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`tenantId`\" pulumi-lang-dotnet=\"`TenantId`\" pulumi-lang-go=\"`tenantId`\" pulumi-lang-python=\"`tenant_id`\" pulumi-lang-yaml=\"`tenantId`\" pulumi-lang-java=\"`tenantId`\"\u003e`tenant_id`\u003c/span\u003e can be retrieved after the identity \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e has been set to `SystemAssigned` and the Data Share Account has been created. More details are available below.\n","willReplaceOnChanges":true}},"type":"object","required":["type"],"language":{"nodejs":{"requiredOutputs":["principalId","tenantId","type"]}}},"azure:datashare/DatasetBlobStorageStorageAccount:DatasetBlobStorageStorageAccount":{"properties":{"name":{"type":"string","description":"The name of the storage account to be shared with the receiver. Changing this forces a new Data Share Blob Storage Dataset to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The resource group name of the storage account to be shared with the receiver. Changing this forces a new Data Share Blob Storage Dataset to be created.\n","willReplaceOnChanges":true},"subscriptionId":{"type":"string","description":"The subscription id of the storage account to be shared with the receiver. Changing this forces a new Data Share Blob Storage Dataset to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["name","resourceGroupName","subscriptionId"]},"azure:datashare/ShareSnapshotSchedule:ShareSnapshotSchedule":{"properties":{"name":{"type":"string","description":"The name of the snapshot schedule.\n"},"recurrence":{"type":"string","description":"The interval of the synchronization with the source data. Possible values are `Hour` and `Day`.\n"},"startTime":{"type":"string","description":"The synchronization with the source data's start time.\n"}},"type":"object","required":["name","recurrence","startTime"]},"azure:datashare/getAccountIdentity:getAccountIdentity":{"properties":{"principalId":{"type":"string","description":"The Principal ID associated with this Managed Service Identity.\n"},"tenantId":{"type":"string","description":"The Tenant ID associated with this Managed Service Identity.\n"},"type":{"type":"string","description":"The identity type of this Managed Service Identity.\n"}},"type":"object","required":["principalId","tenantId","type"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:datashare/getDatasetBlobStorageStorageAccount:getDatasetBlobStorageStorageAccount":{"properties":{"name":{"type":"string","description":"The name of this Data Share Blob Storage Dataset.\n"},"resourceGroupName":{"type":"string","description":"The resource group name of the storage account to be shared with the receiver.\n"},"subscriptionId":{"type":"string","description":"The subscription id of the storage account to be shared with the receiver.\n"}},"type":"object","required":["name","resourceGroupName","subscriptionId"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:datashare/getShareSnapshotSchedule:getShareSnapshotSchedule":{"properties":{"name":{"type":"string","description":"The name of this Data Share.\n"},"recurrence":{"type":"string","description":"The interval of the synchronization with the source data.\n"},"startTime":{"type":"string","description":"The synchronization with the source data's start time.\n"}},"type":"object","required":["name","recurrence","startTime"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:desktopvirtualization/HostPoolScheduledAgentUpdates:HostPoolScheduledAgentUpdates":{"properties":{"enabled":{"type":"boolean","description":"Enables or disables scheduled updates of the AVD agent components (RDAgent, Geneva Monitoring agent, and side-by-side stack) on session hosts. If this is enabled then up to two \u003cspan pulumi-lang-nodejs=\"`schedule`\" pulumi-lang-dotnet=\"`Schedule`\" pulumi-lang-go=\"`schedule`\" pulumi-lang-python=\"`schedule`\" pulumi-lang-yaml=\"`schedule`\" pulumi-lang-java=\"`schedule`\"\u003e`schedule`\u003c/span\u003e blocks must be defined. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** if \u003cspan pulumi-lang-nodejs=\"`enabled`\" pulumi-lang-dotnet=\"`Enabled`\" pulumi-lang-go=\"`enabled`\" pulumi-lang-python=\"`enabled`\" pulumi-lang-yaml=\"`enabled`\" pulumi-lang-java=\"`enabled`\"\u003e`enabled`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e then at least one and a maximum of two \u003cspan pulumi-lang-nodejs=\"`schedule`\" pulumi-lang-dotnet=\"`Schedule`\" pulumi-lang-go=\"`schedule`\" pulumi-lang-python=\"`schedule`\" pulumi-lang-yaml=\"`schedule`\" pulumi-lang-java=\"`schedule`\"\u003e`schedule`\u003c/span\u003e blocks must be provided.\n"},"schedules":{"type":"array","items":{"$ref":"#/types/azure:desktopvirtualization/HostPoolScheduledAgentUpdatesSchedule:HostPoolScheduledAgentUpdatesSchedule"},"description":"A \u003cspan pulumi-lang-nodejs=\"`schedule`\" pulumi-lang-dotnet=\"`Schedule`\" pulumi-lang-go=\"`schedule`\" pulumi-lang-python=\"`schedule`\" pulumi-lang-yaml=\"`schedule`\" pulumi-lang-java=\"`schedule`\"\u003e`schedule`\u003c/span\u003e block as defined below. A maximum of two blocks can be added.\n"},"timezone":{"type":"string","description":"Specifies the time zone in which the agent update schedule will apply, [the possible values are defined here](https://jackstromberg.com/2017/01/list-of-time-zones-consumed-by-azure/). If \u003cspan pulumi-lang-nodejs=\"`useSessionHostTimezone`\" pulumi-lang-dotnet=\"`UseSessionHostTimezone`\" pulumi-lang-go=\"`useSessionHostTimezone`\" pulumi-lang-python=\"`use_session_host_timezone`\" pulumi-lang-yaml=\"`useSessionHostTimezone`\" pulumi-lang-java=\"`useSessionHostTimezone`\"\u003e`use_session_host_timezone`\u003c/span\u003e is enabled then it will override this setting. Default is `UTC`\n"},"useSessionHostTimezone":{"type":"boolean","description":"Specifies whether scheduled agent updates should be applied based on the timezone of the affected session host. If configured then this setting overrides \u003cspan pulumi-lang-nodejs=\"`timezone`\" pulumi-lang-dotnet=\"`Timezone`\" pulumi-lang-go=\"`timezone`\" pulumi-lang-python=\"`timezone`\" pulumi-lang-yaml=\"`timezone`\" pulumi-lang-java=\"`timezone`\"\u003e`timezone`\u003c/span\u003e. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"}},"type":"object"},"azure:desktopvirtualization/HostPoolScheduledAgentUpdatesSchedule:HostPoolScheduledAgentUpdatesSchedule":{"properties":{"dayOfWeek":{"type":"string","description":"The day of the week on which agent updates should be performed. Possible values are `Monday`, `Tuesday`, `Wednesday`, `Thursday`, `Friday`, `Saturday`, and `Sunday`\n"},"hourOfDay":{"type":"integer","description":"The hour of day the update window should start. The update is a 2 hour period following the hour provided. The value should be provided as a number between 0 and 23, with 0 being midnight and 23 being 11pm. A leading zero should not be used.\n"}},"type":"object","required":["dayOfWeek","hourOfDay"]},"azure:desktopvirtualization/ScalingPlanHostPool:ScalingPlanHostPool":{"properties":{"hostpoolId":{"type":"string","description":"The ID of the HostPool to assign the Scaling Plan to.\n"},"scalingPlanEnabled":{"type":"boolean","description":"Specifies if the scaling plan is enabled or disabled for the HostPool.\n"}},"type":"object","required":["hostpoolId","scalingPlanEnabled"]},"azure:desktopvirtualization/ScalingPlanSchedule:ScalingPlanSchedule":{"properties":{"daysOfWeeks":{"type":"array","items":{"type":"string"},"description":"A list of Days of the Week on which this schedule will be used. Possible values are `Monday`, `Tuesday`, `Wednesday`, `Thursday`, `Friday`, `Saturday`, and `Sunday`\n"},"name":{"type":"string","description":"The name of the schedule.\n"},"offPeakLoadBalancingAlgorithm":{"type":"string","description":"The load Balancing Algorithm to use during Off-Peak Hours. Possible values are `DepthFirst` and `BreadthFirst`.\n"},"offPeakStartTime":{"type":"string","description":"The time at which Off-Peak scaling will begin. This is also the end-time for the Ramp-Down period. The time must be specified in \"HH:MM\" format.\n"},"peakLoadBalancingAlgorithm":{"type":"string","description":"The load Balancing Algorithm to use during Peak Hours. Possible values are `DepthFirst` and `BreadthFirst`.\n"},"peakStartTime":{"type":"string","description":"The time at which Peak scaling will begin. This is also the end-time for the Ramp-Up period. The time must be specified in \"HH:MM\" format.\n"},"rampDownCapacityThresholdPercent":{"type":"integer","description":"This is the value in percentage of used host pool capacity that will be considered to evaluate whether to turn on/off virtual machines during the ramp-down and off-peak hours. For example, if capacity threshold is specified as 60% and your total host pool capacity is 100 sessions, autoscale will turn on additional session hosts once the host pool exceeds a load of 60 sessions.\n"},"rampDownForceLogoffUsers":{"type":"boolean","description":"Whether users will be forced to log-off session hosts once the \u003cspan pulumi-lang-nodejs=\"`rampDownWaitTimeMinutes`\" pulumi-lang-dotnet=\"`RampDownWaitTimeMinutes`\" pulumi-lang-go=\"`rampDownWaitTimeMinutes`\" pulumi-lang-python=\"`ramp_down_wait_time_minutes`\" pulumi-lang-yaml=\"`rampDownWaitTimeMinutes`\" pulumi-lang-java=\"`rampDownWaitTimeMinutes`\"\u003e`ramp_down_wait_time_minutes`\u003c/span\u003e value has been exceeded during the Ramp-Down period. Possible values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"rampDownLoadBalancingAlgorithm":{"type":"string","description":"The load Balancing Algorithm to use during the Ramp-Down period. Possible values are `DepthFirst` and `BreadthFirst`.\n"},"rampDownMinimumHostsPercent":{"type":"integer","description":"The minimum percentage of session host virtual machines that you would like to get to for ramp-down and off-peak hours. For example, if Minimum percentage of hosts is specified as 10% and total number of session hosts in your host pool is 10, autoscale will ensure a minimum of 1 session host is available to take user connections.\n"},"rampDownNotificationMessage":{"type":"string","description":"The notification message to send to users during Ramp-Down period when they are required to log-off.\n"},"rampDownStartTime":{"type":"string","description":"The time at which Ramp-Down scaling will begin. This is also the end-time for the Ramp-Up period. The time must be specified in \"HH:MM\" format.\n"},"rampDownStopHostsWhen":{"type":"string","description":"Controls Session Host shutdown behaviour during Ramp-Down period. Session Hosts can either be shutdown when all sessions on the Session Host have ended, or when there are no Active sessions left on the Session Host. Possible values are `ZeroSessions` and `ZeroActiveSessions`.\n"},"rampDownWaitTimeMinutes":{"type":"integer","description":"The number of minutes during Ramp-Down period that autoscale will wait after setting the session host VMs to drain mode, notifying any currently signed in users to save their work before forcing the users to logoff. Once all user sessions on the session host VM have been logged off, Autoscale will shut down the VM.\n"},"rampUpCapacityThresholdPercent":{"type":"integer","description":"This is the value of percentage of used host pool capacity that will be considered to evaluate whether to turn on/off virtual machines during the ramp-up and peak hours. For example, if capacity threshold is specified as `60%` and your total host pool capacity is \u003cspan pulumi-lang-nodejs=\"`100`\" pulumi-lang-dotnet=\"`100`\" pulumi-lang-go=\"`100`\" pulumi-lang-python=\"`100`\" pulumi-lang-yaml=\"`100`\" pulumi-lang-java=\"`100`\"\u003e`100`\u003c/span\u003e sessions, autoscale will turn on additional session hosts once the host pool exceeds a load of \u003cspan pulumi-lang-nodejs=\"`60`\" pulumi-lang-dotnet=\"`60`\" pulumi-lang-go=\"`60`\" pulumi-lang-python=\"`60`\" pulumi-lang-yaml=\"`60`\" pulumi-lang-java=\"`60`\"\u003e`60`\u003c/span\u003e sessions.\n"},"rampUpLoadBalancingAlgorithm":{"type":"string","description":"The load Balancing Algorithm to use during the Ramp-Up period. Possible values are `DepthFirst` and `BreadthFirst`.\n"},"rampUpMinimumHostsPercent":{"type":"integer","description":"Specifies the minimum percentage of session host virtual machines to start during ramp-up for peak hours. For example, if Minimum percentage of hosts is specified as `10%` and total number of session hosts in your host pool is \u003cspan pulumi-lang-nodejs=\"`10`\" pulumi-lang-dotnet=\"`10`\" pulumi-lang-go=\"`10`\" pulumi-lang-python=\"`10`\" pulumi-lang-yaml=\"`10`\" pulumi-lang-java=\"`10`\"\u003e`10`\u003c/span\u003e, autoscale will ensure a minimum of \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e session host is available to take user connections.\n"},"rampUpStartTime":{"type":"string","description":"The time at which Ramp-Up scaling will begin. This is also the end-time for the Ramp-Up period. The time must be specified in \"HH:MM\" format.\n"}},"type":"object","required":["daysOfWeeks","name","offPeakLoadBalancingAlgorithm","offPeakStartTime","peakLoadBalancingAlgorithm","peakStartTime","rampDownCapacityThresholdPercent","rampDownForceLogoffUsers","rampDownLoadBalancingAlgorithm","rampDownMinimumHostsPercent","rampDownNotificationMessage","rampDownStartTime","rampDownStopHostsWhen","rampDownWaitTimeMinutes","rampUpLoadBalancingAlgorithm","rampUpStartTime"]},"azure:desktopvirtualization/getHostPoolScheduledAgentUpdate:getHostPoolScheduledAgentUpdate":{"properties":{"enabled":{"type":"boolean","description":"Are scheduled updates of the AVD agent components (RDAgent, Geneva Monitoring agent, and side-by-side stack) enabled on session hosts.\n"},"schedules":{"type":"array","items":{"$ref":"#/types/azure:desktopvirtualization/getHostPoolScheduledAgentUpdateSchedule:getHostPoolScheduledAgentUpdateSchedule"},"description":"A \u003cspan pulumi-lang-nodejs=\"`schedule`\" pulumi-lang-dotnet=\"`Schedule`\" pulumi-lang-go=\"`schedule`\" pulumi-lang-python=\"`schedule`\" pulumi-lang-yaml=\"`schedule`\" pulumi-lang-java=\"`schedule`\"\u003e`schedule`\u003c/span\u003e block as defined below.\n"},"timezone":{"type":"string","description":"The time zone in which the agent update schedule will apply.\n"},"useSessionHostTimezone":{"type":"boolean","description":"Specifies whether scheduled agent updates should be applied based on the timezone of the affected session host.\n"}},"type":"object","required":["enabled","schedules","timezone","useSessionHostTimezone"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:desktopvirtualization/getHostPoolScheduledAgentUpdateSchedule:getHostPoolScheduledAgentUpdateSchedule":{"properties":{"dayOfWeek":{"type":"string","description":"The day of the week on which agent updates should be performed.\n"},"hourOfDay":{"type":"integer","description":"The hour of day the update window should start.\n"}},"type":"object","required":["dayOfWeek","hourOfDay"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:devcenter/CatalogCatalogAdogit:CatalogCatalogAdogit":{"properties":{"branch":{"type":"string","description":"The Git branch of the Dev Center Catalog.\n"},"keyVaultKeyUrl":{"type":"string","description":"A reference to the Key Vault secret containing a security token to authenticate to a Git repository.\n"},"path":{"type":"string","description":"The folder where the catalog items can be found inside the repository.\n"},"uri":{"type":"string","description":"The Git URI of the Dev Center Catalog.\n"}},"type":"object","required":["branch","keyVaultKeyUrl","path","uri"]},"azure:devcenter/CatalogCatalogGithub:CatalogCatalogGithub":{"properties":{"branch":{"type":"string","description":"The Git branch of the Dev Center Catalog.\n"},"keyVaultKeyUrl":{"type":"string","description":"A reference to the Key Vault secret containing a security token to authenticate to a Git repository.\n"},"path":{"type":"string","description":"The folder where the catalog items can be found inside the repository.\n"},"uri":{"type":"string","description":"The Git URI of the Dev Center Catalog.\n"}},"type":"object","required":["branch","keyVaultKeyUrl","path","uri"]},"azure:devcenter/DevCenterIdentity:DevCenterIdentity":{"properties":{"identityIds":{"type":"array","items":{"type":"string"}},"principalId":{"type":"string"},"tenantId":{"type":"string"},"type":{"type":"string"}},"type":"object","required":["type"],"language":{"nodejs":{"requiredOutputs":["principalId","tenantId","type"]}}},"azure:devcenter/ProjectEnvironmentTypeIdentity:ProjectEnvironmentTypeIdentity":{"properties":{"identityIds":{"type":"array","items":{"type":"string"},"description":"The ID of the User Assigned Identity which should be assigned to this Dev Center Project Environment Type.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`identityIds`\" pulumi-lang-dotnet=\"`IdentityIds`\" pulumi-lang-go=\"`identityIds`\" pulumi-lang-python=\"`identity_ids`\" pulumi-lang-yaml=\"`identityIds`\" pulumi-lang-java=\"`identityIds`\"\u003e`identity_ids`\u003c/span\u003e is required when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to `UserAssigned` or `SystemAssigned, UserAssigned`.\n"},"principalId":{"type":"string"},"tenantId":{"type":"string"},"type":{"type":"string","description":"The type of identity used for this Dev Center Project Environment Type. Possible values are `SystemAssigned`, `UserAssigned` and `SystemAssigned, UserAssigned`.\n"}},"type":"object","required":["type"],"language":{"nodejs":{"requiredOutputs":["principalId","tenantId","type"]}}},"azure:devcenter/ProjectEnvironmentTypeUserRoleAssignment:ProjectEnvironmentTypeUserRoleAssignment":{"properties":{"roles":{"type":"array","items":{"type":"string"},"description":"A list of roles to assign to the \u003cspan pulumi-lang-nodejs=\"`userId`\" pulumi-lang-dotnet=\"`UserId`\" pulumi-lang-go=\"`userId`\" pulumi-lang-python=\"`user_id`\" pulumi-lang-yaml=\"`userId`\" pulumi-lang-java=\"`userId`\"\u003e`user_id`\u003c/span\u003e.\n"},"userId":{"type":"string","description":"The user object ID that is assigned roles.\n"}},"type":"object","required":["roles","userId"]},"azure:devcenter/ProjectIdentity:ProjectIdentity":{"properties":{"identityIds":{"type":"array","items":{"type":"string"},"description":"The ID of the User Assigned Identity which should be assigned to this Dev Center Project.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`identityIds`\" pulumi-lang-dotnet=\"`IdentityIds`\" pulumi-lang-go=\"`identityIds`\" pulumi-lang-python=\"`identity_ids`\" pulumi-lang-yaml=\"`identityIds`\" pulumi-lang-java=\"`identityIds`\"\u003e`identity_ids`\u003c/span\u003e is required when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to `UserAssigned` or `SystemAssigned, UserAssigned`.\n"},"principalId":{"type":"string","description":"The Principal ID for the Service Principal associated with the Identity of this Dev Center Project.\n"},"tenantId":{"type":"string","description":"The Tenant ID for the Service Principal associated with the Identity of this Dev Center Project.\n"},"type":{"type":"string","description":"The type of identity used for this Dev Center Project. Possible values are `SystemAssigned`, `UserAssigned` and `SystemAssigned, UserAssigned`.\n"}},"type":"object","required":["type"],"language":{"nodejs":{"requiredOutputs":["principalId","tenantId","type"]}}},"azure:devcenter/getCatalogCatalogAdogit:getCatalogCatalogAdogit":{"properties":{"branch":{"type":"string","description":"The Git branch of the Dev Center Catalog.\n"},"keyVaultKeyUrl":{"type":"string","description":"A reference to the Key Vault secret containing a security token to authenticate to a Git repository.\n"},"path":{"type":"string","description":"The folder where the catalog items can be found inside the repository.\n"},"uri":{"type":"string","description":"The Git URI of the Dev Center Catalog.\n"}},"type":"object","required":["branch","keyVaultKeyUrl","path","uri"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:devcenter/getCatalogCatalogGithub:getCatalogCatalogGithub":{"properties":{"branch":{"type":"string","description":"The Git branch of the Dev Center Catalog.\n"},"keyVaultKeyUrl":{"type":"string","description":"A reference to the Key Vault secret containing a security token to authenticate to a Git repository.\n"},"path":{"type":"string","description":"The folder where the catalog items can be found inside the repository.\n"},"uri":{"type":"string","description":"The Git URI of the Dev Center Catalog.\n"}},"type":"object","required":["branch","keyVaultKeyUrl","path","uri"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:devcenter/getIdentity:getIdentity":{"properties":{"identityIds":{"type":"array","items":{"type":"string"},"description":"The list of User Assigned Managed Identity IDs assigned to this Dev Center.\n"},"principalId":{"type":"string","description":"The Principal ID of the System Assigned Managed Service Identity that is configured on this Dev Center.\n"},"tenantId":{"type":"string","description":"The Tenant ID of the System Assigned Managed Service Identity that is configured on this Dev Center.\n"},"type":{"type":"string","description":"The type of Managed Service Identity that is configured on this Dev Center.\n"}},"type":"object","required":["identityIds","principalId","tenantId","type"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:devcenter/getProjectEnvironmentTypeIdentity:getProjectEnvironmentTypeIdentity":{"properties":{"identityIds":{"type":"array","items":{"type":"string"},"description":"The list of User Assigned Managed Identity IDs assigned to this Dev Center Project Environment Type.\n"},"principalId":{"type":"string","description":"The Principal ID of the System Assigned Managed Service Identity that is configured on this Dev Center Project Environment Type.\n"},"tenantId":{"type":"string","description":"The Tenant ID of the System Assigned Managed Service Identity that is configured on this Dev Center Project Environment Type.\n"},"type":{"type":"string","description":"The type of Managed Service Identity that is configured on this Dev Center Project Environment Type.\n"}},"type":"object","required":["identityIds","principalId","tenantId","type"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:devcenter/getProjectEnvironmentTypeUserRoleAssignment:getProjectEnvironmentTypeUserRoleAssignment":{"properties":{"roles":{"type":"array","items":{"type":"string"},"description":"A list of roles to assign to the \u003cspan pulumi-lang-nodejs=\"`userId`\" pulumi-lang-dotnet=\"`UserId`\" pulumi-lang-go=\"`userId`\" pulumi-lang-python=\"`user_id`\" pulumi-lang-yaml=\"`userId`\" pulumi-lang-java=\"`userId`\"\u003e`user_id`\u003c/span\u003e.\n"},"userId":{"type":"string","description":"The user object ID that is assigned roles.\n"}},"type":"object","required":["roles","userId"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:devcenter/getProjectIdentity:getProjectIdentity":{"properties":{"identityIds":{"type":"array","items":{"type":"string"},"description":"The list of User Assigned Managed Identity IDs assigned to this Dev Center Project.\n"},"principalId":{"type":"string","description":"The Principal ID of the System Assigned Managed Service Identity that is configured on this Dev Center Project.\n"},"tenantId":{"type":"string","description":"The Tenant ID of the System Assigned Managed Service Identity that is configured on this Dev Center Project.\n"},"type":{"type":"string","description":"The type of Managed Service Identity that is configured on this Dev Center Project.\n"}},"type":"object","required":["identityIds","principalId","tenantId","type"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:devtest/GlobalVMShutdownScheduleNotificationSettings:GlobalVMShutdownScheduleNotificationSettings":{"properties":{"email":{"type":"string","description":"E-mail address to which the notification will be sent.\n"},"enabled":{"type":"boolean","description":"Whether to enable pre-shutdown notifications. Possible values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"timeInMinutes":{"type":"integer","description":"Time in minutes between 15 and 120 before a shutdown event at which a notification will be sent. Defaults to \u003cspan pulumi-lang-nodejs=\"`30`\" pulumi-lang-dotnet=\"`30`\" pulumi-lang-go=\"`30`\" pulumi-lang-python=\"`30`\" pulumi-lang-yaml=\"`30`\" pulumi-lang-java=\"`30`\"\u003e`30`\u003c/span\u003e.\n"},"webhookUrl":{"type":"string","description":"The webhook URL to which the notification will be sent.\n"}},"type":"object","required":["enabled"]},"azure:devtest/LinuxVirtualMachineGalleryImageReference:LinuxVirtualMachineGalleryImageReference":{"properties":{"offer":{"type":"string","description":"The Offer of the Gallery Image. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"publisher":{"type":"string","description":"The Publisher of the Gallery Image. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sku":{"type":"string","description":"The SKU of the Gallery Image. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"version":{"type":"string","description":"The Version of the Gallery Image. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["offer","publisher","sku","version"]},"azure:devtest/LinuxVirtualMachineInboundNatRule:LinuxVirtualMachineInboundNatRule":{"properties":{"backendPort":{"type":"integer","description":"The Backend Port associated with this NAT Rule. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"frontendPort":{"type":"integer","description":"The frontend port associated with this Inbound NAT Rule.\n"},"protocol":{"type":"string","description":"The Protocol used for this NAT Rule. Possible values are `Tcp` and `Udp`.\n"}},"type":"object","required":["backendPort","protocol"],"language":{"nodejs":{"requiredOutputs":["backendPort","frontendPort","protocol"]}}},"azure:devtest/ScheduleDailyRecurrence:ScheduleDailyRecurrence":{"properties":{"time":{"type":"string","description":"The time each day when the schedule takes effect.\n"}},"type":"object","required":["time"]},"azure:devtest/ScheduleHourlyRecurrence:ScheduleHourlyRecurrence":{"properties":{"minute":{"type":"integer","description":"Minutes of the hour the schedule will run.\n"}},"type":"object","required":["minute"]},"azure:devtest/ScheduleNotificationSettings:ScheduleNotificationSettings":{"properties":{"status":{"type":"string","description":"The status of the notification. Possible values are `Enabled` and `Disabled`. Defaults to `Disabled`\n"},"timeInMinutes":{"type":"integer","description":"Time in minutes before event at which notification will be sent.\n"},"webhookUrl":{"type":"string","description":"The webhook URL to which the notification will be sent.\n"}},"type":"object"},"azure:devtest/ScheduleWeeklyRecurrence:ScheduleWeeklyRecurrence":{"properties":{"time":{"type":"string","description":"The time when the schedule takes effect.\n"},"weekDays":{"type":"array","items":{"type":"string"},"description":"A list of days that this schedule takes effect . Possible values include `Monday`, `Tuesday`, `Wednesday`, `Thursday`, `Friday`, `Saturday` and `Sunday`.\n"}},"type":"object","required":["time"]},"azure:devtest/VirtualNetworkSubnet:VirtualNetworkSubnet":{"properties":{"name":{"type":"string","description":"Specifies the name of the Dev Test Virtual Network. Changing this forces a new resource to be created.\n"},"sharedPublicIpAddress":{"$ref":"#/types/azure:devtest/VirtualNetworkSubnetSharedPublicIpAddress:VirtualNetworkSubnetSharedPublicIpAddress","description":"A \u003cspan pulumi-lang-nodejs=\"`sharedPublicIpAddress`\" pulumi-lang-dotnet=\"`SharedPublicIpAddress`\" pulumi-lang-go=\"`sharedPublicIpAddress`\" pulumi-lang-python=\"`shared_public_ip_address`\" pulumi-lang-yaml=\"`sharedPublicIpAddress`\" pulumi-lang-java=\"`sharedPublicIpAddress`\"\u003e`shared_public_ip_address`\u003c/span\u003e block as defined below.\n"},"useInVirtualMachineCreation":{"type":"string","description":"Can this subnet be used for creating Virtual Machines? Possible values are `Allow`, `Default` and `Deny`. Defaults to `Allow`.\n"},"usePublicIpAddress":{"type":"string","description":"Can Virtual Machines in this Subnet use Public IP Addresses? Possible values are `Allow`, `Default` and `Deny`. Defaults to `Allow`.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["name"]}}},"azure:devtest/VirtualNetworkSubnetSharedPublicIpAddress:VirtualNetworkSubnetSharedPublicIpAddress":{"properties":{"allowedPorts":{"type":"array","items":{"$ref":"#/types/azure:devtest/VirtualNetworkSubnetSharedPublicIpAddressAllowedPort:VirtualNetworkSubnetSharedPublicIpAddressAllowedPort"},"description":"A list of \u003cspan pulumi-lang-nodejs=\"`allowedPorts`\" pulumi-lang-dotnet=\"`AllowedPorts`\" pulumi-lang-go=\"`allowedPorts`\" pulumi-lang-python=\"`allowed_ports`\" pulumi-lang-yaml=\"`allowedPorts`\" pulumi-lang-java=\"`allowedPorts`\"\u003e`allowed_ports`\u003c/span\u003e blocks as defined below.\n"}},"type":"object"},"azure:devtest/VirtualNetworkSubnetSharedPublicIpAddressAllowedPort:VirtualNetworkSubnetSharedPublicIpAddressAllowedPort":{"properties":{"backendPort":{"type":"integer","description":"The port on the Virtual Machine that the traffic will be sent to.\n"},"transportProtocol":{"type":"string","description":"The transport protocol that the traffic will use. Possible values are `TCP` and `UDP`.\n"}},"type":"object"},"azure:devtest/WindowsVirtualMachineGalleryImageReference:WindowsVirtualMachineGalleryImageReference":{"properties":{"offer":{"type":"string","description":"The Offer of the Gallery Image. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"publisher":{"type":"string","description":"The Publisher of the Gallery Image. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sku":{"type":"string","description":"The SKU of the Gallery Image. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"version":{"type":"string","description":"The Version of the Gallery Image. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["offer","publisher","sku","version"]},"azure:devtest/WindowsVirtualMachineInboundNatRule:WindowsVirtualMachineInboundNatRule":{"properties":{"backendPort":{"type":"integer","description":"The Backend Port associated with this NAT Rule. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"frontendPort":{"type":"integer","description":"The frontend port associated with this Inbound NAT Rule.\n"},"protocol":{"type":"string","description":"The Protocol used for this NAT Rule. Possible values are `Tcp` and `Udp`.\n"}},"type":"object","required":["backendPort","protocol"],"language":{"nodejs":{"requiredOutputs":["backendPort","frontendPort","protocol"]}}},"azure:devtest/getVirtualNetworkAllowedSubnet:getVirtualNetworkAllowedSubnet":{"properties":{"allowPublicIp":{"type":"string","description":"Indicates if this subnet allows public IP addresses. Possible values are `Allow`, `Default` and `Deny`.\n"},"labSubnetName":{"type":"string","description":"The name of the subnet.\n"},"resourceId":{"type":"string","description":"The resource identifier for the subnet.\n"}},"type":"object","required":["allowPublicIp","labSubnetName","resourceId"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:devtest/getVirtualNetworkSubnetOverride:getVirtualNetworkSubnetOverride":{"properties":{"labSubnetName":{"type":"string","description":"The name of the subnet.\n"},"resourceId":{"type":"string","description":"The resource identifier for the subnet.\n"},"useInVmCreationPermission":{"type":"string","description":"Indicates if the subnet can be used for VM creation.  Possible values are `Allow`, `Default` and `Deny`.\n"},"usePublicIpAddressPermission":{"type":"string"},"virtualNetworkPoolName":{"type":"string","description":"The virtual network pool associated with this subnet.\n"}},"type":"object","required":["labSubnetName","resourceId","useInVmCreationPermission","usePublicIpAddressPermission","virtualNetworkPoolName"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:digitaltwins/InstanceIdentity:InstanceIdentity":{"properties":{"identityIds":{"type":"array","items":{"type":"string"},"description":"A list of User Assigned Managed Identity IDs to be assigned to this Digital Twins instance.\n\n\u003e **Note:** This is required when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to `UserAssigned` or `SystemAssigned, UserAssigned`.\n"},"principalId":{"type":"string","description":"The Principal ID associated with this Managed Service Identity.\n"},"tenantId":{"type":"string","description":"The Tenant ID associated with this Managed Service Identity.\n"},"type":{"type":"string","description":"Specifies the type of Managed Service Identity that should be configured on this Digital Twins instance. Possible values are `SystemAssigned`, `UserAssigned`, `SystemAssigned, UserAssigned` (to enable both).\n"}},"type":"object","required":["type"],"language":{"nodejs":{"requiredOutputs":["principalId","tenantId","type"]}}},"azure:dns/CaaRecordRecord:CaaRecordRecord":{"properties":{"flags":{"type":"integer","description":"Extensible CAA flags, currently only 1 is implemented to set the issuer critical flag.\n"},"tag":{"type":"string","description":"A property tag, options are \u003cspan pulumi-lang-nodejs=\"`issue`\" pulumi-lang-dotnet=\"`Issue`\" pulumi-lang-go=\"`issue`\" pulumi-lang-python=\"`issue`\" pulumi-lang-yaml=\"`issue`\" pulumi-lang-java=\"`issue`\"\u003e`issue`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`issuewild`\" pulumi-lang-dotnet=\"`Issuewild`\" pulumi-lang-go=\"`issuewild`\" pulumi-lang-python=\"`issuewild`\" pulumi-lang-yaml=\"`issuewild`\" pulumi-lang-java=\"`issuewild`\"\u003e`issuewild`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`iodef`\" pulumi-lang-dotnet=\"`Iodef`\" pulumi-lang-go=\"`iodef`\" pulumi-lang-python=\"`iodef`\" pulumi-lang-yaml=\"`iodef`\" pulumi-lang-java=\"`iodef`\"\u003e`iodef`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`contactemail`\" pulumi-lang-dotnet=\"`Contactemail`\" pulumi-lang-go=\"`contactemail`\" pulumi-lang-python=\"`contactemail`\" pulumi-lang-yaml=\"`contactemail`\" pulumi-lang-java=\"`contactemail`\"\u003e`contactemail`\u003c/span\u003e.\n"},"value":{"type":"string","description":"A property value such as a registrar domain.\n"}},"type":"object","required":["flags","tag","value"]},"azure:dns/MxRecordRecord:MxRecordRecord":{"properties":{"exchange":{"type":"string","description":"The mail server responsible for the domain covered by the MX record.\n"},"preference":{"type":"string","description":"String representing the \"preference” value of the MX records. Records with lower preference value take priority.\n"}},"type":"object","required":["exchange","preference"]},"azure:dns/SrvRecordRecord:SrvRecordRecord":{"properties":{"port":{"type":"integer","description":"Port the service is listening on.\n"},"priority":{"type":"integer","description":"Priority of the SRV record.\n"},"target":{"type":"string","description":"FQDN of the service.\n"},"weight":{"type":"integer","description":"Weight of the SRV record.\n"}},"type":"object","required":["port","priority","target","weight"]},"azure:dns/TxtRecordRecord:TxtRecordRecord":{"properties":{"value":{"type":"string","description":"The value of the record. Max length: 4096 characters\n"}},"type":"object","required":["value"]},"azure:dns/ZoneSoaRecord:ZoneSoaRecord":{"properties":{"email":{"type":"string","description":"The email contact for the SOA record.\n"},"expireTime":{"type":"integer","description":"The expire time for the SOA record. Defaults to \u003cspan pulumi-lang-nodejs=\"`2419200`\" pulumi-lang-dotnet=\"`2419200`\" pulumi-lang-go=\"`2419200`\" pulumi-lang-python=\"`2419200`\" pulumi-lang-yaml=\"`2419200`\" pulumi-lang-java=\"`2419200`\"\u003e`2419200`\u003c/span\u003e.\n"},"fqdn":{"type":"string","description":"The fully qualified domain name.\n"},"hostName":{"type":"string","description":"The domain name of the authoritative name server for the SOA record.\n"},"minimumTtl":{"type":"integer","description":"The minimum Time To Live for the SOA record. By convention, it is used to determine the negative caching duration. Defaults to \u003cspan pulumi-lang-nodejs=\"`300`\" pulumi-lang-dotnet=\"`300`\" pulumi-lang-go=\"`300`\" pulumi-lang-python=\"`300`\" pulumi-lang-yaml=\"`300`\" pulumi-lang-java=\"`300`\"\u003e`300`\u003c/span\u003e.\n"},"refreshTime":{"type":"integer","description":"The refresh time for the SOA record. Defaults to \u003cspan pulumi-lang-nodejs=\"`3600`\" pulumi-lang-dotnet=\"`3600`\" pulumi-lang-go=\"`3600`\" pulumi-lang-python=\"`3600`\" pulumi-lang-yaml=\"`3600`\" pulumi-lang-java=\"`3600`\"\u003e`3600`\u003c/span\u003e.\n"},"retryTime":{"type":"integer","description":"The retry time for the SOA record. Defaults to \u003cspan pulumi-lang-nodejs=\"`300`\" pulumi-lang-dotnet=\"`300`\" pulumi-lang-go=\"`300`\" pulumi-lang-python=\"`300`\" pulumi-lang-yaml=\"`300`\" pulumi-lang-java=\"`300`\"\u003e`300`\u003c/span\u003e.\n"},"serialNumber":{"type":"integer","description":"The serial number for the SOA record. Defaults to \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the Record Set.\n"},"ttl":{"type":"integer","description":"The Time To Live of the SOA Record in seconds. Defaults to \u003cspan pulumi-lang-nodejs=\"`3600`\" pulumi-lang-dotnet=\"`3600`\" pulumi-lang-go=\"`3600`\" pulumi-lang-python=\"`3600`\" pulumi-lang-yaml=\"`3600`\" pulumi-lang-java=\"`3600`\"\u003e`3600`\u003c/span\u003e.\n"}},"type":"object","required":["email"],"language":{"nodejs":{"requiredOutputs":["email","fqdn","hostName"]}}},"azure:dns/getCAARecordRecord:getCAARecordRecord":{"properties":{"flags":{"type":"integer","description":"Extensible CAA flags, currently only 1 is implemented to set the issuer critical flag.\n"},"tag":{"type":"string","description":"A property tag, options are \u003cspan pulumi-lang-nodejs=\"`issue`\" pulumi-lang-dotnet=\"`Issue`\" pulumi-lang-go=\"`issue`\" pulumi-lang-python=\"`issue`\" pulumi-lang-yaml=\"`issue`\" pulumi-lang-java=\"`issue`\"\u003e`issue`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`issuewild`\" pulumi-lang-dotnet=\"`Issuewild`\" pulumi-lang-go=\"`issuewild`\" pulumi-lang-python=\"`issuewild`\" pulumi-lang-yaml=\"`issuewild`\" pulumi-lang-java=\"`issuewild`\"\u003e`issuewild`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`iodef`\" pulumi-lang-dotnet=\"`Iodef`\" pulumi-lang-go=\"`iodef`\" pulumi-lang-python=\"`iodef`\" pulumi-lang-yaml=\"`iodef`\" pulumi-lang-java=\"`iodef`\"\u003e`iodef`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`contactemail`\" pulumi-lang-dotnet=\"`Contactemail`\" pulumi-lang-go=\"`contactemail`\" pulumi-lang-python=\"`contactemail`\" pulumi-lang-yaml=\"`contactemail`\" pulumi-lang-java=\"`contactemail`\"\u003e`contactemail`\u003c/span\u003e.\n"},"value":{"type":"string","description":"A property value such as a registrar domain.\n"}},"type":"object","required":["flags","tag","value"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:dns/getMxRecordRecord:getMxRecordRecord":{"properties":{"exchange":{"type":"string","description":"The mail server responsible for the domain covered by the MX record.\n"},"preference":{"type":"string","description":"String representing the \"preference” value of the MX records. Records with lower preference value take priority.\n"}},"type":"object","required":["exchange","preference"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:dns/getSrvRecordRecord:getSrvRecordRecord":{"properties":{"port":{"type":"integer","description":"Port the service is listening on.\n"},"priority":{"type":"integer","description":"Priority of the SRV record.\n"},"target":{"type":"string","description":"FQDN of the service.\n"},"weight":{"type":"integer","description":"Weight of the SRV record.\n"}},"type":"object","required":["port","priority","target","weight"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:dns/getTxtRecordRecord:getTxtRecordRecord":{"properties":{"value":{"type":"string","description":"The value of the record. Max length: 1024 characters\n"}},"type":"object","required":["value"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:domainservices/ServiceInitialReplicaSet:ServiceInitialReplicaSet":{"properties":{"domainControllerIpAddresses":{"type":"array","items":{"type":"string"},"description":"A list of subnet IP addresses for the domain controllers in the initial replica set, typically two.\n"},"externalAccessIpAddress":{"type":"string","description":"The publicly routable IP address for the domain controllers in the initial replica set.\n"},"id":{"type":"string","description":"A unique ID for the replica set.\n"},"location":{"type":"string","description":"The Azure location where the Domain Service exists. Changing this forces a new resource to be created.\n"},"serviceStatus":{"type":"string","description":"The current service status for the initial replica set.\n"},"subnetId":{"type":"string","description":"The ID of the subnet in which to place the initial replica set. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["subnetId"],"language":{"nodejs":{"requiredOutputs":["domainControllerIpAddresses","externalAccessIpAddress","id","location","serviceStatus","subnetId"]}}},"azure:domainservices/ServiceNotifications:ServiceNotifications":{"properties":{"additionalRecipients":{"type":"array","items":{"type":"string"},"description":"A list of additional email addresses to notify when there are alerts in the managed domain.\n"},"notifyDcAdmins":{"type":"boolean","description":"Whether to notify members of the _AAD DC Administrators_ group when there are alerts in the managed domain.\n"},"notifyGlobalAdmins":{"type":"boolean","description":"Whether to notify all Global Administrators when there are alerts in the managed domain.\n"}},"type":"object"},"azure:domainservices/ServiceSecureLdap:ServiceSecureLdap":{"properties":{"certificateExpiry":{"type":"string","description":"The expiry time of the certificate.\n"},"certificateThumbprint":{"type":"string","description":"The thumbprint of the certificate.\n"},"enabled":{"type":"boolean","description":"Whether to enable secure LDAP for the managed domain. For more information, please see [official documentation on enabling LDAPS](https://docs.microsoft.com/azure/active-directory-domain-services/tutorial-configure-ldaps), paying particular attention to the section on network security to avoid unnecessarily exposing your service to Internet-borne bruteforce attacks.\n"},"externalAccessEnabled":{"type":"boolean","description":"Whether to enable external access to LDAPS over the Internet. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"pfxCertificate":{"type":"string","description":"The certificate/private key to use for LDAPS, as a base64-encoded TripleDES-SHA1 encrypted PKCS#12 bundle (PFX file).\n","secret":true},"pfxCertificatePassword":{"type":"string","description":"The password to use for decrypting the PKCS#12 bundle (PFX file).\n","secret":true},"publicCertificate":{"type":"string","description":"The public certificate.\n"}},"type":"object","required":["enabled","pfxCertificate","pfxCertificatePassword"],"language":{"nodejs":{"requiredOutputs":["certificateExpiry","certificateThumbprint","enabled","pfxCertificate","pfxCertificatePassword","publicCertificate"]}}},"azure:domainservices/ServiceSecurity:ServiceSecurity":{"properties":{"kerberosArmoringEnabled":{"type":"boolean","description":"Whether to enable Kerberos Armoring. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"kerberosRc4EncryptionEnabled":{"type":"boolean","description":"Whether to enable Kerberos RC4 Encryption. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"ntlmV1Enabled":{"type":"boolean","description":"Whether to enable legacy NTLM v1 support. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"syncKerberosPasswords":{"type":"boolean","description":"Whether to synchronize Kerberos password hashes to the managed domain. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"syncNtlmPasswords":{"type":"boolean","description":"Whether to synchronize NTLM password hashes to the managed domain. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"syncOnPremPasswords":{"type":"boolean","description":"Whether to synchronize on-premises password hashes to the managed domain. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"tlsV1Enabled":{"type":"boolean","description":"Whether to enable legacy TLS v1 support. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"}},"type":"object"},"azure:domainservices/getServiceNotification:getServiceNotification":{"properties":{"additionalRecipients":{"type":"array","items":{"type":"string"},"description":"A list of additional email addresses to notify when there are alerts in the managed domain.\n"},"notifyDcAdmins":{"type":"boolean","description":"Whethermembers of the _AAD DC Administrators_ group are notified when there are alerts in the managed domain.\n"},"notifyGlobalAdmins":{"type":"boolean","description":"Whether all Global Administrators are notified when there are alerts in the managed domain.\n"}},"type":"object","required":["additionalRecipients","notifyDcAdmins","notifyGlobalAdmins"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:domainservices/getServiceReplicaSet:getServiceReplicaSet":{"properties":{"domainControllerIpAddresses":{"type":"array","items":{"type":"string"},"description":"A list of subnet IP addresses for the domain controllers in the replica set, typically two.\n"},"externalAccessIpAddress":{"type":"string","description":"The publicly routable IP address for the domain controllers in the replica set.\n"},"id":{"type":"string","description":"The ID of the Domain Service.\n"},"location":{"type":"string","description":"The Azure location in which the replica set resides.\n"},"serviceStatus":{"type":"string","description":"The current service status for the replica set.\n"},"subnetId":{"type":"string","description":"The ID of the subnet in which the replica set resides.\n"}},"type":"object","required":["domainControllerIpAddresses","externalAccessIpAddress","id","location","serviceStatus","subnetId"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:domainservices/getServiceSecureLdap:getServiceSecureLdap":{"properties":{"certificateExpiry":{"type":"string"},"certificateThumbprint":{"type":"string"},"enabled":{"type":"boolean","description":"Whether secure LDAP is enabled for the managed domain.\n"},"externalAccessEnabled":{"type":"boolean","description":"Whether external access to LDAPS over the Internet, is enabled.\n"},"publicCertificate":{"type":"string"}},"type":"object","required":["certificateExpiry","certificateThumbprint","enabled","externalAccessEnabled","publicCertificate"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:domainservices/getServiceSecurity:getServiceSecurity":{"properties":{"kerberosArmoringEnabled":{"type":"boolean","description":"(Optional) Whether the Kerberos Armoring is enabled.\n"},"kerberosRc4EncryptionEnabled":{"type":"boolean","description":"(Optional) Whether the Kerberos RC4 Encryption is enabled.\n"},"ntlmV1Enabled":{"type":"boolean","description":"Whether legacy NTLM v1 support is enabled.\n"},"syncKerberosPasswords":{"type":"boolean","description":"Whether Kerberos password hashes are synchronized to the managed domain.\n"},"syncNtlmPasswords":{"type":"boolean","description":"Whether NTLM password hashes are synchronized to the managed domain.\n"},"syncOnPremPasswords":{"type":"boolean","description":"Whether on-premises password hashes are synchronized to the managed domain.\n"},"tlsV1Enabled":{"type":"boolean","description":"Whether legacy TLS v1 support is enabled.\n"}},"type":"object","required":["kerberosArmoringEnabled","kerberosRc4EncryptionEnabled","ntlmV1Enabled","syncKerberosPasswords","syncNtlmPasswords","syncOnPremPasswords","tlsV1Enabled"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:dynatrace/MonitorEnvironmentProperty:MonitorEnvironmentProperty":{"properties":{"environmentInfos":{"type":"array","items":{"$ref":"#/types/azure:dynatrace/MonitorEnvironmentPropertyEnvironmentInfo:MonitorEnvironmentPropertyEnvironmentInfo"},"description":"Information about the Dynatrace environment. An \u003cspan pulumi-lang-nodejs=\"`environmentInfo`\" pulumi-lang-dotnet=\"`EnvironmentInfo`\" pulumi-lang-go=\"`environmentInfo`\" pulumi-lang-python=\"`environment_info`\" pulumi-lang-yaml=\"`environmentInfo`\" pulumi-lang-java=\"`environmentInfo`\"\u003e`environment_info`\u003c/span\u003e block as defined below.\n"}},"type":"object","required":["environmentInfos"]},"azure:dynatrace/MonitorEnvironmentPropertyEnvironmentInfo:MonitorEnvironmentPropertyEnvironmentInfo":{"properties":{"environmentId":{"type":"string","description":"The ID of the Dynatrace environment to be created.\n"}},"type":"object","required":["environmentId"]},"azure:dynatrace/MonitorIdentity:MonitorIdentity":{"properties":{"principalId":{"type":"string"},"tenantId":{"type":"string"},"type":{"type":"string","description":"The type of identity used for the resource. Only possible value is `SystemAssigned`.\n"}},"type":"object","required":["type"],"language":{"nodejs":{"requiredOutputs":["principalId","tenantId","type"]}}},"azure:dynatrace/MonitorPlan:MonitorPlan":{"properties":{"billingCycle":{"type":"string","description":"Different billing cycles. Possible values are `MONTHLY`, `WEEKLY` and `YEARLY`.\n"},"effectiveDate":{"type":"string","description":"Date when plan was applied.\n"},"plan":{"type":"string","description":"Plan id as published by Dynatrace.\n"},"usageType":{"type":"string","description":"Different usage type. Possible values are `PAYG` and `COMMITTED`.\n"}},"type":"object","required":["plan"],"language":{"nodejs":{"requiredOutputs":["effectiveDate","plan"]}}},"azure:dynatrace/MonitorUser:MonitorUser":{"properties":{"country":{"type":"string","description":"Country of the user.\n"},"email":{"type":"string","description":"Email of the user used by Dynatrace for contacting them if needed.\n"},"firstName":{"type":"string","description":"First name of the user.\n"},"lastName":{"type":"string","description":"Last name of the user.\n"},"phoneNumber":{"type":"string","description":"phone number of the user by Dynatrace for contacting them if needed.\n"}},"type":"object","required":["email","firstName","lastName"]},"azure:dynatrace/TagRulesLogRule:TagRulesLogRule":{"properties":{"filteringTags":{"type":"array","items":{"$ref":"#/types/azure:dynatrace/TagRulesLogRuleFilteringTag:TagRulesLogRuleFilteringTag"},"description":"Filtering tag for the log rule. A \u003cspan pulumi-lang-nodejs=\"`filteringTag`\" pulumi-lang-dotnet=\"`FilteringTag`\" pulumi-lang-go=\"`filteringTag`\" pulumi-lang-python=\"`filtering_tag`\" pulumi-lang-yaml=\"`filteringTag`\" pulumi-lang-java=\"`filteringTag`\"\u003e`filtering_tag`\u003c/span\u003e block as defined below.\n"},"sendActivityLogsEnabled":{"type":"boolean","description":"Send Activity logs. The default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"sendAzureActiveDirectoryLogsEnabled":{"type":"boolean","description":"Send Azure Active Directory logs. The default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"sendSubscriptionLogsEnabled":{"type":"boolean","description":"Send Subscription logs. The default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"}},"type":"object"},"azure:dynatrace/TagRulesLogRuleFilteringTag:TagRulesLogRuleFilteringTag":{"properties":{"action":{"type":"string","description":"Action of the filtering tag. Possible values are `Include` and `Exclude`.\n"},"name":{"type":"string","description":"Name of the filtering tag.\n"},"value":{"type":"string","description":"Value of the filtering tag.\n"}},"type":"object","required":["action","name","value"]},"azure:dynatrace/TagRulesMetricRule:TagRulesMetricRule":{"properties":{"filteringTags":{"type":"array","items":{"$ref":"#/types/azure:dynatrace/TagRulesMetricRuleFilteringTag:TagRulesMetricRuleFilteringTag"},"description":"Filtering tag for the metric rule. A \u003cspan pulumi-lang-nodejs=\"`filteringTag`\" pulumi-lang-dotnet=\"`FilteringTag`\" pulumi-lang-go=\"`filteringTag`\" pulumi-lang-python=\"`filtering_tag`\" pulumi-lang-yaml=\"`filteringTag`\" pulumi-lang-java=\"`filteringTag`\"\u003e`filtering_tag`\u003c/span\u003e block as defined below.\n"},"sendingMetricsEnabled":{"type":"boolean","description":"If sending metrics is enabled. The default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"}},"type":"object"},"azure:dynatrace/TagRulesMetricRuleFilteringTag:TagRulesMetricRuleFilteringTag":{"properties":{"action":{"type":"string","description":"Action of the filtering tag. Possible values are `Include` and `Exclude`.\n"},"name":{"type":"string","description":"Name of the filtering tag.\n"},"value":{"type":"string","description":"Value of the filtering tag.\n"}},"type":"object","required":["action","name","value"]},"azure:dynatrace/getMonitorEnvironmentProperty:getMonitorEnvironmentProperty":{"properties":{"environmentInfos":{"type":"array","items":{"$ref":"#/types/azure:dynatrace/getMonitorEnvironmentPropertyEnvironmentInfo:getMonitorEnvironmentPropertyEnvironmentInfo"}}},"type":"object","required":["environmentInfos"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:dynatrace/getMonitorEnvironmentPropertyEnvironmentInfo:getMonitorEnvironmentPropertyEnvironmentInfo":{"properties":{"environmentId":{"type":"string"}},"type":"object","required":["environmentId"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:dynatrace/getMonitorIdentity:getMonitorIdentity":{"properties":{"principalId":{"type":"string"},"tenantId":{"type":"string"},"type":{"type":"string","description":"The type of identity used for the resource.\n"}},"type":"object","required":["principalId","tenantId","type"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:dynatrace/getMonitorPlan:getMonitorPlan":{"properties":{"billingCycle":{"type":"string","description":"Different billing cycles.\n"},"effectiveDate":{"type":"string","description":"Date when plan was applied.\n"},"plan":{"type":"string","description":"Plan id as published by Dynatrace.\n"},"usageType":{"type":"string","description":"Different usage type.\n"}},"type":"object","required":["billingCycle","effectiveDate","plan","usageType"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:dynatrace/getMonitorUser:getMonitorUser":{"properties":{"country":{"type":"string","description":"Country of the user.\n"},"email":{"type":"string","description":"Email of the user used by Dynatrace for contacting them if needed.\n"},"firstName":{"type":"string","description":"First name of the user.\n"},"lastName":{"type":"string","description":"Last name of the user.\n"},"phoneNumber":{"type":"string","description":"phone number of the user by Dynatrace for contacting them if needed.\n"}},"type":"object","required":["country","email","firstName","lastName","phoneNumber"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:elasticcloud/ElasticsearchLogs:ElasticsearchLogs":{"properties":{"filteringTags":{"type":"array","items":{"$ref":"#/types/azure:elasticcloud/ElasticsearchLogsFilteringTag:ElasticsearchLogsFilteringTag"},"description":"A list of \u003cspan pulumi-lang-nodejs=\"`filteringTag`\" pulumi-lang-dotnet=\"`FilteringTag`\" pulumi-lang-go=\"`filteringTag`\" pulumi-lang-python=\"`filtering_tag`\" pulumi-lang-yaml=\"`filteringTag`\" pulumi-lang-java=\"`filteringTag`\"\u003e`filtering_tag`\u003c/span\u003e blocks as defined above.\n"},"sendActivityLogs":{"type":"boolean","description":"Specifies if the Azure Activity Logs should be sent to the Elasticsearch cluster. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"sendAzureadLogs":{"type":"boolean","description":"Specifies if the AzureAD Logs should be sent to the Elasticsearch cluster. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"sendSubscriptionLogs":{"type":"boolean","description":"Specifies if the Azure Subscription Logs should be sent to the Elasticsearch cluster. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"}},"type":"object"},"azure:elasticcloud/ElasticsearchLogsFilteringTag:ElasticsearchLogsFilteringTag":{"properties":{"action":{"type":"string","description":"Specifies the type of action which should be taken when the Tag matches the \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`value`\" pulumi-lang-dotnet=\"`Value`\" pulumi-lang-go=\"`value`\" pulumi-lang-python=\"`value`\" pulumi-lang-yaml=\"`value`\" pulumi-lang-java=\"`value`\"\u003e`value`\u003c/span\u003e. Possible values are `Exclude` and `Include`.\n"},"name":{"type":"string","description":"Specifies the name (key) of the Tag which should be filtered.\n"},"value":{"type":"string","description":"Specifies the value of the Tag which should be filtered.\n"}},"type":"object","required":["action","name","value"]},"azure:elasticcloud/getElasticsearchLog:getElasticsearchLog":{"properties":{"filteringTags":{"type":"array","items":{"$ref":"#/types/azure:elasticcloud/getElasticsearchLogFilteringTag:getElasticsearchLogFilteringTag"},"description":"A list of \u003cspan pulumi-lang-nodejs=\"`filteringTag`\" pulumi-lang-dotnet=\"`FilteringTag`\" pulumi-lang-go=\"`filteringTag`\" pulumi-lang-python=\"`filtering_tag`\" pulumi-lang-yaml=\"`filteringTag`\" pulumi-lang-java=\"`filteringTag`\"\u003e`filtering_tag`\u003c/span\u003e blocks as defined above.\n"},"sendActivityLogs":{"type":"boolean","description":"Should the Azure Activity Logs should be sent to the Elasticsearch cluster?\n"},"sendAzureadLogs":{"type":"boolean","description":"Should the AzureAD Logs should be sent to the Elasticsearch cluster?\n"},"sendSubscriptionLogs":{"type":"boolean","description":"Should the Azure Subscription Logs should be sent to the Elasticsearch cluster?\n"}},"type":"object","required":["filteringTags","sendActivityLogs","sendAzureadLogs","sendSubscriptionLogs"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:elasticcloud/getElasticsearchLogFilteringTag:getElasticsearchLogFilteringTag":{"properties":{"action":{"type":"string","description":"The type of action which is taken when the Tag matches the \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`value`\" pulumi-lang-dotnet=\"`Value`\" pulumi-lang-go=\"`value`\" pulumi-lang-python=\"`value`\" pulumi-lang-yaml=\"`value`\" pulumi-lang-java=\"`value`\"\u003e`value`\u003c/span\u003e.\n"},"name":{"type":"string","description":"The name of the Elasticsearch resource.\n"},"value":{"type":"string","description":"The value of the Tag which should be filtered.\n"}},"type":"object","required":["action","name","value"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:elasticsan/ElasticSanSku:ElasticSanSku":{"properties":{"name":{"type":"string","description":"The SKU name. Possible values are `Premium_LRS` and `Premium_ZRS`. Changing this forces a new resource to be created.\n\n\u003e **Note:** `Premium_ZRS` SKU is only available in limited Azure regions including `France Central`, `North Europe`, `West Europe`, and `West US 2`. Please refer to this [document](https://azure.microsoft.com/updates/regional-expansion-azure-elastic-san-public-preview-is-now-available-in-more-regions) for more details.\n","willReplaceOnChanges":true},"tier":{"type":"string","description":"The SKU tier. The only possible value is `Premium`. Defaults to `Premium`.\n"}},"type":"object","required":["name"]},"azure:elasticsan/VolumeCreateSource:VolumeCreateSource":{"properties":{"sourceId":{"type":"string","description":"Specifies the ID of the source to create the Elastic SAN Volume from. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sourceType":{"type":"string","description":"Specifies the type of the source to create the Elastic SAN Volume from. Possible values are `Disk`, `DiskRestorePoint`, `DiskSnapshot` and `VolumeSnapshot`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["sourceId","sourceType"]},"azure:elasticsan/VolumeGroupEncryption:VolumeGroupEncryption":{"properties":{"currentVersionedKeyExpirationTimestamp":{"type":"string","description":"The timestamp of the expiration time for the current version of the customer managed key.\n"},"currentVersionedKeyId":{"type":"string","description":"The ID of the current versioned Key Vault Key in use.\n"},"keyVaultKeyId":{"type":"string","description":"The Key Vault key URI for Customer Managed Key encryption, which can be either a full URI or a versionless URI.\n"},"lastKeyRotationTimestamp":{"type":"string","description":"The timestamp of the last rotation of the Key Vault Key.\n"},"userAssignedIdentityId":{"type":"string","description":"The ID of the User Assigned Identity used by this Elastic SAN Volume Group.\n"}},"type":"object","required":["keyVaultKeyId"],"language":{"nodejs":{"requiredOutputs":["currentVersionedKeyExpirationTimestamp","currentVersionedKeyId","keyVaultKeyId","lastKeyRotationTimestamp"]}}},"azure:elasticsan/VolumeGroupIdentity:VolumeGroupIdentity":{"properties":{"identityIds":{"type":"array","items":{"type":"string"},"description":"A list of the User Assigned Identity IDs that should be assigned to this Elastic SAN Volume Group.\n"},"principalId":{"type":"string","description":"The Principal ID associated with the Managed Service Identity assigned to this Elastic SAN Volume Group.\n"},"tenantId":{"type":"string","description":"The Tenant ID associated with this Managed Service Identity assigned to this Elastic SAN Volume Group.\n"},"type":{"type":"string","description":"Specifies the type of Managed Identity that should be assigned to this Elastic SAN Volume Group. Possible values are `SystemAssigned` and `UserAssigned`.\n"}},"type":"object","required":["type"],"language":{"nodejs":{"requiredOutputs":["principalId","tenantId","type"]}}},"azure:elasticsan/VolumeGroupNetworkRule:VolumeGroupNetworkRule":{"properties":{"action":{"type":"string","description":"The action to take when the Subnet attempts to access this Elastic SAN Volume Group. The only possible value is `Allow`. Defaults to `Allow`.\n"},"subnetId":{"type":"string","description":"The ID of the Subnet which should be allowed to access this Elastic SAN Volume Group.\n"}},"type":"object","required":["subnetId"]},"azure:elasticsan/getSkus:getSkus":{"properties":{"name":{"type":"string","description":"The name of this Elastic SAN.\n"},"tier":{"type":"string","description":"The SKU tier.\n"}},"type":"object","required":["name","tier"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:elasticsan/getVolumeGroupEncryption:getVolumeGroupEncryption":{"properties":{"currentVersionedKeyExpirationTimestamp":{"type":"string","description":"The timestamp of the expiration time for the current version of the Customer Managed Key.\n"},"currentVersionedKeyId":{"type":"string","description":"The ID of the current versioned Key Vault Key in use.\n"},"keyVaultKeyId":{"type":"string","description":"The Key Vault Key URI for Customer Managed Key encryption, which can be either a full URI or a versionless URI.\n"},"lastKeyRotationTimestamp":{"type":"string","description":"The timestamp of the last rotation of the Key Vault Key.\n"},"userAssignedIdentityId":{"type":"string","description":"The ID of the User Assigned Identity used by this Elastic SAN Volume Group.\n"}},"type":"object","required":["currentVersionedKeyExpirationTimestamp","currentVersionedKeyId","keyVaultKeyId","lastKeyRotationTimestamp","userAssignedIdentityId"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:elasticsan/getVolumeGroupIdentity:getVolumeGroupIdentity":{"properties":{"identityIds":{"type":"array","items":{"type":"string"},"description":"A list of the User Assigned Identity IDs assigned to this Elastic SAN Volume Group.\n"},"principalId":{"type":"string","description":"The Principal ID associated with the Managed Service Identity assigned to this Elastic SAN Volume Group.\n"},"tenantId":{"type":"string","description":"The Tenant ID associated with this Managed Service Identity assigned to this Elastic SAN Volume Group.\n"},"type":{"type":"string","description":"The type of Managed Identity assigned to this Elastic SAN Volume Group.\n"}},"type":"object","required":["identityIds","principalId","tenantId","type"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:elasticsan/getVolumeGroupNetworkRule:getVolumeGroupNetworkRule":{"properties":{"action":{"type":"string","description":"The action to take when an access attempt to this Elastic SAN Volume Group from this Subnet is made.\n"},"subnetId":{"type":"string","description":"The ID of the Subnet from which access to this Elastic SAN Volume Group is allowed.\n"}},"type":"object","required":["action","subnetId"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:eventgrid/DomainIdentity:DomainIdentity":{"properties":{"identityIds":{"type":"array","items":{"type":"string"},"description":"Specifies a list of User Assigned Managed Identity IDs to be assigned to this Event Grid Domain.\n\n\u003e **Note:** This is required when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to `UserAssigned`\n\n\u003e **Note:** When \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to `SystemAssigned`, The assigned \u003cspan pulumi-lang-nodejs=\"`principalId`\" pulumi-lang-dotnet=\"`PrincipalId`\" pulumi-lang-go=\"`principalId`\" pulumi-lang-python=\"`principal_id`\" pulumi-lang-yaml=\"`principalId`\" pulumi-lang-java=\"`principalId`\"\u003e`principal_id`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`tenantId`\" pulumi-lang-dotnet=\"`TenantId`\" pulumi-lang-go=\"`tenantId`\" pulumi-lang-python=\"`tenant_id`\" pulumi-lang-yaml=\"`tenantId`\" pulumi-lang-java=\"`tenantId`\"\u003e`tenant_id`\u003c/span\u003e can be retrieved after the Event Grid Domain has been created. More details are available below.\n"},"principalId":{"type":"string","description":"The Principal ID associated with this Managed Service Identity.\n"},"tenantId":{"type":"string","description":"The Tenant ID associated with this Managed Service Identity.\n"},"type":{"type":"string","description":"Specifies the type of Managed Service Identity that should be configured on this Event Grid Domain. Possible values are `SystemAssigned`, `UserAssigned`.\n"}},"type":"object","required":["type"],"language":{"nodejs":{"requiredOutputs":["principalId","tenantId","type"]}}},"azure:eventgrid/DomainInboundIpRule:DomainInboundIpRule":{"properties":{"action":{"type":"string","description":"The action to take when the rule is matched. Possible values are `Allow`. Defaults to `Allow`.\n"},"ipMask":{"type":"string","description":"The IP mask (CIDR) to match on.\n"}},"type":"object","required":["ipMask"]},"azure:eventgrid/DomainInputMappingDefaultValues:DomainInputMappingDefaultValues":{"properties":{"dataVersion":{"type":"string","description":"Specifies the default data version of the EventGrid Event to associate with the domain. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"eventType":{"type":"string","description":"Specifies the default event type of the EventGrid Event to associate with the domain. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"subject":{"type":"string","description":"Specifies the default subject of the EventGrid Event to associate with the domain. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"},"azure:eventgrid/DomainInputMappingFields:DomainInputMappingFields":{"properties":{"dataVersion":{"type":"string","description":"Specifies the data version of the EventGrid Event to associate with the domain. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"eventTime":{"type":"string","description":"Specifies the event time of the EventGrid Event to associate with the domain. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"eventType":{"type":"string","description":"Specifies the event type of the EventGrid Event to associate with the domain. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"id":{"type":"string","description":"Specifies the id of the EventGrid Event to associate with the domain. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"subject":{"type":"string","description":"Specifies the subject of the EventGrid Event to associate with the domain. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"topic":{"type":"string","description":"Specifies the topic of the EventGrid Event to associate with the domain. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"},"azure:eventgrid/EventSubscriptionAdvancedFilter:EventSubscriptionAdvancedFilter":{"properties":{"boolEquals":{"type":"array","items":{"$ref":"#/types/azure:eventgrid/EventSubscriptionAdvancedFilterBoolEqual:EventSubscriptionAdvancedFilterBoolEqual"},"description":"Compares a value of an event using a single boolean value.\n"},"isNotNulls":{"type":"array","items":{"$ref":"#/types/azure:eventgrid/EventSubscriptionAdvancedFilterIsNotNull:EventSubscriptionAdvancedFilterIsNotNull"},"description":"Evaluates if a value of an event isn't NULL or undefined.\n"},"isNullOrUndefineds":{"type":"array","items":{"$ref":"#/types/azure:eventgrid/EventSubscriptionAdvancedFilterIsNullOrUndefined:EventSubscriptionAdvancedFilterIsNullOrUndefined"},"description":"Evaluates if a value of an event is NULL or undefined.\n\nEach nested block consists of a key and a value(s) element.\n"},"numberGreaterThanOrEquals":{"type":"array","items":{"$ref":"#/types/azure:eventgrid/EventSubscriptionAdvancedFilterNumberGreaterThanOrEqual:EventSubscriptionAdvancedFilterNumberGreaterThanOrEqual"},"description":"Compares a value of an event using a single floating point number.\n"},"numberGreaterThans":{"type":"array","items":{"$ref":"#/types/azure:eventgrid/EventSubscriptionAdvancedFilterNumberGreaterThan:EventSubscriptionAdvancedFilterNumberGreaterThan"},"description":"Compares a value of an event using a single floating point number.\n"},"numberInRanges":{"type":"array","items":{"$ref":"#/types/azure:eventgrid/EventSubscriptionAdvancedFilterNumberInRange:EventSubscriptionAdvancedFilterNumberInRange"},"description":"Compares a value of an event using multiple floating point number ranges.\n"},"numberIns":{"type":"array","items":{"$ref":"#/types/azure:eventgrid/EventSubscriptionAdvancedFilterNumberIn:EventSubscriptionAdvancedFilterNumberIn"},"description":"Compares a value of an event using multiple floating point numbers.\n"},"numberLessThanOrEquals":{"type":"array","items":{"$ref":"#/types/azure:eventgrid/EventSubscriptionAdvancedFilterNumberLessThanOrEqual:EventSubscriptionAdvancedFilterNumberLessThanOrEqual"},"description":"Compares a value of an event using a single floating point number.\n"},"numberLessThans":{"type":"array","items":{"$ref":"#/types/azure:eventgrid/EventSubscriptionAdvancedFilterNumberLessThan:EventSubscriptionAdvancedFilterNumberLessThan"},"description":"Compares a value of an event using a single floating point number.\n"},"numberNotInRanges":{"type":"array","items":{"$ref":"#/types/azure:eventgrid/EventSubscriptionAdvancedFilterNumberNotInRange:EventSubscriptionAdvancedFilterNumberNotInRange"},"description":"Compares a value of an event using multiple floating point number ranges.\n"},"numberNotIns":{"type":"array","items":{"$ref":"#/types/azure:eventgrid/EventSubscriptionAdvancedFilterNumberNotIn:EventSubscriptionAdvancedFilterNumberNotIn"},"description":"Compares a value of an event using multiple floating point numbers.\n"},"stringBeginsWiths":{"type":"array","items":{"$ref":"#/types/azure:eventgrid/EventSubscriptionAdvancedFilterStringBeginsWith:EventSubscriptionAdvancedFilterStringBeginsWith"},"description":"Compares a value of an event using multiple string values.\n"},"stringContains":{"type":"array","items":{"$ref":"#/types/azure:eventgrid/EventSubscriptionAdvancedFilterStringContain:EventSubscriptionAdvancedFilterStringContain"},"description":"Compares a value of an event using multiple string values.\n"},"stringEndsWiths":{"type":"array","items":{"$ref":"#/types/azure:eventgrid/EventSubscriptionAdvancedFilterStringEndsWith:EventSubscriptionAdvancedFilterStringEndsWith"},"description":"Compares a value of an event using multiple string values.\n"},"stringIns":{"type":"array","items":{"$ref":"#/types/azure:eventgrid/EventSubscriptionAdvancedFilterStringIn:EventSubscriptionAdvancedFilterStringIn"},"description":"Compares a value of an event using multiple string values.\n"},"stringNotBeginsWiths":{"type":"array","items":{"$ref":"#/types/azure:eventgrid/EventSubscriptionAdvancedFilterStringNotBeginsWith:EventSubscriptionAdvancedFilterStringNotBeginsWith"},"description":"Compares a value of an event using multiple string values.\n"},"stringNotContains":{"type":"array","items":{"$ref":"#/types/azure:eventgrid/EventSubscriptionAdvancedFilterStringNotContain:EventSubscriptionAdvancedFilterStringNotContain"},"description":"Compares a value of an event using multiple string values.\n"},"stringNotEndsWiths":{"type":"array","items":{"$ref":"#/types/azure:eventgrid/EventSubscriptionAdvancedFilterStringNotEndsWith:EventSubscriptionAdvancedFilterStringNotEndsWith"},"description":"Compares a value of an event using multiple string values.\n"},"stringNotIns":{"type":"array","items":{"$ref":"#/types/azure:eventgrid/EventSubscriptionAdvancedFilterStringNotIn:EventSubscriptionAdvancedFilterStringNotIn"},"description":"Compares a value of an event using multiple string values.\n"}},"type":"object"},"azure:eventgrid/EventSubscriptionAdvancedFilterBoolEqual:EventSubscriptionAdvancedFilterBoolEqual":{"properties":{"key":{"type":"string","description":"Specifies the field within the event data that you want to use for filtering. Type of the field can be a number, boolean, or string.\n"},"value":{"type":"boolean"}},"type":"object","required":["key","value"]},"azure:eventgrid/EventSubscriptionAdvancedFilterIsNotNull:EventSubscriptionAdvancedFilterIsNotNull":{"properties":{"key":{"type":"string","description":"Specifies the field within the event data that you want to use for filtering. Type of the field can be a number, boolean, or string.\n"}},"type":"object","required":["key"]},"azure:eventgrid/EventSubscriptionAdvancedFilterIsNullOrUndefined:EventSubscriptionAdvancedFilterIsNullOrUndefined":{"properties":{"key":{"type":"string","description":"Specifies the field within the event data that you want to use for filtering. Type of the field can be a number, boolean, or string.\n"}},"type":"object","required":["key"]},"azure:eventgrid/EventSubscriptionAdvancedFilterNumberGreaterThan:EventSubscriptionAdvancedFilterNumberGreaterThan":{"properties":{"key":{"type":"string","description":"Specifies the field within the event data that you want to use for filtering. Type of the field can be a number, boolean, or string.\n"},"value":{"type":"number"}},"type":"object","required":["key","value"]},"azure:eventgrid/EventSubscriptionAdvancedFilterNumberGreaterThanOrEqual:EventSubscriptionAdvancedFilterNumberGreaterThanOrEqual":{"properties":{"key":{"type":"string","description":"Specifies the field within the event data that you want to use for filtering. Type of the field can be a number, boolean, or string.\n"},"value":{"type":"number"}},"type":"object","required":["key","value"]},"azure:eventgrid/EventSubscriptionAdvancedFilterNumberIn:EventSubscriptionAdvancedFilterNumberIn":{"properties":{"key":{"type":"string","description":"Specifies the field within the event data that you want to use for filtering. Type of the field can be a number, boolean, or string.\n"},"values":{"type":"array","items":{"type":"number"},"description":"Specifies an array of values to compare to when using a multiple values operator.\n\n\u003e **Note:** A maximum of total number of advanced filter values allowed on event subscription is 25.\n"}},"type":"object","required":["key","values"]},"azure:eventgrid/EventSubscriptionAdvancedFilterNumberInRange:EventSubscriptionAdvancedFilterNumberInRange":{"properties":{"key":{"type":"string","description":"Specifies the field within the event data that you want to use for filtering. Type of the field can be a number, boolean, or string.\n"},"values":{"type":"array","items":{"type":"array","items":{"type":"number"}},"description":"Specifies an array of values to compare to when using a multiple values operator.\n\n\u003e **Note:** A maximum of total number of advanced filter values allowed on event subscription is 25.\n"}},"type":"object","required":["key","values"]},"azure:eventgrid/EventSubscriptionAdvancedFilterNumberLessThan:EventSubscriptionAdvancedFilterNumberLessThan":{"properties":{"key":{"type":"string","description":"Specifies the field within the event data that you want to use for filtering. Type of the field can be a number, boolean, or string.\n"},"value":{"type":"number"}},"type":"object","required":["key","value"]},"azure:eventgrid/EventSubscriptionAdvancedFilterNumberLessThanOrEqual:EventSubscriptionAdvancedFilterNumberLessThanOrEqual":{"properties":{"key":{"type":"string","description":"Specifies the field within the event data that you want to use for filtering. Type of the field can be a number, boolean, or string.\n"},"value":{"type":"number"}},"type":"object","required":["key","value"]},"azure:eventgrid/EventSubscriptionAdvancedFilterNumberNotIn:EventSubscriptionAdvancedFilterNumberNotIn":{"properties":{"key":{"type":"string","description":"Specifies the field within the event data that you want to use for filtering. Type of the field can be a number, boolean, or string.\n"},"values":{"type":"array","items":{"type":"number"},"description":"Specifies an array of values to compare to when using a multiple values operator.\n\n\u003e **Note:** A maximum of total number of advanced filter values allowed on event subscription is 25.\n"}},"type":"object","required":["key","values"]},"azure:eventgrid/EventSubscriptionAdvancedFilterNumberNotInRange:EventSubscriptionAdvancedFilterNumberNotInRange":{"properties":{"key":{"type":"string","description":"Specifies the field within the event data that you want to use for filtering. Type of the field can be a number, boolean, or string.\n"},"values":{"type":"array","items":{"type":"array","items":{"type":"number"}},"description":"Specifies an array of values to compare to when using a multiple values operator.\n\n\u003e **Note:** A maximum of total number of advanced filter values allowed on event subscription is 25.\n"}},"type":"object","required":["key","values"]},"azure:eventgrid/EventSubscriptionAdvancedFilterStringBeginsWith:EventSubscriptionAdvancedFilterStringBeginsWith":{"properties":{"key":{"type":"string","description":"Specifies the field within the event data that you want to use for filtering. Type of the field can be a number, boolean, or string.\n"},"values":{"type":"array","items":{"type":"string"},"description":"Specifies an array of values to compare to when using a multiple values operator.\n\n\u003e **Note:** A maximum of total number of advanced filter values allowed on event subscription is 25.\n"}},"type":"object","required":["key","values"]},"azure:eventgrid/EventSubscriptionAdvancedFilterStringContain:EventSubscriptionAdvancedFilterStringContain":{"properties":{"key":{"type":"string","description":"Specifies the field within the event data that you want to use for filtering. Type of the field can be a number, boolean, or string.\n"},"values":{"type":"array","items":{"type":"string"},"description":"Specifies an array of values to compare to when using a multiple values operator.\n\n\u003e **Note:** A maximum of total number of advanced filter values allowed on event subscription is 25.\n"}},"type":"object","required":["key","values"]},"azure:eventgrid/EventSubscriptionAdvancedFilterStringEndsWith:EventSubscriptionAdvancedFilterStringEndsWith":{"properties":{"key":{"type":"string","description":"Specifies the field within the event data that you want to use for filtering. Type of the field can be a number, boolean, or string.\n"},"values":{"type":"array","items":{"type":"string"},"description":"Specifies an array of values to compare to when using a multiple values operator.\n\n\u003e **Note:** A maximum of total number of advanced filter values allowed on event subscription is 25.\n"}},"type":"object","required":["key","values"]},"azure:eventgrid/EventSubscriptionAdvancedFilterStringIn:EventSubscriptionAdvancedFilterStringIn":{"properties":{"key":{"type":"string","description":"Specifies the field within the event data that you want to use for filtering. Type of the field can be a number, boolean, or string.\n"},"values":{"type":"array","items":{"type":"string"},"description":"Specifies an array of values to compare to when using a multiple values operator.\n\n\u003e **Note:** A maximum of total number of advanced filter values allowed on event subscription is 25.\n"}},"type":"object","required":["key","values"]},"azure:eventgrid/EventSubscriptionAdvancedFilterStringNotBeginsWith:EventSubscriptionAdvancedFilterStringNotBeginsWith":{"properties":{"key":{"type":"string","description":"Specifies the field within the event data that you want to use for filtering. Type of the field can be a number, boolean, or string.\n"},"values":{"type":"array","items":{"type":"string"},"description":"Specifies an array of values to compare to when using a multiple values operator.\n\n\u003e **Note:** A maximum of total number of advanced filter values allowed on event subscription is 25.\n"}},"type":"object","required":["key","values"]},"azure:eventgrid/EventSubscriptionAdvancedFilterStringNotContain:EventSubscriptionAdvancedFilterStringNotContain":{"properties":{"key":{"type":"string","description":"Specifies the field within the event data that you want to use for filtering. Type of the field can be a number, boolean, or string.\n"},"values":{"type":"array","items":{"type":"string"},"description":"Specifies an array of values to compare to when using a multiple values operator.\n\n\u003e **Note:** A maximum of total number of advanced filter values allowed on event subscription is 25.\n"}},"type":"object","required":["key","values"]},"azure:eventgrid/EventSubscriptionAdvancedFilterStringNotEndsWith:EventSubscriptionAdvancedFilterStringNotEndsWith":{"properties":{"key":{"type":"string","description":"Specifies the field within the event data that you want to use for filtering. Type of the field can be a number, boolean, or string.\n"},"values":{"type":"array","items":{"type":"string"},"description":"Specifies an array of values to compare to when using a multiple values operator.\n\n\u003e **Note:** A maximum of total number of advanced filter values allowed on event subscription is 25.\n"}},"type":"object","required":["key","values"]},"azure:eventgrid/EventSubscriptionAdvancedFilterStringNotIn:EventSubscriptionAdvancedFilterStringNotIn":{"properties":{"key":{"type":"string","description":"Specifies the field within the event data that you want to use for filtering. Type of the field can be a number, boolean, or string.\n"},"values":{"type":"array","items":{"type":"string"},"description":"Specifies an array of values to compare to when using a multiple values operator.\n\n\u003e **Note:** A maximum of total number of advanced filter values allowed on event subscription is 25.\n"}},"type":"object","required":["key","values"]},"azure:eventgrid/EventSubscriptionAzureFunctionEndpoint:EventSubscriptionAzureFunctionEndpoint":{"properties":{"functionId":{"type":"string","description":"Specifies the ID of the Function where the Event Subscription will receive events. This must be the functions ID in format {function_app.id}/functions/{name}.\n"},"maxEventsPerBatch":{"type":"integer","description":"Maximum number of events per batch.\n"},"preferredBatchSizeInKilobytes":{"type":"integer","description":"Preferred batch size in Kilobytes.\n"}},"type":"object","required":["functionId"]},"azure:eventgrid/EventSubscriptionDeadLetterIdentity:EventSubscriptionDeadLetterIdentity":{"properties":{"type":{"type":"string","description":"Specifies the type of Managed Service Identity that is used for dead lettering. Allowed value is `SystemAssigned`, `UserAssigned`.\n"},"userAssignedIdentity":{"type":"string","description":"The user identity associated with the resource.\n"}},"type":"object","required":["type"]},"azure:eventgrid/EventSubscriptionDeliveryIdentity:EventSubscriptionDeliveryIdentity":{"properties":{"type":{"type":"string","description":"Specifies the type of Managed Service Identity that is used for event delivery. Allowed value is `SystemAssigned`, `UserAssigned`.\n"},"userAssignedIdentity":{"type":"string","description":"The user identity associated with the resource.\n"}},"type":"object","required":["type"]},"azure:eventgrid/EventSubscriptionDeliveryProperty:EventSubscriptionDeliveryProperty":{"properties":{"headerName":{"type":"string","description":"The name of the header to send on to the destination\n"},"secret":{"type":"boolean","description":"True if the \u003cspan pulumi-lang-nodejs=\"`value`\" pulumi-lang-dotnet=\"`Value`\" pulumi-lang-go=\"`value`\" pulumi-lang-python=\"`value`\" pulumi-lang-yaml=\"`value`\" pulumi-lang-java=\"`value`\"\u003e`value`\u003c/span\u003e is a secret and should be protected, otherwise false. If True, then this value won't be returned from Azure API calls\n"},"sourceField":{"type":"string","description":"If the \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is `Dynamic`, then provide the payload field to be used as the value. Valid source fields differ by subscription type.\n"},"type":{"type":"string","description":"Either `Static` or `Dynamic`\n"},"value":{"type":"string","description":"If the \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is `Static`, then provide the value to use\n","secret":true}},"type":"object","required":["headerName","type"]},"azure:eventgrid/EventSubscriptionRetryPolicy:EventSubscriptionRetryPolicy":{"properties":{"eventTimeToLive":{"type":"integer","description":"Specifies the time to live (in minutes) for events. Supported range is \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`1440`\" pulumi-lang-dotnet=\"`1440`\" pulumi-lang-go=\"`1440`\" pulumi-lang-python=\"`1440`\" pulumi-lang-yaml=\"`1440`\" pulumi-lang-java=\"`1440`\"\u003e`1440`\u003c/span\u003e. See [official documentation](https://docs.microsoft.com/azure/event-grid/manage-event-delivery#set-retry-policy) for more details.\n"},"maxDeliveryAttempts":{"type":"integer","description":"Specifies the maximum number of delivery retry attempts for events.\n"}},"type":"object","required":["eventTimeToLive","maxDeliveryAttempts"]},"azure:eventgrid/EventSubscriptionStorageBlobDeadLetterDestination:EventSubscriptionStorageBlobDeadLetterDestination":{"properties":{"storageAccountId":{"type":"string","description":"Specifies the id of the storage account id where the storage blob is located.\n"},"storageBlobContainerName":{"type":"string","description":"Specifies the name of the Storage blob container that is the destination of the deadletter events.\n"}},"type":"object","required":["storageAccountId","storageBlobContainerName"]},"azure:eventgrid/EventSubscriptionStorageQueueEndpoint:EventSubscriptionStorageQueueEndpoint":{"properties":{"queueMessageTimeToLiveInSeconds":{"type":"integer","description":"Storage queue message time to live in seconds.\n"},"queueName":{"type":"string","description":"Specifies the name of the storage queue where the Event Subscription will receive events.\n"},"storageAccountId":{"type":"string","description":"Specifies the id of the storage account id where the storage queue is located.\n"}},"type":"object","required":["queueName","storageAccountId"]},"azure:eventgrid/EventSubscriptionSubjectFilter:EventSubscriptionSubjectFilter":{"properties":{"caseSensitive":{"type":"boolean","description":"Specifies if \u003cspan pulumi-lang-nodejs=\"`subjectBeginsWith`\" pulumi-lang-dotnet=\"`SubjectBeginsWith`\" pulumi-lang-go=\"`subjectBeginsWith`\" pulumi-lang-python=\"`subject_begins_with`\" pulumi-lang-yaml=\"`subjectBeginsWith`\" pulumi-lang-java=\"`subjectBeginsWith`\"\u003e`subject_begins_with`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`subjectEndsWith`\" pulumi-lang-dotnet=\"`SubjectEndsWith`\" pulumi-lang-go=\"`subjectEndsWith`\" pulumi-lang-python=\"`subject_ends_with`\" pulumi-lang-yaml=\"`subjectEndsWith`\" pulumi-lang-java=\"`subjectEndsWith`\"\u003e`subject_ends_with`\u003c/span\u003e case sensitive. This value\n"},"subjectBeginsWith":{"type":"string","description":"A string to filter events for an event subscription based on a resource path prefix.\n"},"subjectEndsWith":{"type":"string","description":"A string to filter events for an event subscription based on a resource path suffix.\n"}},"type":"object"},"azure:eventgrid/EventSubscriptionWebhookEndpoint:EventSubscriptionWebhookEndpoint":{"properties":{"activeDirectoryAppIdOrUri":{"type":"string","description":"The Azure Active Directory Application ID or URI to get the access token that will be included as the bearer token in delivery requests.\n"},"activeDirectoryTenantId":{"type":"string","description":"The Azure Active Directory Tenant ID to get the access token that will be included as the bearer token in delivery requests.\n"},"baseUrl":{"type":"string","description":"The base url of the webhook where the Event Subscription will receive events.\n"},"maxEventsPerBatch":{"type":"integer","description":"Maximum number of events per batch.\n"},"preferredBatchSizeInKilobytes":{"type":"integer","description":"Preferred batch size in Kilobytes.\n"},"url":{"type":"string","description":"Specifies the url of the webhook where the Event Subscription will receive events.\n"}},"type":"object","required":["url"],"language":{"nodejs":{"requiredOutputs":["baseUrl","url"]}}},"azure:eventgrid/NamespaceIdentity:NamespaceIdentity":{"properties":{"identityIds":{"type":"array","items":{"type":"string"},"description":"Specifies a list of User Assigned Managed Identity IDs to be assigned to this Event Grid Namespace.\n\n\u003e **Note:** This is required when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to `UserAssigned`\n"},"principalId":{"type":"string"},"tenantId":{"type":"string"},"type":{"type":"string","description":"Specifies the type of Managed Service Identity that should be configured on this Event Grid Namespace. Possible values are `SystemAssigned`, `UserAssigned`.\n"}},"type":"object","required":["type"],"language":{"nodejs":{"requiredOutputs":["principalId","tenantId","type"]}}},"azure:eventgrid/NamespaceInboundIpRule:NamespaceInboundIpRule":{"properties":{"action":{"type":"string","description":"The action to take when the rule is matched. Possible values are `Allow`. Defaults to `Allow`.\n"},"ipMask":{"type":"string","description":"The IP mask (CIDR) to match on.\n"}},"type":"object","required":["ipMask"]},"azure:eventgrid/NamespaceTopicSpacesConfiguration:NamespaceTopicSpacesConfiguration":{"properties":{"alternativeAuthenticationNameSources":{"type":"array","items":{"type":"string"},"description":"Specifies a list of alternative sources for the client authentication name from the client certificate. Possible values are `ClientCertificateDns`, `ClientCertificateEmail`, `ClientCertificateIp`, `ClientCertificateSubject` and `ClientCertificateUri`.\n"},"dynamicRoutingEnrichments":{"type":"array","items":{"$ref":"#/types/azure:eventgrid/NamespaceTopicSpacesConfigurationDynamicRoutingEnrichment:NamespaceTopicSpacesConfigurationDynamicRoutingEnrichment"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`dynamicRoutingEnrichment`\" pulumi-lang-dotnet=\"`DynamicRoutingEnrichment`\" pulumi-lang-go=\"`dynamicRoutingEnrichment`\" pulumi-lang-python=\"`dynamic_routing_enrichment`\" pulumi-lang-yaml=\"`dynamicRoutingEnrichment`\" pulumi-lang-java=\"`dynamicRoutingEnrichment`\"\u003e`dynamic_routing_enrichment`\u003c/span\u003e blocks as defined below.\n"},"maximumClientSessionsPerAuthenticationName":{"type":"integer","description":"Specifies the maximum number of client sessions per authentication name. Valid values can be between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`100`\" pulumi-lang-dotnet=\"`100`\" pulumi-lang-go=\"`100`\" pulumi-lang-python=\"`100`\" pulumi-lang-yaml=\"`100`\" pulumi-lang-java=\"`100`\"\u003e`100`\u003c/span\u003e.\n"},"maximumSessionExpiryInHours":{"type":"integer","description":"Specifies the maximum session expiry interval allowed for all MQTT clients connecting to the Event Grid namespace. Valid values can be between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`8`\" pulumi-lang-dotnet=\"`8`\" pulumi-lang-go=\"`8`\" pulumi-lang-python=\"`8`\" pulumi-lang-yaml=\"`8`\" pulumi-lang-java=\"`8`\"\u003e`8`\u003c/span\u003e.\n"},"routeTopicId":{"type":"string","description":"Specifies the Event Grid topic resource ID to route messages to.\n"},"staticRoutingEnrichments":{"type":"array","items":{"$ref":"#/types/azure:eventgrid/NamespaceTopicSpacesConfigurationStaticRoutingEnrichment:NamespaceTopicSpacesConfigurationStaticRoutingEnrichment"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`staticRoutingEnrichment`\" pulumi-lang-dotnet=\"`StaticRoutingEnrichment`\" pulumi-lang-go=\"`staticRoutingEnrichment`\" pulumi-lang-python=\"`static_routing_enrichment`\" pulumi-lang-yaml=\"`staticRoutingEnrichment`\" pulumi-lang-java=\"`staticRoutingEnrichment`\"\u003e`static_routing_enrichment`\u003c/span\u003e blocks as defined below.\n"}},"type":"object"},"azure:eventgrid/NamespaceTopicSpacesConfigurationDynamicRoutingEnrichment:NamespaceTopicSpacesConfigurationDynamicRoutingEnrichment":{"properties":{"key":{"type":"string","description":"The enrichment key.\n"},"value":{"type":"string","description":"The enrichment value.\n"}},"type":"object","required":["key","value"]},"azure:eventgrid/NamespaceTopicSpacesConfigurationStaticRoutingEnrichment:NamespaceTopicSpacesConfigurationStaticRoutingEnrichment":{"properties":{"key":{"type":"string","description":"The enrichment key.\n"},"value":{"type":"string","description":"The enrichment value.\n"}},"type":"object","required":["key","value"]},"azure:eventgrid/PartnerConfigurationPartnerAuthorization:PartnerConfigurationPartnerAuthorization":{"properties":{"authorizationExpirationTimeInUtc":{"type":"string","description":"Expiration time of the partner authorization. Value should be in RFC 3339 format in UTC time zone, for example: \"2025-02-04T00:00:00Z\".\n\n\u003e **Note:** If the time from \u003cspan pulumi-lang-nodejs=\"`authorizationExpirationTimeInUtc`\" pulumi-lang-dotnet=\"`AuthorizationExpirationTimeInUtc`\" pulumi-lang-go=\"`authorizationExpirationTimeInUtc`\" pulumi-lang-python=\"`authorization_expiration_time_in_utc`\" pulumi-lang-yaml=\"`authorizationExpirationTimeInUtc`\" pulumi-lang-java=\"`authorizationExpirationTimeInUtc`\"\u003e`authorization_expiration_time_in_utc`\u003c/span\u003e expires, any request from this partner to create, update or delete resources in the subscriber's context will fail. If not specified, the authorization will expire after \u003cspan pulumi-lang-nodejs=\"`defaultMaximumExpirationTimeInDays`\" pulumi-lang-dotnet=\"`DefaultMaximumExpirationTimeInDays`\" pulumi-lang-go=\"`defaultMaximumExpirationTimeInDays`\" pulumi-lang-python=\"`default_maximum_expiration_time_in_days`\" pulumi-lang-yaml=\"`defaultMaximumExpirationTimeInDays`\" pulumi-lang-java=\"`defaultMaximumExpirationTimeInDays`\"\u003e`default_maximum_expiration_time_in_days`\u003c/span\u003e.\n"},"partnerName":{"type":"string","description":"The partner name.\n"},"partnerRegistrationId":{"type":"string","description":"The immutable id of the corresponding partner registration.\n"}},"type":"object","required":["partnerName","partnerRegistrationId"]},"azure:eventgrid/PartnerNamespaceInboundIpRule:PartnerNamespaceInboundIpRule":{"properties":{"action":{"type":"string","description":"The action to take when the rule is matched. The only possible value is `Allow`. Defaults to `Allow`.\n"},"ipMask":{"type":"string","description":"The IP mask (CIDR) to match on.\n"}},"type":"object","required":["ipMask"]},"azure:eventgrid/SystemTopicEventSubscriptionAdvancedFilter:SystemTopicEventSubscriptionAdvancedFilter":{"properties":{"boolEquals":{"type":"array","items":{"$ref":"#/types/azure:eventgrid/SystemTopicEventSubscriptionAdvancedFilterBoolEqual:SystemTopicEventSubscriptionAdvancedFilterBoolEqual"},"description":"Compares a value of an event using a single boolean value.\n"},"isNotNulls":{"type":"array","items":{"$ref":"#/types/azure:eventgrid/SystemTopicEventSubscriptionAdvancedFilterIsNotNull:SystemTopicEventSubscriptionAdvancedFilterIsNotNull"},"description":"Evaluates if a value of an event isn't NULL or undefined.\n"},"isNullOrUndefineds":{"type":"array","items":{"$ref":"#/types/azure:eventgrid/SystemTopicEventSubscriptionAdvancedFilterIsNullOrUndefined:SystemTopicEventSubscriptionAdvancedFilterIsNullOrUndefined"},"description":"Evaluates if a value of an event is NULL or undefined.\n\nEach nested block consists of a key and a value(s) element.\n"},"numberGreaterThanOrEquals":{"type":"array","items":{"$ref":"#/types/azure:eventgrid/SystemTopicEventSubscriptionAdvancedFilterNumberGreaterThanOrEqual:SystemTopicEventSubscriptionAdvancedFilterNumberGreaterThanOrEqual"},"description":"Compares a value of an event using a single floating point number.\n"},"numberGreaterThans":{"type":"array","items":{"$ref":"#/types/azure:eventgrid/SystemTopicEventSubscriptionAdvancedFilterNumberGreaterThan:SystemTopicEventSubscriptionAdvancedFilterNumberGreaterThan"},"description":"Compares a value of an event using a single floating point number.\n"},"numberInRanges":{"type":"array","items":{"$ref":"#/types/azure:eventgrid/SystemTopicEventSubscriptionAdvancedFilterNumberInRange:SystemTopicEventSubscriptionAdvancedFilterNumberInRange"},"description":"Compares a value of an event using multiple floating point number ranges.\n"},"numberIns":{"type":"array","items":{"$ref":"#/types/azure:eventgrid/SystemTopicEventSubscriptionAdvancedFilterNumberIn:SystemTopicEventSubscriptionAdvancedFilterNumberIn"},"description":"Compares a value of an event using multiple floating point numbers.\n"},"numberLessThanOrEquals":{"type":"array","items":{"$ref":"#/types/azure:eventgrid/SystemTopicEventSubscriptionAdvancedFilterNumberLessThanOrEqual:SystemTopicEventSubscriptionAdvancedFilterNumberLessThanOrEqual"},"description":"Compares a value of an event using a single floating point number.\n"},"numberLessThans":{"type":"array","items":{"$ref":"#/types/azure:eventgrid/SystemTopicEventSubscriptionAdvancedFilterNumberLessThan:SystemTopicEventSubscriptionAdvancedFilterNumberLessThan"},"description":"Compares a value of an event using a single floating point number.\n"},"numberNotInRanges":{"type":"array","items":{"$ref":"#/types/azure:eventgrid/SystemTopicEventSubscriptionAdvancedFilterNumberNotInRange:SystemTopicEventSubscriptionAdvancedFilterNumberNotInRange"},"description":"Compares a value of an event using multiple floating point number ranges.\n"},"numberNotIns":{"type":"array","items":{"$ref":"#/types/azure:eventgrid/SystemTopicEventSubscriptionAdvancedFilterNumberNotIn:SystemTopicEventSubscriptionAdvancedFilterNumberNotIn"},"description":"Compares a value of an event using multiple floating point numbers.\n"},"stringBeginsWiths":{"type":"array","items":{"$ref":"#/types/azure:eventgrid/SystemTopicEventSubscriptionAdvancedFilterStringBeginsWith:SystemTopicEventSubscriptionAdvancedFilterStringBeginsWith"},"description":"Compares a value of an event using multiple string values.\n"},"stringContains":{"type":"array","items":{"$ref":"#/types/azure:eventgrid/SystemTopicEventSubscriptionAdvancedFilterStringContain:SystemTopicEventSubscriptionAdvancedFilterStringContain"},"description":"Compares a value of an event using multiple string values.\n"},"stringEndsWiths":{"type":"array","items":{"$ref":"#/types/azure:eventgrid/SystemTopicEventSubscriptionAdvancedFilterStringEndsWith:SystemTopicEventSubscriptionAdvancedFilterStringEndsWith"},"description":"Compares a value of an event using multiple string values.\n"},"stringIns":{"type":"array","items":{"$ref":"#/types/azure:eventgrid/SystemTopicEventSubscriptionAdvancedFilterStringIn:SystemTopicEventSubscriptionAdvancedFilterStringIn"},"description":"Compares a value of an event using multiple string values.\n"},"stringNotBeginsWiths":{"type":"array","items":{"$ref":"#/types/azure:eventgrid/SystemTopicEventSubscriptionAdvancedFilterStringNotBeginsWith:SystemTopicEventSubscriptionAdvancedFilterStringNotBeginsWith"},"description":"Compares a value of an event using multiple string values.\n"},"stringNotContains":{"type":"array","items":{"$ref":"#/types/azure:eventgrid/SystemTopicEventSubscriptionAdvancedFilterStringNotContain:SystemTopicEventSubscriptionAdvancedFilterStringNotContain"},"description":"Compares a value of an event using multiple string values.\n"},"stringNotEndsWiths":{"type":"array","items":{"$ref":"#/types/azure:eventgrid/SystemTopicEventSubscriptionAdvancedFilterStringNotEndsWith:SystemTopicEventSubscriptionAdvancedFilterStringNotEndsWith"},"description":"Compares a value of an event using multiple string values.\n"},"stringNotIns":{"type":"array","items":{"$ref":"#/types/azure:eventgrid/SystemTopicEventSubscriptionAdvancedFilterStringNotIn:SystemTopicEventSubscriptionAdvancedFilterStringNotIn"},"description":"Compares a value of an event using multiple string values.\n"}},"type":"object"},"azure:eventgrid/SystemTopicEventSubscriptionAdvancedFilterBoolEqual:SystemTopicEventSubscriptionAdvancedFilterBoolEqual":{"properties":{"key":{"type":"string","description":"Specifies the field within the event data that you want to use for filtering. Type of the field can be a number, boolean, or string.\n"},"value":{"type":"boolean"}},"type":"object","required":["key","value"]},"azure:eventgrid/SystemTopicEventSubscriptionAdvancedFilterIsNotNull:SystemTopicEventSubscriptionAdvancedFilterIsNotNull":{"properties":{"key":{"type":"string","description":"Specifies the field within the event data that you want to use for filtering. Type of the field can be a number, boolean, or string.\n"}},"type":"object","required":["key"]},"azure:eventgrid/SystemTopicEventSubscriptionAdvancedFilterIsNullOrUndefined:SystemTopicEventSubscriptionAdvancedFilterIsNullOrUndefined":{"properties":{"key":{"type":"string","description":"Specifies the field within the event data that you want to use for filtering. Type of the field can be a number, boolean, or string.\n"}},"type":"object","required":["key"]},"azure:eventgrid/SystemTopicEventSubscriptionAdvancedFilterNumberGreaterThan:SystemTopicEventSubscriptionAdvancedFilterNumberGreaterThan":{"properties":{"key":{"type":"string","description":"Specifies the field within the event data that you want to use for filtering. Type of the field can be a number, boolean, or string.\n"},"value":{"type":"number"}},"type":"object","required":["key","value"]},"azure:eventgrid/SystemTopicEventSubscriptionAdvancedFilterNumberGreaterThanOrEqual:SystemTopicEventSubscriptionAdvancedFilterNumberGreaterThanOrEqual":{"properties":{"key":{"type":"string","description":"Specifies the field within the event data that you want to use for filtering. Type of the field can be a number, boolean, or string.\n"},"value":{"type":"number"}},"type":"object","required":["key","value"]},"azure:eventgrid/SystemTopicEventSubscriptionAdvancedFilterNumberIn:SystemTopicEventSubscriptionAdvancedFilterNumberIn":{"properties":{"key":{"type":"string","description":"Specifies the field within the event data that you want to use for filtering. Type of the field can be a number, boolean, or string.\n"},"values":{"type":"array","items":{"type":"number"},"description":"Specifies an array of values to compare to when using a multiple values operator.\n\n\u003e **Note:** A maximum of total number of advanced filter values allowed on event subscription is 25.\n"}},"type":"object","required":["key","values"]},"azure:eventgrid/SystemTopicEventSubscriptionAdvancedFilterNumberInRange:SystemTopicEventSubscriptionAdvancedFilterNumberInRange":{"properties":{"key":{"type":"string","description":"Specifies the field within the event data that you want to use for filtering. Type of the field can be a number, boolean, or string.\n"},"values":{"type":"array","items":{"type":"array","items":{"type":"number"}},"description":"Specifies an array of values to compare to when using a multiple values operator.\n\n\u003e **Note:** A maximum of total number of advanced filter values allowed on event subscription is 25.\n"}},"type":"object","required":["key","values"]},"azure:eventgrid/SystemTopicEventSubscriptionAdvancedFilterNumberLessThan:SystemTopicEventSubscriptionAdvancedFilterNumberLessThan":{"properties":{"key":{"type":"string","description":"Specifies the field within the event data that you want to use for filtering. Type of the field can be a number, boolean, or string.\n"},"value":{"type":"number"}},"type":"object","required":["key","value"]},"azure:eventgrid/SystemTopicEventSubscriptionAdvancedFilterNumberLessThanOrEqual:SystemTopicEventSubscriptionAdvancedFilterNumberLessThanOrEqual":{"properties":{"key":{"type":"string","description":"Specifies the field within the event data that you want to use for filtering. Type of the field can be a number, boolean, or string.\n"},"value":{"type":"number"}},"type":"object","required":["key","value"]},"azure:eventgrid/SystemTopicEventSubscriptionAdvancedFilterNumberNotIn:SystemTopicEventSubscriptionAdvancedFilterNumberNotIn":{"properties":{"key":{"type":"string","description":"Specifies the field within the event data that you want to use for filtering. Type of the field can be a number, boolean, or string.\n"},"values":{"type":"array","items":{"type":"number"},"description":"Specifies an array of values to compare to when using a multiple values operator.\n\n\u003e **Note:** A maximum of total number of advanced filter values allowed on event subscription is 25.\n"}},"type":"object","required":["key","values"]},"azure:eventgrid/SystemTopicEventSubscriptionAdvancedFilterNumberNotInRange:SystemTopicEventSubscriptionAdvancedFilterNumberNotInRange":{"properties":{"key":{"type":"string","description":"Specifies the field within the event data that you want to use for filtering. Type of the field can be a number, boolean, or string.\n"},"values":{"type":"array","items":{"type":"array","items":{"type":"number"}},"description":"Specifies an array of values to compare to when using a multiple values operator.\n\n\u003e **Note:** A maximum of total number of advanced filter values allowed on event subscription is 25.\n"}},"type":"object","required":["key","values"]},"azure:eventgrid/SystemTopicEventSubscriptionAdvancedFilterStringBeginsWith:SystemTopicEventSubscriptionAdvancedFilterStringBeginsWith":{"properties":{"key":{"type":"string","description":"Specifies the field within the event data that you want to use for filtering. Type of the field can be a number, boolean, or string.\n"},"values":{"type":"array","items":{"type":"string"},"description":"Specifies an array of values to compare to when using a multiple values operator.\n\n\u003e **Note:** A maximum of total number of advanced filter values allowed on event subscription is 25.\n"}},"type":"object","required":["key","values"]},"azure:eventgrid/SystemTopicEventSubscriptionAdvancedFilterStringContain:SystemTopicEventSubscriptionAdvancedFilterStringContain":{"properties":{"key":{"type":"string","description":"Specifies the field within the event data that you want to use for filtering. Type of the field can be a number, boolean, or string.\n"},"values":{"type":"array","items":{"type":"string"},"description":"Specifies an array of values to compare to when using a multiple values operator.\n\n\u003e **Note:** A maximum of total number of advanced filter values allowed on event subscription is 25.\n"}},"type":"object","required":["key","values"]},"azure:eventgrid/SystemTopicEventSubscriptionAdvancedFilterStringEndsWith:SystemTopicEventSubscriptionAdvancedFilterStringEndsWith":{"properties":{"key":{"type":"string","description":"Specifies the field within the event data that you want to use for filtering. Type of the field can be a number, boolean, or string.\n"},"values":{"type":"array","items":{"type":"string"},"description":"Specifies an array of values to compare to when using a multiple values operator.\n\n\u003e **Note:** A maximum of total number of advanced filter values allowed on event subscription is 25.\n"}},"type":"object","required":["key","values"]},"azure:eventgrid/SystemTopicEventSubscriptionAdvancedFilterStringIn:SystemTopicEventSubscriptionAdvancedFilterStringIn":{"properties":{"key":{"type":"string","description":"Specifies the field within the event data that you want to use for filtering. Type of the field can be a number, boolean, or string.\n"},"values":{"type":"array","items":{"type":"string"},"description":"Specifies an array of values to compare to when using a multiple values operator.\n\n\u003e **Note:** A maximum of total number of advanced filter values allowed on event subscription is 25.\n"}},"type":"object","required":["key","values"]},"azure:eventgrid/SystemTopicEventSubscriptionAdvancedFilterStringNotBeginsWith:SystemTopicEventSubscriptionAdvancedFilterStringNotBeginsWith":{"properties":{"key":{"type":"string","description":"Specifies the field within the event data that you want to use for filtering. Type of the field can be a number, boolean, or string.\n"},"values":{"type":"array","items":{"type":"string"},"description":"Specifies an array of values to compare to when using a multiple values operator.\n\n\u003e **Note:** A maximum of total number of advanced filter values allowed on event subscription is 25.\n"}},"type":"object","required":["key","values"]},"azure:eventgrid/SystemTopicEventSubscriptionAdvancedFilterStringNotContain:SystemTopicEventSubscriptionAdvancedFilterStringNotContain":{"properties":{"key":{"type":"string","description":"Specifies the field within the event data that you want to use for filtering. Type of the field can be a number, boolean, or string.\n"},"values":{"type":"array","items":{"type":"string"},"description":"Specifies an array of values to compare to when using a multiple values operator.\n\n\u003e **Note:** A maximum of total number of advanced filter values allowed on event subscription is 25.\n"}},"type":"object","required":["key","values"]},"azure:eventgrid/SystemTopicEventSubscriptionAdvancedFilterStringNotEndsWith:SystemTopicEventSubscriptionAdvancedFilterStringNotEndsWith":{"properties":{"key":{"type":"string","description":"Specifies the field within the event data that you want to use for filtering. Type of the field can be a number, boolean, or string.\n"},"values":{"type":"array","items":{"type":"string"},"description":"Specifies an array of values to compare to when using a multiple values operator.\n\n\u003e **Note:** A maximum of total number of advanced filter values allowed on event subscription is 25.\n"}},"type":"object","required":["key","values"]},"azure:eventgrid/SystemTopicEventSubscriptionAdvancedFilterStringNotIn:SystemTopicEventSubscriptionAdvancedFilterStringNotIn":{"properties":{"key":{"type":"string","description":"Specifies the field within the event data that you want to use for filtering. Type of the field can be a number, boolean, or string.\n"},"values":{"type":"array","items":{"type":"string"},"description":"Specifies an array of values to compare to when using a multiple values operator.\n\n\u003e **Note:** A maximum of total number of advanced filter values allowed on event subscription is 25.\n"}},"type":"object","required":["key","values"]},"azure:eventgrid/SystemTopicEventSubscriptionAzureFunctionEndpoint:SystemTopicEventSubscriptionAzureFunctionEndpoint":{"properties":{"functionId":{"type":"string","description":"Specifies the ID of the Function where the Event Subscription will receive events. This must be the functions ID in format {function_app.id}/functions/{name}.\n"},"maxEventsPerBatch":{"type":"integer","description":"Maximum number of events per batch.\n"},"preferredBatchSizeInKilobytes":{"type":"integer","description":"Preferred batch size in Kilobytes.\n"}},"type":"object","required":["functionId"]},"azure:eventgrid/SystemTopicEventSubscriptionDeadLetterIdentity:SystemTopicEventSubscriptionDeadLetterIdentity":{"properties":{"type":{"type":"string","description":"Specifies the type of Managed Service Identity that is used for dead lettering. Allowed value is `SystemAssigned`, `UserAssigned`.\n"},"userAssignedIdentity":{"type":"string","description":"The user identity associated with the resource.\n"}},"type":"object","required":["type"]},"azure:eventgrid/SystemTopicEventSubscriptionDeliveryIdentity:SystemTopicEventSubscriptionDeliveryIdentity":{"properties":{"type":{"type":"string","description":"Specifies the type of Managed Service Identity that is used for event delivery. Allowed value is `SystemAssigned`, `UserAssigned`.\n"},"userAssignedIdentity":{"type":"string","description":"The user identity associated with the resource.\n"}},"type":"object","required":["type"]},"azure:eventgrid/SystemTopicEventSubscriptionDeliveryProperty:SystemTopicEventSubscriptionDeliveryProperty":{"properties":{"headerName":{"type":"string","description":"The name of the header to send on to the destination.\n"},"secret":{"type":"boolean","description":"Set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e if the \u003cspan pulumi-lang-nodejs=\"`value`\" pulumi-lang-dotnet=\"`Value`\" pulumi-lang-go=\"`value`\" pulumi-lang-python=\"`value`\" pulumi-lang-yaml=\"`value`\" pulumi-lang-java=\"`value`\"\u003e`value`\u003c/span\u003e is a secret and should be protected, otherwise \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. If \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e then this value won't be returned from Azure API calls.\n"},"sourceField":{"type":"string","description":"If the \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is `Dynamic`, then provide the payload field to be used as the value. Valid source fields differ by subscription type.\n"},"type":{"type":"string","description":"Either `Static` or `Dynamic`.\n"},"value":{"type":"string","description":"If the \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is `Static`, then provide the value to use.\n","secret":true}},"type":"object","required":["headerName","type"]},"azure:eventgrid/SystemTopicEventSubscriptionRetryPolicy:SystemTopicEventSubscriptionRetryPolicy":{"properties":{"eventTimeToLive":{"type":"integer","description":"Specifies the time to live (in minutes) for events. Supported range is \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`1440`\" pulumi-lang-dotnet=\"`1440`\" pulumi-lang-go=\"`1440`\" pulumi-lang-python=\"`1440`\" pulumi-lang-yaml=\"`1440`\" pulumi-lang-java=\"`1440`\"\u003e`1440`\u003c/span\u003e. See [official documentation](https://docs.microsoft.com/azure/event-grid/manage-event-delivery#set-retry-policy) for more details.\n"},"maxDeliveryAttempts":{"type":"integer","description":"Specifies the maximum number of delivery retry attempts for events.\n"}},"type":"object","required":["eventTimeToLive","maxDeliveryAttempts"]},"azure:eventgrid/SystemTopicEventSubscriptionStorageBlobDeadLetterDestination:SystemTopicEventSubscriptionStorageBlobDeadLetterDestination":{"properties":{"storageAccountId":{"type":"string","description":"Specifies the id of the storage account id where the storage blob is located.\n"},"storageBlobContainerName":{"type":"string","description":"Specifies the name of the Storage blob container that is the destination of the deadletter events.\n"}},"type":"object","required":["storageAccountId","storageBlobContainerName"]},"azure:eventgrid/SystemTopicEventSubscriptionStorageQueueEndpoint:SystemTopicEventSubscriptionStorageQueueEndpoint":{"properties":{"queueMessageTimeToLiveInSeconds":{"type":"integer","description":"Storage queue message time to live in seconds.\n"},"queueName":{"type":"string","description":"Specifies the name of the storage queue where the Event Subscription will receive events.\n"},"storageAccountId":{"type":"string","description":"Specifies the id of the storage account id where the storage queue is located.\n"}},"type":"object","required":["queueName","storageAccountId"]},"azure:eventgrid/SystemTopicEventSubscriptionSubjectFilter:SystemTopicEventSubscriptionSubjectFilter":{"properties":{"caseSensitive":{"type":"boolean","description":"Specifies if \u003cspan pulumi-lang-nodejs=\"`subjectBeginsWith`\" pulumi-lang-dotnet=\"`SubjectBeginsWith`\" pulumi-lang-go=\"`subjectBeginsWith`\" pulumi-lang-python=\"`subject_begins_with`\" pulumi-lang-yaml=\"`subjectBeginsWith`\" pulumi-lang-java=\"`subjectBeginsWith`\"\u003e`subject_begins_with`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`subjectEndsWith`\" pulumi-lang-dotnet=\"`SubjectEndsWith`\" pulumi-lang-go=\"`subjectEndsWith`\" pulumi-lang-python=\"`subject_ends_with`\" pulumi-lang-yaml=\"`subjectEndsWith`\" pulumi-lang-java=\"`subjectEndsWith`\"\u003e`subject_ends_with`\u003c/span\u003e case sensitive. This value\n"},"subjectBeginsWith":{"type":"string","description":"A string to filter events for an event subscription based on a resource path prefix.\n"},"subjectEndsWith":{"type":"string","description":"A string to filter events for an event subscription based on a resource path suffix.\n"}},"type":"object"},"azure:eventgrid/SystemTopicEventSubscriptionWebhookEndpoint:SystemTopicEventSubscriptionWebhookEndpoint":{"properties":{"activeDirectoryAppIdOrUri":{"type":"string","description":"The Azure Active Directory Application ID or URI to get the access token that will be included as the bearer token in delivery requests.\n"},"activeDirectoryTenantId":{"type":"string","description":"The Azure Active Directory Tenant ID to get the access token that will be included as the bearer token in delivery requests.\n"},"baseUrl":{"type":"string","description":"The base url of the webhook where the Event Subscription will receive events.\n"},"maxEventsPerBatch":{"type":"integer","description":"Maximum number of events per batch.\n"},"preferredBatchSizeInKilobytes":{"type":"integer","description":"Preferred batch size in Kilobytes.\n"},"url":{"type":"string","description":"Specifies the url of the webhook where the Event Subscription will receive events.\n"}},"type":"object","required":["url"],"language":{"nodejs":{"requiredOutputs":["baseUrl","url"]}}},"azure:eventgrid/SystemTopicIdentity:SystemTopicIdentity":{"properties":{"identityIds":{"type":"array","items":{"type":"string"},"description":"Specifies a list of User Assigned Managed Identity IDs to be assigned to this Event Grid System Topic.\n\n\u003e **Note:** This is required when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to `UserAssigned` or `SystemAssigned, UserAssigned`.\n\n\u003e **Note:** When \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to `SystemAssigned`, The assigned \u003cspan pulumi-lang-nodejs=\"`principalId`\" pulumi-lang-dotnet=\"`PrincipalId`\" pulumi-lang-go=\"`principalId`\" pulumi-lang-python=\"`principal_id`\" pulumi-lang-yaml=\"`principalId`\" pulumi-lang-java=\"`principalId`\"\u003e`principal_id`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`tenantId`\" pulumi-lang-dotnet=\"`TenantId`\" pulumi-lang-go=\"`tenantId`\" pulumi-lang-python=\"`tenant_id`\" pulumi-lang-yaml=\"`tenantId`\" pulumi-lang-java=\"`tenantId`\"\u003e`tenant_id`\u003c/span\u003e can be retrieved after the Event Grid System Topic has been created.\n"},"principalId":{"type":"string","description":"The Principal ID associated with this Managed Service Identity.\n"},"tenantId":{"type":"string","description":"The Tenant ID associated with this Managed Service Identity.\n"},"type":{"type":"string","description":"Specifies the type of Managed Service Identity that should be configured on this Event Grid System Topic. Possible values are `SystemAssigned`, `UserAssigned`, and `SystemAssigned, UserAssigned`.\n"}},"type":"object","required":["type"],"language":{"nodejs":{"requiredOutputs":["principalId","tenantId","type"]}}},"azure:eventgrid/TopicIdentity:TopicIdentity":{"properties":{"identityIds":{"type":"array","items":{"type":"string"},"description":"Specifies a list of User Assigned Managed Identity IDs to be assigned to this Event Grid Topic.\n\n\u003e **Note:** This is required when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to `UserAssigned`\n\n\u003e **Note:** When \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to `SystemAssigned`, The assigned \u003cspan pulumi-lang-nodejs=\"`principalId`\" pulumi-lang-dotnet=\"`PrincipalId`\" pulumi-lang-go=\"`principalId`\" pulumi-lang-python=\"`principal_id`\" pulumi-lang-yaml=\"`principalId`\" pulumi-lang-java=\"`principalId`\"\u003e`principal_id`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`tenantId`\" pulumi-lang-dotnet=\"`TenantId`\" pulumi-lang-go=\"`tenantId`\" pulumi-lang-python=\"`tenant_id`\" pulumi-lang-yaml=\"`tenantId`\" pulumi-lang-java=\"`tenantId`\"\u003e`tenant_id`\u003c/span\u003e can be retrieved after the Event Grid Topic has been created. More details are available below.\n"},"principalId":{"type":"string","description":"The Principal ID associated with this Managed Service Identity.\n"},"tenantId":{"type":"string","description":"The Tenant ID associated with this Managed Service Identity.\n"},"type":{"type":"string","description":"Specifies the type of Managed Service Identity that should be configured on this Event Grid Topic. Possible values are `SystemAssigned`, `UserAssigned`.\n"}},"type":"object","required":["type"],"language":{"nodejs":{"requiredOutputs":["principalId","tenantId","type"]}}},"azure:eventgrid/TopicInboundIpRule:TopicInboundIpRule":{"properties":{"action":{"type":"string","description":"The action to take when the rule is matched. Possible values are `Allow`. Defaults to `Allow`.\n"},"ipMask":{"type":"string","description":"The IP mask (CIDR) to match on.\n"}},"type":"object","required":["ipMask"]},"azure:eventgrid/TopicInputMappingDefaultValues:TopicInputMappingDefaultValues":{"properties":{"dataVersion":{"type":"string","description":"Specifies the default data version of the EventGrid Event to associate with the domain. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"eventType":{"type":"string","description":"Specifies the default event type of the EventGrid Event to associate with the domain. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"subject":{"type":"string","description":"Specifies the default subject of the EventGrid Event to associate with the domain. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"},"azure:eventgrid/TopicInputMappingFields:TopicInputMappingFields":{"properties":{"dataVersion":{"type":"string","description":"Specifies the data version of the EventGrid Event to associate with the domain. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"eventTime":{"type":"string","description":"Specifies the event time of the EventGrid Event to associate with the domain. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"eventType":{"type":"string","description":"Specifies the event type of the EventGrid Event to associate with the domain. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"id":{"type":"string","description":"Specifies the id of the EventGrid Event to associate with the domain. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"subject":{"type":"string","description":"Specifies the subject of the EventGrid Event to associate with the domain. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"topic":{"type":"string","description":"Specifies the topic of the EventGrid Event to associate with the domain. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"},"azure:eventgrid/getDomainIdentity:getDomainIdentity":{"properties":{"identityIds":{"type":"array","items":{"type":"string"},"description":"The list of User Assigned Managed Identity IDs assigned to this EventGrid Domain.\n"},"principalId":{"type":"string","description":"The Principal ID of the System Assigned Managed Service Identity.\n"},"tenantId":{"type":"string","description":"The Tenant ID of the System Assigned Managed Service Identity.\n"},"type":{"type":"string","description":"The type of Managed Service Identity that is configured on this EventGrid Domain.\n"}},"type":"object","required":["identityIds","principalId","tenantId","type"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:eventgrid/getDomainInboundIpRule:getDomainInboundIpRule":{"properties":{"action":{"type":"string","description":"The action to take when the rule is matched. Possible values are `Allow`.\n"},"ipMask":{"type":"string","description":"The IP mask (CIDR) to match on.\n"}},"type":"object","required":["action","ipMask"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:eventgrid/getDomainInputMappingDefaultValue:getDomainInputMappingDefaultValue":{"properties":{"dataVersion":{"type":"string","description":"Specifies the default data version of the EventGrid Event associated with the domain.\n"},"eventType":{"type":"string","description":"Specifies the default event type of the EventGrid Event associated with the domain.\n"},"subject":{"type":"string","description":"Specifies the default subject of the EventGrid Event associated with the domain.\n"}},"type":"object","required":["dataVersion","eventType","subject"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:eventgrid/getDomainInputMappingField:getDomainInputMappingField":{"properties":{"dataVersion":{"type":"string","description":"Specifies the default data version of the EventGrid Event associated with the domain.\n"},"eventTime":{"type":"string","description":"Specifies the event time of the EventGrid Event associated with the domain.\n"},"eventType":{"type":"string","description":"Specifies the default event type of the EventGrid Event associated with the domain.\n"},"id":{"type":"string","description":"Specifies the id of the EventGrid Event associated with the domain.\n"},"subject":{"type":"string","description":"Specifies the default subject of the EventGrid Event associated with the domain.\n"},"topic":{"type":"string","description":"Specifies the topic of the EventGrid Event associated with the domain.\n"}},"type":"object","required":["dataVersion","eventTime","eventType","id","subject","topic"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:eventgrid/getPartnerNamespaceInboundIpRule:getPartnerNamespaceInboundIpRule":{"properties":{"action":{"type":"string","description":"The action to take when the rule is matched.\n"},"ipMask":{"type":"string","description":"The IP mask (CIDR) to match on.\n"}},"type":"object","required":["action","ipMask"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:eventgrid/getSystemTopicIdentity:getSystemTopicIdentity":{"properties":{"identityIds":{"type":"array","items":{"type":"string"},"description":"The list of User Assigned Managed Identity IDs assigned to this Event Grid System Topic.\n"},"principalId":{"type":"string","description":"The Principal ID of the System Assigned Managed Service Identity that is configured on this Event Grid System Topic.\n"},"tenantId":{"type":"string","description":"The Tenant ID of the System Assigned Managed Service Identity that is configured on this Event Grid System Topic.\n"},"type":{"type":"string","description":"The type of Managed Service Identity that is configured on this Event Grid System Topic.\n"}},"type":"object","required":["identityIds","principalId","tenantId","type"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:eventhub/DomainIdentity:DomainIdentity":{"properties":{"identityIds":{"type":"array","items":{"type":"string"},"description":"Specifies a list of User Assigned Managed Identity IDs to be assigned to this Event Grid Domain.\n\n\u003e **Note:** This is required when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to `UserAssigned`\n\n\u003e **Note:** When \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to `SystemAssigned`, The assigned \u003cspan pulumi-lang-nodejs=\"`principalId`\" pulumi-lang-dotnet=\"`PrincipalId`\" pulumi-lang-go=\"`principalId`\" pulumi-lang-python=\"`principal_id`\" pulumi-lang-yaml=\"`principalId`\" pulumi-lang-java=\"`principalId`\"\u003e`principal_id`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`tenantId`\" pulumi-lang-dotnet=\"`TenantId`\" pulumi-lang-go=\"`tenantId`\" pulumi-lang-python=\"`tenant_id`\" pulumi-lang-yaml=\"`tenantId`\" pulumi-lang-java=\"`tenantId`\"\u003e`tenant_id`\u003c/span\u003e can be retrieved after the Event Grid Domain has been created. More details are available below.\n"},"principalId":{"type":"string","description":"The Principal ID associated with this Managed Service Identity.\n"},"tenantId":{"type":"string","description":"The Tenant ID associated with this Managed Service Identity.\n"},"type":{"type":"string","description":"Specifies the type of Managed Service Identity that should be configured on this Event Grid Domain. Possible values are `SystemAssigned`, `UserAssigned`.\n"}},"type":"object","required":["type"],"language":{"nodejs":{"requiredOutputs":["principalId","tenantId","type"]}}},"azure:eventhub/DomainInboundIpRule:DomainInboundIpRule":{"properties":{"action":{"type":"string","description":"The action to take when the rule is matched. Possible values are `Allow`. Defaults to `Allow`.\n"},"ipMask":{"type":"string","description":"The IP mask (CIDR) to match on.\n"}},"type":"object","required":["ipMask"]},"azure:eventhub/DomainInputMappingDefaultValues:DomainInputMappingDefaultValues":{"properties":{"dataVersion":{"type":"string","description":"Specifies the default data version of the EventGrid Event to associate with the domain. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"eventType":{"type":"string","description":"Specifies the default event type of the EventGrid Event to associate with the domain. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"subject":{"type":"string","description":"Specifies the default subject of the EventGrid Event to associate with the domain. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"},"azure:eventhub/DomainInputMappingFields:DomainInputMappingFields":{"properties":{"dataVersion":{"type":"string","description":"Specifies the data version of the EventGrid Event to associate with the domain. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"eventTime":{"type":"string","description":"Specifies the event time of the EventGrid Event to associate with the domain. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"eventType":{"type":"string","description":"Specifies the event type of the EventGrid Event to associate with the domain. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"id":{"type":"string","description":"Specifies the id of the EventGrid Event to associate with the domain. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"subject":{"type":"string","description":"Specifies the subject of the EventGrid Event to associate with the domain. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"topic":{"type":"string","description":"Specifies the topic of the EventGrid Event to associate with the domain. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"},"azure:eventhub/EventGridTopicIdentity:EventGridTopicIdentity":{"properties":{"identityIds":{"type":"array","items":{"type":"string"},"description":"Specifies a list of User Assigned Managed Identity IDs to be assigned to this Event Grid Topic.\n\n\u003e **Note:** This is required when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to `UserAssigned`\n\n\u003e **Note:** When \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to `SystemAssigned`, The assigned \u003cspan pulumi-lang-nodejs=\"`principalId`\" pulumi-lang-dotnet=\"`PrincipalId`\" pulumi-lang-go=\"`principalId`\" pulumi-lang-python=\"`principal_id`\" pulumi-lang-yaml=\"`principalId`\" pulumi-lang-java=\"`principalId`\"\u003e`principal_id`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`tenantId`\" pulumi-lang-dotnet=\"`TenantId`\" pulumi-lang-go=\"`tenantId`\" pulumi-lang-python=\"`tenant_id`\" pulumi-lang-yaml=\"`tenantId`\" pulumi-lang-java=\"`tenantId`\"\u003e`tenant_id`\u003c/span\u003e can be retrieved after the Event Grid Topic has been created. More details are available below.\n"},"principalId":{"type":"string","description":"The Principal ID associated with this Managed Service Identity.\n"},"tenantId":{"type":"string","description":"The Tenant ID associated with this Managed Service Identity.\n"},"type":{"type":"string","description":"Specifies the type of Managed Service Identity that should be configured on this Event Grid Topic. Possible values are `SystemAssigned`, `UserAssigned`.\n"}},"type":"object","required":["type"],"language":{"nodejs":{"requiredOutputs":["principalId","tenantId","type"]}}},"azure:eventhub/EventGridTopicInboundIpRule:EventGridTopicInboundIpRule":{"properties":{"action":{"type":"string","description":"The action to take when the rule is matched. Possible values are `Allow`. Defaults to `Allow`.\n"},"ipMask":{"type":"string","description":"The IP mask (CIDR) to match on.\n"}},"type":"object","required":["ipMask"]},"azure:eventhub/EventGridTopicInputMappingDefaultValues:EventGridTopicInputMappingDefaultValues":{"properties":{"dataVersion":{"type":"string","description":"Specifies the default data version of the EventGrid Event to associate with the domain. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"eventType":{"type":"string","description":"Specifies the default event type of the EventGrid Event to associate with the domain. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"subject":{"type":"string","description":"Specifies the default subject of the EventGrid Event to associate with the domain. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"},"azure:eventhub/EventGridTopicInputMappingFields:EventGridTopicInputMappingFields":{"properties":{"dataVersion":{"type":"string","description":"Specifies the data version of the EventGrid Event to associate with the domain. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"eventTime":{"type":"string","description":"Specifies the event time of the EventGrid Event to associate with the domain. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"eventType":{"type":"string","description":"Specifies the event type of the EventGrid Event to associate with the domain. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"id":{"type":"string","description":"Specifies the id of the EventGrid Event to associate with the domain. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"subject":{"type":"string","description":"Specifies the subject of the EventGrid Event to associate with the domain. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"topic":{"type":"string","description":"Specifies the topic of the EventGrid Event to associate with the domain. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"},"azure:eventhub/EventHubCaptureDescription:EventHubCaptureDescription":{"properties":{"destination":{"$ref":"#/types/azure:eventhub/EventHubCaptureDescriptionDestination:EventHubCaptureDescriptionDestination","description":"A \u003cspan pulumi-lang-nodejs=\"`destination`\" pulumi-lang-dotnet=\"`Destination`\" pulumi-lang-go=\"`destination`\" pulumi-lang-python=\"`destination`\" pulumi-lang-yaml=\"`destination`\" pulumi-lang-java=\"`destination`\"\u003e`destination`\u003c/span\u003e block as defined below.\n"},"enabled":{"type":"boolean","description":"Specifies if the Capture Description is Enabled.\n"},"encoding":{"type":"string","description":"Specifies the Encoding used for the Capture Description. Possible values are `Avro` and `AvroDeflate`.\n"},"intervalInSeconds":{"type":"integer","description":"Specifies the time interval in seconds at which the capture will happen. Values can be between \u003cspan pulumi-lang-nodejs=\"`60`\" pulumi-lang-dotnet=\"`60`\" pulumi-lang-go=\"`60`\" pulumi-lang-python=\"`60`\" pulumi-lang-yaml=\"`60`\" pulumi-lang-java=\"`60`\"\u003e`60`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`900`\" pulumi-lang-dotnet=\"`900`\" pulumi-lang-go=\"`900`\" pulumi-lang-python=\"`900`\" pulumi-lang-yaml=\"`900`\" pulumi-lang-java=\"`900`\"\u003e`900`\u003c/span\u003e seconds. Defaults to \u003cspan pulumi-lang-nodejs=\"`300`\" pulumi-lang-dotnet=\"`300`\" pulumi-lang-go=\"`300`\" pulumi-lang-python=\"`300`\" pulumi-lang-yaml=\"`300`\" pulumi-lang-java=\"`300`\"\u003e`300`\u003c/span\u003e seconds.\n"},"sizeLimitInBytes":{"type":"integer","description":"Specifies the amount of data built up in your EventHub before a Capture Operation occurs. Value should be between \u003cspan pulumi-lang-nodejs=\"`10485760`\" pulumi-lang-dotnet=\"`10485760`\" pulumi-lang-go=\"`10485760`\" pulumi-lang-python=\"`10485760`\" pulumi-lang-yaml=\"`10485760`\" pulumi-lang-java=\"`10485760`\"\u003e`10485760`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`524288000`\" pulumi-lang-dotnet=\"`524288000`\" pulumi-lang-go=\"`524288000`\" pulumi-lang-python=\"`524288000`\" pulumi-lang-yaml=\"`524288000`\" pulumi-lang-java=\"`524288000`\"\u003e`524288000`\u003c/span\u003e bytes. Defaults to \u003cspan pulumi-lang-nodejs=\"`314572800`\" pulumi-lang-dotnet=\"`314572800`\" pulumi-lang-go=\"`314572800`\" pulumi-lang-python=\"`314572800`\" pulumi-lang-yaml=\"`314572800`\" pulumi-lang-java=\"`314572800`\"\u003e`314572800`\u003c/span\u003e bytes.\n"},"skipEmptyArchives":{"type":"boolean","description":"Specifies if empty files should not be emitted if no events occur during the Capture time window. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"}},"type":"object","required":["destination","enabled","encoding"]},"azure:eventhub/EventHubCaptureDescriptionDestination:EventHubCaptureDescriptionDestination":{"properties":{"archiveNameFormat":{"type":"string","description":"The Blob naming convention for archiving. e.g. `{Namespace}/{EventHub}/{PartitionId}/{Year}/{Month}/{Day}/{Hour}/{Minute}/{Second}`. Here all the parameters (Namespace,EventHub .. etc) are mandatory irrespective of order\n"},"blobContainerName":{"type":"string","description":"The name of the Container within the Blob Storage Account where messages should be archived.\n"},"name":{"type":"string","description":"The Name of the Destination where the capture should take place. At this time the only supported value is `EventHubArchive.AzureBlockBlob`.\n\n\u003e **Note:** At this time it's only possible to Capture EventHub messages to Blob Storage. There's [a Feature Request for the Azure SDK to add support for Capturing messages to Azure Data Lake here](https://github.com/Azure/azure-rest-api-specs/issues/2255).\n"},"storageAccountId":{"type":"string","description":"The ID of the Blob Storage Account where messages should be archived.\n"}},"type":"object","required":["archiveNameFormat","blobContainerName","name","storageAccountId"]},"azure:eventhub/EventHubNamespaceIdentity:EventHubNamespaceIdentity":{"properties":{"identityIds":{"type":"array","items":{"type":"string"},"description":"Specifies a list of User Assigned Managed Identity IDs to be assigned to this EventHub namespace.\n\n\u003e **Note:** This is required when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to `UserAssigned` or `SystemAssigned, UserAssigned`.\n\n\u003e **Note:** Due to the limitation of the current Azure API, once an EventHub Namespace has been assigned an identity, it cannot be removed.\n"},"principalId":{"type":"string","description":"The Principal ID associated with this Managed Service Identity.\n"},"tenantId":{"type":"string","description":"The Tenant ID associated with this Managed Service Identity.\n"},"type":{"type":"string","description":"Specifies the type of Managed Service Identity that should be configured on this Event Hub Namespace. Possible values are `SystemAssigned` or `UserAssigned`.\n"}},"type":"object","required":["type"],"language":{"nodejs":{"requiredOutputs":["principalId","tenantId","type"]}}},"azure:eventhub/EventHubNamespaceNetworkRulesets:EventHubNamespaceNetworkRulesets":{"properties":{"defaultAction":{"type":"string","description":"The default action to take when a rule is not matched. Possible values are `Allow` and `Deny`.\n"},"ipRules":{"type":"array","items":{"$ref":"#/types/azure:eventhub/EventHubNamespaceNetworkRulesetsIpRule:EventHubNamespaceNetworkRulesetsIpRule"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`ipRule`\" pulumi-lang-dotnet=\"`IpRule`\" pulumi-lang-go=\"`ipRule`\" pulumi-lang-python=\"`ip_rule`\" pulumi-lang-yaml=\"`ipRule`\" pulumi-lang-java=\"`ipRule`\"\u003e`ip_rule`\u003c/span\u003e blocks as defined below.\n"},"publicNetworkAccessEnabled":{"type":"boolean","description":"Is public network access enabled for the EventHub Namespace? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n\n\u003e **Note:** The public network access setting at the network rule sets level should be the same as it's at the namespace level.\n"},"trustedServiceAccessEnabled":{"type":"boolean","description":"Whether Trusted Microsoft Services are allowed to bypass firewall.\n"},"virtualNetworkRules":{"type":"array","items":{"$ref":"#/types/azure:eventhub/EventHubNamespaceNetworkRulesetsVirtualNetworkRule:EventHubNamespaceNetworkRulesetsVirtualNetworkRule"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`virtualNetworkRule`\" pulumi-lang-dotnet=\"`VirtualNetworkRule`\" pulumi-lang-go=\"`virtualNetworkRule`\" pulumi-lang-python=\"`virtual_network_rule`\" pulumi-lang-yaml=\"`virtualNetworkRule`\" pulumi-lang-java=\"`virtualNetworkRule`\"\u003e`virtual_network_rule`\u003c/span\u003e blocks as defined below.\n"}},"type":"object","required":["defaultAction"]},"azure:eventhub/EventHubNamespaceNetworkRulesetsIpRule:EventHubNamespaceNetworkRulesetsIpRule":{"properties":{"action":{"type":"string","description":"The action to take when the rule is matched. Possible values are `Allow`. Defaults to `Allow`.\n"},"ipMask":{"type":"string","description":"The IP mask to match on.\n"}},"type":"object","required":["ipMask"]},"azure:eventhub/EventHubNamespaceNetworkRulesetsVirtualNetworkRule:EventHubNamespaceNetworkRulesetsVirtualNetworkRule":{"properties":{"ignoreMissingVirtualNetworkServiceEndpoint":{"type":"boolean","description":"Are missing virtual network service endpoints ignored?\n"},"subnetId":{"type":"string","description":"The id of the subnet to match on.\n"}},"type":"object","required":["subnetId"]},"azure:eventhub/EventHubRetentionDescription:EventHubRetentionDescription":{"properties":{"cleanupPolicy":{"type":"string","description":"Specifies the Cleanup Policy for the EventHub. Possible values are `Delete` and `Compact`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"retentionTimeInHours":{"type":"integer","description":"Specifies the number of hours to retain the events for this Event Hub. The value is only used when \u003cspan pulumi-lang-nodejs=\"`cleanupPolicy`\" pulumi-lang-dotnet=\"`CleanupPolicy`\" pulumi-lang-go=\"`cleanupPolicy`\" pulumi-lang-python=\"`cleanup_policy`\" pulumi-lang-yaml=\"`cleanupPolicy`\" pulumi-lang-java=\"`cleanupPolicy`\"\u003e`cleanup_policy`\u003c/span\u003e is `Delete`.\n"},"tombstoneRetentionTimeInHours":{"type":"integer","description":"Specifies the number of hours to retain the tombstones markers of a compacted Event Hub. The value is only used when \u003cspan pulumi-lang-nodejs=\"`cleanupPolicy`\" pulumi-lang-dotnet=\"`CleanupPolicy`\" pulumi-lang-go=\"`cleanupPolicy`\" pulumi-lang-python=\"`cleanup_policy`\" pulumi-lang-yaml=\"`cleanupPolicy`\" pulumi-lang-java=\"`cleanupPolicy`\"\u003e`cleanup_policy`\u003c/span\u003e is `Compact`.\n"}},"type":"object","required":["cleanupPolicy"]},"azure:eventhub/EventSubscriptionAdvancedFilter:EventSubscriptionAdvancedFilter":{"properties":{"boolEquals":{"type":"array","items":{"$ref":"#/types/azure:eventhub/EventSubscriptionAdvancedFilterBoolEqual:EventSubscriptionAdvancedFilterBoolEqual"},"description":"Compares a value of an event using a single boolean value.\n"},"isNotNulls":{"type":"array","items":{"$ref":"#/types/azure:eventhub/EventSubscriptionAdvancedFilterIsNotNull:EventSubscriptionAdvancedFilterIsNotNull"},"description":"Evaluates if a value of an event isn't NULL or undefined.\n"},"isNullOrUndefineds":{"type":"array","items":{"$ref":"#/types/azure:eventhub/EventSubscriptionAdvancedFilterIsNullOrUndefined:EventSubscriptionAdvancedFilterIsNullOrUndefined"},"description":"Evaluates if a value of an event is NULL or undefined.\n\nEach nested block consists of a key and a value(s) element.\n"},"numberGreaterThanOrEquals":{"type":"array","items":{"$ref":"#/types/azure:eventhub/EventSubscriptionAdvancedFilterNumberGreaterThanOrEqual:EventSubscriptionAdvancedFilterNumberGreaterThanOrEqual"},"description":"Compares a value of an event using a single floating point number.\n"},"numberGreaterThans":{"type":"array","items":{"$ref":"#/types/azure:eventhub/EventSubscriptionAdvancedFilterNumberGreaterThan:EventSubscriptionAdvancedFilterNumberGreaterThan"},"description":"Compares a value of an event using a single floating point number.\n"},"numberInRanges":{"type":"array","items":{"$ref":"#/types/azure:eventhub/EventSubscriptionAdvancedFilterNumberInRange:EventSubscriptionAdvancedFilterNumberInRange"},"description":"Compares a value of an event using multiple floating point number ranges.\n"},"numberIns":{"type":"array","items":{"$ref":"#/types/azure:eventhub/EventSubscriptionAdvancedFilterNumberIn:EventSubscriptionAdvancedFilterNumberIn"},"description":"Compares a value of an event using multiple floating point numbers.\n"},"numberLessThanOrEquals":{"type":"array","items":{"$ref":"#/types/azure:eventhub/EventSubscriptionAdvancedFilterNumberLessThanOrEqual:EventSubscriptionAdvancedFilterNumberLessThanOrEqual"},"description":"Compares a value of an event using a single floating point number.\n"},"numberLessThans":{"type":"array","items":{"$ref":"#/types/azure:eventhub/EventSubscriptionAdvancedFilterNumberLessThan:EventSubscriptionAdvancedFilterNumberLessThan"},"description":"Compares a value of an event using a single floating point number.\n"},"numberNotInRanges":{"type":"array","items":{"$ref":"#/types/azure:eventhub/EventSubscriptionAdvancedFilterNumberNotInRange:EventSubscriptionAdvancedFilterNumberNotInRange"},"description":"Compares a value of an event using multiple floating point number ranges.\n"},"numberNotIns":{"type":"array","items":{"$ref":"#/types/azure:eventhub/EventSubscriptionAdvancedFilterNumberNotIn:EventSubscriptionAdvancedFilterNumberNotIn"},"description":"Compares a value of an event using multiple floating point numbers.\n"},"stringBeginsWiths":{"type":"array","items":{"$ref":"#/types/azure:eventhub/EventSubscriptionAdvancedFilterStringBeginsWith:EventSubscriptionAdvancedFilterStringBeginsWith"},"description":"Compares a value of an event using multiple string values.\n"},"stringContains":{"type":"array","items":{"$ref":"#/types/azure:eventhub/EventSubscriptionAdvancedFilterStringContain:EventSubscriptionAdvancedFilterStringContain"},"description":"Compares a value of an event using multiple string values.\n"},"stringEndsWiths":{"type":"array","items":{"$ref":"#/types/azure:eventhub/EventSubscriptionAdvancedFilterStringEndsWith:EventSubscriptionAdvancedFilterStringEndsWith"},"description":"Compares a value of an event using multiple string values.\n"},"stringIns":{"type":"array","items":{"$ref":"#/types/azure:eventhub/EventSubscriptionAdvancedFilterStringIn:EventSubscriptionAdvancedFilterStringIn"},"description":"Compares a value of an event using multiple string values.\n"},"stringNotBeginsWiths":{"type":"array","items":{"$ref":"#/types/azure:eventhub/EventSubscriptionAdvancedFilterStringNotBeginsWith:EventSubscriptionAdvancedFilterStringNotBeginsWith"},"description":"Compares a value of an event using multiple string values.\n"},"stringNotContains":{"type":"array","items":{"$ref":"#/types/azure:eventhub/EventSubscriptionAdvancedFilterStringNotContain:EventSubscriptionAdvancedFilterStringNotContain"},"description":"Compares a value of an event using multiple string values.\n"},"stringNotEndsWiths":{"type":"array","items":{"$ref":"#/types/azure:eventhub/EventSubscriptionAdvancedFilterStringNotEndsWith:EventSubscriptionAdvancedFilterStringNotEndsWith"},"description":"Compares a value of an event using multiple string values.\n"},"stringNotIns":{"type":"array","items":{"$ref":"#/types/azure:eventhub/EventSubscriptionAdvancedFilterStringNotIn:EventSubscriptionAdvancedFilterStringNotIn"},"description":"Compares a value of an event using multiple string values.\n"}},"type":"object"},"azure:eventhub/EventSubscriptionAdvancedFilterBoolEqual:EventSubscriptionAdvancedFilterBoolEqual":{"properties":{"key":{"type":"string","description":"Specifies the field within the event data that you want to use for filtering. Type of the field can be a number, boolean, or string.\n"},"value":{"type":"boolean"}},"type":"object","required":["key","value"]},"azure:eventhub/EventSubscriptionAdvancedFilterIsNotNull:EventSubscriptionAdvancedFilterIsNotNull":{"properties":{"key":{"type":"string","description":"Specifies the field within the event data that you want to use for filtering. Type of the field can be a number, boolean, or string.\n"}},"type":"object","required":["key"]},"azure:eventhub/EventSubscriptionAdvancedFilterIsNullOrUndefined:EventSubscriptionAdvancedFilterIsNullOrUndefined":{"properties":{"key":{"type":"string","description":"Specifies the field within the event data that you want to use for filtering. Type of the field can be a number, boolean, or string.\n"}},"type":"object","required":["key"]},"azure:eventhub/EventSubscriptionAdvancedFilterNumberGreaterThan:EventSubscriptionAdvancedFilterNumberGreaterThan":{"properties":{"key":{"type":"string","description":"Specifies the field within the event data that you want to use for filtering. Type of the field can be a number, boolean, or string.\n"},"value":{"type":"number"}},"type":"object","required":["key","value"]},"azure:eventhub/EventSubscriptionAdvancedFilterNumberGreaterThanOrEqual:EventSubscriptionAdvancedFilterNumberGreaterThanOrEqual":{"properties":{"key":{"type":"string","description":"Specifies the field within the event data that you want to use for filtering. Type of the field can be a number, boolean, or string.\n"},"value":{"type":"number"}},"type":"object","required":["key","value"]},"azure:eventhub/EventSubscriptionAdvancedFilterNumberIn:EventSubscriptionAdvancedFilterNumberIn":{"properties":{"key":{"type":"string","description":"Specifies the field within the event data that you want to use for filtering. Type of the field can be a number, boolean, or string.\n"},"values":{"type":"array","items":{"type":"number"},"description":"Specifies an array of values to compare to when using a multiple values operator.\n\n\u003e **Note:** A maximum of total number of advanced filter values allowed on event subscription is 25.\n"}},"type":"object","required":["key","values"]},"azure:eventhub/EventSubscriptionAdvancedFilterNumberInRange:EventSubscriptionAdvancedFilterNumberInRange":{"properties":{"key":{"type":"string","description":"Specifies the field within the event data that you want to use for filtering. Type of the field can be a number, boolean, or string.\n"},"values":{"type":"array","items":{"type":"array","items":{"type":"number"}},"description":"Specifies an array of values to compare to when using a multiple values operator.\n\n\u003e **Note:** A maximum of total number of advanced filter values allowed on event subscription is 25.\n"}},"type":"object","required":["key","values"]},"azure:eventhub/EventSubscriptionAdvancedFilterNumberLessThan:EventSubscriptionAdvancedFilterNumberLessThan":{"properties":{"key":{"type":"string","description":"Specifies the field within the event data that you want to use for filtering. Type of the field can be a number, boolean, or string.\n"},"value":{"type":"number"}},"type":"object","required":["key","value"]},"azure:eventhub/EventSubscriptionAdvancedFilterNumberLessThanOrEqual:EventSubscriptionAdvancedFilterNumberLessThanOrEqual":{"properties":{"key":{"type":"string","description":"Specifies the field within the event data that you want to use for filtering. Type of the field can be a number, boolean, or string.\n"},"value":{"type":"number"}},"type":"object","required":["key","value"]},"azure:eventhub/EventSubscriptionAdvancedFilterNumberNotIn:EventSubscriptionAdvancedFilterNumberNotIn":{"properties":{"key":{"type":"string","description":"Specifies the field within the event data that you want to use for filtering. Type of the field can be a number, boolean, or string.\n"},"values":{"type":"array","items":{"type":"number"},"description":"Specifies an array of values to compare to when using a multiple values operator.\n\n\u003e **Note:** A maximum of total number of advanced filter values allowed on event subscription is 25.\n"}},"type":"object","required":["key","values"]},"azure:eventhub/EventSubscriptionAdvancedFilterNumberNotInRange:EventSubscriptionAdvancedFilterNumberNotInRange":{"properties":{"key":{"type":"string","description":"Specifies the field within the event data that you want to use for filtering. Type of the field can be a number, boolean, or string.\n"},"values":{"type":"array","items":{"type":"array","items":{"type":"number"}},"description":"Specifies an array of values to compare to when using a multiple values operator.\n\n\u003e **Note:** A maximum of total number of advanced filter values allowed on event subscription is 25.\n"}},"type":"object","required":["key","values"]},"azure:eventhub/EventSubscriptionAdvancedFilterStringBeginsWith:EventSubscriptionAdvancedFilterStringBeginsWith":{"properties":{"key":{"type":"string","description":"Specifies the field within the event data that you want to use for filtering. Type of the field can be a number, boolean, or string.\n"},"values":{"type":"array","items":{"type":"string"},"description":"Specifies an array of values to compare to when using a multiple values operator.\n\n\u003e **Note:** A maximum of total number of advanced filter values allowed on event subscription is 25.\n"}},"type":"object","required":["key","values"]},"azure:eventhub/EventSubscriptionAdvancedFilterStringContain:EventSubscriptionAdvancedFilterStringContain":{"properties":{"key":{"type":"string","description":"Specifies the field within the event data that you want to use for filtering. Type of the field can be a number, boolean, or string.\n"},"values":{"type":"array","items":{"type":"string"},"description":"Specifies an array of values to compare to when using a multiple values operator.\n\n\u003e **Note:** A maximum of total number of advanced filter values allowed on event subscription is 25.\n"}},"type":"object","required":["key","values"]},"azure:eventhub/EventSubscriptionAdvancedFilterStringEndsWith:EventSubscriptionAdvancedFilterStringEndsWith":{"properties":{"key":{"type":"string","description":"Specifies the field within the event data that you want to use for filtering. Type of the field can be a number, boolean, or string.\n"},"values":{"type":"array","items":{"type":"string"},"description":"Specifies an array of values to compare to when using a multiple values operator.\n\n\u003e **Note:** A maximum of total number of advanced filter values allowed on event subscription is 25.\n"}},"type":"object","required":["key","values"]},"azure:eventhub/EventSubscriptionAdvancedFilterStringIn:EventSubscriptionAdvancedFilterStringIn":{"properties":{"key":{"type":"string","description":"Specifies the field within the event data that you want to use for filtering. Type of the field can be a number, boolean, or string.\n"},"values":{"type":"array","items":{"type":"string"},"description":"Specifies an array of values to compare to when using a multiple values operator.\n\n\u003e **Note:** A maximum of total number of advanced filter values allowed on event subscription is 25.\n"}},"type":"object","required":["key","values"]},"azure:eventhub/EventSubscriptionAdvancedFilterStringNotBeginsWith:EventSubscriptionAdvancedFilterStringNotBeginsWith":{"properties":{"key":{"type":"string","description":"Specifies the field within the event data that you want to use for filtering. Type of the field can be a number, boolean, or string.\n"},"values":{"type":"array","items":{"type":"string"},"description":"Specifies an array of values to compare to when using a multiple values operator.\n\n\u003e **Note:** A maximum of total number of advanced filter values allowed on event subscription is 25.\n"}},"type":"object","required":["key","values"]},"azure:eventhub/EventSubscriptionAdvancedFilterStringNotContain:EventSubscriptionAdvancedFilterStringNotContain":{"properties":{"key":{"type":"string","description":"Specifies the field within the event data that you want to use for filtering. Type of the field can be a number, boolean, or string.\n"},"values":{"type":"array","items":{"type":"string"},"description":"Specifies an array of values to compare to when using a multiple values operator.\n\n\u003e **Note:** A maximum of total number of advanced filter values allowed on event subscription is 25.\n"}},"type":"object","required":["key","values"]},"azure:eventhub/EventSubscriptionAdvancedFilterStringNotEndsWith:EventSubscriptionAdvancedFilterStringNotEndsWith":{"properties":{"key":{"type":"string","description":"Specifies the field within the event data that you want to use for filtering. Type of the field can be a number, boolean, or string.\n"},"values":{"type":"array","items":{"type":"string"},"description":"Specifies an array of values to compare to when using a multiple values operator.\n\n\u003e **Note:** A maximum of total number of advanced filter values allowed on event subscription is 25.\n"}},"type":"object","required":["key","values"]},"azure:eventhub/EventSubscriptionAdvancedFilterStringNotIn:EventSubscriptionAdvancedFilterStringNotIn":{"properties":{"key":{"type":"string","description":"Specifies the field within the event data that you want to use for filtering. Type of the field can be a number, boolean, or string.\n"},"values":{"type":"array","items":{"type":"string"},"description":"Specifies an array of values to compare to when using a multiple values operator.\n\n\u003e **Note:** A maximum of total number of advanced filter values allowed on event subscription is 25.\n"}},"type":"object","required":["key","values"]},"azure:eventhub/EventSubscriptionAzureFunctionEndpoint:EventSubscriptionAzureFunctionEndpoint":{"properties":{"functionId":{"type":"string","description":"Specifies the ID of the Function where the Event Subscription will receive events. This must be the functions ID in format {function_app.id}/functions/{name}.\n"},"maxEventsPerBatch":{"type":"integer","description":"Maximum number of events per batch.\n"},"preferredBatchSizeInKilobytes":{"type":"integer","description":"Preferred batch size in Kilobytes.\n"}},"type":"object","required":["functionId"]},"azure:eventhub/EventSubscriptionDeadLetterIdentity:EventSubscriptionDeadLetterIdentity":{"properties":{"type":{"type":"string","description":"Specifies the type of Managed Service Identity that is used for dead lettering. Allowed value is `SystemAssigned`, `UserAssigned`.\n"},"userAssignedIdentity":{"type":"string","description":"The user identity associated with the resource.\n"}},"type":"object","required":["type"]},"azure:eventhub/EventSubscriptionDeliveryIdentity:EventSubscriptionDeliveryIdentity":{"properties":{"type":{"type":"string","description":"Specifies the type of Managed Service Identity that is used for event delivery. Allowed value is `SystemAssigned`, `UserAssigned`.\n"},"userAssignedIdentity":{"type":"string","description":"The user identity associated with the resource.\n"}},"type":"object","required":["type"]},"azure:eventhub/EventSubscriptionDeliveryProperty:EventSubscriptionDeliveryProperty":{"properties":{"headerName":{"type":"string","description":"The name of the header to send on to the destination\n"},"secret":{"type":"boolean","description":"True if the \u003cspan pulumi-lang-nodejs=\"`value`\" pulumi-lang-dotnet=\"`Value`\" pulumi-lang-go=\"`value`\" pulumi-lang-python=\"`value`\" pulumi-lang-yaml=\"`value`\" pulumi-lang-java=\"`value`\"\u003e`value`\u003c/span\u003e is a secret and should be protected, otherwise false. If True, then this value won't be returned from Azure API calls\n"},"sourceField":{"type":"string","description":"If the \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is `Dynamic`, then provide the payload field to be used as the value. Valid source fields differ by subscription type.\n"},"type":{"type":"string","description":"Either `Static` or `Dynamic`\n"},"value":{"type":"string","description":"If the \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is `Static`, then provide the value to use\n","secret":true}},"type":"object","required":["headerName","type"]},"azure:eventhub/EventSubscriptionRetryPolicy:EventSubscriptionRetryPolicy":{"properties":{"eventTimeToLive":{"type":"integer","description":"Specifies the time to live (in minutes) for events. Supported range is \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`1440`\" pulumi-lang-dotnet=\"`1440`\" pulumi-lang-go=\"`1440`\" pulumi-lang-python=\"`1440`\" pulumi-lang-yaml=\"`1440`\" pulumi-lang-java=\"`1440`\"\u003e`1440`\u003c/span\u003e. See [official documentation](https://docs.microsoft.com/azure/event-grid/manage-event-delivery#set-retry-policy) for more details.\n"},"maxDeliveryAttempts":{"type":"integer","description":"Specifies the maximum number of delivery retry attempts for events.\n"}},"type":"object","required":["eventTimeToLive","maxDeliveryAttempts"]},"azure:eventhub/EventSubscriptionStorageBlobDeadLetterDestination:EventSubscriptionStorageBlobDeadLetterDestination":{"properties":{"storageAccountId":{"type":"string","description":"Specifies the id of the storage account id where the storage blob is located.\n"},"storageBlobContainerName":{"type":"string","description":"Specifies the name of the Storage blob container that is the destination of the deadletter events.\n"}},"type":"object","required":["storageAccountId","storageBlobContainerName"]},"azure:eventhub/EventSubscriptionStorageQueueEndpoint:EventSubscriptionStorageQueueEndpoint":{"properties":{"queueMessageTimeToLiveInSeconds":{"type":"integer","description":"Storage queue message time to live in seconds.\n"},"queueName":{"type":"string","description":"Specifies the name of the storage queue where the Event Subscription will receive events.\n"},"storageAccountId":{"type":"string","description":"Specifies the id of the storage account id where the storage queue is located.\n"}},"type":"object","required":["queueName","storageAccountId"]},"azure:eventhub/EventSubscriptionSubjectFilter:EventSubscriptionSubjectFilter":{"properties":{"caseSensitive":{"type":"boolean","description":"Specifies if \u003cspan pulumi-lang-nodejs=\"`subjectBeginsWith`\" pulumi-lang-dotnet=\"`SubjectBeginsWith`\" pulumi-lang-go=\"`subjectBeginsWith`\" pulumi-lang-python=\"`subject_begins_with`\" pulumi-lang-yaml=\"`subjectBeginsWith`\" pulumi-lang-java=\"`subjectBeginsWith`\"\u003e`subject_begins_with`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`subjectEndsWith`\" pulumi-lang-dotnet=\"`SubjectEndsWith`\" pulumi-lang-go=\"`subjectEndsWith`\" pulumi-lang-python=\"`subject_ends_with`\" pulumi-lang-yaml=\"`subjectEndsWith`\" pulumi-lang-java=\"`subjectEndsWith`\"\u003e`subject_ends_with`\u003c/span\u003e case sensitive. This value\n"},"subjectBeginsWith":{"type":"string","description":"A string to filter events for an event subscription based on a resource path prefix.\n"},"subjectEndsWith":{"type":"string","description":"A string to filter events for an event subscription based on a resource path suffix.\n"}},"type":"object"},"azure:eventhub/EventSubscriptionWebhookEndpoint:EventSubscriptionWebhookEndpoint":{"properties":{"activeDirectoryAppIdOrUri":{"type":"string","description":"The Azure Active Directory Application ID or URI to get the access token that will be included as the bearer token in delivery requests.\n"},"activeDirectoryTenantId":{"type":"string","description":"The Azure Active Directory Tenant ID to get the access token that will be included as the bearer token in delivery requests.\n"},"baseUrl":{"type":"string","description":"The base url of the webhook where the Event Subscription will receive events.\n"},"maxEventsPerBatch":{"type":"integer","description":"Maximum number of events per batch.\n"},"preferredBatchSizeInKilobytes":{"type":"integer","description":"Preferred batch size in Kilobytes.\n"},"url":{"type":"string","description":"Specifies the url of the webhook where the Event Subscription will receive events.\n"}},"type":"object","required":["url"],"language":{"nodejs":{"requiredOutputs":["baseUrl","url"]}}},"azure:eventhub/NamespaceCustomerManagedKey:NamespaceCustomerManagedKey":{"properties":{"identityId":{"type":"string","description":"The ID of the User Assigned Identity that has access to the key.\n"},"infrastructureEncryptionEnabled":{"type":"boolean","description":"Used to specify whether enable Infrastructure Encryption (Double Encryption). Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"keyVaultKeyId":{"type":"string","description":"The ID of the Key Vault Key which should be used to Encrypt the data in this Service Bus Namespace.\n"}},"type":"object","required":["identityId","keyVaultKeyId"]},"azure:eventhub/NamespaceIdentity:NamespaceIdentity":{"properties":{"identityIds":{"type":"array","items":{"type":"string"},"description":"Specifies a list of User Assigned Managed Identity IDs to be assigned to this Service Bus namespace.\n\n\u003e **Note:** This is required when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to `UserAssigned` or `SystemAssigned, UserAssigned`.\n"},"principalId":{"type":"string","description":"The Principal ID for the Service Principal associated with the Managed Service Identity of this Service Bus Namespace.\n"},"tenantId":{"type":"string","description":"The Tenant ID for the Service Principal associated with the Managed Service Identity of this Service Bus Namespace.\n"},"type":{"type":"string","description":"Specifies the type of Managed Service Identity that should be configured on this Service Bus Namespace. Possible values are `SystemAssigned`, `UserAssigned`, `SystemAssigned, UserAssigned` (to enable both).\n"}},"type":"object","required":["type"],"language":{"nodejs":{"requiredOutputs":["principalId","tenantId","type"]}}},"azure:eventhub/NamespaceNetworkRuleSet:NamespaceNetworkRuleSet":{"properties":{"defaultAction":{"type":"string","description":"Specifies the default action for the Network Rule Set. Possible values are `Allow` and `Deny`. Defaults to `Allow`.\n"},"ipRules":{"type":"array","items":{"type":"string"},"description":"One or more IP Addresses, or CIDR Blocks which should be able to access the Service Bus Namespace.\n"},"networkRules":{"type":"array","items":{"$ref":"#/types/azure:eventhub/NamespaceNetworkRuleSetNetworkRule:NamespaceNetworkRuleSetNetworkRule"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`networkRules`\" pulumi-lang-dotnet=\"`NetworkRules`\" pulumi-lang-go=\"`networkRules`\" pulumi-lang-python=\"`network_rules`\" pulumi-lang-yaml=\"`networkRules`\" pulumi-lang-java=\"`networkRules`\"\u003e`network_rules`\u003c/span\u003e blocks as defined below.\n"},"publicNetworkAccessEnabled":{"type":"boolean","description":"Whether to allow traffic over public network. Possible values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n\n\u003e **Note:** To disable public network access, you must also configure the property \u003cspan pulumi-lang-nodejs=\"`publicNetworkAccessEnabled`\" pulumi-lang-dotnet=\"`PublicNetworkAccessEnabled`\" pulumi-lang-go=\"`publicNetworkAccessEnabled`\" pulumi-lang-python=\"`public_network_access_enabled`\" pulumi-lang-yaml=\"`publicNetworkAccessEnabled`\" pulumi-lang-java=\"`publicNetworkAccessEnabled`\"\u003e`public_network_access_enabled`\u003c/span\u003e.\n"},"trustedServicesAllowed":{"type":"boolean","description":"Are Azure Services that are known and trusted for this resource type are allowed to bypass firewall configuration? See [Trusted Microsoft Services](https://github.com/MicrosoftDocs/azure-docs/blob/master/articles/service-bus-messaging/includes/service-bus-trusted-services.md)\n"}},"type":"object"},"azure:eventhub/NamespaceNetworkRuleSetNetworkRule:NamespaceNetworkRuleSetNetworkRule":{"properties":{"ignoreMissingVnetServiceEndpoint":{"type":"boolean","description":"Should the Service Bus Namespace Network Rule Set ignore missing Virtual Network Service Endpoint option in the Subnet? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"subnetId":{"type":"string","description":"The Subnet ID which should be able to access this Service Bus Namespace.\n"}},"type":"object","required":["subnetId"]},"azure:eventhub/SubscriptionClientScopedSubscription:SubscriptionClientScopedSubscription":{"properties":{"clientId":{"type":"string","description":"Specifies the Client ID of the application that created the client-scoped subscription. Changing this forces a new resource to be created.\n\n\u003e **Note:** Client ID can be null or empty, but it must match the client ID set on the JMS client application. From the Azure Service Bus perspective, a null client ID and an empty client id have the same behavior. If the client ID is set to null or empty, it is only accessible to client applications whose client ID is also set to null or empty.\n","willReplaceOnChanges":true},"isClientScopedSubscriptionDurable":{"type":"boolean","description":"Whether the client scoped subscription is durable. This property can only be controlled from the application side.\n"},"isClientScopedSubscriptionShareable":{"type":"boolean","description":"Whether the client scoped subscription is shareable. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","language":{"nodejs":{"requiredOutputs":["isClientScopedSubscriptionDurable"]}}},"azure:eventhub/SubscriptionRuleCorrelationFilter:SubscriptionRuleCorrelationFilter":{"properties":{"contentType":{"type":"string","description":"Content type of the message.\n"},"correlationId":{"type":"string","description":"Identifier of the correlation.\n"},"label":{"type":"string","description":"Application specific label.\n"},"messageId":{"type":"string","description":"Identifier of the message.\n"},"properties":{"type":"object","additionalProperties":{"type":"string"},"description":"A list of user defined properties to be included in the filter. Specified as a map of name/value pairs.\n\n\u003e **Note:** When creating a subscription rule of type `CorrelationFilter` at least one property must be set in the \u003cspan pulumi-lang-nodejs=\"`correlationFilter`\" pulumi-lang-dotnet=\"`CorrelationFilter`\" pulumi-lang-go=\"`correlationFilter`\" pulumi-lang-python=\"`correlation_filter`\" pulumi-lang-yaml=\"`correlationFilter`\" pulumi-lang-java=\"`correlationFilter`\"\u003e`correlation_filter`\u003c/span\u003e block.\n"},"replyTo":{"type":"string","description":"Address of the queue to reply to.\n"},"replyToSessionId":{"type":"string","description":"Session identifier to reply to.\n"},"sessionId":{"type":"string","description":"Session identifier.\n"},"to":{"type":"string","description":"Address to send to.\n"}},"type":"object"},"azure:extendedlocation/CustomLocationAuthentication:CustomLocationAuthentication":{"properties":{"type":{"type":"string","description":"Specifies the type of authentication.\n"},"value":{"type":"string","description":"Specifies the value of authentication.\n"}},"type":"object","required":["value"]},"azure:extendedlocation/getCustomLocationAuthentication:getCustomLocationAuthentication":{"properties":{"type":{"type":"string","description":"The type of authentication.\n"},"value":{"type":"string","description":"The value of authentication.\n"}},"type":"object","required":["type","value"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:fabric/CapacitySku:CapacitySku":{"properties":{"name":{"type":"string","description":"The name of the SKU to use for the Fabric Capacity. Possible values are `F2`, `F4`, `F8`, `F16`, `F32`, `F64`, `F128`, `F256`, `F512`, `F1024`, `F2048`.\n"},"tier":{"type":"string","description":"The tier of the SKU to use for the Fabric Capacity. The only possible value is `Fabric`.\n"}},"type":"object","required":["name","tier"]},"azure:fluidrelay/ServerCustomerManagedKey:ServerCustomerManagedKey":{"properties":{"keyVaultKeyId":{"type":"string","description":"The Key Vault Key Id that will be used to encrypt the Fluid Relay Server.\n"},"userAssignedIdentityId":{"type":"string","description":"The User Assigned Managed Identity ID to be used for accessing the Customer Managed Key for encryption.\n"}},"type":"object","required":["keyVaultKeyId","userAssignedIdentityId"]},"azure:fluidrelay/ServerIdentity:ServerIdentity":{"properties":{"identityIds":{"type":"array","items":{"type":"string"},"description":"Specifies a list of User Assigned Managed Identity IDs to be assigned to this Fluid Relay Service.\n"},"principalId":{"type":"string","description":"The Principal ID for the Service Principal associated with the Identity of this Fluid Relay Server.\n"},"tenantId":{"type":"string","description":"The Tenant ID for the Service Principal associated with the Identity of this Fluid Relay Server.\n"},"type":{"type":"string","description":"Specifies the type of Managed Service Identity that should be configured on this Fluid Relay Service. Possible values are `SystemAssigned`,`UserAssigned` and `SystemAssigned, UserAssigned`.\n"}},"type":"object","required":["type"],"language":{"nodejs":{"requiredOutputs":["principalId","tenantId","type"]}}},"azure:frontdoor/CustomHttpsConfigurationCustomHttpsConfiguration:CustomHttpsConfigurationCustomHttpsConfiguration":{"properties":{"azureKeyVaultCertificateSecretName":{"type":"string","description":"The name of the Key Vault secret representing the full certificate PFX.\n"},"azureKeyVaultCertificateSecretVersion":{"type":"string","description":"The version of the Key Vault secret representing the full certificate PFX.\n\n\u003e **Note:** In order to enable the use of your own custom `HTTPS certificate` you must grant `Azure Front Door Service` access to your key vault. For instructions on how to configure your `Key Vault` correctly please refer to the [product documentation](https://docs.microsoft.com/azure/frontdoor/front-door-custom-domain-https#option-2-use-your-own-certificate).\n"},"azureKeyVaultCertificateVaultId":{"type":"string","description":"The ID of the Key Vault containing the SSL certificate.\n"},"certificateSource":{"type":"string","description":"Certificate source to encrypted `HTTPS` traffic with. Allowed values are `FrontDoor` or `AzureKeyVault`. Defaults to `FrontDoor`.\n\nThe following attributes are only valid if \u003cspan pulumi-lang-nodejs=\"`certificateSource`\" pulumi-lang-dotnet=\"`CertificateSource`\" pulumi-lang-go=\"`certificateSource`\" pulumi-lang-python=\"`certificate_source`\" pulumi-lang-yaml=\"`certificateSource`\" pulumi-lang-java=\"`certificateSource`\"\u003e`certificate_source`\u003c/span\u003e is set to `AzureKeyVault`:\n"},"minimumTlsVersion":{"type":"string","description":"Minimum client TLS version supported.\n"},"provisioningState":{"type":"string"},"provisioningSubstate":{"type":"string"}},"type":"object","language":{"nodejs":{"requiredOutputs":["minimumTlsVersion","provisioningState","provisioningSubstate"]}}},"azure:frontdoor/FirewallPolicyCustomRule:FirewallPolicyCustomRule":{"properties":{"action":{"type":"string","description":"The action to perform when the rule is matched. Possible values are `Allow`, `Block`, `Log`, or `Redirect`.\n"},"enabled":{"type":"boolean","description":"Is the rule is enabled or disabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"matchConditions":{"type":"array","items":{"$ref":"#/types/azure:frontdoor/FirewallPolicyCustomRuleMatchCondition:FirewallPolicyCustomRuleMatchCondition"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`matchCondition`\" pulumi-lang-dotnet=\"`MatchCondition`\" pulumi-lang-go=\"`matchCondition`\" pulumi-lang-python=\"`match_condition`\" pulumi-lang-yaml=\"`matchCondition`\" pulumi-lang-java=\"`matchCondition`\"\u003e`match_condition`\u003c/span\u003e block defined below. Can support up to \u003cspan pulumi-lang-nodejs=\"`10`\" pulumi-lang-dotnet=\"`10`\" pulumi-lang-go=\"`10`\" pulumi-lang-python=\"`10`\" pulumi-lang-yaml=\"`10`\" pulumi-lang-java=\"`10`\"\u003e`10`\u003c/span\u003e \u003cspan pulumi-lang-nodejs=\"`matchCondition`\" pulumi-lang-dotnet=\"`MatchCondition`\" pulumi-lang-go=\"`matchCondition`\" pulumi-lang-python=\"`match_condition`\" pulumi-lang-yaml=\"`matchCondition`\" pulumi-lang-java=\"`matchCondition`\"\u003e`match_condition`\u003c/span\u003e blocks.\n"},"name":{"type":"string","description":"Gets name of the resource that is unique within a policy. This name can be used to access the resource.\n"},"priority":{"type":"integer","description":"The priority of the rule. Rules with a lower value will be evaluated before rules with a higher value. Defaults to \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e.\n"},"rateLimitDurationInMinutes":{"type":"integer","description":"The rate limit duration in minutes. Defaults to \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e.\n"},"rateLimitThreshold":{"type":"integer","description":"The rate limit threshold. Defaults to \u003cspan pulumi-lang-nodejs=\"`10`\" pulumi-lang-dotnet=\"`10`\" pulumi-lang-go=\"`10`\" pulumi-lang-python=\"`10`\" pulumi-lang-yaml=\"`10`\" pulumi-lang-java=\"`10`\"\u003e`10`\u003c/span\u003e.\n"},"type":{"type":"string","description":"The type of rule. Possible values are `MatchRule` or `RateLimitRule`.\n"}},"type":"object","required":["action","name","type"]},"azure:frontdoor/FirewallPolicyCustomRuleMatchCondition:FirewallPolicyCustomRuleMatchCondition":{"properties":{"matchValues":{"type":"array","items":{"type":"string"},"description":"Up to \u003cspan pulumi-lang-nodejs=\"`600`\" pulumi-lang-dotnet=\"`600`\" pulumi-lang-go=\"`600`\" pulumi-lang-python=\"`600`\" pulumi-lang-yaml=\"`600`\" pulumi-lang-java=\"`600`\"\u003e`600`\u003c/span\u003e possible values to match. Limit is in total across all \u003cspan pulumi-lang-nodejs=\"`matchCondition`\" pulumi-lang-dotnet=\"`MatchCondition`\" pulumi-lang-go=\"`matchCondition`\" pulumi-lang-python=\"`match_condition`\" pulumi-lang-yaml=\"`matchCondition`\" pulumi-lang-java=\"`matchCondition`\"\u003e`match_condition`\u003c/span\u003e blocks and \u003cspan pulumi-lang-nodejs=\"`matchValues`\" pulumi-lang-dotnet=\"`MatchValues`\" pulumi-lang-go=\"`matchValues`\" pulumi-lang-python=\"`match_values`\" pulumi-lang-yaml=\"`matchValues`\" pulumi-lang-java=\"`matchValues`\"\u003e`match_values`\u003c/span\u003e arguments. String value itself can be up to \u003cspan pulumi-lang-nodejs=\"`256`\" pulumi-lang-dotnet=\"`256`\" pulumi-lang-go=\"`256`\" pulumi-lang-python=\"`256`\" pulumi-lang-yaml=\"`256`\" pulumi-lang-java=\"`256`\"\u003e`256`\u003c/span\u003e characters long.\n"},"matchVariable":{"type":"string","description":"The request variable to compare with. Possible values are `Cookies`, `PostArgs`, `QueryString`, `RemoteAddr`, `RequestBody`, `RequestHeader`, `RequestMethod`, `RequestUri`, or `SocketAddr`.\n"},"negationCondition":{"type":"boolean","description":"Should the result of the condition be negated.\n"},"operator":{"type":"string","description":"Comparison type to use for matching with the variable value. Possible values are `Any`, `BeginsWith`, `Contains`, `EndsWith`, `Equal`, `GeoMatch`, `GreaterThan`, `GreaterThanOrEqual`, `IPMatch`, `LessThan`, `LessThanOrEqual` or `RegEx`.\n"},"selector":{"type":"string","description":"Match against a specific key if the \u003cspan pulumi-lang-nodejs=\"`matchVariable`\" pulumi-lang-dotnet=\"`MatchVariable`\" pulumi-lang-go=\"`matchVariable`\" pulumi-lang-python=\"`match_variable`\" pulumi-lang-yaml=\"`matchVariable`\" pulumi-lang-java=\"`matchVariable`\"\u003e`match_variable`\u003c/span\u003e is `QueryString`, `PostArgs`, `RequestHeader` or `Cookies`.\n"},"transforms":{"type":"array","items":{"type":"string"},"description":"Up to \u003cspan pulumi-lang-nodejs=\"`5`\" pulumi-lang-dotnet=\"`5`\" pulumi-lang-go=\"`5`\" pulumi-lang-python=\"`5`\" pulumi-lang-yaml=\"`5`\" pulumi-lang-java=\"`5`\"\u003e`5`\u003c/span\u003e transforms to apply. Possible values are `Lowercase`, `RemoveNulls`, `Trim`, `Uppercase`, `URLDecode` or`URLEncode`.\n"}},"type":"object","required":["matchValues","matchVariable","operator"]},"azure:frontdoor/FirewallPolicyManagedRule:FirewallPolicyManagedRule":{"properties":{"exclusions":{"type":"array","items":{"$ref":"#/types/azure:frontdoor/FirewallPolicyManagedRuleExclusion:FirewallPolicyManagedRuleExclusion"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`exclusion`\" pulumi-lang-dotnet=\"`Exclusion`\" pulumi-lang-go=\"`exclusion`\" pulumi-lang-python=\"`exclusion`\" pulumi-lang-yaml=\"`exclusion`\" pulumi-lang-java=\"`exclusion`\"\u003e`exclusion`\u003c/span\u003e blocks as defined below.\n"},"overrides":{"type":"array","items":{"$ref":"#/types/azure:frontdoor/FirewallPolicyManagedRuleOverride:FirewallPolicyManagedRuleOverride"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`override`\" pulumi-lang-dotnet=\"`Override`\" pulumi-lang-go=\"`override`\" pulumi-lang-python=\"`override`\" pulumi-lang-yaml=\"`override`\" pulumi-lang-java=\"`override`\"\u003e`override`\u003c/span\u003e blocks as defined below.\n"},"type":{"type":"string","description":"The name of the managed rule to use with this resource.\n"},"version":{"type":"string","description":"The version on the managed rule to use with this resource.\n"}},"type":"object","required":["type","version"]},"azure:frontdoor/FirewallPolicyManagedRuleExclusion:FirewallPolicyManagedRuleExclusion":{"properties":{"matchVariable":{"type":"string","description":"The variable type to be excluded. Possible values are `QueryStringArgNames`, `RequestBodyPostArgNames`, `RequestCookieNames`, `RequestHeaderNames`.\n"},"operator":{"type":"string","description":"Comparison operator to apply to the selector when specifying which elements in the collection this exclusion applies to. Possible values are: `Equals`, `Contains`, `StartsWith`, `EndsWith`, `EqualsAny`.\n"},"selector":{"type":"string","description":"Selector for the value in the \u003cspan pulumi-lang-nodejs=\"`matchVariable`\" pulumi-lang-dotnet=\"`MatchVariable`\" pulumi-lang-go=\"`matchVariable`\" pulumi-lang-python=\"`match_variable`\" pulumi-lang-yaml=\"`matchVariable`\" pulumi-lang-java=\"`matchVariable`\"\u003e`match_variable`\u003c/span\u003e attribute this exclusion applies to.\n"}},"type":"object","required":["matchVariable","operator","selector"]},"azure:frontdoor/FirewallPolicyManagedRuleOverride:FirewallPolicyManagedRuleOverride":{"properties":{"exclusions":{"type":"array","items":{"$ref":"#/types/azure:frontdoor/FirewallPolicyManagedRuleOverrideExclusion:FirewallPolicyManagedRuleOverrideExclusion"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`exclusion`\" pulumi-lang-dotnet=\"`Exclusion`\" pulumi-lang-go=\"`exclusion`\" pulumi-lang-python=\"`exclusion`\" pulumi-lang-yaml=\"`exclusion`\" pulumi-lang-java=\"`exclusion`\"\u003e`exclusion`\u003c/span\u003e blocks as defined below.\n"},"ruleGroupName":{"type":"string","description":"The managed rule group to override.\n"},"rules":{"type":"array","items":{"$ref":"#/types/azure:frontdoor/FirewallPolicyManagedRuleOverrideRule:FirewallPolicyManagedRuleOverrideRule"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`rule`\" pulumi-lang-dotnet=\"`Rule`\" pulumi-lang-go=\"`rule`\" pulumi-lang-python=\"`rule`\" pulumi-lang-yaml=\"`rule`\" pulumi-lang-java=\"`rule`\"\u003e`rule`\u003c/span\u003e blocks as defined below. If none are specified, all of the rules in the group will be disabled.\n"}},"type":"object","required":["ruleGroupName"]},"azure:frontdoor/FirewallPolicyManagedRuleOverrideExclusion:FirewallPolicyManagedRuleOverrideExclusion":{"properties":{"matchVariable":{"type":"string","description":"The variable type to be excluded. Possible values are `QueryStringArgNames`, `RequestBodyPostArgNames`, `RequestCookieNames`, `RequestHeaderNames`.\n"},"operator":{"type":"string","description":"Comparison operator to apply to the selector when specifying which elements in the collection this exclusion applies to. Possible values are: `Equals`, `Contains`, `StartsWith`, `EndsWith`, `EqualsAny`.\n"},"selector":{"type":"string","description":"Selector for the value in the \u003cspan pulumi-lang-nodejs=\"`matchVariable`\" pulumi-lang-dotnet=\"`MatchVariable`\" pulumi-lang-go=\"`matchVariable`\" pulumi-lang-python=\"`match_variable`\" pulumi-lang-yaml=\"`matchVariable`\" pulumi-lang-java=\"`matchVariable`\"\u003e`match_variable`\u003c/span\u003e attribute this exclusion applies to.\n"}},"type":"object","required":["matchVariable","operator","selector"]},"azure:frontdoor/FirewallPolicyManagedRuleOverrideRule:FirewallPolicyManagedRuleOverrideRule":{"properties":{"action":{"type":"string","description":"The action to be applied when the rule matches. Possible values are `Allow`, `Block`, `Log`, or `Redirect`.\n"},"enabled":{"type":"boolean","description":"Is the managed rule override enabled or disabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e\n"},"exclusions":{"type":"array","items":{"$ref":"#/types/azure:frontdoor/FirewallPolicyManagedRuleOverrideRuleExclusion:FirewallPolicyManagedRuleOverrideRuleExclusion"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`exclusion`\" pulumi-lang-dotnet=\"`Exclusion`\" pulumi-lang-go=\"`exclusion`\" pulumi-lang-python=\"`exclusion`\" pulumi-lang-yaml=\"`exclusion`\" pulumi-lang-java=\"`exclusion`\"\u003e`exclusion`\u003c/span\u003e blocks as defined below.\n"},"ruleId":{"type":"string","description":"Identifier for the managed rule.\n"}},"type":"object","required":["action","ruleId"]},"azure:frontdoor/FirewallPolicyManagedRuleOverrideRuleExclusion:FirewallPolicyManagedRuleOverrideRuleExclusion":{"properties":{"matchVariable":{"type":"string","description":"The variable type to be excluded. Possible values are `QueryStringArgNames`, `RequestBodyPostArgNames`, `RequestCookieNames`, `RequestHeaderNames`.\n"},"operator":{"type":"string","description":"Comparison operator to apply to the selector when specifying which elements in the collection this exclusion applies to. Possible values are: `Equals`, `Contains`, `StartsWith`, `EndsWith`, `EqualsAny`.\n"},"selector":{"type":"string","description":"Selector for the value in the \u003cspan pulumi-lang-nodejs=\"`matchVariable`\" pulumi-lang-dotnet=\"`MatchVariable`\" pulumi-lang-go=\"`matchVariable`\" pulumi-lang-python=\"`match_variable`\" pulumi-lang-yaml=\"`matchVariable`\" pulumi-lang-java=\"`matchVariable`\"\u003e`match_variable`\u003c/span\u003e attribute this exclusion applies to.\n"}},"type":"object","required":["matchVariable","operator","selector"]},"azure:frontdoor/FrontdoorBackendPool:FrontdoorBackendPool":{"properties":{"backends":{"type":"array","items":{"$ref":"#/types/azure:frontdoor/FrontdoorBackendPoolBackend:FrontdoorBackendPoolBackend"},"description":"A \u003cspan pulumi-lang-nodejs=\"`backend`\" pulumi-lang-dotnet=\"`Backend`\" pulumi-lang-go=\"`backend`\" pulumi-lang-python=\"`backend`\" pulumi-lang-yaml=\"`backend`\" pulumi-lang-java=\"`backend`\"\u003e`backend`\u003c/span\u003e block as defined below.\n"},"healthProbeName":{"type":"string","description":"Specifies the name of the \u003cspan pulumi-lang-nodejs=\"`backendPoolHealthProbe`\" pulumi-lang-dotnet=\"`BackendPoolHealthProbe`\" pulumi-lang-go=\"`backendPoolHealthProbe`\" pulumi-lang-python=\"`backend_pool_health_probe`\" pulumi-lang-yaml=\"`backendPoolHealthProbe`\" pulumi-lang-java=\"`backendPoolHealthProbe`\"\u003e`backend_pool_health_probe`\u003c/span\u003e block within this resource to use for this `Backend Pool`.\n"},"id":{"type":"string","description":"The ID of the FrontDoor.\n"},"loadBalancingName":{"type":"string","description":"Specifies the name of the \u003cspan pulumi-lang-nodejs=\"`backendPoolLoadBalancing`\" pulumi-lang-dotnet=\"`BackendPoolLoadBalancing`\" pulumi-lang-go=\"`backendPoolLoadBalancing`\" pulumi-lang-python=\"`backend_pool_load_balancing`\" pulumi-lang-yaml=\"`backendPoolLoadBalancing`\" pulumi-lang-java=\"`backendPoolLoadBalancing`\"\u003e`backend_pool_load_balancing`\u003c/span\u003e block within this resource to use for this `Backend Pool`.\n"},"name":{"type":"string","description":"Specifies the name of the Backend Pool.\n"}},"type":"object","required":["backends","healthProbeName","loadBalancingName","name"],"language":{"nodejs":{"requiredOutputs":["backends","healthProbeName","id","loadBalancingName","name"]}}},"azure:frontdoor/FrontdoorBackendPoolBackend:FrontdoorBackendPoolBackend":{"properties":{"address":{"type":"string","description":"Location of the backend (IP address or FQDN)\n"},"enabled":{"type":"boolean","description":"Specifies if the backend is enabled or not. Valid options are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"hostHeader":{"type":"string","description":"The value to use as the host header sent to the backend.\n"},"httpPort":{"type":"integer","description":"The HTTP TCP port number. Possible values are between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e - \u003cspan pulumi-lang-nodejs=\"`65535`\" pulumi-lang-dotnet=\"`65535`\" pulumi-lang-go=\"`65535`\" pulumi-lang-python=\"`65535`\" pulumi-lang-yaml=\"`65535`\" pulumi-lang-java=\"`65535`\"\u003e`65535`\u003c/span\u003e.\n"},"httpsPort":{"type":"integer","description":"The HTTPS TCP port number. Possible values are between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e - \u003cspan pulumi-lang-nodejs=\"`65535`\" pulumi-lang-dotnet=\"`65535`\" pulumi-lang-go=\"`65535`\" pulumi-lang-python=\"`65535`\" pulumi-lang-yaml=\"`65535`\" pulumi-lang-java=\"`65535`\"\u003e`65535`\u003c/span\u003e.\n"},"priority":{"type":"integer","description":"Priority to use for load balancing. Higher priorities will not be used for load balancing if any lower priority backend is healthy. Defaults to \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e.\n"},"weight":{"type":"integer","description":"Weight of this endpoint for load balancing purposes. Defaults to \u003cspan pulumi-lang-nodejs=\"`50`\" pulumi-lang-dotnet=\"`50`\" pulumi-lang-go=\"`50`\" pulumi-lang-python=\"`50`\" pulumi-lang-yaml=\"`50`\" pulumi-lang-java=\"`50`\"\u003e`50`\u003c/span\u003e.\n"}},"type":"object","required":["address","hostHeader","httpPort","httpsPort"]},"azure:frontdoor/FrontdoorBackendPoolHealthProbe:FrontdoorBackendPoolHealthProbe":{"properties":{"enabled":{"type":"boolean","description":"Is this health probe enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"id":{"type":"string","description":"The ID of the FrontDoor.\n"},"intervalInSeconds":{"type":"integer","description":"The number of seconds between each Health Probe. Defaults to \u003cspan pulumi-lang-nodejs=\"`120`\" pulumi-lang-dotnet=\"`120`\" pulumi-lang-go=\"`120`\" pulumi-lang-python=\"`120`\" pulumi-lang-yaml=\"`120`\" pulumi-lang-java=\"`120`\"\u003e`120`\u003c/span\u003e.\n"},"name":{"type":"string","description":"Specifies the name of the Health Probe.\n"},"path":{"type":"string","description":"The path to use for the Health Probe. Default is `/`.\n"},"probeMethod":{"type":"string","description":"Specifies HTTP method the health probe uses when querying the backend pool instances. Possible values include: `GET` and `HEAD`. Defaults to `GET`.\n\n\u003e **NOTE:** Use the `HEAD` method if you do not need to check the response body of your health probe.\n"},"protocol":{"type":"string","description":"Protocol scheme to use for the Health Probe. Possible values are `Http` and `Https`. Defaults to `Http`.\n"}},"type":"object","required":["name"],"language":{"nodejs":{"requiredOutputs":["id","name"]}}},"azure:frontdoor/FrontdoorBackendPoolLoadBalancing:FrontdoorBackendPoolLoadBalancing":{"properties":{"additionalLatencyMilliseconds":{"type":"integer","description":"The additional latency in milliseconds for probes to fall into the lowest latency bucket. Defaults to \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"id":{"type":"string","description":"The ID of the FrontDoor.\n"},"name":{"type":"string","description":"Specifies the name of the Load Balancer.\n"},"sampleSize":{"type":"integer","description":"The number of samples to consider for load balancing decisions. Defaults to \u003cspan pulumi-lang-nodejs=\"`4`\" pulumi-lang-dotnet=\"`4`\" pulumi-lang-go=\"`4`\" pulumi-lang-python=\"`4`\" pulumi-lang-yaml=\"`4`\" pulumi-lang-java=\"`4`\"\u003e`4`\u003c/span\u003e.\n"},"successfulSamplesRequired":{"type":"integer","description":"The number of samples within the sample period that must succeed. Defaults to \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e.\n"}},"type":"object","required":["name"],"language":{"nodejs":{"requiredOutputs":["id","name"]}}},"azure:frontdoor/FrontdoorBackendPoolSetting:FrontdoorBackendPoolSetting":{"properties":{"backendPoolsSendReceiveTimeoutSeconds":{"type":"integer","description":"Specifies the send and receive timeout on forwarding request to the backend. When the timeout is reached, the request fails and returns. Possible values are between \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e - \u003cspan pulumi-lang-nodejs=\"`240`\" pulumi-lang-dotnet=\"`240`\" pulumi-lang-go=\"`240`\" pulumi-lang-python=\"`240`\" pulumi-lang-yaml=\"`240`\" pulumi-lang-java=\"`240`\"\u003e`240`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`60`\" pulumi-lang-dotnet=\"`60`\" pulumi-lang-go=\"`60`\" pulumi-lang-python=\"`60`\" pulumi-lang-yaml=\"`60`\" pulumi-lang-java=\"`60`\"\u003e`60`\u003c/span\u003e.\n"},"enforceBackendPoolsCertificateNameCheck":{"type":"boolean","description":"Enforce certificate name check on `HTTPS` requests to all backend pools, this setting will have no effect on `HTTP` requests. Permitted values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **NOTE:** \u003cspan pulumi-lang-nodejs=\"`backendPoolsSendReceiveTimeoutSeconds`\" pulumi-lang-dotnet=\"`BackendPoolsSendReceiveTimeoutSeconds`\" pulumi-lang-go=\"`backendPoolsSendReceiveTimeoutSeconds`\" pulumi-lang-python=\"`backend_pools_send_receive_timeout_seconds`\" pulumi-lang-yaml=\"`backendPoolsSendReceiveTimeoutSeconds`\" pulumi-lang-java=\"`backendPoolsSendReceiveTimeoutSeconds`\"\u003e`backend_pools_send_receive_timeout_seconds`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`enforceBackendPoolsCertificateNameCheck`\" pulumi-lang-dotnet=\"`EnforceBackendPoolsCertificateNameCheck`\" pulumi-lang-go=\"`enforceBackendPoolsCertificateNameCheck`\" pulumi-lang-python=\"`enforce_backend_pools_certificate_name_check`\" pulumi-lang-yaml=\"`enforceBackendPoolsCertificateNameCheck`\" pulumi-lang-java=\"`enforceBackendPoolsCertificateNameCheck`\"\u003e`enforce_backend_pools_certificate_name_check`\u003c/span\u003e apply to all backend pools.\n"}},"type":"object","required":["enforceBackendPoolsCertificateNameCheck"]},"azure:frontdoor/FrontdoorExplicitResourceOrder:FrontdoorExplicitResourceOrder":{"properties":{"backendPoolHealthProbeIds":{"type":"array","items":{"type":"string"}},"backendPoolIds":{"type":"array","items":{"type":"string"}},"backendPoolLoadBalancingIds":{"type":"array","items":{"type":"string"}},"frontendEndpointIds":{"type":"array","items":{"type":"string"}},"routingRuleIds":{"type":"array","items":{"type":"string"}}},"type":"object","language":{"nodejs":{"requiredOutputs":["backendPoolHealthProbeIds","backendPoolIds","backendPoolLoadBalancingIds","frontendEndpointIds","routingRuleIds"]}}},"azure:frontdoor/FrontdoorFrontendEndpoint:FrontdoorFrontendEndpoint":{"properties":{"hostName":{"type":"string","description":"Specifies the host name of the \u003cspan pulumi-lang-nodejs=\"`frontendEndpoint`\" pulumi-lang-dotnet=\"`FrontendEndpoint`\" pulumi-lang-go=\"`frontendEndpoint`\" pulumi-lang-python=\"`frontend_endpoint`\" pulumi-lang-yaml=\"`frontendEndpoint`\" pulumi-lang-java=\"`frontendEndpoint`\"\u003e`frontend_endpoint`\u003c/span\u003e. Must be a domain name. In order to use a name.azurefd.net domain, the name value must match the Front Door name.\n"},"id":{"type":"string","description":"The ID of the FrontDoor.\n"},"name":{"type":"string","description":"Specifies the name of the \u003cspan pulumi-lang-nodejs=\"`frontendEndpoint`\" pulumi-lang-dotnet=\"`FrontendEndpoint`\" pulumi-lang-go=\"`frontendEndpoint`\" pulumi-lang-python=\"`frontend_endpoint`\" pulumi-lang-yaml=\"`frontendEndpoint`\" pulumi-lang-java=\"`frontendEndpoint`\"\u003e`frontend_endpoint`\u003c/span\u003e.\n"},"sessionAffinityEnabled":{"type":"boolean","description":"Whether to allow session affinity on this host. Valid options are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"sessionAffinityTtlSeconds":{"type":"integer","description":"The TTL to use in seconds for session affinity, if applicable. Defaults to \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"webApplicationFirewallPolicyLinkId":{"type":"string","description":"Defines the Web Application Firewall policy `ID` for each host.\n"}},"type":"object","required":["hostName","name"],"language":{"nodejs":{"requiredOutputs":["hostName","id","name"]}}},"azure:frontdoor/FrontdoorRoutingRule:FrontdoorRoutingRule":{"properties":{"acceptedProtocols":{"type":"array","items":{"type":"string"},"description":"Protocol schemes to match for the Backend Routing Rule. Possible values are `Http` and `Https`.\n"},"enabled":{"type":"boolean","description":"`Enable` or `Disable` use of this Backend Routing Rule. Permitted values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"forwardingConfiguration":{"$ref":"#/types/azure:frontdoor/FrontdoorRoutingRuleForwardingConfiguration:FrontdoorRoutingRuleForwardingConfiguration","description":"A \u003cspan pulumi-lang-nodejs=\"`forwardingConfiguration`\" pulumi-lang-dotnet=\"`ForwardingConfiguration`\" pulumi-lang-go=\"`forwardingConfiguration`\" pulumi-lang-python=\"`forwarding_configuration`\" pulumi-lang-yaml=\"`forwardingConfiguration`\" pulumi-lang-java=\"`forwardingConfiguration`\"\u003e`forwarding_configuration`\u003c/span\u003e block as defined below.\n"},"frontendEndpoints":{"type":"array","items":{"type":"string"},"description":"The names of the \u003cspan pulumi-lang-nodejs=\"`frontendEndpoint`\" pulumi-lang-dotnet=\"`FrontendEndpoint`\" pulumi-lang-go=\"`frontendEndpoint`\" pulumi-lang-python=\"`frontend_endpoint`\" pulumi-lang-yaml=\"`frontendEndpoint`\" pulumi-lang-java=\"`frontendEndpoint`\"\u003e`frontend_endpoint`\u003c/span\u003e blocks within this resource to associate with this \u003cspan pulumi-lang-nodejs=\"`routingRule`\" pulumi-lang-dotnet=\"`RoutingRule`\" pulumi-lang-go=\"`routingRule`\" pulumi-lang-python=\"`routing_rule`\" pulumi-lang-yaml=\"`routingRule`\" pulumi-lang-java=\"`routingRule`\"\u003e`routing_rule`\u003c/span\u003e.\n"},"id":{"type":"string","description":"The ID of the FrontDoor.\n"},"name":{"type":"string","description":"Specifies the name of the Routing Rule.\n"},"patternsToMatches":{"type":"array","items":{"type":"string"},"description":"The route patterns for the Backend Routing Rule.\n"},"redirectConfiguration":{"$ref":"#/types/azure:frontdoor/FrontdoorRoutingRuleRedirectConfiguration:FrontdoorRoutingRuleRedirectConfiguration","description":"A \u003cspan pulumi-lang-nodejs=\"`redirectConfiguration`\" pulumi-lang-dotnet=\"`RedirectConfiguration`\" pulumi-lang-go=\"`redirectConfiguration`\" pulumi-lang-python=\"`redirect_configuration`\" pulumi-lang-yaml=\"`redirectConfiguration`\" pulumi-lang-java=\"`redirectConfiguration`\"\u003e`redirect_configuration`\u003c/span\u003e block as defined below.\n"}},"type":"object","required":["acceptedProtocols","frontendEndpoints","name","patternsToMatches"],"language":{"nodejs":{"requiredOutputs":["acceptedProtocols","frontendEndpoints","id","name","patternsToMatches"]}}},"azure:frontdoor/FrontdoorRoutingRuleForwardingConfiguration:FrontdoorRoutingRuleForwardingConfiguration":{"properties":{"backendPoolName":{"type":"string","description":"Specifies the name of the Backend Pool to forward the incoming traffic to.\n"},"cacheDuration":{"type":"string","description":"Specify the minimum caching duration (in ISO8601 notation e.g. `P1DT2H` for 1 day and 2 hours). Needs to be greater than 0 and smaller than 365 days. \u003cspan pulumi-lang-nodejs=\"`cacheDuration`\" pulumi-lang-dotnet=\"`CacheDuration`\" pulumi-lang-go=\"`cacheDuration`\" pulumi-lang-python=\"`cache_duration`\" pulumi-lang-yaml=\"`cacheDuration`\" pulumi-lang-java=\"`cacheDuration`\"\u003e`cache_duration`\u003c/span\u003e works only in combination with \u003cspan pulumi-lang-nodejs=\"`cacheEnabled`\" pulumi-lang-dotnet=\"`CacheEnabled`\" pulumi-lang-go=\"`cacheEnabled`\" pulumi-lang-python=\"`cache_enabled`\" pulumi-lang-yaml=\"`cacheEnabled`\" pulumi-lang-java=\"`cacheEnabled`\"\u003e`cache_enabled`\u003c/span\u003e set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"cacheEnabled":{"type":"boolean","description":"Specifies whether to Enable caching or not. Valid options are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"cacheQueryParameterStripDirective":{"type":"string","description":"Defines cache behaviour in relation to query string parameters. Valid options are `StripAll`, `StripAllExcept`, `StripOnly` or `StripNone`. Defaults to `StripAll`.\n"},"cacheQueryParameters":{"type":"array","items":{"type":"string"},"description":"Specify query parameters (array). Works only in combination with \u003cspan pulumi-lang-nodejs=\"`cacheQueryParameterStripDirective`\" pulumi-lang-dotnet=\"`CacheQueryParameterStripDirective`\" pulumi-lang-go=\"`cacheQueryParameterStripDirective`\" pulumi-lang-python=\"`cache_query_parameter_strip_directive`\" pulumi-lang-yaml=\"`cacheQueryParameterStripDirective`\" pulumi-lang-java=\"`cacheQueryParameterStripDirective`\"\u003e`cache_query_parameter_strip_directive`\u003c/span\u003e set to `StripAllExcept` or `StripOnly`.\n"},"cacheUseDynamicCompression":{"type":"boolean","description":"Whether to use dynamic compression when caching. Valid options are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"customForwardingPath":{"type":"string","description":"Path to use when constructing the request to forward to the backend. This functions as a URL Rewrite. Default behaviour preserves the URL path.\n"},"forwardingProtocol":{"type":"string","description":"Protocol to use when redirecting. Valid options are `HttpOnly`, `HttpsOnly`, or `MatchRequest`. Defaults to `HttpsOnly`.\n"}},"type":"object","required":["backendPoolName"]},"azure:frontdoor/FrontdoorRoutingRuleRedirectConfiguration:FrontdoorRoutingRuleRedirectConfiguration":{"properties":{"customFragment":{"type":"string","description":"The destination fragment in the portion of URL after '#'. Set this to add a fragment to the redirect URL.\n"},"customHost":{"type":"string","description":"Set this to change the URL for the redirection.\n"},"customPath":{"type":"string","description":"The path to retain as per the incoming request, or update in the URL for the redirection.\n"},"customQueryString":{"type":"string","description":"Replace any existing query string from the incoming request URL.\n"},"redirectProtocol":{"type":"string","description":"Protocol to use when redirecting. Valid options are `HttpOnly`, `HttpsOnly`, or `MatchRequest`.\n"},"redirectType":{"type":"string","description":"Status code for the redirect. Valida options are `Moved`, `Found`, `TemporaryRedirect`, `PermanentRedirect`.\n"}},"type":"object","required":["redirectProtocol","redirectType"]},"azure:frontdoor/RulesEngineRule:RulesEngineRule":{"properties":{"action":{"$ref":"#/types/azure:frontdoor/RulesEngineRuleAction:RulesEngineRuleAction","description":"An \u003cspan pulumi-lang-nodejs=\"`action`\" pulumi-lang-dotnet=\"`Action`\" pulumi-lang-go=\"`action`\" pulumi-lang-python=\"`action`\" pulumi-lang-yaml=\"`action`\" pulumi-lang-java=\"`action`\"\u003e`action`\u003c/span\u003e block as defined below.\n"},"matchConditions":{"type":"array","items":{"$ref":"#/types/azure:frontdoor/RulesEngineRuleMatchCondition:RulesEngineRuleMatchCondition"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`matchCondition`\" pulumi-lang-dotnet=\"`MatchCondition`\" pulumi-lang-go=\"`matchCondition`\" pulumi-lang-python=\"`match_condition`\" pulumi-lang-yaml=\"`matchCondition`\" pulumi-lang-java=\"`matchCondition`\"\u003e`match_condition`\u003c/span\u003e block as defined below.\n"},"name":{"type":"string","description":"The name of the rule.\n"},"priority":{"type":"integer","description":"Priority of the rule, must be unique per rules engine definition.\n"}},"type":"object","required":["name","priority"]},"azure:frontdoor/RulesEngineRuleAction:RulesEngineRuleAction":{"properties":{"requestHeaders":{"type":"array","items":{"$ref":"#/types/azure:frontdoor/RulesEngineRuleActionRequestHeader:RulesEngineRuleActionRequestHeader"},"description":"A \u003cspan pulumi-lang-nodejs=\"`requestHeader`\" pulumi-lang-dotnet=\"`RequestHeader`\" pulumi-lang-go=\"`requestHeader`\" pulumi-lang-python=\"`request_header`\" pulumi-lang-yaml=\"`requestHeader`\" pulumi-lang-java=\"`requestHeader`\"\u003e`request_header`\u003c/span\u003e block as defined below.\n"},"responseHeaders":{"type":"array","items":{"$ref":"#/types/azure:frontdoor/RulesEngineRuleActionResponseHeader:RulesEngineRuleActionResponseHeader"},"description":"A \u003cspan pulumi-lang-nodejs=\"`responseHeader`\" pulumi-lang-dotnet=\"`ResponseHeader`\" pulumi-lang-go=\"`responseHeader`\" pulumi-lang-python=\"`response_header`\" pulumi-lang-yaml=\"`responseHeader`\" pulumi-lang-java=\"`responseHeader`\"\u003e`response_header`\u003c/span\u003e block as defined below.\n"}},"type":"object"},"azure:frontdoor/RulesEngineRuleActionRequestHeader:RulesEngineRuleActionRequestHeader":{"properties":{"headerActionType":{"type":"string","description":"can be set to `Overwrite`, `Append` or `Delete`.\n"},"headerName":{"type":"string","description":"header name (string).\n"},"value":{"type":"string","description":"value name (string).\n"}},"type":"object"},"azure:frontdoor/RulesEngineRuleActionResponseHeader:RulesEngineRuleActionResponseHeader":{"properties":{"headerActionType":{"type":"string","description":"can be set to `Overwrite`, `Append` or `Delete`.\n"},"headerName":{"type":"string","description":"header name (string).\n"},"value":{"type":"string","description":"value name (string).\n"}},"type":"object"},"azure:frontdoor/RulesEngineRuleMatchCondition:RulesEngineRuleMatchCondition":{"properties":{"negateCondition":{"type":"boolean","description":"can be set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e to negate the given condition. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"operator":{"type":"string","description":"can be set to `Any`, `IPMatch`, `GeoMatch`, `Equal`, `Contains`, `LessThan`, `GreaterThan`, `LessThanOrEqual`, `GreaterThanOrEqual`, `BeginsWith` or `EndsWith`\n"},"selector":{"type":"string","description":"match against a specific key when \u003cspan pulumi-lang-nodejs=\"`variable`\" pulumi-lang-dotnet=\"`Variable`\" pulumi-lang-go=\"`variable`\" pulumi-lang-python=\"`variable`\" pulumi-lang-yaml=\"`variable`\" pulumi-lang-java=\"`variable`\"\u003e`variable`\u003c/span\u003e is set to `PostArgs` or `RequestHeader`. It cannot be used with `QueryString` and `RequestMethod`.\n"},"transforms":{"type":"array","items":{"type":"string"},"description":"can be set to one or more values out of `Lowercase`, `RemoveNulls`, `Trim`, `Uppercase`, `UrlDecode` and `UrlEncode`\n"},"values":{"type":"array","items":{"type":"string"},"description":"(array) can contain one or more strings.\n"},"variable":{"type":"string","description":"can be set to `IsMobile`, `RemoteAddr`, `RequestMethod`, `QueryString`, `PostArgs`, `RequestURI`, `RequestPath`, `RequestFilename`, `RequestFilenameExtension`,`RequestHeader`,`RequestBody` or `RequestScheme`.\n"}},"type":"object","required":["operator"]},"azure:hdinsight/HBaseClusterComponentVersion:HBaseClusterComponentVersion":{"properties":{"hbase":{"type":"string","description":"The version of HBase which should be used for this HDInsight HBase Cluster. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["hbase"]},"azure:hdinsight/HBaseClusterComputeIsolation:HBaseClusterComputeIsolation":{"properties":{"computeIsolationEnabled":{"type":"boolean","description":"This field indicates whether enable compute isolation or not. Possible values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"hostSku":{"type":"string","description":"The name of the host SKU.\n"}},"type":"object"},"azure:hdinsight/HBaseClusterDiskEncryption:HBaseClusterDiskEncryption":{"properties":{"encryptionAlgorithm":{"type":"string","description":"This is an algorithm identifier for encryption. Possible values are `RSA1_5`, `RSA-OAEP`, `RSA-OAEP-256`.\n"},"encryptionAtHostEnabled":{"type":"boolean","description":"This is indicator to show whether resource disk encryption is enabled.\n"},"keyVaultKeyId":{"type":"string","description":"The ID of the key vault key.\n"},"keyVaultManagedIdentityId":{"type":"string","description":"This is the resource ID of Managed Identity used to access the key vault.\n"}},"type":"object"},"azure:hdinsight/HBaseClusterExtension:HBaseClusterExtension":{"properties":{"logAnalyticsWorkspaceId":{"type":"string","description":"The workspace ID of the log analytics extension.\n"},"primaryKey":{"type":"string","description":"The workspace key of the log analytics extension.\n","secret":true}},"type":"object","required":["logAnalyticsWorkspaceId","primaryKey"]},"azure:hdinsight/HBaseClusterGateway:HBaseClusterGateway":{"properties":{"password":{"type":"string","description":"The password used for the Ambari Portal.\n\n\u003e **Note:** This password must be different from the one used for the \u003cspan pulumi-lang-nodejs=\"`headNode`\" pulumi-lang-dotnet=\"`HeadNode`\" pulumi-lang-go=\"`headNode`\" pulumi-lang-python=\"`head_node`\" pulumi-lang-yaml=\"`headNode`\" pulumi-lang-java=\"`headNode`\"\u003e`head_node`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`workerNode`\" pulumi-lang-dotnet=\"`WorkerNode`\" pulumi-lang-go=\"`workerNode`\" pulumi-lang-python=\"`worker_node`\" pulumi-lang-yaml=\"`workerNode`\" pulumi-lang-java=\"`workerNode`\"\u003e`worker_node`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`zookeeperNode`\" pulumi-lang-dotnet=\"`ZookeeperNode`\" pulumi-lang-go=\"`zookeeperNode`\" pulumi-lang-python=\"`zookeeper_node`\" pulumi-lang-yaml=\"`zookeeperNode`\" pulumi-lang-java=\"`zookeeperNode`\"\u003e`zookeeper_node`\u003c/span\u003e roles.\n","secret":true},"username":{"type":"string","description":"The username used for the Ambari Portal. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["password","username"]},"azure:hdinsight/HBaseClusterMetastores:HBaseClusterMetastores":{"properties":{"ambari":{"$ref":"#/types/azure:hdinsight/HBaseClusterMetastoresAmbari:HBaseClusterMetastoresAmbari","description":"An \u003cspan pulumi-lang-nodejs=\"`ambari`\" pulumi-lang-dotnet=\"`Ambari`\" pulumi-lang-go=\"`ambari`\" pulumi-lang-python=\"`ambari`\" pulumi-lang-yaml=\"`ambari`\" pulumi-lang-java=\"`ambari`\"\u003e`ambari`\u003c/span\u003e block as defined below.\n"},"hive":{"$ref":"#/types/azure:hdinsight/HBaseClusterMetastoresHive:HBaseClusterMetastoresHive","description":"A \u003cspan pulumi-lang-nodejs=\"`hive`\" pulumi-lang-dotnet=\"`Hive`\" pulumi-lang-go=\"`hive`\" pulumi-lang-python=\"`hive`\" pulumi-lang-yaml=\"`hive`\" pulumi-lang-java=\"`hive`\"\u003e`hive`\u003c/span\u003e block as defined below.\n"},"oozie":{"$ref":"#/types/azure:hdinsight/HBaseClusterMetastoresOozie:HBaseClusterMetastoresOozie","description":"An \u003cspan pulumi-lang-nodejs=\"`oozie`\" pulumi-lang-dotnet=\"`Oozie`\" pulumi-lang-go=\"`oozie`\" pulumi-lang-python=\"`oozie`\" pulumi-lang-yaml=\"`oozie`\" pulumi-lang-java=\"`oozie`\"\u003e`oozie`\u003c/span\u003e block as defined below.\n"}},"type":"object"},"azure:hdinsight/HBaseClusterMetastoresAmbari:HBaseClusterMetastoresAmbari":{"properties":{"databaseName":{"type":"string","description":"The external Hive metastore's existing SQL database. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"password":{"type":"string","description":"The external Ambari metastore's existing SQL server admin password. Changing this forces a new resource to be created.\n","secret":true,"willReplaceOnChanges":true},"server":{"type":"string","description":"The fully-qualified domain name (FQDN) of the SQL server to use for the external Ambari metastore. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"username":{"type":"string","description":"The external Ambari metastore's existing SQL server admin username. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["databaseName","password","server","username"]},"azure:hdinsight/HBaseClusterMetastoresHive:HBaseClusterMetastoresHive":{"properties":{"databaseName":{"type":"string","description":"The external Hive metastore's existing SQL database. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"password":{"type":"string","description":"The external Hive metastore's existing SQL server admin password. Changing this forces a new resource to be created.\n","secret":true,"willReplaceOnChanges":true},"server":{"type":"string","description":"The fully-qualified domain name (FQDN) of the SQL server to use for the external Hive metastore. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"username":{"type":"string","description":"The external Hive metastore's existing SQL server admin username. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["databaseName","password","server","username"]},"azure:hdinsight/HBaseClusterMetastoresOozie:HBaseClusterMetastoresOozie":{"properties":{"databaseName":{"type":"string","description":"The external Oozie metastore's existing SQL database. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"password":{"type":"string","description":"The external Oozie metastore's existing SQL server admin password. Changing this forces a new resource to be created.\n","secret":true,"willReplaceOnChanges":true},"server":{"type":"string","description":"The fully-qualified domain name (FQDN) of the SQL server to use for the external Oozie metastore. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"username":{"type":"string","description":"The external Oozie metastore's existing SQL server admin username. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["databaseName","password","server","username"]},"azure:hdinsight/HBaseClusterMonitor:HBaseClusterMonitor":{"properties":{"logAnalyticsWorkspaceId":{"type":"string","description":"The Operations Management Suite (OMS) workspace ID.\n"},"primaryKey":{"type":"string","description":"The Operations Management Suite (OMS) workspace key.\n","secret":true}},"type":"object","required":["logAnalyticsWorkspaceId","primaryKey"]},"azure:hdinsight/HBaseClusterNetwork:HBaseClusterNetwork":{"properties":{"connectionDirection":{"type":"string","description":"The direction of the resource provider connection. Possible values include `Inbound` or `Outbound`. Defaults to `Inbound`. Changing this forces a new resource to be created.\n\n\u003e **Note:** To enable the private link the \u003cspan pulumi-lang-nodejs=\"`connectionDirection`\" pulumi-lang-dotnet=\"`ConnectionDirection`\" pulumi-lang-go=\"`connectionDirection`\" pulumi-lang-python=\"`connection_direction`\" pulumi-lang-yaml=\"`connectionDirection`\" pulumi-lang-java=\"`connectionDirection`\"\u003e`connection_direction`\u003c/span\u003e must be set to `Outbound`.\n","willReplaceOnChanges":true},"privateLinkEnabled":{"type":"boolean","description":"Is the private link enabled? Possible values include \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"},"azure:hdinsight/HBaseClusterPrivateLinkConfiguration:HBaseClusterPrivateLinkConfiguration":{"properties":{"groupId":{"type":"string","description":"The ID of the private link service group.\n"},"ipConfiguration":{"$ref":"#/types/azure:hdinsight/HBaseClusterPrivateLinkConfigurationIpConfiguration:HBaseClusterPrivateLinkConfigurationIpConfiguration","description":"An \u003cspan pulumi-lang-nodejs=\"`ipConfiguration`\" pulumi-lang-dotnet=\"`IpConfiguration`\" pulumi-lang-go=\"`ipConfiguration`\" pulumi-lang-python=\"`ip_configuration`\" pulumi-lang-yaml=\"`ipConfiguration`\" pulumi-lang-java=\"`ipConfiguration`\"\u003e`ip_configuration`\u003c/span\u003e block as defined below.\n"},"name":{"type":"string","description":"The name of the private link configuration.\n"}},"type":"object","required":["groupId","ipConfiguration","name"]},"azure:hdinsight/HBaseClusterPrivateLinkConfigurationIpConfiguration:HBaseClusterPrivateLinkConfigurationIpConfiguration":{"properties":{"name":{"type":"string","description":"The name of the IP configuration.\n"},"primary":{"type":"boolean","description":"Indicates whether this IP configuration is primary.\n"},"privateIpAddress":{"type":"string","description":"The private IP address of the IP configuration.\n"},"privateIpAllocationMethod":{"type":"string","description":"The private IP allocation method. Possible values are `Dynamic` and `Static`.\n"},"subnetId":{"type":"string","description":"The ID of the Subnet within the Virtual Network where the IP configuration should be provisioned.\n"}},"type":"object","required":["name"]},"azure:hdinsight/HBaseClusterRoles:HBaseClusterRoles":{"properties":{"headNode":{"$ref":"#/types/azure:hdinsight/HBaseClusterRolesHeadNode:HBaseClusterRolesHeadNode","description":"A \u003cspan pulumi-lang-nodejs=\"`headNode`\" pulumi-lang-dotnet=\"`HeadNode`\" pulumi-lang-go=\"`headNode`\" pulumi-lang-python=\"`head_node`\" pulumi-lang-yaml=\"`headNode`\" pulumi-lang-java=\"`headNode`\"\u003e`head_node`\u003c/span\u003e block as defined above.\n"},"workerNode":{"$ref":"#/types/azure:hdinsight/HBaseClusterRolesWorkerNode:HBaseClusterRolesWorkerNode","description":"A \u003cspan pulumi-lang-nodejs=\"`workerNode`\" pulumi-lang-dotnet=\"`WorkerNode`\" pulumi-lang-go=\"`workerNode`\" pulumi-lang-python=\"`worker_node`\" pulumi-lang-yaml=\"`workerNode`\" pulumi-lang-java=\"`workerNode`\"\u003e`worker_node`\u003c/span\u003e block as defined below.\n"},"zookeeperNode":{"$ref":"#/types/azure:hdinsight/HBaseClusterRolesZookeeperNode:HBaseClusterRolesZookeeperNode","description":"A \u003cspan pulumi-lang-nodejs=\"`zookeeperNode`\" pulumi-lang-dotnet=\"`ZookeeperNode`\" pulumi-lang-go=\"`zookeeperNode`\" pulumi-lang-python=\"`zookeeper_node`\" pulumi-lang-yaml=\"`zookeeperNode`\" pulumi-lang-java=\"`zookeeperNode`\"\u003e`zookeeper_node`\u003c/span\u003e block as defined below.\n"}},"type":"object","required":["headNode","workerNode","zookeeperNode"]},"azure:hdinsight/HBaseClusterRolesHeadNode:HBaseClusterRolesHeadNode":{"properties":{"password":{"type":"string","description":"The Password associated with the local administrator for the Head Nodes. Changing this forces a new resource to be created.\n\n\u003e **Note:** If specified, this password must be at least 10 characters in length and must contain at least one digit, one uppercase and one lower case letter, one non-alphanumeric character (except characters ' \" ` \\).\n","secret":true,"willReplaceOnChanges":true},"scriptActions":{"type":"array","items":{"$ref":"#/types/azure:hdinsight/HBaseClusterRolesHeadNodeScriptAction:HBaseClusterRolesHeadNodeScriptAction"},"description":"The script action which will run on the cluster. One or more \u003cspan pulumi-lang-nodejs=\"`scriptActions`\" pulumi-lang-dotnet=\"`ScriptActions`\" pulumi-lang-go=\"`scriptActions`\" pulumi-lang-python=\"`script_actions`\" pulumi-lang-yaml=\"`scriptActions`\" pulumi-lang-java=\"`scriptActions`\"\u003e`script_actions`\u003c/span\u003e blocks as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sshKeys":{"type":"array","items":{"type":"string"},"description":"A list of SSH Keys which should be used for the local administrator on the Head Nodes. Changing this forces a new resource to be created.\n\n\u003e **Note:** Either a \u003cspan pulumi-lang-nodejs=\"`password`\" pulumi-lang-dotnet=\"`Password`\" pulumi-lang-go=\"`password`\" pulumi-lang-python=\"`password`\" pulumi-lang-yaml=\"`password`\" pulumi-lang-java=\"`password`\"\u003e`password`\u003c/span\u003e or one or more \u003cspan pulumi-lang-nodejs=\"`sshKeys`\" pulumi-lang-dotnet=\"`SshKeys`\" pulumi-lang-go=\"`sshKeys`\" pulumi-lang-python=\"`ssh_keys`\" pulumi-lang-yaml=\"`sshKeys`\" pulumi-lang-java=\"`sshKeys`\"\u003e`ssh_keys`\u003c/span\u003e must be specified - but not both.\n","willReplaceOnChanges":true},"subnetId":{"type":"string","description":"The ID of the Subnet within the Virtual Network where the Head Nodes should be provisioned within. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"username":{"type":"string","description":"The Username of the local administrator for the Head Nodes. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"virtualNetworkId":{"type":"string","description":"The ID of the Virtual Network where the Head Nodes should be provisioned within. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"vmSize":{"type":"string","description":"The Size of the Virtual Machine which should be used as the Head Nodes. Possible values are `ExtraSmall`, `Small`, `Medium`, `Large`, `ExtraLarge`, `A5`, `A6`, `A7`, `A8`, `A9`, `A10`, `A11`, `Standard_A1_V2`, `Standard_A2_V2`, `Standard_A2m_V2`, `Standard_A3`, `Standard_A4_V2`, `Standard_A4m_V2`, `Standard_A8_V2`, `Standard_A8m_V2`, `Standard_D1`, `Standard_D2`, `Standard_D3`, `Standard_D4`, `Standard_D11`, `Standard_D12`, `Standard_D13`, `Standard_D14`, `Standard_D1_V2`, `Standard_D2_V2`, `Standard_D3_V2`, `Standard_D4_V2`, `Standard_D5_V2`, `Standard_D11_V2`, `Standard_D12_V2`, `Standard_D13_V2`, `Standard_D14_V2`, `Standard_DS1_V2`, `Standard_DS2_V2`, `Standard_DS3_V2`, `Standard_DS4_V2`, `Standard_DS5_V2`, `Standard_DS11_V2`, `Standard_DS12_V2`, `Standard_DS13_V2`, `Standard_DS14_V2`, `Standard_E2_V3`, `Standard_E4_V3`, `Standard_E8_V3`, `Standard_E16_V3`, `Standard_E20_V3`, `Standard_E32_V3`, `Standard_E64_V3`, `Standard_E64i_V3`, `Standard_E2s_V3`, `Standard_E4s_V3`, `Standard_E8s_V3`, `Standard_E16s_V3`, `Standard_E20s_V3`, `Standard_E32s_V3`, `Standard_E64s_V3`, `Standard_E64is_V3`, `Standard_D2a_V4`, `Standard_D4a_V4`, `Standard_D8a_V4`, `Standard_D16a_V4`, `Standard_D32a_V4`, `Standard_D48a_V4`, `Standard_D64a_V4`, `Standard_D96a_V4`, `Standard_E2a_V4`, `Standard_E4a_V4`, `Standard_E8a_V4`, `Standard_E16a_V4`, `Standard_E20a_V4`, `Standard_E32a_V4`, `Standard_E48a_V4`, `Standard_E64a_V4`, `Standard_D2ads_V5`, `Standard_D4ads_V5`, `Standard_D8ads_V5`, `Standard_D16ads_V5`, `Standard_D32ads_V5`, `Standard_D48ads_V5`, `Standard_D64ads_V5`, `Standard_D96ads_V5`, `Standard_E2ads_V5`, `Standard_E4ads_V5`, `Standard_E8ads_V5`, `Standard_E16ads_V5`, `Standard_E20ads_V5`, `Standard_E32ads_V5`, `Standard_E48ads_V5`, `Standard_E64ads_V5`, `Standard_E96ads_V5`, `Standard_E96a_V4`, `Standard_G1`, `Standard_G2`, `Standard_G3`, `Standard_G4`, `Standard_G5`, `Standard_F2s_V2`, `Standard_F4s_V2`, `Standard_F8s_V2`, `Standard_F16s_V2`, `Standard_F32s_V2`, `Standard_F64s_V2`, `Standard_F72s_V2`, `Standard_GS1`, `Standard_GS2`, `Standard_GS3`, `Standard_GS4`, `Standard_GS5` and `Standard_NC24`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["username","vmSize"]},"azure:hdinsight/HBaseClusterRolesHeadNodeScriptAction:HBaseClusterRolesHeadNodeScriptAction":{"properties":{"name":{"type":"string","description":"The name of the script action.\n"},"parameters":{"type":"string","description":"The parameters for the script provided.\n"},"uri":{"type":"string","description":"The URI to the script.\n"}},"type":"object","required":["name","uri"]},"azure:hdinsight/HBaseClusterRolesWorkerNode:HBaseClusterRolesWorkerNode":{"properties":{"autoscale":{"$ref":"#/types/azure:hdinsight/HBaseClusterRolesWorkerNodeAutoscale:HBaseClusterRolesWorkerNodeAutoscale","description":"A \u003cspan pulumi-lang-nodejs=\"`autoscale`\" pulumi-lang-dotnet=\"`Autoscale`\" pulumi-lang-go=\"`autoscale`\" pulumi-lang-python=\"`autoscale`\" pulumi-lang-yaml=\"`autoscale`\" pulumi-lang-java=\"`autoscale`\"\u003e`autoscale`\u003c/span\u003e block as defined below.\n"},"password":{"type":"string","description":"The Password associated with the local administrator for the Worker Nodes. Changing this forces a new resource to be created.\n\n\u003e **Note:** If specified, this password must be at least 10 characters in length and must contain at least one digit, one uppercase and one lower case letter, one non-alphanumeric character (except characters ' \" ` \\).\n","secret":true,"willReplaceOnChanges":true},"scriptActions":{"type":"array","items":{"$ref":"#/types/azure:hdinsight/HBaseClusterRolesWorkerNodeScriptAction:HBaseClusterRolesWorkerNodeScriptAction"},"description":"The script action which will run on the cluster. One or more \u003cspan pulumi-lang-nodejs=\"`scriptActions`\" pulumi-lang-dotnet=\"`ScriptActions`\" pulumi-lang-go=\"`scriptActions`\" pulumi-lang-python=\"`script_actions`\" pulumi-lang-yaml=\"`scriptActions`\" pulumi-lang-java=\"`scriptActions`\"\u003e`script_actions`\u003c/span\u003e blocks as defined above. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sshKeys":{"type":"array","items":{"type":"string"},"description":"A list of SSH Keys which should be used for the local administrator on the Worker Nodes. Changing this forces a new resource to be created.\n\n\u003e **Note:** Either a \u003cspan pulumi-lang-nodejs=\"`password`\" pulumi-lang-dotnet=\"`Password`\" pulumi-lang-go=\"`password`\" pulumi-lang-python=\"`password`\" pulumi-lang-yaml=\"`password`\" pulumi-lang-java=\"`password`\"\u003e`password`\u003c/span\u003e or one or more \u003cspan pulumi-lang-nodejs=\"`sshKeys`\" pulumi-lang-dotnet=\"`SshKeys`\" pulumi-lang-go=\"`sshKeys`\" pulumi-lang-python=\"`ssh_keys`\" pulumi-lang-yaml=\"`sshKeys`\" pulumi-lang-java=\"`sshKeys`\"\u003e`ssh_keys`\u003c/span\u003e must be specified - but not both.\n","willReplaceOnChanges":true},"subnetId":{"type":"string","description":"The ID of the Subnet within the Virtual Network where the Worker Nodes should be provisioned within. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"targetInstanceCount":{"type":"integer","description":"The number of instances which should be run for the Worker Nodes.\n"},"username":{"type":"string","description":"The Username of the local administrator for the Worker Nodes. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"virtualNetworkId":{"type":"string","description":"The ID of the Virtual Network where the Worker Nodes should be provisioned within. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"vmSize":{"type":"string","description":"The Size of the Virtual Machine which should be used as the Worker Nodes. Possible values are `ExtraSmall`, `Small`, `Medium`, `Large`, `ExtraLarge`, `A5`, `A6`, `A7`, `A8`, `A9`, `A10`, `A11`, `Standard_A1_V2`, `Standard_A2_V2`, `Standard_A2m_V2`, `Standard_A3`, `Standard_A4_V2`, `Standard_A4m_V2`, `Standard_A8_V2`, `Standard_A8m_V2`, `Standard_D1`, `Standard_D2`, `Standard_D3`, `Standard_D4`, `Standard_D11`, `Standard_D12`, `Standard_D13`, `Standard_D14`, `Standard_D1_V2`, `Standard_D2_V2`, `Standard_D3_V2`, `Standard_D4_V2`, `Standard_D5_V2`, `Standard_D11_V2`, `Standard_D12_V2`, `Standard_D13_V2`, `Standard_D14_V2`, `Standard_DS1_V2`, `Standard_DS2_V2`, `Standard_DS3_V2`, `Standard_DS4_V2`, `Standard_DS5_V2`, `Standard_DS11_V2`, `Standard_DS12_V2`, `Standard_DS13_V2`, `Standard_DS14_V2`, `Standard_E2_V3`, `Standard_E4_V3`, `Standard_E8_V3`, `Standard_E16_V3`, `Standard_E20_V3`, `Standard_E32_V3`, `Standard_E64_V3`, `Standard_E64i_V3`, `Standard_E2s_V3`, `Standard_E4s_V3`, `Standard_E8s_V3`, `Standard_E16s_V3`, `Standard_E20s_V3`, `Standard_E32s_V3`, `Standard_E64s_V3`, `Standard_E64is_V3`, `Standard_D2a_V4`, `Standard_D4a_V4`, `Standard_D8a_V4`, `Standard_D16a_V4`, `Standard_D32a_V4`, `Standard_D48a_V4`, `Standard_D64a_V4`, `Standard_D96a_V4`, `Standard_E2a_V4`, `Standard_E4a_V4`, `Standard_E8a_V4`, `Standard_E16a_V4`, `Standard_E20a_V4`, `Standard_E32a_V4`, `Standard_E48a_V4`, `Standard_E64a_V4`, `Standard_E96a_V4`, `Standard_D2ads_V5`, `Standard_D4ads_V5`, `Standard_D8ads_V5`, `Standard_D16ads_V5`, `Standard_D32ads_V5`, `Standard_D48ads_V5`, `Standard_D64ads_V5`, `Standard_D96ads_V5`, `Standard_E2ads_V5`, `Standard_E4ads_V5`, `Standard_E8ads_V5`, `Standard_E16ads_V5`, `Standard_E20ads_V5`, `Standard_E32ads_V5`, `Standard_E48ads_V5`, `Standard_E64ads_V5`, `Standard_E96ads_V5`, `Standard_G1`, `Standard_G2`, `Standard_G3`, `Standard_G4`, `Standard_G5`, `Standard_F2s_V2`, `Standard_F4s_V2`, `Standard_F8s_V2`, `Standard_F16s_V2`, `Standard_F32s_V2`, `Standard_F64s_V2`, `Standard_F72s_V2`, `Standard_GS1`, `Standard_GS2`, `Standard_GS3`, `Standard_GS4`, `Standard_GS5` and `Standard_NC24`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["targetInstanceCount","username","vmSize"]},"azure:hdinsight/HBaseClusterRolesWorkerNodeAutoscale:HBaseClusterRolesWorkerNodeAutoscale":{"properties":{"recurrence":{"$ref":"#/types/azure:hdinsight/HBaseClusterRolesWorkerNodeAutoscaleRecurrence:HBaseClusterRolesWorkerNodeAutoscaleRecurrence","description":"A \u003cspan pulumi-lang-nodejs=\"`recurrence`\" pulumi-lang-dotnet=\"`Recurrence`\" pulumi-lang-go=\"`recurrence`\" pulumi-lang-python=\"`recurrence`\" pulumi-lang-yaml=\"`recurrence`\" pulumi-lang-java=\"`recurrence`\"\u003e`recurrence`\u003c/span\u003e block as defined below.\n\n\u003e **Note:** Either a \u003cspan pulumi-lang-nodejs=\"`capacity`\" pulumi-lang-dotnet=\"`Capacity`\" pulumi-lang-go=\"`capacity`\" pulumi-lang-python=\"`capacity`\" pulumi-lang-yaml=\"`capacity`\" pulumi-lang-java=\"`capacity`\"\u003e`capacity`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`recurrence`\" pulumi-lang-dotnet=\"`Recurrence`\" pulumi-lang-go=\"`recurrence`\" pulumi-lang-python=\"`recurrence`\" pulumi-lang-yaml=\"`recurrence`\" pulumi-lang-java=\"`recurrence`\"\u003e`recurrence`\u003c/span\u003e block must be specified - but not both.\n"}},"type":"object"},"azure:hdinsight/HBaseClusterRolesWorkerNodeAutoscaleRecurrence:HBaseClusterRolesWorkerNodeAutoscaleRecurrence":{"properties":{"schedules":{"type":"array","items":{"$ref":"#/types/azure:hdinsight/HBaseClusterRolesWorkerNodeAutoscaleRecurrenceSchedule:HBaseClusterRolesWorkerNodeAutoscaleRecurrenceSchedule"},"description":"A list of \u003cspan pulumi-lang-nodejs=\"`schedule`\" pulumi-lang-dotnet=\"`Schedule`\" pulumi-lang-go=\"`schedule`\" pulumi-lang-python=\"`schedule`\" pulumi-lang-yaml=\"`schedule`\" pulumi-lang-java=\"`schedule`\"\u003e`schedule`\u003c/span\u003e blocks as defined below.\n"},"timezone":{"type":"string","description":"The time zone for the autoscale schedule times.\n"}},"type":"object","required":["schedules","timezone"]},"azure:hdinsight/HBaseClusterRolesWorkerNodeAutoscaleRecurrenceSchedule:HBaseClusterRolesWorkerNodeAutoscaleRecurrenceSchedule":{"properties":{"days":{"type":"array","items":{"type":"string"},"description":"The days of the week to perform autoscale. Possible values are `Monday`, `Tuesday`, `Wednesday`, `Thursday`, `Friday`, `Saturday` and `Sunday`.\n"},"targetInstanceCount":{"type":"integer","description":"The number of worker nodes to autoscale at the specified time.\n"},"time":{"type":"string","description":"The time of day to perform the autoscale in 24hour format.\n"}},"type":"object","required":["days","targetInstanceCount","time"]},"azure:hdinsight/HBaseClusterRolesWorkerNodeScriptAction:HBaseClusterRolesWorkerNodeScriptAction":{"properties":{"name":{"type":"string","description":"The name of the script action.\n"},"parameters":{"type":"string","description":"The parameters for the script provided.\n"},"uri":{"type":"string","description":"The URI to the script.\n"}},"type":"object","required":["name","uri"]},"azure:hdinsight/HBaseClusterRolesZookeeperNode:HBaseClusterRolesZookeeperNode":{"properties":{"password":{"type":"string","description":"The Password associated with the local administrator for the Zookeeper Nodes. Changing this forces a new resource to be created.\n\n\u003e **Note:** If specified, this password must be at least 10 characters in length and must contain at least one digit, one uppercase and one lower case letter, one non-alphanumeric character (except characters ' \" ` \\).\n","secret":true,"willReplaceOnChanges":true},"scriptActions":{"type":"array","items":{"$ref":"#/types/azure:hdinsight/HBaseClusterRolesZookeeperNodeScriptAction:HBaseClusterRolesZookeeperNodeScriptAction"},"description":"The script action which will run on the cluster. One or more \u003cspan pulumi-lang-nodejs=\"`scriptActions`\" pulumi-lang-dotnet=\"`ScriptActions`\" pulumi-lang-go=\"`scriptActions`\" pulumi-lang-python=\"`script_actions`\" pulumi-lang-yaml=\"`scriptActions`\" pulumi-lang-java=\"`scriptActions`\"\u003e`script_actions`\u003c/span\u003e blocks as defined above. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sshKeys":{"type":"array","items":{"type":"string"},"description":"A list of SSH Keys which should be used for the local administrator on the Zookeeper Nodes. Changing this forces a new resource to be created.\n\n\u003e **Note:** Either a \u003cspan pulumi-lang-nodejs=\"`password`\" pulumi-lang-dotnet=\"`Password`\" pulumi-lang-go=\"`password`\" pulumi-lang-python=\"`password`\" pulumi-lang-yaml=\"`password`\" pulumi-lang-java=\"`password`\"\u003e`password`\u003c/span\u003e or one or more \u003cspan pulumi-lang-nodejs=\"`sshKeys`\" pulumi-lang-dotnet=\"`SshKeys`\" pulumi-lang-go=\"`sshKeys`\" pulumi-lang-python=\"`ssh_keys`\" pulumi-lang-yaml=\"`sshKeys`\" pulumi-lang-java=\"`sshKeys`\"\u003e`ssh_keys`\u003c/span\u003e must be specified - but not both.\n","willReplaceOnChanges":true},"subnetId":{"type":"string","description":"The ID of the Subnet within the Virtual Network where the Zookeeper Nodes should be provisioned within. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"username":{"type":"string","description":"The Username of the local administrator for the Zookeeper Nodes. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"virtualNetworkId":{"type":"string","description":"The ID of the Virtual Network where the Zookeeper Nodes should be provisioned within. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"vmSize":{"type":"string","description":"The Size of the Virtual Machine which should be used as the Zookeeper Nodes. Possible values are `ExtraSmall`, `Small`, `Medium`, `Large`, `ExtraLarge`, `A5`, `A6`, `A7`, `A8`, `A9`, `A10`, `A11`, `Standard_A1_V2`, `Standard_A2_V2`, `Standard_A2m_V2`, `Standard_A3`, `Standard_A4_V2`, `Standard_A4m_V2`, `Standard_A8_V2`, `Standard_A8m_V2`, `Standard_D1`, `Standard_D2`, `Standard_D3`, `Standard_D4`, `Standard_D11`, `Standard_D12`, `Standard_D13`, `Standard_D14`, `Standard_D1_V2`, `Standard_D2_V2`, `Standard_D3_V2`, `Standard_D4_V2`, `Standard_D5_V2`, `Standard_D11_V2`, `Standard_D12_V2`, `Standard_D13_V2`, `Standard_D14_V2`, `Standard_DS1_V2`, `Standard_DS2_V2`, `Standard_DS3_V2`, `Standard_DS4_V2`, `Standard_DS5_V2`, `Standard_DS11_V2`, `Standard_DS12_V2`, `Standard_DS13_V2`, `Standard_DS14_V2`, `Standard_E2_V3`, `Standard_E4_V3`, `Standard_E8_V3`, `Standard_E16_V3`, `Standard_E20_V3`, `Standard_E32_V3`, `Standard_E64_V3`, `Standard_E64i_V3`, `Standard_E2s_V3`, `Standard_E4s_V3`, `Standard_E8s_V3`, `Standard_E16s_V3`, `Standard_E20s_V3`, `Standard_E32s_V3`, `Standard_E64s_V3`, `Standard_E64is_V3`, `Standard_D2a_V4`, `Standard_D4a_V4`, `Standard_D8a_V4`, `Standard_D16a_V4`, `Standard_D32a_V4`, `Standard_D48a_V4`, `Standard_D64a_V4`, `Standard_D96a_V4`, `Standard_E2a_V4`, `Standard_E4a_V4`, `Standard_E8a_V4`, `Standard_E16a_V4`, `Standard_E20a_V4`, `Standard_E32a_V4`, `Standard_E48a_V4`, `Standard_E64a_V4`, `Standard_E96a_V4`, `Standard_D2ads_V5`, `Standard_D4ads_V5`, `Standard_D8ads_V5`, `Standard_D16ads_V5`, `Standard_D32ads_V5`, `Standard_D48ads_V5`, `Standard_D64ads_V5`, `Standard_D96ads_V5`, `Standard_E2ads_V5`, `Standard_E4ads_V5`, `Standard_E8ads_V5`, `Standard_E16ads_V5`, `Standard_E20ads_V5`, `Standard_E32ads_V5`, `Standard_E48ads_V5`, `Standard_E64ads_V5`, `Standard_E96ads_V5`, `Standard_G1`, `Standard_G2`, `Standard_G3`, `Standard_G4`, `Standard_G5`, `Standard_F2s_V2`, `Standard_F4s_V2`, `Standard_F8s_V2`, `Standard_F16s_V2`, `Standard_F32s_V2`, `Standard_F64s_V2`, `Standard_F72s_V2`, `Standard_GS1`, `Standard_GS2`, `Standard_GS3`, `Standard_GS4`, `Standard_GS5` and `Standard_NC24`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["username","vmSize"]},"azure:hdinsight/HBaseClusterRolesZookeeperNodeScriptAction:HBaseClusterRolesZookeeperNodeScriptAction":{"properties":{"name":{"type":"string","description":"The name of the script action.\n"},"parameters":{"type":"string","description":"The parameters for the script provided.\n"},"uri":{"type":"string","description":"The URI to the script.\n"}},"type":"object","required":["name","uri"]},"azure:hdinsight/HBaseClusterSecurityProfile:HBaseClusterSecurityProfile":{"properties":{"aaddsResourceId":{"type":"string","description":"The resource ID of the Azure Active Directory Domain Service. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"clusterUsersGroupDns":{"type":"array","items":{"type":"string"},"description":"A list of the distinguished names for the cluster user groups. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"domainName":{"type":"string","description":"The name of the Azure Active Directory Domain. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"domainUserPassword":{"type":"string","description":"The user password of the Azure Active Directory Domain. Changing this forces a new resource to be created.\n","secret":true,"willReplaceOnChanges":true},"domainUsername":{"type":"string","description":"The username of the Azure Active Directory Domain. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"ldapsUrls":{"type":"array","items":{"type":"string"},"description":"A list of the LDAPS URLs to communicate with the Azure Active Directory. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"msiResourceId":{"type":"string","description":"The User Assigned Identity for the HDInsight Cluster. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["aaddsResourceId","domainName","domainUserPassword","domainUsername","ldapsUrls","msiResourceId"]},"azure:hdinsight/HBaseClusterStorageAccount:HBaseClusterStorageAccount":{"properties":{"isDefault":{"type":"boolean","description":"Is this the Default Storage Account for the HDInsight Hadoop Cluster? Changing this forces a new resource to be created.\n\n\u003e **Note:** One of the \u003cspan pulumi-lang-nodejs=\"`storageAccount`\" pulumi-lang-dotnet=\"`StorageAccount`\" pulumi-lang-go=\"`storageAccount`\" pulumi-lang-python=\"`storage_account`\" pulumi-lang-yaml=\"`storageAccount`\" pulumi-lang-java=\"`storageAccount`\"\u003e`storage_account`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`storageAccountGen2`\" pulumi-lang-dotnet=\"`StorageAccountGen2`\" pulumi-lang-go=\"`storageAccountGen2`\" pulumi-lang-python=\"`storage_account_gen2`\" pulumi-lang-yaml=\"`storageAccountGen2`\" pulumi-lang-java=\"`storageAccountGen2`\"\u003e`storage_account_gen2`\u003c/span\u003e blocks must be marked as the default.\n","willReplaceOnChanges":true},"storageAccountKey":{"type":"string","description":"The Access Key which should be used to connect to the Storage Account. Changing this forces a new resource to be created.\n","secret":true,"willReplaceOnChanges":true},"storageContainerId":{"type":"string","description":"The ID of the Storage Container. Changing this forces a new resource to be created.\n\n\u003e **Note:** When the \u003cspan pulumi-lang-nodejs=\"`azure.storage.Container`\" pulumi-lang-dotnet=\"`azure.storage.Container`\" pulumi-lang-go=\"`storage.Container`\" pulumi-lang-python=\"`storage.Container`\" pulumi-lang-yaml=\"`azure.storage.Container`\" pulumi-lang-java=\"`azure.storage.Container`\"\u003e`azure.storage.Container`\u003c/span\u003e resource is created with \u003cspan pulumi-lang-nodejs=\"`storageAccountName`\" pulumi-lang-dotnet=\"`StorageAccountName`\" pulumi-lang-go=\"`storageAccountName`\" pulumi-lang-python=\"`storage_account_name`\" pulumi-lang-yaml=\"`storageAccountName`\" pulumi-lang-java=\"`storageAccountName`\"\u003e`storage_account_name`\u003c/span\u003e, this can be obtained from the \u003cspan pulumi-lang-nodejs=\"`id`\" pulumi-lang-dotnet=\"`Id`\" pulumi-lang-go=\"`id`\" pulumi-lang-python=\"`id`\" pulumi-lang-yaml=\"`id`\" pulumi-lang-java=\"`id`\"\u003e`id`\u003c/span\u003e of the \u003cspan pulumi-lang-nodejs=\"`azure.storage.Container`\" pulumi-lang-dotnet=\"`azure.storage.Container`\" pulumi-lang-go=\"`storage.Container`\" pulumi-lang-python=\"`storage.Container`\" pulumi-lang-yaml=\"`azure.storage.Container`\" pulumi-lang-java=\"`azure.storage.Container`\"\u003e`azure.storage.Container`\u003c/span\u003e resource. When the \u003cspan pulumi-lang-nodejs=\"`azure.storage.Container`\" pulumi-lang-dotnet=\"`azure.storage.Container`\" pulumi-lang-go=\"`storage.Container`\" pulumi-lang-python=\"`storage.Container`\" pulumi-lang-yaml=\"`azure.storage.Container`\" pulumi-lang-java=\"`azure.storage.Container`\"\u003e`azure.storage.Container`\u003c/span\u003e resource is created with \u003cspan pulumi-lang-nodejs=\"`storageAccountId`\" pulumi-lang-dotnet=\"`StorageAccountId`\" pulumi-lang-go=\"`storageAccountId`\" pulumi-lang-python=\"`storage_account_id`\" pulumi-lang-yaml=\"`storageAccountId`\" pulumi-lang-java=\"`storageAccountId`\"\u003e`storage_account_id`\u003c/span\u003e, please use \u003cspan pulumi-lang-nodejs=\"`azure.storage.getContainers`\" pulumi-lang-dotnet=\"`azure.storage.getContainers`\" pulumi-lang-go=\"`storage.getContainers`\" pulumi-lang-python=\"`storage_get_containers`\" pulumi-lang-yaml=\"`azure.storage.getContainers`\" pulumi-lang-java=\"`azure.storage.getContainers`\"\u003e`azure.storage.getContainers`\u003c/span\u003e data source to get the \u003cspan pulumi-lang-nodejs=\"`dataPlaneId`\" pulumi-lang-dotnet=\"`DataPlaneId`\" pulumi-lang-go=\"`dataPlaneId`\" pulumi-lang-python=\"`data_plane_id`\" pulumi-lang-yaml=\"`dataPlaneId`\" pulumi-lang-java=\"`dataPlaneId`\"\u003e`data_plane_id`\u003c/span\u003e of the \u003cspan pulumi-lang-nodejs=\"`azure.storage.Container`\" pulumi-lang-dotnet=\"`azure.storage.Container`\" pulumi-lang-go=\"`storage.Container`\" pulumi-lang-python=\"`storage.Container`\" pulumi-lang-yaml=\"`azure.storage.Container`\" pulumi-lang-java=\"`azure.storage.Container`\"\u003e`azure.storage.Container`\u003c/span\u003e resource for this field.\n","willReplaceOnChanges":true},"storageResourceId":{"type":"string","description":"The ID of the Storage Account. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["isDefault","storageAccountKey","storageContainerId"]},"azure:hdinsight/HBaseClusterStorageAccountGen2:HBaseClusterStorageAccountGen2":{"properties":{"filesystemId":{"type":"string","description":"The ID of the Gen2 Filesystem. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"isDefault":{"type":"boolean","description":"Is this the Default Storage Account for the HDInsight Hadoop Cluster? Changing this forces a new resource to be created.\n\n\u003e **Note:** One of the \u003cspan pulumi-lang-nodejs=\"`storageAccount`\" pulumi-lang-dotnet=\"`StorageAccount`\" pulumi-lang-go=\"`storageAccount`\" pulumi-lang-python=\"`storage_account`\" pulumi-lang-yaml=\"`storageAccount`\" pulumi-lang-java=\"`storageAccount`\"\u003e`storage_account`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`storageAccountGen2`\" pulumi-lang-dotnet=\"`StorageAccountGen2`\" pulumi-lang-go=\"`storageAccountGen2`\" pulumi-lang-python=\"`storage_account_gen2`\" pulumi-lang-yaml=\"`storageAccountGen2`\" pulumi-lang-java=\"`storageAccountGen2`\"\u003e`storage_account_gen2`\u003c/span\u003e blocks must be marked as the default.\n","willReplaceOnChanges":true},"managedIdentityResourceId":{"type":"string","description":"The ID of Managed Identity to use for accessing the Gen2 filesystem. Changing this forces a new resource to be created.\n\n\u003e **Note:** This can be obtained from the \u003cspan pulumi-lang-nodejs=\"`id`\" pulumi-lang-dotnet=\"`Id`\" pulumi-lang-go=\"`id`\" pulumi-lang-python=\"`id`\" pulumi-lang-yaml=\"`id`\" pulumi-lang-java=\"`id`\"\u003e`id`\u003c/span\u003e of the \u003cspan pulumi-lang-nodejs=\"`azure.storage.Container`\" pulumi-lang-dotnet=\"`azure.storage.Container`\" pulumi-lang-go=\"`storage.Container`\" pulumi-lang-python=\"`storage.Container`\" pulumi-lang-yaml=\"`azure.storage.Container`\" pulumi-lang-java=\"`azure.storage.Container`\"\u003e`azure.storage.Container`\u003c/span\u003e resource.\n","willReplaceOnChanges":true},"storageResourceId":{"type":"string","description":"The ID of the Storage Account. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["filesystemId","isDefault","managedIdentityResourceId","storageResourceId"]},"azure:hdinsight/HadoopClusterComponentVersion:HadoopClusterComponentVersion":{"properties":{"hadoop":{"type":"string","description":"The version of Hadoop which should be used for this HDInsight Hadoop Cluster. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["hadoop"]},"azure:hdinsight/HadoopClusterComputeIsolation:HadoopClusterComputeIsolation":{"properties":{"computeIsolationEnabled":{"type":"boolean","description":"This field indicates whether enable compute isolation or not. Possible values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"hostSku":{"type":"string","description":"The name of the host SKU.\n"}},"type":"object"},"azure:hdinsight/HadoopClusterDiskEncryption:HadoopClusterDiskEncryption":{"properties":{"encryptionAlgorithm":{"type":"string","description":"This is an algorithm identifier for encryption. Possible values are `RSA1_5`, `RSA-OAEP`, `RSA-OAEP-256`.\n"},"encryptionAtHostEnabled":{"type":"boolean","description":"This is indicator to show whether resource disk encryption is enabled.\n"},"keyVaultKeyId":{"type":"string","description":"The ID of the key vault key.\n"},"keyVaultManagedIdentityId":{"type":"string","description":"This is the resource ID of Managed Identity used to access the key vault.\n"}},"type":"object"},"azure:hdinsight/HadoopClusterExtension:HadoopClusterExtension":{"properties":{"logAnalyticsWorkspaceId":{"type":"string","description":"The workspace ID of the log analytics extension.\n"},"primaryKey":{"type":"string","description":"The workspace key of the log analytics extension.\n","secret":true}},"type":"object","required":["logAnalyticsWorkspaceId","primaryKey"]},"azure:hdinsight/HadoopClusterGateway:HadoopClusterGateway":{"properties":{"password":{"type":"string","description":"The password used for the Ambari Portal.\n\n\u003e **Note:** This password must be different from the one used for the \u003cspan pulumi-lang-nodejs=\"`headNode`\" pulumi-lang-dotnet=\"`HeadNode`\" pulumi-lang-go=\"`headNode`\" pulumi-lang-python=\"`head_node`\" pulumi-lang-yaml=\"`headNode`\" pulumi-lang-java=\"`headNode`\"\u003e`head_node`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`workerNode`\" pulumi-lang-dotnet=\"`WorkerNode`\" pulumi-lang-go=\"`workerNode`\" pulumi-lang-python=\"`worker_node`\" pulumi-lang-yaml=\"`workerNode`\" pulumi-lang-java=\"`workerNode`\"\u003e`worker_node`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`zookeeperNode`\" pulumi-lang-dotnet=\"`ZookeeperNode`\" pulumi-lang-go=\"`zookeeperNode`\" pulumi-lang-python=\"`zookeeper_node`\" pulumi-lang-yaml=\"`zookeeperNode`\" pulumi-lang-java=\"`zookeeperNode`\"\u003e`zookeeper_node`\u003c/span\u003e roles.\n","secret":true},"username":{"type":"string","description":"The username used for the Ambari Portal. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["password","username"]},"azure:hdinsight/HadoopClusterMetastores:HadoopClusterMetastores":{"properties":{"ambari":{"$ref":"#/types/azure:hdinsight/HadoopClusterMetastoresAmbari:HadoopClusterMetastoresAmbari","description":"An \u003cspan pulumi-lang-nodejs=\"`ambari`\" pulumi-lang-dotnet=\"`Ambari`\" pulumi-lang-go=\"`ambari`\" pulumi-lang-python=\"`ambari`\" pulumi-lang-yaml=\"`ambari`\" pulumi-lang-java=\"`ambari`\"\u003e`ambari`\u003c/span\u003e block as defined below.\n"},"hive":{"$ref":"#/types/azure:hdinsight/HadoopClusterMetastoresHive:HadoopClusterMetastoresHive","description":"A \u003cspan pulumi-lang-nodejs=\"`hive`\" pulumi-lang-dotnet=\"`Hive`\" pulumi-lang-go=\"`hive`\" pulumi-lang-python=\"`hive`\" pulumi-lang-yaml=\"`hive`\" pulumi-lang-java=\"`hive`\"\u003e`hive`\u003c/span\u003e block as defined below.\n"},"oozie":{"$ref":"#/types/azure:hdinsight/HadoopClusterMetastoresOozie:HadoopClusterMetastoresOozie","description":"An \u003cspan pulumi-lang-nodejs=\"`oozie`\" pulumi-lang-dotnet=\"`Oozie`\" pulumi-lang-go=\"`oozie`\" pulumi-lang-python=\"`oozie`\" pulumi-lang-yaml=\"`oozie`\" pulumi-lang-java=\"`oozie`\"\u003e`oozie`\u003c/span\u003e block as defined below.\n"}},"type":"object"},"azure:hdinsight/HadoopClusterMetastoresAmbari:HadoopClusterMetastoresAmbari":{"properties":{"databaseName":{"type":"string","description":"The external Hive metastore's existing SQL database. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"password":{"type":"string","description":"The external Ambari metastore's existing SQL server admin password. Changing this forces a new resource to be created.\n","secret":true,"willReplaceOnChanges":true},"server":{"type":"string","description":"The fully-qualified domain name (FQDN) of the SQL server to use for the external Ambari metastore. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"username":{"type":"string","description":"The external Ambari metastore's existing SQL server admin username. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["databaseName","password","server","username"]},"azure:hdinsight/HadoopClusterMetastoresHive:HadoopClusterMetastoresHive":{"properties":{"databaseName":{"type":"string","description":"The external Hive metastore's existing SQL database. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"password":{"type":"string","description":"The external Hive metastore's existing SQL server admin password. Changing this forces a new resource to be created.\n","secret":true,"willReplaceOnChanges":true},"server":{"type":"string","description":"The fully-qualified domain name (FQDN) of the SQL server to use for the external Hive metastore. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"username":{"type":"string","description":"The external Hive metastore's existing SQL server admin username. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["databaseName","password","server","username"]},"azure:hdinsight/HadoopClusterMetastoresOozie:HadoopClusterMetastoresOozie":{"properties":{"databaseName":{"type":"string","description":"The external Oozie metastore's existing SQL database. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"password":{"type":"string","description":"The external Oozie metastore's existing SQL server admin password. Changing this forces a new resource to be created.\n","secret":true,"willReplaceOnChanges":true},"server":{"type":"string","description":"The fully-qualified domain name (FQDN) of the SQL server to use for the external Oozie metastore. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"username":{"type":"string","description":"The external Oozie metastore's existing SQL server admin username. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["databaseName","password","server","username"]},"azure:hdinsight/HadoopClusterMonitor:HadoopClusterMonitor":{"properties":{"logAnalyticsWorkspaceId":{"type":"string","description":"The Operations Management Suite (OMS) workspace ID.\n"},"primaryKey":{"type":"string","description":"The Operations Management Suite (OMS) workspace key.\n","secret":true}},"type":"object","required":["logAnalyticsWorkspaceId","primaryKey"]},"azure:hdinsight/HadoopClusterNetwork:HadoopClusterNetwork":{"properties":{"connectionDirection":{"type":"string","description":"The direction of the resource provider connection. Possible values include `Inbound` or `Outbound`. Defaults to `Inbound`. Changing this forces a new resource to be created.\n\n\u003e **Note:** To enabled the private link the \u003cspan pulumi-lang-nodejs=\"`connectionDirection`\" pulumi-lang-dotnet=\"`ConnectionDirection`\" pulumi-lang-go=\"`connectionDirection`\" pulumi-lang-python=\"`connection_direction`\" pulumi-lang-yaml=\"`connectionDirection`\" pulumi-lang-java=\"`connectionDirection`\"\u003e`connection_direction`\u003c/span\u003e must be set to `Outbound`.\n","willReplaceOnChanges":true},"privateLinkEnabled":{"type":"boolean","description":"Is the private link enabled? Possible values include \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"},"azure:hdinsight/HadoopClusterPrivateLinkConfiguration:HadoopClusterPrivateLinkConfiguration":{"properties":{"groupId":{"type":"string","description":"The ID of the private link service group.\n"},"ipConfiguration":{"$ref":"#/types/azure:hdinsight/HadoopClusterPrivateLinkConfigurationIpConfiguration:HadoopClusterPrivateLinkConfigurationIpConfiguration","description":"An \u003cspan pulumi-lang-nodejs=\"`ipConfiguration`\" pulumi-lang-dotnet=\"`IpConfiguration`\" pulumi-lang-go=\"`ipConfiguration`\" pulumi-lang-python=\"`ip_configuration`\" pulumi-lang-yaml=\"`ipConfiguration`\" pulumi-lang-java=\"`ipConfiguration`\"\u003e`ip_configuration`\u003c/span\u003e block as defined below.\n"},"name":{"type":"string","description":"The name of the private link configuration.\n"}},"type":"object","required":["groupId","ipConfiguration","name"]},"azure:hdinsight/HadoopClusterPrivateLinkConfigurationIpConfiguration:HadoopClusterPrivateLinkConfigurationIpConfiguration":{"properties":{"name":{"type":"string","description":"The name of the IP configuration.\n"},"primary":{"type":"boolean","description":"Indicates whether this IP configuration is primary.\n"},"privateIpAddress":{"type":"string","description":"The private IP address of the IP configuration.\n"},"privateIpAllocationMethod":{"type":"string","description":"The private IP allocation method. Possible values are `Dynamic` and `Static`.\n"},"subnetId":{"type":"string","description":"The ID of the Subnet within the Virtual Network where the IP configuration should be provisioned.\n"}},"type":"object","required":["name"]},"azure:hdinsight/HadoopClusterRoles:HadoopClusterRoles":{"properties":{"edgeNode":{"$ref":"#/types/azure:hdinsight/HadoopClusterRolesEdgeNode:HadoopClusterRolesEdgeNode","description":"A \u003cspan pulumi-lang-nodejs=\"`edgeNode`\" pulumi-lang-dotnet=\"`EdgeNode`\" pulumi-lang-go=\"`edgeNode`\" pulumi-lang-python=\"`edge_node`\" pulumi-lang-yaml=\"`edgeNode`\" pulumi-lang-java=\"`edgeNode`\"\u003e`edge_node`\u003c/span\u003e block as defined below.\n"},"headNode":{"$ref":"#/types/azure:hdinsight/HadoopClusterRolesHeadNode:HadoopClusterRolesHeadNode","description":"A \u003cspan pulumi-lang-nodejs=\"`headNode`\" pulumi-lang-dotnet=\"`HeadNode`\" pulumi-lang-go=\"`headNode`\" pulumi-lang-python=\"`head_node`\" pulumi-lang-yaml=\"`headNode`\" pulumi-lang-java=\"`headNode`\"\u003e`head_node`\u003c/span\u003e block as defined above.\n"},"workerNode":{"$ref":"#/types/azure:hdinsight/HadoopClusterRolesWorkerNode:HadoopClusterRolesWorkerNode","description":"A \u003cspan pulumi-lang-nodejs=\"`workerNode`\" pulumi-lang-dotnet=\"`WorkerNode`\" pulumi-lang-go=\"`workerNode`\" pulumi-lang-python=\"`worker_node`\" pulumi-lang-yaml=\"`workerNode`\" pulumi-lang-java=\"`workerNode`\"\u003e`worker_node`\u003c/span\u003e block as defined below.\n"},"zookeeperNode":{"$ref":"#/types/azure:hdinsight/HadoopClusterRolesZookeeperNode:HadoopClusterRolesZookeeperNode","description":"A \u003cspan pulumi-lang-nodejs=\"`zookeeperNode`\" pulumi-lang-dotnet=\"`ZookeeperNode`\" pulumi-lang-go=\"`zookeeperNode`\" pulumi-lang-python=\"`zookeeper_node`\" pulumi-lang-yaml=\"`zookeeperNode`\" pulumi-lang-java=\"`zookeeperNode`\"\u003e`zookeeper_node`\u003c/span\u003e block as defined below.\n"}},"type":"object","required":["headNode","workerNode","zookeeperNode"]},"azure:hdinsight/HadoopClusterRolesEdgeNode:HadoopClusterRolesEdgeNode":{"properties":{"httpsEndpoints":{"type":"array","items":{"$ref":"#/types/azure:hdinsight/HadoopClusterRolesEdgeNodeHttpsEndpoint:HadoopClusterRolesEdgeNodeHttpsEndpoint"},"description":"The HTTPS Connectivity Endpoint for this HDInsight Hadoop Cluster. One or more \u003cspan pulumi-lang-nodejs=\"`httpsEndpoints`\" pulumi-lang-dotnet=\"`HttpsEndpoints`\" pulumi-lang-go=\"`httpsEndpoints`\" pulumi-lang-python=\"`https_endpoints`\" pulumi-lang-yaml=\"`httpsEndpoints`\" pulumi-lang-java=\"`httpsEndpoints`\"\u003e`https_endpoints`\u003c/span\u003e blocks as defined below.\n"},"installScriptActions":{"type":"array","items":{"$ref":"#/types/azure:hdinsight/HadoopClusterRolesEdgeNodeInstallScriptAction:HadoopClusterRolesEdgeNodeInstallScriptAction"},"description":"A \u003cspan pulumi-lang-nodejs=\"`installScriptAction`\" pulumi-lang-dotnet=\"`InstallScriptAction`\" pulumi-lang-go=\"`installScriptAction`\" pulumi-lang-python=\"`install_script_action`\" pulumi-lang-yaml=\"`installScriptAction`\" pulumi-lang-java=\"`installScriptAction`\"\u003e`install_script_action`\u003c/span\u003e block as defined below.\n"},"targetInstanceCount":{"type":"integer","description":"The number of instances which should be run for the Worker Nodes.\n"},"uninstallScriptActions":{"type":"array","items":{"$ref":"#/types/azure:hdinsight/HadoopClusterRolesEdgeNodeUninstallScriptAction:HadoopClusterRolesEdgeNodeUninstallScriptAction"},"description":"A \u003cspan pulumi-lang-nodejs=\"`uninstallScriptActions`\" pulumi-lang-dotnet=\"`UninstallScriptActions`\" pulumi-lang-go=\"`uninstallScriptActions`\" pulumi-lang-python=\"`uninstall_script_actions`\" pulumi-lang-yaml=\"`uninstallScriptActions`\" pulumi-lang-java=\"`uninstallScriptActions`\"\u003e`uninstall_script_actions`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"vmSize":{"type":"string","description":"The Size of the Virtual Machine which should be used as the Edge Nodes. Possible values are `ExtraSmall`, `Small`, `Medium`, `Large`, `ExtraLarge`, `A5`, `A6`, `A7`, `A8`, `A9`, `A10`, `A11`, `Standard_A1_V2`, `Standard_A2_V2`, `Standard_A2m_V2`, `Standard_A3`, `Standard_A4_V2`, `Standard_A4m_V2`, `Standard_A8_V2`, `Standard_A8m_V2`, `Standard_D1`, `Standard_D2`, `Standard_D3`, `Standard_D4`, `Standard_D11`, `Standard_D12`, `Standard_D13`, `Standard_D14`, `Standard_D1_V2`, `Standard_D2_V2`, `Standard_D3_V2`, `Standard_D4_V2`, `Standard_D5_V2`, `Standard_D11_V2`, `Standard_D12_V2`, `Standard_D13_V2`, `Standard_D14_V2`, `Standard_DS1_V2`, `Standard_DS2_V2`, `Standard_DS3_V2`, `Standard_DS4_V2`, `Standard_DS5_V2`, `Standard_DS11_V2`, `Standard_DS12_V2`, `Standard_DS13_V2`, `Standard_DS14_V2`, `Standard_E2_V3`, `Standard_E4_V3`, `Standard_E8_V3`, `Standard_E16_V3`, `Standard_E20_V3`, `Standard_E32_V3`, `Standard_E64_V3`, `Standard_E64i_V3`, `Standard_E2s_V3`, `Standard_E4s_V3`, `Standard_E8s_V3`, `Standard_E16s_V3`, `Standard_E20s_V3`, `Standard_E32s_V3`, `Standard_E64s_V3`, `Standard_E64is_V3`, `Standard_D2a_V4`, `Standard_D4a_V4`, `Standard_D8a_V4`, `Standard_D16a_V4`, `Standard_D32a_V4`, `Standard_D48a_V4`, `Standard_D64a_V4`, `Standard_D96a_V4`, `Standard_E2a_V4`, `Standard_E4a_V4`, `Standard_E8a_V4`, `Standard_E16a_V4`, `Standard_E20a_V4`, `Standard_E32a_V4`, `Standard_E48a_V4`, `Standard_E64a_V4`, `Standard_E96a_V4`, `Standard_D2ads_V5`, `Standard_D4ads_V5`, `Standard_D8ads_V5`, `Standard_D16ads_V5`, `Standard_D32ads_V5`, `Standard_D48ads_V5`, `Standard_D64ads_V5`, `Standard_D96ads_V5`, `Standard_E2ads_V5`, `Standard_E4ads_V5`, `Standard_E8ads_V5`, `Standard_E16ads_V5`, `Standard_E20ads_V5`, `Standard_E32ads_V5`, `Standard_E48ads_V5`, `Standard_E64ads_V5`, `Standard_E96ads_V5`, `Standard_G1`, `Standard_G2`, `Standard_G3`, `Standard_G4`, `Standard_G5`, `Standard_F2s_V2`, `Standard_F4s_V2`, `Standard_F8s_V2`, `Standard_F16s_V2`, `Standard_F32s_V2`, `Standard_F64s_V2`, `Standard_F72s_V2`, `Standard_GS1`, `Standard_GS2`, `Standard_GS3`, `Standard_GS4`, `Standard_GS5` and `Standard_NC24`.\n"}},"type":"object","required":["installScriptActions","targetInstanceCount","vmSize"]},"azure:hdinsight/HadoopClusterRolesEdgeNodeHttpsEndpoint:HadoopClusterRolesEdgeNodeHttpsEndpoint":{"properties":{"accessModes":{"type":"array","items":{"type":"string"},"description":"A list of access modes for the application.\n"},"destinationPort":{"type":"integer","description":"The destination port to connect to.\n"},"disableGatewayAuth":{"type":"boolean","description":"The value indicates whether the gateway authentication is enabled or not.\n"},"privateIpAddress":{"type":"string","description":"The private ip address of the endpoint.\n"},"subDomainSuffix":{"type":"string","description":"The application's subdomain suffix.\n"}},"type":"object"},"azure:hdinsight/HadoopClusterRolesEdgeNodeInstallScriptAction:HadoopClusterRolesEdgeNodeInstallScriptAction":{"properties":{"name":{"type":"string","description":"The name of the install script action.\n"},"parameters":{"type":"string","description":"The parameters for the script.\n"},"uri":{"type":"string","description":"The URI pointing to the script to run during the installation of the edge node.\n"}},"type":"object","required":["name","uri"]},"azure:hdinsight/HadoopClusterRolesEdgeNodeUninstallScriptAction:HadoopClusterRolesEdgeNodeUninstallScriptAction":{"properties":{"name":{"type":"string","description":"The name of the uninstall script action.\n"},"parameters":{"type":"string","description":"The parameters for the script.\n"},"uri":{"type":"string","description":"The URI pointing to the script to run during the installation of the edge node.\n"}},"type":"object","required":["name","uri"]},"azure:hdinsight/HadoopClusterRolesHeadNode:HadoopClusterRolesHeadNode":{"properties":{"password":{"type":"string","description":"The Password associated with the local administrator for the Head Nodes. Changing this forces a new resource to be created.\n\n\u003e **Note:** If specified, this password must be at least 10 characters in length and must contain at least one digit, one uppercase and one lower case letter, one non-alphanumeric character (except characters ' \" ` \\).\n","secret":true,"willReplaceOnChanges":true},"scriptActions":{"type":"array","items":{"$ref":"#/types/azure:hdinsight/HadoopClusterRolesHeadNodeScriptAction:HadoopClusterRolesHeadNodeScriptAction"},"description":"The script action which will run on the cluster. One or more \u003cspan pulumi-lang-nodejs=\"`scriptActions`\" pulumi-lang-dotnet=\"`ScriptActions`\" pulumi-lang-go=\"`scriptActions`\" pulumi-lang-python=\"`script_actions`\" pulumi-lang-yaml=\"`scriptActions`\" pulumi-lang-java=\"`scriptActions`\"\u003e`script_actions`\u003c/span\u003e blocks as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sshKeys":{"type":"array","items":{"type":"string"},"description":"A list of SSH Keys which should be used for the local administrator on the Head Nodes. Changing this forces a new resource to be created.\n\n\u003e **Note:** Either a \u003cspan pulumi-lang-nodejs=\"`password`\" pulumi-lang-dotnet=\"`Password`\" pulumi-lang-go=\"`password`\" pulumi-lang-python=\"`password`\" pulumi-lang-yaml=\"`password`\" pulumi-lang-java=\"`password`\"\u003e`password`\u003c/span\u003e or one or more \u003cspan pulumi-lang-nodejs=\"`sshKeys`\" pulumi-lang-dotnet=\"`SshKeys`\" pulumi-lang-go=\"`sshKeys`\" pulumi-lang-python=\"`ssh_keys`\" pulumi-lang-yaml=\"`sshKeys`\" pulumi-lang-java=\"`sshKeys`\"\u003e`ssh_keys`\u003c/span\u003e must be specified - but not both.\n","willReplaceOnChanges":true},"subnetId":{"type":"string","description":"The ID of the Subnet within the Virtual Network where the Head Nodes should be provisioned within. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"username":{"type":"string","description":"The Username of the local administrator for the Head Nodes. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"virtualNetworkId":{"type":"string","description":"The ID of the Virtual Network where the Head Nodes should be provisioned within. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"vmSize":{"type":"string","description":"The Size of the Virtual Machine which should be used as the Head Nodes. Possible values are `ExtraSmall`, `Small`, `Medium`, `Large`, `ExtraLarge`, `A5`, `A6`, `A7`, `A8`, `A9`, `A10`, `A11`, `Standard_A1_V2`, `Standard_A2_V2`, `Standard_A2m_V2`, `Standard_A3`, `Standard_A4_V2`, `Standard_A4m_V2`, `Standard_A8_V2`, `Standard_A8m_V2`, `Standard_D1`, `Standard_D2`, `Standard_D3`, `Standard_D4`, `Standard_D11`, `Standard_D12`, `Standard_D13`, `Standard_D14`, `Standard_D1_V2`, `Standard_D2_V2`, `Standard_D3_V2`, `Standard_D4_V2`, `Standard_D5_V2`, `Standard_D11_V2`, `Standard_D12_V2`, `Standard_D13_V2`, `Standard_D14_V2`, `Standard_DS1_V2`, `Standard_DS2_V2`, `Standard_DS3_V2`, `Standard_DS4_V2`, `Standard_DS5_V2`, `Standard_DS11_V2`, `Standard_DS12_V2`, `Standard_DS13_V2`, `Standard_DS14_V2`, `Standard_E2_V3`, `Standard_E4_V3`, `Standard_E8_V3`, `Standard_E16_V3`, `Standard_E20_V3`, `Standard_E32_V3`, `Standard_E64_V3`, `Standard_E64i_V3`, `Standard_E2s_V3`, `Standard_E4s_V3`, `Standard_E8s_V3`, `Standard_E16s_V3`, `Standard_E20s_V3`, `Standard_E32s_V3`, `Standard_E64s_V3`, `Standard_E64is_V3`, `Standard_D2a_V4`, `Standard_D4a_V4`, `Standard_D8a_V4`, `Standard_D16a_V4`, `Standard_D32a_V4`, `Standard_D48a_V4`, `Standard_D64a_V4`, `Standard_D96a_V4`, `Standard_E2a_V4`, `Standard_E4a_V4`, `Standard_E8a_V4`, `Standard_E16a_V4`, `Standard_E20a_V4`, `Standard_E32a_V4`, `Standard_E48a_V4`, `Standard_E64a_V4`, `Standard_E96a_V4`, `Standard_D2ads_V5`, `Standard_D4ads_V5`, `Standard_D8ads_V5`, `Standard_D16ads_V5`, `Standard_D32ads_V5`, `Standard_D48ads_V5`, `Standard_D64ads_V5`, `Standard_D96ads_V5`, `Standard_E2ads_V5`, `Standard_E4ads_V5`, `Standard_E8ads_V5`, `Standard_E16ads_V5`, `Standard_E20ads_V5`, `Standard_E32ads_V5`, `Standard_E48ads_V5`, `Standard_E64ads_V5`, `Standard_E96ads_V5`, `Standard_G1`, `Standard_G2`, `Standard_G3`, `Standard_G4`, `Standard_G5`, `Standard_F2s_V2`, `Standard_F4s_V2`, `Standard_F8s_V2`, `Standard_F16s_V2`, `Standard_F32s_V2`, `Standard_F64s_V2`, `Standard_F72s_V2`, `Standard_GS1`, `Standard_GS2`, `Standard_GS3`, `Standard_GS4`, `Standard_GS5` and `Standard_NC24`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["username","vmSize"]},"azure:hdinsight/HadoopClusterRolesHeadNodeScriptAction:HadoopClusterRolesHeadNodeScriptAction":{"properties":{"name":{"type":"string","description":"The name of the script action.\n"},"parameters":{"type":"string","description":"The parameters for the script provided.\n"},"uri":{"type":"string","description":"The URI to the script.\n"}},"type":"object","required":["name","uri"]},"azure:hdinsight/HadoopClusterRolesWorkerNode:HadoopClusterRolesWorkerNode":{"properties":{"autoscale":{"$ref":"#/types/azure:hdinsight/HadoopClusterRolesWorkerNodeAutoscale:HadoopClusterRolesWorkerNodeAutoscale","description":"A \u003cspan pulumi-lang-nodejs=\"`autoscale`\" pulumi-lang-dotnet=\"`Autoscale`\" pulumi-lang-go=\"`autoscale`\" pulumi-lang-python=\"`autoscale`\" pulumi-lang-yaml=\"`autoscale`\" pulumi-lang-java=\"`autoscale`\"\u003e`autoscale`\u003c/span\u003e block as defined below.\n"},"password":{"type":"string","description":"The Password associated with the local administrator for the Worker Nodes. Changing this forces a new resource to be created.\n\n\u003e **Note:** If specified, this password must be at least 10 characters in length and must contain at least one digit, one uppercase and one lower case letter, one non-alphanumeric character (except characters ' \" ` \\).\n","secret":true,"willReplaceOnChanges":true},"scriptActions":{"type":"array","items":{"$ref":"#/types/azure:hdinsight/HadoopClusterRolesWorkerNodeScriptAction:HadoopClusterRolesWorkerNodeScriptAction"},"description":"The script action which will run on the cluster. One or more \u003cspan pulumi-lang-nodejs=\"`scriptActions`\" pulumi-lang-dotnet=\"`ScriptActions`\" pulumi-lang-go=\"`scriptActions`\" pulumi-lang-python=\"`script_actions`\" pulumi-lang-yaml=\"`scriptActions`\" pulumi-lang-java=\"`scriptActions`\"\u003e`script_actions`\u003c/span\u003e blocks as defined above. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sshKeys":{"type":"array","items":{"type":"string"},"description":"A list of SSH Keys which should be used for the local administrator on the Worker Nodes. Changing this forces a new resource to be created.\n\n\u003e **Note:** Either a \u003cspan pulumi-lang-nodejs=\"`password`\" pulumi-lang-dotnet=\"`Password`\" pulumi-lang-go=\"`password`\" pulumi-lang-python=\"`password`\" pulumi-lang-yaml=\"`password`\" pulumi-lang-java=\"`password`\"\u003e`password`\u003c/span\u003e or one or more \u003cspan pulumi-lang-nodejs=\"`sshKeys`\" pulumi-lang-dotnet=\"`SshKeys`\" pulumi-lang-go=\"`sshKeys`\" pulumi-lang-python=\"`ssh_keys`\" pulumi-lang-yaml=\"`sshKeys`\" pulumi-lang-java=\"`sshKeys`\"\u003e`ssh_keys`\u003c/span\u003e must be specified - but not both.\n","willReplaceOnChanges":true},"subnetId":{"type":"string","description":"The ID of the Subnet within the Virtual Network where the Worker Nodes should be provisioned within. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"targetInstanceCount":{"type":"integer","description":"The number of instances which should be run for the Worker Nodes.\n"},"username":{"type":"string","description":"The Username of the local administrator for the Worker Nodes. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"virtualNetworkId":{"type":"string","description":"The ID of the Virtual Network where the Worker Nodes should be provisioned within. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"vmSize":{"type":"string","description":"The Size of the Virtual Machine which should be used as the Worker Nodes. Possible values are `ExtraSmall`, `Small`, `Medium`, `Large`, `ExtraLarge`, `A5`, `A6`, `A7`, `A8`, `A9`, `A10`, `A11`, `Standard_A1_V2`, `Standard_A2_V2`, `Standard_A2m_V2`, `Standard_A3`, `Standard_A4_V2`, `Standard_A4m_V2`, `Standard_A8_V2`, `Standard_A8m_V2`, `Standard_D1`, `Standard_D2`, `Standard_D3`, `Standard_D4`, `Standard_D11`, `Standard_D12`, `Standard_D13`, `Standard_D14`, `Standard_D1_V2`, `Standard_D2_V2`, `Standard_D3_V2`, `Standard_D4_V2`, `Standard_D5_V2`, `Standard_D11_V2`, `Standard_D12_V2`, `Standard_D13_V2`, `Standard_D14_V2`, `Standard_DS1_V2`, `Standard_DS2_V2`, `Standard_DS3_V2`, `Standard_DS4_V2`, `Standard_DS5_V2`, `Standard_DS11_V2`, `Standard_DS12_V2`, `Standard_DS13_V2`, `Standard_DS14_V2`, `Standard_E2_V3`, `Standard_E4_V3`, `Standard_E8_V3`, `Standard_E16_V3`, `Standard_E20_V3`, `Standard_E32_V3`, `Standard_E64_V3`, `Standard_E64i_V3`, `Standard_E2s_V3`, `Standard_E4s_V3`, `Standard_E8s_V3`, `Standard_E16s_V3`, `Standard_E20s_V3`, `Standard_E32s_V3`, `Standard_E64s_V3`, `Standard_E64is_V3`, `Standard_D2a_V4`, `Standard_D4a_V4`, `Standard_D8a_V4`, `Standard_D16a_V4`, `Standard_D32a_V4`, `Standard_D48a_V4`, `Standard_D64a_V4`, `Standard_D96a_V4`, `Standard_E2a_V4`, `Standard_E4a_V4`, `Standard_E8a_V4`, `Standard_E16a_V4`, `Standard_E20a_V4`, `Standard_E32a_V4`, `Standard_E48a_V4`, `Standard_E64a_V4`, `Standard_E96a_V4`, `Standard_D2ads_V5`, `Standard_D4ads_V5`, `Standard_D8ads_V5`, `Standard_D16ads_V5`, `Standard_D32ads_V5`, `Standard_D48ads_V5`, `Standard_D64ads_V5`, `Standard_D96ads_V5`, `Standard_E2ads_V5`, `Standard_E4ads_V5`, `Standard_E8ads_V5`, `Standard_E16ads_V5`, `Standard_E20ads_V5`, `Standard_E32ads_V5`, `Standard_E48ads_V5`, `Standard_E64ads_V5`, `Standard_E96ads_V5`, `Standard_G1`, `Standard_G2`, `Standard_G3`, `Standard_G4`, `Standard_G5`, `Standard_F2s_V2`, `Standard_F4s_V2`, `Standard_F8s_V2`, `Standard_F16s_V2`, `Standard_F32s_V2`, `Standard_F64s_V2`, `Standard_F72s_V2`, `Standard_GS1`, `Standard_GS2`, `Standard_GS3`, `Standard_GS4`, `Standard_GS5` and `Standard_NC24`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["targetInstanceCount","username","vmSize"]},"azure:hdinsight/HadoopClusterRolesWorkerNodeAutoscale:HadoopClusterRolesWorkerNodeAutoscale":{"properties":{"capacity":{"$ref":"#/types/azure:hdinsight/HadoopClusterRolesWorkerNodeAutoscaleCapacity:HadoopClusterRolesWorkerNodeAutoscaleCapacity","description":"A \u003cspan pulumi-lang-nodejs=\"`capacity`\" pulumi-lang-dotnet=\"`Capacity`\" pulumi-lang-go=\"`capacity`\" pulumi-lang-python=\"`capacity`\" pulumi-lang-yaml=\"`capacity`\" pulumi-lang-java=\"`capacity`\"\u003e`capacity`\u003c/span\u003e block as defined below.\n"},"recurrence":{"$ref":"#/types/azure:hdinsight/HadoopClusterRolesWorkerNodeAutoscaleRecurrence:HadoopClusterRolesWorkerNodeAutoscaleRecurrence","description":"A \u003cspan pulumi-lang-nodejs=\"`recurrence`\" pulumi-lang-dotnet=\"`Recurrence`\" pulumi-lang-go=\"`recurrence`\" pulumi-lang-python=\"`recurrence`\" pulumi-lang-yaml=\"`recurrence`\" pulumi-lang-java=\"`recurrence`\"\u003e`recurrence`\u003c/span\u003e block as defined below.\n\n\u003e **Note:** Either a \u003cspan pulumi-lang-nodejs=\"`capacity`\" pulumi-lang-dotnet=\"`Capacity`\" pulumi-lang-go=\"`capacity`\" pulumi-lang-python=\"`capacity`\" pulumi-lang-yaml=\"`capacity`\" pulumi-lang-java=\"`capacity`\"\u003e`capacity`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`recurrence`\" pulumi-lang-dotnet=\"`Recurrence`\" pulumi-lang-go=\"`recurrence`\" pulumi-lang-python=\"`recurrence`\" pulumi-lang-yaml=\"`recurrence`\" pulumi-lang-java=\"`recurrence`\"\u003e`recurrence`\u003c/span\u003e block must be specified - but not both.\n"}},"type":"object"},"azure:hdinsight/HadoopClusterRolesWorkerNodeAutoscaleCapacity:HadoopClusterRolesWorkerNodeAutoscaleCapacity":{"properties":{"maxInstanceCount":{"type":"integer","description":"The maximum number of worker nodes to autoscale to based on the cluster's activity.\n"},"minInstanceCount":{"type":"integer","description":"The minimum number of worker nodes to autoscale to based on the cluster's activity.\n"}},"type":"object","required":["maxInstanceCount","minInstanceCount"]},"azure:hdinsight/HadoopClusterRolesWorkerNodeAutoscaleRecurrence:HadoopClusterRolesWorkerNodeAutoscaleRecurrence":{"properties":{"schedules":{"type":"array","items":{"$ref":"#/types/azure:hdinsight/HadoopClusterRolesWorkerNodeAutoscaleRecurrenceSchedule:HadoopClusterRolesWorkerNodeAutoscaleRecurrenceSchedule"},"description":"A list of \u003cspan pulumi-lang-nodejs=\"`schedule`\" pulumi-lang-dotnet=\"`Schedule`\" pulumi-lang-go=\"`schedule`\" pulumi-lang-python=\"`schedule`\" pulumi-lang-yaml=\"`schedule`\" pulumi-lang-java=\"`schedule`\"\u003e`schedule`\u003c/span\u003e blocks as defined below.\n"},"timezone":{"type":"string","description":"The time zone for the autoscale schedule times.\n"}},"type":"object","required":["schedules","timezone"]},"azure:hdinsight/HadoopClusterRolesWorkerNodeAutoscaleRecurrenceSchedule:HadoopClusterRolesWorkerNodeAutoscaleRecurrenceSchedule":{"properties":{"days":{"type":"array","items":{"type":"string"},"description":"The days of the week to perform autoscale. Possible values are `Monday`, `Tuesday`, `Wednesday`, `Thursday`, `Friday`, `Saturday` and `Sunday`.\n"},"targetInstanceCount":{"type":"integer","description":"The number of worker nodes to autoscale at the specified time.\n"},"time":{"type":"string","description":"The time of day to perform the autoscale in 24hour format.\n"}},"type":"object","required":["days","targetInstanceCount","time"]},"azure:hdinsight/HadoopClusterRolesWorkerNodeScriptAction:HadoopClusterRolesWorkerNodeScriptAction":{"properties":{"name":{"type":"string","description":"The name of the script action.\n"},"parameters":{"type":"string","description":"The parameters for the script provided.\n"},"uri":{"type":"string","description":"The URI to the script.\n"}},"type":"object","required":["name","uri"]},"azure:hdinsight/HadoopClusterRolesZookeeperNode:HadoopClusterRolesZookeeperNode":{"properties":{"password":{"type":"string","description":"The Password associated with the local administrator for the Zookeeper Nodes. Changing this forces a new resource to be created.\n\n\u003e **Note:** If specified, this password must be at least 10 characters in length and must contain at least one digit, one uppercase and one lower case letter, one non-alphanumeric character (except characters ' \" ` \\).\n","secret":true,"willReplaceOnChanges":true},"scriptActions":{"type":"array","items":{"$ref":"#/types/azure:hdinsight/HadoopClusterRolesZookeeperNodeScriptAction:HadoopClusterRolesZookeeperNodeScriptAction"},"description":"The script action which will run on the cluster. One or more \u003cspan pulumi-lang-nodejs=\"`scriptActions`\" pulumi-lang-dotnet=\"`ScriptActions`\" pulumi-lang-go=\"`scriptActions`\" pulumi-lang-python=\"`script_actions`\" pulumi-lang-yaml=\"`scriptActions`\" pulumi-lang-java=\"`scriptActions`\"\u003e`script_actions`\u003c/span\u003e blocks as defined above. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sshKeys":{"type":"array","items":{"type":"string"},"description":"A list of SSH Keys which should be used for the local administrator on the Zookeeper Nodes. Changing this forces a new resource to be created.\n\n\u003e **Note:** Either a \u003cspan pulumi-lang-nodejs=\"`password`\" pulumi-lang-dotnet=\"`Password`\" pulumi-lang-go=\"`password`\" pulumi-lang-python=\"`password`\" pulumi-lang-yaml=\"`password`\" pulumi-lang-java=\"`password`\"\u003e`password`\u003c/span\u003e or one or more \u003cspan pulumi-lang-nodejs=\"`sshKeys`\" pulumi-lang-dotnet=\"`SshKeys`\" pulumi-lang-go=\"`sshKeys`\" pulumi-lang-python=\"`ssh_keys`\" pulumi-lang-yaml=\"`sshKeys`\" pulumi-lang-java=\"`sshKeys`\"\u003e`ssh_keys`\u003c/span\u003e must be specified - but not both.\n","willReplaceOnChanges":true},"subnetId":{"type":"string","description":"The ID of the Subnet within the Virtual Network where the Zookeeper Nodes should be provisioned within. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"username":{"type":"string","description":"The Username of the local administrator for the Zookeeper Nodes. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"virtualNetworkId":{"type":"string","description":"The ID of the Virtual Network where the Zookeeper Nodes should be provisioned within. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"vmSize":{"type":"string","description":"The Size of the Virtual Machine which should be used as the Zookeeper Nodes. Possible values are `ExtraSmall`, `Small`, `Medium`, `Large`, `ExtraLarge`, `A5`, `A6`, `A7`, `A8`, `A9`, `A10`, `A11`, `Standard_A1_V2`, `Standard_A2_V2`, `Standard_A2m_V2`, `Standard_A3`, `Standard_A4_V2`, `Standard_A4m_V2`, `Standard_A8_V2`, `Standard_A8m_V2`, `Standard_D1`, `Standard_D2`, `Standard_D3`, `Standard_D4`, `Standard_D11`, `Standard_D12`, `Standard_D13`, `Standard_D14`, `Standard_D1_V2`, `Standard_D2_V2`, `Standard_D3_V2`, `Standard_D4_V2`, `Standard_D5_V2`, `Standard_D11_V2`, `Standard_D12_V2`, `Standard_D13_V2`, `Standard_D14_V2`, `Standard_DS1_V2`, `Standard_DS2_V2`, `Standard_DS3_V2`, `Standard_DS4_V2`, `Standard_DS5_V2`, `Standard_DS11_V2`, `Standard_DS12_V2`, `Standard_DS13_V2`, `Standard_DS14_V2`, `Standard_E2_V3`, `Standard_E4_V3`, `Standard_E8_V3`, `Standard_E16_V3`, `Standard_E20_V3`, `Standard_E32_V3`, `Standard_E64_V3`, `Standard_E64i_V3`, `Standard_E2s_V3`, `Standard_E4s_V3`, `Standard_E8s_V3`, `Standard_E16s_V3`, `Standard_E20s_V3`, `Standard_E32s_V3`, `Standard_E64s_V3`, `Standard_E64is_V3`, `Standard_D2a_V4`, `Standard_D4a_V4`, `Standard_D8a_V4`, `Standard_D16a_V4`, `Standard_D32a_V4`, `Standard_D48a_V4`, `Standard_D64a_V4`, `Standard_D96a_V4`, `Standard_E2a_V4`, `Standard_E4a_V4`, `Standard_E8a_V4`, `Standard_E16a_V4`, `Standard_E20a_V4`, `Standard_E32a_V4`, `Standard_E48a_V4`, `Standard_E64a_V4`, `Standard_E96a_V4`, `Standard_D2ads_V5`, `Standard_D4ads_V5`, `Standard_D8ads_V5`, `Standard_D16ads_V5`, `Standard_D32ads_V5`, `Standard_D48ads_V5`, `Standard_D64ads_V5`, `Standard_D96ads_V5`, `Standard_E2ads_V5`, `Standard_E4ads_V5`, `Standard_E8ads_V5`, `Standard_E16ads_V5`, `Standard_E20ads_V5`, `Standard_E32ads_V5`, `Standard_E48ads_V5`, `Standard_E64ads_V5`, `Standard_E96ads_V5`, `Standard_G1`, `Standard_G2`, `Standard_G3`, `Standard_G4`, `Standard_G5`, `Standard_F2s_V2`, `Standard_F4s_V2`, `Standard_F8s_V2`, `Standard_F16s_V2`, `Standard_F32s_V2`, `Standard_F64s_V2`, `Standard_F72s_V2`, `Standard_GS1`, `Standard_GS2`, `Standard_GS3`, `Standard_GS4`, `Standard_GS5` and `Standard_NC24`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["username","vmSize"]},"azure:hdinsight/HadoopClusterRolesZookeeperNodeScriptAction:HadoopClusterRolesZookeeperNodeScriptAction":{"properties":{"name":{"type":"string","description":"The name of the script action.\n"},"parameters":{"type":"string","description":"The parameters for the script provided.\n"},"uri":{"type":"string","description":"The URI to the script.\n"}},"type":"object","required":["name","uri"]},"azure:hdinsight/HadoopClusterSecurityProfile:HadoopClusterSecurityProfile":{"properties":{"aaddsResourceId":{"type":"string","description":"The resource ID of the Azure Active Directory Domain Service. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"clusterUsersGroupDns":{"type":"array","items":{"type":"string"},"description":"A list of the distinguished names for the cluster user groups. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"domainName":{"type":"string","description":"The name of the Azure Active Directory Domain. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"domainUserPassword":{"type":"string","description":"The user password of the Azure Active Directory Domain. Changing this forces a new resource to be created.\n","secret":true,"willReplaceOnChanges":true},"domainUsername":{"type":"string","description":"The username of the Azure Active Directory Domain. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"ldapsUrls":{"type":"array","items":{"type":"string"},"description":"A list of the LDAPS URLs to communicate with the Azure Active Directory. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"msiResourceId":{"type":"string","description":"The User Assigned Identity for the HDInsight Cluster. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["aaddsResourceId","domainName","domainUserPassword","domainUsername","ldapsUrls","msiResourceId"]},"azure:hdinsight/HadoopClusterStorageAccount:HadoopClusterStorageAccount":{"properties":{"isDefault":{"type":"boolean","description":"Is this the Default Storage Account for the HDInsight Hadoop Cluster? Changing this forces a new resource to be created.\n\n\u003e **Note:** One of the \u003cspan pulumi-lang-nodejs=\"`storageAccount`\" pulumi-lang-dotnet=\"`StorageAccount`\" pulumi-lang-go=\"`storageAccount`\" pulumi-lang-python=\"`storage_account`\" pulumi-lang-yaml=\"`storageAccount`\" pulumi-lang-java=\"`storageAccount`\"\u003e`storage_account`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`storageAccountGen2`\" pulumi-lang-dotnet=\"`StorageAccountGen2`\" pulumi-lang-go=\"`storageAccountGen2`\" pulumi-lang-python=\"`storage_account_gen2`\" pulumi-lang-yaml=\"`storageAccountGen2`\" pulumi-lang-java=\"`storageAccountGen2`\"\u003e`storage_account_gen2`\u003c/span\u003e blocks must be marked as the default.\n","willReplaceOnChanges":true},"storageAccountKey":{"type":"string","description":"The Access Key which should be used to connect to the Storage Account. Changing this forces a new resource to be created.\n","secret":true,"willReplaceOnChanges":true},"storageContainerId":{"type":"string","description":"The ID of the Storage Container. Changing this forces a new resource to be created.\n\n\u003e **Note:** When the \u003cspan pulumi-lang-nodejs=\"`azure.storage.Container`\" pulumi-lang-dotnet=\"`azure.storage.Container`\" pulumi-lang-go=\"`storage.Container`\" pulumi-lang-python=\"`storage.Container`\" pulumi-lang-yaml=\"`azure.storage.Container`\" pulumi-lang-java=\"`azure.storage.Container`\"\u003e`azure.storage.Container`\u003c/span\u003e resource is created with \u003cspan pulumi-lang-nodejs=\"`storageAccountName`\" pulumi-lang-dotnet=\"`StorageAccountName`\" pulumi-lang-go=\"`storageAccountName`\" pulumi-lang-python=\"`storage_account_name`\" pulumi-lang-yaml=\"`storageAccountName`\" pulumi-lang-java=\"`storageAccountName`\"\u003e`storage_account_name`\u003c/span\u003e, this can be obtained from the \u003cspan pulumi-lang-nodejs=\"`id`\" pulumi-lang-dotnet=\"`Id`\" pulumi-lang-go=\"`id`\" pulumi-lang-python=\"`id`\" pulumi-lang-yaml=\"`id`\" pulumi-lang-java=\"`id`\"\u003e`id`\u003c/span\u003e of the \u003cspan pulumi-lang-nodejs=\"`azure.storage.Container`\" pulumi-lang-dotnet=\"`azure.storage.Container`\" pulumi-lang-go=\"`storage.Container`\" pulumi-lang-python=\"`storage.Container`\" pulumi-lang-yaml=\"`azure.storage.Container`\" pulumi-lang-java=\"`azure.storage.Container`\"\u003e`azure.storage.Container`\u003c/span\u003e resource. When the \u003cspan pulumi-lang-nodejs=\"`azure.storage.Container`\" pulumi-lang-dotnet=\"`azure.storage.Container`\" pulumi-lang-go=\"`storage.Container`\" pulumi-lang-python=\"`storage.Container`\" pulumi-lang-yaml=\"`azure.storage.Container`\" pulumi-lang-java=\"`azure.storage.Container`\"\u003e`azure.storage.Container`\u003c/span\u003e resource is created with \u003cspan pulumi-lang-nodejs=\"`storageAccountId`\" pulumi-lang-dotnet=\"`StorageAccountId`\" pulumi-lang-go=\"`storageAccountId`\" pulumi-lang-python=\"`storage_account_id`\" pulumi-lang-yaml=\"`storageAccountId`\" pulumi-lang-java=\"`storageAccountId`\"\u003e`storage_account_id`\u003c/span\u003e, please use \u003cspan pulumi-lang-nodejs=\"`azure.storage.getContainers`\" pulumi-lang-dotnet=\"`azure.storage.getContainers`\" pulumi-lang-go=\"`storage.getContainers`\" pulumi-lang-python=\"`storage_get_containers`\" pulumi-lang-yaml=\"`azure.storage.getContainers`\" pulumi-lang-java=\"`azure.storage.getContainers`\"\u003e`azure.storage.getContainers`\u003c/span\u003e data source to get the \u003cspan pulumi-lang-nodejs=\"`dataPlaneId`\" pulumi-lang-dotnet=\"`DataPlaneId`\" pulumi-lang-go=\"`dataPlaneId`\" pulumi-lang-python=\"`data_plane_id`\" pulumi-lang-yaml=\"`dataPlaneId`\" pulumi-lang-java=\"`dataPlaneId`\"\u003e`data_plane_id`\u003c/span\u003e of the \u003cspan pulumi-lang-nodejs=\"`azure.storage.Container`\" pulumi-lang-dotnet=\"`azure.storage.Container`\" pulumi-lang-go=\"`storage.Container`\" pulumi-lang-python=\"`storage.Container`\" pulumi-lang-yaml=\"`azure.storage.Container`\" pulumi-lang-java=\"`azure.storage.Container`\"\u003e`azure.storage.Container`\u003c/span\u003e resource for this field.\n","willReplaceOnChanges":true},"storageResourceId":{"type":"string","description":"The ID of the Storage Account. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["isDefault","storageAccountKey","storageContainerId"]},"azure:hdinsight/HadoopClusterStorageAccountGen2:HadoopClusterStorageAccountGen2":{"properties":{"filesystemId":{"type":"string","description":"The ID of the Gen2 Filesystem. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"isDefault":{"type":"boolean","description":"Is this the Default Storage Account for the HDInsight Hadoop Cluster? Changing this forces a new resource to be created.\n\n\u003e **Note:** One of the \u003cspan pulumi-lang-nodejs=\"`storageAccount`\" pulumi-lang-dotnet=\"`StorageAccount`\" pulumi-lang-go=\"`storageAccount`\" pulumi-lang-python=\"`storage_account`\" pulumi-lang-yaml=\"`storageAccount`\" pulumi-lang-java=\"`storageAccount`\"\u003e`storage_account`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`storageAccountGen2`\" pulumi-lang-dotnet=\"`StorageAccountGen2`\" pulumi-lang-go=\"`storageAccountGen2`\" pulumi-lang-python=\"`storage_account_gen2`\" pulumi-lang-yaml=\"`storageAccountGen2`\" pulumi-lang-java=\"`storageAccountGen2`\"\u003e`storage_account_gen2`\u003c/span\u003e blocks must be marked as the default.\n","willReplaceOnChanges":true},"managedIdentityResourceId":{"type":"string","description":"The ID of Managed Identity to use for accessing the Gen2 filesystem. Changing this forces a new resource to be created.\n\n\u003e **Note:** This can be obtained from the \u003cspan pulumi-lang-nodejs=\"`id`\" pulumi-lang-dotnet=\"`Id`\" pulumi-lang-go=\"`id`\" pulumi-lang-python=\"`id`\" pulumi-lang-yaml=\"`id`\" pulumi-lang-java=\"`id`\"\u003e`id`\u003c/span\u003e of the \u003cspan pulumi-lang-nodejs=\"`azure.storage.Container`\" pulumi-lang-dotnet=\"`azure.storage.Container`\" pulumi-lang-go=\"`storage.Container`\" pulumi-lang-python=\"`storage.Container`\" pulumi-lang-yaml=\"`azure.storage.Container`\" pulumi-lang-java=\"`azure.storage.Container`\"\u003e`azure.storage.Container`\u003c/span\u003e resource.\n","willReplaceOnChanges":true},"storageResourceId":{"type":"string","description":"The ID of the Storage Account. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["filesystemId","isDefault","managedIdentityResourceId","storageResourceId"]},"azure:hdinsight/InteractiveQueryClusterComponentVersion:InteractiveQueryClusterComponentVersion":{"properties":{"interactiveHive":{"type":"string","description":"The version of Interactive Query which should be used for this HDInsight Interactive Query Cluster. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["interactiveHive"]},"azure:hdinsight/InteractiveQueryClusterComputeIsolation:InteractiveQueryClusterComputeIsolation":{"properties":{"computeIsolationEnabled":{"type":"boolean","description":"This field indicates whether enable compute isolation or not. Possible values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"hostSku":{"type":"string","description":"The name of the host SKU.\n"}},"type":"object"},"azure:hdinsight/InteractiveQueryClusterDiskEncryption:InteractiveQueryClusterDiskEncryption":{"properties":{"encryptionAlgorithm":{"type":"string","description":"This is an algorithm identifier for encryption. Possible values are `RSA1_5`, `RSA-OAEP`, `RSA-OAEP-256`.\n"},"encryptionAtHostEnabled":{"type":"boolean","description":"This is indicator to show whether resource disk encryption is enabled.\n"},"keyVaultKeyId":{"type":"string","description":"The ID of the key vault key.\n"},"keyVaultManagedIdentityId":{"type":"string","description":"This is the resource ID of Managed Identity used to access the key vault.\n"}},"type":"object"},"azure:hdinsight/InteractiveQueryClusterExtension:InteractiveQueryClusterExtension":{"properties":{"logAnalyticsWorkspaceId":{"type":"string","description":"The workspace ID of the log analytics extension.\n"},"primaryKey":{"type":"string","description":"The workspace key of the log analytics extension.\n","secret":true}},"type":"object","required":["logAnalyticsWorkspaceId","primaryKey"]},"azure:hdinsight/InteractiveQueryClusterGateway:InteractiveQueryClusterGateway":{"properties":{"password":{"type":"string","description":"The password used for the Ambari Portal.\n\n\u003e **Note:** This password must be different from the one used for the \u003cspan pulumi-lang-nodejs=\"`headNode`\" pulumi-lang-dotnet=\"`HeadNode`\" pulumi-lang-go=\"`headNode`\" pulumi-lang-python=\"`head_node`\" pulumi-lang-yaml=\"`headNode`\" pulumi-lang-java=\"`headNode`\"\u003e`head_node`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`workerNode`\" pulumi-lang-dotnet=\"`WorkerNode`\" pulumi-lang-go=\"`workerNode`\" pulumi-lang-python=\"`worker_node`\" pulumi-lang-yaml=\"`workerNode`\" pulumi-lang-java=\"`workerNode`\"\u003e`worker_node`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`zookeeperNode`\" pulumi-lang-dotnet=\"`ZookeeperNode`\" pulumi-lang-go=\"`zookeeperNode`\" pulumi-lang-python=\"`zookeeper_node`\" pulumi-lang-yaml=\"`zookeeperNode`\" pulumi-lang-java=\"`zookeeperNode`\"\u003e`zookeeper_node`\u003c/span\u003e roles.\n","secret":true},"username":{"type":"string","description":"The username used for the Ambari Portal. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["password","username"]},"azure:hdinsight/InteractiveQueryClusterMetastores:InteractiveQueryClusterMetastores":{"properties":{"ambari":{"$ref":"#/types/azure:hdinsight/InteractiveQueryClusterMetastoresAmbari:InteractiveQueryClusterMetastoresAmbari","description":"An \u003cspan pulumi-lang-nodejs=\"`ambari`\" pulumi-lang-dotnet=\"`Ambari`\" pulumi-lang-go=\"`ambari`\" pulumi-lang-python=\"`ambari`\" pulumi-lang-yaml=\"`ambari`\" pulumi-lang-java=\"`ambari`\"\u003e`ambari`\u003c/span\u003e block as defined below.\n"},"hive":{"$ref":"#/types/azure:hdinsight/InteractiveQueryClusterMetastoresHive:InteractiveQueryClusterMetastoresHive","description":"A \u003cspan pulumi-lang-nodejs=\"`hive`\" pulumi-lang-dotnet=\"`Hive`\" pulumi-lang-go=\"`hive`\" pulumi-lang-python=\"`hive`\" pulumi-lang-yaml=\"`hive`\" pulumi-lang-java=\"`hive`\"\u003e`hive`\u003c/span\u003e block as defined below.\n"},"oozie":{"$ref":"#/types/azure:hdinsight/InteractiveQueryClusterMetastoresOozie:InteractiveQueryClusterMetastoresOozie","description":"An \u003cspan pulumi-lang-nodejs=\"`oozie`\" pulumi-lang-dotnet=\"`Oozie`\" pulumi-lang-go=\"`oozie`\" pulumi-lang-python=\"`oozie`\" pulumi-lang-yaml=\"`oozie`\" pulumi-lang-java=\"`oozie`\"\u003e`oozie`\u003c/span\u003e block as defined below.\n"}},"type":"object"},"azure:hdinsight/InteractiveQueryClusterMetastoresAmbari:InteractiveQueryClusterMetastoresAmbari":{"properties":{"databaseName":{"type":"string","description":"The external Hive metastore's existing SQL database. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"password":{"type":"string","description":"The external Ambari metastore's existing SQL server admin password. Changing this forces a new resource to be created.\n","secret":true,"willReplaceOnChanges":true},"server":{"type":"string","description":"The fully-qualified domain name (FQDN) of the SQL server to use for the external Ambari metastore. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"username":{"type":"string","description":"The external Ambari metastore's existing SQL server admin username. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["databaseName","password","server","username"]},"azure:hdinsight/InteractiveQueryClusterMetastoresHive:InteractiveQueryClusterMetastoresHive":{"properties":{"databaseName":{"type":"string","description":"The external Hive metastore's existing SQL database. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"password":{"type":"string","description":"The external Hive metastore's existing SQL server admin password. Changing this forces a new resource to be created.\n","secret":true,"willReplaceOnChanges":true},"server":{"type":"string","description":"The fully-qualified domain name (FQDN) of the SQL server to use for the external Hive metastore. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"username":{"type":"string","description":"The external Hive metastore's existing SQL server admin username. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["databaseName","password","server","username"]},"azure:hdinsight/InteractiveQueryClusterMetastoresOozie:InteractiveQueryClusterMetastoresOozie":{"properties":{"databaseName":{"type":"string","description":"The external Oozie metastore's existing SQL database. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"password":{"type":"string","description":"The external Oozie metastore's existing SQL server admin password. Changing this forces a new resource to be created.\n","secret":true,"willReplaceOnChanges":true},"server":{"type":"string","description":"The fully-qualified domain name (FQDN) of the SQL server to use for the external Oozie metastore. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"username":{"type":"string","description":"The external Oozie metastore's existing SQL server admin username. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["databaseName","password","server","username"]},"azure:hdinsight/InteractiveQueryClusterMonitor:InteractiveQueryClusterMonitor":{"properties":{"logAnalyticsWorkspaceId":{"type":"string","description":"The Operations Management Suite (OMS) workspace ID.\n"},"primaryKey":{"type":"string","description":"The Operations Management Suite (OMS) workspace key.\n","secret":true}},"type":"object","required":["logAnalyticsWorkspaceId","primaryKey"]},"azure:hdinsight/InteractiveQueryClusterNetwork:InteractiveQueryClusterNetwork":{"properties":{"connectionDirection":{"type":"string","description":"The direction of the resource provider connection. Possible values include `Inbound` or `Outbound`. Defaults to `Inbound`. Changing this forces a new resource to be created.\n\n\u003e **Note:** To enabled the private link the \u003cspan pulumi-lang-nodejs=\"`connectionDirection`\" pulumi-lang-dotnet=\"`ConnectionDirection`\" pulumi-lang-go=\"`connectionDirection`\" pulumi-lang-python=\"`connection_direction`\" pulumi-lang-yaml=\"`connectionDirection`\" pulumi-lang-java=\"`connectionDirection`\"\u003e`connection_direction`\u003c/span\u003e must be set to `Outbound`.\n","willReplaceOnChanges":true},"privateLinkEnabled":{"type":"boolean","description":"Is the private link enabled? Possible values include \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"},"azure:hdinsight/InteractiveQueryClusterPrivateLinkConfiguration:InteractiveQueryClusterPrivateLinkConfiguration":{"properties":{"groupId":{"type":"string","description":"The ID of the private link service group.\n"},"ipConfiguration":{"$ref":"#/types/azure:hdinsight/InteractiveQueryClusterPrivateLinkConfigurationIpConfiguration:InteractiveQueryClusterPrivateLinkConfigurationIpConfiguration","description":"An \u003cspan pulumi-lang-nodejs=\"`ipConfiguration`\" pulumi-lang-dotnet=\"`IpConfiguration`\" pulumi-lang-go=\"`ipConfiguration`\" pulumi-lang-python=\"`ip_configuration`\" pulumi-lang-yaml=\"`ipConfiguration`\" pulumi-lang-java=\"`ipConfiguration`\"\u003e`ip_configuration`\u003c/span\u003e block as defined below.\n"},"name":{"type":"string","description":"The name of the private link configuration.\n"}},"type":"object","required":["groupId","ipConfiguration","name"]},"azure:hdinsight/InteractiveQueryClusterPrivateLinkConfigurationIpConfiguration:InteractiveQueryClusterPrivateLinkConfigurationIpConfiguration":{"properties":{"name":{"type":"string","description":"The name of the IP configuration.\n"},"primary":{"type":"boolean","description":"Indicates whether this IP configuration is primary.\n"},"privateIpAddress":{"type":"string","description":"The private IP address of the IP configuration.\n"},"privateIpAllocationMethod":{"type":"string","description":"The private IP allocation method. Possible values are `Dynamic` and `Static`.\n"},"subnetId":{"type":"string","description":"The ID of the Subnet within the Virtual Network where the IP configuration should be provisioned.\n"}},"type":"object","required":["name"]},"azure:hdinsight/InteractiveQueryClusterRoles:InteractiveQueryClusterRoles":{"properties":{"headNode":{"$ref":"#/types/azure:hdinsight/InteractiveQueryClusterRolesHeadNode:InteractiveQueryClusterRolesHeadNode","description":"A \u003cspan pulumi-lang-nodejs=\"`headNode`\" pulumi-lang-dotnet=\"`HeadNode`\" pulumi-lang-go=\"`headNode`\" pulumi-lang-python=\"`head_node`\" pulumi-lang-yaml=\"`headNode`\" pulumi-lang-java=\"`headNode`\"\u003e`head_node`\u003c/span\u003e block as defined above.\n"},"workerNode":{"$ref":"#/types/azure:hdinsight/InteractiveQueryClusterRolesWorkerNode:InteractiveQueryClusterRolesWorkerNode","description":"A \u003cspan pulumi-lang-nodejs=\"`workerNode`\" pulumi-lang-dotnet=\"`WorkerNode`\" pulumi-lang-go=\"`workerNode`\" pulumi-lang-python=\"`worker_node`\" pulumi-lang-yaml=\"`workerNode`\" pulumi-lang-java=\"`workerNode`\"\u003e`worker_node`\u003c/span\u003e block as defined below.\n"},"zookeeperNode":{"$ref":"#/types/azure:hdinsight/InteractiveQueryClusterRolesZookeeperNode:InteractiveQueryClusterRolesZookeeperNode","description":"A \u003cspan pulumi-lang-nodejs=\"`zookeeperNode`\" pulumi-lang-dotnet=\"`ZookeeperNode`\" pulumi-lang-go=\"`zookeeperNode`\" pulumi-lang-python=\"`zookeeper_node`\" pulumi-lang-yaml=\"`zookeeperNode`\" pulumi-lang-java=\"`zookeeperNode`\"\u003e`zookeeper_node`\u003c/span\u003e block as defined below.\n"}},"type":"object","required":["headNode","workerNode","zookeeperNode"]},"azure:hdinsight/InteractiveQueryClusterRolesHeadNode:InteractiveQueryClusterRolesHeadNode":{"properties":{"password":{"type":"string","description":"The Password associated with the local administrator for the Head Nodes. Changing this forces a new resource to be created.\n\n\u003e **Note:** If specified, this password must be at least 10 characters in length and must contain at least one digit, one uppercase and one lower case letter, one non-alphanumeric character (except characters ' \" ` \\).\n","secret":true,"willReplaceOnChanges":true},"scriptActions":{"type":"array","items":{"$ref":"#/types/azure:hdinsight/InteractiveQueryClusterRolesHeadNodeScriptAction:InteractiveQueryClusterRolesHeadNodeScriptAction"},"description":"The script action which will run on the cluster. One or more \u003cspan pulumi-lang-nodejs=\"`scriptActions`\" pulumi-lang-dotnet=\"`ScriptActions`\" pulumi-lang-go=\"`scriptActions`\" pulumi-lang-python=\"`script_actions`\" pulumi-lang-yaml=\"`scriptActions`\" pulumi-lang-java=\"`scriptActions`\"\u003e`script_actions`\u003c/span\u003e blocks as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sshKeys":{"type":"array","items":{"type":"string"},"description":"A list of SSH Keys which should be used for the local administrator on the Head Nodes. Changing this forces a new resource to be created.\n\n\u003e **Note:** Either a \u003cspan pulumi-lang-nodejs=\"`password`\" pulumi-lang-dotnet=\"`Password`\" pulumi-lang-go=\"`password`\" pulumi-lang-python=\"`password`\" pulumi-lang-yaml=\"`password`\" pulumi-lang-java=\"`password`\"\u003e`password`\u003c/span\u003e or one or more \u003cspan pulumi-lang-nodejs=\"`sshKeys`\" pulumi-lang-dotnet=\"`SshKeys`\" pulumi-lang-go=\"`sshKeys`\" pulumi-lang-python=\"`ssh_keys`\" pulumi-lang-yaml=\"`sshKeys`\" pulumi-lang-java=\"`sshKeys`\"\u003e`ssh_keys`\u003c/span\u003e must be specified - but not both.\n","willReplaceOnChanges":true},"subnetId":{"type":"string","description":"The ID of the Subnet within the Virtual Network where the Head Nodes should be provisioned within. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"username":{"type":"string","description":"The Username of the local administrator for the Head Nodes. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"virtualNetworkId":{"type":"string","description":"The ID of the Virtual Network where the Head Nodes should be provisioned within. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"vmSize":{"type":"string","description":"The Size of the Virtual Machine which should be used as the Head Nodes. Possible values are `ExtraSmall`, `Small`, `Medium`, `Large`, `ExtraLarge`, `A5`, `A6`, `A7`, `A8`, `A9`, `A10`, `A11`, `Standard_A1_V2`, `Standard_A2_V2`, `Standard_A2m_V2`, `Standard_A3`, `Standard_A4_V2`, `Standard_A4m_V2`, `Standard_A8_V2`, `Standard_A8m_V2`, `Standard_D1`, `Standard_D2`, `Standard_D3`, `Standard_D4`, `Standard_D11`, `Standard_D12`, `Standard_D13`, `Standard_D14`, `Standard_D1_V2`, `Standard_D2_V2`, `Standard_D3_V2`, `Standard_D4_V2`, `Standard_D5_V2`, `Standard_D11_V2`, `Standard_D12_V2`, `Standard_D13_V2`, `Standard_D14_V2`, `Standard_DS1_V2`, `Standard_DS2_V2`, `Standard_DS3_V2`, `Standard_DS4_V2`, `Standard_DS5_V2`, `Standard_DS11_V2`, `Standard_DS12_V2`, `Standard_DS13_V2`, `Standard_DS14_V2`, `Standard_E2_V3`, `Standard_E4_V3`, `Standard_E8_V3`, `Standard_E16_V3`, `Standard_E20_V3`, `Standard_E32_V3`, `Standard_E64_V3`, `Standard_E64i_V3`, `Standard_E2s_V3`, `Standard_E4s_V3`, `Standard_E8s_V3`, `Standard_E16s_V3`, `Standard_E20s_V3`, `Standard_E32s_V3`, `Standard_E64s_V3`, `Standard_E64is_V3`, `Standard_D2a_V4`, `Standard_D4a_V4`, `Standard_D8a_V4`, `Standard_D16a_V4`, `Standard_D32a_V4`, `Standard_D48a_V4`, `Standard_D64a_V4`, `Standard_D96a_V4`, `Standard_E2a_V4`, `Standard_E4a_V4`, `Standard_E8a_V4`, `Standard_E16a_V4`, `Standard_E20a_V4`, `Standard_E32a_V4`, `Standard_E48a_V4`, `Standard_E64a_V4`, `Standard_E96a_V4`, `Standard_D2ads_V5`, `Standard_D4ads_V5`, `Standard_D8ads_V5`, `Standard_D16ads_V5`, `Standard_D32ads_V5`, `Standard_D48ads_V5`, `Standard_D64ads_V5`, `Standard_D96ads_V5`, `Standard_E2ads_V5`, `Standard_E4ads_V5`, `Standard_E8ads_V5`, `Standard_E16ads_V5`, `Standard_E20ads_V5`, `Standard_E32ads_V5`, `Standard_E48ads_V5`, `Standard_E64ads_V5`, `Standard_E96ads_V5`, `Standard_G1`, `Standard_G2`, `Standard_G3`, `Standard_G4`, `Standard_G5`, `Standard_F2s_V2`, `Standard_F4s_V2`, `Standard_F8s_V2`, `Standard_F16s_V2`, `Standard_F32s_V2`, `Standard_F64s_V2`, `Standard_F72s_V2`, `Standard_GS1`, `Standard_GS2`, `Standard_GS3`, `Standard_GS4`, `Standard_GS5` and `Standard_NC24`. Changing this forces a new resource to be created.\n\n\u003e **Note:** High memory instances must be specified for the Head Node (Azure suggests a `Standard_D13_V2`).\n","willReplaceOnChanges":true}},"type":"object","required":["username","vmSize"]},"azure:hdinsight/InteractiveQueryClusterRolesHeadNodeScriptAction:InteractiveQueryClusterRolesHeadNodeScriptAction":{"properties":{"name":{"type":"string","description":"The name of the script action.\n"},"parameters":{"type":"string","description":"The parameters for the script provided.\n"},"uri":{"type":"string","description":"The URI to the script.\n"}},"type":"object","required":["name","uri"]},"azure:hdinsight/InteractiveQueryClusterRolesWorkerNode:InteractiveQueryClusterRolesWorkerNode":{"properties":{"autoscale":{"$ref":"#/types/azure:hdinsight/InteractiveQueryClusterRolesWorkerNodeAutoscale:InteractiveQueryClusterRolesWorkerNodeAutoscale","description":"A \u003cspan pulumi-lang-nodejs=\"`autoscale`\" pulumi-lang-dotnet=\"`Autoscale`\" pulumi-lang-go=\"`autoscale`\" pulumi-lang-python=\"`autoscale`\" pulumi-lang-yaml=\"`autoscale`\" pulumi-lang-java=\"`autoscale`\"\u003e`autoscale`\u003c/span\u003e block as defined below.\n"},"password":{"type":"string","description":"The Password associated with the local administrator for the Worker Nodes. Changing this forces a new resource to be created.\n\n\u003e **Note:** If specified, this password must be at least 10 characters in length and must contain at least one digit, one uppercase and one lower case letter, one non-alphanumeric character (except characters ' \" ` \\).\n","secret":true,"willReplaceOnChanges":true},"scriptActions":{"type":"array","items":{"$ref":"#/types/azure:hdinsight/InteractiveQueryClusterRolesWorkerNodeScriptAction:InteractiveQueryClusterRolesWorkerNodeScriptAction"},"description":"The script action which will run on the cluster. One or more \u003cspan pulumi-lang-nodejs=\"`scriptActions`\" pulumi-lang-dotnet=\"`ScriptActions`\" pulumi-lang-go=\"`scriptActions`\" pulumi-lang-python=\"`script_actions`\" pulumi-lang-yaml=\"`scriptActions`\" pulumi-lang-java=\"`scriptActions`\"\u003e`script_actions`\u003c/span\u003e blocks as defined above. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sshKeys":{"type":"array","items":{"type":"string"},"description":"A list of SSH Keys which should be used for the local administrator on the Worker Nodes. Changing this forces a new resource to be created.\n\n\u003e **Note:** Either a \u003cspan pulumi-lang-nodejs=\"`password`\" pulumi-lang-dotnet=\"`Password`\" pulumi-lang-go=\"`password`\" pulumi-lang-python=\"`password`\" pulumi-lang-yaml=\"`password`\" pulumi-lang-java=\"`password`\"\u003e`password`\u003c/span\u003e or one or more \u003cspan pulumi-lang-nodejs=\"`sshKeys`\" pulumi-lang-dotnet=\"`SshKeys`\" pulumi-lang-go=\"`sshKeys`\" pulumi-lang-python=\"`ssh_keys`\" pulumi-lang-yaml=\"`sshKeys`\" pulumi-lang-java=\"`sshKeys`\"\u003e`ssh_keys`\u003c/span\u003e must be specified - but not both.\n","willReplaceOnChanges":true},"subnetId":{"type":"string","description":"The ID of the Subnet within the Virtual Network where the Worker Nodes should be provisioned within. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"targetInstanceCount":{"type":"integer","description":"The number of instances which should be run for the Worker Nodes.\n"},"username":{"type":"string","description":"The Username of the local administrator for the Worker Nodes. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"virtualNetworkId":{"type":"string","description":"The ID of the Virtual Network where the Worker Nodes should be provisioned within. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"vmSize":{"type":"string","description":"The Size of the Virtual Machine which should be used as the Worker Nodes. Possible values are `ExtraSmall`, `Small`, `Medium`, `Large`, `ExtraLarge`, `A5`, `A6`, `A7`, `A8`, `A9`, `A10`, `A11`, `Standard_A1_V2`, `Standard_A2_V2`, `Standard_A2m_V2`, `Standard_A3`, `Standard_A4_V2`, `Standard_A4m_V2`, `Standard_A8_V2`, `Standard_A8m_V2`, `Standard_D1`, `Standard_D2`, `Standard_D3`, `Standard_D4`, `Standard_D11`, `Standard_D12`, `Standard_D13`, `Standard_D14`, `Standard_D1_V2`, `Standard_D2_V2`, `Standard_D3_V2`, `Standard_D4_V2`, `Standard_D5_V2`, `Standard_D11_V2`, `Standard_D12_V2`, `Standard_D13_V2`, `Standard_D14_V2`, `Standard_DS1_V2`, `Standard_DS2_V2`, `Standard_DS3_V2`, `Standard_DS4_V2`, `Standard_DS5_V2`, `Standard_DS11_V2`, `Standard_DS12_V2`, `Standard_DS13_V2`, `Standard_DS14_V2`, `Standard_E2_V3`, `Standard_E4_V3`, `Standard_E8_V3`, `Standard_E16_V3`, `Standard_E20_V3`, `Standard_E32_V3`, `Standard_E64_V3`, `Standard_E64i_V3`, `Standard_E2s_V3`, `Standard_E4s_V3`, `Standard_E8s_V3`, `Standard_E16s_V3`, `Standard_E20s_V3`, `Standard_E32s_V3`, `Standard_E64s_V3`, `Standard_E64is_V3`, `Standard_D2a_V4`, `Standard_D4a_V4`, `Standard_D8a_V4`, `Standard_D16a_V4`, `Standard_D32a_V4`, `Standard_D48a_V4`, `Standard_D64a_V4`, `Standard_D96a_V4`, `Standard_E2a_V4`, `Standard_E4a_V4`, `Standard_E8a_V4`, `Standard_E16a_V4`, `Standard_E20a_V4`, `Standard_E32a_V4`, `Standard_E48a_V4`, `Standard_E64a_V4`, `Standard_E96a_V4`, `Standard_D2ads_V5`, `Standard_D4ads_V5`, `Standard_D8ads_V5`, `Standard_D16ads_V5`, `Standard_D32ads_V5`, `Standard_D48ads_V5`, `Standard_D64ads_V5`, `Standard_D96ads_V5`, `Standard_E2ads_V5`, `Standard_E4ads_V5`, `Standard_E8ads_V5`, `Standard_E16ads_V5`, `Standard_E20ads_V5`, `Standard_E32ads_V5`, `Standard_E48ads_V5`, `Standard_E64ads_V5`, `Standard_E96ads_V5`, `Standard_G1`, `Standard_G2`, `Standard_G3`, `Standard_G4`, `Standard_G5`, `Standard_F2s_V2`, `Standard_F4s_V2`, `Standard_F8s_V2`, `Standard_F16s_V2`, `Standard_F32s_V2`, `Standard_F64s_V2`, `Standard_F72s_V2`, `Standard_GS1`, `Standard_GS2`, `Standard_GS3`, `Standard_GS4`, `Standard_GS5` and `Standard_NC24`. Changing this forces a new resource to be created.\n\n\u003e **Note:** High memory instances must be specified for the Head Node (Azure suggests a `Standard_D14_V2`).\n","willReplaceOnChanges":true}},"type":"object","required":["targetInstanceCount","username","vmSize"]},"azure:hdinsight/InteractiveQueryClusterRolesWorkerNodeAutoscale:InteractiveQueryClusterRolesWorkerNodeAutoscale":{"properties":{"recurrence":{"$ref":"#/types/azure:hdinsight/InteractiveQueryClusterRolesWorkerNodeAutoscaleRecurrence:InteractiveQueryClusterRolesWorkerNodeAutoscaleRecurrence","description":"A \u003cspan pulumi-lang-nodejs=\"`recurrence`\" pulumi-lang-dotnet=\"`Recurrence`\" pulumi-lang-go=\"`recurrence`\" pulumi-lang-python=\"`recurrence`\" pulumi-lang-yaml=\"`recurrence`\" pulumi-lang-java=\"`recurrence`\"\u003e`recurrence`\u003c/span\u003e block as defined below.\n"}},"type":"object"},"azure:hdinsight/InteractiveQueryClusterRolesWorkerNodeAutoscaleRecurrence:InteractiveQueryClusterRolesWorkerNodeAutoscaleRecurrence":{"properties":{"schedules":{"type":"array","items":{"$ref":"#/types/azure:hdinsight/InteractiveQueryClusterRolesWorkerNodeAutoscaleRecurrenceSchedule:InteractiveQueryClusterRolesWorkerNodeAutoscaleRecurrenceSchedule"},"description":"A list of \u003cspan pulumi-lang-nodejs=\"`schedule`\" pulumi-lang-dotnet=\"`Schedule`\" pulumi-lang-go=\"`schedule`\" pulumi-lang-python=\"`schedule`\" pulumi-lang-yaml=\"`schedule`\" pulumi-lang-java=\"`schedule`\"\u003e`schedule`\u003c/span\u003e blocks as defined below.\n"},"timezone":{"type":"string","description":"The time zone for the autoscale schedule times.\n"}},"type":"object","required":["schedules","timezone"]},"azure:hdinsight/InteractiveQueryClusterRolesWorkerNodeAutoscaleRecurrenceSchedule:InteractiveQueryClusterRolesWorkerNodeAutoscaleRecurrenceSchedule":{"properties":{"days":{"type":"array","items":{"type":"string"},"description":"The days of the week to perform autoscale. Possible values are `Monday`, `Tuesday`, `Wednesday`, `Thursday`, `Friday`, `Saturday` and `Sunday`.\n"},"targetInstanceCount":{"type":"integer","description":"The number of worker nodes to autoscale at the specified time.\n"},"time":{"type":"string","description":"The time of day to perform the autoscale in 24hour format.\n"}},"type":"object","required":["days","targetInstanceCount","time"]},"azure:hdinsight/InteractiveQueryClusterRolesWorkerNodeScriptAction:InteractiveQueryClusterRolesWorkerNodeScriptAction":{"properties":{"name":{"type":"string","description":"The name of the script action.\n"},"parameters":{"type":"string","description":"The parameters for the script provided.\n"},"uri":{"type":"string","description":"The URI to the script.\n"}},"type":"object","required":["name","uri"]},"azure:hdinsight/InteractiveQueryClusterRolesZookeeperNode:InteractiveQueryClusterRolesZookeeperNode":{"properties":{"password":{"type":"string","description":"The Password associated with the local administrator for the Zookeeper Nodes. Changing this forces a new resource to be created.\n\n\u003e **Note:** If specified, this password must be at least 10 characters in length and must contain at least one digit, one uppercase and one lower case letter, one non-alphanumeric character (except characters ' \" ` \\).\n","secret":true,"willReplaceOnChanges":true},"scriptActions":{"type":"array","items":{"$ref":"#/types/azure:hdinsight/InteractiveQueryClusterRolesZookeeperNodeScriptAction:InteractiveQueryClusterRolesZookeeperNodeScriptAction"},"description":"The script action which will run on the cluster. One or more \u003cspan pulumi-lang-nodejs=\"`scriptActions`\" pulumi-lang-dotnet=\"`ScriptActions`\" pulumi-lang-go=\"`scriptActions`\" pulumi-lang-python=\"`script_actions`\" pulumi-lang-yaml=\"`scriptActions`\" pulumi-lang-java=\"`scriptActions`\"\u003e`script_actions`\u003c/span\u003e blocks as defined above. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sshKeys":{"type":"array","items":{"type":"string"},"description":"A list of SSH Keys which should be used for the local administrator on the Zookeeper Nodes. Changing this forces a new resource to be created.\n\n\u003e **Note:** Either a \u003cspan pulumi-lang-nodejs=\"`password`\" pulumi-lang-dotnet=\"`Password`\" pulumi-lang-go=\"`password`\" pulumi-lang-python=\"`password`\" pulumi-lang-yaml=\"`password`\" pulumi-lang-java=\"`password`\"\u003e`password`\u003c/span\u003e or one or more \u003cspan pulumi-lang-nodejs=\"`sshKeys`\" pulumi-lang-dotnet=\"`SshKeys`\" pulumi-lang-go=\"`sshKeys`\" pulumi-lang-python=\"`ssh_keys`\" pulumi-lang-yaml=\"`sshKeys`\" pulumi-lang-java=\"`sshKeys`\"\u003e`ssh_keys`\u003c/span\u003e must be specified - but not both.\n","willReplaceOnChanges":true},"subnetId":{"type":"string","description":"The ID of the Subnet within the Virtual Network where the Zookeeper Nodes should be provisioned within. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"username":{"type":"string","description":"The Username of the local administrator for the Zookeeper Nodes. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"virtualNetworkId":{"type":"string","description":"The ID of the Virtual Network where the Zookeeper Nodes should be provisioned within. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"vmSize":{"type":"string","description":"The Size of the Virtual Machine which should be used as the Zookeeper Nodes. Possible values are `ExtraSmall`, `Small`, `Medium`, `Large`, `ExtraLarge`, `A5`, `A6`, `A7`, `A8`, `A9`, `A10`, `A11`, `Standard_A1_V2`, `Standard_A2_V2`, `Standard_A2m_V2`, `Standard_A3`, `Standard_A4_V2`, `Standard_A4m_V2`, `Standard_A8_V2`, `Standard_A8m_V2`, `Standard_D1`, `Standard_D2`, `Standard_D3`, `Standard_D4`, `Standard_D11`, `Standard_D12`, `Standard_D13`, `Standard_D14`, `Standard_D1_V2`, `Standard_D2_V2`, `Standard_D3_V2`, `Standard_D4_V2`, `Standard_D5_V2`, `Standard_D11_V2`, `Standard_D12_V2`, `Standard_D13_V2`, `Standard_D14_V2`, `Standard_DS1_V2`, `Standard_DS2_V2`, `Standard_DS3_V2`, `Standard_DS4_V2`, `Standard_DS5_V2`, `Standard_DS11_V2`, `Standard_DS12_V2`, `Standard_DS13_V2`, `Standard_DS14_V2`, `Standard_E2_V3`, `Standard_E4_V3`, `Standard_E8_V3`, `Standard_E16_V3`, `Standard_E20_V3`, `Standard_E32_V3`, `Standard_E64_V3`, `Standard_E64i_V3`, `Standard_E2s_V3`, `Standard_E4s_V3`, `Standard_E8s_V3`, `Standard_E16s_V3`, `Standard_E20s_V3`, `Standard_E32s_V3`, `Standard_E64s_V3`, `Standard_E64is_V3`, `Standard_D2a_V4`, `Standard_D4a_V4`, `Standard_D8a_V4`, `Standard_D16a_V4`, `Standard_D32a_V4`, `Standard_D48a_V4`, `Standard_D64a_V4`, `Standard_D96a_V4`, `Standard_E2a_V4`, `Standard_E4a_V4`, `Standard_E8a_V4`, `Standard_E16a_V4`, `Standard_E20a_V4`, `Standard_E32a_V4`, `Standard_E48a_V4`, `Standard_E64a_V4`, `Standard_E96a_V4`, `Standard_D2ads_V5`, `Standard_D4ads_V5`, `Standard_D8ads_V5`, `Standard_D16ads_V5`, `Standard_D32ads_V5`, `Standard_D48ads_V5`, `Standard_D64ads_V5`, `Standard_D96ads_V5`, `Standard_E2ads_V5`, `Standard_E4ads_V5`, `Standard_E8ads_V5`, `Standard_E16ads_V5`, `Standard_E20ads_V5`, `Standard_E32ads_V5`, `Standard_E48ads_V5`, `Standard_E64ads_V5`, `Standard_E96ads_V5`, `Standard_G1`, `Standard_G2`, `Standard_G3`, `Standard_G4`, `Standard_G5`, `Standard_F2s_V2`, `Standard_F4s_V2`, `Standard_F8s_V2`, `Standard_F16s_V2`, `Standard_F32s_V2`, `Standard_F64s_V2`, `Standard_F72s_V2`, `Standard_GS1`, `Standard_GS2`, `Standard_GS3`, `Standard_GS4`, `Standard_GS5` and `Standard_NC24`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["username","vmSize"]},"azure:hdinsight/InteractiveQueryClusterRolesZookeeperNodeScriptAction:InteractiveQueryClusterRolesZookeeperNodeScriptAction":{"properties":{"name":{"type":"string","description":"The name of the script action.\n"},"parameters":{"type":"string","description":"The parameters for the script provided.\n"},"uri":{"type":"string","description":"The URI to the script.\n"}},"type":"object","required":["name","uri"]},"azure:hdinsight/InteractiveQueryClusterSecurityProfile:InteractiveQueryClusterSecurityProfile":{"properties":{"aaddsResourceId":{"type":"string","description":"The resource ID of the Azure Active Directory Domain Service. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"clusterUsersGroupDns":{"type":"array","items":{"type":"string"},"description":"A list of the distinguished names for the cluster user groups. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"domainName":{"type":"string","description":"The name of the Azure Active Directory Domain. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"domainUserPassword":{"type":"string","description":"The user password of the Azure Active Directory Domain. Changing this forces a new resource to be created.\n","secret":true,"willReplaceOnChanges":true},"domainUsername":{"type":"string","description":"The username of the Azure Active Directory Domain. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"ldapsUrls":{"type":"array","items":{"type":"string"},"description":"A list of the LDAPS URLs to communicate with the Azure Active Directory. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"msiResourceId":{"type":"string","description":"The User Assigned Identity for the HDInsight Cluster. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["aaddsResourceId","domainName","domainUserPassword","domainUsername","ldapsUrls","msiResourceId"]},"azure:hdinsight/InteractiveQueryClusterStorageAccount:InteractiveQueryClusterStorageAccount":{"properties":{"isDefault":{"type":"boolean","description":"Is this the Default Storage Account for the HDInsight Hadoop Cluster? Changing this forces a new resource to be created.\n\n\u003e **Note:** One of the \u003cspan pulumi-lang-nodejs=\"`storageAccount`\" pulumi-lang-dotnet=\"`StorageAccount`\" pulumi-lang-go=\"`storageAccount`\" pulumi-lang-python=\"`storage_account`\" pulumi-lang-yaml=\"`storageAccount`\" pulumi-lang-java=\"`storageAccount`\"\u003e`storage_account`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`storageAccountGen2`\" pulumi-lang-dotnet=\"`StorageAccountGen2`\" pulumi-lang-go=\"`storageAccountGen2`\" pulumi-lang-python=\"`storage_account_gen2`\" pulumi-lang-yaml=\"`storageAccountGen2`\" pulumi-lang-java=\"`storageAccountGen2`\"\u003e`storage_account_gen2`\u003c/span\u003e blocks must be marked as the default.\n","willReplaceOnChanges":true},"storageAccountKey":{"type":"string","description":"The Access Key which should be used to connect to the Storage Account. Changing this forces a new resource to be created.\n","secret":true,"willReplaceOnChanges":true},"storageContainerId":{"type":"string","description":"The ID of the Storage Container. Changing this forces a new resource to be created.\n\n\u003e **Note:** When the \u003cspan pulumi-lang-nodejs=\"`azure.storage.Container`\" pulumi-lang-dotnet=\"`azure.storage.Container`\" pulumi-lang-go=\"`storage.Container`\" pulumi-lang-python=\"`storage.Container`\" pulumi-lang-yaml=\"`azure.storage.Container`\" pulumi-lang-java=\"`azure.storage.Container`\"\u003e`azure.storage.Container`\u003c/span\u003e resource is created with \u003cspan pulumi-lang-nodejs=\"`storageAccountName`\" pulumi-lang-dotnet=\"`StorageAccountName`\" pulumi-lang-go=\"`storageAccountName`\" pulumi-lang-python=\"`storage_account_name`\" pulumi-lang-yaml=\"`storageAccountName`\" pulumi-lang-java=\"`storageAccountName`\"\u003e`storage_account_name`\u003c/span\u003e, this can be obtained from the \u003cspan pulumi-lang-nodejs=\"`id`\" pulumi-lang-dotnet=\"`Id`\" pulumi-lang-go=\"`id`\" pulumi-lang-python=\"`id`\" pulumi-lang-yaml=\"`id`\" pulumi-lang-java=\"`id`\"\u003e`id`\u003c/span\u003e of the \u003cspan pulumi-lang-nodejs=\"`azure.storage.Container`\" pulumi-lang-dotnet=\"`azure.storage.Container`\" pulumi-lang-go=\"`storage.Container`\" pulumi-lang-python=\"`storage.Container`\" pulumi-lang-yaml=\"`azure.storage.Container`\" pulumi-lang-java=\"`azure.storage.Container`\"\u003e`azure.storage.Container`\u003c/span\u003e resource. When the \u003cspan pulumi-lang-nodejs=\"`azure.storage.Container`\" pulumi-lang-dotnet=\"`azure.storage.Container`\" pulumi-lang-go=\"`storage.Container`\" pulumi-lang-python=\"`storage.Container`\" pulumi-lang-yaml=\"`azure.storage.Container`\" pulumi-lang-java=\"`azure.storage.Container`\"\u003e`azure.storage.Container`\u003c/span\u003e resource is created with \u003cspan pulumi-lang-nodejs=\"`storageAccountId`\" pulumi-lang-dotnet=\"`StorageAccountId`\" pulumi-lang-go=\"`storageAccountId`\" pulumi-lang-python=\"`storage_account_id`\" pulumi-lang-yaml=\"`storageAccountId`\" pulumi-lang-java=\"`storageAccountId`\"\u003e`storage_account_id`\u003c/span\u003e, please use \u003cspan pulumi-lang-nodejs=\"`azure.storage.getContainers`\" pulumi-lang-dotnet=\"`azure.storage.getContainers`\" pulumi-lang-go=\"`storage.getContainers`\" pulumi-lang-python=\"`storage_get_containers`\" pulumi-lang-yaml=\"`azure.storage.getContainers`\" pulumi-lang-java=\"`azure.storage.getContainers`\"\u003e`azure.storage.getContainers`\u003c/span\u003e data source to get the \u003cspan pulumi-lang-nodejs=\"`dataPlaneId`\" pulumi-lang-dotnet=\"`DataPlaneId`\" pulumi-lang-go=\"`dataPlaneId`\" pulumi-lang-python=\"`data_plane_id`\" pulumi-lang-yaml=\"`dataPlaneId`\" pulumi-lang-java=\"`dataPlaneId`\"\u003e`data_plane_id`\u003c/span\u003e of the \u003cspan pulumi-lang-nodejs=\"`azure.storage.Container`\" pulumi-lang-dotnet=\"`azure.storage.Container`\" pulumi-lang-go=\"`storage.Container`\" pulumi-lang-python=\"`storage.Container`\" pulumi-lang-yaml=\"`azure.storage.Container`\" pulumi-lang-java=\"`azure.storage.Container`\"\u003e`azure.storage.Container`\u003c/span\u003e resource for this field.\n","willReplaceOnChanges":true},"storageResourceId":{"type":"string","description":"The ID of the Storage Account. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["isDefault","storageAccountKey","storageContainerId"]},"azure:hdinsight/InteractiveQueryClusterStorageAccountGen2:InteractiveQueryClusterStorageAccountGen2":{"properties":{"filesystemId":{"type":"string","description":"The ID of the Gen2 Filesystem. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"isDefault":{"type":"boolean","description":"Is this the Default Storage Account for the HDInsight Hadoop Cluster? Changing this forces a new resource to be created.\n\n\u003e **Note:** One of the \u003cspan pulumi-lang-nodejs=\"`storageAccount`\" pulumi-lang-dotnet=\"`StorageAccount`\" pulumi-lang-go=\"`storageAccount`\" pulumi-lang-python=\"`storage_account`\" pulumi-lang-yaml=\"`storageAccount`\" pulumi-lang-java=\"`storageAccount`\"\u003e`storage_account`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`storageAccountGen2`\" pulumi-lang-dotnet=\"`StorageAccountGen2`\" pulumi-lang-go=\"`storageAccountGen2`\" pulumi-lang-python=\"`storage_account_gen2`\" pulumi-lang-yaml=\"`storageAccountGen2`\" pulumi-lang-java=\"`storageAccountGen2`\"\u003e`storage_account_gen2`\u003c/span\u003e blocks must be marked as the default.\n","willReplaceOnChanges":true},"managedIdentityResourceId":{"type":"string","description":"The ID of Managed Identity to use for accessing the Gen2 filesystem. Changing this forces a new resource to be created.\n\n\u003e **Note:** This can be obtained from the \u003cspan pulumi-lang-nodejs=\"`id`\" pulumi-lang-dotnet=\"`Id`\" pulumi-lang-go=\"`id`\" pulumi-lang-python=\"`id`\" pulumi-lang-yaml=\"`id`\" pulumi-lang-java=\"`id`\"\u003e`id`\u003c/span\u003e of the \u003cspan pulumi-lang-nodejs=\"`azure.storage.Container`\" pulumi-lang-dotnet=\"`azure.storage.Container`\" pulumi-lang-go=\"`storage.Container`\" pulumi-lang-python=\"`storage.Container`\" pulumi-lang-yaml=\"`azure.storage.Container`\" pulumi-lang-java=\"`azure.storage.Container`\"\u003e`azure.storage.Container`\u003c/span\u003e resource.\n","willReplaceOnChanges":true},"storageResourceId":{"type":"string","description":"The ID of the Storage Account. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["filesystemId","isDefault","managedIdentityResourceId","storageResourceId"]},"azure:hdinsight/KafkaClusterComponentVersion:KafkaClusterComponentVersion":{"properties":{"kafka":{"type":"string","description":"The version of Kafka which should be used for this HDInsight Kafka Cluster. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["kafka"]},"azure:hdinsight/KafkaClusterComputeIsolation:KafkaClusterComputeIsolation":{"properties":{"computeIsolationEnabled":{"type":"boolean","description":"This field indicates whether enable compute isolation or not. Possible values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"hostSku":{"type":"string","description":"The name of the host SKU.\n"}},"type":"object"},"azure:hdinsight/KafkaClusterDiskEncryption:KafkaClusterDiskEncryption":{"properties":{"encryptionAlgorithm":{"type":"string","description":"This is an algorithm identifier for encryption. Possible values are `RSA1_5`, `RSA-OAEP`, `RSA-OAEP-256`.\n"},"encryptionAtHostEnabled":{"type":"boolean","description":"This is indicator to show whether resource disk encryption is enabled.\n"},"keyVaultKeyId":{"type":"string","description":"The ID of the key vault key.\n"},"keyVaultManagedIdentityId":{"type":"string","description":"This is the resource ID of Managed Identity used to access the key vault.\n"}},"type":"object"},"azure:hdinsight/KafkaClusterExtension:KafkaClusterExtension":{"properties":{"logAnalyticsWorkspaceId":{"type":"string","description":"The workspace ID of the log analytics extension.\n"},"primaryKey":{"type":"string","description":"The workspace key of the log analytics extension.\n","secret":true}},"type":"object","required":["logAnalyticsWorkspaceId","primaryKey"]},"azure:hdinsight/KafkaClusterGateway:KafkaClusterGateway":{"properties":{"password":{"type":"string","description":"The password used for the Ambari Portal.\n\n\u003e **Note:** This password must be different from the one used for the \u003cspan pulumi-lang-nodejs=\"`headNode`\" pulumi-lang-dotnet=\"`HeadNode`\" pulumi-lang-go=\"`headNode`\" pulumi-lang-python=\"`head_node`\" pulumi-lang-yaml=\"`headNode`\" pulumi-lang-java=\"`headNode`\"\u003e`head_node`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`workerNode`\" pulumi-lang-dotnet=\"`WorkerNode`\" pulumi-lang-go=\"`workerNode`\" pulumi-lang-python=\"`worker_node`\" pulumi-lang-yaml=\"`workerNode`\" pulumi-lang-java=\"`workerNode`\"\u003e`worker_node`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`zookeeperNode`\" pulumi-lang-dotnet=\"`ZookeeperNode`\" pulumi-lang-go=\"`zookeeperNode`\" pulumi-lang-python=\"`zookeeper_node`\" pulumi-lang-yaml=\"`zookeeperNode`\" pulumi-lang-java=\"`zookeeperNode`\"\u003e`zookeeper_node`\u003c/span\u003e roles.\n","secret":true},"username":{"type":"string","description":"The username used for the Ambari Portal. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["password","username"]},"azure:hdinsight/KafkaClusterMetastores:KafkaClusterMetastores":{"properties":{"ambari":{"$ref":"#/types/azure:hdinsight/KafkaClusterMetastoresAmbari:KafkaClusterMetastoresAmbari","description":"An \u003cspan pulumi-lang-nodejs=\"`ambari`\" pulumi-lang-dotnet=\"`Ambari`\" pulumi-lang-go=\"`ambari`\" pulumi-lang-python=\"`ambari`\" pulumi-lang-yaml=\"`ambari`\" pulumi-lang-java=\"`ambari`\"\u003e`ambari`\u003c/span\u003e block as defined below.\n"},"hive":{"$ref":"#/types/azure:hdinsight/KafkaClusterMetastoresHive:KafkaClusterMetastoresHive","description":"A \u003cspan pulumi-lang-nodejs=\"`hive`\" pulumi-lang-dotnet=\"`Hive`\" pulumi-lang-go=\"`hive`\" pulumi-lang-python=\"`hive`\" pulumi-lang-yaml=\"`hive`\" pulumi-lang-java=\"`hive`\"\u003e`hive`\u003c/span\u003e block as defined below.\n"},"oozie":{"$ref":"#/types/azure:hdinsight/KafkaClusterMetastoresOozie:KafkaClusterMetastoresOozie","description":"An \u003cspan pulumi-lang-nodejs=\"`oozie`\" pulumi-lang-dotnet=\"`Oozie`\" pulumi-lang-go=\"`oozie`\" pulumi-lang-python=\"`oozie`\" pulumi-lang-yaml=\"`oozie`\" pulumi-lang-java=\"`oozie`\"\u003e`oozie`\u003c/span\u003e block as defined below.\n"}},"type":"object"},"azure:hdinsight/KafkaClusterMetastoresAmbari:KafkaClusterMetastoresAmbari":{"properties":{"databaseName":{"type":"string","description":"The external Hive metastore's existing SQL database. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"password":{"type":"string","description":"The external Ambari metastore's existing SQL server admin password. Changing this forces a new resource to be created.\n","secret":true,"willReplaceOnChanges":true},"server":{"type":"string","description":"The fully-qualified domain name (FQDN) of the SQL server to use for the external Ambari metastore. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"username":{"type":"string","description":"The external Ambari metastore's existing SQL server admin username. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["databaseName","password","server","username"]},"azure:hdinsight/KafkaClusterMetastoresHive:KafkaClusterMetastoresHive":{"properties":{"databaseName":{"type":"string","description":"The external Hive metastore's existing SQL database. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"password":{"type":"string","description":"The external Hive metastore's existing SQL server admin password. Changing this forces a new resource to be created.\n","secret":true,"willReplaceOnChanges":true},"server":{"type":"string","description":"The fully-qualified domain name (FQDN) of the SQL server to use for the external Hive metastore. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"username":{"type":"string","description":"The external Hive metastore's existing SQL server admin username. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["databaseName","password","server","username"]},"azure:hdinsight/KafkaClusterMetastoresOozie:KafkaClusterMetastoresOozie":{"properties":{"databaseName":{"type":"string","description":"The external Oozie metastore's existing SQL database. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"password":{"type":"string","description":"The external Oozie metastore's existing SQL server admin password. Changing this forces a new resource to be created.\n","secret":true,"willReplaceOnChanges":true},"server":{"type":"string","description":"The fully-qualified domain name (FQDN) of the SQL server to use for the external Oozie metastore. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"username":{"type":"string","description":"The external Oozie metastore's existing SQL server admin username. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["databaseName","password","server","username"]},"azure:hdinsight/KafkaClusterMonitor:KafkaClusterMonitor":{"properties":{"logAnalyticsWorkspaceId":{"type":"string","description":"The Operations Management Suite (OMS) workspace ID.\n"},"primaryKey":{"type":"string","description":"The Operations Management Suite (OMS) workspace key.\n","secret":true}},"type":"object","required":["logAnalyticsWorkspaceId","primaryKey"]},"azure:hdinsight/KafkaClusterNetwork:KafkaClusterNetwork":{"properties":{"connectionDirection":{"type":"string","description":"The direction of the resource provider connection. Possible values include `Inbound` or `Outbound`. Defaults to `Inbound`. Changing this forces a new resource to be created.\n\n\u003e **Note:** To enabled the private link the \u003cspan pulumi-lang-nodejs=\"`connectionDirection`\" pulumi-lang-dotnet=\"`ConnectionDirection`\" pulumi-lang-go=\"`connectionDirection`\" pulumi-lang-python=\"`connection_direction`\" pulumi-lang-yaml=\"`connectionDirection`\" pulumi-lang-java=\"`connectionDirection`\"\u003e`connection_direction`\u003c/span\u003e must be set to `Outbound`.\n","willReplaceOnChanges":true},"privateLinkEnabled":{"type":"boolean","description":"Is the private link enabled? Possible values include \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"},"azure:hdinsight/KafkaClusterPrivateLinkConfiguration:KafkaClusterPrivateLinkConfiguration":{"properties":{"groupId":{"type":"string","description":"The ID of the private link service group.\n"},"ipConfiguration":{"$ref":"#/types/azure:hdinsight/KafkaClusterPrivateLinkConfigurationIpConfiguration:KafkaClusterPrivateLinkConfigurationIpConfiguration","description":"An \u003cspan pulumi-lang-nodejs=\"`ipConfiguration`\" pulumi-lang-dotnet=\"`IpConfiguration`\" pulumi-lang-go=\"`ipConfiguration`\" pulumi-lang-python=\"`ip_configuration`\" pulumi-lang-yaml=\"`ipConfiguration`\" pulumi-lang-java=\"`ipConfiguration`\"\u003e`ip_configuration`\u003c/span\u003e block as defined below.\n"},"name":{"type":"string","description":"The name of the private link configuration.\n"}},"type":"object","required":["groupId","ipConfiguration","name"]},"azure:hdinsight/KafkaClusterPrivateLinkConfigurationIpConfiguration:KafkaClusterPrivateLinkConfigurationIpConfiguration":{"properties":{"name":{"type":"string","description":"The name of the IP configuration.\n"},"primary":{"type":"boolean","description":"Indicates whether this IP configuration is primary.\n"},"privateIpAddress":{"type":"string","description":"The private IP address of the IP configuration.\n"},"privateIpAllocationMethod":{"type":"string","description":"The private IP allocation method. Possible values are `Dynamic` and `Static`.\n"},"subnetId":{"type":"string","description":"The ID of the Subnet within the Virtual Network where the IP configuration should be provisioned.\n"}},"type":"object","required":["name"]},"azure:hdinsight/KafkaClusterRestProxy:KafkaClusterRestProxy":{"properties":{"securityGroupId":{"type":"string","description":"The Azure Active Directory Security Group ID. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"securityGroupName":{"type":"string","description":"The Azure Active Directory Security Group name. Changing this forces a new resource to be created.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`securityGroupName`\" pulumi-lang-dotnet=\"`SecurityGroupName`\" pulumi-lang-go=\"`securityGroupName`\" pulumi-lang-python=\"`security_group_name`\" pulumi-lang-yaml=\"`securityGroupName`\" pulumi-lang-java=\"`securityGroupName`\"\u003e`security_group_name`\u003c/span\u003e property will be Required in version 3.0 of the AzureRM Provider.\n","willReplaceOnChanges":true}},"type":"object","required":["securityGroupId","securityGroupName"]},"azure:hdinsight/KafkaClusterRoles:KafkaClusterRoles":{"properties":{"headNode":{"$ref":"#/types/azure:hdinsight/KafkaClusterRolesHeadNode:KafkaClusterRolesHeadNode","description":"A \u003cspan pulumi-lang-nodejs=\"`headNode`\" pulumi-lang-dotnet=\"`HeadNode`\" pulumi-lang-go=\"`headNode`\" pulumi-lang-python=\"`head_node`\" pulumi-lang-yaml=\"`headNode`\" pulumi-lang-java=\"`headNode`\"\u003e`head_node`\u003c/span\u003e block as defined above.\n"},"kafkaManagementNode":{"$ref":"#/types/azure:hdinsight/KafkaClusterRolesKafkaManagementNode:KafkaClusterRolesKafkaManagementNode","description":"A \u003cspan pulumi-lang-nodejs=\"`kafkaManagementNode`\" pulumi-lang-dotnet=\"`KafkaManagementNode`\" pulumi-lang-go=\"`kafkaManagementNode`\" pulumi-lang-python=\"`kafka_management_node`\" pulumi-lang-yaml=\"`kafkaManagementNode`\" pulumi-lang-java=\"`kafkaManagementNode`\"\u003e`kafka_management_node`\u003c/span\u003e block as defined below.\n\n\u003e **Note:** This property has been deprecated and will be removed in version 4.0.\n"},"workerNode":{"$ref":"#/types/azure:hdinsight/KafkaClusterRolesWorkerNode:KafkaClusterRolesWorkerNode","description":"A \u003cspan pulumi-lang-nodejs=\"`workerNode`\" pulumi-lang-dotnet=\"`WorkerNode`\" pulumi-lang-go=\"`workerNode`\" pulumi-lang-python=\"`worker_node`\" pulumi-lang-yaml=\"`workerNode`\" pulumi-lang-java=\"`workerNode`\"\u003e`worker_node`\u003c/span\u003e block as defined below.\n"},"zookeeperNode":{"$ref":"#/types/azure:hdinsight/KafkaClusterRolesZookeeperNode:KafkaClusterRolesZookeeperNode","description":"A \u003cspan pulumi-lang-nodejs=\"`zookeeperNode`\" pulumi-lang-dotnet=\"`ZookeeperNode`\" pulumi-lang-go=\"`zookeeperNode`\" pulumi-lang-python=\"`zookeeper_node`\" pulumi-lang-yaml=\"`zookeeperNode`\" pulumi-lang-java=\"`zookeeperNode`\"\u003e`zookeeper_node`\u003c/span\u003e block as defined below.\n"}},"type":"object","required":["headNode","workerNode","zookeeperNode"]},"azure:hdinsight/KafkaClusterRolesHeadNode:KafkaClusterRolesHeadNode":{"properties":{"password":{"type":"string","description":"The Password associated with the local administrator for the Head Nodes. Changing this forces a new resource to be created.\n\n\u003e **Note:** If specified, this password must be at least 10 characters in length and must contain at least one digit, one uppercase and one lower case letter, one non-alphanumeric character (except characters ' \" ` \\).\n","secret":true,"willReplaceOnChanges":true},"scriptActions":{"type":"array","items":{"$ref":"#/types/azure:hdinsight/KafkaClusterRolesHeadNodeScriptAction:KafkaClusterRolesHeadNodeScriptAction"},"description":"The script action which will run on the cluster. One or more \u003cspan pulumi-lang-nodejs=\"`scriptActions`\" pulumi-lang-dotnet=\"`ScriptActions`\" pulumi-lang-go=\"`scriptActions`\" pulumi-lang-python=\"`script_actions`\" pulumi-lang-yaml=\"`scriptActions`\" pulumi-lang-java=\"`scriptActions`\"\u003e`script_actions`\u003c/span\u003e blocks as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sshKeys":{"type":"array","items":{"type":"string"},"description":"A list of SSH Keys which should be used for the local administrator on the Head Nodes. Changing this forces a new resource to be created.\n\n\u003e **Note:** Either a \u003cspan pulumi-lang-nodejs=\"`password`\" pulumi-lang-dotnet=\"`Password`\" pulumi-lang-go=\"`password`\" pulumi-lang-python=\"`password`\" pulumi-lang-yaml=\"`password`\" pulumi-lang-java=\"`password`\"\u003e`password`\u003c/span\u003e or one or more \u003cspan pulumi-lang-nodejs=\"`sshKeys`\" pulumi-lang-dotnet=\"`SshKeys`\" pulumi-lang-go=\"`sshKeys`\" pulumi-lang-python=\"`ssh_keys`\" pulumi-lang-yaml=\"`sshKeys`\" pulumi-lang-java=\"`sshKeys`\"\u003e`ssh_keys`\u003c/span\u003e must be specified - but not both.\n","willReplaceOnChanges":true},"subnetId":{"type":"string","description":"The ID of the Subnet within the Virtual Network where the Head Nodes should be provisioned within. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"username":{"type":"string","description":"The Username of the local administrator for the Head Nodes. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"virtualNetworkId":{"type":"string","description":"The ID of the Virtual Network where the Head Nodes should be provisioned within. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"vmSize":{"type":"string","description":"The Size of the Virtual Machine which should be used as the Head Nodes. Possible values are `ExtraSmall`, `Small`, `Medium`, `Large`, `ExtraLarge`, `A5`, `A6`, `A7`, `A8`, `A9`, `A10`, `A11`, `Standard_A1_V2`, `Standard_A2_V2`, `Standard_A2m_V2`, `Standard_A3`, `Standard_A4_V2`, `Standard_A4m_V2`, `Standard_A8_V2`, `Standard_A8m_V2`, `Standard_D1`, `Standard_D2`, `Standard_D3`, `Standard_D4`, `Standard_D11`, `Standard_D12`, `Standard_D13`, `Standard_D14`, `Standard_D1_V2`, `Standard_D2_V2`, `Standard_D3_V2`, `Standard_D4_V2`, `Standard_D5_V2`, `Standard_D11_V2`, `Standard_D12_V2`, `Standard_D13_V2`, `Standard_D14_V2`, `Standard_DS1_V2`, `Standard_DS2_V2`, `Standard_DS3_V2`, `Standard_DS4_V2`, `Standard_DS5_V2`, `Standard_DS11_V2`, `Standard_DS12_V2`, `Standard_DS13_V2`, `Standard_DS14_V2`, `Standard_E2_V3`, `Standard_E4_V3`, `Standard_E8_V3`, `Standard_E16_V3`, `Standard_E20_V3`, `Standard_E32_V3`, `Standard_E64_V3`, `Standard_E64i_V3`, `Standard_E2s_V3`, `Standard_E4s_V3`, `Standard_E8s_V3`, `Standard_E16s_V3`, `Standard_E20s_V3`, `Standard_E32s_V3`, `Standard_E64s_V3`, `Standard_E64is_V3`, `Standard_D2a_V4`, `Standard_D4a_V4`, `Standard_D8a_V4`, `Standard_D16a_V4`, `Standard_D32a_V4`, `Standard_D48a_V4`, `Standard_D64a_V4`, `Standard_D96a_V4`, `Standard_E2a_V4`, `Standard_E4a_V4`, `Standard_E8a_V4`, `Standard_E16a_V4`, `Standard_E20a_V4`, `Standard_E32a_V4`, `Standard_E48a_V4`, `Standard_E64a_V4`, `Standard_E96a_V4`, `Standard_D2ads_V5`, `Standard_D4ads_V5`, `Standard_D8ads_V5`, `Standard_D16ads_V5`, `Standard_D32ads_V5`, `Standard_D48ads_V5`, `Standard_D64ads_V5`, `Standard_D96ads_V5`, `Standard_E2ads_V5`, `Standard_E4ads_V5`, `Standard_E8ads_V5`, `Standard_E16ads_V5`, `Standard_E20ads_V5`, `Standard_E32ads_V5`, `Standard_E48ads_V5`, `Standard_E64ads_V5`, `Standard_E96ads_V5`, `Standard_G1`, `Standard_G2`, `Standard_G3`, `Standard_G4`, `Standard_G5`, `Standard_F2s_V2`, `Standard_F4s_V2`, `Standard_F8s_V2`, `Standard_F16s_V2`, `Standard_F32s_V2`, `Standard_F64s_V2`, `Standard_F72s_V2`, `Standard_GS1`, `Standard_GS2`, `Standard_GS3`, `Standard_GS4`, `Standard_GS5` and `Standard_NC24`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["username","vmSize"]},"azure:hdinsight/KafkaClusterRolesHeadNodeScriptAction:KafkaClusterRolesHeadNodeScriptAction":{"properties":{"name":{"type":"string","description":"The name of the script action.\n"},"parameters":{"type":"string","description":"The parameters for the script provided.\n"},"uri":{"type":"string","description":"The URI to the script.\n"}},"type":"object","required":["name","uri"]},"azure:hdinsight/KafkaClusterRolesKafkaManagementNode:KafkaClusterRolesKafkaManagementNode":{"properties":{"password":{"type":"string","description":"The Password associated with the local administrator for the Kafka Management Nodes. Changing this forces a new resource to be created.\n\n\u003e **Note:** If specified, this password must be at least 10 characters in length and must contain at least one digit, one uppercase and one lower case letter, one non-alphanumeric character (except characters ' \" ` \\).\n","secret":true,"willReplaceOnChanges":true},"scriptActions":{"type":"array","items":{"$ref":"#/types/azure:hdinsight/KafkaClusterRolesKafkaManagementNodeScriptAction:KafkaClusterRolesKafkaManagementNodeScriptAction"},"description":"The script action which will run on the cluster. One or more \u003cspan pulumi-lang-nodejs=\"`scriptActions`\" pulumi-lang-dotnet=\"`ScriptActions`\" pulumi-lang-go=\"`scriptActions`\" pulumi-lang-python=\"`script_actions`\" pulumi-lang-yaml=\"`scriptActions`\" pulumi-lang-java=\"`scriptActions`\"\u003e`script_actions`\u003c/span\u003e blocks as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sshKeys":{"type":"array","items":{"type":"string"},"description":"A list of SSH Keys which should be used for the local administrator on the Kafka Management Nodes. Changing this forces a new resource to be created.\n\n\u003e **Note:** Either a \u003cspan pulumi-lang-nodejs=\"`password`\" pulumi-lang-dotnet=\"`Password`\" pulumi-lang-go=\"`password`\" pulumi-lang-python=\"`password`\" pulumi-lang-yaml=\"`password`\" pulumi-lang-java=\"`password`\"\u003e`password`\u003c/span\u003e or one or more \u003cspan pulumi-lang-nodejs=\"`sshKeys`\" pulumi-lang-dotnet=\"`SshKeys`\" pulumi-lang-go=\"`sshKeys`\" pulumi-lang-python=\"`ssh_keys`\" pulumi-lang-yaml=\"`sshKeys`\" pulumi-lang-java=\"`sshKeys`\"\u003e`ssh_keys`\u003c/span\u003e must be specified - but not both.\n","willReplaceOnChanges":true},"subnetId":{"type":"string","description":"The ID of the Subnet within the Virtual Network where the Kafka Management Nodes should be provisioned within. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"username":{"type":"string","description":"The Username of the local administrator for the Kafka Management Nodes.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`username`\" pulumi-lang-dotnet=\"`Username`\" pulumi-lang-go=\"`username`\" pulumi-lang-python=\"`username`\" pulumi-lang-yaml=\"`username`\" pulumi-lang-java=\"`username`\"\u003e`username`\u003c/span\u003e value is automatically generated by the service and cannot be user specified. This property will become `Computed` only in 4.0 of the provider.\n"},"virtualNetworkId":{"type":"string","description":"The ID of the Virtual Network where the Kafka Management Nodes should be provisioned within. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"vmSize":{"type":"string","description":"The Size of the Virtual Machine which should be used as the Kafka Management Nodes. Possible values are `ExtraSmall`, `Small`, `Medium`, `Large`, `ExtraLarge`, `A5`, `A6`, `A7`, `A8`, `A9`, `A10`, `A11`, `Standard_A1_V2`, `Standard_A2_V2`, `Standard_A2m_V2`, `Standard_A3`, `Standard_A4_V2`, `Standard_A4m_V2`, `Standard_A8_V2`, `Standard_A8m_V2`, `Standard_D1`, `Standard_D2`, `Standard_D3`, `Standard_D4`, `Standard_D11`, `Standard_D12`, `Standard_D13`, `Standard_D14`, `Standard_D1_V2`, `Standard_D2_V2`, `Standard_D3_V2`, `Standard_D4_V2`, `Standard_D5_V2`, `Standard_D11_V2`, `Standard_D12_V2`, `Standard_D13_V2`, `Standard_D14_V2`, `Standard_DS1_V2`, `Standard_DS2_V2`, `Standard_DS3_V2`, `Standard_DS4_V2`, `Standard_DS5_V2`, `Standard_DS11_V2`, `Standard_DS12_V2`, `Standard_DS13_V2`, `Standard_DS14_V2`, `Standard_E2_V3`, `Standard_E4_V3`, `Standard_E8_V3`, `Standard_E16_V3`, `Standard_E20_V3`, `Standard_E32_V3`, `Standard_E64_V3`, `Standard_E64i_V3`, `Standard_E2s_V3`, `Standard_E4s_V3`, `Standard_E8s_V3`, `Standard_E16s_V3`, `Standard_E20s_V3`, `Standard_E32s_V3`, `Standard_E64s_V3`, `Standard_E64is_V3`, `Standard_D2a_V4`, `Standard_D4a_V4`, `Standard_D8a_V4`, `Standard_D16a_V4`, `Standard_D32a_V4`, `Standard_D48a_V4`, `Standard_D64a_V4`, `Standard_D96a_V4`, `Standard_E2a_V4`, `Standard_E4a_V4`, `Standard_E8a_V4`, `Standard_E16a_V4`, `Standard_E20a_V4`, `Standard_E32a_V4`, `Standard_E48a_V4`, `Standard_E64a_V4`, `Standard_E96a_V4`, `Standard_D2ads_V5`, `Standard_D4ads_V5`, `Standard_D8ads_V5`, `Standard_D16ads_V5`, `Standard_D32ads_V5`, `Standard_D48ads_V5`, `Standard_D64ads_V5`, `Standard_D96ads_V5`, `Standard_E2ads_V5`, `Standard_E4ads_V5`, `Standard_E8ads_V5`, `Standard_E16ads_V5`, `Standard_E20ads_V5`, `Standard_E32ads_V5`, `Standard_E48ads_V5`, `Standard_E64ads_V5`, `Standard_E96ads_V5`, `Standard_G1`, `Standard_G2`, `Standard_G3`, `Standard_G4`, `Standard_G5`, `Standard_F2s_V2`, `Standard_F4s_V2`, `Standard_F8s_V2`, `Standard_F16s_V2`, `Standard_F32s_V2`, `Standard_F64s_V2`, `Standard_F72s_V2`, `Standard_GS1`, `Standard_GS2`, `Standard_GS3`, `Standard_GS4`, `Standard_GS5` and `Standard_NC24`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["vmSize"],"language":{"nodejs":{"requiredOutputs":["username","vmSize"]}}},"azure:hdinsight/KafkaClusterRolesKafkaManagementNodeScriptAction:KafkaClusterRolesKafkaManagementNodeScriptAction":{"properties":{"name":{"type":"string","description":"The name of the script action.\n"},"parameters":{"type":"string","description":"The parameters for the script provided.\n"},"uri":{"type":"string","description":"The URI to the script.\n"}},"type":"object","required":["name","uri"]},"azure:hdinsight/KafkaClusterRolesWorkerNode:KafkaClusterRolesWorkerNode":{"properties":{"numberOfDisksPerNode":{"type":"integer","description":"The number of Data Disks which should be assigned to each Worker Node, which can be between 1 and 8. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"password":{"type":"string","description":"The Password associated with the local administrator for the Worker Nodes. Changing this forces a new resource to be created.\n\n\u003e **Note:** If specified, this password must be at least 10 characters in length and must contain at least one digit, one uppercase and one lower case letter, one non-alphanumeric character (except characters ' \" ` \\).\n","secret":true,"willReplaceOnChanges":true},"scriptActions":{"type":"array","items":{"$ref":"#/types/azure:hdinsight/KafkaClusterRolesWorkerNodeScriptAction:KafkaClusterRolesWorkerNodeScriptAction"},"description":"The script action which will run on the cluster. One or more \u003cspan pulumi-lang-nodejs=\"`scriptActions`\" pulumi-lang-dotnet=\"`ScriptActions`\" pulumi-lang-go=\"`scriptActions`\" pulumi-lang-python=\"`script_actions`\" pulumi-lang-yaml=\"`scriptActions`\" pulumi-lang-java=\"`scriptActions`\"\u003e`script_actions`\u003c/span\u003e blocks as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sshKeys":{"type":"array","items":{"type":"string"},"description":"A list of SSH Keys which should be used for the local administrator on the Worker Nodes. Changing this forces a new resource to be created.\n\n\u003e **Note:** Either a \u003cspan pulumi-lang-nodejs=\"`password`\" pulumi-lang-dotnet=\"`Password`\" pulumi-lang-go=\"`password`\" pulumi-lang-python=\"`password`\" pulumi-lang-yaml=\"`password`\" pulumi-lang-java=\"`password`\"\u003e`password`\u003c/span\u003e or one or more \u003cspan pulumi-lang-nodejs=\"`sshKeys`\" pulumi-lang-dotnet=\"`SshKeys`\" pulumi-lang-go=\"`sshKeys`\" pulumi-lang-python=\"`ssh_keys`\" pulumi-lang-yaml=\"`sshKeys`\" pulumi-lang-java=\"`sshKeys`\"\u003e`ssh_keys`\u003c/span\u003e must be specified - but not both.\n","willReplaceOnChanges":true},"subnetId":{"type":"string","description":"The ID of the Subnet within the Virtual Network where the Worker Nodes should be provisioned within. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"targetInstanceCount":{"type":"integer","description":"The number of instances which should be run for the Worker Nodes.\n"},"username":{"type":"string","description":"The Username of the local administrator for the Worker Nodes. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"virtualNetworkId":{"type":"string","description":"The ID of the Virtual Network where the Worker Nodes should be provisioned within. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"vmSize":{"type":"string","description":"The Size of the Virtual Machine which should be used as the Worker Nodes. Possible values are `ExtraSmall`, `Small`, `Medium`, `Large`, `ExtraLarge`, `A5`, `A6`, `A7`, `A8`, `A9`, `A10`, `A11`, `Standard_A1_V2`, `Standard_A2_V2`, `Standard_A2m_V2`, `Standard_A3`, `Standard_A4_V2`, `Standard_A4m_V2`, `Standard_A8_V2`, `Standard_A8m_V2`, `Standard_D1`, `Standard_D2`, `Standard_D3`, `Standard_D4`, `Standard_D11`, `Standard_D12`, `Standard_D13`, `Standard_D14`, `Standard_D1_V2`, `Standard_D2_V2`, `Standard_D3_V2`, `Standard_D4_V2`, `Standard_D5_V2`, `Standard_D11_V2`, `Standard_D12_V2`, `Standard_D13_V2`, `Standard_D14_V2`, `Standard_DS1_V2`, `Standard_DS2_V2`, `Standard_DS3_V2`, `Standard_DS4_V2`, `Standard_DS5_V2`, `Standard_DS11_V2`, `Standard_DS12_V2`, `Standard_DS13_V2`, `Standard_DS14_V2`, `Standard_E2_V3`, `Standard_E4_V3`, `Standard_E8_V3`, `Standard_E16_V3`, `Standard_E20_V3`, `Standard_E32_V3`, `Standard_E64_V3`, `Standard_E64i_V3`, `Standard_E2s_V3`, `Standard_E4s_V3`, `Standard_E8s_V3`, `Standard_E16s_V3`, `Standard_E20s_V3`, `Standard_E32s_V3`, `Standard_E64s_V3`, `Standard_E64is_V3`, `Standard_D2a_V4`, `Standard_D4a_V4`, `Standard_D8a_V4`, `Standard_D16a_V4`, `Standard_D32a_V4`, `Standard_D48a_V4`, `Standard_D64a_V4`, `Standard_D96a_V4`, `Standard_E2a_V4`, `Standard_E4a_V4`, `Standard_E8a_V4`, `Standard_E16a_V4`, `Standard_E20a_V4`, `Standard_E32a_V4`, `Standard_E48a_V4`, `Standard_E64a_V4`, `Standard_E96a_V4`, `Standard_D2ads_V5`, `Standard_D4ads_V5`, `Standard_D8ads_V5`, `Standard_D16ads_V5`, `Standard_D32ads_V5`, `Standard_D48ads_V5`, `Standard_D64ads_V5`, `Standard_D96ads_V5`, `Standard_E2ads_V5`, `Standard_E4ads_V5`, `Standard_E8ads_V5`, `Standard_E16ads_V5`, `Standard_E20ads_V5`, `Standard_E32ads_V5`, `Standard_E48ads_V5`, `Standard_E64ads_V5`, `Standard_E96ads_V5`, `Standard_G1`, `Standard_G2`, `Standard_G3`, `Standard_G4`, `Standard_G5`, `Standard_F2s_V2`, `Standard_F4s_V2`, `Standard_F8s_V2`, `Standard_F16s_V2`, `Standard_F32s_V2`, `Standard_F64s_V2`, `Standard_F72s_V2`, `Standard_GS1`, `Standard_GS2`, `Standard_GS3`, `Standard_GS4`, `Standard_GS5` and `Standard_NC24`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["numberOfDisksPerNode","targetInstanceCount","username","vmSize"]},"azure:hdinsight/KafkaClusterRolesWorkerNodeScriptAction:KafkaClusterRolesWorkerNodeScriptAction":{"properties":{"name":{"type":"string","description":"The name of the script action.\n"},"parameters":{"type":"string","description":"The parameters for the script provided.\n"},"uri":{"type":"string","description":"The URI to the script.\n"}},"type":"object","required":["name","uri"]},"azure:hdinsight/KafkaClusterRolesZookeeperNode:KafkaClusterRolesZookeeperNode":{"properties":{"password":{"type":"string","description":"The Password associated with the local administrator for the Zookeeper Nodes. Changing this forces a new resource to be created.\n\n\u003e **Note:** If specified, this password must be at least 10 characters in length and must contain at least one digit, one uppercase and one lower case letter, one non-alphanumeric character (except characters ' \" ` \\).\n","secret":true,"willReplaceOnChanges":true},"scriptActions":{"type":"array","items":{"$ref":"#/types/azure:hdinsight/KafkaClusterRolesZookeeperNodeScriptAction:KafkaClusterRolesZookeeperNodeScriptAction"},"description":"The script action which will run on the cluster. One or more \u003cspan pulumi-lang-nodejs=\"`scriptActions`\" pulumi-lang-dotnet=\"`ScriptActions`\" pulumi-lang-go=\"`scriptActions`\" pulumi-lang-python=\"`script_actions`\" pulumi-lang-yaml=\"`scriptActions`\" pulumi-lang-java=\"`scriptActions`\"\u003e`script_actions`\u003c/span\u003e blocks as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sshKeys":{"type":"array","items":{"type":"string"},"description":"A list of SSH Keys which should be used for the local administrator on the Zookeeper Nodes. Changing this forces a new resource to be created.\n\n\u003e **Note:** Either a \u003cspan pulumi-lang-nodejs=\"`password`\" pulumi-lang-dotnet=\"`Password`\" pulumi-lang-go=\"`password`\" pulumi-lang-python=\"`password`\" pulumi-lang-yaml=\"`password`\" pulumi-lang-java=\"`password`\"\u003e`password`\u003c/span\u003e or one or more \u003cspan pulumi-lang-nodejs=\"`sshKeys`\" pulumi-lang-dotnet=\"`SshKeys`\" pulumi-lang-go=\"`sshKeys`\" pulumi-lang-python=\"`ssh_keys`\" pulumi-lang-yaml=\"`sshKeys`\" pulumi-lang-java=\"`sshKeys`\"\u003e`ssh_keys`\u003c/span\u003e must be specified - but not both.\n","willReplaceOnChanges":true},"subnetId":{"type":"string","description":"The ID of the Subnet within the Virtual Network where the Zookeeper Nodes should be provisioned within. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"username":{"type":"string","description":"The Username of the local administrator for the Zookeeper Nodes. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"virtualNetworkId":{"type":"string","description":"The ID of the Virtual Network where the Zookeeper Nodes should be provisioned within. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"vmSize":{"type":"string","description":"The Size of the Virtual Machine which should be used as the Zookeeper Nodes. Possible values are `ExtraSmall`, `Small`, `Medium`, `Large`, `ExtraLarge`, `A5`, `A6`, `A7`, `A8`, `A9`, `A10`, `A11`, `Standard_A1_V2`, `Standard_A2_V2`, `Standard_A2m_V2`, `Standard_A3`, `Standard_A4_V2`, `Standard_A4m_V2`, `Standard_A8_V2`, `Standard_A8m_V2`, `Standard_D1`, `Standard_D2`, `Standard_D3`, `Standard_D4`, `Standard_D11`, `Standard_D12`, `Standard_D13`, `Standard_D14`, `Standard_D1_V2`, `Standard_D2_V2`, `Standard_D3_V2`, `Standard_D4_V2`, `Standard_D5_V2`, `Standard_D11_V2`, `Standard_D12_V2`, `Standard_D13_V2`, `Standard_D14_V2`, `Standard_DS1_V2`, `Standard_DS2_V2`, `Standard_DS3_V2`, `Standard_DS4_V2`, `Standard_DS5_V2`, `Standard_DS11_V2`, `Standard_DS12_V2`, `Standard_DS13_V2`, `Standard_DS14_V2`, `Standard_E2_V3`, `Standard_E4_V3`, `Standard_E8_V3`, `Standard_E16_V3`, `Standard_E20_V3`, `Standard_E32_V3`, `Standard_E64_V3`, `Standard_E64i_V3`, `Standard_E2s_V3`, `Standard_E4s_V3`, `Standard_E8s_V3`, `Standard_E16s_V3`, `Standard_E20s_V3`, `Standard_E32s_V3`, `Standard_E64s_V3`, `Standard_E64is_V3`, `Standard_D2a_V4`, `Standard_D4a_V4`, `Standard_D8a_V4`, `Standard_D16a_V4`, `Standard_D32a_V4`, `Standard_D48a_V4`, `Standard_D64a_V4`, `Standard_D96a_V4`, `Standard_E2a_V4`, `Standard_E4a_V4`, `Standard_E8a_V4`, `Standard_E16a_V4`, `Standard_E20a_V4`, `Standard_E32a_V4`, `Standard_E48a_V4`, `Standard_E64a_V4`, `Standard_E96a_V4`, `Standard_D2ads_V5`, `Standard_D4ads_V5`, `Standard_D8ads_V5`, `Standard_D16ads_V5`, `Standard_D32ads_V5`, `Standard_D48ads_V5`, `Standard_D64ads_V5`, `Standard_D96ads_V5`, `Standard_E2ads_V5`, `Standard_E4ads_V5`, `Standard_E8ads_V5`, `Standard_E16ads_V5`, `Standard_E20ads_V5`, `Standard_E32ads_V5`, `Standard_E48ads_V5`, `Standard_E64ads_V5`, `Standard_E96ads_V5`, `Standard_G1`, `Standard_G2`, `Standard_G3`, `Standard_G4`, `Standard_G5`, `Standard_F2s_V2`, `Standard_F4s_V2`, `Standard_F8s_V2`, `Standard_F16s_V2`, `Standard_F32s_V2`, `Standard_F64s_V2`, `Standard_F72s_V2`, `Standard_GS1`, `Standard_GS2`, `Standard_GS3`, `Standard_GS4`, `Standard_GS5` and `Standard_NC24`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["username","vmSize"]},"azure:hdinsight/KafkaClusterRolesZookeeperNodeScriptAction:KafkaClusterRolesZookeeperNodeScriptAction":{"properties":{"name":{"type":"string","description":"The name of the script action.\n"},"parameters":{"type":"string","description":"The parameters for the script provided.\n"},"uri":{"type":"string","description":"The URI to the script.\n"}},"type":"object","required":["name","uri"]},"azure:hdinsight/KafkaClusterSecurityProfile:KafkaClusterSecurityProfile":{"properties":{"aaddsResourceId":{"type":"string","description":"The resource ID of the Azure Active Directory Domain Service. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"clusterUsersGroupDns":{"type":"array","items":{"type":"string"},"description":"A list of the distinguished names for the cluster user groups. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"domainName":{"type":"string","description":"The name of the Azure Active Directory Domain. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"domainUserPassword":{"type":"string","description":"The user password of the Azure Active Directory Domain. Changing this forces a new resource to be created.\n","secret":true,"willReplaceOnChanges":true},"domainUsername":{"type":"string","description":"The username of the Azure Active Directory Domain. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"ldapsUrls":{"type":"array","items":{"type":"string"},"description":"A list of the LDAPS URLs to communicate with the Azure Active Directory. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"msiResourceId":{"type":"string","description":"The User Assigned Identity for the HDInsight Cluster. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["aaddsResourceId","domainName","domainUserPassword","domainUsername","ldapsUrls","msiResourceId"]},"azure:hdinsight/KafkaClusterStorageAccount:KafkaClusterStorageAccount":{"properties":{"isDefault":{"type":"boolean","description":"Is this the Default Storage Account for the HDInsight Hadoop Cluster? Changing this forces a new resource to be created.\n\n\u003e **Note:** One of the \u003cspan pulumi-lang-nodejs=\"`storageAccount`\" pulumi-lang-dotnet=\"`StorageAccount`\" pulumi-lang-go=\"`storageAccount`\" pulumi-lang-python=\"`storage_account`\" pulumi-lang-yaml=\"`storageAccount`\" pulumi-lang-java=\"`storageAccount`\"\u003e`storage_account`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`storageAccountGen2`\" pulumi-lang-dotnet=\"`StorageAccountGen2`\" pulumi-lang-go=\"`storageAccountGen2`\" pulumi-lang-python=\"`storage_account_gen2`\" pulumi-lang-yaml=\"`storageAccountGen2`\" pulumi-lang-java=\"`storageAccountGen2`\"\u003e`storage_account_gen2`\u003c/span\u003e blocks must be marked as the default.\n","willReplaceOnChanges":true},"storageAccountKey":{"type":"string","description":"The Access Key which should be used to connect to the Storage Account. Changing this forces a new resource to be created.\n","secret":true,"willReplaceOnChanges":true},"storageContainerId":{"type":"string","description":"The ID of the Storage Container. Changing this forces a new resource to be created.\n\n\u003e **Note:** When the \u003cspan pulumi-lang-nodejs=\"`azure.storage.Container`\" pulumi-lang-dotnet=\"`azure.storage.Container`\" pulumi-lang-go=\"`storage.Container`\" pulumi-lang-python=\"`storage.Container`\" pulumi-lang-yaml=\"`azure.storage.Container`\" pulumi-lang-java=\"`azure.storage.Container`\"\u003e`azure.storage.Container`\u003c/span\u003e resource is created with \u003cspan pulumi-lang-nodejs=\"`storageAccountName`\" pulumi-lang-dotnet=\"`StorageAccountName`\" pulumi-lang-go=\"`storageAccountName`\" pulumi-lang-python=\"`storage_account_name`\" pulumi-lang-yaml=\"`storageAccountName`\" pulumi-lang-java=\"`storageAccountName`\"\u003e`storage_account_name`\u003c/span\u003e, this can be obtained from the \u003cspan pulumi-lang-nodejs=\"`id`\" pulumi-lang-dotnet=\"`Id`\" pulumi-lang-go=\"`id`\" pulumi-lang-python=\"`id`\" pulumi-lang-yaml=\"`id`\" pulumi-lang-java=\"`id`\"\u003e`id`\u003c/span\u003e of the \u003cspan pulumi-lang-nodejs=\"`azure.storage.Container`\" pulumi-lang-dotnet=\"`azure.storage.Container`\" pulumi-lang-go=\"`storage.Container`\" pulumi-lang-python=\"`storage.Container`\" pulumi-lang-yaml=\"`azure.storage.Container`\" pulumi-lang-java=\"`azure.storage.Container`\"\u003e`azure.storage.Container`\u003c/span\u003e resource. When the \u003cspan pulumi-lang-nodejs=\"`azure.storage.Container`\" pulumi-lang-dotnet=\"`azure.storage.Container`\" pulumi-lang-go=\"`storage.Container`\" pulumi-lang-python=\"`storage.Container`\" pulumi-lang-yaml=\"`azure.storage.Container`\" pulumi-lang-java=\"`azure.storage.Container`\"\u003e`azure.storage.Container`\u003c/span\u003e resource is created with \u003cspan pulumi-lang-nodejs=\"`storageAccountId`\" pulumi-lang-dotnet=\"`StorageAccountId`\" pulumi-lang-go=\"`storageAccountId`\" pulumi-lang-python=\"`storage_account_id`\" pulumi-lang-yaml=\"`storageAccountId`\" pulumi-lang-java=\"`storageAccountId`\"\u003e`storage_account_id`\u003c/span\u003e, please use \u003cspan pulumi-lang-nodejs=\"`azure.storage.getContainers`\" pulumi-lang-dotnet=\"`azure.storage.getContainers`\" pulumi-lang-go=\"`storage.getContainers`\" pulumi-lang-python=\"`storage_get_containers`\" pulumi-lang-yaml=\"`azure.storage.getContainers`\" pulumi-lang-java=\"`azure.storage.getContainers`\"\u003e`azure.storage.getContainers`\u003c/span\u003e data source to get the \u003cspan pulumi-lang-nodejs=\"`dataPlaneId`\" pulumi-lang-dotnet=\"`DataPlaneId`\" pulumi-lang-go=\"`dataPlaneId`\" pulumi-lang-python=\"`data_plane_id`\" pulumi-lang-yaml=\"`dataPlaneId`\" pulumi-lang-java=\"`dataPlaneId`\"\u003e`data_plane_id`\u003c/span\u003e of the \u003cspan pulumi-lang-nodejs=\"`azure.storage.Container`\" pulumi-lang-dotnet=\"`azure.storage.Container`\" pulumi-lang-go=\"`storage.Container`\" pulumi-lang-python=\"`storage.Container`\" pulumi-lang-yaml=\"`azure.storage.Container`\" pulumi-lang-java=\"`azure.storage.Container`\"\u003e`azure.storage.Container`\u003c/span\u003e resource for this field.\n","willReplaceOnChanges":true},"storageResourceId":{"type":"string","description":"The ID of the Storage Account. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["isDefault","storageAccountKey","storageContainerId"]},"azure:hdinsight/KafkaClusterStorageAccountGen2:KafkaClusterStorageAccountGen2":{"properties":{"filesystemId":{"type":"string","description":"The ID of the Gen2 Filesystem. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"isDefault":{"type":"boolean","description":"Is this the Default Storage Account for the HDInsight Hadoop Cluster? Changing this forces a new resource to be created.\n\n\u003e **Note:** One of the \u003cspan pulumi-lang-nodejs=\"`storageAccount`\" pulumi-lang-dotnet=\"`StorageAccount`\" pulumi-lang-go=\"`storageAccount`\" pulumi-lang-python=\"`storage_account`\" pulumi-lang-yaml=\"`storageAccount`\" pulumi-lang-java=\"`storageAccount`\"\u003e`storage_account`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`storageAccountGen2`\" pulumi-lang-dotnet=\"`StorageAccountGen2`\" pulumi-lang-go=\"`storageAccountGen2`\" pulumi-lang-python=\"`storage_account_gen2`\" pulumi-lang-yaml=\"`storageAccountGen2`\" pulumi-lang-java=\"`storageAccountGen2`\"\u003e`storage_account_gen2`\u003c/span\u003e blocks must be marked as the default.\n","willReplaceOnChanges":true},"managedIdentityResourceId":{"type":"string","description":"The ID of Managed Identity to use for accessing the Gen2 filesystem. Changing this forces a new resource to be created.\n\n\u003e **Note:** This can be obtained from the \u003cspan pulumi-lang-nodejs=\"`id`\" pulumi-lang-dotnet=\"`Id`\" pulumi-lang-go=\"`id`\" pulumi-lang-python=\"`id`\" pulumi-lang-yaml=\"`id`\" pulumi-lang-java=\"`id`\"\u003e`id`\u003c/span\u003e of the \u003cspan pulumi-lang-nodejs=\"`azure.storage.Container`\" pulumi-lang-dotnet=\"`azure.storage.Container`\" pulumi-lang-go=\"`storage.Container`\" pulumi-lang-python=\"`storage.Container`\" pulumi-lang-yaml=\"`azure.storage.Container`\" pulumi-lang-java=\"`azure.storage.Container`\"\u003e`azure.storage.Container`\u003c/span\u003e resource.\n","willReplaceOnChanges":true},"storageResourceId":{"type":"string","description":"The ID of the Storage Account. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["filesystemId","isDefault","managedIdentityResourceId","storageResourceId"]},"azure:hdinsight/SparkClusterComponentVersion:SparkClusterComponentVersion":{"properties":{"spark":{"type":"string","description":"The version of Spark which should be used for this HDInsight Spark Cluster. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["spark"]},"azure:hdinsight/SparkClusterComputeIsolation:SparkClusterComputeIsolation":{"properties":{"computeIsolationEnabled":{"type":"boolean","description":"This field indicates whether enable compute isolation or not. Possible values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"hostSku":{"type":"string","description":"The name of the host SKU.\n"}},"type":"object"},"azure:hdinsight/SparkClusterDiskEncryption:SparkClusterDiskEncryption":{"properties":{"encryptionAlgorithm":{"type":"string","description":"This is an algorithm identifier for encryption. Possible values are `RSA1_5`, `RSA-OAEP`, `RSA-OAEP-256`.\n"},"encryptionAtHostEnabled":{"type":"boolean","description":"This is indicator to show whether resource disk encryption is enabled.\n"},"keyVaultKeyId":{"type":"string","description":"The ID of the key vault key.\n"},"keyVaultManagedIdentityId":{"type":"string","description":"This is the resource ID of Managed Identity used to access the key vault.\n"}},"type":"object"},"azure:hdinsight/SparkClusterExtension:SparkClusterExtension":{"properties":{"logAnalyticsWorkspaceId":{"type":"string","description":"The workspace ID of the log analytics extension.\n"},"primaryKey":{"type":"string","description":"The workspace key of the log analytics extension.\n","secret":true}},"type":"object","required":["logAnalyticsWorkspaceId","primaryKey"]},"azure:hdinsight/SparkClusterGateway:SparkClusterGateway":{"properties":{"password":{"type":"string","description":"The password used for the Ambari Portal.\n\n\u003e **Note:** This password must be different from the one used for the \u003cspan pulumi-lang-nodejs=\"`headNode`\" pulumi-lang-dotnet=\"`HeadNode`\" pulumi-lang-go=\"`headNode`\" pulumi-lang-python=\"`head_node`\" pulumi-lang-yaml=\"`headNode`\" pulumi-lang-java=\"`headNode`\"\u003e`head_node`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`workerNode`\" pulumi-lang-dotnet=\"`WorkerNode`\" pulumi-lang-go=\"`workerNode`\" pulumi-lang-python=\"`worker_node`\" pulumi-lang-yaml=\"`workerNode`\" pulumi-lang-java=\"`workerNode`\"\u003e`worker_node`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`zookeeperNode`\" pulumi-lang-dotnet=\"`ZookeeperNode`\" pulumi-lang-go=\"`zookeeperNode`\" pulumi-lang-python=\"`zookeeper_node`\" pulumi-lang-yaml=\"`zookeeperNode`\" pulumi-lang-java=\"`zookeeperNode`\"\u003e`zookeeper_node`\u003c/span\u003e roles.\n","secret":true},"username":{"type":"string","description":"The username used for the Ambari Portal. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["password","username"]},"azure:hdinsight/SparkClusterMetastores:SparkClusterMetastores":{"properties":{"ambari":{"$ref":"#/types/azure:hdinsight/SparkClusterMetastoresAmbari:SparkClusterMetastoresAmbari","description":"An \u003cspan pulumi-lang-nodejs=\"`ambari`\" pulumi-lang-dotnet=\"`Ambari`\" pulumi-lang-go=\"`ambari`\" pulumi-lang-python=\"`ambari`\" pulumi-lang-yaml=\"`ambari`\" pulumi-lang-java=\"`ambari`\"\u003e`ambari`\u003c/span\u003e block as defined below.\n"},"hive":{"$ref":"#/types/azure:hdinsight/SparkClusterMetastoresHive:SparkClusterMetastoresHive","description":"A \u003cspan pulumi-lang-nodejs=\"`hive`\" pulumi-lang-dotnet=\"`Hive`\" pulumi-lang-go=\"`hive`\" pulumi-lang-python=\"`hive`\" pulumi-lang-yaml=\"`hive`\" pulumi-lang-java=\"`hive`\"\u003e`hive`\u003c/span\u003e block as defined below.\n"},"oozie":{"$ref":"#/types/azure:hdinsight/SparkClusterMetastoresOozie:SparkClusterMetastoresOozie","description":"An \u003cspan pulumi-lang-nodejs=\"`oozie`\" pulumi-lang-dotnet=\"`Oozie`\" pulumi-lang-go=\"`oozie`\" pulumi-lang-python=\"`oozie`\" pulumi-lang-yaml=\"`oozie`\" pulumi-lang-java=\"`oozie`\"\u003e`oozie`\u003c/span\u003e block as defined below.\n"}},"type":"object"},"azure:hdinsight/SparkClusterMetastoresAmbari:SparkClusterMetastoresAmbari":{"properties":{"databaseName":{"type":"string","description":"The external Hive metastore's existing SQL database. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"password":{"type":"string","description":"The external Ambari metastore's existing SQL server admin password. Changing this forces a new resource to be created.\n","secret":true,"willReplaceOnChanges":true},"server":{"type":"string","description":"The fully-qualified domain name (FQDN) of the SQL server to use for the external Ambari metastore. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"username":{"type":"string","description":"The external Ambari metastore's existing SQL server admin username. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["databaseName","password","server","username"]},"azure:hdinsight/SparkClusterMetastoresHive:SparkClusterMetastoresHive":{"properties":{"databaseName":{"type":"string","description":"The external Hive metastore's existing SQL database. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"password":{"type":"string","description":"The external Hive metastore's existing SQL server admin password. Changing this forces a new resource to be created.\n","secret":true,"willReplaceOnChanges":true},"server":{"type":"string","description":"The fully-qualified domain name (FQDN) of the SQL server to use for the external Hive metastore. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"username":{"type":"string","description":"The external Hive metastore's existing SQL server admin username. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["databaseName","password","server","username"]},"azure:hdinsight/SparkClusterMetastoresOozie:SparkClusterMetastoresOozie":{"properties":{"databaseName":{"type":"string","description":"The external Oozie metastore's existing SQL database. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"password":{"type":"string","description":"The external Oozie metastore's existing SQL server admin password. Changing this forces a new resource to be created.\n","secret":true,"willReplaceOnChanges":true},"server":{"type":"string","description":"The fully-qualified domain name (FQDN) of the SQL server to use for the external Oozie metastore. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"username":{"type":"string","description":"The external Oozie metastore's existing SQL server admin username. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["databaseName","password","server","username"]},"azure:hdinsight/SparkClusterMonitor:SparkClusterMonitor":{"properties":{"logAnalyticsWorkspaceId":{"type":"string","description":"The Operations Management Suite (OMS) workspace ID.\n"},"primaryKey":{"type":"string","description":"The Operations Management Suite (OMS) workspace key.\n","secret":true}},"type":"object","required":["logAnalyticsWorkspaceId","primaryKey"]},"azure:hdinsight/SparkClusterNetwork:SparkClusterNetwork":{"properties":{"connectionDirection":{"type":"string","description":"The direction of the resource provider connection. Possible values include `Inbound` or `Outbound`. Defaults to `Inbound`. Changing this forces a new resource to be created.\n\n\u003e **Note:** To enabled the private link the \u003cspan pulumi-lang-nodejs=\"`connectionDirection`\" pulumi-lang-dotnet=\"`ConnectionDirection`\" pulumi-lang-go=\"`connectionDirection`\" pulumi-lang-python=\"`connection_direction`\" pulumi-lang-yaml=\"`connectionDirection`\" pulumi-lang-java=\"`connectionDirection`\"\u003e`connection_direction`\u003c/span\u003e must be set to `Outbound`.\n","willReplaceOnChanges":true},"privateLinkEnabled":{"type":"boolean","description":"Is the private link enabled? Possible values include \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"},"azure:hdinsight/SparkClusterPrivateLinkConfiguration:SparkClusterPrivateLinkConfiguration":{"properties":{"groupId":{"type":"string","description":"The ID of the private link service group.\n"},"ipConfiguration":{"$ref":"#/types/azure:hdinsight/SparkClusterPrivateLinkConfigurationIpConfiguration:SparkClusterPrivateLinkConfigurationIpConfiguration","description":"An \u003cspan pulumi-lang-nodejs=\"`ipConfiguration`\" pulumi-lang-dotnet=\"`IpConfiguration`\" pulumi-lang-go=\"`ipConfiguration`\" pulumi-lang-python=\"`ip_configuration`\" pulumi-lang-yaml=\"`ipConfiguration`\" pulumi-lang-java=\"`ipConfiguration`\"\u003e`ip_configuration`\u003c/span\u003e block as defined below.\n"},"name":{"type":"string","description":"The name of the private link configuration.\n"}},"type":"object","required":["groupId","ipConfiguration","name"]},"azure:hdinsight/SparkClusterPrivateLinkConfigurationIpConfiguration:SparkClusterPrivateLinkConfigurationIpConfiguration":{"properties":{"name":{"type":"string","description":"The name of the IP configuration.\n"},"primary":{"type":"boolean","description":"Indicates whether this IP configuration is primary.\n"},"privateIpAddress":{"type":"string","description":"The private IP address of the IP configuration.\n"},"privateIpAllocationMethod":{"type":"string","description":"The private IP allocation method. Possible values are `Dynamic` and `Static`.\n"},"subnetId":{"type":"string","description":"The ID of the Subnet within the Virtual Network where the IP configuration should be provisioned.\n"}},"type":"object","required":["name"]},"azure:hdinsight/SparkClusterRoles:SparkClusterRoles":{"properties":{"headNode":{"$ref":"#/types/azure:hdinsight/SparkClusterRolesHeadNode:SparkClusterRolesHeadNode","description":"A \u003cspan pulumi-lang-nodejs=\"`headNode`\" pulumi-lang-dotnet=\"`HeadNode`\" pulumi-lang-go=\"`headNode`\" pulumi-lang-python=\"`head_node`\" pulumi-lang-yaml=\"`headNode`\" pulumi-lang-java=\"`headNode`\"\u003e`head_node`\u003c/span\u003e block as defined above.\n"},"workerNode":{"$ref":"#/types/azure:hdinsight/SparkClusterRolesWorkerNode:SparkClusterRolesWorkerNode","description":"A \u003cspan pulumi-lang-nodejs=\"`workerNode`\" pulumi-lang-dotnet=\"`WorkerNode`\" pulumi-lang-go=\"`workerNode`\" pulumi-lang-python=\"`worker_node`\" pulumi-lang-yaml=\"`workerNode`\" pulumi-lang-java=\"`workerNode`\"\u003e`worker_node`\u003c/span\u003e block as defined below.\n"},"zookeeperNode":{"$ref":"#/types/azure:hdinsight/SparkClusterRolesZookeeperNode:SparkClusterRolesZookeeperNode","description":"A \u003cspan pulumi-lang-nodejs=\"`zookeeperNode`\" pulumi-lang-dotnet=\"`ZookeeperNode`\" pulumi-lang-go=\"`zookeeperNode`\" pulumi-lang-python=\"`zookeeper_node`\" pulumi-lang-yaml=\"`zookeeperNode`\" pulumi-lang-java=\"`zookeeperNode`\"\u003e`zookeeper_node`\u003c/span\u003e block as defined below.\n"}},"type":"object","required":["headNode","workerNode","zookeeperNode"]},"azure:hdinsight/SparkClusterRolesHeadNode:SparkClusterRolesHeadNode":{"properties":{"password":{"type":"string","description":"The Password associated with the local administrator for the Head Nodes. Changing this forces a new resource to be created.\n\n\u003e **Note:** If specified, this password must be at least 10 characters in length and must contain at least one digit, one uppercase and one lower case letter, one non-alphanumeric character (except characters ' \" ` \\).\n","secret":true,"willReplaceOnChanges":true},"scriptActions":{"type":"array","items":{"$ref":"#/types/azure:hdinsight/SparkClusterRolesHeadNodeScriptAction:SparkClusterRolesHeadNodeScriptAction"},"description":"The script action which will run on the cluster. One or more \u003cspan pulumi-lang-nodejs=\"`scriptActions`\" pulumi-lang-dotnet=\"`ScriptActions`\" pulumi-lang-go=\"`scriptActions`\" pulumi-lang-python=\"`script_actions`\" pulumi-lang-yaml=\"`scriptActions`\" pulumi-lang-java=\"`scriptActions`\"\u003e`script_actions`\u003c/span\u003e blocks as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sshKeys":{"type":"array","items":{"type":"string"},"description":"A list of SSH Keys which should be used for the local administrator on the Head Nodes. Changing this forces a new resource to be created.\n\n\u003e **Note:** Either a \u003cspan pulumi-lang-nodejs=\"`password`\" pulumi-lang-dotnet=\"`Password`\" pulumi-lang-go=\"`password`\" pulumi-lang-python=\"`password`\" pulumi-lang-yaml=\"`password`\" pulumi-lang-java=\"`password`\"\u003e`password`\u003c/span\u003e or one or more \u003cspan pulumi-lang-nodejs=\"`sshKeys`\" pulumi-lang-dotnet=\"`SshKeys`\" pulumi-lang-go=\"`sshKeys`\" pulumi-lang-python=\"`ssh_keys`\" pulumi-lang-yaml=\"`sshKeys`\" pulumi-lang-java=\"`sshKeys`\"\u003e`ssh_keys`\u003c/span\u003e must be specified - but not both.\n","willReplaceOnChanges":true},"subnetId":{"type":"string","description":"The ID of the Subnet within the Virtual Network where the Head Nodes should be provisioned within. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"username":{"type":"string","description":"The Username of the local administrator for the Head Nodes. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"virtualNetworkId":{"type":"string","description":"The ID of the Virtual Network where the Head Nodes should be provisioned within. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"vmSize":{"type":"string","description":"The Size of the Virtual Machine which should be used as the Head Nodes. Possible values are `ExtraSmall`, `Small`, `Medium`, `Large`, `ExtraLarge`, `A5`, `A6`, `A7`, `A8`, `A9`, `A10`, `A11`, `Standard_A1_V2`, `Standard_A2_V2`, `Standard_A2m_V2`, `Standard_A3`, `Standard_A4_V2`, `Standard_A4m_V2`, `Standard_A8_V2`, `Standard_A8m_V2`, `Standard_D1`, `Standard_D2`, `Standard_D3`, `Standard_D4`, `Standard_D11`, `Standard_D12`, `Standard_D13`, `Standard_D14`, `Standard_D1_V2`, `Standard_D2_V2`, `Standard_D3_V2`, `Standard_D4_V2`, `Standard_D5_V2`, `Standard_D11_V2`, `Standard_D12_V2`, `Standard_D13_V2`, `Standard_D14_V2`, `Standard_DS1_V2`, `Standard_DS2_V2`, `Standard_DS3_V2`, `Standard_DS4_V2`, `Standard_DS5_V2`, `Standard_DS11_V2`, `Standard_DS12_V2`, `Standard_DS13_V2`, `Standard_DS14_V2`, `Standard_E2_V3`, `Standard_E4_V3`, `Standard_E8_V3`, `Standard_E16_V3`, `Standard_E20_V3`, `Standard_E32_V3`, `Standard_E64_V3`, `Standard_E64i_V3`, `Standard_E2s_V3`, `Standard_E4s_V3`, `Standard_E8s_V3`, `Standard_E16s_V3`, `Standard_E20s_V3`, `Standard_E32s_V3`, `Standard_E64s_V3`, `Standard_E64is_V3`, `Standard_D2a_V4`, `Standard_D4a_V4`, `Standard_D8a_V4`, `Standard_D16a_V4`, `Standard_D32a_V4`, `Standard_D48a_V4`, `Standard_D64a_V4`, `Standard_D96a_V4`, `Standard_E2a_V4`, `Standard_E4a_V4`, `Standard_E8a_V4`, `Standard_E16a_V4`, `Standard_E20a_V4`, `Standard_E32a_V4`, `Standard_E48a_V4`, `Standard_E64a_V4`, `Standard_E96a_V4`, `Standard_D2ads_V5`, `Standard_D4ads_V5`, `Standard_D8ads_V5`, `Standard_D16ads_V5`, `Standard_D32ads_V5`, `Standard_D48ads_V5`, `Standard_D64ads_V5`, `Standard_D96ads_V5`, `Standard_E2ads_V5`, `Standard_E4ads_V5`, `Standard_E8ads_V5`, `Standard_E16ads_V5`, `Standard_E20ads_V5`, `Standard_E32ads_V5`, `Standard_E48ads_V5`, `Standard_E64ads_V5`, `Standard_E96ads_V5`, `Standard_D2ads_V5`, `Standard_D4ads_V5`, `Standard_D8ads_V5`, `Standard_D16ads_V5`, `Standard_D32ads_V5`, `Standard_D48ads_V5`, `Standard_D64ads_V5`, `Standard_D96ads_V5`, `Standard_E2ads_V5`, `Standard_E4ads_V5`, `Standard_E8ads_V5`, `Standard_E16ads_V5`, `Standard_E20ads_V5`, `Standard_E32ads_V5`, `Standard_E48ads_V5`, `Standard_E64ads_V5`, `Standard_E96ads_V5`, `Standard_G1`, `Standard_G2`, `Standard_G3`, `Standard_G4`, `Standard_G5`, `Standard_F2s_V2`, `Standard_F4s_V2`, `Standard_F8s_V2`, `Standard_F16s_V2`, `Standard_F32s_V2`, `Standard_F64s_V2`, `Standard_F72s_V2`, `Standard_GS1`, `Standard_GS2`, `Standard_GS3`, `Standard_GS4`, `Standard_GS5` and `Standard_NC24`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["username","vmSize"]},"azure:hdinsight/SparkClusterRolesHeadNodeScriptAction:SparkClusterRolesHeadNodeScriptAction":{"properties":{"name":{"type":"string","description":"The name of the script action.\n"},"parameters":{"type":"string","description":"The parameters for the script provided.\n"},"uri":{"type":"string","description":"The URI to the script.\n"}},"type":"object","required":["name","uri"]},"azure:hdinsight/SparkClusterRolesWorkerNode:SparkClusterRolesWorkerNode":{"properties":{"autoscale":{"$ref":"#/types/azure:hdinsight/SparkClusterRolesWorkerNodeAutoscale:SparkClusterRolesWorkerNodeAutoscale","description":"A \u003cspan pulumi-lang-nodejs=\"`autoscale`\" pulumi-lang-dotnet=\"`Autoscale`\" pulumi-lang-go=\"`autoscale`\" pulumi-lang-python=\"`autoscale`\" pulumi-lang-yaml=\"`autoscale`\" pulumi-lang-java=\"`autoscale`\"\u003e`autoscale`\u003c/span\u003e block as defined below.\n"},"password":{"type":"string","description":"The Password associated with the local administrator for the Worker Nodes. Changing this forces a new resource to be created.\n\n\u003e **Note:** If specified, this password must be at least 10 characters in length and must contain at least one digit, one uppercase and one lower case letter, one non-alphanumeric character (except characters ' \" ` \\).\n","secret":true,"willReplaceOnChanges":true},"scriptActions":{"type":"array","items":{"$ref":"#/types/azure:hdinsight/SparkClusterRolesWorkerNodeScriptAction:SparkClusterRolesWorkerNodeScriptAction"},"description":"The script action which will run on the cluster. One or more \u003cspan pulumi-lang-nodejs=\"`scriptActions`\" pulumi-lang-dotnet=\"`ScriptActions`\" pulumi-lang-go=\"`scriptActions`\" pulumi-lang-python=\"`script_actions`\" pulumi-lang-yaml=\"`scriptActions`\" pulumi-lang-java=\"`scriptActions`\"\u003e`script_actions`\u003c/span\u003e blocks as defined above. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sshKeys":{"type":"array","items":{"type":"string"},"description":"A list of SSH Keys which should be used for the local administrator on the Worker Nodes. Changing this forces a new resource to be created.\n\n\u003e **Note:** Either a \u003cspan pulumi-lang-nodejs=\"`password`\" pulumi-lang-dotnet=\"`Password`\" pulumi-lang-go=\"`password`\" pulumi-lang-python=\"`password`\" pulumi-lang-yaml=\"`password`\" pulumi-lang-java=\"`password`\"\u003e`password`\u003c/span\u003e or one or more \u003cspan pulumi-lang-nodejs=\"`sshKeys`\" pulumi-lang-dotnet=\"`SshKeys`\" pulumi-lang-go=\"`sshKeys`\" pulumi-lang-python=\"`ssh_keys`\" pulumi-lang-yaml=\"`sshKeys`\" pulumi-lang-java=\"`sshKeys`\"\u003e`ssh_keys`\u003c/span\u003e must be specified - but not both.\n","willReplaceOnChanges":true},"subnetId":{"type":"string","description":"The ID of the Subnet within the Virtual Network where the Worker Nodes should be provisioned within. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"targetInstanceCount":{"type":"integer","description":"The number of instances which should be run for the Worker Nodes.\n"},"username":{"type":"string","description":"The Username of the local administrator for the Worker Nodes. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"virtualNetworkId":{"type":"string","description":"The ID of the Virtual Network where the Worker Nodes should be provisioned within. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"vmSize":{"type":"string","description":"The Size of the Virtual Machine which should be used as the Worker Nodes. Possible values are `ExtraSmall`, `Small`, `Medium`, `Large`, `ExtraLarge`, `A5`, `A6`, `A7`, `A8`, `A9`, `A10`, `A11`, `Standard_A1_V2`, `Standard_A2_V2`, `Standard_A2m_V2`, `Standard_A3`, `Standard_A4_V2`, `Standard_A4m_V2`, `Standard_A8_V2`, `Standard_A8m_V2`, `Standard_D1`, `Standard_D2`, `Standard_D3`, `Standard_D4`, `Standard_D11`, `Standard_D12`, `Standard_D13`, `Standard_D14`, `Standard_D1_V2`, `Standard_D2_V2`, `Standard_D3_V2`, `Standard_D4_V2`, `Standard_D5_V2`, `Standard_D11_V2`, `Standard_D12_V2`, `Standard_D13_V2`, `Standard_D14_V2`, `Standard_DS1_V2`, `Standard_DS2_V2`, `Standard_DS3_V2`, `Standard_DS4_V2`, `Standard_DS5_V2`, `Standard_DS11_V2`, `Standard_DS12_V2`, `Standard_DS13_V2`, `Standard_DS14_V2`, `Standard_E2_V3`, `Standard_E4_V3`, `Standard_E8_V3`, `Standard_E16_V3`, `Standard_E20_V3`, `Standard_E32_V3`, `Standard_E64_V3`, `Standard_E64i_V3`, `Standard_E2s_V3`, `Standard_E4s_V3`, `Standard_E8s_V3`, `Standard_E16s_V3`, `Standard_E20s_V3`, `Standard_E32s_V3`, `Standard_E64s_V3`, `Standard_E64is_V3`, `Standard_D2a_V4`, `Standard_D4a_V4`, `Standard_D8a_V4`, `Standard_D16a_V4`, `Standard_D32a_V4`, `Standard_D48a_V4`, `Standard_D64a_V4`, `Standard_D96a_V4`, `Standard_E2a_V4`, `Standard_E4a_V4`, `Standard_E8a_V4`, `Standard_E16a_V4`, `Standard_E20a_V4`, `Standard_E32a_V4`, `Standard_E48a_V4`, `Standard_E64a_V4`, `Standard_E96a_V4`, `Standard_D2ads_V5`, `Standard_D4ads_V5`, `Standard_D8ads_V5`, `Standard_D16ads_V5`, `Standard_D32ads_V5`, `Standard_D48ads_V5`, `Standard_D64ads_V5`, `Standard_D96ads_V5`, `Standard_E2ads_V5`, `Standard_E4ads_V5`, `Standard_E8ads_V5`, `Standard_E16ads_V5`, `Standard_E20ads_V5`, `Standard_E32ads_V5`, `Standard_E48ads_V5`, `Standard_E64ads_V5`, `Standard_E96ads_V5`, `Standard_G1`, `Standard_G2`, `Standard_G3`, `Standard_G4`, `Standard_G5`, `Standard_F2s_V2`, `Standard_F4s_V2`, `Standard_F8s_V2`, `Standard_F16s_V2`, `Standard_F32s_V2`, `Standard_F64s_V2`, `Standard_F72s_V2`, `Standard_GS1`, `Standard_GS2`, `Standard_GS3`, `Standard_GS4`, `Standard_GS5` and `Standard_NC24`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["targetInstanceCount","username","vmSize"]},"azure:hdinsight/SparkClusterRolesWorkerNodeAutoscale:SparkClusterRolesWorkerNodeAutoscale":{"properties":{"capacity":{"$ref":"#/types/azure:hdinsight/SparkClusterRolesWorkerNodeAutoscaleCapacity:SparkClusterRolesWorkerNodeAutoscaleCapacity","description":"A \u003cspan pulumi-lang-nodejs=\"`capacity`\" pulumi-lang-dotnet=\"`Capacity`\" pulumi-lang-go=\"`capacity`\" pulumi-lang-python=\"`capacity`\" pulumi-lang-yaml=\"`capacity`\" pulumi-lang-java=\"`capacity`\"\u003e`capacity`\u003c/span\u003e block as defined below.\n"},"recurrence":{"$ref":"#/types/azure:hdinsight/SparkClusterRolesWorkerNodeAutoscaleRecurrence:SparkClusterRolesWorkerNodeAutoscaleRecurrence","description":"A \u003cspan pulumi-lang-nodejs=\"`recurrence`\" pulumi-lang-dotnet=\"`Recurrence`\" pulumi-lang-go=\"`recurrence`\" pulumi-lang-python=\"`recurrence`\" pulumi-lang-yaml=\"`recurrence`\" pulumi-lang-java=\"`recurrence`\"\u003e`recurrence`\u003c/span\u003e block as defined below.\n\n\u003e **Note:** Either a \u003cspan pulumi-lang-nodejs=\"`capacity`\" pulumi-lang-dotnet=\"`Capacity`\" pulumi-lang-go=\"`capacity`\" pulumi-lang-python=\"`capacity`\" pulumi-lang-yaml=\"`capacity`\" pulumi-lang-java=\"`capacity`\"\u003e`capacity`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`recurrence`\" pulumi-lang-dotnet=\"`Recurrence`\" pulumi-lang-go=\"`recurrence`\" pulumi-lang-python=\"`recurrence`\" pulumi-lang-yaml=\"`recurrence`\" pulumi-lang-java=\"`recurrence`\"\u003e`recurrence`\u003c/span\u003e block must be specified - but not both.\n"}},"type":"object"},"azure:hdinsight/SparkClusterRolesWorkerNodeAutoscaleCapacity:SparkClusterRolesWorkerNodeAutoscaleCapacity":{"properties":{"maxInstanceCount":{"type":"integer","description":"The maximum number of worker nodes to autoscale to based on the cluster's activity.\n"},"minInstanceCount":{"type":"integer","description":"The minimum number of worker nodes to autoscale to based on the cluster's activity.\n"}},"type":"object","required":["maxInstanceCount","minInstanceCount"]},"azure:hdinsight/SparkClusterRolesWorkerNodeAutoscaleRecurrence:SparkClusterRolesWorkerNodeAutoscaleRecurrence":{"properties":{"schedules":{"type":"array","items":{"$ref":"#/types/azure:hdinsight/SparkClusterRolesWorkerNodeAutoscaleRecurrenceSchedule:SparkClusterRolesWorkerNodeAutoscaleRecurrenceSchedule"},"description":"A list of \u003cspan pulumi-lang-nodejs=\"`schedule`\" pulumi-lang-dotnet=\"`Schedule`\" pulumi-lang-go=\"`schedule`\" pulumi-lang-python=\"`schedule`\" pulumi-lang-yaml=\"`schedule`\" pulumi-lang-java=\"`schedule`\"\u003e`schedule`\u003c/span\u003e blocks as defined below.\n"},"timezone":{"type":"string","description":"The time zone for the autoscale schedule times.\n"}},"type":"object","required":["schedules","timezone"]},"azure:hdinsight/SparkClusterRolesWorkerNodeAutoscaleRecurrenceSchedule:SparkClusterRolesWorkerNodeAutoscaleRecurrenceSchedule":{"properties":{"days":{"type":"array","items":{"type":"string"},"description":"The days of the week to perform autoscale. Possible values are `Monday`, `Tuesday`, `Wednesday`, `Thursday`, `Friday`, `Saturday` and `Sunday`.\n"},"targetInstanceCount":{"type":"integer","description":"The number of worker nodes to autoscale at the specified time.\n"},"time":{"type":"string","description":"The time of day to perform the autoscale in 24hour format.\n"}},"type":"object","required":["days","targetInstanceCount","time"]},"azure:hdinsight/SparkClusterRolesWorkerNodeScriptAction:SparkClusterRolesWorkerNodeScriptAction":{"properties":{"name":{"type":"string","description":"The name of the script action.\n"},"parameters":{"type":"string","description":"The parameters for the script provided.\n"},"uri":{"type":"string","description":"The URI to the script.\n"}},"type":"object","required":["name","uri"]},"azure:hdinsight/SparkClusterRolesZookeeperNode:SparkClusterRolesZookeeperNode":{"properties":{"password":{"type":"string","description":"The Password associated with the local administrator for the Zookeeper Nodes. Changing this forces a new resource to be created.\n\n\u003e **Note:** If specified, this password must be at least 10 characters in length and must contain at least one digit, one uppercase and one lower case letter, one non-alphanumeric character (except characters ' \" ` \\).\n","secret":true,"willReplaceOnChanges":true},"scriptActions":{"type":"array","items":{"$ref":"#/types/azure:hdinsight/SparkClusterRolesZookeeperNodeScriptAction:SparkClusterRolesZookeeperNodeScriptAction"},"description":"The script action which will run on the cluster. One or more \u003cspan pulumi-lang-nodejs=\"`scriptActions`\" pulumi-lang-dotnet=\"`ScriptActions`\" pulumi-lang-go=\"`scriptActions`\" pulumi-lang-python=\"`script_actions`\" pulumi-lang-yaml=\"`scriptActions`\" pulumi-lang-java=\"`scriptActions`\"\u003e`script_actions`\u003c/span\u003e blocks as defined above. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sshKeys":{"type":"array","items":{"type":"string"},"description":"A list of SSH Keys which should be used for the local administrator on the Zookeeper Nodes. Changing this forces a new resource to be created.\n\n\u003e **Note:** Either a \u003cspan pulumi-lang-nodejs=\"`password`\" pulumi-lang-dotnet=\"`Password`\" pulumi-lang-go=\"`password`\" pulumi-lang-python=\"`password`\" pulumi-lang-yaml=\"`password`\" pulumi-lang-java=\"`password`\"\u003e`password`\u003c/span\u003e or one or more \u003cspan pulumi-lang-nodejs=\"`sshKeys`\" pulumi-lang-dotnet=\"`SshKeys`\" pulumi-lang-go=\"`sshKeys`\" pulumi-lang-python=\"`ssh_keys`\" pulumi-lang-yaml=\"`sshKeys`\" pulumi-lang-java=\"`sshKeys`\"\u003e`ssh_keys`\u003c/span\u003e must be specified - but not both.\n","willReplaceOnChanges":true},"subnetId":{"type":"string","description":"The ID of the Subnet within the Virtual Network where the Zookeeper Nodes should be provisioned within. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"username":{"type":"string","description":"The Username of the local administrator for the Zookeeper Nodes. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"virtualNetworkId":{"type":"string","description":"The ID of the Virtual Network where the Zookeeper Nodes should be provisioned within. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"vmSize":{"type":"string","description":"The Size of the Virtual Machine which should be used as the Zookeeper Nodes. Possible values are `ExtraSmall`, `Small`, `Medium`, `Large`, `ExtraLarge`, `A5`, `A6`, `A7`, `A8`, `A9`, `A10`, `A11`, `Standard_A1_V2`, `Standard_A2_V2`, `Standard_A2m_V2`, `Standard_A3`, `Standard_A4_V2`, `Standard_A4m_V2`, `Standard_A8_V2`, `Standard_A8m_V2`, `Standard_D1`, `Standard_D2`, `Standard_D3`, `Standard_D4`, `Standard_D11`, `Standard_D12`, `Standard_D13`, `Standard_D14`, `Standard_D1_V2`, `Standard_D2_V2`, `Standard_D3_V2`, `Standard_D4_V2`, `Standard_D5_V2`, `Standard_D11_V2`, `Standard_D12_V2`, `Standard_D13_V2`, `Standard_D14_V2`, `Standard_DS1_V2`, `Standard_DS2_V2`, `Standard_DS3_V2`, `Standard_DS4_V2`, `Standard_DS5_V2`, `Standard_DS11_V2`, `Standard_DS12_V2`, `Standard_DS13_V2`, `Standard_DS14_V2`, `Standard_E2_V3`, `Standard_E4_V3`, `Standard_E8_V3`, `Standard_E16_V3`, `Standard_E20_V3`, `Standard_E32_V3`, `Standard_E64_V3`, `Standard_E64i_V3`, `Standard_E2s_V3`, `Standard_E4s_V3`, `Standard_E8s_V3`, `Standard_E16s_V3`, `Standard_E20s_V3`, `Standard_E32s_V3`, `Standard_E64s_V3`, `Standard_E64is_V3`, `Standard_D2a_V4`, `Standard_D4a_V4`, `Standard_D8a_V4`, `Standard_D16a_V4`, `Standard_D32a_V4`, `Standard_D48a_V4`, `Standard_D64a_V4`, `Standard_D96a_V4`, `Standard_E2a_V4`, `Standard_E4a_V4`, `Standard_E8a_V4`, `Standard_E16a_V4`, `Standard_E20a_V4`, `Standard_E32a_V4`, `Standard_E48a_V4`, `Standard_E64a_V4`, `Standard_E96a_V4`, `Standard_D2ads_V5`, `Standard_D4ads_V5`, `Standard_D8ads_V5`, `Standard_D16ads_V5`, `Standard_D32ads_V5`, `Standard_D48ads_V5`, `Standard_D64ads_V5`, `Standard_D96ads_V5`, `Standard_E2ads_V5`, `Standard_E4ads_V5`, `Standard_E8ads_V5`, `Standard_E16ads_V5`, `Standard_E20ads_V5`, `Standard_E32ads_V5`, `Standard_E48ads_V5`, `Standard_E64ads_V5`, `Standard_E96ads_V5`, `Standard_G1`, `Standard_G2`, `Standard_G3`, `Standard_G4`, `Standard_G5`, `Standard_F2s_V2`, `Standard_F4s_V2`, `Standard_F8s_V2`, `Standard_F16s_V2`, `Standard_F32s_V2`, `Standard_F64s_V2`, `Standard_F72s_V2`, `Standard_GS1`, `Standard_GS2`, `Standard_GS3`, `Standard_GS4`, `Standard_GS5` and `Standard_NC24`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["username","vmSize"]},"azure:hdinsight/SparkClusterRolesZookeeperNodeScriptAction:SparkClusterRolesZookeeperNodeScriptAction":{"properties":{"name":{"type":"string","description":"The name of the script action.\n"},"parameters":{"type":"string","description":"The parameters for the script provided.\n"},"uri":{"type":"string","description":"The URI to the script.\n"}},"type":"object","required":["name","uri"]},"azure:hdinsight/SparkClusterSecurityProfile:SparkClusterSecurityProfile":{"properties":{"aaddsResourceId":{"type":"string","description":"The resource ID of the Azure Active Directory Domain Service. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"clusterUsersGroupDns":{"type":"array","items":{"type":"string"},"description":"A list of the distinguished names for the cluster user groups. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"domainName":{"type":"string","description":"The name of the Azure Active Directory Domain. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"domainUserPassword":{"type":"string","description":"The user password of the Azure Active Directory Domain. Changing this forces a new resource to be created.\n","secret":true,"willReplaceOnChanges":true},"domainUsername":{"type":"string","description":"The username of the Azure Active Directory Domain. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"ldapsUrls":{"type":"array","items":{"type":"string"},"description":"A list of the LDAPS URLs to communicate with the Azure Active Directory. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"msiResourceId":{"type":"string","description":"The User Assigned Identity for the HDInsight Cluster. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["aaddsResourceId","domainName","domainUserPassword","domainUsername","ldapsUrls","msiResourceId"]},"azure:hdinsight/SparkClusterStorageAccount:SparkClusterStorageAccount":{"properties":{"isDefault":{"type":"boolean","description":"Is this the Default Storage Account for the HDInsight Hadoop Cluster? Changing this forces a new resource to be created.\n\n\u003e **Note:** One of the \u003cspan pulumi-lang-nodejs=\"`storageAccount`\" pulumi-lang-dotnet=\"`StorageAccount`\" pulumi-lang-go=\"`storageAccount`\" pulumi-lang-python=\"`storage_account`\" pulumi-lang-yaml=\"`storageAccount`\" pulumi-lang-java=\"`storageAccount`\"\u003e`storage_account`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`storageAccountGen2`\" pulumi-lang-dotnet=\"`StorageAccountGen2`\" pulumi-lang-go=\"`storageAccountGen2`\" pulumi-lang-python=\"`storage_account_gen2`\" pulumi-lang-yaml=\"`storageAccountGen2`\" pulumi-lang-java=\"`storageAccountGen2`\"\u003e`storage_account_gen2`\u003c/span\u003e blocks must be marked as the default.\n","willReplaceOnChanges":true},"storageAccountKey":{"type":"string","description":"The Access Key which should be used to connect to the Storage Account. Changing this forces a new resource to be created.\n","secret":true,"willReplaceOnChanges":true},"storageContainerId":{"type":"string","description":"The ID of the Storage Container. Changing this forces a new resource to be created.\n\n\u003e **Note:** When the \u003cspan pulumi-lang-nodejs=\"`azure.storage.Container`\" pulumi-lang-dotnet=\"`azure.storage.Container`\" pulumi-lang-go=\"`storage.Container`\" pulumi-lang-python=\"`storage.Container`\" pulumi-lang-yaml=\"`azure.storage.Container`\" pulumi-lang-java=\"`azure.storage.Container`\"\u003e`azure.storage.Container`\u003c/span\u003e resource is created with \u003cspan pulumi-lang-nodejs=\"`storageAccountName`\" pulumi-lang-dotnet=\"`StorageAccountName`\" pulumi-lang-go=\"`storageAccountName`\" pulumi-lang-python=\"`storage_account_name`\" pulumi-lang-yaml=\"`storageAccountName`\" pulumi-lang-java=\"`storageAccountName`\"\u003e`storage_account_name`\u003c/span\u003e, this can be obtained from the \u003cspan pulumi-lang-nodejs=\"`id`\" pulumi-lang-dotnet=\"`Id`\" pulumi-lang-go=\"`id`\" pulumi-lang-python=\"`id`\" pulumi-lang-yaml=\"`id`\" pulumi-lang-java=\"`id`\"\u003e`id`\u003c/span\u003e of the \u003cspan pulumi-lang-nodejs=\"`azure.storage.Container`\" pulumi-lang-dotnet=\"`azure.storage.Container`\" pulumi-lang-go=\"`storage.Container`\" pulumi-lang-python=\"`storage.Container`\" pulumi-lang-yaml=\"`azure.storage.Container`\" pulumi-lang-java=\"`azure.storage.Container`\"\u003e`azure.storage.Container`\u003c/span\u003e resource. When the \u003cspan pulumi-lang-nodejs=\"`azure.storage.Container`\" pulumi-lang-dotnet=\"`azure.storage.Container`\" pulumi-lang-go=\"`storage.Container`\" pulumi-lang-python=\"`storage.Container`\" pulumi-lang-yaml=\"`azure.storage.Container`\" pulumi-lang-java=\"`azure.storage.Container`\"\u003e`azure.storage.Container`\u003c/span\u003e resource is created with \u003cspan pulumi-lang-nodejs=\"`storageAccountId`\" pulumi-lang-dotnet=\"`StorageAccountId`\" pulumi-lang-go=\"`storageAccountId`\" pulumi-lang-python=\"`storage_account_id`\" pulumi-lang-yaml=\"`storageAccountId`\" pulumi-lang-java=\"`storageAccountId`\"\u003e`storage_account_id`\u003c/span\u003e, please use \u003cspan pulumi-lang-nodejs=\"`azure.storage.getContainers`\" pulumi-lang-dotnet=\"`azure.storage.getContainers`\" pulumi-lang-go=\"`storage.getContainers`\" pulumi-lang-python=\"`storage_get_containers`\" pulumi-lang-yaml=\"`azure.storage.getContainers`\" pulumi-lang-java=\"`azure.storage.getContainers`\"\u003e`azure.storage.getContainers`\u003c/span\u003e data source to get the \u003cspan pulumi-lang-nodejs=\"`dataPlaneId`\" pulumi-lang-dotnet=\"`DataPlaneId`\" pulumi-lang-go=\"`dataPlaneId`\" pulumi-lang-python=\"`data_plane_id`\" pulumi-lang-yaml=\"`dataPlaneId`\" pulumi-lang-java=\"`dataPlaneId`\"\u003e`data_plane_id`\u003c/span\u003e of the \u003cspan pulumi-lang-nodejs=\"`azure.storage.Container`\" pulumi-lang-dotnet=\"`azure.storage.Container`\" pulumi-lang-go=\"`storage.Container`\" pulumi-lang-python=\"`storage.Container`\" pulumi-lang-yaml=\"`azure.storage.Container`\" pulumi-lang-java=\"`azure.storage.Container`\"\u003e`azure.storage.Container`\u003c/span\u003e resource for this field.\n","willReplaceOnChanges":true},"storageResourceId":{"type":"string","description":"The ID of the Storage Account. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["isDefault","storageAccountKey","storageContainerId"]},"azure:hdinsight/SparkClusterStorageAccountGen2:SparkClusterStorageAccountGen2":{"properties":{"filesystemId":{"type":"string","description":"The ID of the Gen2 Filesystem. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"isDefault":{"type":"boolean","description":"Is this the Default Storage Account for the HDInsight Hadoop Cluster? Changing this forces a new resource to be created.\n\n\u003e **Note:** One of the \u003cspan pulumi-lang-nodejs=\"`storageAccount`\" pulumi-lang-dotnet=\"`StorageAccount`\" pulumi-lang-go=\"`storageAccount`\" pulumi-lang-python=\"`storage_account`\" pulumi-lang-yaml=\"`storageAccount`\" pulumi-lang-java=\"`storageAccount`\"\u003e`storage_account`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`storageAccountGen2`\" pulumi-lang-dotnet=\"`StorageAccountGen2`\" pulumi-lang-go=\"`storageAccountGen2`\" pulumi-lang-python=\"`storage_account_gen2`\" pulumi-lang-yaml=\"`storageAccountGen2`\" pulumi-lang-java=\"`storageAccountGen2`\"\u003e`storage_account_gen2`\u003c/span\u003e blocks must be marked as the default.\n","willReplaceOnChanges":true},"managedIdentityResourceId":{"type":"string","description":"The ID of Managed Identity to use for accessing the Gen2 filesystem. Changing this forces a new resource to be created.\n\n\u003e **Note:** This can be obtained from the \u003cspan pulumi-lang-nodejs=\"`id`\" pulumi-lang-dotnet=\"`Id`\" pulumi-lang-go=\"`id`\" pulumi-lang-python=\"`id`\" pulumi-lang-yaml=\"`id`\" pulumi-lang-java=\"`id`\"\u003e`id`\u003c/span\u003e of the \u003cspan pulumi-lang-nodejs=\"`azure.storage.Container`\" pulumi-lang-dotnet=\"`azure.storage.Container`\" pulumi-lang-go=\"`storage.Container`\" pulumi-lang-python=\"`storage.Container`\" pulumi-lang-yaml=\"`azure.storage.Container`\" pulumi-lang-java=\"`azure.storage.Container`\"\u003e`azure.storage.Container`\u003c/span\u003e resource.\n","willReplaceOnChanges":true},"storageResourceId":{"type":"string","description":"The ID of the Storage Account. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["filesystemId","isDefault","managedIdentityResourceId","storageResourceId"]},"azure:hdinsight/getClusterGateway:getClusterGateway":{"properties":{"enabled":{"type":"boolean","description":"Is the Ambari Portal enabled?\n"},"password":{"type":"string","description":"The password used for the Ambari Portal.\n","secret":true},"username":{"type":"string","description":"The username used for the Ambari Portal.\n"}},"type":"object","required":["enabled","password","username"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:healthcare/DicomServiceAuthentication:DicomServiceAuthentication":{"properties":{"audiences":{"type":"array","items":{"type":"string"},"description":"The intended audience to receive authentication tokens for the service. The default value is \u003chttps://dicom.azurehealthcareapis.azure.com\u003e\n"},"authority":{"type":"string","description":"The Azure Active Directory (tenant) that serves as the authentication authority to access the service. The default authority is the Directory defined in the authentication scheme in use when running Terraform.\nAuthority must be registered to Azure AD and in the following format: \u003chttps://{Azure-AD-endpoint}/{tenant-id\u003e}.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["audiences","authority"]}}},"azure:healthcare/DicomServiceCors:DicomServiceCors":{"properties":{"allowCredentials":{"type":"boolean","description":"Whether to allow credentials in CORS. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"allowedHeaders":{"type":"array","items":{"type":"string"},"description":"A list of allowed headers for CORS.\n"},"allowedMethods":{"type":"array","items":{"type":"string"},"description":"A list of allowed methods for CORS.\n"},"allowedOrigins":{"type":"array","items":{"type":"string"},"description":"A list of allowed origins for CORS.\n"},"maxAgeInSeconds":{"type":"integer","description":"The maximum age in seconds for the CORS configuration (must be between 0 and 99998 inclusive).\n"}},"type":"object"},"azure:healthcare/DicomServiceIdentity:DicomServiceIdentity":{"properties":{"identityIds":{"type":"array","items":{"type":"string"},"description":"A list of User Assigned Identity IDs which should be assigned to this Healthcare DICOM service.\n"},"principalId":{"type":"string"},"tenantId":{"type":"string"},"type":{"type":"string","description":"The type of identity used for the Healthcare DICOM service. Possible values are `UserAssigned`, `SystemAssigned` and `SystemAssigned, UserAssigned`. If `UserAssigned` is set, an \u003cspan pulumi-lang-nodejs=\"`identityIds`\" pulumi-lang-dotnet=\"`IdentityIds`\" pulumi-lang-go=\"`identityIds`\" pulumi-lang-python=\"`identity_ids`\" pulumi-lang-yaml=\"`identityIds`\" pulumi-lang-java=\"`identityIds`\"\u003e`identity_ids`\u003c/span\u003e must be set as well.\n"}},"type":"object","required":["type"],"language":{"nodejs":{"requiredOutputs":["principalId","tenantId","type"]}}},"azure:healthcare/DicomServicePrivateEndpoint:DicomServicePrivateEndpoint":{"properties":{"id":{"type":"string","description":"The ID of the Healthcare DICOM Service.\n"},"name":{"type":"string","description":"Specifies the name of the Healthcare DICOM Service. Changing this forces a new Healthcare DICOM Service to be created.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["id","name"]}}},"azure:healthcare/DicomServiceStorage:DicomServiceStorage":{"properties":{"fileSystemName":{"type":"string","description":"The filesystem name of connected storage account. Changing this forces a new Healthcare DICOM Service to be created.\n","willReplaceOnChanges":true},"storageAccountId":{"type":"string","description":"The resource ID of connected storage account. Changing this forces a new Healthcare DICOM Service to be created.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`isHnsEnabled`\" pulumi-lang-dotnet=\"`IsHnsEnabled`\" pulumi-lang-go=\"`isHnsEnabled`\" pulumi-lang-python=\"`is_hns_enabled`\" pulumi-lang-yaml=\"`isHnsEnabled`\" pulumi-lang-java=\"`isHnsEnabled`\"\u003e`is_hns_enabled`\u003c/span\u003e needs to be set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e for the storage account to be used with the Healthcare DICOM Service.\n","willReplaceOnChanges":true}},"type":"object","required":["fileSystemName","storageAccountId"]},"azure:healthcare/FhirServiceAuthentication:FhirServiceAuthentication":{"properties":{"audience":{"type":"string","description":"The intended audience to receive authentication tokens for the service.\n"},"authority":{"type":"string","description":"The Azure Active Directory (tenant) that serves as the authentication authority to access the service. The default authority is the Directory defined in the authentication scheme in use when running Terraform.\nAuthority must be registered to Azure AD and in the following format: \u003chttps://{Azure-AD-endpoint}/{tenant-id\u003e}.\n"},"smartProxyEnabled":{"type":"boolean","description":"Whether smart proxy is enabled.\n"}},"type":"object","required":["audience","authority"]},"azure:healthcare/FhirServiceCors:FhirServiceCors":{"properties":{"allowedHeaders":{"type":"array","items":{"type":"string"},"description":"A set of headers to be allowed via CORS.\n"},"allowedMethods":{"type":"array","items":{"type":"string"},"description":"The methods to be allowed via CORS. Possible values are `DELETE`, `GET`, `HEAD`, `MERGE`, `POST`, `OPTIONS`, `PATCH` and `PUT`.\n"},"allowedOrigins":{"type":"array","items":{"type":"string"},"description":"A set of origins to be allowed via CORS.\n"},"credentialsAllowed":{"type":"boolean","description":"If credentials are allowed via CORS.\n"},"maxAgeInSeconds":{"type":"integer","description":"The max age to be allowed via CORS.\n"}},"type":"object","required":["allowedHeaders","allowedMethods","allowedOrigins"]},"azure:healthcare/FhirServiceIdentity:FhirServiceIdentity":{"properties":{"identityIds":{"type":"array","items":{"type":"string"},"description":"A list of one or more Resource IDs for User Assigned Managed identities to assign. Required when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to `UserAssigned`.\n"},"principalId":{"type":"string"},"tenantId":{"type":"string"},"type":{"type":"string","description":"The type of managed identity to assign. Possible values are `UserAssigned` and `SystemAssigned`.\n"}},"type":"object","required":["type"],"language":{"nodejs":{"requiredOutputs":["principalId","tenantId","type"]}}},"azure:healthcare/FhirServiceOciArtifact:FhirServiceOciArtifact":{"properties":{"digest":{"type":"string","description":"A digest of an image within Azure container registry used for export operations of the service instance to narrow the artifacts down.\n"},"imageName":{"type":"string","description":"An image within Azure container registry used for export operations of the service instance.\n"},"loginServer":{"type":"string","description":"An Azure container registry used for export operations of the service instance.\n"}},"type":"object","required":["loginServer"]},"azure:healthcare/MedtechServiceIdentity:MedtechServiceIdentity":{"properties":{"identityIds":{"type":"array","items":{"type":"string"},"description":"Specifies a list of User Assigned Managed Identity IDs to be assigned to this Healthcare Med Tech Service.\n"},"principalId":{"type":"string","description":"The Principal ID associated with this System Assigned Managed Service Identity.\n"},"tenantId":{"type":"string","description":"The Tenant ID associated with this System Assigned Managed Service Identity.\n"},"type":{"type":"string","description":"Specifies the type of Managed Service Identity that should be configured on this Healthcare Med Tech Service. Possible values are `SystemAssigned`.\n"}},"type":"object","required":["type"],"language":{"nodejs":{"requiredOutputs":["principalId","tenantId","type"]}}},"azure:healthcare/ServiceAuthenticationConfiguration:ServiceAuthenticationConfiguration":{"properties":{"audience":{"type":"string","description":"The intended audience to receive authentication tokens for the service. The default value is https://azurehealthcareapis.com\n"},"authority":{"type":"string","description":"The Azure Active Directory (tenant) that serves as the authentication authority to access the service. The default authority is the Directory defined in the authentication scheme in use when running this provider.\nAuthority must be registered to Azure AD and in the following format: https://{Azure-AD-endpoint}/{tenant-id}.\n"},"smartProxyEnabled":{"type":"boolean","description":"(Boolean) Enables the 'SMART on FHIR' option for mobile and web implementations.\n"}},"type":"object"},"azure:healthcare/ServiceCorsConfiguration:ServiceCorsConfiguration":{"properties":{"allowCredentials":{"type":"boolean","description":"(Boolean) If credentials are allowed via CORS.\n"},"allowedHeaders":{"type":"array","items":{"type":"string"},"description":"A set of headers to be allowed via CORS.\n"},"allowedMethods":{"type":"array","items":{"type":"string"},"description":"The methods to be allowed via CORS. Possible values are `DELETE`, `GET`, `HEAD`, `MERGE`, `POST`, `OPTIONS`, `PATCH` and `PUT`.\n"},"allowedOrigins":{"type":"array","items":{"type":"string"},"description":"A set of origins to be allowed via CORS.\n"},"maxAgeInSeconds":{"type":"integer","description":"The max age to be allowed via CORS.\n"}},"type":"object"},"azure:healthcare/ServiceIdentity:ServiceIdentity":{"properties":{"principalId":{"type":"string"},"tenantId":{"type":"string"},"type":{"type":"string","description":"The type of managed identity to assign. The only possible value is `SystemAssigned`.\n"}},"type":"object","required":["type"],"language":{"nodejs":{"requiredOutputs":["principalId","tenantId","type"]}}},"azure:healthcare/WorkspacePrivateEndpointConnection:WorkspacePrivateEndpointConnection":{"properties":{"id":{"type":"string","description":"The ID of the Healthcare Workspace.\n"},"name":{"type":"string","description":"Specifies the name of the Healthcare Workspace. Changing this forces a new Healthcare Workspace to be created.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["id","name"]}}},"azure:healthcare/getDicomServiceAuthentication:getDicomServiceAuthentication":{"properties":{"audiences":{"type":"array","items":{"type":"string"},"description":"The intended audience to receive authentication tokens for the service. The default value is \u003chttps://dicom.azurehealthcareapis.azure.com\u003e\n"},"authority":{"type":"string","description":"The Azure Active Directory (tenant) that serves as the authentication authority to access the service. The default authority is the Directory defined in the authentication scheme in use when running Terraform.\nAuthority must be registered to Azure AD and in the following format: \u003chttps://{Azure-AD-endpoint}/{tenant-id\u003e}.\n"}},"type":"object","required":["audiences","authority"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:healthcare/getDicomServiceCor:getDicomServiceCor":{"properties":{"allowCredentials":{"type":"boolean","description":"Whether to allow credentials in CORS.\n"},"allowedHeaders":{"type":"array","items":{"type":"string"},"description":"A list of allowed headers for CORS.\n"},"allowedMethods":{"type":"array","items":{"type":"string"},"description":"A list of allowed methods for CORS.\n"},"allowedOrigins":{"type":"array","items":{"type":"string"},"description":"A list of allowed origins for CORS.\n"},"maxAgeInSeconds":{"type":"integer","description":"The maximum age in seconds for the CORS configuration.\n"}},"type":"object","required":["allowCredentials","allowedHeaders","allowedMethods","allowedOrigins","maxAgeInSeconds"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:healthcare/getDicomServiceIdentity:getDicomServiceIdentity":{"properties":{"identityIds":{"type":"array","items":{"type":"string"}},"principalId":{"type":"string"},"tenantId":{"type":"string"},"type":{"type":"string"}},"type":"object","required":["identityIds","principalId","tenantId","type"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:healthcare/getDicomServicePrivateEndpoint:getDicomServicePrivateEndpoint":{"properties":{"id":{"type":"string","description":"The ID of the Healthcare DICOM Service.\n"},"name":{"type":"string","description":"The name of the Healthcare DICOM Service\n"}},"type":"object","required":["id","name"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:healthcare/getDicomServiceStorage:getDicomServiceStorage":{"properties":{"fileSystemName":{"type":"string","description":"The filesystem name of connected storage account.\n"},"storageAccountId":{"type":"string","description":"The resource ID of connected storage account.\n"}},"type":"object","required":["fileSystemName","storageAccountId"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:healthcare/getFhirServiceAuthentication:getFhirServiceAuthentication":{"properties":{"audience":{"type":"string","description":"The intended audience to receive authentication tokens for the service. The default value is `https://\u003cname\u003e.fhir.azurehealthcareapis.com`.\n"},"authority":{"type":"string","description":"The Azure Active Directory (tenant) that serves as the authentication authority to access the service. The default authority is the Directory defined in the authentication scheme in use when running Terraform.\nAuthority must be registered to Azure AD and in the following format: \u003chttps://{Azure-AD-endpoint}/{tenant-id\u003e}.\n"},"smartProxyEnabled":{"type":"boolean"}},"type":"object","required":["audience","authority","smartProxyEnabled"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:healthcare/getFhirServiceCor:getFhirServiceCor":{"properties":{"allowedHeaders":{"type":"array","items":{"type":"string"},"description":"The set of headers to be allowed via CORS.\n"},"allowedMethods":{"type":"array","items":{"type":"string"},"description":"The methods to be allowed via CORS.\n"},"allowedOrigins":{"type":"array","items":{"type":"string"},"description":"The set of origins to be allowed via CORS.\n"},"credentialsAllowed":{"type":"boolean","description":"Are credentials allowed via CORS?\n"},"maxAgeInSeconds":{"type":"integer","description":"The max age to be allowed via CORS.\n"}},"type":"object","required":["allowedHeaders","allowedMethods","allowedOrigins","credentialsAllowed","maxAgeInSeconds"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:healthcare/getFhirServiceIdentity:getFhirServiceIdentity":{"properties":{"identityIds":{"type":"array","items":{"type":"string"}},"principalId":{"type":"string","description":"The Principal ID associated with this System Assigned Managed Service Identity.\n"},"tenantId":{"type":"string","description":"The Tenant ID associated with this System Assigned Managed Service Identity.\n"},"type":{"type":"string","description":"The type of identity used for the Healthcare FHIR service.\n"}},"type":"object","required":["identityIds","principalId","tenantId","type"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:healthcare/getMedtechServiceIdentity:getMedtechServiceIdentity":{"properties":{"identityIds":{"type":"array","items":{"type":"string"}},"principalId":{"type":"string","description":"The Principal ID of the System Assigned Managed Service Identity that is configured on this Healthcare Med Tech Service.\n"},"tenantId":{"type":"string","description":"The Tenant ID of the System Assigned Managed Service Identity that is configured on this Healthcare Med Tech Service.\n"},"type":{"type":"string","description":"The type of identity used for the Healthcare Med Tech Service. Possible values are `SystemAssigned`.\n"}},"type":"object","required":["identityIds","principalId","tenantId","type"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:healthcare/getServiceAuthenticationConfiguration:getServiceAuthenticationConfiguration":{"properties":{"audience":{"type":"string","description":"The intended audience to receive authentication tokens for the service.\n"},"authority":{"type":"string","description":"The Azure Active Directory (tenant) that serves as the authentication authority to access the service.\n"},"smartProxyEnabled":{"type":"boolean","description":"Is the 'SMART on FHIR' option for mobile and web implementations enabled?\n"}},"type":"object","required":["audience","authority","smartProxyEnabled"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:healthcare/getServiceCorsConfiguration:getServiceCorsConfiguration":{"properties":{"allowCredentials":{"type":"boolean","description":"Are credentials are allowed via CORS?\n"},"allowedHeaders":{"type":"array","items":{"type":"string"},"description":"The set of headers to be allowed via CORS.\n"},"allowedMethods":{"type":"array","items":{"type":"string"},"description":"The methods to be allowed via CORS.\n"},"allowedOrigins":{"type":"array","items":{"type":"string"},"description":"The set of origins to be allowed via CORS.\n"},"maxAgeInSeconds":{"type":"integer","description":"The max age to be allowed via CORS.\n"}},"type":"object","required":["allowCredentials","allowedHeaders","allowedMethods","allowedOrigins","maxAgeInSeconds"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:hpc/CacheAccessPolicyAccessRule:CacheAccessPolicyAccessRule":{"properties":{"access":{"type":"string","description":"The access level for this rule. Possible values are: \u003cspan pulumi-lang-nodejs=\"`rw`\" pulumi-lang-dotnet=\"`Rw`\" pulumi-lang-go=\"`rw`\" pulumi-lang-python=\"`rw`\" pulumi-lang-yaml=\"`rw`\" pulumi-lang-java=\"`rw`\"\u003e`rw`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`ro`\" pulumi-lang-dotnet=\"`Ro`\" pulumi-lang-go=\"`ro`\" pulumi-lang-python=\"`ro`\" pulumi-lang-yaml=\"`ro`\" pulumi-lang-java=\"`ro`\"\u003e`ro`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`no`\" pulumi-lang-dotnet=\"`No`\" pulumi-lang-go=\"`no`\" pulumi-lang-python=\"`no`\" pulumi-lang-yaml=\"`no`\" pulumi-lang-java=\"`no`\"\u003e`no`\u003c/span\u003e.\n"},"anonymousGid":{"type":"integer","description":"The anonymous GID used when \u003cspan pulumi-lang-nodejs=\"`rootSquashEnabled`\" pulumi-lang-dotnet=\"`RootSquashEnabled`\" pulumi-lang-go=\"`rootSquashEnabled`\" pulumi-lang-python=\"`root_squash_enabled`\" pulumi-lang-yaml=\"`rootSquashEnabled`\" pulumi-lang-java=\"`rootSquashEnabled`\"\u003e`root_squash_enabled`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"anonymousUid":{"type":"integer","description":"The anonymous UID used when \u003cspan pulumi-lang-nodejs=\"`rootSquashEnabled`\" pulumi-lang-dotnet=\"`RootSquashEnabled`\" pulumi-lang-go=\"`rootSquashEnabled`\" pulumi-lang-python=\"`root_squash_enabled`\" pulumi-lang-yaml=\"`rootSquashEnabled`\" pulumi-lang-java=\"`rootSquashEnabled`\"\u003e`root_squash_enabled`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"filter":{"type":"string","description":"The filter applied to the \u003cspan pulumi-lang-nodejs=\"`scope`\" pulumi-lang-dotnet=\"`Scope`\" pulumi-lang-go=\"`scope`\" pulumi-lang-python=\"`scope`\" pulumi-lang-yaml=\"`scope`\" pulumi-lang-java=\"`scope`\"\u003e`scope`\u003c/span\u003e for this rule. The filter's format depends on its scope: \u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\"\u003e`default`\u003c/span\u003e scope matches all clients and has no filter value; \u003cspan pulumi-lang-nodejs=\"`network`\" pulumi-lang-dotnet=\"`Network`\" pulumi-lang-go=\"`network`\" pulumi-lang-python=\"`network`\" pulumi-lang-yaml=\"`network`\" pulumi-lang-java=\"`network`\"\u003e`network`\u003c/span\u003e scope takes a CIDR format; \u003cspan pulumi-lang-nodejs=\"`host`\" pulumi-lang-dotnet=\"`Host`\" pulumi-lang-go=\"`host`\" pulumi-lang-python=\"`host`\" pulumi-lang-yaml=\"`host`\" pulumi-lang-java=\"`host`\"\u003e`host`\u003c/span\u003e takes an IP address or fully qualified domain name. If a client does not match any filter rule and there is no default rule, access is denied.\n"},"rootSquashEnabled":{"type":"boolean","description":"Whether to enable [root squash](https://docs.microsoft.com/azure/hpc-cache/access-policies#root-squash)?\n"},"scope":{"type":"string","description":"The scope of this rule. The \u003cspan pulumi-lang-nodejs=\"`scope`\" pulumi-lang-dotnet=\"`Scope`\" pulumi-lang-go=\"`scope`\" pulumi-lang-python=\"`scope`\" pulumi-lang-yaml=\"`scope`\" pulumi-lang-java=\"`scope`\"\u003e`scope`\u003c/span\u003e and (potentially) the \u003cspan pulumi-lang-nodejs=\"`filter`\" pulumi-lang-dotnet=\"`Filter`\" pulumi-lang-go=\"`filter`\" pulumi-lang-python=\"`filter`\" pulumi-lang-yaml=\"`filter`\" pulumi-lang-java=\"`filter`\"\u003e`filter`\u003c/span\u003e determine which clients match the rule. Possible values are: \u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\"\u003e`default`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`network`\" pulumi-lang-dotnet=\"`Network`\" pulumi-lang-go=\"`network`\" pulumi-lang-python=\"`network`\" pulumi-lang-yaml=\"`network`\" pulumi-lang-java=\"`network`\"\u003e`network`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`host`\" pulumi-lang-dotnet=\"`Host`\" pulumi-lang-go=\"`host`\" pulumi-lang-python=\"`host`\" pulumi-lang-yaml=\"`host`\" pulumi-lang-java=\"`host`\"\u003e`host`\u003c/span\u003e.\n\n\u003e **Note:** Each \u003cspan pulumi-lang-nodejs=\"`accessRule`\" pulumi-lang-dotnet=\"`AccessRule`\" pulumi-lang-go=\"`accessRule`\" pulumi-lang-python=\"`access_rule`\" pulumi-lang-yaml=\"`accessRule`\" pulumi-lang-java=\"`accessRule`\"\u003e`access_rule`\u003c/span\u003e should set a unique \u003cspan pulumi-lang-nodejs=\"`scope`\" pulumi-lang-dotnet=\"`Scope`\" pulumi-lang-go=\"`scope`\" pulumi-lang-python=\"`scope`\" pulumi-lang-yaml=\"`scope`\" pulumi-lang-java=\"`scope`\"\u003e`scope`\u003c/span\u003e.\n"},"submountAccessEnabled":{"type":"boolean","description":"Whether allow access to subdirectories under the root export?\n"},"suidEnabled":{"type":"boolean","description":"Whether [SUID](https://docs.microsoft.com/azure/hpc-cache/access-policies#suid) is allowed?\n"}},"type":"object","required":["access","scope"]},"azure:hpc/CacheDefaultAccessPolicy:CacheDefaultAccessPolicy":{"properties":{"accessRules":{"type":"array","items":{"$ref":"#/types/azure:hpc/CacheDefaultAccessPolicyAccessRule:CacheDefaultAccessPolicyAccessRule"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`accessRule`\" pulumi-lang-dotnet=\"`AccessRule`\" pulumi-lang-go=\"`accessRule`\" pulumi-lang-python=\"`access_rule`\" pulumi-lang-yaml=\"`accessRule`\" pulumi-lang-java=\"`accessRule`\"\u003e`access_rule`\u003c/span\u003e blocks (up to three) as defined above.\n"}},"type":"object","required":["accessRules"]},"azure:hpc/CacheDefaultAccessPolicyAccessRule:CacheDefaultAccessPolicyAccessRule":{"properties":{"access":{"type":"string","description":"The access level for this rule. Possible values are: \u003cspan pulumi-lang-nodejs=\"`rw`\" pulumi-lang-dotnet=\"`Rw`\" pulumi-lang-go=\"`rw`\" pulumi-lang-python=\"`rw`\" pulumi-lang-yaml=\"`rw`\" pulumi-lang-java=\"`rw`\"\u003e`rw`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`ro`\" pulumi-lang-dotnet=\"`Ro`\" pulumi-lang-go=\"`ro`\" pulumi-lang-python=\"`ro`\" pulumi-lang-yaml=\"`ro`\" pulumi-lang-java=\"`ro`\"\u003e`ro`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`no`\" pulumi-lang-dotnet=\"`No`\" pulumi-lang-go=\"`no`\" pulumi-lang-python=\"`no`\" pulumi-lang-yaml=\"`no`\" pulumi-lang-java=\"`no`\"\u003e`no`\u003c/span\u003e.\n"},"anonymousGid":{"type":"integer","description":"The anonymous GID used when \u003cspan pulumi-lang-nodejs=\"`rootSquashEnabled`\" pulumi-lang-dotnet=\"`RootSquashEnabled`\" pulumi-lang-go=\"`rootSquashEnabled`\" pulumi-lang-python=\"`root_squash_enabled`\" pulumi-lang-yaml=\"`rootSquashEnabled`\" pulumi-lang-java=\"`rootSquashEnabled`\"\u003e`root_squash_enabled`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"anonymousUid":{"type":"integer","description":"The anonymous UID used when \u003cspan pulumi-lang-nodejs=\"`rootSquashEnabled`\" pulumi-lang-dotnet=\"`RootSquashEnabled`\" pulumi-lang-go=\"`rootSquashEnabled`\" pulumi-lang-python=\"`root_squash_enabled`\" pulumi-lang-yaml=\"`rootSquashEnabled`\" pulumi-lang-java=\"`rootSquashEnabled`\"\u003e`root_squash_enabled`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"filter":{"type":"string","description":"The filter applied to the \u003cspan pulumi-lang-nodejs=\"`scope`\" pulumi-lang-dotnet=\"`Scope`\" pulumi-lang-go=\"`scope`\" pulumi-lang-python=\"`scope`\" pulumi-lang-yaml=\"`scope`\" pulumi-lang-java=\"`scope`\"\u003e`scope`\u003c/span\u003e for this rule. The filter's format depends on its scope: \u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\"\u003e`default`\u003c/span\u003e scope matches all clients and has no filter value; \u003cspan pulumi-lang-nodejs=\"`network`\" pulumi-lang-dotnet=\"`Network`\" pulumi-lang-go=\"`network`\" pulumi-lang-python=\"`network`\" pulumi-lang-yaml=\"`network`\" pulumi-lang-java=\"`network`\"\u003e`network`\u003c/span\u003e scope takes a CIDR format; \u003cspan pulumi-lang-nodejs=\"`host`\" pulumi-lang-dotnet=\"`Host`\" pulumi-lang-go=\"`host`\" pulumi-lang-python=\"`host`\" pulumi-lang-yaml=\"`host`\" pulumi-lang-java=\"`host`\"\u003e`host`\u003c/span\u003e takes an IP address or fully qualified domain name. If a client does not match any filter rule and there is no default rule, access is denied.\n"},"rootSquashEnabled":{"type":"boolean","description":"Whether to enable [root squash](https://docs.microsoft.com/azure/hpc-cache/access-policies#root-squash)?\n"},"scope":{"type":"string","description":"The scope of this rule. The \u003cspan pulumi-lang-nodejs=\"`scope`\" pulumi-lang-dotnet=\"`Scope`\" pulumi-lang-go=\"`scope`\" pulumi-lang-python=\"`scope`\" pulumi-lang-yaml=\"`scope`\" pulumi-lang-java=\"`scope`\"\u003e`scope`\u003c/span\u003e and (potentially) the \u003cspan pulumi-lang-nodejs=\"`filter`\" pulumi-lang-dotnet=\"`Filter`\" pulumi-lang-go=\"`filter`\" pulumi-lang-python=\"`filter`\" pulumi-lang-yaml=\"`filter`\" pulumi-lang-java=\"`filter`\"\u003e`filter`\u003c/span\u003e determine which clients match the rule. Possible values are: \u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\"\u003e`default`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`network`\" pulumi-lang-dotnet=\"`Network`\" pulumi-lang-go=\"`network`\" pulumi-lang-python=\"`network`\" pulumi-lang-yaml=\"`network`\" pulumi-lang-java=\"`network`\"\u003e`network`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`host`\" pulumi-lang-dotnet=\"`Host`\" pulumi-lang-go=\"`host`\" pulumi-lang-python=\"`host`\" pulumi-lang-yaml=\"`host`\" pulumi-lang-java=\"`host`\"\u003e`host`\u003c/span\u003e.\n\n\u003e **Note:** Each \u003cspan pulumi-lang-nodejs=\"`accessRule`\" pulumi-lang-dotnet=\"`AccessRule`\" pulumi-lang-go=\"`accessRule`\" pulumi-lang-python=\"`access_rule`\" pulumi-lang-yaml=\"`accessRule`\" pulumi-lang-java=\"`accessRule`\"\u003e`access_rule`\u003c/span\u003e should set a unique \u003cspan pulumi-lang-nodejs=\"`scope`\" pulumi-lang-dotnet=\"`Scope`\" pulumi-lang-go=\"`scope`\" pulumi-lang-python=\"`scope`\" pulumi-lang-yaml=\"`scope`\" pulumi-lang-java=\"`scope`\"\u003e`scope`\u003c/span\u003e.\n"},"submountAccessEnabled":{"type":"boolean","description":"Whether allow access to subdirectories under the root export?\n"},"suidEnabled":{"type":"boolean","description":"Whether [SUID](https://docs.microsoft.com/azure/hpc-cache/access-policies#suid) is allowed?\n"}},"type":"object","required":["access","scope"]},"azure:hpc/CacheDirectoryActiveDirectory:CacheDirectoryActiveDirectory":{"properties":{"cacheNetbiosName":{"type":"string","description":"The NetBIOS name to assign to the HPC Cache when it joins the Active Directory domain as a server.\n"},"dnsPrimaryIp":{"type":"string","description":"The primary DNS IP address used to resolve the Active Directory domain controller's FQDN.\n"},"dnsSecondaryIp":{"type":"string","description":"The secondary DNS IP address used to resolve the Active Directory domain controller's FQDN.\n"},"domainName":{"type":"string","description":"The fully qualified domain name of the Active Directory domain controller.\n"},"domainNetbiosName":{"type":"string","description":"The Active Directory domain's NetBIOS name.\n"},"password":{"type":"string","description":"The password of the Active Directory domain administrator.\n","secret":true},"username":{"type":"string","description":"The username of the Active Directory domain administrator.\n"}},"type":"object","required":["cacheNetbiosName","dnsPrimaryIp","domainName","domainNetbiosName","password","username"]},"azure:hpc/CacheDirectoryFlatFile:CacheDirectoryFlatFile":{"properties":{"groupFileUri":{"type":"string","description":"The URI of the file containing group information (`/etc/group` file format in Unix-like OS).\n"},"passwordFileUri":{"type":"string","description":"The URI of the file containing user information (`/etc/passwd` file format in Unix-like OS).\n"}},"type":"object","required":["groupFileUri","passwordFileUri"]},"azure:hpc/CacheDirectoryLdap:CacheDirectoryLdap":{"properties":{"baseDn":{"type":"string","description":"The base distinguished name (DN) for the LDAP domain.\n"},"bind":{"$ref":"#/types/azure:hpc/CacheDirectoryLdapBind:CacheDirectoryLdapBind","description":"A \u003cspan pulumi-lang-nodejs=\"`bind`\" pulumi-lang-dotnet=\"`Bind`\" pulumi-lang-go=\"`bind`\" pulumi-lang-python=\"`bind`\" pulumi-lang-yaml=\"`bind`\" pulumi-lang-java=\"`bind`\"\u003e`bind`\u003c/span\u003e block as defined above.\n"},"certificateValidationUri":{"type":"string","description":"The URI of the CA certificate to validate the LDAP secure connection.\n"},"downloadCertificateAutomatically":{"type":"boolean","description":"Whether the certificate should be automatically downloaded. This can be set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e only when \u003cspan pulumi-lang-nodejs=\"`certificateValidationUri`\" pulumi-lang-dotnet=\"`CertificateValidationUri`\" pulumi-lang-go=\"`certificateValidationUri`\" pulumi-lang-python=\"`certificate_validation_uri`\" pulumi-lang-yaml=\"`certificateValidationUri`\" pulumi-lang-java=\"`certificateValidationUri`\"\u003e`certificate_validation_uri`\u003c/span\u003e is provided.\n"},"encrypted":{"type":"boolean","description":"Whether the LDAP connection should be encrypted?\n"},"server":{"type":"string","description":"The FQDN or IP address of the LDAP server.\n"}},"type":"object","required":["baseDn","server"],"language":{"nodejs":{"requiredOutputs":["baseDn","bind","server"]}}},"azure:hpc/CacheDirectoryLdapBind:CacheDirectoryLdapBind":{"properties":{"dn":{"type":"string","description":"The Bind Distinguished Name (DN) identity to be used in the secure LDAP connection.\n"},"password":{"type":"string","description":"The Bind password to be used in the secure LDAP connection.\n","secret":true}},"type":"object","required":["dn","password"]},"azure:hpc/CacheDns:CacheDns":{"properties":{"searchDomain":{"type":"string","description":"The DNS search domain for the HPC Cache.\n"},"servers":{"type":"array","items":{"type":"string"},"description":"A list of DNS servers for the HPC Cache. At most three IP(s) are allowed to set.\n"}},"type":"object","required":["servers"]},"azure:hpc/CacheIdentity:CacheIdentity":{"properties":{"identityIds":{"type":"array","items":{"type":"string"},"description":"Specifies a list of User Assigned Managed Identity IDs to be assigned to this HPC Cache. Changing this forces a new resource to be created.\n\n\u003e **Note:** This is required when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to `UserAssigned` or `SystemAssigned, UserAssigned`.\n","willReplaceOnChanges":true},"principalId":{"type":"string","description":"The Principal ID associated with this Managed Service Identity.\n"},"tenantId":{"type":"string","description":"The Tenant ID associated with this Managed Service Identity.\n"},"type":{"type":"string","description":"Specifies the type of Managed Service Identity that should be configured on this HPC Cache. Possible values are `SystemAssigned`, `UserAssigned`, `SystemAssigned, UserAssigned` (to enable both). Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["type"],"language":{"nodejs":{"requiredOutputs":["principalId","tenantId","type"]}}},"azure:hpc/CacheNfsTargetNamespaceJunction:CacheNfsTargetNamespaceJunction":{"properties":{"accessPolicyName":{"type":"string","description":"The name of the access policy applied to this target. Defaults to \u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\"\u003e`default`\u003c/span\u003e.\n"},"namespacePath":{"type":"string","description":"The client-facing file path of this NFS target within the HPC Cache NFS Target.\n"},"nfsExport":{"type":"string","description":"The NFS export of this NFS target within the HPC Cache NFS Target.\n"},"targetPath":{"type":"string","description":"The relative subdirectory path from the \u003cspan pulumi-lang-nodejs=\"`nfsExport`\" pulumi-lang-dotnet=\"`NfsExport`\" pulumi-lang-go=\"`nfsExport`\" pulumi-lang-python=\"`nfs_export`\" pulumi-lang-yaml=\"`nfsExport`\" pulumi-lang-java=\"`nfsExport`\"\u003e`nfs_export`\u003c/span\u003e to map to the \u003cspan pulumi-lang-nodejs=\"`namespacePath`\" pulumi-lang-dotnet=\"`NamespacePath`\" pulumi-lang-go=\"`namespacePath`\" pulumi-lang-python=\"`namespace_path`\" pulumi-lang-yaml=\"`namespacePath`\" pulumi-lang-java=\"`namespacePath`\"\u003e`namespace_path`\u003c/span\u003e. Defaults to `\"\"`, in which case the whole \u003cspan pulumi-lang-nodejs=\"`nfsExport`\" pulumi-lang-dotnet=\"`NfsExport`\" pulumi-lang-go=\"`nfsExport`\" pulumi-lang-python=\"`nfs_export`\" pulumi-lang-yaml=\"`nfsExport`\" pulumi-lang-java=\"`nfsExport`\"\u003e`nfs_export`\u003c/span\u003e is exported.\n"}},"type":"object","required":["namespacePath","nfsExport"]},"azure:hsm/ModuleManagementNetworkProfile:ModuleManagementNetworkProfile":{"properties":{"networkInterfacePrivateIpAddresses":{"type":"array","items":{"type":"string"},"description":"The private IPv4 address of the network interface. Changing this forces a new Dedicated Hardware Security Module to be created.\n","willReplaceOnChanges":true},"subnetId":{"type":"string","description":"The ID of the subnet. Changing this forces a new Dedicated Hardware Security Module to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["networkInterfacePrivateIpAddresses","subnetId"]},"azure:hsm/ModuleNetworkProfile:ModuleNetworkProfile":{"properties":{"networkInterfacePrivateIpAddresses":{"type":"array","items":{"type":"string"},"description":"The private IPv4 address of the network interface. Changing this forces a new Dedicated Hardware Security Module to be created.\n","willReplaceOnChanges":true},"subnetId":{"type":"string","description":"The ID of the subnet. Changing this forces a new Dedicated Hardware Security Module to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["networkInterfacePrivateIpAddresses","subnetId"]},"azure:index/ProviderFeatures:ProviderFeatures":{"properties":{"apiManagement":{"$ref":"#/types/azure:index/ProviderFeaturesApiManagement:ProviderFeaturesApiManagement"},"appConfiguration":{"$ref":"#/types/azure:index/ProviderFeaturesAppConfiguration:ProviderFeaturesAppConfiguration"},"applicationInsights":{"$ref":"#/types/azure:index/ProviderFeaturesApplicationInsights:ProviderFeaturesApplicationInsights"},"cognitiveAccount":{"$ref":"#/types/azure:index/ProviderFeaturesCognitiveAccount:ProviderFeaturesCognitiveAccount"},"databricksWorkspace":{"$ref":"#/types/azure:index/ProviderFeaturesDatabricksWorkspace:ProviderFeaturesDatabricksWorkspace"},"keyVault":{"$ref":"#/types/azure:index/ProviderFeaturesKeyVault:ProviderFeaturesKeyVault"},"logAnalyticsWorkspace":{"$ref":"#/types/azure:index/ProviderFeaturesLogAnalyticsWorkspace:ProviderFeaturesLogAnalyticsWorkspace"},"machineLearning":{"$ref":"#/types/azure:index/ProviderFeaturesMachineLearning:ProviderFeaturesMachineLearning"},"managedDisk":{"$ref":"#/types/azure:index/ProviderFeaturesManagedDisk:ProviderFeaturesManagedDisk"},"netapp":{"$ref":"#/types/azure:index/ProviderFeaturesNetapp:ProviderFeaturesNetapp"},"postgresqlFlexibleServer":{"$ref":"#/types/azure:index/ProviderFeaturesPostgresqlFlexibleServer:ProviderFeaturesPostgresqlFlexibleServer"},"recoveryService":{"$ref":"#/types/azure:index/ProviderFeaturesRecoveryService:ProviderFeaturesRecoveryService"},"recoveryServicesVaults":{"$ref":"#/types/azure:index/ProviderFeaturesRecoveryServicesVaults:ProviderFeaturesRecoveryServicesVaults"},"resourceGroup":{"$ref":"#/types/azure:index/ProviderFeaturesResourceGroup:ProviderFeaturesResourceGroup"},"storage":{"$ref":"#/types/azure:index/ProviderFeaturesStorage:ProviderFeaturesStorage"},"subscription":{"$ref":"#/types/azure:index/ProviderFeaturesSubscription:ProviderFeaturesSubscription"},"templateDeployment":{"$ref":"#/types/azure:index/ProviderFeaturesTemplateDeployment:ProviderFeaturesTemplateDeployment"},"virtualMachine":{"$ref":"#/types/azure:index/ProviderFeaturesVirtualMachine:ProviderFeaturesVirtualMachine"},"virtualMachineScaleSet":{"$ref":"#/types/azure:index/ProviderFeaturesVirtualMachineScaleSet:ProviderFeaturesVirtualMachineScaleSet"}},"type":"object"},"azure:index/ProviderFeaturesApiManagement:ProviderFeaturesApiManagement":{"properties":{"purgeSoftDeleteOnDestroy":{"type":"boolean"},"recoverSoftDeleted":{"type":"boolean"}},"type":"object"},"azure:index/ProviderFeaturesAppConfiguration:ProviderFeaturesAppConfiguration":{"properties":{"purgeSoftDeleteOnDestroy":{"type":"boolean"},"recoverSoftDeleted":{"type":"boolean"}},"type":"object"},"azure:index/ProviderFeaturesApplicationInsights:ProviderFeaturesApplicationInsights":{"properties":{"disableGeneratedRule":{"type":"boolean"}},"type":"object"},"azure:index/ProviderFeaturesCognitiveAccount:ProviderFeaturesCognitiveAccount":{"properties":{"purgeSoftDeleteOnDestroy":{"type":"boolean"}},"type":"object"},"azure:index/ProviderFeaturesDatabricksWorkspace:ProviderFeaturesDatabricksWorkspace":{"properties":{"forceDelete":{"type":"boolean","description":"When enabled, the managed resource group that contains the Unity Catalog data will be forcibly deleted when the workspace is destroyed, regardless of contents.\n"}},"type":"object"},"azure:index/ProviderFeaturesKeyVault:ProviderFeaturesKeyVault":{"properties":{"purgeSoftDeleteOnDestroy":{"type":"boolean","description":"When enabled soft-deleted \u003cspan pulumi-lang-nodejs=\"`azure.keyvault.KeyVault`\" pulumi-lang-dotnet=\"`azure.keyvault.KeyVault`\" pulumi-lang-go=\"`keyvault.KeyVault`\" pulumi-lang-python=\"`keyvault.KeyVault`\" pulumi-lang-yaml=\"`azure.keyvault.KeyVault`\" pulumi-lang-java=\"`azure.keyvault.KeyVault`\"\u003e`azure.keyvault.KeyVault`\u003c/span\u003e resources will be permanently deleted (e.g purged), when destroyed\n"},"purgeSoftDeletedCertificatesOnDestroy":{"type":"boolean","description":"When enabled soft-deleted \u003cspan pulumi-lang-nodejs=\"`azure.keyvault.Certificate`\" pulumi-lang-dotnet=\"`azure.keyvault.Certificate`\" pulumi-lang-go=\"`keyvault.Certificate`\" pulumi-lang-python=\"`keyvault.Certificate`\" pulumi-lang-yaml=\"`azure.keyvault.Certificate`\" pulumi-lang-java=\"`azure.keyvault.Certificate`\"\u003e`azure.keyvault.Certificate`\u003c/span\u003e resources will be permanently deleted (e.g purged), when destroyed\n"},"purgeSoftDeletedHardwareSecurityModuleKeysOnDestroy":{"type":"boolean","description":"When enabled soft-deleted \u003cspan pulumi-lang-nodejs=\"`azure.keyvault.ManagedHardwareSecurityModuleKey`\" pulumi-lang-dotnet=\"`azure.keyvault.ManagedHardwareSecurityModuleKey`\" pulumi-lang-go=\"`keyvault.ManagedHardwareSecurityModuleKey`\" pulumi-lang-python=\"`keyvault.ManagedHardwareSecurityModuleKey`\" pulumi-lang-yaml=\"`azure.keyvault.ManagedHardwareSecurityModuleKey`\" pulumi-lang-java=\"`azure.keyvault.ManagedHardwareSecurityModuleKey`\"\u003e`azure.keyvault.ManagedHardwareSecurityModuleKey`\u003c/span\u003e resources will be permanently deleted (e.g purged), when destroyed\n"},"purgeSoftDeletedHardwareSecurityModulesOnDestroy":{"type":"boolean","description":"When enabled soft-deleted \u003cspan pulumi-lang-nodejs=\"`azure.keyvault.ManagedHardwareSecurityModule`\" pulumi-lang-dotnet=\"`azure.keyvault.ManagedHardwareSecurityModule`\" pulumi-lang-go=\"`keyvault.ManagedHardwareSecurityModule`\" pulumi-lang-python=\"`keyvault.ManagedHardwareSecurityModule`\" pulumi-lang-yaml=\"`azure.keyvault.ManagedHardwareSecurityModule`\" pulumi-lang-java=\"`azure.keyvault.ManagedHardwareSecurityModule`\"\u003e`azure.keyvault.ManagedHardwareSecurityModule`\u003c/span\u003e resources will be permanently deleted (e.g purged), when destroyed\n"},"purgeSoftDeletedKeysOnDestroy":{"type":"boolean","description":"When enabled soft-deleted \u003cspan pulumi-lang-nodejs=\"`azure.keyvault.Key`\" pulumi-lang-dotnet=\"`azure.keyvault.Key`\" pulumi-lang-go=\"`keyvault.Key`\" pulumi-lang-python=\"`keyvault.Key`\" pulumi-lang-yaml=\"`azure.keyvault.Key`\" pulumi-lang-java=\"`azure.keyvault.Key`\"\u003e`azure.keyvault.Key`\u003c/span\u003e resources will be permanently deleted (e.g purged), when destroyed\n"},"purgeSoftDeletedSecretsOnDestroy":{"type":"boolean","description":"When enabled soft-deleted \u003cspan pulumi-lang-nodejs=\"`azure.keyvault.Secret`\" pulumi-lang-dotnet=\"`azure.keyvault.Secret`\" pulumi-lang-go=\"`keyvault.Secret`\" pulumi-lang-python=\"`keyvault.Secret`\" pulumi-lang-yaml=\"`azure.keyvault.Secret`\" pulumi-lang-java=\"`azure.keyvault.Secret`\"\u003e`azure.keyvault.Secret`\u003c/span\u003e resources will be permanently deleted (e.g purged), when destroyed\n"},"recoverSoftDeletedCertificates":{"type":"boolean","description":"When enabled soft-deleted \u003cspan pulumi-lang-nodejs=\"`azure.keyvault.Certificate`\" pulumi-lang-dotnet=\"`azure.keyvault.Certificate`\" pulumi-lang-go=\"`keyvault.Certificate`\" pulumi-lang-python=\"`keyvault.Certificate`\" pulumi-lang-yaml=\"`azure.keyvault.Certificate`\" pulumi-lang-java=\"`azure.keyvault.Certificate`\"\u003e`azure.keyvault.Certificate`\u003c/span\u003e resources will be restored, instead of creating new ones\n"},"recoverSoftDeletedHardwareSecurityModuleKeys":{"type":"boolean","description":"When enabled soft-deleted \u003cspan pulumi-lang-nodejs=\"`azure.keyvault.ManagedHardwareSecurityModuleKey`\" pulumi-lang-dotnet=\"`azure.keyvault.ManagedHardwareSecurityModuleKey`\" pulumi-lang-go=\"`keyvault.ManagedHardwareSecurityModuleKey`\" pulumi-lang-python=\"`keyvault.ManagedHardwareSecurityModuleKey`\" pulumi-lang-yaml=\"`azure.keyvault.ManagedHardwareSecurityModuleKey`\" pulumi-lang-java=\"`azure.keyvault.ManagedHardwareSecurityModuleKey`\"\u003e`azure.keyvault.ManagedHardwareSecurityModuleKey`\u003c/span\u003e resources will be restored, instead of creating new ones\n"},"recoverSoftDeletedKeyVaults":{"type":"boolean","description":"When enabled soft-deleted \u003cspan pulumi-lang-nodejs=\"`azure.keyvault.KeyVault`\" pulumi-lang-dotnet=\"`azure.keyvault.KeyVault`\" pulumi-lang-go=\"`keyvault.KeyVault`\" pulumi-lang-python=\"`keyvault.KeyVault`\" pulumi-lang-yaml=\"`azure.keyvault.KeyVault`\" pulumi-lang-java=\"`azure.keyvault.KeyVault`\"\u003e`azure.keyvault.KeyVault`\u003c/span\u003e resources will be restored, instead of creating new ones\n"},"recoverSoftDeletedKeys":{"type":"boolean","description":"When enabled soft-deleted \u003cspan pulumi-lang-nodejs=\"`azure.keyvault.Key`\" pulumi-lang-dotnet=\"`azure.keyvault.Key`\" pulumi-lang-go=\"`keyvault.Key`\" pulumi-lang-python=\"`keyvault.Key`\" pulumi-lang-yaml=\"`azure.keyvault.Key`\" pulumi-lang-java=\"`azure.keyvault.Key`\"\u003e`azure.keyvault.Key`\u003c/span\u003e resources will be restored, instead of creating new ones\n"},"recoverSoftDeletedSecrets":{"type":"boolean","description":"When enabled soft-deleted \u003cspan pulumi-lang-nodejs=\"`azure.keyvault.Secret`\" pulumi-lang-dotnet=\"`azure.keyvault.Secret`\" pulumi-lang-go=\"`keyvault.Secret`\" pulumi-lang-python=\"`keyvault.Secret`\" pulumi-lang-yaml=\"`azure.keyvault.Secret`\" pulumi-lang-java=\"`azure.keyvault.Secret`\"\u003e`azure.keyvault.Secret`\u003c/span\u003e resources will be restored, instead of creating new ones\n"}},"type":"object"},"azure:index/ProviderFeaturesLogAnalyticsWorkspace:ProviderFeaturesLogAnalyticsWorkspace":{"properties":{"permanentlyDeleteOnDestroy":{"type":"boolean"}},"type":"object"},"azure:index/ProviderFeaturesMachineLearning:ProviderFeaturesMachineLearning":{"properties":{"purgeSoftDeletedWorkspaceOnDestroy":{"type":"boolean"}},"type":"object"},"azure:index/ProviderFeaturesManagedDisk:ProviderFeaturesManagedDisk":{"properties":{"expandWithoutDowntime":{"type":"boolean"}},"type":"object"},"azure:index/ProviderFeaturesNetapp:ProviderFeaturesNetapp":{"properties":{"deleteBackupsOnBackupVaultDestroy":{"type":"boolean","description":"When enabled, backups will be deleted when the \u003cspan pulumi-lang-nodejs=\"`azure.netapp.BackupVault`\" pulumi-lang-dotnet=\"`azure.netapp.BackupVault`\" pulumi-lang-go=\"`netapp.BackupVault`\" pulumi-lang-python=\"`netapp.BackupVault`\" pulumi-lang-yaml=\"`azure.netapp.BackupVault`\" pulumi-lang-java=\"`azure.netapp.BackupVault`\"\u003e`azure.netapp.BackupVault`\u003c/span\u003e resource is destroyed\n"},"preventVolumeDestruction":{"type":"boolean","description":"When enabled, the volume will not be destroyed, safeguarding from severe data loss\n"}},"type":"object"},"azure:index/ProviderFeaturesPostgresqlFlexibleServer:ProviderFeaturesPostgresqlFlexibleServer":{"properties":{"restartServerOnConfigurationValueChange":{"type":"boolean"}},"type":"object"},"azure:index/ProviderFeaturesRecoveryService:ProviderFeaturesRecoveryService":{"properties":{"purgeProtectedItemsFromVaultOnDestroy":{"type":"boolean"},"vmBackupStopProtectionAndRetainDataOnDestroy":{"type":"boolean"},"vmBackupSuspendProtectionAndRetainDataOnDestroy":{"type":"boolean"}},"type":"object"},"azure:index/ProviderFeaturesRecoveryServicesVaults:ProviderFeaturesRecoveryServicesVaults":{"properties":{"recoverSoftDeletedBackupProtectedVm":{"type":"boolean"}},"type":"object"},"azure:index/ProviderFeaturesResourceGroup:ProviderFeaturesResourceGroup":{"properties":{"preventDeletionIfContainsResources":{"type":"boolean"}},"type":"object"},"azure:index/ProviderFeaturesStorage:ProviderFeaturesStorage":{"properties":{"dataPlaneAvailable":{"type":"boolean"}},"type":"object"},"azure:index/ProviderFeaturesSubscription:ProviderFeaturesSubscription":{"properties":{"preventCancellationOnDestroy":{"type":"boolean"}},"type":"object"},"azure:index/ProviderFeaturesTemplateDeployment:ProviderFeaturesTemplateDeployment":{"properties":{"deleteNestedItemsDuringDeletion":{"type":"boolean"}},"type":"object","required":["deleteNestedItemsDuringDeletion"],"language":{"nodejs":{"requiredOutputs":[]}}},"azure:index/ProviderFeaturesVirtualMachine:ProviderFeaturesVirtualMachine":{"properties":{"deleteOsDiskOnDeletion":{"type":"boolean"},"detachImplicitDataDiskOnDeletion":{"type":"boolean"},"gracefulShutdown":{"type":"boolean","deprecationMessage":"'graceful_shutdown' has been deprecated and will be removed from v5.0 of the AzureRM provider."},"skipShutdownAndForceDelete":{"type":"boolean"}},"type":"object"},"azure:index/ProviderFeaturesVirtualMachineScaleSet:ProviderFeaturesVirtualMachineScaleSet":{"properties":{"forceDelete":{"type":"boolean"},"reimageOnManualUpgrade":{"type":"boolean"},"rollInstancesWhenRequired":{"type":"boolean"},"scaleToZeroBeforeDeletion":{"type":"boolean"}},"type":"object"},"azure:iot/IoTHubCloudToDevice:IoTHubCloudToDevice":{"properties":{"defaultTtl":{"type":"string","description":"The default time to live for cloud-to-device messages, specified as an [ISO 8601 timespan duration](https://en.wikipedia.org/wiki/ISO_8601#Durations). This value must be between 1 minute and 48 hours. Defaults to `PT1H`.\n"},"feedbacks":{"type":"array","items":{"$ref":"#/types/azure:iot/IoTHubCloudToDeviceFeedback:IoTHubCloudToDeviceFeedback"},"description":"A \u003cspan pulumi-lang-nodejs=\"`feedback`\" pulumi-lang-dotnet=\"`Feedback`\" pulumi-lang-go=\"`feedback`\" pulumi-lang-python=\"`feedback`\" pulumi-lang-yaml=\"`feedback`\" pulumi-lang-java=\"`feedback`\"\u003e`feedback`\u003c/span\u003e block as defined below.\n"},"maxDeliveryCount":{"type":"integer","description":"The maximum delivery count for cloud-to-device per-device queues. This value must be between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`100`\" pulumi-lang-dotnet=\"`100`\" pulumi-lang-go=\"`100`\" pulumi-lang-python=\"`100`\" pulumi-lang-yaml=\"`100`\" pulumi-lang-java=\"`100`\"\u003e`100`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`10`\" pulumi-lang-dotnet=\"`10`\" pulumi-lang-go=\"`10`\" pulumi-lang-python=\"`10`\" pulumi-lang-yaml=\"`10`\" pulumi-lang-java=\"`10`\"\u003e`10`\u003c/span\u003e.\n"}},"type":"object"},"azure:iot/IoTHubCloudToDeviceFeedback:IoTHubCloudToDeviceFeedback":{"properties":{"lockDuration":{"type":"string","description":"The lock duration for the feedback queue, specified as an [ISO 8601 timespan duration](https://en.wikipedia.org/wiki/ISO_8601#Durations). This value must be between 5 and 300 seconds. Defaults to `PT60S`.\n"},"maxDeliveryCount":{"type":"integer","description":"The maximum delivery count for the feedback queue. This value must be between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`100`\" pulumi-lang-dotnet=\"`100`\" pulumi-lang-go=\"`100`\" pulumi-lang-python=\"`100`\" pulumi-lang-yaml=\"`100`\" pulumi-lang-java=\"`100`\"\u003e`100`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`10`\" pulumi-lang-dotnet=\"`10`\" pulumi-lang-go=\"`10`\" pulumi-lang-python=\"`10`\" pulumi-lang-yaml=\"`10`\" pulumi-lang-java=\"`10`\"\u003e`10`\u003c/span\u003e.\n"},"timeToLive":{"type":"string","description":"The retention time for service-bound feedback messages, specified as an [ISO 8601 timespan duration](https://en.wikipedia.org/wiki/ISO_8601#Durations). This value must be between 1 minute and 48 hours. Defaults to `PT1H`.\n"}},"type":"object"},"azure:iot/IoTHubEndpoint:IoTHubEndpoint":{"properties":{"authenticationType":{"type":"string","description":"The type used to authenticate against the endpoint. Possible values are `keyBased` and `identityBased`. Defaults to `keyBased`.\n"},"batchFrequencyInSeconds":{"type":"integer","description":"Time interval at which blobs are written to storage. Value should be between 60 and 720 seconds. Default value is 300 seconds. This attribute is applicable for endpoint type `AzureIotHub.StorageContainer`.\n"},"connectionString":{"type":"string","description":"The connection string for the endpoint. This attribute is mandatory and can only be specified when \u003cspan pulumi-lang-nodejs=\"`authenticationType`\" pulumi-lang-dotnet=\"`AuthenticationType`\" pulumi-lang-go=\"`authenticationType`\" pulumi-lang-python=\"`authentication_type`\" pulumi-lang-yaml=\"`authenticationType`\" pulumi-lang-java=\"`authenticationType`\"\u003e`authentication_type`\u003c/span\u003e is `keyBased`.\n","secret":true},"containerName":{"type":"string","description":"The name of storage container in the storage account. This attribute is mandatory for endpoint type `AzureIotHub.StorageContainer`.\n"},"encoding":{"type":"string","description":"Encoding that is used to serialize messages to blobs. Supported values are `Avro`, `AvroDeflate` and `JSON`. Default value is `Avro`. This attribute is applicable for endpoint type `AzureIotHub.StorageContainer`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"endpointUri":{"type":"string","description":"URI of the Service Bus or Event Hubs Namespace endpoint. This attribute can only be specified and is mandatory when \u003cspan pulumi-lang-nodejs=\"`authenticationType`\" pulumi-lang-dotnet=\"`AuthenticationType`\" pulumi-lang-go=\"`authenticationType`\" pulumi-lang-python=\"`authentication_type`\" pulumi-lang-yaml=\"`authenticationType`\" pulumi-lang-java=\"`authenticationType`\"\u003e`authentication_type`\u003c/span\u003e is `identityBased` for endpoint type `AzureIotHub.ServiceBusQueue`, `AzureIotHub.ServiceBusTopic` or `AzureIotHub.EventHub`.\n"},"entityPath":{"type":"string","description":"Name of the Service Bus Queue/Topic or Event Hub. This attribute can only be specified and is mandatory when \u003cspan pulumi-lang-nodejs=\"`authenticationType`\" pulumi-lang-dotnet=\"`AuthenticationType`\" pulumi-lang-go=\"`authenticationType`\" pulumi-lang-python=\"`authentication_type`\" pulumi-lang-yaml=\"`authenticationType`\" pulumi-lang-java=\"`authenticationType`\"\u003e`authentication_type`\u003c/span\u003e is `identityBased` for endpoint type `AzureIotHub.ServiceBusQueue`, `AzureIotHub.ServiceBusTopic` or `AzureIotHub.EventHub`.\n"},"fileNameFormat":{"type":"string","description":"File name format for the blob. All parameters are mandatory but can be reordered. This attribute is applicable for endpoint type `AzureIotHub.StorageContainer`. Defaults to `{iothub}/{partition}/{YYYY}/{MM}/{DD}/{HH}/{mm}`.\n"},"identityId":{"type":"string","description":"The ID of the User Managed Identity used to authenticate against the endpoint.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`identityId`\" pulumi-lang-dotnet=\"`IdentityId`\" pulumi-lang-go=\"`identityId`\" pulumi-lang-python=\"`identity_id`\" pulumi-lang-yaml=\"`identityId`\" pulumi-lang-java=\"`identityId`\"\u003e`identity_id`\u003c/span\u003e can only be specified when \u003cspan pulumi-lang-nodejs=\"`authenticationType`\" pulumi-lang-dotnet=\"`AuthenticationType`\" pulumi-lang-go=\"`authenticationType`\" pulumi-lang-python=\"`authentication_type`\" pulumi-lang-yaml=\"`authenticationType`\" pulumi-lang-java=\"`authenticationType`\"\u003e`authentication_type`\u003c/span\u003e is `identityBased`. It must be one of the \u003cspan pulumi-lang-nodejs=\"`identityIds`\" pulumi-lang-dotnet=\"`IdentityIds`\" pulumi-lang-go=\"`identityIds`\" pulumi-lang-python=\"`identity_ids`\" pulumi-lang-yaml=\"`identityIds`\" pulumi-lang-java=\"`identityIds`\"\u003e`identity_ids`\u003c/span\u003e of the IoT Hub. If \u003cspan pulumi-lang-nodejs=\"`identityId`\" pulumi-lang-dotnet=\"`IdentityId`\" pulumi-lang-go=\"`identityId`\" pulumi-lang-python=\"`identity_id`\" pulumi-lang-yaml=\"`identityId`\" pulumi-lang-java=\"`identityId`\"\u003e`identity_id`\u003c/span\u003e is omitted when \u003cspan pulumi-lang-nodejs=\"`authenticationType`\" pulumi-lang-dotnet=\"`AuthenticationType`\" pulumi-lang-go=\"`authenticationType`\" pulumi-lang-python=\"`authentication_type`\" pulumi-lang-yaml=\"`authenticationType`\" pulumi-lang-java=\"`authenticationType`\"\u003e`authentication_type`\u003c/span\u003e is `identityBased`, then the System-Assigned Managed Identity of the IoT Hub will be used.\n\n\u003e **Note:** An IoT Hub can only be updated to use the System-Assigned Managed Identity for \u003cspan pulumi-lang-nodejs=\"`endpoint`\" pulumi-lang-dotnet=\"`Endpoint`\" pulumi-lang-go=\"`endpoint`\" pulumi-lang-python=\"`endpoint`\" pulumi-lang-yaml=\"`endpoint`\" pulumi-lang-java=\"`endpoint`\"\u003e`endpoint`\u003c/span\u003e since it is not possible to grant access to the endpoint until after creation. The extracted resources `azurerm_iothub_endpoint_*` can be used to configure Endpoints with the IoT Hub's System-Assigned Managed Identity without the need for an update.\n"},"maxChunkSizeInBytes":{"type":"integer","description":"Maximum number of bytes for each blob written to storage. Value should be between 10485760(10MB) and 524288000(500MB). Default value is 314572800(300MB). This attribute is applicable for endpoint type `AzureIotHub.StorageContainer`.\n"},"name":{"type":"string","description":"The name of the endpoint. The name must be unique across endpoint types. The following names are reserved: \u003cspan pulumi-lang-nodejs=\"`events`\" pulumi-lang-dotnet=\"`Events`\" pulumi-lang-go=\"`events`\" pulumi-lang-python=\"`events`\" pulumi-lang-yaml=\"`events`\" pulumi-lang-java=\"`events`\"\u003e`events`\u003c/span\u003e, `operationsMonitoringEvents`, `fileNotifications` and `$default`.\n"},"resourceGroupName":{"type":"string","description":"The resource group in which the endpoint will be created.\n"},"subscriptionId":{"type":"string","description":"The subscription ID for the endpoint.\n\n\u003e **Note:** When \u003cspan pulumi-lang-nodejs=\"`subscriptionId`\" pulumi-lang-dotnet=\"`SubscriptionId`\" pulumi-lang-go=\"`subscriptionId`\" pulumi-lang-python=\"`subscription_id`\" pulumi-lang-yaml=\"`subscriptionId`\" pulumi-lang-java=\"`subscriptionId`\"\u003e`subscription_id`\u003c/span\u003e isn't specified it will be set to the subscription ID of the IoT Hub resource.\n"},"type":{"type":"string","description":"The type of the endpoint. Possible values are `AzureIotHub.StorageContainer`, `AzureIotHub.ServiceBusQueue`, `AzureIotHub.ServiceBusTopic` or `AzureIotHub.EventHub`.\n"}},"type":"object","required":["name","type"],"language":{"nodejs":{"requiredOutputs":["name","subscriptionId","type"]}}},"azure:iot/IoTHubEnrichment:IoTHubEnrichment":{"properties":{"endpointNames":{"type":"array","items":{"type":"string"},"description":"The list of endpoints which will be enriched.\n"},"key":{"type":"string","description":"The key of the enrichment.\n"},"value":{"type":"string","description":"The value of the enrichment. Value can be any static string, the name of the IoT Hub sending the message (use `$iothubname`) or information from the device twin (ex: `$twin.tags.latitude`)\n"}},"type":"object","required":["endpointNames","key","value"]},"azure:iot/IoTHubFallbackRoute:IoTHubFallbackRoute":{"properties":{"condition":{"type":"string","description":"The condition that is evaluated to apply the routing rule. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e. For grammar, see: \u003chttps://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-query-language\u003e.\n"},"enabled":{"type":"boolean","description":"Used to specify whether the fallback route is enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"endpointNames":{"type":"array","items":{"type":"string"},"description":"The endpoints to which messages that satisfy the condition are routed. Currently only 1 endpoint is allowed.\n"},"source":{"type":"string","description":"The source that the routing rule is to be applied to, such as `DeviceMessages`. Possible values include: `Invalid`, `DeviceMessages`, `TwinChangeEvents`, `DeviceLifecycleEvents`, `DeviceConnectionStateEvents`, `DeviceJobLifecycleEvents` and `DigitalTwinChangeEvents`. Defaults to `DeviceMessages`.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["endpointNames"]}}},"azure:iot/IoTHubFileUpload:IoTHubFileUpload":{"properties":{"authenticationType":{"type":"string","description":"The type used to authenticate against the storage account. Possible values are `keyBased` and `identityBased`. Defaults to `keyBased`.\n"},"connectionString":{"type":"string","description":"The connection string for the Azure Storage account to which files are uploaded.\n","secret":true},"containerName":{"type":"string","description":"The name of the root container where the files should be uploaded to. The container need not exist but should be creatable using the\u003cspan pulumi-lang-nodejs=\" connectionString \" pulumi-lang-dotnet=\" ConnectionString \" pulumi-lang-go=\" connectionString \" pulumi-lang-python=\" connection_string \" pulumi-lang-yaml=\" connectionString \" pulumi-lang-java=\" connectionString \"\u003e connection_string \u003c/span\u003especified.\n"},"defaultTtl":{"type":"string","description":"The period of time for which a file upload notification message is available to consume before it expires, specified as an [ISO 8601 timespan duration](https://en.wikipedia.org/wiki/ISO_8601#Durations). This value must be between 1 minute and 48 hours. Defaults to `PT1H`.\n"},"identityId":{"type":"string","description":"The ID of the User Managed Identity used to authenticate against the storage account.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`identityId`\" pulumi-lang-dotnet=\"`IdentityId`\" pulumi-lang-go=\"`identityId`\" pulumi-lang-python=\"`identity_id`\" pulumi-lang-yaml=\"`identityId`\" pulumi-lang-java=\"`identityId`\"\u003e`identity_id`\u003c/span\u003e can only be specified when \u003cspan pulumi-lang-nodejs=\"`authenticationType`\" pulumi-lang-dotnet=\"`AuthenticationType`\" pulumi-lang-go=\"`authenticationType`\" pulumi-lang-python=\"`authentication_type`\" pulumi-lang-yaml=\"`authenticationType`\" pulumi-lang-java=\"`authenticationType`\"\u003e`authentication_type`\u003c/span\u003e is `identityBased`. It must be one of the \u003cspan pulumi-lang-nodejs=\"`identityIds`\" pulumi-lang-dotnet=\"`IdentityIds`\" pulumi-lang-go=\"`identityIds`\" pulumi-lang-python=\"`identity_ids`\" pulumi-lang-yaml=\"`identityIds`\" pulumi-lang-java=\"`identityIds`\"\u003e`identity_ids`\u003c/span\u003e of the IoT Hub. If \u003cspan pulumi-lang-nodejs=\"`identityId`\" pulumi-lang-dotnet=\"`IdentityId`\" pulumi-lang-go=\"`identityId`\" pulumi-lang-python=\"`identity_id`\" pulumi-lang-yaml=\"`identityId`\" pulumi-lang-java=\"`identityId`\"\u003e`identity_id`\u003c/span\u003e is omitted when \u003cspan pulumi-lang-nodejs=\"`authenticationType`\" pulumi-lang-dotnet=\"`AuthenticationType`\" pulumi-lang-go=\"`authenticationType`\" pulumi-lang-python=\"`authentication_type`\" pulumi-lang-yaml=\"`authenticationType`\" pulumi-lang-java=\"`authenticationType`\"\u003e`authentication_type`\u003c/span\u003e is `identityBased`, then the System-Assigned Managed Identity of the IoT Hub will be used.\n\n\u003e **Note:** An IoT Hub can only be updated to use the System-Assigned Managed Identity for \u003cspan pulumi-lang-nodejs=\"`fileUpload`\" pulumi-lang-dotnet=\"`FileUpload`\" pulumi-lang-go=\"`fileUpload`\" pulumi-lang-python=\"`file_upload`\" pulumi-lang-yaml=\"`fileUpload`\" pulumi-lang-java=\"`fileUpload`\"\u003e`file_upload`\u003c/span\u003e since it is not possible to grant access to the endpoint until after creation.\n"},"lockDuration":{"type":"string","description":"The lock duration for the file upload notifications queue, specified as an [ISO 8601 timespan duration](https://en.wikipedia.org/wiki/ISO_8601#Durations). This value must be between 5 and 300 seconds. Defaults to `PT1M`.\n"},"maxDeliveryCount":{"type":"integer","description":"The number of times the IoT Hub attempts to deliver a file upload notification message. Defaults to \u003cspan pulumi-lang-nodejs=\"`10`\" pulumi-lang-dotnet=\"`10`\" pulumi-lang-go=\"`10`\" pulumi-lang-python=\"`10`\" pulumi-lang-yaml=\"`10`\" pulumi-lang-java=\"`10`\"\u003e`10`\u003c/span\u003e.\n"},"notifications":{"type":"boolean","description":"Used to specify whether file notifications are sent to IoT Hub on upload. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"sasTtl":{"type":"string","description":"The period of time for which the SAS URI generated by IoT Hub for file upload is valid, specified as an [ISO 8601 timespan duration](https://en.wikipedia.org/wiki/ISO_8601#Durations). This value must be between 1 minute and 24 hours. Defaults to `PT1H`.\n"}},"type":"object","required":["connectionString","containerName"]},"azure:iot/IoTHubIdentity:IoTHubIdentity":{"properties":{"identityIds":{"type":"array","items":{"type":"string"},"description":"Specifies a list of User Assigned Managed Identity IDs to be assigned to this IoT Hub.\n\n\u003e **Note:** This is required when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to `UserAssigned` or `SystemAssigned, UserAssigned`.\n"},"principalId":{"type":"string","description":"The Principal ID associated with this Managed Service Identity.\n"},"tenantId":{"type":"string","description":"The Tenant ID associated with this Managed Service Identity.\n"},"type":{"type":"string","description":"Specifies the type of Managed Service Identity that should be configured on this IoT Hub. Possible values are `SystemAssigned`, `UserAssigned`, `SystemAssigned, UserAssigned` (to enable both).\n"}},"type":"object","required":["type"],"language":{"nodejs":{"requiredOutputs":["principalId","tenantId","type"]}}},"azure:iot/IoTHubNetworkRuleSet:IoTHubNetworkRuleSet":{"properties":{"applyToBuiltinEventhubEndpoint":{"type":"boolean","description":"Determines if Network Rule Set is also applied to the BuiltIn EventHub EndPoint of the IotHub. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"defaultAction":{"type":"string","description":"Default Action for Network Rule Set. Possible values are `DefaultActionDeny`, `DefaultActionAllow`. Defaults to `DefaultActionDeny`.\n"},"ipRules":{"type":"array","items":{"$ref":"#/types/azure:iot/IoTHubNetworkRuleSetIpRule:IoTHubNetworkRuleSetIpRule"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`ipRule`\" pulumi-lang-dotnet=\"`IpRule`\" pulumi-lang-go=\"`ipRule`\" pulumi-lang-python=\"`ip_rule`\" pulumi-lang-yaml=\"`ipRule`\" pulumi-lang-java=\"`ipRule`\"\u003e`ip_rule`\u003c/span\u003e blocks as defined below.\n"}},"type":"object"},"azure:iot/IoTHubNetworkRuleSetIpRule:IoTHubNetworkRuleSetIpRule":{"properties":{"action":{"type":"string","description":"The desired action for requests captured by this rule. Possible values are `Allow`. Defaults to `Allow`.\n"},"ipMask":{"type":"string","description":"The IP address range in CIDR notation for the ip rule.\n"},"name":{"type":"string","description":"The name of the ip rule.\n"}},"type":"object","required":["ipMask","name"]},"azure:iot/IoTHubRoute:IoTHubRoute":{"properties":{"condition":{"type":"string","description":"The condition that is evaluated to apply the routing rule. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e. For grammar, see: \u003chttps://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-query-language\u003e.\n"},"enabled":{"type":"boolean","description":"Used to specify whether a route is enabled.\n"},"endpointNames":{"type":"array","items":{"type":"string"},"description":"The list of endpoints to which messages that satisfy the condition are routed.\n"},"name":{"type":"string","description":"The name of the route.\n"},"source":{"type":"string","description":"The source that the routing rule is to be applied to, such as `DeviceMessages`. Possible values include: `Invalid`, `DeviceMessages`, `TwinChangeEvents`, `DeviceLifecycleEvents`, `DeviceConnectionStateEvents`, `DeviceJobLifecycleEvents` and `DigitalTwinChangeEvents`.\n"}},"type":"object","required":["enabled","endpointNames","name","source"]},"azure:iot/IoTHubSharedAccessPolicy:IoTHubSharedAccessPolicy":{"properties":{"keyName":{"type":"string","description":"The name of the shared access policy.\n"},"permissions":{"type":"string","description":"The permissions assigned to the shared access policy.\n"},"primaryKey":{"type":"string","description":"The primary key.\n","secret":true},"secondaryKey":{"type":"string","description":"The secondary key.\n","secret":true}},"type":"object","language":{"nodejs":{"requiredOutputs":["keyName","permissions","primaryKey","secondaryKey"]}}},"azure:iot/IoTHubSku:IoTHubSku":{"properties":{"capacity":{"type":"integer","description":"The number of provisioned IoT Hub units.\n\n\u003e **Note:** Only one IotHub can be on the `Free` tier per subscription.\n"},"name":{"type":"string","description":"The name of the sku. Possible values are `B1`, `B2`, `B3`, `F1`, `S1`, `S2`, and `S3`.\n\n\u003e **Note:** The `F1` sku is on `Free` tier.\n"}},"type":"object","required":["capacity","name"]},"azure:iot/IotHubDeviceUpdateAccountIdentity:IotHubDeviceUpdateAccountIdentity":{"properties":{"identityIds":{"type":"array","items":{"type":"string"},"description":"A list of User Assigned Managed Identity IDs to be assigned to this IoT Hub Device Update Account.\n\n\u003e **Note:** This is required when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to `UserAssigned` or `SystemAssigned, UserAssigned`.\n"},"principalId":{"type":"string","description":"The Principal ID for the Service Principal associated with the Managed Service Identity of this IoT Hub Device Update Account.\n"},"tenantId":{"type":"string","description":"The Tenant ID for the Service Principal associated with the Managed Service Identity of this IoT Hub Device Update Account.\n"},"type":{"type":"string","description":"Specifies the type of Managed Service Identity that should be configured on this IoT Hub Device Update Account. Possible values are `SystemAssigned`, `UserAssigned` and `SystemAssigned, UserAssigned` (to enable both).\n"}},"type":"object","required":["type"],"language":{"nodejs":{"requiredOutputs":["principalId","tenantId","type"]}}},"azure:iot/IotHubDeviceUpdateInstanceDiagnosticStorageAccount:IotHubDeviceUpdateInstanceDiagnosticStorageAccount":{"properties":{"connectionString":{"type":"string","description":"Connection String of the Diagnostic Storage Account.\n","secret":true},"id":{"type":"string","description":"Resource ID of the Diagnostic Storage Account.\n"}},"type":"object","required":["connectionString","id"]},"azure:iot/IotHubDpsIpFilterRule:IotHubDpsIpFilterRule":{"properties":{"action":{"type":"string","description":"The desired action for requests captured by this rule. Possible values are `Accept`, `Reject`\n"},"ipMask":{"type":"string","description":"The IP address range in CIDR notation for the rule.\n"},"name":{"type":"string","description":"The name of the filter.\n"},"target":{"type":"string","description":"Target for requests captured by this rule. Possible values are \u003cspan pulumi-lang-nodejs=\"`all`\" pulumi-lang-dotnet=\"`All`\" pulumi-lang-go=\"`all`\" pulumi-lang-python=\"`all`\" pulumi-lang-yaml=\"`all`\" pulumi-lang-java=\"`all`\"\u003e`all`\u003c/span\u003e, `deviceApi` and `serviceApi`.\n"}},"type":"object","required":["action","ipMask","name"]},"azure:iot/IotHubDpsLinkedHub:IotHubDpsLinkedHub":{"properties":{"allocationWeight":{"type":"integer","description":"The weight applied to the IoT Hub. Defaults to \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e.\n"},"applyAllocationPolicy":{"type":"boolean","description":"Determines whether to apply allocation policies to the IoT Hub. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"connectionString":{"type":"string","description":"The connection string to connect to the IoT Hub.\n","secret":true},"hostname":{"type":"string","description":"The IoT Hub hostname.\n"},"location":{"type":"string","description":"The location of the IoT hub.\n"}},"type":"object","required":["connectionString","location"],"language":{"nodejs":{"requiredOutputs":["connectionString","hostname","location"]}}},"azure:iot/IotHubDpsSku:IotHubDpsSku":{"properties":{"capacity":{"type":"integer","description":"The number of provisioned IoT Device Provisioning Service units.\n"},"name":{"type":"string","description":"The name of the sku. Currently can only be set to `S1`.\n"}},"type":"object","required":["capacity","name"]},"azure:iot/SecurityDeviceGroupAllowRule:SecurityDeviceGroupAllowRule":{"properties":{"connectionFromIpsNotAlloweds":{"type":"array","items":{"type":"string"},"description":"Specifies which IP is not allowed to be connected to in current device group for inbound connection.\n"},"connectionToIpsNotAlloweds":{"type":"array","items":{"type":"string"},"description":"Specifies which IP is not allowed to be connected to in current device group for outbound connection.\n"},"localUsersNotAlloweds":{"type":"array","items":{"type":"string"},"description":"Specifies which local user is not allowed to login in current device group.\n"},"processesNotAlloweds":{"type":"array","items":{"type":"string"},"description":"Specifies which process is not allowed to be executed in current device group.\n"}},"type":"object"},"azure:iot/SecurityDeviceGroupRangeRule:SecurityDeviceGroupRangeRule":{"properties":{"duration":{"type":"string","description":"Specifies the time range. represented in ISO 8601 duration format.\n"},"max":{"type":"integer","description":"The maximum threshold in the given time window.\n"},"min":{"type":"integer","description":"The minimum threshold in the given time window.\n"},"type":{"type":"string","description":"The type of supported rule type. Possible Values are `ActiveConnectionsNotInAllowedRange`, `AmqpC2DMessagesNotInAllowedRange`, `MqttC2DMessagesNotInAllowedRange`, `HttpC2DMessagesNotInAllowedRange`, `AmqpC2DRejectedMessagesNotInAllowedRange`, `MqttC2DRejectedMessagesNotInAllowedRange`, `HttpC2DRejectedMessagesNotInAllowedRange`, `AmqpD2CMessagesNotInAllowedRange`, `MqttD2CMessagesNotInAllowedRange`, `HttpD2CMessagesNotInAllowedRange`, `DirectMethodInvokesNotInAllowedRange`, `FailedLocalLoginsNotInAllowedRange`, `FileUploadsNotInAllowedRange`, `QueuePurgesNotInAllowedRange`, `TwinUpdatesNotInAllowedRange` and `UnauthorizedOperationsNotInAllowedRange`.\n"}},"type":"object","required":["duration","max","min","type"]},"azure:iot/SecuritySolutionAdditionalWorkspace:SecuritySolutionAdditionalWorkspace":{"properties":{"dataTypes":{"type":"array","items":{"type":"string"},"description":"A list of data types which sent to workspace. Possible values are `Alerts` and `RawEvents`.\n"},"workspaceId":{"type":"string","description":"The resource ID of the Log Analytics Workspace.\n"}},"type":"object","required":["dataTypes","workspaceId"]},"azure:iot/SecuritySolutionRecommendationsEnabled:SecuritySolutionRecommendationsEnabled":{"properties":{"acrAuthentication":{"type":"boolean","description":"Is Principal Authentication enabled for the ACR repository? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"agentSendUnutilizedMsg":{"type":"boolean","description":"Is Agent send underutilized messages enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"baseline":{"type":"boolean","description":"Is Security related system configuration issues identified? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"edgeHubMemOptimize":{"type":"boolean","description":"Is IoT Edge Hub memory optimized? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"edgeLoggingOption":{"type":"boolean","description":"Is logging configured for IoT Edge module? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"inconsistentModuleSettings":{"type":"boolean","description":"Is inconsistent module settings enabled for SecurityGroup? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"installAgent":{"type":"boolean","description":"is Azure IoT Security agent installed? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"ipFilterDenyAll":{"type":"boolean","description":"Is Default IP filter policy denied? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"ipFilterPermissiveRule":{"type":"boolean","description":"Is IP filter rule source allowable IP range too large? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"openPorts":{"type":"boolean","description":"Is any ports open on the device? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"permissiveFirewallPolicy":{"type":"boolean","description":"Does firewall policy exist which allow necessary communication to/from the device? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"permissiveInputFirewallRules":{"type":"boolean","description":"Is only necessary addresses or ports are permitted in? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"permissiveOutputFirewallRules":{"type":"boolean","description":"Is only necessary addresses or ports are permitted out? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"privilegedDockerOptions":{"type":"boolean","description":"Is high level permissions are needed for the module? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"sharedCredentials":{"type":"boolean","description":"Is any credentials shared among devices? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"vulnerableTlsCipherSuite":{"type":"boolean","description":"Does TLS cipher suite need to be updated? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"}},"type":"object"},"azure:iot/getIotHubIdentity:getIotHubIdentity":{"properties":{"identityIds":{"type":"array","items":{"type":"string"},"description":"The list of User Managed Identity IDs which are assigned to the Virtual Machine.\n"},"principalId":{"type":"string","description":"The ID of the System Managed Service Principal assigned to the Virtual Machine.\n"},"tenantId":{"type":"string","description":"The ID of the Tenant of the System Managed Service Principal assigned to the Virtual Machine.\n"},"type":{"type":"string","description":"The identity type of the Managed Identity assigned to the Virtual Machine.\n"}},"type":"object","required":["identityIds","principalId","tenantId","type"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:iotcentral/ApplicationIdentity:ApplicationIdentity":{"properties":{"principalId":{"type":"string","description":"The Principal ID associated with this Managed Service Identity.\n"},"tenantId":{"type":"string","description":"The Tenant ID associated with this Managed Service Identity.\n"},"type":{"type":"string","description":"Specifies the type of Managed Service Identity that should be configured on this IoT Central Application. The only possible value is `SystemAssigned`.\n"}},"type":"object","required":["type"],"language":{"nodejs":{"requiredOutputs":["principalId","tenantId","type"]}}},"azure:iotcentral/ApplicationNetworkRuleSetIpRule:ApplicationNetworkRuleSetIpRule":{"properties":{"ipMask":{"type":"string","description":"The IP address range in CIDR notation for the IP Rule.\n"},"name":{"type":"string","description":"The name of the IP Rule\n"}},"type":"object","required":["ipMask","name"]},"azure:keyvault/CertifiateCertificate:CertifiateCertificate":{"properties":{"contents":{"type":"string","description":"The base64-encoded certificate contents.\n","secret":true},"password":{"type":"string","description":"The password associated with the certificate.\n\n\u003e **NOTE:** A PEM certificate is already base64 encoded. To successfully import, the \u003cspan pulumi-lang-nodejs=\"`contents`\" pulumi-lang-dotnet=\"`Contents`\" pulumi-lang-go=\"`contents`\" pulumi-lang-python=\"`contents`\" pulumi-lang-yaml=\"`contents`\" pulumi-lang-java=\"`contents`\"\u003e`contents`\u003c/span\u003e property should include a PEM encoded X509 certificate and a\u003cspan pulumi-lang-nodejs=\" privateKey \" pulumi-lang-dotnet=\" PrivateKey \" pulumi-lang-go=\" privateKey \" pulumi-lang-python=\" private_key \" pulumi-lang-yaml=\" privateKey \" pulumi-lang-java=\" privateKey \"\u003e private_key \u003c/span\u003ein pkcs8 format. There should only be linux style `\\n` line endings and the whole block should have the PEM begin/end blocks around the certificate data and the private key data.\n\nTo convert a private key to pkcs8 format with openssl use:\n```shell\nopenssl pkcs8 -topk8 -nocrypt -in private_key.pem \u003e private_key_pk8.pem\n```\n\nThe PEM content should look something like:\n```text\n-----BEGIN CERTIFICATE-----\naGVsbG8KaGVsbG8KaGVsbG8KaGVsbG8KaGVsbG8KaGVsbG8KaGVsbG8KaGVsbG8K\n:\naGVsbG8KaGVsbG8KaGVsbG8KaGVsbG8KaGVsbG8KaGVsbG8KaGVsbG8KaGVsbG8K\n-----END CERTIFICATE-----\n-----BEGIN PRIVATE KEY-----\nd29ybGQKd29ybGQKd29ybGQKd29ybGQKd29ybGQKd29ybGQKd29ybGQKd29ybGQK\n:\nd29ybGQKd29ybGQKd29ybGQKd29ybGQKd29ybGQKd29ybGQKd29ybGQKd29ybGQK\n-----END PRIVATE KEY-----\n```\n","secret":true}},"type":"object","required":["contents"]},"azure:keyvault/CertifiateCertificateAttribute:CertifiateCertificateAttribute":{"properties":{"created":{"type":"string","description":"The create time of the Key Vault Certificate.\n"},"enabled":{"type":"boolean","description":"whether the Key Vault Certificate is enabled.\n"},"expires":{"type":"string","description":"The expires time of the Key Vault Certificate.\n"},"notBefore":{"type":"string","description":"The not before valid time of the Key Vault Certificate.\n"},"recoveryLevel":{"type":"string","description":"The deletion recovery level of the Key Vault Certificate.\n"},"updated":{"type":"string","description":"The recent update time of the Key Vault Certificate.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["created","enabled","expires","notBefore","recoveryLevel","updated"]}}},"azure:keyvault/CertifiateCertificatePolicy:CertifiateCertificatePolicy":{"properties":{"issuerParameters":{"$ref":"#/types/azure:keyvault/CertifiateCertificatePolicyIssuerParameters:CertifiateCertificatePolicyIssuerParameters","description":"A \u003cspan pulumi-lang-nodejs=\"`issuerParameters`\" pulumi-lang-dotnet=\"`IssuerParameters`\" pulumi-lang-go=\"`issuerParameters`\" pulumi-lang-python=\"`issuer_parameters`\" pulumi-lang-yaml=\"`issuerParameters`\" pulumi-lang-java=\"`issuerParameters`\"\u003e`issuer_parameters`\u003c/span\u003e block as defined below.\n"},"keyProperties":{"$ref":"#/types/azure:keyvault/CertifiateCertificatePolicyKeyProperties:CertifiateCertificatePolicyKeyProperties","description":"A \u003cspan pulumi-lang-nodejs=\"`keyProperties`\" pulumi-lang-dotnet=\"`KeyProperties`\" pulumi-lang-go=\"`keyProperties`\" pulumi-lang-python=\"`key_properties`\" pulumi-lang-yaml=\"`keyProperties`\" pulumi-lang-java=\"`keyProperties`\"\u003e`key_properties`\u003c/span\u003e block as defined below.\n"},"lifetimeActions":{"type":"array","items":{"$ref":"#/types/azure:keyvault/CertifiateCertificatePolicyLifetimeAction:CertifiateCertificatePolicyLifetimeAction"},"description":"A \u003cspan pulumi-lang-nodejs=\"`lifetimeAction`\" pulumi-lang-dotnet=\"`LifetimeAction`\" pulumi-lang-go=\"`lifetimeAction`\" pulumi-lang-python=\"`lifetime_action`\" pulumi-lang-yaml=\"`lifetimeAction`\" pulumi-lang-java=\"`lifetimeAction`\"\u003e`lifetime_action`\u003c/span\u003e block as defined below.\n"},"secretProperties":{"$ref":"#/types/azure:keyvault/CertifiateCertificatePolicySecretProperties:CertifiateCertificatePolicySecretProperties","description":"A \u003cspan pulumi-lang-nodejs=\"`secretProperties`\" pulumi-lang-dotnet=\"`SecretProperties`\" pulumi-lang-go=\"`secretProperties`\" pulumi-lang-python=\"`secret_properties`\" pulumi-lang-yaml=\"`secretProperties`\" pulumi-lang-java=\"`secretProperties`\"\u003e`secret_properties`\u003c/span\u003e block as defined below.\n"},"x509CertificateProperties":{"$ref":"#/types/azure:keyvault/CertifiateCertificatePolicyX509CertificateProperties:CertifiateCertificatePolicyX509CertificateProperties","description":"A \u003cspan pulumi-lang-nodejs=\"`x509CertificateProperties`\" pulumi-lang-dotnet=\"`X509CertificateProperties`\" pulumi-lang-go=\"`x509CertificateProperties`\" pulumi-lang-python=\"`x509_certificate_properties`\" pulumi-lang-yaml=\"`x509CertificateProperties`\" pulumi-lang-java=\"`x509CertificateProperties`\"\u003e`x509_certificate_properties`\u003c/span\u003e block as defined below. Required when \u003cspan pulumi-lang-nodejs=\"`certificate`\" pulumi-lang-dotnet=\"`Certificate`\" pulumi-lang-go=\"`certificate`\" pulumi-lang-python=\"`certificate`\" pulumi-lang-yaml=\"`certificate`\" pulumi-lang-java=\"`certificate`\"\u003e`certificate`\u003c/span\u003e block is not specified.\n"}},"type":"object","required":["issuerParameters","keyProperties","secretProperties"],"language":{"nodejs":{"requiredOutputs":["issuerParameters","keyProperties","secretProperties","x509CertificateProperties"]}}},"azure:keyvault/CertifiateCertificatePolicyIssuerParameters:CertifiateCertificatePolicyIssuerParameters":{"properties":{"name":{"type":"string","description":"The name of the Certificate Issuer. Possible values include `Self` (for self-signed certificate), or `Unknown` (for a certificate issuing authority like `Let's Encrypt` and Azure direct supported ones).\n"}},"type":"object","required":["name"]},"azure:keyvault/CertifiateCertificatePolicyKeyProperties:CertifiateCertificatePolicyKeyProperties":{"properties":{"curve":{"type":"string","description":"Specifies the curve to use when creating an `EC` key. Possible values are `P-256`, `P-256K`, `P-384`, and `P-521`. This field will be required in a future release if \u003cspan pulumi-lang-nodejs=\"`keyType`\" pulumi-lang-dotnet=\"`KeyType`\" pulumi-lang-go=\"`keyType`\" pulumi-lang-python=\"`key_type`\" pulumi-lang-yaml=\"`keyType`\" pulumi-lang-java=\"`keyType`\"\u003e`key_type`\u003c/span\u003e is `EC` or `EC-HSM`.\n"},"exportable":{"type":"boolean","description":"Is this certificate exportable?\n"},"keySize":{"type":"integer","description":"The size of the key used in the certificate. Possible values include \u003cspan pulumi-lang-nodejs=\"`2048`\" pulumi-lang-dotnet=\"`2048`\" pulumi-lang-go=\"`2048`\" pulumi-lang-python=\"`2048`\" pulumi-lang-yaml=\"`2048`\" pulumi-lang-java=\"`2048`\"\u003e`2048`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`3072`\" pulumi-lang-dotnet=\"`3072`\" pulumi-lang-go=\"`3072`\" pulumi-lang-python=\"`3072`\" pulumi-lang-yaml=\"`3072`\" pulumi-lang-java=\"`3072`\"\u003e`3072`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`4096`\" pulumi-lang-dotnet=\"`4096`\" pulumi-lang-go=\"`4096`\" pulumi-lang-python=\"`4096`\" pulumi-lang-yaml=\"`4096`\" pulumi-lang-java=\"`4096`\"\u003e`4096`\u003c/span\u003e for `RSA` keys, or \u003cspan pulumi-lang-nodejs=\"`256`\" pulumi-lang-dotnet=\"`256`\" pulumi-lang-go=\"`256`\" pulumi-lang-python=\"`256`\" pulumi-lang-yaml=\"`256`\" pulumi-lang-java=\"`256`\"\u003e`256`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`384`\" pulumi-lang-dotnet=\"`384`\" pulumi-lang-go=\"`384`\" pulumi-lang-python=\"`384`\" pulumi-lang-yaml=\"`384`\" pulumi-lang-java=\"`384`\"\u003e`384`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`521`\" pulumi-lang-dotnet=\"`521`\" pulumi-lang-go=\"`521`\" pulumi-lang-python=\"`521`\" pulumi-lang-yaml=\"`521`\" pulumi-lang-java=\"`521`\"\u003e`521`\u003c/span\u003e for `EC` keys. This property is required when using RSA keys.\n"},"keyType":{"type":"string","description":"Specifies the type of key. Possible values are `EC`, `EC-HSM`, `RSA`, `RSA-HSM` and \u003cspan pulumi-lang-nodejs=\"`oct`\" pulumi-lang-dotnet=\"`Oct`\" pulumi-lang-go=\"`oct`\" pulumi-lang-python=\"`oct`\" pulumi-lang-yaml=\"`oct`\" pulumi-lang-java=\"`oct`\"\u003e`oct`\u003c/span\u003e.\n"},"reuseKey":{"type":"boolean","description":"Is the key reusable?\n"}},"type":"object","required":["exportable","keyType","reuseKey"],"language":{"nodejs":{"requiredOutputs":["curve","exportable","keySize","keyType","reuseKey"]}}},"azure:keyvault/CertifiateCertificatePolicyLifetimeAction:CertifiateCertificatePolicyLifetimeAction":{"properties":{"action":{"$ref":"#/types/azure:keyvault/CertifiateCertificatePolicyLifetimeActionAction:CertifiateCertificatePolicyLifetimeActionAction","description":"A \u003cspan pulumi-lang-nodejs=\"`action`\" pulumi-lang-dotnet=\"`Action`\" pulumi-lang-go=\"`action`\" pulumi-lang-python=\"`action`\" pulumi-lang-yaml=\"`action`\" pulumi-lang-java=\"`action`\"\u003e`action`\u003c/span\u003e block as defined below.\n"},"trigger":{"$ref":"#/types/azure:keyvault/CertifiateCertificatePolicyLifetimeActionTrigger:CertifiateCertificatePolicyLifetimeActionTrigger","description":"A \u003cspan pulumi-lang-nodejs=\"`trigger`\" pulumi-lang-dotnet=\"`Trigger`\" pulumi-lang-go=\"`trigger`\" pulumi-lang-python=\"`trigger`\" pulumi-lang-yaml=\"`trigger`\" pulumi-lang-java=\"`trigger`\"\u003e`trigger`\u003c/span\u003e block as defined below.\n"}},"type":"object","required":["action","trigger"]},"azure:keyvault/CertifiateCertificatePolicyLifetimeActionAction:CertifiateCertificatePolicyLifetimeActionAction":{"properties":{"actionType":{"type":"string","description":"The Type of action to be performed when the lifetime trigger is triggerec. Possible values include `AutoRenew` and `EmailContacts`.\n"}},"type":"object","required":["actionType"]},"azure:keyvault/CertifiateCertificatePolicyLifetimeActionTrigger:CertifiateCertificatePolicyLifetimeActionTrigger":{"properties":{"daysBeforeExpiry":{"type":"integer","description":"The number of days before the Certificate expires that the action associated with this Trigger should run. Conflicts with \u003cspan pulumi-lang-nodejs=\"`lifetimePercentage`\" pulumi-lang-dotnet=\"`LifetimePercentage`\" pulumi-lang-go=\"`lifetimePercentage`\" pulumi-lang-python=\"`lifetime_percentage`\" pulumi-lang-yaml=\"`lifetimePercentage`\" pulumi-lang-java=\"`lifetimePercentage`\"\u003e`lifetime_percentage`\u003c/span\u003e.\n"},"lifetimePercentage":{"type":"integer","description":"The percentage at which during the Certificates Lifetime the action associated with this Trigger should run. Conflicts with \u003cspan pulumi-lang-nodejs=\"`daysBeforeExpiry`\" pulumi-lang-dotnet=\"`DaysBeforeExpiry`\" pulumi-lang-go=\"`daysBeforeExpiry`\" pulumi-lang-python=\"`days_before_expiry`\" pulumi-lang-yaml=\"`daysBeforeExpiry`\" pulumi-lang-java=\"`daysBeforeExpiry`\"\u003e`days_before_expiry`\u003c/span\u003e.\n"}},"type":"object"},"azure:keyvault/CertifiateCertificatePolicySecretProperties:CertifiateCertificatePolicySecretProperties":{"properties":{"contentType":{"type":"string","description":"The Content-Type of the Certificate, such as `application/x-pkcs12` for a PFX or `application/x-pem-file` for a PEM.\n"}},"type":"object","required":["contentType"]},"azure:keyvault/CertifiateCertificatePolicyX509CertificateProperties:CertifiateCertificatePolicyX509CertificateProperties":{"properties":{"extendedKeyUsages":{"type":"array","items":{"type":"string"},"description":"A list of Extended/Enhanced Key Usages.\n"},"keyUsages":{"type":"array","items":{"type":"string"},"description":"A list of uses associated with this Key. Possible values include `cRLSign`, `dataEncipherment`, `decipherOnly`, `digitalSignature`, `encipherOnly`, `keyAgreement`, `keyCertSign`, `keyEncipherment` and `nonRepudiation` and are case-sensitive.\n"},"subject":{"type":"string","description":"The Certificate's Subject.\n"},"subjectAlternativeNames":{"$ref":"#/types/azure:keyvault/CertifiateCertificatePolicyX509CertificatePropertiesSubjectAlternativeNames:CertifiateCertificatePolicyX509CertificatePropertiesSubjectAlternativeNames","description":"A \u003cspan pulumi-lang-nodejs=\"`subjectAlternativeNames`\" pulumi-lang-dotnet=\"`SubjectAlternativeNames`\" pulumi-lang-go=\"`subjectAlternativeNames`\" pulumi-lang-python=\"`subject_alternative_names`\" pulumi-lang-yaml=\"`subjectAlternativeNames`\" pulumi-lang-java=\"`subjectAlternativeNames`\"\u003e`subject_alternative_names`\u003c/span\u003e block as defined below.\n"},"validityInMonths":{"type":"integer","description":"The Certificates Validity Period in Months.\n"}},"type":"object","required":["keyUsages","subject","validityInMonths"],"language":{"nodejs":{"requiredOutputs":["extendedKeyUsages","keyUsages","subject","subjectAlternativeNames","validityInMonths"]}}},"azure:keyvault/CertifiateCertificatePolicyX509CertificatePropertiesSubjectAlternativeNames:CertifiateCertificatePolicyX509CertificatePropertiesSubjectAlternativeNames":{"properties":{"dnsNames":{"type":"array","items":{"type":"string"},"description":"A list of alternative DNS names (FQDNs) identified by the Certificate.\n"},"emails":{"type":"array","items":{"type":"string"},"description":"A list of email addresses identified by this Certificate.\n"},"upns":{"type":"array","items":{"type":"string"},"description":"A list of User Principal Names identified by the Certificate.\n"}},"type":"object"},"azure:keyvault/CertificateCertificate:CertificateCertificate":{"properties":{"contents":{"type":"string","description":"The base64-encoded certificate contents.\n","secret":true},"password":{"type":"string","description":"The password associated with the certificate.\n\n\u003e **NOTE:** A PEM certificate is already base64 encoded. To successfully import, the \u003cspan pulumi-lang-nodejs=\"`contents`\" pulumi-lang-dotnet=\"`Contents`\" pulumi-lang-go=\"`contents`\" pulumi-lang-python=\"`contents`\" pulumi-lang-yaml=\"`contents`\" pulumi-lang-java=\"`contents`\"\u003e`contents`\u003c/span\u003e property should include a PEM encoded X509 certificate and a\u003cspan pulumi-lang-nodejs=\" privateKey \" pulumi-lang-dotnet=\" PrivateKey \" pulumi-lang-go=\" privateKey \" pulumi-lang-python=\" private_key \" pulumi-lang-yaml=\" privateKey \" pulumi-lang-java=\" privateKey \"\u003e private_key \u003c/span\u003ein pkcs8 format. There should only be linux style `\\n` line endings and the whole block should have the PEM begin/end blocks around the certificate data and the private key data.\n\nTo convert a private key to pkcs8 format with openssl use:\n```shell\nopenssl pkcs8 -topk8 -nocrypt -in private_key.pem \u003e private_key_pk8.pem\n```\n\nThe PEM content should look something like:\n```text\n-----BEGIN CERTIFICATE-----\naGVsbG8KaGVsbG8KaGVsbG8KaGVsbG8KaGVsbG8KaGVsbG8KaGVsbG8KaGVsbG8K\n:\naGVsbG8KaGVsbG8KaGVsbG8KaGVsbG8KaGVsbG8KaGVsbG8KaGVsbG8KaGVsbG8K\n-----END CERTIFICATE-----\n-----BEGIN PRIVATE KEY-----\nd29ybGQKd29ybGQKd29ybGQKd29ybGQKd29ybGQKd29ybGQKd29ybGQKd29ybGQK\n:\nd29ybGQKd29ybGQKd29ybGQKd29ybGQKd29ybGQKd29ybGQKd29ybGQKd29ybGQK\n-----END PRIVATE KEY-----\n```\n","secret":true}},"type":"object","required":["contents"]},"azure:keyvault/CertificateCertificateAttribute:CertificateCertificateAttribute":{"properties":{"created":{"type":"string","description":"The create time of the Key Vault Certificate.\n"},"enabled":{"type":"boolean","description":"whether the Key Vault Certificate is enabled.\n"},"expires":{"type":"string","description":"The expires time of the Key Vault Certificate.\n"},"notBefore":{"type":"string","description":"The not before valid time of the Key Vault Certificate.\n"},"recoveryLevel":{"type":"string","description":"The deletion recovery level of the Key Vault Certificate.\n"},"updated":{"type":"string","description":"The recent update time of the Key Vault Certificate.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["created","enabled","expires","notBefore","recoveryLevel","updated"]}}},"azure:keyvault/CertificateCertificatePolicy:CertificateCertificatePolicy":{"properties":{"issuerParameters":{"$ref":"#/types/azure:keyvault/CertificateCertificatePolicyIssuerParameters:CertificateCertificatePolicyIssuerParameters","description":"A \u003cspan pulumi-lang-nodejs=\"`issuerParameters`\" pulumi-lang-dotnet=\"`IssuerParameters`\" pulumi-lang-go=\"`issuerParameters`\" pulumi-lang-python=\"`issuer_parameters`\" pulumi-lang-yaml=\"`issuerParameters`\" pulumi-lang-java=\"`issuerParameters`\"\u003e`issuer_parameters`\u003c/span\u003e block as defined below.\n"},"keyProperties":{"$ref":"#/types/azure:keyvault/CertificateCertificatePolicyKeyProperties:CertificateCertificatePolicyKeyProperties","description":"A \u003cspan pulumi-lang-nodejs=\"`keyProperties`\" pulumi-lang-dotnet=\"`KeyProperties`\" pulumi-lang-go=\"`keyProperties`\" pulumi-lang-python=\"`key_properties`\" pulumi-lang-yaml=\"`keyProperties`\" pulumi-lang-java=\"`keyProperties`\"\u003e`key_properties`\u003c/span\u003e block as defined below.\n"},"lifetimeActions":{"type":"array","items":{"$ref":"#/types/azure:keyvault/CertificateCertificatePolicyLifetimeAction:CertificateCertificatePolicyLifetimeAction"},"description":"A \u003cspan pulumi-lang-nodejs=\"`lifetimeAction`\" pulumi-lang-dotnet=\"`LifetimeAction`\" pulumi-lang-go=\"`lifetimeAction`\" pulumi-lang-python=\"`lifetime_action`\" pulumi-lang-yaml=\"`lifetimeAction`\" pulumi-lang-java=\"`lifetimeAction`\"\u003e`lifetime_action`\u003c/span\u003e block as defined below.\n"},"secretProperties":{"$ref":"#/types/azure:keyvault/CertificateCertificatePolicySecretProperties:CertificateCertificatePolicySecretProperties","description":"A \u003cspan pulumi-lang-nodejs=\"`secretProperties`\" pulumi-lang-dotnet=\"`SecretProperties`\" pulumi-lang-go=\"`secretProperties`\" pulumi-lang-python=\"`secret_properties`\" pulumi-lang-yaml=\"`secretProperties`\" pulumi-lang-java=\"`secretProperties`\"\u003e`secret_properties`\u003c/span\u003e block as defined below.\n"},"x509CertificateProperties":{"$ref":"#/types/azure:keyvault/CertificateCertificatePolicyX509CertificateProperties:CertificateCertificatePolicyX509CertificateProperties","description":"A \u003cspan pulumi-lang-nodejs=\"`x509CertificateProperties`\" pulumi-lang-dotnet=\"`X509CertificateProperties`\" pulumi-lang-go=\"`x509CertificateProperties`\" pulumi-lang-python=\"`x509_certificate_properties`\" pulumi-lang-yaml=\"`x509CertificateProperties`\" pulumi-lang-java=\"`x509CertificateProperties`\"\u003e`x509_certificate_properties`\u003c/span\u003e block as defined below. Required when \u003cspan pulumi-lang-nodejs=\"`certificate`\" pulumi-lang-dotnet=\"`Certificate`\" pulumi-lang-go=\"`certificate`\" pulumi-lang-python=\"`certificate`\" pulumi-lang-yaml=\"`certificate`\" pulumi-lang-java=\"`certificate`\"\u003e`certificate`\u003c/span\u003e block is not specified.\n"}},"type":"object","required":["issuerParameters","keyProperties","secretProperties"],"language":{"nodejs":{"requiredOutputs":["issuerParameters","keyProperties","secretProperties","x509CertificateProperties"]}}},"azure:keyvault/CertificateCertificatePolicyIssuerParameters:CertificateCertificatePolicyIssuerParameters":{"properties":{"name":{"type":"string","description":"The name of the Certificate Issuer. Possible values include `Self` (for self-signed certificate), or `Unknown` (for a certificate issuing authority like `Let's Encrypt` and Azure direct supported ones).\n"}},"type":"object","required":["name"]},"azure:keyvault/CertificateCertificatePolicyKeyProperties:CertificateCertificatePolicyKeyProperties":{"properties":{"curve":{"type":"string","description":"Specifies the curve to use when creating an `EC` key. Possible values are `P-256`, `P-256K`, `P-384`, and `P-521`. This field will be required in a future release if \u003cspan pulumi-lang-nodejs=\"`keyType`\" pulumi-lang-dotnet=\"`KeyType`\" pulumi-lang-go=\"`keyType`\" pulumi-lang-python=\"`key_type`\" pulumi-lang-yaml=\"`keyType`\" pulumi-lang-java=\"`keyType`\"\u003e`key_type`\u003c/span\u003e is `EC` or `EC-HSM`.\n"},"exportable":{"type":"boolean","description":"Is this certificate exportable?\n"},"keySize":{"type":"integer","description":"The size of the key used in the certificate. Possible values include \u003cspan pulumi-lang-nodejs=\"`2048`\" pulumi-lang-dotnet=\"`2048`\" pulumi-lang-go=\"`2048`\" pulumi-lang-python=\"`2048`\" pulumi-lang-yaml=\"`2048`\" pulumi-lang-java=\"`2048`\"\u003e`2048`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`3072`\" pulumi-lang-dotnet=\"`3072`\" pulumi-lang-go=\"`3072`\" pulumi-lang-python=\"`3072`\" pulumi-lang-yaml=\"`3072`\" pulumi-lang-java=\"`3072`\"\u003e`3072`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`4096`\" pulumi-lang-dotnet=\"`4096`\" pulumi-lang-go=\"`4096`\" pulumi-lang-python=\"`4096`\" pulumi-lang-yaml=\"`4096`\" pulumi-lang-java=\"`4096`\"\u003e`4096`\u003c/span\u003e for `RSA` keys, or \u003cspan pulumi-lang-nodejs=\"`256`\" pulumi-lang-dotnet=\"`256`\" pulumi-lang-go=\"`256`\" pulumi-lang-python=\"`256`\" pulumi-lang-yaml=\"`256`\" pulumi-lang-java=\"`256`\"\u003e`256`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`384`\" pulumi-lang-dotnet=\"`384`\" pulumi-lang-go=\"`384`\" pulumi-lang-python=\"`384`\" pulumi-lang-yaml=\"`384`\" pulumi-lang-java=\"`384`\"\u003e`384`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`521`\" pulumi-lang-dotnet=\"`521`\" pulumi-lang-go=\"`521`\" pulumi-lang-python=\"`521`\" pulumi-lang-yaml=\"`521`\" pulumi-lang-java=\"`521`\"\u003e`521`\u003c/span\u003e for `EC` keys. This property is required when using RSA keys.\n"},"keyType":{"type":"string","description":"Specifies the type of key. Possible values are `EC`, `EC-HSM`, `RSA`, `RSA-HSM` and \u003cspan pulumi-lang-nodejs=\"`oct`\" pulumi-lang-dotnet=\"`Oct`\" pulumi-lang-go=\"`oct`\" pulumi-lang-python=\"`oct`\" pulumi-lang-yaml=\"`oct`\" pulumi-lang-java=\"`oct`\"\u003e`oct`\u003c/span\u003e.\n"},"reuseKey":{"type":"boolean","description":"Is the key reusable?\n"}},"type":"object","required":["exportable","keyType","reuseKey"],"language":{"nodejs":{"requiredOutputs":["curve","exportable","keySize","keyType","reuseKey"]}}},"azure:keyvault/CertificateCertificatePolicyLifetimeAction:CertificateCertificatePolicyLifetimeAction":{"properties":{"action":{"$ref":"#/types/azure:keyvault/CertificateCertificatePolicyLifetimeActionAction:CertificateCertificatePolicyLifetimeActionAction","description":"A \u003cspan pulumi-lang-nodejs=\"`action`\" pulumi-lang-dotnet=\"`Action`\" pulumi-lang-go=\"`action`\" pulumi-lang-python=\"`action`\" pulumi-lang-yaml=\"`action`\" pulumi-lang-java=\"`action`\"\u003e`action`\u003c/span\u003e block as defined below.\n"},"trigger":{"$ref":"#/types/azure:keyvault/CertificateCertificatePolicyLifetimeActionTrigger:CertificateCertificatePolicyLifetimeActionTrigger","description":"A \u003cspan pulumi-lang-nodejs=\"`trigger`\" pulumi-lang-dotnet=\"`Trigger`\" pulumi-lang-go=\"`trigger`\" pulumi-lang-python=\"`trigger`\" pulumi-lang-yaml=\"`trigger`\" pulumi-lang-java=\"`trigger`\"\u003e`trigger`\u003c/span\u003e block as defined below.\n"}},"type":"object","required":["action","trigger"]},"azure:keyvault/CertificateCertificatePolicyLifetimeActionAction:CertificateCertificatePolicyLifetimeActionAction":{"properties":{"actionType":{"type":"string","description":"The Type of action to be performed when the lifetime trigger is triggerec. Possible values include `AutoRenew` and `EmailContacts`.\n"}},"type":"object","required":["actionType"]},"azure:keyvault/CertificateCertificatePolicyLifetimeActionTrigger:CertificateCertificatePolicyLifetimeActionTrigger":{"properties":{"daysBeforeExpiry":{"type":"integer","description":"The number of days before the Certificate expires that the action associated with this Trigger should run. Conflicts with \u003cspan pulumi-lang-nodejs=\"`lifetimePercentage`\" pulumi-lang-dotnet=\"`LifetimePercentage`\" pulumi-lang-go=\"`lifetimePercentage`\" pulumi-lang-python=\"`lifetime_percentage`\" pulumi-lang-yaml=\"`lifetimePercentage`\" pulumi-lang-java=\"`lifetimePercentage`\"\u003e`lifetime_percentage`\u003c/span\u003e.\n"},"lifetimePercentage":{"type":"integer","description":"The percentage at which during the Certificates Lifetime the action associated with this Trigger should run. Conflicts with \u003cspan pulumi-lang-nodejs=\"`daysBeforeExpiry`\" pulumi-lang-dotnet=\"`DaysBeforeExpiry`\" pulumi-lang-go=\"`daysBeforeExpiry`\" pulumi-lang-python=\"`days_before_expiry`\" pulumi-lang-yaml=\"`daysBeforeExpiry`\" pulumi-lang-java=\"`daysBeforeExpiry`\"\u003e`days_before_expiry`\u003c/span\u003e.\n"}},"type":"object"},"azure:keyvault/CertificateCertificatePolicySecretProperties:CertificateCertificatePolicySecretProperties":{"properties":{"contentType":{"type":"string","description":"The Content-Type of the Certificate, such as `application/x-pkcs12` for a PFX or `application/x-pem-file` for a PEM.\n"}},"type":"object","required":["contentType"]},"azure:keyvault/CertificateCertificatePolicyX509CertificateProperties:CertificateCertificatePolicyX509CertificateProperties":{"properties":{"extendedKeyUsages":{"type":"array","items":{"type":"string"},"description":"A list of Extended/Enhanced Key Usages.\n"},"keyUsages":{"type":"array","items":{"type":"string"},"description":"A list of uses associated with this Key. Possible values include `cRLSign`, `dataEncipherment`, `decipherOnly`, `digitalSignature`, `encipherOnly`, `keyAgreement`, `keyCertSign`, `keyEncipherment` and `nonRepudiation` and are case-sensitive.\n"},"subject":{"type":"string","description":"The Certificate's Subject.\n"},"subjectAlternativeNames":{"$ref":"#/types/azure:keyvault/CertificateCertificatePolicyX509CertificatePropertiesSubjectAlternativeNames:CertificateCertificatePolicyX509CertificatePropertiesSubjectAlternativeNames","description":"A \u003cspan pulumi-lang-nodejs=\"`subjectAlternativeNames`\" pulumi-lang-dotnet=\"`SubjectAlternativeNames`\" pulumi-lang-go=\"`subjectAlternativeNames`\" pulumi-lang-python=\"`subject_alternative_names`\" pulumi-lang-yaml=\"`subjectAlternativeNames`\" pulumi-lang-java=\"`subjectAlternativeNames`\"\u003e`subject_alternative_names`\u003c/span\u003e block as defined below.\n"},"validityInMonths":{"type":"integer","description":"The Certificates Validity Period in Months.\n"}},"type":"object","required":["keyUsages","subject","validityInMonths"],"language":{"nodejs":{"requiredOutputs":["extendedKeyUsages","keyUsages","subject","subjectAlternativeNames","validityInMonths"]}}},"azure:keyvault/CertificateCertificatePolicyX509CertificatePropertiesSubjectAlternativeNames:CertificateCertificatePolicyX509CertificatePropertiesSubjectAlternativeNames":{"properties":{"dnsNames":{"type":"array","items":{"type":"string"},"description":"A list of alternative DNS names (FQDNs) identified by the Certificate.\n"},"emails":{"type":"array","items":{"type":"string"},"description":"A list of email addresses identified by this Certificate.\n"},"upns":{"type":"array","items":{"type":"string"},"description":"A list of User Principal Names identified by the Certificate.\n"}},"type":"object"},"azure:keyvault/CertificateContactsContact:CertificateContactsContact":{"properties":{"email":{"type":"string","description":"E-mail address of the contact.\n"},"name":{"type":"string","description":"Name of the contact.\n"},"phone":{"type":"string","description":"Phone number of the contact.\n"}},"type":"object","required":["email"]},"azure:keyvault/CertificateIssuerAdmin:CertificateIssuerAdmin":{"properties":{"emailAddress":{"type":"string","description":"E-mail address of the admin.\n"},"firstName":{"type":"string","description":"First name of the admin.\n"},"lastName":{"type":"string","description":"Last name of the admin.\n"},"phone":{"type":"string","description":"Phone number of the admin.\n"}},"type":"object","required":["emailAddress"]},"azure:keyvault/KeyRotationPolicy:KeyRotationPolicy":{"properties":{"automatic":{"$ref":"#/types/azure:keyvault/KeyRotationPolicyAutomatic:KeyRotationPolicyAutomatic","description":"An \u003cspan pulumi-lang-nodejs=\"`automatic`\" pulumi-lang-dotnet=\"`Automatic`\" pulumi-lang-go=\"`automatic`\" pulumi-lang-python=\"`automatic`\" pulumi-lang-yaml=\"`automatic`\" pulumi-lang-java=\"`automatic`\"\u003e`automatic`\u003c/span\u003e block as defined below.\n"},"expireAfter":{"type":"string","description":"Expire a Key Vault Key after given duration as an [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations).\n"},"notifyBeforeExpiry":{"type":"string","description":"Notify at a given duration before expiry as an [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations).\n"}},"type":"object"},"azure:keyvault/KeyRotationPolicyAutomatic:KeyRotationPolicyAutomatic":{"properties":{"timeAfterCreation":{"type":"string","description":"Rotate automatically at a duration after create as an [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations).\n"},"timeBeforeExpiry":{"type":"string","description":"Rotate automatically at a duration before expiry as an [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations).\n"}},"type":"object"},"azure:keyvault/KeyVaultAccessPolicy:KeyVaultAccessPolicy":{"properties":{"applicationId":{"type":"string","description":"The object ID of an Application in Azure Active Directory.\n"},"certificatePermissions":{"type":"array","items":{"type":"string"},"description":"List of certificate permissions, must be one or more from the following: `Backup`, `Create`, `Delete`, `DeleteIssuers`, `Get`, `GetIssuers`, `Import`, `List`, `ListIssuers`, `ManageContacts`, `ManageIssuers`, `Purge`, `Recover`, `Restore`, `SetIssuers` and `Update`.\n"},"keyPermissions":{"type":"array","items":{"type":"string"},"description":"List of key permissions. Possible values are `Backup`, `Create`, `Decrypt`, `Delete`, `Encrypt`, `Get`, `Import`, `List`, `Purge`, `Recover`, `Restore`, `Sign`, `UnwrapKey`, `Update`, `Verify`, `WrapKey`, `Release`, `Rotate`, `GetRotationPolicy` and `SetRotationPolicy`.\n"},"objectId":{"type":"string","description":"The object ID of a user, service principal or security group in the Azure Active Directory tenant for the vault. The object ID must be unique for the list of access policies.\n"},"secretPermissions":{"type":"array","items":{"type":"string"},"description":"List of secret permissions, must be one or more from the following: `Backup`, `Delete`, `Get`, `List`, `Purge`, `Recover`, `Restore` and `Set`.\n"},"storagePermissions":{"type":"array","items":{"type":"string"},"description":"List of storage permissions, must be one or more from the following: `Backup`, `Delete`, `DeleteSAS`, `Get`, `GetSAS`, `List`, `ListSAS`, `Purge`, `Recover`, `RegenerateKey`, `Restore`, `Set`, `SetSAS` and `Update`.\n"},"tenantId":{"type":"string","description":"The Azure Active Directory tenant ID that should be used for authenticating requests to the key vault. Must match the \u003cspan pulumi-lang-nodejs=\"`tenantId`\" pulumi-lang-dotnet=\"`TenantId`\" pulumi-lang-go=\"`tenantId`\" pulumi-lang-python=\"`tenant_id`\" pulumi-lang-yaml=\"`tenantId`\" pulumi-lang-java=\"`tenantId`\"\u003e`tenant_id`\u003c/span\u003e used above.\n"}},"type":"object","required":["objectId","tenantId"]},"azure:keyvault/KeyVaultContact:KeyVaultContact":{"properties":{"email":{"type":"string"},"name":{"type":"string","description":"Specifies the name of the Key Vault. Changing this forces a new resource to be created. The name must be globally unique. If the vault is in a recoverable state then the vault will need to be purged before reusing the name.\n"},"phone":{"type":"string"}},"type":"object","required":["email"]},"azure:keyvault/KeyVaultNetworkAcls:KeyVaultNetworkAcls":{"properties":{"bypass":{"type":"string","description":"Specifies which traffic can bypass the network rules. Possible values are `AzureServices` and `None`.\n"},"defaultAction":{"type":"string","description":"The Default Action to use when no rules match from \u003cspan pulumi-lang-nodejs=\"`ipRules`\" pulumi-lang-dotnet=\"`IpRules`\" pulumi-lang-go=\"`ipRules`\" pulumi-lang-python=\"`ip_rules`\" pulumi-lang-yaml=\"`ipRules`\" pulumi-lang-java=\"`ipRules`\"\u003e`ip_rules`\u003c/span\u003e / \u003cspan pulumi-lang-nodejs=\"`virtualNetworkSubnetIds`\" pulumi-lang-dotnet=\"`VirtualNetworkSubnetIds`\" pulumi-lang-go=\"`virtualNetworkSubnetIds`\" pulumi-lang-python=\"`virtual_network_subnet_ids`\" pulumi-lang-yaml=\"`virtualNetworkSubnetIds`\" pulumi-lang-java=\"`virtualNetworkSubnetIds`\"\u003e`virtual_network_subnet_ids`\u003c/span\u003e. Possible values are `Allow` and `Deny`.\n"},"ipRules":{"type":"array","items":{"type":"string"},"description":"One or more IP Addresses, or CIDR Blocks which should be able to access the Key Vault.\n"},"virtualNetworkSubnetIds":{"type":"array","items":{"type":"string"},"description":"One or more Subnet IDs which should be able to access this Key Vault.\n"}},"type":"object","required":["bypass","defaultAction"]},"azure:keyvault/ManagedHardwareSecurityModuleNetworkAcls:ManagedHardwareSecurityModuleNetworkAcls":{"properties":{"bypass":{"type":"string","description":"Specifies which traffic can bypass the network rules. Possible values are `AzureServices` and `None`.\n"},"defaultAction":{"type":"string","description":"The Default Action to use. Possible values are `Allow` and `Deny`.\n"}},"type":"object","required":["bypass","defaultAction"]},"azure:keyvault/ManagedHardwareSecurityModuleRoleDefinitionPermission:ManagedHardwareSecurityModuleRoleDefinitionPermission":{"properties":{"actions":{"type":"array","items":{"type":"string"},"description":"One or more Allowed Actions, such as `*`, `Microsoft.Resources/subscriptions/resourceGroups/read`. See ['Azure Resource Manager resource provider operations'](https://docs.microsoft.com/azure/role-based-access-control/resource-provider-operations) for details.\n"},"dataActions":{"type":"array","items":{"type":"string"},"description":"Specifies a list of data action permission to grant. Possible values are `Microsoft.KeyVault/managedHsm/keys/read/action`, `Microsoft.KeyVault/managedHsm/keys/write/action`, `Microsoft.KeyVault/managedHsm/keys/deletedKeys/read/action`, `Microsoft.KeyVault/managedHsm/keys/deletedKeys/recover/action`, `Microsoft.KeyVault/managedHsm/keys/backup/action`, `Microsoft.KeyVault/managedHsm/keys/restore/action`, `Microsoft.KeyVault/managedHsm/roleAssignments/delete/action`, `Microsoft.KeyVault/managedHsm/roleAssignments/read/action`, `Microsoft.KeyVault/managedHsm/roleAssignments/write/action`, `Microsoft.KeyVault/managedHsm/roleDefinitions/read/action`, `Microsoft.KeyVault/managedHsm/roleDefinitions/write/action`, `Microsoft.KeyVault/managedHsm/roleDefinitions/delete/action`, `Microsoft.KeyVault/managedHsm/keys/encrypt/action`, `Microsoft.KeyVault/managedHsm/keys/decrypt/action`, `Microsoft.KeyVault/managedHsm/keys/wrap/action`, `Microsoft.KeyVault/managedHsm/keys/unwrap/action`, `Microsoft.KeyVault/managedHsm/keys/sign/action`, `Microsoft.KeyVault/managedHsm/keys/verify/action`, `Microsoft.KeyVault/managedHsm/keys/create`, `Microsoft.KeyVault/managedHsm/keys/delete`, `Microsoft.KeyVault/managedHsm/keys/export/action`, `Microsoft.KeyVault/managedHsm/keys/release/action`, `Microsoft.KeyVault/managedHsm/keys/import/action`, `Microsoft.KeyVault/managedHsm/keys/deletedKeys/delete`, `Microsoft.KeyVault/managedHsm/securitydomain/download/action`, `Microsoft.KeyVault/managedHsm/securitydomain/download/read`, `Microsoft.KeyVault/managedHsm/securitydomain/upload/action`, `Microsoft.KeyVault/managedHsm/securitydomain/upload/read`, `Microsoft.KeyVault/managedHsm/securitydomain/transferkey/read`, `Microsoft.KeyVault/managedHsm/backup/start/action`, `Microsoft.KeyVault/managedHsm/restore/start/action`, `Microsoft.KeyVault/managedHsm/backup/status/action`, `Microsoft.KeyVault/managedHsm/restore/status/action` and `Microsoft.KeyVault/managedHsm/rng/action`.\n"},"notActions":{"type":"array","items":{"type":"string"},"description":"One or more Disallowed Actions, such as `*`, `Microsoft.Resources/subscriptions/resourceGroups/read`. See ['Azure Resource Manager resource provider operations'](https://docs.microsoft.com/azure/role-based-access-control/resource-provider-operations) for details.\n"},"notDataActions":{"type":"array","items":{"type":"string"},"description":"Specifies a list of data action permission not to grant. Possible values are `Microsoft.KeyVault/managedHsm/keys/read/action`, `Microsoft.KeyVault/managedHsm/keys/write/action`, `Microsoft.KeyVault/managedHsm/keys/deletedKeys/read/action`, `Microsoft.KeyVault/managedHsm/keys/deletedKeys/recover/action`, `Microsoft.KeyVault/managedHsm/keys/backup/action`, `Microsoft.KeyVault/managedHsm/keys/restore/action`, `Microsoft.KeyVault/managedHsm/roleAssignments/delete/action`, `Microsoft.KeyVault/managedHsm/roleAssignments/read/action`, `Microsoft.KeyVault/managedHsm/roleAssignments/write/action`, `Microsoft.KeyVault/managedHsm/roleDefinitions/read/action`, `Microsoft.KeyVault/managedHsm/roleDefinitions/write/action`, `Microsoft.KeyVault/managedHsm/roleDefinitions/delete/action`, `Microsoft.KeyVault/managedHsm/keys/encrypt/action`, `Microsoft.KeyVault/managedHsm/keys/decrypt/action`, `Microsoft.KeyVault/managedHsm/keys/wrap/action`, `Microsoft.KeyVault/managedHsm/keys/unwrap/action`, `Microsoft.KeyVault/managedHsm/keys/sign/action`, `Microsoft.KeyVault/managedHsm/keys/verify/action`, `Microsoft.KeyVault/managedHsm/keys/create`, `Microsoft.KeyVault/managedHsm/keys/delete`, `Microsoft.KeyVault/managedHsm/keys/export/action`, `Microsoft.KeyVault/managedHsm/keys/release/action`, `Microsoft.KeyVault/managedHsm/keys/import/action`, `Microsoft.KeyVault/managedHsm/keys/deletedKeys/delete`, `Microsoft.KeyVault/managedHsm/securitydomain/download/action`, `Microsoft.KeyVault/managedHsm/securitydomain/download/read`, `Microsoft.KeyVault/managedHsm/securitydomain/upload/action`, `Microsoft.KeyVault/managedHsm/securitydomain/upload/read`, `Microsoft.KeyVault/managedHsm/securitydomain/transferkey/read`, `Microsoft.KeyVault/managedHsm/backup/start/action`, `Microsoft.KeyVault/managedHsm/restore/start/action`, `Microsoft.KeyVault/managedHsm/backup/status/action`, `Microsoft.KeyVault/managedHsm/restore/status/action` and `Microsoft.KeyVault/managedHsm/rng/action`.\n"}},"type":"object"},"azure:keyvault/getCertificateCertificatePolicy:getCertificateCertificatePolicy":{"properties":{"issuerParameters":{"type":"array","items":{"$ref":"#/types/azure:keyvault/getCertificateCertificatePolicyIssuerParameter:getCertificateCertificatePolicyIssuerParameter"},"description":"A \u003cspan pulumi-lang-nodejs=\"`issuerParameters`\" pulumi-lang-dotnet=\"`IssuerParameters`\" pulumi-lang-go=\"`issuerParameters`\" pulumi-lang-python=\"`issuer_parameters`\" pulumi-lang-yaml=\"`issuerParameters`\" pulumi-lang-java=\"`issuerParameters`\"\u003e`issuer_parameters`\u003c/span\u003e block as defined below.\n"},"keyProperties":{"type":"array","items":{"$ref":"#/types/azure:keyvault/getCertificateCertificatePolicyKeyProperty:getCertificateCertificatePolicyKeyProperty"},"description":"A \u003cspan pulumi-lang-nodejs=\"`keyProperties`\" pulumi-lang-dotnet=\"`KeyProperties`\" pulumi-lang-go=\"`keyProperties`\" pulumi-lang-python=\"`key_properties`\" pulumi-lang-yaml=\"`keyProperties`\" pulumi-lang-java=\"`keyProperties`\"\u003e`key_properties`\u003c/span\u003e block as defined below.\n"},"lifetimeActions":{"type":"array","items":{"$ref":"#/types/azure:keyvault/getCertificateCertificatePolicyLifetimeAction:getCertificateCertificatePolicyLifetimeAction"},"description":"A \u003cspan pulumi-lang-nodejs=\"`lifetimeAction`\" pulumi-lang-dotnet=\"`LifetimeAction`\" pulumi-lang-go=\"`lifetimeAction`\" pulumi-lang-python=\"`lifetime_action`\" pulumi-lang-yaml=\"`lifetimeAction`\" pulumi-lang-java=\"`lifetimeAction`\"\u003e`lifetime_action`\u003c/span\u003e block as defined below.\n"},"secretProperties":{"type":"array","items":{"$ref":"#/types/azure:keyvault/getCertificateCertificatePolicySecretProperty:getCertificateCertificatePolicySecretProperty"},"description":"A \u003cspan pulumi-lang-nodejs=\"`secretProperties`\" pulumi-lang-dotnet=\"`SecretProperties`\" pulumi-lang-go=\"`secretProperties`\" pulumi-lang-python=\"`secret_properties`\" pulumi-lang-yaml=\"`secretProperties`\" pulumi-lang-java=\"`secretProperties`\"\u003e`secret_properties`\u003c/span\u003e block as defined below.\n"},"x509CertificateProperties":{"type":"array","items":{"$ref":"#/types/azure:keyvault/getCertificateCertificatePolicyX509CertificateProperty:getCertificateCertificatePolicyX509CertificateProperty"},"description":"An \u003cspan pulumi-lang-nodejs=\"`x509CertificateProperties`\" pulumi-lang-dotnet=\"`X509CertificateProperties`\" pulumi-lang-go=\"`x509CertificateProperties`\" pulumi-lang-python=\"`x509_certificate_properties`\" pulumi-lang-yaml=\"`x509CertificateProperties`\" pulumi-lang-java=\"`x509CertificateProperties`\"\u003e`x509_certificate_properties`\u003c/span\u003e block as defined below.\n"}},"type":"object","required":["issuerParameters","keyProperties","lifetimeActions","secretProperties","x509CertificateProperties"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:keyvault/getCertificateCertificatePolicyIssuerParameter:getCertificateCertificatePolicyIssuerParameter":{"properties":{"name":{"type":"string","description":"Specifies the name of the Key Vault Certificate.\n"}},"type":"object","required":["name"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:keyvault/getCertificateCertificatePolicyKeyProperty:getCertificateCertificatePolicyKeyProperty":{"properties":{"curve":{"type":"string"},"exportable":{"type":"boolean","description":"Is this Certificate Exportable?\n"},"keySize":{"type":"integer","description":"The size of the Key used in the Certificate.\n"},"keyType":{"type":"string","description":"Specifies the Type of Key, for example `RSA`.\n"},"reuseKey":{"type":"boolean","description":"Is the key reusable?\n"}},"type":"object","required":["curve","exportable","keySize","keyType","reuseKey"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:keyvault/getCertificateCertificatePolicyLifetimeAction:getCertificateCertificatePolicyLifetimeAction":{"properties":{"actions":{"type":"array","items":{"$ref":"#/types/azure:keyvault/getCertificateCertificatePolicyLifetimeActionAction:getCertificateCertificatePolicyLifetimeActionAction"},"description":"A \u003cspan pulumi-lang-nodejs=\"`action`\" pulumi-lang-dotnet=\"`Action`\" pulumi-lang-go=\"`action`\" pulumi-lang-python=\"`action`\" pulumi-lang-yaml=\"`action`\" pulumi-lang-java=\"`action`\"\u003e`action`\u003c/span\u003e block as defined below.\n"},"triggers":{"type":"array","items":{"$ref":"#/types/azure:keyvault/getCertificateCertificatePolicyLifetimeActionTrigger:getCertificateCertificatePolicyLifetimeActionTrigger"},"description":"A \u003cspan pulumi-lang-nodejs=\"`trigger`\" pulumi-lang-dotnet=\"`Trigger`\" pulumi-lang-go=\"`trigger`\" pulumi-lang-python=\"`trigger`\" pulumi-lang-yaml=\"`trigger`\" pulumi-lang-java=\"`trigger`\"\u003e`trigger`\u003c/span\u003e block as defined below.\n"}},"type":"object","required":["actions","triggers"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:keyvault/getCertificateCertificatePolicyLifetimeActionAction:getCertificateCertificatePolicyLifetimeActionAction":{"properties":{"actionType":{"type":"string","description":"The Type of action to be performed when the lifetime trigger is triggerec.\n"}},"type":"object","required":["actionType"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:keyvault/getCertificateCertificatePolicyLifetimeActionTrigger:getCertificateCertificatePolicyLifetimeActionTrigger":{"properties":{"daysBeforeExpiry":{"type":"integer","description":"The number of days before the Certificate expires that the action associated with this Trigger should run.\n"},"lifetimePercentage":{"type":"integer","description":"The percentage at which during the Certificates Lifetime the action associated with this Trigger should run.\n"}},"type":"object","required":["daysBeforeExpiry","lifetimePercentage"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:keyvault/getCertificateCertificatePolicySecretProperty:getCertificateCertificatePolicySecretProperty":{"properties":{"contentType":{"type":"string","description":"The Content-Type of the Certificate, for example `application/x-pkcs12` for a PFX or `application/x-pem-file` for a PEM.\n"}},"type":"object","required":["contentType"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:keyvault/getCertificateCertificatePolicyX509CertificateProperty:getCertificateCertificatePolicyX509CertificateProperty":{"properties":{"extendedKeyUsages":{"type":"array","items":{"type":"string"},"description":"A list of Extended/Enhanced Key Usages.\n"},"keyUsages":{"type":"array","items":{"type":"string"},"description":"A list of uses associated with this Key.\n"},"subject":{"type":"string","description":"The Certificate's Subject.\n"},"subjectAlternativeNames":{"type":"array","items":{"$ref":"#/types/azure:keyvault/getCertificateCertificatePolicyX509CertificatePropertySubjectAlternativeName:getCertificateCertificatePolicyX509CertificatePropertySubjectAlternativeName"},"description":"A \u003cspan pulumi-lang-nodejs=\"`subjectAlternativeNames`\" pulumi-lang-dotnet=\"`SubjectAlternativeNames`\" pulumi-lang-go=\"`subjectAlternativeNames`\" pulumi-lang-python=\"`subject_alternative_names`\" pulumi-lang-yaml=\"`subjectAlternativeNames`\" pulumi-lang-java=\"`subjectAlternativeNames`\"\u003e`subject_alternative_names`\u003c/span\u003e block as defined below.\n"},"validityInMonths":{"type":"integer","description":"The Certificates Validity Period in Months.\n"}},"type":"object","required":["extendedKeyUsages","keyUsages","subject","subjectAlternativeNames","validityInMonths"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:keyvault/getCertificateCertificatePolicyX509CertificatePropertySubjectAlternativeName:getCertificateCertificatePolicyX509CertificatePropertySubjectAlternativeName":{"properties":{"dnsNames":{"type":"array","items":{"type":"string"},"description":"A list of alternative DNS names (FQDNs) identified by the Certificate.\n"},"emails":{"type":"array","items":{"type":"string"},"description":"A list of email addresses identified by this Certificate.\n"},"upns":{"type":"array","items":{"type":"string"},"description":"A list of User Principal Names identified by the Certificate.\n"}},"type":"object","required":["dnsNames","emails","upns"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:keyvault/getCertificateIssuerAdmin:getCertificateIssuerAdmin":{"properties":{"emailAddress":{"type":"string","description":"E-mail address of the admin.\n"},"firstName":{"type":"string","description":"First name of the admin.\n"},"lastName":{"type":"string","description":"Last name of the admin.\n"},"phone":{"type":"string","description":"Phone number of the admin.\n"}},"type":"object","required":["emailAddress","firstName","lastName","phone"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:keyvault/getCertificatesCertificate:getCertificatesCertificate":{"properties":{"enabled":{"type":"boolean","description":"Whether this certificate is enabled.\n"},"id":{"type":"string","description":"The ID of this certificate.\n"},"name":{"type":"string","description":"The name of certificate.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"The tags of this certificate.\n"}},"type":"object","required":["enabled","id","name","tags"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:keyvault/getKeyVaultAccessPolicy:getKeyVaultAccessPolicy":{"properties":{"applicationId":{"type":"string","description":"The Object ID of a Azure Active Directory Application.\n"},"certificatePermissions":{"type":"array","items":{"type":"string"},"description":"A list of certificate permissions applicable to this Access Policy.\n"},"keyPermissions":{"type":"array","items":{"type":"string"},"description":"A list of key permissions applicable to this Access Policy.\n"},"objectId":{"type":"string","description":"An Object ID of a User, Service Principal or Security Group.\n"},"secretPermissions":{"type":"array","items":{"type":"string"},"description":"A list of secret permissions applicable to this Access Policy.\n"},"storagePermissions":{"type":"array","items":{"type":"string"},"description":"A list of storage permissions applicable to this Access Policy.\n"},"tenantId":{"type":"string","description":"The Azure Active Directory Tenant ID used to authenticate requests for this Key Vault.\n"}},"type":"object","required":["applicationId","certificatePermissions","keyPermissions","objectId","secretPermissions","storagePermissions","tenantId"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:keyvault/getKeyVaultNetworkAcl:getKeyVaultNetworkAcl":{"properties":{"bypass":{"type":"string"},"defaultAction":{"type":"string"},"ipRules":{"type":"array","items":{"type":"string"}},"virtualNetworkSubnetIds":{"type":"array","items":{"type":"string"}}},"type":"object","required":["bypass","defaultAction","ipRules","virtualNetworkSubnetIds"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:keyvault/getManagedHardwareSecurityModuleRoleDefinitionPermission:getManagedHardwareSecurityModuleRoleDefinitionPermission":{"properties":{"actions":{"type":"array","items":{"type":"string"},"description":"A list of action permission granted.\n"},"dataActions":{"type":"array","items":{"type":"string"},"description":"A list of data action permission granted.\n"},"notActions":{"type":"array","items":{"type":"string"},"description":"A list of action permission excluded (but not denied).\n"},"notDataActions":{"type":"array","items":{"type":"string"},"description":"A list of data action permission granted.\n"}},"type":"object","required":["actions","dataActions","notActions","notDataActions"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:keyvault/getSecretsSecret:getSecretsSecret":{"properties":{"enabled":{"type":"boolean","description":"Whether this secret is enabled.\n"},"id":{"type":"string","description":"The ID of this secret.\n"},"name":{"type":"string","description":"The name of secret.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"The tags of this secret.\n"}},"type":"object","required":["enabled","id","name","tags"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:kusto/AttachedDatabaseConfigurationSharing:AttachedDatabaseConfigurationSharing":{"properties":{"externalTablesToExcludes":{"type":"array","items":{"type":"string"},"description":"List of external tables exclude from the follower database.\n"},"externalTablesToIncludes":{"type":"array","items":{"type":"string"},"description":"List of external tables to include in the follower database.\n"},"materializedViewsToExcludes":{"type":"array","items":{"type":"string"},"description":"List of materialized views exclude from the follower database.\n"},"materializedViewsToIncludes":{"type":"array","items":{"type":"string"},"description":"List of materialized views to include in the follower database.\n"},"tablesToExcludes":{"type":"array","items":{"type":"string"},"description":"List of tables to exclude from the follower database.\n"},"tablesToIncludes":{"type":"array","items":{"type":"string"},"description":"List of tables to include in the follower database.\n"}},"type":"object"},"azure:kusto/ClusterIdentity:ClusterIdentity":{"properties":{"identityIds":{"type":"array","items":{"type":"string"},"description":"Specifies a list of User Assigned Managed Identity IDs to be assigned to this Kusto Cluster.\n\n\u003e **Note:** This is required when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to `UserAssigned` or `SystemAssigned, UserAssigned`.\n"},"principalId":{"type":"string","description":"The Principal ID associated with this System Assigned Managed Service Identity.\n"},"tenantId":{"type":"string","description":"The Tenant ID associated with this System Assigned Managed Service Identity.\n"},"type":{"type":"string","description":"Specifies the type of Managed Service Identity that is configured on this Kusto Cluster. Possible values are: `SystemAssigned`, `UserAssigned` and `SystemAssigned, UserAssigned`.\n"}},"type":"object","required":["type"],"language":{"nodejs":{"requiredOutputs":["principalId","tenantId","type"]}}},"azure:kusto/ClusterLanguageExtension:ClusterLanguageExtension":{"properties":{"image":{"type":"string","description":"The language extension image. Possible values are `Python3_11_7`, `Python3_11_7_DL`, `Python3_10_8`, `Python3_10_8_DL`, `Python3_6_5`, `PythonCustomImage`, and `R`.\n"},"name":{"type":"string","description":"The name of the Kusto Cluster to create. Only lowercase Alphanumeric characters allowed, starting with a letter. Changing this forces a new resource to be created.\n"}},"type":"object","required":["image","name"]},"azure:kusto/ClusterOptimizedAutoScale:ClusterOptimizedAutoScale":{"properties":{"maximumInstances":{"type":"integer","description":"The maximum number of allowed instances. Possible values range between \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`1000`\" pulumi-lang-dotnet=\"`1000`\" pulumi-lang-go=\"`1000`\" pulumi-lang-python=\"`1000`\" pulumi-lang-yaml=\"`1000`\" pulumi-lang-java=\"`1000`\"\u003e`1000`\u003c/span\u003e.\n"},"minimumInstances":{"type":"integer","description":"The minimum number of allowed instances. Possible values range between \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`1000`\" pulumi-lang-dotnet=\"`1000`\" pulumi-lang-go=\"`1000`\" pulumi-lang-python=\"`1000`\" pulumi-lang-yaml=\"`1000`\" pulumi-lang-java=\"`1000`\"\u003e`1000`\u003c/span\u003e.\n"}},"type":"object","required":["maximumInstances","minimumInstances"]},"azure:kusto/ClusterSku:ClusterSku":{"properties":{"capacity":{"type":"integer","description":"Specifies the node count for the cluster. Boundaries depend on the SKU name.\n\n\u003e **Note:** If no \u003cspan pulumi-lang-nodejs=\"`optimizedAutoScale`\" pulumi-lang-dotnet=\"`OptimizedAutoScale`\" pulumi-lang-go=\"`optimizedAutoScale`\" pulumi-lang-python=\"`optimized_auto_scale`\" pulumi-lang-yaml=\"`optimizedAutoScale`\" pulumi-lang-java=\"`optimizedAutoScale`\"\u003e`optimized_auto_scale`\u003c/span\u003e block is defined, then the capacity is required.\n\n\u003e **Note:** If an \u003cspan pulumi-lang-nodejs=\"`optimizedAutoScale`\" pulumi-lang-dotnet=\"`OptimizedAutoScale`\" pulumi-lang-go=\"`optimizedAutoScale`\" pulumi-lang-python=\"`optimized_auto_scale`\" pulumi-lang-yaml=\"`optimizedAutoScale`\" pulumi-lang-java=\"`optimizedAutoScale`\"\u003e`optimized_auto_scale`\u003c/span\u003e block is defined and no capacity is set, then the capacity is initially set to the value of \u003cspan pulumi-lang-nodejs=\"`minimumInstances`\" pulumi-lang-dotnet=\"`MinimumInstances`\" pulumi-lang-go=\"`minimumInstances`\" pulumi-lang-python=\"`minimum_instances`\" pulumi-lang-yaml=\"`minimumInstances`\" pulumi-lang-java=\"`minimumInstances`\"\u003e`minimum_instances`\u003c/span\u003e.\n"},"name":{"type":"string","description":"The name of the SKU. Possible values are `Dev(No SLA)_Standard_D11_v2`, `Dev(No SLA)_Standard_E2a_v4`, `Standard_D14_v2`, `Standard_D11_v2`, `Standard_D16d_v5`, `Standard_D13_v2`, `Standard_D12_v2`, `Standard_DS14_v2+4TB_PS`, `Standard_DS14_v2+3TB_PS`, `Standard_DS13_v2+1TB_PS`, `Standard_DS13_v2+2TB_PS`, `Standard_D32d_v5`, `Standard_D32d_v4`, `Standard_EC8ads_v5`, `Standard_EC8as_v5+1TB_PS`, `Standard_EC8as_v5+2TB_PS`, `Standard_EC16ads_v5`, `Standard_EC16as_v5+4TB_PS`, `Standard_EC16as_v5+3TB_PS`, `Standard_E80ids_v4`, `Standard_E8a_v4`, `Standard_E8ads_v5`, `Standard_E8as_v5+1TB_PS`, `Standard_E8as_v5+2TB_PS`, `Standard_E8as_v4+1TB_PS`, `Standard_E8as_v4+2TB_PS`, `Standard_E8d_v5`, `Standard_E8d_v4`, `Standard_E8s_v5+1TB_PS`, `Standard_E8s_v5+2TB_PS`, `Standard_E8s_v4+1TB_PS`, `Standard_E8s_v4+2TB_PS`, `Standard_E4a_v4`, `Standard_E4ads_v5`, `Standard_E4d_v5`, `Standard_E4d_v4`, `Standard_E16a_v4`, `Standard_E16ads_v5`, `Standard_E16as_v5+4TB_PS`, `Standard_E16as_v5+3TB_PS`, `Standard_E16as_v4+4TB_PS`, `Standard_E16as_v4+3TB_PS`, `Standard_E16d_v5`, `Standard_E16d_v4`, `Standard_E16s_v5+4TB_PS`, `Standard_E16s_v5+3TB_PS`, `Standard_E16s_v4+4TB_PS`, `Standard_E16s_v4+3TB_PS`, `Standard_E64i_v3`, `Standard_E2a_v4`, `Standard_E2ads_v5`, `Standard_E2d_v5`, `Standard_E2d_v4`, `Standard_L8as_v3`, `Standard_L8s`, `Standard_L8s_v3`, `Standard_L8s_v2`, `Standard_L4s`, `Standard_L16as_v3`, `Standard_L16s`, `Standard_L16s_v3`, `Standard_L16s_v2`, `Standard_L32as_v3` and `Standard_L32s_v3`.\n"}},"type":"object","required":["name"],"language":{"nodejs":{"requiredOutputs":["capacity","name"]}}},"azure:kusto/ClusterVirtualNetworkConfiguration:ClusterVirtualNetworkConfiguration":{"properties":{"dataManagementPublicIpId":{"type":"string","willReplaceOnChanges":true},"enginePublicIpId":{"type":"string","willReplaceOnChanges":true},"subnetId":{"type":"string","willReplaceOnChanges":true}},"type":"object","required":["dataManagementPublicIpId","enginePublicIpId","subnetId"]},"azure:kusto/getClusterIdentity:getClusterIdentity":{"properties":{"identityIds":{"type":"array","items":{"type":"string"},"description":"A list of User Assigned Managed Identity IDs to be assigned to this Kusto Cluster.\n"},"principalId":{"type":"string","description":"The Principal ID associated with this System Assigned Managed Service Identity.\n"},"tenantId":{"type":"string","description":"The Tenant ID associated with this System Assigned Managed Service Identity.\n"},"type":{"type":"string","description":"The type of Managed Service Identity that is configured on this Kusto Cluster.\n"}},"type":"object","required":["identityIds","principalId","tenantId","type"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:lb/BackendAddressPoolAddressInboundNatRulePortMapping:BackendAddressPoolAddressInboundNatRulePortMapping":{"properties":{"backendPort":{"type":"integer","description":"The Backend Port of the Load Balancing Inbound NAT Rules associated with this Backend Address Pool Address.\n"},"frontendPort":{"type":"integer","description":"The Frontend Port of the Load Balancing Inbound NAT Rules associated with this Backend Address Pool Address.\n"},"inboundNatRuleName":{"type":"string","description":"The name of the Load Balancing Inbound NAT Rules associated with this Backend Address Pool Address.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["backendPort","frontendPort","inboundNatRuleName"]}}},"azure:lb/BackendAddressPoolTunnelInterface:BackendAddressPoolTunnelInterface":{"properties":{"identifier":{"type":"integer","description":"The unique identifier of this Gateway Load Balancer Tunnel Interface.\n"},"port":{"type":"integer","description":"The port number that this Gateway Load Balancer Tunnel Interface listens to.\n"},"protocol":{"type":"string","description":"The protocol used for this Gateway Load Balancer Tunnel Interface. Possible values are `None`, `Native` and `VXLAN`.\n"},"type":{"type":"string","description":"The traffic type of this Gateway Load Balancer Tunnel Interface. Possible values are `None`, `Internal` and `External`.\n"}},"type":"object","required":["identifier","port","protocol","type"]},"azure:lb/LoadBalancerFrontendIpConfiguration:LoadBalancerFrontendIpConfiguration":{"properties":{"gatewayLoadBalancerFrontendIpConfigurationId":{"type":"string","description":"The Frontend IP Configuration ID of a Gateway SKU Load Balancer.\n"},"id":{"type":"string","description":"The id of the Frontend IP Configuration.\n"},"inboundNatRules":{"type":"array","items":{"type":"string"},"description":"The list of IDs of inbound rules that use this frontend IP.\n"},"loadBalancerRules":{"type":"array","items":{"type":"string"},"description":"The list of IDs of load balancing rules that use this frontend IP.\n"},"name":{"type":"string","description":"Specifies the name of the frontend IP configuration.\n"},"outboundRules":{"type":"array","items":{"type":"string"},"description":"The list of IDs outbound rules that use this frontend IP.\n"},"privateIpAddress":{"type":"string","description":"Private IP Address to assign to the Load Balancer. The last one and first four IPs in any range are reserved and cannot be manually assigned.\n"},"privateIpAddressAllocation":{"type":"string","description":"The allocation method for the Private IP Address used by this Load Balancer. Possible values as `Dynamic` and `Static`.\n"},"privateIpAddressVersion":{"type":"string","description":"The version of IP that the Private IP Address is. Possible values are `IPv4` or `IPv6`.\n"},"publicIpAddressId":{"type":"string","description":"The ID of a Public IP Address which should be associated with the Load Balancer.\n"},"publicIpPrefixId":{"type":"string","description":"The ID of a Public IP Prefix which should be associated with the Load Balancer. Public IP Prefix can only be used with outbound rules.\n"},"subnetId":{"type":"string","description":"The ID of the Subnet which should be associated with the IP Configuration.\n"},"zones":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Availability Zones in which the IP Address for this Load Balancer should be located.\n\n\u003e **Note:** Availability Zones are only supported with a [Standard SKU](https://docs.microsoft.com/azure/load-balancer/load-balancer-standard-availability-zones) and [in select regions](https://docs.microsoft.com/azure/availability-zones/az-overview) at this time.\n"}},"type":"object","required":["name"],"language":{"nodejs":{"requiredOutputs":["gatewayLoadBalancerFrontendIpConfigurationId","id","inboundNatRules","loadBalancerRules","name","outboundRules","privateIpAddress","privateIpAddressAllocation","privateIpAddressVersion","publicIpPrefixId"]}}},"azure:lb/OutboundRuleFrontendIpConfiguration:OutboundRuleFrontendIpConfiguration":{"properties":{"id":{"type":"string","description":"The ID of the Load Balancer Outbound Rule.\n"},"name":{"type":"string","description":"The name of the Frontend IP Configuration.\n"}},"type":"object","required":["name"],"language":{"nodejs":{"requiredOutputs":["id","name"]}}},"azure:lb/getBackendAddressPoolBackendAddress:getBackendAddressPoolBackendAddress":{"properties":{"inboundNatRulePortMappings":{"type":"array","items":{"$ref":"#/types/azure:lb/getBackendAddressPoolBackendAddressInboundNatRulePortMapping:getBackendAddressPoolBackendAddressInboundNatRulePortMapping"},"description":"A list of \u003cspan pulumi-lang-nodejs=\"`inboundNatRulePortMapping`\" pulumi-lang-dotnet=\"`InboundNatRulePortMapping`\" pulumi-lang-go=\"`inboundNatRulePortMapping`\" pulumi-lang-python=\"`inbound_nat_rule_port_mapping`\" pulumi-lang-yaml=\"`inboundNatRulePortMapping`\" pulumi-lang-java=\"`inboundNatRulePortMapping`\"\u003e`inbound_nat_rule_port_mapping`\u003c/span\u003e block as defined below.\n"},"ipAddress":{"type":"string","description":"The Static IP address for this Load Balancer within the Virtual Network.\n"},"name":{"type":"string","description":"Specifies the name of the Backend Address Pool.\n"},"virtualNetworkId":{"type":"string","description":"The ID of the Virtual Network where the Backend Address of the Load Balancer exists.\n"}},"type":"object","required":["inboundNatRulePortMappings","ipAddress","name","virtualNetworkId"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:lb/getBackendAddressPoolBackendAddressInboundNatRulePortMapping:getBackendAddressPoolBackendAddressInboundNatRulePortMapping":{"properties":{"backendPort":{"type":"integer","description":"The Backend Port of the Load Balancing Inbound NAT Rules associated with this Backend Address Pool Address.\n"},"frontendPort":{"type":"integer","description":"The Frontend Port of the Load Balancing Inbound NAT Rules associated with this Backend Address Pool Address.\n"},"inboundNatRuleName":{"type":"string","description":"The name of the Load Balancing Inbound NAT Rules associated with this Backend Address Pool Address.\n"}},"type":"object","required":["backendPort","frontendPort","inboundNatRuleName"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:lb/getBackendAddressPoolBackendIpConfiguration:getBackendAddressPoolBackendIpConfiguration":{"properties":{"id":{"type":"string","description":"The ID of the Backend Address Pool.\n"}},"type":"object","required":["id"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:lb/getLBFrontendIpConfiguration:getLBFrontendIpConfiguration":{"properties":{"id":{"type":"string","description":"The id of the Frontend IP Configuration.\n"},"name":{"type":"string","description":"Specifies the name of the Load Balancer.\n"},"privateIpAddress":{"type":"string","description":"Private IP Address to assign to the Load Balancer.\n"},"privateIpAddressAllocation":{"type":"string","description":"The allocation method for the Private IP Address used by this Load Balancer.\n"},"privateIpAddressVersion":{"type":"string","description":"The Private IP Address Version, either `IPv4` or `IPv6`.\n"},"publicIpAddressId":{"type":"string","description":"The ID of a  Public IP Address which is associated with this Load Balancer.\n"},"subnetId":{"type":"string","description":"The ID of the Subnet which is associated with the IP Configuration.\n"},"zones":{"type":"array","items":{"type":"string"},"description":"A list of Availability Zones which the Load Balancer's IP Addresses should be created in.\n"}},"type":"object","required":["id","name","privateIpAddress","privateIpAddressAllocation","privateIpAddressVersion","publicIpAddressId","subnetId","zones"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:lb/getLBOutboundRuleFrontendIpConfiguration:getLBOutboundRuleFrontendIpConfiguration":{"properties":{"id":{"type":"string","description":"The ID of the Frontend IP Configuration.\n"},"name":{"type":"string","description":"The name of this Load Balancer Outbound Rule.\n"}},"type":"object","required":["id","name"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:lighthouse/DefinitionAuthorization:DefinitionAuthorization":{"properties":{"delegatedRoleDefinitionIds":{"type":"array","items":{"type":"string"},"description":"The set of role definition ids which define all the permissions that the principal id can assign.\n"},"principalDisplayName":{"type":"string","description":"The display name of the security group/service principal/user that would be assigned permissions to the projected subscription.\n"},"principalId":{"type":"string","description":"Principal ID of the security group/service principal/user that would be assigned permissions to the projected subscription.\n"},"roleDefinitionId":{"type":"string","description":"The role definition identifier. This role will define the permissions that are granted to the principal. This cannot be an `Owner` role.\n"}},"type":"object","required":["principalId","roleDefinitionId"]},"azure:lighthouse/DefinitionEligibleAuthorization:DefinitionEligibleAuthorization":{"properties":{"justInTimeAccessPolicy":{"$ref":"#/types/azure:lighthouse/DefinitionEligibleAuthorizationJustInTimeAccessPolicy:DefinitionEligibleAuthorizationJustInTimeAccessPolicy","description":"A \u003cspan pulumi-lang-nodejs=\"`justInTimeAccessPolicy`\" pulumi-lang-dotnet=\"`JustInTimeAccessPolicy`\" pulumi-lang-go=\"`justInTimeAccessPolicy`\" pulumi-lang-python=\"`just_in_time_access_policy`\" pulumi-lang-yaml=\"`justInTimeAccessPolicy`\" pulumi-lang-java=\"`justInTimeAccessPolicy`\"\u003e`just_in_time_access_policy`\u003c/span\u003e block as defined below.\n"},"principalDisplayName":{"type":"string","description":"The display name of the Azure Active Directory Principal.\n"},"principalId":{"type":"string","description":"Principal ID of the security group/service principal/user that would be assigned permissions to the projected subscription.\n"},"roleDefinitionId":{"type":"string","description":"The Principal ID of the Azure built-in role that defines the permissions that the Azure Active Directory will have on the projected scope.\n"}},"type":"object","required":["principalId","roleDefinitionId"]},"azure:lighthouse/DefinitionEligibleAuthorizationJustInTimeAccessPolicy:DefinitionEligibleAuthorizationJustInTimeAccessPolicy":{"properties":{"approvers":{"type":"array","items":{"$ref":"#/types/azure:lighthouse/DefinitionEligibleAuthorizationJustInTimeAccessPolicyApprover:DefinitionEligibleAuthorizationJustInTimeAccessPolicyApprover"},"description":"An \u003cspan pulumi-lang-nodejs=\"`approver`\" pulumi-lang-dotnet=\"`Approver`\" pulumi-lang-go=\"`approver`\" pulumi-lang-python=\"`approver`\" pulumi-lang-yaml=\"`approver`\" pulumi-lang-java=\"`approver`\"\u003e`approver`\u003c/span\u003e block as defined below.\n"},"maximumActivationDuration":{"type":"string","description":"The maximum access duration in ISO 8601 format for just-in-time access requests. Defaults to `PT8H`.\n"},"multiFactorAuthProvider":{"type":"string","description":"The multi-factor authorization provider to be used for just-in-time access requests. Possible value is `Azure`.\n\n\u003e **Note:** When this property isn't set, it would be set to `None`.\n"}},"type":"object"},"azure:lighthouse/DefinitionEligibleAuthorizationJustInTimeAccessPolicyApprover:DefinitionEligibleAuthorizationJustInTimeAccessPolicyApprover":{"properties":{"principalDisplayName":{"type":"string","description":"The display name of the Azure Active Directory Principal for the approver.\n"},"principalId":{"type":"string","description":"The Principal ID of the Azure Active Directory principal for the approver.\n"}},"type":"object","required":["principalId"]},"azure:lighthouse/DefinitionPlan:DefinitionPlan":{"properties":{"name":{"type":"string","description":"The plan name of the marketplace offer.\n"},"product":{"type":"string","description":"The product code of the plan.\n"},"publisher":{"type":"string","description":"The publisher ID of the plan.\n"},"version":{"type":"string","description":"The version of the plan.\n"}},"type":"object","required":["name","product","publisher","version"]},"azure:loadtest/LoadTestEncryption:LoadTestEncryption":{"properties":{"identity":{"$ref":"#/types/azure:loadtest/LoadTestEncryptionIdentity:LoadTestEncryptionIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below. Changing this forces a new Load Test to be created.\n","willReplaceOnChanges":true},"keyUrl":{"type":"string","description":"The URI specifying the Key vault and key to be used to encrypt data in this resource. The URI should include the key version. Changing this forces a new Load Test to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["identity","keyUrl"]},"azure:loadtest/LoadTestEncryptionIdentity:LoadTestEncryptionIdentity":{"properties":{"identityId":{"type":"string","description":"The User Assigned Identity ID that should be assigned to this Load Test Encryption. Changing this forces a new Load Test to be created.\n\n\u003e **Note:** The User Assigned Identity ID specified here must also exist in `identity.identity_ids`.\n","willReplaceOnChanges":true},"type":{"type":"string","description":"Specifies the type of Managed Identity that should be assigned to this Load Test Encryption. Possible values are `SystemAssigned` or `UserAssigned`. Changing this forces a new Load Test to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["identityId","type"]},"azure:loadtest/LoadTestIdentity:LoadTestIdentity":{"properties":{"identityIds":{"type":"array","items":{"type":"string"},"description":"A list of the User Assigned Identity IDs that should be assigned to this Load Test.\n"},"principalId":{"type":"string","description":"The Principal ID for the System-Assigned Managed Identity assigned to this Load Test.\n"},"tenantId":{"type":"string","description":"The Tenant ID for the System-Assigned Managed Identity assigned to this Load Test.\n"},"type":{"type":"string","description":"Specifies the type of Managed Identity that should be assigned to this Load Test Encryption. Possible values are `SystemAssigned` or `UserAssigned`. Changing this forces a new Load Test to be created.\n"}},"type":"object","required":["type"],"language":{"nodejs":{"requiredOutputs":["principalId","tenantId","type"]}}},"azure:loadtest/getEncryption:getEncryption":{"properties":{"identities":{"type":"array","items":{"$ref":"#/types/azure:loadtest/getEncryptionIdentity:getEncryptionIdentity"},"description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"keyUrl":{"type":"string","description":"The URI specifying the Key vault and key to be used to encrypt data in this resource.\n"}},"type":"object","required":["identities","keyUrl"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:loadtest/getEncryptionIdentity:getEncryptionIdentity":{"properties":{"identityId":{"type":"string","description":"The User Assigned Identity ID that is assigned to this Load Test Encryption.\n"},"type":{"type":"string","description":"Type of Managed Service Identity that is assigned to this Load Test Encryption.\n"}},"type":"object","required":["identityId","type"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:loadtest/getIdentity:getIdentity":{"properties":{"identityIds":{"type":"array","items":{"type":"string"},"description":"The list of the User Assigned Identity IDs that is assigned to this Load Test Service.\n"},"principalId":{"type":"string","description":"The Principal ID for the System-Assigned Managed Identity assigned to this Load Test Service.\n"},"tenantId":{"type":"string","description":"The Tenant ID for the System-Assigned Managed Identity assigned to this Load Test Service.\n"},"type":{"type":"string","description":"Type of Managed Service Identity that is assigned to this Load Test Encryption.\n"}},"type":"object","required":["identityIds","principalId","tenantId","type"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:loganalytics/ClusterIdentity:ClusterIdentity":{"properties":{"identityIds":{"type":"array","items":{"type":"string"},"description":"A list of User Assigned Managed Identity IDs to be assigned to this Windows Web App Slot. Changing this forces a new resource to be created.\n\n\u003e **Note:** This is required when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to `UserAssigned`.\n","willReplaceOnChanges":true},"principalId":{"type":"string","description":"The Principal ID associated with this Managed Service Identity.\n"},"tenantId":{"type":"string","description":"The Tenant ID associated with this Managed Service Identity.\n"},"type":{"type":"string","description":"Specifies the type of Managed Service Identity that should be configured on this Log Analytics Cluster. Possible values are `SystemAssigned` and `UserAssigned`. Changing this forces a new resource to be created.\n\n\u003e **Note:** The assigned \u003cspan pulumi-lang-nodejs=\"`principalId`\" pulumi-lang-dotnet=\"`PrincipalId`\" pulumi-lang-go=\"`principalId`\" pulumi-lang-python=\"`principal_id`\" pulumi-lang-yaml=\"`principalId`\" pulumi-lang-java=\"`principalId`\"\u003e`principal_id`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`tenantId`\" pulumi-lang-dotnet=\"`TenantId`\" pulumi-lang-go=\"`tenantId`\" pulumi-lang-python=\"`tenant_id`\" pulumi-lang-yaml=\"`tenantId`\" pulumi-lang-java=\"`tenantId`\"\u003e`tenant_id`\u003c/span\u003e can be retrieved after the identity \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e has been set to `SystemAssigned` and the Log Analytics Cluster has been created. More details are available below.\n","willReplaceOnChanges":true}},"type":"object","required":["type"],"language":{"nodejs":{"requiredOutputs":["principalId","tenantId","type"]}}},"azure:loganalytics/WorkspaceTableCustomLogColumn:WorkspaceTableCustomLogColumn":{"properties":{"description":{"type":"string","description":"The description of the column.\n"},"displayName":{"type":"string","description":"The display name of the column.\n"},"name":{"type":"string","description":"Specifies the name of the column.\n"},"type":{"type":"string","description":"The data type of the column. Possible values are \u003cspan pulumi-lang-nodejs=\"`boolean`\" pulumi-lang-dotnet=\"`Boolean`\" pulumi-lang-go=\"`boolean`\" pulumi-lang-python=\"`boolean`\" pulumi-lang-yaml=\"`boolean`\" pulumi-lang-java=\"`boolean`\"\u003e`boolean`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`datetime`\" pulumi-lang-dotnet=\"`Datetime`\" pulumi-lang-go=\"`datetime`\" pulumi-lang-python=\"`datetime`\" pulumi-lang-yaml=\"`datetime`\" pulumi-lang-java=\"`datetime`\"\u003e`datetime`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`guid`\" pulumi-lang-dotnet=\"`Guid`\" pulumi-lang-go=\"`guid`\" pulumi-lang-python=\"`guid`\" pulumi-lang-yaml=\"`guid`\" pulumi-lang-java=\"`guid`\"\u003e`guid`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`int`\" pulumi-lang-dotnet=\"`Int`\" pulumi-lang-go=\"`int`\" pulumi-lang-python=\"`int`\" pulumi-lang-yaml=\"`int`\" pulumi-lang-java=\"`int`\"\u003e`int`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`long`\" pulumi-lang-dotnet=\"`Long`\" pulumi-lang-go=\"`long`\" pulumi-lang-python=\"`long`\" pulumi-lang-yaml=\"`long`\" pulumi-lang-java=\"`long`\"\u003e`long`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`real`\" pulumi-lang-dotnet=\"`Real`\" pulumi-lang-go=\"`real`\" pulumi-lang-python=\"`real`\" pulumi-lang-yaml=\"`real`\" pulumi-lang-java=\"`real`\"\u003e`real`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`string`\" pulumi-lang-dotnet=\"`String`\" pulumi-lang-go=\"`string`\" pulumi-lang-python=\"`string`\" pulumi-lang-yaml=\"`string`\" pulumi-lang-java=\"`string`\"\u003e`string`\u003c/span\u003e.\n"}},"type":"object","required":["name","type"]},"azure:loganalytics/WorkspaceTableCustomLogStandardColumn:WorkspaceTableCustomLogStandardColumn":{"properties":{"description":{"type":"string","description":"The description of the table.\n"},"displayName":{"type":"string","description":"The display name of the table.\n"},"name":{"type":"string","description":"Specifies the name of the Log Analytics Workspace Table Custom Log. Changing this forces a new resource to be created.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e must end with `_CL`.\n"},"type":{"type":"string","description":"The data type of the standard column.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["description","displayName","name","type"]}}},"azure:logicapps/ActionHttpRunAfter:ActionHttpRunAfter":{"properties":{"actionName":{"type":"string","description":"Specifies the name of the precedent HTTP Action.\n"},"actionResult":{"type":"string","description":"Specifies the expected result of the precedent HTTP Action, only after which the current HTTP Action will be triggered. Possible values include `Succeeded`, `Failed`, `Skipped` and `TimedOut`.\n"}},"type":"object","required":["actionName","actionResult"]},"azure:logicapps/IntegrationAccountAgreementGuestIdentity:IntegrationAccountAgreementGuestIdentity":{"properties":{"qualifier":{"type":"string","description":"The authenticating body that provides unique guest identities to organizations.\n"},"value":{"type":"string","description":"The value that identifies the documents that your logic apps receive.\n"}},"type":"object","required":["qualifier","value"]},"azure:logicapps/IntegrationAccountAgreementHostIdentity:IntegrationAccountAgreementHostIdentity":{"properties":{"qualifier":{"type":"string","description":"The authenticating body that provides unique host identities to organizations.\n"},"value":{"type":"string","description":"The value that identifies the documents that your logic apps receive.\n"}},"type":"object","required":["qualifier","value"]},"azure:logicapps/IntegrationAccountBatchConfigurationReleaseCriteria:IntegrationAccountBatchConfigurationReleaseCriteria":{"properties":{"batchSize":{"type":"integer","description":"The batch size in bytes for the Logic App Integration Batch Configuration.\n"},"messageCount":{"type":"integer","description":"The message count for the Logic App Integration Batch Configuration.\n"},"recurrence":{"$ref":"#/types/azure:logicapps/IntegrationAccountBatchConfigurationReleaseCriteriaRecurrence:IntegrationAccountBatchConfigurationReleaseCriteriaRecurrence","description":"A \u003cspan pulumi-lang-nodejs=\"`recurrence`\" pulumi-lang-dotnet=\"`Recurrence`\" pulumi-lang-go=\"`recurrence`\" pulumi-lang-python=\"`recurrence`\" pulumi-lang-yaml=\"`recurrence`\" pulumi-lang-java=\"`recurrence`\"\u003e`recurrence`\u003c/span\u003e block as documented below.\n"}},"type":"object"},"azure:logicapps/IntegrationAccountBatchConfigurationReleaseCriteriaRecurrence:IntegrationAccountBatchConfigurationReleaseCriteriaRecurrence":{"properties":{"endTime":{"type":"string","description":"The end time of the schedule, formatted as an RFC3339 string.\n"},"frequency":{"type":"string","description":"The frequency of the schedule. Possible values are `Day`, `Hour`, `Minute`, `Month`, `NotSpecified`, `Second`, `Week` and `Year`.\n"},"interval":{"type":"integer","description":"The number of \u003cspan pulumi-lang-nodejs=\"`frequency`\" pulumi-lang-dotnet=\"`Frequency`\" pulumi-lang-go=\"`frequency`\" pulumi-lang-python=\"`frequency`\" pulumi-lang-yaml=\"`frequency`\" pulumi-lang-java=\"`frequency`\"\u003e`frequency`\u003c/span\u003es between runs.\n"},"schedule":{"$ref":"#/types/azure:logicapps/IntegrationAccountBatchConfigurationReleaseCriteriaRecurrenceSchedule:IntegrationAccountBatchConfigurationReleaseCriteriaRecurrenceSchedule","description":"A \u003cspan pulumi-lang-nodejs=\"`schedule`\" pulumi-lang-dotnet=\"`Schedule`\" pulumi-lang-go=\"`schedule`\" pulumi-lang-python=\"`schedule`\" pulumi-lang-yaml=\"`schedule`\" pulumi-lang-java=\"`schedule`\"\u003e`schedule`\u003c/span\u003e block as documented below.\n"},"startTime":{"type":"string","description":"The start time of the schedule, formatted as an RFC3339 string.\n"},"timeZone":{"type":"string","description":"The timezone of the start/end time.\n"}},"type":"object","required":["frequency","interval"]},"azure:logicapps/IntegrationAccountBatchConfigurationReleaseCriteriaRecurrenceSchedule:IntegrationAccountBatchConfigurationReleaseCriteriaRecurrenceSchedule":{"properties":{"hours":{"type":"array","items":{"type":"integer"},"description":"A list containing a single item, which specifies the Hour interval at which this recurrence should be triggered.\n"},"minutes":{"type":"array","items":{"type":"integer"},"description":"A list containing a single item which specifies the Minute interval at which this recurrence should be triggered.\n"},"monthDays":{"type":"array","items":{"type":"integer"},"description":"A list of days of the month that the job should execute on.\n"},"monthlies":{"type":"array","items":{"$ref":"#/types/azure:logicapps/IntegrationAccountBatchConfigurationReleaseCriteriaRecurrenceScheduleMonthly:IntegrationAccountBatchConfigurationReleaseCriteriaRecurrenceScheduleMonthly"},"description":"A \u003cspan pulumi-lang-nodejs=\"`monthly`\" pulumi-lang-dotnet=\"`Monthly`\" pulumi-lang-go=\"`monthly`\" pulumi-lang-python=\"`monthly`\" pulumi-lang-yaml=\"`monthly`\" pulumi-lang-java=\"`monthly`\"\u003e`monthly`\u003c/span\u003e block as documented below.\n"},"weekDays":{"type":"array","items":{"type":"string"},"description":"A list of days of the week that the job should execute on. Possible values are `Sunday`, `Monday`, `Tuesday`, `Wednesday`, `Thursday`, `Friday` and `Saturday`.\n"}},"type":"object"},"azure:logicapps/IntegrationAccountBatchConfigurationReleaseCriteriaRecurrenceScheduleMonthly:IntegrationAccountBatchConfigurationReleaseCriteriaRecurrenceScheduleMonthly":{"properties":{"week":{"type":"integer","description":"The occurrence of the week within the month.\n"},"weekday":{"type":"string","description":"The day of the occurrence. Possible values are `Sunday`, `Monday`, `Tuesday`, `Wednesday`, `Thursday`, `Friday` and `Saturday`.\n"}},"type":"object","required":["week","weekday"]},"azure:logicapps/IntegrationAccountCertificateKeyVaultKey:IntegrationAccountCertificateKeyVaultKey":{"properties":{"keyName":{"type":"string","description":"The name of Key Vault Key.\n"},"keyVaultId":{"type":"string","description":"The ID of the Key Vault.\n"},"keyVersion":{"type":"string","description":"The version of Key Vault Key.\n"}},"type":"object","required":["keyName","keyVaultId"]},"azure:logicapps/IntegrationAccountPartnerBusinessIdentity:IntegrationAccountPartnerBusinessIdentity":{"properties":{"qualifier":{"type":"string","description":"The authenticating body that provides unique business identities to organizations.\n"},"value":{"type":"string","description":"The value that identifies the documents that your logic apps receive.\n"}},"type":"object","required":["qualifier","value"]},"azure:logicapps/StandardConnectionString:StandardConnectionString":{"properties":{"name":{"type":"string","description":"The name of the Connection String.\n"},"type":{"type":"string","description":"The type of the Connection String. Possible values are `APIHub`, `Custom`, `DocDb`, `EventHub`, `MySQL`, `NotificationHub`, `PostgreSQL`, `RedisCache`, `ServiceBus`, `SQLAzure` and `SQLServer`.\n"},"value":{"type":"string","description":"The value for the Connection String.\n","secret":true}},"type":"object","required":["name","type","value"]},"azure:logicapps/StandardIdentity:StandardIdentity":{"properties":{"identityIds":{"type":"array","items":{"type":"string"},"description":"Specifies a list of User Assigned Managed Identity IDs to be assigned to this Logic App Standard.\n\n\u003e **Note:** When \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to `SystemAssigned`, The assigned \u003cspan pulumi-lang-nodejs=\"`principalId`\" pulumi-lang-dotnet=\"`PrincipalId`\" pulumi-lang-go=\"`principalId`\" pulumi-lang-python=\"`principal_id`\" pulumi-lang-yaml=\"`principalId`\" pulumi-lang-java=\"`principalId`\"\u003e`principal_id`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`tenantId`\" pulumi-lang-dotnet=\"`TenantId`\" pulumi-lang-go=\"`tenantId`\" pulumi-lang-python=\"`tenant_id`\" pulumi-lang-yaml=\"`tenantId`\" pulumi-lang-java=\"`tenantId`\"\u003e`tenant_id`\u003c/span\u003e can be retrieved after the Logic App has been created. More details are available below.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`identityIds`\" pulumi-lang-dotnet=\"`IdentityIds`\" pulumi-lang-go=\"`identityIds`\" pulumi-lang-python=\"`identity_ids`\" pulumi-lang-yaml=\"`identityIds`\" pulumi-lang-java=\"`identityIds`\"\u003e`identity_ids`\u003c/span\u003e is required when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to `UserAssigned` or `SystemAssigned, UserAssigned`.\n"},"principalId":{"type":"string","description":"The Principal ID for the Service Principal associated with the Managed Service Identity of this App Service.\n"},"tenantId":{"type":"string","description":"The Tenant ID for the Service Principal associated with the Managed Service Identity of this App Service.\n"},"type":{"type":"string","description":"Specifies the type of Managed Service Identity that should be configured on this Logic App Standard. Possible values are `SystemAssigned`, `UserAssigned` and `SystemAssigned, UserAssigned` (to enable both).\n"}},"type":"object","required":["type"],"language":{"nodejs":{"requiredOutputs":["principalId","tenantId","type"]}}},"azure:logicapps/StandardSiteConfig:StandardSiteConfig":{"properties":{"alwaysOn":{"type":"boolean","description":"Should the Logic App be loaded at all times? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"appScaleLimit":{"type":"integer","description":"The number of workers this Logic App can scale out to. Only applicable to apps on the Consumption and Premium plan.\n"},"autoSwapSlotName":{"type":"string","description":"The Auto-swap slot name.\n"},"cors":{"$ref":"#/types/azure:logicapps/StandardSiteConfigCors:StandardSiteConfigCors","description":"A \u003cspan pulumi-lang-nodejs=\"`cors`\" pulumi-lang-dotnet=\"`Cors`\" pulumi-lang-go=\"`cors`\" pulumi-lang-python=\"`cors`\" pulumi-lang-yaml=\"`cors`\" pulumi-lang-java=\"`cors`\"\u003e`cors`\u003c/span\u003e block as defined below.\n"},"dotnetFrameworkVersion":{"type":"string","description":"The version of the .NET framework's CLR used in this Logic App Possible values are `v4.0` (including .NET Core 2.1 and 3.1), `v5.0`, `v6.0` and `v8.0`. [For more information on which .NET Framework version to use based on the runtime version you're targeting - please see this table](https://docs.microsoft.com/azure/azure-functions/functions-dotnet-class-library#supported-versions). Defaults to `v4.0`.\n"},"elasticInstanceMinimum":{"type":"integer","description":"The number of minimum instances for this Logic App Only affects apps on the Premium plan.\n"},"ftpsState":{"type":"string","description":"State of FTP / FTPS service for this Logic App. Possible values include: `AllAllowed`, `FtpsOnly` and `Disabled`. Defaults to `AllAllowed`.\n"},"healthCheckPath":{"type":"string","description":"Path which will be checked for this Logic App health.\n"},"http2Enabled":{"type":"boolean","description":"Specifies whether the HTTP2 protocol should be enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"ipRestrictions":{"type":"array","items":{"$ref":"#/types/azure:logicapps/StandardSiteConfigIpRestriction:StandardSiteConfigIpRestriction"},"description":"A list of \u003cspan pulumi-lang-nodejs=\"`ipRestriction`\" pulumi-lang-dotnet=\"`IpRestriction`\" pulumi-lang-go=\"`ipRestriction`\" pulumi-lang-python=\"`ip_restriction`\" pulumi-lang-yaml=\"`ipRestriction`\" pulumi-lang-java=\"`ipRestriction`\"\u003e`ip_restriction`\u003c/span\u003e objects representing IP restrictions as defined below.\n\n\u003e **Note:** User has to explicitly set \u003cspan pulumi-lang-nodejs=\"`ipRestriction`\" pulumi-lang-dotnet=\"`IpRestriction`\" pulumi-lang-go=\"`ipRestriction`\" pulumi-lang-python=\"`ip_restriction`\" pulumi-lang-yaml=\"`ipRestriction`\" pulumi-lang-java=\"`ipRestriction`\"\u003e`ip_restriction`\u003c/span\u003e to empty slice (`[]`) to remove it.\n"},"linuxFxVersion":{"type":"string","description":"Linux App Framework and version for the App Service, e.g. `DOCKER|(golang:latest)`. Setting this value will also set the \u003cspan pulumi-lang-nodejs=\"`kind`\" pulumi-lang-dotnet=\"`Kind`\" pulumi-lang-go=\"`kind`\" pulumi-lang-python=\"`kind`\" pulumi-lang-yaml=\"`kind`\" pulumi-lang-java=\"`kind`\"\u003e`kind`\u003c/span\u003e of application deployed to `functionapp,linux,container,workflowapp`.\n\n\u003e **Note:** You must set \u003cspan pulumi-lang-nodejs=\"`osType`\" pulumi-lang-dotnet=\"`OsType`\" pulumi-lang-go=\"`osType`\" pulumi-lang-python=\"`os_type`\" pulumi-lang-yaml=\"`osType`\" pulumi-lang-java=\"`osType`\"\u003e`os_type`\u003c/span\u003e in \u003cspan pulumi-lang-nodejs=\"`azure.appservice.ServicePlan`\" pulumi-lang-dotnet=\"`azure.appservice.ServicePlan`\" pulumi-lang-go=\"`appservice.ServicePlan`\" pulumi-lang-python=\"`appservice.ServicePlan`\" pulumi-lang-yaml=\"`azure.appservice.ServicePlan`\" pulumi-lang-java=\"`azure.appservice.ServicePlan`\"\u003e`azure.appservice.ServicePlan`\u003c/span\u003e to `Linux` when this property is set.\n"},"minTlsVersion":{"type":"string","description":"The minimum supported TLS version for the Logic App. Possible values are `1.0`, `1.1`, `1.2` and `1.3`. Defaults to `1.2` for new Logic Apps.\n\n\u003e **Note:** Azure Services will require TLS 1.2+ by August 2025, please see this [announcement](https://azure.microsoft.com/en-us/updates/v2/update-retirement-tls1-0-tls1-1-versions-azure-services/) for more.\n"},"preWarmedInstanceCount":{"type":"integer","description":"The number of pre-warmed instances for this Logic App Only affects apps on the Premium plan.\n"},"publicNetworkAccessEnabled":{"type":"boolean","deprecationMessage":"the `site_config.public_network_access_enabled` property has been superseded by the \u003cspan pulumi-lang-nodejs=\"`publicNetworkAccess`\" pulumi-lang-dotnet=\"`PublicNetworkAccess`\" pulumi-lang-go=\"`publicNetworkAccess`\" pulumi-lang-python=\"`public_network_access`\" pulumi-lang-yaml=\"`publicNetworkAccess`\" pulumi-lang-java=\"`publicNetworkAccess`\"\u003e`public_network_access`\u003c/span\u003e property and will be removed in v5.0 of the AzureRM Provider."},"runtimeScaleMonitoringEnabled":{"type":"boolean","description":"Should Runtime Scale Monitoring be enabled?. Only applicable to apps on the Premium plan. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"scmIpRestrictions":{"type":"array","items":{"$ref":"#/types/azure:logicapps/StandardSiteConfigScmIpRestriction:StandardSiteConfigScmIpRestriction"},"description":"A list of \u003cspan pulumi-lang-nodejs=\"`scmIpRestriction`\" pulumi-lang-dotnet=\"`ScmIpRestriction`\" pulumi-lang-go=\"`scmIpRestriction`\" pulumi-lang-python=\"`scm_ip_restriction`\" pulumi-lang-yaml=\"`scmIpRestriction`\" pulumi-lang-java=\"`scmIpRestriction`\"\u003e`scm_ip_restriction`\u003c/span\u003e objects representing SCM IP restrictions as defined below.\n\n\u003e **Note:** User has to explicitly set \u003cspan pulumi-lang-nodejs=\"`scmIpRestriction`\" pulumi-lang-dotnet=\"`ScmIpRestriction`\" pulumi-lang-go=\"`scmIpRestriction`\" pulumi-lang-python=\"`scm_ip_restriction`\" pulumi-lang-yaml=\"`scmIpRestriction`\" pulumi-lang-java=\"`scmIpRestriction`\"\u003e`scm_ip_restriction`\u003c/span\u003e to empty slice (`[]`) to remove it.\n"},"scmMinTlsVersion":{"type":"string","description":"Configures the minimum version of TLS required for SSL requests to the SCM site. Possible values are `1.0`, `1.1`, `1.2` and `1.3`.\n\n\u003e **Note:** Azure Services will require TLS 1.2+ by August 2025, please see this [announcement](https://azure.microsoft.com/en-us/updates/v2/update-retirement-tls1-0-tls1-1-versions-azure-services/) for more.\n"},"scmType":{"type":"string","description":"The type of Source Control used by the Logic App in use by the Windows Function App. Defaults to `None`. Possible values are: `BitbucketGit`, `BitbucketHg`, `CodePlexGit`, `CodePlexHg`, `Dropbox`, `ExternalGit`, `ExternalHg`, `GitHub`, `LocalGit`, `None`, `OneDrive`, `Tfs`, `VSO`, and `VSTSRM`\n"},"scmUseMainIpRestriction":{"type":"boolean","description":"Should the Logic App \u003cspan pulumi-lang-nodejs=\"`ipRestriction`\" pulumi-lang-dotnet=\"`IpRestriction`\" pulumi-lang-go=\"`ipRestriction`\" pulumi-lang-python=\"`ip_restriction`\" pulumi-lang-yaml=\"`ipRestriction`\" pulumi-lang-java=\"`ipRestriction`\"\u003e`ip_restriction`\u003c/span\u003e configuration be used for the SCM too. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"use32BitWorkerProcess":{"type":"boolean","description":"Should the Logic App run in 32 bit mode, rather than 64 bit mode? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n\n\u003e **Note:** when using an App Service Plan in the `Free` or `Shared` Tiers \u003cspan pulumi-lang-nodejs=\"`use32BitWorkerProcess`\" pulumi-lang-dotnet=\"`Use32BitWorkerProcess`\" pulumi-lang-go=\"`use32BitWorkerProcess`\" pulumi-lang-python=\"`use_32_bit_worker_process`\" pulumi-lang-yaml=\"`use32BitWorkerProcess`\" pulumi-lang-java=\"`use32BitWorkerProcess`\"\u003e`use_32_bit_worker_process`\u003c/span\u003e must be set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"vnetRouteAllEnabled":{"type":"boolean","description":"Should all outbound traffic to have Virtual Network Security Groups and User Defined Routes applied.\n"},"websocketsEnabled":{"type":"boolean","description":"Should WebSockets be enabled?\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["appScaleLimit","autoSwapSlotName","elasticInstanceMinimum","ftpsState","linuxFxVersion","minTlsVersion","preWarmedInstanceCount","publicNetworkAccessEnabled","scmMinTlsVersion","scmType","vnetRouteAllEnabled"]}}},"azure:logicapps/StandardSiteConfigCors:StandardSiteConfigCors":{"properties":{"allowedOrigins":{"type":"array","items":{"type":"string"},"description":"A list of origins which should be able to make cross-origin calls. `*` can be used to allow all calls.\n"},"supportCredentials":{"type":"boolean","description":"Are credentials supported?\n"}},"type":"object"},"azure:logicapps/StandardSiteConfigIpRestriction:StandardSiteConfigIpRestriction":{"properties":{"action":{"type":"string","description":"Does this restriction `Allow` or `Deny` access for this IP range. Defaults to `Allow`.\n"},"description":{"type":"string","description":"The Description of this IP Restriction.\n"},"headers":{"$ref":"#/types/azure:logicapps/StandardSiteConfigIpRestrictionHeaders:StandardSiteConfigIpRestrictionHeaders","description":"The \u003cspan pulumi-lang-nodejs=\"`headers`\" pulumi-lang-dotnet=\"`Headers`\" pulumi-lang-go=\"`headers`\" pulumi-lang-python=\"`headers`\" pulumi-lang-yaml=\"`headers`\" pulumi-lang-java=\"`headers`\"\u003e`headers`\u003c/span\u003e block for this specific as a \u003cspan pulumi-lang-nodejs=\"`ipRestriction`\" pulumi-lang-dotnet=\"`IpRestriction`\" pulumi-lang-go=\"`ipRestriction`\" pulumi-lang-python=\"`ip_restriction`\" pulumi-lang-yaml=\"`ipRestriction`\" pulumi-lang-java=\"`ipRestriction`\"\u003e`ip_restriction`\u003c/span\u003e block as defined below.\n"},"ipAddress":{"type":"string","description":"The IP Address used for this IP Restriction in CIDR notation.\n"},"name":{"type":"string","description":"The name for this IP Restriction.\n"},"priority":{"type":"integer","description":"The priority for this IP Restriction. Restrictions are enforced in priority order. By default, the priority is set to 65000 if not specified.\n"},"serviceTag":{"type":"string","description":"The Service Tag used for this IP Restriction.\n"},"virtualNetworkSubnetId":{"type":"string","description":"The Virtual Network Subnet ID used for this IP Restriction.\n\n\u003e **Note:** One of either \u003cspan pulumi-lang-nodejs=\"`ipAddress`\" pulumi-lang-dotnet=\"`IpAddress`\" pulumi-lang-go=\"`ipAddress`\" pulumi-lang-python=\"`ip_address`\" pulumi-lang-yaml=\"`ipAddress`\" pulumi-lang-java=\"`ipAddress`\"\u003e`ip_address`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`serviceTag`\" pulumi-lang-dotnet=\"`ServiceTag`\" pulumi-lang-go=\"`serviceTag`\" pulumi-lang-python=\"`service_tag`\" pulumi-lang-yaml=\"`serviceTag`\" pulumi-lang-java=\"`serviceTag`\"\u003e`service_tag`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`virtualNetworkSubnetId`\" pulumi-lang-dotnet=\"`VirtualNetworkSubnetId`\" pulumi-lang-go=\"`virtualNetworkSubnetId`\" pulumi-lang-python=\"`virtual_network_subnet_id`\" pulumi-lang-yaml=\"`virtualNetworkSubnetId`\" pulumi-lang-java=\"`virtualNetworkSubnetId`\"\u003e`virtual_network_subnet_id`\u003c/span\u003e must be specified\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["name"]}}},"azure:logicapps/StandardSiteConfigIpRestrictionHeaders:StandardSiteConfigIpRestrictionHeaders":{"properties":{"xAzureFdids":{"type":"array","items":{"type":"string"},"description":"A list of allowed Azure FrontDoor IDs in UUID notation with a maximum of 8.\n"},"xFdHealthProbe":{"type":"string","description":"A list to allow the Azure FrontDoor health probe header. Only allowed value is \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e.\n"},"xForwardedFors":{"type":"array","items":{"type":"string"},"description":"A list of allowed 'X-Forwarded-For' IPs in CIDR notation with a maximum of 8.\n"},"xForwardedHosts":{"type":"array","items":{"type":"string"},"description":"A list of allowed 'X-Forwarded-Host' domains with a maximum of 8.\n"}},"type":"object"},"azure:logicapps/StandardSiteConfigScmIpRestriction:StandardSiteConfigScmIpRestriction":{"properties":{"action":{"type":"string","description":"Does this restriction `Allow` or `Deny` access for this IP range. Defaults to `Allow`.\n"},"description":{"type":"string","description":"The Description of this IP Restriction.\n"},"headers":{"$ref":"#/types/azure:logicapps/StandardSiteConfigScmIpRestrictionHeaders:StandardSiteConfigScmIpRestrictionHeaders","description":"The \u003cspan pulumi-lang-nodejs=\"`headers`\" pulumi-lang-dotnet=\"`Headers`\" pulumi-lang-go=\"`headers`\" pulumi-lang-python=\"`headers`\" pulumi-lang-yaml=\"`headers`\" pulumi-lang-java=\"`headers`\"\u003e`headers`\u003c/span\u003e block for this specific \u003cspan pulumi-lang-nodejs=\"`ipRestriction`\" pulumi-lang-dotnet=\"`IpRestriction`\" pulumi-lang-go=\"`ipRestriction`\" pulumi-lang-python=\"`ip_restriction`\" pulumi-lang-yaml=\"`ipRestriction`\" pulumi-lang-java=\"`ipRestriction`\"\u003e`ip_restriction`\u003c/span\u003e as defined below.\n"},"ipAddress":{"type":"string","description":"The IP Address used for this IP Restriction in CIDR notation.\n"},"name":{"type":"string","description":"The name for this IP Restriction.\n"},"priority":{"type":"integer","description":"The priority for this IP Restriction. Restrictions are enforced in priority order. By default, the priority is set to \u003cspan pulumi-lang-nodejs=\"`65000`\" pulumi-lang-dotnet=\"`65000`\" pulumi-lang-go=\"`65000`\" pulumi-lang-python=\"`65000`\" pulumi-lang-yaml=\"`65000`\" pulumi-lang-java=\"`65000`\"\u003e`65000`\u003c/span\u003e if not specified.\n"},"serviceTag":{"type":"string","description":"The Service Tag used for this IP Restriction.\n"},"virtualNetworkSubnetId":{"type":"string","description":"The Virtual Network Subnet ID used for this IP Restriction.\n\n\u003e **Note:** One of either \u003cspan pulumi-lang-nodejs=\"`ipAddress`\" pulumi-lang-dotnet=\"`IpAddress`\" pulumi-lang-go=\"`ipAddress`\" pulumi-lang-python=\"`ip_address`\" pulumi-lang-yaml=\"`ipAddress`\" pulumi-lang-java=\"`ipAddress`\"\u003e`ip_address`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`serviceTag`\" pulumi-lang-dotnet=\"`ServiceTag`\" pulumi-lang-go=\"`serviceTag`\" pulumi-lang-python=\"`service_tag`\" pulumi-lang-yaml=\"`serviceTag`\" pulumi-lang-java=\"`serviceTag`\"\u003e`service_tag`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`virtualNetworkSubnetId`\" pulumi-lang-dotnet=\"`VirtualNetworkSubnetId`\" pulumi-lang-go=\"`virtualNetworkSubnetId`\" pulumi-lang-python=\"`virtual_network_subnet_id`\" pulumi-lang-yaml=\"`virtualNetworkSubnetId`\" pulumi-lang-java=\"`virtualNetworkSubnetId`\"\u003e`virtual_network_subnet_id`\u003c/span\u003e must be specified.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["name"]}}},"azure:logicapps/StandardSiteConfigScmIpRestrictionHeaders:StandardSiteConfigScmIpRestrictionHeaders":{"properties":{"xAzureFdids":{"type":"array","items":{"type":"string"},"description":"A list of allowed Azure FrontDoor IDs in UUID notation with a maximum of 8.\n"},"xFdHealthProbe":{"type":"string","description":"A list to allow the Azure FrontDoor health probe header. Only allowed value is \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e.\n"},"xForwardedFors":{"type":"array","items":{"type":"string"},"description":"A list of allowed 'X-Forwarded-For' IPs in CIDR notation with a maximum of 8.\n"},"xForwardedHosts":{"type":"array","items":{"type":"string"},"description":"A list of allowed 'X-Forwarded-Host' domains with a maximum of 8.\n"}},"type":"object"},"azure:logicapps/StandardSiteCredential:StandardSiteCredential":{"properties":{"password":{"type":"string","description":"The password associated with the username, which can be used to publish to this App Service.\n","secret":true},"username":{"type":"string","description":"The username which can be used to publish to this App Service.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["password","username"]}}},"azure:logicapps/TriggerRecurrenceSchedule:TriggerRecurrenceSchedule":{"properties":{"atTheseHours":{"type":"array","items":{"type":"integer"},"description":"Specifies a list of hours when the trigger should run. Valid values are between 0 and 23.\n"},"atTheseMinutes":{"type":"array","items":{"type":"integer"},"description":"Specifies a list of minutes when the trigger should run. Valid values are between 0 and 59.\n"},"onTheseDays":{"type":"array","items":{"type":"string"},"description":"Specifies a list of days when the trigger should run. Valid values include `Monday`, `Tuesday`, `Wednesday`, `Thursday`, `Friday`, `Saturday`, and `Sunday`.\n"}},"type":"object"},"azure:logicapps/WorkflowAccessControl:WorkflowAccessControl":{"properties":{"action":{"$ref":"#/types/azure:logicapps/WorkflowAccessControlAction:WorkflowAccessControlAction","description":"A \u003cspan pulumi-lang-nodejs=\"`action`\" pulumi-lang-dotnet=\"`Action`\" pulumi-lang-go=\"`action`\" pulumi-lang-python=\"`action`\" pulumi-lang-yaml=\"`action`\" pulumi-lang-java=\"`action`\"\u003e`action`\u003c/span\u003e block as defined below.\n"},"content":{"$ref":"#/types/azure:logicapps/WorkflowAccessControlContent:WorkflowAccessControlContent","description":"A \u003cspan pulumi-lang-nodejs=\"`content`\" pulumi-lang-dotnet=\"`Content`\" pulumi-lang-go=\"`content`\" pulumi-lang-python=\"`content`\" pulumi-lang-yaml=\"`content`\" pulumi-lang-java=\"`content`\"\u003e`content`\u003c/span\u003e block as defined below.\n"},"trigger":{"$ref":"#/types/azure:logicapps/WorkflowAccessControlTrigger:WorkflowAccessControlTrigger","description":"A \u003cspan pulumi-lang-nodejs=\"`trigger`\" pulumi-lang-dotnet=\"`Trigger`\" pulumi-lang-go=\"`trigger`\" pulumi-lang-python=\"`trigger`\" pulumi-lang-yaml=\"`trigger`\" pulumi-lang-java=\"`trigger`\"\u003e`trigger`\u003c/span\u003e block as defined below.\n"},"workflowManagement":{"$ref":"#/types/azure:logicapps/WorkflowAccessControlWorkflowManagement:WorkflowAccessControlWorkflowManagement","description":"A \u003cspan pulumi-lang-nodejs=\"`workflowManagement`\" pulumi-lang-dotnet=\"`WorkflowManagement`\" pulumi-lang-go=\"`workflowManagement`\" pulumi-lang-python=\"`workflow_management`\" pulumi-lang-yaml=\"`workflowManagement`\" pulumi-lang-java=\"`workflowManagement`\"\u003e`workflow_management`\u003c/span\u003e block as defined below.\n"}},"type":"object"},"azure:logicapps/WorkflowAccessControlAction:WorkflowAccessControlAction":{"properties":{"allowedCallerIpAddressRanges":{"type":"array","items":{"type":"string"},"description":"A list of the allowed caller IP address ranges.\n"}},"type":"object","required":["allowedCallerIpAddressRanges"]},"azure:logicapps/WorkflowAccessControlContent:WorkflowAccessControlContent":{"properties":{"allowedCallerIpAddressRanges":{"type":"array","items":{"type":"string"},"description":"A list of the allowed caller IP address ranges.\n"}},"type":"object","required":["allowedCallerIpAddressRanges"]},"azure:logicapps/WorkflowAccessControlTrigger:WorkflowAccessControlTrigger":{"properties":{"allowedCallerIpAddressRanges":{"type":"array","items":{"type":"string"},"description":"A list of the allowed caller IP address ranges.\n"},"openAuthenticationPolicies":{"type":"array","items":{"$ref":"#/types/azure:logicapps/WorkflowAccessControlTriggerOpenAuthenticationPolicy:WorkflowAccessControlTriggerOpenAuthenticationPolicy"},"description":"A \u003cspan pulumi-lang-nodejs=\"`openAuthenticationPolicy`\" pulumi-lang-dotnet=\"`OpenAuthenticationPolicy`\" pulumi-lang-go=\"`openAuthenticationPolicy`\" pulumi-lang-python=\"`open_authentication_policy`\" pulumi-lang-yaml=\"`openAuthenticationPolicy`\" pulumi-lang-java=\"`openAuthenticationPolicy`\"\u003e`open_authentication_policy`\u003c/span\u003e block as defined below.\n"}},"type":"object"},"azure:logicapps/WorkflowAccessControlTriggerOpenAuthenticationPolicy:WorkflowAccessControlTriggerOpenAuthenticationPolicy":{"properties":{"claims":{"type":"array","items":{"$ref":"#/types/azure:logicapps/WorkflowAccessControlTriggerOpenAuthenticationPolicyClaim:WorkflowAccessControlTriggerOpenAuthenticationPolicyClaim"},"description":"A \u003cspan pulumi-lang-nodejs=\"`claim`\" pulumi-lang-dotnet=\"`Claim`\" pulumi-lang-go=\"`claim`\" pulumi-lang-python=\"`claim`\" pulumi-lang-yaml=\"`claim`\" pulumi-lang-java=\"`claim`\"\u003e`claim`\u003c/span\u003e block as defined below.\n"},"name":{"type":"string","description":"The OAuth policy name for the Logic App Workflow.\n"}},"type":"object","required":["claims","name"]},"azure:logicapps/WorkflowAccessControlTriggerOpenAuthenticationPolicyClaim:WorkflowAccessControlTriggerOpenAuthenticationPolicyClaim":{"properties":{"name":{"type":"string","description":"The name of the OAuth policy claim for the Logic App Workflow.\n"},"value":{"type":"string","description":"The value of the OAuth policy claim for the Logic App Workflow.\n"}},"type":"object","required":["name","value"]},"azure:logicapps/WorkflowAccessControlWorkflowManagement:WorkflowAccessControlWorkflowManagement":{"properties":{"allowedCallerIpAddressRanges":{"type":"array","items":{"type":"string"},"description":"A list of the allowed caller IP address ranges.\n"}},"type":"object","required":["allowedCallerIpAddressRanges"]},"azure:logicapps/WorkflowIdentity:WorkflowIdentity":{"properties":{"identityIds":{"type":"array","items":{"type":"string"},"description":"Specifies a list of User Assigned Managed Identity IDs to be assigned to this Logic App Workflow.\n\n\u003e **Note:** This is required when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to `UserAssigned`\n"},"principalId":{"type":"string","description":"The Principal ID for the Service Principal associated with the Managed Service Identity of this Logic App Workflow.\n"},"tenantId":{"type":"string","description":"The Tenant ID for the Service Principal associated with the Managed Service Identity of this Logic App Workflow.\n"},"type":{"type":"string","description":"Specifies the type of Managed Service Identity that should be configured on this Logic App Workflow. Possible values are `SystemAssigned`, `UserAssigned`.\n"}},"type":"object","required":["type"],"language":{"nodejs":{"requiredOutputs":["principalId","tenantId","type"]}}},"azure:logicapps/getStandardConnectionString:getStandardConnectionString":{"properties":{"name":{"type":"string","description":"The name of the Logic App.\n"},"type":{"type":"string","description":"The Type of Managed Identity assigned to this Logic App Workflow.\n"},"value":{"type":"string","secret":true}},"type":"object","required":["name","type","value"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:logicapps/getStandardIdentity:getStandardIdentity":{"properties":{"identityIds":{"type":"array","items":{"type":"string"}},"principalId":{"type":"string","description":"The Principal ID for the Service Principal associated with the Managed Service Identity of this Logic App Workflow.\n"},"tenantId":{"type":"string","description":"The Tenant ID for the Service Principal associated with the Managed Service Identity of this Logic App Workflow.\n"},"type":{"type":"string","description":"The Type of Managed Identity assigned to this Logic App Workflow.\n"}},"type":"object","required":["identityIds","principalId","tenantId","type"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:logicapps/getStandardSiteConfig:getStandardSiteConfig":{"properties":{"alwaysOn":{"type":"boolean","description":"Should the Logic App be loaded at all times?\n"},"appScaleLimit":{"type":"integer","description":"The number of workers this Logic App can scale out to. Only applicable to apps on the Consumption and Premium plan.\n"},"autoSwapSlotName":{"type":"string","description":"The Auto-swap slot name.\n"},"cors":{"$ref":"#/types/azure:logicapps/getStandardSiteConfigCors:getStandardSiteConfigCors","description":"A \u003cspan pulumi-lang-nodejs=\"`cors`\" pulumi-lang-dotnet=\"`Cors`\" pulumi-lang-go=\"`cors`\" pulumi-lang-python=\"`cors`\" pulumi-lang-yaml=\"`cors`\" pulumi-lang-java=\"`cors`\"\u003e`cors`\u003c/span\u003e block as defined below.\n"},"dotnetFrameworkVersion":{"type":"string","description":"The version of the .NET framework's CLR used in this Logic App.\n"},"elasticInstanceMinimum":{"type":"integer","description":"The number of minimum instances for this Logic App Only affects apps on the Premium plan.\n"},"ftpsState":{"type":"string","description":"The state of FTP / FTPS service for this Logic App.\n"},"healthCheckPath":{"type":"string","description":"Path which will be checked for this Logic App health.\n"},"http2Enabled":{"type":"boolean","description":"Specifies whether the HTTP2 protocol should be enabled.\n"},"ipRestrictions":{"type":"array","items":{"$ref":"#/types/azure:logicapps/getStandardSiteConfigIpRestriction:getStandardSiteConfigIpRestriction"},"description":"A list of \u003cspan pulumi-lang-nodejs=\"`ipRestriction`\" pulumi-lang-dotnet=\"`IpRestriction`\" pulumi-lang-go=\"`ipRestriction`\" pulumi-lang-python=\"`ip_restriction`\" pulumi-lang-yaml=\"`ipRestriction`\" pulumi-lang-java=\"`ipRestriction`\"\u003e`ip_restriction`\u003c/span\u003e objects representing IP restrictions as defined below.\n"},"linuxFxVersion":{"type":"string","description":"Linux App Framework and version for the Logic App.\n"},"minTlsVersion":{"type":"string","description":"The minimum supported TLS version for the Logic App.\n"},"preWarmedInstanceCount":{"type":"integer","description":"The number of pre-warmed instances for this Logic App Only affects apps on the Premium plan.\n"},"publicNetworkAccessEnabled":{"type":"boolean","deprecationMessage":"the `site_config.public_network_access_enabled` property has been superseded by the \u003cspan pulumi-lang-nodejs=\"`publicNetworkAccess`\" pulumi-lang-dotnet=\"`PublicNetworkAccess`\" pulumi-lang-go=\"`publicNetworkAccess`\" pulumi-lang-python=\"`public_network_access`\" pulumi-lang-yaml=\"`publicNetworkAccess`\" pulumi-lang-java=\"`publicNetworkAccess`\"\u003e`public_network_access`\u003c/span\u003e property and will be removed in v5.0 of the AzureRM Provider."},"runtimeScaleMonitoringEnabled":{"type":"boolean","description":"Should Runtime Scale Monitoring be enabled?. Only applicable to apps on the Premium plan.\n"},"scmIpRestrictions":{"type":"array","items":{"$ref":"#/types/azure:logicapps/getStandardSiteConfigScmIpRestriction:getStandardSiteConfigScmIpRestriction"},"description":"A list of \u003cspan pulumi-lang-nodejs=\"`scmIpRestriction`\" pulumi-lang-dotnet=\"`ScmIpRestriction`\" pulumi-lang-go=\"`scmIpRestriction`\" pulumi-lang-python=\"`scm_ip_restriction`\" pulumi-lang-yaml=\"`scmIpRestriction`\" pulumi-lang-java=\"`scmIpRestriction`\"\u003e`scm_ip_restriction`\u003c/span\u003e objects representing SCM IP restrictions as defined below.\n"},"scmMinTlsVersion":{"type":"string","description":"The minimum version of TLS required for SSL requests to the SCM site.\n"},"scmType":{"type":"string","description":"The type of Source Control used by the Logic App in use by the Windows Function App.\n"},"scmUseMainIpRestriction":{"type":"boolean","description":"Should the Logic App \u003cspan pulumi-lang-nodejs=\"`ipRestriction`\" pulumi-lang-dotnet=\"`IpRestriction`\" pulumi-lang-go=\"`ipRestriction`\" pulumi-lang-python=\"`ip_restriction`\" pulumi-lang-yaml=\"`ipRestriction`\" pulumi-lang-java=\"`ipRestriction`\"\u003e`ip_restriction`\u003c/span\u003e configuration be used for the SCM too.\n"},"use32BitWorkerProcess":{"type":"boolean","description":"Should the Logic App run in 32 bit mode, rather than 64 bit mode?\n"},"vnetRouteAllEnabled":{"type":"boolean","description":"Should all outbound traffic to have Virtual Network Security Groups and User Defined Routes applied.\n"},"websocketsEnabled":{"type":"boolean","description":"Should WebSockets be enabled?\n"}},"type":"object","required":["alwaysOn","appScaleLimit","autoSwapSlotName","cors","dotnetFrameworkVersion","elasticInstanceMinimum","ftpsState","healthCheckPath","http2Enabled","ipRestrictions","linuxFxVersion","minTlsVersion","preWarmedInstanceCount","publicNetworkAccessEnabled","runtimeScaleMonitoringEnabled","scmIpRestrictions","scmMinTlsVersion","scmType","scmUseMainIpRestriction","use32BitWorkerProcess","vnetRouteAllEnabled","websocketsEnabled"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:logicapps/getStandardSiteConfigCors:getStandardSiteConfigCors":{"properties":{"allowedOrigins":{"type":"array","items":{"type":"string"},"description":"A list of origins which should be able to make cross-origin calls.\n"},"supportCredentials":{"type":"boolean","description":"Are credentials supported?\n"}},"type":"object","required":["allowedOrigins","supportCredentials"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:logicapps/getStandardSiteConfigIpRestriction:getStandardSiteConfigIpRestriction":{"properties":{"action":{"type":"string","description":"Does this restriction `Allow` or `Deny` access for this IP range.\n"},"headers":{"$ref":"#/types/azure:logicapps/getStandardSiteConfigIpRestrictionHeaders:getStandardSiteConfigIpRestrictionHeaders","description":"The \u003cspan pulumi-lang-nodejs=\"`headers`\" pulumi-lang-dotnet=\"`Headers`\" pulumi-lang-go=\"`headers`\" pulumi-lang-python=\"`headers`\" pulumi-lang-yaml=\"`headers`\" pulumi-lang-java=\"`headers`\"\u003e`headers`\u003c/span\u003e block for this specific \u003cspan pulumi-lang-nodejs=\"`ipRestriction`\" pulumi-lang-dotnet=\"`IpRestriction`\" pulumi-lang-go=\"`ipRestriction`\" pulumi-lang-python=\"`ip_restriction`\" pulumi-lang-yaml=\"`ipRestriction`\" pulumi-lang-java=\"`ipRestriction`\"\u003e`ip_restriction`\u003c/span\u003e as defined below.\n"},"ipAddress":{"type":"string","description":"The IP Address used for this IP Restriction in CIDR notation.\n"},"name":{"type":"string","description":"The name of the Logic App.\n"},"priority":{"type":"integer","description":"The priority for this IP Restriction. Restrictions are enforced in priority order.\n"},"serviceTag":{"type":"string","description":"The Service Tag used for this IP Restriction.\n"},"virtualNetworkSubnetId":{"type":"string","description":"The Virtual Network Subnet ID used for this IP Restriction.\n"}},"type":"object","required":["action","headers","ipAddress","name","priority","serviceTag","virtualNetworkSubnetId"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:logicapps/getStandardSiteConfigIpRestrictionHeaders:getStandardSiteConfigIpRestrictionHeaders":{"properties":{"xAzureFdids":{"type":"array","items":{"type":"string"},"description":"A list of allowed Azure FrontDoor IDs in UUID notation.\n"},"xFdHealthProbe":{"type":"string","description":"A list to allow the Azure FrontDoor health probe header.\n"},"xForwardedFors":{"type":"array","items":{"type":"string"},"description":"A list of allowed 'X-Forwarded-For' IPs in CIDR notation.\n"},"xForwardedHosts":{"type":"array","items":{"type":"string"},"description":"A list of allowed 'X-Forwarded-Host' domains.\n"}},"type":"object","required":["xAzureFdids","xFdHealthProbe","xForwardedFors","xForwardedHosts"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:logicapps/getStandardSiteConfigScmIpRestriction:getStandardSiteConfigScmIpRestriction":{"properties":{"action":{"type":"string","description":"Does this restriction `Allow` or `Deny` access for this IP range.\n"},"headers":{"$ref":"#/types/azure:logicapps/getStandardSiteConfigScmIpRestrictionHeaders:getStandardSiteConfigScmIpRestrictionHeaders","description":"The \u003cspan pulumi-lang-nodejs=\"`headers`\" pulumi-lang-dotnet=\"`Headers`\" pulumi-lang-go=\"`headers`\" pulumi-lang-python=\"`headers`\" pulumi-lang-yaml=\"`headers`\" pulumi-lang-java=\"`headers`\"\u003e`headers`\u003c/span\u003e block for this specific \u003cspan pulumi-lang-nodejs=\"`ipRestriction`\" pulumi-lang-dotnet=\"`IpRestriction`\" pulumi-lang-go=\"`ipRestriction`\" pulumi-lang-python=\"`ip_restriction`\" pulumi-lang-yaml=\"`ipRestriction`\" pulumi-lang-java=\"`ipRestriction`\"\u003e`ip_restriction`\u003c/span\u003e as defined below.\n"},"ipAddress":{"type":"string","description":"The IP Address used for this IP Restriction in CIDR notation.\n"},"name":{"type":"string","description":"The name of the Logic App.\n"},"priority":{"type":"integer","description":"The priority for this IP Restriction. Restrictions are enforced in priority order.\n"},"serviceTag":{"type":"string","description":"The Service Tag used for this IP Restriction.\n"},"virtualNetworkSubnetId":{"type":"string","description":"The Virtual Network Subnet ID used for this IP Restriction.\n"}},"type":"object","required":["action","headers","ipAddress","name","priority","serviceTag","virtualNetworkSubnetId"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:logicapps/getStandardSiteConfigScmIpRestrictionHeaders:getStandardSiteConfigScmIpRestrictionHeaders":{"properties":{"xAzureFdids":{"type":"array","items":{"type":"string"},"description":"A list of allowed Azure FrontDoor IDs in UUID notation.\n"},"xFdHealthProbe":{"type":"string","description":"A list to allow the Azure FrontDoor health probe header.\n"},"xForwardedFors":{"type":"array","items":{"type":"string"},"description":"A list of allowed 'X-Forwarded-For' IPs in CIDR notation.\n"},"xForwardedHosts":{"type":"array","items":{"type":"string"},"description":"A list of allowed 'X-Forwarded-Host' domains.\n"}},"type":"object","required":["xAzureFdids","xFdHealthProbe","xForwardedFors","xForwardedHosts"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:logicapps/getStandardSiteCredential:getStandardSiteCredential":{"properties":{"password":{"type":"string","description":"The password associated with the username, which can be used to publish to this Logic App.\n","secret":true},"username":{"type":"string","description":"The username which can be used to publish to this Logic App.\n"}},"type":"object","required":["password","username"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:logicapps/getWorkflowIdentity:getWorkflowIdentity":{"properties":{"identityIds":{"type":"array","items":{"type":"string"},"description":"The list of User Assigned Managed Identity IDs assigned to this Logic App Workflow.\n"},"principalId":{"type":"string","description":"The Principal ID of the System Assigned Managed Service Identity that is configured on this Logic App Workflow.\n"},"tenantId":{"type":"string","description":"The Tenant ID of the System Assigned Managed Service Identity that is configured on this Logic App Workflow.\n"},"type":{"type":"string","description":"The type of Managed Service Identity that is configured on this Logic App Workflow.\n"}},"type":"object","required":["identityIds","principalId","tenantId","type"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:machinelearning/ComputeClusterIdentity:ComputeClusterIdentity":{"properties":{"identityIds":{"type":"array","items":{"type":"string"},"description":"Specifies a list of User Assigned Managed Identity IDs to be assigned to this Machine Learning Compute Cluster.\n\n\u003e **Note:** This is required when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to `UserAssigned` or `SystemAssigned, UserAssigned`.\n"},"principalId":{"type":"string","description":"The Principal ID for the Service Principal associated with the Managed Service Identity of this Machine Learning Compute Cluster.\n"},"tenantId":{"type":"string","description":"The Tenant ID for the Service Principal associated with the Managed Service Identity of this Machine Learning Compute Cluster.\n"},"type":{"type":"string","description":"Specifies the type of Managed Service Identity that should be configured on this Machine Learning Compute Cluster. Possible values are `SystemAssigned`, `UserAssigned`, `SystemAssigned, UserAssigned` (to enable both).\n"}},"type":"object","required":["type"],"language":{"nodejs":{"requiredOutputs":["principalId","tenantId","type"]}}},"azure:machinelearning/ComputeClusterScaleSettings:ComputeClusterScaleSettings":{"properties":{"maxNodeCount":{"type":"integer","description":"Maximum node count.\n"},"minNodeCount":{"type":"integer","description":"Minimal node count.\n"},"scaleDownNodesAfterIdleDuration":{"type":"string","description":"Node Idle Time Before Scale Down: defines the time until the compute is shutdown when it has gone into Idle state. Is defined according to W3C XML schema standard for duration.\n"}},"type":"object","required":["maxNodeCount","minNodeCount","scaleDownNodesAfterIdleDuration"]},"azure:machinelearning/ComputeClusterSsh:ComputeClusterSsh":{"properties":{"adminPassword":{"type":"string","description":"Password of the administrator user account. Changing this forces a new Machine Learning Compute Cluster to be created.\n","willReplaceOnChanges":true},"adminUsername":{"type":"string","description":"Name of the administrator user account which can be used to SSH to nodes. Changing this forces a new Machine Learning Compute Cluster to be created.\n","willReplaceOnChanges":true},"keyValue":{"type":"string","description":"SSH public key of the administrator user account. Changing this forces a new Machine Learning Compute Cluster to be created.\n\n\u003e **Note:** At least one of \u003cspan pulumi-lang-nodejs=\"`adminPassword`\" pulumi-lang-dotnet=\"`AdminPassword`\" pulumi-lang-go=\"`adminPassword`\" pulumi-lang-python=\"`admin_password`\" pulumi-lang-yaml=\"`adminPassword`\" pulumi-lang-java=\"`adminPassword`\"\u003e`admin_password`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`keyValue`\" pulumi-lang-dotnet=\"`KeyValue`\" pulumi-lang-go=\"`keyValue`\" pulumi-lang-python=\"`key_value`\" pulumi-lang-yaml=\"`keyValue`\" pulumi-lang-java=\"`keyValue`\"\u003e`key_value`\u003c/span\u003e shoud be specified.\n","willReplaceOnChanges":true}},"type":"object","required":["adminUsername"]},"azure:machinelearning/ComputeInstanceAssignToUser:ComputeInstanceAssignToUser":{"properties":{"objectId":{"type":"string","description":"User’s AAD Object Id.\n"},"tenantId":{"type":"string","description":"User’s AAD Tenant Id.\n"}},"type":"object"},"azure:machinelearning/ComputeInstanceIdentity:ComputeInstanceIdentity":{"properties":{"identityIds":{"type":"array","items":{"type":"string"},"description":"Specifies a list of User Assigned Managed Identity IDs to be assigned to this Machine Learning Compute Instance. Changing this forces a new resource to be created.\n\n\u003e **Note:** This is required when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to `UserAssigned` or `SystemAssigned, UserAssigned`.\n","willReplaceOnChanges":true},"principalId":{"type":"string","description":"The Principal ID for the Service Principal associated with the Managed Service Identity of this Machine Learning Compute Instance.\n"},"tenantId":{"type":"string","description":"The Tenant ID for the Service Principal associated with the Managed Service Identity of this Machine Learning Compute Instance.\n"},"type":{"type":"string","description":"Specifies the type of Managed Service Identity that should be configured on this Machine Learning Compute Instance. Possible values are `SystemAssigned`, `UserAssigned`, `SystemAssigned, UserAssigned` (to enable both). Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["type"],"language":{"nodejs":{"requiredOutputs":["principalId","tenantId","type"]}}},"azure:machinelearning/ComputeInstanceSsh:ComputeInstanceSsh":{"properties":{"port":{"type":"integer","description":"Describes the port for connecting through SSH.\n"},"publicKey":{"type":"string","description":"Specifies the SSH rsa public key file as a string. Use \"ssh-keygen -t rsa -b 2048\" to generate your SSH key pairs.\n"},"username":{"type":"string","description":"The admin username of this Machine Learning Compute Instance.\n"}},"type":"object","required":["publicKey"],"language":{"nodejs":{"requiredOutputs":["port","publicKey","username"]}}},"azure:machinelearning/InferenceClusterIdentity:InferenceClusterIdentity":{"properties":{"identityIds":{"type":"array","items":{"type":"string"},"description":"Specifies a list of User Assigned Managed Identity IDs to be assigned to this Machine Learning Inference Cluster. Changing this forces a new resource to be created.\n\n\u003e **Note:** This is required when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to `UserAssigned` or `SystemAssigned, UserAssigned`.\n","willReplaceOnChanges":true},"principalId":{"type":"string","description":"The Principal ID for the Service Principal associated with the Managed Service Identity of this Machine Learning Inference Cluster.\n"},"tenantId":{"type":"string","description":"The Tenant ID for the Service Principal associated with the Managed Service Identity of this Machine Learning Inference Cluster.\n"},"type":{"type":"string","description":"Specifies the type of Managed Service Identity that should be configured on this Machine Learning Inference Cluster. Possible values are `SystemAssigned`, `UserAssigned`, `SystemAssigned, UserAssigned` (to enable both). Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["type"],"language":{"nodejs":{"requiredOutputs":["principalId","tenantId","type"]}}},"azure:machinelearning/InferenceClusterSsl:InferenceClusterSsl":{"properties":{"cert":{"type":"string","description":"The certificate for the SSL configuration.Conflicts with `ssl[0].leaf_domain_label`,`ssl[0].overwrite_existing_domain`. Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `\"\"`.\n","willReplaceOnChanges":true},"cname":{"type":"string","description":"The cname of the SSL configuration.Conflicts with `ssl[0].leaf_domain_label`,`ssl[0].overwrite_existing_domain`. Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `\"\"`.\n","willReplaceOnChanges":true},"key":{"type":"string","description":"The key content for the SSL configuration.Conflicts with `ssl[0].leaf_domain_label`,`ssl[0].overwrite_existing_domain`. Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `\"\"`.\n","willReplaceOnChanges":true},"leafDomainLabel":{"type":"string","description":"The leaf domain label for the SSL configuration. Conflicts with `ssl[0].cert`,`ssl[0].key`,`ssl[0].cname`. Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `\"\"`.\n","willReplaceOnChanges":true},"overwriteExistingDomain":{"type":"boolean","description":"Whether or not to overwrite existing leaf domain. Conflicts with `ssl[0].cert`,`ssl[0].key`,`ssl[0].cname` Changing this forces a new Machine Learning Inference Cluster to be created.\n","willReplaceOnChanges":true}},"type":"object"},"azure:machinelearning/SynapseSparkIdentity:SynapseSparkIdentity":{"properties":{"identityIds":{"type":"array","items":{"type":"string"},"description":"Specifies a list of User Assigned Managed Identity IDs to be assigned to this Machine Learning Synapse Spark. Changing this forces a new resource to be created.\n\n\u003e **Note:** This is required when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to `UserAssigned` or `SystemAssigned, UserAssigned`.\n","willReplaceOnChanges":true},"principalId":{"type":"string","description":"The Principal ID for the Service Principal associated with the Managed Service Identity of this Machine Learning Synapse Spark.\n"},"tenantId":{"type":"string","description":"The Tenant ID for the Service Principal associated with the Managed Service Identity of this Machine Learning Synapse Spark.\n"},"type":{"type":"string","description":"Specifies the type of Managed Service Identity that should be configured on this Machine Learning Synapse Spark. Possible values are `SystemAssigned`, `UserAssigned`, `SystemAssigned, UserAssigned` (to enable both). Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["type"],"language":{"nodejs":{"requiredOutputs":["principalId","tenantId","type"]}}},"azure:machinelearning/WorkspaceEncryption:WorkspaceEncryption":{"properties":{"keyId":{"type":"string","description":"The Key Vault URI to access the encryption key.\n"},"keyVaultId":{"type":"string","description":"The ID of the keyVault where the customer owned encryption key is present.\n"},"userAssignedIdentityId":{"type":"string","description":"The Key Vault URI to access the encryption key.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`userAssignedIdentityId`\" pulumi-lang-dotnet=\"`UserAssignedIdentityId`\" pulumi-lang-go=\"`userAssignedIdentityId`\" pulumi-lang-python=\"`user_assigned_identity_id`\" pulumi-lang-yaml=\"`userAssignedIdentityId`\" pulumi-lang-java=\"`userAssignedIdentityId`\"\u003e`user_assigned_identity_id`\u003c/span\u003e must set when`identity.type` is `UserAssigned` or service won't be able to find the assigned permissions.\n"}},"type":"object","required":["keyId","keyVaultId"]},"azure:machinelearning/WorkspaceFeatureStore:WorkspaceFeatureStore":{"properties":{"computerSparkRuntimeVersion":{"type":"string","description":"The version of Spark runtime.\n"},"offlineConnectionName":{"type":"string","description":"The name of offline store connection.\n"},"onlineConnectionName":{"type":"string","description":"The name of online store connection.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`featureStore`\" pulumi-lang-dotnet=\"`FeatureStore`\" pulumi-lang-go=\"`featureStore`\" pulumi-lang-python=\"`feature_store`\" pulumi-lang-yaml=\"`featureStore`\" pulumi-lang-java=\"`featureStore`\"\u003e`feature_store`\u003c/span\u003e must be set when\u003cspan pulumi-lang-nodejs=\"`kind`\" pulumi-lang-dotnet=\"`Kind`\" pulumi-lang-go=\"`kind`\" pulumi-lang-python=\"`kind`\" pulumi-lang-yaml=\"`kind`\" pulumi-lang-java=\"`kind`\"\u003e`kind`\u003c/span\u003e is `FeatureStore`\n"}},"type":"object"},"azure:machinelearning/WorkspaceIdentity:WorkspaceIdentity":{"properties":{"identityIds":{"type":"array","items":{"type":"string"},"description":"Specifies a list of User Assigned Managed Identity IDs to be assigned to this Machine Learning Workspace.\n\n\u003e **Note:** This is required when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to `UserAssigned` or `SystemAssigned, UserAssigned`.\n"},"principalId":{"type":"string","description":"The Principal ID associated with this Managed Service Identity.\n"},"tenantId":{"type":"string","description":"The Tenant ID associated with this Managed Service Identity.\n"},"type":{"type":"string","description":"Specifies the type of Managed Service Identity that should be configured on this Machine Learning Workspace. Possible values are `SystemAssigned`, `UserAssigned`, `SystemAssigned, UserAssigned` (to enable both).\n"}},"type":"object","required":["type"],"language":{"nodejs":{"requiredOutputs":["principalId","tenantId","type"]}}},"azure:machinelearning/WorkspaceManagedNetwork:WorkspaceManagedNetwork":{"properties":{"isolationMode":{"type":"string","description":"The isolation mode of the Machine Learning Workspace. Possible values are `Disabled`, `AllowOnlyApprovedOutbound`, and `AllowInternetOutbound`.\n"},"provisionOnCreationEnabled":{"type":"boolean","description":"Set to trigger the provisioning of the managed VNet with the default options when creating a Machine Learning Workspace with the managed VNet enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","language":{"nodejs":{"requiredOutputs":["isolationMode"]}}},"azure:machinelearning/WorkspaceServerlessCompute:WorkspaceServerlessCompute":{"properties":{"publicIpEnabled":{"type":"boolean","description":"Should serverless compute nodes deployed in a custom Virtual Network have public IP addresses enabled for a workspace with private endpoint? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`publicIpEnabled`\" pulumi-lang-dotnet=\"`PublicIpEnabled`\" pulumi-lang-go=\"`publicIpEnabled`\" pulumi-lang-python=\"`public_ip_enabled`\" pulumi-lang-yaml=\"`publicIpEnabled`\" pulumi-lang-java=\"`publicIpEnabled`\"\u003e`public_ip_enabled`\u003c/span\u003e cannot be updated from \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e when \u003cspan pulumi-lang-nodejs=\"`subnetId`\" pulumi-lang-dotnet=\"`SubnetId`\" pulumi-lang-go=\"`subnetId`\" pulumi-lang-python=\"`subnet_id`\" pulumi-lang-yaml=\"`subnetId`\" pulumi-lang-java=\"`subnetId`\"\u003e`subnet_id`\u003c/span\u003e is not set. \u003cspan pulumi-lang-nodejs=\"`publicIpEnabled`\" pulumi-lang-dotnet=\"`PublicIpEnabled`\" pulumi-lang-go=\"`publicIpEnabled`\" pulumi-lang-python=\"`public_ip_enabled`\" pulumi-lang-yaml=\"`publicIpEnabled`\" pulumi-lang-java=\"`publicIpEnabled`\"\u003e`public_ip_enabled`\u003c/span\u003e must be set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e if \u003cspan pulumi-lang-nodejs=\"`subnetId`\" pulumi-lang-dotnet=\"`SubnetId`\" pulumi-lang-go=\"`subnetId`\" pulumi-lang-python=\"`subnet_id`\" pulumi-lang-yaml=\"`subnetId`\" pulumi-lang-java=\"`subnetId`\"\u003e`subnet_id`\u003c/span\u003e is not set and when \u003cspan pulumi-lang-nodejs=\"`publicNetworkAccessEnabled`\" pulumi-lang-dotnet=\"`PublicNetworkAccessEnabled`\" pulumi-lang-go=\"`publicNetworkAccessEnabled`\" pulumi-lang-python=\"`public_network_access_enabled`\" pulumi-lang-yaml=\"`publicNetworkAccessEnabled`\" pulumi-lang-java=\"`publicNetworkAccessEnabled`\"\u003e`public_network_access_enabled`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"subnetId":{"type":"string","description":"The ID of an existing Virtual Network Subnet in which the serverless compute nodes should be deployed to.\n"}},"type":"object"},"azure:machinelearning/getWorkspaceIdentity:getWorkspaceIdentity":{"properties":{"identityIds":{"type":"array","items":{"type":"string"},"description":"A list of User Assigned Identity IDs assigned to this Machine Learning Workspace.\n"},"principalId":{"type":"string","description":"The Principal ID of the System Assigned Managed Identity assigned to this Machine Learning Workspace.\n"},"tenantId":{"type":"string","description":"The Tenant ID of the System Assigned Managed Identity assigned to this Machine Learning Workspace.\n"},"type":{"type":"string","description":"The Type of Managed Identity assigned to this Machine Learning Workspace.\n"}},"type":"object","required":["identityIds","principalId","tenantId","type"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:maintenance/AssignmentDynamicScopeFilter:AssignmentDynamicScopeFilter":{"properties":{"locations":{"type":"array","items":{"type":"string"},"description":"Specifies a list of locations to scope the query to.\n"},"osTypes":{"type":"array","items":{"type":"string"},"description":"Specifies a list of allowed operating systems. Possible values are `Linux` and `Windows`.\n"},"resourceGroups":{"type":"array","items":{"type":"string"},"description":"Specifies a list of allowed resource groups.\n"},"resourceTypes":{"type":"array","items":{"type":"string"},"description":"Specifies a list of allowed resources. Possible values are `Microsoft.Compute/virtualMachines` and `Microsoft.HybridCompute/machines`.\n"},"tagFilter":{"type":"string","description":"Filter VMs by `Any` or `All` specified tags. Defaults to `Any`.\n"},"tags":{"type":"array","items":{"$ref":"#/types/azure:maintenance/AssignmentDynamicScopeFilterTag:AssignmentDynamicScopeFilterTag"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`tags`\" pulumi-lang-dotnet=\"`Tags`\" pulumi-lang-go=\"`tags`\" pulumi-lang-python=\"`tags`\" pulumi-lang-yaml=\"`tags`\" pulumi-lang-java=\"`tags`\"\u003e`tags`\u003c/span\u003e blocks as defined below.\n"}},"type":"object"},"azure:maintenance/AssignmentDynamicScopeFilterTag:AssignmentDynamicScopeFilterTag":{"properties":{"tag":{"type":"string","description":"Specifies the tag to filter by.\n"},"values":{"type":"array","items":{"type":"string"},"description":"Specifies a list of values the defined tag can have.\n"}},"type":"object","required":["tag","values"]},"azure:maintenance/ConfigurationInstallPatches:ConfigurationInstallPatches":{"properties":{"linuxes":{"type":"array","items":{"$ref":"#/types/azure:maintenance/ConfigurationInstallPatchesLinux:ConfigurationInstallPatchesLinux"},"description":"A \u003cspan pulumi-lang-nodejs=\"`linux`\" pulumi-lang-dotnet=\"`Linux`\" pulumi-lang-go=\"`linux`\" pulumi-lang-python=\"`linux`\" pulumi-lang-yaml=\"`linux`\" pulumi-lang-java=\"`linux`\"\u003e`linux`\u003c/span\u003e block as defined above. This property only applies when \u003cspan pulumi-lang-nodejs=\"`scope`\" pulumi-lang-dotnet=\"`Scope`\" pulumi-lang-go=\"`scope`\" pulumi-lang-python=\"`scope`\" pulumi-lang-yaml=\"`scope`\" pulumi-lang-java=\"`scope`\"\u003e`scope`\u003c/span\u003e is set to `InGuestPatch`\n"},"reboot":{"type":"string","description":"Possible reboot preference as defined by the user based on which it would be decided to reboot the machine or not after the patch operation is completed. Possible values are `Always`, `IfRequired` and `Never`. This property only applies when \u003cspan pulumi-lang-nodejs=\"`scope`\" pulumi-lang-dotnet=\"`Scope`\" pulumi-lang-go=\"`scope`\" pulumi-lang-python=\"`scope`\" pulumi-lang-yaml=\"`scope`\" pulumi-lang-java=\"`scope`\"\u003e`scope`\u003c/span\u003e is set to `InGuestPatch`.\n"},"windows":{"type":"array","items":{"$ref":"#/types/azure:maintenance/ConfigurationInstallPatchesWindow:ConfigurationInstallPatchesWindow"},"description":"A \u003cspan pulumi-lang-nodejs=\"`windows`\" pulumi-lang-dotnet=\"`Windows`\" pulumi-lang-go=\"`windows`\" pulumi-lang-python=\"`windows`\" pulumi-lang-yaml=\"`windows`\" pulumi-lang-java=\"`windows`\"\u003e`windows`\u003c/span\u003e block as defined above. This property only applies when \u003cspan pulumi-lang-nodejs=\"`scope`\" pulumi-lang-dotnet=\"`Scope`\" pulumi-lang-go=\"`scope`\" pulumi-lang-python=\"`scope`\" pulumi-lang-yaml=\"`scope`\" pulumi-lang-java=\"`scope`\"\u003e`scope`\u003c/span\u003e is set to `InGuestPatch`\n"}},"type":"object"},"azure:maintenance/ConfigurationInstallPatchesLinux:ConfigurationInstallPatchesLinux":{"properties":{"classificationsToIncludes":{"type":"array","items":{"type":"string"},"description":"List of Classification category of patches to be patched. Possible values are `Critical`, `Security` and `Other`.\n"},"packageNamesMaskToExcludes":{"type":"array","items":{"type":"string"},"description":"List of package names to be excluded from patching.\n"},"packageNamesMaskToIncludes":{"type":"array","items":{"type":"string"},"description":"List of package names to be included for patching.\n"}},"type":"object"},"azure:maintenance/ConfigurationInstallPatchesWindow:ConfigurationInstallPatchesWindow":{"properties":{"classificationsToIncludes":{"type":"array","items":{"type":"string"},"description":"List of Classification category of patches to be patched. Possible values are `Critical`, `Security`, `UpdateRollup`, `FeaturePack`, `ServicePack`, `Definition`, `Tools` and `Updates`.\n"},"kbNumbersToExcludes":{"type":"array","items":{"type":"string"},"description":"List of KB numbers to be excluded from patching.\n"},"kbNumbersToIncludes":{"type":"array","items":{"type":"string"},"description":"List of KB numbers to be included for patching.\n"}},"type":"object"},"azure:maintenance/ConfigurationWindow:ConfigurationWindow":{"properties":{"duration":{"type":"string","description":"The duration of the maintenance window in HH:mm format.\n"},"expirationDateTime":{"type":"string","description":"Effective expiration date of the maintenance window in YYYY-MM-DD hh:mm format.\n"},"recurEvery":{"type":"string","description":"The rate at which a maintenance window is expected to recur. The rate can be expressed as daily, weekly, or monthly schedules.\n"},"startDateTime":{"type":"string","description":"Effective start date of the maintenance window in YYYY-MM-DD hh:mm format.\n"},"timeZone":{"type":"string","description":"The time zone for the maintenance window. A list of timezones can be obtained by executing [System.TimeZoneInfo]::GetSystemTimeZones() in PowerShell.\n"}},"type":"object","required":["startDateTime","timeZone"]},"azure:maintenance/getConfigurationInstallPatch:getConfigurationInstallPatch":{"properties":{"linuxes":{"type":"array","items":{"$ref":"#/types/azure:maintenance/getConfigurationInstallPatchLinux:getConfigurationInstallPatchLinux"},"description":"A \u003cspan pulumi-lang-nodejs=\"`linux`\" pulumi-lang-dotnet=\"`Linux`\" pulumi-lang-go=\"`linux`\" pulumi-lang-python=\"`linux`\" pulumi-lang-yaml=\"`linux`\" pulumi-lang-java=\"`linux`\"\u003e`linux`\u003c/span\u003e block as defined below.\n"},"reboot":{"type":"string","description":"Possible reboot preference as defined by the user based on which it would be decided to reboot the machine or not after the patch operation is completed.\n"},"windows":{"type":"array","items":{"$ref":"#/types/azure:maintenance/getConfigurationInstallPatchWindow:getConfigurationInstallPatchWindow"},"description":"A \u003cspan pulumi-lang-nodejs=\"`windows`\" pulumi-lang-dotnet=\"`Windows`\" pulumi-lang-go=\"`windows`\" pulumi-lang-python=\"`windows`\" pulumi-lang-yaml=\"`windows`\" pulumi-lang-java=\"`windows`\"\u003e`windows`\u003c/span\u003e block as defined below.\n"}},"type":"object","required":["linuxes","reboot","windows"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:maintenance/getConfigurationInstallPatchLinux:getConfigurationInstallPatchLinux":{"properties":{"classificationsToIncludes":{"type":"array","items":{"type":"string"},"description":"List of Classification category of patches to be patched.\n"},"packageNamesMaskToExcludes":{"type":"array","items":{"type":"string"},"description":"List of package names to be excluded from patching.\n"},"packageNamesMaskToIncludes":{"type":"array","items":{"type":"string"},"description":"List of package names to be included for patching.\n"}},"type":"object","required":["classificationsToIncludes","packageNamesMaskToExcludes","packageNamesMaskToIncludes"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:maintenance/getConfigurationInstallPatchWindow:getConfigurationInstallPatchWindow":{"properties":{"classificationsToIncludes":{"type":"array","items":{"type":"string"},"description":"List of Classification category of patches to be patched.\n"},"kbNumbersToExcludes":{"type":"array","items":{"type":"string"},"description":"List of KB numbers to be excluded from patching.\n"},"kbNumbersToIncludes":{"type":"array","items":{"type":"string"},"description":"List of KB numbers to be included for patching.\n"}},"type":"object","required":["classificationsToIncludes","kbNumbersToExcludes","kbNumbersToIncludes"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:maintenance/getConfigurationWindow:getConfigurationWindow":{"properties":{"duration":{"type":"string","description":"The duration of the maintenance window.\n"},"expirationDateTime":{"type":"string","description":"Effective expiration date of the maintenance window.\n"},"recurEvery":{"type":"string","description":"The rate at which a maintenance window is expected to recur.\n"},"startDateTime":{"type":"string","description":"Effective start date of the maintenance window.\n"},"timeZone":{"type":"string","description":"The time zone for the maintenance window.\n"}},"type":"object","required":["duration","expirationDateTime","recurEvery","startDateTime","timeZone"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:maintenance/getPublicConfigurationsConfig:getPublicConfigurationsConfig":{"properties":{"description":{"type":"string","description":"A description of the Public Maintenance Configuration.\n"},"duration":{"type":"string","description":"The duration of the Public Maintenance Configuration window.\n"},"id":{"type":"string","description":"The id of the Public Maintenance Configuration.\n"},"location":{"type":"string","description":"The Azure location to filter the list of Public Maintenance Configurations against.\n"},"maintenanceScope":{"type":"string","description":"The scope of the Public Maintenance Configuration.\n"},"name":{"type":"string","description":"The name of the Public Maintenance Configuration.\n"},"recurEvery":{"type":"string","description":"The recurring window to filter the list of Public Maintenance Configurations against. Possible values are `Monday-Thursday` and `Friday-Sunday`\n"},"timeZone":{"type":"string","description":"The time zone for the maintenance window.\n"}},"type":"object","required":["description","duration","id","location","maintenanceScope","name","recurEvery","timeZone"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:managedapplication/ApplicationPlan:ApplicationPlan":{"properties":{"name":{"type":"string","description":"Specifies the name of the plan from the marketplace. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"product":{"type":"string","description":"Specifies the product of the plan from the marketplace. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"promotionCode":{"type":"string","description":"Specifies the promotion code to use with the plan. Changing this forces a new resource to be created.\n\n\u003e **Note:** When \u003cspan pulumi-lang-nodejs=\"`plan`\" pulumi-lang-dotnet=\"`Plan`\" pulumi-lang-go=\"`plan`\" pulumi-lang-python=\"`plan`\" pulumi-lang-yaml=\"`plan`\" pulumi-lang-java=\"`plan`\"\u003e`plan`\u003c/span\u003e is specified, legal terms must be accepted for this item on this subscription before creating the Managed Application. The \u003cspan pulumi-lang-nodejs=\"`azure.marketplace.Agreement`\" pulumi-lang-dotnet=\"`azure.marketplace.Agreement`\" pulumi-lang-go=\"`marketplace.Agreement`\" pulumi-lang-python=\"`marketplace.Agreement`\" pulumi-lang-yaml=\"`azure.marketplace.Agreement`\" pulumi-lang-java=\"`azure.marketplace.Agreement`\"\u003e`azure.marketplace.Agreement`\u003c/span\u003e resource or AZ CLI tool can be used to do this.\n","willReplaceOnChanges":true},"publisher":{"type":"string","description":"Specifies the publisher of the plan. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"version":{"type":"string","description":"Specifies the version of the plan from the marketplace. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["name","product","publisher","version"]},"azure:managedapplication/DefinitionAuthorization:DefinitionAuthorization":{"properties":{"roleDefinitionId":{"type":"string","description":"Specifies a role definition identifier for the provider. This role will define all the permissions that the provider must have on the managed application's container resource group. This role definition cannot have permission to delete the resource group.\n"},"servicePrincipalId":{"type":"string","description":"Specifies a service principal identifier for the provider. This is the identity that the provider will use to call ARM to manage the managed application resources.\n"}},"type":"object","required":["roleDefinitionId","servicePrincipalId"]},"azure:managedlustre/FileSystemEncryptionKey:FileSystemEncryptionKey":{"properties":{"keyUrl":{"type":"string","description":"The URL to the Key Vault Key used as the Encryption Key. This can be found as \u003cspan pulumi-lang-nodejs=\"`id`\" pulumi-lang-dotnet=\"`Id`\" pulumi-lang-go=\"`id`\" pulumi-lang-python=\"`id`\" pulumi-lang-yaml=\"`id`\" pulumi-lang-java=\"`id`\"\u003e`id`\u003c/span\u003e on the \u003cspan pulumi-lang-nodejs=\"`azure.keyvault.Key`\" pulumi-lang-dotnet=\"`azure.keyvault.Key`\" pulumi-lang-go=\"`keyvault.Key`\" pulumi-lang-python=\"`keyvault.Key`\" pulumi-lang-yaml=\"`azure.keyvault.Key`\" pulumi-lang-java=\"`azure.keyvault.Key`\"\u003e`azure.keyvault.Key`\u003c/span\u003e resource.\n"},"sourceVaultId":{"type":"string","description":"The ID of the source Key Vault. This can be found as \u003cspan pulumi-lang-nodejs=\"`id`\" pulumi-lang-dotnet=\"`Id`\" pulumi-lang-go=\"`id`\" pulumi-lang-python=\"`id`\" pulumi-lang-yaml=\"`id`\" pulumi-lang-java=\"`id`\"\u003e`id`\u003c/span\u003e on the \u003cspan pulumi-lang-nodejs=\"`azure.keyvault.KeyVault`\" pulumi-lang-dotnet=\"`azure.keyvault.KeyVault`\" pulumi-lang-go=\"`keyvault.KeyVault`\" pulumi-lang-python=\"`keyvault.KeyVault`\" pulumi-lang-yaml=\"`azure.keyvault.KeyVault`\" pulumi-lang-java=\"`azure.keyvault.KeyVault`\"\u003e`azure.keyvault.KeyVault`\u003c/span\u003e resource.\n"}},"type":"object","required":["keyUrl","sourceVaultId"]},"azure:managedlustre/FileSystemHsmSetting:FileSystemHsmSetting":{"properties":{"containerId":{"type":"string","description":"The resource ID of the storage container that is used for hydrating the namespace and archiving from the namespace. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"importPrefix":{"type":"string","description":"The import prefix for the Azure Managed Lustre File System. Only blobs in the non-logging container that start with this path/prefix get hydrated into the cluster namespace. Changing this forces a new resource to be created.\n\n\u003e **Note:** The roles `Contributor` and `Storage Blob Data Contributor` must be added to the Service Principal `HPC Cache Resource Provider` for the Storage Account. See official docs for more information.\n","willReplaceOnChanges":true},"loggingContainerId":{"type":"string","description":"The resource ID of the storage container that is used for logging events and errors. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["containerId","loggingContainerId"]},"azure:managedlustre/FileSystemIdentity:FileSystemIdentity":{"properties":{"identityIds":{"type":"array","items":{"type":"string"},"description":"A list of User Assigned Managed Identity IDs to be assigned to this Azure Managed Lustre File System. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"type":{"type":"string","description":"The type of Managed Service Identity that should be configured on this Azure Managed Lustre File System. Only possible value is `UserAssigned`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["identityIds","type"]},"azure:managedlustre/FileSystemMaintenanceWindow:FileSystemMaintenanceWindow":{"properties":{"dayOfWeek":{"type":"string","description":"The day of the week on which the maintenance window will occur. Possible values are `Sunday`, `Monday`, `Tuesday`, `Wednesday`, `Thursday`, `Friday` and `Saturday`.\n"},"timeOfDayInUtc":{"type":"string","description":"The time of day (in UTC) to start the maintenance window.\n"}},"type":"object","required":["dayOfWeek","timeOfDayInUtc"]},"azure:managedlustre/FileSystemRootSquash:FileSystemRootSquash":{"properties":{"mode":{"type":"string","description":"Squash mode of the AML file system. Possible values are `RootOnly`, and `All`.\n"},"noSquashNids":{"type":"string","description":"NID IP Address list(s) to be added to the TrustedSystems, separated by semicolons.\n"},"squashGid":{"type":"integer","description":"The GID to be used for the root squash. Defaults to \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"squashUid":{"type":"integer","description":"The UID to be used for the root squash. Defaults to \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"}},"type":"object","required":["mode","noSquashNids"]},"azure:managedredis/ManagedRedisCustomerManagedKey:ManagedRedisCustomerManagedKey":{"properties":{"keyVaultKeyId":{"type":"string","description":"The ID of the key vault key used for encryption. For example: `https://example-vault-name.vault.azure.net/keys/example-key-name/a1b2c3d4`.\n"},"userAssignedIdentityId":{"type":"string","description":"The ID of the User Assigned Identity that has access to the Key Vault Key.\n"}},"type":"object","required":["keyVaultKeyId","userAssignedIdentityId"]},"azure:managedredis/ManagedRedisDefaultDatabase:ManagedRedisDefaultDatabase":{"properties":{"accessKeysAuthenticationEnabled":{"type":"boolean","description":"Whether access key authentication is enabled for the database. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"clientProtocol":{"type":"string","description":"Specifies whether redis clients can connect using TLS-encrypted or plaintext redis protocols. Possible values are `Encrypted` and `Plaintext`. Defaults to `Encrypted`.\n"},"clusteringPolicy":{"type":"string","description":"Clustering policy specified at create time. Possible values are `EnterpriseCluster`, `OSSCluster` and `NoCluster`. Defaults to `OSSCluster`.\n\n!\u003e **Note:** Changing \u003cspan pulumi-lang-nodejs=\"`clusteringPolicy`\" pulumi-lang-dotnet=\"`ClusteringPolicy`\" pulumi-lang-go=\"`clusteringPolicy`\" pulumi-lang-python=\"`clustering_policy`\" pulumi-lang-yaml=\"`clusteringPolicy`\" pulumi-lang-java=\"`clusteringPolicy`\"\u003e`clustering_policy`\u003c/span\u003e forces database recreation. Data will be lost and Managed Redis will be unavailable during the operation.\n"},"evictionPolicy":{"type":"string","description":"Specifies the Redis eviction policy. Possible values are `AllKeysLFU`, `AllKeysLRU`, `AllKeysRandom`, `VolatileLRU`, `VolatileLFU`, `VolatileTTL`, `VolatileRandom` and `NoEviction`. Defaults to `VolatileLRU`.\n"},"geoReplicationGroupName":{"type":"string","description":"The name of the geo-replication group. If provided, a geo-replication group will be created for this database with itself as the only member. Use \u003cspan pulumi-lang-nodejs=\"`azurermManagedRedisDatabaseGeoReplication`\" pulumi-lang-dotnet=\"`AzurermManagedRedisDatabaseGeoReplication`\" pulumi-lang-go=\"`azurermManagedRedisDatabaseGeoReplication`\" pulumi-lang-python=\"`azurerm_managed_redis_database_geo_replication`\" pulumi-lang-yaml=\"`azurermManagedRedisDatabaseGeoReplication`\" pulumi-lang-java=\"`azurermManagedRedisDatabaseGeoReplication`\"\u003e`azurerm_managed_redis_database_geo_replication`\u003c/span\u003e resource to manage group membership, linking and unlinking. All databases to be linked have to have the same group name. Refer to the [Managed Redis geo-replication documentation](https://learn.microsoft.com/azure/redis/how-to-active-geo-replication) for more information.\n\n!\u003e **Note:** Changing \u003cspan pulumi-lang-nodejs=\"`geoReplicationGroupName`\" pulumi-lang-dotnet=\"`GeoReplicationGroupName`\" pulumi-lang-go=\"`geoReplicationGroupName`\" pulumi-lang-python=\"`geo_replication_group_name`\" pulumi-lang-yaml=\"`geoReplicationGroupName`\" pulumi-lang-java=\"`geoReplicationGroupName`\"\u003e`geo_replication_group_name`\u003c/span\u003e forces database recreation. Data will be lost and Managed Redis will be unavailable during the operation.\n"},"id":{"type":"string","description":"The ID of the Managed Redis Database Instance.\n"},"modules":{"type":"array","items":{"$ref":"#/types/azure:managedredis/ManagedRedisDefaultDatabaseModule:ManagedRedisDefaultDatabaseModule"},"description":"A \u003cspan pulumi-lang-nodejs=\"`module`\" pulumi-lang-dotnet=\"`Module`\" pulumi-lang-go=\"`module`\" pulumi-lang-python=\"`module`\" pulumi-lang-yaml=\"`module`\" pulumi-lang-java=\"`module`\"\u003e`module`\u003c/span\u003e block as defined below. Refer to [the modules documentation](https://learn.microsoft.com/azure/redis/redis-modules) to learn more.\n"},"persistenceAppendOnlyFileBackupFrequency":{"type":"string","description":"The frequency of Append Only File (AOF) backups. The only possible value is \u003cspan pulumi-lang-nodejs=\"`1s`\" pulumi-lang-dotnet=\"`1s`\" pulumi-lang-go=\"`1s`\" pulumi-lang-python=\"`1s`\" pulumi-lang-yaml=\"`1s`\" pulumi-lang-java=\"`1s`\"\u003e`1s`\u003c/span\u003e. Providing this value implies AOF persistence method is enabled. Conflicts with \u003cspan pulumi-lang-nodejs=\"`persistenceRedisDatabaseBackupFrequency`\" pulumi-lang-dotnet=\"`PersistenceRedisDatabaseBackupFrequency`\" pulumi-lang-go=\"`persistenceRedisDatabaseBackupFrequency`\" pulumi-lang-python=\"`persistence_redis_database_backup_frequency`\" pulumi-lang-yaml=\"`persistenceRedisDatabaseBackupFrequency`\" pulumi-lang-java=\"`persistenceRedisDatabaseBackupFrequency`\"\u003e`persistence_redis_database_backup_frequency`\u003c/span\u003e, only one persistence method is allowed. Conflicts with \u003cspan pulumi-lang-nodejs=\"`geoReplicationGroupName`\" pulumi-lang-dotnet=\"`GeoReplicationGroupName`\" pulumi-lang-go=\"`geoReplicationGroupName`\" pulumi-lang-python=\"`geo_replication_group_name`\" pulumi-lang-yaml=\"`geoReplicationGroupName`\" pulumi-lang-java=\"`geoReplicationGroupName`\"\u003e`geo_replication_group_name`\u003c/span\u003e, persistence can only be enabled on non-geo-replicated databases. Refer to [the persistence documentation](https://learn.microsoft.com/azure/redis/how-to-persistence) to learn more.\n"},"persistenceRedisDatabaseBackupFrequency":{"type":"string","description":"The frequency of Redis Database (RDB) backups. Possible values are \u003cspan pulumi-lang-nodejs=\"`1h`\" pulumi-lang-dotnet=\"`1h`\" pulumi-lang-go=\"`1h`\" pulumi-lang-python=\"`1h`\" pulumi-lang-yaml=\"`1h`\" pulumi-lang-java=\"`1h`\"\u003e`1h`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`6h`\" pulumi-lang-dotnet=\"`6h`\" pulumi-lang-go=\"`6h`\" pulumi-lang-python=\"`6h`\" pulumi-lang-yaml=\"`6h`\" pulumi-lang-java=\"`6h`\"\u003e`6h`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`12h`\" pulumi-lang-dotnet=\"`12h`\" pulumi-lang-go=\"`12h`\" pulumi-lang-python=\"`12h`\" pulumi-lang-yaml=\"`12h`\" pulumi-lang-java=\"`12h`\"\u003e`12h`\u003c/span\u003e. Providing this value implies RDB persistence method is enabled. Conflicts with \u003cspan pulumi-lang-nodejs=\"`persistenceAppendOnlyFileBackupFrequency`\" pulumi-lang-dotnet=\"`PersistenceAppendOnlyFileBackupFrequency`\" pulumi-lang-go=\"`persistenceAppendOnlyFileBackupFrequency`\" pulumi-lang-python=\"`persistence_append_only_file_backup_frequency`\" pulumi-lang-yaml=\"`persistenceAppendOnlyFileBackupFrequency`\" pulumi-lang-java=\"`persistenceAppendOnlyFileBackupFrequency`\"\u003e`persistence_append_only_file_backup_frequency`\u003c/span\u003e, only one persistence method is allowed. Conflicts with \u003cspan pulumi-lang-nodejs=\"`geoReplicationGroupName`\" pulumi-lang-dotnet=\"`GeoReplicationGroupName`\" pulumi-lang-go=\"`geoReplicationGroupName`\" pulumi-lang-python=\"`geo_replication_group_name`\" pulumi-lang-yaml=\"`geoReplicationGroupName`\" pulumi-lang-java=\"`geoReplicationGroupName`\"\u003e`geo_replication_group_name`\u003c/span\u003e, persistence can only be enabled on non-geo-replicated databases. Refer to [the persistence documentation](https://learn.microsoft.com/azure/redis/how-to-persistence) to learn more.\n"},"port":{"type":"integer","description":"TCP port of the database endpoint.\n"},"primaryAccessKey":{"type":"string","description":"The Primary Access Key for the Managed Redis Database Instance. Only exported if \u003cspan pulumi-lang-nodejs=\"`accessKeysAuthenticationEnabled`\" pulumi-lang-dotnet=\"`AccessKeysAuthenticationEnabled`\" pulumi-lang-go=\"`accessKeysAuthenticationEnabled`\" pulumi-lang-python=\"`access_keys_authentication_enabled`\" pulumi-lang-yaml=\"`accessKeysAuthenticationEnabled`\" pulumi-lang-java=\"`accessKeysAuthenticationEnabled`\"\u003e`access_keys_authentication_enabled`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n","secret":true},"secondaryAccessKey":{"type":"string","description":"The Secondary Access Key for the Managed Redis Database Instance. Only exported if \u003cspan pulumi-lang-nodejs=\"`accessKeysAuthenticationEnabled`\" pulumi-lang-dotnet=\"`AccessKeysAuthenticationEnabled`\" pulumi-lang-go=\"`accessKeysAuthenticationEnabled`\" pulumi-lang-python=\"`access_keys_authentication_enabled`\" pulumi-lang-yaml=\"`accessKeysAuthenticationEnabled`\" pulumi-lang-java=\"`accessKeysAuthenticationEnabled`\"\u003e`access_keys_authentication_enabled`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n","secret":true}},"type":"object","language":{"nodejs":{"requiredOutputs":["id","port","primaryAccessKey","secondaryAccessKey"]}}},"azure:managedredis/ManagedRedisDefaultDatabaseModule:ManagedRedisDefaultDatabaseModule":{"properties":{"args":{"type":"string","description":"Configuration options for the module (e.g. `ERROR_RATE 0.00 INITIAL_SIZE 400`).\n\n!\u003e **Note:** Changing \u003cspan pulumi-lang-nodejs=\"`args`\" pulumi-lang-dotnet=\"`Args`\" pulumi-lang-go=\"`args`\" pulumi-lang-python=\"`args`\" pulumi-lang-yaml=\"`args`\" pulumi-lang-java=\"`args`\"\u003e`args`\u003c/span\u003e forces database recreation. Data will be lost and Managed Redis will be unavailable during the operation.\n\n\u003e **Note:** Only `RediSearch` and `RedisJSON` modules are allowed with geo-replication.\n"},"name":{"type":"string","description":"The name which should be used for this module. Possible values are `RedisBloom`, `RedisTimeSeries`, `RediSearch` and `RedisJSON`.\n\n!\u003e **Note:** Changing \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e forces database recreation. Data will be lost and Managed Redis will be unavailable during the operation.\n"},"version":{"type":"string","description":"Version of the module to be used.\n"}},"type":"object","required":["name"],"language":{"nodejs":{"requiredOutputs":["name","version"]}}},"azure:managedredis/ManagedRedisIdentity:ManagedRedisIdentity":{"properties":{"identityIds":{"type":"array","items":{"type":"string"},"description":"Specifies a list of User Assigned Managed Identity IDs to be assigned to this Managed Redis instance.\n\n\u003e **Note:** This is required when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to `UserAssigned` or `SystemAssigned, UserAssigned`.\n"},"principalId":{"type":"string"},"tenantId":{"type":"string"},"type":{"type":"string","description":"Specifies the type of Managed Service Identity that should be configured on this Managed Redis instance. Possible values are `SystemAssigned`, `UserAssigned`, `SystemAssigned, UserAssigned` (to enable both).\n"}},"type":"object","required":["type"],"language":{"nodejs":{"requiredOutputs":["principalId","tenantId","type"]}}},"azure:managedredis/getCustomerManagedKey:getCustomerManagedKey":{"properties":{"keyVaultKeyId":{"type":"string","description":"The ID of the key vault key used for encryption.\n"},"userAssignedIdentityId":{"type":"string","description":"The ID of the User Assigned Identity that has access to the Key Vault Key.\n"}},"type":"object","required":["keyVaultKeyId","userAssignedIdentityId"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:managedredis/getDefaultDatabase:getDefaultDatabase":{"properties":{"accessKeysAuthenticationEnabled":{"type":"boolean","description":"Whether access key authentication is enabled for the database.\n"},"clientProtocol":{"type":"string","description":"The client protocol used by the database (either `Encrypted` or `Plaintext`).\n"},"clusteringPolicy":{"type":"string","description":"The clustering policy used by the database.\n"},"evictionPolicy":{"type":"string","description":"The Redis eviction policy used by the database.\n"},"geoReplicationGroupName":{"type":"string","description":"The name of the geo-replication group.\n"},"geoReplicationLinkedDatabaseIds":{"type":"array","items":{"type":"string"},"description":"A list of linked database IDs for geo-replication.\n"},"id":{"type":"string","description":"The ID of the Managed Redis Database Instance.\n"},"modules":{"type":"array","items":{"$ref":"#/types/azure:managedredis/getDefaultDatabaseModule:getDefaultDatabaseModule"},"description":"A list of \u003cspan pulumi-lang-nodejs=\"`module`\" pulumi-lang-dotnet=\"`Module`\" pulumi-lang-go=\"`module`\" pulumi-lang-python=\"`module`\" pulumi-lang-yaml=\"`module`\" pulumi-lang-java=\"`module`\"\u003e`module`\u003c/span\u003e blocks as defined below.\n"},"persistenceAppendOnlyFileBackupFrequency":{"type":"string","description":"The frequency of Append Only File (AOF) backups.\n"},"persistenceRedisDatabaseBackupFrequency":{"type":"string","description":"The frequency of Redis Database (RDB) backups.\n"},"port":{"type":"integer","description":"The TCP port of the database endpoint.\n"},"primaryAccessKey":{"type":"string","description":"The Primary Access Key for the Managed Redis Database instance.\n","secret":true},"secondaryAccessKey":{"type":"string","description":"The Secondary Access Key for the Managed Redis Database instance.\n","secret":true}},"type":"object","required":["accessKeysAuthenticationEnabled","clientProtocol","clusteringPolicy","evictionPolicy","geoReplicationGroupName","geoReplicationLinkedDatabaseIds","id","modules","persistenceAppendOnlyFileBackupFrequency","persistenceRedisDatabaseBackupFrequency","port","primaryAccessKey","secondaryAccessKey"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:managedredis/getDefaultDatabaseModule:getDefaultDatabaseModule":{"properties":{"args":{"type":"string","description":"The configuration options for the module.\n"},"name":{"type":"string","description":"The name of the Managed Redis instance.\n"},"version":{"type":"string","description":"The version of the module.\n"}},"type":"object","required":["args","name","version"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:managedredis/getIdentity:getIdentity":{"properties":{"identityIds":{"type":"array","items":{"type":"string"},"description":"A list of User Assigned Managed Identity IDs assigned to the Managed Redis instance.\n"},"principalId":{"type":"string","description":"The Principal ID of the System Assigned Managed Service Identity that is configured on the Managed Redis instance.\n"},"tenantId":{"type":"string","description":"The Tenant ID of the System Assigned Managed Service Identity that is configured on the Managed Redis instance.\n"},"type":{"type":"string","description":"The type of Managed Service Identity configured on the Managed Redis instance.\n"}},"type":"object","required":["identityIds","principalId","tenantId","type"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:management/GroupPolicyAssignmentIdentity:GroupPolicyAssignmentIdentity":{"properties":{"identityIds":{"type":"array","items":{"type":"string"},"description":"A list of User Managed Identity IDs which should be assigned to the Policy Definition.\n\n\u003e **Note:** This is required when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to `UserAssigned`.\n"},"principalId":{"type":"string","description":"The Principal ID of the Policy Assignment for this Management Group.\n"},"tenantId":{"type":"string","description":"The Tenant ID of the Policy Assignment for this Management Group.\n"},"type":{"type":"string","description":"The Type of Managed Identity which should be added to this Policy Definition. Possible values are `SystemAssigned` and `UserAssigned`.\n"}},"type":"object","required":["type"],"language":{"nodejs":{"requiredOutputs":["principalId","tenantId","type"]}}},"azure:management/GroupPolicyAssignmentNonComplianceMessage:GroupPolicyAssignmentNonComplianceMessage":{"properties":{"content":{"type":"string","description":"The non-compliance message text. When assigning policy sets (initiatives), unless \u003cspan pulumi-lang-nodejs=\"`policyDefinitionReferenceId`\" pulumi-lang-dotnet=\"`PolicyDefinitionReferenceId`\" pulumi-lang-go=\"`policyDefinitionReferenceId`\" pulumi-lang-python=\"`policy_definition_reference_id`\" pulumi-lang-yaml=\"`policyDefinitionReferenceId`\" pulumi-lang-java=\"`policyDefinitionReferenceId`\"\u003e`policy_definition_reference_id`\u003c/span\u003e is specified then this message will be the default for all policies.\n"},"policyDefinitionReferenceId":{"type":"string","description":"When assigning policy sets (initiatives), this is the ID of the policy definition that the non-compliance message applies to.\n"}},"type":"object","required":["content"]},"azure:management/GroupPolicyAssignmentOverride:GroupPolicyAssignmentOverride":{"properties":{"selectors":{"type":"array","items":{"$ref":"#/types/azure:management/GroupPolicyAssignmentOverrideSelector:GroupPolicyAssignmentOverrideSelector"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`overrideSelector`\" pulumi-lang-dotnet=\"`OverrideSelector`\" pulumi-lang-go=\"`overrideSelector`\" pulumi-lang-python=\"`override_selector`\" pulumi-lang-yaml=\"`overrideSelector`\" pulumi-lang-java=\"`overrideSelector`\"\u003e`override_selector`\u003c/span\u003e block as defined below.\n"},"value":{"type":"string","description":"Specifies the value to override the policy property. Possible values for `policyEffect` override listed [policy effects](https://learn.microsoft.com/en-us/azure/governance/policy/concepts/effects).\n"}},"type":"object","required":["value"]},"azure:management/GroupPolicyAssignmentOverrideSelector:GroupPolicyAssignmentOverrideSelector":{"properties":{"ins":{"type":"array","items":{"type":"string"}},"kind":{"type":"string"},"notIns":{"type":"array","items":{"type":"string"}}},"type":"object"},"azure:management/GroupPolicyAssignmentResourceSelector:GroupPolicyAssignmentResourceSelector":{"properties":{"name":{"type":"string","description":"Specifies a name for the resource selector.\n"},"selectors":{"type":"array","items":{"$ref":"#/types/azure:management/GroupPolicyAssignmentResourceSelectorSelector:GroupPolicyAssignmentResourceSelectorSelector"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`resourceSelector`\" pulumi-lang-dotnet=\"`ResourceSelector`\" pulumi-lang-go=\"`resourceSelector`\" pulumi-lang-python=\"`resource_selector`\" pulumi-lang-yaml=\"`resourceSelector`\" pulumi-lang-java=\"`resourceSelector`\"\u003e`resource_selector`\u003c/span\u003e block as defined below.\n"}},"type":"object","required":["selectors"]},"azure:management/GroupPolicyAssignmentResourceSelectorSelector:GroupPolicyAssignmentResourceSelectorSelector":{"properties":{"ins":{"type":"array","items":{"type":"string"}},"kind":{"type":"string"},"notIns":{"type":"array","items":{"type":"string"}}},"type":"object","required":["kind"]},"azure:management/GroupPolicySetDefinitionPolicyDefinitionGroup:GroupPolicySetDefinitionPolicyDefinitionGroup":{"properties":{"additionalMetadataResourceId":{"type":"string","description":"The ID of a resource that contains additional metadata for this Policy Definition Group.\n"},"category":{"type":"string","description":"The category of this Policy Definition Group.\n"},"description":{"type":"string","description":"The description of this Policy Definition Group.\n"},"displayName":{"type":"string","description":"The display name of this Policy Definition Group.\n"},"name":{"type":"string","description":"The name which should be used for this Policy Definition Group.\n"}},"type":"object","required":["name"]},"azure:management/GroupPolicySetDefinitionPolicyDefinitionReference:GroupPolicySetDefinitionPolicyDefinitionReference":{"properties":{"parameterValues":{"type":"string","description":"Parameter values for the references Policy Definition in JSON format.\n"},"policyDefinitionId":{"type":"string","description":"The ID of the Policy Definition to include in this Policy Set Definition.\n"},"policyGroupNames":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Policy Definition Groups names that this Policy Definition Reference belongs to.\n"},"referenceId":{"type":"string","description":"A unique ID within this Policy Set Definition for this Policy Definition Reference.\n"},"version":{"type":"string","description":"The version of the Policy Definition to use.\n"}},"type":"object","required":["policyDefinitionId"],"language":{"nodejs":{"requiredOutputs":["policyDefinitionId","referenceId","version"]}}},"azure:maps/AccountCors:AccountCors":{"properties":{"allowedOrigins":{"type":"array","items":{"type":"string"},"description":"A list of origins that should be allowed to make cross-origin calls.\n"}},"type":"object","required":["allowedOrigins"]},"azure:maps/AccountDataStore:AccountDataStore":{"properties":{"storageAccountId":{"type":"string","description":"The ID of the Storage Account that should be linked to this Azure Maps Account.\n"},"uniqueName":{"type":"string","description":"The name given to the linked Storage Account.\n"}},"type":"object","required":["uniqueName"]},"azure:maps/AccountIdentity:AccountIdentity":{"properties":{"identityIds":{"type":"array","items":{"type":"string"},"description":"A list of User Assigned Managed Identity IDs to be assigned to this Azure Maps Account.\n\n\u003e **Note:** This is required when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to `UserAssigned` or `SystemAssigned, UserAssigned`.\n"},"principalId":{"type":"string","description":"The Principal ID associated with this Managed Service Identity.\n"},"tenantId":{"type":"string","description":"The Tenant ID associated with this Managed Service Identity.\n"},"type":{"type":"string","description":"Specifies the type of Managed Service Identity that should be configured on this Azure Maps Account. Possible values are `SystemAssigned`, `UserAssigned`, `SystemAssigned, UserAssigned` (to enable both).\n"}},"type":"object","required":["type"],"language":{"nodejs":{"requiredOutputs":["principalId","tenantId","type"]}}},"azure:mongocluster/MongoClusterConnectionString:MongoClusterConnectionString":{"properties":{"description":{"type":"string","description":"The description of the connection string.\n"},"name":{"type":"string","description":"The name which should be used for the MongoDB Cluster. Changing this forces a new resource to be created.\n"},"value":{"type":"string","description":"The value of the Mongo Cluster connection string. The `\u003cuser\u003e:\u003cpassword\u003e` placeholder returned from API will be replaced by the real \u003cspan pulumi-lang-nodejs=\"`administratorUsername`\" pulumi-lang-dotnet=\"`AdministratorUsername`\" pulumi-lang-go=\"`administratorUsername`\" pulumi-lang-python=\"`administrator_username`\" pulumi-lang-yaml=\"`administratorUsername`\" pulumi-lang-java=\"`administratorUsername`\"\u003e`administrator_username`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`administratorPassword`\" pulumi-lang-dotnet=\"`AdministratorPassword`\" pulumi-lang-go=\"`administratorPassword`\" pulumi-lang-python=\"`administrator_password`\" pulumi-lang-yaml=\"`administratorPassword`\" pulumi-lang-java=\"`administratorPassword`\"\u003e`administrator_password`\u003c/span\u003e if available in the state.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["description","name","value"]}}},"azure:mongocluster/MongoClusterCustomerManagedKey:MongoClusterCustomerManagedKey":{"properties":{"keyVaultKeyId":{"type":"string","description":"The ID of the key vault key used for encryption. For example: `https://example-vault-name.vault.azure.net/keys/example-key-name`.\n"},"userAssignedIdentityId":{"type":"string","description":"The ID of the User Assigned Identity that has access to the Key Vault Key.\n"}},"type":"object","required":["keyVaultKeyId","userAssignedIdentityId"]},"azure:mongocluster/MongoClusterIdentity:MongoClusterIdentity":{"properties":{"identityIds":{"type":"array","items":{"type":"string"},"description":"A list of one or more Resource IDs for User Assigned Managed identities to assign.\n\n\u003e **Note:** Required when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to `UserAssigned`.\n"},"type":{"type":"string","description":"The type of managed identity to assign. Possible value is `UserAssigned`.\n"}},"type":"object","required":["identityIds","type"]},"azure:mongocluster/MongoClusterRestore:MongoClusterRestore":{"properties":{"pointInTimeUtc":{"type":"string","description":"The point in time (in UTC) to restore from, in ISO 8601 format (e.g., `2024-01-01T00:00:00Z`). Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sourceId":{"type":"string","description":"The ID of the source MongoDB Cluster to restore from. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["pointInTimeUtc","sourceId"]},"azure:mongocluster/UserRole:UserRole":{"properties":{"database":{"type":"string","description":"The name of the database to which the role will be applied. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The role name. The only possible value is \u003cspan pulumi-lang-nodejs=\"`root`\" pulumi-lang-dotnet=\"`Root`\" pulumi-lang-go=\"`root`\" pulumi-lang-python=\"`root`\" pulumi-lang-yaml=\"`root`\" pulumi-lang-java=\"`root`\"\u003e`root`\u003c/span\u003e. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["database","name"]},"azure:monitoring/AadDiagnosticSettingEnabledLog:AadDiagnosticSettingEnabledLog":{"properties":{"category":{"type":"string","description":"The log category for the Azure Active Directory Diagnostic.\n"},"retentionPolicy":{"$ref":"#/types/azure:monitoring/AadDiagnosticSettingEnabledLogRetentionPolicy:AadDiagnosticSettingEnabledLogRetentionPolicy","deprecationMessage":"Azure does not support retention for new Azure Active Directory Diagnostic Settings"}},"type":"object","required":["category"]},"azure:monitoring/AadDiagnosticSettingEnabledLogRetentionPolicy:AadDiagnosticSettingEnabledLogRetentionPolicy":{"properties":{"days":{"type":"integer"},"enabled":{"type":"boolean"}},"type":"object"},"azure:monitoring/ActionGroupArmRoleReceiver:ActionGroupArmRoleReceiver":{"properties":{"name":{"type":"string","description":"The name of the ARM role receiver.\n"},"roleId":{"type":"string","description":"The arm role id.\n"},"useCommonAlertSchema":{"type":"boolean","description":"Enables or disables the common alert schema.\n"}},"type":"object","required":["name","roleId"]},"azure:monitoring/ActionGroupAutomationRunbookReceiver:ActionGroupAutomationRunbookReceiver":{"properties":{"automationAccountId":{"type":"string","description":"The automation account ID which holds this runbook and authenticates to Azure resources.\n"},"isGlobalRunbook":{"type":"boolean","description":"Indicates whether this instance is global runbook.\n"},"name":{"type":"string","description":"The name of the automation runbook receiver.\n"},"runbookName":{"type":"string","description":"The name for this runbook.\n"},"serviceUri":{"type":"string","description":"The URI where webhooks should be sent.\n"},"useCommonAlertSchema":{"type":"boolean","description":"Enables or disables the common alert schema.\n"},"webhookResourceId":{"type":"string","description":"The resource id for webhook linked to this runbook.\n"}},"type":"object","required":["automationAccountId","isGlobalRunbook","name","runbookName","serviceUri","webhookResourceId"]},"azure:monitoring/ActionGroupAzureAppPushReceiver:ActionGroupAzureAppPushReceiver":{"properties":{"emailAddress":{"type":"string","description":"The email address of the user signed into the mobile app who will receive push notifications from this receiver.\n"},"name":{"type":"string","description":"The name of the Azure app push receiver.\n"}},"type":"object","required":["emailAddress","name"]},"azure:monitoring/ActionGroupAzureFunctionReceiver:ActionGroupAzureFunctionReceiver":{"properties":{"functionAppResourceId":{"type":"string","description":"The Azure resource ID of the function app.\n"},"functionName":{"type":"string","description":"The function name in the function app.\n"},"httpTriggerUrl":{"type":"string","description":"The HTTP trigger url where HTTP request sent to.\n"},"name":{"type":"string","description":"The name of the Azure Function receiver.\n"},"useCommonAlertSchema":{"type":"boolean","description":"Enables or disables the common alert schema.\n"}},"type":"object","required":["functionAppResourceId","functionName","httpTriggerUrl","name"]},"azure:monitoring/ActionGroupEmailReceiver:ActionGroupEmailReceiver":{"properties":{"emailAddress":{"type":"string","description":"The email address of this receiver.\n"},"name":{"type":"string","description":"The name of the email receiver. Names must be unique (case-insensitive) across all receivers within an action group.\n"},"useCommonAlertSchema":{"type":"boolean","description":"Enables or disables the common alert schema.\n"}},"type":"object","required":["emailAddress","name"]},"azure:monitoring/ActionGroupEventHubReceiver:ActionGroupEventHubReceiver":{"properties":{"eventHubName":{"type":"string","description":"The name of the specific Event Hub queue.\n"},"eventHubNamespace":{"type":"string","description":"The namespace name of the Event Hub.\n"},"name":{"type":"string","description":"The name of the EventHub Receiver, must be unique within action group.\n"},"subscriptionId":{"type":"string","description":"The ID for the subscription containing this Event Hub. Default to the subscription ID of the Action Group.\n"},"tenantId":{"type":"string","description":"The Tenant ID for the subscription containing this Event Hub.\n"},"useCommonAlertSchema":{"type":"boolean","description":"Indicates whether to use common alert schema.\n"}},"type":"object","required":["eventHubName","eventHubNamespace","name"],"language":{"nodejs":{"requiredOutputs":["eventHubName","eventHubNamespace","name","subscriptionId","tenantId"]}}},"azure:monitoring/ActionGroupItsmReceiver:ActionGroupItsmReceiver":{"properties":{"connectionId":{"type":"string","description":"The unique connection identifier of the ITSM connection.\n"},"name":{"type":"string","description":"The name of the ITSM receiver.\n"},"region":{"type":"string","description":"The region of the workspace.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`ticketConfiguration`\" pulumi-lang-dotnet=\"`TicketConfiguration`\" pulumi-lang-go=\"`ticketConfiguration`\" pulumi-lang-python=\"`ticket_configuration`\" pulumi-lang-yaml=\"`ticketConfiguration`\" pulumi-lang-java=\"`ticketConfiguration`\"\u003e`ticket_configuration`\u003c/span\u003e should be JSON blob with `PayloadRevision` and `WorkItemType` keys (e.g., `ticket_configuration=\"{\\\"PayloadRevision\\\":0,\\\"WorkItemType\\\":\\\"Incident\\\"}\"`), and `ticket_configuration=\"{}\"` will return an error, see more at this [REST API issue](https://github.com/Azure/azure-rest-api-specs/issues/20488)\n"},"ticketConfiguration":{"type":"string","description":"A JSON blob for the configurations of the ITSM action. CreateMultipleWorkItems option will be part of this blob as well.\n"},"workspaceId":{"type":"string","description":"The Azure Log Analytics workspace ID where this connection is defined. Format is `\u003csubscription id\u003e|\u003cworkspace id\u003e`, for example `00000000-0000-0000-0000-000000000000|00000000-0000-0000-0000-000000000000`.\n"}},"type":"object","required":["connectionId","name","region","ticketConfiguration","workspaceId"]},"azure:monitoring/ActionGroupLogicAppReceiver:ActionGroupLogicAppReceiver":{"properties":{"callbackUrl":{"type":"string","description":"The callback url where HTTP request sent to.\n"},"name":{"type":"string","description":"The name of the logic app receiver.\n"},"resourceId":{"type":"string","description":"The Azure resource ID of the logic app.\n"},"useCommonAlertSchema":{"type":"boolean","description":"Enables or disables the common alert schema.\n"}},"type":"object","required":["callbackUrl","name","resourceId"]},"azure:monitoring/ActionGroupSmsReceiver:ActionGroupSmsReceiver":{"properties":{"countryCode":{"type":"string","description":"The country code of the SMS receiver.\n"},"name":{"type":"string","description":"The name of the SMS receiver. Names must be unique (case-insensitive) across all receivers within an action group.\n"},"phoneNumber":{"type":"string","description":"The phone number of the SMS receiver.\n"}},"type":"object","required":["countryCode","name","phoneNumber"]},"azure:monitoring/ActionGroupVoiceReceiver:ActionGroupVoiceReceiver":{"properties":{"countryCode":{"type":"string","description":"The country code of the voice receiver.\n"},"name":{"type":"string","description":"The name of the voice receiver.\n"},"phoneNumber":{"type":"string","description":"The phone number of the voice receiver.\n"}},"type":"object","required":["countryCode","name","phoneNumber"]},"azure:monitoring/ActionGroupWebhookReceiver:ActionGroupWebhookReceiver":{"properties":{"aadAuth":{"$ref":"#/types/azure:monitoring/ActionGroupWebhookReceiverAadAuth:ActionGroupWebhookReceiverAadAuth","description":"The \u003cspan pulumi-lang-nodejs=\"`aadAuth`\" pulumi-lang-dotnet=\"`AadAuth`\" pulumi-lang-go=\"`aadAuth`\" pulumi-lang-python=\"`aad_auth`\" pulumi-lang-yaml=\"`aadAuth`\" pulumi-lang-java=\"`aadAuth`\"\u003e`aad_auth`\u003c/span\u003e block as defined below.\n\n\u003e **Note:** Before adding a secure webhook receiver by setting \u003cspan pulumi-lang-nodejs=\"`aadAuth`\" pulumi-lang-dotnet=\"`AadAuth`\" pulumi-lang-go=\"`aadAuth`\" pulumi-lang-python=\"`aad_auth`\" pulumi-lang-yaml=\"`aadAuth`\" pulumi-lang-java=\"`aadAuth`\"\u003e`aad_auth`\u003c/span\u003e, please read [the configuration instruction of the AAD application](https://docs.microsoft.com/azure/azure-monitor/platform/action-groups#secure-webhook).\n"},"name":{"type":"string","description":"The name of the webhook receiver. Names must be unique (case-insensitive) across all receivers within an action group.\n"},"serviceUri":{"type":"string","description":"The URI where webhooks should be sent.\n"},"useCommonAlertSchema":{"type":"boolean","description":"Enables or disables the common alert schema.\n"}},"type":"object","required":["name","serviceUri"]},"azure:monitoring/ActionGroupWebhookReceiverAadAuth:ActionGroupWebhookReceiverAadAuth":{"properties":{"identifierUri":{"type":"string","description":"The identifier URI for AAD auth.\n"},"objectId":{"type":"string","description":"The webhook application object Id for AAD auth.\n"},"tenantId":{"type":"string","description":"The tenant id for AAD auth.\n"}},"type":"object","required":["objectId"],"language":{"nodejs":{"requiredOutputs":["identifierUri","objectId","tenantId"]}}},"azure:monitoring/ActivityLogAlertAction:ActivityLogAlertAction":{"properties":{"actionGroupId":{"type":"string","description":"The ID of the Action Group can be sourced from the \u003cspan pulumi-lang-nodejs=\"`azure.monitoring.ActionGroup`\" pulumi-lang-dotnet=\"`azure.monitoring.ActionGroup`\" pulumi-lang-go=\"`monitoring.ActionGroup`\" pulumi-lang-python=\"`monitoring.ActionGroup`\" pulumi-lang-yaml=\"`azure.monitoring.ActionGroup`\" pulumi-lang-java=\"`azure.monitoring.ActionGroup`\"\u003e`azure.monitoring.ActionGroup`\u003c/span\u003e resource.\n"},"webhookProperties":{"type":"object","additionalProperties":{"type":"string"},"description":"The map of custom string properties to include with the post operation. These data are appended to the webhook payload.\n"}},"type":"object","required":["actionGroupId"]},"azure:monitoring/ActivityLogAlertCriteria:ActivityLogAlertCriteria":{"properties":{"caller":{"type":"string","description":"The email address or Azure Active Directory identifier of the user who performed the operation.\n"},"category":{"type":"string","description":"The category of the operation. Possible values are `Administrative`, `Autoscale`, `Policy`, `Recommendation`, `ResourceHealth`, `Security` and `ServiceHealth`.\n"},"level":{"type":"string","description":"The severity level of the event. Possible values are `Verbose`, `Informational`, `Warning`, `Error`, and `Critical`.\n"},"levels":{"type":"array","items":{"type":"string"},"description":"A list of severity level of the event. Possible values are `Verbose`, `Informational`, `Warning`, `Error`, and `Critical`.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`level`\" pulumi-lang-dotnet=\"`Level`\" pulumi-lang-go=\"`level`\" pulumi-lang-python=\"`level`\" pulumi-lang-yaml=\"`level`\" pulumi-lang-java=\"`level`\"\u003e`level`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`levels`\" pulumi-lang-dotnet=\"`Levels`\" pulumi-lang-go=\"`levels`\" pulumi-lang-python=\"`levels`\" pulumi-lang-yaml=\"`levels`\" pulumi-lang-java=\"`levels`\"\u003e`levels`\u003c/span\u003e are mutually exclusive.\n"},"operationName":{"type":"string","description":"The Resource Manager Role-Based Access Control operation name. Supported operation should be of the form: `\u003cresourceProvider\u003e/\u003cresourceType\u003e/\u003coperation\u003e`.\n"},"recommendationCategory":{"type":"string","description":"The recommendation category of the event. Possible values are `Cost`, `Reliability`, `OperationalExcellence`, `HighAvailability`, `Performance` and `Security`.\n"},"recommendationImpact":{"type":"string","description":"The recommendation impact of the event. Possible values are `High`, `Medium` and `Low`.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`recommendationType`\" pulumi-lang-dotnet=\"`RecommendationType`\" pulumi-lang-go=\"`recommendationType`\" pulumi-lang-python=\"`recommendation_type`\" pulumi-lang-yaml=\"`recommendationType`\" pulumi-lang-java=\"`recommendationType`\"\u003e`recommendation_type`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`recommendationCategory`\" pulumi-lang-dotnet=\"`RecommendationCategory`\" pulumi-lang-go=\"`recommendationCategory`\" pulumi-lang-python=\"`recommendation_category`\" pulumi-lang-yaml=\"`recommendationCategory`\" pulumi-lang-java=\"`recommendationCategory`\"\u003e`recommendation_category`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`recommendationImpact`\" pulumi-lang-dotnet=\"`RecommendationImpact`\" pulumi-lang-go=\"`recommendationImpact`\" pulumi-lang-python=\"`recommendation_impact`\" pulumi-lang-yaml=\"`recommendationImpact`\" pulumi-lang-java=\"`recommendationImpact`\"\u003e`recommendation_impact`\u003c/span\u003e fields can only be defined if the \u003cspan pulumi-lang-nodejs=\"`category`\" pulumi-lang-dotnet=\"`Category`\" pulumi-lang-go=\"`category`\" pulumi-lang-python=\"`category`\" pulumi-lang-yaml=\"`category`\" pulumi-lang-java=\"`category`\"\u003e`category`\u003c/span\u003e field has been set to `Recommendation`.\n"},"recommendationType":{"type":"string","description":"The recommendation type of the event.\n"},"resourceGroup":{"type":"string","description":"The name of resource group monitored by the activity log alert.\n"},"resourceGroups":{"type":"array","items":{"type":"string"},"description":"A list of names of resource groups monitored by the activity log alert.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`resourceGroup`\" pulumi-lang-dotnet=\"`ResourceGroup`\" pulumi-lang-go=\"`resourceGroup`\" pulumi-lang-python=\"`resource_group`\" pulumi-lang-yaml=\"`resourceGroup`\" pulumi-lang-java=\"`resourceGroup`\"\u003e`resource_group`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`resourceGroups`\" pulumi-lang-dotnet=\"`ResourceGroups`\" pulumi-lang-go=\"`resourceGroups`\" pulumi-lang-python=\"`resource_groups`\" pulumi-lang-yaml=\"`resourceGroups`\" pulumi-lang-java=\"`resourceGroups`\"\u003e`resource_groups`\u003c/span\u003e are mutually exclusive.\n"},"resourceHealth":{"$ref":"#/types/azure:monitoring/ActivityLogAlertCriteriaResourceHealth:ActivityLogAlertCriteriaResourceHealth","description":"A block to define fine grain resource health settings.\n"},"resourceId":{"type":"string","description":"The specific resource monitored by the activity log alert. It should be within one of the \u003cspan pulumi-lang-nodejs=\"`scopes`\" pulumi-lang-dotnet=\"`Scopes`\" pulumi-lang-go=\"`scopes`\" pulumi-lang-python=\"`scopes`\" pulumi-lang-yaml=\"`scopes`\" pulumi-lang-java=\"`scopes`\"\u003e`scopes`\u003c/span\u003e.\n"},"resourceIds":{"type":"array","items":{"type":"string"},"description":"A list of specific resources monitored by the activity log alert. It should be within one of the \u003cspan pulumi-lang-nodejs=\"`scopes`\" pulumi-lang-dotnet=\"`Scopes`\" pulumi-lang-go=\"`scopes`\" pulumi-lang-python=\"`scopes`\" pulumi-lang-yaml=\"`scopes`\" pulumi-lang-java=\"`scopes`\"\u003e`scopes`\u003c/span\u003e.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`resourceId`\" pulumi-lang-dotnet=\"`ResourceId`\" pulumi-lang-go=\"`resourceId`\" pulumi-lang-python=\"`resource_id`\" pulumi-lang-yaml=\"`resourceId`\" pulumi-lang-java=\"`resourceId`\"\u003e`resource_id`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`resourceIds`\" pulumi-lang-dotnet=\"`ResourceIds`\" pulumi-lang-go=\"`resourceIds`\" pulumi-lang-python=\"`resource_ids`\" pulumi-lang-yaml=\"`resourceIds`\" pulumi-lang-java=\"`resourceIds`\"\u003e`resource_ids`\u003c/span\u003e are mutually exclusive.\n"},"resourceProvider":{"type":"string","description":"The name of the resource provider monitored by the activity log alert.\n"},"resourceProviders":{"type":"array","items":{"type":"string"},"description":"A list of names of resource providers monitored by the activity log alert.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`resourceProvider`\" pulumi-lang-dotnet=\"`ResourceProvider`\" pulumi-lang-go=\"`resourceProvider`\" pulumi-lang-python=\"`resource_provider`\" pulumi-lang-yaml=\"`resourceProvider`\" pulumi-lang-java=\"`resourceProvider`\"\u003e`resource_provider`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`resourceProviders`\" pulumi-lang-dotnet=\"`ResourceProviders`\" pulumi-lang-go=\"`resourceProviders`\" pulumi-lang-python=\"`resource_providers`\" pulumi-lang-yaml=\"`resourceProviders`\" pulumi-lang-java=\"`resourceProviders`\"\u003e`resource_providers`\u003c/span\u003e are mutually exclusive.\n"},"resourceType":{"type":"string","description":"The resource type monitored by the activity log alert.\n"},"resourceTypes":{"type":"array","items":{"type":"string"},"description":"A list of resource types monitored by the activity log alert.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`resourceType`\" pulumi-lang-dotnet=\"`ResourceType`\" pulumi-lang-go=\"`resourceType`\" pulumi-lang-python=\"`resource_type`\" pulumi-lang-yaml=\"`resourceType`\" pulumi-lang-java=\"`resourceType`\"\u003e`resource_type`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`resourceTypes`\" pulumi-lang-dotnet=\"`ResourceTypes`\" pulumi-lang-go=\"`resourceTypes`\" pulumi-lang-python=\"`resource_types`\" pulumi-lang-yaml=\"`resourceTypes`\" pulumi-lang-java=\"`resourceTypes`\"\u003e`resource_types`\u003c/span\u003e are mutually exclusive.\n"},"serviceHealth":{"$ref":"#/types/azure:monitoring/ActivityLogAlertCriteriaServiceHealth:ActivityLogAlertCriteriaServiceHealth","description":"A block to define fine grain service health settings.\n"},"status":{"type":"string","description":"The status of the event. For example, `Started`, `Failed`, or `Succeeded`.\n"},"statuses":{"type":"array","items":{"type":"string"},"description":"A list of status of the event. For example, `Started`, `Failed`, or `Succeeded`.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`status`\" pulumi-lang-dotnet=\"`Status`\" pulumi-lang-go=\"`status`\" pulumi-lang-python=\"`status`\" pulumi-lang-yaml=\"`status`\" pulumi-lang-java=\"`status`\"\u003e`status`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`statuses`\" pulumi-lang-dotnet=\"`Statuses`\" pulumi-lang-go=\"`statuses`\" pulumi-lang-python=\"`statuses`\" pulumi-lang-yaml=\"`statuses`\" pulumi-lang-java=\"`statuses`\"\u003e`statuses`\u003c/span\u003e are mutually exclusive.\n"},"subStatus":{"type":"string","description":"The sub status of the event.\n"},"subStatuses":{"type":"array","items":{"type":"string"},"description":"A list of sub status of the event.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`subStatus`\" pulumi-lang-dotnet=\"`SubStatus`\" pulumi-lang-go=\"`subStatus`\" pulumi-lang-python=\"`sub_status`\" pulumi-lang-yaml=\"`subStatus`\" pulumi-lang-java=\"`subStatus`\"\u003e`sub_status`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`subStatuses`\" pulumi-lang-dotnet=\"`SubStatuses`\" pulumi-lang-go=\"`subStatuses`\" pulumi-lang-python=\"`sub_statuses`\" pulumi-lang-yaml=\"`subStatuses`\" pulumi-lang-java=\"`subStatuses`\"\u003e`sub_statuses`\u003c/span\u003e are mutually exclusive.\n"}},"type":"object","required":["category"],"language":{"nodejs":{"requiredOutputs":["category","resourceHealth","serviceHealth"]}}},"azure:monitoring/ActivityLogAlertCriteriaResourceHealth:ActivityLogAlertCriteriaResourceHealth":{"properties":{"currents":{"type":"array","items":{"type":"string"},"description":"The current resource health statuses that will log an alert. Possible values are `Available`, `Degraded`, `Unavailable` and `Unknown`.\n"},"previouses":{"type":"array","items":{"type":"string"},"description":"The previous resource health statuses that will log an alert. Possible values are `Available`, `Degraded`, `Unavailable` and `Unknown`.\n"},"reasons":{"type":"array","items":{"type":"string"},"description":"The reason that will log an alert. Possible values are `PlatformInitiated` (such as a problem with the resource in an affected region of an Azure incident), `UserInitiated` (such as a shutdown request of a VM) and `Unknown`.\n"}},"type":"object"},"azure:monitoring/ActivityLogAlertCriteriaServiceHealth:ActivityLogAlertCriteriaServiceHealth":{"properties":{"events":{"type":"array","items":{"type":"string"},"description":"Events this alert will monitor Possible values are `Incident`, `Maintenance`, `Informational`, `ActionRequired` and `Security`.\n"},"locations":{"type":"array","items":{"type":"string"},"description":"Locations this alert will monitor. For example, `West Europe`.\n"},"services":{"type":"array","items":{"type":"string"},"description":"Services this alert will monitor. For example, `Activity Logs \u0026 Alerts`, `Action Groups`. Defaults to all Services.\n"}},"type":"object"},"azure:monitoring/AlertProcessingRuleActionGroupCondition:AlertProcessingRuleActionGroupCondition":{"properties":{"alertContext":{"$ref":"#/types/azure:monitoring/AlertProcessingRuleActionGroupConditionAlertContext:AlertProcessingRuleActionGroupConditionAlertContext","description":"A \u003cspan pulumi-lang-nodejs=\"`alertContext`\" pulumi-lang-dotnet=\"`AlertContext`\" pulumi-lang-go=\"`alertContext`\" pulumi-lang-python=\"`alert_context`\" pulumi-lang-yaml=\"`alertContext`\" pulumi-lang-java=\"`alertContext`\"\u003e`alert_context`\u003c/span\u003e block as defined above.\n"},"alertRuleId":{"$ref":"#/types/azure:monitoring/AlertProcessingRuleActionGroupConditionAlertRuleId:AlertProcessingRuleActionGroupConditionAlertRuleId","description":"A \u003cspan pulumi-lang-nodejs=\"`alertRuleId`\" pulumi-lang-dotnet=\"`AlertRuleId`\" pulumi-lang-go=\"`alertRuleId`\" pulumi-lang-python=\"`alert_rule_id`\" pulumi-lang-yaml=\"`alertRuleId`\" pulumi-lang-java=\"`alertRuleId`\"\u003e`alert_rule_id`\u003c/span\u003e block as defined above.\n"},"alertRuleName":{"$ref":"#/types/azure:monitoring/AlertProcessingRuleActionGroupConditionAlertRuleName:AlertProcessingRuleActionGroupConditionAlertRuleName","description":"A \u003cspan pulumi-lang-nodejs=\"`alertRuleName`\" pulumi-lang-dotnet=\"`AlertRuleName`\" pulumi-lang-go=\"`alertRuleName`\" pulumi-lang-python=\"`alert_rule_name`\" pulumi-lang-yaml=\"`alertRuleName`\" pulumi-lang-java=\"`alertRuleName`\"\u003e`alert_rule_name`\u003c/span\u003e block as defined above.\n"},"description":{"$ref":"#/types/azure:monitoring/AlertProcessingRuleActionGroupConditionDescription:AlertProcessingRuleActionGroupConditionDescription","description":"A \u003cspan pulumi-lang-nodejs=\"`description`\" pulumi-lang-dotnet=\"`Description`\" pulumi-lang-go=\"`description`\" pulumi-lang-python=\"`description`\" pulumi-lang-yaml=\"`description`\" pulumi-lang-java=\"`description`\"\u003e`description`\u003c/span\u003e block as defined below.\n"},"monitorCondition":{"$ref":"#/types/azure:monitoring/AlertProcessingRuleActionGroupConditionMonitorCondition:AlertProcessingRuleActionGroupConditionMonitorCondition","description":"A \u003cspan pulumi-lang-nodejs=\"`monitorCondition`\" pulumi-lang-dotnet=\"`MonitorCondition`\" pulumi-lang-go=\"`monitorCondition`\" pulumi-lang-python=\"`monitor_condition`\" pulumi-lang-yaml=\"`monitorCondition`\" pulumi-lang-java=\"`monitorCondition`\"\u003e`monitor_condition`\u003c/span\u003e block as defined below.\n"},"monitorService":{"$ref":"#/types/azure:monitoring/AlertProcessingRuleActionGroupConditionMonitorService:AlertProcessingRuleActionGroupConditionMonitorService","description":"A \u003cspan pulumi-lang-nodejs=\"`monitorService`\" pulumi-lang-dotnet=\"`MonitorService`\" pulumi-lang-go=\"`monitorService`\" pulumi-lang-python=\"`monitor_service`\" pulumi-lang-yaml=\"`monitorService`\" pulumi-lang-java=\"`monitorService`\"\u003e`monitor_service`\u003c/span\u003e block as defined below.\n"},"severity":{"$ref":"#/types/azure:monitoring/AlertProcessingRuleActionGroupConditionSeverity:AlertProcessingRuleActionGroupConditionSeverity","description":"A \u003cspan pulumi-lang-nodejs=\"`severity`\" pulumi-lang-dotnet=\"`Severity`\" pulumi-lang-go=\"`severity`\" pulumi-lang-python=\"`severity`\" pulumi-lang-yaml=\"`severity`\" pulumi-lang-java=\"`severity`\"\u003e`severity`\u003c/span\u003e block as defined below.\n"},"signalType":{"$ref":"#/types/azure:monitoring/AlertProcessingRuleActionGroupConditionSignalType:AlertProcessingRuleActionGroupConditionSignalType","description":"A \u003cspan pulumi-lang-nodejs=\"`signalType`\" pulumi-lang-dotnet=\"`SignalType`\" pulumi-lang-go=\"`signalType`\" pulumi-lang-python=\"`signal_type`\" pulumi-lang-yaml=\"`signalType`\" pulumi-lang-java=\"`signalType`\"\u003e`signal_type`\u003c/span\u003e block as defined below.\n"},"targetResource":{"$ref":"#/types/azure:monitoring/AlertProcessingRuleActionGroupConditionTargetResource:AlertProcessingRuleActionGroupConditionTargetResource","description":"A \u003cspan pulumi-lang-nodejs=\"`targetResource`\" pulumi-lang-dotnet=\"`TargetResource`\" pulumi-lang-go=\"`targetResource`\" pulumi-lang-python=\"`target_resource`\" pulumi-lang-yaml=\"`targetResource`\" pulumi-lang-java=\"`targetResource`\"\u003e`target_resource`\u003c/span\u003e block as defined below.\n"},"targetResourceGroup":{"$ref":"#/types/azure:monitoring/AlertProcessingRuleActionGroupConditionTargetResourceGroup:AlertProcessingRuleActionGroupConditionTargetResourceGroup","description":"A \u003cspan pulumi-lang-nodejs=\"`targetResourceGroup`\" pulumi-lang-dotnet=\"`TargetResourceGroup`\" pulumi-lang-go=\"`targetResourceGroup`\" pulumi-lang-python=\"`target_resource_group`\" pulumi-lang-yaml=\"`targetResourceGroup`\" pulumi-lang-java=\"`targetResourceGroup`\"\u003e`target_resource_group`\u003c/span\u003e block as defined below.\n"},"targetResourceType":{"$ref":"#/types/azure:monitoring/AlertProcessingRuleActionGroupConditionTargetResourceType:AlertProcessingRuleActionGroupConditionTargetResourceType","description":"A \u003cspan pulumi-lang-nodejs=\"`targetResourceType`\" pulumi-lang-dotnet=\"`TargetResourceType`\" pulumi-lang-go=\"`targetResourceType`\" pulumi-lang-python=\"`target_resource_type`\" pulumi-lang-yaml=\"`targetResourceType`\" pulumi-lang-java=\"`targetResourceType`\"\u003e`target_resource_type`\u003c/span\u003e block as defined below.\n\n\u003e **Note:** At least one of the \u003cspan pulumi-lang-nodejs=\"`alertContext`\" pulumi-lang-dotnet=\"`AlertContext`\" pulumi-lang-go=\"`alertContext`\" pulumi-lang-python=\"`alert_context`\" pulumi-lang-yaml=\"`alertContext`\" pulumi-lang-java=\"`alertContext`\"\u003e`alert_context`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`alertRuleId`\" pulumi-lang-dotnet=\"`AlertRuleId`\" pulumi-lang-go=\"`alertRuleId`\" pulumi-lang-python=\"`alert_rule_id`\" pulumi-lang-yaml=\"`alertRuleId`\" pulumi-lang-java=\"`alertRuleId`\"\u003e`alert_rule_id`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`alertRuleName`\" pulumi-lang-dotnet=\"`AlertRuleName`\" pulumi-lang-go=\"`alertRuleName`\" pulumi-lang-python=\"`alert_rule_name`\" pulumi-lang-yaml=\"`alertRuleName`\" pulumi-lang-java=\"`alertRuleName`\"\u003e`alert_rule_name`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`description`\" pulumi-lang-dotnet=\"`Description`\" pulumi-lang-go=\"`description`\" pulumi-lang-python=\"`description`\" pulumi-lang-yaml=\"`description`\" pulumi-lang-java=\"`description`\"\u003e`description`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`monitorCondition`\" pulumi-lang-dotnet=\"`MonitorCondition`\" pulumi-lang-go=\"`monitorCondition`\" pulumi-lang-python=\"`monitor_condition`\" pulumi-lang-yaml=\"`monitorCondition`\" pulumi-lang-java=\"`monitorCondition`\"\u003e`monitor_condition`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`monitorService`\" pulumi-lang-dotnet=\"`MonitorService`\" pulumi-lang-go=\"`monitorService`\" pulumi-lang-python=\"`monitor_service`\" pulumi-lang-yaml=\"`monitorService`\" pulumi-lang-java=\"`monitorService`\"\u003e`monitor_service`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`severity`\" pulumi-lang-dotnet=\"`Severity`\" pulumi-lang-go=\"`severity`\" pulumi-lang-python=\"`severity`\" pulumi-lang-yaml=\"`severity`\" pulumi-lang-java=\"`severity`\"\u003e`severity`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`signalType`\" pulumi-lang-dotnet=\"`SignalType`\" pulumi-lang-go=\"`signalType`\" pulumi-lang-python=\"`signal_type`\" pulumi-lang-yaml=\"`signalType`\" pulumi-lang-java=\"`signalType`\"\u003e`signal_type`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`targetResource`\" pulumi-lang-dotnet=\"`TargetResource`\" pulumi-lang-go=\"`targetResource`\" pulumi-lang-python=\"`target_resource`\" pulumi-lang-yaml=\"`targetResource`\" pulumi-lang-java=\"`targetResource`\"\u003e`target_resource`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`targetResourceGroup`\" pulumi-lang-dotnet=\"`TargetResourceGroup`\" pulumi-lang-go=\"`targetResourceGroup`\" pulumi-lang-python=\"`target_resource_group`\" pulumi-lang-yaml=\"`targetResourceGroup`\" pulumi-lang-java=\"`targetResourceGroup`\"\u003e`target_resource_group`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`targetResourceType`\" pulumi-lang-dotnet=\"`TargetResourceType`\" pulumi-lang-go=\"`targetResourceType`\" pulumi-lang-python=\"`target_resource_type`\" pulumi-lang-yaml=\"`targetResourceType`\" pulumi-lang-java=\"`targetResourceType`\"\u003e`target_resource_type`\u003c/span\u003e must be specified.\n"}},"type":"object"},"azure:monitoring/AlertProcessingRuleActionGroupConditionAlertContext:AlertProcessingRuleActionGroupConditionAlertContext":{"properties":{"operator":{"type":"string","description":"The operator for a given condition. Possible values are `Equals`, `NotEquals`, `Contains`, and `DoesNotContain`.\n"},"values":{"type":"array","items":{"type":"string"},"description":"Specifies a list of values to match for a given condition.\n"}},"type":"object","required":["operator","values"]},"azure:monitoring/AlertProcessingRuleActionGroupConditionAlertRuleId:AlertProcessingRuleActionGroupConditionAlertRuleId":{"properties":{"operator":{"type":"string","description":"The operator for a given condition. Possible values are `Equals`, `NotEquals`, `Contains`, and `DoesNotContain`.\n"},"values":{"type":"array","items":{"type":"string"},"description":"Specifies a list of values to match for a given condition.\n"}},"type":"object","required":["operator","values"]},"azure:monitoring/AlertProcessingRuleActionGroupConditionAlertRuleName:AlertProcessingRuleActionGroupConditionAlertRuleName":{"properties":{"operator":{"type":"string","description":"The operator for a given condition. Possible values are `Equals`, `NotEquals`, `Contains`, and `DoesNotContain`.\n"},"values":{"type":"array","items":{"type":"string"},"description":"Specifies a list of values to match for a given condition.\n"}},"type":"object","required":["operator","values"]},"azure:monitoring/AlertProcessingRuleActionGroupConditionDescription:AlertProcessingRuleActionGroupConditionDescription":{"properties":{"operator":{"type":"string","description":"The operator for a given condition. Possible values are `Equals`, `NotEquals`, `Contains`, and `DoesNotContain`.\n"},"values":{"type":"array","items":{"type":"string"},"description":"Specifies a list of values to match for a given condition.\n"}},"type":"object","required":["operator","values"]},"azure:monitoring/AlertProcessingRuleActionGroupConditionMonitorCondition:AlertProcessingRuleActionGroupConditionMonitorCondition":{"properties":{"operator":{"type":"string","description":"The operator for a given condition. Possible values are `Equals` and `NotEquals`.\n"},"values":{"type":"array","items":{"type":"string"},"description":"Specifies a list of values to match for a given condition. Possible values are `Fired` and `Resolved`.\n"}},"type":"object","required":["operator","values"]},"azure:monitoring/AlertProcessingRuleActionGroupConditionMonitorService:AlertProcessingRuleActionGroupConditionMonitorService":{"properties":{"operator":{"type":"string","description":"The operator for a given condition. Possible values are `Equals` and `NotEquals`.\n"},"values":{"type":"array","items":{"type":"string"},"description":"A list of values to match for a given condition. Possible values are `ActivityLog Administrative`, `ActivityLog Autoscale`, `ActivityLog Policy`, `ActivityLog Recommendation`, `ActivityLog Security`, `Application Insights`, `Azure Backup`, `Azure Stack Edge`, `Azure Stack Hub`, `Custom`, `Data Box Gateway`, `Health Platform`, `Log Alerts V2`, `Log Analytics`, `Platform`, `Prometheus`, `Resource Health`, `Smart Detector`, and `VM Insights - Health`.\n"}},"type":"object","required":["operator","values"]},"azure:monitoring/AlertProcessingRuleActionGroupConditionSeverity:AlertProcessingRuleActionGroupConditionSeverity":{"properties":{"operator":{"type":"string","description":"The operator for a given condition. Possible values are `Equals` and `NotEquals`.\n"},"values":{"type":"array","items":{"type":"string"},"description":"Specifies list of values to match for a given condition. Possible values are `Sev0`, `Sev1`, `Sev2`, `Sev3`, and `Sev4`.\n"}},"type":"object","required":["operator","values"]},"azure:monitoring/AlertProcessingRuleActionGroupConditionSignalType:AlertProcessingRuleActionGroupConditionSignalType":{"properties":{"operator":{"type":"string","description":"The operator for a given condition. Possible values are `Equals` and `NotEquals`.\n"},"values":{"type":"array","items":{"type":"string"},"description":"Specifies a list of values to match for a given condition. Possible values are `Metric`, `Log`, `Unknown`, and `Health`.\n"}},"type":"object","required":["operator","values"]},"azure:monitoring/AlertProcessingRuleActionGroupConditionTargetResource:AlertProcessingRuleActionGroupConditionTargetResource":{"properties":{"operator":{"type":"string","description":"The operator for a given condition. Possible values are `Equals`, `NotEquals`, `Contains`, and `DoesNotContain`.\n"},"values":{"type":"array","items":{"type":"string"},"description":"A list of values to match for a given condition. The values should be valid resource IDs.\n"}},"type":"object","required":["operator","values"]},"azure:monitoring/AlertProcessingRuleActionGroupConditionTargetResourceGroup:AlertProcessingRuleActionGroupConditionTargetResourceGroup":{"properties":{"operator":{"type":"string","description":"The operator for a given condition. Possible values are `Equals`, `NotEquals`, `Contains`, and `DoesNotContain`.\n"},"values":{"type":"array","items":{"type":"string"},"description":"A list of values to match for a given condition. The values should be valid resource group IDs.\n"}},"type":"object","required":["operator","values"]},"azure:monitoring/AlertProcessingRuleActionGroupConditionTargetResourceType:AlertProcessingRuleActionGroupConditionTargetResourceType":{"properties":{"operator":{"type":"string","description":"The operator for a given condition. Possible values are `Equals`, `NotEquals`, `Contains`, and `DoesNotContain`.\n"},"values":{"type":"array","items":{"type":"string"},"description":"A list of values to match for a given condition. The values should be valid resource types. (e.g. Microsoft.Compute/VirtualMachines)\n"}},"type":"object","required":["operator","values"]},"azure:monitoring/AlertProcessingRuleActionGroupSchedule:AlertProcessingRuleActionGroupSchedule":{"properties":{"effectiveFrom":{"type":"string","description":"Specifies the Alert Processing Rule effective start time (Y-m-d'T'H:M:S).\n"},"effectiveUntil":{"type":"string","description":"Specifies the Alert Processing Rule effective end time (Y-m-d'T'H:M:S).\n"},"recurrence":{"$ref":"#/types/azure:monitoring/AlertProcessingRuleActionGroupScheduleRecurrence:AlertProcessingRuleActionGroupScheduleRecurrence","description":"A \u003cspan pulumi-lang-nodejs=\"`recurrence`\" pulumi-lang-dotnet=\"`Recurrence`\" pulumi-lang-go=\"`recurrence`\" pulumi-lang-python=\"`recurrence`\" pulumi-lang-yaml=\"`recurrence`\" pulumi-lang-java=\"`recurrence`\"\u003e`recurrence`\u003c/span\u003e block as defined above.\n"},"timeZone":{"type":"string","description":"The time zone (e.g. Pacific Standard time, Eastern Standard Time). Defaults to `UTC`. [possible values are defined here](https://docs.microsoft.com/en-us/previous-versions/windows/embedded/ms912391(v=winembedded.11)).\n"}},"type":"object"},"azure:monitoring/AlertProcessingRuleActionGroupScheduleRecurrence:AlertProcessingRuleActionGroupScheduleRecurrence":{"properties":{"dailies":{"type":"array","items":{"$ref":"#/types/azure:monitoring/AlertProcessingRuleActionGroupScheduleRecurrenceDaily:AlertProcessingRuleActionGroupScheduleRecurrenceDaily"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`daily`\" pulumi-lang-dotnet=\"`Daily`\" pulumi-lang-go=\"`daily`\" pulumi-lang-python=\"`daily`\" pulumi-lang-yaml=\"`daily`\" pulumi-lang-java=\"`daily`\"\u003e`daily`\u003c/span\u003e blocks as defined above.\n"},"monthlies":{"type":"array","items":{"$ref":"#/types/azure:monitoring/AlertProcessingRuleActionGroupScheduleRecurrenceMonthly:AlertProcessingRuleActionGroupScheduleRecurrenceMonthly"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`monthly`\" pulumi-lang-dotnet=\"`Monthly`\" pulumi-lang-go=\"`monthly`\" pulumi-lang-python=\"`monthly`\" pulumi-lang-yaml=\"`monthly`\" pulumi-lang-java=\"`monthly`\"\u003e`monthly`\u003c/span\u003e blocks as defined above.\n"},"weeklies":{"type":"array","items":{"$ref":"#/types/azure:monitoring/AlertProcessingRuleActionGroupScheduleRecurrenceWeekly:AlertProcessingRuleActionGroupScheduleRecurrenceWeekly"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`weekly`\" pulumi-lang-dotnet=\"`Weekly`\" pulumi-lang-go=\"`weekly`\" pulumi-lang-python=\"`weekly`\" pulumi-lang-yaml=\"`weekly`\" pulumi-lang-java=\"`weekly`\"\u003e`weekly`\u003c/span\u003e blocks as defined below.\n"}},"type":"object"},"azure:monitoring/AlertProcessingRuleActionGroupScheduleRecurrenceDaily:AlertProcessingRuleActionGroupScheduleRecurrenceDaily":{"properties":{"endTime":{"type":"string","description":"Specifies the recurrence end time (H:M:S).\n"},"startTime":{"type":"string","description":"Specifies the recurrence start time (H:M:S).\n"}},"type":"object","required":["endTime","startTime"]},"azure:monitoring/AlertProcessingRuleActionGroupScheduleRecurrenceMonthly:AlertProcessingRuleActionGroupScheduleRecurrenceMonthly":{"properties":{"daysOfMonths":{"type":"array","items":{"type":"integer"},"description":"Specifies a list of dayOfMonth to recurrence. Possible values are integers between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e - \u003cspan pulumi-lang-nodejs=\"`31`\" pulumi-lang-dotnet=\"`31`\" pulumi-lang-go=\"`31`\" pulumi-lang-python=\"`31`\" pulumi-lang-yaml=\"`31`\" pulumi-lang-java=\"`31`\"\u003e`31`\u003c/span\u003e.\n"},"endTime":{"type":"string","description":"Specifies the recurrence end time (H:M:S).\n"},"startTime":{"type":"string","description":"Specifies the recurrence start time (H:M:S).\n"}},"type":"object","required":["daysOfMonths"]},"azure:monitoring/AlertProcessingRuleActionGroupScheduleRecurrenceWeekly:AlertProcessingRuleActionGroupScheduleRecurrenceWeekly":{"properties":{"daysOfWeeks":{"type":"array","items":{"type":"string"},"description":"Specifies a list of dayOfWeek to recurrence. Possible values are `Sunday`, `Monday`, `Tuesday`, `Wednesday`, `Thursday`, `Friday`, and `Saturday`.\n"},"endTime":{"type":"string","description":"Specifies the recurrence end time (H:M:S).\n"},"startTime":{"type":"string","description":"Specifies the recurrence start time (H:M:S).\n"}},"type":"object","required":["daysOfWeeks"]},"azure:monitoring/AlertProcessingRuleSuppressionCondition:AlertProcessingRuleSuppressionCondition":{"properties":{"alertContext":{"$ref":"#/types/azure:monitoring/AlertProcessingRuleSuppressionConditionAlertContext:AlertProcessingRuleSuppressionConditionAlertContext","description":"A \u003cspan pulumi-lang-nodejs=\"`alertContext`\" pulumi-lang-dotnet=\"`AlertContext`\" pulumi-lang-go=\"`alertContext`\" pulumi-lang-python=\"`alert_context`\" pulumi-lang-yaml=\"`alertContext`\" pulumi-lang-java=\"`alertContext`\"\u003e`alert_context`\u003c/span\u003e block as defined above.\n"},"alertRuleId":{"$ref":"#/types/azure:monitoring/AlertProcessingRuleSuppressionConditionAlertRuleId:AlertProcessingRuleSuppressionConditionAlertRuleId","description":"A \u003cspan pulumi-lang-nodejs=\"`alertRuleId`\" pulumi-lang-dotnet=\"`AlertRuleId`\" pulumi-lang-go=\"`alertRuleId`\" pulumi-lang-python=\"`alert_rule_id`\" pulumi-lang-yaml=\"`alertRuleId`\" pulumi-lang-java=\"`alertRuleId`\"\u003e`alert_rule_id`\u003c/span\u003e block as defined above.\n"},"alertRuleName":{"$ref":"#/types/azure:monitoring/AlertProcessingRuleSuppressionConditionAlertRuleName:AlertProcessingRuleSuppressionConditionAlertRuleName","description":"A \u003cspan pulumi-lang-nodejs=\"`alertRuleName`\" pulumi-lang-dotnet=\"`AlertRuleName`\" pulumi-lang-go=\"`alertRuleName`\" pulumi-lang-python=\"`alert_rule_name`\" pulumi-lang-yaml=\"`alertRuleName`\" pulumi-lang-java=\"`alertRuleName`\"\u003e`alert_rule_name`\u003c/span\u003e block as defined above.\n"},"description":{"$ref":"#/types/azure:monitoring/AlertProcessingRuleSuppressionConditionDescription:AlertProcessingRuleSuppressionConditionDescription","description":"A \u003cspan pulumi-lang-nodejs=\"`description`\" pulumi-lang-dotnet=\"`Description`\" pulumi-lang-go=\"`description`\" pulumi-lang-python=\"`description`\" pulumi-lang-yaml=\"`description`\" pulumi-lang-java=\"`description`\"\u003e`description`\u003c/span\u003e block as defined below.\n"},"monitorCondition":{"$ref":"#/types/azure:monitoring/AlertProcessingRuleSuppressionConditionMonitorCondition:AlertProcessingRuleSuppressionConditionMonitorCondition","description":"A \u003cspan pulumi-lang-nodejs=\"`monitorCondition`\" pulumi-lang-dotnet=\"`MonitorCondition`\" pulumi-lang-go=\"`monitorCondition`\" pulumi-lang-python=\"`monitor_condition`\" pulumi-lang-yaml=\"`monitorCondition`\" pulumi-lang-java=\"`monitorCondition`\"\u003e`monitor_condition`\u003c/span\u003e block as defined below.\n"},"monitorService":{"$ref":"#/types/azure:monitoring/AlertProcessingRuleSuppressionConditionMonitorService:AlertProcessingRuleSuppressionConditionMonitorService","description":"A \u003cspan pulumi-lang-nodejs=\"`monitorService`\" pulumi-lang-dotnet=\"`MonitorService`\" pulumi-lang-go=\"`monitorService`\" pulumi-lang-python=\"`monitor_service`\" pulumi-lang-yaml=\"`monitorService`\" pulumi-lang-java=\"`monitorService`\"\u003e`monitor_service`\u003c/span\u003e block as defined below.\n"},"severity":{"$ref":"#/types/azure:monitoring/AlertProcessingRuleSuppressionConditionSeverity:AlertProcessingRuleSuppressionConditionSeverity","description":"A \u003cspan pulumi-lang-nodejs=\"`severity`\" pulumi-lang-dotnet=\"`Severity`\" pulumi-lang-go=\"`severity`\" pulumi-lang-python=\"`severity`\" pulumi-lang-yaml=\"`severity`\" pulumi-lang-java=\"`severity`\"\u003e`severity`\u003c/span\u003e block as defined below.\n"},"signalType":{"$ref":"#/types/azure:monitoring/AlertProcessingRuleSuppressionConditionSignalType:AlertProcessingRuleSuppressionConditionSignalType","description":"A \u003cspan pulumi-lang-nodejs=\"`signalType`\" pulumi-lang-dotnet=\"`SignalType`\" pulumi-lang-go=\"`signalType`\" pulumi-lang-python=\"`signal_type`\" pulumi-lang-yaml=\"`signalType`\" pulumi-lang-java=\"`signalType`\"\u003e`signal_type`\u003c/span\u003e block as defined below.\n"},"targetResource":{"$ref":"#/types/azure:monitoring/AlertProcessingRuleSuppressionConditionTargetResource:AlertProcessingRuleSuppressionConditionTargetResource","description":"A \u003cspan pulumi-lang-nodejs=\"`targetResource`\" pulumi-lang-dotnet=\"`TargetResource`\" pulumi-lang-go=\"`targetResource`\" pulumi-lang-python=\"`target_resource`\" pulumi-lang-yaml=\"`targetResource`\" pulumi-lang-java=\"`targetResource`\"\u003e`target_resource`\u003c/span\u003e block as defined below.\n"},"targetResourceGroup":{"$ref":"#/types/azure:monitoring/AlertProcessingRuleSuppressionConditionTargetResourceGroup:AlertProcessingRuleSuppressionConditionTargetResourceGroup","description":"A \u003cspan pulumi-lang-nodejs=\"`targetResourceGroup`\" pulumi-lang-dotnet=\"`TargetResourceGroup`\" pulumi-lang-go=\"`targetResourceGroup`\" pulumi-lang-python=\"`target_resource_group`\" pulumi-lang-yaml=\"`targetResourceGroup`\" pulumi-lang-java=\"`targetResourceGroup`\"\u003e`target_resource_group`\u003c/span\u003e block as defined below.\n"},"targetResourceType":{"$ref":"#/types/azure:monitoring/AlertProcessingRuleSuppressionConditionTargetResourceType:AlertProcessingRuleSuppressionConditionTargetResourceType","description":"A \u003cspan pulumi-lang-nodejs=\"`targetResourceType`\" pulumi-lang-dotnet=\"`TargetResourceType`\" pulumi-lang-go=\"`targetResourceType`\" pulumi-lang-python=\"`target_resource_type`\" pulumi-lang-yaml=\"`targetResourceType`\" pulumi-lang-java=\"`targetResourceType`\"\u003e`target_resource_type`\u003c/span\u003e block as defined below.\n"}},"type":"object"},"azure:monitoring/AlertProcessingRuleSuppressionConditionAlertContext:AlertProcessingRuleSuppressionConditionAlertContext":{"properties":{"operator":{"type":"string","description":"The operator for a given condition. Possible values are `Equals`, `NotEquals`, `Contains`, and `DoesNotContain`.\n"},"values":{"type":"array","items":{"type":"string"},"description":"Specifies a list of values to match for a given condition.\n"}},"type":"object","required":["operator","values"]},"azure:monitoring/AlertProcessingRuleSuppressionConditionAlertRuleId:AlertProcessingRuleSuppressionConditionAlertRuleId":{"properties":{"operator":{"type":"string","description":"The operator for a given condition. Possible values are `Equals`, `NotEquals`, `Contains`, and `DoesNotContain`.\n"},"values":{"type":"array","items":{"type":"string"},"description":"Specifies a list of values to match for a given condition.\n"}},"type":"object","required":["operator","values"]},"azure:monitoring/AlertProcessingRuleSuppressionConditionAlertRuleName:AlertProcessingRuleSuppressionConditionAlertRuleName":{"properties":{"operator":{"type":"string","description":"The operator for a given condition. Possible values are `Equals`, `NotEquals`, `Contains`, and `DoesNotContain`.\n"},"values":{"type":"array","items":{"type":"string"},"description":"Specifies a list of values to match for a given condition.\n"}},"type":"object","required":["operator","values"]},"azure:monitoring/AlertProcessingRuleSuppressionConditionDescription:AlertProcessingRuleSuppressionConditionDescription":{"properties":{"operator":{"type":"string","description":"The operator for a given condition. Possible values are `Equals`, `NotEquals`, `Contains`, and `DoesNotContain`.\n"},"values":{"type":"array","items":{"type":"string"},"description":"Specifies a list of values to match for a given condition.\n"}},"type":"object","required":["operator","values"]},"azure:monitoring/AlertProcessingRuleSuppressionConditionMonitorCondition:AlertProcessingRuleSuppressionConditionMonitorCondition":{"properties":{"operator":{"type":"string","description":"The operator for a given condition. Possible values are `Equals` and `NotEquals`.\n"},"values":{"type":"array","items":{"type":"string"},"description":"Specifies a list of values to match for a given condition. Possible values are `Fired` and `Resolved`.\n"}},"type":"object","required":["operator","values"]},"azure:monitoring/AlertProcessingRuleSuppressionConditionMonitorService:AlertProcessingRuleSuppressionConditionMonitorService":{"properties":{"operator":{"type":"string","description":"The operator for a given condition. Possible values are `Equals` and `NotEquals`.\n"},"values":{"type":"array","items":{"type":"string"},"description":"A list of values to match for a given condition. Possible values are `ActivityLog Administrative`, `ActivityLog Autoscale`, `ActivityLog Policy`, `ActivityLog Recommendation`, `ActivityLog Security`, `Application Insights`, `Azure Backup`, `Azure Stack Edge`, `Azure Stack Hub`, `Custom`, `Data Box Gateway`, `Health Platform`, `Log Alerts V2`, `Log Analytics`, `Platform`, `Prometheus`, `Resource Health`, `Smart Detector`, and `VM Insights - Health`.\n"}},"type":"object","required":["operator","values"]},"azure:monitoring/AlertProcessingRuleSuppressionConditionSeverity:AlertProcessingRuleSuppressionConditionSeverity":{"properties":{"operator":{"type":"string","description":"The operator for a given condition. Possible values are `Equals` and `NotEquals`.\n"},"values":{"type":"array","items":{"type":"string"},"description":"Specifies list of values to match for a given condition. Possible values are `Sev0`, `Sev1`, `Sev2`, `Sev3`, and `Sev4`.\n"}},"type":"object","required":["operator","values"]},"azure:monitoring/AlertProcessingRuleSuppressionConditionSignalType:AlertProcessingRuleSuppressionConditionSignalType":{"properties":{"operator":{"type":"string","description":"The operator for a given condition. Possible values are `Equals` and `NotEquals`.\n"},"values":{"type":"array","items":{"type":"string"},"description":"Specifies a list of values to match for a given condition. Possible values are `Metric`, `Log`, `Unknown`, and `Health`.\n"}},"type":"object","required":["operator","values"]},"azure:monitoring/AlertProcessingRuleSuppressionConditionTargetResource:AlertProcessingRuleSuppressionConditionTargetResource":{"properties":{"operator":{"type":"string","description":"The operator for a given condition. Possible values are `Equals`, `NotEquals`, `Contains`, and `DoesNotContain`.\n"},"values":{"type":"array","items":{"type":"string"},"description":"A list of values to match for a given condition. The values should be valid resource IDs.\n"}},"type":"object","required":["operator","values"]},"azure:monitoring/AlertProcessingRuleSuppressionConditionTargetResourceGroup:AlertProcessingRuleSuppressionConditionTargetResourceGroup":{"properties":{"operator":{"type":"string","description":"The operator for a given condition. Possible values are `Equals`, `NotEquals`, `Contains`, and `DoesNotContain`.\n"},"values":{"type":"array","items":{"type":"string"},"description":"A list of values to match for a given condition. The values should be valid resource group IDs.\n"}},"type":"object","required":["operator","values"]},"azure:monitoring/AlertProcessingRuleSuppressionConditionTargetResourceType:AlertProcessingRuleSuppressionConditionTargetResourceType":{"properties":{"operator":{"type":"string","description":"The operator for a given condition. Possible values are `Equals`, `NotEquals`, `Contains`, and `DoesNotContain`.\n"},"values":{"type":"array","items":{"type":"string"},"description":"A list of values to match for a given condition. The values should be valid resource types. (e.g. Microsoft.Compute/VirtualMachines)\n"}},"type":"object","required":["operator","values"]},"azure:monitoring/AlertProcessingRuleSuppressionSchedule:AlertProcessingRuleSuppressionSchedule":{"properties":{"effectiveFrom":{"type":"string","description":"Specifies the Alert Processing Rule effective start time (Y-m-d'T'H:M:S).\n"},"effectiveUntil":{"type":"string","description":"Specifies the Alert Processing Rule effective end time (Y-m-d'T'H:M:S).\n"},"recurrence":{"$ref":"#/types/azure:monitoring/AlertProcessingRuleSuppressionScheduleRecurrence:AlertProcessingRuleSuppressionScheduleRecurrence","description":"A \u003cspan pulumi-lang-nodejs=\"`recurrence`\" pulumi-lang-dotnet=\"`Recurrence`\" pulumi-lang-go=\"`recurrence`\" pulumi-lang-python=\"`recurrence`\" pulumi-lang-yaml=\"`recurrence`\" pulumi-lang-java=\"`recurrence`\"\u003e`recurrence`\u003c/span\u003e block as defined above.\n"},"timeZone":{"type":"string","description":"The time zone (e.g. Pacific Standard time, Eastern Standard Time). Defaults to `UTC`. [possible values are defined here](https://docs.microsoft.com/en-us/previous-versions/windows/embedded/ms912391(v=winembedded.11)).\n"}},"type":"object"},"azure:monitoring/AlertProcessingRuleSuppressionScheduleRecurrence:AlertProcessingRuleSuppressionScheduleRecurrence":{"properties":{"dailies":{"type":"array","items":{"$ref":"#/types/azure:monitoring/AlertProcessingRuleSuppressionScheduleRecurrenceDaily:AlertProcessingRuleSuppressionScheduleRecurrenceDaily"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`daily`\" pulumi-lang-dotnet=\"`Daily`\" pulumi-lang-go=\"`daily`\" pulumi-lang-python=\"`daily`\" pulumi-lang-yaml=\"`daily`\" pulumi-lang-java=\"`daily`\"\u003e`daily`\u003c/span\u003e blocks as defined above.\n"},"monthlies":{"type":"array","items":{"$ref":"#/types/azure:monitoring/AlertProcessingRuleSuppressionScheduleRecurrenceMonthly:AlertProcessingRuleSuppressionScheduleRecurrenceMonthly"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`monthly`\" pulumi-lang-dotnet=\"`Monthly`\" pulumi-lang-go=\"`monthly`\" pulumi-lang-python=\"`monthly`\" pulumi-lang-yaml=\"`monthly`\" pulumi-lang-java=\"`monthly`\"\u003e`monthly`\u003c/span\u003e blocks as defined above.\n"},"weeklies":{"type":"array","items":{"$ref":"#/types/azure:monitoring/AlertProcessingRuleSuppressionScheduleRecurrenceWeekly:AlertProcessingRuleSuppressionScheduleRecurrenceWeekly"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`weekly`\" pulumi-lang-dotnet=\"`Weekly`\" pulumi-lang-go=\"`weekly`\" pulumi-lang-python=\"`weekly`\" pulumi-lang-yaml=\"`weekly`\" pulumi-lang-java=\"`weekly`\"\u003e`weekly`\u003c/span\u003e blocks as defined below.\n"}},"type":"object"},"azure:monitoring/AlertProcessingRuleSuppressionScheduleRecurrenceDaily:AlertProcessingRuleSuppressionScheduleRecurrenceDaily":{"properties":{"endTime":{"type":"string","description":"Specifies the recurrence end time (H:M:S).\n"},"startTime":{"type":"string","description":"Specifies the recurrence start time (H:M:S).\n"}},"type":"object","required":["endTime","startTime"]},"azure:monitoring/AlertProcessingRuleSuppressionScheduleRecurrenceMonthly:AlertProcessingRuleSuppressionScheduleRecurrenceMonthly":{"properties":{"daysOfMonths":{"type":"array","items":{"type":"integer"},"description":"Specifies a list of dayOfMonth to recurrence. Possible values are integers between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e - \u003cspan pulumi-lang-nodejs=\"`31`\" pulumi-lang-dotnet=\"`31`\" pulumi-lang-go=\"`31`\" pulumi-lang-python=\"`31`\" pulumi-lang-yaml=\"`31`\" pulumi-lang-java=\"`31`\"\u003e`31`\u003c/span\u003e.\n"},"endTime":{"type":"string","description":"Specifies the recurrence end time (H:M:S).\n"},"startTime":{"type":"string","description":"Specifies the recurrence start time (H:M:S).\n"}},"type":"object","required":["daysOfMonths"]},"azure:monitoring/AlertProcessingRuleSuppressionScheduleRecurrenceWeekly:AlertProcessingRuleSuppressionScheduleRecurrenceWeekly":{"properties":{"daysOfWeeks":{"type":"array","items":{"type":"string"},"description":"Specifies a list of dayOfWeek to recurrence. Possible values are `Sunday`, `Monday`, `Tuesday`, `Wednesday`, `Thursday`, `Friday`, and `Saturday`.\n"},"endTime":{"type":"string","description":"Specifies the recurrence end time (H:M:S).\n"},"startTime":{"type":"string","description":"Specifies the recurrence start time (H:M:S).\n"}},"type":"object","required":["daysOfWeeks"]},"azure:monitoring/AlertPrometheusRuleGroupRule:AlertPrometheusRuleGroupRule":{"properties":{"actions":{"type":"array","items":{"$ref":"#/types/azure:monitoring/AlertPrometheusRuleGroupRuleAction:AlertPrometheusRuleGroupRuleAction"},"description":"An \u003cspan pulumi-lang-nodejs=\"`action`\" pulumi-lang-dotnet=\"`Action`\" pulumi-lang-go=\"`action`\" pulumi-lang-python=\"`action`\" pulumi-lang-yaml=\"`action`\" pulumi-lang-java=\"`action`\"\u003e`action`\u003c/span\u003e block as defined below.\n"},"alert":{"type":"string","description":"Specifies the Alert rule name.\n"},"alertResolution":{"$ref":"#/types/azure:monitoring/AlertPrometheusRuleGroupRuleAlertResolution:AlertPrometheusRuleGroupRuleAlertResolution","description":"An \u003cspan pulumi-lang-nodejs=\"`alertResolution`\" pulumi-lang-dotnet=\"`AlertResolution`\" pulumi-lang-go=\"`alertResolution`\" pulumi-lang-python=\"`alert_resolution`\" pulumi-lang-yaml=\"`alertResolution`\" pulumi-lang-java=\"`alertResolution`\"\u003e`alert_resolution`\u003c/span\u003e block as defined below.\n"},"annotations":{"type":"object","additionalProperties":{"type":"string"},"description":"Specifies a set of informational labels that can be used to store longer additional information such as alert descriptions or runbook links.\n"},"enabled":{"type":"boolean","description":"Is this rule enabled? Possible values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"expression":{"type":"string","description":"Specifies the Prometheus Query Language expression to evaluate. For more details see [this doc](https://prometheus.io/docs/prometheus/latest/querying/basics). Evaluate at the period given by \u003cspan pulumi-lang-nodejs=\"`interval`\" pulumi-lang-dotnet=\"`Interval`\" pulumi-lang-go=\"`interval`\" pulumi-lang-python=\"`interval`\" pulumi-lang-yaml=\"`interval`\" pulumi-lang-java=\"`interval`\"\u003e`interval`\u003c/span\u003e and record the result as a new set of time series with the metric name given by \u003cspan pulumi-lang-nodejs=\"`record`\" pulumi-lang-dotnet=\"`Record`\" pulumi-lang-go=\"`record`\" pulumi-lang-python=\"`record`\" pulumi-lang-yaml=\"`record`\" pulumi-lang-java=\"`record`\"\u003e`record`\u003c/span\u003e.\n"},"for":{"type":"string","description":"Specifies the amount of time alert must be active before firing, represented in ISO 8601 duration format.\n"},"labels":{"type":"object","additionalProperties":{"type":"string"},"description":"Specifies the labels to add or overwrite before storing the result.\n"},"record":{"type":"string","description":"Specifies the recorded metrics name.\n"},"severity":{"type":"integer","description":"Specifies the severity of the alerts fired by the rule. Possible values are between 0 and 4.\n"}},"type":"object","required":["expression"]},"azure:monitoring/AlertPrometheusRuleGroupRuleAction:AlertPrometheusRuleGroupRuleAction":{"properties":{"actionGroupId":{"type":"string","description":"Specifies the resource id of the monitor action group.\n"},"actionProperties":{"type":"object","additionalProperties":{"type":"string"},"description":"Specifies the properties of an action group object.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`actionProperties`\" pulumi-lang-dotnet=\"`ActionProperties`\" pulumi-lang-go=\"`actionProperties`\" pulumi-lang-python=\"`action_properties`\" pulumi-lang-yaml=\"`actionProperties`\" pulumi-lang-java=\"`actionProperties`\"\u003e`action_properties`\u003c/span\u003e can only be configured for IcM Connector Action Groups for now. Other public features will be supported in the future.\n"}},"type":"object","required":["actionGroupId"]},"azure:monitoring/AlertPrometheusRuleGroupRuleAlertResolution:AlertPrometheusRuleGroupRuleAlertResolution":{"properties":{"autoResolved":{"type":"boolean","description":"Is the alert auto-resolution? Possible values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"timeToResolve":{"type":"string","description":"Specifies the alert auto-resolution interval, represented in ISO 8601 duration format.\n"}},"type":"object"},"azure:monitoring/AutoscaleSettingNotification:AutoscaleSettingNotification":{"properties":{"email":{"$ref":"#/types/azure:monitoring/AutoscaleSettingNotificationEmail:AutoscaleSettingNotificationEmail","description":"A \u003cspan pulumi-lang-nodejs=\"`email`\" pulumi-lang-dotnet=\"`Email`\" pulumi-lang-go=\"`email`\" pulumi-lang-python=\"`email`\" pulumi-lang-yaml=\"`email`\" pulumi-lang-java=\"`email`\"\u003e`email`\u003c/span\u003e block as defined below.\n"},"webhooks":{"type":"array","items":{"$ref":"#/types/azure:monitoring/AutoscaleSettingNotificationWebhook:AutoscaleSettingNotificationWebhook"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`webhook`\" pulumi-lang-dotnet=\"`Webhook`\" pulumi-lang-go=\"`webhook`\" pulumi-lang-python=\"`webhook`\" pulumi-lang-yaml=\"`webhook`\" pulumi-lang-java=\"`webhook`\"\u003e`webhook`\u003c/span\u003e blocks as defined below.\n"}},"type":"object"},"azure:monitoring/AutoscaleSettingNotificationEmail:AutoscaleSettingNotificationEmail":{"properties":{"customEmails":{"type":"array","items":{"type":"string"},"description":"Specifies a list of custom email addresses to which the email notifications will be sent.\n"},"sendToSubscriptionAdministrator":{"type":"boolean","description":"Should email notifications be sent to the subscription administrator? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"sendToSubscriptionCoAdministrator":{"type":"boolean","description":"Should email notifications be sent to the subscription co-administrator? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"}},"type":"object"},"azure:monitoring/AutoscaleSettingNotificationWebhook:AutoscaleSettingNotificationWebhook":{"properties":{"properties":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of settings.\n"},"serviceUri":{"type":"string","description":"The HTTPS URI which should receive scale notifications.\n"}},"type":"object","required":["serviceUri"]},"azure:monitoring/AutoscaleSettingPredictive:AutoscaleSettingPredictive":{"properties":{"lookAheadTime":{"type":"string","description":"Specifies the amount of time by which instances are launched in advance. It must be between `PT1M` and `PT1H` in ISO 8601 format.\n"},"scaleMode":{"type":"string","description":"Specifies the predictive scale mode. Possible values are `Enabled` or `ForecastOnly`.\n"}},"type":"object","required":["scaleMode"]},"azure:monitoring/AutoscaleSettingProfile:AutoscaleSettingProfile":{"properties":{"capacity":{"$ref":"#/types/azure:monitoring/AutoscaleSettingProfileCapacity:AutoscaleSettingProfileCapacity","description":"A \u003cspan pulumi-lang-nodejs=\"`capacity`\" pulumi-lang-dotnet=\"`Capacity`\" pulumi-lang-go=\"`capacity`\" pulumi-lang-python=\"`capacity`\" pulumi-lang-yaml=\"`capacity`\" pulumi-lang-java=\"`capacity`\"\u003e`capacity`\u003c/span\u003e block as defined below.\n"},"fixedDate":{"$ref":"#/types/azure:monitoring/AutoscaleSettingProfileFixedDate:AutoscaleSettingProfileFixedDate","description":"A \u003cspan pulumi-lang-nodejs=\"`fixedDate`\" pulumi-lang-dotnet=\"`FixedDate`\" pulumi-lang-go=\"`fixedDate`\" pulumi-lang-python=\"`fixed_date`\" pulumi-lang-yaml=\"`fixedDate`\" pulumi-lang-java=\"`fixedDate`\"\u003e`fixed_date`\u003c/span\u003e block as defined below. This cannot be specified if a \u003cspan pulumi-lang-nodejs=\"`recurrence`\" pulumi-lang-dotnet=\"`Recurrence`\" pulumi-lang-go=\"`recurrence`\" pulumi-lang-python=\"`recurrence`\" pulumi-lang-yaml=\"`recurrence`\" pulumi-lang-java=\"`recurrence`\"\u003e`recurrence`\u003c/span\u003e block is specified.\n"},"name":{"type":"string","description":"Specifies the name of the profile.\n"},"recurrence":{"$ref":"#/types/azure:monitoring/AutoscaleSettingProfileRecurrence:AutoscaleSettingProfileRecurrence","description":"A \u003cspan pulumi-lang-nodejs=\"`recurrence`\" pulumi-lang-dotnet=\"`Recurrence`\" pulumi-lang-go=\"`recurrence`\" pulumi-lang-python=\"`recurrence`\" pulumi-lang-yaml=\"`recurrence`\" pulumi-lang-java=\"`recurrence`\"\u003e`recurrence`\u003c/span\u003e block as defined below. This cannot be specified if a \u003cspan pulumi-lang-nodejs=\"`fixedDate`\" pulumi-lang-dotnet=\"`FixedDate`\" pulumi-lang-go=\"`fixedDate`\" pulumi-lang-python=\"`fixed_date`\" pulumi-lang-yaml=\"`fixedDate`\" pulumi-lang-java=\"`fixedDate`\"\u003e`fixed_date`\u003c/span\u003e block is specified.\n"},"rules":{"type":"array","items":{"$ref":"#/types/azure:monitoring/AutoscaleSettingProfileRule:AutoscaleSettingProfileRule"},"description":"One or more (up to 10) \u003cspan pulumi-lang-nodejs=\"`rule`\" pulumi-lang-dotnet=\"`Rule`\" pulumi-lang-go=\"`rule`\" pulumi-lang-python=\"`rule`\" pulumi-lang-yaml=\"`rule`\" pulumi-lang-java=\"`rule`\"\u003e`rule`\u003c/span\u003e blocks as defined below.\n"}},"type":"object","required":["capacity","name"]},"azure:monitoring/AutoscaleSettingProfileCapacity:AutoscaleSettingProfileCapacity":{"properties":{"default":{"type":"integer","description":"The number of instances that are available for scaling if metrics are not available for evaluation. The default is only used if the current instance count is lower than the default. Valid values are between \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`1000`\" pulumi-lang-dotnet=\"`1000`\" pulumi-lang-go=\"`1000`\" pulumi-lang-python=\"`1000`\" pulumi-lang-yaml=\"`1000`\" pulumi-lang-java=\"`1000`\"\u003e`1000`\u003c/span\u003e.\n"},"maximum":{"type":"integer","description":"The maximum number of instances for this resource. Valid values are between \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`1000`\" pulumi-lang-dotnet=\"`1000`\" pulumi-lang-go=\"`1000`\" pulumi-lang-python=\"`1000`\" pulumi-lang-yaml=\"`1000`\" pulumi-lang-java=\"`1000`\"\u003e`1000`\u003c/span\u003e.\n\n\u003e **Note:** The maximum number of instances is also limited by the amount of Cores available in the subscription.\n"},"minimum":{"type":"integer","description":"The minimum number of instances for this resource. Valid values are between \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`1000`\" pulumi-lang-dotnet=\"`1000`\" pulumi-lang-go=\"`1000`\" pulumi-lang-python=\"`1000`\" pulumi-lang-yaml=\"`1000`\" pulumi-lang-java=\"`1000`\"\u003e`1000`\u003c/span\u003e.\n"}},"type":"object","required":["default","maximum","minimum"]},"azure:monitoring/AutoscaleSettingProfileFixedDate:AutoscaleSettingProfileFixedDate":{"properties":{"end":{"type":"string","description":"Specifies the end date for the profile, formatted as an RFC3339 date string.\n"},"start":{"type":"string","description":"Specifies the start date for the profile, formatted as an RFC3339 date string.\n"},"timezone":{"type":"string","description":"The Time Zone of the \u003cspan pulumi-lang-nodejs=\"`start`\" pulumi-lang-dotnet=\"`Start`\" pulumi-lang-go=\"`start`\" pulumi-lang-python=\"`start`\" pulumi-lang-yaml=\"`start`\" pulumi-lang-java=\"`start`\"\u003e`start`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`end`\" pulumi-lang-dotnet=\"`End`\" pulumi-lang-go=\"`end`\" pulumi-lang-python=\"`end`\" pulumi-lang-yaml=\"`end`\" pulumi-lang-java=\"`end`\"\u003e`end`\u003c/span\u003e times. A list of [possible values can be found here](https://learn.microsoft.com/en-us/rest/api/monitor/autoscale-settings/create-or-update?view=rest-monitor-2022-10-01\u0026tabs=HTTP#recurrentschedule). Defaults to `UTC`.\n"}},"type":"object","required":["end","start"]},"azure:monitoring/AutoscaleSettingProfileRecurrence:AutoscaleSettingProfileRecurrence":{"properties":{"days":{"type":"array","items":{"type":"string"},"description":"A list of days that this profile takes effect on. Possible values include `Monday`, `Tuesday`, `Wednesday`, `Thursday`, `Friday`, `Saturday` and `Sunday`.\n"},"hours":{"type":"integer","description":"A list containing a single item, which specifies the Hour interval at which this recurrence should be triggered (in 24-hour time). Possible values are from \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`23`\" pulumi-lang-dotnet=\"`23`\" pulumi-lang-go=\"`23`\" pulumi-lang-python=\"`23`\" pulumi-lang-yaml=\"`23`\" pulumi-lang-java=\"`23`\"\u003e`23`\u003c/span\u003e.\n"},"minutes":{"type":"integer","description":"A list containing a single item which specifies the Minute interval at which this recurrence should be triggered.\n"},"timezone":{"type":"string","description":"The Time Zone used for the \u003cspan pulumi-lang-nodejs=\"`hours`\" pulumi-lang-dotnet=\"`Hours`\" pulumi-lang-go=\"`hours`\" pulumi-lang-python=\"`hours`\" pulumi-lang-yaml=\"`hours`\" pulumi-lang-java=\"`hours`\"\u003e`hours`\u003c/span\u003e field. A list of possible values can be found here). Defaults to `UTC`.\n"}},"type":"object","required":["days","hours","minutes"]},"azure:monitoring/AutoscaleSettingProfileRule:AutoscaleSettingProfileRule":{"properties":{"metricTrigger":{"$ref":"#/types/azure:monitoring/AutoscaleSettingProfileRuleMetricTrigger:AutoscaleSettingProfileRuleMetricTrigger","description":"A \u003cspan pulumi-lang-nodejs=\"`metricTrigger`\" pulumi-lang-dotnet=\"`MetricTrigger`\" pulumi-lang-go=\"`metricTrigger`\" pulumi-lang-python=\"`metric_trigger`\" pulumi-lang-yaml=\"`metricTrigger`\" pulumi-lang-java=\"`metricTrigger`\"\u003e`metric_trigger`\u003c/span\u003e block as defined below.\n"},"scaleAction":{"$ref":"#/types/azure:monitoring/AutoscaleSettingProfileRuleScaleAction:AutoscaleSettingProfileRuleScaleAction","description":"A \u003cspan pulumi-lang-nodejs=\"`scaleAction`\" pulumi-lang-dotnet=\"`ScaleAction`\" pulumi-lang-go=\"`scaleAction`\" pulumi-lang-python=\"`scale_action`\" pulumi-lang-yaml=\"`scaleAction`\" pulumi-lang-java=\"`scaleAction`\"\u003e`scale_action`\u003c/span\u003e block as defined below.\n"}},"type":"object","required":["metricTrigger","scaleAction"]},"azure:monitoring/AutoscaleSettingProfileRuleMetricTrigger:AutoscaleSettingProfileRuleMetricTrigger":{"properties":{"dimensions":{"type":"array","items":{"$ref":"#/types/azure:monitoring/AutoscaleSettingProfileRuleMetricTriggerDimension:AutoscaleSettingProfileRuleMetricTriggerDimension"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`dimensions`\" pulumi-lang-dotnet=\"`Dimensions`\" pulumi-lang-go=\"`dimensions`\" pulumi-lang-python=\"`dimensions`\" pulumi-lang-yaml=\"`dimensions`\" pulumi-lang-java=\"`dimensions`\"\u003e`dimensions`\u003c/span\u003e block as defined below.\n"},"divideByInstanceCount":{"type":"boolean","description":"Whether to enable metric divide by instance count.\n"},"metricName":{"type":"string","description":"The name of the metric that defines what the rule monitors, such as `Percentage CPU` for `Virtual Machine Scale Sets` and `CpuPercentage` for `App Service Plan`.\n\n\u003e **Note:** The allowed value of \u003cspan pulumi-lang-nodejs=\"`metricName`\" pulumi-lang-dotnet=\"`MetricName`\" pulumi-lang-go=\"`metricName`\" pulumi-lang-python=\"`metric_name`\" pulumi-lang-yaml=\"`metricName`\" pulumi-lang-java=\"`metricName`\"\u003e`metric_name`\u003c/span\u003e highly depends on the targeting resource type, please visit [Supported metrics with Azure Monitor](https://docs.microsoft.com/azure/azure-monitor/platform/metrics-supported) for more details.\n"},"metricNamespace":{"type":"string","description":"The namespace of the metric that defines what the rule monitors, such as `microsoft.compute/virtualmachinescalesets` for `Virtual Machine Scale Sets`.\n"},"metricResourceId":{"type":"string","description":"The ID of the Resource which the Rule monitors.\n"},"operator":{"type":"string","description":"Specifies the operator used to compare the metric data and threshold. Possible values are: `Equals`, `NotEquals`, `GreaterThan`, `GreaterThanOrEqual`, `LessThan`, `LessThanOrEqual`.\n"},"statistic":{"type":"string","description":"Specifies how the metrics from multiple instances are combined. Possible values are `Average`, `Max`, `Min` and `Sum`.\n"},"threshold":{"type":"number","description":"Specifies the threshold of the metric that triggers the scale action.\n"},"timeAggregation":{"type":"string","description":"Specifies how the data that's collected should be combined over time. Possible values include `Average`, `Count`, `Maximum`, `Minimum`, `Last` and `Total`.\n"},"timeGrain":{"type":"string","description":"Specifies the granularity of metrics that the rule monitors, which must be one of the pre-defined values returned from the metric definitions for the metric. This value must be between 1 minute and 12 hours an be formatted as an ISO 8601 string.\n"},"timeWindow":{"type":"string","description":"Specifies the time range for which data is collected, which must be greater than the delay in metric collection (which varies from resource to resource). This value must be between 5 minutes and 12 hours and be formatted as an ISO 8601 string.\n"}},"type":"object","required":["metricName","metricResourceId","operator","statistic","threshold","timeAggregation","timeGrain","timeWindow"]},"azure:monitoring/AutoscaleSettingProfileRuleMetricTriggerDimension:AutoscaleSettingProfileRuleMetricTriggerDimension":{"properties":{"name":{"type":"string","description":"The name of the dimension.\n"},"operator":{"type":"string","description":"The dimension operator. Possible values are `Equals` and `NotEquals`. `Equals` means being equal to any of the values. `NotEquals` means being not equal to any of the values.\n"},"values":{"type":"array","items":{"type":"string"},"description":"A list of dimension values.\n"}},"type":"object","required":["name","operator","values"]},"azure:monitoring/AutoscaleSettingProfileRuleScaleAction:AutoscaleSettingProfileRuleScaleAction":{"properties":{"cooldown":{"type":"string","description":"The amount of time to wait since the last scaling action before this action occurs. Must be between 1 minute and 1 week and formatted as a ISO 8601 string.\n"},"direction":{"type":"string","description":"The scale direction. Possible values are `Increase` and `Decrease`.\n"},"type":{"type":"string","description":"The type of action that should occur. Possible values are `ChangeCount`, `ExactCount`, `PercentChangeCount` and `ServiceAllowedNextValue`.\n"},"value":{"type":"integer","description":"The number of instances involved in the scaling action.\n"}},"type":"object","required":["cooldown","direction","type","value"]},"azure:monitoring/DataCollectionRuleDataFlow:DataCollectionRuleDataFlow":{"properties":{"builtInTransform":{"type":"string","description":"The built-in transform to transform stream data.\n"},"destinations":{"type":"array","items":{"type":"string"},"description":"Specifies a list of destination names. A \u003cspan pulumi-lang-nodejs=\"`azureMonitorMetrics`\" pulumi-lang-dotnet=\"`AzureMonitorMetrics`\" pulumi-lang-go=\"`azureMonitorMetrics`\" pulumi-lang-python=\"`azure_monitor_metrics`\" pulumi-lang-yaml=\"`azureMonitorMetrics`\" pulumi-lang-java=\"`azureMonitorMetrics`\"\u003e`azure_monitor_metrics`\u003c/span\u003e data source only allows for stream of kind `Microsoft-InsightsMetrics`.\n"},"outputStream":{"type":"string","description":"The output stream of the transform. Only required if the data flow changes data to a different stream.\n"},"streams":{"type":"array","items":{"type":"string"},"description":"Specifies a list of streams. Possible values include but not limited to `Microsoft-Event`, `Microsoft-InsightsMetrics`, `Microsoft-Perf`, `Microsoft-Syslog`, `Microsoft-WindowsEvent`, and `Microsoft-PrometheusMetrics`.\n"},"transformKql":{"type":"string","description":"The KQL query to transform stream data.\n"}},"type":"object","required":["destinations","streams"]},"azure:monitoring/DataCollectionRuleDataSources:DataCollectionRuleDataSources":{"properties":{"dataImport":{"$ref":"#/types/azure:monitoring/DataCollectionRuleDataSourcesDataImport:DataCollectionRuleDataSourcesDataImport","description":"A \u003cspan pulumi-lang-nodejs=\"`dataImport`\" pulumi-lang-dotnet=\"`DataImport`\" pulumi-lang-go=\"`dataImport`\" pulumi-lang-python=\"`data_import`\" pulumi-lang-yaml=\"`dataImport`\" pulumi-lang-java=\"`dataImport`\"\u003e`data_import`\u003c/span\u003e block as defined above.\n"},"extensions":{"type":"array","items":{"$ref":"#/types/azure:monitoring/DataCollectionRuleDataSourcesExtension:DataCollectionRuleDataSourcesExtension"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`extension`\" pulumi-lang-dotnet=\"`Extension`\" pulumi-lang-go=\"`extension`\" pulumi-lang-python=\"`extension`\" pulumi-lang-yaml=\"`extension`\" pulumi-lang-java=\"`extension`\"\u003e`extension`\u003c/span\u003e blocks as defined below.\n"},"iisLogs":{"type":"array","items":{"$ref":"#/types/azure:monitoring/DataCollectionRuleDataSourcesIisLog:DataCollectionRuleDataSourcesIisLog"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`iisLog`\" pulumi-lang-dotnet=\"`IisLog`\" pulumi-lang-go=\"`iisLog`\" pulumi-lang-python=\"`iis_log`\" pulumi-lang-yaml=\"`iisLog`\" pulumi-lang-java=\"`iisLog`\"\u003e`iis_log`\u003c/span\u003e blocks as defined below.\n"},"logFiles":{"type":"array","items":{"$ref":"#/types/azure:monitoring/DataCollectionRuleDataSourcesLogFile:DataCollectionRuleDataSourcesLogFile"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`logFile`\" pulumi-lang-dotnet=\"`LogFile`\" pulumi-lang-go=\"`logFile`\" pulumi-lang-python=\"`log_file`\" pulumi-lang-yaml=\"`logFile`\" pulumi-lang-java=\"`logFile`\"\u003e`log_file`\u003c/span\u003e blocks as defined below.\n"},"performanceCounters":{"type":"array","items":{"$ref":"#/types/azure:monitoring/DataCollectionRuleDataSourcesPerformanceCounter:DataCollectionRuleDataSourcesPerformanceCounter"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`performanceCounter`\" pulumi-lang-dotnet=\"`PerformanceCounter`\" pulumi-lang-go=\"`performanceCounter`\" pulumi-lang-python=\"`performance_counter`\" pulumi-lang-yaml=\"`performanceCounter`\" pulumi-lang-java=\"`performanceCounter`\"\u003e`performance_counter`\u003c/span\u003e blocks as defined below.\n"},"platformTelemetries":{"type":"array","items":{"$ref":"#/types/azure:monitoring/DataCollectionRuleDataSourcesPlatformTelemetry:DataCollectionRuleDataSourcesPlatformTelemetry"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`platformTelemetry`\" pulumi-lang-dotnet=\"`PlatformTelemetry`\" pulumi-lang-go=\"`platformTelemetry`\" pulumi-lang-python=\"`platform_telemetry`\" pulumi-lang-yaml=\"`platformTelemetry`\" pulumi-lang-java=\"`platformTelemetry`\"\u003e`platform_telemetry`\u003c/span\u003e blocks as defined below.\n"},"prometheusForwarders":{"type":"array","items":{"$ref":"#/types/azure:monitoring/DataCollectionRuleDataSourcesPrometheusForwarder:DataCollectionRuleDataSourcesPrometheusForwarder"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`prometheusForwarder`\" pulumi-lang-dotnet=\"`PrometheusForwarder`\" pulumi-lang-go=\"`prometheusForwarder`\" pulumi-lang-python=\"`prometheus_forwarder`\" pulumi-lang-yaml=\"`prometheusForwarder`\" pulumi-lang-java=\"`prometheusForwarder`\"\u003e`prometheus_forwarder`\u003c/span\u003e blocks as defined below.\n"},"syslogs":{"type":"array","items":{"$ref":"#/types/azure:monitoring/DataCollectionRuleDataSourcesSyslog:DataCollectionRuleDataSourcesSyslog"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`syslog`\" pulumi-lang-dotnet=\"`Syslog`\" pulumi-lang-go=\"`syslog`\" pulumi-lang-python=\"`syslog`\" pulumi-lang-yaml=\"`syslog`\" pulumi-lang-java=\"`syslog`\"\u003e`syslog`\u003c/span\u003e blocks as defined below.\n"},"windowsEventLogs":{"type":"array","items":{"$ref":"#/types/azure:monitoring/DataCollectionRuleDataSourcesWindowsEventLog:DataCollectionRuleDataSourcesWindowsEventLog"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`windowsEventLog`\" pulumi-lang-dotnet=\"`WindowsEventLog`\" pulumi-lang-go=\"`windowsEventLog`\" pulumi-lang-python=\"`windows_event_log`\" pulumi-lang-yaml=\"`windowsEventLog`\" pulumi-lang-java=\"`windowsEventLog`\"\u003e`windows_event_log`\u003c/span\u003e blocks as defined below.\n"},"windowsFirewallLogs":{"type":"array","items":{"$ref":"#/types/azure:monitoring/DataCollectionRuleDataSourcesWindowsFirewallLog:DataCollectionRuleDataSourcesWindowsFirewallLog"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`windowsFirewallLog`\" pulumi-lang-dotnet=\"`WindowsFirewallLog`\" pulumi-lang-go=\"`windowsFirewallLog`\" pulumi-lang-python=\"`windows_firewall_log`\" pulumi-lang-yaml=\"`windowsFirewallLog`\" pulumi-lang-java=\"`windowsFirewallLog`\"\u003e`windows_firewall_log`\u003c/span\u003e blocks as defined below.\n"}},"type":"object"},"azure:monitoring/DataCollectionRuleDataSourcesDataImport:DataCollectionRuleDataSourcesDataImport":{"properties":{"eventHubDataSources":{"type":"array","items":{"$ref":"#/types/azure:monitoring/DataCollectionRuleDataSourcesDataImportEventHubDataSource:DataCollectionRuleDataSourcesDataImportEventHubDataSource"},"description":"An \u003cspan pulumi-lang-nodejs=\"`eventHubDataSource`\" pulumi-lang-dotnet=\"`EventHubDataSource`\" pulumi-lang-go=\"`eventHubDataSource`\" pulumi-lang-python=\"`event_hub_data_source`\" pulumi-lang-yaml=\"`eventHubDataSource`\" pulumi-lang-java=\"`eventHubDataSource`\"\u003e`event_hub_data_source`\u003c/span\u003e block as defined below.\n"}},"type":"object","required":["eventHubDataSources"]},"azure:monitoring/DataCollectionRuleDataSourcesDataImportEventHubDataSource:DataCollectionRuleDataSourcesDataImportEventHubDataSource":{"properties":{"consumerGroup":{"type":"string","description":"The Event Hub consumer group name.\n"},"name":{"type":"string","description":"The name which should be used for this data source. This name should be unique across all data sources regardless of type within the Data Collection Rule.\n"},"stream":{"type":"string","description":"The stream to collect from Event Hub. Possible value should be a custom stream name.\n"}},"type":"object","required":["name","stream"]},"azure:monitoring/DataCollectionRuleDataSourcesExtension:DataCollectionRuleDataSourcesExtension":{"properties":{"extensionJson":{"type":"string","description":"A JSON String which specifies the extension setting.\n"},"extensionName":{"type":"string","description":"The name of the VM extension.\n"},"inputDataSources":{"type":"array","items":{"type":"string"},"description":"Specifies a list of data sources this extension needs data from. An item should be a name of a supported data source which produces only one stream. Supported data sources type: \u003cspan pulumi-lang-nodejs=\"`performanceCounter`\" pulumi-lang-dotnet=\"`PerformanceCounter`\" pulumi-lang-go=\"`performanceCounter`\" pulumi-lang-python=\"`performance_counter`\" pulumi-lang-yaml=\"`performanceCounter`\" pulumi-lang-java=\"`performanceCounter`\"\u003e`performance_counter`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`windowsEventLog`\" pulumi-lang-dotnet=\"`WindowsEventLog`\" pulumi-lang-go=\"`windowsEventLog`\" pulumi-lang-python=\"`windows_event_log`\" pulumi-lang-yaml=\"`windowsEventLog`\" pulumi-lang-java=\"`windowsEventLog`\"\u003e`windows_event_log`\u003c/span\u003e,and \u003cspan pulumi-lang-nodejs=\"`syslog`\" pulumi-lang-dotnet=\"`Syslog`\" pulumi-lang-go=\"`syslog`\" pulumi-lang-python=\"`syslog`\" pulumi-lang-yaml=\"`syslog`\" pulumi-lang-java=\"`syslog`\"\u003e`syslog`\u003c/span\u003e.\n"},"name":{"type":"string","description":"The name which should be used for this data source. This name should be unique across all data sources regardless of type within the Data Collection Rule.\n"},"streams":{"type":"array","items":{"type":"string"},"description":"Specifies a list of streams that this data source will be sent to. A stream indicates what schema will be used for this data and usually what table in Log Analytics the data will be sent to. Possible values include but not limited to `Microsoft-Event`, `Microsoft-InsightsMetrics`, `Microsoft-Perf`, `Microsoft-Syslog`, `Microsoft-WindowsEvent`.\n"}},"type":"object","required":["extensionName","name","streams"]},"azure:monitoring/DataCollectionRuleDataSourcesIisLog:DataCollectionRuleDataSourcesIisLog":{"properties":{"logDirectories":{"type":"array","items":{"type":"string"},"description":"Specifies a list of absolute paths where the log files are located.\n"},"name":{"type":"string","description":"The name which should be used for this data source. This name should be unique across all data sources regardless of type within the Data Collection Rule.\n"},"streams":{"type":"array","items":{"type":"string"},"description":"Specifies a list of streams that this data source will be sent to. A stream indicates what schema will be used for this data and usually what table in Log Analytics the data will be sent to. Possible value is `Microsoft-W3CIISLog`.\n"}},"type":"object","required":["name","streams"]},"azure:monitoring/DataCollectionRuleDataSourcesLogFile:DataCollectionRuleDataSourcesLogFile":{"properties":{"filePatterns":{"type":"array","items":{"type":"string"},"description":"Specifies a list of file patterns where the log files are located. For example, `C:\\\\JavaLogs\\\\*.log`.\n"},"format":{"type":"string","description":"The data format of the log files. Possible values are \u003cspan pulumi-lang-nodejs=\"`text`\" pulumi-lang-dotnet=\"`Text`\" pulumi-lang-go=\"`text`\" pulumi-lang-python=\"`text`\" pulumi-lang-yaml=\"`text`\" pulumi-lang-java=\"`text`\"\u003e`text`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`json`\" pulumi-lang-dotnet=\"`Json`\" pulumi-lang-go=\"`json`\" pulumi-lang-python=\"`json`\" pulumi-lang-yaml=\"`json`\" pulumi-lang-java=\"`json`\"\u003e`json`\u003c/span\u003e.\n"},"name":{"type":"string","description":"The name which should be used for this data source. This name should be unique across all data sources regardless of type within the Data Collection Rule.\n"},"settings":{"$ref":"#/types/azure:monitoring/DataCollectionRuleDataSourcesLogFileSettings:DataCollectionRuleDataSourcesLogFileSettings","description":"A \u003cspan pulumi-lang-nodejs=\"`settings`\" pulumi-lang-dotnet=\"`Settings`\" pulumi-lang-go=\"`settings`\" pulumi-lang-python=\"`settings`\" pulumi-lang-yaml=\"`settings`\" pulumi-lang-java=\"`settings`\"\u003e`settings`\u003c/span\u003e block as defined below.\n"},"streams":{"type":"array","items":{"type":"string"},"description":"Specifies a list of streams that this data source will be sent to. A stream indicates what schema will be used for this data and usually what table in Log Analytics the data will be sent to. Possible value should be custom stream names.\n"}},"type":"object","required":["filePatterns","format","name","streams"]},"azure:monitoring/DataCollectionRuleDataSourcesLogFileSettings:DataCollectionRuleDataSourcesLogFileSettings":{"properties":{"text":{"$ref":"#/types/azure:monitoring/DataCollectionRuleDataSourcesLogFileSettingsText:DataCollectionRuleDataSourcesLogFileSettingsText","description":"A \u003cspan pulumi-lang-nodejs=\"`text`\" pulumi-lang-dotnet=\"`Text`\" pulumi-lang-go=\"`text`\" pulumi-lang-python=\"`text`\" pulumi-lang-yaml=\"`text`\" pulumi-lang-java=\"`text`\"\u003e`text`\u003c/span\u003e block as defined below.\n"}},"type":"object","required":["text"]},"azure:monitoring/DataCollectionRuleDataSourcesLogFileSettingsText:DataCollectionRuleDataSourcesLogFileSettingsText":{"properties":{"recordStartTimestampFormat":{"type":"string","description":"The timestamp format of the text log files. Possible values are `ISO 8601`, `YYYY-MM-DD HH:MM:SS`, `M/D/YYYY HH:MM:SS AM/PM`, `Mon DD, YYYY HH:MM:SS`, `yyMMdd HH:mm:ss`, `ddMMyy HH:mm:ss`, `MMM d hh:mm:ss`, `dd/MMM/yyyy:HH:mm:ss zzz`,and `yyyy-MM-ddTHH:mm:ssK`.\n"}},"type":"object","required":["recordStartTimestampFormat"]},"azure:monitoring/DataCollectionRuleDataSourcesPerformanceCounter:DataCollectionRuleDataSourcesPerformanceCounter":{"properties":{"counterSpecifiers":{"type":"array","items":{"type":"string"},"description":"Specifies a list of specifier names of the performance counters you want to collect. To get a list of performance counters on Windows, run the command \u003cspan pulumi-lang-nodejs=\"`typeperf`\" pulumi-lang-dotnet=\"`Typeperf`\" pulumi-lang-go=\"`typeperf`\" pulumi-lang-python=\"`typeperf`\" pulumi-lang-yaml=\"`typeperf`\" pulumi-lang-java=\"`typeperf`\"\u003e`typeperf`\u003c/span\u003e. Please see [this document](https://learn.microsoft.com/en-us/azure/azure-monitor/agents/data-sources-performance-counters#configure-performance-counters) for more information.\n"},"name":{"type":"string","description":"The name which should be used for this data source. This name should be unique across all data sources regardless of type within the Data Collection Rule.\n"},"samplingFrequencyInSeconds":{"type":"integer","description":"The number of seconds between consecutive counter measurements (samples). The value should be integer between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`1800`\" pulumi-lang-dotnet=\"`1800`\" pulumi-lang-go=\"`1800`\" pulumi-lang-python=\"`1800`\" pulumi-lang-yaml=\"`1800`\" pulumi-lang-java=\"`1800`\"\u003e`1800`\u003c/span\u003e inclusive. \u003cspan pulumi-lang-nodejs=\"`samplingFrequencyInSeconds`\" pulumi-lang-dotnet=\"`SamplingFrequencyInSeconds`\" pulumi-lang-go=\"`samplingFrequencyInSeconds`\" pulumi-lang-python=\"`sampling_frequency_in_seconds`\" pulumi-lang-yaml=\"`samplingFrequencyInSeconds`\" pulumi-lang-java=\"`samplingFrequencyInSeconds`\"\u003e`sampling_frequency_in_seconds`\u003c/span\u003e must be equal to \u003cspan pulumi-lang-nodejs=\"`60`\" pulumi-lang-dotnet=\"`60`\" pulumi-lang-go=\"`60`\" pulumi-lang-python=\"`60`\" pulumi-lang-yaml=\"`60`\" pulumi-lang-java=\"`60`\"\u003e`60`\u003c/span\u003e seconds for counters collected with `Microsoft-InsightsMetrics` stream.\n"},"streams":{"type":"array","items":{"type":"string"},"description":"Specifies a list of streams that this data source will be sent to. A stream indicates what schema will be used for this data and usually what table in Log Analytics the data will be sent to. Possible values include but not limited to `Microsoft-InsightsMetrics`,and `Microsoft-Perf`.\n"}},"type":"object","required":["counterSpecifiers","name","samplingFrequencyInSeconds","streams"]},"azure:monitoring/DataCollectionRuleDataSourcesPlatformTelemetry:DataCollectionRuleDataSourcesPlatformTelemetry":{"properties":{"name":{"type":"string","description":"The name which should be used for this data source. This name should be unique across all data sources regardless of type within the Data Collection Rule.\n"},"streams":{"type":"array","items":{"type":"string"},"description":"Specifies a list of streams that this data source will be sent to. A stream indicates what schema will be used for this data and usually what table in Log Analytics the data will be sent to. Possible values include but not limited to `Microsoft.Cache/redis:Metrics-Group-All`.\n"}},"type":"object","required":["name","streams"]},"azure:monitoring/DataCollectionRuleDataSourcesPrometheusForwarder:DataCollectionRuleDataSourcesPrometheusForwarder":{"properties":{"labelIncludeFilters":{"type":"array","items":{"$ref":"#/types/azure:monitoring/DataCollectionRuleDataSourcesPrometheusForwarderLabelIncludeFilter:DataCollectionRuleDataSourcesPrometheusForwarderLabelIncludeFilter"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`labelIncludeFilter`\" pulumi-lang-dotnet=\"`LabelIncludeFilter`\" pulumi-lang-go=\"`labelIncludeFilter`\" pulumi-lang-python=\"`label_include_filter`\" pulumi-lang-yaml=\"`labelIncludeFilter`\" pulumi-lang-java=\"`labelIncludeFilter`\"\u003e`label_include_filter`\u003c/span\u003e blocks as defined above.\n"},"name":{"type":"string","description":"The name which should be used for this data source. This name should be unique across all data sources regardless of type within the Data Collection Rule.\n"},"streams":{"type":"array","items":{"type":"string"},"description":"Specifies a list of streams that this data source will be sent to. A stream indicates what schema will be used for this data and usually what table in Log Analytics the data will be sent to. Possible value is `Microsoft-PrometheusMetrics`.\n"}},"type":"object","required":["name","streams"]},"azure:monitoring/DataCollectionRuleDataSourcesPrometheusForwarderLabelIncludeFilter:DataCollectionRuleDataSourcesPrometheusForwarderLabelIncludeFilter":{"properties":{"label":{"type":"string","description":"The label of the filter. This label should be unique across all \u003cspan pulumi-lang-nodejs=\"`labelIncludeFileter`\" pulumi-lang-dotnet=\"`LabelIncludeFileter`\" pulumi-lang-go=\"`labelIncludeFileter`\" pulumi-lang-python=\"`label_include_fileter`\" pulumi-lang-yaml=\"`labelIncludeFileter`\" pulumi-lang-java=\"`labelIncludeFileter`\"\u003e`label_include_fileter`\u003c/span\u003e block. Possible value is \u003cspan pulumi-lang-nodejs=\"`microsoftMetricsIncludeLabel`\" pulumi-lang-dotnet=\"`MicrosoftMetricsIncludeLabel`\" pulumi-lang-go=\"`microsoftMetricsIncludeLabel`\" pulumi-lang-python=\"`microsoft_metrics_include_label`\" pulumi-lang-yaml=\"`microsoftMetricsIncludeLabel`\" pulumi-lang-java=\"`microsoftMetricsIncludeLabel`\"\u003e`microsoft_metrics_include_label`\u003c/span\u003e.\n"},"value":{"type":"string","description":"The value of the filter.\n"}},"type":"object","required":["label","value"]},"azure:monitoring/DataCollectionRuleDataSourcesSyslog:DataCollectionRuleDataSourcesSyslog":{"properties":{"facilityNames":{"type":"array","items":{"type":"string"},"description":"Specifies a list of facility names. Use a wildcard `*` to collect logs for all facility names. Possible values are \u003cspan pulumi-lang-nodejs=\"`alert`\" pulumi-lang-dotnet=\"`Alert`\" pulumi-lang-go=\"`alert`\" pulumi-lang-python=\"`alert`\" pulumi-lang-yaml=\"`alert`\" pulumi-lang-java=\"`alert`\"\u003e`alert`\u003c/span\u003e, `*`, \u003cspan pulumi-lang-nodejs=\"`audit`\" pulumi-lang-dotnet=\"`Audit`\" pulumi-lang-go=\"`audit`\" pulumi-lang-python=\"`audit`\" pulumi-lang-yaml=\"`audit`\" pulumi-lang-java=\"`audit`\"\u003e`audit`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`auth`\" pulumi-lang-dotnet=\"`Auth`\" pulumi-lang-go=\"`auth`\" pulumi-lang-python=\"`auth`\" pulumi-lang-yaml=\"`auth`\" pulumi-lang-java=\"`auth`\"\u003e`auth`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`authpriv`\" pulumi-lang-dotnet=\"`Authpriv`\" pulumi-lang-go=\"`authpriv`\" pulumi-lang-python=\"`authpriv`\" pulumi-lang-yaml=\"`authpriv`\" pulumi-lang-java=\"`authpriv`\"\u003e`authpriv`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`clock`\" pulumi-lang-dotnet=\"`Clock`\" pulumi-lang-go=\"`clock`\" pulumi-lang-python=\"`clock`\" pulumi-lang-yaml=\"`clock`\" pulumi-lang-java=\"`clock`\"\u003e`clock`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`cron`\" pulumi-lang-dotnet=\"`Cron`\" pulumi-lang-go=\"`cron`\" pulumi-lang-python=\"`cron`\" pulumi-lang-yaml=\"`cron`\" pulumi-lang-java=\"`cron`\"\u003e`cron`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`daemon`\" pulumi-lang-dotnet=\"`Daemon`\" pulumi-lang-go=\"`daemon`\" pulumi-lang-python=\"`daemon`\" pulumi-lang-yaml=\"`daemon`\" pulumi-lang-java=\"`daemon`\"\u003e`daemon`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`ftp`\" pulumi-lang-dotnet=\"`Ftp`\" pulumi-lang-go=\"`ftp`\" pulumi-lang-python=\"`ftp`\" pulumi-lang-yaml=\"`ftp`\" pulumi-lang-java=\"`ftp`\"\u003e`ftp`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`kern`\" pulumi-lang-dotnet=\"`Kern`\" pulumi-lang-go=\"`kern`\" pulumi-lang-python=\"`kern`\" pulumi-lang-yaml=\"`kern`\" pulumi-lang-java=\"`kern`\"\u003e`kern`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`local5`\" pulumi-lang-dotnet=\"`Local5`\" pulumi-lang-go=\"`local5`\" pulumi-lang-python=\"`local5`\" pulumi-lang-yaml=\"`local5`\" pulumi-lang-java=\"`local5`\"\u003e`local5`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`local4`\" pulumi-lang-dotnet=\"`Local4`\" pulumi-lang-go=\"`local4`\" pulumi-lang-python=\"`local4`\" pulumi-lang-yaml=\"`local4`\" pulumi-lang-java=\"`local4`\"\u003e`local4`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`local1`\" pulumi-lang-dotnet=\"`Local1`\" pulumi-lang-go=\"`local1`\" pulumi-lang-python=\"`local1`\" pulumi-lang-yaml=\"`local1`\" pulumi-lang-java=\"`local1`\"\u003e`local1`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`local7`\" pulumi-lang-dotnet=\"`Local7`\" pulumi-lang-go=\"`local7`\" pulumi-lang-python=\"`local7`\" pulumi-lang-yaml=\"`local7`\" pulumi-lang-java=\"`local7`\"\u003e`local7`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`local6`\" pulumi-lang-dotnet=\"`Local6`\" pulumi-lang-go=\"`local6`\" pulumi-lang-python=\"`local6`\" pulumi-lang-yaml=\"`local6`\" pulumi-lang-java=\"`local6`\"\u003e`local6`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`local3`\" pulumi-lang-dotnet=\"`Local3`\" pulumi-lang-go=\"`local3`\" pulumi-lang-python=\"`local3`\" pulumi-lang-yaml=\"`local3`\" pulumi-lang-java=\"`local3`\"\u003e`local3`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`local2`\" pulumi-lang-dotnet=\"`Local2`\" pulumi-lang-go=\"`local2`\" pulumi-lang-python=\"`local2`\" pulumi-lang-yaml=\"`local2`\" pulumi-lang-java=\"`local2`\"\u003e`local2`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`local0`\" pulumi-lang-dotnet=\"`Local0`\" pulumi-lang-go=\"`local0`\" pulumi-lang-python=\"`local0`\" pulumi-lang-yaml=\"`local0`\" pulumi-lang-java=\"`local0`\"\u003e`local0`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`lpr`\" pulumi-lang-dotnet=\"`Lpr`\" pulumi-lang-go=\"`lpr`\" pulumi-lang-python=\"`lpr`\" pulumi-lang-yaml=\"`lpr`\" pulumi-lang-java=\"`lpr`\"\u003e`lpr`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`mail`\" pulumi-lang-dotnet=\"`Mail`\" pulumi-lang-go=\"`mail`\" pulumi-lang-python=\"`mail`\" pulumi-lang-yaml=\"`mail`\" pulumi-lang-java=\"`mail`\"\u003e`mail`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`mark`\" pulumi-lang-dotnet=\"`Mark`\" pulumi-lang-go=\"`mark`\" pulumi-lang-python=\"`mark`\" pulumi-lang-yaml=\"`mark`\" pulumi-lang-java=\"`mark`\"\u003e`mark`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`news`\" pulumi-lang-dotnet=\"`News`\" pulumi-lang-go=\"`news`\" pulumi-lang-python=\"`news`\" pulumi-lang-yaml=\"`news`\" pulumi-lang-java=\"`news`\"\u003e`news`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`nopri`\" pulumi-lang-dotnet=\"`Nopri`\" pulumi-lang-go=\"`nopri`\" pulumi-lang-python=\"`nopri`\" pulumi-lang-yaml=\"`nopri`\" pulumi-lang-java=\"`nopri`\"\u003e`nopri`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`ntp`\" pulumi-lang-dotnet=\"`Ntp`\" pulumi-lang-go=\"`ntp`\" pulumi-lang-python=\"`ntp`\" pulumi-lang-yaml=\"`ntp`\" pulumi-lang-java=\"`ntp`\"\u003e`ntp`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`syslog`\" pulumi-lang-dotnet=\"`Syslog`\" pulumi-lang-go=\"`syslog`\" pulumi-lang-python=\"`syslog`\" pulumi-lang-yaml=\"`syslog`\" pulumi-lang-java=\"`syslog`\"\u003e`syslog`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`user`\" pulumi-lang-dotnet=\"`User`\" pulumi-lang-go=\"`user`\" pulumi-lang-python=\"`user`\" pulumi-lang-yaml=\"`user`\" pulumi-lang-java=\"`user`\"\u003e`user`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`uucp`\" pulumi-lang-dotnet=\"`Uucp`\" pulumi-lang-go=\"`uucp`\" pulumi-lang-python=\"`uucp`\" pulumi-lang-yaml=\"`uucp`\" pulumi-lang-java=\"`uucp`\"\u003e`uucp`\u003c/span\u003e.\n"},"logLevels":{"type":"array","items":{"type":"string"},"description":"Specifies a list of log levels. Use a wildcard `*` to collect logs for all log levels. Possible values are `Debug`, `Info`, `Notice`, `Warning`, `Error`, `Critical`, `Alert`, `Emergency`,and `*`.\n"},"name":{"type":"string","description":"The name which should be used for this data source. This name should be unique across all data sources regardless of type within the Data Collection Rule.\n"},"streams":{"type":"array","items":{"type":"string"},"description":"Specifies a list of streams that this data source will be sent to. A stream indicates what schema will be used for this data and usually what table in Log Analytics the data will be sent to. Possible values include but not limited to `Microsoft-Syslog`,and `Microsoft-CiscoAsa`, and `Microsoft-CommonSecurityLog`.\n"}},"type":"object","required":["facilityNames","logLevels","name","streams"]},"azure:monitoring/DataCollectionRuleDataSourcesWindowsEventLog:DataCollectionRuleDataSourcesWindowsEventLog":{"properties":{"name":{"type":"string","description":"The name which should be used for this data source. This name should be unique across all data sources regardless of type within the Data Collection Rule.\n"},"streams":{"type":"array","items":{"type":"string"},"description":"Specifies a list of streams that this data source will be sent to. A stream indicates what schema will be used for this data and usually what table in Log Analytics the data will be sent to. Possible values include but not limited to `Microsoft-Event`,and `Microsoft-WindowsEvent` and `Microsoft-SecurityEvent`.\n"},"xPathQueries":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Windows Event Log queries in XPath expression. Please see [this document](https://learn.microsoft.com/en-us/azure/azure-monitor/agents/data-collection-rule-azure-monitor-agent?tabs=cli#filter-events-using-xpath-queries) for more information.\n"}},"type":"object","required":["name","streams","xPathQueries"]},"azure:monitoring/DataCollectionRuleDataSourcesWindowsFirewallLog:DataCollectionRuleDataSourcesWindowsFirewallLog":{"properties":{"name":{"type":"string","description":"The name which should be used for this data source. This name should be unique across all data sources regardless of type within the Data Collection Rule.\n"},"streams":{"type":"array","items":{"type":"string"},"description":"Specifies a list of streams that this data source will be sent to. A stream indicates what schema will be used for this data and usually what table in Log Analytics the data will be sent to.\n"}},"type":"object","required":["name","streams"]},"azure:monitoring/DataCollectionRuleDestinations:DataCollectionRuleDestinations":{"properties":{"azureMonitorMetrics":{"$ref":"#/types/azure:monitoring/DataCollectionRuleDestinationsAzureMonitorMetrics:DataCollectionRuleDestinationsAzureMonitorMetrics","description":"A \u003cspan pulumi-lang-nodejs=\"`azureMonitorMetrics`\" pulumi-lang-dotnet=\"`AzureMonitorMetrics`\" pulumi-lang-go=\"`azureMonitorMetrics`\" pulumi-lang-python=\"`azure_monitor_metrics`\" pulumi-lang-yaml=\"`azureMonitorMetrics`\" pulumi-lang-java=\"`azureMonitorMetrics`\"\u003e`azure_monitor_metrics`\u003c/span\u003e block as defined above.\n"},"eventHub":{"$ref":"#/types/azure:monitoring/DataCollectionRuleDestinationsEventHub:DataCollectionRuleDestinationsEventHub","description":"One or more \u003cspan pulumi-lang-nodejs=\"`eventHub`\" pulumi-lang-dotnet=\"`EventHub`\" pulumi-lang-go=\"`eventHub`\" pulumi-lang-python=\"`event_hub`\" pulumi-lang-yaml=\"`eventHub`\" pulumi-lang-java=\"`eventHub`\"\u003e`event_hub`\u003c/span\u003e blocks as defined below.\n"},"eventHubDirect":{"$ref":"#/types/azure:monitoring/DataCollectionRuleDestinationsEventHubDirect:DataCollectionRuleDestinationsEventHubDirect","description":"One or more \u003cspan pulumi-lang-nodejs=\"`eventHub`\" pulumi-lang-dotnet=\"`EventHub`\" pulumi-lang-go=\"`eventHub`\" pulumi-lang-python=\"`event_hub`\" pulumi-lang-yaml=\"`eventHub`\" pulumi-lang-java=\"`eventHub`\"\u003e`event_hub`\u003c/span\u003e blocks as defined below.\n"},"logAnalytics":{"type":"array","items":{"$ref":"#/types/azure:monitoring/DataCollectionRuleDestinationsLogAnalytic:DataCollectionRuleDestinationsLogAnalytic"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`logAnalytics`\" pulumi-lang-dotnet=\"`LogAnalytics`\" pulumi-lang-go=\"`logAnalytics`\" pulumi-lang-python=\"`log_analytics`\" pulumi-lang-yaml=\"`logAnalytics`\" pulumi-lang-java=\"`logAnalytics`\"\u003e`log_analytics`\u003c/span\u003e blocks as defined below.\n"},"monitorAccounts":{"type":"array","items":{"$ref":"#/types/azure:monitoring/DataCollectionRuleDestinationsMonitorAccount:DataCollectionRuleDestinationsMonitorAccount"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`monitorAccount`\" pulumi-lang-dotnet=\"`MonitorAccount`\" pulumi-lang-go=\"`monitorAccount`\" pulumi-lang-python=\"`monitor_account`\" pulumi-lang-yaml=\"`monitorAccount`\" pulumi-lang-java=\"`monitorAccount`\"\u003e`monitor_account`\u003c/span\u003e blocks as defined below.\n"},"storageBlobDirects":{"type":"array","items":{"$ref":"#/types/azure:monitoring/DataCollectionRuleDestinationsStorageBlobDirect:DataCollectionRuleDestinationsStorageBlobDirect"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`storageBlobDirect`\" pulumi-lang-dotnet=\"`StorageBlobDirect`\" pulumi-lang-go=\"`storageBlobDirect`\" pulumi-lang-python=\"`storage_blob_direct`\" pulumi-lang-yaml=\"`storageBlobDirect`\" pulumi-lang-java=\"`storageBlobDirect`\"\u003e`storage_blob_direct`\u003c/span\u003e blocks as defined below.\n"},"storageBlobs":{"type":"array","items":{"$ref":"#/types/azure:monitoring/DataCollectionRuleDestinationsStorageBlob:DataCollectionRuleDestinationsStorageBlob"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`storageBlob`\" pulumi-lang-dotnet=\"`StorageBlob`\" pulumi-lang-go=\"`storageBlob`\" pulumi-lang-python=\"`storage_blob`\" pulumi-lang-yaml=\"`storageBlob`\" pulumi-lang-java=\"`storageBlob`\"\u003e`storage_blob`\u003c/span\u003e blocks as defined below.\n"},"storageTableDirects":{"type":"array","items":{"$ref":"#/types/azure:monitoring/DataCollectionRuleDestinationsStorageTableDirect:DataCollectionRuleDestinationsStorageTableDirect"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`storageTableDirect`\" pulumi-lang-dotnet=\"`StorageTableDirect`\" pulumi-lang-go=\"`storageTableDirect`\" pulumi-lang-python=\"`storage_table_direct`\" pulumi-lang-yaml=\"`storageTableDirect`\" pulumi-lang-java=\"`storageTableDirect`\"\u003e`storage_table_direct`\u003c/span\u003e blocks as defined below.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`eventHubDirect`\" pulumi-lang-dotnet=\"`EventHubDirect`\" pulumi-lang-go=\"`eventHubDirect`\" pulumi-lang-python=\"`event_hub_direct`\" pulumi-lang-yaml=\"`eventHubDirect`\" pulumi-lang-java=\"`eventHubDirect`\"\u003e`event_hub_direct`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`storageBlobDirect`\" pulumi-lang-dotnet=\"`StorageBlobDirect`\" pulumi-lang-go=\"`storageBlobDirect`\" pulumi-lang-python=\"`storage_blob_direct`\" pulumi-lang-yaml=\"`storageBlobDirect`\" pulumi-lang-java=\"`storageBlobDirect`\"\u003e`storage_blob_direct`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`storageTableDirect`\" pulumi-lang-dotnet=\"`StorageTableDirect`\" pulumi-lang-go=\"`storageTableDirect`\" pulumi-lang-python=\"`storage_table_direct`\" pulumi-lang-yaml=\"`storageTableDirect`\" pulumi-lang-java=\"`storageTableDirect`\"\u003e`storage_table_direct`\u003c/span\u003e are only available for rules of kind `AgentDirectToStore`.\n\n\u003e **Note:** At least one of \u003cspan pulumi-lang-nodejs=\"`azureMonitorMetrics`\" pulumi-lang-dotnet=\"`AzureMonitorMetrics`\" pulumi-lang-go=\"`azureMonitorMetrics`\" pulumi-lang-python=\"`azure_monitor_metrics`\" pulumi-lang-yaml=\"`azureMonitorMetrics`\" pulumi-lang-java=\"`azureMonitorMetrics`\"\u003e`azure_monitor_metrics`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`eventHub`\" pulumi-lang-dotnet=\"`EventHub`\" pulumi-lang-go=\"`eventHub`\" pulumi-lang-python=\"`event_hub`\" pulumi-lang-yaml=\"`eventHub`\" pulumi-lang-java=\"`eventHub`\"\u003e`event_hub`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`eventHubDirect`\" pulumi-lang-dotnet=\"`EventHubDirect`\" pulumi-lang-go=\"`eventHubDirect`\" pulumi-lang-python=\"`event_hub_direct`\" pulumi-lang-yaml=\"`eventHubDirect`\" pulumi-lang-java=\"`eventHubDirect`\"\u003e`event_hub_direct`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`logAnalytics`\" pulumi-lang-dotnet=\"`LogAnalytics`\" pulumi-lang-go=\"`logAnalytics`\" pulumi-lang-python=\"`log_analytics`\" pulumi-lang-yaml=\"`logAnalytics`\" pulumi-lang-java=\"`logAnalytics`\"\u003e`log_analytics`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`monitorAccount`\" pulumi-lang-dotnet=\"`MonitorAccount`\" pulumi-lang-go=\"`monitorAccount`\" pulumi-lang-python=\"`monitor_account`\" pulumi-lang-yaml=\"`monitorAccount`\" pulumi-lang-java=\"`monitorAccount`\"\u003e`monitor_account`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`storageBlob`\" pulumi-lang-dotnet=\"`StorageBlob`\" pulumi-lang-go=\"`storageBlob`\" pulumi-lang-python=\"`storage_blob`\" pulumi-lang-yaml=\"`storageBlob`\" pulumi-lang-java=\"`storageBlob`\"\u003e`storage_blob`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`storageBlobDirect`\" pulumi-lang-dotnet=\"`StorageBlobDirect`\" pulumi-lang-go=\"`storageBlobDirect`\" pulumi-lang-python=\"`storage_blob_direct`\" pulumi-lang-yaml=\"`storageBlobDirect`\" pulumi-lang-java=\"`storageBlobDirect`\"\u003e`storage_blob_direct`\u003c/span\u003e,and \u003cspan pulumi-lang-nodejs=\"`storageTableDirect`\" pulumi-lang-dotnet=\"`StorageTableDirect`\" pulumi-lang-go=\"`storageTableDirect`\" pulumi-lang-python=\"`storage_table_direct`\" pulumi-lang-yaml=\"`storageTableDirect`\" pulumi-lang-java=\"`storageTableDirect`\"\u003e`storage_table_direct`\u003c/span\u003e blocks must be specified.\n"}},"type":"object"},"azure:monitoring/DataCollectionRuleDestinationsAzureMonitorMetrics:DataCollectionRuleDestinationsAzureMonitorMetrics":{"properties":{"name":{"type":"string","description":"The name which should be used for this destination. This name should be unique across all destinations regardless of type within the Data Collection Rule.\n"}},"type":"object","required":["name"]},"azure:monitoring/DataCollectionRuleDestinationsEventHub:DataCollectionRuleDestinationsEventHub":{"properties":{"eventHubId":{"type":"string","description":"The resource ID of the Event Hub.\n"},"name":{"type":"string","description":"The name which should be used for this destination. This name should be unique across all destinations regardless of type within the Data Collection Rule.\n"}},"type":"object","required":["eventHubId","name"]},"azure:monitoring/DataCollectionRuleDestinationsEventHubDirect:DataCollectionRuleDestinationsEventHubDirect":{"properties":{"eventHubId":{"type":"string","description":"The resource ID of the Event Hub.\n"},"name":{"type":"string","description":"The name which should be used for this destination. This name should be unique across all destinations regardless of type within the Data Collection Rule.\n"}},"type":"object","required":["eventHubId","name"]},"azure:monitoring/DataCollectionRuleDestinationsLogAnalytic:DataCollectionRuleDestinationsLogAnalytic":{"properties":{"name":{"type":"string","description":"The name which should be used for this destination. This name should be unique across all destinations regardless of type within the Data Collection Rule.\n"},"workspaceResourceId":{"type":"string","description":"The ID of a Log Analytic Workspace resource.\n"}},"type":"object","required":["name","workspaceResourceId"]},"azure:monitoring/DataCollectionRuleDestinationsMonitorAccount:DataCollectionRuleDestinationsMonitorAccount":{"properties":{"monitorAccountId":{"type":"string","description":"The resource ID of the Monitor Account.\n"},"name":{"type":"string","description":"The name which should be used for this destination. This name should be unique across all destinations regardless of type within the Data Collection Rule.\n"}},"type":"object","required":["monitorAccountId","name"]},"azure:monitoring/DataCollectionRuleDestinationsStorageBlob:DataCollectionRuleDestinationsStorageBlob":{"properties":{"containerName":{"type":"string","description":"The Storage Container name.\n"},"name":{"type":"string","description":"The name which should be used for this destination. This name should be unique across all destinations regardless of type within the Data Collection Rule.\n"},"storageAccountId":{"type":"string","description":"The resource ID of the Storage Account.\n"}},"type":"object","required":["containerName","name","storageAccountId"]},"azure:monitoring/DataCollectionRuleDestinationsStorageBlobDirect:DataCollectionRuleDestinationsStorageBlobDirect":{"properties":{"containerName":{"type":"string","description":"The Storage Container name.\n"},"name":{"type":"string","description":"The name which should be used for this destination. This name should be unique across all destinations regardless of type within the Data Collection Rule.\n"},"storageAccountId":{"type":"string","description":"The resource ID of the Storage Account.\n"}},"type":"object","required":["containerName","name","storageAccountId"]},"azure:monitoring/DataCollectionRuleDestinationsStorageTableDirect:DataCollectionRuleDestinationsStorageTableDirect":{"properties":{"name":{"type":"string","description":"The name which should be used for this destination. This name should be unique across all destinations regardless of type within the Data Collection Rule.\n"},"storageAccountId":{"type":"string","description":"The resource ID of the Storage Account.\n"},"tableName":{"type":"string","description":"The Storage Table name.\n"}},"type":"object","required":["name","storageAccountId","tableName"]},"azure:monitoring/DataCollectionRuleIdentity:DataCollectionRuleIdentity":{"properties":{"identityIds":{"type":"array","items":{"type":"string"},"description":"A list of User Assigned Managed Identity IDs to be assigned to this Data Collection Rule. Currently, up to 1 identity is supported.\n\n\u003e **Note:** This is required when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to `UserAssigned`.\n"},"principalId":{"type":"string","description":"The Principal ID associated with this Managed Service Identity.\n"},"tenantId":{"type":"string","description":"The Tenant ID associated with this Managed Service Identity.\n"},"type":{"type":"string","description":"Specifies the type of Managed Service Identity that should be configured on this Data Collection Rule. Possible values are `SystemAssigned` and `UserAssigned`.\n"}},"type":"object","required":["type"],"language":{"nodejs":{"requiredOutputs":["principalId","tenantId","type"]}}},"azure:monitoring/DataCollectionRuleStreamDeclaration:DataCollectionRuleStreamDeclaration":{"properties":{"columns":{"type":"array","items":{"$ref":"#/types/azure:monitoring/DataCollectionRuleStreamDeclarationColumn:DataCollectionRuleStreamDeclarationColumn"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`column`\" pulumi-lang-dotnet=\"`Column`\" pulumi-lang-go=\"`column`\" pulumi-lang-python=\"`column`\" pulumi-lang-yaml=\"`column`\" pulumi-lang-java=\"`column`\"\u003e`column`\u003c/span\u003e blocks as defined above.\n"},"streamName":{"type":"string","description":"The name of the custom stream. This name should be unique across all \u003cspan pulumi-lang-nodejs=\"`streamDeclaration`\" pulumi-lang-dotnet=\"`StreamDeclaration`\" pulumi-lang-go=\"`streamDeclaration`\" pulumi-lang-python=\"`stream_declaration`\" pulumi-lang-yaml=\"`streamDeclaration`\" pulumi-lang-java=\"`streamDeclaration`\"\u003e`stream_declaration`\u003c/span\u003e blocks and must begin with a prefix of `Custom-`.\n"}},"type":"object","required":["columns","streamName"]},"azure:monitoring/DataCollectionRuleStreamDeclarationColumn:DataCollectionRuleStreamDeclarationColumn":{"properties":{"name":{"type":"string","description":"The name of the column.\n"},"type":{"type":"string","description":"The type of the column data. Possible values are \u003cspan pulumi-lang-nodejs=\"`string`\" pulumi-lang-dotnet=\"`String`\" pulumi-lang-go=\"`string`\" pulumi-lang-python=\"`string`\" pulumi-lang-yaml=\"`string`\" pulumi-lang-java=\"`string`\"\u003e`string`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`int`\" pulumi-lang-dotnet=\"`Int`\" pulumi-lang-go=\"`int`\" pulumi-lang-python=\"`int`\" pulumi-lang-yaml=\"`int`\" pulumi-lang-java=\"`int`\"\u003e`int`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`long`\" pulumi-lang-dotnet=\"`Long`\" pulumi-lang-go=\"`long`\" pulumi-lang-python=\"`long`\" pulumi-lang-yaml=\"`long`\" pulumi-lang-java=\"`long`\"\u003e`long`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`real`\" pulumi-lang-dotnet=\"`Real`\" pulumi-lang-go=\"`real`\" pulumi-lang-python=\"`real`\" pulumi-lang-yaml=\"`real`\" pulumi-lang-java=\"`real`\"\u003e`real`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`boolean`\" pulumi-lang-dotnet=\"`Boolean`\" pulumi-lang-go=\"`boolean`\" pulumi-lang-python=\"`boolean`\" pulumi-lang-yaml=\"`boolean`\" pulumi-lang-java=\"`boolean`\"\u003e`boolean`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`datetime`\" pulumi-lang-dotnet=\"`Datetime`\" pulumi-lang-go=\"`datetime`\" pulumi-lang-python=\"`datetime`\" pulumi-lang-yaml=\"`datetime`\" pulumi-lang-java=\"`datetime`\"\u003e`datetime`\u003c/span\u003e,and \u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e.\n"}},"type":"object","required":["name","type"]},"azure:monitoring/DiagnosticSettingEnabledLog:DiagnosticSettingEnabledLog":{"properties":{"category":{"type":"string","description":"The name of a Diagnostic Log Category for this Resource.\n\n\u003e **NOTE:** The Log Categories available vary depending on the Resource being used. You may wish to use the \u003cspan pulumi-lang-nodejs=\"`azure.monitoring.getDiagnosticCategories`\" pulumi-lang-dotnet=\"`azure.monitoring.getDiagnosticCategories`\" pulumi-lang-go=\"`monitoring.getDiagnosticCategories`\" pulumi-lang-python=\"`monitoring_get_diagnostic_categories`\" pulumi-lang-yaml=\"`azure.monitoring.getDiagnosticCategories`\" pulumi-lang-java=\"`azure.monitoring.getDiagnosticCategories`\"\u003e`azure.monitoring.getDiagnosticCategories`\u003c/span\u003e Data Source or [list of service specific schemas](https://docs.microsoft.com/azure/azure-monitor/platform/resource-logs-schema#service-specific-schemas) to identify which categories are available for a given Resource.\n"},"categoryGroup":{"type":"string","description":"The name of a Diagnostic Log Category Group for this Resource.\n\n\u003e **NOTE:** Not all resources have category groups available.\n\n\u003e **NOTE:** Exactly one of \u003cspan pulumi-lang-nodejs=\"`category`\" pulumi-lang-dotnet=\"`Category`\" pulumi-lang-go=\"`category`\" pulumi-lang-python=\"`category`\" pulumi-lang-yaml=\"`category`\" pulumi-lang-java=\"`category`\"\u003e`category`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`categoryGroup`\" pulumi-lang-dotnet=\"`CategoryGroup`\" pulumi-lang-go=\"`categoryGroup`\" pulumi-lang-python=\"`category_group`\" pulumi-lang-yaml=\"`categoryGroup`\" pulumi-lang-java=\"`categoryGroup`\"\u003e`category_group`\u003c/span\u003e must be specified.\n"},"retentionPolicy":{"$ref":"#/types/azure:monitoring/DiagnosticSettingEnabledLogRetentionPolicy:DiagnosticSettingEnabledLogRetentionPolicy","deprecationMessage":"\u003cspan pulumi-lang-nodejs=\"`retentionPolicy`\" pulumi-lang-dotnet=\"`RetentionPolicy`\" pulumi-lang-go=\"`retentionPolicy`\" pulumi-lang-python=\"`retention_policy`\" pulumi-lang-yaml=\"`retentionPolicy`\" pulumi-lang-java=\"`retentionPolicy`\"\u003e`retention_policy`\u003c/span\u003e has been deprecated in favor of \u003cspan pulumi-lang-nodejs=\"`azure.storage.ManagementPolicy`\" pulumi-lang-dotnet=\"`azure.storage.ManagementPolicy`\" pulumi-lang-go=\"`storage.ManagementPolicy`\" pulumi-lang-python=\"`storage.ManagementPolicy`\" pulumi-lang-yaml=\"`azure.storage.ManagementPolicy`\" pulumi-lang-java=\"`azure.storage.ManagementPolicy`\"\u003e`azure.storage.ManagementPolicy`\u003c/span\u003e resource - to learn more https://aka.ms/diagnostic_settings_log_retention"}},"type":"object"},"azure:monitoring/DiagnosticSettingEnabledLogRetentionPolicy:DiagnosticSettingEnabledLogRetentionPolicy":{"properties":{"days":{"type":"integer"},"enabled":{"type":"boolean"}},"type":"object","required":["enabled"]},"azure:monitoring/DiagnosticSettingEnabledMetric:DiagnosticSettingEnabledMetric":{"properties":{"category":{"type":"string","description":"The name of a Diagnostic Metric Category for this Resource.\n\n\u003e **NOTE:** The Metric Categories available vary depending on the Resource being used. You may wish to use the \u003cspan pulumi-lang-nodejs=\"`azure.monitoring.getDiagnosticCategories`\" pulumi-lang-dotnet=\"`azure.monitoring.getDiagnosticCategories`\" pulumi-lang-go=\"`monitoring.getDiagnosticCategories`\" pulumi-lang-python=\"`monitoring_get_diagnostic_categories`\" pulumi-lang-yaml=\"`azure.monitoring.getDiagnosticCategories`\" pulumi-lang-java=\"`azure.monitoring.getDiagnosticCategories`\"\u003e`azure.monitoring.getDiagnosticCategories`\u003c/span\u003e Data Source to identify which categories are available for a given Resource.\n"}},"type":"object","required":["category"]},"azure:monitoring/DiagnosticSettingMetric:DiagnosticSettingMetric":{"properties":{"category":{"type":"string"},"enabled":{"type":"boolean"},"retentionPolicy":{"$ref":"#/types/azure:monitoring/DiagnosticSettingMetricRetentionPolicy:DiagnosticSettingMetricRetentionPolicy","deprecationMessage":"\u003cspan pulumi-lang-nodejs=\"`retentionPolicy`\" pulumi-lang-dotnet=\"`RetentionPolicy`\" pulumi-lang-go=\"`retentionPolicy`\" pulumi-lang-python=\"`retention_policy`\" pulumi-lang-yaml=\"`retentionPolicy`\" pulumi-lang-java=\"`retentionPolicy`\"\u003e`retention_policy`\u003c/span\u003e has been deprecated in favor of the \u003cspan pulumi-lang-nodejs=\"`azure.storage.ManagementPolicy`\" pulumi-lang-dotnet=\"`azure.storage.ManagementPolicy`\" pulumi-lang-go=\"`storage.ManagementPolicy`\" pulumi-lang-python=\"`storage.ManagementPolicy`\" pulumi-lang-yaml=\"`azure.storage.ManagementPolicy`\" pulumi-lang-java=\"`azure.storage.ManagementPolicy`\"\u003e`azure.storage.ManagementPolicy`\u003c/span\u003e resource and will be removed in v5.0 of the AzureRM provider - to learn more go to https://aka.ms/diagnostic_settings_log_retention"}},"type":"object","required":["category"]},"azure:monitoring/DiagnosticSettingMetricRetentionPolicy:DiagnosticSettingMetricRetentionPolicy":{"properties":{"days":{"type":"integer"},"enabled":{"type":"boolean"}},"type":"object","required":["enabled"]},"azure:monitoring/MetricAlertAction:MetricAlertAction":{"properties":{"actionGroupId":{"type":"string","description":"The ID of the Action Group can be sourced from the \u003cspan pulumi-lang-nodejs=\"`azure.monitoring.ActionGroup`\" pulumi-lang-dotnet=\"`azure.monitoring.ActionGroup`\" pulumi-lang-go=\"`monitoring.ActionGroup`\" pulumi-lang-python=\"`monitoring.ActionGroup`\" pulumi-lang-yaml=\"`azure.monitoring.ActionGroup`\" pulumi-lang-java=\"`azure.monitoring.ActionGroup`\"\u003e`azure.monitoring.ActionGroup`\u003c/span\u003e resource\n"},"webhookProperties":{"type":"object","additionalProperties":{"type":"string"},"description":"The map of custom string properties to include with the post operation. These data are appended to the webhook payload.\n"}},"type":"object","required":["actionGroupId"]},"azure:monitoring/MetricAlertApplicationInsightsWebTestLocationAvailabilityCriteria:MetricAlertApplicationInsightsWebTestLocationAvailabilityCriteria":{"properties":{"componentId":{"type":"string","description":"The ID of the Application Insights Resource.\n"},"failedLocationCount":{"type":"integer","description":"The number of failed locations.\n"},"webTestId":{"type":"string","description":"The ID of the Application Insights Web Test.\n"}},"type":"object","required":["componentId","failedLocationCount","webTestId"]},"azure:monitoring/MetricAlertCriteria:MetricAlertCriteria":{"properties":{"aggregation":{"type":"string","description":"The statistic that runs over the metric values. Possible values are `Average`, `Count`, `Minimum`, `Maximum` and `Total`.\n"},"dimensions":{"type":"array","items":{"$ref":"#/types/azure:monitoring/MetricAlertCriteriaDimension:MetricAlertCriteriaDimension"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`dimension`\" pulumi-lang-dotnet=\"`Dimension`\" pulumi-lang-go=\"`dimension`\" pulumi-lang-python=\"`dimension`\" pulumi-lang-yaml=\"`dimension`\" pulumi-lang-java=\"`dimension`\"\u003e`dimension`\u003c/span\u003e blocks as defined below.\n"},"metricName":{"type":"string","description":"One of the metric names to be monitored.\n"},"metricNamespace":{"type":"string","description":"One of the metric namespaces to be monitored.\n"},"operator":{"type":"string","description":"The criteria operator. Possible values are `Equals`, `GreaterThan`, `GreaterThanOrEqual`, `LessThan` and `LessThanOrEqual`.\n"},"skipMetricValidation":{"type":"boolean","description":"Skip the metric validation to allow creating an alert rule on a custom metric that isn't yet emitted? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"threshold":{"type":"number","description":"The criteria threshold value that activates the alert.\n"}},"type":"object","required":["aggregation","metricName","metricNamespace","operator","threshold"]},"azure:monitoring/MetricAlertCriteriaDimension:MetricAlertCriteriaDimension":{"properties":{"name":{"type":"string","description":"One of the dimension names.\n"},"operator":{"type":"string","description":"The dimension operator. Possible values are `Include`, `Exclude` and `StartsWith`.\n"},"values":{"type":"array","items":{"type":"string"},"description":"The list of dimension values.\n"}},"type":"object","required":["name","operator","values"]},"azure:monitoring/MetricAlertDynamicCriteria:MetricAlertDynamicCriteria":{"properties":{"aggregation":{"type":"string","description":"The statistic that runs over the metric values. Possible values are `Average`, `Count`, `Minimum`, `Maximum` and `Total`.\n"},"alertSensitivity":{"type":"string","description":"The extent of deviation required to trigger an alert. Possible values are `Low`, `Medium` and `High`.\n"},"dimensions":{"type":"array","items":{"$ref":"#/types/azure:monitoring/MetricAlertDynamicCriteriaDimension:MetricAlertDynamicCriteriaDimension"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`dimension`\" pulumi-lang-dotnet=\"`Dimension`\" pulumi-lang-go=\"`dimension`\" pulumi-lang-python=\"`dimension`\" pulumi-lang-yaml=\"`dimension`\" pulumi-lang-java=\"`dimension`\"\u003e`dimension`\u003c/span\u003e blocks as defined below.\n"},"evaluationFailureCount":{"type":"integer","description":"The number of violations to trigger an alert. Should be smaller or equal to \u003cspan pulumi-lang-nodejs=\"`evaluationTotalCount`\" pulumi-lang-dotnet=\"`EvaluationTotalCount`\" pulumi-lang-go=\"`evaluationTotalCount`\" pulumi-lang-python=\"`evaluation_total_count`\" pulumi-lang-yaml=\"`evaluationTotalCount`\" pulumi-lang-java=\"`evaluationTotalCount`\"\u003e`evaluation_total_count`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`4`\" pulumi-lang-dotnet=\"`4`\" pulumi-lang-go=\"`4`\" pulumi-lang-python=\"`4`\" pulumi-lang-yaml=\"`4`\" pulumi-lang-java=\"`4`\"\u003e`4`\u003c/span\u003e.\n"},"evaluationTotalCount":{"type":"integer","description":"The number of aggregated lookback points. The lookback time window is calculated based on the aggregation granularity (\u003cspan pulumi-lang-nodejs=\"`windowSize`\" pulumi-lang-dotnet=\"`WindowSize`\" pulumi-lang-go=\"`windowSize`\" pulumi-lang-python=\"`window_size`\" pulumi-lang-yaml=\"`windowSize`\" pulumi-lang-java=\"`windowSize`\"\u003e`window_size`\u003c/span\u003e) and the selected number of aggregated points. Defaults to \u003cspan pulumi-lang-nodejs=\"`4`\" pulumi-lang-dotnet=\"`4`\" pulumi-lang-go=\"`4`\" pulumi-lang-python=\"`4`\" pulumi-lang-yaml=\"`4`\" pulumi-lang-java=\"`4`\"\u003e`4`\u003c/span\u003e.\n"},"ignoreDataBefore":{"type":"string","description":"The [ISO8601](https://en.wikipedia.org/wiki/ISO_8601) date from which to start learning the metric historical data and calculate the dynamic thresholds.\n"},"metricName":{"type":"string","description":"One of the metric names to be monitored.\n"},"metricNamespace":{"type":"string","description":"One of the metric namespaces to be monitored.\n"},"operator":{"type":"string","description":"The criteria operator. Possible values are `LessThan`, `GreaterThan` and `GreaterOrLessThan`.\n"},"skipMetricValidation":{"type":"boolean","description":"Skip the metric validation to allow creating an alert rule on a custom metric that isn't yet emitted?\n"}},"type":"object","required":["aggregation","alertSensitivity","metricName","metricNamespace","operator"]},"azure:monitoring/MetricAlertDynamicCriteriaDimension:MetricAlertDynamicCriteriaDimension":{"properties":{"name":{"type":"string","description":"One of the dimension names.\n"},"operator":{"type":"string","description":"The dimension operator. Possible values are `Include`, `Exclude` and `StartsWith`.\n"},"values":{"type":"array","items":{"type":"string"},"description":"The list of dimension values.\n"}},"type":"object","required":["name","operator","values"]},"azure:monitoring/ScheduledQueryRulesAlertAction:ScheduledQueryRulesAlertAction":{"properties":{"actionGroups":{"type":"array","items":{"type":"string"},"description":"List of action group reference resource IDs.\n"},"customWebhookPayload":{"type":"string","description":"Custom payload to be sent for all webhook payloads in alerting action.\n"},"emailSubject":{"type":"string","description":"Custom subject override for all email ids in Azure action group.\n"}},"type":"object","required":["actionGroups"]},"azure:monitoring/ScheduledQueryRulesAlertTrigger:ScheduledQueryRulesAlertTrigger":{"properties":{"metricTrigger":{"$ref":"#/types/azure:monitoring/ScheduledQueryRulesAlertTriggerMetricTrigger:ScheduledQueryRulesAlertTriggerMetricTrigger","description":"A \u003cspan pulumi-lang-nodejs=\"`metricTrigger`\" pulumi-lang-dotnet=\"`MetricTrigger`\" pulumi-lang-go=\"`metricTrigger`\" pulumi-lang-python=\"`metric_trigger`\" pulumi-lang-yaml=\"`metricTrigger`\" pulumi-lang-java=\"`metricTrigger`\"\u003e`metric_trigger`\u003c/span\u003e block as defined above. Trigger condition for metric query rule.\n"},"operator":{"type":"string","description":"Evaluation operation for rule - 'GreaterThan', GreaterThanOrEqual', 'LessThan', or 'LessThanOrEqual'.\n"},"threshold":{"type":"number","description":"Result or count threshold based on which rule should be triggered. Values must be between 0 and 10000 inclusive.\n"}},"type":"object","required":["operator","threshold"]},"azure:monitoring/ScheduledQueryRulesAlertTriggerMetricTrigger:ScheduledQueryRulesAlertTriggerMetricTrigger":{"properties":{"metricColumn":{"type":"string","description":"Evaluation of metric on a particular column.\n"},"metricTriggerType":{"type":"string","description":"Metric Trigger Type - 'Consecutive' or 'Total'.\n"},"operator":{"type":"string","description":"Evaluation operation for rule - 'Equal', 'GreaterThan', GreaterThanOrEqual', 'LessThan', or 'LessThanOrEqual'.\n"},"threshold":{"type":"number","description":"The threshold of the metric trigger. Values must be between 0 and 10000 inclusive.\n"}},"type":"object","required":["metricTriggerType","operator","threshold"]},"azure:monitoring/ScheduledQueryRulesAlertV2Action:ScheduledQueryRulesAlertV2Action":{"properties":{"actionGroups":{"type":"array","items":{"type":"string"},"description":"List of Action Group resource IDs to invoke when the alert fires.\n"},"customProperties":{"type":"object","additionalProperties":{"type":"string"},"description":"Specifies the properties of an alert payload.\n"}},"type":"object"},"azure:monitoring/ScheduledQueryRulesAlertV2Criteria:ScheduledQueryRulesAlertV2Criteria":{"properties":{"dimensions":{"type":"array","items":{"$ref":"#/types/azure:monitoring/ScheduledQueryRulesAlertV2CriteriaDimension:ScheduledQueryRulesAlertV2CriteriaDimension"},"description":"A \u003cspan pulumi-lang-nodejs=\"`dimension`\" pulumi-lang-dotnet=\"`Dimension`\" pulumi-lang-go=\"`dimension`\" pulumi-lang-python=\"`dimension`\" pulumi-lang-yaml=\"`dimension`\" pulumi-lang-java=\"`dimension`\"\u003e`dimension`\u003c/span\u003e block as defined below.\n"},"failingPeriods":{"$ref":"#/types/azure:monitoring/ScheduledQueryRulesAlertV2CriteriaFailingPeriods:ScheduledQueryRulesAlertV2CriteriaFailingPeriods","description":"A \u003cspan pulumi-lang-nodejs=\"`failingPeriods`\" pulumi-lang-dotnet=\"`FailingPeriods`\" pulumi-lang-go=\"`failingPeriods`\" pulumi-lang-python=\"`failing_periods`\" pulumi-lang-yaml=\"`failingPeriods`\" pulumi-lang-java=\"`failingPeriods`\"\u003e`failing_periods`\u003c/span\u003e block as defined below.\n"},"metricMeasureColumn":{"type":"string","description":"Specifies the column containing the metric measure number.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`metricMeasureColumn`\" pulumi-lang-dotnet=\"`MetricMeasureColumn`\" pulumi-lang-go=\"`metricMeasureColumn`\" pulumi-lang-python=\"`metric_measure_column`\" pulumi-lang-yaml=\"`metricMeasureColumn`\" pulumi-lang-java=\"`metricMeasureColumn`\"\u003e`metric_measure_column`\u003c/span\u003e is required if \u003cspan pulumi-lang-nodejs=\"`timeAggregationMethod`\" pulumi-lang-dotnet=\"`TimeAggregationMethod`\" pulumi-lang-go=\"`timeAggregationMethod`\" pulumi-lang-python=\"`time_aggregation_method`\" pulumi-lang-yaml=\"`timeAggregationMethod`\" pulumi-lang-java=\"`timeAggregationMethod`\"\u003e`time_aggregation_method`\u003c/span\u003e is `Average`, `Maximum`, `Minimum`, or `Total`. And \u003cspan pulumi-lang-nodejs=\"`metricMeasureColumn`\" pulumi-lang-dotnet=\"`MetricMeasureColumn`\" pulumi-lang-go=\"`metricMeasureColumn`\" pulumi-lang-python=\"`metric_measure_column`\" pulumi-lang-yaml=\"`metricMeasureColumn`\" pulumi-lang-java=\"`metricMeasureColumn`\"\u003e`metric_measure_column`\u003c/span\u003e can not be specified if \u003cspan pulumi-lang-nodejs=\"`timeAggregationMethod`\" pulumi-lang-dotnet=\"`TimeAggregationMethod`\" pulumi-lang-go=\"`timeAggregationMethod`\" pulumi-lang-python=\"`time_aggregation_method`\" pulumi-lang-yaml=\"`timeAggregationMethod`\" pulumi-lang-java=\"`timeAggregationMethod`\"\u003e`time_aggregation_method`\u003c/span\u003e is `Count`.\n"},"operator":{"type":"string","description":"Specifies the criteria operator. Possible values are `Equal`, `GreaterThan`, `GreaterThanOrEqual`, `LessThan`,and `LessThanOrEqual`.\n"},"query":{"type":"string","description":"The query to run on logs. The results returned by this query are used to populate the alert.\n"},"resourceIdColumn":{"type":"string","description":"Specifies the column containing the resource ID. The content of the column must be an uri formatted as resource ID.\n"},"threshold":{"type":"number","description":"Specifies the criteria threshold value that activates the alert.\n"},"timeAggregationMethod":{"type":"string","description":"The type of aggregation to apply to the data points in aggregation granularity. Possible values are `Average`, `Count`, `Maximum`, `Minimum`,and `Total`.\n"}},"type":"object","required":["operator","query","threshold","timeAggregationMethod"]},"azure:monitoring/ScheduledQueryRulesAlertV2CriteriaDimension:ScheduledQueryRulesAlertV2CriteriaDimension":{"properties":{"name":{"type":"string","description":"Name of the dimension.\n"},"operator":{"type":"string","description":"Operator for dimension values. Possible values are `Exclude`,and `Include`.\n"},"values":{"type":"array","items":{"type":"string"},"description":"List of dimension values. Use a wildcard `*` to collect all.\n"}},"type":"object","required":["name","operator","values"]},"azure:monitoring/ScheduledQueryRulesAlertV2CriteriaFailingPeriods:ScheduledQueryRulesAlertV2CriteriaFailingPeriods":{"properties":{"minimumFailingPeriodsToTriggerAlert":{"type":"integer","description":"Specifies the number of violations to trigger an alert. Should be smaller or equal to \u003cspan pulumi-lang-nodejs=\"`numberOfEvaluationPeriods`\" pulumi-lang-dotnet=\"`NumberOfEvaluationPeriods`\" pulumi-lang-go=\"`numberOfEvaluationPeriods`\" pulumi-lang-python=\"`number_of_evaluation_periods`\" pulumi-lang-yaml=\"`numberOfEvaluationPeriods`\" pulumi-lang-java=\"`numberOfEvaluationPeriods`\"\u003e`number_of_evaluation_periods`\u003c/span\u003e. Possible value is integer between 1 and 6.\n"},"numberOfEvaluationPeriods":{"type":"integer","description":"Specifies the number of aggregated look-back points. The look-back time window is calculated based on the aggregation granularity \u003cspan pulumi-lang-nodejs=\"`windowDuration`\" pulumi-lang-dotnet=\"`WindowDuration`\" pulumi-lang-go=\"`windowDuration`\" pulumi-lang-python=\"`window_duration`\" pulumi-lang-yaml=\"`windowDuration`\" pulumi-lang-java=\"`windowDuration`\"\u003e`window_duration`\u003c/span\u003e and the selected number of aggregated points. Possible value is integer between 1 and 6.\n\n\u003e **Note:** The query look back which is \u003cspan pulumi-lang-nodejs=\"`windowDuration`\" pulumi-lang-dotnet=\"`WindowDuration`\" pulumi-lang-go=\"`windowDuration`\" pulumi-lang-python=\"`window_duration`\" pulumi-lang-yaml=\"`windowDuration`\" pulumi-lang-java=\"`windowDuration`\"\u003e`window_duration`\u003c/span\u003e*\u003cspan pulumi-lang-nodejs=\"`numberOfEvaluationPeriods`\" pulumi-lang-dotnet=\"`NumberOfEvaluationPeriods`\" pulumi-lang-go=\"`numberOfEvaluationPeriods`\" pulumi-lang-python=\"`number_of_evaluation_periods`\" pulumi-lang-yaml=\"`numberOfEvaluationPeriods`\" pulumi-lang-java=\"`numberOfEvaluationPeriods`\"\u003e`number_of_evaluation_periods`\u003c/span\u003e cannot exceed 48 hours.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`numberOfEvaluationPeriods`\" pulumi-lang-dotnet=\"`NumberOfEvaluationPeriods`\" pulumi-lang-go=\"`numberOfEvaluationPeriods`\" pulumi-lang-python=\"`number_of_evaluation_periods`\" pulumi-lang-yaml=\"`numberOfEvaluationPeriods`\" pulumi-lang-java=\"`numberOfEvaluationPeriods`\"\u003e`number_of_evaluation_periods`\u003c/span\u003e must be \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e for queries that do not project timestamp column\n"}},"type":"object","required":["minimumFailingPeriodsToTriggerAlert","numberOfEvaluationPeriods"]},"azure:monitoring/ScheduledQueryRulesAlertV2Identity:ScheduledQueryRulesAlertV2Identity":{"properties":{"identityIds":{"type":"array","items":{"type":"string"},"description":"A list of User Assigned Managed Identity IDs to be assigned to this Scheduled Query Rule.\n\n\u003e **Note:** This is required when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to `UserAssigned`. The identity associated must have required roles, read the [Azure documentation](https://learn.microsoft.com/en-us/azure/azure-monitor/alerts/alerts-create-log-alert-rule#configure-the-alert-rule-details) for more information.\n"},"principalId":{"type":"string","description":"The Principal ID for the Service Principal associated with the Managed Service Identity of this App Service slot.\n"},"tenantId":{"type":"string","description":"The Tenant ID for the Service Principal associated with the Managed Service Identity of this App Service slot.\n"},"type":{"type":"string","description":"Specifies the type of Managed Service Identity that should be configured on this Scheduled Query Rule. Possible values are `SystemAssigned`, `UserAssigned`.\n"}},"type":"object","required":["type"],"language":{"nodejs":{"requiredOutputs":["principalId","tenantId","type"]}}},"azure:monitoring/ScheduledQueryRulesLogCriteria:ScheduledQueryRulesLogCriteria":{"properties":{"dimensions":{"type":"array","items":{"$ref":"#/types/azure:monitoring/ScheduledQueryRulesLogCriteriaDimension:ScheduledQueryRulesLogCriteriaDimension"},"description":"A \u003cspan pulumi-lang-nodejs=\"`dimension`\" pulumi-lang-dotnet=\"`Dimension`\" pulumi-lang-go=\"`dimension`\" pulumi-lang-python=\"`dimension`\" pulumi-lang-yaml=\"`dimension`\" pulumi-lang-java=\"`dimension`\"\u003e`dimension`\u003c/span\u003e block as defined below.\n"},"metricName":{"type":"string","description":"Name of the metric. Supported metrics are listed in the Azure Monitor [Microsoft.OperationalInsights/workspaces](https://docs.microsoft.com/azure/azure-monitor/platform/metrics-supported#microsoftoperationalinsightsworkspaces) metrics namespace.\n"}},"type":"object","required":["dimensions","metricName"]},"azure:monitoring/ScheduledQueryRulesLogCriteriaDimension:ScheduledQueryRulesLogCriteriaDimension":{"properties":{"name":{"type":"string","description":"Name of the dimension.\n"},"operator":{"type":"string","description":"Operator for dimension values, - 'Include'. Defaults to `Include`.\n"},"values":{"type":"array","items":{"type":"string"},"description":"List of dimension values.\n"}},"type":"object","required":["name","values"]},"azure:monitoring/SmartDetectorAlertRuleActionGroup:SmartDetectorAlertRuleActionGroup":{"properties":{"emailSubject":{"type":"string","description":"Specifies a custom email subject if Email Receiver is specified in Monitor Action Group resource.\n"},"ids":{"type":"array","items":{"type":"string"},"description":"Specifies the action group ids.\n"},"webhookPayload":{"type":"string","description":"A JSON String which Specifies the custom webhook payload if Webhook Receiver is specified in Monitor Action Group resource.\n"}},"type":"object","required":["ids"]},"azure:monitoring/getActionGroupArmRoleReceiver:getActionGroupArmRoleReceiver":{"properties":{"name":{"type":"string","description":"Specifies the name of the Action Group.\n"},"roleId":{"type":"string","description":"The arm role id.\n"},"useCommonAlertSchema":{"type":"boolean","description":"Indicates whether to use common alert schema.\n"}},"type":"object","required":["name","roleId","useCommonAlertSchema"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:monitoring/getActionGroupAutomationRunbookReceiver:getActionGroupAutomationRunbookReceiver":{"properties":{"automationAccountId":{"type":"string","description":"The automation account ID which holds this runbook and authenticates to Azure resources.\n"},"isGlobalRunbook":{"type":"boolean","description":"Indicates whether this instance is global runbook.\n"},"name":{"type":"string","description":"Specifies the name of the Action Group.\n"},"runbookName":{"type":"string","description":"The name for this runbook.\n"},"serviceUri":{"type":"string","description":"The URI where webhooks should be sent.\n"},"useCommonAlertSchema":{"type":"boolean","description":"Indicates whether to use common alert schema.\n"},"webhookResourceId":{"type":"string","description":"The resource id for webhook linked to this runbook.\n"}},"type":"object","required":["automationAccountId","isGlobalRunbook","name","runbookName","serviceUri","useCommonAlertSchema","webhookResourceId"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:monitoring/getActionGroupAzureAppPushReceiver:getActionGroupAzureAppPushReceiver":{"properties":{"emailAddress":{"type":"string","description":"The email address of this receiver.\n"},"name":{"type":"string","description":"Specifies the name of the Action Group.\n"}},"type":"object","required":["emailAddress","name"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:monitoring/getActionGroupAzureFunctionReceiver:getActionGroupAzureFunctionReceiver":{"properties":{"functionAppResourceId":{"type":"string","description":"The Azure resource ID of the function app.\n"},"functionName":{"type":"string","description":"The function name in the function app.\n"},"httpTriggerUrl":{"type":"string","description":"The HTTP trigger url where HTTP request sent to.\n"},"name":{"type":"string","description":"Specifies the name of the Action Group.\n"},"useCommonAlertSchema":{"type":"boolean","description":"Indicates whether to use common alert schema.\n"}},"type":"object","required":["functionAppResourceId","functionName","httpTriggerUrl","name","useCommonAlertSchema"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:monitoring/getActionGroupEmailReceiver:getActionGroupEmailReceiver":{"properties":{"emailAddress":{"type":"string","description":"The email address of this receiver.\n"},"name":{"type":"string","description":"Specifies the name of the Action Group.\n"},"useCommonAlertSchema":{"type":"boolean","description":"Indicates whether to use common alert schema.\n"}},"type":"object","required":["emailAddress","name","useCommonAlertSchema"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:monitoring/getActionGroupEventHubReceiver:getActionGroupEventHubReceiver":{"properties":{"eventHubName":{"type":"string","description":"The name of the specific Event Hub queue.\n"},"eventHubNamespace":{"type":"string","description":"The namespace name of the Event Hub.\n"},"name":{"type":"string","description":"Specifies the name of the Action Group.\n"},"subscriptionId":{"type":"string","description":"The ID for the subscription containing this Event Hub. Default to the subscription ID of the Action Group.\n"},"tenantId":{"type":"string","description":"The Tenant ID for the subscription containing this Event Hub.\n"},"useCommonAlertSchema":{"type":"boolean","description":"Indicates whether to use common alert schema.\n"}},"type":"object","required":["eventHubName","eventHubNamespace","name","subscriptionId","tenantId"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:monitoring/getActionGroupItsmReceiver:getActionGroupItsmReceiver":{"properties":{"connectionId":{"type":"string","description":"The unique connection identifier of the ITSM connection.\n"},"name":{"type":"string","description":"Specifies the name of the Action Group.\n"},"region":{"type":"string","description":"The region of the workspace.\n"},"ticketConfiguration":{"type":"string","description":"A JSON blob for the configurations of the ITSM action. CreateMultipleWorkItems option will be part of this blob as well.\n"},"workspaceId":{"type":"string","description":"The Azure Log Analytics workspace ID where this connection is defined.\n"}},"type":"object","required":["connectionId","name","region","ticketConfiguration","workspaceId"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:monitoring/getActionGroupLogicAppReceiver:getActionGroupLogicAppReceiver":{"properties":{"callbackUrl":{"type":"string","description":"The callback url where HTTP request sent to.\n"},"name":{"type":"string","description":"Specifies the name of the Action Group.\n"},"resourceId":{"type":"string","description":"The Azure resource ID of the logic app.\n"},"useCommonAlertSchema":{"type":"boolean","description":"Indicates whether to use common alert schema.\n"}},"type":"object","required":["callbackUrl","name","resourceId","useCommonAlertSchema"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:monitoring/getActionGroupSmsReceiver:getActionGroupSmsReceiver":{"properties":{"countryCode":{"type":"string","description":"The country code of the voice receiver.\n"},"name":{"type":"string","description":"Specifies the name of the Action Group.\n"},"phoneNumber":{"type":"string","description":"The phone number of the voice receiver.\n"}},"type":"object","required":["countryCode","name","phoneNumber"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:monitoring/getActionGroupVoiceReceiver:getActionGroupVoiceReceiver":{"properties":{"countryCode":{"type":"string","description":"The country code of the voice receiver.\n"},"name":{"type":"string","description":"Specifies the name of the Action Group.\n"},"phoneNumber":{"type":"string","description":"The phone number of the voice receiver.\n"}},"type":"object","required":["countryCode","name","phoneNumber"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:monitoring/getActionGroupWebhookReceiver:getActionGroupWebhookReceiver":{"properties":{"aadAuths":{"type":"array","items":{"$ref":"#/types/azure:monitoring/getActionGroupWebhookReceiverAadAuth:getActionGroupWebhookReceiverAadAuth"}},"name":{"type":"string","description":"Specifies the name of the Action Group.\n"},"serviceUri":{"type":"string","description":"The URI where webhooks should be sent.\n"},"useCommonAlertSchema":{"type":"boolean","description":"Indicates whether to use common alert schema.\n"}},"type":"object","required":["aadAuths","name","serviceUri","useCommonAlertSchema"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:monitoring/getActionGroupWebhookReceiverAadAuth:getActionGroupWebhookReceiverAadAuth":{"properties":{"identifierUri":{"type":"string"},"objectId":{"type":"string"},"tenantId":{"type":"string","description":"The Tenant ID for the subscription containing this Event Hub.\n"}},"type":"object","required":["identifierUri","objectId","tenantId"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:monitoring/getDataCollectionRuleDataFlow:getDataCollectionRuleDataFlow":{"properties":{"builtInTransform":{"type":"string","description":"The built-in transform to transform stream data.\n"},"destinations":{"type":"array","items":{"type":"string"},"description":"Specifies a list of destination names. A \u003cspan pulumi-lang-nodejs=\"`azureMonitorMetrics`\" pulumi-lang-dotnet=\"`AzureMonitorMetrics`\" pulumi-lang-go=\"`azureMonitorMetrics`\" pulumi-lang-python=\"`azure_monitor_metrics`\" pulumi-lang-yaml=\"`azureMonitorMetrics`\" pulumi-lang-java=\"`azureMonitorMetrics`\"\u003e`azure_monitor_metrics`\u003c/span\u003e data source only allows for stream of kind `Microsoft-InsightsMetrics`.\n"},"outputStream":{"type":"string","description":"The output stream of the transform. Only required if the data flow changes data to a different stream.\n"},"streams":{"type":"array","items":{"type":"string"},"description":"Specifies a list of streams that this data source will be sent to. A stream indicates what schema will be used for this data and usually what table in Log Analytics the data will be sent to.\n"},"transformKql":{"type":"string","description":"The KQL query to transform stream data.\n"}},"type":"object","required":["builtInTransform","destinations","outputStream","streams","transformKql"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:monitoring/getDataCollectionRuleDataSource:getDataCollectionRuleDataSource":{"properties":{"dataImports":{"type":"array","items":{"$ref":"#/types/azure:monitoring/getDataCollectionRuleDataSourceDataImport:getDataCollectionRuleDataSourceDataImport"},"description":"A \u003cspan pulumi-lang-nodejs=\"`dataImport`\" pulumi-lang-dotnet=\"`DataImport`\" pulumi-lang-go=\"`dataImport`\" pulumi-lang-python=\"`data_import`\" pulumi-lang-yaml=\"`dataImport`\" pulumi-lang-java=\"`dataImport`\"\u003e`data_import`\u003c/span\u003e block as defined above.\n"},"extensions":{"type":"array","items":{"$ref":"#/types/azure:monitoring/getDataCollectionRuleDataSourceExtension:getDataCollectionRuleDataSourceExtension"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`extension`\" pulumi-lang-dotnet=\"`Extension`\" pulumi-lang-go=\"`extension`\" pulumi-lang-python=\"`extension`\" pulumi-lang-yaml=\"`extension`\" pulumi-lang-java=\"`extension`\"\u003e`extension`\u003c/span\u003e blocks as defined below.\n"},"iisLogs":{"type":"array","items":{"$ref":"#/types/azure:monitoring/getDataCollectionRuleDataSourceIisLog:getDataCollectionRuleDataSourceIisLog"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`iisLog`\" pulumi-lang-dotnet=\"`IisLog`\" pulumi-lang-go=\"`iisLog`\" pulumi-lang-python=\"`iis_log`\" pulumi-lang-yaml=\"`iisLog`\" pulumi-lang-java=\"`iisLog`\"\u003e`iis_log`\u003c/span\u003e blocks as defined below.\n"},"logFiles":{"type":"array","items":{"$ref":"#/types/azure:monitoring/getDataCollectionRuleDataSourceLogFile:getDataCollectionRuleDataSourceLogFile"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`logFile`\" pulumi-lang-dotnet=\"`LogFile`\" pulumi-lang-go=\"`logFile`\" pulumi-lang-python=\"`log_file`\" pulumi-lang-yaml=\"`logFile`\" pulumi-lang-java=\"`logFile`\"\u003e`log_file`\u003c/span\u003e blocks as defined below.\n"},"performanceCounters":{"type":"array","items":{"$ref":"#/types/azure:monitoring/getDataCollectionRuleDataSourcePerformanceCounter:getDataCollectionRuleDataSourcePerformanceCounter"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`performanceCounter`\" pulumi-lang-dotnet=\"`PerformanceCounter`\" pulumi-lang-go=\"`performanceCounter`\" pulumi-lang-python=\"`performance_counter`\" pulumi-lang-yaml=\"`performanceCounter`\" pulumi-lang-java=\"`performanceCounter`\"\u003e`performance_counter`\u003c/span\u003e blocks as defined below.\n"},"platformTelemetries":{"type":"array","items":{"$ref":"#/types/azure:monitoring/getDataCollectionRuleDataSourcePlatformTelemetry:getDataCollectionRuleDataSourcePlatformTelemetry"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`platformTelemetry`\" pulumi-lang-dotnet=\"`PlatformTelemetry`\" pulumi-lang-go=\"`platformTelemetry`\" pulumi-lang-python=\"`platform_telemetry`\" pulumi-lang-yaml=\"`platformTelemetry`\" pulumi-lang-java=\"`platformTelemetry`\"\u003e`platform_telemetry`\u003c/span\u003e blocks as defined below.\n"},"prometheusForwarders":{"type":"array","items":{"$ref":"#/types/azure:monitoring/getDataCollectionRuleDataSourcePrometheusForwarder:getDataCollectionRuleDataSourcePrometheusForwarder"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`prometheusForwarder`\" pulumi-lang-dotnet=\"`PrometheusForwarder`\" pulumi-lang-go=\"`prometheusForwarder`\" pulumi-lang-python=\"`prometheus_forwarder`\" pulumi-lang-yaml=\"`prometheusForwarder`\" pulumi-lang-java=\"`prometheusForwarder`\"\u003e`prometheus_forwarder`\u003c/span\u003e blocks as defined below.\n"},"syslogs":{"type":"array","items":{"$ref":"#/types/azure:monitoring/getDataCollectionRuleDataSourceSyslog:getDataCollectionRuleDataSourceSyslog"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`syslog`\" pulumi-lang-dotnet=\"`Syslog`\" pulumi-lang-go=\"`syslog`\" pulumi-lang-python=\"`syslog`\" pulumi-lang-yaml=\"`syslog`\" pulumi-lang-java=\"`syslog`\"\u003e`syslog`\u003c/span\u003e blocks as defined below.\n"},"windowsEventLogs":{"type":"array","items":{"$ref":"#/types/azure:monitoring/getDataCollectionRuleDataSourceWindowsEventLog:getDataCollectionRuleDataSourceWindowsEventLog"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`windowsEventLog`\" pulumi-lang-dotnet=\"`WindowsEventLog`\" pulumi-lang-go=\"`windowsEventLog`\" pulumi-lang-python=\"`windows_event_log`\" pulumi-lang-yaml=\"`windowsEventLog`\" pulumi-lang-java=\"`windowsEventLog`\"\u003e`windows_event_log`\u003c/span\u003e blocks as defined below.\n"},"windowsFirewallLogs":{"type":"array","items":{"$ref":"#/types/azure:monitoring/getDataCollectionRuleDataSourceWindowsFirewallLog:getDataCollectionRuleDataSourceWindowsFirewallLog"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`windowsFirewallLog`\" pulumi-lang-dotnet=\"`WindowsFirewallLog`\" pulumi-lang-go=\"`windowsFirewallLog`\" pulumi-lang-python=\"`windows_firewall_log`\" pulumi-lang-yaml=\"`windowsFirewallLog`\" pulumi-lang-java=\"`windowsFirewallLog`\"\u003e`windows_firewall_log`\u003c/span\u003e blocks as defined below.\n"}},"type":"object","required":["dataImports","extensions","iisLogs","performanceCounters","prometheusForwarders","syslogs","windowsEventLogs","windowsFirewallLogs"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:monitoring/getDataCollectionRuleDataSourceDataImport:getDataCollectionRuleDataSourceDataImport":{"properties":{"eventHubDataSources":{"type":"array","items":{"$ref":"#/types/azure:monitoring/getDataCollectionRuleDataSourceDataImportEventHubDataSource:getDataCollectionRuleDataSourceDataImportEventHubDataSource"},"description":"An \u003cspan pulumi-lang-nodejs=\"`eventHubDataSource`\" pulumi-lang-dotnet=\"`EventHubDataSource`\" pulumi-lang-go=\"`eventHubDataSource`\" pulumi-lang-python=\"`event_hub_data_source`\" pulumi-lang-yaml=\"`eventHubDataSource`\" pulumi-lang-java=\"`eventHubDataSource`\"\u003e`event_hub_data_source`\u003c/span\u003e block as defined below.\n"}},"type":"object","required":["eventHubDataSources"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:monitoring/getDataCollectionRuleDataSourceDataImportEventHubDataSource:getDataCollectionRuleDataSourceDataImportEventHubDataSource":{"properties":{"consumerGroup":{"type":"string","description":"The Event Hub consumer group name.\n"},"name":{"type":"string","description":"Specifies the name of the Data Collection Rule.\n"},"stream":{"type":"string","description":"The stream to collect from Event Hub. Possible value should be a custom stream name.\n"}},"type":"object","required":["consumerGroup","name","stream"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:monitoring/getDataCollectionRuleDataSourceExtension:getDataCollectionRuleDataSourceExtension":{"properties":{"extensionJson":{"type":"string","description":"A JSON String which specifies the extension setting.\n"},"extensionName":{"type":"string","description":"The name of the VM extension.\n"},"inputDataSources":{"type":"array","items":{"type":"string"},"description":"Specifies a list of data sources this extension needs data from. An item should be a name of a supported data source which produces only one stream. Supported data sources type: \u003cspan pulumi-lang-nodejs=\"`performanceCounter`\" pulumi-lang-dotnet=\"`PerformanceCounter`\" pulumi-lang-go=\"`performanceCounter`\" pulumi-lang-python=\"`performance_counter`\" pulumi-lang-yaml=\"`performanceCounter`\" pulumi-lang-java=\"`performanceCounter`\"\u003e`performance_counter`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`windowsEventLog`\" pulumi-lang-dotnet=\"`WindowsEventLog`\" pulumi-lang-go=\"`windowsEventLog`\" pulumi-lang-python=\"`windows_event_log`\" pulumi-lang-yaml=\"`windowsEventLog`\" pulumi-lang-java=\"`windowsEventLog`\"\u003e`windows_event_log`\u003c/span\u003e,and \u003cspan pulumi-lang-nodejs=\"`syslog`\" pulumi-lang-dotnet=\"`Syslog`\" pulumi-lang-go=\"`syslog`\" pulumi-lang-python=\"`syslog`\" pulumi-lang-yaml=\"`syslog`\" pulumi-lang-java=\"`syslog`\"\u003e`syslog`\u003c/span\u003e.\n"},"name":{"type":"string","description":"Specifies the name of the Data Collection Rule.\n"},"streams":{"type":"array","items":{"type":"string"},"description":"Specifies a list of streams that this data source will be sent to. A stream indicates what schema will be used for this data and usually what table in Log Analytics the data will be sent to.\n"}},"type":"object","required":["extensionJson","extensionName","inputDataSources","name","streams"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:monitoring/getDataCollectionRuleDataSourceIisLog:getDataCollectionRuleDataSourceIisLog":{"properties":{"logDirectories":{"type":"array","items":{"type":"string"},"description":"Specifies a list of absolute paths where the log files are located.\n"},"name":{"type":"string","description":"Specifies the name of the Data Collection Rule.\n"},"streams":{"type":"array","items":{"type":"string"},"description":"Specifies a list of streams that this data source will be sent to. A stream indicates what schema will be used for this data and usually what table in Log Analytics the data will be sent to.\n"}},"type":"object","required":["logDirectories","name","streams"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:monitoring/getDataCollectionRuleDataSourceLogFile:getDataCollectionRuleDataSourceLogFile":{"properties":{"filePatterns":{"type":"array","items":{"type":"string"},"description":"Specifies a list of file patterns where the log files are located. For example, `C:\\\\JavaLogs\\\\*.log`.\n"},"format":{"type":"string","description":"The data format of the log files. possible value is \u003cspan pulumi-lang-nodejs=\"`text`\" pulumi-lang-dotnet=\"`Text`\" pulumi-lang-go=\"`text`\" pulumi-lang-python=\"`text`\" pulumi-lang-yaml=\"`text`\" pulumi-lang-java=\"`text`\"\u003e`text`\u003c/span\u003e.\n"},"name":{"type":"string","description":"Specifies the name of the Data Collection Rule.\n"},"settings":{"type":"array","items":{"$ref":"#/types/azure:monitoring/getDataCollectionRuleDataSourceLogFileSetting:getDataCollectionRuleDataSourceLogFileSetting"},"description":"A \u003cspan pulumi-lang-nodejs=\"`settings`\" pulumi-lang-dotnet=\"`Settings`\" pulumi-lang-go=\"`settings`\" pulumi-lang-python=\"`settings`\" pulumi-lang-yaml=\"`settings`\" pulumi-lang-java=\"`settings`\"\u003e`settings`\u003c/span\u003e block as defined below.\n"},"streams":{"type":"array","items":{"type":"string"},"description":"Specifies a list of streams that this data source will be sent to. A stream indicates what schema will be used for this data and usually what table in Log Analytics the data will be sent to.\n"}},"type":"object","required":["filePatterns","format","name","settings","streams"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:monitoring/getDataCollectionRuleDataSourceLogFileSetting:getDataCollectionRuleDataSourceLogFileSetting":{"properties":{"texts":{"type":"array","items":{"$ref":"#/types/azure:monitoring/getDataCollectionRuleDataSourceLogFileSettingText:getDataCollectionRuleDataSourceLogFileSettingText"},"description":"A \u003cspan pulumi-lang-nodejs=\"`text`\" pulumi-lang-dotnet=\"`Text`\" pulumi-lang-go=\"`text`\" pulumi-lang-python=\"`text`\" pulumi-lang-yaml=\"`text`\" pulumi-lang-java=\"`text`\"\u003e`text`\u003c/span\u003e block as defined below.\n"}},"type":"object","required":["texts"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:monitoring/getDataCollectionRuleDataSourceLogFileSettingText:getDataCollectionRuleDataSourceLogFileSettingText":{"properties":{"recordStartTimestampFormat":{"type":"string","description":"The timestamp format of the text log files. Possible values are `ISO 8601`, `YYYY-MM-DD HH:MM:SS`, `M/D/YYYY HH:MM:SS AM/PM`, `Mon DD, YYYY HH:MM:SS`, `yyMMdd HH:mm:ss`, `ddMMyy HH:mm:ss`, `MMM d hh:mm:ss`, `dd/MMM/yyyy:HH:mm:ss zzz`,and `yyyy-MM-ddTHH:mm:ssK`.\n"}},"type":"object","required":["recordStartTimestampFormat"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:monitoring/getDataCollectionRuleDataSourcePerformanceCounter:getDataCollectionRuleDataSourcePerformanceCounter":{"properties":{"counterSpecifiers":{"type":"array","items":{"type":"string"},"description":"Specifies a list of specifier names of the performance counters you want to collect. Use a wildcard `*` to collect counters for all instances. To get a list of performance counters on Windows, run the command \u003cspan pulumi-lang-nodejs=\"`typeperf`\" pulumi-lang-dotnet=\"`Typeperf`\" pulumi-lang-go=\"`typeperf`\" pulumi-lang-python=\"`typeperf`\" pulumi-lang-yaml=\"`typeperf`\" pulumi-lang-java=\"`typeperf`\"\u003e`typeperf`\u003c/span\u003e.\n"},"name":{"type":"string","description":"Specifies the name of the Data Collection Rule.\n"},"samplingFrequencyInSeconds":{"type":"integer","description":"The number of seconds between consecutive counter measurements (samples). The value should be integer between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`1800`\" pulumi-lang-dotnet=\"`1800`\" pulumi-lang-go=\"`1800`\" pulumi-lang-python=\"`1800`\" pulumi-lang-yaml=\"`1800`\" pulumi-lang-java=\"`1800`\"\u003e`1800`\u003c/span\u003e inclusive.\n"},"streams":{"type":"array","items":{"type":"string"},"description":"Specifies a list of streams that this data source will be sent to. A stream indicates what schema will be used for this data and usually what table in Log Analytics the data will be sent to.\n"}},"type":"object","required":["counterSpecifiers","name","samplingFrequencyInSeconds","streams"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:monitoring/getDataCollectionRuleDataSourcePlatformTelemetry:getDataCollectionRuleDataSourcePlatformTelemetry":{"properties":{"name":{"type":"string","description":"Specifies the name of the Data Collection Rule.\n"},"streams":{"type":"array","items":{"type":"string"},"description":"Specifies a list of streams that this data source will be sent to. A stream indicates what schema will be used for this data and usually what table in Log Analytics the data will be sent to.\n"}},"type":"object","required":["name","streams"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:monitoring/getDataCollectionRuleDataSourcePrometheusForwarder:getDataCollectionRuleDataSourcePrometheusForwarder":{"properties":{"labelIncludeFilters":{"type":"array","items":{"$ref":"#/types/azure:monitoring/getDataCollectionRuleDataSourcePrometheusForwarderLabelIncludeFilter:getDataCollectionRuleDataSourcePrometheusForwarderLabelIncludeFilter"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`labelIncludeFilter`\" pulumi-lang-dotnet=\"`LabelIncludeFilter`\" pulumi-lang-go=\"`labelIncludeFilter`\" pulumi-lang-python=\"`label_include_filter`\" pulumi-lang-yaml=\"`labelIncludeFilter`\" pulumi-lang-java=\"`labelIncludeFilter`\"\u003e`label_include_filter`\u003c/span\u003e blocks as defined above.\n"},"name":{"type":"string","description":"Specifies the name of the Data Collection Rule.\n"},"streams":{"type":"array","items":{"type":"string"},"description":"Specifies a list of streams that this data source will be sent to. A stream indicates what schema will be used for this data and usually what table in Log Analytics the data will be sent to.\n"}},"type":"object","required":["labelIncludeFilters","name","streams"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:monitoring/getDataCollectionRuleDataSourcePrometheusForwarderLabelIncludeFilter:getDataCollectionRuleDataSourcePrometheusForwarderLabelIncludeFilter":{"properties":{"label":{"type":"string","description":"The label of the filter. This label should be unique across all \u003cspan pulumi-lang-nodejs=\"`labelIncludeFileter`\" pulumi-lang-dotnet=\"`LabelIncludeFileter`\" pulumi-lang-go=\"`labelIncludeFileter`\" pulumi-lang-python=\"`label_include_fileter`\" pulumi-lang-yaml=\"`labelIncludeFileter`\" pulumi-lang-java=\"`labelIncludeFileter`\"\u003e`label_include_fileter`\u003c/span\u003e block. Possible value is \u003cspan pulumi-lang-nodejs=\"`microsoftMetricsIncludeLabel`\" pulumi-lang-dotnet=\"`MicrosoftMetricsIncludeLabel`\" pulumi-lang-go=\"`microsoftMetricsIncludeLabel`\" pulumi-lang-python=\"`microsoft_metrics_include_label`\" pulumi-lang-yaml=\"`microsoftMetricsIncludeLabel`\" pulumi-lang-java=\"`microsoftMetricsIncludeLabel`\"\u003e`microsoft_metrics_include_label`\u003c/span\u003e.\n"},"value":{"type":"string","description":"The value of the filter.\n"}},"type":"object","required":["label","value"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:monitoring/getDataCollectionRuleDataSourceSyslog:getDataCollectionRuleDataSourceSyslog":{"properties":{"facilityNames":{"type":"array","items":{"type":"string"},"description":"Specifies a list of facility names. Use a wildcard `*` to collect logs for all facility names. Possible values are \u003cspan pulumi-lang-nodejs=\"`auth`\" pulumi-lang-dotnet=\"`Auth`\" pulumi-lang-go=\"`auth`\" pulumi-lang-python=\"`auth`\" pulumi-lang-yaml=\"`auth`\" pulumi-lang-java=\"`auth`\"\u003e`auth`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`authpriv`\" pulumi-lang-dotnet=\"`Authpriv`\" pulumi-lang-go=\"`authpriv`\" pulumi-lang-python=\"`authpriv`\" pulumi-lang-yaml=\"`authpriv`\" pulumi-lang-java=\"`authpriv`\"\u003e`authpriv`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`cron`\" pulumi-lang-dotnet=\"`Cron`\" pulumi-lang-go=\"`cron`\" pulumi-lang-python=\"`cron`\" pulumi-lang-yaml=\"`cron`\" pulumi-lang-java=\"`cron`\"\u003e`cron`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`daemon`\" pulumi-lang-dotnet=\"`Daemon`\" pulumi-lang-go=\"`daemon`\" pulumi-lang-python=\"`daemon`\" pulumi-lang-yaml=\"`daemon`\" pulumi-lang-java=\"`daemon`\"\u003e`daemon`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`kern`\" pulumi-lang-dotnet=\"`Kern`\" pulumi-lang-go=\"`kern`\" pulumi-lang-python=\"`kern`\" pulumi-lang-yaml=\"`kern`\" pulumi-lang-java=\"`kern`\"\u003e`kern`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`lpr`\" pulumi-lang-dotnet=\"`Lpr`\" pulumi-lang-go=\"`lpr`\" pulumi-lang-python=\"`lpr`\" pulumi-lang-yaml=\"`lpr`\" pulumi-lang-java=\"`lpr`\"\u003e`lpr`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`mail`\" pulumi-lang-dotnet=\"`Mail`\" pulumi-lang-go=\"`mail`\" pulumi-lang-python=\"`mail`\" pulumi-lang-yaml=\"`mail`\" pulumi-lang-java=\"`mail`\"\u003e`mail`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`mark`\" pulumi-lang-dotnet=\"`Mark`\" pulumi-lang-go=\"`mark`\" pulumi-lang-python=\"`mark`\" pulumi-lang-yaml=\"`mark`\" pulumi-lang-java=\"`mark`\"\u003e`mark`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`news`\" pulumi-lang-dotnet=\"`News`\" pulumi-lang-go=\"`news`\" pulumi-lang-python=\"`news`\" pulumi-lang-yaml=\"`news`\" pulumi-lang-java=\"`news`\"\u003e`news`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`syslog`\" pulumi-lang-dotnet=\"`Syslog`\" pulumi-lang-go=\"`syslog`\" pulumi-lang-python=\"`syslog`\" pulumi-lang-yaml=\"`syslog`\" pulumi-lang-java=\"`syslog`\"\u003e`syslog`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`user`\" pulumi-lang-dotnet=\"`User`\" pulumi-lang-go=\"`user`\" pulumi-lang-python=\"`user`\" pulumi-lang-yaml=\"`user`\" pulumi-lang-java=\"`user`\"\u003e`user`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`uucp`\" pulumi-lang-dotnet=\"`Uucp`\" pulumi-lang-go=\"`uucp`\" pulumi-lang-python=\"`uucp`\" pulumi-lang-yaml=\"`uucp`\" pulumi-lang-java=\"`uucp`\"\u003e`uucp`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`local0`\" pulumi-lang-dotnet=\"`Local0`\" pulumi-lang-go=\"`local0`\" pulumi-lang-python=\"`local0`\" pulumi-lang-yaml=\"`local0`\" pulumi-lang-java=\"`local0`\"\u003e`local0`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`local1`\" pulumi-lang-dotnet=\"`Local1`\" pulumi-lang-go=\"`local1`\" pulumi-lang-python=\"`local1`\" pulumi-lang-yaml=\"`local1`\" pulumi-lang-java=\"`local1`\"\u003e`local1`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`local2`\" pulumi-lang-dotnet=\"`Local2`\" pulumi-lang-go=\"`local2`\" pulumi-lang-python=\"`local2`\" pulumi-lang-yaml=\"`local2`\" pulumi-lang-java=\"`local2`\"\u003e`local2`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`local3`\" pulumi-lang-dotnet=\"`Local3`\" pulumi-lang-go=\"`local3`\" pulumi-lang-python=\"`local3`\" pulumi-lang-yaml=\"`local3`\" pulumi-lang-java=\"`local3`\"\u003e`local3`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`local4`\" pulumi-lang-dotnet=\"`Local4`\" pulumi-lang-go=\"`local4`\" pulumi-lang-python=\"`local4`\" pulumi-lang-yaml=\"`local4`\" pulumi-lang-java=\"`local4`\"\u003e`local4`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`local5`\" pulumi-lang-dotnet=\"`Local5`\" pulumi-lang-go=\"`local5`\" pulumi-lang-python=\"`local5`\" pulumi-lang-yaml=\"`local5`\" pulumi-lang-java=\"`local5`\"\u003e`local5`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`local6`\" pulumi-lang-dotnet=\"`Local6`\" pulumi-lang-go=\"`local6`\" pulumi-lang-python=\"`local6`\" pulumi-lang-yaml=\"`local6`\" pulumi-lang-java=\"`local6`\"\u003e`local6`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`local7`\" pulumi-lang-dotnet=\"`Local7`\" pulumi-lang-go=\"`local7`\" pulumi-lang-python=\"`local7`\" pulumi-lang-yaml=\"`local7`\" pulumi-lang-java=\"`local7`\"\u003e`local7`\u003c/span\u003e,and `*`.\n"},"logLevels":{"type":"array","items":{"type":"string"},"description":"Specifies a list of log levels. Use a wildcard `*` to collect logs for all log levels. Possible values are `Debug`,  `Info`, `Notice`, `Warning`, `Error`, `Critical`, `Alert`, `Emergency`,and `*`.\n"},"name":{"type":"string","description":"Specifies the name of the Data Collection Rule.\n"},"streams":{"type":"array","items":{"type":"string"},"description":"Specifies a list of streams that this data source will be sent to. A stream indicates what schema will be used for this data and usually what table in Log Analytics the data will be sent to.\n"}},"type":"object","required":["facilityNames","logLevels","name","streams"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:monitoring/getDataCollectionRuleDataSourceWindowsEventLog:getDataCollectionRuleDataSourceWindowsEventLog":{"properties":{"name":{"type":"string","description":"Specifies the name of the Data Collection Rule.\n"},"streams":{"type":"array","items":{"type":"string"},"description":"Specifies a list of streams that this data source will be sent to. A stream indicates what schema will be used for this data and usually what table in Log Analytics the data will be sent to.\n"},"xPathQueries":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Windows Event Log queries in XPath expression.\n"}},"type":"object","required":["name","streams","xPathQueries"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:monitoring/getDataCollectionRuleDataSourceWindowsFirewallLog:getDataCollectionRuleDataSourceWindowsFirewallLog":{"properties":{"name":{"type":"string","description":"Specifies the name of the Data Collection Rule.\n"},"streams":{"type":"array","items":{"type":"string"},"description":"Specifies a list of streams that this data source will be sent to. A stream indicates what schema will be used for this data and usually what table in Log Analytics the data will be sent to.\n"}},"type":"object","required":["name","streams"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:monitoring/getDataCollectionRuleDestination:getDataCollectionRuleDestination":{"properties":{"azureMonitorMetrics":{"type":"array","items":{"$ref":"#/types/azure:monitoring/getDataCollectionRuleDestinationAzureMonitorMetric:getDataCollectionRuleDestinationAzureMonitorMetric"},"description":"A \u003cspan pulumi-lang-nodejs=\"`azureMonitorMetrics`\" pulumi-lang-dotnet=\"`AzureMonitorMetrics`\" pulumi-lang-go=\"`azureMonitorMetrics`\" pulumi-lang-python=\"`azure_monitor_metrics`\" pulumi-lang-yaml=\"`azureMonitorMetrics`\" pulumi-lang-java=\"`azureMonitorMetrics`\"\u003e`azure_monitor_metrics`\u003c/span\u003e block as defined above.\n"},"eventHub":{"$ref":"#/types/azure:monitoring/getDataCollectionRuleDestinationEventHub:getDataCollectionRuleDestinationEventHub","description":"One or more \u003cspan pulumi-lang-nodejs=\"`eventHub`\" pulumi-lang-dotnet=\"`EventHub`\" pulumi-lang-go=\"`eventHub`\" pulumi-lang-python=\"`event_hub`\" pulumi-lang-yaml=\"`eventHub`\" pulumi-lang-java=\"`eventHub`\"\u003e`event_hub`\u003c/span\u003e blocks as defined below.\n"},"eventHubDirect":{"$ref":"#/types/azure:monitoring/getDataCollectionRuleDestinationEventHubDirect:getDataCollectionRuleDestinationEventHubDirect","description":"One or more \u003cspan pulumi-lang-nodejs=\"`eventHubDirect`\" pulumi-lang-dotnet=\"`EventHubDirect`\" pulumi-lang-go=\"`eventHubDirect`\" pulumi-lang-python=\"`event_hub_direct`\" pulumi-lang-yaml=\"`eventHubDirect`\" pulumi-lang-java=\"`eventHubDirect`\"\u003e`event_hub_direct`\u003c/span\u003e blocks as defined below.\n"},"logAnalytics":{"type":"array","items":{"$ref":"#/types/azure:monitoring/getDataCollectionRuleDestinationLogAnalytic:getDataCollectionRuleDestinationLogAnalytic"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`logAnalytics`\" pulumi-lang-dotnet=\"`LogAnalytics`\" pulumi-lang-go=\"`logAnalytics`\" pulumi-lang-python=\"`log_analytics`\" pulumi-lang-yaml=\"`logAnalytics`\" pulumi-lang-java=\"`logAnalytics`\"\u003e`log_analytics`\u003c/span\u003e blocks as defined below.\n"},"monitorAccounts":{"type":"array","items":{"$ref":"#/types/azure:monitoring/getDataCollectionRuleDestinationMonitorAccount:getDataCollectionRuleDestinationMonitorAccount"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`monitorAccount`\" pulumi-lang-dotnet=\"`MonitorAccount`\" pulumi-lang-go=\"`monitorAccount`\" pulumi-lang-python=\"`monitor_account`\" pulumi-lang-yaml=\"`monitorAccount`\" pulumi-lang-java=\"`monitorAccount`\"\u003e`monitor_account`\u003c/span\u003e blocks as defined below.\n"},"storageBlobDirects":{"type":"array","items":{"$ref":"#/types/azure:monitoring/getDataCollectionRuleDestinationStorageBlobDirect:getDataCollectionRuleDestinationStorageBlobDirect"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`storageBlobDirect`\" pulumi-lang-dotnet=\"`StorageBlobDirect`\" pulumi-lang-go=\"`storageBlobDirect`\" pulumi-lang-python=\"`storage_blob_direct`\" pulumi-lang-yaml=\"`storageBlobDirect`\" pulumi-lang-java=\"`storageBlobDirect`\"\u003e`storage_blob_direct`\u003c/span\u003e blocks as defined below.\n"},"storageBlobs":{"type":"array","items":{"$ref":"#/types/azure:monitoring/getDataCollectionRuleDestinationStorageBlob:getDataCollectionRuleDestinationStorageBlob"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`storageBlob`\" pulumi-lang-dotnet=\"`StorageBlob`\" pulumi-lang-go=\"`storageBlob`\" pulumi-lang-python=\"`storage_blob`\" pulumi-lang-yaml=\"`storageBlob`\" pulumi-lang-java=\"`storageBlob`\"\u003e`storage_blob`\u003c/span\u003e blocks as defined below.\n"},"storageTableDirects":{"type":"array","items":{"$ref":"#/types/azure:monitoring/getDataCollectionRuleDestinationStorageTableDirect:getDataCollectionRuleDestinationStorageTableDirect"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`storageTableDirect`\" pulumi-lang-dotnet=\"`StorageTableDirect`\" pulumi-lang-go=\"`storageTableDirect`\" pulumi-lang-python=\"`storage_table_direct`\" pulumi-lang-yaml=\"`storageTableDirect`\" pulumi-lang-java=\"`storageTableDirect`\"\u003e`storage_table_direct`\u003c/span\u003e blocks as defined below.\n"}},"type":"object","required":["azureMonitorMetrics","logAnalytics","monitorAccounts","storageBlobs","storageBlobDirects","storageTableDirects"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:monitoring/getDataCollectionRuleDestinationAzureMonitorMetric:getDataCollectionRuleDestinationAzureMonitorMetric":{"properties":{"name":{"type":"string","description":"Specifies the name of the Data Collection Rule.\n"}},"type":"object","required":["name"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:monitoring/getDataCollectionRuleDestinationEventHub:getDataCollectionRuleDestinationEventHub":{"properties":{"eventHubId":{"type":"string","description":"The resource ID of the Event Hub.\n"},"name":{"type":"string","description":"Specifies the name of the Data Collection Rule.\n"}},"type":"object","required":["eventHubId","name"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:monitoring/getDataCollectionRuleDestinationEventHubDirect:getDataCollectionRuleDestinationEventHubDirect":{"properties":{"eventHubId":{"type":"string","description":"The resource ID of the Event Hub.\n"},"name":{"type":"string","description":"Specifies the name of the Data Collection Rule.\n"}},"type":"object","required":["eventHubId","name"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:monitoring/getDataCollectionRuleDestinationLogAnalytic:getDataCollectionRuleDestinationLogAnalytic":{"properties":{"name":{"type":"string","description":"Specifies the name of the Data Collection Rule.\n"},"workspaceResourceId":{"type":"string","description":"The ID of a Log Analytic Workspace resource.\n"}},"type":"object","required":["name","workspaceResourceId"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:monitoring/getDataCollectionRuleDestinationMonitorAccount:getDataCollectionRuleDestinationMonitorAccount":{"properties":{"monitorAccountId":{"type":"string","description":"The resource ID of the Monitor Account.\n"},"name":{"type":"string","description":"Specifies the name of the Data Collection Rule.\n"}},"type":"object","required":["monitorAccountId","name"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:monitoring/getDataCollectionRuleDestinationStorageBlob:getDataCollectionRuleDestinationStorageBlob":{"properties":{"containerName":{"type":"string","description":"The Storage Container name.\n"},"name":{"type":"string","description":"Specifies the name of the Data Collection Rule.\n"},"storageAccountId":{"type":"string","description":"The resource ID of the Storage Account.\n"}},"type":"object","required":["containerName","name","storageAccountId"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:monitoring/getDataCollectionRuleDestinationStorageBlobDirect:getDataCollectionRuleDestinationStorageBlobDirect":{"properties":{"containerName":{"type":"string","description":"The Storage Container name.\n"},"name":{"type":"string","description":"Specifies the name of the Data Collection Rule.\n"},"storageAccountId":{"type":"string","description":"The resource ID of the Storage Account.\n"}},"type":"object","required":["containerName","name","storageAccountId"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:monitoring/getDataCollectionRuleDestinationStorageTableDirect:getDataCollectionRuleDestinationStorageTableDirect":{"properties":{"name":{"type":"string","description":"Specifies the name of the Data Collection Rule.\n"},"storageAccountId":{"type":"string","description":"The resource ID of the Storage Account.\n"},"tableName":{"type":"string","description":"The Storage Table name.\n"}},"type":"object","required":["name","storageAccountId","tableName"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:monitoring/getDataCollectionRuleIdentity:getDataCollectionRuleIdentity":{"properties":{"identityIds":{"type":"array","items":{"type":"string"},"description":"A list of User Assigned Managed Identity IDs to be assigned to this Data Collection Rule. Currently, up to 1 identity is supported.\n"},"principalId":{"type":"string","description":"The Principal ID associated with this Managed Service Identity.\n"},"tenantId":{"type":"string","description":"The Tenant ID associated with this Managed Service Identity.\n"},"type":{"type":"string","description":"cSpecifies the type of Managed Service Identity that should be configured on this Data Collection Rule. Possible values are `SystemAssigned` and `UserAssigned`.\n"}},"type":"object","required":["identityIds","principalId","tenantId","type"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:monitoring/getDataCollectionRuleStreamDeclaration:getDataCollectionRuleStreamDeclaration":{"properties":{"columns":{"type":"array","items":{"$ref":"#/types/azure:monitoring/getDataCollectionRuleStreamDeclarationColumn:getDataCollectionRuleStreamDeclarationColumn"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`column`\" pulumi-lang-dotnet=\"`Column`\" pulumi-lang-go=\"`column`\" pulumi-lang-python=\"`column`\" pulumi-lang-yaml=\"`column`\" pulumi-lang-java=\"`column`\"\u003e`column`\u003c/span\u003e blocks as defined above.\n"},"streamName":{"type":"string","description":"The name of the custom stream. This name should be unique across all \u003cspan pulumi-lang-nodejs=\"`streamDeclaration`\" pulumi-lang-dotnet=\"`StreamDeclaration`\" pulumi-lang-go=\"`streamDeclaration`\" pulumi-lang-python=\"`stream_declaration`\" pulumi-lang-yaml=\"`streamDeclaration`\" pulumi-lang-java=\"`streamDeclaration`\"\u003e`stream_declaration`\u003c/span\u003e blocks.\n"}},"type":"object","required":["columns","streamName"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:monitoring/getDataCollectionRuleStreamDeclarationColumn:getDataCollectionRuleStreamDeclarationColumn":{"properties":{"name":{"type":"string","description":"Specifies the name of the Data Collection Rule.\n"},"type":{"type":"string","description":"cSpecifies the type of Managed Service Identity that should be configured on this Data Collection Rule. Possible values are `SystemAssigned` and `UserAssigned`.\n"}},"type":"object","required":["name","type"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:monitoring/getScheduledQueryRulesAlertAction:getScheduledQueryRulesAlertAction":{"properties":{"actionGroups":{"type":"array","items":{"type":"string"},"description":"List of action group reference resource IDs.\n"},"customWebhookPayload":{"type":"string","description":"Custom payload to be sent for all webhook URI in Azure action group.\n"},"emailSubject":{"type":"string","description":"Custom subject override for all email IDs in Azure action group.\n"}},"type":"object","required":["actionGroups","customWebhookPayload","emailSubject"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:monitoring/getScheduledQueryRulesAlertTrigger:getScheduledQueryRulesAlertTrigger":{"properties":{"metricTriggers":{"type":"array","items":{"$ref":"#/types/azure:monitoring/getScheduledQueryRulesAlertTriggerMetricTrigger:getScheduledQueryRulesAlertTriggerMetricTrigger"}},"operator":{"type":"string","description":"Evaluation operation for rule.\n"},"threshold":{"type":"number","description":"Result or count threshold based on which rule should be triggered.\n"}},"type":"object","required":["metricTriggers","operator","threshold"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:monitoring/getScheduledQueryRulesAlertTriggerMetricTrigger:getScheduledQueryRulesAlertTriggerMetricTrigger":{"properties":{"metricColumn":{"type":"string"},"metricTriggerType":{"type":"string"},"operator":{"type":"string","description":"Evaluation operation for rule.\n"},"threshold":{"type":"number","description":"Result or count threshold based on which rule should be triggered.\n"}},"type":"object","required":["metricColumn","metricTriggerType","operator","threshold"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:monitoring/getScheduledQueryRulesLogCriteria:getScheduledQueryRulesLogCriteria":{"properties":{"dimensions":{"type":"array","items":{"$ref":"#/types/azure:monitoring/getScheduledQueryRulesLogCriteriaDimension:getScheduledQueryRulesLogCriteriaDimension"},"description":"A \u003cspan pulumi-lang-nodejs=\"`dimension`\" pulumi-lang-dotnet=\"`Dimension`\" pulumi-lang-go=\"`dimension`\" pulumi-lang-python=\"`dimension`\" pulumi-lang-yaml=\"`dimension`\" pulumi-lang-java=\"`dimension`\"\u003e`dimension`\u003c/span\u003e block as defined below.\n"},"metricName":{"type":"string","description":"Name of the metric.\n"}},"type":"object","required":["dimensions","metricName"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:monitoring/getScheduledQueryRulesLogCriteriaDimension:getScheduledQueryRulesLogCriteriaDimension":{"properties":{"name":{"type":"string","description":"Specifies the name of the scheduled query rule.\n"},"operator":{"type":"string","description":"Operator for dimension values.\n"},"values":{"type":"array","items":{"type":"string"},"description":"List of dimension values.\n"}},"type":"object","required":["name","operator","values"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:mssql/DatabaseIdentity:DatabaseIdentity":{"properties":{"identityIds":{"type":"array","items":{"type":"string"},"description":"Specifies a list of User Assigned Managed Identity IDs to be assigned to this SQL Database.\n"},"type":{"type":"string","description":"Specifies the type of Managed Service Identity that should be configured on this SQL Database. Possible value is `UserAssigned`.\n"}},"type":"object","required":["identityIds","type"]},"azure:mssql/DatabaseImport:DatabaseImport":{"properties":{"administratorLogin":{"type":"string","description":"Specifies the name of the SQL administrator.\n"},"administratorLoginPassword":{"type":"string","description":"Specifies the password of the SQL administrator.\n","secret":true},"authenticationType":{"type":"string","description":"Specifies the type of authentication used to access the server. Valid values are `SQL` or `ADPassword`.\n"},"storageAccountId":{"type":"string","description":"The resource id for the storage account used to store BACPAC file. If set, private endpoint connection will be created for the storage account. Must match storage account used for\u003cspan pulumi-lang-nodejs=\" storageUri \" pulumi-lang-dotnet=\" StorageUri \" pulumi-lang-go=\" storageUri \" pulumi-lang-python=\" storage_uri \" pulumi-lang-yaml=\" storageUri \" pulumi-lang-java=\" storageUri \"\u003e storage_uri \u003c/span\u003eparameter.\n"},"storageKey":{"type":"string","description":"Specifies the access key for the storage account.\n","secret":true},"storageKeyType":{"type":"string","description":"Specifies the type of access key for the storage account. Valid values are `StorageAccessKey` or `SharedAccessKey`.\n"},"storageUri":{"type":"string","description":"Specifies the blob URI of the .bacpac file.\n"}},"type":"object","required":["administratorLogin","administratorLoginPassword","authenticationType","storageKey","storageKeyType","storageUri"]},"azure:mssql/DatabaseLongTermRetentionPolicy:DatabaseLongTermRetentionPolicy":{"properties":{"immutableBackupsEnabled":{"type":"boolean","description":"Specifies if the backups are immutable. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"monthlyRetention":{"type":"string","description":"The monthly retention policy for an LTR backup in an ISO 8601 format. Valid value is between 1 to 120 months. e.g. `P1Y`, `P1M`, `P4W` or `P30D`. Defaults to `PT0S`.\n"},"weekOfYear":{"type":"integer","description":"The week of year to take the yearly backup. Value has to be between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`52`\" pulumi-lang-dotnet=\"`52`\" pulumi-lang-go=\"`52`\" pulumi-lang-python=\"`52`\" pulumi-lang-yaml=\"`52`\" pulumi-lang-java=\"`52`\"\u003e`52`\u003c/span\u003e.\n"},"weeklyRetention":{"type":"string","description":"The weekly retention policy for an LTR backup in an ISO 8601 format. Valid value is between 1 to 520 weeks. e.g. `P1Y`, `P1M`, `P1W` or `P7D`. Defaults to `PT0S`.\n"},"yearlyRetention":{"type":"string","description":"The yearly retention policy for an LTR backup in an ISO 8601 format. Valid value is between 1 to 10 years. e.g. `P1Y`, `P12M`, `P52W` or `P365D`. Defaults to `PT0S`.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["monthlyRetention","weekOfYear","weeklyRetention","yearlyRetention"]}}},"azure:mssql/DatabaseShortTermRetentionPolicy:DatabaseShortTermRetentionPolicy":{"properties":{"backupIntervalInHours":{"type":"integer","description":"The hours between each differential backup. This is only applicable to live databases but not dropped databases. Value has to be \u003cspan pulumi-lang-nodejs=\"`12`\" pulumi-lang-dotnet=\"`12`\" pulumi-lang-go=\"`12`\" pulumi-lang-python=\"`12`\" pulumi-lang-yaml=\"`12`\" pulumi-lang-java=\"`12`\"\u003e`12`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`24`\" pulumi-lang-dotnet=\"`24`\" pulumi-lang-go=\"`24`\" pulumi-lang-python=\"`24`\" pulumi-lang-yaml=\"`24`\" pulumi-lang-java=\"`24`\"\u003e`24`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`12`\" pulumi-lang-dotnet=\"`12`\" pulumi-lang-go=\"`12`\" pulumi-lang-python=\"`12`\" pulumi-lang-yaml=\"`12`\" pulumi-lang-java=\"`12`\"\u003e`12`\u003c/span\u003e hours.\n"},"retentionDays":{"type":"integer","description":"Point In Time Restore configuration. Value has to be between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`35`\" pulumi-lang-dotnet=\"`35`\" pulumi-lang-go=\"`35`\" pulumi-lang-python=\"`35`\" pulumi-lang-yaml=\"`35`\" pulumi-lang-java=\"`35`\"\u003e`35`\u003c/span\u003e.\n"}},"type":"object","required":["retentionDays"],"language":{"nodejs":{"requiredOutputs":["backupIntervalInHours","retentionDays"]}}},"azure:mssql/DatabaseThreatDetectionPolicy:DatabaseThreatDetectionPolicy":{"properties":{"disabledAlerts":{"type":"array","items":{"type":"string"},"description":"Specifies a list of alerts which should be disabled. Possible values include `Access_Anomaly`, `Sql_Injection` and `Sql_Injection_Vulnerability`.\n"},"emailAccountAdmins":{"type":"string","description":"Should the account administrators be emailed when this alert is triggered? Possible values are `Enabled` or `Disabled`. Defaults to `Disabled`.\n"},"emailAddresses":{"type":"array","items":{"type":"string"},"description":"A list of email addresses which alerts should be sent to.\n"},"retentionDays":{"type":"integer","description":"Specifies the number of days to keep in the Threat Detection audit logs.\n"},"state":{"type":"string","description":"The State of the Policy. Possible values are `Enabled` or `Disabled`. Defaults to `Disabled`.\n"},"storageAccountAccessKey":{"type":"string","description":"Specifies the identifier key of the Threat Detection audit storage account. Required if \u003cspan pulumi-lang-nodejs=\"`state`\" pulumi-lang-dotnet=\"`State`\" pulumi-lang-go=\"`state`\" pulumi-lang-python=\"`state`\" pulumi-lang-yaml=\"`state`\" pulumi-lang-java=\"`state`\"\u003e`state`\u003c/span\u003e is `Enabled`.\n","secret":true},"storageEndpoint":{"type":"string","description":"Specifies the blob storage endpoint (e.g. \u003chttps://example.blob.core.windows.net\u003e). This blob storage will hold all Threat Detection audit logs. Required if \u003cspan pulumi-lang-nodejs=\"`state`\" pulumi-lang-dotnet=\"`State`\" pulumi-lang-go=\"`state`\" pulumi-lang-python=\"`state`\" pulumi-lang-yaml=\"`state`\" pulumi-lang-java=\"`state`\"\u003e`state`\u003c/span\u003e is `Enabled`.\n"}},"type":"object"},"azure:mssql/DatabaseVulnerabilityAssessmentRuleBaselineBaselineResult:DatabaseVulnerabilityAssessmentRuleBaselineBaselineResult":{"properties":{"results":{"type":"array","items":{"type":"string"},"description":"A list representing a result of the baseline.\n"}},"type":"object","required":["results"]},"azure:mssql/ElasticPoolPerDatabaseSettings:ElasticPoolPerDatabaseSettings":{"properties":{"maxCapacity":{"type":"number","description":"The maximum capacity any one database can consume.\n"},"minCapacity":{"type":"number","description":"The minimum capacity all databases are guaranteed.\n"}},"type":"object","required":["maxCapacity","minCapacity"]},"azure:mssql/ElasticPoolSku:ElasticPoolSku":{"properties":{"capacity":{"type":"integer","description":"The scale up/out capacity, representing server's compute units. For more information see the documentation for your Elasticpool configuration: [vCore-based](https://docs.microsoft.com/azure/sql-database/sql-database-vcore-resource-limits-elastic-pools) or [DTU-based](https://docs.microsoft.com/azure/sql-database/sql-database-dtu-resource-limits-elastic-pools).\n"},"family":{"type":"string","description":"The \u003cspan pulumi-lang-nodejs=\"`family`\" pulumi-lang-dotnet=\"`Family`\" pulumi-lang-go=\"`family`\" pulumi-lang-python=\"`family`\" pulumi-lang-yaml=\"`family`\" pulumi-lang-java=\"`family`\"\u003e`family`\u003c/span\u003e of hardware `Gen4`, `Gen5`, `Fsv2`, `MOPRMS`, `PRMS`, or `DC`.\n"},"name":{"type":"string","description":"Specifies the SKU Name for this Elasticpool. The name of the SKU, will be either `vCore` based or `DTU` based. Possible `DTU` based values are `BasicPool`, `StandardPool`, `PremiumPool` while possible `vCore` based values are `GP_Gen4`, `GP_Gen5`, `GP_Fsv2`, `GP_DC`, `BC_Gen4`, `BC_Gen5`, `BC_DC`, `HS_PRMS`, `HS_MOPRMS`, or `HS_Gen5`.\n"},"tier":{"type":"string","description":"The tier of the particular SKU. Possible values are `GeneralPurpose`, `BusinessCritical`, `Basic`, `Standard`, `Premium`, or `HyperScale`. For more information see the documentation for your Elasticpool configuration: [vCore-based](https://docs.microsoft.com/azure/sql-database/sql-database-vcore-resource-limits-elastic-pools) or [DTU-based](https://docs.microsoft.com/azure/sql-database/sql-database-dtu-resource-limits-elastic-pools).\n"}},"type":"object","required":["capacity","name","tier"]},"azure:mssql/FailoverGroupPartnerServer:FailoverGroupPartnerServer":{"properties":{"id":{"type":"string","description":"The ID of a partner SQL server to include in the failover group.\n"},"location":{"type":"string","description":"The location of the partner server.\n"},"role":{"type":"string","description":"The replication role of the partner server. Possible values include `Primary` or `Secondary`.\n"}},"type":"object","required":["id"],"language":{"nodejs":{"requiredOutputs":["id","location","role"]}}},"azure:mssql/FailoverGroupReadWriteEndpointFailoverPolicy:FailoverGroupReadWriteEndpointFailoverPolicy":{"properties":{"graceMinutes":{"type":"integer","description":"The grace period in minutes, before failover with data loss is attempted for the read-write endpoint. Required when \u003cspan pulumi-lang-nodejs=\"`mode`\" pulumi-lang-dotnet=\"`Mode`\" pulumi-lang-go=\"`mode`\" pulumi-lang-python=\"`mode`\" pulumi-lang-yaml=\"`mode`\" pulumi-lang-java=\"`mode`\"\u003e`mode`\u003c/span\u003e is `Automatic`.\n"},"mode":{"type":"string","description":"The failover policy of the read-write endpoint for the failover group. Possible values are `Automatic` or `Manual`.\n"}},"type":"object","required":["mode"]},"azure:mssql/JobAgentIdentity:JobAgentIdentity":{"properties":{"identityIds":{"type":"array","items":{"type":"string"},"description":"Specifies a list of User Assigned Managed Identity IDs to assign to this Elastic Job Agent.\n"},"type":{"type":"string","description":"Specifies the type of Managed Service Identity that should be configured on this Elastic Job Agent. Currently only `UserAssigned` is supported.\n"}},"type":"object","required":["identityIds","type"]},"azure:mssql/JobStepOutputTarget:JobStepOutputTarget":{"properties":{"jobCredentialId":{"type":"string","description":"The ID of the Elastic Job Credential to use when connecting to the output destination.\n"},"mssqlDatabaseId":{"type":"string","description":"The ID of the output database.\n"},"schemaName":{"type":"string","description":"The name of the output schema. Defaults to \u003cspan pulumi-lang-nodejs=\"`dbo`\" pulumi-lang-dotnet=\"`Dbo`\" pulumi-lang-go=\"`dbo`\" pulumi-lang-python=\"`dbo`\" pulumi-lang-yaml=\"`dbo`\" pulumi-lang-java=\"`dbo`\"\u003e`dbo`\u003c/span\u003e.\n"},"tableName":{"type":"string","description":"The name of the output table.\n"}},"type":"object","required":["mssqlDatabaseId","tableName"]},"azure:mssql/JobTargetGroupJobTarget:JobTargetGroupJobTarget":{"properties":{"databaseName":{"type":"string","description":"The name of the MS SQL Database.\n\n\u003e **Note:** This cannot be set in combination with \u003cspan pulumi-lang-nodejs=\"`elasticPoolName`\" pulumi-lang-dotnet=\"`ElasticPoolName`\" pulumi-lang-go=\"`elasticPoolName`\" pulumi-lang-python=\"`elastic_pool_name`\" pulumi-lang-yaml=\"`elasticPoolName`\" pulumi-lang-java=\"`elasticPoolName`\"\u003e`elastic_pool_name`\u003c/span\u003e.\n"},"elasticPoolName":{"type":"string","description":"The name of the MS SQL Elastic Pool.\n\n\u003e **Note:** This cannot be set in combination with \u003cspan pulumi-lang-nodejs=\"`databaseName`\" pulumi-lang-dotnet=\"`DatabaseName`\" pulumi-lang-go=\"`databaseName`\" pulumi-lang-python=\"`database_name`\" pulumi-lang-yaml=\"`databaseName`\" pulumi-lang-java=\"`databaseName`\"\u003e`database_name`\u003c/span\u003e.\n"},"jobCredentialId":{"type":"string","description":"The ID of the job credential to use during execution of jobs.\n\n\u003e **Note:** This is required when \u003cspan pulumi-lang-nodejs=\"`membershipType`\" pulumi-lang-dotnet=\"`MembershipType`\" pulumi-lang-go=\"`membershipType`\" pulumi-lang-python=\"`membership_type`\" pulumi-lang-yaml=\"`membershipType`\" pulumi-lang-java=\"`membershipType`\"\u003e`membership_type`\u003c/span\u003e is `Include`, unless \u003cspan pulumi-lang-nodejs=\"`databaseName`\" pulumi-lang-dotnet=\"`DatabaseName`\" pulumi-lang-go=\"`databaseName`\" pulumi-lang-python=\"`database_name`\" pulumi-lang-yaml=\"`databaseName`\" pulumi-lang-java=\"`databaseName`\"\u003e`database_name`\u003c/span\u003e is set or the target resource is configured to use a managed identity for authentication.\n"},"membershipType":{"type":"string","description":"The membership type for this job target. Possible values are `Include` and `Exclude`. Defaults to `Include`.\n"},"serverName":{"type":"string","description":"The name of the MS SQL Server.\n"},"type":{"type":"string","description":"The job target type. This value is computed based on \u003cspan pulumi-lang-nodejs=\"`serverName`\" pulumi-lang-dotnet=\"`ServerName`\" pulumi-lang-go=\"`serverName`\" pulumi-lang-python=\"`server_name`\" pulumi-lang-yaml=\"`serverName`\" pulumi-lang-java=\"`serverName`\"\u003e`server_name`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`databaseName`\" pulumi-lang-dotnet=\"`DatabaseName`\" pulumi-lang-go=\"`databaseName`\" pulumi-lang-python=\"`database_name`\" pulumi-lang-yaml=\"`databaseName`\" pulumi-lang-java=\"`databaseName`\"\u003e`database_name`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`elasticPoolName`\" pulumi-lang-dotnet=\"`ElasticPoolName`\" pulumi-lang-go=\"`elasticPoolName`\" pulumi-lang-python=\"`elastic_pool_name`\" pulumi-lang-yaml=\"`elasticPoolName`\" pulumi-lang-java=\"`elasticPoolName`\"\u003e`elastic_pool_name`\u003c/span\u003e.\n"}},"type":"object","required":["serverName"],"language":{"nodejs":{"requiredOutputs":["serverName","type"]}}},"azure:mssql/ManagedDatabaseLongTermRetentionPolicy:ManagedDatabaseLongTermRetentionPolicy":{"properties":{"immutableBackupsEnabled":{"type":"boolean","description":"Specifies if the backups are immutable. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"monthlyRetention":{"type":"string","description":"The monthly retention policy for an LTR backup in an ISO 8601 format. Valid value is between 1 to 120 months. e.g. `P1Y`, `P1M`, `P4W` or `P30D`. Defaults to `PT0S`.\n"},"weekOfYear":{"type":"integer","description":"The week of year to take the yearly backup. Value has to be between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`52`\" pulumi-lang-dotnet=\"`52`\" pulumi-lang-go=\"`52`\" pulumi-lang-python=\"`52`\" pulumi-lang-yaml=\"`52`\" pulumi-lang-java=\"`52`\"\u003e`52`\u003c/span\u003e.\n"},"weeklyRetention":{"type":"string","description":"The weekly retention policy for an LTR backup in an ISO 8601 format. Valid value is between 1 to 520 weeks. e.g. `P1Y`, `P1M`, `P1W` or `P7D`. Defaults to `PT0S`.\n"},"yearlyRetention":{"type":"string","description":"The yearly retention policy for an LTR backup in an ISO 8601 format. Valid value is between 1 to 10 years. e.g. `P1Y`, `P12M`, `P52W` or `P365D`. Defaults to `PT0S`.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["monthlyRetention","weekOfYear","weeklyRetention","yearlyRetention"]}}},"azure:mssql/ManagedDatabasePointInTimeRestore:ManagedDatabasePointInTimeRestore":{"properties":{"restorePointInTime":{"type":"string","description":"The point in time for the restore from \u003cspan pulumi-lang-nodejs=\"`sourceDatabaseId`\" pulumi-lang-dotnet=\"`SourceDatabaseId`\" pulumi-lang-go=\"`sourceDatabaseId`\" pulumi-lang-python=\"`source_database_id`\" pulumi-lang-yaml=\"`sourceDatabaseId`\" pulumi-lang-java=\"`sourceDatabaseId`\"\u003e`source_database_id`\u003c/span\u003e. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sourceDatabaseId":{"type":"string","description":"The source database id that will be used to restore from. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["restorePointInTime","sourceDatabaseId"]},"azure:mssql/ManagedInstanceAzureActiveDirectoryAdministrator:ManagedInstanceAzureActiveDirectoryAdministrator":{"properties":{"azureadAuthenticationOnlyEnabled":{"type":"boolean","description":"Specifies whether only Azure AD authentication can be used to log in to this SQL Managed Instance. When \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, the \u003cspan pulumi-lang-nodejs=\"`administratorLogin`\" pulumi-lang-dotnet=\"`AdministratorLogin`\" pulumi-lang-go=\"`administratorLogin`\" pulumi-lang-python=\"`administrator_login`\" pulumi-lang-yaml=\"`administratorLogin`\" pulumi-lang-java=\"`administratorLogin`\"\u003e`administrator_login`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`administratorLoginPassword`\" pulumi-lang-dotnet=\"`AdministratorLoginPassword`\" pulumi-lang-go=\"`administratorLoginPassword`\" pulumi-lang-python=\"`administrator_login_password`\" pulumi-lang-yaml=\"`administratorLoginPassword`\" pulumi-lang-java=\"`administratorLoginPassword`\"\u003e`administrator_login_password`\u003c/span\u003e properties can be omitted. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"loginUsername":{"type":"string","description":"The login username of the Azure AD Administrator of this SQL Managed Instance.\n"},"objectId":{"type":"string","description":"The object id of the Azure AD Administrator of this SQL Managed Instance.\n"},"principalType":{"type":"string","description":"The principal type of the Azure AD Administrator of this SQL Managed Instance. Possible values are `Application`, `Group`, `User`.\n"},"tenantId":{"type":"string","description":"The tenant id of the Azure AD Administrator of this SQL Managed Instance. Should be specified if the Azure AD Administrator is homed in a different tenant to the SQL Managed Instance.\n"}},"type":"object","required":["loginUsername","objectId","principalType"]},"azure:mssql/ManagedInstanceFailoverGroupPartnerRegion:ManagedInstanceFailoverGroupPartnerRegion":{"properties":{"location":{"type":"string","description":"The Azure Region where the Managed Instance Failover Group should exist. Changing this forces a new resource to be created.\n"},"role":{"type":"string","description":"The partner replication role of the Managed Instance Failover Group.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["location","role"]}}},"azure:mssql/ManagedInstanceFailoverGroupReadWriteEndpointFailoverPolicy:ManagedInstanceFailoverGroupReadWriteEndpointFailoverPolicy":{"properties":{"graceMinutes":{"type":"integer","description":"Applies only if \u003cspan pulumi-lang-nodejs=\"`mode`\" pulumi-lang-dotnet=\"`Mode`\" pulumi-lang-go=\"`mode`\" pulumi-lang-python=\"`mode`\" pulumi-lang-yaml=\"`mode`\" pulumi-lang-java=\"`mode`\"\u003e`mode`\u003c/span\u003e is `Automatic`. The grace period in minutes before failover with data loss is attempted.\n"},"mode":{"type":"string","description":"The failover mode. Possible values are `Automatic` or `Manual`.\n"}},"type":"object","required":["mode"]},"azure:mssql/ManagedInstanceIdentity:ManagedInstanceIdentity":{"properties":{"identityIds":{"type":"array","items":{"type":"string"},"description":"Specifies a list of User Assigned Managed Identity IDs to be assigned to this SQL Managed Instance. Required when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e includes `UserAssigned`.\n\n\u003e **Note:** The assigned \u003cspan pulumi-lang-nodejs=\"`principalId`\" pulumi-lang-dotnet=\"`PrincipalId`\" pulumi-lang-go=\"`principalId`\" pulumi-lang-python=\"`principal_id`\" pulumi-lang-yaml=\"`principalId`\" pulumi-lang-java=\"`principalId`\"\u003e`principal_id`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`tenantId`\" pulumi-lang-dotnet=\"`TenantId`\" pulumi-lang-go=\"`tenantId`\" pulumi-lang-python=\"`tenant_id`\" pulumi-lang-yaml=\"`tenantId`\" pulumi-lang-java=\"`tenantId`\"\u003e`tenant_id`\u003c/span\u003e can be retrieved after the identity \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e has been set to `SystemAssigned` and SQL Managed Instance has been created.\n"},"principalId":{"type":"string","description":"The Principal ID for the Service Principal associated with the Identity of this SQL Managed Instance.\n"},"tenantId":{"type":"string","description":"The Tenant ID for the Service Principal associated with the Identity of this SQL Managed Instance.\n"},"type":{"type":"string","description":"Specifies the type of Managed Service Identity that should be configured on this SQL Managed Instance. Possible values are `SystemAssigned`, `UserAssigned`, `SystemAssigned, UserAssigned`.\n"}},"type":"object","required":["type"],"language":{"nodejs":{"requiredOutputs":["principalId","tenantId","type"]}}},"azure:mssql/ManagedInstanceStartStopScheduleSchedule:ManagedInstanceStartStopScheduleSchedule":{"properties":{"startDay":{"type":"string","description":"Start day of the schedule. Possible values are `Monday`, `Tuesday`, `Wednesday`, `Thursday`, `Friday`, `Saturday`, `Sunday`.\n"},"startTime":{"type":"string","description":"Start time of the schedule in 24-hour format (e.g., `08:00`).\n"},"stopDay":{"type":"string","description":"Stop day of the schedule. Possible values are `Monday`, `Tuesday`, `Wednesday`, `Thursday`, `Friday`, `Saturday`, `Sunday`.\n"},"stopTime":{"type":"string","description":"Stop time of the schedule in 24-hour format (e.g., `17:00`).\n"}},"type":"object","required":["startDay","startTime","stopDay","stopTime"]},"azure:mssql/ManagedInstanceVulnerabilityAssessmentRecurringScans:ManagedInstanceVulnerabilityAssessmentRecurringScans":{"properties":{"emailSubscriptionAdmins":{"type":"boolean","description":"Boolean flag which specifies if the schedule scan notification will be sent to the subscription administrators. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"emails":{"type":"array","items":{"type":"string"},"description":"Specifies an array of e-mail addresses to which the scan notification is sent.\n"},"enabled":{"type":"boolean","description":"Boolean flag which specifies if recurring scans is enabled or disabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"}},"type":"object"},"azure:mssql/ServerAzureadAdministrator:ServerAzureadAdministrator":{"properties":{"azureadAuthenticationOnly":{"type":"boolean","description":"Specifies whether only AD Users and administrators (e.g. `azuread_administrator[0].login_username`) can be used to login, or also local database users (e.g. \u003cspan pulumi-lang-nodejs=\"`administratorLogin`\" pulumi-lang-dotnet=\"`AdministratorLogin`\" pulumi-lang-go=\"`administratorLogin`\" pulumi-lang-python=\"`administrator_login`\" pulumi-lang-yaml=\"`administratorLogin`\" pulumi-lang-java=\"`administratorLogin`\"\u003e`administrator_login`\u003c/span\u003e). When \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, the \u003cspan pulumi-lang-nodejs=\"`administratorLogin`\" pulumi-lang-dotnet=\"`AdministratorLogin`\" pulumi-lang-go=\"`administratorLogin`\" pulumi-lang-python=\"`administrator_login`\" pulumi-lang-yaml=\"`administratorLogin`\" pulumi-lang-java=\"`administratorLogin`\"\u003e`administrator_login`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`administratorLoginPassword`\" pulumi-lang-dotnet=\"`AdministratorLoginPassword`\" pulumi-lang-go=\"`administratorLoginPassword`\" pulumi-lang-python=\"`administrator_login_password`\" pulumi-lang-yaml=\"`administratorLoginPassword`\" pulumi-lang-java=\"`administratorLoginPassword`\"\u003e`administrator_login_password`\u003c/span\u003e properties can be omitted.\n"},"loginUsername":{"type":"string","description":"The login username of the Azure AD Administrator of this SQL Server.\n"},"objectId":{"type":"string","description":"The object id of the Azure AD Administrator of this SQL Server.\n"},"tenantId":{"type":"string","description":"The tenant id of the Azure AD Administrator of this SQL Server.\n"}},"type":"object","required":["loginUsername","objectId"],"language":{"nodejs":{"requiredOutputs":["azureadAuthenticationOnly","loginUsername","objectId","tenantId"]}}},"azure:mssql/ServerIdentity:ServerIdentity":{"properties":{"identityIds":{"type":"array","items":{"type":"string"},"description":"Specifies a list of User Assigned Managed Identity IDs to be assigned to this SQL Server.\n\n\u003e **Note:** This is required when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to `UserAssigned`\n\n\u003e **Note:** When \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to `SystemAssigned`, the assigned \u003cspan pulumi-lang-nodejs=\"`principalId`\" pulumi-lang-dotnet=\"`PrincipalId`\" pulumi-lang-go=\"`principalId`\" pulumi-lang-python=\"`principal_id`\" pulumi-lang-yaml=\"`principalId`\" pulumi-lang-java=\"`principalId`\"\u003e`principal_id`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`tenantId`\" pulumi-lang-dotnet=\"`TenantId`\" pulumi-lang-go=\"`tenantId`\" pulumi-lang-python=\"`tenant_id`\" pulumi-lang-yaml=\"`tenantId`\" pulumi-lang-java=\"`tenantId`\"\u003e`tenant_id`\u003c/span\u003e can be retrieved after the Microsoft SQL Server has been created. More details are available below.\n"},"principalId":{"type":"string","description":"The Principal ID for the Service Principal associated with the Identity of this SQL Server.\n"},"tenantId":{"type":"string","description":"The Tenant ID for the Service Principal associated with the Identity of this SQL Server.\n"},"type":{"type":"string","description":"Specifies the type of Managed Service Identity that should be configured on this SQL Server. Possible values are `SystemAssigned`, `UserAssigned`, `SystemAssigned, UserAssigned` (to enable both).\n"}},"type":"object","required":["type"],"language":{"nodejs":{"requiredOutputs":["principalId","tenantId","type"]}}},"azure:mssql/ServerVulnerabilityAssessmentRecurringScans:ServerVulnerabilityAssessmentRecurringScans":{"properties":{"emailSubscriptionAdmins":{"type":"boolean","description":"Boolean flag which specifies if the schedule scan notification will be sent to the subscription administrators. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"emails":{"type":"array","items":{"type":"string"},"description":"Specifies an array of email addresses to which the scan notification is sent.\n"},"enabled":{"type":"boolean","description":"Boolean flag which specifies if recurring scans is enabled or disabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"}},"type":"object"},"azure:mssql/VirtualMachineAssessment:VirtualMachineAssessment":{"properties":{"enabled":{"type":"boolean","description":"Should Assessment be enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"runImmediately":{"type":"boolean","description":"Should Assessment be run immediately? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"schedule":{"$ref":"#/types/azure:mssql/VirtualMachineAssessmentSchedule:VirtualMachineAssessmentSchedule","description":"An \u003cspan pulumi-lang-nodejs=\"`schedule`\" pulumi-lang-dotnet=\"`Schedule`\" pulumi-lang-go=\"`schedule`\" pulumi-lang-python=\"`schedule`\" pulumi-lang-yaml=\"`schedule`\" pulumi-lang-java=\"`schedule`\"\u003e`schedule`\u003c/span\u003e block as defined below.\n"}},"type":"object"},"azure:mssql/VirtualMachineAssessmentSchedule:VirtualMachineAssessmentSchedule":{"properties":{"dayOfWeek":{"type":"string","description":"What day of the week the assessment will be run. Possible values are `Friday`, `Monday`, `Saturday`, `Sunday`, `Thursday`, `Tuesday` and `Wednesday`.\n"},"monthlyOccurrence":{"type":"integer","description":"How many months between assessment runs. Valid values are between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`5`\" pulumi-lang-dotnet=\"`5`\" pulumi-lang-go=\"`5`\" pulumi-lang-python=\"`5`\" pulumi-lang-yaml=\"`5`\" pulumi-lang-java=\"`5`\"\u003e`5`\u003c/span\u003e.\n\n\u003e **Note:** Either one of \u003cspan pulumi-lang-nodejs=\"`weeklyInterval`\" pulumi-lang-dotnet=\"`WeeklyInterval`\" pulumi-lang-go=\"`weeklyInterval`\" pulumi-lang-python=\"`weekly_interval`\" pulumi-lang-yaml=\"`weeklyInterval`\" pulumi-lang-java=\"`weeklyInterval`\"\u003e`weekly_interval`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`monthlyOccurrence`\" pulumi-lang-dotnet=\"`MonthlyOccurrence`\" pulumi-lang-go=\"`monthlyOccurrence`\" pulumi-lang-python=\"`monthly_occurrence`\" pulumi-lang-yaml=\"`monthlyOccurrence`\" pulumi-lang-java=\"`monthlyOccurrence`\"\u003e`monthly_occurrence`\u003c/span\u003e must be specified.\n"},"startTime":{"type":"string","description":"What time the assessment will be run. Must be in the format `HH:mm`.\n"},"weeklyInterval":{"type":"integer","description":"How many weeks between assessment runs. Valid values are between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`6`\" pulumi-lang-dotnet=\"`6`\" pulumi-lang-go=\"`6`\" pulumi-lang-python=\"`6`\" pulumi-lang-yaml=\"`6`\" pulumi-lang-java=\"`6`\"\u003e`6`\u003c/span\u003e.\n"}},"type":"object","required":["dayOfWeek","startTime"]},"azure:mssql/VirtualMachineAutoBackup:VirtualMachineAutoBackup":{"properties":{"encryptionEnabled":{"type":"boolean","deprecationMessage":"\u003cspan pulumi-lang-nodejs=\"`encryptionEnabled`\" pulumi-lang-dotnet=\"`EncryptionEnabled`\" pulumi-lang-go=\"`encryptionEnabled`\" pulumi-lang-python=\"`encryption_enabled`\" pulumi-lang-yaml=\"`encryptionEnabled`\" pulumi-lang-java=\"`encryptionEnabled`\"\u003e`encryption_enabled`\u003c/span\u003e has been deprecated and will be removed in v5.0 of the AzureRM Provider. Encryption is enabled when \u003cspan pulumi-lang-nodejs=\"`encryptionPassword`\" pulumi-lang-dotnet=\"`EncryptionPassword`\" pulumi-lang-go=\"`encryptionPassword`\" pulumi-lang-python=\"`encryption_password`\" pulumi-lang-yaml=\"`encryptionPassword`\" pulumi-lang-java=\"`encryptionPassword`\"\u003e`encryption_password`\u003c/span\u003e is set; otherwise disabled."},"encryptionPassword":{"type":"string","description":"Encryption password to use. Setting a password will enable encryption.\n","secret":true},"manualSchedule":{"$ref":"#/types/azure:mssql/VirtualMachineAutoBackupManualSchedule:VirtualMachineAutoBackupManualSchedule","description":"A \u003cspan pulumi-lang-nodejs=\"`manualSchedule`\" pulumi-lang-dotnet=\"`ManualSchedule`\" pulumi-lang-go=\"`manualSchedule`\" pulumi-lang-python=\"`manual_schedule`\" pulumi-lang-yaml=\"`manualSchedule`\" pulumi-lang-java=\"`manualSchedule`\"\u003e`manual_schedule`\u003c/span\u003e block as documented below. When this block is present, the schedule type is set to `Manual`. Without this block, the schedule type is set to `Automated`.\n"},"retentionPeriodInDays":{"type":"integer","description":"Retention period of backups, in days. Valid values are from \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`30`\" pulumi-lang-dotnet=\"`30`\" pulumi-lang-go=\"`30`\" pulumi-lang-python=\"`30`\" pulumi-lang-yaml=\"`30`\" pulumi-lang-java=\"`30`\"\u003e`30`\u003c/span\u003e.\n"},"storageAccountAccessKey":{"type":"string","description":"Access key for the storage account where backups will be kept.\n"},"storageBlobEndpoint":{"type":"string","description":"Blob endpoint for the storage account where backups will be kept.\n"},"systemDatabasesBackupEnabled":{"type":"boolean","description":"Include or exclude system databases from auto backup.\n"}},"type":"object","required":["retentionPeriodInDays","storageAccountAccessKey","storageBlobEndpoint"],"language":{"nodejs":{"requiredOutputs":["encryptionEnabled","retentionPeriodInDays","storageAccountAccessKey","storageBlobEndpoint"]}}},"azure:mssql/VirtualMachineAutoBackupManualSchedule:VirtualMachineAutoBackupManualSchedule":{"properties":{"daysOfWeeks":{"type":"array","items":{"type":"string"},"description":"A list of days on which backup can take place. Possible values are `Monday`, `Tuesday`, `Wednesday`, `Thursday`, `Friday`, `Saturday` and `Sunday`\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`daysOfWeek`\" pulumi-lang-dotnet=\"`DaysOfWeek`\" pulumi-lang-go=\"`daysOfWeek`\" pulumi-lang-python=\"`days_of_week`\" pulumi-lang-yaml=\"`daysOfWeek`\" pulumi-lang-java=\"`daysOfWeek`\"\u003e`days_of_week`\u003c/span\u003e can only be specified when \u003cspan pulumi-lang-nodejs=\"`manualSchedule`\" pulumi-lang-dotnet=\"`ManualSchedule`\" pulumi-lang-go=\"`manualSchedule`\" pulumi-lang-python=\"`manual_schedule`\" pulumi-lang-yaml=\"`manualSchedule`\" pulumi-lang-java=\"`manualSchedule`\"\u003e`manual_schedule`\u003c/span\u003e is set to `Weekly`\n"},"fullBackupFrequency":{"type":"string","description":"Frequency of full backups. Valid values include `Daily` or `Weekly`.\n"},"fullBackupStartHour":{"type":"integer","description":"Start hour of a given day during which full backups can take place. Valid values are from \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`23`\" pulumi-lang-dotnet=\"`23`\" pulumi-lang-go=\"`23`\" pulumi-lang-python=\"`23`\" pulumi-lang-yaml=\"`23`\" pulumi-lang-java=\"`23`\"\u003e`23`\u003c/span\u003e.\n"},"fullBackupWindowInHours":{"type":"integer","description":"Duration of the time window of a given day during which full backups can take place, in hours. Valid values are between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`23`\" pulumi-lang-dotnet=\"`23`\" pulumi-lang-go=\"`23`\" pulumi-lang-python=\"`23`\" pulumi-lang-yaml=\"`23`\" pulumi-lang-java=\"`23`\"\u003e`23`\u003c/span\u003e.\n"},"logBackupFrequencyInMinutes":{"type":"integer","description":"Frequency of log backups, in minutes. Valid values are from \u003cspan pulumi-lang-nodejs=\"`5`\" pulumi-lang-dotnet=\"`5`\" pulumi-lang-go=\"`5`\" pulumi-lang-python=\"`5`\" pulumi-lang-yaml=\"`5`\" pulumi-lang-java=\"`5`\"\u003e`5`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`60`\" pulumi-lang-dotnet=\"`60`\" pulumi-lang-go=\"`60`\" pulumi-lang-python=\"`60`\" pulumi-lang-yaml=\"`60`\" pulumi-lang-java=\"`60`\"\u003e`60`\u003c/span\u003e.\n"}},"type":"object","required":["fullBackupFrequency","fullBackupStartHour","fullBackupWindowInHours","logBackupFrequencyInMinutes"]},"azure:mssql/VirtualMachineAutoPatching:VirtualMachineAutoPatching":{"properties":{"dayOfWeek":{"type":"string","description":"The day of week to apply the patch on. Possible values are `Monday`, `Tuesday`, `Wednesday`, `Thursday`, `Friday`, `Saturday` and `Sunday`.\n"},"maintenanceWindowDurationInMinutes":{"type":"integer","description":"The size of the Maintenance Window in minutes.\n"},"maintenanceWindowStartingHour":{"type":"integer","description":"The Hour, in the Virtual Machine Time-Zone when the patching maintenance window should begin.\n"}},"type":"object","required":["dayOfWeek","maintenanceWindowDurationInMinutes","maintenanceWindowStartingHour"]},"azure:mssql/VirtualMachineAvailabilityGroupListenerLoadBalancerConfiguration:VirtualMachineAvailabilityGroupListenerLoadBalancerConfiguration":{"properties":{"loadBalancerId":{"type":"string","description":"The ID of the Load Balancer. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"privateIpAddress":{"type":"string","description":"The private IP Address of the listener. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"probePort":{"type":"integer","description":"The probe port of the listener. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sqlVirtualMachineIds":{"type":"array","items":{"type":"string"},"description":"Specifies a list of SQL Virtual Machine IDs. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"subnetId":{"type":"string","description":"The ID of the Subnet to create the listener. Changing this forces a new resource to be created.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`sqlVirtualMachineIds`\" pulumi-lang-dotnet=\"`SqlVirtualMachineIds`\" pulumi-lang-go=\"`sqlVirtualMachineIds`\" pulumi-lang-python=\"`sql_virtual_machine_ids`\" pulumi-lang-yaml=\"`sqlVirtualMachineIds`\" pulumi-lang-java=\"`sqlVirtualMachineIds`\"\u003e`sql_virtual_machine_ids`\u003c/span\u003e should match with the SQL Virtual Machines specified in \u003cspan pulumi-lang-nodejs=\"`replica`\" pulumi-lang-dotnet=\"`Replica`\" pulumi-lang-go=\"`replica`\" pulumi-lang-python=\"`replica`\" pulumi-lang-yaml=\"`replica`\" pulumi-lang-java=\"`replica`\"\u003e`replica`\u003c/span\u003e.\n","willReplaceOnChanges":true}},"type":"object","required":["loadBalancerId","privateIpAddress","probePort","sqlVirtualMachineIds","subnetId"]},"azure:mssql/VirtualMachineAvailabilityGroupListenerMultiSubnetIpConfiguration:VirtualMachineAvailabilityGroupListenerMultiSubnetIpConfiguration":{"properties":{"privateIpAddress":{"type":"string","description":"The private IP Address of the listener. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sqlVirtualMachineId":{"type":"string","description":"The ID of the Sql Virtual Machine. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"subnetId":{"type":"string","description":"The ID of the Subnet to create the listener. Changing this forces a new resource to be created.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`sqlVirtualMachineId`\" pulumi-lang-dotnet=\"`SqlVirtualMachineId`\" pulumi-lang-go=\"`sqlVirtualMachineId`\" pulumi-lang-python=\"`sql_virtual_machine_id`\" pulumi-lang-yaml=\"`sqlVirtualMachineId`\" pulumi-lang-java=\"`sqlVirtualMachineId`\"\u003e`sql_virtual_machine_id`\u003c/span\u003e should match with the SQL Virtual Machines specified in \u003cspan pulumi-lang-nodejs=\"`replica`\" pulumi-lang-dotnet=\"`Replica`\" pulumi-lang-go=\"`replica`\" pulumi-lang-python=\"`replica`\" pulumi-lang-yaml=\"`replica`\" pulumi-lang-java=\"`replica`\"\u003e`replica`\u003c/span\u003e.\n","willReplaceOnChanges":true}},"type":"object","required":["privateIpAddress","sqlVirtualMachineId","subnetId"]},"azure:mssql/VirtualMachineAvailabilityGroupListenerReplica:VirtualMachineAvailabilityGroupListenerReplica":{"properties":{"commit":{"type":"string","description":"The replica commit mode for the availability group. Possible values are `Synchronous_Commit` and `Asynchronous_Commit`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"failoverMode":{"type":"string","description":"The replica failover mode for the availability group. Possible values are `Manual` and `Automatic`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"readableSecondary":{"type":"string","description":"The replica readable secondary mode for the availability group. Possible values are `No`, `Read_Only` and `All`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"role":{"type":"string","description":"The replica role for the availability group. Possible values are `Primary` and `Secondary`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sqlVirtualMachineId":{"type":"string","description":"The ID of the SQL Virtual Machine. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["commit","failoverMode","readableSecondary","role","sqlVirtualMachineId"]},"azure:mssql/VirtualMachineGroupWsfcDomainProfile:VirtualMachineGroupWsfcDomainProfile":{"properties":{"clusterBootstrapAccountName":{"type":"string","description":"The account name used for creating cluster. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"clusterOperatorAccountName":{"type":"string","description":"The account name used for operating cluster. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"clusterSubnetType":{"type":"string","description":"The subnet type of the SQL Virtual Machine cluster. Possible values are `MultiSubnet` and `SingleSubnet`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"fqdn":{"type":"string","description":"The fully qualified name of the domain. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"organizationalUnitPath":{"type":"string","description":"The organizational Unit path in which the nodes and cluster will be present. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sqlServiceAccountName":{"type":"string","description":"The account name under which SQL service will run on all participating SQL virtual machines in the cluster. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"storageAccountPrimaryKey":{"type":"string","description":"The primary key of the Storage Account.\n","secret":true},"storageAccountUrl":{"type":"string","description":"The SAS URL to the Storage Container of the witness storage account. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["clusterSubnetType","fqdn"]},"azure:mssql/VirtualMachineKeyVaultCredential:VirtualMachineKeyVaultCredential":{"properties":{"keyVaultUrl":{"type":"string","description":"The Azure Key Vault url. Changing this forces a new resource to be created.\n","secret":true,"willReplaceOnChanges":true},"name":{"type":"string","description":"The credential name.\n"},"servicePrincipalName":{"type":"string","description":"The service principal name to access key vault. Changing this forces a new resource to be created.\n","secret":true,"willReplaceOnChanges":true},"servicePrincipalSecret":{"type":"string","description":"The service principal name secret to access key vault. Changing this forces a new resource to be created.\n","secret":true,"willReplaceOnChanges":true}},"type":"object","required":["keyVaultUrl","name","servicePrincipalName","servicePrincipalSecret"]},"azure:mssql/VirtualMachineSqlInstance:VirtualMachineSqlInstance":{"properties":{"adhocWorkloadsOptimizationEnabled":{"type":"boolean","description":"Specifies if the SQL Server is optimized for adhoc workloads. Possible values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"collation":{"type":"string","description":"Collation of the SQL Server. Defaults to `SQL_Latin1_General_CP1_CI_AS`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"instantFileInitializationEnabled":{"type":"boolean","description":"Specifies if Instant File Initialization is enabled for the SQL Server. Possible values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"lockPagesInMemoryEnabled":{"type":"boolean","description":"Specifies if Lock Pages in Memory is enabled for the SQL Server. Possible values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"maxDop":{"type":"integer","description":"Maximum Degree of Parallelism of the SQL Server. Possible values are between \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`32767`\" pulumi-lang-dotnet=\"`32767`\" pulumi-lang-go=\"`32767`\" pulumi-lang-python=\"`32767`\" pulumi-lang-yaml=\"`32767`\" pulumi-lang-java=\"`32767`\"\u003e`32767`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"maxServerMemoryMb":{"type":"integer","description":"Maximum amount memory that SQL Server Memory Manager can allocate to the SQL Server process. Possible values are between \u003cspan pulumi-lang-nodejs=\"`128`\" pulumi-lang-dotnet=\"`128`\" pulumi-lang-go=\"`128`\" pulumi-lang-python=\"`128`\" pulumi-lang-yaml=\"`128`\" pulumi-lang-java=\"`128`\"\u003e`128`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`2147483647`\" pulumi-lang-dotnet=\"`2147483647`\" pulumi-lang-go=\"`2147483647`\" pulumi-lang-python=\"`2147483647`\" pulumi-lang-yaml=\"`2147483647`\" pulumi-lang-java=\"`2147483647`\"\u003e`2147483647`\u003c/span\u003e Defaults to \u003cspan pulumi-lang-nodejs=\"`2147483647`\" pulumi-lang-dotnet=\"`2147483647`\" pulumi-lang-go=\"`2147483647`\" pulumi-lang-python=\"`2147483647`\" pulumi-lang-yaml=\"`2147483647`\" pulumi-lang-java=\"`2147483647`\"\u003e`2147483647`\u003c/span\u003e.\n"},"minServerMemoryMb":{"type":"integer","description":"Minimum amount memory that SQL Server Memory Manager can allocate to the SQL Server process. Possible values are between \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`2147483647`\" pulumi-lang-dotnet=\"`2147483647`\" pulumi-lang-go=\"`2147483647`\" pulumi-lang-python=\"`2147483647`\" pulumi-lang-yaml=\"`2147483647`\" pulumi-lang-java=\"`2147483647`\"\u003e`2147483647`\u003c/span\u003e Defaults to \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`maxServerMemoryMb`\" pulumi-lang-dotnet=\"`MaxServerMemoryMb`\" pulumi-lang-go=\"`maxServerMemoryMb`\" pulumi-lang-python=\"`max_server_memory_mb`\" pulumi-lang-yaml=\"`maxServerMemoryMb`\" pulumi-lang-java=\"`maxServerMemoryMb`\"\u003e`max_server_memory_mb`\u003c/span\u003e must be greater than or equal to \u003cspan pulumi-lang-nodejs=\"`minServerMemoryMb`\" pulumi-lang-dotnet=\"`MinServerMemoryMb`\" pulumi-lang-go=\"`minServerMemoryMb`\" pulumi-lang-python=\"`min_server_memory_mb`\" pulumi-lang-yaml=\"`minServerMemoryMb`\" pulumi-lang-java=\"`minServerMemoryMb`\"\u003e`min_server_memory_mb`\u003c/span\u003e\n"}},"type":"object"},"azure:mssql/VirtualMachineStorageConfiguration:VirtualMachineStorageConfiguration":{"properties":{"dataSettings":{"$ref":"#/types/azure:mssql/VirtualMachineStorageConfigurationDataSettings:VirtualMachineStorageConfigurationDataSettings","description":"A \u003cspan pulumi-lang-nodejs=\"`storageSettings`\" pulumi-lang-dotnet=\"`StorageSettings`\" pulumi-lang-go=\"`storageSettings`\" pulumi-lang-python=\"`storage_settings`\" pulumi-lang-yaml=\"`storageSettings`\" pulumi-lang-java=\"`storageSettings`\"\u003e`storage_settings`\u003c/span\u003e block as defined below.\n"},"diskType":{"type":"string","description":"The type of disk configuration to apply to the SQL Server. Valid values include `NEW`, `EXTEND`, or `ADD`.\n"},"logSettings":{"$ref":"#/types/azure:mssql/VirtualMachineStorageConfigurationLogSettings:VirtualMachineStorageConfigurationLogSettings","description":"A \u003cspan pulumi-lang-nodejs=\"`storageSettings`\" pulumi-lang-dotnet=\"`StorageSettings`\" pulumi-lang-go=\"`storageSettings`\" pulumi-lang-python=\"`storage_settings`\" pulumi-lang-yaml=\"`storageSettings`\" pulumi-lang-java=\"`storageSettings`\"\u003e`storage_settings`\u003c/span\u003e block as defined below.\n"},"storageWorkloadType":{"type":"string","description":"The type of storage workload. Valid values include `GENERAL`, `OLTP`, or `DW`.\n"},"systemDbOnDataDiskEnabled":{"type":"boolean","description":"Specifies whether to set system databases (except tempDb) location to newly created data storage. Possible values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"tempDbSettings":{"$ref":"#/types/azure:mssql/VirtualMachineStorageConfigurationTempDbSettings:VirtualMachineStorageConfigurationTempDbSettings","description":"An \u003cspan pulumi-lang-nodejs=\"`tempDbSettings`\" pulumi-lang-dotnet=\"`TempDbSettings`\" pulumi-lang-go=\"`tempDbSettings`\" pulumi-lang-python=\"`temp_db_settings`\" pulumi-lang-yaml=\"`tempDbSettings`\" pulumi-lang-java=\"`tempDbSettings`\"\u003e`temp_db_settings`\u003c/span\u003e block as defined below.\n"}},"type":"object","required":["diskType","storageWorkloadType"]},"azure:mssql/VirtualMachineStorageConfigurationDataSettings:VirtualMachineStorageConfigurationDataSettings":{"properties":{"defaultFilePath":{"type":"string"},"luns":{"type":"array","items":{"type":"integer"}}},"type":"object","required":["defaultFilePath","luns"]},"azure:mssql/VirtualMachineStorageConfigurationLogSettings:VirtualMachineStorageConfigurationLogSettings":{"properties":{"defaultFilePath":{"type":"string"},"luns":{"type":"array","items":{"type":"integer"}}},"type":"object","required":["defaultFilePath","luns"]},"azure:mssql/VirtualMachineStorageConfigurationTempDbSettings:VirtualMachineStorageConfigurationTempDbSettings":{"properties":{"dataFileCount":{"type":"integer","description":"The SQL Server default file count. This value defaults to \u003cspan pulumi-lang-nodejs=\"`8`\" pulumi-lang-dotnet=\"`8`\" pulumi-lang-go=\"`8`\" pulumi-lang-python=\"`8`\" pulumi-lang-yaml=\"`8`\" pulumi-lang-java=\"`8`\"\u003e`8`\u003c/span\u003e\n"},"dataFileGrowthInMb":{"type":"integer","description":"The SQL Server default file size - This value defaults to \u003cspan pulumi-lang-nodejs=\"`512`\" pulumi-lang-dotnet=\"`512`\" pulumi-lang-go=\"`512`\" pulumi-lang-python=\"`512`\" pulumi-lang-yaml=\"`512`\" pulumi-lang-java=\"`512`\"\u003e`512`\u003c/span\u003e\n"},"dataFileSizeMb":{"type":"integer","description":"The SQL Server default file size - This value defaults to \u003cspan pulumi-lang-nodejs=\"`256`\" pulumi-lang-dotnet=\"`256`\" pulumi-lang-go=\"`256`\" pulumi-lang-python=\"`256`\" pulumi-lang-yaml=\"`256`\" pulumi-lang-java=\"`256`\"\u003e`256`\u003c/span\u003e\n"},"defaultFilePath":{"type":"string","description":"The SQL Server default path\n"},"logFileGrowthMb":{"type":"integer","description":"The SQL Server default file size - This value defaults to \u003cspan pulumi-lang-nodejs=\"`512`\" pulumi-lang-dotnet=\"`512`\" pulumi-lang-go=\"`512`\" pulumi-lang-python=\"`512`\" pulumi-lang-yaml=\"`512`\" pulumi-lang-java=\"`512`\"\u003e`512`\u003c/span\u003e\n"},"logFileSizeMb":{"type":"integer","description":"The SQL Server default file size - This value defaults to \u003cspan pulumi-lang-nodejs=\"`256`\" pulumi-lang-dotnet=\"`256`\" pulumi-lang-go=\"`256`\" pulumi-lang-python=\"`256`\" pulumi-lang-yaml=\"`256`\" pulumi-lang-java=\"`256`\"\u003e`256`\u003c/span\u003e\n"},"luns":{"type":"array","items":{"type":"integer"},"description":"A list of Logical Unit Numbers for the disks.\n"}},"type":"object","required":["defaultFilePath","luns"]},"azure:mssql/VirtualMachineWsfcDomainCredential:VirtualMachineWsfcDomainCredential":{"properties":{"clusterBootstrapAccountPassword":{"type":"string","description":"The account password used for creating cluster.\n","secret":true},"clusterOperatorAccountPassword":{"type":"string","description":"The account password used for operating cluster.\n","secret":true},"sqlServiceAccountPassword":{"type":"string","description":"The account password under which SQL service will run on all participating SQL virtual machines in the cluster.\n","secret":true}},"type":"object","required":["clusterBootstrapAccountPassword","clusterOperatorAccountPassword","sqlServiceAccountPassword"]},"azure:mssql/getDatabaseIdentity:getDatabaseIdentity":{"properties":{"identityIds":{"type":"array","items":{"type":"string"},"description":"The list of User Assigned Managed Identity IDs assigned to this Microsoft SQL Database.\n"},"type":{"type":"string","description":"The type of Managed Service Identity that is configured on this Microsoft SQL Database.\n"}},"type":"object","required":["identityIds","type"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:mssql/getElasticPoolSkus:getElasticPoolSkus":{"properties":{"capacity":{"type":"integer","description":"The scale up/out capacity, representing server's compute units.\n"},"family":{"type":"string","description":"The \u003cspan pulumi-lang-nodejs=\"`family`\" pulumi-lang-dotnet=\"`Family`\" pulumi-lang-go=\"`family`\" pulumi-lang-python=\"`family`\" pulumi-lang-yaml=\"`family`\" pulumi-lang-java=\"`family`\"\u003e`family`\u003c/span\u003e of hardware.\n"},"name":{"type":"string","description":"The name of the elastic pool.\n"},"tier":{"type":"string","description":"The tier of the particular SKU.\n"}},"type":"object","required":["capacity","family","name","tier"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:mssql/getFailoverGroupPartnerServer:getFailoverGroupPartnerServer":{"properties":{"id":{"type":"string","description":"The ID of the partner SQL server.\n"},"location":{"type":"string","description":"The location of the partner server.\n"},"role":{"type":"string","description":"The replication role of the partner server.\n"}},"type":"object","required":["id","location","role"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:mssql/getFailoverGroupReadWriteEndpointFailoverPolicy:getFailoverGroupReadWriteEndpointFailoverPolicy":{"properties":{"graceMinutes":{"type":"integer","description":"The grace period in minutes, before failover with data loss is attempted for the read-write endpoint.\n"},"mode":{"type":"string","description":"The failover policy of the read-write endpoint for the Failover Group.\n"}},"type":"object","required":["graceMinutes","mode"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:mssql/getManagedDatabaseLongTermRetentionPolicy:getManagedDatabaseLongTermRetentionPolicy":{"properties":{"immutableBackupsEnabled":{"type":"boolean","description":"Specifies if the backups are immutable.\n"},"monthlyRetention":{"type":"string","description":"The monthly retention policy for an LTR backup in an ISO 8601 format.\n"},"weekOfYear":{"type":"integer","description":"The week of year to take the yearly backup.\n"},"weeklyRetention":{"type":"string","description":"The weekly retention policy for an LTR backup in an ISO 8601 format.\n"},"yearlyRetention":{"type":"string","description":"The yearly retention policy for an LTR backup in an ISO 8601 format.\n"}},"type":"object","required":["immutableBackupsEnabled","monthlyRetention","weekOfYear","weeklyRetention","yearlyRetention"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:mssql/getManagedDatabasePointInTimeRestore:getManagedDatabasePointInTimeRestore":{"properties":{"restorePointInTime":{"type":"string","description":"The point in time for the restore from \u003cspan pulumi-lang-nodejs=\"`sourceDatabaseId`\" pulumi-lang-dotnet=\"`SourceDatabaseId`\" pulumi-lang-go=\"`sourceDatabaseId`\" pulumi-lang-python=\"`source_database_id`\" pulumi-lang-yaml=\"`sourceDatabaseId`\" pulumi-lang-java=\"`sourceDatabaseId`\"\u003e`source_database_id`\u003c/span\u003e.\n"},"sourceDatabaseId":{"type":"string","description":"The source database ID that is used to restore from.\n"}},"type":"object","required":["restorePointInTime","sourceDatabaseId"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:mssql/getManagedInstanceIdentity:getManagedInstanceIdentity":{"properties":{"identityIds":{"type":"array","items":{"type":"string"},"description":"A list of User Assigned Managed Identity IDs assigned with the Identity of this SQL Managed Instance.\n"},"principalId":{"type":"string","description":"The Principal ID for the Service Principal associated with the Identity of this SQL Managed Instance.\n"},"tenantId":{"type":"string","description":"The Tenant ID for the Service Principal associated with the Identity of this SQL Managed Instance.\n"},"type":{"type":"string","description":"The identity type of the SQL Managed Instance.\n"}},"type":"object","required":["identityIds","principalId","tenantId","type"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:mssql/getServerIdentity:getServerIdentity":{"properties":{"identityIds":{"type":"array","items":{"type":"string"},"description":"The list of User Assigned Managed Identity IDs assigned to this Microsoft SQL Server.\n"},"principalId":{"type":"string","description":"The Principal ID of the System Assigned Managed Service Identity that is configured on this Microsoft SQL Server.\n"},"tenantId":{"type":"string","description":"The Tenant ID of the System Assigned Managed Service Identity that is configured on this Microsoft SQL Server.\n"},"type":{"type":"string","description":"The type of Managed Service Identity that is configured on this Microsoft SQL Server.\n"}},"type":"object","required":["identityIds","principalId","tenantId","type"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:mysql/FlexibleServerCustomerManagedKey:FlexibleServerCustomerManagedKey":{"properties":{"geoBackupKeyVaultKeyId":{"type":"string","description":"The ID of the geo backup Key Vault Key. It can't cross region and need Customer Managed Key in same region as geo backup.\n"},"geoBackupUserAssignedIdentityId":{"type":"string","description":"The geo backup user managed identity id for a Customer Managed Key. Should be added with \u003cspan pulumi-lang-nodejs=\"`identityIds`\" pulumi-lang-dotnet=\"`IdentityIds`\" pulumi-lang-go=\"`identityIds`\" pulumi-lang-python=\"`identity_ids`\" pulumi-lang-yaml=\"`identityIds`\" pulumi-lang-java=\"`identityIds`\"\u003e`identity_ids`\u003c/span\u003e. It can't cross region and need identity in same region as geo backup.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`primaryUserAssignedIdentityId`\" pulumi-lang-dotnet=\"`PrimaryUserAssignedIdentityId`\" pulumi-lang-go=\"`primaryUserAssignedIdentityId`\" pulumi-lang-python=\"`primary_user_assigned_identity_id`\" pulumi-lang-yaml=\"`primaryUserAssignedIdentityId`\" pulumi-lang-java=\"`primaryUserAssignedIdentityId`\"\u003e`primary_user_assigned_identity_id`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`geoBackupUserAssignedIdentityId`\" pulumi-lang-dotnet=\"`GeoBackupUserAssignedIdentityId`\" pulumi-lang-go=\"`geoBackupUserAssignedIdentityId`\" pulumi-lang-python=\"`geo_backup_user_assigned_identity_id`\" pulumi-lang-yaml=\"`geoBackupUserAssignedIdentityId`\" pulumi-lang-java=\"`geoBackupUserAssignedIdentityId`\"\u003e`geo_backup_user_assigned_identity_id`\u003c/span\u003e is required when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to `UserAssigned` or `SystemAssigned, UserAssigned`.\n"},"keyVaultKeyId":{"type":"string","description":"The ID of the Key Vault Key.\n"},"managedHsmKeyId":{"type":"string","description":"The ID of the Managed HSM Key.\n"},"primaryUserAssignedIdentityId":{"type":"string","description":"Specifies the primary user managed identity id for a Customer Managed Key. Should be added with \u003cspan pulumi-lang-nodejs=\"`identityIds`\" pulumi-lang-dotnet=\"`IdentityIds`\" pulumi-lang-go=\"`identityIds`\" pulumi-lang-python=\"`identity_ids`\" pulumi-lang-yaml=\"`identityIds`\" pulumi-lang-java=\"`identityIds`\"\u003e`identity_ids`\u003c/span\u003e.\n"}},"type":"object"},"azure:mysql/FlexibleServerHighAvailability:FlexibleServerHighAvailability":{"properties":{"mode":{"type":"string","description":"The high availability mode for the MySQL Flexible Server. Possibles values are `SameZone` and `ZoneRedundant`.\n\n\u003e **Note:** `storage[0].auto_grow_enabled` must be enabled when \u003cspan pulumi-lang-nodejs=\"`highAvailability`\" pulumi-lang-dotnet=\"`HighAvailability`\" pulumi-lang-go=\"`highAvailability`\" pulumi-lang-python=\"`high_availability`\" pulumi-lang-yaml=\"`highAvailability`\" pulumi-lang-java=\"`highAvailability`\"\u003e`high_availability`\u003c/span\u003e is enabled. To change the \u003cspan pulumi-lang-nodejs=\"`highAvailability`\" pulumi-lang-dotnet=\"`HighAvailability`\" pulumi-lang-go=\"`highAvailability`\" pulumi-lang-python=\"`high_availability`\" pulumi-lang-yaml=\"`highAvailability`\" pulumi-lang-java=\"`highAvailability`\"\u003e`high_availability`\u003c/span\u003e for a MySQL Flexible Server created with \u003cspan pulumi-lang-nodejs=\"`highAvailability`\" pulumi-lang-dotnet=\"`HighAvailability`\" pulumi-lang-go=\"`highAvailability`\" pulumi-lang-python=\"`high_availability`\" pulumi-lang-yaml=\"`highAvailability`\" pulumi-lang-java=\"`highAvailability`\"\u003e`high_availability`\u003c/span\u003e disabled during creation, the resource has to be recreated.\n"},"standbyAvailabilityZone":{"type":"string","description":"Specifies the Availability Zone in which the standby Flexible Server should be located. Possible values are \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e.\n\n\u003e **Note:** Azure will automatically assign an Availability Zone if one is not specified. If the MySQL Flexible Server fails-over to the Standby Availability Zone, the \u003cspan pulumi-lang-nodejs=\"`zone`\" pulumi-lang-dotnet=\"`Zone`\" pulumi-lang-go=\"`zone`\" pulumi-lang-python=\"`zone`\" pulumi-lang-yaml=\"`zone`\" pulumi-lang-java=\"`zone`\"\u003e`zone`\u003c/span\u003e will be updated to reflect the current Primary Availability Zone. You can use Terraform's \u003cspan pulumi-lang-nodejs=\"`ignoreChanges`\" pulumi-lang-dotnet=\"`IgnoreChanges`\" pulumi-lang-go=\"`ignoreChanges`\" pulumi-lang-python=\"`ignore_changes`\" pulumi-lang-yaml=\"`ignoreChanges`\" pulumi-lang-java=\"`ignoreChanges`\"\u003e`ignore_changes`\u003c/span\u003e functionality to ignore changes to the \u003cspan pulumi-lang-nodejs=\"`zone`\" pulumi-lang-dotnet=\"`Zone`\" pulumi-lang-go=\"`zone`\" pulumi-lang-python=\"`zone`\" pulumi-lang-yaml=\"`zone`\" pulumi-lang-java=\"`zone`\"\u003e`zone`\u003c/span\u003e and `high_availability[0].standby_availability_zone` fields should you wish for Terraform to not migrate the MySQL Flexible Server back to it's primary Availability Zone after a fail-over.\n\n\u003e **Note:** The Availability Zones available depend on the Azure Region that the MySQL Flexible Server is being deployed into - see [the Azure Availability Zones documentation](https://azure.microsoft.com/global-infrastructure/geographies/#geographies) for more information on which Availability Zones are available in each Azure Region.\n"}},"type":"object","required":["mode"],"language":{"nodejs":{"requiredOutputs":["mode","standbyAvailabilityZone"]}}},"azure:mysql/FlexibleServerIdentity:FlexibleServerIdentity":{"properties":{"identityIds":{"type":"array","items":{"type":"string"},"description":"A list of User Assigned Managed Identity IDs to be assigned to this MySQL Flexible Server.\n"},"type":{"type":"string","description":"Specifies the type of Managed Service Identity that should be configured on this MySQL Flexible Server. The only possible value is `UserAssigned`.\n"}},"type":"object","required":["identityIds","type"]},"azure:mysql/FlexibleServerMaintenanceWindow:FlexibleServerMaintenanceWindow":{"properties":{"dayOfWeek":{"type":"integer","description":"The day of week for maintenance window. Defaults to \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"startHour":{"type":"integer","description":"The start hour for maintenance window. Defaults to \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"startMinute":{"type":"integer","description":"The start minute for maintenance window. Defaults to \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"}},"type":"object"},"azure:mysql/FlexibleServerStorage:FlexibleServerStorage":{"properties":{"autoGrowEnabled":{"type":"boolean","description":"Should Storage Auto Grow be enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"ioScalingEnabled":{"type":"boolean","description":"Should IOPS be scaled automatically? If \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`iops`\" pulumi-lang-dotnet=\"`Iops`\" pulumi-lang-go=\"`iops`\" pulumi-lang-python=\"`iops`\" pulumi-lang-yaml=\"`iops`\" pulumi-lang-java=\"`iops`\"\u003e`iops`\u003c/span\u003e can not be set. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"iops":{"type":"integer","description":"The storage IOPS for the MySQL Flexible Server. Possible values are between \u003cspan pulumi-lang-nodejs=\"`360`\" pulumi-lang-dotnet=\"`360`\" pulumi-lang-go=\"`360`\" pulumi-lang-python=\"`360`\" pulumi-lang-yaml=\"`360`\" pulumi-lang-java=\"`360`\"\u003e`360`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`20000`\" pulumi-lang-dotnet=\"`20000`\" pulumi-lang-go=\"`20000`\" pulumi-lang-python=\"`20000`\" pulumi-lang-yaml=\"`20000`\" pulumi-lang-java=\"`20000`\"\u003e`20000`\u003c/span\u003e.\n"},"logOnDiskEnabled":{"type":"boolean","description":"Should Storage Log On Disk be enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"sizeGb":{"type":"integer","description":"The max storage allowed for the MySQL Flexible Server. Possible values are between \u003cspan pulumi-lang-nodejs=\"`20`\" pulumi-lang-dotnet=\"`20`\" pulumi-lang-go=\"`20`\" pulumi-lang-python=\"`20`\" pulumi-lang-yaml=\"`20`\" pulumi-lang-java=\"`20`\"\u003e`20`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`16384`\" pulumi-lang-dotnet=\"`16384`\" pulumi-lang-go=\"`16384`\" pulumi-lang-python=\"`16384`\" pulumi-lang-yaml=\"`16384`\" pulumi-lang-java=\"`16384`\"\u003e`16384`\u003c/span\u003e.\n\n\u003e **Note:** Decreasing \u003cspan pulumi-lang-nodejs=\"`sizeGb`\" pulumi-lang-dotnet=\"`SizeGb`\" pulumi-lang-go=\"`sizeGb`\" pulumi-lang-python=\"`size_gb`\" pulumi-lang-yaml=\"`sizeGb`\" pulumi-lang-java=\"`sizeGb`\"\u003e`size_gb`\u003c/span\u003e forces a new resource to be created.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["iops","sizeGb"]}}},"azure:mysql/getFlexibleServerHighAvailability:getFlexibleServerHighAvailability":{"properties":{"mode":{"type":"string","description":"The high availability mode of the MySQL Flexible Server.\n"},"standbyAvailabilityZone":{"type":"string","description":"The availability zone of the standby Flexible Server.\n"}},"type":"object","required":["mode","standbyAvailabilityZone"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:mysql/getFlexibleServerMaintenanceWindow:getFlexibleServerMaintenanceWindow":{"properties":{"dayOfWeek":{"type":"integer","description":"The day of week of the maintenance window.\n"},"startHour":{"type":"integer","description":"The start hour of the maintenance window.\n"},"startMinute":{"type":"integer","description":"The start minute of the maintenance window.\n"}},"type":"object","required":["dayOfWeek","startHour","startMinute"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:mysql/getFlexibleServerStorage:getFlexibleServerStorage":{"properties":{"autoGrowEnabled":{"type":"boolean","description":"Is Storage Auto Grow enabled?\n"},"ioScalingEnabled":{"type":"boolean","description":"Should IOPS be scaled automatically?\n"},"iops":{"type":"integer","description":"The storage IOPS of the MySQL Flexible Server.\n"},"sizeGb":{"type":"integer","description":"The max storage allowed for the MySQL Flexible Server.\n"}},"type":"object","required":["autoGrowEnabled","ioScalingEnabled","iops","sizeGb"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:netapp/AccountActiveDirectory:AccountActiveDirectory":{"properties":{"aesEncryptionEnabled":{"type":"boolean","description":"If enabled, AES encryption will be enabled for SMB communication. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"dnsServers":{"type":"array","items":{"type":"string"},"description":"A list of DNS server IP addresses for the Active Directory domain. Only allows `IPv4` address.\n"},"domain":{"type":"string","description":"The name of the Active Directory domain.\n"},"kerberosAdName":{"type":"string","description":"Name of the active directory machine.\n"},"kerberosKdcIp":{"type":"string","description":"kdc server IP addresses for the active directory machine.\n\n\u003e **Note:** If you plan on using **Kerberos** volumes, both \u003cspan pulumi-lang-nodejs=\"`adName`\" pulumi-lang-dotnet=\"`AdName`\" pulumi-lang-go=\"`adName`\" pulumi-lang-python=\"`ad_name`\" pulumi-lang-yaml=\"`adName`\" pulumi-lang-java=\"`adName`\"\u003e`ad_name`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`kdcIp`\" pulumi-lang-dotnet=\"`KdcIp`\" pulumi-lang-go=\"`kdcIp`\" pulumi-lang-python=\"`kdc_ip`\" pulumi-lang-yaml=\"`kdcIp`\" pulumi-lang-java=\"`kdcIp`\"\u003e`kdc_ip`\u003c/span\u003e are required in order to create the volume.\n"},"ldapOverTlsEnabled":{"type":"boolean","description":"Specifies whether or not the LDAP traffic needs to be secured via TLS. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"ldapSigningEnabled":{"type":"boolean","description":"Specifies whether or not the LDAP traffic needs to be signed. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"localNfsUsersWithLdapAllowed":{"type":"boolean","description":"If enabled, NFS client local users can also (in addition to LDAP users) access the NFS volumes. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"organizationalUnit":{"type":"string","description":"The Organizational Unit (OU) within Active Directory where machines will be created. If blank, defaults to `CN=Computers`.\n"},"password":{"type":"string","description":"The password associated with the \u003cspan pulumi-lang-nodejs=\"`username`\" pulumi-lang-dotnet=\"`Username`\" pulumi-lang-go=\"`username`\" pulumi-lang-python=\"`username`\" pulumi-lang-yaml=\"`username`\" pulumi-lang-java=\"`username`\"\u003e`username`\u003c/span\u003e.\n","secret":true},"serverRootCaCertificate":{"type":"string","description":"When LDAP over SSL/TLS is enabled, the LDAP client is required to have a *base64 encoded Active Directory Certificate Service's self-signed root CA certificate*, this optional parameter is used only for dual protocol with LDAP user-mapping volumes. Required if \u003cspan pulumi-lang-nodejs=\"`ldapOverTlsEnabled`\" pulumi-lang-dotnet=\"`LdapOverTlsEnabled`\" pulumi-lang-go=\"`ldapOverTlsEnabled`\" pulumi-lang-python=\"`ldap_over_tls_enabled`\" pulumi-lang-yaml=\"`ldapOverTlsEnabled`\" pulumi-lang-java=\"`ldapOverTlsEnabled`\"\u003e`ldap_over_tls_enabled`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n","secret":true},"siteName":{"type":"string","description":"The Active Directory site the service will limit Domain Controller discovery to. If blank, defaults to `Default-First-Site-Name`.\n"},"smbServerName":{"type":"string","description":"The NetBIOS name which should be used for the NetApp SMB Server, which will be registered as a computer account in the AD and used to mount volumes.\n"},"username":{"type":"string","description":"The Username of Active Directory Domain Administrator.\n"}},"type":"object","required":["dnsServers","domain","password","smbServerName","username"]},"azure:netapp/AccountIdentity:AccountIdentity":{"properties":{"identityIds":{"type":"array","items":{"type":"string"},"description":"The identity id of the user assigned identity to use when type is `UserAssigned`\n"},"principalId":{"type":"string"},"tenantId":{"type":"string"},"type":{"type":"string","description":"The identity type, which can be `SystemAssigned` or `UserAssigned`. Only one type at a time is supported by Azure NetApp Files.\n"}},"type":"object","required":["type"],"language":{"nodejs":{"requiredOutputs":["principalId","tenantId","type"]}}},"azure:netapp/SnapshotPolicyDailySchedule:SnapshotPolicyDailySchedule":{"properties":{"hour":{"type":"integer","description":"Hour of the day that the snapshots will be created, valid range is from 0 to 23.\n"},"minute":{"type":"integer","description":"Minute of the hour that the snapshots will be created, valid range is from 0 to 59.\n"},"snapshotsToKeep":{"type":"integer","description":"How many hourly snapshots to keep, valid range is from 0 to 255.\n"}},"type":"object","required":["hour","minute","snapshotsToKeep"]},"azure:netapp/SnapshotPolicyHourlySchedule:SnapshotPolicyHourlySchedule":{"properties":{"minute":{"type":"integer","description":"Minute of the hour that the snapshots will be created, valid range is from 0 to 59.\n"},"snapshotsToKeep":{"type":"integer","description":"How many hourly snapshots to keep, valid range is from 0 to 255.\n"}},"type":"object","required":["minute","snapshotsToKeep"]},"azure:netapp/SnapshotPolicyMonthlySchedule:SnapshotPolicyMonthlySchedule":{"properties":{"daysOfMonths":{"type":"array","items":{"type":"integer"},"description":"List of the days of the month when the snapshots will be created, valid range is from 1 to 30.\n"},"hour":{"type":"integer","description":"Hour of the day that the snapshots will be created, valid range is from 0 to 23.\n"},"minute":{"type":"integer","description":"Minute of the hour that the snapshots will be created, valid range is from 0 to 59.\n"},"snapshotsToKeep":{"type":"integer","description":"How many hourly snapshots to keep, valid range is from 0 to 255.\n"}},"type":"object","required":["daysOfMonths","hour","minute","snapshotsToKeep"]},"azure:netapp/SnapshotPolicyWeeklySchedule:SnapshotPolicyWeeklySchedule":{"properties":{"daysOfWeeks":{"type":"array","items":{"type":"string"},"description":"List of the week days using English names when the snapshots will be created.\n"},"hour":{"type":"integer","description":"Hour of the day that the snapshots will be created, valid range is from 0 to 23.\n"},"minute":{"type":"integer","description":"Minute of the hour that the snapshots will be created, valid range is from 0 to 59.\n"},"snapshotsToKeep":{"type":"integer","description":"How many hourly snapshots to keep, valid range is from 0 to 255.\n"}},"type":"object","required":["daysOfWeeks","hour","minute","snapshotsToKeep"]},"azure:netapp/VolumeCoolAccess:VolumeCoolAccess":{"properties":{"coolnessPeriodInDays":{"type":"integer","description":"The coolness period in days for the volume. Possible vales are between \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`183`\" pulumi-lang-dotnet=\"`183`\" pulumi-lang-go=\"`183`\" pulumi-lang-python=\"`183`\" pulumi-lang-yaml=\"`183`\" pulumi-lang-java=\"`183`\"\u003e`183`\u003c/span\u003e.\n"},"retrievalPolicy":{"type":"string","description":"The cool access retrieval policy for the volume. Possible values are `Default`, `Never` and `OnRead`.\n"},"tieringPolicy":{"type":"string","description":"The cool access tiering policy for the volume. Possible values are `Auto` and `SnapshotOnly`.\n"}},"type":"object","required":["coolnessPeriodInDays","retrievalPolicy","tieringPolicy"]},"azure:netapp/VolumeDataProtectionBackupPolicy:VolumeDataProtectionBackupPolicy":{"properties":{"backupPolicyId":{"type":"string","description":"Resource ID of the backup policy to apply to the volume.\n"},"backupVaultId":{"type":"string","description":"Resource ID of the backup backup vault to associate this volume to.\n"},"policyEnabled":{"type":"boolean","description":"Enables the backup policy on the volume, defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n\nFor more information on Azure NetApp Files Backup feature please see [Understand Azure NetApp Files backup](https://learn.microsoft.com/en-us/azure/azure-netapp-files/backup-introduction)\n"}},"type":"object","required":["backupPolicyId","backupVaultId"]},"azure:netapp/VolumeDataProtectionReplication:VolumeDataProtectionReplication":{"properties":{"endpointType":{"type":"string","description":"The endpoint type, default value is \u003cspan pulumi-lang-nodejs=\"`dst`\" pulumi-lang-dotnet=\"`Dst`\" pulumi-lang-go=\"`dst`\" pulumi-lang-python=\"`dst`\" pulumi-lang-yaml=\"`dst`\" pulumi-lang-java=\"`dst`\"\u003e`dst`\u003c/span\u003e for destination.\n"},"remoteVolumeLocation":{"type":"string","description":"Location of the primary volume. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"remoteVolumeResourceId":{"type":"string","description":"Resource ID of the primary volume.\n"},"replicationFrequency":{"type":"string","description":"Replication frequency, supported values are '10minutes', 'hourly', 'daily', values are case sensitive.\n\nA full example of the \u003cspan pulumi-lang-nodejs=\"`dataProtectionReplication`\" pulumi-lang-dotnet=\"`DataProtectionReplication`\" pulumi-lang-go=\"`dataProtectionReplication`\" pulumi-lang-python=\"`data_protection_replication`\" pulumi-lang-yaml=\"`dataProtectionReplication`\" pulumi-lang-java=\"`dataProtectionReplication`\"\u003e`data_protection_replication`\u003c/span\u003e attribute can be found in the `./examples/netapp/volume_crr` directory within the GitHub Repository\n\n\u003e **Note:** Each destination volume can have only one \u003cspan pulumi-lang-nodejs=\"`dataProtectionReplication`\" pulumi-lang-dotnet=\"`DataProtectionReplication`\" pulumi-lang-go=\"`dataProtectionReplication`\" pulumi-lang-python=\"`data_protection_replication`\" pulumi-lang-yaml=\"`dataProtectionReplication`\" pulumi-lang-java=\"`dataProtectionReplication`\"\u003e`data_protection_replication`\u003c/span\u003e block configured. However, a source volume can have up to 2 destination volumes replicating from it (fan-out deployment). For more information on fan-out replication topologies, see [Understand data protection in Azure NetApp Files](https://learn.microsoft.com/azure/azure-netapp-files/data-protection-disaster-recovery-options#supported-replication-topologies).\n\n\u003e **Note:** For cross-zone replication (when \u003cspan pulumi-lang-nodejs=\"`remoteVolumeLocation`\" pulumi-lang-dotnet=\"`RemoteVolumeLocation`\" pulumi-lang-go=\"`remoteVolumeLocation`\" pulumi-lang-python=\"`remote_volume_location`\" pulumi-lang-yaml=\"`remoteVolumeLocation`\" pulumi-lang-java=\"`remoteVolumeLocation`\"\u003e`remote_volume_location`\u003c/span\u003e is the same as the volume's \u003cspan pulumi-lang-nodejs=\"`location`\" pulumi-lang-dotnet=\"`Location`\" pulumi-lang-go=\"`location`\" pulumi-lang-python=\"`location`\" pulumi-lang-yaml=\"`location`\" pulumi-lang-java=\"`location`\"\u003e`location`\u003c/span\u003e), both the source and destination volumes must have a \u003cspan pulumi-lang-nodejs=\"`zone`\" pulumi-lang-dotnet=\"`Zone`\" pulumi-lang-go=\"`zone`\" pulumi-lang-python=\"`zone`\" pulumi-lang-yaml=\"`zone`\" pulumi-lang-java=\"`zone`\"\u003e`zone`\u003c/span\u003e assigned. For a complete example of cross-zone-region replication with fan-out deployment, see the `./examples/netapp/cross_zone_region_replication` directory within the GitHub Repository. For more information, see [Manage cross-zone-region replication for Azure NetApp Files](https://learn.microsoft.com/azure/azure-netapp-files/cross-zone-region-replication-configure).\n"}},"type":"object","required":["remoteVolumeLocation","remoteVolumeResourceId","replicationFrequency"]},"azure:netapp/VolumeDataProtectionSnapshotPolicy:VolumeDataProtectionSnapshotPolicy":{"properties":{"snapshotPolicyId":{"type":"string","description":"Resource ID of the snapshot policy to apply to the volume.\n\nA full example of the \u003cspan pulumi-lang-nodejs=\"`dataProtectionSnapshotPolicy`\" pulumi-lang-dotnet=\"`DataProtectionSnapshotPolicy`\" pulumi-lang-go=\"`dataProtectionSnapshotPolicy`\" pulumi-lang-python=\"`data_protection_snapshot_policy`\" pulumi-lang-yaml=\"`dataProtectionSnapshotPolicy`\" pulumi-lang-java=\"`dataProtectionSnapshotPolicy`\"\u003e`data_protection_snapshot_policy`\u003c/span\u003e attribute usage can be found in the `./examples/netapp/nfsv3_volume_with_snapshot_policy` directory within the GitHub Repository\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`dataProtectionSnapshotPolicy`\" pulumi-lang-dotnet=\"`DataProtectionSnapshotPolicy`\" pulumi-lang-go=\"`dataProtectionSnapshotPolicy`\" pulumi-lang-python=\"`data_protection_snapshot_policy`\" pulumi-lang-yaml=\"`dataProtectionSnapshotPolicy`\" pulumi-lang-java=\"`dataProtectionSnapshotPolicy`\"\u003e`data_protection_snapshot_policy`\u003c/span\u003e block can be used alone or with\u003cspan pulumi-lang-nodejs=\" dataProtectionReplication \" pulumi-lang-dotnet=\" DataProtectionReplication \" pulumi-lang-go=\" dataProtectionReplication \" pulumi-lang-python=\" data_protection_replication \" pulumi-lang-yaml=\" dataProtectionReplication \" pulumi-lang-java=\" dataProtectionReplication \"\u003e data_protection_replication \u003c/span\u003ein the primary volume only, if enabling it in the secondary, an error will be thrown.\n"}},"type":"object","required":["snapshotPolicyId"]},"azure:netapp/VolumeExportPolicyRule:VolumeExportPolicyRule":{"properties":{"allowedClients":{"type":"array","items":{"type":"string"},"description":"A list of allowed clients IPv4 addresses.\n"},"kerberos5ReadOnlyEnabled":{"type":"boolean","description":"Is Kerberos 5 read-only access permitted to this volume?\n"},"kerberos5ReadWriteEnabled":{"type":"boolean","description":"Is Kerberos 5 read/write permitted to this volume?\n"},"kerberos5iReadOnlyEnabled":{"type":"boolean","description":"Is Kerberos 5i read-only permitted to this volume?\n"},"kerberos5iReadWriteEnabled":{"type":"boolean","description":"Is Kerberos 5i read/write permitted to this volume?\n"},"kerberos5pReadOnlyEnabled":{"type":"boolean","description":"Is Kerberos 5p read-only permitted to this volume?\n"},"kerberos5pReadWriteEnabled":{"type":"boolean","description":"Is Kerberos 5p read/write permitted to this volume?\n"},"protocol":{"type":"string","description":"A list of allowed protocols. Valid values include `CIFS`, `NFSv3`, or `NFSv4.1`. Only a single element is supported at this time. This replaces the previous arguments: \u003cspan pulumi-lang-nodejs=\"`cifsEnabled`\" pulumi-lang-dotnet=\"`CifsEnabled`\" pulumi-lang-go=\"`cifsEnabled`\" pulumi-lang-python=\"`cifs_enabled`\" pulumi-lang-yaml=\"`cifsEnabled`\" pulumi-lang-java=\"`cifsEnabled`\"\u003e`cifs_enabled`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`nfsv3Enabled`\" pulumi-lang-dotnet=\"`Nfsv3Enabled`\" pulumi-lang-go=\"`nfsv3Enabled`\" pulumi-lang-python=\"`nfsv3_enabled`\" pulumi-lang-yaml=\"`nfsv3Enabled`\" pulumi-lang-java=\"`nfsv3Enabled`\"\u003e`nfsv3_enabled`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`nfsv4Enabled`\" pulumi-lang-dotnet=\"`Nfsv4Enabled`\" pulumi-lang-go=\"`nfsv4Enabled`\" pulumi-lang-python=\"`nfsv4_enabled`\" pulumi-lang-yaml=\"`nfsv4Enabled`\" pulumi-lang-java=\"`nfsv4Enabled`\"\u003e`nfsv4_enabled`\u003c/span\u003e.\n"},"protocolsEnabled":{"type":"string","deprecationMessage":"this property has been deprecated in favour of `export_policy_rule.protocol` and will be removed in version 5.0 of the Provider."},"rootAccessEnabled":{"type":"boolean","description":"Is root access permitted to this volume?\n"},"ruleIndex":{"type":"integer","description":"The index number of the rule.\n"},"unixReadOnly":{"type":"boolean","description":"Is the file system on unix read only?\n"},"unixReadWrite":{"type":"boolean","description":"Is the file system on unix read and write?\n"}},"type":"object","required":["allowedClients","ruleIndex"],"language":{"nodejs":{"requiredOutputs":["allowedClients","protocol","protocolsEnabled","ruleIndex"]}}},"azure:netapp/VolumeGroupOracleVolume:VolumeGroupOracleVolume":{"properties":{"capacityPoolId":{"type":"string","description":"The ID of the Capacity Pool. Changing this forces a new Application Volume Group to be created and data will be lost.\n","willReplaceOnChanges":true},"dataProtectionReplication":{"$ref":"#/types/azure:netapp/VolumeGroupOracleVolumeDataProtectionReplication:VolumeGroupOracleVolumeDataProtectionReplication","description":"A \u003cspan pulumi-lang-nodejs=\"`dataProtectionReplication`\" pulumi-lang-dotnet=\"`DataProtectionReplication`\" pulumi-lang-go=\"`dataProtectionReplication`\" pulumi-lang-python=\"`data_protection_replication`\" pulumi-lang-yaml=\"`dataProtectionReplication`\" pulumi-lang-java=\"`dataProtectionReplication`\"\u003e`data_protection_replication`\u003c/span\u003e block as defined below. Changing this forces a new Application Volume Group to be created and data will be lost.\n","willReplaceOnChanges":true},"dataProtectionSnapshotPolicy":{"$ref":"#/types/azure:netapp/VolumeGroupOracleVolumeDataProtectionSnapshotPolicy:VolumeGroupOracleVolumeDataProtectionSnapshotPolicy","description":"A \u003cspan pulumi-lang-nodejs=\"`dataProtectionSnapshotPolicy`\" pulumi-lang-dotnet=\"`DataProtectionSnapshotPolicy`\" pulumi-lang-go=\"`dataProtectionSnapshotPolicy`\" pulumi-lang-python=\"`data_protection_snapshot_policy`\" pulumi-lang-yaml=\"`dataProtectionSnapshotPolicy`\" pulumi-lang-java=\"`dataProtectionSnapshotPolicy`\"\u003e`data_protection_snapshot_policy`\u003c/span\u003e block as defined below.\n"},"encryptionKeySource":{"type":"string","description":"The encryption key source, it can be `Microsoft.NetApp` for platform managed keys or `Microsoft.KeyVault` for customer-managed keys. This is required with \u003cspan pulumi-lang-nodejs=\"`keyVaultPrivateEndpointId`\" pulumi-lang-dotnet=\"`KeyVaultPrivateEndpointId`\" pulumi-lang-go=\"`keyVaultPrivateEndpointId`\" pulumi-lang-python=\"`key_vault_private_endpoint_id`\" pulumi-lang-yaml=\"`keyVaultPrivateEndpointId`\" pulumi-lang-java=\"`keyVaultPrivateEndpointId`\"\u003e`key_vault_private_endpoint_id`\u003c/span\u003e. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"exportPolicyRules":{"type":"array","items":{"$ref":"#/types/azure:netapp/VolumeGroupOracleVolumeExportPolicyRule:VolumeGroupOracleVolumeExportPolicyRule"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`exportPolicyRule`\" pulumi-lang-dotnet=\"`ExportPolicyRule`\" pulumi-lang-go=\"`exportPolicyRule`\" pulumi-lang-python=\"`export_policy_rule`\" pulumi-lang-yaml=\"`exportPolicyRule`\" pulumi-lang-java=\"`exportPolicyRule`\"\u003e`export_policy_rule`\u003c/span\u003e blocks as defined below.\n"},"id":{"type":"string","description":"The ID of the Application Volume Group.\n"},"keyVaultPrivateEndpointId":{"type":"string","description":"The Private Endpoint ID for Key Vault, which is required when using customer-managed keys. This is required with \u003cspan pulumi-lang-nodejs=\"`encryptionKeySource`\" pulumi-lang-dotnet=\"`EncryptionKeySource`\" pulumi-lang-go=\"`encryptionKeySource`\" pulumi-lang-python=\"`encryption_key_source`\" pulumi-lang-yaml=\"`encryptionKeySource`\" pulumi-lang-java=\"`encryptionKeySource`\"\u003e`encryption_key_source`\u003c/span\u003e. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"mountIpAddresses":{"type":"array","items":{"type":"string"}},"name":{"type":"string","description":"The name which should be used for this volume. Changing this forces a new Application Volume Group to be created and data will be lost.\n","willReplaceOnChanges":true},"networkFeatures":{"type":"string","description":"Indicates which network feature to use, Possible values are `Basic`, `Basic_Standard`, `Standard` and `Standard_Basic`. It defaults to `Basic` if not defined. This is a feature in public preview and for more information about it and how to register, please refer to [Configure network features for an Azure NetApp Files volume](https://docs.microsoft.com/en-us/azure/azure-netapp-files/configure-network-features). This is required if enabling customer managed keys encryption scenario.\n"},"protocols":{"type":"string","description":"The target volume protocol expressed as a list. Protocol conversion between `NFSv3` and `NFSv4.1` and vice-versa is supported without recreating the volume group, however export policy rules must be updated accordingly to avoid configuration drift (e.g., when converting from `NFSv3` to `NFSv4.1`, set \u003cspan pulumi-lang-nodejs=\"`nfsv3Enabled \" pulumi-lang-dotnet=\"`Nfsv3Enabled \" pulumi-lang-go=\"`nfsv3Enabled \" pulumi-lang-python=\"`nfsv3_enabled \" pulumi-lang-yaml=\"`nfsv3Enabled \" pulumi-lang-java=\"`nfsv3Enabled \"\u003e`nfsv3_enabled \u003c/span\u003e= false` and \u003cspan pulumi-lang-nodejs=\"`nfsv41Enabled \" pulumi-lang-dotnet=\"`Nfsv41Enabled \" pulumi-lang-go=\"`nfsv41Enabled \" pulumi-lang-python=\"`nfsv41_enabled \" pulumi-lang-yaml=\"`nfsv41Enabled \" pulumi-lang-java=\"`nfsv41Enabled \"\u003e`nfsv41_enabled \u003c/span\u003e= true` in export policy rules). Supported values include `NFSv3` or `NFSv4.1`.\n\n\u003e **Note:** When converting protocols between NFSv3 and NFSv4.1, ensure that export policy rules are updated accordingly to avoid configuration drift. Update the \u003cspan pulumi-lang-nodejs=\"`nfsv3Enabled`\" pulumi-lang-dotnet=\"`Nfsv3Enabled`\" pulumi-lang-go=\"`nfsv3Enabled`\" pulumi-lang-python=\"`nfsv3_enabled`\" pulumi-lang-yaml=\"`nfsv3Enabled`\" pulumi-lang-java=\"`nfsv3Enabled`\"\u003e`nfsv3_enabled`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`nfsv41Enabled`\" pulumi-lang-dotnet=\"`Nfsv41Enabled`\" pulumi-lang-go=\"`nfsv41Enabled`\" pulumi-lang-python=\"`nfsv41_enabled`\" pulumi-lang-yaml=\"`nfsv41Enabled`\" pulumi-lang-java=\"`nfsv41Enabled`\"\u003e`nfsv41_enabled`\u003c/span\u003e flags to match the new protocol.\n"},"proximityPlacementGroupId":{"type":"string","description":"The ID of the proximity placement group (PPG). Changing this forces a new Application Volume Group to be created and data will be lost. \n\n\u003e **Note:** For Oracle application, it is required to have PPG enabled so Azure NetApp Files can pin the volumes next to your compute resources, please check [Requirements and considerations for application volume group for Oracle](https://learn.microsoft.com/en-us/azure/azure-netapp-files/application-volume-group-oracle-considerations) for details and other requirements. Note that this cannot be used together with \u003cspan pulumi-lang-nodejs=\"`zone`\" pulumi-lang-dotnet=\"`Zone`\" pulumi-lang-go=\"`zone`\" pulumi-lang-python=\"`zone`\" pulumi-lang-yaml=\"`zone`\" pulumi-lang-java=\"`zone`\"\u003e`zone`\u003c/span\u003e.\n","willReplaceOnChanges":true},"securityStyle":{"type":"string","description":"Volume security style. Possible values are \u003cspan pulumi-lang-nodejs=\"`ntfs`\" pulumi-lang-dotnet=\"`Ntfs`\" pulumi-lang-go=\"`ntfs`\" pulumi-lang-python=\"`ntfs`\" pulumi-lang-yaml=\"`ntfs`\" pulumi-lang-java=\"`ntfs`\"\u003e`ntfs`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`unix`\" pulumi-lang-dotnet=\"`Unix`\" pulumi-lang-go=\"`unix`\" pulumi-lang-python=\"`unix`\" pulumi-lang-yaml=\"`unix`\" pulumi-lang-java=\"`unix`\"\u003e`unix`\u003c/span\u003e. Changing this forces a new Application Volume Group to be created and data will be lost.\n","willReplaceOnChanges":true},"serviceLevel":{"type":"string","description":"Volume security style. Possible values are `Premium`, `Standard`, `Ultra` and `Flexible`. Changing this forces a new Application Volume Group to be created and data will be lost.\n","willReplaceOnChanges":true},"snapshotDirectoryVisible":{"type":"boolean","description":"Specifies whether the .snapshot (NFS clients) path of a volume is visible. Changing this forces a new Application Volume Group to be created and data will be lost.\n","willReplaceOnChanges":true},"storageQuotaInGb":{"type":"integer","description":"The maximum Storage Quota allowed for a file system in Gigabytes.\n"},"subnetId":{"type":"string","description":"The ID of the Subnet the NetApp Volume resides in, which must have the `Microsoft.NetApp/volumes` delegation. Changing this forces a new Application Volume Group to be created and data will be lost.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Application Volume Group.\n"},"throughputInMibps":{"type":"number","description":"Throughput of this volume in Mibps.\n"},"volumePath":{"type":"string","description":"A unique file path for the volume. Changing this forces a new Application Volume Group to be created and data will be lost.\n","willReplaceOnChanges":true},"volumeSpecName":{"type":"string","description":"Volume specification name. Possible values are `ora-data1`, `ora-data2`, `ora-data3`, `ora-data4`, `ora-data5`, `ora-data6`, `ora-data7`, `ora-data8`, `ora-log`, `ora-log-mirror`, `ora-binary` and `ora-backup`. Changing this forces a new Application Volume Group to be created and data will be lost.\n","willReplaceOnChanges":true},"zone":{"type":"string","description":"Specifies the Availability Zone in which the Volume should be located. Possible values are \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e, depending on the Azure region. Changing this forces a new resource to be created. This feature is currently in preview, for more information on how to enable it, please refer to [Manage availability zone volume placement for Azure NetApp Files](https://learn.microsoft.com/en-us/azure/azure-netapp-files/manage-availability-zone-volume-placement). Note that this cannot be used together with \u003cspan pulumi-lang-nodejs=\"`proximityPlacementGroupId`\" pulumi-lang-dotnet=\"`ProximityPlacementGroupId`\" pulumi-lang-go=\"`proximityPlacementGroupId`\" pulumi-lang-python=\"`proximity_placement_group_id`\" pulumi-lang-yaml=\"`proximityPlacementGroupId`\" pulumi-lang-java=\"`proximityPlacementGroupId`\"\u003e`proximity_placement_group_id`\u003c/span\u003e.\n","willReplaceOnChanges":true}},"type":"object","required":["capacityPoolId","exportPolicyRules","name","protocols","securityStyle","serviceLevel","snapshotDirectoryVisible","storageQuotaInGb","subnetId","throughputInMibps","volumePath","volumeSpecName"],"language":{"nodejs":{"requiredOutputs":["capacityPoolId","dataProtectionSnapshotPolicy","encryptionKeySource","exportPolicyRules","id","keyVaultPrivateEndpointId","mountIpAddresses","name","networkFeatures","protocols","securityStyle","serviceLevel","snapshotDirectoryVisible","storageQuotaInGb","subnetId","throughputInMibps","volumePath","volumeSpecName"]}}},"azure:netapp/VolumeGroupOracleVolumeDataProtectionReplication:VolumeGroupOracleVolumeDataProtectionReplication":{"properties":{"endpointType":{"type":"string","description":"The endpoint type. Possible values are \u003cspan pulumi-lang-nodejs=\"`dst`\" pulumi-lang-dotnet=\"`Dst`\" pulumi-lang-go=\"`dst`\" pulumi-lang-python=\"`dst`\" pulumi-lang-yaml=\"`dst`\" pulumi-lang-java=\"`dst`\"\u003e`dst`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`src`\" pulumi-lang-dotnet=\"`Src`\" pulumi-lang-go=\"`src`\" pulumi-lang-python=\"`src`\" pulumi-lang-yaml=\"`src`\" pulumi-lang-java=\"`src`\"\u003e`src`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`dst`\" pulumi-lang-dotnet=\"`Dst`\" pulumi-lang-go=\"`dst`\" pulumi-lang-python=\"`dst`\" pulumi-lang-yaml=\"`dst`\" pulumi-lang-java=\"`dst`\"\u003e`dst`\u003c/span\u003e. Changing this forces a new Application Volume Group to be created and data will be lost.\n","willReplaceOnChanges":true},"remoteVolumeLocation":{"type":"string","description":"Location of the primary volume.\n"},"remoteVolumeResourceId":{"type":"string","description":"Resource ID of the primary volume. Changing this forces a new Application Volume Group to be created and data will be lost.\n","willReplaceOnChanges":true},"replicationFrequency":{"type":"string","description":"Replication frequency. Possible values are \u003cspan pulumi-lang-nodejs=\"`10minutes`\" pulumi-lang-dotnet=\"`10minutes`\" pulumi-lang-go=\"`10minutes`\" pulumi-lang-python=\"`10minutes`\" pulumi-lang-yaml=\"`10minutes`\" pulumi-lang-java=\"`10minutes`\"\u003e`10minutes`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`daily`\" pulumi-lang-dotnet=\"`Daily`\" pulumi-lang-go=\"`daily`\" pulumi-lang-python=\"`daily`\" pulumi-lang-yaml=\"`daily`\" pulumi-lang-java=\"`daily`\"\u003e`daily`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`hourly`\" pulumi-lang-dotnet=\"`Hourly`\" pulumi-lang-go=\"`hourly`\" pulumi-lang-python=\"`hourly`\" pulumi-lang-yaml=\"`hourly`\" pulumi-lang-java=\"`hourly`\"\u003e`hourly`\u003c/span\u003e. Changing this forces a new Application Volume Group to be created and data will be lost.\n","willReplaceOnChanges":true}},"type":"object","required":["remoteVolumeLocation","remoteVolumeResourceId","replicationFrequency"]},"azure:netapp/VolumeGroupOracleVolumeDataProtectionSnapshotPolicy:VolumeGroupOracleVolumeDataProtectionSnapshotPolicy":{"properties":{"snapshotPolicyId":{"type":"string","description":"Resource ID of the snapshot policy to apply to the volume.\n"}},"type":"object","required":["snapshotPolicyId"]},"azure:netapp/VolumeGroupOracleVolumeExportPolicyRule:VolumeGroupOracleVolumeExportPolicyRule":{"properties":{"allowedClients":{"type":"string","description":"A comma-sperated list of allowed client IPv4 addresses.\n"},"nfsv3Enabled":{"type":"boolean","description":"Enables NFSv3. Please note that this cannot be enabled if volume has NFSv4.1 as its protocol.\n"},"nfsv41Enabled":{"type":"boolean","description":"Enables NFSv4.1. Please note that this cannot be enabled if volume has NFSv3 as its protocol.\n"},"rootAccessEnabled":{"type":"boolean","description":"Is root access permitted to this volume? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"ruleIndex":{"type":"integer","description":"The index number of the rule, must start at 1 and maximum 5.\n"},"unixReadOnly":{"type":"boolean","description":"Is the file system on unix read only? Defaults to `false.\n"},"unixReadWrite":{"type":"boolean","description":"Is the file system on unix read and write? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"}},"type":"object","required":["allowedClients","nfsv3Enabled","nfsv41Enabled","ruleIndex"]},"azure:netapp/VolumeGroupSapHanaVolume:VolumeGroupSapHanaVolume":{"properties":{"capacityPoolId":{"type":"string","description":"The ID of the Capacity Pool. Changing this forces a new Application Volume Group to be created and data will be lost.\n","willReplaceOnChanges":true},"dataProtectionReplication":{"$ref":"#/types/azure:netapp/VolumeGroupSapHanaVolumeDataProtectionReplication:VolumeGroupSapHanaVolumeDataProtectionReplication","description":"A \u003cspan pulumi-lang-nodejs=\"`dataProtectionReplication`\" pulumi-lang-dotnet=\"`DataProtectionReplication`\" pulumi-lang-go=\"`dataProtectionReplication`\" pulumi-lang-python=\"`data_protection_replication`\" pulumi-lang-yaml=\"`dataProtectionReplication`\" pulumi-lang-java=\"`dataProtectionReplication`\"\u003e`data_protection_replication`\u003c/span\u003e block as defined below. Changing this forces a new Application Volume Group to be created and data will be lost.\n","willReplaceOnChanges":true},"dataProtectionSnapshotPolicy":{"$ref":"#/types/azure:netapp/VolumeGroupSapHanaVolumeDataProtectionSnapshotPolicy:VolumeGroupSapHanaVolumeDataProtectionSnapshotPolicy","description":"A \u003cspan pulumi-lang-nodejs=\"`dataProtectionSnapshotPolicy`\" pulumi-lang-dotnet=\"`DataProtectionSnapshotPolicy`\" pulumi-lang-go=\"`dataProtectionSnapshotPolicy`\" pulumi-lang-python=\"`data_protection_snapshot_policy`\" pulumi-lang-yaml=\"`dataProtectionSnapshotPolicy`\" pulumi-lang-java=\"`dataProtectionSnapshotPolicy`\"\u003e`data_protection_snapshot_policy`\u003c/span\u003e block as defined below.\n"},"encryptionKeySource":{"type":"string","description":"The encryption key source, it can be `Microsoft.NetApp` for platform managed keys or `Microsoft.KeyVault` for customer-managed keys. This is required with \u003cspan pulumi-lang-nodejs=\"`keyVaultPrivateEndpointId`\" pulumi-lang-dotnet=\"`KeyVaultPrivateEndpointId`\" pulumi-lang-go=\"`keyVaultPrivateEndpointId`\" pulumi-lang-python=\"`key_vault_private_endpoint_id`\" pulumi-lang-yaml=\"`keyVaultPrivateEndpointId`\" pulumi-lang-java=\"`keyVaultPrivateEndpointId`\"\u003e`key_vault_private_endpoint_id`\u003c/span\u003e. Changing this forces a new Application Volume Group to be created and data will be lost.\n","willReplaceOnChanges":true},"exportPolicyRules":{"type":"array","items":{"$ref":"#/types/azure:netapp/VolumeGroupSapHanaVolumeExportPolicyRule:VolumeGroupSapHanaVolumeExportPolicyRule"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`exportPolicyRule`\" pulumi-lang-dotnet=\"`ExportPolicyRule`\" pulumi-lang-go=\"`exportPolicyRule`\" pulumi-lang-python=\"`export_policy_rule`\" pulumi-lang-yaml=\"`exportPolicyRule`\" pulumi-lang-java=\"`exportPolicyRule`\"\u003e`export_policy_rule`\u003c/span\u003e blocks as defined below.\n"},"id":{"type":"string","description":"The ID of the Application Volume Group.\n"},"keyVaultPrivateEndpointId":{"type":"string","description":"The Private Endpoint ID for Key Vault, which is required when using customer-managed keys. This is required with \u003cspan pulumi-lang-nodejs=\"`encryptionKeySource`\" pulumi-lang-dotnet=\"`EncryptionKeySource`\" pulumi-lang-go=\"`encryptionKeySource`\" pulumi-lang-python=\"`encryption_key_source`\" pulumi-lang-yaml=\"`encryptionKeySource`\" pulumi-lang-java=\"`encryptionKeySource`\"\u003e`encryption_key_source`\u003c/span\u003e. Changing this forces a new Application Volume Group to be created and data will be lost.\n","willReplaceOnChanges":true},"mountIpAddresses":{"type":"array","items":{"type":"string"}},"name":{"type":"string","description":"The name which should be used for this volume. Changing this forces a new Application Volume Group to be created and data will be lost.\n","willReplaceOnChanges":true},"networkFeatures":{"type":"string","description":"Network features of the volume. Possible values are `Basic` or `Standard`. Default value is `Basic`. Changing this forces a new Application Volume Group to be created and data will be lost.\n"},"protocols":{"type":"string","description":"The target volume protocol expressed as a list. Protocol conversion between `NFSv3` and `NFSv4.1` and vice-versa is supported without recreating the volume group, however export policy rules must be updated accordingly to avoid configuration drift (e.g., when converting from `NFSv3` to `NFSv4.1`, set \u003cspan pulumi-lang-nodejs=\"`nfsv3Enabled \" pulumi-lang-dotnet=\"`Nfsv3Enabled \" pulumi-lang-go=\"`nfsv3Enabled \" pulumi-lang-python=\"`nfsv3_enabled \" pulumi-lang-yaml=\"`nfsv3Enabled \" pulumi-lang-java=\"`nfsv3Enabled \"\u003e`nfsv3_enabled \u003c/span\u003e= false` and \u003cspan pulumi-lang-nodejs=\"`nfsv41Enabled \" pulumi-lang-dotnet=\"`Nfsv41Enabled \" pulumi-lang-go=\"`nfsv41Enabled \" pulumi-lang-python=\"`nfsv41_enabled \" pulumi-lang-yaml=\"`nfsv41Enabled \" pulumi-lang-java=\"`nfsv41Enabled \"\u003e`nfsv41_enabled \u003c/span\u003e= true` in export policy rules). Supported values include `NFSv3` or `NFSv4.1`, multi-protocol is not supported. Please check [Configure application volume groups for the SAP HANA REST API](https://learn.microsoft.com/en-us/azure/azure-netapp-files/configure-application-volume-group-sap-hana-api) document for details.\n\n\u003e **Note:** NFSv3 protocol is only supported for backup volumes (`data-backup`, `log-backup`) in SAP HANA volume groups. Critical volumes (\u003cspan pulumi-lang-nodejs=\"`data`\" pulumi-lang-dotnet=\"`Data`\" pulumi-lang-go=\"`data`\" pulumi-lang-python=\"`data`\" pulumi-lang-yaml=\"`data`\" pulumi-lang-java=\"`data`\"\u003e`data`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`log`\" pulumi-lang-dotnet=\"`Log`\" pulumi-lang-go=\"`log`\" pulumi-lang-python=\"`log`\" pulumi-lang-yaml=\"`log`\" pulumi-lang-java=\"`log`\"\u003e`log`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`shared`\" pulumi-lang-dotnet=\"`Shared`\" pulumi-lang-go=\"`shared`\" pulumi-lang-python=\"`shared`\" pulumi-lang-yaml=\"`shared`\" pulumi-lang-java=\"`shared`\"\u003e`shared`\u003c/span\u003e) must use NFSv4.1. When converting protocols on backup volumes, ensure export policy rules are updated accordingly to avoid configuration drift.\n"},"proximityPlacementGroupId":{"type":"string","description":"The ID of the proximity placement group. Changing this forces a new Application Volume Group to be created and data will be lost. For SAP-HANA application, it is required to have PPG enabled so Azure NetApp Files can pin the volumes next to your compute resources, please check [Requirements and considerations for application volume group for SAP HANA](https://learn.microsoft.com/en-us/azure/azure-netapp-files/application-volume-group-considerations) for details and other requirements.\n","willReplaceOnChanges":true},"securityStyle":{"type":"string","description":"Volume security style. Possible values are \u003cspan pulumi-lang-nodejs=\"`ntfs`\" pulumi-lang-dotnet=\"`Ntfs`\" pulumi-lang-go=\"`ntfs`\" pulumi-lang-python=\"`ntfs`\" pulumi-lang-yaml=\"`ntfs`\" pulumi-lang-java=\"`ntfs`\"\u003e`ntfs`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`unix`\" pulumi-lang-dotnet=\"`Unix`\" pulumi-lang-go=\"`unix`\" pulumi-lang-python=\"`unix`\" pulumi-lang-yaml=\"`unix`\" pulumi-lang-java=\"`unix`\"\u003e`unix`\u003c/span\u003e. Changing this forces a new Application Volume Group to be created and data will be lost.\n","willReplaceOnChanges":true},"serviceLevel":{"type":"string","description":"Volume security style. Possible values are `Premium`, `Standard`, `Ultra` and `Flexible`. Changing this forces a new Application Volume Group to be created and data will be lost.\n","willReplaceOnChanges":true},"snapshotDirectoryVisible":{"type":"boolean","description":"Specifies whether the .snapshot (NFS clients) path of a volume is visible. Changing this forces a new Application Volume Group to be created and data will be lost.\n","willReplaceOnChanges":true},"storageQuotaInGb":{"type":"integer","description":"The maximum Storage Quota allowed for a file system in Gigabytes.\n"},"subnetId":{"type":"string","description":"The ID of the Subnet the NetApp Volume resides in, which must have the `Microsoft.NetApp/volumes` delegation. Changing this forces a new Application Volume Group to be created and data will be lost.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Application Volume Group.\n"},"throughputInMibps":{"type":"number","description":"Throughput of this volume in Mibps.\n"},"volumePath":{"type":"string","description":"A unique file path for the volume. Changing this forces a new Application Volume Group to be created and data will be lost.\n","willReplaceOnChanges":true},"volumeSpecName":{"type":"string","description":"Volume specification name. Possible values are \u003cspan pulumi-lang-nodejs=\"`data`\" pulumi-lang-dotnet=\"`Data`\" pulumi-lang-go=\"`data`\" pulumi-lang-python=\"`data`\" pulumi-lang-yaml=\"`data`\" pulumi-lang-java=\"`data`\"\u003e`data`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`log`\" pulumi-lang-dotnet=\"`Log`\" pulumi-lang-go=\"`log`\" pulumi-lang-python=\"`log`\" pulumi-lang-yaml=\"`log`\" pulumi-lang-java=\"`log`\"\u003e`log`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`shared`\" pulumi-lang-dotnet=\"`Shared`\" pulumi-lang-go=\"`shared`\" pulumi-lang-python=\"`shared`\" pulumi-lang-yaml=\"`shared`\" pulumi-lang-java=\"`shared`\"\u003e`shared`\u003c/span\u003e, `data-backup` and `log-backup`. Changing this forces a new Application Volume Group to be created and data will be lost.\n","willReplaceOnChanges":true},"zone":{"type":"string","description":"Specifies the Availability Zone in which the Volume should be located. Possible values are \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e. This feature is currently in preview, for more information on how to enable it, please refer to [Manage availability zone volume placement for Azure NetApp Files](https://learn.microsoft.com/en-us/azure/azure-netapp-files/manage-availability-zone-volume-placement). Changing this forces a new Application Volume Group to be created and data will be lost.\n","willReplaceOnChanges":true}},"type":"object","required":["capacityPoolId","exportPolicyRules","name","protocols","securityStyle","serviceLevel","snapshotDirectoryVisible","storageQuotaInGb","subnetId","throughputInMibps","volumePath","volumeSpecName"],"language":{"nodejs":{"requiredOutputs":["capacityPoolId","dataProtectionSnapshotPolicy","encryptionKeySource","exportPolicyRules","id","keyVaultPrivateEndpointId","mountIpAddresses","name","networkFeatures","protocols","securityStyle","serviceLevel","snapshotDirectoryVisible","storageQuotaInGb","subnetId","throughputInMibps","volumePath","volumeSpecName"]}}},"azure:netapp/VolumeGroupSapHanaVolumeDataProtectionReplication:VolumeGroupSapHanaVolumeDataProtectionReplication":{"properties":{"endpointType":{"type":"string","description":"The endpoint type. Possible values are \u003cspan pulumi-lang-nodejs=\"`dst`\" pulumi-lang-dotnet=\"`Dst`\" pulumi-lang-go=\"`dst`\" pulumi-lang-python=\"`dst`\" pulumi-lang-yaml=\"`dst`\" pulumi-lang-java=\"`dst`\"\u003e`dst`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`src`\" pulumi-lang-dotnet=\"`Src`\" pulumi-lang-go=\"`src`\" pulumi-lang-python=\"`src`\" pulumi-lang-yaml=\"`src`\" pulumi-lang-java=\"`src`\"\u003e`src`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`dst`\" pulumi-lang-dotnet=\"`Dst`\" pulumi-lang-go=\"`dst`\" pulumi-lang-python=\"`dst`\" pulumi-lang-yaml=\"`dst`\" pulumi-lang-java=\"`dst`\"\u003e`dst`\u003c/span\u003e. Changing this forces a new Application Volume Group to be created and data will be lost.\n","willReplaceOnChanges":true},"remoteVolumeLocation":{"type":"string","description":"Location of the primary volume.\n"},"remoteVolumeResourceId":{"type":"string","description":"Resource ID of the primary volume. Changing this forces a new Application Volume Group to be created and data will be lost.\n","willReplaceOnChanges":true},"replicationFrequency":{"type":"string","description":"eplication frequency. Possible values are \u003cspan pulumi-lang-nodejs=\"`10minutes`\" pulumi-lang-dotnet=\"`10minutes`\" pulumi-lang-go=\"`10minutes`\" pulumi-lang-python=\"`10minutes`\" pulumi-lang-yaml=\"`10minutes`\" pulumi-lang-java=\"`10minutes`\"\u003e`10minutes`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`daily`\" pulumi-lang-dotnet=\"`Daily`\" pulumi-lang-go=\"`daily`\" pulumi-lang-python=\"`daily`\" pulumi-lang-yaml=\"`daily`\" pulumi-lang-java=\"`daily`\"\u003e`daily`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`hourly`\" pulumi-lang-dotnet=\"`Hourly`\" pulumi-lang-go=\"`hourly`\" pulumi-lang-python=\"`hourly`\" pulumi-lang-yaml=\"`hourly`\" pulumi-lang-java=\"`hourly`\"\u003e`hourly`\u003c/span\u003e. Changing this forces a new Application Volume Group to be created and data will be lost.\n","willReplaceOnChanges":true}},"type":"object","required":["remoteVolumeLocation","remoteVolumeResourceId","replicationFrequency"]},"azure:netapp/VolumeGroupSapHanaVolumeDataProtectionSnapshotPolicy:VolumeGroupSapHanaVolumeDataProtectionSnapshotPolicy":{"properties":{"snapshotPolicyId":{"type":"string","description":"Resource ID of the snapshot policy to apply to the volume.\n"}},"type":"object","required":["snapshotPolicyId"]},"azure:netapp/VolumeGroupSapHanaVolumeExportPolicyRule:VolumeGroupSapHanaVolumeExportPolicyRule":{"properties":{"allowedClients":{"type":"string","description":"A comma-sperated list of allowed client IPv4 addresses.\n"},"nfsv3Enabled":{"type":"boolean","description":"Enables NFSv3. Please note that this cannot be enabled if volume has NFSv4.1 as its protocol.\n"},"nfsv41Enabled":{"type":"boolean","description":"Enables NFSv4.1. Please note that this cannot be enabled if volume has NFSv3 as its protocol.\n"},"rootAccessEnabled":{"type":"boolean","description":"Is root access permitted to this volume? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"ruleIndex":{"type":"integer","description":"The index number of the rule, must start at 1 and maximum 5.\n"},"unixReadOnly":{"type":"boolean","description":"Is the file system on unix read only? Defaults to `false.\n"},"unixReadWrite":{"type":"boolean","description":"Is the file system on unix read and write? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"}},"type":"object","required":["allowedClients","nfsv3Enabled","nfsv41Enabled","ruleIndex"]},"azure:netapp/getAccountIdentity:getAccountIdentity":{"properties":{"identityIds":{"type":"array","items":{"type":"string"}},"principalId":{"type":"string"},"tenantId":{"type":"string"},"type":{"type":"string"}},"type":"object","required":["principalId","tenantId","type"],"language":{"nodejs":{"requiredInputs":["type"]}}},"azure:netapp/getSnapshotPolicyDailySchedule:getSnapshotPolicyDailySchedule":{"properties":{"hour":{"type":"integer","description":"Hour of the day that the snapshots will be created.\n"},"minute":{"type":"integer","description":"Minute of the hour that the snapshots will be created.\n"},"snapshotsToKeep":{"type":"integer","description":"How many hourly snapshots to keep.\n"}},"type":"object","required":["hour","minute","snapshotsToKeep"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:netapp/getSnapshotPolicyHourlySchedule:getSnapshotPolicyHourlySchedule":{"properties":{"minute":{"type":"integer","description":"Minute of the hour that the snapshots will be created.\n"},"snapshotsToKeep":{"type":"integer","description":"How many hourly snapshots to keep.\n"}},"type":"object","required":["minute","snapshotsToKeep"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:netapp/getSnapshotPolicyMonthlySchedule:getSnapshotPolicyMonthlySchedule":{"properties":{"daysOfMonths":{"type":"array","items":{"type":"integer"}},"hour":{"type":"integer","description":"Hour of the day that the snapshots will be created.\n"},"minute":{"type":"integer","description":"Minute of the hour that the snapshots will be created.\n"},"snapshotsToKeep":{"type":"integer","description":"How many hourly snapshots to keep.\n"}},"type":"object","required":["daysOfMonths","hour","minute","snapshotsToKeep"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:netapp/getSnapshotPolicyWeeklySchedule:getSnapshotPolicyWeeklySchedule":{"properties":{"daysOfWeeks":{"type":"array","items":{"type":"string"},"description":"List of the week days using English names when the snapshots will be created.\n"},"hour":{"type":"integer","description":"Hour of the day that the snapshots will be created.\n"},"minute":{"type":"integer","description":"Minute of the hour that the snapshots will be created.\n"},"snapshotsToKeep":{"type":"integer","description":"How many hourly snapshots to keep.\n"}},"type":"object","required":["daysOfWeeks","hour","minute","snapshotsToKeep"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:netapp/getVolumeDataProtectionBackupPolicy:getVolumeDataProtectionBackupPolicy":{"properties":{"backupPolicyId":{"type":"string","description":"The Resource ID of the backup policy.\n"},"backupVaultId":{"type":"string","description":"The Resource ID of the backup backup vault.\n"},"policyEnabled":{"type":"boolean","description":"Backup policy is enabled or not.\n"}},"type":"object","required":["backupPolicyId","backupVaultId","policyEnabled"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:netapp/getVolumeDataProtectionReplication:getVolumeDataProtectionReplication":{"properties":{"endpointType":{"type":"string","description":"The endpoint type.\n"},"remoteVolumeLocation":{"type":"string","description":"Location of the primary volume.\n"},"remoteVolumeResourceId":{"type":"string","description":"Resource ID of the primary volume.\n"},"replicationFrequency":{"type":"string","description":"Frequency of replication.\n"}},"type":"object","required":["endpointType","remoteVolumeLocation","remoteVolumeResourceId","replicationFrequency"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:netapp/getVolumeGroupOracleVolume:getVolumeGroupOracleVolume":{"properties":{"capacityPoolId":{"type":"string","description":"The ID of the Capacity Pool.\n"},"dataProtectionReplications":{"type":"array","items":{"$ref":"#/types/azure:netapp/getVolumeGroupOracleVolumeDataProtectionReplication:getVolumeGroupOracleVolumeDataProtectionReplication"}},"dataProtectionSnapshotPolicies":{"type":"array","items":{"$ref":"#/types/azure:netapp/getVolumeGroupOracleVolumeDataProtectionSnapshotPolicy:getVolumeGroupOracleVolumeDataProtectionSnapshotPolicy"},"description":"A \u003cspan pulumi-lang-nodejs=\"`dataProtectionSnapshotPolicy`\" pulumi-lang-dotnet=\"`DataProtectionSnapshotPolicy`\" pulumi-lang-go=\"`dataProtectionSnapshotPolicy`\" pulumi-lang-python=\"`data_protection_snapshot_policy`\" pulumi-lang-yaml=\"`dataProtectionSnapshotPolicy`\" pulumi-lang-java=\"`dataProtectionSnapshotPolicy`\"\u003e`data_protection_snapshot_policy`\u003c/span\u003e block as defined below.\n"},"encryptionKeySource":{"type":"string","description":"The encryption key source.\n"},"exportPolicyRules":{"type":"array","items":{"$ref":"#/types/azure:netapp/getVolumeGroupOracleVolumeExportPolicyRule:getVolumeGroupOracleVolumeExportPolicyRule"},"description":"A \u003cspan pulumi-lang-nodejs=\"`exportPolicyRule`\" pulumi-lang-dotnet=\"`ExportPolicyRule`\" pulumi-lang-go=\"`exportPolicyRule`\" pulumi-lang-python=\"`export_policy_rule`\" pulumi-lang-yaml=\"`exportPolicyRule`\" pulumi-lang-java=\"`exportPolicyRule`\"\u003e`export_policy_rule`\u003c/span\u003e block as defined below.\n"},"id":{"type":"string","description":"Volume ID.\n"},"keyVaultPrivateEndpointId":{"type":"string","description":"The Private Endpoint ID for Key Vault when using customer managed keys.\n"},"mountIpAddresses":{"type":"array","items":{"type":"string"},"description":"A \u003cspan pulumi-lang-nodejs=\"`mountIpAddresses`\" pulumi-lang-dotnet=\"`MountIpAddresses`\" pulumi-lang-go=\"`mountIpAddresses`\" pulumi-lang-python=\"`mount_ip_addresses`\" pulumi-lang-yaml=\"`mountIpAddresses`\" pulumi-lang-java=\"`mountIpAddresses`\"\u003e`mount_ip_addresses`\u003c/span\u003e block as defined below.\n"},"name":{"type":"string","description":"The name of this Application Volume Group for Oracle application.\n"},"networkFeatures":{"type":"string","description":"Network feature in use at the time of volume creation.\n"},"protocols":{"type":"array","items":{"type":"string"},"description":"A \u003cspan pulumi-lang-nodejs=\"`protocols`\" pulumi-lang-dotnet=\"`Protocols`\" pulumi-lang-go=\"`protocols`\" pulumi-lang-python=\"`protocols`\" pulumi-lang-yaml=\"`protocols`\" pulumi-lang-java=\"`protocols`\"\u003e`protocols`\u003c/span\u003e block as defined below.\n"},"proximityPlacementGroupId":{"type":"string","description":"The ID of the proximity placement group.\n"},"securityStyle":{"type":"string","description":"Volume security style.\n"},"serviceLevel":{"type":"string","description":"The target performance of the file system.\n"},"snapshotDirectoryVisible":{"type":"boolean","description":"Is the .snapshot (NFS clients) path of a volume visible?\n"},"storageQuotaInGb":{"type":"integer","description":"The maximum Storage Quota allowed for a file system in Gigabytes.\n"},"subnetId":{"type":"string","description":"The ID of the Subnet the NetApp Volume resides in.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags assigned to the Application Volume Group.\n"},"throughputInMibps":{"type":"number","description":"Throughput of this volume in Mibps.\n"},"volumePath":{"type":"string","description":"A unique file path for the volume.\n"},"volumeSpecName":{"type":"string","description":"Volume spec name.\n"},"zone":{"type":"string"}},"type":"object","required":["capacityPoolId","dataProtectionReplications","dataProtectionSnapshotPolicies","encryptionKeySource","exportPolicyRules","id","keyVaultPrivateEndpointId","mountIpAddresses","name","networkFeatures","protocols","proximityPlacementGroupId","securityStyle","serviceLevel","snapshotDirectoryVisible","storageQuotaInGb","subnetId","tags","throughputInMibps","volumePath","volumeSpecName","zone"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:netapp/getVolumeGroupOracleVolumeDataProtectionReplication:getVolumeGroupOracleVolumeDataProtectionReplication":{"properties":{"endpointType":{"type":"string","description":"The endpoint type.\n"},"remoteVolumeLocation":{"type":"string","description":"Location of the primary volume.\n"},"remoteVolumeResourceId":{"type":"string","description":"Resource ID of the primary volume.\n"},"replicationFrequency":{"type":"string","description":"Replication frequency.\n"}},"type":"object","required":["endpointType","remoteVolumeLocation","remoteVolumeResourceId","replicationFrequency"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:netapp/getVolumeGroupOracleVolumeDataProtectionSnapshotPolicy:getVolumeGroupOracleVolumeDataProtectionSnapshotPolicy":{"properties":{"snapshotPolicyId":{"type":"string","description":"Resource ID of the snapshot policy to apply to the volume.\n"}},"type":"object","required":["snapshotPolicyId"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:netapp/getVolumeGroupOracleVolumeExportPolicyRule:getVolumeGroupOracleVolumeExportPolicyRule":{"properties":{"allowedClients":{"type":"string","description":"A list of allowed clients IPv4 addresses.\n"},"nfsv3Enabled":{"type":"boolean","description":"Is the NFSv3 protocol enabled?\n"},"nfsv41Enabled":{"type":"boolean","description":"Is the NFSv4.1 enabled?\n"},"rootAccessEnabled":{"type":"boolean","description":"Is root access permitted to this volume?\n"},"ruleIndex":{"type":"integer","description":"The index number of the rule.\n"},"unixReadOnly":{"type":"boolean","description":"Is the file system on unix read only?.\n"},"unixReadWrite":{"type":"boolean","description":"Is the file system on unix read and write?.\n"}},"type":"object","required":["allowedClients","nfsv3Enabled","nfsv41Enabled","rootAccessEnabled","ruleIndex","unixReadOnly","unixReadWrite"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:netapp/getVolumeGroupSapHanaVolume:getVolumeGroupSapHanaVolume":{"properties":{"capacityPoolId":{"type":"string","description":"The ID of the Capacity Pool.\n"},"dataProtectionReplications":{"type":"array","items":{"$ref":"#/types/azure:netapp/getVolumeGroupSapHanaVolumeDataProtectionReplication:getVolumeGroupSapHanaVolumeDataProtectionReplication"},"description":"A \u003cspan pulumi-lang-nodejs=\"`dataProtectionReplication`\" pulumi-lang-dotnet=\"`DataProtectionReplication`\" pulumi-lang-go=\"`dataProtectionReplication`\" pulumi-lang-python=\"`data_protection_replication`\" pulumi-lang-yaml=\"`dataProtectionReplication`\" pulumi-lang-java=\"`dataProtectionReplication`\"\u003e`data_protection_replication`\u003c/span\u003e block as defined below.\n"},"dataProtectionSnapshotPolicies":{"type":"array","items":{"$ref":"#/types/azure:netapp/getVolumeGroupSapHanaVolumeDataProtectionSnapshotPolicy:getVolumeGroupSapHanaVolumeDataProtectionSnapshotPolicy"},"description":"A \u003cspan pulumi-lang-nodejs=\"`dataProtectionSnapshotPolicy`\" pulumi-lang-dotnet=\"`DataProtectionSnapshotPolicy`\" pulumi-lang-go=\"`dataProtectionSnapshotPolicy`\" pulumi-lang-python=\"`data_protection_snapshot_policy`\" pulumi-lang-yaml=\"`dataProtectionSnapshotPolicy`\" pulumi-lang-java=\"`dataProtectionSnapshotPolicy`\"\u003e`data_protection_snapshot_policy`\u003c/span\u003e block as defined below.\n"},"encryptionKeySource":{"type":"string","description":"The encryption key source, it can be `Microsoft.NetApp` for platform managed keys or `Microsoft.KeyVault` for customer-managed keys.\n"},"exportPolicyRules":{"type":"array","items":{"$ref":"#/types/azure:netapp/getVolumeGroupSapHanaVolumeExportPolicyRule:getVolumeGroupSapHanaVolumeExportPolicyRule"},"description":"A \u003cspan pulumi-lang-nodejs=\"`exportPolicyRule`\" pulumi-lang-dotnet=\"`ExportPolicyRule`\" pulumi-lang-go=\"`exportPolicyRule`\" pulumi-lang-python=\"`export_policy_rule`\" pulumi-lang-yaml=\"`exportPolicyRule`\" pulumi-lang-java=\"`exportPolicyRule`\"\u003e`export_policy_rule`\u003c/span\u003e block as defined below.\n"},"id":{"type":"string","description":"Volume ID.\n"},"keyVaultPrivateEndpointId":{"type":"string","description":"The Private Endpoint ID for Key Vault, which is required when using customer-managed keys.\n"},"mountIpAddresses":{"type":"array","items":{"type":"string"},"description":"A \u003cspan pulumi-lang-nodejs=\"`mountIpAddresses`\" pulumi-lang-dotnet=\"`MountIpAddresses`\" pulumi-lang-go=\"`mountIpAddresses`\" pulumi-lang-python=\"`mount_ip_addresses`\" pulumi-lang-yaml=\"`mountIpAddresses`\" pulumi-lang-java=\"`mountIpAddresses`\"\u003e`mount_ip_addresses`\u003c/span\u003e block as defined below.\n"},"name":{"type":"string","description":"The name of this Application Volume Group for SAP HANA application.\n"},"networkFeatures":{"type":"string","description":"Network features of the volume.\n"},"protocols":{"type":"array","items":{"type":"string"},"description":"A \u003cspan pulumi-lang-nodejs=\"`protocols`\" pulumi-lang-dotnet=\"`Protocols`\" pulumi-lang-go=\"`protocols`\" pulumi-lang-python=\"`protocols`\" pulumi-lang-yaml=\"`protocols`\" pulumi-lang-java=\"`protocols`\"\u003e`protocols`\u003c/span\u003e block as defined below.\n"},"proximityPlacementGroupId":{"type":"string","description":"The ID of the proximity placement group.\n"},"securityStyle":{"type":"string","description":"Volume security style.\n"},"serviceLevel":{"type":"string","description":"The target performance of the file system.\n"},"snapshotDirectoryVisible":{"type":"boolean","description":"Is the .snapshot (NFS clients) path of a volume visible?\n"},"storageQuotaInGb":{"type":"integer","description":"The maximum Storage Quota allowed for a file system in Gigabytes.\n"},"subnetId":{"type":"string","description":"The ID of the Subnet the NetApp Volume resides in.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags assigned to the Application Volume Group.\n"},"throughputInMibps":{"type":"number","description":"Throughput of this volume in Mibps.\n"},"volumePath":{"type":"string","description":"A unique file path for the volume.\n"},"volumeSpecName":{"type":"string","description":"Volume spec name.\n"},"zone":{"type":"string","description":"Specifies the Availability Zone in which the Volume is located.\n"}},"type":"object","required":["capacityPoolId","dataProtectionReplications","dataProtectionSnapshotPolicies","encryptionKeySource","exportPolicyRules","id","keyVaultPrivateEndpointId","mountIpAddresses","name","networkFeatures","protocols","proximityPlacementGroupId","securityStyle","serviceLevel","snapshotDirectoryVisible","storageQuotaInGb","subnetId","tags","throughputInMibps","volumePath","volumeSpecName","zone"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:netapp/getVolumeGroupSapHanaVolumeDataProtectionReplication:getVolumeGroupSapHanaVolumeDataProtectionReplication":{"properties":{"endpointType":{"type":"string","description":"The endpoint type.\n"},"remoteVolumeLocation":{"type":"string","description":"Location of the primary volume.\n"},"remoteVolumeResourceId":{"type":"string","description":"Resource ID of the primary volume.\n"},"replicationFrequency":{"type":"string","description":"Replication frequency.\n"}},"type":"object","required":["endpointType","remoteVolumeLocation","remoteVolumeResourceId","replicationFrequency"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:netapp/getVolumeGroupSapHanaVolumeDataProtectionSnapshotPolicy:getVolumeGroupSapHanaVolumeDataProtectionSnapshotPolicy":{"properties":{"snapshotPolicyId":{"type":"string","description":"Resource ID of the snapshot policy to apply to the volume.\n"}},"type":"object","required":["snapshotPolicyId"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:netapp/getVolumeGroupSapHanaVolumeExportPolicyRule:getVolumeGroupSapHanaVolumeExportPolicyRule":{"properties":{"allowedClients":{"type":"string","description":"A list of allowed clients IPv4 addresses.\n"},"nfsv3Enabled":{"type":"boolean","description":"Is the NFSv3 protocol enabled?\n"},"nfsv41Enabled":{"type":"boolean","description":"Is the NFSv4.1 enabled?\n"},"rootAccessEnabled":{"type":"boolean","description":"Is root access permitted to this volume?\n"},"ruleIndex":{"type":"integer","description":"The index number of the rule.\n"},"unixReadOnly":{"type":"boolean","description":"Is the file system on unix read only?.\n"},"unixReadWrite":{"type":"boolean","description":"Is the file system on unix read and write?.\n"}},"type":"object","required":["allowedClients","nfsv3Enabled","nfsv41Enabled","rootAccessEnabled","ruleIndex","unixReadOnly","unixReadWrite"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:network/ApplicationGatewayAuthenticationCertificate:ApplicationGatewayAuthenticationCertificate":{"properties":{"data":{"type":"string","description":"The contents of the Authentication Certificate which should be used.\n","secret":true},"id":{"type":"string","description":"The ID of the Rewrite Rule Set\n"},"name":{"type":"string","description":"The Name of the Authentication Certificate to use.\n"}},"type":"object","required":["data","name"],"language":{"nodejs":{"requiredOutputs":["data","id","name"]}}},"azure:network/ApplicationGatewayAutoscaleConfiguration:ApplicationGatewayAutoscaleConfiguration":{"properties":{"maxCapacity":{"type":"integer","description":"Maximum capacity for autoscaling. Accepted values are in the range \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`125`\" pulumi-lang-dotnet=\"`125`\" pulumi-lang-go=\"`125`\" pulumi-lang-python=\"`125`\" pulumi-lang-yaml=\"`125`\" pulumi-lang-java=\"`125`\"\u003e`125`\u003c/span\u003e.\n"},"minCapacity":{"type":"integer","description":"Minimum capacity for autoscaling. Accepted values are in the range \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`100`\" pulumi-lang-dotnet=\"`100`\" pulumi-lang-go=\"`100`\" pulumi-lang-python=\"`100`\" pulumi-lang-yaml=\"`100`\" pulumi-lang-java=\"`100`\"\u003e`100`\u003c/span\u003e.\n"}},"type":"object","required":["minCapacity"]},"azure:network/ApplicationGatewayBackendAddressPool:ApplicationGatewayBackendAddressPool":{"properties":{"fqdns":{"type":"array","items":{"type":"string"},"description":"A list of FQDN's which should be part of the Backend Address Pool.\n"},"id":{"type":"string","description":"The ID of the Rewrite Rule Set\n"},"ipAddresses":{"type":"array","items":{"type":"string"},"description":"A list of IP Addresses which should be part of the Backend Address Pool.\n"},"name":{"type":"string","description":"The name of the Backend Address Pool.\n"}},"type":"object","required":["name"],"language":{"nodejs":{"requiredOutputs":["id","name"]}}},"azure:network/ApplicationGatewayBackendHttpSetting:ApplicationGatewayBackendHttpSetting":{"properties":{"affinityCookieName":{"type":"string","description":"The name of the affinity cookie.\n"},"authenticationCertificates":{"type":"array","items":{"$ref":"#/types/azure:network/ApplicationGatewayBackendHttpSettingAuthenticationCertificate:ApplicationGatewayBackendHttpSettingAuthenticationCertificate"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`authenticationCertificateBackend`\" pulumi-lang-dotnet=\"`AuthenticationCertificateBackend`\" pulumi-lang-go=\"`authenticationCertificateBackend`\" pulumi-lang-python=\"`authentication_certificate_backend`\" pulumi-lang-yaml=\"`authenticationCertificateBackend`\" pulumi-lang-java=\"`authenticationCertificateBackend`\"\u003e`authentication_certificate_backend`\u003c/span\u003e blocks as defined below.\n"},"connectionDraining":{"$ref":"#/types/azure:network/ApplicationGatewayBackendHttpSettingConnectionDraining:ApplicationGatewayBackendHttpSettingConnectionDraining","description":"A \u003cspan pulumi-lang-nodejs=\"`connectionDraining`\" pulumi-lang-dotnet=\"`ConnectionDraining`\" pulumi-lang-go=\"`connectionDraining`\" pulumi-lang-python=\"`connection_draining`\" pulumi-lang-yaml=\"`connectionDraining`\" pulumi-lang-java=\"`connectionDraining`\"\u003e`connection_draining`\u003c/span\u003e block as defined below.\n"},"cookieBasedAffinity":{"type":"string","description":"Is Cookie-Based Affinity enabled? Possible values are `Enabled` and `Disabled`.\n"},"dedicatedBackendConnectionEnabled":{"type":"boolean","description":"Whether to use a dedicated backend connection. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"hostName":{"type":"string","description":"Host header to be sent to the backend servers. Cannot be set if \u003cspan pulumi-lang-nodejs=\"`pickHostNameFromBackendAddress`\" pulumi-lang-dotnet=\"`PickHostNameFromBackendAddress`\" pulumi-lang-go=\"`pickHostNameFromBackendAddress`\" pulumi-lang-python=\"`pick_host_name_from_backend_address`\" pulumi-lang-yaml=\"`pickHostNameFromBackendAddress`\" pulumi-lang-java=\"`pickHostNameFromBackendAddress`\"\u003e`pick_host_name_from_backend_address`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"id":{"type":"string","description":"The ID of the Rewrite Rule Set\n"},"name":{"type":"string","description":"The name of the Authentication Certificate.\n"},"path":{"type":"string","description":"The Path which should be used as a prefix for all HTTP requests.\n"},"pickHostNameFromBackendAddress":{"type":"boolean","description":"Whether host header should be picked from the host name of the backend server. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"port":{"type":"integer","description":"The port which should be used for this Backend HTTP Settings Collection.\n"},"probeId":{"type":"string","description":"The ID of the associated Probe.\n"},"probeName":{"type":"string","description":"The name of an associated HTTP Probe.\n"},"protocol":{"type":"string","description":"The Protocol which should be used. Possible values are `Http` and `Https`.\n"},"requestTimeout":{"type":"integer","description":"The request timeout in seconds, which must be between 1 and 86400 seconds. Defaults to \u003cspan pulumi-lang-nodejs=\"`30`\" pulumi-lang-dotnet=\"`30`\" pulumi-lang-go=\"`30`\" pulumi-lang-python=\"`30`\" pulumi-lang-yaml=\"`30`\" pulumi-lang-java=\"`30`\"\u003e`30`\u003c/span\u003e.\n"},"trustedRootCertificateNames":{"type":"array","items":{"type":"string"},"description":"A list of \u003cspan pulumi-lang-nodejs=\"`trustedRootCertificate`\" pulumi-lang-dotnet=\"`TrustedRootCertificate`\" pulumi-lang-go=\"`trustedRootCertificate`\" pulumi-lang-python=\"`trusted_root_certificate`\" pulumi-lang-yaml=\"`trustedRootCertificate`\" pulumi-lang-java=\"`trustedRootCertificate`\"\u003e`trusted_root_certificate`\u003c/span\u003e names.\n"}},"type":"object","required":["cookieBasedAffinity","name","port","protocol"],"language":{"nodejs":{"requiredOutputs":["cookieBasedAffinity","id","name","port","probeId","protocol"]}}},"azure:network/ApplicationGatewayBackendHttpSettingAuthenticationCertificate:ApplicationGatewayBackendHttpSettingAuthenticationCertificate":{"properties":{"id":{"type":"string","description":"The ID of the Rewrite Rule Set\n"},"name":{"type":"string","description":"The Name of the Authentication Certificate to use.\n"}},"type":"object","required":["name"],"language":{"nodejs":{"requiredOutputs":["id","name"]}}},"azure:network/ApplicationGatewayBackendHttpSettingConnectionDraining:ApplicationGatewayBackendHttpSettingConnectionDraining":{"properties":{"drainTimeoutSec":{"type":"integer","description":"The number of seconds connection draining is active. Acceptable values are from \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e second to \u003cspan pulumi-lang-nodejs=\"`3600`\" pulumi-lang-dotnet=\"`3600`\" pulumi-lang-go=\"`3600`\" pulumi-lang-python=\"`3600`\" pulumi-lang-yaml=\"`3600`\" pulumi-lang-java=\"`3600`\"\u003e`3600`\u003c/span\u003e seconds.\n"},"enabled":{"type":"boolean","description":"If connection draining is enabled or not.\n"}},"type":"object","required":["drainTimeoutSec","enabled"]},"azure:network/ApplicationGatewayCustomErrorConfiguration:ApplicationGatewayCustomErrorConfiguration":{"properties":{"customErrorPageUrl":{"type":"string","description":"Error page URL of the application gateway customer error.\n"},"id":{"type":"string","description":"The ID of the Rewrite Rule Set\n"},"statusCode":{"type":"string","description":"Status code of the application gateway customer error. Possible values are `HttpStatus400`, `HttpStatus403`, `HttpStatus404`, `HttpStatus405`, `HttpStatus408`, `HttpStatus500`, `HttpStatus502`, `HttpStatus503` and `HttpStatus504`\n"}},"type":"object","required":["customErrorPageUrl","statusCode"],"language":{"nodejs":{"requiredOutputs":["customErrorPageUrl","id","statusCode"]}}},"azure:network/ApplicationGatewayFrontendIpConfiguration:ApplicationGatewayFrontendIpConfiguration":{"properties":{"id":{"type":"string","description":"The ID of the Rewrite Rule Set\n"},"name":{"type":"string","description":"The name of the Frontend IP Configuration.\n"},"privateIpAddress":{"type":"string","description":"The Private IP Address to use for the Application Gateway.\n"},"privateIpAddressAllocation":{"type":"string","description":"The Allocation Method for the Private IP Address. Possible values are `Dynamic` and `Static`. Defaults to `Dynamic`.\n"},"privateLinkConfigurationId":{"type":"string","description":"The ID of the associated private link configuration.\n"},"privateLinkConfigurationName":{"type":"string","description":"The name of the private link configuration to use for this frontend IP configuration.\n"},"publicIpAddressId":{"type":"string","description":"The ID of a Public IP Address which the Application Gateway should use. The allocation method for the Public IP Address depends on the \u003cspan pulumi-lang-nodejs=\"`sku`\" pulumi-lang-dotnet=\"`Sku`\" pulumi-lang-go=\"`sku`\" pulumi-lang-python=\"`sku`\" pulumi-lang-yaml=\"`sku`\" pulumi-lang-java=\"`sku`\"\u003e`sku`\u003c/span\u003e of this Application Gateway. Please refer to the [Azure documentation for public IP addresses](https://docs.microsoft.com/azure/virtual-network/public-ip-addresses#application-gateways) for details.\n"},"subnetId":{"type":"string","description":"The ID of the Subnet.\n"}},"type":"object","required":["name"],"language":{"nodejs":{"requiredOutputs":["id","name","privateIpAddress","privateLinkConfigurationId"]}}},"azure:network/ApplicationGatewayFrontendPort:ApplicationGatewayFrontendPort":{"properties":{"id":{"type":"string","description":"The ID of the Rewrite Rule Set\n"},"name":{"type":"string","description":"The name of the Frontend Port.\n"},"port":{"type":"integer","description":"The port used for this Frontend Port.\n"}},"type":"object","required":["name","port"],"language":{"nodejs":{"requiredOutputs":["id","name","port"]}}},"azure:network/ApplicationGatewayGatewayIpConfiguration:ApplicationGatewayGatewayIpConfiguration":{"properties":{"id":{"type":"string","description":"The ID of the Rewrite Rule Set\n"},"name":{"type":"string","description":"The Name of this Gateway IP Configuration.\n"},"subnetId":{"type":"string","description":"The ID of the Subnet which the Application Gateway should be connected to.\n"}},"type":"object","required":["name","subnetId"],"language":{"nodejs":{"requiredOutputs":["id","name","subnetId"]}}},"azure:network/ApplicationGatewayGlobal:ApplicationGatewayGlobal":{"properties":{"requestBufferingEnabled":{"type":"boolean","description":"Whether Application Gateway's Request buffer is enabled.\n"},"responseBufferingEnabled":{"type":"boolean","description":"Whether Application Gateway's Response buffer is enabled.\n"}},"type":"object","required":["requestBufferingEnabled","responseBufferingEnabled"]},"azure:network/ApplicationGatewayHttpListener:ApplicationGatewayHttpListener":{"properties":{"customErrorConfigurations":{"type":"array","items":{"$ref":"#/types/azure:network/ApplicationGatewayHttpListenerCustomErrorConfiguration:ApplicationGatewayHttpListenerCustomErrorConfiguration"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`customErrorConfiguration`\" pulumi-lang-dotnet=\"`CustomErrorConfiguration`\" pulumi-lang-go=\"`customErrorConfiguration`\" pulumi-lang-python=\"`custom_error_configuration`\" pulumi-lang-yaml=\"`customErrorConfiguration`\" pulumi-lang-java=\"`customErrorConfiguration`\"\u003e`custom_error_configuration`\u003c/span\u003e blocks as defined below.\n"},"firewallPolicyId":{"type":"string","description":"The ID of the Web Application Firewall Policy which should be used for this HTTP Listener.\n"},"frontendIpConfigurationId":{"type":"string","description":"The ID of the associated Frontend Configuration.\n"},"frontendIpConfigurationName":{"type":"string","description":"The Name of the Frontend IP Configuration used for this HTTP Listener.\n"},"frontendPortId":{"type":"string","description":"The ID of the associated Frontend Port.\n"},"frontendPortName":{"type":"string","description":"The Name of the Frontend Port use for this HTTP Listener.\n"},"hostName":{"type":"string","description":"The Hostname which should be used for this HTTP Listener. Setting this value changes Listener Type to 'Multi site'.\n"},"hostNames":{"type":"array","items":{"type":"string"},"description":"A list of Hostname(s) should be used for this HTTP Listener. It allows special wildcard characters.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`hostNames`\" pulumi-lang-dotnet=\"`HostNames`\" pulumi-lang-go=\"`hostNames`\" pulumi-lang-python=\"`host_names`\" pulumi-lang-yaml=\"`hostNames`\" pulumi-lang-java=\"`hostNames`\"\u003e`host_names`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`hostName`\" pulumi-lang-dotnet=\"`HostName`\" pulumi-lang-go=\"`hostName`\" pulumi-lang-python=\"`host_name`\" pulumi-lang-yaml=\"`hostName`\" pulumi-lang-java=\"`hostName`\"\u003e`host_name`\u003c/span\u003e are mutually exclusive and cannot both be set.\n"},"id":{"type":"string","description":"The ID of the Rewrite Rule Set\n"},"name":{"type":"string","description":"The Name of the HTTP Listener.\n"},"protocol":{"type":"string","description":"The Protocol to use for this HTTP Listener. Possible values are `Http` and `Https`.\n"},"requireSni":{"type":"boolean","description":"Should Server Name Indication be Required? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"sslCertificateId":{"type":"string","description":"The ID of the associated SSL Certificate.\n"},"sslCertificateName":{"type":"string","description":"The name of the associated SSL Certificate which should be used for this HTTP Listener.\n"},"sslProfileId":{"type":"string","description":"The ID of the associated SSL Profile.\n"},"sslProfileName":{"type":"string","description":"The name of the associated SSL Profile which should be used for this HTTP Listener.\n"}},"type":"object","required":["frontendIpConfigurationName","frontendPortName","name","protocol"],"language":{"nodejs":{"requiredOutputs":["frontendIpConfigurationId","frontendIpConfigurationName","frontendPortId","frontendPortName","id","name","protocol","sslCertificateId","sslProfileId"]}}},"azure:network/ApplicationGatewayHttpListenerCustomErrorConfiguration:ApplicationGatewayHttpListenerCustomErrorConfiguration":{"properties":{"customErrorPageUrl":{"type":"string","description":"Error page URL of the application gateway customer error.\n"},"id":{"type":"string","description":"The ID of the Rewrite Rule Set\n"},"statusCode":{"type":"string","description":"Status code of the application gateway customer error. Possible values are `HttpStatus400`, `HttpStatus403`, `HttpStatus404`, `HttpStatus405`, `HttpStatus408`, `HttpStatus500`, `HttpStatus502`, `HttpStatus503` and `HttpStatus504`\n"}},"type":"object","required":["customErrorPageUrl","statusCode"],"language":{"nodejs":{"requiredOutputs":["customErrorPageUrl","id","statusCode"]}}},"azure:network/ApplicationGatewayIdentity:ApplicationGatewayIdentity":{"properties":{"identityIds":{"type":"array","items":{"type":"string"},"description":"Specifies a list of User Assigned Managed Identity IDs to be assigned to this Application Gateway.\n"},"principalId":{"type":"string"},"tenantId":{"type":"string"},"type":{"type":"string","description":"Specifies the type of Managed Service Identity that should be configured on this Application Gateway. Only possible value is `UserAssigned`.\n"}},"type":"object","required":["type"],"language":{"nodejs":{"requiredOutputs":["principalId","tenantId","type"]}}},"azure:network/ApplicationGatewayPrivateEndpointConnection:ApplicationGatewayPrivateEndpointConnection":{"properties":{"id":{"type":"string","description":"The ID of the Rewrite Rule Set\n"},"name":{"type":"string","description":"The name of the Application Gateway. Changing this forces a new resource to be created.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["id","name"]}}},"azure:network/ApplicationGatewayPrivateLinkConfiguration:ApplicationGatewayPrivateLinkConfiguration":{"properties":{"id":{"type":"string","description":"The ID of the Rewrite Rule Set\n"},"ipConfigurations":{"type":"array","items":{"$ref":"#/types/azure:network/ApplicationGatewayPrivateLinkConfigurationIpConfiguration:ApplicationGatewayPrivateLinkConfigurationIpConfiguration"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`ipConfiguration`\" pulumi-lang-dotnet=\"`IpConfiguration`\" pulumi-lang-go=\"`ipConfiguration`\" pulumi-lang-python=\"`ip_configuration`\" pulumi-lang-yaml=\"`ipConfiguration`\" pulumi-lang-java=\"`ipConfiguration`\"\u003e`ip_configuration`\u003c/span\u003e blocks as defined below.\n\n\u003e **Note:** The `AllowApplicationGatewayPrivateLink` feature must be registered on the subscription before enabling private link\n\n```bash\naz feature register --name AllowApplicationGatewayPrivateLink --namespace Microsoft.Network\n```\n"},"name":{"type":"string","description":"The name of the private link configuration.\n"}},"type":"object","required":["ipConfigurations","name"],"language":{"nodejs":{"requiredOutputs":["id","ipConfigurations","name"]}}},"azure:network/ApplicationGatewayPrivateLinkConfigurationIpConfiguration:ApplicationGatewayPrivateLinkConfigurationIpConfiguration":{"properties":{"name":{"type":"string","description":"The name of the IP configuration.\n"},"primary":{"type":"boolean","description":"Is this the Primary IP Configuration?\n"},"privateIpAddress":{"type":"string","description":"The Static IP Address which should be used.\n"},"privateIpAddressAllocation":{"type":"string","description":"The allocation method used for the Private IP Address. Possible values are `Dynamic` and `Static`.\n"},"subnetId":{"type":"string","description":"The ID of the subnet the private link configuration should connect to.\n"}},"type":"object","required":["name","primary","privateIpAddressAllocation","subnetId"],"language":{"nodejs":{"requiredOutputs":["name","primary","privateIpAddress","privateIpAddressAllocation","subnetId"]}}},"azure:network/ApplicationGatewayProbe:ApplicationGatewayProbe":{"properties":{"host":{"type":"string","description":"The Hostname used for this Probe. If the Application Gateway is configured for a single site, by default the Host name should be specified as `127.0.0.1`, unless otherwise configured in custom probe. Cannot be set if \u003cspan pulumi-lang-nodejs=\"`pickHostNameFromBackendHttpSettings`\" pulumi-lang-dotnet=\"`PickHostNameFromBackendHttpSettings`\" pulumi-lang-go=\"`pickHostNameFromBackendHttpSettings`\" pulumi-lang-python=\"`pick_host_name_from_backend_http_settings`\" pulumi-lang-yaml=\"`pickHostNameFromBackendHttpSettings`\" pulumi-lang-java=\"`pickHostNameFromBackendHttpSettings`\"\u003e`pick_host_name_from_backend_http_settings`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"id":{"type":"string","description":"The ID of the Rewrite Rule Set\n"},"interval":{"type":"integer","description":"The Interval between two consecutive probes in seconds. Possible values range from 1 second to a maximum of 86,400 seconds.\n"},"match":{"$ref":"#/types/azure:network/ApplicationGatewayProbeMatch:ApplicationGatewayProbeMatch","description":"A \u003cspan pulumi-lang-nodejs=\"`match`\" pulumi-lang-dotnet=\"`Match`\" pulumi-lang-go=\"`match`\" pulumi-lang-python=\"`match`\" pulumi-lang-yaml=\"`match`\" pulumi-lang-java=\"`match`\"\u003e`match`\u003c/span\u003e block as defined above.\n"},"minimumServers":{"type":"integer","description":"The minimum number of servers that are always marked as healthy. Defaults to \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"name":{"type":"string","description":"The Name of the Probe.\n"},"path":{"type":"string","description":"The Path used for this Probe.\n"},"pickHostNameFromBackendHttpSettings":{"type":"boolean","description":"Whether the host header should be picked from the backend HTTP settings. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"port":{"type":"integer","description":"Custom port which will be used for probing the backend servers. The valid value ranges from 1 to 65535. In case not set, port from HTTP settings will be used. This property is valid for Basic, Standard_v2 and WAF_v2 only.\n"},"protocol":{"type":"string","description":"The Protocol used for this Probe. Possible values are `Http` and `Https`.\n"},"timeout":{"type":"integer","description":"The Timeout used for this Probe, which indicates when a probe becomes unhealthy. Possible values range from 1 second to a maximum of 86,400 seconds.\n"},"unhealthyThreshold":{"type":"integer","description":"The Unhealthy Threshold for this Probe, which indicates the amount of retries which should be attempted before a node is deemed unhealthy. Possible values are from 1 to 20.\n"}},"type":"object","required":["interval","name","path","protocol","timeout","unhealthyThreshold"],"language":{"nodejs":{"requiredOutputs":["id","interval","name","path","protocol","timeout","unhealthyThreshold"]}}},"azure:network/ApplicationGatewayProbeMatch:ApplicationGatewayProbeMatch":{"properties":{"body":{"type":"string","description":"A snippet from the Response Body which must be present in the Response.\n"},"statusCodes":{"type":"array","items":{"type":"string"},"description":"A list of allowed status codes for this Health Probe.\n"}},"type":"object","required":["statusCodes"]},"azure:network/ApplicationGatewayRedirectConfiguration:ApplicationGatewayRedirectConfiguration":{"properties":{"id":{"type":"string","description":"The ID of the Rewrite Rule Set\n"},"includePath":{"type":"boolean","description":"Whether to include the path in the redirected URL. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e\n"},"includeQueryString":{"type":"boolean","description":"Whether to include the query string in the redirected URL. Default to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e\n"},"name":{"type":"string","description":"Unique name of the redirect configuration block\n"},"redirectType":{"type":"string","description":"The type of redirect. Possible values are `Permanent`, `Temporary`, `Found` and `SeeOther`\n"},"targetListenerId":{"type":"string"},"targetListenerName":{"type":"string","description":"The name of the listener to redirect to. Cannot be set if \u003cspan pulumi-lang-nodejs=\"`targetUrl`\" pulumi-lang-dotnet=\"`TargetUrl`\" pulumi-lang-go=\"`targetUrl`\" pulumi-lang-python=\"`target_url`\" pulumi-lang-yaml=\"`targetUrl`\" pulumi-lang-java=\"`targetUrl`\"\u003e`target_url`\u003c/span\u003e is set.\n"},"targetUrl":{"type":"string","description":"The URL to redirect the request to. Cannot be set if \u003cspan pulumi-lang-nodejs=\"`targetListenerName`\" pulumi-lang-dotnet=\"`TargetListenerName`\" pulumi-lang-go=\"`targetListenerName`\" pulumi-lang-python=\"`target_listener_name`\" pulumi-lang-yaml=\"`targetListenerName`\" pulumi-lang-java=\"`targetListenerName`\"\u003e`target_listener_name`\u003c/span\u003e is set.\n"}},"type":"object","required":["name","redirectType"],"language":{"nodejs":{"requiredOutputs":["id","name","redirectType","targetListenerId"]}}},"azure:network/ApplicationGatewayRequestRoutingRule:ApplicationGatewayRequestRoutingRule":{"properties":{"backendAddressPoolId":{"type":"string","description":"The ID of the associated Backend Address Pool.\n"},"backendAddressPoolName":{"type":"string","description":"The Name of the Backend Address Pool which should be used for this Routing Rule. Cannot be set if \u003cspan pulumi-lang-nodejs=\"`redirectConfigurationName`\" pulumi-lang-dotnet=\"`RedirectConfigurationName`\" pulumi-lang-go=\"`redirectConfigurationName`\" pulumi-lang-python=\"`redirect_configuration_name`\" pulumi-lang-yaml=\"`redirectConfigurationName`\" pulumi-lang-java=\"`redirectConfigurationName`\"\u003e`redirect_configuration_name`\u003c/span\u003e is set.\n"},"backendHttpSettingsId":{"type":"string","description":"The ID of the associated Backend HTTP Settings Configuration.\n"},"backendHttpSettingsName":{"type":"string","description":"The Name of the Backend HTTP Settings Collection which should be used for this Routing Rule. Cannot be set if \u003cspan pulumi-lang-nodejs=\"`redirectConfigurationName`\" pulumi-lang-dotnet=\"`RedirectConfigurationName`\" pulumi-lang-go=\"`redirectConfigurationName`\" pulumi-lang-python=\"`redirect_configuration_name`\" pulumi-lang-yaml=\"`redirectConfigurationName`\" pulumi-lang-java=\"`redirectConfigurationName`\"\u003e`redirect_configuration_name`\u003c/span\u003e is set.\n"},"httpListenerId":{"type":"string","description":"The ID of the associated HTTP Listener.\n"},"httpListenerName":{"type":"string","description":"The Name of the HTTP Listener which should be used for this Routing Rule.\n"},"id":{"type":"string","description":"The ID of the Rewrite Rule Set\n"},"name":{"type":"string","description":"The Name of this Request Routing Rule.\n"},"priority":{"type":"integer","description":"Rule evaluation order can be dictated by specifying an integer value from \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`20000`\" pulumi-lang-dotnet=\"`20000`\" pulumi-lang-go=\"`20000`\" pulumi-lang-python=\"`20000`\" pulumi-lang-yaml=\"`20000`\" pulumi-lang-java=\"`20000`\"\u003e`20000`\u003c/span\u003e with \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e being the highest priority and \u003cspan pulumi-lang-nodejs=\"`20000`\" pulumi-lang-dotnet=\"`20000`\" pulumi-lang-go=\"`20000`\" pulumi-lang-python=\"`20000`\" pulumi-lang-yaml=\"`20000`\" pulumi-lang-java=\"`20000`\"\u003e`20000`\u003c/span\u003e being the lowest priority.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`priority`\" pulumi-lang-dotnet=\"`Priority`\" pulumi-lang-go=\"`priority`\" pulumi-lang-python=\"`priority`\" pulumi-lang-yaml=\"`priority`\" pulumi-lang-java=\"`priority`\"\u003e`priority`\u003c/span\u003e is required when `sku[0].tier` is set to `*_v2`.\n"},"redirectConfigurationId":{"type":"string","description":"The ID of the associated Redirect Configuration.\n"},"redirectConfigurationName":{"type":"string","description":"The Name of the Redirect Configuration which should be used for this Routing Rule. Cannot be set if either \u003cspan pulumi-lang-nodejs=\"`backendAddressPoolName`\" pulumi-lang-dotnet=\"`BackendAddressPoolName`\" pulumi-lang-go=\"`backendAddressPoolName`\" pulumi-lang-python=\"`backend_address_pool_name`\" pulumi-lang-yaml=\"`backendAddressPoolName`\" pulumi-lang-java=\"`backendAddressPoolName`\"\u003e`backend_address_pool_name`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`backendHttpSettingsName`\" pulumi-lang-dotnet=\"`BackendHttpSettingsName`\" pulumi-lang-go=\"`backendHttpSettingsName`\" pulumi-lang-python=\"`backend_http_settings_name`\" pulumi-lang-yaml=\"`backendHttpSettingsName`\" pulumi-lang-java=\"`backendHttpSettingsName`\"\u003e`backend_http_settings_name`\u003c/span\u003e is set.\n"},"rewriteRuleSetId":{"type":"string","description":"The ID of the associated Rewrite Rule Set.\n"},"rewriteRuleSetName":{"type":"string","description":"The Name of the Rewrite Rule Set which should be used for this Routing Rule. Only valid for v2 SKUs.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`backendAddressPoolName`\" pulumi-lang-dotnet=\"`BackendAddressPoolName`\" pulumi-lang-go=\"`backendAddressPoolName`\" pulumi-lang-python=\"`backend_address_pool_name`\" pulumi-lang-yaml=\"`backendAddressPoolName`\" pulumi-lang-java=\"`backendAddressPoolName`\"\u003e`backend_address_pool_name`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`backendHttpSettingsName`\" pulumi-lang-dotnet=\"`BackendHttpSettingsName`\" pulumi-lang-go=\"`backendHttpSettingsName`\" pulumi-lang-python=\"`backend_http_settings_name`\" pulumi-lang-yaml=\"`backendHttpSettingsName`\" pulumi-lang-java=\"`backendHttpSettingsName`\"\u003e`backend_http_settings_name`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`redirectConfigurationName`\" pulumi-lang-dotnet=\"`RedirectConfigurationName`\" pulumi-lang-go=\"`redirectConfigurationName`\" pulumi-lang-python=\"`redirect_configuration_name`\" pulumi-lang-yaml=\"`redirectConfigurationName`\" pulumi-lang-java=\"`redirectConfigurationName`\"\u003e`redirect_configuration_name`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`rewriteRuleSetName`\" pulumi-lang-dotnet=\"`RewriteRuleSetName`\" pulumi-lang-go=\"`rewriteRuleSetName`\" pulumi-lang-python=\"`rewrite_rule_set_name`\" pulumi-lang-yaml=\"`rewriteRuleSetName`\" pulumi-lang-java=\"`rewriteRuleSetName`\"\u003e`rewrite_rule_set_name`\u003c/span\u003e are applicable only when \u003cspan pulumi-lang-nodejs=\"`ruleType`\" pulumi-lang-dotnet=\"`RuleType`\" pulumi-lang-go=\"`ruleType`\" pulumi-lang-python=\"`rule_type`\" pulumi-lang-yaml=\"`ruleType`\" pulumi-lang-java=\"`ruleType`\"\u003e`rule_type`\u003c/span\u003e is `Basic`.\n"},"ruleType":{"type":"string","description":"The Type of Routing that should be used for this Rule. Possible values are `Basic` and `PathBasedRouting`.\n"},"urlPathMapId":{"type":"string","description":"The ID of the associated URL Path Map.\n"},"urlPathMapName":{"type":"string","description":"The Name of the URL Path Map which should be associated with this Routing Rule.\n"}},"type":"object","required":["httpListenerName","name","ruleType"],"language":{"nodejs":{"requiredOutputs":["backendAddressPoolId","backendHttpSettingsId","httpListenerId","httpListenerName","id","name","redirectConfigurationId","rewriteRuleSetId","ruleType","urlPathMapId"]}}},"azure:network/ApplicationGatewayRewriteRuleSet:ApplicationGatewayRewriteRuleSet":{"properties":{"id":{"type":"string","description":"The ID of the Rewrite Rule Set\n"},"name":{"type":"string","description":"Unique name of the rewrite rule set block\n"},"rewriteRules":{"type":"array","items":{"$ref":"#/types/azure:network/ApplicationGatewayRewriteRuleSetRewriteRule:ApplicationGatewayRewriteRuleSetRewriteRule"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`rewriteRule`\" pulumi-lang-dotnet=\"`RewriteRule`\" pulumi-lang-go=\"`rewriteRule`\" pulumi-lang-python=\"`rewrite_rule`\" pulumi-lang-yaml=\"`rewriteRule`\" pulumi-lang-java=\"`rewriteRule`\"\u003e`rewrite_rule`\u003c/span\u003e blocks as defined below.\n"}},"type":"object","required":["name"],"language":{"nodejs":{"requiredOutputs":["id","name"]}}},"azure:network/ApplicationGatewayRewriteRuleSetRewriteRule:ApplicationGatewayRewriteRuleSetRewriteRule":{"properties":{"conditions":{"type":"array","items":{"$ref":"#/types/azure:network/ApplicationGatewayRewriteRuleSetRewriteRuleCondition:ApplicationGatewayRewriteRuleSetRewriteRuleCondition"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`condition`\" pulumi-lang-dotnet=\"`Condition`\" pulumi-lang-go=\"`condition`\" pulumi-lang-python=\"`condition`\" pulumi-lang-yaml=\"`condition`\" pulumi-lang-java=\"`condition`\"\u003e`condition`\u003c/span\u003e blocks as defined above.\n"},"name":{"type":"string","description":"Unique name of the rewrite rule block\n"},"requestHeaderConfigurations":{"type":"array","items":{"$ref":"#/types/azure:network/ApplicationGatewayRewriteRuleSetRewriteRuleRequestHeaderConfiguration:ApplicationGatewayRewriteRuleSetRewriteRuleRequestHeaderConfiguration"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`requestHeaderConfiguration`\" pulumi-lang-dotnet=\"`RequestHeaderConfiguration`\" pulumi-lang-go=\"`requestHeaderConfiguration`\" pulumi-lang-python=\"`request_header_configuration`\" pulumi-lang-yaml=\"`requestHeaderConfiguration`\" pulumi-lang-java=\"`requestHeaderConfiguration`\"\u003e`request_header_configuration`\u003c/span\u003e blocks as defined above.\n"},"responseHeaderConfigurations":{"type":"array","items":{"$ref":"#/types/azure:network/ApplicationGatewayRewriteRuleSetRewriteRuleResponseHeaderConfiguration:ApplicationGatewayRewriteRuleSetRewriteRuleResponseHeaderConfiguration"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`responseHeaderConfiguration`\" pulumi-lang-dotnet=\"`ResponseHeaderConfiguration`\" pulumi-lang-go=\"`responseHeaderConfiguration`\" pulumi-lang-python=\"`response_header_configuration`\" pulumi-lang-yaml=\"`responseHeaderConfiguration`\" pulumi-lang-java=\"`responseHeaderConfiguration`\"\u003e`response_header_configuration`\u003c/span\u003e blocks as defined above.\n"},"ruleSequence":{"type":"integer","description":"Rule sequence of the rewrite rule that determines the order of execution in a set.\n"},"url":{"$ref":"#/types/azure:network/ApplicationGatewayRewriteRuleSetRewriteRuleUrl:ApplicationGatewayRewriteRuleSetRewriteRuleUrl","description":"One \u003cspan pulumi-lang-nodejs=\"`url`\" pulumi-lang-dotnet=\"`Url`\" pulumi-lang-go=\"`url`\" pulumi-lang-python=\"`url`\" pulumi-lang-yaml=\"`url`\" pulumi-lang-java=\"`url`\"\u003e`url`\u003c/span\u003e block as defined below\n"}},"type":"object","required":["name","ruleSequence"]},"azure:network/ApplicationGatewayRewriteRuleSetRewriteRuleCondition:ApplicationGatewayRewriteRuleSetRewriteRuleCondition":{"properties":{"ignoreCase":{"type":"boolean","description":"Perform a case in-sensitive comparison. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e\n"},"negate":{"type":"boolean","description":"Negate the result of the condition evaluation. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e\n"},"pattern":{"type":"string","description":"The pattern, either fixed string or regular expression, that evaluates the truthfulness of the condition.\n"},"variable":{"type":"string","description":"The [variable](https://docs.microsoft.com/azure/application-gateway/rewrite-http-headers#server-variables) of the condition.\n"}},"type":"object","required":["pattern","variable"]},"azure:network/ApplicationGatewayRewriteRuleSetRewriteRuleRequestHeaderConfiguration:ApplicationGatewayRewriteRuleSetRewriteRuleRequestHeaderConfiguration":{"properties":{"headerName":{"type":"string","description":"Header name of the header configuration.\n"},"headerValue":{"type":"string","description":"Header value of the header configuration. To delete a request header set this property to an empty string.\n"}},"type":"object","required":["headerName","headerValue"]},"azure:network/ApplicationGatewayRewriteRuleSetRewriteRuleResponseHeaderConfiguration:ApplicationGatewayRewriteRuleSetRewriteRuleResponseHeaderConfiguration":{"properties":{"headerName":{"type":"string","description":"Header name of the header configuration.\n"},"headerValue":{"type":"string","description":"Header value of the header configuration. To delete a response header set this property to an empty string.\n"}},"type":"object","required":["headerName","headerValue"]},"azure:network/ApplicationGatewayRewriteRuleSetRewriteRuleUrl:ApplicationGatewayRewriteRuleSetRewriteRuleUrl":{"properties":{"components":{"type":"string","description":"The components used to rewrite the URL. Possible values are \u003cspan pulumi-lang-nodejs=\"`pathOnly`\" pulumi-lang-dotnet=\"`PathOnly`\" pulumi-lang-go=\"`pathOnly`\" pulumi-lang-python=\"`path_only`\" pulumi-lang-yaml=\"`pathOnly`\" pulumi-lang-java=\"`pathOnly`\"\u003e`path_only`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`queryStringOnly`\" pulumi-lang-dotnet=\"`QueryStringOnly`\" pulumi-lang-go=\"`queryStringOnly`\" pulumi-lang-python=\"`query_string_only`\" pulumi-lang-yaml=\"`queryStringOnly`\" pulumi-lang-java=\"`queryStringOnly`\"\u003e`query_string_only`\u003c/span\u003e to limit the rewrite to the URL Path or URL Query String only.\n\n\u003e **Note:** One or both of \u003cspan pulumi-lang-nodejs=\"`path`\" pulumi-lang-dotnet=\"`Path`\" pulumi-lang-go=\"`path`\" pulumi-lang-python=\"`path`\" pulumi-lang-yaml=\"`path`\" pulumi-lang-java=\"`path`\"\u003e`path`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`queryString`\" pulumi-lang-dotnet=\"`QueryString`\" pulumi-lang-go=\"`queryString`\" pulumi-lang-python=\"`query_string`\" pulumi-lang-yaml=\"`queryString`\" pulumi-lang-java=\"`queryString`\"\u003e`query_string`\u003c/span\u003e must be specified. If one of these is not specified, it means the value will be empty. If you only want to rewrite \u003cspan pulumi-lang-nodejs=\"`path`\" pulumi-lang-dotnet=\"`Path`\" pulumi-lang-go=\"`path`\" pulumi-lang-python=\"`path`\" pulumi-lang-yaml=\"`path`\" pulumi-lang-java=\"`path`\"\u003e`path`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`queryString`\" pulumi-lang-dotnet=\"`QueryString`\" pulumi-lang-go=\"`queryString`\" pulumi-lang-python=\"`query_string`\" pulumi-lang-yaml=\"`queryString`\" pulumi-lang-java=\"`queryString`\"\u003e`query_string`\u003c/span\u003e, use \u003cspan pulumi-lang-nodejs=\"`components`\" pulumi-lang-dotnet=\"`Components`\" pulumi-lang-go=\"`components`\" pulumi-lang-python=\"`components`\" pulumi-lang-yaml=\"`components`\" pulumi-lang-java=\"`components`\"\u003e`components`\u003c/span\u003e.\n"},"path":{"type":"string","description":"The URL path to rewrite.\n"},"queryString":{"type":"string","description":"The query string to rewrite.\n"},"reroute":{"type":"boolean","description":"Whether the URL path map should be reevaluated after this rewrite has been applied. [More info on rewrite configuration](https://docs.microsoft.com/azure/application-gateway/rewrite-http-headers-url#rewrite-configuration)\n"}},"type":"object"},"azure:network/ApplicationGatewaySku:ApplicationGatewaySku":{"properties":{"capacity":{"type":"integer","description":"The Capacity of the SKU to use for this Application Gateway. When using a V1 SKU this value must be between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`32`\" pulumi-lang-dotnet=\"`32`\" pulumi-lang-go=\"`32`\" pulumi-lang-python=\"`32`\" pulumi-lang-yaml=\"`32`\" pulumi-lang-java=\"`32`\"\u003e`32`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`125`\" pulumi-lang-dotnet=\"`125`\" pulumi-lang-go=\"`125`\" pulumi-lang-python=\"`125`\" pulumi-lang-yaml=\"`125`\" pulumi-lang-java=\"`125`\"\u003e`125`\u003c/span\u003e for a V2 SKU. When using a `Basic` SKU this property must be between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e. This property is optional if \u003cspan pulumi-lang-nodejs=\"`autoscaleConfiguration`\" pulumi-lang-dotnet=\"`AutoscaleConfiguration`\" pulumi-lang-go=\"`autoscaleConfiguration`\" pulumi-lang-python=\"`autoscale_configuration`\" pulumi-lang-yaml=\"`autoscaleConfiguration`\" pulumi-lang-java=\"`autoscaleConfiguration`\"\u003e`autoscale_configuration`\u003c/span\u003e is set.\n"},"name":{"type":"string","description":"The Name of the SKU to use for this Application Gateway. Possible values are `Basic`, `Standard_Small`, `Standard_Medium`, `Standard_Large`, `Standard_v2`, `WAF_Large`, `WAF_Medium` and `WAF_v2`.\n\n\u003e **Note:** `Standard_Small`, `Standard_Medium`, `Standard_Large`, `WAF_Medium`, and `WAF_Large` values are deprecated. \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e can no longer be created with or updated to these values. Refer to \u003chttps://aka.ms/V1retirement\u003e.\n"},"tier":{"type":"string","description":"The Tier of the SKU to use for this Application Gateway. Possible values are `Basic`, `Standard`, `Standard_v2`, `WAF`, and `WAF_v2`.\n\n\u003e **Note:** `Standard` and `WAF` values are deprecated. \u003cspan pulumi-lang-nodejs=\"`tier`\" pulumi-lang-dotnet=\"`Tier`\" pulumi-lang-go=\"`tier`\" pulumi-lang-python=\"`tier`\" pulumi-lang-yaml=\"`tier`\" pulumi-lang-java=\"`tier`\"\u003e`tier`\u003c/span\u003e can no longer be created with or updated to these values. Refer to \u003chttps://aka.ms/V1retirement\u003e.\n"}},"type":"object","required":["name","tier"]},"azure:network/ApplicationGatewaySslCertificate:ApplicationGatewaySslCertificate":{"properties":{"data":{"type":"string","description":"The base64-encoded PFX certificate data. Required if \u003cspan pulumi-lang-nodejs=\"`keyVaultSecretId`\" pulumi-lang-dotnet=\"`KeyVaultSecretId`\" pulumi-lang-go=\"`keyVaultSecretId`\" pulumi-lang-python=\"`key_vault_secret_id`\" pulumi-lang-yaml=\"`keyVaultSecretId`\" pulumi-lang-java=\"`keyVaultSecretId`\"\u003e`key_vault_secret_id`\u003c/span\u003e is not set.\n\n\u003e **Note:** When specifying a file, use `data = filebase64(\"path/to/file\")` to encode the contents of that file.\n","secret":true},"id":{"type":"string","description":"The ID of the Rewrite Rule Set\n"},"keyVaultSecretId":{"type":"string","description":"The Secret ID of the (base-64 encoded unencrypted pfx) `Secret` or `Certificate` object stored in Azure KeyVault. You need to enable soft delete for Key Vault to use this feature. Required if \u003cspan pulumi-lang-nodejs=\"`data`\" pulumi-lang-dotnet=\"`Data`\" pulumi-lang-go=\"`data`\" pulumi-lang-python=\"`data`\" pulumi-lang-yaml=\"`data`\" pulumi-lang-java=\"`data`\"\u003e`data`\u003c/span\u003e is not set.\n\n\u003e **Note:** To implement certificate rotation, the \u003cspan pulumi-lang-nodejs=\"`azure.keyvault.Secret`\" pulumi-lang-dotnet=\"`azure.keyvault.Secret`\" pulumi-lang-go=\"`keyvault.Secret`\" pulumi-lang-python=\"`keyvault.Secret`\" pulumi-lang-yaml=\"`azure.keyvault.Secret`\" pulumi-lang-java=\"`azure.keyvault.Secret`\"\u003e`azure.keyvault.Secret`\u003c/span\u003e attribute \u003cspan pulumi-lang-nodejs=\"`versionlessId`\" pulumi-lang-dotnet=\"`VersionlessId`\" pulumi-lang-go=\"`versionlessId`\" pulumi-lang-python=\"`versionless_id`\" pulumi-lang-yaml=\"`versionlessId`\" pulumi-lang-java=\"`versionlessId`\"\u003e`versionless_id`\u003c/span\u003e should be used, although \u003cspan pulumi-lang-nodejs=\"`id`\" pulumi-lang-dotnet=\"`Id`\" pulumi-lang-go=\"`id`\" pulumi-lang-python=\"`id`\" pulumi-lang-yaml=\"`id`\" pulumi-lang-java=\"`id`\"\u003e`id`\u003c/span\u003e is also supported.\n\n\u003e **Note:** TLS termination with Key Vault certificates is limited to the [v2 SKUs](https://docs.microsoft.com/azure/application-gateway/key-vault-certs).\n\n\u003e **Note:** For TLS termination with Key Vault certificates to work properly, an existing user-assigned managed identity, which Application Gateway uses to retrieve certificates from Key Vault, should be defined via \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block. Additionally, access policies in the Key Vault to allow the identity to be granted *get* access to the secret should be defined.\n"},"name":{"type":"string","description":"The Name of the SSL certificate that is unique within this Application Gateway\n"},"password":{"type":"string","description":"Password for the pfx file specified in data. Required if \u003cspan pulumi-lang-nodejs=\"`data`\" pulumi-lang-dotnet=\"`Data`\" pulumi-lang-go=\"`data`\" pulumi-lang-python=\"`data`\" pulumi-lang-yaml=\"`data`\" pulumi-lang-java=\"`data`\"\u003e`data`\u003c/span\u003e is set.\n","secret":true},"publicCertData":{"type":"string","description":"The Public Certificate Data associated with the SSL Certificate.\n"}},"type":"object","required":["name"],"language":{"nodejs":{"requiredOutputs":["id","name","publicCertData"]}}},"azure:network/ApplicationGatewaySslPolicy:ApplicationGatewaySslPolicy":{"properties":{"cipherSuites":{"type":"array","items":{"type":"string"}},"disabledProtocols":{"type":"array","items":{"type":"string"},"description":"A list of SSL Protocols which should be disabled on this Application Gateway. Possible values are `TLSv1_0`, `TLSv1_1`, `TLSv1_2` and `TLSv1_3`.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`disabledProtocols`\" pulumi-lang-dotnet=\"`DisabledProtocols`\" pulumi-lang-go=\"`disabledProtocols`\" pulumi-lang-python=\"`disabled_protocols`\" pulumi-lang-yaml=\"`disabledProtocols`\" pulumi-lang-java=\"`disabledProtocols`\"\u003e`disabled_protocols`\u003c/span\u003e cannot be set when \u003cspan pulumi-lang-nodejs=\"`policyName`\" pulumi-lang-dotnet=\"`PolicyName`\" pulumi-lang-go=\"`policyName`\" pulumi-lang-python=\"`policy_name`\" pulumi-lang-yaml=\"`policyName`\" pulumi-lang-java=\"`policyName`\"\u003e`policy_name`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`policyType`\" pulumi-lang-dotnet=\"`PolicyType`\" pulumi-lang-go=\"`policyType`\" pulumi-lang-python=\"`policy_type`\" pulumi-lang-yaml=\"`policyType`\" pulumi-lang-java=\"`policyType`\"\u003e`policy_type`\u003c/span\u003e are set.\n"},"minProtocolVersion":{"type":"string"},"policyName":{"type":"string"},"policyType":{"type":"string","description":"The Type of the Policy. Possible values are `Predefined`, `Custom` and `CustomV2`.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`policyType`\" pulumi-lang-dotnet=\"`PolicyType`\" pulumi-lang-go=\"`policyType`\" pulumi-lang-python=\"`policy_type`\" pulumi-lang-yaml=\"`policyType`\" pulumi-lang-java=\"`policyType`\"\u003e`policy_type`\u003c/span\u003e is Required when \u003cspan pulumi-lang-nodejs=\"`policyName`\" pulumi-lang-dotnet=\"`PolicyName`\" pulumi-lang-go=\"`policyName`\" pulumi-lang-python=\"`policy_name`\" pulumi-lang-yaml=\"`policyName`\" pulumi-lang-java=\"`policyName`\"\u003e`policy_name`\u003c/span\u003e is set - cannot be set if \u003cspan pulumi-lang-nodejs=\"`disabledProtocols`\" pulumi-lang-dotnet=\"`DisabledProtocols`\" pulumi-lang-go=\"`disabledProtocols`\" pulumi-lang-python=\"`disabled_protocols`\" pulumi-lang-yaml=\"`disabledProtocols`\" pulumi-lang-java=\"`disabledProtocols`\"\u003e`disabled_protocols`\u003c/span\u003e is set.\n"}},"type":"object"},"azure:network/ApplicationGatewaySslProfile:ApplicationGatewaySslProfile":{"properties":{"id":{"type":"string","description":"The ID of the Rewrite Rule Set\n"},"name":{"type":"string","description":"The name of the SSL Profile that is unique within this Application Gateway.\n"},"sslPolicy":{"$ref":"#/types/azure:network/ApplicationGatewaySslProfileSslPolicy:ApplicationGatewaySslProfileSslPolicy","description":"a \u003cspan pulumi-lang-nodejs=\"`sslPolicy`\" pulumi-lang-dotnet=\"`SslPolicy`\" pulumi-lang-go=\"`sslPolicy`\" pulumi-lang-python=\"`ssl_policy`\" pulumi-lang-yaml=\"`sslPolicy`\" pulumi-lang-java=\"`sslPolicy`\"\u003e`ssl_policy`\u003c/span\u003e block as defined below.\n"},"trustedClientCertificateNames":{"type":"array","items":{"type":"string"},"description":"The name of the Trusted Client Certificate that will be used to authenticate requests from clients.\n"},"verifyClientCertIssuerDn":{"type":"boolean","description":"Should client certificate issuer DN be verified? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"verifyClientCertificateRevocation":{"type":"string","description":"Specify the method to check client certificate revocation status. Possible value is `OCSP`.\n"}},"type":"object","required":["name"],"language":{"nodejs":{"requiredOutputs":["id","name"]}}},"azure:network/ApplicationGatewaySslProfileSslPolicy:ApplicationGatewaySslProfileSslPolicy":{"properties":{"cipherSuites":{"type":"array","items":{"type":"string"}},"disabledProtocols":{"type":"array","items":{"type":"string"},"description":"A list of SSL Protocols which should be disabled on this Application Gateway. Possible values are `TLSv1_0`, `TLSv1_1`, `TLSv1_2` and `TLSv1_3`.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`disabledProtocols`\" pulumi-lang-dotnet=\"`DisabledProtocols`\" pulumi-lang-go=\"`disabledProtocols`\" pulumi-lang-python=\"`disabled_protocols`\" pulumi-lang-yaml=\"`disabledProtocols`\" pulumi-lang-java=\"`disabledProtocols`\"\u003e`disabled_protocols`\u003c/span\u003e cannot be set when \u003cspan pulumi-lang-nodejs=\"`policyName`\" pulumi-lang-dotnet=\"`PolicyName`\" pulumi-lang-go=\"`policyName`\" pulumi-lang-python=\"`policy_name`\" pulumi-lang-yaml=\"`policyName`\" pulumi-lang-java=\"`policyName`\"\u003e`policy_name`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`policyType`\" pulumi-lang-dotnet=\"`PolicyType`\" pulumi-lang-go=\"`policyType`\" pulumi-lang-python=\"`policy_type`\" pulumi-lang-yaml=\"`policyType`\" pulumi-lang-java=\"`policyType`\"\u003e`policy_type`\u003c/span\u003e are set.\n"},"minProtocolVersion":{"type":"string"},"policyName":{"type":"string"},"policyType":{"type":"string","description":"The Type of the Policy. Possible values are `Predefined`, `Custom` and `CustomV2`.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`policyType`\" pulumi-lang-dotnet=\"`PolicyType`\" pulumi-lang-go=\"`policyType`\" pulumi-lang-python=\"`policy_type`\" pulumi-lang-yaml=\"`policyType`\" pulumi-lang-java=\"`policyType`\"\u003e`policy_type`\u003c/span\u003e is Required when \u003cspan pulumi-lang-nodejs=\"`policyName`\" pulumi-lang-dotnet=\"`PolicyName`\" pulumi-lang-go=\"`policyName`\" pulumi-lang-python=\"`policy_name`\" pulumi-lang-yaml=\"`policyName`\" pulumi-lang-java=\"`policyName`\"\u003e`policy_name`\u003c/span\u003e is set - cannot be set if \u003cspan pulumi-lang-nodejs=\"`disabledProtocols`\" pulumi-lang-dotnet=\"`DisabledProtocols`\" pulumi-lang-go=\"`disabledProtocols`\" pulumi-lang-python=\"`disabled_protocols`\" pulumi-lang-yaml=\"`disabledProtocols`\" pulumi-lang-java=\"`disabledProtocols`\"\u003e`disabled_protocols`\u003c/span\u003e is set.\n"}},"type":"object"},"azure:network/ApplicationGatewayTrustedClientCertificate:ApplicationGatewayTrustedClientCertificate":{"properties":{"data":{"type":"string","description":"The base-64 encoded certificate.\n","secret":true},"id":{"type":"string","description":"The ID of the Rewrite Rule Set\n"},"name":{"type":"string","description":"The name of the Trusted Client Certificate that is unique within this Application Gateway.\n"}},"type":"object","required":["data","name"],"language":{"nodejs":{"requiredOutputs":["data","id","name"]}}},"azure:network/ApplicationGatewayTrustedRootCertificate:ApplicationGatewayTrustedRootCertificate":{"properties":{"data":{"type":"string","description":"The contents of the Trusted Root Certificate which should be used. Required if \u003cspan pulumi-lang-nodejs=\"`keyVaultSecretId`\" pulumi-lang-dotnet=\"`KeyVaultSecretId`\" pulumi-lang-go=\"`keyVaultSecretId`\" pulumi-lang-python=\"`key_vault_secret_id`\" pulumi-lang-yaml=\"`keyVaultSecretId`\" pulumi-lang-java=\"`keyVaultSecretId`\"\u003e`key_vault_secret_id`\u003c/span\u003e is not set.\n","secret":true},"id":{"type":"string","description":"The ID of the Rewrite Rule Set\n"},"keyVaultSecretId":{"type":"string","description":"The Secret ID of the (base-64 encoded unencrypted pfx) `Secret` or `Certificate` object stored in Azure KeyVault. You need to enable soft delete for the Key Vault to use this feature. Required if \u003cspan pulumi-lang-nodejs=\"`data`\" pulumi-lang-dotnet=\"`Data`\" pulumi-lang-go=\"`data`\" pulumi-lang-python=\"`data`\" pulumi-lang-yaml=\"`data`\" pulumi-lang-java=\"`data`\"\u003e`data`\u003c/span\u003e is not set.\n\n\u003e **Note:** To implement certificate rotation, \u003cspan pulumi-lang-nodejs=\"`versionlessSecretId`\" pulumi-lang-dotnet=\"`VersionlessSecretId`\" pulumi-lang-go=\"`versionlessSecretId`\" pulumi-lang-python=\"`versionless_secret_id`\" pulumi-lang-yaml=\"`versionlessSecretId`\" pulumi-lang-java=\"`versionlessSecretId`\"\u003e`versionless_secret_id`\u003c/span\u003e should be used, although \u003cspan pulumi-lang-nodejs=\"`secretId`\" pulumi-lang-dotnet=\"`SecretId`\" pulumi-lang-go=\"`secretId`\" pulumi-lang-python=\"`secret_id`\" pulumi-lang-yaml=\"`secretId`\" pulumi-lang-java=\"`secretId`\"\u003e`secret_id`\u003c/span\u003e is also supported.\n\n\u003e **Note:** TLS termination with Key Vault certificates is limited to the [v2 SKUs](https://docs.microsoft.com/azure/application-gateway/key-vault-certs).\n\n\u003e **Note:** For TLS termination with Key Vault certificates to work properly, an existing user-assigned managed identity, which Application Gateway uses to retrieve certificates from Key Vault, should be defined via \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block. Additionally, access policies in the Key Vault to allow the identity to be granted *get* access to the secret should be defined.\n"},"name":{"type":"string","description":"The Name of the Trusted Root Certificate to use.\n"}},"type":"object","required":["name"],"language":{"nodejs":{"requiredOutputs":["id","name"]}}},"azure:network/ApplicationGatewayUrlPathMap:ApplicationGatewayUrlPathMap":{"properties":{"defaultBackendAddressPoolId":{"type":"string","description":"The ID of the Default Backend Address Pool.\n"},"defaultBackendAddressPoolName":{"type":"string","description":"The Name of the Default Backend Address Pool which should be used for this URL Path Map. Cannot be set if \u003cspan pulumi-lang-nodejs=\"`defaultRedirectConfigurationName`\" pulumi-lang-dotnet=\"`DefaultRedirectConfigurationName`\" pulumi-lang-go=\"`defaultRedirectConfigurationName`\" pulumi-lang-python=\"`default_redirect_configuration_name`\" pulumi-lang-yaml=\"`defaultRedirectConfigurationName`\" pulumi-lang-java=\"`defaultRedirectConfigurationName`\"\u003e`default_redirect_configuration_name`\u003c/span\u003e is set.\n"},"defaultBackendHttpSettingsId":{"type":"string","description":"The ID of the Default Backend HTTP Settings Collection.\n"},"defaultBackendHttpSettingsName":{"type":"string","description":"The Name of the Default Backend HTTP Settings Collection which should be used for this URL Path Map. Cannot be set if \u003cspan pulumi-lang-nodejs=\"`defaultRedirectConfigurationName`\" pulumi-lang-dotnet=\"`DefaultRedirectConfigurationName`\" pulumi-lang-go=\"`defaultRedirectConfigurationName`\" pulumi-lang-python=\"`default_redirect_configuration_name`\" pulumi-lang-yaml=\"`defaultRedirectConfigurationName`\" pulumi-lang-java=\"`defaultRedirectConfigurationName`\"\u003e`default_redirect_configuration_name`\u003c/span\u003e is set.\n"},"defaultRedirectConfigurationId":{"type":"string","description":"The ID of the Default Redirect Configuration.\n"},"defaultRedirectConfigurationName":{"type":"string","description":"The Name of the Default Redirect Configuration which should be used for this URL Path Map. Cannot be set if either \u003cspan pulumi-lang-nodejs=\"`defaultBackendAddressPoolName`\" pulumi-lang-dotnet=\"`DefaultBackendAddressPoolName`\" pulumi-lang-go=\"`defaultBackendAddressPoolName`\" pulumi-lang-python=\"`default_backend_address_pool_name`\" pulumi-lang-yaml=\"`defaultBackendAddressPoolName`\" pulumi-lang-java=\"`defaultBackendAddressPoolName`\"\u003e`default_backend_address_pool_name`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`defaultBackendHttpSettingsName`\" pulumi-lang-dotnet=\"`DefaultBackendHttpSettingsName`\" pulumi-lang-go=\"`defaultBackendHttpSettingsName`\" pulumi-lang-python=\"`default_backend_http_settings_name`\" pulumi-lang-yaml=\"`defaultBackendHttpSettingsName`\" pulumi-lang-java=\"`defaultBackendHttpSettingsName`\"\u003e`default_backend_http_settings_name`\u003c/span\u003e is set.\n\n\u003e **Note:** Both \u003cspan pulumi-lang-nodejs=\"`defaultBackendAddressPoolName`\" pulumi-lang-dotnet=\"`DefaultBackendAddressPoolName`\" pulumi-lang-go=\"`defaultBackendAddressPoolName`\" pulumi-lang-python=\"`default_backend_address_pool_name`\" pulumi-lang-yaml=\"`defaultBackendAddressPoolName`\" pulumi-lang-java=\"`defaultBackendAddressPoolName`\"\u003e`default_backend_address_pool_name`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`defaultBackendHttpSettingsName`\" pulumi-lang-dotnet=\"`DefaultBackendHttpSettingsName`\" pulumi-lang-go=\"`defaultBackendHttpSettingsName`\" pulumi-lang-python=\"`default_backend_http_settings_name`\" pulumi-lang-yaml=\"`defaultBackendHttpSettingsName`\" pulumi-lang-java=\"`defaultBackendHttpSettingsName`\"\u003e`default_backend_http_settings_name`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`defaultRedirectConfigurationName`\" pulumi-lang-dotnet=\"`DefaultRedirectConfigurationName`\" pulumi-lang-go=\"`defaultRedirectConfigurationName`\" pulumi-lang-python=\"`default_redirect_configuration_name`\" pulumi-lang-yaml=\"`defaultRedirectConfigurationName`\" pulumi-lang-java=\"`defaultRedirectConfigurationName`\"\u003e`default_redirect_configuration_name`\u003c/span\u003e should be specified.\n"},"defaultRewriteRuleSetId":{"type":"string"},"defaultRewriteRuleSetName":{"type":"string","description":"The Name of the Default Rewrite Rule Set which should be used for this URL Path Map. Only valid for v2 SKUs.\n"},"id":{"type":"string","description":"The ID of the Rewrite Rule Set\n"},"name":{"type":"string","description":"The Name of the URL Path Map.\n"},"pathRules":{"type":"array","items":{"$ref":"#/types/azure:network/ApplicationGatewayUrlPathMapPathRule:ApplicationGatewayUrlPathMapPathRule"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`pathRule`\" pulumi-lang-dotnet=\"`PathRule`\" pulumi-lang-go=\"`pathRule`\" pulumi-lang-python=\"`path_rule`\" pulumi-lang-yaml=\"`pathRule`\" pulumi-lang-java=\"`pathRule`\"\u003e`path_rule`\u003c/span\u003e blocks as defined above.\n"}},"type":"object","required":["name","pathRules"],"language":{"nodejs":{"requiredOutputs":["defaultBackendAddressPoolId","defaultBackendHttpSettingsId","defaultRedirectConfigurationId","defaultRewriteRuleSetId","id","name","pathRules"]}}},"azure:network/ApplicationGatewayUrlPathMapPathRule:ApplicationGatewayUrlPathMapPathRule":{"properties":{"backendAddressPoolId":{"type":"string","description":"The ID of the associated Backend Address Pool.\n"},"backendAddressPoolName":{"type":"string","description":"The Name of the Backend Address Pool to use for this Path Rule. Cannot be set if \u003cspan pulumi-lang-nodejs=\"`redirectConfigurationName`\" pulumi-lang-dotnet=\"`RedirectConfigurationName`\" pulumi-lang-go=\"`redirectConfigurationName`\" pulumi-lang-python=\"`redirect_configuration_name`\" pulumi-lang-yaml=\"`redirectConfigurationName`\" pulumi-lang-java=\"`redirectConfigurationName`\"\u003e`redirect_configuration_name`\u003c/span\u003e is set.\n"},"backendHttpSettingsId":{"type":"string","description":"The ID of the associated Backend HTTP Settings Configuration.\n"},"backendHttpSettingsName":{"type":"string","description":"The Name of the Backend HTTP Settings Collection to use for this Path Rule. Cannot be set if \u003cspan pulumi-lang-nodejs=\"`redirectConfigurationName`\" pulumi-lang-dotnet=\"`RedirectConfigurationName`\" pulumi-lang-go=\"`redirectConfigurationName`\" pulumi-lang-python=\"`redirect_configuration_name`\" pulumi-lang-yaml=\"`redirectConfigurationName`\" pulumi-lang-java=\"`redirectConfigurationName`\"\u003e`redirect_configuration_name`\u003c/span\u003e is set.\n"},"firewallPolicyId":{"type":"string","description":"The ID of the Web Application Firewall Policy which should be used as an HTTP Listener.\n"},"id":{"type":"string","description":"The ID of the Rewrite Rule Set\n"},"name":{"type":"string","description":"The Name of the Path Rule.\n"},"paths":{"type":"array","items":{"type":"string"},"description":"A list of Paths used in this Path Rule.\n"},"redirectConfigurationId":{"type":"string","description":"The ID of the associated Redirect Configuration.\n"},"redirectConfigurationName":{"type":"string","description":"The Name of a Redirect Configuration to use for this Path Rule. Cannot be set if \u003cspan pulumi-lang-nodejs=\"`backendAddressPoolName`\" pulumi-lang-dotnet=\"`BackendAddressPoolName`\" pulumi-lang-go=\"`backendAddressPoolName`\" pulumi-lang-python=\"`backend_address_pool_name`\" pulumi-lang-yaml=\"`backendAddressPoolName`\" pulumi-lang-java=\"`backendAddressPoolName`\"\u003e`backend_address_pool_name`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`backendHttpSettingsName`\" pulumi-lang-dotnet=\"`BackendHttpSettingsName`\" pulumi-lang-go=\"`backendHttpSettingsName`\" pulumi-lang-python=\"`backend_http_settings_name`\" pulumi-lang-yaml=\"`backendHttpSettingsName`\" pulumi-lang-java=\"`backendHttpSettingsName`\"\u003e`backend_http_settings_name`\u003c/span\u003e is set.\n"},"rewriteRuleSetId":{"type":"string","description":"The ID of the associated Rewrite Rule Set.\n"},"rewriteRuleSetName":{"type":"string","description":"The Name of the Rewrite Rule Set which should be used for this URL Path Map. Only valid for v2 SKUs.\n"}},"type":"object","required":["name","paths"],"language":{"nodejs":{"requiredOutputs":["backendAddressPoolId","backendHttpSettingsId","id","name","paths","redirectConfigurationId","rewriteRuleSetId"]}}},"azure:network/ApplicationGatewayWafConfiguration:ApplicationGatewayWafConfiguration":{"properties":{"disabledRuleGroups":{"type":"array","items":{"$ref":"#/types/azure:network/ApplicationGatewayWafConfigurationDisabledRuleGroup:ApplicationGatewayWafConfigurationDisabledRuleGroup"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`disabledRuleGroup`\" pulumi-lang-dotnet=\"`DisabledRuleGroup`\" pulumi-lang-go=\"`disabledRuleGroup`\" pulumi-lang-python=\"`disabled_rule_group`\" pulumi-lang-yaml=\"`disabledRuleGroup`\" pulumi-lang-java=\"`disabledRuleGroup`\"\u003e`disabled_rule_group`\u003c/span\u003e blocks as defined below.\n"},"enabled":{"type":"boolean","description":"Is the Web Application Firewall enabled?\n"},"exclusions":{"type":"array","items":{"$ref":"#/types/azure:network/ApplicationGatewayWafConfigurationExclusion:ApplicationGatewayWafConfigurationExclusion"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`exclusion`\" pulumi-lang-dotnet=\"`Exclusion`\" pulumi-lang-go=\"`exclusion`\" pulumi-lang-python=\"`exclusion`\" pulumi-lang-yaml=\"`exclusion`\" pulumi-lang-java=\"`exclusion`\"\u003e`exclusion`\u003c/span\u003e blocks as defined below.\n"},"fileUploadLimitMb":{"type":"integer","description":"The File Upload Limit in MB. Accepted values are in the range \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003eMB to \u003cspan pulumi-lang-nodejs=\"`750`\" pulumi-lang-dotnet=\"`750`\" pulumi-lang-go=\"`750`\" pulumi-lang-python=\"`750`\" pulumi-lang-yaml=\"`750`\" pulumi-lang-java=\"`750`\"\u003e`750`\u003c/span\u003eMB for the `WAF_v2` SKU, and \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003eMB to \u003cspan pulumi-lang-nodejs=\"`500`\" pulumi-lang-dotnet=\"`500`\" pulumi-lang-go=\"`500`\" pulumi-lang-python=\"`500`\" pulumi-lang-yaml=\"`500`\" pulumi-lang-java=\"`500`\"\u003e`500`\u003c/span\u003eMB for all other SKUs. Defaults to \u003cspan pulumi-lang-nodejs=\"`100`\" pulumi-lang-dotnet=\"`100`\" pulumi-lang-go=\"`100`\" pulumi-lang-python=\"`100`\" pulumi-lang-yaml=\"`100`\" pulumi-lang-java=\"`100`\"\u003e`100`\u003c/span\u003eMB.\n"},"firewallMode":{"type":"string","description":"The Web Application Firewall Mode. Possible values are `Detection` and `Prevention`.\n"},"maxRequestBodySizeKb":{"type":"integer","description":"The Maximum Request Body Size in KB. Accepted values are in the range \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003eKB to \u003cspan pulumi-lang-nodejs=\"`128`\" pulumi-lang-dotnet=\"`128`\" pulumi-lang-go=\"`128`\" pulumi-lang-python=\"`128`\" pulumi-lang-yaml=\"`128`\" pulumi-lang-java=\"`128`\"\u003e`128`\u003c/span\u003eKB. Defaults to \u003cspan pulumi-lang-nodejs=\"`128`\" pulumi-lang-dotnet=\"`128`\" pulumi-lang-go=\"`128`\" pulumi-lang-python=\"`128`\" pulumi-lang-yaml=\"`128`\" pulumi-lang-java=\"`128`\"\u003e`128`\u003c/span\u003eKB.\n"},"requestBodyCheck":{"type":"boolean","description":"Is Request Body Inspection enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"ruleSetType":{"type":"string","description":"The Type of the Rule Set used for this Web Application Firewall. Possible values are `OWASP`, `Microsoft_BotManagerRuleSet` and `Microsoft_DefaultRuleSet`. Defaults to `OWASP`.\n"},"ruleSetVersion":{"type":"string","description":"The Version of the Rule Set used for this Web Application Firewall. Possible values are `0.1`, `1.0`, `1.1`, `2.1`, `2.2`, `2.2.9`, `3.0`, `3.1` and `3.2`.\n"}},"type":"object","required":["enabled","firewallMode","ruleSetVersion"]},"azure:network/ApplicationGatewayWafConfigurationDisabledRuleGroup:ApplicationGatewayWafConfigurationDisabledRuleGroup":{"properties":{"ruleGroupName":{"type":"string","description":"The rule group where specific rules should be disabled. Possible values are `BadBots`, \u003cspan pulumi-lang-nodejs=\"`crs20ProtocolViolations`\" pulumi-lang-dotnet=\"`Crs20ProtocolViolations`\" pulumi-lang-go=\"`crs20ProtocolViolations`\" pulumi-lang-python=\"`crs_20_protocol_violations`\" pulumi-lang-yaml=\"`crs20ProtocolViolations`\" pulumi-lang-java=\"`crs20ProtocolViolations`\"\u003e`crs_20_protocol_violations`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`crs21ProtocolAnomalies`\" pulumi-lang-dotnet=\"`Crs21ProtocolAnomalies`\" pulumi-lang-go=\"`crs21ProtocolAnomalies`\" pulumi-lang-python=\"`crs_21_protocol_anomalies`\" pulumi-lang-yaml=\"`crs21ProtocolAnomalies`\" pulumi-lang-java=\"`crs21ProtocolAnomalies`\"\u003e`crs_21_protocol_anomalies`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`crs23RequestLimits`\" pulumi-lang-dotnet=\"`Crs23RequestLimits`\" pulumi-lang-go=\"`crs23RequestLimits`\" pulumi-lang-python=\"`crs_23_request_limits`\" pulumi-lang-yaml=\"`crs23RequestLimits`\" pulumi-lang-java=\"`crs23RequestLimits`\"\u003e`crs_23_request_limits`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`crs30HttpPolicy`\" pulumi-lang-dotnet=\"`Crs30HttpPolicy`\" pulumi-lang-go=\"`crs30HttpPolicy`\" pulumi-lang-python=\"`crs_30_http_policy`\" pulumi-lang-yaml=\"`crs30HttpPolicy`\" pulumi-lang-java=\"`crs30HttpPolicy`\"\u003e`crs_30_http_policy`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`crs35BadRobots`\" pulumi-lang-dotnet=\"`Crs35BadRobots`\" pulumi-lang-go=\"`crs35BadRobots`\" pulumi-lang-python=\"`crs_35_bad_robots`\" pulumi-lang-yaml=\"`crs35BadRobots`\" pulumi-lang-java=\"`crs35BadRobots`\"\u003e`crs_35_bad_robots`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`crs40GenericAttacks`\" pulumi-lang-dotnet=\"`Crs40GenericAttacks`\" pulumi-lang-go=\"`crs40GenericAttacks`\" pulumi-lang-python=\"`crs_40_generic_attacks`\" pulumi-lang-yaml=\"`crs40GenericAttacks`\" pulumi-lang-java=\"`crs40GenericAttacks`\"\u003e`crs_40_generic_attacks`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`crs41SqlInjectionAttacks`\" pulumi-lang-dotnet=\"`Crs41SqlInjectionAttacks`\" pulumi-lang-go=\"`crs41SqlInjectionAttacks`\" pulumi-lang-python=\"`crs_41_sql_injection_attacks`\" pulumi-lang-yaml=\"`crs41SqlInjectionAttacks`\" pulumi-lang-java=\"`crs41SqlInjectionAttacks`\"\u003e`crs_41_sql_injection_attacks`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`crs41XssAttacks`\" pulumi-lang-dotnet=\"`Crs41XssAttacks`\" pulumi-lang-go=\"`crs41XssAttacks`\" pulumi-lang-python=\"`crs_41_xss_attacks`\" pulumi-lang-yaml=\"`crs41XssAttacks`\" pulumi-lang-java=\"`crs41XssAttacks`\"\u003e`crs_41_xss_attacks`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`crs42TightSecurity`\" pulumi-lang-dotnet=\"`Crs42TightSecurity`\" pulumi-lang-go=\"`crs42TightSecurity`\" pulumi-lang-python=\"`crs_42_tight_security`\" pulumi-lang-yaml=\"`crs42TightSecurity`\" pulumi-lang-java=\"`crs42TightSecurity`\"\u003e`crs_42_tight_security`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`crs45Trojans`\" pulumi-lang-dotnet=\"`Crs45Trojans`\" pulumi-lang-go=\"`crs45Trojans`\" pulumi-lang-python=\"`crs_45_trojans`\" pulumi-lang-yaml=\"`crs45Trojans`\" pulumi-lang-java=\"`crs45Trojans`\"\u003e`crs_45_trojans`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`crs49InboundBlocking`\" pulumi-lang-dotnet=\"`Crs49InboundBlocking`\" pulumi-lang-go=\"`crs49InboundBlocking`\" pulumi-lang-python=\"`crs_49_inbound_blocking`\" pulumi-lang-yaml=\"`crs49InboundBlocking`\" pulumi-lang-java=\"`crs49InboundBlocking`\"\u003e`crs_49_inbound_blocking`\u003c/span\u003e, `General`, `GoodBots`, `KnownBadBots`, `Known-CVEs`, `REQUEST-911-METHOD-ENFORCEMENT`, `REQUEST-913-SCANNER-DETECTION`, `REQUEST-920-PROTOCOL-ENFORCEMENT`, `REQUEST-921-PROTOCOL-ATTACK`, `REQUEST-930-APPLICATION-ATTACK-LFI`, `REQUEST-931-APPLICATION-ATTACK-RFI`, `REQUEST-932-APPLICATION-ATTACK-RCE`, `REQUEST-933-APPLICATION-ATTACK-PHP`, `REQUEST-941-APPLICATION-ATTACK-XSS`, `REQUEST-942-APPLICATION-ATTACK-SQLI`, `REQUEST-943-APPLICATION-ATTACK-SESSION-FIXATION`, `REQUEST-944-APPLICATION-ATTACK-JAVA`, `UnknownBots`, `METHOD-ENFORCEMENT`, `PROTOCOL-ENFORCEMENT`, `PROTOCOL-ATTACK`, `LFI`, `RFI`, `RCE`, `PHP`, `NODEJS`, `XSS`, `SQLI`, `FIX`, `JAVA`, `MS-ThreatIntel-WebShells`, `MS-ThreatIntel-AppSec`, `MS-ThreatIntel-SQLI`, `MS-ThreatIntel-CVEs` and `MS-ThreatIntel-XSS`.\n"},"rules":{"type":"array","items":{"type":"integer"},"description":"A list of rules which should be disabled in that group. Disables all rules in the specified group if \u003cspan pulumi-lang-nodejs=\"`rules`\" pulumi-lang-dotnet=\"`Rules`\" pulumi-lang-go=\"`rules`\" pulumi-lang-python=\"`rules`\" pulumi-lang-yaml=\"`rules`\" pulumi-lang-java=\"`rules`\"\u003e`rules`\u003c/span\u003e is not specified.\n"}},"type":"object","required":["ruleGroupName"]},"azure:network/ApplicationGatewayWafConfigurationExclusion:ApplicationGatewayWafConfigurationExclusion":{"properties":{"matchVariable":{"type":"string","description":"Match variable of the exclusion rule to exclude header, cookie or GET arguments. Possible values are `RequestArgKeys`, `RequestArgNames`, `RequestArgValues`, `RequestCookieKeys`, `RequestCookieNames`, `RequestCookieValues`, `RequestHeaderKeys`, `RequestHeaderNames` and `RequestHeaderValues`\n"},"selector":{"type":"string","description":"String value which will be used for the filter operation. If empty will exclude all traffic on this \u003cspan pulumi-lang-nodejs=\"`matchVariable`\" pulumi-lang-dotnet=\"`MatchVariable`\" pulumi-lang-go=\"`matchVariable`\" pulumi-lang-python=\"`match_variable`\" pulumi-lang-yaml=\"`matchVariable`\" pulumi-lang-java=\"`matchVariable`\"\u003e`match_variable`\u003c/span\u003e\n"},"selectorMatchOperator":{"type":"string","description":"Operator which will be used to search in the variable content. Possible values are `Contains`, `EndsWith`, `Equals`, `EqualsAny` and `StartsWith`. If empty will exclude all traffic on this \u003cspan pulumi-lang-nodejs=\"`matchVariable`\" pulumi-lang-dotnet=\"`MatchVariable`\" pulumi-lang-go=\"`matchVariable`\" pulumi-lang-python=\"`match_variable`\" pulumi-lang-yaml=\"`matchVariable`\" pulumi-lang-java=\"`matchVariable`\"\u003e`match_variable`\u003c/span\u003e\n"}},"type":"object","required":["matchVariable"]},"azure:network/ExpressRouteCircuitPeeringIpv6:ExpressRouteCircuitPeeringIpv6":{"properties":{"enabled":{"type":"boolean","description":"A boolean value indicating whether the IPv6 peering is enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"microsoftPeering":{"$ref":"#/types/azure:network/ExpressRouteCircuitPeeringIpv6MicrosoftPeering:ExpressRouteCircuitPeeringIpv6MicrosoftPeering","description":"A \u003cspan pulumi-lang-nodejs=\"`microsoftPeering`\" pulumi-lang-dotnet=\"`MicrosoftPeering`\" pulumi-lang-go=\"`microsoftPeering`\" pulumi-lang-python=\"`microsoft_peering`\" pulumi-lang-yaml=\"`microsoftPeering`\" pulumi-lang-java=\"`microsoftPeering`\"\u003e`microsoft_peering`\u003c/span\u003e block as defined below.\n"},"primaryPeerAddressPrefix":{"type":"string","description":"A subnet for the primary link.\n"},"routeFilterId":{"type":"string","description":"The ID of the Route Filter. Only available when \u003cspan pulumi-lang-nodejs=\"`peeringType`\" pulumi-lang-dotnet=\"`PeeringType`\" pulumi-lang-go=\"`peeringType`\" pulumi-lang-python=\"`peering_type`\" pulumi-lang-yaml=\"`peeringType`\" pulumi-lang-java=\"`peeringType`\"\u003e`peering_type`\u003c/span\u003e is set to `MicrosoftPeering`.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`ipv6`\" pulumi-lang-dotnet=\"`Ipv6`\" pulumi-lang-go=\"`ipv6`\" pulumi-lang-python=\"`ipv6`\" pulumi-lang-yaml=\"`ipv6`\" pulumi-lang-java=\"`ipv6`\"\u003e`ipv6`\u003c/span\u003e can be specified when \u003cspan pulumi-lang-nodejs=\"`peeringType`\" pulumi-lang-dotnet=\"`PeeringType`\" pulumi-lang-go=\"`peeringType`\" pulumi-lang-python=\"`peering_type`\" pulumi-lang-yaml=\"`peeringType`\" pulumi-lang-java=\"`peeringType`\"\u003e`peering_type`\u003c/span\u003e is `MicrosoftPeering` or `AzurePrivatePeering`\n"},"secondaryPeerAddressPrefix":{"type":"string","description":"A subnet for the secondary link.\n"}},"type":"object","required":["primaryPeerAddressPrefix","secondaryPeerAddressPrefix"]},"azure:network/ExpressRouteCircuitPeeringIpv6MicrosoftPeering:ExpressRouteCircuitPeeringIpv6MicrosoftPeering":{"properties":{"advertisedCommunities":{"type":"array","items":{"type":"string"},"description":"The communities of Bgp Peering specified for microsoft peering.\n"},"advertisedPublicPrefixes":{"type":"array","items":{"type":"string"},"description":"A list of Advertised Public Prefixes.\n"},"customerAsn":{"type":"integer","description":"The CustomerASN of the peering. Defaults to \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"routingRegistryName":{"type":"string","description":"The Routing Registry against which the AS number and prefixes are registered. For example: `ARIN`, `RIPE`, `AFRINIC` etc. Defaults to `NONE`.\n"}},"type":"object"},"azure:network/ExpressRouteCircuitPeeringMicrosoftPeeringConfig:ExpressRouteCircuitPeeringMicrosoftPeeringConfig":{"properties":{"advertisedCommunities":{"type":"array","items":{"type":"string"},"description":"The communities of Bgp Peering specified for microsoft peering.\n"},"advertisedPublicPrefixes":{"type":"array","items":{"type":"string"},"description":"A list of Advertised Public Prefixes.\n"},"customerAsn":{"type":"integer","description":"The CustomerASN of the peering. Defaults to \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"routingRegistryName":{"type":"string","description":"The Routing Registry against which the AS number and prefixes are registered. For example: `ARIN`, `RIPE`, `AFRINIC` etc. Defaults to `NONE`.\n"}},"type":"object","required":["advertisedPublicPrefixes"]},"azure:network/ExpressRouteCircuitSku:ExpressRouteCircuitSku":{"properties":{"family":{"type":"string","description":"The billing mode for bandwidth. Possible values are `MeteredData` or `UnlimitedData`.\n\n\u003e **Note:** You can migrate from `MeteredData` to `UnlimitedData`, but not the other way around.\n"},"tier":{"type":"string","description":"The service tier. Possible values are `Basic`, `Local`, `Standard` or `Premium`.\n"}},"type":"object","required":["family","tier"]},"azure:network/ExpressRouteConnectionRouting:ExpressRouteConnectionRouting":{"properties":{"associatedRouteTableId":{"type":"string","description":"The ID of the Virtual Hub Route Table associated with this Express Route Connection.\n"},"inboundRouteMapId":{"type":"string","description":"The ID of the Route Map associated with this Express Route Connection for inbound routes.\n"},"outboundRouteMapId":{"type":"string","description":"The ID of the Route Map associated with this Express Route Connection for outbound routes.\n"},"propagatedRouteTable":{"$ref":"#/types/azure:network/ExpressRouteConnectionRoutingPropagatedRouteTable:ExpressRouteConnectionRoutingPropagatedRouteTable","description":"A \u003cspan pulumi-lang-nodejs=\"`propagatedRouteTable`\" pulumi-lang-dotnet=\"`PropagatedRouteTable`\" pulumi-lang-go=\"`propagatedRouteTable`\" pulumi-lang-python=\"`propagated_route_table`\" pulumi-lang-yaml=\"`propagatedRouteTable`\" pulumi-lang-java=\"`propagatedRouteTable`\"\u003e`propagated_route_table`\u003c/span\u003e block as defined below.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["associatedRouteTableId","propagatedRouteTable"]}}},"azure:network/ExpressRouteConnectionRoutingPropagatedRouteTable:ExpressRouteConnectionRoutingPropagatedRouteTable":{"properties":{"labels":{"type":"array","items":{"type":"string"},"description":"The list of labels to logically group route tables.\n"},"routeTableIds":{"type":"array","items":{"type":"string"},"description":"A list of IDs of the Virtual Hub Route Table to propagate routes from Express Route Connection to the route table.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["labels","routeTableIds"]}}},"azure:network/ExpressRoutePortIdentity:ExpressRoutePortIdentity":{"properties":{"identityIds":{"type":"array","items":{"type":"string"},"description":"Specifies a list of User Assigned Managed Identity IDs to be assigned to this Express Route Port.\n"},"principalId":{"type":"string"},"tenantId":{"type":"string"},"type":{"type":"string","description":"Specifies the type of Managed Service Identity that should be configured on this Express Route Port. Only possible value is `UserAssigned`.\n"}},"type":"object","required":["type"],"language":{"nodejs":{"requiredOutputs":["principalId","tenantId","type"]}}},"azure:network/ExpressRoutePortLink1:ExpressRoutePortLink1":{"properties":{"adminEnabled":{"type":"boolean","description":"Whether enable administration state on the Express Route Port Link? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"connectorType":{"type":"string","description":"The connector type of the Express Route Port Link.\n"},"id":{"type":"string","description":"The ID of this Express Route Port Link.\n"},"interfaceName":{"type":"string","description":"The interface name of the Azure router associated with the Express Route Port Link.\n"},"macsecCakKeyvaultSecretId":{"type":"string","description":"The ID of the Key Vault Secret that contains the Mac security CAK key for this Express Route Port Link.\n"},"macsecCipher":{"type":"string","description":"The MACSec cipher used for this Express Route Port Link. Possible values are `GcmAes128`, `GcmAes256`, `GcmAesXpn128` and `GcmAesXpn256`. Defaults to `GcmAes128`.\n"},"macsecCknKeyvaultSecretId":{"type":"string","description":"The ID of the Key Vault Secret that contains the MACSec CKN key for this Express Route Port Link.\n"},"macsecSciEnabled":{"type":"boolean","description":"Should Secure Channel Identifier on the Express Route Port Link be enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`macsecCknKeyvaultSecretId`\" pulumi-lang-dotnet=\"`MacsecCknKeyvaultSecretId`\" pulumi-lang-go=\"`macsecCknKeyvaultSecretId`\" pulumi-lang-python=\"`macsec_ckn_keyvault_secret_id`\" pulumi-lang-yaml=\"`macsecCknKeyvaultSecretId`\" pulumi-lang-java=\"`macsecCknKeyvaultSecretId`\"\u003e`macsec_ckn_keyvault_secret_id`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`macsecCakKeyvaultSecretId`\" pulumi-lang-dotnet=\"`MacsecCakKeyvaultSecretId`\" pulumi-lang-go=\"`macsecCakKeyvaultSecretId`\" pulumi-lang-python=\"`macsec_cak_keyvault_secret_id`\" pulumi-lang-yaml=\"`macsecCakKeyvaultSecretId`\" pulumi-lang-java=\"`macsecCakKeyvaultSecretId`\"\u003e`macsec_cak_keyvault_secret_id`\u003c/span\u003e should be used together with \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e, so that the Express Route Port instance have the right permission to access the Key Vault.\n"},"patchPanelId":{"type":"string","description":"The ID that maps from the Express Route Port Link to the patch panel port.\n"},"rackId":{"type":"string","description":"The ID that maps from the patch panel port to the rack.\n"},"routerName":{"type":"string","description":"The name of the Azure router associated with the Express Route Port Link.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["connectorType","id","interfaceName","patchPanelId","rackId","routerName"]}}},"azure:network/ExpressRoutePortLink2:ExpressRoutePortLink2":{"properties":{"adminEnabled":{"type":"boolean","description":"Whether enable administration state on the Express Route Port Link? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"connectorType":{"type":"string","description":"The connector type of the Express Route Port Link.\n"},"id":{"type":"string","description":"The ID of this Express Route Port Link.\n"},"interfaceName":{"type":"string","description":"The interface name of the Azure router associated with the Express Route Port Link.\n"},"macsecCakKeyvaultSecretId":{"type":"string","description":"The ID of the Key Vault Secret that contains the Mac security CAK key for this Express Route Port Link.\n"},"macsecCipher":{"type":"string","description":"The MACSec cipher used for this Express Route Port Link. Possible values are `GcmAes128`, `GcmAes256`, `GcmAesXpn128` and `GcmAesXpn256`. Defaults to `GcmAes128`.\n"},"macsecCknKeyvaultSecretId":{"type":"string","description":"The ID of the Key Vault Secret that contains the MACSec CKN key for this Express Route Port Link.\n"},"macsecSciEnabled":{"type":"boolean","description":"Should Secure Channel Identifier on the Express Route Port Link be enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`macsecCknKeyvaultSecretId`\" pulumi-lang-dotnet=\"`MacsecCknKeyvaultSecretId`\" pulumi-lang-go=\"`macsecCknKeyvaultSecretId`\" pulumi-lang-python=\"`macsec_ckn_keyvault_secret_id`\" pulumi-lang-yaml=\"`macsecCknKeyvaultSecretId`\" pulumi-lang-java=\"`macsecCknKeyvaultSecretId`\"\u003e`macsec_ckn_keyvault_secret_id`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`macsecCakKeyvaultSecretId`\" pulumi-lang-dotnet=\"`MacsecCakKeyvaultSecretId`\" pulumi-lang-go=\"`macsecCakKeyvaultSecretId`\" pulumi-lang-python=\"`macsec_cak_keyvault_secret_id`\" pulumi-lang-yaml=\"`macsecCakKeyvaultSecretId`\" pulumi-lang-java=\"`macsecCakKeyvaultSecretId`\"\u003e`macsec_cak_keyvault_secret_id`\u003c/span\u003e should be used together with \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e, so that the Express Route Port instance have the right permission to access the Key Vault.\n"},"patchPanelId":{"type":"string","description":"The ID that maps from the Express Route Port Link to the patch panel port.\n"},"rackId":{"type":"string","description":"The ID that maps from the patch panel port to the rack.\n"},"routerName":{"type":"string","description":"The name of the Azure router associated with the Express Route Port Link.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["connectorType","id","interfaceName","patchPanelId","rackId","routerName"]}}},"azure:network/FirewallApplicationRuleCollectionRule:FirewallApplicationRuleCollectionRule":{"properties":{"description":{"type":"string","description":"Specifies a description for the rule.\n"},"fqdnTags":{"type":"array","items":{"type":"string"},"description":"A list of FQDN tags. Possible values are `AppServiceEnvironment`, `AzureBackup`, `AzureKubernetesService`, `HDInsight`, `MicrosoftActiveProtectionService`, `WindowsDiagnostics`, `WindowsUpdate` and `WindowsVirtualDesktop`.\n"},"name":{"type":"string","description":"Specifies the name of the rule.\n"},"protocols":{"type":"array","items":{"$ref":"#/types/azure:network/FirewallApplicationRuleCollectionRuleProtocol:FirewallApplicationRuleCollectionRuleProtocol"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`protocol`\" pulumi-lang-dotnet=\"`Protocol`\" pulumi-lang-go=\"`protocol`\" pulumi-lang-python=\"`protocol`\" pulumi-lang-yaml=\"`protocol`\" pulumi-lang-java=\"`protocol`\"\u003e`protocol`\u003c/span\u003e blocks as defined below.\n"},"sourceAddresses":{"type":"array","items":{"type":"string"},"description":"A list of source IP addresses and/or IP ranges.\n"},"sourceIpGroups":{"type":"array","items":{"type":"string"},"description":"A list of source IP Group IDs for the rule.\n\n\u003e **Note:** At least one of \u003cspan pulumi-lang-nodejs=\"`sourceAddresses`\" pulumi-lang-dotnet=\"`SourceAddresses`\" pulumi-lang-go=\"`sourceAddresses`\" pulumi-lang-python=\"`source_addresses`\" pulumi-lang-yaml=\"`sourceAddresses`\" pulumi-lang-java=\"`sourceAddresses`\"\u003e`source_addresses`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`sourceIpGroups`\" pulumi-lang-dotnet=\"`SourceIpGroups`\" pulumi-lang-go=\"`sourceIpGroups`\" pulumi-lang-python=\"`source_ip_groups`\" pulumi-lang-yaml=\"`sourceIpGroups`\" pulumi-lang-java=\"`sourceIpGroups`\"\u003e`source_ip_groups`\u003c/span\u003e must be specified for a rule.\n"},"targetFqdns":{"type":"array","items":{"type":"string"},"description":"A list of FQDNs.\n"}},"type":"object","required":["name"]},"azure:network/FirewallApplicationRuleCollectionRuleProtocol:FirewallApplicationRuleCollectionRuleProtocol":{"properties":{"port":{"type":"integer","description":"Specify a port for the connection.\n"},"type":{"type":"string","description":"Specifies the type of connection. Possible values are `Http`, `Https` and `Mssql`.\n"}},"type":"object","required":["port","type"]},"azure:network/FirewallIpConfiguration:FirewallIpConfiguration":{"properties":{"name":{"type":"string","description":"Specifies the name of the IP Configuration.\n"},"privateIpAddress":{"type":"string","description":"The private IP address associated with the Firewall.\n"},"publicIpAddressId":{"type":"string","description":"The ID of the Public IP Address associated with the firewall.\n\n\u003e **Note:** A public ip address is required unless a \u003cspan pulumi-lang-nodejs=\"`managementIpConfiguration`\" pulumi-lang-dotnet=\"`ManagementIpConfiguration`\" pulumi-lang-go=\"`managementIpConfiguration`\" pulumi-lang-python=\"`management_ip_configuration`\" pulumi-lang-yaml=\"`managementIpConfiguration`\" pulumi-lang-java=\"`managementIpConfiguration`\"\u003e`management_ip_configuration`\u003c/span\u003e block is specified.\n\n\u003e **Note:** When multiple \u003cspan pulumi-lang-nodejs=\"`ipConfiguration`\" pulumi-lang-dotnet=\"`IpConfiguration`\" pulumi-lang-go=\"`ipConfiguration`\" pulumi-lang-python=\"`ip_configuration`\" pulumi-lang-yaml=\"`ipConfiguration`\" pulumi-lang-java=\"`ipConfiguration`\"\u003e`ip_configuration`\u003c/span\u003e blocks with \u003cspan pulumi-lang-nodejs=\"`publicIpAddressId`\" pulumi-lang-dotnet=\"`PublicIpAddressId`\" pulumi-lang-go=\"`publicIpAddressId`\" pulumi-lang-python=\"`public_ip_address_id`\" pulumi-lang-yaml=\"`publicIpAddressId`\" pulumi-lang-java=\"`publicIpAddressId`\"\u003e`public_ip_address_id`\u003c/span\u003e are configured, `pulumi up` will raise an error when one or some of these \u003cspan pulumi-lang-nodejs=\"`ipConfiguration`\" pulumi-lang-dotnet=\"`IpConfiguration`\" pulumi-lang-go=\"`ipConfiguration`\" pulumi-lang-python=\"`ip_configuration`\" pulumi-lang-yaml=\"`ipConfiguration`\" pulumi-lang-java=\"`ipConfiguration`\"\u003e`ip_configuration`\u003c/span\u003e blocks are removed. because the \u003cspan pulumi-lang-nodejs=\"`publicIpAddressId`\" pulumi-lang-dotnet=\"`PublicIpAddressId`\" pulumi-lang-go=\"`publicIpAddressId`\" pulumi-lang-python=\"`public_ip_address_id`\" pulumi-lang-yaml=\"`publicIpAddressId`\" pulumi-lang-java=\"`publicIpAddressId`\"\u003e`public_ip_address_id`\u003c/span\u003e is still used by the \u003cspan pulumi-lang-nodejs=\"`firewall`\" pulumi-lang-dotnet=\"`Firewall`\" pulumi-lang-go=\"`firewall`\" pulumi-lang-python=\"`firewall`\" pulumi-lang-yaml=\"`firewall`\" pulumi-lang-java=\"`firewall`\"\u003e`firewall`\u003c/span\u003e resource until the \u003cspan pulumi-lang-nodejs=\"`firewall`\" pulumi-lang-dotnet=\"`Firewall`\" pulumi-lang-go=\"`firewall`\" pulumi-lang-python=\"`firewall`\" pulumi-lang-yaml=\"`firewall`\" pulumi-lang-java=\"`firewall`\"\u003e`firewall`\u003c/span\u003e resource is updated. and the destruction of \u003cspan pulumi-lang-nodejs=\"`azure.network.PublicIp`\" pulumi-lang-dotnet=\"`azure.network.PublicIp`\" pulumi-lang-go=\"`network.PublicIp`\" pulumi-lang-python=\"`network.PublicIp`\" pulumi-lang-yaml=\"`azure.network.PublicIp`\" pulumi-lang-java=\"`azure.network.PublicIp`\"\u003e`azure.network.PublicIp`\u003c/span\u003e happens before the update of firewall by default. to destroy of \u003cspan pulumi-lang-nodejs=\"`azure.network.PublicIp`\" pulumi-lang-dotnet=\"`azure.network.PublicIp`\" pulumi-lang-go=\"`network.PublicIp`\" pulumi-lang-python=\"`network.PublicIp`\" pulumi-lang-yaml=\"`azure.network.PublicIp`\" pulumi-lang-java=\"`azure.network.PublicIp`\"\u003e`azure.network.PublicIp`\u003c/span\u003e will cause the error. The workaround is to set `create_before_destroy=true` to the \u003cspan pulumi-lang-nodejs=\"`azure.network.PublicIp`\" pulumi-lang-dotnet=\"`azure.network.PublicIp`\" pulumi-lang-go=\"`network.PublicIp`\" pulumi-lang-python=\"`network.PublicIp`\" pulumi-lang-yaml=\"`azure.network.PublicIp`\" pulumi-lang-java=\"`azure.network.PublicIp`\"\u003e`azure.network.PublicIp`\u003c/span\u003e resource \u003cspan pulumi-lang-nodejs=\"`lifecycle`\" pulumi-lang-dotnet=\"`Lifecycle`\" pulumi-lang-go=\"`lifecycle`\" pulumi-lang-python=\"`lifecycle`\" pulumi-lang-yaml=\"`lifecycle`\" pulumi-lang-java=\"`lifecycle`\"\u003e`lifecycle`\u003c/span\u003e block. See more detail: destroying.md#create-before-destroy\n\n\u003e **Note:** The Public IP must have a `Static` allocation and `Standard` SKU.\n"},"subnetId":{"type":"string","description":"Reference to the subnet associated with the IP Configuration. Changing this forces a new resource to be created.\n\n\u003e **Note:** The Subnet used for the Firewall must have the name `AzureFirewallSubnet` and the subnet mask must be at least a `/26`.\n\n\u003e **Note:** At least one and only one \u003cspan pulumi-lang-nodejs=\"`ipConfiguration`\" pulumi-lang-dotnet=\"`IpConfiguration`\" pulumi-lang-go=\"`ipConfiguration`\" pulumi-lang-python=\"`ip_configuration`\" pulumi-lang-yaml=\"`ipConfiguration`\" pulumi-lang-java=\"`ipConfiguration`\"\u003e`ip_configuration`\u003c/span\u003e block may contain a \u003cspan pulumi-lang-nodejs=\"`subnetId`\" pulumi-lang-dotnet=\"`SubnetId`\" pulumi-lang-go=\"`subnetId`\" pulumi-lang-python=\"`subnet_id`\" pulumi-lang-yaml=\"`subnetId`\" pulumi-lang-java=\"`subnetId`\"\u003e`subnet_id`\u003c/span\u003e.\n","willReplaceOnChanges":true}},"type":"object","required":["name"],"language":{"nodejs":{"requiredOutputs":["name","privateIpAddress"]}}},"azure:network/FirewallManagementIpConfiguration:FirewallManagementIpConfiguration":{"properties":{"name":{"type":"string","description":"Specifies the name of the IP Configuration.\n"},"privateIpAddress":{"type":"string","description":"The private IP address associated with the Firewall.\n"},"publicIpAddressId":{"type":"string","description":"The ID of the Public IP Address associated with the firewall.\n\n\u003e **Note:** The Public IP must have a `Static` allocation and `Standard` SKU.\n"},"subnetId":{"type":"string","description":"Reference to the subnet associated with the IP Configuration. Changing this forces a new resource to be created.\n\n\u003e **Note:** The Management Subnet used for the Firewall must have the name `AzureFirewallManagementSubnet` and the subnet mask must be at least a `/26`.\n","willReplaceOnChanges":true}},"type":"object","required":["name","publicIpAddressId","subnetId"],"language":{"nodejs":{"requiredOutputs":["name","privateIpAddress","publicIpAddressId","subnetId"]}}},"azure:network/FirewallNatRuleCollectionRule:FirewallNatRuleCollectionRule":{"properties":{"description":{"type":"string","description":"Specifies a description for the rule.\n"},"destinationAddresses":{"type":"array","items":{"type":"string"},"description":"A list of destination IP addresses and/or IP ranges.\n"},"destinationPorts":{"type":"array","items":{"type":"string"},"description":"A list of destination ports.\n"},"name":{"type":"string","description":"Specifies the name of the rule.\n"},"protocols":{"type":"array","items":{"type":"string"},"description":"A list of protocols. Possible values are `Any`, `ICMP`, `TCP` and `UDP`. If \u003cspan pulumi-lang-nodejs=\"`action`\" pulumi-lang-dotnet=\"`Action`\" pulumi-lang-go=\"`action`\" pulumi-lang-python=\"`action`\" pulumi-lang-yaml=\"`action`\" pulumi-lang-java=\"`action`\"\u003e`action`\u003c/span\u003e is `Dnat`, protocols can only be `TCP` and `UDP`.\n"},"sourceAddresses":{"type":"array","items":{"type":"string"},"description":"A list of source IP addresses and/or IP ranges.\n"},"sourceIpGroups":{"type":"array","items":{"type":"string"},"description":"A list of source IP Group IDs for the rule.\n\n\u003e **Note:** At least one of \u003cspan pulumi-lang-nodejs=\"`sourceAddresses`\" pulumi-lang-dotnet=\"`SourceAddresses`\" pulumi-lang-go=\"`sourceAddresses`\" pulumi-lang-python=\"`source_addresses`\" pulumi-lang-yaml=\"`sourceAddresses`\" pulumi-lang-java=\"`sourceAddresses`\"\u003e`source_addresses`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`sourceIpGroups`\" pulumi-lang-dotnet=\"`SourceIpGroups`\" pulumi-lang-go=\"`sourceIpGroups`\" pulumi-lang-python=\"`source_ip_groups`\" pulumi-lang-yaml=\"`sourceIpGroups`\" pulumi-lang-java=\"`sourceIpGroups`\"\u003e`source_ip_groups`\u003c/span\u003e must be specified for a rule.\n"},"translatedAddress":{"type":"string","description":"The address of the service behind the Firewall.\n"},"translatedPort":{"type":"string","description":"The port of the service behind the Firewall.\n"}},"type":"object","required":["destinationAddresses","destinationPorts","name","protocols","translatedAddress","translatedPort"]},"azure:network/FirewallNetworkRuleCollectionRule:FirewallNetworkRuleCollectionRule":{"properties":{"description":{"type":"string","description":"Specifies a description for the rule.\n"},"destinationAddresses":{"type":"array","items":{"type":"string"},"description":"Either a list of destination IP addresses and/or IP ranges, or a list of destination [Service Tags](https://docs.microsoft.com/azure/virtual-network/service-tags-overview#available-service-tags).\n"},"destinationFqdns":{"type":"array","items":{"type":"string"},"description":"A list of destination FQDNS for the rule.\n\n\u003e **Note:** [You must enable DNS Proxy to use FQDNs in your network rules](https://docs.microsoft.com/azure/firewall/fqdn-filtering-network-rules).\n\n\u003e **Note:** At least one of \u003cspan pulumi-lang-nodejs=\"`destinationAddresses`\" pulumi-lang-dotnet=\"`DestinationAddresses`\" pulumi-lang-go=\"`destinationAddresses`\" pulumi-lang-python=\"`destination_addresses`\" pulumi-lang-yaml=\"`destinationAddresses`\" pulumi-lang-java=\"`destinationAddresses`\"\u003e`destination_addresses`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`destinationIpGroups`\" pulumi-lang-dotnet=\"`DestinationIpGroups`\" pulumi-lang-go=\"`destinationIpGroups`\" pulumi-lang-python=\"`destination_ip_groups`\" pulumi-lang-yaml=\"`destinationIpGroups`\" pulumi-lang-java=\"`destinationIpGroups`\"\u003e`destination_ip_groups`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`destinationFqdns`\" pulumi-lang-dotnet=\"`DestinationFqdns`\" pulumi-lang-go=\"`destinationFqdns`\" pulumi-lang-python=\"`destination_fqdns`\" pulumi-lang-yaml=\"`destinationFqdns`\" pulumi-lang-java=\"`destinationFqdns`\"\u003e`destination_fqdns`\u003c/span\u003e must be specified for a rule.\n"},"destinationIpGroups":{"type":"array","items":{"type":"string"},"description":"A list of destination IP Group IDs for the rule.\n"},"destinationPorts":{"type":"array","items":{"type":"string"},"description":"A list of destination ports.\n"},"name":{"type":"string","description":"Specifies the name of the rule.\n"},"protocols":{"type":"array","items":{"type":"string"},"description":"A list of protocols. Possible values are `Any`, `ICMP`, `TCP` and `UDP`.\n"},"sourceAddresses":{"type":"array","items":{"type":"string"},"description":"A list of source IP addresses and/or IP ranges.\n"},"sourceIpGroups":{"type":"array","items":{"type":"string"},"description":"A list of IP Group IDs for the rule.\n\n\u003e **Note:** At least one of \u003cspan pulumi-lang-nodejs=\"`sourceAddresses`\" pulumi-lang-dotnet=\"`SourceAddresses`\" pulumi-lang-go=\"`sourceAddresses`\" pulumi-lang-python=\"`source_addresses`\" pulumi-lang-yaml=\"`sourceAddresses`\" pulumi-lang-java=\"`sourceAddresses`\"\u003e`source_addresses`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`sourceIpGroups`\" pulumi-lang-dotnet=\"`SourceIpGroups`\" pulumi-lang-go=\"`sourceIpGroups`\" pulumi-lang-python=\"`source_ip_groups`\" pulumi-lang-yaml=\"`sourceIpGroups`\" pulumi-lang-java=\"`sourceIpGroups`\"\u003e`source_ip_groups`\u003c/span\u003e must be specified for a rule.\n"}},"type":"object","required":["destinationPorts","name","protocols"]},"azure:network/FirewallPolicyDns:FirewallPolicyDns":{"properties":{"proxyEnabled":{"type":"boolean","description":"Whether to enable DNS proxy on Firewalls attached to this Firewall Policy? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"servers":{"type":"array","items":{"type":"string"},"description":"A list of custom DNS servers' IP addresses.\n"}},"type":"object"},"azure:network/FirewallPolicyExplicitProxy:FirewallPolicyExplicitProxy":{"properties":{"enablePacFile":{"type":"boolean","description":"Whether the pac file port and url need to be provided.\n"},"enabled":{"type":"boolean","description":"Whether the explicit proxy is enabled for this Firewall Policy.\n"},"httpPort":{"type":"integer","description":"The port number for explicit http protocol.\n"},"httpsPort":{"type":"integer","description":"The port number for explicit proxy https protocol.\n"},"pacFile":{"type":"string","description":"Specifies a SAS URL for PAC file.\n"},"pacFilePort":{"type":"integer","description":"Specifies a port number for firewall to serve PAC file.\n"}},"type":"object"},"azure:network/FirewallPolicyIdentity:FirewallPolicyIdentity":{"properties":{"identityIds":{"type":"array","items":{"type":"string"},"description":"Specifies a list of User Assigned Managed Identity IDs to be assigned to this Firewall Policy.\n"},"principalId":{"type":"string"},"tenantId":{"type":"string"},"type":{"type":"string","description":"Specifies the type of Managed Service Identity that should be configured on this Firewall Policy. Only possible value is `UserAssigned`.\n"}},"type":"object","required":["type"],"language":{"nodejs":{"requiredOutputs":["principalId","tenantId","type"]}}},"azure:network/FirewallPolicyInsights:FirewallPolicyInsights":{"properties":{"defaultLogAnalyticsWorkspaceId":{"type":"string","description":"The ID of the default Log Analytics Workspace that the Firewalls associated with this Firewall Policy will send their logs to, when there is no location matches in the \u003cspan pulumi-lang-nodejs=\"`logAnalyticsWorkspace`\" pulumi-lang-dotnet=\"`LogAnalyticsWorkspace`\" pulumi-lang-go=\"`logAnalyticsWorkspace`\" pulumi-lang-python=\"`log_analytics_workspace`\" pulumi-lang-yaml=\"`logAnalyticsWorkspace`\" pulumi-lang-java=\"`logAnalyticsWorkspace`\"\u003e`log_analytics_workspace`\u003c/span\u003e.\n"},"enabled":{"type":"boolean","description":"Whether the insights functionality is enabled for this Firewall Policy.\n"},"logAnalyticsWorkspaces":{"type":"array","items":{"$ref":"#/types/azure:network/FirewallPolicyInsightsLogAnalyticsWorkspace:FirewallPolicyInsightsLogAnalyticsWorkspace"},"description":"A list of \u003cspan pulumi-lang-nodejs=\"`logAnalyticsWorkspace`\" pulumi-lang-dotnet=\"`LogAnalyticsWorkspace`\" pulumi-lang-go=\"`logAnalyticsWorkspace`\" pulumi-lang-python=\"`log_analytics_workspace`\" pulumi-lang-yaml=\"`logAnalyticsWorkspace`\" pulumi-lang-java=\"`logAnalyticsWorkspace`\"\u003e`log_analytics_workspace`\u003c/span\u003e block as defined below.\n"},"retentionInDays":{"type":"integer","description":"The log retention period in days.\n"}},"type":"object","required":["defaultLogAnalyticsWorkspaceId","enabled"]},"azure:network/FirewallPolicyInsightsLogAnalyticsWorkspace:FirewallPolicyInsightsLogAnalyticsWorkspace":{"properties":{"firewallLocation":{"type":"string","description":"The location of the Firewalls, that when matches this Log Analytics Workspace will be used to consume their logs.\n"},"id":{"type":"string","description":"The ID of the Log Analytics Workspace that the Firewalls associated with this Firewall Policy will send their logs to when their locations match the \u003cspan pulumi-lang-nodejs=\"`firewallLocation`\" pulumi-lang-dotnet=\"`FirewallLocation`\" pulumi-lang-go=\"`firewallLocation`\" pulumi-lang-python=\"`firewall_location`\" pulumi-lang-yaml=\"`firewallLocation`\" pulumi-lang-java=\"`firewallLocation`\"\u003e`firewall_location`\u003c/span\u003e.\n"}},"type":"object","required":["firewallLocation","id"]},"azure:network/FirewallPolicyIntrusionDetection:FirewallPolicyIntrusionDetection":{"properties":{"mode":{"type":"string","description":"In which mode you want to run intrusion detection: `Off`, `Alert` or `Deny`.\n"},"privateRanges":{"type":"array","items":{"type":"string"},"description":"A list of Private IP address ranges to identify traffic direction. By default, only ranges defined by IANA RFC 1918 are considered private IP addresses.\n"},"signatureOverrides":{"type":"array","items":{"$ref":"#/types/azure:network/FirewallPolicyIntrusionDetectionSignatureOverride:FirewallPolicyIntrusionDetectionSignatureOverride"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`signatureOverrides`\" pulumi-lang-dotnet=\"`SignatureOverrides`\" pulumi-lang-go=\"`signatureOverrides`\" pulumi-lang-python=\"`signature_overrides`\" pulumi-lang-yaml=\"`signatureOverrides`\" pulumi-lang-java=\"`signatureOverrides`\"\u003e`signature_overrides`\u003c/span\u003e blocks as defined below.\n"},"trafficBypasses":{"type":"array","items":{"$ref":"#/types/azure:network/FirewallPolicyIntrusionDetectionTrafficBypass:FirewallPolicyIntrusionDetectionTrafficBypass"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`trafficBypass`\" pulumi-lang-dotnet=\"`TrafficBypass`\" pulumi-lang-go=\"`trafficBypass`\" pulumi-lang-python=\"`traffic_bypass`\" pulumi-lang-yaml=\"`trafficBypass`\" pulumi-lang-java=\"`trafficBypass`\"\u003e`traffic_bypass`\u003c/span\u003e blocks as defined below.\n"}},"type":"object"},"azure:network/FirewallPolicyIntrusionDetectionSignatureOverride:FirewallPolicyIntrusionDetectionSignatureOverride":{"properties":{"id":{"type":"string","description":"12-digit number (id) which identifies your signature.\n"},"state":{"type":"string","description":"state can be any of `Off`, `Alert` or `Deny`.\n"}},"type":"object"},"azure:network/FirewallPolicyIntrusionDetectionTrafficBypass:FirewallPolicyIntrusionDetectionTrafficBypass":{"properties":{"description":{"type":"string","description":"The description for this bypass traffic setting.\n"},"destinationAddresses":{"type":"array","items":{"type":"string"},"description":"Specifies a list of destination IP addresses that shall be bypassed by intrusion detection.\n"},"destinationIpGroups":{"type":"array","items":{"type":"string"},"description":"Specifies a list of destination IP groups that shall be bypassed by intrusion detection.\n"},"destinationPorts":{"type":"array","items":{"type":"string"},"description":"Specifies a list of destination IP ports that shall be bypassed by intrusion detection.\n"},"name":{"type":"string","description":"The name which should be used for this bypass traffic setting.\n"},"protocol":{"type":"string","description":"The protocols any of `ANY`, `TCP`, `ICMP`, `UDP` that shall be bypassed by intrusion detection.\n"},"sourceAddresses":{"type":"array","items":{"type":"string"},"description":"Specifies a list of source addresses that shall be bypassed by intrusion detection.\n"},"sourceIpGroups":{"type":"array","items":{"type":"string"},"description":"Specifies a list of source IP groups that shall be bypassed by intrusion detection.\n"}},"type":"object","required":["name","protocol"]},"azure:network/FirewallPolicyRuleCollectionGroupApplicationRuleCollection:FirewallPolicyRuleCollectionGroupApplicationRuleCollection":{"properties":{"action":{"type":"string","description":"The action to take for the application rules in this collection. Possible values are `Allow` and `Deny`.\n"},"name":{"type":"string","description":"The name which should be used for this application rule collection.\n"},"priority":{"type":"integer","description":"The priority of the application rule collection. The range is \u003cspan pulumi-lang-nodejs=\"`100`\" pulumi-lang-dotnet=\"`100`\" pulumi-lang-go=\"`100`\" pulumi-lang-python=\"`100`\" pulumi-lang-yaml=\"`100`\" pulumi-lang-java=\"`100`\"\u003e`100`\u003c/span\u003e - \u003cspan pulumi-lang-nodejs=\"`65000`\" pulumi-lang-dotnet=\"`65000`\" pulumi-lang-go=\"`65000`\" pulumi-lang-python=\"`65000`\" pulumi-lang-yaml=\"`65000`\" pulumi-lang-java=\"`65000`\"\u003e`65000`\u003c/span\u003e.\n"},"rules":{"type":"array","items":{"$ref":"#/types/azure:network/FirewallPolicyRuleCollectionGroupApplicationRuleCollectionRule:FirewallPolicyRuleCollectionGroupApplicationRuleCollectionRule"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`applicationRule`\" pulumi-lang-dotnet=\"`ApplicationRule`\" pulumi-lang-go=\"`applicationRule`\" pulumi-lang-python=\"`application_rule`\" pulumi-lang-yaml=\"`applicationRule`\" pulumi-lang-java=\"`applicationRule`\"\u003e`application_rule`\u003c/span\u003e blocks as defined below.\n"}},"type":"object","required":["action","name","priority","rules"]},"azure:network/FirewallPolicyRuleCollectionGroupApplicationRuleCollectionRule:FirewallPolicyRuleCollectionGroupApplicationRuleCollectionRule":{"properties":{"description":{"type":"string"},"destinationAddresses":{"type":"array","items":{"type":"string"}},"destinationFqdnTags":{"type":"array","items":{"type":"string"},"description":"Specifies a list of destination FQDN tags.\n"},"destinationFqdns":{"type":"array","items":{"type":"string"}},"destinationUrls":{"type":"array","items":{"type":"string"},"description":"Specifies a list of destination URLs for which policy should hold. Needs Premium SKU for Firewall Policy. Conflicts with \u003cspan pulumi-lang-nodejs=\"`destinationFqdns`\" pulumi-lang-dotnet=\"`DestinationFqdns`\" pulumi-lang-go=\"`destinationFqdns`\" pulumi-lang-python=\"`destination_fqdns`\" pulumi-lang-yaml=\"`destinationFqdns`\" pulumi-lang-java=\"`destinationFqdns`\"\u003e`destination_fqdns`\u003c/span\u003e.\n"},"httpHeaders":{"type":"array","items":{"$ref":"#/types/azure:network/FirewallPolicyRuleCollectionGroupApplicationRuleCollectionRuleHttpHeader:FirewallPolicyRuleCollectionGroupApplicationRuleCollectionRuleHttpHeader"},"description":"Specifies a list of HTTP/HTTPS headers to insert. One or more \u003cspan pulumi-lang-nodejs=\"`httpHeaders`\" pulumi-lang-dotnet=\"`HttpHeaders`\" pulumi-lang-go=\"`httpHeaders`\" pulumi-lang-python=\"`http_headers`\" pulumi-lang-yaml=\"`httpHeaders`\" pulumi-lang-java=\"`httpHeaders`\"\u003e`http_headers`\u003c/span\u003e blocks as defined below.\n"},"name":{"type":"string","description":"The name which should be used for this Firewall Policy Rule Collection Group. Changing this forces a new Firewall Policy Rule Collection Group to be created.\n"},"protocols":{"type":"array","items":{"$ref":"#/types/azure:network/FirewallPolicyRuleCollectionGroupApplicationRuleCollectionRuleProtocol:FirewallPolicyRuleCollectionGroupApplicationRuleCollectionRuleProtocol"}},"sourceAddresses":{"type":"array","items":{"type":"string"}},"sourceIpGroups":{"type":"array","items":{"type":"string"}},"terminateTls":{"type":"boolean","description":"Boolean specifying if TLS shall be terminated (true) or not (false). Must be \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e when using \u003cspan pulumi-lang-nodejs=\"`destinationUrls`\" pulumi-lang-dotnet=\"`DestinationUrls`\" pulumi-lang-go=\"`destinationUrls`\" pulumi-lang-python=\"`destination_urls`\" pulumi-lang-yaml=\"`destinationUrls`\" pulumi-lang-java=\"`destinationUrls`\"\u003e`destination_urls`\u003c/span\u003e. Needs Premium SKU for Firewall Policy.\n"},"webCategories":{"type":"array","items":{"type":"string"},"description":"Specifies a list of web categories to which access is denied or allowed depending on the value of \u003cspan pulumi-lang-nodejs=\"`action`\" pulumi-lang-dotnet=\"`Action`\" pulumi-lang-go=\"`action`\" pulumi-lang-python=\"`action`\" pulumi-lang-yaml=\"`action`\" pulumi-lang-java=\"`action`\"\u003e`action`\u003c/span\u003e above. Needs Premium SKU for Firewall Policy.\n"}},"type":"object","required":["name"]},"azure:network/FirewallPolicyRuleCollectionGroupApplicationRuleCollectionRuleHttpHeader:FirewallPolicyRuleCollectionGroupApplicationRuleCollectionRuleHttpHeader":{"properties":{"name":{"type":"string","description":"Specifies the name of the header.\n"},"value":{"type":"string","description":"Specifies the value of the value.\n"}},"type":"object","required":["name","value"]},"azure:network/FirewallPolicyRuleCollectionGroupApplicationRuleCollectionRuleProtocol:FirewallPolicyRuleCollectionGroupApplicationRuleCollectionRuleProtocol":{"properties":{"port":{"type":"integer","description":"Port number of the protocol. Range is 0-64000.\n"},"type":{"type":"string","description":"Protocol type. Possible values are `Http` and `Https`.\n"}},"type":"object","required":["port","type"]},"azure:network/FirewallPolicyRuleCollectionGroupNatRuleCollection:FirewallPolicyRuleCollectionGroupNatRuleCollection":{"properties":{"action":{"type":"string","description":"The action to take for the NAT rules in this collection. Currently, the only possible value is `Dnat`.\n"},"name":{"type":"string","description":"The name which should be used for this NAT rule collection.\n"},"priority":{"type":"integer","description":"The priority of the NAT rule collection. The range is \u003cspan pulumi-lang-nodejs=\"`100`\" pulumi-lang-dotnet=\"`100`\" pulumi-lang-go=\"`100`\" pulumi-lang-python=\"`100`\" pulumi-lang-yaml=\"`100`\" pulumi-lang-java=\"`100`\"\u003e`100`\u003c/span\u003e - \u003cspan pulumi-lang-nodejs=\"`65000`\" pulumi-lang-dotnet=\"`65000`\" pulumi-lang-go=\"`65000`\" pulumi-lang-python=\"`65000`\" pulumi-lang-yaml=\"`65000`\" pulumi-lang-java=\"`65000`\"\u003e`65000`\u003c/span\u003e.\n"},"rules":{"type":"array","items":{"$ref":"#/types/azure:network/FirewallPolicyRuleCollectionGroupNatRuleCollectionRule:FirewallPolicyRuleCollectionGroupNatRuleCollectionRule"},"description":"A \u003cspan pulumi-lang-nodejs=\"`natRule`\" pulumi-lang-dotnet=\"`NatRule`\" pulumi-lang-go=\"`natRule`\" pulumi-lang-python=\"`nat_rule`\" pulumi-lang-yaml=\"`natRule`\" pulumi-lang-java=\"`natRule`\"\u003e`nat_rule`\u003c/span\u003e block as defined below.\n"}},"type":"object","required":["action","name","priority","rules"]},"azure:network/FirewallPolicyRuleCollectionGroupNatRuleCollectionRule:FirewallPolicyRuleCollectionGroupNatRuleCollectionRule":{"properties":{"description":{"type":"string"},"destinationAddress":{"type":"string","description":"The destination IP address (including CIDR).\n"},"destinationPorts":{"type":"string"},"name":{"type":"string","description":"The name which should be used for this Firewall Policy Rule Collection Group. Changing this forces a new Firewall Policy Rule Collection Group to be created.\n"},"protocols":{"type":"array","items":{"type":"string"}},"sourceAddresses":{"type":"array","items":{"type":"string"}},"sourceIpGroups":{"type":"array","items":{"type":"string"}},"translatedAddress":{"type":"string","description":"Specifies the translated address.\n"},"translatedFqdn":{"type":"string","description":"Specifies the translated FQDN.\n\n\u003e **Note:** Exactly one of \u003cspan pulumi-lang-nodejs=\"`translatedAddress`\" pulumi-lang-dotnet=\"`TranslatedAddress`\" pulumi-lang-go=\"`translatedAddress`\" pulumi-lang-python=\"`translated_address`\" pulumi-lang-yaml=\"`translatedAddress`\" pulumi-lang-java=\"`translatedAddress`\"\u003e`translated_address`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`translatedFqdn`\" pulumi-lang-dotnet=\"`TranslatedFqdn`\" pulumi-lang-go=\"`translatedFqdn`\" pulumi-lang-python=\"`translated_fqdn`\" pulumi-lang-yaml=\"`translatedFqdn`\" pulumi-lang-java=\"`translatedFqdn`\"\u003e`translated_fqdn`\u003c/span\u003e should be set.\n"},"translatedPort":{"type":"integer","description":"Specifies the translated port.\n"}},"type":"object","required":["name","protocols","translatedPort"]},"azure:network/FirewallPolicyRuleCollectionGroupNetworkRuleCollection:FirewallPolicyRuleCollectionGroupNetworkRuleCollection":{"properties":{"action":{"type":"string","description":"The action to take for the network rules in this collection. Possible values are `Allow` and `Deny`.\n"},"name":{"type":"string","description":"The name which should be used for this network rule collection.\n"},"priority":{"type":"integer","description":"The priority of the network rule collection. The range is \u003cspan pulumi-lang-nodejs=\"`100`\" pulumi-lang-dotnet=\"`100`\" pulumi-lang-go=\"`100`\" pulumi-lang-python=\"`100`\" pulumi-lang-yaml=\"`100`\" pulumi-lang-java=\"`100`\"\u003e`100`\u003c/span\u003e - \u003cspan pulumi-lang-nodejs=\"`65000`\" pulumi-lang-dotnet=\"`65000`\" pulumi-lang-go=\"`65000`\" pulumi-lang-python=\"`65000`\" pulumi-lang-yaml=\"`65000`\" pulumi-lang-java=\"`65000`\"\u003e`65000`\u003c/span\u003e.\n"},"rules":{"type":"array","items":{"$ref":"#/types/azure:network/FirewallPolicyRuleCollectionGroupNetworkRuleCollectionRule:FirewallPolicyRuleCollectionGroupNetworkRuleCollectionRule"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`networkRule`\" pulumi-lang-dotnet=\"`NetworkRule`\" pulumi-lang-go=\"`networkRule`\" pulumi-lang-python=\"`network_rule`\" pulumi-lang-yaml=\"`networkRule`\" pulumi-lang-java=\"`networkRule`\"\u003e`network_rule`\u003c/span\u003e blocks as defined below.\n"}},"type":"object","required":["action","name","priority","rules"]},"azure:network/FirewallPolicyRuleCollectionGroupNetworkRuleCollectionRule:FirewallPolicyRuleCollectionGroupNetworkRuleCollectionRule":{"properties":{"description":{"type":"string"},"destinationAddresses":{"type":"array","items":{"type":"string"}},"destinationFqdns":{"type":"array","items":{"type":"string"}},"destinationIpGroups":{"type":"array","items":{"type":"string"},"description":"Specifies a list of destination IP groups.\n"},"destinationPorts":{"type":"array","items":{"type":"string"}},"name":{"type":"string","description":"The name which should be used for this Firewall Policy Rule Collection Group. Changing this forces a new Firewall Policy Rule Collection Group to be created.\n"},"protocols":{"type":"array","items":{"type":"string"}},"sourceAddresses":{"type":"array","items":{"type":"string"}},"sourceIpGroups":{"type":"array","items":{"type":"string"}}},"type":"object","required":["destinationPorts","name","protocols"]},"azure:network/FirewallPolicyThreatIntelligenceAllowlist:FirewallPolicyThreatIntelligenceAllowlist":{"properties":{"fqdns":{"type":"array","items":{"type":"string"},"description":"A list of FQDNs that will be skipped for threat detection.\n"},"ipAddresses":{"type":"array","items":{"type":"string"},"description":"A list of IP addresses or CIDR ranges that will be skipped for threat detection.\n"}},"type":"object"},"azure:network/FirewallPolicyTlsCertificate:FirewallPolicyTlsCertificate":{"properties":{"keyVaultSecretId":{"type":"string","description":"The Secret Identifier (URI) of the certificate stored in Azure Key Vault, either as a secret or certificate.\n"},"name":{"type":"string","description":"The name of the certificate.\n"}},"type":"object","required":["keyVaultSecretId","name"]},"azure:network/FirewallVirtualHub:FirewallVirtualHub":{"properties":{"privateIpAddress":{"type":"string","description":"The private IP address associated with the Firewall.\n"},"publicIpAddresses":{"type":"array","items":{"type":"string"},"description":"The list of public IP addresses associated with the Firewall.\n"},"publicIpCount":{"type":"integer","description":"Specifies the number of public IPs to assign to the Firewall. Defaults to \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e.\n"},"virtualHubId":{"type":"string","description":"Specifies the ID of the Virtual Hub where the Firewall resides in.\n"}},"type":"object","required":["virtualHubId"],"language":{"nodejs":{"requiredOutputs":["privateIpAddress","publicIpAddresses","virtualHubId"]}}},"azure:network/LocalNetworkGatewayBgpSettings:LocalNetworkGatewayBgpSettings":{"properties":{"asn":{"type":"integer","description":"The BGP speaker's ASN.\n"},"bgpPeeringAddress":{"type":"string","description":"The BGP peering address and BGP identifier of this BGP speaker.\n"},"peerWeight":{"type":"integer","description":"The weight added to routes learned from this BGP speaker.\n"}},"type":"object","required":["asn","bgpPeeringAddress"]},"azure:network/NetworkConnectionMonitorEndpoint:NetworkConnectionMonitorEndpoint":{"properties":{"address":{"type":"string","description":"The IP address or domain name of the Network Connection Monitor endpoint.\n"},"coverageLevel":{"type":"string","description":"The test coverage for the Network Connection Monitor endpoint. Possible values are `AboveAverage`, `Average`, `BelowAverage`, `Default`, `Full` and `Low`.\n"},"excludedIpAddresses":{"type":"array","items":{"type":"string"},"description":"A list of IPv4/IPv6 subnet masks or IPv4/IPv6 IP addresses to be excluded to the Network Connection Monitor endpoint.\n"},"filter":{"$ref":"#/types/azure:network/NetworkConnectionMonitorEndpointFilter:NetworkConnectionMonitorEndpointFilter","description":"A \u003cspan pulumi-lang-nodejs=\"`filter`\" pulumi-lang-dotnet=\"`Filter`\" pulumi-lang-go=\"`filter`\" pulumi-lang-python=\"`filter`\" pulumi-lang-yaml=\"`filter`\" pulumi-lang-java=\"`filter`\"\u003e`filter`\u003c/span\u003e block as defined below.\n"},"includedIpAddresses":{"type":"array","items":{"type":"string"},"description":"A list of IPv4/IPv6 subnet masks or IPv4/IPv6 IP addresses to be included to the Network Connection Monitor endpoint.\n"},"name":{"type":"string","description":"The name of the endpoint for the Network Connection Monitor .\n"},"targetResourceId":{"type":"string","description":"The resource ID which is used as the endpoint by the Network Connection Monitor.\n"},"targetResourceType":{"type":"string","description":"The endpoint type of the Network Connection Monitor. Possible values are `AzureArcVM`, `AzureSubnet`, `AzureVM`, `AzureVNet`, `ExternalAddress`, `MMAWorkspaceMachine` and `MMAWorkspaceNetwork`.\n"}},"type":"object","required":["name"]},"azure:network/NetworkConnectionMonitorEndpointFilter:NetworkConnectionMonitorEndpointFilter":{"properties":{"items":{"type":"array","items":{"$ref":"#/types/azure:network/NetworkConnectionMonitorEndpointFilterItem:NetworkConnectionMonitorEndpointFilterItem"},"description":"A \u003cspan pulumi-lang-nodejs=\"`item`\" pulumi-lang-dotnet=\"`Item`\" pulumi-lang-go=\"`item`\" pulumi-lang-python=\"`item`\" pulumi-lang-yaml=\"`item`\" pulumi-lang-java=\"`item`\"\u003e`item`\u003c/span\u003e block as defined below.\n"},"type":{"type":"string","description":"The behaviour type of this endpoint filter. Currently the only allowed value is `Include`. Defaults to `Include`.\n"}},"type":"object"},"azure:network/NetworkConnectionMonitorEndpointFilterItem:NetworkConnectionMonitorEndpointFilterItem":{"properties":{"address":{"type":"string","description":"The address of the filter item.\n"},"type":{"type":"string","description":"The type of items included in the filter. Possible values are `AgentAddress`. Defaults to `AgentAddress`.\n"}},"type":"object"},"azure:network/NetworkConnectionMonitorTestConfiguration:NetworkConnectionMonitorTestConfiguration":{"properties":{"httpConfiguration":{"$ref":"#/types/azure:network/NetworkConnectionMonitorTestConfigurationHttpConfiguration:NetworkConnectionMonitorTestConfigurationHttpConfiguration","description":"A \u003cspan pulumi-lang-nodejs=\"`httpConfiguration`\" pulumi-lang-dotnet=\"`HttpConfiguration`\" pulumi-lang-go=\"`httpConfiguration`\" pulumi-lang-python=\"`http_configuration`\" pulumi-lang-yaml=\"`httpConfiguration`\" pulumi-lang-java=\"`httpConfiguration`\"\u003e`http_configuration`\u003c/span\u003e block as defined below.\n"},"icmpConfiguration":{"$ref":"#/types/azure:network/NetworkConnectionMonitorTestConfigurationIcmpConfiguration:NetworkConnectionMonitorTestConfigurationIcmpConfiguration","description":"A \u003cspan pulumi-lang-nodejs=\"`icmpConfiguration`\" pulumi-lang-dotnet=\"`IcmpConfiguration`\" pulumi-lang-go=\"`icmpConfiguration`\" pulumi-lang-python=\"`icmp_configuration`\" pulumi-lang-yaml=\"`icmpConfiguration`\" pulumi-lang-java=\"`icmpConfiguration`\"\u003e`icmp_configuration`\u003c/span\u003e block as defined below.\n"},"name":{"type":"string","description":"The name of test configuration for the Network Connection Monitor.\n"},"preferredIpVersion":{"type":"string","description":"The preferred IP version which is used in the test evaluation. Possible values are `IPv4` and `IPv6`.\n"},"protocol":{"type":"string","description":"The protocol used to evaluate tests. Possible values are `Tcp`, `Http` and `Icmp`.\n"},"successThreshold":{"$ref":"#/types/azure:network/NetworkConnectionMonitorTestConfigurationSuccessThreshold:NetworkConnectionMonitorTestConfigurationSuccessThreshold","description":"A \u003cspan pulumi-lang-nodejs=\"`successThreshold`\" pulumi-lang-dotnet=\"`SuccessThreshold`\" pulumi-lang-go=\"`successThreshold`\" pulumi-lang-python=\"`success_threshold`\" pulumi-lang-yaml=\"`successThreshold`\" pulumi-lang-java=\"`successThreshold`\"\u003e`success_threshold`\u003c/span\u003e block as defined below.\n"},"tcpConfiguration":{"$ref":"#/types/azure:network/NetworkConnectionMonitorTestConfigurationTcpConfiguration:NetworkConnectionMonitorTestConfigurationTcpConfiguration","description":"A \u003cspan pulumi-lang-nodejs=\"`tcpConfiguration`\" pulumi-lang-dotnet=\"`TcpConfiguration`\" pulumi-lang-go=\"`tcpConfiguration`\" pulumi-lang-python=\"`tcp_configuration`\" pulumi-lang-yaml=\"`tcpConfiguration`\" pulumi-lang-java=\"`tcpConfiguration`\"\u003e`tcp_configuration`\u003c/span\u003e block as defined below.\n"},"testFrequencyInSeconds":{"type":"integer","description":"The time interval in seconds at which the test evaluation will happen. Defaults to \u003cspan pulumi-lang-nodejs=\"`60`\" pulumi-lang-dotnet=\"`60`\" pulumi-lang-go=\"`60`\" pulumi-lang-python=\"`60`\" pulumi-lang-yaml=\"`60`\" pulumi-lang-java=\"`60`\"\u003e`60`\u003c/span\u003e.\n"}},"type":"object","required":["name","protocol"]},"azure:network/NetworkConnectionMonitorTestConfigurationHttpConfiguration:NetworkConnectionMonitorTestConfigurationHttpConfiguration":{"properties":{"method":{"type":"string","description":"The HTTP method for the HTTP request. Possible values are `Get` and `Post`. Defaults to `Get`.\n"},"path":{"type":"string","description":"The path component of the URI. It only accepts the absolute path.\n"},"port":{"type":"integer","description":"The port for the HTTP connection.\n"},"preferHttps":{"type":"boolean","description":"Should HTTPS be preferred over HTTP in cases where the choice is not explicit? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"requestHeaders":{"type":"array","items":{"$ref":"#/types/azure:network/NetworkConnectionMonitorTestConfigurationHttpConfigurationRequestHeader:NetworkConnectionMonitorTestConfigurationHttpConfigurationRequestHeader"},"description":"A \u003cspan pulumi-lang-nodejs=\"`requestHeader`\" pulumi-lang-dotnet=\"`RequestHeader`\" pulumi-lang-go=\"`requestHeader`\" pulumi-lang-python=\"`request_header`\" pulumi-lang-yaml=\"`requestHeader`\" pulumi-lang-java=\"`requestHeader`\"\u003e`request_header`\u003c/span\u003e block as defined below.\n"},"validStatusCodeRanges":{"type":"array","items":{"type":"string"},"description":"The HTTP status codes to consider successful. For instance, \u003cspan pulumi-lang-nodejs=\"`2xx`\" pulumi-lang-dotnet=\"`2xx`\" pulumi-lang-go=\"`2xx`\" pulumi-lang-python=\"`2xx`\" pulumi-lang-yaml=\"`2xx`\" pulumi-lang-java=\"`2xx`\"\u003e`2xx`\u003c/span\u003e, `301-304` and \u003cspan pulumi-lang-nodejs=\"`418`\" pulumi-lang-dotnet=\"`418`\" pulumi-lang-go=\"`418`\" pulumi-lang-python=\"`418`\" pulumi-lang-yaml=\"`418`\" pulumi-lang-java=\"`418`\"\u003e`418`\u003c/span\u003e.\n"}},"type":"object"},"azure:network/NetworkConnectionMonitorTestConfigurationHttpConfigurationRequestHeader:NetworkConnectionMonitorTestConfigurationHttpConfigurationRequestHeader":{"properties":{"name":{"type":"string","description":"The name of the HTTP header.\n"},"value":{"type":"string","description":"The value of the HTTP header.\n"}},"type":"object","required":["name","value"]},"azure:network/NetworkConnectionMonitorTestConfigurationIcmpConfiguration:NetworkConnectionMonitorTestConfigurationIcmpConfiguration":{"properties":{"traceRouteEnabled":{"type":"boolean","description":"Should path evaluation with trace route be enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"}},"type":"object"},"azure:network/NetworkConnectionMonitorTestConfigurationSuccessThreshold:NetworkConnectionMonitorTestConfigurationSuccessThreshold":{"properties":{"checksFailedPercent":{"type":"integer","description":"The maximum percentage of failed checks permitted for a test to be successful.\n"},"roundTripTimeMs":{"type":"number","description":"The maximum round-trip time in milliseconds permitted for a test to be successful.\n"}},"type":"object"},"azure:network/NetworkConnectionMonitorTestConfigurationTcpConfiguration:NetworkConnectionMonitorTestConfigurationTcpConfiguration":{"properties":{"destinationPortBehavior":{"type":"string","description":"The destination port behavior for the TCP connection. Possible values are `None` and `ListenIfAvailable`.\n"},"port":{"type":"integer","description":"The port for the TCP connection.\n"},"traceRouteEnabled":{"type":"boolean","description":"Should path evaluation with trace route be enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"}},"type":"object","required":["port"]},"azure:network/NetworkConnectionMonitorTestGroup:NetworkConnectionMonitorTestGroup":{"properties":{"destinationEndpoints":{"type":"array","items":{"type":"string"},"description":"A list of destination endpoint names.\n"},"enabled":{"type":"boolean","description":"Should the test group be enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"name":{"type":"string","description":"The name of the test group for the Network Connection Monitor.\n"},"sourceEndpoints":{"type":"array","items":{"type":"string"},"description":"A list of source endpoint names.\n"},"testConfigurationNames":{"type":"array","items":{"type":"string"},"description":"A list of test configuration names.\n"}},"type":"object","required":["destinationEndpoints","name","sourceEndpoints","testConfigurationNames"]},"azure:network/NetworkInterfaceIpConfiguration:NetworkInterfaceIpConfiguration":{"properties":{"gatewayLoadBalancerFrontendIpConfigurationId":{"type":"string","description":"The Frontend IP Configuration ID of a Gateway SKU Load Balancer.\n"},"name":{"type":"string","description":"A name used for this IP Configuration.\n"},"primary":{"type":"boolean","description":"Is this the Primary IP Configuration? Must be \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e for the first \u003cspan pulumi-lang-nodejs=\"`ipConfiguration`\" pulumi-lang-dotnet=\"`IpConfiguration`\" pulumi-lang-go=\"`ipConfiguration`\" pulumi-lang-python=\"`ip_configuration`\" pulumi-lang-yaml=\"`ipConfiguration`\" pulumi-lang-java=\"`ipConfiguration`\"\u003e`ip_configuration`\u003c/span\u003e when multiple are specified. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"privateIpAddress":{"type":"string","description":"The first private IP address of the network interface.\n"},"privateIpAddressAllocation":{"type":"string","description":"The allocation method used for the Private IP Address. Possible values are `Dynamic` and `Static`.\n\n\u003e **Note:** `Dynamic` means \"An IP is automatically assigned during creation of this Network Interface\"; `Static` means \"User supplied IP address will be used\"\n"},"privateIpAddressVersion":{"type":"string","description":"The IP Version to use. Possible values are `IPv4` or `IPv6`. Defaults to `IPv4`.\n"},"publicIpAddressId":{"type":"string","description":"Reference to a Public IP Address to associate with this NIC\n"},"subnetId":{"type":"string","description":"The ID of the Subnet where this Network Interface should be located in.\n\n\u003e **Note:** This is required when \u003cspan pulumi-lang-nodejs=\"`privateIpAddressVersion`\" pulumi-lang-dotnet=\"`PrivateIpAddressVersion`\" pulumi-lang-go=\"`privateIpAddressVersion`\" pulumi-lang-python=\"`private_ip_address_version`\" pulumi-lang-yaml=\"`privateIpAddressVersion`\" pulumi-lang-java=\"`privateIpAddressVersion`\"\u003e`private_ip_address_version`\u003c/span\u003e is set to `IPv4`.\n"}},"type":"object","required":["name","privateIpAddressAllocation"],"language":{"nodejs":{"requiredOutputs":["gatewayLoadBalancerFrontendIpConfigurationId","name","primary","privateIpAddress","privateIpAddressAllocation"]}}},"azure:network/NetworkManagerAdminRuleDestination:NetworkManagerAdminRuleDestination":{"properties":{"addressPrefix":{"type":"string","description":"Specifies the address prefix.\n"},"addressPrefixType":{"type":"string","description":"Specifies the address prefix type. Possible values are `IPPrefix` and `ServiceTag`. For more information, please see [this document](https://learn.microsoft.com/en-us/azure/virtual-network-manager/concept-security-admins#source-and-destination-types).\n"}},"type":"object","required":["addressPrefix","addressPrefixType"]},"azure:network/NetworkManagerAdminRuleSource:NetworkManagerAdminRuleSource":{"properties":{"addressPrefix":{"type":"string","description":"Specifies the address prefix.\n"},"addressPrefixType":{"type":"string","description":"Specifies the address prefix type. Possible values are `IPPrefix` and `ServiceTag`. For more information, please see [this document](https://learn.microsoft.com/en-us/azure/virtual-network-manager/concept-security-admins#source-and-destination-types).\n"}},"type":"object","required":["addressPrefix","addressPrefixType"]},"azure:network/NetworkManagerConnectivityConfigurationAppliesToGroup:NetworkManagerConnectivityConfigurationAppliesToGroup":{"properties":{"globalMeshEnabled":{"type":"boolean","description":"Indicates whether to global mesh is supported for this group. Possible values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** A group can be global only if the \u003cspan pulumi-lang-nodejs=\"`groupConnectivity`\" pulumi-lang-dotnet=\"`GroupConnectivity`\" pulumi-lang-go=\"`groupConnectivity`\" pulumi-lang-python=\"`group_connectivity`\" pulumi-lang-yaml=\"`groupConnectivity`\" pulumi-lang-java=\"`groupConnectivity`\"\u003e`group_connectivity`\u003c/span\u003e is `DirectlyConnected`.\n"},"groupConnectivity":{"type":"string","description":"Specifies the group connectivity type. Possible values are `None` and `DirectlyConnected`.\n"},"networkGroupId":{"type":"string","description":"Specifies the resource ID of Network Group which the configuration applies to.\n"},"useHubGateway":{"type":"boolean","description":"Indicates whether the hub gateway is used. Possible values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"}},"type":"object","required":["groupConnectivity","networkGroupId"]},"azure:network/NetworkManagerConnectivityConfigurationHub:NetworkManagerConnectivityConfigurationHub":{"properties":{"resourceId":{"type":"string","description":"Specifies the resource ID used as hub in Hub And Spoke topology.\n"},"resourceType":{"type":"string","description":"Specifies the resource Type used as hub in Hub And Spoke topology.\n"}},"type":"object","required":["resourceId","resourceType"]},"azure:network/NetworkManagerCrossTenantScope:NetworkManagerCrossTenantScope":{"properties":{"managementGroups":{"type":"array","items":{"type":"string"},"description":"List of management groups.\n"},"subscriptions":{"type":"array","items":{"type":"string"},"description":"List of subscriptions.\n"},"tenantId":{"type":"string","description":"Tenant ID.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["managementGroups","subscriptions","tenantId"]}}},"azure:network/NetworkManagerRoutingRuleDestination:NetworkManagerRoutingRuleDestination":{"properties":{"address":{"type":"string","description":"The destination address.\n"},"type":{"type":"string","description":"The type of destination. Possible values are `AddressPrefix` and `ServiceTag`.\n"}},"type":"object","required":["address","type"]},"azure:network/NetworkManagerRoutingRuleNextHop:NetworkManagerRoutingRuleNextHop":{"properties":{"address":{"type":"string","description":"The address of the next hop. This is required if the next hop type is `VirtualAppliance`.\n"},"type":{"type":"string","description":"The type of next hop. Possible values are `Internet`, `NoNextHop`, `VirtualAppliance`, `VirtualNetworkGateway` and `VnetLocal`.\n"}},"type":"object","required":["type"]},"azure:network/NetworkManagerScope:NetworkManagerScope":{"properties":{"managementGroupIds":{"type":"array","items":{"type":"string"},"description":"A list of management group IDs.\n\n\u003e **Note:** When specifying a scope at the management group level, you need to register the `Microsoft.Network` at the management group scope before deploying a Network Manager, more information can be found in the [Azure document](https://learn.microsoft.com/en-us/azure/virtual-network-manager/concept-network-manager-scope#scope).\n"},"subscriptionIds":{"type":"array","items":{"type":"string"},"description":"A list of subscription IDs.\n"}},"type":"object"},"azure:network/NetworkManagerVerifierWorkspaceReachabilityAnalysisIntentIpTraffic:NetworkManagerVerifierWorkspaceReachabilityAnalysisIntentIpTraffic":{"properties":{"destinationIps":{"type":"array","items":{"type":"string"},"description":"Specifies a list of IPv4 or IPv6 addresses or ranges using CIDR notation of the source you want to verify. Changing this forces a new Network Manager Verifier Workspace Reachability Analysis Intent to be created.\n","willReplaceOnChanges":true},"destinationPorts":{"type":"array","items":{"type":"string"},"description":"Specifies a list of ports or ranges of the destination you want to verify. To specify any port, use `[\"*\"]`. Changing this forces a new Network Manager Verifier Workspace Reachability Analysis Intent to be created.\n","willReplaceOnChanges":true},"protocols":{"type":"array","items":{"type":"string"},"description":"Specifies a list of network protocols. Possible values are `Any`, `TCP`, `UDP` and `ICMP`. Changing this forces a new Network Manager Verifier Workspace Reachability Analysis Intent to be created.\n","willReplaceOnChanges":true},"sourceIps":{"type":"array","items":{"type":"string"},"description":"Specifies a list of IPv4 or IPv6 addresses or ranges using CIDR notation of the source you want to verify. Changing this forces a new Network Manager Verifier Workspace Reachability Analysis Intent to be created.\n","willReplaceOnChanges":true},"sourcePorts":{"type":"array","items":{"type":"string"},"description":"Specifies a list of ports or ranges of the source you want to verify. To specify any port, use `[\"*\"]`. Changing this forces a new Network Manager Verifier Workspace Reachability Analysis Intent to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["destinationIps","destinationPorts","protocols","sourceIps","sourcePorts"]},"azure:network/NetworkSecurityGroupSecurityRule:NetworkSecurityGroupSecurityRule":{"properties":{"access":{"type":"string","description":"Specifies whether network traffic is allowed or denied. Possible values are `Allow` and `Deny`.\n"},"description":{"type":"string","description":"A description for this rule. Restricted to 140 characters.\n"},"destinationAddressPrefix":{"type":"string","description":"CIDR or destination IP range or * to match any IP. Tags such as `VirtualNetwork`, `AzureLoadBalancer` and `Internet` can also be used. This is required if \u003cspan pulumi-lang-nodejs=\"`destinationAddressPrefixes`\" pulumi-lang-dotnet=\"`DestinationAddressPrefixes`\" pulumi-lang-go=\"`destinationAddressPrefixes`\" pulumi-lang-python=\"`destination_address_prefixes`\" pulumi-lang-yaml=\"`destinationAddressPrefixes`\" pulumi-lang-java=\"`destinationAddressPrefixes`\"\u003e`destination_address_prefixes`\u003c/span\u003e is not specified.\n"},"destinationAddressPrefixes":{"type":"array","items":{"type":"string"},"description":"List of destination address prefixes. Tags may not be used. This is required if \u003cspan pulumi-lang-nodejs=\"`destinationAddressPrefix`\" pulumi-lang-dotnet=\"`DestinationAddressPrefix`\" pulumi-lang-go=\"`destinationAddressPrefix`\" pulumi-lang-python=\"`destination_address_prefix`\" pulumi-lang-yaml=\"`destinationAddressPrefix`\" pulumi-lang-java=\"`destinationAddressPrefix`\"\u003e`destination_address_prefix`\u003c/span\u003e is not specified.\n"},"destinationApplicationSecurityGroupIds":{"type":"array","items":{"type":"string"},"description":"A List of destination Application Security Group IDs\n"},"destinationPortRange":{"type":"string","description":"Destination Port or Range. Integer or range between \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`65535`\" pulumi-lang-dotnet=\"`65535`\" pulumi-lang-go=\"`65535`\" pulumi-lang-python=\"`65535`\" pulumi-lang-yaml=\"`65535`\" pulumi-lang-java=\"`65535`\"\u003e`65535`\u003c/span\u003e or `*` to match any. This is required if \u003cspan pulumi-lang-nodejs=\"`destinationPortRanges`\" pulumi-lang-dotnet=\"`DestinationPortRanges`\" pulumi-lang-go=\"`destinationPortRanges`\" pulumi-lang-python=\"`destination_port_ranges`\" pulumi-lang-yaml=\"`destinationPortRanges`\" pulumi-lang-java=\"`destinationPortRanges`\"\u003e`destination_port_ranges`\u003c/span\u003e is not specified.\n"},"destinationPortRanges":{"type":"array","items":{"type":"string"},"description":"List of destination ports or port ranges. This is required if \u003cspan pulumi-lang-nodejs=\"`destinationPortRange`\" pulumi-lang-dotnet=\"`DestinationPortRange`\" pulumi-lang-go=\"`destinationPortRange`\" pulumi-lang-python=\"`destination_port_range`\" pulumi-lang-yaml=\"`destinationPortRange`\" pulumi-lang-java=\"`destinationPortRange`\"\u003e`destination_port_range`\u003c/span\u003e is not specified.\n"},"direction":{"type":"string","description":"The direction specifies if rule will be evaluated on incoming or outgoing traffic. Possible values are `Inbound` and `Outbound`.\n"},"name":{"type":"string","description":"The name of the security rule.\n"},"priority":{"type":"integer","description":"Specifies the priority of the rule. The value can be between 100 and 4096. The priority number must be unique for each rule in the collection. The lower the priority number, the higher the priority of the rule.\n"},"protocol":{"type":"string","description":"Network protocol this rule applies to. Possible values include `Tcp`, `Udp`, `Icmp`, `Esp`, `Ah` or `*` (which matches all).\n"},"sourceAddressPrefix":{"type":"string","description":"CIDR or source IP range or * to match any IP. Tags such as `VirtualNetwork`, `AzureLoadBalancer` and `Internet` can also be used. This is required if \u003cspan pulumi-lang-nodejs=\"`sourceAddressPrefixes`\" pulumi-lang-dotnet=\"`SourceAddressPrefixes`\" pulumi-lang-go=\"`sourceAddressPrefixes`\" pulumi-lang-python=\"`source_address_prefixes`\" pulumi-lang-yaml=\"`sourceAddressPrefixes`\" pulumi-lang-java=\"`sourceAddressPrefixes`\"\u003e`source_address_prefixes`\u003c/span\u003e is not specified.\n"},"sourceAddressPrefixes":{"type":"array","items":{"type":"string"},"description":"List of source address prefixes. Tags may not be used. This is required if \u003cspan pulumi-lang-nodejs=\"`sourceAddressPrefix`\" pulumi-lang-dotnet=\"`SourceAddressPrefix`\" pulumi-lang-go=\"`sourceAddressPrefix`\" pulumi-lang-python=\"`source_address_prefix`\" pulumi-lang-yaml=\"`sourceAddressPrefix`\" pulumi-lang-java=\"`sourceAddressPrefix`\"\u003e`source_address_prefix`\u003c/span\u003e is not specified.\n"},"sourceApplicationSecurityGroupIds":{"type":"array","items":{"type":"string"},"description":"A List of source Application Security Group IDs\n"},"sourcePortRange":{"type":"string","description":"Source Port or Range. Integer or range between \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`65535`\" pulumi-lang-dotnet=\"`65535`\" pulumi-lang-go=\"`65535`\" pulumi-lang-python=\"`65535`\" pulumi-lang-yaml=\"`65535`\" pulumi-lang-java=\"`65535`\"\u003e`65535`\u003c/span\u003e or `*` to match any. This is required if \u003cspan pulumi-lang-nodejs=\"`sourcePortRanges`\" pulumi-lang-dotnet=\"`SourcePortRanges`\" pulumi-lang-go=\"`sourcePortRanges`\" pulumi-lang-python=\"`source_port_ranges`\" pulumi-lang-yaml=\"`sourcePortRanges`\" pulumi-lang-java=\"`sourcePortRanges`\"\u003e`source_port_ranges`\u003c/span\u003e is not specified.\n"},"sourcePortRanges":{"type":"array","items":{"type":"string"},"description":"List of source ports or port ranges. This is required if \u003cspan pulumi-lang-nodejs=\"`sourcePortRange`\" pulumi-lang-dotnet=\"`SourcePortRange`\" pulumi-lang-go=\"`sourcePortRange`\" pulumi-lang-python=\"`source_port_range`\" pulumi-lang-yaml=\"`sourcePortRange`\" pulumi-lang-java=\"`sourcePortRange`\"\u003e`source_port_range`\u003c/span\u003e is not specified.\n"}},"type":"object","required":["access","direction","name","priority","protocol"]},"azure:network/NetworkWatcherFlowLogRetentionPolicy:NetworkWatcherFlowLogRetentionPolicy":{"properties":{"days":{"type":"integer","description":"The number of days to retain flow log records.\n"},"enabled":{"type":"boolean","description":"Boolean flag to enable/disable retention.\n"}},"type":"object","required":["days","enabled"]},"azure:network/NetworkWatcherFlowLogTrafficAnalytics:NetworkWatcherFlowLogTrafficAnalytics":{"properties":{"enabled":{"type":"boolean","description":"Boolean flag to enable/disable traffic analytics.\n"},"intervalInMinutes":{"type":"integer","description":"How frequently service should do flow analytics in minutes. Defaults to \u003cspan pulumi-lang-nodejs=\"`60`\" pulumi-lang-dotnet=\"`60`\" pulumi-lang-go=\"`60`\" pulumi-lang-python=\"`60`\" pulumi-lang-yaml=\"`60`\" pulumi-lang-java=\"`60`\"\u003e`60`\u003c/span\u003e.\n"},"workspaceId":{"type":"string","description":"The resource GUID of the attached workspace.\n"},"workspaceRegion":{"type":"string","description":"The location of the attached workspace.\n"},"workspaceResourceId":{"type":"string","description":"The resource ID of the attached workspace.\n"}},"type":"object","required":["enabled","workspaceId","workspaceRegion","workspaceResourceId"]},"azure:network/PointToPointVpnGatewayConnectionConfiguration:PointToPointVpnGatewayConnectionConfiguration":{"properties":{"internetSecurityEnabled":{"type":"boolean","description":"Should Internet Security be enabled to secure internet traffic? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"name":{"type":"string","description":"The Name which should be used for this Connection Configuration.\n"},"route":{"$ref":"#/types/azure:network/PointToPointVpnGatewayConnectionConfigurationRoute:PointToPointVpnGatewayConnectionConfigurationRoute","description":"A \u003cspan pulumi-lang-nodejs=\"`route`\" pulumi-lang-dotnet=\"`Route`\" pulumi-lang-go=\"`route`\" pulumi-lang-python=\"`route`\" pulumi-lang-yaml=\"`route`\" pulumi-lang-java=\"`route`\"\u003e`route`\u003c/span\u003e block as defined below.\n"},"vpnClientAddressPool":{"$ref":"#/types/azure:network/PointToPointVpnGatewayConnectionConfigurationVpnClientAddressPool:PointToPointVpnGatewayConnectionConfigurationVpnClientAddressPool","description":"A \u003cspan pulumi-lang-nodejs=\"`vpnClientAddressPool`\" pulumi-lang-dotnet=\"`VpnClientAddressPool`\" pulumi-lang-go=\"`vpnClientAddressPool`\" pulumi-lang-python=\"`vpn_client_address_pool`\" pulumi-lang-yaml=\"`vpnClientAddressPool`\" pulumi-lang-java=\"`vpnClientAddressPool`\"\u003e`vpn_client_address_pool`\u003c/span\u003e block as defined below.\n"}},"type":"object","required":["name","vpnClientAddressPool"],"language":{"nodejs":{"requiredOutputs":["name","route","vpnClientAddressPool"]}}},"azure:network/PointToPointVpnGatewayConnectionConfigurationRoute:PointToPointVpnGatewayConnectionConfigurationRoute":{"properties":{"associatedRouteTableId":{"type":"string","description":"The Virtual Hub Route Table resource id associated with this Routing Configuration.\n"},"inboundRouteMapId":{"type":"string","description":"The resource ID of the Route Map associated with this Routing Configuration for inbound learned routes.\n"},"outboundRouteMapId":{"type":"string","description":"The resource ID of the Route Map associated with this Routing Configuration for outbound advertised routes.\n"},"propagatedRouteTable":{"$ref":"#/types/azure:network/PointToPointVpnGatewayConnectionConfigurationRoutePropagatedRouteTable:PointToPointVpnGatewayConnectionConfigurationRoutePropagatedRouteTable","description":"A \u003cspan pulumi-lang-nodejs=\"`propagatedRouteTable`\" pulumi-lang-dotnet=\"`PropagatedRouteTable`\" pulumi-lang-go=\"`propagatedRouteTable`\" pulumi-lang-python=\"`propagated_route_table`\" pulumi-lang-yaml=\"`propagatedRouteTable`\" pulumi-lang-java=\"`propagatedRouteTable`\"\u003e`propagated_route_table`\u003c/span\u003e block as defined below.\n"}},"type":"object","required":["associatedRouteTableId"]},"azure:network/PointToPointVpnGatewayConnectionConfigurationRoutePropagatedRouteTable:PointToPointVpnGatewayConnectionConfigurationRoutePropagatedRouteTable":{"properties":{"ids":{"type":"array","items":{"type":"string"},"description":"The list of Virtual Hub Route Table resource id which the routes will be propagated to.\n"},"labels":{"type":"array","items":{"type":"string"},"description":"The list of labels to logically group Virtual Hub Route Tables which the routes will be propagated to.\n"}},"type":"object","required":["ids"]},"azure:network/PointToPointVpnGatewayConnectionConfigurationVpnClientAddressPool:PointToPointVpnGatewayConnectionConfigurationVpnClientAddressPool":{"properties":{"addressPrefixes":{"type":"array","items":{"type":"string"},"description":"A list of CIDR Ranges which should be used as Address Prefixes.\n"}},"type":"object","required":["addressPrefixes"]},"azure:network/ProfileContainerNetworkInterface:ProfileContainerNetworkInterface":{"properties":{"ipConfigurations":{"type":"array","items":{"$ref":"#/types/azure:network/ProfileContainerNetworkInterfaceIpConfiguration:ProfileContainerNetworkInterfaceIpConfiguration"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`ipConfiguration`\" pulumi-lang-dotnet=\"`IpConfiguration`\" pulumi-lang-go=\"`ipConfiguration`\" pulumi-lang-python=\"`ip_configuration`\" pulumi-lang-yaml=\"`ipConfiguration`\" pulumi-lang-java=\"`ipConfiguration`\"\u003e`ip_configuration`\u003c/span\u003e blocks as documented below.\n"},"name":{"type":"string","description":"Specifies the name of the IP Configuration.\n"}},"type":"object","required":["ipConfigurations","name"]},"azure:network/ProfileContainerNetworkInterfaceIpConfiguration:ProfileContainerNetworkInterfaceIpConfiguration":{"properties":{"name":{"type":"string","description":"Specifies the name of the IP Configuration.\n"},"subnetId":{"type":"string","description":"Reference to the subnet associated with the IP Configuration.\n"}},"type":"object","required":["name","subnetId"]},"azure:network/RouteFilterRule:RouteFilterRule":{"properties":{"access":{"type":"string","description":"The access type of the rule. The only possible value is `Allow`.\n"},"communities":{"type":"array","items":{"type":"string"},"description":"The collection for bgp community values to filter on. e.g. ['12076:5010','12076:5020'].\n"},"name":{"type":"string","description":"The name of the route filter rule.\n"},"ruleType":{"type":"string","description":"The rule type of the rule. The only possible value is `Community`.\n"}},"type":"object","required":["access","communities","name","ruleType"]},"azure:network/RouteMapRule:RouteMapRule":{"properties":{"actions":{"type":"array","items":{"$ref":"#/types/azure:network/RouteMapRuleAction:RouteMapRuleAction"},"description":"An \u003cspan pulumi-lang-nodejs=\"`action`\" pulumi-lang-dotnet=\"`Action`\" pulumi-lang-go=\"`action`\" pulumi-lang-python=\"`action`\" pulumi-lang-yaml=\"`action`\" pulumi-lang-java=\"`action`\"\u003e`action`\u003c/span\u003e block as defined below.\n"},"matchCriterions":{"type":"array","items":{"$ref":"#/types/azure:network/RouteMapRuleMatchCriterion:RouteMapRuleMatchCriterion"},"description":"A \u003cspan pulumi-lang-nodejs=\"`matchCriterion`\" pulumi-lang-dotnet=\"`MatchCriterion`\" pulumi-lang-go=\"`matchCriterion`\" pulumi-lang-python=\"`match_criterion`\" pulumi-lang-yaml=\"`matchCriterion`\" pulumi-lang-java=\"`matchCriterion`\"\u003e`match_criterion`\u003c/span\u003e block as defined below.\n"},"name":{"type":"string","description":"The unique name for the rule.\n"},"nextStepIfMatched":{"type":"string","description":"The next step after the rule is evaluated. Possible values are `Continue`, `Terminate` and `Unknown`. Defaults to `Unknown`.\n"}},"type":"object","required":["name"]},"azure:network/RouteMapRuleAction:RouteMapRuleAction":{"properties":{"parameters":{"type":"array","items":{"$ref":"#/types/azure:network/RouteMapRuleActionParameter:RouteMapRuleActionParameter"},"description":"A \u003cspan pulumi-lang-nodejs=\"`parameter`\" pulumi-lang-dotnet=\"`Parameter`\" pulumi-lang-go=\"`parameter`\" pulumi-lang-python=\"`parameter`\" pulumi-lang-yaml=\"`parameter`\" pulumi-lang-java=\"`parameter`\"\u003e`parameter`\u003c/span\u003e block as defined below. Required if \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is anything other than `Drop`.\n"},"type":{"type":"string","description":"The type of the action to be taken. Possible values are `Add`, `Drop`, `Remove`, `Replace` and `Unknown`.\n"}},"type":"object","required":["type"]},"azure:network/RouteMapRuleActionParameter:RouteMapRuleActionParameter":{"properties":{"asPaths":{"type":"array","items":{"type":"string"},"description":"A list of AS paths.\n"},"communities":{"type":"array","items":{"type":"string"},"description":"A list of BGP communities.\n"},"routePrefixes":{"type":"array","items":{"type":"string"},"description":"A list of route prefixes.\n"}},"type":"object"},"azure:network/RouteMapRuleMatchCriterion:RouteMapRuleMatchCriterion":{"properties":{"asPaths":{"type":"array","items":{"type":"string"},"description":"A list of AS paths which this criterion matches.\n"},"communities":{"type":"array","items":{"type":"string"},"description":"A list of BGP communities which this criterion matches.\n"},"matchCondition":{"type":"string","description":"The match condition to apply the rule of the Route Map. Possible values are `Contains`, `Equals`, `NotContains`, `NotEquals` and `Unknown`.\n"},"routePrefixes":{"type":"array","items":{"type":"string"},"description":"A list of route prefixes which this criterion matches.\n"}},"type":"object","required":["matchCondition"]},"azure:network/RouteTableRoute:RouteTableRoute":{"properties":{"addressPrefix":{"type":"string","description":"The destination to which the route applies. Can be CIDR (such as `10.1.0.0/16`) or [Azure Service Tag](https://docs.microsoft.com/azure/virtual-network/service-tags-overview) (such as `ApiManagement`, `AzureBackup` or `AzureMonitor`) format.\n"},"name":{"type":"string","description":"The name of the route.\n"},"nextHopInIpAddress":{"type":"string","description":"Contains the IP address packets should be forwarded to. Next hop values are only allowed in routes where the next hop type is `VirtualAppliance`.\n"},"nextHopType":{"type":"string","description":"The type of Azure hop the packet should be sent to. Possible values are `VirtualNetworkGateway`, `VnetLocal`, `Internet`, `VirtualAppliance` and `None`.\n"}},"type":"object","required":["addressPrefix","name","nextHopType"]},"azure:network/RoutingIntentRoutingPolicy:RoutingIntentRoutingPolicy":{"properties":{"destinations":{"type":"array","items":{"type":"string"},"description":"A list of destinations which this routing policy is applicable to. Possible values are `Internet` and `PrivateTraffic`.\n"},"name":{"type":"string","description":"The unique name for the routing policy.\n"},"nextHop":{"type":"string","description":"The resource ID of the next hop on which this routing policy is applicable to.\n"}},"type":"object","required":["destinations","name","nextHop"]},"azure:network/SubnetDelegation:SubnetDelegation":{"properties":{"name":{"type":"string","description":"A name for this delegation.\n"},"serviceDelegation":{"$ref":"#/types/azure:network/SubnetDelegationServiceDelegation:SubnetDelegationServiceDelegation","description":"A \u003cspan pulumi-lang-nodejs=\"`serviceDelegation`\" pulumi-lang-dotnet=\"`ServiceDelegation`\" pulumi-lang-go=\"`serviceDelegation`\" pulumi-lang-python=\"`service_delegation`\" pulumi-lang-yaml=\"`serviceDelegation`\" pulumi-lang-java=\"`serviceDelegation`\"\u003e`service_delegation`\u003c/span\u003e block as defined below.\n"}},"type":"object","required":["name","serviceDelegation"]},"azure:network/SubnetDelegationServiceDelegation:SubnetDelegationServiceDelegation":{"properties":{"actions":{"type":"array","items":{"type":"string"},"description":"A list of Actions which should be delegated. This list is specific to the service to delegate to. Possible values are `Microsoft.Network/networkinterfaces/*`, `Microsoft.Network/publicIPAddresses/join/action`, `Microsoft.Network/publicIPAddresses/read`, `Microsoft.Network/virtualNetworks/read`, `Microsoft.Network/virtualNetworks/subnets/action`, `Microsoft.Network/virtualNetworks/subnets/join/action`, `Microsoft.Network/virtualNetworks/subnets/prepareNetworkPolicies/action`, and `Microsoft.Network/virtualNetworks/subnets/unprepareNetworkPolicies/action`.\n\n\u003e **NOTE:** Azure may add default actions depending on the service delegation name and they can't be changed.\n"},"name":{"type":"string","description":"The name of service to delegate to. Possible values are `GitHub.Network/networkSettings`, `Informatica.DataManagement/organizations`, `Microsoft.ApiManagement/service`, `Microsoft.Apollo/npu`, `Microsoft.App/environments`, `Microsoft.App/testClients`, `Microsoft.AVS/PrivateClouds`, `Microsoft.AzureCosmosDB/clusters`, `Microsoft.BareMetal/AzureHostedService`, `Microsoft.BareMetal/AzureHPC`, `Microsoft.BareMetal/AzurePaymentHSM`, `Microsoft.BareMetal/AzureVMware`, `Microsoft.BareMetal/CrayServers`, `Microsoft.BareMetal/MonitoringServers`, `Microsoft.Batch/batchAccounts`, `Microsoft.CloudTest/hostedpools`, `Microsoft.CloudTest/images`, `Microsoft.CloudTest/pools`, `Microsoft.Codespaces/plans`, `Microsoft.ContainerInstance/containerGroups`, `Microsoft.ContainerService/managedClusters`, `Microsoft.ContainerService/TestClients`, `Microsoft.Databricks/workspaces`, `Microsoft.DBforMySQL/flexibleServers`, `Microsoft.DBforMySQL/servers`, `Microsoft.DBforMySQL/serversv2`, `Microsoft.DBforPostgreSQL/flexibleServers`, `Microsoft.DBforPostgreSQL/serversv2`, `Microsoft.DBforPostgreSQL/singleServers`, `Microsoft.DelegatedNetwork/controller`, `Microsoft.DevCenter/networkConnection`, `Microsoft.DevOpsInfrastructure/pools`, `Microsoft.DocumentDB/cassandraClusters`, `Microsoft.Fidalgo/networkSettings`, `Microsoft.HardwareSecurityModules/dedicatedHSMs`, `Microsoft.Kusto/clusters`, `Microsoft.LabServices/labplans`, `Microsoft.Logic/integrationServiceEnvironments`, `Microsoft.MachineLearningServices/workspaces`, `Microsoft.Netapp/volumes`, `Microsoft.Network/dnsResolvers`, `Microsoft.Network/managedResolvers`, `Microsoft.Network/fpgaNetworkInterfaces`, `Microsoft.Network/networkWatchers.`, `Microsoft.Network/virtualNetworkGateways`, `Microsoft.Orbital/orbitalGateways`, `Microsoft.PowerPlatform/enterprisePolicies`, `Microsoft.PowerPlatform/vnetaccesslinks`, `Microsoft.ServiceFabricMesh/networks`, `Microsoft.ServiceNetworking/trafficControllers`, `Microsoft.Singularity/accounts/networks`, `Microsoft.Singularity/accounts/npu`, `Microsoft.Sql/managedInstances`, `Microsoft.Sql/managedInstancesOnebox`, `Microsoft.Sql/managedInstancesStage`, `Microsoft.Sql/managedInstancesTest`, `Microsoft.Sql/servers`, `Microsoft.StoragePool/diskPools`, `Microsoft.StreamAnalytics/streamingJobs`, `Microsoft.Synapse/workspaces`, `Microsoft.Web/hostingEnvironments`, `Microsoft.Web/serverFarms`, `NGINX.NGINXPLUS/nginxDeployments`, `PaloAltoNetworks.Cloudngfw/firewalls`, `Qumulo.Storage/fileSystems`, and `Oracle.Database/networkAttachments`.\n"}},"type":"object","required":["name"]},"azure:network/SubnetIpAddressPool:SubnetIpAddressPool":{"properties":{"allocatedIpAddressPrefixes":{"type":"array","items":{"type":"string"},"description":"The list of IP address prefixes allocated to the subnet.\n"},"id":{"type":"string","description":"The ID of the Network Manager IP Address Management (IPAM) Pool.\n"},"numberOfIpAddresses":{"type":"string","description":"The number of IP addresses to allocated to the subnet. The value must be a string that represents a positive number, e.g., `\"100\"`.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`numberOfIpAddresses`\" pulumi-lang-dotnet=\"`NumberOfIpAddresses`\" pulumi-lang-go=\"`numberOfIpAddresses`\" pulumi-lang-python=\"`number_of_ip_addresses`\" pulumi-lang-yaml=\"`numberOfIpAddresses`\" pulumi-lang-java=\"`numberOfIpAddresses`\"\u003e`number_of_ip_addresses`\u003c/span\u003e cannot be decreased.\n"}},"type":"object","required":["id","numberOfIpAddresses"],"language":{"nodejs":{"requiredOutputs":["allocatedIpAddressPrefixes","id","numberOfIpAddresses"]}}},"azure:network/SubnetServiceEndpointStoragePolicyDefinition:SubnetServiceEndpointStoragePolicyDefinition":{"properties":{"description":{"type":"string","description":"The description of this Subnet Service Endpoint Storage Policy Definition.\n"},"name":{"type":"string","description":"The name which should be used for this Subnet Service Endpoint Storage Policy Definition.\n"},"service":{"type":"string","description":"The type of service resources. Valid values are `Microsoft.Storage` or `Global`. When the \u003cspan pulumi-lang-nodejs=\"`serviceResources`\" pulumi-lang-dotnet=\"`ServiceResources`\" pulumi-lang-go=\"`serviceResources`\" pulumi-lang-python=\"`service_resources`\" pulumi-lang-yaml=\"`serviceResources`\" pulumi-lang-java=\"`serviceResources`\"\u003e`service_resources`\u003c/span\u003e property contains resource IDs, this property must be `Microsoft.Storage`. When the \u003cspan pulumi-lang-nodejs=\"`serviceResources`\" pulumi-lang-dotnet=\"`ServiceResources`\" pulumi-lang-go=\"`serviceResources`\" pulumi-lang-python=\"`service_resources`\" pulumi-lang-yaml=\"`serviceResources`\" pulumi-lang-java=\"`serviceResources`\"\u003e`service_resources`\u003c/span\u003e property contains Aliases, this property must be `Global`. Defaults to `Microsoft.Storage`.\n"},"serviceResources":{"type":"array","items":{"type":"string"},"description":"Specifies a list of resources or aliases that this Subnet Service Endpoint Storage Policy Definition applies to.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`serviceResources`\" pulumi-lang-dotnet=\"`ServiceResources`\" pulumi-lang-go=\"`serviceResources`\" pulumi-lang-python=\"`service_resources`\" pulumi-lang-yaml=\"`serviceResources`\" pulumi-lang-java=\"`serviceResources`\"\u003e`service_resources`\u003c/span\u003e property must contain either Aliases or Resource IDs, but not both.\n"}},"type":"object","required":["name","serviceResources"]},"azure:network/TrafficManagerAzureEndpointCustomHeader:TrafficManagerAzureEndpointCustomHeader":{"properties":{"name":{"type":"string","description":"The name of the custom header.\n"},"value":{"type":"string","description":"The value of custom header. Applicable for HTTP and HTTPS protocol.\n"}},"type":"object","required":["name","value"]},"azure:network/TrafficManagerAzureEndpointSubnet:TrafficManagerAzureEndpointSubnet":{"properties":{"first":{"type":"string","description":"The first IP Address in this subnet.\n"},"last":{"type":"string","description":"The last IP Address in this subnet.\n"},"scope":{"type":"integer","description":"The block size (number of leading bits in the subnet mask).\n"}},"type":"object","required":["first"]},"azure:network/TrafficManagerExternalEndpointCustomHeader:TrafficManagerExternalEndpointCustomHeader":{"properties":{"name":{"type":"string","description":"The name of the custom header.\n"},"value":{"type":"string","description":"The value of custom header. Applicable for HTTP and HTTPS protocol.\n"}},"type":"object","required":["name","value"]},"azure:network/TrafficManagerExternalEndpointSubnet:TrafficManagerExternalEndpointSubnet":{"properties":{"first":{"type":"string","description":"The first IP Address in this subnet.\n"},"last":{"type":"string","description":"The last IP Address in this subnet.\n"},"scope":{"type":"integer","description":"The block size (number of leading bits in the subnet mask).\n"}},"type":"object","required":["first"]},"azure:network/TrafficManagerNestedEndpointCustomHeader:TrafficManagerNestedEndpointCustomHeader":{"properties":{"name":{"type":"string","description":"The name of the custom header.\n"},"value":{"type":"string","description":"The value of custom header. Applicable for HTTP and HTTPS protocol.\n"}},"type":"object","required":["name","value"]},"azure:network/TrafficManagerNestedEndpointSubnet:TrafficManagerNestedEndpointSubnet":{"properties":{"first":{"type":"string","description":"The first IP Address in this subnet.\n"},"last":{"type":"string","description":"The last IP Address in this subnet.\n"},"scope":{"type":"integer","description":"The block size (number of leading bits in the subnet mask).\n"}},"type":"object","required":["first"]},"azure:network/TrafficManagerProfileDnsConfig:TrafficManagerProfileDnsConfig":{"properties":{"relativeName":{"type":"string","description":"The relative domain name, this is combined with the domain name used by Traffic Manager to form the FQDN which is exported as documented below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"ttl":{"type":"integer","description":"The TTL value of the Profile used by Local DNS resolvers and clients.\n"}},"type":"object","required":["relativeName","ttl"]},"azure:network/TrafficManagerProfileMonitorConfig:TrafficManagerProfileMonitorConfig":{"properties":{"customHeaders":{"type":"array","items":{"$ref":"#/types/azure:network/TrafficManagerProfileMonitorConfigCustomHeader:TrafficManagerProfileMonitorConfigCustomHeader"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`customHeader`\" pulumi-lang-dotnet=\"`CustomHeader`\" pulumi-lang-go=\"`customHeader`\" pulumi-lang-python=\"`custom_header`\" pulumi-lang-yaml=\"`customHeader`\" pulumi-lang-java=\"`customHeader`\"\u003e`custom_header`\u003c/span\u003e blocks as defined below.\n"},"expectedStatusCodeRanges":{"type":"array","items":{"type":"string"},"description":"A list of status code ranges in the format of `100-101`.\n"},"intervalInSeconds":{"type":"integer","description":"The interval used to check the endpoint health from a Traffic Manager probing agent. You can specify two values here: \u003cspan pulumi-lang-nodejs=\"`30`\" pulumi-lang-dotnet=\"`30`\" pulumi-lang-go=\"`30`\" pulumi-lang-python=\"`30`\" pulumi-lang-yaml=\"`30`\" pulumi-lang-java=\"`30`\"\u003e`30`\u003c/span\u003e (normal probing) and \u003cspan pulumi-lang-nodejs=\"`10`\" pulumi-lang-dotnet=\"`10`\" pulumi-lang-go=\"`10`\" pulumi-lang-python=\"`10`\" pulumi-lang-yaml=\"`10`\" pulumi-lang-java=\"`10`\"\u003e`10`\u003c/span\u003e (fast probing). The default value is \u003cspan pulumi-lang-nodejs=\"`30`\" pulumi-lang-dotnet=\"`30`\" pulumi-lang-go=\"`30`\" pulumi-lang-python=\"`30`\" pulumi-lang-yaml=\"`30`\" pulumi-lang-java=\"`30`\"\u003e`30`\u003c/span\u003e.\n"},"path":{"type":"string","description":"The path used by the monitoring checks. Required when \u003cspan pulumi-lang-nodejs=\"`protocol`\" pulumi-lang-dotnet=\"`Protocol`\" pulumi-lang-go=\"`protocol`\" pulumi-lang-python=\"`protocol`\" pulumi-lang-yaml=\"`protocol`\" pulumi-lang-java=\"`protocol`\"\u003e`protocol`\u003c/span\u003e is set to `HTTP` or `HTTPS` - cannot be set when \u003cspan pulumi-lang-nodejs=\"`protocol`\" pulumi-lang-dotnet=\"`Protocol`\" pulumi-lang-go=\"`protocol`\" pulumi-lang-python=\"`protocol`\" pulumi-lang-yaml=\"`protocol`\" pulumi-lang-java=\"`protocol`\"\u003e`protocol`\u003c/span\u003e is set to `TCP`.\n"},"port":{"type":"integer","description":"The port number used by the monitoring checks.\n"},"protocol":{"type":"string","description":"The protocol used by the monitoring checks, supported values are `HTTP`, `HTTPS` and `TCP`.\n"},"timeoutInSeconds":{"type":"integer","description":"The amount of time the Traffic Manager probing agent should wait before considering that check a failure when a health check probe is sent to the endpoint. If \u003cspan pulumi-lang-nodejs=\"`intervalInSeconds`\" pulumi-lang-dotnet=\"`IntervalInSeconds`\" pulumi-lang-go=\"`intervalInSeconds`\" pulumi-lang-python=\"`interval_in_seconds`\" pulumi-lang-yaml=\"`intervalInSeconds`\" pulumi-lang-java=\"`intervalInSeconds`\"\u003e`interval_in_seconds`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`30`\" pulumi-lang-dotnet=\"`30`\" pulumi-lang-go=\"`30`\" pulumi-lang-python=\"`30`\" pulumi-lang-yaml=\"`30`\" pulumi-lang-java=\"`30`\"\u003e`30`\u003c/span\u003e, then \u003cspan pulumi-lang-nodejs=\"`timeoutInSeconds`\" pulumi-lang-dotnet=\"`TimeoutInSeconds`\" pulumi-lang-go=\"`timeoutInSeconds`\" pulumi-lang-python=\"`timeout_in_seconds`\" pulumi-lang-yaml=\"`timeoutInSeconds`\" pulumi-lang-java=\"`timeoutInSeconds`\"\u003e`timeout_in_seconds`\u003c/span\u003e can be between \u003cspan pulumi-lang-nodejs=\"`5`\" pulumi-lang-dotnet=\"`5`\" pulumi-lang-go=\"`5`\" pulumi-lang-python=\"`5`\" pulumi-lang-yaml=\"`5`\" pulumi-lang-java=\"`5`\"\u003e`5`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`10`\" pulumi-lang-dotnet=\"`10`\" pulumi-lang-go=\"`10`\" pulumi-lang-python=\"`10`\" pulumi-lang-yaml=\"`10`\" pulumi-lang-java=\"`10`\"\u003e`10`\u003c/span\u003e. The default value is \u003cspan pulumi-lang-nodejs=\"`10`\" pulumi-lang-dotnet=\"`10`\" pulumi-lang-go=\"`10`\" pulumi-lang-python=\"`10`\" pulumi-lang-yaml=\"`10`\" pulumi-lang-java=\"`10`\"\u003e`10`\u003c/span\u003e. If \u003cspan pulumi-lang-nodejs=\"`intervalInSeconds`\" pulumi-lang-dotnet=\"`IntervalInSeconds`\" pulumi-lang-go=\"`intervalInSeconds`\" pulumi-lang-python=\"`interval_in_seconds`\" pulumi-lang-yaml=\"`intervalInSeconds`\" pulumi-lang-java=\"`intervalInSeconds`\"\u003e`interval_in_seconds`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`10`\" pulumi-lang-dotnet=\"`10`\" pulumi-lang-go=\"`10`\" pulumi-lang-python=\"`10`\" pulumi-lang-yaml=\"`10`\" pulumi-lang-java=\"`10`\"\u003e`10`\u003c/span\u003e, then valid values are between \u003cspan pulumi-lang-nodejs=\"`5`\" pulumi-lang-dotnet=\"`5`\" pulumi-lang-go=\"`5`\" pulumi-lang-python=\"`5`\" pulumi-lang-yaml=\"`5`\" pulumi-lang-java=\"`5`\"\u003e`5`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`9`\" pulumi-lang-dotnet=\"`9`\" pulumi-lang-go=\"`9`\" pulumi-lang-python=\"`9`\" pulumi-lang-yaml=\"`9`\" pulumi-lang-java=\"`9`\"\u003e`9`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`timeoutInSeconds`\" pulumi-lang-dotnet=\"`TimeoutInSeconds`\" pulumi-lang-go=\"`timeoutInSeconds`\" pulumi-lang-python=\"`timeout_in_seconds`\" pulumi-lang-yaml=\"`timeoutInSeconds`\" pulumi-lang-java=\"`timeoutInSeconds`\"\u003e`timeout_in_seconds`\u003c/span\u003e is required.\n"},"toleratedNumberOfFailures":{"type":"integer","description":"The number of failures a Traffic Manager probing agent tolerates before marking that endpoint as unhealthy. Valid values are between \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`9`\" pulumi-lang-dotnet=\"`9`\" pulumi-lang-go=\"`9`\" pulumi-lang-python=\"`9`\" pulumi-lang-yaml=\"`9`\" pulumi-lang-java=\"`9`\"\u003e`9`\u003c/span\u003e. The default value is \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e\n"}},"type":"object","required":["port","protocol"]},"azure:network/TrafficManagerProfileMonitorConfigCustomHeader:TrafficManagerProfileMonitorConfigCustomHeader":{"properties":{"name":{"type":"string","description":"The name of the custom header.\n"},"value":{"type":"string","description":"The value of custom header. Applicable for HTTP and HTTPS protocol.\n"}},"type":"object","required":["name","value"]},"azure:network/VirtualHubConnectionRouting:VirtualHubConnectionRouting":{"properties":{"associatedRouteTableId":{"type":"string","description":"The ID of the route table associated with this Virtual Hub connection.\n"},"inboundRouteMapId":{"type":"string","description":"The resource ID of the Route Map associated with this Routing Configuration for inbound learned routes.\n"},"outboundRouteMapId":{"type":"string","description":"The resource ID of the Route Map associated with this Routing Configuration for outbound advertised routes.\n"},"propagatedRouteTable":{"$ref":"#/types/azure:network/VirtualHubConnectionRoutingPropagatedRouteTable:VirtualHubConnectionRoutingPropagatedRouteTable","description":"A \u003cspan pulumi-lang-nodejs=\"`propagatedRouteTable`\" pulumi-lang-dotnet=\"`PropagatedRouteTable`\" pulumi-lang-go=\"`propagatedRouteTable`\" pulumi-lang-python=\"`propagated_route_table`\" pulumi-lang-yaml=\"`propagatedRouteTable`\" pulumi-lang-java=\"`propagatedRouteTable`\"\u003e`propagated_route_table`\u003c/span\u003e block as defined below.\n"},"staticVnetLocalRouteOverrideCriteria":{"type":"string","description":"The static VNet local route override criteria that is used to determine whether NVA in spoke VNet is bypassed for traffic with destination in spoke VNet. Possible values are `Contains` and `Equal`. Defaults to `Contains`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"staticVnetPropagateStaticRoutesEnabled":{"type":"boolean","description":"Whether the static routes should be propagated to the Virtual Hub. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"staticVnetRoutes":{"type":"array","items":{"$ref":"#/types/azure:network/VirtualHubConnectionRoutingStaticVnetRoute:VirtualHubConnectionRoutingStaticVnetRoute"},"description":"A \u003cspan pulumi-lang-nodejs=\"`staticVnetRoute`\" pulumi-lang-dotnet=\"`StaticVnetRoute`\" pulumi-lang-go=\"`staticVnetRoute`\" pulumi-lang-python=\"`static_vnet_route`\" pulumi-lang-yaml=\"`staticVnetRoute`\" pulumi-lang-java=\"`staticVnetRoute`\"\u003e`static_vnet_route`\u003c/span\u003e block as defined below.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["associatedRouteTableId","propagatedRouteTable"]}}},"azure:network/VirtualHubConnectionRoutingPropagatedRouteTable:VirtualHubConnectionRoutingPropagatedRouteTable":{"properties":{"labels":{"type":"array","items":{"type":"string"},"description":"The list of labels to assign to this route table.\n"},"routeTableIds":{"type":"array","items":{"type":"string"},"description":"A list of Route Table IDs to associated with this Virtual Hub Connection.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["labels","routeTableIds"]}}},"azure:network/VirtualHubConnectionRoutingStaticVnetRoute:VirtualHubConnectionRoutingStaticVnetRoute":{"properties":{"addressPrefixes":{"type":"array","items":{"type":"string"},"description":"A list of CIDR Ranges which should be used as Address Prefixes.\n"},"name":{"type":"string","description":"The name which should be used for this Static Route.\n"},"nextHopIpAddress":{"type":"string","description":"The IP Address which should be used for the Next Hop.\n"}},"type":"object"},"azure:network/VirtualHubRoute:VirtualHubRoute":{"properties":{"addressPrefixes":{"type":"array","items":{"type":"string"},"description":"A list of Address Prefixes.\n"},"nextHopIpAddress":{"type":"string","description":"The IP Address that Packets should be forwarded to as the Next Hop.\n"}},"type":"object","required":["addressPrefixes","nextHopIpAddress"]},"azure:network/VirtualHubRouteTableRoute:VirtualHubRouteTableRoute":{"properties":{"destinations":{"type":"array","items":{"type":"string"},"description":"A list of destination addresses for this route.\n"},"destinationsType":{"type":"string","description":"The type of destinations. Possible values are `CIDR`, `ResourceId` and `Service`.\n"},"name":{"type":"string","description":"The name which should be used for this route.\n"},"nextHop":{"type":"string","description":"The next hop's resource ID.\n"},"nextHopType":{"type":"string","description":"The type of next hop. Currently the only possible value is `ResourceId`. Defaults to `ResourceId`.\n\n\u003e **Note:** The Routes can alternatively be created using the\u003cspan pulumi-lang-nodejs=\" virtualHubRouteTableRoute \" pulumi-lang-dotnet=\" VirtualHubRouteTableRoute \" pulumi-lang-go=\" virtualHubRouteTableRoute \" pulumi-lang-python=\" virtual_hub_route_table_route \" pulumi-lang-yaml=\" virtualHubRouteTableRoute \" pulumi-lang-java=\" virtualHubRouteTableRoute \"\u003e virtual_hub_route_table_route \u003c/span\u003eresource. Using both inline and external routes is not supported and may result in unexpected configuration.\n"}},"type":"object","required":["destinations","destinationsType","name","nextHop"]},"azure:network/VirtualNetworkDdosProtectionPlan:VirtualNetworkDdosProtectionPlan":{"properties":{"enable":{"type":"boolean","description":"Enable/disable DDoS Protection Plan on Virtual Network.\n"},"id":{"type":"string","description":"The ID of DDoS Protection Plan.\n"}},"type":"object","required":["enable","id"]},"azure:network/VirtualNetworkEncryption:VirtualNetworkEncryption":{"properties":{"enforcement":{"type":"string","description":"Specifies if the encrypted Virtual Network allows VM that does not support encryption. Possible values are `DropUnencrypted` and `AllowUnencrypted`.\n\n\u003e **Note:** Currently `AllowUnencrypted` is the only supported value for the \u003cspan pulumi-lang-nodejs=\"`enforcement`\" pulumi-lang-dotnet=\"`Enforcement`\" pulumi-lang-go=\"`enforcement`\" pulumi-lang-python=\"`enforcement`\" pulumi-lang-yaml=\"`enforcement`\" pulumi-lang-java=\"`enforcement`\"\u003e`enforcement`\u003c/span\u003e property as `DropUnencrypted` is not yet in public preview or general availability. Please see the [official documentation](https://learn.microsoft.com/en-us/azure/virtual-network/virtual-network-encryption-overview#limitations) for more information.\n"}},"type":"object","required":["enforcement"]},"azure:network/VirtualNetworkGatewayBgpSettings:VirtualNetworkGatewayBgpSettings":{"properties":{"asn":{"type":"integer","description":"The Autonomous System Number (ASN) to use as part of the BGP.\n"},"peerWeight":{"type":"integer","description":"The weight added to routes which have been learned through BGP peering. Valid values can be between \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`100`\" pulumi-lang-dotnet=\"`100`\" pulumi-lang-go=\"`100`\" pulumi-lang-python=\"`100`\" pulumi-lang-yaml=\"`100`\" pulumi-lang-java=\"`100`\"\u003e`100`\u003c/span\u003e.\n"},"peeringAddresses":{"type":"array","items":{"$ref":"#/types/azure:network/VirtualNetworkGatewayBgpSettingsPeeringAddress:VirtualNetworkGatewayBgpSettingsPeeringAddress"},"description":"A list of \u003cspan pulumi-lang-nodejs=\"`peeringAddresses`\" pulumi-lang-dotnet=\"`PeeringAddresses`\" pulumi-lang-go=\"`peeringAddresses`\" pulumi-lang-python=\"`peering_addresses`\" pulumi-lang-yaml=\"`peeringAddresses`\" pulumi-lang-java=\"`peeringAddresses`\"\u003e`peering_addresses`\u003c/span\u003e blocks as defined below. Only one \u003cspan pulumi-lang-nodejs=\"`peeringAddresses`\" pulumi-lang-dotnet=\"`PeeringAddresses`\" pulumi-lang-go=\"`peeringAddresses`\" pulumi-lang-python=\"`peering_addresses`\" pulumi-lang-yaml=\"`peeringAddresses`\" pulumi-lang-java=\"`peeringAddresses`\"\u003e`peering_addresses`\u003c/span\u003e block can be specified except when \u003cspan pulumi-lang-nodejs=\"`activeActive`\" pulumi-lang-dotnet=\"`ActiveActive`\" pulumi-lang-go=\"`activeActive`\" pulumi-lang-python=\"`active_active`\" pulumi-lang-yaml=\"`activeActive`\" pulumi-lang-java=\"`activeActive`\"\u003e`active_active`\u003c/span\u003e of this Virtual Network Gateway is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["peeringAddresses"]}}},"azure:network/VirtualNetworkGatewayBgpSettingsPeeringAddress:VirtualNetworkGatewayBgpSettingsPeeringAddress":{"properties":{"apipaAddresses":{"type":"array","items":{"type":"string"},"description":"A list of Azure custom APIPA addresses assigned to the BGP peer of the Virtual Network Gateway.\n\n\u003e **Note:** The valid range for the reserved APIPA address in Azure Public is from `169.254.21.0` to `169.254.22.255`.\n"},"defaultAddresses":{"type":"array","items":{"type":"string"},"description":"A list of peering address assigned to the BGP peer of the Virtual Network Gateway.\n"},"ipConfigurationName":{"type":"string","description":"The name of the IP configuration of this Virtual Network Gateway. In case there are multiple \u003cspan pulumi-lang-nodejs=\"`ipConfiguration`\" pulumi-lang-dotnet=\"`IpConfiguration`\" pulumi-lang-go=\"`ipConfiguration`\" pulumi-lang-python=\"`ip_configuration`\" pulumi-lang-yaml=\"`ipConfiguration`\" pulumi-lang-java=\"`ipConfiguration`\"\u003e`ip_configuration`\u003c/span\u003e blocks defined, this property is **required** to specify.\n"},"tunnelIpAddresses":{"type":"array","items":{"type":"string"},"description":"A list of tunnel IP addresses assigned to the BGP peer of the Virtual Network Gateway.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["defaultAddresses","ipConfigurationName","tunnelIpAddresses"]}}},"azure:network/VirtualNetworkGatewayConnectionCustomBgpAddresses:VirtualNetworkGatewayConnectionCustomBgpAddresses":{"properties":{"primary":{"type":"string","description":"single IP address that is part of the \u003cspan pulumi-lang-nodejs=\"`azure.network.VirtualNetworkGateway`\" pulumi-lang-dotnet=\"`azure.network.VirtualNetworkGateway`\" pulumi-lang-go=\"`network.VirtualNetworkGateway`\" pulumi-lang-python=\"`network.VirtualNetworkGateway`\" pulumi-lang-yaml=\"`azure.network.VirtualNetworkGateway`\" pulumi-lang-java=\"`azure.network.VirtualNetworkGateway`\"\u003e`azure.network.VirtualNetworkGateway`\u003c/span\u003e\u003cspan pulumi-lang-nodejs=\" ipConfiguration \" pulumi-lang-dotnet=\" IpConfiguration \" pulumi-lang-go=\" ipConfiguration \" pulumi-lang-python=\" ip_configuration \" pulumi-lang-yaml=\" ipConfiguration \" pulumi-lang-java=\" ipConfiguration \"\u003e ip_configuration \u003c/span\u003e(first one)\n"},"secondary":{"type":"string","description":"single IP address that is part of the \u003cspan pulumi-lang-nodejs=\"`azure.network.VirtualNetworkGateway`\" pulumi-lang-dotnet=\"`azure.network.VirtualNetworkGateway`\" pulumi-lang-go=\"`network.VirtualNetworkGateway`\" pulumi-lang-python=\"`network.VirtualNetworkGateway`\" pulumi-lang-yaml=\"`azure.network.VirtualNetworkGateway`\" pulumi-lang-java=\"`azure.network.VirtualNetworkGateway`\"\u003e`azure.network.VirtualNetworkGateway`\u003c/span\u003e\u003cspan pulumi-lang-nodejs=\" ipConfiguration \" pulumi-lang-dotnet=\" IpConfiguration \" pulumi-lang-go=\" ipConfiguration \" pulumi-lang-python=\" ip_configuration \" pulumi-lang-yaml=\" ipConfiguration \" pulumi-lang-java=\" ipConfiguration \"\u003e ip_configuration \u003c/span\u003e(second one)\n"}},"type":"object","required":["primary"]},"azure:network/VirtualNetworkGatewayConnectionIpsecPolicy:VirtualNetworkGatewayConnectionIpsecPolicy":{"properties":{"dhGroup":{"type":"string","description":"The DH group used in IKE phase 1 for initial SA. Valid options are `DHGroup1`, `DHGroup14`, `DHGroup2`, `DHGroup2048`, `DHGroup24`, `ECP256`, `ECP384`, or `None`.\n"},"ikeEncryption":{"type":"string","description":"The IKE encryption algorithm. Valid options are `AES128`, `AES192`, `AES256`, `DES`, `DES3`, `GCMAES128`, or `GCMAES256`.\n"},"ikeIntegrity":{"type":"string","description":"The IKE integrity algorithm. Valid options are `GCMAES128`, `GCMAES256`, `MD5`, `SHA1`, `SHA256`, or `SHA384`.\n"},"ipsecEncryption":{"type":"string","description":"The IPSec encryption algorithm. Valid options are `AES128`, `AES192`, `AES256`, `DES`, `DES3`, `GCMAES128`, `GCMAES192`, `GCMAES256`, or `None`.\n"},"ipsecIntegrity":{"type":"string","description":"The IPSec integrity algorithm. Valid options are `GCMAES128`, `GCMAES192`, `GCMAES256`, `MD5`, `SHA1`, or `SHA256`.\n"},"pfsGroup":{"type":"string","description":"The DH group used in IKE phase 2 for new child SA.\nValid options are `ECP256`, `ECP384`, `PFS1`, `PFS14`, `PFS2`, `PFS2048`, `PFS24`, `PFSMM`,\nor `None`.\n"},"saDatasize":{"type":"integer","description":"The IPSec SA payload size in KB. Must be at least \u003cspan pulumi-lang-nodejs=\"`1024`\" pulumi-lang-dotnet=\"`1024`\" pulumi-lang-go=\"`1024`\" pulumi-lang-python=\"`1024`\" pulumi-lang-yaml=\"`1024`\" pulumi-lang-java=\"`1024`\"\u003e`1024`\u003c/span\u003e KB. Defaults to \u003cspan pulumi-lang-nodejs=\"`102400000`\" pulumi-lang-dotnet=\"`102400000`\" pulumi-lang-go=\"`102400000`\" pulumi-lang-python=\"`102400000`\" pulumi-lang-yaml=\"`102400000`\" pulumi-lang-java=\"`102400000`\"\u003e`102400000`\u003c/span\u003e KB.\n"},"saLifetime":{"type":"integer","description":"The IPSec SA lifetime in seconds. Must be at least \u003cspan pulumi-lang-nodejs=\"`300`\" pulumi-lang-dotnet=\"`300`\" pulumi-lang-go=\"`300`\" pulumi-lang-python=\"`300`\" pulumi-lang-yaml=\"`300`\" pulumi-lang-java=\"`300`\"\u003e`300`\u003c/span\u003e seconds. Defaults to \u003cspan pulumi-lang-nodejs=\"`27000`\" pulumi-lang-dotnet=\"`27000`\" pulumi-lang-go=\"`27000`\" pulumi-lang-python=\"`27000`\" pulumi-lang-yaml=\"`27000`\" pulumi-lang-java=\"`27000`\"\u003e`27000`\u003c/span\u003e seconds.\n"}},"type":"object","required":["dhGroup","ikeEncryption","ikeIntegrity","ipsecEncryption","ipsecIntegrity","pfsGroup"],"language":{"nodejs":{"requiredOutputs":["dhGroup","ikeEncryption","ikeIntegrity","ipsecEncryption","ipsecIntegrity","pfsGroup","saDatasize","saLifetime"]}}},"azure:network/VirtualNetworkGatewayConnectionTrafficSelectorPolicy:VirtualNetworkGatewayConnectionTrafficSelectorPolicy":{"properties":{"localAddressCidrs":{"type":"array","items":{"type":"string"},"description":"List of local CIDRs.\n"},"remoteAddressCidrs":{"type":"array","items":{"type":"string"},"description":"List of remote CIDRs.\n"}},"type":"object","required":["localAddressCidrs","remoteAddressCidrs"]},"azure:network/VirtualNetworkGatewayCustomRoute:VirtualNetworkGatewayCustomRoute":{"properties":{"addressPrefixes":{"type":"array","items":{"type":"string"},"description":"A list of address blocks reserved for this virtual network in CIDR notation.\n"}},"type":"object"},"azure:network/VirtualNetworkGatewayIpConfiguration:VirtualNetworkGatewayIpConfiguration":{"properties":{"name":{"type":"string","description":"A user-defined name of the IP configuration. Defaults to `vnetGatewayConfig`.\n"},"privateIpAddressAllocation":{"type":"string","description":"Defines how the private IP address of the gateways virtual interface is assigned. The only valid value is `Dynamic` for Virtual Network Gateway (`Static` is not supported by the service yet). Defaults to `Dynamic`.\n"},"publicIpAddressId":{"type":"string","description":"The ID of the public IP address to associate with the Virtual Network Gateway.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`publicIpAddressId`\" pulumi-lang-dotnet=\"`PublicIpAddressId`\" pulumi-lang-go=\"`publicIpAddressId`\" pulumi-lang-python=\"`public_ip_address_id`\" pulumi-lang-yaml=\"`publicIpAddressId`\" pulumi-lang-java=\"`publicIpAddressId`\"\u003e`public_ip_address_id`\u003c/span\u003e should not be specified when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to `ExpressRoute`.\n"},"subnetId":{"type":"string","description":"The ID of the gateway subnet of a virtual network in which the virtual network gateway will be created. It is mandatory that the associated subnet is named `GatewaySubnet`. Therefore, each virtual network can contain at most a single Virtual Network Gateway.\n"}},"type":"object","required":["subnetId"]},"azure:network/VirtualNetworkGatewayNatRuleExternalMapping:VirtualNetworkGatewayNatRuleExternalMapping":{"properties":{"addressSpace":{"type":"string","description":"The string CIDR representing the address space for the Virtual Network Gateway Nat Rule external mapping.\n"},"portRange":{"type":"string","description":"The single port range for the Virtual Network Gateway Nat Rule external mapping.\n"}},"type":"object","required":["addressSpace"]},"azure:network/VirtualNetworkGatewayNatRuleInternalMapping:VirtualNetworkGatewayNatRuleInternalMapping":{"properties":{"addressSpace":{"type":"string","description":"The string CIDR representing the address space for the Virtual Network Gateway Nat Rule internal mapping.\n"},"portRange":{"type":"string","description":"The single port range for the Virtual Network Gateway Nat Rule internal mapping.\n"}},"type":"object","required":["addressSpace"]},"azure:network/VirtualNetworkGatewayPolicyGroup:VirtualNetworkGatewayPolicyGroup":{"properties":{"isDefault":{"type":"boolean","description":"Is this a Default Virtual Network Gateway Policy Group? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"name":{"type":"string","description":"The name of the Virtual Network Gateway Policy Group.\n"},"policyMembers":{"type":"array","items":{"$ref":"#/types/azure:network/VirtualNetworkGatewayPolicyGroupPolicyMember:VirtualNetworkGatewayPolicyGroupPolicyMember"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`policyMember`\" pulumi-lang-dotnet=\"`PolicyMember`\" pulumi-lang-go=\"`policyMember`\" pulumi-lang-python=\"`policy_member`\" pulumi-lang-yaml=\"`policyMember`\" pulumi-lang-java=\"`policyMember`\"\u003e`policy_member`\u003c/span\u003e blocks as defined below.\n"},"priority":{"type":"integer","description":"The priority for the Virtual Network Gateway Policy Group. Defaults to \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"}},"type":"object","required":["name","policyMembers"]},"azure:network/VirtualNetworkGatewayPolicyGroupPolicyMember:VirtualNetworkGatewayPolicyGroupPolicyMember":{"properties":{"name":{"type":"string","description":"The name of the Virtual Network Gateway Policy Group Member.\n"},"type":{"type":"string","description":"The VPN Policy Member attribute type. Possible values are `AADGroupId`, `CertificateGroupId` and `RadiusAzureGroupId`.\n"},"value":{"type":"string","description":"The value of attribute that is used for this Virtual Network Gateway Policy Group Member.\n"}},"type":"object","required":["name","type","value"]},"azure:network/VirtualNetworkGatewayVpnClientConfiguration:VirtualNetworkGatewayVpnClientConfiguration":{"properties":{"aadAudience":{"type":"string","description":"The client id of the Azure VPN application.\nSee [Create an Active Directory (AD) tenant for P2S OpenVPN protocol connections](https://docs.microsoft.com/en-gb/azure/vpn-gateway/openvpn-azure-ad-tenant-multi-app) for values\n"},"aadIssuer":{"type":"string","description":"The STS url for your tenant\n"},"aadTenant":{"type":"string","description":"AzureAD Tenant URL\n"},"addressSpaces":{"type":"array","items":{"type":"string"},"description":"The address space out of which IP addresses for vpn clients will be taken. You can provide more than one address space, e.g. in CIDR notation.\n"},"ipsecPolicy":{"$ref":"#/types/azure:network/VirtualNetworkGatewayVpnClientConfigurationIpsecPolicy:VirtualNetworkGatewayVpnClientConfigurationIpsecPolicy","description":"An \u003cspan pulumi-lang-nodejs=\"`ipsecPolicy`\" pulumi-lang-dotnet=\"`IpsecPolicy`\" pulumi-lang-go=\"`ipsecPolicy`\" pulumi-lang-python=\"`ipsec_policy`\" pulumi-lang-yaml=\"`ipsecPolicy`\" pulumi-lang-java=\"`ipsecPolicy`\"\u003e`ipsec_policy`\u003c/span\u003e block as defined below.\n"},"radiusServerAddress":{"type":"string","description":"The address of the Radius server.\n"},"radiusServerSecret":{"type":"string","description":"The secret used by the Radius server.\n"},"radiusServers":{"type":"array","items":{"$ref":"#/types/azure:network/VirtualNetworkGatewayVpnClientConfigurationRadiusServer:VirtualNetworkGatewayVpnClientConfigurationRadiusServer"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`radiusServer`\" pulumi-lang-dotnet=\"`RadiusServer`\" pulumi-lang-go=\"`radiusServer`\" pulumi-lang-python=\"`radius_server`\" pulumi-lang-yaml=\"`radiusServer`\" pulumi-lang-java=\"`radiusServer`\"\u003e`radius_server`\u003c/span\u003e blocks as defined below.\n"},"revokedCertificates":{"type":"array","items":{"$ref":"#/types/azure:network/VirtualNetworkGatewayVpnClientConfigurationRevokedCertificate:VirtualNetworkGatewayVpnClientConfigurationRevokedCertificate"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`revokedCertificate`\" pulumi-lang-dotnet=\"`RevokedCertificate`\" pulumi-lang-go=\"`revokedCertificate`\" pulumi-lang-python=\"`revoked_certificate`\" pulumi-lang-yaml=\"`revokedCertificate`\" pulumi-lang-java=\"`revokedCertificate`\"\u003e`revoked_certificate`\u003c/span\u003e blocks which are defined below.\n"},"rootCertificates":{"type":"array","items":{"$ref":"#/types/azure:network/VirtualNetworkGatewayVpnClientConfigurationRootCertificate:VirtualNetworkGatewayVpnClientConfigurationRootCertificate"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`rootCertificate`\" pulumi-lang-dotnet=\"`RootCertificate`\" pulumi-lang-go=\"`rootCertificate`\" pulumi-lang-python=\"`root_certificate`\" pulumi-lang-yaml=\"`rootCertificate`\" pulumi-lang-java=\"`rootCertificate`\"\u003e`root_certificate`\u003c/span\u003e blocks which are defined below. These root certificates are used to sign the client certificate used by the VPN clients to connect to the gateway.\n"},"virtualNetworkGatewayClientConnections":{"type":"array","items":{"$ref":"#/types/azure:network/VirtualNetworkGatewayVpnClientConfigurationVirtualNetworkGatewayClientConnection:VirtualNetworkGatewayVpnClientConfigurationVirtualNetworkGatewayClientConnection"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`virtualNetworkGatewayClientConnection`\" pulumi-lang-dotnet=\"`VirtualNetworkGatewayClientConnection`\" pulumi-lang-go=\"`virtualNetworkGatewayClientConnection`\" pulumi-lang-python=\"`virtual_network_gateway_client_connection`\" pulumi-lang-yaml=\"`virtualNetworkGatewayClientConnection`\" pulumi-lang-java=\"`virtualNetworkGatewayClientConnection`\"\u003e`virtual_network_gateway_client_connection`\u003c/span\u003e blocks as defined below.\n"},"vpnAuthTypes":{"type":"array","items":{"type":"string"},"description":"List of the vpn authentication types for the virtual network gateway.\nThe supported values are `AAD`, `Radius` and `Certificate`.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`vpnAuthTypes`\" pulumi-lang-dotnet=\"`VpnAuthTypes`\" pulumi-lang-go=\"`vpnAuthTypes`\" pulumi-lang-python=\"`vpn_auth_types`\" pulumi-lang-yaml=\"`vpnAuthTypes`\" pulumi-lang-java=\"`vpnAuthTypes`\"\u003e`vpn_auth_types`\u003c/span\u003e must be set when using multiple vpn authentication types.\n"},"vpnClientProtocols":{"type":"array","items":{"type":"string"},"description":"List of the protocols supported by the vpn client.\nThe supported values are `SSTP`, `IkeV2` and `OpenVPN`.\nValues `SSTP` and `IkeV2` are incompatible with the use of\n\u003cspan pulumi-lang-nodejs=\"`aadTenant`\" pulumi-lang-dotnet=\"`AadTenant`\" pulumi-lang-go=\"`aadTenant`\" pulumi-lang-python=\"`aad_tenant`\" pulumi-lang-yaml=\"`aadTenant`\" pulumi-lang-java=\"`aadTenant`\"\u003e`aad_tenant`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`aadAudience`\" pulumi-lang-dotnet=\"`AadAudience`\" pulumi-lang-go=\"`aadAudience`\" pulumi-lang-python=\"`aad_audience`\" pulumi-lang-yaml=\"`aadAudience`\" pulumi-lang-java=\"`aadAudience`\"\u003e`aad_audience`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`aadIssuer`\" pulumi-lang-dotnet=\"`AadIssuer`\" pulumi-lang-go=\"`aadIssuer`\" pulumi-lang-python=\"`aad_issuer`\" pulumi-lang-yaml=\"`aadIssuer`\" pulumi-lang-java=\"`aadIssuer`\"\u003e`aad_issuer`\u003c/span\u003e.\n"}},"type":"object","required":["addressSpaces"],"language":{"nodejs":{"requiredOutputs":["addressSpaces","vpnAuthTypes","vpnClientProtocols"]}}},"azure:network/VirtualNetworkGatewayVpnClientConfigurationIpsecPolicy:VirtualNetworkGatewayVpnClientConfigurationIpsecPolicy":{"properties":{"dhGroup":{"type":"string","description":"The DH Group, used in IKE Phase 1. Possible values are `DHGroup1`, `DHGroup2`, `DHGroup14`, `DHGroup24`, `DHGroup2048`, `ECP256`, `ECP384` and `None`.\n"},"ikeEncryption":{"type":"string","description":"The IKE encryption algorithm, used for IKE Phase 2. Possible values are `AES128`, `AES192`, `AES256`, `DES`, `DES3`, `GCMAES128` and `GCMAES256`.\n"},"ikeIntegrity":{"type":"string","description":"The IKE encryption integrity algorithm, used for IKE Phase 2. Possible values are `GCMAES128`, `GCMAES256`, `MD5`, `SHA1`, `SHA256` and `SHA384`.\n"},"ipsecEncryption":{"type":"string","description":"The IPSec encryption algorithm, used for IKE phase 1. Possible values are `AES128`, `AES192`, `AES256`, `DES`, `DES3`, `GCMAES128`, `GCMAES192`, `GCMAES256` and `None`.\n"},"ipsecIntegrity":{"type":"string","description":"The IPSec integrity algorithm, used for IKE phase 1. Possible values are `GCMAES128`, `GCMAES192`, `GCMAES256`, `MD5`, `SHA1` and `SHA256`.\n"},"pfsGroup":{"type":"string","description":"The Pfs Group, used in IKE Phase 2. Possible values are `ECP256`, `ECP384`, `PFS1`, `PFS2`, `PFS14`, `PFS24`, `PFS2048`, `PFSMM` and `None`.\n"},"saDataSizeInKilobytes":{"type":"integer","description":"The IPSec Security Association payload size in KB for a Site-to-Site VPN tunnel. Possible values are between \u003cspan pulumi-lang-nodejs=\"`1024`\" pulumi-lang-dotnet=\"`1024`\" pulumi-lang-go=\"`1024`\" pulumi-lang-python=\"`1024`\" pulumi-lang-yaml=\"`1024`\" pulumi-lang-java=\"`1024`\"\u003e`1024`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`2147483647`\" pulumi-lang-dotnet=\"`2147483647`\" pulumi-lang-go=\"`2147483647`\" pulumi-lang-python=\"`2147483647`\" pulumi-lang-yaml=\"`2147483647`\" pulumi-lang-java=\"`2147483647`\"\u003e`2147483647`\u003c/span\u003e.\n"},"saLifetimeInSeconds":{"type":"integer","description":"The IPSec Security Association lifetime in seconds for a Site-to-Site VPN tunnel. Possible values are between \u003cspan pulumi-lang-nodejs=\"`300`\" pulumi-lang-dotnet=\"`300`\" pulumi-lang-go=\"`300`\" pulumi-lang-python=\"`300`\" pulumi-lang-yaml=\"`300`\" pulumi-lang-java=\"`300`\"\u003e`300`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`172799`\" pulumi-lang-dotnet=\"`172799`\" pulumi-lang-go=\"`172799`\" pulumi-lang-python=\"`172799`\" pulumi-lang-yaml=\"`172799`\" pulumi-lang-java=\"`172799`\"\u003e`172799`\u003c/span\u003e.\n"}},"type":"object","required":["dhGroup","ikeEncryption","ikeIntegrity","ipsecEncryption","ipsecIntegrity","pfsGroup","saDataSizeInKilobytes","saLifetimeInSeconds"]},"azure:network/VirtualNetworkGatewayVpnClientConfigurationRadiusServer:VirtualNetworkGatewayVpnClientConfigurationRadiusServer":{"properties":{"address":{"type":"string","description":"The address of the Radius Server.\n"},"score":{"type":"integer","description":"The score of the Radius Server determines the priority of the server. Possible values are between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`30`\" pulumi-lang-dotnet=\"`30`\" pulumi-lang-go=\"`30`\" pulumi-lang-python=\"`30`\" pulumi-lang-yaml=\"`30`\" pulumi-lang-java=\"`30`\"\u003e`30`\u003c/span\u003e.\n"},"secret":{"type":"string","description":"The secret that is used to communicate with the Radius Server.\n","secret":true}},"type":"object","required":["address","score","secret"]},"azure:network/VirtualNetworkGatewayVpnClientConfigurationRevokedCertificate:VirtualNetworkGatewayVpnClientConfigurationRevokedCertificate":{"properties":{"name":{"type":"string","description":"Specifies the name of the certificate resource.\n"},"thumbprint":{"type":"string","description":"Specifies the public data of the certificate.\n"}},"type":"object","required":["name","thumbprint"]},"azure:network/VirtualNetworkGatewayVpnClientConfigurationRootCertificate:VirtualNetworkGatewayVpnClientConfigurationRootCertificate":{"properties":{"name":{"type":"string","description":"A user-defined name of the root certificate.\n"},"publicCertData":{"type":"string","description":"The public certificate of the root certificate authority. The certificate must be provided in Base-64 encoded X.509 format (PEM). In particular, this argument *must not* include the `-----BEGIN CERTIFICATE-----` or `-----END CERTIFICATE-----` markers, nor any newlines.\n"}},"type":"object","required":["name","publicCertData"]},"azure:network/VirtualNetworkGatewayVpnClientConfigurationVirtualNetworkGatewayClientConnection:VirtualNetworkGatewayVpnClientConfigurationVirtualNetworkGatewayClientConnection":{"properties":{"addressPrefixes":{"type":"array","items":{"type":"string"},"description":"A list of address prefixes for P2S VPN Client.\n"},"name":{"type":"string","description":"The name of the Virtual Network Gateway Client Connection.\n"},"policyGroupNames":{"type":"array","items":{"type":"string"},"description":"A list of names of Virtual Network Gateway Policy Groups.\n"}},"type":"object","required":["addressPrefixes","name","policyGroupNames"]},"azure:network/VirtualNetworkIpAddressPool:VirtualNetworkIpAddressPool":{"properties":{"allocatedIpAddressPrefixes":{"type":"array","items":{"type":"string"},"description":"The list of IP address prefixes allocated to the Virtual Network.\n"},"id":{"type":"string","description":"The ID of the Network Manager IP Address Management (IPAM) Pool.\n"},"numberOfIpAddresses":{"type":"string","description":"The number of IP addresses to allocated to the Virtual Network. The value must be a string that represents a positive number, e.g., `\"100\"`.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`numberOfIpAddresses`\" pulumi-lang-dotnet=\"`NumberOfIpAddresses`\" pulumi-lang-go=\"`numberOfIpAddresses`\" pulumi-lang-python=\"`number_of_ip_addresses`\" pulumi-lang-yaml=\"`numberOfIpAddresses`\" pulumi-lang-java=\"`numberOfIpAddresses`\"\u003e`number_of_ip_addresses`\u003c/span\u003e cannot be decreased.\n"}},"type":"object","required":["id","numberOfIpAddresses"],"language":{"nodejs":{"requiredOutputs":["allocatedIpAddressPrefixes","id","numberOfIpAddresses"]}}},"azure:network/VirtualNetworkSubnet:VirtualNetworkSubnet":{"properties":{"addressPrefixes":{"type":"array","items":{"type":"string"},"description":"The address prefixes to use for the subnet.\n"},"defaultOutboundAccessEnabled":{"type":"boolean","description":"Enable default outbound access to the internet for the subnet. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"delegation":{"$ref":"#/types/azure:network/VirtualNetworkSubnetDelegation:VirtualNetworkSubnetDelegation","description":"One or more \u003cspan pulumi-lang-nodejs=\"`delegation`\" pulumi-lang-dotnet=\"`Delegation`\" pulumi-lang-go=\"`delegation`\" pulumi-lang-python=\"`delegation`\" pulumi-lang-yaml=\"`delegation`\" pulumi-lang-java=\"`delegation`\"\u003e`delegation`\u003c/span\u003e blocks as defined below.\n"},"id":{"type":"string","description":"The ID of this subnet.\n"},"name":{"type":"string","description":"The name of the subnet.\n"},"privateEndpointNetworkPolicies":{"type":"string","description":"Enable or Disable network policies for the private endpoint on the subnet. Possible values are `Disabled`, `Enabled`, `NetworkSecurityGroupEnabled` and `RouteTableEnabled`. Defaults to `Disabled`.\n\n\u003e **Note:** If you don't want to use network policies like user-defined Routes and Network Security Groups, you need to set \u003cspan pulumi-lang-nodejs=\"`privateEndpointNetworkPolicies`\" pulumi-lang-dotnet=\"`PrivateEndpointNetworkPolicies`\" pulumi-lang-go=\"`privateEndpointNetworkPolicies`\" pulumi-lang-python=\"`private_endpoint_network_policies`\" pulumi-lang-yaml=\"`privateEndpointNetworkPolicies`\" pulumi-lang-java=\"`privateEndpointNetworkPolicies`\"\u003e`private_endpoint_network_policies`\u003c/span\u003e in the subnet to `Disabled`. This setting only applies to Private Endpoints in the Subnet and affects all Private Endpoints in the Subnet.\n\n\u003e **Note:** If you want to use network policies like user-defined Routes and Network Security Groups, you need to set the \u003cspan pulumi-lang-nodejs=\"`privateEndpointNetworkPolicies`\" pulumi-lang-dotnet=\"`PrivateEndpointNetworkPolicies`\" pulumi-lang-go=\"`privateEndpointNetworkPolicies`\" pulumi-lang-python=\"`private_endpoint_network_policies`\" pulumi-lang-yaml=\"`privateEndpointNetworkPolicies`\" pulumi-lang-java=\"`privateEndpointNetworkPolicies`\"\u003e`private_endpoint_network_policies`\u003c/span\u003e in the Subnet to `Enabled`/`NetworkSecurityGroupEnabled`/`RouteTableEnabled`. This setting only applies to Private Endpoints in the Subnet and affects all Private Endpoints in the Subnet.\n\n\u003e **Note:** See more details from [Manage network policies for Private Endpoints](https://learn.microsoft.com/en-gb/azure/private-link/disable-private-endpoint-network-policy?tabs=network-policy-portal).\n"},"privateLinkServiceNetworkPoliciesEnabled":{"type":"boolean","description":"Enable or Disable network policies for the private link service on the subnet. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n\n\u003e **Note:** When configuring Azure Private Link service, the explicit setting \u003cspan pulumi-lang-nodejs=\"`privateLinkServiceNetworkPoliciesEnabled`\" pulumi-lang-dotnet=\"`PrivateLinkServiceNetworkPoliciesEnabled`\" pulumi-lang-go=\"`privateLinkServiceNetworkPoliciesEnabled`\" pulumi-lang-python=\"`private_link_service_network_policies_enabled`\" pulumi-lang-yaml=\"`privateLinkServiceNetworkPoliciesEnabled`\" pulumi-lang-java=\"`privateLinkServiceNetworkPoliciesEnabled`\"\u003e`private_link_service_network_policies_enabled`\u003c/span\u003e must be set to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e in the subnet since Private Link Service does not support network policies like user-defined Routes and Network Security Groups. This setting only affects the Private Link service. For other resources in the subnet, access is controlled based on the Network Security Group which can be configured using the \u003cspan pulumi-lang-nodejs=\"`azure.network.SubnetNetworkSecurityGroupAssociation`\" pulumi-lang-dotnet=\"`azure.network.SubnetNetworkSecurityGroupAssociation`\" pulumi-lang-go=\"`network.SubnetNetworkSecurityGroupAssociation`\" pulumi-lang-python=\"`network.SubnetNetworkSecurityGroupAssociation`\" pulumi-lang-yaml=\"`azure.network.SubnetNetworkSecurityGroupAssociation`\" pulumi-lang-java=\"`azure.network.SubnetNetworkSecurityGroupAssociation`\"\u003e`azure.network.SubnetNetworkSecurityGroupAssociation`\u003c/span\u003e resource. See more details from [Manage network policies for Private Link Services](https://learn.microsoft.com/en-gb/azure/private-link/disable-private-link-service-network-policy?tabs=private-link-network-policy-powershell).\n"},"routeTableId":{"type":"string","description":"The ID of the Route Table that should be associated with this subnet.\n\n\u003e **Note:** If you declare the subnet inline inside \u003cspan pulumi-lang-nodejs=\"`azure.network.VirtualNetwork`\" pulumi-lang-dotnet=\"`azure.network.VirtualNetwork`\" pulumi-lang-go=\"`network.VirtualNetwork`\" pulumi-lang-python=\"`network.VirtualNetwork`\" pulumi-lang-yaml=\"`azure.network.VirtualNetwork`\" pulumi-lang-java=\"`azure.network.VirtualNetwork`\"\u003e`azure.network.VirtualNetwork`\u003c/span\u003e, set \u003cspan pulumi-lang-nodejs=\"`routeTableId`\" pulumi-lang-dotnet=\"`RouteTableId`\" pulumi-lang-go=\"`routeTableId`\" pulumi-lang-python=\"`route_table_id`\" pulumi-lang-yaml=\"`routeTableId`\" pulumi-lang-java=\"`routeTableId`\"\u003e`route_table_id`\u003c/span\u003e in that \u003cspan pulumi-lang-nodejs=\"`subnet`\" pulumi-lang-dotnet=\"`Subnet`\" pulumi-lang-go=\"`subnet`\" pulumi-lang-python=\"`subnet`\" pulumi-lang-yaml=\"`subnet`\" pulumi-lang-java=\"`subnet`\"\u003e`subnet`\u003c/span\u003e block — do not also create an \u003cspan pulumi-lang-nodejs=\"`azure.network.SubnetRouteTableAssociation`\" pulumi-lang-dotnet=\"`azure.network.SubnetRouteTableAssociation`\" pulumi-lang-go=\"`network.SubnetRouteTableAssociation`\" pulumi-lang-python=\"`network.SubnetRouteTableAssociation`\" pulumi-lang-yaml=\"`azure.network.SubnetRouteTableAssociation`\" pulumi-lang-java=\"`azure.network.SubnetRouteTableAssociation`\"\u003e`azure.network.SubnetRouteTableAssociation`\u003c/span\u003e for the same subnet. The association resource is for when you manage the subnet as a separate \u003cspan pulumi-lang-nodejs=\"`azure.network.Subnet`\" pulumi-lang-dotnet=\"`azure.network.Subnet`\" pulumi-lang-go=\"`network.Subnet`\" pulumi-lang-python=\"`network.Subnet`\" pulumi-lang-yaml=\"`azure.network.Subnet`\" pulumi-lang-java=\"`azure.network.Subnet`\"\u003e`azure.network.Subnet`\u003c/span\u003e resource.\n"},"securityGroup":{"type":"string","description":"The Network Security Group to associate with the subnet. (Referenced by \u003cspan pulumi-lang-nodejs=\"`id`\" pulumi-lang-dotnet=\"`Id`\" pulumi-lang-go=\"`id`\" pulumi-lang-python=\"`id`\" pulumi-lang-yaml=\"`id`\" pulumi-lang-java=\"`id`\"\u003e`id`\u003c/span\u003e, ie. `azurerm_network_security_group.example.id`)\n"},"serviceEndpointPolicyIds":{"type":"array","items":{"type":"string"},"description":"The list of IDs of Service Endpoint Policies to associate with the subnet.\n"},"serviceEndpoints":{"type":"array","items":{"type":"string"},"description":"The list of Service endpoints to associate with the subnet. Possible values include: `Microsoft.AzureActiveDirectory`, `Microsoft.AzureCosmosDB`, `Microsoft.ContainerRegistry`, `Microsoft.EventHub`, `Microsoft.KeyVault`, `Microsoft.ServiceBus`, `Microsoft.Sql`, `Microsoft.Storage`, `Microsoft.Storage.Global` and `Microsoft.Web`.\n"}},"type":"object","required":["addressPrefixes","name"],"language":{"nodejs":{"requiredOutputs":["addressPrefixes","id","name"]}}},"azure:network/VirtualNetworkSubnetDelegation:VirtualNetworkSubnetDelegation":{"properties":{"name":{"type":"string","description":"A name for this delegation.\n"},"serviceDelegation":{"$ref":"#/types/azure:network/VirtualNetworkSubnetDelegationServiceDelegation:VirtualNetworkSubnetDelegationServiceDelegation","description":"A \u003cspan pulumi-lang-nodejs=\"`serviceDelegation`\" pulumi-lang-dotnet=\"`ServiceDelegation`\" pulumi-lang-go=\"`serviceDelegation`\" pulumi-lang-python=\"`service_delegation`\" pulumi-lang-yaml=\"`serviceDelegation`\" pulumi-lang-java=\"`serviceDelegation`\"\u003e`service_delegation`\u003c/span\u003e block as defined below.\n"}},"type":"object","required":["name","serviceDelegation"]},"azure:network/VirtualNetworkSubnetDelegationServiceDelegation:VirtualNetworkSubnetDelegationServiceDelegation":{"properties":{"actions":{"type":"array","items":{"type":"string"},"description":"A list of Actions which should be delegated. This list is specific to the service to delegate to. Possible values are `Microsoft.Network/networkinterfaces/*`, `Microsoft.Network/publicIPAddresses/join/action`, `Microsoft.Network/publicIPAddresses/read`, `Microsoft.Network/virtualNetworks/read`, `Microsoft.Network/virtualNetworks/subnets/action`, `Microsoft.Network/virtualNetworks/subnets/join/action`, `Microsoft.Network/virtualNetworks/subnets/prepareNetworkPolicies/action`, and `Microsoft.Network/virtualNetworks/subnets/unprepareNetworkPolicies/action`.\n\n\u003e **Note:** Azure may add default actions depending on the service delegation name and they can't be changed.\n"},"name":{"type":"string","description":"The name of service to delegate to. Possible values are `GitHub.Network/networkSettings`, `Informatica.DataManagement/organizations`, `Microsoft.ApiManagement/service`, `Microsoft.Apollo/npu`, `Microsoft.App/environments`, `Microsoft.App/testClients`, `Microsoft.AVS/PrivateClouds`, `Microsoft.AzureCosmosDB/clusters`, `Microsoft.BareMetal/AzureHostedService`, `Microsoft.BareMetal/AzureHPC`, `Microsoft.BareMetal/AzurePaymentHSM`, `Microsoft.BareMetal/AzureVMware`, `Microsoft.BareMetal/CrayServers`, `Microsoft.BareMetal/MonitoringServers`, `Microsoft.Batch/batchAccounts`, `Microsoft.CloudTest/hostedpools`, `Microsoft.CloudTest/images`, `Microsoft.CloudTest/pools`, `Microsoft.Codespaces/plans`, `Microsoft.ContainerInstance/containerGroups`, `Microsoft.ContainerService/managedClusters`, `Microsoft.ContainerService/TestClients`, `Microsoft.Databricks/workspaces`, `Microsoft.DBforMySQL/flexibleServers`, `Microsoft.DBforMySQL/servers`, `Microsoft.DBforMySQL/serversv2`, `Microsoft.DBforPostgreSQL/flexibleServers`, `Microsoft.DBforPostgreSQL/serversv2`, `Microsoft.DBforPostgreSQL/singleServers`, `Microsoft.DelegatedNetwork/controller`, `Microsoft.DevCenter/networkConnection`, `Microsoft.DevOpsInfrastructure/pools`, `Microsoft.DocumentDB/cassandraClusters`, `Microsoft.Fidalgo/networkSettings`, `Microsoft.HardwareSecurityModules/dedicatedHSMs`, `Microsoft.Kusto/clusters`, `Microsoft.LabServices/labplans`, `Microsoft.Logic/integrationServiceEnvironments`, `Microsoft.MachineLearningServices/workspaces`, `Microsoft.Netapp/volumes`, `Microsoft.Network/dnsResolvers`, `Microsoft.Network/managedResolvers`, `Microsoft.Network/fpgaNetworkInterfaces`, `Microsoft.Network/networkWatchers.`, `Microsoft.Network/virtualNetworkGateways`, `Microsoft.Orbital/orbitalGateways`, `Microsoft.PowerPlatform/enterprisePolicies`, `Microsoft.PowerPlatform/vnetaccesslinks`, `Microsoft.ServiceFabricMesh/networks`, `Microsoft.ServiceNetworking/trafficControllers`, `Microsoft.Singularity/accounts/networks`, `Microsoft.Singularity/accounts/npu`, `Microsoft.Sql/managedInstances`, `Microsoft.Sql/managedInstancesOnebox`, `Microsoft.Sql/managedInstancesStage`, `Microsoft.Sql/managedInstancesTest`, `Microsoft.Sql/servers`, `Microsoft.StoragePool/diskPools`, `Microsoft.StreamAnalytics/streamingJobs`, `Microsoft.Synapse/workspaces`, `Microsoft.Web/hostingEnvironments`, `Microsoft.Web/serverFarms`, `NGINX.NGINXPLUS/nginxDeployments`, `PaloAltoNetworks.Cloudngfw/firewalls`, `Qumulo.Storage/fileSystems`, and `Oracle.Database/networkAttachments`.\n"}},"type":"object","required":["name"]},"azure:network/VnpGatewayNatRuleExternalMapping:VnpGatewayNatRuleExternalMapping":{"properties":{"addressSpace":{"type":"string","description":"The string CIDR representing the address space for the VPN Gateway Nat Rule external mapping.\n"},"portRange":{"type":"string","description":"The single port range for the VPN Gateway Nat Rule external mapping.\n"}},"type":"object","required":["addressSpace"]},"azure:network/VnpGatewayNatRuleInternalMapping:VnpGatewayNatRuleInternalMapping":{"properties":{"addressSpace":{"type":"string","description":"The string CIDR representing the address space for the VPN Gateway Nat Rule internal mapping.\n"},"portRange":{"type":"string","description":"The single port range for the VPN Gateway Nat Rule internal mapping.\n"}},"type":"object","required":["addressSpace"]},"azure:network/VpnGatewayBgpSettings:VpnGatewayBgpSettings":{"properties":{"asn":{"type":"integer","description":"The ASN of the BGP Speaker. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"bgpPeeringAddress":{"type":"string","description":"The Address which should be used for the BGP Peering.\n"},"instance0BgpPeeringAddress":{"$ref":"#/types/azure:network/VpnGatewayBgpSettingsInstance0BgpPeeringAddress:VpnGatewayBgpSettingsInstance0BgpPeeringAddress","description":"An \u003cspan pulumi-lang-nodejs=\"`instanceBgpPeeringAddress`\" pulumi-lang-dotnet=\"`InstanceBgpPeeringAddress`\" pulumi-lang-go=\"`instanceBgpPeeringAddress`\" pulumi-lang-python=\"`instance_bgp_peering_address`\" pulumi-lang-yaml=\"`instanceBgpPeeringAddress`\" pulumi-lang-java=\"`instanceBgpPeeringAddress`\"\u003e`instance_bgp_peering_address`\u003c/span\u003e block as defined below.\n"},"instance1BgpPeeringAddress":{"$ref":"#/types/azure:network/VpnGatewayBgpSettingsInstance1BgpPeeringAddress:VpnGatewayBgpSettingsInstance1BgpPeeringAddress","description":"An \u003cspan pulumi-lang-nodejs=\"`instanceBgpPeeringAddress`\" pulumi-lang-dotnet=\"`InstanceBgpPeeringAddress`\" pulumi-lang-go=\"`instanceBgpPeeringAddress`\" pulumi-lang-python=\"`instance_bgp_peering_address`\" pulumi-lang-yaml=\"`instanceBgpPeeringAddress`\" pulumi-lang-java=\"`instanceBgpPeeringAddress`\"\u003e`instance_bgp_peering_address`\u003c/span\u003e block as defined below.\n"},"peerWeight":{"type":"integer","description":"The weight added to Routes learned from this BGP Speaker. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["asn","peerWeight"],"language":{"nodejs":{"requiredOutputs":["asn","bgpPeeringAddress","instance0BgpPeeringAddress","instance1BgpPeeringAddress","peerWeight"]}}},"azure:network/VpnGatewayBgpSettingsInstance0BgpPeeringAddress:VpnGatewayBgpSettingsInstance0BgpPeeringAddress":{"properties":{"customIps":{"type":"array","items":{"type":"string"},"description":"A list of custom BGP peering addresses to assign to this instance.\n"},"defaultIps":{"type":"array","items":{"type":"string"},"description":"The list of default BGP peering addresses which belong to the pre-defined VPN Gateway IP configuration.\n"},"ipConfigurationId":{"type":"string","description":"The pre-defined id of VPN Gateway IP Configuration.\n"},"tunnelIps":{"type":"array","items":{"type":"string"},"description":"The list of tunnel public IP addresses which belong to the pre-defined VPN Gateway IP configuration.\n"}},"type":"object","required":["customIps"],"language":{"nodejs":{"requiredOutputs":["customIps","defaultIps","ipConfigurationId","tunnelIps"]}}},"azure:network/VpnGatewayBgpSettingsInstance1BgpPeeringAddress:VpnGatewayBgpSettingsInstance1BgpPeeringAddress":{"properties":{"customIps":{"type":"array","items":{"type":"string"},"description":"A list of custom BGP peering addresses to assign to this instance.\n"},"defaultIps":{"type":"array","items":{"type":"string"},"description":"The list of default BGP peering addresses which belong to the pre-defined VPN Gateway IP configuration.\n"},"ipConfigurationId":{"type":"string","description":"The pre-defined id of VPN Gateway IP Configuration.\n"},"tunnelIps":{"type":"array","items":{"type":"string"},"description":"The list of tunnel public IP addresses which belong to the pre-defined VPN Gateway IP configuration.\n"}},"type":"object","required":["customIps"],"language":{"nodejs":{"requiredOutputs":["customIps","defaultIps","ipConfigurationId","tunnelIps"]}}},"azure:network/VpnGatewayConnectionRouting:VpnGatewayConnectionRouting":{"properties":{"associatedRouteTable":{"type":"string","description":"The ID of the Route Table associated with this VPN Connection.\n"},"inboundRouteMapId":{"type":"string","description":"The resource ID of the Route Map associated with this Routing Configuration for inbound learned routes.\n"},"outboundRouteMapId":{"type":"string","description":"The resource ID of the Route Map associated with this Routing Configuration for outbound advertised routes.\n"},"propagatedRouteTable":{"$ref":"#/types/azure:network/VpnGatewayConnectionRoutingPropagatedRouteTable:VpnGatewayConnectionRoutingPropagatedRouteTable","description":"A \u003cspan pulumi-lang-nodejs=\"`propagatedRouteTable`\" pulumi-lang-dotnet=\"`PropagatedRouteTable`\" pulumi-lang-go=\"`propagatedRouteTable`\" pulumi-lang-python=\"`propagated_route_table`\" pulumi-lang-yaml=\"`propagatedRouteTable`\" pulumi-lang-java=\"`propagatedRouteTable`\"\u003e`propagated_route_table`\u003c/span\u003e block as defined below.\n"}},"type":"object","required":["associatedRouteTable"],"language":{"nodejs":{"requiredOutputs":["associatedRouteTable","propagatedRouteTable"]}}},"azure:network/VpnGatewayConnectionRoutingPropagatedRouteTable:VpnGatewayConnectionRoutingPropagatedRouteTable":{"properties":{"labels":{"type":"array","items":{"type":"string"},"description":"A list of labels to assign to this route table.\n"},"routeTableIds":{"type":"array","items":{"type":"string"},"description":"A list of Route Table IDs to associated with this VPN Gateway Connection.\n"}},"type":"object","required":["routeTableIds"]},"azure:network/VpnGatewayConnectionTrafficSelectorPolicy:VpnGatewayConnectionTrafficSelectorPolicy":{"properties":{"localAddressRanges":{"type":"array","items":{"type":"string"},"description":"A list of local address spaces in CIDR format for this VPN Gateway Connection.\n"},"remoteAddressRanges":{"type":"array","items":{"type":"string"},"description":"A list of remote address spaces in CIDR format for this VPN Gateway Connection.\n"}},"type":"object","required":["localAddressRanges","remoteAddressRanges"]},"azure:network/VpnGatewayConnectionVpnLink:VpnGatewayConnectionVpnLink":{"properties":{"bandwidthMbps":{"type":"integer","description":"The expected connection bandwidth in MBPS. Defaults to \u003cspan pulumi-lang-nodejs=\"`10`\" pulumi-lang-dotnet=\"`10`\" pulumi-lang-go=\"`10`\" pulumi-lang-python=\"`10`\" pulumi-lang-yaml=\"`10`\" pulumi-lang-java=\"`10`\"\u003e`10`\u003c/span\u003e.\n"},"bgpEnabled":{"type":"boolean","description":"Should the BGP be enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Changing this forces a new VPN Gateway Connection to be created.\n","willReplaceOnChanges":true},"connectionMode":{"type":"string","description":"The connection mode of this VPN Link. Possible values are `Default`, `InitiatorOnly` and `ResponderOnly`. Defaults to `Default`.\n"},"customBgpAddresses":{"type":"array","items":{"$ref":"#/types/azure:network/VpnGatewayConnectionVpnLinkCustomBgpAddress:VpnGatewayConnectionVpnLinkCustomBgpAddress"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`customBgpAddress`\" pulumi-lang-dotnet=\"`CustomBgpAddress`\" pulumi-lang-go=\"`customBgpAddress`\" pulumi-lang-python=\"`custom_bgp_address`\" pulumi-lang-yaml=\"`customBgpAddress`\" pulumi-lang-java=\"`customBgpAddress`\"\u003e`custom_bgp_address`\u003c/span\u003e blocks as defined below.\n"},"dpdTimeoutSeconds":{"type":"integer","description":"The dead peer detection timeout of this connection in seconds. Possible values are between \u003cspan pulumi-lang-nodejs=\"`9`\" pulumi-lang-dotnet=\"`9`\" pulumi-lang-go=\"`9`\" pulumi-lang-python=\"`9`\" pulumi-lang-yaml=\"`9`\" pulumi-lang-java=\"`9`\"\u003e`9`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`3600`\" pulumi-lang-dotnet=\"`3600`\" pulumi-lang-go=\"`3600`\" pulumi-lang-python=\"`3600`\" pulumi-lang-yaml=\"`3600`\" pulumi-lang-java=\"`3600`\"\u003e`3600`\u003c/span\u003e.\n"},"egressNatRuleIds":{"type":"array","items":{"type":"string"},"description":"A list of the egress NAT Rule Ids.\n"},"ingressNatRuleIds":{"type":"array","items":{"type":"string"},"description":"A list of the ingress NAT Rule Ids.\n"},"ipsecPolicies":{"type":"array","items":{"$ref":"#/types/azure:network/VpnGatewayConnectionVpnLinkIpsecPolicy:VpnGatewayConnectionVpnLinkIpsecPolicy"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`ipsecPolicy`\" pulumi-lang-dotnet=\"`IpsecPolicy`\" pulumi-lang-go=\"`ipsecPolicy`\" pulumi-lang-python=\"`ipsec_policy`\" pulumi-lang-yaml=\"`ipsecPolicy`\" pulumi-lang-java=\"`ipsecPolicy`\"\u003e`ipsec_policy`\u003c/span\u003e blocks as defined above.\n"},"localAzureIpAddressEnabled":{"type":"boolean","description":"Whether to use local Azure IP to initiate connection? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"name":{"type":"string","description":"The name which should be used for this VPN Link Connection.\n"},"policyBasedTrafficSelectorEnabled":{"type":"boolean","description":"Whether to enable policy-based traffic selectors? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"protocol":{"type":"string","description":"The protocol used for this VPN Link Connection. Possible values are `IKEv1` and `IKEv2`. Defaults to `IKEv2`.\n"},"ratelimitEnabled":{"type":"boolean","description":"Should the rate limit be enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"routeWeight":{"type":"integer","description":"Routing weight for this VPN Link Connection. Defaults to \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"sharedKey":{"type":"string","description":"SharedKey for this VPN Link Connection.\n"},"vpnSiteLinkId":{"type":"string","description":"The ID of the connected VPN Site Link. Changing this forces a new VPN Gateway Connection to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["name","vpnSiteLinkId"],"language":{"nodejs":{"requiredOutputs":["name","sharedKey","vpnSiteLinkId"]}}},"azure:network/VpnGatewayConnectionVpnLinkCustomBgpAddress:VpnGatewayConnectionVpnLinkCustomBgpAddress":{"properties":{"ipAddress":{"type":"string","description":"The custom bgp ip address which belongs to the IP Configuration.\n"},"ipConfigurationId":{"type":"string","description":"The ID of the IP Configuration which belongs to the VPN Gateway.\n"}},"type":"object","required":["ipAddress","ipConfigurationId"]},"azure:network/VpnGatewayConnectionVpnLinkIpsecPolicy:VpnGatewayConnectionVpnLinkIpsecPolicy":{"properties":{"dhGroup":{"type":"string","description":"The DH Group used in IKE Phase 1 for initial SA. Possible values are `None`, `DHGroup1`, `DHGroup2`, `DHGroup14`, `DHGroup24`, `DHGroup2048`, `ECP256`, `ECP384`.\n"},"encryptionAlgorithm":{"type":"string","description":"The IPSec encryption algorithm (IKE phase 1). Possible values are `AES128`, `AES192`, `AES256`, `DES`, `DES3`, `GCMAES128`, `GCMAES192`, `GCMAES256`, `None`.\n"},"ikeEncryptionAlgorithm":{"type":"string","description":"The IKE encryption algorithm (IKE phase 2). Possible values are `DES`, `DES3`, `AES128`, `AES192`, `AES256`, `GCMAES128`, `GCMAES256`.\n"},"ikeIntegrityAlgorithm":{"type":"string","description":"The IKE integrity algorithm (IKE phase 2). Possible values are `MD5`, `SHA1`, `SHA256`, `SHA384`, `GCMAES128`, `GCMAES256`.\n"},"integrityAlgorithm":{"type":"string","description":"The IPSec integrity algorithm (IKE phase 1). Possible values are `MD5`, `SHA1`, `SHA256`, `GCMAES128`, `GCMAES192`, `GCMAES256`.\n"},"pfsGroup":{"type":"string","description":"The Pfs Group used in IKE Phase 2 for the new child SA. Possible values are `None`, `PFS1`, `PFS2`, `PFS14`, `PFS24`, `PFS2048`, `PFSMM`, `ECP256`, `ECP384`.\n"},"saDataSizeKb":{"type":"integer","description":"The IPSec Security Association (also called Quick Mode or Phase 2 SA) payload size in KB for the site to site VPN tunnel.\n"},"saLifetimeSec":{"type":"integer","description":"The IPSec Security Association (also called Quick Mode or Phase 2 SA) lifetime in seconds for the site to site VPN tunnel.\n"}},"type":"object","required":["dhGroup","encryptionAlgorithm","ikeEncryptionAlgorithm","ikeIntegrityAlgorithm","integrityAlgorithm","pfsGroup","saDataSizeKb","saLifetimeSec"]},"azure:network/VpnGatewayIpConfiguration:VpnGatewayIpConfiguration":{"properties":{"id":{"type":"string","description":"The identifier of the IP configuration for the VPN Gateway.\n"},"privateIpAddress":{"type":"string","description":"The private IP address of this IP configuration.\n"},"publicIpAddress":{"type":"string","description":"The public IP address of this IP configuration.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["id","privateIpAddress","publicIpAddress"]}}},"azure:network/VpnServerConfigurationAzureActiveDirectoryAuthentication:VpnServerConfigurationAzureActiveDirectoryAuthentication":{"properties":{"audience":{"type":"string","description":"The Audience which should be used for authentication.\n"},"issuer":{"type":"string","description":"The Issuer which should be used for authentication.\n"},"tenant":{"type":"string","description":"The Tenant which should be used for authentication.\n"}},"type":"object","required":["audience","issuer","tenant"]},"azure:network/VpnServerConfigurationClientRevokedCertificate:VpnServerConfigurationClientRevokedCertificate":{"properties":{"name":{"type":"string","description":"A name used to uniquely identify this certificate.\n"},"thumbprint":{"type":"string","description":"The Thumbprint of the Certificate.\n"}},"type":"object","required":["name","thumbprint"]},"azure:network/VpnServerConfigurationClientRootCertificate:VpnServerConfigurationClientRootCertificate":{"properties":{"name":{"type":"string","description":"A name used to uniquely identify this certificate.\n"},"publicCertData":{"type":"string","description":"The Public Key Data associated with the Certificate.\n"}},"type":"object","required":["name","publicCertData"]},"azure:network/VpnServerConfigurationIpsecPolicy:VpnServerConfigurationIpsecPolicy":{"properties":{"dhGroup":{"type":"string","description":"The DH Group, used in IKE Phase 1. Possible values include `DHGroup1`, `DHGroup2`, `DHGroup14`, `DHGroup24`, `DHGroup2048`, `ECP256`, `ECP384` and `None`.\n"},"ikeEncryption":{"type":"string","description":"The IKE encryption algorithm, used for IKE Phase 2. Possible values include `AES128`, `AES192`, `AES256`, `DES`, `DES3`, `GCMAES128` and `GCMAES256`.\n"},"ikeIntegrity":{"type":"string","description":"The IKE encryption integrity algorithm, used for IKE Phase 2. Possible values include `GCMAES128`, `GCMAES256`, `MD5`, `SHA1`, `SHA256` and `SHA384`.\n"},"ipsecEncryption":{"type":"string","description":"The IPSec encryption algorithm, used for IKE phase 1. Possible values include `AES128`, `AES192`, `AES256`, `DES`, `DES3`, `GCMAES128`, `GCMAES192`, `GCMAES256` and `None`.\n"},"ipsecIntegrity":{"type":"string","description":"The IPSec integrity algorithm, used for IKE phase 1. Possible values include `GCMAES128`, `GCMAES192`, `GCMAES256`, `MD5`, `SHA1` and `SHA256`.\n"},"pfsGroup":{"type":"string","description":"The Pfs Group, used in IKE Phase 2. Possible values include `ECP256`, `ECP384`, `PFS1`, `PFS2`, `PFS14`, `PFS24`, `PFS2048`, `PFSMM` and `None`.\n"},"saDataSizeKilobytes":{"type":"integer","description":"The IPSec Security Association payload size in KB for a Site-to-Site VPN tunnel.\n"},"saLifetimeSeconds":{"type":"integer","description":"The IPSec Security Association lifetime in seconds for a Site-to-Site VPN tunnel.\n"}},"type":"object","required":["dhGroup","ikeEncryption","ikeIntegrity","ipsecEncryption","ipsecIntegrity","pfsGroup","saDataSizeKilobytes","saLifetimeSeconds"]},"azure:network/VpnServerConfigurationPolicyGroupPolicy:VpnServerConfigurationPolicyGroupPolicy":{"properties":{"name":{"type":"string","description":"The name of the VPN Server Configuration Policy member.\n"},"type":{"type":"string","description":"The attribute type of the VPN Server Configuration Policy member. Possible values are `AADGroupId`, `CertificateGroupId` and `RadiusAzureGroupId`.\n"},"value":{"type":"string","description":"The value of the attribute that is used for the VPN Server Configuration Policy member.\n"}},"type":"object","required":["name","type","value"]},"azure:network/VpnServerConfigurationRadius:VpnServerConfigurationRadius":{"properties":{"clientRootCertificates":{"type":"array","items":{"$ref":"#/types/azure:network/VpnServerConfigurationRadiusClientRootCertificate:VpnServerConfigurationRadiusClientRootCertificate"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`clientRootCertificate`\" pulumi-lang-dotnet=\"`ClientRootCertificate`\" pulumi-lang-go=\"`clientRootCertificate`\" pulumi-lang-python=\"`client_root_certificate`\" pulumi-lang-yaml=\"`clientRootCertificate`\" pulumi-lang-java=\"`clientRootCertificate`\"\u003e`client_root_certificate`\u003c/span\u003e blocks as defined below.\n"},"serverRootCertificates":{"type":"array","items":{"$ref":"#/types/azure:network/VpnServerConfigurationRadiusServerRootCertificate:VpnServerConfigurationRadiusServerRootCertificate"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`serverRootCertificate`\" pulumi-lang-dotnet=\"`ServerRootCertificate`\" pulumi-lang-go=\"`serverRootCertificate`\" pulumi-lang-python=\"`server_root_certificate`\" pulumi-lang-yaml=\"`serverRootCertificate`\" pulumi-lang-java=\"`serverRootCertificate`\"\u003e`server_root_certificate`\u003c/span\u003e blocks as defined below.\n"},"servers":{"type":"array","items":{"$ref":"#/types/azure:network/VpnServerConfigurationRadiusServer:VpnServerConfigurationRadiusServer"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`server`\" pulumi-lang-dotnet=\"`Server`\" pulumi-lang-go=\"`server`\" pulumi-lang-python=\"`server`\" pulumi-lang-yaml=\"`server`\" pulumi-lang-java=\"`server`\"\u003e`server`\u003c/span\u003e blocks as defined below.\n"}},"type":"object"},"azure:network/VpnServerConfigurationRadiusClientRootCertificate:VpnServerConfigurationRadiusClientRootCertificate":{"properties":{"name":{"type":"string","description":"A name used to uniquely identify this certificate.\n"},"thumbprint":{"type":"string","description":"The Thumbprint of the Certificate.\n"}},"type":"object","required":["name","thumbprint"]},"azure:network/VpnServerConfigurationRadiusServer:VpnServerConfigurationRadiusServer":{"properties":{"address":{"type":"string","description":"The Address of the Radius Server.\n"},"score":{"type":"integer","description":"The Score of the Radius Server determines the priority of the server. Ranges from 1 to 30.\n"},"secret":{"type":"string","description":"The Secret used to communicate with the Radius Server.\n","secret":true}},"type":"object","required":["address","score","secret"]},"azure:network/VpnServerConfigurationRadiusServerRootCertificate:VpnServerConfigurationRadiusServerRootCertificate":{"properties":{"name":{"type":"string","description":"A name used to uniquely identify this certificate.\n"},"publicCertData":{"type":"string","description":"The Public Key Data associated with the Certificate.\n"}},"type":"object","required":["name","publicCertData"]},"azure:network/VpnSiteLink:VpnSiteLink":{"properties":{"bgp":{"$ref":"#/types/azure:network/VpnSiteLinkBgp:VpnSiteLinkBgp","description":"A \u003cspan pulumi-lang-nodejs=\"`bgp`\" pulumi-lang-dotnet=\"`Bgp`\" pulumi-lang-go=\"`bgp`\" pulumi-lang-python=\"`bgp`\" pulumi-lang-yaml=\"`bgp`\" pulumi-lang-java=\"`bgp`\"\u003e`bgp`\u003c/span\u003e block as defined above.\n\n\u003e **Note:** The `link.bgp` has to be set when the \u003cspan pulumi-lang-nodejs=\"`addressCidrs`\" pulumi-lang-dotnet=\"`AddressCidrs`\" pulumi-lang-go=\"`addressCidrs`\" pulumi-lang-python=\"`address_cidrs`\" pulumi-lang-yaml=\"`addressCidrs`\" pulumi-lang-java=\"`addressCidrs`\"\u003e`address_cidrs`\u003c/span\u003e isn't specified.\n"},"fqdn":{"type":"string","description":"The FQDN of this VPN Site Link.\n"},"id":{"type":"string","description":"The ID of the VPN Site Link.\n"},"ipAddress":{"type":"string","description":"The IP address of this VPN Site Link.\n\n\u003e **Note:** Either \u003cspan pulumi-lang-nodejs=\"`fqdn`\" pulumi-lang-dotnet=\"`Fqdn`\" pulumi-lang-go=\"`fqdn`\" pulumi-lang-python=\"`fqdn`\" pulumi-lang-yaml=\"`fqdn`\" pulumi-lang-java=\"`fqdn`\"\u003e`fqdn`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`ipAddress`\" pulumi-lang-dotnet=\"`IpAddress`\" pulumi-lang-go=\"`ipAddress`\" pulumi-lang-python=\"`ip_address`\" pulumi-lang-yaml=\"`ipAddress`\" pulumi-lang-java=\"`ipAddress`\"\u003e`ip_address`\u003c/span\u003e should be specified.\n"},"name":{"type":"string","description":"The name which should be used for this VPN Site Link.\n"},"providerName":{"type":"string","description":"The name of the physical link at the VPN Site. Example: `ATT`, `Verizon`.\n"},"speedInMbps":{"type":"integer","description":"The speed of the VPN device at the branch location in unit of mbps. Defaults to \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"}},"type":"object","required":["name"],"language":{"nodejs":{"requiredOutputs":["id","name"]}}},"azure:network/VpnSiteLinkBgp:VpnSiteLinkBgp":{"properties":{"asn":{"type":"integer","description":"The BGP speaker's ASN.\n"},"peeringAddress":{"type":"string","description":"The BGP peering IP address.\n"}},"type":"object","required":["asn","peeringAddress"]},"azure:network/VpnSiteO365Policy:VpnSiteO365Policy":{"properties":{"trafficCategory":{"$ref":"#/types/azure:network/VpnSiteO365PolicyTrafficCategory:VpnSiteO365PolicyTrafficCategory","description":"A \u003cspan pulumi-lang-nodejs=\"`trafficCategory`\" pulumi-lang-dotnet=\"`TrafficCategory`\" pulumi-lang-go=\"`trafficCategory`\" pulumi-lang-python=\"`traffic_category`\" pulumi-lang-yaml=\"`trafficCategory`\" pulumi-lang-java=\"`trafficCategory`\"\u003e`traffic_category`\u003c/span\u003e block as defined above.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["trafficCategory"]}}},"azure:network/VpnSiteO365PolicyTrafficCategory:VpnSiteO365PolicyTrafficCategory":{"properties":{"allowEndpointEnabled":{"type":"boolean","description":"Is allow endpoint enabled? The `Allow` endpoint is required for connectivity to specific O365 services and features, but are not as sensitive to network performance and latency as other endpoint types. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"defaultEndpointEnabled":{"type":"boolean","description":"Is default endpoint enabled? The `Default` endpoint represents O365 services and dependencies that do not require any optimization, and can be treated by customer networks as normal Internet bound traffic. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"optimizeEndpointEnabled":{"type":"boolean","description":"Is optimize endpoint enabled? The `Optimize` endpoint is required for connectivity to every O365 service and represents the O365 scenario that is the most sensitive to network performance, latency, and availability. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"}},"type":"object"},"azure:network/getApplicationGatewayAuthenticationCertificate:getApplicationGatewayAuthenticationCertificate":{"properties":{"id":{"type":"string","description":"The ID of the Rewrite Rule Set\n"},"name":{"type":"string","description":"The name of this Application Gateway.\n"}},"type":"object","required":["id","name"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:network/getApplicationGatewayAutoscaleConfiguration:getApplicationGatewayAutoscaleConfiguration":{"properties":{"maxCapacity":{"type":"integer","description":"Maximum capacity for autoscaling.\n"},"minCapacity":{"type":"integer","description":"Minimum capacity for autoscaling.\n"}},"type":"object","required":["maxCapacity","minCapacity"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:network/getApplicationGatewayBackendAddressPool:getApplicationGatewayBackendAddressPool":{"properties":{"fqdns":{"type":"array","items":{"type":"string"},"description":"A list of FQDNs which are part of the Backend Address Pool.\n"},"id":{"type":"string","description":"The ID of the Rewrite Rule Set\n"},"ipAddresses":{"type":"array","items":{"type":"string"},"description":"A list of IP Addresses which are part of the Backend Address Pool.\n"},"name":{"type":"string","description":"The name of this Application Gateway.\n"}},"type":"object","required":["fqdns","id","ipAddresses","name"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:network/getApplicationGatewayBackendHttpSetting:getApplicationGatewayBackendHttpSetting":{"properties":{"affinityCookieName":{"type":"string","description":"The name of the affinity cookie.\n"},"authenticationCertificates":{"type":"array","items":{"$ref":"#/types/azure:network/getApplicationGatewayBackendHttpSettingAuthenticationCertificate:getApplicationGatewayBackendHttpSettingAuthenticationCertificate"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`authenticationCertificate`\" pulumi-lang-dotnet=\"`AuthenticationCertificate`\" pulumi-lang-go=\"`authenticationCertificate`\" pulumi-lang-python=\"`authentication_certificate`\" pulumi-lang-yaml=\"`authenticationCertificate`\" pulumi-lang-java=\"`authenticationCertificate`\"\u003e`authentication_certificate`\u003c/span\u003e blocks as defined below.\n"},"connectionDrainings":{"type":"array","items":{"$ref":"#/types/azure:network/getApplicationGatewayBackendHttpSettingConnectionDraining:getApplicationGatewayBackendHttpSettingConnectionDraining"},"description":"A \u003cspan pulumi-lang-nodejs=\"`connectionDraining`\" pulumi-lang-dotnet=\"`ConnectionDraining`\" pulumi-lang-go=\"`connectionDraining`\" pulumi-lang-python=\"`connection_draining`\" pulumi-lang-yaml=\"`connectionDraining`\" pulumi-lang-java=\"`connectionDraining`\"\u003e`connection_draining`\u003c/span\u003e block as defined below.\n"},"cookieBasedAffinity":{"type":"string","description":"Is Cookie-Based Affinity enabled?\n"},"dedicatedBackendConnectionEnabled":{"type":"boolean","description":"Whether a dedicated backend connection is used.\n"},"hostName":{"type":"string","description":"The Hostname which is used for this HTTP Listener.\n"},"id":{"type":"string","description":"The ID of the Rewrite Rule Set\n"},"name":{"type":"string","description":"The name of this Application Gateway.\n"},"path":{"type":"string","description":"The URL path to rewrite.\n"},"pickHostNameFromBackendAddress":{"type":"boolean","description":"Whether host header will be picked from the host name of the backend server.\n"},"port":{"type":"integer","description":"Custom port which is used for probing the backend servers.\n"},"probeId":{"type":"string","description":"The ID of the associated Probe.\n"},"probeName":{"type":"string","description":"The name of the associated HTTP Probe.\n"},"protocol":{"type":"string","description":"The Protocol used for this Probe.\n"},"requestTimeout":{"type":"integer","description":"The request timeout in seconds.\n"},"trustedRootCertificateNames":{"type":"array","items":{"type":"string"},"description":"A list of \u003cspan pulumi-lang-nodejs=\"`trustedRootCertificate`\" pulumi-lang-dotnet=\"`TrustedRootCertificate`\" pulumi-lang-go=\"`trustedRootCertificate`\" pulumi-lang-python=\"`trusted_root_certificate`\" pulumi-lang-yaml=\"`trustedRootCertificate`\" pulumi-lang-java=\"`trustedRootCertificate`\"\u003e`trusted_root_certificate`\u003c/span\u003e names.\n"}},"type":"object","required":["affinityCookieName","authenticationCertificates","connectionDrainings","cookieBasedAffinity","dedicatedBackendConnectionEnabled","hostName","id","name","path","pickHostNameFromBackendAddress","port","probeId","probeName","protocol","requestTimeout","trustedRootCertificateNames"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:network/getApplicationGatewayBackendHttpSettingAuthenticationCertificate:getApplicationGatewayBackendHttpSettingAuthenticationCertificate":{"properties":{"id":{"type":"string","description":"The ID of the Rewrite Rule Set\n"},"name":{"type":"string","description":"The name of this Application Gateway.\n"}},"type":"object","required":["id","name"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:network/getApplicationGatewayBackendHttpSettingConnectionDraining:getApplicationGatewayBackendHttpSettingConnectionDraining":{"properties":{"drainTimeoutSec":{"type":"integer","description":"The number of seconds connection draining is active.\n"},"enabled":{"type":"boolean","description":"Is the Web Application Firewall enabled?\n"}},"type":"object","required":["drainTimeoutSec","enabled"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:network/getApplicationGatewayCustomErrorConfiguration:getApplicationGatewayCustomErrorConfiguration":{"properties":{"customErrorPageUrl":{"type":"string","description":"Error page URL of the application gateway custom error.\n"},"id":{"type":"string","description":"The ID of the Rewrite Rule Set\n"},"statusCode":{"type":"string","description":"Status code of the application gateway custom error.\n"}},"type":"object","required":["customErrorPageUrl","id","statusCode"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:network/getApplicationGatewayFrontendIpConfiguration:getApplicationGatewayFrontendIpConfiguration":{"properties":{"id":{"type":"string","description":"The ID of the Rewrite Rule Set\n"},"name":{"type":"string","description":"The name of this Application Gateway.\n"},"privateIpAddress":{"type":"string","description":"The Static IP Address which is used.\n"},"privateIpAddressAllocation":{"type":"string","description":"The allocation method used for the Private IP Address.\n"},"privateLinkConfigurationId":{"type":"string","description":"The ID of the associated Private Link configuration.\n"},"privateLinkConfigurationName":{"type":"string","description":"The name of the Private Link configuration in use by this Frontend IP Configuration.\n"},"publicIpAddressId":{"type":"string","description":"The ID of the Public IP Address which the Application Gateway will use.\n"},"subnetId":{"type":"string","description":"The ID of the subnet the private link configuration is connected to.\n"}},"type":"object","required":["id","name","privateIpAddress","privateIpAddressAllocation","privateLinkConfigurationId","privateLinkConfigurationName","publicIpAddressId","subnetId"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:network/getApplicationGatewayFrontendPort:getApplicationGatewayFrontendPort":{"properties":{"id":{"type":"string","description":"The ID of the Rewrite Rule Set\n"},"name":{"type":"string","description":"The name of this Application Gateway.\n"},"port":{"type":"integer","description":"Custom port which is used for probing the backend servers.\n"}},"type":"object","required":["id","name","port"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:network/getApplicationGatewayGatewayIpConfiguration:getApplicationGatewayGatewayIpConfiguration":{"properties":{"id":{"type":"string","description":"The ID of the Rewrite Rule Set\n"},"name":{"type":"string","description":"The name of this Application Gateway.\n"},"subnetId":{"type":"string","description":"The ID of the subnet the private link configuration is connected to.\n"}},"type":"object","required":["id","name","subnetId"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:network/getApplicationGatewayGlobal:getApplicationGatewayGlobal":{"properties":{"requestBufferingEnabled":{"type":"boolean","description":"Whether Application Gateway's Request buffer is enabled.\n"},"responseBufferingEnabled":{"type":"boolean","description":"Whether Application Gateway's Response buffer is enabled.\n"}},"type":"object","required":["requestBufferingEnabled","responseBufferingEnabled"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:network/getApplicationGatewayHttpListener:getApplicationGatewayHttpListener":{"properties":{"customErrorConfigurations":{"type":"array","items":{"$ref":"#/types/azure:network/getApplicationGatewayHttpListenerCustomErrorConfiguration:getApplicationGatewayHttpListenerCustomErrorConfiguration"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`customErrorConfiguration`\" pulumi-lang-dotnet=\"`CustomErrorConfiguration`\" pulumi-lang-go=\"`customErrorConfiguration`\" pulumi-lang-python=\"`custom_error_configuration`\" pulumi-lang-yaml=\"`customErrorConfiguration`\" pulumi-lang-java=\"`customErrorConfiguration`\"\u003e`custom_error_configuration`\u003c/span\u003e blocks as defined below.\n"},"firewallPolicyId":{"type":"string","description":"The ID of the Web Application Firewall Policy which is used as an HTTP Listener for this Path Rule.\n"},"frontendIpConfigurationId":{"type":"string","description":"The ID of the associated Frontend Configuration.\n"},"frontendIpConfigurationName":{"type":"string","description":"The Name of the Frontend IP Configuration used for this HTTP Listener.\n"},"frontendPortId":{"type":"string","description":"The ID of the associated Frontend Port.\n"},"frontendPortName":{"type":"string","description":"The Name of the Frontend Port used for this HTTP Listener.\n"},"hostName":{"type":"string","description":"The Hostname which is used for this HTTP Listener.\n"},"hostNames":{"type":"array","items":{"type":"string"},"description":"A list of Hostname(s) used for this HTTP Listener. It allows special wildcard characters.\n"},"id":{"type":"string","description":"The ID of the Rewrite Rule Set\n"},"name":{"type":"string","description":"The name of this Application Gateway.\n"},"protocol":{"type":"string","description":"The Protocol used for this Probe.\n"},"requireSni":{"type":"boolean","description":"Is Server Name Indication required?\n"},"sslCertificateId":{"type":"string","description":"The ID of the associated SSL Certificate.\n"},"sslCertificateName":{"type":"string","description":"The name of the associated SSL Certificate which is used for this HTTP Listener.\n"},"sslProfileId":{"type":"string","description":"The ID of the associated SSL Profile.\n"},"sslProfileName":{"type":"string","description":"The name of the associated SSL Profile which is used for this HTTP Listener.\n"}},"type":"object","required":["customErrorConfigurations","firewallPolicyId","frontendIpConfigurationId","frontendIpConfigurationName","frontendPortId","frontendPortName","hostName","hostNames","id","name","protocol","requireSni","sslCertificateId","sslCertificateName","sslProfileId","sslProfileName"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:network/getApplicationGatewayHttpListenerCustomErrorConfiguration:getApplicationGatewayHttpListenerCustomErrorConfiguration":{"properties":{"customErrorPageUrl":{"type":"string","description":"Error page URL of the application gateway custom error.\n"},"id":{"type":"string","description":"The ID of the Rewrite Rule Set\n"},"statusCode":{"type":"string","description":"Status code of the application gateway custom error.\n"}},"type":"object","required":["customErrorPageUrl","id","statusCode"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:network/getApplicationGatewayIdentity:getApplicationGatewayIdentity":{"properties":{"identityIds":{"type":"array","items":{"type":"string"},"description":"The list of User Assigned Managed Identity IDs assigned to this Application Gateway.\n"},"principalId":{"type":"string"},"tenantId":{"type":"string"},"type":{"type":"string","description":"The type of Managed Service Identity that is configured on this Application Gateway.\n"}},"type":"object","required":["identityIds","principalId","tenantId","type"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:network/getApplicationGatewayPrivateEndpointConnection:getApplicationGatewayPrivateEndpointConnection":{"properties":{"id":{"type":"string","description":"The ID of the Rewrite Rule Set\n"},"name":{"type":"string","description":"The name of this Application Gateway.\n"}},"type":"object","required":["id","name"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:network/getApplicationGatewayPrivateLinkConfiguration:getApplicationGatewayPrivateLinkConfiguration":{"properties":{"id":{"type":"string","description":"The ID of the Rewrite Rule Set\n"},"ipConfigurations":{"type":"array","items":{"$ref":"#/types/azure:network/getApplicationGatewayPrivateLinkConfigurationIpConfiguration:getApplicationGatewayPrivateLinkConfigurationIpConfiguration"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`ipConfiguration`\" pulumi-lang-dotnet=\"`IpConfiguration`\" pulumi-lang-go=\"`ipConfiguration`\" pulumi-lang-python=\"`ip_configuration`\" pulumi-lang-yaml=\"`ipConfiguration`\" pulumi-lang-java=\"`ipConfiguration`\"\u003e`ip_configuration`\u003c/span\u003e blocks as defined below.\n"},"name":{"type":"string","description":"The name of this Application Gateway.\n"}},"type":"object","required":["id","ipConfigurations","name"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:network/getApplicationGatewayPrivateLinkConfigurationIpConfiguration:getApplicationGatewayPrivateLinkConfigurationIpConfiguration":{"properties":{"name":{"type":"string","description":"The name of this Application Gateway.\n"},"primary":{"type":"boolean","description":"Is this the Primary IP Configuration?\n"},"privateIpAddress":{"type":"string","description":"The Static IP Address which is used.\n"},"privateIpAddressAllocation":{"type":"string","description":"The allocation method used for the Private IP Address.\n"},"subnetId":{"type":"string","description":"The ID of the subnet the private link configuration is connected to.\n"}},"type":"object","required":["name","primary","privateIpAddress","privateIpAddressAllocation","subnetId"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:network/getApplicationGatewayProbe:getApplicationGatewayProbe":{"properties":{"host":{"type":"string","description":"The Hostname used for this Probe.\n"},"id":{"type":"string","description":"The ID of the Rewrite Rule Set\n"},"interval":{"type":"integer","description":"The Interval between two consecutive probes in seconds.\n"},"matches":{"type":"array","items":{"$ref":"#/types/azure:network/getApplicationGatewayProbeMatch:getApplicationGatewayProbeMatch"},"description":"A \u003cspan pulumi-lang-nodejs=\"`match`\" pulumi-lang-dotnet=\"`Match`\" pulumi-lang-go=\"`match`\" pulumi-lang-python=\"`match`\" pulumi-lang-yaml=\"`match`\" pulumi-lang-java=\"`match`\"\u003e`match`\u003c/span\u003e block as defined above.\n"},"minimumServers":{"type":"integer","description":"The minimum number of servers that are always marked as healthy.\n"},"name":{"type":"string","description":"The name of this Application Gateway.\n"},"path":{"type":"string","description":"The URL path to rewrite.\n"},"pickHostNameFromBackendHttpSettings":{"type":"boolean","description":"Whether the host header is picked from the backend HTTP settings.\n"},"port":{"type":"integer","description":"Custom port which is used for probing the backend servers.\n"},"protocol":{"type":"string","description":"The Protocol used for this Probe.\n"},"timeout":{"type":"integer","description":"The Timeout used for this Probe, indicating when a probe becomes unhealthy.\n"},"unhealthyThreshold":{"type":"integer","description":"The Unhealthy Threshold for this Probe, which indicates the amount of retries which will be attempted before a node is deemed unhealthy.\n"}},"type":"object","required":["host","id","interval","matches","minimumServers","name","path","pickHostNameFromBackendHttpSettings","port","protocol","timeout","unhealthyThreshold"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:network/getApplicationGatewayProbeMatch:getApplicationGatewayProbeMatch":{"properties":{"body":{"type":"string","description":"A snippet from the Response Body which must be present in the Response.\n"},"statusCodes":{"type":"array","items":{"type":"string"},"description":"Status code of the application gateway custom error.\n"}},"type":"object","required":["body","statusCodes"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:network/getApplicationGatewayRedirectConfiguration:getApplicationGatewayRedirectConfiguration":{"properties":{"id":{"type":"string","description":"The ID of the Rewrite Rule Set\n"},"includePath":{"type":"boolean","description":"Whether the path is included in the redirected URL.\n"},"includeQueryString":{"type":"boolean","description":"Whether to include the query string in the redirected URL.\n"},"name":{"type":"string","description":"The name of this Application Gateway.\n"},"redirectType":{"type":"string","description":"The type of redirect.\n"},"targetListenerId":{"type":"string"},"targetListenerName":{"type":"string","description":"The name of the listener to redirect to.\n"},"targetUrl":{"type":"string","description":"The URL to redirect the request to.\n"}},"type":"object","required":["id","includePath","includeQueryString","name","redirectType","targetListenerId","targetListenerName","targetUrl"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:network/getApplicationGatewayRequestRoutingRule:getApplicationGatewayRequestRoutingRule":{"properties":{"backendAddressPoolId":{"type":"string","description":"The ID of the associated Backend Address Pool.\n"},"backendAddressPoolName":{"type":"string","description":"The Name of the Backend Address Pool which is used for this Routing Rule.\n"},"backendHttpSettingsId":{"type":"string","description":"The ID of the associated Backend HTTP Settings Configuration.\n"},"backendHttpSettingsName":{"type":"string","description":"The Name of the Backend HTTP Settings Collection which is used for this Routing Rule.\n"},"httpListenerId":{"type":"string","description":"The ID of the associated HTTP Listener.\n"},"httpListenerName":{"type":"string","description":"The Name of the HTTP Listener which is used for this Routing Rule.\n"},"id":{"type":"string","description":"The ID of the Rewrite Rule Set\n"},"name":{"type":"string","description":"The name of this Application Gateway.\n"},"priority":{"type":"integer","description":"The Priority of this Routing Rule.\n"},"redirectConfigurationId":{"type":"string","description":"The ID of the associated Redirect Configuration.\n"},"redirectConfigurationName":{"type":"string","description":"The Name of the Redirect Configuration which is used for this Routing Rule.\n"},"rewriteRuleSetId":{"type":"string","description":"The ID of the associated Rewrite Rule Set.\n"},"rewriteRuleSetName":{"type":"string","description":"The Name of the Rewrite Rule Set which is used for this Routing Rule.\n"},"ruleType":{"type":"string","description":"The Type of Routing that is used for this Rule.\n"},"urlPathMapId":{"type":"string","description":"The ID of the associated URL Path Map.\n"},"urlPathMapName":{"type":"string","description":"The Name of the URL Path Map which is associated with this Routing Rule.\n"}},"type":"object","required":["backendAddressPoolId","backendAddressPoolName","backendHttpSettingsId","backendHttpSettingsName","httpListenerId","httpListenerName","id","name","priority","redirectConfigurationId","redirectConfigurationName","rewriteRuleSetId","rewriteRuleSetName","ruleType","urlPathMapId","urlPathMapName"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:network/getApplicationGatewayRewriteRuleSet:getApplicationGatewayRewriteRuleSet":{"properties":{"id":{"type":"string","description":"The ID of the Rewrite Rule Set\n"},"name":{"type":"string","description":"The name of this Application Gateway.\n"},"rewriteRules":{"type":"array","items":{"$ref":"#/types/azure:network/getApplicationGatewayRewriteRuleSetRewriteRule:getApplicationGatewayRewriteRuleSetRewriteRule"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`rewriteRule`\" pulumi-lang-dotnet=\"`RewriteRule`\" pulumi-lang-go=\"`rewriteRule`\" pulumi-lang-python=\"`rewrite_rule`\" pulumi-lang-yaml=\"`rewriteRule`\" pulumi-lang-java=\"`rewriteRule`\"\u003e`rewrite_rule`\u003c/span\u003e blocks as defined below.\n"}},"type":"object","required":["id","name","rewriteRules"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:network/getApplicationGatewayRewriteRuleSetRewriteRule:getApplicationGatewayRewriteRuleSetRewriteRule":{"properties":{"conditions":{"type":"array","items":{"$ref":"#/types/azure:network/getApplicationGatewayRewriteRuleSetRewriteRuleCondition:getApplicationGatewayRewriteRuleSetRewriteRuleCondition"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`condition`\" pulumi-lang-dotnet=\"`Condition`\" pulumi-lang-go=\"`condition`\" pulumi-lang-python=\"`condition`\" pulumi-lang-yaml=\"`condition`\" pulumi-lang-java=\"`condition`\"\u003e`condition`\u003c/span\u003e blocks as defined above.\n"},"name":{"type":"string","description":"The name of this Application Gateway.\n"},"requestHeaderConfigurations":{"type":"array","items":{"$ref":"#/types/azure:network/getApplicationGatewayRewriteRuleSetRewriteRuleRequestHeaderConfiguration:getApplicationGatewayRewriteRuleSetRewriteRuleRequestHeaderConfiguration"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`requestHeaderConfiguration`\" pulumi-lang-dotnet=\"`RequestHeaderConfiguration`\" pulumi-lang-go=\"`requestHeaderConfiguration`\" pulumi-lang-python=\"`request_header_configuration`\" pulumi-lang-yaml=\"`requestHeaderConfiguration`\" pulumi-lang-java=\"`requestHeaderConfiguration`\"\u003e`request_header_configuration`\u003c/span\u003e blocks as defined above.\n"},"responseHeaderConfigurations":{"type":"array","items":{"$ref":"#/types/azure:network/getApplicationGatewayRewriteRuleSetRewriteRuleResponseHeaderConfiguration:getApplicationGatewayRewriteRuleSetRewriteRuleResponseHeaderConfiguration"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`responseHeaderConfiguration`\" pulumi-lang-dotnet=\"`ResponseHeaderConfiguration`\" pulumi-lang-go=\"`responseHeaderConfiguration`\" pulumi-lang-python=\"`response_header_configuration`\" pulumi-lang-yaml=\"`responseHeaderConfiguration`\" pulumi-lang-java=\"`responseHeaderConfiguration`\"\u003e`response_header_configuration`\u003c/span\u003e blocks as defined above.\n"},"ruleSequence":{"type":"integer","description":"Rule sequence of the Rewrite Rule that determines the order of execution in a set.\n"},"urls":{"type":"array","items":{"$ref":"#/types/azure:network/getApplicationGatewayRewriteRuleSetRewriteRuleUrl:getApplicationGatewayRewriteRuleSetRewriteRuleUrl"},"description":"One \u003cspan pulumi-lang-nodejs=\"`url`\" pulumi-lang-dotnet=\"`Url`\" pulumi-lang-go=\"`url`\" pulumi-lang-python=\"`url`\" pulumi-lang-yaml=\"`url`\" pulumi-lang-java=\"`url`\"\u003e`url`\u003c/span\u003e block as defined below\n"}},"type":"object","required":["conditions","name","requestHeaderConfigurations","responseHeaderConfigurations","ruleSequence","urls"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:network/getApplicationGatewayRewriteRuleSetRewriteRuleCondition:getApplicationGatewayRewriteRuleSetRewriteRuleCondition":{"properties":{"ignoreCase":{"type":"boolean","description":"Whether a case insensitive comparison is performed.\n"},"negate":{"type":"boolean","description":"Whether the result of the condition evaluation is negated.\n"},"pattern":{"type":"string","description":"The pattern, either fixed string or regular expression, that evaluates the truthfulness of the condition.\n"},"variable":{"type":"string","description":"The [variable](https://docs.microsoft.com/azure/application-gateway/rewrite-http-headers#server-variables) of the condition.\n"}},"type":"object","required":["ignoreCase","negate","pattern","variable"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:network/getApplicationGatewayRewriteRuleSetRewriteRuleRequestHeaderConfiguration:getApplicationGatewayRewriteRuleSetRewriteRuleRequestHeaderConfiguration":{"properties":{"headerName":{"type":"string","description":"Header name of the header configuration.\n"},"headerValue":{"type":"string","description":"Header value of the header configuration.\n"}},"type":"object","required":["headerName","headerValue"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:network/getApplicationGatewayRewriteRuleSetRewriteRuleResponseHeaderConfiguration:getApplicationGatewayRewriteRuleSetRewriteRuleResponseHeaderConfiguration":{"properties":{"headerName":{"type":"string","description":"Header name of the header configuration.\n"},"headerValue":{"type":"string","description":"Header value of the header configuration.\n"}},"type":"object","required":["headerName","headerValue"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:network/getApplicationGatewayRewriteRuleSetRewriteRuleUrl:getApplicationGatewayRewriteRuleSetRewriteRuleUrl":{"properties":{"components":{"type":"string","description":"The components used to rewrite the URL.\n"},"path":{"type":"string","description":"The URL path to rewrite.\n"},"queryString":{"type":"string","description":"The query string to rewrite.\n"},"reroute":{"type":"boolean","description":"Whether the URL path map is reevaluated after this rewrite has been applied.\n"}},"type":"object","required":["components","path","queryString","reroute"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:network/getApplicationGatewaySkus:getApplicationGatewaySkus":{"properties":{"capacity":{"type":"integer","description":"The Capacity of the SKU in use for this Application Gateway.\n"},"name":{"type":"string","description":"The name of this Application Gateway.\n"},"tier":{"type":"string","description":"The Tier of the SKU in use for this Application Gateway.\n"}},"type":"object","required":["capacity","name","tier"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:network/getApplicationGatewaySslCertificate:getApplicationGatewaySslCertificate":{"properties":{"id":{"type":"string","description":"The ID of the Rewrite Rule Set\n"},"keyVaultSecretId":{"type":"string","description":"The Secret ID of (base-64 encoded unencrypted pfx) the `Secret` or `Certificate` object stored in Azure KeyVault.\n"},"name":{"type":"string","description":"The name of this Application Gateway.\n"},"publicCertData":{"type":"string","description":"The Public Certificate Data associated with the SSL Certificate.\n"}},"type":"object","required":["id","keyVaultSecretId","name","publicCertData"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:network/getApplicationGatewaySslPolicy:getApplicationGatewaySslPolicy":{"properties":{"cipherSuites":{"type":"array","items":{"type":"string"},"description":"A List of accepted cipher suites.\n"},"disabledProtocols":{"type":"array","items":{"type":"string"},"description":"A list of SSL Protocols which are disabled on this Application Gateway.\n"},"minProtocolVersion":{"type":"string","description":"The minimum TLS version.\n"},"policyName":{"type":"string","description":"The Name of the Policy.\n"},"policyType":{"type":"string","description":"The Type of the Policy.\n"}},"type":"object","required":["cipherSuites","disabledProtocols","minProtocolVersion","policyName","policyType"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:network/getApplicationGatewaySslProfile:getApplicationGatewaySslProfile":{"properties":{"id":{"type":"string","description":"The ID of the Rewrite Rule Set\n"},"name":{"type":"string","description":"The name of this Application Gateway.\n"},"sslPolicies":{"type":"array","items":{"$ref":"#/types/azure:network/getApplicationGatewaySslProfileSslPolicy:getApplicationGatewaySslProfileSslPolicy"},"description":"a \u003cspan pulumi-lang-nodejs=\"`sslPolicy`\" pulumi-lang-dotnet=\"`SslPolicy`\" pulumi-lang-go=\"`sslPolicy`\" pulumi-lang-python=\"`ssl_policy`\" pulumi-lang-yaml=\"`sslPolicy`\" pulumi-lang-java=\"`sslPolicy`\"\u003e`ssl_policy`\u003c/span\u003e block as defined below.\n"},"trustedClientCertificateNames":{"type":"array","items":{"type":"string"},"description":"The name of the Trusted Client Certificate that will be used to authenticate requests from clients.\n"},"verifyClientCertificateIssuerDn":{"type":"boolean"},"verifyClientCertificateRevocation":{"type":"string","description":"The method used to check client certificate revocation status.\n"}},"type":"object","required":["id","name","sslPolicies","trustedClientCertificateNames","verifyClientCertificateIssuerDn","verifyClientCertificateRevocation"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:network/getApplicationGatewaySslProfileSslPolicy:getApplicationGatewaySslProfileSslPolicy":{"properties":{"cipherSuites":{"type":"array","items":{"type":"string"},"description":"A List of accepted cipher suites.\n"},"disabledProtocols":{"type":"array","items":{"type":"string"},"description":"A list of SSL Protocols which are disabled on this Application Gateway.\n"},"minProtocolVersion":{"type":"string","description":"The minimum TLS version.\n"},"policyName":{"type":"string","description":"The Name of the Policy.\n"},"policyType":{"type":"string","description":"The Type of the Policy.\n"}},"type":"object","required":["cipherSuites","disabledProtocols","minProtocolVersion","policyName","policyType"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:network/getApplicationGatewayTrustedClientCertificate:getApplicationGatewayTrustedClientCertificate":{"properties":{"data":{"type":"string","description":"The content of the Trusted Client Certificate in use.\n"},"id":{"type":"string","description":"The ID of the Rewrite Rule Set\n"},"name":{"type":"string","description":"The name of this Application Gateway.\n"}},"type":"object","required":["data","id","name"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:network/getApplicationGatewayTrustedRootCertificate:getApplicationGatewayTrustedRootCertificate":{"properties":{"id":{"type":"string","description":"The ID of the Rewrite Rule Set\n"},"keyVaultSecretId":{"type":"string","description":"The Secret ID of (base-64 encoded unencrypted pfx) the `Secret` or `Certificate` object stored in Azure KeyVault.\n"},"name":{"type":"string","description":"The name of this Application Gateway.\n"}},"type":"object","required":["id","keyVaultSecretId","name"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:network/getApplicationGatewayUrlPathMap:getApplicationGatewayUrlPathMap":{"properties":{"defaultBackendAddressPoolId":{"type":"string","description":"The ID of the Default Backend Address Pool.\n"},"defaultBackendAddressPoolName":{"type":"string","description":"The Name of the Default Backend Address Pool which is used for this URL Path Map.\n"},"defaultBackendHttpSettingsId":{"type":"string","description":"The ID of the Default Backend HTTP Settings Collection.\n"},"defaultBackendHttpSettingsName":{"type":"string","description":"The Name of the Default Backend HTTP Settings Collection which is used for this URL Path Map.\n"},"defaultRedirectConfigurationId":{"type":"string","description":"The ID of the Default Redirect Configuration.\n"},"defaultRedirectConfigurationName":{"type":"string","description":"The Name of the Default Redirect Configuration which is used for this URL Path Map.\n"},"defaultRewriteRuleSetId":{"type":"string"},"defaultRewriteRuleSetName":{"type":"string","description":"The Name of the Default Rewrite Rule Set which is used for this URL Path Map.\n"},"id":{"type":"string","description":"The ID of the Rewrite Rule Set\n"},"name":{"type":"string","description":"The name of this Application Gateway.\n"},"pathRules":{"type":"array","items":{"$ref":"#/types/azure:network/getApplicationGatewayUrlPathMapPathRule:getApplicationGatewayUrlPathMapPathRule"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`pathRule`\" pulumi-lang-dotnet=\"`PathRule`\" pulumi-lang-go=\"`pathRule`\" pulumi-lang-python=\"`path_rule`\" pulumi-lang-yaml=\"`pathRule`\" pulumi-lang-java=\"`pathRule`\"\u003e`path_rule`\u003c/span\u003e blocks as defined above.\n"}},"type":"object","required":["defaultBackendAddressPoolId","defaultBackendAddressPoolName","defaultBackendHttpSettingsId","defaultBackendHttpSettingsName","defaultRedirectConfigurationId","defaultRedirectConfigurationName","defaultRewriteRuleSetId","defaultRewriteRuleSetName","id","name","pathRules"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:network/getApplicationGatewayUrlPathMapPathRule:getApplicationGatewayUrlPathMapPathRule":{"properties":{"backendAddressPoolId":{"type":"string","description":"The ID of the associated Backend Address Pool.\n"},"backendAddressPoolName":{"type":"string","description":"The Name of the Backend Address Pool which is used for this Routing Rule.\n"},"backendHttpSettingsId":{"type":"string","description":"The ID of the associated Backend HTTP Settings Configuration.\n"},"backendHttpSettingsName":{"type":"string","description":"The Name of the Backend HTTP Settings Collection which is used for this Routing Rule.\n"},"firewallPolicyId":{"type":"string","description":"The ID of the Web Application Firewall Policy which is used as an HTTP Listener for this Path Rule.\n"},"id":{"type":"string","description":"The ID of the Rewrite Rule Set\n"},"name":{"type":"string","description":"The name of this Application Gateway.\n"},"paths":{"type":"array","items":{"type":"string"},"description":"A list of Paths used in this Path Rule.\n"},"redirectConfigurationId":{"type":"string","description":"The ID of the associated Redirect Configuration.\n"},"redirectConfigurationName":{"type":"string","description":"The Name of the Redirect Configuration which is used for this Routing Rule.\n"},"rewriteRuleSetId":{"type":"string","description":"The ID of the associated Rewrite Rule Set.\n"},"rewriteRuleSetName":{"type":"string","description":"The Name of the Rewrite Rule Set which is used for this Routing Rule.\n"}},"type":"object","required":["backendAddressPoolId","backendAddressPoolName","backendHttpSettingsId","backendHttpSettingsName","firewallPolicyId","id","name","paths","redirectConfigurationId","redirectConfigurationName","rewriteRuleSetId","rewriteRuleSetName"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:network/getApplicationGatewayWafConfiguration:getApplicationGatewayWafConfiguration":{"properties":{"disabledRuleGroups":{"type":"array","items":{"$ref":"#/types/azure:network/getApplicationGatewayWafConfigurationDisabledRuleGroup:getApplicationGatewayWafConfigurationDisabledRuleGroup"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`disabledRuleGroup`\" pulumi-lang-dotnet=\"`DisabledRuleGroup`\" pulumi-lang-go=\"`disabledRuleGroup`\" pulumi-lang-python=\"`disabled_rule_group`\" pulumi-lang-yaml=\"`disabledRuleGroup`\" pulumi-lang-java=\"`disabledRuleGroup`\"\u003e`disabled_rule_group`\u003c/span\u003e blocks as defined below.\n"},"enabled":{"type":"boolean","description":"Is the Web Application Firewall enabled?\n"},"exclusions":{"type":"array","items":{"$ref":"#/types/azure:network/getApplicationGatewayWafConfigurationExclusion:getApplicationGatewayWafConfigurationExclusion"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`exclusion`\" pulumi-lang-dotnet=\"`Exclusion`\" pulumi-lang-go=\"`exclusion`\" pulumi-lang-python=\"`exclusion`\" pulumi-lang-yaml=\"`exclusion`\" pulumi-lang-java=\"`exclusion`\"\u003e`exclusion`\u003c/span\u003e blocks as defined below.\n"},"fileUploadLimitMb":{"type":"integer","description":"The File Upload Limit in MB.\n"},"firewallMode":{"type":"string","description":"The Web Application Firewall Mode.\n"},"maxRequestBodySizeKb":{"type":"integer","description":"The Maximum Request Body Size in KB.\n"},"requestBodyCheck":{"type":"boolean","description":"Is Request Body Inspection enabled?\n"},"ruleSetType":{"type":"string","description":"The Type of the Rule Set used for this Web Application Firewall.\n"},"ruleSetVersion":{"type":"string","description":"The Version of the Rule Set used for this Web Application Firewall.\n"}},"type":"object","required":["disabledRuleGroups","enabled","exclusions","fileUploadLimitMb","firewallMode","maxRequestBodySizeKb","requestBodyCheck","ruleSetType","ruleSetVersion"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:network/getApplicationGatewayWafConfigurationDisabledRuleGroup:getApplicationGatewayWafConfigurationDisabledRuleGroup":{"properties":{"ruleGroupName":{"type":"string","description":"The rule group where specific rules are disabled.\n"},"rules":{"type":"array","items":{"type":"integer"},"description":"A list of rules which will be disabled in that group.\n"}},"type":"object","required":["ruleGroupName","rules"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:network/getApplicationGatewayWafConfigurationExclusion:getApplicationGatewayWafConfigurationExclusion":{"properties":{"matchVariable":{"type":"string","description":"Match variable of the exclusion rule.\n"},"selector":{"type":"string","description":"String value which will be used for the filter operation.\n"},"selectorMatchOperator":{"type":"string","description":"Operator which will be used to search in the variable content.\n"}},"type":"object","required":["matchVariable","selector","selectorMatchOperator"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:network/getExpressRouteCircuitPeering:getExpressRouteCircuitPeering":{"properties":{"azureAsn":{"type":"integer","description":"The Either a 16-bit or a 32-bit ASN for Azure.\n"},"peerAsn":{"type":"integer","description":"The Either a 16-bit or a 32-bit ASN. Can either be public or private.\n"},"peeringType":{"type":"string","description":"The type of the ExpressRoute Circuit Peering. Acceptable values include `AzurePrivatePeering`, `AzurePublicPeering` and `MicrosoftPeering`. Changing this forces a new resource to be created.\n"},"primaryPeerAddressPrefix":{"type":"string","description":"A `/30` subnet for the primary link.\n"},"secondaryPeerAddressPrefix":{"type":"string","description":"A `/30` subnet for the secondary link.\n"},"sharedKey":{"type":"string","description":"The shared key. Can be a maximum of 25 characters.\n"},"vlanId":{"type":"integer","description":"A valid VLAN ID to establish this peering on.\n"}},"type":"object","required":["azureAsn","peerAsn","peeringType","primaryPeerAddressPrefix","secondaryPeerAddressPrefix","sharedKey","vlanId"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:network/getExpressRouteCircuitServiceProviderProperty:getExpressRouteCircuitServiceProviderProperty":{"properties":{"bandwidthInMbps":{"type":"integer","description":"The bandwidth in Mbps of the ExpressRoute circuit.\n"},"peeringLocation":{"type":"string","description":"The name of the peering location and **not** the Azure resource location.\n"},"serviceProviderName":{"type":"string","description":"The name of the ExpressRoute Service Provider.\n"}},"type":"object","required":["bandwidthInMbps","peeringLocation","serviceProviderName"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:network/getExpressRouteCircuitSku:getExpressRouteCircuitSku":{"properties":{"family":{"type":"string","description":"The billing mode for bandwidth. Possible values are `MeteredData` or `UnlimitedData`.\n"},"tier":{"type":"string","description":"The service tier. Possible values are `Basic`, `Local`, `Standard` or `Premium`.\n"}},"type":"object","required":["family","tier"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:network/getFirewallIpConfiguration:getFirewallIpConfiguration":{"properties":{"name":{"type":"string","description":"The name of the Azure Firewall.\n"},"privateIpAddress":{"type":"string","description":"The private IP address associated with the Azure Firewall.\n"},"publicIpAddressId":{"type":"string","description":"The ID of the Public IP address of the Azure Firewall.\n"},"subnetId":{"type":"string","description":"The ID of the Subnet where the Azure Firewall is deployed.\n"}},"type":"object","required":["name","privateIpAddress","publicIpAddressId","subnetId"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:network/getFirewallManagementIpConfiguration:getFirewallManagementIpConfiguration":{"properties":{"name":{"type":"string","description":"The name of the Azure Firewall.\n"},"privateIpAddress":{"type":"string","description":"The private IP address associated with the Azure Firewall.\n"},"publicIpAddressId":{"type":"string","description":"The ID of the Public IP address of the Azure Firewall.\n"},"subnetId":{"type":"string","description":"The ID of the Subnet where the Azure Firewall is deployed.\n"}},"type":"object","required":["name","privateIpAddress","publicIpAddressId","subnetId"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:network/getFirewallPolicyDn:getFirewallPolicyDn":{"properties":{"networkRuleFqdnEnabled":{"type":"boolean"},"proxyEnabled":{"type":"boolean"},"servers":{"type":"array","items":{"type":"string"}}},"type":"object","required":["networkRuleFqdnEnabled","proxyEnabled","servers"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:network/getFirewallPolicyThreatIntelligenceAllowlist:getFirewallPolicyThreatIntelligenceAllowlist":{"properties":{"fqdns":{"type":"array","items":{"type":"string"}},"ipAddresses":{"type":"array","items":{"type":"string"}}},"type":"object","required":["fqdns","ipAddresses"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:network/getFirewallVirtualHub:getFirewallVirtualHub":{"properties":{"privateIpAddress":{"type":"string","description":"The private IP address associated with the Azure Firewall.\n"},"publicIpAddresses":{"type":"array","items":{"type":"string"},"description":"The list of public IP addresses associated with the Azure Firewall.\n"},"publicIpCount":{"type":"integer","description":"The number of public IPs assigned to the Azure Firewall.\n"},"virtualHubId":{"type":"string","description":"The ID of the Virtual Hub where the Azure Firewall resides in.\n"}},"type":"object","required":["privateIpAddress","publicIpAddresses","publicIpCount","virtualHubId"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:network/getGatewayConnectionIpsecPolicy:getGatewayConnectionIpsecPolicy":{"properties":{"dhGroup":{"type":"string","description":"The DH group used in IKE phase 1 for initial SA. Valid\noptions are `DHGroup1`, `DHGroup14`, `DHGroup2`, `DHGroup2048`, `DHGroup24`,\n`ECP256`, `ECP384`, or `None`.\n"},"ikeEncryption":{"type":"string","description":"The IKE encryption algorithm. Valid\noptions are `AES128`, `AES192`, `AES256`, `DES`, or `DES3`.\n"},"ikeIntegrity":{"type":"string","description":"The IKE integrity algorithm. Valid\noptions are `MD5`, `SHA1`, `SHA256`, or `SHA384`.\n"},"ipsecEncryption":{"type":"string","description":"The IPSec encryption algorithm. Valid\noptions are `AES128`, `AES192`, `AES256`, `DES`, `DES3`, `GCMAES128`, `GCMAES192`, `GCMAES256`, or `None`.\n"},"ipsecIntegrity":{"type":"string","description":"The IPSec integrity algorithm. Valid\noptions are `GCMAES128`, `GCMAES192`, `GCMAES256`, `MD5`, `SHA1`, or `SHA256`.\n"},"pfsGroup":{"type":"string","description":"The DH group used in IKE phase 2 for new child SA.\nValid options are `ECP256`, `ECP384`, `PFS1`, `PFS2`, `PFS2048`, `PFS24`,\nor `None`.\n"},"saDatasize":{"type":"integer","description":"The IPSec SA payload size in KB. Must be at least\n\u003cspan pulumi-lang-nodejs=\"`1024`\" pulumi-lang-dotnet=\"`1024`\" pulumi-lang-go=\"`1024`\" pulumi-lang-python=\"`1024`\" pulumi-lang-yaml=\"`1024`\" pulumi-lang-java=\"`1024`\"\u003e`1024`\u003c/span\u003e KB.\n"},"saLifetime":{"type":"integer","description":"The IPSec SA lifetime in seconds. Must be at least\n\u003cspan pulumi-lang-nodejs=\"`300`\" pulumi-lang-dotnet=\"`300`\" pulumi-lang-go=\"`300`\" pulumi-lang-python=\"`300`\" pulumi-lang-yaml=\"`300`\" pulumi-lang-java=\"`300`\"\u003e`300`\u003c/span\u003e seconds.\n"}},"type":"object","required":["dhGroup","ikeEncryption","ikeIntegrity","ipsecEncryption","ipsecIntegrity","pfsGroup","saDatasize","saLifetime"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:network/getGatewayConnectionTrafficSelectorPolicy:getGatewayConnectionTrafficSelectorPolicy":{"properties":{"localAddressCidrs":{"type":"array","items":{"type":"string"},"description":"List of local CIDRs.\n"},"remoteAddressCidrs":{"type":"array","items":{"type":"string"},"description":"List of remote CIDRs.\n"}},"type":"object","required":["localAddressCidrs","remoteAddressCidrs"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:network/getLocalNetworkGatewayBgpSetting:getLocalNetworkGatewayBgpSetting":{"properties":{"asn":{"type":"integer","description":"The BGP speaker's ASN.\n"},"bgpPeeringAddress":{"type":"string","description":"The BGP peering address and BGP identifier of this BGP speaker.\n"},"peerWeight":{"type":"integer","description":"The weight added to routes learned from this BGP speaker.\n"}},"type":"object","required":["asn","bgpPeeringAddress","peerWeight"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:network/getNetworkInterfaceIpConfiguration:getNetworkInterfaceIpConfiguration":{"properties":{"applicationGatewayBackendAddressPoolsIds":{"type":"array","items":{"type":"string"},"description":"A list of Backend Address Pool IDs within a Application Gateway that this Network Interface is connected to.\n"},"applicationSecurityGroupIds":{"type":"array","items":{"type":"string"}},"gatewayLoadBalancerFrontendIpConfigurationId":{"type":"string","description":"The Frontend IP Configuration ID of a Gateway SKU Load Balancer the Network Interface is consuming.\n"},"loadBalancerBackendAddressPoolsIds":{"type":"array","items":{"type":"string"},"description":"A list of Backend Address Pool IDs within a Load Balancer that this Network Interface is connected to.\n"},"loadBalancerInboundNatRulesIds":{"type":"array","items":{"type":"string"},"description":"A list of Inbound NAT Rule IDs within a Load Balancer that this Network Interface is connected to.\n"},"name":{"type":"string","description":"Specifies the name of the Network Interface.\n"},"primary":{"type":"boolean","description":"is this the Primary IP Configuration for this Network Interface?\n"},"privateIpAddress":{"type":"string","description":"The Private IP Address assigned to this Network Interface.\n"},"privateIpAddressAllocation":{"type":"string","description":"The IP Address allocation type for the Private address, such as `Dynamic` or `Static`.\n"},"privateIpAddressVersion":{"type":"string"},"publicIpAddressId":{"type":"string","description":"The ID of the Public IP Address which is connected to this Network Interface.\n"},"subnetId":{"type":"string","description":"The ID of the Subnet which the Network Interface is connected to.\n"}},"type":"object","required":["applicationGatewayBackendAddressPoolsIds","applicationSecurityGroupIds","gatewayLoadBalancerFrontendIpConfigurationId","loadBalancerBackendAddressPoolsIds","loadBalancerInboundNatRulesIds","name","primary","privateIpAddress","privateIpAddressAllocation","privateIpAddressVersion","publicIpAddressId","subnetId"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:network/getNetworkManagerConnectivityConfigurationAppliesToGroup:getNetworkManagerConnectivityConfigurationAppliesToGroup":{"properties":{"globalMeshEnabled":{"type":"boolean","description":"Whether global mesh is supported.\n"},"groupConnectivity":{"type":"string","description":"The group connectivity type.\n"},"networkGroupId":{"type":"string","description":"The ID of the Network Manager Network Group.\n"},"useHubGateway":{"type":"boolean","description":"Whether hub gateway is used.\n"}},"type":"object","required":["globalMeshEnabled","groupConnectivity","networkGroupId","useHubGateway"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:network/getNetworkManagerConnectivityConfigurationHub:getNetworkManagerConnectivityConfigurationHub":{"properties":{"resourceId":{"type":"string","description":"The resource ID used as hub in Hub and Spoke topology.\n"},"resourceType":{"type":"string","description":"The resource type used as hub in Hub and Spoke topology.\n"}},"type":"object","required":["resourceId","resourceType"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:network/getNetworkManagerCrossTenantScope:getNetworkManagerCrossTenantScope":{"properties":{"managementGroups":{"type":"array","items":{"type":"string"},"description":"A list of management groups used as cross tenant scope for the Network Manager.\n"},"subscriptions":{"type":"array","items":{"type":"string"},"description":"A list of subscriptions used as cross tenant scope for the Network Manager.\n"},"tenantId":{"type":"string","description":"The tenant ID of the cross tenant scope.\n"}},"type":"object","required":["managementGroups","subscriptions","tenantId"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:network/getNetworkManagerScope:getNetworkManagerScope":{"properties":{"managementGroupIds":{"type":"array","items":{"type":"string"},"description":"A list of management group IDs used a scope for the Network Manager.\n"},"subscriptionIds":{"type":"array","items":{"type":"string"},"description":"A list of subscription IDs used as the scope for the Network Manager.\n"}},"type":"object","required":["managementGroupIds","subscriptionIds"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:network/getNetworkSecurityGroupSecurityRule:getNetworkSecurityGroupSecurityRule":{"properties":{"access":{"type":"string","description":"Is network traffic is allowed or denied?\n"},"description":{"type":"string","description":"The description for this rule.\n"},"destinationAddressPrefix":{"type":"string","description":"CIDR or destination IP range or * to match any IP.\n"},"destinationAddressPrefixes":{"type":"array","items":{"type":"string"},"description":"A list of CIDRs or destination IP ranges.\n"},"destinationApplicationSecurityGroupIds":{"type":"array","items":{"type":"string"},"description":"A List of destination Application Security Group IDs\n"},"destinationPortRange":{"type":"string","description":"The Destination Port or Range.\n"},"destinationPortRanges":{"type":"array","items":{"type":"string"}},"direction":{"type":"string","description":"The direction specifies if rule will be evaluated on incoming or outgoing traffic.\n"},"name":{"type":"string","description":"Specifies the Name of the Network Security Group.\n"},"priority":{"type":"integer","description":"The priority of the rule\n"},"protocol":{"type":"string","description":"The network protocol this rule applies to.\n"},"sourceAddressPrefix":{"type":"string","description":"CIDR or source IP range or * to match any IP.\n"},"sourceAddressPrefixes":{"type":"array","items":{"type":"string"},"description":"A list of CIDRs or source IP ranges.\n"},"sourceApplicationSecurityGroupIds":{"type":"array","items":{"type":"string"},"description":"A List of source Application Security Group IDs\n"},"sourcePortRange":{"type":"string","description":"The Source Port or Range.\n"},"sourcePortRanges":{"type":"array","items":{"type":"string"}}},"type":"object","required":["access","description","destinationAddressPrefix","destinationAddressPrefixes","destinationPortRange","destinationPortRanges","direction","name","priority","protocol","sourceAddressPrefix","sourceAddressPrefixes","sourcePortRange","sourcePortRanges"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:network/getPublicIPsPublicIp:getPublicIPsPublicIp":{"properties":{"domainNameLabel":{"type":"string","description":"The Domain Name Label of the Public IP Address\n"},"fqdn":{"type":"string","description":"The FQDN of the Public IP Address\n"},"id":{"type":"string","description":"The ID of the Public IP Address\n"},"ipAddress":{"type":"string","description":"The IP address of the Public IP Address\n"},"name":{"type":"string","description":"The Name of the Public IP Address\n"}},"type":"object","required":["domainNameLabel","fqdn","id","ipAddress","name"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:network/getRouteFilterRule:getRouteFilterRule":{"properties":{"access":{"type":"string","description":"The access type of the rule\n"},"communities":{"type":"array","items":{"type":"string"},"description":"The collection for bgp community values.\n"},"name":{"type":"string","description":"The Name of this Route Filter.\n"},"ruleType":{"type":"string","description":"The Route Filter Rule Type.\n"}},"type":"object","required":["access","communities","name","ruleType"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:network/getRouteTableRoute:getRouteTableRoute":{"properties":{"addressPrefix":{"type":"string","description":"The destination CIDR to which the route applies.\n"},"name":{"type":"string","description":"The name of the Route Table.\n"},"nextHopInIpAddress":{"type":"string","description":"Contains the IP address packets should be forwarded to.\n"},"nextHopType":{"type":"string","description":"The type of Azure hop the packet should be sent to.\n"}},"type":"object","required":["addressPrefix","name","nextHopInIpAddress","nextHopType"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:network/getTrafficManagerProfileDnsConfig:getTrafficManagerProfileDnsConfig":{"properties":{"relativeName":{"type":"string","description":"The relative domain name, this is combined with the domain name used by Traffic Manager to form the FQDN which is exported as documented below.\n"},"ttl":{"type":"integer","description":"The TTL value of the Profile used by Local DNS resolvers and clients.\n"}},"type":"object","required":["relativeName","ttl"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:network/getTrafficManagerProfileMonitorConfig:getTrafficManagerProfileMonitorConfig":{"properties":{"customHeaders":{"type":"array","items":{"$ref":"#/types/azure:network/getTrafficManagerProfileMonitorConfigCustomHeader:getTrafficManagerProfileMonitorConfigCustomHeader"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`customHeader`\" pulumi-lang-dotnet=\"`CustomHeader`\" pulumi-lang-go=\"`customHeader`\" pulumi-lang-python=\"`custom_header`\" pulumi-lang-yaml=\"`customHeader`\" pulumi-lang-java=\"`customHeader`\"\u003e`custom_header`\u003c/span\u003e blocks as defined below.\n"},"expectedStatusCodeRanges":{"type":"array","items":{"type":"string"},"description":"A list of status code ranges.\n"},"intervalInSeconds":{"type":"integer","description":"The interval used to check the endpoint health from a Traffic Manager probing agent.\n"},"path":{"type":"string","description":"The path used by the monitoring checks.\n"},"port":{"type":"integer","description":"The port number used by the monitoring checks.\n"},"protocol":{"type":"string","description":"The protocol used by the monitoring checks.\n"},"timeoutInSeconds":{"type":"integer","description":"The amount of time the Traffic Manager probing agent should wait before considering that check a failure when a health check probe is sent to the endpoint.\n"},"toleratedNumberOfFailures":{"type":"integer","description":"The number of failures a Traffic Manager probing agent tolerates before marking that endpoint as unhealthy.\n"}},"type":"object","required":["customHeaders","expectedStatusCodeRanges","intervalInSeconds","path","port","protocol","timeoutInSeconds","toleratedNumberOfFailures"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:network/getTrafficManagerProfileMonitorConfigCustomHeader:getTrafficManagerProfileMonitorConfigCustomHeader":{"properties":{"name":{"type":"string","description":"Specifies the name of the Traffic Manager Profile.\n"},"value":{"type":"string","description":"The value of custom header. Applicable for HTTP and HTTPS protocol.\n"}},"type":"object","required":["name","value"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:network/getVirtualHubConnectionRouting:getVirtualHubConnectionRouting":{"properties":{"associatedRouteTableId":{"type":"string","description":"The ID of the route table associated with this Virtual Hub connection.\n"},"inboundRouteMapId":{"type":"string","description":"The ID of the Route Map associated with this Routing Configuration for inbound learned routes.\n"},"outboundRouteMapId":{"type":"string","description":"The ID of the Route Map associated with this Routing Configuration for outbound advertised routes.\n"},"propagatedRouteTables":{"type":"array","items":{"$ref":"#/types/azure:network/getVirtualHubConnectionRoutingPropagatedRouteTable:getVirtualHubConnectionRoutingPropagatedRouteTable"},"description":"A \u003cspan pulumi-lang-nodejs=\"`propagatedRouteTable`\" pulumi-lang-dotnet=\"`PropagatedRouteTable`\" pulumi-lang-go=\"`propagatedRouteTable`\" pulumi-lang-python=\"`propagated_route_table`\" pulumi-lang-yaml=\"`propagatedRouteTable`\" pulumi-lang-java=\"`propagatedRouteTable`\"\u003e`propagated_route_table`\u003c/span\u003e block as defined below.\n"},"staticVnetLocalRouteOverrideCriteria":{"type":"string","description":"The static VNet local route override criteria that is used to determine whether NVA in spoke VNet is bypassed for traffic with destination in spoke VNet.\n"},"staticVnetPropagateStaticRoutesEnabled":{"type":"boolean","description":"Whether the static routes should be propagated to the Virtual Hub or not.\n"},"staticVnetRoutes":{"type":"array","items":{"$ref":"#/types/azure:network/getVirtualHubConnectionRoutingStaticVnetRoute:getVirtualHubConnectionRoutingStaticVnetRoute"},"description":"A \u003cspan pulumi-lang-nodejs=\"`staticVnetRoute`\" pulumi-lang-dotnet=\"`StaticVnetRoute`\" pulumi-lang-go=\"`staticVnetRoute`\" pulumi-lang-python=\"`static_vnet_route`\" pulumi-lang-yaml=\"`staticVnetRoute`\" pulumi-lang-java=\"`staticVnetRoute`\"\u003e`static_vnet_route`\u003c/span\u003e block as defined below.\n"}},"type":"object","required":["associatedRouteTableId","inboundRouteMapId","outboundRouteMapId","propagatedRouteTables","staticVnetLocalRouteOverrideCriteria","staticVnetPropagateStaticRoutesEnabled","staticVnetRoutes"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:network/getVirtualHubConnectionRoutingPropagatedRouteTable:getVirtualHubConnectionRoutingPropagatedRouteTable":{"properties":{"labels":{"type":"array","items":{"type":"string"},"description":"The list of labels assigned to this route table.\n"},"routeTableIds":{"type":"array","items":{"type":"string"},"description":"A list of Route Table IDs associated with this Virtual Hub Connection.\n"}},"type":"object","required":["labels","routeTableIds"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:network/getVirtualHubConnectionRoutingStaticVnetRoute:getVirtualHubConnectionRoutingStaticVnetRoute":{"properties":{"addressPrefixes":{"type":"array","items":{"type":"string"},"description":"A list of CIDR Ranges which is used as Address Prefixes.\n"},"name":{"type":"string","description":"The name of the Connection which should be retrieved.\n"},"nextHopIpAddress":{"type":"string","description":"The IP Address which is used for the Next Hop.\n"}},"type":"object","required":["addressPrefixes","name","nextHopIpAddress"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:network/getVirtualHubRouteTableRoute:getVirtualHubRouteTableRoute":{"properties":{"destinations":{"type":"array","items":{"type":"string"},"description":"A list of destination addresses for this route.\n"},"destinationsType":{"type":"string","description":"The type of destinations.\n"},"name":{"type":"string","description":"The name of the Virtual Hub Route Table.\n"},"nextHop":{"type":"string","description":"The next hop's resource ID.\n"},"nextHopType":{"type":"string","description":"The type of next hop.\n"}},"type":"object","required":["destinations","destinationsType","name","nextHop","nextHopType"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:network/getVirtualNetworkGatewayBgpSetting:getVirtualNetworkGatewayBgpSetting":{"properties":{"asn":{"type":"integer","description":"The Autonomous System Number (ASN) to use as part of the BGP.\n"},"peerWeight":{"type":"integer","description":"The weight added to routes which have been learned\nthrough BGP peering.\n"},"peeringAddress":{"type":"string","description":"The BGP peer IP address of the virtual network\ngateway. This address is needed to configure the created gateway as a BGP Peer\non the on-premises VPN devices.\n"}},"type":"object","required":["asn","peerWeight","peeringAddress"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:network/getVirtualNetworkGatewayCustomRoute:getVirtualNetworkGatewayCustomRoute":{"properties":{"addressPrefixes":{"type":"array","items":{"type":"string"},"description":"A list of address blocks reserved for this virtual network in CIDR notation.\n"}},"type":"object","required":["addressPrefixes"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:network/getVirtualNetworkGatewayIpConfiguration:getVirtualNetworkGatewayIpConfiguration":{"properties":{"id":{"type":"string","description":"The resource ID of the IP configuration.\n"},"name":{"type":"string","description":"Specifies the name of the Virtual Network Gateway.\n"},"privateIpAddress":{"type":"string","description":"The Private IP Address associated with the Virtual Network Gateway.\n"},"privateIpAddressAllocation":{"type":"string","description":"Defines how the private IP address\nof the gateways virtual interface is assigned.\n"},"publicIpAddressId":{"type":"string","description":"The ID of the Public IP Address associated\nwith the Virtual Network Gateway.\n"},"subnetId":{"type":"string","description":"The ID of the gateway subnet of a virtual network in\nwhich the virtual network gateway will be created. It is mandatory that\nthe associated subnet is named `GatewaySubnet`. Therefore, each virtual\nnetwork can contain at most a single Virtual Network Gateway.\n"}},"type":"object","required":["id","name","privateIpAddress","privateIpAddressAllocation","publicIpAddressId","subnetId"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:network/getVirtualNetworkGatewayVpnClientConfiguration:getVirtualNetworkGatewayVpnClientConfiguration":{"properties":{"aadAudience":{"type":"string","description":"The client id of the Azure VPN application.\nSee [Create an Active Directory (AD) tenant for P2S OpenVPN protocol connections](https://docs.microsoft.com/en-gb/azure/vpn-gateway/openvpn-azure-ad-tenant-multi-app) for values\nThis setting is incompatible with the use of\n\u003cspan pulumi-lang-nodejs=\"`rootCertificate`\" pulumi-lang-dotnet=\"`RootCertificate`\" pulumi-lang-go=\"`rootCertificate`\" pulumi-lang-python=\"`root_certificate`\" pulumi-lang-yaml=\"`rootCertificate`\" pulumi-lang-java=\"`rootCertificate`\"\u003e`root_certificate`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`revokedCertificate`\" pulumi-lang-dotnet=\"`RevokedCertificate`\" pulumi-lang-go=\"`revokedCertificate`\" pulumi-lang-python=\"`revoked_certificate`\" pulumi-lang-yaml=\"`revokedCertificate`\" pulumi-lang-java=\"`revokedCertificate`\"\u003e`revoked_certificate`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`radiusServerAddress`\" pulumi-lang-dotnet=\"`RadiusServerAddress`\" pulumi-lang-go=\"`radiusServerAddress`\" pulumi-lang-python=\"`radius_server_address`\" pulumi-lang-yaml=\"`radiusServerAddress`\" pulumi-lang-java=\"`radiusServerAddress`\"\u003e`radius_server_address`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`radiusServerSecret`\" pulumi-lang-dotnet=\"`RadiusServerSecret`\" pulumi-lang-go=\"`radiusServerSecret`\" pulumi-lang-python=\"`radius_server_secret`\" pulumi-lang-yaml=\"`radiusServerSecret`\" pulumi-lang-java=\"`radiusServerSecret`\"\u003e`radius_server_secret`\u003c/span\u003e.\n"},"aadIssuer":{"type":"string","description":"The STS url for your tenant\nThis setting is incompatible with the use of\n\u003cspan pulumi-lang-nodejs=\"`rootCertificate`\" pulumi-lang-dotnet=\"`RootCertificate`\" pulumi-lang-go=\"`rootCertificate`\" pulumi-lang-python=\"`root_certificate`\" pulumi-lang-yaml=\"`rootCertificate`\" pulumi-lang-java=\"`rootCertificate`\"\u003e`root_certificate`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`revokedCertificate`\" pulumi-lang-dotnet=\"`RevokedCertificate`\" pulumi-lang-go=\"`revokedCertificate`\" pulumi-lang-python=\"`revoked_certificate`\" pulumi-lang-yaml=\"`revokedCertificate`\" pulumi-lang-java=\"`revokedCertificate`\"\u003e`revoked_certificate`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`radiusServerAddress`\" pulumi-lang-dotnet=\"`RadiusServerAddress`\" pulumi-lang-go=\"`radiusServerAddress`\" pulumi-lang-python=\"`radius_server_address`\" pulumi-lang-yaml=\"`radiusServerAddress`\" pulumi-lang-java=\"`radiusServerAddress`\"\u003e`radius_server_address`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`radiusServerSecret`\" pulumi-lang-dotnet=\"`RadiusServerSecret`\" pulumi-lang-go=\"`radiusServerSecret`\" pulumi-lang-python=\"`radius_server_secret`\" pulumi-lang-yaml=\"`radiusServerSecret`\" pulumi-lang-java=\"`radiusServerSecret`\"\u003e`radius_server_secret`\u003c/span\u003e.\n"},"aadTenant":{"type":"string","description":"AzureAD Tenant URL\nThis setting is incompatible with the use of\n\u003cspan pulumi-lang-nodejs=\"`rootCertificate`\" pulumi-lang-dotnet=\"`RootCertificate`\" pulumi-lang-go=\"`rootCertificate`\" pulumi-lang-python=\"`root_certificate`\" pulumi-lang-yaml=\"`rootCertificate`\" pulumi-lang-java=\"`rootCertificate`\"\u003e`root_certificate`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`revokedCertificate`\" pulumi-lang-dotnet=\"`RevokedCertificate`\" pulumi-lang-go=\"`revokedCertificate`\" pulumi-lang-python=\"`revoked_certificate`\" pulumi-lang-yaml=\"`revokedCertificate`\" pulumi-lang-java=\"`revokedCertificate`\"\u003e`revoked_certificate`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`radiusServerAddress`\" pulumi-lang-dotnet=\"`RadiusServerAddress`\" pulumi-lang-go=\"`radiusServerAddress`\" pulumi-lang-python=\"`radius_server_address`\" pulumi-lang-yaml=\"`radiusServerAddress`\" pulumi-lang-java=\"`radiusServerAddress`\"\u003e`radius_server_address`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`radiusServerSecret`\" pulumi-lang-dotnet=\"`RadiusServerSecret`\" pulumi-lang-go=\"`radiusServerSecret`\" pulumi-lang-python=\"`radius_server_secret`\" pulumi-lang-yaml=\"`radiusServerSecret`\" pulumi-lang-java=\"`radiusServerSecret`\"\u003e`radius_server_secret`\u003c/span\u003e.\n"},"addressSpaces":{"type":"array","items":{"type":"string"},"description":"The address space out of which IP addresses for\nvpn clients will be taken. You can provide more than one address space, e.g.\nin CIDR notation.\n"},"radiusServerAddress":{"type":"string","description":"The address of the Radius server.\nThis setting is incompatible with the use of\n\u003cspan pulumi-lang-nodejs=\"`aadTenant`\" pulumi-lang-dotnet=\"`AadTenant`\" pulumi-lang-go=\"`aadTenant`\" pulumi-lang-python=\"`aad_tenant`\" pulumi-lang-yaml=\"`aadTenant`\" pulumi-lang-java=\"`aadTenant`\"\u003e`aad_tenant`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`aadAudience`\" pulumi-lang-dotnet=\"`AadAudience`\" pulumi-lang-go=\"`aadAudience`\" pulumi-lang-python=\"`aad_audience`\" pulumi-lang-yaml=\"`aadAudience`\" pulumi-lang-java=\"`aadAudience`\"\u003e`aad_audience`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`aadIssuer`\" pulumi-lang-dotnet=\"`AadIssuer`\" pulumi-lang-go=\"`aadIssuer`\" pulumi-lang-python=\"`aad_issuer`\" pulumi-lang-yaml=\"`aadIssuer`\" pulumi-lang-java=\"`aadIssuer`\"\u003e`aad_issuer`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`rootCertificate`\" pulumi-lang-dotnet=\"`RootCertificate`\" pulumi-lang-go=\"`rootCertificate`\" pulumi-lang-python=\"`root_certificate`\" pulumi-lang-yaml=\"`rootCertificate`\" pulumi-lang-java=\"`rootCertificate`\"\u003e`root_certificate`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`revokedCertificate`\" pulumi-lang-dotnet=\"`RevokedCertificate`\" pulumi-lang-go=\"`revokedCertificate`\" pulumi-lang-python=\"`revoked_certificate`\" pulumi-lang-yaml=\"`revokedCertificate`\" pulumi-lang-java=\"`revokedCertificate`\"\u003e`revoked_certificate`\u003c/span\u003e.\n"},"radiusServerSecret":{"type":"string","description":"The secret used by the Radius server.\nThis setting is incompatible with the use of\n\u003cspan pulumi-lang-nodejs=\"`aadTenant`\" pulumi-lang-dotnet=\"`AadTenant`\" pulumi-lang-go=\"`aadTenant`\" pulumi-lang-python=\"`aad_tenant`\" pulumi-lang-yaml=\"`aadTenant`\" pulumi-lang-java=\"`aadTenant`\"\u003e`aad_tenant`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`aadAudience`\" pulumi-lang-dotnet=\"`AadAudience`\" pulumi-lang-go=\"`aadAudience`\" pulumi-lang-python=\"`aad_audience`\" pulumi-lang-yaml=\"`aadAudience`\" pulumi-lang-java=\"`aadAudience`\"\u003e`aad_audience`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`aadIssuer`\" pulumi-lang-dotnet=\"`AadIssuer`\" pulumi-lang-go=\"`aadIssuer`\" pulumi-lang-python=\"`aad_issuer`\" pulumi-lang-yaml=\"`aadIssuer`\" pulumi-lang-java=\"`aadIssuer`\"\u003e`aad_issuer`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`rootCertificate`\" pulumi-lang-dotnet=\"`RootCertificate`\" pulumi-lang-go=\"`rootCertificate`\" pulumi-lang-python=\"`root_certificate`\" pulumi-lang-yaml=\"`rootCertificate`\" pulumi-lang-java=\"`rootCertificate`\"\u003e`root_certificate`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`revokedCertificate`\" pulumi-lang-dotnet=\"`RevokedCertificate`\" pulumi-lang-go=\"`revokedCertificate`\" pulumi-lang-python=\"`revoked_certificate`\" pulumi-lang-yaml=\"`revokedCertificate`\" pulumi-lang-java=\"`revokedCertificate`\"\u003e`revoked_certificate`\u003c/span\u003e.\n"},"revokedCertificates":{"type":"array","items":{"$ref":"#/types/azure:network/getVirtualNetworkGatewayVpnClientConfigurationRevokedCertificate:getVirtualNetworkGatewayVpnClientConfigurationRevokedCertificate"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`revokedCertificate`\" pulumi-lang-dotnet=\"`RevokedCertificate`\" pulumi-lang-go=\"`revokedCertificate`\" pulumi-lang-python=\"`revoked_certificate`\" pulumi-lang-yaml=\"`revokedCertificate`\" pulumi-lang-java=\"`revokedCertificate`\"\u003e`revoked_certificate`\u003c/span\u003e blocks which\nare defined below.\nThis setting is incompatible with the use of\n\u003cspan pulumi-lang-nodejs=\"`aadTenant`\" pulumi-lang-dotnet=\"`AadTenant`\" pulumi-lang-go=\"`aadTenant`\" pulumi-lang-python=\"`aad_tenant`\" pulumi-lang-yaml=\"`aadTenant`\" pulumi-lang-java=\"`aadTenant`\"\u003e`aad_tenant`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`aadAudience`\" pulumi-lang-dotnet=\"`AadAudience`\" pulumi-lang-go=\"`aadAudience`\" pulumi-lang-python=\"`aad_audience`\" pulumi-lang-yaml=\"`aadAudience`\" pulumi-lang-java=\"`aadAudience`\"\u003e`aad_audience`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`aadIssuer`\" pulumi-lang-dotnet=\"`AadIssuer`\" pulumi-lang-go=\"`aadIssuer`\" pulumi-lang-python=\"`aad_issuer`\" pulumi-lang-yaml=\"`aadIssuer`\" pulumi-lang-java=\"`aadIssuer`\"\u003e`aad_issuer`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`radiusServerAddress`\" pulumi-lang-dotnet=\"`RadiusServerAddress`\" pulumi-lang-go=\"`radiusServerAddress`\" pulumi-lang-python=\"`radius_server_address`\" pulumi-lang-yaml=\"`radiusServerAddress`\" pulumi-lang-java=\"`radiusServerAddress`\"\u003e`radius_server_address`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`radiusServerSecret`\" pulumi-lang-dotnet=\"`RadiusServerSecret`\" pulumi-lang-go=\"`radiusServerSecret`\" pulumi-lang-python=\"`radius_server_secret`\" pulumi-lang-yaml=\"`radiusServerSecret`\" pulumi-lang-java=\"`radiusServerSecret`\"\u003e`radius_server_secret`\u003c/span\u003e.\n"},"rootCertificates":{"type":"array","items":{"$ref":"#/types/azure:network/getVirtualNetworkGatewayVpnClientConfigurationRootCertificate:getVirtualNetworkGatewayVpnClientConfigurationRootCertificate"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`rootCertificate`\" pulumi-lang-dotnet=\"`RootCertificate`\" pulumi-lang-go=\"`rootCertificate`\" pulumi-lang-python=\"`root_certificate`\" pulumi-lang-yaml=\"`rootCertificate`\" pulumi-lang-java=\"`rootCertificate`\"\u003e`root_certificate`\u003c/span\u003e blocks which are\ndefined below. These root certificates are used to sign the client certificate\nused by the VPN clients to connect to the gateway.\nThis setting is incompatible with the use of\n\u003cspan pulumi-lang-nodejs=\"`aadTenant`\" pulumi-lang-dotnet=\"`AadTenant`\" pulumi-lang-go=\"`aadTenant`\" pulumi-lang-python=\"`aad_tenant`\" pulumi-lang-yaml=\"`aadTenant`\" pulumi-lang-java=\"`aadTenant`\"\u003e`aad_tenant`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`aadAudience`\" pulumi-lang-dotnet=\"`AadAudience`\" pulumi-lang-go=\"`aadAudience`\" pulumi-lang-python=\"`aad_audience`\" pulumi-lang-yaml=\"`aadAudience`\" pulumi-lang-java=\"`aadAudience`\"\u003e`aad_audience`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`aadIssuer`\" pulumi-lang-dotnet=\"`AadIssuer`\" pulumi-lang-go=\"`aadIssuer`\" pulumi-lang-python=\"`aad_issuer`\" pulumi-lang-yaml=\"`aadIssuer`\" pulumi-lang-java=\"`aadIssuer`\"\u003e`aad_issuer`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`radiusServerAddress`\" pulumi-lang-dotnet=\"`RadiusServerAddress`\" pulumi-lang-go=\"`radiusServerAddress`\" pulumi-lang-python=\"`radius_server_address`\" pulumi-lang-yaml=\"`radiusServerAddress`\" pulumi-lang-java=\"`radiusServerAddress`\"\u003e`radius_server_address`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`radiusServerSecret`\" pulumi-lang-dotnet=\"`RadiusServerSecret`\" pulumi-lang-go=\"`radiusServerSecret`\" pulumi-lang-python=\"`radius_server_secret`\" pulumi-lang-yaml=\"`radiusServerSecret`\" pulumi-lang-java=\"`radiusServerSecret`\"\u003e`radius_server_secret`\u003c/span\u003e.\n"},"vpnClientProtocols":{"type":"array","items":{"type":"string"},"description":"List of the protocols supported by the vpn client.\nThe supported values are `SSTP`, `IkeV2` and `OpenVPN`.\n"}},"type":"object","required":["aadAudience","aadIssuer","aadTenant","addressSpaces","radiusServerAddress","radiusServerSecret","revokedCertificates","rootCertificates","vpnClientProtocols"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:network/getVirtualNetworkGatewayVpnClientConfigurationRevokedCertificate:getVirtualNetworkGatewayVpnClientConfigurationRevokedCertificate":{"properties":{"name":{"type":"string","description":"Specifies the name of the Virtual Network Gateway.\n"},"thumbprint":{"type":"string"}},"type":"object","required":["name","thumbprint"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:network/getVirtualNetworkGatewayVpnClientConfigurationRootCertificate:getVirtualNetworkGatewayVpnClientConfigurationRootCertificate":{"properties":{"name":{"type":"string","description":"Specifies the name of the Virtual Network Gateway.\n"},"publicCertData":{"type":"string","description":"The public certificate of the root certificate\nauthority. The certificate must be provided in Base-64 encoded X.509 format\n(PEM).\n"}},"type":"object","required":["name","publicCertData"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:network/getVpnGatewayBgpSetting:getVpnGatewayBgpSetting":{"properties":{"asn":{"type":"integer","description":"The ASN of the BGP Speaker.\n"},"bgpPeeringAddress":{"type":"string","description":"The Address which should be used for the BGP Peering.\n"},"instance0BgpPeeringAddresses":{"type":"array","items":{"$ref":"#/types/azure:network/getVpnGatewayBgpSettingInstance0BgpPeeringAddress:getVpnGatewayBgpSettingInstance0BgpPeeringAddress"},"description":"an \u003cspan pulumi-lang-nodejs=\"`instanceBgpPeeringAddress`\" pulumi-lang-dotnet=\"`InstanceBgpPeeringAddress`\" pulumi-lang-go=\"`instanceBgpPeeringAddress`\" pulumi-lang-python=\"`instance_bgp_peering_address`\" pulumi-lang-yaml=\"`instanceBgpPeeringAddress`\" pulumi-lang-java=\"`instanceBgpPeeringAddress`\"\u003e`instance_bgp_peering_address`\u003c/span\u003e block as defined below.\n"},"instance1BgpPeeringAddresses":{"type":"array","items":{"$ref":"#/types/azure:network/getVpnGatewayBgpSettingInstance1BgpPeeringAddress:getVpnGatewayBgpSettingInstance1BgpPeeringAddress"},"description":"an \u003cspan pulumi-lang-nodejs=\"`instanceBgpPeeringAddress`\" pulumi-lang-dotnet=\"`InstanceBgpPeeringAddress`\" pulumi-lang-go=\"`instanceBgpPeeringAddress`\" pulumi-lang-python=\"`instance_bgp_peering_address`\" pulumi-lang-yaml=\"`instanceBgpPeeringAddress`\" pulumi-lang-java=\"`instanceBgpPeeringAddress`\"\u003e`instance_bgp_peering_address`\u003c/span\u003e block as defined below.\n"},"peerWeight":{"type":"integer","description":"The weight added to Routes learned from this BGP Speaker.\n"}},"type":"object","required":["asn","bgpPeeringAddress","instance0BgpPeeringAddresses","instance1BgpPeeringAddresses","peerWeight"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:network/getVpnGatewayBgpSettingInstance0BgpPeeringAddress:getVpnGatewayBgpSettingInstance0BgpPeeringAddress":{"properties":{"customIps":{"type":"array","items":{"type":"string"},"description":"A list of custom BGP peering addresses to assigned to this instance.\n"},"defaultIps":{"type":"array","items":{"type":"string"},"description":"The list of default BGP peering addresses which belong to the pre-defined VPN Gateway IP configuration.\n"},"ipConfigurationId":{"type":"string","description":"The pre-defined id of VPN Gateway IP Configuration.\n"},"tunnelIps":{"type":"array","items":{"type":"string"},"description":"The list of tunnel public IP addresses which belong to the pre-defined VPN Gateway IP configuration.\n"}},"type":"object","required":["customIps","defaultIps","ipConfigurationId","tunnelIps"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:network/getVpnGatewayBgpSettingInstance1BgpPeeringAddress:getVpnGatewayBgpSettingInstance1BgpPeeringAddress":{"properties":{"customIps":{"type":"array","items":{"type":"string"},"description":"A list of custom BGP peering addresses to assigned to this instance.\n"},"defaultIps":{"type":"array","items":{"type":"string"},"description":"The list of default BGP peering addresses which belong to the pre-defined VPN Gateway IP configuration.\n"},"ipConfigurationId":{"type":"string","description":"The pre-defined id of VPN Gateway IP Configuration.\n"},"tunnelIps":{"type":"array","items":{"type":"string"},"description":"The list of tunnel public IP addresses which belong to the pre-defined VPN Gateway IP configuration.\n"}},"type":"object","required":["customIps","defaultIps","ipConfigurationId","tunnelIps"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:network/getVpnGatewayIpConfiguration:getVpnGatewayIpConfiguration":{"properties":{"id":{"type":"string","description":"The identifier of the IP configuration for the VPN Gateway.\n"},"privateIpAddress":{"type":"string","description":"The private IP address of this IP configuration.\n"},"publicIpAddress":{"type":"string","description":"The public IP address of this IP configuration.\n"}},"type":"object","required":["id","privateIpAddress","publicIpAddress"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:network/getVpnServerConfigurationAzureActiveDirectoryAuthentication:getVpnServerConfigurationAzureActiveDirectoryAuthentication":{"properties":{"audience":{"type":"string","description":"The Audience which should be used for authentication.\n"},"issuer":{"type":"string","description":"The Issuer which should be used for authentication.\n"},"tenant":{"type":"string","description":"The Tenant which should be used for authentication.\n"}},"type":"object","required":["audience","issuer","tenant"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:network/getVpnServerConfigurationClientRevokedCertificate:getVpnServerConfigurationClientRevokedCertificate":{"properties":{"name":{"type":"string","description":"The Name of the VPN Server Configuration.\n"},"thumbprint":{"type":"string","description":"The Thumbprint of the Certificate.\n"}},"type":"object","required":["name","thumbprint"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:network/getVpnServerConfigurationClientRootCertificate:getVpnServerConfigurationClientRootCertificate":{"properties":{"name":{"type":"string","description":"The Name of the VPN Server Configuration.\n"},"publicCertData":{"type":"string","description":"The Public Key Data associated with the Certificate.\n"}},"type":"object","required":["name","publicCertData"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:network/getVpnServerConfigurationIpsecPolicy:getVpnServerConfigurationIpsecPolicy":{"properties":{"dhGroup":{"type":"string","description":"The DH Group, used in IKE Phase 1.\n"},"ikeEncryption":{"type":"string","description":"The IKE encryption algorithm, used for IKE Phase 2.\n"},"ikeIntegrity":{"type":"string","description":"The IKE encryption integrity algorithm, used for IKE Phase 2.\n"},"ipsecEncryption":{"type":"string","description":"The IPSec encryption algorithm, used for IKE phase 1.\n"},"ipsecIntegrity":{"type":"string","description":"The IPSec integrity algorithm, used for IKE phase 1.\n"},"pfsGroup":{"type":"string","description":"The Pfs Group, used in IKE Phase 2.\n"},"saDataSizeKilobytes":{"type":"integer","description":"The IPSec Security Association payload size in KB for a Site-to-Site VPN tunnel.\n"},"saLifetimeSeconds":{"type":"integer","description":"The IPSec Security Association lifetime in seconds for a Site-to-Site VPN tunnel.\n"}},"type":"object","required":["dhGroup","ikeEncryption","ikeIntegrity","ipsecEncryption","ipsecIntegrity","pfsGroup","saDataSizeKilobytes","saLifetimeSeconds"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:network/getVpnServerConfigurationRadius:getVpnServerConfigurationRadius":{"properties":{"clientRootCertificates":{"type":"array","items":{"$ref":"#/types/azure:network/getVpnServerConfigurationRadiusClientRootCertificate:getVpnServerConfigurationRadiusClientRootCertificate"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`clientRootCertificate`\" pulumi-lang-dotnet=\"`ClientRootCertificate`\" pulumi-lang-go=\"`clientRootCertificate`\" pulumi-lang-python=\"`client_root_certificate`\" pulumi-lang-yaml=\"`clientRootCertificate`\" pulumi-lang-java=\"`clientRootCertificate`\"\u003e`client_root_certificate`\u003c/span\u003e blocks as defined below.\n"},"serverRootCertificates":{"type":"array","items":{"$ref":"#/types/azure:network/getVpnServerConfigurationRadiusServerRootCertificate:getVpnServerConfigurationRadiusServerRootCertificate"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`serverRootCertificate`\" pulumi-lang-dotnet=\"`ServerRootCertificate`\" pulumi-lang-go=\"`serverRootCertificate`\" pulumi-lang-python=\"`server_root_certificate`\" pulumi-lang-yaml=\"`serverRootCertificate`\" pulumi-lang-java=\"`serverRootCertificate`\"\u003e`server_root_certificate`\u003c/span\u003e blocks as defined below.\n"},"servers":{"type":"array","items":{"$ref":"#/types/azure:network/getVpnServerConfigurationRadiusServer:getVpnServerConfigurationRadiusServer"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`server`\" pulumi-lang-dotnet=\"`Server`\" pulumi-lang-go=\"`server`\" pulumi-lang-python=\"`server`\" pulumi-lang-yaml=\"`server`\" pulumi-lang-java=\"`server`\"\u003e`server`\u003c/span\u003e blocks as defined below.\n"}},"type":"object","required":["clientRootCertificates","servers","serverRootCertificates"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:network/getVpnServerConfigurationRadiusClientRootCertificate:getVpnServerConfigurationRadiusClientRootCertificate":{"properties":{"name":{"type":"string","description":"The Name of the VPN Server Configuration.\n"},"thumbprint":{"type":"string","description":"The Thumbprint of the Certificate.\n"}},"type":"object","required":["name","thumbprint"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:network/getVpnServerConfigurationRadiusServer:getVpnServerConfigurationRadiusServer":{"properties":{"address":{"type":"string","description":"The Address of the Radius Server.\n"},"score":{"type":"integer","description":"The Score of the Radius Server determines the priority of the server.\n"},"secret":{"type":"string","description":"The Secret used to communicate with the Radius Server.\n"}},"type":"object","required":["address","score","secret"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:network/getVpnServerConfigurationRadiusServerRootCertificate:getVpnServerConfigurationRadiusServerRootCertificate":{"properties":{"name":{"type":"string","description":"The Name of the VPN Server Configuration.\n"},"publicCertData":{"type":"string","description":"The Public Key Data associated with the Certificate.\n"}},"type":"object","required":["name","publicCertData"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:networkfunction/CollectorPolicyIpfxEmission:CollectorPolicyIpfxEmission":{"properties":{"destinationTypes":{"type":"string","description":"A list of emission destination types. The only possible value is `AzureMonitor`. Changing this forces a new Network Function Collector Policy to be created.\n\n\u003e **Note:** Please use the \u003cspan pulumi-lang-nodejs=\"`azure.monitoring.DiagnosticSetting`\" pulumi-lang-dotnet=\"`azure.monitoring.DiagnosticSetting`\" pulumi-lang-go=\"`monitoring.DiagnosticSetting`\" pulumi-lang-python=\"`monitoring.DiagnosticSetting`\" pulumi-lang-yaml=\"`azure.monitoring.DiagnosticSetting`\" pulumi-lang-java=\"`azure.monitoring.DiagnosticSetting`\"\u003e`azure.monitoring.DiagnosticSetting`\u003c/span\u003e resource to forward logs to a Log Analytics Workspace.\n","willReplaceOnChanges":true}},"type":"object","required":["destinationTypes"]},"azure:networkfunction/CollectorPolicyIpfxIngestion:CollectorPolicyIpfxIngestion":{"properties":{"sourceResourceIds":{"type":"array","items":{"type":"string"},"description":"A list of ingestion source resource IDs. Changing this forces a new Network Function Collector Policy to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["sourceResourceIds"]},"azure:newrelic/MonitorIdentity:MonitorIdentity":{"properties":{"principalId":{"type":"string","description":"The Principal ID for the Service Principal associated with the Identity of this Azure Native New Relic Monitor.\n"},"tenantId":{"type":"string","description":"The Tenant ID for the Service Principal associated with the Identity of this Azure Native New Relic Monitor.\n"},"type":{"type":"string","description":"Specifies the identity type of the Azure Native New Relic Monitor. The only possible value is `SystemAssigned`. Changing this forces a new Azure Native New Relic Monitor to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["type"],"language":{"nodejs":{"requiredOutputs":["principalId","tenantId","type"]}}},"azure:newrelic/MonitorPlan:MonitorPlan":{"properties":{"billingCycle":{"type":"string","description":"Specifies the billing cycles. Possible values are `MONTHLY`, `WEEKLY` and `YEARLY`. Defaults to `MONTHLY`. Changing this forces a new Azure Native New Relic Monitor to be created.\n","willReplaceOnChanges":true},"effectiveDate":{"type":"string","description":"Specifies the date when plan was applied. Changing this forces a new Azure Native New Relic Monitor to be created.\n","willReplaceOnChanges":true},"planId":{"type":"string","description":"Specifies the plan id published by NewRelic. The only possible value is `newrelic-pay-as-you-go-free-live`. Defaults to `newrelic-pay-as-you-go-free-live`. Changing this forces a new Azure Native New Relic Monitor to be created.\n","willReplaceOnChanges":true},"usageType":{"type":"string","description":"Specifies the usage type. Possible values are `COMMITTED` and `PAYG`. Defaults to `PAYG`. Changing this forces a new Azure Native New Relic Monitor to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["effectiveDate"]},"azure:newrelic/MonitorUser:MonitorUser":{"properties":{"email":{"type":"string","description":"Specifies the user Email. Changing this forces a new Azure Native New Relic Monitor to be created.\n","willReplaceOnChanges":true},"firstName":{"type":"string","description":"Specifies the first name. Changing this forces a new Azure Native New Relic Monitor to be created.\n","willReplaceOnChanges":true},"lastName":{"type":"string","description":"Specifies the last name. Changing this forces a new Azure Native New Relic Monitor to be created.\n","willReplaceOnChanges":true},"phoneNumber":{"type":"string","description":"Specifies the contact phone number. Changing this forces a new Azure Native New Relic Monitor to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["email","firstName","lastName","phoneNumber"]},"azure:newrelic/TagRuleLogTagFilter:TagRuleLogTagFilter":{"properties":{"action":{"type":"string","description":"Valid actions for a filtering tag. Possible values are `Exclude` and `Include`. Exclusion takes priority over inclusion.\n"},"name":{"type":"string","description":"Specifies the name (also known as the key) of the tag.\n"},"value":{"type":"string","description":"Specifies the value of the tag.\n"}},"type":"object","required":["action","name","value"]},"azure:newrelic/TagRuleMetricTagFilter:TagRuleMetricTagFilter":{"properties":{"action":{"type":"string","description":"Valid actions for a filtering tag. Possible values are `Exclude` and `Include`. Exclusion takes priority over inclusion.\n"},"name":{"type":"string","description":"Specifies the name (also known as the key) of the tag.\n"},"value":{"type":"string","description":"Specifies the value of the tag.\n"}},"type":"object","required":["action","name","value"]},"azure:nginx/ConfigurationConfigFile:ConfigurationConfigFile":{"properties":{"content":{"type":"string","description":"Specifies the base-64 encoded contents of this config file.\n"},"virtualPath":{"type":"string","description":"Specifies the path of this config file.\n"}},"type":"object","required":["content","virtualPath"]},"azure:nginx/ConfigurationProtectedFile:ConfigurationProtectedFile":{"properties":{"content":{"type":"string","description":"Specifies the base-64 encoded contents of this config file (Sensitive).\n","secret":true},"contentHash":{"type":"string","description":"The hash of the contents of this configuration file prefixed by the algorithm used.\n"},"virtualPath":{"type":"string","description":"Specifies the path of this config file.\n"}},"type":"object","required":["content","virtualPath"],"language":{"nodejs":{"requiredOutputs":["content","contentHash","virtualPath"]}}},"azure:nginx/DeploymentAutoScaleProfile:DeploymentAutoScaleProfile":{"properties":{"maxCapacity":{"type":"integer","description":"Specify the maximum number of NGINX capacity units for this NGINX Deployment.\n\n\u003e **Note:** If you're using autoscaling with deployments created before v4.0, you may need to use Terraform's \u003cspan pulumi-lang-nodejs=\"`ignoreChanges`\" pulumi-lang-dotnet=\"`IgnoreChanges`\" pulumi-lang-go=\"`ignoreChanges`\" pulumi-lang-python=\"`ignore_changes`\" pulumi-lang-yaml=\"`ignoreChanges`\" pulumi-lang-java=\"`ignoreChanges`\"\u003e`ignore_changes`\u003c/span\u003e functionality to ignore changes to the \u003cspan pulumi-lang-nodejs=\"`capacity`\" pulumi-lang-dotnet=\"`Capacity`\" pulumi-lang-go=\"`capacity`\" pulumi-lang-python=\"`capacity`\" pulumi-lang-yaml=\"`capacity`\" pulumi-lang-java=\"`capacity`\"\u003e`capacity`\u003c/span\u003e field.\n"},"minCapacity":{"type":"integer","description":"Specify the minimum number of NGINX capacity units for this NGINX Deployment.\n"},"name":{"type":"string","description":"Specify the name of the autoscaling profile.\n"}},"type":"object","required":["maxCapacity","minCapacity","name"]},"azure:nginx/DeploymentFrontendPrivate:DeploymentFrontendPrivate":{"properties":{"allocationMethod":{"type":"string","description":"Specify the method for allocating the private IP. Possible values are `Static` and `Dynamic`.\n"},"ipAddress":{"type":"string","description":"Specify the private IP Address.\n"},"subnetId":{"type":"string","description":"Specify the Subnet Resource ID for this NGINX Deployment.\n"}},"type":"object","required":["allocationMethod","ipAddress","subnetId"]},"azure:nginx/DeploymentFrontendPublic:DeploymentFrontendPublic":{"properties":{"ipAddresses":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Public IP Resource ID to this NGINX Deployment.\n"}},"type":"object"},"azure:nginx/DeploymentIdentity:DeploymentIdentity":{"properties":{"identityIds":{"type":"array","items":{"type":"string"},"description":"Specifies a list of user managed identity ids to be assigned.\n\n\u003e **Note:** This is required when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to `UserAssigned`.\n"},"principalId":{"type":"string"},"tenantId":{"type":"string"},"type":{"type":"string","description":"Specifies the identity type of the NGINX Deployment. Possible values are `SystemAssigned`, `UserAssigned` or `SystemAssigned, UserAssigned`.\n"}},"type":"object","required":["type"],"language":{"nodejs":{"requiredOutputs":["principalId","tenantId","type"]}}},"azure:nginx/DeploymentLoggingStorageAccount:DeploymentLoggingStorageAccount":{"properties":{"containerName":{"type":"string"},"name":{"type":"string","description":"The name which should be used for this NGINX Deployment. Changing this forces a new NGINX Deployment to be created.\n"}},"type":"object"},"azure:nginx/DeploymentNetworkInterface:DeploymentNetworkInterface":{"properties":{"subnetId":{"type":"string","description":"Specify The Subnet Resource ID for this NGINX Deployment.\n"}},"type":"object","required":["subnetId"]},"azure:nginx/DeploymentWebApplicationFirewall:DeploymentWebApplicationFirewall":{"properties":{"activationStateEnabled":{"type":"boolean","description":"Whether WAF is enabled/disabled for this NGINX Deployment.\n"},"statuses":{"type":"array","items":{"$ref":"#/types/azure:nginx/DeploymentWebApplicationFirewallStatus:DeploymentWebApplicationFirewallStatus"},"description":"A \u003cspan pulumi-lang-nodejs=\"`status`\" pulumi-lang-dotnet=\"`Status`\" pulumi-lang-go=\"`status`\" pulumi-lang-python=\"`status`\" pulumi-lang-yaml=\"`status`\" pulumi-lang-java=\"`status`\"\u003e`status`\u003c/span\u003e block as defined below.\n"}},"type":"object","required":["activationStateEnabled"],"language":{"nodejs":{"requiredOutputs":["activationStateEnabled","statuses"]}}},"azure:nginx/DeploymentWebApplicationFirewallStatus:DeploymentWebApplicationFirewallStatus":{"properties":{"attackSignaturesPackages":{"type":"array","items":{"$ref":"#/types/azure:nginx/DeploymentWebApplicationFirewallStatusAttackSignaturesPackage:DeploymentWebApplicationFirewallStatusAttackSignaturesPackage"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`attackSignaturesPackage`\" pulumi-lang-dotnet=\"`AttackSignaturesPackage`\" pulumi-lang-go=\"`attackSignaturesPackage`\" pulumi-lang-python=\"`attack_signatures_package`\" pulumi-lang-yaml=\"`attackSignaturesPackage`\" pulumi-lang-java=\"`attackSignaturesPackage`\"\u003e`attack_signatures_package`\u003c/span\u003e blocks as defined below.\n"},"botSignaturesPackages":{"type":"array","items":{"$ref":"#/types/azure:nginx/DeploymentWebApplicationFirewallStatusBotSignaturesPackage:DeploymentWebApplicationFirewallStatusBotSignaturesPackage"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`botSignaturesPackage`\" pulumi-lang-dotnet=\"`BotSignaturesPackage`\" pulumi-lang-go=\"`botSignaturesPackage`\" pulumi-lang-python=\"`bot_signatures_package`\" pulumi-lang-yaml=\"`botSignaturesPackage`\" pulumi-lang-java=\"`botSignaturesPackage`\"\u003e`bot_signatures_package`\u003c/span\u003e blocks as defined below.\n"},"componentVersions":{"type":"array","items":{"$ref":"#/types/azure:nginx/DeploymentWebApplicationFirewallStatusComponentVersion:DeploymentWebApplicationFirewallStatusComponentVersion"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`componentVersions`\" pulumi-lang-dotnet=\"`ComponentVersions`\" pulumi-lang-go=\"`componentVersions`\" pulumi-lang-python=\"`component_versions`\" pulumi-lang-yaml=\"`componentVersions`\" pulumi-lang-java=\"`componentVersions`\"\u003e`component_versions`\u003c/span\u003e blocks as defined below.\n"},"threatCampaignsPackages":{"type":"array","items":{"$ref":"#/types/azure:nginx/DeploymentWebApplicationFirewallStatusThreatCampaignsPackage:DeploymentWebApplicationFirewallStatusThreatCampaignsPackage"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`threatCampaignsPackage`\" pulumi-lang-dotnet=\"`ThreatCampaignsPackage`\" pulumi-lang-go=\"`threatCampaignsPackage`\" pulumi-lang-python=\"`threat_campaigns_package`\" pulumi-lang-yaml=\"`threatCampaignsPackage`\" pulumi-lang-java=\"`threatCampaignsPackage`\"\u003e`threat_campaigns_package`\u003c/span\u003e blocks as defined below.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["attackSignaturesPackages","botSignaturesPackages","componentVersions","threatCampaignsPackages"]}}},"azure:nginx/DeploymentWebApplicationFirewallStatusAttackSignaturesPackage:DeploymentWebApplicationFirewallStatusAttackSignaturesPackage":{"properties":{"revisionDatetime":{"type":"string","description":"The revision date and time of the threat campaigns package.\n"},"version":{"type":"string","description":"The version of the threat campaigns package.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["revisionDatetime","version"]}}},"azure:nginx/DeploymentWebApplicationFirewallStatusBotSignaturesPackage:DeploymentWebApplicationFirewallStatusBotSignaturesPackage":{"properties":{"revisionDatetime":{"type":"string","description":"The revision date and time of the threat campaigns package.\n"},"version":{"type":"string","description":"The version of the threat campaigns package.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["revisionDatetime","version"]}}},"azure:nginx/DeploymentWebApplicationFirewallStatusComponentVersion:DeploymentWebApplicationFirewallStatusComponentVersion":{"properties":{"wafEngineVersion":{"type":"string","description":"The version of the WAF Engine.\n"},"wafNginxVersion":{"type":"string","description":"The version of the WAF Nginx module.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["wafEngineVersion","wafNginxVersion"]}}},"azure:nginx/DeploymentWebApplicationFirewallStatusThreatCampaignsPackage:DeploymentWebApplicationFirewallStatusThreatCampaignsPackage":{"properties":{"revisionDatetime":{"type":"string","description":"The revision date and time of the threat campaigns package.\n"},"version":{"type":"string","description":"The version of the threat campaigns package.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["revisionDatetime","version"]}}},"azure:nginx/getConfigurationConfigFile:getConfigurationConfigFile":{"properties":{"content":{"type":"string","description":"The base-64 encoded contents of this configuration file.\n"},"virtualPath":{"type":"string","description":"The path of this configuration file.\n"}},"type":"object","required":["content","virtualPath"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:nginx/getConfigurationProtectedFile:getConfigurationProtectedFile":{"properties":{"content":{"type":"string","description":"The base-64 encoded contents of this configuration file.\n","deprecationMessage":"the \u003cspan pulumi-lang-nodejs=\"`content`\" pulumi-lang-dotnet=\"`Content`\" pulumi-lang-go=\"`content`\" pulumi-lang-python=\"`content`\" pulumi-lang-yaml=\"`content`\" pulumi-lang-java=\"`content`\"\u003e`content`\u003c/span\u003e property is deprecated and will be removed in v5.0 of the AzureRM Provider.","secret":true},"contentHash":{"type":"string","description":"The hash of the contents of this configuration file prefixed by the algorithm used.\n"},"virtualPath":{"type":"string","description":"The path of this configuration file.\n"}},"type":"object","required":["content","contentHash","virtualPath"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:nginx/getDeploymentAutoScaleProfile:getDeploymentAutoScaleProfile":{"properties":{"maxCapacity":{"type":"integer","description":"The maximum number of NGINX capacity units for this NGINX Deployment.\n"},"minCapacity":{"type":"integer","description":"The minimum number of NGINX capacity units for this NGINX Deployment.\n"},"name":{"type":"string","description":"The name of this NGINX Deployment.\n"}},"type":"object","required":["maxCapacity","minCapacity","name"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:nginx/getDeploymentFrontendPrivate:getDeploymentFrontendPrivate":{"properties":{"allocationMethod":{"type":"string","description":"The method of allocating the private IP to the NGINX Deployment.\n"},"ipAddress":{"type":"string","description":"The list of Public IP Resource IDs for this NGINX Deployment.\n"},"subnetId":{"type":"string","description":"The subnet resource ID of the NGINX Deployment.\n"}},"type":"object","required":["allocationMethod","ipAddress","subnetId"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:nginx/getDeploymentFrontendPublic:getDeploymentFrontendPublic":{"properties":{"ipAddresses":{"type":"array","items":{"type":"string"},"description":"The list of Public IP Resource IDs for this NGINX Deployment.\n"}},"type":"object","required":["ipAddresses"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:nginx/getDeploymentIdentity:getDeploymentIdentity":{"properties":{"identityIds":{"type":"array","items":{"type":"string"},"description":"List of identities attached to the NGINX Deployment.\n"},"principalId":{"type":"string"},"tenantId":{"type":"string"},"type":{"type":"string","description":"Type of identity attached to the NGINX Deployment.\n"}},"type":"object","required":["identityIds","principalId","tenantId","type"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:nginx/getDeploymentLoggingStorageAccount:getDeploymentLoggingStorageAccount":{"properties":{"containerName":{"type":"string"},"name":{"type":"string","description":"The name of this NGINX Deployment.\n"}},"type":"object","required":["containerName","name"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:nginx/getDeploymentNetworkInterface:getDeploymentNetworkInterface":{"properties":{"subnetId":{"type":"string","description":"The subnet resource ID of the NGINX Deployment.\n"}},"type":"object","required":["subnetId"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:nginx/getDeploymentWebApplicationFirewall:getDeploymentWebApplicationFirewall":{"properties":{"activationStateEnabled":{"type":"boolean","description":"Whether WAF is enabled/disabled for this NGINX Deployment.\n"},"statuses":{"type":"array","items":{"$ref":"#/types/azure:nginx/getDeploymentWebApplicationFirewallStatus:getDeploymentWebApplicationFirewallStatus"},"description":"A \u003cspan pulumi-lang-nodejs=\"`status`\" pulumi-lang-dotnet=\"`Status`\" pulumi-lang-go=\"`status`\" pulumi-lang-python=\"`status`\" pulumi-lang-yaml=\"`status`\" pulumi-lang-java=\"`status`\"\u003e`status`\u003c/span\u003e block as defined below.\n"}},"type":"object","required":["activationStateEnabled","statuses"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:nginx/getDeploymentWebApplicationFirewallStatus:getDeploymentWebApplicationFirewallStatus":{"properties":{"attackSignaturesPackages":{"type":"array","items":{"$ref":"#/types/azure:nginx/getDeploymentWebApplicationFirewallStatusAttackSignaturesPackage:getDeploymentWebApplicationFirewallStatusAttackSignaturesPackage"},"description":"Indicates the version of the attack signatures package used by NGINX App Protect.\n"},"botSignaturesPackages":{"type":"array","items":{"$ref":"#/types/azure:nginx/getDeploymentWebApplicationFirewallStatusBotSignaturesPackage:getDeploymentWebApplicationFirewallStatusBotSignaturesPackage"},"description":"Indicates the version of the bot signatures package used by NGINX App Protect.\n"},"componentVersions":{"type":"array","items":{"$ref":"#/types/azure:nginx/getDeploymentWebApplicationFirewallStatusComponentVersion:getDeploymentWebApplicationFirewallStatusComponentVersion"},"description":"Indicates the version of the WAF Engine and Nginx WAF Module used by NGINX App Protect.\n"},"threatCampaignsPackages":{"type":"array","items":{"$ref":"#/types/azure:nginx/getDeploymentWebApplicationFirewallStatusThreatCampaignsPackage:getDeploymentWebApplicationFirewallStatusThreatCampaignsPackage"},"description":"Indicates the version of the threat campaigns package used by NGINX App Protect.\n"}},"type":"object","required":["attackSignaturesPackages","botSignaturesPackages","componentVersions","threatCampaignsPackages"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:nginx/getDeploymentWebApplicationFirewallStatusAttackSignaturesPackage:getDeploymentWebApplicationFirewallStatusAttackSignaturesPackage":{"properties":{"revisionDatetime":{"type":"string"},"version":{"type":"string"}},"type":"object","required":["revisionDatetime","version"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:nginx/getDeploymentWebApplicationFirewallStatusBotSignaturesPackage:getDeploymentWebApplicationFirewallStatusBotSignaturesPackage":{"properties":{"revisionDatetime":{"type":"string"},"version":{"type":"string"}},"type":"object","required":["revisionDatetime","version"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:nginx/getDeploymentWebApplicationFirewallStatusComponentVersion:getDeploymentWebApplicationFirewallStatusComponentVersion":{"properties":{"wafEngineVersion":{"type":"string"},"wafNginxVersion":{"type":"string"}},"type":"object","required":["wafEngineVersion","wafNginxVersion"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:nginx/getDeploymentWebApplicationFirewallStatusThreatCampaignsPackage:getDeploymentWebApplicationFirewallStatusThreatCampaignsPackage":{"properties":{"revisionDatetime":{"type":"string"},"version":{"type":"string"}},"type":"object","required":["revisionDatetime","version"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:notificationhub/HubApnsCredential:HubApnsCredential":{"properties":{"applicationMode":{"type":"string","description":"The Application Mode which defines which server the APNS Messages should be sent to. Possible values are `Production` and `Sandbox`.\n"},"bundleId":{"type":"string","description":"The Bundle ID of the iOS/macOS application to send push notifications for, such as `com.org.example`.\n"},"keyId":{"type":"string","description":"The Apple Push Notifications Service (APNS) Key.\n"},"teamId":{"type":"string","description":"The ID of the team the Token.\n"},"token":{"type":"string","description":"The Push Token associated with the Apple Developer Account. This is the contents of the \u003cspan pulumi-lang-nodejs=\"`key`\" pulumi-lang-dotnet=\"`Key`\" pulumi-lang-go=\"`key`\" pulumi-lang-python=\"`key`\" pulumi-lang-yaml=\"`key`\" pulumi-lang-java=\"`key`\"\u003e`key`\u003c/span\u003e downloaded from [the Apple Developer Portal](https://developer.apple.com/account/ios/authkey/) between the `-----BEGIN PRIVATE KEY-----` and `-----END PRIVATE KEY-----` blocks.\n","secret":true}},"type":"object","required":["applicationMode","bundleId","keyId","teamId","token"]},"azure:notificationhub/HubBrowserCredential:HubBrowserCredential":{"properties":{"subject":{"type":"string","description":"The subject name of web push.\n"},"vapidPrivateKey":{"type":"string","description":"The Voluntary Application Server Identification (VAPID) private key.\n","secret":true},"vapidPublicKey":{"type":"string","description":"The Voluntary Application Server Identification (VAPID) public key.\n"}},"type":"object","required":["subject","vapidPrivateKey","vapidPublicKey"]},"azure:notificationhub/HubGcmCredential:HubGcmCredential":{"properties":{"apiKey":{"type":"string","description":"The API Key associated with the Google Cloud Messaging service.\n","secret":true}},"type":"object","required":["apiKey"]},"azure:notificationhub/getHubApnsCredential:getHubApnsCredential":{"properties":{"applicationMode":{"type":"string","description":"The Application Mode which defines which server the APNS Messages should be sent to. Possible values are `Production` and `Sandbox`.\n"},"bundleId":{"type":"string","description":"The Bundle ID of the iOS/macOS application to send push notifications for, such as `com.org.example`.\n"},"keyId":{"type":"string","description":"The Apple Push Notifications Service (APNS) Key.\n"},"teamId":{"type":"string","description":"The ID of the team the Token.\n"},"token":{"type":"string","description":"The Push Token associated with the Apple Developer Account.\n","secret":true}},"type":"object","required":["applicationMode","bundleId","keyId","teamId","token"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:notificationhub/getHubGcmCredential:getHubGcmCredential":{"properties":{"apiKey":{"type":"string","description":"The API Key associated with the Google Cloud Messaging service.\n","secret":true}},"type":"object","required":["apiKey"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:notificationhub/getNamespaceSku:getNamespaceSku":{"properties":{"name":{"type":"string","description":"Specifies the Name of the Notification Hub Namespace.\n"}},"type":"object","required":["name"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:operationalinsights/AnalyticsSolutionPlan:AnalyticsSolutionPlan":{"properties":{"name":{"type":"string"},"product":{"type":"string","description":"The product name of the solution. For example `OMSGallery/Containers`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"promotionCode":{"type":"string","description":"A promotion code to be used with the solution. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"publisher":{"type":"string","description":"The publisher of the solution. For example `Microsoft`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["product","publisher"],"language":{"nodejs":{"requiredOutputs":["name","product","publisher"]}}},"azure:operationalinsights/AnalyticsWorkspaceIdentity:AnalyticsWorkspaceIdentity":{"properties":{"identityIds":{"type":"array","items":{"type":"string"},"description":"Specifies a list of user managed identity ids to be assigned. Required if \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is `UserAssigned`.\n"},"principalId":{"type":"string"},"tenantId":{"type":"string"},"type":{"type":"string","description":"Specifies the identity type of the Log Analytics Workspace. Possible values are `SystemAssigned` (where Azure will generate a Service Principal for you) and `UserAssigned` where you can specify the Service Principal IDs in the \u003cspan pulumi-lang-nodejs=\"`identityIds`\" pulumi-lang-dotnet=\"`IdentityIds`\" pulumi-lang-go=\"`identityIds`\" pulumi-lang-python=\"`identity_ids`\" pulumi-lang-yaml=\"`identityIds`\" pulumi-lang-java=\"`identityIds`\"\u003e`identity_ids`\u003c/span\u003e field.\n\n\u003e **Note:** When \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to `SystemAssigned`, The assigned \u003cspan pulumi-lang-nodejs=\"`principalId`\" pulumi-lang-dotnet=\"`PrincipalId`\" pulumi-lang-go=\"`principalId`\" pulumi-lang-python=\"`principal_id`\" pulumi-lang-yaml=\"`principalId`\" pulumi-lang-java=\"`principalId`\"\u003e`principal_id`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`tenantId`\" pulumi-lang-dotnet=\"`TenantId`\" pulumi-lang-go=\"`tenantId`\" pulumi-lang-python=\"`tenant_id`\" pulumi-lang-yaml=\"`tenantId`\" pulumi-lang-java=\"`tenantId`\"\u003e`tenant_id`\u003c/span\u003e can be retrieved after the Log Analytics Workspace has been created.\n"}},"type":"object","required":["type"],"language":{"nodejs":{"requiredOutputs":["principalId","tenantId","type"]}}},"azure:oracle/AutonomousDatabaseLongTermBackupSchedule:AutonomousDatabaseLongTermBackupSchedule":{"properties":{"enabled":{"type":"boolean"},"repeatCadence":{"type":"string"},"retentionPeriodInDays":{"type":"integer"},"timeOfBackup":{"type":"string"}},"type":"object","required":["enabled","repeatCadence","retentionPeriodInDays","timeOfBackup"]},"azure:oracle/CloudVmClusterDataCollectionOptions:CloudVmClusterDataCollectionOptions":{"properties":{"diagnosticsEventsEnabled":{"type":"boolean","description":"Indicates whether diagnostic collection is enabled for the VM Cluster/Cloud VM Cluster/VMBM DBCS. Enabling diagnostic collection allows you to receive Events service notifications for guest VM issues. Diagnostic collection also allows Oracle to provide enhanced service and proactive support for your Exadata system. You can enable diagnostic collection during VM Cluster/Cloud VM Cluster provisioning. You can also disable or enable it at any time using the `UpdateVmCluster` or `updateCloudVmCluster` API. Changing this forces a new Cloud VM Cluster to be created.\n","willReplaceOnChanges":true},"healthMonitoringEnabled":{"type":"boolean","description":"Indicates whether health monitoring is enabled for the VM Cluster / Cloud VM Cluster / VMBM DBCS. Enabling health monitoring allows Oracle to collect diagnostic data and share it with its operations and support personnel. You may also receive notifications for some events. Collecting health diagnostics enables Oracle to provide proactive support and enhanced service for your system. Optionally enable health monitoring while provisioning a system. You can also disable or enable health monitoring anytime using the `UpdateVmCluster`, `UpdateCloudVmCluster` or `updateDbsystem` API. Changing this forces a new Cloud VM Cluster to be created.\n","willReplaceOnChanges":true},"incidentLogsEnabled":{"type":"boolean","description":"Indicates whether incident logs and trace collection are enabled for the VM Cluster / Cloud VM Cluster / VMBM DBCS. Enabling incident logs collection allows Oracle to receive Events service notifications for guest VM issues, collect incident logs and traces, and use them to diagnose issues and resolve them. Optionally enable incident logs collection while provisioning a system. You can also disable or enable incident logs collection anytime using the `UpdateVmCluster`, `updateCloudVmCluster` or `updateDbsystem` API. Changing this forces a new Cloud VM Cluster to be created.\n","willReplaceOnChanges":true}},"type":"object","language":{"nodejs":{"requiredOutputs":["diagnosticsEventsEnabled","healthMonitoringEnabled","incidentLogsEnabled"]}}},"azure:oracle/CloudVmClusterFileSystemConfiguration:CloudVmClusterFileSystemConfiguration":{"properties":{"mountPoint":{"type":"string","description":"The mount path of the file system.\n"},"sizeInGb":{"type":"integer","description":"The size of the virtual machine's file system.\n"}},"type":"object"},"azure:oracle/ExadataInfrastructureMaintenanceWindow:ExadataInfrastructureMaintenanceWindow":{"properties":{"daysOfWeeks":{"type":"array","items":{"type":"string"},"description":"Days during the week when maintenance should be performed. Valid values are: \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e - represents time slot `0:00 - 3:59 UTC - 4` - represents time slot `4:00 - 7:59 UTC - 8` - represents time slot 8:00 - 11:59 UTC - 12 - represents time slot 12:00 - 15:59 UTC - 16 - represents time slot 16:00 - 19:59 UTC - 20 - represents time slot `20:00 - 23:59 UTC`. Changing this forces a new Cloud Exadata Infrastructure to be created.\n","willReplaceOnChanges":true},"hoursOfDays":{"type":"array","items":{"type":"integer"},"description":"The window of hours during the day when maintenance should be performed. The window is a 4 hour slot. Changing this forces a new Cloud Exadata Infrastructure to be created.\n","willReplaceOnChanges":true},"leadTimeInWeeks":{"type":"integer","description":"Lead time window allows user to set a lead time to prepare for a down time. The lead time is in weeks and valid value is between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`4`\" pulumi-lang-dotnet=\"`4`\" pulumi-lang-go=\"`4`\" pulumi-lang-python=\"`4`\" pulumi-lang-yaml=\"`4`\" pulumi-lang-java=\"`4`\"\u003e`4`\u003c/span\u003e. Changing this forces a new Cloud Exadata Infrastructure to be created.\n","willReplaceOnChanges":true},"months":{"type":"array","items":{"type":"string"},"description":"Months during the year when maintenance should be performed. Changing this forces a new Cloud Exadata Infrastructure to be created.\n","willReplaceOnChanges":true},"patchingMode":{"type":"string","description":"Cloud Exadata Infrastructure node patching method, either `ROLLING` or `NONROLLING`. Default value is `ROLLING`. IMPORTANT: Non-rolling infrastructure patching involves system down time. See [Oracle-Managed Infrastructure Maintenance Updates](https://docs.cloud.oracle.com/iaas/Content/Database/Concepts/examaintenance.htm#Oracle) for more information. Changing this forces a new Cloud Exadata Infrastructure to be created.\n","willReplaceOnChanges":true},"preference":{"type":"string","description":"The maintenance window scheduling preference. Changing this forces a new Cloud Exadata Infrastructure to be created.\n","willReplaceOnChanges":true},"weeksOfMonths":{"type":"array","items":{"type":"integer"},"description":"Weeks during the month when maintenance should be performed. Weeks start on the 1st, 8th, 15th, and 22nd days of the month, and have a duration of 7 days. Weeks start and end based on calendar dates, not days of the week. For example, to allow maintenance during the 2nd week of the month (from the 8th day to the 14th day of the month), use the value 2. Maintenance cannot be scheduled for the fifth week of months that contain more than 28 days. Note that this parameter works in conjunction with the daysOfWeek and hoursOfDay parameters to allow you to specify specific days of the week and hours that maintenance will be performed. Changing this forces a new Cloud Exadata Infrastructure to be created.\n","willReplaceOnChanges":true}},"type":"object","language":{"nodejs":{"requiredOutputs":["daysOfWeeks","hoursOfDays","leadTimeInWeeks","months","patchingMode","preference","weeksOfMonths"]}}},"azure:oracle/ExascaleDatabaseStorageVaultHighCapacityDatabaseStorage:ExascaleDatabaseStorageVaultHighCapacityDatabaseStorage":{"properties":{"availableSizeInGb":{"type":"integer","description":"Available size in gigabytes.\n"},"totalSizeInGb":{"type":"integer","description":"Total capacity in gigabytes. Changing this forces a new Exadata Database Storage Vault to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["totalSizeInGb"],"language":{"nodejs":{"requiredOutputs":["availableSizeInGb","totalSizeInGb"]}}},"azure:oracle/getAdbsCharacterSetsCharacterSet:getAdbsCharacterSetsCharacterSet":{"properties":{"characterSet":{"type":"string","description":"A valid Oracle character set.\n"}},"type":"object","required":["characterSet"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:oracle/getAdbsNationalCharacterSetsCharacterSet:getAdbsNationalCharacterSetsCharacterSet":{"properties":{"characterSet":{"type":"string","description":"A valid Oracle national character set.\n"}},"type":"object","required":["characterSet"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:oracle/getAutonomousDatabaseBackupsAutonomousDatabaseBackup:getAutonomousDatabaseBackupsAutonomousDatabaseBackup":{"properties":{"automatic":{"type":"boolean","description":"Indicates whether the backup is user-initiated or automatic.\n"},"autonomousDatabaseBackupOcid":{"type":"string","description":"The backup OCID.\n"},"autonomousDatabaseOcid":{"type":"string","description":"The OCID of the Autonomous Database OCID.\n"},"databaseBackupSizeInTbs":{"type":"number"},"databaseVersion":{"type":"string","description":"The Oracle Database version of the Autonomous Database at the time the backup was taken.\n"},"displayName":{"type":"string","description":"The user-friendly name of the backup.\n"},"id":{"type":"string","description":"The ID of the Autonomous Database Backup.\n"},"lifecycleDetails":{"type":"string","description":"Information about the current lifecycle state of the backup.\n"},"lifecycleState":{"type":"string","description":"The current state of the backup.\n"},"location":{"type":"string","description":"`- The Azure Region where the Autonomous Database Backup exists.\n"},"provisioningState":{"type":"string","description":"The current provisioning state of the Autonomous Database Backup.\n"},"restorable":{"type":"boolean","description":"Indicates whether the backup can be used to restore the Autonomous Database.\n"},"retentionPeriodInDays":{"type":"integer","description":"The retention period in days for the Autonomous Database Backup.\n"},"timeAvailableTil":{"type":"string","description":"The date and time the backup will become unusable.\n"},"timeEnded":{"type":"string","description":"The date and time the backup was completed.\n"},"timeStarted":{"type":"string","description":"The date and time the backup started.\n"},"type":{"type":"string","description":"The type of backup.\n"}},"type":"object","required":["automatic","autonomousDatabaseBackupOcid","autonomousDatabaseOcid","databaseBackupSizeInTbs","databaseVersion","displayName","id","lifecycleDetails","lifecycleState","location","provisioningState","restorable","retentionPeriodInDays","timeAvailableTil","timeEnded","timeStarted","type"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:oracle/getAutonomousDatabaseCloneFromBackupLongTermBackupSchedule:getAutonomousDatabaseCloneFromBackupLongTermBackupSchedule":{"properties":{"enabled":{"type":"boolean","description":"A boolean value that indicates if long-term backup is enabled/disabled.\n"},"repeatCadence":{"type":"string","description":"The frequency for automated long-term backups.\n"},"retentionPeriodInDays":{"type":"integer","description":"The retention period in days for Autonomous database backup.\n"},"timeOfBackupInUtc":{"type":"string","description":"The timestamp in which the backup would be made.\n"}},"type":"object","required":["enabled","repeatCadence","retentionPeriodInDays","timeOfBackupInUtc"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:oracle/getAutonomousDatabaseCloneFromDatabaseLongTermBackupSchedule:getAutonomousDatabaseCloneFromDatabaseLongTermBackupSchedule":{"properties":{"enabled":{"type":"boolean","description":"A boolean value that indicates if long-term backup is enabled/disabled.\n"},"repeatCadence":{"type":"string","description":"The frequency for automated long-term backups.\n"},"retentionPeriodInDays":{"type":"integer","description":"The retention period in days for Autonomous database backup.\n"},"timeOfBackupInUtc":{"type":"string","description":"The timestamp in which the backup would be made.\n"}},"type":"object","required":["enabled","repeatCadence","retentionPeriodInDays","timeOfBackupInUtc"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:oracle/getAutonomousDatabaseLongTermBackupSchedule:getAutonomousDatabaseLongTermBackupSchedule":{"properties":{"enabled":{"type":"boolean","description":"A boolean value that indicates if long term backup is enabled/disabled.\n"},"repeatCadence":{"type":"string","description":"The frequency for automated long-term backups.\n"},"retentionPeriodInDays":{"type":"integer","description":"The retention period in days for Autonomous database backup.\n"},"timeOfBackup":{"type":"string","description":"The date and time in which the backup would be made.\n"}},"type":"object","required":["enabled","repeatCadence","retentionPeriodInDays","timeOfBackup"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:oracle/getCloudVmClusterDataCollectionOption:getCloudVmClusterDataCollectionOption":{"properties":{"diagnosticsEventsEnabled":{"type":"boolean","description":"Indicates whether diagnostic collection is enabled for the VM Cluster/Cloud VM Cluster/VMBM DBCS. Enabling diagnostic collection allows you to receive Events service notifications for guest VM issues. Diagnostic collection also allows Oracle to provide enhanced service and proactive support for your Exadata system. You can enable diagnostic collection during VM Cluster/Cloud VM Cluster provisioning. You can also disable or enable it at any time using the `UpdateVmCluster` or `updateCloudVmCluster` API.\n"},"healthMonitoringEnabled":{"type":"boolean","description":"Indicates whether health monitoring is enabled for the VM Cluster / Cloud VM Cluster / VMBM DBCS. Enabling health monitoring allows Oracle to collect diagnostic data and share it with its operations and support personnel. You may also receive notifications for some events. Collecting health diagnostics enables Oracle to provide proactive support and enhanced service for your system. Optionally enable health monitoring while provisioning a system. You can also disable or enable health monitoring anytime using the `UpdateVmCluster`, `UpdateCloudVmCluster` or `updateDbsystem` API.\n"},"incidentLogsEnabled":{"type":"boolean","description":"Indicates whether incident logs and trace collection are enabled for the VM Cluster / Cloud VM Cluster / VMBM DBCS. Enabling incident logs collection allows Oracle to receive Events service notifications for guest VM issues, collect incident logs and traces, and use them to diagnose issues and resolve them. Optionally enable incident logs collection while provisioning a system. You can also disable or enable incident logs collection anytime using the `UpdateVmCluster`, `updateCloudVmCluster` or `updateDbsystem` API.\n"}},"type":"object","required":["diagnosticsEventsEnabled","healthMonitoringEnabled","incidentLogsEnabled"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:oracle/getCloudVmClusterFileSystemConfiguration:getCloudVmClusterFileSystemConfiguration":{"properties":{"mountPoint":{"type":"string","description":"The mount path of the file system.\n"},"sizeInGb":{"type":"integer","description":"The size of the virtual machine's file system.\n"}},"type":"object","required":["mountPoint","sizeInGb"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:oracle/getCloudVmClusterIormConfigCache:getCloudVmClusterIormConfigCache":{"properties":{"dbPlans":{"type":"array","items":{"$ref":"#/types/azure:oracle/getCloudVmClusterIormConfigCacheDbPlan:getCloudVmClusterIormConfigCacheDbPlan"},"description":"A \u003cspan pulumi-lang-nodejs=\"`dbPlans`\" pulumi-lang-dotnet=\"`DbPlans`\" pulumi-lang-go=\"`dbPlans`\" pulumi-lang-python=\"`db_plans`\" pulumi-lang-yaml=\"`dbPlans`\" pulumi-lang-java=\"`dbPlans`\"\u003e`db_plans`\u003c/span\u003e block as defined above.\n"},"lifecycleDetails":{"type":"string","description":"Additional information about the current `lifecycleState`.\n"},"lifecycleState":{"type":"string","description":"The current state of IORM configuration for the Exadata DB system.\n"},"objective":{"type":"string","description":"The current value for the IORM objective. The default is `AUTO`.\n"}},"type":"object","required":["dbPlans","lifecycleDetails","lifecycleState","objective"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:oracle/getCloudVmClusterIormConfigCacheDbPlan:getCloudVmClusterIormConfigCacheDbPlan":{"properties":{"dbName":{"type":"string","description":"The database name. For the default `DbPlan`, the `dbName` is \u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\"\u003e`default`\u003c/span\u003e.\n"},"flashCacheLimit":{"type":"string","description":"The flash cache limit for this database. This value is internally configured based on the share value assigned to the database.\n"},"share":{"type":"integer","description":"The relative priority of this database.\n"}},"type":"object","required":["dbName","flashCacheLimit","share"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:oracle/getDatabaseSystemVersionsVersion:getDatabaseSystemVersionsVersion":{"properties":{"latestVersion":{"type":"boolean","description":"Indicates if this version of the Oracle Database software is the latest version for a release.\n"},"name":{"type":"string","description":"The name of the Oracle Database version.\n"},"pluggableDatabaseSupported":{"type":"boolean","description":"Indicates if this version of the Oracle Database software supports pluggable databases.\n"},"version":{"type":"string","description":"The value of the Oracle Database version.\n"}},"type":"object","required":["latestVersion","name","pluggableDatabaseSupported","version"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:oracle/getDbNodesDbNode:getDbNodesDbNode":{"properties":{"additionalDetails":{"type":"string","description":"Additional information about the planned maintenance.\n"},"backupIpId":{"type":"string","description":"The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the backup IP address associated with the database node. Use this OCID with either the [GetPrivateIp](https://docs.cloud.oracle.com/iaas/api/#/en/iaas/20160918/PrivateIp/GetPrivateIp) or the [GetPublicIpByPrivateIpId](https://docs.cloud.oracle.com/iaas/api/#/en/iaas/20160918/PublicIp/GetPublicIpByPrivateIpId) API to get the IP address needed to make a database connection.\n"},"backupVnic2Id":{"type":"string"},"backupVnicId":{"type":"string","description":"The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the backup VNIC.\n"},"cpuCoreCount":{"type":"integer","description":"The number of CPU cores enabled on the DB node.\n"},"dbNodeStorageSizeInGbs":{"type":"integer","description":"The allocated local node storage in GBs on the DB node.\n"},"dbServerId":{"type":"string","description":"The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the ExaCC DB server associated with the database node.\n"},"dbSystemId":{"type":"string","description":"The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the DB system.\n"},"faultDomain":{"type":"string","description":"The name of the Fault Domain the instance is contained in.\n"},"hostIpId":{"type":"string","description":"The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the host IP address associated with the database node. Use this OCID with either the [GetPrivateIp](https://docs.cloud.oracle.com/iaas/api/#/en/iaas/20160918/PrivateIp/GetPrivateIp) or the [GetPublicIpByPrivateIpId](https://docs.cloud.oracle.com/iaas/api/#/en/iaas/20160918/PublicIp/GetPublicIpByPrivateIpId) API to get the IP address needed to make a database connection.\n"},"hostname":{"type":"string"},"lifecycleDetails":{"type":"string","description":"Information about the current lifecycle details.\n"},"lifecycleState":{"type":"string","description":"Information about the current lifecycle state.\n"},"maintenanceType":{"type":"string","description":"The type of database node maintenance.\n"},"memorySizeInGbs":{"type":"integer","description":"The allocated memory in GBs on the DB Node.\n"},"ocid":{"type":"string","description":"The [OCID](https://docs.oracle.com/en-us/iaas/Content/General/Concepts/identifiers.htm) of the DB node.\n"},"softwareStorageSizeInGb":{"type":"integer","description":"The size (in GB) of the block storage volume allocation for the DB system. This attribute applies only for virtual machine DB systems.\n"},"timeCreated":{"type":"string","description":"The date and time that the DB node was created.\n"},"timeMaintenanceWindowEnd":{"type":"string","description":"End date and time of maintenance window.\n"},"timeMaintenanceWindowStart":{"type":"string","description":"Start date and time of maintenance window.\n"},"vnic2Id":{"type":"string"},"vnicId":{"type":"string","description":"The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the VNIC.\n"}},"type":"object","required":["additionalDetails","backupIpId","backupVnic2Id","backupVnicId","cpuCoreCount","dbNodeStorageSizeInGbs","dbServerId","dbSystemId","faultDomain","hostIpId","hostname","lifecycleDetails","lifecycleState","maintenanceType","memorySizeInGbs","ocid","softwareStorageSizeInGb","timeCreated","timeMaintenanceWindowEnd","timeMaintenanceWindowStart","vnic2Id","vnicId"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:oracle/getDbServersDbServer:getDbServersDbServer":{"properties":{"autonomousVirtualMachineDs":{"type":"array","items":{"type":"string"},"description":"The list of [OCIDs](https://docs.oracle.com/en-us/iaas/Content/General/Concepts/identifiers.htm) of the Autonomous Virtual Machines associated with the DB Server.\n"},"autonomousVmClusterIds":{"type":"array","items":{"type":"string"},"description":"The list of [OCIDs](https://docs.oracle.com/en-us/iaas/Content/General/Concepts/identifiers.htm) of the Autonomous VM Clusters associated with the DB Server.\n"},"compartmentId":{"type":"string","description":"The [OCID](https://docs.oracle.com/en-us/iaas/Content/General/Concepts/identifiers.htm) of the compartment.\n"},"computeModel":{"type":"string","description":"The compute model of the Exadata Infrastructure.\n"},"cpuCoreCount":{"type":"integer","description":"The number of CPU cores enabled on the DB Server.\n"},"dbNodeIds":{"type":"array","items":{"type":"string"},"description":"The [OCID](https://docs.oracle.com/en-us/iaas/Content/General/Concepts/identifiers.htm) of the Db nodes associated with the DB Server.\n"},"dbNodeStorageSizeInGbs":{"type":"integer","description":"The allocated local node storage in GBs on the DB Server.\n"},"displayName":{"type":"string","description":"The user-friendly name for the DB Server. The name does not need to be unique.\n"},"exadataInfrastructureId":{"type":"string","description":"The [OCID](https://docs.oracle.com/en-us/iaas/Content/General/Concepts/identifiers.htm) of the Exadata infrastructure.\n"},"lifecycleDetails":{"type":"string","description":"Additional information about the current lifecycle state.\n"},"lifecycleState":{"type":"string","description":"The current state of the DB Server.\n"},"maxCpuCount":{"type":"integer","description":"The total number of CPU cores available.\n"},"maxDbNodeStorageInGbs":{"type":"integer","description":"The total local node storage available in GBs.\n"},"maxMemoryInGbs":{"type":"integer","description":"The total memory available in GBs.\n"},"memorySizeInGbs":{"type":"integer","description":"The allocated memory in GBs on the DB Server.\n"},"ocid":{"type":"string","description":"The [OCID](https://docs.oracle.com/en-us/iaas/Content/General/Concepts/identifiers.htm) of the DB Server.\n"},"shape":{"type":"string","description":"The shape of the DB Server. The shape determines the amount of CPU, storage, and memory resources available.\n"},"timeCreated":{"type":"string","description":"The date and time that the DB Server was created.\n"},"vmClusterIds":{"type":"array","items":{"type":"string"},"description":"The [OCID](https://docs.oracle.com/en-us/iaas/Content/General/Concepts/identifiers.htm) of the VM Clusters associated with the DB Server.\n"}},"type":"object","required":["autonomousVirtualMachineDs","autonomousVmClusterIds","compartmentId","computeModel","cpuCoreCount","dbNodeIds","dbNodeStorageSizeInGbs","displayName","exadataInfrastructureId","lifecycleDetails","lifecycleState","maxCpuCount","maxDbNodeStorageInGbs","maxMemoryInGbs","memorySizeInGbs","ocid","shape","timeCreated","vmClusterIds"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:oracle/getDbSystemShapesDbSystemShape:getDbSystemShapesDbSystemShape":{"properties":{"areServerTypesSupported":{"type":"boolean","description":"Indicates if the shape supports database and storage server types.\n"},"availableCoreCount":{"type":"integer","description":"The maximum number of CPU cores that can be enabled on the DB system for this shape.\n"},"availableCoreCountPerNode":{"type":"integer","description":"The maximum number of CPU cores per database node that can be enabled for this shape. Only applicable to the flex Exadata shape, ExaCC Elastic shapes and VM Flex shapes.\n"},"availableDataStorageInTbs":{"type":"integer","description":"The maximum data storage that can be enabled for this shape.\n"},"availableDataStoragePerServerInTbs":{"type":"integer","description":"The maximum data storage available per storage server for this shape. Only applicable to ExaCC Elastic shapes.\n"},"availableDbNodePerNodeInGbs":{"type":"integer","description":"The maximum DB Node storage available per database node for this shape. Only applicable to ExaCC Elastic shapes.\n"},"availableDbNodeStorageInGbs":{"type":"integer","description":"The maximum DB Node storage that can be enabled for this shape.\n"},"availableMemoryInGbs":{"type":"integer","description":"The maximum memory that can be enabled for this shape.\n"},"availableMemoryPerNodeInGbs":{"type":"integer","description":"The maximum memory available per database node for this shape. Only applicable to ExaCC Elastic shapes.\n"},"computeModel":{"type":"string","description":"The compute model of the Exadata Infrastructure.\n"},"coreCountIncrement":{"type":"integer","description":"The discrete number by which the CPU core count for this shape can be increased or decreased.\n"},"displayName":{"type":"string","description":"The display name of the shape used for the DB system.\n"},"maximumNodeCount":{"type":"integer","description":"The maximum number of compute servers available for this shape.\n"},"maximumStorageCount":{"type":"integer","description":"The maximum number of Exadata storage servers available for the Exadata infrastructure.\n"},"minimumCoreCount":{"type":"integer","description":"The minimum number of CPU cores that can be enabled on the DB system for this shape.\n"},"minimumCoreCountPerNode":{"type":"integer","description":"The minimum number of CPU cores that can be enabled per node for this shape.\n"},"minimumDataStorageInTbs":{"type":"integer","description":"The minimum data storage that need be allocated for this shape.\n"},"minimumDbNodeStoragePerNodeInGbs":{"type":"integer","description":"The minimum DB Node storage that need be allocated per node for this shape.\n"},"minimumMemoryPerNodeInGbs":{"type":"integer","description":"The minimum memory that need be allocated per node for this shape.\n"},"minimumNodeCount":{"type":"integer","description":"The minimum number of compute servers available for this shape.\n"},"minimumStorageCount":{"type":"integer","description":"The minimum number of Exadata storage servers available for the Exadata infrastructure.\n"},"runtimeMinimumCoreCount":{"type":"integer","description":"The runtime minimum number of compute servers available for this shape.\n"},"shapeFamily":{"type":"string","description":"The family of the shape used for the DB system.\n"}},"type":"object","required":["areServerTypesSupported","availableCoreCount","availableCoreCountPerNode","availableDataStorageInTbs","availableDataStoragePerServerInTbs","availableDbNodePerNodeInGbs","availableDbNodeStorageInGbs","availableMemoryInGbs","availableMemoryPerNodeInGbs","computeModel","coreCountIncrement","displayName","maximumNodeCount","maximumStorageCount","minimumCoreCount","minimumCoreCountPerNode","minimumDataStorageInTbs","minimumDbNodeStoragePerNodeInGbs","minimumMemoryPerNodeInGbs","minimumNodeCount","minimumStorageCount","runtimeMinimumCoreCount","shapeFamily"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:oracle/getExadataInfrastructureDefinedFileSystemConfiguration:getExadataInfrastructureDefinedFileSystemConfiguration":{"properties":{"backupPartitionEnabled":{"type":"boolean","description":"Whether the backup partition is enabled.\n"},"minimumSizeInGb":{"type":"integer","description":"The minimum size of the file system in GB.\n"},"mountPoint":{"type":"string","description":"Mount path for the file system.\n"},"resizableEnabled":{"type":"boolean","description":"Whether the resizable is enabled.\n"}},"type":"object","required":["backupPartitionEnabled","minimumSizeInGb","mountPoint","resizableEnabled"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:oracle/getExadataInfrastructureEstimatedPatchingTime:getExadataInfrastructureEstimatedPatchingTime":{"properties":{"estimatedDbServerPatchingTime":{"type":"integer","description":"The estimated time required in minutes for database server patching.\n"},"estimatedNetworkSwitchesPatchingTime":{"type":"integer","description":"The estimated time required in minutes for network switch patching.\n"},"estimatedStorageServerPatchingTime":{"type":"integer","description":"The estimated time required in minutes for storage server patching.\n"},"totalEstimatedPatchingTime":{"type":"integer","description":"The estimated total time required in minutes for all patching operations.\n"}},"type":"object","required":["estimatedDbServerPatchingTime","estimatedNetworkSwitchesPatchingTime","estimatedStorageServerPatchingTime","totalEstimatedPatchingTime"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:oracle/getExadataInfrastructureMaintenanceWindow:getExadataInfrastructureMaintenanceWindow":{"properties":{"customActionTimeoutEnabled":{"type":"boolean","description":"If true, enables the configuration of a custom action timeout (waiting period) between database servers patching operations.\n"},"customActionTimeoutInMins":{"type":"integer"},"daysOfWeeks":{"type":"array","items":{"type":"string"},"description":"Days during the week when maintenance should be performed.\n"},"hoursOfDays":{"type":"array","items":{"type":"integer"},"description":"The window of hours during the day when maintenance should be performed.\n"},"leadTimeInWeeks":{"type":"integer","description":"Lead time window allows user to set a lead time to prepare for a down time.\n"},"monthlyPatchingEnabled":{"type":"boolean","description":"If true, enables the monthly patching option.\n"},"months":{"type":"array","items":{"type":"string"},"description":"A \u003cspan pulumi-lang-nodejs=\"`months`\" pulumi-lang-dotnet=\"`Months`\" pulumi-lang-go=\"`months`\" pulumi-lang-python=\"`months`\" pulumi-lang-yaml=\"`months`\" pulumi-lang-java=\"`months`\"\u003e`months`\u003c/span\u003e block as defined below.\n"},"patchingMode":{"type":"string","description":"Cloud Exadata Infrastructure node patching method.\n"},"preference":{"type":"string","description":"The maintenance window scheduling preference.\n"},"weeksOfMonths":{"type":"array","items":{"type":"integer"},"description":"Weeks during the month when maintenance should be performed.\n"}},"type":"object","required":["customActionTimeoutEnabled","customActionTimeoutInMins","daysOfWeeks","hoursOfDays","leadTimeInWeeks","monthlyPatchingEnabled","months","patchingMode","preference","weeksOfMonths"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:oracle/getExascaleDatabaseStorageVaultHighCapacityDatabaseStorage:getExascaleDatabaseStorageVaultHighCapacityDatabaseStorage":{"properties":{"availableSizeInGb":{"type":"integer","description":"Available capacity in gigabytes.\n"},"totalSizeInGb":{"type":"integer","description":"Total capacity in gigabytes.\n"}},"type":"object","required":["availableSizeInGb","totalSizeInGb"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:orbital/ContactProfileLink:ContactProfileLink":{"properties":{"channels":{"type":"array","items":{"$ref":"#/types/azure:orbital/ContactProfileLinkChannel:ContactProfileLinkChannel"},"description":"A list of contact profile link channels. A \u003cspan pulumi-lang-nodejs=\"`channels`\" pulumi-lang-dotnet=\"`Channels`\" pulumi-lang-go=\"`channels`\" pulumi-lang-python=\"`channels`\" pulumi-lang-yaml=\"`channels`\" pulumi-lang-java=\"`channels`\"\u003e`channels`\u003c/span\u003e block as defined below.\n"},"direction":{"type":"string","description":"Direction of the link. Possible values are `Uplink` and `Downlink`.\n"},"name":{"type":"string","description":"Name of the link.\n"},"polarization":{"type":"string","description":"Polarization of the link. Possible values are `LHCP`, `RHCP`, `linearVertical` and `linearHorizontal`.\n"}},"type":"object","required":["channels","direction","name","polarization"]},"azure:orbital/ContactProfileLinkChannel:ContactProfileLinkChannel":{"properties":{"bandwidthMhz":{"type":"number","description":"Bandwidth in MHz.\n"},"centerFrequencyMhz":{"type":"number","description":"Center frequency in MHz.\n"},"demodulationConfiguration":{"type":"string","description":"Copy of the modem configuration file such as Kratos QRadio or Kratos QuantumRx. Only valid for downlink directions. If provided, the modem connects to the customer endpoint and sends demodulated data instead of a VITA.49 stream.\n"},"endPoints":{"type":"array","items":{"$ref":"#/types/azure:orbital/ContactProfileLinkChannelEndPoint:ContactProfileLinkChannelEndPoint"},"description":"Customer End point to store/retrieve data during a contact. An \u003cspan pulumi-lang-nodejs=\"`endPoint`\" pulumi-lang-dotnet=\"`EndPoint`\" pulumi-lang-go=\"`endPoint`\" pulumi-lang-python=\"`end_point`\" pulumi-lang-yaml=\"`endPoint`\" pulumi-lang-java=\"`endPoint`\"\u003e`end_point`\u003c/span\u003e block as defined below.\n"},"modulationConfiguration":{"type":"string","description":"Copy of the modem configuration file such as Kratos QRadio. Only valid for uplink directions. If provided, the modem connects to the customer endpoint and accepts commands from the customer instead of a VITA.49 stream.\n"},"name":{"type":"string","description":"Name of the channel.\n"}},"type":"object","required":["bandwidthMhz","centerFrequencyMhz","endPoints","name"]},"azure:orbital/ContactProfileLinkChannelEndPoint:ContactProfileLinkChannelEndPoint":{"properties":{"endPointName":{"type":"string","description":"Name of an end point.\n"},"ipAddress":{"type":"string","description":"IP address of an end point.\n"},"port":{"type":"string","description":"TCP port to listen on to receive data.\n"},"protocol":{"type":"string","description":"Protocol of an end point. Possible values are `TCP` and `UDP`.\n"}},"type":"object","required":["endPointName","port","protocol"]},"azure:orbital/SpacecraftLink:SpacecraftLink":{"properties":{"bandwidthMhz":{"type":"number","description":"Bandwidth in Mhz.\n"},"centerFrequencyMhz":{"type":"number","description":"Center frequency in Mhz.\n\n\u003e **Note:** The value of \u003cspan pulumi-lang-nodejs=\"`centerFrequencyMhz \" pulumi-lang-dotnet=\"`CenterFrequencyMhz \" pulumi-lang-go=\"`centerFrequencyMhz \" pulumi-lang-python=\"`center_frequency_mhz \" pulumi-lang-yaml=\"`centerFrequencyMhz \" pulumi-lang-java=\"`centerFrequencyMhz \"\u003e`center_frequency_mhz \u003c/span\u003e+/-\u003cspan pulumi-lang-nodejs=\" bandwidthMhz \" pulumi-lang-dotnet=\" BandwidthMhz \" pulumi-lang-go=\" bandwidthMhz \" pulumi-lang-python=\" bandwidth_mhz \" pulumi-lang-yaml=\" bandwidthMhz \" pulumi-lang-java=\" bandwidthMhz \"\u003e bandwidth_mhz \u003c/span\u003e/ 2` should fall in one of these ranges: `Uplink/LHCP`: [2025, 2120]; `Uplink/Linear`: [399, 403],[435, 438],[449, 451]; `Uplink/RHCP`: [399, 403],[435, 438],[449, 451],[2025, 2120]; `Downlink/LHCP`: [2200, 2300], [7500, 8400]; `Downlink/Linear`: [399, 403], [435, 438], [449, 451]; Downlink/Linear`: [399, 403], [435, 438], [449, 451], [2200, 2300], [7500, 8400]\n"},"direction":{"type":"string","description":"Direction if the communication. Possible values are `Uplink` and `Downlink`.\n"},"name":{"type":"string","description":"Name of the link.\n"},"polarization":{"type":"string","description":"Polarization. Possible values are `RHCP`, `LHCP`, `linearVertical` and `linearHorizontal`.\n"}},"type":"object","required":["bandwidthMhz","centerFrequencyMhz","direction","name","polarization"]},"azure:paloalto/LocalRulestackRuleCategory:LocalRulestackRuleCategory":{"properties":{"customUrls":{"type":"array","items":{"type":"string"},"description":"Specifies a list of URL categories to match. Possible values include \u003cspan pulumi-lang-nodejs=\"`abortion`\" pulumi-lang-dotnet=\"`Abortion`\" pulumi-lang-go=\"`abortion`\" pulumi-lang-python=\"`abortion`\" pulumi-lang-yaml=\"`abortion`\" pulumi-lang-java=\"`abortion`\"\u003e`abortion`\u003c/span\u003e, `abused-drugs`, \u003cspan pulumi-lang-nodejs=\"`adult`\" pulumi-lang-dotnet=\"`Adult`\" pulumi-lang-go=\"`adult`\" pulumi-lang-python=\"`adult`\" pulumi-lang-yaml=\"`adult`\" pulumi-lang-java=\"`adult`\"\u003e`adult`\u003c/span\u003e, `alcohol-and-tobacco`, \u003cspan pulumi-lang-nodejs=\"`auctions`\" pulumi-lang-dotnet=\"`Auctions`\" pulumi-lang-go=\"`auctions`\" pulumi-lang-python=\"`auctions`\" pulumi-lang-yaml=\"`auctions`\" pulumi-lang-java=\"`auctions`\"\u003e`auctions`\u003c/span\u003e, `business-and-economy`, `command-and-control`, `computer-and-internet-info`, `content-delivery-networks`, `copyright-infringement`, \u003cspan pulumi-lang-nodejs=\"`cryptocurrency`\" pulumi-lang-dotnet=\"`Cryptocurrency`\" pulumi-lang-go=\"`cryptocurrency`\" pulumi-lang-python=\"`cryptocurrency`\" pulumi-lang-yaml=\"`cryptocurrency`\" pulumi-lang-java=\"`cryptocurrency`\"\u003e`cryptocurrency`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`dating`\" pulumi-lang-dotnet=\"`Dating`\" pulumi-lang-go=\"`dating`\" pulumi-lang-python=\"`dating`\" pulumi-lang-yaml=\"`dating`\" pulumi-lang-java=\"`dating`\"\u003e`dating`\u003c/span\u003e, `dynamic-dns`, `educational-institutions`, `entertainment-and-arts`, \u003cspan pulumi-lang-nodejs=\"`extremism`\" pulumi-lang-dotnet=\"`Extremism`\" pulumi-lang-go=\"`extremism`\" pulumi-lang-python=\"`extremism`\" pulumi-lang-yaml=\"`extremism`\" pulumi-lang-java=\"`extremism`\"\u003e`extremism`\u003c/span\u003e, `financial-services`, \u003cspan pulumi-lang-nodejs=\"`gambling`\" pulumi-lang-dotnet=\"`Gambling`\" pulumi-lang-go=\"`gambling`\" pulumi-lang-python=\"`gambling`\" pulumi-lang-yaml=\"`gambling`\" pulumi-lang-java=\"`gambling`\"\u003e`gambling`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`games`\" pulumi-lang-dotnet=\"`Games`\" pulumi-lang-go=\"`games`\" pulumi-lang-python=\"`games`\" pulumi-lang-yaml=\"`games`\" pulumi-lang-java=\"`games`\"\u003e`games`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`government`\" pulumi-lang-dotnet=\"`Government`\" pulumi-lang-go=\"`government`\" pulumi-lang-python=\"`government`\" pulumi-lang-yaml=\"`government`\" pulumi-lang-java=\"`government`\"\u003e`government`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`grayware`\" pulumi-lang-dotnet=\"`Grayware`\" pulumi-lang-go=\"`grayware`\" pulumi-lang-python=\"`grayware`\" pulumi-lang-yaml=\"`grayware`\" pulumi-lang-java=\"`grayware`\"\u003e`grayware`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`hacking`\" pulumi-lang-dotnet=\"`Hacking`\" pulumi-lang-go=\"`hacking`\" pulumi-lang-python=\"`hacking`\" pulumi-lang-yaml=\"`hacking`\" pulumi-lang-java=\"`hacking`\"\u003e`hacking`\u003c/span\u003e, `health-and-medicine`, `high-risk`, `home-and-garden`, `hunting-and-fishing`, `insufficient-content`, `internet-communications-and-telephony`, `internet-portals`, `job-search`, \u003cspan pulumi-lang-nodejs=\"`legal`\" pulumi-lang-dotnet=\"`Legal`\" pulumi-lang-go=\"`legal`\" pulumi-lang-python=\"`legal`\" pulumi-lang-yaml=\"`legal`\" pulumi-lang-java=\"`legal`\"\u003e`legal`\u003c/span\u003e, `low-risk`, \u003cspan pulumi-lang-nodejs=\"`malware`\" pulumi-lang-dotnet=\"`Malware`\" pulumi-lang-go=\"`malware`\" pulumi-lang-python=\"`malware`\" pulumi-lang-yaml=\"`malware`\" pulumi-lang-java=\"`malware`\"\u003e`malware`\u003c/span\u003e, `medium-risk`, \u003cspan pulumi-lang-nodejs=\"`military`\" pulumi-lang-dotnet=\"`Military`\" pulumi-lang-go=\"`military`\" pulumi-lang-python=\"`military`\" pulumi-lang-yaml=\"`military`\" pulumi-lang-java=\"`military`\"\u003e`military`\u003c/span\u003e, `motor-vehicles`, \u003cspan pulumi-lang-nodejs=\"`music`\" pulumi-lang-dotnet=\"`Music`\" pulumi-lang-go=\"`music`\" pulumi-lang-python=\"`music`\" pulumi-lang-yaml=\"`music`\" pulumi-lang-java=\"`music`\"\u003e`music`\u003c/span\u003e, `newly-registered-domain`, \u003cspan pulumi-lang-nodejs=\"`news`\" pulumi-lang-dotnet=\"`News`\" pulumi-lang-go=\"`news`\" pulumi-lang-python=\"`news`\" pulumi-lang-yaml=\"`news`\" pulumi-lang-java=\"`news`\"\u003e`news`\u003c/span\u003e, `not-resolved`, \u003cspan pulumi-lang-nodejs=\"`nudity`\" pulumi-lang-dotnet=\"`Nudity`\" pulumi-lang-go=\"`nudity`\" pulumi-lang-python=\"`nudity`\" pulumi-lang-yaml=\"`nudity`\" pulumi-lang-java=\"`nudity`\"\u003e`nudity`\u003c/span\u003e, `online-storage-and-backup`, \u003cspan pulumi-lang-nodejs=\"`parked`\" pulumi-lang-dotnet=\"`Parked`\" pulumi-lang-go=\"`parked`\" pulumi-lang-python=\"`parked`\" pulumi-lang-yaml=\"`parked`\" pulumi-lang-java=\"`parked`\"\u003e`parked`\u003c/span\u003e, `peer-to-peer`, `personal-sites-and-blogs`, `philosophy-and-political-advocacy`, \u003cspan pulumi-lang-nodejs=\"`phishing`\" pulumi-lang-dotnet=\"`Phishing`\" pulumi-lang-go=\"`phishing`\" pulumi-lang-python=\"`phishing`\" pulumi-lang-yaml=\"`phishing`\" pulumi-lang-java=\"`phishing`\"\u003e`phishing`\u003c/span\u003e, `private-ip-addresses`, `proxy-avoidance-and-anonymizers`, \u003cspan pulumi-lang-nodejs=\"`questionable`\" pulumi-lang-dotnet=\"`Questionable`\" pulumi-lang-go=\"`questionable`\" pulumi-lang-python=\"`questionable`\" pulumi-lang-yaml=\"`questionable`\" pulumi-lang-java=\"`questionable`\"\u003e`questionable`\u003c/span\u003e, `real-estate`, `real-time-detection`, `recreation-and-hobbies`, `reference-and-research`, \u003cspan pulumi-lang-nodejs=\"`religion`\" pulumi-lang-dotnet=\"`Religion`\" pulumi-lang-go=\"`religion`\" pulumi-lang-python=\"`religion`\" pulumi-lang-yaml=\"`religion`\" pulumi-lang-java=\"`religion`\"\u003e`religion`\u003c/span\u003e, `search-engines`, `sex-education`, `shareware-and-freeware`, \u003cspan pulumi-lang-nodejs=\"`shopping`\" pulumi-lang-dotnet=\"`Shopping`\" pulumi-lang-go=\"`shopping`\" pulumi-lang-python=\"`shopping`\" pulumi-lang-yaml=\"`shopping`\" pulumi-lang-java=\"`shopping`\"\u003e`shopping`\u003c/span\u003e, `social-networking`, \u003cspan pulumi-lang-nodejs=\"`society`\" pulumi-lang-dotnet=\"`Society`\" pulumi-lang-go=\"`society`\" pulumi-lang-python=\"`society`\" pulumi-lang-yaml=\"`society`\" pulumi-lang-java=\"`society`\"\u003e`society`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`sports`\" pulumi-lang-dotnet=\"`Sports`\" pulumi-lang-go=\"`sports`\" pulumi-lang-python=\"`sports`\" pulumi-lang-yaml=\"`sports`\" pulumi-lang-java=\"`sports`\"\u003e`sports`\u003c/span\u003e, `stock-advice-and-tools`, `streaming-media`, `swimsuits-and-intimate-apparel`, `training-and-tools`, \u003cspan pulumi-lang-nodejs=\"`translation`\" pulumi-lang-dotnet=\"`Translation`\" pulumi-lang-go=\"`translation`\" pulumi-lang-python=\"`translation`\" pulumi-lang-yaml=\"`translation`\" pulumi-lang-java=\"`translation`\"\u003e`translation`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`travel`\" pulumi-lang-dotnet=\"`Travel`\" pulumi-lang-go=\"`travel`\" pulumi-lang-python=\"`travel`\" pulumi-lang-yaml=\"`travel`\" pulumi-lang-java=\"`travel`\"\u003e`travel`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`unknown`\" pulumi-lang-dotnet=\"`Unknown`\" pulumi-lang-go=\"`unknown`\" pulumi-lang-python=\"`unknown`\" pulumi-lang-yaml=\"`unknown`\" pulumi-lang-java=\"`unknown`\"\u003e`unknown`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`weapons`\" pulumi-lang-dotnet=\"`Weapons`\" pulumi-lang-go=\"`weapons`\" pulumi-lang-python=\"`weapons`\" pulumi-lang-yaml=\"`weapons`\" pulumi-lang-java=\"`weapons`\"\u003e`weapons`\u003c/span\u003e, `web-advertisements`, `web-based-email`, and `web-hosting`.\n"},"feeds":{"type":"array","items":{"type":"string"},"description":"Specifies a list of feeds to match.\n"}},"type":"object","required":["customUrls"]},"azure:paloalto/LocalRulestackRuleDestination:LocalRulestackRuleDestination":{"properties":{"cidrs":{"type":"array","items":{"type":"string"},"description":"Specifies a list of CIDR's.\n"},"countries":{"type":"array","items":{"type":"string"},"description":"Specifies a list of ISO3361-1 Alpha-2 Country codes. Possible values include `AF`, `AX`, `AL`, `DZ`, `AS`, `AD`, `AO`, `AI`, `AQ`, `AG`, `AR`, `AM`, `AW`, `AU`, `AT`, `AZ`, `BS`, `BH`, `BD`, `BB`, `BY`, `BE`, `BZ`, `BJ`, `BM`, `BT`, `BO`, `BQ`, `BA`, `BW`, `BV`, `BR`, `IO`, `BN`, `BG`, `BF`, `BI`, `KH`, `CM`, `CA`, `CV`, `KY`, `CF`, `TD`, `CL`, `CN`, `CX`, `CC`, `CO`, `KM`, `CG`, `CD`, `CK`, `CR`, `CI`, `HR`, `CU`, `CW`, `CY`, `CZ`, `DK`, `DJ`, `DM`, `DO`, `EC`, `EG`, `SV`, `GQ`, `ER`, `EE`, `ET`, `FK`, `FO`, `FJ`, `FI`, `FR`, `GF`, `PF`, `TF`, `GA`, `GM`, `GE`, `DE`, `GH`, `GI`, `GR`, `GL`, `GD`, `GP`, `GU`, `GT`, `GG`, `GN`, `GW`, `GY`, `HT`, `HM`, `VA`, `HN`, `HK`, `HU`, `IS`, `IN`, `ID`, `IR`, `IQ`, `IE`, `IM`, `IL`, `IT`, `JM`, `JP`, `JE`, `JO`, `KZ`, `KE`, `KI`, `KP`, `KR`, `KW`, `KG`, `LA`, `LV`, `LB`, `LS`, `LR`, `LY`, `LI`, `LT`, `LU`, `MO`, `MK`, `MG`, `MW`, `MY`, `MV`, `ML`, `MT`, `MH`, `MQ`, `MR`, `MU`, `YT`, `MX`, `FM`, `MD`, `MC`, `MN`, `ME`, `MS`, `MA`, `MZ`, `MM`, `NA`, `NR`, `NP`, `NL`, `NC`, `NZ`, `NI`, `NE`, `NG`, `NU`, `NF`, `MP`, `NO`, `OM`, `PK`, `PW`, `PS`, `PA`, `PG`, `PY`, `PE`, `PH`, `PN`, `PL`, `PT`, `PR`, `QA`, `RE`, `RO`, `RU`, `RW`, `BL`, `SH`, `KN`, `LC`, `MF`, `PM`, `VC`, `WS`, `SM`, `ST`, `SA`, `SN`, `RS`, `SC`, `SL`, `SG`, `SX`, `SK`, `SI`, `SB`, `SO`, `ZA`, `GS`, `SS`, `ES`, `LK`, `SD`, `SR`, `SJ`, `SZ`, `SE`, `CH`, `SY`, `TW`, `TJ`, `TZ`, `TH`, `TL`, `TG`, `TK`, `TO`, `TT`, `TN`, `TR`, `TM`, `TC`, `TV`, `UG`, `UA`, `AE`, `GB`, `US`, `UM`, `UY`, `UZ`, `VU`, `VE`, `VN`, `VG`, `VI`, `WF`, `EH`, `YE`, `ZM`, `ZW`\n"},"feeds":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Feeds.\n"},"localRulestackFqdnListIds":{"type":"array","items":{"type":"string"},"description":"Specifies a list of FQDN lists.\n\n\u003e **Note:** This is a list of names of FQDN Lists configured on the same Local Rulestack as this Rule is being created.\n"},"localRulestackPrefixListIds":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Prefix Lists.\n\n\u003e **Note:** This is a list of names of Prefix Lists configured on the same Local Rulestack as this Rule is being created.\n"}},"type":"object"},"azure:paloalto/LocalRulestackRuleSource:LocalRulestackRuleSource":{"properties":{"cidrs":{"type":"array","items":{"type":"string"},"description":"Specifies a list of CIDRs.\n"},"countries":{"type":"array","items":{"type":"string"},"description":"Specifies a list of ISO3361-1 Alpha-2 Country codes. Possible values include `AF`, `AX`, `AL`, `DZ`, `AS`, `AD`, `AO`, `AI`, `AQ`, `AG`, `AR`, `AM`, `AW`, `AU`, `AT`, `AZ`, `BS`, `BH`, `BD`, `BB`, `BY`, `BE`, `BZ`, `BJ`, `BM`, `BT`, `BO`, `BQ`, `BA`, `BW`, `BV`, `BR`, `IO`, `BN`, `BG`, `BF`, `BI`, `KH`, `CM`, `CA`, `CV`, `KY`, `CF`, `TD`, `CL`, `CN`, `CX`, `CC`, `CO`, `KM`, `CG`, `CD`, `CK`, `CR`, `CI`, `HR`, `CU`, `CW`, `CY`, `CZ`, `DK`, `DJ`, `DM`, `DO`, `EC`, `EG`, `SV`, `GQ`, `ER`, `EE`, `ET`, `FK`, `FO`, `FJ`, `FI`, `FR`, `GF`, `PF`, `TF`, `GA`, `GM`, `GE`, `DE`, `GH`, `GI`, `GR`, `GL`, `GD`, `GP`, `GU`, `GT`, `GG`, `GN`, `GW`, `GY`, `HT`, `HM`, `VA`, `HN`, `HK`, `HU`, `IS`, `IN`, `ID`, `IR`, `IQ`, `IE`, `IM`, `IL`, `IT`, `JM`, `JP`, `JE`, `JO`, `KZ`, `KE`, `KI`, `KP`, `KR`, `KW`, `KG`, `LA`, `LV`, `LB`, `LS`, `LR`, `LY`, `LI`, `LT`, `LU`, `MO`, `MK`, `MG`, `MW`, `MY`, `MV`, `ML`, `MT`, `MH`, `MQ`, `MR`, `MU`, `YT`, `MX`, `FM`, `MD`, `MC`, `MN`, `ME`, `MS`, `MA`, `MZ`, `MM`, `NA`, `NR`, `NP`, `NL`, `NC`, `NZ`, `NI`, `NE`, `NG`, `NU`, `NF`, `MP`, `NO`, `OM`, `PK`, `PW`, `PS`, `PA`, `PG`, `PY`, `PE`, `PH`, `PN`, `PL`, `PT`, `PR`, `QA`, `RE`, `RO`, `RU`, `RW`, `BL`, `SH`, `KN`, `LC`, `MF`, `PM`, `VC`, `WS`, `SM`, `ST`, `SA`, `SN`, `RS`, `SC`, `SL`, `SG`, `SX`, `SK`, `SI`, `SB`, `SO`, `ZA`, `GS`, `SS`, `ES`, `LK`, `SD`, `SR`, `SJ`, `SZ`, `SE`, `CH`, `SY`, `TW`, `TJ`, `TZ`, `TH`, `TL`, `TG`, `TK`, `TO`, `TT`, `TN`, `TR`, `TM`, `TC`, `TV`, `UG`, `UA`, `AE`, `GB`, `US`, `UM`, `UY`, `UZ`, `VU`, `VE`, `VN`, `VG`, `VI`, `WF`, `EH`, `YE`, `ZM`, `ZW`\n"},"feeds":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Feeds.\n"},"localRulestackPrefixListIds":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Prefix Lists.\n\n\u003e **Note:** This is a list of names of Prefix Lists configured on the same Local Rulestack as this Rule is being created.\n"}},"type":"object"},"azure:paloalto/NextGenerationFirewallVirtualHubLocalRulestackDestinationNat:NextGenerationFirewallVirtualHubLocalRulestackDestinationNat":{"properties":{"backendConfig":{"$ref":"#/types/azure:paloalto/NextGenerationFirewallVirtualHubLocalRulestackDestinationNatBackendConfig:NextGenerationFirewallVirtualHubLocalRulestackDestinationNatBackendConfig","description":"A \u003cspan pulumi-lang-nodejs=\"`backendConfig`\" pulumi-lang-dotnet=\"`BackendConfig`\" pulumi-lang-go=\"`backendConfig`\" pulumi-lang-python=\"`backend_config`\" pulumi-lang-yaml=\"`backendConfig`\" pulumi-lang-java=\"`backendConfig`\"\u003e`backend_config`\u003c/span\u003e block as defined above.\n"},"frontendConfig":{"$ref":"#/types/azure:paloalto/NextGenerationFirewallVirtualHubLocalRulestackDestinationNatFrontendConfig:NextGenerationFirewallVirtualHubLocalRulestackDestinationNatFrontendConfig","description":"A \u003cspan pulumi-lang-nodejs=\"`frontendConfig`\" pulumi-lang-dotnet=\"`FrontendConfig`\" pulumi-lang-go=\"`frontendConfig`\" pulumi-lang-python=\"`frontend_config`\" pulumi-lang-yaml=\"`frontendConfig`\" pulumi-lang-java=\"`frontendConfig`\"\u003e`frontend_config`\u003c/span\u003e block as defined below.\n"},"name":{"type":"string","description":"The name which should be used for this NAT.\n"},"protocol":{"type":"string","description":"The protocol used for this Destination NAT. Possible values include `TCP` and `UDP`.\n"}},"type":"object","required":["name","protocol"]},"azure:paloalto/NextGenerationFirewallVirtualHubLocalRulestackDestinationNatBackendConfig:NextGenerationFirewallVirtualHubLocalRulestackDestinationNatBackendConfig":{"properties":{"port":{"type":"integer","description":"The port number to send traffic to.\n"},"publicIpAddress":{"type":"string","description":"The Public IP Address to send the traffic to.\n"}},"type":"object","required":["port","publicIpAddress"]},"azure:paloalto/NextGenerationFirewallVirtualHubLocalRulestackDestinationNatFrontendConfig:NextGenerationFirewallVirtualHubLocalRulestackDestinationNatFrontendConfig":{"properties":{"port":{"type":"integer","description":"The port on which traffic will be receiveed.\n"},"publicIpAddressId":{"type":"string","description":"The ID of the Public IP Address resource the traffic will be received on.\n"}},"type":"object","required":["port","publicIpAddressId"]},"azure:paloalto/NextGenerationFirewallVirtualHubLocalRulestackDnsSettings:NextGenerationFirewallVirtualHubLocalRulestackDnsSettings":{"properties":{"azureDnsServers":{"type":"array","items":{"type":"string"}},"dnsServers":{"type":"array","items":{"type":"string"},"description":"Specifies a list of DNS servers to proxy. Conflicts with `dns_settings[0].use_azure_dns`.\n"},"useAzureDns":{"type":"boolean","description":"Should Azure DNS servers be used? Conflicts with `dns_settings[0].dns_servers`. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["azureDnsServers"]}}},"azure:paloalto/NextGenerationFirewallVirtualHubLocalRulestackNetworkProfile:NextGenerationFirewallVirtualHubLocalRulestackNetworkProfile":{"properties":{"egressNatIpAddressIds":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Public IP IDs to use for Egress NAT.\n"},"egressNatIpAddresses":{"type":"array","items":{"type":"string"}},"ipOfTrustForUserDefinedRoutes":{"type":"string"},"networkVirtualApplianceId":{"type":"string","description":"The ID of the Palo Alto Network Virtual Appliance in the VHub. Changing this forces a new Palo Alto Next Generation Firewall VHub Local Rulestack to be created.\n","willReplaceOnChanges":true},"publicIpAddressIds":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Public IP IDs to use for this Next Generation Firewall.\n"},"publicIpAddresses":{"type":"array","items":{"type":"string"}},"trustedAddressRanges":{"type":"array","items":{"type":"string"},"description":"Specifies a list of trusted ranges to use for the Network.\n"},"trustedSubnetId":{"type":"string"},"untrustedSubnetId":{"type":"string"},"virtualHubId":{"type":"string","description":"The ID of the Virtual Hub this Next generation Fireall will be deployed in. Changing this forces a new Palo Alto Next Generation Firewall VHub Local Rulestack to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["networkVirtualApplianceId","publicIpAddressIds","virtualHubId"],"language":{"nodejs":{"requiredOutputs":["egressNatIpAddresses","ipOfTrustForUserDefinedRoutes","networkVirtualApplianceId","publicIpAddressIds","publicIpAddresses","trustedSubnetId","untrustedSubnetId","virtualHubId"]}}},"azure:paloalto/NextGenerationFirewallVirtualHubPanoramaDestinationNat:NextGenerationFirewallVirtualHubPanoramaDestinationNat":{"properties":{"backendConfig":{"$ref":"#/types/azure:paloalto/NextGenerationFirewallVirtualHubPanoramaDestinationNatBackendConfig:NextGenerationFirewallVirtualHubPanoramaDestinationNatBackendConfig","description":"A \u003cspan pulumi-lang-nodejs=\"`backendConfig`\" pulumi-lang-dotnet=\"`BackendConfig`\" pulumi-lang-go=\"`backendConfig`\" pulumi-lang-python=\"`backend_config`\" pulumi-lang-yaml=\"`backendConfig`\" pulumi-lang-java=\"`backendConfig`\"\u003e`backend_config`\u003c/span\u003e block as defined above.\n"},"frontendConfig":{"$ref":"#/types/azure:paloalto/NextGenerationFirewallVirtualHubPanoramaDestinationNatFrontendConfig:NextGenerationFirewallVirtualHubPanoramaDestinationNatFrontendConfig","description":"A \u003cspan pulumi-lang-nodejs=\"`frontendConfig`\" pulumi-lang-dotnet=\"`FrontendConfig`\" pulumi-lang-go=\"`frontendConfig`\" pulumi-lang-python=\"`frontend_config`\" pulumi-lang-yaml=\"`frontendConfig`\" pulumi-lang-java=\"`frontendConfig`\"\u003e`frontend_config`\u003c/span\u003e block as defined below.\n"},"name":{"type":"string","description":"The name which should be used for this NAT.\n"},"protocol":{"type":"string","description":"The protocol used for this Destination NAT. Possible values include `TCP` and `UDP`.\n"}},"type":"object","required":["name","protocol"]},"azure:paloalto/NextGenerationFirewallVirtualHubPanoramaDestinationNatBackendConfig:NextGenerationFirewallVirtualHubPanoramaDestinationNatBackendConfig":{"properties":{"port":{"type":"integer","description":"The port number to send traffic to.\n"},"publicIpAddress":{"type":"string","description":"The Public IP Address to send the traffic to.\n"}},"type":"object","required":["port","publicIpAddress"]},"azure:paloalto/NextGenerationFirewallVirtualHubPanoramaDestinationNatFrontendConfig:NextGenerationFirewallVirtualHubPanoramaDestinationNatFrontendConfig":{"properties":{"port":{"type":"integer","description":"The port on which traffic will be receiveed.\n"},"publicIpAddressId":{"type":"string","description":"The ID of the Public IP Address resource the traffic will be received on.\n"}},"type":"object","required":["port","publicIpAddressId"]},"azure:paloalto/NextGenerationFirewallVirtualHubPanoramaDnsSettings:NextGenerationFirewallVirtualHubPanoramaDnsSettings":{"properties":{"azureDnsServers":{"type":"array","items":{"type":"string"}},"dnsServers":{"type":"array","items":{"type":"string"},"description":"Specifies a list of DNS servers to proxy. Conflicts with `dns_settings[0].use_azure_dns`.\n"},"useAzureDns":{"type":"boolean","description":"Should Azure DNS servers be used? Conflicts with `dns_settings[0].dns_servers`. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["azureDnsServers"]}}},"azure:paloalto/NextGenerationFirewallVirtualHubPanoramaNetworkProfile:NextGenerationFirewallVirtualHubPanoramaNetworkProfile":{"properties":{"egressNatIpAddressIds":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Public IP IDs to use for Egress NAT.\n"},"egressNatIpAddresses":{"type":"array","items":{"type":"string"}},"ipOfTrustForUserDefinedRoutes":{"type":"string"},"networkVirtualApplianceId":{"type":"string","description":"The ID of the Palo Alto Network Virtual Appliance in the VHub. Changing this forces a new Palo Alto Next Generation Firewall VHub Panorama to be created.\n","willReplaceOnChanges":true},"publicIpAddressIds":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Public IP IDs to use for this Next Generation Firewall.\n"},"publicIpAddresses":{"type":"array","items":{"type":"string"}},"trustedAddressRanges":{"type":"array","items":{"type":"string"},"description":"Specifies a list of trusted ranges to use for the Network.\n"},"trustedSubnetId":{"type":"string"},"untrustedSubnetId":{"type":"string"},"virtualHubId":{"type":"string","description":"The ID of the Virtual Hub this Next generation Fireall will be deployed in. Changing this forces a new Palo Alto Next Generation Firewall VHub Local Rulestack to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["networkVirtualApplianceId","publicIpAddressIds","virtualHubId"],"language":{"nodejs":{"requiredOutputs":["egressNatIpAddresses","ipOfTrustForUserDefinedRoutes","networkVirtualApplianceId","publicIpAddressIds","publicIpAddresses","trustedSubnetId","untrustedSubnetId","virtualHubId"]}}},"azure:paloalto/NextGenerationFirewallVirtualHubPanoramaPanorama:NextGenerationFirewallVirtualHubPanoramaPanorama":{"properties":{"deviceGroupName":{"type":"string"},"hostName":{"type":"string"},"name":{"type":"string","description":"The name which should be used for this Palo Alto Next Generation Firewall VHub Panorama. Changing this forces a new Palo Alto Next Generation Firewall VHub Panorama to be created.\n"},"panoramaServer1":{"type":"string"},"panoramaServer2":{"type":"string"},"templateName":{"type":"string"},"virtualMachineSshKey":{"type":"string","secret":true}},"type":"object","language":{"nodejs":{"requiredOutputs":["deviceGroupName","hostName","name","panoramaServer1","panoramaServer2","templateName","virtualMachineSshKey"]}}},"azure:paloalto/NextGenerationFirewallVirtualHubStrataCloudManagerDestinationNat:NextGenerationFirewallVirtualHubStrataCloudManagerDestinationNat":{"properties":{"backendConfig":{"$ref":"#/types/azure:paloalto/NextGenerationFirewallVirtualHubStrataCloudManagerDestinationNatBackendConfig:NextGenerationFirewallVirtualHubStrataCloudManagerDestinationNatBackendConfig","description":"One or more \u003cspan pulumi-lang-nodejs=\"`backendConfig`\" pulumi-lang-dotnet=\"`BackendConfig`\" pulumi-lang-go=\"`backendConfig`\" pulumi-lang-python=\"`backend_config`\" pulumi-lang-yaml=\"`backendConfig`\" pulumi-lang-java=\"`backendConfig`\"\u003e`backend_config`\u003c/span\u003e block as defined below.\n"},"frontendConfig":{"$ref":"#/types/azure:paloalto/NextGenerationFirewallVirtualHubStrataCloudManagerDestinationNatFrontendConfig:NextGenerationFirewallVirtualHubStrataCloudManagerDestinationNatFrontendConfig","description":"One or more \u003cspan pulumi-lang-nodejs=\"`frontendConfig`\" pulumi-lang-dotnet=\"`FrontendConfig`\" pulumi-lang-go=\"`frontendConfig`\" pulumi-lang-python=\"`frontend_config`\" pulumi-lang-yaml=\"`frontendConfig`\" pulumi-lang-java=\"`frontendConfig`\"\u003e`frontend_config`\u003c/span\u003e block as defined below.\n"},"name":{"type":"string","description":"The name which should be used for this Destination NAT rule.\n"},"protocol":{"type":"string","description":"The protocol used for this Destination NAT. Possible values include `TCP` and `UDP`.\n"}},"type":"object","required":["name","protocol"]},"azure:paloalto/NextGenerationFirewallVirtualHubStrataCloudManagerDestinationNatBackendConfig:NextGenerationFirewallVirtualHubStrataCloudManagerDestinationNatBackendConfig":{"properties":{"port":{"type":"integer","description":"The port number to send traffic to.\n"},"publicIpAddress":{"type":"string","description":"The public IP Address to send the traffic to.\n"}},"type":"object","required":["port","publicIpAddress"]},"azure:paloalto/NextGenerationFirewallVirtualHubStrataCloudManagerDestinationNatFrontendConfig:NextGenerationFirewallVirtualHubStrataCloudManagerDestinationNatFrontendConfig":{"properties":{"port":{"type":"integer","description":"The port on which traffic will be received.\n"},"publicIpAddressId":{"type":"string","description":"The ID of the Public IP Address resource the traffic will be received on.\n"}},"type":"object","required":["port","publicIpAddressId"]},"azure:paloalto/NextGenerationFirewallVirtualHubStrataCloudManagerDnsSettings:NextGenerationFirewallVirtualHubStrataCloudManagerDnsSettings":{"properties":{"azureDnsServers":{"type":"array","items":{"type":"string"}},"dnsServers":{"type":"array","items":{"type":"string"},"description":"A list of DNS servers to use. Conflicts with `dns_settings[0].use_azure_dns`.\n"},"useAzureDns":{"type":"boolean","description":"Should Azure DNS servers be used? Conflicts with `dns_settings[0].dns_servers`. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["azureDnsServers"]}}},"azure:paloalto/NextGenerationFirewallVirtualHubStrataCloudManagerIdentity:NextGenerationFirewallVirtualHubStrataCloudManagerIdentity":{"properties":{"identityIds":{"type":"array","items":{"type":"string"},"description":"A list of User Assigned Managed Identity IDs to be assigned to this App Configuration.\n"},"type":{"type":"string","description":"The type of Managed Service Identity that should be configured on this App Configuration. The only possible value is `UserAssigned`.\n"}},"type":"object","required":["identityIds","type"]},"azure:paloalto/NextGenerationFirewallVirtualHubStrataCloudManagerNetworkProfile:NextGenerationFirewallVirtualHubStrataCloudManagerNetworkProfile":{"properties":{"egressNatIpAddressIds":{"type":"array","items":{"type":"string"},"description":"A list of Public IP IDs to use for Egress NAT.\n"},"egressNatIpAddresses":{"type":"array","items":{"type":"string"},"description":"A list of Egress NAT IP addresses.\n"},"ipOfTrustForUserDefinedRoutes":{"type":"string","description":"The IP of trusted subnet for UDR.\n"},"networkVirtualApplianceId":{"type":"string","description":"The ID of the Palo Alto Network Virtual Appliance in the VHub. Changing this forces a new Palo Alto Next Generation Firewall Virtual Hub Strata Cloud Manager to be created.\n","willReplaceOnChanges":true},"publicIpAddressIds":{"type":"array","items":{"type":"string"},"description":"A list of Public IP IDs to use for this Next Generation Firewall.\n"},"publicIpAddresses":{"type":"array","items":{"type":"string"},"description":"A list of public IPs associated with this Next Generation Firewall.\n"},"trustedAddressRanges":{"type":"array","items":{"type":"string"},"description":"A list of trusted ranges to use for the Network.\n"},"trustedSubnetId":{"type":"string","description":"The ID of trusted subnet.\n"},"untrustedSubnetId":{"type":"string","description":"The ID of untrusted subnet.\n"},"virtualHubId":{"type":"string","description":"The ID of the Virtual Hub this Next Generation Firewall will be deployed in. Changing this forces a new Palo Alto Next Generation Firewall Virtual Hub Strata Cloud Manager to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["networkVirtualApplianceId","publicIpAddressIds","virtualHubId"],"language":{"nodejs":{"requiredOutputs":["egressNatIpAddresses","ipOfTrustForUserDefinedRoutes","networkVirtualApplianceId","publicIpAddressIds","publicIpAddresses","trustedSubnetId","untrustedSubnetId","virtualHubId"]}}},"azure:paloalto/NextGenerationFirewallVirtualNetworkLocalRulestackDestinationNat:NextGenerationFirewallVirtualNetworkLocalRulestackDestinationNat":{"properties":{"backendConfig":{"$ref":"#/types/azure:paloalto/NextGenerationFirewallVirtualNetworkLocalRulestackDestinationNatBackendConfig:NextGenerationFirewallVirtualNetworkLocalRulestackDestinationNatBackendConfig","description":"A \u003cspan pulumi-lang-nodejs=\"`backendConfig`\" pulumi-lang-dotnet=\"`BackendConfig`\" pulumi-lang-go=\"`backendConfig`\" pulumi-lang-python=\"`backend_config`\" pulumi-lang-yaml=\"`backendConfig`\" pulumi-lang-java=\"`backendConfig`\"\u003e`backend_config`\u003c/span\u003e block as defined above.\n"},"frontendConfig":{"$ref":"#/types/azure:paloalto/NextGenerationFirewallVirtualNetworkLocalRulestackDestinationNatFrontendConfig:NextGenerationFirewallVirtualNetworkLocalRulestackDestinationNatFrontendConfig","description":"A \u003cspan pulumi-lang-nodejs=\"`frontendConfig`\" pulumi-lang-dotnet=\"`FrontendConfig`\" pulumi-lang-go=\"`frontendConfig`\" pulumi-lang-python=\"`frontend_config`\" pulumi-lang-yaml=\"`frontendConfig`\" pulumi-lang-java=\"`frontendConfig`\"\u003e`frontend_config`\u003c/span\u003e block as defined below.\n"},"name":{"type":"string","description":"The name which should be used for this Destination NAT.\n"},"protocol":{"type":"string","description":"The Protocol for this Destination NAT configuration. Possible values include `TCP` and `UDP`.\n"}},"type":"object","required":["name","protocol"]},"azure:paloalto/NextGenerationFirewallVirtualNetworkLocalRulestackDestinationNatBackendConfig:NextGenerationFirewallVirtualNetworkLocalRulestackDestinationNatBackendConfig":{"properties":{"port":{"type":"integer","description":"The port number to send traffic to.\n"},"publicIpAddress":{"type":"string","description":"The IP Address to send the traffic to.\n"}},"type":"object","required":["port","publicIpAddress"]},"azure:paloalto/NextGenerationFirewallVirtualNetworkLocalRulestackDestinationNatFrontendConfig:NextGenerationFirewallVirtualNetworkLocalRulestackDestinationNatFrontendConfig":{"properties":{"port":{"type":"integer","description":"The port on which to receive traffic.\n"},"publicIpAddressId":{"type":"string","description":"The ID of the Public IP Address on which to receive traffic. \n\n\u003e **Note:** This must be an Azure Public IP address ID also specified in the \u003cspan pulumi-lang-nodejs=\"`publicIpAddressIds`\" pulumi-lang-dotnet=\"`PublicIpAddressIds`\" pulumi-lang-go=\"`publicIpAddressIds`\" pulumi-lang-python=\"`public_ip_address_ids`\" pulumi-lang-yaml=\"`publicIpAddressIds`\" pulumi-lang-java=\"`publicIpAddressIds`\"\u003e`public_ip_address_ids`\u003c/span\u003e list.\n"}},"type":"object","required":["port","publicIpAddressId"]},"azure:paloalto/NextGenerationFirewallVirtualNetworkLocalRulestackDnsSettings:NextGenerationFirewallVirtualNetworkLocalRulestackDnsSettings":{"properties":{"azureDnsServers":{"type":"array","items":{"type":"string"}},"dnsServers":{"type":"array","items":{"type":"string"},"description":"Specifies a list of DNS servers to use. Conflicts with `dns_settings[0].use_azure_dns`.\n"},"useAzureDns":{"type":"boolean","description":"Should the Firewall use Azure Supplied DNS servers. Conflicts with `dns_settings[0].dns_servers`. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["azureDnsServers"]}}},"azure:paloalto/NextGenerationFirewallVirtualNetworkLocalRulestackNetworkProfile:NextGenerationFirewallVirtualNetworkLocalRulestackNetworkProfile":{"properties":{"egressNatIpAddressIds":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Azure Public IP Address IDs that can be used for Egress (Source) Network Address Translation.\n"},"egressNatIpAddresses":{"type":"array","items":{"type":"string"}},"publicIpAddressIds":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Azure Public IP Address IDs.\n"},"publicIpAddresses":{"type":"array","items":{"type":"string"}},"trustedAddressRanges":{"type":"array","items":{"type":"string"},"description":"Specifies a list of trusted ranges to use for the Network.\n"},"vnetConfiguration":{"$ref":"#/types/azure:paloalto/NextGenerationFirewallVirtualNetworkLocalRulestackNetworkProfileVnetConfiguration:NextGenerationFirewallVirtualNetworkLocalRulestackNetworkProfileVnetConfiguration","description":"A \u003cspan pulumi-lang-nodejs=\"`vnetConfiguration`\" pulumi-lang-dotnet=\"`VnetConfiguration`\" pulumi-lang-go=\"`vnetConfiguration`\" pulumi-lang-python=\"`vnet_configuration`\" pulumi-lang-yaml=\"`vnetConfiguration`\" pulumi-lang-java=\"`vnetConfiguration`\"\u003e`vnet_configuration`\u003c/span\u003e block as defined below.\n"}},"type":"object","required":["publicIpAddressIds","vnetConfiguration"],"language":{"nodejs":{"requiredOutputs":["egressNatIpAddresses","publicIpAddressIds","publicIpAddresses","vnetConfiguration"]}}},"azure:paloalto/NextGenerationFirewallVirtualNetworkLocalRulestackNetworkProfileVnetConfiguration:NextGenerationFirewallVirtualNetworkLocalRulestackNetworkProfileVnetConfiguration":{"properties":{"ipOfTrustForUserDefinedRoutes":{"type":"string"},"trustedSubnetId":{"type":"string","description":"The ID of the Trust subnet.\n"},"untrustedSubnetId":{"type":"string","description":"The ID of the UnTrust subnet.\n"},"virtualNetworkId":{"type":"string","description":"The ID of the Virtual Network.\n"}},"type":"object","required":["virtualNetworkId"],"language":{"nodejs":{"requiredOutputs":["ipOfTrustForUserDefinedRoutes","virtualNetworkId"]}}},"azure:paloalto/NextGenerationFirewallVirtualNetworkPanoramaDestinationNat:NextGenerationFirewallVirtualNetworkPanoramaDestinationNat":{"properties":{"backendConfig":{"$ref":"#/types/azure:paloalto/NextGenerationFirewallVirtualNetworkPanoramaDestinationNatBackendConfig:NextGenerationFirewallVirtualNetworkPanoramaDestinationNatBackendConfig","description":"A \u003cspan pulumi-lang-nodejs=\"`backendConfig`\" pulumi-lang-dotnet=\"`BackendConfig`\" pulumi-lang-go=\"`backendConfig`\" pulumi-lang-python=\"`backend_config`\" pulumi-lang-yaml=\"`backendConfig`\" pulumi-lang-java=\"`backendConfig`\"\u003e`backend_config`\u003c/span\u003e block as defined above.\n"},"frontendConfig":{"$ref":"#/types/azure:paloalto/NextGenerationFirewallVirtualNetworkPanoramaDestinationNatFrontendConfig:NextGenerationFirewallVirtualNetworkPanoramaDestinationNatFrontendConfig","description":"A \u003cspan pulumi-lang-nodejs=\"`frontendConfig`\" pulumi-lang-dotnet=\"`FrontendConfig`\" pulumi-lang-go=\"`frontendConfig`\" pulumi-lang-python=\"`frontend_config`\" pulumi-lang-yaml=\"`frontendConfig`\" pulumi-lang-java=\"`frontendConfig`\"\u003e`frontend_config`\u003c/span\u003e block as defined below.\n"},"name":{"type":"string","description":"The name which should be used for this Destination NAT.\n"},"protocol":{"type":"string","description":"The Protocol for this Destination NAT configuration. Possible values include `TCP` and `UDP`.\n"}},"type":"object","required":["name","protocol"]},"azure:paloalto/NextGenerationFirewallVirtualNetworkPanoramaDestinationNatBackendConfig:NextGenerationFirewallVirtualNetworkPanoramaDestinationNatBackendConfig":{"properties":{"port":{"type":"integer","description":"The port number to send traffic to.\n"},"publicIpAddress":{"type":"string","description":"The IP Address to send the traffic to.\n"}},"type":"object","required":["port","publicIpAddress"]},"azure:paloalto/NextGenerationFirewallVirtualNetworkPanoramaDestinationNatFrontendConfig:NextGenerationFirewallVirtualNetworkPanoramaDestinationNatFrontendConfig":{"properties":{"port":{"type":"integer","description":"The port on which to receive traffic.\n"},"publicIpAddressId":{"type":"string","description":"The ID of the Public IP Address on which to receive traffic.\n\n\u003e **Note:** This must be an Azure Public IP address ID also specified in the \u003cspan pulumi-lang-nodejs=\"`publicIpAddressIds`\" pulumi-lang-dotnet=\"`PublicIpAddressIds`\" pulumi-lang-go=\"`publicIpAddressIds`\" pulumi-lang-python=\"`public_ip_address_ids`\" pulumi-lang-yaml=\"`publicIpAddressIds`\" pulumi-lang-java=\"`publicIpAddressIds`\"\u003e`public_ip_address_ids`\u003c/span\u003e list.\n"}},"type":"object","required":["port","publicIpAddressId"]},"azure:paloalto/NextGenerationFirewallVirtualNetworkPanoramaDnsSettings:NextGenerationFirewallVirtualNetworkPanoramaDnsSettings":{"properties":{"azureDnsServers":{"type":"array","items":{"type":"string"}},"dnsServers":{"type":"array","items":{"type":"string"},"description":"Specifies a list of DNS servers to use. Conflicts with `dns_settings[0].use_azure_dns`.\n"},"useAzureDns":{"type":"boolean","description":"Should the Firewall use Azure Supplied DNS servers. Conflicts with `dns_settings[0].dns_servers`. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["azureDnsServers"]}}},"azure:paloalto/NextGenerationFirewallVirtualNetworkPanoramaNetworkProfile:NextGenerationFirewallVirtualNetworkPanoramaNetworkProfile":{"properties":{"egressNatIpAddressIds":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Azure Public IP Address IDs that can be used for Egress (Source) Network Address Translation.\n"},"egressNatIpAddresses":{"type":"array","items":{"type":"string"}},"publicIpAddressIds":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Azure Public IP Address IDs.\n"},"publicIpAddresses":{"type":"array","items":{"type":"string"}},"trustedAddressRanges":{"type":"array","items":{"type":"string"},"description":"Specifies a list of trusted ranges to use for the Network.\n"},"vnetConfiguration":{"$ref":"#/types/azure:paloalto/NextGenerationFirewallVirtualNetworkPanoramaNetworkProfileVnetConfiguration:NextGenerationFirewallVirtualNetworkPanoramaNetworkProfileVnetConfiguration","description":"A \u003cspan pulumi-lang-nodejs=\"`vnetConfiguration`\" pulumi-lang-dotnet=\"`VnetConfiguration`\" pulumi-lang-go=\"`vnetConfiguration`\" pulumi-lang-python=\"`vnet_configuration`\" pulumi-lang-yaml=\"`vnetConfiguration`\" pulumi-lang-java=\"`vnetConfiguration`\"\u003e`vnet_configuration`\u003c/span\u003e block as defined below.\n"}},"type":"object","required":["publicIpAddressIds","vnetConfiguration"],"language":{"nodejs":{"requiredOutputs":["egressNatIpAddresses","publicIpAddressIds","publicIpAddresses","vnetConfiguration"]}}},"azure:paloalto/NextGenerationFirewallVirtualNetworkPanoramaNetworkProfileVnetConfiguration:NextGenerationFirewallVirtualNetworkPanoramaNetworkProfileVnetConfiguration":{"properties":{"ipOfTrustForUserDefinedRoutes":{"type":"string"},"trustedSubnetId":{"type":"string","description":"The ID of the Trust subnet.\n"},"untrustedSubnetId":{"type":"string","description":"The ID of the UnTrust subnet.\n"},"virtualNetworkId":{"type":"string","description":"The ID of the Virtual Network.\n"}},"type":"object","required":["virtualNetworkId"],"language":{"nodejs":{"requiredOutputs":["ipOfTrustForUserDefinedRoutes","virtualNetworkId"]}}},"azure:paloalto/NextGenerationFirewallVirtualNetworkPanoramaPanorama:NextGenerationFirewallVirtualNetworkPanoramaPanorama":{"properties":{"deviceGroupName":{"type":"string","description":"The Device Group Name to which this Firewall Resource is registered.\n"},"hostName":{"type":"string","description":"The Host Name of this Firewall Resource.\n"},"name":{"type":"string","description":"The name which should be used for this Palo Alto Next Generation Firewall Virtual Network Panorama. Changing this forces a new Palo Alto Next Generation Firewall Virtual Network Panorama to be created.\n"},"panoramaServer1":{"type":"string","description":"The name of the First Panorana server.\n"},"panoramaServer2":{"type":"string","description":"The name of the Second Panorana server.\n"},"templateName":{"type":"string","description":"The name of the Panorama Template applied to this Firewall Resource.\n"},"virtualMachineSshKey":{"type":"string","description":"The SSH Key to connect to the Firewall Resource.\n","secret":true}},"type":"object","language":{"nodejs":{"requiredOutputs":["deviceGroupName","hostName","name","panoramaServer1","panoramaServer2","templateName","virtualMachineSshKey"]}}},"azure:paloalto/NextGenerationFirewallVirtualNetworkStrataCloudManagerDestinationNat:NextGenerationFirewallVirtualNetworkStrataCloudManagerDestinationNat":{"properties":{"backendConfig":{"$ref":"#/types/azure:paloalto/NextGenerationFirewallVirtualNetworkStrataCloudManagerDestinationNatBackendConfig:NextGenerationFirewallVirtualNetworkStrataCloudManagerDestinationNatBackendConfig","description":"One or more \u003cspan pulumi-lang-nodejs=\"`backendConfig`\" pulumi-lang-dotnet=\"`BackendConfig`\" pulumi-lang-go=\"`backendConfig`\" pulumi-lang-python=\"`backend_config`\" pulumi-lang-yaml=\"`backendConfig`\" pulumi-lang-java=\"`backendConfig`\"\u003e`backend_config`\u003c/span\u003e block as defined below.\n"},"frontendConfig":{"$ref":"#/types/azure:paloalto/NextGenerationFirewallVirtualNetworkStrataCloudManagerDestinationNatFrontendConfig:NextGenerationFirewallVirtualNetworkStrataCloudManagerDestinationNatFrontendConfig","description":"One or more \u003cspan pulumi-lang-nodejs=\"`frontendConfig`\" pulumi-lang-dotnet=\"`FrontendConfig`\" pulumi-lang-go=\"`frontendConfig`\" pulumi-lang-python=\"`frontend_config`\" pulumi-lang-yaml=\"`frontendConfig`\" pulumi-lang-java=\"`frontendConfig`\"\u003e`frontend_config`\u003c/span\u003e block as defined below.\n"},"name":{"type":"string","description":"The name which should be used for this NAT.\n"},"protocol":{"type":"string","description":"The protocol used for this Destination NAT. Possible values include `TCP` and `UDP`.\n"}},"type":"object","required":["name","protocol"]},"azure:paloalto/NextGenerationFirewallVirtualNetworkStrataCloudManagerDestinationNatBackendConfig:NextGenerationFirewallVirtualNetworkStrataCloudManagerDestinationNatBackendConfig":{"properties":{"port":{"type":"integer","description":"The port number to send traffic to.\n"},"publicIpAddress":{"type":"string","description":"The public IP Address to send the traffic to.\n"}},"type":"object","required":["port","publicIpAddress"]},"azure:paloalto/NextGenerationFirewallVirtualNetworkStrataCloudManagerDestinationNatFrontendConfig:NextGenerationFirewallVirtualNetworkStrataCloudManagerDestinationNatFrontendConfig":{"properties":{"port":{"type":"integer","description":"The port on which traffic will be received.\n"},"publicIpAddressId":{"type":"string","description":"The ID of the Public IP Address resource the traffic will be received on.\n"}},"type":"object","required":["port","publicIpAddressId"]},"azure:paloalto/NextGenerationFirewallVirtualNetworkStrataCloudManagerDnsSettings:NextGenerationFirewallVirtualNetworkStrataCloudManagerDnsSettings":{"properties":{"azureDnsServers":{"type":"array","items":{"type":"string"}},"dnsServers":{"type":"array","items":{"type":"string"},"description":"A list of DNS servers to use. Conflicts with `dns_settings[0].use_azure_dns`.\n"},"useAzureDns":{"type":"boolean","description":"Should the Firewall use Azure Supplied DNS servers. Conflicts with `dns_settings[0].dns_servers`. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["azureDnsServers"]}}},"azure:paloalto/NextGenerationFirewallVirtualNetworkStrataCloudManagerIdentity:NextGenerationFirewallVirtualNetworkStrataCloudManagerIdentity":{"properties":{"identityIds":{"type":"array","items":{"type":"string"},"description":"A list of User Assigned Managed Identity IDs to be assigned to this App Configuration.\n"},"type":{"type":"string","description":"The type of Managed Service Identity that should be configured on this App Configuration. The only possible value is `UserAssigned`.\n"}},"type":"object","required":["identityIds","type"]},"azure:paloalto/NextGenerationFirewallVirtualNetworkStrataCloudManagerNetworkProfile:NextGenerationFirewallVirtualNetworkStrataCloudManagerNetworkProfile":{"properties":{"egressNatIpAddressIds":{"type":"array","items":{"type":"string"},"description":"A list of Azure Public IP Address IDs that can be used for Egress (Source) Network Address Translation.\n"},"egressNatIpAddresses":{"type":"array","items":{"type":"string"},"description":"A list of Egress NAT IP addresses.\n"},"publicIpAddressIds":{"type":"array","items":{"type":"string"},"description":"A list of Azure Public IP Address IDs.\n"},"publicIpAddresses":{"type":"array","items":{"type":"string"},"description":"A list of public IPs associated with this Next Generation Firewall.\n"},"trustedAddressRanges":{"type":"array","items":{"type":"string"},"description":"A list of trusted ranges to use for the Network.\n"},"vnetConfiguration":{"$ref":"#/types/azure:paloalto/NextGenerationFirewallVirtualNetworkStrataCloudManagerNetworkProfileVnetConfiguration:NextGenerationFirewallVirtualNetworkStrataCloudManagerNetworkProfileVnetConfiguration","description":"A \u003cspan pulumi-lang-nodejs=\"`vnetConfiguration`\" pulumi-lang-dotnet=\"`VnetConfiguration`\" pulumi-lang-go=\"`vnetConfiguration`\" pulumi-lang-python=\"`vnet_configuration`\" pulumi-lang-yaml=\"`vnetConfiguration`\" pulumi-lang-java=\"`vnetConfiguration`\"\u003e`vnet_configuration`\u003c/span\u003e block as defined below.\n"}},"type":"object","required":["publicIpAddressIds","vnetConfiguration"],"language":{"nodejs":{"requiredOutputs":["egressNatIpAddresses","publicIpAddressIds","publicIpAddresses","vnetConfiguration"]}}},"azure:paloalto/NextGenerationFirewallVirtualNetworkStrataCloudManagerNetworkProfileVnetConfiguration:NextGenerationFirewallVirtualNetworkStrataCloudManagerNetworkProfileVnetConfiguration":{"properties":{"ipOfTrustForUserDefinedRoutes":{"type":"string","description":"The IP of trusted subnet for UDR.\n"},"trustedSubnetId":{"type":"string","description":"The ID of the Trust subnet.\n"},"untrustedSubnetId":{"type":"string","description":"The ID of the UnTrust subnet.\n"},"virtualNetworkId":{"type":"string","description":"The ID of the Virtual Network.\n"}},"type":"object","required":["virtualNetworkId"],"language":{"nodejs":{"requiredOutputs":["ipOfTrustForUserDefinedRoutes","virtualNetworkId"]}}},"azure:pim/ActiveRoleAssignmentSchedule:ActiveRoleAssignmentSchedule":{"properties":{"expiration":{"$ref":"#/types/azure:pim/ActiveRoleAssignmentScheduleExpiration:ActiveRoleAssignmentScheduleExpiration","description":"An \u003cspan pulumi-lang-nodejs=\"`expiration`\" pulumi-lang-dotnet=\"`Expiration`\" pulumi-lang-go=\"`expiration`\" pulumi-lang-python=\"`expiration`\" pulumi-lang-yaml=\"`expiration`\" pulumi-lang-java=\"`expiration`\"\u003e`expiration`\u003c/span\u003e block as defined above.\n"},"startDateTime":{"type":"string","description":"The start date/time of the role assignment. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","language":{"nodejs":{"requiredOutputs":["startDateTime"]}}},"azure:pim/ActiveRoleAssignmentScheduleExpiration:ActiveRoleAssignmentScheduleExpiration":{"properties":{"durationDays":{"type":"integer","description":"The duration of the role assignment in days. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"durationHours":{"type":"integer","description":"The duration of the role assignment in hours. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"endDateTime":{"type":"string","description":"The end date/time of the role assignment. Changing this forces a new resource to be created.\n\n\u003e **Note:** Only one of \u003cspan pulumi-lang-nodejs=\"`durationDays`\" pulumi-lang-dotnet=\"`DurationDays`\" pulumi-lang-go=\"`durationDays`\" pulumi-lang-python=\"`duration_days`\" pulumi-lang-yaml=\"`durationDays`\" pulumi-lang-java=\"`durationDays`\"\u003e`duration_days`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`durationHours`\" pulumi-lang-dotnet=\"`DurationHours`\" pulumi-lang-go=\"`durationHours`\" pulumi-lang-python=\"`duration_hours`\" pulumi-lang-yaml=\"`durationHours`\" pulumi-lang-java=\"`durationHours`\"\u003e`duration_hours`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`endDateTime`\" pulumi-lang-dotnet=\"`EndDateTime`\" pulumi-lang-go=\"`endDateTime`\" pulumi-lang-python=\"`end_date_time`\" pulumi-lang-yaml=\"`endDateTime`\" pulumi-lang-java=\"`endDateTime`\"\u003e`end_date_time`\u003c/span\u003e should be specified.\n","willReplaceOnChanges":true}},"type":"object","language":{"nodejs":{"requiredOutputs":["durationDays","durationHours","endDateTime"]}}},"azure:pim/ActiveRoleAssignmentTicket:ActiveRoleAssignmentTicket":{"properties":{"number":{"type":"string","description":"User-supplied ticket number to be included with the request. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"system":{"type":"string","description":"User-supplied ticket system name to be included with the request. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"},"azure:pim/EligibleRoleAssignmentSchedule:EligibleRoleAssignmentSchedule":{"properties":{"expiration":{"$ref":"#/types/azure:pim/EligibleRoleAssignmentScheduleExpiration:EligibleRoleAssignmentScheduleExpiration","description":"An \u003cspan pulumi-lang-nodejs=\"`expiration`\" pulumi-lang-dotnet=\"`Expiration`\" pulumi-lang-go=\"`expiration`\" pulumi-lang-python=\"`expiration`\" pulumi-lang-yaml=\"`expiration`\" pulumi-lang-java=\"`expiration`\"\u003e`expiration`\u003c/span\u003e block as defined above.\n"},"startDateTime":{"type":"string","description":"The start date/time of the role assignment. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","language":{"nodejs":{"requiredOutputs":["startDateTime"]}}},"azure:pim/EligibleRoleAssignmentScheduleExpiration:EligibleRoleAssignmentScheduleExpiration":{"properties":{"durationDays":{"type":"integer","description":"The duration of the role assignment in days. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"durationHours":{"type":"integer","description":"The duration of the role assignment in hours. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"endDateTime":{"type":"string","description":"The end date/time of the role assignment. Changing this forces a new resource to be created.\n\n\u003e **Note:** Only one of \u003cspan pulumi-lang-nodejs=\"`durationDays`\" pulumi-lang-dotnet=\"`DurationDays`\" pulumi-lang-go=\"`durationDays`\" pulumi-lang-python=\"`duration_days`\" pulumi-lang-yaml=\"`durationDays`\" pulumi-lang-java=\"`durationDays`\"\u003e`duration_days`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`durationHours`\" pulumi-lang-dotnet=\"`DurationHours`\" pulumi-lang-go=\"`durationHours`\" pulumi-lang-python=\"`duration_hours`\" pulumi-lang-yaml=\"`durationHours`\" pulumi-lang-java=\"`durationHours`\"\u003e`duration_hours`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`endDateTime`\" pulumi-lang-dotnet=\"`EndDateTime`\" pulumi-lang-go=\"`endDateTime`\" pulumi-lang-python=\"`end_date_time`\" pulumi-lang-yaml=\"`endDateTime`\" pulumi-lang-java=\"`endDateTime`\"\u003e`end_date_time`\u003c/span\u003e should be specified.\n","willReplaceOnChanges":true}},"type":"object","language":{"nodejs":{"requiredOutputs":["durationDays","durationHours","endDateTime"]}}},"azure:pim/EligibleRoleAssignmentTicket:EligibleRoleAssignmentTicket":{"properties":{"number":{"type":"string","description":"User-supplied ticket number to be included with the request. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"system":{"type":"string","description":"User-supplied ticket system name to be included with the request. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"},"azure:pim/RoleManagementPolicyActivationRules:RoleManagementPolicyActivationRules":{"properties":{"approvalStage":{"$ref":"#/types/azure:pim/RoleManagementPolicyActivationRulesApprovalStage:RoleManagementPolicyActivationRulesApprovalStage","description":"An \u003cspan pulumi-lang-nodejs=\"`approvalStage`\" pulumi-lang-dotnet=\"`ApprovalStage`\" pulumi-lang-go=\"`approvalStage`\" pulumi-lang-python=\"`approval_stage`\" pulumi-lang-yaml=\"`approvalStage`\" pulumi-lang-java=\"`approvalStage`\"\u003e`approval_stage`\u003c/span\u003e block as defined below.\n"},"maximumDuration":{"type":"string","description":"The maximum length of time an activated role can be valid, in an ISO8601 Duration format (e.g. `PT8H`). Valid range is `PT30M` to `PT23H30M`, in 30 minute increments, or `PT1D`. Possible values are `PT30M`, `PT1H`, `PT1H30M`, `PT2H`, `PT2H30M`, `PT3H`, `PT3H30M`, `PT4H`, `PT4H30M`, `PT5H`, `PT5H30M`, `PT6H`, `PT6H30M`, `PT7H`, `PT7H30M`, `PT8H`, `PT8H30M`, `PT9H`, `PT9H30M`, `PT10H`, `PT10H30M`, `PT11H`, `PT11H30M`, `PT12H`, `PT12H30M`, `PT13H`, `PT13H30M`, `PT14H`, `PT14H30M`, `PT15H`, `PT15H30M`, `PT16H`, `PT16H30M`, `PT17H`, `PT17H30M`, `PT18H`, `PT18H30M`, `PT19H`, `PT19H30M`, `PT20H`, `PT20H30M`, `PT21H`, `PT21H30M`, `PT22H`, `PT22H30M`, `PT23H`, `PT23H30M` and `P1D`.\n"},"requireApproval":{"type":"boolean","description":"Is approval required for activation. If \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e an \u003cspan pulumi-lang-nodejs=\"`approvalStage`\" pulumi-lang-dotnet=\"`ApprovalStage`\" pulumi-lang-go=\"`approvalStage`\" pulumi-lang-python=\"`approval_stage`\" pulumi-lang-yaml=\"`approvalStage`\" pulumi-lang-java=\"`approvalStage`\"\u003e`approval_stage`\u003c/span\u003e block must be provided.\n"},"requireJustification":{"type":"boolean","description":"Is a justification required during activation of the role.\n"},"requireMultifactorAuthentication":{"type":"boolean","description":"Is multi-factor authentication required to activate the role. Conflicts with \u003cspan pulumi-lang-nodejs=\"`requiredConditionalAccessAuthenticationContext`\" pulumi-lang-dotnet=\"`RequiredConditionalAccessAuthenticationContext`\" pulumi-lang-go=\"`requiredConditionalAccessAuthenticationContext`\" pulumi-lang-python=\"`required_conditional_access_authentication_context`\" pulumi-lang-yaml=\"`requiredConditionalAccessAuthenticationContext`\" pulumi-lang-java=\"`requiredConditionalAccessAuthenticationContext`\"\u003e`required_conditional_access_authentication_context`\u003c/span\u003e.\n"},"requireTicketInfo":{"type":"boolean","description":"Is ticket information requrired during activation of the role.\n"},"requiredConditionalAccessAuthenticationContext":{"type":"string","description":"The Entra ID Conditional Access context that must be present for activation. Conflicts with \u003cspan pulumi-lang-nodejs=\"`requireMultifactorAuthentication`\" pulumi-lang-dotnet=\"`RequireMultifactorAuthentication`\" pulumi-lang-go=\"`requireMultifactorAuthentication`\" pulumi-lang-python=\"`require_multifactor_authentication`\" pulumi-lang-yaml=\"`requireMultifactorAuthentication`\" pulumi-lang-java=\"`requireMultifactorAuthentication`\"\u003e`require_multifactor_authentication`\u003c/span\u003e.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["approvalStage","maximumDuration","requireApproval","requireJustification","requireMultifactorAuthentication","requireTicketInfo","requiredConditionalAccessAuthenticationContext"]}}},"azure:pim/RoleManagementPolicyActivationRulesApprovalStage:RoleManagementPolicyActivationRulesApprovalStage":{"properties":{"primaryApprovers":{"type":"array","items":{"$ref":"#/types/azure:pim/RoleManagementPolicyActivationRulesApprovalStagePrimaryApprover:RoleManagementPolicyActivationRulesApprovalStagePrimaryApprover"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`primaryApprover`\" pulumi-lang-dotnet=\"`PrimaryApprover`\" pulumi-lang-go=\"`primaryApprover`\" pulumi-lang-python=\"`primary_approver`\" pulumi-lang-yaml=\"`primaryApprover`\" pulumi-lang-java=\"`primaryApprover`\"\u003e`primary_approver`\u003c/span\u003e blocks as defined below.\n"}},"type":"object","required":["primaryApprovers"]},"azure:pim/RoleManagementPolicyActivationRulesApprovalStagePrimaryApprover:RoleManagementPolicyActivationRulesApprovalStagePrimaryApprover":{"properties":{"objectId":{"type":"string","description":"The ID of the object which will act as an approver.\n"},"type":{"type":"string","description":"The type of object acting as an approver. Possible options are `User` and `Group`.\n"}},"type":"object","required":["objectId","type"]},"azure:pim/RoleManagementPolicyActiveAssignmentRules:RoleManagementPolicyActiveAssignmentRules":{"properties":{"expirationRequired":{"type":"boolean","description":"Must an assignment have an expiry date. \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e allows permanent assignment.\n"},"expireAfter":{"type":"string","description":"The maximum length of time an assignment can be valid, as an ISO8601 duration. Permitted values: `P15D`, `P30D`, `P90D`, `P180D`, or `P365D`.\n"},"requireJustification":{"type":"boolean","description":"Is a justification required to create new assignments.\n"},"requireMultifactorAuthentication":{"type":"boolean","description":"Is multi-factor authentication required to create new assignments.\n"},"requireTicketInfo":{"type":"boolean","description":"Is ticket information required to create new assignments.\n\nOne of \u003cspan pulumi-lang-nodejs=\"`expirationRequired`\" pulumi-lang-dotnet=\"`ExpirationRequired`\" pulumi-lang-go=\"`expirationRequired`\" pulumi-lang-python=\"`expiration_required`\" pulumi-lang-yaml=\"`expirationRequired`\" pulumi-lang-java=\"`expirationRequired`\"\u003e`expiration_required`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`expireAfter`\" pulumi-lang-dotnet=\"`ExpireAfter`\" pulumi-lang-go=\"`expireAfter`\" pulumi-lang-python=\"`expire_after`\" pulumi-lang-yaml=\"`expireAfter`\" pulumi-lang-java=\"`expireAfter`\"\u003e`expire_after`\u003c/span\u003e must be provided.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["expirationRequired","expireAfter","requireJustification","requireMultifactorAuthentication","requireTicketInfo"]}}},"azure:pim/RoleManagementPolicyEligibleAssignmentRules:RoleManagementPolicyEligibleAssignmentRules":{"properties":{"expirationRequired":{"type":"boolean","description":"Must an assignment have an expiry date. \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e allows permanent assignment.\n"},"expireAfter":{"type":"string","description":"The maximum length of time an assignment can be valid, as an ISO8601 duration. Permitted values: `P15D`, `P30D`, `P90D`, `P180D`, or `P365D`.\n\nOne of \u003cspan pulumi-lang-nodejs=\"`expirationRequired`\" pulumi-lang-dotnet=\"`ExpirationRequired`\" pulumi-lang-go=\"`expirationRequired`\" pulumi-lang-python=\"`expiration_required`\" pulumi-lang-yaml=\"`expirationRequired`\" pulumi-lang-java=\"`expirationRequired`\"\u003e`expiration_required`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`expireAfter`\" pulumi-lang-dotnet=\"`ExpireAfter`\" pulumi-lang-go=\"`expireAfter`\" pulumi-lang-python=\"`expire_after`\" pulumi-lang-yaml=\"`expireAfter`\" pulumi-lang-java=\"`expireAfter`\"\u003e`expire_after`\u003c/span\u003e must be provided.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["expirationRequired","expireAfter"]}}},"azure:pim/RoleManagementPolicyNotificationRules:RoleManagementPolicyNotificationRules":{"properties":{"activeAssignments":{"$ref":"#/types/azure:pim/RoleManagementPolicyNotificationRulesActiveAssignments:RoleManagementPolicyNotificationRulesActiveAssignments","description":"A \u003cspan pulumi-lang-nodejs=\"`notificationTarget`\" pulumi-lang-dotnet=\"`NotificationTarget`\" pulumi-lang-go=\"`notificationTarget`\" pulumi-lang-python=\"`notification_target`\" pulumi-lang-yaml=\"`notificationTarget`\" pulumi-lang-java=\"`notificationTarget`\"\u003e`notification_target`\u003c/span\u003e block as defined below to configure notfications on active role assignments.\n"},"eligibleActivations":{"$ref":"#/types/azure:pim/RoleManagementPolicyNotificationRulesEligibleActivations:RoleManagementPolicyNotificationRulesEligibleActivations","description":"A \u003cspan pulumi-lang-nodejs=\"`notificationTarget`\" pulumi-lang-dotnet=\"`NotificationTarget`\" pulumi-lang-go=\"`notificationTarget`\" pulumi-lang-python=\"`notification_target`\" pulumi-lang-yaml=\"`notificationTarget`\" pulumi-lang-java=\"`notificationTarget`\"\u003e`notification_target`\u003c/span\u003e block as defined below for configuring notifications on activation of eligible role.\n"},"eligibleAssignments":{"$ref":"#/types/azure:pim/RoleManagementPolicyNotificationRulesEligibleAssignments:RoleManagementPolicyNotificationRulesEligibleAssignments","description":"A \u003cspan pulumi-lang-nodejs=\"`notificationTarget`\" pulumi-lang-dotnet=\"`NotificationTarget`\" pulumi-lang-go=\"`notificationTarget`\" pulumi-lang-python=\"`notification_target`\" pulumi-lang-yaml=\"`notificationTarget`\" pulumi-lang-java=\"`notificationTarget`\"\u003e`notification_target`\u003c/span\u003e block as defined below to configure notification on eligible role assignments.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["activeAssignments","eligibleActivations","eligibleAssignments"]}}},"azure:pim/RoleManagementPolicyNotificationRulesActiveAssignments:RoleManagementPolicyNotificationRulesActiveAssignments":{"properties":{"adminNotifications":{"$ref":"#/types/azure:pim/RoleManagementPolicyNotificationRulesActiveAssignmentsAdminNotifications:RoleManagementPolicyNotificationRulesActiveAssignmentsAdminNotifications","description":"Admin notification settings\n"},"approverNotifications":{"$ref":"#/types/azure:pim/RoleManagementPolicyNotificationRulesActiveAssignmentsApproverNotifications:RoleManagementPolicyNotificationRulesActiveAssignmentsApproverNotifications","description":"Approver notification settings\n"},"assigneeNotifications":{"$ref":"#/types/azure:pim/RoleManagementPolicyNotificationRulesActiveAssignmentsAssigneeNotifications:RoleManagementPolicyNotificationRulesActiveAssignmentsAssigneeNotifications","description":"Assignee notification settings\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["adminNotifications","approverNotifications","assigneeNotifications"]}}},"azure:pim/RoleManagementPolicyNotificationRulesActiveAssignmentsAdminNotifications:RoleManagementPolicyNotificationRulesActiveAssignmentsAdminNotifications":{"properties":{"additionalRecipients":{"type":"array","items":{"type":"string"},"description":"The additional recipients to notify\n"},"defaultRecipients":{"type":"boolean","description":"Whether the default recipients are notified\n"},"notificationLevel":{"type":"string","description":"What level of notifications are sent\n"}},"type":"object","required":["defaultRecipients","notificationLevel"],"language":{"nodejs":{"requiredOutputs":["additionalRecipients","defaultRecipients","notificationLevel"]}}},"azure:pim/RoleManagementPolicyNotificationRulesActiveAssignmentsApproverNotifications:RoleManagementPolicyNotificationRulesActiveAssignmentsApproverNotifications":{"properties":{"additionalRecipients":{"type":"array","items":{"type":"string"},"description":"The additional recipients to notify\n"},"defaultRecipients":{"type":"boolean","description":"Whether the default recipients are notified\n"},"notificationLevel":{"type":"string","description":"What level of notifications are sent\n"}},"type":"object","required":["defaultRecipients","notificationLevel"],"language":{"nodejs":{"requiredOutputs":["additionalRecipients","defaultRecipients","notificationLevel"]}}},"azure:pim/RoleManagementPolicyNotificationRulesActiveAssignmentsAssigneeNotifications:RoleManagementPolicyNotificationRulesActiveAssignmentsAssigneeNotifications":{"properties":{"additionalRecipients":{"type":"array","items":{"type":"string"},"description":"The additional recipients to notify\n"},"defaultRecipients":{"type":"boolean","description":"Whether the default recipients are notified\n"},"notificationLevel":{"type":"string","description":"What level of notifications are sent\n"}},"type":"object","required":["defaultRecipients","notificationLevel"],"language":{"nodejs":{"requiredOutputs":["additionalRecipients","defaultRecipients","notificationLevel"]}}},"azure:pim/RoleManagementPolicyNotificationRulesEligibleActivations:RoleManagementPolicyNotificationRulesEligibleActivations":{"properties":{"adminNotifications":{"$ref":"#/types/azure:pim/RoleManagementPolicyNotificationRulesEligibleActivationsAdminNotifications:RoleManagementPolicyNotificationRulesEligibleActivationsAdminNotifications","description":"Admin notification settings\n"},"approverNotifications":{"$ref":"#/types/azure:pim/RoleManagementPolicyNotificationRulesEligibleActivationsApproverNotifications:RoleManagementPolicyNotificationRulesEligibleActivationsApproverNotifications","description":"Approver notification settings\n"},"assigneeNotifications":{"$ref":"#/types/azure:pim/RoleManagementPolicyNotificationRulesEligibleActivationsAssigneeNotifications:RoleManagementPolicyNotificationRulesEligibleActivationsAssigneeNotifications","description":"Assignee notification settings\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["adminNotifications","approverNotifications","assigneeNotifications"]}}},"azure:pim/RoleManagementPolicyNotificationRulesEligibleActivationsAdminNotifications:RoleManagementPolicyNotificationRulesEligibleActivationsAdminNotifications":{"properties":{"additionalRecipients":{"type":"array","items":{"type":"string"},"description":"The additional recipients to notify\n"},"defaultRecipients":{"type":"boolean","description":"Whether the default recipients are notified\n"},"notificationLevel":{"type":"string","description":"What level of notifications are sent\n"}},"type":"object","required":["defaultRecipients","notificationLevel"],"language":{"nodejs":{"requiredOutputs":["additionalRecipients","defaultRecipients","notificationLevel"]}}},"azure:pim/RoleManagementPolicyNotificationRulesEligibleActivationsApproverNotifications:RoleManagementPolicyNotificationRulesEligibleActivationsApproverNotifications":{"properties":{"additionalRecipients":{"type":"array","items":{"type":"string"},"description":"The additional recipients to notify\n"},"defaultRecipients":{"type":"boolean","description":"Whether the default recipients are notified\n"},"notificationLevel":{"type":"string","description":"What level of notifications are sent\n"}},"type":"object","required":["defaultRecipients","notificationLevel"],"language":{"nodejs":{"requiredOutputs":["additionalRecipients","defaultRecipients","notificationLevel"]}}},"azure:pim/RoleManagementPolicyNotificationRulesEligibleActivationsAssigneeNotifications:RoleManagementPolicyNotificationRulesEligibleActivationsAssigneeNotifications":{"properties":{"additionalRecipients":{"type":"array","items":{"type":"string"},"description":"The additional recipients to notify\n"},"defaultRecipients":{"type":"boolean","description":"Whether the default recipients are notified\n"},"notificationLevel":{"type":"string","description":"What level of notifications are sent\n"}},"type":"object","required":["defaultRecipients","notificationLevel"],"language":{"nodejs":{"requiredOutputs":["additionalRecipients","defaultRecipients","notificationLevel"]}}},"azure:pim/RoleManagementPolicyNotificationRulesEligibleAssignments:RoleManagementPolicyNotificationRulesEligibleAssignments":{"properties":{"adminNotifications":{"$ref":"#/types/azure:pim/RoleManagementPolicyNotificationRulesEligibleAssignmentsAdminNotifications:RoleManagementPolicyNotificationRulesEligibleAssignmentsAdminNotifications","description":"Admin notification settings\n"},"approverNotifications":{"$ref":"#/types/azure:pim/RoleManagementPolicyNotificationRulesEligibleAssignmentsApproverNotifications:RoleManagementPolicyNotificationRulesEligibleAssignmentsApproverNotifications","description":"Approver notification settings\n"},"assigneeNotifications":{"$ref":"#/types/azure:pim/RoleManagementPolicyNotificationRulesEligibleAssignmentsAssigneeNotifications:RoleManagementPolicyNotificationRulesEligibleAssignmentsAssigneeNotifications","description":"Assignee notification settings\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["adminNotifications","approverNotifications","assigneeNotifications"]}}},"azure:pim/RoleManagementPolicyNotificationRulesEligibleAssignmentsAdminNotifications:RoleManagementPolicyNotificationRulesEligibleAssignmentsAdminNotifications":{"properties":{"additionalRecipients":{"type":"array","items":{"type":"string"},"description":"The additional recipients to notify\n"},"defaultRecipients":{"type":"boolean","description":"Whether the default recipients are notified\n"},"notificationLevel":{"type":"string","description":"What level of notifications are sent\n"}},"type":"object","required":["defaultRecipients","notificationLevel"],"language":{"nodejs":{"requiredOutputs":["additionalRecipients","defaultRecipients","notificationLevel"]}}},"azure:pim/RoleManagementPolicyNotificationRulesEligibleAssignmentsApproverNotifications:RoleManagementPolicyNotificationRulesEligibleAssignmentsApproverNotifications":{"properties":{"additionalRecipients":{"type":"array","items":{"type":"string"},"description":"The additional recipients to notify\n"},"defaultRecipients":{"type":"boolean","description":"Whether the default recipients are notified\n"},"notificationLevel":{"type":"string","description":"What level of notifications are sent\n"}},"type":"object","required":["defaultRecipients","notificationLevel"],"language":{"nodejs":{"requiredOutputs":["additionalRecipients","defaultRecipients","notificationLevel"]}}},"azure:pim/RoleManagementPolicyNotificationRulesEligibleAssignmentsAssigneeNotifications:RoleManagementPolicyNotificationRulesEligibleAssignmentsAssigneeNotifications":{"properties":{"additionalRecipients":{"type":"array","items":{"type":"string"},"description":"The additional recipients to notify\n"},"defaultRecipients":{"type":"boolean","description":"Whether the default recipients are notified\n"},"notificationLevel":{"type":"string","description":"What level of notifications are sent\n"}},"type":"object","required":["defaultRecipients","notificationLevel"],"language":{"nodejs":{"requiredOutputs":["additionalRecipients","defaultRecipients","notificationLevel"]}}},"azure:pim/getRoleAssignmentsRoleAssignment:getRoleAssignmentsRoleAssignment":{"properties":{"condition":{"type":"string","description":"The condition that limits the resource the role can be assigned to.\n"},"conditionVersion":{"type":"string","description":"The version of the condition.\n"},"delegatedManagedIdentityResourceId":{"type":"string","description":"The ID of the delegated managed identity resource.\n"},"description":{"type":"string","description":"The description for this Role Assignment.\n"},"principalId":{"type":"string","description":"The principal ID to filter the list of Role Assignments against.\n"},"principalType":{"type":"string","description":"The type of the \u003cspan pulumi-lang-nodejs=\"`principalId`\" pulumi-lang-dotnet=\"`PrincipalId`\" pulumi-lang-go=\"`principalId`\" pulumi-lang-python=\"`principal_id`\" pulumi-lang-yaml=\"`principalId`\" pulumi-lang-java=\"`principalId`\"\u003e`principal_id`\u003c/span\u003e.\n"},"roleAssignmentId":{"type":"string","description":"The ID of the Role Assignment.\n"},"roleAssignmentName":{"type":"string","description":"The name of the Role Assignment.\n"},"roleAssignmentScope":{"type":"string","description":"The scope of the Role Assignment.\n"},"roleDefinitionId":{"type":"string","description":"The ID of the Role Definition.\n"}},"type":"object","required":["condition","conditionVersion","delegatedManagedIdentityResourceId","description","principalId","principalType","roleAssignmentId","roleAssignmentName","roleAssignmentScope","roleDefinitionId"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:pim/getRoleManagementPolicyActivationRule:getRoleManagementPolicyActivationRule":{"properties":{"approvalStages":{"type":"array","items":{"$ref":"#/types/azure:pim/getRoleManagementPolicyActivationRuleApprovalStage:getRoleManagementPolicyActivationRuleApprovalStage"},"description":"An \u003cspan pulumi-lang-nodejs=\"`approvalStage`\" pulumi-lang-dotnet=\"`ApprovalStage`\" pulumi-lang-go=\"`approvalStage`\" pulumi-lang-python=\"`approval_stage`\" pulumi-lang-yaml=\"`approvalStage`\" pulumi-lang-java=\"`approvalStage`\"\u003e`approval_stage`\u003c/span\u003e block as defined below.\n"},"maximumDuration":{"type":"string","description":"(String) The maximum length of time an activated role can be valid, in an ISO8601 Duration format.\n"},"requireApproval":{"type":"boolean","description":"(Boolean) Is approval required for activation.\n"},"requireJustification":{"type":"boolean","description":"(Boolean) Is a justification required to create new assignments.\n"},"requireMultifactorAuthentication":{"type":"boolean","description":"(Boolean) Is multi-factor authentication required to create new assignments.\n"},"requireTicketInfo":{"type":"boolean","description":"(Boolean) Is ticket information required to create new assignments.\n"},"requiredConditionalAccessAuthenticationContext":{"type":"string","description":"(String) The Entra ID Conditional Access context that must be present for activation.\n"}},"type":"object","required":["approvalStages","maximumDuration","requireApproval","requireJustification","requireMultifactorAuthentication","requireTicketInfo","requiredConditionalAccessAuthenticationContext"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:pim/getRoleManagementPolicyActivationRuleApprovalStage:getRoleManagementPolicyActivationRuleApprovalStage":{"properties":{"primaryApprovers":{"type":"array","items":{"$ref":"#/types/azure:pim/getRoleManagementPolicyActivationRuleApprovalStagePrimaryApprover:getRoleManagementPolicyActivationRuleApprovalStagePrimaryApprover"},"description":"The IDs of the users or groups who can approve the activation\n"}},"type":"object","required":["primaryApprovers"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:pim/getRoleManagementPolicyActivationRuleApprovalStagePrimaryApprover:getRoleManagementPolicyActivationRuleApprovalStagePrimaryApprover":{"properties":{"objectId":{"type":"string","description":"(String) The ID of the object which will act as an approver.\n"},"type":{"type":"string","description":"(String) The type of object acting as an approver. Either `User` or `Group`.\n"}},"type":"object","required":["objectId","type"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:pim/getRoleManagementPolicyActiveAssignmentRule:getRoleManagementPolicyActiveAssignmentRule":{"properties":{"expirationRequired":{"type":"boolean","description":"(Boolean) Must an assignment have an expiry date.\n"},"expireAfter":{"type":"string","description":"(String) The maximum length of time an assignment can be valid, as an ISO8601 duration.\n"},"requireJustification":{"type":"boolean","description":"(Boolean) Is a justification required to create new assignments.\n"},"requireMultifactorAuthentication":{"type":"boolean","description":"(Boolean) Is multi-factor authentication required to create new assignments.\n"},"requireTicketInfo":{"type":"boolean","description":"(Boolean) Is ticket information required to create new assignments.\n"}},"type":"object","required":["expirationRequired","expireAfter","requireJustification","requireMultifactorAuthentication","requireTicketInfo"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:pim/getRoleManagementPolicyEligibleAssignmentRule:getRoleManagementPolicyEligibleAssignmentRule":{"properties":{"expirationRequired":{"type":"boolean","description":"(Boolean) Must an assignment have an expiry date.\n"},"expireAfter":{"type":"string","description":"(String) The maximum length of time an assignment can be valid, as an ISO8601 duration.\n"}},"type":"object","required":["expirationRequired","expireAfter"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:pim/getRoleManagementPolicyNotificationRule:getRoleManagementPolicyNotificationRule":{"properties":{"activeAssignments":{"type":"array","items":{"$ref":"#/types/azure:pim/getRoleManagementPolicyNotificationRuleActiveAssignment:getRoleManagementPolicyNotificationRuleActiveAssignment"},"description":"A \u003cspan pulumi-lang-nodejs=\"`notificationTarget`\" pulumi-lang-dotnet=\"`NotificationTarget`\" pulumi-lang-go=\"`notificationTarget`\" pulumi-lang-python=\"`notification_target`\" pulumi-lang-yaml=\"`notificationTarget`\" pulumi-lang-java=\"`notificationTarget`\"\u003e`notification_target`\u003c/span\u003e block as defined below with the details of notfications on active role assignments.\n"},"eligibleActivations":{"type":"array","items":{"$ref":"#/types/azure:pim/getRoleManagementPolicyNotificationRuleEligibleActivation:getRoleManagementPolicyNotificationRuleEligibleActivation"},"description":"A \u003cspan pulumi-lang-nodejs=\"`notificationTarget`\" pulumi-lang-dotnet=\"`NotificationTarget`\" pulumi-lang-go=\"`notificationTarget`\" pulumi-lang-python=\"`notification_target`\" pulumi-lang-yaml=\"`notificationTarget`\" pulumi-lang-java=\"`notificationTarget`\"\u003e`notification_target`\u003c/span\u003e block as defined below with the details of notifications on activation of eligible role.\n"},"eligibleAssignments":{"type":"array","items":{"$ref":"#/types/azure:pim/getRoleManagementPolicyNotificationRuleEligibleAssignment:getRoleManagementPolicyNotificationRuleEligibleAssignment"},"description":"A \u003cspan pulumi-lang-nodejs=\"`notificationTarget`\" pulumi-lang-dotnet=\"`NotificationTarget`\" pulumi-lang-go=\"`notificationTarget`\" pulumi-lang-python=\"`notification_target`\" pulumi-lang-yaml=\"`notificationTarget`\" pulumi-lang-java=\"`notificationTarget`\"\u003e`notification_target`\u003c/span\u003e block as defined below with the details of notifications on eligible role assignments.\n"}},"type":"object","required":["activeAssignments","eligibleActivations","eligibleAssignments"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:pim/getRoleManagementPolicyNotificationRuleActiveAssignment:getRoleManagementPolicyNotificationRuleActiveAssignment":{"properties":{"adminNotifications":{"type":"array","items":{"$ref":"#/types/azure:pim/getRoleManagementPolicyNotificationRuleActiveAssignmentAdminNotification:getRoleManagementPolicyNotificationRuleActiveAssignmentAdminNotification"},"description":"A \u003cspan pulumi-lang-nodejs=\"`notificationSettings`\" pulumi-lang-dotnet=\"`NotificationSettings`\" pulumi-lang-go=\"`notificationSettings`\" pulumi-lang-python=\"`notification_settings`\" pulumi-lang-yaml=\"`notificationSettings`\" pulumi-lang-java=\"`notificationSettings`\"\u003e`notification_settings`\u003c/span\u003e block as defined above.\n"},"approverNotifications":{"type":"array","items":{"$ref":"#/types/azure:pim/getRoleManagementPolicyNotificationRuleActiveAssignmentApproverNotification:getRoleManagementPolicyNotificationRuleActiveAssignmentApproverNotification"},"description":"A \u003cspan pulumi-lang-nodejs=\"`notificationSettings`\" pulumi-lang-dotnet=\"`NotificationSettings`\" pulumi-lang-go=\"`notificationSettings`\" pulumi-lang-python=\"`notification_settings`\" pulumi-lang-yaml=\"`notificationSettings`\" pulumi-lang-java=\"`notificationSettings`\"\u003e`notification_settings`\u003c/span\u003e block as defined above.\n"},"assigneeNotifications":{"type":"array","items":{"$ref":"#/types/azure:pim/getRoleManagementPolicyNotificationRuleActiveAssignmentAssigneeNotification:getRoleManagementPolicyNotificationRuleActiveAssignmentAssigneeNotification"},"description":"A \u003cspan pulumi-lang-nodejs=\"`notificationSettings`\" pulumi-lang-dotnet=\"`NotificationSettings`\" pulumi-lang-go=\"`notificationSettings`\" pulumi-lang-python=\"`notification_settings`\" pulumi-lang-yaml=\"`notificationSettings`\" pulumi-lang-java=\"`notificationSettings`\"\u003e`notification_settings`\u003c/span\u003e block as defined above.\n"}},"type":"object","required":["adminNotifications","approverNotifications","assigneeNotifications"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:pim/getRoleManagementPolicyNotificationRuleActiveAssignmentAdminNotification:getRoleManagementPolicyNotificationRuleActiveAssignmentAdminNotification":{"properties":{"additionalRecipients":{"type":"array","items":{"type":"string"},"description":"A list of additional email addresses that will receive these notifications.\n"},"defaultRecipients":{"type":"boolean","description":"(Boolean) Should the default recipients receive these notifications.\n"},"notificationLevel":{"type":"string","description":"(String) What level of notifications should be sent. Either `All` or `Critical`.\n"}},"type":"object","required":["additionalRecipients","defaultRecipients","notificationLevel"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:pim/getRoleManagementPolicyNotificationRuleActiveAssignmentApproverNotification:getRoleManagementPolicyNotificationRuleActiveAssignmentApproverNotification":{"properties":{"additionalRecipients":{"type":"array","items":{"type":"string"},"description":"A list of additional email addresses that will receive these notifications.\n"},"defaultRecipients":{"type":"boolean","description":"(Boolean) Should the default recipients receive these notifications.\n"},"notificationLevel":{"type":"string","description":"(String) What level of notifications should be sent. Either `All` or `Critical`.\n"}},"type":"object","required":["additionalRecipients","defaultRecipients","notificationLevel"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:pim/getRoleManagementPolicyNotificationRuleActiveAssignmentAssigneeNotification:getRoleManagementPolicyNotificationRuleActiveAssignmentAssigneeNotification":{"properties":{"additionalRecipients":{"type":"array","items":{"type":"string"},"description":"A list of additional email addresses that will receive these notifications.\n"},"defaultRecipients":{"type":"boolean","description":"(Boolean) Should the default recipients receive these notifications.\n"},"notificationLevel":{"type":"string","description":"(String) What level of notifications should be sent. Either `All` or `Critical`.\n"}},"type":"object","required":["additionalRecipients","defaultRecipients","notificationLevel"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:pim/getRoleManagementPolicyNotificationRuleEligibleActivation:getRoleManagementPolicyNotificationRuleEligibleActivation":{"properties":{"adminNotifications":{"type":"array","items":{"$ref":"#/types/azure:pim/getRoleManagementPolicyNotificationRuleEligibleActivationAdminNotification:getRoleManagementPolicyNotificationRuleEligibleActivationAdminNotification"},"description":"A \u003cspan pulumi-lang-nodejs=\"`notificationSettings`\" pulumi-lang-dotnet=\"`NotificationSettings`\" pulumi-lang-go=\"`notificationSettings`\" pulumi-lang-python=\"`notification_settings`\" pulumi-lang-yaml=\"`notificationSettings`\" pulumi-lang-java=\"`notificationSettings`\"\u003e`notification_settings`\u003c/span\u003e block as defined above.\n"},"approverNotifications":{"type":"array","items":{"$ref":"#/types/azure:pim/getRoleManagementPolicyNotificationRuleEligibleActivationApproverNotification:getRoleManagementPolicyNotificationRuleEligibleActivationApproverNotification"},"description":"A \u003cspan pulumi-lang-nodejs=\"`notificationSettings`\" pulumi-lang-dotnet=\"`NotificationSettings`\" pulumi-lang-go=\"`notificationSettings`\" pulumi-lang-python=\"`notification_settings`\" pulumi-lang-yaml=\"`notificationSettings`\" pulumi-lang-java=\"`notificationSettings`\"\u003e`notification_settings`\u003c/span\u003e block as defined above.\n"},"assigneeNotifications":{"type":"array","items":{"$ref":"#/types/azure:pim/getRoleManagementPolicyNotificationRuleEligibleActivationAssigneeNotification:getRoleManagementPolicyNotificationRuleEligibleActivationAssigneeNotification"},"description":"A \u003cspan pulumi-lang-nodejs=\"`notificationSettings`\" pulumi-lang-dotnet=\"`NotificationSettings`\" pulumi-lang-go=\"`notificationSettings`\" pulumi-lang-python=\"`notification_settings`\" pulumi-lang-yaml=\"`notificationSettings`\" pulumi-lang-java=\"`notificationSettings`\"\u003e`notification_settings`\u003c/span\u003e block as defined above.\n"}},"type":"object","required":["adminNotifications","approverNotifications","assigneeNotifications"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:pim/getRoleManagementPolicyNotificationRuleEligibleActivationAdminNotification:getRoleManagementPolicyNotificationRuleEligibleActivationAdminNotification":{"properties":{"additionalRecipients":{"type":"array","items":{"type":"string"},"description":"A list of additional email addresses that will receive these notifications.\n"},"defaultRecipients":{"type":"boolean","description":"(Boolean) Should the default recipients receive these notifications.\n"},"notificationLevel":{"type":"string","description":"(String) What level of notifications should be sent. Either `All` or `Critical`.\n"}},"type":"object","required":["additionalRecipients","defaultRecipients","notificationLevel"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:pim/getRoleManagementPolicyNotificationRuleEligibleActivationApproverNotification:getRoleManagementPolicyNotificationRuleEligibleActivationApproverNotification":{"properties":{"additionalRecipients":{"type":"array","items":{"type":"string"},"description":"A list of additional email addresses that will receive these notifications.\n"},"defaultRecipients":{"type":"boolean","description":"(Boolean) Should the default recipients receive these notifications.\n"},"notificationLevel":{"type":"string","description":"(String) What level of notifications should be sent. Either `All` or `Critical`.\n"}},"type":"object","required":["additionalRecipients","defaultRecipients","notificationLevel"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:pim/getRoleManagementPolicyNotificationRuleEligibleActivationAssigneeNotification:getRoleManagementPolicyNotificationRuleEligibleActivationAssigneeNotification":{"properties":{"additionalRecipients":{"type":"array","items":{"type":"string"},"description":"A list of additional email addresses that will receive these notifications.\n"},"defaultRecipients":{"type":"boolean","description":"(Boolean) Should the default recipients receive these notifications.\n"},"notificationLevel":{"type":"string","description":"(String) What level of notifications should be sent. Either `All` or `Critical`.\n"}},"type":"object","required":["additionalRecipients","defaultRecipients","notificationLevel"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:pim/getRoleManagementPolicyNotificationRuleEligibleAssignment:getRoleManagementPolicyNotificationRuleEligibleAssignment":{"properties":{"adminNotifications":{"type":"array","items":{"$ref":"#/types/azure:pim/getRoleManagementPolicyNotificationRuleEligibleAssignmentAdminNotification:getRoleManagementPolicyNotificationRuleEligibleAssignmentAdminNotification"},"description":"A \u003cspan pulumi-lang-nodejs=\"`notificationSettings`\" pulumi-lang-dotnet=\"`NotificationSettings`\" pulumi-lang-go=\"`notificationSettings`\" pulumi-lang-python=\"`notification_settings`\" pulumi-lang-yaml=\"`notificationSettings`\" pulumi-lang-java=\"`notificationSettings`\"\u003e`notification_settings`\u003c/span\u003e block as defined above.\n"},"approverNotifications":{"type":"array","items":{"$ref":"#/types/azure:pim/getRoleManagementPolicyNotificationRuleEligibleAssignmentApproverNotification:getRoleManagementPolicyNotificationRuleEligibleAssignmentApproverNotification"},"description":"A \u003cspan pulumi-lang-nodejs=\"`notificationSettings`\" pulumi-lang-dotnet=\"`NotificationSettings`\" pulumi-lang-go=\"`notificationSettings`\" pulumi-lang-python=\"`notification_settings`\" pulumi-lang-yaml=\"`notificationSettings`\" pulumi-lang-java=\"`notificationSettings`\"\u003e`notification_settings`\u003c/span\u003e block as defined above.\n"},"assigneeNotifications":{"type":"array","items":{"$ref":"#/types/azure:pim/getRoleManagementPolicyNotificationRuleEligibleAssignmentAssigneeNotification:getRoleManagementPolicyNotificationRuleEligibleAssignmentAssigneeNotification"},"description":"A \u003cspan pulumi-lang-nodejs=\"`notificationSettings`\" pulumi-lang-dotnet=\"`NotificationSettings`\" pulumi-lang-go=\"`notificationSettings`\" pulumi-lang-python=\"`notification_settings`\" pulumi-lang-yaml=\"`notificationSettings`\" pulumi-lang-java=\"`notificationSettings`\"\u003e`notification_settings`\u003c/span\u003e block as defined above.\n"}},"type":"object","required":["adminNotifications","approverNotifications","assigneeNotifications"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:pim/getRoleManagementPolicyNotificationRuleEligibleAssignmentAdminNotification:getRoleManagementPolicyNotificationRuleEligibleAssignmentAdminNotification":{"properties":{"additionalRecipients":{"type":"array","items":{"type":"string"},"description":"A list of additional email addresses that will receive these notifications.\n"},"defaultRecipients":{"type":"boolean","description":"(Boolean) Should the default recipients receive these notifications.\n"},"notificationLevel":{"type":"string","description":"(String) What level of notifications should be sent. Either `All` or `Critical`.\n"}},"type":"object","required":["additionalRecipients","defaultRecipients","notificationLevel"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:pim/getRoleManagementPolicyNotificationRuleEligibleAssignmentApproverNotification:getRoleManagementPolicyNotificationRuleEligibleAssignmentApproverNotification":{"properties":{"additionalRecipients":{"type":"array","items":{"type":"string"},"description":"A list of additional email addresses that will receive these notifications.\n"},"defaultRecipients":{"type":"boolean","description":"(Boolean) Should the default recipients receive these notifications.\n"},"notificationLevel":{"type":"string","description":"(String) What level of notifications should be sent. Either `All` or `Critical`.\n"}},"type":"object","required":["additionalRecipients","defaultRecipients","notificationLevel"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:pim/getRoleManagementPolicyNotificationRuleEligibleAssignmentAssigneeNotification:getRoleManagementPolicyNotificationRuleEligibleAssignmentAssigneeNotification":{"properties":{"additionalRecipients":{"type":"array","items":{"type":"string"},"description":"A list of additional email addresses that will receive these notifications.\n"},"defaultRecipients":{"type":"boolean","description":"(Boolean) Should the default recipients receive these notifications.\n"},"notificationLevel":{"type":"string","description":"(String) What level of notifications should be sent. Either `All` or `Critical`.\n"}},"type":"object","required":["additionalRecipients","defaultRecipients","notificationLevel"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:policy/PolicySetDefinitionPolicyDefinitionGroup:PolicySetDefinitionPolicyDefinitionGroup":{"properties":{"additionalMetadataResourceId":{"type":"string","description":"The ID of a resource that contains additional metadata for this Policy Definition Group.\n"},"category":{"type":"string","description":"The category of this Policy Definition Group.\n"},"description":{"type":"string","description":"The description of this Policy Definition Group.\n"},"displayName":{"type":"string","description":"The display name of this Policy Definition Group.\n"},"name":{"type":"string","description":"The name which should be used for this Policy Definition Group.\n"}},"type":"object","required":["name"]},"azure:policy/PolicySetDefinitionPolicyDefinitionReference:PolicySetDefinitionPolicyDefinitionReference":{"properties":{"parameterValues":{"type":"string","description":"Parameter values for the references Policy Definition in JSON format.\n"},"policyDefinitionId":{"type":"string","description":"The ID of the Policy Definition to include in this Policy Set Definition.\n"},"policyGroupNames":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Policy Definition Groups names that this Policy Definition Reference belongs to.\n"},"referenceId":{"type":"string","description":"A unique ID within this Policy Set Definition for this Policy Definition Reference.\n"},"version":{"type":"string","description":"The version of the Policy Definition to use.\n"}},"type":"object","required":["policyDefinitionId"],"language":{"nodejs":{"requiredOutputs":["policyDefinitionId","referenceId","version"]}}},"azure:policy/VirtualMachineConfigurationAssignmentConfiguration:VirtualMachineConfigurationAssignmentConfiguration":{"properties":{"assignmentType":{"type":"string","description":"The assignment type for the Guest Configuration Assignment. Possible values are `Audit`, `ApplyAndAutoCorrect`, `ApplyAndMonitor` and `DeployAndAutoCorrect`.\n"},"contentHash":{"type":"string","description":"The content hash for the Guest Configuration package.\n\n\u003e **Note:** The value for \u003cspan pulumi-lang-nodejs=\"`contentHash`\" pulumi-lang-dotnet=\"`ContentHash`\" pulumi-lang-go=\"`contentHash`\" pulumi-lang-python=\"`content_hash`\" pulumi-lang-yaml=\"`contentHash`\" pulumi-lang-java=\"`contentHash`\"\u003e`content_hash`\u003c/span\u003e should be the SH256SUM for the zip file in the \u003cspan pulumi-lang-nodejs=\"`contentUri`\" pulumi-lang-dotnet=\"`ContentUri`\" pulumi-lang-go=\"`contentUri`\" pulumi-lang-python=\"`content_uri`\" pulumi-lang-yaml=\"`contentUri`\" pulumi-lang-java=\"`contentUri`\"\u003e`content_uri`\u003c/span\u003e and must be in upper case.\n"},"contentUri":{"type":"string","description":"The content URI where the Guest Configuration package is stored.\n\n\u003e **Note:** When deploying a Custom Guest Configuration package the \u003cspan pulumi-lang-nodejs=\"`contentHash`\" pulumi-lang-dotnet=\"`ContentHash`\" pulumi-lang-go=\"`contentHash`\" pulumi-lang-python=\"`content_hash`\" pulumi-lang-yaml=\"`contentHash`\" pulumi-lang-java=\"`contentHash`\"\u003e`content_hash`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`contentUri`\" pulumi-lang-dotnet=\"`ContentUri`\" pulumi-lang-go=\"`contentUri`\" pulumi-lang-python=\"`content_uri`\" pulumi-lang-yaml=\"`contentUri`\" pulumi-lang-java=\"`contentUri`\"\u003e`content_uri`\u003c/span\u003e fields must be defined. For Built-in Guest Configuration packages, such as the `AzureWindowsBaseline` package, the \u003cspan pulumi-lang-nodejs=\"`contentHash`\" pulumi-lang-dotnet=\"`ContentHash`\" pulumi-lang-go=\"`contentHash`\" pulumi-lang-python=\"`content_hash`\" pulumi-lang-yaml=\"`contentHash`\" pulumi-lang-java=\"`contentHash`\"\u003e`content_hash`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`contentUri`\" pulumi-lang-dotnet=\"`ContentUri`\" pulumi-lang-go=\"`contentUri`\" pulumi-lang-python=\"`content_uri`\" pulumi-lang-yaml=\"`contentUri`\" pulumi-lang-java=\"`contentUri`\"\u003e`content_uri`\u003c/span\u003e should not be defined, rather these fields will be returned after the Built-in Guest Configuration package has been provisioned. For more information on guest configuration assignments please see the [product documentation](https://docs.microsoft.com/azure/governance/policy/concepts/guest-configuration-assignments).\n"},"parameters":{"type":"array","items":{"$ref":"#/types/azure:policy/VirtualMachineConfigurationAssignmentConfigurationParameter:VirtualMachineConfigurationAssignmentConfigurationParameter"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`parameter`\" pulumi-lang-dotnet=\"`Parameter`\" pulumi-lang-go=\"`parameter`\" pulumi-lang-python=\"`parameter`\" pulumi-lang-yaml=\"`parameter`\" pulumi-lang-java=\"`parameter`\"\u003e`parameter`\u003c/span\u003e blocks as defined below which define what configuration parameters and values against.\n"},"version":{"type":"string","description":"The version of the Guest Configuration that will be assigned in this Guest Configuration Assignment.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["contentHash","contentUri"]}}},"azure:policy/VirtualMachineConfigurationAssignmentConfigurationParameter:VirtualMachineConfigurationAssignmentConfigurationParameter":{"properties":{"name":{"type":"string","description":"The name of the configuration parameter to check.\n"},"value":{"type":"string","description":"The value to check the configuration parameter with.\n"}},"type":"object","required":["name","value"]},"azure:policy/getPolicyAssignmentIdentity:getPolicyAssignmentIdentity":{"properties":{"identityIds":{"type":"array","items":{"type":"string"},"description":"A \u003cspan pulumi-lang-nodejs=\"`identityIds`\" pulumi-lang-dotnet=\"`IdentityIds`\" pulumi-lang-go=\"`identityIds`\" pulumi-lang-python=\"`identity_ids`\" pulumi-lang-yaml=\"`identityIds`\" pulumi-lang-java=\"`identityIds`\"\u003e`identity_ids`\u003c/span\u003e block as defined below.\n"},"principalId":{"type":"string","description":"The Principal ID of the Policy Assignment for this Resource.\n"},"tenantId":{"type":"string","description":"The Tenant ID of the Policy Assignment for this Resource.\n"},"type":{"type":"string","description":"The Type of Managed Identity which is added to this Policy Assignment.\n"}},"type":"object","required":["identityIds","principalId","tenantId","type"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:policy/getPolicyAssignmentNonComplianceMessage:getPolicyAssignmentNonComplianceMessage":{"properties":{"content":{"type":"string","description":"The non-compliance message text.\n"},"policyDefinitionReferenceId":{"type":"string","description":"The ID of the Policy Definition that the non-compliance message applies to.\n"}},"type":"object","required":["content","policyDefinitionReferenceId"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:policy/getPolicySetDefinitionPolicyDefinitionGroup:getPolicySetDefinitionPolicyDefinitionGroup":{"properties":{"additionalMetadataResourceId":{"type":"string","description":"The ID of a resource that contains additional metadata about this policy definition group.\n"},"category":{"type":"string","description":"The category of this policy definition group.\n"},"description":{"type":"string","description":"The description of this policy definition group.\n"},"displayName":{"type":"string","description":"Specifies the display name of the Policy Set Definition. Conflicts with \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e.\n\n**NOTE** As \u003cspan pulumi-lang-nodejs=\"`displayName`\" pulumi-lang-dotnet=\"`DisplayName`\" pulumi-lang-go=\"`displayName`\" pulumi-lang-python=\"`display_name`\" pulumi-lang-yaml=\"`displayName`\" pulumi-lang-java=\"`displayName`\"\u003e`display_name`\u003c/span\u003e is not unique errors may occur when there are multiple policy set definitions with same display name.\n"},"name":{"type":"string","description":"Specifies the name of the Policy Set Definition. Conflicts with \u003cspan pulumi-lang-nodejs=\"`displayName`\" pulumi-lang-dotnet=\"`DisplayName`\" pulumi-lang-go=\"`displayName`\" pulumi-lang-python=\"`display_name`\" pulumi-lang-yaml=\"`displayName`\" pulumi-lang-java=\"`displayName`\"\u003e`display_name`\u003c/span\u003e.\n"}},"type":"object","required":["additionalMetadataResourceId","category","description","displayName","name"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:policy/getPolicySetDefinitionPolicyDefinitionReference:getPolicySetDefinitionPolicyDefinitionReference":{"properties":{"parameterValues":{"type":"string","description":"The parameter values for the referenced policy rule. This field is a JSON object.\n"},"parameters":{"type":"object","additionalProperties":{"type":"string"},"description":"The mapping of the parameter values for the referenced policy rule. The keys are the parameter names.\n"},"policyDefinitionId":{"type":"string","description":"The ID of the policy definition or policy set definition that is included in this policy set definition.\n"},"policyGroupNames":{"type":"array","items":{"type":"string"},"description":"The list of names of the policy definition groups that this policy definition reference belongs to.\n"},"referenceId":{"type":"string","description":"The unique ID within this policy set definition for this policy definition reference.\n"}},"type":"object","required":["parameterValues","parameters","policyDefinitionId","policyGroupNames","referenceId"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:postgresql/FlexibleServerAuthentication:FlexibleServerAuthentication":{"properties":{"activeDirectoryAuthEnabled":{"type":"boolean","description":"Whether Active Directory authentication is allowed to access the PostgreSQL Flexible Server. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"passwordAuthEnabled":{"type":"boolean","description":"Whether password authentication is allowed to access the PostgreSQL Flexible Server. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"tenantId":{"type":"string","description":"The Tenant ID of the Azure Active Directory which is used by the Active Directory authentication. \u003cspan pulumi-lang-nodejs=\"`activeDirectoryAuthEnabled`\" pulumi-lang-dotnet=\"`ActiveDirectoryAuthEnabled`\" pulumi-lang-go=\"`activeDirectoryAuthEnabled`\" pulumi-lang-python=\"`active_directory_auth_enabled`\" pulumi-lang-yaml=\"`activeDirectoryAuthEnabled`\" pulumi-lang-java=\"`activeDirectoryAuthEnabled`\"\u003e`active_directory_auth_enabled`\u003c/span\u003e must be set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n\n\u003e **Note:** Setting \u003cspan pulumi-lang-nodejs=\"`activeDirectoryAuthEnabled`\" pulumi-lang-dotnet=\"`ActiveDirectoryAuthEnabled`\" pulumi-lang-go=\"`activeDirectoryAuthEnabled`\" pulumi-lang-python=\"`active_directory_auth_enabled`\" pulumi-lang-yaml=\"`activeDirectoryAuthEnabled`\" pulumi-lang-java=\"`activeDirectoryAuthEnabled`\"\u003e`active_directory_auth_enabled`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e requires a Service Principal for the Postgres Flexible Server. For more details see [this document](https://learn.microsoft.com/en-us/azure/postgresql/flexible-server/how-to-configure-sign-in-azure-ad-authentication).\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`tenantId`\" pulumi-lang-dotnet=\"`TenantId`\" pulumi-lang-go=\"`tenantId`\" pulumi-lang-python=\"`tenant_id`\" pulumi-lang-yaml=\"`tenantId`\" pulumi-lang-java=\"`tenantId`\"\u003e`tenant_id`\u003c/span\u003e is required when \u003cspan pulumi-lang-nodejs=\"`activeDirectoryAuthEnabled`\" pulumi-lang-dotnet=\"`ActiveDirectoryAuthEnabled`\" pulumi-lang-go=\"`activeDirectoryAuthEnabled`\" pulumi-lang-python=\"`active_directory_auth_enabled`\" pulumi-lang-yaml=\"`activeDirectoryAuthEnabled`\" pulumi-lang-java=\"`activeDirectoryAuthEnabled`\"\u003e`active_directory_auth_enabled`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e. And it should not be specified when \u003cspan pulumi-lang-nodejs=\"`activeDirectoryAuthEnabled`\" pulumi-lang-dotnet=\"`ActiveDirectoryAuthEnabled`\" pulumi-lang-go=\"`activeDirectoryAuthEnabled`\" pulumi-lang-python=\"`active_directory_auth_enabled`\" pulumi-lang-yaml=\"`activeDirectoryAuthEnabled`\" pulumi-lang-java=\"`activeDirectoryAuthEnabled`\"\u003e`active_directory_auth_enabled`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e\n"}},"type":"object"},"azure:postgresql/FlexibleServerCluster:FlexibleServerCluster":{"properties":{"defaultDatabaseName":{"type":"string","description":"The default database name to be created. Changing this forces a new PostgreSQL Flexible Server to be created.\n","willReplaceOnChanges":true},"size":{"type":"integer","description":"The number of nodes in the cluster. Must be at least \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and no greater than \u003cspan pulumi-lang-nodejs=\"`32`\" pulumi-lang-dotnet=\"`32`\" pulumi-lang-go=\"`32`\" pulumi-lang-python=\"`32`\" pulumi-lang-yaml=\"`32`\" pulumi-lang-java=\"`32`\"\u003e`32`\u003c/span\u003e.\n\n\u003e **Note:** The maximum supported cluster size is currently 20 nodes. Support for up to 32 nodes will be available in the near future.\n\n\u003e **Note:** Cluster support is only available for PostgreSQL version 17 and above, and is not supported when \u003cspan pulumi-lang-nodejs=\"`createMode`\" pulumi-lang-dotnet=\"`CreateMode`\" pulumi-lang-go=\"`createMode`\" pulumi-lang-python=\"`create_mode`\" pulumi-lang-yaml=\"`createMode`\" pulumi-lang-java=\"`createMode`\"\u003e`create_mode`\u003c/span\u003e is set to anything other than `Default`.\n\n\u003e **Note:** The cluster \u003cspan pulumi-lang-nodejs=\"`size`\" pulumi-lang-dotnet=\"`Size`\" pulumi-lang-go=\"`size`\" pulumi-lang-python=\"`size`\" pulumi-lang-yaml=\"`size`\" pulumi-lang-java=\"`size`\"\u003e`size`\u003c/span\u003e can only be increased, not decreased. Attempting to reduce the cluster size will result in an error.\n"}},"type":"object","required":["size"]},"azure:postgresql/FlexibleServerCustomerManagedKey:FlexibleServerCustomerManagedKey":{"properties":{"geoBackupKeyVaultKeyId":{"type":"string","description":"The versioned/versionless ID of the geo backup Key Vault Key.\n\n\u003e **Note:** The key vault in which this key exists must be in the same region as the geo-redundant backup.\n"},"geoBackupUserAssignedIdentityId":{"type":"string","description":"The geo backup user managed identity id for a Customer Managed Key. Must be added to `identity.identity_ids`.\n\n\u003e **Note:** This managed identity cannot be the same as \u003cspan pulumi-lang-nodejs=\"`primaryUserAssignedIdentityId`\" pulumi-lang-dotnet=\"`PrimaryUserAssignedIdentityId`\" pulumi-lang-go=\"`primaryUserAssignedIdentityId`\" pulumi-lang-python=\"`primary_user_assigned_identity_id`\" pulumi-lang-yaml=\"`primaryUserAssignedIdentityId`\" pulumi-lang-java=\"`primaryUserAssignedIdentityId`\"\u003e`primary_user_assigned_identity_id`\u003c/span\u003e, additionally this identity must be created in the same region as the geo-redundant backup.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`primaryUserAssignedIdentityId`\" pulumi-lang-dotnet=\"`PrimaryUserAssignedIdentityId`\" pulumi-lang-go=\"`primaryUserAssignedIdentityId`\" pulumi-lang-python=\"`primary_user_assigned_identity_id`\" pulumi-lang-yaml=\"`primaryUserAssignedIdentityId`\" pulumi-lang-java=\"`primaryUserAssignedIdentityId`\"\u003e`primary_user_assigned_identity_id`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`geoBackupUserAssignedIdentityId`\" pulumi-lang-dotnet=\"`GeoBackupUserAssignedIdentityId`\" pulumi-lang-go=\"`geoBackupUserAssignedIdentityId`\" pulumi-lang-python=\"`geo_backup_user_assigned_identity_id`\" pulumi-lang-yaml=\"`geoBackupUserAssignedIdentityId`\" pulumi-lang-java=\"`geoBackupUserAssignedIdentityId`\"\u003e`geo_backup_user_assigned_identity_id`\u003c/span\u003e is required when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to `UserAssigned`.\n"},"keyVaultKeyId":{"type":"string","description":"The versioned/versionless ID of the Key Vault Key.\n"},"primaryUserAssignedIdentityId":{"type":"string","description":"Specifies the primary user managed identity id for a Customer Managed Key. Must be added to `identity.identity_ids`.\n"}},"type":"object","required":["keyVaultKeyId"]},"azure:postgresql/FlexibleServerHighAvailability:FlexibleServerHighAvailability":{"properties":{"mode":{"type":"string","description":"The high availability mode for the PostgreSQL Flexible Server. Possible value are `SameZone` or `ZoneRedundant`.\n"},"standbyAvailabilityZone":{"type":"string","description":"Specifies the Availability Zone in which the standby Flexible Server should be located.\n\n\u003e **Note:** Azure will automatically assign an Availability Zone if one is not specified. If the PostgreSQL Flexible Server fails-over to the Standby Availability Zone, the \u003cspan pulumi-lang-nodejs=\"`zone`\" pulumi-lang-dotnet=\"`Zone`\" pulumi-lang-go=\"`zone`\" pulumi-lang-python=\"`zone`\" pulumi-lang-yaml=\"`zone`\" pulumi-lang-java=\"`zone`\"\u003e`zone`\u003c/span\u003e will be updated to reflect the current Primary Availability Zone. You can use Terraform's \u003cspan pulumi-lang-nodejs=\"`ignoreChanges`\" pulumi-lang-dotnet=\"`IgnoreChanges`\" pulumi-lang-go=\"`ignoreChanges`\" pulumi-lang-python=\"`ignore_changes`\" pulumi-lang-yaml=\"`ignoreChanges`\" pulumi-lang-java=\"`ignoreChanges`\"\u003e`ignore_changes`\u003c/span\u003e functionality to ignore changes to the \u003cspan pulumi-lang-nodejs=\"`zone`\" pulumi-lang-dotnet=\"`Zone`\" pulumi-lang-go=\"`zone`\" pulumi-lang-python=\"`zone`\" pulumi-lang-yaml=\"`zone`\" pulumi-lang-java=\"`zone`\"\u003e`zone`\u003c/span\u003e and `high_availability[0].standby_availability_zone` fields should you wish for Terraform to not migrate the PostgreSQL Flexible Server back to it's primary Availability Zone after a fail-over.\n\n\u003e **Note:** The Availability Zones available depend on the Azure Region that the PostgreSQL Flexible Server is being deployed into - see [the Azure Availability Zones documentation](https://azure.microsoft.com/global-infrastructure/geographies/#geographies) for more information on which Availability Zones are available in each Azure Region.\n"}},"type":"object","required":["mode"]},"azure:postgresql/FlexibleServerIdentity:FlexibleServerIdentity":{"properties":{"identityIds":{"type":"array","items":{"type":"string"},"description":"A list of User Assigned Managed Identity IDs to be assigned to this PostgreSQL Flexible Server. Required if used together with \u003cspan pulumi-lang-nodejs=\"`customerManagedKey`\" pulumi-lang-dotnet=\"`CustomerManagedKey`\" pulumi-lang-go=\"`customerManagedKey`\" pulumi-lang-python=\"`customer_managed_key`\" pulumi-lang-yaml=\"`customerManagedKey`\" pulumi-lang-java=\"`customerManagedKey`\"\u003e`customer_managed_key`\u003c/span\u003e block.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`identityIds`\" pulumi-lang-dotnet=\"`IdentityIds`\" pulumi-lang-go=\"`identityIds`\" pulumi-lang-python=\"`identity_ids`\" pulumi-lang-yaml=\"`identityIds`\" pulumi-lang-java=\"`identityIds`\"\u003e`identity_ids`\u003c/span\u003e is required when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to `UserAssigned` or `SystemAssigned, UserAssigned`.\n"},"principalId":{"type":"string","description":"The Principal ID associated with this Managed Service Identity.\n"},"tenantId":{"type":"string","description":"The Tenant ID associated with this Managed Service Identity.\n"},"type":{"type":"string","description":"Specifies the type of Managed Service Identity that should be configured on this PostgreSQL Flexible Server. Possible values are `UserAssigned`, `SystemAssigned` and `SystemAssigned, UserAssigned`.\n\n\u003e **Note:** Once `UserAssigned` has been added, removing it forces a new resource to be created.\n"}},"type":"object","required":["type"],"language":{"nodejs":{"requiredOutputs":["principalId","tenantId","type"]}}},"azure:postgresql/FlexibleServerMaintenanceWindow:FlexibleServerMaintenanceWindow":{"properties":{"dayOfWeek":{"type":"integer","description":"The day of week for maintenance window, where the week starts on a Sunday, i.e. Sunday = \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e, Monday = \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"startHour":{"type":"integer","description":"The start hour for maintenance window. Defaults to \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"startMinute":{"type":"integer","description":"The start minute for maintenance window. Defaults to \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n\n\u003e **Note:** The specified \u003cspan pulumi-lang-nodejs=\"`maintenanceWindow`\" pulumi-lang-dotnet=\"`MaintenanceWindow`\" pulumi-lang-go=\"`maintenanceWindow`\" pulumi-lang-python=\"`maintenance_window`\" pulumi-lang-yaml=\"`maintenanceWindow`\" pulumi-lang-java=\"`maintenanceWindow`\"\u003e`maintenance_window`\u003c/span\u003e is always defined in UTC time. When unspecified, the maintenance window falls back to the default [system-managed](https://learn.microsoft.com/en-us/azure/postgresql/flexible-server/how-to-maintenance-portal#specify-maintenance-schedule-options).\n"}},"type":"object"},"azure:postgresql/ServerIdentity:ServerIdentity":{"properties":{"principalId":{"type":"string","description":"The Principal ID associated with this Managed Service Identity.\n"},"tenantId":{"type":"string","description":"The Tenant ID associated with this Managed Service Identity.\n"},"type":{"type":"string","description":"Specifies the type of Managed Service Identity that should be configured on this PostgreSQL Server. The only possible value is `SystemAssigned`.\n"}},"type":"object","required":["type"],"language":{"nodejs":{"requiredOutputs":["principalId","tenantId","type"]}}},"azure:postgresql/ServerThreatDetectionPolicy:ServerThreatDetectionPolicy":{"properties":{"disabledAlerts":{"type":"array","items":{"type":"string"},"description":"Specifies a list of alerts which should be disabled. Possible values are `Sql_Injection`, `Sql_Injection_Vulnerability`, `Access_Anomaly`, `Data_Exfiltration` and `Unsafe_Action`.\n"},"emailAccountAdmins":{"type":"boolean","description":"Should the account administrators be emailed when this alert is triggered?\n"},"emailAddresses":{"type":"array","items":{"type":"string"},"description":"A list of email addresses which alerts should be sent to.\n"},"enabled":{"type":"boolean","description":"Is the policy enabled?\n"},"retentionDays":{"type":"integer","description":"Specifies the number of days to keep in the Threat Detection audit logs.\n"},"storageAccountAccessKey":{"type":"string","description":"Specifies the identifier key of the Threat Detection audit storage account.\n","secret":true},"storageEndpoint":{"type":"string","description":"Specifies the blob storage endpoint (e.g. \u003chttps://example.blob.core.windows.net\u003e). This blob storage will hold all Threat Detection audit logs.\n"}},"type":"object"},"azure:postgresql/getFlexibleServerHighAvailability:getFlexibleServerHighAvailability":{"properties":{"mode":{"type":"string","description":"The high availability mode of the PostgreSQL Flexible Server.\n"},"standbyAvailabilityZone":{"type":"string","description":"The availability zone of the standby Flexible Server.\n"}},"type":"object","required":["mode","standbyAvailabilityZone"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:postgresql/getServerIdentity:getServerIdentity":{"properties":{"principalId":{"type":"string","description":"The ID of the System Managed Service Principal assigned to the PostgreSQL Server.\n"},"tenantId":{"type":"string","description":"The ID of the Tenant of the System Managed Service Principal assigned to the PostgreSQL Server.\n"},"type":{"type":"string","description":"The identity type of the Managed Identity assigned to the PostgreSQL Server.\n"}},"type":"object","required":["principalId","tenantId","type"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:privatedns/LinkServiceNatIpConfiguration:LinkServiceNatIpConfiguration":{"properties":{"name":{"type":"string","description":"Specifies the name which should be used for the NAT IP Configuration.\n"},"primary":{"type":"boolean","description":"Is this is the Primary IP Configuration?\n"},"privateIpAddress":{"type":"string","description":"Specifies a Private Static IP Address for this IP Configuration.\n"},"privateIpAddressVersion":{"type":"string","description":"The version of the IP Protocol which should be used. At this time the only supported value is `IPv4`. Defaults to `IPv4`.\n"},"subnetId":{"type":"string","description":"Specifies the ID of the Subnet which should be used for the Private Link Service.\n\n\u003e **Note:** Verify that the Subnet's \u003cspan pulumi-lang-nodejs=\"`enforcePrivateLinkServiceNetworkPolicies`\" pulumi-lang-dotnet=\"`EnforcePrivateLinkServiceNetworkPolicies`\" pulumi-lang-go=\"`enforcePrivateLinkServiceNetworkPolicies`\" pulumi-lang-python=\"`enforce_private_link_service_network_policies`\" pulumi-lang-yaml=\"`enforcePrivateLinkServiceNetworkPolicies`\" pulumi-lang-java=\"`enforcePrivateLinkServiceNetworkPolicies`\"\u003e`enforce_private_link_service_network_policies`\u003c/span\u003e attribute is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"}},"type":"object","required":["name","primary","subnetId"]},"azure:privatedns/MxRecordRecord:MxRecordRecord":{"properties":{"exchange":{"type":"string","description":"The FQDN of the exchange to MX record points to.\n"},"preference":{"type":"integer","description":"The preference of the MX record.\n"}},"type":"object","required":["exchange","preference"]},"azure:privatedns/ResolverForwardingRuleTargetDnsServer:ResolverForwardingRuleTargetDnsServer":{"properties":{"ipAddress":{"type":"string","description":"DNS server IP address.\n"},"port":{"type":"integer","description":"DNS server port.\n"}},"type":"object","required":["ipAddress"]},"azure:privatedns/ResolverInboundEndpointIpConfigurations:ResolverInboundEndpointIpConfigurations":{"properties":{"privateIpAddress":{"type":"string","description":"Private IP address of the IP configuration.\n"},"privateIpAllocationMethod":{"type":"string","description":"Private IP address allocation method. Allowed value is `Dynamic` and `Static`. Defaults to `Dynamic`.\n"},"subnetId":{"type":"string","description":"The subnet ID of the IP configuration.\n"}},"type":"object","required":["subnetId"],"language":{"nodejs":{"requiredOutputs":["privateIpAddress","subnetId"]}}},"azure:privatedns/SRVRecordRecord:SRVRecordRecord":{"properties":{"port":{"type":"integer","description":"The Port the service is listening on.\n"},"priority":{"type":"integer","description":"The priority of the SRV record.\n"},"target":{"type":"string","description":"The FQDN of the service.\n"},"weight":{"type":"integer","description":"The Weight of the SRV record.\n"}},"type":"object","required":["port","priority","target","weight"]},"azure:privatedns/TxtRecordRecord:TxtRecordRecord":{"properties":{"value":{"type":"string","description":"The value of the TXT record. Max length: 1024 characters\n"}},"type":"object","required":["value"]},"azure:privatedns/ZoneSoaRecord:ZoneSoaRecord":{"properties":{"email":{"type":"string","description":"The email contact for the SOA record.\n"},"expireTime":{"type":"integer","description":"The expire time for the SOA record. Defaults to \u003cspan pulumi-lang-nodejs=\"`2419200`\" pulumi-lang-dotnet=\"`2419200`\" pulumi-lang-go=\"`2419200`\" pulumi-lang-python=\"`2419200`\" pulumi-lang-yaml=\"`2419200`\" pulumi-lang-java=\"`2419200`\"\u003e`2419200`\u003c/span\u003e.\n"},"fqdn":{"type":"string","description":"The fully qualified domain name of the Record Set.\n"},"hostName":{"type":"string","description":"The domain name of the authoritative name server for the SOA record.\n"},"minimumTtl":{"type":"integer","description":"The minimum Time To Live for the SOA record. By convention, it is used to determine the negative caching duration. Defaults to \u003cspan pulumi-lang-nodejs=\"`10`\" pulumi-lang-dotnet=\"`10`\" pulumi-lang-go=\"`10`\" pulumi-lang-python=\"`10`\" pulumi-lang-yaml=\"`10`\" pulumi-lang-java=\"`10`\"\u003e`10`\u003c/span\u003e.\n"},"refreshTime":{"type":"integer","description":"The refresh time for the SOA record. Defaults to \u003cspan pulumi-lang-nodejs=\"`3600`\" pulumi-lang-dotnet=\"`3600`\" pulumi-lang-go=\"`3600`\" pulumi-lang-python=\"`3600`\" pulumi-lang-yaml=\"`3600`\" pulumi-lang-java=\"`3600`\"\u003e`3600`\u003c/span\u003e.\n"},"retryTime":{"type":"integer","description":"The retry time for the SOA record. Defaults to \u003cspan pulumi-lang-nodejs=\"`300`\" pulumi-lang-dotnet=\"`300`\" pulumi-lang-go=\"`300`\" pulumi-lang-python=\"`300`\" pulumi-lang-yaml=\"`300`\" pulumi-lang-java=\"`300`\"\u003e`300`\u003c/span\u003e.\n"},"serialNumber":{"type":"integer","description":"The serial number for the SOA record.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the Record Set.\n"},"ttl":{"type":"integer","description":"The Time To Live of the SOA Record in seconds. Defaults to \u003cspan pulumi-lang-nodejs=\"`3600`\" pulumi-lang-dotnet=\"`3600`\" pulumi-lang-go=\"`3600`\" pulumi-lang-python=\"`3600`\" pulumi-lang-yaml=\"`3600`\" pulumi-lang-java=\"`3600`\"\u003e`3600`\u003c/span\u003e.\n"}},"type":"object","required":["email"],"language":{"nodejs":{"requiredOutputs":["email","fqdn","hostName","serialNumber"]}}},"azure:privatedns/getMxRecordRecord:getMxRecordRecord":{"properties":{"exchange":{"type":"string","description":"The mail server responsible for the domain covered by the MX record.\n"},"preference":{"type":"integer","description":"String representing the \"preference” value of the MX records. Records with lower preference value take priority.\n"}},"type":"object","required":["exchange","preference"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:privatedns/getResolverForwardingRuleTargetDnsServer:getResolverForwardingRuleTargetDnsServer":{"properties":{"ipAddress":{"type":"string","description":"The DNS server IP address.\n"},"port":{"type":"integer","description":"The DNS server port.\n"}},"type":"object","required":["ipAddress","port"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:privatedns/getResolverInboundEndpointIpConfiguration:getResolverInboundEndpointIpConfiguration":{"properties":{"privateIpAddress":{"type":"string","description":"The private IP address of the IP configuration.\n"},"privateIpAllocationMethod":{"type":"string","description":"The private IP address allocation method.\n"},"subnetId":{"type":"string","description":"The subnet ID of the IP configuration.\n"}},"type":"object","required":["privateIpAddress","privateIpAllocationMethod","subnetId"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:privatedns/getSrvRecordRecord:getSrvRecordRecord":{"properties":{"port":{"type":"integer","description":"Port the service is listening on.\n"},"priority":{"type":"integer","description":"Priority of the SRV record.\n"},"target":{"type":"string","description":"FQDN of the service.\n"},"weight":{"type":"integer","description":"Weight of the SRV record.\n"}},"type":"object","required":["port","priority","target","weight"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:privatedns/getTxtRecordRecord:getTxtRecordRecord":{"properties":{"value":{"type":"string","description":"The value of the record. Max length: 1024 characters\n"}},"type":"object","required":["value"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:privatelink/EndpointCustomDnsConfig:EndpointCustomDnsConfig":{"properties":{"fqdn":{"type":"string","description":"The fully qualified domain name to the \u003cspan pulumi-lang-nodejs=\"`privateDnsZone`\" pulumi-lang-dotnet=\"`PrivateDnsZone`\" pulumi-lang-go=\"`privateDnsZone`\" pulumi-lang-python=\"`private_dns_zone`\" pulumi-lang-yaml=\"`privateDnsZone`\" pulumi-lang-java=\"`privateDnsZone`\"\u003e`private_dns_zone`\u003c/span\u003e.\n"},"ipAddresses":{"type":"array","items":{"type":"string"},"description":"A list of all IP Addresses that map to the \u003cspan pulumi-lang-nodejs=\"`privateDnsZone`\" pulumi-lang-dotnet=\"`PrivateDnsZone`\" pulumi-lang-go=\"`privateDnsZone`\" pulumi-lang-python=\"`private_dns_zone`\" pulumi-lang-yaml=\"`privateDnsZone`\" pulumi-lang-java=\"`privateDnsZone`\"\u003e`private_dns_zone`\u003c/span\u003e fqdn.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["fqdn","ipAddresses"]}}},"azure:privatelink/EndpointIpConfiguration:EndpointIpConfiguration":{"properties":{"memberName":{"type":"string","description":"Specifies the member name this IP address applies to. If it is not specified, it will use the value of \u003cspan pulumi-lang-nodejs=\"`subresourceName`\" pulumi-lang-dotnet=\"`SubresourceName`\" pulumi-lang-go=\"`subresourceName`\" pulumi-lang-python=\"`subresource_name`\" pulumi-lang-yaml=\"`subresourceName`\" pulumi-lang-java=\"`subresourceName`\"\u003e`subresource_name`\u003c/span\u003e. Changing this forces a new resource to be created.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`memberName`\" pulumi-lang-dotnet=\"`MemberName`\" pulumi-lang-go=\"`memberName`\" pulumi-lang-python=\"`member_name`\" pulumi-lang-yaml=\"`memberName`\" pulumi-lang-java=\"`memberName`\"\u003e`member_name`\u003c/span\u003e will be required and will not take the value of \u003cspan pulumi-lang-nodejs=\"`subresourceName`\" pulumi-lang-dotnet=\"`SubresourceName`\" pulumi-lang-go=\"`subresourceName`\" pulumi-lang-python=\"`subresource_name`\" pulumi-lang-yaml=\"`subresourceName`\" pulumi-lang-java=\"`subresourceName`\"\u003e`subresource_name`\u003c/span\u003e in the next major version.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the Name of the IP Configuration. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"privateIpAddress":{"type":"string","description":"Specifies the static IP address within the private endpoint's subnet to be used. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"subresourceName":{"type":"string","description":"Specifies the subresource this IP address applies to. \u003cspan pulumi-lang-nodejs=\"`subresourceNames`\" pulumi-lang-dotnet=\"`SubresourceNames`\" pulumi-lang-go=\"`subresourceNames`\" pulumi-lang-python=\"`subresource_names`\" pulumi-lang-yaml=\"`subresourceNames`\" pulumi-lang-java=\"`subresourceNames`\"\u003e`subresource_names`\u003c/span\u003e corresponds to \u003cspan pulumi-lang-nodejs=\"`groupId`\" pulumi-lang-dotnet=\"`GroupId`\" pulumi-lang-go=\"`groupId`\" pulumi-lang-python=\"`group_id`\" pulumi-lang-yaml=\"`groupId`\" pulumi-lang-java=\"`groupId`\"\u003e`group_id`\u003c/span\u003e. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["name","privateIpAddress"],"language":{"nodejs":{"requiredOutputs":["memberName","name","privateIpAddress"]}}},"azure:privatelink/EndpointNetworkInterface:EndpointNetworkInterface":{"properties":{"id":{"type":"string","description":"The ID of the Private DNS Zone Config.\n"},"name":{"type":"string","description":"Specifies the Name of the Private Endpoint. Changing this forces a new resource to be created.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["id","name"]}}},"azure:privatelink/EndpointPrivateDnsZoneConfig:EndpointPrivateDnsZoneConfig":{"properties":{"id":{"type":"string","description":"The ID of the Private DNS Zone Config.\n"},"name":{"type":"string","description":"Specifies the Name of the Private Endpoint. Changing this forces a new resource to be created.\n"},"privateDnsZoneId":{"type":"string","description":"The ID of the Private DNS Zone that the config belongs to.\n"},"recordSets":{"type":"array","items":{"$ref":"#/types/azure:privatelink/EndpointPrivateDnsZoneConfigRecordSet:EndpointPrivateDnsZoneConfigRecordSet"},"description":"A \u003cspan pulumi-lang-nodejs=\"`recordSets`\" pulumi-lang-dotnet=\"`RecordSets`\" pulumi-lang-go=\"`recordSets`\" pulumi-lang-python=\"`record_sets`\" pulumi-lang-yaml=\"`recordSets`\" pulumi-lang-java=\"`recordSets`\"\u003e`record_sets`\u003c/span\u003e block as defined below.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["id","name","privateDnsZoneId","recordSets"]}}},"azure:privatelink/EndpointPrivateDnsZoneConfigRecordSet:EndpointPrivateDnsZoneConfigRecordSet":{"properties":{"fqdn":{"type":"string","description":"The fully qualified domain name to the \u003cspan pulumi-lang-nodejs=\"`privateDnsZone`\" pulumi-lang-dotnet=\"`PrivateDnsZone`\" pulumi-lang-go=\"`privateDnsZone`\" pulumi-lang-python=\"`private_dns_zone`\" pulumi-lang-yaml=\"`privateDnsZone`\" pulumi-lang-java=\"`privateDnsZone`\"\u003e`private_dns_zone`\u003c/span\u003e.\n"},"ipAddresses":{"type":"array","items":{"type":"string"},"description":"A list of all IP Addresses that map to the \u003cspan pulumi-lang-nodejs=\"`privateDnsZone`\" pulumi-lang-dotnet=\"`PrivateDnsZone`\" pulumi-lang-go=\"`privateDnsZone`\" pulumi-lang-python=\"`private_dns_zone`\" pulumi-lang-yaml=\"`privateDnsZone`\" pulumi-lang-java=\"`privateDnsZone`\"\u003e`private_dns_zone`\u003c/span\u003e fqdn.\n"},"name":{"type":"string","description":"Specifies the Name of the Private Endpoint. Changing this forces a new resource to be created.\n"},"ttl":{"type":"integer","description":"The time to live for each connection to the \u003cspan pulumi-lang-nodejs=\"`privateDnsZone`\" pulumi-lang-dotnet=\"`PrivateDnsZone`\" pulumi-lang-go=\"`privateDnsZone`\" pulumi-lang-python=\"`private_dns_zone`\" pulumi-lang-yaml=\"`privateDnsZone`\" pulumi-lang-java=\"`privateDnsZone`\"\u003e`private_dns_zone`\u003c/span\u003e.\n"},"type":{"type":"string","description":"The type of DNS record.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["fqdn","ipAddresses","name","ttl","type"]}}},"azure:privatelink/EndpointPrivateDnsZoneGroup:EndpointPrivateDnsZoneGroup":{"properties":{"id":{"type":"string","description":"The ID of the Private DNS Zone Config.\n"},"name":{"type":"string","description":"Specifies the Name of the Private DNS Zone Group.\n"},"privateDnsZoneIds":{"type":"array","items":{"type":"string"},"description":"Specifies the list of Private DNS Zones to include within the \u003cspan pulumi-lang-nodejs=\"`privateDnsZoneGroup`\" pulumi-lang-dotnet=\"`PrivateDnsZoneGroup`\" pulumi-lang-go=\"`privateDnsZoneGroup`\" pulumi-lang-python=\"`private_dns_zone_group`\" pulumi-lang-yaml=\"`privateDnsZoneGroup`\" pulumi-lang-java=\"`privateDnsZoneGroup`\"\u003e`private_dns_zone_group`\u003c/span\u003e.\n"}},"type":"object","required":["name","privateDnsZoneIds"],"language":{"nodejs":{"requiredOutputs":["id","name","privateDnsZoneIds"]}}},"azure:privatelink/EndpointPrivateServiceConnection:EndpointPrivateServiceConnection":{"properties":{"isManualConnection":{"type":"boolean","description":"Does the Private Endpoint require Manual Approval from the remote resource owner? Changing this forces a new resource to be created.\n\n\u003e **Note:** If you are trying to connect the Private Endpoint to a remote resource without having the correct RBAC permissions on the remote resource set this value to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the Name of the Private Service Connection. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"privateConnectionResourceAlias":{"type":"string","description":"The Service Alias of the Private Link Enabled Remote Resource which this Private Endpoint should be connected to. One of \u003cspan pulumi-lang-nodejs=\"`privateConnectionResourceId`\" pulumi-lang-dotnet=\"`PrivateConnectionResourceId`\" pulumi-lang-go=\"`privateConnectionResourceId`\" pulumi-lang-python=\"`private_connection_resource_id`\" pulumi-lang-yaml=\"`privateConnectionResourceId`\" pulumi-lang-java=\"`privateConnectionResourceId`\"\u003e`private_connection_resource_id`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`privateConnectionResourceAlias`\" pulumi-lang-dotnet=\"`PrivateConnectionResourceAlias`\" pulumi-lang-go=\"`privateConnectionResourceAlias`\" pulumi-lang-python=\"`private_connection_resource_alias`\" pulumi-lang-yaml=\"`privateConnectionResourceAlias`\" pulumi-lang-java=\"`privateConnectionResourceAlias`\"\u003e`private_connection_resource_alias`\u003c/span\u003e must be specified. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"privateConnectionResourceId":{"type":"string","description":"The ID of the Private Link Enabled Remote Resource which this Private Endpoint should be connected to. One of \u003cspan pulumi-lang-nodejs=\"`privateConnectionResourceId`\" pulumi-lang-dotnet=\"`PrivateConnectionResourceId`\" pulumi-lang-go=\"`privateConnectionResourceId`\" pulumi-lang-python=\"`private_connection_resource_id`\" pulumi-lang-yaml=\"`privateConnectionResourceId`\" pulumi-lang-java=\"`privateConnectionResourceId`\"\u003e`private_connection_resource_id`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`privateConnectionResourceAlias`\" pulumi-lang-dotnet=\"`PrivateConnectionResourceAlias`\" pulumi-lang-go=\"`privateConnectionResourceAlias`\" pulumi-lang-python=\"`private_connection_resource_alias`\" pulumi-lang-yaml=\"`privateConnectionResourceAlias`\" pulumi-lang-java=\"`privateConnectionResourceAlias`\"\u003e`private_connection_resource_alias`\u003c/span\u003e must be specified. Changing this forces a new resource to be created. For a web app or function app slot, the parent web app should be used in this field instead of a reference to the slot itself.\n","willReplaceOnChanges":true},"privateIpAddress":{"type":"string","description":"(Required) The static IP address set by this configuration. It is recommended to use the private IP address exported in the \u003cspan pulumi-lang-nodejs=\"`privateServiceConnection`\" pulumi-lang-dotnet=\"`PrivateServiceConnection`\" pulumi-lang-go=\"`privateServiceConnection`\" pulumi-lang-python=\"`private_service_connection`\" pulumi-lang-yaml=\"`privateServiceConnection`\" pulumi-lang-java=\"`privateServiceConnection`\"\u003e`private_service_connection`\u003c/span\u003e block to obtain the address associated with the private endpoint.\n"},"requestMessage":{"type":"string","description":"A message passed to the owner of the remote resource when the private endpoint attempts to establish the connection to the remote resource. The provider allows a maximum request message length of \u003cspan pulumi-lang-nodejs=\"`140`\" pulumi-lang-dotnet=\"`140`\" pulumi-lang-go=\"`140`\" pulumi-lang-python=\"`140`\" pulumi-lang-yaml=\"`140`\" pulumi-lang-java=\"`140`\"\u003e`140`\u003c/span\u003e characters, however the request message maximum length is dependent on the service the private endpoint is connected to. Only valid if \u003cspan pulumi-lang-nodejs=\"`isManualConnection`\" pulumi-lang-dotnet=\"`IsManualConnection`\" pulumi-lang-go=\"`isManualConnection`\" pulumi-lang-python=\"`is_manual_connection`\" pulumi-lang-yaml=\"`isManualConnection`\" pulumi-lang-java=\"`isManualConnection`\"\u003e`is_manual_connection`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n\n\u003e **Note:** When connected to an SQL resource the \u003cspan pulumi-lang-nodejs=\"`requestMessage`\" pulumi-lang-dotnet=\"`RequestMessage`\" pulumi-lang-go=\"`requestMessage`\" pulumi-lang-python=\"`request_message`\" pulumi-lang-yaml=\"`requestMessage`\" pulumi-lang-java=\"`requestMessage`\"\u003e`request_message`\u003c/span\u003e maximum length is \u003cspan pulumi-lang-nodejs=\"`128`\" pulumi-lang-dotnet=\"`128`\" pulumi-lang-go=\"`128`\" pulumi-lang-python=\"`128`\" pulumi-lang-yaml=\"`128`\" pulumi-lang-java=\"`128`\"\u003e`128`\u003c/span\u003e.\n"},"subresourceNames":{"type":"array","items":{"type":"string"},"description":"A list of subresource names which the Private Endpoint is able to connect to. \u003cspan pulumi-lang-nodejs=\"`subresourceNames`\" pulumi-lang-dotnet=\"`SubresourceNames`\" pulumi-lang-go=\"`subresourceNames`\" pulumi-lang-python=\"`subresource_names`\" pulumi-lang-yaml=\"`subresourceNames`\" pulumi-lang-java=\"`subresourceNames`\"\u003e`subresource_names`\u003c/span\u003e corresponds to \u003cspan pulumi-lang-nodejs=\"`groupId`\" pulumi-lang-dotnet=\"`GroupId`\" pulumi-lang-go=\"`groupId`\" pulumi-lang-python=\"`group_id`\" pulumi-lang-yaml=\"`groupId`\" pulumi-lang-java=\"`groupId`\"\u003e`group_id`\u003c/span\u003e. Possible values are detailed in the product [documentation](https://docs.microsoft.com/azure/private-link/private-endpoint-overview#private-link-resource) in the `Subresources` column. Changing this forces a new resource to be created. \n\n\u003e **Note:** Some resource types (such as Storage Account) only support 1 subresource per private endpoint.\n\n\u003e **Note:** For most Private Links one or more \u003cspan pulumi-lang-nodejs=\"`subresourceNames`\" pulumi-lang-dotnet=\"`SubresourceNames`\" pulumi-lang-go=\"`subresourceNames`\" pulumi-lang-python=\"`subresource_names`\" pulumi-lang-yaml=\"`subresourceNames`\" pulumi-lang-java=\"`subresourceNames`\"\u003e`subresource_names`\u003c/span\u003e will need to be specified, please see the linked documentation for details.\n","willReplaceOnChanges":true}},"type":"object","required":["isManualConnection","name"],"language":{"nodejs":{"requiredOutputs":["isManualConnection","name","privateIpAddress"]}}},"azure:privatelink/getEndpointConnectionNetworkInterface:getEndpointConnectionNetworkInterface":{"properties":{"id":{"type":"string","description":"The ID of the network interface associated with the private endpoint.\n"},"name":{"type":"string","description":"Specifies the Name of the private endpoint.\n"}},"type":"object","required":["id","name"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:privatelink/getEndpointConnectionPrivateServiceConnection:getEndpointConnectionPrivateServiceConnection":{"properties":{"name":{"type":"string","description":"Specifies the Name of the private endpoint.\n"},"privateIpAddress":{"type":"string","description":"The private IP address associated with the private endpoint, note that you will have a private IP address assigned to the private endpoint even if the connection request was `Rejected`.\n"},"requestResponse":{"type":"string","description":"Possible values are as follows:\nValue | Meaning\n-- | --\n`Auto-Approved` | The remote resource owner has added you to the `Auto-Approved` RBAC permission list for the remote resource, all private endpoint connection requests will be automatically `Approved`.\n`Deleted state` | The resource owner has `Rejected` the private endpoint connection request and has removed your private endpoint request from the remote resource.\n`request/response message` | If you submitted a manual private endpoint connection request, while in the `Pending` status the \u003cspan pulumi-lang-nodejs=\"`requestResponse`\" pulumi-lang-dotnet=\"`RequestResponse`\" pulumi-lang-go=\"`requestResponse`\" pulumi-lang-python=\"`request_response`\" pulumi-lang-yaml=\"`requestResponse`\" pulumi-lang-java=\"`requestResponse`\"\u003e`request_response`\u003c/span\u003e will display the same text from your \u003cspan pulumi-lang-nodejs=\"`requestMessage`\" pulumi-lang-dotnet=\"`RequestMessage`\" pulumi-lang-go=\"`requestMessage`\" pulumi-lang-python=\"`request_message`\" pulumi-lang-yaml=\"`requestMessage`\" pulumi-lang-java=\"`requestMessage`\"\u003e`request_message`\u003c/span\u003e in the \u003cspan pulumi-lang-nodejs=\"`privateServiceConnection`\" pulumi-lang-dotnet=\"`PrivateServiceConnection`\" pulumi-lang-go=\"`privateServiceConnection`\" pulumi-lang-python=\"`private_service_connection`\" pulumi-lang-yaml=\"`privateServiceConnection`\" pulumi-lang-java=\"`privateServiceConnection`\"\u003e`private_service_connection`\u003c/span\u003e block above. If the private endpoint connection request was `Rejected` by the owner of the remote resource, the text for the rejection will be displayed as the \u003cspan pulumi-lang-nodejs=\"`requestResponse`\" pulumi-lang-dotnet=\"`RequestResponse`\" pulumi-lang-go=\"`requestResponse`\" pulumi-lang-python=\"`request_response`\" pulumi-lang-yaml=\"`requestResponse`\" pulumi-lang-java=\"`requestResponse`\"\u003e`request_response`\u003c/span\u003e text, if the private endpoint connection request was `Approved` by the owner of the remote resource, the text for the approval will be displayed as the \u003cspan pulumi-lang-nodejs=\"`requestResponse`\" pulumi-lang-dotnet=\"`RequestResponse`\" pulumi-lang-go=\"`requestResponse`\" pulumi-lang-python=\"`request_response`\" pulumi-lang-yaml=\"`requestResponse`\" pulumi-lang-java=\"`requestResponse`\"\u003e`request_response`\u003c/span\u003e text\n"},"status":{"type":"string","description":"The current status of the private endpoint request, possible values will be `Pending`, `Approved`, `Rejected`, or `Disconnected`.\n"}},"type":"object","required":["name","privateIpAddress","requestResponse","status"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:privatelink/getServiceEndpointConnectionsPrivateEndpointConnection:getServiceEndpointConnectionsPrivateEndpointConnection":{"properties":{"actionRequired":{"type":"string","description":"A message indicating if changes on the service provider require any updates or not.\n"},"connectionId":{"type":"string","description":"The resource id of the private link service connection between the private link service and the private link endpoint.\n"},"connectionName":{"type":"string","description":"The name of the connection between the private link service and the private link endpoint.\n"},"description":{"type":"string","description":"The request for approval message or the reason for rejection message.\n"},"privateEndpointId":{"type":"string","description":"The resource id of the private link endpoint.\n"},"privateEndpointName":{"type":"string","description":"The name of the private link endpoint.\n"},"status":{"type":"string","description":"Indicates the state of the connection between the private link service and the private link endpoint, possible values are `Pending`, `Approved` or `Rejected`.\n"}},"type":"object","required":["actionRequired","connectionId","connectionName","description","privateEndpointId","privateEndpointName","status"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:privatelink/getServiceNatIpConfiguration:getServiceNatIpConfiguration":{"properties":{"name":{"type":"string","description":"The name of the private link service.\n"},"primary":{"type":"boolean","description":"Value that indicates if the IP configuration is the primary configuration or not.\n"},"privateIpAddress":{"type":"string","description":"The private IP address of the NAT IP configuration.\n"},"privateIpAddressVersion":{"type":"string","description":"The version of the IP Protocol.\n"},"subnetId":{"type":"string","description":"The ID of the subnet to be used by the service.\n"}},"type":"object","required":["name","primary","privateIpAddress","privateIpAddressVersion","subnetId"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:purview/AccountIdentity:AccountIdentity":{"properties":{"identityIds":{"type":"array","items":{"type":"string"},"description":"Specifies a list of User Assigned Managed Identity IDs to be assigned to this Purview Account.\n\n\u003e **Note:** This is required when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to `UserAssigned`.\n"},"principalId":{"type":"string","description":"The Principal ID associated with this Managed Service Identity.\n"},"tenantId":{"type":"string","description":"The Tenant ID associated with this Managed Service Identity.\n"},"type":{"type":"string","description":"Specifies the type of Managed Service Identity that should be configured on this Purview Account. Possible values are `UserAssigned` and `SystemAssigned`.\n"}},"type":"object","required":["type"],"language":{"nodejs":{"requiredOutputs":["principalId","tenantId","type"]}}},"azure:purview/AccountManagedResource:AccountManagedResource":{"properties":{"eventHubNamespaceId":{"type":"string","description":"The ID of the managed event hub namespace.\n"},"resourceGroupId":{"type":"string","description":"The ID of the managed resource group.\n"},"storageAccountId":{"type":"string","description":"The ID of the managed storage account.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["eventHubNamespaceId","resourceGroupId","storageAccountId"]}}},"azure:recoveryservices/VaultEncryption:VaultEncryption":{"properties":{"infrastructureEncryptionEnabled":{"type":"boolean","description":"Enabling/Disabling the Double Encryption state.\n"},"keyId":{"type":"string","description":"The Key Vault key id used to encrypt this vault. Key managed by Vault Managed Hardware Security Module is also supported.\n"},"useSystemAssignedIdentity":{"type":"boolean","description":"Indicate that system assigned identity should be used or not. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e. Must be set to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e when \u003cspan pulumi-lang-nodejs=\"`userAssignedIdentityId`\" pulumi-lang-dotnet=\"`UserAssignedIdentityId`\" pulumi-lang-go=\"`userAssignedIdentityId`\" pulumi-lang-python=\"`user_assigned_identity_id`\" pulumi-lang-yaml=\"`userAssignedIdentityId`\" pulumi-lang-java=\"`userAssignedIdentityId`\"\u003e`user_assigned_identity_id`\u003c/span\u003e is set.\n\n!\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`useSystemAssignedIdentity`\" pulumi-lang-dotnet=\"`UseSystemAssignedIdentity`\" pulumi-lang-go=\"`useSystemAssignedIdentity`\" pulumi-lang-python=\"`use_system_assigned_identity`\" pulumi-lang-yaml=\"`useSystemAssignedIdentity`\" pulumi-lang-java=\"`useSystemAssignedIdentity`\"\u003e`use_system_assigned_identity`\u003c/span\u003e only be able to set to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e for **new** vaults. Any vaults containing existing items registered or attempted to be registered to it are not supported. Details can be found in [the document](https://learn.microsoft.com/en-us/azure/backup/encryption-at-rest-with-cmk?tabs=portal#before-you-start)\n\n!\u003e **Note:** Once \u003cspan pulumi-lang-nodejs=\"`infrastructureEncryptionEnabled`\" pulumi-lang-dotnet=\"`InfrastructureEncryptionEnabled`\" pulumi-lang-go=\"`infrastructureEncryptionEnabled`\" pulumi-lang-python=\"`infrastructure_encryption_enabled`\" pulumi-lang-yaml=\"`infrastructureEncryptionEnabled`\" pulumi-lang-java=\"`infrastructureEncryptionEnabled`\"\u003e`infrastructure_encryption_enabled`\u003c/span\u003e has been set it's not possible to change it.\n"},"userAssignedIdentityId":{"type":"string","description":"Specifies the user assigned identity ID to be used.\n"}},"type":"object","required":["infrastructureEncryptionEnabled","keyId"]},"azure:recoveryservices/VaultIdentity:VaultIdentity":{"properties":{"identityIds":{"type":"array","items":{"type":"string"},"description":"A list of User Assigned Managed Identity IDs to be assigned to this App Configuration.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`identityIds`\" pulumi-lang-dotnet=\"`IdentityIds`\" pulumi-lang-go=\"`identityIds`\" pulumi-lang-python=\"`identity_ids`\" pulumi-lang-yaml=\"`identityIds`\" pulumi-lang-java=\"`identityIds`\"\u003e`identity_ids`\u003c/span\u003e is required when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to `UserAssigned` or `SystemAssigned, UserAssigned`.\n"},"principalId":{"type":"string","description":"The Principal ID associated with this Managed Service Identity.\n"},"tenantId":{"type":"string","description":"The Tenant ID associated with this Managed Service Identity.\n"},"type":{"type":"string","description":"Specifies the type of Managed Service Identity that should be configured on this Recovery Services Vault. Possible values are `SystemAssigned`, `UserAssigned`, `SystemAssigned, UserAssigned` (to enable both).\n"}},"type":"object","required":["type"],"language":{"nodejs":{"requiredOutputs":["principalId","tenantId","type"]}}},"azure:recoveryservices/VaultMonitoring:VaultMonitoring":{"properties":{"alertsForAllJobFailuresEnabled":{"type":"boolean","description":"Enabling/Disabling built-in Azure Monitor alerts for security scenarios and job failure scenarios. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"alertsForCriticalOperationFailuresEnabled":{"type":"boolean","description":"Enabling/Disabling alerts from the older (classic alerts) solution. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e. More details could be found [here](https://learn.microsoft.com/en-us/azure/backup/monitoring-and-alerts-overview).\n"}},"type":"object"},"azure:recoveryservices/getVaultIdentity:getVaultIdentity":{"properties":{"identityIds":{"type":"array","items":{"type":"string"}},"principalId":{"type":"string","description":"The Principal ID associated with this Managed Service Identity.\n"},"tenantId":{"type":"string","description":"The Tenant ID associated with this Managed Service Identity.\n"},"type":{"type":"string","description":"The identity type of this Managed Service Identity.\n"}},"type":"object","required":["identityIds","principalId","tenantId","type"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:redhatopenshift/ClusterApiServerProfile:ClusterApiServerProfile":{"properties":{"ipAddress":{"type":"string","description":"The IP Address the Ingress Profile is associated with.\n"},"url":{"type":"string","description":"The URL the API Server Profile is associated with.\n"},"visibility":{"type":"string","description":"Cluster API server visibility. Supported values are `Public` and `Private`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["visibility"],"language":{"nodejs":{"requiredOutputs":["ipAddress","url","visibility"]}}},"azure:redhatopenshift/ClusterClusterProfile:ClusterClusterProfile":{"properties":{"domain":{"type":"string","description":"The custom domain for the cluster. For more info, see [Prepare a custom domain for your cluster](https://docs.microsoft.com/azure/openshift/tutorial-create-cluster#prepare-a-custom-domain-for-your-cluster-optional). Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"fipsEnabled":{"type":"boolean","description":"Whether Federal Information Processing Standard (FIPS) validated cryptographic modules are used. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"managedResourceGroupName":{"type":"string","description":"The name of a Resource Group which will be created to host VMs of Azure Red Hat OpenShift Cluster. The value cannot contain uppercase characters. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"pullSecret":{"type":"string","description":"The Red Hat pull secret for the cluster. For more info, see [Get a Red Hat pull secret](https://learn.microsoft.com/azure/openshift/tutorial-create-cluster#get-a-red-hat-pull-secret-optional). Changing this forces a new resource to be created.\n","secret":true,"willReplaceOnChanges":true},"resourceGroupId":{"type":"string","description":"The resource group that the cluster profile is attached to.\n"},"version":{"type":"string","description":"The version of the OpenShift cluster. Available versions can be found with the Azure CLI command `az aro get-versions --location \u003cregion\u003e`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["domain","version"],"language":{"nodejs":{"requiredOutputs":["domain","resourceGroupId","version"]}}},"azure:redhatopenshift/ClusterIngressProfile:ClusterIngressProfile":{"properties":{"ipAddress":{"type":"string","description":"The IP Address the Ingress Profile is associated with.\n"},"name":{"type":"string","description":"The name of the Azure Red Hat OpenShift Cluster to create. Changing this forces a new resource to be created.\n"},"visibility":{"type":"string","description":"Cluster Ingress visibility. Supported values are `Public` and `Private`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["visibility"],"language":{"nodejs":{"requiredOutputs":["ipAddress","name","visibility"]}}},"azure:redhatopenshift/ClusterMainProfile:ClusterMainProfile":{"properties":{"diskEncryptionSetId":{"type":"string","description":"The resource ID of an associated disk encryption set. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"encryptionAtHostEnabled":{"type":"boolean","description":"Whether main virtual machines are encrypted at host. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Changing this forces a new resource to be created.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`encryptionAtHostEnabled`\" pulumi-lang-dotnet=\"`EncryptionAtHostEnabled`\" pulumi-lang-go=\"`encryptionAtHostEnabled`\" pulumi-lang-python=\"`encryption_at_host_enabled`\" pulumi-lang-yaml=\"`encryptionAtHostEnabled`\" pulumi-lang-java=\"`encryptionAtHostEnabled`\"\u003e`encryption_at_host_enabled`\u003c/span\u003e is only available for certain VM sizes and the `EncryptionAtHost` feature must be enabled for your subscription. Please see the [Azure documentation](https://learn.microsoft.com/azure/virtual-machines/disks-enable-host-based-encryption-portal?tabs=azure-powershell) for more information.\n","willReplaceOnChanges":true},"subnetId":{"type":"string","description":"The ID of the subnet where main nodes will be hosted. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"vmSize":{"type":"string","description":"The size of the Virtual Machines for the main nodes. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["subnetId","vmSize"]},"azure:redhatopenshift/ClusterNetworkProfile:ClusterNetworkProfile":{"properties":{"outboundType":{"type":"string","description":"The outbound (egress) routing method. Possible values are `Loadbalancer` and `UserDefinedRouting`. Defaults to `Loadbalancer`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"podCidr":{"type":"string","description":"The CIDR to use for pod IP addresses. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"preconfiguredNetworkSecurityGroupEnabled":{"type":"boolean","description":"Whether a preconfigured network security group is being used on the subnets. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"serviceCidr":{"type":"string","description":"The network range used by the OpenShift service. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["podCidr","serviceCidr"]},"azure:redhatopenshift/ClusterServicePrincipal:ClusterServicePrincipal":{"properties":{"clientId":{"type":"string","description":"The Client ID for the Service Principal.\n"},"clientSecret":{"type":"string","description":"The Client Secret for the Service Principal.\n\n\u003e **Note:** Currently a service principal cannot be associated with more than one ARO clusters on the Azure subscription.\n","secret":true}},"type":"object","required":["clientId","clientSecret"]},"azure:redhatopenshift/ClusterWorkerProfile:ClusterWorkerProfile":{"properties":{"diskEncryptionSetId":{"type":"string","description":"The resource ID of an associated disk encryption set. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"diskSizeGb":{"type":"integer","description":"The internal OS disk size of the worker Virtual Machines in GB. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"encryptionAtHostEnabled":{"type":"boolean","description":"Whether worker virtual machines are encrypted at host. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Changing this forces a new resource to be created.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`encryptionAtHostEnabled`\" pulumi-lang-dotnet=\"`EncryptionAtHostEnabled`\" pulumi-lang-go=\"`encryptionAtHostEnabled`\" pulumi-lang-python=\"`encryption_at_host_enabled`\" pulumi-lang-yaml=\"`encryptionAtHostEnabled`\" pulumi-lang-java=\"`encryptionAtHostEnabled`\"\u003e`encryption_at_host_enabled`\u003c/span\u003e is only available for certain VM sizes and the `EncryptionAtHost` feature must be enabled for your subscription. Please see the [Azure documentation](https://learn.microsoft.com/azure/virtual-machines/disks-enable-host-based-encryption-portal?tabs=azure-powershell) for more information.\n","willReplaceOnChanges":true},"nodeCount":{"type":"integer","description":"The initial number of worker nodes which should exist in the cluster. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"subnetId":{"type":"string","description":"The ID of the subnet where worker nodes will be hosted. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"vmSize":{"type":"string","description":"The size of the Virtual Machines for the worker nodes. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["diskSizeGb","nodeCount","subnetId","vmSize"]},"azure:redis/CacheIdentity:CacheIdentity":{"properties":{"identityIds":{"type":"array","items":{"type":"string"},"description":"A list of User Assigned Managed Identity IDs to be assigned to this Redis Cluster.\n\n\u003e **NOTE:** This is required when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to `UserAssigned` or `SystemAssigned, UserAssigned`.\n"},"principalId":{"type":"string"},"tenantId":{"type":"string"},"type":{"type":"string","description":"Specifies the type of Managed Service Identity that should be configured on this Redis Cluster. Possible values are `SystemAssigned`, `UserAssigned`, `SystemAssigned, UserAssigned` (to enable both).\n"}},"type":"object","required":["type"],"language":{"nodejs":{"requiredOutputs":["principalId","tenantId","type"]}}},"azure:redis/CachePatchSchedule:CachePatchSchedule":{"properties":{"dayOfWeek":{"type":"string","description":"the Weekday name - possible values include `Monday`, `Tuesday`, `Wednesday` etc.\n"},"maintenanceWindow":{"type":"string","description":"The ISO 8601 timespan which specifies the amount of time the Redis Cache can be updated. Defaults to `PT5H`.\n"},"startHourUtc":{"type":"integer","description":"the Start Hour for maintenance in UTC - possible values range from `0 - 23`.\n\n\u003e **Note:** The Patch Window lasts for \u003cspan pulumi-lang-nodejs=\"`5`\" pulumi-lang-dotnet=\"`5`\" pulumi-lang-go=\"`5`\" pulumi-lang-python=\"`5`\" pulumi-lang-yaml=\"`5`\" pulumi-lang-java=\"`5`\"\u003e`5`\u003c/span\u003e hours from the \u003cspan pulumi-lang-nodejs=\"`startHourUtc`\" pulumi-lang-dotnet=\"`StartHourUtc`\" pulumi-lang-go=\"`startHourUtc`\" pulumi-lang-python=\"`start_hour_utc`\" pulumi-lang-yaml=\"`startHourUtc`\" pulumi-lang-java=\"`startHourUtc`\"\u003e`start_hour_utc`\u003c/span\u003e.\n"}},"type":"object","required":["dayOfWeek"]},"azure:redis/CacheRedisConfiguration:CacheRedisConfiguration":{"properties":{"activeDirectoryAuthenticationEnabled":{"type":"boolean","description":"Enable Microsoft Entra (AAD) authentication. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"aofBackupEnabled":{"type":"boolean","description":"Enable or disable AOF persistence for this Redis Cache. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **NOTE:** \u003cspan pulumi-lang-nodejs=\"`aofBackupEnabled`\" pulumi-lang-dotnet=\"`AofBackupEnabled`\" pulumi-lang-go=\"`aofBackupEnabled`\" pulumi-lang-python=\"`aof_backup_enabled`\" pulumi-lang-yaml=\"`aofBackupEnabled`\" pulumi-lang-java=\"`aofBackupEnabled`\"\u003e`aof_backup_enabled`\u003c/span\u003e can only be set when SKU is `Premium`.\n"},"aofStorageConnectionString0":{"type":"string","description":"First Storage Account connection string for AOF persistence.\n","secret":true},"aofStorageConnectionString1":{"type":"string","description":"Second Storage Account connection string for AOF persistence.\n\nExample usage:\n\n","secret":true},"authenticationEnabled":{"type":"boolean","description":"If set to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e, the Redis instance will be accessible without authentication. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n\n\u003e **NOTE:** \u003cspan pulumi-lang-nodejs=\"`authenticationEnabled`\" pulumi-lang-dotnet=\"`AuthenticationEnabled`\" pulumi-lang-go=\"`authenticationEnabled`\" pulumi-lang-python=\"`authentication_enabled`\" pulumi-lang-yaml=\"`authenticationEnabled`\" pulumi-lang-java=\"`authenticationEnabled`\"\u003e`authentication_enabled`\u003c/span\u003e can only be set to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e if a \u003cspan pulumi-lang-nodejs=\"`subnetId`\" pulumi-lang-dotnet=\"`SubnetId`\" pulumi-lang-go=\"`subnetId`\" pulumi-lang-python=\"`subnet_id`\" pulumi-lang-yaml=\"`subnetId`\" pulumi-lang-java=\"`subnetId`\"\u003e`subnet_id`\u003c/span\u003e is specified; and only works if there aren't existing instances within the subnet with \u003cspan pulumi-lang-nodejs=\"`authenticationEnabled`\" pulumi-lang-dotnet=\"`AuthenticationEnabled`\" pulumi-lang-go=\"`authenticationEnabled`\" pulumi-lang-python=\"`authentication_enabled`\" pulumi-lang-yaml=\"`authenticationEnabled`\" pulumi-lang-java=\"`authenticationEnabled`\"\u003e`authentication_enabled`\u003c/span\u003e set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"dataPersistenceAuthenticationMethod":{"type":"string","description":"Preferred auth method to communicate to storage account used for data persistence. Possible values are `SAS` and `ManagedIdentity`.\n"},"maxclients":{"type":"integer","description":"Returns the max number of connected clients at the same time.\n"},"maxfragmentationmemoryReserved":{"type":"integer","description":"Value in megabytes reserved to accommodate for memory fragmentation. Defaults are shown below.\n"},"maxmemoryDelta":{"type":"integer","description":"The max-memory delta for this Redis instance. Defaults are shown below.\n"},"maxmemoryPolicy":{"type":"string","description":"How Redis will select what to remove when \u003cspan pulumi-lang-nodejs=\"`maxmemory`\" pulumi-lang-dotnet=\"`Maxmemory`\" pulumi-lang-go=\"`maxmemory`\" pulumi-lang-python=\"`maxmemory`\" pulumi-lang-yaml=\"`maxmemory`\" pulumi-lang-java=\"`maxmemory`\"\u003e`maxmemory`\u003c/span\u003e is reached. Defaults to `volatile-lru`.\n"},"maxmemoryReserved":{"type":"integer","description":"Value in megabytes reserved for non-cache usage e.g. failover. Defaults are shown below.\n"},"notifyKeyspaceEvents":{"type":"string","description":"Keyspace notifications allows clients to subscribe to Pub/Sub channels in order to receive events affecting the Redis data set in some way. [Reference](https://redis.io/topics/notifications#configuration)\n\n"},"rdbBackupEnabled":{"type":"boolean","description":"Is Backup Enabled? Only supported on Premium SKUs. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **NOTE:** If \u003cspan pulumi-lang-nodejs=\"`rdbBackupEnabled`\" pulumi-lang-dotnet=\"`RdbBackupEnabled`\" pulumi-lang-go=\"`rdbBackupEnabled`\" pulumi-lang-python=\"`rdb_backup_enabled`\" pulumi-lang-yaml=\"`rdbBackupEnabled`\" pulumi-lang-java=\"`rdbBackupEnabled`\"\u003e`rdb_backup_enabled`\u003c/span\u003e set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`rdbStorageConnectionString`\" pulumi-lang-dotnet=\"`RdbStorageConnectionString`\" pulumi-lang-go=\"`rdbStorageConnectionString`\" pulumi-lang-python=\"`rdb_storage_connection_string`\" pulumi-lang-yaml=\"`rdbStorageConnectionString`\" pulumi-lang-java=\"`rdbStorageConnectionString`\"\u003e`rdb_storage_connection_string`\u003c/span\u003e must also be set.\n"},"rdbBackupFrequency":{"type":"integer","description":"The Backup Frequency in Minutes. Only supported on Premium SKUs. Possible values are: \u003cspan pulumi-lang-nodejs=\"`15`\" pulumi-lang-dotnet=\"`15`\" pulumi-lang-go=\"`15`\" pulumi-lang-python=\"`15`\" pulumi-lang-yaml=\"`15`\" pulumi-lang-java=\"`15`\"\u003e`15`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`30`\" pulumi-lang-dotnet=\"`30`\" pulumi-lang-go=\"`30`\" pulumi-lang-python=\"`30`\" pulumi-lang-yaml=\"`30`\" pulumi-lang-java=\"`30`\"\u003e`30`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`60`\" pulumi-lang-dotnet=\"`60`\" pulumi-lang-go=\"`60`\" pulumi-lang-python=\"`60`\" pulumi-lang-yaml=\"`60`\" pulumi-lang-java=\"`60`\"\u003e`60`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`360`\" pulumi-lang-dotnet=\"`360`\" pulumi-lang-go=\"`360`\" pulumi-lang-python=\"`360`\" pulumi-lang-yaml=\"`360`\" pulumi-lang-java=\"`360`\"\u003e`360`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`720`\" pulumi-lang-dotnet=\"`720`\" pulumi-lang-go=\"`720`\" pulumi-lang-python=\"`720`\" pulumi-lang-yaml=\"`720`\" pulumi-lang-java=\"`720`\"\u003e`720`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`1440`\" pulumi-lang-dotnet=\"`1440`\" pulumi-lang-go=\"`1440`\" pulumi-lang-python=\"`1440`\" pulumi-lang-yaml=\"`1440`\" pulumi-lang-java=\"`1440`\"\u003e`1440`\u003c/span\u003e.\n"},"rdbBackupMaxSnapshotCount":{"type":"integer","description":"The maximum number of snapshots to create as a backup. Only supported for Premium SKUs.\n"},"rdbStorageConnectionString":{"type":"string","description":"The Connection String to the Storage Account. Only supported for Premium SKUs. In the format: `DefaultEndpointsProtocol=https;BlobEndpoint=${azurerm_storage_account.example.primary_blob_endpoint};AccountName=${azurerm_storage_account.example.name};AccountKey=${azurerm_storage_account.example.primary_access_key}`.\n\n\u003e **NOTE:** There's a bug in the Redis API where the original storage connection string isn't being returned, which [is being tracked in this issue](https://github.com/Azure/azure-rest-api-specs/issues/3037). In the interim you can use [the `ignoreChanges` attribute to ignore changes to this field](https://www.pulumi.com/docs/intro/concepts/programming-model/#ignorechanges) e.g.:\n","secret":true},"storageAccountSubscriptionId":{"type":"string","description":"The ID of the Subscription containing the Storage Account.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["maxclients","maxfragmentationmemoryReserved","maxmemoryDelta","maxmemoryReserved"]}}},"azure:redis/EnterpriseDatabaseModule:EnterpriseDatabaseModule":{"properties":{"args":{"type":"string","description":"Configuration options for the module (e.g. `ERROR_RATE 0.00 INITIAL_SIZE 400`). Changing this forces a new resource to be created. Defaults to `\"\"`.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this module. Possible values are `RedisBloom`, `RedisTimeSeries`, `RediSearch` and `RedisJSON`. Changing this forces a new Redis Enterprise Database to be created.\n","willReplaceOnChanges":true},"version":{"type":"string"}},"type":"object","required":["name"],"language":{"nodejs":{"requiredOutputs":["name","version"]}}},"azure:redis/getCachePatchSchedule:getCachePatchSchedule":{"properties":{"dayOfWeek":{"type":"string","description":"the Weekday name for the patch item\n"},"maintenanceWindow":{"type":"string","description":"The ISO 8601 timespan which specifies the amount of time the Redis Cache can be updated.\n"},"startHourUtc":{"type":"integer","description":"The Start Hour for maintenance in UTC\n"}},"type":"object","required":["dayOfWeek","maintenanceWindow","startHourUtc"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:redis/getCacheRedisConfiguration:getCacheRedisConfiguration":{"properties":{"activeDirectoryAuthenticationEnabled":{"type":"boolean","description":"Specifies if Microsoft Entra (AAD) authentication is enabled.\n"},"aofBackupEnabled":{"type":"boolean"},"aofStorageConnectionString0":{"type":"string","secret":true},"aofStorageConnectionString1":{"type":"string","secret":true},"authenticationEnabled":{"type":"boolean"},"dataPersistenceAuthenticationMethod":{"type":"string"},"maxclients":{"type":"integer"},"maxfragmentationmemoryReserved":{"type":"integer","description":"Value in megabytes reserved to accommodate for memory fragmentation.\n"},"maxmemoryDelta":{"type":"integer","description":"The max-memory delta for this Redis instance.\n"},"maxmemoryPolicy":{"type":"string","description":"How Redis will select what to remove when \u003cspan pulumi-lang-nodejs=\"`maxmemory`\" pulumi-lang-dotnet=\"`Maxmemory`\" pulumi-lang-go=\"`maxmemory`\" pulumi-lang-python=\"`maxmemory`\" pulumi-lang-yaml=\"`maxmemory`\" pulumi-lang-java=\"`maxmemory`\"\u003e`maxmemory`\u003c/span\u003e is reached.\n"},"maxmemoryReserved":{"type":"integer","description":"The value in megabytes reserved for non-cache usage e.g. failover\n"},"notifyKeyspaceEvents":{"type":"string"},"rdbBackupEnabled":{"type":"boolean","description":"Is Backup Enabled? Only supported on Premium SKUs.\n"},"rdbBackupFrequency":{"type":"integer","description":"The Backup Frequency in Minutes. Only supported on Premium SKUs.\n"},"rdbBackupMaxSnapshotCount":{"type":"integer","description":"The maximum number of snapshots that can be created as a backup.\n"},"rdbStorageConnectionString":{"type":"string","description":"The Connection String to the Storage Account. Only supported for Premium SKUs.\n","secret":true},"storageAccountSubscriptionId":{"type":"string","description":"The ID of the Subscription containing the Storage Account.\n"}},"type":"object","required":["activeDirectoryAuthenticationEnabled","aofBackupEnabled","aofStorageConnectionString0","aofStorageConnectionString1","authenticationEnabled","dataPersistenceAuthenticationMethod","maxclients","maxfragmentationmemoryReserved","maxmemoryDelta","maxmemoryPolicy","maxmemoryReserved","notifyKeyspaceEvents","rdbBackupEnabled","rdbBackupFrequency","rdbBackupMaxSnapshotCount","rdbStorageConnectionString","storageAccountSubscriptionId"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:role/DefinitionPermission:DefinitionPermission":{"properties":{"actions":{"type":"array","items":{"type":"string"},"description":"One or more Allowed Actions, such as `*`, `Microsoft.Resources/subscriptions/resourceGroups/read`. See ['Azure Resource Manager resource provider operations'](https://docs.microsoft.com/azure/role-based-access-control/resource-provider-operations) for details.\n"},"dataActions":{"type":"array","items":{"type":"string"},"description":"One or more Allowed Data Actions, such as `*`, `Microsoft.Storage/storageAccounts/blobServices/containers/blobs/read`. See ['Azure Resource Manager resource provider operations'](https://docs.microsoft.com/azure/role-based-access-control/resource-provider-operations) for details.\n"},"notActions":{"type":"array","items":{"type":"string"},"description":"One or more Disallowed Actions, such as `*`, `Microsoft.Resources/subscriptions/resourceGroups/read`. See ['Azure Resource Manager resource provider operations'](https://docs.microsoft.com/azure/role-based-access-control/resource-provider-operations) for details.\n"},"notDataActions":{"type":"array","items":{"type":"string"},"description":"One or more Disallowed Data Actions, such as `*`, `Microsoft.Resources/subscriptions/resourceGroups/read`. See ['Azure Resource Manager resource provider operations'](https://docs.microsoft.com/azure/role-based-access-control/resource-provider-operations) for details.\n"}},"type":"object"},"azure:role/getRoleDefinitionPermission:getRoleDefinitionPermission":{"properties":{"actions":{"type":"array","items":{"type":"string"},"description":"A list of actions supported by this role.\n"},"condition":{"type":"string","description":"The conditions on this role definition, which limits the resources it can be assigned to.\n"},"conditionVersion":{"type":"string","description":"The version of the condition.\n"},"dataActions":{"type":"array","items":{"type":"string"},"description":"A list of data actions allowed by this role.\n"},"notActions":{"type":"array","items":{"type":"string"},"description":"A list of actions which are denied by this role.\n"},"notDataActions":{"type":"array","items":{"type":"string"},"description":"A list of data actions which are denied by this role.\n"}},"type":"object","required":["actions","condition","conditionVersion","notActions"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:search/ServiceIdentity:ServiceIdentity":{"properties":{"identityIds":{"type":"array","items":{"type":"string"},"description":"Specifies the list of User Assigned Managed Service Identity IDs which should be assigned to this Search Service.\n"},"principalId":{"type":"string","description":"The Principal ID associated with this Managed Service Identity.\n"},"tenantId":{"type":"string","description":"The Tenant ID associated with this Managed Service Identity.\n"},"type":{"type":"string","description":"Specifies the type of Managed Service Identity that should be configured on this Search Service. Possible values are `SystemAssigned`, `UserAssigned`, and `SystemAssigned, UserAssigned`.\n"}},"type":"object","required":["type"],"language":{"nodejs":{"requiredOutputs":["principalId","tenantId","type"]}}},"azure:search/ServiceQueryKey:ServiceQueryKey":{"properties":{"key":{"type":"string","description":"The value of this Query Key.\n"},"name":{"type":"string","description":"The Name which should be used for this Search Service. Changing this forces a new Search Service to be created.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["key","name"]}}},"azure:search/getServiceIdentity:getServiceIdentity":{"properties":{"identityIds":{"type":"array","items":{"type":"string"},"description":"The list of User Assigned Managed Service Identity IDs assigned to this Search Service.\n"},"principalId":{"type":"string","description":"The Principal ID associated with this Managed Service Identity.\n"},"tenantId":{"type":"string","description":"The Tenant ID associated with this Managed Service Identity.\n"},"type":{"type":"string","description":"The identity type of this Managed Service Identity.\n"}},"type":"object","required":["identityIds","principalId","tenantId","type"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:search/getServiceQueryKey:getServiceQueryKey":{"properties":{"key":{"type":"string","description":"The value of this Query Key.\n"},"name":{"type":"string","description":"The Name of the Search Service.\n"}},"type":"object","required":["key","name"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:securitycenter/AssessmentStatus:AssessmentStatus":{"properties":{"cause":{"type":"string","description":"Specifies the cause of the assessment status.\n"},"code":{"type":"string","description":"Specifies the programmatic code of the assessment status. Possible values are `Healthy`, `Unhealthy` and `NotApplicable`.\n"},"description":{"type":"string","description":"Specifies the human readable description of the assessment status.\n"}},"type":"object","required":["code"]},"azure:securitycenter/AutomationAction:AutomationAction":{"properties":{"connectionString":{"type":"string","description":"A connection string to send data to the target Event Hub namespace, this should include a key with send permissions.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`connectionString`\" pulumi-lang-dotnet=\"`ConnectionString`\" pulumi-lang-go=\"`connectionString`\" pulumi-lang-python=\"`connection_string`\" pulumi-lang-yaml=\"`connectionString`\" pulumi-lang-java=\"`connectionString`\"\u003e`connection_string`\u003c/span\u003e is required when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is `EventHub`.\n","secret":true},"resourceId":{"type":"string","description":"The resource id of the target Logic App, Event Hub namespace or Log Analytics workspace.\n"},"triggerUrl":{"type":"string","description":"The callback URL to trigger the Logic App that will receive and process data sent by this automation. This can be found in the Azure Portal under \"See trigger history\"\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`triggerUrl`\" pulumi-lang-dotnet=\"`TriggerUrl`\" pulumi-lang-go=\"`triggerUrl`\" pulumi-lang-python=\"`trigger_url`\" pulumi-lang-yaml=\"`triggerUrl`\" pulumi-lang-java=\"`triggerUrl`\"\u003e`trigger_url`\u003c/span\u003e is required when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is `LogicApp`.\n","secret":true},"type":{"type":"string","description":"Type of Azure resource to send data to. Possible values are `EventHub`, `LogicApp` and `Workspace`.\n"}},"type":"object","required":["resourceId"],"language":{"nodejs":{"requiredOutputs":["resourceId","type"]}}},"azure:securitycenter/AutomationSource:AutomationSource":{"properties":{"eventSource":{"type":"string","description":"Type of data that will trigger this automation. Must be one of `Alerts`, `Assessments`, `AssessmentsSnapshot`, `RegulatoryComplianceAssessment`, `RegulatoryComplianceAssessmentSnapshot`, `SecureScoreControls`, `SecureScoreControlsSnapshot`, `SecureScores`, `SecureScoresSnapshot`, `SubAssessments` or `SubAssessmentsSnapshot`. Note. assessments are also referred to as recommendations\n"},"ruleSets":{"type":"array","items":{"$ref":"#/types/azure:securitycenter/AutomationSourceRuleSet:AutomationSourceRuleSet"},"description":"A set of rules which evaluate upon event and data interception. This is defined in one or more \u003cspan pulumi-lang-nodejs=\"`ruleSet`\" pulumi-lang-dotnet=\"`RuleSet`\" pulumi-lang-go=\"`ruleSet`\" pulumi-lang-python=\"`rule_set`\" pulumi-lang-yaml=\"`ruleSet`\" pulumi-lang-java=\"`ruleSet`\"\u003e`rule_set`\u003c/span\u003e blocks as defined below.\n\n\u003e **Note:** When multiple \u003cspan pulumi-lang-nodejs=\"`ruleSet`\" pulumi-lang-dotnet=\"`RuleSet`\" pulumi-lang-go=\"`ruleSet`\" pulumi-lang-python=\"`rule_set`\" pulumi-lang-yaml=\"`ruleSet`\" pulumi-lang-java=\"`ruleSet`\"\u003e`rule_set`\u003c/span\u003e block are provided, a logical 'OR' is applied to the evaluation of them.\n"}},"type":"object","required":["eventSource"]},"azure:securitycenter/AutomationSourceRuleSet:AutomationSourceRuleSet":{"properties":{"rules":{"type":"array","items":{"$ref":"#/types/azure:securitycenter/AutomationSourceRuleSetRule:AutomationSourceRuleSetRule"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`rule`\" pulumi-lang-dotnet=\"`Rule`\" pulumi-lang-go=\"`rule`\" pulumi-lang-python=\"`rule`\" pulumi-lang-yaml=\"`rule`\" pulumi-lang-java=\"`rule`\"\u003e`rule`\u003c/span\u003e blocks as defined below.\n\n\u003e **Note:** This automation will trigger when all of the \u003cspan pulumi-lang-nodejs=\"`rule`\" pulumi-lang-dotnet=\"`Rule`\" pulumi-lang-go=\"`rule`\" pulumi-lang-python=\"`rule`\" pulumi-lang-yaml=\"`rule`\" pulumi-lang-java=\"`rule`\"\u003e`rule`\u003c/span\u003es in this \u003cspan pulumi-lang-nodejs=\"`ruleSet`\" pulumi-lang-dotnet=\"`RuleSet`\" pulumi-lang-go=\"`ruleSet`\" pulumi-lang-python=\"`rule_set`\" pulumi-lang-yaml=\"`ruleSet`\" pulumi-lang-java=\"`ruleSet`\"\u003e`rule_set`\u003c/span\u003e are evaluated as 'true'. This is equivalent to a logical 'AND'.\n"}},"type":"object","required":["rules"]},"azure:securitycenter/AutomationSourceRuleSetRule:AutomationSourceRuleSetRule":{"properties":{"expectedValue":{"type":"string","description":"A value that will be compared with the value in \u003cspan pulumi-lang-nodejs=\"`propertyPath`\" pulumi-lang-dotnet=\"`PropertyPath`\" pulumi-lang-go=\"`propertyPath`\" pulumi-lang-python=\"`property_path`\" pulumi-lang-yaml=\"`propertyPath`\" pulumi-lang-java=\"`propertyPath`\"\u003e`property_path`\u003c/span\u003e.\n"},"operator":{"type":"string","description":"The comparison operator to use, must be one of: `Contains`, `EndsWith`, `Equals`, `GreaterThan`, `GreaterThanOrEqualTo`, `LesserThan`, `LesserThanOrEqualTo`, `NotEquals`, `StartsWith`\n"},"propertyPath":{"type":"string","description":"The JPath of the entity model property that should be checked.\n"},"propertyType":{"type":"string","description":"The data type of the compared operands, must be one of: `Integer`, `String`, `Boolean` or `Number`.\n\n\u003e **Note:** The schema for Security Center alerts (when \u003cspan pulumi-lang-nodejs=\"`eventSource`\" pulumi-lang-dotnet=\"`EventSource`\" pulumi-lang-go=\"`eventSource`\" pulumi-lang-python=\"`event_source`\" pulumi-lang-yaml=\"`eventSource`\" pulumi-lang-java=\"`eventSource`\"\u003e`event_source`\u003c/span\u003e is \"Alerts\") [can be found here](https://docs.microsoft.com/azure/security-center/alerts-schemas?tabs=schema-continuousexport)\n"}},"type":"object","required":["expectedValue","operator","propertyPath","propertyType"]},"azure:securitycenter/SubscriptionPricingExtension:SubscriptionPricingExtension":{"properties":{"additionalExtensionProperties":{"type":"object","additionalProperties":{"type":"string"},"description":"Key/Value pairs that are required for some extensions.\n\n\u003e **Note:** If an extension is not defined, it will not be enabled.\n\n\u003e **Note:** Changing the pricing tier to `Standard` affects all resources of the given type in the subscription and could be quite costly.\n"},"name":{"type":"string","description":"The name of extension.\n"}},"type":"object","required":["name"]},"azure:sentinel/AlertRuleAnomalyBuiltInMultiSelectObservation:AlertRuleAnomalyBuiltInMultiSelectObservation":{"properties":{"description":{"type":"string","description":"The description of the threshold observation.\n"},"name":{"type":"string","description":"The Name of the built-in Anomaly Alert Rule.\n"},"supportedValues":{"type":"array","items":{"type":"string"},"description":"A list of supported values of the single select observation.\n"},"values":{"type":"array","items":{"type":"string"},"description":"A list of values of the single select observation.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["description","name","supportedValues","values"]}}},"azure:sentinel/AlertRuleAnomalyBuiltInPrioritizedExcludeObservation:AlertRuleAnomalyBuiltInPrioritizedExcludeObservation":{"properties":{"description":{"type":"string","description":"The description of the threshold observation.\n"},"exclude":{"type":"string","description":"The excluded value per \u003cspan pulumi-lang-nodejs=\"`description`\" pulumi-lang-dotnet=\"`Description`\" pulumi-lang-go=\"`description`\" pulumi-lang-python=\"`description`\" pulumi-lang-yaml=\"`description`\" pulumi-lang-java=\"`description`\"\u003e`description`\u003c/span\u003e.\n"},"name":{"type":"string","description":"The Name of the built-in Anomaly Alert Rule.\n"},"prioritize":{"type":"string","description":"The prioritized value per \u003cspan pulumi-lang-nodejs=\"`description`\" pulumi-lang-dotnet=\"`Description`\" pulumi-lang-go=\"`description`\" pulumi-lang-python=\"`description`\" pulumi-lang-yaml=\"`description`\" pulumi-lang-java=\"`description`\"\u003e`description`\u003c/span\u003e.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["description","exclude","name","prioritize"]}}},"azure:sentinel/AlertRuleAnomalyBuiltInRequiredDataConnector:AlertRuleAnomalyBuiltInRequiredDataConnector":{"properties":{"connectorId":{"type":"string","description":"The ID of the required Data Connector.\n"},"dataTypes":{"type":"array","items":{"type":"string"},"description":"A list of data types of the required Data Connector.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["connectorId","dataTypes"]}}},"azure:sentinel/AlertRuleAnomalyBuiltInSingleSelectObservation:AlertRuleAnomalyBuiltInSingleSelectObservation":{"properties":{"description":{"type":"string","description":"The description of the threshold observation.\n"},"name":{"type":"string","description":"The Name of the built-in Anomaly Alert Rule.\n"},"supportedValues":{"type":"array","items":{"type":"string"},"description":"A list of supported values of the single select observation.\n"},"value":{"type":"string","description":"The value of the threshold observation.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["description","name","supportedValues","value"]}}},"azure:sentinel/AlertRuleAnomalyBuiltInThresholdObservation:AlertRuleAnomalyBuiltInThresholdObservation":{"properties":{"description":{"type":"string","description":"The description of the threshold observation.\n"},"max":{"type":"string","description":"The max value of the threshold observation.\n"},"min":{"type":"string","description":"The min value of the threshold observation.\n"},"name":{"type":"string","description":"The Name of the built-in Anomaly Alert Rule.\n"},"value":{"type":"string","description":"The value of the threshold observation.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["description","max","min","name","value"]}}},"azure:sentinel/AlertRuleAnomalyDuplicateMultiSelectObservation:AlertRuleAnomalyDuplicateMultiSelectObservation":{"properties":{"description":{"type":"string","description":"The description of the multi select observation.\n"},"name":{"type":"string","description":"The name of the multi select observation.\n"},"supportedValues":{"type":"array","items":{"type":"string"},"description":"A list of supported values of the multi select observation.\n"},"values":{"type":"array","items":{"type":"string"},"description":"A list of values of the multi select observation.\n"}},"type":"object","required":["name","values"],"language":{"nodejs":{"requiredOutputs":["description","name","supportedValues","values"]}}},"azure:sentinel/AlertRuleAnomalyDuplicatePrioritizedExcludeObservation:AlertRuleAnomalyDuplicatePrioritizedExcludeObservation":{"properties":{"description":{"type":"string","description":"The description of the prioritized exclude observation.\n"},"exclude":{"type":"string","description":"The excluded value per \u003cspan pulumi-lang-nodejs=\"`description`\" pulumi-lang-dotnet=\"`Description`\" pulumi-lang-go=\"`description`\" pulumi-lang-python=\"`description`\" pulumi-lang-yaml=\"`description`\" pulumi-lang-java=\"`description`\"\u003e`description`\u003c/span\u003e.\n"},"name":{"type":"string","description":"The name of the prioritized exclude observation.\n"},"prioritize":{"type":"string","description":"The prioritized value per \u003cspan pulumi-lang-nodejs=\"`description`\" pulumi-lang-dotnet=\"`Description`\" pulumi-lang-go=\"`description`\" pulumi-lang-python=\"`description`\" pulumi-lang-yaml=\"`description`\" pulumi-lang-java=\"`description`\"\u003e`description`\u003c/span\u003e.\n"}},"type":"object","required":["name"],"language":{"nodejs":{"requiredOutputs":["description","name"]}}},"azure:sentinel/AlertRuleAnomalyDuplicateRequiredDataConnector:AlertRuleAnomalyDuplicateRequiredDataConnector":{"properties":{"connectorId":{"type":"string","description":"The ID of the required Data Connector.\n"},"dataTypes":{"type":"array","items":{"type":"string"},"description":"A list of data types of the required Data Connector.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["connectorId","dataTypes"]}}},"azure:sentinel/AlertRuleAnomalyDuplicateSingleSelectObservation:AlertRuleAnomalyDuplicateSingleSelectObservation":{"properties":{"description":{"type":"string","description":"The description of the single select observation.\n"},"name":{"type":"string","description":"The name of the single select observation.\n"},"supportedValues":{"type":"array","items":{"type":"string"},"description":"A list of supported values of the single select observation.\n"},"value":{"type":"string","description":"The value of the multi select observation.\n"}},"type":"object","required":["name","value"],"language":{"nodejs":{"requiredOutputs":["description","name","supportedValues","value"]}}},"azure:sentinel/AlertRuleAnomalyDuplicateThresholdObservation:AlertRuleAnomalyDuplicateThresholdObservation":{"properties":{"description":{"type":"string","description":"The description of the threshold observation.\n"},"max":{"type":"string","description":"The max value of the threshold observation.\n"},"min":{"type":"string","description":"The min value of the threshold observation.\n"},"name":{"type":"string","description":"The name of the threshold observation.\n"},"value":{"type":"string","description":"The value of the threshold observation.\n"}},"type":"object","required":["name","value"],"language":{"nodejs":{"requiredOutputs":["description","max","min","name","value"]}}},"azure:sentinel/AlertRuleFusionSource:AlertRuleFusionSource":{"properties":{"enabled":{"type":"boolean","description":"Whether this source signal is enabled or disabled in Fusion detection? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"name":{"type":"string","description":"The name of the Fusion source signal. Refer to Fusion alert rule template for supported values.\n"},"subTypes":{"type":"array","items":{"$ref":"#/types/azure:sentinel/AlertRuleFusionSourceSubType:AlertRuleFusionSourceSubType"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`subType`\" pulumi-lang-dotnet=\"`SubType`\" pulumi-lang-go=\"`subType`\" pulumi-lang-python=\"`sub_type`\" pulumi-lang-yaml=\"`subType`\" pulumi-lang-java=\"`subType`\"\u003e`sub_type`\u003c/span\u003e blocks as defined below.\n"}},"type":"object","required":["name"]},"azure:sentinel/AlertRuleFusionSourceSubType:AlertRuleFusionSourceSubType":{"properties":{"enabled":{"type":"boolean","description":"Whether this source subtype under source signal is enabled or disabled in Fusion detection. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"name":{"type":"string","description":"The Name of the source subtype under a given source signal in Fusion detection. Refer to Fusion alert rule template for supported values.\n"},"severitiesAlloweds":{"type":"array","items":{"type":"string"},"description":"A list of severities that are enabled for this source subtype consumed in Fusion detection. Possible values for each element are `High`, `Medium`, `Low`, `Informational`.\n"}},"type":"object","required":["name","severitiesAlloweds"]},"azure:sentinel/AlertRuleNrtAlertDetailsOverride:AlertRuleNrtAlertDetailsOverride":{"properties":{"descriptionFormat":{"type":"string","description":"The format containing columns name(s) to override the description of this Sentinel Alert Rule.\n"},"displayNameFormat":{"type":"string","description":"The format containing columns name(s) to override the name of this Sentinel Alert Rule.\n"},"dynamicProperties":{"type":"array","items":{"$ref":"#/types/azure:sentinel/AlertRuleNrtAlertDetailsOverrideDynamicProperty:AlertRuleNrtAlertDetailsOverrideDynamicProperty"},"description":"A list of \u003cspan pulumi-lang-nodejs=\"`dynamicProperty`\" pulumi-lang-dotnet=\"`DynamicProperty`\" pulumi-lang-go=\"`dynamicProperty`\" pulumi-lang-python=\"`dynamic_property`\" pulumi-lang-yaml=\"`dynamicProperty`\" pulumi-lang-java=\"`dynamicProperty`\"\u003e`dynamic_property`\u003c/span\u003e blocks as defined below.\n"},"severityColumnName":{"type":"string","description":"The column name to take the alert severity from.\n"},"tacticsColumnName":{"type":"string","description":"The column name to take the alert tactics from.\n"}},"type":"object"},"azure:sentinel/AlertRuleNrtAlertDetailsOverrideDynamicProperty:AlertRuleNrtAlertDetailsOverrideDynamicProperty":{"properties":{"name":{"type":"string","description":"The name of the dynamic property. Possible values are `AlertLink`, `ConfidenceLevel`, `ConfidenceScore`, `ExtendedLinks`, `ProductComponentName`, `ProductName`, `ProviderName`, `RemediationSteps`, `SubTechniques` and `Techniques`.\n"},"value":{"type":"string","description":"The value of the dynamic property. Pssible Values are `Caller`, `dcount_ResourceId` and `EventSubmissionTimestamp`.\n"}},"type":"object","required":["name","value"]},"azure:sentinel/AlertRuleNrtEntityMapping:AlertRuleNrtEntityMapping":{"properties":{"entityType":{"type":"string","description":"The type of the entity. Possible values are `Account`, `AzureResource`, `CloudApplication`, `DNS`, `File`, `FileHash`, `Host`, `IP`, `Mailbox`, `MailCluster`, `MailMessage`, `Malware`, `Process`, `RegistryKey`, `RegistryValue`, `SecurityGroup`, `SubmissionMail`, `URL`.\n"},"fieldMappings":{"type":"array","items":{"$ref":"#/types/azure:sentinel/AlertRuleNrtEntityMappingFieldMapping:AlertRuleNrtEntityMappingFieldMapping"},"description":"A list of \u003cspan pulumi-lang-nodejs=\"`fieldMapping`\" pulumi-lang-dotnet=\"`FieldMapping`\" pulumi-lang-go=\"`fieldMapping`\" pulumi-lang-python=\"`field_mapping`\" pulumi-lang-yaml=\"`fieldMapping`\" pulumi-lang-java=\"`fieldMapping`\"\u003e`field_mapping`\u003c/span\u003e blocks as defined below.\n"}},"type":"object","required":["entityType","fieldMappings"]},"azure:sentinel/AlertRuleNrtEntityMappingFieldMapping:AlertRuleNrtEntityMappingFieldMapping":{"properties":{"columnName":{"type":"string","description":"The column name to be mapped to the identifier.\n"},"identifier":{"type":"string","description":"The identifier of the entity.\n"}},"type":"object","required":["columnName","identifier"]},"azure:sentinel/AlertRuleNrtEventGrouping:AlertRuleNrtEventGrouping":{"properties":{"aggregationMethod":{"type":"string","description":"The aggregation type of grouping the events. Possible values are `AlertPerResult` and `SingleAlert`.\n"}},"type":"object","required":["aggregationMethod"]},"azure:sentinel/AlertRuleNrtIncident:AlertRuleNrtIncident":{"properties":{"createIncidentEnabled":{"type":"boolean","description":"Whether to create an incident from alerts triggered by this Sentinel NRT Alert Rule?\n"},"grouping":{"$ref":"#/types/azure:sentinel/AlertRuleNrtIncidentGrouping:AlertRuleNrtIncidentGrouping","description":"A \u003cspan pulumi-lang-nodejs=\"`grouping`\" pulumi-lang-dotnet=\"`Grouping`\" pulumi-lang-go=\"`grouping`\" pulumi-lang-python=\"`grouping`\" pulumi-lang-yaml=\"`grouping`\" pulumi-lang-java=\"`grouping`\"\u003e`grouping`\u003c/span\u003e block as defined below.\n"}},"type":"object","required":["createIncidentEnabled","grouping"]},"azure:sentinel/AlertRuleNrtIncidentGrouping:AlertRuleNrtIncidentGrouping":{"properties":{"byAlertDetails":{"type":"array","items":{"type":"string"},"description":"A list of alert details to group by, only when the \u003cspan pulumi-lang-nodejs=\"`entityMatchingMethod`\" pulumi-lang-dotnet=\"`EntityMatchingMethod`\" pulumi-lang-go=\"`entityMatchingMethod`\" pulumi-lang-python=\"`entity_matching_method`\" pulumi-lang-yaml=\"`entityMatchingMethod`\" pulumi-lang-java=\"`entityMatchingMethod`\"\u003e`entity_matching_method`\u003c/span\u003e is `Selected`. Possible values are `DisplayName` and `Severity`.\n"},"byCustomDetails":{"type":"array","items":{"type":"string"},"description":"A list of custom details keys to group by, only when the \u003cspan pulumi-lang-nodejs=\"`entityMatchingMethod`\" pulumi-lang-dotnet=\"`EntityMatchingMethod`\" pulumi-lang-go=\"`entityMatchingMethod`\" pulumi-lang-python=\"`entity_matching_method`\" pulumi-lang-yaml=\"`entityMatchingMethod`\" pulumi-lang-java=\"`entityMatchingMethod`\"\u003e`entity_matching_method`\u003c/span\u003e is `Selected`. Only keys defined in the \u003cspan pulumi-lang-nodejs=\"`customDetails`\" pulumi-lang-dotnet=\"`CustomDetails`\" pulumi-lang-go=\"`customDetails`\" pulumi-lang-python=\"`custom_details`\" pulumi-lang-yaml=\"`customDetails`\" pulumi-lang-java=\"`customDetails`\"\u003e`custom_details`\u003c/span\u003e may be used.\n"},"byEntities":{"type":"array","items":{"type":"string"},"description":"A list of entity types to group by, only when the \u003cspan pulumi-lang-nodejs=\"`entityMatchingMethod`\" pulumi-lang-dotnet=\"`EntityMatchingMethod`\" pulumi-lang-go=\"`entityMatchingMethod`\" pulumi-lang-python=\"`entity_matching_method`\" pulumi-lang-yaml=\"`entityMatchingMethod`\" pulumi-lang-java=\"`entityMatchingMethod`\"\u003e`entity_matching_method`\u003c/span\u003e is `Selected`. Possible values are `Account`, `AzureResource`, `CloudApplication`, `DNS`, `File`, `FileHash`, `Host`, `IP`, `Mailbox`, `MailCluster`, `MailMessage`, `Malware`, `Process`, `RegistryKey`, `RegistryValue`, `SecurityGroup`, `SubmissionMail`, `URL`.\n"},"enabled":{"type":"boolean","description":"Enable grouping incidents created from alerts triggered by this Sentinel NRT Alert Rule. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"entityMatchingMethod":{"type":"string","description":"The method used to group incidents. Possible values are `AnyAlert`, `Selected` and `AllEntities`. Defaults to `AnyAlert`.\n"},"lookbackDuration":{"type":"string","description":"Limit the group to alerts created within the lookback duration (in ISO 8601 duration format). Defaults to `PT5M`.\n"},"reopenClosedIncidents":{"type":"boolean","description":"Whether to re-open closed matching incidents? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"}},"type":"object"},"azure:sentinel/AlertRuleNrtSentinelEntityMapping:AlertRuleNrtSentinelEntityMapping":{"properties":{"columnName":{"type":"string","description":"The column name to be mapped to the identifier.\n"}},"type":"object","required":["columnName"]},"azure:sentinel/AlertRuleScheduledAlertDetailsOverride:AlertRuleScheduledAlertDetailsOverride":{"properties":{"descriptionFormat":{"type":"string","description":"The format containing columns name(s) to override the description of this Sentinel Alert Rule.\n"},"displayNameFormat":{"type":"string","description":"The format containing columns name(s) to override the name of this Sentinel Alert Rule.\n"},"dynamicProperties":{"type":"array","items":{"$ref":"#/types/azure:sentinel/AlertRuleScheduledAlertDetailsOverrideDynamicProperty:AlertRuleScheduledAlertDetailsOverrideDynamicProperty"},"description":"A list of \u003cspan pulumi-lang-nodejs=\"`dynamicProperty`\" pulumi-lang-dotnet=\"`DynamicProperty`\" pulumi-lang-go=\"`dynamicProperty`\" pulumi-lang-python=\"`dynamic_property`\" pulumi-lang-yaml=\"`dynamicProperty`\" pulumi-lang-java=\"`dynamicProperty`\"\u003e`dynamic_property`\u003c/span\u003e blocks as defined below.\n"},"severityColumnName":{"type":"string","description":"The column name to take the alert severity from.\n"},"tacticsColumnName":{"type":"string","description":"The column name to take the alert tactics from.\n"}},"type":"object"},"azure:sentinel/AlertRuleScheduledAlertDetailsOverrideDynamicProperty:AlertRuleScheduledAlertDetailsOverrideDynamicProperty":{"properties":{"name":{"type":"string","description":"The name of the dynamic property. Possible values are `AlertLink`, `ConfidenceLevel`, `ConfidenceScore`, `ExtendedLinks`, `ProductComponentName`, `ProductName`, `ProviderName`, `RemediationSteps`, `SubTechniques` and `Techniques`.\n"},"value":{"type":"string","description":"The value of the dynamic property. Pssible Values are `Caller`, `dcount_ResourceId` and `EventSubmissionTimestamp`.\n"}},"type":"object","required":["name","value"]},"azure:sentinel/AlertRuleScheduledEntityMapping:AlertRuleScheduledEntityMapping":{"properties":{"entityType":{"type":"string","description":"The type of the entity. Possible values are `Account`, `AzureResource`, `CloudApplication`, `DNS`, `File`, `FileHash`, `Host`, `IP`, `Mailbox`, `MailCluster`, `MailMessage`, `Malware`, `Process`, `RegistryKey`, `RegistryValue`, `SecurityGroup`, `SubmissionMail`, `URL`.\n"},"fieldMappings":{"type":"array","items":{"$ref":"#/types/azure:sentinel/AlertRuleScheduledEntityMappingFieldMapping:AlertRuleScheduledEntityMappingFieldMapping"},"description":"A list of \u003cspan pulumi-lang-nodejs=\"`fieldMapping`\" pulumi-lang-dotnet=\"`FieldMapping`\" pulumi-lang-go=\"`fieldMapping`\" pulumi-lang-python=\"`field_mapping`\" pulumi-lang-yaml=\"`fieldMapping`\" pulumi-lang-java=\"`fieldMapping`\"\u003e`field_mapping`\u003c/span\u003e blocks as defined below.\n"}},"type":"object","required":["entityType","fieldMappings"]},"azure:sentinel/AlertRuleScheduledEntityMappingFieldMapping:AlertRuleScheduledEntityMappingFieldMapping":{"properties":{"columnName":{"type":"string","description":"The column name to be mapped to the identifier.\n"},"identifier":{"type":"string","description":"The identifier of the entity.\n"}},"type":"object","required":["columnName","identifier"]},"azure:sentinel/AlertRuleScheduledEventGrouping:AlertRuleScheduledEventGrouping":{"properties":{"aggregationMethod":{"type":"string","description":"The aggregation type of grouping the events. Possible values are `AlertPerResult` and `SingleAlert`.\n"}},"type":"object","required":["aggregationMethod"]},"azure:sentinel/AlertRuleScheduledIncident:AlertRuleScheduledIncident":{"properties":{"createIncidentEnabled":{"type":"boolean","description":"Whether to create an incident from alerts triggered by this Sentinel Scheduled Alert Rule?\n"},"grouping":{"$ref":"#/types/azure:sentinel/AlertRuleScheduledIncidentGrouping:AlertRuleScheduledIncidentGrouping","description":"A \u003cspan pulumi-lang-nodejs=\"`grouping`\" pulumi-lang-dotnet=\"`Grouping`\" pulumi-lang-go=\"`grouping`\" pulumi-lang-python=\"`grouping`\" pulumi-lang-yaml=\"`grouping`\" pulumi-lang-java=\"`grouping`\"\u003e`grouping`\u003c/span\u003e block as defined below.\n"}},"type":"object","required":["createIncidentEnabled","grouping"]},"azure:sentinel/AlertRuleScheduledIncidentGrouping:AlertRuleScheduledIncidentGrouping":{"properties":{"byAlertDetails":{"type":"array","items":{"type":"string"},"description":"A list of alert details to group by, only when the \u003cspan pulumi-lang-nodejs=\"`entityMatchingMethod`\" pulumi-lang-dotnet=\"`EntityMatchingMethod`\" pulumi-lang-go=\"`entityMatchingMethod`\" pulumi-lang-python=\"`entity_matching_method`\" pulumi-lang-yaml=\"`entityMatchingMethod`\" pulumi-lang-java=\"`entityMatchingMethod`\"\u003e`entity_matching_method`\u003c/span\u003e is `Selected`. Possible values are `DisplayName` and `Severity`.\n"},"byCustomDetails":{"type":"array","items":{"type":"string"},"description":"A list of custom details keys to group by, only when the \u003cspan pulumi-lang-nodejs=\"`entityMatchingMethod`\" pulumi-lang-dotnet=\"`EntityMatchingMethod`\" pulumi-lang-go=\"`entityMatchingMethod`\" pulumi-lang-python=\"`entity_matching_method`\" pulumi-lang-yaml=\"`entityMatchingMethod`\" pulumi-lang-java=\"`entityMatchingMethod`\"\u003e`entity_matching_method`\u003c/span\u003e is `Selected`. Only keys defined in the \u003cspan pulumi-lang-nodejs=\"`customDetails`\" pulumi-lang-dotnet=\"`CustomDetails`\" pulumi-lang-go=\"`customDetails`\" pulumi-lang-python=\"`custom_details`\" pulumi-lang-yaml=\"`customDetails`\" pulumi-lang-java=\"`customDetails`\"\u003e`custom_details`\u003c/span\u003e may be used.\n"},"byEntities":{"type":"array","items":{"type":"string"},"description":"A list of entity types to group by, only when the \u003cspan pulumi-lang-nodejs=\"`entityMatchingMethod`\" pulumi-lang-dotnet=\"`EntityMatchingMethod`\" pulumi-lang-go=\"`entityMatchingMethod`\" pulumi-lang-python=\"`entity_matching_method`\" pulumi-lang-yaml=\"`entityMatchingMethod`\" pulumi-lang-java=\"`entityMatchingMethod`\"\u003e`entity_matching_method`\u003c/span\u003e is `Selected`. Possible values are `Account`, `AzureResource`, `CloudApplication`, `DNS`, `File`, `FileHash`, `Host`, `IP`, `Mailbox`, `MailCluster`, `MailMessage`, `Malware`, `Process`, `RegistryKey`, `RegistryValue`, `SecurityGroup`, `SubmissionMail`, `URL`.\n"},"enabled":{"type":"boolean","description":"Enable grouping incidents created from alerts triggered by this Sentinel Scheduled Alert Rule. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"entityMatchingMethod":{"type":"string","description":"The method used to group incidents. Possible values are `AnyAlert`, `Selected` and `AllEntities`. Defaults to `AnyAlert`.\n"},"lookbackDuration":{"type":"string","description":"Limit the group to alerts created within the lookback duration (in ISO 8601 duration format). Defaults to `PT5M`.\n"},"reopenClosedIncidents":{"type":"boolean","description":"Whether to re-open closed matching incidents? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"}},"type":"object"},"azure:sentinel/AlertRuleScheduledSentinelEntityMapping:AlertRuleScheduledSentinelEntityMapping":{"properties":{"columnName":{"type":"string","description":"The column name to be mapped to the identifier.\n"}},"type":"object","required":["columnName"]},"azure:sentinel/AuthomationRuleActionIncident:AuthomationRuleActionIncident":{"properties":{"classification":{"type":"string","description":"The classification of the incident, when closing it. Possible values are: `BenignPositive_SuspiciousButExpected`, `FalsePositive_InaccurateData`, `FalsePositive_IncorrectAlertLogic`, `TruePositive_SuspiciousActivity` and `Undetermined`.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`classification`\" pulumi-lang-dotnet=\"`Classification`\" pulumi-lang-go=\"`classification`\" pulumi-lang-python=\"`classification`\" pulumi-lang-yaml=\"`classification`\" pulumi-lang-java=\"`classification`\"\u003e`classification`\u003c/span\u003e is required when \u003cspan pulumi-lang-nodejs=\"`status`\" pulumi-lang-dotnet=\"`Status`\" pulumi-lang-go=\"`status`\" pulumi-lang-python=\"`status`\" pulumi-lang-yaml=\"`status`\" pulumi-lang-java=\"`status`\"\u003e`status`\u003c/span\u003e is `Closed`.\n"},"classificationComment":{"type":"string","description":"The comment why the incident is to be closed.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`classificationComment`\" pulumi-lang-dotnet=\"`ClassificationComment`\" pulumi-lang-go=\"`classificationComment`\" pulumi-lang-python=\"`classification_comment`\" pulumi-lang-yaml=\"`classificationComment`\" pulumi-lang-java=\"`classificationComment`\"\u003e`classification_comment`\u003c/span\u003e is allowed to set only when \u003cspan pulumi-lang-nodejs=\"`status`\" pulumi-lang-dotnet=\"`Status`\" pulumi-lang-go=\"`status`\" pulumi-lang-python=\"`status`\" pulumi-lang-yaml=\"`status`\" pulumi-lang-java=\"`status`\"\u003e`status`\u003c/span\u003e is `Closed`.\n"},"labels":{"type":"array","items":{"type":"string"},"description":"Specifies a list of labels to add to the incident.\n"},"order":{"type":"integer","description":"The execution order of this action.\n"},"ownerId":{"type":"string","description":"The object ID of the entity this incident is assigned to.\n"},"severity":{"type":"string","description":"The severity to add to the incident. Possible values are `High`, `Informational`, `Low` and `Medium`.\n\n\u003e **Note:** At least one of \u003cspan pulumi-lang-nodejs=\"`status`\" pulumi-lang-dotnet=\"`Status`\" pulumi-lang-go=\"`status`\" pulumi-lang-python=\"`status`\" pulumi-lang-yaml=\"`status`\" pulumi-lang-java=\"`status`\"\u003e`status`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`labels`\" pulumi-lang-dotnet=\"`Labels`\" pulumi-lang-go=\"`labels`\" pulumi-lang-python=\"`labels`\" pulumi-lang-yaml=\"`labels`\" pulumi-lang-java=\"`labels`\"\u003e`labels`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`ownerId`\" pulumi-lang-dotnet=\"`OwnerId`\" pulumi-lang-go=\"`ownerId`\" pulumi-lang-python=\"`owner_id`\" pulumi-lang-yaml=\"`ownerId`\" pulumi-lang-java=\"`ownerId`\"\u003e`owner_id`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`severity`\" pulumi-lang-dotnet=\"`Severity`\" pulumi-lang-go=\"`severity`\" pulumi-lang-python=\"`severity`\" pulumi-lang-yaml=\"`severity`\" pulumi-lang-java=\"`severity`\"\u003e`severity`\u003c/span\u003e has to be set.\n"},"status":{"type":"string","description":"The status to set to the incident. Possible values are: `Active`, `Closed`, `New`.\n"}},"type":"object","required":["order"]},"azure:sentinel/AuthomationRuleActionIncidentTask:AuthomationRuleActionIncidentTask":{"properties":{"description":{"type":"string","description":"The description of the incident task.\n"},"order":{"type":"integer","description":"The execution order of this action.\n"},"title":{"type":"string","description":"The title of the incident task.\n"}},"type":"object","required":["order","title"]},"azure:sentinel/AuthomationRuleActionPlaybook:AuthomationRuleActionPlaybook":{"properties":{"logicAppId":{"type":"string","description":"The ID of the Logic App that defines the playbook's logic.\n"},"order":{"type":"integer","description":"The execution order of this action.\n"},"tenantId":{"type":"string","description":"The ID of the Tenant that owns the playbook.\n"}},"type":"object","required":["logicAppId","order"],"language":{"nodejs":{"requiredOutputs":["logicAppId","order","tenantId"]}}},"azure:sentinel/AutomationRuleActionIncident:AutomationRuleActionIncident":{"properties":{"classification":{"type":"string","description":"The classification of the incident, when closing it. Possible values are: `BenignPositive_SuspiciousButExpected`, `FalsePositive_InaccurateData`, `FalsePositive_IncorrectAlertLogic`, `TruePositive_SuspiciousActivity` and `Undetermined`.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`classification`\" pulumi-lang-dotnet=\"`Classification`\" pulumi-lang-go=\"`classification`\" pulumi-lang-python=\"`classification`\" pulumi-lang-yaml=\"`classification`\" pulumi-lang-java=\"`classification`\"\u003e`classification`\u003c/span\u003e is required when \u003cspan pulumi-lang-nodejs=\"`status`\" pulumi-lang-dotnet=\"`Status`\" pulumi-lang-go=\"`status`\" pulumi-lang-python=\"`status`\" pulumi-lang-yaml=\"`status`\" pulumi-lang-java=\"`status`\"\u003e`status`\u003c/span\u003e is `Closed`.\n"},"classificationComment":{"type":"string","description":"The comment why the incident is to be closed.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`classificationComment`\" pulumi-lang-dotnet=\"`ClassificationComment`\" pulumi-lang-go=\"`classificationComment`\" pulumi-lang-python=\"`classification_comment`\" pulumi-lang-yaml=\"`classificationComment`\" pulumi-lang-java=\"`classificationComment`\"\u003e`classification_comment`\u003c/span\u003e is allowed to set only when \u003cspan pulumi-lang-nodejs=\"`status`\" pulumi-lang-dotnet=\"`Status`\" pulumi-lang-go=\"`status`\" pulumi-lang-python=\"`status`\" pulumi-lang-yaml=\"`status`\" pulumi-lang-java=\"`status`\"\u003e`status`\u003c/span\u003e is `Closed`.\n"},"labels":{"type":"array","items":{"type":"string"},"description":"Specifies a list of labels to add to the incident.\n"},"order":{"type":"integer","description":"The execution order of this action.\n"},"ownerId":{"type":"string","description":"The object ID of the entity this incident is assigned to.\n"},"severity":{"type":"string","description":"The severity to add to the incident. Possible values are `High`, `Informational`, `Low` and `Medium`.\n\n\u003e **Note:** At least one of \u003cspan pulumi-lang-nodejs=\"`status`\" pulumi-lang-dotnet=\"`Status`\" pulumi-lang-go=\"`status`\" pulumi-lang-python=\"`status`\" pulumi-lang-yaml=\"`status`\" pulumi-lang-java=\"`status`\"\u003e`status`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`labels`\" pulumi-lang-dotnet=\"`Labels`\" pulumi-lang-go=\"`labels`\" pulumi-lang-python=\"`labels`\" pulumi-lang-yaml=\"`labels`\" pulumi-lang-java=\"`labels`\"\u003e`labels`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`ownerId`\" pulumi-lang-dotnet=\"`OwnerId`\" pulumi-lang-go=\"`ownerId`\" pulumi-lang-python=\"`owner_id`\" pulumi-lang-yaml=\"`ownerId`\" pulumi-lang-java=\"`ownerId`\"\u003e`owner_id`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`severity`\" pulumi-lang-dotnet=\"`Severity`\" pulumi-lang-go=\"`severity`\" pulumi-lang-python=\"`severity`\" pulumi-lang-yaml=\"`severity`\" pulumi-lang-java=\"`severity`\"\u003e`severity`\u003c/span\u003e has to be set.\n"},"status":{"type":"string","description":"The status to set to the incident. Possible values are: `Active`, `Closed`, `New`.\n"}},"type":"object","required":["order"]},"azure:sentinel/AutomationRuleActionIncidentTask:AutomationRuleActionIncidentTask":{"properties":{"description":{"type":"string","description":"The description of the incident task.\n"},"order":{"type":"integer","description":"The execution order of this action.\n"},"title":{"type":"string","description":"The title of the incident task.\n"}},"type":"object","required":["order","title"]},"azure:sentinel/AutomationRuleActionPlaybook:AutomationRuleActionPlaybook":{"properties":{"logicAppId":{"type":"string","description":"The ID of the Logic App that defines the playbook's logic.\n"},"order":{"type":"integer","description":"The execution order of this action.\n"},"tenantId":{"type":"string","description":"The ID of the Tenant that owns the playbook.\n"}},"type":"object","required":["logicAppId","order"],"language":{"nodejs":{"requiredOutputs":["logicAppId","order","tenantId"]}}},"azure:sentinel/MetadataAuthor:MetadataAuthor":{"properties":{"email":{"type":"string","description":"The email address of the author contact.\n"},"link":{"type":"string","description":"The link for author/vendor page.\n"},"name":{"type":"string","description":"The name of the author, company or person.\n"}},"type":"object"},"azure:sentinel/MetadataCategory:MetadataCategory":{"properties":{"domains":{"type":"array","items":{"type":"string"},"description":"Specifies a list of domains for the solution content item.\n"},"verticals":{"type":"array","items":{"type":"string"},"description":"Specifies a list of industry verticals for the solution content item.\n"}},"type":"object"},"azure:sentinel/MetadataSource:MetadataSource":{"properties":{"id":{"type":"string","description":"The id of the content source, the solution ID, Log Analytics Workspace name etc.\n"},"kind":{"type":"string","description":"The kind of the content source. Possible values are `Community`, `LocalWorkspace`, `Solution` and `SourceRepository`.\n"},"name":{"type":"string","description":"The name of the content source, repo name, solution name, Log Analytics Workspace name, etc.\n"}},"type":"object","required":["kind"]},"azure:sentinel/MetadataSupport:MetadataSupport":{"properties":{"email":{"type":"string","description":"The email address of the support contact.\n"},"link":{"type":"string","description":"The link for support help.\n"},"name":{"type":"string","description":"The name of the support contact.\n"},"tier":{"type":"string","description":"The type of support for content item. Possible values are `Microsoft`, `Partner` and `Community`.\n"}},"type":"object","required":["tier"]},"azure:sentinel/ThreatIntelligenceIndicatorExternalReference:ThreatIntelligenceIndicatorExternalReference":{"properties":{"description":{"type":"string","description":"The description of the external reference of the Threat Intelligence Indicator.\n"},"hashes":{"type":"object","additionalProperties":{"type":"string"},"description":"The list of hashes of the external reference of the Threat Intelligence Indicator.\n"},"id":{"type":"string","description":"The ID of the Sentinel Threat Intelligence Indicator.\n"},"sourceName":{"type":"string","description":"The source name of the external reference of the Threat Intelligence Indicator.\n"},"url":{"type":"string","description":"The url of the external reference of the Threat Intelligence Indicator.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["id"]}}},"azure:sentinel/ThreatIntelligenceIndicatorGranularMarking:ThreatIntelligenceIndicatorGranularMarking":{"properties":{"language":{"type":"string","description":"The language of granular marking of the Threat Intelligence Indicator.\n"},"markingRef":{"type":"string","description":"The reference of the granular marking of the Threat Intelligence Indicator.\n"},"selectors":{"type":"array","items":{"type":"string"},"description":"A list of selectors of the granular marking of the Threat Intelligence Indicator.\n"}},"type":"object"},"azure:sentinel/ThreatIntelligenceIndicatorKillChainPhase:ThreatIntelligenceIndicatorKillChainPhase":{"properties":{"name":{"type":"string","description":"The name which should be used for the Lockheed Martin cyber kill chain phase.\n"}},"type":"object"},"azure:sentinel/ThreatIntelligenceIndicatorParsedPattern:ThreatIntelligenceIndicatorParsedPattern":{"properties":{"patternTypeKey":{"type":"string","description":"The type key of parsed pattern.\n"},"patternTypeValues":{"type":"array","items":{"$ref":"#/types/azure:sentinel/ThreatIntelligenceIndicatorParsedPatternPatternTypeValue:ThreatIntelligenceIndicatorParsedPatternPatternTypeValue"},"description":"A \u003cspan pulumi-lang-nodejs=\"`patternTypeValues`\" pulumi-lang-dotnet=\"`PatternTypeValues`\" pulumi-lang-go=\"`patternTypeValues`\" pulumi-lang-python=\"`pattern_type_values`\" pulumi-lang-yaml=\"`patternTypeValues`\" pulumi-lang-java=\"`patternTypeValues`\"\u003e`pattern_type_values`\u003c/span\u003e block as defined below.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["patternTypeKey","patternTypeValues"]}}},"azure:sentinel/ThreatIntelligenceIndicatorParsedPatternPatternTypeValue:ThreatIntelligenceIndicatorParsedPatternPatternTypeValue":{"properties":{"value":{"type":"string","description":"The value of the parsed pattern type.\n"},"valueType":{"type":"string","description":"The type of the value of the parsed pattern type value.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["value","valueType"]}}},"azure:sentinel/getAlertRuleAnomalyMultiSelectObservation:getAlertRuleAnomalyMultiSelectObservation":{"properties":{"description":{"type":"string","description":"The description of the threshold observation.\n"},"name":{"type":"string","description":"The guid of this Sentinel Alert Rule Template. Either \u003cspan pulumi-lang-nodejs=\"`displayName`\" pulumi-lang-dotnet=\"`DisplayName`\" pulumi-lang-go=\"`displayName`\" pulumi-lang-python=\"`display_name`\" pulumi-lang-yaml=\"`displayName`\" pulumi-lang-java=\"`displayName`\"\u003e`display_name`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e have to be specified.\n"},"supportedValues":{"type":"array","items":{"type":"string"},"description":"A list of supported values of the single select observation.\n"},"values":{"type":"array","items":{"type":"string"},"description":"A list of values of the single select observation.\n"}},"type":"object","required":["description","name","supportedValues","values"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:sentinel/getAlertRuleAnomalyPrioritizedExcludeObservation:getAlertRuleAnomalyPrioritizedExcludeObservation":{"properties":{"description":{"type":"string","description":"The description of the threshold observation.\n"},"exclude":{"type":"string","description":"The excluded value per \u003cspan pulumi-lang-nodejs=\"`description`\" pulumi-lang-dotnet=\"`Description`\" pulumi-lang-go=\"`description`\" pulumi-lang-python=\"`description`\" pulumi-lang-yaml=\"`description`\" pulumi-lang-java=\"`description`\"\u003e`description`\u003c/span\u003e.\n"},"name":{"type":"string","description":"The guid of this Sentinel Alert Rule Template. Either \u003cspan pulumi-lang-nodejs=\"`displayName`\" pulumi-lang-dotnet=\"`DisplayName`\" pulumi-lang-go=\"`displayName`\" pulumi-lang-python=\"`display_name`\" pulumi-lang-yaml=\"`displayName`\" pulumi-lang-java=\"`displayName`\"\u003e`display_name`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e have to be specified.\n"},"prioritize":{"type":"string","description":"The prioritized value per \u003cspan pulumi-lang-nodejs=\"`description`\" pulumi-lang-dotnet=\"`Description`\" pulumi-lang-go=\"`description`\" pulumi-lang-python=\"`description`\" pulumi-lang-yaml=\"`description`\" pulumi-lang-java=\"`description`\"\u003e`description`\u003c/span\u003e.\n"}},"type":"object","required":["description","exclude","name","prioritize"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:sentinel/getAlertRuleAnomalyRequiredDataConnector:getAlertRuleAnomalyRequiredDataConnector":{"properties":{"connectorId":{"type":"string","description":"The ID of the required Data Connector.\n"},"dataTypes":{"type":"array","items":{"type":"string"},"description":"A list of data types of the required Data Connector.\n"}},"type":"object","required":["connectorId","dataTypes"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:sentinel/getAlertRuleAnomalySingleSelectObservation:getAlertRuleAnomalySingleSelectObservation":{"properties":{"description":{"type":"string","description":"The description of the threshold observation.\n"},"name":{"type":"string","description":"The guid of this Sentinel Alert Rule Template. Either \u003cspan pulumi-lang-nodejs=\"`displayName`\" pulumi-lang-dotnet=\"`DisplayName`\" pulumi-lang-go=\"`displayName`\" pulumi-lang-python=\"`display_name`\" pulumi-lang-yaml=\"`displayName`\" pulumi-lang-java=\"`displayName`\"\u003e`display_name`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e have to be specified.\n"},"supportedValues":{"type":"array","items":{"type":"string"},"description":"A list of supported values of the single select observation.\n"},"value":{"type":"string","description":"The value of the threshold observation.\n"}},"type":"object","required":["description","name","supportedValues","value"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:sentinel/getAlertRuleAnomalyThresholdObservation:getAlertRuleAnomalyThresholdObservation":{"properties":{"description":{"type":"string","description":"The description of the threshold observation.\n"},"max":{"type":"string","description":"The max value of the threshold observation.\n"},"min":{"type":"string","description":"The min value of the threshold observation.\n"},"name":{"type":"string","description":"The guid of this Sentinel Alert Rule Template. Either \u003cspan pulumi-lang-nodejs=\"`displayName`\" pulumi-lang-dotnet=\"`DisplayName`\" pulumi-lang-go=\"`displayName`\" pulumi-lang-python=\"`display_name`\" pulumi-lang-yaml=\"`displayName`\" pulumi-lang-java=\"`displayName`\"\u003e`display_name`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e have to be specified.\n"},"value":{"type":"string","description":"The value of the threshold observation.\n"}},"type":"object","required":["description","max","min","name","value"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:sentinel/getAlertRuleTemplateNrtTemplate:getAlertRuleTemplateNrtTemplate":{"properties":{"description":{"type":"string","description":"The description of this Sentinel Scheduled Alert Rule Template.\n"},"query":{"type":"string","description":"The query of this Sentinel Scheduled Alert Rule Template.\n"},"severity":{"type":"string","description":"The alert severity of this Sentinel Scheduled Alert Rule Template.\n"},"tactics":{"type":"array","items":{"type":"string"},"description":"A list of categories of attacks by which to classify the rule.\n"}},"type":"object","required":["description","query","severity","tactics"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:sentinel/getAlertRuleTemplateScheduledTemplate:getAlertRuleTemplateScheduledTemplate":{"properties":{"description":{"type":"string","description":"The description of this Sentinel Scheduled Alert Rule Template.\n"},"query":{"type":"string","description":"The query of this Sentinel Scheduled Alert Rule Template.\n"},"queryFrequency":{"type":"string","description":"The ISO 8601 timespan duration between two consecutive queries.\n"},"queryPeriod":{"type":"string","description":"The ISO 8601 timespan duration, which determine the time period of the data covered by the query.\n"},"severity":{"type":"string","description":"The alert severity of this Sentinel Scheduled Alert Rule Template.\n"},"tactics":{"type":"array","items":{"type":"string"},"description":"A list of categories of attacks by which to classify the rule.\n"},"triggerOperator":{"type":"string","description":"The alert trigger operator, combined with \u003cspan pulumi-lang-nodejs=\"`triggerThreshold`\" pulumi-lang-dotnet=\"`TriggerThreshold`\" pulumi-lang-go=\"`triggerThreshold`\" pulumi-lang-python=\"`trigger_threshold`\" pulumi-lang-yaml=\"`triggerThreshold`\" pulumi-lang-java=\"`triggerThreshold`\"\u003e`trigger_threshold`\u003c/span\u003e, setting alert threshold of this Sentinel Scheduled Alert Rule Template.\n"},"triggerThreshold":{"type":"integer","description":"The baseline number of query results generated, combined with \u003cspan pulumi-lang-nodejs=\"`triggerOperator`\" pulumi-lang-dotnet=\"`TriggerOperator`\" pulumi-lang-go=\"`triggerOperator`\" pulumi-lang-python=\"`trigger_operator`\" pulumi-lang-yaml=\"`triggerOperator`\" pulumi-lang-java=\"`triggerOperator`\"\u003e`trigger_operator`\u003c/span\u003e, setting alert threshold of this Sentinel Scheduled Alert Rule Template.\n"}},"type":"object","required":["description","query","queryFrequency","queryPeriod","severity","tactics","triggerOperator","triggerThreshold"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:sentinel/getAlertRuleTemplateSecurityIncidentTemplate:getAlertRuleTemplateSecurityIncidentTemplate":{"properties":{"description":{"type":"string","description":"The description of this Sentinel Scheduled Alert Rule Template.\n"},"productFilter":{"type":"string","description":"The Microsoft Security Service from where the alert will be generated.\n"}},"type":"object","required":["description","productFilter"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:servicebus/NamespaceCustomerManagedKey:NamespaceCustomerManagedKey":{"properties":{"identityId":{"type":"string","description":"The ID of the User Assigned Identity that has access to the key.\n"},"infrastructureEncryptionEnabled":{"type":"boolean","description":"Used to specify whether enable Infrastructure Encryption (Double Encryption). Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"keyVaultKeyId":{"type":"string","description":"The ID of the Key Vault Key which should be used to Encrypt the data in this Service Bus Namespace.\n"}},"type":"object","required":["identityId","keyVaultKeyId"]},"azure:servicebus/NamespaceIdentity:NamespaceIdentity":{"properties":{"identityIds":{"type":"array","items":{"type":"string"},"description":"Specifies a list of User Assigned Managed Identity IDs to be assigned to this Service Bus namespace.\n\n\u003e **Note:** This is required when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to `UserAssigned` or `SystemAssigned, UserAssigned`.\n"},"principalId":{"type":"string","description":"The Principal ID for the Service Principal associated with the Managed Service Identity of this Service Bus Namespace.\n"},"tenantId":{"type":"string","description":"The Tenant ID for the Service Principal associated with the Managed Service Identity of this Service Bus Namespace.\n"},"type":{"type":"string","description":"Specifies the type of Managed Service Identity that should be configured on this Service Bus Namespace. Possible values are `SystemAssigned`, `UserAssigned`, `SystemAssigned, UserAssigned` (to enable both).\n"}},"type":"object","required":["type"],"language":{"nodejs":{"requiredOutputs":["principalId","tenantId","type"]}}},"azure:servicebus/NamespaceNetworkRuleSet:NamespaceNetworkRuleSet":{"properties":{"defaultAction":{"type":"string","description":"Specifies the default action for the Network Rule Set. Possible values are `Allow` and `Deny`. Defaults to `Allow`.\n"},"ipRules":{"type":"array","items":{"type":"string"},"description":"One or more IP Addresses, or CIDR Blocks which should be able to access the Service Bus Namespace.\n"},"networkRules":{"type":"array","items":{"$ref":"#/types/azure:servicebus/NamespaceNetworkRuleSetNetworkRule:NamespaceNetworkRuleSetNetworkRule"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`networkRules`\" pulumi-lang-dotnet=\"`NetworkRules`\" pulumi-lang-go=\"`networkRules`\" pulumi-lang-python=\"`network_rules`\" pulumi-lang-yaml=\"`networkRules`\" pulumi-lang-java=\"`networkRules`\"\u003e`network_rules`\u003c/span\u003e blocks as defined below.\n"},"publicNetworkAccessEnabled":{"type":"boolean","description":"Whether to allow traffic over public network. Possible values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n\n\u003e **Note:** To disable public network access, you must also configure the property \u003cspan pulumi-lang-nodejs=\"`publicNetworkAccessEnabled`\" pulumi-lang-dotnet=\"`PublicNetworkAccessEnabled`\" pulumi-lang-go=\"`publicNetworkAccessEnabled`\" pulumi-lang-python=\"`public_network_access_enabled`\" pulumi-lang-yaml=\"`publicNetworkAccessEnabled`\" pulumi-lang-java=\"`publicNetworkAccessEnabled`\"\u003e`public_network_access_enabled`\u003c/span\u003e.\n"},"trustedServicesAllowed":{"type":"boolean","description":"Are Azure Services that are known and trusted for this resource type are allowed to bypass firewall configuration? See [Trusted Microsoft Services](https://github.com/MicrosoftDocs/azure-docs/blob/master/articles/service-bus-messaging/includes/service-bus-trusted-services.md)\n"}},"type":"object"},"azure:servicebus/NamespaceNetworkRuleSetNetworkRule:NamespaceNetworkRuleSetNetworkRule":{"properties":{"ignoreMissingVnetServiceEndpoint":{"type":"boolean","description":"Should the Service Bus Namespace Network Rule Set ignore missing Virtual Network Service Endpoint option in the Subnet? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"subnetId":{"type":"string","description":"The Subnet ID which should be able to access this Service Bus Namespace.\n"}},"type":"object","required":["subnetId"]},"azure:servicebus/SubscriptionClientScopedSubscription:SubscriptionClientScopedSubscription":{"properties":{"clientId":{"type":"string","description":"Specifies the Client ID of the application that created the client-scoped subscription. Changing this forces a new resource to be created.\n\n\u003e **Note:** Client ID can be null or empty, but it must match the client ID set on the JMS client application. From the Azure Service Bus perspective, a null client ID and an empty client id have the same behavior. If the client ID is set to null or empty, it is only accessible to client applications whose client ID is also set to null or empty.\n","willReplaceOnChanges":true},"isClientScopedSubscriptionDurable":{"type":"boolean","description":"Whether the client scoped subscription is durable. This property can only be controlled from the application side.\n"},"isClientScopedSubscriptionShareable":{"type":"boolean","description":"Whether the client scoped subscription is shareable. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","language":{"nodejs":{"requiredOutputs":["isClientScopedSubscriptionDurable"]}}},"azure:servicebus/SubscriptionRuleCorrelationFilter:SubscriptionRuleCorrelationFilter":{"properties":{"contentType":{"type":"string","description":"Content type of the message.\n"},"correlationId":{"type":"string","description":"Identifier of the correlation.\n"},"label":{"type":"string","description":"Application specific label.\n"},"messageId":{"type":"string","description":"Identifier of the message.\n"},"properties":{"type":"object","additionalProperties":{"type":"string"},"description":"A list of user defined properties to be included in the filter. Specified as a map of name/value pairs.\n\n\u003e **Note:** When creating a subscription rule of type `CorrelationFilter` at least one property must be set in the \u003cspan pulumi-lang-nodejs=\"`correlationFilter`\" pulumi-lang-dotnet=\"`CorrelationFilter`\" pulumi-lang-go=\"`correlationFilter`\" pulumi-lang-python=\"`correlation_filter`\" pulumi-lang-yaml=\"`correlationFilter`\" pulumi-lang-java=\"`correlationFilter`\"\u003e`correlation_filter`\u003c/span\u003e block.\n"},"replyTo":{"type":"string","description":"Address of the queue to reply to.\n"},"replyToSessionId":{"type":"string","description":"Session identifier to reply to.\n"},"sessionId":{"type":"string","description":"Session identifier.\n"},"to":{"type":"string","description":"Address to send to.\n"}},"type":"object"},"azure:servicefabric/ClusterAzureActiveDirectory:ClusterAzureActiveDirectory":{"properties":{"clientApplicationId":{"type":"string","description":"The Azure Active Directory Client ID which should be used for the Client Application.\n"},"clusterApplicationId":{"type":"string","description":"The Azure Active Directory Cluster Application ID.\n"},"tenantId":{"type":"string","description":"The Azure Active Directory Tenant ID.\n"}},"type":"object","required":["clientApplicationId","clusterApplicationId","tenantId"]},"azure:servicefabric/ClusterCertificate:ClusterCertificate":{"properties":{"thumbprint":{"type":"string","description":"The Thumbprint of the Certificate.\n"},"thumbprintSecondary":{"type":"string","description":"The Secondary Thumbprint of the Certificate.\n"},"x509StoreName":{"type":"string","description":"The X509 Store where the Certificate Exists, such as `My`.\n"}},"type":"object","required":["thumbprint","x509StoreName"]},"azure:servicefabric/ClusterCertificateCommonNames:ClusterCertificateCommonNames":{"properties":{"commonNames":{"type":"array","items":{"$ref":"#/types/azure:servicefabric/ClusterCertificateCommonNamesCommonName:ClusterCertificateCommonNamesCommonName"},"description":"A \u003cspan pulumi-lang-nodejs=\"`commonNames`\" pulumi-lang-dotnet=\"`CommonNames`\" pulumi-lang-go=\"`commonNames`\" pulumi-lang-python=\"`common_names`\" pulumi-lang-yaml=\"`commonNames`\" pulumi-lang-java=\"`commonNames`\"\u003e`common_names`\u003c/span\u003e block as defined below.\n"},"x509StoreName":{"type":"string","description":"The X509 Store where the Certificate Exists, such as `My`.\n"}},"type":"object","required":["commonNames","x509StoreName"]},"azure:servicefabric/ClusterCertificateCommonNamesCommonName:ClusterCertificateCommonNamesCommonName":{"properties":{"certificateCommonName":{"type":"string","description":"The common or subject name of the certificate.\n"},"certificateIssuerThumbprint":{"type":"string","description":"The Issuer Thumbprint of the Certificate.\n\n\u003e **Note:** Certificate Issuer Thumbprint may become required in the future, `https://docs.microsoft.com/azure/service-fabric/service-fabric-create-cluster-using-cert-cn#download-and-update-a-sample-template`.\n"}},"type":"object","required":["certificateCommonName"]},"azure:servicefabric/ClusterClientCertificateCommonName:ClusterClientCertificateCommonName":{"properties":{"commonName":{"type":"string","description":"The common or subject name of the certificate.\n"},"isAdmin":{"type":"boolean","description":"Does the Client Certificate have Admin Access to the cluster? Non-admin clients can only perform read only operations on the cluster.\n"},"issuerThumbprint":{"type":"string","description":"The Issuer Thumbprint of the Certificate.\n\n\u003e **Note:** Certificate Issuer Thumbprint may become required in the future, `https://docs.microsoft.com/azure/service-fabric/service-fabric-create-cluster-using-cert-cn#download-and-update-a-sample-template`.\n"}},"type":"object","required":["commonName","isAdmin"]},"azure:servicefabric/ClusterClientCertificateThumbprint:ClusterClientCertificateThumbprint":{"properties":{"isAdmin":{"type":"boolean","description":"Does the Client Certificate have Admin Access to the cluster? Non-admin clients can only perform read only operations on the cluster.\n"},"thumbprint":{"type":"string","description":"The Thumbprint associated with the Client Certificate.\n"}},"type":"object","required":["isAdmin","thumbprint"]},"azure:servicefabric/ClusterDiagnosticsConfig:ClusterDiagnosticsConfig":{"properties":{"blobEndpoint":{"type":"string","description":"The Blob Endpoint of the Storage Account.\n"},"protectedAccountKeyName":{"type":"string","description":"The protected diagnostics storage key name, such as `StorageAccountKey1`.\n"},"queueEndpoint":{"type":"string","description":"The Queue Endpoint of the Storage Account.\n"},"storageAccountName":{"type":"string","description":"The name of the Storage Account where the Diagnostics should be sent to.\n"},"tableEndpoint":{"type":"string","description":"The Table Endpoint of the Storage Account.\n"}},"type":"object","required":["blobEndpoint","protectedAccountKeyName","queueEndpoint","storageAccountName","tableEndpoint"]},"azure:servicefabric/ClusterFabricSetting:ClusterFabricSetting":{"properties":{"name":{"type":"string","description":"The name of the Fabric Setting, such as `Security` or `Federation`.\n"},"parameters":{"type":"object","additionalProperties":{"type":"string"},"description":"A map containing settings for the specified Fabric Setting.\n"}},"type":"object","required":["name"]},"azure:servicefabric/ClusterNodeType:ClusterNodeType":{"properties":{"applicationPorts":{"$ref":"#/types/azure:servicefabric/ClusterNodeTypeApplicationPorts:ClusterNodeTypeApplicationPorts","description":"A \u003cspan pulumi-lang-nodejs=\"`applicationPorts`\" pulumi-lang-dotnet=\"`ApplicationPorts`\" pulumi-lang-go=\"`applicationPorts`\" pulumi-lang-python=\"`application_ports`\" pulumi-lang-yaml=\"`applicationPorts`\" pulumi-lang-java=\"`applicationPorts`\"\u003e`application_ports`\u003c/span\u003e block as defined below.\n"},"capacities":{"type":"object","additionalProperties":{"type":"string"},"description":"The capacity tags applied to the nodes in the node type, the cluster resource manager uses these tags to understand how much resource a node has.\n"},"clientEndpointPort":{"type":"integer","description":"The Port used for the Client Endpoint for this Node Type.\n"},"durabilityLevel":{"type":"string","description":"The Durability Level for this Node Type. Possible values include `Bronze`, `Gold` and `Silver`. Defaults to `Bronze`.\n"},"ephemeralPorts":{"$ref":"#/types/azure:servicefabric/ClusterNodeTypeEphemeralPorts:ClusterNodeTypeEphemeralPorts","description":"A \u003cspan pulumi-lang-nodejs=\"`ephemeralPorts`\" pulumi-lang-dotnet=\"`EphemeralPorts`\" pulumi-lang-go=\"`ephemeralPorts`\" pulumi-lang-python=\"`ephemeral_ports`\" pulumi-lang-yaml=\"`ephemeralPorts`\" pulumi-lang-java=\"`ephemeralPorts`\"\u003e`ephemeral_ports`\u003c/span\u003e block as defined below.\n"},"httpEndpointPort":{"type":"integer","description":"The Port used for the HTTP Endpoint for this Node Type.\n"},"instanceCount":{"type":"integer","description":"The number of nodes for this Node Type.\n"},"isPrimary":{"type":"boolean","description":"Is this the Primary Node Type?\n"},"isStateless":{"type":"boolean","description":"Should this node type run only stateless services?\n"},"multipleAvailabilityZones":{"type":"boolean","description":"Does this node type span availability zones?\n"},"name":{"type":"string","description":"The name of the Node Type.\n"},"placementProperties":{"type":"object","additionalProperties":{"type":"string"},"description":"The placement tags applied to nodes in the node type, which can be used to indicate where certain services (workload) should run.\n"},"reverseProxyEndpointPort":{"type":"integer","description":"The Port used for the Reverse Proxy Endpoint for this Node Type. Changing this will upgrade the cluster.\n"}},"type":"object","required":["clientEndpointPort","httpEndpointPort","instanceCount","isPrimary","name"],"language":{"nodejs":{"requiredOutputs":["applicationPorts","clientEndpointPort","ephemeralPorts","httpEndpointPort","instanceCount","isPrimary","name"]}}},"azure:servicefabric/ClusterNodeTypeApplicationPorts:ClusterNodeTypeApplicationPorts":{"properties":{"endPort":{"type":"integer","description":"The end of the Application Port Range on this Node Type.\n"},"startPort":{"type":"integer","description":"The start of the Application Port Range on this Node Type.\n"}},"type":"object","required":["endPort","startPort"]},"azure:servicefabric/ClusterNodeTypeEphemeralPorts:ClusterNodeTypeEphemeralPorts":{"properties":{"endPort":{"type":"integer","description":"The end of the Ephemeral Port Range on this Node Type.\n"},"startPort":{"type":"integer","description":"The start of the Ephemeral Port Range on this Node Type.\n"}},"type":"object","required":["endPort","startPort"]},"azure:servicefabric/ClusterReverseProxyCertificate:ClusterReverseProxyCertificate":{"properties":{"thumbprint":{"type":"string","description":"The Thumbprint of the Certificate.\n"},"thumbprintSecondary":{"type":"string","description":"The Secondary Thumbprint of the Certificate.\n"},"x509StoreName":{"type":"string","description":"The X509 Store where the Certificate Exists, such as `My`.\n"}},"type":"object","required":["thumbprint","x509StoreName"]},"azure:servicefabric/ClusterReverseProxyCertificateCommonNames:ClusterReverseProxyCertificateCommonNames":{"properties":{"commonNames":{"type":"array","items":{"$ref":"#/types/azure:servicefabric/ClusterReverseProxyCertificateCommonNamesCommonName:ClusterReverseProxyCertificateCommonNamesCommonName"},"description":"A \u003cspan pulumi-lang-nodejs=\"`commonNames`\" pulumi-lang-dotnet=\"`CommonNames`\" pulumi-lang-go=\"`commonNames`\" pulumi-lang-python=\"`common_names`\" pulumi-lang-yaml=\"`commonNames`\" pulumi-lang-java=\"`commonNames`\"\u003e`common_names`\u003c/span\u003e block as defined below.\n"},"x509StoreName":{"type":"string","description":"The X509 Store where the Certificate Exists, such as `My`.\n"}},"type":"object","required":["commonNames","x509StoreName"]},"azure:servicefabric/ClusterReverseProxyCertificateCommonNamesCommonName:ClusterReverseProxyCertificateCommonNamesCommonName":{"properties":{"certificateCommonName":{"type":"string","description":"The common or subject name of the certificate.\n"},"certificateIssuerThumbprint":{"type":"string","description":"The Issuer Thumbprint of the Certificate.\n\n\u003e **Note:** Certificate Issuer Thumbprint may become required in the future, `https://docs.microsoft.com/azure/service-fabric/service-fabric-create-cluster-using-cert-cn#download-and-update-a-sample-template`.\n"}},"type":"object","required":["certificateCommonName"]},"azure:servicefabric/ClusterUpgradePolicy:ClusterUpgradePolicy":{"properties":{"deltaHealthPolicy":{"$ref":"#/types/azure:servicefabric/ClusterUpgradePolicyDeltaHealthPolicy:ClusterUpgradePolicyDeltaHealthPolicy","description":"A \u003cspan pulumi-lang-nodejs=\"`deltaHealthPolicy`\" pulumi-lang-dotnet=\"`DeltaHealthPolicy`\" pulumi-lang-go=\"`deltaHealthPolicy`\" pulumi-lang-python=\"`delta_health_policy`\" pulumi-lang-yaml=\"`deltaHealthPolicy`\" pulumi-lang-java=\"`deltaHealthPolicy`\"\u003e`delta_health_policy`\u003c/span\u003e block as defined below\n"},"forceRestartEnabled":{"type":"boolean","description":"Indicates whether to restart the Service Fabric node even if only dynamic configurations have changed.\n"},"healthCheckRetryTimeout":{"type":"string","description":"Specifies the duration, in \"hh:mm:ss\" string format, after which Service Fabric retries the health check if the previous health check fails. Defaults to `00:45:00`.\n"},"healthCheckStableDuration":{"type":"string","description":"Specifies the duration, in \"hh:mm:ss\" string format, that Service Fabric waits in order to verify that the cluster is stable before it continues to the next upgrade domain or completes the upgrade. This wait duration prevents undetected changes of health right after the health check is performed. Defaults to `00:01:00`.\n"},"healthCheckWaitDuration":{"type":"string","description":"Specifies the duration, in \"hh:mm:ss\" string format, that Service Fabric waits before it performs the initial health check after it finishes the upgrade on the upgrade domain. Defaults to `00:00:30`.\n"},"healthPolicy":{"$ref":"#/types/azure:servicefabric/ClusterUpgradePolicyHealthPolicy:ClusterUpgradePolicyHealthPolicy","description":"A \u003cspan pulumi-lang-nodejs=\"`healthPolicy`\" pulumi-lang-dotnet=\"`HealthPolicy`\" pulumi-lang-go=\"`healthPolicy`\" pulumi-lang-python=\"`health_policy`\" pulumi-lang-yaml=\"`healthPolicy`\" pulumi-lang-java=\"`healthPolicy`\"\u003e`health_policy`\u003c/span\u003e block as defined below\n"},"upgradeDomainTimeout":{"type":"string","description":"Specifies the duration, in \"hh:mm:ss\" string format, that Service Fabric takes to upgrade a single upgrade domain. After this period, the upgrade fails. Defaults to `02:00:00`.\n"},"upgradeReplicaSetCheckTimeout":{"type":"string","description":"Specifies the duration, in \"hh:mm:ss\" string format, that Service Fabric waits for a replica set to reconfigure into a safe state, if it is not already in a safe state, before Service Fabric proceeds with the upgrade. Defaults to `10675199.02:48:05.4775807`.\n"},"upgradeTimeout":{"type":"string","description":"Specifies the duration, in \"hh:mm:ss\" string format, that Service Fabric takes for the entire upgrade. After this period, the upgrade fails. Defaults to `12:00:00`.\n"}},"type":"object"},"azure:servicefabric/ClusterUpgradePolicyDeltaHealthPolicy:ClusterUpgradePolicyDeltaHealthPolicy":{"properties":{"maxDeltaUnhealthyApplicationsPercent":{"type":"integer","description":"Specifies the maximum tolerated percentage of delta unhealthy applications that can have aggregated health states of error. If the current unhealthy applications do not respect the percentage relative to the state at the beginning of the upgrade, the cluster is unhealthy. Defaults to \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"maxDeltaUnhealthyNodesPercent":{"type":"integer","description":"Specifies the maximum tolerated percentage of delta unhealthy nodes that can have aggregated health states of error. If the current unhealthy nodes do not respect the percentage relative to the state at the beginning of the upgrade, the cluster is unhealthy. Defaults to \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"maxUpgradeDomainDeltaUnhealthyNodesPercent":{"type":"integer","description":"Specifies the maximum tolerated percentage of upgrade domain delta unhealthy nodes that can have aggregated health state of error. If there is any upgrade domain where the current unhealthy nodes do not respect the percentage relative to the state at the beginning of the upgrade, the cluster is unhealthy. Defaults to \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"}},"type":"object"},"azure:servicefabric/ClusterUpgradePolicyHealthPolicy:ClusterUpgradePolicyHealthPolicy":{"properties":{"maxUnhealthyApplicationsPercent":{"type":"integer","description":"Specifies the maximum tolerated percentage of applications that can have aggregated health state of error. If the upgrade exceeds this percentage, the cluster is unhealthy. Defaults to \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"maxUnhealthyNodesPercent":{"type":"integer","description":"Specifies the maximum tolerated percentage of nodes that can have aggregated health states of error. If an upgrade exceeds this percentage, the cluster is unhealthy. Defaults to \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"}},"type":"object"},"azure:servicefabric/ManagedClusterAuthentication:ManagedClusterAuthentication":{"properties":{"activeDirectory":{"$ref":"#/types/azure:servicefabric/ManagedClusterAuthenticationActiveDirectory:ManagedClusterAuthenticationActiveDirectory","description":"A \u003cspan pulumi-lang-nodejs=\"`activeDirectory`\" pulumi-lang-dotnet=\"`ActiveDirectory`\" pulumi-lang-go=\"`activeDirectory`\" pulumi-lang-python=\"`active_directory`\" pulumi-lang-yaml=\"`activeDirectory`\" pulumi-lang-java=\"`activeDirectory`\"\u003e`active_directory`\u003c/span\u003e block as defined above.\n"},"certificates":{"type":"array","items":{"$ref":"#/types/azure:servicefabric/ManagedClusterAuthenticationCertificate:ManagedClusterAuthenticationCertificate"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`certificate`\" pulumi-lang-dotnet=\"`Certificate`\" pulumi-lang-go=\"`certificate`\" pulumi-lang-python=\"`certificate`\" pulumi-lang-yaml=\"`certificate`\" pulumi-lang-java=\"`certificate`\"\u003e`certificate`\u003c/span\u003e blocks as defined below.\n"}},"type":"object"},"azure:servicefabric/ManagedClusterAuthenticationActiveDirectory:ManagedClusterAuthenticationActiveDirectory":{"properties":{"clientApplicationId":{"type":"string","description":"The ID of the Client Application.\n"},"clusterApplicationId":{"type":"string","description":"The ID of the Cluster Application.\n"},"tenantId":{"type":"string","description":"The ID of the Tenant.\n"}},"type":"object","required":["clientApplicationId","clusterApplicationId","tenantId"]},"azure:servicefabric/ManagedClusterAuthenticationCertificate:ManagedClusterAuthenticationCertificate":{"properties":{"commonName":{"type":"string","description":"The certificate's CN.\n"},"thumbprint":{"type":"string","description":"The thumbprint of the certificate.\n"},"type":{"type":"string","description":"The type of the certificate. Can be `AdminClient` or `ReadOnlyClient`.\n"}},"type":"object","required":["thumbprint","type"]},"azure:servicefabric/ManagedClusterCustomFabricSetting:ManagedClusterCustomFabricSetting":{"properties":{"parameter":{"type":"string","description":"Parameter name.\n"},"section":{"type":"string","description":"Section name.\n"},"value":{"type":"string","description":"Parameter value.\n"}},"type":"object","required":["parameter","section","value"]},"azure:servicefabric/ManagedClusterLbRule:ManagedClusterLbRule":{"properties":{"backendPort":{"type":"integer","description":"LB Backend port.\n"},"frontendPort":{"type":"integer","description":"LB Frontend port.\n"},"probeProtocol":{"type":"string","description":"Protocol for the probe. Can be one of \u003cspan pulumi-lang-nodejs=\"`tcp`\" pulumi-lang-dotnet=\"`Tcp`\" pulumi-lang-go=\"`tcp`\" pulumi-lang-python=\"`tcp`\" pulumi-lang-yaml=\"`tcp`\" pulumi-lang-java=\"`tcp`\"\u003e`tcp`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`udp`\" pulumi-lang-dotnet=\"`Udp`\" pulumi-lang-go=\"`udp`\" pulumi-lang-python=\"`udp`\" pulumi-lang-yaml=\"`udp`\" pulumi-lang-java=\"`udp`\"\u003e`udp`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`http`\" pulumi-lang-dotnet=\"`Http`\" pulumi-lang-go=\"`http`\" pulumi-lang-python=\"`http`\" pulumi-lang-yaml=\"`http`\" pulumi-lang-java=\"`http`\"\u003e`http`\u003c/span\u003e, or \u003cspan pulumi-lang-nodejs=\"`https`\" pulumi-lang-dotnet=\"`Https`\" pulumi-lang-go=\"`https`\" pulumi-lang-python=\"`https`\" pulumi-lang-yaml=\"`https`\" pulumi-lang-java=\"`https`\"\u003e`https`\u003c/span\u003e.\n"},"probeRequestPath":{"type":"string","description":"Path for the probe to check, when probe protocol is set to \u003cspan pulumi-lang-nodejs=\"`http`\" pulumi-lang-dotnet=\"`Http`\" pulumi-lang-go=\"`http`\" pulumi-lang-python=\"`http`\" pulumi-lang-yaml=\"`http`\" pulumi-lang-java=\"`http`\"\u003e`http`\u003c/span\u003e.\n"},"protocol":{"type":"string","description":"The transport protocol used in this rule. Can be one of \u003cspan pulumi-lang-nodejs=\"`tcp`\" pulumi-lang-dotnet=\"`Tcp`\" pulumi-lang-go=\"`tcp`\" pulumi-lang-python=\"`tcp`\" pulumi-lang-yaml=\"`tcp`\" pulumi-lang-java=\"`tcp`\"\u003e`tcp`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`udp`\" pulumi-lang-dotnet=\"`Udp`\" pulumi-lang-go=\"`udp`\" pulumi-lang-python=\"`udp`\" pulumi-lang-yaml=\"`udp`\" pulumi-lang-java=\"`udp`\"\u003e`udp`\u003c/span\u003e.\n"}},"type":"object","required":["backendPort","frontendPort","probeProtocol","protocol"]},"azure:servicefabric/ManagedClusterNodeType:ManagedClusterNodeType":{"properties":{"applicationPortRange":{"type":"string","description":"Sets the port range available for applications. Format is `\u003cfrom_port\u003e-\u003cto_port\u003e`, for example `10000-20000`.\n"},"capacities":{"type":"object","additionalProperties":{"type":"string"},"description":"Specifies a list of key/value pairs used to set capacity tags for this node type.\n"},"dataDiskSizeGb":{"type":"integer","description":"The size of the data disk in gigabytes..\n"},"dataDiskType":{"type":"string","description":"The type of the disk to use for storing data. It can be one of `Premium_LRS`, `Standard_LRS`, or `StandardSSD_LRS`. Defaults to `Standard_LRS`.\n"},"ephemeralPortRange":{"type":"string","description":"Sets the port range available for the OS. Format is `\u003cfrom_port\u003e-\u003cto_port\u003e`, for example `10000-20000`. There has to be at least 255 ports available and cannot overlap with \u003cspan pulumi-lang-nodejs=\"`applicationPortRange`\" pulumi-lang-dotnet=\"`ApplicationPortRange`\" pulumi-lang-go=\"`applicationPortRange`\" pulumi-lang-python=\"`application_port_range`\" pulumi-lang-yaml=\"`applicationPortRange`\" pulumi-lang-java=\"`applicationPortRange`\"\u003e`application_port_range`\u003c/span\u003e..\n"},"id":{"type":"string","description":"The ID of the Resource Group.\n"},"multiplePlacementGroupsEnabled":{"type":"boolean","description":"If set the node type can be composed of multiple placement groups.\n"},"name":{"type":"string","description":"The name which should be used for this node type.\n"},"placementProperties":{"type":"object","additionalProperties":{"type":"string"},"description":"Specifies a list of placement tags that can be used to indicate where services should run..\n"},"primary":{"type":"boolean","description":"If set to true, system services will run on this node type. Only one node type should be marked as primary. Primary node type cannot be deleted or changed once they're created.\n"},"stateless":{"type":"boolean","description":"If set to true, only stateless workloads can run on this node type.\n"},"vmImageOffer":{"type":"string","description":"The offer type of the marketplace image cluster VMs will use.\n"},"vmImagePublisher":{"type":"string","description":"The publisher of the marketplace image cluster VMs will use.\n"},"vmImageSku":{"type":"string","description":"The SKU of the marketplace image cluster VMs will use.\n"},"vmImageVersion":{"type":"string","description":"The version of the marketplace image cluster VMs will use.\n"},"vmInstanceCount":{"type":"integer","description":"The number of instances this node type will launch.\n"},"vmSecrets":{"type":"array","items":{"$ref":"#/types/azure:servicefabric/ManagedClusterNodeTypeVmSecret:ManagedClusterNodeTypeVmSecret"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`vmSecrets`\" pulumi-lang-dotnet=\"`VmSecrets`\" pulumi-lang-go=\"`vmSecrets`\" pulumi-lang-python=\"`vm_secrets`\" pulumi-lang-yaml=\"`vmSecrets`\" pulumi-lang-java=\"`vmSecrets`\"\u003e`vm_secrets`\u003c/span\u003e blocks as defined below.\n"},"vmSize":{"type":"string","description":"The size of the instances in this node type.\n"}},"type":"object","required":["applicationPortRange","dataDiskSizeGb","ephemeralPortRange","name","vmImageOffer","vmImagePublisher","vmImageSku","vmImageVersion","vmInstanceCount","vmSize"],"language":{"nodejs":{"requiredOutputs":["applicationPortRange","dataDiskSizeGb","ephemeralPortRange","id","name","vmImageOffer","vmImagePublisher","vmImageSku","vmImageVersion","vmInstanceCount","vmSize"]}}},"azure:servicefabric/ManagedClusterNodeTypeVmSecret:ManagedClusterNodeTypeVmSecret":{"properties":{"certificates":{"type":"array","items":{"$ref":"#/types/azure:servicefabric/ManagedClusterNodeTypeVmSecretCertificate:ManagedClusterNodeTypeVmSecretCertificate"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`certificates`\" pulumi-lang-dotnet=\"`Certificates`\" pulumi-lang-go=\"`certificates`\" pulumi-lang-python=\"`certificates`\" pulumi-lang-yaml=\"`certificates`\" pulumi-lang-java=\"`certificates`\"\u003e`certificates`\u003c/span\u003e blocks as defined above.\n"},"vaultId":{"type":"string","description":"The ID of the Vault that contain the certificates.\n"}},"type":"object","required":["certificates","vaultId"]},"azure:servicefabric/ManagedClusterNodeTypeVmSecretCertificate:ManagedClusterNodeTypeVmSecretCertificate":{"properties":{"store":{"type":"string","description":"The certificate store on the Virtual Machine to which the certificate should be added.\n"},"url":{"type":"string","description":"The URL of a certificate that has been uploaded to Key Vault as a secret\n"}},"type":"object","required":["store","url"]},"azure:signalr/ServiceCor:ServiceCor":{"properties":{"allowedOrigins":{"type":"array","items":{"type":"string"},"description":"A list of origins which should be able to make cross-origin calls. `*` can be used to allow all calls.\n"}},"type":"object","required":["allowedOrigins"]},"azure:signalr/ServiceIdentity:ServiceIdentity":{"properties":{"identityIds":{"type":"array","items":{"type":"string"},"description":"Specifies a list of User Assigned Managed Identity IDs to be assigned to this signalR.\n\n\u003e **Note:** This is required when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to `UserAssigned`\n"},"principalId":{"type":"string"},"tenantId":{"type":"string"},"type":{"type":"string","description":"Specifies the type of Managed Service Identity that should be configured on this signalR. Possible values are `SystemAssigned`, `UserAssigned`.\n"}},"type":"object","required":["type"],"language":{"nodejs":{"requiredOutputs":["principalId","tenantId","type"]}}},"azure:signalr/ServiceLiveTrace:ServiceLiveTrace":{"properties":{"connectivityLogsEnabled":{"type":"boolean","description":"Whether the log category `ConnectivityLogs` is enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e\n"},"enabled":{"type":"boolean","description":"Whether the live trace is enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"httpRequestLogsEnabled":{"type":"boolean","description":"Whether the log category `HttpRequestLogs` is enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e\n"},"messagingLogsEnabled":{"type":"boolean","description":"Whether the log category `MessagingLogs` is enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e\n"}},"type":"object"},"azure:signalr/ServiceNetworkAclPrivateEndpoint:ServiceNetworkAclPrivateEndpoint":{"properties":{"allowedRequestTypes":{"type":"array","items":{"type":"string"},"description":"The allowed request types for the Private Endpoint Connection. Possible values are `ClientConnection`, `ServerConnection`, `RESTAPI` and `Trace`.\n\n\u003e **Note:** When \u003cspan pulumi-lang-nodejs=\"`defaultAction`\" pulumi-lang-dotnet=\"`DefaultAction`\" pulumi-lang-go=\"`defaultAction`\" pulumi-lang-python=\"`default_action`\" pulumi-lang-yaml=\"`defaultAction`\" pulumi-lang-java=\"`defaultAction`\"\u003e`default_action`\u003c/span\u003e is `Allow`, \u003cspan pulumi-lang-nodejs=\"`allowedRequestTypes`\" pulumi-lang-dotnet=\"`AllowedRequestTypes`\" pulumi-lang-go=\"`allowedRequestTypes`\" pulumi-lang-python=\"`allowed_request_types`\" pulumi-lang-yaml=\"`allowedRequestTypes`\" pulumi-lang-java=\"`allowedRequestTypes`\"\u003e`allowed_request_types`\u003c/span\u003ecannot be set.\n"},"deniedRequestTypes":{"type":"array","items":{"type":"string"},"description":"The denied request types for the Private Endpoint Connection. Possible values are `ClientConnection`, `ServerConnection`, `RESTAPI` and `Trace`.\n\n\u003e **Note:** When \u003cspan pulumi-lang-nodejs=\"`defaultAction`\" pulumi-lang-dotnet=\"`DefaultAction`\" pulumi-lang-go=\"`defaultAction`\" pulumi-lang-python=\"`default_action`\" pulumi-lang-yaml=\"`defaultAction`\" pulumi-lang-java=\"`defaultAction`\"\u003e`default_action`\u003c/span\u003e is `Deny`, \u003cspan pulumi-lang-nodejs=\"`deniedRequestTypes`\" pulumi-lang-dotnet=\"`DeniedRequestTypes`\" pulumi-lang-go=\"`deniedRequestTypes`\" pulumi-lang-python=\"`denied_request_types`\" pulumi-lang-yaml=\"`deniedRequestTypes`\" pulumi-lang-java=\"`deniedRequestTypes`\"\u003e`denied_request_types`\u003c/span\u003ecannot be set.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`allowedRequestTypes`\" pulumi-lang-dotnet=\"`AllowedRequestTypes`\" pulumi-lang-go=\"`allowedRequestTypes`\" pulumi-lang-python=\"`allowed_request_types`\" pulumi-lang-yaml=\"`allowedRequestTypes`\" pulumi-lang-java=\"`allowedRequestTypes`\"\u003e`allowed_request_types`\u003c/span\u003e - (Optional) and \u003cspan pulumi-lang-nodejs=\"`deniedRequestTypes`\" pulumi-lang-dotnet=\"`DeniedRequestTypes`\" pulumi-lang-go=\"`deniedRequestTypes`\" pulumi-lang-python=\"`denied_request_types`\" pulumi-lang-yaml=\"`deniedRequestTypes`\" pulumi-lang-java=\"`deniedRequestTypes`\"\u003e`denied_request_types`\u003c/span\u003e cannot be set together.\n"},"id":{"type":"string","description":"The ID of the Private Endpoint which is based on the SignalR service.\n"}},"type":"object","required":["id"]},"azure:signalr/ServiceNetworkAclPublicNetwork:ServiceNetworkAclPublicNetwork":{"properties":{"allowedRequestTypes":{"type":"array","items":{"type":"string"},"description":"The allowed request types for the public network. Possible values are `ClientConnection`, `ServerConnection`, `RESTAPI` and `Trace`.\n\n\u003e **Note:** When \u003cspan pulumi-lang-nodejs=\"`defaultAction`\" pulumi-lang-dotnet=\"`DefaultAction`\" pulumi-lang-go=\"`defaultAction`\" pulumi-lang-python=\"`default_action`\" pulumi-lang-yaml=\"`defaultAction`\" pulumi-lang-java=\"`defaultAction`\"\u003e`default_action`\u003c/span\u003e is `Allow`, \u003cspan pulumi-lang-nodejs=\"`allowedRequestTypes`\" pulumi-lang-dotnet=\"`AllowedRequestTypes`\" pulumi-lang-go=\"`allowedRequestTypes`\" pulumi-lang-python=\"`allowed_request_types`\" pulumi-lang-yaml=\"`allowedRequestTypes`\" pulumi-lang-java=\"`allowedRequestTypes`\"\u003e`allowed_request_types`\u003c/span\u003ecannot be set.\n"},"deniedRequestTypes":{"type":"array","items":{"type":"string"},"description":"The denied request types for the public network. Possible values are `ClientConnection`, `ServerConnection`, `RESTAPI` and `Trace`.\n\n\u003e **Note:** When \u003cspan pulumi-lang-nodejs=\"`defaultAction`\" pulumi-lang-dotnet=\"`DefaultAction`\" pulumi-lang-go=\"`defaultAction`\" pulumi-lang-python=\"`default_action`\" pulumi-lang-yaml=\"`defaultAction`\" pulumi-lang-java=\"`defaultAction`\"\u003e`default_action`\u003c/span\u003e is `Deny`, \u003cspan pulumi-lang-nodejs=\"`deniedRequestTypes`\" pulumi-lang-dotnet=\"`DeniedRequestTypes`\" pulumi-lang-go=\"`deniedRequestTypes`\" pulumi-lang-python=\"`denied_request_types`\" pulumi-lang-yaml=\"`deniedRequestTypes`\" pulumi-lang-java=\"`deniedRequestTypes`\"\u003e`denied_request_types`\u003c/span\u003ecannot be set.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`allowedRequestTypes`\" pulumi-lang-dotnet=\"`AllowedRequestTypes`\" pulumi-lang-go=\"`allowedRequestTypes`\" pulumi-lang-python=\"`allowed_request_types`\" pulumi-lang-yaml=\"`allowedRequestTypes`\" pulumi-lang-java=\"`allowedRequestTypes`\"\u003e`allowed_request_types`\u003c/span\u003e - (Optional) and \u003cspan pulumi-lang-nodejs=\"`deniedRequestTypes`\" pulumi-lang-dotnet=\"`DeniedRequestTypes`\" pulumi-lang-go=\"`deniedRequestTypes`\" pulumi-lang-python=\"`denied_request_types`\" pulumi-lang-yaml=\"`deniedRequestTypes`\" pulumi-lang-java=\"`deniedRequestTypes`\"\u003e`denied_request_types`\u003c/span\u003e cannot be set together.\n"}},"type":"object"},"azure:signalr/ServiceSku:ServiceSku":{"properties":{"capacity":{"type":"integer","description":"Specifies the number of units associated with this SignalR service. Valid values are \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`4`\" pulumi-lang-dotnet=\"`4`\" pulumi-lang-go=\"`4`\" pulumi-lang-python=\"`4`\" pulumi-lang-yaml=\"`4`\" pulumi-lang-java=\"`4`\"\u003e`4`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`5`\" pulumi-lang-dotnet=\"`5`\" pulumi-lang-go=\"`5`\" pulumi-lang-python=\"`5`\" pulumi-lang-yaml=\"`5`\" pulumi-lang-java=\"`5`\"\u003e`5`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`6`\" pulumi-lang-dotnet=\"`6`\" pulumi-lang-go=\"`6`\" pulumi-lang-python=\"`6`\" pulumi-lang-yaml=\"`6`\" pulumi-lang-java=\"`6`\"\u003e`6`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`7`\" pulumi-lang-dotnet=\"`7`\" pulumi-lang-go=\"`7`\" pulumi-lang-python=\"`7`\" pulumi-lang-yaml=\"`7`\" pulumi-lang-java=\"`7`\"\u003e`7`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`8`\" pulumi-lang-dotnet=\"`8`\" pulumi-lang-go=\"`8`\" pulumi-lang-python=\"`8`\" pulumi-lang-yaml=\"`8`\" pulumi-lang-java=\"`8`\"\u003e`8`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`9`\" pulumi-lang-dotnet=\"`9`\" pulumi-lang-go=\"`9`\" pulumi-lang-python=\"`9`\" pulumi-lang-yaml=\"`9`\" pulumi-lang-java=\"`9`\"\u003e`9`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`10`\" pulumi-lang-dotnet=\"`10`\" pulumi-lang-go=\"`10`\" pulumi-lang-python=\"`10`\" pulumi-lang-yaml=\"`10`\" pulumi-lang-java=\"`10`\"\u003e`10`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`20`\" pulumi-lang-dotnet=\"`20`\" pulumi-lang-go=\"`20`\" pulumi-lang-python=\"`20`\" pulumi-lang-yaml=\"`20`\" pulumi-lang-java=\"`20`\"\u003e`20`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`30`\" pulumi-lang-dotnet=\"`30`\" pulumi-lang-go=\"`30`\" pulumi-lang-python=\"`30`\" pulumi-lang-yaml=\"`30`\" pulumi-lang-java=\"`30`\"\u003e`30`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`40`\" pulumi-lang-dotnet=\"`40`\" pulumi-lang-go=\"`40`\" pulumi-lang-python=\"`40`\" pulumi-lang-yaml=\"`40`\" pulumi-lang-java=\"`40`\"\u003e`40`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`50`\" pulumi-lang-dotnet=\"`50`\" pulumi-lang-go=\"`50`\" pulumi-lang-python=\"`50`\" pulumi-lang-yaml=\"`50`\" pulumi-lang-java=\"`50`\"\u003e`50`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`60`\" pulumi-lang-dotnet=\"`60`\" pulumi-lang-go=\"`60`\" pulumi-lang-python=\"`60`\" pulumi-lang-yaml=\"`60`\" pulumi-lang-java=\"`60`\"\u003e`60`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`70`\" pulumi-lang-dotnet=\"`70`\" pulumi-lang-go=\"`70`\" pulumi-lang-python=\"`70`\" pulumi-lang-yaml=\"`70`\" pulumi-lang-java=\"`70`\"\u003e`70`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`80`\" pulumi-lang-dotnet=\"`80`\" pulumi-lang-go=\"`80`\" pulumi-lang-python=\"`80`\" pulumi-lang-yaml=\"`80`\" pulumi-lang-java=\"`80`\"\u003e`80`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`90`\" pulumi-lang-dotnet=\"`90`\" pulumi-lang-go=\"`90`\" pulumi-lang-python=\"`90`\" pulumi-lang-yaml=\"`90`\" pulumi-lang-java=\"`90`\"\u003e`90`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`100`\" pulumi-lang-dotnet=\"`100`\" pulumi-lang-go=\"`100`\" pulumi-lang-python=\"`100`\" pulumi-lang-yaml=\"`100`\" pulumi-lang-java=\"`100`\"\u003e`100`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`200`\" pulumi-lang-dotnet=\"`200`\" pulumi-lang-go=\"`200`\" pulumi-lang-python=\"`200`\" pulumi-lang-yaml=\"`200`\" pulumi-lang-java=\"`200`\"\u003e`200`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`300`\" pulumi-lang-dotnet=\"`300`\" pulumi-lang-go=\"`300`\" pulumi-lang-python=\"`300`\" pulumi-lang-yaml=\"`300`\" pulumi-lang-java=\"`300`\"\u003e`300`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`400`\" pulumi-lang-dotnet=\"`400`\" pulumi-lang-go=\"`400`\" pulumi-lang-python=\"`400`\" pulumi-lang-yaml=\"`400`\" pulumi-lang-java=\"`400`\"\u003e`400`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`500`\" pulumi-lang-dotnet=\"`500`\" pulumi-lang-go=\"`500`\" pulumi-lang-python=\"`500`\" pulumi-lang-yaml=\"`500`\" pulumi-lang-java=\"`500`\"\u003e`500`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`600`\" pulumi-lang-dotnet=\"`600`\" pulumi-lang-go=\"`600`\" pulumi-lang-python=\"`600`\" pulumi-lang-yaml=\"`600`\" pulumi-lang-java=\"`600`\"\u003e`600`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`700`\" pulumi-lang-dotnet=\"`700`\" pulumi-lang-go=\"`700`\" pulumi-lang-python=\"`700`\" pulumi-lang-yaml=\"`700`\" pulumi-lang-java=\"`700`\"\u003e`700`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`800`\" pulumi-lang-dotnet=\"`800`\" pulumi-lang-go=\"`800`\" pulumi-lang-python=\"`800`\" pulumi-lang-yaml=\"`800`\" pulumi-lang-java=\"`800`\"\u003e`800`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`900`\" pulumi-lang-dotnet=\"`900`\" pulumi-lang-go=\"`900`\" pulumi-lang-python=\"`900`\" pulumi-lang-yaml=\"`900`\" pulumi-lang-java=\"`900`\"\u003e`900`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`1000`\" pulumi-lang-dotnet=\"`1000`\" pulumi-lang-go=\"`1000`\" pulumi-lang-python=\"`1000`\" pulumi-lang-yaml=\"`1000`\" pulumi-lang-java=\"`1000`\"\u003e`1000`\u003c/span\u003e.\n\n\u003e **Note:** The valid capacity range for sku `Free_F1` is \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e, for sku `Premium_P2` is from \u003cspan pulumi-lang-nodejs=\"`100`\" pulumi-lang-dotnet=\"`100`\" pulumi-lang-go=\"`100`\" pulumi-lang-python=\"`100`\" pulumi-lang-yaml=\"`100`\" pulumi-lang-java=\"`100`\"\u003e`100`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`1000`\" pulumi-lang-dotnet=\"`1000`\" pulumi-lang-go=\"`1000`\" pulumi-lang-python=\"`1000`\" pulumi-lang-yaml=\"`1000`\" pulumi-lang-java=\"`1000`\"\u003e`1000`\u003c/span\u003e, and from \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`100`\" pulumi-lang-dotnet=\"`100`\" pulumi-lang-go=\"`100`\" pulumi-lang-python=\"`100`\" pulumi-lang-yaml=\"`100`\" pulumi-lang-java=\"`100`\"\u003e`100`\u003c/span\u003e for sku `Standard_S1` and `Premium_P1`.\n"},"name":{"type":"string","description":"Specifies which tier to use. Valid values are `Free_F1`, `Standard_S1`, `Premium_P1` and `Premium_P2`.\n"}},"type":"object","required":["capacity","name"]},"azure:signalr/ServiceUpstreamEndpoint:ServiceUpstreamEndpoint":{"properties":{"categoryPatterns":{"type":"array","items":{"type":"string"},"description":"The categories to match on, or `*` for all.\n"},"eventPatterns":{"type":"array","items":{"type":"string"},"description":"The events to match on, or `*` for all.\n"},"hubPatterns":{"type":"array","items":{"type":"string"},"description":"The hubs to match on, or `*` for all.\n"},"urlTemplate":{"type":"string","description":"The upstream URL Template. This can be a url or a template such as `http://host.com/{hub}/api/{category}/{event}`.\n"},"userAssignedIdentityId":{"type":"string","description":"Specifies the Managed Identity IDs to be assigned to this signalR upstream setting by using resource uuid as both system assigned and user assigned identity is supported.\n"}},"type":"object","required":["categoryPatterns","eventPatterns","hubPatterns","urlTemplate"]},"azure:siterecovery/ProtectionContainerMappingAutomaticUpdate:ProtectionContainerMappingAutomaticUpdate":{"properties":{"authenticationType":{"type":"string","description":"The authentication type used for automation account. Possible values are `RunAsAccount` and `SystemAssignedIdentity`. Defaults to `SystemAssignedIdentity`.\n\n\u003e **Note:** `RunAsAccount` of \u003cspan pulumi-lang-nodejs=\"`authenticationType`\" pulumi-lang-dotnet=\"`AuthenticationType`\" pulumi-lang-go=\"`authenticationType`\" pulumi-lang-python=\"`authentication_type`\" pulumi-lang-yaml=\"`authenticationType`\" pulumi-lang-java=\"`authenticationType`\"\u003e`authentication_type`\u003c/span\u003e is deprecated and will retire on September 30, 2023. Details could be found [here](https://learn.microsoft.com/en-us/azure/automation/whats-new#support-for-run-as-accounts).\n"},"automationAccountId":{"type":"string","description":"The automation account ID which holds the automatic update runbook and authenticates to Azure resources.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`automationAccountId`\" pulumi-lang-dotnet=\"`AutomationAccountId`\" pulumi-lang-go=\"`automationAccountId`\" pulumi-lang-python=\"`automation_account_id`\" pulumi-lang-yaml=\"`automationAccountId`\" pulumi-lang-java=\"`automationAccountId`\"\u003e`automation_account_id`\u003c/span\u003e is required when \u003cspan pulumi-lang-nodejs=\"`enabled`\" pulumi-lang-dotnet=\"`Enabled`\" pulumi-lang-go=\"`enabled`\" pulumi-lang-python=\"`enabled`\" pulumi-lang-yaml=\"`enabled`\" pulumi-lang-java=\"`enabled`\"\u003e`enabled`\u003c/span\u003e is specified.\n"},"enabled":{"type":"boolean","description":"Should the Mobility service installed on Azure virtual machines be automatically updated. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** The setting applies to all Azure VMs protected in the same container. For more details see [this document](https://learn.microsoft.com/en-us/azure/site-recovery/azure-to-azure-autoupdate#enable-automatic-updates)\n"}},"type":"object"},"azure:siterecovery/ReplicatedVMManagedDisk:ReplicatedVMManagedDisk":{"properties":{"diskId":{"type":"string","description":"Id of disk that should be replicated. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"stagingStorageAccountId":{"type":"string","description":"Storage account that should be used for caching. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"targetDiskEncryption":{"$ref":"#/types/azure:siterecovery/ReplicatedVMManagedDiskTargetDiskEncryption:ReplicatedVMManagedDiskTargetDiskEncryption","description":"A \u003cspan pulumi-lang-nodejs=\"`targetDiskEncryption`\" pulumi-lang-dotnet=\"`TargetDiskEncryption`\" pulumi-lang-go=\"`targetDiskEncryption`\" pulumi-lang-python=\"`target_disk_encryption`\" pulumi-lang-yaml=\"`targetDiskEncryption`\" pulumi-lang-java=\"`targetDiskEncryption`\"\u003e`target_disk_encryption`\u003c/span\u003e block as defined below.\n"},"targetDiskEncryptionSetId":{"type":"string","description":"The Disk Encryption Set that the Managed Disk will be associated with. Changing this forces a new resource to be created.\n\n\u003e **Note:** Creating replicated vm with \u003cspan pulumi-lang-nodejs=\"`targetDiskEncryptionSetId`\" pulumi-lang-dotnet=\"`TargetDiskEncryptionSetId`\" pulumi-lang-go=\"`targetDiskEncryptionSetId`\" pulumi-lang-python=\"`target_disk_encryption_set_id`\" pulumi-lang-yaml=\"`targetDiskEncryptionSetId`\" pulumi-lang-java=\"`targetDiskEncryptionSetId`\"\u003e`target_disk_encryption_set_id`\u003c/span\u003e wil take more time (up to 5 hours), please extend the \u003cspan pulumi-lang-nodejs=\"`timeout`\" pulumi-lang-dotnet=\"`Timeout`\" pulumi-lang-go=\"`timeout`\" pulumi-lang-python=\"`timeout`\" pulumi-lang-yaml=\"`timeout`\" pulumi-lang-java=\"`timeout`\"\u003e`timeout`\u003c/span\u003e for \u003cspan pulumi-lang-nodejs=\"`create`\" pulumi-lang-dotnet=\"`Create`\" pulumi-lang-go=\"`create`\" pulumi-lang-python=\"`create`\" pulumi-lang-yaml=\"`create`\" pulumi-lang-java=\"`create`\"\u003e`create`\u003c/span\u003e.\n","willReplaceOnChanges":true},"targetDiskType":{"type":"string","description":"What type should the disk be when a failover is done. Possible values are `Standard_LRS`, `Premium_LRS`, `PremiumV2_LRS`, `StandardSSD_LRS`, `UltraSSD_LRS`, `StandardSSD_ZRS` and `Premium_ZRS`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"targetReplicaDiskType":{"type":"string","description":"What type should the disk be that holds the replication data. Possible values are `Standard_LRS`, `Premium_LRS`, `PremiumV2_LRS`, `StandardSSD_LRS`, `UltraSSD_LRS`, `StandardSSD_ZRS` and `Premium_ZRS`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"targetResourceGroupId":{"type":"string","description":"Resource group disk should belong to when a failover is done. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["diskId","stagingStorageAccountId","targetDiskType","targetReplicaDiskType","targetResourceGroupId"]},"azure:siterecovery/ReplicatedVMManagedDiskTargetDiskEncryption:ReplicatedVMManagedDiskTargetDiskEncryption":{"properties":{"diskEncryptionKey":{"$ref":"#/types/azure:siterecovery/ReplicatedVMManagedDiskTargetDiskEncryptionDiskEncryptionKey:ReplicatedVMManagedDiskTargetDiskEncryptionDiskEncryptionKey","description":"A \u003cspan pulumi-lang-nodejs=\"`diskEncryptionKey`\" pulumi-lang-dotnet=\"`DiskEncryptionKey`\" pulumi-lang-go=\"`diskEncryptionKey`\" pulumi-lang-python=\"`disk_encryption_key`\" pulumi-lang-yaml=\"`diskEncryptionKey`\" pulumi-lang-java=\"`diskEncryptionKey`\"\u003e`disk_encryption_key`\u003c/span\u003e block as defined below.\n"},"keyEncryptionKey":{"$ref":"#/types/azure:siterecovery/ReplicatedVMManagedDiskTargetDiskEncryptionKeyEncryptionKey:ReplicatedVMManagedDiskTargetDiskEncryptionKeyEncryptionKey","description":"A \u003cspan pulumi-lang-nodejs=\"`keyEncryptionKey`\" pulumi-lang-dotnet=\"`KeyEncryptionKey`\" pulumi-lang-go=\"`keyEncryptionKey`\" pulumi-lang-python=\"`key_encryption_key`\" pulumi-lang-yaml=\"`keyEncryptionKey`\" pulumi-lang-java=\"`keyEncryptionKey`\"\u003e`key_encryption_key`\u003c/span\u003e block as defined below.\n"}},"type":"object","required":["diskEncryptionKey"]},"azure:siterecovery/ReplicatedVMManagedDiskTargetDiskEncryptionDiskEncryptionKey:ReplicatedVMManagedDiskTargetDiskEncryptionDiskEncryptionKey":{"properties":{"secretUrl":{"type":"string","description":"The URL to the Key Vault Secret used as the Disk Encryption Key that the Managed Disk will be associated with. This can be found as \u003cspan pulumi-lang-nodejs=\"`id`\" pulumi-lang-dotnet=\"`Id`\" pulumi-lang-go=\"`id`\" pulumi-lang-python=\"`id`\" pulumi-lang-yaml=\"`id`\" pulumi-lang-java=\"`id`\"\u003e`id`\u003c/span\u003e on the \u003cspan pulumi-lang-nodejs=\"`azure.keyvault.Secret`\" pulumi-lang-dotnet=\"`azure.keyvault.Secret`\" pulumi-lang-go=\"`keyvault.Secret`\" pulumi-lang-python=\"`keyvault.Secret`\" pulumi-lang-yaml=\"`azure.keyvault.Secret`\" pulumi-lang-java=\"`azure.keyvault.Secret`\"\u003e`azure.keyvault.Secret`\u003c/span\u003e resource. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"vaultId":{"type":"string","description":"The ID of the Key Vault. This can be found as \u003cspan pulumi-lang-nodejs=\"`id`\" pulumi-lang-dotnet=\"`Id`\" pulumi-lang-go=\"`id`\" pulumi-lang-python=\"`id`\" pulumi-lang-yaml=\"`id`\" pulumi-lang-java=\"`id`\"\u003e`id`\u003c/span\u003e on the \u003cspan pulumi-lang-nodejs=\"`azure.keyvault.KeyVault`\" pulumi-lang-dotnet=\"`azure.keyvault.KeyVault`\" pulumi-lang-go=\"`keyvault.KeyVault`\" pulumi-lang-python=\"`keyvault.KeyVault`\" pulumi-lang-yaml=\"`azure.keyvault.KeyVault`\" pulumi-lang-java=\"`azure.keyvault.KeyVault`\"\u003e`azure.keyvault.KeyVault`\u003c/span\u003e resource. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["secretUrl","vaultId"]},"azure:siterecovery/ReplicatedVMManagedDiskTargetDiskEncryptionKeyEncryptionKey:ReplicatedVMManagedDiskTargetDiskEncryptionKeyEncryptionKey":{"properties":{"keyUrl":{"type":"string","description":"The URL to the Key Vault Key used as the Key Encryption Key that the Managed Disk will be associated with. This can be found as \u003cspan pulumi-lang-nodejs=\"`id`\" pulumi-lang-dotnet=\"`Id`\" pulumi-lang-go=\"`id`\" pulumi-lang-python=\"`id`\" pulumi-lang-yaml=\"`id`\" pulumi-lang-java=\"`id`\"\u003e`id`\u003c/span\u003e on the \u003cspan pulumi-lang-nodejs=\"`azure.keyvault.Key`\" pulumi-lang-dotnet=\"`azure.keyvault.Key`\" pulumi-lang-go=\"`keyvault.Key`\" pulumi-lang-python=\"`keyvault.Key`\" pulumi-lang-yaml=\"`azure.keyvault.Key`\" pulumi-lang-java=\"`azure.keyvault.Key`\"\u003e`azure.keyvault.Key`\u003c/span\u003e resource. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"vaultId":{"type":"string","description":"The ID of the Key Vault. This can be found as \u003cspan pulumi-lang-nodejs=\"`id`\" pulumi-lang-dotnet=\"`Id`\" pulumi-lang-go=\"`id`\" pulumi-lang-python=\"`id`\" pulumi-lang-yaml=\"`id`\" pulumi-lang-java=\"`id`\"\u003e`id`\u003c/span\u003e on the \u003cspan pulumi-lang-nodejs=\"`azure.keyvault.KeyVault`\" pulumi-lang-dotnet=\"`azure.keyvault.KeyVault`\" pulumi-lang-go=\"`keyvault.KeyVault`\" pulumi-lang-python=\"`keyvault.KeyVault`\" pulumi-lang-yaml=\"`azure.keyvault.KeyVault`\" pulumi-lang-java=\"`azure.keyvault.KeyVault`\"\u003e`azure.keyvault.KeyVault`\u003c/span\u003e resource. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["keyUrl","vaultId"]},"azure:siterecovery/ReplicatedVMNetworkInterface:ReplicatedVMNetworkInterface":{"properties":{"failoverTestPublicIpAddressId":{"type":"string","description":"Id of the public IP object to use when a test failover is done.\n"},"failoverTestStaticIp":{"type":"string","description":"Static IP to assign when a test failover is done.\n"},"failoverTestSubnetName":{"type":"string","description":"Name of the subnet to use when a test failover is done.\n"},"recoveryLoadBalancerBackendAddressPoolIds":{"type":"array","items":{"type":"string"},"description":"A list of IDs of Load Balancer Backend Address Pools to use when a failover is done.\n"},"recoveryPublicIpAddressId":{"type":"string","description":"Id of the public IP object to use when a failover is done.\n"},"sourceNetworkInterfaceId":{"type":"string","description":"(Required if the\u003cspan pulumi-lang-nodejs=\" networkInterface \" pulumi-lang-dotnet=\" NetworkInterface \" pulumi-lang-go=\" networkInterface \" pulumi-lang-python=\" network_interface \" pulumi-lang-yaml=\" networkInterface \" pulumi-lang-java=\" networkInterface \"\u003e network_interface \u003c/span\u003eblock is specified) Id source network interface.\n"},"targetStaticIp":{"type":"string","description":"Static IP to assign when a failover is done.\n"},"targetSubnetName":{"type":"string","description":"Name of the subnet to use when a failover is done.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["failoverTestPublicIpAddressId","failoverTestStaticIp","failoverTestSubnetName","sourceNetworkInterfaceId"]}}},"azure:siterecovery/ReplicatedVMUnmanagedDisk:ReplicatedVMUnmanagedDisk":{"properties":{"diskUri":{"type":"string","description":"Id of disk that should be replicated. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"stagingStorageAccountId":{"type":"string","description":"Storage account that should be used for caching. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"targetStorageAccountId":{"type":"string","description":"Storage account disk should belong to when a failover is done. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["diskUri","stagingStorageAccountId","targetStorageAccountId"]},"azure:siterecovery/ReplicationRecoveryPlanAzureToAzureSettings:ReplicationRecoveryPlanAzureToAzureSettings":{"properties":{"primaryEdgeZone":{"type":"string","description":"The Edge Zone within the Azure Region where the VM exists. Changing this forces a new Site Recovery Replication Recovery Plan to be created.\n","willReplaceOnChanges":true},"primaryZone":{"type":"string","description":"The Availability Zone in which the VM is located. Changing this forces a new Site Recovery Replication Recovery Plan to be created.\n","willReplaceOnChanges":true},"recoveryEdgeZone":{"type":"string","description":"The Edge Zone within the Azure Region where the VM is recovered. Changing this forces a new Site Recovery Replication Recovery Plan to be created.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`primaryEdgeZone`\" pulumi-lang-dotnet=\"`PrimaryEdgeZone`\" pulumi-lang-go=\"`primaryEdgeZone`\" pulumi-lang-python=\"`primary_edge_zone`\" pulumi-lang-yaml=\"`primaryEdgeZone`\" pulumi-lang-java=\"`primaryEdgeZone`\"\u003e`primary_edge_zone`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`recoveryEdgeZone`\" pulumi-lang-dotnet=\"`RecoveryEdgeZone`\" pulumi-lang-go=\"`recoveryEdgeZone`\" pulumi-lang-python=\"`recovery_edge_zone`\" pulumi-lang-yaml=\"`recoveryEdgeZone`\" pulumi-lang-java=\"`recoveryEdgeZone`\"\u003e`recovery_edge_zone`\u003c/span\u003e must be specified together.\n","willReplaceOnChanges":true},"recoveryZone":{"type":"string","description":"The Availability Zone in which the VM is recovered. Changing this forces a new Site Recovery Replication Recovery Plan to be created.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`primaryZone`\" pulumi-lang-dotnet=\"`PrimaryZone`\" pulumi-lang-go=\"`primaryZone`\" pulumi-lang-python=\"`primary_zone`\" pulumi-lang-yaml=\"`primaryZone`\" pulumi-lang-java=\"`primaryZone`\"\u003e`primary_zone`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`recoveryZone`\" pulumi-lang-dotnet=\"`RecoveryZone`\" pulumi-lang-go=\"`recoveryZone`\" pulumi-lang-python=\"`recovery_zone`\" pulumi-lang-yaml=\"`recoveryZone`\" pulumi-lang-java=\"`recoveryZone`\"\u003e`recovery_zone`\u003c/span\u003e must be specified together.\n","willReplaceOnChanges":true}},"type":"object"},"azure:siterecovery/ReplicationRecoveryPlanBootRecoveryGroup:ReplicationRecoveryPlanBootRecoveryGroup":{"properties":{"postActions":{"type":"array","items":{"$ref":"#/types/azure:siterecovery/ReplicationRecoveryPlanBootRecoveryGroupPostAction:ReplicationRecoveryPlanBootRecoveryGroupPostAction"},"description":"one or more \u003cspan pulumi-lang-nodejs=\"`action`\" pulumi-lang-dotnet=\"`Action`\" pulumi-lang-go=\"`action`\" pulumi-lang-python=\"`action`\" pulumi-lang-yaml=\"`action`\" pulumi-lang-java=\"`action`\"\u003e`action`\u003c/span\u003e block as defined below. which will be executed after the group recovery.\n"},"preActions":{"type":"array","items":{"$ref":"#/types/azure:siterecovery/ReplicationRecoveryPlanBootRecoveryGroupPreAction:ReplicationRecoveryPlanBootRecoveryGroupPreAction"},"description":"one or more \u003cspan pulumi-lang-nodejs=\"`action`\" pulumi-lang-dotnet=\"`Action`\" pulumi-lang-go=\"`action`\" pulumi-lang-python=\"`action`\" pulumi-lang-yaml=\"`action`\" pulumi-lang-java=\"`action`\"\u003e`action`\u003c/span\u003e block as defined below. which will be executed before the group recovery.\n"},"replicatedProtectedItems":{"type":"array","items":{"type":"string"},"description":"One or more protected VM IDs.\n"}},"type":"object"},"azure:siterecovery/ReplicationRecoveryPlanBootRecoveryGroupPostAction:ReplicationRecoveryPlanBootRecoveryGroupPostAction":{"properties":{"fabricLocation":{"type":"string","description":"The fabric location of runbook or script. Possible values are `Primary` and `Recovery`. It must not be specified when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is `ManualActionDetails`.\n\n\u003e **Note:** This is required when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to `AutomationRunbookActionDetails` or `ScriptActionDetails`.\n"},"failOverDirections":{"type":"array","items":{"type":"string"},"description":"Directions of fail over. Possible values are `PrimaryToRecovery` and `RecoveryToPrimary`\n"},"failOverTypes":{"type":"array","items":{"type":"string"},"description":"Types of fail over. Possible values are `TestFailover`, `PlannedFailover` and `UnplannedFailover`\n"},"manualActionInstruction":{"type":"string","description":"Instructions of manual action.\n\n\u003e **Note:** This property is required when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to `ManualActionDetails`.\n"},"name":{"type":"string","description":"The name of the Replication Plan. The name can contain only letters, numbers, and hyphens. It should start with a letter and end with a letter or a number. Can be a maximum of 63 characters. Changing this forces a new resource to be created.\n"},"runbookId":{"type":"string","description":"Id of runbook.\n\n\u003e **Note:** This property is required when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to `AutomationRunbookActionDetails`.\n"},"scriptPath":{"type":"string","description":"Path of action script.\n\n\u003e **Note:** This property is required when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to `ScriptActionDetails`.\n"},"type":{"type":"string","description":"Type of the action detail. Possible values are `AutomationRunbookActionDetails`, `ManualActionDetails` and `ScriptActionDetails`.\n"}},"type":"object","required":["failOverDirections","failOverTypes","name","type"]},"azure:siterecovery/ReplicationRecoveryPlanBootRecoveryGroupPreAction:ReplicationRecoveryPlanBootRecoveryGroupPreAction":{"properties":{"fabricLocation":{"type":"string","description":"The fabric location of runbook or script. Possible values are `Primary` and `Recovery`. It must not be specified when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is `ManualActionDetails`.\n\n\u003e **Note:** This is required when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to `AutomationRunbookActionDetails` or `ScriptActionDetails`.\n"},"failOverDirections":{"type":"array","items":{"type":"string"},"description":"Directions of fail over. Possible values are `PrimaryToRecovery` and `RecoveryToPrimary`\n"},"failOverTypes":{"type":"array","items":{"type":"string"},"description":"Types of fail over. Possible values are `TestFailover`, `PlannedFailover` and `UnplannedFailover`\n"},"manualActionInstruction":{"type":"string","description":"Instructions of manual action.\n\n\u003e **Note:** This property is required when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to `ManualActionDetails`.\n"},"name":{"type":"string","description":"The name of the Replication Plan. The name can contain only letters, numbers, and hyphens. It should start with a letter and end with a letter or a number. Can be a maximum of 63 characters. Changing this forces a new resource to be created.\n"},"runbookId":{"type":"string","description":"Id of runbook.\n\n\u003e **Note:** This property is required when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to `AutomationRunbookActionDetails`.\n"},"scriptPath":{"type":"string","description":"Path of action script.\n\n\u003e **Note:** This property is required when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to `ScriptActionDetails`.\n"},"type":{"type":"string","description":"Type of the action detail. Possible values are `AutomationRunbookActionDetails`, `ManualActionDetails` and `ScriptActionDetails`.\n"}},"type":"object","required":["failOverDirections","failOverTypes","name","type"]},"azure:siterecovery/ReplicationRecoveryPlanFailoverRecoveryGroup:ReplicationRecoveryPlanFailoverRecoveryGroup":{"properties":{"postActions":{"type":"array","items":{"$ref":"#/types/azure:siterecovery/ReplicationRecoveryPlanFailoverRecoveryGroupPostAction:ReplicationRecoveryPlanFailoverRecoveryGroupPostAction"},"description":"one or more \u003cspan pulumi-lang-nodejs=\"`action`\" pulumi-lang-dotnet=\"`Action`\" pulumi-lang-go=\"`action`\" pulumi-lang-python=\"`action`\" pulumi-lang-yaml=\"`action`\" pulumi-lang-java=\"`action`\"\u003e`action`\u003c/span\u003e block as defined below. which will be executed after the group recovery.\n"},"preActions":{"type":"array","items":{"$ref":"#/types/azure:siterecovery/ReplicationRecoveryPlanFailoverRecoveryGroupPreAction:ReplicationRecoveryPlanFailoverRecoveryGroupPreAction"},"description":"one or more \u003cspan pulumi-lang-nodejs=\"`action`\" pulumi-lang-dotnet=\"`Action`\" pulumi-lang-go=\"`action`\" pulumi-lang-python=\"`action`\" pulumi-lang-yaml=\"`action`\" pulumi-lang-java=\"`action`\"\u003e`action`\u003c/span\u003e block as defined below. which will be executed before the group recovery.\n"}},"type":"object"},"azure:siterecovery/ReplicationRecoveryPlanFailoverRecoveryGroupPostAction:ReplicationRecoveryPlanFailoverRecoveryGroupPostAction":{"properties":{"fabricLocation":{"type":"string","description":"The fabric location of runbook or script. Possible values are `Primary` and `Recovery`. It must not be specified when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is `ManualActionDetails`.\n\n\u003e **Note:** This is required when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to `AutomationRunbookActionDetails` or `ScriptActionDetails`.\n"},"failOverDirections":{"type":"array","items":{"type":"string"},"description":"Directions of fail over. Possible values are `PrimaryToRecovery` and `RecoveryToPrimary`\n"},"failOverTypes":{"type":"array","items":{"type":"string"},"description":"Types of fail over. Possible values are `TestFailover`, `PlannedFailover` and `UnplannedFailover`\n"},"manualActionInstruction":{"type":"string","description":"Instructions of manual action.\n\n\u003e **Note:** This property is required when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to `ManualActionDetails`.\n"},"name":{"type":"string","description":"The name of the Replication Plan. The name can contain only letters, numbers, and hyphens. It should start with a letter and end with a letter or a number. Can be a maximum of 63 characters. Changing this forces a new resource to be created.\n"},"runbookId":{"type":"string","description":"Id of runbook.\n\n\u003e **Note:** This property is required when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to `AutomationRunbookActionDetails`.\n"},"scriptPath":{"type":"string","description":"Path of action script.\n\n\u003e **Note:** This property is required when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to `ScriptActionDetails`.\n"},"type":{"type":"string","description":"Type of the action detail. Possible values are `AutomationRunbookActionDetails`, `ManualActionDetails` and `ScriptActionDetails`.\n"}},"type":"object","required":["failOverDirections","failOverTypes","name","type"]},"azure:siterecovery/ReplicationRecoveryPlanFailoverRecoveryGroupPreAction:ReplicationRecoveryPlanFailoverRecoveryGroupPreAction":{"properties":{"fabricLocation":{"type":"string","description":"The fabric location of runbook or script. Possible values are `Primary` and `Recovery`. It must not be specified when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is `ManualActionDetails`.\n\n\u003e **Note:** This is required when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to `AutomationRunbookActionDetails` or `ScriptActionDetails`.\n"},"failOverDirections":{"type":"array","items":{"type":"string"},"description":"Directions of fail over. Possible values are `PrimaryToRecovery` and `RecoveryToPrimary`\n"},"failOverTypes":{"type":"array","items":{"type":"string"},"description":"Types of fail over. Possible values are `TestFailover`, `PlannedFailover` and `UnplannedFailover`\n"},"manualActionInstruction":{"type":"string","description":"Instructions of manual action.\n\n\u003e **Note:** This property is required when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to `ManualActionDetails`.\n"},"name":{"type":"string","description":"The name of the Replication Plan. The name can contain only letters, numbers, and hyphens. It should start with a letter and end with a letter or a number. Can be a maximum of 63 characters. Changing this forces a new resource to be created.\n"},"runbookId":{"type":"string","description":"Id of runbook.\n\n\u003e **Note:** This property is required when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to `AutomationRunbookActionDetails`.\n"},"scriptPath":{"type":"string","description":"Path of action script.\n\n\u003e **Note:** This property is required when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to `ScriptActionDetails`.\n"},"type":{"type":"string","description":"Type of the action detail. Possible values are `AutomationRunbookActionDetails`, `ManualActionDetails` and `ScriptActionDetails`.\n"}},"type":"object","required":["failOverDirections","failOverTypes","name","type"]},"azure:siterecovery/ReplicationRecoveryPlanShutdownRecoveryGroup:ReplicationRecoveryPlanShutdownRecoveryGroup":{"properties":{"postActions":{"type":"array","items":{"$ref":"#/types/azure:siterecovery/ReplicationRecoveryPlanShutdownRecoveryGroupPostAction:ReplicationRecoveryPlanShutdownRecoveryGroupPostAction"},"description":"one or more \u003cspan pulumi-lang-nodejs=\"`action`\" pulumi-lang-dotnet=\"`Action`\" pulumi-lang-go=\"`action`\" pulumi-lang-python=\"`action`\" pulumi-lang-yaml=\"`action`\" pulumi-lang-java=\"`action`\"\u003e`action`\u003c/span\u003e block as defined below. which will be executed after the group recovery.\n"},"preActions":{"type":"array","items":{"$ref":"#/types/azure:siterecovery/ReplicationRecoveryPlanShutdownRecoveryGroupPreAction:ReplicationRecoveryPlanShutdownRecoveryGroupPreAction"},"description":"one or more \u003cspan pulumi-lang-nodejs=\"`action`\" pulumi-lang-dotnet=\"`Action`\" pulumi-lang-go=\"`action`\" pulumi-lang-python=\"`action`\" pulumi-lang-yaml=\"`action`\" pulumi-lang-java=\"`action`\"\u003e`action`\u003c/span\u003e block as defined below. which will be executed before the group recovery.\n"}},"type":"object"},"azure:siterecovery/ReplicationRecoveryPlanShutdownRecoveryGroupPostAction:ReplicationRecoveryPlanShutdownRecoveryGroupPostAction":{"properties":{"fabricLocation":{"type":"string","description":"The fabric location of runbook or script. Possible values are `Primary` and `Recovery`. It must not be specified when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is `ManualActionDetails`.\n\n\u003e **Note:** This is required when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to `AutomationRunbookActionDetails` or `ScriptActionDetails`.\n"},"failOverDirections":{"type":"array","items":{"type":"string"},"description":"Directions of fail over. Possible values are `PrimaryToRecovery` and `RecoveryToPrimary`\n"},"failOverTypes":{"type":"array","items":{"type":"string"},"description":"Types of fail over. Possible values are `TestFailover`, `PlannedFailover` and `UnplannedFailover`\n"},"manualActionInstruction":{"type":"string","description":"Instructions of manual action.\n\n\u003e **Note:** This property is required when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to `ManualActionDetails`.\n"},"name":{"type":"string","description":"The name of the Replication Plan. The name can contain only letters, numbers, and hyphens. It should start with a letter and end with a letter or a number. Can be a maximum of 63 characters. Changing this forces a new resource to be created.\n"},"runbookId":{"type":"string","description":"Id of runbook.\n\n\u003e **Note:** This property is required when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to `AutomationRunbookActionDetails`.\n"},"scriptPath":{"type":"string","description":"Path of action script.\n\n\u003e **Note:** This property is required when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to `ScriptActionDetails`.\n"},"type":{"type":"string","description":"Type of the action detail. Possible values are `AutomationRunbookActionDetails`, `ManualActionDetails` and `ScriptActionDetails`.\n"}},"type":"object","required":["failOverDirections","failOverTypes","name","type"]},"azure:siterecovery/ReplicationRecoveryPlanShutdownRecoveryGroupPreAction:ReplicationRecoveryPlanShutdownRecoveryGroupPreAction":{"properties":{"fabricLocation":{"type":"string","description":"The fabric location of runbook or script. Possible values are `Primary` and `Recovery`. It must not be specified when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is `ManualActionDetails`.\n\n\u003e **Note:** This is required when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to `AutomationRunbookActionDetails` or `ScriptActionDetails`.\n"},"failOverDirections":{"type":"array","items":{"type":"string"},"description":"Directions of fail over. Possible values are `PrimaryToRecovery` and `RecoveryToPrimary`\n"},"failOverTypes":{"type":"array","items":{"type":"string"},"description":"Types of fail over. Possible values are `TestFailover`, `PlannedFailover` and `UnplannedFailover`\n"},"manualActionInstruction":{"type":"string","description":"Instructions of manual action.\n\n\u003e **Note:** This property is required when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to `ManualActionDetails`.\n"},"name":{"type":"string","description":"The name of the Replication Plan. The name can contain only letters, numbers, and hyphens. It should start with a letter and end with a letter or a number. Can be a maximum of 63 characters. Changing this forces a new resource to be created.\n"},"runbookId":{"type":"string","description":"Id of runbook.\n\n\u003e **Note:** This property is required when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to `AutomationRunbookActionDetails`.\n"},"scriptPath":{"type":"string","description":"Path of action script.\n\n\u003e **Note:** This property is required when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to `ScriptActionDetails`.\n"},"type":{"type":"string","description":"Type of the action detail. Possible values are `AutomationRunbookActionDetails`, `ManualActionDetails` and `ScriptActionDetails`.\n"}},"type":"object","required":["failOverDirections","failOverTypes","name","type"]},"azure:siterecovery/VmwareReplicatedVmManagedDisk:VmwareReplicatedVmManagedDisk":{"properties":{"diskId":{"type":"string","description":"The ID of the disk to be replicated.\n"},"logStorageAccountId":{"type":"string","description":"The ID of the storage account that should be used for logging during replication.\n"},"targetDiskEncryptionSetId":{"type":"string","description":"The ID of the Disk Encryption Set that should be used for the disks when a failover is done.\n"},"targetDiskType":{"type":"string","description":"The disk type of the disk to be created when a failover is done. Possible values are `Premium_LRS`, `PremiumV2_LRS`, `Premium_ZRS`, `Standard_LRS`, `StandardSSD_LRS`, `StandardSSD_ZRS` and `UltraSSD_LRS`.\n"}},"type":"object","required":["diskId","targetDiskType"]},"azure:siterecovery/VmwareReplicatedVmNetworkInterface:VmwareReplicatedVmNetworkInterface":{"properties":{"isPrimary":{"type":"boolean","description":"Whether this \u003cspan pulumi-lang-nodejs=\"`networkInterface`\" pulumi-lang-dotnet=\"`NetworkInterface`\" pulumi-lang-go=\"`networkInterface`\" pulumi-lang-python=\"`network_interface`\" pulumi-lang-yaml=\"`networkInterface`\" pulumi-lang-java=\"`networkInterface`\"\u003e`network_interface`\u003c/span\u003e is primary for the replicated VM.\n"},"sourceMacAddress":{"type":"string","description":"Mac address of the network interface of source VM.\n"},"targetStaticIp":{"type":"string","description":"Static IP to assign when a failover is done.\n"},"targetSubnetName":{"type":"string","description":"Name of the subnet to use when a failover is done.\n"},"testSubnetName":{"type":"string","description":"Name of the subnet to use when a test failover is done.\n"}},"type":"object","required":["isPrimary","sourceMacAddress"]},"azure:siterecovery/getReplicationRecoveryPlanAzureToAzureSetting:getReplicationRecoveryPlanAzureToAzureSetting":{"properties":{"primaryEdgeZone":{"type":"string"},"primaryZone":{"type":"string"},"recoveryEdgeZone":{"type":"string"},"recoveryZone":{"type":"string"}},"type":"object","required":["primaryEdgeZone","primaryZone","recoveryEdgeZone","recoveryZone"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:siterecovery/getReplicationRecoveryPlanRecoveryGroup:getReplicationRecoveryPlanRecoveryGroup":{"properties":{"postActions":{"type":"array","items":{"type":"array","items":{"$ref":"#/types/azure:siterecovery/getReplicationRecoveryPlanRecoveryGroupPostAction:getReplicationRecoveryPlanRecoveryGroupPostAction"}},"description":"one or more \u003cspan pulumi-lang-nodejs=\"`action`\" pulumi-lang-dotnet=\"`Action`\" pulumi-lang-go=\"`action`\" pulumi-lang-python=\"`action`\" pulumi-lang-yaml=\"`action`\" pulumi-lang-java=\"`action`\"\u003e`action`\u003c/span\u003e block. which will be executed after the group recovery.\n"},"preActions":{"type":"array","items":{"type":"array","items":{"$ref":"#/types/azure:siterecovery/getReplicationRecoveryPlanRecoveryGroupPreAction:getReplicationRecoveryPlanRecoveryGroupPreAction"}},"description":"one or more \u003cspan pulumi-lang-nodejs=\"`action`\" pulumi-lang-dotnet=\"`Action`\" pulumi-lang-go=\"`action`\" pulumi-lang-python=\"`action`\" pulumi-lang-yaml=\"`action`\" pulumi-lang-java=\"`action`\"\u003e`action`\u003c/span\u003e block. which will be executed before the group recovery.\n"},"replicatedProtectedItems":{"type":"array","items":{"type":"string"},"description":"one or more id of protected VM.\n"},"type":{"type":"string","description":"Type of the action detail.\n"}},"type":"object","required":["postActions","preActions","replicatedProtectedItems","type"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:siterecovery/getReplicationRecoveryPlanRecoveryGroupPostAction:getReplicationRecoveryPlanRecoveryGroupPostAction":{"properties":{"fabricLocation":{"type":"string","description":"The fabric location of runbook or script.\n"},"failOverDirections":{"type":"array","items":{"type":"string"},"description":"Directions of fail over.\n"},"failOverTypes":{"type":"array","items":{"type":"string"},"description":"Types of fail over.\n"},"manualActionInstruction":{"type":"string","description":"Instructions of manual action.\n"},"name":{"type":"string","description":"The name of the Replication Plan.\n"},"runbookId":{"type":"string","description":"Id of runbook.\n"},"scriptPath":{"type":"string","description":"Path of action script.\n"},"type":{"type":"string","description":"Type of the action detail.\n"}},"type":"object","required":["fabricLocation","failOverDirections","failOverTypes","manualActionInstruction","name","runbookId","scriptPath","type"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:siterecovery/getReplicationRecoveryPlanRecoveryGroupPreAction:getReplicationRecoveryPlanRecoveryGroupPreAction":{"properties":{"fabricLocation":{"type":"string","description":"The fabric location of runbook or script.\n"},"failOverDirections":{"type":"array","items":{"type":"string"},"description":"Directions of fail over.\n"},"failOverTypes":{"type":"array","items":{"type":"string"},"description":"Types of fail over.\n"},"manualActionInstruction":{"type":"string","description":"Instructions of manual action.\n"},"name":{"type":"string","description":"The name of the Replication Plan.\n"},"runbookId":{"type":"string","description":"Id of runbook.\n"},"scriptPath":{"type":"string","description":"Path of action script.\n"},"type":{"type":"string","description":"Type of the action detail.\n"}},"type":"object","required":["fabricLocation","failOverDirections","failOverTypes","manualActionInstruction","name","runbookId","scriptPath","type"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:stack/HciClusterIdentity:HciClusterIdentity":{"properties":{"principalId":{"type":"string","description":"The Principal ID associated with this Managed Service Identity.\n"},"tenantId":{"type":"string","description":"The Tenant ID of the Azure Active Directory which is used by the Azure Stack HCI Cluster. Changing this forces a new resource to be created.\n\n\u003e **Note:** If unspecified the Tenant ID of the Provider will be used.\n"},"type":{"type":"string","description":"Specifies the type of Managed Service Identity that should be configured on the Azure Stack HCI Cluster. Possible value is `SystemAssigned`.\n"}},"type":"object","required":["type"],"language":{"nodejs":{"requiredOutputs":["principalId","tenantId","type"]}}},"azure:stack/HciDeploymentSettingScaleUnit:HciDeploymentSettingScaleUnit":{"properties":{"activeDirectoryOrganizationalUnitPath":{"type":"string","description":"Specify the full name of the Active Directory Organizational Unit container object prepared for the deployment, including the domain components. For example:`OU=HCI01,DC=contoso,DC=com`. Changing this forces a new Stack HCI Deployment Setting to be created.\n","willReplaceOnChanges":true},"bitlockerBootVolumeEnabled":{"type":"boolean","description":"Whether to enable BitLocker for boot volume. Possible values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, BitLocker XTS_AES 256-bit encryption is enabled for all data-at-rest on the OS volume of your Azure Stack HCI cluster. This setting is TPM-hardware dependent. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e. Changing this forces a new Stack HCI Deployment Setting to be created.\n","willReplaceOnChanges":true},"bitlockerDataVolumeEnabled":{"type":"boolean","description":"Whether to enable BitLocker for data volume. Possible values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, BitLocker XTS-AES 256-bit encryption is enabled for all data-at-rest on your Azure Stack HCI cluster shared volumes. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e. Changing this forces a new Stack HCI Deployment Setting to be created.\n","willReplaceOnChanges":true},"cluster":{"$ref":"#/types/azure:stack/HciDeploymentSettingScaleUnitCluster:HciDeploymentSettingScaleUnitCluster","description":"A \u003cspan pulumi-lang-nodejs=\"`cluster`\" pulumi-lang-dotnet=\"`Cluster`\" pulumi-lang-go=\"`cluster`\" pulumi-lang-python=\"`cluster`\" pulumi-lang-yaml=\"`cluster`\" pulumi-lang-java=\"`cluster`\"\u003e`cluster`\u003c/span\u003e block as defined above. Changing this forces a new Stack HCI Deployment Setting to be created.\n","willReplaceOnChanges":true},"credentialGuardEnabled":{"type":"boolean","description":"Whether to enable credential guard. Possible values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Changing this forces a new Stack HCI Deployment Setting to be created.\n","willReplaceOnChanges":true},"domainFqdn":{"type":"string","description":"Specifies the FQDN for deploying cluster. Changing this forces a new Stack HCI Deployment Setting to be created.\n","willReplaceOnChanges":true},"driftControlEnabled":{"type":"boolean","description":"Whether to enable drift control. Possible values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, the security baseline is re-applied regularly. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e. Changing this forces a new Stack HCI Deployment Setting to be created.\n","willReplaceOnChanges":true},"drtmProtectionEnabled":{"type":"boolean","description":"Whether to enable DRTM protection. Possible values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, Secure Boot is enabled on your Azure HCI cluster. This setting is hardware dependent. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e. Changing this forces a new Stack HCI Deployment Setting to be created.\n","willReplaceOnChanges":true},"episodicDataUploadEnabled":{"type":"boolean","description":"Whether to collect log data to facilitate quicker issue resolution. Possible values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e. Changing this forces a new Stack HCI Deployment Setting to be created.\n","willReplaceOnChanges":true},"euLocationEnabled":{"type":"boolean","description":"Whether to store data sent to Microsoft in EU. The log and diagnostic data is sent to the appropriate diagnostics servers depending upon where your cluster resides. Setting this to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e results in all data sent to Microsoft to be stored outside of the EU. Possible values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Changing this forces a new Stack HCI Deployment Setting to be created.\n","willReplaceOnChanges":true},"hostNetwork":{"$ref":"#/types/azure:stack/HciDeploymentSettingScaleUnitHostNetwork:HciDeploymentSettingScaleUnitHostNetwork","description":"A \u003cspan pulumi-lang-nodejs=\"`hostNetwork`\" pulumi-lang-dotnet=\"`HostNetwork`\" pulumi-lang-go=\"`hostNetwork`\" pulumi-lang-python=\"`host_network`\" pulumi-lang-yaml=\"`hostNetwork`\" pulumi-lang-java=\"`hostNetwork`\"\u003e`host_network`\u003c/span\u003e block as defined above. Changing this forces a new Stack HCI Deployment Setting to be created.\n","willReplaceOnChanges":true},"hvciProtectionEnabled":{"type":"boolean","description":"Whether to enable HVCI protection. Possible values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, Hypervisor-protected Code Integrity is enabled on your Azure HCI cluster. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e. Changing this forces a new Stack HCI Deployment Setting to be created.\n","willReplaceOnChanges":true},"infrastructureNetworks":{"type":"array","items":{"$ref":"#/types/azure:stack/HciDeploymentSettingScaleUnitInfrastructureNetwork:HciDeploymentSettingScaleUnitInfrastructureNetwork"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`infrastructureNetwork`\" pulumi-lang-dotnet=\"`InfrastructureNetwork`\" pulumi-lang-go=\"`infrastructureNetwork`\" pulumi-lang-python=\"`infrastructure_network`\" pulumi-lang-yaml=\"`infrastructureNetwork`\" pulumi-lang-java=\"`infrastructureNetwork`\"\u003e`infrastructure_network`\u003c/span\u003e blocks as defined above. Changing this forces a new Stack HCI Deployment Setting to be created.\n","willReplaceOnChanges":true},"namePrefix":{"type":"string","description":"Specifies the name prefix to deploy cluster. It must be 1-8 characters long and contain only letters, numbers and hyphens Changing this forces a new Stack HCI Deployment Setting to be created.\n","willReplaceOnChanges":true},"optionalService":{"$ref":"#/types/azure:stack/HciDeploymentSettingScaleUnitOptionalService:HciDeploymentSettingScaleUnitOptionalService","description":"A \u003cspan pulumi-lang-nodejs=\"`optionalService`\" pulumi-lang-dotnet=\"`OptionalService`\" pulumi-lang-go=\"`optionalService`\" pulumi-lang-python=\"`optional_service`\" pulumi-lang-yaml=\"`optionalService`\" pulumi-lang-java=\"`optionalService`\"\u003e`optional_service`\u003c/span\u003e block as defined above. Changing this forces a new Stack HCI Deployment Setting to be created.\n","willReplaceOnChanges":true},"physicalNodes":{"type":"array","items":{"$ref":"#/types/azure:stack/HciDeploymentSettingScaleUnitPhysicalNode:HciDeploymentSettingScaleUnitPhysicalNode"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`physicalNode`\" pulumi-lang-dotnet=\"`PhysicalNode`\" pulumi-lang-go=\"`physicalNode`\" pulumi-lang-python=\"`physical_node`\" pulumi-lang-yaml=\"`physicalNode`\" pulumi-lang-java=\"`physicalNode`\"\u003e`physical_node`\u003c/span\u003e blocks as defined above. Changing this forces a new Stack HCI Deployment Setting to be created.\n","willReplaceOnChanges":true},"secretsLocation":{"type":"string","description":"The URI to the Key Vault or secret store. Changing this forces a new Stack HCI Deployment Setting to be created.\n","willReplaceOnChanges":true},"sideChannelMitigationEnabled":{"type":"boolean","description":"Whether to enable side channel mitigation. Possible values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, all side channel mitigations are enabled on your Azure HCI cluster. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e. Changing this forces a new Stack HCI Deployment Setting to be created.\n","willReplaceOnChanges":true},"smbClusterEncryptionEnabled":{"type":"boolean","description":"Whether to enable SMB cluster encryption. Possible values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, cluster east-west traffic is encrypted. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Changing this forces a new Stack HCI Deployment Setting to be created.\n","willReplaceOnChanges":true},"smbSigningEnabled":{"type":"boolean","description":"Whether to enable SMB signing. Possible values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, the SMB default instance requires sign in for the client and server services. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e. Changing this forces a new Stack HCI Deployment Setting to be created.\n","willReplaceOnChanges":true},"storage":{"$ref":"#/types/azure:stack/HciDeploymentSettingScaleUnitStorage:HciDeploymentSettingScaleUnitStorage","description":"A \u003cspan pulumi-lang-nodejs=\"`storage`\" pulumi-lang-dotnet=\"`Storage`\" pulumi-lang-go=\"`storage`\" pulumi-lang-python=\"`storage`\" pulumi-lang-yaml=\"`storage`\" pulumi-lang-java=\"`storage`\"\u003e`storage`\u003c/span\u003e block as defined below. Changing this forces a new Stack HCI Deployment Setting to be created.\n","willReplaceOnChanges":true},"streamingDataClientEnabled":{"type":"boolean","description":"Whether the telemetry data will be sent to Microsoft. Possible values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e. Changing this forces a new Stack HCI Deployment Setting to be created.\n","willReplaceOnChanges":true},"wdacEnabled":{"type":"boolean","description":"Whether to enable WDAC. Possible values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, applications and the code that you can run on your Azure Stack HCI cluster are limited. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e. Changing this forces a new Stack HCI Deployment Setting to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["activeDirectoryOrganizationalUnitPath","cluster","domainFqdn","hostNetwork","infrastructureNetworks","namePrefix","optionalService","physicalNodes","secretsLocation","storage"]},"azure:stack/HciDeploymentSettingScaleUnitCluster:HciDeploymentSettingScaleUnitCluster":{"properties":{"azureServiceEndpoint":{"type":"string","description":"Specifies the Azure blob service endpoint, for example, `core.windows.net`. Changing this forces a new Stack HCI Deployment Setting to be created.\n","willReplaceOnChanges":true},"cloudAccountName":{"type":"string","description":"Specifies the Azure Storage account name of the cloud witness for the Azure Stack HCI cluster. Changing this forces a new Stack HCI Deployment Setting to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the cluster. It must be 3-15 characters long and contain only letters, numbers and hyphens. Changing this forces a new Stack HCI Deployment Setting to be created.\n","willReplaceOnChanges":true},"witnessPath":{"type":"string","description":"Specifies the fileshare path of the local witness for the Azure Stack HCI cluster. Changing this forces a new Stack HCI Deployment Setting to be created.\n","willReplaceOnChanges":true},"witnessType":{"type":"string","description":"Specifies the type of the witness. Possible values are `Cloud`, `FileShare`. Changing this forces a new Stack HCI Deployment Setting to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["azureServiceEndpoint","cloudAccountName","name","witnessPath","witnessType"]},"azure:stack/HciDeploymentSettingScaleUnitHostNetwork:HciDeploymentSettingScaleUnitHostNetwork":{"properties":{"intents":{"type":"array","items":{"$ref":"#/types/azure:stack/HciDeploymentSettingScaleUnitHostNetworkIntent:HciDeploymentSettingScaleUnitHostNetworkIntent"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`intent`\" pulumi-lang-dotnet=\"`Intent`\" pulumi-lang-go=\"`intent`\" pulumi-lang-python=\"`intent`\" pulumi-lang-yaml=\"`intent`\" pulumi-lang-java=\"`intent`\"\u003e`intent`\u003c/span\u003e blocks as defined below. Changing this forces a new Stack HCI Deployment Setting to be created.\n","willReplaceOnChanges":true},"storageAutoIpEnabled":{"type":"boolean","description":"Whether allows users to specify IPs and Mask for Storage NICs when Network ATC is not assigning the IPs for storage automatically. Optional parameter required only for [3 nodes switchless deployments](https://learn.microsoft.com/azure-stack/hci/concepts/physical-network-requirements?tabs=overview%2C23H2reqs#using-switchless). Possible values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e. Changing this forces a new Stack HCI Deployment Setting to be created.\n","willReplaceOnChanges":true},"storageConnectivitySwitchlessEnabled":{"type":"boolean","description":"Defines how the storage adapters between nodes are connected either switch or switch less. Possible values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Changing this forces a new Stack HCI Deployment Setting to be created.\n","willReplaceOnChanges":true},"storageNetworks":{"type":"array","items":{"$ref":"#/types/azure:stack/HciDeploymentSettingScaleUnitHostNetworkStorageNetwork:HciDeploymentSettingScaleUnitHostNetworkStorageNetwork"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`storageNetwork`\" pulumi-lang-dotnet=\"`StorageNetwork`\" pulumi-lang-go=\"`storageNetwork`\" pulumi-lang-python=\"`storage_network`\" pulumi-lang-yaml=\"`storageNetwork`\" pulumi-lang-java=\"`storageNetwork`\"\u003e`storage_network`\u003c/span\u003e blocks as defined below. Changing this forces a new Stack HCI Deployment Setting to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["intents","storageNetworks"]},"azure:stack/HciDeploymentSettingScaleUnitHostNetworkIntent:HciDeploymentSettingScaleUnitHostNetworkIntent":{"properties":{"adapterPropertyOverride":{"$ref":"#/types/azure:stack/HciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverride:HciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverride","description":"A \u003cspan pulumi-lang-nodejs=\"`adapterPropertyOverride`\" pulumi-lang-dotnet=\"`AdapterPropertyOverride`\" pulumi-lang-go=\"`adapterPropertyOverride`\" pulumi-lang-python=\"`adapter_property_override`\" pulumi-lang-yaml=\"`adapterPropertyOverride`\" pulumi-lang-java=\"`adapterPropertyOverride`\"\u003e`adapter_property_override`\u003c/span\u003e block as defined above. Changing this forces a new Stack HCI Deployment Setting to be created.\n","willReplaceOnChanges":true},"adapterPropertyOverrideEnabled":{"type":"boolean","description":"Whether to override adapter properties. Possible values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Changing this forces a new Stack HCI Deployment Setting to be created.\n","willReplaceOnChanges":true},"adapters":{"type":"array","items":{"type":"string"},"description":"Specifies a list of ID of network interfaces used for the network intent. Changing this forces a new Stack HCI Deployment Setting to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the intent. Changing this forces a new Stack HCI Deployment Setting to be created.\n","willReplaceOnChanges":true},"qosPolicyOverride":{"$ref":"#/types/azure:stack/HciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverride:HciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverride","description":"A \u003cspan pulumi-lang-nodejs=\"`qosPolicyOverride`\" pulumi-lang-dotnet=\"`QosPolicyOverride`\" pulumi-lang-go=\"`qosPolicyOverride`\" pulumi-lang-python=\"`qos_policy_override`\" pulumi-lang-yaml=\"`qosPolicyOverride`\" pulumi-lang-java=\"`qosPolicyOverride`\"\u003e`qos_policy_override`\u003c/span\u003e block as defined below. Changing this forces a new Stack HCI Deployment Setting to be created.\n","willReplaceOnChanges":true},"qosPolicyOverrideEnabled":{"type":"boolean","description":"Whether to override QoS policy. Possible values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Changing this forces a new Stack HCI Deployment Setting to be created.\n","willReplaceOnChanges":true},"trafficTypes":{"type":"array","items":{"type":"string"},"description":"Specifies a list of network traffic types. Possible values are `Compute`, `Storage`, `Management`. Changing this forces a new Stack HCI Deployment Setting to be created.\n","willReplaceOnChanges":true},"virtualSwitchConfigurationOverride":{"$ref":"#/types/azure:stack/HciDeploymentSettingScaleUnitHostNetworkIntentVirtualSwitchConfigurationOverride:HciDeploymentSettingScaleUnitHostNetworkIntentVirtualSwitchConfigurationOverride","description":"A \u003cspan pulumi-lang-nodejs=\"`virtualSwitchConfigurationOverride`\" pulumi-lang-dotnet=\"`VirtualSwitchConfigurationOverride`\" pulumi-lang-go=\"`virtualSwitchConfigurationOverride`\" pulumi-lang-python=\"`virtual_switch_configuration_override`\" pulumi-lang-yaml=\"`virtualSwitchConfigurationOverride`\" pulumi-lang-java=\"`virtualSwitchConfigurationOverride`\"\u003e`virtual_switch_configuration_override`\u003c/span\u003e block as defined below. Changing this forces a new Stack HCI Deployment Setting to be created.\n","willReplaceOnChanges":true},"virtualSwitchConfigurationOverrideEnabled":{"type":"boolean","description":"Whether to override virtual switch configuration. Possible values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Changing this forces a new Stack HCI Deployment Setting to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["adapters","name","trafficTypes"]},"azure:stack/HciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverride:HciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverride":{"properties":{"jumboPacket":{"type":"string","description":"The jumbo frame size of the adapter. This parameter should only be modified based on your OEM guidance. Changing this forces a new Stack HCI Deployment Setting to be created.\n","willReplaceOnChanges":true},"networkDirect":{"type":"string","description":"The network direct of the adapter. This parameter should only be modified based on your OEM guidance. Changing this forces a new Stack HCI Deployment Setting to be created.\n","willReplaceOnChanges":true},"networkDirectTechnology":{"type":"string","description":"The network direct technology of the adapter. This parameter should only be modified based on your OEM guidance. Changing this forces a new Stack HCI Deployment Setting to be created.\n","willReplaceOnChanges":true}},"type":"object"},"azure:stack/HciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverride:HciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverride":{"properties":{"bandwidthPercentageSmb":{"type":"string","description":"Specifies the percentage of the allocated storage traffic bandwidth. This parameter should only be modified based on your OEM guidance. Changing this forces a new Stack HCI Deployment Setting to be created.\n","willReplaceOnChanges":true},"priorityValue8021ActionCluster":{"type":"string","description":"Specifies the Cluster traffic priority. This parameter should only be modified based on your OEM guidance. Changing this forces a new Stack HCI Deployment Setting to be created.\n","willReplaceOnChanges":true},"priorityValue8021ActionSmb":{"type":"string","description":"Specifies the Priority Flow Control where Data Center Bridging (DCB) is used. This parameter should only be modified based on your OEM guidance. Changing this forces a new Stack HCI Deployment Setting to be created.\n","willReplaceOnChanges":true}},"type":"object"},"azure:stack/HciDeploymentSettingScaleUnitHostNetworkIntentVirtualSwitchConfigurationOverride:HciDeploymentSettingScaleUnitHostNetworkIntentVirtualSwitchConfigurationOverride":{"properties":{"enableIov":{"type":"string","description":"Specifies the IoV enable status for Virtual Switch. Changing this forces a new Stack HCI Deployment Setting to be created.\n","willReplaceOnChanges":true},"loadBalancingAlgorithm":{"type":"string","description":"Specifies the load balancing algorithm for Virtual Switch. Changing this forces a new Stack HCI Deployment Setting to be created.\n","willReplaceOnChanges":true}},"type":"object"},"azure:stack/HciDeploymentSettingScaleUnitHostNetworkStorageNetwork:HciDeploymentSettingScaleUnitHostNetworkStorageNetwork":{"properties":{"name":{"type":"string","description":"The name of the storage network. Changing this forces a new Stack HCI Deployment Setting to be created.\n","willReplaceOnChanges":true},"networkAdapterName":{"type":"string","description":"The name of the network adapter. Changing this forces a new Stack HCI Deployment Setting to be created.\n","willReplaceOnChanges":true},"vlanId":{"type":"string","description":"Specifies the ID for the VLAN storage network. This setting is applied to the network interfaces that route the storage and VM migration traffic. Changing this forces a new Stack HCI Deployment Setting to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["name","networkAdapterName","vlanId"]},"azure:stack/HciDeploymentSettingScaleUnitInfrastructureNetwork:HciDeploymentSettingScaleUnitInfrastructureNetwork":{"properties":{"dhcpEnabled":{"type":"boolean","description":"Whether DHCP is enabled for hosts and cluster IPs. Possible values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Changing this forces a new Stack HCI Deployment Setting to be created.\n\n\u003e **Note:** If \u003cspan pulumi-lang-nodejs=\"`dhcpEnabled`\" pulumi-lang-dotnet=\"`DhcpEnabled`\" pulumi-lang-go=\"`dhcpEnabled`\" pulumi-lang-python=\"`dhcp_enabled`\" pulumi-lang-yaml=\"`dhcpEnabled`\" pulumi-lang-java=\"`dhcpEnabled`\"\u003e`dhcp_enabled`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e, the deployment will use static IPs. If set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, the gateway and DNS servers are not required.\n","willReplaceOnChanges":true},"dnsServers":{"type":"array","items":{"type":"string"},"description":"Specifies a list of IPv4 addresses of the DNS servers in your environment. Changing this forces a new Stack HCI Deployment Setting to be created.\n","willReplaceOnChanges":true},"gateway":{"type":"string","description":"Specifies the default gateway that should be used for the provided IP address space. It should be in the format of an IPv4 IP address. Changing this forces a new Stack HCI Deployment Setting to be created.\n","willReplaceOnChanges":true},"ipPools":{"type":"array","items":{"$ref":"#/types/azure:stack/HciDeploymentSettingScaleUnitInfrastructureNetworkIpPool:HciDeploymentSettingScaleUnitInfrastructureNetworkIpPool"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`ipPool`\" pulumi-lang-dotnet=\"`IpPool`\" pulumi-lang-go=\"`ipPool`\" pulumi-lang-python=\"`ip_pool`\" pulumi-lang-yaml=\"`ipPool`\" pulumi-lang-java=\"`ipPool`\"\u003e`ip_pool`\u003c/span\u003e blocks as defined below. Changing this forces a new Stack HCI Deployment Setting to be created.\n","willReplaceOnChanges":true},"subnetMask":{"type":"string","description":"Specifies the subnet mask that matches the provided IP address space. Changing this forces a new Stack HCI Deployment Setting to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["dnsServers","gateway","ipPools","subnetMask"]},"azure:stack/HciDeploymentSettingScaleUnitInfrastructureNetworkIpPool:HciDeploymentSettingScaleUnitInfrastructureNetworkIpPool":{"properties":{"endingAddress":{"type":"string","description":"Specifies starting IP address for the management network. A minimum of six free, contiguous IPv4 addresses (excluding your host IPs) are needed for infrastructure services such as clustering. Changing this forces a new Stack HCI Deployment Setting to be created.\n","willReplaceOnChanges":true},"startingAddress":{"type":"string","description":"Specifies ending IP address for the management network. A minimum of six free, contiguous IPv4 addresses (excluding your host IPs) are needed for infrastructure services such as clustering. Changing this forces a new Stack HCI Deployment Setting to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["endingAddress","startingAddress"]},"azure:stack/HciDeploymentSettingScaleUnitOptionalService:HciDeploymentSettingScaleUnitOptionalService":{"properties":{"customLocation":{"type":"string","description":"Specifies the name of custom location. A custom location will be created after the deployment is completed. Changing this forces a new Stack HCI Deployment Setting to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["customLocation"]},"azure:stack/HciDeploymentSettingScaleUnitPhysicalNode:HciDeploymentSettingScaleUnitPhysicalNode":{"properties":{"ipv4Address":{"type":"string","description":"Specifies the IPv4 address assigned to each physical server on your Azure Stack HCI cluster. Changing this forces a new Stack HCI Deployment Setting to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The NETBIOS name of each physical server on your Azure Stack HCI cluster. Changing this forces a new Stack HCI Deployment Setting to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["ipv4Address","name"]},"azure:stack/HciDeploymentSettingScaleUnitStorage:HciDeploymentSettingScaleUnitStorage":{"properties":{"configurationMode":{"type":"string","description":"The configuration mode of storage. If set to `Express` and your storage is configured as per best practices based on the number of nodes in the cluster. Possible values are `Express`, `InfraOnly` and `KeepStorage`. Changing this forces a new Stack HCI Deployment Setting to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["configurationMode"]},"azure:stack/HciLogicalNetworkSubnet:HciLogicalNetworkSubnet":{"properties":{"addressPrefix":{"type":"string","description":"The address prefix in CIDR notation. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"ipAllocationMethod":{"type":"string","description":"The IP address allocation method for the subnet. Possible values are `Dynamic` and `Static`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"ipPools":{"type":"array","items":{"$ref":"#/types/azure:stack/HciLogicalNetworkSubnetIpPool:HciLogicalNetworkSubnetIpPool"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`ipPool`\" pulumi-lang-dotnet=\"`IpPool`\" pulumi-lang-go=\"`ipPool`\" pulumi-lang-python=\"`ip_pool`\" pulumi-lang-yaml=\"`ipPool`\" pulumi-lang-java=\"`ipPool`\"\u003e`ip_pool`\u003c/span\u003e block as defined above. Changing this forces a new resource to be created.\n\n\u003e **Note:** If \u003cspan pulumi-lang-nodejs=\"`ipPool`\" pulumi-lang-dotnet=\"`IpPool`\" pulumi-lang-go=\"`ipPool`\" pulumi-lang-python=\"`ip_pool`\" pulumi-lang-yaml=\"`ipPool`\" pulumi-lang-java=\"`ipPool`\"\u003e`ip_pool`\u003c/span\u003e is not specified, it will be assigned by the server. If you experience a diff you may need to add this to \u003cspan pulumi-lang-nodejs=\"`ignoreChanges`\" pulumi-lang-dotnet=\"`IgnoreChanges`\" pulumi-lang-go=\"`ignoreChanges`\" pulumi-lang-python=\"`ignore_changes`\" pulumi-lang-yaml=\"`ignoreChanges`\" pulumi-lang-java=\"`ignoreChanges`\"\u003e`ignore_changes`\u003c/span\u003e.\n","willReplaceOnChanges":true},"routes":{"type":"array","items":{"$ref":"#/types/azure:stack/HciLogicalNetworkSubnetRoute:HciLogicalNetworkSubnetRoute"},"description":"A \u003cspan pulumi-lang-nodejs=\"`route`\" pulumi-lang-dotnet=\"`Route`\" pulumi-lang-go=\"`route`\" pulumi-lang-python=\"`route`\" pulumi-lang-yaml=\"`route`\" pulumi-lang-java=\"`route`\"\u003e`route`\u003c/span\u003e block as defined above. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"vlanId":{"type":"integer","description":"The VLAN ID for the Logical Network. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["ipAllocationMethod"]},"azure:stack/HciLogicalNetworkSubnetIpPool:HciLogicalNetworkSubnetIpPool":{"properties":{"end":{"type":"string","description":"The IPv4 address of the end of the IP address pool. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"start":{"type":"string","description":"The IPv4 address of the start of the IP address pool. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["end","start"]},"azure:stack/HciLogicalNetworkSubnetRoute:HciLogicalNetworkSubnetRoute":{"properties":{"addressPrefix":{"type":"string","description":"The Address in CIDR notation. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the route. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"nextHopIpAddress":{"type":"string","description":"The IPv4 address of the next hop. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["addressPrefix","nextHopIpAddress"]},"azure:stack/HciMarketplaceGalleryImageIdentifier:HciMarketplaceGalleryImageIdentifier":{"properties":{"offer":{"type":"string","description":"The offer of the Azure Stack HCI Marketplace Gallery Image. Changing this forces a new Azure Stack HCI Marketplace Gallery Image to be created.\n","willReplaceOnChanges":true},"publisher":{"type":"string","description":"The publisher of the Azure Stack HCI Marketplace Gallery Image. Changing this forces a new Azure Stack HCI Marketplace Gallery Image to be created.\n","willReplaceOnChanges":true},"sku":{"type":"string","description":"The sku of the Azure Stack HCI Marketplace Gallery Image. Changing this forces a new Azure Stack HCI Marketplace Gallery Image to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["offer","publisher","sku"]},"azure:stack/HciNetworkInterfaceIpConfiguration:HciNetworkInterfaceIpConfiguration":{"properties":{"gateway":{"type":"string","description":"The IPv4 address of the gateway for the Network Interface.\n"},"prefixLength":{"type":"string","description":"The prefix length for the address of the Network Interface.\n"},"privateIpAddress":{"type":"string","description":"The IPv4 address of the IP configuration. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"subnetId":{"type":"string","description":"The resource ID of the Stack HCI Logical Network bound to the IP configuration. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["subnetId"],"language":{"nodejs":{"requiredOutputs":["gateway","prefixLength","subnetId"]}}},"azure:stack/getHciClusterIdentity:getHciClusterIdentity":{"properties":{"principalId":{"type":"string","description":"The Principal ID associated with this Managed Service Identity.\n"},"tenantId":{"type":"string","description":"The Tenant ID associated with this Managed Service Identity.\n"},"type":{"type":"string","description":"(Required) The type of Managed Service Identity configured on the Azure Stack HCI Cluster.\n"}},"type":"object","required":["principalId","tenantId","type"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:storage/AccountAzureFilesAuthentication:AccountAzureFilesAuthentication":{"properties":{"activeDirectory":{"$ref":"#/types/azure:storage/AccountAzureFilesAuthenticationActiveDirectory:AccountAzureFilesAuthenticationActiveDirectory","description":"A \u003cspan pulumi-lang-nodejs=\"`activeDirectory`\" pulumi-lang-dotnet=\"`ActiveDirectory`\" pulumi-lang-go=\"`activeDirectory`\" pulumi-lang-python=\"`active_directory`\" pulumi-lang-yaml=\"`activeDirectory`\" pulumi-lang-java=\"`activeDirectory`\"\u003e`active_directory`\u003c/span\u003e block as defined below. Required when \u003cspan pulumi-lang-nodejs=\"`directoryType`\" pulumi-lang-dotnet=\"`DirectoryType`\" pulumi-lang-go=\"`directoryType`\" pulumi-lang-python=\"`directory_type`\" pulumi-lang-yaml=\"`directoryType`\" pulumi-lang-java=\"`directoryType`\"\u003e`directory_type`\u003c/span\u003e is `AD`.\n"},"defaultShareLevelPermission":{"type":"string","description":"Specifies the default share level permissions applied to all users. Possible values are `StorageFileDataSmbShareReader`, `StorageFileDataSmbShareContributor`, `StorageFileDataSmbShareElevatedContributor`, or `None`. Defaults to `None`.\n"},"directoryType":{"type":"string","description":"Specifies the directory service used. Possible values are `AADDS`, `AD` and `AADKERB`.\n"}},"type":"object","required":["directoryType"],"language":{"nodejs":{"requiredOutputs":["activeDirectory","directoryType"]}}},"azure:storage/AccountAzureFilesAuthenticationActiveDirectory:AccountAzureFilesAuthenticationActiveDirectory":{"properties":{"domainGuid":{"type":"string","description":"Specifies the domain GUID.\n"},"domainName":{"type":"string","description":"Specifies the primary domain that the AD DNS server is authoritative for.\n"},"domainSid":{"type":"string","description":"Specifies the security identifier (SID). This is required when \u003cspan pulumi-lang-nodejs=\"`directoryType`\" pulumi-lang-dotnet=\"`DirectoryType`\" pulumi-lang-go=\"`directoryType`\" pulumi-lang-python=\"`directory_type`\" pulumi-lang-yaml=\"`directoryType`\" pulumi-lang-java=\"`directoryType`\"\u003e`directory_type`\u003c/span\u003e is set to `AD`.\n"},"forestName":{"type":"string","description":"Specifies the Active Directory forest. This is required when \u003cspan pulumi-lang-nodejs=\"`directoryType`\" pulumi-lang-dotnet=\"`DirectoryType`\" pulumi-lang-go=\"`directoryType`\" pulumi-lang-python=\"`directory_type`\" pulumi-lang-yaml=\"`directoryType`\" pulumi-lang-java=\"`directoryType`\"\u003e`directory_type`\u003c/span\u003e is set to `AD`.\n"},"netbiosDomainName":{"type":"string","description":"Specifies the NetBIOS domain name. This is required when \u003cspan pulumi-lang-nodejs=\"`directoryType`\" pulumi-lang-dotnet=\"`DirectoryType`\" pulumi-lang-go=\"`directoryType`\" pulumi-lang-python=\"`directory_type`\" pulumi-lang-yaml=\"`directoryType`\" pulumi-lang-java=\"`directoryType`\"\u003e`directory_type`\u003c/span\u003e is set to `AD`.\n"},"storageSid":{"type":"string","description":"Specifies the security identifier (SID) for Azure Storage. This is required when \u003cspan pulumi-lang-nodejs=\"`directoryType`\" pulumi-lang-dotnet=\"`DirectoryType`\" pulumi-lang-go=\"`directoryType`\" pulumi-lang-python=\"`directory_type`\" pulumi-lang-yaml=\"`directoryType`\" pulumi-lang-java=\"`directoryType`\"\u003e`directory_type`\u003c/span\u003e is set to `AD`.\n"}},"type":"object","required":["domainGuid","domainName"]},"azure:storage/AccountBlobProperties:AccountBlobProperties":{"properties":{"changeFeedEnabled":{"type":"boolean","description":"Is the blob service properties for change feed events enabled? Default to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** This field cannot be configured when \u003cspan pulumi-lang-nodejs=\"`kind`\" pulumi-lang-dotnet=\"`Kind`\" pulumi-lang-go=\"`kind`\" pulumi-lang-python=\"`kind`\" pulumi-lang-yaml=\"`kind`\" pulumi-lang-java=\"`kind`\"\u003e`kind`\u003c/span\u003e is set to `Storage` (V1).\n"},"changeFeedRetentionInDays":{"type":"integer","description":"The duration of change feed events retention in days. The possible values are between 1 and 146000 days (400 years). Setting this to null (or omit this in the configuration file) indicates an infinite retention of the change feed.\n\n\u003e **Note:** This field cannot be configured when \u003cspan pulumi-lang-nodejs=\"`kind`\" pulumi-lang-dotnet=\"`Kind`\" pulumi-lang-go=\"`kind`\" pulumi-lang-python=\"`kind`\" pulumi-lang-yaml=\"`kind`\" pulumi-lang-java=\"`kind`\"\u003e`kind`\u003c/span\u003e is set to `Storage` (V1).\n"},"containerDeleteRetentionPolicy":{"$ref":"#/types/azure:storage/AccountBlobPropertiesContainerDeleteRetentionPolicy:AccountBlobPropertiesContainerDeleteRetentionPolicy","description":"A \u003cspan pulumi-lang-nodejs=\"`containerDeleteRetentionPolicy`\" pulumi-lang-dotnet=\"`ContainerDeleteRetentionPolicy`\" pulumi-lang-go=\"`containerDeleteRetentionPolicy`\" pulumi-lang-python=\"`container_delete_retention_policy`\" pulumi-lang-yaml=\"`containerDeleteRetentionPolicy`\" pulumi-lang-java=\"`containerDeleteRetentionPolicy`\"\u003e`container_delete_retention_policy`\u003c/span\u003e block as defined below.\n"},"corsRules":{"type":"array","items":{"$ref":"#/types/azure:storage/AccountBlobPropertiesCorsRule:AccountBlobPropertiesCorsRule"},"description":"A \u003cspan pulumi-lang-nodejs=\"`corsRule`\" pulumi-lang-dotnet=\"`CorsRule`\" pulumi-lang-go=\"`corsRule`\" pulumi-lang-python=\"`cors_rule`\" pulumi-lang-yaml=\"`corsRule`\" pulumi-lang-java=\"`corsRule`\"\u003e`cors_rule`\u003c/span\u003e block as defined below.\n"},"defaultServiceVersion":{"type":"string","description":"The API Version which should be used by default for requests to the Data Plane API if an incoming request doesn't specify an API Version.\n"},"deleteRetentionPolicy":{"$ref":"#/types/azure:storage/AccountBlobPropertiesDeleteRetentionPolicy:AccountBlobPropertiesDeleteRetentionPolicy","description":"A \u003cspan pulumi-lang-nodejs=\"`deleteRetentionPolicy`\" pulumi-lang-dotnet=\"`DeleteRetentionPolicy`\" pulumi-lang-go=\"`deleteRetentionPolicy`\" pulumi-lang-python=\"`delete_retention_policy`\" pulumi-lang-yaml=\"`deleteRetentionPolicy`\" pulumi-lang-java=\"`deleteRetentionPolicy`\"\u003e`delete_retention_policy`\u003c/span\u003e block as defined below.\n"},"lastAccessTimeEnabled":{"type":"boolean","description":"Is the last access time based tracking enabled? Default to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** This field cannot be configured when \u003cspan pulumi-lang-nodejs=\"`kind`\" pulumi-lang-dotnet=\"`Kind`\" pulumi-lang-go=\"`kind`\" pulumi-lang-python=\"`kind`\" pulumi-lang-yaml=\"`kind`\" pulumi-lang-java=\"`kind`\"\u003e`kind`\u003c/span\u003e is set to `Storage` (V1).\n"},"restorePolicy":{"$ref":"#/types/azure:storage/AccountBlobPropertiesRestorePolicy:AccountBlobPropertiesRestorePolicy","description":"A \u003cspan pulumi-lang-nodejs=\"`restorePolicy`\" pulumi-lang-dotnet=\"`RestorePolicy`\" pulumi-lang-go=\"`restorePolicy`\" pulumi-lang-python=\"`restore_policy`\" pulumi-lang-yaml=\"`restorePolicy`\" pulumi-lang-java=\"`restorePolicy`\"\u003e`restore_policy`\u003c/span\u003e block as defined below. This must be used together with \u003cspan pulumi-lang-nodejs=\"`deleteRetentionPolicy`\" pulumi-lang-dotnet=\"`DeleteRetentionPolicy`\" pulumi-lang-go=\"`deleteRetentionPolicy`\" pulumi-lang-python=\"`delete_retention_policy`\" pulumi-lang-yaml=\"`deleteRetentionPolicy`\" pulumi-lang-java=\"`deleteRetentionPolicy`\"\u003e`delete_retention_policy`\u003c/span\u003e set, \u003cspan pulumi-lang-nodejs=\"`versioningEnabled`\" pulumi-lang-dotnet=\"`VersioningEnabled`\" pulumi-lang-go=\"`versioningEnabled`\" pulumi-lang-python=\"`versioning_enabled`\" pulumi-lang-yaml=\"`versioningEnabled`\" pulumi-lang-java=\"`versioningEnabled`\"\u003e`versioning_enabled`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`changeFeedEnabled`\" pulumi-lang-dotnet=\"`ChangeFeedEnabled`\" pulumi-lang-go=\"`changeFeedEnabled`\" pulumi-lang-python=\"`change_feed_enabled`\" pulumi-lang-yaml=\"`changeFeedEnabled`\" pulumi-lang-java=\"`changeFeedEnabled`\"\u003e`change_feed_enabled`\u003c/span\u003e set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n\n\u003e **Note:** This field cannot be configured when \u003cspan pulumi-lang-nodejs=\"`kind`\" pulumi-lang-dotnet=\"`Kind`\" pulumi-lang-go=\"`kind`\" pulumi-lang-python=\"`kind`\" pulumi-lang-yaml=\"`kind`\" pulumi-lang-java=\"`kind`\"\u003e`kind`\u003c/span\u003e is set to `Storage` (V1).\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`restorePolicy`\" pulumi-lang-dotnet=\"`RestorePolicy`\" pulumi-lang-go=\"`restorePolicy`\" pulumi-lang-python=\"`restore_policy`\" pulumi-lang-yaml=\"`restorePolicy`\" pulumi-lang-java=\"`restorePolicy`\"\u003e`restore_policy`\u003c/span\u003e can not be configured when \u003cspan pulumi-lang-nodejs=\"`dnsEndpointType`\" pulumi-lang-dotnet=\"`DnsEndpointType`\" pulumi-lang-go=\"`dnsEndpointType`\" pulumi-lang-python=\"`dns_endpoint_type`\" pulumi-lang-yaml=\"`dnsEndpointType`\" pulumi-lang-java=\"`dnsEndpointType`\"\u003e`dns_endpoint_type`\u003c/span\u003e is `AzureDnsZone`.\n"},"versioningEnabled":{"type":"boolean","description":"Is versioning enabled? Default to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** This field cannot be configured when \u003cspan pulumi-lang-nodejs=\"`kind`\" pulumi-lang-dotnet=\"`Kind`\" pulumi-lang-go=\"`kind`\" pulumi-lang-python=\"`kind`\" pulumi-lang-yaml=\"`kind`\" pulumi-lang-java=\"`kind`\"\u003e`kind`\u003c/span\u003e is set to `Storage` (V1).\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["defaultServiceVersion"]}}},"azure:storage/AccountBlobPropertiesContainerDeleteRetentionPolicy:AccountBlobPropertiesContainerDeleteRetentionPolicy":{"properties":{"days":{"type":"integer","description":"Specifies the number of days that the container should be retained, between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`365`\" pulumi-lang-dotnet=\"`365`\" pulumi-lang-go=\"`365`\" pulumi-lang-python=\"`365`\" pulumi-lang-yaml=\"`365`\" pulumi-lang-java=\"`365`\"\u003e`365`\u003c/span\u003e days. Defaults to \u003cspan pulumi-lang-nodejs=\"`7`\" pulumi-lang-dotnet=\"`7`\" pulumi-lang-go=\"`7`\" pulumi-lang-python=\"`7`\" pulumi-lang-yaml=\"`7`\" pulumi-lang-java=\"`7`\"\u003e`7`\u003c/span\u003e.\n"}},"type":"object"},"azure:storage/AccountBlobPropertiesCorsRule:AccountBlobPropertiesCorsRule":{"properties":{"allowedHeaders":{"type":"array","items":{"type":"string"},"description":"A list of headers that are allowed to be a part of the cross-origin request.\n"},"allowedMethods":{"type":"array","items":{"type":"string"},"description":"A list of HTTP methods that are allowed to be executed by the origin. Valid options are\n`DELETE`, `GET`, `HEAD`, `MERGE`, `POST`, `OPTIONS`, `PUT` or `PATCH`.\n"},"allowedOrigins":{"type":"array","items":{"type":"string"},"description":"A list of origin domains that will be allowed by CORS.\n"},"exposedHeaders":{"type":"array","items":{"type":"string"},"description":"A list of response headers that are exposed to CORS clients.\n"},"maxAgeInSeconds":{"type":"integer","description":"The number of seconds the client should cache a preflight response.\n"}},"type":"object","required":["allowedHeaders","allowedMethods","allowedOrigins","exposedHeaders","maxAgeInSeconds"]},"azure:storage/AccountBlobPropertiesDeleteRetentionPolicy:AccountBlobPropertiesDeleteRetentionPolicy":{"properties":{"days":{"type":"integer","description":"Specifies the number of days that the blob should be retained, between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`365`\" pulumi-lang-dotnet=\"`365`\" pulumi-lang-go=\"`365`\" pulumi-lang-python=\"`365`\" pulumi-lang-yaml=\"`365`\" pulumi-lang-java=\"`365`\"\u003e`365`\u003c/span\u003e days. Defaults to \u003cspan pulumi-lang-nodejs=\"`7`\" pulumi-lang-dotnet=\"`7`\" pulumi-lang-go=\"`7`\" pulumi-lang-python=\"`7`\" pulumi-lang-yaml=\"`7`\" pulumi-lang-java=\"`7`\"\u003e`7`\u003c/span\u003e.\n"},"permanentDeleteEnabled":{"type":"boolean","description":"Indicates whether permanent deletion of the soft deleted blob versions and snapshots is allowed. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`permanentDeleteEnabled`\" pulumi-lang-dotnet=\"`PermanentDeleteEnabled`\" pulumi-lang-go=\"`permanentDeleteEnabled`\" pulumi-lang-python=\"`permanent_delete_enabled`\" pulumi-lang-yaml=\"`permanentDeleteEnabled`\" pulumi-lang-java=\"`permanentDeleteEnabled`\"\u003e`permanent_delete_enabled`\u003c/span\u003e cannot be set to true if a \u003cspan pulumi-lang-nodejs=\"`restorePolicy`\" pulumi-lang-dotnet=\"`RestorePolicy`\" pulumi-lang-go=\"`restorePolicy`\" pulumi-lang-python=\"`restore_policy`\" pulumi-lang-yaml=\"`restorePolicy`\" pulumi-lang-java=\"`restorePolicy`\"\u003e`restore_policy`\u003c/span\u003e block is defined.\n"}},"type":"object"},"azure:storage/AccountBlobPropertiesRestorePolicy:AccountBlobPropertiesRestorePolicy":{"properties":{"days":{"type":"integer","description":"Specifies the number of days that the blob can be restored, between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`365`\" pulumi-lang-dotnet=\"`365`\" pulumi-lang-go=\"`365`\" pulumi-lang-python=\"`365`\" pulumi-lang-yaml=\"`365`\" pulumi-lang-java=\"`365`\"\u003e`365`\u003c/span\u003e days. This must be less than the \u003cspan pulumi-lang-nodejs=\"`days`\" pulumi-lang-dotnet=\"`Days`\" pulumi-lang-go=\"`days`\" pulumi-lang-python=\"`days`\" pulumi-lang-yaml=\"`days`\" pulumi-lang-java=\"`days`\"\u003e`days`\u003c/span\u003e specified for \u003cspan pulumi-lang-nodejs=\"`deleteRetentionPolicy`\" pulumi-lang-dotnet=\"`DeleteRetentionPolicy`\" pulumi-lang-go=\"`deleteRetentionPolicy`\" pulumi-lang-python=\"`delete_retention_policy`\" pulumi-lang-yaml=\"`deleteRetentionPolicy`\" pulumi-lang-java=\"`deleteRetentionPolicy`\"\u003e`delete_retention_policy`\u003c/span\u003e.\n"}},"type":"object","required":["days"]},"azure:storage/AccountCustomDomain:AccountCustomDomain":{"properties":{"name":{"type":"string","description":"The Custom Domain Name to use for the Storage Account, which will be validated by Azure.\n"},"useSubdomain":{"type":"boolean","description":"Should the Custom Domain Name be validated by using indirect CNAME validation?\n\n\u003e **Note:** [More information on Validation is available here](https://docs.microsoft.com/en-gb/azure/storage/blobs/storage-custom-domain-name)\n"}},"type":"object","required":["name"]},"azure:storage/AccountCustomerManagedKey:AccountCustomerManagedKey":{"properties":{"keyVaultKeyId":{"type":"string","description":"The ID of the Key Vault Key, supplying a version-less key ID will enable auto-rotation of this key.\n"},"managedHsmKeyId":{"type":"string","deprecationMessage":"\u003cspan pulumi-lang-nodejs=\"`managedHsmKeyId`\" pulumi-lang-dotnet=\"`ManagedHsmKeyId`\" pulumi-lang-go=\"`managedHsmKeyId`\" pulumi-lang-python=\"`managed_hsm_key_id`\" pulumi-lang-yaml=\"`managedHsmKeyId`\" pulumi-lang-java=\"`managedHsmKeyId`\"\u003e`managed_hsm_key_id`\u003c/span\u003e has been deprecated in favour of \u003cspan pulumi-lang-nodejs=\"`keyVaultKeyId`\" pulumi-lang-dotnet=\"`KeyVaultKeyId`\" pulumi-lang-go=\"`keyVaultKeyId`\" pulumi-lang-python=\"`key_vault_key_id`\" pulumi-lang-yaml=\"`keyVaultKeyId`\" pulumi-lang-java=\"`keyVaultKeyId`\"\u003e`key_vault_key_id`\u003c/span\u003e and will be removed in v5.0 of the AzureRM provider"},"userAssignedIdentityId":{"type":"string","description":"The ID of a user assigned identity.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`customerManagedKey`\" pulumi-lang-dotnet=\"`CustomerManagedKey`\" pulumi-lang-go=\"`customerManagedKey`\" pulumi-lang-python=\"`customer_managed_key`\" pulumi-lang-yaml=\"`customerManagedKey`\" pulumi-lang-java=\"`customerManagedKey`\"\u003e`customer_managed_key`\u003c/span\u003e can only be set when the \u003cspan pulumi-lang-nodejs=\"`accountKind`\" pulumi-lang-dotnet=\"`AccountKind`\" pulumi-lang-go=\"`accountKind`\" pulumi-lang-python=\"`account_kind`\" pulumi-lang-yaml=\"`accountKind`\" pulumi-lang-java=\"`accountKind`\"\u003e`account_kind`\u003c/span\u003e is set to `StorageV2` or \u003cspan pulumi-lang-nodejs=\"`accountTier`\" pulumi-lang-dotnet=\"`AccountTier`\" pulumi-lang-go=\"`accountTier`\" pulumi-lang-python=\"`account_tier`\" pulumi-lang-yaml=\"`accountTier`\" pulumi-lang-java=\"`accountTier`\"\u003e`account_tier`\u003c/span\u003e set to `Premium`, and the identity type is `UserAssigned`.\n"}},"type":"object","required":["userAssignedIdentityId"],"language":{"nodejs":{"requiredOutputs":["keyVaultKeyId","managedHsmKeyId","userAssignedIdentityId"]}}},"azure:storage/AccountIdentity:AccountIdentity":{"properties":{"identityIds":{"type":"array","items":{"type":"string"},"description":"Specifies a list of User Assigned Managed Identity IDs to be assigned to this Storage Account.\n\n\u003e **Note:** This is required when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to `UserAssigned` or `SystemAssigned, UserAssigned`.\n\n\u003e **Note:** The assigned \u003cspan pulumi-lang-nodejs=\"`principalId`\" pulumi-lang-dotnet=\"`PrincipalId`\" pulumi-lang-go=\"`principalId`\" pulumi-lang-python=\"`principal_id`\" pulumi-lang-yaml=\"`principalId`\" pulumi-lang-java=\"`principalId`\"\u003e`principal_id`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`tenantId`\" pulumi-lang-dotnet=\"`TenantId`\" pulumi-lang-go=\"`tenantId`\" pulumi-lang-python=\"`tenant_id`\" pulumi-lang-yaml=\"`tenantId`\" pulumi-lang-java=\"`tenantId`\"\u003e`tenant_id`\u003c/span\u003e can be retrieved after the identity \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e has been set to `SystemAssigned`  and Storage Account has been created. More details are available below.\n"},"principalId":{"type":"string","description":"The Principal ID for the Service Principal associated with the Identity of this Storage Account.\n"},"tenantId":{"type":"string","description":"The Tenant ID for the Service Principal associated with the Identity of this Storage Account.\n"},"type":{"type":"string","description":"Specifies the type of Managed Service Identity that should be configured on this Storage Account. Possible values are `SystemAssigned`, `UserAssigned`, `SystemAssigned, UserAssigned` (to enable both).\n"}},"type":"object","required":["type"],"language":{"nodejs":{"requiredOutputs":["principalId","tenantId","type"]}}},"azure:storage/AccountImmutabilityPolicy:AccountImmutabilityPolicy":{"properties":{"allowProtectedAppendWrites":{"type":"boolean","description":"When enabled, new blocks can be written to an append blob while maintaining immutability protection and compliance. Only new blocks can be added and any existing blocks cannot be modified or deleted.\n"},"periodSinceCreationInDays":{"type":"integer","description":"The immutability period for the blobs in the container since the policy creation, in days.\n"},"state":{"type":"string","description":"Defines the mode of the policy. `Disabled` state disables the policy, `Unlocked` state allows increase and decrease of immutability retention time and also allows toggling allowProtectedAppendWrites property, `Locked` state only allows the increase of the immutability retention time. A policy can only be created in a Disabled or Unlocked state and can be toggled between the two states. Only a policy in an Unlocked state can transition to a Locked state which cannot be reverted.\n"}},"type":"object","required":["allowProtectedAppendWrites","periodSinceCreationInDays","state"]},"azure:storage/AccountNetworkRules:AccountNetworkRules":{"properties":{"bypasses":{"type":"array","items":{"type":"string"},"description":"Specifies whether traffic is bypassed for Logging/Metrics/AzureServices. Valid options are any combination of `Logging`, `Metrics`, `AzureServices`, or `None`.\n"},"defaultAction":{"type":"string","description":"Specifies the default action of allow or deny when no other rules match. Valid options are `Deny` or `Allow`.\n"},"ipRules":{"type":"array","items":{"type":"string"},"description":"List of public IP or IP ranges in CIDR Format. Only IPv4 addresses are allowed. /31 CIDRs, /32 CIDRs, and Private IP address ranges (as defined in [RFC 1918](https://tools.ietf.org/html/rfc1918#section-3)), are not allowed.\n"},"privateLinkAccesses":{"type":"array","items":{"$ref":"#/types/azure:storage/AccountNetworkRulesPrivateLinkAccess:AccountNetworkRulesPrivateLinkAccess"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`privateLinkAccess`\" pulumi-lang-dotnet=\"`PrivateLinkAccess`\" pulumi-lang-go=\"`privateLinkAccess`\" pulumi-lang-python=\"`private_link_access`\" pulumi-lang-yaml=\"`privateLinkAccess`\" pulumi-lang-java=\"`privateLinkAccess`\"\u003e`private_link_access`\u003c/span\u003e block as defined below.\n\n\u003e **Note:** If specifying \u003cspan pulumi-lang-nodejs=\"`networkRules`\" pulumi-lang-dotnet=\"`NetworkRules`\" pulumi-lang-go=\"`networkRules`\" pulumi-lang-python=\"`network_rules`\" pulumi-lang-yaml=\"`networkRules`\" pulumi-lang-java=\"`networkRules`\"\u003e`network_rules`\u003c/span\u003e, one of either \u003cspan pulumi-lang-nodejs=\"`ipRules`\" pulumi-lang-dotnet=\"`IpRules`\" pulumi-lang-go=\"`ipRules`\" pulumi-lang-python=\"`ip_rules`\" pulumi-lang-yaml=\"`ipRules`\" pulumi-lang-java=\"`ipRules`\"\u003e`ip_rules`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`virtualNetworkSubnetIds`\" pulumi-lang-dotnet=\"`VirtualNetworkSubnetIds`\" pulumi-lang-go=\"`virtualNetworkSubnetIds`\" pulumi-lang-python=\"`virtual_network_subnet_ids`\" pulumi-lang-yaml=\"`virtualNetworkSubnetIds`\" pulumi-lang-java=\"`virtualNetworkSubnetIds`\"\u003e`virtual_network_subnet_ids`\u003c/span\u003e must be specified and \u003cspan pulumi-lang-nodejs=\"`defaultAction`\" pulumi-lang-dotnet=\"`DefaultAction`\" pulumi-lang-go=\"`defaultAction`\" pulumi-lang-python=\"`default_action`\" pulumi-lang-yaml=\"`defaultAction`\" pulumi-lang-java=\"`defaultAction`\"\u003e`default_action`\u003c/span\u003e must be set to `Deny`.\n\n\u003e **Note:** Network Rules can be defined either directly on the \u003cspan pulumi-lang-nodejs=\"`azure.storage.Account`\" pulumi-lang-dotnet=\"`azure.storage.Account`\" pulumi-lang-go=\"`storage.Account`\" pulumi-lang-python=\"`storage.Account`\" pulumi-lang-yaml=\"`azure.storage.Account`\" pulumi-lang-java=\"`azure.storage.Account`\"\u003e`azure.storage.Account`\u003c/span\u003e resource, or using the \u003cspan pulumi-lang-nodejs=\"`azure.storage.AccountNetworkRules`\" pulumi-lang-dotnet=\"`azure.storage.AccountNetworkRules`\" pulumi-lang-go=\"`storage.AccountNetworkRules`\" pulumi-lang-python=\"`storage.AccountNetworkRules`\" pulumi-lang-yaml=\"`azure.storage.AccountNetworkRules`\" pulumi-lang-java=\"`azure.storage.AccountNetworkRules`\"\u003e`azure.storage.AccountNetworkRules`\u003c/span\u003e resource - but the two cannot be used together. If both are used against the same Storage Account, spurious changes will occur. When managing Network Rules using this resource, to change from a \u003cspan pulumi-lang-nodejs=\"`defaultAction`\" pulumi-lang-dotnet=\"`DefaultAction`\" pulumi-lang-go=\"`defaultAction`\" pulumi-lang-python=\"`default_action`\" pulumi-lang-yaml=\"`defaultAction`\" pulumi-lang-java=\"`defaultAction`\"\u003e`default_action`\u003c/span\u003e of `Deny` to `Allow` requires defining, rather than removing, the block.\n\n\u003e **Note:** The prefix of \u003cspan pulumi-lang-nodejs=\"`ipRules`\" pulumi-lang-dotnet=\"`IpRules`\" pulumi-lang-go=\"`ipRules`\" pulumi-lang-python=\"`ip_rules`\" pulumi-lang-yaml=\"`ipRules`\" pulumi-lang-java=\"`ipRules`\"\u003e`ip_rules`\u003c/span\u003e must be between 0 and 30 and only supports public IP addresses.\n"},"virtualNetworkSubnetIds":{"type":"array","items":{"type":"string"},"description":"A list of resource ids for subnets.\n"}},"type":"object","required":["defaultAction"],"language":{"nodejs":{"requiredOutputs":["bypasses","defaultAction","ipRules","virtualNetworkSubnetIds"]}}},"azure:storage/AccountNetworkRulesPrivateLinkAccess:AccountNetworkRulesPrivateLinkAccess":{"properties":{"endpointResourceId":{"type":"string","description":"The ID of the Azure resource that should be allowed access to the target storage account.\n"},"endpointTenantId":{"type":"string","description":"The tenant id of the resource of the resource access rule to be granted access. Defaults to the current tenant id.\n"}},"type":"object","required":["endpointResourceId"],"language":{"nodejs":{"requiredOutputs":["endpointResourceId","endpointTenantId"]}}},"azure:storage/AccountNetworkRulesPrivateLinkAccessRule:AccountNetworkRulesPrivateLinkAccessRule":{"properties":{"endpointResourceId":{"type":"string","description":"The resource id of the resource access rule to be granted access.\n"},"endpointTenantId":{"type":"string","description":"The tenant id of the resource of the resource access rule to be granted access. Defaults to the current tenant id.\n"}},"type":"object","required":["endpointResourceId"],"language":{"nodejs":{"requiredOutputs":["endpointResourceId","endpointTenantId"]}}},"azure:storage/AccountQueueProperties:AccountQueueProperties":{"properties":{"corsRules":{"type":"array","items":{"$ref":"#/types/azure:storage/AccountQueuePropertiesCorsRule:AccountQueuePropertiesCorsRule"},"description":"A \u003cspan pulumi-lang-nodejs=\"`corsRule`\" pulumi-lang-dotnet=\"`CorsRule`\" pulumi-lang-go=\"`corsRule`\" pulumi-lang-python=\"`cors_rule`\" pulumi-lang-yaml=\"`corsRule`\" pulumi-lang-java=\"`corsRule`\"\u003e`cors_rule`\u003c/span\u003e block as defined above.\n"},"hourMetrics":{"$ref":"#/types/azure:storage/AccountQueuePropertiesHourMetrics:AccountQueuePropertiesHourMetrics","description":"A \u003cspan pulumi-lang-nodejs=\"`hourMetrics`\" pulumi-lang-dotnet=\"`HourMetrics`\" pulumi-lang-go=\"`hourMetrics`\" pulumi-lang-python=\"`hour_metrics`\" pulumi-lang-yaml=\"`hourMetrics`\" pulumi-lang-java=\"`hourMetrics`\"\u003e`hour_metrics`\u003c/span\u003e block as defined below.\n"},"logging":{"$ref":"#/types/azure:storage/AccountQueuePropertiesLogging:AccountQueuePropertiesLogging","description":"A \u003cspan pulumi-lang-nodejs=\"`logging`\" pulumi-lang-dotnet=\"`Logging`\" pulumi-lang-go=\"`logging`\" pulumi-lang-python=\"`logging`\" pulumi-lang-yaml=\"`logging`\" pulumi-lang-java=\"`logging`\"\u003e`logging`\u003c/span\u003e block as defined below.\n"},"minuteMetrics":{"$ref":"#/types/azure:storage/AccountQueuePropertiesMinuteMetrics:AccountQueuePropertiesMinuteMetrics","description":"A \u003cspan pulumi-lang-nodejs=\"`minuteMetrics`\" pulumi-lang-dotnet=\"`MinuteMetrics`\" pulumi-lang-go=\"`minuteMetrics`\" pulumi-lang-python=\"`minute_metrics`\" pulumi-lang-yaml=\"`minuteMetrics`\" pulumi-lang-java=\"`minuteMetrics`\"\u003e`minute_metrics`\u003c/span\u003e block as defined below.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["hourMetrics","logging","minuteMetrics"]}}},"azure:storage/AccountQueuePropertiesCorsRule:AccountQueuePropertiesCorsRule":{"properties":{"allowedHeaders":{"type":"array","items":{"type":"string"},"description":"A list of headers that are allowed to be a part of the cross-origin request.\n"},"allowedMethods":{"type":"array","items":{"type":"string"},"description":"A list of HTTP methods that are allowed to be executed by the origin. Valid options are `DELETE`, `GET`, `HEAD`, `MERGE`, `POST`, `OPTIONS`, `PUT` or `PATCH`.\n"},"allowedOrigins":{"type":"array","items":{"type":"string"},"description":"A list of origin domains that will be allowed by CORS.\n"},"exposedHeaders":{"type":"array","items":{"type":"string"},"description":"A list of response headers that are exposed to CORS clients.\n"},"maxAgeInSeconds":{"type":"integer","description":"The number of seconds the client should cache a preflight response.\n"}},"type":"object","required":["allowedHeaders","allowedMethods","allowedOrigins","exposedHeaders","maxAgeInSeconds"]},"azure:storage/AccountQueuePropertiesHourMetrics:AccountQueuePropertiesHourMetrics":{"properties":{"includeApis":{"type":"boolean","description":"Indicates whether metrics should generate summary statistics for called API operations.\n"},"retentionPolicyDays":{"type":"integer","description":"Specifies the number of days that logs will be retained.\n"},"version":{"type":"string","description":"The version of storage analytics to configure.\n"}},"type":"object","required":["version"]},"azure:storage/AccountQueuePropertiesLogging:AccountQueuePropertiesLogging":{"properties":{"delete":{"type":"boolean","description":"Indicates whether all delete requests should be logged.\n"},"read":{"type":"boolean","description":"Indicates whether all read requests should be logged.\n"},"retentionPolicyDays":{"type":"integer","description":"Specifies the number of days that logs will be retained.\n"},"version":{"type":"string","description":"The version of storage analytics to configure.\n"},"write":{"type":"boolean","description":"Indicates whether all write requests should be logged.\n"}},"type":"object","required":["delete","read","version","write"]},"azure:storage/AccountQueuePropertiesMinuteMetrics:AccountQueuePropertiesMinuteMetrics":{"properties":{"includeApis":{"type":"boolean","description":"Indicates whether metrics should generate summary statistics for called API operations.\n"},"retentionPolicyDays":{"type":"integer","description":"Specifies the number of days that logs will be retained.\n"},"version":{"type":"string","description":"The version of storage analytics to configure.\n"}},"type":"object","required":["version"]},"azure:storage/AccountRouting:AccountRouting":{"properties":{"choice":{"type":"string","description":"Specifies the kind of network routing opted by the user. Possible values are `InternetRouting` and `MicrosoftRouting`. Defaults to `MicrosoftRouting`.\n"},"publishInternetEndpoints":{"type":"boolean","description":"Should internet routing storage endpoints be published? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"publishMicrosoftEndpoints":{"type":"boolean","description":"Should Microsoft routing storage endpoints be published? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"}},"type":"object"},"azure:storage/AccountSasPolicy:AccountSasPolicy":{"properties":{"expirationAction":{"type":"string","description":"The SAS expiration action. Possible values are `Log` and `Block`. Defaults to `Log`.\n"},"expirationPeriod":{"type":"string","description":"The SAS expiration period in format of `DD.HH:MM:SS`.\n"}},"type":"object","required":["expirationPeriod"]},"azure:storage/AccountShareProperties:AccountShareProperties":{"properties":{"corsRules":{"type":"array","items":{"$ref":"#/types/azure:storage/AccountSharePropertiesCorsRule:AccountSharePropertiesCorsRule"},"description":"A \u003cspan pulumi-lang-nodejs=\"`corsRule`\" pulumi-lang-dotnet=\"`CorsRule`\" pulumi-lang-go=\"`corsRule`\" pulumi-lang-python=\"`cors_rule`\" pulumi-lang-yaml=\"`corsRule`\" pulumi-lang-java=\"`corsRule`\"\u003e`cors_rule`\u003c/span\u003e block as defined below.\n"},"retentionPolicy":{"$ref":"#/types/azure:storage/AccountSharePropertiesRetentionPolicy:AccountSharePropertiesRetentionPolicy","description":"A \u003cspan pulumi-lang-nodejs=\"`retentionPolicy`\" pulumi-lang-dotnet=\"`RetentionPolicy`\" pulumi-lang-go=\"`retentionPolicy`\" pulumi-lang-python=\"`retention_policy`\" pulumi-lang-yaml=\"`retentionPolicy`\" pulumi-lang-java=\"`retentionPolicy`\"\u003e`retention_policy`\u003c/span\u003e block as defined below.\n"},"smb":{"$ref":"#/types/azure:storage/AccountSharePropertiesSmb:AccountSharePropertiesSmb","description":"A \u003cspan pulumi-lang-nodejs=\"`smb`\" pulumi-lang-dotnet=\"`Smb`\" pulumi-lang-go=\"`smb`\" pulumi-lang-python=\"`smb`\" pulumi-lang-yaml=\"`smb`\" pulumi-lang-java=\"`smb`\"\u003e`smb`\u003c/span\u003e block as defined below.\n"}},"type":"object"},"azure:storage/AccountSharePropertiesCorsRule:AccountSharePropertiesCorsRule":{"properties":{"allowedHeaders":{"type":"array","items":{"type":"string"},"description":"A list of headers that are allowed to be a part of the cross-origin request.\n"},"allowedMethods":{"type":"array","items":{"type":"string"},"description":"A list of HTTP methods that are allowed to be executed by the origin. Valid options are\n`DELETE`, `GET`, `HEAD`, `MERGE`, `POST`, `OPTIONS`, `PUT` or `PATCH`.\n"},"allowedOrigins":{"type":"array","items":{"type":"string"},"description":"A list of origin domains that will be allowed by CORS.\n"},"exposedHeaders":{"type":"array","items":{"type":"string"},"description":"A list of response headers that are exposed to CORS clients.\n"},"maxAgeInSeconds":{"type":"integer","description":"The number of seconds the client should cache a preflight response.\n"}},"type":"object","required":["allowedHeaders","allowedMethods","allowedOrigins","exposedHeaders","maxAgeInSeconds"]},"azure:storage/AccountSharePropertiesRetentionPolicy:AccountSharePropertiesRetentionPolicy":{"properties":{"days":{"type":"integer","description":"Specifies the number of days that the \u003cspan pulumi-lang-nodejs=\"`azure.storage.Share`\" pulumi-lang-dotnet=\"`azure.storage.Share`\" pulumi-lang-go=\"`storage.Share`\" pulumi-lang-python=\"`storage.Share`\" pulumi-lang-yaml=\"`azure.storage.Share`\" pulumi-lang-java=\"`azure.storage.Share`\"\u003e`azure.storage.Share`\u003c/span\u003e should be retained, between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`365`\" pulumi-lang-dotnet=\"`365`\" pulumi-lang-go=\"`365`\" pulumi-lang-python=\"`365`\" pulumi-lang-yaml=\"`365`\" pulumi-lang-java=\"`365`\"\u003e`365`\u003c/span\u003e days. Defaults to \u003cspan pulumi-lang-nodejs=\"`7`\" pulumi-lang-dotnet=\"`7`\" pulumi-lang-go=\"`7`\" pulumi-lang-python=\"`7`\" pulumi-lang-yaml=\"`7`\" pulumi-lang-java=\"`7`\"\u003e`7`\u003c/span\u003e.\n"}},"type":"object"},"azure:storage/AccountSharePropertiesSmb:AccountSharePropertiesSmb":{"properties":{"authenticationTypes":{"type":"array","items":{"type":"string"},"description":"A set of SMB authentication methods. Possible values are `NTLMv2`, and `Kerberos`.\n"},"channelEncryptionTypes":{"type":"array","items":{"type":"string"},"description":"A set of SMB channel encryption. Possible values are `AES-128-CCM`, `AES-128-GCM`, and `AES-256-GCM`.\n"},"kerberosTicketEncryptionTypes":{"type":"array","items":{"type":"string"},"description":"A set of Kerberos ticket encryption. Possible values are `RC4-HMAC`, and `AES-256`.\n"},"multichannelEnabled":{"type":"boolean","description":"Indicates whether multichannel is enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. This is only supported on Premium storage accounts.\n"},"versions":{"type":"array","items":{"type":"string"},"description":"A set of SMB protocol versions. Possible values are `SMB2.1`, `SMB3.0`, and `SMB3.1.1`.\n"}},"type":"object"},"azure:storage/AccountStaticWebsite:AccountStaticWebsite":{"properties":{"error404Document":{"type":"string","description":"The absolute path to a custom webpage that should be used when a request is made which does not correspond to an existing file.\n"},"indexDocument":{"type":"string","description":"The webpage that Azure Storage serves for requests to the root of a website or any subfolder. For example, index.html. The value is case-sensitive.\n"}},"type":"object"},"azure:storage/BlobInventoryPolicyRule:BlobInventoryPolicyRule":{"properties":{"filter":{"$ref":"#/types/azure:storage/BlobInventoryPolicyRuleFilter:BlobInventoryPolicyRuleFilter","description":"A \u003cspan pulumi-lang-nodejs=\"`filter`\" pulumi-lang-dotnet=\"`Filter`\" pulumi-lang-go=\"`filter`\" pulumi-lang-python=\"`filter`\" pulumi-lang-yaml=\"`filter`\" pulumi-lang-java=\"`filter`\"\u003e`filter`\u003c/span\u003e block as defined above.\n"},"format":{"type":"string","description":"The format of the inventory files. Possible values are `Csv` and `Parquet`.\n"},"name":{"type":"string","description":"The name which should be used for this Blob Inventory Policy Rule.\n"},"schedule":{"type":"string","description":"The inventory schedule applied by this rule. Possible values are `Daily` and `Weekly`.\n"},"schemaFields":{"type":"array","items":{"type":"string"},"description":"A list of fields to be included in the inventory. See the [Azure API reference](https://docs.microsoft.com/rest/api/storagerp/blob-inventory-policies/create-or-update#blobinventorypolicydefinition) for all the supported fields.\n"},"scope":{"type":"string","description":"The scope of the inventory for this rule. Possible values are `Blob` and `Container`.\n"},"storageContainerName":{"type":"string","description":"The storage container name to store the blob inventory files for this rule.\n"}},"type":"object","required":["format","name","schedule","schemaFields","scope","storageContainerName"]},"azure:storage/BlobInventoryPolicyRuleFilter:BlobInventoryPolicyRuleFilter":{"properties":{"blobTypes":{"type":"array","items":{"type":"string"},"description":"A set of blob types. Possible values are `blockBlob`, `appendBlob`, and `pageBlob`. The storage account with \u003cspan pulumi-lang-nodejs=\"`isHnsEnabled`\" pulumi-lang-dotnet=\"`IsHnsEnabled`\" pulumi-lang-go=\"`isHnsEnabled`\" pulumi-lang-python=\"`is_hns_enabled`\" pulumi-lang-yaml=\"`isHnsEnabled`\" pulumi-lang-java=\"`isHnsEnabled`\"\u003e`is_hns_enabled`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e doesn't support `pageBlob`.\n\n\u003e **Note:** The `rules.*.schema_fields` for this rule has to include `BlobType` so that you can specify the \u003cspan pulumi-lang-nodejs=\"`blobTypes`\" pulumi-lang-dotnet=\"`BlobTypes`\" pulumi-lang-go=\"`blobTypes`\" pulumi-lang-python=\"`blob_types`\" pulumi-lang-yaml=\"`blobTypes`\" pulumi-lang-java=\"`blobTypes`\"\u003e`blob_types`\u003c/span\u003e.\n"},"excludePrefixes":{"type":"array","items":{"type":"string"},"description":"A set of strings for blob prefixes to be excluded. Maximum of 10 blob prefixes.\n"},"includeBlobVersions":{"type":"boolean","description":"Includes blob versions in blob inventory or not? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** The `rules.*.schema_fields` for this rule has to include `IsCurrentVersion` and `VersionId` so that you can specify the \u003cspan pulumi-lang-nodejs=\"`includeBlobVersions`\" pulumi-lang-dotnet=\"`IncludeBlobVersions`\" pulumi-lang-go=\"`includeBlobVersions`\" pulumi-lang-python=\"`include_blob_versions`\" pulumi-lang-yaml=\"`includeBlobVersions`\" pulumi-lang-java=\"`includeBlobVersions`\"\u003e`include_blob_versions`\u003c/span\u003e.\n"},"includeDeleted":{"type":"boolean","description":"Includes deleted blobs in blob inventory or not? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** If `rules.*.scope` is `Container`, the `rules.*.schema_fields` for this rule must include `Deleted`, `Version`, `DeletedTime`, and `RemainingRetentionDays` so that you can specify the \u003cspan pulumi-lang-nodejs=\"`includeDeleted`\" pulumi-lang-dotnet=\"`IncludeDeleted`\" pulumi-lang-go=\"`includeDeleted`\" pulumi-lang-python=\"`include_deleted`\" pulumi-lang-yaml=\"`includeDeleted`\" pulumi-lang-java=\"`includeDeleted`\"\u003e`include_deleted`\u003c/span\u003e. If `rules.*.scope` is `Blob`, the `rules.*.schema_fields` must include `Deleted` and `RemainingRetentionDays` so that you can specify the \u003cspan pulumi-lang-nodejs=\"`includeDeleted`\" pulumi-lang-dotnet=\"`IncludeDeleted`\" pulumi-lang-go=\"`includeDeleted`\" pulumi-lang-python=\"`include_deleted`\" pulumi-lang-yaml=\"`includeDeleted`\" pulumi-lang-java=\"`includeDeleted`\"\u003e`include_deleted`\u003c/span\u003e. If `rules.*.scope` is `Blob` and the storage account specified by \u003cspan pulumi-lang-nodejs=\"`storageAccountId`\" pulumi-lang-dotnet=\"`StorageAccountId`\" pulumi-lang-go=\"`storageAccountId`\" pulumi-lang-python=\"`storage_account_id`\" pulumi-lang-yaml=\"`storageAccountId`\" pulumi-lang-java=\"`storageAccountId`\"\u003e`storage_account_id`\u003c/span\u003e has hierarchical namespaces enabled (\u003cspan pulumi-lang-nodejs=\"`isHnsEnabled`\" pulumi-lang-dotnet=\"`IsHnsEnabled`\" pulumi-lang-go=\"`isHnsEnabled`\" pulumi-lang-python=\"`is_hns_enabled`\" pulumi-lang-yaml=\"`isHnsEnabled`\" pulumi-lang-java=\"`isHnsEnabled`\"\u003e`is_hns_enabled`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e on the storage account), the `rules.*.schema_fields` for this rule must include `Deleted`, `Version`, `DeletedTime`, and `RemainingRetentionDays` so that you can specify the \u003cspan pulumi-lang-nodejs=\"`includeDeleted`\" pulumi-lang-dotnet=\"`IncludeDeleted`\" pulumi-lang-go=\"`includeDeleted`\" pulumi-lang-python=\"`include_deleted`\" pulumi-lang-yaml=\"`includeDeleted`\" pulumi-lang-java=\"`includeDeleted`\"\u003e`include_deleted`\u003c/span\u003e.\n"},"includeSnapshots":{"type":"boolean","description":"Includes blob snapshots in blob inventory or not? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** The `rules.*.schema_fields` for this rule has to include `Snapshot` so that you can specify the \u003cspan pulumi-lang-nodejs=\"`includeSnapshots`\" pulumi-lang-dotnet=\"`IncludeSnapshots`\" pulumi-lang-go=\"`includeSnapshots`\" pulumi-lang-python=\"`include_snapshots`\" pulumi-lang-yaml=\"`includeSnapshots`\" pulumi-lang-java=\"`includeSnapshots`\"\u003e`include_snapshots`\u003c/span\u003e.\n"},"prefixMatches":{"type":"array","items":{"type":"string"},"description":"A set of strings for blob prefixes to be matched. Maximum of 10 blob prefixes.\n"}},"type":"object","required":["blobTypes"]},"azure:storage/DataLakeGen2FilesystemAce:DataLakeGen2FilesystemAce":{"properties":{"id":{"type":"string","description":"Specifies the Object ID of the Azure Active Directory User or Group that the entry relates to. Only valid for \u003cspan pulumi-lang-nodejs=\"`user`\" pulumi-lang-dotnet=\"`User`\" pulumi-lang-go=\"`user`\" pulumi-lang-python=\"`user`\" pulumi-lang-yaml=\"`user`\" pulumi-lang-java=\"`user`\"\u003e`user`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`group`\" pulumi-lang-dotnet=\"`Group`\" pulumi-lang-go=\"`group`\" pulumi-lang-python=\"`group`\" pulumi-lang-yaml=\"`group`\" pulumi-lang-java=\"`group`\"\u003e`group`\u003c/span\u003e entries.\n"},"permissions":{"type":"string","description":"Specifies the permissions for the entry in \u003cspan pulumi-lang-nodejs=\"`rwx`\" pulumi-lang-dotnet=\"`Rwx`\" pulumi-lang-go=\"`rwx`\" pulumi-lang-python=\"`rwx`\" pulumi-lang-yaml=\"`rwx`\" pulumi-lang-java=\"`rwx`\"\u003e`rwx`\u003c/span\u003e form. For example, \u003cspan pulumi-lang-nodejs=\"`rwx`\" pulumi-lang-dotnet=\"`Rwx`\" pulumi-lang-go=\"`rwx`\" pulumi-lang-python=\"`rwx`\" pulumi-lang-yaml=\"`rwx`\" pulumi-lang-java=\"`rwx`\"\u003e`rwx`\u003c/span\u003e gives full permissions but `r--` only gives read permissions.\n\nMore details on ACLs can be found here: \u003chttps://docs.microsoft.com/azure/storage/blobs/data-lake-storage-access-control#access-control-lists-on-files-and-directories\u003e\n"},"scope":{"type":"string","description":"Specifies whether the ACE represents an \u003cspan pulumi-lang-nodejs=\"`access`\" pulumi-lang-dotnet=\"`Access`\" pulumi-lang-go=\"`access`\" pulumi-lang-python=\"`access`\" pulumi-lang-yaml=\"`access`\" pulumi-lang-java=\"`access`\"\u003e`access`\u003c/span\u003e entry or a \u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\"\u003e`default`\u003c/span\u003e entry. Default value is \u003cspan pulumi-lang-nodejs=\"`access`\" pulumi-lang-dotnet=\"`Access`\" pulumi-lang-go=\"`access`\" pulumi-lang-python=\"`access`\" pulumi-lang-yaml=\"`access`\" pulumi-lang-java=\"`access`\"\u003e`access`\u003c/span\u003e.\n"},"type":{"type":"string","description":"Specifies the type of entry. Can be \u003cspan pulumi-lang-nodejs=\"`user`\" pulumi-lang-dotnet=\"`User`\" pulumi-lang-go=\"`user`\" pulumi-lang-python=\"`user`\" pulumi-lang-yaml=\"`user`\" pulumi-lang-java=\"`user`\"\u003e`user`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`group`\" pulumi-lang-dotnet=\"`Group`\" pulumi-lang-go=\"`group`\" pulumi-lang-python=\"`group`\" pulumi-lang-yaml=\"`group`\" pulumi-lang-java=\"`group`\"\u003e`group`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`mask`\" pulumi-lang-dotnet=\"`Mask`\" pulumi-lang-go=\"`mask`\" pulumi-lang-python=\"`mask`\" pulumi-lang-yaml=\"`mask`\" pulumi-lang-java=\"`mask`\"\u003e`mask`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`other`\" pulumi-lang-dotnet=\"`Other`\" pulumi-lang-go=\"`other`\" pulumi-lang-python=\"`other`\" pulumi-lang-yaml=\"`other`\" pulumi-lang-java=\"`other`\"\u003e`other`\u003c/span\u003e.\n"}},"type":"object","required":["permissions","type"]},"azure:storage/DataLakeGen2PathAce:DataLakeGen2PathAce":{"properties":{"id":{"type":"string","description":"Specifies the Object ID of the Azure Active Directory User or Group that the entry relates to. Only valid for \u003cspan pulumi-lang-nodejs=\"`user`\" pulumi-lang-dotnet=\"`User`\" pulumi-lang-go=\"`user`\" pulumi-lang-python=\"`user`\" pulumi-lang-yaml=\"`user`\" pulumi-lang-java=\"`user`\"\u003e`user`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`group`\" pulumi-lang-dotnet=\"`Group`\" pulumi-lang-go=\"`group`\" pulumi-lang-python=\"`group`\" pulumi-lang-yaml=\"`group`\" pulumi-lang-java=\"`group`\"\u003e`group`\u003c/span\u003e entries.\n"},"permissions":{"type":"string","description":"Specifies the permissions for the entry in \u003cspan pulumi-lang-nodejs=\"`rwx`\" pulumi-lang-dotnet=\"`Rwx`\" pulumi-lang-go=\"`rwx`\" pulumi-lang-python=\"`rwx`\" pulumi-lang-yaml=\"`rwx`\" pulumi-lang-java=\"`rwx`\"\u003e`rwx`\u003c/span\u003e form. For example, \u003cspan pulumi-lang-nodejs=\"`rwx`\" pulumi-lang-dotnet=\"`Rwx`\" pulumi-lang-go=\"`rwx`\" pulumi-lang-python=\"`rwx`\" pulumi-lang-yaml=\"`rwx`\" pulumi-lang-java=\"`rwx`\"\u003e`rwx`\u003c/span\u003e gives full permissions but `r--` only gives read permissions.\n\nMore details on ACLs can be found here: \u003chttps://docs.microsoft.com/azure/storage/blobs/data-lake-storage-access-control#access-control-lists-on-files-and-directories\u003e\n\n\u003e **Note:** Using the service's ACE inheritance features will not work well with terraform since we cannot handle changes that are taking place out-of-band. Setting the path to inherit its permissions from its parent will result in terraform trying to revert them in the next apply operation.\n\n\u003e **Note:** The Storage Account requires \u003cspan pulumi-lang-nodejs=\"`accountKind`\" pulumi-lang-dotnet=\"`AccountKind`\" pulumi-lang-go=\"`accountKind`\" pulumi-lang-python=\"`account_kind`\" pulumi-lang-yaml=\"`accountKind`\" pulumi-lang-java=\"`accountKind`\"\u003e`account_kind`\u003c/span\u003e to be either `StorageV2` or `BlobStorage`. In addition, \u003cspan pulumi-lang-nodejs=\"`isHnsEnabled`\" pulumi-lang-dotnet=\"`IsHnsEnabled`\" pulumi-lang-go=\"`isHnsEnabled`\" pulumi-lang-python=\"`is_hns_enabled`\" pulumi-lang-yaml=\"`isHnsEnabled`\" pulumi-lang-java=\"`isHnsEnabled`\"\u003e`is_hns_enabled`\u003c/span\u003e has to be set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"scope":{"type":"string","description":"Specifies whether the ACE represents an \u003cspan pulumi-lang-nodejs=\"`access`\" pulumi-lang-dotnet=\"`Access`\" pulumi-lang-go=\"`access`\" pulumi-lang-python=\"`access`\" pulumi-lang-yaml=\"`access`\" pulumi-lang-java=\"`access`\"\u003e`access`\u003c/span\u003e entry or a \u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\"\u003e`default`\u003c/span\u003e entry. Default value is \u003cspan pulumi-lang-nodejs=\"`access`\" pulumi-lang-dotnet=\"`Access`\" pulumi-lang-go=\"`access`\" pulumi-lang-python=\"`access`\" pulumi-lang-yaml=\"`access`\" pulumi-lang-java=\"`access`\"\u003e`access`\u003c/span\u003e.\n"},"type":{"type":"string","description":"Specifies the type of entry. Can be \u003cspan pulumi-lang-nodejs=\"`user`\" pulumi-lang-dotnet=\"`User`\" pulumi-lang-go=\"`user`\" pulumi-lang-python=\"`user`\" pulumi-lang-yaml=\"`user`\" pulumi-lang-java=\"`user`\"\u003e`user`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`group`\" pulumi-lang-dotnet=\"`Group`\" pulumi-lang-go=\"`group`\" pulumi-lang-python=\"`group`\" pulumi-lang-yaml=\"`group`\" pulumi-lang-java=\"`group`\"\u003e`group`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`mask`\" pulumi-lang-dotnet=\"`Mask`\" pulumi-lang-go=\"`mask`\" pulumi-lang-python=\"`mask`\" pulumi-lang-yaml=\"`mask`\" pulumi-lang-java=\"`mask`\"\u003e`mask`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`other`\" pulumi-lang-dotnet=\"`Other`\" pulumi-lang-go=\"`other`\" pulumi-lang-python=\"`other`\" pulumi-lang-yaml=\"`other`\" pulumi-lang-java=\"`other`\"\u003e`other`\u003c/span\u003e.\n"}},"type":"object","required":["permissions","type"]},"azure:storage/LocalUserPermissionScope:LocalUserPermissionScope":{"properties":{"permissions":{"$ref":"#/types/azure:storage/LocalUserPermissionScopePermissions:LocalUserPermissionScopePermissions","description":"A \u003cspan pulumi-lang-nodejs=\"`permissions`\" pulumi-lang-dotnet=\"`Permissions`\" pulumi-lang-go=\"`permissions`\" pulumi-lang-python=\"`permissions`\" pulumi-lang-yaml=\"`permissions`\" pulumi-lang-java=\"`permissions`\"\u003e`permissions`\u003c/span\u003e block as defined below.\n"},"resourceName":{"type":"string","description":"The container name (when \u003cspan pulumi-lang-nodejs=\"`service`\" pulumi-lang-dotnet=\"`Service`\" pulumi-lang-go=\"`service`\" pulumi-lang-python=\"`service`\" pulumi-lang-yaml=\"`service`\" pulumi-lang-java=\"`service`\"\u003e`service`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`blob`\" pulumi-lang-dotnet=\"`Blob`\" pulumi-lang-go=\"`blob`\" pulumi-lang-python=\"`blob`\" pulumi-lang-yaml=\"`blob`\" pulumi-lang-java=\"`blob`\"\u003e`blob`\u003c/span\u003e) or the file share name (when \u003cspan pulumi-lang-nodejs=\"`service`\" pulumi-lang-dotnet=\"`Service`\" pulumi-lang-go=\"`service`\" pulumi-lang-python=\"`service`\" pulumi-lang-yaml=\"`service`\" pulumi-lang-java=\"`service`\"\u003e`service`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`file`\" pulumi-lang-dotnet=\"`File`\" pulumi-lang-go=\"`file`\" pulumi-lang-python=\"`file`\" pulumi-lang-yaml=\"`file`\" pulumi-lang-java=\"`file`\"\u003e`file`\u003c/span\u003e), used by the Storage Account Local User.\n"},"service":{"type":"string","description":"The storage service used by this Storage Account Local User. Possible values are \u003cspan pulumi-lang-nodejs=\"`blob`\" pulumi-lang-dotnet=\"`Blob`\" pulumi-lang-go=\"`blob`\" pulumi-lang-python=\"`blob`\" pulumi-lang-yaml=\"`blob`\" pulumi-lang-java=\"`blob`\"\u003e`blob`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`file`\" pulumi-lang-dotnet=\"`File`\" pulumi-lang-go=\"`file`\" pulumi-lang-python=\"`file`\" pulumi-lang-yaml=\"`file`\" pulumi-lang-java=\"`file`\"\u003e`file`\u003c/span\u003e.\n"}},"type":"object","required":["permissions","resourceName","service"]},"azure:storage/LocalUserPermissionScopePermissions:LocalUserPermissionScopePermissions":{"properties":{"create":{"type":"boolean","description":"Specifies if the Local User has the create permission for this scope. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"delete":{"type":"boolean","description":"Specifies if the Local User has the delete permission for this scope. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"list":{"type":"boolean","description":"Specifies if the Local User has the list permission for this scope. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"read":{"type":"boolean","description":"Specifies if the Local User has the read permission for this scope. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"write":{"type":"boolean","description":"Specifies if the Local User has the write permission for this scope. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"}},"type":"object"},"azure:storage/LocalUserSshAuthorizedKey:LocalUserSshAuthorizedKey":{"properties":{"description":{"type":"string","description":"The description of this SSH authorized key.\n"},"key":{"type":"string","description":"The public key value of this SSH authorized key.\n"}},"type":"object","required":["key"]},"azure:storage/ManagementPolicyRule:ManagementPolicyRule":{"properties":{"actions":{"$ref":"#/types/azure:storage/ManagementPolicyRuleActions:ManagementPolicyRuleActions","description":"An \u003cspan pulumi-lang-nodejs=\"`actions`\" pulumi-lang-dotnet=\"`Actions`\" pulumi-lang-go=\"`actions`\" pulumi-lang-python=\"`actions`\" pulumi-lang-yaml=\"`actions`\" pulumi-lang-java=\"`actions`\"\u003e`actions`\u003c/span\u003e block as documented below.\n"},"enabled":{"type":"boolean","description":"Boolean to specify whether the rule is enabled.\n"},"filters":{"$ref":"#/types/azure:storage/ManagementPolicyRuleFilters:ManagementPolicyRuleFilters","description":"A \u003cspan pulumi-lang-nodejs=\"`filters`\" pulumi-lang-dotnet=\"`Filters`\" pulumi-lang-go=\"`filters`\" pulumi-lang-python=\"`filters`\" pulumi-lang-yaml=\"`filters`\" pulumi-lang-java=\"`filters`\"\u003e`filters`\u003c/span\u003e block as documented below.\n"},"name":{"type":"string","description":"The name of the rule. Rule name is case-sensitive. It must be unique within a policy.\n"}},"type":"object","required":["actions","enabled","filters","name"]},"azure:storage/ManagementPolicyRuleActions:ManagementPolicyRuleActions":{"properties":{"baseBlob":{"$ref":"#/types/azure:storage/ManagementPolicyRuleActionsBaseBlob:ManagementPolicyRuleActionsBaseBlob","description":"A \u003cspan pulumi-lang-nodejs=\"`baseBlob`\" pulumi-lang-dotnet=\"`BaseBlob`\" pulumi-lang-go=\"`baseBlob`\" pulumi-lang-python=\"`base_blob`\" pulumi-lang-yaml=\"`baseBlob`\" pulumi-lang-java=\"`baseBlob`\"\u003e`base_blob`\u003c/span\u003e block as documented below.\n"},"snapshot":{"$ref":"#/types/azure:storage/ManagementPolicyRuleActionsSnapshot:ManagementPolicyRuleActionsSnapshot","description":"A \u003cspan pulumi-lang-nodejs=\"`snapshot`\" pulumi-lang-dotnet=\"`Snapshot`\" pulumi-lang-go=\"`snapshot`\" pulumi-lang-python=\"`snapshot`\" pulumi-lang-yaml=\"`snapshot`\" pulumi-lang-java=\"`snapshot`\"\u003e`snapshot`\u003c/span\u003e block as documented below.\n"},"version":{"$ref":"#/types/azure:storage/ManagementPolicyRuleActionsVersion:ManagementPolicyRuleActionsVersion","description":"A \u003cspan pulumi-lang-nodejs=\"`version`\" pulumi-lang-dotnet=\"`Version`\" pulumi-lang-go=\"`version`\" pulumi-lang-python=\"`version`\" pulumi-lang-yaml=\"`version`\" pulumi-lang-java=\"`version`\"\u003e`version`\u003c/span\u003e block as documented below.\n"}},"type":"object"},"azure:storage/ManagementPolicyRuleActionsBaseBlob:ManagementPolicyRuleActionsBaseBlob":{"properties":{"autoTierToHotFromCoolEnabled":{"type":"boolean","description":"Whether a blob should automatically be tiered from cool back to hot if it's accessed again after being tiered to cool. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`autoTierToHotFromCoolEnabled`\" pulumi-lang-dotnet=\"`AutoTierToHotFromCoolEnabled`\" pulumi-lang-go=\"`autoTierToHotFromCoolEnabled`\" pulumi-lang-python=\"`auto_tier_to_hot_from_cool_enabled`\" pulumi-lang-yaml=\"`autoTierToHotFromCoolEnabled`\" pulumi-lang-java=\"`autoTierToHotFromCoolEnabled`\"\u003e`auto_tier_to_hot_from_cool_enabled`\u003c/span\u003e must be used together with \u003cspan pulumi-lang-nodejs=\"`tierToCoolAfterDaysSinceLastAccessTimeGreaterThan`\" pulumi-lang-dotnet=\"`TierToCoolAfterDaysSinceLastAccessTimeGreaterThan`\" pulumi-lang-go=\"`tierToCoolAfterDaysSinceLastAccessTimeGreaterThan`\" pulumi-lang-python=\"`tier_to_cool_after_days_since_last_access_time_greater_than`\" pulumi-lang-yaml=\"`tierToCoolAfterDaysSinceLastAccessTimeGreaterThan`\" pulumi-lang-java=\"`tierToCoolAfterDaysSinceLastAccessTimeGreaterThan`\"\u003e`tier_to_cool_after_days_since_last_access_time_greater_than`\u003c/span\u003e.\n"},"deleteAfterDaysSinceCreationGreaterThan":{"type":"integer","description":"The age in days after creation to delete the blob. Must be between \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`99999`\" pulumi-lang-dotnet=\"`99999`\" pulumi-lang-go=\"`99999`\" pulumi-lang-python=\"`99999`\" pulumi-lang-yaml=\"`99999`\" pulumi-lang-java=\"`99999`\"\u003e`99999`\u003c/span\u003e. Defaults to `-1`.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`deleteAfterDaysSinceModificationGreaterThan`\" pulumi-lang-dotnet=\"`DeleteAfterDaysSinceModificationGreaterThan`\" pulumi-lang-go=\"`deleteAfterDaysSinceModificationGreaterThan`\" pulumi-lang-python=\"`delete_after_days_since_modification_greater_than`\" pulumi-lang-yaml=\"`deleteAfterDaysSinceModificationGreaterThan`\" pulumi-lang-java=\"`deleteAfterDaysSinceModificationGreaterThan`\"\u003e`delete_after_days_since_modification_greater_than`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`deleteAfterDaysSinceLastAccessTimeGreaterThan`\" pulumi-lang-dotnet=\"`DeleteAfterDaysSinceLastAccessTimeGreaterThan`\" pulumi-lang-go=\"`deleteAfterDaysSinceLastAccessTimeGreaterThan`\" pulumi-lang-python=\"`delete_after_days_since_last_access_time_greater_than`\" pulumi-lang-yaml=\"`deleteAfterDaysSinceLastAccessTimeGreaterThan`\" pulumi-lang-java=\"`deleteAfterDaysSinceLastAccessTimeGreaterThan`\"\u003e`delete_after_days_since_last_access_time_greater_than`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`deleteAfterDaysSinceCreationGreaterThan`\" pulumi-lang-dotnet=\"`DeleteAfterDaysSinceCreationGreaterThan`\" pulumi-lang-go=\"`deleteAfterDaysSinceCreationGreaterThan`\" pulumi-lang-python=\"`delete_after_days_since_creation_greater_than`\" pulumi-lang-yaml=\"`deleteAfterDaysSinceCreationGreaterThan`\" pulumi-lang-java=\"`deleteAfterDaysSinceCreationGreaterThan`\"\u003e`delete_after_days_since_creation_greater_than`\u003c/span\u003e can not be set at the same time.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`lastAccessTimeEnabled`\" pulumi-lang-dotnet=\"`LastAccessTimeEnabled`\" pulumi-lang-go=\"`lastAccessTimeEnabled`\" pulumi-lang-python=\"`last_access_time_enabled`\" pulumi-lang-yaml=\"`lastAccessTimeEnabled`\" pulumi-lang-java=\"`lastAccessTimeEnabled`\"\u003e`last_access_time_enabled`\u003c/span\u003e must be set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e in the \u003cspan pulumi-lang-nodejs=\"`azure.storage.Account`\" pulumi-lang-dotnet=\"`azure.storage.Account`\" pulumi-lang-go=\"`storage.Account`\" pulumi-lang-python=\"`storage.Account`\" pulumi-lang-yaml=\"`azure.storage.Account`\" pulumi-lang-java=\"`azure.storage.Account`\"\u003e`azure.storage.Account`\u003c/span\u003e in order to use \u003cspan pulumi-lang-nodejs=\"`tierToCoolAfterDaysSinceLastAccessTimeGreaterThan`\" pulumi-lang-dotnet=\"`TierToCoolAfterDaysSinceLastAccessTimeGreaterThan`\" pulumi-lang-go=\"`tierToCoolAfterDaysSinceLastAccessTimeGreaterThan`\" pulumi-lang-python=\"`tier_to_cool_after_days_since_last_access_time_greater_than`\" pulumi-lang-yaml=\"`tierToCoolAfterDaysSinceLastAccessTimeGreaterThan`\" pulumi-lang-java=\"`tierToCoolAfterDaysSinceLastAccessTimeGreaterThan`\"\u003e`tier_to_cool_after_days_since_last_access_time_greater_than`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`tierToArchiveAfterDaysSinceLastAccessTimeGreaterThan`\" pulumi-lang-dotnet=\"`TierToArchiveAfterDaysSinceLastAccessTimeGreaterThan`\" pulumi-lang-go=\"`tierToArchiveAfterDaysSinceLastAccessTimeGreaterThan`\" pulumi-lang-python=\"`tier_to_archive_after_days_since_last_access_time_greater_than`\" pulumi-lang-yaml=\"`tierToArchiveAfterDaysSinceLastAccessTimeGreaterThan`\" pulumi-lang-java=\"`tierToArchiveAfterDaysSinceLastAccessTimeGreaterThan`\"\u003e`tier_to_archive_after_days_since_last_access_time_greater_than`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`deleteAfterDaysSinceLastAccessTimeGreaterThan`\" pulumi-lang-dotnet=\"`DeleteAfterDaysSinceLastAccessTimeGreaterThan`\" pulumi-lang-go=\"`deleteAfterDaysSinceLastAccessTimeGreaterThan`\" pulumi-lang-python=\"`delete_after_days_since_last_access_time_greater_than`\" pulumi-lang-yaml=\"`deleteAfterDaysSinceLastAccessTimeGreaterThan`\" pulumi-lang-java=\"`deleteAfterDaysSinceLastAccessTimeGreaterThan`\"\u003e`delete_after_days_since_last_access_time_greater_than`\u003c/span\u003e.\n"},"deleteAfterDaysSinceLastAccessTimeGreaterThan":{"type":"integer","description":"The age in days after last access time to delete the blob. Must be between \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`99999`\" pulumi-lang-dotnet=\"`99999`\" pulumi-lang-go=\"`99999`\" pulumi-lang-python=\"`99999`\" pulumi-lang-yaml=\"`99999`\" pulumi-lang-java=\"`99999`\"\u003e`99999`\u003c/span\u003e. Defaults to `-1`.\n"},"deleteAfterDaysSinceModificationGreaterThan":{"type":"integer","description":"The age in days after last modification to delete the blob. Must be between \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`99999`\" pulumi-lang-dotnet=\"`99999`\" pulumi-lang-go=\"`99999`\" pulumi-lang-python=\"`99999`\" pulumi-lang-yaml=\"`99999`\" pulumi-lang-java=\"`99999`\"\u003e`99999`\u003c/span\u003e. Defaults to `-1`.\n"},"tierToArchiveAfterDaysSinceCreationGreaterThan":{"type":"integer","description":"The age in days after creation to archive storage. Supports blob currently at Hot or Cool tier. Must be between \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`99999`\" pulumi-lang-dotnet=\"`99999`\" pulumi-lang-go=\"`99999`\" pulumi-lang-python=\"`99999`\" pulumi-lang-yaml=\"`99999`\" pulumi-lang-java=\"`99999`\"\u003e`99999`\u003c/span\u003e. Defaults to `-1`.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`tierToArchiveAfterDaysSinceModificationGreaterThan`\" pulumi-lang-dotnet=\"`TierToArchiveAfterDaysSinceModificationGreaterThan`\" pulumi-lang-go=\"`tierToArchiveAfterDaysSinceModificationGreaterThan`\" pulumi-lang-python=\"`tier_to_archive_after_days_since_modification_greater_than`\" pulumi-lang-yaml=\"`tierToArchiveAfterDaysSinceModificationGreaterThan`\" pulumi-lang-java=\"`tierToArchiveAfterDaysSinceModificationGreaterThan`\"\u003e`tier_to_archive_after_days_since_modification_greater_than`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`tierToArchiveAfterDaysSinceLastAccessTimeGreaterThan`\" pulumi-lang-dotnet=\"`TierToArchiveAfterDaysSinceLastAccessTimeGreaterThan`\" pulumi-lang-go=\"`tierToArchiveAfterDaysSinceLastAccessTimeGreaterThan`\" pulumi-lang-python=\"`tier_to_archive_after_days_since_last_access_time_greater_than`\" pulumi-lang-yaml=\"`tierToArchiveAfterDaysSinceLastAccessTimeGreaterThan`\" pulumi-lang-java=\"`tierToArchiveAfterDaysSinceLastAccessTimeGreaterThan`\"\u003e`tier_to_archive_after_days_since_last_access_time_greater_than`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`tierToArchiveAfterDaysSinceCreationGreaterThan`\" pulumi-lang-dotnet=\"`TierToArchiveAfterDaysSinceCreationGreaterThan`\" pulumi-lang-go=\"`tierToArchiveAfterDaysSinceCreationGreaterThan`\" pulumi-lang-python=\"`tier_to_archive_after_days_since_creation_greater_than`\" pulumi-lang-yaml=\"`tierToArchiveAfterDaysSinceCreationGreaterThan`\" pulumi-lang-java=\"`tierToArchiveAfterDaysSinceCreationGreaterThan`\"\u003e`tier_to_archive_after_days_since_creation_greater_than`\u003c/span\u003e can not be set at the same time.\n"},"tierToArchiveAfterDaysSinceLastAccessTimeGreaterThan":{"type":"integer","description":"The age in days after last access time to tier blobs to archive storage. Supports blob currently at Hot or Cool tier. Must be between \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`99999`\" pulumi-lang-dotnet=\"`99999`\" pulumi-lang-go=\"`99999`\" pulumi-lang-python=\"`99999`\" pulumi-lang-yaml=\"`99999`\" pulumi-lang-java=\"`99999`\"\u003e`99999`\u003c/span\u003e. Defaults to `-1`.\n"},"tierToArchiveAfterDaysSinceLastTierChangeGreaterThan":{"type":"integer","description":"The age in days after last tier change to the blobs to skip to be archived. Must be between \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`99999`\" pulumi-lang-dotnet=\"`99999`\" pulumi-lang-go=\"`99999`\" pulumi-lang-python=\"`99999`\" pulumi-lang-yaml=\"`99999`\" pulumi-lang-java=\"`99999`\"\u003e`99999`\u003c/span\u003e. Defaults to `-1`.\n"},"tierToArchiveAfterDaysSinceModificationGreaterThan":{"type":"integer","description":"The age in days after last modification to tier blobs to archive storage. Supports blob currently at Hot or Cool tier. Must be between \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`99999`\" pulumi-lang-dotnet=\"`99999`\" pulumi-lang-go=\"`99999`\" pulumi-lang-python=\"`99999`\" pulumi-lang-yaml=\"`99999`\" pulumi-lang-java=\"`99999`\"\u003e`99999`\u003c/span\u003e. Defaults to `-1`.\n"},"tierToColdAfterDaysSinceCreationGreaterThan":{"type":"integer","description":"The age in days after creation to cold storage. Supports blob currently at Hot tier. Must be between \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`99999`\" pulumi-lang-dotnet=\"`99999`\" pulumi-lang-go=\"`99999`\" pulumi-lang-python=\"`99999`\" pulumi-lang-yaml=\"`99999`\" pulumi-lang-java=\"`99999`\"\u003e`99999`\u003c/span\u003e. Defaults to `-1`.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`tierToCoolAfterDaysSinceModificationGreaterThan`\" pulumi-lang-dotnet=\"`TierToCoolAfterDaysSinceModificationGreaterThan`\" pulumi-lang-go=\"`tierToCoolAfterDaysSinceModificationGreaterThan`\" pulumi-lang-python=\"`tier_to_cool_after_days_since_modification_greater_than`\" pulumi-lang-yaml=\"`tierToCoolAfterDaysSinceModificationGreaterThan`\" pulumi-lang-java=\"`tierToCoolAfterDaysSinceModificationGreaterThan`\"\u003e`tier_to_cool_after_days_since_modification_greater_than`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`tierToCoolAfterDaysSinceLastAccessTimeGreaterThan`\" pulumi-lang-dotnet=\"`TierToCoolAfterDaysSinceLastAccessTimeGreaterThan`\" pulumi-lang-go=\"`tierToCoolAfterDaysSinceLastAccessTimeGreaterThan`\" pulumi-lang-python=\"`tier_to_cool_after_days_since_last_access_time_greater_than`\" pulumi-lang-yaml=\"`tierToCoolAfterDaysSinceLastAccessTimeGreaterThan`\" pulumi-lang-java=\"`tierToCoolAfterDaysSinceLastAccessTimeGreaterThan`\"\u003e`tier_to_cool_after_days_since_last_access_time_greater_than`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`tierToCoolAfterDaysSinceCreationGreaterThan`\" pulumi-lang-dotnet=\"`TierToCoolAfterDaysSinceCreationGreaterThan`\" pulumi-lang-go=\"`tierToCoolAfterDaysSinceCreationGreaterThan`\" pulumi-lang-python=\"`tier_to_cool_after_days_since_creation_greater_than`\" pulumi-lang-yaml=\"`tierToCoolAfterDaysSinceCreationGreaterThan`\" pulumi-lang-java=\"`tierToCoolAfterDaysSinceCreationGreaterThan`\"\u003e`tier_to_cool_after_days_since_creation_greater_than`\u003c/span\u003e can not be set at the same time.\n"},"tierToColdAfterDaysSinceLastAccessTimeGreaterThan":{"type":"integer","description":"The age in days after last access time to tier blobs to cold storage. Supports blob currently at Hot tier. Must be between \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`99999`\" pulumi-lang-dotnet=\"`99999`\" pulumi-lang-go=\"`99999`\" pulumi-lang-python=\"`99999`\" pulumi-lang-yaml=\"`99999`\" pulumi-lang-java=\"`99999`\"\u003e`99999`\u003c/span\u003e. Defaults to `-1`.\n"},"tierToColdAfterDaysSinceModificationGreaterThan":{"type":"integer","description":"The age in days after last modification to tier blobs to cold storage. Supports blob currently at Hot tier. Must be between \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`99999`\" pulumi-lang-dotnet=\"`99999`\" pulumi-lang-go=\"`99999`\" pulumi-lang-python=\"`99999`\" pulumi-lang-yaml=\"`99999`\" pulumi-lang-java=\"`99999`\"\u003e`99999`\u003c/span\u003e. Defaults to `-1`.\n"},"tierToCoolAfterDaysSinceCreationGreaterThan":{"type":"integer","description":"The age in days after creation to cool storage. Supports blob currently at Hot tier. Must be between \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`99999`\" pulumi-lang-dotnet=\"`99999`\" pulumi-lang-go=\"`99999`\" pulumi-lang-python=\"`99999`\" pulumi-lang-yaml=\"`99999`\" pulumi-lang-java=\"`99999`\"\u003e`99999`\u003c/span\u003e. Defaults to `-1`.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`tierToCoolAfterDaysSinceModificationGreaterThan`\" pulumi-lang-dotnet=\"`TierToCoolAfterDaysSinceModificationGreaterThan`\" pulumi-lang-go=\"`tierToCoolAfterDaysSinceModificationGreaterThan`\" pulumi-lang-python=\"`tier_to_cool_after_days_since_modification_greater_than`\" pulumi-lang-yaml=\"`tierToCoolAfterDaysSinceModificationGreaterThan`\" pulumi-lang-java=\"`tierToCoolAfterDaysSinceModificationGreaterThan`\"\u003e`tier_to_cool_after_days_since_modification_greater_than`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`tierToCoolAfterDaysSinceLastAccessTimeGreaterThan`\" pulumi-lang-dotnet=\"`TierToCoolAfterDaysSinceLastAccessTimeGreaterThan`\" pulumi-lang-go=\"`tierToCoolAfterDaysSinceLastAccessTimeGreaterThan`\" pulumi-lang-python=\"`tier_to_cool_after_days_since_last_access_time_greater_than`\" pulumi-lang-yaml=\"`tierToCoolAfterDaysSinceLastAccessTimeGreaterThan`\" pulumi-lang-java=\"`tierToCoolAfterDaysSinceLastAccessTimeGreaterThan`\"\u003e`tier_to_cool_after_days_since_last_access_time_greater_than`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`tierToCoolAfterDaysSinceCreationGreaterThan`\" pulumi-lang-dotnet=\"`TierToCoolAfterDaysSinceCreationGreaterThan`\" pulumi-lang-go=\"`tierToCoolAfterDaysSinceCreationGreaterThan`\" pulumi-lang-python=\"`tier_to_cool_after_days_since_creation_greater_than`\" pulumi-lang-yaml=\"`tierToCoolAfterDaysSinceCreationGreaterThan`\" pulumi-lang-java=\"`tierToCoolAfterDaysSinceCreationGreaterThan`\"\u003e`tier_to_cool_after_days_since_creation_greater_than`\u003c/span\u003e can not be set at the same time.\n"},"tierToCoolAfterDaysSinceLastAccessTimeGreaterThan":{"type":"integer","description":"The age in days after last access time to tier blobs to cool storage. Supports blob currently at Hot tier. Must be between \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`99999`\" pulumi-lang-dotnet=\"`99999`\" pulumi-lang-go=\"`99999`\" pulumi-lang-python=\"`99999`\" pulumi-lang-yaml=\"`99999`\" pulumi-lang-java=\"`99999`\"\u003e`99999`\u003c/span\u003e. Defaults to `-1`.\n"},"tierToCoolAfterDaysSinceModificationGreaterThan":{"type":"integer","description":"The age in days after last modification to tier blobs to cool storage. Supports blob currently at Hot tier. Must be between \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`99999`\" pulumi-lang-dotnet=\"`99999`\" pulumi-lang-go=\"`99999`\" pulumi-lang-python=\"`99999`\" pulumi-lang-yaml=\"`99999`\" pulumi-lang-java=\"`99999`\"\u003e`99999`\u003c/span\u003e. Defaults to `-1`.\n"}},"type":"object"},"azure:storage/ManagementPolicyRuleActionsSnapshot:ManagementPolicyRuleActionsSnapshot":{"properties":{"changeTierToArchiveAfterDaysSinceCreation":{"type":"integer","description":"The age in days after creation to tier blob snapshot to archive storage. Must be between \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`99999`\" pulumi-lang-dotnet=\"`99999`\" pulumi-lang-go=\"`99999`\" pulumi-lang-python=\"`99999`\" pulumi-lang-yaml=\"`99999`\" pulumi-lang-java=\"`99999`\"\u003e`99999`\u003c/span\u003e. Defaults to `-1`.\n"},"changeTierToCoolAfterDaysSinceCreation":{"type":"integer","description":"The age in days after creation to tier blob snapshot to cool storage. Must be between \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`99999`\" pulumi-lang-dotnet=\"`99999`\" pulumi-lang-go=\"`99999`\" pulumi-lang-python=\"`99999`\" pulumi-lang-yaml=\"`99999`\" pulumi-lang-java=\"`99999`\"\u003e`99999`\u003c/span\u003e. Defaults to `-1`.\n"},"deleteAfterDaysSinceCreationGreaterThan":{"type":"integer","description":"The age in days after creation to delete the blob snapshot. Must be between \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`99999`\" pulumi-lang-dotnet=\"`99999`\" pulumi-lang-go=\"`99999`\" pulumi-lang-python=\"`99999`\" pulumi-lang-yaml=\"`99999`\" pulumi-lang-java=\"`99999`\"\u003e`99999`\u003c/span\u003e. Defaults to `-1`.\n"},"tierToArchiveAfterDaysSinceLastTierChangeGreaterThan":{"type":"integer","description":"The age in days after last tier change to the blobs to skip to be archived. Must be between \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`99999`\" pulumi-lang-dotnet=\"`99999`\" pulumi-lang-go=\"`99999`\" pulumi-lang-python=\"`99999`\" pulumi-lang-yaml=\"`99999`\" pulumi-lang-java=\"`99999`\"\u003e`99999`\u003c/span\u003e. Defaults to `-1`.\n"},"tierToColdAfterDaysSinceCreationGreaterThan":{"type":"integer","description":"The age in days after creation to cold storage. Supports blob currently at Hot tier. Must be between \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`99999`\" pulumi-lang-dotnet=\"`99999`\" pulumi-lang-go=\"`99999`\" pulumi-lang-python=\"`99999`\" pulumi-lang-yaml=\"`99999`\" pulumi-lang-java=\"`99999`\"\u003e`99999`\u003c/span\u003e. Defaults to `-1`.\n"}},"type":"object"},"azure:storage/ManagementPolicyRuleActionsVersion:ManagementPolicyRuleActionsVersion":{"properties":{"changeTierToArchiveAfterDaysSinceCreation":{"type":"integer","description":"The age in days after creation to tier blob version to archive storage. Must be between \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`99999`\" pulumi-lang-dotnet=\"`99999`\" pulumi-lang-go=\"`99999`\" pulumi-lang-python=\"`99999`\" pulumi-lang-yaml=\"`99999`\" pulumi-lang-java=\"`99999`\"\u003e`99999`\u003c/span\u003e. Defaults to `-1`.\n"},"changeTierToCoolAfterDaysSinceCreation":{"type":"integer","description":"The age in days creation create to tier blob version to cool storage. Must be between \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`99999`\" pulumi-lang-dotnet=\"`99999`\" pulumi-lang-go=\"`99999`\" pulumi-lang-python=\"`99999`\" pulumi-lang-yaml=\"`99999`\" pulumi-lang-java=\"`99999`\"\u003e`99999`\u003c/span\u003e. Defaults to `-1`.\n"},"deleteAfterDaysSinceCreation":{"type":"integer","description":"The age in days after creation to delete the blob version. Must be between \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`99999`\" pulumi-lang-dotnet=\"`99999`\" pulumi-lang-go=\"`99999`\" pulumi-lang-python=\"`99999`\" pulumi-lang-yaml=\"`99999`\" pulumi-lang-java=\"`99999`\"\u003e`99999`\u003c/span\u003e. Defaults to `-1`.\n"},"tierToArchiveAfterDaysSinceLastTierChangeGreaterThan":{"type":"integer","description":"The age in days after last tier change to the blobs to skip to be archived. Must be between \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`99999`\" pulumi-lang-dotnet=\"`99999`\" pulumi-lang-go=\"`99999`\" pulumi-lang-python=\"`99999`\" pulumi-lang-yaml=\"`99999`\" pulumi-lang-java=\"`99999`\"\u003e`99999`\u003c/span\u003e. Defaults to `-1`.\n"},"tierToColdAfterDaysSinceCreationGreaterThan":{"type":"integer","description":"The age in days after creation to cold storage. Supports blob currently at Hot tier. Must be between \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`99999`\" pulumi-lang-dotnet=\"`99999`\" pulumi-lang-go=\"`99999`\" pulumi-lang-python=\"`99999`\" pulumi-lang-yaml=\"`99999`\" pulumi-lang-java=\"`99999`\"\u003e`99999`\u003c/span\u003e. Defaults to `-1`.\n"}},"type":"object"},"azure:storage/ManagementPolicyRuleFilters:ManagementPolicyRuleFilters":{"properties":{"blobTypes":{"type":"array","items":{"type":"string"},"description":"An array of predefined values. Valid options are `blockBlob` and `appendBlob`.\n"},"matchBlobIndexTags":{"type":"array","items":{"$ref":"#/types/azure:storage/ManagementPolicyRuleFiltersMatchBlobIndexTag:ManagementPolicyRuleFiltersMatchBlobIndexTag"},"description":"A \u003cspan pulumi-lang-nodejs=\"`matchBlobIndexTag`\" pulumi-lang-dotnet=\"`MatchBlobIndexTag`\" pulumi-lang-go=\"`matchBlobIndexTag`\" pulumi-lang-python=\"`match_blob_index_tag`\" pulumi-lang-yaml=\"`matchBlobIndexTag`\" pulumi-lang-java=\"`matchBlobIndexTag`\"\u003e`match_blob_index_tag`\u003c/span\u003e block as defined below. The block defines the blob index tag based filtering for blob objects.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`matchBlobIndexTag`\" pulumi-lang-dotnet=\"`MatchBlobIndexTag`\" pulumi-lang-go=\"`matchBlobIndexTag`\" pulumi-lang-python=\"`match_blob_index_tag`\" pulumi-lang-yaml=\"`matchBlobIndexTag`\" pulumi-lang-java=\"`matchBlobIndexTag`\"\u003e`match_blob_index_tag`\u003c/span\u003e property requires enabling the `blobIndex` feature with [PSH or CLI commands](https://azure.microsoft.com/en-us/blog/manage-and-find-data-with-blob-index-for-azure-storage-now-in-preview/).\n"},"prefixMatches":{"type":"array","items":{"type":"string"},"description":"An array of strings for prefixes to be matched.\n"}},"type":"object","required":["blobTypes"]},"azure:storage/ManagementPolicyRuleFiltersMatchBlobIndexTag:ManagementPolicyRuleFiltersMatchBlobIndexTag":{"properties":{"name":{"type":"string","description":"The filter tag name used for tag based filtering for blob objects.\n"},"operation":{"type":"string","description":"The comparison operator which is used for object comparison and filtering. Possible value is `==`. Defaults to `==`.\n"},"value":{"type":"string","description":"The filter tag value used for tag based filtering for blob objects.\n"}},"type":"object","required":["name","value"]},"azure:storage/ObjectReplicationRule:ObjectReplicationRule":{"properties":{"copyBlobsCreatedAfter":{"type":"string","description":"The time after which the Block Blobs created will be copies to the destination. Possible values are `OnlyNewObjects`, `Everything` and time in RFC3339 format: `2006-01-02T15:04:00Z`. Defaults to `OnlyNewObjects`.\n"},"destinationContainerName":{"type":"string","description":"The destination storage container name.\n"},"filterOutBlobsWithPrefixes":{"type":"array","items":{"type":"string"},"description":"Specifies a list of filters prefixes, the blobs whose names begin with which will be replicated.\n"},"name":{"type":"string"},"sourceContainerName":{"type":"string","description":"The source storage container name.\n"}},"type":"object","required":["destinationContainerName","sourceContainerName"],"language":{"nodejs":{"requiredOutputs":["destinationContainerName","name","sourceContainerName"]}}},"azure:storage/ShareAcl:ShareAcl":{"properties":{"accessPolicies":{"type":"array","items":{"$ref":"#/types/azure:storage/ShareAclAccessPolicy:ShareAclAccessPolicy"},"description":"An \u003cspan pulumi-lang-nodejs=\"`accessPolicy`\" pulumi-lang-dotnet=\"`AccessPolicy`\" pulumi-lang-go=\"`accessPolicy`\" pulumi-lang-python=\"`access_policy`\" pulumi-lang-yaml=\"`accessPolicy`\" pulumi-lang-java=\"`accessPolicy`\"\u003e`access_policy`\u003c/span\u003e block as defined below.\n"},"id":{"type":"string","description":"The ID which should be used for this Shared Identifier.\n"}},"type":"object","required":["id"]},"azure:storage/ShareAclAccessPolicy:ShareAclAccessPolicy":{"properties":{"expiry":{"type":"string","description":"The time at which this Access Policy should be valid untilWhen using \u003cspan pulumi-lang-nodejs=\"`storageAccountId`\" pulumi-lang-dotnet=\"`StorageAccountId`\" pulumi-lang-go=\"`storageAccountId`\" pulumi-lang-python=\"`storage_account_id`\" pulumi-lang-yaml=\"`storageAccountId`\" pulumi-lang-java=\"`storageAccountId`\"\u003e`storage_account_id`\u003c/span\u003e this should be in RFC3339 format. If using the deprecated \u003cspan pulumi-lang-nodejs=\"`storageAccountName`\" pulumi-lang-dotnet=\"`StorageAccountName`\" pulumi-lang-go=\"`storageAccountName`\" pulumi-lang-python=\"`storage_account_name`\" pulumi-lang-yaml=\"`storageAccountName`\" pulumi-lang-java=\"`storageAccountName`\"\u003e`storage_account_name`\u003c/span\u003e property, this uses the [ISO8601](https://en.wikipedia.org/wiki/ISO_8601) format.\n"},"permissions":{"type":"string","description":"The permissions which should be associated with this Shared Identifier. Possible value is combination of \u003cspan pulumi-lang-nodejs=\"`r`\" pulumi-lang-dotnet=\"`R`\" pulumi-lang-go=\"`r`\" pulumi-lang-python=\"`r`\" pulumi-lang-yaml=\"`r`\" pulumi-lang-java=\"`r`\"\u003e`r`\u003c/span\u003e (read), \u003cspan pulumi-lang-nodejs=\"`w`\" pulumi-lang-dotnet=\"`W`\" pulumi-lang-go=\"`w`\" pulumi-lang-python=\"`w`\" pulumi-lang-yaml=\"`w`\" pulumi-lang-java=\"`w`\"\u003e`w`\u003c/span\u003e (write), \u003cspan pulumi-lang-nodejs=\"`d`\" pulumi-lang-dotnet=\"`D`\" pulumi-lang-go=\"`d`\" pulumi-lang-python=\"`d`\" pulumi-lang-yaml=\"`d`\" pulumi-lang-java=\"`d`\"\u003e`d`\u003c/span\u003e (delete), and \u003cspan pulumi-lang-nodejs=\"`l`\" pulumi-lang-dotnet=\"`L`\" pulumi-lang-go=\"`l`\" pulumi-lang-python=\"`l`\" pulumi-lang-yaml=\"`l`\" pulumi-lang-java=\"`l`\"\u003e`l`\u003c/span\u003e (list).\n\n\u003e **Note:** Permission order is strict at the service side, and permissions need to be listed in the order above.\n"},"start":{"type":"string","description":"The time at which this Access Policy should be valid from. When using \u003cspan pulumi-lang-nodejs=\"`storageAccountId`\" pulumi-lang-dotnet=\"`StorageAccountId`\" pulumi-lang-go=\"`storageAccountId`\" pulumi-lang-python=\"`storage_account_id`\" pulumi-lang-yaml=\"`storageAccountId`\" pulumi-lang-java=\"`storageAccountId`\"\u003e`storage_account_id`\u003c/span\u003e this should be in RFC3339 format. If using the deprecated \u003cspan pulumi-lang-nodejs=\"`storageAccountName`\" pulumi-lang-dotnet=\"`StorageAccountName`\" pulumi-lang-go=\"`storageAccountName`\" pulumi-lang-python=\"`storage_account_name`\" pulumi-lang-yaml=\"`storageAccountName`\" pulumi-lang-java=\"`storageAccountName`\"\u003e`storage_account_name`\u003c/span\u003e property, this uses the [ISO8601](https://en.wikipedia.org/wiki/ISO_8601) format.\n"}},"type":"object","required":["permissions"]},"azure:storage/TableAcl:TableAcl":{"properties":{"accessPolicies":{"type":"array","items":{"$ref":"#/types/azure:storage/TableAclAccessPolicy:TableAclAccessPolicy"},"description":"An \u003cspan pulumi-lang-nodejs=\"`accessPolicy`\" pulumi-lang-dotnet=\"`AccessPolicy`\" pulumi-lang-go=\"`accessPolicy`\" pulumi-lang-python=\"`access_policy`\" pulumi-lang-yaml=\"`accessPolicy`\" pulumi-lang-java=\"`accessPolicy`\"\u003e`access_policy`\u003c/span\u003e block as defined below.\n"},"id":{"type":"string","description":"The ID which should be used for this Shared Identifier.\n"}},"type":"object","required":["id"]},"azure:storage/TableAclAccessPolicy:TableAclAccessPolicy":{"properties":{"expiry":{"type":"string","description":"The ISO8061 UTC time at which this Access Policy should be valid until.\n"},"permissions":{"type":"string","description":"The permissions which should associated with this Shared Identifier.\n"},"start":{"type":"string","description":"The ISO8061 UTC time at which this Access Policy should be valid from.\n"}},"type":"object","required":["expiry","permissions","start"]},"azure:storage/getAccountAzureFilesAuthentication:getAccountAzureFilesAuthentication":{"properties":{"activeDirectories":{"type":"array","items":{"$ref":"#/types/azure:storage/getAccountAzureFilesAuthenticationActiveDirectory:getAccountAzureFilesAuthenticationActiveDirectory"},"description":"An \u003cspan pulumi-lang-nodejs=\"`activeDirectory`\" pulumi-lang-dotnet=\"`ActiveDirectory`\" pulumi-lang-go=\"`activeDirectory`\" pulumi-lang-python=\"`active_directory`\" pulumi-lang-yaml=\"`activeDirectory`\" pulumi-lang-java=\"`activeDirectory`\"\u003e`active_directory`\u003c/span\u003e block as documented below.\n"},"defaultShareLevelPermission":{"type":"string","description":"The default share level permissions applied to all users.\n"},"directoryType":{"type":"string","description":"The directory service used for this Storage Account.\n"}},"type":"object","required":["activeDirectories","defaultShareLevelPermission","directoryType"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:storage/getAccountAzureFilesAuthenticationActiveDirectory:getAccountAzureFilesAuthenticationActiveDirectory":{"properties":{"domainGuid":{"type":"string","description":"The domain GUID.\n"},"domainName":{"type":"string","description":"The primary domain that the AD DNS server is authoritative for.\n"},"domainSid":{"type":"string","description":"The domain security identifier.\n"},"forestName":{"type":"string","description":"The name of the Active Directory forest.\n"},"netbiosDomainName":{"type":"string","description":"The NetBIOS domain name.\n"},"storageSid":{"type":"string","description":"The security identifier for Azure Storage.\n"}},"type":"object","required":["domainGuid","domainName","domainSid","forestName","netbiosDomainName","storageSid"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:storage/getAccountBlobContainerSASPermissions:getAccountBlobContainerSASPermissions":{"properties":{"add":{"type":"boolean","description":"Should Add permissions be enabled for this SAS?\n"},"create":{"type":"boolean","description":"Should Create permissions be enabled for this SAS?\n"},"delete":{"type":"boolean","description":"Should Delete permissions be enabled for this SAS?\n"},"list":{"type":"boolean","description":"Should List permissions be enabled for this SAS?\n\nRefer to the [SAS creation reference from Azure](https://docs.microsoft.com/rest/api/storageservices/create-service-sas)\nfor additional details on the fields above.\n"},"read":{"type":"boolean","description":"Should Read permissions be enabled for this SAS?\n"},"write":{"type":"boolean","description":"Should Write permissions be enabled for this SAS?\n"}},"type":"object","required":["add","create","delete","list","read","write"]},"azure:storage/getAccountCustomDomain:getAccountCustomDomain":{"properties":{"name":{"type":"string","description":"Specifies the name of the Storage Account\n"}},"type":"object","required":["name"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:storage/getAccountIdentity:getAccountIdentity":{"properties":{"identityIds":{"type":"array","items":{"type":"string"},"description":"A list of User Assigned Managed Identity IDs assigned with the Identity of this Storage Account.\n"},"principalId":{"type":"string","description":"The Principal ID for the Service Principal associated with the Identity of this Storage Account.\n"},"tenantId":{"type":"string","description":"The Tenant ID for the Service Principal associated with the Identity of this Storage Account.\n"},"type":{"type":"string","description":"The type of Managed Service Identity that is configured on this Storage Account\n"}},"type":"object","required":["identityIds","principalId","tenantId","type"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:storage/getAccountSASPermissions:getAccountSASPermissions":{"properties":{"add":{"type":"boolean","description":"Should Add permissions be enabled for this SAS?\n"},"create":{"type":"boolean","description":"Should Create permissions be enabled for this SAS?\n"},"delete":{"type":"boolean","description":"Should Delete permissions be enabled for this SAS?\n"},"filter":{"type":"boolean","description":"Should Filter by Index Tags permissions be enabled for this SAS?\n\nRefer to the [SAS creation reference from Azure](https://docs.microsoft.com/rest/api/storageservices/constructing-an-account-sas)\nfor additional details on the fields above.\n"},"list":{"type":"boolean","description":"Should List permissions be enabled for this SAS?\n"},"process":{"type":"boolean","description":"Should Process permissions be enabled for this SAS?\n"},"read":{"type":"boolean","description":"Should Read permissions be enabled for this SAS?\n"},"tag":{"type":"boolean","description":"Should Get / Set Index Tags permissions be enabled for this SAS?\n"},"update":{"type":"boolean","description":"Should Update permissions be enabled for this SAS?\n"},"write":{"type":"boolean","description":"Should Write permissions be enabled for this SAS?\n"}},"type":"object","required":["add","create","delete","filter","list","process","read","tag","update","write"]},"azure:storage/getAccountSASResourceTypes:getAccountSASResourceTypes":{"properties":{"container":{"type":"boolean","description":"Should permission be granted to the container?\n"},"object":{"type":"boolean","description":"Should permission be granted only to a specific object?\n"},"service":{"type":"boolean","description":"Should permission be granted to the entire service?\n"}},"type":"object","required":["container","object","service"]},"azure:storage/getAccountSASServices:getAccountSASServices":{"properties":{"blob":{"type":"boolean","description":"Should permission be granted to \u003cspan pulumi-lang-nodejs=\"`blob`\" pulumi-lang-dotnet=\"`Blob`\" pulumi-lang-go=\"`blob`\" pulumi-lang-python=\"`blob`\" pulumi-lang-yaml=\"`blob`\" pulumi-lang-java=\"`blob`\"\u003e`blob`\u003c/span\u003e services within this storage account?\n"},"file":{"type":"boolean","description":"Should permission be granted to \u003cspan pulumi-lang-nodejs=\"`file`\" pulumi-lang-dotnet=\"`File`\" pulumi-lang-go=\"`file`\" pulumi-lang-python=\"`file`\" pulumi-lang-yaml=\"`file`\" pulumi-lang-java=\"`file`\"\u003e`file`\u003c/span\u003e services within this storage account?\n"},"queue":{"type":"boolean","description":"Should permission be granted to \u003cspan pulumi-lang-nodejs=\"`queue`\" pulumi-lang-dotnet=\"`Queue`\" pulumi-lang-go=\"`queue`\" pulumi-lang-python=\"`queue`\" pulumi-lang-yaml=\"`queue`\" pulumi-lang-java=\"`queue`\"\u003e`queue`\u003c/span\u003e services within this storage account?\n"},"table":{"type":"boolean","description":"Should permission be granted to \u003cspan pulumi-lang-nodejs=\"`table`\" pulumi-lang-dotnet=\"`Table`\" pulumi-lang-go=\"`table`\" pulumi-lang-python=\"`table`\" pulumi-lang-yaml=\"`table`\" pulumi-lang-java=\"`table`\"\u003e`table`\u003c/span\u003e services within this storage account?\n"}},"type":"object","required":["blob","file","queue","table"]},"azure:storage/getContainersContainer:getContainersContainer":{"properties":{"dataPlaneId":{"type":"string","description":"The data plane ID of the Storage Container.\n"},"name":{"type":"string","description":"The name of this Storage Container.\n"},"resourceManagerId":{"type":"string","description":"The resource manager ID of the Storage Container.\n"}},"type":"object","required":["dataPlaneId","name","resourceManagerId"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:storage/getPolicyRule:getPolicyRule":{"properties":{"actions":{"type":"array","items":{"$ref":"#/types/azure:storage/getPolicyRuleAction:getPolicyRuleAction"},"description":"An \u003cspan pulumi-lang-nodejs=\"`actions`\" pulumi-lang-dotnet=\"`Actions`\" pulumi-lang-go=\"`actions`\" pulumi-lang-python=\"`actions`\" pulumi-lang-yaml=\"`actions`\" pulumi-lang-java=\"`actions`\"\u003e`actions`\u003c/span\u003e block as documented below.\n"},"enabled":{"type":"boolean","description":"Boolean to specify whether the rule is enabled.\n"},"filters":{"type":"array","items":{"$ref":"#/types/azure:storage/getPolicyRuleFilter:getPolicyRuleFilter"},"description":"A \u003cspan pulumi-lang-nodejs=\"`filter`\" pulumi-lang-dotnet=\"`Filter`\" pulumi-lang-go=\"`filter`\" pulumi-lang-python=\"`filter`\" pulumi-lang-yaml=\"`filter`\" pulumi-lang-java=\"`filter`\"\u003e`filter`\u003c/span\u003e block as documented below.\n"},"name":{"type":"string","description":"The filter tag name used for tag based filtering for blob objects.\n"}},"type":"object","required":["actions","enabled","filters","name"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:storage/getPolicyRuleAction:getPolicyRuleAction":{"properties":{"baseBlobs":{"type":"array","items":{"$ref":"#/types/azure:storage/getPolicyRuleActionBaseBlob:getPolicyRuleActionBaseBlob"},"description":"A \u003cspan pulumi-lang-nodejs=\"`baseBlob`\" pulumi-lang-dotnet=\"`BaseBlob`\" pulumi-lang-go=\"`baseBlob`\" pulumi-lang-python=\"`base_blob`\" pulumi-lang-yaml=\"`baseBlob`\" pulumi-lang-java=\"`baseBlob`\"\u003e`base_blob`\u003c/span\u003e block as documented below.\n"},"snapshots":{"type":"array","items":{"$ref":"#/types/azure:storage/getPolicyRuleActionSnapshot:getPolicyRuleActionSnapshot"},"description":"A \u003cspan pulumi-lang-nodejs=\"`snapshot`\" pulumi-lang-dotnet=\"`Snapshot`\" pulumi-lang-go=\"`snapshot`\" pulumi-lang-python=\"`snapshot`\" pulumi-lang-yaml=\"`snapshot`\" pulumi-lang-java=\"`snapshot`\"\u003e`snapshot`\u003c/span\u003e block as documented below.\n"},"versions":{"type":"array","items":{"$ref":"#/types/azure:storage/getPolicyRuleActionVersion:getPolicyRuleActionVersion"},"description":"A \u003cspan pulumi-lang-nodejs=\"`version`\" pulumi-lang-dotnet=\"`Version`\" pulumi-lang-go=\"`version`\" pulumi-lang-python=\"`version`\" pulumi-lang-yaml=\"`version`\" pulumi-lang-java=\"`version`\"\u003e`version`\u003c/span\u003e block as documented below.\n"}},"type":"object","required":["baseBlobs","snapshots","versions"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:storage/getPolicyRuleActionBaseBlob:getPolicyRuleActionBaseBlob":{"properties":{"autoTierToHotFromCoolEnabled":{"type":"boolean","description":"Whether a blob should automatically be tiered from cool back to hot if it's accessed again after being tiered to cool.\n"},"deleteAfterDaysSinceCreationGreaterThan":{"type":"integer","description":"The age in days after creation to delete the blob snapshot.\n"},"deleteAfterDaysSinceLastAccessTimeGreaterThan":{"type":"integer","description":"The age in days after last access time to delete the blob.\n"},"deleteAfterDaysSinceModificationGreaterThan":{"type":"integer","description":"The age in days after last modification to delete the blob.\n"},"tierToArchiveAfterDaysSinceCreationGreaterThan":{"type":"integer","description":"The age in days after creation to archive storage.\n"},"tierToArchiveAfterDaysSinceLastAccessTimeGreaterThan":{"type":"integer","description":"The age in days after last access time to tier blobs to archive storage.\n"},"tierToArchiveAfterDaysSinceLastTierChangeGreaterThan":{"type":"integer","description":"The age in days after last tier change to the blobs to skip to be archived.\n"},"tierToArchiveAfterDaysSinceModificationGreaterThan":{"type":"integer","description":"The age in days after last modification to tier blobs to archive storage.\n"},"tierToColdAfterDaysSinceCreationGreaterThan":{"type":"integer","description":"Optional The age in days after creation to cold storage. Supports blob currently at Hot tier.\n"},"tierToColdAfterDaysSinceLastAccessTimeGreaterThan":{"type":"integer","description":"The age in days after last access time to tier blobs to cold storage. Supports blob currently at Hot tier.\n"},"tierToColdAfterDaysSinceModificationGreaterThan":{"type":"integer","description":"The age in days after last modification to tier blobs to cold storage. Supports blob currently at Hot tier.\n"},"tierToCoolAfterDaysSinceCreationGreaterThan":{"type":"integer","description":"Optional The age in days after creation to cool storage. Supports blob currently at Hot tier.\n"},"tierToCoolAfterDaysSinceLastAccessTimeGreaterThan":{"type":"integer","description":"The age in days after last access time to tier blobs to cool storage. Supports blob currently at Hot tier.\n"},"tierToCoolAfterDaysSinceModificationGreaterThan":{"type":"integer","description":"The age in days after last modification to tier blobs to cool storage. Supports blob currently at Hot tier.\n"}},"type":"object","required":["autoTierToHotFromCoolEnabled","deleteAfterDaysSinceCreationGreaterThan","deleteAfterDaysSinceLastAccessTimeGreaterThan","deleteAfterDaysSinceModificationGreaterThan","tierToArchiveAfterDaysSinceCreationGreaterThan","tierToArchiveAfterDaysSinceLastAccessTimeGreaterThan","tierToArchiveAfterDaysSinceLastTierChangeGreaterThan","tierToArchiveAfterDaysSinceModificationGreaterThan","tierToColdAfterDaysSinceCreationGreaterThan","tierToColdAfterDaysSinceLastAccessTimeGreaterThan","tierToColdAfterDaysSinceModificationGreaterThan","tierToCoolAfterDaysSinceCreationGreaterThan","tierToCoolAfterDaysSinceLastAccessTimeGreaterThan","tierToCoolAfterDaysSinceModificationGreaterThan"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:storage/getPolicyRuleActionSnapshot:getPolicyRuleActionSnapshot":{"properties":{"changeTierToArchiveAfterDaysSinceCreation":{"type":"integer","description":"The age in days after creation to tier blob version to archive storage.\n"},"changeTierToCoolAfterDaysSinceCreation":{"type":"integer","description":"The age in days after creation to tier blob version to cool storage.\n"},"deleteAfterDaysSinceCreationGreaterThan":{"type":"integer","description":"The age in days after creation to delete the blob snapshot.\n"},"tierToArchiveAfterDaysSinceLastTierChangeGreaterThan":{"type":"integer","description":"The age in days after last tier change to the blobs to skip to be archived.\n"},"tierToColdAfterDaysSinceCreationGreaterThan":{"type":"integer","description":"Optional The age in days after creation to cold storage. Supports blob currently at Hot tier.\n"}},"type":"object","required":["changeTierToArchiveAfterDaysSinceCreation","changeTierToCoolAfterDaysSinceCreation","deleteAfterDaysSinceCreationGreaterThan","tierToArchiveAfterDaysSinceLastTierChangeGreaterThan","tierToColdAfterDaysSinceCreationGreaterThan"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:storage/getPolicyRuleActionVersion:getPolicyRuleActionVersion":{"properties":{"changeTierToArchiveAfterDaysSinceCreation":{"type":"integer","description":"The age in days after creation to tier blob version to archive storage.\n"},"changeTierToCoolAfterDaysSinceCreation":{"type":"integer","description":"The age in days after creation to tier blob version to cool storage.\n"},"deleteAfterDaysSinceCreation":{"type":"integer","description":"The age in days after creation to delete the blob version.\n"},"tierToArchiveAfterDaysSinceLastTierChangeGreaterThan":{"type":"integer","description":"The age in days after last tier change to the blobs to skip to be archived.\n"},"tierToColdAfterDaysSinceCreationGreaterThan":{"type":"integer","description":"Optional The age in days after creation to cold storage. Supports blob currently at Hot tier.\n"}},"type":"object","required":["changeTierToArchiveAfterDaysSinceCreation","changeTierToCoolAfterDaysSinceCreation","deleteAfterDaysSinceCreation","tierToArchiveAfterDaysSinceLastTierChangeGreaterThan","tierToColdAfterDaysSinceCreationGreaterThan"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:storage/getPolicyRuleFilter:getPolicyRuleFilter":{"properties":{"blobTypes":{"type":"array","items":{"type":"string"},"description":"An array of predefined values. Valid options are `blockBlob` and `appendBlob`.\n"},"matchBlobIndexTags":{"type":"array","items":{"$ref":"#/types/azure:storage/getPolicyRuleFilterMatchBlobIndexTag:getPolicyRuleFilterMatchBlobIndexTag"},"description":"A \u003cspan pulumi-lang-nodejs=\"`matchBlobIndexTag`\" pulumi-lang-dotnet=\"`MatchBlobIndexTag`\" pulumi-lang-go=\"`matchBlobIndexTag`\" pulumi-lang-python=\"`match_blob_index_tag`\" pulumi-lang-yaml=\"`matchBlobIndexTag`\" pulumi-lang-java=\"`matchBlobIndexTag`\"\u003e`match_blob_index_tag`\u003c/span\u003e block as defined below. The block defines the blob index tag based filtering for blob objects.\n"},"prefixMatches":{"type":"array","items":{"type":"string"},"description":"An array of strings for prefixes to be matched.\n"}},"type":"object","required":["blobTypes","matchBlobIndexTags","prefixMatches"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:storage/getPolicyRuleFilterMatchBlobIndexTag:getPolicyRuleFilterMatchBlobIndexTag":{"properties":{"name":{"type":"string","description":"The filter tag name used for tag based filtering for blob objects.\n"},"operation":{"type":"string","description":"The comparison operator which is used for object comparison and filtering. Possible value is `==`. Defaults to `==`.\n"},"value":{"type":"string","description":"The filter tag value used for tag based filtering for blob objects.\n"}},"type":"object","required":["name","operation","value"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:storage/getShareAcl:getShareAcl":{"properties":{"accessPolicies":{"type":"array","items":{"$ref":"#/types/azure:storage/getShareAclAccessPolicy:getShareAclAccessPolicy"},"description":"An \u003cspan pulumi-lang-nodejs=\"`accessPolicy`\" pulumi-lang-dotnet=\"`AccessPolicy`\" pulumi-lang-go=\"`accessPolicy`\" pulumi-lang-python=\"`access_policy`\" pulumi-lang-yaml=\"`accessPolicy`\" pulumi-lang-java=\"`accessPolicy`\"\u003e`access_policy`\u003c/span\u003e block as defined below.\n"},"id":{"type":"string","description":"The ID which should be used for this Shared Identifier.\n"}},"type":"object","required":["accessPolicies","id"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:storage/getShareAclAccessPolicy:getShareAclAccessPolicy":{"properties":{"expiry":{"type":"string","description":"The time at which this Access Policy is valid until.\n"},"permissions":{"type":"string","description":"The permissions which should be associated with this Shared Identifier. Possible value is combination of \u003cspan pulumi-lang-nodejs=\"`r`\" pulumi-lang-dotnet=\"`R`\" pulumi-lang-go=\"`r`\" pulumi-lang-python=\"`r`\" pulumi-lang-yaml=\"`r`\" pulumi-lang-java=\"`r`\"\u003e`r`\u003c/span\u003e (read), \u003cspan pulumi-lang-nodejs=\"`w`\" pulumi-lang-dotnet=\"`W`\" pulumi-lang-go=\"`w`\" pulumi-lang-python=\"`w`\" pulumi-lang-yaml=\"`w`\" pulumi-lang-java=\"`w`\"\u003e`w`\u003c/span\u003e (write), \u003cspan pulumi-lang-nodejs=\"`d`\" pulumi-lang-dotnet=\"`D`\" pulumi-lang-go=\"`d`\" pulumi-lang-python=\"`d`\" pulumi-lang-yaml=\"`d`\" pulumi-lang-java=\"`d`\"\u003e`d`\u003c/span\u003e (delete), and \u003cspan pulumi-lang-nodejs=\"`l`\" pulumi-lang-dotnet=\"`L`\" pulumi-lang-go=\"`l`\" pulumi-lang-python=\"`l`\" pulumi-lang-yaml=\"`l`\" pulumi-lang-java=\"`l`\"\u003e`l`\u003c/span\u003e (list).\n"},"start":{"type":"string","description":"The time at which this Access Policy is valid from.\n"}},"type":"object","required":["expiry","permissions","start"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:storage/getTableAcl:getTableAcl":{"properties":{"accessPolicies":{"type":"array","items":{"$ref":"#/types/azure:storage/getTableAclAccessPolicy:getTableAclAccessPolicy"}},"id":{"type":"string","description":"The ID of the Storage Table.\n"}},"type":"object","required":["accessPolicies","id"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:storage/getTableAclAccessPolicy:getTableAclAccessPolicy":{"properties":{"expiry":{"type":"string"},"permissions":{"type":"string"},"start":{"type":"string"}},"type":"object","required":["expiry","permissions","start"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:storage/getTableEntitiesItem:getTableEntitiesItem":{"properties":{"partitionKey":{"type":"string","description":"Partition Key of the Entity.\n"},"properties":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of any additional properties in key-value format.\n"},"rowKey":{"type":"string","description":"Row Key of the Entity.\n"}},"type":"object","required":["partitionKey","properties","rowKey"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:streamanalytics/FunctionJavaScriptUDFInput:FunctionJavaScriptUDFInput":{"properties":{"configurationParameter":{"type":"boolean","description":"Is this input parameter a configuration parameter? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"type":{"type":"string","description":"The Data Type for the Input Argument of this JavaScript Function. Possible values include \u003cspan pulumi-lang-nodejs=\"`array`\" pulumi-lang-dotnet=\"`Array`\" pulumi-lang-go=\"`array`\" pulumi-lang-python=\"`array`\" pulumi-lang-yaml=\"`array`\" pulumi-lang-java=\"`array`\"\u003e`array`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`any`\" pulumi-lang-dotnet=\"`Any`\" pulumi-lang-go=\"`any`\" pulumi-lang-python=\"`any`\" pulumi-lang-yaml=\"`any`\" pulumi-lang-java=\"`any`\"\u003e`any`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`bigint`\" pulumi-lang-dotnet=\"`Bigint`\" pulumi-lang-go=\"`bigint`\" pulumi-lang-python=\"`bigint`\" pulumi-lang-yaml=\"`bigint`\" pulumi-lang-java=\"`bigint`\"\u003e`bigint`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`datetime`\" pulumi-lang-dotnet=\"`Datetime`\" pulumi-lang-go=\"`datetime`\" pulumi-lang-python=\"`datetime`\" pulumi-lang-yaml=\"`datetime`\" pulumi-lang-java=\"`datetime`\"\u003e`datetime`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`float`\" pulumi-lang-dotnet=\"`Float`\" pulumi-lang-go=\"`float`\" pulumi-lang-python=\"`float`\" pulumi-lang-yaml=\"`float`\" pulumi-lang-java=\"`float`\"\u003e`float`\u003c/span\u003e, `nvarchar(max)` and \u003cspan pulumi-lang-nodejs=\"`record`\" pulumi-lang-dotnet=\"`Record`\" pulumi-lang-go=\"`record`\" pulumi-lang-python=\"`record`\" pulumi-lang-yaml=\"`record`\" pulumi-lang-java=\"`record`\"\u003e`record`\u003c/span\u003e.\n"}},"type":"object","required":["type"]},"azure:streamanalytics/FunctionJavaScriptUDFOutput:FunctionJavaScriptUDFOutput":{"properties":{"type":{"type":"string","description":"The Data Type output from this JavaScript Function. Possible values include \u003cspan pulumi-lang-nodejs=\"`array`\" pulumi-lang-dotnet=\"`Array`\" pulumi-lang-go=\"`array`\" pulumi-lang-python=\"`array`\" pulumi-lang-yaml=\"`array`\" pulumi-lang-java=\"`array`\"\u003e`array`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`any`\" pulumi-lang-dotnet=\"`Any`\" pulumi-lang-go=\"`any`\" pulumi-lang-python=\"`any`\" pulumi-lang-yaml=\"`any`\" pulumi-lang-java=\"`any`\"\u003e`any`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`bigint`\" pulumi-lang-dotnet=\"`Bigint`\" pulumi-lang-go=\"`bigint`\" pulumi-lang-python=\"`bigint`\" pulumi-lang-yaml=\"`bigint`\" pulumi-lang-java=\"`bigint`\"\u003e`bigint`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`datetime`\" pulumi-lang-dotnet=\"`Datetime`\" pulumi-lang-go=\"`datetime`\" pulumi-lang-python=\"`datetime`\" pulumi-lang-yaml=\"`datetime`\" pulumi-lang-java=\"`datetime`\"\u003e`datetime`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`float`\" pulumi-lang-dotnet=\"`Float`\" pulumi-lang-go=\"`float`\" pulumi-lang-python=\"`float`\" pulumi-lang-yaml=\"`float`\" pulumi-lang-java=\"`float`\"\u003e`float`\u003c/span\u003e, `nvarchar(max)` and \u003cspan pulumi-lang-nodejs=\"`record`\" pulumi-lang-dotnet=\"`Record`\" pulumi-lang-go=\"`record`\" pulumi-lang-python=\"`record`\" pulumi-lang-yaml=\"`record`\" pulumi-lang-java=\"`record`\"\u003e`record`\u003c/span\u003e.\n"}},"type":"object","required":["type"]},"azure:streamanalytics/FunctionJavascriptUdaInput:FunctionJavascriptUdaInput":{"properties":{"configurationParameter":{"type":"boolean","description":"Is this input parameter a configuration parameter? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"type":{"type":"string","description":"The input data type of this JavaScript Function. Possible values include \u003cspan pulumi-lang-nodejs=\"`any`\" pulumi-lang-dotnet=\"`Any`\" pulumi-lang-go=\"`any`\" pulumi-lang-python=\"`any`\" pulumi-lang-yaml=\"`any`\" pulumi-lang-java=\"`any`\"\u003e`any`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`array`\" pulumi-lang-dotnet=\"`Array`\" pulumi-lang-go=\"`array`\" pulumi-lang-python=\"`array`\" pulumi-lang-yaml=\"`array`\" pulumi-lang-java=\"`array`\"\u003e`array`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`bigint`\" pulumi-lang-dotnet=\"`Bigint`\" pulumi-lang-go=\"`bigint`\" pulumi-lang-python=\"`bigint`\" pulumi-lang-yaml=\"`bigint`\" pulumi-lang-java=\"`bigint`\"\u003e`bigint`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`datetime`\" pulumi-lang-dotnet=\"`Datetime`\" pulumi-lang-go=\"`datetime`\" pulumi-lang-python=\"`datetime`\" pulumi-lang-yaml=\"`datetime`\" pulumi-lang-java=\"`datetime`\"\u003e`datetime`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`float`\" pulumi-lang-dotnet=\"`Float`\" pulumi-lang-go=\"`float`\" pulumi-lang-python=\"`float`\" pulumi-lang-yaml=\"`float`\" pulumi-lang-java=\"`float`\"\u003e`float`\u003c/span\u003e, `nvarchar(max)` and \u003cspan pulumi-lang-nodejs=\"`record`\" pulumi-lang-dotnet=\"`Record`\" pulumi-lang-go=\"`record`\" pulumi-lang-python=\"`record`\" pulumi-lang-yaml=\"`record`\" pulumi-lang-java=\"`record`\"\u003e`record`\u003c/span\u003e.\n"}},"type":"object","required":["type"]},"azure:streamanalytics/FunctionJavascriptUdaOutput:FunctionJavascriptUdaOutput":{"properties":{"type":{"type":"string","description":"The output data type from this JavaScript Function. Possible values include \u003cspan pulumi-lang-nodejs=\"`any`\" pulumi-lang-dotnet=\"`Any`\" pulumi-lang-go=\"`any`\" pulumi-lang-python=\"`any`\" pulumi-lang-yaml=\"`any`\" pulumi-lang-java=\"`any`\"\u003e`any`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`array`\" pulumi-lang-dotnet=\"`Array`\" pulumi-lang-go=\"`array`\" pulumi-lang-python=\"`array`\" pulumi-lang-yaml=\"`array`\" pulumi-lang-java=\"`array`\"\u003e`array`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`bigint`\" pulumi-lang-dotnet=\"`Bigint`\" pulumi-lang-go=\"`bigint`\" pulumi-lang-python=\"`bigint`\" pulumi-lang-yaml=\"`bigint`\" pulumi-lang-java=\"`bigint`\"\u003e`bigint`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`datetime`\" pulumi-lang-dotnet=\"`Datetime`\" pulumi-lang-go=\"`datetime`\" pulumi-lang-python=\"`datetime`\" pulumi-lang-yaml=\"`datetime`\" pulumi-lang-java=\"`datetime`\"\u003e`datetime`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`float`\" pulumi-lang-dotnet=\"`Float`\" pulumi-lang-go=\"`float`\" pulumi-lang-python=\"`float`\" pulumi-lang-yaml=\"`float`\" pulumi-lang-java=\"`float`\"\u003e`float`\u003c/span\u003e, `nvarchar(max)` and \u003cspan pulumi-lang-nodejs=\"`record`\" pulumi-lang-dotnet=\"`Record`\" pulumi-lang-go=\"`record`\" pulumi-lang-python=\"`record`\" pulumi-lang-yaml=\"`record`\" pulumi-lang-java=\"`record`\"\u003e`record`\u003c/span\u003e.\n"}},"type":"object","required":["type"]},"azure:streamanalytics/JobIdentity:JobIdentity":{"properties":{"identityIds":{"type":"array","items":{"type":"string"},"description":"The identity id of the user assigned identity to use when type is `UserAssigned`\n"},"principalId":{"type":"string","description":"The Principal ID associated with this Managed Service Identity.\n"},"tenantId":{"type":"string","description":"The Tenant ID associated with this Managed Service Identity.\n"},"type":{"type":"string","description":"Specifies the type of Managed Service Identity that should be configured on this Stream Analytics Job. Possible values are `SystemAssigned` and `UserAssigned`.\n"}},"type":"object","required":["type"],"language":{"nodejs":{"requiredOutputs":["principalId","tenantId","type"]}}},"azure:streamanalytics/JobJobStorageAccount:JobJobStorageAccount":{"properties":{"accountKey":{"type":"string","description":"The account key for the Azure storage account.\n","secret":true},"accountName":{"type":"string","description":"The name of the Azure storage account.\n"},"authenticationMode":{"type":"string","description":"The authentication mode of the storage account. Possible values are `ConnectionString` and `Msi`. Defaults to `ConnectionString`.\n"}},"type":"object","required":["accountName"]},"azure:streamanalytics/OutputBlobSerialization:OutputBlobSerialization":{"properties":{"encoding":{"type":"string","description":"The encoding of the incoming data in the case of input and the encoding of outgoing data in the case of output. It currently can only be set to `UTF8`.\n\n\u003e **Note:** This is required when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to `Csv` or `Json`.\n"},"fieldDelimiter":{"type":"string","description":"The delimiter that will be used to separate comma-separated value (CSV) records. Possible values are ` ` (space), `,` (comma), `\t` (tab), `|` (pipe) and `;`.\n\n\u003e **Note:** This is required when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to `Csv`.\n"},"format":{"type":"string","description":"Specifies the format of the JSON the output will be written in. Possible values are `Array` and `LineSeparated`.\n\n\u003e **Note:** This is Required and can only be specified when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to `Json`.\n"},"type":{"type":"string","description":"The serialization format used for outgoing data streams. Possible values are `Avro`, `Csv`, `Json` and `Parquet`.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`batchMaxWaitTime`\" pulumi-lang-dotnet=\"`BatchMaxWaitTime`\" pulumi-lang-go=\"`batchMaxWaitTime`\" pulumi-lang-python=\"`batch_max_wait_time`\" pulumi-lang-yaml=\"`batchMaxWaitTime`\" pulumi-lang-java=\"`batchMaxWaitTime`\"\u003e`batch_max_wait_time`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`batchMinRows`\" pulumi-lang-dotnet=\"`BatchMinRows`\" pulumi-lang-go=\"`batchMinRows`\" pulumi-lang-python=\"`batch_min_rows`\" pulumi-lang-yaml=\"`batchMinRows`\" pulumi-lang-java=\"`batchMinRows`\"\u003e`batch_min_rows`\u003c/span\u003e are required when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to `Parquet`\n"}},"type":"object","required":["type"]},"azure:streamanalytics/OutputEventHubSerialization:OutputEventHubSerialization":{"properties":{"encoding":{"type":"string","description":"The encoding of the incoming data in the case of input and the encoding of outgoing data in the case of output. It currently can only be set to `UTF8`.\n\n\u003e **Note:** This is required when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to `Csv` or `Json`.\n"},"fieldDelimiter":{"type":"string","description":"The delimiter that will be used to separate comma-separated value (CSV) records. Possible values are ` ` (space), `,` (comma), `\t` (tab), `|` (pipe) and `;`.\n\n\u003e **Note:** This is required when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to `Csv`.\n"},"format":{"type":"string","description":"Specifies the format of the JSON the output will be written in. Possible values are `Array` and `LineSeparated`.\n\n\u003e **Note:** This is Required and can only be specified when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to `Json`.\n"},"type":{"type":"string","description":"The serialization format used for outgoing data streams. Possible values are `Avro`, `Csv`, `Json` and `Parquet`.\n"}},"type":"object","required":["type"]},"azure:streamanalytics/OutputServiceBusQueueSerialization:OutputServiceBusQueueSerialization":{"properties":{"encoding":{"type":"string","description":"The encoding of the incoming data in the case of input and the encoding of outgoing data in the case of output. It currently can only be set to `UTF8`.\n\n\u003e **Note:** This is required when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to `Csv` or `Json`.\n"},"fieldDelimiter":{"type":"string","description":"The delimiter that will be used to separate comma-separated value (CSV) records. Possible values are ` ` (space), `,` (comma), `\t` (tab), `|` (pipe) and `;`.\n\n\u003e **Note:** This is required when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to `Csv`.\n"},"format":{"type":"string","description":"Specifies the format of the JSON the output will be written in. Possible values are `Array` and `LineSeparated`.\n\n\u003e **Note:** This is Required and can only be specified when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to `Json`.\n"},"type":{"type":"string","description":"The serialization format used for outgoing data streams. Possible values are `Avro`, `Csv`, `Json` and `Parquet`.\n"}},"type":"object","required":["type"]},"azure:streamanalytics/OutputServicebusTopicSerialization:OutputServicebusTopicSerialization":{"properties":{"encoding":{"type":"string","description":"The encoding of the incoming data in the case of input and the encoding of outgoing data in the case of output. It currently can only be set to `UTF8`.\n\n\u003e **Note:** This is required when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to `Csv` or `Json`.\n"},"fieldDelimiter":{"type":"string","description":"The delimiter that will be used to separate comma-separated value (CSV) records. Possible values are ` ` (space), `,` (comma), `\t` (tab), `|` (pipe) and `;`.\n\n\u003e **Note:** This is required when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to `Csv`.\n"},"format":{"type":"string","description":"Specifies the format of the JSON the output will be written in. Possible values are `Array` and `LineSeparated`.\n\n\u003e **Note:** This is Required and can only be specified when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to `Json`.\n"},"type":{"type":"string","description":"The serialization format used for outgoing data streams. Possible values are `Avro`, `Csv`, `Json` and `Parquet`.\n"}},"type":"object","required":["type"]},"azure:streamanalytics/ReferenceInputBlobSerialization:ReferenceInputBlobSerialization":{"properties":{"encoding":{"type":"string","description":"The encoding of the incoming data in the case of input and the encoding of outgoing data in the case of output. It currently can only be set to `UTF8`.\n\n\u003e **Note:** This is required when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to `Csv` or `Json`.\n"},"fieldDelimiter":{"type":"string","description":"The delimiter that will be used to separate comma-separated value (CSV) records. Possible values are ` ` (space), `,` (comma), `\t` (tab), `|` (pipe) and `;`.\n\n\u003e **Note:** This is required when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to `Csv`.\n"},"type":{"type":"string","description":"The serialization format used for the reference data. Possible values are `Avro`, `Csv` and `Json`.\n"}},"type":"object","required":["type"]},"azure:streamanalytics/StreamInputBlobSerialization:StreamInputBlobSerialization":{"properties":{"encoding":{"type":"string","description":"The encoding of the incoming data in the case of input and the encoding of outgoing data in the case of output. It currently can only be set to `UTF8`.\n\n\u003e **Note:** This is required when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to `Csv` or `Json`.\n"},"fieldDelimiter":{"type":"string","description":"The delimiter that will be used to separate comma-separated value (CSV) records. Possible values are ` ` (space), `,` (comma), `\t` (tab), `|` (pipe) and `;`.\n\n\u003e **Note:** This is required when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to `Csv`.\n"},"type":{"type":"string","description":"The serialization format used for incoming data streams. Possible values are `Avro`, `Csv` and `Json`.\n"}},"type":"object","required":["type"]},"azure:streamanalytics/StreamInputEventHubSerialization:StreamInputEventHubSerialization":{"properties":{"encoding":{"type":"string","description":"The encoding of the incoming data in the case of input and the encoding of outgoing data in the case of output. It currently can only be set to `UTF8`.\n\n\u003e **Note:** This is required when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to `Csv` or `Json`.\n"},"fieldDelimiter":{"type":"string","description":"The delimiter that will be used to separate comma-separated value (CSV) records. Possible values are ` ` (space), `,` (comma), `\t` (tab), `|` (pipe) and `;`.\n\n\u003e **Note:** This is required when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to `Csv`.\n"},"type":{"type":"string","description":"The serialization format used for incoming data streams. Possible values are `Avro`, `Csv` and `Json`.\n"}},"type":"object","required":["type"]},"azure:streamanalytics/StreamInputEventHubV2Serialization:StreamInputEventHubV2Serialization":{"properties":{"encoding":{"type":"string","description":"The encoding of the incoming data in the case of input and the encoding of outgoing data in the case of output. It currently can only be set to `UTF8`.\n\n\u003e **Note:** This is required when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to `Csv` or `Json`.\n"},"fieldDelimiter":{"type":"string","description":"The delimiter that will be used to separate comma-separated value (CSV) records. Possible values are ` ` (space), `,` (comma), `\t` (tab), `|` (pipe) and `;`.\n\n\u003e **Note:** This is required when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to `Csv`.\n"},"type":{"type":"string","description":"The serialization format used for incoming data streams. Possible values are `Avro`, `Csv` and `Json`.\n"}},"type":"object","required":["type"]},"azure:streamanalytics/StreamInputIotHubSerialization:StreamInputIotHubSerialization":{"properties":{"encoding":{"type":"string","description":"The encoding of the incoming data in the case of input and the encoding of outgoing data in the case of output. It currently can only be set to `UTF8`.\n\n\u003e **Note:** This is required when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to `Csv` or `Json`.\n"},"fieldDelimiter":{"type":"string","description":"The delimiter that will be used to separate comma-separated value (CSV) records. Possible values are ` ` (space), `,` (comma), `\t` (tab), `|` (pipe) and `;`.\n\n\u003e **Note:** This is required when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to `Csv`.\n"},"type":{"type":"string","description":"The serialization format used for incoming data streams. Possible values are `Avro`, `Csv` and `Json`.\n"}},"type":"object","required":["type"]},"azure:streamanalytics/getJobIdentity:getJobIdentity":{"properties":{"identityIds":{"type":"array","items":{"type":"string"},"description":"A list of User Assigned Managed Identity IDs assigned to this resource.\n"},"principalId":{"type":"string","description":"The Principal ID associated with this Managed Service Identity.\n"},"tenantId":{"type":"string","description":"The Tenant ID associated with this Managed Service Identity.\n"},"type":{"type":"string","description":"The identity type of this Managed Service Identity.\n"}},"type":"object","required":["identityIds","principalId","tenantId","type"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:synapse/LinkedServiceIntegrationRuntime:LinkedServiceIntegrationRuntime":{"properties":{"name":{"type":"string","description":"The integration runtime reference to associate with the Synapse Linked Service.\n"},"parameters":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of parameters to associate with the integration runtime.\n"}},"type":"object","required":["name"]},"azure:synapse/SparkPoolAutoPause:SparkPoolAutoPause":{"properties":{"delayInMinutes":{"type":"integer","description":"Number of minutes of idle time before the Spark Pool is automatically paused. Must be between \u003cspan pulumi-lang-nodejs=\"`5`\" pulumi-lang-dotnet=\"`5`\" pulumi-lang-go=\"`5`\" pulumi-lang-python=\"`5`\" pulumi-lang-yaml=\"`5`\" pulumi-lang-java=\"`5`\"\u003e`5`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`10080`\" pulumi-lang-dotnet=\"`10080`\" pulumi-lang-go=\"`10080`\" pulumi-lang-python=\"`10080`\" pulumi-lang-yaml=\"`10080`\" pulumi-lang-java=\"`10080`\"\u003e`10080`\u003c/span\u003e.\n"}},"type":"object","required":["delayInMinutes"]},"azure:synapse/SparkPoolAutoScale:SparkPoolAutoScale":{"properties":{"maxNodeCount":{"type":"integer","description":"The maximum number of nodes the Spark Pool can support. Must be between \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`200`\" pulumi-lang-dotnet=\"`200`\" pulumi-lang-go=\"`200`\" pulumi-lang-python=\"`200`\" pulumi-lang-yaml=\"`200`\" pulumi-lang-java=\"`200`\"\u003e`200`\u003c/span\u003e.\n"},"minNodeCount":{"type":"integer","description":"The minimum number of nodes the Spark Pool can support. Must be between \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`200`\" pulumi-lang-dotnet=\"`200`\" pulumi-lang-go=\"`200`\" pulumi-lang-python=\"`200`\" pulumi-lang-yaml=\"`200`\" pulumi-lang-java=\"`200`\"\u003e`200`\u003c/span\u003e.\n"}},"type":"object","required":["maxNodeCount","minNodeCount"]},"azure:synapse/SparkPoolLibraryRequirement:SparkPoolLibraryRequirement":{"properties":{"content":{"type":"string","description":"The content of library requirements.\n"},"filename":{"type":"string","description":"The name of the library requirements file.\n"}},"type":"object","required":["content","filename"]},"azure:synapse/SparkPoolSparkConfig:SparkPoolSparkConfig":{"properties":{"content":{"type":"string","description":"The contents of a spark configuration.\n"},"filename":{"type":"string","description":"The name of the file where the spark configuration \u003cspan pulumi-lang-nodejs=\"`content`\" pulumi-lang-dotnet=\"`Content`\" pulumi-lang-go=\"`content`\" pulumi-lang-python=\"`content`\" pulumi-lang-yaml=\"`content`\" pulumi-lang-java=\"`content`\"\u003e`content`\u003c/span\u003e will be stored.\n"}},"type":"object","required":["content","filename"]},"azure:synapse/SqlPoolRestore:SqlPoolRestore":{"properties":{"pointInTime":{"type":"string","description":"Specifies the Snapshot time to restore formatted as an RFC3339 date string. Changing this forces a new Synapse SQL Pool to be created.\n","willReplaceOnChanges":true},"sourceDatabaseId":{"type":"string","description":"The ID of the Synapse SQL Pool or SQL Database which is to restore. Changing this forces a new Synapse SQL Pool to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["pointInTime","sourceDatabaseId"]},"azure:synapse/SqlPoolVulnerabilityAssessmentBaselineBaseline:SqlPoolVulnerabilityAssessmentBaselineBaseline":{"properties":{"results":{"type":"array","items":{"type":"string"},"description":"Specifies a list of rule baseline result.\n"}},"type":"object","required":["results"]},"azure:synapse/SqlPoolVulnerabilityAssessmentRecurringScans:SqlPoolVulnerabilityAssessmentRecurringScans":{"properties":{"emailSubscriptionAdminsEnabled":{"type":"boolean","description":"Boolean flag which specifies if the schedule scan notification will be sent to the subscription administrators. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"emails":{"type":"array","items":{"type":"string"},"description":"Specifies an array of email addresses to which the scan notification is sent.\n"},"enabled":{"type":"boolean","description":"Boolean flag which specifies if recurring scans is enabled or disabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"}},"type":"object"},"azure:synapse/WorkspaceAzureDevopsRepo:WorkspaceAzureDevopsRepo":{"properties":{"accountName":{"type":"string","description":"Specifies the Azure DevOps account name.\n"},"branchName":{"type":"string","description":"Specifies the collaboration branch of the repository to get code from.\n"},"lastCommitId":{"type":"string","description":"The last commit ID.\n"},"projectName":{"type":"string","description":"Specifies the name of the Azure DevOps project.\n"},"repositoryName":{"type":"string","description":"Specifies the name of the git repository.\n"},"rootFolder":{"type":"string","description":"Specifies the root folder within the repository. Set to `/` for the top level.\n"},"tenantId":{"type":"string","description":"the ID of the tenant for the Azure DevOps account.\n"}},"type":"object","required":["accountName","branchName","projectName","repositoryName","rootFolder"],"language":{"nodejs":{"requiredOutputs":["accountName","branchName","projectName","repositoryName","rootFolder","tenantId"]}}},"azure:synapse/WorkspaceCustomerManagedKey:WorkspaceCustomerManagedKey":{"properties":{"keyName":{"type":"string","description":"An identifier for the key. Name needs to match the name of the key used with the \u003cspan pulumi-lang-nodejs=\"`azure.synapse.WorkspaceKey`\" pulumi-lang-dotnet=\"`azure.synapse.WorkspaceKey`\" pulumi-lang-go=\"`synapse.WorkspaceKey`\" pulumi-lang-python=\"`synapse.WorkspaceKey`\" pulumi-lang-yaml=\"`azure.synapse.WorkspaceKey`\" pulumi-lang-java=\"`azure.synapse.WorkspaceKey`\"\u003e`azure.synapse.WorkspaceKey`\u003c/span\u003e resource. Defaults to \"cmk\" if not specified.\n"},"keyVersionlessId":{"type":"string","description":"The Azure Key Vault Key Versionless ID to be used as the Customer Managed Key (CMK) for double encryption (e.g. `https://example-keyvault.vault.azure.net/type/cmk/`).\n"},"userAssignedIdentityId":{"type":"string","description":"The User Assigned Identity ID to be used for accessing the Customer Managed Key for encryption.\n"}},"type":"object","required":["keyVersionlessId"]},"azure:synapse/WorkspaceGithubRepo:WorkspaceGithubRepo":{"properties":{"accountName":{"type":"string","description":"Specifies the GitHub account name.\n"},"branchName":{"type":"string","description":"Specifies the collaboration branch of the repository to get code from.\n"},"gitUrl":{"type":"string","description":"Specifies the GitHub Enterprise host name. For example: \u003chttps://github.mydomain.com\u003e.\n\n\u003e **Note:** You must log in to the Synapse UI to complete the authentication to the GitHub repository.\n"},"lastCommitId":{"type":"string","description":"The last commit ID.\n"},"repositoryName":{"type":"string","description":"Specifies the name of the git repository.\n"},"rootFolder":{"type":"string","description":"Specifies the root folder within the repository. Set to `/` for the top level.\n"}},"type":"object","required":["accountName","branchName","repositoryName","rootFolder"]},"azure:synapse/WorkspaceIdentity:WorkspaceIdentity":{"properties":{"identityIds":{"type":"array","items":{"type":"string"},"description":"Specifies a list of User Assigned Managed Identity IDs to be assigned to this Synapse Workspace.\n\n\u003e **Note:** This is required when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to `UserAssigned` or `SystemAssigned, UserAssigned`.\n"},"principalId":{"type":"string","description":"The Principal ID for the Service Principal associated with the Managed Service Identity of this Synapse Workspace.\n"},"tenantId":{"type":"string","description":"The Tenant ID for the Service Principal associated with the Managed Service Identity of this Synapse Workspace.\n"},"type":{"type":"string","description":"Specifies the type of Managed Service Identity that should be associated with this Synapse Workspace. Possible values are `SystemAssigned`, `UserAssigned` and `SystemAssigned, UserAssigned` (to enable both).\n"}},"type":"object","required":["type"],"language":{"nodejs":{"requiredOutputs":["principalId","tenantId","type"]}}},"azure:synapse/WorkspaceVulnerabilityAssessmentRecurringScans:WorkspaceVulnerabilityAssessmentRecurringScans":{"properties":{"emailSubscriptionAdminsEnabled":{"type":"boolean","description":"Boolean flag which specifies if the schedule scan notification will be sent to the subscription administrators. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"emails":{"type":"array","items":{"type":"string"},"description":"Specifies an array of email addresses to which the scan notification is sent.\n"},"enabled":{"type":"boolean","description":"Boolean flag which specifies if recurring scans is enabled or disabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"}},"type":"object"},"azure:synapse/getWorkspaceIdentity:getWorkspaceIdentity":{"properties":{"identityIds":{"type":"array","items":{"type":"string"}},"principalId":{"type":"string","description":"The Principal ID for the Service Principal associated with the Managed Service Identity of this Synapse Workspace.\n"},"tenantId":{"type":"string","description":"The Tenant ID for the Service Principal associated with the Managed Service Identity of this Synapse Workspace.\n"},"type":{"type":"string","description":"The Identity Type for the Service Principal associated with the Managed Service Identity of this Synapse Workspace.\n"}},"type":"object","required":["identityIds","principalId","tenantId","type"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:systemcenter/VirtualMachineManagerVirtualMachineInstanceHardware:VirtualMachineManagerVirtualMachineInstanceHardware":{"properties":{"cpuCount":{"type":"integer","description":"The number of vCPUs for the Virtual Machine. Possible values are between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`64`\" pulumi-lang-dotnet=\"`64`\" pulumi-lang-go=\"`64`\" pulumi-lang-python=\"`64`\" pulumi-lang-yaml=\"`64`\" pulumi-lang-java=\"`64`\"\u003e`64`\u003c/span\u003e.\n"},"dynamicMemoryMaxInMb":{"type":"integer","description":"The max dynamic memory for the Virtual Machine. Possible values are between \u003cspan pulumi-lang-nodejs=\"`32`\" pulumi-lang-dotnet=\"`32`\" pulumi-lang-go=\"`32`\" pulumi-lang-python=\"`32`\" pulumi-lang-yaml=\"`32`\" pulumi-lang-java=\"`32`\"\u003e`32`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`1048576`\" pulumi-lang-dotnet=\"`1048576`\" pulumi-lang-go=\"`1048576`\" pulumi-lang-python=\"`1048576`\" pulumi-lang-yaml=\"`1048576`\" pulumi-lang-java=\"`1048576`\"\u003e`1048576`\u003c/span\u003e.\n"},"dynamicMemoryMinInMb":{"type":"integer","description":"The min dynamic memory for the Virtual Machine. Possible values are between \u003cspan pulumi-lang-nodejs=\"`32`\" pulumi-lang-dotnet=\"`32`\" pulumi-lang-go=\"`32`\" pulumi-lang-python=\"`32`\" pulumi-lang-yaml=\"`32`\" pulumi-lang-java=\"`32`\"\u003e`32`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`1048576`\" pulumi-lang-dotnet=\"`1048576`\" pulumi-lang-go=\"`1048576`\" pulumi-lang-python=\"`1048576`\" pulumi-lang-yaml=\"`1048576`\" pulumi-lang-java=\"`1048576`\"\u003e`1048576`\u003c/span\u003e.\n"},"limitCpuForMigrationEnabled":{"type":"boolean","description":"Whether processor compatibility mode for live migration of Virtual Machines is enabled.\n"},"memoryInMb":{"type":"integer","description":"The size of a Virtual Machine's memory. Possible values are between \u003cspan pulumi-lang-nodejs=\"`32`\" pulumi-lang-dotnet=\"`32`\" pulumi-lang-go=\"`32`\" pulumi-lang-python=\"`32`\" pulumi-lang-yaml=\"`32`\" pulumi-lang-java=\"`32`\"\u003e`32`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`1048576`\" pulumi-lang-dotnet=\"`1048576`\" pulumi-lang-go=\"`1048576`\" pulumi-lang-python=\"`1048576`\" pulumi-lang-yaml=\"`1048576`\" pulumi-lang-java=\"`1048576`\"\u003e`1048576`\u003c/span\u003e.\n"}},"type":"object"},"azure:systemcenter/VirtualMachineManagerVirtualMachineInstanceInfrastructure:VirtualMachineManagerVirtualMachineInstanceInfrastructure":{"properties":{"checkpointType":{"type":"string","description":"The type of checkpoint supported for the Virtual Machine. Possible values are `Disabled`, `Production`, `ProductionOnly` and `Standard`.\n"},"systemCenterVirtualMachineManagerCloudId":{"type":"string","description":"The ID of the System Center Virtual Machine Manager Cloud resource to use for deploying the Virtual Machine. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"systemCenterVirtualMachineManagerInventoryItemId":{"type":"string","description":"The ID of the System Center Virtual Machine Manager Inventory Item for System Center Virtual Machine Manager Virtual Machine Instance. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"systemCenterVirtualMachineManagerTemplateId":{"type":"string","description":"The ID of the System Center Virtual Machine Manager Virtual Machine Template to use for deploying the Virtual Machine. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"systemCenterVirtualMachineManagerVirtualMachineServerId":{"type":"string","description":"The ID of the System Center Virtual Machine Manager Virtual Machine. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"},"azure:systemcenter/VirtualMachineManagerVirtualMachineInstanceNetworkInterface:VirtualMachineManagerVirtualMachineInstanceNetworkInterface":{"properties":{"ipv4AddressType":{"type":"string","description":"The IPv4 address type. Possible values are `Dynamic` and `Static`.\n"},"ipv6AddressType":{"type":"string","description":"The IPv6 address type. Possible values are `Dynamic` and `Static`.\n"},"macAddressType":{"type":"string","description":"The MAC address type. Possible values are `Dynamic` and `Static`.\n"},"name":{"type":"string","description":"The name of the Virtual Network in System Center Virtual Machine Manager Server that the Network Interface is connected to.\n"},"virtualNetworkId":{"type":"string","description":"The ID of the System Center Virtual Machine Manager Virtual Network to connect the Network Interface.\n"}},"type":"object","required":["name"]},"azure:systemcenter/VirtualMachineManagerVirtualMachineInstanceOperatingSystem:VirtualMachineManagerVirtualMachineInstanceOperatingSystem":{"properties":{"adminPassword":{"type":"string","description":"The admin password of the Virtual Machine. Changing this forces a new resource to be created.\n","secret":true,"willReplaceOnChanges":true},"computerName":{"type":"string","description":"The computer name of the Virtual Machine. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"},"azure:systemcenter/VirtualMachineManagerVirtualMachineInstanceStorageDisk:VirtualMachineManagerVirtualMachineInstanceStorageDisk":{"properties":{"bus":{"type":"integer","description":"The disk bus. Possible values are between \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e.\n"},"busType":{"type":"string","description":"The disk bus type. Possible values are `IDE` and `SCSI`.\n"},"diskSizeGb":{"type":"integer","description":"The disk total size.\n"},"lun":{"type":"integer","description":"The disk lun. Possible values are between \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`63`\" pulumi-lang-dotnet=\"`63`\" pulumi-lang-go=\"`63`\" pulumi-lang-python=\"`63`\" pulumi-lang-yaml=\"`63`\" pulumi-lang-java=\"`63`\"\u003e`63`\u003c/span\u003e.\n"},"name":{"type":"string","description":"The name of the disk.\n"},"storageQosPolicyName":{"type":"string","description":"The name of the Storage QoS policy.\n"},"templateDiskId":{"type":"string","description":"The disk ID in the System Center Virtual Machine Manager Virtual Machine Template. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"vhdType":{"type":"string","description":"The disk vhd type. Possible values are `Dynamic` and `Fixed`.\n"}},"type":"object"},"azure:systemcenter/getVirtualMachineManagerInventoryItemsInventoryItem:getVirtualMachineManagerInventoryItemsInventoryItem":{"properties":{"id":{"type":"string","description":"The ID of the System Center Virtual Machine Manager Inventory Item.\n"},"name":{"type":"string","description":"The name of the System Center Virtual Machine Manager Inventory Item.\n"},"uuid":{"type":"string","description":"The UUID of the System Center Virtual Machine Manager Inventory Item that is assigned by System Center Virtual Machine Manager.\n"}},"type":"object","required":["id","name","uuid"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:trafficmanager/ProfileDnsConfig:ProfileDnsConfig":{"properties":{"relativeName":{"type":"string","description":"The relative domain name, this is combined with the domain name used by Traffic Manager to form the FQDN which is exported as documented below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"ttl":{"type":"integer","description":"The TTL value of the Profile used by Local DNS resolvers and clients.\n"}},"type":"object","required":["relativeName","ttl"]},"azure:trafficmanager/ProfileMonitorConfig:ProfileMonitorConfig":{"properties":{"customHeaders":{"type":"array","items":{"$ref":"#/types/azure:trafficmanager/ProfileMonitorConfigCustomHeader:ProfileMonitorConfigCustomHeader"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`customHeader`\" pulumi-lang-dotnet=\"`CustomHeader`\" pulumi-lang-go=\"`customHeader`\" pulumi-lang-python=\"`custom_header`\" pulumi-lang-yaml=\"`customHeader`\" pulumi-lang-java=\"`customHeader`\"\u003e`custom_header`\u003c/span\u003e blocks as defined below.\n"},"expectedStatusCodeRanges":{"type":"array","items":{"type":"string"},"description":"A list of status code ranges in the format of `100-101`.\n"},"intervalInSeconds":{"type":"integer","description":"The interval used to check the endpoint health from a Traffic Manager probing agent. You can specify two values here: \u003cspan pulumi-lang-nodejs=\"`30`\" pulumi-lang-dotnet=\"`30`\" pulumi-lang-go=\"`30`\" pulumi-lang-python=\"`30`\" pulumi-lang-yaml=\"`30`\" pulumi-lang-java=\"`30`\"\u003e`30`\u003c/span\u003e (normal probing) and \u003cspan pulumi-lang-nodejs=\"`10`\" pulumi-lang-dotnet=\"`10`\" pulumi-lang-go=\"`10`\" pulumi-lang-python=\"`10`\" pulumi-lang-yaml=\"`10`\" pulumi-lang-java=\"`10`\"\u003e`10`\u003c/span\u003e (fast probing). The default value is \u003cspan pulumi-lang-nodejs=\"`30`\" pulumi-lang-dotnet=\"`30`\" pulumi-lang-go=\"`30`\" pulumi-lang-python=\"`30`\" pulumi-lang-yaml=\"`30`\" pulumi-lang-java=\"`30`\"\u003e`30`\u003c/span\u003e.\n"},"path":{"type":"string","description":"The path used by the monitoring checks. Required when \u003cspan pulumi-lang-nodejs=\"`protocol`\" pulumi-lang-dotnet=\"`Protocol`\" pulumi-lang-go=\"`protocol`\" pulumi-lang-python=\"`protocol`\" pulumi-lang-yaml=\"`protocol`\" pulumi-lang-java=\"`protocol`\"\u003e`protocol`\u003c/span\u003e is set to `HTTP` or `HTTPS` - cannot be set when \u003cspan pulumi-lang-nodejs=\"`protocol`\" pulumi-lang-dotnet=\"`Protocol`\" pulumi-lang-go=\"`protocol`\" pulumi-lang-python=\"`protocol`\" pulumi-lang-yaml=\"`protocol`\" pulumi-lang-java=\"`protocol`\"\u003e`protocol`\u003c/span\u003e is set to `TCP`.\n"},"port":{"type":"integer","description":"The port number used by the monitoring checks.\n"},"protocol":{"type":"string","description":"The protocol used by the monitoring checks, supported values are `HTTP`, `HTTPS` and `TCP`.\n"},"timeoutInSeconds":{"type":"integer","description":"The amount of time the Traffic Manager probing agent should wait before considering that check a failure when a health check probe is sent to the endpoint. If \u003cspan pulumi-lang-nodejs=\"`intervalInSeconds`\" pulumi-lang-dotnet=\"`IntervalInSeconds`\" pulumi-lang-go=\"`intervalInSeconds`\" pulumi-lang-python=\"`interval_in_seconds`\" pulumi-lang-yaml=\"`intervalInSeconds`\" pulumi-lang-java=\"`intervalInSeconds`\"\u003e`interval_in_seconds`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`30`\" pulumi-lang-dotnet=\"`30`\" pulumi-lang-go=\"`30`\" pulumi-lang-python=\"`30`\" pulumi-lang-yaml=\"`30`\" pulumi-lang-java=\"`30`\"\u003e`30`\u003c/span\u003e, then \u003cspan pulumi-lang-nodejs=\"`timeoutInSeconds`\" pulumi-lang-dotnet=\"`TimeoutInSeconds`\" pulumi-lang-go=\"`timeoutInSeconds`\" pulumi-lang-python=\"`timeout_in_seconds`\" pulumi-lang-yaml=\"`timeoutInSeconds`\" pulumi-lang-java=\"`timeoutInSeconds`\"\u003e`timeout_in_seconds`\u003c/span\u003e can be between \u003cspan pulumi-lang-nodejs=\"`5`\" pulumi-lang-dotnet=\"`5`\" pulumi-lang-go=\"`5`\" pulumi-lang-python=\"`5`\" pulumi-lang-yaml=\"`5`\" pulumi-lang-java=\"`5`\"\u003e`5`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`10`\" pulumi-lang-dotnet=\"`10`\" pulumi-lang-go=\"`10`\" pulumi-lang-python=\"`10`\" pulumi-lang-yaml=\"`10`\" pulumi-lang-java=\"`10`\"\u003e`10`\u003c/span\u003e. The default value is \u003cspan pulumi-lang-nodejs=\"`10`\" pulumi-lang-dotnet=\"`10`\" pulumi-lang-go=\"`10`\" pulumi-lang-python=\"`10`\" pulumi-lang-yaml=\"`10`\" pulumi-lang-java=\"`10`\"\u003e`10`\u003c/span\u003e. If \u003cspan pulumi-lang-nodejs=\"`intervalInSeconds`\" pulumi-lang-dotnet=\"`IntervalInSeconds`\" pulumi-lang-go=\"`intervalInSeconds`\" pulumi-lang-python=\"`interval_in_seconds`\" pulumi-lang-yaml=\"`intervalInSeconds`\" pulumi-lang-java=\"`intervalInSeconds`\"\u003e`interval_in_seconds`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`10`\" pulumi-lang-dotnet=\"`10`\" pulumi-lang-go=\"`10`\" pulumi-lang-python=\"`10`\" pulumi-lang-yaml=\"`10`\" pulumi-lang-java=\"`10`\"\u003e`10`\u003c/span\u003e, then valid values are between \u003cspan pulumi-lang-nodejs=\"`5`\" pulumi-lang-dotnet=\"`5`\" pulumi-lang-go=\"`5`\" pulumi-lang-python=\"`5`\" pulumi-lang-yaml=\"`5`\" pulumi-lang-java=\"`5`\"\u003e`5`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`9`\" pulumi-lang-dotnet=\"`9`\" pulumi-lang-go=\"`9`\" pulumi-lang-python=\"`9`\" pulumi-lang-yaml=\"`9`\" pulumi-lang-java=\"`9`\"\u003e`9`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`timeoutInSeconds`\" pulumi-lang-dotnet=\"`TimeoutInSeconds`\" pulumi-lang-go=\"`timeoutInSeconds`\" pulumi-lang-python=\"`timeout_in_seconds`\" pulumi-lang-yaml=\"`timeoutInSeconds`\" pulumi-lang-java=\"`timeoutInSeconds`\"\u003e`timeout_in_seconds`\u003c/span\u003e is required.\n"},"toleratedNumberOfFailures":{"type":"integer","description":"The number of failures a Traffic Manager probing agent tolerates before marking that endpoint as unhealthy. Valid values are between \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`9`\" pulumi-lang-dotnet=\"`9`\" pulumi-lang-go=\"`9`\" pulumi-lang-python=\"`9`\" pulumi-lang-yaml=\"`9`\" pulumi-lang-java=\"`9`\"\u003e`9`\u003c/span\u003e. The default value is \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e\n"}},"type":"object","required":["port","protocol"]},"azure:trafficmanager/ProfileMonitorConfigCustomHeader:ProfileMonitorConfigCustomHeader":{"properties":{"name":{"type":"string","description":"The name of the custom header.\n"},"value":{"type":"string","description":"The value of custom header. Applicable for HTTP and HTTPS protocol.\n"}},"type":"object","required":["name","value"]},"azure:videoindexer/AccountIdentity:AccountIdentity":{"properties":{"identityIds":{"type":"array","items":{"type":"string"},"description":"Specifies a list of user managed identity ids to be assigned. Required if \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is `UserAssigned`.\n"},"principalId":{"type":"string"},"tenantId":{"type":"string"},"type":{"type":"string","description":"Specifies the identity type of the Video Indexer Account. Possible values are `SystemAssigned` (where Azure will generate a Service Principal for you), `UserAssigned` where you can specify the Service Principal IDs in the \u003cspan pulumi-lang-nodejs=\"`identityIds`\" pulumi-lang-dotnet=\"`IdentityIds`\" pulumi-lang-go=\"`identityIds`\" pulumi-lang-python=\"`identity_ids`\" pulumi-lang-yaml=\"`identityIds`\" pulumi-lang-java=\"`identityIds`\"\u003e`identity_ids`\u003c/span\u003e field, and `SystemAssigned, UserAssigned` which assigns both a system managed identity as well as the specified user assigned identities.\n"}},"type":"object","required":["type"],"language":{"nodejs":{"requiredOutputs":["principalId","tenantId","type"]}}},"azure:videoindexer/AccountStorage:AccountStorage":{"properties":{"storageAccountId":{"type":"string","description":"The ID of the storage account to be associated with the Video Indexer Account. Changing this forces a new Video Indexer Account to be created.\n","willReplaceOnChanges":true},"userAssignedIdentityId":{"type":"string","description":"The reference to the user assigned identity to use to access the Storage Account.\n"}},"type":"object","required":["storageAccountId"]},"azure:voice/ServicesCommunicationsGatewayServiceLocation:ServicesCommunicationsGatewayServiceLocation":{"properties":{"allowedMediaSourceAddressPrefixes":{"type":"array","items":{"type":"string"},"description":"Specifies the allowed source IP address or CIDR ranges for media.\n"},"allowedSignalingSourceAddressPrefixes":{"type":"array","items":{"type":"string"},"description":"Specifies the allowed source IP address or CIDR ranges for signaling.\n"},"esrpAddresses":{"type":"array","items":{"type":"string"},"description":"IP address to use to contact the ESRP from this region.\n\n!\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`esrpAddresses`\" pulumi-lang-dotnet=\"`EsrpAddresses`\" pulumi-lang-go=\"`esrpAddresses`\" pulumi-lang-python=\"`esrp_addresses`\" pulumi-lang-yaml=\"`esrpAddresses`\" pulumi-lang-java=\"`esrpAddresses`\"\u003e`esrp_addresses`\u003c/span\u003e must be specified for each \u003cspan pulumi-lang-nodejs=\"`serviceLocation`\" pulumi-lang-dotnet=\"`ServiceLocation`\" pulumi-lang-go=\"`serviceLocation`\" pulumi-lang-python=\"`service_location`\" pulumi-lang-yaml=\"`serviceLocation`\" pulumi-lang-java=\"`serviceLocation`\"\u003e`service_location`\u003c/span\u003e when the\u003cspan pulumi-lang-nodejs=\"`e911Type`\" pulumi-lang-dotnet=\"`E911Type`\" pulumi-lang-go=\"`e911Type`\" pulumi-lang-python=\"`e911_type`\" pulumi-lang-yaml=\"`e911Type`\" pulumi-lang-java=\"`e911Type`\"\u003e`e911_type`\u003c/span\u003e is set to `DirectToEsrp`.  The \u003cspan pulumi-lang-nodejs=\"`esrpAddresses`\" pulumi-lang-dotnet=\"`EsrpAddresses`\" pulumi-lang-go=\"`esrpAddresses`\" pulumi-lang-python=\"`esrp_addresses`\" pulumi-lang-yaml=\"`esrpAddresses`\" pulumi-lang-java=\"`esrpAddresses`\"\u003e`esrp_addresses`\u003c/span\u003e must not be specified for each \u003cspan pulumi-lang-nodejs=\"`serviceLocation`\" pulumi-lang-dotnet=\"`ServiceLocation`\" pulumi-lang-go=\"`serviceLocation`\" pulumi-lang-python=\"`service_location`\" pulumi-lang-yaml=\"`serviceLocation`\" pulumi-lang-java=\"`serviceLocation`\"\u003e`service_location`\u003c/span\u003e when the\u003cspan pulumi-lang-nodejs=\"`e911Type`\" pulumi-lang-dotnet=\"`E911Type`\" pulumi-lang-go=\"`e911Type`\" pulumi-lang-python=\"`e911_type`\" pulumi-lang-yaml=\"`e911Type`\" pulumi-lang-java=\"`e911Type`\"\u003e`e911_type`\u003c/span\u003e is set to `Standard`.\n"},"location":{"type":"string","description":"Specifies the region in which the resources needed for Teams Calling will be deployed.\n"},"operatorAddresses":{"type":"array","items":{"type":"string"},"description":"IP address to use to contact the operator network from this region.\n"}},"type":"object","required":["location","operatorAddresses"]},"azure:waf/PolicyCustomRule:PolicyCustomRule":{"properties":{"action":{"type":"string","description":"Type of action. Possible values are `Allow`, `Block`, `JSChallenge` and `Log`.\n\n\u003e **Note:** If the \u003cspan pulumi-lang-nodejs=\"`ruleType`\" pulumi-lang-dotnet=\"`RuleType`\" pulumi-lang-go=\"`ruleType`\" pulumi-lang-python=\"`rule_type`\" pulumi-lang-yaml=\"`ruleType`\" pulumi-lang-java=\"`ruleType`\"\u003e`rule_type`\u003c/span\u003e is specified as `RateLimitRule`, the `Allow` is not supported.\n"},"enabled":{"type":"boolean","description":"Describes if the policy is in enabled state or disabled state. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"groupRateLimitBy":{"type":"string","description":"Specifies what grouping the rate limit will count requests by. Possible values are `ClientAddr`, `ClientAddrXFFHeader`, `GeoLocation`, `GeoLocationXFFHeader` and `None`.\n"},"matchConditions":{"type":"array","items":{"$ref":"#/types/azure:waf/PolicyCustomRuleMatchCondition:PolicyCustomRuleMatchCondition"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`matchConditions`\" pulumi-lang-dotnet=\"`MatchConditions`\" pulumi-lang-go=\"`matchConditions`\" pulumi-lang-python=\"`match_conditions`\" pulumi-lang-yaml=\"`matchConditions`\" pulumi-lang-java=\"`matchConditions`\"\u003e`match_conditions`\u003c/span\u003e blocks as defined below.\n"},"name":{"type":"string","description":"Gets name of the resource that is unique within a policy. This name can be used to access the resource.\n"},"priority":{"type":"integer","description":"Describes priority of the rule. Rules with a lower value will be evaluated before rules with a higher value.\n"},"rateLimitDuration":{"type":"string","description":"Specifies the duration at which the rate limit policy will be applied. Should be used with `RateLimitRule` rule type. Possible values are `FiveMins` and `OneMin`.\n"},"rateLimitThreshold":{"type":"integer","description":"Specifies the threshold value for the rate limit policy. Must be greater than or equal to 1 if provided.\n"},"ruleType":{"type":"string","description":"Describes the type of rule. Possible values are `MatchRule`, `RateLimitRule` and `Invalid`.\n"}},"type":"object","required":["action","matchConditions","priority","ruleType"]},"azure:waf/PolicyCustomRuleMatchCondition:PolicyCustomRuleMatchCondition":{"properties":{"matchValues":{"type":"array","items":{"type":"string"},"description":"A list of match values. This is **Required** when the \u003cspan pulumi-lang-nodejs=\"`operator`\" pulumi-lang-dotnet=\"`Operator`\" pulumi-lang-go=\"`operator`\" pulumi-lang-python=\"`operator`\" pulumi-lang-yaml=\"`operator`\" pulumi-lang-java=\"`operator`\"\u003e`operator`\u003c/span\u003e is not `Any`.\n"},"matchVariables":{"type":"array","items":{"$ref":"#/types/azure:waf/PolicyCustomRuleMatchConditionMatchVariable:PolicyCustomRuleMatchConditionMatchVariable"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`matchVariables`\" pulumi-lang-dotnet=\"`MatchVariables`\" pulumi-lang-go=\"`matchVariables`\" pulumi-lang-python=\"`match_variables`\" pulumi-lang-yaml=\"`matchVariables`\" pulumi-lang-java=\"`matchVariables`\"\u003e`match_variables`\u003c/span\u003e blocks as defined below.\n"},"negationCondition":{"type":"boolean","description":"Describes if this is negate condition or not\n"},"operator":{"type":"string","description":"Describes operator to be matched. Possible values are `Any`, `IPMatch`, `GeoMatch`, `Equal`, `Contains`, `LessThan`, `GreaterThan`, `LessThanOrEqual`, `GreaterThanOrEqual`, `BeginsWith`, `EndsWith` and `Regex`.\n"},"transforms":{"type":"array","items":{"type":"string"},"description":"A list of transformations to do before the match is attempted. Possible values are `HtmlEntityDecode`, `Lowercase`, `RemoveNulls`, `Trim`, `Uppercase`, `UrlDecode` and `UrlEncode`.\n"}},"type":"object","required":["matchVariables","operator"]},"azure:waf/PolicyCustomRuleMatchConditionMatchVariable:PolicyCustomRuleMatchConditionMatchVariable":{"properties":{"selector":{"type":"string","description":"Describes field of the matchVariable collection\n"},"variableName":{"type":"string","description":"The name of the Match Variable. Possible values are `RemoteAddr`, `RequestMethod`, `QueryString`, `PostArgs`, `RequestUri`, `RequestHeaders`, `RequestBody` and `RequestCookies`.\n"}},"type":"object","required":["variableName"]},"azure:waf/PolicyManagedRules:PolicyManagedRules":{"properties":{"exclusions":{"type":"array","items":{"$ref":"#/types/azure:waf/PolicyManagedRulesExclusion:PolicyManagedRulesExclusion"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`exclusion`\" pulumi-lang-dotnet=\"`Exclusion`\" pulumi-lang-go=\"`exclusion`\" pulumi-lang-python=\"`exclusion`\" pulumi-lang-yaml=\"`exclusion`\" pulumi-lang-java=\"`exclusion`\"\u003e`exclusion`\u003c/span\u003e block defined below.\n"},"managedRuleSets":{"type":"array","items":{"$ref":"#/types/azure:waf/PolicyManagedRulesManagedRuleSet:PolicyManagedRulesManagedRuleSet"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`managedRuleSet`\" pulumi-lang-dotnet=\"`ManagedRuleSet`\" pulumi-lang-go=\"`managedRuleSet`\" pulumi-lang-python=\"`managed_rule_set`\" pulumi-lang-yaml=\"`managedRuleSet`\" pulumi-lang-java=\"`managedRuleSet`\"\u003e`managed_rule_set`\u003c/span\u003e block defined below.\n"}},"type":"object","required":["managedRuleSets"]},"azure:waf/PolicyManagedRulesExclusion:PolicyManagedRulesExclusion":{"properties":{"excludedRuleSet":{"$ref":"#/types/azure:waf/PolicyManagedRulesExclusionExcludedRuleSet:PolicyManagedRulesExclusionExcludedRuleSet","description":"One or more \u003cspan pulumi-lang-nodejs=\"`excludedRuleSet`\" pulumi-lang-dotnet=\"`ExcludedRuleSet`\" pulumi-lang-go=\"`excludedRuleSet`\" pulumi-lang-python=\"`excluded_rule_set`\" pulumi-lang-yaml=\"`excludedRuleSet`\" pulumi-lang-java=\"`excludedRuleSet`\"\u003e`excluded_rule_set`\u003c/span\u003e block defined below.\n"},"matchVariable":{"type":"string","description":"The name of the Match Variable. Possible values: `RequestArgKeys`, `RequestArgNames`, `RequestArgValues`, `RequestCookieKeys`, `RequestCookieNames`, `RequestCookieValues`, `RequestHeaderKeys`, `RequestHeaderNames`, `RequestHeaderValues`.\n"},"selector":{"type":"string","description":"Describes field of the matchVariable collection.\n"},"selectorMatchOperator":{"type":"string","description":"Describes operator to be matched. Possible values: `Contains`, `EndsWith`, `Equals`, `EqualsAny`, `StartsWith`.\n"}},"type":"object","required":["matchVariable","selector","selectorMatchOperator"]},"azure:waf/PolicyManagedRulesExclusionExcludedRuleSet:PolicyManagedRulesExclusionExcludedRuleSet":{"properties":{"ruleGroups":{"type":"array","items":{"$ref":"#/types/azure:waf/PolicyManagedRulesExclusionExcludedRuleSetRuleGroup:PolicyManagedRulesExclusionExcludedRuleSetRuleGroup"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`ruleGroup`\" pulumi-lang-dotnet=\"`RuleGroup`\" pulumi-lang-go=\"`ruleGroup`\" pulumi-lang-python=\"`rule_group`\" pulumi-lang-yaml=\"`ruleGroup`\" pulumi-lang-java=\"`ruleGroup`\"\u003e`rule_group`\u003c/span\u003e block defined below.\n"},"type":{"type":"string","description":"The rule set type. Possible values are `Microsoft_DefaultRuleSet`, `Microsoft_BotManagerRuleSet` and `OWASP`. Defaults to `OWASP`.\n"},"version":{"type":"string","description":"The rule set version. Possible values are `1.0`, `1.1` (for rule set type `Microsoft_BotManagerRuleSet`), `2.1`, `2.2` (for rule set type `Microsoft_DefaultRuleSet`) and `3.2` (for rule set type `OWASP`). Defaults to `3.2`.\n"}},"type":"object"},"azure:waf/PolicyManagedRulesExclusionExcludedRuleSetRuleGroup:PolicyManagedRulesExclusionExcludedRuleSetRuleGroup":{"properties":{"excludedRules":{"type":"array","items":{"type":"string"},"description":"One or more Rule IDs for exclusion.\n"},"ruleGroupName":{"type":"string","description":"The name of rule group for exclusion. Possible values are `BadBots`, \u003cspan pulumi-lang-nodejs=\"`crs20ProtocolViolations`\" pulumi-lang-dotnet=\"`Crs20ProtocolViolations`\" pulumi-lang-go=\"`crs20ProtocolViolations`\" pulumi-lang-python=\"`crs_20_protocol_violations`\" pulumi-lang-yaml=\"`crs20ProtocolViolations`\" pulumi-lang-java=\"`crs20ProtocolViolations`\"\u003e`crs_20_protocol_violations`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`crs21ProtocolAnomalies`\" pulumi-lang-dotnet=\"`Crs21ProtocolAnomalies`\" pulumi-lang-go=\"`crs21ProtocolAnomalies`\" pulumi-lang-python=\"`crs_21_protocol_anomalies`\" pulumi-lang-yaml=\"`crs21ProtocolAnomalies`\" pulumi-lang-java=\"`crs21ProtocolAnomalies`\"\u003e`crs_21_protocol_anomalies`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`crs23RequestLimits`\" pulumi-lang-dotnet=\"`Crs23RequestLimits`\" pulumi-lang-go=\"`crs23RequestLimits`\" pulumi-lang-python=\"`crs_23_request_limits`\" pulumi-lang-yaml=\"`crs23RequestLimits`\" pulumi-lang-java=\"`crs23RequestLimits`\"\u003e`crs_23_request_limits`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`crs30HttpPolicy`\" pulumi-lang-dotnet=\"`Crs30HttpPolicy`\" pulumi-lang-go=\"`crs30HttpPolicy`\" pulumi-lang-python=\"`crs_30_http_policy`\" pulumi-lang-yaml=\"`crs30HttpPolicy`\" pulumi-lang-java=\"`crs30HttpPolicy`\"\u003e`crs_30_http_policy`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`crs35BadRobots`\" pulumi-lang-dotnet=\"`Crs35BadRobots`\" pulumi-lang-go=\"`crs35BadRobots`\" pulumi-lang-python=\"`crs_35_bad_robots`\" pulumi-lang-yaml=\"`crs35BadRobots`\" pulumi-lang-java=\"`crs35BadRobots`\"\u003e`crs_35_bad_robots`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`crs40GenericAttacks`\" pulumi-lang-dotnet=\"`Crs40GenericAttacks`\" pulumi-lang-go=\"`crs40GenericAttacks`\" pulumi-lang-python=\"`crs_40_generic_attacks`\" pulumi-lang-yaml=\"`crs40GenericAttacks`\" pulumi-lang-java=\"`crs40GenericAttacks`\"\u003e`crs_40_generic_attacks`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`crs41SqlInjectionAttacks`\" pulumi-lang-dotnet=\"`Crs41SqlInjectionAttacks`\" pulumi-lang-go=\"`crs41SqlInjectionAttacks`\" pulumi-lang-python=\"`crs_41_sql_injection_attacks`\" pulumi-lang-yaml=\"`crs41SqlInjectionAttacks`\" pulumi-lang-java=\"`crs41SqlInjectionAttacks`\"\u003e`crs_41_sql_injection_attacks`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`crs41XssAttacks`\" pulumi-lang-dotnet=\"`Crs41XssAttacks`\" pulumi-lang-go=\"`crs41XssAttacks`\" pulumi-lang-python=\"`crs_41_xss_attacks`\" pulumi-lang-yaml=\"`crs41XssAttacks`\" pulumi-lang-java=\"`crs41XssAttacks`\"\u003e`crs_41_xss_attacks`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`crs42TightSecurity`\" pulumi-lang-dotnet=\"`Crs42TightSecurity`\" pulumi-lang-go=\"`crs42TightSecurity`\" pulumi-lang-python=\"`crs_42_tight_security`\" pulumi-lang-yaml=\"`crs42TightSecurity`\" pulumi-lang-java=\"`crs42TightSecurity`\"\u003e`crs_42_tight_security`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`crs45Trojans`\" pulumi-lang-dotnet=\"`Crs45Trojans`\" pulumi-lang-go=\"`crs45Trojans`\" pulumi-lang-python=\"`crs_45_trojans`\" pulumi-lang-yaml=\"`crs45Trojans`\" pulumi-lang-java=\"`crs45Trojans`\"\u003e`crs_45_trojans`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`crs49InboundBlocking`\" pulumi-lang-dotnet=\"`Crs49InboundBlocking`\" pulumi-lang-go=\"`crs49InboundBlocking`\" pulumi-lang-python=\"`crs_49_inbound_blocking`\" pulumi-lang-yaml=\"`crs49InboundBlocking`\" pulumi-lang-java=\"`crs49InboundBlocking`\"\u003e`crs_49_inbound_blocking`\u003c/span\u003e, `General`, `GoodBots`, `KnownBadBots`, `Known-CVEs`, `REQUEST-911-METHOD-ENFORCEMENT`, `REQUEST-913-SCANNER-DETECTION`, `REQUEST-920-PROTOCOL-ENFORCEMENT`, `REQUEST-921-PROTOCOL-ATTACK`, `REQUEST-930-APPLICATION-ATTACK-LFI`, `REQUEST-931-APPLICATION-ATTACK-RFI`, `REQUEST-932-APPLICATION-ATTACK-RCE`, `REQUEST-933-APPLICATION-ATTACK-PHP`, `REQUEST-941-APPLICATION-ATTACK-XSS`, `REQUEST-942-APPLICATION-ATTACK-SQLI`, `REQUEST-943-APPLICATION-ATTACK-SESSION-FIXATION`, `REQUEST-944-APPLICATION-ATTACK-JAVA`, `UnknownBots`, `METHOD-ENFORCEMENT`, `PROTOCOL-ENFORCEMENT`, `PROTOCOL-ATTACK`, `LFI`, `RFI`, `RCE`, `PHP`, `NODEJS`, `XSS`, `SQLI`, `FIX`, `JAVA`, `MS-ThreatIntel-WebShells`, `MS-ThreatIntel-AppSec`, `MS-ThreatIntel-SQLI`, `MS-ThreatIntel-CVEs` and `MS-ThreatIntel-XSS`.\n"}},"type":"object","required":["ruleGroupName"]},"azure:waf/PolicyManagedRulesManagedRuleSet:PolicyManagedRulesManagedRuleSet":{"properties":{"ruleGroupOverrides":{"type":"array","items":{"$ref":"#/types/azure:waf/PolicyManagedRulesManagedRuleSetRuleGroupOverride:PolicyManagedRulesManagedRuleSetRuleGroupOverride"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`ruleGroupOverride`\" pulumi-lang-dotnet=\"`RuleGroupOverride`\" pulumi-lang-go=\"`ruleGroupOverride`\" pulumi-lang-python=\"`rule_group_override`\" pulumi-lang-yaml=\"`ruleGroupOverride`\" pulumi-lang-java=\"`ruleGroupOverride`\"\u003e`rule_group_override`\u003c/span\u003e block defined below.\n"},"type":{"type":"string","description":"The rule set type. Possible values: `Microsoft_BotManagerRuleSet`, `Microsoft_DefaultRuleSet` and `OWASP`. Defaults to `OWASP`.\n"},"version":{"type":"string","description":"The rule set version. Possible values: `0.1`, `1.0`, `1.1`, `2.1`, `2.2`, `2.2.9`, `3.0`, `3.1` and `3.2`.\n"}},"type":"object","required":["version"]},"azure:waf/PolicyManagedRulesManagedRuleSetRuleGroupOverride:PolicyManagedRulesManagedRuleSetRuleGroupOverride":{"properties":{"ruleGroupName":{"type":"string","description":"The name of the Rule Group. Possible values are `BadBots`, \u003cspan pulumi-lang-nodejs=\"`crs20ProtocolViolations`\" pulumi-lang-dotnet=\"`Crs20ProtocolViolations`\" pulumi-lang-go=\"`crs20ProtocolViolations`\" pulumi-lang-python=\"`crs_20_protocol_violations`\" pulumi-lang-yaml=\"`crs20ProtocolViolations`\" pulumi-lang-java=\"`crs20ProtocolViolations`\"\u003e`crs_20_protocol_violations`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`crs21ProtocolAnomalies`\" pulumi-lang-dotnet=\"`Crs21ProtocolAnomalies`\" pulumi-lang-go=\"`crs21ProtocolAnomalies`\" pulumi-lang-python=\"`crs_21_protocol_anomalies`\" pulumi-lang-yaml=\"`crs21ProtocolAnomalies`\" pulumi-lang-java=\"`crs21ProtocolAnomalies`\"\u003e`crs_21_protocol_anomalies`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`crs23RequestLimits`\" pulumi-lang-dotnet=\"`Crs23RequestLimits`\" pulumi-lang-go=\"`crs23RequestLimits`\" pulumi-lang-python=\"`crs_23_request_limits`\" pulumi-lang-yaml=\"`crs23RequestLimits`\" pulumi-lang-java=\"`crs23RequestLimits`\"\u003e`crs_23_request_limits`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`crs30HttpPolicy`\" pulumi-lang-dotnet=\"`Crs30HttpPolicy`\" pulumi-lang-go=\"`crs30HttpPolicy`\" pulumi-lang-python=\"`crs_30_http_policy`\" pulumi-lang-yaml=\"`crs30HttpPolicy`\" pulumi-lang-java=\"`crs30HttpPolicy`\"\u003e`crs_30_http_policy`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`crs35BadRobots`\" pulumi-lang-dotnet=\"`Crs35BadRobots`\" pulumi-lang-go=\"`crs35BadRobots`\" pulumi-lang-python=\"`crs_35_bad_robots`\" pulumi-lang-yaml=\"`crs35BadRobots`\" pulumi-lang-java=\"`crs35BadRobots`\"\u003e`crs_35_bad_robots`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`crs40GenericAttacks`\" pulumi-lang-dotnet=\"`Crs40GenericAttacks`\" pulumi-lang-go=\"`crs40GenericAttacks`\" pulumi-lang-python=\"`crs_40_generic_attacks`\" pulumi-lang-yaml=\"`crs40GenericAttacks`\" pulumi-lang-java=\"`crs40GenericAttacks`\"\u003e`crs_40_generic_attacks`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`crs41SqlInjectionAttacks`\" pulumi-lang-dotnet=\"`Crs41SqlInjectionAttacks`\" pulumi-lang-go=\"`crs41SqlInjectionAttacks`\" pulumi-lang-python=\"`crs_41_sql_injection_attacks`\" pulumi-lang-yaml=\"`crs41SqlInjectionAttacks`\" pulumi-lang-java=\"`crs41SqlInjectionAttacks`\"\u003e`crs_41_sql_injection_attacks`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`crs41XssAttacks`\" pulumi-lang-dotnet=\"`Crs41XssAttacks`\" pulumi-lang-go=\"`crs41XssAttacks`\" pulumi-lang-python=\"`crs_41_xss_attacks`\" pulumi-lang-yaml=\"`crs41XssAttacks`\" pulumi-lang-java=\"`crs41XssAttacks`\"\u003e`crs_41_xss_attacks`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`crs42TightSecurity`\" pulumi-lang-dotnet=\"`Crs42TightSecurity`\" pulumi-lang-go=\"`crs42TightSecurity`\" pulumi-lang-python=\"`crs_42_tight_security`\" pulumi-lang-yaml=\"`crs42TightSecurity`\" pulumi-lang-java=\"`crs42TightSecurity`\"\u003e`crs_42_tight_security`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`crs45Trojans`\" pulumi-lang-dotnet=\"`Crs45Trojans`\" pulumi-lang-go=\"`crs45Trojans`\" pulumi-lang-python=\"`crs_45_trojans`\" pulumi-lang-yaml=\"`crs45Trojans`\" pulumi-lang-java=\"`crs45Trojans`\"\u003e`crs_45_trojans`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`crs49InboundBlocking`\" pulumi-lang-dotnet=\"`Crs49InboundBlocking`\" pulumi-lang-go=\"`crs49InboundBlocking`\" pulumi-lang-python=\"`crs_49_inbound_blocking`\" pulumi-lang-yaml=\"`crs49InboundBlocking`\" pulumi-lang-java=\"`crs49InboundBlocking`\"\u003e`crs_49_inbound_blocking`\u003c/span\u003e, `General`, `GoodBots`, `KnownBadBots`, `Known-CVEs`, `REQUEST-911-METHOD-ENFORCEMENT`, `REQUEST-913-SCANNER-DETECTION`, `REQUEST-920-PROTOCOL-ENFORCEMENT`, `REQUEST-921-PROTOCOL-ATTACK`, `REQUEST-930-APPLICATION-ATTACK-LFI`, `REQUEST-931-APPLICATION-ATTACK-RFI`, `REQUEST-932-APPLICATION-ATTACK-RCE`, `REQUEST-933-APPLICATION-ATTACK-PHP`, `REQUEST-941-APPLICATION-ATTACK-XSS`, `REQUEST-942-APPLICATION-ATTACK-SQLI`, `REQUEST-943-APPLICATION-ATTACK-SESSION-FIXATION`, `REQUEST-944-APPLICATION-ATTACK-JAVA`, `UnknownBots`, `METHOD-ENFORCEMENT`, `PROTOCOL-ENFORCEMENT`, `PROTOCOL-ATTACK`, `LFI`, `RFI`, `RCE`, `PHP`, `NODEJS`, `XSS`, `SQLI`, `FIX`, `JAVA`, `MS-ThreatIntel-WebShells`, `MS-ThreatIntel-AppSec`, `MS-ThreatIntel-SQLI`, `MS-ThreatIntel-CVEs` and `MS-ThreatIntel-XSS`.\n"},"rules":{"type":"array","items":{"$ref":"#/types/azure:waf/PolicyManagedRulesManagedRuleSetRuleGroupOverrideRule:PolicyManagedRulesManagedRuleSetRuleGroupOverrideRule"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`rule`\" pulumi-lang-dotnet=\"`Rule`\" pulumi-lang-go=\"`rule`\" pulumi-lang-python=\"`rule`\" pulumi-lang-yaml=\"`rule`\" pulumi-lang-java=\"`rule`\"\u003e`rule`\u003c/span\u003e block defined below.\n"}},"type":"object","required":["ruleGroupName"]},"azure:waf/PolicyManagedRulesManagedRuleSetRuleGroupOverrideRule:PolicyManagedRulesManagedRuleSetRuleGroupOverrideRule":{"properties":{"action":{"type":"string","description":"Describes the override action to be applied when rule matches. Possible values are `Allow`, `AnomalyScoring`, `Block`, `JSChallenge` and `Log`. `JSChallenge` is only valid for rulesets of type `Microsoft_BotManagerRuleSet`.\n"},"enabled":{"type":"boolean","description":"Describes if the managed rule is in enabled state or disabled state. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"id":{"type":"string","description":"Identifier for the managed rule.\n"}},"type":"object","required":["id"]},"azure:waf/PolicyPolicySettings:PolicyPolicySettings":{"properties":{"enabled":{"type":"boolean","description":"Describes if the policy is in enabled state or disabled state. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"fileUploadEnforcement":{"type":"boolean","description":"Whether the firewall should block a request with upload size greater then \u003cspan pulumi-lang-nodejs=\"`fileUploadLimitInMb`\" pulumi-lang-dotnet=\"`FileUploadLimitInMb`\" pulumi-lang-go=\"`fileUploadLimitInMb`\" pulumi-lang-python=\"`file_upload_limit_in_mb`\" pulumi-lang-yaml=\"`fileUploadLimitInMb`\" pulumi-lang-java=\"`fileUploadLimitInMb`\"\u003e`file_upload_limit_in_mb`\u003c/span\u003e.\n"},"fileUploadLimitInMb":{"type":"integer","description":"The File Upload Limit in MB. Accepted values are in the range \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`4000`\" pulumi-lang-dotnet=\"`4000`\" pulumi-lang-go=\"`4000`\" pulumi-lang-python=\"`4000`\" pulumi-lang-yaml=\"`4000`\" pulumi-lang-java=\"`4000`\"\u003e`4000`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`100`\" pulumi-lang-dotnet=\"`100`\" pulumi-lang-go=\"`100`\" pulumi-lang-python=\"`100`\" pulumi-lang-yaml=\"`100`\" pulumi-lang-java=\"`100`\"\u003e`100`\u003c/span\u003e.\n"},"jsChallengeCookieExpirationInMinutes":{"type":"integer","description":"Specifies the JavaScript challenge cookie validity lifetime in minutes. The user is challenged after the lifetime expires. Accepted values are in the range \u003cspan pulumi-lang-nodejs=\"`5`\" pulumi-lang-dotnet=\"`5`\" pulumi-lang-go=\"`5`\" pulumi-lang-python=\"`5`\" pulumi-lang-yaml=\"`5`\" pulumi-lang-java=\"`5`\"\u003e`5`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`1440`\" pulumi-lang-dotnet=\"`1440`\" pulumi-lang-go=\"`1440`\" pulumi-lang-python=\"`1440`\" pulumi-lang-yaml=\"`1440`\" pulumi-lang-java=\"`1440`\"\u003e`1440`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`30`\" pulumi-lang-dotnet=\"`30`\" pulumi-lang-go=\"`30`\" pulumi-lang-python=\"`30`\" pulumi-lang-yaml=\"`30`\" pulumi-lang-java=\"`30`\"\u003e`30`\u003c/span\u003e.\n"},"logScrubbing":{"$ref":"#/types/azure:waf/PolicyPolicySettingsLogScrubbing:PolicyPolicySettingsLogScrubbing","description":"One \u003cspan pulumi-lang-nodejs=\"`logScrubbing`\" pulumi-lang-dotnet=\"`LogScrubbing`\" pulumi-lang-go=\"`logScrubbing`\" pulumi-lang-python=\"`log_scrubbing`\" pulumi-lang-yaml=\"`logScrubbing`\" pulumi-lang-java=\"`logScrubbing`\"\u003e`log_scrubbing`\u003c/span\u003e block as defined below.\n"},"maxRequestBodySizeInKb":{"type":"integer","description":"The Maximum Request Body Size in KB. Accepted values are in the range \u003cspan pulumi-lang-nodejs=\"`8`\" pulumi-lang-dotnet=\"`8`\" pulumi-lang-go=\"`8`\" pulumi-lang-python=\"`8`\" pulumi-lang-yaml=\"`8`\" pulumi-lang-java=\"`8`\"\u003e`8`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`2000`\" pulumi-lang-dotnet=\"`2000`\" pulumi-lang-go=\"`2000`\" pulumi-lang-python=\"`2000`\" pulumi-lang-yaml=\"`2000`\" pulumi-lang-java=\"`2000`\"\u003e`2000`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`128`\" pulumi-lang-dotnet=\"`128`\" pulumi-lang-go=\"`128`\" pulumi-lang-python=\"`128`\" pulumi-lang-yaml=\"`128`\" pulumi-lang-java=\"`128`\"\u003e`128`\u003c/span\u003e.\n"},"mode":{"type":"string","description":"Describes if it is in detection mode or prevention mode at the policy level. Valid values are `Detection` and `Prevention`. Defaults to `Prevention`.\n"},"requestBodyCheck":{"type":"boolean","description":"Is Request Body Inspection enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"requestBodyEnforcement":{"type":"boolean","description":"Whether the firewall should block a request with body size greater then \u003cspan pulumi-lang-nodejs=\"`maxRequestBodySizeInKb`\" pulumi-lang-dotnet=\"`MaxRequestBodySizeInKb`\" pulumi-lang-go=\"`maxRequestBodySizeInKb`\" pulumi-lang-python=\"`max_request_body_size_in_kb`\" pulumi-lang-yaml=\"`maxRequestBodySizeInKb`\" pulumi-lang-java=\"`maxRequestBodySizeInKb`\"\u003e`max_request_body_size_in_kb`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"requestBodyInspectLimitInKb":{"type":"integer","description":"Specifies the maximum request body inspection limit in KB for the Web Application Firewall. Defaults to \u003cspan pulumi-lang-nodejs=\"`128`\" pulumi-lang-dotnet=\"`128`\" pulumi-lang-go=\"`128`\" pulumi-lang-python=\"`128`\" pulumi-lang-yaml=\"`128`\" pulumi-lang-java=\"`128`\"\u003e`128`\u003c/span\u003e.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["fileUploadEnforcement"]}}},"azure:waf/PolicyPolicySettingsLogScrubbing:PolicyPolicySettingsLogScrubbing":{"properties":{"enabled":{"type":"boolean","description":"Whether the log scrubbing is enabled or disabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"rules":{"type":"array","items":{"$ref":"#/types/azure:waf/PolicyPolicySettingsLogScrubbingRule:PolicyPolicySettingsLogScrubbingRule"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`scrubbingRule`\" pulumi-lang-dotnet=\"`ScrubbingRule`\" pulumi-lang-go=\"`scrubbingRule`\" pulumi-lang-python=\"`scrubbing_rule`\" pulumi-lang-yaml=\"`scrubbingRule`\" pulumi-lang-java=\"`scrubbingRule`\"\u003e`scrubbing_rule`\u003c/span\u003e blocks as define below.\n"}},"type":"object"},"azure:waf/PolicyPolicySettingsLogScrubbingRule:PolicyPolicySettingsLogScrubbingRule":{"properties":{"enabled":{"type":"boolean","description":"Describes if the managed rule is in enabled state or disabled state. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"matchVariable":{"type":"string"},"selector":{"type":"string","description":"When matchVariable is a collection, operator used to specify which elements in the collection this rule applies to.\n"},"selectorMatchOperator":{"type":"string"}},"type":"object","required":["matchVariable"]},"azure:webpubsub/HubEventHandler:HubEventHandler":{"properties":{"auth":{"$ref":"#/types/azure:webpubsub/HubEventHandlerAuth:HubEventHandlerAuth","description":"An \u003cspan pulumi-lang-nodejs=\"`auth`\" pulumi-lang-dotnet=\"`Auth`\" pulumi-lang-go=\"`auth`\" pulumi-lang-python=\"`auth`\" pulumi-lang-yaml=\"`auth`\" pulumi-lang-java=\"`auth`\"\u003e`auth`\u003c/span\u003e block as defined below.\n"},"systemEvents":{"type":"array","items":{"type":"string"},"description":"Specifies the list of system events. Supported values are \u003cspan pulumi-lang-nodejs=\"`connect`\" pulumi-lang-dotnet=\"`Connect`\" pulumi-lang-go=\"`connect`\" pulumi-lang-python=\"`connect`\" pulumi-lang-yaml=\"`connect`\" pulumi-lang-java=\"`connect`\"\u003e`connect`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`connected`\" pulumi-lang-dotnet=\"`Connected`\" pulumi-lang-go=\"`connected`\" pulumi-lang-python=\"`connected`\" pulumi-lang-yaml=\"`connected`\" pulumi-lang-java=\"`connected`\"\u003e`connected`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`disconnected`\" pulumi-lang-dotnet=\"`Disconnected`\" pulumi-lang-go=\"`disconnected`\" pulumi-lang-python=\"`disconnected`\" pulumi-lang-yaml=\"`disconnected`\" pulumi-lang-java=\"`disconnected`\"\u003e`disconnected`\u003c/span\u003e.\n"},"urlTemplate":{"type":"string","description":"The Event Handler URL Template. Two predefined parameters `{hub}` and `{event}` are available to use in the template. The value of the EventHandler URL is dynamically calculated when the client request comes in. Example: `http://example.com/api/{hub}/{event}`.\n"},"userEventPattern":{"type":"string","description":"Specifies the matching event names. There are 3 kind of patterns supported: * `*` matches any event name * `,` Combine multiple events with `,` for example `event1,event2`, it matches event \u003cspan pulumi-lang-nodejs=\"`event1`\" pulumi-lang-dotnet=\"`Event1`\" pulumi-lang-go=\"`event1`\" pulumi-lang-python=\"`event1`\" pulumi-lang-yaml=\"`event1`\" pulumi-lang-java=\"`event1`\"\u003e`event1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`event2`\" pulumi-lang-dotnet=\"`Event2`\" pulumi-lang-go=\"`event2`\" pulumi-lang-python=\"`event2`\" pulumi-lang-yaml=\"`event2`\" pulumi-lang-java=\"`event2`\"\u003e`event2`\u003c/span\u003e * The single event name, for example \u003cspan pulumi-lang-nodejs=\"`event1`\" pulumi-lang-dotnet=\"`Event1`\" pulumi-lang-go=\"`event1`\" pulumi-lang-python=\"`event1`\" pulumi-lang-yaml=\"`event1`\" pulumi-lang-java=\"`event1`\"\u003e`event1`\u003c/span\u003e, it matches \u003cspan pulumi-lang-nodejs=\"`event1`\" pulumi-lang-dotnet=\"`Event1`\" pulumi-lang-go=\"`event1`\" pulumi-lang-python=\"`event1`\" pulumi-lang-yaml=\"`event1`\" pulumi-lang-java=\"`event1`\"\u003e`event1`\u003c/span\u003e.\n"}},"type":"object","required":["urlTemplate"]},"azure:webpubsub/HubEventHandlerAuth:HubEventHandlerAuth":{"properties":{"managedIdentityId":{"type":"string","description":"Specify the identity ID of the target resource.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`managedIdentityId`\" pulumi-lang-dotnet=\"`ManagedIdentityId`\" pulumi-lang-go=\"`managedIdentityId`\" pulumi-lang-python=\"`managed_identity_id`\" pulumi-lang-yaml=\"`managedIdentityId`\" pulumi-lang-java=\"`managedIdentityId`\"\u003e`managed_identity_id`\u003c/span\u003e is required if the auth block is defined\n"}},"type":"object","required":["managedIdentityId"]},"azure:webpubsub/HubEventListener:HubEventListener":{"properties":{"eventhubName":{"type":"string","description":"Specifies the event hub name to receive the events.\n"},"eventhubNamespaceName":{"type":"string","description":"Specifies the event hub namespace name to receive the events.\n"},"systemEventNameFilters":{"type":"array","items":{"type":"string"},"description":"Specifies the list of system events. Supported values are \u003cspan pulumi-lang-nodejs=\"`connected`\" pulumi-lang-dotnet=\"`Connected`\" pulumi-lang-go=\"`connected`\" pulumi-lang-python=\"`connected`\" pulumi-lang-yaml=\"`connected`\" pulumi-lang-java=\"`connected`\"\u003e`connected`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`disconnected`\" pulumi-lang-dotnet=\"`Disconnected`\" pulumi-lang-go=\"`disconnected`\" pulumi-lang-python=\"`disconnected`\" pulumi-lang-yaml=\"`disconnected`\" pulumi-lang-java=\"`disconnected`\"\u003e`disconnected`\u003c/span\u003e.\n"},"userEventNameFilters":{"type":"array","items":{"type":"string"},"description":"Specifies the list of matching user event names. `[\"*\"]` can be used to match all events.\n"}},"type":"object","required":["eventhubName","eventhubNamespaceName"]},"azure:webpubsub/NetworkAclPrivateEndpoint:NetworkAclPrivateEndpoint":{"properties":{"allowedRequestTypes":{"type":"array","items":{"type":"string"},"description":"The allowed request types for the Private Endpoint Connection. Possible values are `ClientConnection`, `ServerConnection`, `RESTAPI` and `Trace`.\n"},"deniedRequestTypes":{"type":"array","items":{"type":"string"},"description":"The denied request types for the Private Endpoint Connection. Possible values are `ClientConnection`, `ServerConnection`, `RESTAPI` and `Trace`.\n\n\u003e **Note:** When \u003cspan pulumi-lang-nodejs=\"`defaultAction`\" pulumi-lang-dotnet=\"`DefaultAction`\" pulumi-lang-go=\"`defaultAction`\" pulumi-lang-python=\"`default_action`\" pulumi-lang-yaml=\"`defaultAction`\" pulumi-lang-java=\"`defaultAction`\"\u003e`default_action`\u003c/span\u003e is `Allow`, \u003cspan pulumi-lang-nodejs=\"`allowedRequestTypes`\" pulumi-lang-dotnet=\"`AllowedRequestTypes`\" pulumi-lang-go=\"`allowedRequestTypes`\" pulumi-lang-python=\"`allowed_request_types`\" pulumi-lang-yaml=\"`allowedRequestTypes`\" pulumi-lang-java=\"`allowedRequestTypes`\"\u003e`allowed_request_types`\u003c/span\u003ecannot be set. When \u003cspan pulumi-lang-nodejs=\"`defaultAction`\" pulumi-lang-dotnet=\"`DefaultAction`\" pulumi-lang-go=\"`defaultAction`\" pulumi-lang-python=\"`default_action`\" pulumi-lang-yaml=\"`defaultAction`\" pulumi-lang-java=\"`defaultAction`\"\u003e`default_action`\u003c/span\u003e is `Deny`, \u003cspan pulumi-lang-nodejs=\"`deniedRequestTypes`\" pulumi-lang-dotnet=\"`DeniedRequestTypes`\" pulumi-lang-go=\"`deniedRequestTypes`\" pulumi-lang-python=\"`denied_request_types`\" pulumi-lang-yaml=\"`deniedRequestTypes`\" pulumi-lang-java=\"`deniedRequestTypes`\"\u003e`denied_request_types`\u003c/span\u003ecannot be set.\n"},"id":{"type":"string","description":"The ID of the Private Endpoint which is based on the Web Pubsub service.\n"}},"type":"object","required":["id"]},"azure:webpubsub/NetworkAclPublicNetwork:NetworkAclPublicNetwork":{"properties":{"allowedRequestTypes":{"type":"array","items":{"type":"string"},"description":"The allowed request types for the public network. Possible values are `ClientConnection`, `ServerConnection`, `RESTAPI` and `Trace`.\n"},"deniedRequestTypes":{"type":"array","items":{"type":"string"},"description":"The denied request types for the public network. Possible values are `ClientConnection`, `ServerConnection`, `RESTAPI` and `Trace`.\n\n\u003e **Note:** When \u003cspan pulumi-lang-nodejs=\"`defaultAction`\" pulumi-lang-dotnet=\"`DefaultAction`\" pulumi-lang-go=\"`defaultAction`\" pulumi-lang-python=\"`default_action`\" pulumi-lang-yaml=\"`defaultAction`\" pulumi-lang-java=\"`defaultAction`\"\u003e`default_action`\u003c/span\u003e is `Allow`, \u003cspan pulumi-lang-nodejs=\"`allowedRequestTypes`\" pulumi-lang-dotnet=\"`AllowedRequestTypes`\" pulumi-lang-go=\"`allowedRequestTypes`\" pulumi-lang-python=\"`allowed_request_types`\" pulumi-lang-yaml=\"`allowedRequestTypes`\" pulumi-lang-java=\"`allowedRequestTypes`\"\u003e`allowed_request_types`\u003c/span\u003ecannot be set. When \u003cspan pulumi-lang-nodejs=\"`defaultAction`\" pulumi-lang-dotnet=\"`DefaultAction`\" pulumi-lang-go=\"`defaultAction`\" pulumi-lang-python=\"`default_action`\" pulumi-lang-yaml=\"`defaultAction`\" pulumi-lang-java=\"`defaultAction`\"\u003e`default_action`\u003c/span\u003e is `Deny`, \u003cspan pulumi-lang-nodejs=\"`deniedRequestTypes`\" pulumi-lang-dotnet=\"`DeniedRequestTypes`\" pulumi-lang-go=\"`deniedRequestTypes`\" pulumi-lang-python=\"`denied_request_types`\" pulumi-lang-yaml=\"`deniedRequestTypes`\" pulumi-lang-java=\"`deniedRequestTypes`\"\u003e`denied_request_types`\u003c/span\u003ecannot be set.\n"}},"type":"object"},"azure:webpubsub/ServiceIdentity:ServiceIdentity":{"properties":{"identityIds":{"type":"array","items":{"type":"string"},"description":"Specifies a list of User Assigned Managed Identity IDs to be assigned to this Web PubSub.\n\n\u003e **Note:** This is required when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to `UserAssigned`\n"},"principalId":{"type":"string","description":"The Principal ID associated with this Managed Service Identity.\n"},"tenantId":{"type":"string","description":"The Tenant ID associated with this Managed Service Identity.\n"},"type":{"type":"string","description":"Specifies the type of Managed Service Identity that should be configured on this Web PubSub. Possible values are `SystemAssigned`, `UserAssigned`.\n"}},"type":"object","required":["type"],"language":{"nodejs":{"requiredOutputs":["principalId","tenantId","type"]}}},"azure:webpubsub/ServiceLiveTrace:ServiceLiveTrace":{"properties":{"connectivityLogsEnabled":{"type":"boolean","description":"Whether the log category `ConnectivityLogs` is enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e\n"},"enabled":{"type":"boolean","description":"Whether the live trace is enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"httpRequestLogsEnabled":{"type":"boolean","description":"Whether the log category `HttpRequestLogs` is enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e\n"},"messagingLogsEnabled":{"type":"boolean","description":"Whether the log category `MessagingLogs` is enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e\n"}},"type":"object"},"azure:webpubsub/SocketioIdentity:SocketioIdentity":{"properties":{"identityIds":{"type":"array","items":{"type":"string"},"description":"Specifies a list of User Assigned Managed Identity IDs for this Web PubSub Service.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`identityIds`\" pulumi-lang-dotnet=\"`IdentityIds`\" pulumi-lang-go=\"`identityIds`\" pulumi-lang-python=\"`identity_ids`\" pulumi-lang-yaml=\"`identityIds`\" pulumi-lang-java=\"`identityIds`\"\u003e`identity_ids`\u003c/span\u003e is required when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is `UserAssigned`.\n"},"principalId":{"type":"string"},"tenantId":{"type":"string"},"type":{"type":"string","description":"The type of Managed Identity for this Web PubSub Service. Possible Values are `SystemAssigned` and `UserAssigned`.\n"}},"type":"object","required":["type"],"language":{"nodejs":{"requiredOutputs":["principalId","tenantId","type"]}}},"azure:webpubsub/SocketioSku:SocketioSku":{"properties":{"capacity":{"type":"integer","description":"The number of units associated with this Web PubSub Service. Defaults to \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e. Possible values are \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`4`\" pulumi-lang-dotnet=\"`4`\" pulumi-lang-go=\"`4`\" pulumi-lang-python=\"`4`\" pulumi-lang-yaml=\"`4`\" pulumi-lang-java=\"`4`\"\u003e`4`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`5`\" pulumi-lang-dotnet=\"`5`\" pulumi-lang-go=\"`5`\" pulumi-lang-python=\"`5`\" pulumi-lang-yaml=\"`5`\" pulumi-lang-java=\"`5`\"\u003e`5`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`6`\" pulumi-lang-dotnet=\"`6`\" pulumi-lang-go=\"`6`\" pulumi-lang-python=\"`6`\" pulumi-lang-yaml=\"`6`\" pulumi-lang-java=\"`6`\"\u003e`6`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`7`\" pulumi-lang-dotnet=\"`7`\" pulumi-lang-go=\"`7`\" pulumi-lang-python=\"`7`\" pulumi-lang-yaml=\"`7`\" pulumi-lang-java=\"`7`\"\u003e`7`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`8`\" pulumi-lang-dotnet=\"`8`\" pulumi-lang-go=\"`8`\" pulumi-lang-python=\"`8`\" pulumi-lang-yaml=\"`8`\" pulumi-lang-java=\"`8`\"\u003e`8`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`9`\" pulumi-lang-dotnet=\"`9`\" pulumi-lang-go=\"`9`\" pulumi-lang-python=\"`9`\" pulumi-lang-yaml=\"`9`\" pulumi-lang-java=\"`9`\"\u003e`9`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`10`\" pulumi-lang-dotnet=\"`10`\" pulumi-lang-go=\"`10`\" pulumi-lang-python=\"`10`\" pulumi-lang-yaml=\"`10`\" pulumi-lang-java=\"`10`\"\u003e`10`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`20`\" pulumi-lang-dotnet=\"`20`\" pulumi-lang-go=\"`20`\" pulumi-lang-python=\"`20`\" pulumi-lang-yaml=\"`20`\" pulumi-lang-java=\"`20`\"\u003e`20`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`30`\" pulumi-lang-dotnet=\"`30`\" pulumi-lang-go=\"`30`\" pulumi-lang-python=\"`30`\" pulumi-lang-yaml=\"`30`\" pulumi-lang-java=\"`30`\"\u003e`30`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`40`\" pulumi-lang-dotnet=\"`40`\" pulumi-lang-go=\"`40`\" pulumi-lang-python=\"`40`\" pulumi-lang-yaml=\"`40`\" pulumi-lang-java=\"`40`\"\u003e`40`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`50`\" pulumi-lang-dotnet=\"`50`\" pulumi-lang-go=\"`50`\" pulumi-lang-python=\"`50`\" pulumi-lang-yaml=\"`50`\" pulumi-lang-java=\"`50`\"\u003e`50`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`60`\" pulumi-lang-dotnet=\"`60`\" pulumi-lang-go=\"`60`\" pulumi-lang-python=\"`60`\" pulumi-lang-yaml=\"`60`\" pulumi-lang-java=\"`60`\"\u003e`60`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`70`\" pulumi-lang-dotnet=\"`70`\" pulumi-lang-go=\"`70`\" pulumi-lang-python=\"`70`\" pulumi-lang-yaml=\"`70`\" pulumi-lang-java=\"`70`\"\u003e`70`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`80`\" pulumi-lang-dotnet=\"`80`\" pulumi-lang-go=\"`80`\" pulumi-lang-python=\"`80`\" pulumi-lang-yaml=\"`80`\" pulumi-lang-java=\"`80`\"\u003e`80`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`90`\" pulumi-lang-dotnet=\"`90`\" pulumi-lang-go=\"`90`\" pulumi-lang-python=\"`90`\" pulumi-lang-yaml=\"`90`\" pulumi-lang-java=\"`90`\"\u003e`90`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`100`\" pulumi-lang-dotnet=\"`100`\" pulumi-lang-go=\"`100`\" pulumi-lang-python=\"`100`\" pulumi-lang-yaml=\"`100`\" pulumi-lang-java=\"`100`\"\u003e`100`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`200`\" pulumi-lang-dotnet=\"`200`\" pulumi-lang-go=\"`200`\" pulumi-lang-python=\"`200`\" pulumi-lang-yaml=\"`200`\" pulumi-lang-java=\"`200`\"\u003e`200`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`300`\" pulumi-lang-dotnet=\"`300`\" pulumi-lang-go=\"`300`\" pulumi-lang-python=\"`300`\" pulumi-lang-yaml=\"`300`\" pulumi-lang-java=\"`300`\"\u003e`300`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`400`\" pulumi-lang-dotnet=\"`400`\" pulumi-lang-go=\"`400`\" pulumi-lang-python=\"`400`\" pulumi-lang-yaml=\"`400`\" pulumi-lang-java=\"`400`\"\u003e`400`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`500`\" pulumi-lang-dotnet=\"`500`\" pulumi-lang-go=\"`500`\" pulumi-lang-python=\"`500`\" pulumi-lang-yaml=\"`500`\" pulumi-lang-java=\"`500`\"\u003e`500`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`600`\" pulumi-lang-dotnet=\"`600`\" pulumi-lang-go=\"`600`\" pulumi-lang-python=\"`600`\" pulumi-lang-yaml=\"`600`\" pulumi-lang-java=\"`600`\"\u003e`600`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`700`\" pulumi-lang-dotnet=\"`700`\" pulumi-lang-go=\"`700`\" pulumi-lang-python=\"`700`\" pulumi-lang-yaml=\"`700`\" pulumi-lang-java=\"`700`\"\u003e`700`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`800`\" pulumi-lang-dotnet=\"`800`\" pulumi-lang-go=\"`800`\" pulumi-lang-python=\"`800`\" pulumi-lang-yaml=\"`800`\" pulumi-lang-java=\"`800`\"\u003e`800`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`900`\" pulumi-lang-dotnet=\"`900`\" pulumi-lang-go=\"`900`\" pulumi-lang-python=\"`900`\" pulumi-lang-yaml=\"`900`\" pulumi-lang-java=\"`900`\"\u003e`900`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`1000`\" pulumi-lang-dotnet=\"`1000`\" pulumi-lang-go=\"`1000`\" pulumi-lang-python=\"`1000`\" pulumi-lang-yaml=\"`1000`\" pulumi-lang-java=\"`1000`\"\u003e`1000`\u003c/span\u003e.\n\n\u003e **Note:** The valid range depends on which \u003cspan pulumi-lang-nodejs=\"`sku`\" pulumi-lang-dotnet=\"`Sku`\" pulumi-lang-go=\"`sku`\" pulumi-lang-python=\"`sku`\" pulumi-lang-yaml=\"`sku`\" pulumi-lang-java=\"`sku`\"\u003e`sku`\u003c/span\u003e is used. For `Free_F1` only \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e is supported, for `Standard_S1` and `Premium_P1` \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e through \u003cspan pulumi-lang-nodejs=\"`100`\" pulumi-lang-dotnet=\"`100`\" pulumi-lang-go=\"`100`\" pulumi-lang-python=\"`100`\" pulumi-lang-yaml=\"`100`\" pulumi-lang-java=\"`100`\"\u003e`100`\u003c/span\u003e are supported, and for `Premium_P2` the minimum capacity is \u003cspan pulumi-lang-nodejs=\"`100`\" pulumi-lang-dotnet=\"`100`\" pulumi-lang-go=\"`100`\" pulumi-lang-python=\"`100`\" pulumi-lang-yaml=\"`100`\" pulumi-lang-java=\"`100`\"\u003e`100`\u003c/span\u003e.\n"},"name":{"type":"string","description":"The SKU to use for this Web PubSub Service. Possible values are `Free_F1`, `Standard_S1`, `Premium_P1`, and `Premium_P2`.\n"}},"type":"object","required":["name"]},"azure:webpubsub/getPrivateLinkResourceSharedPrivateLinkResourceType:getPrivateLinkResourceSharedPrivateLinkResourceType":{"properties":{"description":{"type":"string","description":"The description of the resource type that has been onboarded to private link service.\n"},"subresourceName":{"type":"string","description":"The  name for the resource that has been onboarded to private link service.\n"}},"type":"object","required":["description","subresourceName"],"language":{"nodejs":{"requiredInputs":[]}}},"azure:workloadssap/DiscoveryVirtualInstanceIdentity:DiscoveryVirtualInstanceIdentity":{"properties":{"identityIds":{"type":"array","items":{"type":"string"},"description":"A list of User Assigned Managed Identity IDs to be assigned to this SAP Discovery Virtual Instance.\n"},"type":{"type":"string","description":"The type of Managed Service Identity that should be configured on this SAP Discovery Virtual Instance. The only possible value is `UserAssigned`.\n"}},"type":"object","required":["identityIds","type"]},"azure:workloadssap/SingleNodeVirtualInstanceIdentity:SingleNodeVirtualInstanceIdentity":{"properties":{"identityIds":{"type":"array","items":{"type":"string"},"description":"A list of User Assigned Managed Identity IDs to be assigned to this SAP Single Node Virtual Instance.\n"},"type":{"type":"string","description":"The type of Managed Service Identity that should be configured on this SAP Single Node Virtual Instance. The only possible value is `UserAssigned`.\n"}},"type":"object","required":["identityIds","type"]},"azure:workloadssap/SingleNodeVirtualInstanceSingleServerConfiguration:SingleNodeVirtualInstanceSingleServerConfiguration":{"properties":{"appResourceGroupName":{"type":"string","description":"The name of the application Resource Group where SAP system resources will be deployed. Changing this forces a new resource to be created.\n\n\u003e **Note:** While creating an SAP Single Node Virtual Instance, the service will provision the extra SAP systems/components in the \u003cspan pulumi-lang-nodejs=\"`appResourceGroupName`\" pulumi-lang-dotnet=\"`AppResourceGroupName`\" pulumi-lang-go=\"`appResourceGroupName`\" pulumi-lang-python=\"`app_resource_group_name`\" pulumi-lang-yaml=\"`appResourceGroupName`\" pulumi-lang-java=\"`appResourceGroupName`\"\u003e`app_resource_group_name`\u003c/span\u003e that are not defined in the HCL Configuration. At this time, if the \u003cspan pulumi-lang-nodejs=\"`appResourceGroupName`\" pulumi-lang-dotnet=\"`AppResourceGroupName`\" pulumi-lang-go=\"`appResourceGroupName`\" pulumi-lang-python=\"`app_resource_group_name`\" pulumi-lang-yaml=\"`appResourceGroupName`\" pulumi-lang-java=\"`appResourceGroupName`\"\u003e`app_resource_group_name`\u003c/span\u003e is different from the Resource Group where SAP Single Node Virtual Instance exists, you can set \u003cspan pulumi-lang-nodejs=\"`preventDeletionIfContainsResources`\" pulumi-lang-dotnet=\"`PreventDeletionIfContainsResources`\" pulumi-lang-go=\"`preventDeletionIfContainsResources`\" pulumi-lang-python=\"`prevent_deletion_if_contains_resources`\" pulumi-lang-yaml=\"`preventDeletionIfContainsResources`\" pulumi-lang-java=\"`preventDeletionIfContainsResources`\"\u003e`prevent_deletion_if_contains_resources`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e to delete all resources defined in the HCL Configuration and the resources created in the \u003cspan pulumi-lang-nodejs=\"`appResourceGroupName`\" pulumi-lang-dotnet=\"`AppResourceGroupName`\" pulumi-lang-go=\"`appResourceGroupName`\" pulumi-lang-python=\"`app_resource_group_name`\" pulumi-lang-yaml=\"`appResourceGroupName`\" pulumi-lang-java=\"`appResourceGroupName`\"\u003e`app_resource_group_name`\u003c/span\u003e with `terraform destroy`. However, if the \u003cspan pulumi-lang-nodejs=\"`appResourceGroupName`\" pulumi-lang-dotnet=\"`AppResourceGroupName`\" pulumi-lang-go=\"`appResourceGroupName`\" pulumi-lang-python=\"`app_resource_group_name`\" pulumi-lang-yaml=\"`appResourceGroupName`\" pulumi-lang-java=\"`appResourceGroupName`\"\u003e`app_resource_group_name`\u003c/span\u003e is the same with the Resource Group where SAP Single Node Virtual Instance exists, some resources, such as the subnet defined in the HCL Configuration, cannot be deleted with `terraform destroy` since the resources defined in the HCL Configuration are being referenced by the SAP system/component. In this case, you have to manually delete the SAP system/component before deleting the resources in the HCL Configuration.\n","willReplaceOnChanges":true},"databaseType":{"type":"string","description":"The supported SAP database type. Possible values are `DB2` and `HANA`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"diskVolumeConfigurations":{"type":"array","items":{"$ref":"#/types/azure:workloadssap/SingleNodeVirtualInstanceSingleServerConfigurationDiskVolumeConfiguration:SingleNodeVirtualInstanceSingleServerConfigurationDiskVolumeConfiguration"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`diskVolumeConfiguration`\" pulumi-lang-dotnet=\"`DiskVolumeConfiguration`\" pulumi-lang-go=\"`diskVolumeConfiguration`\" pulumi-lang-python=\"`disk_volume_configuration`\" pulumi-lang-yaml=\"`diskVolumeConfiguration`\" pulumi-lang-java=\"`diskVolumeConfiguration`\"\u003e`disk_volume_configuration`\u003c/span\u003e blocks as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"secondaryIpEnabled":{"type":"boolean","description":"Specifies whether a secondary IP address should be added to the network interface on all VMs of the SAP system being deployed. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"subnetId":{"type":"string","description":"The resource ID of the Subnet for the SAP Single Node Virtual Instance. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"virtualMachineConfiguration":{"$ref":"#/types/azure:workloadssap/SingleNodeVirtualInstanceSingleServerConfigurationVirtualMachineConfiguration:SingleNodeVirtualInstanceSingleServerConfigurationVirtualMachineConfiguration","description":"A \u003cspan pulumi-lang-nodejs=\"`virtualMachineConfiguration`\" pulumi-lang-dotnet=\"`VirtualMachineConfiguration`\" pulumi-lang-go=\"`virtualMachineConfiguration`\" pulumi-lang-python=\"`virtual_machine_configuration`\" pulumi-lang-yaml=\"`virtualMachineConfiguration`\" pulumi-lang-java=\"`virtualMachineConfiguration`\"\u003e`virtual_machine_configuration`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"virtualMachineResourceNames":{"$ref":"#/types/azure:workloadssap/SingleNodeVirtualInstanceSingleServerConfigurationVirtualMachineResourceNames:SingleNodeVirtualInstanceSingleServerConfigurationVirtualMachineResourceNames","description":"A \u003cspan pulumi-lang-nodejs=\"`virtualMachineResourceNames`\" pulumi-lang-dotnet=\"`VirtualMachineResourceNames`\" pulumi-lang-go=\"`virtualMachineResourceNames`\" pulumi-lang-python=\"`virtual_machine_resource_names`\" pulumi-lang-yaml=\"`virtualMachineResourceNames`\" pulumi-lang-java=\"`virtualMachineResourceNames`\"\u003e`virtual_machine_resource_names`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["appResourceGroupName","subnetId","virtualMachineConfiguration"]},"azure:workloadssap/SingleNodeVirtualInstanceSingleServerConfigurationDiskVolumeConfiguration:SingleNodeVirtualInstanceSingleServerConfigurationDiskVolumeConfiguration":{"properties":{"numberOfDisks":{"type":"integer","description":"The total number of disks required for the concerned volume. Possible values are at least \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sizeInGb":{"type":"integer","description":"The size of the Disk in GB. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"skuName":{"type":"string","description":"The name of the Disk SKU. Possible values are `Premium_LRS`, `PremiumV2_LRS`, `Premium_ZRS`, `Standard_LRS`, `StandardSSD_LRS`, `StandardSSD_ZRS` and `UltraSSD_LRS`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"volumeName":{"type":"string","description":"Specifies the volumn name of the database disk. Possible values are \u003cspan pulumi-lang-nodejs=\"`backup`\" pulumi-lang-dotnet=\"`Backup`\" pulumi-lang-go=\"`backup`\" pulumi-lang-python=\"`backup`\" pulumi-lang-yaml=\"`backup`\" pulumi-lang-java=\"`backup`\"\u003e`backup`\u003c/span\u003e, `hana/data`, `hana/log`, `hana/shared`, \u003cspan pulumi-lang-nodejs=\"`os`\" pulumi-lang-dotnet=\"`Os`\" pulumi-lang-go=\"`os`\" pulumi-lang-python=\"`os`\" pulumi-lang-yaml=\"`os`\" pulumi-lang-java=\"`os`\"\u003e`os`\u003c/span\u003e and `usr/sap`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["numberOfDisks","sizeInGb","skuName","volumeName"]},"azure:workloadssap/SingleNodeVirtualInstanceSingleServerConfigurationVirtualMachineConfiguration:SingleNodeVirtualInstanceSingleServerConfigurationVirtualMachineConfiguration":{"properties":{"image":{"$ref":"#/types/azure:workloadssap/SingleNodeVirtualInstanceSingleServerConfigurationVirtualMachineConfigurationImage:SingleNodeVirtualInstanceSingleServerConfigurationVirtualMachineConfigurationImage","description":"An \u003cspan pulumi-lang-nodejs=\"`image`\" pulumi-lang-dotnet=\"`Image`\" pulumi-lang-go=\"`image`\" pulumi-lang-python=\"`image`\" pulumi-lang-yaml=\"`image`\" pulumi-lang-java=\"`image`\"\u003e`image`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"osProfile":{"$ref":"#/types/azure:workloadssap/SingleNodeVirtualInstanceSingleServerConfigurationVirtualMachineConfigurationOsProfile:SingleNodeVirtualInstanceSingleServerConfigurationVirtualMachineConfigurationOsProfile","description":"An \u003cspan pulumi-lang-nodejs=\"`osProfile`\" pulumi-lang-dotnet=\"`OsProfile`\" pulumi-lang-go=\"`osProfile`\" pulumi-lang-python=\"`os_profile`\" pulumi-lang-yaml=\"`osProfile`\" pulumi-lang-java=\"`osProfile`\"\u003e`os_profile`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"virtualMachineSize":{"type":"string","description":"The size of the Virtual Machine. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["image","osProfile","virtualMachineSize"]},"azure:workloadssap/SingleNodeVirtualInstanceSingleServerConfigurationVirtualMachineConfigurationImage:SingleNodeVirtualInstanceSingleServerConfigurationVirtualMachineConfigurationImage":{"properties":{"offer":{"type":"string","description":"Specifies the offer of the platform image or marketplace image used to create the virtual machine. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"publisher":{"type":"string","description":"The publisher of the Image. Possible values are `RedHat` and `SUSE`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sku":{"type":"string","description":"The SKU of the Image. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"version":{"type":"string","description":"Specifies the version of the platform image or marketplace image used to create the virtual machine. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["offer","publisher","sku","version"]},"azure:workloadssap/SingleNodeVirtualInstanceSingleServerConfigurationVirtualMachineConfigurationOsProfile:SingleNodeVirtualInstanceSingleServerConfigurationVirtualMachineConfigurationOsProfile":{"properties":{"adminUsername":{"type":"string","description":"The name of the administrator account. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sshPrivateKey":{"type":"string","description":"The SSH public key that is used to authenticate with the Virtual Machine. Changing this forces a new resource to be created.\n","secret":true,"willReplaceOnChanges":true},"sshPublicKey":{"type":"string","description":"The SSH private key that is used to authenticate with the Virtual Machine. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["adminUsername","sshPrivateKey","sshPublicKey"]},"azure:workloadssap/SingleNodeVirtualInstanceSingleServerConfigurationVirtualMachineResourceNames:SingleNodeVirtualInstanceSingleServerConfigurationVirtualMachineResourceNames":{"properties":{"dataDisks":{"type":"array","items":{"$ref":"#/types/azure:workloadssap/SingleNodeVirtualInstanceSingleServerConfigurationVirtualMachineResourceNamesDataDisk:SingleNodeVirtualInstanceSingleServerConfigurationVirtualMachineResourceNamesDataDisk"},"description":"(Optional) One or more \u003cspan pulumi-lang-nodejs=\"`dataDisk`\" pulumi-lang-dotnet=\"`DataDisk`\" pulumi-lang-go=\"`dataDisk`\" pulumi-lang-python=\"`data_disk`\" pulumi-lang-yaml=\"`dataDisk`\" pulumi-lang-java=\"`dataDisk`\"\u003e`data_disk`\u003c/span\u003e blocks as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"hostName":{"type":"string","description":"The full name of the host of the Virtual Machine. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"networkInterfaceNames":{"type":"array","items":{"type":"string"},"description":"A list of full names for the Network Interface of the Virtual Machine. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"osDiskName":{"type":"string","description":"The full name of the OS Disk attached to the Virtual Machine. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"virtualMachineName":{"type":"string","description":"The full name of the Virtual Machine in a single server SAP system. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"},"azure:workloadssap/SingleNodeVirtualInstanceSingleServerConfigurationVirtualMachineResourceNamesDataDisk:SingleNodeVirtualInstanceSingleServerConfigurationVirtualMachineResourceNamesDataDisk":{"properties":{"names":{"type":"array","items":{"type":"string"},"description":"A list of full names of Data Disks per Volume. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"volumeName":{"type":"string","description":"The name of the Volume. The only possible value is \u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\"\u003e`default`\u003c/span\u003e. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["names","volumeName"]},"azure:workloadssap/ThreeTierVirtualInstanceIdentity:ThreeTierVirtualInstanceIdentity":{"properties":{"identityIds":{"type":"array","items":{"type":"string"},"description":"A list of User Assigned Managed Identity IDs to be assigned to this SAP Three Tier Virtual Instance.\n"},"type":{"type":"string","description":"The type of Managed Service Identity that should be configured on this SAP Three Tier Virtual Instance. Only possible value is `UserAssigned`.\n"}},"type":"object","required":["identityIds","type"]},"azure:workloadssap/ThreeTierVirtualInstanceThreeTierConfiguration:ThreeTierVirtualInstanceThreeTierConfiguration":{"properties":{"appResourceGroupName":{"type":"string","description":"The name of the application Resource Group where SAP system resources will be deployed. Changing this forces a new resource to be created.\n\n\u003e **Note:** While creating an SAP Three Tier Virtual Instance, the service will provision the extra SAP systems/components in the \u003cspan pulumi-lang-nodejs=\"`appResourceGroupName`\" pulumi-lang-dotnet=\"`AppResourceGroupName`\" pulumi-lang-go=\"`appResourceGroupName`\" pulumi-lang-python=\"`app_resource_group_name`\" pulumi-lang-yaml=\"`appResourceGroupName`\" pulumi-lang-java=\"`appResourceGroupName`\"\u003e`app_resource_group_name`\u003c/span\u003e that are not defined in the HCL Configuration. At this time, if the \u003cspan pulumi-lang-nodejs=\"`appResourceGroupName`\" pulumi-lang-dotnet=\"`AppResourceGroupName`\" pulumi-lang-go=\"`appResourceGroupName`\" pulumi-lang-python=\"`app_resource_group_name`\" pulumi-lang-yaml=\"`appResourceGroupName`\" pulumi-lang-java=\"`appResourceGroupName`\"\u003e`app_resource_group_name`\u003c/span\u003e is different from the Resource Group where SAP Three Tier Virtual Instance exists, you can set \u003cspan pulumi-lang-nodejs=\"`preventDeletionIfContainsResources`\" pulumi-lang-dotnet=\"`PreventDeletionIfContainsResources`\" pulumi-lang-go=\"`preventDeletionIfContainsResources`\" pulumi-lang-python=\"`prevent_deletion_if_contains_resources`\" pulumi-lang-yaml=\"`preventDeletionIfContainsResources`\" pulumi-lang-java=\"`preventDeletionIfContainsResources`\"\u003e`prevent_deletion_if_contains_resources`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e to delete all resources defined in the HCL Configurations and the resources created in the \u003cspan pulumi-lang-nodejs=\"`appResourceGroupName`\" pulumi-lang-dotnet=\"`AppResourceGroupName`\" pulumi-lang-go=\"`appResourceGroupName`\" pulumi-lang-python=\"`app_resource_group_name`\" pulumi-lang-yaml=\"`appResourceGroupName`\" pulumi-lang-java=\"`appResourceGroupName`\"\u003e`app_resource_group_name`\u003c/span\u003e with `terraform destroy`. However, if the \u003cspan pulumi-lang-nodejs=\"`appResourceGroupName`\" pulumi-lang-dotnet=\"`AppResourceGroupName`\" pulumi-lang-go=\"`appResourceGroupName`\" pulumi-lang-python=\"`app_resource_group_name`\" pulumi-lang-yaml=\"`appResourceGroupName`\" pulumi-lang-java=\"`appResourceGroupName`\"\u003e`app_resource_group_name`\u003c/span\u003e is the same with the Resource Group where SAP Three Tier Virtual Instance exists, some resources, such as the subnet defined in the HCL Configuration, cannot be deleted with `terraform destroy` since the resources defined in the HCL Configuration are being referenced by the SAP system/component. In this case, you have to manually delete the SAP system/component before deleting the resources in the HCL Configuration.\n","willReplaceOnChanges":true},"applicationServerConfiguration":{"$ref":"#/types/azure:workloadssap/ThreeTierVirtualInstanceThreeTierConfigurationApplicationServerConfiguration:ThreeTierVirtualInstanceThreeTierConfigurationApplicationServerConfiguration","description":"An \u003cspan pulumi-lang-nodejs=\"`applicationServerConfiguration`\" pulumi-lang-dotnet=\"`ApplicationServerConfiguration`\" pulumi-lang-go=\"`applicationServerConfiguration`\" pulumi-lang-python=\"`application_server_configuration`\" pulumi-lang-yaml=\"`applicationServerConfiguration`\" pulumi-lang-java=\"`applicationServerConfiguration`\"\u003e`application_server_configuration`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"centralServerConfiguration":{"$ref":"#/types/azure:workloadssap/ThreeTierVirtualInstanceThreeTierConfigurationCentralServerConfiguration:ThreeTierVirtualInstanceThreeTierConfigurationCentralServerConfiguration","description":"A \u003cspan pulumi-lang-nodejs=\"`centralServerConfiguration`\" pulumi-lang-dotnet=\"`CentralServerConfiguration`\" pulumi-lang-go=\"`centralServerConfiguration`\" pulumi-lang-python=\"`central_server_configuration`\" pulumi-lang-yaml=\"`centralServerConfiguration`\" pulumi-lang-java=\"`centralServerConfiguration`\"\u003e`central_server_configuration`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"databaseServerConfiguration":{"$ref":"#/types/azure:workloadssap/ThreeTierVirtualInstanceThreeTierConfigurationDatabaseServerConfiguration:ThreeTierVirtualInstanceThreeTierConfigurationDatabaseServerConfiguration","description":"A \u003cspan pulumi-lang-nodejs=\"`databaseServerConfiguration`\" pulumi-lang-dotnet=\"`DatabaseServerConfiguration`\" pulumi-lang-go=\"`databaseServerConfiguration`\" pulumi-lang-python=\"`database_server_configuration`\" pulumi-lang-yaml=\"`databaseServerConfiguration`\" pulumi-lang-java=\"`databaseServerConfiguration`\"\u003e`database_server_configuration`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"highAvailabilityType":{"type":"string","description":"The high availability type for the three tier configuration. Possible values are `AvailabilitySet` and `AvailabilityZone`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceNames":{"$ref":"#/types/azure:workloadssap/ThreeTierVirtualInstanceThreeTierConfigurationResourceNames:ThreeTierVirtualInstanceThreeTierConfigurationResourceNames","description":"A \u003cspan pulumi-lang-nodejs=\"`resourceNames`\" pulumi-lang-dotnet=\"`ResourceNames`\" pulumi-lang-go=\"`resourceNames`\" pulumi-lang-python=\"`resource_names`\" pulumi-lang-yaml=\"`resourceNames`\" pulumi-lang-java=\"`resourceNames`\"\u003e`resource_names`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"secondaryIpEnabled":{"type":"boolean","description":"Specifies whether a secondary IP address should be added to the network interface on all VMs of the SAP system being deployed. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"transportCreateAndMount":{"$ref":"#/types/azure:workloadssap/ThreeTierVirtualInstanceThreeTierConfigurationTransportCreateAndMount:ThreeTierVirtualInstanceThreeTierConfigurationTransportCreateAndMount","description":"A \u003cspan pulumi-lang-nodejs=\"`transportCreateAndMount`\" pulumi-lang-dotnet=\"`TransportCreateAndMount`\" pulumi-lang-go=\"`transportCreateAndMount`\" pulumi-lang-python=\"`transport_create_and_mount`\" pulumi-lang-yaml=\"`transportCreateAndMount`\" pulumi-lang-java=\"`transportCreateAndMount`\"\u003e`transport_create_and_mount`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n\n\u003e **Note:** The file share configuration uses \u003cspan pulumi-lang-nodejs=\"`skip`\" pulumi-lang-dotnet=\"`Skip`\" pulumi-lang-go=\"`skip`\" pulumi-lang-python=\"`skip`\" pulumi-lang-yaml=\"`skip`\" pulumi-lang-java=\"`skip`\"\u003e`skip`\u003c/span\u003e by default when \u003cspan pulumi-lang-nodejs=\"`transportCreateAndMount`\" pulumi-lang-dotnet=\"`TransportCreateAndMount`\" pulumi-lang-go=\"`transportCreateAndMount`\" pulumi-lang-python=\"`transport_create_and_mount`\" pulumi-lang-yaml=\"`transportCreateAndMount`\" pulumi-lang-java=\"`transportCreateAndMount`\"\u003e`transport_create_and_mount`\u003c/span\u003e isn't set.\n\n\u003e **Note:** Due to [a bug in the Azure API](https://github.com/Azure/azure-rest-api-specs/issues/25209) where the Storage File Share Id is not defined correctly, it is not currently possible to support using Transport Mount.\n","willReplaceOnChanges":true}},"type":"object","required":["appResourceGroupName","applicationServerConfiguration","centralServerConfiguration","databaseServerConfiguration"]},"azure:workloadssap/ThreeTierVirtualInstanceThreeTierConfigurationApplicationServerConfiguration:ThreeTierVirtualInstanceThreeTierConfigurationApplicationServerConfiguration":{"properties":{"instanceCount":{"type":"integer","description":"The number of instances for the Application Server. Possible values are at least \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"subnetId":{"type":"string","description":"The resource ID of the Subnet for the Application Server. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"virtualMachineConfiguration":{"$ref":"#/types/azure:workloadssap/ThreeTierVirtualInstanceThreeTierConfigurationApplicationServerConfigurationVirtualMachineConfiguration:ThreeTierVirtualInstanceThreeTierConfigurationApplicationServerConfigurationVirtualMachineConfiguration","description":"A \u003cspan pulumi-lang-nodejs=\"`virtualMachineConfiguration`\" pulumi-lang-dotnet=\"`VirtualMachineConfiguration`\" pulumi-lang-go=\"`virtualMachineConfiguration`\" pulumi-lang-python=\"`virtual_machine_configuration`\" pulumi-lang-yaml=\"`virtualMachineConfiguration`\" pulumi-lang-java=\"`virtualMachineConfiguration`\"\u003e`virtual_machine_configuration`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["instanceCount","subnetId","virtualMachineConfiguration"]},"azure:workloadssap/ThreeTierVirtualInstanceThreeTierConfigurationApplicationServerConfigurationVirtualMachineConfiguration:ThreeTierVirtualInstanceThreeTierConfigurationApplicationServerConfigurationVirtualMachineConfiguration":{"properties":{"image":{"$ref":"#/types/azure:workloadssap/ThreeTierVirtualInstanceThreeTierConfigurationApplicationServerConfigurationVirtualMachineConfigurationImage:ThreeTierVirtualInstanceThreeTierConfigurationApplicationServerConfigurationVirtualMachineConfigurationImage","description":"An \u003cspan pulumi-lang-nodejs=\"`image`\" pulumi-lang-dotnet=\"`Image`\" pulumi-lang-go=\"`image`\" pulumi-lang-python=\"`image`\" pulumi-lang-yaml=\"`image`\" pulumi-lang-java=\"`image`\"\u003e`image`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"osProfile":{"$ref":"#/types/azure:workloadssap/ThreeTierVirtualInstanceThreeTierConfigurationApplicationServerConfigurationVirtualMachineConfigurationOsProfile:ThreeTierVirtualInstanceThreeTierConfigurationApplicationServerConfigurationVirtualMachineConfigurationOsProfile","description":"An \u003cspan pulumi-lang-nodejs=\"`osProfile`\" pulumi-lang-dotnet=\"`OsProfile`\" pulumi-lang-go=\"`osProfile`\" pulumi-lang-python=\"`os_profile`\" pulumi-lang-yaml=\"`osProfile`\" pulumi-lang-java=\"`osProfile`\"\u003e`os_profile`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"virtualMachineSize":{"type":"string","description":"The size of the Virtual Machine. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["image","osProfile","virtualMachineSize"]},"azure:workloadssap/ThreeTierVirtualInstanceThreeTierConfigurationApplicationServerConfigurationVirtualMachineConfigurationImage:ThreeTierVirtualInstanceThreeTierConfigurationApplicationServerConfigurationVirtualMachineConfigurationImage":{"properties":{"offer":{"type":"string","description":"Specifies the offer of the platform image or marketplace image used to create the virtual machine. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"publisher":{"type":"string","description":"The publisher of the Image. Possible values are `RedHat` and `SUSE`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sku":{"type":"string","description":"The SKU of the Image. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"version":{"type":"string","description":"Specifies the version of the platform image or marketplace image used to create the virtual machine. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["offer","publisher","sku","version"]},"azure:workloadssap/ThreeTierVirtualInstanceThreeTierConfigurationApplicationServerConfigurationVirtualMachineConfigurationOsProfile:ThreeTierVirtualInstanceThreeTierConfigurationApplicationServerConfigurationVirtualMachineConfigurationOsProfile":{"properties":{"adminUsername":{"type":"string","description":"The name of the administrator account. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sshPrivateKey":{"type":"string","description":"The SSH public key that is used to authenticate with the Virtual Machine. Changing this forces a new resource to be created.\n","secret":true,"willReplaceOnChanges":true},"sshPublicKey":{"type":"string","description":"The SSH private key that is used to authenticate with the Virtual Machine. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["adminUsername","sshPrivateKey","sshPublicKey"]},"azure:workloadssap/ThreeTierVirtualInstanceThreeTierConfigurationCentralServerConfiguration:ThreeTierVirtualInstanceThreeTierConfigurationCentralServerConfiguration":{"properties":{"instanceCount":{"type":"integer","description":"The number of instances for the Central Server. Possible values are at least \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"subnetId":{"type":"string","description":"The resource ID of the Subnet for the Central Server. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"virtualMachineConfiguration":{"$ref":"#/types/azure:workloadssap/ThreeTierVirtualInstanceThreeTierConfigurationCentralServerConfigurationVirtualMachineConfiguration:ThreeTierVirtualInstanceThreeTierConfigurationCentralServerConfigurationVirtualMachineConfiguration","description":"A \u003cspan pulumi-lang-nodejs=\"`virtualMachineConfiguration`\" pulumi-lang-dotnet=\"`VirtualMachineConfiguration`\" pulumi-lang-go=\"`virtualMachineConfiguration`\" pulumi-lang-python=\"`virtual_machine_configuration`\" pulumi-lang-yaml=\"`virtualMachineConfiguration`\" pulumi-lang-java=\"`virtualMachineConfiguration`\"\u003e`virtual_machine_configuration`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["instanceCount","subnetId","virtualMachineConfiguration"]},"azure:workloadssap/ThreeTierVirtualInstanceThreeTierConfigurationCentralServerConfigurationVirtualMachineConfiguration:ThreeTierVirtualInstanceThreeTierConfigurationCentralServerConfigurationVirtualMachineConfiguration":{"properties":{"image":{"$ref":"#/types/azure:workloadssap/ThreeTierVirtualInstanceThreeTierConfigurationCentralServerConfigurationVirtualMachineConfigurationImage:ThreeTierVirtualInstanceThreeTierConfigurationCentralServerConfigurationVirtualMachineConfigurationImage","description":"An \u003cspan pulumi-lang-nodejs=\"`image`\" pulumi-lang-dotnet=\"`Image`\" pulumi-lang-go=\"`image`\" pulumi-lang-python=\"`image`\" pulumi-lang-yaml=\"`image`\" pulumi-lang-java=\"`image`\"\u003e`image`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"osProfile":{"$ref":"#/types/azure:workloadssap/ThreeTierVirtualInstanceThreeTierConfigurationCentralServerConfigurationVirtualMachineConfigurationOsProfile:ThreeTierVirtualInstanceThreeTierConfigurationCentralServerConfigurationVirtualMachineConfigurationOsProfile","description":"An \u003cspan pulumi-lang-nodejs=\"`osProfile`\" pulumi-lang-dotnet=\"`OsProfile`\" pulumi-lang-go=\"`osProfile`\" pulumi-lang-python=\"`os_profile`\" pulumi-lang-yaml=\"`osProfile`\" pulumi-lang-java=\"`osProfile`\"\u003e`os_profile`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"virtualMachineSize":{"type":"string","description":"The size of the Virtual Machine. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["image","osProfile","virtualMachineSize"]},"azure:workloadssap/ThreeTierVirtualInstanceThreeTierConfigurationCentralServerConfigurationVirtualMachineConfigurationImage:ThreeTierVirtualInstanceThreeTierConfigurationCentralServerConfigurationVirtualMachineConfigurationImage":{"properties":{"offer":{"type":"string","description":"Specifies the offer of the platform image or marketplace image used to create the virtual machine. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"publisher":{"type":"string","description":"The publisher of the Image. Possible values are `RedHat` and `SUSE`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sku":{"type":"string","description":"The SKU of the Image. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"version":{"type":"string","description":"Specifies the version of the platform image or marketplace image used to create the virtual machine. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["offer","publisher","sku","version"]},"azure:workloadssap/ThreeTierVirtualInstanceThreeTierConfigurationCentralServerConfigurationVirtualMachineConfigurationOsProfile:ThreeTierVirtualInstanceThreeTierConfigurationCentralServerConfigurationVirtualMachineConfigurationOsProfile":{"properties":{"adminUsername":{"type":"string","description":"The name of the administrator account. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sshPrivateKey":{"type":"string","description":"The SSH public key that is used to authenticate with the Virtual Machine. Changing this forces a new resource to be created.\n","secret":true,"willReplaceOnChanges":true},"sshPublicKey":{"type":"string","description":"The SSH private key that is used to authenticate with the Virtual Machine. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["adminUsername","sshPrivateKey","sshPublicKey"]},"azure:workloadssap/ThreeTierVirtualInstanceThreeTierConfigurationDatabaseServerConfiguration:ThreeTierVirtualInstanceThreeTierConfigurationDatabaseServerConfiguration":{"properties":{"databaseType":{"type":"string","description":"The database type for the Database Server. Possible values are `DB2` and `HANA`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"diskVolumeConfigurations":{"type":"array","items":{"$ref":"#/types/azure:workloadssap/ThreeTierVirtualInstanceThreeTierConfigurationDatabaseServerConfigurationDiskVolumeConfiguration:ThreeTierVirtualInstanceThreeTierConfigurationDatabaseServerConfigurationDiskVolumeConfiguration"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`diskVolumeConfiguration`\" pulumi-lang-dotnet=\"`DiskVolumeConfiguration`\" pulumi-lang-go=\"`diskVolumeConfiguration`\" pulumi-lang-python=\"`disk_volume_configuration`\" pulumi-lang-yaml=\"`diskVolumeConfiguration`\" pulumi-lang-java=\"`diskVolumeConfiguration`\"\u003e`disk_volume_configuration`\u003c/span\u003e blocks as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"instanceCount":{"type":"integer","description":"The number of instances for the Database Server. Possible values are at least \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"subnetId":{"type":"string","description":"The resource ID of the Subnet for the Database Server. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"virtualMachineConfiguration":{"$ref":"#/types/azure:workloadssap/ThreeTierVirtualInstanceThreeTierConfigurationDatabaseServerConfigurationVirtualMachineConfiguration:ThreeTierVirtualInstanceThreeTierConfigurationDatabaseServerConfigurationVirtualMachineConfiguration","description":"A \u003cspan pulumi-lang-nodejs=\"`virtualMachineConfiguration`\" pulumi-lang-dotnet=\"`VirtualMachineConfiguration`\" pulumi-lang-go=\"`virtualMachineConfiguration`\" pulumi-lang-python=\"`virtual_machine_configuration`\" pulumi-lang-yaml=\"`virtualMachineConfiguration`\" pulumi-lang-java=\"`virtualMachineConfiguration`\"\u003e`virtual_machine_configuration`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["instanceCount","subnetId","virtualMachineConfiguration"]},"azure:workloadssap/ThreeTierVirtualInstanceThreeTierConfigurationDatabaseServerConfigurationDiskVolumeConfiguration:ThreeTierVirtualInstanceThreeTierConfigurationDatabaseServerConfigurationDiskVolumeConfiguration":{"properties":{"numberOfDisks":{"type":"integer","description":"The total number of disks required for the concerned volume. Possible values are at least \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sizeInGb":{"type":"integer","description":"The size of the Disk in GB. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"skuName":{"type":"string","description":"The name of the Disk SKU. Possible values are `Premium_LRS`, `PremiumV2_LRS`, `Premium_ZRS`, `Standard_LRS`, `StandardSSD_LRS`, `StandardSSD_ZRS` and `UltraSSD_LRS`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"volumeName":{"type":"string","description":"Specifies the volumn name of the database disk. Possible values are \u003cspan pulumi-lang-nodejs=\"`backup`\" pulumi-lang-dotnet=\"`Backup`\" pulumi-lang-go=\"`backup`\" pulumi-lang-python=\"`backup`\" pulumi-lang-yaml=\"`backup`\" pulumi-lang-java=\"`backup`\"\u003e`backup`\u003c/span\u003e, `hana/data`, `hana/log`, `hana/shared`, \u003cspan pulumi-lang-nodejs=\"`os`\" pulumi-lang-dotnet=\"`Os`\" pulumi-lang-go=\"`os`\" pulumi-lang-python=\"`os`\" pulumi-lang-yaml=\"`os`\" pulumi-lang-java=\"`os`\"\u003e`os`\u003c/span\u003e and `usr/sap`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["numberOfDisks","sizeInGb","skuName","volumeName"]},"azure:workloadssap/ThreeTierVirtualInstanceThreeTierConfigurationDatabaseServerConfigurationVirtualMachineConfiguration:ThreeTierVirtualInstanceThreeTierConfigurationDatabaseServerConfigurationVirtualMachineConfiguration":{"properties":{"image":{"$ref":"#/types/azure:workloadssap/ThreeTierVirtualInstanceThreeTierConfigurationDatabaseServerConfigurationVirtualMachineConfigurationImage:ThreeTierVirtualInstanceThreeTierConfigurationDatabaseServerConfigurationVirtualMachineConfigurationImage","description":"An \u003cspan pulumi-lang-nodejs=\"`image`\" pulumi-lang-dotnet=\"`Image`\" pulumi-lang-go=\"`image`\" pulumi-lang-python=\"`image`\" pulumi-lang-yaml=\"`image`\" pulumi-lang-java=\"`image`\"\u003e`image`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"osProfile":{"$ref":"#/types/azure:workloadssap/ThreeTierVirtualInstanceThreeTierConfigurationDatabaseServerConfigurationVirtualMachineConfigurationOsProfile:ThreeTierVirtualInstanceThreeTierConfigurationDatabaseServerConfigurationVirtualMachineConfigurationOsProfile","description":"An \u003cspan pulumi-lang-nodejs=\"`osProfile`\" pulumi-lang-dotnet=\"`OsProfile`\" pulumi-lang-go=\"`osProfile`\" pulumi-lang-python=\"`os_profile`\" pulumi-lang-yaml=\"`osProfile`\" pulumi-lang-java=\"`osProfile`\"\u003e`os_profile`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"virtualMachineSize":{"type":"string","description":"The size of the Virtual Machine. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["image","osProfile","virtualMachineSize"]},"azure:workloadssap/ThreeTierVirtualInstanceThreeTierConfigurationDatabaseServerConfigurationVirtualMachineConfigurationImage:ThreeTierVirtualInstanceThreeTierConfigurationDatabaseServerConfigurationVirtualMachineConfigurationImage":{"properties":{"offer":{"type":"string","description":"Specifies the offer of the platform image or marketplace image used to create the virtual machine. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"publisher":{"type":"string","description":"The publisher of the Image. Possible values are `RedHat` and `SUSE`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sku":{"type":"string","description":"The SKU of the Image. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"version":{"type":"string","description":"Specifies the version of the platform image or marketplace image used to create the virtual machine. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["offer","publisher","sku","version"]},"azure:workloadssap/ThreeTierVirtualInstanceThreeTierConfigurationDatabaseServerConfigurationVirtualMachineConfigurationOsProfile:ThreeTierVirtualInstanceThreeTierConfigurationDatabaseServerConfigurationVirtualMachineConfigurationOsProfile":{"properties":{"adminUsername":{"type":"string","description":"The name of the administrator account. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sshPrivateKey":{"type":"string","description":"The SSH public key that is used to authenticate with the Virtual Machine. Changing this forces a new resource to be created.\n","secret":true,"willReplaceOnChanges":true},"sshPublicKey":{"type":"string","description":"The SSH private key that is used to authenticate with the Virtual Machine. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["adminUsername","sshPrivateKey","sshPublicKey"]},"azure:workloadssap/ThreeTierVirtualInstanceThreeTierConfigurationResourceNames:ThreeTierVirtualInstanceThreeTierConfigurationResourceNames":{"properties":{"applicationServer":{"$ref":"#/types/azure:workloadssap/ThreeTierVirtualInstanceThreeTierConfigurationResourceNamesApplicationServer:ThreeTierVirtualInstanceThreeTierConfigurationResourceNamesApplicationServer","description":"An \u003cspan pulumi-lang-nodejs=\"`applicationServer`\" pulumi-lang-dotnet=\"`ApplicationServer`\" pulumi-lang-go=\"`applicationServer`\" pulumi-lang-python=\"`application_server`\" pulumi-lang-yaml=\"`applicationServer`\" pulumi-lang-java=\"`applicationServer`\"\u003e`application_server`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"centralServer":{"$ref":"#/types/azure:workloadssap/ThreeTierVirtualInstanceThreeTierConfigurationResourceNamesCentralServer:ThreeTierVirtualInstanceThreeTierConfigurationResourceNamesCentralServer","description":"A \u003cspan pulumi-lang-nodejs=\"`centralServer`\" pulumi-lang-dotnet=\"`CentralServer`\" pulumi-lang-go=\"`centralServer`\" pulumi-lang-python=\"`central_server`\" pulumi-lang-yaml=\"`centralServer`\" pulumi-lang-java=\"`centralServer`\"\u003e`central_server`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"databaseServer":{"$ref":"#/types/azure:workloadssap/ThreeTierVirtualInstanceThreeTierConfigurationResourceNamesDatabaseServer:ThreeTierVirtualInstanceThreeTierConfigurationResourceNamesDatabaseServer","description":"A \u003cspan pulumi-lang-nodejs=\"`databaseServer`\" pulumi-lang-dotnet=\"`DatabaseServer`\" pulumi-lang-go=\"`databaseServer`\" pulumi-lang-python=\"`database_server`\" pulumi-lang-yaml=\"`databaseServer`\" pulumi-lang-java=\"`databaseServer`\"\u003e`database_server`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sharedStorage":{"$ref":"#/types/azure:workloadssap/ThreeTierVirtualInstanceThreeTierConfigurationResourceNamesSharedStorage:ThreeTierVirtualInstanceThreeTierConfigurationResourceNamesSharedStorage","description":"A \u003cspan pulumi-lang-nodejs=\"`sharedStorage`\" pulumi-lang-dotnet=\"`SharedStorage`\" pulumi-lang-go=\"`sharedStorage`\" pulumi-lang-python=\"`shared_storage`\" pulumi-lang-yaml=\"`sharedStorage`\" pulumi-lang-java=\"`sharedStorage`\"\u003e`shared_storage`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"},"azure:workloadssap/ThreeTierVirtualInstanceThreeTierConfigurationResourceNamesApplicationServer:ThreeTierVirtualInstanceThreeTierConfigurationResourceNamesApplicationServer":{"properties":{"availabilitySetName":{"type":"string","description":"The full name for the availability set. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"virtualMachines":{"type":"array","items":{"$ref":"#/types/azure:workloadssap/ThreeTierVirtualInstanceThreeTierConfigurationResourceNamesApplicationServerVirtualMachine:ThreeTierVirtualInstanceThreeTierConfigurationResourceNamesApplicationServerVirtualMachine"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`virtualMachine`\" pulumi-lang-dotnet=\"`VirtualMachine`\" pulumi-lang-go=\"`virtualMachine`\" pulumi-lang-python=\"`virtual_machine`\" pulumi-lang-yaml=\"`virtualMachine`\" pulumi-lang-java=\"`virtualMachine`\"\u003e`virtual_machine`\u003c/span\u003e blocks as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"},"azure:workloadssap/ThreeTierVirtualInstanceThreeTierConfigurationResourceNamesApplicationServerVirtualMachine:ThreeTierVirtualInstanceThreeTierConfigurationResourceNamesApplicationServerVirtualMachine":{"properties":{"dataDisks":{"type":"array","items":{"$ref":"#/types/azure:workloadssap/ThreeTierVirtualInstanceThreeTierConfigurationResourceNamesApplicationServerVirtualMachineDataDisk:ThreeTierVirtualInstanceThreeTierConfigurationResourceNamesApplicationServerVirtualMachineDataDisk"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`dataDisk`\" pulumi-lang-dotnet=\"`DataDisk`\" pulumi-lang-go=\"`dataDisk`\" pulumi-lang-python=\"`data_disk`\" pulumi-lang-yaml=\"`dataDisk`\" pulumi-lang-java=\"`dataDisk`\"\u003e`data_disk`\u003c/span\u003e blocks as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"hostName":{"type":"string","description":"The full name of the host of the Virtual Machine. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"networkInterfaceNames":{"type":"array","items":{"type":"string"},"description":"A list of full names for the Network Interface of the Virtual Machine. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"osDiskName":{"type":"string","description":"The full name of the OS Disk attached to the Virtual Machine. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"virtualMachineName":{"type":"string","description":"The full name of the Virtual Machine in a single server SAP system. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"},"azure:workloadssap/ThreeTierVirtualInstanceThreeTierConfigurationResourceNamesApplicationServerVirtualMachineDataDisk:ThreeTierVirtualInstanceThreeTierConfigurationResourceNamesApplicationServerVirtualMachineDataDisk":{"properties":{"names":{"type":"array","items":{"type":"string"},"description":"A list of full names of Data Disks per Volume. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"volumeName":{"type":"string","description":"The name of the Volume. Possible values are \u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\"\u003e`default`\u003c/span\u003e, `hanaData`, `hanaLog`, `hanaShared` and `usrSap`. Changing this forces a new resource to be created.\n\n\u003e **Note:** Possible value for Application Server and Central Server is \u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\"\u003e`default`\u003c/span\u003e.\n\n\u003e **Note:** Possible values for Database Server are `hanaData`, `hanaLog`, `hanaShared` and `usrSap`.\n","willReplaceOnChanges":true}},"type":"object","required":["names","volumeName"]},"azure:workloadssap/ThreeTierVirtualInstanceThreeTierConfigurationResourceNamesCentralServer:ThreeTierVirtualInstanceThreeTierConfigurationResourceNamesCentralServer":{"properties":{"availabilitySetName":{"type":"string","description":"The full name for the availability set. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"loadBalancer":{"$ref":"#/types/azure:workloadssap/ThreeTierVirtualInstanceThreeTierConfigurationResourceNamesCentralServerLoadBalancer:ThreeTierVirtualInstanceThreeTierConfigurationResourceNamesCentralServerLoadBalancer","description":"A \u003cspan pulumi-lang-nodejs=\"`loadBalancer`\" pulumi-lang-dotnet=\"`LoadBalancer`\" pulumi-lang-go=\"`loadBalancer`\" pulumi-lang-python=\"`load_balancer`\" pulumi-lang-yaml=\"`loadBalancer`\" pulumi-lang-java=\"`loadBalancer`\"\u003e`load_balancer`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"virtualMachines":{"type":"array","items":{"$ref":"#/types/azure:workloadssap/ThreeTierVirtualInstanceThreeTierConfigurationResourceNamesCentralServerVirtualMachine:ThreeTierVirtualInstanceThreeTierConfigurationResourceNamesCentralServerVirtualMachine"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`virtualMachine`\" pulumi-lang-dotnet=\"`VirtualMachine`\" pulumi-lang-go=\"`virtualMachine`\" pulumi-lang-python=\"`virtual_machine`\" pulumi-lang-yaml=\"`virtualMachine`\" pulumi-lang-java=\"`virtualMachine`\"\u003e`virtual_machine`\u003c/span\u003e blocks as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"},"azure:workloadssap/ThreeTierVirtualInstanceThreeTierConfigurationResourceNamesCentralServerLoadBalancer:ThreeTierVirtualInstanceThreeTierConfigurationResourceNamesCentralServerLoadBalancer":{"properties":{"backendPoolNames":{"type":"array","items":{"type":"string"},"description":"A list of Backend Pool names for the Load Balancer. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"frontendIpConfigurationNames":{"type":"array","items":{"type":"string"},"description":"A list of Frontend IP Configuration names. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"healthProbeNames":{"type":"array","items":{"type":"string"},"description":"A list of Health Probe names. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The full resource name of the Load Balancer. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"},"azure:workloadssap/ThreeTierVirtualInstanceThreeTierConfigurationResourceNamesCentralServerVirtualMachine:ThreeTierVirtualInstanceThreeTierConfigurationResourceNamesCentralServerVirtualMachine":{"properties":{"dataDisks":{"type":"array","items":{"$ref":"#/types/azure:workloadssap/ThreeTierVirtualInstanceThreeTierConfigurationResourceNamesCentralServerVirtualMachineDataDisk:ThreeTierVirtualInstanceThreeTierConfigurationResourceNamesCentralServerVirtualMachineDataDisk"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`dataDisk`\" pulumi-lang-dotnet=\"`DataDisk`\" pulumi-lang-go=\"`dataDisk`\" pulumi-lang-python=\"`data_disk`\" pulumi-lang-yaml=\"`dataDisk`\" pulumi-lang-java=\"`dataDisk`\"\u003e`data_disk`\u003c/span\u003e blocks as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"hostName":{"type":"string","description":"The full name of the host of the Virtual Machine. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"networkInterfaceNames":{"type":"array","items":{"type":"string"},"description":"A list of full names for the Network Interface of the Virtual Machine. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"osDiskName":{"type":"string","description":"The full name of the OS Disk attached to the Virtual Machine. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"virtualMachineName":{"type":"string","description":"The full name of the Virtual Machine in a single server SAP system. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"},"azure:workloadssap/ThreeTierVirtualInstanceThreeTierConfigurationResourceNamesCentralServerVirtualMachineDataDisk:ThreeTierVirtualInstanceThreeTierConfigurationResourceNamesCentralServerVirtualMachineDataDisk":{"properties":{"names":{"type":"array","items":{"type":"string"},"description":"A list of full names of Data Disks per Volume. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"volumeName":{"type":"string","description":"The name of the Volume. Possible values are \u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\"\u003e`default`\u003c/span\u003e, `hanaData`, `hanaLog`, `hanaShared` and `usrSap`. Changing this forces a new resource to be created.\n\n\u003e **Note:** Possible value for Application Server and Central Server is \u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\"\u003e`default`\u003c/span\u003e.\n\n\u003e **Note:** Possible values for Database Server are `hanaData`, `hanaLog`, `hanaShared` and `usrSap`.\n","willReplaceOnChanges":true}},"type":"object","required":["names","volumeName"]},"azure:workloadssap/ThreeTierVirtualInstanceThreeTierConfigurationResourceNamesDatabaseServer:ThreeTierVirtualInstanceThreeTierConfigurationResourceNamesDatabaseServer":{"properties":{"availabilitySetName":{"type":"string","description":"The full name for the availability set. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"loadBalancer":{"$ref":"#/types/azure:workloadssap/ThreeTierVirtualInstanceThreeTierConfigurationResourceNamesDatabaseServerLoadBalancer:ThreeTierVirtualInstanceThreeTierConfigurationResourceNamesDatabaseServerLoadBalancer","description":"A \u003cspan pulumi-lang-nodejs=\"`loadBalancer`\" pulumi-lang-dotnet=\"`LoadBalancer`\" pulumi-lang-go=\"`loadBalancer`\" pulumi-lang-python=\"`load_balancer`\" pulumi-lang-yaml=\"`loadBalancer`\" pulumi-lang-java=\"`loadBalancer`\"\u003e`load_balancer`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"virtualMachines":{"type":"array","items":{"$ref":"#/types/azure:workloadssap/ThreeTierVirtualInstanceThreeTierConfigurationResourceNamesDatabaseServerVirtualMachine:ThreeTierVirtualInstanceThreeTierConfigurationResourceNamesDatabaseServerVirtualMachine"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`virtualMachine`\" pulumi-lang-dotnet=\"`VirtualMachine`\" pulumi-lang-go=\"`virtualMachine`\" pulumi-lang-python=\"`virtual_machine`\" pulumi-lang-yaml=\"`virtualMachine`\" pulumi-lang-java=\"`virtualMachine`\"\u003e`virtual_machine`\u003c/span\u003e blocks as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"},"azure:workloadssap/ThreeTierVirtualInstanceThreeTierConfigurationResourceNamesDatabaseServerLoadBalancer:ThreeTierVirtualInstanceThreeTierConfigurationResourceNamesDatabaseServerLoadBalancer":{"properties":{"backendPoolNames":{"type":"array","items":{"type":"string"},"description":"A list of Backend Pool names for the Load Balancer. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"frontendIpConfigurationNames":{"type":"array","items":{"type":"string"},"description":"A list of Frontend IP Configuration names. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"healthProbeNames":{"type":"array","items":{"type":"string"},"description":"A list of Health Probe names. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The full resource name of the Load Balancer. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"},"azure:workloadssap/ThreeTierVirtualInstanceThreeTierConfigurationResourceNamesDatabaseServerVirtualMachine:ThreeTierVirtualInstanceThreeTierConfigurationResourceNamesDatabaseServerVirtualMachine":{"properties":{"dataDisks":{"type":"array","items":{"$ref":"#/types/azure:workloadssap/ThreeTierVirtualInstanceThreeTierConfigurationResourceNamesDatabaseServerVirtualMachineDataDisk:ThreeTierVirtualInstanceThreeTierConfigurationResourceNamesDatabaseServerVirtualMachineDataDisk"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`dataDisk`\" pulumi-lang-dotnet=\"`DataDisk`\" pulumi-lang-go=\"`dataDisk`\" pulumi-lang-python=\"`data_disk`\" pulumi-lang-yaml=\"`dataDisk`\" pulumi-lang-java=\"`dataDisk`\"\u003e`data_disk`\u003c/span\u003e blocks as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"hostName":{"type":"string","description":"The full name of the host of the Virtual Machine. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"networkInterfaceNames":{"type":"array","items":{"type":"string"},"description":"A list of full names for the Network Interface of the Virtual Machine. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"osDiskName":{"type":"string","description":"The full name of the OS Disk attached to the Virtual Machine. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"virtualMachineName":{"type":"string","description":"The full name of the Virtual Machine in a single server SAP system. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"},"azure:workloadssap/ThreeTierVirtualInstanceThreeTierConfigurationResourceNamesDatabaseServerVirtualMachineDataDisk:ThreeTierVirtualInstanceThreeTierConfigurationResourceNamesDatabaseServerVirtualMachineDataDisk":{"properties":{"names":{"type":"array","items":{"type":"string"},"description":"A list of full names of Data Disks per Volume. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"volumeName":{"type":"string","description":"The name of the Volume. Possible values are \u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\"\u003e`default`\u003c/span\u003e, `hanaData`, `hanaLog`, `hanaShared` and `usrSap`. Changing this forces a new resource to be created.\n\n\u003e **Note:** Possible value for Application Server and Central Server is \u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\"\u003e`default`\u003c/span\u003e.\n\n\u003e **Note:** Possible values for Database Server are `hanaData`, `hanaLog`, `hanaShared` and `usrSap`.\n","willReplaceOnChanges":true}},"type":"object","required":["names","volumeName"]},"azure:workloadssap/ThreeTierVirtualInstanceThreeTierConfigurationResourceNamesSharedStorage:ThreeTierVirtualInstanceThreeTierConfigurationResourceNamesSharedStorage":{"properties":{"accountName":{"type":"string","description":"The full name of the Shared Storage Account. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"privateEndpointName":{"type":"string","description":"The full name of Private Endpoint for the Shared Storage Account. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"},"azure:workloadssap/ThreeTierVirtualInstanceThreeTierConfigurationTransportCreateAndMount:ThreeTierVirtualInstanceThreeTierConfigurationTransportCreateAndMount":{"properties":{"resourceGroupId":{"type":"string","description":"The ID of the Resource Group of the transport File Share. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"storageAccountName":{"type":"string","description":"The name of the Storage Account of the File Share. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"provider":{"description":"The provider type for the azurerm package. By default, resources use package-wide configuration\nsettings, however an explicit `Provider` instance may be created and passed during resource\nconstruction to achieve fine-grained programmatic control over provider settings. See the\n[documentation](https://www.pulumi.com/docs/reference/programming-model/#providers) for more information.\n","properties":{"adoPipelineServiceConnectionId":{"type":"string","description":"The Azure DevOps Pipeline Service Connection ID."},"auxiliaryTenantIds":{"type":"array","items":{"type":"string"},"secret":true},"clientCertificate":{"type":"string","description":"Base64 encoded PKCS#12 certificate bundle to use when authenticating as a Service Principal using a Client Certificate","secret":true},"clientCertificatePassword":{"type":"string","description":"The password associated with the Client Certificate. For use when authenticating as a Service Principal using a Client Certificate","secret":true},"clientCertificatePath":{"type":"string","description":"The path to the Client Certificate associated with the Service Principal for use when authenticating as a Service Principal using a Client Certificate.","secret":true},"clientId":{"type":"string","description":"The Client ID which should be used.","secret":true},"clientIdFilePath":{"type":"string","description":"The path to a file containing the Client ID which should be used.","secret":true},"clientSecret":{"type":"string","description":"The Client Secret which should be used. For use When authenticating as a Service Principal using a Client Secret.","secret":true},"clientSecretFilePath":{"type":"string","description":"The path to a file containing the Client Secret which should be used. For use When authenticating as a Service Principal using a Client Secret.","secret":true},"disableCorrelationRequestId":{"type":"boolean","description":"This will disable the x-ms-correlation-request-id header."},"disableTerraformPartnerId":{"type":"boolean","description":"This will disable the Terraform Partner ID which is used if a custom \u003cspan pulumi-lang-nodejs=\"`partnerId`\" pulumi-lang-dotnet=\"`PartnerId`\" pulumi-lang-go=\"`partnerId`\" pulumi-lang-python=\"`partner_id`\" pulumi-lang-yaml=\"`partnerId`\" pulumi-lang-java=\"`partnerId`\"\u003e`partner_id`\u003c/span\u003e isn't specified."},"environment":{"type":"string","description":"The Cloud Environment which should be used. Possible values are public, usgovernment, and china. Defaults to public. Not used and should not be specified when \u003cspan pulumi-lang-nodejs=\"`metadataHost`\" pulumi-lang-dotnet=\"`MetadataHost`\" pulumi-lang-go=\"`metadataHost`\" pulumi-lang-python=\"`metadata_host`\" pulumi-lang-yaml=\"`metadataHost`\" pulumi-lang-java=\"`metadataHost`\"\u003e`metadata_host`\u003c/span\u003e is specified."},"features":{"$ref":"#/types/azure:index/ProviderFeatures:ProviderFeatures"},"metadataHost":{"type":"string","description":"The Hostname which should be used for the Azure Metadata Service."},"msiApiVersion":{"type":"string","description":"The API version to use for Managed Service Identity (IMDS) - for cases where the default API version is not supported by the endpoint. e.g. for Azure Container Apps."},"msiEndpoint":{"type":"string","description":"The path to a custom endpoint for Managed Service Identity - in most circumstances this should be detected automatically."},"oidcRequestToken":{"type":"string","description":"The bearer token for the request to the OIDC provider. For use when authenticating as a Service Principal using OpenID Connect.","secret":true},"oidcRequestUrl":{"type":"string","description":"The URL for the OIDC provider from which to request an ID token. For use when authenticating as a Service Principal using OpenID Connect."},"oidcToken":{"type":"string","description":"The OIDC ID token for use when authenticating as a Service Principal using OpenID Connect.","secret":true},"oidcTokenFilePath":{"type":"string","description":"The path to a file containing an OIDC ID token for use when authenticating as a Service Principal using OpenID Connect.","secret":true},"partnerId":{"type":"string","description":"A GUID/UUID that is registered with Microsoft to facilitate partner resource usage attribution."},"resourceProviderRegistrations":{"type":"string","description":"The set of Resource Providers which should be automatically registered for the subscription."},"resourceProvidersToRegisters":{"type":"array","items":{"type":"string"},"description":"A list of Resource Providers to explicitly register for the subscription, in addition to those specified by the \u003cspan pulumi-lang-nodejs=\"`resourceProviderRegistrations`\" pulumi-lang-dotnet=\"`ResourceProviderRegistrations`\" pulumi-lang-go=\"`resourceProviderRegistrations`\" pulumi-lang-python=\"`resource_provider_registrations`\" pulumi-lang-yaml=\"`resourceProviderRegistrations`\" pulumi-lang-java=\"`resourceProviderRegistrations`\"\u003e`resource_provider_registrations`\u003c/span\u003e property."},"skipProviderRegistration":{"type":"boolean","description":"Should the AzureRM Provider skip registering all of the Resource Providers that it supports, if they're not already registered?","deprecationMessage":"This property is deprecated and will be removed in v5.0 of the AzureRM provider. Please use the \u003cspan pulumi-lang-nodejs=\"`resourceProviderRegistrations`\" pulumi-lang-dotnet=\"`ResourceProviderRegistrations`\" pulumi-lang-go=\"`resourceProviderRegistrations`\" pulumi-lang-python=\"`resource_provider_registrations`\" pulumi-lang-yaml=\"`resourceProviderRegistrations`\" pulumi-lang-java=\"`resourceProviderRegistrations`\"\u003e`resource_provider_registrations`\u003c/span\u003e property instead."},"storageUseAzuread":{"type":"boolean","description":"Should the AzureRM Provider use Azure AD Authentication when accessing the Storage Data Plane APIs?"},"subscriptionId":{"type":"string","description":"The Subscription ID which should be used.","secret":true},"tenantId":{"type":"string","description":"The Tenant ID which should be used.","secret":true},"useAksWorkloadIdentity":{"type":"boolean","description":"Allow Azure AKS Workload Identity to be used for Authentication."},"useCli":{"type":"boolean","description":"Allow Azure CLI to be used for Authentication."},"useMsi":{"type":"boolean","description":"Allow Managed Service Identity to be used for Authentication."},"useOidc":{"type":"boolean","description":"Allow OpenID Connect to be used for authentication"}},"inputProperties":{"adoPipelineServiceConnectionId":{"type":"string","description":"The Azure DevOps Pipeline Service Connection ID."},"auxiliaryTenantIds":{"type":"array","items":{"type":"string"},"secret":true},"clientCertificate":{"type":"string","description":"Base64 encoded PKCS#12 certificate bundle to use when authenticating as a Service Principal using a Client Certificate","secret":true},"clientCertificatePassword":{"type":"string","description":"The password associated with the Client Certificate. For use when authenticating as a Service Principal using a Client Certificate","secret":true},"clientCertificatePath":{"type":"string","description":"The path to the Client Certificate associated with the Service Principal for use when authenticating as a Service Principal using a Client Certificate.","secret":true},"clientId":{"type":"string","description":"The Client ID which should be used.","secret":true},"clientIdFilePath":{"type":"string","description":"The path to a file containing the Client ID which should be used.","secret":true},"clientSecret":{"type":"string","description":"The Client Secret which should be used. For use When authenticating as a Service Principal using a Client Secret.","secret":true},"clientSecretFilePath":{"type":"string","description":"The path to a file containing the Client Secret which should be used. For use When authenticating as a Service Principal using a Client Secret.","secret":true},"disableCorrelationRequestId":{"type":"boolean","description":"This will disable the x-ms-correlation-request-id header."},"disableTerraformPartnerId":{"type":"boolean","description":"This will disable the Terraform Partner ID which is used if a custom \u003cspan pulumi-lang-nodejs=\"`partnerId`\" pulumi-lang-dotnet=\"`PartnerId`\" pulumi-lang-go=\"`partnerId`\" pulumi-lang-python=\"`partner_id`\" pulumi-lang-yaml=\"`partnerId`\" pulumi-lang-java=\"`partnerId`\"\u003e`partner_id`\u003c/span\u003e isn't specified."},"environment":{"type":"string","description":"The Cloud Environment which should be used. Possible values are public, usgovernment, and china. Defaults to public. Not used and should not be specified when \u003cspan pulumi-lang-nodejs=\"`metadataHost`\" pulumi-lang-dotnet=\"`MetadataHost`\" pulumi-lang-go=\"`metadataHost`\" pulumi-lang-python=\"`metadata_host`\" pulumi-lang-yaml=\"`metadataHost`\" pulumi-lang-java=\"`metadataHost`\"\u003e`metadata_host`\u003c/span\u003e is specified.","default":"public","defaultInfo":{"environment":["AZURE_ENVIRONMENT","ARM_ENVIRONMENT"]}},"features":{"$ref":"#/types/azure:index/ProviderFeatures:ProviderFeatures"},"metadataHost":{"type":"string","description":"The Hostname which should be used for the Azure Metadata Service.","defaultInfo":{"environment":["ARM_METADATA_HOSTNAME"]}},"msiApiVersion":{"type":"string","description":"The API version to use for Managed Service Identity (IMDS) - for cases where the default API version is not supported by the endpoint. e.g. for Azure Container Apps."},"msiEndpoint":{"type":"string","description":"The path to a custom endpoint for Managed Service Identity - in most circumstances this should be detected automatically."},"oidcRequestToken":{"type":"string","description":"The bearer token for the request to the OIDC provider. For use when authenticating as a Service Principal using OpenID Connect.","secret":true},"oidcRequestUrl":{"type":"string","description":"The URL for the OIDC provider from which to request an ID token. For use when authenticating as a Service Principal using OpenID Connect."},"oidcToken":{"type":"string","description":"The OIDC ID token for use when authenticating as a Service Principal using OpenID Connect.","secret":true},"oidcTokenFilePath":{"type":"string","description":"The path to a file containing an OIDC ID token for use when authenticating as a Service Principal using OpenID Connect.","secret":true},"partnerId":{"type":"string","description":"A GUID/UUID that is registered with Microsoft to facilitate partner resource usage attribution."},"resourceProviderRegistrations":{"type":"string","description":"The set of Resource Providers which should be automatically registered for the subscription."},"resourceProvidersToRegisters":{"type":"array","items":{"type":"string"},"description":"A list of Resource Providers to explicitly register for the subscription, in addition to those specified by the \u003cspan pulumi-lang-nodejs=\"`resourceProviderRegistrations`\" pulumi-lang-dotnet=\"`ResourceProviderRegistrations`\" pulumi-lang-go=\"`resourceProviderRegistrations`\" pulumi-lang-python=\"`resource_provider_registrations`\" pulumi-lang-yaml=\"`resourceProviderRegistrations`\" pulumi-lang-java=\"`resourceProviderRegistrations`\"\u003e`resource_provider_registrations`\u003c/span\u003e property."},"skipProviderRegistration":{"type":"boolean","description":"Should the AzureRM Provider skip registering all of the Resource Providers that it supports, if they're not already registered?","default":false,"defaultInfo":{"environment":["ARM_SKIP_PROVIDER_REGISTRATION"]},"deprecationMessage":"This property is deprecated and will be removed in v5.0 of the AzureRM provider. Please use the \u003cspan pulumi-lang-nodejs=\"`resourceProviderRegistrations`\" pulumi-lang-dotnet=\"`ResourceProviderRegistrations`\" pulumi-lang-go=\"`resourceProviderRegistrations`\" pulumi-lang-python=\"`resource_provider_registrations`\" pulumi-lang-yaml=\"`resourceProviderRegistrations`\" pulumi-lang-java=\"`resourceProviderRegistrations`\"\u003e`resource_provider_registrations`\u003c/span\u003e property instead."},"storageUseAzuread":{"type":"boolean","description":"Should the AzureRM Provider use Azure AD Authentication when accessing the Storage Data Plane APIs?","default":false,"defaultInfo":{"environment":["ARM_STORAGE_USE_AZUREAD"]}},"subscriptionId":{"type":"string","description":"The Subscription ID which should be used.","default":"","defaultInfo":{"environment":["ARM_SUBSCRIPTION_ID"]},"secret":true},"tenantId":{"type":"string","description":"The Tenant ID which should be used.","secret":true},"useAksWorkloadIdentity":{"type":"boolean","description":"Allow Azure AKS Workload Identity to be used for Authentication."},"useCli":{"type":"boolean","description":"Allow Azure CLI to be used for Authentication."},"useMsi":{"type":"boolean","description":"Allow Managed Service Identity to be used for Authentication."},"useOidc":{"type":"boolean","description":"Allow OpenID Connect to be used for authentication"}},"methods":{"terraformConfig":"pulumi:providers:azure/terraformConfig"}},"resources":{"azure:aadb2c/directory:Directory":{"description":"Manages an AAD B2C Directory.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.aadb2c.Directory(\"example\", {\n    countryCode: \"US\",\n    dataResidencyLocation: \"United States\",\n    displayName: \"example-b2c-tenant\",\n    domainName: \"exampleb2ctenant.onmicrosoft.com\",\n    resourceGroupName: \"example-rg\",\n    skuName: \"PremiumP1\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.aadb2c.Directory(\"example\",\n    country_code=\"US\",\n    data_residency_location=\"United States\",\n    display_name=\"example-b2c-tenant\",\n    domain_name=\"exampleb2ctenant.onmicrosoft.com\",\n    resource_group_name=\"example-rg\",\n    sku_name=\"PremiumP1\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.AadB2C.Directory(\"example\", new()\n    {\n        CountryCode = \"US\",\n        DataResidencyLocation = \"United States\",\n        DisplayName = \"example-b2c-tenant\",\n        DomainName = \"exampleb2ctenant.onmicrosoft.com\",\n        ResourceGroupName = \"example-rg\",\n        SkuName = \"PremiumP1\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/aadb2c\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := aadb2c.NewDirectory(ctx, \"example\", \u0026aadb2c.DirectoryArgs{\n\t\t\tCountryCode:           pulumi.String(\"US\"),\n\t\t\tDataResidencyLocation: pulumi.String(\"United States\"),\n\t\t\tDisplayName:           pulumi.String(\"example-b2c-tenant\"),\n\t\t\tDomainName:            pulumi.String(\"exampleb2ctenant.onmicrosoft.com\"),\n\t\t\tResourceGroupName:     pulumi.String(\"example-rg\"),\n\t\t\tSkuName:               pulumi.String(\"PremiumP1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.aadb2c.Directory;\nimport com.pulumi.azure.aadb2c.DirectoryArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new Directory(\"example\", DirectoryArgs.builder()\n            .countryCode(\"US\")\n            .dataResidencyLocation(\"United States\")\n            .displayName(\"example-b2c-tenant\")\n            .domainName(\"exampleb2ctenant.onmicrosoft.com\")\n            .resourceGroupName(\"example-rg\")\n            .skuName(\"PremiumP1\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:aadb2c:Directory\n    properties:\n      countryCode: US\n      dataResidencyLocation: United States\n      displayName: example-b2c-tenant\n      domainName: exampleb2ctenant.onmicrosoft.com\n      resourceGroupName: example-rg\n      skuName: PremiumP1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.AzureActiveDirectory` - 2021-04-01-preview\n\n## Import\n\nAAD B2C Directories can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:aadb2c/directory:Directory example /subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/example-resource-group/providers/Microsoft.AzureActiveDirectory/b2cDirectories/directory-name\n```\n\n","properties":{"billingType":{"type":"string","description":"The type of billing for the AAD B2C tenant. Possible values include: `MAU` or `Auths`.\n"},"countryCode":{"type":"string","description":"Country code of the B2C tenant. The \u003cspan pulumi-lang-nodejs=\"`countryCode`\" pulumi-lang-dotnet=\"`CountryCode`\" pulumi-lang-go=\"`countryCode`\" pulumi-lang-python=\"`country_code`\" pulumi-lang-yaml=\"`countryCode`\" pulumi-lang-java=\"`countryCode`\"\u003e`country_code`\u003c/span\u003e should be valid for the specified \u003cspan pulumi-lang-nodejs=\"`dataResidencyLocation`\" pulumi-lang-dotnet=\"`DataResidencyLocation`\" pulumi-lang-go=\"`dataResidencyLocation`\" pulumi-lang-python=\"`data_residency_location`\" pulumi-lang-yaml=\"`dataResidencyLocation`\" pulumi-lang-java=\"`dataResidencyLocation`\"\u003e`data_residency_location`\u003c/span\u003e. See [official docs](https://aka.ms/B2CDataResidency) for valid country codes. Required when creating a new resource. Changing this forces a new AAD B2C Directory to be created.\n"},"dataResidencyLocation":{"type":"string","description":"Location in which the B2C tenant is hosted and data resides. The \u003cspan pulumi-lang-nodejs=\"`dataResidencyLocation`\" pulumi-lang-dotnet=\"`DataResidencyLocation`\" pulumi-lang-go=\"`dataResidencyLocation`\" pulumi-lang-python=\"`data_residency_location`\" pulumi-lang-yaml=\"`dataResidencyLocation`\" pulumi-lang-java=\"`dataResidencyLocation`\"\u003e`data_residency_location`\u003c/span\u003e should be valid for the specified \u003cspan pulumi-lang-nodejs=\"`countryCode`\" pulumi-lang-dotnet=\"`CountryCode`\" pulumi-lang-go=\"`countryCode`\" pulumi-lang-python=\"`country_code`\" pulumi-lang-yaml=\"`countryCode`\" pulumi-lang-java=\"`countryCode`\"\u003e`country_code`\u003c/span\u003e. See [official docs](https://aka.ms/B2CDataResidenc) for more information. Changing this forces a new AAD B2C Directory to be created. Possible values are `Asia Pacific`, `Australia`, `Europe`, `Global` and `United States`.\n"},"displayName":{"type":"string","description":"The initial display name of the B2C tenant. Required when creating a new resource. Changing this forces a new AAD B2C Directory to be created.\n"},"domainName":{"type":"string","description":"Domain name of the B2C tenant, including the `.onmicrosoft.com` suffix. Changing this forces a new AAD B2C Directory to be created.\n"},"effectiveStartDate":{"type":"string","description":"The date from which the billing type took effect. May not be populated until after the first billing cycle.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the AAD B2C Directory should exist. Changing this forces a new AAD B2C Directory to be created.\n"},"skuName":{"type":"string","description":"Billing SKU for the B2C tenant. Must be one of: `PremiumP1` or `PremiumP2` (`Standard` is not supported). See [official docs](https://aka.ms/b2cBilling) for more information.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the AAD B2C Directory.\n"},"tenantId":{"type":"string","description":"The Tenant ID for the AAD B2C tenant.\n"}},"required":["billingType","countryCode","dataResidencyLocation","displayName","domainName","effectiveStartDate","resourceGroupName","skuName","tenantId"],"inputProperties":{"countryCode":{"type":"string","description":"Country code of the B2C tenant. The \u003cspan pulumi-lang-nodejs=\"`countryCode`\" pulumi-lang-dotnet=\"`CountryCode`\" pulumi-lang-go=\"`countryCode`\" pulumi-lang-python=\"`country_code`\" pulumi-lang-yaml=\"`countryCode`\" pulumi-lang-java=\"`countryCode`\"\u003e`country_code`\u003c/span\u003e should be valid for the specified \u003cspan pulumi-lang-nodejs=\"`dataResidencyLocation`\" pulumi-lang-dotnet=\"`DataResidencyLocation`\" pulumi-lang-go=\"`dataResidencyLocation`\" pulumi-lang-python=\"`data_residency_location`\" pulumi-lang-yaml=\"`dataResidencyLocation`\" pulumi-lang-java=\"`dataResidencyLocation`\"\u003e`data_residency_location`\u003c/span\u003e. See [official docs](https://aka.ms/B2CDataResidency) for valid country codes. Required when creating a new resource. Changing this forces a new AAD B2C Directory to be created.\n","willReplaceOnChanges":true},"dataResidencyLocation":{"type":"string","description":"Location in which the B2C tenant is hosted and data resides. The \u003cspan pulumi-lang-nodejs=\"`dataResidencyLocation`\" pulumi-lang-dotnet=\"`DataResidencyLocation`\" pulumi-lang-go=\"`dataResidencyLocation`\" pulumi-lang-python=\"`data_residency_location`\" pulumi-lang-yaml=\"`dataResidencyLocation`\" pulumi-lang-java=\"`dataResidencyLocation`\"\u003e`data_residency_location`\u003c/span\u003e should be valid for the specified \u003cspan pulumi-lang-nodejs=\"`countryCode`\" pulumi-lang-dotnet=\"`CountryCode`\" pulumi-lang-go=\"`countryCode`\" pulumi-lang-python=\"`country_code`\" pulumi-lang-yaml=\"`countryCode`\" pulumi-lang-java=\"`countryCode`\"\u003e`country_code`\u003c/span\u003e. See [official docs](https://aka.ms/B2CDataResidenc) for more information. Changing this forces a new AAD B2C Directory to be created. Possible values are `Asia Pacific`, `Australia`, `Europe`, `Global` and `United States`.\n","willReplaceOnChanges":true},"displayName":{"type":"string","description":"The initial display name of the B2C tenant. Required when creating a new resource. Changing this forces a new AAD B2C Directory to be created.\n","willReplaceOnChanges":true},"domainName":{"type":"string","description":"Domain name of the B2C tenant, including the `.onmicrosoft.com` suffix. Changing this forces a new AAD B2C Directory to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the AAD B2C Directory should exist. Changing this forces a new AAD B2C Directory to be created.\n","willReplaceOnChanges":true},"skuName":{"type":"string","description":"Billing SKU for the B2C tenant. Must be one of: `PremiumP1` or `PremiumP2` (`Standard` is not supported). See [official docs](https://aka.ms/b2cBilling) for more information.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the AAD B2C Directory.\n"}},"requiredInputs":["dataResidencyLocation","domainName","resourceGroupName","skuName"],"stateInputs":{"description":"Input properties used for looking up and filtering Directory resources.\n","properties":{"billingType":{"type":"string","description":"The type of billing for the AAD B2C tenant. Possible values include: `MAU` or `Auths`.\n"},"countryCode":{"type":"string","description":"Country code of the B2C tenant. The \u003cspan pulumi-lang-nodejs=\"`countryCode`\" pulumi-lang-dotnet=\"`CountryCode`\" pulumi-lang-go=\"`countryCode`\" pulumi-lang-python=\"`country_code`\" pulumi-lang-yaml=\"`countryCode`\" pulumi-lang-java=\"`countryCode`\"\u003e`country_code`\u003c/span\u003e should be valid for the specified \u003cspan pulumi-lang-nodejs=\"`dataResidencyLocation`\" pulumi-lang-dotnet=\"`DataResidencyLocation`\" pulumi-lang-go=\"`dataResidencyLocation`\" pulumi-lang-python=\"`data_residency_location`\" pulumi-lang-yaml=\"`dataResidencyLocation`\" pulumi-lang-java=\"`dataResidencyLocation`\"\u003e`data_residency_location`\u003c/span\u003e. See [official docs](https://aka.ms/B2CDataResidency) for valid country codes. Required when creating a new resource. Changing this forces a new AAD B2C Directory to be created.\n","willReplaceOnChanges":true},"dataResidencyLocation":{"type":"string","description":"Location in which the B2C tenant is hosted and data resides. The \u003cspan pulumi-lang-nodejs=\"`dataResidencyLocation`\" pulumi-lang-dotnet=\"`DataResidencyLocation`\" pulumi-lang-go=\"`dataResidencyLocation`\" pulumi-lang-python=\"`data_residency_location`\" pulumi-lang-yaml=\"`dataResidencyLocation`\" pulumi-lang-java=\"`dataResidencyLocation`\"\u003e`data_residency_location`\u003c/span\u003e should be valid for the specified \u003cspan pulumi-lang-nodejs=\"`countryCode`\" pulumi-lang-dotnet=\"`CountryCode`\" pulumi-lang-go=\"`countryCode`\" pulumi-lang-python=\"`country_code`\" pulumi-lang-yaml=\"`countryCode`\" pulumi-lang-java=\"`countryCode`\"\u003e`country_code`\u003c/span\u003e. See [official docs](https://aka.ms/B2CDataResidenc) for more information. Changing this forces a new AAD B2C Directory to be created. Possible values are `Asia Pacific`, `Australia`, `Europe`, `Global` and `United States`.\n","willReplaceOnChanges":true},"displayName":{"type":"string","description":"The initial display name of the B2C tenant. Required when creating a new resource. Changing this forces a new AAD B2C Directory to be created.\n","willReplaceOnChanges":true},"domainName":{"type":"string","description":"Domain name of the B2C tenant, including the `.onmicrosoft.com` suffix. Changing this forces a new AAD B2C Directory to be created.\n","willReplaceOnChanges":true},"effectiveStartDate":{"type":"string","description":"The date from which the billing type took effect. May not be populated until after the first billing cycle.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the AAD B2C Directory should exist. Changing this forces a new AAD B2C Directory to be created.\n","willReplaceOnChanges":true},"skuName":{"type":"string","description":"Billing SKU for the B2C tenant. Must be one of: `PremiumP1` or `PremiumP2` (`Standard` is not supported). See [official docs](https://aka.ms/b2cBilling) for more information.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the AAD B2C Directory.\n"},"tenantId":{"type":"string","description":"The Tenant ID for the AAD B2C tenant.\n"}},"type":"object"}},"azure:advisor/suppression:Suppression":{"description":"Specifies a suppression for an Azure Advisor recommendation.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst current = azure.core.getClientConfig({});\nconst example = azure.advisor.getRecommendations({});\nconst exampleSuppression = new azure.advisor.Suppression(\"example\", {\n    name: \"HardcodedSuppressionName\",\n    recommendationId: test.recommendations[0].recommendationName,\n    resourceId: current.then(current =\u003e `/subscriptions/${current.subscriptionId}`),\n    ttl: \"01:00:00:00\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\ncurrent = azure.core.get_client_config()\nexample = azure.advisor.get_recommendations()\nexample_suppression = azure.advisor.Suppression(\"example\",\n    name=\"HardcodedSuppressionName\",\n    recommendation_id=test[\"recommendations\"][0][\"recommendationName\"],\n    resource_id=f\"/subscriptions/{current.subscription_id}\",\n    ttl=\"01:00:00:00\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var current = Azure.Core.GetClientConfig.Invoke();\n\n    var example = Azure.Advisor.GetRecommendations.Invoke();\n\n    var exampleSuppression = new Azure.Advisor.Suppression(\"example\", new()\n    {\n        Name = \"HardcodedSuppressionName\",\n        RecommendationId = test.Recommendations[0].RecommendationName,\n        ResourceId = $\"/subscriptions/{current.Apply(getClientConfigResult =\u003e getClientConfigResult.SubscriptionId)}\",\n        Ttl = \"01:00:00:00\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/advisor\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := core.GetClientConfig(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = advisor.GetRecommendations(ctx, \u0026advisor.GetRecommendationsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = advisor.NewSuppression(ctx, \"example\", \u0026advisor.SuppressionArgs{\n\t\t\tName:             pulumi.String(\"HardcodedSuppressionName\"),\n\t\t\tRecommendationId: pulumi.Any(test.Recommendations[0].RecommendationName),\n\t\t\tResourceId:       pulumi.Sprintf(\"/subscriptions/%v\", current.SubscriptionId),\n\t\t\tTtl:              pulumi.String(\"01:00:00:00\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.advisor.AdvisorFunctions;\nimport com.pulumi.azure.advisor.inputs.GetRecommendationsArgs;\nimport com.pulumi.azure.advisor.Suppression;\nimport com.pulumi.azure.advisor.SuppressionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var current = CoreFunctions.getClientConfig(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n        final var example = AdvisorFunctions.getRecommendations(GetRecommendationsArgs.builder()\n            .build());\n\n        var exampleSuppression = new Suppression(\"exampleSuppression\", SuppressionArgs.builder()\n            .name(\"HardcodedSuppressionName\")\n            .recommendationId(test.recommendations()[0].recommendationName())\n            .resourceId(String.format(\"/subscriptions/%s\", current.subscriptionId()))\n            .ttl(\"01:00:00:00\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleSuppression:\n    type: azure:advisor:Suppression\n    name: example\n    properties:\n      name: HardcodedSuppressionName\n      recommendationId: ${test.recommendations[0].recommendationName}\n      resourceId: /subscriptions/${current.subscriptionId}\n      ttl: 01:00:00:00\nvariables:\n  current:\n    fn::invoke:\n      function: azure:core:getClientConfig\n      arguments: {}\n  example:\n    fn::invoke:\n      function: azure:advisor:getRecommendations\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Advisor` - 2023-01-01\n\n## Import\n\nAdvisor suppressions can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:advisor/suppression:Suppression example /subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Advisor/recommendations/00000000-0000-0000-0000-000000000000/suppressions/name\n```\n\n","properties":{"name":{"type":"string","description":"The Name which should be used for this Advisor suppression. Changing this forces a new Advisor suppression to be created.\n"},"recommendationId":{"type":"string","description":"The ID of the Advisor recommendation to suppress. Changing this forces a new Advisor suppression to be created.\n"},"resourceId":{"type":"string","description":"The ID of the Resource to suppress the Advisor recommendation for. Changing this forces a new Advisor suppression to be created.\n"},"suppressionId":{"type":"string","description":"The GUID of the suppression.\n"},"ttl":{"type":"string","description":"A optional time to live value. If omitted, the suppression will not expire. Changing this forces a new Advisor suppression to be created.\n"}},"required":["name","recommendationId","resourceId","suppressionId"],"inputProperties":{"name":{"type":"string","description":"The Name which should be used for this Advisor suppression. Changing this forces a new Advisor suppression to be created.\n","willReplaceOnChanges":true},"recommendationId":{"type":"string","description":"The ID of the Advisor recommendation to suppress. Changing this forces a new Advisor suppression to be created.\n","willReplaceOnChanges":true},"resourceId":{"type":"string","description":"The ID of the Resource to suppress the Advisor recommendation for. Changing this forces a new Advisor suppression to be created.\n","willReplaceOnChanges":true},"ttl":{"type":"string","description":"A optional time to live value. If omitted, the suppression will not expire. Changing this forces a new Advisor suppression to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["recommendationId","resourceId"],"stateInputs":{"description":"Input properties used for looking up and filtering Suppression resources.\n","properties":{"name":{"type":"string","description":"The Name which should be used for this Advisor suppression. Changing this forces a new Advisor suppression to be created.\n","willReplaceOnChanges":true},"recommendationId":{"type":"string","description":"The ID of the Advisor recommendation to suppress. Changing this forces a new Advisor suppression to be created.\n","willReplaceOnChanges":true},"resourceId":{"type":"string","description":"The ID of the Resource to suppress the Advisor recommendation for. Changing this forces a new Advisor suppression to be created.\n","willReplaceOnChanges":true},"suppressionId":{"type":"string","description":"The GUID of the suppression.\n"},"ttl":{"type":"string","description":"A optional time to live value. If omitted, the suppression will not expire. Changing this forces a new Advisor suppression to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:aifoundry/hub:Hub":{"description":"Manages an AI Foundry Hub.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst current = azure.core.getClientConfig({});\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example\",\n    location: \"westeurope\",\n});\nconst exampleKeyVault = new azure.keyvault.KeyVault(\"example\", {\n    name: \"examplekv\",\n    location: example.location,\n    resourceGroupName: example.name,\n    tenantId: current.then(current =\u003e current.tenantId),\n    skuName: \"standard\",\n    purgeProtectionEnabled: true,\n});\nconst test = new azure.keyvault.AccessPolicy(\"test\", {\n    keyVaultId: exampleKeyVault.id,\n    tenantId: current.then(current =\u003e current.tenantId),\n    objectId: current.then(current =\u003e current.objectId),\n    keyPermissions: [\n        \"Create\",\n        \"Get\",\n        \"Delete\",\n        \"Purge\",\n        \"GetRotationPolicy\",\n    ],\n});\nconst exampleAccount = new azure.storage.Account(\"example\", {\n    name: \"examplesa\",\n    location: example.location,\n    resourceGroupName: example.name,\n    accountTier: \"Standard\",\n    accountReplicationType: \"LRS\",\n});\nconst exampleAIServices = new azure.cognitive.AIServices(\"example\", {\n    name: \"exampleaiservices\",\n    location: example.location,\n    resourceGroupName: example.name,\n    skuName: \"S0\",\n});\nconst exampleHub = new azure.aifoundry.Hub(\"example\", {\n    name: \"exampleaihub\",\n    location: exampleAIServices.location,\n    resourceGroupName: example.name,\n    storageAccountId: exampleAccount.id,\n    keyVaultId: exampleKeyVault.id,\n    identity: {\n        type: \"SystemAssigned\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\ncurrent = azure.core.get_client_config()\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example\",\n    location=\"westeurope\")\nexample_key_vault = azure.keyvault.KeyVault(\"example\",\n    name=\"examplekv\",\n    location=example.location,\n    resource_group_name=example.name,\n    tenant_id=current.tenant_id,\n    sku_name=\"standard\",\n    purge_protection_enabled=True)\ntest = azure.keyvault.AccessPolicy(\"test\",\n    key_vault_id=example_key_vault.id,\n    tenant_id=current.tenant_id,\n    object_id=current.object_id,\n    key_permissions=[\n        \"Create\",\n        \"Get\",\n        \"Delete\",\n        \"Purge\",\n        \"GetRotationPolicy\",\n    ])\nexample_account = azure.storage.Account(\"example\",\n    name=\"examplesa\",\n    location=example.location,\n    resource_group_name=example.name,\n    account_tier=\"Standard\",\n    account_replication_type=\"LRS\")\nexample_ai_services = azure.cognitive.AIServices(\"example\",\n    name=\"exampleaiservices\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku_name=\"S0\")\nexample_hub = azure.aifoundry.Hub(\"example\",\n    name=\"exampleaihub\",\n    location=example_ai_services.location,\n    resource_group_name=example.name,\n    storage_account_id=example_account.id,\n    key_vault_id=example_key_vault.id,\n    identity={\n        \"type\": \"SystemAssigned\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var current = Azure.Core.GetClientConfig.Invoke();\n\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example\",\n        Location = \"westeurope\",\n    });\n\n    var exampleKeyVault = new Azure.KeyVault.KeyVault(\"example\", new()\n    {\n        Name = \"examplekv\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        TenantId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.TenantId),\n        SkuName = \"standard\",\n        PurgeProtectionEnabled = true,\n    });\n\n    var test = new Azure.KeyVault.AccessPolicy(\"test\", new()\n    {\n        KeyVaultId = exampleKeyVault.Id,\n        TenantId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.TenantId),\n        ObjectId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.ObjectId),\n        KeyPermissions = new[]\n        {\n            \"Create\",\n            \"Get\",\n            \"Delete\",\n            \"Purge\",\n            \"GetRotationPolicy\",\n        },\n    });\n\n    var exampleAccount = new Azure.Storage.Account(\"example\", new()\n    {\n        Name = \"examplesa\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        AccountTier = \"Standard\",\n        AccountReplicationType = \"LRS\",\n    });\n\n    var exampleAIServices = new Azure.Cognitive.AIServices(\"example\", new()\n    {\n        Name = \"exampleaiservices\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        SkuName = \"S0\",\n    });\n\n    var exampleHub = new Azure.AIFoundry.Hub(\"example\", new()\n    {\n        Name = \"exampleaihub\",\n        Location = exampleAIServices.Location,\n        ResourceGroupName = example.Name,\n        StorageAccountId = exampleAccount.Id,\n        KeyVaultId = exampleKeyVault.Id,\n        Identity = new Azure.AIFoundry.Inputs.HubIdentityArgs\n        {\n            Type = \"SystemAssigned\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/aifoundry\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/cognitive\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/keyvault\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := core.GetClientConfig(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example\"),\n\t\t\tLocation: pulumi.String(\"westeurope\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleKeyVault, err := keyvault.NewKeyVault(ctx, \"example\", \u0026keyvault.KeyVaultArgs{\n\t\t\tName:                   pulumi.String(\"examplekv\"),\n\t\t\tLocation:               example.Location,\n\t\t\tResourceGroupName:      example.Name,\n\t\t\tTenantId:               pulumi.String(current.TenantId),\n\t\t\tSkuName:                pulumi.String(\"standard\"),\n\t\t\tPurgeProtectionEnabled: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = keyvault.NewAccessPolicy(ctx, \"test\", \u0026keyvault.AccessPolicyArgs{\n\t\t\tKeyVaultId: exampleKeyVault.ID(),\n\t\t\tTenantId:   pulumi.String(current.TenantId),\n\t\t\tObjectId:   pulumi.String(current.ObjectId),\n\t\t\tKeyPermissions: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"Create\"),\n\t\t\t\tpulumi.String(\"Get\"),\n\t\t\t\tpulumi.String(\"Delete\"),\n\t\t\t\tpulumi.String(\"Purge\"),\n\t\t\t\tpulumi.String(\"GetRotationPolicy\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := storage.NewAccount(ctx, \"example\", \u0026storage.AccountArgs{\n\t\t\tName:                   pulumi.String(\"examplesa\"),\n\t\t\tLocation:               example.Location,\n\t\t\tResourceGroupName:      example.Name,\n\t\t\tAccountTier:            pulumi.String(\"Standard\"),\n\t\t\tAccountReplicationType: pulumi.String(\"LRS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAIServices, err := cognitive.NewAIServices(ctx, \"example\", \u0026cognitive.AIServicesArgs{\n\t\t\tName:              pulumi.String(\"exampleaiservices\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSkuName:           pulumi.String(\"S0\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = aifoundry.NewHub(ctx, \"example\", \u0026aifoundry.HubArgs{\n\t\t\tName:              pulumi.String(\"exampleaihub\"),\n\t\t\tLocation:          exampleAIServices.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tStorageAccountId:  exampleAccount.ID(),\n\t\t\tKeyVaultId:        exampleKeyVault.ID(),\n\t\t\tIdentity: \u0026aifoundry.HubIdentityArgs{\n\t\t\t\tType: pulumi.String(\"SystemAssigned\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.keyvault.KeyVault;\nimport com.pulumi.azure.keyvault.KeyVaultArgs;\nimport com.pulumi.azure.keyvault.AccessPolicy;\nimport com.pulumi.azure.keyvault.AccessPolicyArgs;\nimport com.pulumi.azure.storage.Account;\nimport com.pulumi.azure.storage.AccountArgs;\nimport com.pulumi.azure.cognitive.AIServices;\nimport com.pulumi.azure.cognitive.AIServicesArgs;\nimport com.pulumi.azure.aifoundry.Hub;\nimport com.pulumi.azure.aifoundry.HubArgs;\nimport com.pulumi.azure.aifoundry.inputs.HubIdentityArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var current = CoreFunctions.getClientConfig(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example\")\n            .location(\"westeurope\")\n            .build());\n\n        var exampleKeyVault = new KeyVault(\"exampleKeyVault\", KeyVaultArgs.builder()\n            .name(\"examplekv\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .tenantId(current.tenantId())\n            .skuName(\"standard\")\n            .purgeProtectionEnabled(true)\n            .build());\n\n        var test = new AccessPolicy(\"test\", AccessPolicyArgs.builder()\n            .keyVaultId(exampleKeyVault.id())\n            .tenantId(current.tenantId())\n            .objectId(current.objectId())\n            .keyPermissions(            \n                \"Create\",\n                \"Get\",\n                \"Delete\",\n                \"Purge\",\n                \"GetRotationPolicy\")\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"examplesa\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .accountTier(\"Standard\")\n            .accountReplicationType(\"LRS\")\n            .build());\n\n        var exampleAIServices = new AIServices(\"exampleAIServices\", AIServicesArgs.builder()\n            .name(\"exampleaiservices\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .skuName(\"S0\")\n            .build());\n\n        var exampleHub = new Hub(\"exampleHub\", HubArgs.builder()\n            .name(\"exampleaihub\")\n            .location(exampleAIServices.location())\n            .resourceGroupName(example.name())\n            .storageAccountId(exampleAccount.id())\n            .keyVaultId(exampleKeyVault.id())\n            .identity(HubIdentityArgs.builder()\n                .type(\"SystemAssigned\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example\n      location: westeurope\n  exampleKeyVault:\n    type: azure:keyvault:KeyVault\n    name: example\n    properties:\n      name: examplekv\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      tenantId: ${current.tenantId}\n      skuName: standard\n      purgeProtectionEnabled: true\n  test:\n    type: azure:keyvault:AccessPolicy\n    properties:\n      keyVaultId: ${exampleKeyVault.id}\n      tenantId: ${current.tenantId}\n      objectId: ${current.objectId}\n      keyPermissions:\n        - Create\n        - Get\n        - Delete\n        - Purge\n        - GetRotationPolicy\n  exampleAccount:\n    type: azure:storage:Account\n    name: example\n    properties:\n      name: examplesa\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      accountTier: Standard\n      accountReplicationType: LRS\n  exampleAIServices:\n    type: azure:cognitive:AIServices\n    name: example\n    properties:\n      name: exampleaiservices\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      skuName: S0\n  exampleHub:\n    type: azure:aifoundry:Hub\n    name: example\n    properties:\n      name: exampleaihub\n      location: ${exampleAIServices.location}\n      resourceGroupName: ${example.name}\n      storageAccountId: ${exampleAccount.id}\n      keyVaultId: ${exampleKeyVault.id}\n      identity:\n        type: SystemAssigned\nvariables:\n  current:\n    fn::invoke:\n      function: azure:core:getClientConfig\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.MachineLearningServices` - 2025-06-01\n\n## Import\n\nAI Foundry Hubs can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:aifoundry/hub:Hub example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.MachineLearningServices/workspaces/hub1\n```\n\n","properties":{"applicationInsightsId":{"type":"string","description":"The Application Insights ID that should be used by this AI Foundry Hub.\n"},"containerRegistryId":{"type":"string","description":"The Container Registry ID that should be used by this AI Foundry Hub.\n"},"description":{"type":"string","description":"The description of this AI Foundry Hub.\n"},"discoveryUrl":{"type":"string","description":"The URL for the discovery service to identify regional endpoints for AI Foundry Hub services.\n"},"encryption":{"$ref":"#/types/azure:aifoundry/HubEncryption:HubEncryption","description":"An \u003cspan pulumi-lang-nodejs=\"`encryption`\" pulumi-lang-dotnet=\"`Encryption`\" pulumi-lang-go=\"`encryption`\" pulumi-lang-python=\"`encryption`\" pulumi-lang-yaml=\"`encryption`\" pulumi-lang-java=\"`encryption`\"\u003e`encryption`\u003c/span\u003e block as defined below. Changing this forces a new AI Foundry Hub to be created.\n"},"friendlyName":{"type":"string","description":"The display name of this AI Foundry Hub.\n"},"highBusinessImpactEnabled":{"type":"boolean","description":"Whether High Business Impact (HBI) should be enabled or not. Enabling this setting will reduce diagnostic data collected by the service. Changing this forces a new AI Foundry Hub to be created. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`highBusinessImpactEnabled`\" pulumi-lang-dotnet=\"`HighBusinessImpactEnabled`\" pulumi-lang-go=\"`highBusinessImpactEnabled`\" pulumi-lang-python=\"`high_business_impact_enabled`\" pulumi-lang-yaml=\"`highBusinessImpactEnabled`\" pulumi-lang-java=\"`highBusinessImpactEnabled`\"\u003e`high_business_impact_enabled`\u003c/span\u003e will be enabled by default when creating an AI Foundry Hub with \u003cspan pulumi-lang-nodejs=\"`encryption`\" pulumi-lang-dotnet=\"`Encryption`\" pulumi-lang-go=\"`encryption`\" pulumi-lang-python=\"`encryption`\" pulumi-lang-yaml=\"`encryption`\" pulumi-lang-java=\"`encryption`\"\u003e`encryption`\u003c/span\u003e enabled.\n"},"identity":{"$ref":"#/types/azure:aifoundry/HubIdentity:HubIdentity","description":"A \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"keyVaultId":{"type":"string","description":"The Key Vault ID that should be used by this AI Foundry Hub. Changing this forces a new AI Foundry Hub to be created.\n"},"location":{"type":"string","description":"The Azure Region where the AI Foundry Hub should exist. Changing this forces a new AI Foundry Hub to be created.\n"},"managedNetwork":{"$ref":"#/types/azure:aifoundry/HubManagedNetwork:HubManagedNetwork","description":"A \u003cspan pulumi-lang-nodejs=\"`managedNetwork`\" pulumi-lang-dotnet=\"`ManagedNetwork`\" pulumi-lang-go=\"`managedNetwork`\" pulumi-lang-python=\"`managed_network`\" pulumi-lang-yaml=\"`managedNetwork`\" pulumi-lang-java=\"`managedNetwork`\"\u003e`managed_network`\u003c/span\u003e block as defined below.\n"},"name":{"type":"string","description":"The name which should be used for this AI Foundry Hub. Changing this forces a new AI Foundry Hub to be created.\n"},"primaryUserAssignedIdentity":{"type":"string","description":"The user assigned identity ID that represents the AI Foundry Hub identity. This must be set when enabling encryption with a user assigned identity.\n"},"publicNetworkAccess":{"type":"string","description":"Whether public network access for this AI Service Hub should be enabled. Possible values include `Enabled` and `Disabled`. Defaults to `Enabled`.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the AI Foundry Hub should exist. Changing this forces a new AI Foundry Hub to be created.\n"},"storageAccountId":{"type":"string","description":"The Storage Account ID that should be used by this AI Foundry Hub. Changing this forces a new AI Foundry Hub to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the AI Foundry Hub.\n"},"workspaceId":{"type":"string","description":"The immutable ID associated with this AI Foundry Hub.\n"}},"required":["discoveryUrl","highBusinessImpactEnabled","identity","keyVaultId","location","managedNetwork","name","resourceGroupName","storageAccountId","workspaceId"],"inputProperties":{"applicationInsightsId":{"type":"string","description":"The Application Insights ID that should be used by this AI Foundry Hub.\n"},"containerRegistryId":{"type":"string","description":"The Container Registry ID that should be used by this AI Foundry Hub.\n"},"description":{"type":"string","description":"The description of this AI Foundry Hub.\n"},"encryption":{"$ref":"#/types/azure:aifoundry/HubEncryption:HubEncryption","description":"An \u003cspan pulumi-lang-nodejs=\"`encryption`\" pulumi-lang-dotnet=\"`Encryption`\" pulumi-lang-go=\"`encryption`\" pulumi-lang-python=\"`encryption`\" pulumi-lang-yaml=\"`encryption`\" pulumi-lang-java=\"`encryption`\"\u003e`encryption`\u003c/span\u003e block as defined below. Changing this forces a new AI Foundry Hub to be created.\n","willReplaceOnChanges":true},"friendlyName":{"type":"string","description":"The display name of this AI Foundry Hub.\n"},"highBusinessImpactEnabled":{"type":"boolean","description":"Whether High Business Impact (HBI) should be enabled or not. Enabling this setting will reduce diagnostic data collected by the service. Changing this forces a new AI Foundry Hub to be created. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`highBusinessImpactEnabled`\" pulumi-lang-dotnet=\"`HighBusinessImpactEnabled`\" pulumi-lang-go=\"`highBusinessImpactEnabled`\" pulumi-lang-python=\"`high_business_impact_enabled`\" pulumi-lang-yaml=\"`highBusinessImpactEnabled`\" pulumi-lang-java=\"`highBusinessImpactEnabled`\"\u003e`high_business_impact_enabled`\u003c/span\u003e will be enabled by default when creating an AI Foundry Hub with \u003cspan pulumi-lang-nodejs=\"`encryption`\" pulumi-lang-dotnet=\"`Encryption`\" pulumi-lang-go=\"`encryption`\" pulumi-lang-python=\"`encryption`\" pulumi-lang-yaml=\"`encryption`\" pulumi-lang-java=\"`encryption`\"\u003e`encryption`\u003c/span\u003e enabled.\n","willReplaceOnChanges":true},"identity":{"$ref":"#/types/azure:aifoundry/HubIdentity:HubIdentity","description":"A \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"keyVaultId":{"type":"string","description":"The Key Vault ID that should be used by this AI Foundry Hub. Changing this forces a new AI Foundry Hub to be created.\n","willReplaceOnChanges":true},"location":{"type":"string","description":"The Azure Region where the AI Foundry Hub should exist. Changing this forces a new AI Foundry Hub to be created.\n","willReplaceOnChanges":true},"managedNetwork":{"$ref":"#/types/azure:aifoundry/HubManagedNetwork:HubManagedNetwork","description":"A \u003cspan pulumi-lang-nodejs=\"`managedNetwork`\" pulumi-lang-dotnet=\"`ManagedNetwork`\" pulumi-lang-go=\"`managedNetwork`\" pulumi-lang-python=\"`managed_network`\" pulumi-lang-yaml=\"`managedNetwork`\" pulumi-lang-java=\"`managedNetwork`\"\u003e`managed_network`\u003c/span\u003e block as defined below.\n"},"name":{"type":"string","description":"The name which should be used for this AI Foundry Hub. Changing this forces a new AI Foundry Hub to be created.\n","willReplaceOnChanges":true},"primaryUserAssignedIdentity":{"type":"string","description":"The user assigned identity ID that represents the AI Foundry Hub identity. This must be set when enabling encryption with a user assigned identity.\n"},"publicNetworkAccess":{"type":"string","description":"Whether public network access for this AI Service Hub should be enabled. Possible values include `Enabled` and `Disabled`. Defaults to `Enabled`.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the AI Foundry Hub should exist. Changing this forces a new AI Foundry Hub to be created.\n","willReplaceOnChanges":true},"storageAccountId":{"type":"string","description":"The Storage Account ID that should be used by this AI Foundry Hub. Changing this forces a new AI Foundry Hub to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the AI Foundry Hub.\n"}},"requiredInputs":["identity","keyVaultId","resourceGroupName","storageAccountId"],"stateInputs":{"description":"Input properties used for looking up and filtering Hub resources.\n","properties":{"applicationInsightsId":{"type":"string","description":"The Application Insights ID that should be used by this AI Foundry Hub.\n"},"containerRegistryId":{"type":"string","description":"The Container Registry ID that should be used by this AI Foundry Hub.\n"},"description":{"type":"string","description":"The description of this AI Foundry Hub.\n"},"discoveryUrl":{"type":"string","description":"The URL for the discovery service to identify regional endpoints for AI Foundry Hub services.\n"},"encryption":{"$ref":"#/types/azure:aifoundry/HubEncryption:HubEncryption","description":"An \u003cspan pulumi-lang-nodejs=\"`encryption`\" pulumi-lang-dotnet=\"`Encryption`\" pulumi-lang-go=\"`encryption`\" pulumi-lang-python=\"`encryption`\" pulumi-lang-yaml=\"`encryption`\" pulumi-lang-java=\"`encryption`\"\u003e`encryption`\u003c/span\u003e block as defined below. Changing this forces a new AI Foundry Hub to be created.\n","willReplaceOnChanges":true},"friendlyName":{"type":"string","description":"The display name of this AI Foundry Hub.\n"},"highBusinessImpactEnabled":{"type":"boolean","description":"Whether High Business Impact (HBI) should be enabled or not. Enabling this setting will reduce diagnostic data collected by the service. Changing this forces a new AI Foundry Hub to be created. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`highBusinessImpactEnabled`\" pulumi-lang-dotnet=\"`HighBusinessImpactEnabled`\" pulumi-lang-go=\"`highBusinessImpactEnabled`\" pulumi-lang-python=\"`high_business_impact_enabled`\" pulumi-lang-yaml=\"`highBusinessImpactEnabled`\" pulumi-lang-java=\"`highBusinessImpactEnabled`\"\u003e`high_business_impact_enabled`\u003c/span\u003e will be enabled by default when creating an AI Foundry Hub with \u003cspan pulumi-lang-nodejs=\"`encryption`\" pulumi-lang-dotnet=\"`Encryption`\" pulumi-lang-go=\"`encryption`\" pulumi-lang-python=\"`encryption`\" pulumi-lang-yaml=\"`encryption`\" pulumi-lang-java=\"`encryption`\"\u003e`encryption`\u003c/span\u003e enabled.\n","willReplaceOnChanges":true},"identity":{"$ref":"#/types/azure:aifoundry/HubIdentity:HubIdentity","description":"A \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"keyVaultId":{"type":"string","description":"The Key Vault ID that should be used by this AI Foundry Hub. Changing this forces a new AI Foundry Hub to be created.\n","willReplaceOnChanges":true},"location":{"type":"string","description":"The Azure Region where the AI Foundry Hub should exist. Changing this forces a new AI Foundry Hub to be created.\n","willReplaceOnChanges":true},"managedNetwork":{"$ref":"#/types/azure:aifoundry/HubManagedNetwork:HubManagedNetwork","description":"A \u003cspan pulumi-lang-nodejs=\"`managedNetwork`\" pulumi-lang-dotnet=\"`ManagedNetwork`\" pulumi-lang-go=\"`managedNetwork`\" pulumi-lang-python=\"`managed_network`\" pulumi-lang-yaml=\"`managedNetwork`\" pulumi-lang-java=\"`managedNetwork`\"\u003e`managed_network`\u003c/span\u003e block as defined below.\n"},"name":{"type":"string","description":"The name which should be used for this AI Foundry Hub. Changing this forces a new AI Foundry Hub to be created.\n","willReplaceOnChanges":true},"primaryUserAssignedIdentity":{"type":"string","description":"The user assigned identity ID that represents the AI Foundry Hub identity. This must be set when enabling encryption with a user assigned identity.\n"},"publicNetworkAccess":{"type":"string","description":"Whether public network access for this AI Service Hub should be enabled. Possible values include `Enabled` and `Disabled`. Defaults to `Enabled`.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the AI Foundry Hub should exist. Changing this forces a new AI Foundry Hub to be created.\n","willReplaceOnChanges":true},"storageAccountId":{"type":"string","description":"The Storage Account ID that should be used by this AI Foundry Hub. Changing this forces a new AI Foundry Hub to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the AI Foundry Hub.\n"},"workspaceId":{"type":"string","description":"The immutable ID associated with this AI Foundry Hub.\n"}},"type":"object"}},"azure:aifoundry/project:Project":{"description":"Manages an AI Foundry Project.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst current = azure.core.getClientConfig({});\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example\",\n    location: \"westeurope\",\n});\nconst exampleKeyVault = new azure.keyvault.KeyVault(\"example\", {\n    name: \"examplekv\",\n    location: example.location,\n    resourceGroupName: example.name,\n    tenantId: current.then(current =\u003e current.tenantId),\n    skuName: \"standard\",\n    purgeProtectionEnabled: true,\n});\nconst exampleAccessPolicy = new azure.keyvault.AccessPolicy(\"example\", {\n    keyVaultId: exampleKeyVault.id,\n    tenantId: current.then(current =\u003e current.tenantId),\n    objectId: current.then(current =\u003e current.objectId),\n    keyPermissions: [\n        \"Create\",\n        \"Get\",\n        \"Delete\",\n        \"Purge\",\n        \"GetRotationPolicy\",\n    ],\n});\nconst exampleAccount = new azure.storage.Account(\"example\", {\n    name: \"examplesa\",\n    location: example.location,\n    resourceGroupName: example.name,\n    accountTier: \"Standard\",\n    accountReplicationType: \"LRS\",\n});\nconst exampleAIServices = new azure.cognitive.AIServices(\"example\", {\n    name: \"exampleaiservices\",\n    location: example.location,\n    resourceGroupName: example.name,\n    skuName: \"S0\",\n});\nconst exampleHub = new azure.aifoundry.Hub(\"example\", {\n    name: \"exampleaihub\",\n    location: exampleAIServices.location,\n    resourceGroupName: example.name,\n    storageAccountId: exampleAccount.id,\n    keyVaultId: exampleKeyVault.id,\n    identity: {\n        type: \"SystemAssigned\",\n    },\n});\nconst exampleProject = new azure.aifoundry.Project(\"example\", {\n    name: \"example\",\n    location: exampleHub.location,\n    aiServicesHubId: exampleHub.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\ncurrent = azure.core.get_client_config()\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example\",\n    location=\"westeurope\")\nexample_key_vault = azure.keyvault.KeyVault(\"example\",\n    name=\"examplekv\",\n    location=example.location,\n    resource_group_name=example.name,\n    tenant_id=current.tenant_id,\n    sku_name=\"standard\",\n    purge_protection_enabled=True)\nexample_access_policy = azure.keyvault.AccessPolicy(\"example\",\n    key_vault_id=example_key_vault.id,\n    tenant_id=current.tenant_id,\n    object_id=current.object_id,\n    key_permissions=[\n        \"Create\",\n        \"Get\",\n        \"Delete\",\n        \"Purge\",\n        \"GetRotationPolicy\",\n    ])\nexample_account = azure.storage.Account(\"example\",\n    name=\"examplesa\",\n    location=example.location,\n    resource_group_name=example.name,\n    account_tier=\"Standard\",\n    account_replication_type=\"LRS\")\nexample_ai_services = azure.cognitive.AIServices(\"example\",\n    name=\"exampleaiservices\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku_name=\"S0\")\nexample_hub = azure.aifoundry.Hub(\"example\",\n    name=\"exampleaihub\",\n    location=example_ai_services.location,\n    resource_group_name=example.name,\n    storage_account_id=example_account.id,\n    key_vault_id=example_key_vault.id,\n    identity={\n        \"type\": \"SystemAssigned\",\n    })\nexample_project = azure.aifoundry.Project(\"example\",\n    name=\"example\",\n    location=example_hub.location,\n    ai_services_hub_id=example_hub.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var current = Azure.Core.GetClientConfig.Invoke();\n\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example\",\n        Location = \"westeurope\",\n    });\n\n    var exampleKeyVault = new Azure.KeyVault.KeyVault(\"example\", new()\n    {\n        Name = \"examplekv\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        TenantId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.TenantId),\n        SkuName = \"standard\",\n        PurgeProtectionEnabled = true,\n    });\n\n    var exampleAccessPolicy = new Azure.KeyVault.AccessPolicy(\"example\", new()\n    {\n        KeyVaultId = exampleKeyVault.Id,\n        TenantId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.TenantId),\n        ObjectId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.ObjectId),\n        KeyPermissions = new[]\n        {\n            \"Create\",\n            \"Get\",\n            \"Delete\",\n            \"Purge\",\n            \"GetRotationPolicy\",\n        },\n    });\n\n    var exampleAccount = new Azure.Storage.Account(\"example\", new()\n    {\n        Name = \"examplesa\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        AccountTier = \"Standard\",\n        AccountReplicationType = \"LRS\",\n    });\n\n    var exampleAIServices = new Azure.Cognitive.AIServices(\"example\", new()\n    {\n        Name = \"exampleaiservices\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        SkuName = \"S0\",\n    });\n\n    var exampleHub = new Azure.AIFoundry.Hub(\"example\", new()\n    {\n        Name = \"exampleaihub\",\n        Location = exampleAIServices.Location,\n        ResourceGroupName = example.Name,\n        StorageAccountId = exampleAccount.Id,\n        KeyVaultId = exampleKeyVault.Id,\n        Identity = new Azure.AIFoundry.Inputs.HubIdentityArgs\n        {\n            Type = \"SystemAssigned\",\n        },\n    });\n\n    var exampleProject = new Azure.AIFoundry.Project(\"example\", new()\n    {\n        Name = \"example\",\n        Location = exampleHub.Location,\n        AiServicesHubId = exampleHub.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/aifoundry\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/cognitive\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/keyvault\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := core.GetClientConfig(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example\"),\n\t\t\tLocation: pulumi.String(\"westeurope\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleKeyVault, err := keyvault.NewKeyVault(ctx, \"example\", \u0026keyvault.KeyVaultArgs{\n\t\t\tName:                   pulumi.String(\"examplekv\"),\n\t\t\tLocation:               example.Location,\n\t\t\tResourceGroupName:      example.Name,\n\t\t\tTenantId:               pulumi.String(current.TenantId),\n\t\t\tSkuName:                pulumi.String(\"standard\"),\n\t\t\tPurgeProtectionEnabled: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = keyvault.NewAccessPolicy(ctx, \"example\", \u0026keyvault.AccessPolicyArgs{\n\t\t\tKeyVaultId: exampleKeyVault.ID(),\n\t\t\tTenantId:   pulumi.String(current.TenantId),\n\t\t\tObjectId:   pulumi.String(current.ObjectId),\n\t\t\tKeyPermissions: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"Create\"),\n\t\t\t\tpulumi.String(\"Get\"),\n\t\t\t\tpulumi.String(\"Delete\"),\n\t\t\t\tpulumi.String(\"Purge\"),\n\t\t\t\tpulumi.String(\"GetRotationPolicy\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := storage.NewAccount(ctx, \"example\", \u0026storage.AccountArgs{\n\t\t\tName:                   pulumi.String(\"examplesa\"),\n\t\t\tLocation:               example.Location,\n\t\t\tResourceGroupName:      example.Name,\n\t\t\tAccountTier:            pulumi.String(\"Standard\"),\n\t\t\tAccountReplicationType: pulumi.String(\"LRS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAIServices, err := cognitive.NewAIServices(ctx, \"example\", \u0026cognitive.AIServicesArgs{\n\t\t\tName:              pulumi.String(\"exampleaiservices\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSkuName:           pulumi.String(\"S0\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleHub, err := aifoundry.NewHub(ctx, \"example\", \u0026aifoundry.HubArgs{\n\t\t\tName:              pulumi.String(\"exampleaihub\"),\n\t\t\tLocation:          exampleAIServices.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tStorageAccountId:  exampleAccount.ID(),\n\t\t\tKeyVaultId:        exampleKeyVault.ID(),\n\t\t\tIdentity: \u0026aifoundry.HubIdentityArgs{\n\t\t\t\tType: pulumi.String(\"SystemAssigned\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = aifoundry.NewProject(ctx, \"example\", \u0026aifoundry.ProjectArgs{\n\t\t\tName:            pulumi.String(\"example\"),\n\t\t\tLocation:        exampleHub.Location,\n\t\t\tAiServicesHubId: exampleHub.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.keyvault.KeyVault;\nimport com.pulumi.azure.keyvault.KeyVaultArgs;\nimport com.pulumi.azure.keyvault.AccessPolicy;\nimport com.pulumi.azure.keyvault.AccessPolicyArgs;\nimport com.pulumi.azure.storage.Account;\nimport com.pulumi.azure.storage.AccountArgs;\nimport com.pulumi.azure.cognitive.AIServices;\nimport com.pulumi.azure.cognitive.AIServicesArgs;\nimport com.pulumi.azure.aifoundry.Hub;\nimport com.pulumi.azure.aifoundry.HubArgs;\nimport com.pulumi.azure.aifoundry.inputs.HubIdentityArgs;\nimport com.pulumi.azure.aifoundry.Project;\nimport com.pulumi.azure.aifoundry.ProjectArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var current = CoreFunctions.getClientConfig(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example\")\n            .location(\"westeurope\")\n            .build());\n\n        var exampleKeyVault = new KeyVault(\"exampleKeyVault\", KeyVaultArgs.builder()\n            .name(\"examplekv\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .tenantId(current.tenantId())\n            .skuName(\"standard\")\n            .purgeProtectionEnabled(true)\n            .build());\n\n        var exampleAccessPolicy = new AccessPolicy(\"exampleAccessPolicy\", AccessPolicyArgs.builder()\n            .keyVaultId(exampleKeyVault.id())\n            .tenantId(current.tenantId())\n            .objectId(current.objectId())\n            .keyPermissions(            \n                \"Create\",\n                \"Get\",\n                \"Delete\",\n                \"Purge\",\n                \"GetRotationPolicy\")\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"examplesa\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .accountTier(\"Standard\")\n            .accountReplicationType(\"LRS\")\n            .build());\n\n        var exampleAIServices = new AIServices(\"exampleAIServices\", AIServicesArgs.builder()\n            .name(\"exampleaiservices\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .skuName(\"S0\")\n            .build());\n\n        var exampleHub = new Hub(\"exampleHub\", HubArgs.builder()\n            .name(\"exampleaihub\")\n            .location(exampleAIServices.location())\n            .resourceGroupName(example.name())\n            .storageAccountId(exampleAccount.id())\n            .keyVaultId(exampleKeyVault.id())\n            .identity(HubIdentityArgs.builder()\n                .type(\"SystemAssigned\")\n                .build())\n            .build());\n\n        var exampleProject = new Project(\"exampleProject\", ProjectArgs.builder()\n            .name(\"example\")\n            .location(exampleHub.location())\n            .aiServicesHubId(exampleHub.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example\n      location: westeurope\n  exampleKeyVault:\n    type: azure:keyvault:KeyVault\n    name: example\n    properties:\n      name: examplekv\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      tenantId: ${current.tenantId}\n      skuName: standard\n      purgeProtectionEnabled: true\n  exampleAccessPolicy:\n    type: azure:keyvault:AccessPolicy\n    name: example\n    properties:\n      keyVaultId: ${exampleKeyVault.id}\n      tenantId: ${current.tenantId}\n      objectId: ${current.objectId}\n      keyPermissions:\n        - Create\n        - Get\n        - Delete\n        - Purge\n        - GetRotationPolicy\n  exampleAccount:\n    type: azure:storage:Account\n    name: example\n    properties:\n      name: examplesa\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      accountTier: Standard\n      accountReplicationType: LRS\n  exampleAIServices:\n    type: azure:cognitive:AIServices\n    name: example\n    properties:\n      name: exampleaiservices\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      skuName: S0\n  exampleHub:\n    type: azure:aifoundry:Hub\n    name: example\n    properties:\n      name: exampleaihub\n      location: ${exampleAIServices.location}\n      resourceGroupName: ${example.name}\n      storageAccountId: ${exampleAccount.id}\n      keyVaultId: ${exampleKeyVault.id}\n      identity:\n        type: SystemAssigned\n  exampleProject:\n    type: azure:aifoundry:Project\n    name: example\n    properties:\n      name: example\n      location: ${exampleHub.location}\n      aiServicesHubId: ${exampleHub.id}\nvariables:\n  current:\n    fn::invoke:\n      function: azure:core:getClientConfig\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.MachineLearningServices` - 2025-06-01\n\n## Import\n\nAI Foundry Projects can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:aifoundry/project:Project example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.MachineLearningServices/workspaces/project1\n```\n\n","properties":{"aiServicesHubId":{"type":"string","description":"The AI Foundry ID under which this Project should be created. Changing this forces a new AI Foundry Project to be created.\n"},"description":{"type":"string","description":"The description of this AI Foundry Project.\n"},"friendlyName":{"type":"string","description":"The display name of this AI Foundry Project.\n"},"highBusinessImpactEnabled":{"type":"boolean","description":"Whether High Business Impact (HBI) should be enabled or not. Enabling this setting will reduce diagnostic data collected by the service. Changing this forces a new AI Foundry Project to be created. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"identity":{"$ref":"#/types/azure:aifoundry/ProjectIdentity:ProjectIdentity","description":"A \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"location":{"type":"string","description":"The Azure Region where the AI Foundry Project should exist. Changing this forces a new AI Foundry Project to be created.\n"},"name":{"type":"string","description":"The name which should be used for this AI Foundry Project. Changing this forces a new AI Foundry Project to be created.\n"},"primaryUserAssignedIdentity":{"type":"string","description":"The user assigned identity ID that represents the AI Foundry Hub identity. This must be set when enabling encryption with a user assigned identity.\n"},"projectId":{"type":"string","description":"The immutable project ID associated with this AI Foundry Project.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the AI Foundry Project.\n"}},"required":["aiServicesHubId","highBusinessImpactEnabled","location","name","projectId"],"inputProperties":{"aiServicesHubId":{"type":"string","description":"The AI Foundry ID under which this Project should be created. Changing this forces a new AI Foundry Project to be created.\n","willReplaceOnChanges":true},"description":{"type":"string","description":"The description of this AI Foundry Project.\n"},"friendlyName":{"type":"string","description":"The display name of this AI Foundry Project.\n"},"highBusinessImpactEnabled":{"type":"boolean","description":"Whether High Business Impact (HBI) should be enabled or not. Enabling this setting will reduce diagnostic data collected by the service. Changing this forces a new AI Foundry Project to be created. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n","willReplaceOnChanges":true},"identity":{"$ref":"#/types/azure:aifoundry/ProjectIdentity:ProjectIdentity","description":"A \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"location":{"type":"string","description":"The Azure Region where the AI Foundry Project should exist. Changing this forces a new AI Foundry Project to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this AI Foundry Project. Changing this forces a new AI Foundry Project to be created.\n","willReplaceOnChanges":true},"primaryUserAssignedIdentity":{"type":"string","description":"The user assigned identity ID that represents the AI Foundry Hub identity. This must be set when enabling encryption with a user assigned identity.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the AI Foundry Project.\n"}},"requiredInputs":["aiServicesHubId"],"stateInputs":{"description":"Input properties used for looking up and filtering Project resources.\n","properties":{"aiServicesHubId":{"type":"string","description":"The AI Foundry ID under which this Project should be created. Changing this forces a new AI Foundry Project to be created.\n","willReplaceOnChanges":true},"description":{"type":"string","description":"The description of this AI Foundry Project.\n"},"friendlyName":{"type":"string","description":"The display name of this AI Foundry Project.\n"},"highBusinessImpactEnabled":{"type":"boolean","description":"Whether High Business Impact (HBI) should be enabled or not. Enabling this setting will reduce diagnostic data collected by the service. Changing this forces a new AI Foundry Project to be created. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n","willReplaceOnChanges":true},"identity":{"$ref":"#/types/azure:aifoundry/ProjectIdentity:ProjectIdentity","description":"A \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"location":{"type":"string","description":"The Azure Region where the AI Foundry Project should exist. Changing this forces a new AI Foundry Project to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this AI Foundry Project. Changing this forces a new AI Foundry Project to be created.\n","willReplaceOnChanges":true},"primaryUserAssignedIdentity":{"type":"string","description":"The user assigned identity ID that represents the AI Foundry Hub identity. This must be set when enabling encryption with a user assigned identity.\n"},"projectId":{"type":"string","description":"The immutable project ID associated with this AI Foundry Project.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the AI Foundry Project.\n"}},"type":"object"}},"azure:analysisservices/server:Server":{"description":"Manages an Analysis Services Server.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"analysis-services-server-test\",\n    location: \"West Europe\",\n});\nconst server = new azure.analysisservices.Server(\"server\", {\n    name: \"analysisservicesserver\",\n    location: example.location,\n    resourceGroupName: example.name,\n    sku: \"S0\",\n    adminUsers: [\"myuser@domain.tld\"],\n    powerBiServiceEnabled: true,\n    ipv4FirewallRules: [{\n        name: \"myRule1\",\n        rangeStart: \"210.117.252.0\",\n        rangeEnd: \"210.117.252.255\",\n    }],\n    tags: {\n        abc: \"123\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"analysis-services-server-test\",\n    location=\"West Europe\")\nserver = azure.analysisservices.Server(\"server\",\n    name=\"analysisservicesserver\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku=\"S0\",\n    admin_users=[\"myuser@domain.tld\"],\n    power_bi_service_enabled=True,\n    ipv4_firewall_rules=[{\n        \"name\": \"myRule1\",\n        \"range_start\": \"210.117.252.0\",\n        \"range_end\": \"210.117.252.255\",\n    }],\n    tags={\n        \"abc\": \"123\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"analysis-services-server-test\",\n        Location = \"West Europe\",\n    });\n\n    var server = new Azure.AnalysisServices.Server(\"server\", new()\n    {\n        Name = \"analysisservicesserver\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Sku = \"S0\",\n        AdminUsers = new[]\n        {\n            \"myuser@domain.tld\",\n        },\n        PowerBiServiceEnabled = true,\n        Ipv4FirewallRules = new[]\n        {\n            new Azure.AnalysisServices.Inputs.ServerIpv4FirewallRuleArgs\n            {\n                Name = \"myRule1\",\n                RangeStart = \"210.117.252.0\",\n                RangeEnd = \"210.117.252.255\",\n            },\n        },\n        Tags = \n        {\n            { \"abc\", \"123\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/analysisservices\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"analysis-services-server-test\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = analysisservices.NewServer(ctx, \"server\", \u0026analysisservices.ServerArgs{\n\t\t\tName:              pulumi.String(\"analysisservicesserver\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSku:               pulumi.String(\"S0\"),\n\t\t\tAdminUsers: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"myuser@domain.tld\"),\n\t\t\t},\n\t\t\tPowerBiServiceEnabled: pulumi.Bool(true),\n\t\t\tIpv4FirewallRules: analysisservices.ServerIpv4FirewallRuleArray{\n\t\t\t\t\u0026analysisservices.ServerIpv4FirewallRuleArgs{\n\t\t\t\t\tName:       pulumi.String(\"myRule1\"),\n\t\t\t\t\tRangeStart: pulumi.String(\"210.117.252.0\"),\n\t\t\t\t\tRangeEnd:   pulumi.String(\"210.117.252.255\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"abc\": pulumi.String(\"123\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.analysisservices.Server;\nimport com.pulumi.azure.analysisservices.ServerArgs;\nimport com.pulumi.azure.analysisservices.inputs.ServerIpv4FirewallRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"analysis-services-server-test\")\n            .location(\"West Europe\")\n            .build());\n\n        var server = new Server(\"server\", ServerArgs.builder()\n            .name(\"analysisservicesserver\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .sku(\"S0\")\n            .adminUsers(\"myuser@domain.tld\")\n            .powerBiServiceEnabled(true)\n            .ipv4FirewallRules(ServerIpv4FirewallRuleArgs.builder()\n                .name(\"myRule1\")\n                .rangeStart(\"210.117.252.0\")\n                .rangeEnd(\"210.117.252.255\")\n                .build())\n            .tags(Map.of(\"abc\", \"123\"))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: analysis-services-server-test\n      location: West Europe\n  server:\n    type: azure:analysisservices:Server\n    properties:\n      name: analysisservicesserver\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      sku: S0\n      adminUsers:\n        - myuser@domain.tld\n      powerBiServiceEnabled: true\n      ipv4FirewallRules:\n        - name: myRule1\n          rangeStart: 210.117.252.0\n          rangeEnd: 210.117.252.255\n      tags:\n        abc: 123\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003e **Note:** The server resource will automatically be started and stopped during an update if it is in \u003cspan pulumi-lang-nodejs=\"`paused`\" pulumi-lang-dotnet=\"`Paused`\" pulumi-lang-go=\"`paused`\" pulumi-lang-python=\"`paused`\" pulumi-lang-yaml=\"`paused`\" pulumi-lang-java=\"`paused`\"\u003e`paused`\u003c/span\u003e state.\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.AnalysisServices` - 2017-08-01\n\n## Import\n\nAnalysis Services Server can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:analysisservices/server:Server server /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resourcegroup1/providers/Microsoft.AnalysisServices/servers/server1\n```\n\n","properties":{"adminUsers":{"type":"array","items":{"type":"string"},"description":"List of email addresses of admin users.\n"},"backupBlobContainerUri":{"type":"string","description":"URI and SAS token for a blob container to store backups.\n","secret":true},"ipv4FirewallRules":{"type":"array","items":{"$ref":"#/types/azure:analysisservices/ServerIpv4FirewallRule:ServerIpv4FirewallRule"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`ipv4FirewallRule`\" pulumi-lang-dotnet=\"`Ipv4FirewallRule`\" pulumi-lang-go=\"`ipv4FirewallRule`\" pulumi-lang-python=\"`ipv4_firewall_rule`\" pulumi-lang-yaml=\"`ipv4FirewallRule`\" pulumi-lang-java=\"`ipv4FirewallRule`\"\u003e`ipv4_firewall_rule`\u003c/span\u003e block(s) as defined below.\n"},"location":{"type":"string","description":"The Azure location where the Analysis Services Server exists. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"The name of the Analysis Services Server. Only lowercase Alphanumeric characters allowed, starting with a letter. Changing this forces a new resource to be created.\n"},"powerBiServiceEnabled":{"type":"boolean","description":"Indicates if the Power BI service is allowed to access or not.\n"},"querypoolConnectionMode":{"type":"string","description":"Controls how the read-write server is used in the query pool. If this value is set to `All` then read-write servers are also used for queries. Otherwise with `ReadOnly` these servers do not participate in query operations. Defaults to `All`.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group in which the Analysis Services Server should be exist. Changing this forces a new resource to be created.\n"},"serverFullName":{"type":"string","description":"The full name of the Analysis Services Server.\n"},"sku":{"type":"string","description":"SKU for the Analysis Services Server. Possible values are: `D1`, `B1`, `B2`, `S0`, `S1`, `S2`, `S4`, `S8`, `S9`, `S8v2` and `S9v2`.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"required":["location","name","resourceGroupName","serverFullName","sku"],"inputProperties":{"adminUsers":{"type":"array","items":{"type":"string"},"description":"List of email addresses of admin users.\n"},"backupBlobContainerUri":{"type":"string","description":"URI and SAS token for a blob container to store backups.\n","secret":true},"ipv4FirewallRules":{"type":"array","items":{"$ref":"#/types/azure:analysisservices/ServerIpv4FirewallRule:ServerIpv4FirewallRule"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`ipv4FirewallRule`\" pulumi-lang-dotnet=\"`Ipv4FirewallRule`\" pulumi-lang-go=\"`ipv4FirewallRule`\" pulumi-lang-python=\"`ipv4_firewall_rule`\" pulumi-lang-yaml=\"`ipv4FirewallRule`\" pulumi-lang-java=\"`ipv4FirewallRule`\"\u003e`ipv4_firewall_rule`\u003c/span\u003e block(s) as defined below.\n"},"location":{"type":"string","description":"The Azure location where the Analysis Services Server exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the Analysis Services Server. Only lowercase Alphanumeric characters allowed, starting with a letter. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"powerBiServiceEnabled":{"type":"boolean","description":"Indicates if the Power BI service is allowed to access or not.\n"},"querypoolConnectionMode":{"type":"string","description":"Controls how the read-write server is used in the query pool. If this value is set to `All` then read-write servers are also used for queries. Otherwise with `ReadOnly` these servers do not participate in query operations. Defaults to `All`.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group in which the Analysis Services Server should be exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sku":{"type":"string","description":"SKU for the Analysis Services Server. Possible values are: `D1`, `B1`, `B2`, `S0`, `S1`, `S2`, `S4`, `S8`, `S9`, `S8v2` and `S9v2`.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"requiredInputs":["resourceGroupName","sku"],"stateInputs":{"description":"Input properties used for looking up and filtering Server resources.\n","properties":{"adminUsers":{"type":"array","items":{"type":"string"},"description":"List of email addresses of admin users.\n"},"backupBlobContainerUri":{"type":"string","description":"URI and SAS token for a blob container to store backups.\n","secret":true},"ipv4FirewallRules":{"type":"array","items":{"$ref":"#/types/azure:analysisservices/ServerIpv4FirewallRule:ServerIpv4FirewallRule"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`ipv4FirewallRule`\" pulumi-lang-dotnet=\"`Ipv4FirewallRule`\" pulumi-lang-go=\"`ipv4FirewallRule`\" pulumi-lang-python=\"`ipv4_firewall_rule`\" pulumi-lang-yaml=\"`ipv4FirewallRule`\" pulumi-lang-java=\"`ipv4FirewallRule`\"\u003e`ipv4_firewall_rule`\u003c/span\u003e block(s) as defined below.\n"},"location":{"type":"string","description":"The Azure location where the Analysis Services Server exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the Analysis Services Server. Only lowercase Alphanumeric characters allowed, starting with a letter. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"powerBiServiceEnabled":{"type":"boolean","description":"Indicates if the Power BI service is allowed to access or not.\n"},"querypoolConnectionMode":{"type":"string","description":"Controls how the read-write server is used in the query pool. If this value is set to `All` then read-write servers are also used for queries. Otherwise with `ReadOnly` these servers do not participate in query operations. Defaults to `All`.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group in which the Analysis Services Server should be exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"serverFullName":{"type":"string","description":"The full name of the Analysis Services Server.\n"},"sku":{"type":"string","description":"SKU for the Analysis Services Server. Possible values are: `D1`, `B1`, `B2`, `S0`, `S1`, `S2`, `S4`, `S8`, `S9`, `S8v2` and `S9v2`.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"type":"object"}},"azure:apimanagement/api:Api":{"description":"Manages an API within an API Management Service.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleService = new azure.apimanagement.Service(\"example\", {\n    name: \"example-apim\",\n    location: example.location,\n    resourceGroupName: example.name,\n    publisherName: \"My Company\",\n    publisherEmail: \"company@exmaple.com\",\n    skuName: \"Developer_1\",\n});\nconst exampleApi = new azure.apimanagement.Api(\"example\", {\n    name: \"example-api\",\n    resourceGroupName: example.name,\n    apiManagementName: exampleService.name,\n    revision: \"1\",\n    displayName: \"Example API\",\n    path: \"example\",\n    protocols: [\"https\"],\n    \"import\": {\n        contentFormat: \"swagger-link-json\",\n        contentValue: \"https://raw.githubusercontent.com/hashicorp/terraform-provider-azurerm/refs/heads/main/internal/services/apimanagement/testdata/api_management_api_schema_swagger.json\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_service = azure.apimanagement.Service(\"example\",\n    name=\"example-apim\",\n    location=example.location,\n    resource_group_name=example.name,\n    publisher_name=\"My Company\",\n    publisher_email=\"company@exmaple.com\",\n    sku_name=\"Developer_1\")\nexample_api = azure.apimanagement.Api(\"example\",\n    name=\"example-api\",\n    resource_group_name=example.name,\n    api_management_name=example_service.name,\n    revision=\"1\",\n    display_name=\"Example API\",\n    path=\"example\",\n    protocols=[\"https\"],\n    import_={\n        \"content_format\": \"swagger-link-json\",\n        \"content_value\": \"https://raw.githubusercontent.com/hashicorp/terraform-provider-azurerm/refs/heads/main/internal/services/apimanagement/testdata/api_management_api_schema_swagger.json\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleService = new Azure.ApiManagement.Service(\"example\", new()\n    {\n        Name = \"example-apim\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        PublisherName = \"My Company\",\n        PublisherEmail = \"company@exmaple.com\",\n        SkuName = \"Developer_1\",\n    });\n\n    var exampleApi = new Azure.ApiManagement.Api(\"example\", new()\n    {\n        Name = \"example-api\",\n        ResourceGroupName = example.Name,\n        ApiManagementName = exampleService.Name,\n        Revision = \"1\",\n        DisplayName = \"Example API\",\n        Path = \"example\",\n        Protocols = new[]\n        {\n            \"https\",\n        },\n        Import = new Azure.ApiManagement.Inputs.ApiImportArgs\n        {\n            ContentFormat = \"swagger-link-json\",\n            ContentValue = \"https://raw.githubusercontent.com/hashicorp/terraform-provider-azurerm/refs/heads/main/internal/services/apimanagement/testdata/api_management_api_schema_swagger.json\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/apimanagement\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleService, err := apimanagement.NewService(ctx, \"example\", \u0026apimanagement.ServiceArgs{\n\t\t\tName:              pulumi.String(\"example-apim\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tPublisherName:     pulumi.String(\"My Company\"),\n\t\t\tPublisherEmail:    pulumi.String(\"company@exmaple.com\"),\n\t\t\tSkuName:           pulumi.String(\"Developer_1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = apimanagement.NewApi(ctx, \"example\", \u0026apimanagement.ApiArgs{\n\t\t\tName:              pulumi.String(\"example-api\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tApiManagementName: exampleService.Name,\n\t\t\tRevision:          pulumi.String(\"1\"),\n\t\t\tDisplayName:       pulumi.String(\"Example API\"),\n\t\t\tPath:              pulumi.String(\"example\"),\n\t\t\tProtocols: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"https\"),\n\t\t\t},\n\t\t\tImport: \u0026apimanagement.ApiImportArgs{\n\t\t\t\tContentFormat: pulumi.String(\"swagger-link-json\"),\n\t\t\t\tContentValue:  pulumi.String(\"https://raw.githubusercontent.com/hashicorp/terraform-provider-azurerm/refs/heads/main/internal/services/apimanagement/testdata/api_management_api_schema_swagger.json\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.apimanagement.Service;\nimport com.pulumi.azure.apimanagement.ServiceArgs;\nimport com.pulumi.azure.apimanagement.Api;\nimport com.pulumi.azure.apimanagement.ApiArgs;\nimport com.pulumi.azure.apimanagement.inputs.ApiImportArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleService = new Service(\"exampleService\", ServiceArgs.builder()\n            .name(\"example-apim\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .publisherName(\"My Company\")\n            .publisherEmail(\"company@exmaple.com\")\n            .skuName(\"Developer_1\")\n            .build());\n\n        var exampleApi = new Api(\"exampleApi\", ApiArgs.builder()\n            .name(\"example-api\")\n            .resourceGroupName(example.name())\n            .apiManagementName(exampleService.name())\n            .revision(\"1\")\n            .displayName(\"Example API\")\n            .path(\"example\")\n            .protocols(\"https\")\n            .import_(ApiImportArgs.builder()\n                .contentFormat(\"swagger-link-json\")\n                .contentValue(\"https://raw.githubusercontent.com/hashicorp/terraform-provider-azurerm/refs/heads/main/internal/services/apimanagement/testdata/api_management_api_schema_swagger.json\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleService:\n    type: azure:apimanagement:Service\n    name: example\n    properties:\n      name: example-apim\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      publisherName: My Company\n      publisherEmail: company@exmaple.com\n      skuName: Developer_1\n  exampleApi:\n    type: azure:apimanagement:Api\n    name: example\n    properties:\n      name: example-api\n      resourceGroupName: ${example.name}\n      apiManagementName: ${exampleService.name}\n      revision: '1'\n      displayName: Example API\n      path: example\n      protocols:\n        - https\n      import:\n        contentFormat: swagger-link-json\n        contentValue: https://raw.githubusercontent.com/hashicorp/terraform-provider-azurerm/refs/heads/main/internal/services/apimanagement/testdata/api_management_api_schema_swagger.json\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.ApiManagement` - 2022-08-01\n\n## Import\n\nAPI Management API's can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:apimanagement/api:Api example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.ApiManagement/service/instance1/apis/api1;rev=1\n```\n\n","properties":{"apiManagementName":{"type":"string","description":"The Name of the API Management Service where this API should be created. Changing this forces a new resource to be created.\n"},"apiType":{"type":"string","description":"Type of API. Possible values are \u003cspan pulumi-lang-nodejs=\"`graphql`\" pulumi-lang-dotnet=\"`Graphql`\" pulumi-lang-go=\"`graphql`\" pulumi-lang-python=\"`graphql`\" pulumi-lang-yaml=\"`graphql`\" pulumi-lang-java=\"`graphql`\"\u003e`graphql`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`http`\" pulumi-lang-dotnet=\"`Http`\" pulumi-lang-go=\"`http`\" pulumi-lang-python=\"`http`\" pulumi-lang-yaml=\"`http`\" pulumi-lang-java=\"`http`\"\u003e`http`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`soap`\" pulumi-lang-dotnet=\"`Soap`\" pulumi-lang-go=\"`soap`\" pulumi-lang-python=\"`soap`\" pulumi-lang-yaml=\"`soap`\" pulumi-lang-java=\"`soap`\"\u003e`soap`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`websocket`\" pulumi-lang-dotnet=\"`Websocket`\" pulumi-lang-go=\"`websocket`\" pulumi-lang-python=\"`websocket`\" pulumi-lang-yaml=\"`websocket`\" pulumi-lang-java=\"`websocket`\"\u003e`websocket`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`http`\" pulumi-lang-dotnet=\"`Http`\" pulumi-lang-go=\"`http`\" pulumi-lang-python=\"`http`\" pulumi-lang-yaml=\"`http`\" pulumi-lang-java=\"`http`\"\u003e`http`\u003c/span\u003e.\n"},"contact":{"$ref":"#/types/azure:apimanagement/ApiContact:ApiContact","description":"A \u003cspan pulumi-lang-nodejs=\"`contact`\" pulumi-lang-dotnet=\"`Contact`\" pulumi-lang-go=\"`contact`\" pulumi-lang-python=\"`contact`\" pulumi-lang-yaml=\"`contact`\" pulumi-lang-java=\"`contact`\"\u003e`contact`\u003c/span\u003e block as documented below.\n"},"description":{"type":"string","description":"A description of the API Management API, which may include HTML formatting tags.\n"},"displayName":{"type":"string","description":"The display name of the API.\n"},"import":{"$ref":"#/types/azure:apimanagement/ApiImport:ApiImport","description":"A \u003cspan pulumi-lang-nodejs=\"`import`\" pulumi-lang-dotnet=\"`Import`\" pulumi-lang-go=\"`import`\" pulumi-lang-python=\"`import`\" pulumi-lang-yaml=\"`import`\" pulumi-lang-java=\"`import`\"\u003e`import`\u003c/span\u003e block as documented below.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`displayName`\" pulumi-lang-dotnet=\"`DisplayName`\" pulumi-lang-go=\"`displayName`\" pulumi-lang-python=\"`display_name`\" pulumi-lang-yaml=\"`displayName`\" pulumi-lang-java=\"`displayName`\"\u003e`display_name`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`description`\" pulumi-lang-dotnet=\"`Description`\" pulumi-lang-go=\"`description`\" pulumi-lang-python=\"`description`\" pulumi-lang-yaml=\"`description`\" pulumi-lang-java=\"`description`\"\u003e`description`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`contact`\" pulumi-lang-dotnet=\"`Contact`\" pulumi-lang-go=\"`contact`\" pulumi-lang-python=\"`contact`\" pulumi-lang-yaml=\"`contact`\" pulumi-lang-java=\"`contact`\"\u003e`contact`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`license`\" pulumi-lang-dotnet=\"`License`\" pulumi-lang-go=\"`license`\" pulumi-lang-python=\"`license`\" pulumi-lang-yaml=\"`license`\" pulumi-lang-java=\"`license`\"\u003e`license`\u003c/span\u003e fields can be imported by the \u003cspan pulumi-lang-nodejs=\"`import`\" pulumi-lang-dotnet=\"`Import`\" pulumi-lang-go=\"`import`\" pulumi-lang-python=\"`import`\" pulumi-lang-yaml=\"`import`\" pulumi-lang-java=\"`import`\"\u003e`import`\u003c/span\u003e block, which might cause a drift if these fields are set along with the \u003cspan pulumi-lang-nodejs=\"`import`\" pulumi-lang-dotnet=\"`Import`\" pulumi-lang-go=\"`import`\" pulumi-lang-python=\"`import`\" pulumi-lang-yaml=\"`import`\" pulumi-lang-java=\"`import`\"\u003e`import`\u003c/span\u003e block.\n"},"isCurrent":{"type":"boolean","description":"Is this the current API Revision?\n"},"isOnline":{"type":"boolean","description":"Is this API Revision online/accessible via the Gateway?\n"},"license":{"$ref":"#/types/azure:apimanagement/ApiLicense:ApiLicense","description":"A \u003cspan pulumi-lang-nodejs=\"`license`\" pulumi-lang-dotnet=\"`License`\" pulumi-lang-go=\"`license`\" pulumi-lang-python=\"`license`\" pulumi-lang-yaml=\"`license`\" pulumi-lang-java=\"`license`\"\u003e`license`\u003c/span\u003e block as documented below.\n"},"name":{"type":"string","description":"The name of the API Management API. Changing this forces a new resource to be created.\n"},"oauth2Authorization":{"$ref":"#/types/azure:apimanagement/ApiOauth2Authorization:ApiOauth2Authorization","description":"An \u003cspan pulumi-lang-nodejs=\"`oauth2Authorization`\" pulumi-lang-dotnet=\"`Oauth2Authorization`\" pulumi-lang-go=\"`oauth2Authorization`\" pulumi-lang-python=\"`oauth2_authorization`\" pulumi-lang-yaml=\"`oauth2Authorization`\" pulumi-lang-java=\"`oauth2Authorization`\"\u003e`oauth2_authorization`\u003c/span\u003e block as documented below.\n"},"openidAuthentication":{"$ref":"#/types/azure:apimanagement/ApiOpenidAuthentication:ApiOpenidAuthentication","description":"An \u003cspan pulumi-lang-nodejs=\"`openidAuthentication`\" pulumi-lang-dotnet=\"`OpenidAuthentication`\" pulumi-lang-go=\"`openidAuthentication`\" pulumi-lang-python=\"`openid_authentication`\" pulumi-lang-yaml=\"`openidAuthentication`\" pulumi-lang-java=\"`openidAuthentication`\"\u003e`openid_authentication`\u003c/span\u003e block as documented below.\n"},"path":{"type":"string","description":"The Path for this API Management API, which is a relative URL which uniquely identifies this API and all of its resource paths within the API Management Service.\n"},"protocols":{"type":"array","items":{"type":"string"},"description":"A list of protocols the operations in this API can be invoked. Possible values are \u003cspan pulumi-lang-nodejs=\"`http`\" pulumi-lang-dotnet=\"`Http`\" pulumi-lang-go=\"`http`\" pulumi-lang-python=\"`http`\" pulumi-lang-yaml=\"`http`\" pulumi-lang-java=\"`http`\"\u003e`http`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`https`\" pulumi-lang-dotnet=\"`Https`\" pulumi-lang-go=\"`https`\" pulumi-lang-python=\"`https`\" pulumi-lang-yaml=\"`https`\" pulumi-lang-java=\"`https`\"\u003e`https`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`ws`\" pulumi-lang-dotnet=\"`Ws`\" pulumi-lang-go=\"`ws`\" pulumi-lang-python=\"`ws`\" pulumi-lang-yaml=\"`ws`\" pulumi-lang-java=\"`ws`\"\u003e`ws`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`wss`\" pulumi-lang-dotnet=\"`Wss`\" pulumi-lang-go=\"`wss`\" pulumi-lang-python=\"`wss`\" pulumi-lang-yaml=\"`wss`\" pulumi-lang-java=\"`wss`\"\u003e`wss`\u003c/span\u003e.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`displayName`\" pulumi-lang-dotnet=\"`DisplayName`\" pulumi-lang-go=\"`displayName`\" pulumi-lang-python=\"`display_name`\" pulumi-lang-yaml=\"`displayName`\" pulumi-lang-java=\"`displayName`\"\u003e`display_name`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`path`\" pulumi-lang-dotnet=\"`Path`\" pulumi-lang-go=\"`path`\" pulumi-lang-python=\"`path`\" pulumi-lang-yaml=\"`path`\" pulumi-lang-java=\"`path`\"\u003e`path`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`protocols`\" pulumi-lang-dotnet=\"`Protocols`\" pulumi-lang-go=\"`protocols`\" pulumi-lang-python=\"`protocols`\" pulumi-lang-yaml=\"`protocols`\" pulumi-lang-java=\"`protocols`\"\u003e`protocols`\u003c/span\u003e are required when \u003cspan pulumi-lang-nodejs=\"`sourceApiId`\" pulumi-lang-dotnet=\"`SourceApiId`\" pulumi-lang-go=\"`sourceApiId`\" pulumi-lang-python=\"`source_api_id`\" pulumi-lang-yaml=\"`sourceApiId`\" pulumi-lang-java=\"`sourceApiId`\"\u003e`source_api_id`\u003c/span\u003e is not set.\n"},"resourceGroupName":{"type":"string","description":"The Name of the Resource Group where the API Management API exists. Changing this forces a new resource to be created.\n"},"revision":{"type":"string","description":"The Revision which used for this API. Changing this forces a new resource to be created.\n"},"revisionDescription":{"type":"string","description":"The description of the API Revision of the API Management API.\n"},"serviceUrl":{"type":"string","description":"Absolute URL of the backend service implementing this API.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`serviceUrl`\" pulumi-lang-dotnet=\"`ServiceUrl`\" pulumi-lang-go=\"`serviceUrl`\" pulumi-lang-python=\"`service_url`\" pulumi-lang-yaml=\"`serviceUrl`\" pulumi-lang-java=\"`serviceUrl`\"\u003e`service_url`\u003c/span\u003e is required when \u003cspan pulumi-lang-nodejs=\"`apiType`\" pulumi-lang-dotnet=\"`ApiType`\" pulumi-lang-go=\"`apiType`\" pulumi-lang-python=\"`api_type`\" pulumi-lang-yaml=\"`apiType`\" pulumi-lang-java=\"`apiType`\"\u003e`api_type`\u003c/span\u003e is specified as \u003cspan pulumi-lang-nodejs=\"`websocket`\" pulumi-lang-dotnet=\"`Websocket`\" pulumi-lang-go=\"`websocket`\" pulumi-lang-python=\"`websocket`\" pulumi-lang-yaml=\"`websocket`\" pulumi-lang-java=\"`websocket`\"\u003e`websocket`\u003c/span\u003e.\n"},"sourceApiId":{"type":"string","description":"The API id of the source API, which could be in format `azurerm_api_management_api.example.id` or in format `azurerm_api_management_api.example.id;rev=1`\n"},"subscriptionKeyParameterNames":{"$ref":"#/types/azure:apimanagement/ApiSubscriptionKeyParameterNames:ApiSubscriptionKeyParameterNames","description":"A \u003cspan pulumi-lang-nodejs=\"`subscriptionKeyParameterNames`\" pulumi-lang-dotnet=\"`SubscriptionKeyParameterNames`\" pulumi-lang-go=\"`subscriptionKeyParameterNames`\" pulumi-lang-python=\"`subscription_key_parameter_names`\" pulumi-lang-yaml=\"`subscriptionKeyParameterNames`\" pulumi-lang-java=\"`subscriptionKeyParameterNames`\"\u003e`subscription_key_parameter_names`\u003c/span\u003e block as documented below.\n"},"subscriptionRequired":{"type":"boolean","description":"Should this API require a subscription key? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"termsOfServiceUrl":{"type":"string","description":"Absolute URL of the Terms of Service for the API.\n"},"version":{"type":"string","description":"The Version number of this API, if this API is versioned.\n"},"versionDescription":{"type":"string","description":"The description of the API Version of the API Management API.\n"},"versionSetId":{"type":"string","description":"The ID of the Version Set which this API is associated with.\n\n\u003e **Note:** When \u003cspan pulumi-lang-nodejs=\"`version`\" pulumi-lang-dotnet=\"`Version`\" pulumi-lang-go=\"`version`\" pulumi-lang-python=\"`version`\" pulumi-lang-yaml=\"`version`\" pulumi-lang-java=\"`version`\"\u003e`version`\u003c/span\u003e is set, \u003cspan pulumi-lang-nodejs=\"`versionSetId`\" pulumi-lang-dotnet=\"`VersionSetId`\" pulumi-lang-go=\"`versionSetId`\" pulumi-lang-python=\"`version_set_id`\" pulumi-lang-yaml=\"`versionSetId`\" pulumi-lang-java=\"`versionSetId`\"\u003e`version_set_id`\u003c/span\u003e must also be specified\n"}},"required":["apiManagementName","apiType","displayName","isCurrent","isOnline","name","path","protocols","resourceGroupName","revision","serviceUrl","subscriptionKeyParameterNames","version","versionSetId"],"inputProperties":{"apiManagementName":{"type":"string","description":"The Name of the API Management Service where this API should be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"apiType":{"type":"string","description":"Type of API. Possible values are \u003cspan pulumi-lang-nodejs=\"`graphql`\" pulumi-lang-dotnet=\"`Graphql`\" pulumi-lang-go=\"`graphql`\" pulumi-lang-python=\"`graphql`\" pulumi-lang-yaml=\"`graphql`\" pulumi-lang-java=\"`graphql`\"\u003e`graphql`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`http`\" pulumi-lang-dotnet=\"`Http`\" pulumi-lang-go=\"`http`\" pulumi-lang-python=\"`http`\" pulumi-lang-yaml=\"`http`\" pulumi-lang-java=\"`http`\"\u003e`http`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`soap`\" pulumi-lang-dotnet=\"`Soap`\" pulumi-lang-go=\"`soap`\" pulumi-lang-python=\"`soap`\" pulumi-lang-yaml=\"`soap`\" pulumi-lang-java=\"`soap`\"\u003e`soap`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`websocket`\" pulumi-lang-dotnet=\"`Websocket`\" pulumi-lang-go=\"`websocket`\" pulumi-lang-python=\"`websocket`\" pulumi-lang-yaml=\"`websocket`\" pulumi-lang-java=\"`websocket`\"\u003e`websocket`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`http`\" pulumi-lang-dotnet=\"`Http`\" pulumi-lang-go=\"`http`\" pulumi-lang-python=\"`http`\" pulumi-lang-yaml=\"`http`\" pulumi-lang-java=\"`http`\"\u003e`http`\u003c/span\u003e.\n"},"contact":{"$ref":"#/types/azure:apimanagement/ApiContact:ApiContact","description":"A \u003cspan pulumi-lang-nodejs=\"`contact`\" pulumi-lang-dotnet=\"`Contact`\" pulumi-lang-go=\"`contact`\" pulumi-lang-python=\"`contact`\" pulumi-lang-yaml=\"`contact`\" pulumi-lang-java=\"`contact`\"\u003e`contact`\u003c/span\u003e block as documented below.\n"},"description":{"type":"string","description":"A description of the API Management API, which may include HTML formatting tags.\n"},"displayName":{"type":"string","description":"The display name of the API.\n"},"import":{"$ref":"#/types/azure:apimanagement/ApiImport:ApiImport","description":"A \u003cspan pulumi-lang-nodejs=\"`import`\" pulumi-lang-dotnet=\"`Import`\" pulumi-lang-go=\"`import`\" pulumi-lang-python=\"`import`\" pulumi-lang-yaml=\"`import`\" pulumi-lang-java=\"`import`\"\u003e`import`\u003c/span\u003e block as documented below.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`displayName`\" pulumi-lang-dotnet=\"`DisplayName`\" pulumi-lang-go=\"`displayName`\" pulumi-lang-python=\"`display_name`\" pulumi-lang-yaml=\"`displayName`\" pulumi-lang-java=\"`displayName`\"\u003e`display_name`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`description`\" pulumi-lang-dotnet=\"`Description`\" pulumi-lang-go=\"`description`\" pulumi-lang-python=\"`description`\" pulumi-lang-yaml=\"`description`\" pulumi-lang-java=\"`description`\"\u003e`description`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`contact`\" pulumi-lang-dotnet=\"`Contact`\" pulumi-lang-go=\"`contact`\" pulumi-lang-python=\"`contact`\" pulumi-lang-yaml=\"`contact`\" pulumi-lang-java=\"`contact`\"\u003e`contact`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`license`\" pulumi-lang-dotnet=\"`License`\" pulumi-lang-go=\"`license`\" pulumi-lang-python=\"`license`\" pulumi-lang-yaml=\"`license`\" pulumi-lang-java=\"`license`\"\u003e`license`\u003c/span\u003e fields can be imported by the \u003cspan pulumi-lang-nodejs=\"`import`\" pulumi-lang-dotnet=\"`Import`\" pulumi-lang-go=\"`import`\" pulumi-lang-python=\"`import`\" pulumi-lang-yaml=\"`import`\" pulumi-lang-java=\"`import`\"\u003e`import`\u003c/span\u003e block, which might cause a drift if these fields are set along with the \u003cspan pulumi-lang-nodejs=\"`import`\" pulumi-lang-dotnet=\"`Import`\" pulumi-lang-go=\"`import`\" pulumi-lang-python=\"`import`\" pulumi-lang-yaml=\"`import`\" pulumi-lang-java=\"`import`\"\u003e`import`\u003c/span\u003e block.\n"},"license":{"$ref":"#/types/azure:apimanagement/ApiLicense:ApiLicense","description":"A \u003cspan pulumi-lang-nodejs=\"`license`\" pulumi-lang-dotnet=\"`License`\" pulumi-lang-go=\"`license`\" pulumi-lang-python=\"`license`\" pulumi-lang-yaml=\"`license`\" pulumi-lang-java=\"`license`\"\u003e`license`\u003c/span\u003e block as documented below.\n"},"name":{"type":"string","description":"The name of the API Management API. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"oauth2Authorization":{"$ref":"#/types/azure:apimanagement/ApiOauth2Authorization:ApiOauth2Authorization","description":"An \u003cspan pulumi-lang-nodejs=\"`oauth2Authorization`\" pulumi-lang-dotnet=\"`Oauth2Authorization`\" pulumi-lang-go=\"`oauth2Authorization`\" pulumi-lang-python=\"`oauth2_authorization`\" pulumi-lang-yaml=\"`oauth2Authorization`\" pulumi-lang-java=\"`oauth2Authorization`\"\u003e`oauth2_authorization`\u003c/span\u003e block as documented below.\n"},"openidAuthentication":{"$ref":"#/types/azure:apimanagement/ApiOpenidAuthentication:ApiOpenidAuthentication","description":"An \u003cspan pulumi-lang-nodejs=\"`openidAuthentication`\" pulumi-lang-dotnet=\"`OpenidAuthentication`\" pulumi-lang-go=\"`openidAuthentication`\" pulumi-lang-python=\"`openid_authentication`\" pulumi-lang-yaml=\"`openidAuthentication`\" pulumi-lang-java=\"`openidAuthentication`\"\u003e`openid_authentication`\u003c/span\u003e block as documented below.\n"},"path":{"type":"string","description":"The Path for this API Management API, which is a relative URL which uniquely identifies this API and all of its resource paths within the API Management Service.\n"},"protocols":{"type":"array","items":{"type":"string"},"description":"A list of protocols the operations in this API can be invoked. Possible values are \u003cspan pulumi-lang-nodejs=\"`http`\" pulumi-lang-dotnet=\"`Http`\" pulumi-lang-go=\"`http`\" pulumi-lang-python=\"`http`\" pulumi-lang-yaml=\"`http`\" pulumi-lang-java=\"`http`\"\u003e`http`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`https`\" pulumi-lang-dotnet=\"`Https`\" pulumi-lang-go=\"`https`\" pulumi-lang-python=\"`https`\" pulumi-lang-yaml=\"`https`\" pulumi-lang-java=\"`https`\"\u003e`https`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`ws`\" pulumi-lang-dotnet=\"`Ws`\" pulumi-lang-go=\"`ws`\" pulumi-lang-python=\"`ws`\" pulumi-lang-yaml=\"`ws`\" pulumi-lang-java=\"`ws`\"\u003e`ws`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`wss`\" pulumi-lang-dotnet=\"`Wss`\" pulumi-lang-go=\"`wss`\" pulumi-lang-python=\"`wss`\" pulumi-lang-yaml=\"`wss`\" pulumi-lang-java=\"`wss`\"\u003e`wss`\u003c/span\u003e.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`displayName`\" pulumi-lang-dotnet=\"`DisplayName`\" pulumi-lang-go=\"`displayName`\" pulumi-lang-python=\"`display_name`\" pulumi-lang-yaml=\"`displayName`\" pulumi-lang-java=\"`displayName`\"\u003e`display_name`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`path`\" pulumi-lang-dotnet=\"`Path`\" pulumi-lang-go=\"`path`\" pulumi-lang-python=\"`path`\" pulumi-lang-yaml=\"`path`\" pulumi-lang-java=\"`path`\"\u003e`path`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`protocols`\" pulumi-lang-dotnet=\"`Protocols`\" pulumi-lang-go=\"`protocols`\" pulumi-lang-python=\"`protocols`\" pulumi-lang-yaml=\"`protocols`\" pulumi-lang-java=\"`protocols`\"\u003e`protocols`\u003c/span\u003e are required when \u003cspan pulumi-lang-nodejs=\"`sourceApiId`\" pulumi-lang-dotnet=\"`SourceApiId`\" pulumi-lang-go=\"`sourceApiId`\" pulumi-lang-python=\"`source_api_id`\" pulumi-lang-yaml=\"`sourceApiId`\" pulumi-lang-java=\"`sourceApiId`\"\u003e`source_api_id`\u003c/span\u003e is not set.\n"},"resourceGroupName":{"type":"string","description":"The Name of the Resource Group where the API Management API exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"revision":{"type":"string","description":"The Revision which used for this API. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"revisionDescription":{"type":"string","description":"The description of the API Revision of the API Management API.\n"},"serviceUrl":{"type":"string","description":"Absolute URL of the backend service implementing this API.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`serviceUrl`\" pulumi-lang-dotnet=\"`ServiceUrl`\" pulumi-lang-go=\"`serviceUrl`\" pulumi-lang-python=\"`service_url`\" pulumi-lang-yaml=\"`serviceUrl`\" pulumi-lang-java=\"`serviceUrl`\"\u003e`service_url`\u003c/span\u003e is required when \u003cspan pulumi-lang-nodejs=\"`apiType`\" pulumi-lang-dotnet=\"`ApiType`\" pulumi-lang-go=\"`apiType`\" pulumi-lang-python=\"`api_type`\" pulumi-lang-yaml=\"`apiType`\" pulumi-lang-java=\"`apiType`\"\u003e`api_type`\u003c/span\u003e is specified as \u003cspan pulumi-lang-nodejs=\"`websocket`\" pulumi-lang-dotnet=\"`Websocket`\" pulumi-lang-go=\"`websocket`\" pulumi-lang-python=\"`websocket`\" pulumi-lang-yaml=\"`websocket`\" pulumi-lang-java=\"`websocket`\"\u003e`websocket`\u003c/span\u003e.\n"},"sourceApiId":{"type":"string","description":"The API id of the source API, which could be in format `azurerm_api_management_api.example.id` or in format `azurerm_api_management_api.example.id;rev=1`\n"},"subscriptionKeyParameterNames":{"$ref":"#/types/azure:apimanagement/ApiSubscriptionKeyParameterNames:ApiSubscriptionKeyParameterNames","description":"A \u003cspan pulumi-lang-nodejs=\"`subscriptionKeyParameterNames`\" pulumi-lang-dotnet=\"`SubscriptionKeyParameterNames`\" pulumi-lang-go=\"`subscriptionKeyParameterNames`\" pulumi-lang-python=\"`subscription_key_parameter_names`\" pulumi-lang-yaml=\"`subscriptionKeyParameterNames`\" pulumi-lang-java=\"`subscriptionKeyParameterNames`\"\u003e`subscription_key_parameter_names`\u003c/span\u003e block as documented below.\n"},"subscriptionRequired":{"type":"boolean","description":"Should this API require a subscription key? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"termsOfServiceUrl":{"type":"string","description":"Absolute URL of the Terms of Service for the API.\n"},"version":{"type":"string","description":"The Version number of this API, if this API is versioned.\n"},"versionDescription":{"type":"string","description":"The description of the API Version of the API Management API.\n"},"versionSetId":{"type":"string","description":"The ID of the Version Set which this API is associated with.\n\n\u003e **Note:** When \u003cspan pulumi-lang-nodejs=\"`version`\" pulumi-lang-dotnet=\"`Version`\" pulumi-lang-go=\"`version`\" pulumi-lang-python=\"`version`\" pulumi-lang-yaml=\"`version`\" pulumi-lang-java=\"`version`\"\u003e`version`\u003c/span\u003e is set, \u003cspan pulumi-lang-nodejs=\"`versionSetId`\" pulumi-lang-dotnet=\"`VersionSetId`\" pulumi-lang-go=\"`versionSetId`\" pulumi-lang-python=\"`version_set_id`\" pulumi-lang-yaml=\"`versionSetId`\" pulumi-lang-java=\"`versionSetId`\"\u003e`version_set_id`\u003c/span\u003e must also be specified\n"}},"requiredInputs":["apiManagementName","resourceGroupName","revision"],"stateInputs":{"description":"Input properties used for looking up and filtering Api resources.\n","properties":{"apiManagementName":{"type":"string","description":"The Name of the API Management Service where this API should be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"apiType":{"type":"string","description":"Type of API. Possible values are \u003cspan pulumi-lang-nodejs=\"`graphql`\" pulumi-lang-dotnet=\"`Graphql`\" pulumi-lang-go=\"`graphql`\" pulumi-lang-python=\"`graphql`\" pulumi-lang-yaml=\"`graphql`\" pulumi-lang-java=\"`graphql`\"\u003e`graphql`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`http`\" pulumi-lang-dotnet=\"`Http`\" pulumi-lang-go=\"`http`\" pulumi-lang-python=\"`http`\" pulumi-lang-yaml=\"`http`\" pulumi-lang-java=\"`http`\"\u003e`http`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`soap`\" pulumi-lang-dotnet=\"`Soap`\" pulumi-lang-go=\"`soap`\" pulumi-lang-python=\"`soap`\" pulumi-lang-yaml=\"`soap`\" pulumi-lang-java=\"`soap`\"\u003e`soap`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`websocket`\" pulumi-lang-dotnet=\"`Websocket`\" pulumi-lang-go=\"`websocket`\" pulumi-lang-python=\"`websocket`\" pulumi-lang-yaml=\"`websocket`\" pulumi-lang-java=\"`websocket`\"\u003e`websocket`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`http`\" pulumi-lang-dotnet=\"`Http`\" pulumi-lang-go=\"`http`\" pulumi-lang-python=\"`http`\" pulumi-lang-yaml=\"`http`\" pulumi-lang-java=\"`http`\"\u003e`http`\u003c/span\u003e.\n"},"contact":{"$ref":"#/types/azure:apimanagement/ApiContact:ApiContact","description":"A \u003cspan pulumi-lang-nodejs=\"`contact`\" pulumi-lang-dotnet=\"`Contact`\" pulumi-lang-go=\"`contact`\" pulumi-lang-python=\"`contact`\" pulumi-lang-yaml=\"`contact`\" pulumi-lang-java=\"`contact`\"\u003e`contact`\u003c/span\u003e block as documented below.\n"},"description":{"type":"string","description":"A description of the API Management API, which may include HTML formatting tags.\n"},"displayName":{"type":"string","description":"The display name of the API.\n"},"import":{"$ref":"#/types/azure:apimanagement/ApiImport:ApiImport","description":"A \u003cspan pulumi-lang-nodejs=\"`import`\" pulumi-lang-dotnet=\"`Import`\" pulumi-lang-go=\"`import`\" pulumi-lang-python=\"`import`\" pulumi-lang-yaml=\"`import`\" pulumi-lang-java=\"`import`\"\u003e`import`\u003c/span\u003e block as documented below.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`displayName`\" pulumi-lang-dotnet=\"`DisplayName`\" pulumi-lang-go=\"`displayName`\" pulumi-lang-python=\"`display_name`\" pulumi-lang-yaml=\"`displayName`\" pulumi-lang-java=\"`displayName`\"\u003e`display_name`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`description`\" pulumi-lang-dotnet=\"`Description`\" pulumi-lang-go=\"`description`\" pulumi-lang-python=\"`description`\" pulumi-lang-yaml=\"`description`\" pulumi-lang-java=\"`description`\"\u003e`description`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`contact`\" pulumi-lang-dotnet=\"`Contact`\" pulumi-lang-go=\"`contact`\" pulumi-lang-python=\"`contact`\" pulumi-lang-yaml=\"`contact`\" pulumi-lang-java=\"`contact`\"\u003e`contact`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`license`\" pulumi-lang-dotnet=\"`License`\" pulumi-lang-go=\"`license`\" pulumi-lang-python=\"`license`\" pulumi-lang-yaml=\"`license`\" pulumi-lang-java=\"`license`\"\u003e`license`\u003c/span\u003e fields can be imported by the \u003cspan pulumi-lang-nodejs=\"`import`\" pulumi-lang-dotnet=\"`Import`\" pulumi-lang-go=\"`import`\" pulumi-lang-python=\"`import`\" pulumi-lang-yaml=\"`import`\" pulumi-lang-java=\"`import`\"\u003e`import`\u003c/span\u003e block, which might cause a drift if these fields are set along with the \u003cspan pulumi-lang-nodejs=\"`import`\" pulumi-lang-dotnet=\"`Import`\" pulumi-lang-go=\"`import`\" pulumi-lang-python=\"`import`\" pulumi-lang-yaml=\"`import`\" pulumi-lang-java=\"`import`\"\u003e`import`\u003c/span\u003e block.\n"},"isCurrent":{"type":"boolean","description":"Is this the current API Revision?\n"},"isOnline":{"type":"boolean","description":"Is this API Revision online/accessible via the Gateway?\n"},"license":{"$ref":"#/types/azure:apimanagement/ApiLicense:ApiLicense","description":"A \u003cspan pulumi-lang-nodejs=\"`license`\" pulumi-lang-dotnet=\"`License`\" pulumi-lang-go=\"`license`\" pulumi-lang-python=\"`license`\" pulumi-lang-yaml=\"`license`\" pulumi-lang-java=\"`license`\"\u003e`license`\u003c/span\u003e block as documented below.\n"},"name":{"type":"string","description":"The name of the API Management API. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"oauth2Authorization":{"$ref":"#/types/azure:apimanagement/ApiOauth2Authorization:ApiOauth2Authorization","description":"An \u003cspan pulumi-lang-nodejs=\"`oauth2Authorization`\" pulumi-lang-dotnet=\"`Oauth2Authorization`\" pulumi-lang-go=\"`oauth2Authorization`\" pulumi-lang-python=\"`oauth2_authorization`\" pulumi-lang-yaml=\"`oauth2Authorization`\" pulumi-lang-java=\"`oauth2Authorization`\"\u003e`oauth2_authorization`\u003c/span\u003e block as documented below.\n"},"openidAuthentication":{"$ref":"#/types/azure:apimanagement/ApiOpenidAuthentication:ApiOpenidAuthentication","description":"An \u003cspan pulumi-lang-nodejs=\"`openidAuthentication`\" pulumi-lang-dotnet=\"`OpenidAuthentication`\" pulumi-lang-go=\"`openidAuthentication`\" pulumi-lang-python=\"`openid_authentication`\" pulumi-lang-yaml=\"`openidAuthentication`\" pulumi-lang-java=\"`openidAuthentication`\"\u003e`openid_authentication`\u003c/span\u003e block as documented below.\n"},"path":{"type":"string","description":"The Path for this API Management API, which is a relative URL which uniquely identifies this API and all of its resource paths within the API Management Service.\n"},"protocols":{"type":"array","items":{"type":"string"},"description":"A list of protocols the operations in this API can be invoked. Possible values are \u003cspan pulumi-lang-nodejs=\"`http`\" pulumi-lang-dotnet=\"`Http`\" pulumi-lang-go=\"`http`\" pulumi-lang-python=\"`http`\" pulumi-lang-yaml=\"`http`\" pulumi-lang-java=\"`http`\"\u003e`http`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`https`\" pulumi-lang-dotnet=\"`Https`\" pulumi-lang-go=\"`https`\" pulumi-lang-python=\"`https`\" pulumi-lang-yaml=\"`https`\" pulumi-lang-java=\"`https`\"\u003e`https`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`ws`\" pulumi-lang-dotnet=\"`Ws`\" pulumi-lang-go=\"`ws`\" pulumi-lang-python=\"`ws`\" pulumi-lang-yaml=\"`ws`\" pulumi-lang-java=\"`ws`\"\u003e`ws`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`wss`\" pulumi-lang-dotnet=\"`Wss`\" pulumi-lang-go=\"`wss`\" pulumi-lang-python=\"`wss`\" pulumi-lang-yaml=\"`wss`\" pulumi-lang-java=\"`wss`\"\u003e`wss`\u003c/span\u003e.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`displayName`\" pulumi-lang-dotnet=\"`DisplayName`\" pulumi-lang-go=\"`displayName`\" pulumi-lang-python=\"`display_name`\" pulumi-lang-yaml=\"`displayName`\" pulumi-lang-java=\"`displayName`\"\u003e`display_name`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`path`\" pulumi-lang-dotnet=\"`Path`\" pulumi-lang-go=\"`path`\" pulumi-lang-python=\"`path`\" pulumi-lang-yaml=\"`path`\" pulumi-lang-java=\"`path`\"\u003e`path`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`protocols`\" pulumi-lang-dotnet=\"`Protocols`\" pulumi-lang-go=\"`protocols`\" pulumi-lang-python=\"`protocols`\" pulumi-lang-yaml=\"`protocols`\" pulumi-lang-java=\"`protocols`\"\u003e`protocols`\u003c/span\u003e are required when \u003cspan pulumi-lang-nodejs=\"`sourceApiId`\" pulumi-lang-dotnet=\"`SourceApiId`\" pulumi-lang-go=\"`sourceApiId`\" pulumi-lang-python=\"`source_api_id`\" pulumi-lang-yaml=\"`sourceApiId`\" pulumi-lang-java=\"`sourceApiId`\"\u003e`source_api_id`\u003c/span\u003e is not set.\n"},"resourceGroupName":{"type":"string","description":"The Name of the Resource Group where the API Management API exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"revision":{"type":"string","description":"The Revision which used for this API. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"revisionDescription":{"type":"string","description":"The description of the API Revision of the API Management API.\n"},"serviceUrl":{"type":"string","description":"Absolute URL of the backend service implementing this API.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`serviceUrl`\" pulumi-lang-dotnet=\"`ServiceUrl`\" pulumi-lang-go=\"`serviceUrl`\" pulumi-lang-python=\"`service_url`\" pulumi-lang-yaml=\"`serviceUrl`\" pulumi-lang-java=\"`serviceUrl`\"\u003e`service_url`\u003c/span\u003e is required when \u003cspan pulumi-lang-nodejs=\"`apiType`\" pulumi-lang-dotnet=\"`ApiType`\" pulumi-lang-go=\"`apiType`\" pulumi-lang-python=\"`api_type`\" pulumi-lang-yaml=\"`apiType`\" pulumi-lang-java=\"`apiType`\"\u003e`api_type`\u003c/span\u003e is specified as \u003cspan pulumi-lang-nodejs=\"`websocket`\" pulumi-lang-dotnet=\"`Websocket`\" pulumi-lang-go=\"`websocket`\" pulumi-lang-python=\"`websocket`\" pulumi-lang-yaml=\"`websocket`\" pulumi-lang-java=\"`websocket`\"\u003e`websocket`\u003c/span\u003e.\n"},"sourceApiId":{"type":"string","description":"The API id of the source API, which could be in format `azurerm_api_management_api.example.id` or in format `azurerm_api_management_api.example.id;rev=1`\n"},"subscriptionKeyParameterNames":{"$ref":"#/types/azure:apimanagement/ApiSubscriptionKeyParameterNames:ApiSubscriptionKeyParameterNames","description":"A \u003cspan pulumi-lang-nodejs=\"`subscriptionKeyParameterNames`\" pulumi-lang-dotnet=\"`SubscriptionKeyParameterNames`\" pulumi-lang-go=\"`subscriptionKeyParameterNames`\" pulumi-lang-python=\"`subscription_key_parameter_names`\" pulumi-lang-yaml=\"`subscriptionKeyParameterNames`\" pulumi-lang-java=\"`subscriptionKeyParameterNames`\"\u003e`subscription_key_parameter_names`\u003c/span\u003e block as documented below.\n"},"subscriptionRequired":{"type":"boolean","description":"Should this API require a subscription key? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"termsOfServiceUrl":{"type":"string","description":"Absolute URL of the Terms of Service for the API.\n"},"version":{"type":"string","description":"The Version number of this API, if this API is versioned.\n"},"versionDescription":{"type":"string","description":"The description of the API Version of the API Management API.\n"},"versionSetId":{"type":"string","description":"The ID of the Version Set which this API is associated with.\n\n\u003e **Note:** When \u003cspan pulumi-lang-nodejs=\"`version`\" pulumi-lang-dotnet=\"`Version`\" pulumi-lang-go=\"`version`\" pulumi-lang-python=\"`version`\" pulumi-lang-yaml=\"`version`\" pulumi-lang-java=\"`version`\"\u003e`version`\u003c/span\u003e is set, \u003cspan pulumi-lang-nodejs=\"`versionSetId`\" pulumi-lang-dotnet=\"`VersionSetId`\" pulumi-lang-go=\"`versionSetId`\" pulumi-lang-python=\"`version_set_id`\" pulumi-lang-yaml=\"`versionSetId`\" pulumi-lang-java=\"`versionSetId`\"\u003e`version_set_id`\u003c/span\u003e must also be specified\n"}},"type":"object"}},"azure:apimanagement/apiDiagnostic:ApiDiagnostic":{"description":"Manages a API Management Service API Diagnostics Logs.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleInsights = new azure.appinsights.Insights(\"example\", {\n    name: \"example-appinsights\",\n    location: example.location,\n    resourceGroupName: example.name,\n    applicationType: \"web\",\n});\nconst exampleService = new azure.apimanagement.Service(\"example\", {\n    name: \"example-apim\",\n    location: example.location,\n    resourceGroupName: example.name,\n    publisherName: \"My Company\",\n    publisherEmail: \"company@mycompany.io\",\n    skuName: \"Developer_1\",\n});\nconst exampleApi = new azure.apimanagement.Api(\"example\", {\n    name: \"example-api\",\n    resourceGroupName: example.name,\n    apiManagementName: exampleService.name,\n    revision: \"1\",\n    displayName: \"Example API\",\n    path: \"example\",\n    protocols: [\"https\"],\n    \"import\": {\n        contentFormat: \"swagger-link-json\",\n        contentValue: \"https://raw.githubusercontent.com/hashicorp/terraform-provider-azurerm/refs/heads/main/internal/services/apimanagement/testdata/api_management_api_swagger.json\",\n    },\n});\nconst exampleLogger = new azure.apimanagement.Logger(\"example\", {\n    name: \"example-apimlogger\",\n    apiManagementName: exampleService.name,\n    resourceGroupName: example.name,\n    applicationInsights: {\n        instrumentationKey: exampleInsights.instrumentationKey,\n    },\n});\nconst exampleApiDiagnostic = new azure.apimanagement.ApiDiagnostic(\"example\", {\n    identifier: \"applicationinsights\",\n    resourceGroupName: example.name,\n    apiManagementName: exampleService.name,\n    apiName: exampleApi.name,\n    apiManagementLoggerId: exampleLogger.id,\n    samplingPercentage: 5,\n    alwaysLogErrors: true,\n    logClientIp: true,\n    verbosity: \"verbose\",\n    httpCorrelationProtocol: \"W3C\",\n    frontendRequest: {\n        bodyBytes: 32,\n        headersToLogs: [\n            \"content-type\",\n            \"accept\",\n            \"origin\",\n        ],\n    },\n    frontendResponse: {\n        bodyBytes: 32,\n        headersToLogs: [\n            \"content-type\",\n            \"content-length\",\n            \"origin\",\n        ],\n    },\n    backendRequest: {\n        bodyBytes: 32,\n        headersToLogs: [\n            \"content-type\",\n            \"accept\",\n            \"origin\",\n        ],\n    },\n    backendResponse: {\n        bodyBytes: 32,\n        headersToLogs: [\n            \"content-type\",\n            \"content-length\",\n            \"origin\",\n        ],\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_insights = azure.appinsights.Insights(\"example\",\n    name=\"example-appinsights\",\n    location=example.location,\n    resource_group_name=example.name,\n    application_type=\"web\")\nexample_service = azure.apimanagement.Service(\"example\",\n    name=\"example-apim\",\n    location=example.location,\n    resource_group_name=example.name,\n    publisher_name=\"My Company\",\n    publisher_email=\"company@mycompany.io\",\n    sku_name=\"Developer_1\")\nexample_api = azure.apimanagement.Api(\"example\",\n    name=\"example-api\",\n    resource_group_name=example.name,\n    api_management_name=example_service.name,\n    revision=\"1\",\n    display_name=\"Example API\",\n    path=\"example\",\n    protocols=[\"https\"],\n    import_={\n        \"content_format\": \"swagger-link-json\",\n        \"content_value\": \"https://raw.githubusercontent.com/hashicorp/terraform-provider-azurerm/refs/heads/main/internal/services/apimanagement/testdata/api_management_api_swagger.json\",\n    })\nexample_logger = azure.apimanagement.Logger(\"example\",\n    name=\"example-apimlogger\",\n    api_management_name=example_service.name,\n    resource_group_name=example.name,\n    application_insights={\n        \"instrumentation_key\": example_insights.instrumentation_key,\n    })\nexample_api_diagnostic = azure.apimanagement.ApiDiagnostic(\"example\",\n    identifier=\"applicationinsights\",\n    resource_group_name=example.name,\n    api_management_name=example_service.name,\n    api_name=example_api.name,\n    api_management_logger_id=example_logger.id,\n    sampling_percentage=5,\n    always_log_errors=True,\n    log_client_ip=True,\n    verbosity=\"verbose\",\n    http_correlation_protocol=\"W3C\",\n    frontend_request={\n        \"body_bytes\": 32,\n        \"headers_to_logs\": [\n            \"content-type\",\n            \"accept\",\n            \"origin\",\n        ],\n    },\n    frontend_response={\n        \"body_bytes\": 32,\n        \"headers_to_logs\": [\n            \"content-type\",\n            \"content-length\",\n            \"origin\",\n        ],\n    },\n    backend_request={\n        \"body_bytes\": 32,\n        \"headers_to_logs\": [\n            \"content-type\",\n            \"accept\",\n            \"origin\",\n        ],\n    },\n    backend_response={\n        \"body_bytes\": 32,\n        \"headers_to_logs\": [\n            \"content-type\",\n            \"content-length\",\n            \"origin\",\n        ],\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleInsights = new Azure.AppInsights.Insights(\"example\", new()\n    {\n        Name = \"example-appinsights\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        ApplicationType = \"web\",\n    });\n\n    var exampleService = new Azure.ApiManagement.Service(\"example\", new()\n    {\n        Name = \"example-apim\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        PublisherName = \"My Company\",\n        PublisherEmail = \"company@mycompany.io\",\n        SkuName = \"Developer_1\",\n    });\n\n    var exampleApi = new Azure.ApiManagement.Api(\"example\", new()\n    {\n        Name = \"example-api\",\n        ResourceGroupName = example.Name,\n        ApiManagementName = exampleService.Name,\n        Revision = \"1\",\n        DisplayName = \"Example API\",\n        Path = \"example\",\n        Protocols = new[]\n        {\n            \"https\",\n        },\n        Import = new Azure.ApiManagement.Inputs.ApiImportArgs\n        {\n            ContentFormat = \"swagger-link-json\",\n            ContentValue = \"https://raw.githubusercontent.com/hashicorp/terraform-provider-azurerm/refs/heads/main/internal/services/apimanagement/testdata/api_management_api_swagger.json\",\n        },\n    });\n\n    var exampleLogger = new Azure.ApiManagement.Logger(\"example\", new()\n    {\n        Name = \"example-apimlogger\",\n        ApiManagementName = exampleService.Name,\n        ResourceGroupName = example.Name,\n        ApplicationInsights = new Azure.ApiManagement.Inputs.LoggerApplicationInsightsArgs\n        {\n            InstrumentationKey = exampleInsights.InstrumentationKey,\n        },\n    });\n\n    var exampleApiDiagnostic = new Azure.ApiManagement.ApiDiagnostic(\"example\", new()\n    {\n        Identifier = \"applicationinsights\",\n        ResourceGroupName = example.Name,\n        ApiManagementName = exampleService.Name,\n        ApiName = exampleApi.Name,\n        ApiManagementLoggerId = exampleLogger.Id,\n        SamplingPercentage = 5,\n        AlwaysLogErrors = true,\n        LogClientIp = true,\n        Verbosity = \"verbose\",\n        HttpCorrelationProtocol = \"W3C\",\n        FrontendRequest = new Azure.ApiManagement.Inputs.ApiDiagnosticFrontendRequestArgs\n        {\n            BodyBytes = 32,\n            HeadersToLogs = new[]\n            {\n                \"content-type\",\n                \"accept\",\n                \"origin\",\n            },\n        },\n        FrontendResponse = new Azure.ApiManagement.Inputs.ApiDiagnosticFrontendResponseArgs\n        {\n            BodyBytes = 32,\n            HeadersToLogs = new[]\n            {\n                \"content-type\",\n                \"content-length\",\n                \"origin\",\n            },\n        },\n        BackendRequest = new Azure.ApiManagement.Inputs.ApiDiagnosticBackendRequestArgs\n        {\n            BodyBytes = 32,\n            HeadersToLogs = new[]\n            {\n                \"content-type\",\n                \"accept\",\n                \"origin\",\n            },\n        },\n        BackendResponse = new Azure.ApiManagement.Inputs.ApiDiagnosticBackendResponseArgs\n        {\n            BodyBytes = 32,\n            HeadersToLogs = new[]\n            {\n                \"content-type\",\n                \"content-length\",\n                \"origin\",\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/apimanagement\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/appinsights\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleInsights, err := appinsights.NewInsights(ctx, \"example\", \u0026appinsights.InsightsArgs{\n\t\t\tName:              pulumi.String(\"example-appinsights\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tApplicationType:   pulumi.String(\"web\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleService, err := apimanagement.NewService(ctx, \"example\", \u0026apimanagement.ServiceArgs{\n\t\t\tName:              pulumi.String(\"example-apim\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tPublisherName:     pulumi.String(\"My Company\"),\n\t\t\tPublisherEmail:    pulumi.String(\"company@mycompany.io\"),\n\t\t\tSkuName:           pulumi.String(\"Developer_1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleApi, err := apimanagement.NewApi(ctx, \"example\", \u0026apimanagement.ApiArgs{\n\t\t\tName:              pulumi.String(\"example-api\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tApiManagementName: exampleService.Name,\n\t\t\tRevision:          pulumi.String(\"1\"),\n\t\t\tDisplayName:       pulumi.String(\"Example API\"),\n\t\t\tPath:              pulumi.String(\"example\"),\n\t\t\tProtocols: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"https\"),\n\t\t\t},\n\t\t\tImport: \u0026apimanagement.ApiImportArgs{\n\t\t\t\tContentFormat: pulumi.String(\"swagger-link-json\"),\n\t\t\t\tContentValue:  pulumi.String(\"https://raw.githubusercontent.com/hashicorp/terraform-provider-azurerm/refs/heads/main/internal/services/apimanagement/testdata/api_management_api_swagger.json\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleLogger, err := apimanagement.NewLogger(ctx, \"example\", \u0026apimanagement.LoggerArgs{\n\t\t\tName:              pulumi.String(\"example-apimlogger\"),\n\t\t\tApiManagementName: exampleService.Name,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tApplicationInsights: \u0026apimanagement.LoggerApplicationInsightsArgs{\n\t\t\t\tInstrumentationKey: exampleInsights.InstrumentationKey,\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = apimanagement.NewApiDiagnostic(ctx, \"example\", \u0026apimanagement.ApiDiagnosticArgs{\n\t\t\tIdentifier:              pulumi.String(\"applicationinsights\"),\n\t\t\tResourceGroupName:       example.Name,\n\t\t\tApiManagementName:       exampleService.Name,\n\t\t\tApiName:                 exampleApi.Name,\n\t\t\tApiManagementLoggerId:   exampleLogger.ID(),\n\t\t\tSamplingPercentage:      pulumi.Float64(5),\n\t\t\tAlwaysLogErrors:         pulumi.Bool(true),\n\t\t\tLogClientIp:             pulumi.Bool(true),\n\t\t\tVerbosity:               pulumi.String(\"verbose\"),\n\t\t\tHttpCorrelationProtocol: pulumi.String(\"W3C\"),\n\t\t\tFrontendRequest: \u0026apimanagement.ApiDiagnosticFrontendRequestArgs{\n\t\t\t\tBodyBytes: pulumi.Int(32),\n\t\t\t\tHeadersToLogs: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"content-type\"),\n\t\t\t\t\tpulumi.String(\"accept\"),\n\t\t\t\t\tpulumi.String(\"origin\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tFrontendResponse: \u0026apimanagement.ApiDiagnosticFrontendResponseArgs{\n\t\t\t\tBodyBytes: pulumi.Int(32),\n\t\t\t\tHeadersToLogs: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"content-type\"),\n\t\t\t\t\tpulumi.String(\"content-length\"),\n\t\t\t\t\tpulumi.String(\"origin\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tBackendRequest: \u0026apimanagement.ApiDiagnosticBackendRequestArgs{\n\t\t\t\tBodyBytes: pulumi.Int(32),\n\t\t\t\tHeadersToLogs: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"content-type\"),\n\t\t\t\t\tpulumi.String(\"accept\"),\n\t\t\t\t\tpulumi.String(\"origin\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tBackendResponse: \u0026apimanagement.ApiDiagnosticBackendResponseArgs{\n\t\t\t\tBodyBytes: pulumi.Int(32),\n\t\t\t\tHeadersToLogs: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"content-type\"),\n\t\t\t\t\tpulumi.String(\"content-length\"),\n\t\t\t\t\tpulumi.String(\"origin\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.appinsights.Insights;\nimport com.pulumi.azure.appinsights.InsightsArgs;\nimport com.pulumi.azure.apimanagement.Service;\nimport com.pulumi.azure.apimanagement.ServiceArgs;\nimport com.pulumi.azure.apimanagement.Api;\nimport com.pulumi.azure.apimanagement.ApiArgs;\nimport com.pulumi.azure.apimanagement.inputs.ApiImportArgs;\nimport com.pulumi.azure.apimanagement.Logger;\nimport com.pulumi.azure.apimanagement.LoggerArgs;\nimport com.pulumi.azure.apimanagement.inputs.LoggerApplicationInsightsArgs;\nimport com.pulumi.azure.apimanagement.ApiDiagnostic;\nimport com.pulumi.azure.apimanagement.ApiDiagnosticArgs;\nimport com.pulumi.azure.apimanagement.inputs.ApiDiagnosticFrontendRequestArgs;\nimport com.pulumi.azure.apimanagement.inputs.ApiDiagnosticFrontendResponseArgs;\nimport com.pulumi.azure.apimanagement.inputs.ApiDiagnosticBackendRequestArgs;\nimport com.pulumi.azure.apimanagement.inputs.ApiDiagnosticBackendResponseArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleInsights = new Insights(\"exampleInsights\", InsightsArgs.builder()\n            .name(\"example-appinsights\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .applicationType(\"web\")\n            .build());\n\n        var exampleService = new Service(\"exampleService\", ServiceArgs.builder()\n            .name(\"example-apim\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .publisherName(\"My Company\")\n            .publisherEmail(\"company@mycompany.io\")\n            .skuName(\"Developer_1\")\n            .build());\n\n        var exampleApi = new Api(\"exampleApi\", ApiArgs.builder()\n            .name(\"example-api\")\n            .resourceGroupName(example.name())\n            .apiManagementName(exampleService.name())\n            .revision(\"1\")\n            .displayName(\"Example API\")\n            .path(\"example\")\n            .protocols(\"https\")\n            .import_(ApiImportArgs.builder()\n                .contentFormat(\"swagger-link-json\")\n                .contentValue(\"https://raw.githubusercontent.com/hashicorp/terraform-provider-azurerm/refs/heads/main/internal/services/apimanagement/testdata/api_management_api_swagger.json\")\n                .build())\n            .build());\n\n        var exampleLogger = new Logger(\"exampleLogger\", LoggerArgs.builder()\n            .name(\"example-apimlogger\")\n            .apiManagementName(exampleService.name())\n            .resourceGroupName(example.name())\n            .applicationInsights(LoggerApplicationInsightsArgs.builder()\n                .instrumentationKey(exampleInsights.instrumentationKey())\n                .build())\n            .build());\n\n        var exampleApiDiagnostic = new ApiDiagnostic(\"exampleApiDiagnostic\", ApiDiagnosticArgs.builder()\n            .identifier(\"applicationinsights\")\n            .resourceGroupName(example.name())\n            .apiManagementName(exampleService.name())\n            .apiName(exampleApi.name())\n            .apiManagementLoggerId(exampleLogger.id())\n            .samplingPercentage(5.0)\n            .alwaysLogErrors(true)\n            .logClientIp(true)\n            .verbosity(\"verbose\")\n            .httpCorrelationProtocol(\"W3C\")\n            .frontendRequest(ApiDiagnosticFrontendRequestArgs.builder()\n                .bodyBytes(32)\n                .headersToLogs(                \n                    \"content-type\",\n                    \"accept\",\n                    \"origin\")\n                .build())\n            .frontendResponse(ApiDiagnosticFrontendResponseArgs.builder()\n                .bodyBytes(32)\n                .headersToLogs(                \n                    \"content-type\",\n                    \"content-length\",\n                    \"origin\")\n                .build())\n            .backendRequest(ApiDiagnosticBackendRequestArgs.builder()\n                .bodyBytes(32)\n                .headersToLogs(                \n                    \"content-type\",\n                    \"accept\",\n                    \"origin\")\n                .build())\n            .backendResponse(ApiDiagnosticBackendResponseArgs.builder()\n                .bodyBytes(32)\n                .headersToLogs(                \n                    \"content-type\",\n                    \"content-length\",\n                    \"origin\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleInsights:\n    type: azure:appinsights:Insights\n    name: example\n    properties:\n      name: example-appinsights\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      applicationType: web\n  exampleService:\n    type: azure:apimanagement:Service\n    name: example\n    properties:\n      name: example-apim\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      publisherName: My Company\n      publisherEmail: company@mycompany.io\n      skuName: Developer_1\n  exampleApi:\n    type: azure:apimanagement:Api\n    name: example\n    properties:\n      name: example-api\n      resourceGroupName: ${example.name}\n      apiManagementName: ${exampleService.name}\n      revision: '1'\n      displayName: Example API\n      path: example\n      protocols:\n        - https\n      import:\n        contentFormat: swagger-link-json\n        contentValue: https://raw.githubusercontent.com/hashicorp/terraform-provider-azurerm/refs/heads/main/internal/services/apimanagement/testdata/api_management_api_swagger.json\n  exampleLogger:\n    type: azure:apimanagement:Logger\n    name: example\n    properties:\n      name: example-apimlogger\n      apiManagementName: ${exampleService.name}\n      resourceGroupName: ${example.name}\n      applicationInsights:\n        instrumentationKey: ${exampleInsights.instrumentationKey}\n  exampleApiDiagnostic:\n    type: azure:apimanagement:ApiDiagnostic\n    name: example\n    properties:\n      identifier: applicationinsights\n      resourceGroupName: ${example.name}\n      apiManagementName: ${exampleService.name}\n      apiName: ${exampleApi.name}\n      apiManagementLoggerId: ${exampleLogger.id}\n      samplingPercentage: 5\n      alwaysLogErrors: true\n      logClientIp: true\n      verbosity: verbose\n      httpCorrelationProtocol: W3C\n      frontendRequest:\n        bodyBytes: 32\n        headersToLogs:\n          - content-type\n          - accept\n          - origin\n      frontendResponse:\n        bodyBytes: 32\n        headersToLogs:\n          - content-type\n          - content-length\n          - origin\n      backendRequest:\n        bodyBytes: 32\n        headersToLogs:\n          - content-type\n          - accept\n          - origin\n      backendResponse:\n        bodyBytes: 32\n        headersToLogs:\n          - content-type\n          - content-length\n          - origin\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.ApiManagement` - 2022-08-01\n\n## Import\n\nAPI Management Service API Diagnostics Logs can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:apimanagement/apiDiagnostic:ApiDiagnostic example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.ApiManagement/service/instance1/apis/api1/diagnostics/diagnostic1\n```\n\n","properties":{"alwaysLogErrors":{"type":"boolean","description":"Always log errors. Send telemetry if there is an erroneous condition, regardless of sampling settings.\n"},"apiManagementLoggerId":{"type":"string","description":"The ID (name) of the Diagnostics Logger.\n"},"apiManagementName":{"type":"string","description":"The name of the API Management Service instance. Changing this forces a new API Management Service API Diagnostics Logs to be created.\n"},"apiName":{"type":"string","description":"The name of the API on which to configure the Diagnostics Logs. Changing this forces a new API Management Service API Diagnostics Logs to be created.\n"},"backendRequest":{"$ref":"#/types/azure:apimanagement/ApiDiagnosticBackendRequest:ApiDiagnosticBackendRequest","description":"A \u003cspan pulumi-lang-nodejs=\"`backendRequest`\" pulumi-lang-dotnet=\"`BackendRequest`\" pulumi-lang-go=\"`backendRequest`\" pulumi-lang-python=\"`backend_request`\" pulumi-lang-yaml=\"`backendRequest`\" pulumi-lang-java=\"`backendRequest`\"\u003e`backend_request`\u003c/span\u003e block as defined below.\n"},"backendResponse":{"$ref":"#/types/azure:apimanagement/ApiDiagnosticBackendResponse:ApiDiagnosticBackendResponse","description":"A \u003cspan pulumi-lang-nodejs=\"`backendResponse`\" pulumi-lang-dotnet=\"`BackendResponse`\" pulumi-lang-go=\"`backendResponse`\" pulumi-lang-python=\"`backend_response`\" pulumi-lang-yaml=\"`backendResponse`\" pulumi-lang-java=\"`backendResponse`\"\u003e`backend_response`\u003c/span\u003e block as defined below.\n"},"frontendRequest":{"$ref":"#/types/azure:apimanagement/ApiDiagnosticFrontendRequest:ApiDiagnosticFrontendRequest","description":"A \u003cspan pulumi-lang-nodejs=\"`frontendRequest`\" pulumi-lang-dotnet=\"`FrontendRequest`\" pulumi-lang-go=\"`frontendRequest`\" pulumi-lang-python=\"`frontend_request`\" pulumi-lang-yaml=\"`frontendRequest`\" pulumi-lang-java=\"`frontendRequest`\"\u003e`frontend_request`\u003c/span\u003e block as defined below.\n"},"frontendResponse":{"$ref":"#/types/azure:apimanagement/ApiDiagnosticFrontendResponse:ApiDiagnosticFrontendResponse","description":"A \u003cspan pulumi-lang-nodejs=\"`frontendResponse`\" pulumi-lang-dotnet=\"`FrontendResponse`\" pulumi-lang-go=\"`frontendResponse`\" pulumi-lang-python=\"`frontend_response`\" pulumi-lang-yaml=\"`frontendResponse`\" pulumi-lang-java=\"`frontendResponse`\"\u003e`frontend_response`\u003c/span\u003e block as defined below.\n"},"httpCorrelationProtocol":{"type":"string","description":"The HTTP Correlation Protocol to use. Possible values are `None`, `Legacy` or `W3C`.\n"},"identifier":{"type":"string","description":"Identifier of the Diagnostics Logs. Possible values are \u003cspan pulumi-lang-nodejs=\"`applicationinsights`\" pulumi-lang-dotnet=\"`Applicationinsights`\" pulumi-lang-go=\"`applicationinsights`\" pulumi-lang-python=\"`applicationinsights`\" pulumi-lang-yaml=\"`applicationinsights`\" pulumi-lang-java=\"`applicationinsights`\"\u003e`applicationinsights`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`azuremonitor`\" pulumi-lang-dotnet=\"`Azuremonitor`\" pulumi-lang-go=\"`azuremonitor`\" pulumi-lang-python=\"`azuremonitor`\" pulumi-lang-yaml=\"`azuremonitor`\" pulumi-lang-java=\"`azuremonitor`\"\u003e`azuremonitor`\u003c/span\u003e. Changing this forces a new API Management Service API Diagnostics Logs to be created.\n"},"logClientIp":{"type":"boolean","description":"Log client IP address.\n"},"operationNameFormat":{"type":"string","description":"The format of the Operation Name for Application Insights telemetries. Possible values are `Name`, and `Url`. Defaults to `Name`.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the API Management Service API Diagnostics Logs should exist. Changing this forces a new API Management Service API Diagnostics Logs to be created.\n"},"samplingPercentage":{"type":"number","description":"Sampling (%). For high traffic APIs, please read this [documentation](https://docs.microsoft.com/azure/api-management/api-management-howto-app-insights#performance-implications-and-log-sampling) to understand performance implications and log sampling. Valid values are between `0.0` and `100.0`.\n"},"verbosity":{"type":"string","description":"Logging verbosity. Possible values are \u003cspan pulumi-lang-nodejs=\"`verbose`\" pulumi-lang-dotnet=\"`Verbose`\" pulumi-lang-go=\"`verbose`\" pulumi-lang-python=\"`verbose`\" pulumi-lang-yaml=\"`verbose`\" pulumi-lang-java=\"`verbose`\"\u003e`verbose`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`information`\" pulumi-lang-dotnet=\"`Information`\" pulumi-lang-go=\"`information`\" pulumi-lang-python=\"`information`\" pulumi-lang-yaml=\"`information`\" pulumi-lang-java=\"`information`\"\u003e`information`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`error`\" pulumi-lang-dotnet=\"`Error`\" pulumi-lang-go=\"`error`\" pulumi-lang-python=\"`error`\" pulumi-lang-yaml=\"`error`\" pulumi-lang-java=\"`error`\"\u003e`error`\u003c/span\u003e.\n"}},"required":["alwaysLogErrors","apiManagementLoggerId","apiManagementName","apiName","backendRequest","backendResponse","frontendRequest","frontendResponse","httpCorrelationProtocol","identifier","logClientIp","resourceGroupName","samplingPercentage","verbosity"],"inputProperties":{"alwaysLogErrors":{"type":"boolean","description":"Always log errors. Send telemetry if there is an erroneous condition, regardless of sampling settings.\n"},"apiManagementLoggerId":{"type":"string","description":"The ID (name) of the Diagnostics Logger.\n"},"apiManagementName":{"type":"string","description":"The name of the API Management Service instance. Changing this forces a new API Management Service API Diagnostics Logs to be created.\n","willReplaceOnChanges":true},"apiName":{"type":"string","description":"The name of the API on which to configure the Diagnostics Logs. Changing this forces a new API Management Service API Diagnostics Logs to be created.\n","willReplaceOnChanges":true},"backendRequest":{"$ref":"#/types/azure:apimanagement/ApiDiagnosticBackendRequest:ApiDiagnosticBackendRequest","description":"A \u003cspan pulumi-lang-nodejs=\"`backendRequest`\" pulumi-lang-dotnet=\"`BackendRequest`\" pulumi-lang-go=\"`backendRequest`\" pulumi-lang-python=\"`backend_request`\" pulumi-lang-yaml=\"`backendRequest`\" pulumi-lang-java=\"`backendRequest`\"\u003e`backend_request`\u003c/span\u003e block as defined below.\n"},"backendResponse":{"$ref":"#/types/azure:apimanagement/ApiDiagnosticBackendResponse:ApiDiagnosticBackendResponse","description":"A \u003cspan pulumi-lang-nodejs=\"`backendResponse`\" pulumi-lang-dotnet=\"`BackendResponse`\" pulumi-lang-go=\"`backendResponse`\" pulumi-lang-python=\"`backend_response`\" pulumi-lang-yaml=\"`backendResponse`\" pulumi-lang-java=\"`backendResponse`\"\u003e`backend_response`\u003c/span\u003e block as defined below.\n"},"frontendRequest":{"$ref":"#/types/azure:apimanagement/ApiDiagnosticFrontendRequest:ApiDiagnosticFrontendRequest","description":"A \u003cspan pulumi-lang-nodejs=\"`frontendRequest`\" pulumi-lang-dotnet=\"`FrontendRequest`\" pulumi-lang-go=\"`frontendRequest`\" pulumi-lang-python=\"`frontend_request`\" pulumi-lang-yaml=\"`frontendRequest`\" pulumi-lang-java=\"`frontendRequest`\"\u003e`frontend_request`\u003c/span\u003e block as defined below.\n"},"frontendResponse":{"$ref":"#/types/azure:apimanagement/ApiDiagnosticFrontendResponse:ApiDiagnosticFrontendResponse","description":"A \u003cspan pulumi-lang-nodejs=\"`frontendResponse`\" pulumi-lang-dotnet=\"`FrontendResponse`\" pulumi-lang-go=\"`frontendResponse`\" pulumi-lang-python=\"`frontend_response`\" pulumi-lang-yaml=\"`frontendResponse`\" pulumi-lang-java=\"`frontendResponse`\"\u003e`frontend_response`\u003c/span\u003e block as defined below.\n"},"httpCorrelationProtocol":{"type":"string","description":"The HTTP Correlation Protocol to use. Possible values are `None`, `Legacy` or `W3C`.\n"},"identifier":{"type":"string","description":"Identifier of the Diagnostics Logs. Possible values are \u003cspan pulumi-lang-nodejs=\"`applicationinsights`\" pulumi-lang-dotnet=\"`Applicationinsights`\" pulumi-lang-go=\"`applicationinsights`\" pulumi-lang-python=\"`applicationinsights`\" pulumi-lang-yaml=\"`applicationinsights`\" pulumi-lang-java=\"`applicationinsights`\"\u003e`applicationinsights`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`azuremonitor`\" pulumi-lang-dotnet=\"`Azuremonitor`\" pulumi-lang-go=\"`azuremonitor`\" pulumi-lang-python=\"`azuremonitor`\" pulumi-lang-yaml=\"`azuremonitor`\" pulumi-lang-java=\"`azuremonitor`\"\u003e`azuremonitor`\u003c/span\u003e. Changing this forces a new API Management Service API Diagnostics Logs to be created.\n","willReplaceOnChanges":true},"logClientIp":{"type":"boolean","description":"Log client IP address.\n"},"operationNameFormat":{"type":"string","description":"The format of the Operation Name for Application Insights telemetries. Possible values are `Name`, and `Url`. Defaults to `Name`.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the API Management Service API Diagnostics Logs should exist. Changing this forces a new API Management Service API Diagnostics Logs to be created.\n","willReplaceOnChanges":true},"samplingPercentage":{"type":"number","description":"Sampling (%). For high traffic APIs, please read this [documentation](https://docs.microsoft.com/azure/api-management/api-management-howto-app-insights#performance-implications-and-log-sampling) to understand performance implications and log sampling. Valid values are between `0.0` and `100.0`.\n"},"verbosity":{"type":"string","description":"Logging verbosity. Possible values are \u003cspan pulumi-lang-nodejs=\"`verbose`\" pulumi-lang-dotnet=\"`Verbose`\" pulumi-lang-go=\"`verbose`\" pulumi-lang-python=\"`verbose`\" pulumi-lang-yaml=\"`verbose`\" pulumi-lang-java=\"`verbose`\"\u003e`verbose`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`information`\" pulumi-lang-dotnet=\"`Information`\" pulumi-lang-go=\"`information`\" pulumi-lang-python=\"`information`\" pulumi-lang-yaml=\"`information`\" pulumi-lang-java=\"`information`\"\u003e`information`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`error`\" pulumi-lang-dotnet=\"`Error`\" pulumi-lang-go=\"`error`\" pulumi-lang-python=\"`error`\" pulumi-lang-yaml=\"`error`\" pulumi-lang-java=\"`error`\"\u003e`error`\u003c/span\u003e.\n"}},"requiredInputs":["apiManagementLoggerId","apiManagementName","apiName","identifier","resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering ApiDiagnostic resources.\n","properties":{"alwaysLogErrors":{"type":"boolean","description":"Always log errors. Send telemetry if there is an erroneous condition, regardless of sampling settings.\n"},"apiManagementLoggerId":{"type":"string","description":"The ID (name) of the Diagnostics Logger.\n"},"apiManagementName":{"type":"string","description":"The name of the API Management Service instance. Changing this forces a new API Management Service API Diagnostics Logs to be created.\n","willReplaceOnChanges":true},"apiName":{"type":"string","description":"The name of the API on which to configure the Diagnostics Logs. Changing this forces a new API Management Service API Diagnostics Logs to be created.\n","willReplaceOnChanges":true},"backendRequest":{"$ref":"#/types/azure:apimanagement/ApiDiagnosticBackendRequest:ApiDiagnosticBackendRequest","description":"A \u003cspan pulumi-lang-nodejs=\"`backendRequest`\" pulumi-lang-dotnet=\"`BackendRequest`\" pulumi-lang-go=\"`backendRequest`\" pulumi-lang-python=\"`backend_request`\" pulumi-lang-yaml=\"`backendRequest`\" pulumi-lang-java=\"`backendRequest`\"\u003e`backend_request`\u003c/span\u003e block as defined below.\n"},"backendResponse":{"$ref":"#/types/azure:apimanagement/ApiDiagnosticBackendResponse:ApiDiagnosticBackendResponse","description":"A \u003cspan pulumi-lang-nodejs=\"`backendResponse`\" pulumi-lang-dotnet=\"`BackendResponse`\" pulumi-lang-go=\"`backendResponse`\" pulumi-lang-python=\"`backend_response`\" pulumi-lang-yaml=\"`backendResponse`\" pulumi-lang-java=\"`backendResponse`\"\u003e`backend_response`\u003c/span\u003e block as defined below.\n"},"frontendRequest":{"$ref":"#/types/azure:apimanagement/ApiDiagnosticFrontendRequest:ApiDiagnosticFrontendRequest","description":"A \u003cspan pulumi-lang-nodejs=\"`frontendRequest`\" pulumi-lang-dotnet=\"`FrontendRequest`\" pulumi-lang-go=\"`frontendRequest`\" pulumi-lang-python=\"`frontend_request`\" pulumi-lang-yaml=\"`frontendRequest`\" pulumi-lang-java=\"`frontendRequest`\"\u003e`frontend_request`\u003c/span\u003e block as defined below.\n"},"frontendResponse":{"$ref":"#/types/azure:apimanagement/ApiDiagnosticFrontendResponse:ApiDiagnosticFrontendResponse","description":"A \u003cspan pulumi-lang-nodejs=\"`frontendResponse`\" pulumi-lang-dotnet=\"`FrontendResponse`\" pulumi-lang-go=\"`frontendResponse`\" pulumi-lang-python=\"`frontend_response`\" pulumi-lang-yaml=\"`frontendResponse`\" pulumi-lang-java=\"`frontendResponse`\"\u003e`frontend_response`\u003c/span\u003e block as defined below.\n"},"httpCorrelationProtocol":{"type":"string","description":"The HTTP Correlation Protocol to use. Possible values are `None`, `Legacy` or `W3C`.\n"},"identifier":{"type":"string","description":"Identifier of the Diagnostics Logs. Possible values are \u003cspan pulumi-lang-nodejs=\"`applicationinsights`\" pulumi-lang-dotnet=\"`Applicationinsights`\" pulumi-lang-go=\"`applicationinsights`\" pulumi-lang-python=\"`applicationinsights`\" pulumi-lang-yaml=\"`applicationinsights`\" pulumi-lang-java=\"`applicationinsights`\"\u003e`applicationinsights`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`azuremonitor`\" pulumi-lang-dotnet=\"`Azuremonitor`\" pulumi-lang-go=\"`azuremonitor`\" pulumi-lang-python=\"`azuremonitor`\" pulumi-lang-yaml=\"`azuremonitor`\" pulumi-lang-java=\"`azuremonitor`\"\u003e`azuremonitor`\u003c/span\u003e. Changing this forces a new API Management Service API Diagnostics Logs to be created.\n","willReplaceOnChanges":true},"logClientIp":{"type":"boolean","description":"Log client IP address.\n"},"operationNameFormat":{"type":"string","description":"The format of the Operation Name for Application Insights telemetries. Possible values are `Name`, and `Url`. Defaults to `Name`.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the API Management Service API Diagnostics Logs should exist. Changing this forces a new API Management Service API Diagnostics Logs to be created.\n","willReplaceOnChanges":true},"samplingPercentage":{"type":"number","description":"Sampling (%). For high traffic APIs, please read this [documentation](https://docs.microsoft.com/azure/api-management/api-management-howto-app-insights#performance-implications-and-log-sampling) to understand performance implications and log sampling. Valid values are between `0.0` and `100.0`.\n"},"verbosity":{"type":"string","description":"Logging verbosity. Possible values are \u003cspan pulumi-lang-nodejs=\"`verbose`\" pulumi-lang-dotnet=\"`Verbose`\" pulumi-lang-go=\"`verbose`\" pulumi-lang-python=\"`verbose`\" pulumi-lang-yaml=\"`verbose`\" pulumi-lang-java=\"`verbose`\"\u003e`verbose`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`information`\" pulumi-lang-dotnet=\"`Information`\" pulumi-lang-go=\"`information`\" pulumi-lang-python=\"`information`\" pulumi-lang-yaml=\"`information`\" pulumi-lang-java=\"`information`\"\u003e`information`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`error`\" pulumi-lang-dotnet=\"`Error`\" pulumi-lang-go=\"`error`\" pulumi-lang-python=\"`error`\" pulumi-lang-yaml=\"`error`\" pulumi-lang-java=\"`error`\"\u003e`error`\u003c/span\u003e.\n"}},"type":"object"}},"azure:apimanagement/apiOperation:ApiOperation":{"description":"Manages an API Operation within an API Management Service.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.apimanagement.getApi({\n    name: \"search-api\",\n    apiManagementName: \"search-api-management\",\n    resourceGroupName: \"search-service\",\n    revision: \"2\",\n});\nconst exampleApiOperation = new azure.apimanagement.ApiOperation(\"example\", {\n    operationId: \"user-delete\",\n    apiName: example.then(example =\u003e example.name),\n    apiManagementName: example.then(example =\u003e example.apiManagementName),\n    resourceGroupName: example.then(example =\u003e example.resourceGroupName),\n    displayName: \"Delete User Operation\",\n    method: \"DELETE\",\n    urlTemplate: \"/users/{id}/delete\",\n    description: \"This can only be done by the logged in user.\",\n    templateParameters: [{\n        name: \"id\",\n        type: \"number\",\n        required: true,\n    }],\n    responses: [{\n        statusCode: 200,\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.apimanagement.get_api(name=\"search-api\",\n    api_management_name=\"search-api-management\",\n    resource_group_name=\"search-service\",\n    revision=\"2\")\nexample_api_operation = azure.apimanagement.ApiOperation(\"example\",\n    operation_id=\"user-delete\",\n    api_name=example.name,\n    api_management_name=example.api_management_name,\n    resource_group_name=example.resource_group_name,\n    display_name=\"Delete User Operation\",\n    method=\"DELETE\",\n    url_template=\"/users/{id}/delete\",\n    description=\"This can only be done by the logged in user.\",\n    template_parameters=[{\n        \"name\": \"id\",\n        \"type\": \"number\",\n        \"required\": True,\n    }],\n    responses=[{\n        \"status_code\": 200,\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.ApiManagement.GetApi.Invoke(new()\n    {\n        Name = \"search-api\",\n        ApiManagementName = \"search-api-management\",\n        ResourceGroupName = \"search-service\",\n        Revision = \"2\",\n    });\n\n    var exampleApiOperation = new Azure.ApiManagement.ApiOperation(\"example\", new()\n    {\n        OperationId = \"user-delete\",\n        ApiName = example.Apply(getApiResult =\u003e getApiResult.Name),\n        ApiManagementName = example.Apply(getApiResult =\u003e getApiResult.ApiManagementName),\n        ResourceGroupName = example.Apply(getApiResult =\u003e getApiResult.ResourceGroupName),\n        DisplayName = \"Delete User Operation\",\n        Method = \"DELETE\",\n        UrlTemplate = \"/users/{id}/delete\",\n        Description = \"This can only be done by the logged in user.\",\n        TemplateParameters = new[]\n        {\n            new Azure.ApiManagement.Inputs.ApiOperationTemplateParameterArgs\n            {\n                Name = \"id\",\n                Type = \"number\",\n                Required = true,\n            },\n        },\n        Responses = new[]\n        {\n            new Azure.ApiManagement.Inputs.ApiOperationResponseArgs\n            {\n                StatusCode = 200,\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/apimanagement\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := apimanagement.LookupApi(ctx, \u0026apimanagement.LookupApiArgs{\n\t\t\tName:              \"search-api\",\n\t\t\tApiManagementName: \"search-api-management\",\n\t\t\tResourceGroupName: \"search-service\",\n\t\t\tRevision:          \"2\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = apimanagement.NewApiOperation(ctx, \"example\", \u0026apimanagement.ApiOperationArgs{\n\t\t\tOperationId:       pulumi.String(\"user-delete\"),\n\t\t\tApiName:           pulumi.String(example.Name),\n\t\t\tApiManagementName: pulumi.String(example.ApiManagementName),\n\t\t\tResourceGroupName: pulumi.String(example.ResourceGroupName),\n\t\t\tDisplayName:       pulumi.String(\"Delete User Operation\"),\n\t\t\tMethod:            pulumi.String(\"DELETE\"),\n\t\t\tUrlTemplate:       pulumi.String(\"/users/{id}/delete\"),\n\t\t\tDescription:       pulumi.String(\"This can only be done by the logged in user.\"),\n\t\t\tTemplateParameters: apimanagement.ApiOperationTemplateParameterArray{\n\t\t\t\t\u0026apimanagement.ApiOperationTemplateParameterArgs{\n\t\t\t\t\tName:     pulumi.String(\"id\"),\n\t\t\t\t\tType:     pulumi.String(\"number\"),\n\t\t\t\t\tRequired: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t},\n\t\t\tResponses: apimanagement.ApiOperationResponseArray{\n\t\t\t\t\u0026apimanagement.ApiOperationResponseArgs{\n\t\t\t\t\tStatusCode: pulumi.Int(200),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.apimanagement.ApimanagementFunctions;\nimport com.pulumi.azure.apimanagement.inputs.GetApiArgs;\nimport com.pulumi.azure.apimanagement.ApiOperation;\nimport com.pulumi.azure.apimanagement.ApiOperationArgs;\nimport com.pulumi.azure.apimanagement.inputs.ApiOperationTemplateParameterArgs;\nimport com.pulumi.azure.apimanagement.inputs.ApiOperationResponseArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = ApimanagementFunctions.getApi(GetApiArgs.builder()\n            .name(\"search-api\")\n            .apiManagementName(\"search-api-management\")\n            .resourceGroupName(\"search-service\")\n            .revision(\"2\")\n            .build());\n\n        var exampleApiOperation = new ApiOperation(\"exampleApiOperation\", ApiOperationArgs.builder()\n            .operationId(\"user-delete\")\n            .apiName(example.name())\n            .apiManagementName(example.apiManagementName())\n            .resourceGroupName(example.resourceGroupName())\n            .displayName(\"Delete User Operation\")\n            .method(\"DELETE\")\n            .urlTemplate(\"/users/{id}/delete\")\n            .description(\"This can only be done by the logged in user.\")\n            .templateParameters(ApiOperationTemplateParameterArgs.builder()\n                .name(\"id\")\n                .type(\"number\")\n                .required(true)\n                .build())\n            .responses(ApiOperationResponseArgs.builder()\n                .statusCode(200)\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleApiOperation:\n    type: azure:apimanagement:ApiOperation\n    name: example\n    properties:\n      operationId: user-delete\n      apiName: ${example.name}\n      apiManagementName: ${example.apiManagementName}\n      resourceGroupName: ${example.resourceGroupName}\n      displayName: Delete User Operation\n      method: DELETE\n      urlTemplate: /users/{id}/delete\n      description: This can only be done by the logged in user.\n      templateParameters:\n        - name: id\n          type: number\n          required: true\n      responses:\n        - statusCode: 200\nvariables:\n  example:\n    fn::invoke:\n      function: azure:apimanagement:getApi\n      arguments:\n        name: search-api\n        apiManagementName: search-api-management\n        resourceGroupName: search-service\n        revision: '2'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.ApiManagement` - 2022-08-01\n\n## Import\n\nAPI Management API Operation's can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:apimanagement/apiOperation:ApiOperation example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.ApiManagement/service/instance1/apis/api1/operations/operation1\n```\n\n","properties":{"apiManagementName":{"type":"string","description":"The Name of the API Management Service where the API exists. Changing this forces a new resource to be created.\n"},"apiName":{"type":"string","description":"The name of the API within the API Management Service where this API Operation should be created. Changing this forces a new resource to be created.\n"},"description":{"type":"string","description":"A description for this API Operation, which may include HTML formatting tags.\n"},"displayName":{"type":"string","description":"The Display Name for this API Management Operation.\n"},"method":{"type":"string","description":"The HTTP Method used for this API Management Operation, like `GET`, `DELETE`, `PUT` or `POST` - but not limited to these values.\n"},"operationId":{"type":"string","description":"A unique identifier for this API Operation. Changing this forces a new resource to be created.\n"},"request":{"$ref":"#/types/azure:apimanagement/ApiOperationRequest:ApiOperationRequest","description":"A \u003cspan pulumi-lang-nodejs=\"`request`\" pulumi-lang-dotnet=\"`Request`\" pulumi-lang-go=\"`request`\" pulumi-lang-python=\"`request`\" pulumi-lang-yaml=\"`request`\" pulumi-lang-java=\"`request`\"\u003e`request`\u003c/span\u003e block as defined below.\n"},"resourceGroupName":{"type":"string","description":"The Name of the Resource Group in which the API Management Service exists. Changing this forces a new resource to be created.\n"},"responses":{"type":"array","items":{"$ref":"#/types/azure:apimanagement/ApiOperationResponse:ApiOperationResponse"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`response`\" pulumi-lang-dotnet=\"`Response`\" pulumi-lang-go=\"`response`\" pulumi-lang-python=\"`response`\" pulumi-lang-yaml=\"`response`\" pulumi-lang-java=\"`response`\"\u003e`response`\u003c/span\u003e blocks as defined below.\n"},"templateParameters":{"type":"array","items":{"$ref":"#/types/azure:apimanagement/ApiOperationTemplateParameter:ApiOperationTemplateParameter"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`templateParameter`\" pulumi-lang-dotnet=\"`TemplateParameter`\" pulumi-lang-go=\"`templateParameter`\" pulumi-lang-python=\"`template_parameter`\" pulumi-lang-yaml=\"`templateParameter`\" pulumi-lang-java=\"`templateParameter`\"\u003e`template_parameter`\u003c/span\u003e blocks as defined below. Required if \u003cspan pulumi-lang-nodejs=\"`urlTemplate`\" pulumi-lang-dotnet=\"`UrlTemplate`\" pulumi-lang-go=\"`urlTemplate`\" pulumi-lang-python=\"`url_template`\" pulumi-lang-yaml=\"`urlTemplate`\" pulumi-lang-java=\"`urlTemplate`\"\u003e`url_template`\u003c/span\u003e contains one or more parameters.\n"},"urlTemplate":{"type":"string","description":"The relative URL Template identifying the target resource for this operation, which may include parameters.\n"}},"required":["apiManagementName","apiName","displayName","method","operationId","request","resourceGroupName","urlTemplate"],"inputProperties":{"apiManagementName":{"type":"string","description":"The Name of the API Management Service where the API exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"apiName":{"type":"string","description":"The name of the API within the API Management Service where this API Operation should be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"description":{"type":"string","description":"A description for this API Operation, which may include HTML formatting tags.\n"},"displayName":{"type":"string","description":"The Display Name for this API Management Operation.\n"},"method":{"type":"string","description":"The HTTP Method used for this API Management Operation, like `GET`, `DELETE`, `PUT` or `POST` - but not limited to these values.\n"},"operationId":{"type":"string","description":"A unique identifier for this API Operation. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"request":{"$ref":"#/types/azure:apimanagement/ApiOperationRequest:ApiOperationRequest","description":"A \u003cspan pulumi-lang-nodejs=\"`request`\" pulumi-lang-dotnet=\"`Request`\" pulumi-lang-go=\"`request`\" pulumi-lang-python=\"`request`\" pulumi-lang-yaml=\"`request`\" pulumi-lang-java=\"`request`\"\u003e`request`\u003c/span\u003e block as defined below.\n"},"resourceGroupName":{"type":"string","description":"The Name of the Resource Group in which the API Management Service exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"responses":{"type":"array","items":{"$ref":"#/types/azure:apimanagement/ApiOperationResponse:ApiOperationResponse"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`response`\" pulumi-lang-dotnet=\"`Response`\" pulumi-lang-go=\"`response`\" pulumi-lang-python=\"`response`\" pulumi-lang-yaml=\"`response`\" pulumi-lang-java=\"`response`\"\u003e`response`\u003c/span\u003e blocks as defined below.\n"},"templateParameters":{"type":"array","items":{"$ref":"#/types/azure:apimanagement/ApiOperationTemplateParameter:ApiOperationTemplateParameter"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`templateParameter`\" pulumi-lang-dotnet=\"`TemplateParameter`\" pulumi-lang-go=\"`templateParameter`\" pulumi-lang-python=\"`template_parameter`\" pulumi-lang-yaml=\"`templateParameter`\" pulumi-lang-java=\"`templateParameter`\"\u003e`template_parameter`\u003c/span\u003e blocks as defined below. Required if \u003cspan pulumi-lang-nodejs=\"`urlTemplate`\" pulumi-lang-dotnet=\"`UrlTemplate`\" pulumi-lang-go=\"`urlTemplate`\" pulumi-lang-python=\"`url_template`\" pulumi-lang-yaml=\"`urlTemplate`\" pulumi-lang-java=\"`urlTemplate`\"\u003e`url_template`\u003c/span\u003e contains one or more parameters.\n"},"urlTemplate":{"type":"string","description":"The relative URL Template identifying the target resource for this operation, which may include parameters.\n"}},"requiredInputs":["apiManagementName","apiName","displayName","method","operationId","resourceGroupName","urlTemplate"],"stateInputs":{"description":"Input properties used for looking up and filtering ApiOperation resources.\n","properties":{"apiManagementName":{"type":"string","description":"The Name of the API Management Service where the API exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"apiName":{"type":"string","description":"The name of the API within the API Management Service where this API Operation should be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"description":{"type":"string","description":"A description for this API Operation, which may include HTML formatting tags.\n"},"displayName":{"type":"string","description":"The Display Name for this API Management Operation.\n"},"method":{"type":"string","description":"The HTTP Method used for this API Management Operation, like `GET`, `DELETE`, `PUT` or `POST` - but not limited to these values.\n"},"operationId":{"type":"string","description":"A unique identifier for this API Operation. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"request":{"$ref":"#/types/azure:apimanagement/ApiOperationRequest:ApiOperationRequest","description":"A \u003cspan pulumi-lang-nodejs=\"`request`\" pulumi-lang-dotnet=\"`Request`\" pulumi-lang-go=\"`request`\" pulumi-lang-python=\"`request`\" pulumi-lang-yaml=\"`request`\" pulumi-lang-java=\"`request`\"\u003e`request`\u003c/span\u003e block as defined below.\n"},"resourceGroupName":{"type":"string","description":"The Name of the Resource Group in which the API Management Service exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"responses":{"type":"array","items":{"$ref":"#/types/azure:apimanagement/ApiOperationResponse:ApiOperationResponse"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`response`\" pulumi-lang-dotnet=\"`Response`\" pulumi-lang-go=\"`response`\" pulumi-lang-python=\"`response`\" pulumi-lang-yaml=\"`response`\" pulumi-lang-java=\"`response`\"\u003e`response`\u003c/span\u003e blocks as defined below.\n"},"templateParameters":{"type":"array","items":{"$ref":"#/types/azure:apimanagement/ApiOperationTemplateParameter:ApiOperationTemplateParameter"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`templateParameter`\" pulumi-lang-dotnet=\"`TemplateParameter`\" pulumi-lang-go=\"`templateParameter`\" pulumi-lang-python=\"`template_parameter`\" pulumi-lang-yaml=\"`templateParameter`\" pulumi-lang-java=\"`templateParameter`\"\u003e`template_parameter`\u003c/span\u003e blocks as defined below. Required if \u003cspan pulumi-lang-nodejs=\"`urlTemplate`\" pulumi-lang-dotnet=\"`UrlTemplate`\" pulumi-lang-go=\"`urlTemplate`\" pulumi-lang-python=\"`url_template`\" pulumi-lang-yaml=\"`urlTemplate`\" pulumi-lang-java=\"`urlTemplate`\"\u003e`url_template`\u003c/span\u003e contains one or more parameters.\n"},"urlTemplate":{"type":"string","description":"The relative URL Template identifying the target resource for this operation, which may include parameters.\n"}},"type":"object"}},"azure:apimanagement/apiOperationPolicy:ApiOperationPolicy":{"description":"Manages an API Management API Operation Policy\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleService = new azure.apimanagement.Service(\"example\", {\n    name: \"example-apim\",\n    location: example.location,\n    resourceGroupName: example.name,\n    publisherName: \"My Company\",\n    publisherEmail: \"company@terraform.io\",\n    skuName: \"Developer_1\",\n});\nconst exampleApi = new azure.apimanagement.Api(\"example\", {\n    name: \"example-api\",\n    resourceGroupName: example.name,\n    apiManagementName: exampleService.name,\n    revision: \"1\",\n});\nconst exampleApiOperation = new azure.apimanagement.ApiOperation(\"example\", {\n    operationId: \"acctest-operation\",\n    apiName: exampleApi.name,\n    apiManagementName: exampleService.name,\n    resourceGroupName: example.name,\n    displayName: \"DELETE Resource\",\n    method: \"DELETE\",\n    urlTemplate: \"/resource\",\n});\nconst exampleApiOperationPolicy = new azure.apimanagement.ApiOperationPolicy(\"example\", {\n    apiName: exampleApiOperation.apiName,\n    apiManagementName: exampleApiOperation.apiManagementName,\n    resourceGroupName: exampleApiOperation.resourceGroupName,\n    operationId: exampleApiOperation.operationId,\n    xmlContent: `\u003cpolicies\u003e\n  \u003cinbound\u003e\n    \u003cfind-and-replace from=\\\\\"xyz\\\\\" to=\\\\\"abc\\\\\" /\u003e\n  \u003c/inbound\u003e\n\u003c/policies\u003e\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_service = azure.apimanagement.Service(\"example\",\n    name=\"example-apim\",\n    location=example.location,\n    resource_group_name=example.name,\n    publisher_name=\"My Company\",\n    publisher_email=\"company@terraform.io\",\n    sku_name=\"Developer_1\")\nexample_api = azure.apimanagement.Api(\"example\",\n    name=\"example-api\",\n    resource_group_name=example.name,\n    api_management_name=example_service.name,\n    revision=\"1\")\nexample_api_operation = azure.apimanagement.ApiOperation(\"example\",\n    operation_id=\"acctest-operation\",\n    api_name=example_api.name,\n    api_management_name=example_service.name,\n    resource_group_name=example.name,\n    display_name=\"DELETE Resource\",\n    method=\"DELETE\",\n    url_template=\"/resource\")\nexample_api_operation_policy = azure.apimanagement.ApiOperationPolicy(\"example\",\n    api_name=example_api_operation.api_name,\n    api_management_name=example_api_operation.api_management_name,\n    resource_group_name=example_api_operation.resource_group_name,\n    operation_id=example_api_operation.operation_id,\n    xml_content=\"\"\"\u003cpolicies\u003e\n  \u003cinbound\u003e\n    \u003cfind-and-replace from=\\\"xyz\\\" to=\\\"abc\\\" /\u003e\n  \u003c/inbound\u003e\n\u003c/policies\u003e\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleService = new Azure.ApiManagement.Service(\"example\", new()\n    {\n        Name = \"example-apim\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        PublisherName = \"My Company\",\n        PublisherEmail = \"company@terraform.io\",\n        SkuName = \"Developer_1\",\n    });\n\n    var exampleApi = new Azure.ApiManagement.Api(\"example\", new()\n    {\n        Name = \"example-api\",\n        ResourceGroupName = example.Name,\n        ApiManagementName = exampleService.Name,\n        Revision = \"1\",\n    });\n\n    var exampleApiOperation = new Azure.ApiManagement.ApiOperation(\"example\", new()\n    {\n        OperationId = \"acctest-operation\",\n        ApiName = exampleApi.Name,\n        ApiManagementName = exampleService.Name,\n        ResourceGroupName = example.Name,\n        DisplayName = \"DELETE Resource\",\n        Method = \"DELETE\",\n        UrlTemplate = \"/resource\",\n    });\n\n    var exampleApiOperationPolicy = new Azure.ApiManagement.ApiOperationPolicy(\"example\", new()\n    {\n        ApiName = exampleApiOperation.ApiName,\n        ApiManagementName = exampleApiOperation.ApiManagementName,\n        ResourceGroupName = exampleApiOperation.ResourceGroupName,\n        OperationId = exampleApiOperation.OperationId,\n        XmlContent = @\"\u003cpolicies\u003e\n  \u003cinbound\u003e\n    \u003cfind-and-replace from=\\\"\"xyz\\\"\" to=\\\"\"abc\\\"\" /\u003e\n  \u003c/inbound\u003e\n\u003c/policies\u003e\n\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/apimanagement\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleService, err := apimanagement.NewService(ctx, \"example\", \u0026apimanagement.ServiceArgs{\n\t\t\tName:              pulumi.String(\"example-apim\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tPublisherName:     pulumi.String(\"My Company\"),\n\t\t\tPublisherEmail:    pulumi.String(\"company@terraform.io\"),\n\t\t\tSkuName:           pulumi.String(\"Developer_1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleApi, err := apimanagement.NewApi(ctx, \"example\", \u0026apimanagement.ApiArgs{\n\t\t\tName:              pulumi.String(\"example-api\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tApiManagementName: exampleService.Name,\n\t\t\tRevision:          pulumi.String(\"1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleApiOperation, err := apimanagement.NewApiOperation(ctx, \"example\", \u0026apimanagement.ApiOperationArgs{\n\t\t\tOperationId:       pulumi.String(\"acctest-operation\"),\n\t\t\tApiName:           exampleApi.Name,\n\t\t\tApiManagementName: exampleService.Name,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tDisplayName:       pulumi.String(\"DELETE Resource\"),\n\t\t\tMethod:            pulumi.String(\"DELETE\"),\n\t\t\tUrlTemplate:       pulumi.String(\"/resource\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = apimanagement.NewApiOperationPolicy(ctx, \"example\", \u0026apimanagement.ApiOperationPolicyArgs{\n\t\t\tApiName:           exampleApiOperation.ApiName,\n\t\t\tApiManagementName: exampleApiOperation.ApiManagementName,\n\t\t\tResourceGroupName: exampleApiOperation.ResourceGroupName,\n\t\t\tOperationId:       exampleApiOperation.OperationId,\n\t\t\tXmlContent: pulumi.String(`\u003cpolicies\u003e\n  \u003cinbound\u003e\n    \u003cfind-and-replace from=\\\"xyz\\\" to=\\\"abc\\\" /\u003e\n  \u003c/inbound\u003e\n\u003c/policies\u003e\n`),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.apimanagement.Service;\nimport com.pulumi.azure.apimanagement.ServiceArgs;\nimport com.pulumi.azure.apimanagement.Api;\nimport com.pulumi.azure.apimanagement.ApiArgs;\nimport com.pulumi.azure.apimanagement.ApiOperation;\nimport com.pulumi.azure.apimanagement.ApiOperationArgs;\nimport com.pulumi.azure.apimanagement.ApiOperationPolicy;\nimport com.pulumi.azure.apimanagement.ApiOperationPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleService = new Service(\"exampleService\", ServiceArgs.builder()\n            .name(\"example-apim\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .publisherName(\"My Company\")\n            .publisherEmail(\"company@terraform.io\")\n            .skuName(\"Developer_1\")\n            .build());\n\n        var exampleApi = new Api(\"exampleApi\", ApiArgs.builder()\n            .name(\"example-api\")\n            .resourceGroupName(example.name())\n            .apiManagementName(exampleService.name())\n            .revision(\"1\")\n            .build());\n\n        var exampleApiOperation = new ApiOperation(\"exampleApiOperation\", ApiOperationArgs.builder()\n            .operationId(\"acctest-operation\")\n            .apiName(exampleApi.name())\n            .apiManagementName(exampleService.name())\n            .resourceGroupName(example.name())\n            .displayName(\"DELETE Resource\")\n            .method(\"DELETE\")\n            .urlTemplate(\"/resource\")\n            .build());\n\n        var exampleApiOperationPolicy = new ApiOperationPolicy(\"exampleApiOperationPolicy\", ApiOperationPolicyArgs.builder()\n            .apiName(exampleApiOperation.apiName())\n            .apiManagementName(exampleApiOperation.apiManagementName())\n            .resourceGroupName(exampleApiOperation.resourceGroupName())\n            .operationId(exampleApiOperation.operationId())\n            .xmlContent(\"\"\"\n\u003cpolicies\u003e\n  \u003cinbound\u003e\n    \u003cfind-and-replace from=\\\"xyz\\\" to=\\\"abc\\\" /\u003e\n  \u003c/inbound\u003e\n\u003c/policies\u003e\n            \"\"\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleService:\n    type: azure:apimanagement:Service\n    name: example\n    properties:\n      name: example-apim\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      publisherName: My Company\n      publisherEmail: company@terraform.io\n      skuName: Developer_1\n  exampleApi:\n    type: azure:apimanagement:Api\n    name: example\n    properties:\n      name: example-api\n      resourceGroupName: ${example.name}\n      apiManagementName: ${exampleService.name}\n      revision: '1'\n  exampleApiOperation:\n    type: azure:apimanagement:ApiOperation\n    name: example\n    properties:\n      operationId: acctest-operation\n      apiName: ${exampleApi.name}\n      apiManagementName: ${exampleService.name}\n      resourceGroupName: ${example.name}\n      displayName: DELETE Resource\n      method: DELETE\n      urlTemplate: /resource\n  exampleApiOperationPolicy:\n    type: azure:apimanagement:ApiOperationPolicy\n    name: example\n    properties:\n      apiName: ${exampleApiOperation.apiName}\n      apiManagementName: ${exampleApiOperation.apiManagementName}\n      resourceGroupName: ${exampleApiOperation.resourceGroupName}\n      operationId: ${exampleApiOperation.operationId}\n      xmlContent: |\n        \u003cpolicies\u003e\n          \u003cinbound\u003e\n            \u003cfind-and-replace from=\\\"xyz\\\" to=\\\"abc\\\" /\u003e\n          \u003c/inbound\u003e\n        \u003c/policies\u003e\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.ApiManagement` - 2022-08-01\n\n## Import\n\nAPI Management API Operation Policy can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:apimanagement/apiOperationPolicy:ApiOperationPolicy example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.ApiManagement/service/instance1/apis/api1/operations/operation1\n```\n\n","properties":{"apiManagementName":{"type":"string","description":"The name of the API Management Service. Changing this forces a new resource to be created.\n"},"apiName":{"type":"string","description":"The name of the API within the API Management Service where the Operation exists. Changing this forces a new resource to be created.\n"},"operationId":{"type":"string","description":"The operation identifier within an API. Must be unique in the current API Management service instance. Changing this forces a new resource to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group in which the API Management Service exists. Changing this forces a new resource to be created.\n"},"xmlContent":{"type":"string","description":"The XML Content for this Policy.\n"},"xmlLink":{"type":"string","description":"A link to a Policy XML Document, which must be publicly available.\n"}},"required":["apiManagementName","apiName","operationId","resourceGroupName","xmlContent"],"inputProperties":{"apiManagementName":{"type":"string","description":"The name of the API Management Service. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"apiName":{"type":"string","description":"The name of the API within the API Management Service where the Operation exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"operationId":{"type":"string","description":"The operation identifier within an API. Must be unique in the current API Management service instance. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group in which the API Management Service exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"xmlContent":{"type":"string","description":"The XML Content for this Policy.\n"},"xmlLink":{"type":"string","description":"A link to a Policy XML Document, which must be publicly available.\n"}},"requiredInputs":["apiManagementName","apiName","operationId","resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering ApiOperationPolicy resources.\n","properties":{"apiManagementName":{"type":"string","description":"The name of the API Management Service. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"apiName":{"type":"string","description":"The name of the API within the API Management Service where the Operation exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"operationId":{"type":"string","description":"The operation identifier within an API. Must be unique in the current API Management service instance. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group in which the API Management Service exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"xmlContent":{"type":"string","description":"The XML Content for this Policy.\n"},"xmlLink":{"type":"string","description":"A link to a Policy XML Document, which must be publicly available.\n"}},"type":"object"}},"azure:apimanagement/apiOperationTag:ApiOperationTag":{"description":"Manages a API Management API Operation Tag.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.apimanagement.getApi({\n    name: \"search-api\",\n    apiManagementName: \"search-api-management\",\n    resourceGroupName: \"search-service\",\n    revision: \"2\",\n});\nconst exampleApiOperation = new azure.apimanagement.ApiOperation(\"example\", {\n    operationId: \"user-delete\",\n    apiName: example.then(example =\u003e example.name),\n    apiManagementName: example.then(example =\u003e example.apiManagementName),\n    resourceGroupName: example.then(example =\u003e example.resourceGroupName),\n    displayName: \"Delete User Operation\",\n    method: \"DELETE\",\n    urlTemplate: \"/users/{id}/delete\",\n    description: \"This can only be done by the logged in user.\",\n    templateParameters: [{\n        name: \"id\",\n        type: \"number\",\n        required: true,\n    }],\n    responses: [{\n        statusCode: 200,\n    }],\n});\nconst exampleApiOperationTag = new azure.apimanagement.ApiOperationTag(\"example\", {\n    name: \"example-Tag\",\n    apiOperationId: exampleApiOperation.id,\n    displayName: \"example-Tag\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.apimanagement.get_api(name=\"search-api\",\n    api_management_name=\"search-api-management\",\n    resource_group_name=\"search-service\",\n    revision=\"2\")\nexample_api_operation = azure.apimanagement.ApiOperation(\"example\",\n    operation_id=\"user-delete\",\n    api_name=example.name,\n    api_management_name=example.api_management_name,\n    resource_group_name=example.resource_group_name,\n    display_name=\"Delete User Operation\",\n    method=\"DELETE\",\n    url_template=\"/users/{id}/delete\",\n    description=\"This can only be done by the logged in user.\",\n    template_parameters=[{\n        \"name\": \"id\",\n        \"type\": \"number\",\n        \"required\": True,\n    }],\n    responses=[{\n        \"status_code\": 200,\n    }])\nexample_api_operation_tag = azure.apimanagement.ApiOperationTag(\"example\",\n    name=\"example-Tag\",\n    api_operation_id=example_api_operation.id,\n    display_name=\"example-Tag\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.ApiManagement.GetApi.Invoke(new()\n    {\n        Name = \"search-api\",\n        ApiManagementName = \"search-api-management\",\n        ResourceGroupName = \"search-service\",\n        Revision = \"2\",\n    });\n\n    var exampleApiOperation = new Azure.ApiManagement.ApiOperation(\"example\", new()\n    {\n        OperationId = \"user-delete\",\n        ApiName = example.Apply(getApiResult =\u003e getApiResult.Name),\n        ApiManagementName = example.Apply(getApiResult =\u003e getApiResult.ApiManagementName),\n        ResourceGroupName = example.Apply(getApiResult =\u003e getApiResult.ResourceGroupName),\n        DisplayName = \"Delete User Operation\",\n        Method = \"DELETE\",\n        UrlTemplate = \"/users/{id}/delete\",\n        Description = \"This can only be done by the logged in user.\",\n        TemplateParameters = new[]\n        {\n            new Azure.ApiManagement.Inputs.ApiOperationTemplateParameterArgs\n            {\n                Name = \"id\",\n                Type = \"number\",\n                Required = true,\n            },\n        },\n        Responses = new[]\n        {\n            new Azure.ApiManagement.Inputs.ApiOperationResponseArgs\n            {\n                StatusCode = 200,\n            },\n        },\n    });\n\n    var exampleApiOperationTag = new Azure.ApiManagement.ApiOperationTag(\"example\", new()\n    {\n        Name = \"example-Tag\",\n        ApiOperationId = exampleApiOperation.Id,\n        DisplayName = \"example-Tag\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/apimanagement\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := apimanagement.LookupApi(ctx, \u0026apimanagement.LookupApiArgs{\n\t\t\tName:              \"search-api\",\n\t\t\tApiManagementName: \"search-api-management\",\n\t\t\tResourceGroupName: \"search-service\",\n\t\t\tRevision:          \"2\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleApiOperation, err := apimanagement.NewApiOperation(ctx, \"example\", \u0026apimanagement.ApiOperationArgs{\n\t\t\tOperationId:       pulumi.String(\"user-delete\"),\n\t\t\tApiName:           pulumi.String(example.Name),\n\t\t\tApiManagementName: pulumi.String(example.ApiManagementName),\n\t\t\tResourceGroupName: pulumi.String(example.ResourceGroupName),\n\t\t\tDisplayName:       pulumi.String(\"Delete User Operation\"),\n\t\t\tMethod:            pulumi.String(\"DELETE\"),\n\t\t\tUrlTemplate:       pulumi.String(\"/users/{id}/delete\"),\n\t\t\tDescription:       pulumi.String(\"This can only be done by the logged in user.\"),\n\t\t\tTemplateParameters: apimanagement.ApiOperationTemplateParameterArray{\n\t\t\t\t\u0026apimanagement.ApiOperationTemplateParameterArgs{\n\t\t\t\t\tName:     pulumi.String(\"id\"),\n\t\t\t\t\tType:     pulumi.String(\"number\"),\n\t\t\t\t\tRequired: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t},\n\t\t\tResponses: apimanagement.ApiOperationResponseArray{\n\t\t\t\t\u0026apimanagement.ApiOperationResponseArgs{\n\t\t\t\t\tStatusCode: pulumi.Int(200),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = apimanagement.NewApiOperationTag(ctx, \"example\", \u0026apimanagement.ApiOperationTagArgs{\n\t\t\tName:           pulumi.String(\"example-Tag\"),\n\t\t\tApiOperationId: exampleApiOperation.ID(),\n\t\t\tDisplayName:    pulumi.String(\"example-Tag\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.apimanagement.ApimanagementFunctions;\nimport com.pulumi.azure.apimanagement.inputs.GetApiArgs;\nimport com.pulumi.azure.apimanagement.ApiOperation;\nimport com.pulumi.azure.apimanagement.ApiOperationArgs;\nimport com.pulumi.azure.apimanagement.inputs.ApiOperationTemplateParameterArgs;\nimport com.pulumi.azure.apimanagement.inputs.ApiOperationResponseArgs;\nimport com.pulumi.azure.apimanagement.ApiOperationTag;\nimport com.pulumi.azure.apimanagement.ApiOperationTagArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = ApimanagementFunctions.getApi(GetApiArgs.builder()\n            .name(\"search-api\")\n            .apiManagementName(\"search-api-management\")\n            .resourceGroupName(\"search-service\")\n            .revision(\"2\")\n            .build());\n\n        var exampleApiOperation = new ApiOperation(\"exampleApiOperation\", ApiOperationArgs.builder()\n            .operationId(\"user-delete\")\n            .apiName(example.name())\n            .apiManagementName(example.apiManagementName())\n            .resourceGroupName(example.resourceGroupName())\n            .displayName(\"Delete User Operation\")\n            .method(\"DELETE\")\n            .urlTemplate(\"/users/{id}/delete\")\n            .description(\"This can only be done by the logged in user.\")\n            .templateParameters(ApiOperationTemplateParameterArgs.builder()\n                .name(\"id\")\n                .type(\"number\")\n                .required(true)\n                .build())\n            .responses(ApiOperationResponseArgs.builder()\n                .statusCode(200)\n                .build())\n            .build());\n\n        var exampleApiOperationTag = new ApiOperationTag(\"exampleApiOperationTag\", ApiOperationTagArgs.builder()\n            .name(\"example-Tag\")\n            .apiOperationId(exampleApiOperation.id())\n            .displayName(\"example-Tag\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleApiOperation:\n    type: azure:apimanagement:ApiOperation\n    name: example\n    properties:\n      operationId: user-delete\n      apiName: ${example.name}\n      apiManagementName: ${example.apiManagementName}\n      resourceGroupName: ${example.resourceGroupName}\n      displayName: Delete User Operation\n      method: DELETE\n      urlTemplate: /users/{id}/delete\n      description: This can only be done by the logged in user.\n      templateParameters:\n        - name: id\n          type: number\n          required: true\n      responses:\n        - statusCode: 200\n  exampleApiOperationTag:\n    type: azure:apimanagement:ApiOperationTag\n    name: example\n    properties:\n      name: example-Tag\n      apiOperationId: ${exampleApiOperation.id}\n      displayName: example-Tag\nvariables:\n  example:\n    fn::invoke:\n      function: azure:apimanagement:getApi\n      arguments:\n        name: search-api\n        apiManagementName: search-api-management\n        resourceGroupName: search-service\n        revision: '2'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.ApiManagement` - 2022-08-01\n\n## Import\n\nAPI Management API Operation Tags can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:apimanagement/apiOperationTag:ApiOperationTag example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.ApiManagement/service/service1/apis/api1/operations/operation1/tags/tag1\n```\n\n","properties":{"apiOperationId":{"type":"string","description":"The ID of the API Management API Operation. Changing this forces a new API Management API Operation Tag to be created.\n"},"displayName":{"type":"string","description":"The display name of the API Management API Operation Tag.\n"},"name":{"type":"string","description":"The name which should be used for this API Management API Operation Tag. Changing this forces a new API Management API Operation Tag to be created. The name must be unique in the API Management Service.\n"}},"required":["apiOperationId","displayName","name"],"inputProperties":{"apiOperationId":{"type":"string","description":"The ID of the API Management API Operation. Changing this forces a new API Management API Operation Tag to be created.\n","willReplaceOnChanges":true},"displayName":{"type":"string","description":"The display name of the API Management API Operation Tag.\n"},"name":{"type":"string","description":"The name which should be used for this API Management API Operation Tag. Changing this forces a new API Management API Operation Tag to be created. The name must be unique in the API Management Service.\n","willReplaceOnChanges":true}},"requiredInputs":["apiOperationId","displayName"],"stateInputs":{"description":"Input properties used for looking up and filtering ApiOperationTag resources.\n","properties":{"apiOperationId":{"type":"string","description":"The ID of the API Management API Operation. Changing this forces a new API Management API Operation Tag to be created.\n","willReplaceOnChanges":true},"displayName":{"type":"string","description":"The display name of the API Management API Operation Tag.\n"},"name":{"type":"string","description":"The name which should be used for this API Management API Operation Tag. Changing this forces a new API Management API Operation Tag to be created. The name must be unique in the API Management Service.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:apimanagement/apiPolicy:ApiPolicy":{"description":"Manages an API Management API Policy\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.apimanagement.getApi({\n    name: \"my-api\",\n    apiManagementName: \"example-apim\",\n    resourceGroupName: \"search-service\",\n    revision: \"2\",\n});\nconst exampleApiPolicy = new azure.apimanagement.ApiPolicy(\"example\", {\n    apiName: example.then(example =\u003e example.name),\n    apiManagementName: example.then(example =\u003e example.apiManagementName),\n    resourceGroupName: example.then(example =\u003e example.resourceGroupName),\n    xmlContent: `\u003cpolicies\u003e\n  \u003cinbound\u003e\n    \u003cfind-and-replace from=\\\\\"xyz\\\\\" to=\\\\\"abc\\\\\" /\u003e\n  \u003c/inbound\u003e\n\u003c/policies\u003e\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.apimanagement.get_api(name=\"my-api\",\n    api_management_name=\"example-apim\",\n    resource_group_name=\"search-service\",\n    revision=\"2\")\nexample_api_policy = azure.apimanagement.ApiPolicy(\"example\",\n    api_name=example.name,\n    api_management_name=example.api_management_name,\n    resource_group_name=example.resource_group_name,\n    xml_content=\"\"\"\u003cpolicies\u003e\n  \u003cinbound\u003e\n    \u003cfind-and-replace from=\\\"xyz\\\" to=\\\"abc\\\" /\u003e\n  \u003c/inbound\u003e\n\u003c/policies\u003e\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.ApiManagement.GetApi.Invoke(new()\n    {\n        Name = \"my-api\",\n        ApiManagementName = \"example-apim\",\n        ResourceGroupName = \"search-service\",\n        Revision = \"2\",\n    });\n\n    var exampleApiPolicy = new Azure.ApiManagement.ApiPolicy(\"example\", new()\n    {\n        ApiName = example.Apply(getApiResult =\u003e getApiResult.Name),\n        ApiManagementName = example.Apply(getApiResult =\u003e getApiResult.ApiManagementName),\n        ResourceGroupName = example.Apply(getApiResult =\u003e getApiResult.ResourceGroupName),\n        XmlContent = @\"\u003cpolicies\u003e\n  \u003cinbound\u003e\n    \u003cfind-and-replace from=\\\"\"xyz\\\"\" to=\\\"\"abc\\\"\" /\u003e\n  \u003c/inbound\u003e\n\u003c/policies\u003e\n\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/apimanagement\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := apimanagement.LookupApi(ctx, \u0026apimanagement.LookupApiArgs{\n\t\t\tName:              \"my-api\",\n\t\t\tApiManagementName: \"example-apim\",\n\t\t\tResourceGroupName: \"search-service\",\n\t\t\tRevision:          \"2\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = apimanagement.NewApiPolicy(ctx, \"example\", \u0026apimanagement.ApiPolicyArgs{\n\t\t\tApiName:           pulumi.String(example.Name),\n\t\t\tApiManagementName: pulumi.String(example.ApiManagementName),\n\t\t\tResourceGroupName: pulumi.String(example.ResourceGroupName),\n\t\t\tXmlContent: pulumi.String(`\u003cpolicies\u003e\n  \u003cinbound\u003e\n    \u003cfind-and-replace from=\\\"xyz\\\" to=\\\"abc\\\" /\u003e\n  \u003c/inbound\u003e\n\u003c/policies\u003e\n`),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.apimanagement.ApimanagementFunctions;\nimport com.pulumi.azure.apimanagement.inputs.GetApiArgs;\nimport com.pulumi.azure.apimanagement.ApiPolicy;\nimport com.pulumi.azure.apimanagement.ApiPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = ApimanagementFunctions.getApi(GetApiArgs.builder()\n            .name(\"my-api\")\n            .apiManagementName(\"example-apim\")\n            .resourceGroupName(\"search-service\")\n            .revision(\"2\")\n            .build());\n\n        var exampleApiPolicy = new ApiPolicy(\"exampleApiPolicy\", ApiPolicyArgs.builder()\n            .apiName(example.name())\n            .apiManagementName(example.apiManagementName())\n            .resourceGroupName(example.resourceGroupName())\n            .xmlContent(\"\"\"\n\u003cpolicies\u003e\n  \u003cinbound\u003e\n    \u003cfind-and-replace from=\\\"xyz\\\" to=\\\"abc\\\" /\u003e\n  \u003c/inbound\u003e\n\u003c/policies\u003e\n            \"\"\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleApiPolicy:\n    type: azure:apimanagement:ApiPolicy\n    name: example\n    properties:\n      apiName: ${example.name}\n      apiManagementName: ${example.apiManagementName}\n      resourceGroupName: ${example.resourceGroupName}\n      xmlContent: |\n        \u003cpolicies\u003e\n          \u003cinbound\u003e\n            \u003cfind-and-replace from=\\\"xyz\\\" to=\\\"abc\\\" /\u003e\n          \u003c/inbound\u003e\n        \u003c/policies\u003e\nvariables:\n  example:\n    fn::invoke:\n      function: azure:apimanagement:getApi\n      arguments:\n        name: my-api\n        apiManagementName: example-apim\n        resourceGroupName: search-service\n        revision: '2'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.ApiManagement` - 2022-08-01\n\n## Import\n\nAPI Management API Policy can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:apimanagement/apiPolicy:ApiPolicy example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.ApiManagement/service/service1/apis/exampleId\n```\n\n","properties":{"apiManagementName":{"type":"string","description":"The name of the API Management Service. Changing this forces a new resource to be created.\n"},"apiName":{"type":"string","description":"The ID of the API Management API within the API Management Service. Changing this forces a new resource to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group in which the API Management Service exists. Changing this forces a new resource to be created.\n"},"xmlContent":{"type":"string","description":"The XML Content for this Policy as a string.\n"},"xmlLink":{"type":"string","description":"A link to a Policy XML Document, which must be publicly available.\n"}},"required":["apiManagementName","apiName","resourceGroupName","xmlContent"],"inputProperties":{"apiManagementName":{"type":"string","description":"The name of the API Management Service. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"apiName":{"type":"string","description":"The ID of the API Management API within the API Management Service. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group in which the API Management Service exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"xmlContent":{"type":"string","description":"The XML Content for this Policy as a string.\n"},"xmlLink":{"type":"string","description":"A link to a Policy XML Document, which must be publicly available.\n"}},"requiredInputs":["apiManagementName","apiName","resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering ApiPolicy resources.\n","properties":{"apiManagementName":{"type":"string","description":"The name of the API Management Service. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"apiName":{"type":"string","description":"The ID of the API Management API within the API Management Service. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group in which the API Management Service exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"xmlContent":{"type":"string","description":"The XML Content for this Policy as a string.\n"},"xmlLink":{"type":"string","description":"A link to a Policy XML Document, which must be publicly available.\n"}},"type":"object"}},"azure:apimanagement/apiRelease:ApiRelease":{"description":"Manages a API Management API Release.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleService = new azure.apimanagement.Service(\"example\", {\n    name: \"example-apim\",\n    location: example.location,\n    resourceGroupName: example.name,\n    publisherName: \"My Company\",\n    publisherEmail: \"company@terraform.io\",\n    skuName: \"Developer_1\",\n});\nconst exampleApi = new azure.apimanagement.Api(\"example\", {\n    name: \"example-api\",\n    resourceGroupName: example.name,\n    apiManagementName: exampleService.name,\n    revision: \"1\",\n    displayName: \"Example API\",\n    path: \"example\",\n    protocols: [\"https\"],\n    \"import\": {\n        contentFormat: \"swagger-link-json\",\n        contentValue: \"https://raw.githubusercontent.com/hashicorp/terraform-provider-azurerm/refs/heads/main/internal/services/apimanagement/testdata/api_management_api_swagger.json\",\n    },\n});\nconst exampleApiRelease = new azure.apimanagement.ApiRelease(\"example\", {\n    name: \"example-Api-Release\",\n    apiId: exampleApi.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_service = azure.apimanagement.Service(\"example\",\n    name=\"example-apim\",\n    location=example.location,\n    resource_group_name=example.name,\n    publisher_name=\"My Company\",\n    publisher_email=\"company@terraform.io\",\n    sku_name=\"Developer_1\")\nexample_api = azure.apimanagement.Api(\"example\",\n    name=\"example-api\",\n    resource_group_name=example.name,\n    api_management_name=example_service.name,\n    revision=\"1\",\n    display_name=\"Example API\",\n    path=\"example\",\n    protocols=[\"https\"],\n    import_={\n        \"content_format\": \"swagger-link-json\",\n        \"content_value\": \"https://raw.githubusercontent.com/hashicorp/terraform-provider-azurerm/refs/heads/main/internal/services/apimanagement/testdata/api_management_api_swagger.json\",\n    })\nexample_api_release = azure.apimanagement.ApiRelease(\"example\",\n    name=\"example-Api-Release\",\n    api_id=example_api.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleService = new Azure.ApiManagement.Service(\"example\", new()\n    {\n        Name = \"example-apim\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        PublisherName = \"My Company\",\n        PublisherEmail = \"company@terraform.io\",\n        SkuName = \"Developer_1\",\n    });\n\n    var exampleApi = new Azure.ApiManagement.Api(\"example\", new()\n    {\n        Name = \"example-api\",\n        ResourceGroupName = example.Name,\n        ApiManagementName = exampleService.Name,\n        Revision = \"1\",\n        DisplayName = \"Example API\",\n        Path = \"example\",\n        Protocols = new[]\n        {\n            \"https\",\n        },\n        Import = new Azure.ApiManagement.Inputs.ApiImportArgs\n        {\n            ContentFormat = \"swagger-link-json\",\n            ContentValue = \"https://raw.githubusercontent.com/hashicorp/terraform-provider-azurerm/refs/heads/main/internal/services/apimanagement/testdata/api_management_api_swagger.json\",\n        },\n    });\n\n    var exampleApiRelease = new Azure.ApiManagement.ApiRelease(\"example\", new()\n    {\n        Name = \"example-Api-Release\",\n        ApiId = exampleApi.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/apimanagement\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleService, err := apimanagement.NewService(ctx, \"example\", \u0026apimanagement.ServiceArgs{\n\t\t\tName:              pulumi.String(\"example-apim\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tPublisherName:     pulumi.String(\"My Company\"),\n\t\t\tPublisherEmail:    pulumi.String(\"company@terraform.io\"),\n\t\t\tSkuName:           pulumi.String(\"Developer_1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleApi, err := apimanagement.NewApi(ctx, \"example\", \u0026apimanagement.ApiArgs{\n\t\t\tName:              pulumi.String(\"example-api\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tApiManagementName: exampleService.Name,\n\t\t\tRevision:          pulumi.String(\"1\"),\n\t\t\tDisplayName:       pulumi.String(\"Example API\"),\n\t\t\tPath:              pulumi.String(\"example\"),\n\t\t\tProtocols: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"https\"),\n\t\t\t},\n\t\t\tImport: \u0026apimanagement.ApiImportArgs{\n\t\t\t\tContentFormat: pulumi.String(\"swagger-link-json\"),\n\t\t\t\tContentValue:  pulumi.String(\"https://raw.githubusercontent.com/hashicorp/terraform-provider-azurerm/refs/heads/main/internal/services/apimanagement/testdata/api_management_api_swagger.json\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = apimanagement.NewApiRelease(ctx, \"example\", \u0026apimanagement.ApiReleaseArgs{\n\t\t\tName:  pulumi.String(\"example-Api-Release\"),\n\t\t\tApiId: exampleApi.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.apimanagement.Service;\nimport com.pulumi.azure.apimanagement.ServiceArgs;\nimport com.pulumi.azure.apimanagement.Api;\nimport com.pulumi.azure.apimanagement.ApiArgs;\nimport com.pulumi.azure.apimanagement.inputs.ApiImportArgs;\nimport com.pulumi.azure.apimanagement.ApiRelease;\nimport com.pulumi.azure.apimanagement.ApiReleaseArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleService = new Service(\"exampleService\", ServiceArgs.builder()\n            .name(\"example-apim\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .publisherName(\"My Company\")\n            .publisherEmail(\"company@terraform.io\")\n            .skuName(\"Developer_1\")\n            .build());\n\n        var exampleApi = new Api(\"exampleApi\", ApiArgs.builder()\n            .name(\"example-api\")\n            .resourceGroupName(example.name())\n            .apiManagementName(exampleService.name())\n            .revision(\"1\")\n            .displayName(\"Example API\")\n            .path(\"example\")\n            .protocols(\"https\")\n            .import_(ApiImportArgs.builder()\n                .contentFormat(\"swagger-link-json\")\n                .contentValue(\"https://raw.githubusercontent.com/hashicorp/terraform-provider-azurerm/refs/heads/main/internal/services/apimanagement/testdata/api_management_api_swagger.json\")\n                .build())\n            .build());\n\n        var exampleApiRelease = new ApiRelease(\"exampleApiRelease\", ApiReleaseArgs.builder()\n            .name(\"example-Api-Release\")\n            .apiId(exampleApi.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleService:\n    type: azure:apimanagement:Service\n    name: example\n    properties:\n      name: example-apim\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      publisherName: My Company\n      publisherEmail: company@terraform.io\n      skuName: Developer_1\n  exampleApi:\n    type: azure:apimanagement:Api\n    name: example\n    properties:\n      name: example-api\n      resourceGroupName: ${example.name}\n      apiManagementName: ${exampleService.name}\n      revision: '1'\n      displayName: Example API\n      path: example\n      protocols:\n        - https\n      import:\n        contentFormat: swagger-link-json\n        contentValue: https://raw.githubusercontent.com/hashicorp/terraform-provider-azurerm/refs/heads/main/internal/services/apimanagement/testdata/api_management_api_swagger.json\n  exampleApiRelease:\n    type: azure:apimanagement:ApiRelease\n    name: example\n    properties:\n      name: example-Api-Release\n      apiId: ${exampleApi.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.ApiManagement` - 2022-08-01\n\n## Import\n\nAPI Management API Releases can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:apimanagement/apiRelease:ApiRelease example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.ApiManagement/service/service1/apis/api1/releases/release1\n```\n\n","properties":{"apiId":{"type":"string","description":"The ID of the API Management API. Changing this forces a new API Management API Release to be created.\n"},"name":{"type":"string","description":"The name which should be used for this API Management API Release. Changing this forces a new API Management API Release to be created.\n"},"notes":{"type":"string","description":"The Release Notes.\n"}},"required":["apiId","name"],"inputProperties":{"apiId":{"type":"string","description":"The ID of the API Management API. Changing this forces a new API Management API Release to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this API Management API Release. Changing this forces a new API Management API Release to be created.\n","willReplaceOnChanges":true},"notes":{"type":"string","description":"The Release Notes.\n"}},"requiredInputs":["apiId"],"stateInputs":{"description":"Input properties used for looking up and filtering ApiRelease resources.\n","properties":{"apiId":{"type":"string","description":"The ID of the API Management API. Changing this forces a new API Management API Release to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this API Management API Release. Changing this forces a new API Management API Release to be created.\n","willReplaceOnChanges":true},"notes":{"type":"string","description":"The Release Notes.\n"}},"type":"object"}},"azure:apimanagement/apiSchema:ApiSchema":{"description":"Manages an API Schema within an API Management Service.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\nimport * as std from \"@pulumi/std\";\n\nconst example = azure.apimanagement.getApi({\n    name: \"search-api\",\n    apiManagementName: \"search-api-management\",\n    resourceGroupName: \"search-service\",\n    revision: \"2\",\n});\nconst exampleApiSchema = new azure.apimanagement.ApiSchema(\"example\", {\n    apiName: example.then(example =\u003e example.name),\n    apiManagementName: example.then(example =\u003e example.apiManagementName),\n    resourceGroupName: example.then(example =\u003e example.resourceGroupName),\n    schemaId: \"example-schema\",\n    contentType: \"application/vnd.ms-azure-apim.xsd+xml\",\n    value: std.file({\n        input: \"api_management_api_schema.xml\",\n    }).then(invoke =\u003e invoke.result),\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\nimport pulumi_std as std\n\nexample = azure.apimanagement.get_api(name=\"search-api\",\n    api_management_name=\"search-api-management\",\n    resource_group_name=\"search-service\",\n    revision=\"2\")\nexample_api_schema = azure.apimanagement.ApiSchema(\"example\",\n    api_name=example.name,\n    api_management_name=example.api_management_name,\n    resource_group_name=example.resource_group_name,\n    schema_id=\"example-schema\",\n    content_type=\"application/vnd.ms-azure-apim.xsd+xml\",\n    value=std.file(input=\"api_management_api_schema.xml\").result)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.ApiManagement.GetApi.Invoke(new()\n    {\n        Name = \"search-api\",\n        ApiManagementName = \"search-api-management\",\n        ResourceGroupName = \"search-service\",\n        Revision = \"2\",\n    });\n\n    var exampleApiSchema = new Azure.ApiManagement.ApiSchema(\"example\", new()\n    {\n        ApiName = example.Apply(getApiResult =\u003e getApiResult.Name),\n        ApiManagementName = example.Apply(getApiResult =\u003e getApiResult.ApiManagementName),\n        ResourceGroupName = example.Apply(getApiResult =\u003e getApiResult.ResourceGroupName),\n        SchemaId = \"example-schema\",\n        ContentType = \"application/vnd.ms-azure-apim.xsd+xml\",\n        Value = Std.File.Invoke(new()\n        {\n            Input = \"api_management_api_schema.xml\",\n        }).Apply(invoke =\u003e invoke.Result),\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/apimanagement\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := apimanagement.LookupApi(ctx, \u0026apimanagement.LookupApiArgs{\n\t\t\tName:              \"search-api\",\n\t\t\tApiManagementName: \"search-api-management\",\n\t\t\tResourceGroupName: \"search-service\",\n\t\t\tRevision:          \"2\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"api_management_api_schema.xml\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = apimanagement.NewApiSchema(ctx, \"example\", \u0026apimanagement.ApiSchemaArgs{\n\t\t\tApiName:           pulumi.String(example.Name),\n\t\t\tApiManagementName: pulumi.String(example.ApiManagementName),\n\t\t\tResourceGroupName: pulumi.String(example.ResourceGroupName),\n\t\t\tSchemaId:          pulumi.String(\"example-schema\"),\n\t\t\tContentType:       pulumi.String(\"application/vnd.ms-azure-apim.xsd+xml\"),\n\t\t\tValue:             pulumi.String(invokeFile.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.apimanagement.ApimanagementFunctions;\nimport com.pulumi.azure.apimanagement.inputs.GetApiArgs;\nimport com.pulumi.azure.apimanagement.ApiSchema;\nimport com.pulumi.azure.apimanagement.ApiSchemaArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.FileArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = ApimanagementFunctions.getApi(GetApiArgs.builder()\n            .name(\"search-api\")\n            .apiManagementName(\"search-api-management\")\n            .resourceGroupName(\"search-service\")\n            .revision(\"2\")\n            .build());\n\n        var exampleApiSchema = new ApiSchema(\"exampleApiSchema\", ApiSchemaArgs.builder()\n            .apiName(example.name())\n            .apiManagementName(example.apiManagementName())\n            .resourceGroupName(example.resourceGroupName())\n            .schemaId(\"example-schema\")\n            .contentType(\"application/vnd.ms-azure-apim.xsd+xml\")\n            .value(StdFunctions.file(FileArgs.builder()\n                .input(\"api_management_api_schema.xml\")\n                .build()).result())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleApiSchema:\n    type: azure:apimanagement:ApiSchema\n    name: example\n    properties:\n      apiName: ${example.name}\n      apiManagementName: ${example.apiManagementName}\n      resourceGroupName: ${example.resourceGroupName}\n      schemaId: example-schema\n      contentType: application/vnd.ms-azure-apim.xsd+xml\n      value:\n        fn::invoke:\n          function: std:file\n          arguments:\n            input: api_management_api_schema.xml\n          return: result\nvariables:\n  example:\n    fn::invoke:\n      function: azure:apimanagement:getApi\n      arguments:\n        name: search-api\n        apiManagementName: search-api-management\n        resourceGroupName: search-service\n        revision: '2'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.ApiManagement` - 2022-08-01\n\n## Import\n\nAPI Management API Schema's can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:apimanagement/apiSchema:ApiSchema example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.ApiManagement/service/instance1/apis/api1/schemas/schema1\n```\n\n","properties":{"apiManagementName":{"type":"string","description":"The Name of the API Management Service where the API exists. Changing this forces a new resource to be created.\n"},"apiName":{"type":"string","description":"The name of the API within the API Management Service where this API Schema should be created. Changing this forces a new resource to be created.\n"},"components":{"type":"string","description":"Types definitions. Used for Swagger/OpenAPI v2/v3 schemas only.\n"},"contentType":{"type":"string","description":"The content type of the API Schema.\n"},"definitions":{"type":"string","description":"Types definitions. Used for Swagger/OpenAPI v1 schemas only.\n"},"resourceGroupName":{"type":"string","description":"The Name of the Resource Group in which the API Management Service exists. Changing this forces a new resource to be created.\n"},"schemaId":{"type":"string","description":"A unique identifier for this API Schema. Changing this forces a new resource to be created.\n"},"value":{"type":"string","description":"The JSON escaped string defining the document representing the Schema.\n"}},"required":["apiManagementName","apiName","contentType","resourceGroupName","schemaId"],"inputProperties":{"apiManagementName":{"type":"string","description":"The Name of the API Management Service where the API exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"apiName":{"type":"string","description":"The name of the API within the API Management Service where this API Schema should be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"components":{"type":"string","description":"Types definitions. Used for Swagger/OpenAPI v2/v3 schemas only.\n"},"contentType":{"type":"string","description":"The content type of the API Schema.\n"},"definitions":{"type":"string","description":"Types definitions. Used for Swagger/OpenAPI v1 schemas only.\n"},"resourceGroupName":{"type":"string","description":"The Name of the Resource Group in which the API Management Service exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"schemaId":{"type":"string","description":"A unique identifier for this API Schema. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"value":{"type":"string","description":"The JSON escaped string defining the document representing the Schema.\n"}},"requiredInputs":["apiManagementName","apiName","contentType","resourceGroupName","schemaId"],"stateInputs":{"description":"Input properties used for looking up and filtering ApiSchema resources.\n","properties":{"apiManagementName":{"type":"string","description":"The Name of the API Management Service where the API exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"apiName":{"type":"string","description":"The name of the API within the API Management Service where this API Schema should be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"components":{"type":"string","description":"Types definitions. Used for Swagger/OpenAPI v2/v3 schemas only.\n"},"contentType":{"type":"string","description":"The content type of the API Schema.\n"},"definitions":{"type":"string","description":"Types definitions. Used for Swagger/OpenAPI v1 schemas only.\n"},"resourceGroupName":{"type":"string","description":"The Name of the Resource Group in which the API Management Service exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"schemaId":{"type":"string","description":"A unique identifier for this API Schema. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"value":{"type":"string","description":"The JSON escaped string defining the document representing the Schema.\n"}},"type":"object"}},"azure:apimanagement/apiTag:ApiTag":{"description":"Manages the Assignment of an API Management API Tag to an API.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst example = azure.apimanagement.getServiceOutput({\n    name: \"example-apim\",\n    resourceGroupName: exampleResourceGroup.name,\n});\nconst exampleApi = new azure.apimanagement.Api(\"example\", {\n    name: \"example-api\",\n    resourceGroupName: exampleResourceGroup.name,\n    apiManagementName: example.apply(example =\u003e example.name),\n    revision: \"1\",\n});\nconst exampleTag = new azure.apimanagement.Tag(\"example\", {\n    apiManagementId: example.apply(example =\u003e example.id),\n    name: \"example-tag\",\n});\nconst exampleApiTag = new azure.apimanagement.ApiTag(\"example\", {\n    apiId: exampleApi.id,\n    name: exampleTag.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample = azure.apimanagement.get_service_output(name=\"example-apim\",\n    resource_group_name=example_resource_group.name)\nexample_api = azure.apimanagement.Api(\"example\",\n    name=\"example-api\",\n    resource_group_name=example_resource_group.name,\n    api_management_name=example.name,\n    revision=\"1\")\nexample_tag = azure.apimanagement.Tag(\"example\",\n    api_management_id=example.id,\n    name=\"example-tag\")\nexample_api_tag = azure.apimanagement.ApiTag(\"example\",\n    api_id=example_api.id,\n    name=example_tag.name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleResourceGroup = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var example = Azure.ApiManagement.GetService.Invoke(new()\n    {\n        Name = \"example-apim\",\n        ResourceGroupName = exampleResourceGroup.Name,\n    });\n\n    var exampleApi = new Azure.ApiManagement.Api(\"example\", new()\n    {\n        Name = \"example-api\",\n        ResourceGroupName = exampleResourceGroup.Name,\n        ApiManagementName = example.Apply(getServiceResult =\u003e getServiceResult.Name),\n        Revision = \"1\",\n    });\n\n    var exampleTag = new Azure.ApiManagement.Tag(\"example\", new()\n    {\n        ApiManagementId = example.Apply(getServiceResult =\u003e getServiceResult.Id),\n        Name = \"example-tag\",\n    });\n\n    var exampleApiTag = new Azure.ApiManagement.ApiTag(\"example\", new()\n    {\n        ApiId = exampleApi.Id,\n        Name = exampleTag.Name,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/apimanagement\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample := apimanagement.LookupServiceOutput(ctx, apimanagement.GetServiceOutputArgs{\n\t\t\tName:              pulumi.String(\"example-apim\"),\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t}, nil)\n\t\texampleApi, err := apimanagement.NewApi(ctx, \"example\", \u0026apimanagement.ApiArgs{\n\t\t\tName:              pulumi.String(\"example-api\"),\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tApiManagementName: pulumi.String(example.ApplyT(func(example apimanagement.GetServiceResult) (*string, error) {\n\t\t\t\treturn \u0026example.Name, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tRevision: pulumi.String(\"1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleTag, err := apimanagement.NewTag(ctx, \"example\", \u0026apimanagement.TagArgs{\n\t\t\tApiManagementId: pulumi.String(example.ApplyT(func(example apimanagement.GetServiceResult) (*string, error) {\n\t\t\t\treturn \u0026example.Id, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tName: pulumi.String(\"example-tag\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = apimanagement.NewApiTag(ctx, \"example\", \u0026apimanagement.ApiTagArgs{\n\t\t\tApiId: exampleApi.ID(),\n\t\t\tName:  exampleTag.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.apimanagement.ApimanagementFunctions;\nimport com.pulumi.azure.apimanagement.inputs.GetServiceArgs;\nimport com.pulumi.azure.apimanagement.Api;\nimport com.pulumi.azure.apimanagement.ApiArgs;\nimport com.pulumi.azure.apimanagement.Tag;\nimport com.pulumi.azure.apimanagement.TagArgs;\nimport com.pulumi.azure.apimanagement.ApiTag;\nimport com.pulumi.azure.apimanagement.ApiTagArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var exampleResourceGroup = new ResourceGroup(\"exampleResourceGroup\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        final var example = ApimanagementFunctions.getService(GetServiceArgs.builder()\n            .name(\"example-apim\")\n            .resourceGroupName(exampleResourceGroup.name())\n            .build());\n\n        var exampleApi = new Api(\"exampleApi\", ApiArgs.builder()\n            .name(\"example-api\")\n            .resourceGroupName(exampleResourceGroup.name())\n            .apiManagementName(example.applyValue(_example -\u003e _example.name()))\n            .revision(\"1\")\n            .build());\n\n        var exampleTag = new Tag(\"exampleTag\", TagArgs.builder()\n            .apiManagementId(example.applyValue(_example -\u003e _example.id()))\n            .name(\"example-tag\")\n            .build());\n\n        var exampleApiTag = new ApiTag(\"exampleApiTag\", ApiTagArgs.builder()\n            .apiId(exampleApi.id())\n            .name(exampleTag.name())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleResourceGroup:\n    type: azure:core:ResourceGroup\n    name: example\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleApi:\n    type: azure:apimanagement:Api\n    name: example\n    properties:\n      name: example-api\n      resourceGroupName: ${exampleResourceGroup.name}\n      apiManagementName: ${example.name}\n      revision: '1'\n  exampleTag:\n    type: azure:apimanagement:Tag\n    name: example\n    properties:\n      apiManagementId: ${example.id}\n      name: example-tag\n  exampleApiTag:\n    type: azure:apimanagement:ApiTag\n    name: example\n    properties:\n      apiId: ${exampleApi.id}\n      name: ${exampleTag.name}\nvariables:\n  example:\n    fn::invoke:\n      function: azure:apimanagement:getService\n      arguments:\n        name: example-apim\n        resourceGroupName: ${exampleResourceGroup.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.ApiManagement` - 2022-08-01\n\n## Import\n\nAPI Management API Tags can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:apimanagement/apiTag:ApiTag example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.ApiManagement/service/service1/apis/api1/tags/tag1\n```\n\n","properties":{"apiId":{"type":"string","description":"The ID of the API Management API. Changing this forces a new API Management API Tag to be created.\n"},"name":{"type":"string","description":"The name of the tag. It must be known in the API Management instance. Changing this forces a new API Management API Tag to be created.\n"}},"required":["apiId","name"],"inputProperties":{"apiId":{"type":"string","description":"The ID of the API Management API. Changing this forces a new API Management API Tag to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the tag. It must be known in the API Management instance. Changing this forces a new API Management API Tag to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["apiId"],"stateInputs":{"description":"Input properties used for looking up and filtering ApiTag resources.\n","properties":{"apiId":{"type":"string","description":"The ID of the API Management API. Changing this forces a new API Management API Tag to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the tag. It must be known in the API Management instance. Changing this forces a new API Management API Tag to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:apimanagement/apiTagDescription:ApiTagDescription":{"description":"Manages an API Tag Description within an API Management Service.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleService = new azure.apimanagement.Service(\"example\", {\n    name: \"example-apim\",\n    location: example.location,\n    resourceGroupName: example.name,\n    publisherName: \"My Company\",\n    publisherEmail: \"company@terraform.io\",\n    skuName: \"Developer_1\",\n});\nconst exampleApi = new azure.apimanagement.Api(\"example\", {\n    name: \"example-api\",\n    resourceGroupName: example.name,\n    apiManagementName: exampleService.name,\n    revision: \"1\",\n    displayName: \"Example API\",\n    path: \"example\",\n    protocols: [\"https\"],\n    \"import\": {\n        contentFormat: \"swagger-link-json\",\n        contentValue: \"https://raw.githubusercontent.com/hashicorp/terraform-provider-azurerm/refs/heads/main/internal/services/apimanagement/testdata/api_management_api_swagger.json\",\n    },\n});\nconst exampleTag = new azure.apimanagement.Tag(\"example\", {\n    apiManagementId: exampleService.id,\n    name: \"example-Tag\",\n});\nconst exampleApiTagDescription = new azure.apimanagement.ApiTagDescription(\"example\", {\n    apiTagId: exampleTag.id,\n    description: \"This is an example description\",\n    externalDocsUrl: \"https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs\",\n    externalDocsDescription: \"This is an example external docs description\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_service = azure.apimanagement.Service(\"example\",\n    name=\"example-apim\",\n    location=example.location,\n    resource_group_name=example.name,\n    publisher_name=\"My Company\",\n    publisher_email=\"company@terraform.io\",\n    sku_name=\"Developer_1\")\nexample_api = azure.apimanagement.Api(\"example\",\n    name=\"example-api\",\n    resource_group_name=example.name,\n    api_management_name=example_service.name,\n    revision=\"1\",\n    display_name=\"Example API\",\n    path=\"example\",\n    protocols=[\"https\"],\n    import_={\n        \"content_format\": \"swagger-link-json\",\n        \"content_value\": \"https://raw.githubusercontent.com/hashicorp/terraform-provider-azurerm/refs/heads/main/internal/services/apimanagement/testdata/api_management_api_swagger.json\",\n    })\nexample_tag = azure.apimanagement.Tag(\"example\",\n    api_management_id=example_service.id,\n    name=\"example-Tag\")\nexample_api_tag_description = azure.apimanagement.ApiTagDescription(\"example\",\n    api_tag_id=example_tag.id,\n    description=\"This is an example description\",\n    external_docs_url=\"https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs\",\n    external_docs_description=\"This is an example external docs description\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleService = new Azure.ApiManagement.Service(\"example\", new()\n    {\n        Name = \"example-apim\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        PublisherName = \"My Company\",\n        PublisherEmail = \"company@terraform.io\",\n        SkuName = \"Developer_1\",\n    });\n\n    var exampleApi = new Azure.ApiManagement.Api(\"example\", new()\n    {\n        Name = \"example-api\",\n        ResourceGroupName = example.Name,\n        ApiManagementName = exampleService.Name,\n        Revision = \"1\",\n        DisplayName = \"Example API\",\n        Path = \"example\",\n        Protocols = new[]\n        {\n            \"https\",\n        },\n        Import = new Azure.ApiManagement.Inputs.ApiImportArgs\n        {\n            ContentFormat = \"swagger-link-json\",\n            ContentValue = \"https://raw.githubusercontent.com/hashicorp/terraform-provider-azurerm/refs/heads/main/internal/services/apimanagement/testdata/api_management_api_swagger.json\",\n        },\n    });\n\n    var exampleTag = new Azure.ApiManagement.Tag(\"example\", new()\n    {\n        ApiManagementId = exampleService.Id,\n        Name = \"example-Tag\",\n    });\n\n    var exampleApiTagDescription = new Azure.ApiManagement.ApiTagDescription(\"example\", new()\n    {\n        ApiTagId = exampleTag.Id,\n        Description = \"This is an example description\",\n        ExternalDocsUrl = \"https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs\",\n        ExternalDocsDescription = \"This is an example external docs description\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/apimanagement\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleService, err := apimanagement.NewService(ctx, \"example\", \u0026apimanagement.ServiceArgs{\n\t\t\tName:              pulumi.String(\"example-apim\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tPublisherName:     pulumi.String(\"My Company\"),\n\t\t\tPublisherEmail:    pulumi.String(\"company@terraform.io\"),\n\t\t\tSkuName:           pulumi.String(\"Developer_1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = apimanagement.NewApi(ctx, \"example\", \u0026apimanagement.ApiArgs{\n\t\t\tName:              pulumi.String(\"example-api\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tApiManagementName: exampleService.Name,\n\t\t\tRevision:          pulumi.String(\"1\"),\n\t\t\tDisplayName:       pulumi.String(\"Example API\"),\n\t\t\tPath:              pulumi.String(\"example\"),\n\t\t\tProtocols: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"https\"),\n\t\t\t},\n\t\t\tImport: \u0026apimanagement.ApiImportArgs{\n\t\t\t\tContentFormat: pulumi.String(\"swagger-link-json\"),\n\t\t\t\tContentValue:  pulumi.String(\"https://raw.githubusercontent.com/hashicorp/terraform-provider-azurerm/refs/heads/main/internal/services/apimanagement/testdata/api_management_api_swagger.json\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleTag, err := apimanagement.NewTag(ctx, \"example\", \u0026apimanagement.TagArgs{\n\t\t\tApiManagementId: exampleService.ID(),\n\t\t\tName:            pulumi.String(\"example-Tag\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = apimanagement.NewApiTagDescription(ctx, \"example\", \u0026apimanagement.ApiTagDescriptionArgs{\n\t\t\tApiTagId:                exampleTag.ID(),\n\t\t\tDescription:             pulumi.String(\"This is an example description\"),\n\t\t\tExternalDocsUrl:         \"https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs\",\n\t\t\tExternalDocsDescription: \"This is an example external docs description\",\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.apimanagement.Service;\nimport com.pulumi.azure.apimanagement.ServiceArgs;\nimport com.pulumi.azure.apimanagement.Api;\nimport com.pulumi.azure.apimanagement.ApiArgs;\nimport com.pulumi.azure.apimanagement.inputs.ApiImportArgs;\nimport com.pulumi.azure.apimanagement.Tag;\nimport com.pulumi.azure.apimanagement.TagArgs;\nimport com.pulumi.azure.apimanagement.ApiTagDescription;\nimport com.pulumi.azure.apimanagement.ApiTagDescriptionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleService = new Service(\"exampleService\", ServiceArgs.builder()\n            .name(\"example-apim\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .publisherName(\"My Company\")\n            .publisherEmail(\"company@terraform.io\")\n            .skuName(\"Developer_1\")\n            .build());\n\n        var exampleApi = new Api(\"exampleApi\", ApiArgs.builder()\n            .name(\"example-api\")\n            .resourceGroupName(example.name())\n            .apiManagementName(exampleService.name())\n            .revision(\"1\")\n            .displayName(\"Example API\")\n            .path(\"example\")\n            .protocols(\"https\")\n            .import_(ApiImportArgs.builder()\n                .contentFormat(\"swagger-link-json\")\n                .contentValue(\"https://raw.githubusercontent.com/hashicorp/terraform-provider-azurerm/refs/heads/main/internal/services/apimanagement/testdata/api_management_api_swagger.json\")\n                .build())\n            .build());\n\n        var exampleTag = new Tag(\"exampleTag\", TagArgs.builder()\n            .apiManagementId(exampleService.id())\n            .name(\"example-Tag\")\n            .build());\n\n        var exampleApiTagDescription = new ApiTagDescription(\"exampleApiTagDescription\", ApiTagDescriptionArgs.builder()\n            .apiTagId(exampleTag.id())\n            .description(\"This is an example description\")\n            .externalDocsUrl(\"https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs\")\n            .externalDocsDescription(\"This is an example external docs description\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleService:\n    type: azure:apimanagement:Service\n    name: example\n    properties:\n      name: example-apim\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      publisherName: My Company\n      publisherEmail: company@terraform.io\n      skuName: Developer_1\n  exampleApi:\n    type: azure:apimanagement:Api\n    name: example\n    properties:\n      name: example-api\n      resourceGroupName: ${example.name}\n      apiManagementName: ${exampleService.name}\n      revision: '1'\n      displayName: Example API\n      path: example\n      protocols:\n        - https\n      import:\n        contentFormat: swagger-link-json\n        contentValue: https://raw.githubusercontent.com/hashicorp/terraform-provider-azurerm/refs/heads/main/internal/services/apimanagement/testdata/api_management_api_swagger.json\n  exampleTag:\n    type: azure:apimanagement:Tag\n    name: example\n    properties:\n      apiManagementId: ${exampleService.id}\n      name: example-Tag\n  exampleApiTagDescription:\n    type: azure:apimanagement:ApiTagDescription\n    name: example\n    properties:\n      apiTagId: ${exampleTag.id}\n      description: This is an example description\n      externalDocsUrl: https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs\n      externalDocsDescription: This is an example external docs description\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.ApiManagement` - 2022-08-01\n\n## Import\n\nAPI Management API Schema's can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:apimanagement/apiTagDescription:ApiTagDescription example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.ApiManagement/service/instance1/apis/api1/tagDescriptions/tagDescriptionId1\n```\n\n","properties":{"apiTagId":{"type":"string","description":"The The ID of the API Management API Tag. Changing this forces a new API Management API Tag Description to be created.\n"},"description":{"type":"string","description":"The description of the Tag.\n"},"externalDocumentationDescription":{"type":"string","description":"The description of the external documentation resources describing the tag.\n"},"externalDocumentationUrl":{"type":"string","description":"The URL of external documentation resources describing the tag.\n"}},"required":["apiTagId"],"inputProperties":{"apiTagId":{"type":"string","description":"The The ID of the API Management API Tag. Changing this forces a new API Management API Tag Description to be created.\n","willReplaceOnChanges":true},"description":{"type":"string","description":"The description of the Tag.\n"},"externalDocumentationDescription":{"type":"string","description":"The description of the external documentation resources describing the tag.\n"},"externalDocumentationUrl":{"type":"string","description":"The URL of external documentation resources describing the tag.\n"}},"requiredInputs":["apiTagId"],"stateInputs":{"description":"Input properties used for looking up and filtering ApiTagDescription resources.\n","properties":{"apiTagId":{"type":"string","description":"The The ID of the API Management API Tag. Changing this forces a new API Management API Tag Description to be created.\n","willReplaceOnChanges":true},"description":{"type":"string","description":"The description of the Tag.\n"},"externalDocumentationDescription":{"type":"string","description":"The description of the external documentation resources describing the tag.\n"},"externalDocumentationUrl":{"type":"string","description":"The URL of external documentation resources describing the tag.\n"}},"type":"object"}},"azure:apimanagement/apiVersionSet:ApiVersionSet":{"description":"Manages an API Version Set within an API Management Service.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleService = new azure.apimanagement.Service(\"example\", {\n    name: \"example-apim\",\n    location: example.location,\n    resourceGroupName: example.name,\n    publisherName: \"pub1\",\n    publisherEmail: \"pub1@email.com\",\n    skuName: \"Developer_1\",\n});\nconst exampleApiVersionSet = new azure.apimanagement.ApiVersionSet(\"example\", {\n    name: \"example-apimapi-1_0_0\",\n    resourceGroupName: example.name,\n    apiManagementName: exampleService.name,\n    displayName: \"ExampleAPIVersionSet\",\n    versioningScheme: \"Segment\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_service = azure.apimanagement.Service(\"example\",\n    name=\"example-apim\",\n    location=example.location,\n    resource_group_name=example.name,\n    publisher_name=\"pub1\",\n    publisher_email=\"pub1@email.com\",\n    sku_name=\"Developer_1\")\nexample_api_version_set = azure.apimanagement.ApiVersionSet(\"example\",\n    name=\"example-apimapi-1_0_0\",\n    resource_group_name=example.name,\n    api_management_name=example_service.name,\n    display_name=\"ExampleAPIVersionSet\",\n    versioning_scheme=\"Segment\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleService = new Azure.ApiManagement.Service(\"example\", new()\n    {\n        Name = \"example-apim\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        PublisherName = \"pub1\",\n        PublisherEmail = \"pub1@email.com\",\n        SkuName = \"Developer_1\",\n    });\n\n    var exampleApiVersionSet = new Azure.ApiManagement.ApiVersionSet(\"example\", new()\n    {\n        Name = \"example-apimapi-1_0_0\",\n        ResourceGroupName = example.Name,\n        ApiManagementName = exampleService.Name,\n        DisplayName = \"ExampleAPIVersionSet\",\n        VersioningScheme = \"Segment\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/apimanagement\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleService, err := apimanagement.NewService(ctx, \"example\", \u0026apimanagement.ServiceArgs{\n\t\t\tName:              pulumi.String(\"example-apim\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tPublisherName:     pulumi.String(\"pub1\"),\n\t\t\tPublisherEmail:    pulumi.String(\"pub1@email.com\"),\n\t\t\tSkuName:           pulumi.String(\"Developer_1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = apimanagement.NewApiVersionSet(ctx, \"example\", \u0026apimanagement.ApiVersionSetArgs{\n\t\t\tName:              pulumi.String(\"example-apimapi-1_0_0\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tApiManagementName: exampleService.Name,\n\t\t\tDisplayName:       pulumi.String(\"ExampleAPIVersionSet\"),\n\t\t\tVersioningScheme:  pulumi.String(\"Segment\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.apimanagement.Service;\nimport com.pulumi.azure.apimanagement.ServiceArgs;\nimport com.pulumi.azure.apimanagement.ApiVersionSet;\nimport com.pulumi.azure.apimanagement.ApiVersionSetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleService = new Service(\"exampleService\", ServiceArgs.builder()\n            .name(\"example-apim\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .publisherName(\"pub1\")\n            .publisherEmail(\"pub1@email.com\")\n            .skuName(\"Developer_1\")\n            .build());\n\n        var exampleApiVersionSet = new ApiVersionSet(\"exampleApiVersionSet\", ApiVersionSetArgs.builder()\n            .name(\"example-apimapi-1_0_0\")\n            .resourceGroupName(example.name())\n            .apiManagementName(exampleService.name())\n            .displayName(\"ExampleAPIVersionSet\")\n            .versioningScheme(\"Segment\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleService:\n    type: azure:apimanagement:Service\n    name: example\n    properties:\n      name: example-apim\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      publisherName: pub1\n      publisherEmail: pub1@email.com\n      skuName: Developer_1\n  exampleApiVersionSet:\n    type: azure:apimanagement:ApiVersionSet\n    name: example\n    properties:\n      name: example-apimapi-1_0_0\n      resourceGroupName: ${example.name}\n      apiManagementName: ${exampleService.name}\n      displayName: ExampleAPIVersionSet\n      versioningScheme: Segment\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.ApiManagement` - 2022-08-01\n\n## Import\n\nAPI Version Set can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:apimanagement/apiVersionSet:ApiVersionSet example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.ApiManagement/service/service1/apiVersionSets/set1\n```\n\n","properties":{"apiManagementName":{"type":"string","description":"The name of the API Management Service in which the API Version Set should exist. May only contain alphanumeric characters and dashes up to 50 characters in length. Changing this forces a new resource to be created.\n"},"description":{"type":"string","description":"The description of API Version Set.\n"},"displayName":{"type":"string","description":"The display name of this API Version Set.\n"},"name":{"type":"string","description":"The name of the API Version Set. May only contain alphanumeric characters and dashes up to 80 characters in length. Changing this forces a new resource to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group in which the parent API Management Service exists. Changing this forces a new resource to be created.\n"},"versionHeaderName":{"type":"string","description":"The name of the Header which should be read from Inbound Requests which defines the API Version.\n\n\u003e **Note:** This must be specified when \u003cspan pulumi-lang-nodejs=\"`versioningScheme`\" pulumi-lang-dotnet=\"`VersioningScheme`\" pulumi-lang-go=\"`versioningScheme`\" pulumi-lang-python=\"`versioning_scheme`\" pulumi-lang-yaml=\"`versioningScheme`\" pulumi-lang-java=\"`versioningScheme`\"\u003e`versioning_scheme`\u003c/span\u003e is set to `Header`.\n"},"versionQueryName":{"type":"string","description":"The name of the Query String which should be read from Inbound Requests which defines the API Version.\n\n\u003e **Note:** This must be specified when \u003cspan pulumi-lang-nodejs=\"`versioningScheme`\" pulumi-lang-dotnet=\"`VersioningScheme`\" pulumi-lang-go=\"`versioningScheme`\" pulumi-lang-python=\"`versioning_scheme`\" pulumi-lang-yaml=\"`versioningScheme`\" pulumi-lang-java=\"`versioningScheme`\"\u003e`versioning_scheme`\u003c/span\u003e is set to `Query`.\n"},"versioningScheme":{"type":"string","description":"Specifies where in an Inbound HTTP Request that the API Version should be read from. Possible values are `Header`, `Query` and `Segment`.\n"}},"required":["apiManagementName","displayName","name","resourceGroupName","versioningScheme"],"inputProperties":{"apiManagementName":{"type":"string","description":"The name of the API Management Service in which the API Version Set should exist. May only contain alphanumeric characters and dashes up to 50 characters in length. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"description":{"type":"string","description":"The description of API Version Set.\n"},"displayName":{"type":"string","description":"The display name of this API Version Set.\n"},"name":{"type":"string","description":"The name of the API Version Set. May only contain alphanumeric characters and dashes up to 80 characters in length. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group in which the parent API Management Service exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"versionHeaderName":{"type":"string","description":"The name of the Header which should be read from Inbound Requests which defines the API Version.\n\n\u003e **Note:** This must be specified when \u003cspan pulumi-lang-nodejs=\"`versioningScheme`\" pulumi-lang-dotnet=\"`VersioningScheme`\" pulumi-lang-go=\"`versioningScheme`\" pulumi-lang-python=\"`versioning_scheme`\" pulumi-lang-yaml=\"`versioningScheme`\" pulumi-lang-java=\"`versioningScheme`\"\u003e`versioning_scheme`\u003c/span\u003e is set to `Header`.\n"},"versionQueryName":{"type":"string","description":"The name of the Query String which should be read from Inbound Requests which defines the API Version.\n\n\u003e **Note:** This must be specified when \u003cspan pulumi-lang-nodejs=\"`versioningScheme`\" pulumi-lang-dotnet=\"`VersioningScheme`\" pulumi-lang-go=\"`versioningScheme`\" pulumi-lang-python=\"`versioning_scheme`\" pulumi-lang-yaml=\"`versioningScheme`\" pulumi-lang-java=\"`versioningScheme`\"\u003e`versioning_scheme`\u003c/span\u003e is set to `Query`.\n"},"versioningScheme":{"type":"string","description":"Specifies where in an Inbound HTTP Request that the API Version should be read from. Possible values are `Header`, `Query` and `Segment`.\n"}},"requiredInputs":["apiManagementName","displayName","resourceGroupName","versioningScheme"],"stateInputs":{"description":"Input properties used for looking up and filtering ApiVersionSet resources.\n","properties":{"apiManagementName":{"type":"string","description":"The name of the API Management Service in which the API Version Set should exist. May only contain alphanumeric characters and dashes up to 50 characters in length. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"description":{"type":"string","description":"The description of API Version Set.\n"},"displayName":{"type":"string","description":"The display name of this API Version Set.\n"},"name":{"type":"string","description":"The name of the API Version Set. May only contain alphanumeric characters and dashes up to 80 characters in length. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group in which the parent API Management Service exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"versionHeaderName":{"type":"string","description":"The name of the Header which should be read from Inbound Requests which defines the API Version.\n\n\u003e **Note:** This must be specified when \u003cspan pulumi-lang-nodejs=\"`versioningScheme`\" pulumi-lang-dotnet=\"`VersioningScheme`\" pulumi-lang-go=\"`versioningScheme`\" pulumi-lang-python=\"`versioning_scheme`\" pulumi-lang-yaml=\"`versioningScheme`\" pulumi-lang-java=\"`versioningScheme`\"\u003e`versioning_scheme`\u003c/span\u003e is set to `Header`.\n"},"versionQueryName":{"type":"string","description":"The name of the Query String which should be read from Inbound Requests which defines the API Version.\n\n\u003e **Note:** This must be specified when \u003cspan pulumi-lang-nodejs=\"`versioningScheme`\" pulumi-lang-dotnet=\"`VersioningScheme`\" pulumi-lang-go=\"`versioningScheme`\" pulumi-lang-python=\"`versioning_scheme`\" pulumi-lang-yaml=\"`versioningScheme`\" pulumi-lang-java=\"`versioningScheme`\"\u003e`versioning_scheme`\u003c/span\u003e is set to `Query`.\n"},"versioningScheme":{"type":"string","description":"Specifies where in an Inbound HTTP Request that the API Version should be read from. Possible values are `Header`, `Query` and `Segment`.\n"}},"type":"object"}},"azure:apimanagement/authorizationServer:AuthorizationServer":{"description":"Manages an Authorization Server within an API Management Service.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.apimanagement.getService({\n    name: \"search-api\",\n    resourceGroupName: \"search-service\",\n});\nconst exampleAuthorizationServer = new azure.apimanagement.AuthorizationServer(\"example\", {\n    name: \"test-server\",\n    apiManagementName: example.then(example =\u003e example.name),\n    resourceGroupName: example.then(example =\u003e example.resourceGroupName),\n    displayName: \"Test Server\",\n    authorizationEndpoint: \"https://example.mydomain.com/client/authorize\",\n    clientId: \"42424242-4242-4242-4242-424242424242\",\n    clientRegistrationEndpoint: \"https://example.mydomain.com/client/register\",\n    grantTypes: [\"authorizationCode\"],\n    authorizationMethods: [\"GET\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.apimanagement.get_service(name=\"search-api\",\n    resource_group_name=\"search-service\")\nexample_authorization_server = azure.apimanagement.AuthorizationServer(\"example\",\n    name=\"test-server\",\n    api_management_name=example.name,\n    resource_group_name=example.resource_group_name,\n    display_name=\"Test Server\",\n    authorization_endpoint=\"https://example.mydomain.com/client/authorize\",\n    client_id=\"42424242-4242-4242-4242-424242424242\",\n    client_registration_endpoint=\"https://example.mydomain.com/client/register\",\n    grant_types=[\"authorizationCode\"],\n    authorization_methods=[\"GET\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.ApiManagement.GetService.Invoke(new()\n    {\n        Name = \"search-api\",\n        ResourceGroupName = \"search-service\",\n    });\n\n    var exampleAuthorizationServer = new Azure.ApiManagement.AuthorizationServer(\"example\", new()\n    {\n        Name = \"test-server\",\n        ApiManagementName = example.Apply(getServiceResult =\u003e getServiceResult.Name),\n        ResourceGroupName = example.Apply(getServiceResult =\u003e getServiceResult.ResourceGroupName),\n        DisplayName = \"Test Server\",\n        AuthorizationEndpoint = \"https://example.mydomain.com/client/authorize\",\n        ClientId = \"42424242-4242-4242-4242-424242424242\",\n        ClientRegistrationEndpoint = \"https://example.mydomain.com/client/register\",\n        GrantTypes = new[]\n        {\n            \"authorizationCode\",\n        },\n        AuthorizationMethods = new[]\n        {\n            \"GET\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/apimanagement\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := apimanagement.LookupService(ctx, \u0026apimanagement.LookupServiceArgs{\n\t\t\tName:              \"search-api\",\n\t\t\tResourceGroupName: \"search-service\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = apimanagement.NewAuthorizationServer(ctx, \"example\", \u0026apimanagement.AuthorizationServerArgs{\n\t\t\tName:                       pulumi.String(\"test-server\"),\n\t\t\tApiManagementName:          pulumi.String(example.Name),\n\t\t\tResourceGroupName:          pulumi.String(example.ResourceGroupName),\n\t\t\tDisplayName:                pulumi.String(\"Test Server\"),\n\t\t\tAuthorizationEndpoint:      pulumi.String(\"https://example.mydomain.com/client/authorize\"),\n\t\t\tClientId:                   pulumi.String(\"42424242-4242-4242-4242-424242424242\"),\n\t\t\tClientRegistrationEndpoint: pulumi.String(\"https://example.mydomain.com/client/register\"),\n\t\t\tGrantTypes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"authorizationCode\"),\n\t\t\t},\n\t\t\tAuthorizationMethods: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"GET\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.apimanagement.ApimanagementFunctions;\nimport com.pulumi.azure.apimanagement.inputs.GetServiceArgs;\nimport com.pulumi.azure.apimanagement.AuthorizationServer;\nimport com.pulumi.azure.apimanagement.AuthorizationServerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = ApimanagementFunctions.getService(GetServiceArgs.builder()\n            .name(\"search-api\")\n            .resourceGroupName(\"search-service\")\n            .build());\n\n        var exampleAuthorizationServer = new AuthorizationServer(\"exampleAuthorizationServer\", AuthorizationServerArgs.builder()\n            .name(\"test-server\")\n            .apiManagementName(example.name())\n            .resourceGroupName(example.resourceGroupName())\n            .displayName(\"Test Server\")\n            .authorizationEndpoint(\"https://example.mydomain.com/client/authorize\")\n            .clientId(\"42424242-4242-4242-4242-424242424242\")\n            .clientRegistrationEndpoint(\"https://example.mydomain.com/client/register\")\n            .grantTypes(\"authorizationCode\")\n            .authorizationMethods(\"GET\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleAuthorizationServer:\n    type: azure:apimanagement:AuthorizationServer\n    name: example\n    properties:\n      name: test-server\n      apiManagementName: ${example.name}\n      resourceGroupName: ${example.resourceGroupName}\n      displayName: Test Server\n      authorizationEndpoint: https://example.mydomain.com/client/authorize\n      clientId: 42424242-4242-4242-4242-424242424242\n      clientRegistrationEndpoint: https://example.mydomain.com/client/register\n      grantTypes:\n        - authorizationCode\n      authorizationMethods:\n        - GET\nvariables:\n  example:\n    fn::invoke:\n      function: azure:apimanagement:getService\n      arguments:\n        name: search-api\n        resourceGroupName: search-service\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.ApiManagement` - 2022-08-01\n\n## Import\n\nAPI Management Authorization Servers can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:apimanagement/authorizationServer:AuthorizationServer example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.ApiManagement/service/service1/authorizationServers/server1\n```\n\n","properties":{"apiManagementName":{"type":"string","description":"The name of the API Management Service in which this Authorization Server should be created. Changing this forces a new resource to be created.\n"},"authorizationEndpoint":{"type":"string","description":"The OAUTH Authorization Endpoint.\n"},"authorizationMethods":{"type":"array","items":{"type":"string"},"description":"The HTTP Verbs supported by the Authorization Endpoint. Possible values are `DELETE`, `GET`, `HEAD`, `OPTIONS`, `PATCH`, `POST`, `PUT` and `TRACE`.\n\n\u003e **Note:** `GET` must always be present.\n"},"bearerTokenSendingMethods":{"type":"array","items":{"type":"string"},"description":"The mechanism by which Access Tokens are passed to the API. Possible values are `authorizationHeader` and \u003cspan pulumi-lang-nodejs=\"`query`\" pulumi-lang-dotnet=\"`Query`\" pulumi-lang-go=\"`query`\" pulumi-lang-python=\"`query`\" pulumi-lang-yaml=\"`query`\" pulumi-lang-java=\"`query`\"\u003e`query`\u003c/span\u003e.\n"},"clientAuthenticationMethods":{"type":"array","items":{"type":"string"},"description":"The Authentication Methods supported by the Token endpoint of this Authorization Server.. Possible values are `Basic` and `Body`.\n"},"clientId":{"type":"string","description":"The Client/App ID registered with this Authorization Server.\n"},"clientRegistrationEndpoint":{"type":"string","description":"The URI of page where Client/App Registration is performed for this Authorization Server.\n"},"clientSecret":{"type":"string","description":"The Client/App Secret registered with this Authorization Server.\n","secret":true},"defaultScope":{"type":"string","description":"The Default Scope used when requesting an Access Token, specified as a string containing space-delimited values.\n"},"description":{"type":"string","description":"A description of the Authorization Server, which may contain HTML formatting tags.\n"},"displayName":{"type":"string","description":"The user-friendly name of this Authorization Server.\n"},"grantTypes":{"type":"array","items":{"type":"string"},"description":"Form of Authorization Grants required when requesting an Access Token. Possible values are `authorizationCode`, `clientCredentials`, \u003cspan pulumi-lang-nodejs=\"`implicit`\" pulumi-lang-dotnet=\"`Implicit`\" pulumi-lang-go=\"`implicit`\" pulumi-lang-python=\"`implicit`\" pulumi-lang-yaml=\"`implicit`\" pulumi-lang-java=\"`implicit`\"\u003e`implicit`\u003c/span\u003e and `resourceOwnerPassword`.\n"},"name":{"type":"string","description":"The name of this Authorization Server. Changing this forces a new resource to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group in which the API Management Service exists. Changing this forces a new resource to be created.\n"},"resourceOwnerPassword":{"type":"string","description":"The password associated with the Resource Owner.\n\n\u003e **Note:** This can only be specified when \u003cspan pulumi-lang-nodejs=\"`grantType`\" pulumi-lang-dotnet=\"`GrantType`\" pulumi-lang-go=\"`grantType`\" pulumi-lang-python=\"`grant_type`\" pulumi-lang-yaml=\"`grantType`\" pulumi-lang-java=\"`grantType`\"\u003e`grant_type`\u003c/span\u003e includes `resourceOwnerPassword`.\n","secret":true},"resourceOwnerUsername":{"type":"string","description":"The username associated with the Resource Owner.\n\n\u003e **Note:** This can only be specified when \u003cspan pulumi-lang-nodejs=\"`grantType`\" pulumi-lang-dotnet=\"`GrantType`\" pulumi-lang-go=\"`grantType`\" pulumi-lang-python=\"`grant_type`\" pulumi-lang-yaml=\"`grantType`\" pulumi-lang-java=\"`grantType`\"\u003e`grant_type`\u003c/span\u003e includes `resourceOwnerPassword`.\n"},"supportState":{"type":"boolean","description":"Does this Authorization Server support State? If this is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e the client may use the state parameter to raise protocol security.\n"},"tokenBodyParameters":{"type":"array","items":{"$ref":"#/types/azure:apimanagement/AuthorizationServerTokenBodyParameter:AuthorizationServerTokenBodyParameter"},"description":"A \u003cspan pulumi-lang-nodejs=\"`tokenBodyParameter`\" pulumi-lang-dotnet=\"`TokenBodyParameter`\" pulumi-lang-go=\"`tokenBodyParameter`\" pulumi-lang-python=\"`token_body_parameter`\" pulumi-lang-yaml=\"`tokenBodyParameter`\" pulumi-lang-java=\"`tokenBodyParameter`\"\u003e`token_body_parameter`\u003c/span\u003e block as defined below.\n"},"tokenEndpoint":{"type":"string","description":"The OAUTH Token Endpoint.\n"}},"required":["apiManagementName","authorizationEndpoint","authorizationMethods","clientId","clientRegistrationEndpoint","displayName","grantTypes","name","resourceGroupName"],"inputProperties":{"apiManagementName":{"type":"string","description":"The name of the API Management Service in which this Authorization Server should be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"authorizationEndpoint":{"type":"string","description":"The OAUTH Authorization Endpoint.\n"},"authorizationMethods":{"type":"array","items":{"type":"string"},"description":"The HTTP Verbs supported by the Authorization Endpoint. Possible values are `DELETE`, `GET`, `HEAD`, `OPTIONS`, `PATCH`, `POST`, `PUT` and `TRACE`.\n\n\u003e **Note:** `GET` must always be present.\n"},"bearerTokenSendingMethods":{"type":"array","items":{"type":"string"},"description":"The mechanism by which Access Tokens are passed to the API. Possible values are `authorizationHeader` and \u003cspan pulumi-lang-nodejs=\"`query`\" pulumi-lang-dotnet=\"`Query`\" pulumi-lang-go=\"`query`\" pulumi-lang-python=\"`query`\" pulumi-lang-yaml=\"`query`\" pulumi-lang-java=\"`query`\"\u003e`query`\u003c/span\u003e.\n"},"clientAuthenticationMethods":{"type":"array","items":{"type":"string"},"description":"The Authentication Methods supported by the Token endpoint of this Authorization Server.. Possible values are `Basic` and `Body`.\n"},"clientId":{"type":"string","description":"The Client/App ID registered with this Authorization Server.\n"},"clientRegistrationEndpoint":{"type":"string","description":"The URI of page where Client/App Registration is performed for this Authorization Server.\n"},"clientSecret":{"type":"string","description":"The Client/App Secret registered with this Authorization Server.\n","secret":true},"defaultScope":{"type":"string","description":"The Default Scope used when requesting an Access Token, specified as a string containing space-delimited values.\n"},"description":{"type":"string","description":"A description of the Authorization Server, which may contain HTML formatting tags.\n"},"displayName":{"type":"string","description":"The user-friendly name of this Authorization Server.\n"},"grantTypes":{"type":"array","items":{"type":"string"},"description":"Form of Authorization Grants required when requesting an Access Token. Possible values are `authorizationCode`, `clientCredentials`, \u003cspan pulumi-lang-nodejs=\"`implicit`\" pulumi-lang-dotnet=\"`Implicit`\" pulumi-lang-go=\"`implicit`\" pulumi-lang-python=\"`implicit`\" pulumi-lang-yaml=\"`implicit`\" pulumi-lang-java=\"`implicit`\"\u003e`implicit`\u003c/span\u003e and `resourceOwnerPassword`.\n"},"name":{"type":"string","description":"The name of this Authorization Server. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group in which the API Management Service exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceOwnerPassword":{"type":"string","description":"The password associated with the Resource Owner.\n\n\u003e **Note:** This can only be specified when \u003cspan pulumi-lang-nodejs=\"`grantType`\" pulumi-lang-dotnet=\"`GrantType`\" pulumi-lang-go=\"`grantType`\" pulumi-lang-python=\"`grant_type`\" pulumi-lang-yaml=\"`grantType`\" pulumi-lang-java=\"`grantType`\"\u003e`grant_type`\u003c/span\u003e includes `resourceOwnerPassword`.\n","secret":true},"resourceOwnerUsername":{"type":"string","description":"The username associated with the Resource Owner.\n\n\u003e **Note:** This can only be specified when \u003cspan pulumi-lang-nodejs=\"`grantType`\" pulumi-lang-dotnet=\"`GrantType`\" pulumi-lang-go=\"`grantType`\" pulumi-lang-python=\"`grant_type`\" pulumi-lang-yaml=\"`grantType`\" pulumi-lang-java=\"`grantType`\"\u003e`grant_type`\u003c/span\u003e includes `resourceOwnerPassword`.\n"},"supportState":{"type":"boolean","description":"Does this Authorization Server support State? If this is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e the client may use the state parameter to raise protocol security.\n"},"tokenBodyParameters":{"type":"array","items":{"$ref":"#/types/azure:apimanagement/AuthorizationServerTokenBodyParameter:AuthorizationServerTokenBodyParameter"},"description":"A \u003cspan pulumi-lang-nodejs=\"`tokenBodyParameter`\" pulumi-lang-dotnet=\"`TokenBodyParameter`\" pulumi-lang-go=\"`tokenBodyParameter`\" pulumi-lang-python=\"`token_body_parameter`\" pulumi-lang-yaml=\"`tokenBodyParameter`\" pulumi-lang-java=\"`tokenBodyParameter`\"\u003e`token_body_parameter`\u003c/span\u003e block as defined below.\n"},"tokenEndpoint":{"type":"string","description":"The OAUTH Token Endpoint.\n"}},"requiredInputs":["apiManagementName","authorizationEndpoint","authorizationMethods","clientId","clientRegistrationEndpoint","displayName","grantTypes","resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering AuthorizationServer resources.\n","properties":{"apiManagementName":{"type":"string","description":"The name of the API Management Service in which this Authorization Server should be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"authorizationEndpoint":{"type":"string","description":"The OAUTH Authorization Endpoint.\n"},"authorizationMethods":{"type":"array","items":{"type":"string"},"description":"The HTTP Verbs supported by the Authorization Endpoint. Possible values are `DELETE`, `GET`, `HEAD`, `OPTIONS`, `PATCH`, `POST`, `PUT` and `TRACE`.\n\n\u003e **Note:** `GET` must always be present.\n"},"bearerTokenSendingMethods":{"type":"array","items":{"type":"string"},"description":"The mechanism by which Access Tokens are passed to the API. Possible values are `authorizationHeader` and \u003cspan pulumi-lang-nodejs=\"`query`\" pulumi-lang-dotnet=\"`Query`\" pulumi-lang-go=\"`query`\" pulumi-lang-python=\"`query`\" pulumi-lang-yaml=\"`query`\" pulumi-lang-java=\"`query`\"\u003e`query`\u003c/span\u003e.\n"},"clientAuthenticationMethods":{"type":"array","items":{"type":"string"},"description":"The Authentication Methods supported by the Token endpoint of this Authorization Server.. Possible values are `Basic` and `Body`.\n"},"clientId":{"type":"string","description":"The Client/App ID registered with this Authorization Server.\n"},"clientRegistrationEndpoint":{"type":"string","description":"The URI of page where Client/App Registration is performed for this Authorization Server.\n"},"clientSecret":{"type":"string","description":"The Client/App Secret registered with this Authorization Server.\n","secret":true},"defaultScope":{"type":"string","description":"The Default Scope used when requesting an Access Token, specified as a string containing space-delimited values.\n"},"description":{"type":"string","description":"A description of the Authorization Server, which may contain HTML formatting tags.\n"},"displayName":{"type":"string","description":"The user-friendly name of this Authorization Server.\n"},"grantTypes":{"type":"array","items":{"type":"string"},"description":"Form of Authorization Grants required when requesting an Access Token. Possible values are `authorizationCode`, `clientCredentials`, \u003cspan pulumi-lang-nodejs=\"`implicit`\" pulumi-lang-dotnet=\"`Implicit`\" pulumi-lang-go=\"`implicit`\" pulumi-lang-python=\"`implicit`\" pulumi-lang-yaml=\"`implicit`\" pulumi-lang-java=\"`implicit`\"\u003e`implicit`\u003c/span\u003e and `resourceOwnerPassword`.\n"},"name":{"type":"string","description":"The name of this Authorization Server. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group in which the API Management Service exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceOwnerPassword":{"type":"string","description":"The password associated with the Resource Owner.\n\n\u003e **Note:** This can only be specified when \u003cspan pulumi-lang-nodejs=\"`grantType`\" pulumi-lang-dotnet=\"`GrantType`\" pulumi-lang-go=\"`grantType`\" pulumi-lang-python=\"`grant_type`\" pulumi-lang-yaml=\"`grantType`\" pulumi-lang-java=\"`grantType`\"\u003e`grant_type`\u003c/span\u003e includes `resourceOwnerPassword`.\n","secret":true},"resourceOwnerUsername":{"type":"string","description":"The username associated with the Resource Owner.\n\n\u003e **Note:** This can only be specified when \u003cspan pulumi-lang-nodejs=\"`grantType`\" pulumi-lang-dotnet=\"`GrantType`\" pulumi-lang-go=\"`grantType`\" pulumi-lang-python=\"`grant_type`\" pulumi-lang-yaml=\"`grantType`\" pulumi-lang-java=\"`grantType`\"\u003e`grant_type`\u003c/span\u003e includes `resourceOwnerPassword`.\n"},"supportState":{"type":"boolean","description":"Does this Authorization Server support State? If this is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e the client may use the state parameter to raise protocol security.\n"},"tokenBodyParameters":{"type":"array","items":{"$ref":"#/types/azure:apimanagement/AuthorizationServerTokenBodyParameter:AuthorizationServerTokenBodyParameter"},"description":"A \u003cspan pulumi-lang-nodejs=\"`tokenBodyParameter`\" pulumi-lang-dotnet=\"`TokenBodyParameter`\" pulumi-lang-go=\"`tokenBodyParameter`\" pulumi-lang-python=\"`token_body_parameter`\" pulumi-lang-yaml=\"`tokenBodyParameter`\" pulumi-lang-java=\"`tokenBodyParameter`\"\u003e`token_body_parameter`\u003c/span\u003e block as defined below.\n"},"tokenEndpoint":{"type":"string","description":"The OAUTH Token Endpoint.\n"}},"type":"object"}},"azure:apimanagement/backend:Backend":{"description":"Manages a backend within an API Management Service.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleService = new azure.apimanagement.Service(\"example\", {\n    name: \"example-apim\",\n    location: example.location,\n    resourceGroupName: example.name,\n    publisherName: \"My Company\",\n    publisherEmail: \"company@exmaple.com\",\n    skuName: \"Developer_1\",\n});\nconst exampleBackend = new azure.apimanagement.Backend(\"example\", {\n    name: \"example-backend\",\n    resourceGroupName: example.name,\n    apiManagementName: exampleService.name,\n    protocol: \"http\",\n    url: \"https://backend.com/api\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_service = azure.apimanagement.Service(\"example\",\n    name=\"example-apim\",\n    location=example.location,\n    resource_group_name=example.name,\n    publisher_name=\"My Company\",\n    publisher_email=\"company@exmaple.com\",\n    sku_name=\"Developer_1\")\nexample_backend = azure.apimanagement.Backend(\"example\",\n    name=\"example-backend\",\n    resource_group_name=example.name,\n    api_management_name=example_service.name,\n    protocol=\"http\",\n    url=\"https://backend.com/api\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleService = new Azure.ApiManagement.Service(\"example\", new()\n    {\n        Name = \"example-apim\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        PublisherName = \"My Company\",\n        PublisherEmail = \"company@exmaple.com\",\n        SkuName = \"Developer_1\",\n    });\n\n    var exampleBackend = new Azure.ApiManagement.Backend(\"example\", new()\n    {\n        Name = \"example-backend\",\n        ResourceGroupName = example.Name,\n        ApiManagementName = exampleService.Name,\n        Protocol = \"http\",\n        Url = \"https://backend.com/api\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/apimanagement\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleService, err := apimanagement.NewService(ctx, \"example\", \u0026apimanagement.ServiceArgs{\n\t\t\tName:              pulumi.String(\"example-apim\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tPublisherName:     pulumi.String(\"My Company\"),\n\t\t\tPublisherEmail:    pulumi.String(\"company@exmaple.com\"),\n\t\t\tSkuName:           pulumi.String(\"Developer_1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = apimanagement.NewBackend(ctx, \"example\", \u0026apimanagement.BackendArgs{\n\t\t\tName:              pulumi.String(\"example-backend\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tApiManagementName: exampleService.Name,\n\t\t\tProtocol:          pulumi.String(\"http\"),\n\t\t\tUrl:               pulumi.String(\"https://backend.com/api\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.apimanagement.Service;\nimport com.pulumi.azure.apimanagement.ServiceArgs;\nimport com.pulumi.azure.apimanagement.Backend;\nimport com.pulumi.azure.apimanagement.BackendArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleService = new Service(\"exampleService\", ServiceArgs.builder()\n            .name(\"example-apim\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .publisherName(\"My Company\")\n            .publisherEmail(\"company@exmaple.com\")\n            .skuName(\"Developer_1\")\n            .build());\n\n        var exampleBackend = new Backend(\"exampleBackend\", BackendArgs.builder()\n            .name(\"example-backend\")\n            .resourceGroupName(example.name())\n            .apiManagementName(exampleService.name())\n            .protocol(\"http\")\n            .url(\"https://backend.com/api\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleService:\n    type: azure:apimanagement:Service\n    name: example\n    properties:\n      name: example-apim\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      publisherName: My Company\n      publisherEmail: company@exmaple.com\n      skuName: Developer_1\n  exampleBackend:\n    type: azure:apimanagement:Backend\n    name: example\n    properties:\n      name: example-backend\n      resourceGroupName: ${example.name}\n      apiManagementName: ${exampleService.name}\n      protocol: http\n      url: https://backend.com/api\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.ApiManagement` - 2024-05-01\n\n## Import\n\nAPI Management backends can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:apimanagement/backend:Backend example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.ApiManagement/service/instance1/backends/backend1\n```\n\n","properties":{"apiManagementName":{"type":"string","description":"The Name of the API Management Service where this backend should be created. Changing this forces a new resource to be created.\n"},"circuitBreakerRule":{"$ref":"#/types/azure:apimanagement/BackendCircuitBreakerRule:BackendCircuitBreakerRule","description":"A \u003cspan pulumi-lang-nodejs=\"`circuitBreakerRule`\" pulumi-lang-dotnet=\"`CircuitBreakerRule`\" pulumi-lang-go=\"`circuitBreakerRule`\" pulumi-lang-python=\"`circuit_breaker_rule`\" pulumi-lang-yaml=\"`circuitBreakerRule`\" pulumi-lang-java=\"`circuitBreakerRule`\"\u003e`circuit_breaker_rule`\u003c/span\u003e block as documented below.\n"},"credentials":{"$ref":"#/types/azure:apimanagement/BackendCredentials:BackendCredentials","description":"A \u003cspan pulumi-lang-nodejs=\"`credentials`\" pulumi-lang-dotnet=\"`Credentials`\" pulumi-lang-go=\"`credentials`\" pulumi-lang-python=\"`credentials`\" pulumi-lang-yaml=\"`credentials`\" pulumi-lang-java=\"`credentials`\"\u003e`credentials`\u003c/span\u003e block as documented below.\n"},"description":{"type":"string","description":"The description of the backend.\n"},"name":{"type":"string","description":"The name of the API Management backend. Changing this forces a new resource to be created.\n"},"protocol":{"type":"string","description":"The protocol used by the backend host. Possible values are \u003cspan pulumi-lang-nodejs=\"`http`\" pulumi-lang-dotnet=\"`Http`\" pulumi-lang-go=\"`http`\" pulumi-lang-python=\"`http`\" pulumi-lang-yaml=\"`http`\" pulumi-lang-java=\"`http`\"\u003e`http`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`soap`\" pulumi-lang-dotnet=\"`Soap`\" pulumi-lang-go=\"`soap`\" pulumi-lang-python=\"`soap`\" pulumi-lang-yaml=\"`soap`\" pulumi-lang-java=\"`soap`\"\u003e`soap`\u003c/span\u003e.\n"},"proxy":{"$ref":"#/types/azure:apimanagement/BackendProxy:BackendProxy","description":"A \u003cspan pulumi-lang-nodejs=\"`proxy`\" pulumi-lang-dotnet=\"`Proxy`\" pulumi-lang-go=\"`proxy`\" pulumi-lang-python=\"`proxy`\" pulumi-lang-yaml=\"`proxy`\" pulumi-lang-java=\"`proxy`\"\u003e`proxy`\u003c/span\u003e block as documented below.\n"},"resourceGroupName":{"type":"string","description":"The Name of the Resource Group where the API Management Service exists. Changing this forces a new resource to be created.\n"},"resourceId":{"type":"string","description":"The management URI of the backend host in an external system. This URI can be the ARM Resource ID of Logic Apps, Function Apps or API Apps, or the management endpoint of a Service Fabric cluster.\n"},"serviceFabricCluster":{"$ref":"#/types/azure:apimanagement/BackendServiceFabricCluster:BackendServiceFabricCluster","description":"A \u003cspan pulumi-lang-nodejs=\"`serviceFabricCluster`\" pulumi-lang-dotnet=\"`ServiceFabricCluster`\" pulumi-lang-go=\"`serviceFabricCluster`\" pulumi-lang-python=\"`service_fabric_cluster`\" pulumi-lang-yaml=\"`serviceFabricCluster`\" pulumi-lang-java=\"`serviceFabricCluster`\"\u003e`service_fabric_cluster`\u003c/span\u003e block as documented below.\n"},"title":{"type":"string","description":"The title of the backend.\n"},"tls":{"$ref":"#/types/azure:apimanagement/BackendTls:BackendTls","description":"A \u003cspan pulumi-lang-nodejs=\"`tls`\" pulumi-lang-dotnet=\"`Tls`\" pulumi-lang-go=\"`tls`\" pulumi-lang-python=\"`tls`\" pulumi-lang-yaml=\"`tls`\" pulumi-lang-java=\"`tls`\"\u003e`tls`\u003c/span\u003e block as documented below.\n"},"url":{"type":"string","description":"The backend host URL should be specified in the format `\"https://backend.com/api\"`, avoiding trailing slashes (/) to minimize misconfiguration risks. Azure API Management instance will append the backend resource name to this URL. This URL typically serves as the `base-url` in the [`set-backend-service`](https://learn.microsoft.com/azure/api-management/set-backend-service-policy) policy, enabling seamless transitions from frontend to backend.\n"}},"required":["apiManagementName","name","protocol","resourceGroupName","url"],"inputProperties":{"apiManagementName":{"type":"string","description":"The Name of the API Management Service where this backend should be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"circuitBreakerRule":{"$ref":"#/types/azure:apimanagement/BackendCircuitBreakerRule:BackendCircuitBreakerRule","description":"A \u003cspan pulumi-lang-nodejs=\"`circuitBreakerRule`\" pulumi-lang-dotnet=\"`CircuitBreakerRule`\" pulumi-lang-go=\"`circuitBreakerRule`\" pulumi-lang-python=\"`circuit_breaker_rule`\" pulumi-lang-yaml=\"`circuitBreakerRule`\" pulumi-lang-java=\"`circuitBreakerRule`\"\u003e`circuit_breaker_rule`\u003c/span\u003e block as documented below.\n"},"credentials":{"$ref":"#/types/azure:apimanagement/BackendCredentials:BackendCredentials","description":"A \u003cspan pulumi-lang-nodejs=\"`credentials`\" pulumi-lang-dotnet=\"`Credentials`\" pulumi-lang-go=\"`credentials`\" pulumi-lang-python=\"`credentials`\" pulumi-lang-yaml=\"`credentials`\" pulumi-lang-java=\"`credentials`\"\u003e`credentials`\u003c/span\u003e block as documented below.\n"},"description":{"type":"string","description":"The description of the backend.\n"},"name":{"type":"string","description":"The name of the API Management backend. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"protocol":{"type":"string","description":"The protocol used by the backend host. Possible values are \u003cspan pulumi-lang-nodejs=\"`http`\" pulumi-lang-dotnet=\"`Http`\" pulumi-lang-go=\"`http`\" pulumi-lang-python=\"`http`\" pulumi-lang-yaml=\"`http`\" pulumi-lang-java=\"`http`\"\u003e`http`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`soap`\" pulumi-lang-dotnet=\"`Soap`\" pulumi-lang-go=\"`soap`\" pulumi-lang-python=\"`soap`\" pulumi-lang-yaml=\"`soap`\" pulumi-lang-java=\"`soap`\"\u003e`soap`\u003c/span\u003e.\n"},"proxy":{"$ref":"#/types/azure:apimanagement/BackendProxy:BackendProxy","description":"A \u003cspan pulumi-lang-nodejs=\"`proxy`\" pulumi-lang-dotnet=\"`Proxy`\" pulumi-lang-go=\"`proxy`\" pulumi-lang-python=\"`proxy`\" pulumi-lang-yaml=\"`proxy`\" pulumi-lang-java=\"`proxy`\"\u003e`proxy`\u003c/span\u003e block as documented below.\n"},"resourceGroupName":{"type":"string","description":"The Name of the Resource Group where the API Management Service exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceId":{"type":"string","description":"The management URI of the backend host in an external system. This URI can be the ARM Resource ID of Logic Apps, Function Apps or API Apps, or the management endpoint of a Service Fabric cluster.\n"},"serviceFabricCluster":{"$ref":"#/types/azure:apimanagement/BackendServiceFabricCluster:BackendServiceFabricCluster","description":"A \u003cspan pulumi-lang-nodejs=\"`serviceFabricCluster`\" pulumi-lang-dotnet=\"`ServiceFabricCluster`\" pulumi-lang-go=\"`serviceFabricCluster`\" pulumi-lang-python=\"`service_fabric_cluster`\" pulumi-lang-yaml=\"`serviceFabricCluster`\" pulumi-lang-java=\"`serviceFabricCluster`\"\u003e`service_fabric_cluster`\u003c/span\u003e block as documented below.\n"},"title":{"type":"string","description":"The title of the backend.\n"},"tls":{"$ref":"#/types/azure:apimanagement/BackendTls:BackendTls","description":"A \u003cspan pulumi-lang-nodejs=\"`tls`\" pulumi-lang-dotnet=\"`Tls`\" pulumi-lang-go=\"`tls`\" pulumi-lang-python=\"`tls`\" pulumi-lang-yaml=\"`tls`\" pulumi-lang-java=\"`tls`\"\u003e`tls`\u003c/span\u003e block as documented below.\n"},"url":{"type":"string","description":"The backend host URL should be specified in the format `\"https://backend.com/api\"`, avoiding trailing slashes (/) to minimize misconfiguration risks. Azure API Management instance will append the backend resource name to this URL. This URL typically serves as the `base-url` in the [`set-backend-service`](https://learn.microsoft.com/azure/api-management/set-backend-service-policy) policy, enabling seamless transitions from frontend to backend.\n"}},"requiredInputs":["apiManagementName","protocol","resourceGroupName","url"],"stateInputs":{"description":"Input properties used for looking up and filtering Backend resources.\n","properties":{"apiManagementName":{"type":"string","description":"The Name of the API Management Service where this backend should be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"circuitBreakerRule":{"$ref":"#/types/azure:apimanagement/BackendCircuitBreakerRule:BackendCircuitBreakerRule","description":"A \u003cspan pulumi-lang-nodejs=\"`circuitBreakerRule`\" pulumi-lang-dotnet=\"`CircuitBreakerRule`\" pulumi-lang-go=\"`circuitBreakerRule`\" pulumi-lang-python=\"`circuit_breaker_rule`\" pulumi-lang-yaml=\"`circuitBreakerRule`\" pulumi-lang-java=\"`circuitBreakerRule`\"\u003e`circuit_breaker_rule`\u003c/span\u003e block as documented below.\n"},"credentials":{"$ref":"#/types/azure:apimanagement/BackendCredentials:BackendCredentials","description":"A \u003cspan pulumi-lang-nodejs=\"`credentials`\" pulumi-lang-dotnet=\"`Credentials`\" pulumi-lang-go=\"`credentials`\" pulumi-lang-python=\"`credentials`\" pulumi-lang-yaml=\"`credentials`\" pulumi-lang-java=\"`credentials`\"\u003e`credentials`\u003c/span\u003e block as documented below.\n"},"description":{"type":"string","description":"The description of the backend.\n"},"name":{"type":"string","description":"The name of the API Management backend. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"protocol":{"type":"string","description":"The protocol used by the backend host. Possible values are \u003cspan pulumi-lang-nodejs=\"`http`\" pulumi-lang-dotnet=\"`Http`\" pulumi-lang-go=\"`http`\" pulumi-lang-python=\"`http`\" pulumi-lang-yaml=\"`http`\" pulumi-lang-java=\"`http`\"\u003e`http`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`soap`\" pulumi-lang-dotnet=\"`Soap`\" pulumi-lang-go=\"`soap`\" pulumi-lang-python=\"`soap`\" pulumi-lang-yaml=\"`soap`\" pulumi-lang-java=\"`soap`\"\u003e`soap`\u003c/span\u003e.\n"},"proxy":{"$ref":"#/types/azure:apimanagement/BackendProxy:BackendProxy","description":"A \u003cspan pulumi-lang-nodejs=\"`proxy`\" pulumi-lang-dotnet=\"`Proxy`\" pulumi-lang-go=\"`proxy`\" pulumi-lang-python=\"`proxy`\" pulumi-lang-yaml=\"`proxy`\" pulumi-lang-java=\"`proxy`\"\u003e`proxy`\u003c/span\u003e block as documented below.\n"},"resourceGroupName":{"type":"string","description":"The Name of the Resource Group where the API Management Service exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceId":{"type":"string","description":"The management URI of the backend host in an external system. This URI can be the ARM Resource ID of Logic Apps, Function Apps or API Apps, or the management endpoint of a Service Fabric cluster.\n"},"serviceFabricCluster":{"$ref":"#/types/azure:apimanagement/BackendServiceFabricCluster:BackendServiceFabricCluster","description":"A \u003cspan pulumi-lang-nodejs=\"`serviceFabricCluster`\" pulumi-lang-dotnet=\"`ServiceFabricCluster`\" pulumi-lang-go=\"`serviceFabricCluster`\" pulumi-lang-python=\"`service_fabric_cluster`\" pulumi-lang-yaml=\"`serviceFabricCluster`\" pulumi-lang-java=\"`serviceFabricCluster`\"\u003e`service_fabric_cluster`\u003c/span\u003e block as documented below.\n"},"title":{"type":"string","description":"The title of the backend.\n"},"tls":{"$ref":"#/types/azure:apimanagement/BackendTls:BackendTls","description":"A \u003cspan pulumi-lang-nodejs=\"`tls`\" pulumi-lang-dotnet=\"`Tls`\" pulumi-lang-go=\"`tls`\" pulumi-lang-python=\"`tls`\" pulumi-lang-yaml=\"`tls`\" pulumi-lang-java=\"`tls`\"\u003e`tls`\u003c/span\u003e block as documented below.\n"},"url":{"type":"string","description":"The backend host URL should be specified in the format `\"https://backend.com/api\"`, avoiding trailing slashes (/) to minimize misconfiguration risks. Azure API Management instance will append the backend resource name to this URL. This URL typically serves as the `base-url` in the [`set-backend-service`](https://learn.microsoft.com/azure/api-management/set-backend-service-policy) policy, enabling seamless transitions from frontend to backend.\n"}},"type":"object"}},"azure:apimanagement/certificate:Certificate":{"description":"Manages an Certificate within an API Management Service.\n\n## Example Usage\n\n### With Base64 Certificate)\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\nimport * as std from \"@pulumi/std\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleService = new azure.apimanagement.Service(\"example\", {\n    name: \"example-apim\",\n    location: example.location,\n    resourceGroupName: example.name,\n    publisherName: \"My Company\",\n    publisherEmail: \"company@exmaple.com\",\n    skuName: \"Developer_1\",\n});\nconst exampleCertificate = new azure.apimanagement.Certificate(\"example\", {\n    name: \"example-cert\",\n    apiManagementName: exampleService.name,\n    resourceGroupName: example.name,\n    data: std.filebase64({\n        input: \"example.pfx\",\n    }).then(invoke =\u003e invoke.result),\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\nimport pulumi_std as std\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_service = azure.apimanagement.Service(\"example\",\n    name=\"example-apim\",\n    location=example.location,\n    resource_group_name=example.name,\n    publisher_name=\"My Company\",\n    publisher_email=\"company@exmaple.com\",\n    sku_name=\"Developer_1\")\nexample_certificate = azure.apimanagement.Certificate(\"example\",\n    name=\"example-cert\",\n    api_management_name=example_service.name,\n    resource_group_name=example.name,\n    data=std.filebase64(input=\"example.pfx\").result)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleService = new Azure.ApiManagement.Service(\"example\", new()\n    {\n        Name = \"example-apim\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        PublisherName = \"My Company\",\n        PublisherEmail = \"company@exmaple.com\",\n        SkuName = \"Developer_1\",\n    });\n\n    var exampleCertificate = new Azure.ApiManagement.Certificate(\"example\", new()\n    {\n        Name = \"example-cert\",\n        ApiManagementName = exampleService.Name,\n        ResourceGroupName = example.Name,\n        Data = Std.Filebase64.Invoke(new()\n        {\n            Input = \"example.pfx\",\n        }).Apply(invoke =\u003e invoke.Result),\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/apimanagement\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleService, err := apimanagement.NewService(ctx, \"example\", \u0026apimanagement.ServiceArgs{\n\t\t\tName:              pulumi.String(\"example-apim\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tPublisherName:     pulumi.String(\"My Company\"),\n\t\t\tPublisherEmail:    pulumi.String(\"company@exmaple.com\"),\n\t\t\tSkuName:           pulumi.String(\"Developer_1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFilebase64, err := std.Filebase64(ctx, \u0026std.Filebase64Args{\n\t\t\tInput: \"example.pfx\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = apimanagement.NewCertificate(ctx, \"example\", \u0026apimanagement.CertificateArgs{\n\t\t\tName:              pulumi.String(\"example-cert\"),\n\t\t\tApiManagementName: exampleService.Name,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tData:              pulumi.String(invokeFilebase64.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.apimanagement.Service;\nimport com.pulumi.azure.apimanagement.ServiceArgs;\nimport com.pulumi.azure.apimanagement.Certificate;\nimport com.pulumi.azure.apimanagement.CertificateArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.Filebase64Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleService = new Service(\"exampleService\", ServiceArgs.builder()\n            .name(\"example-apim\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .publisherName(\"My Company\")\n            .publisherEmail(\"company@exmaple.com\")\n            .skuName(\"Developer_1\")\n            .build());\n\n        var exampleCertificate = new Certificate(\"exampleCertificate\", CertificateArgs.builder()\n            .name(\"example-cert\")\n            .apiManagementName(exampleService.name())\n            .resourceGroupName(example.name())\n            .data(StdFunctions.filebase64(Filebase64Args.builder()\n                .input(\"example.pfx\")\n                .build()).result())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleService:\n    type: azure:apimanagement:Service\n    name: example\n    properties:\n      name: example-apim\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      publisherName: My Company\n      publisherEmail: company@exmaple.com\n      skuName: Developer_1\n  exampleCertificate:\n    type: azure:apimanagement:Certificate\n    name: example\n    properties:\n      name: example-cert\n      apiManagementName: ${exampleService.name}\n      resourceGroupName: ${example.name}\n      data:\n        fn::invoke:\n          function: std:filebase64\n          arguments:\n            input: example.pfx\n          return: result\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\n### With Key Vault Certificate)\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\nimport * as std from \"@pulumi/std\";\n\nconst current = azure.core.getClientConfig({});\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleService = new azure.apimanagement.Service(\"example\", {\n    name: \"example-apim\",\n    location: example.location,\n    resourceGroupName: example.name,\n    publisherName: \"My Company\",\n    publisherEmail: \"company@terraform.io\",\n    skuName: \"Developer_1\",\n    identity: {\n        type: \"SystemAssigned\",\n    },\n});\nconst exampleKeyVault = new azure.keyvault.KeyVault(\"example\", {\n    name: \"examplekeyvault\",\n    location: example.location,\n    resourceGroupName: example.name,\n    tenantId: current.then(current =\u003e current.tenantId),\n    skuName: \"standard\",\n});\nconst exampleAccessPolicy = new azure.keyvault.AccessPolicy(\"example\", {\n    keyVaultId: exampleKeyVault.id,\n    tenantId: exampleService.identity.apply(identity =\u003e identity?.tenantId),\n    objectId: exampleService.identity.apply(identity =\u003e identity?.principalId),\n    secretPermissions: [\"Get\"],\n    certificatePermissions: [\"Get\"],\n});\nconst exampleCertificate = new azure.keyvault.Certificate(\"example\", {\n    name: \"example-cert\",\n    keyVaultId: exampleKeyVault.id,\n    certificate: {\n        contents: std.filebase64({\n            input: \"example_cert.pfx\",\n        }).then(invoke =\u003e invoke.result),\n        password: \"terraform\",\n    },\n    certificatePolicy: {\n        issuerParameters: {\n            name: \"Self\",\n        },\n        keyProperties: {\n            exportable: true,\n            keySize: 2048,\n            keyType: \"RSA\",\n            reuseKey: false,\n        },\n        secretProperties: {\n            contentType: \"application/x-pkcs12\",\n        },\n    },\n});\nconst exampleCertificate2 = new azure.apimanagement.Certificate(\"example\", {\n    name: \"example-cert\",\n    apiManagementName: exampleService.name,\n    resourceGroupName: example.name,\n    keyVaultSecretId: exampleCertificate.secretId,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\nimport pulumi_std as std\n\ncurrent = azure.core.get_client_config()\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_service = azure.apimanagement.Service(\"example\",\n    name=\"example-apim\",\n    location=example.location,\n    resource_group_name=example.name,\n    publisher_name=\"My Company\",\n    publisher_email=\"company@terraform.io\",\n    sku_name=\"Developer_1\",\n    identity={\n        \"type\": \"SystemAssigned\",\n    })\nexample_key_vault = azure.keyvault.KeyVault(\"example\",\n    name=\"examplekeyvault\",\n    location=example.location,\n    resource_group_name=example.name,\n    tenant_id=current.tenant_id,\n    sku_name=\"standard\")\nexample_access_policy = azure.keyvault.AccessPolicy(\"example\",\n    key_vault_id=example_key_vault.id,\n    tenant_id=example_service.identity.tenant_id,\n    object_id=example_service.identity.principal_id,\n    secret_permissions=[\"Get\"],\n    certificate_permissions=[\"Get\"])\nexample_certificate = azure.keyvault.Certificate(\"example\",\n    name=\"example-cert\",\n    key_vault_id=example_key_vault.id,\n    certificate={\n        \"contents\": std.filebase64(input=\"example_cert.pfx\").result,\n        \"password\": \"terraform\",\n    },\n    certificate_policy={\n        \"issuer_parameters\": {\n            \"name\": \"Self\",\n        },\n        \"key_properties\": {\n            \"exportable\": True,\n            \"key_size\": 2048,\n            \"key_type\": \"RSA\",\n            \"reuse_key\": False,\n        },\n        \"secret_properties\": {\n            \"content_type\": \"application/x-pkcs12\",\n        },\n    })\nexample_certificate2 = azure.apimanagement.Certificate(\"example\",\n    name=\"example-cert\",\n    api_management_name=example_service.name,\n    resource_group_name=example.name,\n    key_vault_secret_id=example_certificate.secret_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var current = Azure.Core.GetClientConfig.Invoke();\n\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleService = new Azure.ApiManagement.Service(\"example\", new()\n    {\n        Name = \"example-apim\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        PublisherName = \"My Company\",\n        PublisherEmail = \"company@terraform.io\",\n        SkuName = \"Developer_1\",\n        Identity = new Azure.ApiManagement.Inputs.ServiceIdentityArgs\n        {\n            Type = \"SystemAssigned\",\n        },\n    });\n\n    var exampleKeyVault = new Azure.KeyVault.KeyVault(\"example\", new()\n    {\n        Name = \"examplekeyvault\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        TenantId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.TenantId),\n        SkuName = \"standard\",\n    });\n\n    var exampleAccessPolicy = new Azure.KeyVault.AccessPolicy(\"example\", new()\n    {\n        KeyVaultId = exampleKeyVault.Id,\n        TenantId = exampleService.Identity.Apply(identity =\u003e identity?.TenantId),\n        ObjectId = exampleService.Identity.Apply(identity =\u003e identity?.PrincipalId),\n        SecretPermissions = new[]\n        {\n            \"Get\",\n        },\n        CertificatePermissions = new[]\n        {\n            \"Get\",\n        },\n    });\n\n    var exampleCertificate = new Azure.KeyVault.Certificate(\"example\", new()\n    {\n        Name = \"example-cert\",\n        KeyVaultId = exampleKeyVault.Id,\n        KeyVaultCertificate = new Azure.KeyVault.Inputs.CertificateCertificateArgs\n        {\n            Contents = Std.Filebase64.Invoke(new()\n            {\n                Input = \"example_cert.pfx\",\n            }).Apply(invoke =\u003e invoke.Result),\n            Password = \"terraform\",\n        },\n        CertificatePolicy = new Azure.KeyVault.Inputs.CertificateCertificatePolicyArgs\n        {\n            IssuerParameters = new Azure.KeyVault.Inputs.CertificateCertificatePolicyIssuerParametersArgs\n            {\n                Name = \"Self\",\n            },\n            KeyProperties = new Azure.KeyVault.Inputs.CertificateCertificatePolicyKeyPropertiesArgs\n            {\n                Exportable = true,\n                KeySize = 2048,\n                KeyType = \"RSA\",\n                ReuseKey = false,\n            },\n            SecretProperties = new Azure.KeyVault.Inputs.CertificateCertificatePolicySecretPropertiesArgs\n            {\n                ContentType = \"application/x-pkcs12\",\n            },\n        },\n    });\n\n    var exampleCertificate2 = new Azure.ApiManagement.Certificate(\"example\", new()\n    {\n        Name = \"example-cert\",\n        ApiManagementName = exampleService.Name,\n        ResourceGroupName = example.Name,\n        KeyVaultSecretId = exampleCertificate.SecretId,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/apimanagement\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/keyvault\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := core.GetClientConfig(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleService, err := apimanagement.NewService(ctx, \"example\", \u0026apimanagement.ServiceArgs{\n\t\t\tName:              pulumi.String(\"example-apim\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tPublisherName:     pulumi.String(\"My Company\"),\n\t\t\tPublisherEmail:    pulumi.String(\"company@terraform.io\"),\n\t\t\tSkuName:           pulumi.String(\"Developer_1\"),\n\t\t\tIdentity: \u0026apimanagement.ServiceIdentityArgs{\n\t\t\t\tType: pulumi.String(\"SystemAssigned\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleKeyVault, err := keyvault.NewKeyVault(ctx, \"example\", \u0026keyvault.KeyVaultArgs{\n\t\t\tName:              pulumi.String(\"examplekeyvault\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tTenantId:          pulumi.String(current.TenantId),\n\t\t\tSkuName:           pulumi.String(\"standard\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = keyvault.NewAccessPolicy(ctx, \"example\", \u0026keyvault.AccessPolicyArgs{\n\t\t\tKeyVaultId: exampleKeyVault.ID(),\n\t\t\tTenantId: pulumi.String(exampleService.Identity.ApplyT(func(identity apimanagement.ServiceIdentity) (*string, error) {\n\t\t\t\treturn \u0026identity.TenantId, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tObjectId: pulumi.String(exampleService.Identity.ApplyT(func(identity apimanagement.ServiceIdentity) (*string, error) {\n\t\t\t\treturn \u0026identity.PrincipalId, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tSecretPermissions: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"Get\"),\n\t\t\t},\n\t\t\tCertificatePermissions: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"Get\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFilebase64, err := std.Filebase64(ctx, \u0026std.Filebase64Args{\n\t\t\tInput: \"example_cert.pfx\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleCertificate, err := keyvault.NewCertificate(ctx, \"example\", \u0026keyvault.CertificateArgs{\n\t\t\tName:       pulumi.String(\"example-cert\"),\n\t\t\tKeyVaultId: exampleKeyVault.ID(),\n\t\t\tCertificate: \u0026keyvault.CertificateCertificateArgs{\n\t\t\t\tContents: pulumi.String(invokeFilebase64.Result),\n\t\t\t\tPassword: pulumi.String(\"terraform\"),\n\t\t\t},\n\t\t\tCertificatePolicy: \u0026keyvault.CertificateCertificatePolicyArgs{\n\t\t\t\tIssuerParameters: \u0026keyvault.CertificateCertificatePolicyIssuerParametersArgs{\n\t\t\t\t\tName: pulumi.String(\"Self\"),\n\t\t\t\t},\n\t\t\t\tKeyProperties: \u0026keyvault.CertificateCertificatePolicyKeyPropertiesArgs{\n\t\t\t\t\tExportable: pulumi.Bool(true),\n\t\t\t\t\tKeySize:    pulumi.Int(2048),\n\t\t\t\t\tKeyType:    pulumi.String(\"RSA\"),\n\t\t\t\t\tReuseKey:   pulumi.Bool(false),\n\t\t\t\t},\n\t\t\t\tSecretProperties: \u0026keyvault.CertificateCertificatePolicySecretPropertiesArgs{\n\t\t\t\t\tContentType: pulumi.String(\"application/x-pkcs12\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = apimanagement.NewCertificate(ctx, \"example\", \u0026apimanagement.CertificateArgs{\n\t\t\tName:              pulumi.String(\"example-cert\"),\n\t\t\tApiManagementName: exampleService.Name,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tKeyVaultSecretId:  exampleCertificate.SecretId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.apimanagement.Service;\nimport com.pulumi.azure.apimanagement.ServiceArgs;\nimport com.pulumi.azure.apimanagement.inputs.ServiceIdentityArgs;\nimport com.pulumi.azure.keyvault.KeyVault;\nimport com.pulumi.azure.keyvault.KeyVaultArgs;\nimport com.pulumi.azure.keyvault.AccessPolicy;\nimport com.pulumi.azure.keyvault.AccessPolicyArgs;\nimport com.pulumi.azure.keyvault.inputs.CertificateCertificateArgs;\nimport com.pulumi.azure.keyvault.inputs.CertificateCertificatePolicyArgs;\nimport com.pulumi.azure.keyvault.inputs.CertificateCertificatePolicyIssuerParametersArgs;\nimport com.pulumi.azure.keyvault.inputs.CertificateCertificatePolicyKeyPropertiesArgs;\nimport com.pulumi.azure.keyvault.inputs.CertificateCertificatePolicySecretPropertiesArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.Filebase64Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var current = CoreFunctions.getClientConfig(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleService = new Service(\"exampleService\", ServiceArgs.builder()\n            .name(\"example-apim\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .publisherName(\"My Company\")\n            .publisherEmail(\"company@terraform.io\")\n            .skuName(\"Developer_1\")\n            .identity(ServiceIdentityArgs.builder()\n                .type(\"SystemAssigned\")\n                .build())\n            .build());\n\n        var exampleKeyVault = new KeyVault(\"exampleKeyVault\", KeyVaultArgs.builder()\n            .name(\"examplekeyvault\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .tenantId(current.tenantId())\n            .skuName(\"standard\")\n            .build());\n\n        var exampleAccessPolicy = new AccessPolicy(\"exampleAccessPolicy\", AccessPolicyArgs.builder()\n            .keyVaultId(exampleKeyVault.id())\n            .tenantId(exampleService.identity().applyValue(_identity -\u003e _identity.tenantId()))\n            .objectId(exampleService.identity().applyValue(_identity -\u003e _identity.principalId()))\n            .secretPermissions(\"Get\")\n            .certificatePermissions(\"Get\")\n            .build());\n\n        var exampleCertificate = new com.pulumi.azure.keyvault.Certificate(\"exampleCertificate\", com.pulumi.azure.keyvault.CertificateArgs.builder()\n            .name(\"example-cert\")\n            .keyVaultId(exampleKeyVault.id())\n            .certificate(CertificateCertificateArgs.builder()\n                .contents(StdFunctions.filebase64(Filebase64Args.builder()\n                    .input(\"example_cert.pfx\")\n                    .build()).result())\n                .password(\"terraform\")\n                .build())\n            .certificatePolicy(CertificateCertificatePolicyArgs.builder()\n                .issuerParameters(CertificateCertificatePolicyIssuerParametersArgs.builder()\n                    .name(\"Self\")\n                    .build())\n                .keyProperties(CertificateCertificatePolicyKeyPropertiesArgs.builder()\n                    .exportable(true)\n                    .keySize(2048)\n                    .keyType(\"RSA\")\n                    .reuseKey(false)\n                    .build())\n                .secretProperties(CertificateCertificatePolicySecretPropertiesArgs.builder()\n                    .contentType(\"application/x-pkcs12\")\n                    .build())\n                .build())\n            .build());\n\n        var exampleCertificate2 = new com.pulumi.azure.apimanagement.Certificate(\"exampleCertificate2\", com.pulumi.azure.apimanagement.CertificateArgs.builder()\n            .name(\"example-cert\")\n            .apiManagementName(exampleService.name())\n            .resourceGroupName(example.name())\n            .keyVaultSecretId(exampleCertificate.secretId())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleService:\n    type: azure:apimanagement:Service\n    name: example\n    properties:\n      name: example-apim\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      publisherName: My Company\n      publisherEmail: company@terraform.io\n      skuName: Developer_1\n      identity:\n        type: SystemAssigned\n  exampleKeyVault:\n    type: azure:keyvault:KeyVault\n    name: example\n    properties:\n      name: examplekeyvault\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      tenantId: ${current.tenantId}\n      skuName: standard\n  exampleAccessPolicy:\n    type: azure:keyvault:AccessPolicy\n    name: example\n    properties:\n      keyVaultId: ${exampleKeyVault.id}\n      tenantId: ${exampleService.identity.tenantId}\n      objectId: ${exampleService.identity.principalId}\n      secretPermissions:\n        - Get\n      certificatePermissions:\n        - Get\n  exampleCertificate:\n    type: azure:keyvault:Certificate\n    name: example\n    properties:\n      name: example-cert\n      keyVaultId: ${exampleKeyVault.id}\n      certificate:\n        contents:\n          fn::invoke:\n            function: std:filebase64\n            arguments:\n              input: example_cert.pfx\n            return: result\n        password: terraform\n      certificatePolicy:\n        issuerParameters:\n          name: Self\n        keyProperties:\n          exportable: true\n          keySize: 2048\n          keyType: RSA\n          reuseKey: false\n        secretProperties:\n          contentType: application/x-pkcs12\n  exampleCertificate2:\n    type: azure:apimanagement:Certificate\n    name: example\n    properties:\n      name: example-cert\n      apiManagementName: ${exampleService.name}\n      resourceGroupName: ${example.name}\n      keyVaultSecretId: ${exampleCertificate.secretId}\nvariables:\n  current:\n    fn::invoke:\n      function: azure:core:getClientConfig\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.ApiManagement` - 2022-08-01\n\n## Import\n\nAPI Management Certificates can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:apimanagement/certificate:Certificate example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.ApiManagement/service/instance1/certificates/certificate1\n```\n\n","properties":{"apiManagementName":{"type":"string","description":"The Name of the API Management Service where this Service should be created. Changing this forces a new resource to be created.\n"},"data":{"type":"string","description":"The base-64 encoded certificate data, which must be a PFX file.\n","secret":true},"expiration":{"type":"string","description":"The Expiration Date of this Certificate, formatted as an RFC3339 string.\n"},"keyVaultIdentityClientId":{"type":"string","description":"The Client ID of the User Assigned Managed Identity to use for retrieving certificate.\n\n\u003e **Note:** If not specified, will use System Assigned identity of the API Management Service.\n"},"keyVaultSecretId":{"type":"string","description":"The ID of the Key Vault Secret containing the SSL Certificate, which must be of the type `application/x-pkcs12`.\n\n\u003e **Note:** Setting this field requires the \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block to be specified in API Management Service, since this identity is used to retrieve the Key Vault Certificate. Possible values are versioned or versionless secret ID. Auto-updating the Certificate from the Key Vault requires that Secret version isn't specified.\n"},"name":{"type":"string","description":"The name of the API Management Certificate. Changing this forces a new resource to be created.\n"},"password":{"type":"string","description":"The password used for this certificate.\n","secret":true},"resourceGroupName":{"type":"string","description":"The Name of the Resource Group where the API Management Service exists. Changing this forces a new resource to be created.\n\n\u003e **Note:** Either \u003cspan pulumi-lang-nodejs=\"`data`\" pulumi-lang-dotnet=\"`Data`\" pulumi-lang-go=\"`data`\" pulumi-lang-python=\"`data`\" pulumi-lang-yaml=\"`data`\" pulumi-lang-java=\"`data`\"\u003e`data`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`keyVaultSecretId`\" pulumi-lang-dotnet=\"`KeyVaultSecretId`\" pulumi-lang-go=\"`keyVaultSecretId`\" pulumi-lang-python=\"`key_vault_secret_id`\" pulumi-lang-yaml=\"`keyVaultSecretId`\" pulumi-lang-java=\"`keyVaultSecretId`\"\u003e`key_vault_secret_id`\u003c/span\u003e must be specified - but not both.\n"},"subject":{"type":"string","description":"The Subject of this Certificate.\n"},"thumbprint":{"type":"string","description":"The Thumbprint of this Certificate.\n"}},"required":["apiManagementName","expiration","name","resourceGroupName","subject","thumbprint"],"inputProperties":{"apiManagementName":{"type":"string","description":"The Name of the API Management Service where this Service should be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"data":{"type":"string","description":"The base-64 encoded certificate data, which must be a PFX file.\n","secret":true},"keyVaultIdentityClientId":{"type":"string","description":"The Client ID of the User Assigned Managed Identity to use for retrieving certificate.\n\n\u003e **Note:** If not specified, will use System Assigned identity of the API Management Service.\n"},"keyVaultSecretId":{"type":"string","description":"The ID of the Key Vault Secret containing the SSL Certificate, which must be of the type `application/x-pkcs12`.\n\n\u003e **Note:** Setting this field requires the \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block to be specified in API Management Service, since this identity is used to retrieve the Key Vault Certificate. Possible values are versioned or versionless secret ID. Auto-updating the Certificate from the Key Vault requires that Secret version isn't specified.\n"},"name":{"type":"string","description":"The name of the API Management Certificate. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"password":{"type":"string","description":"The password used for this certificate.\n","secret":true},"resourceGroupName":{"type":"string","description":"The Name of the Resource Group where the API Management Service exists. Changing this forces a new resource to be created.\n\n\u003e **Note:** Either \u003cspan pulumi-lang-nodejs=\"`data`\" pulumi-lang-dotnet=\"`Data`\" pulumi-lang-go=\"`data`\" pulumi-lang-python=\"`data`\" pulumi-lang-yaml=\"`data`\" pulumi-lang-java=\"`data`\"\u003e`data`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`keyVaultSecretId`\" pulumi-lang-dotnet=\"`KeyVaultSecretId`\" pulumi-lang-go=\"`keyVaultSecretId`\" pulumi-lang-python=\"`key_vault_secret_id`\" pulumi-lang-yaml=\"`keyVaultSecretId`\" pulumi-lang-java=\"`keyVaultSecretId`\"\u003e`key_vault_secret_id`\u003c/span\u003e must be specified - but not both.\n","willReplaceOnChanges":true}},"requiredInputs":["apiManagementName","resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering Certificate resources.\n","properties":{"apiManagementName":{"type":"string","description":"The Name of the API Management Service where this Service should be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"data":{"type":"string","description":"The base-64 encoded certificate data, which must be a PFX file.\n","secret":true},"expiration":{"type":"string","description":"The Expiration Date of this Certificate, formatted as an RFC3339 string.\n"},"keyVaultIdentityClientId":{"type":"string","description":"The Client ID of the User Assigned Managed Identity to use for retrieving certificate.\n\n\u003e **Note:** If not specified, will use System Assigned identity of the API Management Service.\n"},"keyVaultSecretId":{"type":"string","description":"The ID of the Key Vault Secret containing the SSL Certificate, which must be of the type `application/x-pkcs12`.\n\n\u003e **Note:** Setting this field requires the \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block to be specified in API Management Service, since this identity is used to retrieve the Key Vault Certificate. Possible values are versioned or versionless secret ID. Auto-updating the Certificate from the Key Vault requires that Secret version isn't specified.\n"},"name":{"type":"string","description":"The name of the API Management Certificate. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"password":{"type":"string","description":"The password used for this certificate.\n","secret":true},"resourceGroupName":{"type":"string","description":"The Name of the Resource Group where the API Management Service exists. Changing this forces a new resource to be created.\n\n\u003e **Note:** Either \u003cspan pulumi-lang-nodejs=\"`data`\" pulumi-lang-dotnet=\"`Data`\" pulumi-lang-go=\"`data`\" pulumi-lang-python=\"`data`\" pulumi-lang-yaml=\"`data`\" pulumi-lang-java=\"`data`\"\u003e`data`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`keyVaultSecretId`\" pulumi-lang-dotnet=\"`KeyVaultSecretId`\" pulumi-lang-go=\"`keyVaultSecretId`\" pulumi-lang-python=\"`key_vault_secret_id`\" pulumi-lang-yaml=\"`keyVaultSecretId`\" pulumi-lang-java=\"`keyVaultSecretId`\"\u003e`key_vault_secret_id`\u003c/span\u003e must be specified - but not both.\n","willReplaceOnChanges":true},"subject":{"type":"string","description":"The Subject of this Certificate.\n"},"thumbprint":{"type":"string","description":"The Thumbprint of this Certificate.\n"}},"type":"object"}},"azure:apimanagement/customDomain:CustomDomain":{"description":"Manages a API Management Custom Domain.\n\n## Disclaimers\n\n\u003e **Note:** It's possible to define Custom Domains both within the \u003cspan pulumi-lang-nodejs=\"`azure.apimanagement.Service`\" pulumi-lang-dotnet=\"`azure.apimanagement.Service`\" pulumi-lang-go=\"`apimanagement.Service`\" pulumi-lang-python=\"`apimanagement.Service`\" pulumi-lang-yaml=\"`azure.apimanagement.Service`\" pulumi-lang-java=\"`azure.apimanagement.Service`\"\u003e`azure.apimanagement.Service`\u003c/span\u003e resource via the \u003cspan pulumi-lang-nodejs=\"`hostnameConfigurations`\" pulumi-lang-dotnet=\"`HostnameConfigurations`\" pulumi-lang-go=\"`hostnameConfigurations`\" pulumi-lang-python=\"`hostname_configurations`\" pulumi-lang-yaml=\"`hostnameConfigurations`\" pulumi-lang-java=\"`hostnameConfigurations`\"\u003e`hostname_configurations`\u003c/span\u003e block and by using this resource. However it's not possible to use both methods to manage Custom Domains within an API Management Service, since there will be conflicts.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst example = azure.keyvault.getKeyVault({\n    name: \"mykeyvault\",\n    resourceGroupName: \"some-resource-group\",\n});\nconst exampleService = new azure.apimanagement.Service(\"example\", {\n    name: \"example-apim\",\n    location: exampleResourceGroup.location,\n    resourceGroupName: exampleResourceGroup.name,\n    publisherName: \"pub1\",\n    publisherEmail: \"pub1@email.com\",\n    skuName: \"Developer_1\",\n});\nconst exampleCertificate = new azure.keyvault.Certificate(\"example\", {\n    name: \"example-certificate\",\n    keyVaultId: example.then(example =\u003e example.id),\n    certificatePolicy: {\n        issuerParameters: {\n            name: \"Self\",\n        },\n        keyProperties: {\n            exportable: true,\n            keySize: 2048,\n            keyType: \"RSA\",\n            reuseKey: true,\n        },\n        lifetimeActions: [{\n            action: {\n                actionType: \"AutoRenew\",\n            },\n            trigger: {\n                daysBeforeExpiry: 30,\n            },\n        }],\n        secretProperties: {\n            contentType: \"application/x-pkcs12\",\n        },\n        x509CertificateProperties: {\n            keyUsages: [\n                \"cRLSign\",\n                \"dataEncipherment\",\n                \"digitalSignature\",\n                \"keyAgreement\",\n                \"keyCertSign\",\n                \"keyEncipherment\",\n            ],\n            subject: \"CN=api.example.com\",\n            validityInMonths: 12,\n            subjectAlternativeNames: {\n                dnsNames: [\n                    \"api.example.com\",\n                    \"portal.example.com\",\n                ],\n            },\n        },\n    },\n});\nconst exampleCustomDomain = new azure.apimanagement.CustomDomain(\"example\", {\n    apiManagementId: exampleService.id,\n    gateways: [{\n        hostName: \"api.example.com\",\n        keyVaultId: exampleCertificate.versionlessSecretId,\n    }],\n    developerPortals: [{\n        hostName: \"portal.example.com\",\n        keyVaultId: exampleCertificate.versionlessSecretId,\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample = azure.keyvault.get_key_vault(name=\"mykeyvault\",\n    resource_group_name=\"some-resource-group\")\nexample_service = azure.apimanagement.Service(\"example\",\n    name=\"example-apim\",\n    location=example_resource_group.location,\n    resource_group_name=example_resource_group.name,\n    publisher_name=\"pub1\",\n    publisher_email=\"pub1@email.com\",\n    sku_name=\"Developer_1\")\nexample_certificate = azure.keyvault.Certificate(\"example\",\n    name=\"example-certificate\",\n    key_vault_id=example.id,\n    certificate_policy={\n        \"issuer_parameters\": {\n            \"name\": \"Self\",\n        },\n        \"key_properties\": {\n            \"exportable\": True,\n            \"key_size\": 2048,\n            \"key_type\": \"RSA\",\n            \"reuse_key\": True,\n        },\n        \"lifetime_actions\": [{\n            \"action\": {\n                \"action_type\": \"AutoRenew\",\n            },\n            \"trigger\": {\n                \"days_before_expiry\": 30,\n            },\n        }],\n        \"secret_properties\": {\n            \"content_type\": \"application/x-pkcs12\",\n        },\n        \"x509_certificate_properties\": {\n            \"key_usages\": [\n                \"cRLSign\",\n                \"dataEncipherment\",\n                \"digitalSignature\",\n                \"keyAgreement\",\n                \"keyCertSign\",\n                \"keyEncipherment\",\n            ],\n            \"subject\": \"CN=api.example.com\",\n            \"validity_in_months\": 12,\n            \"subject_alternative_names\": {\n                \"dns_names\": [\n                    \"api.example.com\",\n                    \"portal.example.com\",\n                ],\n            },\n        },\n    })\nexample_custom_domain = azure.apimanagement.CustomDomain(\"example\",\n    api_management_id=example_service.id,\n    gateways=[{\n        \"host_name\": \"api.example.com\",\n        \"key_vault_id\": example_certificate.versionless_secret_id,\n    }],\n    developer_portals=[{\n        \"host_name\": \"portal.example.com\",\n        \"key_vault_id\": example_certificate.versionless_secret_id,\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleResourceGroup = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var example = Azure.KeyVault.GetKeyVault.Invoke(new()\n    {\n        Name = \"mykeyvault\",\n        ResourceGroupName = \"some-resource-group\",\n    });\n\n    var exampleService = new Azure.ApiManagement.Service(\"example\", new()\n    {\n        Name = \"example-apim\",\n        Location = exampleResourceGroup.Location,\n        ResourceGroupName = exampleResourceGroup.Name,\n        PublisherName = \"pub1\",\n        PublisherEmail = \"pub1@email.com\",\n        SkuName = \"Developer_1\",\n    });\n\n    var exampleCertificate = new Azure.KeyVault.Certificate(\"example\", new()\n    {\n        Name = \"example-certificate\",\n        KeyVaultId = example.Apply(getKeyVaultResult =\u003e getKeyVaultResult.Id),\n        CertificatePolicy = new Azure.KeyVault.Inputs.CertificateCertificatePolicyArgs\n        {\n            IssuerParameters = new Azure.KeyVault.Inputs.CertificateCertificatePolicyIssuerParametersArgs\n            {\n                Name = \"Self\",\n            },\n            KeyProperties = new Azure.KeyVault.Inputs.CertificateCertificatePolicyKeyPropertiesArgs\n            {\n                Exportable = true,\n                KeySize = 2048,\n                KeyType = \"RSA\",\n                ReuseKey = true,\n            },\n            LifetimeActions = new[]\n            {\n                new Azure.KeyVault.Inputs.CertificateCertificatePolicyLifetimeActionArgs\n                {\n                    Action = new Azure.KeyVault.Inputs.CertificateCertificatePolicyLifetimeActionActionArgs\n                    {\n                        ActionType = \"AutoRenew\",\n                    },\n                    Trigger = new Azure.KeyVault.Inputs.CertificateCertificatePolicyLifetimeActionTriggerArgs\n                    {\n                        DaysBeforeExpiry = 30,\n                    },\n                },\n            },\n            SecretProperties = new Azure.KeyVault.Inputs.CertificateCertificatePolicySecretPropertiesArgs\n            {\n                ContentType = \"application/x-pkcs12\",\n            },\n            X509CertificateProperties = new Azure.KeyVault.Inputs.CertificateCertificatePolicyX509CertificatePropertiesArgs\n            {\n                KeyUsages = new[]\n                {\n                    \"cRLSign\",\n                    \"dataEncipherment\",\n                    \"digitalSignature\",\n                    \"keyAgreement\",\n                    \"keyCertSign\",\n                    \"keyEncipherment\",\n                },\n                Subject = \"CN=api.example.com\",\n                ValidityInMonths = 12,\n                SubjectAlternativeNames = new Azure.KeyVault.Inputs.CertificateCertificatePolicyX509CertificatePropertiesSubjectAlternativeNamesArgs\n                {\n                    DnsNames = new[]\n                    {\n                        \"api.example.com\",\n                        \"portal.example.com\",\n                    },\n                },\n            },\n        },\n    });\n\n    var exampleCustomDomain = new Azure.ApiManagement.CustomDomain(\"example\", new()\n    {\n        ApiManagementId = exampleService.Id,\n        Gateways = new[]\n        {\n            new Azure.ApiManagement.Inputs.CustomDomainGatewayArgs\n            {\n                HostName = \"api.example.com\",\n                KeyVaultId = exampleCertificate.VersionlessSecretId,\n            },\n        },\n        DeveloperPortals = new[]\n        {\n            new Azure.ApiManagement.Inputs.CustomDomainDeveloperPortalArgs\n            {\n                HostName = \"portal.example.com\",\n                KeyVaultId = exampleCertificate.VersionlessSecretId,\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/apimanagement\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/keyvault\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := keyvault.LookupKeyVault(ctx, \u0026keyvault.LookupKeyVaultArgs{\n\t\t\tName:              \"mykeyvault\",\n\t\t\tResourceGroupName: \"some-resource-group\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleService, err := apimanagement.NewService(ctx, \"example\", \u0026apimanagement.ServiceArgs{\n\t\t\tName:              pulumi.String(\"example-apim\"),\n\t\t\tLocation:          exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tPublisherName:     pulumi.String(\"pub1\"),\n\t\t\tPublisherEmail:    pulumi.String(\"pub1@email.com\"),\n\t\t\tSkuName:           pulumi.String(\"Developer_1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleCertificate, err := keyvault.NewCertificate(ctx, \"example\", \u0026keyvault.CertificateArgs{\n\t\t\tName:       pulumi.String(\"example-certificate\"),\n\t\t\tKeyVaultId: pulumi.String(example.Id),\n\t\t\tCertificatePolicy: \u0026keyvault.CertificateCertificatePolicyArgs{\n\t\t\t\tIssuerParameters: \u0026keyvault.CertificateCertificatePolicyIssuerParametersArgs{\n\t\t\t\t\tName: pulumi.String(\"Self\"),\n\t\t\t\t},\n\t\t\t\tKeyProperties: \u0026keyvault.CertificateCertificatePolicyKeyPropertiesArgs{\n\t\t\t\t\tExportable: pulumi.Bool(true),\n\t\t\t\t\tKeySize:    pulumi.Int(2048),\n\t\t\t\t\tKeyType:    pulumi.String(\"RSA\"),\n\t\t\t\t\tReuseKey:   pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t\tLifetimeActions: keyvault.CertificateCertificatePolicyLifetimeActionArray{\n\t\t\t\t\t\u0026keyvault.CertificateCertificatePolicyLifetimeActionArgs{\n\t\t\t\t\t\tAction: \u0026keyvault.CertificateCertificatePolicyLifetimeActionActionArgs{\n\t\t\t\t\t\t\tActionType: pulumi.String(\"AutoRenew\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tTrigger: \u0026keyvault.CertificateCertificatePolicyLifetimeActionTriggerArgs{\n\t\t\t\t\t\t\tDaysBeforeExpiry: pulumi.Int(30),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tSecretProperties: \u0026keyvault.CertificateCertificatePolicySecretPropertiesArgs{\n\t\t\t\t\tContentType: pulumi.String(\"application/x-pkcs12\"),\n\t\t\t\t},\n\t\t\t\tX509CertificateProperties: \u0026keyvault.CertificateCertificatePolicyX509CertificatePropertiesArgs{\n\t\t\t\t\tKeyUsages: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"cRLSign\"),\n\t\t\t\t\t\tpulumi.String(\"dataEncipherment\"),\n\t\t\t\t\t\tpulumi.String(\"digitalSignature\"),\n\t\t\t\t\t\tpulumi.String(\"keyAgreement\"),\n\t\t\t\t\t\tpulumi.String(\"keyCertSign\"),\n\t\t\t\t\t\tpulumi.String(\"keyEncipherment\"),\n\t\t\t\t\t},\n\t\t\t\t\tSubject:          pulumi.String(\"CN=api.example.com\"),\n\t\t\t\t\tValidityInMonths: pulumi.Int(12),\n\t\t\t\t\tSubjectAlternativeNames: \u0026keyvault.CertificateCertificatePolicyX509CertificatePropertiesSubjectAlternativeNamesArgs{\n\t\t\t\t\t\tDnsNames: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"api.example.com\"),\n\t\t\t\t\t\t\tpulumi.String(\"portal.example.com\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = apimanagement.NewCustomDomain(ctx, \"example\", \u0026apimanagement.CustomDomainArgs{\n\t\t\tApiManagementId: exampleService.ID(),\n\t\t\tGateways: apimanagement.CustomDomainGatewayArray{\n\t\t\t\t\u0026apimanagement.CustomDomainGatewayArgs{\n\t\t\t\t\tHostName:   pulumi.String(\"api.example.com\"),\n\t\t\t\t\tKeyVaultId: exampleCertificate.VersionlessSecretId,\n\t\t\t\t},\n\t\t\t},\n\t\t\tDeveloperPortals: apimanagement.CustomDomainDeveloperPortalArray{\n\t\t\t\t\u0026apimanagement.CustomDomainDeveloperPortalArgs{\n\t\t\t\t\tHostName:   pulumi.String(\"portal.example.com\"),\n\t\t\t\t\tKeyVaultId: exampleCertificate.VersionlessSecretId,\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.keyvault.KeyvaultFunctions;\nimport com.pulumi.azure.keyvault.inputs.GetKeyVaultArgs;\nimport com.pulumi.azure.apimanagement.Service;\nimport com.pulumi.azure.apimanagement.ServiceArgs;\nimport com.pulumi.azure.keyvault.Certificate;\nimport com.pulumi.azure.keyvault.CertificateArgs;\nimport com.pulumi.azure.keyvault.inputs.CertificateCertificatePolicyArgs;\nimport com.pulumi.azure.keyvault.inputs.CertificateCertificatePolicyIssuerParametersArgs;\nimport com.pulumi.azure.keyvault.inputs.CertificateCertificatePolicyKeyPropertiesArgs;\nimport com.pulumi.azure.keyvault.inputs.CertificateCertificatePolicySecretPropertiesArgs;\nimport com.pulumi.azure.keyvault.inputs.CertificateCertificatePolicyX509CertificatePropertiesArgs;\nimport com.pulumi.azure.keyvault.inputs.CertificateCertificatePolicyX509CertificatePropertiesSubjectAlternativeNamesArgs;\nimport com.pulumi.azure.apimanagement.CustomDomain;\nimport com.pulumi.azure.apimanagement.CustomDomainArgs;\nimport com.pulumi.azure.apimanagement.inputs.CustomDomainGatewayArgs;\nimport com.pulumi.azure.apimanagement.inputs.CustomDomainDeveloperPortalArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var exampleResourceGroup = new ResourceGroup(\"exampleResourceGroup\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        final var example = KeyvaultFunctions.getKeyVault(GetKeyVaultArgs.builder()\n            .name(\"mykeyvault\")\n            .resourceGroupName(\"some-resource-group\")\n            .build());\n\n        var exampleService = new Service(\"exampleService\", ServiceArgs.builder()\n            .name(\"example-apim\")\n            .location(exampleResourceGroup.location())\n            .resourceGroupName(exampleResourceGroup.name())\n            .publisherName(\"pub1\")\n            .publisherEmail(\"pub1@email.com\")\n            .skuName(\"Developer_1\")\n            .build());\n\n        var exampleCertificate = new Certificate(\"exampleCertificate\", CertificateArgs.builder()\n            .name(\"example-certificate\")\n            .keyVaultId(example.id())\n            .certificatePolicy(CertificateCertificatePolicyArgs.builder()\n                .issuerParameters(CertificateCertificatePolicyIssuerParametersArgs.builder()\n                    .name(\"Self\")\n                    .build())\n                .keyProperties(CertificateCertificatePolicyKeyPropertiesArgs.builder()\n                    .exportable(true)\n                    .keySize(2048)\n                    .keyType(\"RSA\")\n                    .reuseKey(true)\n                    .build())\n                .lifetimeActions(CertificateCertificatePolicyLifetimeActionArgs.builder()\n                    .action(CertificateCertificatePolicyLifetimeActionActionArgs.builder()\n                        .actionType(\"AutoRenew\")\n                        .build())\n                    .trigger(CertificateCertificatePolicyLifetimeActionTriggerArgs.builder()\n                        .daysBeforeExpiry(30)\n                        .build())\n                    .build())\n                .secretProperties(CertificateCertificatePolicySecretPropertiesArgs.builder()\n                    .contentType(\"application/x-pkcs12\")\n                    .build())\n                .x509CertificateProperties(CertificateCertificatePolicyX509CertificatePropertiesArgs.builder()\n                    .keyUsages(                    \n                        \"cRLSign\",\n                        \"dataEncipherment\",\n                        \"digitalSignature\",\n                        \"keyAgreement\",\n                        \"keyCertSign\",\n                        \"keyEncipherment\")\n                    .subject(\"CN=api.example.com\")\n                    .validityInMonths(12)\n                    .subjectAlternativeNames(CertificateCertificatePolicyX509CertificatePropertiesSubjectAlternativeNamesArgs.builder()\n                        .dnsNames(                        \n                            \"api.example.com\",\n                            \"portal.example.com\")\n                        .build())\n                    .build())\n                .build())\n            .build());\n\n        var exampleCustomDomain = new CustomDomain(\"exampleCustomDomain\", CustomDomainArgs.builder()\n            .apiManagementId(exampleService.id())\n            .gateways(CustomDomainGatewayArgs.builder()\n                .hostName(\"api.example.com\")\n                .keyVaultId(exampleCertificate.versionlessSecretId())\n                .build())\n            .developerPortals(CustomDomainDeveloperPortalArgs.builder()\n                .hostName(\"portal.example.com\")\n                .keyVaultId(exampleCertificate.versionlessSecretId())\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleResourceGroup:\n    type: azure:core:ResourceGroup\n    name: example\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleService:\n    type: azure:apimanagement:Service\n    name: example\n    properties:\n      name: example-apim\n      location: ${exampleResourceGroup.location}\n      resourceGroupName: ${exampleResourceGroup.name}\n      publisherName: pub1\n      publisherEmail: pub1@email.com\n      skuName: Developer_1\n  exampleCertificate:\n    type: azure:keyvault:Certificate\n    name: example\n    properties:\n      name: example-certificate\n      keyVaultId: ${example.id}\n      certificatePolicy:\n        issuerParameters:\n          name: Self\n        keyProperties:\n          exportable: true\n          keySize: 2048\n          keyType: RSA\n          reuseKey: true\n        lifetimeActions:\n          - action:\n              actionType: AutoRenew\n            trigger:\n              daysBeforeExpiry: 30\n        secretProperties:\n          contentType: application/x-pkcs12\n        x509CertificateProperties:\n          keyUsages:\n            - cRLSign\n            - dataEncipherment\n            - digitalSignature\n            - keyAgreement\n            - keyCertSign\n            - keyEncipherment\n          subject: CN=api.example.com\n          validityInMonths: 12\n          subjectAlternativeNames:\n            dnsNames:\n              - api.example.com\n              - portal.example.com\n  exampleCustomDomain:\n    type: azure:apimanagement:CustomDomain\n    name: example\n    properties:\n      apiManagementId: ${exampleService.id}\n      gateways:\n        - hostName: api.example.com\n          keyVaultId: ${exampleCertificate.versionlessSecretId}\n      developerPortals:\n        - hostName: portal.example.com\n          keyVaultId: ${exampleCertificate.versionlessSecretId}\nvariables:\n  example:\n    fn::invoke:\n      function: azure:keyvault:getKeyVault\n      arguments:\n        name: mykeyvault\n        resourceGroupName: some-resource-group\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.ApiManagement` - 2024-05-01\n\n## Import\n\nAPI Management Custom Domains can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:apimanagement/customDomain:CustomDomain example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.ApiManagement/service/instance1/customDomains/default\n```\n\n","properties":{"apiManagementId":{"type":"string","description":"The ID of the API Management service for which to configure Custom Domains. Changing this forces a new API Management Custom Domain resource to be created.\n"},"developerPortals":{"type":"array","items":{"$ref":"#/types/azure:apimanagement/CustomDomainDeveloperPortal:CustomDomainDeveloperPortal"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`developerPortal`\" pulumi-lang-dotnet=\"`DeveloperPortal`\" pulumi-lang-go=\"`developerPortal`\" pulumi-lang-python=\"`developer_portal`\" pulumi-lang-yaml=\"`developerPortal`\" pulumi-lang-java=\"`developerPortal`\"\u003e`developer_portal`\u003c/span\u003e blocks as defined below.\n"},"gateways":{"type":"array","items":{"$ref":"#/types/azure:apimanagement/CustomDomainGateway:CustomDomainGateway"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`gateway`\" pulumi-lang-dotnet=\"`Gateway`\" pulumi-lang-go=\"`gateway`\" pulumi-lang-python=\"`gateway`\" pulumi-lang-yaml=\"`gateway`\" pulumi-lang-java=\"`gateway`\"\u003e`gateway`\u003c/span\u003e blocks as defined below.\n"},"managements":{"type":"array","items":{"$ref":"#/types/azure:apimanagement/CustomDomainManagement:CustomDomainManagement"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`management`\" pulumi-lang-dotnet=\"`Management`\" pulumi-lang-go=\"`management`\" pulumi-lang-python=\"`management`\" pulumi-lang-yaml=\"`management`\" pulumi-lang-java=\"`management`\"\u003e`management`\u003c/span\u003e blocks as defined below.\n"},"portals":{"type":"array","items":{"$ref":"#/types/azure:apimanagement/CustomDomainPortal:CustomDomainPortal"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`portal`\" pulumi-lang-dotnet=\"`Portal`\" pulumi-lang-go=\"`portal`\" pulumi-lang-python=\"`portal`\" pulumi-lang-yaml=\"`portal`\" pulumi-lang-java=\"`portal`\"\u003e`portal`\u003c/span\u003e blocks as defined below.\n"},"scms":{"type":"array","items":{"$ref":"#/types/azure:apimanagement/CustomDomainScm:CustomDomainScm"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`scm`\" pulumi-lang-dotnet=\"`Scm`\" pulumi-lang-go=\"`scm`\" pulumi-lang-python=\"`scm`\" pulumi-lang-yaml=\"`scm`\" pulumi-lang-java=\"`scm`\"\u003e`scm`\u003c/span\u003e blocks as defined below.\n"}},"required":["apiManagementId"],"inputProperties":{"apiManagementId":{"type":"string","description":"The ID of the API Management service for which to configure Custom Domains. Changing this forces a new API Management Custom Domain resource to be created.\n","willReplaceOnChanges":true},"developerPortals":{"type":"array","items":{"$ref":"#/types/azure:apimanagement/CustomDomainDeveloperPortal:CustomDomainDeveloperPortal"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`developerPortal`\" pulumi-lang-dotnet=\"`DeveloperPortal`\" pulumi-lang-go=\"`developerPortal`\" pulumi-lang-python=\"`developer_portal`\" pulumi-lang-yaml=\"`developerPortal`\" pulumi-lang-java=\"`developerPortal`\"\u003e`developer_portal`\u003c/span\u003e blocks as defined below.\n"},"gateways":{"type":"array","items":{"$ref":"#/types/azure:apimanagement/CustomDomainGateway:CustomDomainGateway"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`gateway`\" pulumi-lang-dotnet=\"`Gateway`\" pulumi-lang-go=\"`gateway`\" pulumi-lang-python=\"`gateway`\" pulumi-lang-yaml=\"`gateway`\" pulumi-lang-java=\"`gateway`\"\u003e`gateway`\u003c/span\u003e blocks as defined below.\n"},"managements":{"type":"array","items":{"$ref":"#/types/azure:apimanagement/CustomDomainManagement:CustomDomainManagement"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`management`\" pulumi-lang-dotnet=\"`Management`\" pulumi-lang-go=\"`management`\" pulumi-lang-python=\"`management`\" pulumi-lang-yaml=\"`management`\" pulumi-lang-java=\"`management`\"\u003e`management`\u003c/span\u003e blocks as defined below.\n"},"portals":{"type":"array","items":{"$ref":"#/types/azure:apimanagement/CustomDomainPortal:CustomDomainPortal"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`portal`\" pulumi-lang-dotnet=\"`Portal`\" pulumi-lang-go=\"`portal`\" pulumi-lang-python=\"`portal`\" pulumi-lang-yaml=\"`portal`\" pulumi-lang-java=\"`portal`\"\u003e`portal`\u003c/span\u003e blocks as defined below.\n"},"scms":{"type":"array","items":{"$ref":"#/types/azure:apimanagement/CustomDomainScm:CustomDomainScm"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`scm`\" pulumi-lang-dotnet=\"`Scm`\" pulumi-lang-go=\"`scm`\" pulumi-lang-python=\"`scm`\" pulumi-lang-yaml=\"`scm`\" pulumi-lang-java=\"`scm`\"\u003e`scm`\u003c/span\u003e blocks as defined below.\n"}},"requiredInputs":["apiManagementId"],"stateInputs":{"description":"Input properties used for looking up and filtering CustomDomain resources.\n","properties":{"apiManagementId":{"type":"string","description":"The ID of the API Management service for which to configure Custom Domains. Changing this forces a new API Management Custom Domain resource to be created.\n","willReplaceOnChanges":true},"developerPortals":{"type":"array","items":{"$ref":"#/types/azure:apimanagement/CustomDomainDeveloperPortal:CustomDomainDeveloperPortal"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`developerPortal`\" pulumi-lang-dotnet=\"`DeveloperPortal`\" pulumi-lang-go=\"`developerPortal`\" pulumi-lang-python=\"`developer_portal`\" pulumi-lang-yaml=\"`developerPortal`\" pulumi-lang-java=\"`developerPortal`\"\u003e`developer_portal`\u003c/span\u003e blocks as defined below.\n"},"gateways":{"type":"array","items":{"$ref":"#/types/azure:apimanagement/CustomDomainGateway:CustomDomainGateway"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`gateway`\" pulumi-lang-dotnet=\"`Gateway`\" pulumi-lang-go=\"`gateway`\" pulumi-lang-python=\"`gateway`\" pulumi-lang-yaml=\"`gateway`\" pulumi-lang-java=\"`gateway`\"\u003e`gateway`\u003c/span\u003e blocks as defined below.\n"},"managements":{"type":"array","items":{"$ref":"#/types/azure:apimanagement/CustomDomainManagement:CustomDomainManagement"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`management`\" pulumi-lang-dotnet=\"`Management`\" pulumi-lang-go=\"`management`\" pulumi-lang-python=\"`management`\" pulumi-lang-yaml=\"`management`\" pulumi-lang-java=\"`management`\"\u003e`management`\u003c/span\u003e blocks as defined below.\n"},"portals":{"type":"array","items":{"$ref":"#/types/azure:apimanagement/CustomDomainPortal:CustomDomainPortal"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`portal`\" pulumi-lang-dotnet=\"`Portal`\" pulumi-lang-go=\"`portal`\" pulumi-lang-python=\"`portal`\" pulumi-lang-yaml=\"`portal`\" pulumi-lang-java=\"`portal`\"\u003e`portal`\u003c/span\u003e blocks as defined below.\n"},"scms":{"type":"array","items":{"$ref":"#/types/azure:apimanagement/CustomDomainScm:CustomDomainScm"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`scm`\" pulumi-lang-dotnet=\"`Scm`\" pulumi-lang-go=\"`scm`\" pulumi-lang-python=\"`scm`\" pulumi-lang-yaml=\"`scm`\" pulumi-lang-java=\"`scm`\"\u003e`scm`\u003c/span\u003e blocks as defined below.\n"}},"type":"object"}},"azure:apimanagement/diagnostic:Diagnostic":{"description":"Manages an API Management Service Diagnostic.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleInsights = new azure.appinsights.Insights(\"example\", {\n    name: \"example-appinsights\",\n    location: example.location,\n    resourceGroupName: example.name,\n    applicationType: \"web\",\n});\nconst exampleService = new azure.apimanagement.Service(\"example\", {\n    name: \"example-apim\",\n    location: example.location,\n    resourceGroupName: example.name,\n    publisherName: \"My Company\",\n    publisherEmail: \"company@mycompany.io\",\n    skuName: \"Developer_1\",\n});\nconst exampleLogger = new azure.apimanagement.Logger(\"example\", {\n    name: \"example-apimlogger\",\n    apiManagementName: exampleService.name,\n    resourceGroupName: example.name,\n    applicationInsights: {\n        instrumentationKey: exampleInsights.instrumentationKey,\n    },\n});\nconst exampleDiagnostic = new azure.apimanagement.Diagnostic(\"example\", {\n    identifier: \"applicationinsights\",\n    resourceGroupName: example.name,\n    apiManagementName: exampleService.name,\n    apiManagementLoggerId: exampleLogger.id,\n    samplingPercentage: 5,\n    alwaysLogErrors: true,\n    logClientIp: true,\n    verbosity: \"verbose\",\n    httpCorrelationProtocol: \"W3C\",\n    frontendRequest: {\n        bodyBytes: 32,\n        headersToLogs: [\n            \"content-type\",\n            \"accept\",\n            \"origin\",\n        ],\n    },\n    frontendResponse: {\n        bodyBytes: 32,\n        headersToLogs: [\n            \"content-type\",\n            \"content-length\",\n            \"origin\",\n        ],\n    },\n    backendRequest: {\n        bodyBytes: 32,\n        headersToLogs: [\n            \"content-type\",\n            \"accept\",\n            \"origin\",\n        ],\n    },\n    backendResponse: {\n        bodyBytes: 32,\n        headersToLogs: [\n            \"content-type\",\n            \"content-length\",\n            \"origin\",\n        ],\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_insights = azure.appinsights.Insights(\"example\",\n    name=\"example-appinsights\",\n    location=example.location,\n    resource_group_name=example.name,\n    application_type=\"web\")\nexample_service = azure.apimanagement.Service(\"example\",\n    name=\"example-apim\",\n    location=example.location,\n    resource_group_name=example.name,\n    publisher_name=\"My Company\",\n    publisher_email=\"company@mycompany.io\",\n    sku_name=\"Developer_1\")\nexample_logger = azure.apimanagement.Logger(\"example\",\n    name=\"example-apimlogger\",\n    api_management_name=example_service.name,\n    resource_group_name=example.name,\n    application_insights={\n        \"instrumentation_key\": example_insights.instrumentation_key,\n    })\nexample_diagnostic = azure.apimanagement.Diagnostic(\"example\",\n    identifier=\"applicationinsights\",\n    resource_group_name=example.name,\n    api_management_name=example_service.name,\n    api_management_logger_id=example_logger.id,\n    sampling_percentage=5,\n    always_log_errors=True,\n    log_client_ip=True,\n    verbosity=\"verbose\",\n    http_correlation_protocol=\"W3C\",\n    frontend_request={\n        \"body_bytes\": 32,\n        \"headers_to_logs\": [\n            \"content-type\",\n            \"accept\",\n            \"origin\",\n        ],\n    },\n    frontend_response={\n        \"body_bytes\": 32,\n        \"headers_to_logs\": [\n            \"content-type\",\n            \"content-length\",\n            \"origin\",\n        ],\n    },\n    backend_request={\n        \"body_bytes\": 32,\n        \"headers_to_logs\": [\n            \"content-type\",\n            \"accept\",\n            \"origin\",\n        ],\n    },\n    backend_response={\n        \"body_bytes\": 32,\n        \"headers_to_logs\": [\n            \"content-type\",\n            \"content-length\",\n            \"origin\",\n        ],\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleInsights = new Azure.AppInsights.Insights(\"example\", new()\n    {\n        Name = \"example-appinsights\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        ApplicationType = \"web\",\n    });\n\n    var exampleService = new Azure.ApiManagement.Service(\"example\", new()\n    {\n        Name = \"example-apim\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        PublisherName = \"My Company\",\n        PublisherEmail = \"company@mycompany.io\",\n        SkuName = \"Developer_1\",\n    });\n\n    var exampleLogger = new Azure.ApiManagement.Logger(\"example\", new()\n    {\n        Name = \"example-apimlogger\",\n        ApiManagementName = exampleService.Name,\n        ResourceGroupName = example.Name,\n        ApplicationInsights = new Azure.ApiManagement.Inputs.LoggerApplicationInsightsArgs\n        {\n            InstrumentationKey = exampleInsights.InstrumentationKey,\n        },\n    });\n\n    var exampleDiagnostic = new Azure.ApiManagement.Diagnostic(\"example\", new()\n    {\n        Identifier = \"applicationinsights\",\n        ResourceGroupName = example.Name,\n        ApiManagementName = exampleService.Name,\n        ApiManagementLoggerId = exampleLogger.Id,\n        SamplingPercentage = 5,\n        AlwaysLogErrors = true,\n        LogClientIp = true,\n        Verbosity = \"verbose\",\n        HttpCorrelationProtocol = \"W3C\",\n        FrontendRequest = new Azure.ApiManagement.Inputs.DiagnosticFrontendRequestArgs\n        {\n            BodyBytes = 32,\n            HeadersToLogs = new[]\n            {\n                \"content-type\",\n                \"accept\",\n                \"origin\",\n            },\n        },\n        FrontendResponse = new Azure.ApiManagement.Inputs.DiagnosticFrontendResponseArgs\n        {\n            BodyBytes = 32,\n            HeadersToLogs = new[]\n            {\n                \"content-type\",\n                \"content-length\",\n                \"origin\",\n            },\n        },\n        BackendRequest = new Azure.ApiManagement.Inputs.DiagnosticBackendRequestArgs\n        {\n            BodyBytes = 32,\n            HeadersToLogs = new[]\n            {\n                \"content-type\",\n                \"accept\",\n                \"origin\",\n            },\n        },\n        BackendResponse = new Azure.ApiManagement.Inputs.DiagnosticBackendResponseArgs\n        {\n            BodyBytes = 32,\n            HeadersToLogs = new[]\n            {\n                \"content-type\",\n                \"content-length\",\n                \"origin\",\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/apimanagement\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/appinsights\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleInsights, err := appinsights.NewInsights(ctx, \"example\", \u0026appinsights.InsightsArgs{\n\t\t\tName:              pulumi.String(\"example-appinsights\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tApplicationType:   pulumi.String(\"web\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleService, err := apimanagement.NewService(ctx, \"example\", \u0026apimanagement.ServiceArgs{\n\t\t\tName:              pulumi.String(\"example-apim\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tPublisherName:     pulumi.String(\"My Company\"),\n\t\t\tPublisherEmail:    pulumi.String(\"company@mycompany.io\"),\n\t\t\tSkuName:           pulumi.String(\"Developer_1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleLogger, err := apimanagement.NewLogger(ctx, \"example\", \u0026apimanagement.LoggerArgs{\n\t\t\tName:              pulumi.String(\"example-apimlogger\"),\n\t\t\tApiManagementName: exampleService.Name,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tApplicationInsights: \u0026apimanagement.LoggerApplicationInsightsArgs{\n\t\t\t\tInstrumentationKey: exampleInsights.InstrumentationKey,\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = apimanagement.NewDiagnostic(ctx, \"example\", \u0026apimanagement.DiagnosticArgs{\n\t\t\tIdentifier:              pulumi.String(\"applicationinsights\"),\n\t\t\tResourceGroupName:       example.Name,\n\t\t\tApiManagementName:       exampleService.Name,\n\t\t\tApiManagementLoggerId:   exampleLogger.ID(),\n\t\t\tSamplingPercentage:      pulumi.Float64(5),\n\t\t\tAlwaysLogErrors:         pulumi.Bool(true),\n\t\t\tLogClientIp:             pulumi.Bool(true),\n\t\t\tVerbosity:               pulumi.String(\"verbose\"),\n\t\t\tHttpCorrelationProtocol: pulumi.String(\"W3C\"),\n\t\t\tFrontendRequest: \u0026apimanagement.DiagnosticFrontendRequestArgs{\n\t\t\t\tBodyBytes: pulumi.Int(32),\n\t\t\t\tHeadersToLogs: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"content-type\"),\n\t\t\t\t\tpulumi.String(\"accept\"),\n\t\t\t\t\tpulumi.String(\"origin\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tFrontendResponse: \u0026apimanagement.DiagnosticFrontendResponseArgs{\n\t\t\t\tBodyBytes: pulumi.Int(32),\n\t\t\t\tHeadersToLogs: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"content-type\"),\n\t\t\t\t\tpulumi.String(\"content-length\"),\n\t\t\t\t\tpulumi.String(\"origin\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tBackendRequest: \u0026apimanagement.DiagnosticBackendRequestArgs{\n\t\t\t\tBodyBytes: pulumi.Int(32),\n\t\t\t\tHeadersToLogs: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"content-type\"),\n\t\t\t\t\tpulumi.String(\"accept\"),\n\t\t\t\t\tpulumi.String(\"origin\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tBackendResponse: \u0026apimanagement.DiagnosticBackendResponseArgs{\n\t\t\t\tBodyBytes: pulumi.Int(32),\n\t\t\t\tHeadersToLogs: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"content-type\"),\n\t\t\t\t\tpulumi.String(\"content-length\"),\n\t\t\t\t\tpulumi.String(\"origin\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.appinsights.Insights;\nimport com.pulumi.azure.appinsights.InsightsArgs;\nimport com.pulumi.azure.apimanagement.Service;\nimport com.pulumi.azure.apimanagement.ServiceArgs;\nimport com.pulumi.azure.apimanagement.Logger;\nimport com.pulumi.azure.apimanagement.LoggerArgs;\nimport com.pulumi.azure.apimanagement.inputs.LoggerApplicationInsightsArgs;\nimport com.pulumi.azure.apimanagement.Diagnostic;\nimport com.pulumi.azure.apimanagement.DiagnosticArgs;\nimport com.pulumi.azure.apimanagement.inputs.DiagnosticFrontendRequestArgs;\nimport com.pulumi.azure.apimanagement.inputs.DiagnosticFrontendResponseArgs;\nimport com.pulumi.azure.apimanagement.inputs.DiagnosticBackendRequestArgs;\nimport com.pulumi.azure.apimanagement.inputs.DiagnosticBackendResponseArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleInsights = new Insights(\"exampleInsights\", InsightsArgs.builder()\n            .name(\"example-appinsights\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .applicationType(\"web\")\n            .build());\n\n        var exampleService = new Service(\"exampleService\", ServiceArgs.builder()\n            .name(\"example-apim\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .publisherName(\"My Company\")\n            .publisherEmail(\"company@mycompany.io\")\n            .skuName(\"Developer_1\")\n            .build());\n\n        var exampleLogger = new Logger(\"exampleLogger\", LoggerArgs.builder()\n            .name(\"example-apimlogger\")\n            .apiManagementName(exampleService.name())\n            .resourceGroupName(example.name())\n            .applicationInsights(LoggerApplicationInsightsArgs.builder()\n                .instrumentationKey(exampleInsights.instrumentationKey())\n                .build())\n            .build());\n\n        var exampleDiagnostic = new Diagnostic(\"exampleDiagnostic\", DiagnosticArgs.builder()\n            .identifier(\"applicationinsights\")\n            .resourceGroupName(example.name())\n            .apiManagementName(exampleService.name())\n            .apiManagementLoggerId(exampleLogger.id())\n            .samplingPercentage(5.0)\n            .alwaysLogErrors(true)\n            .logClientIp(true)\n            .verbosity(\"verbose\")\n            .httpCorrelationProtocol(\"W3C\")\n            .frontendRequest(DiagnosticFrontendRequestArgs.builder()\n                .bodyBytes(32)\n                .headersToLogs(                \n                    \"content-type\",\n                    \"accept\",\n                    \"origin\")\n                .build())\n            .frontendResponse(DiagnosticFrontendResponseArgs.builder()\n                .bodyBytes(32)\n                .headersToLogs(                \n                    \"content-type\",\n                    \"content-length\",\n                    \"origin\")\n                .build())\n            .backendRequest(DiagnosticBackendRequestArgs.builder()\n                .bodyBytes(32)\n                .headersToLogs(                \n                    \"content-type\",\n                    \"accept\",\n                    \"origin\")\n                .build())\n            .backendResponse(DiagnosticBackendResponseArgs.builder()\n                .bodyBytes(32)\n                .headersToLogs(                \n                    \"content-type\",\n                    \"content-length\",\n                    \"origin\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleInsights:\n    type: azure:appinsights:Insights\n    name: example\n    properties:\n      name: example-appinsights\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      applicationType: web\n  exampleService:\n    type: azure:apimanagement:Service\n    name: example\n    properties:\n      name: example-apim\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      publisherName: My Company\n      publisherEmail: company@mycompany.io\n      skuName: Developer_1\n  exampleLogger:\n    type: azure:apimanagement:Logger\n    name: example\n    properties:\n      name: example-apimlogger\n      apiManagementName: ${exampleService.name}\n      resourceGroupName: ${example.name}\n      applicationInsights:\n        instrumentationKey: ${exampleInsights.instrumentationKey}\n  exampleDiagnostic:\n    type: azure:apimanagement:Diagnostic\n    name: example\n    properties:\n      identifier: applicationinsights\n      resourceGroupName: ${example.name}\n      apiManagementName: ${exampleService.name}\n      apiManagementLoggerId: ${exampleLogger.id}\n      samplingPercentage: 5\n      alwaysLogErrors: true\n      logClientIp: true\n      verbosity: verbose\n      httpCorrelationProtocol: W3C\n      frontendRequest:\n        bodyBytes: 32\n        headersToLogs:\n          - content-type\n          - accept\n          - origin\n      frontendResponse:\n        bodyBytes: 32\n        headersToLogs:\n          - content-type\n          - content-length\n          - origin\n      backendRequest:\n        bodyBytes: 32\n        headersToLogs:\n          - content-type\n          - accept\n          - origin\n      backendResponse:\n        bodyBytes: 32\n        headersToLogs:\n          - content-type\n          - content-length\n          - origin\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.ApiManagement` - 2022-08-01\n\n## Import\n\nAPI Management Diagnostics can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:apimanagement/diagnostic:Diagnostic example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.ApiManagement/service/instance1/diagnostics/applicationinsights\n```\n\n","properties":{"alwaysLogErrors":{"type":"boolean","description":"Always log errors. Send telemetry if there is an erroneous condition, regardless of sampling settings.\n"},"apiManagementLoggerId":{"type":"string","description":"The id of the target API Management Logger where the API Management Diagnostic should be saved.\n"},"apiManagementName":{"type":"string","description":"The Name of the API Management Service where this Diagnostic should be created. Changing this forces a new resource to be created.\n"},"backendRequest":{"$ref":"#/types/azure:apimanagement/DiagnosticBackendRequest:DiagnosticBackendRequest","description":"A \u003cspan pulumi-lang-nodejs=\"`backendRequest`\" pulumi-lang-dotnet=\"`BackendRequest`\" pulumi-lang-go=\"`backendRequest`\" pulumi-lang-python=\"`backend_request`\" pulumi-lang-yaml=\"`backendRequest`\" pulumi-lang-java=\"`backendRequest`\"\u003e`backend_request`\u003c/span\u003e block as defined below.\n"},"backendResponse":{"$ref":"#/types/azure:apimanagement/DiagnosticBackendResponse:DiagnosticBackendResponse","description":"A \u003cspan pulumi-lang-nodejs=\"`backendResponse`\" pulumi-lang-dotnet=\"`BackendResponse`\" pulumi-lang-go=\"`backendResponse`\" pulumi-lang-python=\"`backend_response`\" pulumi-lang-yaml=\"`backendResponse`\" pulumi-lang-java=\"`backendResponse`\"\u003e`backend_response`\u003c/span\u003e block as defined below.\n"},"frontendRequest":{"$ref":"#/types/azure:apimanagement/DiagnosticFrontendRequest:DiagnosticFrontendRequest","description":"A \u003cspan pulumi-lang-nodejs=\"`frontendRequest`\" pulumi-lang-dotnet=\"`FrontendRequest`\" pulumi-lang-go=\"`frontendRequest`\" pulumi-lang-python=\"`frontend_request`\" pulumi-lang-yaml=\"`frontendRequest`\" pulumi-lang-java=\"`frontendRequest`\"\u003e`frontend_request`\u003c/span\u003e block as defined below.\n"},"frontendResponse":{"$ref":"#/types/azure:apimanagement/DiagnosticFrontendResponse:DiagnosticFrontendResponse","description":"A \u003cspan pulumi-lang-nodejs=\"`frontendResponse`\" pulumi-lang-dotnet=\"`FrontendResponse`\" pulumi-lang-go=\"`frontendResponse`\" pulumi-lang-python=\"`frontend_response`\" pulumi-lang-yaml=\"`frontendResponse`\" pulumi-lang-java=\"`frontendResponse`\"\u003e`frontend_response`\u003c/span\u003e block as defined below.\n"},"httpCorrelationProtocol":{"type":"string","description":"The HTTP Correlation Protocol to use. Possible values are `None`, `Legacy` or `W3C`.\n"},"identifier":{"type":"string","description":"The diagnostic identifier for the API Management Service. At this time the supported values are \u003cspan pulumi-lang-nodejs=\"`applicationinsights`\" pulumi-lang-dotnet=\"`Applicationinsights`\" pulumi-lang-go=\"`applicationinsights`\" pulumi-lang-python=\"`applicationinsights`\" pulumi-lang-yaml=\"`applicationinsights`\" pulumi-lang-java=\"`applicationinsights`\"\u003e`applicationinsights`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`azuremonitor`\" pulumi-lang-dotnet=\"`Azuremonitor`\" pulumi-lang-go=\"`azuremonitor`\" pulumi-lang-python=\"`azuremonitor`\" pulumi-lang-yaml=\"`azuremonitor`\" pulumi-lang-java=\"`azuremonitor`\"\u003e`azuremonitor`\u003c/span\u003e. Changing this forces a new resource to be created.\n"},"logClientIp":{"type":"boolean","description":"Log client IP address.\n"},"operationNameFormat":{"type":"string","description":"The format of the Operation Name for Application Insights telemetries. Possible values are `Name`, and `Url`.\n"},"resourceGroupName":{"type":"string","description":"The Name of the Resource Group where the API Management Service exists. Changing this forces a new resource to be created.\n"},"samplingPercentage":{"type":"number","description":"Sampling (%). For high traffic APIs, please read this [documentation](https://docs.microsoft.com/azure/api-management/api-management-howto-app-insights#performance-implications-and-log-sampling) to understand performance implications and log sampling. Valid values are between `0.0` and `100.0`.\n"},"verbosity":{"type":"string","description":"Logging verbosity. Possible values are \u003cspan pulumi-lang-nodejs=\"`verbose`\" pulumi-lang-dotnet=\"`Verbose`\" pulumi-lang-go=\"`verbose`\" pulumi-lang-python=\"`verbose`\" pulumi-lang-yaml=\"`verbose`\" pulumi-lang-java=\"`verbose`\"\u003e`verbose`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`information`\" pulumi-lang-dotnet=\"`Information`\" pulumi-lang-go=\"`information`\" pulumi-lang-python=\"`information`\" pulumi-lang-yaml=\"`information`\" pulumi-lang-java=\"`information`\"\u003e`information`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`error`\" pulumi-lang-dotnet=\"`Error`\" pulumi-lang-go=\"`error`\" pulumi-lang-python=\"`error`\" pulumi-lang-yaml=\"`error`\" pulumi-lang-java=\"`error`\"\u003e`error`\u003c/span\u003e.\n"}},"required":["alwaysLogErrors","apiManagementLoggerId","apiManagementName","backendRequest","backendResponse","frontendRequest","frontendResponse","httpCorrelationProtocol","identifier","logClientIp","resourceGroupName","samplingPercentage","verbosity"],"inputProperties":{"alwaysLogErrors":{"type":"boolean","description":"Always log errors. Send telemetry if there is an erroneous condition, regardless of sampling settings.\n"},"apiManagementLoggerId":{"type":"string","description":"The id of the target API Management Logger where the API Management Diagnostic should be saved.\n"},"apiManagementName":{"type":"string","description":"The Name of the API Management Service where this Diagnostic should be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"backendRequest":{"$ref":"#/types/azure:apimanagement/DiagnosticBackendRequest:DiagnosticBackendRequest","description":"A \u003cspan pulumi-lang-nodejs=\"`backendRequest`\" pulumi-lang-dotnet=\"`BackendRequest`\" pulumi-lang-go=\"`backendRequest`\" pulumi-lang-python=\"`backend_request`\" pulumi-lang-yaml=\"`backendRequest`\" pulumi-lang-java=\"`backendRequest`\"\u003e`backend_request`\u003c/span\u003e block as defined below.\n"},"backendResponse":{"$ref":"#/types/azure:apimanagement/DiagnosticBackendResponse:DiagnosticBackendResponse","description":"A \u003cspan pulumi-lang-nodejs=\"`backendResponse`\" pulumi-lang-dotnet=\"`BackendResponse`\" pulumi-lang-go=\"`backendResponse`\" pulumi-lang-python=\"`backend_response`\" pulumi-lang-yaml=\"`backendResponse`\" pulumi-lang-java=\"`backendResponse`\"\u003e`backend_response`\u003c/span\u003e block as defined below.\n"},"frontendRequest":{"$ref":"#/types/azure:apimanagement/DiagnosticFrontendRequest:DiagnosticFrontendRequest","description":"A \u003cspan pulumi-lang-nodejs=\"`frontendRequest`\" pulumi-lang-dotnet=\"`FrontendRequest`\" pulumi-lang-go=\"`frontendRequest`\" pulumi-lang-python=\"`frontend_request`\" pulumi-lang-yaml=\"`frontendRequest`\" pulumi-lang-java=\"`frontendRequest`\"\u003e`frontend_request`\u003c/span\u003e block as defined below.\n"},"frontendResponse":{"$ref":"#/types/azure:apimanagement/DiagnosticFrontendResponse:DiagnosticFrontendResponse","description":"A \u003cspan pulumi-lang-nodejs=\"`frontendResponse`\" pulumi-lang-dotnet=\"`FrontendResponse`\" pulumi-lang-go=\"`frontendResponse`\" pulumi-lang-python=\"`frontend_response`\" pulumi-lang-yaml=\"`frontendResponse`\" pulumi-lang-java=\"`frontendResponse`\"\u003e`frontend_response`\u003c/span\u003e block as defined below.\n"},"httpCorrelationProtocol":{"type":"string","description":"The HTTP Correlation Protocol to use. Possible values are `None`, `Legacy` or `W3C`.\n"},"identifier":{"type":"string","description":"The diagnostic identifier for the API Management Service. At this time the supported values are \u003cspan pulumi-lang-nodejs=\"`applicationinsights`\" pulumi-lang-dotnet=\"`Applicationinsights`\" pulumi-lang-go=\"`applicationinsights`\" pulumi-lang-python=\"`applicationinsights`\" pulumi-lang-yaml=\"`applicationinsights`\" pulumi-lang-java=\"`applicationinsights`\"\u003e`applicationinsights`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`azuremonitor`\" pulumi-lang-dotnet=\"`Azuremonitor`\" pulumi-lang-go=\"`azuremonitor`\" pulumi-lang-python=\"`azuremonitor`\" pulumi-lang-yaml=\"`azuremonitor`\" pulumi-lang-java=\"`azuremonitor`\"\u003e`azuremonitor`\u003c/span\u003e. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"logClientIp":{"type":"boolean","description":"Log client IP address.\n"},"operationNameFormat":{"type":"string","description":"The format of the Operation Name for Application Insights telemetries. Possible values are `Name`, and `Url`.\n"},"resourceGroupName":{"type":"string","description":"The Name of the Resource Group where the API Management Service exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"samplingPercentage":{"type":"number","description":"Sampling (%). For high traffic APIs, please read this [documentation](https://docs.microsoft.com/azure/api-management/api-management-howto-app-insights#performance-implications-and-log-sampling) to understand performance implications and log sampling. Valid values are between `0.0` and `100.0`.\n"},"verbosity":{"type":"string","description":"Logging verbosity. Possible values are \u003cspan pulumi-lang-nodejs=\"`verbose`\" pulumi-lang-dotnet=\"`Verbose`\" pulumi-lang-go=\"`verbose`\" pulumi-lang-python=\"`verbose`\" pulumi-lang-yaml=\"`verbose`\" pulumi-lang-java=\"`verbose`\"\u003e`verbose`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`information`\" pulumi-lang-dotnet=\"`Information`\" pulumi-lang-go=\"`information`\" pulumi-lang-python=\"`information`\" pulumi-lang-yaml=\"`information`\" pulumi-lang-java=\"`information`\"\u003e`information`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`error`\" pulumi-lang-dotnet=\"`Error`\" pulumi-lang-go=\"`error`\" pulumi-lang-python=\"`error`\" pulumi-lang-yaml=\"`error`\" pulumi-lang-java=\"`error`\"\u003e`error`\u003c/span\u003e.\n"}},"requiredInputs":["apiManagementLoggerId","apiManagementName","identifier","resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering Diagnostic resources.\n","properties":{"alwaysLogErrors":{"type":"boolean","description":"Always log errors. Send telemetry if there is an erroneous condition, regardless of sampling settings.\n"},"apiManagementLoggerId":{"type":"string","description":"The id of the target API Management Logger where the API Management Diagnostic should be saved.\n"},"apiManagementName":{"type":"string","description":"The Name of the API Management Service where this Diagnostic should be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"backendRequest":{"$ref":"#/types/azure:apimanagement/DiagnosticBackendRequest:DiagnosticBackendRequest","description":"A \u003cspan pulumi-lang-nodejs=\"`backendRequest`\" pulumi-lang-dotnet=\"`BackendRequest`\" pulumi-lang-go=\"`backendRequest`\" pulumi-lang-python=\"`backend_request`\" pulumi-lang-yaml=\"`backendRequest`\" pulumi-lang-java=\"`backendRequest`\"\u003e`backend_request`\u003c/span\u003e block as defined below.\n"},"backendResponse":{"$ref":"#/types/azure:apimanagement/DiagnosticBackendResponse:DiagnosticBackendResponse","description":"A \u003cspan pulumi-lang-nodejs=\"`backendResponse`\" pulumi-lang-dotnet=\"`BackendResponse`\" pulumi-lang-go=\"`backendResponse`\" pulumi-lang-python=\"`backend_response`\" pulumi-lang-yaml=\"`backendResponse`\" pulumi-lang-java=\"`backendResponse`\"\u003e`backend_response`\u003c/span\u003e block as defined below.\n"},"frontendRequest":{"$ref":"#/types/azure:apimanagement/DiagnosticFrontendRequest:DiagnosticFrontendRequest","description":"A \u003cspan pulumi-lang-nodejs=\"`frontendRequest`\" pulumi-lang-dotnet=\"`FrontendRequest`\" pulumi-lang-go=\"`frontendRequest`\" pulumi-lang-python=\"`frontend_request`\" pulumi-lang-yaml=\"`frontendRequest`\" pulumi-lang-java=\"`frontendRequest`\"\u003e`frontend_request`\u003c/span\u003e block as defined below.\n"},"frontendResponse":{"$ref":"#/types/azure:apimanagement/DiagnosticFrontendResponse:DiagnosticFrontendResponse","description":"A \u003cspan pulumi-lang-nodejs=\"`frontendResponse`\" pulumi-lang-dotnet=\"`FrontendResponse`\" pulumi-lang-go=\"`frontendResponse`\" pulumi-lang-python=\"`frontend_response`\" pulumi-lang-yaml=\"`frontendResponse`\" pulumi-lang-java=\"`frontendResponse`\"\u003e`frontend_response`\u003c/span\u003e block as defined below.\n"},"httpCorrelationProtocol":{"type":"string","description":"The HTTP Correlation Protocol to use. Possible values are `None`, `Legacy` or `W3C`.\n"},"identifier":{"type":"string","description":"The diagnostic identifier for the API Management Service. At this time the supported values are \u003cspan pulumi-lang-nodejs=\"`applicationinsights`\" pulumi-lang-dotnet=\"`Applicationinsights`\" pulumi-lang-go=\"`applicationinsights`\" pulumi-lang-python=\"`applicationinsights`\" pulumi-lang-yaml=\"`applicationinsights`\" pulumi-lang-java=\"`applicationinsights`\"\u003e`applicationinsights`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`azuremonitor`\" pulumi-lang-dotnet=\"`Azuremonitor`\" pulumi-lang-go=\"`azuremonitor`\" pulumi-lang-python=\"`azuremonitor`\" pulumi-lang-yaml=\"`azuremonitor`\" pulumi-lang-java=\"`azuremonitor`\"\u003e`azuremonitor`\u003c/span\u003e. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"logClientIp":{"type":"boolean","description":"Log client IP address.\n"},"operationNameFormat":{"type":"string","description":"The format of the Operation Name for Application Insights telemetries. Possible values are `Name`, and `Url`.\n"},"resourceGroupName":{"type":"string","description":"The Name of the Resource Group where the API Management Service exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"samplingPercentage":{"type":"number","description":"Sampling (%). For high traffic APIs, please read this [documentation](https://docs.microsoft.com/azure/api-management/api-management-howto-app-insights#performance-implications-and-log-sampling) to understand performance implications and log sampling. Valid values are between `0.0` and `100.0`.\n"},"verbosity":{"type":"string","description":"Logging verbosity. Possible values are \u003cspan pulumi-lang-nodejs=\"`verbose`\" pulumi-lang-dotnet=\"`Verbose`\" pulumi-lang-go=\"`verbose`\" pulumi-lang-python=\"`verbose`\" pulumi-lang-yaml=\"`verbose`\" pulumi-lang-java=\"`verbose`\"\u003e`verbose`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`information`\" pulumi-lang-dotnet=\"`Information`\" pulumi-lang-go=\"`information`\" pulumi-lang-python=\"`information`\" pulumi-lang-yaml=\"`information`\" pulumi-lang-java=\"`information`\"\u003e`information`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`error`\" pulumi-lang-dotnet=\"`Error`\" pulumi-lang-go=\"`error`\" pulumi-lang-python=\"`error`\" pulumi-lang-yaml=\"`error`\" pulumi-lang-java=\"`error`\"\u003e`error`\u003c/span\u003e.\n"}},"type":"object"}},"azure:apimanagement/emailTemplate:EmailTemplate":{"description":"Manages a API Management Email Template.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleService = new azure.apimanagement.Service(\"example\", {\n    name: \"example-apim\",\n    location: example.location,\n    resourceGroupName: example.name,\n    publisherName: \"My Company\",\n    publisherEmail: \"company@terraform.io\",\n    skuName: \"Developer_1\",\n});\nconst exampleEmailTemplate = new azure.apimanagement.EmailTemplate(\"example\", {\n    templateName: \"ConfirmSignUpIdentityDefault\",\n    resourceGroupName: example.name,\n    apiManagementName: exampleService.name,\n    subject: \"Customized confirmation email for your new $OrganizationName API account\",\n    body: `\u003c!DOCTYPE html \u003e\n\u003chtml\u003e\n\u003chead\u003e\n  \u003cmeta charset=\\\\\"UTF-8\\\\\" /\u003e\n  \u003ctitle\u003eCustomized Letter Title\u003c/title\u003e\n\u003c/head\u003e\n\u003cbody\u003e\n  \u003cp style=\\\\\"font-size:12pt;font-family:'Segoe UI'\\\\\"\u003eDear DevFirstName DevLastName,\u003c/p\u003e\n\u003c/body\u003e\n\u003c/html\u003e\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_service = azure.apimanagement.Service(\"example\",\n    name=\"example-apim\",\n    location=example.location,\n    resource_group_name=example.name,\n    publisher_name=\"My Company\",\n    publisher_email=\"company@terraform.io\",\n    sku_name=\"Developer_1\")\nexample_email_template = azure.apimanagement.EmailTemplate(\"example\",\n    template_name=\"ConfirmSignUpIdentityDefault\",\n    resource_group_name=example.name,\n    api_management_name=example_service.name,\n    subject=\"Customized confirmation email for your new $OrganizationName API account\",\n    body=\"\"\"\u003c!DOCTYPE html \u003e\n\u003chtml\u003e\n\u003chead\u003e\n  \u003cmeta charset=\\\"UTF-8\\\" /\u003e\n  \u003ctitle\u003eCustomized Letter Title\u003c/title\u003e\n\u003c/head\u003e\n\u003cbody\u003e\n  \u003cp style=\\\"font-size:12pt;font-family:'Segoe UI'\\\"\u003eDear $DevFirstName $DevLastName,\u003c/p\u003e\n\u003c/body\u003e\n\u003c/html\u003e\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleService = new Azure.ApiManagement.Service(\"example\", new()\n    {\n        Name = \"example-apim\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        PublisherName = \"My Company\",\n        PublisherEmail = \"company@terraform.io\",\n        SkuName = \"Developer_1\",\n    });\n\n    var exampleEmailTemplate = new Azure.ApiManagement.EmailTemplate(\"example\", new()\n    {\n        TemplateName = \"ConfirmSignUpIdentityDefault\",\n        ResourceGroupName = example.Name,\n        ApiManagementName = exampleService.Name,\n        Subject = \"Customized confirmation email for your new $OrganizationName API account\",\n        Body = @\"\u003c!DOCTYPE html \u003e\n\u003chtml\u003e\n\u003chead\u003e\n  \u003cmeta charset=\\\"\"UTF-8\\\"\" /\u003e\n  \u003ctitle\u003eCustomized Letter Title\u003c/title\u003e\n\u003c/head\u003e\n\u003cbody\u003e\n  \u003cp style=\\\"\"font-size:12pt;font-family:'Segoe UI'\\\"\"\u003eDear $DevFirstName $DevLastName,\u003c/p\u003e\n\u003c/body\u003e\n\u003c/html\u003e\n\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/apimanagement\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleService, err := apimanagement.NewService(ctx, \"example\", \u0026apimanagement.ServiceArgs{\n\t\t\tName:              pulumi.String(\"example-apim\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tPublisherName:     pulumi.String(\"My Company\"),\n\t\t\tPublisherEmail:    pulumi.String(\"company@terraform.io\"),\n\t\t\tSkuName:           pulumi.String(\"Developer_1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = apimanagement.NewEmailTemplate(ctx, \"example\", \u0026apimanagement.EmailTemplateArgs{\n\t\t\tTemplateName:      pulumi.String(\"ConfirmSignUpIdentityDefault\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tApiManagementName: exampleService.Name,\n\t\t\tSubject:           pulumi.String(\"Customized confirmation email for your new $OrganizationName API account\"),\n\t\t\tBody: pulumi.String(`\u003c!DOCTYPE html \u003e\n\u003chtml\u003e\n\u003chead\u003e\n  \u003cmeta charset=\\\"UTF-8\\\" /\u003e\n  \u003ctitle\u003eCustomized Letter Title\u003c/title\u003e\n\u003c/head\u003e\n\u003cbody\u003e\n  \u003cp style=\\\"font-size:12pt;font-family:'Segoe UI'\\\"\u003eDear $DevFirstName $DevLastName,\u003c/p\u003e\n\u003c/body\u003e\n\u003c/html\u003e\n`),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.apimanagement.Service;\nimport com.pulumi.azure.apimanagement.ServiceArgs;\nimport com.pulumi.azure.apimanagement.EmailTemplate;\nimport com.pulumi.azure.apimanagement.EmailTemplateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleService = new Service(\"exampleService\", ServiceArgs.builder()\n            .name(\"example-apim\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .publisherName(\"My Company\")\n            .publisherEmail(\"company@terraform.io\")\n            .skuName(\"Developer_1\")\n            .build());\n\n        var exampleEmailTemplate = new EmailTemplate(\"exampleEmailTemplate\", EmailTemplateArgs.builder()\n            .templateName(\"ConfirmSignUpIdentityDefault\")\n            .resourceGroupName(example.name())\n            .apiManagementName(exampleService.name())\n            .subject(\"Customized confirmation email for your new $OrganizationName API account\")\n            .body(\"\"\"\n\u003c!DOCTYPE html \u003e\n\u003chtml\u003e\n\u003chead\u003e\n  \u003cmeta charset=\\\"UTF-8\\\" /\u003e\n  \u003ctitle\u003eCustomized Letter Title\u003c/title\u003e\n\u003c/head\u003e\n\u003cbody\u003e\n  \u003cp style=\\\"font-size:12pt;font-family:'Segoe UI'\\\"\u003eDear $DevFirstName $DevLastName,\u003c/p\u003e\n\u003c/body\u003e\n\u003c/html\u003e\n            \"\"\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleService:\n    type: azure:apimanagement:Service\n    name: example\n    properties:\n      name: example-apim\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      publisherName: My Company\n      publisherEmail: company@terraform.io\n      skuName: Developer_1\n  exampleEmailTemplate:\n    type: azure:apimanagement:EmailTemplate\n    name: example\n    properties:\n      templateName: ConfirmSignUpIdentityDefault\n      resourceGroupName: ${example.name}\n      apiManagementName: ${exampleService.name}\n      subject: Customized confirmation email for your new $OrganizationName API account\n      body: |\n        \u003c!DOCTYPE html \u003e\n        \u003chtml\u003e\n        \u003chead\u003e\n          \u003cmeta charset=\\\"UTF-8\\\" /\u003e\n          \u003ctitle\u003eCustomized Letter Title\u003c/title\u003e\n        \u003c/head\u003e\n        \u003cbody\u003e\n          \u003cp style=\\\"font-size:12pt;font-family:'Segoe UI'\\\"\u003eDear $DevFirstName $DevLastName,\u003c/p\u003e\n        \u003c/body\u003e\n        \u003c/html\u003e\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.ApiManagement` - 2022-08-01\n\n## Import\n\nAPI Management Email Templates can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:apimanagement/emailTemplate:EmailTemplate example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.ApiManagement/service/instance1/templates/template1\n```\n\n","properties":{"apiManagementName":{"type":"string","description":"The name of the API Management Service in which the Email Template should exist. Changing this forces a new API Management Email Template to be created.\n"},"body":{"type":"string","description":"The body of the Email. Its format has to be a well-formed HTML document.\n\n\u003e **Note:** In \u003cspan pulumi-lang-nodejs=\"`subject`\" pulumi-lang-dotnet=\"`Subject`\" pulumi-lang-go=\"`subject`\" pulumi-lang-python=\"`subject`\" pulumi-lang-yaml=\"`subject`\" pulumi-lang-java=\"`subject`\"\u003e`subject`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`body`\" pulumi-lang-dotnet=\"`Body`\" pulumi-lang-go=\"`body`\" pulumi-lang-python=\"`body`\" pulumi-lang-yaml=\"`body`\" pulumi-lang-java=\"`body`\"\u003e`body`\u003c/span\u003e predefined parameters can be used. The available parameters depend on the template. Schema to use a parameter: `$` followed by the `parameter.name` - `$\u003cparameter.name\u003e`. The available parameters can be seen in the Notification templates section of the API-Management Service instance within the Azure Portal.\n"},"description":{"type":"string","description":"The description of the Email Template.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the API Management Email Template should exist. Changing this forces a new API Management Email Template to be created.\n"},"subject":{"type":"string","description":"The subject of the Email.\n"},"templateName":{"type":"string","description":"The name of the Email Template. Possible values are `AccountClosedDeveloper`, `ApplicationApprovedNotificationMessage`, `ConfirmSignUpIdentityDefault`, `EmailChangeIdentityDefault`, `InviteUserNotificationMessage`, `NewCommentNotificationMessage`, `NewDeveloperNotificationMessage`, `NewIssueNotificationMessage`, `PasswordResetByAdminNotificationMessage`, `PasswordResetIdentityDefault`, `PurchaseDeveloperNotificationMessage`, `QuotaLimitApproachingDeveloperNotificationMessage`, `RejectDeveloperNotificationMessage`, `RequestDeveloperNotificationMessage`. Changing this forces a new API Management Email Template to be created.\n"},"title":{"type":"string","description":"The title of the Email Template.\n"}},"required":["apiManagementName","body","description","resourceGroupName","subject","templateName","title"],"inputProperties":{"apiManagementName":{"type":"string","description":"The name of the API Management Service in which the Email Template should exist. Changing this forces a new API Management Email Template to be created.\n","willReplaceOnChanges":true},"body":{"type":"string","description":"The body of the Email. Its format has to be a well-formed HTML document.\n\n\u003e **Note:** In \u003cspan pulumi-lang-nodejs=\"`subject`\" pulumi-lang-dotnet=\"`Subject`\" pulumi-lang-go=\"`subject`\" pulumi-lang-python=\"`subject`\" pulumi-lang-yaml=\"`subject`\" pulumi-lang-java=\"`subject`\"\u003e`subject`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`body`\" pulumi-lang-dotnet=\"`Body`\" pulumi-lang-go=\"`body`\" pulumi-lang-python=\"`body`\" pulumi-lang-yaml=\"`body`\" pulumi-lang-java=\"`body`\"\u003e`body`\u003c/span\u003e predefined parameters can be used. The available parameters depend on the template. Schema to use a parameter: `$` followed by the `parameter.name` - `$\u003cparameter.name\u003e`. The available parameters can be seen in the Notification templates section of the API-Management Service instance within the Azure Portal.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the API Management Email Template should exist. Changing this forces a new API Management Email Template to be created.\n","willReplaceOnChanges":true},"subject":{"type":"string","description":"The subject of the Email.\n"},"templateName":{"type":"string","description":"The name of the Email Template. Possible values are `AccountClosedDeveloper`, `ApplicationApprovedNotificationMessage`, `ConfirmSignUpIdentityDefault`, `EmailChangeIdentityDefault`, `InviteUserNotificationMessage`, `NewCommentNotificationMessage`, `NewDeveloperNotificationMessage`, `NewIssueNotificationMessage`, `PasswordResetByAdminNotificationMessage`, `PasswordResetIdentityDefault`, `PurchaseDeveloperNotificationMessage`, `QuotaLimitApproachingDeveloperNotificationMessage`, `RejectDeveloperNotificationMessage`, `RequestDeveloperNotificationMessage`. Changing this forces a new API Management Email Template to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["apiManagementName","body","resourceGroupName","subject","templateName"],"stateInputs":{"description":"Input properties used for looking up and filtering EmailTemplate resources.\n","properties":{"apiManagementName":{"type":"string","description":"The name of the API Management Service in which the Email Template should exist. Changing this forces a new API Management Email Template to be created.\n","willReplaceOnChanges":true},"body":{"type":"string","description":"The body of the Email. Its format has to be a well-formed HTML document.\n\n\u003e **Note:** In \u003cspan pulumi-lang-nodejs=\"`subject`\" pulumi-lang-dotnet=\"`Subject`\" pulumi-lang-go=\"`subject`\" pulumi-lang-python=\"`subject`\" pulumi-lang-yaml=\"`subject`\" pulumi-lang-java=\"`subject`\"\u003e`subject`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`body`\" pulumi-lang-dotnet=\"`Body`\" pulumi-lang-go=\"`body`\" pulumi-lang-python=\"`body`\" pulumi-lang-yaml=\"`body`\" pulumi-lang-java=\"`body`\"\u003e`body`\u003c/span\u003e predefined parameters can be used. The available parameters depend on the template. Schema to use a parameter: `$` followed by the `parameter.name` - `$\u003cparameter.name\u003e`. The available parameters can be seen in the Notification templates section of the API-Management Service instance within the Azure Portal.\n"},"description":{"type":"string","description":"The description of the Email Template.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the API Management Email Template should exist. Changing this forces a new API Management Email Template to be created.\n","willReplaceOnChanges":true},"subject":{"type":"string","description":"The subject of the Email.\n"},"templateName":{"type":"string","description":"The name of the Email Template. Possible values are `AccountClosedDeveloper`, `ApplicationApprovedNotificationMessage`, `ConfirmSignUpIdentityDefault`, `EmailChangeIdentityDefault`, `InviteUserNotificationMessage`, `NewCommentNotificationMessage`, `NewDeveloperNotificationMessage`, `NewIssueNotificationMessage`, `PasswordResetByAdminNotificationMessage`, `PasswordResetIdentityDefault`, `PurchaseDeveloperNotificationMessage`, `QuotaLimitApproachingDeveloperNotificationMessage`, `RejectDeveloperNotificationMessage`, `RequestDeveloperNotificationMessage`. Changing this forces a new API Management Email Template to be created.\n","willReplaceOnChanges":true},"title":{"type":"string","description":"The title of the Email Template.\n"}},"type":"object"}},"azure:apimanagement/gateway:Gateway":{"description":"Manages an API Management Gateway.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleService = new azure.apimanagement.Service(\"example\", {\n    name: \"example-apim\",\n    location: example.location,\n    resourceGroupName: example.name,\n    publisherName: \"pub1\",\n    publisherEmail: \"pub1@email.com\",\n    skuName: \"Consumption_0\",\n});\nconst exampleGateway = new azure.apimanagement.Gateway(\"example\", {\n    name: \"example-gateway\",\n    apiManagementId: exampleService.id,\n    description: \"Example API Management gateway\",\n    locationData: {\n        name: \"example name\",\n        city: \"example city\",\n        district: \"example district\",\n        region: \"example region\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_service = azure.apimanagement.Service(\"example\",\n    name=\"example-apim\",\n    location=example.location,\n    resource_group_name=example.name,\n    publisher_name=\"pub1\",\n    publisher_email=\"pub1@email.com\",\n    sku_name=\"Consumption_0\")\nexample_gateway = azure.apimanagement.Gateway(\"example\",\n    name=\"example-gateway\",\n    api_management_id=example_service.id,\n    description=\"Example API Management gateway\",\n    location_data={\n        \"name\": \"example name\",\n        \"city\": \"example city\",\n        \"district\": \"example district\",\n        \"region\": \"example region\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleService = new Azure.ApiManagement.Service(\"example\", new()\n    {\n        Name = \"example-apim\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        PublisherName = \"pub1\",\n        PublisherEmail = \"pub1@email.com\",\n        SkuName = \"Consumption_0\",\n    });\n\n    var exampleGateway = new Azure.ApiManagement.Gateway(\"example\", new()\n    {\n        Name = \"example-gateway\",\n        ApiManagementId = exampleService.Id,\n        Description = \"Example API Management gateway\",\n        LocationData = new Azure.ApiManagement.Inputs.GatewayLocationDataArgs\n        {\n            Name = \"example name\",\n            City = \"example city\",\n            District = \"example district\",\n            Region = \"example region\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/apimanagement\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleService, err := apimanagement.NewService(ctx, \"example\", \u0026apimanagement.ServiceArgs{\n\t\t\tName:              pulumi.String(\"example-apim\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tPublisherName:     pulumi.String(\"pub1\"),\n\t\t\tPublisherEmail:    pulumi.String(\"pub1@email.com\"),\n\t\t\tSkuName:           pulumi.String(\"Consumption_0\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = apimanagement.NewGateway(ctx, \"example\", \u0026apimanagement.GatewayArgs{\n\t\t\tName:            pulumi.String(\"example-gateway\"),\n\t\t\tApiManagementId: exampleService.ID(),\n\t\t\tDescription:     pulumi.String(\"Example API Management gateway\"),\n\t\t\tLocationData: \u0026apimanagement.GatewayLocationDataArgs{\n\t\t\t\tName:     pulumi.String(\"example name\"),\n\t\t\t\tCity:     pulumi.String(\"example city\"),\n\t\t\t\tDistrict: pulumi.String(\"example district\"),\n\t\t\t\tRegion:   pulumi.String(\"example region\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.apimanagement.Service;\nimport com.pulumi.azure.apimanagement.ServiceArgs;\nimport com.pulumi.azure.apimanagement.Gateway;\nimport com.pulumi.azure.apimanagement.GatewayArgs;\nimport com.pulumi.azure.apimanagement.inputs.GatewayLocationDataArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleService = new Service(\"exampleService\", ServiceArgs.builder()\n            .name(\"example-apim\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .publisherName(\"pub1\")\n            .publisherEmail(\"pub1@email.com\")\n            .skuName(\"Consumption_0\")\n            .build());\n\n        var exampleGateway = new Gateway(\"exampleGateway\", GatewayArgs.builder()\n            .name(\"example-gateway\")\n            .apiManagementId(exampleService.id())\n            .description(\"Example API Management gateway\")\n            .locationData(GatewayLocationDataArgs.builder()\n                .name(\"example name\")\n                .city(\"example city\")\n                .district(\"example district\")\n                .region(\"example region\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleService:\n    type: azure:apimanagement:Service\n    name: example\n    properties:\n      name: example-apim\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      publisherName: pub1\n      publisherEmail: pub1@email.com\n      skuName: Consumption_0\n  exampleGateway:\n    type: azure:apimanagement:Gateway\n    name: example\n    properties:\n      name: example-gateway\n      apiManagementId: ${exampleService.id}\n      description: Example API Management gateway\n      locationData:\n        name: example name\n        city: example city\n        district: example district\n        region: example region\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.ApiManagement` - 2022-08-01\n\n## Import\n\nAPI Management Gateways can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:apimanagement/gateway:Gateway example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.ApiManagement/service/service1/gateways/gateway1\n```\n\n","properties":{"apiManagementId":{"type":"string","description":"The ID of the API Management Resource in which the gateway will be created. Changing this forces a new API Management Gateway resource to be created.\n"},"description":{"type":"string","description":"The description of the API Management Gateway.\n"},"locationData":{"$ref":"#/types/azure:apimanagement/GatewayLocationData:GatewayLocationData","description":"A \u003cspan pulumi-lang-nodejs=\"`locationData`\" pulumi-lang-dotnet=\"`LocationData`\" pulumi-lang-go=\"`locationData`\" pulumi-lang-python=\"`location_data`\" pulumi-lang-yaml=\"`locationData`\" pulumi-lang-java=\"`locationData`\"\u003e`location_data`\u003c/span\u003e block as documented below.\n"},"name":{"type":"string","description":"The name which should be used for the API Management Gateway. Changing this forces a new API Management Gateway to be created.\n"}},"required":["apiManagementId","locationData","name"],"inputProperties":{"apiManagementId":{"type":"string","description":"The ID of the API Management Resource in which the gateway will be created. Changing this forces a new API Management Gateway resource to be created.\n","willReplaceOnChanges":true},"description":{"type":"string","description":"The description of the API Management Gateway.\n"},"locationData":{"$ref":"#/types/azure:apimanagement/GatewayLocationData:GatewayLocationData","description":"A \u003cspan pulumi-lang-nodejs=\"`locationData`\" pulumi-lang-dotnet=\"`LocationData`\" pulumi-lang-go=\"`locationData`\" pulumi-lang-python=\"`location_data`\" pulumi-lang-yaml=\"`locationData`\" pulumi-lang-java=\"`locationData`\"\u003e`location_data`\u003c/span\u003e block as documented below.\n"},"name":{"type":"string","description":"The name which should be used for the API Management Gateway. Changing this forces a new API Management Gateway to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["apiManagementId","locationData"],"stateInputs":{"description":"Input properties used for looking up and filtering Gateway resources.\n","properties":{"apiManagementId":{"type":"string","description":"The ID of the API Management Resource in which the gateway will be created. Changing this forces a new API Management Gateway resource to be created.\n","willReplaceOnChanges":true},"description":{"type":"string","description":"The description of the API Management Gateway.\n"},"locationData":{"$ref":"#/types/azure:apimanagement/GatewayLocationData:GatewayLocationData","description":"A \u003cspan pulumi-lang-nodejs=\"`locationData`\" pulumi-lang-dotnet=\"`LocationData`\" pulumi-lang-go=\"`locationData`\" pulumi-lang-python=\"`location_data`\" pulumi-lang-yaml=\"`locationData`\" pulumi-lang-java=\"`locationData`\"\u003e`location_data`\u003c/span\u003e block as documented below.\n"},"name":{"type":"string","description":"The name which should be used for the API Management Gateway. Changing this forces a new API Management Gateway to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:apimanagement/gatewayApi:GatewayApi":{"description":"Manages a API Management Gateway API.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.apimanagement.getService({\n    name: \"example-api\",\n    resourceGroupName: \"example-resources\",\n});\nconst exampleGetApi = Promise.all([example, example]).then(([example, example1]) =\u003e azure.apimanagement.getApi({\n    name: \"search-api\",\n    apiManagementName: example.name,\n    resourceGroupName: example1.resourceGroupName,\n    revision: \"2\",\n}));\nconst exampleGetGateway = example.then(example =\u003e azure.apimanagement.getGateway({\n    name: \"example-gateway\",\n    apiManagementId: example.id,\n}));\nconst exampleGatewayApi = new azure.apimanagement.GatewayApi(\"example\", {\n    gatewayId: exampleGetGateway.then(exampleGetGateway =\u003e exampleGetGateway.id),\n    apiId: exampleGetApi.then(exampleGetApi =\u003e exampleGetApi.id),\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.apimanagement.get_service(name=\"example-api\",\n    resource_group_name=\"example-resources\")\nexample_get_api = azure.apimanagement.get_api(name=\"search-api\",\n    api_management_name=example.name,\n    resource_group_name=example.resource_group_name,\n    revision=\"2\")\nexample_get_gateway = azure.apimanagement.get_gateway(name=\"example-gateway\",\n    api_management_id=example.id)\nexample_gateway_api = azure.apimanagement.GatewayApi(\"example\",\n    gateway_id=example_get_gateway.id,\n    api_id=example_get_api.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.ApiManagement.GetService.Invoke(new()\n    {\n        Name = \"example-api\",\n        ResourceGroupName = \"example-resources\",\n    });\n\n    var exampleGetApi = Azure.ApiManagement.GetApi.Invoke(new()\n    {\n        Name = \"search-api\",\n        ApiManagementName = example.Apply(getServiceResult =\u003e getServiceResult.Name),\n        ResourceGroupName = example.Apply(getServiceResult =\u003e getServiceResult.ResourceGroupName),\n        Revision = \"2\",\n    });\n\n    var exampleGetGateway = Azure.ApiManagement.GetGateway.Invoke(new()\n    {\n        Name = \"example-gateway\",\n        ApiManagementId = example.Apply(getServiceResult =\u003e getServiceResult.Id),\n    });\n\n    var exampleGatewayApi = new Azure.ApiManagement.GatewayApi(\"example\", new()\n    {\n        GatewayId = exampleGetGateway.Apply(getGatewayResult =\u003e getGatewayResult.Id),\n        ApiId = exampleGetApi.Apply(getApiResult =\u003e getApiResult.Id),\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/apimanagement\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := apimanagement.LookupService(ctx, \u0026apimanagement.LookupServiceArgs{\n\t\t\tName:              \"example-api\",\n\t\t\tResourceGroupName: \"example-resources\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleGetApi, err := apimanagement.LookupApi(ctx, \u0026apimanagement.LookupApiArgs{\n\t\t\tName:              \"search-api\",\n\t\t\tApiManagementName: example.Name,\n\t\t\tResourceGroupName: example.ResourceGroupName,\n\t\t\tRevision:          \"2\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleGetGateway, err := apimanagement.LookupGateway(ctx, \u0026apimanagement.LookupGatewayArgs{\n\t\t\tName:            \"example-gateway\",\n\t\t\tApiManagementId: example.Id,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = apimanagement.NewGatewayApi(ctx, \"example\", \u0026apimanagement.GatewayApiArgs{\n\t\t\tGatewayId: pulumi.String(exampleGetGateway.Id),\n\t\t\tApiId:     pulumi.String(exampleGetApi.Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.apimanagement.ApimanagementFunctions;\nimport com.pulumi.azure.apimanagement.inputs.GetServiceArgs;\nimport com.pulumi.azure.apimanagement.inputs.GetApiArgs;\nimport com.pulumi.azure.apimanagement.inputs.GetGatewayArgs;\nimport com.pulumi.azure.apimanagement.GatewayApi;\nimport com.pulumi.azure.apimanagement.GatewayApiArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = ApimanagementFunctions.getService(GetServiceArgs.builder()\n            .name(\"example-api\")\n            .resourceGroupName(\"example-resources\")\n            .build());\n\n        final var exampleGetApi = ApimanagementFunctions.getApi(GetApiArgs.builder()\n            .name(\"search-api\")\n            .apiManagementName(example.name())\n            .resourceGroupName(example.resourceGroupName())\n            .revision(\"2\")\n            .build());\n\n        final var exampleGetGateway = ApimanagementFunctions.getGateway(GetGatewayArgs.builder()\n            .name(\"example-gateway\")\n            .apiManagementId(example.id())\n            .build());\n\n        var exampleGatewayApi = new GatewayApi(\"exampleGatewayApi\", GatewayApiArgs.builder()\n            .gatewayId(exampleGetGateway.id())\n            .apiId(exampleGetApi.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleGatewayApi:\n    type: azure:apimanagement:GatewayApi\n    name: example\n    properties:\n      gatewayId: ${exampleGetGateway.id}\n      apiId: ${exampleGetApi.id}\nvariables:\n  example:\n    fn::invoke:\n      function: azure:apimanagement:getService\n      arguments:\n        name: example-api\n        resourceGroupName: example-resources\n  exampleGetApi:\n    fn::invoke:\n      function: azure:apimanagement:getApi\n      arguments:\n        name: search-api\n        apiManagementName: ${example.name}\n        resourceGroupName: ${example.resourceGroupName}\n        revision: '2'\n  exampleGetGateway:\n    fn::invoke:\n      function: azure:apimanagement:getGateway\n      arguments:\n        name: example-gateway\n        apiManagementId: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.ApiManagement` - 2022-08-01\n\n## Import\n\nAPI Management Gateway APIs can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:apimanagement/gatewayApi:GatewayApi example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resGroup1/providers/Microsoft.ApiManagement/service/service1/gateways/gateway1/apis/api1\n```\n\n","properties":{"apiId":{"type":"string","description":"The Identifier of the API Management API within the API Management Service. Changing this forces a new API Management Gateway API to be created.\n"},"gatewayId":{"type":"string","description":"The Identifier for the API Management Gateway. Changing this forces a new API Management Gateway API to be created.\n"}},"required":["apiId","gatewayId"],"inputProperties":{"apiId":{"type":"string","description":"The Identifier of the API Management API within the API Management Service. Changing this forces a new API Management Gateway API to be created.\n","willReplaceOnChanges":true},"gatewayId":{"type":"string","description":"The Identifier for the API Management Gateway. Changing this forces a new API Management Gateway API to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["apiId","gatewayId"],"stateInputs":{"description":"Input properties used for looking up and filtering GatewayApi resources.\n","properties":{"apiId":{"type":"string","description":"The Identifier of the API Management API within the API Management Service. Changing this forces a new API Management Gateway API to be created.\n","willReplaceOnChanges":true},"gatewayId":{"type":"string","description":"The Identifier for the API Management Gateway. Changing this forces a new API Management Gateway API to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:apimanagement/gatewayCertificateAuthority:GatewayCertificateAuthority":{"description":"Manages an API Management Gateway Certificate Authority.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\nimport * as std from \"@pulumi/std\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleService = new azure.apimanagement.Service(\"example\", {\n    name: \"example-apim\",\n    location: example.location,\n    resourceGroupName: example.name,\n    publisherName: \"pub1\",\n    publisherEmail: \"pub1@email.com\",\n    skuName: \"Consumption_0\",\n});\nconst exampleGateway = new azure.apimanagement.Gateway(\"example\", {\n    name: \"example-gateway\",\n    apiManagementId: exampleService.id,\n    description: \"Example API Management gateway\",\n    locationData: {\n        name: \"example name\",\n        city: \"example city\",\n        district: \"example district\",\n        region: \"example region\",\n    },\n});\nconst exampleCertificate = new azure.apimanagement.Certificate(\"example\", {\n    name: \"example-cert\",\n    apiManagementName: exampleService.name,\n    resourceGroupName: example.name,\n    data: std.filebase64({\n        input: \"example.pfx\",\n    }).then(invoke =\u003e invoke.result),\n});\nconst exampleGatewayCertificateAuthority = new azure.apimanagement.GatewayCertificateAuthority(\"example\", {\n    apiManagementId: exampleService.id,\n    certificateName: exampleCertificate.name,\n    gatewayName: exampleGateway.name,\n    isTrusted: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\nimport pulumi_std as std\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_service = azure.apimanagement.Service(\"example\",\n    name=\"example-apim\",\n    location=example.location,\n    resource_group_name=example.name,\n    publisher_name=\"pub1\",\n    publisher_email=\"pub1@email.com\",\n    sku_name=\"Consumption_0\")\nexample_gateway = azure.apimanagement.Gateway(\"example\",\n    name=\"example-gateway\",\n    api_management_id=example_service.id,\n    description=\"Example API Management gateway\",\n    location_data={\n        \"name\": \"example name\",\n        \"city\": \"example city\",\n        \"district\": \"example district\",\n        \"region\": \"example region\",\n    })\nexample_certificate = azure.apimanagement.Certificate(\"example\",\n    name=\"example-cert\",\n    api_management_name=example_service.name,\n    resource_group_name=example.name,\n    data=std.filebase64(input=\"example.pfx\").result)\nexample_gateway_certificate_authority = azure.apimanagement.GatewayCertificateAuthority(\"example\",\n    api_management_id=example_service.id,\n    certificate_name=example_certificate.name,\n    gateway_name=example_gateway.name,\n    is_trusted=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleService = new Azure.ApiManagement.Service(\"example\", new()\n    {\n        Name = \"example-apim\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        PublisherName = \"pub1\",\n        PublisherEmail = \"pub1@email.com\",\n        SkuName = \"Consumption_0\",\n    });\n\n    var exampleGateway = new Azure.ApiManagement.Gateway(\"example\", new()\n    {\n        Name = \"example-gateway\",\n        ApiManagementId = exampleService.Id,\n        Description = \"Example API Management gateway\",\n        LocationData = new Azure.ApiManagement.Inputs.GatewayLocationDataArgs\n        {\n            Name = \"example name\",\n            City = \"example city\",\n            District = \"example district\",\n            Region = \"example region\",\n        },\n    });\n\n    var exampleCertificate = new Azure.ApiManagement.Certificate(\"example\", new()\n    {\n        Name = \"example-cert\",\n        ApiManagementName = exampleService.Name,\n        ResourceGroupName = example.Name,\n        Data = Std.Filebase64.Invoke(new()\n        {\n            Input = \"example.pfx\",\n        }).Apply(invoke =\u003e invoke.Result),\n    });\n\n    var exampleGatewayCertificateAuthority = new Azure.ApiManagement.GatewayCertificateAuthority(\"example\", new()\n    {\n        ApiManagementId = exampleService.Id,\n        CertificateName = exampleCertificate.Name,\n        GatewayName = exampleGateway.Name,\n        IsTrusted = true,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/apimanagement\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleService, err := apimanagement.NewService(ctx, \"example\", \u0026apimanagement.ServiceArgs{\n\t\t\tName:              pulumi.String(\"example-apim\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tPublisherName:     pulumi.String(\"pub1\"),\n\t\t\tPublisherEmail:    pulumi.String(\"pub1@email.com\"),\n\t\t\tSkuName:           pulumi.String(\"Consumption_0\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleGateway, err := apimanagement.NewGateway(ctx, \"example\", \u0026apimanagement.GatewayArgs{\n\t\t\tName:            pulumi.String(\"example-gateway\"),\n\t\t\tApiManagementId: exampleService.ID(),\n\t\t\tDescription:     pulumi.String(\"Example API Management gateway\"),\n\t\t\tLocationData: \u0026apimanagement.GatewayLocationDataArgs{\n\t\t\t\tName:     pulumi.String(\"example name\"),\n\t\t\t\tCity:     pulumi.String(\"example city\"),\n\t\t\t\tDistrict: pulumi.String(\"example district\"),\n\t\t\t\tRegion:   pulumi.String(\"example region\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFilebase64, err := std.Filebase64(ctx, \u0026std.Filebase64Args{\n\t\t\tInput: \"example.pfx\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleCertificate, err := apimanagement.NewCertificate(ctx, \"example\", \u0026apimanagement.CertificateArgs{\n\t\t\tName:              pulumi.String(\"example-cert\"),\n\t\t\tApiManagementName: exampleService.Name,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tData:              pulumi.String(invokeFilebase64.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = apimanagement.NewGatewayCertificateAuthority(ctx, \"example\", \u0026apimanagement.GatewayCertificateAuthorityArgs{\n\t\t\tApiManagementId: exampleService.ID(),\n\t\t\tCertificateName: exampleCertificate.Name,\n\t\t\tGatewayName:     exampleGateway.Name,\n\t\t\tIsTrusted:       pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.apimanagement.Service;\nimport com.pulumi.azure.apimanagement.ServiceArgs;\nimport com.pulumi.azure.apimanagement.Gateway;\nimport com.pulumi.azure.apimanagement.GatewayArgs;\nimport com.pulumi.azure.apimanagement.inputs.GatewayLocationDataArgs;\nimport com.pulumi.azure.apimanagement.Certificate;\nimport com.pulumi.azure.apimanagement.CertificateArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.Filebase64Args;\nimport com.pulumi.azure.apimanagement.GatewayCertificateAuthority;\nimport com.pulumi.azure.apimanagement.GatewayCertificateAuthorityArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleService = new Service(\"exampleService\", ServiceArgs.builder()\n            .name(\"example-apim\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .publisherName(\"pub1\")\n            .publisherEmail(\"pub1@email.com\")\n            .skuName(\"Consumption_0\")\n            .build());\n\n        var exampleGateway = new Gateway(\"exampleGateway\", GatewayArgs.builder()\n            .name(\"example-gateway\")\n            .apiManagementId(exampleService.id())\n            .description(\"Example API Management gateway\")\n            .locationData(GatewayLocationDataArgs.builder()\n                .name(\"example name\")\n                .city(\"example city\")\n                .district(\"example district\")\n                .region(\"example region\")\n                .build())\n            .build());\n\n        var exampleCertificate = new Certificate(\"exampleCertificate\", CertificateArgs.builder()\n            .name(\"example-cert\")\n            .apiManagementName(exampleService.name())\n            .resourceGroupName(example.name())\n            .data(StdFunctions.filebase64(Filebase64Args.builder()\n                .input(\"example.pfx\")\n                .build()).result())\n            .build());\n\n        var exampleGatewayCertificateAuthority = new GatewayCertificateAuthority(\"exampleGatewayCertificateAuthority\", GatewayCertificateAuthorityArgs.builder()\n            .apiManagementId(exampleService.id())\n            .certificateName(exampleCertificate.name())\n            .gatewayName(exampleGateway.name())\n            .isTrusted(true)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleService:\n    type: azure:apimanagement:Service\n    name: example\n    properties:\n      name: example-apim\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      publisherName: pub1\n      publisherEmail: pub1@email.com\n      skuName: Consumption_0\n  exampleGateway:\n    type: azure:apimanagement:Gateway\n    name: example\n    properties:\n      name: example-gateway\n      apiManagementId: ${exampleService.id}\n      description: Example API Management gateway\n      locationData:\n        name: example name\n        city: example city\n        district: example district\n        region: example region\n  exampleCertificate:\n    type: azure:apimanagement:Certificate\n    name: example\n    properties:\n      name: example-cert\n      apiManagementName: ${exampleService.name}\n      resourceGroupName: ${example.name}\n      data:\n        fn::invoke:\n          function: std:filebase64\n          arguments:\n            input: example.pfx\n          return: result\n  exampleGatewayCertificateAuthority:\n    type: azure:apimanagement:GatewayCertificateAuthority\n    name: example\n    properties:\n      apiManagementId: ${exampleService.id}\n      certificateName: ${exampleCertificate.name}\n      gatewayName: ${exampleGateway.name}\n      isTrusted: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.ApiManagement` - 2022-08-01\n\n## Import\n\nAPI Management Gateway Certificate Authority can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:apimanagement/gatewayCertificateAuthority:GatewayCertificateAuthority example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.ApiManagement/service/service1/gateways/gateway1/certificateAuthorities/cert1\n```\n\n","properties":{"apiManagementId":{"type":"string","description":"The ID of the API Management Service. Changing this forces a new resource to be created.\n"},"certificateName":{"type":"string","description":"The name of the API Management Certificate. Changing this forces a new resource to be created.\n"},"gatewayName":{"type":"string","description":"The name of the API Management Gateway. Changing this forces a new resource to be created.\n"},"isTrusted":{"type":"boolean","description":"Whether the API Management Gateway Certificate Authority is trusted.\n"}},"required":["apiManagementId","certificateName","gatewayName"],"inputProperties":{"apiManagementId":{"type":"string","description":"The ID of the API Management Service. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"certificateName":{"type":"string","description":"The name of the API Management Certificate. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"gatewayName":{"type":"string","description":"The name of the API Management Gateway. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"isTrusted":{"type":"boolean","description":"Whether the API Management Gateway Certificate Authority is trusted.\n"}},"requiredInputs":["apiManagementId","certificateName","gatewayName"],"stateInputs":{"description":"Input properties used for looking up and filtering GatewayCertificateAuthority resources.\n","properties":{"apiManagementId":{"type":"string","description":"The ID of the API Management Service. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"certificateName":{"type":"string","description":"The name of the API Management Certificate. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"gatewayName":{"type":"string","description":"The name of the API Management Gateway. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"isTrusted":{"type":"boolean","description":"Whether the API Management Gateway Certificate Authority is trusted.\n"}},"type":"object"}},"azure:apimanagement/gatewayHostNameConfiguration:GatewayHostNameConfiguration":{"description":"Manages an API Management Gateway Host Name Configuration.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\nimport * as std from \"@pulumi/std\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleService = new azure.apimanagement.Service(\"example\", {\n    name: \"example-apim\",\n    location: example.location,\n    resourceGroupName: example.name,\n    publisherName: \"pub1\",\n    publisherEmail: \"pub1@email.com\",\n    skuName: \"Consumption_0\",\n});\nconst exampleGateway = new azure.apimanagement.Gateway(\"example\", {\n    name: \"example-gateway\",\n    apiManagementId: exampleService.id,\n    description: \"Example API Management gateway\",\n    locationData: {\n        name: \"example name\",\n        city: \"example city\",\n        district: \"example district\",\n        region: \"example region\",\n    },\n});\nconst exampleCertificate = new azure.apimanagement.Certificate(\"example\", {\n    name: \"example-cert\",\n    apiManagementName: exampleService.name,\n    resourceGroupName: example.name,\n    data: std.filebase64({\n        input: \"example.pfx\",\n    }).then(invoke =\u003e invoke.result),\n});\nconst exampleGatewayHostNameConfiguration = new azure.apimanagement.GatewayHostNameConfiguration(\"example\", {\n    name: \"example-host-name-configuration\",\n    apiManagementId: exampleService.id,\n    gatewayName: exampleGateway.name,\n    certificateId: exampleCertificate.id,\n    hostName: \"example-host-name\",\n    requestClientCertificateEnabled: true,\n    http2Enabled: true,\n    tls10Enabled: true,\n    tls11Enabled: false,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\nimport pulumi_std as std\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_service = azure.apimanagement.Service(\"example\",\n    name=\"example-apim\",\n    location=example.location,\n    resource_group_name=example.name,\n    publisher_name=\"pub1\",\n    publisher_email=\"pub1@email.com\",\n    sku_name=\"Consumption_0\")\nexample_gateway = azure.apimanagement.Gateway(\"example\",\n    name=\"example-gateway\",\n    api_management_id=example_service.id,\n    description=\"Example API Management gateway\",\n    location_data={\n        \"name\": \"example name\",\n        \"city\": \"example city\",\n        \"district\": \"example district\",\n        \"region\": \"example region\",\n    })\nexample_certificate = azure.apimanagement.Certificate(\"example\",\n    name=\"example-cert\",\n    api_management_name=example_service.name,\n    resource_group_name=example.name,\n    data=std.filebase64(input=\"example.pfx\").result)\nexample_gateway_host_name_configuration = azure.apimanagement.GatewayHostNameConfiguration(\"example\",\n    name=\"example-host-name-configuration\",\n    api_management_id=example_service.id,\n    gateway_name=example_gateway.name,\n    certificate_id=example_certificate.id,\n    host_name=\"example-host-name\",\n    request_client_certificate_enabled=True,\n    http2_enabled=True,\n    tls10_enabled=True,\n    tls11_enabled=False)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleService = new Azure.ApiManagement.Service(\"example\", new()\n    {\n        Name = \"example-apim\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        PublisherName = \"pub1\",\n        PublisherEmail = \"pub1@email.com\",\n        SkuName = \"Consumption_0\",\n    });\n\n    var exampleGateway = new Azure.ApiManagement.Gateway(\"example\", new()\n    {\n        Name = \"example-gateway\",\n        ApiManagementId = exampleService.Id,\n        Description = \"Example API Management gateway\",\n        LocationData = new Azure.ApiManagement.Inputs.GatewayLocationDataArgs\n        {\n            Name = \"example name\",\n            City = \"example city\",\n            District = \"example district\",\n            Region = \"example region\",\n        },\n    });\n\n    var exampleCertificate = new Azure.ApiManagement.Certificate(\"example\", new()\n    {\n        Name = \"example-cert\",\n        ApiManagementName = exampleService.Name,\n        ResourceGroupName = example.Name,\n        Data = Std.Filebase64.Invoke(new()\n        {\n            Input = \"example.pfx\",\n        }).Apply(invoke =\u003e invoke.Result),\n    });\n\n    var exampleGatewayHostNameConfiguration = new Azure.ApiManagement.GatewayHostNameConfiguration(\"example\", new()\n    {\n        Name = \"example-host-name-configuration\",\n        ApiManagementId = exampleService.Id,\n        GatewayName = exampleGateway.Name,\n        CertificateId = exampleCertificate.Id,\n        HostName = \"example-host-name\",\n        RequestClientCertificateEnabled = true,\n        Http2Enabled = true,\n        Tls10Enabled = true,\n        Tls11Enabled = false,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/apimanagement\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleService, err := apimanagement.NewService(ctx, \"example\", \u0026apimanagement.ServiceArgs{\n\t\t\tName:              pulumi.String(\"example-apim\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tPublisherName:     pulumi.String(\"pub1\"),\n\t\t\tPublisherEmail:    pulumi.String(\"pub1@email.com\"),\n\t\t\tSkuName:           pulumi.String(\"Consumption_0\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleGateway, err := apimanagement.NewGateway(ctx, \"example\", \u0026apimanagement.GatewayArgs{\n\t\t\tName:            pulumi.String(\"example-gateway\"),\n\t\t\tApiManagementId: exampleService.ID(),\n\t\t\tDescription:     pulumi.String(\"Example API Management gateway\"),\n\t\t\tLocationData: \u0026apimanagement.GatewayLocationDataArgs{\n\t\t\t\tName:     pulumi.String(\"example name\"),\n\t\t\t\tCity:     pulumi.String(\"example city\"),\n\t\t\t\tDistrict: pulumi.String(\"example district\"),\n\t\t\t\tRegion:   pulumi.String(\"example region\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFilebase64, err := std.Filebase64(ctx, \u0026std.Filebase64Args{\n\t\t\tInput: \"example.pfx\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleCertificate, err := apimanagement.NewCertificate(ctx, \"example\", \u0026apimanagement.CertificateArgs{\n\t\t\tName:              pulumi.String(\"example-cert\"),\n\t\t\tApiManagementName: exampleService.Name,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tData:              pulumi.String(invokeFilebase64.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = apimanagement.NewGatewayHostNameConfiguration(ctx, \"example\", \u0026apimanagement.GatewayHostNameConfigurationArgs{\n\t\t\tName:                            pulumi.String(\"example-host-name-configuration\"),\n\t\t\tApiManagementId:                 exampleService.ID(),\n\t\t\tGatewayName:                     exampleGateway.Name,\n\t\t\tCertificateId:                   exampleCertificate.ID(),\n\t\t\tHostName:                        pulumi.String(\"example-host-name\"),\n\t\t\tRequestClientCertificateEnabled: pulumi.Bool(true),\n\t\t\tHttp2Enabled:                    pulumi.Bool(true),\n\t\t\tTls10Enabled:                    pulumi.Bool(true),\n\t\t\tTls11Enabled:                    pulumi.Bool(false),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.apimanagement.Service;\nimport com.pulumi.azure.apimanagement.ServiceArgs;\nimport com.pulumi.azure.apimanagement.Gateway;\nimport com.pulumi.azure.apimanagement.GatewayArgs;\nimport com.pulumi.azure.apimanagement.inputs.GatewayLocationDataArgs;\nimport com.pulumi.azure.apimanagement.Certificate;\nimport com.pulumi.azure.apimanagement.CertificateArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.Filebase64Args;\nimport com.pulumi.azure.apimanagement.GatewayHostNameConfiguration;\nimport com.pulumi.azure.apimanagement.GatewayHostNameConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleService = new Service(\"exampleService\", ServiceArgs.builder()\n            .name(\"example-apim\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .publisherName(\"pub1\")\n            .publisherEmail(\"pub1@email.com\")\n            .skuName(\"Consumption_0\")\n            .build());\n\n        var exampleGateway = new Gateway(\"exampleGateway\", GatewayArgs.builder()\n            .name(\"example-gateway\")\n            .apiManagementId(exampleService.id())\n            .description(\"Example API Management gateway\")\n            .locationData(GatewayLocationDataArgs.builder()\n                .name(\"example name\")\n                .city(\"example city\")\n                .district(\"example district\")\n                .region(\"example region\")\n                .build())\n            .build());\n\n        var exampleCertificate = new Certificate(\"exampleCertificate\", CertificateArgs.builder()\n            .name(\"example-cert\")\n            .apiManagementName(exampleService.name())\n            .resourceGroupName(example.name())\n            .data(StdFunctions.filebase64(Filebase64Args.builder()\n                .input(\"example.pfx\")\n                .build()).result())\n            .build());\n\n        var exampleGatewayHostNameConfiguration = new GatewayHostNameConfiguration(\"exampleGatewayHostNameConfiguration\", GatewayHostNameConfigurationArgs.builder()\n            .name(\"example-host-name-configuration\")\n            .apiManagementId(exampleService.id())\n            .gatewayName(exampleGateway.name())\n            .certificateId(exampleCertificate.id())\n            .hostName(\"example-host-name\")\n            .requestClientCertificateEnabled(true)\n            .http2Enabled(true)\n            .tls10Enabled(true)\n            .tls11Enabled(false)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleService:\n    type: azure:apimanagement:Service\n    name: example\n    properties:\n      name: example-apim\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      publisherName: pub1\n      publisherEmail: pub1@email.com\n      skuName: Consumption_0\n  exampleGateway:\n    type: azure:apimanagement:Gateway\n    name: example\n    properties:\n      name: example-gateway\n      apiManagementId: ${exampleService.id}\n      description: Example API Management gateway\n      locationData:\n        name: example name\n        city: example city\n        district: example district\n        region: example region\n  exampleCertificate:\n    type: azure:apimanagement:Certificate\n    name: example\n    properties:\n      name: example-cert\n      apiManagementName: ${exampleService.name}\n      resourceGroupName: ${example.name}\n      data:\n        fn::invoke:\n          function: std:filebase64\n          arguments:\n            input: example.pfx\n          return: result\n  exampleGatewayHostNameConfiguration:\n    type: azure:apimanagement:GatewayHostNameConfiguration\n    name: example\n    properties:\n      name: example-host-name-configuration\n      apiManagementId: ${exampleService.id}\n      gatewayName: ${exampleGateway.name}\n      certificateId: ${exampleCertificate.id}\n      hostName: example-host-name\n      requestClientCertificateEnabled: true\n      http2Enabled: true\n      tls10Enabled: true\n      tls11Enabled: false\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.ApiManagement` - 2022-08-01\n\n## Import\n\nAPI Management Gateway Host Name Configuration can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:apimanagement/gatewayHostNameConfiguration:GatewayHostNameConfiguration example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.ApiManagement/service/service1/gateways/gateway1/hostnameConfigurations/hc1\n```\n\n","properties":{"apiManagementId":{"type":"string","description":"The ID of the API Management Service. Changing this forces a new resource to be created.\n"},"certificateId":{"type":"string","description":"The certificate ID to be used for TLS connection establishment.\n"},"gatewayName":{"type":"string","description":"The name of the API Management Gateway. Changing this forces a new resource to be created.\n"},"hostName":{"type":"string","description":"The host name to use for the API Management Gateway Host Name Configuration.\n"},"http2Enabled":{"type":"boolean","description":"Whether HTTP/2.0 is supported. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"name":{"type":"string","description":"The name of the API Management Gateway Host Name Configuration. Changing this forces a new resource to be created.\n"},"requestClientCertificateEnabled":{"type":"boolean","description":"Whether the API Management Gateway requests a client certificate.\n"},"tls10Enabled":{"type":"boolean","description":"Whether TLS 1.0 is supported.\n"},"tls11Enabled":{"type":"boolean","description":"Whether TLS 1.1 is supported.\n"}},"required":["apiManagementId","certificateId","gatewayName","hostName","name"],"inputProperties":{"apiManagementId":{"type":"string","description":"The ID of the API Management Service. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"certificateId":{"type":"string","description":"The certificate ID to be used for TLS connection establishment.\n"},"gatewayName":{"type":"string","description":"The name of the API Management Gateway. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"hostName":{"type":"string","description":"The host name to use for the API Management Gateway Host Name Configuration.\n"},"http2Enabled":{"type":"boolean","description":"Whether HTTP/2.0 is supported. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"name":{"type":"string","description":"The name of the API Management Gateway Host Name Configuration. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"requestClientCertificateEnabled":{"type":"boolean","description":"Whether the API Management Gateway requests a client certificate.\n"},"tls10Enabled":{"type":"boolean","description":"Whether TLS 1.0 is supported.\n"},"tls11Enabled":{"type":"boolean","description":"Whether TLS 1.1 is supported.\n"}},"requiredInputs":["apiManagementId","certificateId","gatewayName","hostName"],"stateInputs":{"description":"Input properties used for looking up and filtering GatewayHostNameConfiguration resources.\n","properties":{"apiManagementId":{"type":"string","description":"The ID of the API Management Service. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"certificateId":{"type":"string","description":"The certificate ID to be used for TLS connection establishment.\n"},"gatewayName":{"type":"string","description":"The name of the API Management Gateway. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"hostName":{"type":"string","description":"The host name to use for the API Management Gateway Host Name Configuration.\n"},"http2Enabled":{"type":"boolean","description":"Whether HTTP/2.0 is supported. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"name":{"type":"string","description":"The name of the API Management Gateway Host Name Configuration. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"requestClientCertificateEnabled":{"type":"boolean","description":"Whether the API Management Gateway requests a client certificate.\n"},"tls10Enabled":{"type":"boolean","description":"Whether TLS 1.0 is supported.\n"},"tls11Enabled":{"type":"boolean","description":"Whether TLS 1.1 is supported.\n"}},"type":"object"}},"azure:apimanagement/globalSchema:GlobalSchema":{"description":"Manages a Global Schema within an API Management Service.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\nimport * as std from \"@pulumi/std\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-rg\",\n    location: \"West Europe\",\n});\nconst exampleService = new azure.apimanagement.Service(\"example\", {\n    name: \"example-apim\",\n    location: example.location,\n    resourceGroupName: example.name,\n    publisherName: \"pub1\",\n    publisherEmail: \"pub1@email.com\",\n    skuName: \"Consumption_0\",\n});\nconst exampleGlobalSchema = new azure.apimanagement.GlobalSchema(\"example\", {\n    schemaId: \"example-schema1\",\n    apiManagementName: exampleService.name,\n    resourceGroupName: example.name,\n    type: \"xml\",\n    value: std.file({\n        input: \"api_management_api_schema.xml\",\n    }).then(invoke =\u003e invoke.result),\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\nimport pulumi_std as std\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-rg\",\n    location=\"West Europe\")\nexample_service = azure.apimanagement.Service(\"example\",\n    name=\"example-apim\",\n    location=example.location,\n    resource_group_name=example.name,\n    publisher_name=\"pub1\",\n    publisher_email=\"pub1@email.com\",\n    sku_name=\"Consumption_0\")\nexample_global_schema = azure.apimanagement.GlobalSchema(\"example\",\n    schema_id=\"example-schema1\",\n    api_management_name=example_service.name,\n    resource_group_name=example.name,\n    type=\"xml\",\n    value=std.file(input=\"api_management_api_schema.xml\").result)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-rg\",\n        Location = \"West Europe\",\n    });\n\n    var exampleService = new Azure.ApiManagement.Service(\"example\", new()\n    {\n        Name = \"example-apim\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        PublisherName = \"pub1\",\n        PublisherEmail = \"pub1@email.com\",\n        SkuName = \"Consumption_0\",\n    });\n\n    var exampleGlobalSchema = new Azure.ApiManagement.GlobalSchema(\"example\", new()\n    {\n        SchemaId = \"example-schema1\",\n        ApiManagementName = exampleService.Name,\n        ResourceGroupName = example.Name,\n        Type = \"xml\",\n        Value = Std.File.Invoke(new()\n        {\n            Input = \"api_management_api_schema.xml\",\n        }).Apply(invoke =\u003e invoke.Result),\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/apimanagement\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-rg\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleService, err := apimanagement.NewService(ctx, \"example\", \u0026apimanagement.ServiceArgs{\n\t\t\tName:              pulumi.String(\"example-apim\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tPublisherName:     pulumi.String(\"pub1\"),\n\t\t\tPublisherEmail:    pulumi.String(\"pub1@email.com\"),\n\t\t\tSkuName:           pulumi.String(\"Consumption_0\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"api_management_api_schema.xml\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = apimanagement.NewGlobalSchema(ctx, \"example\", \u0026apimanagement.GlobalSchemaArgs{\n\t\t\tSchemaId:          pulumi.String(\"example-schema1\"),\n\t\t\tApiManagementName: exampleService.Name,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tType:              pulumi.String(\"xml\"),\n\t\t\tValue:             pulumi.String(invokeFile.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.apimanagement.Service;\nimport com.pulumi.azure.apimanagement.ServiceArgs;\nimport com.pulumi.azure.apimanagement.GlobalSchema;\nimport com.pulumi.azure.apimanagement.GlobalSchemaArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.FileArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-rg\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleService = new Service(\"exampleService\", ServiceArgs.builder()\n            .name(\"example-apim\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .publisherName(\"pub1\")\n            .publisherEmail(\"pub1@email.com\")\n            .skuName(\"Consumption_0\")\n            .build());\n\n        var exampleGlobalSchema = new GlobalSchema(\"exampleGlobalSchema\", GlobalSchemaArgs.builder()\n            .schemaId(\"example-schema1\")\n            .apiManagementName(exampleService.name())\n            .resourceGroupName(example.name())\n            .type(\"xml\")\n            .value(StdFunctions.file(FileArgs.builder()\n                .input(\"api_management_api_schema.xml\")\n                .build()).result())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-rg\n      location: West Europe\n  exampleService:\n    type: azure:apimanagement:Service\n    name: example\n    properties:\n      name: example-apim\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      publisherName: pub1\n      publisherEmail: pub1@email.com\n      skuName: Consumption_0\n  exampleGlobalSchema:\n    type: azure:apimanagement:GlobalSchema\n    name: example\n    properties:\n      schemaId: example-schema1\n      apiManagementName: ${exampleService.name}\n      resourceGroupName: ${example.name}\n      type: xml\n      value:\n        fn::invoke:\n          function: std:file\n          arguments:\n            input: api_management_api_schema.xml\n          return: result\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.ApiManagement` - 2022-08-01\n\n## Import\n\nAPI Management API Schema's can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:apimanagement/globalSchema:GlobalSchema example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.ApiManagement/service/instance1/schemas/schema1\n```\n\n","properties":{"apiManagementName":{"type":"string","description":"The Name of the API Management Service where the API exists. Changing this forces a new resource to be created.\n"},"description":{"type":"string","description":"The description of the schema.\n"},"resourceGroupName":{"type":"string","description":"The Name of the Resource Group in which the API Management Service exists. Changing this forces a new resource to be created.\n"},"schemaId":{"type":"string","description":"A unique identifier for this Schema. Changing this forces a new resource to be created.\n"},"type":{"type":"string","description":"The content type of the Schema. Possible values are \u003cspan pulumi-lang-nodejs=\"`xml`\" pulumi-lang-dotnet=\"`Xml`\" pulumi-lang-go=\"`xml`\" pulumi-lang-python=\"`xml`\" pulumi-lang-yaml=\"`xml`\" pulumi-lang-java=\"`xml`\"\u003e`xml`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`json`\" pulumi-lang-dotnet=\"`Json`\" pulumi-lang-go=\"`json`\" pulumi-lang-python=\"`json`\" pulumi-lang-yaml=\"`json`\" pulumi-lang-java=\"`json`\"\u003e`json`\u003c/span\u003e.\n"},"value":{"type":"string","description":"The string defining the document representing the Schema.\n"}},"required":["apiManagementName","resourceGroupName","schemaId","type","value"],"inputProperties":{"apiManagementName":{"type":"string","description":"The Name of the API Management Service where the API exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"description":{"type":"string","description":"The description of the schema.\n"},"resourceGroupName":{"type":"string","description":"The Name of the Resource Group in which the API Management Service exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"schemaId":{"type":"string","description":"A unique identifier for this Schema. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"type":{"type":"string","description":"The content type of the Schema. Possible values are \u003cspan pulumi-lang-nodejs=\"`xml`\" pulumi-lang-dotnet=\"`Xml`\" pulumi-lang-go=\"`xml`\" pulumi-lang-python=\"`xml`\" pulumi-lang-yaml=\"`xml`\" pulumi-lang-java=\"`xml`\"\u003e`xml`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`json`\" pulumi-lang-dotnet=\"`Json`\" pulumi-lang-go=\"`json`\" pulumi-lang-python=\"`json`\" pulumi-lang-yaml=\"`json`\" pulumi-lang-java=\"`json`\"\u003e`json`\u003c/span\u003e.\n"},"value":{"type":"string","description":"The string defining the document representing the Schema.\n"}},"requiredInputs":["apiManagementName","resourceGroupName","schemaId","type","value"],"stateInputs":{"description":"Input properties used for looking up and filtering GlobalSchema resources.\n","properties":{"apiManagementName":{"type":"string","description":"The Name of the API Management Service where the API exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"description":{"type":"string","description":"The description of the schema.\n"},"resourceGroupName":{"type":"string","description":"The Name of the Resource Group in which the API Management Service exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"schemaId":{"type":"string","description":"A unique identifier for this Schema. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"type":{"type":"string","description":"The content type of the Schema. Possible values are \u003cspan pulumi-lang-nodejs=\"`xml`\" pulumi-lang-dotnet=\"`Xml`\" pulumi-lang-go=\"`xml`\" pulumi-lang-python=\"`xml`\" pulumi-lang-yaml=\"`xml`\" pulumi-lang-java=\"`xml`\"\u003e`xml`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`json`\" pulumi-lang-dotnet=\"`Json`\" pulumi-lang-go=\"`json`\" pulumi-lang-python=\"`json`\" pulumi-lang-yaml=\"`json`\" pulumi-lang-java=\"`json`\"\u003e`json`\u003c/span\u003e.\n"},"value":{"type":"string","description":"The string defining the document representing the Schema.\n"}},"type":"object"}},"azure:apimanagement/group:Group":{"description":"Manages an API Management Group.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleService = new azure.apimanagement.Service(\"example\", {\n    name: \"example-apim\",\n    location: example.location,\n    resourceGroupName: example.name,\n    publisherName: \"pub1\",\n    publisherEmail: \"pub1@email.com\",\n    skuName: \"Developer_1\",\n});\nconst exampleGroup = new azure.apimanagement.Group(\"example\", {\n    name: \"example-apimg\",\n    resourceGroupName: example.name,\n    apiManagementName: exampleService.name,\n    displayName: \"Example Group\",\n    description: \"This is an example API management group.\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_service = azure.apimanagement.Service(\"example\",\n    name=\"example-apim\",\n    location=example.location,\n    resource_group_name=example.name,\n    publisher_name=\"pub1\",\n    publisher_email=\"pub1@email.com\",\n    sku_name=\"Developer_1\")\nexample_group = azure.apimanagement.Group(\"example\",\n    name=\"example-apimg\",\n    resource_group_name=example.name,\n    api_management_name=example_service.name,\n    display_name=\"Example Group\",\n    description=\"This is an example API management group.\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleService = new Azure.ApiManagement.Service(\"example\", new()\n    {\n        Name = \"example-apim\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        PublisherName = \"pub1\",\n        PublisherEmail = \"pub1@email.com\",\n        SkuName = \"Developer_1\",\n    });\n\n    var exampleGroup = new Azure.ApiManagement.Group(\"example\", new()\n    {\n        Name = \"example-apimg\",\n        ResourceGroupName = example.Name,\n        ApiManagementName = exampleService.Name,\n        DisplayName = \"Example Group\",\n        Description = \"This is an example API management group.\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/apimanagement\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleService, err := apimanagement.NewService(ctx, \"example\", \u0026apimanagement.ServiceArgs{\n\t\t\tName:              pulumi.String(\"example-apim\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tPublisherName:     pulumi.String(\"pub1\"),\n\t\t\tPublisherEmail:    pulumi.String(\"pub1@email.com\"),\n\t\t\tSkuName:           pulumi.String(\"Developer_1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = apimanagement.NewGroup(ctx, \"example\", \u0026apimanagement.GroupArgs{\n\t\t\tName:              pulumi.String(\"example-apimg\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tApiManagementName: exampleService.Name,\n\t\t\tDisplayName:       pulumi.String(\"Example Group\"),\n\t\t\tDescription:       pulumi.String(\"This is an example API management group.\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.apimanagement.Service;\nimport com.pulumi.azure.apimanagement.ServiceArgs;\nimport com.pulumi.azure.apimanagement.Group;\nimport com.pulumi.azure.apimanagement.GroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleService = new Service(\"exampleService\", ServiceArgs.builder()\n            .name(\"example-apim\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .publisherName(\"pub1\")\n            .publisherEmail(\"pub1@email.com\")\n            .skuName(\"Developer_1\")\n            .build());\n\n        var exampleGroup = new Group(\"exampleGroup\", GroupArgs.builder()\n            .name(\"example-apimg\")\n            .resourceGroupName(example.name())\n            .apiManagementName(exampleService.name())\n            .displayName(\"Example Group\")\n            .description(\"This is an example API management group.\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleService:\n    type: azure:apimanagement:Service\n    name: example\n    properties:\n      name: example-apim\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      publisherName: pub1\n      publisherEmail: pub1@email.com\n      skuName: Developer_1\n  exampleGroup:\n    type: azure:apimanagement:Group\n    name: example\n    properties:\n      name: example-apimg\n      resourceGroupName: ${example.name}\n      apiManagementName: ${exampleService.name}\n      displayName: Example Group\n      description: This is an example API management group.\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.ApiManagement` - 2022-08-01\n\n## Import\n\nAPI Management Groups can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:apimanagement/group:Group example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/example-resources/providers/Microsoft.ApiManagement/service/example-apim/groups/example-apimg\n```\n\n","properties":{"apiManagementName":{"type":"string","description":"The name of the API Management Service in which the API Management Group should exist. Changing this forces a new resource to be created.\n"},"description":{"type":"string","description":"The description of this API Management Group.\n"},"displayName":{"type":"string","description":"The display name of this API Management Group.\n"},"externalId":{"type":"string","description":"The identifier of the external Group. For example, an Azure Active Directory group `aad://\u003ctenant id\u003e/groups/\u003cgroup object id\u003e`. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"The name of the API Management Group. Changing this forces a new resource to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group in which the API Management Group should exist. Changing this forces a new resource to be created.\n"},"type":{"type":"string","description":"The type of this API Management Group. Possible values are \u003cspan pulumi-lang-nodejs=\"`custom`\" pulumi-lang-dotnet=\"`Custom`\" pulumi-lang-go=\"`custom`\" pulumi-lang-python=\"`custom`\" pulumi-lang-yaml=\"`custom`\" pulumi-lang-java=\"`custom`\"\u003e`custom`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`external`\" pulumi-lang-dotnet=\"`External`\" pulumi-lang-go=\"`external`\" pulumi-lang-python=\"`external`\" pulumi-lang-yaml=\"`external`\" pulumi-lang-java=\"`external`\"\u003e`external`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`system`\" pulumi-lang-dotnet=\"`System`\" pulumi-lang-go=\"`system`\" pulumi-lang-python=\"`system`\" pulumi-lang-yaml=\"`system`\" pulumi-lang-java=\"`system`\"\u003e`system`\u003c/span\u003e. Default is \u003cspan pulumi-lang-nodejs=\"`custom`\" pulumi-lang-dotnet=\"`Custom`\" pulumi-lang-go=\"`custom`\" pulumi-lang-python=\"`custom`\" pulumi-lang-yaml=\"`custom`\" pulumi-lang-java=\"`custom`\"\u003e`custom`\u003c/span\u003e. Changing this forces a new resource to be created.\n"}},"required":["apiManagementName","displayName","name","resourceGroupName"],"inputProperties":{"apiManagementName":{"type":"string","description":"The name of the API Management Service in which the API Management Group should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"description":{"type":"string","description":"The description of this API Management Group.\n"},"displayName":{"type":"string","description":"The display name of this API Management Group.\n"},"externalId":{"type":"string","description":"The identifier of the external Group. For example, an Azure Active Directory group `aad://\u003ctenant id\u003e/groups/\u003cgroup object id\u003e`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the API Management Group. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group in which the API Management Group should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"type":{"type":"string","description":"The type of this API Management Group. Possible values are \u003cspan pulumi-lang-nodejs=\"`custom`\" pulumi-lang-dotnet=\"`Custom`\" pulumi-lang-go=\"`custom`\" pulumi-lang-python=\"`custom`\" pulumi-lang-yaml=\"`custom`\" pulumi-lang-java=\"`custom`\"\u003e`custom`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`external`\" pulumi-lang-dotnet=\"`External`\" pulumi-lang-go=\"`external`\" pulumi-lang-python=\"`external`\" pulumi-lang-yaml=\"`external`\" pulumi-lang-java=\"`external`\"\u003e`external`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`system`\" pulumi-lang-dotnet=\"`System`\" pulumi-lang-go=\"`system`\" pulumi-lang-python=\"`system`\" pulumi-lang-yaml=\"`system`\" pulumi-lang-java=\"`system`\"\u003e`system`\u003c/span\u003e. Default is \u003cspan pulumi-lang-nodejs=\"`custom`\" pulumi-lang-dotnet=\"`Custom`\" pulumi-lang-go=\"`custom`\" pulumi-lang-python=\"`custom`\" pulumi-lang-yaml=\"`custom`\" pulumi-lang-java=\"`custom`\"\u003e`custom`\u003c/span\u003e. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["apiManagementName","displayName","resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering Group resources.\n","properties":{"apiManagementName":{"type":"string","description":"The name of the API Management Service in which the API Management Group should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"description":{"type":"string","description":"The description of this API Management Group.\n"},"displayName":{"type":"string","description":"The display name of this API Management Group.\n"},"externalId":{"type":"string","description":"The identifier of the external Group. For example, an Azure Active Directory group `aad://\u003ctenant id\u003e/groups/\u003cgroup object id\u003e`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the API Management Group. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group in which the API Management Group should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"type":{"type":"string","description":"The type of this API Management Group. Possible values are \u003cspan pulumi-lang-nodejs=\"`custom`\" pulumi-lang-dotnet=\"`Custom`\" pulumi-lang-go=\"`custom`\" pulumi-lang-python=\"`custom`\" pulumi-lang-yaml=\"`custom`\" pulumi-lang-java=\"`custom`\"\u003e`custom`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`external`\" pulumi-lang-dotnet=\"`External`\" pulumi-lang-go=\"`external`\" pulumi-lang-python=\"`external`\" pulumi-lang-yaml=\"`external`\" pulumi-lang-java=\"`external`\"\u003e`external`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`system`\" pulumi-lang-dotnet=\"`System`\" pulumi-lang-go=\"`system`\" pulumi-lang-python=\"`system`\" pulumi-lang-yaml=\"`system`\" pulumi-lang-java=\"`system`\"\u003e`system`\u003c/span\u003e. Default is \u003cspan pulumi-lang-nodejs=\"`custom`\" pulumi-lang-dotnet=\"`Custom`\" pulumi-lang-go=\"`custom`\" pulumi-lang-python=\"`custom`\" pulumi-lang-yaml=\"`custom`\" pulumi-lang-java=\"`custom`\"\u003e`custom`\u003c/span\u003e. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:apimanagement/groupUser:GroupUser":{"description":"Manages an API Management User Assignment to a Group.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.apimanagement.getUser({\n    userId: \"my-user\",\n    apiManagementName: \"example-apim\",\n    resourceGroupName: \"search-service\",\n});\nconst exampleGroupUser = new azure.apimanagement.GroupUser(\"example\", {\n    userId: example.then(example =\u003e example.id),\n    groupName: \"example-group\",\n    resourceGroupName: example.then(example =\u003e example.resourceGroupName),\n    apiManagementName: example.then(example =\u003e example.apiManagementName),\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.apimanagement.get_user(user_id=\"my-user\",\n    api_management_name=\"example-apim\",\n    resource_group_name=\"search-service\")\nexample_group_user = azure.apimanagement.GroupUser(\"example\",\n    user_id=example.id,\n    group_name=\"example-group\",\n    resource_group_name=example.resource_group_name,\n    api_management_name=example.api_management_name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.ApiManagement.GetUser.Invoke(new()\n    {\n        UserId = \"my-user\",\n        ApiManagementName = \"example-apim\",\n        ResourceGroupName = \"search-service\",\n    });\n\n    var exampleGroupUser = new Azure.ApiManagement.GroupUser(\"example\", new()\n    {\n        UserId = example.Apply(getUserResult =\u003e getUserResult.Id),\n        GroupName = \"example-group\",\n        ResourceGroupName = example.Apply(getUserResult =\u003e getUserResult.ResourceGroupName),\n        ApiManagementName = example.Apply(getUserResult =\u003e getUserResult.ApiManagementName),\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/apimanagement\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := apimanagement.LookupUser(ctx, \u0026apimanagement.LookupUserArgs{\n\t\t\tUserId:            \"my-user\",\n\t\t\tApiManagementName: \"example-apim\",\n\t\t\tResourceGroupName: \"search-service\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = apimanagement.NewGroupUser(ctx, \"example\", \u0026apimanagement.GroupUserArgs{\n\t\t\tUserId:            pulumi.String(example.Id),\n\t\t\tGroupName:         pulumi.String(\"example-group\"),\n\t\t\tResourceGroupName: pulumi.String(example.ResourceGroupName),\n\t\t\tApiManagementName: pulumi.String(example.ApiManagementName),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.apimanagement.ApimanagementFunctions;\nimport com.pulumi.azure.apimanagement.inputs.GetUserArgs;\nimport com.pulumi.azure.apimanagement.GroupUser;\nimport com.pulumi.azure.apimanagement.GroupUserArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = ApimanagementFunctions.getUser(GetUserArgs.builder()\n            .userId(\"my-user\")\n            .apiManagementName(\"example-apim\")\n            .resourceGroupName(\"search-service\")\n            .build());\n\n        var exampleGroupUser = new GroupUser(\"exampleGroupUser\", GroupUserArgs.builder()\n            .userId(example.id())\n            .groupName(\"example-group\")\n            .resourceGroupName(example.resourceGroupName())\n            .apiManagementName(example.apiManagementName())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleGroupUser:\n    type: azure:apimanagement:GroupUser\n    name: example\n    properties:\n      userId: ${example.id}\n      groupName: example-group\n      resourceGroupName: ${example.resourceGroupName}\n      apiManagementName: ${example.apiManagementName}\nvariables:\n  example:\n    fn::invoke:\n      function: azure:apimanagement:getUser\n      arguments:\n        userId: my-user\n        apiManagementName: example-apim\n        resourceGroupName: search-service\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.ApiManagement` - 2022-08-01\n\n## Import\n\nAPI Management Group Users can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:apimanagement/groupUser:GroupUser example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.ApiManagement/service/service1/groups/groupId/users/user123\n```\n\n","properties":{"apiManagementName":{"type":"string","description":"The name of the API Management Service. Changing this forces a new resource to be created.\n"},"groupName":{"type":"string","description":"The Name of the API Management Group within the API Management Service. Changing this forces a new resource to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group in which the API Management Service exists. Changing this forces a new resource to be created.\n"},"userId":{"type":"string","description":"The ID of the API Management User which should be assigned to this API Management Group. Changing this forces a new resource to be created.\n"}},"required":["apiManagementName","groupName","resourceGroupName","userId"],"inputProperties":{"apiManagementName":{"type":"string","description":"The name of the API Management Service. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"groupName":{"type":"string","description":"The Name of the API Management Group within the API Management Service. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group in which the API Management Service exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"userId":{"type":"string","description":"The ID of the API Management User which should be assigned to this API Management Group. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["apiManagementName","groupName","resourceGroupName","userId"],"stateInputs":{"description":"Input properties used for looking up and filtering GroupUser resources.\n","properties":{"apiManagementName":{"type":"string","description":"The name of the API Management Service. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"groupName":{"type":"string","description":"The Name of the API Management Group within the API Management Service. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group in which the API Management Service exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"userId":{"type":"string","description":"The ID of the API Management User which should be assigned to this API Management Group. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:apimanagement/identityProviderAad:IdentityProviderAad":{"description":"Manages an API Management AAD Identity Provider.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleService = new azure.apimanagement.Service(\"example\", {\n    name: \"example-apim\",\n    location: example.location,\n    resourceGroupName: example.name,\n    publisherName: \"My Company\",\n    publisherEmail: \"company@mycompany.io\",\n    skuName: \"Developer_1\",\n});\nconst exampleIdentityProviderAad = new azure.apimanagement.IdentityProviderAad(\"example\", {\n    resourceGroupName: example.name,\n    apiManagementName: exampleService.name,\n    clientId: \"00000000-0000-0000-0000-000000000000\",\n    clientSecret: \"00000000000000000000000000000000\",\n    allowedTenants: [\"00000000-0000-0000-0000-000000000000\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_service = azure.apimanagement.Service(\"example\",\n    name=\"example-apim\",\n    location=example.location,\n    resource_group_name=example.name,\n    publisher_name=\"My Company\",\n    publisher_email=\"company@mycompany.io\",\n    sku_name=\"Developer_1\")\nexample_identity_provider_aad = azure.apimanagement.IdentityProviderAad(\"example\",\n    resource_group_name=example.name,\n    api_management_name=example_service.name,\n    client_id=\"00000000-0000-0000-0000-000000000000\",\n    client_secret=\"00000000000000000000000000000000\",\n    allowed_tenants=[\"00000000-0000-0000-0000-000000000000\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleService = new Azure.ApiManagement.Service(\"example\", new()\n    {\n        Name = \"example-apim\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        PublisherName = \"My Company\",\n        PublisherEmail = \"company@mycompany.io\",\n        SkuName = \"Developer_1\",\n    });\n\n    var exampleIdentityProviderAad = new Azure.ApiManagement.IdentityProviderAad(\"example\", new()\n    {\n        ResourceGroupName = example.Name,\n        ApiManagementName = exampleService.Name,\n        ClientId = \"00000000-0000-0000-0000-000000000000\",\n        ClientSecret = \"00000000000000000000000000000000\",\n        AllowedTenants = new[]\n        {\n            \"00000000-0000-0000-0000-000000000000\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/apimanagement\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleService, err := apimanagement.NewService(ctx, \"example\", \u0026apimanagement.ServiceArgs{\n\t\t\tName:              pulumi.String(\"example-apim\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tPublisherName:     pulumi.String(\"My Company\"),\n\t\t\tPublisherEmail:    pulumi.String(\"company@mycompany.io\"),\n\t\t\tSkuName:           pulumi.String(\"Developer_1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = apimanagement.NewIdentityProviderAad(ctx, \"example\", \u0026apimanagement.IdentityProviderAadArgs{\n\t\t\tResourceGroupName: example.Name,\n\t\t\tApiManagementName: exampleService.Name,\n\t\t\tClientId:          pulumi.String(\"00000000-0000-0000-0000-000000000000\"),\n\t\t\tClientSecret:      pulumi.String(\"00000000000000000000000000000000\"),\n\t\t\tAllowedTenants: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"00000000-0000-0000-0000-000000000000\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.apimanagement.Service;\nimport com.pulumi.azure.apimanagement.ServiceArgs;\nimport com.pulumi.azure.apimanagement.IdentityProviderAad;\nimport com.pulumi.azure.apimanagement.IdentityProviderAadArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleService = new Service(\"exampleService\", ServiceArgs.builder()\n            .name(\"example-apim\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .publisherName(\"My Company\")\n            .publisherEmail(\"company@mycompany.io\")\n            .skuName(\"Developer_1\")\n            .build());\n\n        var exampleIdentityProviderAad = new IdentityProviderAad(\"exampleIdentityProviderAad\", IdentityProviderAadArgs.builder()\n            .resourceGroupName(example.name())\n            .apiManagementName(exampleService.name())\n            .clientId(\"00000000-0000-0000-0000-000000000000\")\n            .clientSecret(\"00000000000000000000000000000000\")\n            .allowedTenants(\"00000000-0000-0000-0000-000000000000\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleService:\n    type: azure:apimanagement:Service\n    name: example\n    properties:\n      name: example-apim\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      publisherName: My Company\n      publisherEmail: company@mycompany.io\n      skuName: Developer_1\n  exampleIdentityProviderAad:\n    type: azure:apimanagement:IdentityProviderAad\n    name: example\n    properties:\n      resourceGroupName: ${example.name}\n      apiManagementName: ${exampleService.name}\n      clientId: 00000000-0000-0000-0000-000000000000\n      clientSecret: '00000000000000000000000000000000'\n      allowedTenants:\n        - 00000000-0000-0000-0000-000000000000\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.ApiManagement` - 2022-08-01\n\n## Import\n\nAPI Management AAD Identity Provider can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:apimanagement/identityProviderAad:IdentityProviderAad example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.ApiManagement/service/instance1/identityProviders/aad\n```\n\n","properties":{"allowedTenants":{"type":"array","items":{"type":"string"},"description":"List of allowed AAD Tenants.\n"},"apiManagementName":{"type":"string","description":"The Name of the API Management Service where this AAD Identity Provider should be created. Changing this forces a new resource to be created.\n"},"clientId":{"type":"string","description":"Client Id of the Application in the AAD Identity Provider.\n"},"clientLibrary":{"type":"string","description":"The client library to be used in the AAD Identity Provider.\n"},"clientSecret":{"type":"string","description":"Client secret of the Application in the AAD Identity Provider.\n","secret":true},"resourceGroupName":{"type":"string","description":"The Name of the Resource Group where the API Management Service exists. Changing this forces a new resource to be created.\n"},"signinTenant":{"type":"string","description":"The AAD Tenant to use instead of Common when logging into Active Directory.\n"}},"required":["allowedTenants","apiManagementName","clientId","clientSecret","resourceGroupName"],"inputProperties":{"allowedTenants":{"type":"array","items":{"type":"string"},"description":"List of allowed AAD Tenants.\n"},"apiManagementName":{"type":"string","description":"The Name of the API Management Service where this AAD Identity Provider should be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"clientId":{"type":"string","description":"Client Id of the Application in the AAD Identity Provider.\n"},"clientLibrary":{"type":"string","description":"The client library to be used in the AAD Identity Provider.\n"},"clientSecret":{"type":"string","description":"Client secret of the Application in the AAD Identity Provider.\n","secret":true},"resourceGroupName":{"type":"string","description":"The Name of the Resource Group where the API Management Service exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"signinTenant":{"type":"string","description":"The AAD Tenant to use instead of Common when logging into Active Directory.\n"}},"requiredInputs":["allowedTenants","apiManagementName","clientId","clientSecret","resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering IdentityProviderAad resources.\n","properties":{"allowedTenants":{"type":"array","items":{"type":"string"},"description":"List of allowed AAD Tenants.\n"},"apiManagementName":{"type":"string","description":"The Name of the API Management Service where this AAD Identity Provider should be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"clientId":{"type":"string","description":"Client Id of the Application in the AAD Identity Provider.\n"},"clientLibrary":{"type":"string","description":"The client library to be used in the AAD Identity Provider.\n"},"clientSecret":{"type":"string","description":"Client secret of the Application in the AAD Identity Provider.\n","secret":true},"resourceGroupName":{"type":"string","description":"The Name of the Resource Group where the API Management Service exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"signinTenant":{"type":"string","description":"The AAD Tenant to use instead of Common when logging into Active Directory.\n"}},"type":"object"}},"azure:apimanagement/identityProviderAadb2c:IdentityProviderAadb2c":{"description":"Manages an API Management Azure AD B2C Identity Provider.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\nimport * as azuread from \"@pulumi/azuread\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleService = new azure.apimanagement.Service(\"example\", {\n    name: \"example-apim\",\n    location: example.location,\n    resourceGroupName: example.name,\n    publisherName: \"My Company\",\n    publisherEmail: \"company@terraform.io\",\n    skuName: \"Developer_1\",\n});\nconst exampleApplication = new azuread.Application(\"example\", {displayName: \"acctestam-example\"});\nconst exampleApplicationPassword = new azuread.ApplicationPassword(\"example\", {\n    applicationObjectId: exampleApplication.objectId,\n    endDateRelative: \"36h\",\n});\nconst exampleIdentityProviderAadb2c = new azure.apimanagement.IdentityProviderAadb2c(\"example\", {\n    resourceGroupName: example.name,\n    apiManagementName: exampleService.name,\n    clientId: exampleApplication.applicationId,\n    clientSecret: \"P@55w0rD!\",\n    allowedTenant: \"myb2ctenant.onmicrosoft.com\",\n    signinTenant: \"myb2ctenant.onmicrosoft.com\",\n    authority: \"myb2ctenant.b2clogin.com\",\n    signinPolicy: \"B2C_1_Login\",\n    signupPolicy: \"B2C_1_Signup\",\n}, {\n    dependsOn: [exampleApplicationPassword],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\nimport pulumi_azuread as azuread\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_service = azure.apimanagement.Service(\"example\",\n    name=\"example-apim\",\n    location=example.location,\n    resource_group_name=example.name,\n    publisher_name=\"My Company\",\n    publisher_email=\"company@terraform.io\",\n    sku_name=\"Developer_1\")\nexample_application = azuread.Application(\"example\", display_name=\"acctestam-example\")\nexample_application_password = azuread.ApplicationPassword(\"example\",\n    application_object_id=example_application.object_id,\n    end_date_relative=\"36h\")\nexample_identity_provider_aadb2c = azure.apimanagement.IdentityProviderAadb2c(\"example\",\n    resource_group_name=example.name,\n    api_management_name=example_service.name,\n    client_id=example_application.application_id,\n    client_secret=\"P@55w0rD!\",\n    allowed_tenant=\"myb2ctenant.onmicrosoft.com\",\n    signin_tenant=\"myb2ctenant.onmicrosoft.com\",\n    authority=\"myb2ctenant.b2clogin.com\",\n    signin_policy=\"B2C_1_Login\",\n    signup_policy=\"B2C_1_Signup\",\n    opts = pulumi.ResourceOptions(depends_on=[example_application_password]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\nusing AzureAD = Pulumi.AzureAD;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleService = new Azure.ApiManagement.Service(\"example\", new()\n    {\n        Name = \"example-apim\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        PublisherName = \"My Company\",\n        PublisherEmail = \"company@terraform.io\",\n        SkuName = \"Developer_1\",\n    });\n\n    var exampleApplication = new AzureAD.Application(\"example\", new()\n    {\n        DisplayName = \"acctestam-example\",\n    });\n\n    var exampleApplicationPassword = new AzureAD.ApplicationPassword(\"example\", new()\n    {\n        ApplicationObjectId = exampleApplication.ObjectId,\n        EndDateRelative = \"36h\",\n    });\n\n    var exampleIdentityProviderAadb2c = new Azure.ApiManagement.IdentityProviderAadb2c(\"example\", new()\n    {\n        ResourceGroupName = example.Name,\n        ApiManagementName = exampleService.Name,\n        ClientId = exampleApplication.ApplicationId,\n        ClientSecret = \"P@55w0rD!\",\n        AllowedTenant = \"myb2ctenant.onmicrosoft.com\",\n        SigninTenant = \"myb2ctenant.onmicrosoft.com\",\n        Authority = \"myb2ctenant.b2clogin.com\",\n        SigninPolicy = \"B2C_1_Login\",\n        SignupPolicy = \"B2C_1_Signup\",\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            exampleApplicationPassword,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/apimanagement\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azuread/sdk/v6/go/azuread\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleService, err := apimanagement.NewService(ctx, \"example\", \u0026apimanagement.ServiceArgs{\n\t\t\tName:              pulumi.String(\"example-apim\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tPublisherName:     pulumi.String(\"My Company\"),\n\t\t\tPublisherEmail:    pulumi.String(\"company@terraform.io\"),\n\t\t\tSkuName:           pulumi.String(\"Developer_1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleApplication, err := azuread.NewApplication(ctx, \"example\", \u0026azuread.ApplicationArgs{\n\t\t\tDisplayName: pulumi.String(\"acctestam-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleApplicationPassword, err := azuread.NewApplicationPassword(ctx, \"example\", \u0026azuread.ApplicationPasswordArgs{\n\t\t\tApplicationObjectId: exampleApplication.ObjectId,\n\t\t\tEndDateRelative:     pulumi.String(\"36h\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = apimanagement.NewIdentityProviderAadb2c(ctx, \"example\", \u0026apimanagement.IdentityProviderAadb2cArgs{\n\t\t\tResourceGroupName: example.Name,\n\t\t\tApiManagementName: exampleService.Name,\n\t\t\tClientId:          exampleApplication.ApplicationId,\n\t\t\tClientSecret:      pulumi.String(\"P@55w0rD!\"),\n\t\t\tAllowedTenant:     pulumi.String(\"myb2ctenant.onmicrosoft.com\"),\n\t\t\tSigninTenant:      pulumi.String(\"myb2ctenant.onmicrosoft.com\"),\n\t\t\tAuthority:         pulumi.String(\"myb2ctenant.b2clogin.com\"),\n\t\t\tSigninPolicy:      pulumi.String(\"B2C_1_Login\"),\n\t\t\tSignupPolicy:      pulumi.String(\"B2C_1_Signup\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleApplicationPassword,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.apimanagement.Service;\nimport com.pulumi.azure.apimanagement.ServiceArgs;\nimport com.pulumi.azuread.Application;\nimport com.pulumi.azuread.ApplicationArgs;\nimport com.pulumi.azuread.ApplicationPassword;\nimport com.pulumi.azuread.ApplicationPasswordArgs;\nimport com.pulumi.azure.apimanagement.IdentityProviderAadb2c;\nimport com.pulumi.azure.apimanagement.IdentityProviderAadb2cArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleService = new Service(\"exampleService\", ServiceArgs.builder()\n            .name(\"example-apim\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .publisherName(\"My Company\")\n            .publisherEmail(\"company@terraform.io\")\n            .skuName(\"Developer_1\")\n            .build());\n\n        var exampleApplication = new Application(\"exampleApplication\", ApplicationArgs.builder()\n            .displayName(\"acctestam-example\")\n            .build());\n\n        var exampleApplicationPassword = new ApplicationPassword(\"exampleApplicationPassword\", ApplicationPasswordArgs.builder()\n            .applicationObjectId(exampleApplication.objectId())\n            .endDateRelative(\"36h\")\n            .build());\n\n        var exampleIdentityProviderAadb2c = new IdentityProviderAadb2c(\"exampleIdentityProviderAadb2c\", IdentityProviderAadb2cArgs.builder()\n            .resourceGroupName(example.name())\n            .apiManagementName(exampleService.name())\n            .clientId(exampleApplication.applicationId())\n            .clientSecret(\"P@55w0rD!\")\n            .allowedTenant(\"myb2ctenant.onmicrosoft.com\")\n            .signinTenant(\"myb2ctenant.onmicrosoft.com\")\n            .authority(\"myb2ctenant.b2clogin.com\")\n            .signinPolicy(\"B2C_1_Login\")\n            .signupPolicy(\"B2C_1_Signup\")\n            .build(), CustomResourceOptions.builder()\n                .dependsOn(exampleApplicationPassword)\n                .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleService:\n    type: azure:apimanagement:Service\n    name: example\n    properties:\n      name: example-apim\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      publisherName: My Company\n      publisherEmail: company@terraform.io\n      skuName: Developer_1\n  exampleApplication:\n    type: azuread:Application\n    name: example\n    properties:\n      displayName: acctestam-example\n  exampleApplicationPassword:\n    type: azuread:ApplicationPassword\n    name: example\n    properties:\n      applicationObjectId: ${exampleApplication.objectId}\n      endDateRelative: 36h\n  exampleIdentityProviderAadb2c:\n    type: azure:apimanagement:IdentityProviderAadb2c\n    name: example\n    properties:\n      resourceGroupName: ${example.name}\n      apiManagementName: ${exampleService.name}\n      clientId: ${exampleApplication.applicationId}\n      clientSecret: P@55w0rD!\n      allowedTenant: myb2ctenant.onmicrosoft.com\n      signinTenant: myb2ctenant.onmicrosoft.com\n      authority: myb2ctenant.b2clogin.com\n      signinPolicy: B2C_1_Login\n      signupPolicy: B2C_1_Signup\n    options:\n      dependsOn:\n        - ${exampleApplicationPassword}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.ApiManagement` - 2022-08-01\n\n## Import\n\nAPI Management Azure AD B2C Identity Providers can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:apimanagement/identityProviderAadb2c:IdentityProviderAadb2c example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.ApiManagement/service/service1/identityProviders/aadB2C\n```\n\n","properties":{"allowedTenant":{"type":"string","description":"The allowed AAD tenant, usually your B2C tenant domain.\n"},"apiManagementName":{"type":"string","description":"The Name of the API Management Service where this AAD Identity Provider should be created. Changing this forces a new resource to be created.\n"},"authority":{"type":"string","description":"OpenID Connect discovery endpoint hostname, usually your b2clogin.com domain.\n"},"clientId":{"type":"string","description":"Client ID of the Application in your B2C tenant.\n"},"clientLibrary":{"type":"string","description":"The client library to be used in the Azure AD B2C Identity Provider.\n"},"clientSecret":{"type":"string","description":"Client secret of the Application in your B2C tenant.\n","secret":true},"passwordResetPolicy":{"type":"string","description":"Password reset Policy Name.\n"},"profileEditingPolicy":{"type":"string","description":"Profile editing Policy Name.\n"},"resourceGroupName":{"type":"string","description":"The Name of the Resource Group where the API Management Service exists. Changing this forces a new resource to be created.\n"},"signinPolicy":{"type":"string","description":"Signin Policy Name.\n"},"signinTenant":{"type":"string","description":"The tenant to use instead of Common when logging into Active Directory, usually your B2C tenant domain.\n"},"signupPolicy":{"type":"string","description":"Signup Policy Name.\n"}},"required":["allowedTenant","apiManagementName","authority","clientId","clientSecret","resourceGroupName","signinPolicy","signinTenant","signupPolicy"],"inputProperties":{"allowedTenant":{"type":"string","description":"The allowed AAD tenant, usually your B2C tenant domain.\n"},"apiManagementName":{"type":"string","description":"The Name of the API Management Service where this AAD Identity Provider should be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"authority":{"type":"string","description":"OpenID Connect discovery endpoint hostname, usually your b2clogin.com domain.\n"},"clientId":{"type":"string","description":"Client ID of the Application in your B2C tenant.\n"},"clientLibrary":{"type":"string","description":"The client library to be used in the Azure AD B2C Identity Provider.\n"},"clientSecret":{"type":"string","description":"Client secret of the Application in your B2C tenant.\n","secret":true},"passwordResetPolicy":{"type":"string","description":"Password reset Policy Name.\n"},"profileEditingPolicy":{"type":"string","description":"Profile editing Policy Name.\n"},"resourceGroupName":{"type":"string","description":"The Name of the Resource Group where the API Management Service exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"signinPolicy":{"type":"string","description":"Signin Policy Name.\n"},"signinTenant":{"type":"string","description":"The tenant to use instead of Common when logging into Active Directory, usually your B2C tenant domain.\n"},"signupPolicy":{"type":"string","description":"Signup Policy Name.\n"}},"requiredInputs":["allowedTenant","apiManagementName","authority","clientId","clientSecret","resourceGroupName","signinPolicy","signinTenant","signupPolicy"],"stateInputs":{"description":"Input properties used for looking up and filtering IdentityProviderAadb2c resources.\n","properties":{"allowedTenant":{"type":"string","description":"The allowed AAD tenant, usually your B2C tenant domain.\n"},"apiManagementName":{"type":"string","description":"The Name of the API Management Service where this AAD Identity Provider should be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"authority":{"type":"string","description":"OpenID Connect discovery endpoint hostname, usually your b2clogin.com domain.\n"},"clientId":{"type":"string","description":"Client ID of the Application in your B2C tenant.\n"},"clientLibrary":{"type":"string","description":"The client library to be used in the Azure AD B2C Identity Provider.\n"},"clientSecret":{"type":"string","description":"Client secret of the Application in your B2C tenant.\n","secret":true},"passwordResetPolicy":{"type":"string","description":"Password reset Policy Name.\n"},"profileEditingPolicy":{"type":"string","description":"Profile editing Policy Name.\n"},"resourceGroupName":{"type":"string","description":"The Name of the Resource Group where the API Management Service exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"signinPolicy":{"type":"string","description":"Signin Policy Name.\n"},"signinTenant":{"type":"string","description":"The tenant to use instead of Common when logging into Active Directory, usually your B2C tenant domain.\n"},"signupPolicy":{"type":"string","description":"Signup Policy Name.\n"}},"type":"object"}},"azure:apimanagement/identityProviderFacebook:IdentityProviderFacebook":{"description":"Manages an API Management Facebook Identity Provider.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleService = new azure.apimanagement.Service(\"example\", {\n    name: \"example-apim\",\n    location: example.location,\n    resourceGroupName: example.name,\n    publisherName: \"My Company\",\n    publisherEmail: \"company@mycompany.io\",\n    skuName: \"Developer_1\",\n});\nconst exampleIdentityProviderFacebook = new azure.apimanagement.IdentityProviderFacebook(\"example\", {\n    resourceGroupName: example.name,\n    apiManagementName: exampleService.name,\n    appId: \"00000000000000000000000000000000\",\n    appSecret: \"00000000000000000000000000000000\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_service = azure.apimanagement.Service(\"example\",\n    name=\"example-apim\",\n    location=example.location,\n    resource_group_name=example.name,\n    publisher_name=\"My Company\",\n    publisher_email=\"company@mycompany.io\",\n    sku_name=\"Developer_1\")\nexample_identity_provider_facebook = azure.apimanagement.IdentityProviderFacebook(\"example\",\n    resource_group_name=example.name,\n    api_management_name=example_service.name,\n    app_id=\"00000000000000000000000000000000\",\n    app_secret=\"00000000000000000000000000000000\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleService = new Azure.ApiManagement.Service(\"example\", new()\n    {\n        Name = \"example-apim\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        PublisherName = \"My Company\",\n        PublisherEmail = \"company@mycompany.io\",\n        SkuName = \"Developer_1\",\n    });\n\n    var exampleIdentityProviderFacebook = new Azure.ApiManagement.IdentityProviderFacebook(\"example\", new()\n    {\n        ResourceGroupName = example.Name,\n        ApiManagementName = exampleService.Name,\n        AppId = \"00000000000000000000000000000000\",\n        AppSecret = \"00000000000000000000000000000000\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/apimanagement\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleService, err := apimanagement.NewService(ctx, \"example\", \u0026apimanagement.ServiceArgs{\n\t\t\tName:              pulumi.String(\"example-apim\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tPublisherName:     pulumi.String(\"My Company\"),\n\t\t\tPublisherEmail:    pulumi.String(\"company@mycompany.io\"),\n\t\t\tSkuName:           pulumi.String(\"Developer_1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = apimanagement.NewIdentityProviderFacebook(ctx, \"example\", \u0026apimanagement.IdentityProviderFacebookArgs{\n\t\t\tResourceGroupName: example.Name,\n\t\t\tApiManagementName: exampleService.Name,\n\t\t\tAppId:             pulumi.String(\"00000000000000000000000000000000\"),\n\t\t\tAppSecret:         pulumi.String(\"00000000000000000000000000000000\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.apimanagement.Service;\nimport com.pulumi.azure.apimanagement.ServiceArgs;\nimport com.pulumi.azure.apimanagement.IdentityProviderFacebook;\nimport com.pulumi.azure.apimanagement.IdentityProviderFacebookArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleService = new Service(\"exampleService\", ServiceArgs.builder()\n            .name(\"example-apim\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .publisherName(\"My Company\")\n            .publisherEmail(\"company@mycompany.io\")\n            .skuName(\"Developer_1\")\n            .build());\n\n        var exampleIdentityProviderFacebook = new IdentityProviderFacebook(\"exampleIdentityProviderFacebook\", IdentityProviderFacebookArgs.builder()\n            .resourceGroupName(example.name())\n            .apiManagementName(exampleService.name())\n            .appId(\"00000000000000000000000000000000\")\n            .appSecret(\"00000000000000000000000000000000\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleService:\n    type: azure:apimanagement:Service\n    name: example\n    properties:\n      name: example-apim\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      publisherName: My Company\n      publisherEmail: company@mycompany.io\n      skuName: Developer_1\n  exampleIdentityProviderFacebook:\n    type: azure:apimanagement:IdentityProviderFacebook\n    name: example\n    properties:\n      resourceGroupName: ${example.name}\n      apiManagementName: ${exampleService.name}\n      appId: '00000000000000000000000000000000'\n      appSecret: '00000000000000000000000000000000'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.ApiManagement` - 2022-08-01\n\n## Import\n\nAPI Management Facebook Identity Provider can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:apimanagement/identityProviderFacebook:IdentityProviderFacebook example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.ApiManagement/service/instance1/identityProviders/facebook\n```\n\n","properties":{"apiManagementName":{"type":"string","description":"The Name of the API Management Service where this Facebook Identity Provider should be created. Changing this forces a new resource to be created.\n"},"appId":{"type":"string","description":"App ID for Facebook.\n"},"appSecret":{"type":"string","description":"App Secret for Facebook.\n","secret":true},"resourceGroupName":{"type":"string","description":"The Name of the Resource Group where the API Management Service exists. Changing this forces a new resource to be created.\n"}},"required":["apiManagementName","appId","appSecret","resourceGroupName"],"inputProperties":{"apiManagementName":{"type":"string","description":"The Name of the API Management Service where this Facebook Identity Provider should be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"appId":{"type":"string","description":"App ID for Facebook.\n"},"appSecret":{"type":"string","description":"App Secret for Facebook.\n","secret":true},"resourceGroupName":{"type":"string","description":"The Name of the Resource Group where the API Management Service exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["apiManagementName","appId","appSecret","resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering IdentityProviderFacebook resources.\n","properties":{"apiManagementName":{"type":"string","description":"The Name of the API Management Service where this Facebook Identity Provider should be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"appId":{"type":"string","description":"App ID for Facebook.\n"},"appSecret":{"type":"string","description":"App Secret for Facebook.\n","secret":true},"resourceGroupName":{"type":"string","description":"The Name of the Resource Group where the API Management Service exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:apimanagement/identityProviderGoogle:IdentityProviderGoogle":{"description":"Manages an API Management Google Identity Provider.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleService = new azure.apimanagement.Service(\"example\", {\n    name: \"example-apim\",\n    location: example.location,\n    resourceGroupName: example.name,\n    publisherName: \"My Company\",\n    publisherEmail: \"company@mycompany.io\",\n    skuName: \"Developer_1\",\n});\nconst exampleIdentityProviderGoogle = new azure.apimanagement.IdentityProviderGoogle(\"example\", {\n    resourceGroupName: example.name,\n    apiManagementName: exampleService.name,\n    clientId: \"00000000.apps.googleusercontent.com\",\n    clientSecret: \"00000000000000000000000000000000\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_service = azure.apimanagement.Service(\"example\",\n    name=\"example-apim\",\n    location=example.location,\n    resource_group_name=example.name,\n    publisher_name=\"My Company\",\n    publisher_email=\"company@mycompany.io\",\n    sku_name=\"Developer_1\")\nexample_identity_provider_google = azure.apimanagement.IdentityProviderGoogle(\"example\",\n    resource_group_name=example.name,\n    api_management_name=example_service.name,\n    client_id=\"00000000.apps.googleusercontent.com\",\n    client_secret=\"00000000000000000000000000000000\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleService = new Azure.ApiManagement.Service(\"example\", new()\n    {\n        Name = \"example-apim\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        PublisherName = \"My Company\",\n        PublisherEmail = \"company@mycompany.io\",\n        SkuName = \"Developer_1\",\n    });\n\n    var exampleIdentityProviderGoogle = new Azure.ApiManagement.IdentityProviderGoogle(\"example\", new()\n    {\n        ResourceGroupName = example.Name,\n        ApiManagementName = exampleService.Name,\n        ClientId = \"00000000.apps.googleusercontent.com\",\n        ClientSecret = \"00000000000000000000000000000000\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/apimanagement\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleService, err := apimanagement.NewService(ctx, \"example\", \u0026apimanagement.ServiceArgs{\n\t\t\tName:              pulumi.String(\"example-apim\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tPublisherName:     pulumi.String(\"My Company\"),\n\t\t\tPublisherEmail:    pulumi.String(\"company@mycompany.io\"),\n\t\t\tSkuName:           pulumi.String(\"Developer_1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = apimanagement.NewIdentityProviderGoogle(ctx, \"example\", \u0026apimanagement.IdentityProviderGoogleArgs{\n\t\t\tResourceGroupName: example.Name,\n\t\t\tApiManagementName: exampleService.Name,\n\t\t\tClientId:          pulumi.String(\"00000000.apps.googleusercontent.com\"),\n\t\t\tClientSecret:      pulumi.String(\"00000000000000000000000000000000\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.apimanagement.Service;\nimport com.pulumi.azure.apimanagement.ServiceArgs;\nimport com.pulumi.azure.apimanagement.IdentityProviderGoogle;\nimport com.pulumi.azure.apimanagement.IdentityProviderGoogleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleService = new Service(\"exampleService\", ServiceArgs.builder()\n            .name(\"example-apim\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .publisherName(\"My Company\")\n            .publisherEmail(\"company@mycompany.io\")\n            .skuName(\"Developer_1\")\n            .build());\n\n        var exampleIdentityProviderGoogle = new IdentityProviderGoogle(\"exampleIdentityProviderGoogle\", IdentityProviderGoogleArgs.builder()\n            .resourceGroupName(example.name())\n            .apiManagementName(exampleService.name())\n            .clientId(\"00000000.apps.googleusercontent.com\")\n            .clientSecret(\"00000000000000000000000000000000\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleService:\n    type: azure:apimanagement:Service\n    name: example\n    properties:\n      name: example-apim\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      publisherName: My Company\n      publisherEmail: company@mycompany.io\n      skuName: Developer_1\n  exampleIdentityProviderGoogle:\n    type: azure:apimanagement:IdentityProviderGoogle\n    name: example\n    properties:\n      resourceGroupName: ${example.name}\n      apiManagementName: ${exampleService.name}\n      clientId: 00000000.apps.googleusercontent.com\n      clientSecret: '00000000000000000000000000000000'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.ApiManagement` - 2022-08-01\n\n## Import\n\nAPI Management Google Identity Provider can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:apimanagement/identityProviderGoogle:IdentityProviderGoogle example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.ApiManagement/service/instance1/identityProviders/google\n```\n\n","properties":{"apiManagementName":{"type":"string","description":"The Name of the API Management Service where this Google Identity Provider should be created. Changing this forces a new resource to be created.\n"},"clientId":{"type":"string","description":"Client Id for Google Sign-in.\n"},"clientSecret":{"type":"string","description":"Client secret for Google Sign-in.\n","secret":true},"resourceGroupName":{"type":"string","description":"The Name of the Resource Group where the API Management Service exists. Changing this forces a new resource to be created.\n"}},"required":["apiManagementName","clientId","clientSecret","resourceGroupName"],"inputProperties":{"apiManagementName":{"type":"string","description":"The Name of the API Management Service where this Google Identity Provider should be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"clientId":{"type":"string","description":"Client Id for Google Sign-in.\n"},"clientSecret":{"type":"string","description":"Client secret for Google Sign-in.\n","secret":true},"resourceGroupName":{"type":"string","description":"The Name of the Resource Group where the API Management Service exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["apiManagementName","clientId","clientSecret","resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering IdentityProviderGoogle resources.\n","properties":{"apiManagementName":{"type":"string","description":"The Name of the API Management Service where this Google Identity Provider should be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"clientId":{"type":"string","description":"Client Id for Google Sign-in.\n"},"clientSecret":{"type":"string","description":"Client secret for Google Sign-in.\n","secret":true},"resourceGroupName":{"type":"string","description":"The Name of the Resource Group where the API Management Service exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:apimanagement/identityProviderMicrosoft:IdentityProviderMicrosoft":{"description":"Manages an API Management Microsoft Identity Provider.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleService = new azure.apimanagement.Service(\"example\", {\n    name: \"example-apim\",\n    location: example.location,\n    resourceGroupName: example.name,\n    publisherName: \"My Company\",\n    publisherEmail: \"company@mycompany.io\",\n    skuName: \"Developer_1\",\n});\nconst exampleIdentityProviderMicrosoft = new azure.apimanagement.IdentityProviderMicrosoft(\"example\", {\n    resourceGroupName: example.name,\n    apiManagementName: exampleService.name,\n    clientId: \"00000000-0000-0000-0000-000000000000\",\n    clientSecret: \"00000000000000000000000000000000\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_service = azure.apimanagement.Service(\"example\",\n    name=\"example-apim\",\n    location=example.location,\n    resource_group_name=example.name,\n    publisher_name=\"My Company\",\n    publisher_email=\"company@mycompany.io\",\n    sku_name=\"Developer_1\")\nexample_identity_provider_microsoft = azure.apimanagement.IdentityProviderMicrosoft(\"example\",\n    resource_group_name=example.name,\n    api_management_name=example_service.name,\n    client_id=\"00000000-0000-0000-0000-000000000000\",\n    client_secret=\"00000000000000000000000000000000\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleService = new Azure.ApiManagement.Service(\"example\", new()\n    {\n        Name = \"example-apim\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        PublisherName = \"My Company\",\n        PublisherEmail = \"company@mycompany.io\",\n        SkuName = \"Developer_1\",\n    });\n\n    var exampleIdentityProviderMicrosoft = new Azure.ApiManagement.IdentityProviderMicrosoft(\"example\", new()\n    {\n        ResourceGroupName = example.Name,\n        ApiManagementName = exampleService.Name,\n        ClientId = \"00000000-0000-0000-0000-000000000000\",\n        ClientSecret = \"00000000000000000000000000000000\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/apimanagement\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleService, err := apimanagement.NewService(ctx, \"example\", \u0026apimanagement.ServiceArgs{\n\t\t\tName:              pulumi.String(\"example-apim\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tPublisherName:     pulumi.String(\"My Company\"),\n\t\t\tPublisherEmail:    pulumi.String(\"company@mycompany.io\"),\n\t\t\tSkuName:           pulumi.String(\"Developer_1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = apimanagement.NewIdentityProviderMicrosoft(ctx, \"example\", \u0026apimanagement.IdentityProviderMicrosoftArgs{\n\t\t\tResourceGroupName: example.Name,\n\t\t\tApiManagementName: exampleService.Name,\n\t\t\tClientId:          pulumi.String(\"00000000-0000-0000-0000-000000000000\"),\n\t\t\tClientSecret:      pulumi.String(\"00000000000000000000000000000000\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.apimanagement.Service;\nimport com.pulumi.azure.apimanagement.ServiceArgs;\nimport com.pulumi.azure.apimanagement.IdentityProviderMicrosoft;\nimport com.pulumi.azure.apimanagement.IdentityProviderMicrosoftArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleService = new Service(\"exampleService\", ServiceArgs.builder()\n            .name(\"example-apim\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .publisherName(\"My Company\")\n            .publisherEmail(\"company@mycompany.io\")\n            .skuName(\"Developer_1\")\n            .build());\n\n        var exampleIdentityProviderMicrosoft = new IdentityProviderMicrosoft(\"exampleIdentityProviderMicrosoft\", IdentityProviderMicrosoftArgs.builder()\n            .resourceGroupName(example.name())\n            .apiManagementName(exampleService.name())\n            .clientId(\"00000000-0000-0000-0000-000000000000\")\n            .clientSecret(\"00000000000000000000000000000000\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleService:\n    type: azure:apimanagement:Service\n    name: example\n    properties:\n      name: example-apim\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      publisherName: My Company\n      publisherEmail: company@mycompany.io\n      skuName: Developer_1\n  exampleIdentityProviderMicrosoft:\n    type: azure:apimanagement:IdentityProviderMicrosoft\n    name: example\n    properties:\n      resourceGroupName: ${example.name}\n      apiManagementName: ${exampleService.name}\n      clientId: 00000000-0000-0000-0000-000000000000\n      clientSecret: '00000000000000000000000000000000'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.ApiManagement` - 2022-08-01\n\n## Import\n\nAPI Management Microsoft Identity Provider can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:apimanagement/identityProviderMicrosoft:IdentityProviderMicrosoft example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.ApiManagement/service/instance1/identityProviders/microsoft\n```\n\n","properties":{"apiManagementName":{"type":"string","description":"The Name of the API Management Service where this Microsoft Identity Provider should be created. Changing this forces a new resource to be created.\n"},"clientId":{"type":"string","description":"Client Id of the Azure AD Application.\n"},"clientSecret":{"type":"string","description":"Client secret of the Azure AD Application.\n","secret":true},"resourceGroupName":{"type":"string","description":"The Name of the Resource Group where the API Management Service exists. Changing this forces a new resource to be created.\n"}},"required":["apiManagementName","clientId","clientSecret","resourceGroupName"],"inputProperties":{"apiManagementName":{"type":"string","description":"The Name of the API Management Service where this Microsoft Identity Provider should be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"clientId":{"type":"string","description":"Client Id of the Azure AD Application.\n"},"clientSecret":{"type":"string","description":"Client secret of the Azure AD Application.\n","secret":true},"resourceGroupName":{"type":"string","description":"The Name of the Resource Group where the API Management Service exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["apiManagementName","clientId","clientSecret","resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering IdentityProviderMicrosoft resources.\n","properties":{"apiManagementName":{"type":"string","description":"The Name of the API Management Service where this Microsoft Identity Provider should be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"clientId":{"type":"string","description":"Client Id of the Azure AD Application.\n"},"clientSecret":{"type":"string","description":"Client secret of the Azure AD Application.\n","secret":true},"resourceGroupName":{"type":"string","description":"The Name of the Resource Group where the API Management Service exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:apimanagement/identityProviderTwitter:IdentityProviderTwitter":{"description":"Manages an API Management Twitter Identity Provider.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleService = new azure.apimanagement.Service(\"example\", {\n    name: \"example-apim\",\n    location: example.location,\n    resourceGroupName: example.name,\n    publisherName: \"My Company\",\n    publisherEmail: \"company@mycompany.io\",\n    skuName: \"Developer_1\",\n});\nconst exampleIdentityProviderTwitter = new azure.apimanagement.IdentityProviderTwitter(\"example\", {\n    resourceGroupName: example.name,\n    apiManagementName: exampleService.name,\n    apiKey: \"00000000000000000000000000000000\",\n    apiSecretKey: \"00000000000000000000000000000000\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_service = azure.apimanagement.Service(\"example\",\n    name=\"example-apim\",\n    location=example.location,\n    resource_group_name=example.name,\n    publisher_name=\"My Company\",\n    publisher_email=\"company@mycompany.io\",\n    sku_name=\"Developer_1\")\nexample_identity_provider_twitter = azure.apimanagement.IdentityProviderTwitter(\"example\",\n    resource_group_name=example.name,\n    api_management_name=example_service.name,\n    api_key=\"00000000000000000000000000000000\",\n    api_secret_key=\"00000000000000000000000000000000\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleService = new Azure.ApiManagement.Service(\"example\", new()\n    {\n        Name = \"example-apim\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        PublisherName = \"My Company\",\n        PublisherEmail = \"company@mycompany.io\",\n        SkuName = \"Developer_1\",\n    });\n\n    var exampleIdentityProviderTwitter = new Azure.ApiManagement.IdentityProviderTwitter(\"example\", new()\n    {\n        ResourceGroupName = example.Name,\n        ApiManagementName = exampleService.Name,\n        ApiKey = \"00000000000000000000000000000000\",\n        ApiSecretKey = \"00000000000000000000000000000000\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/apimanagement\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleService, err := apimanagement.NewService(ctx, \"example\", \u0026apimanagement.ServiceArgs{\n\t\t\tName:              pulumi.String(\"example-apim\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tPublisherName:     pulumi.String(\"My Company\"),\n\t\t\tPublisherEmail:    pulumi.String(\"company@mycompany.io\"),\n\t\t\tSkuName:           pulumi.String(\"Developer_1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = apimanagement.NewIdentityProviderTwitter(ctx, \"example\", \u0026apimanagement.IdentityProviderTwitterArgs{\n\t\t\tResourceGroupName: example.Name,\n\t\t\tApiManagementName: exampleService.Name,\n\t\t\tApiKey:            pulumi.String(\"00000000000000000000000000000000\"),\n\t\t\tApiSecretKey:      pulumi.String(\"00000000000000000000000000000000\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.apimanagement.Service;\nimport com.pulumi.azure.apimanagement.ServiceArgs;\nimport com.pulumi.azure.apimanagement.IdentityProviderTwitter;\nimport com.pulumi.azure.apimanagement.IdentityProviderTwitterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleService = new Service(\"exampleService\", ServiceArgs.builder()\n            .name(\"example-apim\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .publisherName(\"My Company\")\n            .publisherEmail(\"company@mycompany.io\")\n            .skuName(\"Developer_1\")\n            .build());\n\n        var exampleIdentityProviderTwitter = new IdentityProviderTwitter(\"exampleIdentityProviderTwitter\", IdentityProviderTwitterArgs.builder()\n            .resourceGroupName(example.name())\n            .apiManagementName(exampleService.name())\n            .apiKey(\"00000000000000000000000000000000\")\n            .apiSecretKey(\"00000000000000000000000000000000\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleService:\n    type: azure:apimanagement:Service\n    name: example\n    properties:\n      name: example-apim\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      publisherName: My Company\n      publisherEmail: company@mycompany.io\n      skuName: Developer_1\n  exampleIdentityProviderTwitter:\n    type: azure:apimanagement:IdentityProviderTwitter\n    name: example\n    properties:\n      resourceGroupName: ${example.name}\n      apiManagementName: ${exampleService.name}\n      apiKey: '00000000000000000000000000000000'\n      apiSecretKey: '00000000000000000000000000000000'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.ApiManagement` - 2022-08-01\n\n## Import\n\nAPI Management Twitter Identity Provider can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:apimanagement/identityProviderTwitter:IdentityProviderTwitter example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.ApiManagement/service/instance1/identityProviders/twitter\n```\n\n","properties":{"apiKey":{"type":"string","description":"App Consumer API key for Twitter.\n","secret":true},"apiManagementName":{"type":"string","description":"The Name of the API Management Service where this Twitter Identity Provider should be created. Changing this forces a new resource to be created.\n"},"apiSecretKey":{"type":"string","description":"App Consumer API secret key for Twitter.\n","secret":true},"resourceGroupName":{"type":"string","description":"The Name of the Resource Group where the API Management Service exists. Changing this forces a new resource to be created.\n"}},"required":["apiKey","apiManagementName","apiSecretKey","resourceGroupName"],"inputProperties":{"apiKey":{"type":"string","description":"App Consumer API key for Twitter.\n","secret":true},"apiManagementName":{"type":"string","description":"The Name of the API Management Service where this Twitter Identity Provider should be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"apiSecretKey":{"type":"string","description":"App Consumer API secret key for Twitter.\n","secret":true},"resourceGroupName":{"type":"string","description":"The Name of the Resource Group where the API Management Service exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["apiKey","apiManagementName","apiSecretKey","resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering IdentityProviderTwitter resources.\n","properties":{"apiKey":{"type":"string","description":"App Consumer API key for Twitter.\n","secret":true},"apiManagementName":{"type":"string","description":"The Name of the API Management Service where this Twitter Identity Provider should be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"apiSecretKey":{"type":"string","description":"App Consumer API secret key for Twitter.\n","secret":true},"resourceGroupName":{"type":"string","description":"The Name of the Resource Group where the API Management Service exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:apimanagement/logger:Logger":{"description":"Manages a Logger within an API Management Service.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleInsights = new azure.appinsights.Insights(\"example\", {\n    name: \"example-appinsights\",\n    location: example.location,\n    resourceGroupName: example.name,\n    applicationType: \"other\",\n});\nconst exampleService = new azure.apimanagement.Service(\"example\", {\n    name: \"example-apim\",\n    location: example.location,\n    resourceGroupName: example.name,\n    publisherName: \"My Company\",\n    publisherEmail: \"company@exmaple.com\",\n    skuName: \"Developer_1\",\n});\nconst exampleLogger = new azure.apimanagement.Logger(\"example\", {\n    name: \"example-logger\",\n    apiManagementName: exampleService.name,\n    resourceGroupName: example.name,\n    resourceId: exampleInsights.id,\n    applicationInsights: {\n        instrumentationKey: exampleInsights.instrumentationKey,\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_insights = azure.appinsights.Insights(\"example\",\n    name=\"example-appinsights\",\n    location=example.location,\n    resource_group_name=example.name,\n    application_type=\"other\")\nexample_service = azure.apimanagement.Service(\"example\",\n    name=\"example-apim\",\n    location=example.location,\n    resource_group_name=example.name,\n    publisher_name=\"My Company\",\n    publisher_email=\"company@exmaple.com\",\n    sku_name=\"Developer_1\")\nexample_logger = azure.apimanagement.Logger(\"example\",\n    name=\"example-logger\",\n    api_management_name=example_service.name,\n    resource_group_name=example.name,\n    resource_id=example_insights.id,\n    application_insights={\n        \"instrumentation_key\": example_insights.instrumentation_key,\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleInsights = new Azure.AppInsights.Insights(\"example\", new()\n    {\n        Name = \"example-appinsights\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        ApplicationType = \"other\",\n    });\n\n    var exampleService = new Azure.ApiManagement.Service(\"example\", new()\n    {\n        Name = \"example-apim\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        PublisherName = \"My Company\",\n        PublisherEmail = \"company@exmaple.com\",\n        SkuName = \"Developer_1\",\n    });\n\n    var exampleLogger = new Azure.ApiManagement.Logger(\"example\", new()\n    {\n        Name = \"example-logger\",\n        ApiManagementName = exampleService.Name,\n        ResourceGroupName = example.Name,\n        ResourceId = exampleInsights.Id,\n        ApplicationInsights = new Azure.ApiManagement.Inputs.LoggerApplicationInsightsArgs\n        {\n            InstrumentationKey = exampleInsights.InstrumentationKey,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/apimanagement\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/appinsights\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleInsights, err := appinsights.NewInsights(ctx, \"example\", \u0026appinsights.InsightsArgs{\n\t\t\tName:              pulumi.String(\"example-appinsights\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tApplicationType:   pulumi.String(\"other\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleService, err := apimanagement.NewService(ctx, \"example\", \u0026apimanagement.ServiceArgs{\n\t\t\tName:              pulumi.String(\"example-apim\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tPublisherName:     pulumi.String(\"My Company\"),\n\t\t\tPublisherEmail:    pulumi.String(\"company@exmaple.com\"),\n\t\t\tSkuName:           pulumi.String(\"Developer_1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = apimanagement.NewLogger(ctx, \"example\", \u0026apimanagement.LoggerArgs{\n\t\t\tName:              pulumi.String(\"example-logger\"),\n\t\t\tApiManagementName: exampleService.Name,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tResourceId:        exampleInsights.ID(),\n\t\t\tApplicationInsights: \u0026apimanagement.LoggerApplicationInsightsArgs{\n\t\t\t\tInstrumentationKey: exampleInsights.InstrumentationKey,\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.appinsights.Insights;\nimport com.pulumi.azure.appinsights.InsightsArgs;\nimport com.pulumi.azure.apimanagement.Service;\nimport com.pulumi.azure.apimanagement.ServiceArgs;\nimport com.pulumi.azure.apimanagement.Logger;\nimport com.pulumi.azure.apimanagement.LoggerArgs;\nimport com.pulumi.azure.apimanagement.inputs.LoggerApplicationInsightsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleInsights = new Insights(\"exampleInsights\", InsightsArgs.builder()\n            .name(\"example-appinsights\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .applicationType(\"other\")\n            .build());\n\n        var exampleService = new Service(\"exampleService\", ServiceArgs.builder()\n            .name(\"example-apim\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .publisherName(\"My Company\")\n            .publisherEmail(\"company@exmaple.com\")\n            .skuName(\"Developer_1\")\n            .build());\n\n        var exampleLogger = new Logger(\"exampleLogger\", LoggerArgs.builder()\n            .name(\"example-logger\")\n            .apiManagementName(exampleService.name())\n            .resourceGroupName(example.name())\n            .resourceId(exampleInsights.id())\n            .applicationInsights(LoggerApplicationInsightsArgs.builder()\n                .instrumentationKey(exampleInsights.instrumentationKey())\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleInsights:\n    type: azure:appinsights:Insights\n    name: example\n    properties:\n      name: example-appinsights\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      applicationType: other\n  exampleService:\n    type: azure:apimanagement:Service\n    name: example\n    properties:\n      name: example-apim\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      publisherName: My Company\n      publisherEmail: company@exmaple.com\n      skuName: Developer_1\n  exampleLogger:\n    type: azure:apimanagement:Logger\n    name: example\n    properties:\n      name: example-logger\n      apiManagementName: ${exampleService.name}\n      resourceGroupName: ${example.name}\n      resourceId: ${exampleInsights.id}\n      applicationInsights:\n        instrumentationKey: ${exampleInsights.instrumentationKey}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.ApiManagement` - 2022-08-01\n\n## Import\n\nAPI Management Loggers can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:apimanagement/logger:Logger example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/example-rg/providers/Microsoft.ApiManagement/service/example-apim/loggers/example-logger\n```\n\n","properties":{"apiManagementName":{"type":"string","description":"The name of the API Management Service. Changing this forces a new resource to be created.\n"},"applicationInsights":{"$ref":"#/types/azure:apimanagement/LoggerApplicationInsights:LoggerApplicationInsights","description":"An \u003cspan pulumi-lang-nodejs=\"`applicationInsights`\" pulumi-lang-dotnet=\"`ApplicationInsights`\" pulumi-lang-go=\"`applicationInsights`\" pulumi-lang-python=\"`application_insights`\" pulumi-lang-yaml=\"`applicationInsights`\" pulumi-lang-java=\"`applicationInsights`\"\u003e`application_insights`\u003c/span\u003e block as documented below. Changing this forces a new resource to be created.\n"},"buffered":{"type":"boolean","description":"Specifies whether records should be buffered in the Logger prior to publishing. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"description":{"type":"string","description":"A description of this Logger.\n"},"eventhub":{"$ref":"#/types/azure:apimanagement/LoggerEventhub:LoggerEventhub","description":"An \u003cspan pulumi-lang-nodejs=\"`eventhub`\" pulumi-lang-dotnet=\"`Eventhub`\" pulumi-lang-go=\"`eventhub`\" pulumi-lang-python=\"`eventhub`\" pulumi-lang-yaml=\"`eventhub`\" pulumi-lang-java=\"`eventhub`\"\u003e`eventhub`\u003c/span\u003e block as documented below. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"The name of this Logger, which must be unique within the API Management Service. Changing this forces a new resource to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group in which the API Management Service exists. Changing this forces a new resource to be created.\n"},"resourceId":{"type":"string","description":"The target resource id which will be linked in the API-Management portal page. Changing this forces a new resource to be created.\n"}},"required":["apiManagementName","name","resourceGroupName"],"inputProperties":{"apiManagementName":{"type":"string","description":"The name of the API Management Service. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"applicationInsights":{"$ref":"#/types/azure:apimanagement/LoggerApplicationInsights:LoggerApplicationInsights","description":"An \u003cspan pulumi-lang-nodejs=\"`applicationInsights`\" pulumi-lang-dotnet=\"`ApplicationInsights`\" pulumi-lang-go=\"`applicationInsights`\" pulumi-lang-python=\"`application_insights`\" pulumi-lang-yaml=\"`applicationInsights`\" pulumi-lang-java=\"`applicationInsights`\"\u003e`application_insights`\u003c/span\u003e block as documented below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"buffered":{"type":"boolean","description":"Specifies whether records should be buffered in the Logger prior to publishing. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"description":{"type":"string","description":"A description of this Logger.\n"},"eventhub":{"$ref":"#/types/azure:apimanagement/LoggerEventhub:LoggerEventhub","description":"An \u003cspan pulumi-lang-nodejs=\"`eventhub`\" pulumi-lang-dotnet=\"`Eventhub`\" pulumi-lang-go=\"`eventhub`\" pulumi-lang-python=\"`eventhub`\" pulumi-lang-yaml=\"`eventhub`\" pulumi-lang-java=\"`eventhub`\"\u003e`eventhub`\u003c/span\u003e block as documented below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of this Logger, which must be unique within the API Management Service. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group in which the API Management Service exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceId":{"type":"string","description":"The target resource id which will be linked in the API-Management portal page. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["apiManagementName","resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering Logger resources.\n","properties":{"apiManagementName":{"type":"string","description":"The name of the API Management Service. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"applicationInsights":{"$ref":"#/types/azure:apimanagement/LoggerApplicationInsights:LoggerApplicationInsights","description":"An \u003cspan pulumi-lang-nodejs=\"`applicationInsights`\" pulumi-lang-dotnet=\"`ApplicationInsights`\" pulumi-lang-go=\"`applicationInsights`\" pulumi-lang-python=\"`application_insights`\" pulumi-lang-yaml=\"`applicationInsights`\" pulumi-lang-java=\"`applicationInsights`\"\u003e`application_insights`\u003c/span\u003e block as documented below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"buffered":{"type":"boolean","description":"Specifies whether records should be buffered in the Logger prior to publishing. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"description":{"type":"string","description":"A description of this Logger.\n"},"eventhub":{"$ref":"#/types/azure:apimanagement/LoggerEventhub:LoggerEventhub","description":"An \u003cspan pulumi-lang-nodejs=\"`eventhub`\" pulumi-lang-dotnet=\"`Eventhub`\" pulumi-lang-go=\"`eventhub`\" pulumi-lang-python=\"`eventhub`\" pulumi-lang-yaml=\"`eventhub`\" pulumi-lang-java=\"`eventhub`\"\u003e`eventhub`\u003c/span\u003e block as documented below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of this Logger, which must be unique within the API Management Service. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group in which the API Management Service exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceId":{"type":"string","description":"The target resource id which will be linked in the API-Management portal page. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:apimanagement/namedValue:NamedValue":{"description":"Manages an API Management Named Value.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleService = new azure.apimanagement.Service(\"example\", {\n    name: \"example-apim\",\n    location: example.location,\n    resourceGroupName: example.name,\n    publisherName: \"pub1\",\n    publisherEmail: \"pub1@email.com\",\n    skuName: \"Developer_1\",\n});\nconst exampleNamedValue = new azure.apimanagement.NamedValue(\"example\", {\n    name: \"example-apimg\",\n    resourceGroupName: example.name,\n    apiManagementName: exampleService.name,\n    displayName: \"ExampleProperty\",\n    value: \"Example Value\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_service = azure.apimanagement.Service(\"example\",\n    name=\"example-apim\",\n    location=example.location,\n    resource_group_name=example.name,\n    publisher_name=\"pub1\",\n    publisher_email=\"pub1@email.com\",\n    sku_name=\"Developer_1\")\nexample_named_value = azure.apimanagement.NamedValue(\"example\",\n    name=\"example-apimg\",\n    resource_group_name=example.name,\n    api_management_name=example_service.name,\n    display_name=\"ExampleProperty\",\n    value=\"Example Value\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleService = new Azure.ApiManagement.Service(\"example\", new()\n    {\n        Name = \"example-apim\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        PublisherName = \"pub1\",\n        PublisherEmail = \"pub1@email.com\",\n        SkuName = \"Developer_1\",\n    });\n\n    var exampleNamedValue = new Azure.ApiManagement.NamedValue(\"example\", new()\n    {\n        Name = \"example-apimg\",\n        ResourceGroupName = example.Name,\n        ApiManagementName = exampleService.Name,\n        DisplayName = \"ExampleProperty\",\n        Value = \"Example Value\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/apimanagement\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleService, err := apimanagement.NewService(ctx, \"example\", \u0026apimanagement.ServiceArgs{\n\t\t\tName:              pulumi.String(\"example-apim\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tPublisherName:     pulumi.String(\"pub1\"),\n\t\t\tPublisherEmail:    pulumi.String(\"pub1@email.com\"),\n\t\t\tSkuName:           pulumi.String(\"Developer_1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = apimanagement.NewNamedValue(ctx, \"example\", \u0026apimanagement.NamedValueArgs{\n\t\t\tName:              pulumi.String(\"example-apimg\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tApiManagementName: exampleService.Name,\n\t\t\tDisplayName:       pulumi.String(\"ExampleProperty\"),\n\t\t\tValue:             pulumi.String(\"Example Value\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.apimanagement.Service;\nimport com.pulumi.azure.apimanagement.ServiceArgs;\nimport com.pulumi.azure.apimanagement.NamedValue;\nimport com.pulumi.azure.apimanagement.NamedValueArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleService = new Service(\"exampleService\", ServiceArgs.builder()\n            .name(\"example-apim\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .publisherName(\"pub1\")\n            .publisherEmail(\"pub1@email.com\")\n            .skuName(\"Developer_1\")\n            .build());\n\n        var exampleNamedValue = new NamedValue(\"exampleNamedValue\", NamedValueArgs.builder()\n            .name(\"example-apimg\")\n            .resourceGroupName(example.name())\n            .apiManagementName(exampleService.name())\n            .displayName(\"ExampleProperty\")\n            .value(\"Example Value\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleService:\n    type: azure:apimanagement:Service\n    name: example\n    properties:\n      name: example-apim\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      publisherName: pub1\n      publisherEmail: pub1@email.com\n      skuName: Developer_1\n  exampleNamedValue:\n    type: azure:apimanagement:NamedValue\n    name: example\n    properties:\n      name: example-apimg\n      resourceGroupName: ${example.name}\n      apiManagementName: ${exampleService.name}\n      displayName: ExampleProperty\n      value: Example Value\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.ApiManagement` - 2022-08-01\n\n## Import\n\nAPI Management Properties can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:apimanagement/namedValue:NamedValue example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/example-resources/providers/Microsoft.ApiManagement/service/example-apim/namedValues/example-apimp\n```\n\n","properties":{"apiManagementName":{"type":"string","description":"The name of the API Management Service in which the API Management Named Value should exist. Changing this forces a new resource to be created.\n"},"displayName":{"type":"string","description":"The display name of this API Management Named Value.\n"},"name":{"type":"string","description":"The name of the API Management Named Value. Changing this forces a new resource to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group in which the API Management Named Value should exist. Changing this forces a new resource to be created.\n"},"secret":{"type":"boolean","description":"Specifies whether the API Management Named Value is secret. Valid values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. The default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **NOTE:** setting the field \u003cspan pulumi-lang-nodejs=\"`secret`\" pulumi-lang-dotnet=\"`Secret`\" pulumi-lang-go=\"`secret`\" pulumi-lang-python=\"`secret`\" pulumi-lang-yaml=\"`secret`\" pulumi-lang-java=\"`secret`\"\u003e`secret`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e doesn't make this field sensitive in the provider, instead it marks the value as secret and encrypts the value in Azure.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"A list of tags to be applied to the API Management Named Value.\n"},"value":{"type":"string","description":"The value of this API Management Named Value.\n","secret":true},"valueFromKeyVault":{"$ref":"#/types/azure:apimanagement/NamedValueValueFromKeyVault:NamedValueValueFromKeyVault","description":"A \u003cspan pulumi-lang-nodejs=\"`valueFromKeyVault`\" pulumi-lang-dotnet=\"`ValueFromKeyVault`\" pulumi-lang-go=\"`valueFromKeyVault`\" pulumi-lang-python=\"`value_from_key_vault`\" pulumi-lang-yaml=\"`valueFromKeyVault`\" pulumi-lang-java=\"`valueFromKeyVault`\"\u003e`value_from_key_vault`\u003c/span\u003e block as defined below. If specified, \u003cspan pulumi-lang-nodejs=\"`secret`\" pulumi-lang-dotnet=\"`Secret`\" pulumi-lang-go=\"`secret`\" pulumi-lang-python=\"`secret`\" pulumi-lang-yaml=\"`secret`\" pulumi-lang-java=\"`secret`\"\u003e`secret`\u003c/span\u003e must also be set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"}},"required":["apiManagementName","displayName","name","resourceGroupName"],"inputProperties":{"apiManagementName":{"type":"string","description":"The name of the API Management Service in which the API Management Named Value should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"displayName":{"type":"string","description":"The display name of this API Management Named Value.\n"},"name":{"type":"string","description":"The name of the API Management Named Value. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group in which the API Management Named Value should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"secret":{"type":"boolean","description":"Specifies whether the API Management Named Value is secret. Valid values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. The default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **NOTE:** setting the field \u003cspan pulumi-lang-nodejs=\"`secret`\" pulumi-lang-dotnet=\"`Secret`\" pulumi-lang-go=\"`secret`\" pulumi-lang-python=\"`secret`\" pulumi-lang-yaml=\"`secret`\" pulumi-lang-java=\"`secret`\"\u003e`secret`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e doesn't make this field sensitive in the provider, instead it marks the value as secret and encrypts the value in Azure.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"A list of tags to be applied to the API Management Named Value.\n"},"value":{"type":"string","description":"The value of this API Management Named Value.\n","secret":true},"valueFromKeyVault":{"$ref":"#/types/azure:apimanagement/NamedValueValueFromKeyVault:NamedValueValueFromKeyVault","description":"A \u003cspan pulumi-lang-nodejs=\"`valueFromKeyVault`\" pulumi-lang-dotnet=\"`ValueFromKeyVault`\" pulumi-lang-go=\"`valueFromKeyVault`\" pulumi-lang-python=\"`value_from_key_vault`\" pulumi-lang-yaml=\"`valueFromKeyVault`\" pulumi-lang-java=\"`valueFromKeyVault`\"\u003e`value_from_key_vault`\u003c/span\u003e block as defined below. If specified, \u003cspan pulumi-lang-nodejs=\"`secret`\" pulumi-lang-dotnet=\"`Secret`\" pulumi-lang-go=\"`secret`\" pulumi-lang-python=\"`secret`\" pulumi-lang-yaml=\"`secret`\" pulumi-lang-java=\"`secret`\"\u003e`secret`\u003c/span\u003e must also be set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"}},"requiredInputs":["apiManagementName","displayName","resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering NamedValue resources.\n","properties":{"apiManagementName":{"type":"string","description":"The name of the API Management Service in which the API Management Named Value should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"displayName":{"type":"string","description":"The display name of this API Management Named Value.\n"},"name":{"type":"string","description":"The name of the API Management Named Value. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group in which the API Management Named Value should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"secret":{"type":"boolean","description":"Specifies whether the API Management Named Value is secret. Valid values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. The default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **NOTE:** setting the field \u003cspan pulumi-lang-nodejs=\"`secret`\" pulumi-lang-dotnet=\"`Secret`\" pulumi-lang-go=\"`secret`\" pulumi-lang-python=\"`secret`\" pulumi-lang-yaml=\"`secret`\" pulumi-lang-java=\"`secret`\"\u003e`secret`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e doesn't make this field sensitive in the provider, instead it marks the value as secret and encrypts the value in Azure.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"A list of tags to be applied to the API Management Named Value.\n"},"value":{"type":"string","description":"The value of this API Management Named Value.\n","secret":true},"valueFromKeyVault":{"$ref":"#/types/azure:apimanagement/NamedValueValueFromKeyVault:NamedValueValueFromKeyVault","description":"A \u003cspan pulumi-lang-nodejs=\"`valueFromKeyVault`\" pulumi-lang-dotnet=\"`ValueFromKeyVault`\" pulumi-lang-go=\"`valueFromKeyVault`\" pulumi-lang-python=\"`value_from_key_vault`\" pulumi-lang-yaml=\"`valueFromKeyVault`\" pulumi-lang-java=\"`valueFromKeyVault`\"\u003e`value_from_key_vault`\u003c/span\u003e block as defined below. If specified, \u003cspan pulumi-lang-nodejs=\"`secret`\" pulumi-lang-dotnet=\"`Secret`\" pulumi-lang-go=\"`secret`\" pulumi-lang-python=\"`secret`\" pulumi-lang-yaml=\"`secret`\" pulumi-lang-java=\"`secret`\"\u003e`secret`\u003c/span\u003e must also be set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"}},"type":"object"}},"azure:apimanagement/notificationRecipientEmail:NotificationRecipientEmail":{"description":"Manages a API Management Notification Recipient Email.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleService = new azure.apimanagement.Service(\"example\", {\n    name: \"example-apim\",\n    location: example.location,\n    resourceGroupName: example.name,\n    publisherName: \"My Company\",\n    publisherEmail: \"company@terraform.io\",\n    skuName: \"Developer_1\",\n});\nconst exampleNotificationRecipientEmail = new azure.apimanagement.NotificationRecipientEmail(\"example\", {\n    apiManagementId: exampleService.id,\n    notificationType: \"AccountClosedPublisher\",\n    email: \"foo@bar.com\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_service = azure.apimanagement.Service(\"example\",\n    name=\"example-apim\",\n    location=example.location,\n    resource_group_name=example.name,\n    publisher_name=\"My Company\",\n    publisher_email=\"company@terraform.io\",\n    sku_name=\"Developer_1\")\nexample_notification_recipient_email = azure.apimanagement.NotificationRecipientEmail(\"example\",\n    api_management_id=example_service.id,\n    notification_type=\"AccountClosedPublisher\",\n    email=\"foo@bar.com\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleService = new Azure.ApiManagement.Service(\"example\", new()\n    {\n        Name = \"example-apim\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        PublisherName = \"My Company\",\n        PublisherEmail = \"company@terraform.io\",\n        SkuName = \"Developer_1\",\n    });\n\n    var exampleNotificationRecipientEmail = new Azure.ApiManagement.NotificationRecipientEmail(\"example\", new()\n    {\n        ApiManagementId = exampleService.Id,\n        NotificationType = \"AccountClosedPublisher\",\n        Email = \"foo@bar.com\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/apimanagement\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleService, err := apimanagement.NewService(ctx, \"example\", \u0026apimanagement.ServiceArgs{\n\t\t\tName:              pulumi.String(\"example-apim\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tPublisherName:     pulumi.String(\"My Company\"),\n\t\t\tPublisherEmail:    pulumi.String(\"company@terraform.io\"),\n\t\t\tSkuName:           pulumi.String(\"Developer_1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = apimanagement.NewNotificationRecipientEmail(ctx, \"example\", \u0026apimanagement.NotificationRecipientEmailArgs{\n\t\t\tApiManagementId:  exampleService.ID(),\n\t\t\tNotificationType: pulumi.String(\"AccountClosedPublisher\"),\n\t\t\tEmail:            pulumi.String(\"foo@bar.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.apimanagement.Service;\nimport com.pulumi.azure.apimanagement.ServiceArgs;\nimport com.pulumi.azure.apimanagement.NotificationRecipientEmail;\nimport com.pulumi.azure.apimanagement.NotificationRecipientEmailArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleService = new Service(\"exampleService\", ServiceArgs.builder()\n            .name(\"example-apim\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .publisherName(\"My Company\")\n            .publisherEmail(\"company@terraform.io\")\n            .skuName(\"Developer_1\")\n            .build());\n\n        var exampleNotificationRecipientEmail = new NotificationRecipientEmail(\"exampleNotificationRecipientEmail\", NotificationRecipientEmailArgs.builder()\n            .apiManagementId(exampleService.id())\n            .notificationType(\"AccountClosedPublisher\")\n            .email(\"foo@bar.com\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleService:\n    type: azure:apimanagement:Service\n    name: example\n    properties:\n      name: example-apim\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      publisherName: My Company\n      publisherEmail: company@terraform.io\n      skuName: Developer_1\n  exampleNotificationRecipientEmail:\n    type: azure:apimanagement:NotificationRecipientEmail\n    name: example\n    properties:\n      apiManagementId: ${exampleService.id}\n      notificationType: AccountClosedPublisher\n      email: foo@bar.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.ApiManagement` - 2022-08-01\n\n## Import\n\nAPI Management Notification Recipient Emails can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:apimanagement/notificationRecipientEmail:NotificationRecipientEmail example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.ApiManagement/service/service1/notifications/notificationName1/recipientEmails/email1\n```\n\n","properties":{"apiManagementId":{"type":"string","description":"The ID of the API Management Service from which to create this Notification Recipient Email. Changing this forces a new API Management Notification Recipient Email to be created.\n"},"email":{"type":"string","description":"The recipient email address. Changing this forces a new API Management Notification Recipient Email to be created.\n"},"notificationType":{"type":"string","description":"The Notification Name to be received. Changing this forces a new API Management Notification Recipient Email to be created. Possible values are `AccountClosedPublisher`, `BCC`, `NewApplicationNotificationMessage`, `NewIssuePublisherNotificationMessage`, `PurchasePublisherNotificationMessage`, `QuotaLimitApproachingPublisherNotificationMessage`, and `RequestPublisherNotificationMessage`.\n"}},"required":["apiManagementId","email","notificationType"],"inputProperties":{"apiManagementId":{"type":"string","description":"The ID of the API Management Service from which to create this Notification Recipient Email. Changing this forces a new API Management Notification Recipient Email to be created.\n","willReplaceOnChanges":true},"email":{"type":"string","description":"The recipient email address. Changing this forces a new API Management Notification Recipient Email to be created.\n","willReplaceOnChanges":true},"notificationType":{"type":"string","description":"The Notification Name to be received. Changing this forces a new API Management Notification Recipient Email to be created. Possible values are `AccountClosedPublisher`, `BCC`, `NewApplicationNotificationMessage`, `NewIssuePublisherNotificationMessage`, `PurchasePublisherNotificationMessage`, `QuotaLimitApproachingPublisherNotificationMessage`, and `RequestPublisherNotificationMessage`.\n","willReplaceOnChanges":true}},"requiredInputs":["apiManagementId","email","notificationType"],"stateInputs":{"description":"Input properties used for looking up and filtering NotificationRecipientEmail resources.\n","properties":{"apiManagementId":{"type":"string","description":"The ID of the API Management Service from which to create this Notification Recipient Email. Changing this forces a new API Management Notification Recipient Email to be created.\n","willReplaceOnChanges":true},"email":{"type":"string","description":"The recipient email address. Changing this forces a new API Management Notification Recipient Email to be created.\n","willReplaceOnChanges":true},"notificationType":{"type":"string","description":"The Notification Name to be received. Changing this forces a new API Management Notification Recipient Email to be created. Possible values are `AccountClosedPublisher`, `BCC`, `NewApplicationNotificationMessage`, `NewIssuePublisherNotificationMessage`, `PurchasePublisherNotificationMessage`, `QuotaLimitApproachingPublisherNotificationMessage`, and `RequestPublisherNotificationMessage`.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:apimanagement/notificationRecipientUser:NotificationRecipientUser":{"description":"Manages a API Management Notification Recipient User.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleService = new azure.apimanagement.Service(\"example\", {\n    name: \"example-apim\",\n    location: example.location,\n    resourceGroupName: example.name,\n    publisherName: \"My Company\",\n    publisherEmail: \"company@terraform.io\",\n    skuName: \"Developer_1\",\n});\nconst exampleUser = new azure.apimanagement.User(\"example\", {\n    userId: \"123\",\n    apiManagementName: exampleService.name,\n    resourceGroupName: example.name,\n    firstName: \"Example\",\n    lastName: \"User\",\n    email: \"foo@bar.com\",\n    state: \"active\",\n});\nconst exampleNotificationRecipientUser = new azure.apimanagement.NotificationRecipientUser(\"example\", {\n    apiManagementId: exampleService.id,\n    notificationType: \"AccountClosedPublisher\",\n    userId: exampleUser.userId,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_service = azure.apimanagement.Service(\"example\",\n    name=\"example-apim\",\n    location=example.location,\n    resource_group_name=example.name,\n    publisher_name=\"My Company\",\n    publisher_email=\"company@terraform.io\",\n    sku_name=\"Developer_1\")\nexample_user = azure.apimanagement.User(\"example\",\n    user_id=\"123\",\n    api_management_name=example_service.name,\n    resource_group_name=example.name,\n    first_name=\"Example\",\n    last_name=\"User\",\n    email=\"foo@bar.com\",\n    state=\"active\")\nexample_notification_recipient_user = azure.apimanagement.NotificationRecipientUser(\"example\",\n    api_management_id=example_service.id,\n    notification_type=\"AccountClosedPublisher\",\n    user_id=example_user.user_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleService = new Azure.ApiManagement.Service(\"example\", new()\n    {\n        Name = \"example-apim\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        PublisherName = \"My Company\",\n        PublisherEmail = \"company@terraform.io\",\n        SkuName = \"Developer_1\",\n    });\n\n    var exampleUser = new Azure.ApiManagement.User(\"example\", new()\n    {\n        UserId = \"123\",\n        ApiManagementName = exampleService.Name,\n        ResourceGroupName = example.Name,\n        FirstName = \"Example\",\n        LastName = \"User\",\n        Email = \"foo@bar.com\",\n        State = \"active\",\n    });\n\n    var exampleNotificationRecipientUser = new Azure.ApiManagement.NotificationRecipientUser(\"example\", new()\n    {\n        ApiManagementId = exampleService.Id,\n        NotificationType = \"AccountClosedPublisher\",\n        UserId = exampleUser.UserId,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/apimanagement\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleService, err := apimanagement.NewService(ctx, \"example\", \u0026apimanagement.ServiceArgs{\n\t\t\tName:              pulumi.String(\"example-apim\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tPublisherName:     pulumi.String(\"My Company\"),\n\t\t\tPublisherEmail:    pulumi.String(\"company@terraform.io\"),\n\t\t\tSkuName:           pulumi.String(\"Developer_1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleUser, err := apimanagement.NewUser(ctx, \"example\", \u0026apimanagement.UserArgs{\n\t\t\tUserId:            pulumi.String(\"123\"),\n\t\t\tApiManagementName: exampleService.Name,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tFirstName:         pulumi.String(\"Example\"),\n\t\t\tLastName:          pulumi.String(\"User\"),\n\t\t\tEmail:             pulumi.String(\"foo@bar.com\"),\n\t\t\tState:             pulumi.String(\"active\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = apimanagement.NewNotificationRecipientUser(ctx, \"example\", \u0026apimanagement.NotificationRecipientUserArgs{\n\t\t\tApiManagementId:  exampleService.ID(),\n\t\t\tNotificationType: pulumi.String(\"AccountClosedPublisher\"),\n\t\t\tUserId:           exampleUser.UserId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.apimanagement.Service;\nimport com.pulumi.azure.apimanagement.ServiceArgs;\nimport com.pulumi.azure.apimanagement.User;\nimport com.pulumi.azure.apimanagement.UserArgs;\nimport com.pulumi.azure.apimanagement.NotificationRecipientUser;\nimport com.pulumi.azure.apimanagement.NotificationRecipientUserArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleService = new Service(\"exampleService\", ServiceArgs.builder()\n            .name(\"example-apim\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .publisherName(\"My Company\")\n            .publisherEmail(\"company@terraform.io\")\n            .skuName(\"Developer_1\")\n            .build());\n\n        var exampleUser = new User(\"exampleUser\", UserArgs.builder()\n            .userId(\"123\")\n            .apiManagementName(exampleService.name())\n            .resourceGroupName(example.name())\n            .firstName(\"Example\")\n            .lastName(\"User\")\n            .email(\"foo@bar.com\")\n            .state(\"active\")\n            .build());\n\n        var exampleNotificationRecipientUser = new NotificationRecipientUser(\"exampleNotificationRecipientUser\", NotificationRecipientUserArgs.builder()\n            .apiManagementId(exampleService.id())\n            .notificationType(\"AccountClosedPublisher\")\n            .userId(exampleUser.userId())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleService:\n    type: azure:apimanagement:Service\n    name: example\n    properties:\n      name: example-apim\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      publisherName: My Company\n      publisherEmail: company@terraform.io\n      skuName: Developer_1\n  exampleUser:\n    type: azure:apimanagement:User\n    name: example\n    properties:\n      userId: '123'\n      apiManagementName: ${exampleService.name}\n      resourceGroupName: ${example.name}\n      firstName: Example\n      lastName: User\n      email: foo@bar.com\n      state: active\n  exampleNotificationRecipientUser:\n    type: azure:apimanagement:NotificationRecipientUser\n    name: example\n    properties:\n      apiManagementId: ${exampleService.id}\n      notificationType: AccountClosedPublisher\n      userId: ${exampleUser.userId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.ApiManagement` - 2022-08-01\n\n## Import\n\nAPI Management Notification Recipient Users can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:apimanagement/notificationRecipientUser:NotificationRecipientUser example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.ApiManagement/service/service1/notifications/notificationName1/recipientUsers/userid1\n```\n\n","properties":{"apiManagementId":{"type":"string","description":"The ID of the API Management Service from which to create this Notification Recipient User. Changing this forces a new API Management Notification Recipient User to be created.\n"},"notificationType":{"type":"string","description":"The Notification Name to be received. Changing this forces a new API Management Notification Recipient User to be created. Possible values are `AccountClosedPublisher`, `BCC`, `NewApplicationNotificationMessage`, `NewIssuePublisherNotificationMessage`, `PurchasePublisherNotificationMessage`, `QuotaLimitApproachingPublisherNotificationMessage`, and `RequestPublisherNotificationMessage`.\n"},"userId":{"type":"string","description":"The recipient user ID. Changing this forces a new API Management Notification Recipient User to be created.\n"}},"required":["apiManagementId","notificationType","userId"],"inputProperties":{"apiManagementId":{"type":"string","description":"The ID of the API Management Service from which to create this Notification Recipient User. Changing this forces a new API Management Notification Recipient User to be created.\n","willReplaceOnChanges":true},"notificationType":{"type":"string","description":"The Notification Name to be received. Changing this forces a new API Management Notification Recipient User to be created. Possible values are `AccountClosedPublisher`, `BCC`, `NewApplicationNotificationMessage`, `NewIssuePublisherNotificationMessage`, `PurchasePublisherNotificationMessage`, `QuotaLimitApproachingPublisherNotificationMessage`, and `RequestPublisherNotificationMessage`.\n","willReplaceOnChanges":true},"userId":{"type":"string","description":"The recipient user ID. Changing this forces a new API Management Notification Recipient User to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["apiManagementId","notificationType","userId"],"stateInputs":{"description":"Input properties used for looking up and filtering NotificationRecipientUser resources.\n","properties":{"apiManagementId":{"type":"string","description":"The ID of the API Management Service from which to create this Notification Recipient User. Changing this forces a new API Management Notification Recipient User to be created.\n","willReplaceOnChanges":true},"notificationType":{"type":"string","description":"The Notification Name to be received. Changing this forces a new API Management Notification Recipient User to be created. Possible values are `AccountClosedPublisher`, `BCC`, `NewApplicationNotificationMessage`, `NewIssuePublisherNotificationMessage`, `PurchasePublisherNotificationMessage`, `QuotaLimitApproachingPublisherNotificationMessage`, and `RequestPublisherNotificationMessage`.\n","willReplaceOnChanges":true},"userId":{"type":"string","description":"The recipient user ID. Changing this forces a new API Management Notification Recipient User to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:apimanagement/openIdConnectProvider:OpenIdConnectProvider":{"description":"Manages an OpenID Connect Provider within a API Management Service.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleService = new azure.apimanagement.Service(\"example\", {\n    name: \"example-apim\",\n    location: example.location,\n    resourceGroupName: example.name,\n    publisherName: \"My Company\",\n    publisherEmail: \"company@exmaple.com\",\n    skuName: \"Developer_1\",\n});\nconst exampleOpenIdConnectProvider = new azure.apimanagement.OpenIdConnectProvider(\"example\", {\n    name: \"example-provider\",\n    apiManagementName: exampleService.name,\n    resourceGroupName: example.name,\n    clientId: \"00001111-2222-3333-4444-555566667777\",\n    clientSecret: \"00001111-423egvwdcsjx-00001111\",\n    displayName: \"Example Provider\",\n    metadataEndpoint: \"https://example.com/example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_service = azure.apimanagement.Service(\"example\",\n    name=\"example-apim\",\n    location=example.location,\n    resource_group_name=example.name,\n    publisher_name=\"My Company\",\n    publisher_email=\"company@exmaple.com\",\n    sku_name=\"Developer_1\")\nexample_open_id_connect_provider = azure.apimanagement.OpenIdConnectProvider(\"example\",\n    name=\"example-provider\",\n    api_management_name=example_service.name,\n    resource_group_name=example.name,\n    client_id=\"00001111-2222-3333-4444-555566667777\",\n    client_secret=\"00001111-423egvwdcsjx-00001111\",\n    display_name=\"Example Provider\",\n    metadata_endpoint=\"https://example.com/example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleService = new Azure.ApiManagement.Service(\"example\", new()\n    {\n        Name = \"example-apim\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        PublisherName = \"My Company\",\n        PublisherEmail = \"company@exmaple.com\",\n        SkuName = \"Developer_1\",\n    });\n\n    var exampleOpenIdConnectProvider = new Azure.ApiManagement.OpenIdConnectProvider(\"example\", new()\n    {\n        Name = \"example-provider\",\n        ApiManagementName = exampleService.Name,\n        ResourceGroupName = example.Name,\n        ClientId = \"00001111-2222-3333-4444-555566667777\",\n        ClientSecret = \"00001111-423egvwdcsjx-00001111\",\n        DisplayName = \"Example Provider\",\n        MetadataEndpoint = \"https://example.com/example\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/apimanagement\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleService, err := apimanagement.NewService(ctx, \"example\", \u0026apimanagement.ServiceArgs{\n\t\t\tName:              pulumi.String(\"example-apim\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tPublisherName:     pulumi.String(\"My Company\"),\n\t\t\tPublisherEmail:    pulumi.String(\"company@exmaple.com\"),\n\t\t\tSkuName:           pulumi.String(\"Developer_1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = apimanagement.NewOpenIdConnectProvider(ctx, \"example\", \u0026apimanagement.OpenIdConnectProviderArgs{\n\t\t\tName:              pulumi.String(\"example-provider\"),\n\t\t\tApiManagementName: exampleService.Name,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tClientId:          pulumi.String(\"00001111-2222-3333-4444-555566667777\"),\n\t\t\tClientSecret:      pulumi.String(\"00001111-423egvwdcsjx-00001111\"),\n\t\t\tDisplayName:       pulumi.String(\"Example Provider\"),\n\t\t\tMetadataEndpoint:  pulumi.String(\"https://example.com/example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.apimanagement.Service;\nimport com.pulumi.azure.apimanagement.ServiceArgs;\nimport com.pulumi.azure.apimanagement.OpenIdConnectProvider;\nimport com.pulumi.azure.apimanagement.OpenIdConnectProviderArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleService = new Service(\"exampleService\", ServiceArgs.builder()\n            .name(\"example-apim\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .publisherName(\"My Company\")\n            .publisherEmail(\"company@exmaple.com\")\n            .skuName(\"Developer_1\")\n            .build());\n\n        var exampleOpenIdConnectProvider = new OpenIdConnectProvider(\"exampleOpenIdConnectProvider\", OpenIdConnectProviderArgs.builder()\n            .name(\"example-provider\")\n            .apiManagementName(exampleService.name())\n            .resourceGroupName(example.name())\n            .clientId(\"00001111-2222-3333-4444-555566667777\")\n            .clientSecret(\"00001111-423egvwdcsjx-00001111\")\n            .displayName(\"Example Provider\")\n            .metadataEndpoint(\"https://example.com/example\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleService:\n    type: azure:apimanagement:Service\n    name: example\n    properties:\n      name: example-apim\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      publisherName: My Company\n      publisherEmail: company@exmaple.com\n      skuName: Developer_1\n  exampleOpenIdConnectProvider:\n    type: azure:apimanagement:OpenIdConnectProvider\n    name: example\n    properties:\n      name: example-provider\n      apiManagementName: ${exampleService.name}\n      resourceGroupName: ${example.name}\n      clientId: 00001111-2222-3333-4444-555566667777\n      clientSecret: 00001111-423egvwdcsjx-00001111\n      displayName: Example Provider\n      metadataEndpoint: https://example.com/example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.ApiManagement` - 2022-08-01\n\n## Import\n\nAPI Management OpenID Connect Providers can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:apimanagement/openIdConnectProvider:OpenIdConnectProvider example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.ApiManagement/service/instance1/openidConnectProviders/provider1\n```\n\n","properties":{"apiManagementName":{"type":"string","description":"The name of the API Management Service in which this OpenID Connect Provider should be created. Changing this forces a new resource to be created.\n"},"clientId":{"type":"string","description":"The Client ID used for the Client Application.\n","secret":true},"clientSecret":{"type":"string","description":"The Client Secret used for the Client Application.\n","secret":true},"description":{"type":"string","description":"A description of this OpenID Connect Provider.\n"},"displayName":{"type":"string","description":"A user-friendly name for this OpenID Connect Provider.\n"},"metadataEndpoint":{"type":"string","description":"The URI of the Metadata endpoint.\n"},"name":{"type":"string","description":"the Name of the OpenID Connect Provider which should be created within the API Management Service. Changing this forces a new resource to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the API Management Service exists. Changing this forces a new resource to be created.\n"}},"required":["apiManagementName","clientId","clientSecret","displayName","metadataEndpoint","name","resourceGroupName"],"inputProperties":{"apiManagementName":{"type":"string","description":"The name of the API Management Service in which this OpenID Connect Provider should be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"clientId":{"type":"string","description":"The Client ID used for the Client Application.\n","secret":true},"clientSecret":{"type":"string","description":"The Client Secret used for the Client Application.\n","secret":true},"description":{"type":"string","description":"A description of this OpenID Connect Provider.\n"},"displayName":{"type":"string","description":"A user-friendly name for this OpenID Connect Provider.\n"},"metadataEndpoint":{"type":"string","description":"The URI of the Metadata endpoint.\n"},"name":{"type":"string","description":"the Name of the OpenID Connect Provider which should be created within the API Management Service. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the API Management Service exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["apiManagementName","clientId","clientSecret","displayName","metadataEndpoint","resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering OpenIdConnectProvider resources.\n","properties":{"apiManagementName":{"type":"string","description":"The name of the API Management Service in which this OpenID Connect Provider should be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"clientId":{"type":"string","description":"The Client ID used for the Client Application.\n","secret":true},"clientSecret":{"type":"string","description":"The Client Secret used for the Client Application.\n","secret":true},"description":{"type":"string","description":"A description of this OpenID Connect Provider.\n"},"displayName":{"type":"string","description":"A user-friendly name for this OpenID Connect Provider.\n"},"metadataEndpoint":{"type":"string","description":"The URI of the Metadata endpoint.\n"},"name":{"type":"string","description":"the Name of the OpenID Connect Provider which should be created within the API Management Service. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the API Management Service exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:apimanagement/policy:Policy":{"description":"Manages a API Management service Policy.\n\n\u003e **Note:** This resource will, upon creation, **overwrite any existing policy in the API Management service**, as there is no feasible way to test whether the policy has been modified from the default. Similarly, when this resource is destroyed, the API Management service will revert to its default policy.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\nimport * as std from \"@pulumi/std\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleService = new azure.apimanagement.Service(\"example\", {\n    name: \"example-apim\",\n    location: example.location,\n    resourceGroupName: example.name,\n    publisherName: \"pub1\",\n    publisherEmail: \"pub1@email.com\",\n    skuName: \"Developer_1\",\n});\nconst exampleNamedValue = new azure.apimanagement.NamedValue(\"example\", {\n    name: \"example-apimg\",\n    resourceGroupName: example.name,\n    apiManagementName: exampleService.name,\n    displayName: \"ExampleProperty\",\n    value: \"Example Value\",\n});\nconst examplePolicy = new azure.apimanagement.Policy(\"example\", {\n    apiManagementId: exampleService.id,\n    xmlContent: std.file({\n        input: \"example.xml\",\n    }).then(invoke =\u003e invoke.result),\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\nimport pulumi_std as std\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_service = azure.apimanagement.Service(\"example\",\n    name=\"example-apim\",\n    location=example.location,\n    resource_group_name=example.name,\n    publisher_name=\"pub1\",\n    publisher_email=\"pub1@email.com\",\n    sku_name=\"Developer_1\")\nexample_named_value = azure.apimanagement.NamedValue(\"example\",\n    name=\"example-apimg\",\n    resource_group_name=example.name,\n    api_management_name=example_service.name,\n    display_name=\"ExampleProperty\",\n    value=\"Example Value\")\nexample_policy = azure.apimanagement.Policy(\"example\",\n    api_management_id=example_service.id,\n    xml_content=std.file(input=\"example.xml\").result)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleService = new Azure.ApiManagement.Service(\"example\", new()\n    {\n        Name = \"example-apim\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        PublisherName = \"pub1\",\n        PublisherEmail = \"pub1@email.com\",\n        SkuName = \"Developer_1\",\n    });\n\n    var exampleNamedValue = new Azure.ApiManagement.NamedValue(\"example\", new()\n    {\n        Name = \"example-apimg\",\n        ResourceGroupName = example.Name,\n        ApiManagementName = exampleService.Name,\n        DisplayName = \"ExampleProperty\",\n        Value = \"Example Value\",\n    });\n\n    var examplePolicy = new Azure.ApiManagement.Policy(\"example\", new()\n    {\n        ApiManagementId = exampleService.Id,\n        XmlContent = Std.File.Invoke(new()\n        {\n            Input = \"example.xml\",\n        }).Apply(invoke =\u003e invoke.Result),\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/apimanagement\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleService, err := apimanagement.NewService(ctx, \"example\", \u0026apimanagement.ServiceArgs{\n\t\t\tName:              pulumi.String(\"example-apim\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tPublisherName:     pulumi.String(\"pub1\"),\n\t\t\tPublisherEmail:    pulumi.String(\"pub1@email.com\"),\n\t\t\tSkuName:           pulumi.String(\"Developer_1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = apimanagement.NewNamedValue(ctx, \"example\", \u0026apimanagement.NamedValueArgs{\n\t\t\tName:              pulumi.String(\"example-apimg\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tApiManagementName: exampleService.Name,\n\t\t\tDisplayName:       pulumi.String(\"ExampleProperty\"),\n\t\t\tValue:             pulumi.String(\"Example Value\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"example.xml\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = apimanagement.NewPolicy(ctx, \"example\", \u0026apimanagement.PolicyArgs{\n\t\t\tApiManagementId: exampleService.ID(),\n\t\t\tXmlContent:      pulumi.String(invokeFile.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.apimanagement.Service;\nimport com.pulumi.azure.apimanagement.ServiceArgs;\nimport com.pulumi.azure.apimanagement.NamedValue;\nimport com.pulumi.azure.apimanagement.NamedValueArgs;\nimport com.pulumi.azure.apimanagement.Policy;\nimport com.pulumi.azure.apimanagement.PolicyArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.FileArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleService = new Service(\"exampleService\", ServiceArgs.builder()\n            .name(\"example-apim\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .publisherName(\"pub1\")\n            .publisherEmail(\"pub1@email.com\")\n            .skuName(\"Developer_1\")\n            .build());\n\n        var exampleNamedValue = new NamedValue(\"exampleNamedValue\", NamedValueArgs.builder()\n            .name(\"example-apimg\")\n            .resourceGroupName(example.name())\n            .apiManagementName(exampleService.name())\n            .displayName(\"ExampleProperty\")\n            .value(\"Example Value\")\n            .build());\n\n        var examplePolicy = new Policy(\"examplePolicy\", PolicyArgs.builder()\n            .apiManagementId(exampleService.id())\n            .xmlContent(StdFunctions.file(FileArgs.builder()\n                .input(\"example.xml\")\n                .build()).result())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleService:\n    type: azure:apimanagement:Service\n    name: example\n    properties:\n      name: example-apim\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      publisherName: pub1\n      publisherEmail: pub1@email.com\n      skuName: Developer_1\n  exampleNamedValue:\n    type: azure:apimanagement:NamedValue\n    name: example\n    properties:\n      name: example-apimg\n      resourceGroupName: ${example.name}\n      apiManagementName: ${exampleService.name}\n      displayName: ExampleProperty\n      value: Example Value\n  examplePolicy:\n    type: azure:apimanagement:Policy\n    name: example\n    properties:\n      apiManagementId: ${exampleService.id}\n      xmlContent:\n        fn::invoke:\n          function: std:file\n          arguments:\n            input: example.xml\n          return: result\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.ApiManagement` - 2024-05-01, 2022-08-01\n\n## Import\n\nAPI Management service Policys can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:apimanagement/policy:Policy example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.ApiManagement/service/service1\n```\n\n","properties":{"apiManagementId":{"type":"string","description":"The ID of the API Management service. Changing this forces a new API Management service Policy to be created.\n"},"xmlContent":{"type":"string","description":"The XML Content for this Policy as a string. To integrate frontend and backend services in Azure API Management, utilize the [`set-backend-service`](https://learn.microsoft.com/azure/api-management/set-backend-service-policy) policy, specifying the `base-url` value. Typically, this value corresponds to the \u003cspan pulumi-lang-nodejs=\"`url`\" pulumi-lang-dotnet=\"`Url`\" pulumi-lang-go=\"`url`\" pulumi-lang-python=\"`url`\" pulumi-lang-yaml=\"`url`\" pulumi-lang-java=\"`url`\"\u003e`url`\u003c/span\u003e property defined in the `Backend` resource configuration.\n"},"xmlLink":{"type":"string","description":"A link to a Policy XML Document, which must be publicly available.\n"}},"required":["apiManagementId","xmlContent"],"inputProperties":{"apiManagementId":{"type":"string","description":"The ID of the API Management service. Changing this forces a new API Management service Policy to be created.\n","willReplaceOnChanges":true},"xmlContent":{"type":"string","description":"The XML Content for this Policy as a string. To integrate frontend and backend services in Azure API Management, utilize the [`set-backend-service`](https://learn.microsoft.com/azure/api-management/set-backend-service-policy) policy, specifying the `base-url` value. Typically, this value corresponds to the \u003cspan pulumi-lang-nodejs=\"`url`\" pulumi-lang-dotnet=\"`Url`\" pulumi-lang-go=\"`url`\" pulumi-lang-python=\"`url`\" pulumi-lang-yaml=\"`url`\" pulumi-lang-java=\"`url`\"\u003e`url`\u003c/span\u003e property defined in the `Backend` resource configuration.\n"},"xmlLink":{"type":"string","description":"A link to a Policy XML Document, which must be publicly available.\n"}},"requiredInputs":["apiManagementId"],"stateInputs":{"description":"Input properties used for looking up and filtering Policy resources.\n","properties":{"apiManagementId":{"type":"string","description":"The ID of the API Management service. Changing this forces a new API Management service Policy to be created.\n","willReplaceOnChanges":true},"xmlContent":{"type":"string","description":"The XML Content for this Policy as a string. To integrate frontend and backend services in Azure API Management, utilize the [`set-backend-service`](https://learn.microsoft.com/azure/api-management/set-backend-service-policy) policy, specifying the `base-url` value. Typically, this value corresponds to the \u003cspan pulumi-lang-nodejs=\"`url`\" pulumi-lang-dotnet=\"`Url`\" pulumi-lang-go=\"`url`\" pulumi-lang-python=\"`url`\" pulumi-lang-yaml=\"`url`\" pulumi-lang-java=\"`url`\"\u003e`url`\u003c/span\u003e property defined in the `Backend` resource configuration.\n"},"xmlLink":{"type":"string","description":"A link to a Policy XML Document, which must be publicly available.\n"}},"type":"object"}},"azure:apimanagement/policyFragment:PolicyFragment":{"description":"Manages an Api Management Policy Fragment.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\nimport * as std from \"@pulumi/std\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleService = new azure.apimanagement.Service(\"example\", {\n    name: \"example-apim\",\n    location: example.location,\n    resourceGroupName: example.name,\n    publisherName: \"pub1\",\n    publisherEmail: \"pub1@email.com\",\n    skuName: \"Developer_1\",\n});\nconst examplePolicyFragment = new azure.apimanagement.PolicyFragment(\"example\", {\n    apiManagementId: exampleService.id,\n    name: \"example-policy-fragment\",\n    format: \"xml\",\n    value: std.file({\n        input: \"policy-fragment-1.xml\",\n    }).then(invoke =\u003e invoke.result),\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\nimport pulumi_std as std\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_service = azure.apimanagement.Service(\"example\",\n    name=\"example-apim\",\n    location=example.location,\n    resource_group_name=example.name,\n    publisher_name=\"pub1\",\n    publisher_email=\"pub1@email.com\",\n    sku_name=\"Developer_1\")\nexample_policy_fragment = azure.apimanagement.PolicyFragment(\"example\",\n    api_management_id=example_service.id,\n    name=\"example-policy-fragment\",\n    format=\"xml\",\n    value=std.file(input=\"policy-fragment-1.xml\").result)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleService = new Azure.ApiManagement.Service(\"example\", new()\n    {\n        Name = \"example-apim\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        PublisherName = \"pub1\",\n        PublisherEmail = \"pub1@email.com\",\n        SkuName = \"Developer_1\",\n    });\n\n    var examplePolicyFragment = new Azure.ApiManagement.PolicyFragment(\"example\", new()\n    {\n        ApiManagementId = exampleService.Id,\n        Name = \"example-policy-fragment\",\n        Format = \"xml\",\n        Value = Std.File.Invoke(new()\n        {\n            Input = \"policy-fragment-1.xml\",\n        }).Apply(invoke =\u003e invoke.Result),\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/apimanagement\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleService, err := apimanagement.NewService(ctx, \"example\", \u0026apimanagement.ServiceArgs{\n\t\t\tName:              pulumi.String(\"example-apim\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tPublisherName:     pulumi.String(\"pub1\"),\n\t\t\tPublisherEmail:    pulumi.String(\"pub1@email.com\"),\n\t\t\tSkuName:           pulumi.String(\"Developer_1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"policy-fragment-1.xml\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = apimanagement.NewPolicyFragment(ctx, \"example\", \u0026apimanagement.PolicyFragmentArgs{\n\t\t\tApiManagementId: exampleService.ID(),\n\t\t\tName:            pulumi.String(\"example-policy-fragment\"),\n\t\t\tFormat:          pulumi.String(\"xml\"),\n\t\t\tValue:           pulumi.String(invokeFile.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.apimanagement.Service;\nimport com.pulumi.azure.apimanagement.ServiceArgs;\nimport com.pulumi.azure.apimanagement.PolicyFragment;\nimport com.pulumi.azure.apimanagement.PolicyFragmentArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.FileArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleService = new Service(\"exampleService\", ServiceArgs.builder()\n            .name(\"example-apim\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .publisherName(\"pub1\")\n            .publisherEmail(\"pub1@email.com\")\n            .skuName(\"Developer_1\")\n            .build());\n\n        var examplePolicyFragment = new PolicyFragment(\"examplePolicyFragment\", PolicyFragmentArgs.builder()\n            .apiManagementId(exampleService.id())\n            .name(\"example-policy-fragment\")\n            .format(\"xml\")\n            .value(StdFunctions.file(FileArgs.builder()\n                .input(\"policy-fragment-1.xml\")\n                .build()).result())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleService:\n    type: azure:apimanagement:Service\n    name: example\n    properties:\n      name: example-apim\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      publisherName: pub1\n      publisherEmail: pub1@email.com\n      skuName: Developer_1\n  examplePolicyFragment:\n    type: azure:apimanagement:PolicyFragment\n    name: example\n    properties:\n      apiManagementId: ${exampleService.id}\n      name: example-policy-fragment\n      format: xml\n      value:\n        fn::invoke:\n          function: std:file\n          arguments:\n            input: policy-fragment-1.xml\n          return: result\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.ApiManagement` - 2022-08-01\n\n## Import\n\nApi Management Policy Fragments can be imported using the `resource id`, e.g.\n\n\u003e **Note:** Due to the behaviour of the API, Api Management Policy Fragments can only be imported as \u003cspan pulumi-lang-nodejs=\"`xml`\" pulumi-lang-dotnet=\"`Xml`\" pulumi-lang-go=\"`xml`\" pulumi-lang-python=\"`xml`\" pulumi-lang-yaml=\"`xml`\" pulumi-lang-java=\"`xml`\"\u003e`xml`\u003c/span\u003e, but can be updated to the desired format after importing.\n\n```sh\n$ pulumi import azure:apimanagement/policyFragment:PolicyFragment example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.ApiManagement/service/instance1/policyFragments/policyFragment1\n```\n\n","properties":{"apiManagementId":{"type":"string","description":"The id of the API Management Service. Changing this forces a new Api Management Policy Fragment to be created.\n"},"description":{"type":"string","description":"The description for the Policy Fragment.\n"},"format":{"type":"string","description":"The format of the Policy Fragment. Possible values are \u003cspan pulumi-lang-nodejs=\"`xml`\" pulumi-lang-dotnet=\"`Xml`\" pulumi-lang-go=\"`xml`\" pulumi-lang-python=\"`xml`\" pulumi-lang-yaml=\"`xml`\" pulumi-lang-java=\"`xml`\"\u003e`xml`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`rawxml`\" pulumi-lang-dotnet=\"`Rawxml`\" pulumi-lang-go=\"`rawxml`\" pulumi-lang-python=\"`rawxml`\" pulumi-lang-yaml=\"`rawxml`\" pulumi-lang-java=\"`rawxml`\"\u003e`rawxml`\u003c/span\u003e. Default is \u003cspan pulumi-lang-nodejs=\"`xml`\" pulumi-lang-dotnet=\"`Xml`\" pulumi-lang-go=\"`xml`\" pulumi-lang-python=\"`xml`\" pulumi-lang-yaml=\"`xml`\" pulumi-lang-java=\"`xml`\"\u003e`xml`\u003c/span\u003e.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`value`\" pulumi-lang-dotnet=\"`Value`\" pulumi-lang-go=\"`value`\" pulumi-lang-python=\"`value`\" pulumi-lang-yaml=\"`value`\" pulumi-lang-java=\"`value`\"\u003e`value`\u003c/span\u003e property will be updated to reflect the corresponding format when \u003cspan pulumi-lang-nodejs=\"`format`\" pulumi-lang-dotnet=\"`Format`\" pulumi-lang-go=\"`format`\" pulumi-lang-python=\"`format`\" pulumi-lang-yaml=\"`format`\" pulumi-lang-java=\"`format`\"\u003e`format`\u003c/span\u003e is updated.\n"},"name":{"type":"string","description":"The name which should be used for this Api Management Policy Fragment. Changing this forces a new Api Management Policy Fragment to be created.\n"},"value":{"type":"string","description":"The value of the Policy Fragment.\n\n\u003e **Note:** Be aware of the two format possibilities. If the \u003cspan pulumi-lang-nodejs=\"`value`\" pulumi-lang-dotnet=\"`Value`\" pulumi-lang-go=\"`value`\" pulumi-lang-python=\"`value`\" pulumi-lang-yaml=\"`value`\" pulumi-lang-java=\"`value`\"\u003e`value`\u003c/span\u003e is not applied and continues to cause a diff the format could be wrong.\n"}},"required":["apiManagementId","name","value"],"inputProperties":{"apiManagementId":{"type":"string","description":"The id of the API Management Service. Changing this forces a new Api Management Policy Fragment to be created.\n","willReplaceOnChanges":true},"description":{"type":"string","description":"The description for the Policy Fragment.\n"},"format":{"type":"string","description":"The format of the Policy Fragment. Possible values are \u003cspan pulumi-lang-nodejs=\"`xml`\" pulumi-lang-dotnet=\"`Xml`\" pulumi-lang-go=\"`xml`\" pulumi-lang-python=\"`xml`\" pulumi-lang-yaml=\"`xml`\" pulumi-lang-java=\"`xml`\"\u003e`xml`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`rawxml`\" pulumi-lang-dotnet=\"`Rawxml`\" pulumi-lang-go=\"`rawxml`\" pulumi-lang-python=\"`rawxml`\" pulumi-lang-yaml=\"`rawxml`\" pulumi-lang-java=\"`rawxml`\"\u003e`rawxml`\u003c/span\u003e. Default is \u003cspan pulumi-lang-nodejs=\"`xml`\" pulumi-lang-dotnet=\"`Xml`\" pulumi-lang-go=\"`xml`\" pulumi-lang-python=\"`xml`\" pulumi-lang-yaml=\"`xml`\" pulumi-lang-java=\"`xml`\"\u003e`xml`\u003c/span\u003e.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`value`\" pulumi-lang-dotnet=\"`Value`\" pulumi-lang-go=\"`value`\" pulumi-lang-python=\"`value`\" pulumi-lang-yaml=\"`value`\" pulumi-lang-java=\"`value`\"\u003e`value`\u003c/span\u003e property will be updated to reflect the corresponding format when \u003cspan pulumi-lang-nodejs=\"`format`\" pulumi-lang-dotnet=\"`Format`\" pulumi-lang-go=\"`format`\" pulumi-lang-python=\"`format`\" pulumi-lang-yaml=\"`format`\" pulumi-lang-java=\"`format`\"\u003e`format`\u003c/span\u003e is updated.\n"},"name":{"type":"string","description":"The name which should be used for this Api Management Policy Fragment. Changing this forces a new Api Management Policy Fragment to be created.\n","willReplaceOnChanges":true},"value":{"type":"string","description":"The value of the Policy Fragment.\n\n\u003e **Note:** Be aware of the two format possibilities. If the \u003cspan pulumi-lang-nodejs=\"`value`\" pulumi-lang-dotnet=\"`Value`\" pulumi-lang-go=\"`value`\" pulumi-lang-python=\"`value`\" pulumi-lang-yaml=\"`value`\" pulumi-lang-java=\"`value`\"\u003e`value`\u003c/span\u003e is not applied and continues to cause a diff the format could be wrong.\n"}},"requiredInputs":["apiManagementId","value"],"stateInputs":{"description":"Input properties used for looking up and filtering PolicyFragment resources.\n","properties":{"apiManagementId":{"type":"string","description":"The id of the API Management Service. Changing this forces a new Api Management Policy Fragment to be created.\n","willReplaceOnChanges":true},"description":{"type":"string","description":"The description for the Policy Fragment.\n"},"format":{"type":"string","description":"The format of the Policy Fragment. Possible values are \u003cspan pulumi-lang-nodejs=\"`xml`\" pulumi-lang-dotnet=\"`Xml`\" pulumi-lang-go=\"`xml`\" pulumi-lang-python=\"`xml`\" pulumi-lang-yaml=\"`xml`\" pulumi-lang-java=\"`xml`\"\u003e`xml`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`rawxml`\" pulumi-lang-dotnet=\"`Rawxml`\" pulumi-lang-go=\"`rawxml`\" pulumi-lang-python=\"`rawxml`\" pulumi-lang-yaml=\"`rawxml`\" pulumi-lang-java=\"`rawxml`\"\u003e`rawxml`\u003c/span\u003e. Default is \u003cspan pulumi-lang-nodejs=\"`xml`\" pulumi-lang-dotnet=\"`Xml`\" pulumi-lang-go=\"`xml`\" pulumi-lang-python=\"`xml`\" pulumi-lang-yaml=\"`xml`\" pulumi-lang-java=\"`xml`\"\u003e`xml`\u003c/span\u003e.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`value`\" pulumi-lang-dotnet=\"`Value`\" pulumi-lang-go=\"`value`\" pulumi-lang-python=\"`value`\" pulumi-lang-yaml=\"`value`\" pulumi-lang-java=\"`value`\"\u003e`value`\u003c/span\u003e property will be updated to reflect the corresponding format when \u003cspan pulumi-lang-nodejs=\"`format`\" pulumi-lang-dotnet=\"`Format`\" pulumi-lang-go=\"`format`\" pulumi-lang-python=\"`format`\" pulumi-lang-yaml=\"`format`\" pulumi-lang-java=\"`format`\"\u003e`format`\u003c/span\u003e is updated.\n"},"name":{"type":"string","description":"The name which should be used for this Api Management Policy Fragment. Changing this forces a new Api Management Policy Fragment to be created.\n","willReplaceOnChanges":true},"value":{"type":"string","description":"The value of the Policy Fragment.\n\n\u003e **Note:** Be aware of the two format possibilities. If the \u003cspan pulumi-lang-nodejs=\"`value`\" pulumi-lang-dotnet=\"`Value`\" pulumi-lang-go=\"`value`\" pulumi-lang-python=\"`value`\" pulumi-lang-yaml=\"`value`\" pulumi-lang-java=\"`value`\"\u003e`value`\u003c/span\u003e is not applied and continues to cause a diff the format could be wrong.\n"}},"type":"object"}},"azure:apimanagement/product:Product":{"description":"Manages an API Management Product.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleService = new azure.apimanagement.Service(\"example\", {\n    name: \"example-apim\",\n    location: example.location,\n    resourceGroupName: example.name,\n    publisherName: \"My Company\",\n    publisherEmail: \"company@exmaple.com\",\n    skuName: \"Developer_1\",\n});\nconst exampleProduct = new azure.apimanagement.Product(\"example\", {\n    productId: \"test-product\",\n    apiManagementName: exampleService.name,\n    resourceGroupName: example.name,\n    displayName: \"Test Product\",\n    subscriptionRequired: true,\n    approvalRequired: true,\n    published: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_service = azure.apimanagement.Service(\"example\",\n    name=\"example-apim\",\n    location=example.location,\n    resource_group_name=example.name,\n    publisher_name=\"My Company\",\n    publisher_email=\"company@exmaple.com\",\n    sku_name=\"Developer_1\")\nexample_product = azure.apimanagement.Product(\"example\",\n    product_id=\"test-product\",\n    api_management_name=example_service.name,\n    resource_group_name=example.name,\n    display_name=\"Test Product\",\n    subscription_required=True,\n    approval_required=True,\n    published=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleService = new Azure.ApiManagement.Service(\"example\", new()\n    {\n        Name = \"example-apim\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        PublisherName = \"My Company\",\n        PublisherEmail = \"company@exmaple.com\",\n        SkuName = \"Developer_1\",\n    });\n\n    var exampleProduct = new Azure.ApiManagement.Product(\"example\", new()\n    {\n        ProductId = \"test-product\",\n        ApiManagementName = exampleService.Name,\n        ResourceGroupName = example.Name,\n        DisplayName = \"Test Product\",\n        SubscriptionRequired = true,\n        ApprovalRequired = true,\n        Published = true,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/apimanagement\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleService, err := apimanagement.NewService(ctx, \"example\", \u0026apimanagement.ServiceArgs{\n\t\t\tName:              pulumi.String(\"example-apim\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tPublisherName:     pulumi.String(\"My Company\"),\n\t\t\tPublisherEmail:    pulumi.String(\"company@exmaple.com\"),\n\t\t\tSkuName:           pulumi.String(\"Developer_1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = apimanagement.NewProduct(ctx, \"example\", \u0026apimanagement.ProductArgs{\n\t\t\tProductId:            pulumi.String(\"test-product\"),\n\t\t\tApiManagementName:    exampleService.Name,\n\t\t\tResourceGroupName:    example.Name,\n\t\t\tDisplayName:          pulumi.String(\"Test Product\"),\n\t\t\tSubscriptionRequired: pulumi.Bool(true),\n\t\t\tApprovalRequired:     pulumi.Bool(true),\n\t\t\tPublished:            pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.apimanagement.Service;\nimport com.pulumi.azure.apimanagement.ServiceArgs;\nimport com.pulumi.azure.apimanagement.Product;\nimport com.pulumi.azure.apimanagement.ProductArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleService = new Service(\"exampleService\", ServiceArgs.builder()\n            .name(\"example-apim\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .publisherName(\"My Company\")\n            .publisherEmail(\"company@exmaple.com\")\n            .skuName(\"Developer_1\")\n            .build());\n\n        var exampleProduct = new Product(\"exampleProduct\", ProductArgs.builder()\n            .productId(\"test-product\")\n            .apiManagementName(exampleService.name())\n            .resourceGroupName(example.name())\n            .displayName(\"Test Product\")\n            .subscriptionRequired(true)\n            .approvalRequired(true)\n            .published(true)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleService:\n    type: azure:apimanagement:Service\n    name: example\n    properties:\n      name: example-apim\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      publisherName: My Company\n      publisherEmail: company@exmaple.com\n      skuName: Developer_1\n  exampleProduct:\n    type: azure:apimanagement:Product\n    name: example\n    properties:\n      productId: test-product\n      apiManagementName: ${exampleService.name}\n      resourceGroupName: ${example.name}\n      displayName: Test Product\n      subscriptionRequired: true\n      approvalRequired: true\n      published: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.ApiManagement` - 2022-08-01\n\n## Import\n\nAPI Management Products can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:apimanagement/product:Product example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.ApiManagement/service/instance1/products/myproduct\n```\n\n","properties":{"apiManagementName":{"type":"string","description":"The name of the API Management Service. Changing this forces a new resource to be created.\n"},"approvalRequired":{"type":"boolean","description":"Do subscribers need to be approved prior to being able to use the Product?\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`approvalRequired`\" pulumi-lang-dotnet=\"`ApprovalRequired`\" pulumi-lang-go=\"`approvalRequired`\" pulumi-lang-python=\"`approval_required`\" pulumi-lang-yaml=\"`approvalRequired`\" pulumi-lang-java=\"`approvalRequired`\"\u003e`approval_required`\u003c/span\u003e can only be set when \u003cspan pulumi-lang-nodejs=\"`subscriptionRequired`\" pulumi-lang-dotnet=\"`SubscriptionRequired`\" pulumi-lang-go=\"`subscriptionRequired`\" pulumi-lang-python=\"`subscription_required`\" pulumi-lang-yaml=\"`subscriptionRequired`\" pulumi-lang-java=\"`subscriptionRequired`\"\u003e`subscription_required`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"description":{"type":"string","description":"A description of this Product, which may include HTML formatting tags.\n"},"displayName":{"type":"string","description":"The Display Name for this API Management Product.\n"},"productId":{"type":"string","description":"The Identifier for this Product, which must be unique within the API Management Service. Changing this forces a new resource to be created.\n"},"published":{"type":"boolean","description":"Is this Product Published?\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group in which the API Management Service should be exist. Changing this forces a new resource to be created.\n"},"subscriptionRequired":{"type":"boolean","description":"Is a Subscription required to access API's included in this Product? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"subscriptionsLimit":{"type":"integer","description":"The number of subscriptions a user can have to this Product at the same time.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`subscriptionsLimit`\" pulumi-lang-dotnet=\"`SubscriptionsLimit`\" pulumi-lang-go=\"`subscriptionsLimit`\" pulumi-lang-python=\"`subscriptions_limit`\" pulumi-lang-yaml=\"`subscriptionsLimit`\" pulumi-lang-java=\"`subscriptionsLimit`\"\u003e`subscriptions_limit`\u003c/span\u003e can only be set when \u003cspan pulumi-lang-nodejs=\"`subscriptionRequired`\" pulumi-lang-dotnet=\"`SubscriptionRequired`\" pulumi-lang-go=\"`subscriptionRequired`\" pulumi-lang-python=\"`subscription_required`\" pulumi-lang-yaml=\"`subscriptionRequired`\" pulumi-lang-java=\"`subscriptionRequired`\"\u003e`subscription_required`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"terms":{"type":"string","description":"The Terms and Conditions for this Product, which must be accepted by Developers before they can begin the Subscription process.\n"}},"required":["apiManagementName","displayName","productId","published","resourceGroupName"],"inputProperties":{"apiManagementName":{"type":"string","description":"The name of the API Management Service. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"approvalRequired":{"type":"boolean","description":"Do subscribers need to be approved prior to being able to use the Product?\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`approvalRequired`\" pulumi-lang-dotnet=\"`ApprovalRequired`\" pulumi-lang-go=\"`approvalRequired`\" pulumi-lang-python=\"`approval_required`\" pulumi-lang-yaml=\"`approvalRequired`\" pulumi-lang-java=\"`approvalRequired`\"\u003e`approval_required`\u003c/span\u003e can only be set when \u003cspan pulumi-lang-nodejs=\"`subscriptionRequired`\" pulumi-lang-dotnet=\"`SubscriptionRequired`\" pulumi-lang-go=\"`subscriptionRequired`\" pulumi-lang-python=\"`subscription_required`\" pulumi-lang-yaml=\"`subscriptionRequired`\" pulumi-lang-java=\"`subscriptionRequired`\"\u003e`subscription_required`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"description":{"type":"string","description":"A description of this Product, which may include HTML formatting tags.\n"},"displayName":{"type":"string","description":"The Display Name for this API Management Product.\n"},"productId":{"type":"string","description":"The Identifier for this Product, which must be unique within the API Management Service. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"published":{"type":"boolean","description":"Is this Product Published?\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group in which the API Management Service should be exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"subscriptionRequired":{"type":"boolean","description":"Is a Subscription required to access API's included in this Product? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"subscriptionsLimit":{"type":"integer","description":"The number of subscriptions a user can have to this Product at the same time.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`subscriptionsLimit`\" pulumi-lang-dotnet=\"`SubscriptionsLimit`\" pulumi-lang-go=\"`subscriptionsLimit`\" pulumi-lang-python=\"`subscriptions_limit`\" pulumi-lang-yaml=\"`subscriptionsLimit`\" pulumi-lang-java=\"`subscriptionsLimit`\"\u003e`subscriptions_limit`\u003c/span\u003e can only be set when \u003cspan pulumi-lang-nodejs=\"`subscriptionRequired`\" pulumi-lang-dotnet=\"`SubscriptionRequired`\" pulumi-lang-go=\"`subscriptionRequired`\" pulumi-lang-python=\"`subscription_required`\" pulumi-lang-yaml=\"`subscriptionRequired`\" pulumi-lang-java=\"`subscriptionRequired`\"\u003e`subscription_required`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"terms":{"type":"string","description":"The Terms and Conditions for this Product, which must be accepted by Developers before they can begin the Subscription process.\n"}},"requiredInputs":["apiManagementName","displayName","productId","published","resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering Product resources.\n","properties":{"apiManagementName":{"type":"string","description":"The name of the API Management Service. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"approvalRequired":{"type":"boolean","description":"Do subscribers need to be approved prior to being able to use the Product?\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`approvalRequired`\" pulumi-lang-dotnet=\"`ApprovalRequired`\" pulumi-lang-go=\"`approvalRequired`\" pulumi-lang-python=\"`approval_required`\" pulumi-lang-yaml=\"`approvalRequired`\" pulumi-lang-java=\"`approvalRequired`\"\u003e`approval_required`\u003c/span\u003e can only be set when \u003cspan pulumi-lang-nodejs=\"`subscriptionRequired`\" pulumi-lang-dotnet=\"`SubscriptionRequired`\" pulumi-lang-go=\"`subscriptionRequired`\" pulumi-lang-python=\"`subscription_required`\" pulumi-lang-yaml=\"`subscriptionRequired`\" pulumi-lang-java=\"`subscriptionRequired`\"\u003e`subscription_required`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"description":{"type":"string","description":"A description of this Product, which may include HTML formatting tags.\n"},"displayName":{"type":"string","description":"The Display Name for this API Management Product.\n"},"productId":{"type":"string","description":"The Identifier for this Product, which must be unique within the API Management Service. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"published":{"type":"boolean","description":"Is this Product Published?\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group in which the API Management Service should be exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"subscriptionRequired":{"type":"boolean","description":"Is a Subscription required to access API's included in this Product? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"subscriptionsLimit":{"type":"integer","description":"The number of subscriptions a user can have to this Product at the same time.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`subscriptionsLimit`\" pulumi-lang-dotnet=\"`SubscriptionsLimit`\" pulumi-lang-go=\"`subscriptionsLimit`\" pulumi-lang-python=\"`subscriptions_limit`\" pulumi-lang-yaml=\"`subscriptionsLimit`\" pulumi-lang-java=\"`subscriptionsLimit`\"\u003e`subscriptions_limit`\u003c/span\u003e can only be set when \u003cspan pulumi-lang-nodejs=\"`subscriptionRequired`\" pulumi-lang-dotnet=\"`SubscriptionRequired`\" pulumi-lang-go=\"`subscriptionRequired`\" pulumi-lang-python=\"`subscription_required`\" pulumi-lang-yaml=\"`subscriptionRequired`\" pulumi-lang-java=\"`subscriptionRequired`\"\u003e`subscription_required`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"terms":{"type":"string","description":"The Terms and Conditions for this Product, which must be accepted by Developers before they can begin the Subscription process.\n"}},"type":"object"}},"azure:apimanagement/productApi:ProductApi":{"description":"Manages an API Management API Assignment to a Product.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.apimanagement.getService({\n    name: \"example-api\",\n    resourceGroupName: \"example-resources\",\n});\nconst exampleGetApi = Promise.all([example, example]).then(([example, example1]) =\u003e azure.apimanagement.getApi({\n    name: \"search-api\",\n    apiManagementName: example.name,\n    resourceGroupName: example1.resourceGroupName,\n    revision: \"2\",\n}));\nconst exampleGetProduct = Promise.all([example, example]).then(([example, example1]) =\u003e azure.apimanagement.getProduct({\n    productId: \"my-product\",\n    apiManagementName: example.name,\n    resourceGroupName: example1.resourceGroupName,\n}));\nconst exampleProductApi = new azure.apimanagement.ProductApi(\"example\", {\n    apiName: exampleGetApi.then(exampleGetApi =\u003e exampleGetApi.name),\n    productId: exampleGetProduct.then(exampleGetProduct =\u003e exampleGetProduct.productId),\n    apiManagementName: example.then(example =\u003e example.name),\n    resourceGroupName: example.then(example =\u003e example.resourceGroupName),\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.apimanagement.get_service(name=\"example-api\",\n    resource_group_name=\"example-resources\")\nexample_get_api = azure.apimanagement.get_api(name=\"search-api\",\n    api_management_name=example.name,\n    resource_group_name=example.resource_group_name,\n    revision=\"2\")\nexample_get_product = azure.apimanagement.get_product(product_id=\"my-product\",\n    api_management_name=example.name,\n    resource_group_name=example.resource_group_name)\nexample_product_api = azure.apimanagement.ProductApi(\"example\",\n    api_name=example_get_api.name,\n    product_id=example_get_product.product_id,\n    api_management_name=example.name,\n    resource_group_name=example.resource_group_name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.ApiManagement.GetService.Invoke(new()\n    {\n        Name = \"example-api\",\n        ResourceGroupName = \"example-resources\",\n    });\n\n    var exampleGetApi = Azure.ApiManagement.GetApi.Invoke(new()\n    {\n        Name = \"search-api\",\n        ApiManagementName = example.Apply(getServiceResult =\u003e getServiceResult.Name),\n        ResourceGroupName = example.Apply(getServiceResult =\u003e getServiceResult.ResourceGroupName),\n        Revision = \"2\",\n    });\n\n    var exampleGetProduct = Azure.ApiManagement.GetProduct.Invoke(new()\n    {\n        ProductId = \"my-product\",\n        ApiManagementName = example.Apply(getServiceResult =\u003e getServiceResult.Name),\n        ResourceGroupName = example.Apply(getServiceResult =\u003e getServiceResult.ResourceGroupName),\n    });\n\n    var exampleProductApi = new Azure.ApiManagement.ProductApi(\"example\", new()\n    {\n        ApiName = exampleGetApi.Apply(getApiResult =\u003e getApiResult.Name),\n        ProductId = exampleGetProduct.Apply(getProductResult =\u003e getProductResult.ProductId),\n        ApiManagementName = example.Apply(getServiceResult =\u003e getServiceResult.Name),\n        ResourceGroupName = example.Apply(getServiceResult =\u003e getServiceResult.ResourceGroupName),\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/apimanagement\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := apimanagement.LookupService(ctx, \u0026apimanagement.LookupServiceArgs{\n\t\t\tName:              \"example-api\",\n\t\t\tResourceGroupName: \"example-resources\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleGetApi, err := apimanagement.LookupApi(ctx, \u0026apimanagement.LookupApiArgs{\n\t\t\tName:              \"search-api\",\n\t\t\tApiManagementName: example.Name,\n\t\t\tResourceGroupName: example.ResourceGroupName,\n\t\t\tRevision:          \"2\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleGetProduct, err := apimanagement.LookupProduct(ctx, \u0026apimanagement.LookupProductArgs{\n\t\t\tProductId:         \"my-product\",\n\t\t\tApiManagementName: example.Name,\n\t\t\tResourceGroupName: example.ResourceGroupName,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = apimanagement.NewProductApi(ctx, \"example\", \u0026apimanagement.ProductApiArgs{\n\t\t\tApiName:           pulumi.String(exampleGetApi.Name),\n\t\t\tProductId:         pulumi.String(exampleGetProduct.ProductId),\n\t\t\tApiManagementName: pulumi.String(example.Name),\n\t\t\tResourceGroupName: pulumi.String(example.ResourceGroupName),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.apimanagement.ApimanagementFunctions;\nimport com.pulumi.azure.apimanagement.inputs.GetServiceArgs;\nimport com.pulumi.azure.apimanagement.inputs.GetApiArgs;\nimport com.pulumi.azure.apimanagement.inputs.GetProductArgs;\nimport com.pulumi.azure.apimanagement.ProductApi;\nimport com.pulumi.azure.apimanagement.ProductApiArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = ApimanagementFunctions.getService(GetServiceArgs.builder()\n            .name(\"example-api\")\n            .resourceGroupName(\"example-resources\")\n            .build());\n\n        final var exampleGetApi = ApimanagementFunctions.getApi(GetApiArgs.builder()\n            .name(\"search-api\")\n            .apiManagementName(example.name())\n            .resourceGroupName(example.resourceGroupName())\n            .revision(\"2\")\n            .build());\n\n        final var exampleGetProduct = ApimanagementFunctions.getProduct(GetProductArgs.builder()\n            .productId(\"my-product\")\n            .apiManagementName(example.name())\n            .resourceGroupName(example.resourceGroupName())\n            .build());\n\n        var exampleProductApi = new ProductApi(\"exampleProductApi\", ProductApiArgs.builder()\n            .apiName(exampleGetApi.name())\n            .productId(exampleGetProduct.productId())\n            .apiManagementName(example.name())\n            .resourceGroupName(example.resourceGroupName())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleProductApi:\n    type: azure:apimanagement:ProductApi\n    name: example\n    properties:\n      apiName: ${exampleGetApi.name}\n      productId: ${exampleGetProduct.productId}\n      apiManagementName: ${example.name}\n      resourceGroupName: ${example.resourceGroupName}\nvariables:\n  example:\n    fn::invoke:\n      function: azure:apimanagement:getService\n      arguments:\n        name: example-api\n        resourceGroupName: example-resources\n  exampleGetApi:\n    fn::invoke:\n      function: azure:apimanagement:getApi\n      arguments:\n        name: search-api\n        apiManagementName: ${example.name}\n        resourceGroupName: ${example.resourceGroupName}\n        revision: '2'\n  exampleGetProduct:\n    fn::invoke:\n      function: azure:apimanagement:getProduct\n      arguments:\n        productId: my-product\n        apiManagementName: ${example.name}\n        resourceGroupName: ${example.resourceGroupName}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.ApiManagement` - 2022-08-01\n\n## Import\n\nAPI Management Product API's can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:apimanagement/productApi:ProductApi example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.ApiManagement/service/service1/products/exampleId/apis/apiId\n```\n\n","properties":{"apiManagementName":{"type":"string","description":"The name of the API Management Service. Changing this forces a new resource to be created.\n"},"apiName":{"type":"string","description":"The Name of the API Management API within the API Management Service. Changing this forces a new resource to be created.\n"},"productId":{"type":"string","description":"The ID of the API Management Product within the API Management Service. Changing this forces a new resource to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group in which the API Management Service exists. Changing this forces a new resource to be created.\n"}},"required":["apiManagementName","apiName","productId","resourceGroupName"],"inputProperties":{"apiManagementName":{"type":"string","description":"The name of the API Management Service. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"apiName":{"type":"string","description":"The Name of the API Management API within the API Management Service. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"productId":{"type":"string","description":"The ID of the API Management Product within the API Management Service. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group in which the API Management Service exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["apiManagementName","apiName","productId","resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering ProductApi resources.\n","properties":{"apiManagementName":{"type":"string","description":"The name of the API Management Service. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"apiName":{"type":"string","description":"The Name of the API Management API within the API Management Service. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"productId":{"type":"string","description":"The ID of the API Management Product within the API Management Service. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group in which the API Management Service exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:apimanagement/productGroup:ProductGroup":{"description":"Manages an API Management Product Assignment to a Group.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.apimanagement.getService({\n    name: \"example-api\",\n    resourceGroupName: \"example-resources\",\n});\nconst exampleGetProduct = Promise.all([example, example]).then(([example, example1]) =\u003e azure.apimanagement.getProduct({\n    productId: \"my-product\",\n    apiManagementName: example.name,\n    resourceGroupName: example1.resourceGroupName,\n}));\nconst exampleGetGroup = Promise.all([example, example]).then(([example, example1]) =\u003e azure.apimanagement.getGroup({\n    name: \"my-group\",\n    apiManagementName: example.name,\n    resourceGroupName: example1.resourceGroupName,\n}));\nconst exampleProductGroup = new azure.apimanagement.ProductGroup(\"example\", {\n    productId: exampleGetProduct.then(exampleGetProduct =\u003e exampleGetProduct.productId),\n    groupName: exampleGetGroup.then(exampleGetGroup =\u003e exampleGetGroup.name),\n    apiManagementName: example.then(example =\u003e example.name),\n    resourceGroupName: example.then(example =\u003e example.resourceGroupName),\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.apimanagement.get_service(name=\"example-api\",\n    resource_group_name=\"example-resources\")\nexample_get_product = azure.apimanagement.get_product(product_id=\"my-product\",\n    api_management_name=example.name,\n    resource_group_name=example.resource_group_name)\nexample_get_group = azure.apimanagement.get_group(name=\"my-group\",\n    api_management_name=example.name,\n    resource_group_name=example.resource_group_name)\nexample_product_group = azure.apimanagement.ProductGroup(\"example\",\n    product_id=example_get_product.product_id,\n    group_name=example_get_group.name,\n    api_management_name=example.name,\n    resource_group_name=example.resource_group_name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.ApiManagement.GetService.Invoke(new()\n    {\n        Name = \"example-api\",\n        ResourceGroupName = \"example-resources\",\n    });\n\n    var exampleGetProduct = Azure.ApiManagement.GetProduct.Invoke(new()\n    {\n        ProductId = \"my-product\",\n        ApiManagementName = example.Apply(getServiceResult =\u003e getServiceResult.Name),\n        ResourceGroupName = example.Apply(getServiceResult =\u003e getServiceResult.ResourceGroupName),\n    });\n\n    var exampleGetGroup = Azure.ApiManagement.GetGroup.Invoke(new()\n    {\n        Name = \"my-group\",\n        ApiManagementName = example.Apply(getServiceResult =\u003e getServiceResult.Name),\n        ResourceGroupName = example.Apply(getServiceResult =\u003e getServiceResult.ResourceGroupName),\n    });\n\n    var exampleProductGroup = new Azure.ApiManagement.ProductGroup(\"example\", new()\n    {\n        ProductId = exampleGetProduct.Apply(getProductResult =\u003e getProductResult.ProductId),\n        GroupName = exampleGetGroup.Apply(getGroupResult =\u003e getGroupResult.Name),\n        ApiManagementName = example.Apply(getServiceResult =\u003e getServiceResult.Name),\n        ResourceGroupName = example.Apply(getServiceResult =\u003e getServiceResult.ResourceGroupName),\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/apimanagement\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := apimanagement.LookupService(ctx, \u0026apimanagement.LookupServiceArgs{\n\t\t\tName:              \"example-api\",\n\t\t\tResourceGroupName: \"example-resources\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleGetProduct, err := apimanagement.LookupProduct(ctx, \u0026apimanagement.LookupProductArgs{\n\t\t\tProductId:         \"my-product\",\n\t\t\tApiManagementName: example.Name,\n\t\t\tResourceGroupName: example.ResourceGroupName,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleGetGroup, err := apimanagement.LookupGroup(ctx, \u0026apimanagement.LookupGroupArgs{\n\t\t\tName:              \"my-group\",\n\t\t\tApiManagementName: example.Name,\n\t\t\tResourceGroupName: example.ResourceGroupName,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = apimanagement.NewProductGroup(ctx, \"example\", \u0026apimanagement.ProductGroupArgs{\n\t\t\tProductId:         pulumi.String(exampleGetProduct.ProductId),\n\t\t\tGroupName:         pulumi.String(exampleGetGroup.Name),\n\t\t\tApiManagementName: pulumi.String(example.Name),\n\t\t\tResourceGroupName: pulumi.String(example.ResourceGroupName),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.apimanagement.ApimanagementFunctions;\nimport com.pulumi.azure.apimanagement.inputs.GetServiceArgs;\nimport com.pulumi.azure.apimanagement.inputs.GetProductArgs;\nimport com.pulumi.azure.apimanagement.inputs.GetGroupArgs;\nimport com.pulumi.azure.apimanagement.ProductGroup;\nimport com.pulumi.azure.apimanagement.ProductGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = ApimanagementFunctions.getService(GetServiceArgs.builder()\n            .name(\"example-api\")\n            .resourceGroupName(\"example-resources\")\n            .build());\n\n        final var exampleGetProduct = ApimanagementFunctions.getProduct(GetProductArgs.builder()\n            .productId(\"my-product\")\n            .apiManagementName(example.name())\n            .resourceGroupName(example.resourceGroupName())\n            .build());\n\n        final var exampleGetGroup = ApimanagementFunctions.getGroup(GetGroupArgs.builder()\n            .name(\"my-group\")\n            .apiManagementName(example.name())\n            .resourceGroupName(example.resourceGroupName())\n            .build());\n\n        var exampleProductGroup = new ProductGroup(\"exampleProductGroup\", ProductGroupArgs.builder()\n            .productId(exampleGetProduct.productId())\n            .groupName(exampleGetGroup.name())\n            .apiManagementName(example.name())\n            .resourceGroupName(example.resourceGroupName())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleProductGroup:\n    type: azure:apimanagement:ProductGroup\n    name: example\n    properties:\n      productId: ${exampleGetProduct.productId}\n      groupName: ${exampleGetGroup.name}\n      apiManagementName: ${example.name}\n      resourceGroupName: ${example.resourceGroupName}\nvariables:\n  example:\n    fn::invoke:\n      function: azure:apimanagement:getService\n      arguments:\n        name: example-api\n        resourceGroupName: example-resources\n  exampleGetProduct:\n    fn::invoke:\n      function: azure:apimanagement:getProduct\n      arguments:\n        productId: my-product\n        apiManagementName: ${example.name}\n        resourceGroupName: ${example.resourceGroupName}\n  exampleGetGroup:\n    fn::invoke:\n      function: azure:apimanagement:getGroup\n      arguments:\n        name: my-group\n        apiManagementName: ${example.name}\n        resourceGroupName: ${example.resourceGroupName}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.ApiManagement` - 2022-08-01\n\n## Import\n\nAPI Management Product Groups can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:apimanagement/productGroup:ProductGroup example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.ApiManagement/service/service1/products/exampleId/groups/groupId\n```\n\n","properties":{"apiManagementName":{"type":"string","description":"The name of the API Management Service. Changing this forces a new resource to be created.\n"},"groupName":{"type":"string","description":"The Name of the API Management Group within the API Management Service. Changing this forces a new resource to be created.\n"},"productId":{"type":"string","description":"The ID of the API Management Product within the API Management Service. Changing this forces a new resource to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group in which the API Management Service exists. Changing this forces a new resource to be created.\n"}},"required":["apiManagementName","groupName","productId","resourceGroupName"],"inputProperties":{"apiManagementName":{"type":"string","description":"The name of the API Management Service. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"groupName":{"type":"string","description":"The Name of the API Management Group within the API Management Service. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"productId":{"type":"string","description":"The ID of the API Management Product within the API Management Service. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group in which the API Management Service exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["apiManagementName","groupName","productId","resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering ProductGroup resources.\n","properties":{"apiManagementName":{"type":"string","description":"The name of the API Management Service. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"groupName":{"type":"string","description":"The Name of the API Management Group within the API Management Service. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"productId":{"type":"string","description":"The ID of the API Management Product within the API Management Service. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group in which the API Management Service exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:apimanagement/productPolicy:ProductPolicy":{"description":"Manages an API Management Product Policy\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.apimanagement.getProduct({\n    productId: \"my-product\",\n    apiManagementName: \"example-apim\",\n    resourceGroupName: \"search-service\",\n});\nconst exampleProductPolicy = new azure.apimanagement.ProductPolicy(\"example\", {\n    productId: example.then(example =\u003e example.productId),\n    apiManagementName: example.then(example =\u003e example.apiManagementName),\n    resourceGroupName: example.then(example =\u003e example.resourceGroupName),\n    xmlContent: `\u003cpolicies\u003e\n  \u003cinbound\u003e\n    \u003cfind-and-replace from=\\\\\"xyz\\\\\" to=\\\\\"abc\\\\\" /\u003e\n  \u003c/inbound\u003e\n\u003c/policies\u003e\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.apimanagement.get_product(product_id=\"my-product\",\n    api_management_name=\"example-apim\",\n    resource_group_name=\"search-service\")\nexample_product_policy = azure.apimanagement.ProductPolicy(\"example\",\n    product_id=example.product_id,\n    api_management_name=example.api_management_name,\n    resource_group_name=example.resource_group_name,\n    xml_content=\"\"\"\u003cpolicies\u003e\n  \u003cinbound\u003e\n    \u003cfind-and-replace from=\\\"xyz\\\" to=\\\"abc\\\" /\u003e\n  \u003c/inbound\u003e\n\u003c/policies\u003e\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.ApiManagement.GetProduct.Invoke(new()\n    {\n        ProductId = \"my-product\",\n        ApiManagementName = \"example-apim\",\n        ResourceGroupName = \"search-service\",\n    });\n\n    var exampleProductPolicy = new Azure.ApiManagement.ProductPolicy(\"example\", new()\n    {\n        ProductId = example.Apply(getProductResult =\u003e getProductResult.ProductId),\n        ApiManagementName = example.Apply(getProductResult =\u003e getProductResult.ApiManagementName),\n        ResourceGroupName = example.Apply(getProductResult =\u003e getProductResult.ResourceGroupName),\n        XmlContent = @\"\u003cpolicies\u003e\n  \u003cinbound\u003e\n    \u003cfind-and-replace from=\\\"\"xyz\\\"\" to=\\\"\"abc\\\"\" /\u003e\n  \u003c/inbound\u003e\n\u003c/policies\u003e\n\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/apimanagement\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := apimanagement.LookupProduct(ctx, \u0026apimanagement.LookupProductArgs{\n\t\t\tProductId:         \"my-product\",\n\t\t\tApiManagementName: \"example-apim\",\n\t\t\tResourceGroupName: \"search-service\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = apimanagement.NewProductPolicy(ctx, \"example\", \u0026apimanagement.ProductPolicyArgs{\n\t\t\tProductId:         pulumi.String(example.ProductId),\n\t\t\tApiManagementName: pulumi.String(example.ApiManagementName),\n\t\t\tResourceGroupName: pulumi.String(example.ResourceGroupName),\n\t\t\tXmlContent: pulumi.String(`\u003cpolicies\u003e\n  \u003cinbound\u003e\n    \u003cfind-and-replace from=\\\"xyz\\\" to=\\\"abc\\\" /\u003e\n  \u003c/inbound\u003e\n\u003c/policies\u003e\n`),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.apimanagement.ApimanagementFunctions;\nimport com.pulumi.azure.apimanagement.inputs.GetProductArgs;\nimport com.pulumi.azure.apimanagement.ProductPolicy;\nimport com.pulumi.azure.apimanagement.ProductPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = ApimanagementFunctions.getProduct(GetProductArgs.builder()\n            .productId(\"my-product\")\n            .apiManagementName(\"example-apim\")\n            .resourceGroupName(\"search-service\")\n            .build());\n\n        var exampleProductPolicy = new ProductPolicy(\"exampleProductPolicy\", ProductPolicyArgs.builder()\n            .productId(example.productId())\n            .apiManagementName(example.apiManagementName())\n            .resourceGroupName(example.resourceGroupName())\n            .xmlContent(\"\"\"\n\u003cpolicies\u003e\n  \u003cinbound\u003e\n    \u003cfind-and-replace from=\\\"xyz\\\" to=\\\"abc\\\" /\u003e\n  \u003c/inbound\u003e\n\u003c/policies\u003e\n            \"\"\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleProductPolicy:\n    type: azure:apimanagement:ProductPolicy\n    name: example\n    properties:\n      productId: ${example.productId}\n      apiManagementName: ${example.apiManagementName}\n      resourceGroupName: ${example.resourceGroupName}\n      xmlContent: |\n        \u003cpolicies\u003e\n          \u003cinbound\u003e\n            \u003cfind-and-replace from=\\\"xyz\\\" to=\\\"abc\\\" /\u003e\n          \u003c/inbound\u003e\n        \u003c/policies\u003e\nvariables:\n  example:\n    fn::invoke:\n      function: azure:apimanagement:getProduct\n      arguments:\n        productId: my-product\n        apiManagementName: example-apim\n        resourceGroupName: search-service\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.ApiManagement` - 2022-08-01\n\n## Import\n\nAPI Management Product Policy can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:apimanagement/productPolicy:ProductPolicy example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.ApiManagement/service/service1/products/product1\n```\n\n","properties":{"apiManagementName":{"type":"string","description":"The name of the API Management Service. Changing this forces a new resource to be created.\n"},"productId":{"type":"string","description":"The ID of the API Management Product within the API Management Service. Changing this forces a new resource to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group in which the API Management Service exists. Changing this forces a new resource to be created.\n"},"xmlContent":{"type":"string","description":"The XML Content for this Policy.\n"},"xmlLink":{"type":"string","description":"A link to a Policy XML Document, which must be publicly available.\n"}},"required":["apiManagementName","productId","resourceGroupName","xmlContent"],"inputProperties":{"apiManagementName":{"type":"string","description":"The name of the API Management Service. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"productId":{"type":"string","description":"The ID of the API Management Product within the API Management Service. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group in which the API Management Service exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"xmlContent":{"type":"string","description":"The XML Content for this Policy.\n"},"xmlLink":{"type":"string","description":"A link to a Policy XML Document, which must be publicly available.\n"}},"requiredInputs":["apiManagementName","productId","resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering ProductPolicy resources.\n","properties":{"apiManagementName":{"type":"string","description":"The name of the API Management Service. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"productId":{"type":"string","description":"The ID of the API Management Product within the API Management Service. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group in which the API Management Service exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"xmlContent":{"type":"string","description":"The XML Content for this Policy.\n"},"xmlLink":{"type":"string","description":"A link to a Policy XML Document, which must be publicly available.\n"}},"type":"object"}},"azure:apimanagement/productTag:ProductTag":{"description":"Manages an API Management Product tag\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleService = new azure.apimanagement.Service(\"example\", {\n    name: \"example-apim\",\n    location: example.location,\n    resourceGroupName: example.name,\n    publisherName: \"My Company\",\n    publisherEmail: \"company@terraform.io\",\n    skuName: \"Developer_1\",\n});\nconst exampleProduct = new azure.apimanagement.Product(\"example\", {\n    productId: \"test-product\",\n    apiManagementName: exampleService.name,\n    resourceGroupName: example.name,\n    displayName: \"Test Product\",\n    subscriptionRequired: true,\n    approvalRequired: true,\n    published: true,\n});\nconst exampleTag = new azure.apimanagement.Tag(\"example\", {\n    apiManagementId: exampleService.id,\n    name: \"example-tag\",\n});\nconst exampleProductTag = new azure.apimanagement.ProductTag(\"example\", {\n    apiManagementProductId: exampleProduct.productId,\n    apiManagementName: exampleService.name,\n    resourceGroupName: example.name,\n    name: exampleTag.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_service = azure.apimanagement.Service(\"example\",\n    name=\"example-apim\",\n    location=example.location,\n    resource_group_name=example.name,\n    publisher_name=\"My Company\",\n    publisher_email=\"company@terraform.io\",\n    sku_name=\"Developer_1\")\nexample_product = azure.apimanagement.Product(\"example\",\n    product_id=\"test-product\",\n    api_management_name=example_service.name,\n    resource_group_name=example.name,\n    display_name=\"Test Product\",\n    subscription_required=True,\n    approval_required=True,\n    published=True)\nexample_tag = azure.apimanagement.Tag(\"example\",\n    api_management_id=example_service.id,\n    name=\"example-tag\")\nexample_product_tag = azure.apimanagement.ProductTag(\"example\",\n    api_management_product_id=example_product.product_id,\n    api_management_name=example_service.name,\n    resource_group_name=example.name,\n    name=example_tag.name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleService = new Azure.ApiManagement.Service(\"example\", new()\n    {\n        Name = \"example-apim\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        PublisherName = \"My Company\",\n        PublisherEmail = \"company@terraform.io\",\n        SkuName = \"Developer_1\",\n    });\n\n    var exampleProduct = new Azure.ApiManagement.Product(\"example\", new()\n    {\n        ProductId = \"test-product\",\n        ApiManagementName = exampleService.Name,\n        ResourceGroupName = example.Name,\n        DisplayName = \"Test Product\",\n        SubscriptionRequired = true,\n        ApprovalRequired = true,\n        Published = true,\n    });\n\n    var exampleTag = new Azure.ApiManagement.Tag(\"example\", new()\n    {\n        ApiManagementId = exampleService.Id,\n        Name = \"example-tag\",\n    });\n\n    var exampleProductTag = new Azure.ApiManagement.ProductTag(\"example\", new()\n    {\n        ApiManagementProductId = exampleProduct.ProductId,\n        ApiManagementName = exampleService.Name,\n        ResourceGroupName = example.Name,\n        Name = exampleTag.Name,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/apimanagement\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleService, err := apimanagement.NewService(ctx, \"example\", \u0026apimanagement.ServiceArgs{\n\t\t\tName:              pulumi.String(\"example-apim\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tPublisherName:     pulumi.String(\"My Company\"),\n\t\t\tPublisherEmail:    pulumi.String(\"company@terraform.io\"),\n\t\t\tSkuName:           pulumi.String(\"Developer_1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleProduct, err := apimanagement.NewProduct(ctx, \"example\", \u0026apimanagement.ProductArgs{\n\t\t\tProductId:            pulumi.String(\"test-product\"),\n\t\t\tApiManagementName:    exampleService.Name,\n\t\t\tResourceGroupName:    example.Name,\n\t\t\tDisplayName:          pulumi.String(\"Test Product\"),\n\t\t\tSubscriptionRequired: pulumi.Bool(true),\n\t\t\tApprovalRequired:     pulumi.Bool(true),\n\t\t\tPublished:            pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleTag, err := apimanagement.NewTag(ctx, \"example\", \u0026apimanagement.TagArgs{\n\t\t\tApiManagementId: exampleService.ID(),\n\t\t\tName:            pulumi.String(\"example-tag\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = apimanagement.NewProductTag(ctx, \"example\", \u0026apimanagement.ProductTagArgs{\n\t\t\tApiManagementProductId: exampleProduct.ProductId,\n\t\t\tApiManagementName:      exampleService.Name,\n\t\t\tResourceGroupName:      example.Name,\n\t\t\tName:                   exampleTag.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.apimanagement.Service;\nimport com.pulumi.azure.apimanagement.ServiceArgs;\nimport com.pulumi.azure.apimanagement.Product;\nimport com.pulumi.azure.apimanagement.ProductArgs;\nimport com.pulumi.azure.apimanagement.Tag;\nimport com.pulumi.azure.apimanagement.TagArgs;\nimport com.pulumi.azure.apimanagement.ProductTag;\nimport com.pulumi.azure.apimanagement.ProductTagArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleService = new Service(\"exampleService\", ServiceArgs.builder()\n            .name(\"example-apim\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .publisherName(\"My Company\")\n            .publisherEmail(\"company@terraform.io\")\n            .skuName(\"Developer_1\")\n            .build());\n\n        var exampleProduct = new Product(\"exampleProduct\", ProductArgs.builder()\n            .productId(\"test-product\")\n            .apiManagementName(exampleService.name())\n            .resourceGroupName(example.name())\n            .displayName(\"Test Product\")\n            .subscriptionRequired(true)\n            .approvalRequired(true)\n            .published(true)\n            .build());\n\n        var exampleTag = new Tag(\"exampleTag\", TagArgs.builder()\n            .apiManagementId(exampleService.id())\n            .name(\"example-tag\")\n            .build());\n\n        var exampleProductTag = new ProductTag(\"exampleProductTag\", ProductTagArgs.builder()\n            .apiManagementProductId(exampleProduct.productId())\n            .apiManagementName(exampleService.name())\n            .resourceGroupName(example.name())\n            .name(exampleTag.name())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleService:\n    type: azure:apimanagement:Service\n    name: example\n    properties:\n      name: example-apim\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      publisherName: My Company\n      publisherEmail: company@terraform.io\n      skuName: Developer_1\n  exampleProduct:\n    type: azure:apimanagement:Product\n    name: example\n    properties:\n      productId: test-product\n      apiManagementName: ${exampleService.name}\n      resourceGroupName: ${example.name}\n      displayName: Test Product\n      subscriptionRequired: true\n      approvalRequired: true\n      published: true\n  exampleTag:\n    type: azure:apimanagement:Tag\n    name: example\n    properties:\n      apiManagementId: ${exampleService.id}\n      name: example-tag\n  exampleProductTag:\n    type: azure:apimanagement:ProductTag\n    name: example\n    properties:\n      apiManagementProductId: ${exampleProduct.productId}\n      apiManagementName: ${exampleService.name}\n      resourceGroupName: ${example.name}\n      name: ${exampleTag.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.ApiManagement` - 2022-08-01\n\n## Import\n\nAPI Management Products can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:apimanagement/productTag:ProductTag example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.ApiManagement/service/instance1/products/myproduct/tags/mytag\n```\n\n","properties":{"apiManagementName":{"type":"string","description":"The name of the API Management Service. Changing this forces a new resource to be created.\n"},"apiManagementProductId":{"type":"string","description":"The name of the API Management product. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"The name which should be used for this API Management Tag. Changing this forces a new API Management Tag to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group in which the API Management Service should be exist. Changing this forces a new resource to be created.\n"}},"required":["apiManagementName","apiManagementProductId","name","resourceGroupName"],"inputProperties":{"apiManagementName":{"type":"string","description":"The name of the API Management Service. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"apiManagementProductId":{"type":"string","description":"The name of the API Management product. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this API Management Tag. Changing this forces a new API Management Tag to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group in which the API Management Service should be exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["apiManagementName","apiManagementProductId","resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering ProductTag resources.\n","properties":{"apiManagementName":{"type":"string","description":"The name of the API Management Service. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"apiManagementProductId":{"type":"string","description":"The name of the API Management product. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this API Management Tag. Changing this forces a new API Management Tag to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group in which the API Management Service should be exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:apimanagement/redisCache:RedisCache":{"description":"Manages a API Management Redis Cache.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleService = new azure.apimanagement.Service(\"example\", {\n    name: \"example-apim\",\n    location: example.location,\n    resourceGroupName: example.name,\n    publisherName: \"pub1\",\n    publisherEmail: \"pub1@email.com\",\n    skuName: \"Consumption_0\",\n});\nconst exampleCache = new azure.redis.Cache(\"example\", {\n    name: \"example-cache\",\n    location: example.location,\n    resourceGroupName: example.name,\n    capacity: 1,\n    family: \"C\",\n    skuName: \"Basic\",\n    enableNonSslPort: false,\n    minimumTlsVersion: \"1.2\",\n    redisConfiguration: {},\n});\nconst exampleRedisCache = new azure.apimanagement.RedisCache(\"example\", {\n    name: \"example-Redis-Cache\",\n    apiManagementId: exampleService.id,\n    connectionString: exampleCache.primaryConnectionString,\n    description: \"Redis cache instances\",\n    redisCacheId: exampleCache.id,\n    cacheLocation: \"East Us\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_service = azure.apimanagement.Service(\"example\",\n    name=\"example-apim\",\n    location=example.location,\n    resource_group_name=example.name,\n    publisher_name=\"pub1\",\n    publisher_email=\"pub1@email.com\",\n    sku_name=\"Consumption_0\")\nexample_cache = azure.redis.Cache(\"example\",\n    name=\"example-cache\",\n    location=example.location,\n    resource_group_name=example.name,\n    capacity=1,\n    family=\"C\",\n    sku_name=\"Basic\",\n    enable_non_ssl_port=False,\n    minimum_tls_version=\"1.2\",\n    redis_configuration={})\nexample_redis_cache = azure.apimanagement.RedisCache(\"example\",\n    name=\"example-Redis-Cache\",\n    api_management_id=example_service.id,\n    connection_string=example_cache.primary_connection_string,\n    description=\"Redis cache instances\",\n    redis_cache_id=example_cache.id,\n    cache_location=\"East Us\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleService = new Azure.ApiManagement.Service(\"example\", new()\n    {\n        Name = \"example-apim\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        PublisherName = \"pub1\",\n        PublisherEmail = \"pub1@email.com\",\n        SkuName = \"Consumption_0\",\n    });\n\n    var exampleCache = new Azure.Redis.Cache(\"example\", new()\n    {\n        Name = \"example-cache\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Capacity = 1,\n        Family = \"C\",\n        SkuName = \"Basic\",\n        EnableNonSslPort = false,\n        MinimumTlsVersion = \"1.2\",\n        RedisConfiguration = null,\n    });\n\n    var exampleRedisCache = new Azure.ApiManagement.RedisCache(\"example\", new()\n    {\n        Name = \"example-Redis-Cache\",\n        ApiManagementId = exampleService.Id,\n        ConnectionString = exampleCache.PrimaryConnectionString,\n        Description = \"Redis cache instances\",\n        RedisCacheId = exampleCache.Id,\n        CacheLocation = \"East Us\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/apimanagement\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/redis\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleService, err := apimanagement.NewService(ctx, \"example\", \u0026apimanagement.ServiceArgs{\n\t\t\tName:              pulumi.String(\"example-apim\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tPublisherName:     pulumi.String(\"pub1\"),\n\t\t\tPublisherEmail:    pulumi.String(\"pub1@email.com\"),\n\t\t\tSkuName:           pulumi.String(\"Consumption_0\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleCache, err := redis.NewCache(ctx, \"example\", \u0026redis.CacheArgs{\n\t\t\tName:               pulumi.String(\"example-cache\"),\n\t\t\tLocation:           example.Location,\n\t\t\tResourceGroupName:  example.Name,\n\t\t\tCapacity:           pulumi.Int(1),\n\t\t\tFamily:             pulumi.String(\"C\"),\n\t\t\tSkuName:            pulumi.String(\"Basic\"),\n\t\t\tEnableNonSslPort:   false,\n\t\t\tMinimumTlsVersion:  pulumi.String(\"1.2\"),\n\t\t\tRedisConfiguration: \u0026redis.CacheRedisConfigurationArgs{},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = apimanagement.NewRedisCache(ctx, \"example\", \u0026apimanagement.RedisCacheArgs{\n\t\t\tName:             pulumi.String(\"example-Redis-Cache\"),\n\t\t\tApiManagementId:  exampleService.ID(),\n\t\t\tConnectionString: exampleCache.PrimaryConnectionString,\n\t\t\tDescription:      pulumi.String(\"Redis cache instances\"),\n\t\t\tRedisCacheId:     exampleCache.ID(),\n\t\t\tCacheLocation:    pulumi.String(\"East Us\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.apimanagement.Service;\nimport com.pulumi.azure.apimanagement.ServiceArgs;\nimport com.pulumi.azure.redis.Cache;\nimport com.pulumi.azure.redis.CacheArgs;\nimport com.pulumi.azure.redis.inputs.CacheRedisConfigurationArgs;\nimport com.pulumi.azure.apimanagement.RedisCache;\nimport com.pulumi.azure.apimanagement.RedisCacheArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleService = new Service(\"exampleService\", ServiceArgs.builder()\n            .name(\"example-apim\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .publisherName(\"pub1\")\n            .publisherEmail(\"pub1@email.com\")\n            .skuName(\"Consumption_0\")\n            .build());\n\n        var exampleCache = new Cache(\"exampleCache\", CacheArgs.builder()\n            .name(\"example-cache\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .capacity(1)\n            .family(\"C\")\n            .skuName(\"Basic\")\n            .enableNonSslPort(false)\n            .minimumTlsVersion(\"1.2\")\n            .redisConfiguration(CacheRedisConfigurationArgs.builder()\n                .build())\n            .build());\n\n        var exampleRedisCache = new RedisCache(\"exampleRedisCache\", RedisCacheArgs.builder()\n            .name(\"example-Redis-Cache\")\n            .apiManagementId(exampleService.id())\n            .connectionString(exampleCache.primaryConnectionString())\n            .description(\"Redis cache instances\")\n            .redisCacheId(exampleCache.id())\n            .cacheLocation(\"East Us\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleService:\n    type: azure:apimanagement:Service\n    name: example\n    properties:\n      name: example-apim\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      publisherName: pub1\n      publisherEmail: pub1@email.com\n      skuName: Consumption_0\n  exampleCache:\n    type: azure:redis:Cache\n    name: example\n    properties:\n      name: example-cache\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      capacity: 1\n      family: C\n      skuName: Basic\n      enableNonSslPort: false\n      minimumTlsVersion: '1.2'\n      redisConfiguration: {}\n  exampleRedisCache:\n    type: azure:apimanagement:RedisCache\n    name: example\n    properties:\n      name: example-Redis-Cache\n      apiManagementId: ${exampleService.id}\n      connectionString: ${exampleCache.primaryConnectionString}\n      description: Redis cache instances\n      redisCacheId: ${exampleCache.id}\n      cacheLocation: East Us\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.ApiManagement` - 2022-08-01\n\n## Import\n\nAPI Management Redis Caches can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:apimanagement/redisCache:RedisCache example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.ApiManagement/service/service1/caches/cache1\n```\n\n","properties":{"apiManagementId":{"type":"string","description":"The resource ID of the API Management Service from which to create this external cache. Changing this forces a new API Management Redis Cache to be created.\n"},"cacheLocation":{"type":"string","description":"The location where to use cache from. Possible values are \u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\"\u003e`default`\u003c/span\u003e and valid Azure regions. Defaults to \u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\"\u003e`default`\u003c/span\u003e.\n"},"connectionString":{"type":"string","description":"The connection string to the Cache for Redis.\n","secret":true},"description":{"type":"string","description":"The description of the API Management Redis Cache.\n"},"name":{"type":"string","description":"The name which should be used for this API Management Redis Cache. Changing this forces a new API Management Redis Cache to be created.\n"},"redisCacheId":{"type":"string","description":"The resource ID of the Cache for Redis.\n"}},"required":["apiManagementId","connectionString","name"],"inputProperties":{"apiManagementId":{"type":"string","description":"The resource ID of the API Management Service from which to create this external cache. Changing this forces a new API Management Redis Cache to be created.\n","willReplaceOnChanges":true},"cacheLocation":{"type":"string","description":"The location where to use cache from. Possible values are \u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\"\u003e`default`\u003c/span\u003e and valid Azure regions. Defaults to \u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\"\u003e`default`\u003c/span\u003e.\n"},"connectionString":{"type":"string","description":"The connection string to the Cache for Redis.\n","secret":true},"description":{"type":"string","description":"The description of the API Management Redis Cache.\n"},"name":{"type":"string","description":"The name which should be used for this API Management Redis Cache. Changing this forces a new API Management Redis Cache to be created.\n","willReplaceOnChanges":true},"redisCacheId":{"type":"string","description":"The resource ID of the Cache for Redis.\n"}},"requiredInputs":["apiManagementId","connectionString"],"stateInputs":{"description":"Input properties used for looking up and filtering RedisCache resources.\n","properties":{"apiManagementId":{"type":"string","description":"The resource ID of the API Management Service from which to create this external cache. Changing this forces a new API Management Redis Cache to be created.\n","willReplaceOnChanges":true},"cacheLocation":{"type":"string","description":"The location where to use cache from. Possible values are \u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\"\u003e`default`\u003c/span\u003e and valid Azure regions. Defaults to \u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\"\u003e`default`\u003c/span\u003e.\n"},"connectionString":{"type":"string","description":"The connection string to the Cache for Redis.\n","secret":true},"description":{"type":"string","description":"The description of the API Management Redis Cache.\n"},"name":{"type":"string","description":"The name which should be used for this API Management Redis Cache. Changing this forces a new API Management Redis Cache to be created.\n","willReplaceOnChanges":true},"redisCacheId":{"type":"string","description":"The resource ID of the Cache for Redis.\n"}},"type":"object"}},"azure:apimanagement/service:Service":{"description":"Manages an API Management Service.\n\n## Disclaimers\n\n\u003e **Note:** When creating a new API Management resource in version 3.0 of the AzureRM Provider and later, please be aware that the AzureRM Provider will now clean up any sample APIs and Products created by the Azure API during the creation of the API Management resource.\n\n\u003e **Note:** Version 2.77 and later of the Azure Provider include a Feature Toggle which will purge an API Management resource on destroy, rather than the default soft-delete. See the Features block documentation for more information on Feature Toggles within Terraform.\n\n\u003e **Note:** It's possible to define Custom Domains both within the \u003cspan pulumi-lang-nodejs=\"`azure.apimanagement.Service`\" pulumi-lang-dotnet=\"`azure.apimanagement.Service`\" pulumi-lang-go=\"`apimanagement.Service`\" pulumi-lang-python=\"`apimanagement.Service`\" pulumi-lang-yaml=\"`azure.apimanagement.Service`\" pulumi-lang-java=\"`azure.apimanagement.Service`\"\u003e`azure.apimanagement.Service`\u003c/span\u003e resource via the \u003cspan pulumi-lang-nodejs=\"`hostnameConfigurations`\" pulumi-lang-dotnet=\"`HostnameConfigurations`\" pulumi-lang-go=\"`hostnameConfigurations`\" pulumi-lang-python=\"`hostname_configurations`\" pulumi-lang-yaml=\"`hostnameConfigurations`\" pulumi-lang-java=\"`hostnameConfigurations`\"\u003e`hostname_configurations`\u003c/span\u003e block and by using the \u003cspan pulumi-lang-nodejs=\"`azure.apimanagement.CustomDomain`\" pulumi-lang-dotnet=\"`azure.apimanagement.CustomDomain`\" pulumi-lang-go=\"`apimanagement.CustomDomain`\" pulumi-lang-python=\"`apimanagement.CustomDomain`\" pulumi-lang-yaml=\"`azure.apimanagement.CustomDomain`\" pulumi-lang-java=\"`azure.apimanagement.CustomDomain`\"\u003e`azure.apimanagement.CustomDomain`\u003c/span\u003e resource. However it's not possible to use both methods to manage Custom Domains within an API Management Service, since there'll be conflicts.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleService = new azure.apimanagement.Service(\"example\", {\n    name: \"example-apim\",\n    location: example.location,\n    resourceGroupName: example.name,\n    publisherName: \"My Company\",\n    publisherEmail: \"company@exmaple.com\",\n    skuName: \"Developer_1\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_service = azure.apimanagement.Service(\"example\",\n    name=\"example-apim\",\n    location=example.location,\n    resource_group_name=example.name,\n    publisher_name=\"My Company\",\n    publisher_email=\"company@exmaple.com\",\n    sku_name=\"Developer_1\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleService = new Azure.ApiManagement.Service(\"example\", new()\n    {\n        Name = \"example-apim\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        PublisherName = \"My Company\",\n        PublisherEmail = \"company@exmaple.com\",\n        SkuName = \"Developer_1\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/apimanagement\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = apimanagement.NewService(ctx, \"example\", \u0026apimanagement.ServiceArgs{\n\t\t\tName:              pulumi.String(\"example-apim\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tPublisherName:     pulumi.String(\"My Company\"),\n\t\t\tPublisherEmail:    pulumi.String(\"company@exmaple.com\"),\n\t\t\tSkuName:           pulumi.String(\"Developer_1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.apimanagement.Service;\nimport com.pulumi.azure.apimanagement.ServiceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleService = new Service(\"exampleService\", ServiceArgs.builder()\n            .name(\"example-apim\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .publisherName(\"My Company\")\n            .publisherEmail(\"company@exmaple.com\")\n            .skuName(\"Developer_1\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleService:\n    type: azure:apimanagement:Service\n    name: example\n    properties:\n      name: example-apim\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      publisherName: My Company\n      publisherEmail: company@exmaple.com\n      skuName: Developer_1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.ApiManagement` - 2024-05-01, 2022-08-01\n\n## Import\n\nAPI Management Services can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:apimanagement/service:Service example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.ApiManagement/service/instance1\n```\n\n","properties":{"additionalLocations":{"type":"array","items":{"$ref":"#/types/azure:apimanagement/ServiceAdditionalLocation:ServiceAdditionalLocation"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`additionalLocation`\" pulumi-lang-dotnet=\"`AdditionalLocation`\" pulumi-lang-go=\"`additionalLocation`\" pulumi-lang-python=\"`additional_location`\" pulumi-lang-yaml=\"`additionalLocation`\" pulumi-lang-java=\"`additionalLocation`\"\u003e`additional_location`\u003c/span\u003e blocks as defined below.\n"},"certificates":{"type":"array","items":{"$ref":"#/types/azure:apimanagement/ServiceCertificate:ServiceCertificate"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`certificate`\" pulumi-lang-dotnet=\"`Certificate`\" pulumi-lang-go=\"`certificate`\" pulumi-lang-python=\"`certificate`\" pulumi-lang-yaml=\"`certificate`\" pulumi-lang-java=\"`certificate`\"\u003e`certificate`\u003c/span\u003e blocks (up to 10) as defined below.\n"},"clientCertificateEnabled":{"type":"boolean","description":"Enforce a client certificate to be presented on each request to the gateway? This is only supported when SKU type is `Consumption`.\n"},"delegation":{"$ref":"#/types/azure:apimanagement/ServiceDelegation:ServiceDelegation","description":"A \u003cspan pulumi-lang-nodejs=\"`delegation`\" pulumi-lang-dotnet=\"`Delegation`\" pulumi-lang-go=\"`delegation`\" pulumi-lang-python=\"`delegation`\" pulumi-lang-yaml=\"`delegation`\" pulumi-lang-java=\"`delegation`\"\u003e`delegation`\u003c/span\u003e block as defined below.\n"},"developerPortalUrl":{"type":"string","description":"The URL for the Developer Portal associated with this API Management service.\n"},"gatewayDisabled":{"type":"boolean","description":"Disable the gateway in main region? This is only supported when \u003cspan pulumi-lang-nodejs=\"`additionalLocation`\" pulumi-lang-dotnet=\"`AdditionalLocation`\" pulumi-lang-go=\"`additionalLocation`\" pulumi-lang-python=\"`additional_location`\" pulumi-lang-yaml=\"`additionalLocation`\" pulumi-lang-java=\"`additionalLocation`\"\u003e`additional_location`\u003c/span\u003e is set.\n"},"gatewayRegionalUrl":{"type":"string","description":"The URL of the Regional Gateway for the API Management Service in the specified region.\n"},"gatewayUrl":{"type":"string","description":"The URL of the Gateway for the API Management Service.\n"},"hostnameConfiguration":{"$ref":"#/types/azure:apimanagement/ServiceHostnameConfiguration:ServiceHostnameConfiguration","description":"A \u003cspan pulumi-lang-nodejs=\"`hostnameConfiguration`\" pulumi-lang-dotnet=\"`HostnameConfiguration`\" pulumi-lang-go=\"`hostnameConfiguration`\" pulumi-lang-python=\"`hostname_configuration`\" pulumi-lang-yaml=\"`hostnameConfiguration`\" pulumi-lang-java=\"`hostnameConfiguration`\"\u003e`hostname_configuration`\u003c/span\u003e block as defined below.\n"},"identity":{"$ref":"#/types/azure:apimanagement/ServiceIdentity:ServiceIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"location":{"type":"string","description":"The Azure location where the API Management Service exists. Changing this forces a new resource to be created.\n"},"managementApiUrl":{"type":"string","description":"The URL for the Management API associated with this API Management service.\n"},"minApiVersion":{"type":"string","description":"The version which the control plane API calls to API Management service are limited with version equal to or newer than.\n"},"name":{"type":"string","description":"The name of the API Management Service. Changing this forces a new resource to be created.\n"},"notificationSenderEmail":{"type":"string","description":"Email address from which the notification will be sent.\n"},"portalUrl":{"type":"string","description":"The URL for the Publisher Portal associated with this API Management service.\n"},"privateIpAddresses":{"type":"array","items":{"type":"string"},"description":"The Private IP addresses of the API Management Service. Available only when the API Manager instance is using Virtual Network mode.\n"},"protocols":{"$ref":"#/types/azure:apimanagement/ServiceProtocols:ServiceProtocols","description":"A \u003cspan pulumi-lang-nodejs=\"`protocols`\" pulumi-lang-dotnet=\"`Protocols`\" pulumi-lang-go=\"`protocols`\" pulumi-lang-python=\"`protocols`\" pulumi-lang-yaml=\"`protocols`\" pulumi-lang-java=\"`protocols`\"\u003e`protocols`\u003c/span\u003e block as defined below.\n"},"publicIpAddressId":{"type":"string","description":"ID of a standard SKU IPv4 Public IP.\n\n\u003e **Note:** Custom public IPs are only supported on the `Premium` and `Developer` tiers when deployed in a virtual network.\n"},"publicIpAddresses":{"type":"array","items":{"type":"string"},"description":"Public Static Load Balanced IP addresses of the API Management service in the additional location. Available only for Basic, Standard and Premium SKU.\n"},"publicNetworkAccessEnabled":{"type":"boolean","description":"Is public access to the service allowed? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n\n\u003e **Note:** This option is applicable only to the Management plane, not the API gateway or Developer portal. It is required to be \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e on the creation.\n"},"publisherEmail":{"type":"string","description":"The email of publisher/company.\n"},"publisherName":{"type":"string","description":"The name of publisher/company.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group in which the API Management Service should exist. Changing this forces a new resource to be created.\n"},"scmUrl":{"type":"string","description":"The URL for the SCM (Source Code Management) Endpoint associated with this API Management service.\n"},"security":{"$ref":"#/types/azure:apimanagement/ServiceSecurity:ServiceSecurity","description":"A \u003cspan pulumi-lang-nodejs=\"`security`\" pulumi-lang-dotnet=\"`Security`\" pulumi-lang-go=\"`security`\" pulumi-lang-python=\"`security`\" pulumi-lang-yaml=\"`security`\" pulumi-lang-java=\"`security`\"\u003e`security`\u003c/span\u003e block as defined below.\n"},"signIn":{"$ref":"#/types/azure:apimanagement/ServiceSignIn:ServiceSignIn","description":"A \u003cspan pulumi-lang-nodejs=\"`signIn`\" pulumi-lang-dotnet=\"`SignIn`\" pulumi-lang-go=\"`signIn`\" pulumi-lang-python=\"`sign_in`\" pulumi-lang-yaml=\"`signIn`\" pulumi-lang-java=\"`signIn`\"\u003e`sign_in`\u003c/span\u003e block as defined below.\n"},"signUp":{"$ref":"#/types/azure:apimanagement/ServiceSignUp:ServiceSignUp","description":"A \u003cspan pulumi-lang-nodejs=\"`signUp`\" pulumi-lang-dotnet=\"`SignUp`\" pulumi-lang-go=\"`signUp`\" pulumi-lang-python=\"`sign_up`\" pulumi-lang-yaml=\"`signUp`\" pulumi-lang-java=\"`signUp`\"\u003e`sign_up`\u003c/span\u003e block as defined below.\n"},"skuName":{"type":"string","description":"\u003cspan pulumi-lang-nodejs=\"`skuName`\" pulumi-lang-dotnet=\"`SkuName`\" pulumi-lang-go=\"`skuName`\" pulumi-lang-python=\"`sku_name`\" pulumi-lang-yaml=\"`skuName`\" pulumi-lang-java=\"`skuName`\"\u003e`sku_name`\u003c/span\u003e is a string consisting of two parts separated by an underscore(\\_). The first part is the \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e, valid values include: `Consumption`, `Developer`, `Basic`, `BasicV2`, `Standard`, `StandardV2`, `Premium` and `PremiumV2`. The second part is the \u003cspan pulumi-lang-nodejs=\"`capacity`\" pulumi-lang-dotnet=\"`Capacity`\" pulumi-lang-go=\"`capacity`\" pulumi-lang-python=\"`capacity`\" pulumi-lang-yaml=\"`capacity`\" pulumi-lang-java=\"`capacity`\"\u003e`capacity`\u003c/span\u003e (e.g. the number of deployed units of the \u003cspan pulumi-lang-nodejs=\"`sku`\" pulumi-lang-dotnet=\"`Sku`\" pulumi-lang-go=\"`sku`\" pulumi-lang-python=\"`sku`\" pulumi-lang-yaml=\"`sku`\" pulumi-lang-java=\"`sku`\"\u003e`sku`\u003c/span\u003e), which must be a positive \u003cspan pulumi-lang-nodejs=\"`integer`\" pulumi-lang-dotnet=\"`Integer`\" pulumi-lang-go=\"`integer`\" pulumi-lang-python=\"`integer`\" pulumi-lang-yaml=\"`integer`\" pulumi-lang-java=\"`integer`\"\u003e`integer`\u003c/span\u003e (e.g. `Developer_1`).\n\n\u003e **Note:** Premium SKUs are limited to a default maximum of 12 (i.e. `Premium_12`), this can, however, be increased via support request.\n\n\u003e **Note:** Consumption SKU capacity should be 0 (e.g. `Consumption_0`) as this tier includes automatic scaling.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags assigned to the resource.\n"},"tenantAccess":{"$ref":"#/types/azure:apimanagement/ServiceTenantAccess:ServiceTenantAccess","description":"A \u003cspan pulumi-lang-nodejs=\"`tenantAccess`\" pulumi-lang-dotnet=\"`TenantAccess`\" pulumi-lang-go=\"`tenantAccess`\" pulumi-lang-python=\"`tenant_access`\" pulumi-lang-yaml=\"`tenantAccess`\" pulumi-lang-java=\"`tenantAccess`\"\u003e`tenant_access`\u003c/span\u003e block as defined below.\n"},"virtualNetworkConfiguration":{"$ref":"#/types/azure:apimanagement/ServiceVirtualNetworkConfiguration:ServiceVirtualNetworkConfiguration","description":"A \u003cspan pulumi-lang-nodejs=\"`virtualNetworkConfiguration`\" pulumi-lang-dotnet=\"`VirtualNetworkConfiguration`\" pulumi-lang-go=\"`virtualNetworkConfiguration`\" pulumi-lang-python=\"`virtual_network_configuration`\" pulumi-lang-yaml=\"`virtualNetworkConfiguration`\" pulumi-lang-java=\"`virtualNetworkConfiguration`\"\u003e`virtual_network_configuration`\u003c/span\u003e block as defined below. Required when \u003cspan pulumi-lang-nodejs=\"`virtualNetworkType`\" pulumi-lang-dotnet=\"`VirtualNetworkType`\" pulumi-lang-go=\"`virtualNetworkType`\" pulumi-lang-python=\"`virtual_network_type`\" pulumi-lang-yaml=\"`virtualNetworkType`\" pulumi-lang-java=\"`virtualNetworkType`\"\u003e`virtual_network_type`\u003c/span\u003e is `External` or `Internal`.\n"},"virtualNetworkType":{"type":"string","description":"The type of virtual network you want to use, valid values include: `None`, `External`, `Internal`. Defaults to `None`.\n\n\u003e **Note:** Please ensure that in the subnet, inbound port 3443 is open when \u003cspan pulumi-lang-nodejs=\"`virtualNetworkType`\" pulumi-lang-dotnet=\"`VirtualNetworkType`\" pulumi-lang-go=\"`virtualNetworkType`\" pulumi-lang-python=\"`virtual_network_type`\" pulumi-lang-yaml=\"`virtualNetworkType`\" pulumi-lang-java=\"`virtualNetworkType`\"\u003e`virtual_network_type`\u003c/span\u003e is `Internal` or `External`. Additionally, please ensure other necessary ports are open according to [api management network configuration](https://learn.microsoft.com/azure/api-management/virtual-network-reference).\n"},"zones":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Availability Zones in which this API Management service should be located.\n\n\u003e **Note:** Availability zones are only supported in the Premium tier.\n"}},"required":["delegation","developerPortalUrl","gatewayRegionalUrl","gatewayUrl","hostnameConfiguration","location","managementApiUrl","name","notificationSenderEmail","portalUrl","privateIpAddresses","protocols","publicIpAddresses","publisherEmail","publisherName","resourceGroupName","scmUrl","security","signIn","signUp","skuName","tenantAccess"],"inputProperties":{"additionalLocations":{"type":"array","items":{"$ref":"#/types/azure:apimanagement/ServiceAdditionalLocation:ServiceAdditionalLocation"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`additionalLocation`\" pulumi-lang-dotnet=\"`AdditionalLocation`\" pulumi-lang-go=\"`additionalLocation`\" pulumi-lang-python=\"`additional_location`\" pulumi-lang-yaml=\"`additionalLocation`\" pulumi-lang-java=\"`additionalLocation`\"\u003e`additional_location`\u003c/span\u003e blocks as defined below.\n"},"certificates":{"type":"array","items":{"$ref":"#/types/azure:apimanagement/ServiceCertificate:ServiceCertificate"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`certificate`\" pulumi-lang-dotnet=\"`Certificate`\" pulumi-lang-go=\"`certificate`\" pulumi-lang-python=\"`certificate`\" pulumi-lang-yaml=\"`certificate`\" pulumi-lang-java=\"`certificate`\"\u003e`certificate`\u003c/span\u003e blocks (up to 10) as defined below.\n"},"clientCertificateEnabled":{"type":"boolean","description":"Enforce a client certificate to be presented on each request to the gateway? This is only supported when SKU type is `Consumption`.\n"},"delegation":{"$ref":"#/types/azure:apimanagement/ServiceDelegation:ServiceDelegation","description":"A \u003cspan pulumi-lang-nodejs=\"`delegation`\" pulumi-lang-dotnet=\"`Delegation`\" pulumi-lang-go=\"`delegation`\" pulumi-lang-python=\"`delegation`\" pulumi-lang-yaml=\"`delegation`\" pulumi-lang-java=\"`delegation`\"\u003e`delegation`\u003c/span\u003e block as defined below.\n"},"gatewayDisabled":{"type":"boolean","description":"Disable the gateway in main region? This is only supported when \u003cspan pulumi-lang-nodejs=\"`additionalLocation`\" pulumi-lang-dotnet=\"`AdditionalLocation`\" pulumi-lang-go=\"`additionalLocation`\" pulumi-lang-python=\"`additional_location`\" pulumi-lang-yaml=\"`additionalLocation`\" pulumi-lang-java=\"`additionalLocation`\"\u003e`additional_location`\u003c/span\u003e is set.\n"},"hostnameConfiguration":{"$ref":"#/types/azure:apimanagement/ServiceHostnameConfiguration:ServiceHostnameConfiguration","description":"A \u003cspan pulumi-lang-nodejs=\"`hostnameConfiguration`\" pulumi-lang-dotnet=\"`HostnameConfiguration`\" pulumi-lang-go=\"`hostnameConfiguration`\" pulumi-lang-python=\"`hostname_configuration`\" pulumi-lang-yaml=\"`hostnameConfiguration`\" pulumi-lang-java=\"`hostnameConfiguration`\"\u003e`hostname_configuration`\u003c/span\u003e block as defined below.\n"},"identity":{"$ref":"#/types/azure:apimanagement/ServiceIdentity:ServiceIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"location":{"type":"string","description":"The Azure location where the API Management Service exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"minApiVersion":{"type":"string","description":"The version which the control plane API calls to API Management service are limited with version equal to or newer than.\n"},"name":{"type":"string","description":"The name of the API Management Service. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"notificationSenderEmail":{"type":"string","description":"Email address from which the notification will be sent.\n"},"protocols":{"$ref":"#/types/azure:apimanagement/ServiceProtocols:ServiceProtocols","description":"A \u003cspan pulumi-lang-nodejs=\"`protocols`\" pulumi-lang-dotnet=\"`Protocols`\" pulumi-lang-go=\"`protocols`\" pulumi-lang-python=\"`protocols`\" pulumi-lang-yaml=\"`protocols`\" pulumi-lang-java=\"`protocols`\"\u003e`protocols`\u003c/span\u003e block as defined below.\n"},"publicIpAddressId":{"type":"string","description":"ID of a standard SKU IPv4 Public IP.\n\n\u003e **Note:** Custom public IPs are only supported on the `Premium` and `Developer` tiers when deployed in a virtual network.\n"},"publicNetworkAccessEnabled":{"type":"boolean","description":"Is public access to the service allowed? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n\n\u003e **Note:** This option is applicable only to the Management plane, not the API gateway or Developer portal. It is required to be \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e on the creation.\n"},"publisherEmail":{"type":"string","description":"The email of publisher/company.\n"},"publisherName":{"type":"string","description":"The name of publisher/company.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group in which the API Management Service should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"security":{"$ref":"#/types/azure:apimanagement/ServiceSecurity:ServiceSecurity","description":"A \u003cspan pulumi-lang-nodejs=\"`security`\" pulumi-lang-dotnet=\"`Security`\" pulumi-lang-go=\"`security`\" pulumi-lang-python=\"`security`\" pulumi-lang-yaml=\"`security`\" pulumi-lang-java=\"`security`\"\u003e`security`\u003c/span\u003e block as defined below.\n"},"signIn":{"$ref":"#/types/azure:apimanagement/ServiceSignIn:ServiceSignIn","description":"A \u003cspan pulumi-lang-nodejs=\"`signIn`\" pulumi-lang-dotnet=\"`SignIn`\" pulumi-lang-go=\"`signIn`\" pulumi-lang-python=\"`sign_in`\" pulumi-lang-yaml=\"`signIn`\" pulumi-lang-java=\"`signIn`\"\u003e`sign_in`\u003c/span\u003e block as defined below.\n"},"signUp":{"$ref":"#/types/azure:apimanagement/ServiceSignUp:ServiceSignUp","description":"A \u003cspan pulumi-lang-nodejs=\"`signUp`\" pulumi-lang-dotnet=\"`SignUp`\" pulumi-lang-go=\"`signUp`\" pulumi-lang-python=\"`sign_up`\" pulumi-lang-yaml=\"`signUp`\" pulumi-lang-java=\"`signUp`\"\u003e`sign_up`\u003c/span\u003e block as defined below.\n"},"skuName":{"type":"string","description":"\u003cspan pulumi-lang-nodejs=\"`skuName`\" pulumi-lang-dotnet=\"`SkuName`\" pulumi-lang-go=\"`skuName`\" pulumi-lang-python=\"`sku_name`\" pulumi-lang-yaml=\"`skuName`\" pulumi-lang-java=\"`skuName`\"\u003e`sku_name`\u003c/span\u003e is a string consisting of two parts separated by an underscore(\\_). The first part is the \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e, valid values include: `Consumption`, `Developer`, `Basic`, `BasicV2`, `Standard`, `StandardV2`, `Premium` and `PremiumV2`. The second part is the \u003cspan pulumi-lang-nodejs=\"`capacity`\" pulumi-lang-dotnet=\"`Capacity`\" pulumi-lang-go=\"`capacity`\" pulumi-lang-python=\"`capacity`\" pulumi-lang-yaml=\"`capacity`\" pulumi-lang-java=\"`capacity`\"\u003e`capacity`\u003c/span\u003e (e.g. the number of deployed units of the \u003cspan pulumi-lang-nodejs=\"`sku`\" pulumi-lang-dotnet=\"`Sku`\" pulumi-lang-go=\"`sku`\" pulumi-lang-python=\"`sku`\" pulumi-lang-yaml=\"`sku`\" pulumi-lang-java=\"`sku`\"\u003e`sku`\u003c/span\u003e), which must be a positive \u003cspan pulumi-lang-nodejs=\"`integer`\" pulumi-lang-dotnet=\"`Integer`\" pulumi-lang-go=\"`integer`\" pulumi-lang-python=\"`integer`\" pulumi-lang-yaml=\"`integer`\" pulumi-lang-java=\"`integer`\"\u003e`integer`\u003c/span\u003e (e.g. `Developer_1`).\n\n\u003e **Note:** Premium SKUs are limited to a default maximum of 12 (i.e. `Premium_12`), this can, however, be increased via support request.\n\n\u003e **Note:** Consumption SKU capacity should be 0 (e.g. `Consumption_0`) as this tier includes automatic scaling.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags assigned to the resource.\n"},"tenantAccess":{"$ref":"#/types/azure:apimanagement/ServiceTenantAccess:ServiceTenantAccess","description":"A \u003cspan pulumi-lang-nodejs=\"`tenantAccess`\" pulumi-lang-dotnet=\"`TenantAccess`\" pulumi-lang-go=\"`tenantAccess`\" pulumi-lang-python=\"`tenant_access`\" pulumi-lang-yaml=\"`tenantAccess`\" pulumi-lang-java=\"`tenantAccess`\"\u003e`tenant_access`\u003c/span\u003e block as defined below.\n"},"virtualNetworkConfiguration":{"$ref":"#/types/azure:apimanagement/ServiceVirtualNetworkConfiguration:ServiceVirtualNetworkConfiguration","description":"A \u003cspan pulumi-lang-nodejs=\"`virtualNetworkConfiguration`\" pulumi-lang-dotnet=\"`VirtualNetworkConfiguration`\" pulumi-lang-go=\"`virtualNetworkConfiguration`\" pulumi-lang-python=\"`virtual_network_configuration`\" pulumi-lang-yaml=\"`virtualNetworkConfiguration`\" pulumi-lang-java=\"`virtualNetworkConfiguration`\"\u003e`virtual_network_configuration`\u003c/span\u003e block as defined below. Required when \u003cspan pulumi-lang-nodejs=\"`virtualNetworkType`\" pulumi-lang-dotnet=\"`VirtualNetworkType`\" pulumi-lang-go=\"`virtualNetworkType`\" pulumi-lang-python=\"`virtual_network_type`\" pulumi-lang-yaml=\"`virtualNetworkType`\" pulumi-lang-java=\"`virtualNetworkType`\"\u003e`virtual_network_type`\u003c/span\u003e is `External` or `Internal`.\n"},"virtualNetworkType":{"type":"string","description":"The type of virtual network you want to use, valid values include: `None`, `External`, `Internal`. Defaults to `None`.\n\n\u003e **Note:** Please ensure that in the subnet, inbound port 3443 is open when \u003cspan pulumi-lang-nodejs=\"`virtualNetworkType`\" pulumi-lang-dotnet=\"`VirtualNetworkType`\" pulumi-lang-go=\"`virtualNetworkType`\" pulumi-lang-python=\"`virtual_network_type`\" pulumi-lang-yaml=\"`virtualNetworkType`\" pulumi-lang-java=\"`virtualNetworkType`\"\u003e`virtual_network_type`\u003c/span\u003e is `Internal` or `External`. Additionally, please ensure other necessary ports are open according to [api management network configuration](https://learn.microsoft.com/azure/api-management/virtual-network-reference).\n"},"zones":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Availability Zones in which this API Management service should be located.\n\n\u003e **Note:** Availability zones are only supported in the Premium tier.\n"}},"requiredInputs":["publisherEmail","publisherName","resourceGroupName","skuName"],"stateInputs":{"description":"Input properties used for looking up and filtering Service resources.\n","properties":{"additionalLocations":{"type":"array","items":{"$ref":"#/types/azure:apimanagement/ServiceAdditionalLocation:ServiceAdditionalLocation"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`additionalLocation`\" pulumi-lang-dotnet=\"`AdditionalLocation`\" pulumi-lang-go=\"`additionalLocation`\" pulumi-lang-python=\"`additional_location`\" pulumi-lang-yaml=\"`additionalLocation`\" pulumi-lang-java=\"`additionalLocation`\"\u003e`additional_location`\u003c/span\u003e blocks as defined below.\n"},"certificates":{"type":"array","items":{"$ref":"#/types/azure:apimanagement/ServiceCertificate:ServiceCertificate"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`certificate`\" pulumi-lang-dotnet=\"`Certificate`\" pulumi-lang-go=\"`certificate`\" pulumi-lang-python=\"`certificate`\" pulumi-lang-yaml=\"`certificate`\" pulumi-lang-java=\"`certificate`\"\u003e`certificate`\u003c/span\u003e blocks (up to 10) as defined below.\n"},"clientCertificateEnabled":{"type":"boolean","description":"Enforce a client certificate to be presented on each request to the gateway? This is only supported when SKU type is `Consumption`.\n"},"delegation":{"$ref":"#/types/azure:apimanagement/ServiceDelegation:ServiceDelegation","description":"A \u003cspan pulumi-lang-nodejs=\"`delegation`\" pulumi-lang-dotnet=\"`Delegation`\" pulumi-lang-go=\"`delegation`\" pulumi-lang-python=\"`delegation`\" pulumi-lang-yaml=\"`delegation`\" pulumi-lang-java=\"`delegation`\"\u003e`delegation`\u003c/span\u003e block as defined below.\n"},"developerPortalUrl":{"type":"string","description":"The URL for the Developer Portal associated with this API Management service.\n"},"gatewayDisabled":{"type":"boolean","description":"Disable the gateway in main region? This is only supported when \u003cspan pulumi-lang-nodejs=\"`additionalLocation`\" pulumi-lang-dotnet=\"`AdditionalLocation`\" pulumi-lang-go=\"`additionalLocation`\" pulumi-lang-python=\"`additional_location`\" pulumi-lang-yaml=\"`additionalLocation`\" pulumi-lang-java=\"`additionalLocation`\"\u003e`additional_location`\u003c/span\u003e is set.\n"},"gatewayRegionalUrl":{"type":"string","description":"The URL of the Regional Gateway for the API Management Service in the specified region.\n"},"gatewayUrl":{"type":"string","description":"The URL of the Gateway for the API Management Service.\n"},"hostnameConfiguration":{"$ref":"#/types/azure:apimanagement/ServiceHostnameConfiguration:ServiceHostnameConfiguration","description":"A \u003cspan pulumi-lang-nodejs=\"`hostnameConfiguration`\" pulumi-lang-dotnet=\"`HostnameConfiguration`\" pulumi-lang-go=\"`hostnameConfiguration`\" pulumi-lang-python=\"`hostname_configuration`\" pulumi-lang-yaml=\"`hostnameConfiguration`\" pulumi-lang-java=\"`hostnameConfiguration`\"\u003e`hostname_configuration`\u003c/span\u003e block as defined below.\n"},"identity":{"$ref":"#/types/azure:apimanagement/ServiceIdentity:ServiceIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"location":{"type":"string","description":"The Azure location where the API Management Service exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"managementApiUrl":{"type":"string","description":"The URL for the Management API associated with this API Management service.\n"},"minApiVersion":{"type":"string","description":"The version which the control plane API calls to API Management service are limited with version equal to or newer than.\n"},"name":{"type":"string","description":"The name of the API Management Service. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"notificationSenderEmail":{"type":"string","description":"Email address from which the notification will be sent.\n"},"portalUrl":{"type":"string","description":"The URL for the Publisher Portal associated with this API Management service.\n"},"privateIpAddresses":{"type":"array","items":{"type":"string"},"description":"The Private IP addresses of the API Management Service. Available only when the API Manager instance is using Virtual Network mode.\n"},"protocols":{"$ref":"#/types/azure:apimanagement/ServiceProtocols:ServiceProtocols","description":"A \u003cspan pulumi-lang-nodejs=\"`protocols`\" pulumi-lang-dotnet=\"`Protocols`\" pulumi-lang-go=\"`protocols`\" pulumi-lang-python=\"`protocols`\" pulumi-lang-yaml=\"`protocols`\" pulumi-lang-java=\"`protocols`\"\u003e`protocols`\u003c/span\u003e block as defined below.\n"},"publicIpAddressId":{"type":"string","description":"ID of a standard SKU IPv4 Public IP.\n\n\u003e **Note:** Custom public IPs are only supported on the `Premium` and `Developer` tiers when deployed in a virtual network.\n"},"publicIpAddresses":{"type":"array","items":{"type":"string"},"description":"Public Static Load Balanced IP addresses of the API Management service in the additional location. Available only for Basic, Standard and Premium SKU.\n"},"publicNetworkAccessEnabled":{"type":"boolean","description":"Is public access to the service allowed? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n\n\u003e **Note:** This option is applicable only to the Management plane, not the API gateway or Developer portal. It is required to be \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e on the creation.\n"},"publisherEmail":{"type":"string","description":"The email of publisher/company.\n"},"publisherName":{"type":"string","description":"The name of publisher/company.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group in which the API Management Service should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"scmUrl":{"type":"string","description":"The URL for the SCM (Source Code Management) Endpoint associated with this API Management service.\n"},"security":{"$ref":"#/types/azure:apimanagement/ServiceSecurity:ServiceSecurity","description":"A \u003cspan pulumi-lang-nodejs=\"`security`\" pulumi-lang-dotnet=\"`Security`\" pulumi-lang-go=\"`security`\" pulumi-lang-python=\"`security`\" pulumi-lang-yaml=\"`security`\" pulumi-lang-java=\"`security`\"\u003e`security`\u003c/span\u003e block as defined below.\n"},"signIn":{"$ref":"#/types/azure:apimanagement/ServiceSignIn:ServiceSignIn","description":"A \u003cspan pulumi-lang-nodejs=\"`signIn`\" pulumi-lang-dotnet=\"`SignIn`\" pulumi-lang-go=\"`signIn`\" pulumi-lang-python=\"`sign_in`\" pulumi-lang-yaml=\"`signIn`\" pulumi-lang-java=\"`signIn`\"\u003e`sign_in`\u003c/span\u003e block as defined below.\n"},"signUp":{"$ref":"#/types/azure:apimanagement/ServiceSignUp:ServiceSignUp","description":"A \u003cspan pulumi-lang-nodejs=\"`signUp`\" pulumi-lang-dotnet=\"`SignUp`\" pulumi-lang-go=\"`signUp`\" pulumi-lang-python=\"`sign_up`\" pulumi-lang-yaml=\"`signUp`\" pulumi-lang-java=\"`signUp`\"\u003e`sign_up`\u003c/span\u003e block as defined below.\n"},"skuName":{"type":"string","description":"\u003cspan pulumi-lang-nodejs=\"`skuName`\" pulumi-lang-dotnet=\"`SkuName`\" pulumi-lang-go=\"`skuName`\" pulumi-lang-python=\"`sku_name`\" pulumi-lang-yaml=\"`skuName`\" pulumi-lang-java=\"`skuName`\"\u003e`sku_name`\u003c/span\u003e is a string consisting of two parts separated by an underscore(\\_). The first part is the \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e, valid values include: `Consumption`, `Developer`, `Basic`, `BasicV2`, `Standard`, `StandardV2`, `Premium` and `PremiumV2`. The second part is the \u003cspan pulumi-lang-nodejs=\"`capacity`\" pulumi-lang-dotnet=\"`Capacity`\" pulumi-lang-go=\"`capacity`\" pulumi-lang-python=\"`capacity`\" pulumi-lang-yaml=\"`capacity`\" pulumi-lang-java=\"`capacity`\"\u003e`capacity`\u003c/span\u003e (e.g. the number of deployed units of the \u003cspan pulumi-lang-nodejs=\"`sku`\" pulumi-lang-dotnet=\"`Sku`\" pulumi-lang-go=\"`sku`\" pulumi-lang-python=\"`sku`\" pulumi-lang-yaml=\"`sku`\" pulumi-lang-java=\"`sku`\"\u003e`sku`\u003c/span\u003e), which must be a positive \u003cspan pulumi-lang-nodejs=\"`integer`\" pulumi-lang-dotnet=\"`Integer`\" pulumi-lang-go=\"`integer`\" pulumi-lang-python=\"`integer`\" pulumi-lang-yaml=\"`integer`\" pulumi-lang-java=\"`integer`\"\u003e`integer`\u003c/span\u003e (e.g. `Developer_1`).\n\n\u003e **Note:** Premium SKUs are limited to a default maximum of 12 (i.e. `Premium_12`), this can, however, be increased via support request.\n\n\u003e **Note:** Consumption SKU capacity should be 0 (e.g. `Consumption_0`) as this tier includes automatic scaling.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags assigned to the resource.\n"},"tenantAccess":{"$ref":"#/types/azure:apimanagement/ServiceTenantAccess:ServiceTenantAccess","description":"A \u003cspan pulumi-lang-nodejs=\"`tenantAccess`\" pulumi-lang-dotnet=\"`TenantAccess`\" pulumi-lang-go=\"`tenantAccess`\" pulumi-lang-python=\"`tenant_access`\" pulumi-lang-yaml=\"`tenantAccess`\" pulumi-lang-java=\"`tenantAccess`\"\u003e`tenant_access`\u003c/span\u003e block as defined below.\n"},"virtualNetworkConfiguration":{"$ref":"#/types/azure:apimanagement/ServiceVirtualNetworkConfiguration:ServiceVirtualNetworkConfiguration","description":"A \u003cspan pulumi-lang-nodejs=\"`virtualNetworkConfiguration`\" pulumi-lang-dotnet=\"`VirtualNetworkConfiguration`\" pulumi-lang-go=\"`virtualNetworkConfiguration`\" pulumi-lang-python=\"`virtual_network_configuration`\" pulumi-lang-yaml=\"`virtualNetworkConfiguration`\" pulumi-lang-java=\"`virtualNetworkConfiguration`\"\u003e`virtual_network_configuration`\u003c/span\u003e block as defined below. Required when \u003cspan pulumi-lang-nodejs=\"`virtualNetworkType`\" pulumi-lang-dotnet=\"`VirtualNetworkType`\" pulumi-lang-go=\"`virtualNetworkType`\" pulumi-lang-python=\"`virtual_network_type`\" pulumi-lang-yaml=\"`virtualNetworkType`\" pulumi-lang-java=\"`virtualNetworkType`\"\u003e`virtual_network_type`\u003c/span\u003e is `External` or `Internal`.\n"},"virtualNetworkType":{"type":"string","description":"The type of virtual network you want to use, valid values include: `None`, `External`, `Internal`. Defaults to `None`.\n\n\u003e **Note:** Please ensure that in the subnet, inbound port 3443 is open when \u003cspan pulumi-lang-nodejs=\"`virtualNetworkType`\" pulumi-lang-dotnet=\"`VirtualNetworkType`\" pulumi-lang-go=\"`virtualNetworkType`\" pulumi-lang-python=\"`virtual_network_type`\" pulumi-lang-yaml=\"`virtualNetworkType`\" pulumi-lang-java=\"`virtualNetworkType`\"\u003e`virtual_network_type`\u003c/span\u003e is `Internal` or `External`. Additionally, please ensure other necessary ports are open according to [api management network configuration](https://learn.microsoft.com/azure/api-management/virtual-network-reference).\n"},"zones":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Availability Zones in which this API Management service should be located.\n\n\u003e **Note:** Availability zones are only supported in the Premium tier.\n"}},"type":"object"}},"azure:apimanagement/standaloneGateway:StandaloneGateway":{"description":"Manages an Azure API Management Standalone Gateway.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"example\", {\n    name: \"example-network\",\n    location: example.location,\n    resourceGroupName: example.name,\n    addressSpaces: [\"10.0.0.0/16\"],\n});\nconst exampleSubnet = new azure.network.Subnet(\"example\", {\n    name: \"example-subnet\",\n    resourceGroupName: example.name,\n    virtualNetworkName: exampleVirtualNetwork.name,\n    addressPrefixes: [\"10.0.1.0/24\"],\n    delegations: [{\n        name: \"apim-delegation\",\n        serviceDelegation: {\n            name: \"Microsoft.Web/serverFarms\",\n            actions: [\"Microsoft.Network/virtualNetworks/subnets/action\"],\n        },\n    }],\n});\nconst exampleStandaloneGateway = new azure.apimanagement.StandaloneGateway(\"example\", {\n    name: \"example-gateway-flexible\",\n    resourceGroupName: example.name,\n    location: example.location,\n    virtualNetworkType: \"External\",\n    backendSubnetId: exampleSubnet.id,\n    sku: {\n        capacity: 1,\n        name: \"WorkspaceGatewayPremium\",\n    },\n    tags: {\n        Hello: \"World\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_virtual_network = azure.network.VirtualNetwork(\"example\",\n    name=\"example-network\",\n    location=example.location,\n    resource_group_name=example.name,\n    address_spaces=[\"10.0.0.0/16\"])\nexample_subnet = azure.network.Subnet(\"example\",\n    name=\"example-subnet\",\n    resource_group_name=example.name,\n    virtual_network_name=example_virtual_network.name,\n    address_prefixes=[\"10.0.1.0/24\"],\n    delegations=[{\n        \"name\": \"apim-delegation\",\n        \"service_delegation\": {\n            \"name\": \"Microsoft.Web/serverFarms\",\n            \"actions\": [\"Microsoft.Network/virtualNetworks/subnets/action\"],\n        },\n    }])\nexample_standalone_gateway = azure.apimanagement.StandaloneGateway(\"example\",\n    name=\"example-gateway-flexible\",\n    resource_group_name=example.name,\n    location=example.location,\n    virtual_network_type=\"External\",\n    backend_subnet_id=example_subnet.id,\n    sku={\n        \"capacity\": 1,\n        \"name\": \"WorkspaceGatewayPremium\",\n    },\n    tags={\n        \"Hello\": \"World\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleVirtualNetwork = new Azure.Network.VirtualNetwork(\"example\", new()\n    {\n        Name = \"example-network\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        AddressSpaces = new[]\n        {\n            \"10.0.0.0/16\",\n        },\n    });\n\n    var exampleSubnet = new Azure.Network.Subnet(\"example\", new()\n    {\n        Name = \"example-subnet\",\n        ResourceGroupName = example.Name,\n        VirtualNetworkName = exampleVirtualNetwork.Name,\n        AddressPrefixes = new[]\n        {\n            \"10.0.1.0/24\",\n        },\n        Delegations = new[]\n        {\n            new Azure.Network.Inputs.SubnetDelegationArgs\n            {\n                Name = \"apim-delegation\",\n                ServiceDelegation = new Azure.Network.Inputs.SubnetDelegationServiceDelegationArgs\n                {\n                    Name = \"Microsoft.Web/serverFarms\",\n                    Actions = new[]\n                    {\n                        \"Microsoft.Network/virtualNetworks/subnets/action\",\n                    },\n                },\n            },\n        },\n    });\n\n    var exampleStandaloneGateway = new Azure.ApiManagement.StandaloneGateway(\"example\", new()\n    {\n        Name = \"example-gateway-flexible\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        VirtualNetworkType = \"External\",\n        BackendSubnetId = exampleSubnet.Id,\n        Sku = new Azure.ApiManagement.Inputs.StandaloneGatewaySkuArgs\n        {\n            Capacity = 1,\n            Name = \"WorkspaceGatewayPremium\",\n        },\n        Tags = \n        {\n            { \"Hello\", \"World\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/apimanagement\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, \"example\", \u0026network.VirtualNetworkArgs{\n\t\t\tName:              pulumi.String(\"example-network\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tAddressSpaces: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.0.0/16\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSubnet, err := network.NewSubnet(ctx, \"example\", \u0026network.SubnetArgs{\n\t\t\tName:               pulumi.String(\"example-subnet\"),\n\t\t\tResourceGroupName:  example.Name,\n\t\t\tVirtualNetworkName: exampleVirtualNetwork.Name,\n\t\t\tAddressPrefixes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.1.0/24\"),\n\t\t\t},\n\t\t\tDelegations: network.SubnetDelegationArray{\n\t\t\t\t\u0026network.SubnetDelegationArgs{\n\t\t\t\t\tName: pulumi.String(\"apim-delegation\"),\n\t\t\t\t\tServiceDelegation: \u0026network.SubnetDelegationServiceDelegationArgs{\n\t\t\t\t\t\tName: pulumi.String(\"Microsoft.Web/serverFarms\"),\n\t\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"Microsoft.Network/virtualNetworks/subnets/action\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = apimanagement.NewStandaloneGateway(ctx, \"example\", \u0026apimanagement.StandaloneGatewayArgs{\n\t\t\tName:               pulumi.String(\"example-gateway-flexible\"),\n\t\t\tResourceGroupName:  example.Name,\n\t\t\tLocation:           example.Location,\n\t\t\tVirtualNetworkType: pulumi.String(\"External\"),\n\t\t\tBackendSubnetId:    exampleSubnet.ID(),\n\t\t\tSku: \u0026apimanagement.StandaloneGatewaySkuArgs{\n\t\t\t\tCapacity: pulumi.Int(1),\n\t\t\t\tName:     pulumi.String(\"WorkspaceGatewayPremium\"),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Hello\": pulumi.String(\"World\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.VirtualNetwork;\nimport com.pulumi.azure.network.VirtualNetworkArgs;\nimport com.pulumi.azure.network.Subnet;\nimport com.pulumi.azure.network.SubnetArgs;\nimport com.pulumi.azure.network.inputs.SubnetDelegationArgs;\nimport com.pulumi.azure.network.inputs.SubnetDelegationServiceDelegationArgs;\nimport com.pulumi.azure.apimanagement.StandaloneGateway;\nimport com.pulumi.azure.apimanagement.StandaloneGatewayArgs;\nimport com.pulumi.azure.apimanagement.inputs.StandaloneGatewaySkuArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleVirtualNetwork = new VirtualNetwork(\"exampleVirtualNetwork\", VirtualNetworkArgs.builder()\n            .name(\"example-network\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .addressSpaces(\"10.0.0.0/16\")\n            .build());\n\n        var exampleSubnet = new Subnet(\"exampleSubnet\", SubnetArgs.builder()\n            .name(\"example-subnet\")\n            .resourceGroupName(example.name())\n            .virtualNetworkName(exampleVirtualNetwork.name())\n            .addressPrefixes(\"10.0.1.0/24\")\n            .delegations(SubnetDelegationArgs.builder()\n                .name(\"apim-delegation\")\n                .serviceDelegation(SubnetDelegationServiceDelegationArgs.builder()\n                    .name(\"Microsoft.Web/serverFarms\")\n                    .actions(\"Microsoft.Network/virtualNetworks/subnets/action\")\n                    .build())\n                .build())\n            .build());\n\n        var exampleStandaloneGateway = new StandaloneGateway(\"exampleStandaloneGateway\", StandaloneGatewayArgs.builder()\n            .name(\"example-gateway-flexible\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .virtualNetworkType(\"External\")\n            .backendSubnetId(exampleSubnet.id())\n            .sku(StandaloneGatewaySkuArgs.builder()\n                .capacity(1)\n                .name(\"WorkspaceGatewayPremium\")\n                .build())\n            .tags(Map.of(\"Hello\", \"World\"))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleVirtualNetwork:\n    type: azure:network:VirtualNetwork\n    name: example\n    properties:\n      name: example-network\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      addressSpaces:\n        - 10.0.0.0/16\n  exampleSubnet:\n    type: azure:network:Subnet\n    name: example\n    properties:\n      name: example-subnet\n      resourceGroupName: ${example.name}\n      virtualNetworkName: ${exampleVirtualNetwork.name}\n      addressPrefixes:\n        - 10.0.1.0/24\n      delegations:\n        - name: apim-delegation\n          serviceDelegation:\n            name: Microsoft.Web/serverFarms\n            actions:\n              - Microsoft.Network/virtualNetworks/subnets/action\n  exampleStandaloneGateway:\n    type: azure:apimanagement:StandaloneGateway\n    name: example\n    properties:\n      name: example-gateway-flexible\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      virtualNetworkType: External\n      backendSubnetId: ${exampleSubnet.id}\n      sku:\n        capacity: 1\n        name: WorkspaceGatewayPremium\n      tags:\n        Hello: World\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.ApiManagement` - 2024-05-01\n\n## Import\n\nAPI Management Standalone Gateway can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:apimanagement/standaloneGateway:StandaloneGateway example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.ApiManagement/gateways/gateway1\n```\n\n","properties":{"backendSubnetId":{"type":"string","description":"Specifies the subnet ID in which the backend systems are hosted. Changing this forces a new resource to be created.\n"},"location":{"type":"string","description":"Specifies the Azure Region where the API Management Standalone Gateway should exist. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"Specifies the name which should be used for this API Management Standalone Gateway. Changing this forces a new resource to be created.\n"},"resourceGroupName":{"type":"string","description":"Specifies the name of the Resource Group where the API Management Standalone Gateway should exist. Changing this forces a new resource to be created.\n"},"sku":{"$ref":"#/types/azure:apimanagement/StandaloneGatewaySku:StandaloneGatewaySku","description":"A \u003cspan pulumi-lang-nodejs=\"`sku`\" pulumi-lang-dotnet=\"`Sku`\" pulumi-lang-go=\"`sku`\" pulumi-lang-python=\"`sku`\" pulumi-lang-yaml=\"`sku`\" pulumi-lang-java=\"`sku`\"\u003e`sku`\u003c/span\u003e block as defined below.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the API Management Standalone Gateway. Changing this forces a new resource to be created.\n"},"virtualNetworkType":{"type":"string","description":"Specifies the type of VPN in which API Management gateway needs to be configured. Possible values are `External` and `Internal`. Changing this forces a new resource to be created.\n"}},"required":["location","name","resourceGroupName","sku"],"inputProperties":{"backendSubnetId":{"type":"string","description":"Specifies the subnet ID in which the backend systems are hosted. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"location":{"type":"string","description":"Specifies the Azure Region where the API Management Standalone Gateway should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name which should be used for this API Management Standalone Gateway. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"Specifies the name of the Resource Group where the API Management Standalone Gateway should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sku":{"$ref":"#/types/azure:apimanagement/StandaloneGatewaySku:StandaloneGatewaySku","description":"A \u003cspan pulumi-lang-nodejs=\"`sku`\" pulumi-lang-dotnet=\"`Sku`\" pulumi-lang-go=\"`sku`\" pulumi-lang-python=\"`sku`\" pulumi-lang-yaml=\"`sku`\" pulumi-lang-java=\"`sku`\"\u003e`sku`\u003c/span\u003e block as defined below.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the API Management Standalone Gateway. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"virtualNetworkType":{"type":"string","description":"Specifies the type of VPN in which API Management gateway needs to be configured. Possible values are `External` and `Internal`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["resourceGroupName","sku"],"stateInputs":{"description":"Input properties used for looking up and filtering StandaloneGateway resources.\n","properties":{"backendSubnetId":{"type":"string","description":"Specifies the subnet ID in which the backend systems are hosted. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"location":{"type":"string","description":"Specifies the Azure Region where the API Management Standalone Gateway should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name which should be used for this API Management Standalone Gateway. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"Specifies the name of the Resource Group where the API Management Standalone Gateway should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sku":{"$ref":"#/types/azure:apimanagement/StandaloneGatewaySku:StandaloneGatewaySku","description":"A \u003cspan pulumi-lang-nodejs=\"`sku`\" pulumi-lang-dotnet=\"`Sku`\" pulumi-lang-go=\"`sku`\" pulumi-lang-python=\"`sku`\" pulumi-lang-yaml=\"`sku`\" pulumi-lang-java=\"`sku`\"\u003e`sku`\u003c/span\u003e block as defined below.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the API Management Standalone Gateway. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"virtualNetworkType":{"type":"string","description":"Specifies the type of VPN in which API Management gateway needs to be configured. Possible values are `External` and `Internal`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:apimanagement/subscription:Subscription":{"description":"Manages a Subscription within a API Management Service.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.apimanagement.getService({\n    name: \"example-apim\",\n    resourceGroupName: \"example-resources\",\n});\nconst exampleGetProduct = Promise.all([example, example]).then(([example, example1]) =\u003e azure.apimanagement.getProduct({\n    productId: \"00000000-0000-0000-0000-000000000000\",\n    apiManagementName: example.name,\n    resourceGroupName: example1.resourceGroupName,\n}));\nconst exampleGetUser = Promise.all([example, example]).then(([example, example1]) =\u003e azure.apimanagement.getUser({\n    userId: \"11111111-1111-1111-1111-111111111111\",\n    apiManagementName: example.name,\n    resourceGroupName: example1.resourceGroupName,\n}));\nconst exampleSubscription = new azure.apimanagement.Subscription(\"example\", {\n    apiManagementName: example.then(example =\u003e example.name),\n    resourceGroupName: example.then(example =\u003e example.resourceGroupName),\n    userId: exampleGetUser.then(exampleGetUser =\u003e exampleGetUser.id),\n    productId: exampleGetProduct.then(exampleGetProduct =\u003e exampleGetProduct.id),\n    displayName: \"Parser API\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.apimanagement.get_service(name=\"example-apim\",\n    resource_group_name=\"example-resources\")\nexample_get_product = azure.apimanagement.get_product(product_id=\"00000000-0000-0000-0000-000000000000\",\n    api_management_name=example.name,\n    resource_group_name=example.resource_group_name)\nexample_get_user = azure.apimanagement.get_user(user_id=\"11111111-1111-1111-1111-111111111111\",\n    api_management_name=example.name,\n    resource_group_name=example.resource_group_name)\nexample_subscription = azure.apimanagement.Subscription(\"example\",\n    api_management_name=example.name,\n    resource_group_name=example.resource_group_name,\n    user_id=example_get_user.id,\n    product_id=example_get_product.id,\n    display_name=\"Parser API\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.ApiManagement.GetService.Invoke(new()\n    {\n        Name = \"example-apim\",\n        ResourceGroupName = \"example-resources\",\n    });\n\n    var exampleGetProduct = Azure.ApiManagement.GetProduct.Invoke(new()\n    {\n        ProductId = \"00000000-0000-0000-0000-000000000000\",\n        ApiManagementName = example.Apply(getServiceResult =\u003e getServiceResult.Name),\n        ResourceGroupName = example.Apply(getServiceResult =\u003e getServiceResult.ResourceGroupName),\n    });\n\n    var exampleGetUser = Azure.ApiManagement.GetUser.Invoke(new()\n    {\n        UserId = \"11111111-1111-1111-1111-111111111111\",\n        ApiManagementName = example.Apply(getServiceResult =\u003e getServiceResult.Name),\n        ResourceGroupName = example.Apply(getServiceResult =\u003e getServiceResult.ResourceGroupName),\n    });\n\n    var exampleSubscription = new Azure.ApiManagement.Subscription(\"example\", new()\n    {\n        ApiManagementName = example.Apply(getServiceResult =\u003e getServiceResult.Name),\n        ResourceGroupName = example.Apply(getServiceResult =\u003e getServiceResult.ResourceGroupName),\n        UserId = exampleGetUser.Apply(getUserResult =\u003e getUserResult.Id),\n        ProductId = exampleGetProduct.Apply(getProductResult =\u003e getProductResult.Id),\n        DisplayName = \"Parser API\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/apimanagement\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := apimanagement.LookupService(ctx, \u0026apimanagement.LookupServiceArgs{\n\t\t\tName:              \"example-apim\",\n\t\t\tResourceGroupName: \"example-resources\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleGetProduct, err := apimanagement.LookupProduct(ctx, \u0026apimanagement.LookupProductArgs{\n\t\t\tProductId:         \"00000000-0000-0000-0000-000000000000\",\n\t\t\tApiManagementName: example.Name,\n\t\t\tResourceGroupName: example.ResourceGroupName,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleGetUser, err := apimanagement.LookupUser(ctx, \u0026apimanagement.LookupUserArgs{\n\t\t\tUserId:            \"11111111-1111-1111-1111-111111111111\",\n\t\t\tApiManagementName: example.Name,\n\t\t\tResourceGroupName: example.ResourceGroupName,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = apimanagement.NewSubscription(ctx, \"example\", \u0026apimanagement.SubscriptionArgs{\n\t\t\tApiManagementName: pulumi.String(example.Name),\n\t\t\tResourceGroupName: pulumi.String(example.ResourceGroupName),\n\t\t\tUserId:            pulumi.String(exampleGetUser.Id),\n\t\t\tProductId:         pulumi.String(exampleGetProduct.Id),\n\t\t\tDisplayName:       pulumi.String(\"Parser API\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.apimanagement.ApimanagementFunctions;\nimport com.pulumi.azure.apimanagement.inputs.GetServiceArgs;\nimport com.pulumi.azure.apimanagement.inputs.GetProductArgs;\nimport com.pulumi.azure.apimanagement.inputs.GetUserArgs;\nimport com.pulumi.azure.apimanagement.Subscription;\nimport com.pulumi.azure.apimanagement.SubscriptionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = ApimanagementFunctions.getService(GetServiceArgs.builder()\n            .name(\"example-apim\")\n            .resourceGroupName(\"example-resources\")\n            .build());\n\n        final var exampleGetProduct = ApimanagementFunctions.getProduct(GetProductArgs.builder()\n            .productId(\"00000000-0000-0000-0000-000000000000\")\n            .apiManagementName(example.name())\n            .resourceGroupName(example.resourceGroupName())\n            .build());\n\n        final var exampleGetUser = ApimanagementFunctions.getUser(GetUserArgs.builder()\n            .userId(\"11111111-1111-1111-1111-111111111111\")\n            .apiManagementName(example.name())\n            .resourceGroupName(example.resourceGroupName())\n            .build());\n\n        var exampleSubscription = new Subscription(\"exampleSubscription\", SubscriptionArgs.builder()\n            .apiManagementName(example.name())\n            .resourceGroupName(example.resourceGroupName())\n            .userId(exampleGetUser.id())\n            .productId(exampleGetProduct.id())\n            .displayName(\"Parser API\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleSubscription:\n    type: azure:apimanagement:Subscription\n    name: example\n    properties:\n      apiManagementName: ${example.name}\n      resourceGroupName: ${example.resourceGroupName}\n      userId: ${exampleGetUser.id}\n      productId: ${exampleGetProduct.id}\n      displayName: Parser API\nvariables:\n  example:\n    fn::invoke:\n      function: azure:apimanagement:getService\n      arguments:\n        name: example-apim\n        resourceGroupName: example-resources\n  exampleGetProduct:\n    fn::invoke:\n      function: azure:apimanagement:getProduct\n      arguments:\n        productId: 00000000-0000-0000-0000-000000000000\n        apiManagementName: ${example.name}\n        resourceGroupName: ${example.resourceGroupName}\n  exampleGetUser:\n    fn::invoke:\n      function: azure:apimanagement:getUser\n      arguments:\n        userId: 11111111-1111-1111-1111-111111111111\n        apiManagementName: ${example.name}\n        resourceGroupName: ${example.resourceGroupName}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.ApiManagement` - 2022-08-01\n\n## Import\n\nAPI Management Subscriptions can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:apimanagement/subscription:Subscription example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/example-resources/providers/Microsoft.ApiManagement/service/example-apim/subscriptions/subscription-name\n```\n\n","properties":{"allowTracing":{"type":"boolean","description":"Determines whether tracing can be enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"apiId":{"type":"string","description":"The ID of the API which should be assigned to this Subscription. Changing this forces a new resource to be created.\n\n\u003e **Note:** Only one of \u003cspan pulumi-lang-nodejs=\"`productId`\" pulumi-lang-dotnet=\"`ProductId`\" pulumi-lang-go=\"`productId`\" pulumi-lang-python=\"`product_id`\" pulumi-lang-yaml=\"`productId`\" pulumi-lang-java=\"`productId`\"\u003e`product_id`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`apiId`\" pulumi-lang-dotnet=\"`ApiId`\" pulumi-lang-go=\"`apiId`\" pulumi-lang-python=\"`api_id`\" pulumi-lang-yaml=\"`apiId`\" pulumi-lang-java=\"`apiId`\"\u003e`api_id`\u003c/span\u003e can be set. If both are missing `/apis` scope is used for the subscription and all apis are accessible.\n"},"apiManagementName":{"type":"string","description":"The name of the API Management Service where this Subscription should be created. Changing this forces a new resource to be created.\n"},"displayName":{"type":"string","description":"The display name of this Subscription.\n"},"primaryKey":{"type":"string","description":"The primary subscription key to use for the subscription.\n","secret":true},"productId":{"type":"string","description":"The ID of the Product which should be assigned to this Subscription. Changing this forces a new resource to be created.\n\n\u003e **Note:** Only one of \u003cspan pulumi-lang-nodejs=\"`productId`\" pulumi-lang-dotnet=\"`ProductId`\" pulumi-lang-go=\"`productId`\" pulumi-lang-python=\"`product_id`\" pulumi-lang-yaml=\"`productId`\" pulumi-lang-java=\"`productId`\"\u003e`product_id`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`apiId`\" pulumi-lang-dotnet=\"`ApiId`\" pulumi-lang-go=\"`apiId`\" pulumi-lang-python=\"`api_id`\" pulumi-lang-yaml=\"`apiId`\" pulumi-lang-java=\"`apiId`\"\u003e`api_id`\u003c/span\u003e can be set. If both are missing \u003cspan pulumi-lang-nodejs=\"`allApis`\" pulumi-lang-dotnet=\"`AllApis`\" pulumi-lang-go=\"`allApis`\" pulumi-lang-python=\"`all_apis`\" pulumi-lang-yaml=\"`allApis`\" pulumi-lang-java=\"`allApis`\"\u003e`all_apis`\u003c/span\u003e scope is used for the subscription.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group in which the API Management Service exists. Changing this forces a new resource to be created.\n"},"secondaryKey":{"type":"string","description":"The secondary subscription key to use for the subscription.\n","secret":true},"state":{"type":"string","description":"The state of this Subscription. Possible values are \u003cspan pulumi-lang-nodejs=\"`active`\" pulumi-lang-dotnet=\"`Active`\" pulumi-lang-go=\"`active`\" pulumi-lang-python=\"`active`\" pulumi-lang-yaml=\"`active`\" pulumi-lang-java=\"`active`\"\u003e`active`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`cancelled`\" pulumi-lang-dotnet=\"`Cancelled`\" pulumi-lang-go=\"`cancelled`\" pulumi-lang-python=\"`cancelled`\" pulumi-lang-yaml=\"`cancelled`\" pulumi-lang-java=\"`cancelled`\"\u003e`cancelled`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`expired`\" pulumi-lang-dotnet=\"`Expired`\" pulumi-lang-go=\"`expired`\" pulumi-lang-python=\"`expired`\" pulumi-lang-yaml=\"`expired`\" pulumi-lang-java=\"`expired`\"\u003e`expired`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`rejected`\" pulumi-lang-dotnet=\"`Rejected`\" pulumi-lang-go=\"`rejected`\" pulumi-lang-python=\"`rejected`\" pulumi-lang-yaml=\"`rejected`\" pulumi-lang-java=\"`rejected`\"\u003e`rejected`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`submitted`\" pulumi-lang-dotnet=\"`Submitted`\" pulumi-lang-go=\"`submitted`\" pulumi-lang-python=\"`submitted`\" pulumi-lang-yaml=\"`submitted`\" pulumi-lang-java=\"`submitted`\"\u003e`submitted`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`suspended`\" pulumi-lang-dotnet=\"`Suspended`\" pulumi-lang-go=\"`suspended`\" pulumi-lang-python=\"`suspended`\" pulumi-lang-yaml=\"`suspended`\" pulumi-lang-java=\"`suspended`\"\u003e`suspended`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`submitted`\" pulumi-lang-dotnet=\"`Submitted`\" pulumi-lang-go=\"`submitted`\" pulumi-lang-python=\"`submitted`\" pulumi-lang-yaml=\"`submitted`\" pulumi-lang-java=\"`submitted`\"\u003e`submitted`\u003c/span\u003e.\n"},"subscriptionId":{"type":"string","description":"An Identifier which should used as the ID of this Subscription. If not specified a new Subscription ID will be generated. Changing this forces a new resource to be created.\n"},"userId":{"type":"string","description":"The ID of the User which should be assigned to this Subscription. Changing this forces a new resource to be created.\n"}},"required":["apiManagementName","displayName","primaryKey","resourceGroupName","secondaryKey","subscriptionId"],"inputProperties":{"allowTracing":{"type":"boolean","description":"Determines whether tracing can be enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"apiId":{"type":"string","description":"The ID of the API which should be assigned to this Subscription. Changing this forces a new resource to be created.\n\n\u003e **Note:** Only one of \u003cspan pulumi-lang-nodejs=\"`productId`\" pulumi-lang-dotnet=\"`ProductId`\" pulumi-lang-go=\"`productId`\" pulumi-lang-python=\"`product_id`\" pulumi-lang-yaml=\"`productId`\" pulumi-lang-java=\"`productId`\"\u003e`product_id`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`apiId`\" pulumi-lang-dotnet=\"`ApiId`\" pulumi-lang-go=\"`apiId`\" pulumi-lang-python=\"`api_id`\" pulumi-lang-yaml=\"`apiId`\" pulumi-lang-java=\"`apiId`\"\u003e`api_id`\u003c/span\u003e can be set. If both are missing `/apis` scope is used for the subscription and all apis are accessible.\n","willReplaceOnChanges":true},"apiManagementName":{"type":"string","description":"The name of the API Management Service where this Subscription should be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"displayName":{"type":"string","description":"The display name of this Subscription.\n"},"primaryKey":{"type":"string","description":"The primary subscription key to use for the subscription.\n","secret":true},"productId":{"type":"string","description":"The ID of the Product which should be assigned to this Subscription. Changing this forces a new resource to be created.\n\n\u003e **Note:** Only one of \u003cspan pulumi-lang-nodejs=\"`productId`\" pulumi-lang-dotnet=\"`ProductId`\" pulumi-lang-go=\"`productId`\" pulumi-lang-python=\"`product_id`\" pulumi-lang-yaml=\"`productId`\" pulumi-lang-java=\"`productId`\"\u003e`product_id`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`apiId`\" pulumi-lang-dotnet=\"`ApiId`\" pulumi-lang-go=\"`apiId`\" pulumi-lang-python=\"`api_id`\" pulumi-lang-yaml=\"`apiId`\" pulumi-lang-java=\"`apiId`\"\u003e`api_id`\u003c/span\u003e can be set. If both are missing \u003cspan pulumi-lang-nodejs=\"`allApis`\" pulumi-lang-dotnet=\"`AllApis`\" pulumi-lang-go=\"`allApis`\" pulumi-lang-python=\"`all_apis`\" pulumi-lang-yaml=\"`allApis`\" pulumi-lang-java=\"`allApis`\"\u003e`all_apis`\u003c/span\u003e scope is used for the subscription.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group in which the API Management Service exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"secondaryKey":{"type":"string","description":"The secondary subscription key to use for the subscription.\n","secret":true},"state":{"type":"string","description":"The state of this Subscription. Possible values are \u003cspan pulumi-lang-nodejs=\"`active`\" pulumi-lang-dotnet=\"`Active`\" pulumi-lang-go=\"`active`\" pulumi-lang-python=\"`active`\" pulumi-lang-yaml=\"`active`\" pulumi-lang-java=\"`active`\"\u003e`active`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`cancelled`\" pulumi-lang-dotnet=\"`Cancelled`\" pulumi-lang-go=\"`cancelled`\" pulumi-lang-python=\"`cancelled`\" pulumi-lang-yaml=\"`cancelled`\" pulumi-lang-java=\"`cancelled`\"\u003e`cancelled`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`expired`\" pulumi-lang-dotnet=\"`Expired`\" pulumi-lang-go=\"`expired`\" pulumi-lang-python=\"`expired`\" pulumi-lang-yaml=\"`expired`\" pulumi-lang-java=\"`expired`\"\u003e`expired`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`rejected`\" pulumi-lang-dotnet=\"`Rejected`\" pulumi-lang-go=\"`rejected`\" pulumi-lang-python=\"`rejected`\" pulumi-lang-yaml=\"`rejected`\" pulumi-lang-java=\"`rejected`\"\u003e`rejected`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`submitted`\" pulumi-lang-dotnet=\"`Submitted`\" pulumi-lang-go=\"`submitted`\" pulumi-lang-python=\"`submitted`\" pulumi-lang-yaml=\"`submitted`\" pulumi-lang-java=\"`submitted`\"\u003e`submitted`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`suspended`\" pulumi-lang-dotnet=\"`Suspended`\" pulumi-lang-go=\"`suspended`\" pulumi-lang-python=\"`suspended`\" pulumi-lang-yaml=\"`suspended`\" pulumi-lang-java=\"`suspended`\"\u003e`suspended`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`submitted`\" pulumi-lang-dotnet=\"`Submitted`\" pulumi-lang-go=\"`submitted`\" pulumi-lang-python=\"`submitted`\" pulumi-lang-yaml=\"`submitted`\" pulumi-lang-java=\"`submitted`\"\u003e`submitted`\u003c/span\u003e.\n"},"subscriptionId":{"type":"string","description":"An Identifier which should used as the ID of this Subscription. If not specified a new Subscription ID will be generated. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"userId":{"type":"string","description":"The ID of the User which should be assigned to this Subscription. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["apiManagementName","displayName","resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering Subscription resources.\n","properties":{"allowTracing":{"type":"boolean","description":"Determines whether tracing can be enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"apiId":{"type":"string","description":"The ID of the API which should be assigned to this Subscription. Changing this forces a new resource to be created.\n\n\u003e **Note:** Only one of \u003cspan pulumi-lang-nodejs=\"`productId`\" pulumi-lang-dotnet=\"`ProductId`\" pulumi-lang-go=\"`productId`\" pulumi-lang-python=\"`product_id`\" pulumi-lang-yaml=\"`productId`\" pulumi-lang-java=\"`productId`\"\u003e`product_id`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`apiId`\" pulumi-lang-dotnet=\"`ApiId`\" pulumi-lang-go=\"`apiId`\" pulumi-lang-python=\"`api_id`\" pulumi-lang-yaml=\"`apiId`\" pulumi-lang-java=\"`apiId`\"\u003e`api_id`\u003c/span\u003e can be set. If both are missing `/apis` scope is used for the subscription and all apis are accessible.\n","willReplaceOnChanges":true},"apiManagementName":{"type":"string","description":"The name of the API Management Service where this Subscription should be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"displayName":{"type":"string","description":"The display name of this Subscription.\n"},"primaryKey":{"type":"string","description":"The primary subscription key to use for the subscription.\n","secret":true},"productId":{"type":"string","description":"The ID of the Product which should be assigned to this Subscription. Changing this forces a new resource to be created.\n\n\u003e **Note:** Only one of \u003cspan pulumi-lang-nodejs=\"`productId`\" pulumi-lang-dotnet=\"`ProductId`\" pulumi-lang-go=\"`productId`\" pulumi-lang-python=\"`product_id`\" pulumi-lang-yaml=\"`productId`\" pulumi-lang-java=\"`productId`\"\u003e`product_id`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`apiId`\" pulumi-lang-dotnet=\"`ApiId`\" pulumi-lang-go=\"`apiId`\" pulumi-lang-python=\"`api_id`\" pulumi-lang-yaml=\"`apiId`\" pulumi-lang-java=\"`apiId`\"\u003e`api_id`\u003c/span\u003e can be set. If both are missing \u003cspan pulumi-lang-nodejs=\"`allApis`\" pulumi-lang-dotnet=\"`AllApis`\" pulumi-lang-go=\"`allApis`\" pulumi-lang-python=\"`all_apis`\" pulumi-lang-yaml=\"`allApis`\" pulumi-lang-java=\"`allApis`\"\u003e`all_apis`\u003c/span\u003e scope is used for the subscription.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group in which the API Management Service exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"secondaryKey":{"type":"string","description":"The secondary subscription key to use for the subscription.\n","secret":true},"state":{"type":"string","description":"The state of this Subscription. Possible values are \u003cspan pulumi-lang-nodejs=\"`active`\" pulumi-lang-dotnet=\"`Active`\" pulumi-lang-go=\"`active`\" pulumi-lang-python=\"`active`\" pulumi-lang-yaml=\"`active`\" pulumi-lang-java=\"`active`\"\u003e`active`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`cancelled`\" pulumi-lang-dotnet=\"`Cancelled`\" pulumi-lang-go=\"`cancelled`\" pulumi-lang-python=\"`cancelled`\" pulumi-lang-yaml=\"`cancelled`\" pulumi-lang-java=\"`cancelled`\"\u003e`cancelled`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`expired`\" pulumi-lang-dotnet=\"`Expired`\" pulumi-lang-go=\"`expired`\" pulumi-lang-python=\"`expired`\" pulumi-lang-yaml=\"`expired`\" pulumi-lang-java=\"`expired`\"\u003e`expired`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`rejected`\" pulumi-lang-dotnet=\"`Rejected`\" pulumi-lang-go=\"`rejected`\" pulumi-lang-python=\"`rejected`\" pulumi-lang-yaml=\"`rejected`\" pulumi-lang-java=\"`rejected`\"\u003e`rejected`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`submitted`\" pulumi-lang-dotnet=\"`Submitted`\" pulumi-lang-go=\"`submitted`\" pulumi-lang-python=\"`submitted`\" pulumi-lang-yaml=\"`submitted`\" pulumi-lang-java=\"`submitted`\"\u003e`submitted`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`suspended`\" pulumi-lang-dotnet=\"`Suspended`\" pulumi-lang-go=\"`suspended`\" pulumi-lang-python=\"`suspended`\" pulumi-lang-yaml=\"`suspended`\" pulumi-lang-java=\"`suspended`\"\u003e`suspended`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`submitted`\" pulumi-lang-dotnet=\"`Submitted`\" pulumi-lang-go=\"`submitted`\" pulumi-lang-python=\"`submitted`\" pulumi-lang-yaml=\"`submitted`\" pulumi-lang-java=\"`submitted`\"\u003e`submitted`\u003c/span\u003e.\n"},"subscriptionId":{"type":"string","description":"An Identifier which should used as the ID of this Subscription. If not specified a new Subscription ID will be generated. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"userId":{"type":"string","description":"The ID of the User which should be assigned to this Subscription. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:apimanagement/tag:Tag":{"description":"Manages a API Management Tag.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleService = new azure.apimanagement.Service(\"example\", {\n    name: \"example-apim\",\n    location: example.location,\n    resourceGroupName: example.name,\n    publisherName: \"My Company\",\n    publisherEmail: \"company@terraform.io\",\n    skuName: \"Consumption_0\",\n});\nconst exampleTag = new azure.apimanagement.Tag(\"example\", {\n    apiManagementId: exampleService.id,\n    name: \"example-Tag\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_service = azure.apimanagement.Service(\"example\",\n    name=\"example-apim\",\n    location=example.location,\n    resource_group_name=example.name,\n    publisher_name=\"My Company\",\n    publisher_email=\"company@terraform.io\",\n    sku_name=\"Consumption_0\")\nexample_tag = azure.apimanagement.Tag(\"example\",\n    api_management_id=example_service.id,\n    name=\"example-Tag\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleService = new Azure.ApiManagement.Service(\"example\", new()\n    {\n        Name = \"example-apim\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        PublisherName = \"My Company\",\n        PublisherEmail = \"company@terraform.io\",\n        SkuName = \"Consumption_0\",\n    });\n\n    var exampleTag = new Azure.ApiManagement.Tag(\"example\", new()\n    {\n        ApiManagementId = exampleService.Id,\n        Name = \"example-Tag\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/apimanagement\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleService, err := apimanagement.NewService(ctx, \"example\", \u0026apimanagement.ServiceArgs{\n\t\t\tName:              pulumi.String(\"example-apim\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tPublisherName:     pulumi.String(\"My Company\"),\n\t\t\tPublisherEmail:    pulumi.String(\"company@terraform.io\"),\n\t\t\tSkuName:           pulumi.String(\"Consumption_0\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = apimanagement.NewTag(ctx, \"example\", \u0026apimanagement.TagArgs{\n\t\t\tApiManagementId: exampleService.ID(),\n\t\t\tName:            pulumi.String(\"example-Tag\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.apimanagement.Service;\nimport com.pulumi.azure.apimanagement.ServiceArgs;\nimport com.pulumi.azure.apimanagement.Tag;\nimport com.pulumi.azure.apimanagement.TagArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleService = new Service(\"exampleService\", ServiceArgs.builder()\n            .name(\"example-apim\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .publisherName(\"My Company\")\n            .publisherEmail(\"company@terraform.io\")\n            .skuName(\"Consumption_0\")\n            .build());\n\n        var exampleTag = new Tag(\"exampleTag\", TagArgs.builder()\n            .apiManagementId(exampleService.id())\n            .name(\"example-Tag\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleService:\n    type: azure:apimanagement:Service\n    name: example\n    properties:\n      name: example-apim\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      publisherName: My Company\n      publisherEmail: company@terraform.io\n      skuName: Consumption_0\n  exampleTag:\n    type: azure:apimanagement:Tag\n    name: example\n    properties:\n      apiManagementId: ${exampleService.id}\n      name: example-Tag\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.ApiManagement` - 2022-08-01\n\n## Import\n\nAPI Management Tags can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:apimanagement/tag:Tag example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.ApiManagement/service/service1/tags/tag1\n```\n\n","properties":{"apiManagementId":{"type":"string","description":"The ID of the API Management. Changing this forces a new API Management Tag to be created.\n"},"displayName":{"type":"string","description":"The display name of the API Management Tag. Defaults to the \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e.\n"},"name":{"type":"string","description":"The name which should be used for this API Management Tag. Changing this forces a new API Management Tag to be created. The name must be unique in the API Management Service.\n"}},"required":["apiManagementId","displayName","name"],"inputProperties":{"apiManagementId":{"type":"string","description":"The ID of the API Management. Changing this forces a new API Management Tag to be created.\n","willReplaceOnChanges":true},"displayName":{"type":"string","description":"The display name of the API Management Tag. Defaults to the \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e.\n"},"name":{"type":"string","description":"The name which should be used for this API Management Tag. Changing this forces a new API Management Tag to be created. The name must be unique in the API Management Service.\n","willReplaceOnChanges":true}},"requiredInputs":["apiManagementId"],"stateInputs":{"description":"Input properties used for looking up and filtering Tag resources.\n","properties":{"apiManagementId":{"type":"string","description":"The ID of the API Management. Changing this forces a new API Management Tag to be created.\n","willReplaceOnChanges":true},"displayName":{"type":"string","description":"The display name of the API Management Tag. Defaults to the \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e.\n"},"name":{"type":"string","description":"The name which should be used for this API Management Tag. Changing this forces a new API Management Tag to be created. The name must be unique in the API Management Service.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:apimanagement/user:User":{"description":"Manages an API Management User.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleService = new azure.apimanagement.Service(\"example\", {\n    name: \"example-apim\",\n    location: example.location,\n    resourceGroupName: example.name,\n    publisherName: \"My Company\",\n    publisherEmail: \"company@exmaple.com\",\n    skuName: \"Developer_1\",\n});\nconst exampleUser = new azure.apimanagement.User(\"example\", {\n    userId: \"5931a75ae4bbd512288c680b\",\n    apiManagementName: exampleService.name,\n    resourceGroupName: example.name,\n    firstName: \"Example\",\n    lastName: \"User\",\n    email: \"user@example.com\",\n    state: \"active\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_service = azure.apimanagement.Service(\"example\",\n    name=\"example-apim\",\n    location=example.location,\n    resource_group_name=example.name,\n    publisher_name=\"My Company\",\n    publisher_email=\"company@exmaple.com\",\n    sku_name=\"Developer_1\")\nexample_user = azure.apimanagement.User(\"example\",\n    user_id=\"5931a75ae4bbd512288c680b\",\n    api_management_name=example_service.name,\n    resource_group_name=example.name,\n    first_name=\"Example\",\n    last_name=\"User\",\n    email=\"user@example.com\",\n    state=\"active\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleService = new Azure.ApiManagement.Service(\"example\", new()\n    {\n        Name = \"example-apim\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        PublisherName = \"My Company\",\n        PublisherEmail = \"company@exmaple.com\",\n        SkuName = \"Developer_1\",\n    });\n\n    var exampleUser = new Azure.ApiManagement.User(\"example\", new()\n    {\n        UserId = \"5931a75ae4bbd512288c680b\",\n        ApiManagementName = exampleService.Name,\n        ResourceGroupName = example.Name,\n        FirstName = \"Example\",\n        LastName = \"User\",\n        Email = \"user@example.com\",\n        State = \"active\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/apimanagement\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleService, err := apimanagement.NewService(ctx, \"example\", \u0026apimanagement.ServiceArgs{\n\t\t\tName:              pulumi.String(\"example-apim\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tPublisherName:     pulumi.String(\"My Company\"),\n\t\t\tPublisherEmail:    pulumi.String(\"company@exmaple.com\"),\n\t\t\tSkuName:           pulumi.String(\"Developer_1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = apimanagement.NewUser(ctx, \"example\", \u0026apimanagement.UserArgs{\n\t\t\tUserId:            pulumi.String(\"5931a75ae4bbd512288c680b\"),\n\t\t\tApiManagementName: exampleService.Name,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tFirstName:         pulumi.String(\"Example\"),\n\t\t\tLastName:          pulumi.String(\"User\"),\n\t\t\tEmail:             pulumi.String(\"user@example.com\"),\n\t\t\tState:             pulumi.String(\"active\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.apimanagement.Service;\nimport com.pulumi.azure.apimanagement.ServiceArgs;\nimport com.pulumi.azure.apimanagement.User;\nimport com.pulumi.azure.apimanagement.UserArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleService = new Service(\"exampleService\", ServiceArgs.builder()\n            .name(\"example-apim\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .publisherName(\"My Company\")\n            .publisherEmail(\"company@exmaple.com\")\n            .skuName(\"Developer_1\")\n            .build());\n\n        var exampleUser = new User(\"exampleUser\", UserArgs.builder()\n            .userId(\"5931a75ae4bbd512288c680b\")\n            .apiManagementName(exampleService.name())\n            .resourceGroupName(example.name())\n            .firstName(\"Example\")\n            .lastName(\"User\")\n            .email(\"user@example.com\")\n            .state(\"active\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleService:\n    type: azure:apimanagement:Service\n    name: example\n    properties:\n      name: example-apim\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      publisherName: My Company\n      publisherEmail: company@exmaple.com\n      skuName: Developer_1\n  exampleUser:\n    type: azure:apimanagement:User\n    name: example\n    properties:\n      userId: 5931a75ae4bbd512288c680b\n      apiManagementName: ${exampleService.name}\n      resourceGroupName: ${example.name}\n      firstName: Example\n      lastName: User\n      email: user@example.com\n      state: active\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.ApiManagement` - 2022-08-01\n\n## Import\n\nAPI Management Users can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:apimanagement/user:User example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.ApiManagement/service/instance1/users/abc123\n```\n\n","properties":{"apiManagementName":{"type":"string","description":"The name of the API Management Service in which the User should be created. Changing this forces a new resource to be created.\n"},"confirmation":{"type":"string","description":"The kind of confirmation email which will be sent to this user. Possible values are \u003cspan pulumi-lang-nodejs=\"`invite`\" pulumi-lang-dotnet=\"`Invite`\" pulumi-lang-go=\"`invite`\" pulumi-lang-python=\"`invite`\" pulumi-lang-yaml=\"`invite`\" pulumi-lang-java=\"`invite`\"\u003e`invite`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`signup`\" pulumi-lang-dotnet=\"`Signup`\" pulumi-lang-go=\"`signup`\" pulumi-lang-python=\"`signup`\" pulumi-lang-yaml=\"`signup`\" pulumi-lang-java=\"`signup`\"\u003e`signup`\u003c/span\u003e. Changing this forces a new resource to be created.\n"},"email":{"type":"string","description":"The email address associated with this user.\n"},"firstName":{"type":"string","description":"The first name for this user.\n"},"lastName":{"type":"string","description":"The last name for this user.\n"},"note":{"type":"string","description":"A note about this user.\n"},"password":{"type":"string","description":"The password associated with this user.\n","secret":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group in which the API Management Service exists. Changing this forces a new resource to be created.\n"},"state":{"type":"string","description":"The state of this user. Possible values are \u003cspan pulumi-lang-nodejs=\"`active`\" pulumi-lang-dotnet=\"`Active`\" pulumi-lang-go=\"`active`\" pulumi-lang-python=\"`active`\" pulumi-lang-yaml=\"`active`\" pulumi-lang-java=\"`active`\"\u003e`active`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`blocked`\" pulumi-lang-dotnet=\"`Blocked`\" pulumi-lang-go=\"`blocked`\" pulumi-lang-python=\"`blocked`\" pulumi-lang-yaml=\"`blocked`\" pulumi-lang-java=\"`blocked`\"\u003e`blocked`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`pending`\" pulumi-lang-dotnet=\"`Pending`\" pulumi-lang-go=\"`pending`\" pulumi-lang-python=\"`pending`\" pulumi-lang-yaml=\"`pending`\" pulumi-lang-java=\"`pending`\"\u003e`pending`\u003c/span\u003e.\n\n\u003e **Note:** the State can be changed from Pending \u003e Active/Blocked but not from Active/Blocked \u003e Pending.\n"},"userId":{"type":"string","description":"The Identifier for this User, which must be unique within the API Management Service. Changing this forces a new resource to be created.\n"}},"required":["apiManagementName","email","firstName","lastName","resourceGroupName","state","userId"],"inputProperties":{"apiManagementName":{"type":"string","description":"The name of the API Management Service in which the User should be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"confirmation":{"type":"string","description":"The kind of confirmation email which will be sent to this user. Possible values are \u003cspan pulumi-lang-nodejs=\"`invite`\" pulumi-lang-dotnet=\"`Invite`\" pulumi-lang-go=\"`invite`\" pulumi-lang-python=\"`invite`\" pulumi-lang-yaml=\"`invite`\" pulumi-lang-java=\"`invite`\"\u003e`invite`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`signup`\" pulumi-lang-dotnet=\"`Signup`\" pulumi-lang-go=\"`signup`\" pulumi-lang-python=\"`signup`\" pulumi-lang-yaml=\"`signup`\" pulumi-lang-java=\"`signup`\"\u003e`signup`\u003c/span\u003e. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"email":{"type":"string","description":"The email address associated with this user.\n"},"firstName":{"type":"string","description":"The first name for this user.\n"},"lastName":{"type":"string","description":"The last name for this user.\n"},"note":{"type":"string","description":"A note about this user.\n"},"password":{"type":"string","description":"The password associated with this user.\n","secret":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group in which the API Management Service exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"state":{"type":"string","description":"The state of this user. Possible values are \u003cspan pulumi-lang-nodejs=\"`active`\" pulumi-lang-dotnet=\"`Active`\" pulumi-lang-go=\"`active`\" pulumi-lang-python=\"`active`\" pulumi-lang-yaml=\"`active`\" pulumi-lang-java=\"`active`\"\u003e`active`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`blocked`\" pulumi-lang-dotnet=\"`Blocked`\" pulumi-lang-go=\"`blocked`\" pulumi-lang-python=\"`blocked`\" pulumi-lang-yaml=\"`blocked`\" pulumi-lang-java=\"`blocked`\"\u003e`blocked`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`pending`\" pulumi-lang-dotnet=\"`Pending`\" pulumi-lang-go=\"`pending`\" pulumi-lang-python=\"`pending`\" pulumi-lang-yaml=\"`pending`\" pulumi-lang-java=\"`pending`\"\u003e`pending`\u003c/span\u003e.\n\n\u003e **Note:** the State can be changed from Pending \u003e Active/Blocked but not from Active/Blocked \u003e Pending.\n"},"userId":{"type":"string","description":"The Identifier for this User, which must be unique within the API Management Service. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["apiManagementName","email","firstName","lastName","resourceGroupName","userId"],"stateInputs":{"description":"Input properties used for looking up and filtering User resources.\n","properties":{"apiManagementName":{"type":"string","description":"The name of the API Management Service in which the User should be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"confirmation":{"type":"string","description":"The kind of confirmation email which will be sent to this user. Possible values are \u003cspan pulumi-lang-nodejs=\"`invite`\" pulumi-lang-dotnet=\"`Invite`\" pulumi-lang-go=\"`invite`\" pulumi-lang-python=\"`invite`\" pulumi-lang-yaml=\"`invite`\" pulumi-lang-java=\"`invite`\"\u003e`invite`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`signup`\" pulumi-lang-dotnet=\"`Signup`\" pulumi-lang-go=\"`signup`\" pulumi-lang-python=\"`signup`\" pulumi-lang-yaml=\"`signup`\" pulumi-lang-java=\"`signup`\"\u003e`signup`\u003c/span\u003e. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"email":{"type":"string","description":"The email address associated with this user.\n"},"firstName":{"type":"string","description":"The first name for this user.\n"},"lastName":{"type":"string","description":"The last name for this user.\n"},"note":{"type":"string","description":"A note about this user.\n"},"password":{"type":"string","description":"The password associated with this user.\n","secret":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group in which the API Management Service exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"state":{"type":"string","description":"The state of this user. Possible values are \u003cspan pulumi-lang-nodejs=\"`active`\" pulumi-lang-dotnet=\"`Active`\" pulumi-lang-go=\"`active`\" pulumi-lang-python=\"`active`\" pulumi-lang-yaml=\"`active`\" pulumi-lang-java=\"`active`\"\u003e`active`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`blocked`\" pulumi-lang-dotnet=\"`Blocked`\" pulumi-lang-go=\"`blocked`\" pulumi-lang-python=\"`blocked`\" pulumi-lang-yaml=\"`blocked`\" pulumi-lang-java=\"`blocked`\"\u003e`blocked`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`pending`\" pulumi-lang-dotnet=\"`Pending`\" pulumi-lang-go=\"`pending`\" pulumi-lang-python=\"`pending`\" pulumi-lang-yaml=\"`pending`\" pulumi-lang-java=\"`pending`\"\u003e`pending`\u003c/span\u003e.\n\n\u003e **Note:** the State can be changed from Pending \u003e Active/Blocked but not from Active/Blocked \u003e Pending.\n"},"userId":{"type":"string","description":"The Identifier for this User, which must be unique within the API Management Service. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:apimanagement/workspace:Workspace":{"description":"Manages an API Management Workspace.\n\n\u003e **Note:** This resource is currently available only when using the Classic Premium SKU of \u003cspan pulumi-lang-nodejs=\"`azure.apimanagement.Service`\" pulumi-lang-dotnet=\"`azure.apimanagement.Service`\" pulumi-lang-go=\"`apimanagement.Service`\" pulumi-lang-python=\"`apimanagement.Service`\" pulumi-lang-yaml=\"`azure.apimanagement.Service`\" pulumi-lang-java=\"`azure.apimanagement.Service`\"\u003e`azure.apimanagement.Service`\u003c/span\u003e. For more details, refer to [Federated API Management with Workspaces](https://learn.microsoft.com/en-us/azure/api-management/workspaces-overview).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleService = new azure.apimanagement.Service(\"example\", {\n    name: \"example-apimanagement\",\n    location: example.location,\n    resourceGroupName: example.name,\n    publisherName: \"pub1\",\n    publisherEmail: \"pub1@email.com\",\n    skuName: \"Premium_1\",\n});\nconst exampleWorkspace = new azure.apimanagement.Workspace(\"example\", {\n    name: \"example-workspace\",\n    apiManagementId: exampleService.id,\n    displayName: \"my workspace\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_service = azure.apimanagement.Service(\"example\",\n    name=\"example-apimanagement\",\n    location=example.location,\n    resource_group_name=example.name,\n    publisher_name=\"pub1\",\n    publisher_email=\"pub1@email.com\",\n    sku_name=\"Premium_1\")\nexample_workspace = azure.apimanagement.Workspace(\"example\",\n    name=\"example-workspace\",\n    api_management_id=example_service.id,\n    display_name=\"my workspace\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleService = new Azure.ApiManagement.Service(\"example\", new()\n    {\n        Name = \"example-apimanagement\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        PublisherName = \"pub1\",\n        PublisherEmail = \"pub1@email.com\",\n        SkuName = \"Premium_1\",\n    });\n\n    var exampleWorkspace = new Azure.ApiManagement.Workspace(\"example\", new()\n    {\n        Name = \"example-workspace\",\n        ApiManagementId = exampleService.Id,\n        DisplayName = \"my workspace\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/apimanagement\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleService, err := apimanagement.NewService(ctx, \"example\", \u0026apimanagement.ServiceArgs{\n\t\t\tName:              pulumi.String(\"example-apimanagement\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tPublisherName:     pulumi.String(\"pub1\"),\n\t\t\tPublisherEmail:    pulumi.String(\"pub1@email.com\"),\n\t\t\tSkuName:           pulumi.String(\"Premium_1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = apimanagement.NewWorkspace(ctx, \"example\", \u0026apimanagement.WorkspaceArgs{\n\t\t\tName:            pulumi.String(\"example-workspace\"),\n\t\t\tApiManagementId: exampleService.ID(),\n\t\t\tDisplayName:     pulumi.String(\"my workspace\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.apimanagement.Service;\nimport com.pulumi.azure.apimanagement.ServiceArgs;\nimport com.pulumi.azure.apimanagement.Workspace;\nimport com.pulumi.azure.apimanagement.WorkspaceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleService = new Service(\"exampleService\", ServiceArgs.builder()\n            .name(\"example-apimanagement\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .publisherName(\"pub1\")\n            .publisherEmail(\"pub1@email.com\")\n            .skuName(\"Premium_1\")\n            .build());\n\n        var exampleWorkspace = new Workspace(\"exampleWorkspace\", WorkspaceArgs.builder()\n            .name(\"example-workspace\")\n            .apiManagementId(exampleService.id())\n            .displayName(\"my workspace\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleService:\n    type: azure:apimanagement:Service\n    name: example\n    properties:\n      name: example-apimanagement\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      publisherName: pub1\n      publisherEmail: pub1@email.com\n      skuName: Premium_1\n  exampleWorkspace:\n    type: azure:apimanagement:Workspace\n    name: example\n    properties:\n      name: example-workspace\n      apiManagementId: ${exampleService.id}\n      displayName: my workspace\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.ApiManagement` - 2024-05-01\n\n## Import\n\nAPI Management Workspace can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:apimanagement/workspace:Workspace example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.ApiManagement/service/service1/workspaces/workspace1\n```\n\n","properties":{"apiManagementId":{"type":"string","description":"Specifies the ID of the API Management Service in which the API Management Workspace should be created. Changing this forces a new resource to be created.\n"},"description":{"type":"string","description":"The description of the API Management Workspace.\n"},"displayName":{"type":"string","description":"The display name of the API Management Workspace.\n"},"name":{"type":"string","description":"Specifies the name which should be used for this API Management Workspace. Changing this forces a new resource to be created.\n"}},"required":["apiManagementId","displayName","name"],"inputProperties":{"apiManagementId":{"type":"string","description":"Specifies the ID of the API Management Service in which the API Management Workspace should be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"description":{"type":"string","description":"The description of the API Management Workspace.\n"},"displayName":{"type":"string","description":"The display name of the API Management Workspace.\n"},"name":{"type":"string","description":"Specifies the name which should be used for this API Management Workspace. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["apiManagementId","displayName"],"stateInputs":{"description":"Input properties used for looking up and filtering Workspace resources.\n","properties":{"apiManagementId":{"type":"string","description":"Specifies the ID of the API Management Service in which the API Management Workspace should be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"description":{"type":"string","description":"The description of the API Management Workspace.\n"},"displayName":{"type":"string","description":"The display name of the API Management Workspace.\n"},"name":{"type":"string","description":"Specifies the name which should be used for this API Management Workspace. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:apimanagement/workspaceApiVersionSet:WorkspaceApiVersionSet":{"description":"Manages an API Version Set within an API Management Workspace.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleService = new azure.apimanagement.Service(\"example\", {\n    name: \"example-apim\",\n    location: example.location,\n    resourceGroupName: example.name,\n    publisherName: \"Example Publisher\",\n    publisherEmail: \"publisher@example.com\",\n    skuName: \"Premium_1\",\n});\nconst exampleWorkspace = new azure.apimanagement.Workspace(\"example\", {\n    name: \"example-workspace\",\n    apiManagementId: exampleService.id,\n    displayName: \"Example Workspace\",\n    description: \"Example workspace for development\",\n});\nconst exampleWorkspaceApiVersionSet = new azure.apimanagement.WorkspaceApiVersionSet(\"example\", {\n    name: \"example-version-set\",\n    apiManagementWorkspaceId: exampleWorkspace.id,\n    displayName: \"Example API Version Set\",\n    versioningScheme: \"Segment\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_service = azure.apimanagement.Service(\"example\",\n    name=\"example-apim\",\n    location=example.location,\n    resource_group_name=example.name,\n    publisher_name=\"Example Publisher\",\n    publisher_email=\"publisher@example.com\",\n    sku_name=\"Premium_1\")\nexample_workspace = azure.apimanagement.Workspace(\"example\",\n    name=\"example-workspace\",\n    api_management_id=example_service.id,\n    display_name=\"Example Workspace\",\n    description=\"Example workspace for development\")\nexample_workspace_api_version_set = azure.apimanagement.WorkspaceApiVersionSet(\"example\",\n    name=\"example-version-set\",\n    api_management_workspace_id=example_workspace.id,\n    display_name=\"Example API Version Set\",\n    versioning_scheme=\"Segment\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleService = new Azure.ApiManagement.Service(\"example\", new()\n    {\n        Name = \"example-apim\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        PublisherName = \"Example Publisher\",\n        PublisherEmail = \"publisher@example.com\",\n        SkuName = \"Premium_1\",\n    });\n\n    var exampleWorkspace = new Azure.ApiManagement.Workspace(\"example\", new()\n    {\n        Name = \"example-workspace\",\n        ApiManagementId = exampleService.Id,\n        DisplayName = \"Example Workspace\",\n        Description = \"Example workspace for development\",\n    });\n\n    var exampleWorkspaceApiVersionSet = new Azure.ApiManagement.WorkspaceApiVersionSet(\"example\", new()\n    {\n        Name = \"example-version-set\",\n        ApiManagementWorkspaceId = exampleWorkspace.Id,\n        DisplayName = \"Example API Version Set\",\n        VersioningScheme = \"Segment\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/apimanagement\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleService, err := apimanagement.NewService(ctx, \"example\", \u0026apimanagement.ServiceArgs{\n\t\t\tName:              pulumi.String(\"example-apim\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tPublisherName:     pulumi.String(\"Example Publisher\"),\n\t\t\tPublisherEmail:    pulumi.String(\"publisher@example.com\"),\n\t\t\tSkuName:           pulumi.String(\"Premium_1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleWorkspace, err := apimanagement.NewWorkspace(ctx, \"example\", \u0026apimanagement.WorkspaceArgs{\n\t\t\tName:            pulumi.String(\"example-workspace\"),\n\t\t\tApiManagementId: exampleService.ID(),\n\t\t\tDisplayName:     pulumi.String(\"Example Workspace\"),\n\t\t\tDescription:     pulumi.String(\"Example workspace for development\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = apimanagement.NewWorkspaceApiVersionSet(ctx, \"example\", \u0026apimanagement.WorkspaceApiVersionSetArgs{\n\t\t\tName:                     pulumi.String(\"example-version-set\"),\n\t\t\tApiManagementWorkspaceId: exampleWorkspace.ID(),\n\t\t\tDisplayName:              pulumi.String(\"Example API Version Set\"),\n\t\t\tVersioningScheme:         pulumi.String(\"Segment\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.apimanagement.Service;\nimport com.pulumi.azure.apimanagement.ServiceArgs;\nimport com.pulumi.azure.apimanagement.Workspace;\nimport com.pulumi.azure.apimanagement.WorkspaceArgs;\nimport com.pulumi.azure.apimanagement.WorkspaceApiVersionSet;\nimport com.pulumi.azure.apimanagement.WorkspaceApiVersionSetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleService = new Service(\"exampleService\", ServiceArgs.builder()\n            .name(\"example-apim\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .publisherName(\"Example Publisher\")\n            .publisherEmail(\"publisher@example.com\")\n            .skuName(\"Premium_1\")\n            .build());\n\n        var exampleWorkspace = new Workspace(\"exampleWorkspace\", WorkspaceArgs.builder()\n            .name(\"example-workspace\")\n            .apiManagementId(exampleService.id())\n            .displayName(\"Example Workspace\")\n            .description(\"Example workspace for development\")\n            .build());\n\n        var exampleWorkspaceApiVersionSet = new WorkspaceApiVersionSet(\"exampleWorkspaceApiVersionSet\", WorkspaceApiVersionSetArgs.builder()\n            .name(\"example-version-set\")\n            .apiManagementWorkspaceId(exampleWorkspace.id())\n            .displayName(\"Example API Version Set\")\n            .versioningScheme(\"Segment\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleService:\n    type: azure:apimanagement:Service\n    name: example\n    properties:\n      name: example-apim\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      publisherName: Example Publisher\n      publisherEmail: publisher@example.com\n      skuName: Premium_1\n  exampleWorkspace:\n    type: azure:apimanagement:Workspace\n    name: example\n    properties:\n      name: example-workspace\n      apiManagementId: ${exampleService.id}\n      displayName: Example Workspace\n      description: Example workspace for development\n  exampleWorkspaceApiVersionSet:\n    type: azure:apimanagement:WorkspaceApiVersionSet\n    name: example\n    properties:\n      name: example-version-set\n      apiManagementWorkspaceId: ${exampleWorkspace.id}\n      displayName: Example API Version Set\n      versioningScheme: Segment\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.ApiManagement` - 2024-05-01\n\n## Import\n\nAPI Management Workspace API Version Sets can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:apimanagement/workspaceApiVersionSet:WorkspaceApiVersionSet example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.ApiManagement/service/service1/workspaces/workspace1/apiVersionSets/set1\n```\n\n","properties":{"apiManagementWorkspaceId":{"type":"string","description":"Specifies the ID of the API Management Workspace. Changing this forces a new resource to be created.\n"},"description":{"type":"string","description":"Specifies the description of the API Management Workspace API Version Set.\n"},"displayName":{"type":"string","description":"Specifies the display name of the API Management Workspace API Version Set.\n"},"name":{"type":"string","description":"Specifies the name of the API Management Workspace API Version Set. Changing this forces a new resource to be created.\n"},"versionHeaderName":{"type":"string","description":"Specifies the name of the header to read from inbound requests to determine the API version.\n"},"versionQueryName":{"type":"string","description":"Specifies the name of the query string parameter to read from inbound requests to determine the API version.\n"},"versioningScheme":{"type":"string","description":"Specifies where in a request that the API Version should be read from. Possible values are `Header`, `Query` and `Segment`.\n"}},"required":["apiManagementWorkspaceId","displayName","name","versioningScheme"],"inputProperties":{"apiManagementWorkspaceId":{"type":"string","description":"Specifies the ID of the API Management Workspace. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"description":{"type":"string","description":"Specifies the description of the API Management Workspace API Version Set.\n"},"displayName":{"type":"string","description":"Specifies the display name of the API Management Workspace API Version Set.\n"},"name":{"type":"string","description":"Specifies the name of the API Management Workspace API Version Set. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"versionHeaderName":{"type":"string","description":"Specifies the name of the header to read from inbound requests to determine the API version.\n"},"versionQueryName":{"type":"string","description":"Specifies the name of the query string parameter to read from inbound requests to determine the API version.\n"},"versioningScheme":{"type":"string","description":"Specifies where in a request that the API Version should be read from. Possible values are `Header`, `Query` and `Segment`.\n"}},"requiredInputs":["apiManagementWorkspaceId","displayName","versioningScheme"],"stateInputs":{"description":"Input properties used for looking up and filtering WorkspaceApiVersionSet resources.\n","properties":{"apiManagementWorkspaceId":{"type":"string","description":"Specifies the ID of the API Management Workspace. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"description":{"type":"string","description":"Specifies the description of the API Management Workspace API Version Set.\n"},"displayName":{"type":"string","description":"Specifies the display name of the API Management Workspace API Version Set.\n"},"name":{"type":"string","description":"Specifies the name of the API Management Workspace API Version Set. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"versionHeaderName":{"type":"string","description":"Specifies the name of the header to read from inbound requests to determine the API version.\n"},"versionQueryName":{"type":"string","description":"Specifies the name of the query string parameter to read from inbound requests to determine the API version.\n"},"versioningScheme":{"type":"string","description":"Specifies where in a request that the API Version should be read from. Possible values are `Header`, `Query` and `Segment`.\n"}},"type":"object"}},"azure:apimanagement/workspaceCertificate:WorkspaceCertificate":{"description":"Manages a Certificate within an API Management Workspace.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\nimport * as std from \"@pulumi/std\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleService = new azure.apimanagement.Service(\"example\", {\n    name: \"example-apim\",\n    location: example.location,\n    resourceGroupName: example.name,\n    publisherName: \"My Company\",\n    publisherEmail: \"company@terraform.io\",\n    skuName: \"Premium_1\",\n});\nconst exampleWorkspace = new azure.apimanagement.Workspace(\"example\", {\n    name: \"example-workspace\",\n    apiManagementId: exampleService.id,\n    displayName: \"Example Workspace\",\n});\nconst exampleWorkspaceCertificate = new azure.apimanagement.WorkspaceCertificate(\"example\", {\n    name: \"example-cert\",\n    apiManagementWorkspaceId: exampleWorkspace.id,\n    certificateDataBase64: std.filebase64({\n        input: \"example.pfx\",\n    }).then(invoke =\u003e invoke.result),\n    password: \"terraform\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\nimport pulumi_std as std\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_service = azure.apimanagement.Service(\"example\",\n    name=\"example-apim\",\n    location=example.location,\n    resource_group_name=example.name,\n    publisher_name=\"My Company\",\n    publisher_email=\"company@terraform.io\",\n    sku_name=\"Premium_1\")\nexample_workspace = azure.apimanagement.Workspace(\"example\",\n    name=\"example-workspace\",\n    api_management_id=example_service.id,\n    display_name=\"Example Workspace\")\nexample_workspace_certificate = azure.apimanagement.WorkspaceCertificate(\"example\",\n    name=\"example-cert\",\n    api_management_workspace_id=example_workspace.id,\n    certificate_data_base64=std.filebase64(input=\"example.pfx\").result,\n    password=\"terraform\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleService = new Azure.ApiManagement.Service(\"example\", new()\n    {\n        Name = \"example-apim\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        PublisherName = \"My Company\",\n        PublisherEmail = \"company@terraform.io\",\n        SkuName = \"Premium_1\",\n    });\n\n    var exampleWorkspace = new Azure.ApiManagement.Workspace(\"example\", new()\n    {\n        Name = \"example-workspace\",\n        ApiManagementId = exampleService.Id,\n        DisplayName = \"Example Workspace\",\n    });\n\n    var exampleWorkspaceCertificate = new Azure.ApiManagement.WorkspaceCertificate(\"example\", new()\n    {\n        Name = \"example-cert\",\n        ApiManagementWorkspaceId = exampleWorkspace.Id,\n        CertificateDataBase64 = Std.Filebase64.Invoke(new()\n        {\n            Input = \"example.pfx\",\n        }).Apply(invoke =\u003e invoke.Result),\n        Password = \"terraform\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/apimanagement\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleService, err := apimanagement.NewService(ctx, \"example\", \u0026apimanagement.ServiceArgs{\n\t\t\tName:              pulumi.String(\"example-apim\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tPublisherName:     pulumi.String(\"My Company\"),\n\t\t\tPublisherEmail:    pulumi.String(\"company@terraform.io\"),\n\t\t\tSkuName:           pulumi.String(\"Premium_1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleWorkspace, err := apimanagement.NewWorkspace(ctx, \"example\", \u0026apimanagement.WorkspaceArgs{\n\t\t\tName:            pulumi.String(\"example-workspace\"),\n\t\t\tApiManagementId: exampleService.ID(),\n\t\t\tDisplayName:     pulumi.String(\"Example Workspace\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFilebase64, err := std.Filebase64(ctx, \u0026std.Filebase64Args{\n\t\t\tInput: \"example.pfx\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = apimanagement.NewWorkspaceCertificate(ctx, \"example\", \u0026apimanagement.WorkspaceCertificateArgs{\n\t\t\tName:                     pulumi.String(\"example-cert\"),\n\t\t\tApiManagementWorkspaceId: exampleWorkspace.ID(),\n\t\t\tCertificateDataBase64:    pulumi.String(invokeFilebase64.Result),\n\t\t\tPassword:                 pulumi.String(\"terraform\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.apimanagement.Service;\nimport com.pulumi.azure.apimanagement.ServiceArgs;\nimport com.pulumi.azure.apimanagement.Workspace;\nimport com.pulumi.azure.apimanagement.WorkspaceArgs;\nimport com.pulumi.azure.apimanagement.WorkspaceCertificate;\nimport com.pulumi.azure.apimanagement.WorkspaceCertificateArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.Filebase64Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleService = new Service(\"exampleService\", ServiceArgs.builder()\n            .name(\"example-apim\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .publisherName(\"My Company\")\n            .publisherEmail(\"company@terraform.io\")\n            .skuName(\"Premium_1\")\n            .build());\n\n        var exampleWorkspace = new Workspace(\"exampleWorkspace\", WorkspaceArgs.builder()\n            .name(\"example-workspace\")\n            .apiManagementId(exampleService.id())\n            .displayName(\"Example Workspace\")\n            .build());\n\n        var exampleWorkspaceCertificate = new WorkspaceCertificate(\"exampleWorkspaceCertificate\", WorkspaceCertificateArgs.builder()\n            .name(\"example-cert\")\n            .apiManagementWorkspaceId(exampleWorkspace.id())\n            .certificateDataBase64(StdFunctions.filebase64(Filebase64Args.builder()\n                .input(\"example.pfx\")\n                .build()).result())\n            .password(\"terraform\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleService:\n    type: azure:apimanagement:Service\n    name: example\n    properties:\n      name: example-apim\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      publisherName: My Company\n      publisherEmail: company@terraform.io\n      skuName: Premium_1\n  exampleWorkspace:\n    type: azure:apimanagement:Workspace\n    name: example\n    properties:\n      name: example-workspace\n      apiManagementId: ${exampleService.id}\n      displayName: Example Workspace\n  exampleWorkspaceCertificate:\n    type: azure:apimanagement:WorkspaceCertificate\n    name: example\n    properties:\n      name: example-cert\n      apiManagementWorkspaceId: ${exampleWorkspace.id}\n      certificateDataBase64:\n        fn::invoke:\n          function: std:filebase64\n          arguments:\n            input: example.pfx\n          return: result\n      password: terraform\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.ApiManagement` - 2024-05-01\n\n## Import\n\nAPI Management Workspace Certificates can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:apimanagement/workspaceCertificate:WorkspaceCertificate example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.ApiManagement/service/service1/workspaces/workspace1/certificates/certificate1\n```\n\n","properties":{"apiManagementWorkspaceId":{"type":"string","description":"Specifies the ID of the API Management Workspace. Changing this forces a new resource to be created.\n"},"certificateDataBase64":{"type":"string","description":"Specifies the base64-encoded string containing the certificate in PKCS#12 (.pfx) format.\n\n\u003e **Note:** This is required when \u003cspan pulumi-lang-nodejs=\"`password`\" pulumi-lang-dotnet=\"`Password`\" pulumi-lang-go=\"`password`\" pulumi-lang-python=\"`password`\" pulumi-lang-yaml=\"`password`\" pulumi-lang-java=\"`password`\"\u003e`password`\u003c/span\u003e is specified. Exactly one of \u003cspan pulumi-lang-nodejs=\"`certificateDataBase64`\" pulumi-lang-dotnet=\"`CertificateDataBase64`\" pulumi-lang-go=\"`certificateDataBase64`\" pulumi-lang-python=\"`certificate_data_base64`\" pulumi-lang-yaml=\"`certificateDataBase64`\" pulumi-lang-java=\"`certificateDataBase64`\"\u003e`certificate_data_base64`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`keyVaultSecretId`\" pulumi-lang-dotnet=\"`KeyVaultSecretId`\" pulumi-lang-go=\"`keyVaultSecretId`\" pulumi-lang-python=\"`key_vault_secret_id`\" pulumi-lang-yaml=\"`keyVaultSecretId`\" pulumi-lang-java=\"`keyVaultSecretId`\"\u003e`key_vault_secret_id`\u003c/span\u003e must be specified.\n","secret":true},"expiration":{"type":"string","description":"The expiration date of the API Management Workspace Certificate.\n"},"keyVaultSecretId":{"type":"string","description":"Specifies the ID of the key vault secret.\n\n\u003e **Note:** This is required when \u003cspan pulumi-lang-nodejs=\"`userAssignedIdentityClientId`\" pulumi-lang-dotnet=\"`UserAssignedIdentityClientId`\" pulumi-lang-go=\"`userAssignedIdentityClientId`\" pulumi-lang-python=\"`user_assigned_identity_client_id`\" pulumi-lang-yaml=\"`userAssignedIdentityClientId`\" pulumi-lang-java=\"`userAssignedIdentityClientId`\"\u003e`user_assigned_identity_client_id`\u003c/span\u003e is specified. Exactly one of \u003cspan pulumi-lang-nodejs=\"`certificateDataBase64`\" pulumi-lang-dotnet=\"`CertificateDataBase64`\" pulumi-lang-go=\"`certificateDataBase64`\" pulumi-lang-python=\"`certificate_data_base64`\" pulumi-lang-yaml=\"`certificateDataBase64`\" pulumi-lang-java=\"`certificateDataBase64`\"\u003e`certificate_data_base64`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`keyVaultSecretId`\" pulumi-lang-dotnet=\"`KeyVaultSecretId`\" pulumi-lang-go=\"`keyVaultSecretId`\" pulumi-lang-python=\"`key_vault_secret_id`\" pulumi-lang-yaml=\"`keyVaultSecretId`\" pulumi-lang-java=\"`keyVaultSecretId`\"\u003e`key_vault_secret_id`\u003c/span\u003e must be specified.\n"},"name":{"type":"string","description":"Specifies the name of the API Management Workspace Certificate. Changing this forces a new resource to be created.\n"},"password":{"type":"string","description":"Specifies the password used to access the \u003cspan pulumi-lang-nodejs=\"`certificateDataBase64`\" pulumi-lang-dotnet=\"`CertificateDataBase64`\" pulumi-lang-go=\"`certificateDataBase64`\" pulumi-lang-python=\"`certificate_data_base64`\" pulumi-lang-yaml=\"`certificateDataBase64`\" pulumi-lang-java=\"`certificateDataBase64`\"\u003e`certificate_data_base64`\u003c/span\u003e.\n","secret":true},"subject":{"type":"string","description":"The subject name of the API Management Workspace Certificate.\n"},"thumbprint":{"type":"string","description":"The thumbprint of the API Management Workspace Certificate.\n"},"userAssignedIdentityClientId":{"type":"string","description":"Specifies the client ID of user-assigned identity to be used for accessing the \u003cspan pulumi-lang-nodejs=\"`keyVaultSecretId`\" pulumi-lang-dotnet=\"`KeyVaultSecretId`\" pulumi-lang-go=\"`keyVaultSecretId`\" pulumi-lang-python=\"`key_vault_secret_id`\" pulumi-lang-yaml=\"`keyVaultSecretId`\" pulumi-lang-java=\"`keyVaultSecretId`\"\u003e`key_vault_secret_id`\u003c/span\u003e.\n"}},"required":["apiManagementWorkspaceId","expiration","name","subject","thumbprint"],"inputProperties":{"apiManagementWorkspaceId":{"type":"string","description":"Specifies the ID of the API Management Workspace. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"certificateDataBase64":{"type":"string","description":"Specifies the base64-encoded string containing the certificate in PKCS#12 (.pfx) format.\n\n\u003e **Note:** This is required when \u003cspan pulumi-lang-nodejs=\"`password`\" pulumi-lang-dotnet=\"`Password`\" pulumi-lang-go=\"`password`\" pulumi-lang-python=\"`password`\" pulumi-lang-yaml=\"`password`\" pulumi-lang-java=\"`password`\"\u003e`password`\u003c/span\u003e is specified. Exactly one of \u003cspan pulumi-lang-nodejs=\"`certificateDataBase64`\" pulumi-lang-dotnet=\"`CertificateDataBase64`\" pulumi-lang-go=\"`certificateDataBase64`\" pulumi-lang-python=\"`certificate_data_base64`\" pulumi-lang-yaml=\"`certificateDataBase64`\" pulumi-lang-java=\"`certificateDataBase64`\"\u003e`certificate_data_base64`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`keyVaultSecretId`\" pulumi-lang-dotnet=\"`KeyVaultSecretId`\" pulumi-lang-go=\"`keyVaultSecretId`\" pulumi-lang-python=\"`key_vault_secret_id`\" pulumi-lang-yaml=\"`keyVaultSecretId`\" pulumi-lang-java=\"`keyVaultSecretId`\"\u003e`key_vault_secret_id`\u003c/span\u003e must be specified.\n","secret":true},"keyVaultSecretId":{"type":"string","description":"Specifies the ID of the key vault secret.\n\n\u003e **Note:** This is required when \u003cspan pulumi-lang-nodejs=\"`userAssignedIdentityClientId`\" pulumi-lang-dotnet=\"`UserAssignedIdentityClientId`\" pulumi-lang-go=\"`userAssignedIdentityClientId`\" pulumi-lang-python=\"`user_assigned_identity_client_id`\" pulumi-lang-yaml=\"`userAssignedIdentityClientId`\" pulumi-lang-java=\"`userAssignedIdentityClientId`\"\u003e`user_assigned_identity_client_id`\u003c/span\u003e is specified. Exactly one of \u003cspan pulumi-lang-nodejs=\"`certificateDataBase64`\" pulumi-lang-dotnet=\"`CertificateDataBase64`\" pulumi-lang-go=\"`certificateDataBase64`\" pulumi-lang-python=\"`certificate_data_base64`\" pulumi-lang-yaml=\"`certificateDataBase64`\" pulumi-lang-java=\"`certificateDataBase64`\"\u003e`certificate_data_base64`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`keyVaultSecretId`\" pulumi-lang-dotnet=\"`KeyVaultSecretId`\" pulumi-lang-go=\"`keyVaultSecretId`\" pulumi-lang-python=\"`key_vault_secret_id`\" pulumi-lang-yaml=\"`keyVaultSecretId`\" pulumi-lang-java=\"`keyVaultSecretId`\"\u003e`key_vault_secret_id`\u003c/span\u003e must be specified.\n"},"name":{"type":"string","description":"Specifies the name of the API Management Workspace Certificate. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"password":{"type":"string","description":"Specifies the password used to access the \u003cspan pulumi-lang-nodejs=\"`certificateDataBase64`\" pulumi-lang-dotnet=\"`CertificateDataBase64`\" pulumi-lang-go=\"`certificateDataBase64`\" pulumi-lang-python=\"`certificate_data_base64`\" pulumi-lang-yaml=\"`certificateDataBase64`\" pulumi-lang-java=\"`certificateDataBase64`\"\u003e`certificate_data_base64`\u003c/span\u003e.\n","secret":true},"userAssignedIdentityClientId":{"type":"string","description":"Specifies the client ID of user-assigned identity to be used for accessing the \u003cspan pulumi-lang-nodejs=\"`keyVaultSecretId`\" pulumi-lang-dotnet=\"`KeyVaultSecretId`\" pulumi-lang-go=\"`keyVaultSecretId`\" pulumi-lang-python=\"`key_vault_secret_id`\" pulumi-lang-yaml=\"`keyVaultSecretId`\" pulumi-lang-java=\"`keyVaultSecretId`\"\u003e`key_vault_secret_id`\u003c/span\u003e.\n"}},"requiredInputs":["apiManagementWorkspaceId"],"stateInputs":{"description":"Input properties used for looking up and filtering WorkspaceCertificate resources.\n","properties":{"apiManagementWorkspaceId":{"type":"string","description":"Specifies the ID of the API Management Workspace. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"certificateDataBase64":{"type":"string","description":"Specifies the base64-encoded string containing the certificate in PKCS#12 (.pfx) format.\n\n\u003e **Note:** This is required when \u003cspan pulumi-lang-nodejs=\"`password`\" pulumi-lang-dotnet=\"`Password`\" pulumi-lang-go=\"`password`\" pulumi-lang-python=\"`password`\" pulumi-lang-yaml=\"`password`\" pulumi-lang-java=\"`password`\"\u003e`password`\u003c/span\u003e is specified. Exactly one of \u003cspan pulumi-lang-nodejs=\"`certificateDataBase64`\" pulumi-lang-dotnet=\"`CertificateDataBase64`\" pulumi-lang-go=\"`certificateDataBase64`\" pulumi-lang-python=\"`certificate_data_base64`\" pulumi-lang-yaml=\"`certificateDataBase64`\" pulumi-lang-java=\"`certificateDataBase64`\"\u003e`certificate_data_base64`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`keyVaultSecretId`\" pulumi-lang-dotnet=\"`KeyVaultSecretId`\" pulumi-lang-go=\"`keyVaultSecretId`\" pulumi-lang-python=\"`key_vault_secret_id`\" pulumi-lang-yaml=\"`keyVaultSecretId`\" pulumi-lang-java=\"`keyVaultSecretId`\"\u003e`key_vault_secret_id`\u003c/span\u003e must be specified.\n","secret":true},"expiration":{"type":"string","description":"The expiration date of the API Management Workspace Certificate.\n"},"keyVaultSecretId":{"type":"string","description":"Specifies the ID of the key vault secret.\n\n\u003e **Note:** This is required when \u003cspan pulumi-lang-nodejs=\"`userAssignedIdentityClientId`\" pulumi-lang-dotnet=\"`UserAssignedIdentityClientId`\" pulumi-lang-go=\"`userAssignedIdentityClientId`\" pulumi-lang-python=\"`user_assigned_identity_client_id`\" pulumi-lang-yaml=\"`userAssignedIdentityClientId`\" pulumi-lang-java=\"`userAssignedIdentityClientId`\"\u003e`user_assigned_identity_client_id`\u003c/span\u003e is specified. Exactly one of \u003cspan pulumi-lang-nodejs=\"`certificateDataBase64`\" pulumi-lang-dotnet=\"`CertificateDataBase64`\" pulumi-lang-go=\"`certificateDataBase64`\" pulumi-lang-python=\"`certificate_data_base64`\" pulumi-lang-yaml=\"`certificateDataBase64`\" pulumi-lang-java=\"`certificateDataBase64`\"\u003e`certificate_data_base64`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`keyVaultSecretId`\" pulumi-lang-dotnet=\"`KeyVaultSecretId`\" pulumi-lang-go=\"`keyVaultSecretId`\" pulumi-lang-python=\"`key_vault_secret_id`\" pulumi-lang-yaml=\"`keyVaultSecretId`\" pulumi-lang-java=\"`keyVaultSecretId`\"\u003e`key_vault_secret_id`\u003c/span\u003e must be specified.\n"},"name":{"type":"string","description":"Specifies the name of the API Management Workspace Certificate. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"password":{"type":"string","description":"Specifies the password used to access the \u003cspan pulumi-lang-nodejs=\"`certificateDataBase64`\" pulumi-lang-dotnet=\"`CertificateDataBase64`\" pulumi-lang-go=\"`certificateDataBase64`\" pulumi-lang-python=\"`certificate_data_base64`\" pulumi-lang-yaml=\"`certificateDataBase64`\" pulumi-lang-java=\"`certificateDataBase64`\"\u003e`certificate_data_base64`\u003c/span\u003e.\n","secret":true},"subject":{"type":"string","description":"The subject name of the API Management Workspace Certificate.\n"},"thumbprint":{"type":"string","description":"The thumbprint of the API Management Workspace Certificate.\n"},"userAssignedIdentityClientId":{"type":"string","description":"Specifies the client ID of user-assigned identity to be used for accessing the \u003cspan pulumi-lang-nodejs=\"`keyVaultSecretId`\" pulumi-lang-dotnet=\"`KeyVaultSecretId`\" pulumi-lang-go=\"`keyVaultSecretId`\" pulumi-lang-python=\"`key_vault_secret_id`\" pulumi-lang-yaml=\"`keyVaultSecretId`\" pulumi-lang-java=\"`keyVaultSecretId`\"\u003e`key_vault_secret_id`\u003c/span\u003e.\n"}},"type":"object"}},"azure:apimanagement/workspaceNamedValue:WorkspaceNamedValue":{"description":"Manages an API Management Workspace Named Value.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleService = new azure.apimanagement.Service(\"example\", {\n    name: \"example-apim\",\n    location: example.location,\n    resourceGroupName: example.name,\n    publisherName: \"My Company\",\n    publisherEmail: \"company@terraform.io\",\n    skuName: \"Premium_1\",\n});\nconst exampleWorkspace = new azure.apimanagement.Workspace(\"example\", {\n    name: \"example-workspace\",\n    apiManagementId: exampleService.id,\n    displayName: \"ExampleWorkspace\",\n});\nconst exampleWorkspaceNamedValue = new azure.apimanagement.WorkspaceNamedValue(\"example\", {\n    name: \"example-named-value\",\n    apiManagementWorkspaceId: exampleWorkspace.id,\n    displayName: \"ExampleProperty\",\n    value: \"Example Value\",\n    tags: [\n        \"tag1\",\n        \"tag2\",\n        \"tag3\",\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_service = azure.apimanagement.Service(\"example\",\n    name=\"example-apim\",\n    location=example.location,\n    resource_group_name=example.name,\n    publisher_name=\"My Company\",\n    publisher_email=\"company@terraform.io\",\n    sku_name=\"Premium_1\")\nexample_workspace = azure.apimanagement.Workspace(\"example\",\n    name=\"example-workspace\",\n    api_management_id=example_service.id,\n    display_name=\"ExampleWorkspace\")\nexample_workspace_named_value = azure.apimanagement.WorkspaceNamedValue(\"example\",\n    name=\"example-named-value\",\n    api_management_workspace_id=example_workspace.id,\n    display_name=\"ExampleProperty\",\n    value=\"Example Value\",\n    tags=[\n        \"tag1\",\n        \"tag2\",\n        \"tag3\",\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleService = new Azure.ApiManagement.Service(\"example\", new()\n    {\n        Name = \"example-apim\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        PublisherName = \"My Company\",\n        PublisherEmail = \"company@terraform.io\",\n        SkuName = \"Premium_1\",\n    });\n\n    var exampleWorkspace = new Azure.ApiManagement.Workspace(\"example\", new()\n    {\n        Name = \"example-workspace\",\n        ApiManagementId = exampleService.Id,\n        DisplayName = \"ExampleWorkspace\",\n    });\n\n    var exampleWorkspaceNamedValue = new Azure.ApiManagement.WorkspaceNamedValue(\"example\", new()\n    {\n        Name = \"example-named-value\",\n        ApiManagementWorkspaceId = exampleWorkspace.Id,\n        DisplayName = \"ExampleProperty\",\n        Value = \"Example Value\",\n        Tags = new[]\n        {\n            \"tag1\",\n            \"tag2\",\n            \"tag3\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/apimanagement\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleService, err := apimanagement.NewService(ctx, \"example\", \u0026apimanagement.ServiceArgs{\n\t\t\tName:              pulumi.String(\"example-apim\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tPublisherName:     pulumi.String(\"My Company\"),\n\t\t\tPublisherEmail:    pulumi.String(\"company@terraform.io\"),\n\t\t\tSkuName:           pulumi.String(\"Premium_1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleWorkspace, err := apimanagement.NewWorkspace(ctx, \"example\", \u0026apimanagement.WorkspaceArgs{\n\t\t\tName:            pulumi.String(\"example-workspace\"),\n\t\t\tApiManagementId: exampleService.ID(),\n\t\t\tDisplayName:     pulumi.String(\"ExampleWorkspace\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = apimanagement.NewWorkspaceNamedValue(ctx, \"example\", \u0026apimanagement.WorkspaceNamedValueArgs{\n\t\t\tName:                     pulumi.String(\"example-named-value\"),\n\t\t\tApiManagementWorkspaceId: exampleWorkspace.ID(),\n\t\t\tDisplayName:              pulumi.String(\"ExampleProperty\"),\n\t\t\tValue:                    pulumi.String(\"Example Value\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"tag1\"),\n\t\t\t\tpulumi.String(\"tag2\"),\n\t\t\t\tpulumi.String(\"tag3\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.apimanagement.Service;\nimport com.pulumi.azure.apimanagement.ServiceArgs;\nimport com.pulumi.azure.apimanagement.Workspace;\nimport com.pulumi.azure.apimanagement.WorkspaceArgs;\nimport com.pulumi.azure.apimanagement.WorkspaceNamedValue;\nimport com.pulumi.azure.apimanagement.WorkspaceNamedValueArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleService = new Service(\"exampleService\", ServiceArgs.builder()\n            .name(\"example-apim\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .publisherName(\"My Company\")\n            .publisherEmail(\"company@terraform.io\")\n            .skuName(\"Premium_1\")\n            .build());\n\n        var exampleWorkspace = new Workspace(\"exampleWorkspace\", WorkspaceArgs.builder()\n            .name(\"example-workspace\")\n            .apiManagementId(exampleService.id())\n            .displayName(\"ExampleWorkspace\")\n            .build());\n\n        var exampleWorkspaceNamedValue = new WorkspaceNamedValue(\"exampleWorkspaceNamedValue\", WorkspaceNamedValueArgs.builder()\n            .name(\"example-named-value\")\n            .apiManagementWorkspaceId(exampleWorkspace.id())\n            .displayName(\"ExampleProperty\")\n            .value(\"Example Value\")\n            .tags(            \n                \"tag1\",\n                \"tag2\",\n                \"tag3\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleService:\n    type: azure:apimanagement:Service\n    name: example\n    properties:\n      name: example-apim\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      publisherName: My Company\n      publisherEmail: company@terraform.io\n      skuName: Premium_1\n  exampleWorkspace:\n    type: azure:apimanagement:Workspace\n    name: example\n    properties:\n      name: example-workspace\n      apiManagementId: ${exampleService.id}\n      displayName: ExampleWorkspace\n  exampleWorkspaceNamedValue:\n    type: azure:apimanagement:WorkspaceNamedValue\n    name: example\n    properties:\n      name: example-named-value\n      apiManagementWorkspaceId: ${exampleWorkspace.id}\n      displayName: ExampleProperty\n      value: Example Value\n      tags:\n        - tag1\n        - tag2\n        - tag3\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.ApiManagement` - 2024-05-01\n\n## Import\n\nAPI Management Workspace Named Values can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:apimanagement/workspaceNamedValue:WorkspaceNamedValue example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.ApiManagement/service/service1/workspaces/workspace1/namedValues/namedValue1\n```\n\n","properties":{"apiManagementWorkspaceId":{"type":"string","description":"The ID of the API Management Workspace. Changing this forces a new resource to be created.\n"},"displayName":{"type":"string","description":"The display name of this API Management Workspace Named Value.\n"},"name":{"type":"string","description":"The name of the API Management Workspace Named Value. Changing this forces a new resource to be created.\n"},"secret":{"type":"boolean","description":"Specifies whether the API Management Workspace Named Value is secret. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** Setting the field \u003cspan pulumi-lang-nodejs=\"`secret`\" pulumi-lang-dotnet=\"`Secret`\" pulumi-lang-go=\"`secret`\" pulumi-lang-python=\"`secret`\" pulumi-lang-yaml=\"`secret`\" pulumi-lang-java=\"`secret`\"\u003e`secret`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e does not make this field sensitive in Terraform, instead it marks the value as secret and encrypts the value in Azure.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"A list of tags to be applied to the API Management Workspace Named Value.\n"},"value":{"type":"string","description":"The value of this API Management Workspace Named Value.\n\n\u003e **Note:** Exactly one of \u003cspan pulumi-lang-nodejs=\"`value`\" pulumi-lang-dotnet=\"`Value`\" pulumi-lang-go=\"`value`\" pulumi-lang-python=\"`value`\" pulumi-lang-yaml=\"`value`\" pulumi-lang-java=\"`value`\"\u003e`value`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`valueFromKeyVault`\" pulumi-lang-dotnet=\"`ValueFromKeyVault`\" pulumi-lang-go=\"`valueFromKeyVault`\" pulumi-lang-python=\"`value_from_key_vault`\" pulumi-lang-yaml=\"`valueFromKeyVault`\" pulumi-lang-java=\"`valueFromKeyVault`\"\u003e`value_from_key_vault`\u003c/span\u003e must be specified.\n","secret":true},"valueFromKeyVault":{"$ref":"#/types/azure:apimanagement/WorkspaceNamedValueValueFromKeyVault:WorkspaceNamedValueValueFromKeyVault","description":"A \u003cspan pulumi-lang-nodejs=\"`valueFromKeyVault`\" pulumi-lang-dotnet=\"`ValueFromKeyVault`\" pulumi-lang-go=\"`valueFromKeyVault`\" pulumi-lang-python=\"`value_from_key_vault`\" pulumi-lang-yaml=\"`valueFromKeyVault`\" pulumi-lang-java=\"`valueFromKeyVault`\"\u003e`value_from_key_vault`\u003c/span\u003e block as defined below.\n\n\u003e **Note:** Exactly one of \u003cspan pulumi-lang-nodejs=\"`value`\" pulumi-lang-dotnet=\"`Value`\" pulumi-lang-go=\"`value`\" pulumi-lang-python=\"`value`\" pulumi-lang-yaml=\"`value`\" pulumi-lang-java=\"`value`\"\u003e`value`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`valueFromKeyVault`\" pulumi-lang-dotnet=\"`ValueFromKeyVault`\" pulumi-lang-go=\"`valueFromKeyVault`\" pulumi-lang-python=\"`value_from_key_vault`\" pulumi-lang-yaml=\"`valueFromKeyVault`\" pulumi-lang-java=\"`valueFromKeyVault`\"\u003e`value_from_key_vault`\u003c/span\u003e must be specified. If \u003cspan pulumi-lang-nodejs=\"`valueFromKeyVault`\" pulumi-lang-dotnet=\"`ValueFromKeyVault`\" pulumi-lang-go=\"`valueFromKeyVault`\" pulumi-lang-python=\"`value_from_key_vault`\" pulumi-lang-yaml=\"`valueFromKeyVault`\" pulumi-lang-java=\"`valueFromKeyVault`\"\u003e`value_from_key_vault`\u003c/span\u003e is specified, \u003cspan pulumi-lang-nodejs=\"`secret`\" pulumi-lang-dotnet=\"`Secret`\" pulumi-lang-go=\"`secret`\" pulumi-lang-python=\"`secret`\" pulumi-lang-yaml=\"`secret`\" pulumi-lang-java=\"`secret`\"\u003e`secret`\u003c/span\u003e must also be set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"}},"required":["apiManagementWorkspaceId","displayName","name"],"inputProperties":{"apiManagementWorkspaceId":{"type":"string","description":"The ID of the API Management Workspace. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"displayName":{"type":"string","description":"The display name of this API Management Workspace Named Value.\n"},"name":{"type":"string","description":"The name of the API Management Workspace Named Value. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"secret":{"type":"boolean","description":"Specifies whether the API Management Workspace Named Value is secret. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** Setting the field \u003cspan pulumi-lang-nodejs=\"`secret`\" pulumi-lang-dotnet=\"`Secret`\" pulumi-lang-go=\"`secret`\" pulumi-lang-python=\"`secret`\" pulumi-lang-yaml=\"`secret`\" pulumi-lang-java=\"`secret`\"\u003e`secret`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e does not make this field sensitive in Terraform, instead it marks the value as secret and encrypts the value in Azure.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"A list of tags to be applied to the API Management Workspace Named Value.\n"},"value":{"type":"string","description":"The value of this API Management Workspace Named Value.\n\n\u003e **Note:** Exactly one of \u003cspan pulumi-lang-nodejs=\"`value`\" pulumi-lang-dotnet=\"`Value`\" pulumi-lang-go=\"`value`\" pulumi-lang-python=\"`value`\" pulumi-lang-yaml=\"`value`\" pulumi-lang-java=\"`value`\"\u003e`value`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`valueFromKeyVault`\" pulumi-lang-dotnet=\"`ValueFromKeyVault`\" pulumi-lang-go=\"`valueFromKeyVault`\" pulumi-lang-python=\"`value_from_key_vault`\" pulumi-lang-yaml=\"`valueFromKeyVault`\" pulumi-lang-java=\"`valueFromKeyVault`\"\u003e`value_from_key_vault`\u003c/span\u003e must be specified.\n","secret":true},"valueFromKeyVault":{"$ref":"#/types/azure:apimanagement/WorkspaceNamedValueValueFromKeyVault:WorkspaceNamedValueValueFromKeyVault","description":"A \u003cspan pulumi-lang-nodejs=\"`valueFromKeyVault`\" pulumi-lang-dotnet=\"`ValueFromKeyVault`\" pulumi-lang-go=\"`valueFromKeyVault`\" pulumi-lang-python=\"`value_from_key_vault`\" pulumi-lang-yaml=\"`valueFromKeyVault`\" pulumi-lang-java=\"`valueFromKeyVault`\"\u003e`value_from_key_vault`\u003c/span\u003e block as defined below.\n\n\u003e **Note:** Exactly one of \u003cspan pulumi-lang-nodejs=\"`value`\" pulumi-lang-dotnet=\"`Value`\" pulumi-lang-go=\"`value`\" pulumi-lang-python=\"`value`\" pulumi-lang-yaml=\"`value`\" pulumi-lang-java=\"`value`\"\u003e`value`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`valueFromKeyVault`\" pulumi-lang-dotnet=\"`ValueFromKeyVault`\" pulumi-lang-go=\"`valueFromKeyVault`\" pulumi-lang-python=\"`value_from_key_vault`\" pulumi-lang-yaml=\"`valueFromKeyVault`\" pulumi-lang-java=\"`valueFromKeyVault`\"\u003e`value_from_key_vault`\u003c/span\u003e must be specified. If \u003cspan pulumi-lang-nodejs=\"`valueFromKeyVault`\" pulumi-lang-dotnet=\"`ValueFromKeyVault`\" pulumi-lang-go=\"`valueFromKeyVault`\" pulumi-lang-python=\"`value_from_key_vault`\" pulumi-lang-yaml=\"`valueFromKeyVault`\" pulumi-lang-java=\"`valueFromKeyVault`\"\u003e`value_from_key_vault`\u003c/span\u003e is specified, \u003cspan pulumi-lang-nodejs=\"`secret`\" pulumi-lang-dotnet=\"`Secret`\" pulumi-lang-go=\"`secret`\" pulumi-lang-python=\"`secret`\" pulumi-lang-yaml=\"`secret`\" pulumi-lang-java=\"`secret`\"\u003e`secret`\u003c/span\u003e must also be set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"}},"requiredInputs":["apiManagementWorkspaceId","displayName"],"stateInputs":{"description":"Input properties used for looking up and filtering WorkspaceNamedValue resources.\n","properties":{"apiManagementWorkspaceId":{"type":"string","description":"The ID of the API Management Workspace. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"displayName":{"type":"string","description":"The display name of this API Management Workspace Named Value.\n"},"name":{"type":"string","description":"The name of the API Management Workspace Named Value. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"secret":{"type":"boolean","description":"Specifies whether the API Management Workspace Named Value is secret. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** Setting the field \u003cspan pulumi-lang-nodejs=\"`secret`\" pulumi-lang-dotnet=\"`Secret`\" pulumi-lang-go=\"`secret`\" pulumi-lang-python=\"`secret`\" pulumi-lang-yaml=\"`secret`\" pulumi-lang-java=\"`secret`\"\u003e`secret`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e does not make this field sensitive in Terraform, instead it marks the value as secret and encrypts the value in Azure.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"A list of tags to be applied to the API Management Workspace Named Value.\n"},"value":{"type":"string","description":"The value of this API Management Workspace Named Value.\n\n\u003e **Note:** Exactly one of \u003cspan pulumi-lang-nodejs=\"`value`\" pulumi-lang-dotnet=\"`Value`\" pulumi-lang-go=\"`value`\" pulumi-lang-python=\"`value`\" pulumi-lang-yaml=\"`value`\" pulumi-lang-java=\"`value`\"\u003e`value`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`valueFromKeyVault`\" pulumi-lang-dotnet=\"`ValueFromKeyVault`\" pulumi-lang-go=\"`valueFromKeyVault`\" pulumi-lang-python=\"`value_from_key_vault`\" pulumi-lang-yaml=\"`valueFromKeyVault`\" pulumi-lang-java=\"`valueFromKeyVault`\"\u003e`value_from_key_vault`\u003c/span\u003e must be specified.\n","secret":true},"valueFromKeyVault":{"$ref":"#/types/azure:apimanagement/WorkspaceNamedValueValueFromKeyVault:WorkspaceNamedValueValueFromKeyVault","description":"A \u003cspan pulumi-lang-nodejs=\"`valueFromKeyVault`\" pulumi-lang-dotnet=\"`ValueFromKeyVault`\" pulumi-lang-go=\"`valueFromKeyVault`\" pulumi-lang-python=\"`value_from_key_vault`\" pulumi-lang-yaml=\"`valueFromKeyVault`\" pulumi-lang-java=\"`valueFromKeyVault`\"\u003e`value_from_key_vault`\u003c/span\u003e block as defined below.\n\n\u003e **Note:** Exactly one of \u003cspan pulumi-lang-nodejs=\"`value`\" pulumi-lang-dotnet=\"`Value`\" pulumi-lang-go=\"`value`\" pulumi-lang-python=\"`value`\" pulumi-lang-yaml=\"`value`\" pulumi-lang-java=\"`value`\"\u003e`value`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`valueFromKeyVault`\" pulumi-lang-dotnet=\"`ValueFromKeyVault`\" pulumi-lang-go=\"`valueFromKeyVault`\" pulumi-lang-python=\"`value_from_key_vault`\" pulumi-lang-yaml=\"`valueFromKeyVault`\" pulumi-lang-java=\"`valueFromKeyVault`\"\u003e`value_from_key_vault`\u003c/span\u003e must be specified. If \u003cspan pulumi-lang-nodejs=\"`valueFromKeyVault`\" pulumi-lang-dotnet=\"`ValueFromKeyVault`\" pulumi-lang-go=\"`valueFromKeyVault`\" pulumi-lang-python=\"`value_from_key_vault`\" pulumi-lang-yaml=\"`valueFromKeyVault`\" pulumi-lang-java=\"`valueFromKeyVault`\"\u003e`value_from_key_vault`\u003c/span\u003e is specified, \u003cspan pulumi-lang-nodejs=\"`secret`\" pulumi-lang-dotnet=\"`Secret`\" pulumi-lang-go=\"`secret`\" pulumi-lang-python=\"`secret`\" pulumi-lang-yaml=\"`secret`\" pulumi-lang-java=\"`secret`\"\u003e`secret`\u003c/span\u003e must also be set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"}},"type":"object"}},"azure:apimanagement/workspacePolicy:WorkspacePolicy":{"description":"Manages an API Management Workspace Policy.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleService = new azure.apimanagement.Service(\"example\", {\n    name: \"example-apimanagement\",\n    location: example.location,\n    resourceGroupName: example.name,\n    publisherName: \"pub1\",\n    publisherEmail: \"pub1@email.com\",\n    skuName: \"Premium_1\",\n});\nconst exampleWorkspace = new azure.apimanagement.Workspace(\"example\", {\n    name: \"example-workspace\",\n    apiManagementId: exampleService.id,\n    displayName: \"my workspace\",\n});\nconst exampleWorkspacePolicy = new azure.apimanagement.WorkspacePolicy(\"example\", {\n    apiManagementWorkspaceId: exampleWorkspace.id,\n    xmlContent: `\u003cpolicies\u003e\n  \u003cinbound\u003e\n    \u003cfind-and-replace from=\\\\\"abc\\\\\" to=\\\\\"xyz\\\\\" /\u003e\n  \u003c/inbound\u003e\n\u003c/policies\u003e\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_service = azure.apimanagement.Service(\"example\",\n    name=\"example-apimanagement\",\n    location=example.location,\n    resource_group_name=example.name,\n    publisher_name=\"pub1\",\n    publisher_email=\"pub1@email.com\",\n    sku_name=\"Premium_1\")\nexample_workspace = azure.apimanagement.Workspace(\"example\",\n    name=\"example-workspace\",\n    api_management_id=example_service.id,\n    display_name=\"my workspace\")\nexample_workspace_policy = azure.apimanagement.WorkspacePolicy(\"example\",\n    api_management_workspace_id=example_workspace.id,\n    xml_content=\"\"\"\u003cpolicies\u003e\n  \u003cinbound\u003e\n    \u003cfind-and-replace from=\\\"abc\\\" to=\\\"xyz\\\" /\u003e\n  \u003c/inbound\u003e\n\u003c/policies\u003e\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleService = new Azure.ApiManagement.Service(\"example\", new()\n    {\n        Name = \"example-apimanagement\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        PublisherName = \"pub1\",\n        PublisherEmail = \"pub1@email.com\",\n        SkuName = \"Premium_1\",\n    });\n\n    var exampleWorkspace = new Azure.ApiManagement.Workspace(\"example\", new()\n    {\n        Name = \"example-workspace\",\n        ApiManagementId = exampleService.Id,\n        DisplayName = \"my workspace\",\n    });\n\n    var exampleWorkspacePolicy = new Azure.ApiManagement.WorkspacePolicy(\"example\", new()\n    {\n        ApiManagementWorkspaceId = exampleWorkspace.Id,\n        XmlContent = @\"\u003cpolicies\u003e\n  \u003cinbound\u003e\n    \u003cfind-and-replace from=\\\"\"abc\\\"\" to=\\\"\"xyz\\\"\" /\u003e\n  \u003c/inbound\u003e\n\u003c/policies\u003e\n\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/apimanagement\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleService, err := apimanagement.NewService(ctx, \"example\", \u0026apimanagement.ServiceArgs{\n\t\t\tName:              pulumi.String(\"example-apimanagement\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tPublisherName:     pulumi.String(\"pub1\"),\n\t\t\tPublisherEmail:    pulumi.String(\"pub1@email.com\"),\n\t\t\tSkuName:           pulumi.String(\"Premium_1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleWorkspace, err := apimanagement.NewWorkspace(ctx, \"example\", \u0026apimanagement.WorkspaceArgs{\n\t\t\tName:            pulumi.String(\"example-workspace\"),\n\t\t\tApiManagementId: exampleService.ID(),\n\t\t\tDisplayName:     pulumi.String(\"my workspace\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = apimanagement.NewWorkspacePolicy(ctx, \"example\", \u0026apimanagement.WorkspacePolicyArgs{\n\t\t\tApiManagementWorkspaceId: exampleWorkspace.ID(),\n\t\t\tXmlContent: pulumi.String(`\u003cpolicies\u003e\n  \u003cinbound\u003e\n    \u003cfind-and-replace from=\\\"abc\\\" to=\\\"xyz\\\" /\u003e\n  \u003c/inbound\u003e\n\u003c/policies\u003e\n`),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.apimanagement.Service;\nimport com.pulumi.azure.apimanagement.ServiceArgs;\nimport com.pulumi.azure.apimanagement.Workspace;\nimport com.pulumi.azure.apimanagement.WorkspaceArgs;\nimport com.pulumi.azure.apimanagement.WorkspacePolicy;\nimport com.pulumi.azure.apimanagement.WorkspacePolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleService = new Service(\"exampleService\", ServiceArgs.builder()\n            .name(\"example-apimanagement\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .publisherName(\"pub1\")\n            .publisherEmail(\"pub1@email.com\")\n            .skuName(\"Premium_1\")\n            .build());\n\n        var exampleWorkspace = new Workspace(\"exampleWorkspace\", WorkspaceArgs.builder()\n            .name(\"example-workspace\")\n            .apiManagementId(exampleService.id())\n            .displayName(\"my workspace\")\n            .build());\n\n        var exampleWorkspacePolicy = new WorkspacePolicy(\"exampleWorkspacePolicy\", WorkspacePolicyArgs.builder()\n            .apiManagementWorkspaceId(exampleWorkspace.id())\n            .xmlContent(\"\"\"\n\u003cpolicies\u003e\n  \u003cinbound\u003e\n    \u003cfind-and-replace from=\\\"abc\\\" to=\\\"xyz\\\" /\u003e\n  \u003c/inbound\u003e\n\u003c/policies\u003e\n            \"\"\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleService:\n    type: azure:apimanagement:Service\n    name: example\n    properties:\n      name: example-apimanagement\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      publisherName: pub1\n      publisherEmail: pub1@email.com\n      skuName: Premium_1\n  exampleWorkspace:\n    type: azure:apimanagement:Workspace\n    name: example\n    properties:\n      name: example-workspace\n      apiManagementId: ${exampleService.id}\n      displayName: my workspace\n  exampleWorkspacePolicy:\n    type: azure:apimanagement:WorkspacePolicy\n    name: example\n    properties:\n      apiManagementWorkspaceId: ${exampleWorkspace.id}\n      xmlContent: |\n        \u003cpolicies\u003e\n          \u003cinbound\u003e\n            \u003cfind-and-replace from=\\\"abc\\\" to=\\\"xyz\\\" /\u003e\n          \u003c/inbound\u003e\n        \u003c/policies\u003e\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.ApiManagement` - 2024-05-01\n\n## Import\n\nAPI Management Workspace Policies can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:apimanagement/workspacePolicy:WorkspacePolicy example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.ApiManagement/service/service1/workspaces/workspace1\n```\n\n","properties":{"apiManagementWorkspaceId":{"type":"string","description":"Specifies the ID of the API Management Workspace. Changing this forces a new resource to be created.\n"},"xmlContent":{"type":"string","description":"Specifies the API Management Workspace Policy as an XML string.\n"},"xmlLink":{"type":"string","description":"Specifies a publicly accessible URL to a policy XML document.\n\n\u003e **Note:** Exactly one of \u003cspan pulumi-lang-nodejs=\"`xmlContent`\" pulumi-lang-dotnet=\"`XmlContent`\" pulumi-lang-go=\"`xmlContent`\" pulumi-lang-python=\"`xml_content`\" pulumi-lang-yaml=\"`xmlContent`\" pulumi-lang-java=\"`xmlContent`\"\u003e`xml_content`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`xmlLink`\" pulumi-lang-dotnet=\"`XmlLink`\" pulumi-lang-go=\"`xmlLink`\" pulumi-lang-python=\"`xml_link`\" pulumi-lang-yaml=\"`xmlLink`\" pulumi-lang-java=\"`xmlLink`\"\u003e`xml_link`\u003c/span\u003e must be specified.\n"}},"required":["apiManagementWorkspaceId","xmlContent"],"inputProperties":{"apiManagementWorkspaceId":{"type":"string","description":"Specifies the ID of the API Management Workspace. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"xmlContent":{"type":"string","description":"Specifies the API Management Workspace Policy as an XML string.\n"},"xmlLink":{"type":"string","description":"Specifies a publicly accessible URL to a policy XML document.\n\n\u003e **Note:** Exactly one of \u003cspan pulumi-lang-nodejs=\"`xmlContent`\" pulumi-lang-dotnet=\"`XmlContent`\" pulumi-lang-go=\"`xmlContent`\" pulumi-lang-python=\"`xml_content`\" pulumi-lang-yaml=\"`xmlContent`\" pulumi-lang-java=\"`xmlContent`\"\u003e`xml_content`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`xmlLink`\" pulumi-lang-dotnet=\"`XmlLink`\" pulumi-lang-go=\"`xmlLink`\" pulumi-lang-python=\"`xml_link`\" pulumi-lang-yaml=\"`xmlLink`\" pulumi-lang-java=\"`xmlLink`\"\u003e`xml_link`\u003c/span\u003e must be specified.\n"}},"requiredInputs":["apiManagementWorkspaceId"],"stateInputs":{"description":"Input properties used for looking up and filtering WorkspacePolicy resources.\n","properties":{"apiManagementWorkspaceId":{"type":"string","description":"Specifies the ID of the API Management Workspace. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"xmlContent":{"type":"string","description":"Specifies the API Management Workspace Policy as an XML string.\n"},"xmlLink":{"type":"string","description":"Specifies a publicly accessible URL to a policy XML document.\n\n\u003e **Note:** Exactly one of \u003cspan pulumi-lang-nodejs=\"`xmlContent`\" pulumi-lang-dotnet=\"`XmlContent`\" pulumi-lang-go=\"`xmlContent`\" pulumi-lang-python=\"`xml_content`\" pulumi-lang-yaml=\"`xmlContent`\" pulumi-lang-java=\"`xmlContent`\"\u003e`xml_content`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`xmlLink`\" pulumi-lang-dotnet=\"`XmlLink`\" pulumi-lang-go=\"`xmlLink`\" pulumi-lang-python=\"`xml_link`\" pulumi-lang-yaml=\"`xmlLink`\" pulumi-lang-java=\"`xmlLink`\"\u003e`xml_link`\u003c/span\u003e must be specified.\n"}},"type":"object"}},"azure:apimanagement/workspacePolicyFragment:WorkspacePolicyFragment":{"description":"Manages an API Management Workspace Policy Fragment.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\nimport * as std from \"@pulumi/std\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleService = new azure.apimanagement.Service(\"example\", {\n    name: \"example-apim\",\n    location: example.location,\n    resourceGroupName: example.name,\n    publisherName: \"pub1\",\n    publisherEmail: \"pub1@email.com\",\n    skuName: \"Premium_1\",\n});\nconst exampleWorkspace = new azure.apimanagement.Workspace(\"example\", {\n    name: \"example-workspace\",\n    apiManagementId: exampleService.id,\n    displayName: \"Example Workspace\",\n    description: \"Example API Management Workspace\",\n});\nconst exampleWorkspacePolicyFragment = new azure.apimanagement.WorkspacePolicyFragment(\"example\", {\n    name: \"example-policy-fragment\",\n    apiManagementWorkspaceId: exampleWorkspace.id,\n    xmlFormat: \"xml\",\n    xmlContent: std.file({\n        input: \"policy-fragment-1.xml\",\n    }).then(invoke =\u003e invoke.result),\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\nimport pulumi_std as std\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_service = azure.apimanagement.Service(\"example\",\n    name=\"example-apim\",\n    location=example.location,\n    resource_group_name=example.name,\n    publisher_name=\"pub1\",\n    publisher_email=\"pub1@email.com\",\n    sku_name=\"Premium_1\")\nexample_workspace = azure.apimanagement.Workspace(\"example\",\n    name=\"example-workspace\",\n    api_management_id=example_service.id,\n    display_name=\"Example Workspace\",\n    description=\"Example API Management Workspace\")\nexample_workspace_policy_fragment = azure.apimanagement.WorkspacePolicyFragment(\"example\",\n    name=\"example-policy-fragment\",\n    api_management_workspace_id=example_workspace.id,\n    xml_format=\"xml\",\n    xml_content=std.file(input=\"policy-fragment-1.xml\").result)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleService = new Azure.ApiManagement.Service(\"example\", new()\n    {\n        Name = \"example-apim\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        PublisherName = \"pub1\",\n        PublisherEmail = \"pub1@email.com\",\n        SkuName = \"Premium_1\",\n    });\n\n    var exampleWorkspace = new Azure.ApiManagement.Workspace(\"example\", new()\n    {\n        Name = \"example-workspace\",\n        ApiManagementId = exampleService.Id,\n        DisplayName = \"Example Workspace\",\n        Description = \"Example API Management Workspace\",\n    });\n\n    var exampleWorkspacePolicyFragment = new Azure.ApiManagement.WorkspacePolicyFragment(\"example\", new()\n    {\n        Name = \"example-policy-fragment\",\n        ApiManagementWorkspaceId = exampleWorkspace.Id,\n        XmlFormat = \"xml\",\n        XmlContent = Std.File.Invoke(new()\n        {\n            Input = \"policy-fragment-1.xml\",\n        }).Apply(invoke =\u003e invoke.Result),\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/apimanagement\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleService, err := apimanagement.NewService(ctx, \"example\", \u0026apimanagement.ServiceArgs{\n\t\t\tName:              pulumi.String(\"example-apim\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tPublisherName:     pulumi.String(\"pub1\"),\n\t\t\tPublisherEmail:    pulumi.String(\"pub1@email.com\"),\n\t\t\tSkuName:           pulumi.String(\"Premium_1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleWorkspace, err := apimanagement.NewWorkspace(ctx, \"example\", \u0026apimanagement.WorkspaceArgs{\n\t\t\tName:            pulumi.String(\"example-workspace\"),\n\t\t\tApiManagementId: exampleService.ID(),\n\t\t\tDisplayName:     pulumi.String(\"Example Workspace\"),\n\t\t\tDescription:     pulumi.String(\"Example API Management Workspace\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"policy-fragment-1.xml\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = apimanagement.NewWorkspacePolicyFragment(ctx, \"example\", \u0026apimanagement.WorkspacePolicyFragmentArgs{\n\t\t\tName:                     pulumi.String(\"example-policy-fragment\"),\n\t\t\tApiManagementWorkspaceId: exampleWorkspace.ID(),\n\t\t\tXmlFormat:                pulumi.String(\"xml\"),\n\t\t\tXmlContent:               pulumi.String(invokeFile.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.apimanagement.Service;\nimport com.pulumi.azure.apimanagement.ServiceArgs;\nimport com.pulumi.azure.apimanagement.Workspace;\nimport com.pulumi.azure.apimanagement.WorkspaceArgs;\nimport com.pulumi.azure.apimanagement.WorkspacePolicyFragment;\nimport com.pulumi.azure.apimanagement.WorkspacePolicyFragmentArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.FileArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleService = new Service(\"exampleService\", ServiceArgs.builder()\n            .name(\"example-apim\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .publisherName(\"pub1\")\n            .publisherEmail(\"pub1@email.com\")\n            .skuName(\"Premium_1\")\n            .build());\n\n        var exampleWorkspace = new Workspace(\"exampleWorkspace\", WorkspaceArgs.builder()\n            .name(\"example-workspace\")\n            .apiManagementId(exampleService.id())\n            .displayName(\"Example Workspace\")\n            .description(\"Example API Management Workspace\")\n            .build());\n\n        var exampleWorkspacePolicyFragment = new WorkspacePolicyFragment(\"exampleWorkspacePolicyFragment\", WorkspacePolicyFragmentArgs.builder()\n            .name(\"example-policy-fragment\")\n            .apiManagementWorkspaceId(exampleWorkspace.id())\n            .xmlFormat(\"xml\")\n            .xmlContent(StdFunctions.file(FileArgs.builder()\n                .input(\"policy-fragment-1.xml\")\n                .build()).result())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleService:\n    type: azure:apimanagement:Service\n    name: example\n    properties:\n      name: example-apim\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      publisherName: pub1\n      publisherEmail: pub1@email.com\n      skuName: Premium_1\n  exampleWorkspace:\n    type: azure:apimanagement:Workspace\n    name: example\n    properties:\n      name: example-workspace\n      apiManagementId: ${exampleService.id}\n      displayName: Example Workspace\n      description: Example API Management Workspace\n  exampleWorkspacePolicyFragment:\n    type: azure:apimanagement:WorkspacePolicyFragment\n    name: example\n    properties:\n      name: example-policy-fragment\n      apiManagementWorkspaceId: ${exampleWorkspace.id}\n      xmlFormat: xml\n      xmlContent:\n        fn::invoke:\n          function: std:file\n          arguments:\n            input: policy-fragment-1.xml\n          return: result\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.ApiManagement` - 2024-05-01\n\n## Import\n\nAPI Management Workspace Policy Fragments can be imported using the `resource id`, e.g.\n\n\u003e **Note:** Due to the behaviour of the API, API Management Workspace Policy Fragments can only be imported as \u003cspan pulumi-lang-nodejs=\"`xml`\" pulumi-lang-dotnet=\"`Xml`\" pulumi-lang-go=\"`xml`\" pulumi-lang-python=\"`xml`\" pulumi-lang-yaml=\"`xml`\" pulumi-lang-java=\"`xml`\"\u003e`xml`\u003c/span\u003e, but can be updated to the desired format after importing.\n\n```sh\n$ pulumi import azure:apimanagement/workspacePolicyFragment:WorkspacePolicyFragment example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.ApiManagement/service/instance1/workspaces/workspace1/policyFragments/policyFragment1\n```\n\n","properties":{"apiManagementWorkspaceId":{"type":"string","description":"Specifies the ID of the API Management Workspace. Changing this forces a new resource to be created.\n"},"description":{"type":"string","description":"Specifies the description for the API Management Workspace Policy Fragment.\n"},"name":{"type":"string","description":"Specifies the name of the API Management Workspace Policy Fragment. Changing this forces a new resource to be created.\n"},"xmlContent":{"type":"string","description":"Specifies the XML content of the API Management Workspace Policy Fragment.\n"},"xmlFormat":{"type":"string","description":"Specifies the XML format of the API Management Workspace Policy Fragment. Possible values are \u003cspan pulumi-lang-nodejs=\"`xml`\" pulumi-lang-dotnet=\"`Xml`\" pulumi-lang-go=\"`xml`\" pulumi-lang-python=\"`xml`\" pulumi-lang-yaml=\"`xml`\" pulumi-lang-java=\"`xml`\"\u003e`xml`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`rawxml`\" pulumi-lang-dotnet=\"`Rawxml`\" pulumi-lang-go=\"`rawxml`\" pulumi-lang-python=\"`rawxml`\" pulumi-lang-yaml=\"`rawxml`\" pulumi-lang-java=\"`rawxml`\"\u003e`rawxml`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`xml`\" pulumi-lang-dotnet=\"`Xml`\" pulumi-lang-go=\"`xml`\" pulumi-lang-python=\"`xml`\" pulumi-lang-yaml=\"`xml`\" pulumi-lang-java=\"`xml`\"\u003e`xml`\u003c/span\u003e.\n"}},"required":["apiManagementWorkspaceId","name","xmlContent"],"inputProperties":{"apiManagementWorkspaceId":{"type":"string","description":"Specifies the ID of the API Management Workspace. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"description":{"type":"string","description":"Specifies the description for the API Management Workspace Policy Fragment.\n"},"name":{"type":"string","description":"Specifies the name of the API Management Workspace Policy Fragment. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"xmlContent":{"type":"string","description":"Specifies the XML content of the API Management Workspace Policy Fragment.\n"},"xmlFormat":{"type":"string","description":"Specifies the XML format of the API Management Workspace Policy Fragment. Possible values are \u003cspan pulumi-lang-nodejs=\"`xml`\" pulumi-lang-dotnet=\"`Xml`\" pulumi-lang-go=\"`xml`\" pulumi-lang-python=\"`xml`\" pulumi-lang-yaml=\"`xml`\" pulumi-lang-java=\"`xml`\"\u003e`xml`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`rawxml`\" pulumi-lang-dotnet=\"`Rawxml`\" pulumi-lang-go=\"`rawxml`\" pulumi-lang-python=\"`rawxml`\" pulumi-lang-yaml=\"`rawxml`\" pulumi-lang-java=\"`rawxml`\"\u003e`rawxml`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`xml`\" pulumi-lang-dotnet=\"`Xml`\" pulumi-lang-go=\"`xml`\" pulumi-lang-python=\"`xml`\" pulumi-lang-yaml=\"`xml`\" pulumi-lang-java=\"`xml`\"\u003e`xml`\u003c/span\u003e.\n"}},"requiredInputs":["apiManagementWorkspaceId","xmlContent"],"stateInputs":{"description":"Input properties used for looking up and filtering WorkspacePolicyFragment resources.\n","properties":{"apiManagementWorkspaceId":{"type":"string","description":"Specifies the ID of the API Management Workspace. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"description":{"type":"string","description":"Specifies the description for the API Management Workspace Policy Fragment.\n"},"name":{"type":"string","description":"Specifies the name of the API Management Workspace Policy Fragment. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"xmlContent":{"type":"string","description":"Specifies the XML content of the API Management Workspace Policy Fragment.\n"},"xmlFormat":{"type":"string","description":"Specifies the XML format of the API Management Workspace Policy Fragment. Possible values are \u003cspan pulumi-lang-nodejs=\"`xml`\" pulumi-lang-dotnet=\"`Xml`\" pulumi-lang-go=\"`xml`\" pulumi-lang-python=\"`xml`\" pulumi-lang-yaml=\"`xml`\" pulumi-lang-java=\"`xml`\"\u003e`xml`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`rawxml`\" pulumi-lang-dotnet=\"`Rawxml`\" pulumi-lang-go=\"`rawxml`\" pulumi-lang-python=\"`rawxml`\" pulumi-lang-yaml=\"`rawxml`\" pulumi-lang-java=\"`rawxml`\"\u003e`rawxml`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`xml`\" pulumi-lang-dotnet=\"`Xml`\" pulumi-lang-go=\"`xml`\" pulumi-lang-python=\"`xml`\" pulumi-lang-yaml=\"`xml`\" pulumi-lang-java=\"`xml`\"\u003e`xml`\u003c/span\u003e.\n"}},"type":"object"}},"azure:appconfiguration/configurationFeature:ConfigurationFeature":{"description":"Manages an Azure App Configuration Feature.\n\n\u003e **Note:** App Configuration Features are provisioned using a Data Plane API which requires the role `App Configuration Data Owner` on either the App Configuration or a parent scope (such as the Resource Group/Subscription). [More information can be found in the Azure Documentation for App Configuration](https://docs.microsoft.com/azure/azure-app-configuration/concept-enable-rbac#azure-built-in-roles-for-azure-app-configuration). This is similar to providing App Configuration Keys.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst appconf = new azure.appconfiguration.ConfigurationStore(\"appconf\", {\n    name: \"appConf1\",\n    resourceGroupName: example.name,\n    location: example.location,\n});\nconst current = azure.core.getClientConfig({});\nconst appconfDataowner = new azure.authorization.Assignment(\"appconf_dataowner\", {\n    scope: appconf.id,\n    roleDefinitionName: \"App Configuration Data Owner\",\n    principalId: current.then(current =\u003e current.objectId),\n});\nconst test = new azure.appconfiguration.ConfigurationFeature(\"test\", {\n    configurationStoreId: appconf.id,\n    description: \"test description\",\n    name: \"test-ackey\",\n    label: \"test-ackeylabel\",\n    enabled: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nappconf = azure.appconfiguration.ConfigurationStore(\"appconf\",\n    name=\"appConf1\",\n    resource_group_name=example.name,\n    location=example.location)\ncurrent = azure.core.get_client_config()\nappconf_dataowner = azure.authorization.Assignment(\"appconf_dataowner\",\n    scope=appconf.id,\n    role_definition_name=\"App Configuration Data Owner\",\n    principal_id=current.object_id)\ntest = azure.appconfiguration.ConfigurationFeature(\"test\",\n    configuration_store_id=appconf.id,\n    description=\"test description\",\n    name=\"test-ackey\",\n    label=\"test-ackeylabel\",\n    enabled=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var appconf = new Azure.AppConfiguration.ConfigurationStore(\"appconf\", new()\n    {\n        Name = \"appConf1\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n    });\n\n    var current = Azure.Core.GetClientConfig.Invoke();\n\n    var appconfDataowner = new Azure.Authorization.Assignment(\"appconf_dataowner\", new()\n    {\n        Scope = appconf.Id,\n        RoleDefinitionName = \"App Configuration Data Owner\",\n        PrincipalId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.ObjectId),\n    });\n\n    var test = new Azure.AppConfiguration.ConfigurationFeature(\"test\", new()\n    {\n        ConfigurationStoreId = appconf.Id,\n        Description = \"test description\",\n        Name = \"test-ackey\",\n        Label = \"test-ackeylabel\",\n        Enabled = true,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/appconfiguration\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/authorization\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tappconf, err := appconfiguration.NewConfigurationStore(ctx, \"appconf\", \u0026appconfiguration.ConfigurationStoreArgs{\n\t\t\tName:              pulumi.String(\"appConf1\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrent, err := core.GetClientConfig(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = authorization.NewAssignment(ctx, \"appconf_dataowner\", \u0026authorization.AssignmentArgs{\n\t\t\tScope:              appconf.ID(),\n\t\t\tRoleDefinitionName: pulumi.String(\"App Configuration Data Owner\"),\n\t\t\tPrincipalId:        pulumi.String(current.ObjectId),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = appconfiguration.NewConfigurationFeature(ctx, \"test\", \u0026appconfiguration.ConfigurationFeatureArgs{\n\t\t\tConfigurationStoreId: appconf.ID(),\n\t\t\tDescription:          pulumi.String(\"test description\"),\n\t\t\tName:                 pulumi.String(\"test-ackey\"),\n\t\t\tLabel:                pulumi.String(\"test-ackeylabel\"),\n\t\t\tEnabled:              pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.appconfiguration.ConfigurationStore;\nimport com.pulumi.azure.appconfiguration.ConfigurationStoreArgs;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.authorization.Assignment;\nimport com.pulumi.azure.authorization.AssignmentArgs;\nimport com.pulumi.azure.appconfiguration.ConfigurationFeature;\nimport com.pulumi.azure.appconfiguration.ConfigurationFeatureArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var appconf = new ConfigurationStore(\"appconf\", ConfigurationStoreArgs.builder()\n            .name(\"appConf1\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .build());\n\n        final var current = CoreFunctions.getClientConfig(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n        var appconfDataowner = new Assignment(\"appconfDataowner\", AssignmentArgs.builder()\n            .scope(appconf.id())\n            .roleDefinitionName(\"App Configuration Data Owner\")\n            .principalId(current.objectId())\n            .build());\n\n        var test = new ConfigurationFeature(\"test\", ConfigurationFeatureArgs.builder()\n            .configurationStoreId(appconf.id())\n            .description(\"test description\")\n            .name(\"test-ackey\")\n            .label(\"test-ackeylabel\")\n            .enabled(true)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  appconf:\n    type: azure:appconfiguration:ConfigurationStore\n    properties:\n      name: appConf1\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n  appconfDataowner:\n    type: azure:authorization:Assignment\n    name: appconf_dataowner\n    properties:\n      scope: ${appconf.id}\n      roleDefinitionName: App Configuration Data Owner\n      principalId: ${current.objectId}\n  test:\n    type: azure:appconfiguration:ConfigurationFeature\n    properties:\n      configurationStoreId: ${appconf.id}\n      description: test description\n      name: test-ackey\n      label: test-ackeylabel\n      enabled: true\nvariables:\n  current:\n    fn::invoke:\n      function: azure:core:getClientConfig\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nApp Configuration Features can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:appconfiguration/configurationFeature:ConfigurationFeature test https://appconfname1.azconfig.io/kv/.appconfig.featureflag%2FkeyName?label=labelName\n```\n\nIf you wish to import with an empty label then simply leave the label's name blank:\n\n```sh\n$ pulumi import azure:appconfiguration/configurationFeature:ConfigurationFeature test https://appconfname1.azconfig.io/kv/.appconfig.featureflag%2FkeyName?label=\n```\n\n","properties":{"configurationStoreId":{"type":"string","description":"Specifies the id of the App Configuration. Changing this forces a new resource to be created.\n"},"description":{"type":"string","description":"The description of the App Configuration Feature.\n"},"enabled":{"type":"boolean","description":"The status of the App Configuration Feature. By default, this is set to false.\n"},"etag":{"type":"string"},"key":{"type":"string","description":"The key of the App Configuration Feature. The value for \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e will be used if this is unspecified. Changing this forces a new resource to be created.\n"},"label":{"type":"string","description":"The label of the App Configuration Feature. Changing this forces a new resource to be created.\n"},"locked":{"type":"boolean","description":"Should this App Configuration Feature be Locked to prevent changes?\n"},"name":{"type":"string","description":"The name of the App Configuration Feature. Changing this forces a new resource to be created.\n"},"percentageFilterValue":{"type":"number","description":"A number representing the value of the percentage required to enable this feature.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"targetingFilters":{"type":"array","items":{"$ref":"#/types/azure:appconfiguration/ConfigurationFeatureTargetingFilter:ConfigurationFeatureTargetingFilter"},"description":"A \u003cspan pulumi-lang-nodejs=\"`targetingFilter`\" pulumi-lang-dotnet=\"`TargetingFilter`\" pulumi-lang-go=\"`targetingFilter`\" pulumi-lang-python=\"`targeting_filter`\" pulumi-lang-yaml=\"`targetingFilter`\" pulumi-lang-java=\"`targetingFilter`\"\u003e`targeting_filter`\u003c/span\u003e block as defined below.\n"},"timewindowFilters":{"type":"array","items":{"$ref":"#/types/azure:appconfiguration/ConfigurationFeatureTimewindowFilter:ConfigurationFeatureTimewindowFilter"},"description":"A \u003cspan pulumi-lang-nodejs=\"`timewindowFilter`\" pulumi-lang-dotnet=\"`TimewindowFilter`\" pulumi-lang-go=\"`timewindowFilter`\" pulumi-lang-python=\"`timewindow_filter`\" pulumi-lang-yaml=\"`timewindowFilter`\" pulumi-lang-java=\"`timewindowFilter`\"\u003e`timewindow_filter`\u003c/span\u003e block as defined below.\n"}},"required":["configurationStoreId","etag","key","name"],"inputProperties":{"configurationStoreId":{"type":"string","description":"Specifies the id of the App Configuration. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"description":{"type":"string","description":"The description of the App Configuration Feature.\n"},"enabled":{"type":"boolean","description":"The status of the App Configuration Feature. By default, this is set to false.\n"},"etag":{"type":"string"},"key":{"type":"string","description":"The key of the App Configuration Feature. The value for \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e will be used if this is unspecified. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"label":{"type":"string","description":"The label of the App Configuration Feature. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"locked":{"type":"boolean","description":"Should this App Configuration Feature be Locked to prevent changes?\n"},"name":{"type":"string","description":"The name of the App Configuration Feature. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"percentageFilterValue":{"type":"number","description":"A number representing the value of the percentage required to enable this feature.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"targetingFilters":{"type":"array","items":{"$ref":"#/types/azure:appconfiguration/ConfigurationFeatureTargetingFilter:ConfigurationFeatureTargetingFilter"},"description":"A \u003cspan pulumi-lang-nodejs=\"`targetingFilter`\" pulumi-lang-dotnet=\"`TargetingFilter`\" pulumi-lang-go=\"`targetingFilter`\" pulumi-lang-python=\"`targeting_filter`\" pulumi-lang-yaml=\"`targetingFilter`\" pulumi-lang-java=\"`targetingFilter`\"\u003e`targeting_filter`\u003c/span\u003e block as defined below.\n"},"timewindowFilters":{"type":"array","items":{"$ref":"#/types/azure:appconfiguration/ConfigurationFeatureTimewindowFilter:ConfigurationFeatureTimewindowFilter"},"description":"A \u003cspan pulumi-lang-nodejs=\"`timewindowFilter`\" pulumi-lang-dotnet=\"`TimewindowFilter`\" pulumi-lang-go=\"`timewindowFilter`\" pulumi-lang-python=\"`timewindow_filter`\" pulumi-lang-yaml=\"`timewindowFilter`\" pulumi-lang-java=\"`timewindowFilter`\"\u003e`timewindow_filter`\u003c/span\u003e block as defined below.\n"}},"requiredInputs":["configurationStoreId"],"stateInputs":{"description":"Input properties used for looking up and filtering ConfigurationFeature resources.\n","properties":{"configurationStoreId":{"type":"string","description":"Specifies the id of the App Configuration. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"description":{"type":"string","description":"The description of the App Configuration Feature.\n"},"enabled":{"type":"boolean","description":"The status of the App Configuration Feature. By default, this is set to false.\n"},"etag":{"type":"string"},"key":{"type":"string","description":"The key of the App Configuration Feature. The value for \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e will be used if this is unspecified. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"label":{"type":"string","description":"The label of the App Configuration Feature. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"locked":{"type":"boolean","description":"Should this App Configuration Feature be Locked to prevent changes?\n"},"name":{"type":"string","description":"The name of the App Configuration Feature. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"percentageFilterValue":{"type":"number","description":"A number representing the value of the percentage required to enable this feature.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"targetingFilters":{"type":"array","items":{"$ref":"#/types/azure:appconfiguration/ConfigurationFeatureTargetingFilter:ConfigurationFeatureTargetingFilter"},"description":"A \u003cspan pulumi-lang-nodejs=\"`targetingFilter`\" pulumi-lang-dotnet=\"`TargetingFilter`\" pulumi-lang-go=\"`targetingFilter`\" pulumi-lang-python=\"`targeting_filter`\" pulumi-lang-yaml=\"`targetingFilter`\" pulumi-lang-java=\"`targetingFilter`\"\u003e`targeting_filter`\u003c/span\u003e block as defined below.\n"},"timewindowFilters":{"type":"array","items":{"$ref":"#/types/azure:appconfiguration/ConfigurationFeatureTimewindowFilter:ConfigurationFeatureTimewindowFilter"},"description":"A \u003cspan pulumi-lang-nodejs=\"`timewindowFilter`\" pulumi-lang-dotnet=\"`TimewindowFilter`\" pulumi-lang-go=\"`timewindowFilter`\" pulumi-lang-python=\"`timewindow_filter`\" pulumi-lang-yaml=\"`timewindowFilter`\" pulumi-lang-java=\"`timewindowFilter`\"\u003e`timewindow_filter`\u003c/span\u003e block as defined below.\n"}},"type":"object"}},"azure:appconfiguration/configurationKey:ConfigurationKey":{"description":"Manages an Azure App Configuration Key.\n\n\u003e **Note:** App Configuration Keys are provisioned using a Data Plane API which requires the role `App Configuration Data Owner` on either the App Configuration or a parent scope (such as the Resource Group/Subscription). [More information can be found in the Azure Documentation for App Configuration](https://docs.microsoft.com/azure/azure-app-configuration/concept-enable-rbac#azure-built-in-roles-for-azure-app-configuration).\n\n## Example Usage\n\n### `Kv` Type\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst appconf = new azure.appconfiguration.ConfigurationStore(\"appconf\", {\n    name: \"appConf1\",\n    resourceGroupName: example.name,\n    location: example.location,\n});\nconst current = azure.core.getClientConfig({});\nconst appconfDataowner = new azure.authorization.Assignment(\"appconf_dataowner\", {\n    scope: appconf.id,\n    roleDefinitionName: \"App Configuration Data Owner\",\n    principalId: current.then(current =\u003e current.objectId),\n});\nconst test = new azure.appconfiguration.ConfigurationKey(\"test\", {\n    configurationStoreId: appconf.id,\n    key: \"appConfKey1\",\n    label: \"somelabel\",\n    value: \"a test\",\n}, {\n    dependsOn: [appconfDataowner],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nappconf = azure.appconfiguration.ConfigurationStore(\"appconf\",\n    name=\"appConf1\",\n    resource_group_name=example.name,\n    location=example.location)\ncurrent = azure.core.get_client_config()\nappconf_dataowner = azure.authorization.Assignment(\"appconf_dataowner\",\n    scope=appconf.id,\n    role_definition_name=\"App Configuration Data Owner\",\n    principal_id=current.object_id)\ntest = azure.appconfiguration.ConfigurationKey(\"test\",\n    configuration_store_id=appconf.id,\n    key=\"appConfKey1\",\n    label=\"somelabel\",\n    value=\"a test\",\n    opts = pulumi.ResourceOptions(depends_on=[appconf_dataowner]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var appconf = new Azure.AppConfiguration.ConfigurationStore(\"appconf\", new()\n    {\n        Name = \"appConf1\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n    });\n\n    var current = Azure.Core.GetClientConfig.Invoke();\n\n    var appconfDataowner = new Azure.Authorization.Assignment(\"appconf_dataowner\", new()\n    {\n        Scope = appconf.Id,\n        RoleDefinitionName = \"App Configuration Data Owner\",\n        PrincipalId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.ObjectId),\n    });\n\n    var test = new Azure.AppConfiguration.ConfigurationKey(\"test\", new()\n    {\n        ConfigurationStoreId = appconf.Id,\n        Key = \"appConfKey1\",\n        Label = \"somelabel\",\n        Value = \"a test\",\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            appconfDataowner,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/appconfiguration\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/authorization\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tappconf, err := appconfiguration.NewConfigurationStore(ctx, \"appconf\", \u0026appconfiguration.ConfigurationStoreArgs{\n\t\t\tName:              pulumi.String(\"appConf1\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrent, err := core.GetClientConfig(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tappconfDataowner, err := authorization.NewAssignment(ctx, \"appconf_dataowner\", \u0026authorization.AssignmentArgs{\n\t\t\tScope:              appconf.ID(),\n\t\t\tRoleDefinitionName: pulumi.String(\"App Configuration Data Owner\"),\n\t\t\tPrincipalId:        pulumi.String(current.ObjectId),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = appconfiguration.NewConfigurationKey(ctx, \"test\", \u0026appconfiguration.ConfigurationKeyArgs{\n\t\t\tConfigurationStoreId: appconf.ID(),\n\t\t\tKey:                  pulumi.String(\"appConfKey1\"),\n\t\t\tLabel:                pulumi.String(\"somelabel\"),\n\t\t\tValue:                pulumi.String(\"a test\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tappconfDataowner,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.appconfiguration.ConfigurationStore;\nimport com.pulumi.azure.appconfiguration.ConfigurationStoreArgs;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.authorization.Assignment;\nimport com.pulumi.azure.authorization.AssignmentArgs;\nimport com.pulumi.azure.appconfiguration.ConfigurationKey;\nimport com.pulumi.azure.appconfiguration.ConfigurationKeyArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var appconf = new ConfigurationStore(\"appconf\", ConfigurationStoreArgs.builder()\n            .name(\"appConf1\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .build());\n\n        final var current = CoreFunctions.getClientConfig(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n        var appconfDataowner = new Assignment(\"appconfDataowner\", AssignmentArgs.builder()\n            .scope(appconf.id())\n            .roleDefinitionName(\"App Configuration Data Owner\")\n            .principalId(current.objectId())\n            .build());\n\n        var test = new ConfigurationKey(\"test\", ConfigurationKeyArgs.builder()\n            .configurationStoreId(appconf.id())\n            .key(\"appConfKey1\")\n            .label(\"somelabel\")\n            .value(\"a test\")\n            .build(), CustomResourceOptions.builder()\n                .dependsOn(appconfDataowner)\n                .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  appconf:\n    type: azure:appconfiguration:ConfigurationStore\n    properties:\n      name: appConf1\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n  appconfDataowner:\n    type: azure:authorization:Assignment\n    name: appconf_dataowner\n    properties:\n      scope: ${appconf.id}\n      roleDefinitionName: App Configuration Data Owner\n      principalId: ${current.objectId}\n  test:\n    type: azure:appconfiguration:ConfigurationKey\n    properties:\n      configurationStoreId: ${appconf.id}\n      key: appConfKey1\n      label: somelabel\n      value: a test\n    options:\n      dependsOn:\n        - ${appconfDataowner}\nvariables:\n  current:\n    fn::invoke:\n      function: azure:core:getClientConfig\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\n### `Vault` Type\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst appconf = new azure.appconfiguration.ConfigurationStore(\"appconf\", {\n    name: \"appConf1\",\n    resourceGroupName: example.name,\n    location: example.location,\n});\nconst current = azure.core.getClientConfig({});\nconst kv = new azure.keyvault.KeyVault(\"kv\", {\n    name: \"kv\",\n    location: testAzurermResourceGroup.location,\n    resourceGroupName: testAzurermResourceGroup.name,\n    tenantId: current.then(current =\u003e current.tenantId),\n    skuName: \"premium\",\n    softDeleteRetentionDays: 7,\n    accessPolicies: [{\n        tenantId: current.then(current =\u003e current.tenantId),\n        objectId: current.then(current =\u003e current.objectId),\n        keyPermissions: [\n            \"Create\",\n            \"Get\",\n        ],\n        secretPermissions: [\n            \"Set\",\n            \"Get\",\n            \"Delete\",\n            \"Purge\",\n            \"Recover\",\n        ],\n    }],\n});\nconst kvs = new azure.keyvault.Secret(\"kvs\", {\n    name: \"kvs\",\n    value: \"szechuan\",\n    keyVaultId: kv.id,\n});\nconst appconfDataowner = new azure.authorization.Assignment(\"appconf_dataowner\", {\n    scope: appconf.id,\n    roleDefinitionName: \"App Configuration Data Owner\",\n    principalId: current.then(current =\u003e current.objectId),\n});\nconst test = new azure.appconfiguration.ConfigurationKey(\"test\", {\n    configurationStoreId: testAzurermAppConfiguration.id,\n    key: \"key1\",\n    type: \"vault\",\n    label: \"label1\",\n    vaultKeyReference: kvs.versionlessId,\n}, {\n    dependsOn: [appconfDataowner],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nappconf = azure.appconfiguration.ConfigurationStore(\"appconf\",\n    name=\"appConf1\",\n    resource_group_name=example.name,\n    location=example.location)\ncurrent = azure.core.get_client_config()\nkv = azure.keyvault.KeyVault(\"kv\",\n    name=\"kv\",\n    location=test_azurerm_resource_group[\"location\"],\n    resource_group_name=test_azurerm_resource_group[\"name\"],\n    tenant_id=current.tenant_id,\n    sku_name=\"premium\",\n    soft_delete_retention_days=7,\n    access_policies=[{\n        \"tenant_id\": current.tenant_id,\n        \"object_id\": current.object_id,\n        \"key_permissions\": [\n            \"Create\",\n            \"Get\",\n        ],\n        \"secret_permissions\": [\n            \"Set\",\n            \"Get\",\n            \"Delete\",\n            \"Purge\",\n            \"Recover\",\n        ],\n    }])\nkvs = azure.keyvault.Secret(\"kvs\",\n    name=\"kvs\",\n    value=\"szechuan\",\n    key_vault_id=kv.id)\nappconf_dataowner = azure.authorization.Assignment(\"appconf_dataowner\",\n    scope=appconf.id,\n    role_definition_name=\"App Configuration Data Owner\",\n    principal_id=current.object_id)\ntest = azure.appconfiguration.ConfigurationKey(\"test\",\n    configuration_store_id=test_azurerm_app_configuration[\"id\"],\n    key=\"key1\",\n    type=\"vault\",\n    label=\"label1\",\n    vault_key_reference=kvs.versionless_id,\n    opts = pulumi.ResourceOptions(depends_on=[appconf_dataowner]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var appconf = new Azure.AppConfiguration.ConfigurationStore(\"appconf\", new()\n    {\n        Name = \"appConf1\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n    });\n\n    var current = Azure.Core.GetClientConfig.Invoke();\n\n    var kv = new Azure.KeyVault.KeyVault(\"kv\", new()\n    {\n        Name = \"kv\",\n        Location = testAzurermResourceGroup.Location,\n        ResourceGroupName = testAzurermResourceGroup.Name,\n        TenantId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.TenantId),\n        SkuName = \"premium\",\n        SoftDeleteRetentionDays = 7,\n        AccessPolicies = new[]\n        {\n            new Azure.KeyVault.Inputs.KeyVaultAccessPolicyArgs\n            {\n                TenantId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.TenantId),\n                ObjectId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.ObjectId),\n                KeyPermissions = new[]\n                {\n                    \"Create\",\n                    \"Get\",\n                },\n                SecretPermissions = new[]\n                {\n                    \"Set\",\n                    \"Get\",\n                    \"Delete\",\n                    \"Purge\",\n                    \"Recover\",\n                },\n            },\n        },\n    });\n\n    var kvs = new Azure.KeyVault.Secret(\"kvs\", new()\n    {\n        Name = \"kvs\",\n        Value = \"szechuan\",\n        KeyVaultId = kv.Id,\n    });\n\n    var appconfDataowner = new Azure.Authorization.Assignment(\"appconf_dataowner\", new()\n    {\n        Scope = appconf.Id,\n        RoleDefinitionName = \"App Configuration Data Owner\",\n        PrincipalId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.ObjectId),\n    });\n\n    var test = new Azure.AppConfiguration.ConfigurationKey(\"test\", new()\n    {\n        ConfigurationStoreId = testAzurermAppConfiguration.Id,\n        Key = \"key1\",\n        Type = \"vault\",\n        Label = \"label1\",\n        VaultKeyReference = kvs.VersionlessId,\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            appconfDataowner,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/appconfiguration\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/authorization\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/keyvault\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tappconf, err := appconfiguration.NewConfigurationStore(ctx, \"appconf\", \u0026appconfiguration.ConfigurationStoreArgs{\n\t\t\tName:              pulumi.String(\"appConf1\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrent, err := core.GetClientConfig(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tkv, err := keyvault.NewKeyVault(ctx, \"kv\", \u0026keyvault.KeyVaultArgs{\n\t\t\tName:                    pulumi.String(\"kv\"),\n\t\t\tLocation:                pulumi.Any(testAzurermResourceGroup.Location),\n\t\t\tResourceGroupName:       pulumi.Any(testAzurermResourceGroup.Name),\n\t\t\tTenantId:                pulumi.String(current.TenantId),\n\t\t\tSkuName:                 pulumi.String(\"premium\"),\n\t\t\tSoftDeleteRetentionDays: pulumi.Int(7),\n\t\t\tAccessPolicies: keyvault.KeyVaultAccessPolicyArray{\n\t\t\t\t\u0026keyvault.KeyVaultAccessPolicyArgs{\n\t\t\t\t\tTenantId: pulumi.String(current.TenantId),\n\t\t\t\t\tObjectId: pulumi.String(current.ObjectId),\n\t\t\t\t\tKeyPermissions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"Create\"),\n\t\t\t\t\t\tpulumi.String(\"Get\"),\n\t\t\t\t\t},\n\t\t\t\t\tSecretPermissions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"Set\"),\n\t\t\t\t\t\tpulumi.String(\"Get\"),\n\t\t\t\t\t\tpulumi.String(\"Delete\"),\n\t\t\t\t\t\tpulumi.String(\"Purge\"),\n\t\t\t\t\t\tpulumi.String(\"Recover\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tkvs, err := keyvault.NewSecret(ctx, \"kvs\", \u0026keyvault.SecretArgs{\n\t\t\tName:       pulumi.String(\"kvs\"),\n\t\t\tValue:      pulumi.String(\"szechuan\"),\n\t\t\tKeyVaultId: kv.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tappconfDataowner, err := authorization.NewAssignment(ctx, \"appconf_dataowner\", \u0026authorization.AssignmentArgs{\n\t\t\tScope:              appconf.ID(),\n\t\t\tRoleDefinitionName: pulumi.String(\"App Configuration Data Owner\"),\n\t\t\tPrincipalId:        pulumi.String(current.ObjectId),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = appconfiguration.NewConfigurationKey(ctx, \"test\", \u0026appconfiguration.ConfigurationKeyArgs{\n\t\t\tConfigurationStoreId: pulumi.Any(testAzurermAppConfiguration.Id),\n\t\t\tKey:                  pulumi.String(\"key1\"),\n\t\t\tType:                 pulumi.String(\"vault\"),\n\t\t\tLabel:                pulumi.String(\"label1\"),\n\t\t\tVaultKeyReference:    kvs.VersionlessId,\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tappconfDataowner,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.appconfiguration.ConfigurationStore;\nimport com.pulumi.azure.appconfiguration.ConfigurationStoreArgs;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.keyvault.KeyVault;\nimport com.pulumi.azure.keyvault.KeyVaultArgs;\nimport com.pulumi.azure.keyvault.inputs.KeyVaultAccessPolicyArgs;\nimport com.pulumi.azure.keyvault.Secret;\nimport com.pulumi.azure.keyvault.SecretArgs;\nimport com.pulumi.azure.authorization.Assignment;\nimport com.pulumi.azure.authorization.AssignmentArgs;\nimport com.pulumi.azure.appconfiguration.ConfigurationKey;\nimport com.pulumi.azure.appconfiguration.ConfigurationKeyArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var appconf = new ConfigurationStore(\"appconf\", ConfigurationStoreArgs.builder()\n            .name(\"appConf1\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .build());\n\n        final var current = CoreFunctions.getClientConfig(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n        var kv = new KeyVault(\"kv\", KeyVaultArgs.builder()\n            .name(\"kv\")\n            .location(testAzurermResourceGroup.location())\n            .resourceGroupName(testAzurermResourceGroup.name())\n            .tenantId(current.tenantId())\n            .skuName(\"premium\")\n            .softDeleteRetentionDays(7)\n            .accessPolicies(KeyVaultAccessPolicyArgs.builder()\n                .tenantId(current.tenantId())\n                .objectId(current.objectId())\n                .keyPermissions(                \n                    \"Create\",\n                    \"Get\")\n                .secretPermissions(                \n                    \"Set\",\n                    \"Get\",\n                    \"Delete\",\n                    \"Purge\",\n                    \"Recover\")\n                .build())\n            .build());\n\n        var kvs = new Secret(\"kvs\", SecretArgs.builder()\n            .name(\"kvs\")\n            .value(\"szechuan\")\n            .keyVaultId(kv.id())\n            .build());\n\n        var appconfDataowner = new Assignment(\"appconfDataowner\", AssignmentArgs.builder()\n            .scope(appconf.id())\n            .roleDefinitionName(\"App Configuration Data Owner\")\n            .principalId(current.objectId())\n            .build());\n\n        var test = new ConfigurationKey(\"test\", ConfigurationKeyArgs.builder()\n            .configurationStoreId(testAzurermAppConfiguration.id())\n            .key(\"key1\")\n            .type(\"vault\")\n            .label(\"label1\")\n            .vaultKeyReference(kvs.versionlessId())\n            .build(), CustomResourceOptions.builder()\n                .dependsOn(appconfDataowner)\n                .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  appconf:\n    type: azure:appconfiguration:ConfigurationStore\n    properties:\n      name: appConf1\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n  kv:\n    type: azure:keyvault:KeyVault\n    properties:\n      name: kv\n      location: ${testAzurermResourceGroup.location}\n      resourceGroupName: ${testAzurermResourceGroup.name}\n      tenantId: ${current.tenantId}\n      skuName: premium\n      softDeleteRetentionDays: 7\n      accessPolicies:\n        - tenantId: ${current.tenantId}\n          objectId: ${current.objectId}\n          keyPermissions:\n            - Create\n            - Get\n          secretPermissions:\n            - Set\n            - Get\n            - Delete\n            - Purge\n            - Recover\n  kvs:\n    type: azure:keyvault:Secret\n    properties:\n      name: kvs\n      value: szechuan\n      keyVaultId: ${kv.id}\n  appconfDataowner:\n    type: azure:authorization:Assignment\n    name: appconf_dataowner\n    properties:\n      scope: ${appconf.id}\n      roleDefinitionName: App Configuration Data Owner\n      principalId: ${current.objectId}\n  test:\n    type: azure:appconfiguration:ConfigurationKey\n    properties:\n      configurationStoreId: ${testAzurermAppConfiguration.id}\n      key: key1\n      type: vault\n      label: label1\n      vaultKeyReference: ${kvs.versionlessId}\n    options:\n      dependsOn:\n        - ${appconfDataowner}\nvariables:\n  current:\n    fn::invoke:\n      function: azure:core:getClientConfig\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nApp Configuration Keys can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:appconfiguration/configurationKey:ConfigurationKey test https://appconfname1.azconfig.io/kv/keyName?label=labelName\n```\n\nIf you wish to import a key with an empty label then simply leave label's name blank:\n\n```sh\n$ pulumi import azure:appconfiguration/configurationKey:ConfigurationKey test https://appconfname1.azconfig.io/kv/keyName?label=\n```\n\n","properties":{"configurationStoreId":{"type":"string","description":"Specifies the id of the App Configuration. Changing this forces a new resource to be created.\n"},"contentType":{"type":"string","description":"The content type of the App Configuration Key. This should only be set when type is set to \u003cspan pulumi-lang-nodejs=\"`kv`\" pulumi-lang-dotnet=\"`Kv`\" pulumi-lang-go=\"`kv`\" pulumi-lang-python=\"`kv`\" pulumi-lang-yaml=\"`kv`\" pulumi-lang-java=\"`kv`\"\u003e`kv`\u003c/span\u003e.\n"},"etag":{"type":"string","description":"(Optional) The ETag of the key.\n"},"key":{"type":"string","description":"The name of the App Configuration Key to create. Changing this forces a new resource to be created.\n"},"label":{"type":"string","description":"The label of the App Configuration Key. Changing this forces a new resource to be created.\n"},"locked":{"type":"boolean","description":"Should this App Configuration Key be Locked to prevent changes?\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"type":{"type":"string","description":"The type of the App Configuration Key. It can either be \u003cspan pulumi-lang-nodejs=\"`kv`\" pulumi-lang-dotnet=\"`Kv`\" pulumi-lang-go=\"`kv`\" pulumi-lang-python=\"`kv`\" pulumi-lang-yaml=\"`kv`\" pulumi-lang-java=\"`kv`\"\u003e`kv`\u003c/span\u003e (simple [key/value](https://docs.microsoft.com/azure/azure-app-configuration/concept-key-value)) or \u003cspan pulumi-lang-nodejs=\"`vault`\" pulumi-lang-dotnet=\"`Vault`\" pulumi-lang-go=\"`vault`\" pulumi-lang-python=\"`vault`\" pulumi-lang-yaml=\"`vault`\" pulumi-lang-java=\"`vault`\"\u003e`vault`\u003c/span\u003e (where the value is a reference to a [Key Vault Secret](https://azure.microsoft.com/en-gb/services/key-vault/). Defaults to \u003cspan pulumi-lang-nodejs=\"`kv`\" pulumi-lang-dotnet=\"`Kv`\" pulumi-lang-go=\"`kv`\" pulumi-lang-python=\"`kv`\" pulumi-lang-yaml=\"`kv`\" pulumi-lang-java=\"`kv`\"\u003e`kv`\u003c/span\u003e.\n"},"value":{"type":"string","description":"The value of the App Configuration Key. This should only be set when type is set to \u003cspan pulumi-lang-nodejs=\"`kv`\" pulumi-lang-dotnet=\"`Kv`\" pulumi-lang-go=\"`kv`\" pulumi-lang-python=\"`kv`\" pulumi-lang-yaml=\"`kv`\" pulumi-lang-java=\"`kv`\"\u003e`kv`\u003c/span\u003e.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`value`\" pulumi-lang-dotnet=\"`Value`\" pulumi-lang-go=\"`value`\" pulumi-lang-python=\"`value`\" pulumi-lang-yaml=\"`value`\" pulumi-lang-java=\"`value`\"\u003e`value`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`vaultKeyReference`\" pulumi-lang-dotnet=\"`VaultKeyReference`\" pulumi-lang-go=\"`vaultKeyReference`\" pulumi-lang-python=\"`vault_key_reference`\" pulumi-lang-yaml=\"`vaultKeyReference`\" pulumi-lang-java=\"`vaultKeyReference`\"\u003e`vault_key_reference`\u003c/span\u003e are mutually exclusive.\n"},"vaultKeyReference":{"type":"string","description":"The ID of the vault secret this App Configuration Key refers to. This should only be set when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`vault`\" pulumi-lang-dotnet=\"`Vault`\" pulumi-lang-go=\"`vault`\" pulumi-lang-python=\"`vault`\" pulumi-lang-yaml=\"`vault`\" pulumi-lang-java=\"`vault`\"\u003e`vault`\u003c/span\u003e.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`vaultKeyReference`\" pulumi-lang-dotnet=\"`VaultKeyReference`\" pulumi-lang-go=\"`vaultKeyReference`\" pulumi-lang-python=\"`vault_key_reference`\" pulumi-lang-yaml=\"`vaultKeyReference`\" pulumi-lang-java=\"`vaultKeyReference`\"\u003e`vault_key_reference`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`value`\" pulumi-lang-dotnet=\"`Value`\" pulumi-lang-go=\"`value`\" pulumi-lang-python=\"`value`\" pulumi-lang-yaml=\"`value`\" pulumi-lang-java=\"`value`\"\u003e`value`\u003c/span\u003e are mutually exclusive.\n\n\u003e **Note:** When setting the \u003cspan pulumi-lang-nodejs=\"`vaultKeyReference`\" pulumi-lang-dotnet=\"`VaultKeyReference`\" pulumi-lang-go=\"`vaultKeyReference`\" pulumi-lang-python=\"`vault_key_reference`\" pulumi-lang-yaml=\"`vaultKeyReference`\" pulumi-lang-java=\"`vaultKeyReference`\"\u003e`vault_key_reference`\u003c/span\u003e using the \u003cspan pulumi-lang-nodejs=\"`id`\" pulumi-lang-dotnet=\"`Id`\" pulumi-lang-go=\"`id`\" pulumi-lang-python=\"`id`\" pulumi-lang-yaml=\"`id`\" pulumi-lang-java=\"`id`\"\u003e`id`\u003c/span\u003e will pin the value to specific version of the secret, to reference latest secret value use \u003cspan pulumi-lang-nodejs=\"`versionlessId`\" pulumi-lang-dotnet=\"`VersionlessId`\" pulumi-lang-go=\"`versionlessId`\" pulumi-lang-python=\"`versionless_id`\" pulumi-lang-yaml=\"`versionlessId`\" pulumi-lang-java=\"`versionlessId`\"\u003e`versionless_id`\u003c/span\u003e\n"}},"required":["configurationStoreId","contentType","etag","key"],"inputProperties":{"configurationStoreId":{"type":"string","description":"Specifies the id of the App Configuration. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"contentType":{"type":"string","description":"The content type of the App Configuration Key. This should only be set when type is set to \u003cspan pulumi-lang-nodejs=\"`kv`\" pulumi-lang-dotnet=\"`Kv`\" pulumi-lang-go=\"`kv`\" pulumi-lang-python=\"`kv`\" pulumi-lang-yaml=\"`kv`\" pulumi-lang-java=\"`kv`\"\u003e`kv`\u003c/span\u003e.\n"},"etag":{"type":"string","description":"(Optional) The ETag of the key.\n"},"key":{"type":"string","description":"The name of the App Configuration Key to create. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"label":{"type":"string","description":"The label of the App Configuration Key. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"locked":{"type":"boolean","description":"Should this App Configuration Key be Locked to prevent changes?\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"type":{"type":"string","description":"The type of the App Configuration Key. It can either be \u003cspan pulumi-lang-nodejs=\"`kv`\" pulumi-lang-dotnet=\"`Kv`\" pulumi-lang-go=\"`kv`\" pulumi-lang-python=\"`kv`\" pulumi-lang-yaml=\"`kv`\" pulumi-lang-java=\"`kv`\"\u003e`kv`\u003c/span\u003e (simple [key/value](https://docs.microsoft.com/azure/azure-app-configuration/concept-key-value)) or \u003cspan pulumi-lang-nodejs=\"`vault`\" pulumi-lang-dotnet=\"`Vault`\" pulumi-lang-go=\"`vault`\" pulumi-lang-python=\"`vault`\" pulumi-lang-yaml=\"`vault`\" pulumi-lang-java=\"`vault`\"\u003e`vault`\u003c/span\u003e (where the value is a reference to a [Key Vault Secret](https://azure.microsoft.com/en-gb/services/key-vault/). Defaults to \u003cspan pulumi-lang-nodejs=\"`kv`\" pulumi-lang-dotnet=\"`Kv`\" pulumi-lang-go=\"`kv`\" pulumi-lang-python=\"`kv`\" pulumi-lang-yaml=\"`kv`\" pulumi-lang-java=\"`kv`\"\u003e`kv`\u003c/span\u003e.\n"},"value":{"type":"string","description":"The value of the App Configuration Key. This should only be set when type is set to \u003cspan pulumi-lang-nodejs=\"`kv`\" pulumi-lang-dotnet=\"`Kv`\" pulumi-lang-go=\"`kv`\" pulumi-lang-python=\"`kv`\" pulumi-lang-yaml=\"`kv`\" pulumi-lang-java=\"`kv`\"\u003e`kv`\u003c/span\u003e.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`value`\" pulumi-lang-dotnet=\"`Value`\" pulumi-lang-go=\"`value`\" pulumi-lang-python=\"`value`\" pulumi-lang-yaml=\"`value`\" pulumi-lang-java=\"`value`\"\u003e`value`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`vaultKeyReference`\" pulumi-lang-dotnet=\"`VaultKeyReference`\" pulumi-lang-go=\"`vaultKeyReference`\" pulumi-lang-python=\"`vault_key_reference`\" pulumi-lang-yaml=\"`vaultKeyReference`\" pulumi-lang-java=\"`vaultKeyReference`\"\u003e`vault_key_reference`\u003c/span\u003e are mutually exclusive.\n"},"vaultKeyReference":{"type":"string","description":"The ID of the vault secret this App Configuration Key refers to. This should only be set when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`vault`\" pulumi-lang-dotnet=\"`Vault`\" pulumi-lang-go=\"`vault`\" pulumi-lang-python=\"`vault`\" pulumi-lang-yaml=\"`vault`\" pulumi-lang-java=\"`vault`\"\u003e`vault`\u003c/span\u003e.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`vaultKeyReference`\" pulumi-lang-dotnet=\"`VaultKeyReference`\" pulumi-lang-go=\"`vaultKeyReference`\" pulumi-lang-python=\"`vault_key_reference`\" pulumi-lang-yaml=\"`vaultKeyReference`\" pulumi-lang-java=\"`vaultKeyReference`\"\u003e`vault_key_reference`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`value`\" pulumi-lang-dotnet=\"`Value`\" pulumi-lang-go=\"`value`\" pulumi-lang-python=\"`value`\" pulumi-lang-yaml=\"`value`\" pulumi-lang-java=\"`value`\"\u003e`value`\u003c/span\u003e are mutually exclusive.\n\n\u003e **Note:** When setting the \u003cspan pulumi-lang-nodejs=\"`vaultKeyReference`\" pulumi-lang-dotnet=\"`VaultKeyReference`\" pulumi-lang-go=\"`vaultKeyReference`\" pulumi-lang-python=\"`vault_key_reference`\" pulumi-lang-yaml=\"`vaultKeyReference`\" pulumi-lang-java=\"`vaultKeyReference`\"\u003e`vault_key_reference`\u003c/span\u003e using the \u003cspan pulumi-lang-nodejs=\"`id`\" pulumi-lang-dotnet=\"`Id`\" pulumi-lang-go=\"`id`\" pulumi-lang-python=\"`id`\" pulumi-lang-yaml=\"`id`\" pulumi-lang-java=\"`id`\"\u003e`id`\u003c/span\u003e will pin the value to specific version of the secret, to reference latest secret value use \u003cspan pulumi-lang-nodejs=\"`versionlessId`\" pulumi-lang-dotnet=\"`VersionlessId`\" pulumi-lang-go=\"`versionlessId`\" pulumi-lang-python=\"`versionless_id`\" pulumi-lang-yaml=\"`versionlessId`\" pulumi-lang-java=\"`versionlessId`\"\u003e`versionless_id`\u003c/span\u003e\n"}},"requiredInputs":["configurationStoreId","key"],"stateInputs":{"description":"Input properties used for looking up and filtering ConfigurationKey resources.\n","properties":{"configurationStoreId":{"type":"string","description":"Specifies the id of the App Configuration. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"contentType":{"type":"string","description":"The content type of the App Configuration Key. This should only be set when type is set to \u003cspan pulumi-lang-nodejs=\"`kv`\" pulumi-lang-dotnet=\"`Kv`\" pulumi-lang-go=\"`kv`\" pulumi-lang-python=\"`kv`\" pulumi-lang-yaml=\"`kv`\" pulumi-lang-java=\"`kv`\"\u003e`kv`\u003c/span\u003e.\n"},"etag":{"type":"string","description":"(Optional) The ETag of the key.\n"},"key":{"type":"string","description":"The name of the App Configuration Key to create. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"label":{"type":"string","description":"The label of the App Configuration Key. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"locked":{"type":"boolean","description":"Should this App Configuration Key be Locked to prevent changes?\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"type":{"type":"string","description":"The type of the App Configuration Key. It can either be \u003cspan pulumi-lang-nodejs=\"`kv`\" pulumi-lang-dotnet=\"`Kv`\" pulumi-lang-go=\"`kv`\" pulumi-lang-python=\"`kv`\" pulumi-lang-yaml=\"`kv`\" pulumi-lang-java=\"`kv`\"\u003e`kv`\u003c/span\u003e (simple [key/value](https://docs.microsoft.com/azure/azure-app-configuration/concept-key-value)) or \u003cspan pulumi-lang-nodejs=\"`vault`\" pulumi-lang-dotnet=\"`Vault`\" pulumi-lang-go=\"`vault`\" pulumi-lang-python=\"`vault`\" pulumi-lang-yaml=\"`vault`\" pulumi-lang-java=\"`vault`\"\u003e`vault`\u003c/span\u003e (where the value is a reference to a [Key Vault Secret](https://azure.microsoft.com/en-gb/services/key-vault/). Defaults to \u003cspan pulumi-lang-nodejs=\"`kv`\" pulumi-lang-dotnet=\"`Kv`\" pulumi-lang-go=\"`kv`\" pulumi-lang-python=\"`kv`\" pulumi-lang-yaml=\"`kv`\" pulumi-lang-java=\"`kv`\"\u003e`kv`\u003c/span\u003e.\n"},"value":{"type":"string","description":"The value of the App Configuration Key. This should only be set when type is set to \u003cspan pulumi-lang-nodejs=\"`kv`\" pulumi-lang-dotnet=\"`Kv`\" pulumi-lang-go=\"`kv`\" pulumi-lang-python=\"`kv`\" pulumi-lang-yaml=\"`kv`\" pulumi-lang-java=\"`kv`\"\u003e`kv`\u003c/span\u003e.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`value`\" pulumi-lang-dotnet=\"`Value`\" pulumi-lang-go=\"`value`\" pulumi-lang-python=\"`value`\" pulumi-lang-yaml=\"`value`\" pulumi-lang-java=\"`value`\"\u003e`value`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`vaultKeyReference`\" pulumi-lang-dotnet=\"`VaultKeyReference`\" pulumi-lang-go=\"`vaultKeyReference`\" pulumi-lang-python=\"`vault_key_reference`\" pulumi-lang-yaml=\"`vaultKeyReference`\" pulumi-lang-java=\"`vaultKeyReference`\"\u003e`vault_key_reference`\u003c/span\u003e are mutually exclusive.\n"},"vaultKeyReference":{"type":"string","description":"The ID of the vault secret this App Configuration Key refers to. This should only be set when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`vault`\" pulumi-lang-dotnet=\"`Vault`\" pulumi-lang-go=\"`vault`\" pulumi-lang-python=\"`vault`\" pulumi-lang-yaml=\"`vault`\" pulumi-lang-java=\"`vault`\"\u003e`vault`\u003c/span\u003e.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`vaultKeyReference`\" pulumi-lang-dotnet=\"`VaultKeyReference`\" pulumi-lang-go=\"`vaultKeyReference`\" pulumi-lang-python=\"`vault_key_reference`\" pulumi-lang-yaml=\"`vaultKeyReference`\" pulumi-lang-java=\"`vaultKeyReference`\"\u003e`vault_key_reference`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`value`\" pulumi-lang-dotnet=\"`Value`\" pulumi-lang-go=\"`value`\" pulumi-lang-python=\"`value`\" pulumi-lang-yaml=\"`value`\" pulumi-lang-java=\"`value`\"\u003e`value`\u003c/span\u003e are mutually exclusive.\n\n\u003e **Note:** When setting the \u003cspan pulumi-lang-nodejs=\"`vaultKeyReference`\" pulumi-lang-dotnet=\"`VaultKeyReference`\" pulumi-lang-go=\"`vaultKeyReference`\" pulumi-lang-python=\"`vault_key_reference`\" pulumi-lang-yaml=\"`vaultKeyReference`\" pulumi-lang-java=\"`vaultKeyReference`\"\u003e`vault_key_reference`\u003c/span\u003e using the \u003cspan pulumi-lang-nodejs=\"`id`\" pulumi-lang-dotnet=\"`Id`\" pulumi-lang-go=\"`id`\" pulumi-lang-python=\"`id`\" pulumi-lang-yaml=\"`id`\" pulumi-lang-java=\"`id`\"\u003e`id`\u003c/span\u003e will pin the value to specific version of the secret, to reference latest secret value use \u003cspan pulumi-lang-nodejs=\"`versionlessId`\" pulumi-lang-dotnet=\"`VersionlessId`\" pulumi-lang-go=\"`versionlessId`\" pulumi-lang-python=\"`versionless_id`\" pulumi-lang-yaml=\"`versionlessId`\" pulumi-lang-java=\"`versionlessId`\"\u003e`versionless_id`\u003c/span\u003e\n"}},"type":"object"}},"azure:appconfiguration/configurationStore:ConfigurationStore":{"description":"Manages an Azure App Configuration.\n\n## Disclaimers\n\n\u003e **Note:** Version 3.27.0 and later of the Azure Provider include a Feature Toggle which will purge an App Configuration resource on destroy, rather than the default soft-delete. The Provider will automatically recover a soft-deleted App Configuration during creation if one is found. See the Features block documentation for more information on Feature Toggles within Terraform.\n\n\u003e **Note:** Reading and purging soft-deleted App Configurations requires the `Microsoft.AppConfiguration/locations/deletedConfigurationStores/read` and `Microsoft.AppConfiguration/locations/deletedConfigurationStores/purge/action` permission on Subscription scope. Recovering a soft-deleted App Configuration requires the `Microsoft.AppConfiguration/configurationStores/write` permission on Subscription or Resource Group scope. [More information can be found in the Azure Documentation for App Configuration](https://learn.microsoft.com/en-us/azure/azure-app-configuration/concept-soft-delete#permissions-to-recover-a-deleted-store). See the following links for more information on assigning [Azure custom roles](https://learn.microsoft.com/en-us/azure/role-based-access-control/custom-roles) or using the \u003cspan pulumi-lang-nodejs=\"`azure.authorization.Assignment`\" pulumi-lang-dotnet=\"`azure.authorization.Assignment`\" pulumi-lang-go=\"`authorization.Assignment`\" pulumi-lang-python=\"`authorization.Assignment`\" pulumi-lang-yaml=\"`azure.authorization.Assignment`\" pulumi-lang-java=\"`azure.authorization.Assignment`\"\u003e`azure.authorization.Assignment`\u003c/span\u003e resource to assign a custom role.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst appconf = new azure.appconfiguration.ConfigurationStore(\"appconf\", {\n    name: \"appConf1\",\n    resourceGroupName: example.name,\n    location: example.location,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nappconf = azure.appconfiguration.ConfigurationStore(\"appconf\",\n    name=\"appConf1\",\n    resource_group_name=example.name,\n    location=example.location)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var appconf = new Azure.AppConfiguration.ConfigurationStore(\"appconf\", new()\n    {\n        Name = \"appConf1\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/appconfiguration\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = appconfiguration.NewConfigurationStore(ctx, \"appconf\", \u0026appconfiguration.ConfigurationStoreArgs{\n\t\t\tName:              pulumi.String(\"appConf1\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.appconfiguration.ConfigurationStore;\nimport com.pulumi.azure.appconfiguration.ConfigurationStoreArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var appconf = new ConfigurationStore(\"appconf\", ConfigurationStoreArgs.builder()\n            .name(\"appConf1\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  appconf:\n    type: azure:appconfiguration:ConfigurationStore\n    properties:\n      name: appConf1\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\n### Encryption)\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleUserAssignedIdentity = new azure.authorization.UserAssignedIdentity(\"example\", {\n    name: \"example-identity\",\n    location: example.location,\n    resourceGroupName: example.name,\n});\nconst current = azure.core.getClientConfig({});\nconst exampleKeyVault = new azure.keyvault.KeyVault(\"example\", {\n    name: \"exampleKVt123\",\n    location: example.location,\n    resourceGroupName: example.name,\n    tenantId: current.then(current =\u003e current.tenantId),\n    skuName: \"standard\",\n    softDeleteRetentionDays: 7,\n    purgeProtectionEnabled: true,\n});\nconst server = new azure.keyvault.AccessPolicy(\"server\", {\n    keyVaultId: exampleKeyVault.id,\n    tenantId: current.then(current =\u003e current.tenantId),\n    objectId: exampleUserAssignedIdentity.principalId,\n    keyPermissions: [\n        \"Get\",\n        \"UnwrapKey\",\n        \"WrapKey\",\n    ],\n    secretPermissions: [\"Get\"],\n});\nconst client = new azure.keyvault.AccessPolicy(\"client\", {\n    keyVaultId: exampleKeyVault.id,\n    tenantId: current.then(current =\u003e current.tenantId),\n    objectId: current.then(current =\u003e current.objectId),\n    keyPermissions: [\n        \"Get\",\n        \"Create\",\n        \"Delete\",\n        \"List\",\n        \"Restore\",\n        \"Recover\",\n        \"UnwrapKey\",\n        \"WrapKey\",\n        \"Purge\",\n        \"Encrypt\",\n        \"Decrypt\",\n        \"Sign\",\n        \"Verify\",\n        \"GetRotationPolicy\",\n    ],\n    secretPermissions: [\"Get\"],\n});\nconst exampleKey = new azure.keyvault.Key(\"example\", {\n    name: \"exampleKVkey\",\n    keyVaultId: exampleKeyVault.id,\n    keyType: \"RSA\",\n    keySize: 2048,\n    keyOpts: [\n        \"decrypt\",\n        \"encrypt\",\n        \"sign\",\n        \"unwrapKey\",\n        \"verify\",\n        \"wrapKey\",\n    ],\n}, {\n    dependsOn: [\n        client,\n        server,\n    ],\n});\nconst exampleConfigurationStore = new azure.appconfiguration.ConfigurationStore(\"example\", {\n    name: \"appConf2\",\n    resourceGroupName: example.name,\n    location: example.location,\n    sku: \"standard\",\n    localAuthEnabled: true,\n    publicNetworkAccess: \"Enabled\",\n    purgeProtectionEnabled: false,\n    softDeleteRetentionDays: 1,\n    identity: {\n        type: \"UserAssigned\",\n        identityIds: [exampleUserAssignedIdentity.id],\n    },\n    encryption: {\n        keyVaultKeyIdentifier: exampleKey.id,\n        identityClientId: exampleUserAssignedIdentity.clientId,\n    },\n    replicas: [{\n        name: \"replica1\",\n        location: \"West US\",\n    }],\n    tags: {\n        environment: \"development\",\n    },\n}, {\n    dependsOn: [\n        client,\n        server,\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_user_assigned_identity = azure.authorization.UserAssignedIdentity(\"example\",\n    name=\"example-identity\",\n    location=example.location,\n    resource_group_name=example.name)\ncurrent = azure.core.get_client_config()\nexample_key_vault = azure.keyvault.KeyVault(\"example\",\n    name=\"exampleKVt123\",\n    location=example.location,\n    resource_group_name=example.name,\n    tenant_id=current.tenant_id,\n    sku_name=\"standard\",\n    soft_delete_retention_days=7,\n    purge_protection_enabled=True)\nserver = azure.keyvault.AccessPolicy(\"server\",\n    key_vault_id=example_key_vault.id,\n    tenant_id=current.tenant_id,\n    object_id=example_user_assigned_identity.principal_id,\n    key_permissions=[\n        \"Get\",\n        \"UnwrapKey\",\n        \"WrapKey\",\n    ],\n    secret_permissions=[\"Get\"])\nclient = azure.keyvault.AccessPolicy(\"client\",\n    key_vault_id=example_key_vault.id,\n    tenant_id=current.tenant_id,\n    object_id=current.object_id,\n    key_permissions=[\n        \"Get\",\n        \"Create\",\n        \"Delete\",\n        \"List\",\n        \"Restore\",\n        \"Recover\",\n        \"UnwrapKey\",\n        \"WrapKey\",\n        \"Purge\",\n        \"Encrypt\",\n        \"Decrypt\",\n        \"Sign\",\n        \"Verify\",\n        \"GetRotationPolicy\",\n    ],\n    secret_permissions=[\"Get\"])\nexample_key = azure.keyvault.Key(\"example\",\n    name=\"exampleKVkey\",\n    key_vault_id=example_key_vault.id,\n    key_type=\"RSA\",\n    key_size=2048,\n    key_opts=[\n        \"decrypt\",\n        \"encrypt\",\n        \"sign\",\n        \"unwrapKey\",\n        \"verify\",\n        \"wrapKey\",\n    ],\n    opts = pulumi.ResourceOptions(depends_on=[\n            client,\n            server,\n        ]))\nexample_configuration_store = azure.appconfiguration.ConfigurationStore(\"example\",\n    name=\"appConf2\",\n    resource_group_name=example.name,\n    location=example.location,\n    sku=\"standard\",\n    local_auth_enabled=True,\n    public_network_access=\"Enabled\",\n    purge_protection_enabled=False,\n    soft_delete_retention_days=1,\n    identity={\n        \"type\": \"UserAssigned\",\n        \"identity_ids\": [example_user_assigned_identity.id],\n    },\n    encryption={\n        \"key_vault_key_identifier\": example_key.id,\n        \"identity_client_id\": example_user_assigned_identity.client_id,\n    },\n    replicas=[{\n        \"name\": \"replica1\",\n        \"location\": \"West US\",\n    }],\n    tags={\n        \"environment\": \"development\",\n    },\n    opts = pulumi.ResourceOptions(depends_on=[\n            client,\n            server,\n        ]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleUserAssignedIdentity = new Azure.Authorization.UserAssignedIdentity(\"example\", new()\n    {\n        Name = \"example-identity\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n    });\n\n    var current = Azure.Core.GetClientConfig.Invoke();\n\n    var exampleKeyVault = new Azure.KeyVault.KeyVault(\"example\", new()\n    {\n        Name = \"exampleKVt123\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        TenantId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.TenantId),\n        SkuName = \"standard\",\n        SoftDeleteRetentionDays = 7,\n        PurgeProtectionEnabled = true,\n    });\n\n    var server = new Azure.KeyVault.AccessPolicy(\"server\", new()\n    {\n        KeyVaultId = exampleKeyVault.Id,\n        TenantId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.TenantId),\n        ObjectId = exampleUserAssignedIdentity.PrincipalId,\n        KeyPermissions = new[]\n        {\n            \"Get\",\n            \"UnwrapKey\",\n            \"WrapKey\",\n        },\n        SecretPermissions = new[]\n        {\n            \"Get\",\n        },\n    });\n\n    var client = new Azure.KeyVault.AccessPolicy(\"client\", new()\n    {\n        KeyVaultId = exampleKeyVault.Id,\n        TenantId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.TenantId),\n        ObjectId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.ObjectId),\n        KeyPermissions = new[]\n        {\n            \"Get\",\n            \"Create\",\n            \"Delete\",\n            \"List\",\n            \"Restore\",\n            \"Recover\",\n            \"UnwrapKey\",\n            \"WrapKey\",\n            \"Purge\",\n            \"Encrypt\",\n            \"Decrypt\",\n            \"Sign\",\n            \"Verify\",\n            \"GetRotationPolicy\",\n        },\n        SecretPermissions = new[]\n        {\n            \"Get\",\n        },\n    });\n\n    var exampleKey = new Azure.KeyVault.Key(\"example\", new()\n    {\n        Name = \"exampleKVkey\",\n        KeyVaultId = exampleKeyVault.Id,\n        KeyType = \"RSA\",\n        KeySize = 2048,\n        KeyOpts = new[]\n        {\n            \"decrypt\",\n            \"encrypt\",\n            \"sign\",\n            \"unwrapKey\",\n            \"verify\",\n            \"wrapKey\",\n        },\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            client,\n            server,\n        },\n    });\n\n    var exampleConfigurationStore = new Azure.AppConfiguration.ConfigurationStore(\"example\", new()\n    {\n        Name = \"appConf2\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        Sku = \"standard\",\n        LocalAuthEnabled = true,\n        PublicNetworkAccess = \"Enabled\",\n        PurgeProtectionEnabled = false,\n        SoftDeleteRetentionDays = 1,\n        Identity = new Azure.AppConfiguration.Inputs.ConfigurationStoreIdentityArgs\n        {\n            Type = \"UserAssigned\",\n            IdentityIds = new[]\n            {\n                exampleUserAssignedIdentity.Id,\n            },\n        },\n        Encryption = new Azure.AppConfiguration.Inputs.ConfigurationStoreEncryptionArgs\n        {\n            KeyVaultKeyIdentifier = exampleKey.Id,\n            IdentityClientId = exampleUserAssignedIdentity.ClientId,\n        },\n        Replicas = new[]\n        {\n            new Azure.AppConfiguration.Inputs.ConfigurationStoreReplicaArgs\n            {\n                Name = \"replica1\",\n                Location = \"West US\",\n            },\n        },\n        Tags = \n        {\n            { \"environment\", \"development\" },\n        },\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            client,\n            server,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/appconfiguration\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/authorization\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/keyvault\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleUserAssignedIdentity, err := authorization.NewUserAssignedIdentity(ctx, \"example\", \u0026authorization.UserAssignedIdentityArgs{\n\t\t\tName:              pulumi.String(\"example-identity\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrent, err := core.GetClientConfig(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleKeyVault, err := keyvault.NewKeyVault(ctx, \"example\", \u0026keyvault.KeyVaultArgs{\n\t\t\tName:                    pulumi.String(\"exampleKVt123\"),\n\t\t\tLocation:                example.Location,\n\t\t\tResourceGroupName:       example.Name,\n\t\t\tTenantId:                pulumi.String(current.TenantId),\n\t\t\tSkuName:                 pulumi.String(\"standard\"),\n\t\t\tSoftDeleteRetentionDays: pulumi.Int(7),\n\t\t\tPurgeProtectionEnabled:  pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tserver, err := keyvault.NewAccessPolicy(ctx, \"server\", \u0026keyvault.AccessPolicyArgs{\n\t\t\tKeyVaultId: exampleKeyVault.ID(),\n\t\t\tTenantId:   pulumi.String(current.TenantId),\n\t\t\tObjectId:   exampleUserAssignedIdentity.PrincipalId,\n\t\t\tKeyPermissions: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"Get\"),\n\t\t\t\tpulumi.String(\"UnwrapKey\"),\n\t\t\t\tpulumi.String(\"WrapKey\"),\n\t\t\t},\n\t\t\tSecretPermissions: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"Get\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tclient, err := keyvault.NewAccessPolicy(ctx, \"client\", \u0026keyvault.AccessPolicyArgs{\n\t\t\tKeyVaultId: exampleKeyVault.ID(),\n\t\t\tTenantId:   pulumi.String(current.TenantId),\n\t\t\tObjectId:   pulumi.String(current.ObjectId),\n\t\t\tKeyPermissions: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"Get\"),\n\t\t\t\tpulumi.String(\"Create\"),\n\t\t\t\tpulumi.String(\"Delete\"),\n\t\t\t\tpulumi.String(\"List\"),\n\t\t\t\tpulumi.String(\"Restore\"),\n\t\t\t\tpulumi.String(\"Recover\"),\n\t\t\t\tpulumi.String(\"UnwrapKey\"),\n\t\t\t\tpulumi.String(\"WrapKey\"),\n\t\t\t\tpulumi.String(\"Purge\"),\n\t\t\t\tpulumi.String(\"Encrypt\"),\n\t\t\t\tpulumi.String(\"Decrypt\"),\n\t\t\t\tpulumi.String(\"Sign\"),\n\t\t\t\tpulumi.String(\"Verify\"),\n\t\t\t\tpulumi.String(\"GetRotationPolicy\"),\n\t\t\t},\n\t\t\tSecretPermissions: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"Get\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleKey, err := keyvault.NewKey(ctx, \"example\", \u0026keyvault.KeyArgs{\n\t\t\tName:       pulumi.String(\"exampleKVkey\"),\n\t\t\tKeyVaultId: exampleKeyVault.ID(),\n\t\t\tKeyType:    pulumi.String(\"RSA\"),\n\t\t\tKeySize:    pulumi.Int(2048),\n\t\t\tKeyOpts: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"decrypt\"),\n\t\t\t\tpulumi.String(\"encrypt\"),\n\t\t\t\tpulumi.String(\"sign\"),\n\t\t\t\tpulumi.String(\"unwrapKey\"),\n\t\t\t\tpulumi.String(\"verify\"),\n\t\t\t\tpulumi.String(\"wrapKey\"),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tclient,\n\t\t\tserver,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = appconfiguration.NewConfigurationStore(ctx, \"example\", \u0026appconfiguration.ConfigurationStoreArgs{\n\t\t\tName:                    pulumi.String(\"appConf2\"),\n\t\t\tResourceGroupName:       example.Name,\n\t\t\tLocation:                example.Location,\n\t\t\tSku:                     pulumi.String(\"standard\"),\n\t\t\tLocalAuthEnabled:        pulumi.Bool(true),\n\t\t\tPublicNetworkAccess:     pulumi.String(\"Enabled\"),\n\t\t\tPurgeProtectionEnabled:  pulumi.Bool(false),\n\t\t\tSoftDeleteRetentionDays: pulumi.Int(1),\n\t\t\tIdentity: \u0026appconfiguration.ConfigurationStoreIdentityArgs{\n\t\t\t\tType: pulumi.String(\"UserAssigned\"),\n\t\t\t\tIdentityIds: pulumi.StringArray{\n\t\t\t\t\texampleUserAssignedIdentity.ID(),\n\t\t\t\t},\n\t\t\t},\n\t\t\tEncryption: \u0026appconfiguration.ConfigurationStoreEncryptionArgs{\n\t\t\t\tKeyVaultKeyIdentifier: exampleKey.ID(),\n\t\t\t\tIdentityClientId:      exampleUserAssignedIdentity.ClientId,\n\t\t\t},\n\t\t\tReplicas: appconfiguration.ConfigurationStoreReplicaArray{\n\t\t\t\t\u0026appconfiguration.ConfigurationStoreReplicaArgs{\n\t\t\t\t\tName:     pulumi.String(\"replica1\"),\n\t\t\t\t\tLocation: pulumi.String(\"West US\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"environment\": pulumi.String(\"development\"),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tclient,\n\t\t\tserver,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.authorization.UserAssignedIdentity;\nimport com.pulumi.azure.authorization.UserAssignedIdentityArgs;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.keyvault.KeyVault;\nimport com.pulumi.azure.keyvault.KeyVaultArgs;\nimport com.pulumi.azure.keyvault.AccessPolicy;\nimport com.pulumi.azure.keyvault.AccessPolicyArgs;\nimport com.pulumi.azure.keyvault.Key;\nimport com.pulumi.azure.keyvault.KeyArgs;\nimport com.pulumi.azure.appconfiguration.ConfigurationStore;\nimport com.pulumi.azure.appconfiguration.ConfigurationStoreArgs;\nimport com.pulumi.azure.appconfiguration.inputs.ConfigurationStoreIdentityArgs;\nimport com.pulumi.azure.appconfiguration.inputs.ConfigurationStoreEncryptionArgs;\nimport com.pulumi.azure.appconfiguration.inputs.ConfigurationStoreReplicaArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleUserAssignedIdentity = new UserAssignedIdentity(\"exampleUserAssignedIdentity\", UserAssignedIdentityArgs.builder()\n            .name(\"example-identity\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .build());\n\n        final var current = CoreFunctions.getClientConfig(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n        var exampleKeyVault = new KeyVault(\"exampleKeyVault\", KeyVaultArgs.builder()\n            .name(\"exampleKVt123\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .tenantId(current.tenantId())\n            .skuName(\"standard\")\n            .softDeleteRetentionDays(7)\n            .purgeProtectionEnabled(true)\n            .build());\n\n        var server = new AccessPolicy(\"server\", AccessPolicyArgs.builder()\n            .keyVaultId(exampleKeyVault.id())\n            .tenantId(current.tenantId())\n            .objectId(exampleUserAssignedIdentity.principalId())\n            .keyPermissions(            \n                \"Get\",\n                \"UnwrapKey\",\n                \"WrapKey\")\n            .secretPermissions(\"Get\")\n            .build());\n\n        var client = new AccessPolicy(\"client\", AccessPolicyArgs.builder()\n            .keyVaultId(exampleKeyVault.id())\n            .tenantId(current.tenantId())\n            .objectId(current.objectId())\n            .keyPermissions(            \n                \"Get\",\n                \"Create\",\n                \"Delete\",\n                \"List\",\n                \"Restore\",\n                \"Recover\",\n                \"UnwrapKey\",\n                \"WrapKey\",\n                \"Purge\",\n                \"Encrypt\",\n                \"Decrypt\",\n                \"Sign\",\n                \"Verify\",\n                \"GetRotationPolicy\")\n            .secretPermissions(\"Get\")\n            .build());\n\n        var exampleKey = new Key(\"exampleKey\", KeyArgs.builder()\n            .name(\"exampleKVkey\")\n            .keyVaultId(exampleKeyVault.id())\n            .keyType(\"RSA\")\n            .keySize(2048)\n            .keyOpts(            \n                \"decrypt\",\n                \"encrypt\",\n                \"sign\",\n                \"unwrapKey\",\n                \"verify\",\n                \"wrapKey\")\n            .build(), CustomResourceOptions.builder()\n                .dependsOn(                \n                    client,\n                    server)\n                .build());\n\n        var exampleConfigurationStore = new ConfigurationStore(\"exampleConfigurationStore\", ConfigurationStoreArgs.builder()\n            .name(\"appConf2\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .sku(\"standard\")\n            .localAuthEnabled(true)\n            .publicNetworkAccess(\"Enabled\")\n            .purgeProtectionEnabled(false)\n            .softDeleteRetentionDays(1)\n            .identity(ConfigurationStoreIdentityArgs.builder()\n                .type(\"UserAssigned\")\n                .identityIds(exampleUserAssignedIdentity.id())\n                .build())\n            .encryption(ConfigurationStoreEncryptionArgs.builder()\n                .keyVaultKeyIdentifier(exampleKey.id())\n                .identityClientId(exampleUserAssignedIdentity.clientId())\n                .build())\n            .replicas(ConfigurationStoreReplicaArgs.builder()\n                .name(\"replica1\")\n                .location(\"West US\")\n                .build())\n            .tags(Map.of(\"environment\", \"development\"))\n            .build(), CustomResourceOptions.builder()\n                .dependsOn(                \n                    client,\n                    server)\n                .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleUserAssignedIdentity:\n    type: azure:authorization:UserAssignedIdentity\n    name: example\n    properties:\n      name: example-identity\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n  exampleKeyVault:\n    type: azure:keyvault:KeyVault\n    name: example\n    properties:\n      name: exampleKVt123\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      tenantId: ${current.tenantId}\n      skuName: standard\n      softDeleteRetentionDays: 7\n      purgeProtectionEnabled: true\n  server:\n    type: azure:keyvault:AccessPolicy\n    properties:\n      keyVaultId: ${exampleKeyVault.id}\n      tenantId: ${current.tenantId}\n      objectId: ${exampleUserAssignedIdentity.principalId}\n      keyPermissions:\n        - Get\n        - UnwrapKey\n        - WrapKey\n      secretPermissions:\n        - Get\n  client:\n    type: azure:keyvault:AccessPolicy\n    properties:\n      keyVaultId: ${exampleKeyVault.id}\n      tenantId: ${current.tenantId}\n      objectId: ${current.objectId}\n      keyPermissions:\n        - Get\n        - Create\n        - Delete\n        - List\n        - Restore\n        - Recover\n        - UnwrapKey\n        - WrapKey\n        - Purge\n        - Encrypt\n        - Decrypt\n        - Sign\n        - Verify\n        - GetRotationPolicy\n      secretPermissions:\n        - Get\n  exampleKey:\n    type: azure:keyvault:Key\n    name: example\n    properties:\n      name: exampleKVkey\n      keyVaultId: ${exampleKeyVault.id}\n      keyType: RSA\n      keySize: 2048\n      keyOpts:\n        - decrypt\n        - encrypt\n        - sign\n        - unwrapKey\n        - verify\n        - wrapKey\n    options:\n      dependsOn:\n        - ${client}\n        - ${server}\n  exampleConfigurationStore:\n    type: azure:appconfiguration:ConfigurationStore\n    name: example\n    properties:\n      name: appConf2\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      sku: standard\n      localAuthEnabled: true\n      publicNetworkAccess: Enabled\n      purgeProtectionEnabled: false\n      softDeleteRetentionDays: 1\n      identity:\n        type: UserAssigned\n        identityIds:\n          - ${exampleUserAssignedIdentity.id}\n      encryption:\n        keyVaultKeyIdentifier: ${exampleKey.id}\n        identityClientId: ${exampleUserAssignedIdentity.clientId}\n      replicas:\n        - name: replica1\n          location: West US\n      tags:\n        environment: development\n    options:\n      dependsOn:\n        - ${client}\n        - ${server}\nvariables:\n  current:\n    fn::invoke:\n      function: azure:core:getClientConfig\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.AppConfiguration` - 2024-05-01\n\n## Import\n\nApp Configurations can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:appconfiguration/configurationStore:ConfigurationStore appconf /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup1/providers/Microsoft.AppConfiguration/configurationStores/appConf1\n```\n\n","properties":{"dataPlaneProxyAuthenticationMode":{"type":"string","description":"The data plane proxy authentication mode. Possible values are `Local` and `Pass-through`. Defaults to `Local`.\n"},"dataPlaneProxyPrivateLinkDelegationEnabled":{"type":"boolean","description":"Whether data plane proxy private link delegation is enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`dataPlaneProxyPrivateLinkDelegationEnabled`\" pulumi-lang-dotnet=\"`DataPlaneProxyPrivateLinkDelegationEnabled`\" pulumi-lang-go=\"`dataPlaneProxyPrivateLinkDelegationEnabled`\" pulumi-lang-python=\"`data_plane_proxy_private_link_delegation_enabled`\" pulumi-lang-yaml=\"`dataPlaneProxyPrivateLinkDelegationEnabled`\" pulumi-lang-java=\"`dataPlaneProxyPrivateLinkDelegationEnabled`\"\u003e`data_plane_proxy_private_link_delegation_enabled`\u003c/span\u003e cannot be set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e when \u003cspan pulumi-lang-nodejs=\"`dataPlaneProxyAuthenticationMode`\" pulumi-lang-dotnet=\"`DataPlaneProxyAuthenticationMode`\" pulumi-lang-go=\"`dataPlaneProxyAuthenticationMode`\" pulumi-lang-python=\"`data_plane_proxy_authentication_mode`\" pulumi-lang-yaml=\"`dataPlaneProxyAuthenticationMode`\" pulumi-lang-java=\"`dataPlaneProxyAuthenticationMode`\"\u003e`data_plane_proxy_authentication_mode`\u003c/span\u003e is set to `Local`.\n"},"encryption":{"$ref":"#/types/azure:appconfiguration/ConfigurationStoreEncryption:ConfigurationStoreEncryption","description":"An \u003cspan pulumi-lang-nodejs=\"`encryption`\" pulumi-lang-dotnet=\"`Encryption`\" pulumi-lang-go=\"`encryption`\" pulumi-lang-python=\"`encryption`\" pulumi-lang-yaml=\"`encryption`\" pulumi-lang-java=\"`encryption`\"\u003e`encryption`\u003c/span\u003e block as defined below.\n"},"endpoint":{"type":"string","description":"The URL of the App Configuration Replica.\n"},"identity":{"$ref":"#/types/azure:appconfiguration/ConfigurationStoreIdentity:ConfigurationStoreIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"localAuthEnabled":{"type":"boolean","description":"Whether local authentication methods is enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"Specifies the name of the App Configuration. Changing this forces a new resource to be created.\n"},"primaryReadKeys":{"type":"array","items":{"$ref":"#/types/azure:appconfiguration/ConfigurationStorePrimaryReadKey:ConfigurationStorePrimaryReadKey"},"description":"A \u003cspan pulumi-lang-nodejs=\"`primaryReadKey`\" pulumi-lang-dotnet=\"`PrimaryReadKey`\" pulumi-lang-go=\"`primaryReadKey`\" pulumi-lang-python=\"`primary_read_key`\" pulumi-lang-yaml=\"`primaryReadKey`\" pulumi-lang-java=\"`primaryReadKey`\"\u003e`primary_read_key`\u003c/span\u003e block as defined below containing the primary read access key.\n"},"primaryWriteKeys":{"type":"array","items":{"$ref":"#/types/azure:appconfiguration/ConfigurationStorePrimaryWriteKey:ConfigurationStorePrimaryWriteKey"},"description":"A \u003cspan pulumi-lang-nodejs=\"`primaryWriteKey`\" pulumi-lang-dotnet=\"`PrimaryWriteKey`\" pulumi-lang-go=\"`primaryWriteKey`\" pulumi-lang-python=\"`primary_write_key`\" pulumi-lang-yaml=\"`primaryWriteKey`\" pulumi-lang-java=\"`primaryWriteKey`\"\u003e`primary_write_key`\u003c/span\u003e block as defined below containing the primary write access key.\n"},"publicNetworkAccess":{"type":"string","description":"The Public Network Access setting of the App Configuration. Possible values are `Enabled` and `Disabled`.\n\n\u003e **Note:** If \u003cspan pulumi-lang-nodejs=\"`publicNetworkAccess`\" pulumi-lang-dotnet=\"`PublicNetworkAccess`\" pulumi-lang-go=\"`publicNetworkAccess`\" pulumi-lang-python=\"`public_network_access`\" pulumi-lang-yaml=\"`publicNetworkAccess`\" pulumi-lang-java=\"`publicNetworkAccess`\"\u003e`public_network_access`\u003c/span\u003e is not specified, the App Configuration will be created as  `Automatic`. However, once a different value is defined, can not be set again as automatic.\n"},"purgeProtectionEnabled":{"type":"boolean","description":"Whether Purge Protection is enabled. This field only works for \u003cspan pulumi-lang-nodejs=\"`standard`\" pulumi-lang-dotnet=\"`Standard`\" pulumi-lang-go=\"`standard`\" pulumi-lang-python=\"`standard`\" pulumi-lang-yaml=\"`standard`\" pulumi-lang-java=\"`standard`\"\u003e`standard`\u003c/span\u003e sku. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n!\u003e **Note:** Once Purge Protection has been enabled it's not possible to disable it. Deleting the App Configuration with Purge Protection enabled will schedule the App Configuration to be deleted (which will happen by Azure in the configured number of days).\n"},"replicas":{"type":"array","items":{"$ref":"#/types/azure:appconfiguration/ConfigurationStoreReplica:ConfigurationStoreReplica"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`replica`\" pulumi-lang-dotnet=\"`Replica`\" pulumi-lang-go=\"`replica`\" pulumi-lang-python=\"`replica`\" pulumi-lang-yaml=\"`replica`\" pulumi-lang-java=\"`replica`\"\u003e`replica`\u003c/span\u003e blocks as defined below.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the App Configuration. Changing this forces a new resource to be created.\n"},"secondaryReadKeys":{"type":"array","items":{"$ref":"#/types/azure:appconfiguration/ConfigurationStoreSecondaryReadKey:ConfigurationStoreSecondaryReadKey"},"description":"A \u003cspan pulumi-lang-nodejs=\"`secondaryReadKey`\" pulumi-lang-dotnet=\"`SecondaryReadKey`\" pulumi-lang-go=\"`secondaryReadKey`\" pulumi-lang-python=\"`secondary_read_key`\" pulumi-lang-yaml=\"`secondaryReadKey`\" pulumi-lang-java=\"`secondaryReadKey`\"\u003e`secondary_read_key`\u003c/span\u003e block as defined below containing the secondary read access key.\n"},"secondaryWriteKeys":{"type":"array","items":{"$ref":"#/types/azure:appconfiguration/ConfigurationStoreSecondaryWriteKey:ConfigurationStoreSecondaryWriteKey"},"description":"A \u003cspan pulumi-lang-nodejs=\"`secondaryWriteKey`\" pulumi-lang-dotnet=\"`SecondaryWriteKey`\" pulumi-lang-go=\"`secondaryWriteKey`\" pulumi-lang-python=\"`secondary_write_key`\" pulumi-lang-yaml=\"`secondaryWriteKey`\" pulumi-lang-java=\"`secondaryWriteKey`\"\u003e`secondary_write_key`\u003c/span\u003e block as defined below containing the secondary write access key.\n"},"sku":{"type":"string","description":"The SKU name of the App Configuration. Possible values are \u003cspan pulumi-lang-nodejs=\"`free`\" pulumi-lang-dotnet=\"`Free`\" pulumi-lang-go=\"`free`\" pulumi-lang-python=\"`free`\" pulumi-lang-yaml=\"`free`\" pulumi-lang-java=\"`free`\"\u003e`free`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`developer`\" pulumi-lang-dotnet=\"`Developer`\" pulumi-lang-go=\"`developer`\" pulumi-lang-python=\"`developer`\" pulumi-lang-yaml=\"`developer`\" pulumi-lang-java=\"`developer`\"\u003e`developer`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`standard`\" pulumi-lang-dotnet=\"`Standard`\" pulumi-lang-go=\"`standard`\" pulumi-lang-python=\"`standard`\" pulumi-lang-yaml=\"`standard`\" pulumi-lang-java=\"`standard`\"\u003e`standard`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`premium`\" pulumi-lang-dotnet=\"`Premium`\" pulumi-lang-go=\"`premium`\" pulumi-lang-python=\"`premium`\" pulumi-lang-yaml=\"`premium`\" pulumi-lang-java=\"`premium`\"\u003e`premium`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`free`\" pulumi-lang-dotnet=\"`Free`\" pulumi-lang-go=\"`free`\" pulumi-lang-python=\"`free`\" pulumi-lang-yaml=\"`free`\" pulumi-lang-java=\"`free`\"\u003e`free`\u003c/span\u003e.\n\n\u003e **Note:** Azure does not support downgrading \u003cspan pulumi-lang-nodejs=\"`sku`\" pulumi-lang-dotnet=\"`Sku`\" pulumi-lang-go=\"`sku`\" pulumi-lang-python=\"`sku`\" pulumi-lang-yaml=\"`sku`\" pulumi-lang-java=\"`sku`\"\u003e`sku`\u003c/span\u003e to a lower tier, except from \u003cspan pulumi-lang-nodejs=\"`premium`\" pulumi-lang-dotnet=\"`Premium`\" pulumi-lang-go=\"`premium`\" pulumi-lang-python=\"`premium`\" pulumi-lang-yaml=\"`premium`\" pulumi-lang-java=\"`premium`\"\u003e`premium`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`standard`\" pulumi-lang-dotnet=\"`Standard`\" pulumi-lang-go=\"`standard`\" pulumi-lang-python=\"`standard`\" pulumi-lang-yaml=\"`standard`\" pulumi-lang-java=\"`standard`\"\u003e`standard`\u003c/span\u003e. Downgrading will force a new resource to be created.\n"},"softDeleteRetentionDays":{"type":"integer","description":"The number of days that items should be retained for once soft-deleted. This field only works for \u003cspan pulumi-lang-nodejs=\"`standard`\" pulumi-lang-dotnet=\"`Standard`\" pulumi-lang-go=\"`standard`\" pulumi-lang-python=\"`standard`\" pulumi-lang-yaml=\"`standard`\" pulumi-lang-java=\"`standard`\"\u003e`standard`\u003c/span\u003e sku. This value can be between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`7`\" pulumi-lang-dotnet=\"`7`\" pulumi-lang-go=\"`7`\" pulumi-lang-python=\"`7`\" pulumi-lang-yaml=\"`7`\" pulumi-lang-java=\"`7`\"\u003e`7`\u003c/span\u003e days. Defaults to \u003cspan pulumi-lang-nodejs=\"`7`\" pulumi-lang-dotnet=\"`7`\" pulumi-lang-go=\"`7`\" pulumi-lang-python=\"`7`\" pulumi-lang-yaml=\"`7`\" pulumi-lang-java=\"`7`\"\u003e`7`\u003c/span\u003e. Changing this forces a new resource to be created.\n\n\u003e **Note:** If Purge Protection is enabled, this field can only be configured one time and cannot be updated.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"required":["endpoint","location","name","primaryReadKeys","primaryWriteKeys","resourceGroupName","secondaryReadKeys","secondaryWriteKeys"],"inputProperties":{"dataPlaneProxyAuthenticationMode":{"type":"string","description":"The data plane proxy authentication mode. Possible values are `Local` and `Pass-through`. Defaults to `Local`.\n"},"dataPlaneProxyPrivateLinkDelegationEnabled":{"type":"boolean","description":"Whether data plane proxy private link delegation is enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`dataPlaneProxyPrivateLinkDelegationEnabled`\" pulumi-lang-dotnet=\"`DataPlaneProxyPrivateLinkDelegationEnabled`\" pulumi-lang-go=\"`dataPlaneProxyPrivateLinkDelegationEnabled`\" pulumi-lang-python=\"`data_plane_proxy_private_link_delegation_enabled`\" pulumi-lang-yaml=\"`dataPlaneProxyPrivateLinkDelegationEnabled`\" pulumi-lang-java=\"`dataPlaneProxyPrivateLinkDelegationEnabled`\"\u003e`data_plane_proxy_private_link_delegation_enabled`\u003c/span\u003e cannot be set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e when \u003cspan pulumi-lang-nodejs=\"`dataPlaneProxyAuthenticationMode`\" pulumi-lang-dotnet=\"`DataPlaneProxyAuthenticationMode`\" pulumi-lang-go=\"`dataPlaneProxyAuthenticationMode`\" pulumi-lang-python=\"`data_plane_proxy_authentication_mode`\" pulumi-lang-yaml=\"`dataPlaneProxyAuthenticationMode`\" pulumi-lang-java=\"`dataPlaneProxyAuthenticationMode`\"\u003e`data_plane_proxy_authentication_mode`\u003c/span\u003e is set to `Local`.\n"},"encryption":{"$ref":"#/types/azure:appconfiguration/ConfigurationStoreEncryption:ConfigurationStoreEncryption","description":"An \u003cspan pulumi-lang-nodejs=\"`encryption`\" pulumi-lang-dotnet=\"`Encryption`\" pulumi-lang-go=\"`encryption`\" pulumi-lang-python=\"`encryption`\" pulumi-lang-yaml=\"`encryption`\" pulumi-lang-java=\"`encryption`\"\u003e`encryption`\u003c/span\u003e block as defined below.\n"},"identity":{"$ref":"#/types/azure:appconfiguration/ConfigurationStoreIdentity:ConfigurationStoreIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"localAuthEnabled":{"type":"boolean","description":"Whether local authentication methods is enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the App Configuration. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"publicNetworkAccess":{"type":"string","description":"The Public Network Access setting of the App Configuration. Possible values are `Enabled` and `Disabled`.\n\n\u003e **Note:** If \u003cspan pulumi-lang-nodejs=\"`publicNetworkAccess`\" pulumi-lang-dotnet=\"`PublicNetworkAccess`\" pulumi-lang-go=\"`publicNetworkAccess`\" pulumi-lang-python=\"`public_network_access`\" pulumi-lang-yaml=\"`publicNetworkAccess`\" pulumi-lang-java=\"`publicNetworkAccess`\"\u003e`public_network_access`\u003c/span\u003e is not specified, the App Configuration will be created as  `Automatic`. However, once a different value is defined, can not be set again as automatic.\n"},"purgeProtectionEnabled":{"type":"boolean","description":"Whether Purge Protection is enabled. This field only works for \u003cspan pulumi-lang-nodejs=\"`standard`\" pulumi-lang-dotnet=\"`Standard`\" pulumi-lang-go=\"`standard`\" pulumi-lang-python=\"`standard`\" pulumi-lang-yaml=\"`standard`\" pulumi-lang-java=\"`standard`\"\u003e`standard`\u003c/span\u003e sku. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n!\u003e **Note:** Once Purge Protection has been enabled it's not possible to disable it. Deleting the App Configuration with Purge Protection enabled will schedule the App Configuration to be deleted (which will happen by Azure in the configured number of days).\n"},"replicas":{"type":"array","items":{"$ref":"#/types/azure:appconfiguration/ConfigurationStoreReplica:ConfigurationStoreReplica"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`replica`\" pulumi-lang-dotnet=\"`Replica`\" pulumi-lang-go=\"`replica`\" pulumi-lang-python=\"`replica`\" pulumi-lang-yaml=\"`replica`\" pulumi-lang-java=\"`replica`\"\u003e`replica`\u003c/span\u003e blocks as defined below.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the App Configuration. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sku":{"type":"string","description":"The SKU name of the App Configuration. Possible values are \u003cspan pulumi-lang-nodejs=\"`free`\" pulumi-lang-dotnet=\"`Free`\" pulumi-lang-go=\"`free`\" pulumi-lang-python=\"`free`\" pulumi-lang-yaml=\"`free`\" pulumi-lang-java=\"`free`\"\u003e`free`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`developer`\" pulumi-lang-dotnet=\"`Developer`\" pulumi-lang-go=\"`developer`\" pulumi-lang-python=\"`developer`\" pulumi-lang-yaml=\"`developer`\" pulumi-lang-java=\"`developer`\"\u003e`developer`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`standard`\" pulumi-lang-dotnet=\"`Standard`\" pulumi-lang-go=\"`standard`\" pulumi-lang-python=\"`standard`\" pulumi-lang-yaml=\"`standard`\" pulumi-lang-java=\"`standard`\"\u003e`standard`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`premium`\" pulumi-lang-dotnet=\"`Premium`\" pulumi-lang-go=\"`premium`\" pulumi-lang-python=\"`premium`\" pulumi-lang-yaml=\"`premium`\" pulumi-lang-java=\"`premium`\"\u003e`premium`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`free`\" pulumi-lang-dotnet=\"`Free`\" pulumi-lang-go=\"`free`\" pulumi-lang-python=\"`free`\" pulumi-lang-yaml=\"`free`\" pulumi-lang-java=\"`free`\"\u003e`free`\u003c/span\u003e.\n\n\u003e **Note:** Azure does not support downgrading \u003cspan pulumi-lang-nodejs=\"`sku`\" pulumi-lang-dotnet=\"`Sku`\" pulumi-lang-go=\"`sku`\" pulumi-lang-python=\"`sku`\" pulumi-lang-yaml=\"`sku`\" pulumi-lang-java=\"`sku`\"\u003e`sku`\u003c/span\u003e to a lower tier, except from \u003cspan pulumi-lang-nodejs=\"`premium`\" pulumi-lang-dotnet=\"`Premium`\" pulumi-lang-go=\"`premium`\" pulumi-lang-python=\"`premium`\" pulumi-lang-yaml=\"`premium`\" pulumi-lang-java=\"`premium`\"\u003e`premium`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`standard`\" pulumi-lang-dotnet=\"`Standard`\" pulumi-lang-go=\"`standard`\" pulumi-lang-python=\"`standard`\" pulumi-lang-yaml=\"`standard`\" pulumi-lang-java=\"`standard`\"\u003e`standard`\u003c/span\u003e. Downgrading will force a new resource to be created.\n"},"softDeleteRetentionDays":{"type":"integer","description":"The number of days that items should be retained for once soft-deleted. This field only works for \u003cspan pulumi-lang-nodejs=\"`standard`\" pulumi-lang-dotnet=\"`Standard`\" pulumi-lang-go=\"`standard`\" pulumi-lang-python=\"`standard`\" pulumi-lang-yaml=\"`standard`\" pulumi-lang-java=\"`standard`\"\u003e`standard`\u003c/span\u003e sku. This value can be between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`7`\" pulumi-lang-dotnet=\"`7`\" pulumi-lang-go=\"`7`\" pulumi-lang-python=\"`7`\" pulumi-lang-yaml=\"`7`\" pulumi-lang-java=\"`7`\"\u003e`7`\u003c/span\u003e days. Defaults to \u003cspan pulumi-lang-nodejs=\"`7`\" pulumi-lang-dotnet=\"`7`\" pulumi-lang-go=\"`7`\" pulumi-lang-python=\"`7`\" pulumi-lang-yaml=\"`7`\" pulumi-lang-java=\"`7`\"\u003e`7`\u003c/span\u003e. Changing this forces a new resource to be created.\n\n\u003e **Note:** If Purge Protection is enabled, this field can only be configured one time and cannot be updated.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"requiredInputs":["resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering ConfigurationStore resources.\n","properties":{"dataPlaneProxyAuthenticationMode":{"type":"string","description":"The data plane proxy authentication mode. Possible values are `Local` and `Pass-through`. Defaults to `Local`.\n"},"dataPlaneProxyPrivateLinkDelegationEnabled":{"type":"boolean","description":"Whether data plane proxy private link delegation is enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`dataPlaneProxyPrivateLinkDelegationEnabled`\" pulumi-lang-dotnet=\"`DataPlaneProxyPrivateLinkDelegationEnabled`\" pulumi-lang-go=\"`dataPlaneProxyPrivateLinkDelegationEnabled`\" pulumi-lang-python=\"`data_plane_proxy_private_link_delegation_enabled`\" pulumi-lang-yaml=\"`dataPlaneProxyPrivateLinkDelegationEnabled`\" pulumi-lang-java=\"`dataPlaneProxyPrivateLinkDelegationEnabled`\"\u003e`data_plane_proxy_private_link_delegation_enabled`\u003c/span\u003e cannot be set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e when \u003cspan pulumi-lang-nodejs=\"`dataPlaneProxyAuthenticationMode`\" pulumi-lang-dotnet=\"`DataPlaneProxyAuthenticationMode`\" pulumi-lang-go=\"`dataPlaneProxyAuthenticationMode`\" pulumi-lang-python=\"`data_plane_proxy_authentication_mode`\" pulumi-lang-yaml=\"`dataPlaneProxyAuthenticationMode`\" pulumi-lang-java=\"`dataPlaneProxyAuthenticationMode`\"\u003e`data_plane_proxy_authentication_mode`\u003c/span\u003e is set to `Local`.\n"},"encryption":{"$ref":"#/types/azure:appconfiguration/ConfigurationStoreEncryption:ConfigurationStoreEncryption","description":"An \u003cspan pulumi-lang-nodejs=\"`encryption`\" pulumi-lang-dotnet=\"`Encryption`\" pulumi-lang-go=\"`encryption`\" pulumi-lang-python=\"`encryption`\" pulumi-lang-yaml=\"`encryption`\" pulumi-lang-java=\"`encryption`\"\u003e`encryption`\u003c/span\u003e block as defined below.\n"},"endpoint":{"type":"string","description":"The URL of the App Configuration Replica.\n"},"identity":{"$ref":"#/types/azure:appconfiguration/ConfigurationStoreIdentity:ConfigurationStoreIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"localAuthEnabled":{"type":"boolean","description":"Whether local authentication methods is enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the App Configuration. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"primaryReadKeys":{"type":"array","items":{"$ref":"#/types/azure:appconfiguration/ConfigurationStorePrimaryReadKey:ConfigurationStorePrimaryReadKey"},"description":"A \u003cspan pulumi-lang-nodejs=\"`primaryReadKey`\" pulumi-lang-dotnet=\"`PrimaryReadKey`\" pulumi-lang-go=\"`primaryReadKey`\" pulumi-lang-python=\"`primary_read_key`\" pulumi-lang-yaml=\"`primaryReadKey`\" pulumi-lang-java=\"`primaryReadKey`\"\u003e`primary_read_key`\u003c/span\u003e block as defined below containing the primary read access key.\n"},"primaryWriteKeys":{"type":"array","items":{"$ref":"#/types/azure:appconfiguration/ConfigurationStorePrimaryWriteKey:ConfigurationStorePrimaryWriteKey"},"description":"A \u003cspan pulumi-lang-nodejs=\"`primaryWriteKey`\" pulumi-lang-dotnet=\"`PrimaryWriteKey`\" pulumi-lang-go=\"`primaryWriteKey`\" pulumi-lang-python=\"`primary_write_key`\" pulumi-lang-yaml=\"`primaryWriteKey`\" pulumi-lang-java=\"`primaryWriteKey`\"\u003e`primary_write_key`\u003c/span\u003e block as defined below containing the primary write access key.\n"},"publicNetworkAccess":{"type":"string","description":"The Public Network Access setting of the App Configuration. Possible values are `Enabled` and `Disabled`.\n\n\u003e **Note:** If \u003cspan pulumi-lang-nodejs=\"`publicNetworkAccess`\" pulumi-lang-dotnet=\"`PublicNetworkAccess`\" pulumi-lang-go=\"`publicNetworkAccess`\" pulumi-lang-python=\"`public_network_access`\" pulumi-lang-yaml=\"`publicNetworkAccess`\" pulumi-lang-java=\"`publicNetworkAccess`\"\u003e`public_network_access`\u003c/span\u003e is not specified, the App Configuration will be created as  `Automatic`. However, once a different value is defined, can not be set again as automatic.\n"},"purgeProtectionEnabled":{"type":"boolean","description":"Whether Purge Protection is enabled. This field only works for \u003cspan pulumi-lang-nodejs=\"`standard`\" pulumi-lang-dotnet=\"`Standard`\" pulumi-lang-go=\"`standard`\" pulumi-lang-python=\"`standard`\" pulumi-lang-yaml=\"`standard`\" pulumi-lang-java=\"`standard`\"\u003e`standard`\u003c/span\u003e sku. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n!\u003e **Note:** Once Purge Protection has been enabled it's not possible to disable it. Deleting the App Configuration with Purge Protection enabled will schedule the App Configuration to be deleted (which will happen by Azure in the configured number of days).\n"},"replicas":{"type":"array","items":{"$ref":"#/types/azure:appconfiguration/ConfigurationStoreReplica:ConfigurationStoreReplica"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`replica`\" pulumi-lang-dotnet=\"`Replica`\" pulumi-lang-go=\"`replica`\" pulumi-lang-python=\"`replica`\" pulumi-lang-yaml=\"`replica`\" pulumi-lang-java=\"`replica`\"\u003e`replica`\u003c/span\u003e blocks as defined below.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the App Configuration. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"secondaryReadKeys":{"type":"array","items":{"$ref":"#/types/azure:appconfiguration/ConfigurationStoreSecondaryReadKey:ConfigurationStoreSecondaryReadKey"},"description":"A \u003cspan pulumi-lang-nodejs=\"`secondaryReadKey`\" pulumi-lang-dotnet=\"`SecondaryReadKey`\" pulumi-lang-go=\"`secondaryReadKey`\" pulumi-lang-python=\"`secondary_read_key`\" pulumi-lang-yaml=\"`secondaryReadKey`\" pulumi-lang-java=\"`secondaryReadKey`\"\u003e`secondary_read_key`\u003c/span\u003e block as defined below containing the secondary read access key.\n"},"secondaryWriteKeys":{"type":"array","items":{"$ref":"#/types/azure:appconfiguration/ConfigurationStoreSecondaryWriteKey:ConfigurationStoreSecondaryWriteKey"},"description":"A \u003cspan pulumi-lang-nodejs=\"`secondaryWriteKey`\" pulumi-lang-dotnet=\"`SecondaryWriteKey`\" pulumi-lang-go=\"`secondaryWriteKey`\" pulumi-lang-python=\"`secondary_write_key`\" pulumi-lang-yaml=\"`secondaryWriteKey`\" pulumi-lang-java=\"`secondaryWriteKey`\"\u003e`secondary_write_key`\u003c/span\u003e block as defined below containing the secondary write access key.\n"},"sku":{"type":"string","description":"The SKU name of the App Configuration. Possible values are \u003cspan pulumi-lang-nodejs=\"`free`\" pulumi-lang-dotnet=\"`Free`\" pulumi-lang-go=\"`free`\" pulumi-lang-python=\"`free`\" pulumi-lang-yaml=\"`free`\" pulumi-lang-java=\"`free`\"\u003e`free`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`developer`\" pulumi-lang-dotnet=\"`Developer`\" pulumi-lang-go=\"`developer`\" pulumi-lang-python=\"`developer`\" pulumi-lang-yaml=\"`developer`\" pulumi-lang-java=\"`developer`\"\u003e`developer`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`standard`\" pulumi-lang-dotnet=\"`Standard`\" pulumi-lang-go=\"`standard`\" pulumi-lang-python=\"`standard`\" pulumi-lang-yaml=\"`standard`\" pulumi-lang-java=\"`standard`\"\u003e`standard`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`premium`\" pulumi-lang-dotnet=\"`Premium`\" pulumi-lang-go=\"`premium`\" pulumi-lang-python=\"`premium`\" pulumi-lang-yaml=\"`premium`\" pulumi-lang-java=\"`premium`\"\u003e`premium`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`free`\" pulumi-lang-dotnet=\"`Free`\" pulumi-lang-go=\"`free`\" pulumi-lang-python=\"`free`\" pulumi-lang-yaml=\"`free`\" pulumi-lang-java=\"`free`\"\u003e`free`\u003c/span\u003e.\n\n\u003e **Note:** Azure does not support downgrading \u003cspan pulumi-lang-nodejs=\"`sku`\" pulumi-lang-dotnet=\"`Sku`\" pulumi-lang-go=\"`sku`\" pulumi-lang-python=\"`sku`\" pulumi-lang-yaml=\"`sku`\" pulumi-lang-java=\"`sku`\"\u003e`sku`\u003c/span\u003e to a lower tier, except from \u003cspan pulumi-lang-nodejs=\"`premium`\" pulumi-lang-dotnet=\"`Premium`\" pulumi-lang-go=\"`premium`\" pulumi-lang-python=\"`premium`\" pulumi-lang-yaml=\"`premium`\" pulumi-lang-java=\"`premium`\"\u003e`premium`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`standard`\" pulumi-lang-dotnet=\"`Standard`\" pulumi-lang-go=\"`standard`\" pulumi-lang-python=\"`standard`\" pulumi-lang-yaml=\"`standard`\" pulumi-lang-java=\"`standard`\"\u003e`standard`\u003c/span\u003e. Downgrading will force a new resource to be created.\n"},"softDeleteRetentionDays":{"type":"integer","description":"The number of days that items should be retained for once soft-deleted. This field only works for \u003cspan pulumi-lang-nodejs=\"`standard`\" pulumi-lang-dotnet=\"`Standard`\" pulumi-lang-go=\"`standard`\" pulumi-lang-python=\"`standard`\" pulumi-lang-yaml=\"`standard`\" pulumi-lang-java=\"`standard`\"\u003e`standard`\u003c/span\u003e sku. This value can be between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`7`\" pulumi-lang-dotnet=\"`7`\" pulumi-lang-go=\"`7`\" pulumi-lang-python=\"`7`\" pulumi-lang-yaml=\"`7`\" pulumi-lang-java=\"`7`\"\u003e`7`\u003c/span\u003e days. Defaults to \u003cspan pulumi-lang-nodejs=\"`7`\" pulumi-lang-dotnet=\"`7`\" pulumi-lang-go=\"`7`\" pulumi-lang-python=\"`7`\" pulumi-lang-yaml=\"`7`\" pulumi-lang-java=\"`7`\"\u003e`7`\u003c/span\u003e. Changing this forces a new resource to be created.\n\n\u003e **Note:** If Purge Protection is enabled, this field can only be configured one time and cannot be updated.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"type":"object"}},"azure:appconfiguration/licationLoadBalancer:LicationLoadBalancer":{"description":"Manages an Application Gateway for Containers (ALB).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleLicationLoadBalancer = new azure.appconfiguration.LicationLoadBalancer(\"example\", {\n    name: \"example\",\n    resourceGroupName: example.name,\n    location: example.location,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_lication_load_balancer = azure.appconfiguration.LicationLoadBalancer(\"example\",\n    name=\"example\",\n    resource_group_name=example.name,\n    location=example.location)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleLicationLoadBalancer = new Azure.AppConfiguration.LicationLoadBalancer(\"example\", new()\n    {\n        Name = \"example\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/appconfiguration\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = appconfiguration.NewLicationLoadBalancer(ctx, \"example\", \u0026appconfiguration.LicationLoadBalancerArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.appconfiguration.LicationLoadBalancer;\nimport com.pulumi.azure.appconfiguration.LicationLoadBalancerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleLicationLoadBalancer = new LicationLoadBalancer(\"exampleLicationLoadBalancer\", LicationLoadBalancerArgs.builder()\n            .name(\"example\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleLicationLoadBalancer:\n    type: azure:appconfiguration:LicationLoadBalancer\n    name: example\n    properties:\n      name: example\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.ServiceNetworking` - 2025-01-01\n\n## Import\n\nApplication Gateway for Containers (ALB) can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:appconfiguration/licationLoadBalancer:LicationLoadBalancer example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.ServiceNetworking/trafficControllers/alb1\n```\n\n","properties":{"location":{"type":"string","description":"The Azure Region where the Application Gateway for Containers (ALB) should exist. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"The name which should be used for this Application Gateway for Containers (ALB). Changing this forces a new resource to be created.\n"},"primaryConfigurationEndpoint":{"type":"string","description":"The primary configuration endpoints of the Application Gateway for Containers (ALB).\n"},"resourceGroupName":{"type":"string","description":"The name of Resource Group where the Application Gateway for Containers (ALB) should exist. Changing this forces a new resource to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Application Gateway for Containers (ALB).\n"}},"required":["location","name","primaryConfigurationEndpoint","resourceGroupName"],"inputProperties":{"location":{"type":"string","description":"The Azure Region where the Application Gateway for Containers (ALB) should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Application Gateway for Containers (ALB). Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of Resource Group where the Application Gateway for Containers (ALB) should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Application Gateway for Containers (ALB).\n"}},"requiredInputs":["resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering LicationLoadBalancer resources.\n","properties":{"location":{"type":"string","description":"The Azure Region where the Application Gateway for Containers (ALB) should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Application Gateway for Containers (ALB). Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"primaryConfigurationEndpoint":{"type":"string","description":"The primary configuration endpoints of the Application Gateway for Containers (ALB).\n"},"resourceGroupName":{"type":"string","description":"The name of Resource Group where the Application Gateway for Containers (ALB) should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Application Gateway for Containers (ALB).\n"}},"type":"object"}},"azure:appconfiguration/licationLoadBalancerFrontend:LicationLoadBalancerFrontend":{"description":"Manages an Application Gateway for Containers Frontend.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.appconfiguration.LicationLoadBalancer(\"example\", {\n    name: \"example\",\n    resourceGroupName: \"example\",\n    location: \"West Europe\",\n});\nconst exampleLicationLoadBalancerFrontend = new azure.appconfiguration.LicationLoadBalancerFrontend(\"example\", {\n    name: \"example\",\n    applicationLoadBalancerId: example.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.appconfiguration.LicationLoadBalancer(\"example\",\n    name=\"example\",\n    resource_group_name=\"example\",\n    location=\"West Europe\")\nexample_lication_load_balancer_frontend = azure.appconfiguration.LicationLoadBalancerFrontend(\"example\",\n    name=\"example\",\n    application_load_balancer_id=example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.AppConfiguration.LicationLoadBalancer(\"example\", new()\n    {\n        Name = \"example\",\n        ResourceGroupName = \"example\",\n        Location = \"West Europe\",\n    });\n\n    var exampleLicationLoadBalancerFrontend = new Azure.AppConfiguration.LicationLoadBalancerFrontend(\"example\", new()\n    {\n        Name = \"example\",\n        ApplicationLoadBalancerId = example.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/appconfiguration\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := appconfiguration.NewLicationLoadBalancer(ctx, \"example\", \u0026appconfiguration.LicationLoadBalancerArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tResourceGroupName: pulumi.String(\"example\"),\n\t\t\tLocation:          pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = appconfiguration.NewLicationLoadBalancerFrontend(ctx, \"example\", \u0026appconfiguration.LicationLoadBalancerFrontendArgs{\n\t\t\tName:                      pulumi.String(\"example\"),\n\t\t\tApplicationLoadBalancerId: example.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.appconfiguration.LicationLoadBalancer;\nimport com.pulumi.azure.appconfiguration.LicationLoadBalancerArgs;\nimport com.pulumi.azure.appconfiguration.LicationLoadBalancerFrontend;\nimport com.pulumi.azure.appconfiguration.LicationLoadBalancerFrontendArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new LicationLoadBalancer(\"example\", LicationLoadBalancerArgs.builder()\n            .name(\"example\")\n            .resourceGroupName(\"example\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleLicationLoadBalancerFrontend = new LicationLoadBalancerFrontend(\"exampleLicationLoadBalancerFrontend\", LicationLoadBalancerFrontendArgs.builder()\n            .name(\"example\")\n            .applicationLoadBalancerId(example.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:appconfiguration:LicationLoadBalancer\n    properties:\n      name: example\n      resourceGroupName: example\n      location: West Europe\n  exampleLicationLoadBalancerFrontend:\n    type: azure:appconfiguration:LicationLoadBalancerFrontend\n    name: example\n    properties:\n      name: example\n      applicationLoadBalancerId: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.ServiceNetworking` - 2025-01-01\n\n## Import\n\nApplication Gateway for Containers Frontend can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:appconfiguration/licationLoadBalancerFrontend:LicationLoadBalancerFrontend example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.ServiceNetworking/trafficControllers/alb1/frontends/frontend1\n```\n\n","properties":{"applicationLoadBalancerId":{"type":"string","description":"The ID of the Application Gateway for Containers. Changing this forces a new resource to be created.\n"},"fullyQualifiedDomainName":{"type":"string","description":"The Fully Qualified Domain Name of the DNS record associated to an Application Gateway for Containers Frontend.\n"},"name":{"type":"string","description":"The name which should be used for this Application Gateway for Containers Frontend. Changing this forces a new resource to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Application Gateway for Containers Frontend.\n"}},"required":["applicationLoadBalancerId","fullyQualifiedDomainName","name"],"inputProperties":{"applicationLoadBalancerId":{"type":"string","description":"The ID of the Application Gateway for Containers. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Application Gateway for Containers Frontend. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Application Gateway for Containers Frontend.\n"}},"requiredInputs":["applicationLoadBalancerId"],"stateInputs":{"description":"Input properties used for looking up and filtering LicationLoadBalancerFrontend resources.\n","properties":{"applicationLoadBalancerId":{"type":"string","description":"The ID of the Application Gateway for Containers. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"fullyQualifiedDomainName":{"type":"string","description":"The Fully Qualified Domain Name of the DNS record associated to an Application Gateway for Containers Frontend.\n"},"name":{"type":"string","description":"The name which should be used for this Application Gateway for Containers Frontend. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Application Gateway for Containers Frontend.\n"}},"type":"object"}},"azure:appconfiguration/licationLoadBalancerSecurityPolicy:LicationLoadBalancerSecurityPolicy":{"description":"Manages an Application Load Balancer Security Policy.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-rg\",\n    location: \"West Europe\",\n});\nconst exampleLicationLoadBalancer = new azure.appconfiguration.LicationLoadBalancer(\"example\", {\n    name: \"example-alb\",\n    location: example.location,\n    resourceGroupName: example.name,\n});\nconst examplePolicy = new azure.waf.Policy(\"example\", {\n    name: \"example-wafpolicy\",\n    resourceGroupName: example.name,\n    location: example.location,\n    managedRules: {\n        managedRuleSets: [{\n            type: \"Microsoft_DefaultRuleSet\",\n            version: \"2.1\",\n        }],\n    },\n    policySettings: {\n        enabled: true,\n        mode: \"Detection\",\n    },\n});\nconst exampleLicationLoadBalancerSecurityPolicy = new azure.appconfiguration.LicationLoadBalancerSecurityPolicy(\"example\", {\n    name: \"example-albsp\",\n    applicationLoadBalancerId: exampleLicationLoadBalancer.id,\n    location: example.location,\n    webApplicationFirewallPolicyId: examplePolicy.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-rg\",\n    location=\"West Europe\")\nexample_lication_load_balancer = azure.appconfiguration.LicationLoadBalancer(\"example\",\n    name=\"example-alb\",\n    location=example.location,\n    resource_group_name=example.name)\nexample_policy = azure.waf.Policy(\"example\",\n    name=\"example-wafpolicy\",\n    resource_group_name=example.name,\n    location=example.location,\n    managed_rules={\n        \"managed_rule_sets\": [{\n            \"type\": \"Microsoft_DefaultRuleSet\",\n            \"version\": \"2.1\",\n        }],\n    },\n    policy_settings={\n        \"enabled\": True,\n        \"mode\": \"Detection\",\n    })\nexample_lication_load_balancer_security_policy = azure.appconfiguration.LicationLoadBalancerSecurityPolicy(\"example\",\n    name=\"example-albsp\",\n    application_load_balancer_id=example_lication_load_balancer.id,\n    location=example.location,\n    web_application_firewall_policy_id=example_policy.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-rg\",\n        Location = \"West Europe\",\n    });\n\n    var exampleLicationLoadBalancer = new Azure.AppConfiguration.LicationLoadBalancer(\"example\", new()\n    {\n        Name = \"example-alb\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n    });\n\n    var examplePolicy = new Azure.Waf.Policy(\"example\", new()\n    {\n        Name = \"example-wafpolicy\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        ManagedRules = new Azure.Waf.Inputs.PolicyManagedRulesArgs\n        {\n            ManagedRuleSets = new[]\n            {\n                new Azure.Waf.Inputs.PolicyManagedRulesManagedRuleSetArgs\n                {\n                    Type = \"Microsoft_DefaultRuleSet\",\n                    Version = \"2.1\",\n                },\n            },\n        },\n        PolicySettings = new Azure.Waf.Inputs.PolicyPolicySettingsArgs\n        {\n            Enabled = true,\n            Mode = \"Detection\",\n        },\n    });\n\n    var exampleLicationLoadBalancerSecurityPolicy = new Azure.AppConfiguration.LicationLoadBalancerSecurityPolicy(\"example\", new()\n    {\n        Name = \"example-albsp\",\n        ApplicationLoadBalancerId = exampleLicationLoadBalancer.Id,\n        Location = example.Location,\n        WebApplicationFirewallPolicyId = examplePolicy.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/appconfiguration\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/waf\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-rg\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleLicationLoadBalancer, err := appconfiguration.NewLicationLoadBalancer(ctx, \"example\", \u0026appconfiguration.LicationLoadBalancerArgs{\n\t\t\tName:              pulumi.String(\"example-alb\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texamplePolicy, err := waf.NewPolicy(ctx, \"example\", \u0026waf.PolicyArgs{\n\t\t\tName:              pulumi.String(\"example-wafpolicy\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tManagedRules: \u0026waf.PolicyManagedRulesArgs{\n\t\t\t\tManagedRuleSets: waf.PolicyManagedRulesManagedRuleSetArray{\n\t\t\t\t\t\u0026waf.PolicyManagedRulesManagedRuleSetArgs{\n\t\t\t\t\t\tType:    pulumi.String(\"Microsoft_DefaultRuleSet\"),\n\t\t\t\t\t\tVersion: pulumi.String(\"2.1\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tPolicySettings: \u0026waf.PolicyPolicySettingsArgs{\n\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\tMode:    pulumi.String(\"Detection\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = appconfiguration.NewLicationLoadBalancerSecurityPolicy(ctx, \"example\", \u0026appconfiguration.LicationLoadBalancerSecurityPolicyArgs{\n\t\t\tName:                           pulumi.String(\"example-albsp\"),\n\t\t\tApplicationLoadBalancerId:      exampleLicationLoadBalancer.ID(),\n\t\t\tLocation:                       example.Location,\n\t\t\tWebApplicationFirewallPolicyId: examplePolicy.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.appconfiguration.LicationLoadBalancer;\nimport com.pulumi.azure.appconfiguration.LicationLoadBalancerArgs;\nimport com.pulumi.azure.waf.Policy;\nimport com.pulumi.azure.waf.PolicyArgs;\nimport com.pulumi.azure.waf.inputs.PolicyManagedRulesArgs;\nimport com.pulumi.azure.waf.inputs.PolicyPolicySettingsArgs;\nimport com.pulumi.azure.appconfiguration.LicationLoadBalancerSecurityPolicy;\nimport com.pulumi.azure.appconfiguration.LicationLoadBalancerSecurityPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-rg\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleLicationLoadBalancer = new LicationLoadBalancer(\"exampleLicationLoadBalancer\", LicationLoadBalancerArgs.builder()\n            .name(\"example-alb\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .build());\n\n        var examplePolicy = new Policy(\"examplePolicy\", PolicyArgs.builder()\n            .name(\"example-wafpolicy\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .managedRules(PolicyManagedRulesArgs.builder()\n                .managedRuleSets(PolicyManagedRulesManagedRuleSetArgs.builder()\n                    .type(\"Microsoft_DefaultRuleSet\")\n                    .version(\"2.1\")\n                    .build())\n                .build())\n            .policySettings(PolicyPolicySettingsArgs.builder()\n                .enabled(true)\n                .mode(\"Detection\")\n                .build())\n            .build());\n\n        var exampleLicationLoadBalancerSecurityPolicy = new LicationLoadBalancerSecurityPolicy(\"exampleLicationLoadBalancerSecurityPolicy\", LicationLoadBalancerSecurityPolicyArgs.builder()\n            .name(\"example-albsp\")\n            .applicationLoadBalancerId(exampleLicationLoadBalancer.id())\n            .location(example.location())\n            .webApplicationFirewallPolicyId(examplePolicy.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-rg\n      location: West Europe\n  exampleLicationLoadBalancer:\n    type: azure:appconfiguration:LicationLoadBalancer\n    name: example\n    properties:\n      name: example-alb\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n  examplePolicy:\n    type: azure:waf:Policy\n    name: example\n    properties:\n      name: example-wafpolicy\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      managedRules:\n        managedRuleSets:\n          - type: Microsoft_DefaultRuleSet\n            version: '2.1'\n      policySettings:\n        enabled: true\n        mode: Detection\n  exampleLicationLoadBalancerSecurityPolicy:\n    type: azure:appconfiguration:LicationLoadBalancerSecurityPolicy\n    name: example\n    properties:\n      name: example-albsp\n      applicationLoadBalancerId: ${exampleLicationLoadBalancer.id}\n      location: ${example.location}\n      webApplicationFirewallPolicyId: ${examplePolicy.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.ServiceNetworking` - 2025-01-01\n\n## Import\n\nApplication Load Balancer Security Policy can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:appconfiguration/licationLoadBalancerSecurityPolicy:LicationLoadBalancerSecurityPolicy example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ServiceNetworking/trafficControllers/alb/securityPolicies/sp1\n```\n\n","properties":{"applicationLoadBalancerId":{"type":"string","description":"The ID of the Application Load Balancer. Changing this forces a new Application Gateway for Containers Security Policy to be created.\n"},"location":{"type":"string","description":"The Azure Region where the Application Load Balancer Security Policy should exist. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"The name which should be used for this Application Load Balancer Security Policy. Changing this forces a new Application Load Balancer Security Policy to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Application Load Balancer Security Policy.\n"},"webApplicationFirewallPolicyId":{"type":"string","description":"The ID of the Web Application Firewall Policy. Changing this forces a new Application Load Balancer Security Policy to be created.\n"}},"required":["applicationLoadBalancerId","location","name","webApplicationFirewallPolicyId"],"inputProperties":{"applicationLoadBalancerId":{"type":"string","description":"The ID of the Application Load Balancer. Changing this forces a new Application Gateway for Containers Security Policy to be created.\n","willReplaceOnChanges":true},"location":{"type":"string","description":"The Azure Region where the Application Load Balancer Security Policy should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Application Load Balancer Security Policy. Changing this forces a new Application Load Balancer Security Policy to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Application Load Balancer Security Policy.\n"},"webApplicationFirewallPolicyId":{"type":"string","description":"The ID of the Web Application Firewall Policy. Changing this forces a new Application Load Balancer Security Policy to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["applicationLoadBalancerId","webApplicationFirewallPolicyId"],"stateInputs":{"description":"Input properties used for looking up and filtering LicationLoadBalancerSecurityPolicy resources.\n","properties":{"applicationLoadBalancerId":{"type":"string","description":"The ID of the Application Load Balancer. Changing this forces a new Application Gateway for Containers Security Policy to be created.\n","willReplaceOnChanges":true},"location":{"type":"string","description":"The Azure Region where the Application Load Balancer Security Policy should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Application Load Balancer Security Policy. Changing this forces a new Application Load Balancer Security Policy to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Application Load Balancer Security Policy.\n"},"webApplicationFirewallPolicyId":{"type":"string","description":"The ID of the Web Application Firewall Policy. Changing this forces a new Application Load Balancer Security Policy to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:appconfiguration/licationLoadBalancerSubnetAssociation:LicationLoadBalancerSubnetAssociation":{"description":"Manages an association between an Application Gateway for Containers and a Subnet.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-rg\",\n    location: \"westeurope\",\n});\nconst exampleLicationLoadBalancer = new azure.appconfiguration.LicationLoadBalancer(\"example\", {\n    name: \"example-alb\",\n    location: example.location,\n    resourceGroupName: example.name,\n});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"example\", {\n    name: \"example-vnet\",\n    addressSpaces: [\"10.0.0.0/16\"],\n    location: example.location,\n    resourceGroupName: example.name,\n});\nconst exampleSubnet = new azure.network.Subnet(\"example\", {\n    name: \"example-subnet\",\n    resourceGroupName: example.name,\n    virtualNetworkName: exampleVirtualNetwork.name,\n    addressPrefixes: [\"10.0.1.0/24\"],\n    delegations: [{\n        name: \"delegation\",\n        serviceDelegation: {\n            name: \"Microsoft.ServiceNetworking/trafficControllers\",\n            actions: [\"Microsoft.Network/virtualNetworks/subnets/join/action\"],\n        },\n    }],\n});\nconst exampleLicationLoadBalancerSubnetAssociation = new azure.appconfiguration.LicationLoadBalancerSubnetAssociation(\"example\", {\n    name: \"example\",\n    applicationLoadBalancerId: exampleLicationLoadBalancer.id,\n    subnetId: exampleSubnet.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-rg\",\n    location=\"westeurope\")\nexample_lication_load_balancer = azure.appconfiguration.LicationLoadBalancer(\"example\",\n    name=\"example-alb\",\n    location=example.location,\n    resource_group_name=example.name)\nexample_virtual_network = azure.network.VirtualNetwork(\"example\",\n    name=\"example-vnet\",\n    address_spaces=[\"10.0.0.0/16\"],\n    location=example.location,\n    resource_group_name=example.name)\nexample_subnet = azure.network.Subnet(\"example\",\n    name=\"example-subnet\",\n    resource_group_name=example.name,\n    virtual_network_name=example_virtual_network.name,\n    address_prefixes=[\"10.0.1.0/24\"],\n    delegations=[{\n        \"name\": \"delegation\",\n        \"service_delegation\": {\n            \"name\": \"Microsoft.ServiceNetworking/trafficControllers\",\n            \"actions\": [\"Microsoft.Network/virtualNetworks/subnets/join/action\"],\n        },\n    }])\nexample_lication_load_balancer_subnet_association = azure.appconfiguration.LicationLoadBalancerSubnetAssociation(\"example\",\n    name=\"example\",\n    application_load_balancer_id=example_lication_load_balancer.id,\n    subnet_id=example_subnet.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-rg\",\n        Location = \"westeurope\",\n    });\n\n    var exampleLicationLoadBalancer = new Azure.AppConfiguration.LicationLoadBalancer(\"example\", new()\n    {\n        Name = \"example-alb\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n    });\n\n    var exampleVirtualNetwork = new Azure.Network.VirtualNetwork(\"example\", new()\n    {\n        Name = \"example-vnet\",\n        AddressSpaces = new[]\n        {\n            \"10.0.0.0/16\",\n        },\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n    });\n\n    var exampleSubnet = new Azure.Network.Subnet(\"example\", new()\n    {\n        Name = \"example-subnet\",\n        ResourceGroupName = example.Name,\n        VirtualNetworkName = exampleVirtualNetwork.Name,\n        AddressPrefixes = new[]\n        {\n            \"10.0.1.0/24\",\n        },\n        Delegations = new[]\n        {\n            new Azure.Network.Inputs.SubnetDelegationArgs\n            {\n                Name = \"delegation\",\n                ServiceDelegation = new Azure.Network.Inputs.SubnetDelegationServiceDelegationArgs\n                {\n                    Name = \"Microsoft.ServiceNetworking/trafficControllers\",\n                    Actions = new[]\n                    {\n                        \"Microsoft.Network/virtualNetworks/subnets/join/action\",\n                    },\n                },\n            },\n        },\n    });\n\n    var exampleLicationLoadBalancerSubnetAssociation = new Azure.AppConfiguration.LicationLoadBalancerSubnetAssociation(\"example\", new()\n    {\n        Name = \"example\",\n        ApplicationLoadBalancerId = exampleLicationLoadBalancer.Id,\n        SubnetId = exampleSubnet.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/appconfiguration\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-rg\"),\n\t\t\tLocation: pulumi.String(\"westeurope\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleLicationLoadBalancer, err := appconfiguration.NewLicationLoadBalancer(ctx, \"example\", \u0026appconfiguration.LicationLoadBalancerArgs{\n\t\t\tName:              pulumi.String(\"example-alb\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, \"example\", \u0026network.VirtualNetworkArgs{\n\t\t\tName: pulumi.String(\"example-vnet\"),\n\t\t\tAddressSpaces: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.0.0/16\"),\n\t\t\t},\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSubnet, err := network.NewSubnet(ctx, \"example\", \u0026network.SubnetArgs{\n\t\t\tName:               pulumi.String(\"example-subnet\"),\n\t\t\tResourceGroupName:  example.Name,\n\t\t\tVirtualNetworkName: exampleVirtualNetwork.Name,\n\t\t\tAddressPrefixes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.1.0/24\"),\n\t\t\t},\n\t\t\tDelegations: network.SubnetDelegationArray{\n\t\t\t\t\u0026network.SubnetDelegationArgs{\n\t\t\t\t\tName: pulumi.String(\"delegation\"),\n\t\t\t\t\tServiceDelegation: \u0026network.SubnetDelegationServiceDelegationArgs{\n\t\t\t\t\t\tName: pulumi.String(\"Microsoft.ServiceNetworking/trafficControllers\"),\n\t\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"Microsoft.Network/virtualNetworks/subnets/join/action\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = appconfiguration.NewLicationLoadBalancerSubnetAssociation(ctx, \"example\", \u0026appconfiguration.LicationLoadBalancerSubnetAssociationArgs{\n\t\t\tName:                      pulumi.String(\"example\"),\n\t\t\tApplicationLoadBalancerId: exampleLicationLoadBalancer.ID(),\n\t\t\tSubnetId:                  exampleSubnet.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.appconfiguration.LicationLoadBalancer;\nimport com.pulumi.azure.appconfiguration.LicationLoadBalancerArgs;\nimport com.pulumi.azure.network.VirtualNetwork;\nimport com.pulumi.azure.network.VirtualNetworkArgs;\nimport com.pulumi.azure.network.Subnet;\nimport com.pulumi.azure.network.SubnetArgs;\nimport com.pulumi.azure.network.inputs.SubnetDelegationArgs;\nimport com.pulumi.azure.network.inputs.SubnetDelegationServiceDelegationArgs;\nimport com.pulumi.azure.appconfiguration.LicationLoadBalancerSubnetAssociation;\nimport com.pulumi.azure.appconfiguration.LicationLoadBalancerSubnetAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-rg\")\n            .location(\"westeurope\")\n            .build());\n\n        var exampleLicationLoadBalancer = new LicationLoadBalancer(\"exampleLicationLoadBalancer\", LicationLoadBalancerArgs.builder()\n            .name(\"example-alb\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .build());\n\n        var exampleVirtualNetwork = new VirtualNetwork(\"exampleVirtualNetwork\", VirtualNetworkArgs.builder()\n            .name(\"example-vnet\")\n            .addressSpaces(\"10.0.0.0/16\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .build());\n\n        var exampleSubnet = new Subnet(\"exampleSubnet\", SubnetArgs.builder()\n            .name(\"example-subnet\")\n            .resourceGroupName(example.name())\n            .virtualNetworkName(exampleVirtualNetwork.name())\n            .addressPrefixes(\"10.0.1.0/24\")\n            .delegations(SubnetDelegationArgs.builder()\n                .name(\"delegation\")\n                .serviceDelegation(SubnetDelegationServiceDelegationArgs.builder()\n                    .name(\"Microsoft.ServiceNetworking/trafficControllers\")\n                    .actions(\"Microsoft.Network/virtualNetworks/subnets/join/action\")\n                    .build())\n                .build())\n            .build());\n\n        var exampleLicationLoadBalancerSubnetAssociation = new LicationLoadBalancerSubnetAssociation(\"exampleLicationLoadBalancerSubnetAssociation\", LicationLoadBalancerSubnetAssociationArgs.builder()\n            .name(\"example\")\n            .applicationLoadBalancerId(exampleLicationLoadBalancer.id())\n            .subnetId(exampleSubnet.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-rg\n      location: westeurope\n  exampleLicationLoadBalancer:\n    type: azure:appconfiguration:LicationLoadBalancer\n    name: example\n    properties:\n      name: example-alb\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n  exampleVirtualNetwork:\n    type: azure:network:VirtualNetwork\n    name: example\n    properties:\n      name: example-vnet\n      addressSpaces:\n        - 10.0.0.0/16\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n  exampleSubnet:\n    type: azure:network:Subnet\n    name: example\n    properties:\n      name: example-subnet\n      resourceGroupName: ${example.name}\n      virtualNetworkName: ${exampleVirtualNetwork.name}\n      addressPrefixes:\n        - 10.0.1.0/24\n      delegations:\n        - name: delegation\n          serviceDelegation:\n            name: Microsoft.ServiceNetworking/trafficControllers\n            actions:\n              - Microsoft.Network/virtualNetworks/subnets/join/action\n  exampleLicationLoadBalancerSubnetAssociation:\n    type: azure:appconfiguration:LicationLoadBalancerSubnetAssociation\n    name: example\n    properties:\n      name: example\n      applicationLoadBalancerId: ${exampleLicationLoadBalancer.id}\n      subnetId: ${exampleSubnet.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.ServiceNetworking` - 2025-01-01\n\n## Import\n\nApplication Gateway for Containers Associations can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:appconfiguration/licationLoadBalancerSubnetAssociation:LicationLoadBalancerSubnetAssociation example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ServiceNetworking/trafficControllers/alb1/associations/association1\n```\n\n","properties":{"applicationLoadBalancerId":{"type":"string","description":"The ID of the Application Gateway for Containers. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"The name which should be used for this Application Gateway for Containers Association. Changing this forces a new resource to be created.\n"},"subnetId":{"type":"string","description":"The ID of the subnet which the Application Gateway for Containers associated to.\n\n\u003e **Note:** The subnet to be used must have a delegation for  `Microsoft.ServiceNetworking/trafficControllers` as shown in the example above.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Application Gateway for Containers Association.\n"}},"required":["applicationLoadBalancerId","name","subnetId"],"inputProperties":{"applicationLoadBalancerId":{"type":"string","description":"The ID of the Application Gateway for Containers. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Application Gateway for Containers Association. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"subnetId":{"type":"string","description":"The ID of the subnet which the Application Gateway for Containers associated to.\n\n\u003e **Note:** The subnet to be used must have a delegation for  `Microsoft.ServiceNetworking/trafficControllers` as shown in the example above.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Application Gateway for Containers Association.\n"}},"requiredInputs":["applicationLoadBalancerId","subnetId"],"stateInputs":{"description":"Input properties used for looking up and filtering LicationLoadBalancerSubnetAssociation resources.\n","properties":{"applicationLoadBalancerId":{"type":"string","description":"The ID of the Application Gateway for Containers. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Application Gateway for Containers Association. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"subnetId":{"type":"string","description":"The ID of the subnet which the Application Gateway for Containers associated to.\n\n\u003e **Note:** The subnet to be used must have a delegation for  `Microsoft.ServiceNetworking/trafficControllers` as shown in the example above.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Application Gateway for Containers Association.\n"}},"type":"object"}},"azure:appinsights/analyticsItem:AnalyticsItem":{"description":"Manages an Application Insights Analytics Item component.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"tf-test\",\n    location: \"West Europe\",\n});\nconst exampleInsights = new azure.appinsights.Insights(\"example\", {\n    name: \"tf-test-appinsights\",\n    location: example.location,\n    resourceGroupName: example.name,\n    applicationType: \"web\",\n});\nconst exampleAnalyticsItem = new azure.appinsights.AnalyticsItem(\"example\", {\n    name: \"testquery\",\n    applicationInsightsId: exampleInsights.id,\n    content: \"requests //simple example query\",\n    scope: \"shared\",\n    type: \"query\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"tf-test\",\n    location=\"West Europe\")\nexample_insights = azure.appinsights.Insights(\"example\",\n    name=\"tf-test-appinsights\",\n    location=example.location,\n    resource_group_name=example.name,\n    application_type=\"web\")\nexample_analytics_item = azure.appinsights.AnalyticsItem(\"example\",\n    name=\"testquery\",\n    application_insights_id=example_insights.id,\n    content=\"requests //simple example query\",\n    scope=\"shared\",\n    type=\"query\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"tf-test\",\n        Location = \"West Europe\",\n    });\n\n    var exampleInsights = new Azure.AppInsights.Insights(\"example\", new()\n    {\n        Name = \"tf-test-appinsights\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        ApplicationType = \"web\",\n    });\n\n    var exampleAnalyticsItem = new Azure.AppInsights.AnalyticsItem(\"example\", new()\n    {\n        Name = \"testquery\",\n        ApplicationInsightsId = exampleInsights.Id,\n        Content = \"requests //simple example query\",\n        Scope = \"shared\",\n        Type = \"query\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/appinsights\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"tf-test\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleInsights, err := appinsights.NewInsights(ctx, \"example\", \u0026appinsights.InsightsArgs{\n\t\t\tName:              pulumi.String(\"tf-test-appinsights\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tApplicationType:   pulumi.String(\"web\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = appinsights.NewAnalyticsItem(ctx, \"example\", \u0026appinsights.AnalyticsItemArgs{\n\t\t\tName:                  pulumi.String(\"testquery\"),\n\t\t\tApplicationInsightsId: exampleInsights.ID(),\n\t\t\tContent:               pulumi.String(\"requests //simple example query\"),\n\t\t\tScope:                 pulumi.String(\"shared\"),\n\t\t\tType:                  pulumi.String(\"query\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.appinsights.Insights;\nimport com.pulumi.azure.appinsights.InsightsArgs;\nimport com.pulumi.azure.appinsights.AnalyticsItem;\nimport com.pulumi.azure.appinsights.AnalyticsItemArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"tf-test\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleInsights = new Insights(\"exampleInsights\", InsightsArgs.builder()\n            .name(\"tf-test-appinsights\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .applicationType(\"web\")\n            .build());\n\n        var exampleAnalyticsItem = new AnalyticsItem(\"exampleAnalyticsItem\", AnalyticsItemArgs.builder()\n            .name(\"testquery\")\n            .applicationInsightsId(exampleInsights.id())\n            .content(\"requests //simple example query\")\n            .scope(\"shared\")\n            .type(\"query\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: tf-test\n      location: West Europe\n  exampleInsights:\n    type: azure:appinsights:Insights\n    name: example\n    properties:\n      name: tf-test-appinsights\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      applicationType: web\n  exampleAnalyticsItem:\n    type: azure:appinsights:AnalyticsItem\n    name: example\n    properties:\n      name: testquery\n      applicationInsightsId: ${exampleInsights.id}\n      content: requests //simple example query\n      scope: shared\n      type: query\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Insights` - 2015-05-01\n\n## Import\n\nApplication Insights Analytics Items can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:appinsights/analyticsItem:AnalyticsItem example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Insights/components/mycomponent1/analyticsItems/11111111-1111-1111-1111-111111111111\n```\n\n\u003e **Please Note:** This is a provider Unique ID matching the format: `{appInsightsID}/analyticsItems/{itemId}` for items with \u003cspan pulumi-lang-nodejs=\"`scope`\" pulumi-lang-dotnet=\"`Scope`\" pulumi-lang-go=\"`scope`\" pulumi-lang-python=\"`scope`\" pulumi-lang-yaml=\"`scope`\" pulumi-lang-java=\"`scope`\"\u003e`scope`\u003c/span\u003e set to \u003cspan pulumi-lang-nodejs=\"`shared`\" pulumi-lang-dotnet=\"`Shared`\" pulumi-lang-go=\"`shared`\" pulumi-lang-python=\"`shared`\" pulumi-lang-yaml=\"`shared`\" pulumi-lang-java=\"`shared`\"\u003e`shared`\u003c/span\u003e, or  `{appInsightsID}/myAnalyticsItems/{itemId}` for items with \u003cspan pulumi-lang-nodejs=\"`scope`\" pulumi-lang-dotnet=\"`Scope`\" pulumi-lang-go=\"`scope`\" pulumi-lang-python=\"`scope`\" pulumi-lang-yaml=\"`scope`\" pulumi-lang-java=\"`scope`\"\u003e`scope`\u003c/span\u003e set to \u003cspan pulumi-lang-nodejs=\"`user`\" pulumi-lang-dotnet=\"`User`\" pulumi-lang-go=\"`user`\" pulumi-lang-python=\"`user`\" pulumi-lang-yaml=\"`user`\" pulumi-lang-java=\"`user`\"\u003e`user`\u003c/span\u003e\n\nTo find the Analytics Item ID you can query the REST API using the [`az rest` CLI command](https://docs.microsoft.com/cli/azure/reference-index?view=azure-cli-latest#az-rest), e.g.\n\n```sh\naz rest --method GET --uri \"https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/microsoft.insights/components/appinsightstest/analyticsItems?api-version=2015-05-01\"\n```\n\n","properties":{"applicationInsightsId":{"type":"string","description":"The ID of the Application Insights component on which the Analytics Item exists. Changing this forces a new resource to be created.\n"},"content":{"type":"string","description":"The content for the Analytics Item, for example the query text if \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`query`\" pulumi-lang-dotnet=\"`Query`\" pulumi-lang-go=\"`query`\" pulumi-lang-python=\"`query`\" pulumi-lang-yaml=\"`query`\" pulumi-lang-java=\"`query`\"\u003e`query`\u003c/span\u003e.\n"},"functionAlias":{"type":"string","description":"The alias to use for the function. Required when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`function`\" pulumi-lang-dotnet=\"`Function`\" pulumi-lang-go=\"`function`\" pulumi-lang-python=\"`function`\" pulumi-lang-yaml=\"`function`\" pulumi-lang-java=\"`function`\"\u003e`function`\u003c/span\u003e.\n"},"name":{"type":"string","description":"Specifies the name of the Application Insights Analytics Item. Changing this forces a new resource to be created.\n"},"scope":{"type":"string","description":"The scope for the Analytics Item. Can be \u003cspan pulumi-lang-nodejs=\"`shared`\" pulumi-lang-dotnet=\"`Shared`\" pulumi-lang-go=\"`shared`\" pulumi-lang-python=\"`shared`\" pulumi-lang-yaml=\"`shared`\" pulumi-lang-java=\"`shared`\"\u003e`shared`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`user`\" pulumi-lang-dotnet=\"`User`\" pulumi-lang-go=\"`user`\" pulumi-lang-python=\"`user`\" pulumi-lang-yaml=\"`user`\" pulumi-lang-java=\"`user`\"\u003e`user`\u003c/span\u003e. Changing this forces a new resource to be created. Must be \u003cspan pulumi-lang-nodejs=\"`shared`\" pulumi-lang-dotnet=\"`Shared`\" pulumi-lang-go=\"`shared`\" pulumi-lang-python=\"`shared`\" pulumi-lang-yaml=\"`shared`\" pulumi-lang-java=\"`shared`\"\u003e`shared`\u003c/span\u003e for functions.\n"},"timeCreated":{"type":"string","description":"A string containing the time the Analytics Item was created.\n"},"timeModified":{"type":"string","description":"A string containing the time the Analytics Item was last modified.\n"},"type":{"type":"string","description":"The type of Analytics Item to create. Can be one of \u003cspan pulumi-lang-nodejs=\"`query`\" pulumi-lang-dotnet=\"`Query`\" pulumi-lang-go=\"`query`\" pulumi-lang-python=\"`query`\" pulumi-lang-yaml=\"`query`\" pulumi-lang-java=\"`query`\"\u003e`query`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`function`\" pulumi-lang-dotnet=\"`Function`\" pulumi-lang-go=\"`function`\" pulumi-lang-python=\"`function`\" pulumi-lang-yaml=\"`function`\" pulumi-lang-java=\"`function`\"\u003e`function`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`folder`\" pulumi-lang-dotnet=\"`Folder`\" pulumi-lang-go=\"`folder`\" pulumi-lang-python=\"`folder`\" pulumi-lang-yaml=\"`folder`\" pulumi-lang-java=\"`folder`\"\u003e`folder`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`recent`\" pulumi-lang-dotnet=\"`Recent`\" pulumi-lang-go=\"`recent`\" pulumi-lang-python=\"`recent`\" pulumi-lang-yaml=\"`recent`\" pulumi-lang-java=\"`recent`\"\u003e`recent`\u003c/span\u003e. Changing this forces a new resource to be created.\n"},"version":{"type":"string","description":"A string indicating the version of the query format\n"}},"required":["applicationInsightsId","content","name","scope","timeCreated","timeModified","type","version"],"inputProperties":{"applicationInsightsId":{"type":"string","description":"The ID of the Application Insights component on which the Analytics Item exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"content":{"type":"string","description":"The content for the Analytics Item, for example the query text if \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`query`\" pulumi-lang-dotnet=\"`Query`\" pulumi-lang-go=\"`query`\" pulumi-lang-python=\"`query`\" pulumi-lang-yaml=\"`query`\" pulumi-lang-java=\"`query`\"\u003e`query`\u003c/span\u003e.\n"},"functionAlias":{"type":"string","description":"The alias to use for the function. Required when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`function`\" pulumi-lang-dotnet=\"`Function`\" pulumi-lang-go=\"`function`\" pulumi-lang-python=\"`function`\" pulumi-lang-yaml=\"`function`\" pulumi-lang-java=\"`function`\"\u003e`function`\u003c/span\u003e.\n"},"name":{"type":"string","description":"Specifies the name of the Application Insights Analytics Item. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"scope":{"type":"string","description":"The scope for the Analytics Item. Can be \u003cspan pulumi-lang-nodejs=\"`shared`\" pulumi-lang-dotnet=\"`Shared`\" pulumi-lang-go=\"`shared`\" pulumi-lang-python=\"`shared`\" pulumi-lang-yaml=\"`shared`\" pulumi-lang-java=\"`shared`\"\u003e`shared`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`user`\" pulumi-lang-dotnet=\"`User`\" pulumi-lang-go=\"`user`\" pulumi-lang-python=\"`user`\" pulumi-lang-yaml=\"`user`\" pulumi-lang-java=\"`user`\"\u003e`user`\u003c/span\u003e. Changing this forces a new resource to be created. Must be \u003cspan pulumi-lang-nodejs=\"`shared`\" pulumi-lang-dotnet=\"`Shared`\" pulumi-lang-go=\"`shared`\" pulumi-lang-python=\"`shared`\" pulumi-lang-yaml=\"`shared`\" pulumi-lang-java=\"`shared`\"\u003e`shared`\u003c/span\u003e for functions.\n","willReplaceOnChanges":true},"type":{"type":"string","description":"The type of Analytics Item to create. Can be one of \u003cspan pulumi-lang-nodejs=\"`query`\" pulumi-lang-dotnet=\"`Query`\" pulumi-lang-go=\"`query`\" pulumi-lang-python=\"`query`\" pulumi-lang-yaml=\"`query`\" pulumi-lang-java=\"`query`\"\u003e`query`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`function`\" pulumi-lang-dotnet=\"`Function`\" pulumi-lang-go=\"`function`\" pulumi-lang-python=\"`function`\" pulumi-lang-yaml=\"`function`\" pulumi-lang-java=\"`function`\"\u003e`function`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`folder`\" pulumi-lang-dotnet=\"`Folder`\" pulumi-lang-go=\"`folder`\" pulumi-lang-python=\"`folder`\" pulumi-lang-yaml=\"`folder`\" pulumi-lang-java=\"`folder`\"\u003e`folder`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`recent`\" pulumi-lang-dotnet=\"`Recent`\" pulumi-lang-go=\"`recent`\" pulumi-lang-python=\"`recent`\" pulumi-lang-yaml=\"`recent`\" pulumi-lang-java=\"`recent`\"\u003e`recent`\u003c/span\u003e. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["applicationInsightsId","content","scope","type"],"stateInputs":{"description":"Input properties used for looking up and filtering AnalyticsItem resources.\n","properties":{"applicationInsightsId":{"type":"string","description":"The ID of the Application Insights component on which the Analytics Item exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"content":{"type":"string","description":"The content for the Analytics Item, for example the query text if \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`query`\" pulumi-lang-dotnet=\"`Query`\" pulumi-lang-go=\"`query`\" pulumi-lang-python=\"`query`\" pulumi-lang-yaml=\"`query`\" pulumi-lang-java=\"`query`\"\u003e`query`\u003c/span\u003e.\n"},"functionAlias":{"type":"string","description":"The alias to use for the function. Required when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`function`\" pulumi-lang-dotnet=\"`Function`\" pulumi-lang-go=\"`function`\" pulumi-lang-python=\"`function`\" pulumi-lang-yaml=\"`function`\" pulumi-lang-java=\"`function`\"\u003e`function`\u003c/span\u003e.\n"},"name":{"type":"string","description":"Specifies the name of the Application Insights Analytics Item. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"scope":{"type":"string","description":"The scope for the Analytics Item. Can be \u003cspan pulumi-lang-nodejs=\"`shared`\" pulumi-lang-dotnet=\"`Shared`\" pulumi-lang-go=\"`shared`\" pulumi-lang-python=\"`shared`\" pulumi-lang-yaml=\"`shared`\" pulumi-lang-java=\"`shared`\"\u003e`shared`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`user`\" pulumi-lang-dotnet=\"`User`\" pulumi-lang-go=\"`user`\" pulumi-lang-python=\"`user`\" pulumi-lang-yaml=\"`user`\" pulumi-lang-java=\"`user`\"\u003e`user`\u003c/span\u003e. Changing this forces a new resource to be created. Must be \u003cspan pulumi-lang-nodejs=\"`shared`\" pulumi-lang-dotnet=\"`Shared`\" pulumi-lang-go=\"`shared`\" pulumi-lang-python=\"`shared`\" pulumi-lang-yaml=\"`shared`\" pulumi-lang-java=\"`shared`\"\u003e`shared`\u003c/span\u003e for functions.\n","willReplaceOnChanges":true},"timeCreated":{"type":"string","description":"A string containing the time the Analytics Item was created.\n"},"timeModified":{"type":"string","description":"A string containing the time the Analytics Item was last modified.\n"},"type":{"type":"string","description":"The type of Analytics Item to create. Can be one of \u003cspan pulumi-lang-nodejs=\"`query`\" pulumi-lang-dotnet=\"`Query`\" pulumi-lang-go=\"`query`\" pulumi-lang-python=\"`query`\" pulumi-lang-yaml=\"`query`\" pulumi-lang-java=\"`query`\"\u003e`query`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`function`\" pulumi-lang-dotnet=\"`Function`\" pulumi-lang-go=\"`function`\" pulumi-lang-python=\"`function`\" pulumi-lang-yaml=\"`function`\" pulumi-lang-java=\"`function`\"\u003e`function`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`folder`\" pulumi-lang-dotnet=\"`Folder`\" pulumi-lang-go=\"`folder`\" pulumi-lang-python=\"`folder`\" pulumi-lang-yaml=\"`folder`\" pulumi-lang-java=\"`folder`\"\u003e`folder`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`recent`\" pulumi-lang-dotnet=\"`Recent`\" pulumi-lang-go=\"`recent`\" pulumi-lang-python=\"`recent`\" pulumi-lang-yaml=\"`recent`\" pulumi-lang-java=\"`recent`\"\u003e`recent`\u003c/span\u003e. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"version":{"type":"string","description":"A string indicating the version of the query format\n"}},"type":"object"}},"azure:appinsights/apiKey:ApiKey":{"description":"Manages an Application Insights API key.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nexport = async () =\u003e {\n    const example = new azure.core.ResourceGroup(\"example\", {\n        name: \"tf-test\",\n        location: \"West Europe\",\n    });\n    const exampleInsights = new azure.appinsights.Insights(\"example\", {\n        name: \"tf-test-appinsights\",\n        location: example.location,\n        resourceGroupName: example.name,\n        applicationType: \"web\",\n    });\n    const readTelemetry = new azure.appinsights.ApiKey(\"read_telemetry\", {\n        name: \"tf-test-appinsights-read-telemetry-api-key\",\n        applicationInsightsId: exampleInsights.id,\n        readPermissions: [\n            \"aggregate\",\n            \"api\",\n            \"draft\",\n            \"extendqueries\",\n            \"search\",\n        ],\n    });\n    const writeAnnotations = new azure.appinsights.ApiKey(\"write_annotations\", {\n        name: \"tf-test-appinsights-write-annotations-api-key\",\n        applicationInsightsId: exampleInsights.id,\n        writePermissions: [\"annotations\"],\n    });\n    const authenticateSdkControlChannel = new azure.appinsights.ApiKey(\"authenticate_sdk_control_channel\", {\n        name: \"tf-test-appinsights-authenticate-sdk-control-channel-api-key\",\n        applicationInsightsId: exampleInsights.id,\n        readPermissions: [\"agentconfig\"],\n    });\n    const fullPermissions = new azure.appinsights.ApiKey(\"full_permissions\", {\n        name: \"tf-test-appinsights-full-permissions-api-key\",\n        applicationInsightsId: exampleInsights.id,\n        readPermissions: [\n            \"agentconfig\",\n            \"aggregate\",\n            \"api\",\n            \"draft\",\n            \"extendqueries\",\n            \"search\",\n        ],\n        writePermissions: [\"annotations\"],\n    });\n    return {\n        readTelemetryApiKey: readTelemetry.apiKey,\n        writeAnnotationsApiKey: writeAnnotations.apiKey,\n        authenticateSdkControlChannel: authenticateSdkControlChannel.apiKey,\n        fullPermissionsApiKey: fullPermissions.apiKey,\n    };\n}\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"tf-test\",\n    location=\"West Europe\")\nexample_insights = azure.appinsights.Insights(\"example\",\n    name=\"tf-test-appinsights\",\n    location=example.location,\n    resource_group_name=example.name,\n    application_type=\"web\")\nread_telemetry = azure.appinsights.ApiKey(\"read_telemetry\",\n    name=\"tf-test-appinsights-read-telemetry-api-key\",\n    application_insights_id=example_insights.id,\n    read_permissions=[\n        \"aggregate\",\n        \"api\",\n        \"draft\",\n        \"extendqueries\",\n        \"search\",\n    ])\nwrite_annotations = azure.appinsights.ApiKey(\"write_annotations\",\n    name=\"tf-test-appinsights-write-annotations-api-key\",\n    application_insights_id=example_insights.id,\n    write_permissions=[\"annotations\"])\nauthenticate_sdk_control_channel = azure.appinsights.ApiKey(\"authenticate_sdk_control_channel\",\n    name=\"tf-test-appinsights-authenticate-sdk-control-channel-api-key\",\n    application_insights_id=example_insights.id,\n    read_permissions=[\"agentconfig\"])\nfull_permissions = azure.appinsights.ApiKey(\"full_permissions\",\n    name=\"tf-test-appinsights-full-permissions-api-key\",\n    application_insights_id=example_insights.id,\n    read_permissions=[\n        \"agentconfig\",\n        \"aggregate\",\n        \"api\",\n        \"draft\",\n        \"extendqueries\",\n        \"search\",\n    ],\n    write_permissions=[\"annotations\"])\npulumi.export(\"readTelemetryApiKey\", read_telemetry.api_key)\npulumi.export(\"writeAnnotationsApiKey\", write_annotations.api_key)\npulumi.export(\"authenticateSdkControlChannel\", authenticate_sdk_control_channel.api_key)\npulumi.export(\"fullPermissionsApiKey\", full_permissions.api_key)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"tf-test\",\n        Location = \"West Europe\",\n    });\n\n    var exampleInsights = new Azure.AppInsights.Insights(\"example\", new()\n    {\n        Name = \"tf-test-appinsights\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        ApplicationType = \"web\",\n    });\n\n    var readTelemetry = new Azure.AppInsights.ApiKey(\"read_telemetry\", new()\n    {\n        Name = \"tf-test-appinsights-read-telemetry-api-key\",\n        ApplicationInsightsId = exampleInsights.Id,\n        ReadPermissions = new[]\n        {\n            \"aggregate\",\n            \"api\",\n            \"draft\",\n            \"extendqueries\",\n            \"search\",\n        },\n    });\n\n    var writeAnnotations = new Azure.AppInsights.ApiKey(\"write_annotations\", new()\n    {\n        Name = \"tf-test-appinsights-write-annotations-api-key\",\n        ApplicationInsightsId = exampleInsights.Id,\n        WritePermissions = new[]\n        {\n            \"annotations\",\n        },\n    });\n\n    var authenticateSdkControlChannel = new Azure.AppInsights.ApiKey(\"authenticate_sdk_control_channel\", new()\n    {\n        Name = \"tf-test-appinsights-authenticate-sdk-control-channel-api-key\",\n        ApplicationInsightsId = exampleInsights.Id,\n        ReadPermissions = new[]\n        {\n            \"agentconfig\",\n        },\n    });\n\n    var fullPermissions = new Azure.AppInsights.ApiKey(\"full_permissions\", new()\n    {\n        Name = \"tf-test-appinsights-full-permissions-api-key\",\n        ApplicationInsightsId = exampleInsights.Id,\n        ReadPermissions = new[]\n        {\n            \"agentconfig\",\n            \"aggregate\",\n            \"api\",\n            \"draft\",\n            \"extendqueries\",\n            \"search\",\n        },\n        WritePermissions = new[]\n        {\n            \"annotations\",\n        },\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"readTelemetryApiKey\"] = readTelemetry.ApiKey,\n        [\"writeAnnotationsApiKey\"] = writeAnnotations.ApiKey,\n        [\"authenticateSdkControlChannel\"] = authenticateSdkControlChannel.ApiKey,\n        [\"fullPermissionsApiKey\"] = fullPermissions.ApiKey,\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/appinsights\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"tf-test\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleInsights, err := appinsights.NewInsights(ctx, \"example\", \u0026appinsights.InsightsArgs{\n\t\t\tName:              pulumi.String(\"tf-test-appinsights\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tApplicationType:   pulumi.String(\"web\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treadTelemetry, err := appinsights.NewApiKey(ctx, \"read_telemetry\", \u0026appinsights.ApiKeyArgs{\n\t\t\tName:                  pulumi.String(\"tf-test-appinsights-read-telemetry-api-key\"),\n\t\t\tApplicationInsightsId: exampleInsights.ID(),\n\t\t\tReadPermissions: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"aggregate\"),\n\t\t\t\tpulumi.String(\"api\"),\n\t\t\t\tpulumi.String(\"draft\"),\n\t\t\t\tpulumi.String(\"extendqueries\"),\n\t\t\t\tpulumi.String(\"search\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\twriteAnnotations, err := appinsights.NewApiKey(ctx, \"write_annotations\", \u0026appinsights.ApiKeyArgs{\n\t\t\tName:                  pulumi.String(\"tf-test-appinsights-write-annotations-api-key\"),\n\t\t\tApplicationInsightsId: exampleInsights.ID(),\n\t\t\tWritePermissions: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"annotations\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tauthenticateSdkControlChannel, err := appinsights.NewApiKey(ctx, \"authenticate_sdk_control_channel\", \u0026appinsights.ApiKeyArgs{\n\t\t\tName:                  pulumi.String(\"tf-test-appinsights-authenticate-sdk-control-channel-api-key\"),\n\t\t\tApplicationInsightsId: exampleInsights.ID(),\n\t\t\tReadPermissions: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"agentconfig\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfullPermissions, err := appinsights.NewApiKey(ctx, \"full_permissions\", \u0026appinsights.ApiKeyArgs{\n\t\t\tName:                  pulumi.String(\"tf-test-appinsights-full-permissions-api-key\"),\n\t\t\tApplicationInsightsId: exampleInsights.ID(),\n\t\t\tReadPermissions: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"agentconfig\"),\n\t\t\t\tpulumi.String(\"aggregate\"),\n\t\t\t\tpulumi.String(\"api\"),\n\t\t\t\tpulumi.String(\"draft\"),\n\t\t\t\tpulumi.String(\"extendqueries\"),\n\t\t\t\tpulumi.String(\"search\"),\n\t\t\t},\n\t\t\tWritePermissions: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"annotations\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"readTelemetryApiKey\", readTelemetry.ApiKey)\n\t\tctx.Export(\"writeAnnotationsApiKey\", writeAnnotations.ApiKey)\n\t\tctx.Export(\"authenticateSdkControlChannel\", authenticateSdkControlChannel.ApiKey)\n\t\tctx.Export(\"fullPermissionsApiKey\", fullPermissions.ApiKey)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.appinsights.Insights;\nimport com.pulumi.azure.appinsights.InsightsArgs;\nimport com.pulumi.azure.appinsights.ApiKey;\nimport com.pulumi.azure.appinsights.ApiKeyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"tf-test\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleInsights = new Insights(\"exampleInsights\", InsightsArgs.builder()\n            .name(\"tf-test-appinsights\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .applicationType(\"web\")\n            .build());\n\n        var readTelemetry = new ApiKey(\"readTelemetry\", ApiKeyArgs.builder()\n            .name(\"tf-test-appinsights-read-telemetry-api-key\")\n            .applicationInsightsId(exampleInsights.id())\n            .readPermissions(            \n                \"aggregate\",\n                \"api\",\n                \"draft\",\n                \"extendqueries\",\n                \"search\")\n            .build());\n\n        var writeAnnotations = new ApiKey(\"writeAnnotations\", ApiKeyArgs.builder()\n            .name(\"tf-test-appinsights-write-annotations-api-key\")\n            .applicationInsightsId(exampleInsights.id())\n            .writePermissions(\"annotations\")\n            .build());\n\n        var authenticateSdkControlChannel = new ApiKey(\"authenticateSdkControlChannel\", ApiKeyArgs.builder()\n            .name(\"tf-test-appinsights-authenticate-sdk-control-channel-api-key\")\n            .applicationInsightsId(exampleInsights.id())\n            .readPermissions(\"agentconfig\")\n            .build());\n\n        var fullPermissions = new ApiKey(\"fullPermissions\", ApiKeyArgs.builder()\n            .name(\"tf-test-appinsights-full-permissions-api-key\")\n            .applicationInsightsId(exampleInsights.id())\n            .readPermissions(            \n                \"agentconfig\",\n                \"aggregate\",\n                \"api\",\n                \"draft\",\n                \"extendqueries\",\n                \"search\")\n            .writePermissions(\"annotations\")\n            .build());\n\n        ctx.export(\"readTelemetryApiKey\", readTelemetry.apiKey());\n        ctx.export(\"writeAnnotationsApiKey\", writeAnnotations.apiKey());\n        ctx.export(\"authenticateSdkControlChannel\", authenticateSdkControlChannel.apiKey());\n        ctx.export(\"fullPermissionsApiKey\", fullPermissions.apiKey());\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: tf-test\n      location: West Europe\n  exampleInsights:\n    type: azure:appinsights:Insights\n    name: example\n    properties:\n      name: tf-test-appinsights\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      applicationType: web\n  readTelemetry:\n    type: azure:appinsights:ApiKey\n    name: read_telemetry\n    properties:\n      name: tf-test-appinsights-read-telemetry-api-key\n      applicationInsightsId: ${exampleInsights.id}\n      readPermissions:\n        - aggregate\n        - api\n        - draft\n        - extendqueries\n        - search\n  writeAnnotations:\n    type: azure:appinsights:ApiKey\n    name: write_annotations\n    properties:\n      name: tf-test-appinsights-write-annotations-api-key\n      applicationInsightsId: ${exampleInsights.id}\n      writePermissions:\n        - annotations\n  authenticateSdkControlChannel:\n    type: azure:appinsights:ApiKey\n    name: authenticate_sdk_control_channel\n    properties:\n      name: tf-test-appinsights-authenticate-sdk-control-channel-api-key\n      applicationInsightsId: ${exampleInsights.id}\n      readPermissions:\n        - agentconfig\n  fullPermissions:\n    type: azure:appinsights:ApiKey\n    name: full_permissions\n    properties:\n      name: tf-test-appinsights-full-permissions-api-key\n      applicationInsightsId: ${exampleInsights.id}\n      readPermissions:\n        - agentconfig\n        - aggregate\n        - api\n        - draft\n        - extendqueries\n        - search\n      writePermissions:\n        - annotations\noutputs:\n  readTelemetryApiKey: ${readTelemetry.apiKey}\n  writeAnnotationsApiKey: ${writeAnnotations.apiKey}\n  authenticateSdkControlChannel: ${authenticateSdkControlChannel.apiKey}\n  fullPermissionsApiKey: ${fullPermissions.apiKey}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Insights` - 2015-05-01\n\n## Import\n\nApplication Insights API keys can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:appinsights/apiKey:ApiKey my_key /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Insights/components/instance1/apiKeys/00000000-0000-0000-0000-000000000000\n```\n\n\u003e **Note:** The secret \u003cspan pulumi-lang-nodejs=\"`apiKey`\" pulumi-lang-dotnet=\"`ApiKey`\" pulumi-lang-go=\"`apiKey`\" pulumi-lang-python=\"`api_key`\" pulumi-lang-yaml=\"`apiKey`\" pulumi-lang-java=\"`apiKey`\"\u003e`api_key`\u003c/span\u003e cannot be retrieved during an import. You will need to edit the state by hand to set the secret value if you happen to have it backed up somewhere.\n\n","properties":{"apiKey":{"type":"string","description":"The API Key secret (Sensitive).\n","language":{"csharp":{"name":"Key"}},"secret":true},"applicationInsightsId":{"type":"string","description":"The ID of the Application Insights component on which the API key operates. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"Specifies the name of the Application Insights API key. Changing this forces a new resource to be created.\n"},"readPermissions":{"type":"array","items":{"type":"string"},"description":"Specifies the list of read permissions granted to the API key. Valid values are \u003cspan pulumi-lang-nodejs=\"`agentconfig`\" pulumi-lang-dotnet=\"`Agentconfig`\" pulumi-lang-go=\"`agentconfig`\" pulumi-lang-python=\"`agentconfig`\" pulumi-lang-yaml=\"`agentconfig`\" pulumi-lang-java=\"`agentconfig`\"\u003e`agentconfig`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`aggregate`\" pulumi-lang-dotnet=\"`Aggregate`\" pulumi-lang-go=\"`aggregate`\" pulumi-lang-python=\"`aggregate`\" pulumi-lang-yaml=\"`aggregate`\" pulumi-lang-java=\"`aggregate`\"\u003e`aggregate`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`api`\" pulumi-lang-dotnet=\"`Api`\" pulumi-lang-go=\"`api`\" pulumi-lang-python=\"`api`\" pulumi-lang-yaml=\"`api`\" pulumi-lang-java=\"`api`\"\u003e`api`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`draft`\" pulumi-lang-dotnet=\"`Draft`\" pulumi-lang-go=\"`draft`\" pulumi-lang-python=\"`draft`\" pulumi-lang-yaml=\"`draft`\" pulumi-lang-java=\"`draft`\"\u003e`draft`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`extendqueries`\" pulumi-lang-dotnet=\"`Extendqueries`\" pulumi-lang-go=\"`extendqueries`\" pulumi-lang-python=\"`extendqueries`\" pulumi-lang-yaml=\"`extendqueries`\" pulumi-lang-java=\"`extendqueries`\"\u003e`extendqueries`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`search`\" pulumi-lang-dotnet=\"`Search`\" pulumi-lang-go=\"`search`\" pulumi-lang-python=\"`search`\" pulumi-lang-yaml=\"`search`\" pulumi-lang-java=\"`search`\"\u003e`search`\u003c/span\u003e. Please note these values are case sensitive. Changing this forces a new resource to be created.\n"},"writePermissions":{"type":"array","items":{"type":"string"},"description":"Specifies the list of write permissions granted to the API key. Valid values are \u003cspan pulumi-lang-nodejs=\"`annotations`\" pulumi-lang-dotnet=\"`Annotations`\" pulumi-lang-go=\"`annotations`\" pulumi-lang-python=\"`annotations`\" pulumi-lang-yaml=\"`annotations`\" pulumi-lang-java=\"`annotations`\"\u003e`annotations`\u003c/span\u003e. Please note these values are case sensitive. Changing this forces a new resource to be created.\n\n\u003e **Note:** At least one read or write permission must be defined.\n"}},"required":["apiKey","applicationInsightsId","name"],"inputProperties":{"applicationInsightsId":{"type":"string","description":"The ID of the Application Insights component on which the API key operates. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the Application Insights API key. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"readPermissions":{"type":"array","items":{"type":"string"},"description":"Specifies the list of read permissions granted to the API key. Valid values are \u003cspan pulumi-lang-nodejs=\"`agentconfig`\" pulumi-lang-dotnet=\"`Agentconfig`\" pulumi-lang-go=\"`agentconfig`\" pulumi-lang-python=\"`agentconfig`\" pulumi-lang-yaml=\"`agentconfig`\" pulumi-lang-java=\"`agentconfig`\"\u003e`agentconfig`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`aggregate`\" pulumi-lang-dotnet=\"`Aggregate`\" pulumi-lang-go=\"`aggregate`\" pulumi-lang-python=\"`aggregate`\" pulumi-lang-yaml=\"`aggregate`\" pulumi-lang-java=\"`aggregate`\"\u003e`aggregate`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`api`\" pulumi-lang-dotnet=\"`Api`\" pulumi-lang-go=\"`api`\" pulumi-lang-python=\"`api`\" pulumi-lang-yaml=\"`api`\" pulumi-lang-java=\"`api`\"\u003e`api`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`draft`\" pulumi-lang-dotnet=\"`Draft`\" pulumi-lang-go=\"`draft`\" pulumi-lang-python=\"`draft`\" pulumi-lang-yaml=\"`draft`\" pulumi-lang-java=\"`draft`\"\u003e`draft`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`extendqueries`\" pulumi-lang-dotnet=\"`Extendqueries`\" pulumi-lang-go=\"`extendqueries`\" pulumi-lang-python=\"`extendqueries`\" pulumi-lang-yaml=\"`extendqueries`\" pulumi-lang-java=\"`extendqueries`\"\u003e`extendqueries`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`search`\" pulumi-lang-dotnet=\"`Search`\" pulumi-lang-go=\"`search`\" pulumi-lang-python=\"`search`\" pulumi-lang-yaml=\"`search`\" pulumi-lang-java=\"`search`\"\u003e`search`\u003c/span\u003e. Please note these values are case sensitive. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"writePermissions":{"type":"array","items":{"type":"string"},"description":"Specifies the list of write permissions granted to the API key. Valid values are \u003cspan pulumi-lang-nodejs=\"`annotations`\" pulumi-lang-dotnet=\"`Annotations`\" pulumi-lang-go=\"`annotations`\" pulumi-lang-python=\"`annotations`\" pulumi-lang-yaml=\"`annotations`\" pulumi-lang-java=\"`annotations`\"\u003e`annotations`\u003c/span\u003e. Please note these values are case sensitive. Changing this forces a new resource to be created.\n\n\u003e **Note:** At least one read or write permission must be defined.\n","willReplaceOnChanges":true}},"requiredInputs":["applicationInsightsId"],"stateInputs":{"description":"Input properties used for looking up and filtering ApiKey resources.\n","properties":{"apiKey":{"type":"string","description":"The API Key secret (Sensitive).\n","language":{"csharp":{"name":"Key"}},"secret":true},"applicationInsightsId":{"type":"string","description":"The ID of the Application Insights component on which the API key operates. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the Application Insights API key. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"readPermissions":{"type":"array","items":{"type":"string"},"description":"Specifies the list of read permissions granted to the API key. Valid values are \u003cspan pulumi-lang-nodejs=\"`agentconfig`\" pulumi-lang-dotnet=\"`Agentconfig`\" pulumi-lang-go=\"`agentconfig`\" pulumi-lang-python=\"`agentconfig`\" pulumi-lang-yaml=\"`agentconfig`\" pulumi-lang-java=\"`agentconfig`\"\u003e`agentconfig`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`aggregate`\" pulumi-lang-dotnet=\"`Aggregate`\" pulumi-lang-go=\"`aggregate`\" pulumi-lang-python=\"`aggregate`\" pulumi-lang-yaml=\"`aggregate`\" pulumi-lang-java=\"`aggregate`\"\u003e`aggregate`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`api`\" pulumi-lang-dotnet=\"`Api`\" pulumi-lang-go=\"`api`\" pulumi-lang-python=\"`api`\" pulumi-lang-yaml=\"`api`\" pulumi-lang-java=\"`api`\"\u003e`api`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`draft`\" pulumi-lang-dotnet=\"`Draft`\" pulumi-lang-go=\"`draft`\" pulumi-lang-python=\"`draft`\" pulumi-lang-yaml=\"`draft`\" pulumi-lang-java=\"`draft`\"\u003e`draft`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`extendqueries`\" pulumi-lang-dotnet=\"`Extendqueries`\" pulumi-lang-go=\"`extendqueries`\" pulumi-lang-python=\"`extendqueries`\" pulumi-lang-yaml=\"`extendqueries`\" pulumi-lang-java=\"`extendqueries`\"\u003e`extendqueries`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`search`\" pulumi-lang-dotnet=\"`Search`\" pulumi-lang-go=\"`search`\" pulumi-lang-python=\"`search`\" pulumi-lang-yaml=\"`search`\" pulumi-lang-java=\"`search`\"\u003e`search`\u003c/span\u003e. Please note these values are case sensitive. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"writePermissions":{"type":"array","items":{"type":"string"},"description":"Specifies the list of write permissions granted to the API key. Valid values are \u003cspan pulumi-lang-nodejs=\"`annotations`\" pulumi-lang-dotnet=\"`Annotations`\" pulumi-lang-go=\"`annotations`\" pulumi-lang-python=\"`annotations`\" pulumi-lang-yaml=\"`annotations`\" pulumi-lang-java=\"`annotations`\"\u003e`annotations`\u003c/span\u003e. Please note these values are case sensitive. Changing this forces a new resource to be created.\n\n\u003e **Note:** At least one read or write permission must be defined.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:appinsights/insights:Insights":{"description":"Manages an Application Insights component.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"tf-test\",\n    location: \"West Europe\",\n});\nconst exampleInsights = new azure.appinsights.Insights(\"example\", {\n    name: \"tf-test-appinsights\",\n    location: example.location,\n    resourceGroupName: example.name,\n    applicationType: \"web\",\n});\nexport const instrumentationKey = exampleInsights.instrumentationKey;\nexport const appId = exampleInsights.appId;\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"tf-test\",\n    location=\"West Europe\")\nexample_insights = azure.appinsights.Insights(\"example\",\n    name=\"tf-test-appinsights\",\n    location=example.location,\n    resource_group_name=example.name,\n    application_type=\"web\")\npulumi.export(\"instrumentationKey\", example_insights.instrumentation_key)\npulumi.export(\"appId\", example_insights.app_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"tf-test\",\n        Location = \"West Europe\",\n    });\n\n    var exampleInsights = new Azure.AppInsights.Insights(\"example\", new()\n    {\n        Name = \"tf-test-appinsights\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        ApplicationType = \"web\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"instrumentationKey\"] = exampleInsights.InstrumentationKey,\n        [\"appId\"] = exampleInsights.AppId,\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/appinsights\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"tf-test\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleInsights, err := appinsights.NewInsights(ctx, \"example\", \u0026appinsights.InsightsArgs{\n\t\t\tName:              pulumi.String(\"tf-test-appinsights\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tApplicationType:   pulumi.String(\"web\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"instrumentationKey\", exampleInsights.InstrumentationKey)\n\t\tctx.Export(\"appId\", exampleInsights.AppId)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.appinsights.Insights;\nimport com.pulumi.azure.appinsights.InsightsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"tf-test\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleInsights = new Insights(\"exampleInsights\", InsightsArgs.builder()\n            .name(\"tf-test-appinsights\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .applicationType(\"web\")\n            .build());\n\n        ctx.export(\"instrumentationKey\", exampleInsights.instrumentationKey());\n        ctx.export(\"appId\", exampleInsights.appId());\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: tf-test\n      location: West Europe\n  exampleInsights:\n    type: azure:appinsights:Insights\n    name: example\n    properties:\n      name: tf-test-appinsights\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      applicationType: web\noutputs:\n  instrumentationKey: ${exampleInsights.instrumentationKey}\n  appId: ${exampleInsights.appId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Workspace Mode\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"tf-test\",\n    location: \"West Europe\",\n});\nconst exampleAnalyticsWorkspace = new azure.operationalinsights.AnalyticsWorkspace(\"example\", {\n    name: \"workspace-test\",\n    location: example.location,\n    resourceGroupName: example.name,\n    sku: \"PerGB2018\",\n    retentionInDays: 30,\n});\nconst exampleInsights = new azure.appinsights.Insights(\"example\", {\n    name: \"tf-test-appinsights\",\n    location: example.location,\n    resourceGroupName: example.name,\n    workspaceId: exampleAnalyticsWorkspace.id,\n    applicationType: \"web\",\n});\nexport const instrumentationKey = exampleInsights.instrumentationKey;\nexport const appId = exampleInsights.appId;\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"tf-test\",\n    location=\"West Europe\")\nexample_analytics_workspace = azure.operationalinsights.AnalyticsWorkspace(\"example\",\n    name=\"workspace-test\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku=\"PerGB2018\",\n    retention_in_days=30)\nexample_insights = azure.appinsights.Insights(\"example\",\n    name=\"tf-test-appinsights\",\n    location=example.location,\n    resource_group_name=example.name,\n    workspace_id=example_analytics_workspace.id,\n    application_type=\"web\")\npulumi.export(\"instrumentationKey\", example_insights.instrumentation_key)\npulumi.export(\"appId\", example_insights.app_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"tf-test\",\n        Location = \"West Europe\",\n    });\n\n    var exampleAnalyticsWorkspace = new Azure.OperationalInsights.AnalyticsWorkspace(\"example\", new()\n    {\n        Name = \"workspace-test\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Sku = \"PerGB2018\",\n        RetentionInDays = 30,\n    });\n\n    var exampleInsights = new Azure.AppInsights.Insights(\"example\", new()\n    {\n        Name = \"tf-test-appinsights\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        WorkspaceId = exampleAnalyticsWorkspace.Id,\n        ApplicationType = \"web\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"instrumentationKey\"] = exampleInsights.InstrumentationKey,\n        [\"appId\"] = exampleInsights.AppId,\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/appinsights\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/operationalinsights\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"tf-test\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAnalyticsWorkspace, err := operationalinsights.NewAnalyticsWorkspace(ctx, \"example\", \u0026operationalinsights.AnalyticsWorkspaceArgs{\n\t\t\tName:              pulumi.String(\"workspace-test\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSku:               pulumi.String(\"PerGB2018\"),\n\t\t\tRetentionInDays:   pulumi.Int(30),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleInsights, err := appinsights.NewInsights(ctx, \"example\", \u0026appinsights.InsightsArgs{\n\t\t\tName:              pulumi.String(\"tf-test-appinsights\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tWorkspaceId:       exampleAnalyticsWorkspace.ID(),\n\t\t\tApplicationType:   pulumi.String(\"web\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"instrumentationKey\", exampleInsights.InstrumentationKey)\n\t\tctx.Export(\"appId\", exampleInsights.AppId)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.operationalinsights.AnalyticsWorkspace;\nimport com.pulumi.azure.operationalinsights.AnalyticsWorkspaceArgs;\nimport com.pulumi.azure.appinsights.Insights;\nimport com.pulumi.azure.appinsights.InsightsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"tf-test\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleAnalyticsWorkspace = new AnalyticsWorkspace(\"exampleAnalyticsWorkspace\", AnalyticsWorkspaceArgs.builder()\n            .name(\"workspace-test\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .sku(\"PerGB2018\")\n            .retentionInDays(30)\n            .build());\n\n        var exampleInsights = new Insights(\"exampleInsights\", InsightsArgs.builder()\n            .name(\"tf-test-appinsights\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .workspaceId(exampleAnalyticsWorkspace.id())\n            .applicationType(\"web\")\n            .build());\n\n        ctx.export(\"instrumentationKey\", exampleInsights.instrumentationKey());\n        ctx.export(\"appId\", exampleInsights.appId());\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: tf-test\n      location: West Europe\n  exampleAnalyticsWorkspace:\n    type: azure:operationalinsights:AnalyticsWorkspace\n    name: example\n    properties:\n      name: workspace-test\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      sku: PerGB2018\n      retentionInDays: 30\n  exampleInsights:\n    type: azure:appinsights:Insights\n    name: example\n    properties:\n      name: tf-test-appinsights\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      workspaceId: ${exampleAnalyticsWorkspace.id}\n      applicationType: web\noutputs:\n  instrumentationKey: ${exampleInsights.instrumentationKey}\n  appId: ${exampleInsights.appId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.AlertsManagement` - 2019-06-01\n\n* `Microsoft.Insights` - 2020-02-02, 2015-05-01\n\n## Import\n\nApplication Insights instances can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:appinsights/insights:Insights instance1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Insights/components/instance1\n```\n\n","properties":{"appId":{"type":"string","description":"The App ID associated with this Application Insights component.\n"},"applicationType":{"type":"string","description":"Specifies the type of Application Insights to create. Valid values are \u003cspan pulumi-lang-nodejs=\"`ios`\" pulumi-lang-dotnet=\"`Ios`\" pulumi-lang-go=\"`ios`\" pulumi-lang-python=\"`ios`\" pulumi-lang-yaml=\"`ios`\" pulumi-lang-java=\"`ios`\"\u003e`ios`\u003c/span\u003e for _iOS_, \u003cspan pulumi-lang-nodejs=\"`java`\" pulumi-lang-dotnet=\"`Java`\" pulumi-lang-go=\"`java`\" pulumi-lang-python=\"`java`\" pulumi-lang-yaml=\"`java`\" pulumi-lang-java=\"`java`\"\u003e`java`\u003c/span\u003e for _Java web_, `MobileCenter` for _App Center_, `Node.JS` for _Node.js_, \u003cspan pulumi-lang-nodejs=\"`other`\" pulumi-lang-dotnet=\"`Other`\" pulumi-lang-go=\"`other`\" pulumi-lang-python=\"`other`\" pulumi-lang-yaml=\"`other`\" pulumi-lang-java=\"`other`\"\u003e`other`\u003c/span\u003e for _General_, \u003cspan pulumi-lang-nodejs=\"`phone`\" pulumi-lang-dotnet=\"`Phone`\" pulumi-lang-go=\"`phone`\" pulumi-lang-python=\"`phone`\" pulumi-lang-yaml=\"`phone`\" pulumi-lang-java=\"`phone`\"\u003e`phone`\u003c/span\u003e for _Windows Phone_, \u003cspan pulumi-lang-nodejs=\"`store`\" pulumi-lang-dotnet=\"`Store`\" pulumi-lang-go=\"`store`\" pulumi-lang-python=\"`store`\" pulumi-lang-yaml=\"`store`\" pulumi-lang-java=\"`store`\"\u003e`store`\u003c/span\u003e for _Windows Store_ and \u003cspan pulumi-lang-nodejs=\"`web`\" pulumi-lang-dotnet=\"`Web`\" pulumi-lang-go=\"`web`\" pulumi-lang-python=\"`web`\" pulumi-lang-yaml=\"`web`\" pulumi-lang-java=\"`web`\"\u003e`web`\u003c/span\u003e for _ASP.NET_. Please note these values are case sensitive; unmatched values are treated as _ASP.NET_ by Azure. Changing this forces a new resource to be created.\n"},"connectionString":{"type":"string","description":"The Connection String for this Application Insights component. (Sensitive)\n","secret":true},"dailyDataCapInGb":{"type":"number","description":"Specifies the Application Insights component daily data volume cap in GB. Defaults to \u003cspan pulumi-lang-nodejs=\"`100`\" pulumi-lang-dotnet=\"`100`\" pulumi-lang-go=\"`100`\" pulumi-lang-python=\"`100`\" pulumi-lang-yaml=\"`100`\" pulumi-lang-java=\"`100`\"\u003e`100`\u003c/span\u003e.\n"},"dailyDataCapNotificationsDisabled":{"type":"boolean","description":"Specifies if a notification email will be sent when the daily data volume cap is met. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"disableIpMasking":{"type":"boolean","description":"By default the real client IP is masked as `0.0.0.0` in the logs. Use this argument to disable masking and log the real client IP. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"forceCustomerStorageForProfiler":{"type":"boolean","description":"Should the Application Insights component force users to create their own storage account for profiling? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"instrumentationKey":{"type":"string","description":"The Instrumentation Key for this Application Insights component. (Sensitive)\n","secret":true},"internetIngestionEnabled":{"type":"boolean","description":"Should the Application Insights component support ingestion over the Public Internet? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"internetQueryEnabled":{"type":"boolean","description":"Should the Application Insights component support querying over the Public Internet? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"localAuthenticationDisabled":{"type":"boolean","description":"Disable Non-Azure AD based Auth. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"Specifies the name of the Application Insights component. Changing this forces a new resource to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the Application Insights component. Changing this forces a new resource to be created.\n"},"retentionInDays":{"type":"integer","description":"Specifies the retention period in days. Possible values are \u003cspan pulumi-lang-nodejs=\"`30`\" pulumi-lang-dotnet=\"`30`\" pulumi-lang-go=\"`30`\" pulumi-lang-python=\"`30`\" pulumi-lang-yaml=\"`30`\" pulumi-lang-java=\"`30`\"\u003e`30`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`60`\" pulumi-lang-dotnet=\"`60`\" pulumi-lang-go=\"`60`\" pulumi-lang-python=\"`60`\" pulumi-lang-yaml=\"`60`\" pulumi-lang-java=\"`60`\"\u003e`60`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`90`\" pulumi-lang-dotnet=\"`90`\" pulumi-lang-go=\"`90`\" pulumi-lang-python=\"`90`\" pulumi-lang-yaml=\"`90`\" pulumi-lang-java=\"`90`\"\u003e`90`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`120`\" pulumi-lang-dotnet=\"`120`\" pulumi-lang-go=\"`120`\" pulumi-lang-python=\"`120`\" pulumi-lang-yaml=\"`120`\" pulumi-lang-java=\"`120`\"\u003e`120`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`180`\" pulumi-lang-dotnet=\"`180`\" pulumi-lang-go=\"`180`\" pulumi-lang-python=\"`180`\" pulumi-lang-yaml=\"`180`\" pulumi-lang-java=\"`180`\"\u003e`180`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`270`\" pulumi-lang-dotnet=\"`270`\" pulumi-lang-go=\"`270`\" pulumi-lang-python=\"`270`\" pulumi-lang-yaml=\"`270`\" pulumi-lang-java=\"`270`\"\u003e`270`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`365`\" pulumi-lang-dotnet=\"`365`\" pulumi-lang-go=\"`365`\" pulumi-lang-python=\"`365`\" pulumi-lang-yaml=\"`365`\" pulumi-lang-java=\"`365`\"\u003e`365`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`550`\" pulumi-lang-dotnet=\"`550`\" pulumi-lang-go=\"`550`\" pulumi-lang-python=\"`550`\" pulumi-lang-yaml=\"`550`\" pulumi-lang-java=\"`550`\"\u003e`550`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`730`\" pulumi-lang-dotnet=\"`730`\" pulumi-lang-go=\"`730`\" pulumi-lang-python=\"`730`\" pulumi-lang-yaml=\"`730`\" pulumi-lang-java=\"`730`\"\u003e`730`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`90`\" pulumi-lang-dotnet=\"`90`\" pulumi-lang-go=\"`90`\" pulumi-lang-python=\"`90`\" pulumi-lang-yaml=\"`90`\" pulumi-lang-java=\"`90`\"\u003e`90`\u003c/span\u003e.\n"},"samplingPercentage":{"type":"number","description":"Specifies the percentage of the data produced by the monitored application that is sampled for Application Insights telemetry. Defaults to \u003cspan pulumi-lang-nodejs=\"`100`\" pulumi-lang-dotnet=\"`100`\" pulumi-lang-go=\"`100`\" pulumi-lang-python=\"`100`\" pulumi-lang-yaml=\"`100`\" pulumi-lang-java=\"`100`\"\u003e`100`\u003c/span\u003e.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"workspaceId":{"type":"string","description":"Specifies the id of a log analytics workspace resource.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`workspaceId`\" pulumi-lang-dotnet=\"`WorkspaceId`\" pulumi-lang-go=\"`workspaceId`\" pulumi-lang-python=\"`workspace_id`\" pulumi-lang-yaml=\"`workspaceId`\" pulumi-lang-java=\"`workspaceId`\"\u003e`workspace_id`\u003c/span\u003e cannot be removed after set. More details can be found at [Migrate to workspace-based Application Insights resources](https://docs.microsoft.com/azure/azure-monitor/app/convert-classic-resource#migration-process). If \u003cspan pulumi-lang-nodejs=\"`workspaceId`\" pulumi-lang-dotnet=\"`WorkspaceId`\" pulumi-lang-go=\"`workspaceId`\" pulumi-lang-python=\"`workspace_id`\" pulumi-lang-yaml=\"`workspaceId`\" pulumi-lang-java=\"`workspaceId`\"\u003e`workspace_id`\u003c/span\u003e is not specified but you encounter a diff, this might indicate a Microsoft initiated automatic migration from classic resources to workspace-based resources. If this is the case, please update \u003cspan pulumi-lang-nodejs=\"`workspaceId`\" pulumi-lang-dotnet=\"`WorkspaceId`\" pulumi-lang-go=\"`workspaceId`\" pulumi-lang-python=\"`workspace_id`\" pulumi-lang-yaml=\"`workspaceId`\" pulumi-lang-java=\"`workspaceId`\"\u003e`workspace_id`\u003c/span\u003e in the config file to the new value.\n"}},"required":["appId","applicationType","connectionString","instrumentationKey","location","name","resourceGroupName","workspaceId"],"inputProperties":{"applicationType":{"type":"string","description":"Specifies the type of Application Insights to create. Valid values are \u003cspan pulumi-lang-nodejs=\"`ios`\" pulumi-lang-dotnet=\"`Ios`\" pulumi-lang-go=\"`ios`\" pulumi-lang-python=\"`ios`\" pulumi-lang-yaml=\"`ios`\" pulumi-lang-java=\"`ios`\"\u003e`ios`\u003c/span\u003e for _iOS_, \u003cspan pulumi-lang-nodejs=\"`java`\" pulumi-lang-dotnet=\"`Java`\" pulumi-lang-go=\"`java`\" pulumi-lang-python=\"`java`\" pulumi-lang-yaml=\"`java`\" pulumi-lang-java=\"`java`\"\u003e`java`\u003c/span\u003e for _Java web_, `MobileCenter` for _App Center_, `Node.JS` for _Node.js_, \u003cspan pulumi-lang-nodejs=\"`other`\" pulumi-lang-dotnet=\"`Other`\" pulumi-lang-go=\"`other`\" pulumi-lang-python=\"`other`\" pulumi-lang-yaml=\"`other`\" pulumi-lang-java=\"`other`\"\u003e`other`\u003c/span\u003e for _General_, \u003cspan pulumi-lang-nodejs=\"`phone`\" pulumi-lang-dotnet=\"`Phone`\" pulumi-lang-go=\"`phone`\" pulumi-lang-python=\"`phone`\" pulumi-lang-yaml=\"`phone`\" pulumi-lang-java=\"`phone`\"\u003e`phone`\u003c/span\u003e for _Windows Phone_, \u003cspan pulumi-lang-nodejs=\"`store`\" pulumi-lang-dotnet=\"`Store`\" pulumi-lang-go=\"`store`\" pulumi-lang-python=\"`store`\" pulumi-lang-yaml=\"`store`\" pulumi-lang-java=\"`store`\"\u003e`store`\u003c/span\u003e for _Windows Store_ and \u003cspan pulumi-lang-nodejs=\"`web`\" pulumi-lang-dotnet=\"`Web`\" pulumi-lang-go=\"`web`\" pulumi-lang-python=\"`web`\" pulumi-lang-yaml=\"`web`\" pulumi-lang-java=\"`web`\"\u003e`web`\u003c/span\u003e for _ASP.NET_. Please note these values are case sensitive; unmatched values are treated as _ASP.NET_ by Azure. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"dailyDataCapInGb":{"type":"number","description":"Specifies the Application Insights component daily data volume cap in GB. Defaults to \u003cspan pulumi-lang-nodejs=\"`100`\" pulumi-lang-dotnet=\"`100`\" pulumi-lang-go=\"`100`\" pulumi-lang-python=\"`100`\" pulumi-lang-yaml=\"`100`\" pulumi-lang-java=\"`100`\"\u003e`100`\u003c/span\u003e.\n"},"dailyDataCapNotificationsDisabled":{"type":"boolean","description":"Specifies if a notification email will be sent when the daily data volume cap is met. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"disableIpMasking":{"type":"boolean","description":"By default the real client IP is masked as `0.0.0.0` in the logs. Use this argument to disable masking and log the real client IP. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"forceCustomerStorageForProfiler":{"type":"boolean","description":"Should the Application Insights component force users to create their own storage account for profiling? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"internetIngestionEnabled":{"type":"boolean","description":"Should the Application Insights component support ingestion over the Public Internet? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"internetQueryEnabled":{"type":"boolean","description":"Should the Application Insights component support querying over the Public Internet? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"localAuthenticationDisabled":{"type":"boolean","description":"Disable Non-Azure AD based Auth. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the Application Insights component. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the Application Insights component. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"retentionInDays":{"type":"integer","description":"Specifies the retention period in days. Possible values are \u003cspan pulumi-lang-nodejs=\"`30`\" pulumi-lang-dotnet=\"`30`\" pulumi-lang-go=\"`30`\" pulumi-lang-python=\"`30`\" pulumi-lang-yaml=\"`30`\" pulumi-lang-java=\"`30`\"\u003e`30`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`60`\" pulumi-lang-dotnet=\"`60`\" pulumi-lang-go=\"`60`\" pulumi-lang-python=\"`60`\" pulumi-lang-yaml=\"`60`\" pulumi-lang-java=\"`60`\"\u003e`60`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`90`\" pulumi-lang-dotnet=\"`90`\" pulumi-lang-go=\"`90`\" pulumi-lang-python=\"`90`\" pulumi-lang-yaml=\"`90`\" pulumi-lang-java=\"`90`\"\u003e`90`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`120`\" pulumi-lang-dotnet=\"`120`\" pulumi-lang-go=\"`120`\" pulumi-lang-python=\"`120`\" pulumi-lang-yaml=\"`120`\" pulumi-lang-java=\"`120`\"\u003e`120`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`180`\" pulumi-lang-dotnet=\"`180`\" pulumi-lang-go=\"`180`\" pulumi-lang-python=\"`180`\" pulumi-lang-yaml=\"`180`\" pulumi-lang-java=\"`180`\"\u003e`180`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`270`\" pulumi-lang-dotnet=\"`270`\" pulumi-lang-go=\"`270`\" pulumi-lang-python=\"`270`\" pulumi-lang-yaml=\"`270`\" pulumi-lang-java=\"`270`\"\u003e`270`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`365`\" pulumi-lang-dotnet=\"`365`\" pulumi-lang-go=\"`365`\" pulumi-lang-python=\"`365`\" pulumi-lang-yaml=\"`365`\" pulumi-lang-java=\"`365`\"\u003e`365`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`550`\" pulumi-lang-dotnet=\"`550`\" pulumi-lang-go=\"`550`\" pulumi-lang-python=\"`550`\" pulumi-lang-yaml=\"`550`\" pulumi-lang-java=\"`550`\"\u003e`550`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`730`\" pulumi-lang-dotnet=\"`730`\" pulumi-lang-go=\"`730`\" pulumi-lang-python=\"`730`\" pulumi-lang-yaml=\"`730`\" pulumi-lang-java=\"`730`\"\u003e`730`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`90`\" pulumi-lang-dotnet=\"`90`\" pulumi-lang-go=\"`90`\" pulumi-lang-python=\"`90`\" pulumi-lang-yaml=\"`90`\" pulumi-lang-java=\"`90`\"\u003e`90`\u003c/span\u003e.\n"},"samplingPercentage":{"type":"number","description":"Specifies the percentage of the data produced by the monitored application that is sampled for Application Insights telemetry. Defaults to \u003cspan pulumi-lang-nodejs=\"`100`\" pulumi-lang-dotnet=\"`100`\" pulumi-lang-go=\"`100`\" pulumi-lang-python=\"`100`\" pulumi-lang-yaml=\"`100`\" pulumi-lang-java=\"`100`\"\u003e`100`\u003c/span\u003e.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"workspaceId":{"type":"string","description":"Specifies the id of a log analytics workspace resource.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`workspaceId`\" pulumi-lang-dotnet=\"`WorkspaceId`\" pulumi-lang-go=\"`workspaceId`\" pulumi-lang-python=\"`workspace_id`\" pulumi-lang-yaml=\"`workspaceId`\" pulumi-lang-java=\"`workspaceId`\"\u003e`workspace_id`\u003c/span\u003e cannot be removed after set. More details can be found at [Migrate to workspace-based Application Insights resources](https://docs.microsoft.com/azure/azure-monitor/app/convert-classic-resource#migration-process). If \u003cspan pulumi-lang-nodejs=\"`workspaceId`\" pulumi-lang-dotnet=\"`WorkspaceId`\" pulumi-lang-go=\"`workspaceId`\" pulumi-lang-python=\"`workspace_id`\" pulumi-lang-yaml=\"`workspaceId`\" pulumi-lang-java=\"`workspaceId`\"\u003e`workspace_id`\u003c/span\u003e is not specified but you encounter a diff, this might indicate a Microsoft initiated automatic migration from classic resources to workspace-based resources. If this is the case, please update \u003cspan pulumi-lang-nodejs=\"`workspaceId`\" pulumi-lang-dotnet=\"`WorkspaceId`\" pulumi-lang-go=\"`workspaceId`\" pulumi-lang-python=\"`workspace_id`\" pulumi-lang-yaml=\"`workspaceId`\" pulumi-lang-java=\"`workspaceId`\"\u003e`workspace_id`\u003c/span\u003e in the config file to the new value.\n"}},"requiredInputs":["applicationType","resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering Insights resources.\n","properties":{"appId":{"type":"string","description":"The App ID associated with this Application Insights component.\n"},"applicationType":{"type":"string","description":"Specifies the type of Application Insights to create. Valid values are \u003cspan pulumi-lang-nodejs=\"`ios`\" pulumi-lang-dotnet=\"`Ios`\" pulumi-lang-go=\"`ios`\" pulumi-lang-python=\"`ios`\" pulumi-lang-yaml=\"`ios`\" pulumi-lang-java=\"`ios`\"\u003e`ios`\u003c/span\u003e for _iOS_, \u003cspan pulumi-lang-nodejs=\"`java`\" pulumi-lang-dotnet=\"`Java`\" pulumi-lang-go=\"`java`\" pulumi-lang-python=\"`java`\" pulumi-lang-yaml=\"`java`\" pulumi-lang-java=\"`java`\"\u003e`java`\u003c/span\u003e for _Java web_, `MobileCenter` for _App Center_, `Node.JS` for _Node.js_, \u003cspan pulumi-lang-nodejs=\"`other`\" pulumi-lang-dotnet=\"`Other`\" pulumi-lang-go=\"`other`\" pulumi-lang-python=\"`other`\" pulumi-lang-yaml=\"`other`\" pulumi-lang-java=\"`other`\"\u003e`other`\u003c/span\u003e for _General_, \u003cspan pulumi-lang-nodejs=\"`phone`\" pulumi-lang-dotnet=\"`Phone`\" pulumi-lang-go=\"`phone`\" pulumi-lang-python=\"`phone`\" pulumi-lang-yaml=\"`phone`\" pulumi-lang-java=\"`phone`\"\u003e`phone`\u003c/span\u003e for _Windows Phone_, \u003cspan pulumi-lang-nodejs=\"`store`\" pulumi-lang-dotnet=\"`Store`\" pulumi-lang-go=\"`store`\" pulumi-lang-python=\"`store`\" pulumi-lang-yaml=\"`store`\" pulumi-lang-java=\"`store`\"\u003e`store`\u003c/span\u003e for _Windows Store_ and \u003cspan pulumi-lang-nodejs=\"`web`\" pulumi-lang-dotnet=\"`Web`\" pulumi-lang-go=\"`web`\" pulumi-lang-python=\"`web`\" pulumi-lang-yaml=\"`web`\" pulumi-lang-java=\"`web`\"\u003e`web`\u003c/span\u003e for _ASP.NET_. Please note these values are case sensitive; unmatched values are treated as _ASP.NET_ by Azure. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"connectionString":{"type":"string","description":"The Connection String for this Application Insights component. (Sensitive)\n","secret":true},"dailyDataCapInGb":{"type":"number","description":"Specifies the Application Insights component daily data volume cap in GB. Defaults to \u003cspan pulumi-lang-nodejs=\"`100`\" pulumi-lang-dotnet=\"`100`\" pulumi-lang-go=\"`100`\" pulumi-lang-python=\"`100`\" pulumi-lang-yaml=\"`100`\" pulumi-lang-java=\"`100`\"\u003e`100`\u003c/span\u003e.\n"},"dailyDataCapNotificationsDisabled":{"type":"boolean","description":"Specifies if a notification email will be sent when the daily data volume cap is met. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"disableIpMasking":{"type":"boolean","description":"By default the real client IP is masked as `0.0.0.0` in the logs. Use this argument to disable masking and log the real client IP. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"forceCustomerStorageForProfiler":{"type":"boolean","description":"Should the Application Insights component force users to create their own storage account for profiling? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"instrumentationKey":{"type":"string","description":"The Instrumentation Key for this Application Insights component. (Sensitive)\n","secret":true},"internetIngestionEnabled":{"type":"boolean","description":"Should the Application Insights component support ingestion over the Public Internet? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"internetQueryEnabled":{"type":"boolean","description":"Should the Application Insights component support querying over the Public Internet? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"localAuthenticationDisabled":{"type":"boolean","description":"Disable Non-Azure AD based Auth. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the Application Insights component. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the Application Insights component. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"retentionInDays":{"type":"integer","description":"Specifies the retention period in days. Possible values are \u003cspan pulumi-lang-nodejs=\"`30`\" pulumi-lang-dotnet=\"`30`\" pulumi-lang-go=\"`30`\" pulumi-lang-python=\"`30`\" pulumi-lang-yaml=\"`30`\" pulumi-lang-java=\"`30`\"\u003e`30`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`60`\" pulumi-lang-dotnet=\"`60`\" pulumi-lang-go=\"`60`\" pulumi-lang-python=\"`60`\" pulumi-lang-yaml=\"`60`\" pulumi-lang-java=\"`60`\"\u003e`60`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`90`\" pulumi-lang-dotnet=\"`90`\" pulumi-lang-go=\"`90`\" pulumi-lang-python=\"`90`\" pulumi-lang-yaml=\"`90`\" pulumi-lang-java=\"`90`\"\u003e`90`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`120`\" pulumi-lang-dotnet=\"`120`\" pulumi-lang-go=\"`120`\" pulumi-lang-python=\"`120`\" pulumi-lang-yaml=\"`120`\" pulumi-lang-java=\"`120`\"\u003e`120`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`180`\" pulumi-lang-dotnet=\"`180`\" pulumi-lang-go=\"`180`\" pulumi-lang-python=\"`180`\" pulumi-lang-yaml=\"`180`\" pulumi-lang-java=\"`180`\"\u003e`180`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`270`\" pulumi-lang-dotnet=\"`270`\" pulumi-lang-go=\"`270`\" pulumi-lang-python=\"`270`\" pulumi-lang-yaml=\"`270`\" pulumi-lang-java=\"`270`\"\u003e`270`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`365`\" pulumi-lang-dotnet=\"`365`\" pulumi-lang-go=\"`365`\" pulumi-lang-python=\"`365`\" pulumi-lang-yaml=\"`365`\" pulumi-lang-java=\"`365`\"\u003e`365`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`550`\" pulumi-lang-dotnet=\"`550`\" pulumi-lang-go=\"`550`\" pulumi-lang-python=\"`550`\" pulumi-lang-yaml=\"`550`\" pulumi-lang-java=\"`550`\"\u003e`550`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`730`\" pulumi-lang-dotnet=\"`730`\" pulumi-lang-go=\"`730`\" pulumi-lang-python=\"`730`\" pulumi-lang-yaml=\"`730`\" pulumi-lang-java=\"`730`\"\u003e`730`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`90`\" pulumi-lang-dotnet=\"`90`\" pulumi-lang-go=\"`90`\" pulumi-lang-python=\"`90`\" pulumi-lang-yaml=\"`90`\" pulumi-lang-java=\"`90`\"\u003e`90`\u003c/span\u003e.\n"},"samplingPercentage":{"type":"number","description":"Specifies the percentage of the data produced by the monitored application that is sampled for Application Insights telemetry. Defaults to \u003cspan pulumi-lang-nodejs=\"`100`\" pulumi-lang-dotnet=\"`100`\" pulumi-lang-go=\"`100`\" pulumi-lang-python=\"`100`\" pulumi-lang-yaml=\"`100`\" pulumi-lang-java=\"`100`\"\u003e`100`\u003c/span\u003e.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"workspaceId":{"type":"string","description":"Specifies the id of a log analytics workspace resource.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`workspaceId`\" pulumi-lang-dotnet=\"`WorkspaceId`\" pulumi-lang-go=\"`workspaceId`\" pulumi-lang-python=\"`workspace_id`\" pulumi-lang-yaml=\"`workspaceId`\" pulumi-lang-java=\"`workspaceId`\"\u003e`workspace_id`\u003c/span\u003e cannot be removed after set. More details can be found at [Migrate to workspace-based Application Insights resources](https://docs.microsoft.com/azure/azure-monitor/app/convert-classic-resource#migration-process). If \u003cspan pulumi-lang-nodejs=\"`workspaceId`\" pulumi-lang-dotnet=\"`WorkspaceId`\" pulumi-lang-go=\"`workspaceId`\" pulumi-lang-python=\"`workspace_id`\" pulumi-lang-yaml=\"`workspaceId`\" pulumi-lang-java=\"`workspaceId`\"\u003e`workspace_id`\u003c/span\u003e is not specified but you encounter a diff, this might indicate a Microsoft initiated automatic migration from classic resources to workspace-based resources. If this is the case, please update \u003cspan pulumi-lang-nodejs=\"`workspaceId`\" pulumi-lang-dotnet=\"`WorkspaceId`\" pulumi-lang-go=\"`workspaceId`\" pulumi-lang-python=\"`workspace_id`\" pulumi-lang-yaml=\"`workspaceId`\" pulumi-lang-java=\"`workspaceId`\"\u003e`workspace_id`\u003c/span\u003e in the config file to the new value.\n"}},"type":"object"}},"azure:appinsights/smartDetectionRule:SmartDetectionRule":{"description":"Manages an Application Insights Smart Detection Rule.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"tf-test\",\n    location: \"West Europe\",\n});\nconst exampleInsights = new azure.appinsights.Insights(\"example\", {\n    name: \"tf-test-appinsights\",\n    location: example.location,\n    resourceGroupName: example.name,\n    applicationType: \"web\",\n});\nconst exampleSmartDetectionRule = new azure.appinsights.SmartDetectionRule(\"example\", {\n    name: \"Slow server response time\",\n    applicationInsightsId: exampleInsights.id,\n    enabled: false,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"tf-test\",\n    location=\"West Europe\")\nexample_insights = azure.appinsights.Insights(\"example\",\n    name=\"tf-test-appinsights\",\n    location=example.location,\n    resource_group_name=example.name,\n    application_type=\"web\")\nexample_smart_detection_rule = azure.appinsights.SmartDetectionRule(\"example\",\n    name=\"Slow server response time\",\n    application_insights_id=example_insights.id,\n    enabled=False)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"tf-test\",\n        Location = \"West Europe\",\n    });\n\n    var exampleInsights = new Azure.AppInsights.Insights(\"example\", new()\n    {\n        Name = \"tf-test-appinsights\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        ApplicationType = \"web\",\n    });\n\n    var exampleSmartDetectionRule = new Azure.AppInsights.SmartDetectionRule(\"example\", new()\n    {\n        Name = \"Slow server response time\",\n        ApplicationInsightsId = exampleInsights.Id,\n        Enabled = false,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/appinsights\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"tf-test\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleInsights, err := appinsights.NewInsights(ctx, \"example\", \u0026appinsights.InsightsArgs{\n\t\t\tName:              pulumi.String(\"tf-test-appinsights\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tApplicationType:   pulumi.String(\"web\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = appinsights.NewSmartDetectionRule(ctx, \"example\", \u0026appinsights.SmartDetectionRuleArgs{\n\t\t\tName:                  pulumi.String(\"Slow server response time\"),\n\t\t\tApplicationInsightsId: exampleInsights.ID(),\n\t\t\tEnabled:               pulumi.Bool(false),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.appinsights.Insights;\nimport com.pulumi.azure.appinsights.InsightsArgs;\nimport com.pulumi.azure.appinsights.SmartDetectionRule;\nimport com.pulumi.azure.appinsights.SmartDetectionRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"tf-test\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleInsights = new Insights(\"exampleInsights\", InsightsArgs.builder()\n            .name(\"tf-test-appinsights\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .applicationType(\"web\")\n            .build());\n\n        var exampleSmartDetectionRule = new SmartDetectionRule(\"exampleSmartDetectionRule\", SmartDetectionRuleArgs.builder()\n            .name(\"Slow server response time\")\n            .applicationInsightsId(exampleInsights.id())\n            .enabled(false)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: tf-test\n      location: West Europe\n  exampleInsights:\n    type: azure:appinsights:Insights\n    name: example\n    properties:\n      name: tf-test-appinsights\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      applicationType: web\n  exampleSmartDetectionRule:\n    type: azure:appinsights:SmartDetectionRule\n    name: example\n    properties:\n      name: Slow server response time\n      applicationInsightsId: ${exampleInsights.id}\n      enabled: false\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Insights` - 2015-05-01\n\n## Import\n\nApplication Insights Smart Detection Rules can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:appinsights/smartDetectionRule:SmartDetectionRule rule1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Insights/components/mycomponent1/proactiveDetectionConfigs/myrule1\n```\n\n","properties":{"additionalEmailRecipients":{"type":"array","items":{"type":"string"},"description":"Specifies a list of additional recipients that will be sent emails on this Application Insights Smart Detection Rule.\n\n\u003e **Note:** At least one read or write permission must be defined.\n"},"applicationInsightsId":{"type":"string","description":"The ID of the Application Insights component on which the Smart Detection Rule operates. Changing this forces a new resource to be created.\n"},"enabled":{"type":"boolean","description":"Is the Application Insights Smart Detection Rule enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"name":{"type":"string","description":"Specifies the name of the Application Insights Smart Detection Rule. Valid values include `Slow page load time`, `Slow server response time`, `Potential memory leak detected`, `Potential security issue detected`, `Long dependency duration`, `Degradation in server response time`, `Degradation in dependency duration`, `Degradation in trace severity ratio`, `Abnormal rise in exception volume`, `Abnormal rise in daily data volume`. Changing this forces a new resource to be created.\n"},"sendEmailsToSubscriptionOwners":{"type":"boolean","description":"Do emails get sent to subscription owners? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"}},"required":["applicationInsightsId","name"],"inputProperties":{"additionalEmailRecipients":{"type":"array","items":{"type":"string"},"description":"Specifies a list of additional recipients that will be sent emails on this Application Insights Smart Detection Rule.\n\n\u003e **Note:** At least one read or write permission must be defined.\n"},"applicationInsightsId":{"type":"string","description":"The ID of the Application Insights component on which the Smart Detection Rule operates. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"enabled":{"type":"boolean","description":"Is the Application Insights Smart Detection Rule enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"name":{"type":"string","description":"Specifies the name of the Application Insights Smart Detection Rule. Valid values include `Slow page load time`, `Slow server response time`, `Potential memory leak detected`, `Potential security issue detected`, `Long dependency duration`, `Degradation in server response time`, `Degradation in dependency duration`, `Degradation in trace severity ratio`, `Abnormal rise in exception volume`, `Abnormal rise in daily data volume`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sendEmailsToSubscriptionOwners":{"type":"boolean","description":"Do emails get sent to subscription owners? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"}},"requiredInputs":["applicationInsightsId"],"stateInputs":{"description":"Input properties used for looking up and filtering SmartDetectionRule resources.\n","properties":{"additionalEmailRecipients":{"type":"array","items":{"type":"string"},"description":"Specifies a list of additional recipients that will be sent emails on this Application Insights Smart Detection Rule.\n\n\u003e **Note:** At least one read or write permission must be defined.\n"},"applicationInsightsId":{"type":"string","description":"The ID of the Application Insights component on which the Smart Detection Rule operates. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"enabled":{"type":"boolean","description":"Is the Application Insights Smart Detection Rule enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"name":{"type":"string","description":"Specifies the name of the Application Insights Smart Detection Rule. Valid values include `Slow page load time`, `Slow server response time`, `Potential memory leak detected`, `Potential security issue detected`, `Long dependency duration`, `Degradation in server response time`, `Degradation in dependency duration`, `Degradation in trace severity ratio`, `Abnormal rise in exception volume`, `Abnormal rise in daily data volume`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sendEmailsToSubscriptionOwners":{"type":"boolean","description":"Do emails get sent to subscription owners? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"}},"type":"object"}},"azure:appinsights/standardWebTest:StandardWebTest":{"description":"Manages a Application Insights Standard WebTest.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"rg-example\",\n    location: \"West Europe\",\n});\nconst exampleInsights = new azure.appinsights.Insights(\"example\", {\n    name: \"example\",\n    location: example.location,\n    resourceGroupName: example.name,\n    applicationType: \"web\",\n});\nconst exampleStandardWebTest = new azure.appinsights.StandardWebTest(\"example\", {\n    name: \"example-test\",\n    resourceGroupName: example.name,\n    location: \"West Europe\",\n    applicationInsightsId: exampleInsights.id,\n    geoLocations: [\"example\"],\n    request: {\n        url: \"http://www.example.com\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"rg-example\",\n    location=\"West Europe\")\nexample_insights = azure.appinsights.Insights(\"example\",\n    name=\"example\",\n    location=example.location,\n    resource_group_name=example.name,\n    application_type=\"web\")\nexample_standard_web_test = azure.appinsights.StandardWebTest(\"example\",\n    name=\"example-test\",\n    resource_group_name=example.name,\n    location=\"West Europe\",\n    application_insights_id=example_insights.id,\n    geo_locations=[\"example\"],\n    request={\n        \"url\": \"http://www.example.com\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"rg-example\",\n        Location = \"West Europe\",\n    });\n\n    var exampleInsights = new Azure.AppInsights.Insights(\"example\", new()\n    {\n        Name = \"example\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        ApplicationType = \"web\",\n    });\n\n    var exampleStandardWebTest = new Azure.AppInsights.StandardWebTest(\"example\", new()\n    {\n        Name = \"example-test\",\n        ResourceGroupName = example.Name,\n        Location = \"West Europe\",\n        ApplicationInsightsId = exampleInsights.Id,\n        GeoLocations = new[]\n        {\n            \"example\",\n        },\n        Request = new Azure.AppInsights.Inputs.StandardWebTestRequestArgs\n        {\n            Url = \"http://www.example.com\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/appinsights\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"rg-example\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleInsights, err := appinsights.NewInsights(ctx, \"example\", \u0026appinsights.InsightsArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tApplicationType:   pulumi.String(\"web\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = appinsights.NewStandardWebTest(ctx, \"example\", \u0026appinsights.StandardWebTestArgs{\n\t\t\tName:                  pulumi.String(\"example-test\"),\n\t\t\tResourceGroupName:     example.Name,\n\t\t\tLocation:              pulumi.String(\"West Europe\"),\n\t\t\tApplicationInsightsId: exampleInsights.ID(),\n\t\t\tGeoLocations: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"example\"),\n\t\t\t},\n\t\t\tRequest: \u0026appinsights.StandardWebTestRequestArgs{\n\t\t\t\tUrl: pulumi.String(\"http://www.example.com\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.appinsights.Insights;\nimport com.pulumi.azure.appinsights.InsightsArgs;\nimport com.pulumi.azure.appinsights.StandardWebTest;\nimport com.pulumi.azure.appinsights.StandardWebTestArgs;\nimport com.pulumi.azure.appinsights.inputs.StandardWebTestRequestArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"rg-example\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleInsights = new Insights(\"exampleInsights\", InsightsArgs.builder()\n            .name(\"example\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .applicationType(\"web\")\n            .build());\n\n        var exampleStandardWebTest = new StandardWebTest(\"exampleStandardWebTest\", StandardWebTestArgs.builder()\n            .name(\"example-test\")\n            .resourceGroupName(example.name())\n            .location(\"West Europe\")\n            .applicationInsightsId(exampleInsights.id())\n            .geoLocations(\"example\")\n            .request(StandardWebTestRequestArgs.builder()\n                .url(\"http://www.example.com\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: rg-example\n      location: West Europe\n  exampleInsights:\n    type: azure:appinsights:Insights\n    name: example\n    properties:\n      name: example\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      applicationType: web\n  exampleStandardWebTest:\n    type: azure:appinsights:StandardWebTest\n    name: example\n    properties:\n      name: example-test\n      resourceGroupName: ${example.name}\n      location: West Europe\n      applicationInsightsId: ${exampleInsights.id}\n      geoLocations:\n        - example\n      request:\n        url: http://www.example.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Insights` - 2022-06-15\n\n## Import\n\nApplication Insights Standard WebTests can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:appinsights/standardWebTest:StandardWebTest example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Insights/webTests/appinsightswebtest\n```\n\n","properties":{"applicationInsightsId":{"type":"string","description":"The ID of the Application Insights instance on which the WebTest operates. Changing this forces a new Application Insights Standard WebTest to be created.\n"},"description":{"type":"string","description":"Purpose/user defined descriptive test for this WebTest.\n"},"enabled":{"type":"boolean","description":"Should the WebTest be enabled?\n"},"frequency":{"type":"integer","description":"Interval in seconds between test runs for this WebTest. Valid options are \u003cspan pulumi-lang-nodejs=\"`300`\" pulumi-lang-dotnet=\"`300`\" pulumi-lang-go=\"`300`\" pulumi-lang-python=\"`300`\" pulumi-lang-yaml=\"`300`\" pulumi-lang-java=\"`300`\"\u003e`300`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`600`\" pulumi-lang-dotnet=\"`600`\" pulumi-lang-go=\"`600`\" pulumi-lang-python=\"`600`\" pulumi-lang-yaml=\"`600`\" pulumi-lang-java=\"`600`\"\u003e`600`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`900`\" pulumi-lang-dotnet=\"`900`\" pulumi-lang-go=\"`900`\" pulumi-lang-python=\"`900`\" pulumi-lang-yaml=\"`900`\" pulumi-lang-java=\"`900`\"\u003e`900`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`300`\" pulumi-lang-dotnet=\"`300`\" pulumi-lang-go=\"`300`\" pulumi-lang-python=\"`300`\" pulumi-lang-yaml=\"`300`\" pulumi-lang-java=\"`300`\"\u003e`300`\u003c/span\u003e.\n"},"geoLocations":{"type":"array","items":{"type":"string"},"description":"Specifies a list of where to physically run the tests from to give global coverage for accessibility of your application.\n\n\u003e **Note:** [Valid options for geo locations are described here](https://docs.microsoft.com/azure/azure-monitor/app/monitor-web-app-availability#location-population-tags)\n"},"location":{"type":"string","description":"The Azure Region where the Application Insights Standard WebTest should exist. Changing this forces a new Application Insights Standard WebTest to be created. It needs to correlate with location of the parent resource (azurerm_application_insights)\n"},"name":{"type":"string","description":"The name which should be used for this Application Insights Standard WebTest. Changing this forces a new Application Insights Standard WebTest to be created.\n"},"request":{"$ref":"#/types/azure:appinsights/StandardWebTestRequest:StandardWebTestRequest","description":"A \u003cspan pulumi-lang-nodejs=\"`request`\" pulumi-lang-dotnet=\"`Request`\" pulumi-lang-go=\"`request`\" pulumi-lang-python=\"`request`\" pulumi-lang-yaml=\"`request`\" pulumi-lang-java=\"`request`\"\u003e`request`\u003c/span\u003e block as defined below.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Application Insights Standard WebTest should exist. Changing this forces a new Application Insights Standard WebTest to be created.\n"},"retryEnabled":{"type":"boolean","description":"Should the retry on WebTest failure be enabled?\n"},"syntheticMonitorId":{"type":"string","description":"Unique ID of this WebTest. This is typically the same value as the Name field.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Application Insights Standard WebTest.\n"},"timeout":{"type":"integer","description":"Seconds until this WebTest will timeout and fail. Default is \u003cspan pulumi-lang-nodejs=\"`30`\" pulumi-lang-dotnet=\"`30`\" pulumi-lang-go=\"`30`\" pulumi-lang-python=\"`30`\" pulumi-lang-yaml=\"`30`\" pulumi-lang-java=\"`30`\"\u003e`30`\u003c/span\u003e.\n"},"validationRules":{"$ref":"#/types/azure:appinsights/StandardWebTestValidationRules:StandardWebTestValidationRules","description":"A \u003cspan pulumi-lang-nodejs=\"`validationRules`\" pulumi-lang-dotnet=\"`ValidationRules`\" pulumi-lang-go=\"`validationRules`\" pulumi-lang-python=\"`validation_rules`\" pulumi-lang-yaml=\"`validationRules`\" pulumi-lang-java=\"`validationRules`\"\u003e`validation_rules`\u003c/span\u003e block as defined below.\n"}},"required":["applicationInsightsId","geoLocations","location","name","request","resourceGroupName","syntheticMonitorId"],"inputProperties":{"applicationInsightsId":{"type":"string","description":"The ID of the Application Insights instance on which the WebTest operates. Changing this forces a new Application Insights Standard WebTest to be created.\n","willReplaceOnChanges":true},"description":{"type":"string","description":"Purpose/user defined descriptive test for this WebTest.\n"},"enabled":{"type":"boolean","description":"Should the WebTest be enabled?\n"},"frequency":{"type":"integer","description":"Interval in seconds between test runs for this WebTest. Valid options are \u003cspan pulumi-lang-nodejs=\"`300`\" pulumi-lang-dotnet=\"`300`\" pulumi-lang-go=\"`300`\" pulumi-lang-python=\"`300`\" pulumi-lang-yaml=\"`300`\" pulumi-lang-java=\"`300`\"\u003e`300`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`600`\" pulumi-lang-dotnet=\"`600`\" pulumi-lang-go=\"`600`\" pulumi-lang-python=\"`600`\" pulumi-lang-yaml=\"`600`\" pulumi-lang-java=\"`600`\"\u003e`600`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`900`\" pulumi-lang-dotnet=\"`900`\" pulumi-lang-go=\"`900`\" pulumi-lang-python=\"`900`\" pulumi-lang-yaml=\"`900`\" pulumi-lang-java=\"`900`\"\u003e`900`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`300`\" pulumi-lang-dotnet=\"`300`\" pulumi-lang-go=\"`300`\" pulumi-lang-python=\"`300`\" pulumi-lang-yaml=\"`300`\" pulumi-lang-java=\"`300`\"\u003e`300`\u003c/span\u003e.\n"},"geoLocations":{"type":"array","items":{"type":"string"},"description":"Specifies a list of where to physically run the tests from to give global coverage for accessibility of your application.\n\n\u003e **Note:** [Valid options for geo locations are described here](https://docs.microsoft.com/azure/azure-monitor/app/monitor-web-app-availability#location-population-tags)\n"},"location":{"type":"string","description":"The Azure Region where the Application Insights Standard WebTest should exist. Changing this forces a new Application Insights Standard WebTest to be created. It needs to correlate with location of the parent resource (azurerm_application_insights)\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Application Insights Standard WebTest. Changing this forces a new Application Insights Standard WebTest to be created.\n","willReplaceOnChanges":true},"request":{"$ref":"#/types/azure:appinsights/StandardWebTestRequest:StandardWebTestRequest","description":"A \u003cspan pulumi-lang-nodejs=\"`request`\" pulumi-lang-dotnet=\"`Request`\" pulumi-lang-go=\"`request`\" pulumi-lang-python=\"`request`\" pulumi-lang-yaml=\"`request`\" pulumi-lang-java=\"`request`\"\u003e`request`\u003c/span\u003e block as defined below.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Application Insights Standard WebTest should exist. Changing this forces a new Application Insights Standard WebTest to be created.\n","willReplaceOnChanges":true},"retryEnabled":{"type":"boolean","description":"Should the retry on WebTest failure be enabled?\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Application Insights Standard WebTest.\n"},"timeout":{"type":"integer","description":"Seconds until this WebTest will timeout and fail. Default is \u003cspan pulumi-lang-nodejs=\"`30`\" pulumi-lang-dotnet=\"`30`\" pulumi-lang-go=\"`30`\" pulumi-lang-python=\"`30`\" pulumi-lang-yaml=\"`30`\" pulumi-lang-java=\"`30`\"\u003e`30`\u003c/span\u003e.\n"},"validationRules":{"$ref":"#/types/azure:appinsights/StandardWebTestValidationRules:StandardWebTestValidationRules","description":"A \u003cspan pulumi-lang-nodejs=\"`validationRules`\" pulumi-lang-dotnet=\"`ValidationRules`\" pulumi-lang-go=\"`validationRules`\" pulumi-lang-python=\"`validation_rules`\" pulumi-lang-yaml=\"`validationRules`\" pulumi-lang-java=\"`validationRules`\"\u003e`validation_rules`\u003c/span\u003e block as defined below.\n"}},"requiredInputs":["applicationInsightsId","geoLocations","request","resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering StandardWebTest resources.\n","properties":{"applicationInsightsId":{"type":"string","description":"The ID of the Application Insights instance on which the WebTest operates. Changing this forces a new Application Insights Standard WebTest to be created.\n","willReplaceOnChanges":true},"description":{"type":"string","description":"Purpose/user defined descriptive test for this WebTest.\n"},"enabled":{"type":"boolean","description":"Should the WebTest be enabled?\n"},"frequency":{"type":"integer","description":"Interval in seconds between test runs for this WebTest. Valid options are \u003cspan pulumi-lang-nodejs=\"`300`\" pulumi-lang-dotnet=\"`300`\" pulumi-lang-go=\"`300`\" pulumi-lang-python=\"`300`\" pulumi-lang-yaml=\"`300`\" pulumi-lang-java=\"`300`\"\u003e`300`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`600`\" pulumi-lang-dotnet=\"`600`\" pulumi-lang-go=\"`600`\" pulumi-lang-python=\"`600`\" pulumi-lang-yaml=\"`600`\" pulumi-lang-java=\"`600`\"\u003e`600`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`900`\" pulumi-lang-dotnet=\"`900`\" pulumi-lang-go=\"`900`\" pulumi-lang-python=\"`900`\" pulumi-lang-yaml=\"`900`\" pulumi-lang-java=\"`900`\"\u003e`900`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`300`\" pulumi-lang-dotnet=\"`300`\" pulumi-lang-go=\"`300`\" pulumi-lang-python=\"`300`\" pulumi-lang-yaml=\"`300`\" pulumi-lang-java=\"`300`\"\u003e`300`\u003c/span\u003e.\n"},"geoLocations":{"type":"array","items":{"type":"string"},"description":"Specifies a list of where to physically run the tests from to give global coverage for accessibility of your application.\n\n\u003e **Note:** [Valid options for geo locations are described here](https://docs.microsoft.com/azure/azure-monitor/app/monitor-web-app-availability#location-population-tags)\n"},"location":{"type":"string","description":"The Azure Region where the Application Insights Standard WebTest should exist. Changing this forces a new Application Insights Standard WebTest to be created. It needs to correlate with location of the parent resource (azurerm_application_insights)\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Application Insights Standard WebTest. Changing this forces a new Application Insights Standard WebTest to be created.\n","willReplaceOnChanges":true},"request":{"$ref":"#/types/azure:appinsights/StandardWebTestRequest:StandardWebTestRequest","description":"A \u003cspan pulumi-lang-nodejs=\"`request`\" pulumi-lang-dotnet=\"`Request`\" pulumi-lang-go=\"`request`\" pulumi-lang-python=\"`request`\" pulumi-lang-yaml=\"`request`\" pulumi-lang-java=\"`request`\"\u003e`request`\u003c/span\u003e block as defined below.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Application Insights Standard WebTest should exist. Changing this forces a new Application Insights Standard WebTest to be created.\n","willReplaceOnChanges":true},"retryEnabled":{"type":"boolean","description":"Should the retry on WebTest failure be enabled?\n"},"syntheticMonitorId":{"type":"string","description":"Unique ID of this WebTest. This is typically the same value as the Name field.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Application Insights Standard WebTest.\n"},"timeout":{"type":"integer","description":"Seconds until this WebTest will timeout and fail. Default is \u003cspan pulumi-lang-nodejs=\"`30`\" pulumi-lang-dotnet=\"`30`\" pulumi-lang-go=\"`30`\" pulumi-lang-python=\"`30`\" pulumi-lang-yaml=\"`30`\" pulumi-lang-java=\"`30`\"\u003e`30`\u003c/span\u003e.\n"},"validationRules":{"$ref":"#/types/azure:appinsights/StandardWebTestValidationRules:StandardWebTestValidationRules","description":"A \u003cspan pulumi-lang-nodejs=\"`validationRules`\" pulumi-lang-dotnet=\"`ValidationRules`\" pulumi-lang-go=\"`validationRules`\" pulumi-lang-python=\"`validation_rules`\" pulumi-lang-yaml=\"`validationRules`\" pulumi-lang-java=\"`validationRules`\"\u003e`validation_rules`\u003c/span\u003e block as defined below.\n"}},"type":"object"}},"azure:appinsights/webTest:WebTest":{"description":"Manages an Application Insights WebTest.\n\n\u003e **Note:** Despite the discrepancy in its name, this Terraform resource corresponds to the Azure resource 'Application Insights Classic Web Test'. Azure changed the name, but we retained the original name in Terraform to avoid disruption and ensure backward compatibility.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"tf-test\",\n    location: \"West Europe\",\n});\nconst exampleInsights = new azure.appinsights.Insights(\"example\", {\n    name: \"tf-test-appinsights\",\n    location: example.location,\n    resourceGroupName: example.name,\n    applicationType: \"web\",\n});\nconst exampleWebTest = new azure.appinsights.WebTest(\"example\", {\n    name: \"tf-test-appinsights-webtest\",\n    location: exampleInsights.location,\n    resourceGroupName: example.name,\n    applicationInsightsId: exampleInsights.id,\n    kind: \"ping\",\n    frequency: 300,\n    timeout: 60,\n    enabled: true,\n    geoLocations: [\n        \"us-tx-sn1-azr\",\n        \"us-il-ch1-azr\",\n    ],\n    configuration: `\u003cWebTest Name=\\\\\"WebTest1\\\\\" Id=\\\\\"ABD48585-0831-40CB-9069-682EA6BB3583\\\\\" Enabled=\\\\\"True\\\\\" CssProjectStructure=\\\\\"\\\\\" CssIteration=\\\\\"\\\\\" Timeout=\\\\\"0\\\\\" WorkItemIds=\\\\\"\\\\\" xmlns=\\\\\"http://microsoft.com/schemas/VisualStudio/TeamTest/2010\\\\\" Description=\\\\\"\\\\\" CredentialUserName=\\\\\"\\\\\" CredentialPassword=\\\\\"\\\\\" PreAuthenticate=\\\\\"True\\\\\" Proxy=\\\\\"default\\\\\" StopOnError=\\\\\"False\\\\\" RecordedResultFile=\\\\\"\\\\\" ResultsLocale=\\\\\"\\\\\"\u003e\n  \u003cItems\u003e\n    \u003cRequest Method=\\\\\"GET\\\\\" Guid=\\\\\"a5f10126-e4cd-570d-961c-cea43999a200\\\\\" Version=\\\\\"1.1\\\\\" Url=\\\\\"http://microsoft.com\\\\\" ThinkTime=\\\\\"0\\\\\" Timeout=\\\\\"300\\\\\" ParseDependentRequests=\\\\\"True\\\\\" FollowRedirects=\\\\\"True\\\\\" RecordResult=\\\\\"True\\\\\" Cache=\\\\\"False\\\\\" ResponseTimeGoal=\\\\\"0\\\\\" Encoding=\\\\\"utf-8\\\\\" ExpectedHttpStatusCode=\\\\\"200\\\\\" ExpectedResponseUrl=\\\\\"\\\\\" ReportingName=\\\\\"\\\\\" IgnoreHttpStatusCode=\\\\\"False\\\\\" /\u003e\n  \u003c/Items\u003e\n\u003c/WebTest\u003e\n`,\n});\nexport const webtestId = exampleWebTest.id;\nexport const webtestsSyntheticId = exampleWebTest.syntheticMonitorId;\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"tf-test\",\n    location=\"West Europe\")\nexample_insights = azure.appinsights.Insights(\"example\",\n    name=\"tf-test-appinsights\",\n    location=example.location,\n    resource_group_name=example.name,\n    application_type=\"web\")\nexample_web_test = azure.appinsights.WebTest(\"example\",\n    name=\"tf-test-appinsights-webtest\",\n    location=example_insights.location,\n    resource_group_name=example.name,\n    application_insights_id=example_insights.id,\n    kind=\"ping\",\n    frequency=300,\n    timeout=60,\n    enabled=True,\n    geo_locations=[\n        \"us-tx-sn1-azr\",\n        \"us-il-ch1-azr\",\n    ],\n    configuration=\"\"\"\u003cWebTest Name=\\\"WebTest1\\\" Id=\\\"ABD48585-0831-40CB-9069-682EA6BB3583\\\" Enabled=\\\"True\\\" CssProjectStructure=\\\"\\\" CssIteration=\\\"\\\" Timeout=\\\"0\\\" WorkItemIds=\\\"\\\" xmlns=\\\"http://microsoft.com/schemas/VisualStudio/TeamTest/2010\\\" Description=\\\"\\\" CredentialUserName=\\\"\\\" CredentialPassword=\\\"\\\" PreAuthenticate=\\\"True\\\" Proxy=\\\"default\\\" StopOnError=\\\"False\\\" RecordedResultFile=\\\"\\\" ResultsLocale=\\\"\\\"\u003e\n  \u003cItems\u003e\n    \u003cRequest Method=\\\"GET\\\" Guid=\\\"a5f10126-e4cd-570d-961c-cea43999a200\\\" Version=\\\"1.1\\\" Url=\\\"http://microsoft.com\\\" ThinkTime=\\\"0\\\" Timeout=\\\"300\\\" ParseDependentRequests=\\\"True\\\" FollowRedirects=\\\"True\\\" RecordResult=\\\"True\\\" Cache=\\\"False\\\" ResponseTimeGoal=\\\"0\\\" Encoding=\\\"utf-8\\\" ExpectedHttpStatusCode=\\\"200\\\" ExpectedResponseUrl=\\\"\\\" ReportingName=\\\"\\\" IgnoreHttpStatusCode=\\\"False\\\" /\u003e\n  \u003c/Items\u003e\n\u003c/WebTest\u003e\n\"\"\")\npulumi.export(\"webtestId\", example_web_test.id)\npulumi.export(\"webtestsSyntheticId\", example_web_test.synthetic_monitor_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"tf-test\",\n        Location = \"West Europe\",\n    });\n\n    var exampleInsights = new Azure.AppInsights.Insights(\"example\", new()\n    {\n        Name = \"tf-test-appinsights\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        ApplicationType = \"web\",\n    });\n\n    var exampleWebTest = new Azure.AppInsights.WebTest(\"example\", new()\n    {\n        Name = \"tf-test-appinsights-webtest\",\n        Location = exampleInsights.Location,\n        ResourceGroupName = example.Name,\n        ApplicationInsightsId = exampleInsights.Id,\n        Kind = \"ping\",\n        Frequency = 300,\n        Timeout = 60,\n        Enabled = true,\n        GeoLocations = new[]\n        {\n            \"us-tx-sn1-azr\",\n            \"us-il-ch1-azr\",\n        },\n        Configuration = @\"\u003cWebTest Name=\\\"\"WebTest1\\\"\" Id=\\\"\"ABD48585-0831-40CB-9069-682EA6BB3583\\\"\" Enabled=\\\"\"True\\\"\" CssProjectStructure=\\\"\"\\\"\" CssIteration=\\\"\"\\\"\" Timeout=\\\"\"0\\\"\" WorkItemIds=\\\"\"\\\"\" xmlns=\\\"\"http://microsoft.com/schemas/VisualStudio/TeamTest/2010\\\"\" Description=\\\"\"\\\"\" CredentialUserName=\\\"\"\\\"\" CredentialPassword=\\\"\"\\\"\" PreAuthenticate=\\\"\"True\\\"\" Proxy=\\\"\"default\\\"\" StopOnError=\\\"\"False\\\"\" RecordedResultFile=\\\"\"\\\"\" ResultsLocale=\\\"\"\\\"\"\u003e\n  \u003cItems\u003e\n    \u003cRequest Method=\\\"\"GET\\\"\" Guid=\\\"\"a5f10126-e4cd-570d-961c-cea43999a200\\\"\" Version=\\\"\"1.1\\\"\" Url=\\\"\"http://microsoft.com\\\"\" ThinkTime=\\\"\"0\\\"\" Timeout=\\\"\"300\\\"\" ParseDependentRequests=\\\"\"True\\\"\" FollowRedirects=\\\"\"True\\\"\" RecordResult=\\\"\"True\\\"\" Cache=\\\"\"False\\\"\" ResponseTimeGoal=\\\"\"0\\\"\" Encoding=\\\"\"utf-8\\\"\" ExpectedHttpStatusCode=\\\"\"200\\\"\" ExpectedResponseUrl=\\\"\"\\\"\" ReportingName=\\\"\"\\\"\" IgnoreHttpStatusCode=\\\"\"False\\\"\" /\u003e\n  \u003c/Items\u003e\n\u003c/WebTest\u003e\n\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"webtestId\"] = exampleWebTest.Id,\n        [\"webtestsSyntheticId\"] = exampleWebTest.SyntheticMonitorId,\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/appinsights\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"tf-test\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleInsights, err := appinsights.NewInsights(ctx, \"example\", \u0026appinsights.InsightsArgs{\n\t\t\tName:              pulumi.String(\"tf-test-appinsights\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tApplicationType:   pulumi.String(\"web\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleWebTest, err := appinsights.NewWebTest(ctx, \"example\", \u0026appinsights.WebTestArgs{\n\t\t\tName:                  pulumi.String(\"tf-test-appinsights-webtest\"),\n\t\t\tLocation:              exampleInsights.Location,\n\t\t\tResourceGroupName:     example.Name,\n\t\t\tApplicationInsightsId: exampleInsights.ID(),\n\t\t\tKind:                  pulumi.String(\"ping\"),\n\t\t\tFrequency:             pulumi.Int(300),\n\t\t\tTimeout:               pulumi.Int(60),\n\t\t\tEnabled:               pulumi.Bool(true),\n\t\t\tGeoLocations: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"us-tx-sn1-azr\"),\n\t\t\t\tpulumi.String(\"us-il-ch1-azr\"),\n\t\t\t},\n\t\t\tConfiguration: pulumi.String(`\u003cWebTest Name=\\\"WebTest1\\\" Id=\\\"ABD48585-0831-40CB-9069-682EA6BB3583\\\" Enabled=\\\"True\\\" CssProjectStructure=\\\"\\\" CssIteration=\\\"\\\" Timeout=\\\"0\\\" WorkItemIds=\\\"\\\" xmlns=\\\"http://microsoft.com/schemas/VisualStudio/TeamTest/2010\\\" Description=\\\"\\\" CredentialUserName=\\\"\\\" CredentialPassword=\\\"\\\" PreAuthenticate=\\\"True\\\" Proxy=\\\"default\\\" StopOnError=\\\"False\\\" RecordedResultFile=\\\"\\\" ResultsLocale=\\\"\\\"\u003e\n  \u003cItems\u003e\n    \u003cRequest Method=\\\"GET\\\" Guid=\\\"a5f10126-e4cd-570d-961c-cea43999a200\\\" Version=\\\"1.1\\\" Url=\\\"http://microsoft.com\\\" ThinkTime=\\\"0\\\" Timeout=\\\"300\\\" ParseDependentRequests=\\\"True\\\" FollowRedirects=\\\"True\\\" RecordResult=\\\"True\\\" Cache=\\\"False\\\" ResponseTimeGoal=\\\"0\\\" Encoding=\\\"utf-8\\\" ExpectedHttpStatusCode=\\\"200\\\" ExpectedResponseUrl=\\\"\\\" ReportingName=\\\"\\\" IgnoreHttpStatusCode=\\\"False\\\" /\u003e\n  \u003c/Items\u003e\n\u003c/WebTest\u003e\n`),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"webtestId\", exampleWebTest.ID())\n\t\tctx.Export(\"webtestsSyntheticId\", exampleWebTest.SyntheticMonitorId)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.appinsights.Insights;\nimport com.pulumi.azure.appinsights.InsightsArgs;\nimport com.pulumi.azure.appinsights.WebTest;\nimport com.pulumi.azure.appinsights.WebTestArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"tf-test\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleInsights = new Insights(\"exampleInsights\", InsightsArgs.builder()\n            .name(\"tf-test-appinsights\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .applicationType(\"web\")\n            .build());\n\n        var exampleWebTest = new WebTest(\"exampleWebTest\", WebTestArgs.builder()\n            .name(\"tf-test-appinsights-webtest\")\n            .location(exampleInsights.location())\n            .resourceGroupName(example.name())\n            .applicationInsightsId(exampleInsights.id())\n            .kind(\"ping\")\n            .frequency(300)\n            .timeout(60)\n            .enabled(true)\n            .geoLocations(            \n                \"us-tx-sn1-azr\",\n                \"us-il-ch1-azr\")\n            .configuration(\"\"\"\n\u003cWebTest Name=\\\"WebTest1\\\" Id=\\\"ABD48585-0831-40CB-9069-682EA6BB3583\\\" Enabled=\\\"True\\\" CssProjectStructure=\\\"\\\" CssIteration=\\\"\\\" Timeout=\\\"0\\\" WorkItemIds=\\\"\\\" xmlns=\\\"http://microsoft.com/schemas/VisualStudio/TeamTest/2010\\\" Description=\\\"\\\" CredentialUserName=\\\"\\\" CredentialPassword=\\\"\\\" PreAuthenticate=\\\"True\\\" Proxy=\\\"default\\\" StopOnError=\\\"False\\\" RecordedResultFile=\\\"\\\" ResultsLocale=\\\"\\\"\u003e\n  \u003cItems\u003e\n    \u003cRequest Method=\\\"GET\\\" Guid=\\\"a5f10126-e4cd-570d-961c-cea43999a200\\\" Version=\\\"1.1\\\" Url=\\\"http://microsoft.com\\\" ThinkTime=\\\"0\\\" Timeout=\\\"300\\\" ParseDependentRequests=\\\"True\\\" FollowRedirects=\\\"True\\\" RecordResult=\\\"True\\\" Cache=\\\"False\\\" ResponseTimeGoal=\\\"0\\\" Encoding=\\\"utf-8\\\" ExpectedHttpStatusCode=\\\"200\\\" ExpectedResponseUrl=\\\"\\\" ReportingName=\\\"\\\" IgnoreHttpStatusCode=\\\"False\\\" /\u003e\n  \u003c/Items\u003e\n\u003c/WebTest\u003e\n            \"\"\")\n            .build());\n\n        ctx.export(\"webtestId\", exampleWebTest.id());\n        ctx.export(\"webtestsSyntheticId\", exampleWebTest.syntheticMonitorId());\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: tf-test\n      location: West Europe\n  exampleInsights:\n    type: azure:appinsights:Insights\n    name: example\n    properties:\n      name: tf-test-appinsights\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      applicationType: web\n  exampleWebTest:\n    type: azure:appinsights:WebTest\n    name: example\n    properties:\n      name: tf-test-appinsights-webtest\n      location: ${exampleInsights.location}\n      resourceGroupName: ${example.name}\n      applicationInsightsId: ${exampleInsights.id}\n      kind: ping\n      frequency: 300\n      timeout: 60\n      enabled: true\n      geoLocations:\n        - us-tx-sn1-azr\n        - us-il-ch1-azr\n      configuration: |\n        \u003cWebTest Name=\\\"WebTest1\\\" Id=\\\"ABD48585-0831-40CB-9069-682EA6BB3583\\\" Enabled=\\\"True\\\" CssProjectStructure=\\\"\\\" CssIteration=\\\"\\\" Timeout=\\\"0\\\" WorkItemIds=\\\"\\\" xmlns=\\\"http://microsoft.com/schemas/VisualStudio/TeamTest/2010\\\" Description=\\\"\\\" CredentialUserName=\\\"\\\" CredentialPassword=\\\"\\\" PreAuthenticate=\\\"True\\\" Proxy=\\\"default\\\" StopOnError=\\\"False\\\" RecordedResultFile=\\\"\\\" ResultsLocale=\\\"\\\"\u003e\n          \u003cItems\u003e\n            \u003cRequest Method=\\\"GET\\\" Guid=\\\"a5f10126-e4cd-570d-961c-cea43999a200\\\" Version=\\\"1.1\\\" Url=\\\"http://microsoft.com\\\" ThinkTime=\\\"0\\\" Timeout=\\\"300\\\" ParseDependentRequests=\\\"True\\\" FollowRedirects=\\\"True\\\" RecordResult=\\\"True\\\" Cache=\\\"False\\\" ResponseTimeGoal=\\\"0\\\" Encoding=\\\"utf-8\\\" ExpectedHttpStatusCode=\\\"200\\\" ExpectedResponseUrl=\\\"\\\" ReportingName=\\\"\\\" IgnoreHttpStatusCode=\\\"False\\\" /\u003e\n          \u003c/Items\u003e\n        \u003c/WebTest\u003e\noutputs:\n  webtestId: ${exampleWebTest.id}\n  webtestsSyntheticId: ${exampleWebTest.syntheticMonitorId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Insights` - 2022-06-15\n\n## Import\n\nApplication Insights Web Tests can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:appinsights/webTest:WebTest my_test /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Insights/webTests/my_test\n```\n\n","properties":{"applicationInsightsId":{"type":"string","description":"The ID of the Application Insights component on which the WebTest operates. Changing this forces a new resource to be created.\n"},"configuration":{"type":"string","description":"An XML configuration specification for a WebTest ([see here for more information](https://docs.microsoft.com/rest/api/application-insights/webtests/createorupdate/)).\n"},"description":{"type":"string","description":"Purpose/user defined descriptive test for this WebTest.\n"},"enabled":{"type":"boolean","description":"Is the test actively being monitored.\n"},"frequency":{"type":"integer","description":"Interval in seconds between test runs for this WebTest. Valid options are \u003cspan pulumi-lang-nodejs=\"`300`\" pulumi-lang-dotnet=\"`300`\" pulumi-lang-go=\"`300`\" pulumi-lang-python=\"`300`\" pulumi-lang-yaml=\"`300`\" pulumi-lang-java=\"`300`\"\u003e`300`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`600`\" pulumi-lang-dotnet=\"`600`\" pulumi-lang-go=\"`600`\" pulumi-lang-python=\"`600`\" pulumi-lang-yaml=\"`600`\" pulumi-lang-java=\"`600`\"\u003e`600`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`900`\" pulumi-lang-dotnet=\"`900`\" pulumi-lang-go=\"`900`\" pulumi-lang-python=\"`900`\" pulumi-lang-yaml=\"`900`\" pulumi-lang-java=\"`900`\"\u003e`900`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`300`\" pulumi-lang-dotnet=\"`300`\" pulumi-lang-go=\"`300`\" pulumi-lang-python=\"`300`\" pulumi-lang-yaml=\"`300`\" pulumi-lang-java=\"`300`\"\u003e`300`\u003c/span\u003e.\n"},"geoLocations":{"type":"array","items":{"type":"string"},"description":"A list of where to physically run the tests from to give global coverage for accessibility of your application.\n\n\u003e **Note:** [Valid options for geo locations are described here](https://docs.microsoft.com/azure/azure-monitor/app/monitor-web-app-availability#location-population-tags)\n"},"kind":{"type":"string","description":"The kind of web test that this web test watches. Choices are \u003cspan pulumi-lang-nodejs=\"`ping`\" pulumi-lang-dotnet=\"`Ping`\" pulumi-lang-go=\"`ping`\" pulumi-lang-python=\"`ping`\" pulumi-lang-yaml=\"`ping`\" pulumi-lang-java=\"`ping`\"\u003e`ping`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`multistep`\" pulumi-lang-dotnet=\"`Multistep`\" pulumi-lang-go=\"`multistep`\" pulumi-lang-python=\"`multistep`\" pulumi-lang-yaml=\"`multistep`\" pulumi-lang-java=\"`multistep`\"\u003e`multistep`\u003c/span\u003e. Changing this forces a new resource to be created.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created. It needs to correlate with location of parent resource (azurerm_application_insights).\n"},"name":{"type":"string","description":"Specifies the name of the Application Insights WebTest. Changing this forces a new resource to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the Application Insights WebTest. Changing this forces a new resource\n"},"retryEnabled":{"type":"boolean","description":"Allow for retries should this WebTest fail.\n"},"syntheticMonitorId":{"type":"string"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"timeout":{"type":"integer","description":"Seconds until this WebTest will timeout and fail. Default is \u003cspan pulumi-lang-nodejs=\"`30`\" pulumi-lang-dotnet=\"`30`\" pulumi-lang-go=\"`30`\" pulumi-lang-python=\"`30`\" pulumi-lang-yaml=\"`30`\" pulumi-lang-java=\"`30`\"\u003e`30`\u003c/span\u003e.\n"}},"required":["applicationInsightsId","configuration","geoLocations","kind","location","name","resourceGroupName","syntheticMonitorId"],"inputProperties":{"applicationInsightsId":{"type":"string","description":"The ID of the Application Insights component on which the WebTest operates. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"configuration":{"type":"string","description":"An XML configuration specification for a WebTest ([see here for more information](https://docs.microsoft.com/rest/api/application-insights/webtests/createorupdate/)).\n"},"description":{"type":"string","description":"Purpose/user defined descriptive test for this WebTest.\n"},"enabled":{"type":"boolean","description":"Is the test actively being monitored.\n"},"frequency":{"type":"integer","description":"Interval in seconds between test runs for this WebTest. Valid options are \u003cspan pulumi-lang-nodejs=\"`300`\" pulumi-lang-dotnet=\"`300`\" pulumi-lang-go=\"`300`\" pulumi-lang-python=\"`300`\" pulumi-lang-yaml=\"`300`\" pulumi-lang-java=\"`300`\"\u003e`300`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`600`\" pulumi-lang-dotnet=\"`600`\" pulumi-lang-go=\"`600`\" pulumi-lang-python=\"`600`\" pulumi-lang-yaml=\"`600`\" pulumi-lang-java=\"`600`\"\u003e`600`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`900`\" pulumi-lang-dotnet=\"`900`\" pulumi-lang-go=\"`900`\" pulumi-lang-python=\"`900`\" pulumi-lang-yaml=\"`900`\" pulumi-lang-java=\"`900`\"\u003e`900`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`300`\" pulumi-lang-dotnet=\"`300`\" pulumi-lang-go=\"`300`\" pulumi-lang-python=\"`300`\" pulumi-lang-yaml=\"`300`\" pulumi-lang-java=\"`300`\"\u003e`300`\u003c/span\u003e.\n"},"geoLocations":{"type":"array","items":{"type":"string"},"description":"A list of where to physically run the tests from to give global coverage for accessibility of your application.\n\n\u003e **Note:** [Valid options for geo locations are described here](https://docs.microsoft.com/azure/azure-monitor/app/monitor-web-app-availability#location-population-tags)\n"},"kind":{"type":"string","description":"The kind of web test that this web test watches. Choices are \u003cspan pulumi-lang-nodejs=\"`ping`\" pulumi-lang-dotnet=\"`Ping`\" pulumi-lang-go=\"`ping`\" pulumi-lang-python=\"`ping`\" pulumi-lang-yaml=\"`ping`\" pulumi-lang-java=\"`ping`\"\u003e`ping`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`multistep`\" pulumi-lang-dotnet=\"`Multistep`\" pulumi-lang-go=\"`multistep`\" pulumi-lang-python=\"`multistep`\" pulumi-lang-yaml=\"`multistep`\" pulumi-lang-java=\"`multistep`\"\u003e`multistep`\u003c/span\u003e. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created. It needs to correlate with location of parent resource (azurerm_application_insights).\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the Application Insights WebTest. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the Application Insights WebTest. Changing this forces a new resource\n","willReplaceOnChanges":true},"retryEnabled":{"type":"boolean","description":"Allow for retries should this WebTest fail.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"timeout":{"type":"integer","description":"Seconds until this WebTest will timeout and fail. Default is \u003cspan pulumi-lang-nodejs=\"`30`\" pulumi-lang-dotnet=\"`30`\" pulumi-lang-go=\"`30`\" pulumi-lang-python=\"`30`\" pulumi-lang-yaml=\"`30`\" pulumi-lang-java=\"`30`\"\u003e`30`\u003c/span\u003e.\n"}},"requiredInputs":["applicationInsightsId","configuration","geoLocations","kind","resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering WebTest resources.\n","properties":{"applicationInsightsId":{"type":"string","description":"The ID of the Application Insights component on which the WebTest operates. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"configuration":{"type":"string","description":"An XML configuration specification for a WebTest ([see here for more information](https://docs.microsoft.com/rest/api/application-insights/webtests/createorupdate/)).\n"},"description":{"type":"string","description":"Purpose/user defined descriptive test for this WebTest.\n"},"enabled":{"type":"boolean","description":"Is the test actively being monitored.\n"},"frequency":{"type":"integer","description":"Interval in seconds between test runs for this WebTest. Valid options are \u003cspan pulumi-lang-nodejs=\"`300`\" pulumi-lang-dotnet=\"`300`\" pulumi-lang-go=\"`300`\" pulumi-lang-python=\"`300`\" pulumi-lang-yaml=\"`300`\" pulumi-lang-java=\"`300`\"\u003e`300`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`600`\" pulumi-lang-dotnet=\"`600`\" pulumi-lang-go=\"`600`\" pulumi-lang-python=\"`600`\" pulumi-lang-yaml=\"`600`\" pulumi-lang-java=\"`600`\"\u003e`600`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`900`\" pulumi-lang-dotnet=\"`900`\" pulumi-lang-go=\"`900`\" pulumi-lang-python=\"`900`\" pulumi-lang-yaml=\"`900`\" pulumi-lang-java=\"`900`\"\u003e`900`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`300`\" pulumi-lang-dotnet=\"`300`\" pulumi-lang-go=\"`300`\" pulumi-lang-python=\"`300`\" pulumi-lang-yaml=\"`300`\" pulumi-lang-java=\"`300`\"\u003e`300`\u003c/span\u003e.\n"},"geoLocations":{"type":"array","items":{"type":"string"},"description":"A list of where to physically run the tests from to give global coverage for accessibility of your application.\n\n\u003e **Note:** [Valid options for geo locations are described here](https://docs.microsoft.com/azure/azure-monitor/app/monitor-web-app-availability#location-population-tags)\n"},"kind":{"type":"string","description":"The kind of web test that this web test watches. Choices are \u003cspan pulumi-lang-nodejs=\"`ping`\" pulumi-lang-dotnet=\"`Ping`\" pulumi-lang-go=\"`ping`\" pulumi-lang-python=\"`ping`\" pulumi-lang-yaml=\"`ping`\" pulumi-lang-java=\"`ping`\"\u003e`ping`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`multistep`\" pulumi-lang-dotnet=\"`Multistep`\" pulumi-lang-go=\"`multistep`\" pulumi-lang-python=\"`multistep`\" pulumi-lang-yaml=\"`multistep`\" pulumi-lang-java=\"`multistep`\"\u003e`multistep`\u003c/span\u003e. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created. It needs to correlate with location of parent resource (azurerm_application_insights).\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the Application Insights WebTest. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the Application Insights WebTest. Changing this forces a new resource\n","willReplaceOnChanges":true},"retryEnabled":{"type":"boolean","description":"Allow for retries should this WebTest fail.\n"},"syntheticMonitorId":{"type":"string"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"timeout":{"type":"integer","description":"Seconds until this WebTest will timeout and fail. Default is \u003cspan pulumi-lang-nodejs=\"`30`\" pulumi-lang-dotnet=\"`30`\" pulumi-lang-go=\"`30`\" pulumi-lang-python=\"`30`\" pulumi-lang-yaml=\"`30`\" pulumi-lang-java=\"`30`\"\u003e`30`\u003c/span\u003e.\n"}},"type":"object"}},"azure:appinsights/workbook:Workbook":{"description":"Manages an Azure Workbook.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleWorkbook = new azure.appinsights.Workbook(\"example\", {\n    name: \"85b3e8bb-fc93-40be-83f2-98f6bec18ba0\",\n    resourceGroupName: example.name,\n    location: example.location,\n    displayName: \"workbook1\",\n    dataJson: JSON.stringify({\n        version: \"Notebook/1.0\",\n        items: [{\n            type: 1,\n            content: {\n                json: \"Test2022\",\n            },\n            name: \"text - 0\",\n        }],\n        isLocked: false,\n        fallbackResourceIds: [\"Azure Monitor\"],\n    }),\n    tags: {\n        ENV: \"Test\",\n    },\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_workbook = azure.appinsights.Workbook(\"example\",\n    name=\"85b3e8bb-fc93-40be-83f2-98f6bec18ba0\",\n    resource_group_name=example.name,\n    location=example.location,\n    display_name=\"workbook1\",\n    data_json=json.dumps({\n        \"version\": \"Notebook/1.0\",\n        \"items\": [{\n            \"type\": 1,\n            \"content\": {\n                \"json\": \"Test2022\",\n            },\n            \"name\": \"text - 0\",\n        }],\n        \"isLocked\": False,\n        \"fallbackResourceIds\": [\"Azure Monitor\"],\n    }),\n    tags={\n        \"ENV\": \"Test\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleWorkbook = new Azure.AppInsights.Workbook(\"example\", new()\n    {\n        Name = \"85b3e8bb-fc93-40be-83f2-98f6bec18ba0\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        DisplayName = \"workbook1\",\n        DataJson = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n        {\n            [\"version\"] = \"Notebook/1.0\",\n            [\"items\"] = new[]\n            {\n                new Dictionary\u003cstring, object?\u003e\n                {\n                    [\"type\"] = 1,\n                    [\"content\"] = new Dictionary\u003cstring, object?\u003e\n                    {\n                        [\"json\"] = \"Test2022\",\n                    },\n                    [\"name\"] = \"text - 0\",\n                },\n            },\n            [\"isLocked\"] = false,\n            [\"fallbackResourceIds\"] = new[]\n            {\n                \"Azure Monitor\",\n            },\n        }),\n        Tags = \n        {\n            { \"ENV\", \"Test\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/appinsights\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"version\": \"Notebook/1.0\",\n\t\t\t\"items\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"type\": 1,\n\t\t\t\t\t\"content\": map[string]interface{}{\n\t\t\t\t\t\t\"json\": \"Test2022\",\n\t\t\t\t\t},\n\t\t\t\t\t\"name\": \"text - 0\",\n\t\t\t\t},\n\t\t\t},\n\t\t\t\"isLocked\": false,\n\t\t\t\"fallbackResourceIds\": []string{\n\t\t\t\t\"Azure Monitor\",\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson0 := string(tmpJSON0)\n\t\t_, err = appinsights.NewWorkbook(ctx, \"example\", \u0026appinsights.WorkbookArgs{\n\t\t\tName:              pulumi.String(\"85b3e8bb-fc93-40be-83f2-98f6bec18ba0\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tDisplayName:       pulumi.String(\"workbook1\"),\n\t\t\tDataJson:          pulumi.String(json0),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"ENV\": pulumi.String(\"Test\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.appinsights.Workbook;\nimport com.pulumi.azure.appinsights.WorkbookArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleWorkbook = new Workbook(\"exampleWorkbook\", WorkbookArgs.builder()\n            .name(\"85b3e8bb-fc93-40be-83f2-98f6bec18ba0\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .displayName(\"workbook1\")\n            .dataJson(serializeJson(\n                jsonObject(\n                    jsonProperty(\"version\", \"Notebook/1.0\"),\n                    jsonProperty(\"items\", jsonArray(jsonObject(\n                        jsonProperty(\"type\", 1),\n                        jsonProperty(\"content\", jsonObject(\n                            jsonProperty(\"json\", \"Test2022\")\n                        )),\n                        jsonProperty(\"name\", \"text - 0\")\n                    ))),\n                    jsonProperty(\"isLocked\", false),\n                    jsonProperty(\"fallbackResourceIds\", jsonArray(\"Azure Monitor\"))\n                )))\n            .tags(Map.of(\"ENV\", \"Test\"))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleWorkbook:\n    type: azure:appinsights:Workbook\n    name: example\n    properties:\n      name: 85b3e8bb-fc93-40be-83f2-98f6bec18ba0\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      displayName: workbook1\n      dataJson:\n        fn::toJSON:\n          version: Notebook/1.0\n          items:\n            - type: 1\n              content:\n                json: Test2022\n              name: text - 0\n          isLocked: false\n          fallbackResourceIds:\n            - Azure Monitor\n      tags:\n        ENV: Test\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Insights` - 2022-04-01\n\n## Import\n\nWorkbooks can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:appinsights/workbook:Workbook example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup1/providers/Microsoft.Insights/workbooks/resource1\n```\n\n","properties":{"category":{"type":"string","description":"Workbook category, as defined by the user at creation time. There may be additional category types beyond the following: \u003cspan pulumi-lang-nodejs=\"`workbook`\" pulumi-lang-dotnet=\"`Workbook`\" pulumi-lang-go=\"`workbook`\" pulumi-lang-python=\"`workbook`\" pulumi-lang-yaml=\"`workbook`\" pulumi-lang-java=\"`workbook`\"\u003e`workbook`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`sentinel`\" pulumi-lang-dotnet=\"`Sentinel`\" pulumi-lang-go=\"`sentinel`\" pulumi-lang-python=\"`sentinel`\" pulumi-lang-yaml=\"`sentinel`\" pulumi-lang-java=\"`sentinel`\"\u003e`sentinel`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`workbook`\" pulumi-lang-dotnet=\"`Workbook`\" pulumi-lang-go=\"`workbook`\" pulumi-lang-python=\"`workbook`\" pulumi-lang-yaml=\"`workbook`\" pulumi-lang-java=\"`workbook`\"\u003e`workbook`\u003c/span\u003e.\n"},"dataJson":{"type":"string","description":"Configuration of this particular workbook. Configuration data is a string containing valid JSON.\n"},"description":{"type":"string","description":"Specifies the description of the workbook.\n"},"displayName":{"type":"string","description":"Specifies the user-defined name (display name) of the workbook.\n"},"identity":{"$ref":"#/types/azure:appinsights/WorkbookIdentity:WorkbookIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below. Changing this forces a new Workbook to be created.\n"},"location":{"type":"string","description":"Specifies the Azure Region where the Workbook should exist. Changing this forces a new Workbook to be created.\n"},"name":{"type":"string","description":"Specifies the name of this Workbook as a UUID/GUID. It should not contain any uppercase letters. Changing this forces a new Workbook to be created.\n"},"resourceGroupName":{"type":"string","description":"Specifies the name of the Resource Group where the Workbook should exist. Changing this forces a new Workbook to be created.\n"},"sourceId":{"type":"string","description":"Resource ID for a source resource. It should not contain any uppercase letters. Defaults to `azure monitor`.\n"},"storageContainerId":{"type":"string","description":"Specifies the Resource Manager ID of the Storage Container when bring your own storage is used. Changing this forces a new Workbook to be created.\n\n\u003e **Note:** This is the Resource Manager ID of the Storage Container, rather than the regular ID - and can be accessed on the \u003cspan pulumi-lang-nodejs=\"`azure.storage.Container`\" pulumi-lang-dotnet=\"`azure.storage.Container`\" pulumi-lang-go=\"`storage.Container`\" pulumi-lang-python=\"`storage.Container`\" pulumi-lang-yaml=\"`azure.storage.Container`\" pulumi-lang-java=\"`azure.storage.Container`\"\u003e`azure.storage.Container`\u003c/span\u003e Data Source/Resource as \u003cspan pulumi-lang-nodejs=\"`resourceManagerId`\" pulumi-lang-dotnet=\"`ResourceManagerId`\" pulumi-lang-go=\"`resourceManagerId`\" pulumi-lang-python=\"`resource_manager_id`\" pulumi-lang-yaml=\"`resourceManagerId`\" pulumi-lang-java=\"`resourceManagerId`\"\u003e`resource_manager_id`\u003c/span\u003e.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Workbook.\n"}},"required":["dataJson","displayName","location","name","resourceGroupName"],"inputProperties":{"category":{"type":"string","description":"Workbook category, as defined by the user at creation time. There may be additional category types beyond the following: \u003cspan pulumi-lang-nodejs=\"`workbook`\" pulumi-lang-dotnet=\"`Workbook`\" pulumi-lang-go=\"`workbook`\" pulumi-lang-python=\"`workbook`\" pulumi-lang-yaml=\"`workbook`\" pulumi-lang-java=\"`workbook`\"\u003e`workbook`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`sentinel`\" pulumi-lang-dotnet=\"`Sentinel`\" pulumi-lang-go=\"`sentinel`\" pulumi-lang-python=\"`sentinel`\" pulumi-lang-yaml=\"`sentinel`\" pulumi-lang-java=\"`sentinel`\"\u003e`sentinel`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`workbook`\" pulumi-lang-dotnet=\"`Workbook`\" pulumi-lang-go=\"`workbook`\" pulumi-lang-python=\"`workbook`\" pulumi-lang-yaml=\"`workbook`\" pulumi-lang-java=\"`workbook`\"\u003e`workbook`\u003c/span\u003e.\n"},"dataJson":{"type":"string","description":"Configuration of this particular workbook. Configuration data is a string containing valid JSON.\n"},"description":{"type":"string","description":"Specifies the description of the workbook.\n"},"displayName":{"type":"string","description":"Specifies the user-defined name (display name) of the workbook.\n"},"identity":{"$ref":"#/types/azure:appinsights/WorkbookIdentity:WorkbookIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below. Changing this forces a new Workbook to be created.\n","willReplaceOnChanges":true},"location":{"type":"string","description":"Specifies the Azure Region where the Workbook should exist. Changing this forces a new Workbook to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of this Workbook as a UUID/GUID. It should not contain any uppercase letters. Changing this forces a new Workbook to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"Specifies the name of the Resource Group where the Workbook should exist. Changing this forces a new Workbook to be created.\n","willReplaceOnChanges":true},"sourceId":{"type":"string","description":"Resource ID for a source resource. It should not contain any uppercase letters. Defaults to `azure monitor`.\n"},"storageContainerId":{"type":"string","description":"Specifies the Resource Manager ID of the Storage Container when bring your own storage is used. Changing this forces a new Workbook to be created.\n\n\u003e **Note:** This is the Resource Manager ID of the Storage Container, rather than the regular ID - and can be accessed on the \u003cspan pulumi-lang-nodejs=\"`azure.storage.Container`\" pulumi-lang-dotnet=\"`azure.storage.Container`\" pulumi-lang-go=\"`storage.Container`\" pulumi-lang-python=\"`storage.Container`\" pulumi-lang-yaml=\"`azure.storage.Container`\" pulumi-lang-java=\"`azure.storage.Container`\"\u003e`azure.storage.Container`\u003c/span\u003e Data Source/Resource as \u003cspan pulumi-lang-nodejs=\"`resourceManagerId`\" pulumi-lang-dotnet=\"`ResourceManagerId`\" pulumi-lang-go=\"`resourceManagerId`\" pulumi-lang-python=\"`resource_manager_id`\" pulumi-lang-yaml=\"`resourceManagerId`\" pulumi-lang-java=\"`resourceManagerId`\"\u003e`resource_manager_id`\u003c/span\u003e.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Workbook.\n"}},"requiredInputs":["dataJson","displayName","resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering Workbook resources.\n","properties":{"category":{"type":"string","description":"Workbook category, as defined by the user at creation time. There may be additional category types beyond the following: \u003cspan pulumi-lang-nodejs=\"`workbook`\" pulumi-lang-dotnet=\"`Workbook`\" pulumi-lang-go=\"`workbook`\" pulumi-lang-python=\"`workbook`\" pulumi-lang-yaml=\"`workbook`\" pulumi-lang-java=\"`workbook`\"\u003e`workbook`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`sentinel`\" pulumi-lang-dotnet=\"`Sentinel`\" pulumi-lang-go=\"`sentinel`\" pulumi-lang-python=\"`sentinel`\" pulumi-lang-yaml=\"`sentinel`\" pulumi-lang-java=\"`sentinel`\"\u003e`sentinel`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`workbook`\" pulumi-lang-dotnet=\"`Workbook`\" pulumi-lang-go=\"`workbook`\" pulumi-lang-python=\"`workbook`\" pulumi-lang-yaml=\"`workbook`\" pulumi-lang-java=\"`workbook`\"\u003e`workbook`\u003c/span\u003e.\n"},"dataJson":{"type":"string","description":"Configuration of this particular workbook. Configuration data is a string containing valid JSON.\n"},"description":{"type":"string","description":"Specifies the description of the workbook.\n"},"displayName":{"type":"string","description":"Specifies the user-defined name (display name) of the workbook.\n"},"identity":{"$ref":"#/types/azure:appinsights/WorkbookIdentity:WorkbookIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below. Changing this forces a new Workbook to be created.\n","willReplaceOnChanges":true},"location":{"type":"string","description":"Specifies the Azure Region where the Workbook should exist. Changing this forces a new Workbook to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of this Workbook as a UUID/GUID. It should not contain any uppercase letters. Changing this forces a new Workbook to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"Specifies the name of the Resource Group where the Workbook should exist. Changing this forces a new Workbook to be created.\n","willReplaceOnChanges":true},"sourceId":{"type":"string","description":"Resource ID for a source resource. It should not contain any uppercase letters. Defaults to `azure monitor`.\n"},"storageContainerId":{"type":"string","description":"Specifies the Resource Manager ID of the Storage Container when bring your own storage is used. Changing this forces a new Workbook to be created.\n\n\u003e **Note:** This is the Resource Manager ID of the Storage Container, rather than the regular ID - and can be accessed on the \u003cspan pulumi-lang-nodejs=\"`azure.storage.Container`\" pulumi-lang-dotnet=\"`azure.storage.Container`\" pulumi-lang-go=\"`storage.Container`\" pulumi-lang-python=\"`storage.Container`\" pulumi-lang-yaml=\"`azure.storage.Container`\" pulumi-lang-java=\"`azure.storage.Container`\"\u003e`azure.storage.Container`\u003c/span\u003e Data Source/Resource as \u003cspan pulumi-lang-nodejs=\"`resourceManagerId`\" pulumi-lang-dotnet=\"`ResourceManagerId`\" pulumi-lang-go=\"`resourceManagerId`\" pulumi-lang-python=\"`resource_manager_id`\" pulumi-lang-yaml=\"`resourceManagerId`\" pulumi-lang-java=\"`resourceManagerId`\"\u003e`resource_manager_id`\u003c/span\u003e.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Workbook.\n"}},"type":"object"}},"azure:appinsights/workbookTemplate:WorkbookTemplate":{"description":"Manages an Application Insights Workbook Template.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleWorkbookTemplate = new azure.appinsights.WorkbookTemplate(\"example\", {\n    name: \"example-aiwt\",\n    resourceGroupName: example.name,\n    location: \"West Europe\",\n    author: \"test author\",\n    priority: 1,\n    galleries: [{\n        category: \"workbook\",\n        name: \"test\",\n        order: 100,\n        resourceType: \"microsoft.insights/components\",\n        type: \"tsg\",\n    }],\n    templateData: JSON.stringify({\n        version: \"Notebook/1.0\",\n        items: [{\n            type: 1,\n            content: {\n                json: `## New workbook\n---\n\nWelcome to your new workbook.`,\n            },\n            name: \"text - 2\",\n        }],\n        styleSettings: {},\n        $schema: \"https://github.com/Microsoft/Application-Insights-Workbooks/blob/master/schema/workbook.json\",\n    }),\n    localized: JSON.stringify({\n        ar: [{\n            galleries: [{\n                name: \"test\",\n                category: \"Failures\",\n                type: \"tsg\",\n                resourceType: \"microsoft.insights/components\",\n                order: 100,\n            }],\n            templateData: {\n                version: \"Notebook/1.0\",\n                items: [{\n                    type: 1,\n                    content: {\n                        json: `## New workbook\n---\n\nWelcome to your new workbook.`,\n                    },\n                    name: \"text - 2\",\n                }],\n                styleSettings: {},\n                $schema: \"https://github.com/Microsoft/Application-Insights-Workbooks/blob/master/schema/workbook.json\",\n            },\n        }],\n    }),\n    tags: {\n        key: \"value\",\n    },\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_workbook_template = azure.appinsights.WorkbookTemplate(\"example\",\n    name=\"example-aiwt\",\n    resource_group_name=example.name,\n    location=\"West Europe\",\n    author=\"test author\",\n    priority=1,\n    galleries=[{\n        \"category\": \"workbook\",\n        \"name\": \"test\",\n        \"order\": 100,\n        \"resource_type\": \"microsoft.insights/components\",\n        \"type\": \"tsg\",\n    }],\n    template_data=json.dumps({\n        \"version\": \"Notebook/1.0\",\n        \"items\": [{\n            \"type\": 1,\n            \"content\": {\n                \"json\": \"\"\"## New workbook\n---\n\nWelcome to your new workbook.\"\"\",\n            },\n            \"name\": \"text - 2\",\n        }],\n        \"styleSettings\": {},\n        \"$schema\": \"https://github.com/Microsoft/Application-Insights-Workbooks/blob/master/schema/workbook.json\",\n    }),\n    localized=json.dumps({\n        \"ar\": [{\n            \"galleries\": [{\n                \"name\": \"test\",\n                \"category\": \"Failures\",\n                \"type\": \"tsg\",\n                \"resourceType\": \"microsoft.insights/components\",\n                \"order\": 100,\n            }],\n            \"templateData\": {\n                \"version\": \"Notebook/1.0\",\n                \"items\": [{\n                    \"type\": 1,\n                    \"content\": {\n                        \"json\": \"\"\"## New workbook\n---\n\nWelcome to your new workbook.\"\"\",\n                    },\n                    \"name\": \"text - 2\",\n                }],\n                \"styleSettings\": {},\n                \"$schema\": \"https://github.com/Microsoft/Application-Insights-Workbooks/blob/master/schema/workbook.json\",\n            },\n        }],\n    }),\n    tags={\n        \"key\": \"value\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleWorkbookTemplate = new Azure.AppInsights.WorkbookTemplate(\"example\", new()\n    {\n        Name = \"example-aiwt\",\n        ResourceGroupName = example.Name,\n        Location = \"West Europe\",\n        Author = \"test author\",\n        Priority = 1,\n        Galleries = new[]\n        {\n            new Azure.AppInsights.Inputs.WorkbookTemplateGalleryArgs\n            {\n                Category = \"workbook\",\n                Name = \"test\",\n                Order = 100,\n                ResourceType = \"microsoft.insights/components\",\n                Type = \"tsg\",\n            },\n        },\n        TemplateData = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n        {\n            [\"version\"] = \"Notebook/1.0\",\n            [\"items\"] = new[]\n            {\n                new Dictionary\u003cstring, object?\u003e\n                {\n                    [\"type\"] = 1,\n                    [\"content\"] = new Dictionary\u003cstring, object?\u003e\n                    {\n                        [\"json\"] = @\"## New workbook\n---\n\nWelcome to your new workbook.\",\n                    },\n                    [\"name\"] = \"text - 2\",\n                },\n            },\n            [\"styleSettings\"] = new Dictionary\u003cstring, object?\u003e\n            {\n            },\n            [\"$schema\"] = \"https://github.com/Microsoft/Application-Insights-Workbooks/blob/master/schema/workbook.json\",\n        }),\n        Localized = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n        {\n            [\"ar\"] = new[]\n            {\n                new Dictionary\u003cstring, object?\u003e\n                {\n                    [\"galleries\"] = new[]\n                    {\n                        new Dictionary\u003cstring, object?\u003e\n                        {\n                            [\"name\"] = \"test\",\n                            [\"category\"] = \"Failures\",\n                            [\"type\"] = \"tsg\",\n                            [\"resourceType\"] = \"microsoft.insights/components\",\n                            [\"order\"] = 100,\n                        },\n                    },\n                    [\"templateData\"] = new Dictionary\u003cstring, object?\u003e\n                    {\n                        [\"version\"] = \"Notebook/1.0\",\n                        [\"items\"] = new[]\n                        {\n                            new Dictionary\u003cstring, object?\u003e\n                            {\n                                [\"type\"] = 1,\n                                [\"content\"] = new Dictionary\u003cstring, object?\u003e\n                                {\n                                    [\"json\"] = @\"## New workbook\n---\n\nWelcome to your new workbook.\",\n                                },\n                                [\"name\"] = \"text - 2\",\n                            },\n                        },\n                        [\"styleSettings\"] = new Dictionary\u003cstring, object?\u003e\n                        {\n                        },\n                        [\"$schema\"] = \"https://github.com/Microsoft/Application-Insights-Workbooks/blob/master/schema/workbook.json\",\n                    },\n                },\n            },\n        }),\n        Tags = \n        {\n            { \"key\", \"value\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/appinsights\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"version\": \"Notebook/1.0\",\n\t\t\t\"items\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"type\": 1,\n\t\t\t\t\t\"content\": map[string]interface{}{\n\t\t\t\t\t\t\"json\": \"## New workbook\\n---\\n\\nWelcome to your new workbook.\",\n\t\t\t\t\t},\n\t\t\t\t\t\"name\": \"text - 2\",\n\t\t\t\t},\n\t\t\t},\n\t\t\t\"styleSettings\": map[string]interface{}{},\n\t\t\t\"$schema\":       \"https://github.com/Microsoft/Application-Insights-Workbooks/blob/master/schema/workbook.json\",\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson0 := string(tmpJSON0)\n\t\ttmpJSON1, err := json.Marshal(map[string]interface{}{\n\t\t\t\"ar\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"galleries\": []map[string]interface{}{\n\t\t\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\t\t\"name\":         \"test\",\n\t\t\t\t\t\t\t\"category\":     \"Failures\",\n\t\t\t\t\t\t\t\"type\":         \"tsg\",\n\t\t\t\t\t\t\t\"resourceType\": \"microsoft.insights/components\",\n\t\t\t\t\t\t\t\"order\":        100,\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\t\"templateData\": map[string]interface{}{\n\t\t\t\t\t\t\"version\": \"Notebook/1.0\",\n\t\t\t\t\t\t\"items\": []map[string]interface{}{\n\t\t\t\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\t\t\t\"type\": 1,\n\t\t\t\t\t\t\t\t\"content\": map[string]interface{}{\n\t\t\t\t\t\t\t\t\t\"json\": \"## New workbook\\n---\\n\\nWelcome to your new workbook.\",\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\"name\": \"text - 2\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"styleSettings\": map[string]interface{}{},\n\t\t\t\t\t\t\"$schema\":       \"https://github.com/Microsoft/Application-Insights-Workbooks/blob/master/schema/workbook.json\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson1 := string(tmpJSON1)\n\t\t_, err = appinsights.NewWorkbookTemplate(ctx, \"example\", \u0026appinsights.WorkbookTemplateArgs{\n\t\t\tName:              pulumi.String(\"example-aiwt\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          pulumi.String(\"West Europe\"),\n\t\t\tAuthor:            pulumi.String(\"test author\"),\n\t\t\tPriority:          pulumi.Int(1),\n\t\t\tGalleries: appinsights.WorkbookTemplateGalleryArray{\n\t\t\t\t\u0026appinsights.WorkbookTemplateGalleryArgs{\n\t\t\t\t\tCategory:     pulumi.String(\"workbook\"),\n\t\t\t\t\tName:         pulumi.String(\"test\"),\n\t\t\t\t\tOrder:        pulumi.Int(100),\n\t\t\t\t\tResourceType: pulumi.String(\"microsoft.insights/components\"),\n\t\t\t\t\tType:         pulumi.String(\"tsg\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTemplateData: pulumi.String(json0),\n\t\t\tLocalized:    pulumi.String(json1),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"key\": pulumi.String(\"value\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.appinsights.WorkbookTemplate;\nimport com.pulumi.azure.appinsights.WorkbookTemplateArgs;\nimport com.pulumi.azure.appinsights.inputs.WorkbookTemplateGalleryArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleWorkbookTemplate = new WorkbookTemplate(\"exampleWorkbookTemplate\", WorkbookTemplateArgs.builder()\n            .name(\"example-aiwt\")\n            .resourceGroupName(example.name())\n            .location(\"West Europe\")\n            .author(\"test author\")\n            .priority(1)\n            .galleries(WorkbookTemplateGalleryArgs.builder()\n                .category(\"workbook\")\n                .name(\"test\")\n                .order(100)\n                .resourceType(\"microsoft.insights/components\")\n                .type(\"tsg\")\n                .build())\n            .templateData(serializeJson(\n                jsonObject(\n                    jsonProperty(\"version\", \"Notebook/1.0\"),\n                    jsonProperty(\"items\", jsonArray(jsonObject(\n                        jsonProperty(\"type\", 1),\n                        jsonProperty(\"content\", jsonObject(\n                            jsonProperty(\"json\", \"\"\"\n## New workbook\n---\n\nWelcome to your new workbook.                            \"\"\")\n                        )),\n                        jsonProperty(\"name\", \"text - 2\")\n                    ))),\n                    jsonProperty(\"styleSettings\", jsonObject(\n\n                    )),\n                    jsonProperty(\"$schema\", \"https://github.com/Microsoft/Application-Insights-Workbooks/blob/master/schema/workbook.json\")\n                )))\n            .localized(serializeJson(\n                jsonObject(\n                    jsonProperty(\"ar\", jsonArray(jsonObject(\n                        jsonProperty(\"galleries\", jsonArray(jsonObject(\n                            jsonProperty(\"name\", \"test\"),\n                            jsonProperty(\"category\", \"Failures\"),\n                            jsonProperty(\"type\", \"tsg\"),\n                            jsonProperty(\"resourceType\", \"microsoft.insights/components\"),\n                            jsonProperty(\"order\", 100)\n                        ))),\n                        jsonProperty(\"templateData\", jsonObject(\n                            jsonProperty(\"version\", \"Notebook/1.0\"),\n                            jsonProperty(\"items\", jsonArray(jsonObject(\n                                jsonProperty(\"type\", 1),\n                                jsonProperty(\"content\", jsonObject(\n                                    jsonProperty(\"json\", \"\"\"\n## New workbook\n---\n\nWelcome to your new workbook.                                    \"\"\")\n                                )),\n                                jsonProperty(\"name\", \"text - 2\")\n                            ))),\n                            jsonProperty(\"styleSettings\", jsonObject(\n\n                            )),\n                            jsonProperty(\"$schema\", \"https://github.com/Microsoft/Application-Insights-Workbooks/blob/master/schema/workbook.json\")\n                        ))\n                    )))\n                )))\n            .tags(Map.of(\"key\", \"value\"))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleWorkbookTemplate:\n    type: azure:appinsights:WorkbookTemplate\n    name: example\n    properties:\n      name: example-aiwt\n      resourceGroupName: ${example.name}\n      location: West Europe\n      author: test author\n      priority: 1\n      galleries:\n        - category: workbook\n          name: test\n          order: 100\n          resourceType: microsoft.insights/components\n          type: tsg\n      templateData:\n        fn::toJSON:\n          version: Notebook/1.0\n          items:\n            - type: 1\n              content:\n                json: |-\n                  ## New workbook\n                  ---\n\n                  Welcome to your new workbook.\n              name: text - 2\n          styleSettings: {}\n          $schema: https://github.com/Microsoft/Application-Insights-Workbooks/blob/master/schema/workbook.json\n      localized:\n        fn::toJSON:\n          ar:\n            - galleries:\n                - name: test\n                  category: Failures\n                  type: tsg\n                  resourceType: microsoft.insights/components\n                  order: 100\n              templateData:\n                version: Notebook/1.0\n                items:\n                  - type: 1\n                    content:\n                      json: |-\n                        ## New workbook\n                        ---\n\n                        Welcome to your new workbook.\n                    name: text - 2\n                styleSettings: {}\n                $schema: https://github.com/Microsoft/Application-Insights-Workbooks/blob/master/schema/workbook.json\n      tags:\n        key: value\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Insights` - 2020-11-20\n\n## Import\n\nApplication Insights Workbook Template can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:appinsights/workbookTemplate:WorkbookTemplate example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup1/providers/Microsoft.Insights/workbookTemplates/resource1\n```\n\n","properties":{"author":{"type":"string","description":"Information about the author of the workbook template.\n"},"galleries":{"type":"array","items":{"$ref":"#/types/azure:appinsights/WorkbookTemplateGallery:WorkbookTemplateGallery"},"description":"A \u003cspan pulumi-lang-nodejs=\"`galleries`\" pulumi-lang-dotnet=\"`Galleries`\" pulumi-lang-go=\"`galleries`\" pulumi-lang-python=\"`galleries`\" pulumi-lang-yaml=\"`galleries`\" pulumi-lang-java=\"`galleries`\"\u003e`galleries`\u003c/span\u003e block as defined below.\n"},"localized":{"type":"string","description":"Key value pairs of localized gallery. Each key is the locale code of languages supported by the Azure portal.\n"},"location":{"type":"string","description":"Specifies the Azure Region where the Application Insights Workbook Template should exist. Changing this forces a new Application Insights Workbook Template to be created.\n"},"name":{"type":"string","description":"Specifies the name which should be used for this Application Insights Workbook Template. Changing this forces a new Application Insights Workbook Template to be created.\n"},"priority":{"type":"integer","description":"Priority of the template. Determines which template to open when a workbook gallery is opened in viewer mode. Defaults to \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"resourceGroupName":{"type":"string","description":"Specifies the name of the Resource Group where the Application Insights Workbook Template should exist. Changing this forces a new Application Insights Workbook Template to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Application Insights Workbook Template.\n"},"templateData":{"type":"string","description":"Valid JSON object containing workbook template payload.\n"}},"required":["galleries","location","name","resourceGroupName","templateData"],"inputProperties":{"author":{"type":"string","description":"Information about the author of the workbook template.\n"},"galleries":{"type":"array","items":{"$ref":"#/types/azure:appinsights/WorkbookTemplateGallery:WorkbookTemplateGallery"},"description":"A \u003cspan pulumi-lang-nodejs=\"`galleries`\" pulumi-lang-dotnet=\"`Galleries`\" pulumi-lang-go=\"`galleries`\" pulumi-lang-python=\"`galleries`\" pulumi-lang-yaml=\"`galleries`\" pulumi-lang-java=\"`galleries`\"\u003e`galleries`\u003c/span\u003e block as defined below.\n"},"localized":{"type":"string","description":"Key value pairs of localized gallery. Each key is the locale code of languages supported by the Azure portal.\n"},"location":{"type":"string","description":"Specifies the Azure Region where the Application Insights Workbook Template should exist. Changing this forces a new Application Insights Workbook Template to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name which should be used for this Application Insights Workbook Template. Changing this forces a new Application Insights Workbook Template to be created.\n","willReplaceOnChanges":true},"priority":{"type":"integer","description":"Priority of the template. Determines which template to open when a workbook gallery is opened in viewer mode. Defaults to \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"resourceGroupName":{"type":"string","description":"Specifies the name of the Resource Group where the Application Insights Workbook Template should exist. Changing this forces a new Application Insights Workbook Template to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Application Insights Workbook Template.\n"},"templateData":{"type":"string","description":"Valid JSON object containing workbook template payload.\n"}},"requiredInputs":["galleries","resourceGroupName","templateData"],"stateInputs":{"description":"Input properties used for looking up and filtering WorkbookTemplate resources.\n","properties":{"author":{"type":"string","description":"Information about the author of the workbook template.\n"},"galleries":{"type":"array","items":{"$ref":"#/types/azure:appinsights/WorkbookTemplateGallery:WorkbookTemplateGallery"},"description":"A \u003cspan pulumi-lang-nodejs=\"`galleries`\" pulumi-lang-dotnet=\"`Galleries`\" pulumi-lang-go=\"`galleries`\" pulumi-lang-python=\"`galleries`\" pulumi-lang-yaml=\"`galleries`\" pulumi-lang-java=\"`galleries`\"\u003e`galleries`\u003c/span\u003e block as defined below.\n"},"localized":{"type":"string","description":"Key value pairs of localized gallery. Each key is the locale code of languages supported by the Azure portal.\n"},"location":{"type":"string","description":"Specifies the Azure Region where the Application Insights Workbook Template should exist. Changing this forces a new Application Insights Workbook Template to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name which should be used for this Application Insights Workbook Template. Changing this forces a new Application Insights Workbook Template to be created.\n","willReplaceOnChanges":true},"priority":{"type":"integer","description":"Priority of the template. Determines which template to open when a workbook gallery is opened in viewer mode. Defaults to \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"resourceGroupName":{"type":"string","description":"Specifies the name of the Resource Group where the Application Insights Workbook Template should exist. Changing this forces a new Application Insights Workbook Template to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Application Insights Workbook Template.\n"},"templateData":{"type":"string","description":"Valid JSON object containing workbook template payload.\n"}},"type":"object"}},"azure:appplatform/springCloudAccelerator:SpringCloudAccelerator":{"description":"\u003e **Note:** This resource is applicable only for Spring Cloud Service with enterprise tier.\n\nManages a Spring Cloud Accelerator.\n\n!\u003e **Note:** Azure Spring Apps is now deprecated and will be retired on 2028-05-31 - as such the \u003cspan pulumi-lang-nodejs=\"`azure.appplatform.SpringCloudAccelerator`\" pulumi-lang-dotnet=\"`azure.appplatform.SpringCloudAccelerator`\" pulumi-lang-go=\"`appplatform.SpringCloudAccelerator`\" pulumi-lang-python=\"`appplatform.SpringCloudAccelerator`\" pulumi-lang-yaml=\"`azure.appplatform.SpringCloudAccelerator`\" pulumi-lang-java=\"`azure.appplatform.SpringCloudAccelerator`\"\u003e`azure.appplatform.SpringCloudAccelerator`\u003c/span\u003e resource is deprecated and will be removed in a future major version of the AzureRM Provider. See https://aka.ms/asaretirement for more information.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example\",\n    location: \"West Europe\",\n});\nconst exampleSpringCloudService = new azure.appplatform.SpringCloudService(\"example\", {\n    name: \"example\",\n    location: example.location,\n    resourceGroupName: example.name,\n    skuName: \"E0\",\n});\nconst exampleSpringCloudAccelerator = new azure.appplatform.SpringCloudAccelerator(\"example\", {\n    name: \"default\",\n    springCloudServiceId: exampleSpringCloudService.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example\",\n    location=\"West Europe\")\nexample_spring_cloud_service = azure.appplatform.SpringCloudService(\"example\",\n    name=\"example\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku_name=\"E0\")\nexample_spring_cloud_accelerator = azure.appplatform.SpringCloudAccelerator(\"example\",\n    name=\"default\",\n    spring_cloud_service_id=example_spring_cloud_service.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example\",\n        Location = \"West Europe\",\n    });\n\n    var exampleSpringCloudService = new Azure.AppPlatform.SpringCloudService(\"example\", new()\n    {\n        Name = \"example\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        SkuName = \"E0\",\n    });\n\n    var exampleSpringCloudAccelerator = new Azure.AppPlatform.SpringCloudAccelerator(\"example\", new()\n    {\n        Name = \"default\",\n        SpringCloudServiceId = exampleSpringCloudService.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/appplatform\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSpringCloudService, err := appplatform.NewSpringCloudService(ctx, \"example\", \u0026appplatform.SpringCloudServiceArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSkuName:           pulumi.String(\"E0\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = appplatform.NewSpringCloudAccelerator(ctx, \"example\", \u0026appplatform.SpringCloudAcceleratorArgs{\n\t\t\tName:                 pulumi.String(\"default\"),\n\t\t\tSpringCloudServiceId: exampleSpringCloudService.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.appplatform.SpringCloudService;\nimport com.pulumi.azure.appplatform.SpringCloudServiceArgs;\nimport com.pulumi.azure.appplatform.SpringCloudAccelerator;\nimport com.pulumi.azure.appplatform.SpringCloudAcceleratorArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleSpringCloudService = new SpringCloudService(\"exampleSpringCloudService\", SpringCloudServiceArgs.builder()\n            .name(\"example\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .skuName(\"E0\")\n            .build());\n\n        var exampleSpringCloudAccelerator = new SpringCloudAccelerator(\"exampleSpringCloudAccelerator\", SpringCloudAcceleratorArgs.builder()\n            .name(\"default\")\n            .springCloudServiceId(exampleSpringCloudService.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example\n      location: West Europe\n  exampleSpringCloudService:\n    type: azure:appplatform:SpringCloudService\n    name: example\n    properties:\n      name: example\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      skuName: E0\n  exampleSpringCloudAccelerator:\n    type: azure:appplatform:SpringCloudAccelerator\n    name: example\n    properties:\n      name: default\n      springCloudServiceId: ${exampleSpringCloudService.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nSpring Cloud Accelerators can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:appplatform/springCloudAccelerator:SpringCloudAccelerator example /subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/resourceGroup1/providers/Microsoft.AppPlatform/spring/service1/applicationAccelerators/default\n```\n\n","properties":{"name":{"type":"string","description":"The name which should be used for this Spring Cloud Accelerator. Changing this forces a new Spring Cloud Accelerator to be created. The only possible value is \u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\"\u003e`default`\u003c/span\u003e.\n"},"springCloudServiceId":{"type":"string","description":"The ID of the Spring Cloud Service. Changing this forces a new Spring Cloud Accelerator to be created.\n"}},"required":["name","springCloudServiceId"],"inputProperties":{"name":{"type":"string","description":"The name which should be used for this Spring Cloud Accelerator. Changing this forces a new Spring Cloud Accelerator to be created. The only possible value is \u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\"\u003e`default`\u003c/span\u003e.\n","willReplaceOnChanges":true},"springCloudServiceId":{"type":"string","description":"The ID of the Spring Cloud Service. Changing this forces a new Spring Cloud Accelerator to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["springCloudServiceId"],"stateInputs":{"description":"Input properties used for looking up and filtering SpringCloudAccelerator resources.\n","properties":{"name":{"type":"string","description":"The name which should be used for this Spring Cloud Accelerator. Changing this forces a new Spring Cloud Accelerator to be created. The only possible value is \u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\"\u003e`default`\u003c/span\u003e.\n","willReplaceOnChanges":true},"springCloudServiceId":{"type":"string","description":"The ID of the Spring Cloud Service. Changing this forces a new Spring Cloud Accelerator to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:appplatform/springCloudActiveDeployment:SpringCloudActiveDeployment":{"description":"Manages an Active Azure Spring Cloud Deployment.\n\n!\u003e **Note:** Azure Spring Apps is now deprecated and will be retired on 2028-05-31 - as such the \u003cspan pulumi-lang-nodejs=\"`azure.appplatform.SpringCloudActiveDeployment`\" pulumi-lang-dotnet=\"`azure.appplatform.SpringCloudActiveDeployment`\" pulumi-lang-go=\"`appplatform.SpringCloudActiveDeployment`\" pulumi-lang-python=\"`appplatform.SpringCloudActiveDeployment`\" pulumi-lang-yaml=\"`azure.appplatform.SpringCloudActiveDeployment`\" pulumi-lang-java=\"`azure.appplatform.SpringCloudActiveDeployment`\"\u003e`azure.appplatform.SpringCloudActiveDeployment`\u003c/span\u003e resource is deprecated and will be removed in a future major version of the AzureRM Provider. See https://aka.ms/asaretirement for more information.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleSpringCloudService = new azure.appplatform.SpringCloudService(\"example\", {\n    name: \"example-springcloud\",\n    resourceGroupName: example.name,\n    location: example.location,\n});\nconst exampleSpringCloudApp = new azure.appplatform.SpringCloudApp(\"example\", {\n    name: \"example-springcloudapp\",\n    resourceGroupName: example.name,\n    serviceName: exampleSpringCloudService.name,\n    identity: {\n        type: \"SystemAssigned\",\n    },\n});\nconst exampleSpringCloudJavaDeployment = new azure.appplatform.SpringCloudJavaDeployment(\"example\", {\n    name: \"deploy1\",\n    springCloudAppId: exampleSpringCloudApp.id,\n    instanceCount: 2,\n    jvmOptions: \"-XX:+PrintGC\",\n    runtimeVersion: \"Java_11\",\n    quota: {\n        cpu: \"2\",\n        memory: \"4Gi\",\n    },\n    environmentVariables: {\n        Env: \"Staging\",\n    },\n});\nconst exampleSpringCloudActiveDeployment = new azure.appplatform.SpringCloudActiveDeployment(\"example\", {\n    springCloudAppId: exampleSpringCloudApp.id,\n    deploymentName: exampleSpringCloudJavaDeployment.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_spring_cloud_service = azure.appplatform.SpringCloudService(\"example\",\n    name=\"example-springcloud\",\n    resource_group_name=example.name,\n    location=example.location)\nexample_spring_cloud_app = azure.appplatform.SpringCloudApp(\"example\",\n    name=\"example-springcloudapp\",\n    resource_group_name=example.name,\n    service_name=example_spring_cloud_service.name,\n    identity={\n        \"type\": \"SystemAssigned\",\n    })\nexample_spring_cloud_java_deployment = azure.appplatform.SpringCloudJavaDeployment(\"example\",\n    name=\"deploy1\",\n    spring_cloud_app_id=example_spring_cloud_app.id,\n    instance_count=2,\n    jvm_options=\"-XX:+PrintGC\",\n    runtime_version=\"Java_11\",\n    quota={\n        \"cpu\": \"2\",\n        \"memory\": \"4Gi\",\n    },\n    environment_variables={\n        \"Env\": \"Staging\",\n    })\nexample_spring_cloud_active_deployment = azure.appplatform.SpringCloudActiveDeployment(\"example\",\n    spring_cloud_app_id=example_spring_cloud_app.id,\n    deployment_name=example_spring_cloud_java_deployment.name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleSpringCloudService = new Azure.AppPlatform.SpringCloudService(\"example\", new()\n    {\n        Name = \"example-springcloud\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n    });\n\n    var exampleSpringCloudApp = new Azure.AppPlatform.SpringCloudApp(\"example\", new()\n    {\n        Name = \"example-springcloudapp\",\n        ResourceGroupName = example.Name,\n        ServiceName = exampleSpringCloudService.Name,\n        Identity = new Azure.AppPlatform.Inputs.SpringCloudAppIdentityArgs\n        {\n            Type = \"SystemAssigned\",\n        },\n    });\n\n    var exampleSpringCloudJavaDeployment = new Azure.AppPlatform.SpringCloudJavaDeployment(\"example\", new()\n    {\n        Name = \"deploy1\",\n        SpringCloudAppId = exampleSpringCloudApp.Id,\n        InstanceCount = 2,\n        JvmOptions = \"-XX:+PrintGC\",\n        RuntimeVersion = \"Java_11\",\n        Quota = new Azure.AppPlatform.Inputs.SpringCloudJavaDeploymentQuotaArgs\n        {\n            Cpu = \"2\",\n            Memory = \"4Gi\",\n        },\n        EnvironmentVariables = \n        {\n            { \"Env\", \"Staging\" },\n        },\n    });\n\n    var exampleSpringCloudActiveDeployment = new Azure.AppPlatform.SpringCloudActiveDeployment(\"example\", new()\n    {\n        SpringCloudAppId = exampleSpringCloudApp.Id,\n        DeploymentName = exampleSpringCloudJavaDeployment.Name,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/appplatform\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSpringCloudService, err := appplatform.NewSpringCloudService(ctx, \"example\", \u0026appplatform.SpringCloudServiceArgs{\n\t\t\tName:              pulumi.String(\"example-springcloud\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSpringCloudApp, err := appplatform.NewSpringCloudApp(ctx, \"example\", \u0026appplatform.SpringCloudAppArgs{\n\t\t\tName:              pulumi.String(\"example-springcloudapp\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tServiceName:       exampleSpringCloudService.Name,\n\t\t\tIdentity: \u0026appplatform.SpringCloudAppIdentityArgs{\n\t\t\t\tType: pulumi.String(\"SystemAssigned\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSpringCloudJavaDeployment, err := appplatform.NewSpringCloudJavaDeployment(ctx, \"example\", \u0026appplatform.SpringCloudJavaDeploymentArgs{\n\t\t\tName:             pulumi.String(\"deploy1\"),\n\t\t\tSpringCloudAppId: exampleSpringCloudApp.ID(),\n\t\t\tInstanceCount:    pulumi.Int(2),\n\t\t\tJvmOptions:       pulumi.String(\"-XX:+PrintGC\"),\n\t\t\tRuntimeVersion:   pulumi.String(\"Java_11\"),\n\t\t\tQuota: \u0026appplatform.SpringCloudJavaDeploymentQuotaArgs{\n\t\t\t\tCpu:    pulumi.String(\"2\"),\n\t\t\t\tMemory: pulumi.String(\"4Gi\"),\n\t\t\t},\n\t\t\tEnvironmentVariables: pulumi.StringMap{\n\t\t\t\t\"Env\": pulumi.String(\"Staging\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = appplatform.NewSpringCloudActiveDeployment(ctx, \"example\", \u0026appplatform.SpringCloudActiveDeploymentArgs{\n\t\t\tSpringCloudAppId: exampleSpringCloudApp.ID(),\n\t\t\tDeploymentName:   exampleSpringCloudJavaDeployment.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.appplatform.SpringCloudService;\nimport com.pulumi.azure.appplatform.SpringCloudServiceArgs;\nimport com.pulumi.azure.appplatform.SpringCloudApp;\nimport com.pulumi.azure.appplatform.SpringCloudAppArgs;\nimport com.pulumi.azure.appplatform.inputs.SpringCloudAppIdentityArgs;\nimport com.pulumi.azure.appplatform.SpringCloudJavaDeployment;\nimport com.pulumi.azure.appplatform.SpringCloudJavaDeploymentArgs;\nimport com.pulumi.azure.appplatform.inputs.SpringCloudJavaDeploymentQuotaArgs;\nimport com.pulumi.azure.appplatform.SpringCloudActiveDeployment;\nimport com.pulumi.azure.appplatform.SpringCloudActiveDeploymentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleSpringCloudService = new SpringCloudService(\"exampleSpringCloudService\", SpringCloudServiceArgs.builder()\n            .name(\"example-springcloud\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .build());\n\n        var exampleSpringCloudApp = new SpringCloudApp(\"exampleSpringCloudApp\", SpringCloudAppArgs.builder()\n            .name(\"example-springcloudapp\")\n            .resourceGroupName(example.name())\n            .serviceName(exampleSpringCloudService.name())\n            .identity(SpringCloudAppIdentityArgs.builder()\n                .type(\"SystemAssigned\")\n                .build())\n            .build());\n\n        var exampleSpringCloudJavaDeployment = new SpringCloudJavaDeployment(\"exampleSpringCloudJavaDeployment\", SpringCloudJavaDeploymentArgs.builder()\n            .name(\"deploy1\")\n            .springCloudAppId(exampleSpringCloudApp.id())\n            .instanceCount(2)\n            .jvmOptions(\"-XX:+PrintGC\")\n            .runtimeVersion(\"Java_11\")\n            .quota(SpringCloudJavaDeploymentQuotaArgs.builder()\n                .cpu(\"2\")\n                .memory(\"4Gi\")\n                .build())\n            .environmentVariables(Map.of(\"Env\", \"Staging\"))\n            .build());\n\n        var exampleSpringCloudActiveDeployment = new SpringCloudActiveDeployment(\"exampleSpringCloudActiveDeployment\", SpringCloudActiveDeploymentArgs.builder()\n            .springCloudAppId(exampleSpringCloudApp.id())\n            .deploymentName(exampleSpringCloudJavaDeployment.name())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleSpringCloudService:\n    type: azure:appplatform:SpringCloudService\n    name: example\n    properties:\n      name: example-springcloud\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n  exampleSpringCloudApp:\n    type: azure:appplatform:SpringCloudApp\n    name: example\n    properties:\n      name: example-springcloudapp\n      resourceGroupName: ${example.name}\n      serviceName: ${exampleSpringCloudService.name}\n      identity:\n        type: SystemAssigned\n  exampleSpringCloudJavaDeployment:\n    type: azure:appplatform:SpringCloudJavaDeployment\n    name: example\n    properties:\n      name: deploy1\n      springCloudAppId: ${exampleSpringCloudApp.id}\n      instanceCount: 2\n      jvmOptions: -XX:+PrintGC\n      runtimeVersion: Java_11\n      quota:\n        cpu: '2'\n        memory: 4Gi\n      environmentVariables:\n        Env: Staging\n  exampleSpringCloudActiveDeployment:\n    type: azure:appplatform:SpringCloudActiveDeployment\n    name: example\n    properties:\n      springCloudAppId: ${exampleSpringCloudApp.id}\n      deploymentName: ${exampleSpringCloudJavaDeployment.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nSpring Cloud Active Deployment can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:appplatform/springCloudActiveDeployment:SpringCloudActiveDeployment example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resourcegroup1/providers/Microsoft.AppPlatform/spring/service1/apps/app1\n```\n\n","properties":{"deploymentName":{"type":"string","description":"Specifies the name of Spring Cloud Deployment which is going to be active.\n"},"springCloudAppId":{"type":"string","description":"Specifies the id of the Spring Cloud Application. Changing this forces a new resource to be created.\n"}},"required":["deploymentName","springCloudAppId"],"inputProperties":{"deploymentName":{"type":"string","description":"Specifies the name of Spring Cloud Deployment which is going to be active.\n"},"springCloudAppId":{"type":"string","description":"Specifies the id of the Spring Cloud Application. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["deploymentName","springCloudAppId"],"stateInputs":{"description":"Input properties used for looking up and filtering SpringCloudActiveDeployment resources.\n","properties":{"deploymentName":{"type":"string","description":"Specifies the name of Spring Cloud Deployment which is going to be active.\n"},"springCloudAppId":{"type":"string","description":"Specifies the id of the Spring Cloud Application. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:appplatform/springCloudApiPortal:SpringCloudApiPortal":{"description":"Manages a Spring Cloud API Portal.\n\n\u003e **Note:** This resource is applicable only for Spring Cloud Service with enterprise tier.\n\n!\u003e **Note:** Azure Spring Apps is now deprecated and will be retired on 2028-05-31 - as such the \u003cspan pulumi-lang-nodejs=\"`azure.appplatform.SpringCloudApiPortal`\" pulumi-lang-dotnet=\"`azure.appplatform.SpringCloudApiPortal`\" pulumi-lang-go=\"`appplatform.SpringCloudApiPortal`\" pulumi-lang-python=\"`appplatform.SpringCloudApiPortal`\" pulumi-lang-yaml=\"`azure.appplatform.SpringCloudApiPortal`\" pulumi-lang-java=\"`azure.appplatform.SpringCloudApiPortal`\"\u003e`azure.appplatform.SpringCloudApiPortal`\u003c/span\u003e resource is deprecated and will be removed in a future major version of the AzureRM Provider. See https://aka.ms/asaretirement for more information.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleSpringCloudService = new azure.appplatform.SpringCloudService(\"example\", {\n    name: \"example\",\n    location: example.location,\n    resourceGroupName: example.name,\n    skuName: \"E0\",\n});\nconst exampleSpringCloudGateway = new azure.appplatform.SpringCloudGateway(\"example\", {\n    name: \"default\",\n    springCloudServiceId: exampleSpringCloudService.id,\n});\nconst exampleSpringCloudApiPortal = new azure.appplatform.SpringCloudApiPortal(\"example\", {\n    name: \"default\",\n    springCloudServiceId: exampleSpringCloudService.id,\n    gatewayIds: [exampleSpringCloudGateway.id],\n    httpsOnlyEnabled: false,\n    publicNetworkAccessEnabled: true,\n    instanceCount: 1,\n    apiTryOutEnabled: true,\n    sso: {\n        clientId: \"test\",\n        clientSecret: \"secret\",\n        issuerUri: \"https://www.example.com/issueToken\",\n        scopes: [\"read\"],\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_spring_cloud_service = azure.appplatform.SpringCloudService(\"example\",\n    name=\"example\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku_name=\"E0\")\nexample_spring_cloud_gateway = azure.appplatform.SpringCloudGateway(\"example\",\n    name=\"default\",\n    spring_cloud_service_id=example_spring_cloud_service.id)\nexample_spring_cloud_api_portal = azure.appplatform.SpringCloudApiPortal(\"example\",\n    name=\"default\",\n    spring_cloud_service_id=example_spring_cloud_service.id,\n    gateway_ids=[example_spring_cloud_gateway.id],\n    https_only_enabled=False,\n    public_network_access_enabled=True,\n    instance_count=1,\n    api_try_out_enabled=True,\n    sso={\n        \"client_id\": \"test\",\n        \"client_secret\": \"secret\",\n        \"issuer_uri\": \"https://www.example.com/issueToken\",\n        \"scopes\": [\"read\"],\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleSpringCloudService = new Azure.AppPlatform.SpringCloudService(\"example\", new()\n    {\n        Name = \"example\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        SkuName = \"E0\",\n    });\n\n    var exampleSpringCloudGateway = new Azure.AppPlatform.SpringCloudGateway(\"example\", new()\n    {\n        Name = \"default\",\n        SpringCloudServiceId = exampleSpringCloudService.Id,\n    });\n\n    var exampleSpringCloudApiPortal = new Azure.AppPlatform.SpringCloudApiPortal(\"example\", new()\n    {\n        Name = \"default\",\n        SpringCloudServiceId = exampleSpringCloudService.Id,\n        GatewayIds = new[]\n        {\n            exampleSpringCloudGateway.Id,\n        },\n        HttpsOnlyEnabled = false,\n        PublicNetworkAccessEnabled = true,\n        InstanceCount = 1,\n        ApiTryOutEnabled = true,\n        Sso = new Azure.AppPlatform.Inputs.SpringCloudApiPortalSsoArgs\n        {\n            ClientId = \"test\",\n            ClientSecret = \"secret\",\n            IssuerUri = \"https://www.example.com/issueToken\",\n            Scopes = new[]\n            {\n                \"read\",\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/appplatform\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSpringCloudService, err := appplatform.NewSpringCloudService(ctx, \"example\", \u0026appplatform.SpringCloudServiceArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSkuName:           pulumi.String(\"E0\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSpringCloudGateway, err := appplatform.NewSpringCloudGateway(ctx, \"example\", \u0026appplatform.SpringCloudGatewayArgs{\n\t\t\tName:                 pulumi.String(\"default\"),\n\t\t\tSpringCloudServiceId: exampleSpringCloudService.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = appplatform.NewSpringCloudApiPortal(ctx, \"example\", \u0026appplatform.SpringCloudApiPortalArgs{\n\t\t\tName:                 pulumi.String(\"default\"),\n\t\t\tSpringCloudServiceId: exampleSpringCloudService.ID(),\n\t\t\tGatewayIds: pulumi.StringArray{\n\t\t\t\texampleSpringCloudGateway.ID(),\n\t\t\t},\n\t\t\tHttpsOnlyEnabled:           pulumi.Bool(false),\n\t\t\tPublicNetworkAccessEnabled: pulumi.Bool(true),\n\t\t\tInstanceCount:              pulumi.Int(1),\n\t\t\tApiTryOutEnabled:           pulumi.Bool(true),\n\t\t\tSso: \u0026appplatform.SpringCloudApiPortalSsoArgs{\n\t\t\t\tClientId:     pulumi.String(\"test\"),\n\t\t\t\tClientSecret: pulumi.String(\"secret\"),\n\t\t\t\tIssuerUri:    pulumi.String(\"https://www.example.com/issueToken\"),\n\t\t\t\tScopes: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"read\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.appplatform.SpringCloudService;\nimport com.pulumi.azure.appplatform.SpringCloudServiceArgs;\nimport com.pulumi.azure.appplatform.SpringCloudGateway;\nimport com.pulumi.azure.appplatform.SpringCloudGatewayArgs;\nimport com.pulumi.azure.appplatform.SpringCloudApiPortal;\nimport com.pulumi.azure.appplatform.SpringCloudApiPortalArgs;\nimport com.pulumi.azure.appplatform.inputs.SpringCloudApiPortalSsoArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleSpringCloudService = new SpringCloudService(\"exampleSpringCloudService\", SpringCloudServiceArgs.builder()\n            .name(\"example\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .skuName(\"E0\")\n            .build());\n\n        var exampleSpringCloudGateway = new SpringCloudGateway(\"exampleSpringCloudGateway\", SpringCloudGatewayArgs.builder()\n            .name(\"default\")\n            .springCloudServiceId(exampleSpringCloudService.id())\n            .build());\n\n        var exampleSpringCloudApiPortal = new SpringCloudApiPortal(\"exampleSpringCloudApiPortal\", SpringCloudApiPortalArgs.builder()\n            .name(\"default\")\n            .springCloudServiceId(exampleSpringCloudService.id())\n            .gatewayIds(exampleSpringCloudGateway.id())\n            .httpsOnlyEnabled(false)\n            .publicNetworkAccessEnabled(true)\n            .instanceCount(1)\n            .apiTryOutEnabled(true)\n            .sso(SpringCloudApiPortalSsoArgs.builder()\n                .clientId(\"test\")\n                .clientSecret(\"secret\")\n                .issuerUri(\"https://www.example.com/issueToken\")\n                .scopes(\"read\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleSpringCloudService:\n    type: azure:appplatform:SpringCloudService\n    name: example\n    properties:\n      name: example\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      skuName: E0\n  exampleSpringCloudGateway:\n    type: azure:appplatform:SpringCloudGateway\n    name: example\n    properties:\n      name: default\n      springCloudServiceId: ${exampleSpringCloudService.id}\n  exampleSpringCloudApiPortal:\n    type: azure:appplatform:SpringCloudApiPortal\n    name: example\n    properties:\n      name: default\n      springCloudServiceId: ${exampleSpringCloudService.id}\n      gatewayIds:\n        - ${exampleSpringCloudGateway.id}\n      httpsOnlyEnabled: false\n      publicNetworkAccessEnabled: true\n      instanceCount: 1\n      apiTryOutEnabled: true\n      sso:\n        clientId: test\n        clientSecret: secret\n        issuerUri: https://www.example.com/issueToken\n        scopes:\n          - read\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.AppPlatform` - 2024-01-01-preview\n\n## Import\n\nSpring Cloud API Portals can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:appplatform/springCloudApiPortal:SpringCloudApiPortal example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup1/providers/Microsoft.AppPlatform/spring/service1/apiPortals/apiPortal1\n```\n\n","properties":{"apiTryOutEnabled":{"type":"boolean","description":"Specifies whether the API try-out feature is enabled. When enabled, users can try out the API by sending requests and viewing responses in API portal.\n"},"gatewayIds":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Spring Cloud Gateway.\n"},"httpsOnlyEnabled":{"type":"boolean","description":"is only https is allowed?\n"},"instanceCount":{"type":"integer","description":"Specifies the required instance count of the Spring Cloud API Portal. Possible Values are between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`500`\" pulumi-lang-dotnet=\"`500`\" pulumi-lang-go=\"`500`\" pulumi-lang-python=\"`500`\" pulumi-lang-yaml=\"`500`\" pulumi-lang-java=\"`500`\"\u003e`500`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e if not specified.\n"},"name":{"type":"string","description":"The name which should be used for this Spring Cloud API Portal. Changing this forces a new Spring Cloud API Portal to be created. The only possible value is \u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\"\u003e`default`\u003c/span\u003e.\n"},"publicNetworkAccessEnabled":{"type":"boolean","description":"Is the public network access enabled?\n"},"springCloudServiceId":{"type":"string","description":"The ID of the Spring Cloud Service. Changing this forces a new Spring Cloud API Portal to be created.\n"},"sso":{"$ref":"#/types/azure:appplatform/SpringCloudApiPortalSso:SpringCloudApiPortalSso","description":"A \u003cspan pulumi-lang-nodejs=\"`sso`\" pulumi-lang-dotnet=\"`Sso`\" pulumi-lang-go=\"`sso`\" pulumi-lang-python=\"`sso`\" pulumi-lang-yaml=\"`sso`\" pulumi-lang-java=\"`sso`\"\u003e`sso`\u003c/span\u003e block as defined below.\n"},"url":{"type":"string","description":"TODO.\n"}},"required":["name","springCloudServiceId","url"],"inputProperties":{"apiTryOutEnabled":{"type":"boolean","description":"Specifies whether the API try-out feature is enabled. When enabled, users can try out the API by sending requests and viewing responses in API portal.\n"},"gatewayIds":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Spring Cloud Gateway.\n"},"httpsOnlyEnabled":{"type":"boolean","description":"is only https is allowed?\n"},"instanceCount":{"type":"integer","description":"Specifies the required instance count of the Spring Cloud API Portal. Possible Values are between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`500`\" pulumi-lang-dotnet=\"`500`\" pulumi-lang-go=\"`500`\" pulumi-lang-python=\"`500`\" pulumi-lang-yaml=\"`500`\" pulumi-lang-java=\"`500`\"\u003e`500`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e if not specified.\n"},"name":{"type":"string","description":"The name which should be used for this Spring Cloud API Portal. Changing this forces a new Spring Cloud API Portal to be created. The only possible value is \u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\"\u003e`default`\u003c/span\u003e.\n","willReplaceOnChanges":true},"publicNetworkAccessEnabled":{"type":"boolean","description":"Is the public network access enabled?\n"},"springCloudServiceId":{"type":"string","description":"The ID of the Spring Cloud Service. Changing this forces a new Spring Cloud API Portal to be created.\n","willReplaceOnChanges":true},"sso":{"$ref":"#/types/azure:appplatform/SpringCloudApiPortalSso:SpringCloudApiPortalSso","description":"A \u003cspan pulumi-lang-nodejs=\"`sso`\" pulumi-lang-dotnet=\"`Sso`\" pulumi-lang-go=\"`sso`\" pulumi-lang-python=\"`sso`\" pulumi-lang-yaml=\"`sso`\" pulumi-lang-java=\"`sso`\"\u003e`sso`\u003c/span\u003e block as defined below.\n"}},"requiredInputs":["springCloudServiceId"],"stateInputs":{"description":"Input properties used for looking up and filtering SpringCloudApiPortal resources.\n","properties":{"apiTryOutEnabled":{"type":"boolean","description":"Specifies whether the API try-out feature is enabled. When enabled, users can try out the API by sending requests and viewing responses in API portal.\n"},"gatewayIds":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Spring Cloud Gateway.\n"},"httpsOnlyEnabled":{"type":"boolean","description":"is only https is allowed?\n"},"instanceCount":{"type":"integer","description":"Specifies the required instance count of the Spring Cloud API Portal. Possible Values are between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`500`\" pulumi-lang-dotnet=\"`500`\" pulumi-lang-go=\"`500`\" pulumi-lang-python=\"`500`\" pulumi-lang-yaml=\"`500`\" pulumi-lang-java=\"`500`\"\u003e`500`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e if not specified.\n"},"name":{"type":"string","description":"The name which should be used for this Spring Cloud API Portal. Changing this forces a new Spring Cloud API Portal to be created. The only possible value is \u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\"\u003e`default`\u003c/span\u003e.\n","willReplaceOnChanges":true},"publicNetworkAccessEnabled":{"type":"boolean","description":"Is the public network access enabled?\n"},"springCloudServiceId":{"type":"string","description":"The ID of the Spring Cloud Service. Changing this forces a new Spring Cloud API Portal to be created.\n","willReplaceOnChanges":true},"sso":{"$ref":"#/types/azure:appplatform/SpringCloudApiPortalSso:SpringCloudApiPortalSso","description":"A \u003cspan pulumi-lang-nodejs=\"`sso`\" pulumi-lang-dotnet=\"`Sso`\" pulumi-lang-go=\"`sso`\" pulumi-lang-python=\"`sso`\" pulumi-lang-yaml=\"`sso`\" pulumi-lang-java=\"`sso`\"\u003e`sso`\u003c/span\u003e block as defined below.\n"},"url":{"type":"string","description":"TODO.\n"}},"type":"object"}},"azure:appplatform/springCloudApiPortalCustomDomain:SpringCloudApiPortalCustomDomain":{"description":"Manages a Spring Cloud API Portal Domain.\n\n\u003e **Note:** This resource is applicable only for Spring Cloud Service with enterprise tier.\n\n!\u003e **Note:** Azure Spring Apps is now deprecated and will be retired on 2028-05-31 - as such the \u003cspan pulumi-lang-nodejs=\"`azure.appplatform.SpringCloudApiPortalCustomDomain`\" pulumi-lang-dotnet=\"`azure.appplatform.SpringCloudApiPortalCustomDomain`\" pulumi-lang-go=\"`appplatform.SpringCloudApiPortalCustomDomain`\" pulumi-lang-python=\"`appplatform.SpringCloudApiPortalCustomDomain`\" pulumi-lang-yaml=\"`azure.appplatform.SpringCloudApiPortalCustomDomain`\" pulumi-lang-java=\"`azure.appplatform.SpringCloudApiPortalCustomDomain`\"\u003e`azure.appplatform.SpringCloudApiPortalCustomDomain`\u003c/span\u003e resource is deprecated and will be removed in a future major version of the AzureRM Provider. See https://aka.ms/asaretirement for more information.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleSpringCloudService = new azure.appplatform.SpringCloudService(\"example\", {\n    name: \"example\",\n    location: example.location,\n    resourceGroupName: example.name,\n    skuName: \"E0\",\n});\nconst exampleSpringCloudGateway = new azure.appplatform.SpringCloudGateway(\"example\", {\n    name: \"default\",\n    springCloudServiceId: exampleSpringCloudService.id,\n});\nconst exampleSpringCloudApiPortal = new azure.appplatform.SpringCloudApiPortal(\"example\", {\n    name: \"default\",\n    springCloudServiceId: exampleSpringCloudService.id,\n    gatewayIds: [exampleSpringCloudGateway.id],\n});\nconst exampleSpringCloudApiPortalCustomDomain = new azure.appplatform.SpringCloudApiPortalCustomDomain(\"example\", {\n    name: \"example.com\",\n    springCloudApiPortalId: exampleSpringCloudApiPortal.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_spring_cloud_service = azure.appplatform.SpringCloudService(\"example\",\n    name=\"example\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku_name=\"E0\")\nexample_spring_cloud_gateway = azure.appplatform.SpringCloudGateway(\"example\",\n    name=\"default\",\n    spring_cloud_service_id=example_spring_cloud_service.id)\nexample_spring_cloud_api_portal = azure.appplatform.SpringCloudApiPortal(\"example\",\n    name=\"default\",\n    spring_cloud_service_id=example_spring_cloud_service.id,\n    gateway_ids=[example_spring_cloud_gateway.id])\nexample_spring_cloud_api_portal_custom_domain = azure.appplatform.SpringCloudApiPortalCustomDomain(\"example\",\n    name=\"example.com\",\n    spring_cloud_api_portal_id=example_spring_cloud_api_portal.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleSpringCloudService = new Azure.AppPlatform.SpringCloudService(\"example\", new()\n    {\n        Name = \"example\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        SkuName = \"E0\",\n    });\n\n    var exampleSpringCloudGateway = new Azure.AppPlatform.SpringCloudGateway(\"example\", new()\n    {\n        Name = \"default\",\n        SpringCloudServiceId = exampleSpringCloudService.Id,\n    });\n\n    var exampleSpringCloudApiPortal = new Azure.AppPlatform.SpringCloudApiPortal(\"example\", new()\n    {\n        Name = \"default\",\n        SpringCloudServiceId = exampleSpringCloudService.Id,\n        GatewayIds = new[]\n        {\n            exampleSpringCloudGateway.Id,\n        },\n    });\n\n    var exampleSpringCloudApiPortalCustomDomain = new Azure.AppPlatform.SpringCloudApiPortalCustomDomain(\"example\", new()\n    {\n        Name = \"example.com\",\n        SpringCloudApiPortalId = exampleSpringCloudApiPortal.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/appplatform\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSpringCloudService, err := appplatform.NewSpringCloudService(ctx, \"example\", \u0026appplatform.SpringCloudServiceArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSkuName:           pulumi.String(\"E0\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSpringCloudGateway, err := appplatform.NewSpringCloudGateway(ctx, \"example\", \u0026appplatform.SpringCloudGatewayArgs{\n\t\t\tName:                 pulumi.String(\"default\"),\n\t\t\tSpringCloudServiceId: exampleSpringCloudService.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSpringCloudApiPortal, err := appplatform.NewSpringCloudApiPortal(ctx, \"example\", \u0026appplatform.SpringCloudApiPortalArgs{\n\t\t\tName:                 pulumi.String(\"default\"),\n\t\t\tSpringCloudServiceId: exampleSpringCloudService.ID(),\n\t\t\tGatewayIds: pulumi.StringArray{\n\t\t\t\texampleSpringCloudGateway.ID(),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = appplatform.NewSpringCloudApiPortalCustomDomain(ctx, \"example\", \u0026appplatform.SpringCloudApiPortalCustomDomainArgs{\n\t\t\tName:                   pulumi.String(\"example.com\"),\n\t\t\tSpringCloudApiPortalId: exampleSpringCloudApiPortal.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.appplatform.SpringCloudService;\nimport com.pulumi.azure.appplatform.SpringCloudServiceArgs;\nimport com.pulumi.azure.appplatform.SpringCloudGateway;\nimport com.pulumi.azure.appplatform.SpringCloudGatewayArgs;\nimport com.pulumi.azure.appplatform.SpringCloudApiPortal;\nimport com.pulumi.azure.appplatform.SpringCloudApiPortalArgs;\nimport com.pulumi.azure.appplatform.SpringCloudApiPortalCustomDomain;\nimport com.pulumi.azure.appplatform.SpringCloudApiPortalCustomDomainArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleSpringCloudService = new SpringCloudService(\"exampleSpringCloudService\", SpringCloudServiceArgs.builder()\n            .name(\"example\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .skuName(\"E0\")\n            .build());\n\n        var exampleSpringCloudGateway = new SpringCloudGateway(\"exampleSpringCloudGateway\", SpringCloudGatewayArgs.builder()\n            .name(\"default\")\n            .springCloudServiceId(exampleSpringCloudService.id())\n            .build());\n\n        var exampleSpringCloudApiPortal = new SpringCloudApiPortal(\"exampleSpringCloudApiPortal\", SpringCloudApiPortalArgs.builder()\n            .name(\"default\")\n            .springCloudServiceId(exampleSpringCloudService.id())\n            .gatewayIds(exampleSpringCloudGateway.id())\n            .build());\n\n        var exampleSpringCloudApiPortalCustomDomain = new SpringCloudApiPortalCustomDomain(\"exampleSpringCloudApiPortalCustomDomain\", SpringCloudApiPortalCustomDomainArgs.builder()\n            .name(\"example.com\")\n            .springCloudApiPortalId(exampleSpringCloudApiPortal.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleSpringCloudService:\n    type: azure:appplatform:SpringCloudService\n    name: example\n    properties:\n      name: example\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      skuName: E0\n  exampleSpringCloudGateway:\n    type: azure:appplatform:SpringCloudGateway\n    name: example\n    properties:\n      name: default\n      springCloudServiceId: ${exampleSpringCloudService.id}\n  exampleSpringCloudApiPortal:\n    type: azure:appplatform:SpringCloudApiPortal\n    name: example\n    properties:\n      name: default\n      springCloudServiceId: ${exampleSpringCloudService.id}\n      gatewayIds:\n        - ${exampleSpringCloudGateway.id}\n  exampleSpringCloudApiPortalCustomDomain:\n    type: azure:appplatform:SpringCloudApiPortalCustomDomain\n    name: example\n    properties:\n      name: example.com\n      springCloudApiPortalId: ${exampleSpringCloudApiPortal.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nSpring Cloud API Portal Domains can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:appplatform/springCloudApiPortalCustomDomain:SpringCloudApiPortalCustomDomain example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup1/providers/Microsoft.AppPlatform/spring/service1/apiPortals/apiPortal1/domains/domain1\n```\n\n","properties":{"name":{"type":"string","description":"The name which should be used for this Spring Cloud API Portal Domain. Changing this forces a new Spring Cloud API Portal Domain to be created.\n"},"springCloudApiPortalId":{"type":"string","description":"The ID of the Spring Cloud API Portal. Changing this forces a new Spring Cloud API Portal Domain to be created.\n"},"thumbprint":{"type":"string","description":"Specifies the thumbprint of the Spring Cloud Certificate that binds to the Spring Cloud API Portal Domain.\n"}},"required":["name","springCloudApiPortalId"],"inputProperties":{"name":{"type":"string","description":"The name which should be used for this Spring Cloud API Portal Domain. Changing this forces a new Spring Cloud API Portal Domain to be created.\n","willReplaceOnChanges":true},"springCloudApiPortalId":{"type":"string","description":"The ID of the Spring Cloud API Portal. Changing this forces a new Spring Cloud API Portal Domain to be created.\n","willReplaceOnChanges":true},"thumbprint":{"type":"string","description":"Specifies the thumbprint of the Spring Cloud Certificate that binds to the Spring Cloud API Portal Domain.\n"}},"requiredInputs":["springCloudApiPortalId"],"stateInputs":{"description":"Input properties used for looking up and filtering SpringCloudApiPortalCustomDomain resources.\n","properties":{"name":{"type":"string","description":"The name which should be used for this Spring Cloud API Portal Domain. Changing this forces a new Spring Cloud API Portal Domain to be created.\n","willReplaceOnChanges":true},"springCloudApiPortalId":{"type":"string","description":"The ID of the Spring Cloud API Portal. Changing this forces a new Spring Cloud API Portal Domain to be created.\n","willReplaceOnChanges":true},"thumbprint":{"type":"string","description":"Specifies the thumbprint of the Spring Cloud Certificate that binds to the Spring Cloud API Portal Domain.\n"}},"type":"object"}},"azure:appplatform/springCloudApp:SpringCloudApp":{"description":"Manage an Azure Spring Cloud Application.\n\n!\u003e **Note:** Azure Spring Apps is now deprecated and will be retired on 2028-05-31 - as such the \u003cspan pulumi-lang-nodejs=\"`azure.appplatform.SpringCloudApp`\" pulumi-lang-dotnet=\"`azure.appplatform.SpringCloudApp`\" pulumi-lang-go=\"`appplatform.SpringCloudApp`\" pulumi-lang-python=\"`appplatform.SpringCloudApp`\" pulumi-lang-yaml=\"`azure.appplatform.SpringCloudApp`\" pulumi-lang-java=\"`azure.appplatform.SpringCloudApp`\"\u003e`azure.appplatform.SpringCloudApp`\u003c/span\u003e resource is deprecated and will be removed in a future major version of the AzureRM Provider. See https://aka.ms/asaretirement for more information.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleSpringCloudService = new azure.appplatform.SpringCloudService(\"example\", {\n    name: \"example-springcloud\",\n    resourceGroupName: example.name,\n    location: example.location,\n});\nconst exampleSpringCloudApp = new azure.appplatform.SpringCloudApp(\"example\", {\n    name: \"example-springcloudapp\",\n    resourceGroupName: example.name,\n    serviceName: exampleSpringCloudService.name,\n    identity: {\n        type: \"SystemAssigned\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_spring_cloud_service = azure.appplatform.SpringCloudService(\"example\",\n    name=\"example-springcloud\",\n    resource_group_name=example.name,\n    location=example.location)\nexample_spring_cloud_app = azure.appplatform.SpringCloudApp(\"example\",\n    name=\"example-springcloudapp\",\n    resource_group_name=example.name,\n    service_name=example_spring_cloud_service.name,\n    identity={\n        \"type\": \"SystemAssigned\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleSpringCloudService = new Azure.AppPlatform.SpringCloudService(\"example\", new()\n    {\n        Name = \"example-springcloud\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n    });\n\n    var exampleSpringCloudApp = new Azure.AppPlatform.SpringCloudApp(\"example\", new()\n    {\n        Name = \"example-springcloudapp\",\n        ResourceGroupName = example.Name,\n        ServiceName = exampleSpringCloudService.Name,\n        Identity = new Azure.AppPlatform.Inputs.SpringCloudAppIdentityArgs\n        {\n            Type = \"SystemAssigned\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/appplatform\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSpringCloudService, err := appplatform.NewSpringCloudService(ctx, \"example\", \u0026appplatform.SpringCloudServiceArgs{\n\t\t\tName:              pulumi.String(\"example-springcloud\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = appplatform.NewSpringCloudApp(ctx, \"example\", \u0026appplatform.SpringCloudAppArgs{\n\t\t\tName:              pulumi.String(\"example-springcloudapp\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tServiceName:       exampleSpringCloudService.Name,\n\t\t\tIdentity: \u0026appplatform.SpringCloudAppIdentityArgs{\n\t\t\t\tType: pulumi.String(\"SystemAssigned\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.appplatform.SpringCloudService;\nimport com.pulumi.azure.appplatform.SpringCloudServiceArgs;\nimport com.pulumi.azure.appplatform.SpringCloudApp;\nimport com.pulumi.azure.appplatform.SpringCloudAppArgs;\nimport com.pulumi.azure.appplatform.inputs.SpringCloudAppIdentityArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleSpringCloudService = new SpringCloudService(\"exampleSpringCloudService\", SpringCloudServiceArgs.builder()\n            .name(\"example-springcloud\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .build());\n\n        var exampleSpringCloudApp = new SpringCloudApp(\"exampleSpringCloudApp\", SpringCloudAppArgs.builder()\n            .name(\"example-springcloudapp\")\n            .resourceGroupName(example.name())\n            .serviceName(exampleSpringCloudService.name())\n            .identity(SpringCloudAppIdentityArgs.builder()\n                .type(\"SystemAssigned\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleSpringCloudService:\n    type: azure:appplatform:SpringCloudService\n    name: example\n    properties:\n      name: example-springcloud\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n  exampleSpringCloudApp:\n    type: azure:appplatform:SpringCloudApp\n    name: example\n    properties:\n      name: example-springcloudapp\n      resourceGroupName: ${example.name}\n      serviceName: ${exampleSpringCloudService.name}\n      identity:\n        type: SystemAssigned\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nSpring Cloud Application can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:appplatform/springCloudApp:SpringCloudApp example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myresourcegroup/providers/Microsoft.AppPlatform/spring/myservice/apps/myapp\n```\n\n","properties":{"addonJson":{"type":"string","description":"A JSON object that contains the addon configurations of the Spring Cloud Service.\n"},"customPersistentDisks":{"type":"array","items":{"$ref":"#/types/azure:appplatform/SpringCloudAppCustomPersistentDisk:SpringCloudAppCustomPersistentDisk"},"description":"A \u003cspan pulumi-lang-nodejs=\"`customPersistentDisk`\" pulumi-lang-dotnet=\"`CustomPersistentDisk`\" pulumi-lang-go=\"`customPersistentDisk`\" pulumi-lang-python=\"`custom_persistent_disk`\" pulumi-lang-yaml=\"`customPersistentDisk`\" pulumi-lang-java=\"`customPersistentDisk`\"\u003e`custom_persistent_disk`\u003c/span\u003e block as defined below.\n"},"fqdn":{"type":"string","description":"The Fully Qualified DNS Name of the Spring Application in the service.\n"},"httpsOnly":{"type":"boolean","description":"Is only HTTPS allowed? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"identity":{"$ref":"#/types/azure:appplatform/SpringCloudAppIdentity:SpringCloudAppIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"ingressSettings":{"$ref":"#/types/azure:appplatform/SpringCloudAppIngressSettings:SpringCloudAppIngressSettings","description":"An \u003cspan pulumi-lang-nodejs=\"`ingressSettings`\" pulumi-lang-dotnet=\"`IngressSettings`\" pulumi-lang-go=\"`ingressSettings`\" pulumi-lang-python=\"`ingress_settings`\" pulumi-lang-yaml=\"`ingressSettings`\" pulumi-lang-java=\"`ingressSettings`\"\u003e`ingress_settings`\u003c/span\u003e block as defined below.\n"},"isPublic":{"type":"boolean","description":"Does the Spring Cloud Application have public endpoint? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"name":{"type":"string","description":"Specifies the name of the Spring Cloud Application. Changing this forces a new resource to be created.\n"},"persistentDisk":{"$ref":"#/types/azure:appplatform/SpringCloudAppPersistentDisk:SpringCloudAppPersistentDisk","description":"An \u003cspan pulumi-lang-nodejs=\"`persistentDisk`\" pulumi-lang-dotnet=\"`PersistentDisk`\" pulumi-lang-go=\"`persistentDisk`\" pulumi-lang-python=\"`persistent_disk`\" pulumi-lang-yaml=\"`persistentDisk`\" pulumi-lang-java=\"`persistentDisk`\"\u003e`persistent_disk`\u003c/span\u003e block as defined below.\n"},"publicEndpointEnabled":{"type":"boolean","description":"Should the App in vnet injection instance exposes endpoint which could be accessed from Internet?\n"},"resourceGroupName":{"type":"string","description":"Specifies the name of the resource group in which to create the Spring Cloud Application. Changing this forces a new resource to be created.\n"},"serviceName":{"type":"string","description":"Specifies the name of the Spring Cloud Service resource. Changing this forces a new resource to be created.\n"},"tlsEnabled":{"type":"boolean","description":"Is End to End TLS Enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"url":{"type":"string","description":"The public endpoint of the Spring Cloud Application.\n"}},"required":["addonJson","fqdn","ingressSettings","name","persistentDisk","resourceGroupName","serviceName","url"],"inputProperties":{"addonJson":{"type":"string","description":"A JSON object that contains the addon configurations of the Spring Cloud Service.\n"},"customPersistentDisks":{"type":"array","items":{"$ref":"#/types/azure:appplatform/SpringCloudAppCustomPersistentDisk:SpringCloudAppCustomPersistentDisk"},"description":"A \u003cspan pulumi-lang-nodejs=\"`customPersistentDisk`\" pulumi-lang-dotnet=\"`CustomPersistentDisk`\" pulumi-lang-go=\"`customPersistentDisk`\" pulumi-lang-python=\"`custom_persistent_disk`\" pulumi-lang-yaml=\"`customPersistentDisk`\" pulumi-lang-java=\"`customPersistentDisk`\"\u003e`custom_persistent_disk`\u003c/span\u003e block as defined below.\n"},"httpsOnly":{"type":"boolean","description":"Is only HTTPS allowed? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"identity":{"$ref":"#/types/azure:appplatform/SpringCloudAppIdentity:SpringCloudAppIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"ingressSettings":{"$ref":"#/types/azure:appplatform/SpringCloudAppIngressSettings:SpringCloudAppIngressSettings","description":"An \u003cspan pulumi-lang-nodejs=\"`ingressSettings`\" pulumi-lang-dotnet=\"`IngressSettings`\" pulumi-lang-go=\"`ingressSettings`\" pulumi-lang-python=\"`ingress_settings`\" pulumi-lang-yaml=\"`ingressSettings`\" pulumi-lang-java=\"`ingressSettings`\"\u003e`ingress_settings`\u003c/span\u003e block as defined below.\n"},"isPublic":{"type":"boolean","description":"Does the Spring Cloud Application have public endpoint? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"name":{"type":"string","description":"Specifies the name of the Spring Cloud Application. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"persistentDisk":{"$ref":"#/types/azure:appplatform/SpringCloudAppPersistentDisk:SpringCloudAppPersistentDisk","description":"An \u003cspan pulumi-lang-nodejs=\"`persistentDisk`\" pulumi-lang-dotnet=\"`PersistentDisk`\" pulumi-lang-go=\"`persistentDisk`\" pulumi-lang-python=\"`persistent_disk`\" pulumi-lang-yaml=\"`persistentDisk`\" pulumi-lang-java=\"`persistentDisk`\"\u003e`persistent_disk`\u003c/span\u003e block as defined below.\n"},"publicEndpointEnabled":{"type":"boolean","description":"Should the App in vnet injection instance exposes endpoint which could be accessed from Internet?\n"},"resourceGroupName":{"type":"string","description":"Specifies the name of the resource group in which to create the Spring Cloud Application. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"serviceName":{"type":"string","description":"Specifies the name of the Spring Cloud Service resource. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tlsEnabled":{"type":"boolean","description":"Is End to End TLS Enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"}},"requiredInputs":["resourceGroupName","serviceName"],"stateInputs":{"description":"Input properties used for looking up and filtering SpringCloudApp resources.\n","properties":{"addonJson":{"type":"string","description":"A JSON object that contains the addon configurations of the Spring Cloud Service.\n"},"customPersistentDisks":{"type":"array","items":{"$ref":"#/types/azure:appplatform/SpringCloudAppCustomPersistentDisk:SpringCloudAppCustomPersistentDisk"},"description":"A \u003cspan pulumi-lang-nodejs=\"`customPersistentDisk`\" pulumi-lang-dotnet=\"`CustomPersistentDisk`\" pulumi-lang-go=\"`customPersistentDisk`\" pulumi-lang-python=\"`custom_persistent_disk`\" pulumi-lang-yaml=\"`customPersistentDisk`\" pulumi-lang-java=\"`customPersistentDisk`\"\u003e`custom_persistent_disk`\u003c/span\u003e block as defined below.\n"},"fqdn":{"type":"string","description":"The Fully Qualified DNS Name of the Spring Application in the service.\n"},"httpsOnly":{"type":"boolean","description":"Is only HTTPS allowed? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"identity":{"$ref":"#/types/azure:appplatform/SpringCloudAppIdentity:SpringCloudAppIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"ingressSettings":{"$ref":"#/types/azure:appplatform/SpringCloudAppIngressSettings:SpringCloudAppIngressSettings","description":"An \u003cspan pulumi-lang-nodejs=\"`ingressSettings`\" pulumi-lang-dotnet=\"`IngressSettings`\" pulumi-lang-go=\"`ingressSettings`\" pulumi-lang-python=\"`ingress_settings`\" pulumi-lang-yaml=\"`ingressSettings`\" pulumi-lang-java=\"`ingressSettings`\"\u003e`ingress_settings`\u003c/span\u003e block as defined below.\n"},"isPublic":{"type":"boolean","description":"Does the Spring Cloud Application have public endpoint? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"name":{"type":"string","description":"Specifies the name of the Spring Cloud Application. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"persistentDisk":{"$ref":"#/types/azure:appplatform/SpringCloudAppPersistentDisk:SpringCloudAppPersistentDisk","description":"An \u003cspan pulumi-lang-nodejs=\"`persistentDisk`\" pulumi-lang-dotnet=\"`PersistentDisk`\" pulumi-lang-go=\"`persistentDisk`\" pulumi-lang-python=\"`persistent_disk`\" pulumi-lang-yaml=\"`persistentDisk`\" pulumi-lang-java=\"`persistentDisk`\"\u003e`persistent_disk`\u003c/span\u003e block as defined below.\n"},"publicEndpointEnabled":{"type":"boolean","description":"Should the App in vnet injection instance exposes endpoint which could be accessed from Internet?\n"},"resourceGroupName":{"type":"string","description":"Specifies the name of the resource group in which to create the Spring Cloud Application. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"serviceName":{"type":"string","description":"Specifies the name of the Spring Cloud Service resource. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tlsEnabled":{"type":"boolean","description":"Is End to End TLS Enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"url":{"type":"string","description":"The public endpoint of the Spring Cloud Application.\n"}},"type":"object"}},"azure:appplatform/springCloudAppCosmosDBAssociation:SpringCloudAppCosmosDBAssociation":{"description":"Associates a Spring Cloud Application with a CosmosDB Account.\n\n!\u003e **Note:** Azure Spring Apps is now deprecated and will be retired on 2028-05-31 - as such the \u003cspan pulumi-lang-nodejs=\"`azure.appplatform.SpringCloudAppCosmosDBAssociation`\" pulumi-lang-dotnet=\"`azure.appplatform.SpringCloudAppCosmosDBAssociation`\" pulumi-lang-go=\"`appplatform.SpringCloudAppCosmosDBAssociation`\" pulumi-lang-python=\"`appplatform.SpringCloudAppCosmosDBAssociation`\" pulumi-lang-yaml=\"`azure.appplatform.SpringCloudAppCosmosDBAssociation`\" pulumi-lang-java=\"`azure.appplatform.SpringCloudAppCosmosDBAssociation`\"\u003e`azure.appplatform.SpringCloudAppCosmosDBAssociation`\u003c/span\u003e resource is deprecated and will be removed in a future major version of the AzureRM Provider. See https://aka.ms/asaretirement for more information.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleSpringCloudService = new azure.appplatform.SpringCloudService(\"example\", {\n    name: \"example-springcloud\",\n    resourceGroupName: example.name,\n    location: example.location,\n});\nconst exampleSpringCloudApp = new azure.appplatform.SpringCloudApp(\"example\", {\n    name: \"example-springcloudapp\",\n    resourceGroupName: example.name,\n    serviceName: exampleSpringCloudService.name,\n});\nconst exampleAccount = new azure.cosmosdb.Account(\"example\", {\n    name: \"example-cosmosdb-account\",\n    location: example.location,\n    resourceGroupName: example.name,\n    offerType: \"Standard\",\n    kind: \"GlobalDocumentDB\",\n    consistencyPolicy: {\n        consistencyLevel: \"Strong\",\n    },\n    geoLocations: [{\n        location: example.location,\n        failoverPriority: 0,\n    }],\n});\nconst exampleSpringCloudAppCosmosDBAssociation = new azure.appplatform.SpringCloudAppCosmosDBAssociation(\"example\", {\n    name: \"example-bind\",\n    springCloudAppId: exampleSpringCloudApp.id,\n    cosmosdbAccountId: exampleAccount.id,\n    apiType: \"table\",\n    cosmosdbAccessKey: exampleAccount.primaryKey,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_spring_cloud_service = azure.appplatform.SpringCloudService(\"example\",\n    name=\"example-springcloud\",\n    resource_group_name=example.name,\n    location=example.location)\nexample_spring_cloud_app = azure.appplatform.SpringCloudApp(\"example\",\n    name=\"example-springcloudapp\",\n    resource_group_name=example.name,\n    service_name=example_spring_cloud_service.name)\nexample_account = azure.cosmosdb.Account(\"example\",\n    name=\"example-cosmosdb-account\",\n    location=example.location,\n    resource_group_name=example.name,\n    offer_type=\"Standard\",\n    kind=\"GlobalDocumentDB\",\n    consistency_policy={\n        \"consistency_level\": \"Strong\",\n    },\n    geo_locations=[{\n        \"location\": example.location,\n        \"failover_priority\": 0,\n    }])\nexample_spring_cloud_app_cosmos_dbassociation = azure.appplatform.SpringCloudAppCosmosDBAssociation(\"example\",\n    name=\"example-bind\",\n    spring_cloud_app_id=example_spring_cloud_app.id,\n    cosmosdb_account_id=example_account.id,\n    api_type=\"table\",\n    cosmosdb_access_key=example_account.primary_key)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleSpringCloudService = new Azure.AppPlatform.SpringCloudService(\"example\", new()\n    {\n        Name = \"example-springcloud\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n    });\n\n    var exampleSpringCloudApp = new Azure.AppPlatform.SpringCloudApp(\"example\", new()\n    {\n        Name = \"example-springcloudapp\",\n        ResourceGroupName = example.Name,\n        ServiceName = exampleSpringCloudService.Name,\n    });\n\n    var exampleAccount = new Azure.CosmosDB.Account(\"example\", new()\n    {\n        Name = \"example-cosmosdb-account\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        OfferType = \"Standard\",\n        Kind = \"GlobalDocumentDB\",\n        ConsistencyPolicy = new Azure.CosmosDB.Inputs.AccountConsistencyPolicyArgs\n        {\n            ConsistencyLevel = \"Strong\",\n        },\n        GeoLocations = new[]\n        {\n            new Azure.CosmosDB.Inputs.AccountGeoLocationArgs\n            {\n                Location = example.Location,\n                FailoverPriority = 0,\n            },\n        },\n    });\n\n    var exampleSpringCloudAppCosmosDBAssociation = new Azure.AppPlatform.SpringCloudAppCosmosDBAssociation(\"example\", new()\n    {\n        Name = \"example-bind\",\n        SpringCloudAppId = exampleSpringCloudApp.Id,\n        CosmosdbAccountId = exampleAccount.Id,\n        ApiType = \"table\",\n        CosmosdbAccessKey = exampleAccount.PrimaryKey,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/appplatform\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/cosmosdb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSpringCloudService, err := appplatform.NewSpringCloudService(ctx, \"example\", \u0026appplatform.SpringCloudServiceArgs{\n\t\t\tName:              pulumi.String(\"example-springcloud\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSpringCloudApp, err := appplatform.NewSpringCloudApp(ctx, \"example\", \u0026appplatform.SpringCloudAppArgs{\n\t\t\tName:              pulumi.String(\"example-springcloudapp\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tServiceName:       exampleSpringCloudService.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := cosmosdb.NewAccount(ctx, \"example\", \u0026cosmosdb.AccountArgs{\n\t\t\tName:              pulumi.String(\"example-cosmosdb-account\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tOfferType:         pulumi.String(\"Standard\"),\n\t\t\tKind:              pulumi.String(\"GlobalDocumentDB\"),\n\t\t\tConsistencyPolicy: \u0026cosmosdb.AccountConsistencyPolicyArgs{\n\t\t\t\tConsistencyLevel: pulumi.String(\"Strong\"),\n\t\t\t},\n\t\t\tGeoLocations: cosmosdb.AccountGeoLocationArray{\n\t\t\t\t\u0026cosmosdb.AccountGeoLocationArgs{\n\t\t\t\t\tLocation:         example.Location,\n\t\t\t\t\tFailoverPriority: pulumi.Int(0),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = appplatform.NewSpringCloudAppCosmosDBAssociation(ctx, \"example\", \u0026appplatform.SpringCloudAppCosmosDBAssociationArgs{\n\t\t\tName:              pulumi.String(\"example-bind\"),\n\t\t\tSpringCloudAppId:  exampleSpringCloudApp.ID(),\n\t\t\tCosmosdbAccountId: exampleAccount.ID(),\n\t\t\tApiType:           pulumi.String(\"table\"),\n\t\t\tCosmosdbAccessKey: exampleAccount.PrimaryKey,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.appplatform.SpringCloudService;\nimport com.pulumi.azure.appplatform.SpringCloudServiceArgs;\nimport com.pulumi.azure.appplatform.SpringCloudApp;\nimport com.pulumi.azure.appplatform.SpringCloudAppArgs;\nimport com.pulumi.azure.cosmosdb.Account;\nimport com.pulumi.azure.cosmosdb.AccountArgs;\nimport com.pulumi.azure.cosmosdb.inputs.AccountConsistencyPolicyArgs;\nimport com.pulumi.azure.cosmosdb.inputs.AccountGeoLocationArgs;\nimport com.pulumi.azure.appplatform.SpringCloudAppCosmosDBAssociation;\nimport com.pulumi.azure.appplatform.SpringCloudAppCosmosDBAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleSpringCloudService = new SpringCloudService(\"exampleSpringCloudService\", SpringCloudServiceArgs.builder()\n            .name(\"example-springcloud\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .build());\n\n        var exampleSpringCloudApp = new SpringCloudApp(\"exampleSpringCloudApp\", SpringCloudAppArgs.builder()\n            .name(\"example-springcloudapp\")\n            .resourceGroupName(example.name())\n            .serviceName(exampleSpringCloudService.name())\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"example-cosmosdb-account\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .offerType(\"Standard\")\n            .kind(\"GlobalDocumentDB\")\n            .consistencyPolicy(AccountConsistencyPolicyArgs.builder()\n                .consistencyLevel(\"Strong\")\n                .build())\n            .geoLocations(AccountGeoLocationArgs.builder()\n                .location(example.location())\n                .failoverPriority(0)\n                .build())\n            .build());\n\n        var exampleSpringCloudAppCosmosDBAssociation = new SpringCloudAppCosmosDBAssociation(\"exampleSpringCloudAppCosmosDBAssociation\", SpringCloudAppCosmosDBAssociationArgs.builder()\n            .name(\"example-bind\")\n            .springCloudAppId(exampleSpringCloudApp.id())\n            .cosmosdbAccountId(exampleAccount.id())\n            .apiType(\"table\")\n            .cosmosdbAccessKey(exampleAccount.primaryKey())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleSpringCloudService:\n    type: azure:appplatform:SpringCloudService\n    name: example\n    properties:\n      name: example-springcloud\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n  exampleSpringCloudApp:\n    type: azure:appplatform:SpringCloudApp\n    name: example\n    properties:\n      name: example-springcloudapp\n      resourceGroupName: ${example.name}\n      serviceName: ${exampleSpringCloudService.name}\n  exampleAccount:\n    type: azure:cosmosdb:Account\n    name: example\n    properties:\n      name: example-cosmosdb-account\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      offerType: Standard\n      kind: GlobalDocumentDB\n      consistencyPolicy:\n        consistencyLevel: Strong\n      geoLocations:\n        - location: ${example.location}\n          failoverPriority: 0\n  exampleSpringCloudAppCosmosDBAssociation:\n    type: azure:appplatform:SpringCloudAppCosmosDBAssociation\n    name: example\n    properties:\n      name: example-bind\n      springCloudAppId: ${exampleSpringCloudApp.id}\n      cosmosdbAccountId: ${exampleAccount.id}\n      apiType: table\n      cosmosdbAccessKey: ${exampleAccount.primaryKey}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nSpring Cloud Application CosmosDB Association can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:appplatform/springCloudAppCosmosDBAssociation:SpringCloudAppCosmosDBAssociation example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resourcegroup1/providers/Microsoft.AppPlatform/spring/service1/apps/app1/bindings/bind1\n```\n\n","properties":{"apiType":{"type":"string","description":"Specifies the API type which should be used when connecting to the CosmosDB Account. Possible values are \u003cspan pulumi-lang-nodejs=\"`cassandra`\" pulumi-lang-dotnet=\"`Cassandra`\" pulumi-lang-go=\"`cassandra`\" pulumi-lang-python=\"`cassandra`\" pulumi-lang-yaml=\"`cassandra`\" pulumi-lang-java=\"`cassandra`\"\u003e`cassandra`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`gremlin`\" pulumi-lang-dotnet=\"`Gremlin`\" pulumi-lang-go=\"`gremlin`\" pulumi-lang-python=\"`gremlin`\" pulumi-lang-yaml=\"`gremlin`\" pulumi-lang-java=\"`gremlin`\"\u003e`gremlin`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`mongo`\" pulumi-lang-dotnet=\"`Mongo`\" pulumi-lang-go=\"`mongo`\" pulumi-lang-python=\"`mongo`\" pulumi-lang-yaml=\"`mongo`\" pulumi-lang-java=\"`mongo`\"\u003e`mongo`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`sql`\" pulumi-lang-dotnet=\"`Sql`\" pulumi-lang-go=\"`sql`\" pulumi-lang-python=\"`sql`\" pulumi-lang-yaml=\"`sql`\" pulumi-lang-java=\"`sql`\"\u003e`sql`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`table`\" pulumi-lang-dotnet=\"`Table`\" pulumi-lang-go=\"`table`\" pulumi-lang-python=\"`table`\" pulumi-lang-yaml=\"`table`\" pulumi-lang-java=\"`table`\"\u003e`table`\u003c/span\u003e. Changing this forces a new resource to be created.\n"},"cosmosdbAccessKey":{"type":"string","description":"Specifies the CosmosDB Account access key.\n"},"cosmosdbAccountId":{"type":"string","description":"Specifies the ID of the CosmosDB Account. Changing this forces a new resource to be created.\n"},"cosmosdbCassandraKeyspaceName":{"type":"string","description":"Specifies the name of the Cassandra Keyspace which the Spring Cloud App should be associated with. Should only be set when \u003cspan pulumi-lang-nodejs=\"`apiType`\" pulumi-lang-dotnet=\"`ApiType`\" pulumi-lang-go=\"`apiType`\" pulumi-lang-python=\"`api_type`\" pulumi-lang-yaml=\"`apiType`\" pulumi-lang-java=\"`apiType`\"\u003e`api_type`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`cassandra`\" pulumi-lang-dotnet=\"`Cassandra`\" pulumi-lang-go=\"`cassandra`\" pulumi-lang-python=\"`cassandra`\" pulumi-lang-yaml=\"`cassandra`\" pulumi-lang-java=\"`cassandra`\"\u003e`cassandra`\u003c/span\u003e.\n"},"cosmosdbGremlinDatabaseName":{"type":"string","description":"Specifies the name of the Gremlin Database which the Spring Cloud App should be associated with. Should only be set when \u003cspan pulumi-lang-nodejs=\"`apiType`\" pulumi-lang-dotnet=\"`ApiType`\" pulumi-lang-go=\"`apiType`\" pulumi-lang-python=\"`api_type`\" pulumi-lang-yaml=\"`apiType`\" pulumi-lang-java=\"`apiType`\"\u003e`api_type`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`gremlin`\" pulumi-lang-dotnet=\"`Gremlin`\" pulumi-lang-go=\"`gremlin`\" pulumi-lang-python=\"`gremlin`\" pulumi-lang-yaml=\"`gremlin`\" pulumi-lang-java=\"`gremlin`\"\u003e`gremlin`\u003c/span\u003e.\n"},"cosmosdbGremlinGraphName":{"type":"string","description":"Specifies the name of the Gremlin Graph which the Spring Cloud App should be associated with. Should only be set when \u003cspan pulumi-lang-nodejs=\"`apiType`\" pulumi-lang-dotnet=\"`ApiType`\" pulumi-lang-go=\"`apiType`\" pulumi-lang-python=\"`api_type`\" pulumi-lang-yaml=\"`apiType`\" pulumi-lang-java=\"`apiType`\"\u003e`api_type`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`gremlin`\" pulumi-lang-dotnet=\"`Gremlin`\" pulumi-lang-go=\"`gremlin`\" pulumi-lang-python=\"`gremlin`\" pulumi-lang-yaml=\"`gremlin`\" pulumi-lang-java=\"`gremlin`\"\u003e`gremlin`\u003c/span\u003e.\n"},"cosmosdbMongoDatabaseName":{"type":"string","description":"Specifies the name of the Mongo Database which the Spring Cloud App should be associated with. Should only be set when \u003cspan pulumi-lang-nodejs=\"`apiType`\" pulumi-lang-dotnet=\"`ApiType`\" pulumi-lang-go=\"`apiType`\" pulumi-lang-python=\"`api_type`\" pulumi-lang-yaml=\"`apiType`\" pulumi-lang-java=\"`apiType`\"\u003e`api_type`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`mongo`\" pulumi-lang-dotnet=\"`Mongo`\" pulumi-lang-go=\"`mongo`\" pulumi-lang-python=\"`mongo`\" pulumi-lang-yaml=\"`mongo`\" pulumi-lang-java=\"`mongo`\"\u003e`mongo`\u003c/span\u003e.\n"},"cosmosdbSqlDatabaseName":{"type":"string","description":"Specifies the name of the SQL Database which the Spring Cloud App should be associated with. Should only be set when \u003cspan pulumi-lang-nodejs=\"`apiType`\" pulumi-lang-dotnet=\"`ApiType`\" pulumi-lang-go=\"`apiType`\" pulumi-lang-python=\"`api_type`\" pulumi-lang-yaml=\"`apiType`\" pulumi-lang-java=\"`apiType`\"\u003e`api_type`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`sql`\" pulumi-lang-dotnet=\"`Sql`\" pulumi-lang-go=\"`sql`\" pulumi-lang-python=\"`sql`\" pulumi-lang-yaml=\"`sql`\" pulumi-lang-java=\"`sql`\"\u003e`sql`\u003c/span\u003e.\n"},"name":{"type":"string","description":"Specifies the name of the Spring Cloud Application Association. Changing this forces a new resource to be created.\n"},"springCloudAppId":{"type":"string","description":"Specifies the ID of the Spring Cloud Application where this Association is created. Changing this forces a new resource to be created.\n"}},"required":["apiType","cosmosdbAccessKey","cosmosdbAccountId","name","springCloudAppId"],"inputProperties":{"apiType":{"type":"string","description":"Specifies the API type which should be used when connecting to the CosmosDB Account. Possible values are \u003cspan pulumi-lang-nodejs=\"`cassandra`\" pulumi-lang-dotnet=\"`Cassandra`\" pulumi-lang-go=\"`cassandra`\" pulumi-lang-python=\"`cassandra`\" pulumi-lang-yaml=\"`cassandra`\" pulumi-lang-java=\"`cassandra`\"\u003e`cassandra`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`gremlin`\" pulumi-lang-dotnet=\"`Gremlin`\" pulumi-lang-go=\"`gremlin`\" pulumi-lang-python=\"`gremlin`\" pulumi-lang-yaml=\"`gremlin`\" pulumi-lang-java=\"`gremlin`\"\u003e`gremlin`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`mongo`\" pulumi-lang-dotnet=\"`Mongo`\" pulumi-lang-go=\"`mongo`\" pulumi-lang-python=\"`mongo`\" pulumi-lang-yaml=\"`mongo`\" pulumi-lang-java=\"`mongo`\"\u003e`mongo`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`sql`\" pulumi-lang-dotnet=\"`Sql`\" pulumi-lang-go=\"`sql`\" pulumi-lang-python=\"`sql`\" pulumi-lang-yaml=\"`sql`\" pulumi-lang-java=\"`sql`\"\u003e`sql`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`table`\" pulumi-lang-dotnet=\"`Table`\" pulumi-lang-go=\"`table`\" pulumi-lang-python=\"`table`\" pulumi-lang-yaml=\"`table`\" pulumi-lang-java=\"`table`\"\u003e`table`\u003c/span\u003e. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"cosmosdbAccessKey":{"type":"string","description":"Specifies the CosmosDB Account access key.\n"},"cosmosdbAccountId":{"type":"string","description":"Specifies the ID of the CosmosDB Account. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"cosmosdbCassandraKeyspaceName":{"type":"string","description":"Specifies the name of the Cassandra Keyspace which the Spring Cloud App should be associated with. Should only be set when \u003cspan pulumi-lang-nodejs=\"`apiType`\" pulumi-lang-dotnet=\"`ApiType`\" pulumi-lang-go=\"`apiType`\" pulumi-lang-python=\"`api_type`\" pulumi-lang-yaml=\"`apiType`\" pulumi-lang-java=\"`apiType`\"\u003e`api_type`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`cassandra`\" pulumi-lang-dotnet=\"`Cassandra`\" pulumi-lang-go=\"`cassandra`\" pulumi-lang-python=\"`cassandra`\" pulumi-lang-yaml=\"`cassandra`\" pulumi-lang-java=\"`cassandra`\"\u003e`cassandra`\u003c/span\u003e.\n"},"cosmosdbGremlinDatabaseName":{"type":"string","description":"Specifies the name of the Gremlin Database which the Spring Cloud App should be associated with. Should only be set when \u003cspan pulumi-lang-nodejs=\"`apiType`\" pulumi-lang-dotnet=\"`ApiType`\" pulumi-lang-go=\"`apiType`\" pulumi-lang-python=\"`api_type`\" pulumi-lang-yaml=\"`apiType`\" pulumi-lang-java=\"`apiType`\"\u003e`api_type`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`gremlin`\" pulumi-lang-dotnet=\"`Gremlin`\" pulumi-lang-go=\"`gremlin`\" pulumi-lang-python=\"`gremlin`\" pulumi-lang-yaml=\"`gremlin`\" pulumi-lang-java=\"`gremlin`\"\u003e`gremlin`\u003c/span\u003e.\n"},"cosmosdbGremlinGraphName":{"type":"string","description":"Specifies the name of the Gremlin Graph which the Spring Cloud App should be associated with. Should only be set when \u003cspan pulumi-lang-nodejs=\"`apiType`\" pulumi-lang-dotnet=\"`ApiType`\" pulumi-lang-go=\"`apiType`\" pulumi-lang-python=\"`api_type`\" pulumi-lang-yaml=\"`apiType`\" pulumi-lang-java=\"`apiType`\"\u003e`api_type`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`gremlin`\" pulumi-lang-dotnet=\"`Gremlin`\" pulumi-lang-go=\"`gremlin`\" pulumi-lang-python=\"`gremlin`\" pulumi-lang-yaml=\"`gremlin`\" pulumi-lang-java=\"`gremlin`\"\u003e`gremlin`\u003c/span\u003e.\n"},"cosmosdbMongoDatabaseName":{"type":"string","description":"Specifies the name of the Mongo Database which the Spring Cloud App should be associated with. Should only be set when \u003cspan pulumi-lang-nodejs=\"`apiType`\" pulumi-lang-dotnet=\"`ApiType`\" pulumi-lang-go=\"`apiType`\" pulumi-lang-python=\"`api_type`\" pulumi-lang-yaml=\"`apiType`\" pulumi-lang-java=\"`apiType`\"\u003e`api_type`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`mongo`\" pulumi-lang-dotnet=\"`Mongo`\" pulumi-lang-go=\"`mongo`\" pulumi-lang-python=\"`mongo`\" pulumi-lang-yaml=\"`mongo`\" pulumi-lang-java=\"`mongo`\"\u003e`mongo`\u003c/span\u003e.\n"},"cosmosdbSqlDatabaseName":{"type":"string","description":"Specifies the name of the SQL Database which the Spring Cloud App should be associated with. Should only be set when \u003cspan pulumi-lang-nodejs=\"`apiType`\" pulumi-lang-dotnet=\"`ApiType`\" pulumi-lang-go=\"`apiType`\" pulumi-lang-python=\"`api_type`\" pulumi-lang-yaml=\"`apiType`\" pulumi-lang-java=\"`apiType`\"\u003e`api_type`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`sql`\" pulumi-lang-dotnet=\"`Sql`\" pulumi-lang-go=\"`sql`\" pulumi-lang-python=\"`sql`\" pulumi-lang-yaml=\"`sql`\" pulumi-lang-java=\"`sql`\"\u003e`sql`\u003c/span\u003e.\n"},"name":{"type":"string","description":"Specifies the name of the Spring Cloud Application Association. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"springCloudAppId":{"type":"string","description":"Specifies the ID of the Spring Cloud Application where this Association is created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["apiType","cosmosdbAccessKey","cosmosdbAccountId","springCloudAppId"],"stateInputs":{"description":"Input properties used for looking up and filtering SpringCloudAppCosmosDBAssociation resources.\n","properties":{"apiType":{"type":"string","description":"Specifies the API type which should be used when connecting to the CosmosDB Account. Possible values are \u003cspan pulumi-lang-nodejs=\"`cassandra`\" pulumi-lang-dotnet=\"`Cassandra`\" pulumi-lang-go=\"`cassandra`\" pulumi-lang-python=\"`cassandra`\" pulumi-lang-yaml=\"`cassandra`\" pulumi-lang-java=\"`cassandra`\"\u003e`cassandra`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`gremlin`\" pulumi-lang-dotnet=\"`Gremlin`\" pulumi-lang-go=\"`gremlin`\" pulumi-lang-python=\"`gremlin`\" pulumi-lang-yaml=\"`gremlin`\" pulumi-lang-java=\"`gremlin`\"\u003e`gremlin`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`mongo`\" pulumi-lang-dotnet=\"`Mongo`\" pulumi-lang-go=\"`mongo`\" pulumi-lang-python=\"`mongo`\" pulumi-lang-yaml=\"`mongo`\" pulumi-lang-java=\"`mongo`\"\u003e`mongo`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`sql`\" pulumi-lang-dotnet=\"`Sql`\" pulumi-lang-go=\"`sql`\" pulumi-lang-python=\"`sql`\" pulumi-lang-yaml=\"`sql`\" pulumi-lang-java=\"`sql`\"\u003e`sql`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`table`\" pulumi-lang-dotnet=\"`Table`\" pulumi-lang-go=\"`table`\" pulumi-lang-python=\"`table`\" pulumi-lang-yaml=\"`table`\" pulumi-lang-java=\"`table`\"\u003e`table`\u003c/span\u003e. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"cosmosdbAccessKey":{"type":"string","description":"Specifies the CosmosDB Account access key.\n"},"cosmosdbAccountId":{"type":"string","description":"Specifies the ID of the CosmosDB Account. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"cosmosdbCassandraKeyspaceName":{"type":"string","description":"Specifies the name of the Cassandra Keyspace which the Spring Cloud App should be associated with. Should only be set when \u003cspan pulumi-lang-nodejs=\"`apiType`\" pulumi-lang-dotnet=\"`ApiType`\" pulumi-lang-go=\"`apiType`\" pulumi-lang-python=\"`api_type`\" pulumi-lang-yaml=\"`apiType`\" pulumi-lang-java=\"`apiType`\"\u003e`api_type`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`cassandra`\" pulumi-lang-dotnet=\"`Cassandra`\" pulumi-lang-go=\"`cassandra`\" pulumi-lang-python=\"`cassandra`\" pulumi-lang-yaml=\"`cassandra`\" pulumi-lang-java=\"`cassandra`\"\u003e`cassandra`\u003c/span\u003e.\n"},"cosmosdbGremlinDatabaseName":{"type":"string","description":"Specifies the name of the Gremlin Database which the Spring Cloud App should be associated with. Should only be set when \u003cspan pulumi-lang-nodejs=\"`apiType`\" pulumi-lang-dotnet=\"`ApiType`\" pulumi-lang-go=\"`apiType`\" pulumi-lang-python=\"`api_type`\" pulumi-lang-yaml=\"`apiType`\" pulumi-lang-java=\"`apiType`\"\u003e`api_type`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`gremlin`\" pulumi-lang-dotnet=\"`Gremlin`\" pulumi-lang-go=\"`gremlin`\" pulumi-lang-python=\"`gremlin`\" pulumi-lang-yaml=\"`gremlin`\" pulumi-lang-java=\"`gremlin`\"\u003e`gremlin`\u003c/span\u003e.\n"},"cosmosdbGremlinGraphName":{"type":"string","description":"Specifies the name of the Gremlin Graph which the Spring Cloud App should be associated with. Should only be set when \u003cspan pulumi-lang-nodejs=\"`apiType`\" pulumi-lang-dotnet=\"`ApiType`\" pulumi-lang-go=\"`apiType`\" pulumi-lang-python=\"`api_type`\" pulumi-lang-yaml=\"`apiType`\" pulumi-lang-java=\"`apiType`\"\u003e`api_type`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`gremlin`\" pulumi-lang-dotnet=\"`Gremlin`\" pulumi-lang-go=\"`gremlin`\" pulumi-lang-python=\"`gremlin`\" pulumi-lang-yaml=\"`gremlin`\" pulumi-lang-java=\"`gremlin`\"\u003e`gremlin`\u003c/span\u003e.\n"},"cosmosdbMongoDatabaseName":{"type":"string","description":"Specifies the name of the Mongo Database which the Spring Cloud App should be associated with. Should only be set when \u003cspan pulumi-lang-nodejs=\"`apiType`\" pulumi-lang-dotnet=\"`ApiType`\" pulumi-lang-go=\"`apiType`\" pulumi-lang-python=\"`api_type`\" pulumi-lang-yaml=\"`apiType`\" pulumi-lang-java=\"`apiType`\"\u003e`api_type`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`mongo`\" pulumi-lang-dotnet=\"`Mongo`\" pulumi-lang-go=\"`mongo`\" pulumi-lang-python=\"`mongo`\" pulumi-lang-yaml=\"`mongo`\" pulumi-lang-java=\"`mongo`\"\u003e`mongo`\u003c/span\u003e.\n"},"cosmosdbSqlDatabaseName":{"type":"string","description":"Specifies the name of the SQL Database which the Spring Cloud App should be associated with. Should only be set when \u003cspan pulumi-lang-nodejs=\"`apiType`\" pulumi-lang-dotnet=\"`ApiType`\" pulumi-lang-go=\"`apiType`\" pulumi-lang-python=\"`api_type`\" pulumi-lang-yaml=\"`apiType`\" pulumi-lang-java=\"`apiType`\"\u003e`api_type`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`sql`\" pulumi-lang-dotnet=\"`Sql`\" pulumi-lang-go=\"`sql`\" pulumi-lang-python=\"`sql`\" pulumi-lang-yaml=\"`sql`\" pulumi-lang-java=\"`sql`\"\u003e`sql`\u003c/span\u003e.\n"},"name":{"type":"string","description":"Specifies the name of the Spring Cloud Application Association. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"springCloudAppId":{"type":"string","description":"Specifies the ID of the Spring Cloud Application where this Association is created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:appplatform/springCloudAppDynamicsApplicationPerformanceMonitoring:SpringCloudAppDynamicsApplicationPerformanceMonitoring":{"description":"\u003e **Note:** This resource is only applicable for Spring Cloud Service enterprise tier\n\nManages a Spring Cloud Application Performance Monitoring resource for App Dynamics.\n\n!\u003e **Note:** Azure Spring Apps is now deprecated and will be retired on 2028-05-31 - as such the \u003cspan pulumi-lang-nodejs=\"`azure.appplatform.SpringCloudAppDynamicsApplicationPerformanceMonitoring`\" pulumi-lang-dotnet=\"`azure.appplatform.SpringCloudAppDynamicsApplicationPerformanceMonitoring`\" pulumi-lang-go=\"`appplatform.SpringCloudAppDynamicsApplicationPerformanceMonitoring`\" pulumi-lang-python=\"`appplatform.SpringCloudAppDynamicsApplicationPerformanceMonitoring`\" pulumi-lang-yaml=\"`azure.appplatform.SpringCloudAppDynamicsApplicationPerformanceMonitoring`\" pulumi-lang-java=\"`azure.appplatform.SpringCloudAppDynamicsApplicationPerformanceMonitoring`\"\u003e`azure.appplatform.SpringCloudAppDynamicsApplicationPerformanceMonitoring`\u003c/span\u003e resource is deprecated and will be removed in a future major version of the AzureRM Provider. See https://aka.ms/asaretirement for more information.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example\",\n    location: \"West Europe\",\n});\nconst exampleSpringCloudService = new azure.appplatform.SpringCloudService(\"example\", {\n    name: \"example\",\n    location: example.location,\n    resourceGroupName: example.name,\n    skuName: \"E0\",\n});\nconst exampleSpringCloudAppDynamicsApplicationPerformanceMonitoring = new azure.appplatform.SpringCloudAppDynamicsApplicationPerformanceMonitoring(\"example\", {\n    name: \"example\",\n    springCloudServiceId: exampleSpringCloudService.id,\n    agentAccountName: \"example-agent-account-name\",\n    agentAccountAccessKey: \"example-agent-account-access-key\",\n    controllerHostName: \"example-controller-host-name\",\n    agentApplicationName: \"example-agent-application-name\",\n    agentTierName: \"example-agent-tier-name\",\n    agentNodeName: \"example-agent-node-name\",\n    agentUniqueHostId: \"example-agent-unique-host-id\",\n    controllerSslEnabled: true,\n    controllerPort: 8080,\n    globallyEnabled: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example\",\n    location=\"West Europe\")\nexample_spring_cloud_service = azure.appplatform.SpringCloudService(\"example\",\n    name=\"example\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku_name=\"E0\")\nexample_spring_cloud_app_dynamics_application_performance_monitoring = azure.appplatform.SpringCloudAppDynamicsApplicationPerformanceMonitoring(\"example\",\n    name=\"example\",\n    spring_cloud_service_id=example_spring_cloud_service.id,\n    agent_account_name=\"example-agent-account-name\",\n    agent_account_access_key=\"example-agent-account-access-key\",\n    controller_host_name=\"example-controller-host-name\",\n    agent_application_name=\"example-agent-application-name\",\n    agent_tier_name=\"example-agent-tier-name\",\n    agent_node_name=\"example-agent-node-name\",\n    agent_unique_host_id=\"example-agent-unique-host-id\",\n    controller_ssl_enabled=True,\n    controller_port=8080,\n    globally_enabled=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example\",\n        Location = \"West Europe\",\n    });\n\n    var exampleSpringCloudService = new Azure.AppPlatform.SpringCloudService(\"example\", new()\n    {\n        Name = \"example\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        SkuName = \"E0\",\n    });\n\n    var exampleSpringCloudAppDynamicsApplicationPerformanceMonitoring = new Azure.AppPlatform.SpringCloudAppDynamicsApplicationPerformanceMonitoring(\"example\", new()\n    {\n        Name = \"example\",\n        SpringCloudServiceId = exampleSpringCloudService.Id,\n        AgentAccountName = \"example-agent-account-name\",\n        AgentAccountAccessKey = \"example-agent-account-access-key\",\n        ControllerHostName = \"example-controller-host-name\",\n        AgentApplicationName = \"example-agent-application-name\",\n        AgentTierName = \"example-agent-tier-name\",\n        AgentNodeName = \"example-agent-node-name\",\n        AgentUniqueHostId = \"example-agent-unique-host-id\",\n        ControllerSslEnabled = true,\n        ControllerPort = 8080,\n        GloballyEnabled = true,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/appplatform\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSpringCloudService, err := appplatform.NewSpringCloudService(ctx, \"example\", \u0026appplatform.SpringCloudServiceArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSkuName:           pulumi.String(\"E0\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = appplatform.NewSpringCloudAppDynamicsApplicationPerformanceMonitoring(ctx, \"example\", \u0026appplatform.SpringCloudAppDynamicsApplicationPerformanceMonitoringArgs{\n\t\t\tName:                  pulumi.String(\"example\"),\n\t\t\tSpringCloudServiceId:  exampleSpringCloudService.ID(),\n\t\t\tAgentAccountName:      pulumi.String(\"example-agent-account-name\"),\n\t\t\tAgentAccountAccessKey: pulumi.String(\"example-agent-account-access-key\"),\n\t\t\tControllerHostName:    pulumi.String(\"example-controller-host-name\"),\n\t\t\tAgentApplicationName:  pulumi.String(\"example-agent-application-name\"),\n\t\t\tAgentTierName:         pulumi.String(\"example-agent-tier-name\"),\n\t\t\tAgentNodeName:         pulumi.String(\"example-agent-node-name\"),\n\t\t\tAgentUniqueHostId:     pulumi.String(\"example-agent-unique-host-id\"),\n\t\t\tControllerSslEnabled:  pulumi.Bool(true),\n\t\t\tControllerPort:        pulumi.Int(8080),\n\t\t\tGloballyEnabled:       pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.appplatform.SpringCloudService;\nimport com.pulumi.azure.appplatform.SpringCloudServiceArgs;\nimport com.pulumi.azure.appplatform.SpringCloudAppDynamicsApplicationPerformanceMonitoring;\nimport com.pulumi.azure.appplatform.SpringCloudAppDynamicsApplicationPerformanceMonitoringArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleSpringCloudService = new SpringCloudService(\"exampleSpringCloudService\", SpringCloudServiceArgs.builder()\n            .name(\"example\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .skuName(\"E0\")\n            .build());\n\n        var exampleSpringCloudAppDynamicsApplicationPerformanceMonitoring = new SpringCloudAppDynamicsApplicationPerformanceMonitoring(\"exampleSpringCloudAppDynamicsApplicationPerformanceMonitoring\", SpringCloudAppDynamicsApplicationPerformanceMonitoringArgs.builder()\n            .name(\"example\")\n            .springCloudServiceId(exampleSpringCloudService.id())\n            .agentAccountName(\"example-agent-account-name\")\n            .agentAccountAccessKey(\"example-agent-account-access-key\")\n            .controllerHostName(\"example-controller-host-name\")\n            .agentApplicationName(\"example-agent-application-name\")\n            .agentTierName(\"example-agent-tier-name\")\n            .agentNodeName(\"example-agent-node-name\")\n            .agentUniqueHostId(\"example-agent-unique-host-id\")\n            .controllerSslEnabled(true)\n            .controllerPort(8080)\n            .globallyEnabled(true)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example\n      location: West Europe\n  exampleSpringCloudService:\n    type: azure:appplatform:SpringCloudService\n    name: example\n    properties:\n      name: example\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      skuName: E0\n  exampleSpringCloudAppDynamicsApplicationPerformanceMonitoring:\n    type: azure:appplatform:SpringCloudAppDynamicsApplicationPerformanceMonitoring\n    name: example\n    properties:\n      name: example\n      springCloudServiceId: ${exampleSpringCloudService.id}\n      agentAccountName: example-agent-account-name\n      agentAccountAccessKey: example-agent-account-access-key\n      controllerHostName: example-controller-host-name\n      agentApplicationName: example-agent-application-name\n      agentTierName: example-agent-tier-name\n      agentNodeName: example-agent-node-name\n      agentUniqueHostId: example-agent-unique-host-id\n      controllerSslEnabled: true\n      controllerPort: 8080\n      globallyEnabled: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.AppPlatform` - 2024-01-01-preview\n\n## Import\n\nSpring Cloud Application Performance Monitoring resource for App Dynamics can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:appplatform/springCloudAppDynamicsApplicationPerformanceMonitoring:SpringCloudAppDynamicsApplicationPerformanceMonitoring example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.AppPlatform/spring/service1/apms/apm1\n```\n\n","properties":{"agentAccountAccessKey":{"type":"string","description":"Specifies the account access key used to authenticate with the Controller.\n","secret":true},"agentAccountName":{"type":"string","description":"Specifies the account name of the App Dynamics account.\n","secret":true},"agentApplicationName":{"type":"string","description":"Specifies the name of the logical business application that this JVM node belongs to.\n"},"agentNodeName":{"type":"string","description":"Specifies the name of the node. Where JVMs are dynamically created.\n"},"agentTierName":{"type":"string","description":"Specifies the name of the tier that this JVM node belongs to.\n"},"agentUniqueHostId":{"type":"string","description":"Specifies the unique host ID which is used to Logically partition a single physical host or virtual machine such that it appears to the Controller that the application is running on different machines.\n"},"controllerHostName":{"type":"string","description":"Specifies the hostname or the IP address of the AppDynamics Controller.\n"},"controllerPort":{"type":"integer","description":"Specifies the HTTP(S) port of the AppDynamics Controller. This is the port used to access the AppDynamics browser-based user interface.\n"},"controllerSslEnabled":{"type":"boolean","description":"Specifies whether enable use SSL (HTTPS) to connect to the AppDynamics Controller.\n"},"globallyEnabled":{"type":"boolean","description":"Specifies whether the Spring Cloud Application Performance Monitoring resource for Application Insights is enabled globally. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"name":{"type":"string","description":"The name which should be used for this Spring Cloud Application Performance Monitoring resource for App Dynamics. Changing this forces a new resource to be created.\n"},"springCloudServiceId":{"type":"string","description":"The ID of the Spring Cloud Service. Changing this forces a new resource to be created.\n"}},"required":["agentAccountAccessKey","agentAccountName","controllerHostName","name","springCloudServiceId"],"inputProperties":{"agentAccountAccessKey":{"type":"string","description":"Specifies the account access key used to authenticate with the Controller.\n","secret":true},"agentAccountName":{"type":"string","description":"Specifies the account name of the App Dynamics account.\n","secret":true},"agentApplicationName":{"type":"string","description":"Specifies the name of the logical business application that this JVM node belongs to.\n"},"agentNodeName":{"type":"string","description":"Specifies the name of the node. Where JVMs are dynamically created.\n"},"agentTierName":{"type":"string","description":"Specifies the name of the tier that this JVM node belongs to.\n"},"agentUniqueHostId":{"type":"string","description":"Specifies the unique host ID which is used to Logically partition a single physical host or virtual machine such that it appears to the Controller that the application is running on different machines.\n"},"controllerHostName":{"type":"string","description":"Specifies the hostname or the IP address of the AppDynamics Controller.\n"},"controllerPort":{"type":"integer","description":"Specifies the HTTP(S) port of the AppDynamics Controller. This is the port used to access the AppDynamics browser-based user interface.\n"},"controllerSslEnabled":{"type":"boolean","description":"Specifies whether enable use SSL (HTTPS) to connect to the AppDynamics Controller.\n"},"globallyEnabled":{"type":"boolean","description":"Specifies whether the Spring Cloud Application Performance Monitoring resource for Application Insights is enabled globally. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"name":{"type":"string","description":"The name which should be used for this Spring Cloud Application Performance Monitoring resource for App Dynamics. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"springCloudServiceId":{"type":"string","description":"The ID of the Spring Cloud Service. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["agentAccountAccessKey","agentAccountName","controllerHostName","springCloudServiceId"],"stateInputs":{"description":"Input properties used for looking up and filtering SpringCloudAppDynamicsApplicationPerformanceMonitoring resources.\n","properties":{"agentAccountAccessKey":{"type":"string","description":"Specifies the account access key used to authenticate with the Controller.\n","secret":true},"agentAccountName":{"type":"string","description":"Specifies the account name of the App Dynamics account.\n","secret":true},"agentApplicationName":{"type":"string","description":"Specifies the name of the logical business application that this JVM node belongs to.\n"},"agentNodeName":{"type":"string","description":"Specifies the name of the node. Where JVMs are dynamically created.\n"},"agentTierName":{"type":"string","description":"Specifies the name of the tier that this JVM node belongs to.\n"},"agentUniqueHostId":{"type":"string","description":"Specifies the unique host ID which is used to Logically partition a single physical host or virtual machine such that it appears to the Controller that the application is running on different machines.\n"},"controllerHostName":{"type":"string","description":"Specifies the hostname or the IP address of the AppDynamics Controller.\n"},"controllerPort":{"type":"integer","description":"Specifies the HTTP(S) port of the AppDynamics Controller. This is the port used to access the AppDynamics browser-based user interface.\n"},"controllerSslEnabled":{"type":"boolean","description":"Specifies whether enable use SSL (HTTPS) to connect to the AppDynamics Controller.\n"},"globallyEnabled":{"type":"boolean","description":"Specifies whether the Spring Cloud Application Performance Monitoring resource for Application Insights is enabled globally. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"name":{"type":"string","description":"The name which should be used for this Spring Cloud Application Performance Monitoring resource for App Dynamics. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"springCloudServiceId":{"type":"string","description":"The ID of the Spring Cloud Service. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:appplatform/springCloudAppMysqlAssociation:SpringCloudAppMysqlAssociation":{"description":"Associates a Spring Cloud Application with a MySQL Database.\n\n!\u003e **Note:** Azure Spring Apps is now deprecated and will be retired on 2028-05-31 - as such the \u003cspan pulumi-lang-nodejs=\"`azure.appplatform.SpringCloudAppMysqlAssociation`\" pulumi-lang-dotnet=\"`azure.appplatform.SpringCloudAppMysqlAssociation`\" pulumi-lang-go=\"`appplatform.SpringCloudAppMysqlAssociation`\" pulumi-lang-python=\"`appplatform.SpringCloudAppMysqlAssociation`\" pulumi-lang-yaml=\"`azure.appplatform.SpringCloudAppMysqlAssociation`\" pulumi-lang-java=\"`azure.appplatform.SpringCloudAppMysqlAssociation`\"\u003e`azure.appplatform.SpringCloudAppMysqlAssociation`\u003c/span\u003e resource is deprecated and will be removed in a future major version of the AzureRM Provider. See https://aka.ms/asaretirement for more information.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleSpringCloudService = new azure.appplatform.SpringCloudService(\"example\", {\n    name: \"example-springcloud\",\n    resourceGroupName: example.name,\n    location: example.location,\n});\nconst exampleSpringCloudApp = new azure.appplatform.SpringCloudApp(\"example\", {\n    name: \"example-springcloudapp\",\n    resourceGroupName: example.name,\n    serviceName: exampleSpringCloudService.name,\n});\nconst exampleFlexibleServer = new azure.mysql.FlexibleServer(\"example\", {\n    name: \"example-fsserver\",\n    resourceGroupName: example.name,\n    location: example.location,\n    administratorLogin: \"adminTerraform\",\n    administratorPassword: \"QAZwsx123\",\n    skuName: \"B_Standard_B1ms\",\n    zone: \"2\",\n});\nconst exampleFlexibleDatabase = new azure.mysql.FlexibleDatabase(\"example\", {\n    name: \"exampledb\",\n    resourceGroupName: example.name,\n    serverName: exampleFlexibleServer.name,\n    charset: \"utf8\",\n    collation: \"utf8_unicode_ci\",\n});\nconst exampleSpringCloudAppMysqlAssociation = new azure.appplatform.SpringCloudAppMysqlAssociation(\"example\", {\n    name: \"example-bind\",\n    springCloudAppId: exampleSpringCloudApp.id,\n    mysqlServerId: exampleFlexibleServer.id,\n    databaseName: exampleFlexibleDatabase.name,\n    username: exampleFlexibleServer.administratorLogin,\n    password: exampleFlexibleServer.administratorLoginPassword,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_spring_cloud_service = azure.appplatform.SpringCloudService(\"example\",\n    name=\"example-springcloud\",\n    resource_group_name=example.name,\n    location=example.location)\nexample_spring_cloud_app = azure.appplatform.SpringCloudApp(\"example\",\n    name=\"example-springcloudapp\",\n    resource_group_name=example.name,\n    service_name=example_spring_cloud_service.name)\nexample_flexible_server = azure.mysql.FlexibleServer(\"example\",\n    name=\"example-fsserver\",\n    resource_group_name=example.name,\n    location=example.location,\n    administrator_login=\"adminTerraform\",\n    administrator_password=\"QAZwsx123\",\n    sku_name=\"B_Standard_B1ms\",\n    zone=\"2\")\nexample_flexible_database = azure.mysql.FlexibleDatabase(\"example\",\n    name=\"exampledb\",\n    resource_group_name=example.name,\n    server_name=example_flexible_server.name,\n    charset=\"utf8\",\n    collation=\"utf8_unicode_ci\")\nexample_spring_cloud_app_mysql_association = azure.appplatform.SpringCloudAppMysqlAssociation(\"example\",\n    name=\"example-bind\",\n    spring_cloud_app_id=example_spring_cloud_app.id,\n    mysql_server_id=example_flexible_server.id,\n    database_name=example_flexible_database.name,\n    username=example_flexible_server.administrator_login,\n    password=example_flexible_server.administrator_login_password)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleSpringCloudService = new Azure.AppPlatform.SpringCloudService(\"example\", new()\n    {\n        Name = \"example-springcloud\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n    });\n\n    var exampleSpringCloudApp = new Azure.AppPlatform.SpringCloudApp(\"example\", new()\n    {\n        Name = \"example-springcloudapp\",\n        ResourceGroupName = example.Name,\n        ServiceName = exampleSpringCloudService.Name,\n    });\n\n    var exampleFlexibleServer = new Azure.MySql.FlexibleServer(\"example\", new()\n    {\n        Name = \"example-fsserver\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        AdministratorLogin = \"adminTerraform\",\n        AdministratorPassword = \"QAZwsx123\",\n        SkuName = \"B_Standard_B1ms\",\n        Zone = \"2\",\n    });\n\n    var exampleFlexibleDatabase = new Azure.MySql.FlexibleDatabase(\"example\", new()\n    {\n        Name = \"exampledb\",\n        ResourceGroupName = example.Name,\n        ServerName = exampleFlexibleServer.Name,\n        Charset = \"utf8\",\n        Collation = \"utf8_unicode_ci\",\n    });\n\n    var exampleSpringCloudAppMysqlAssociation = new Azure.AppPlatform.SpringCloudAppMysqlAssociation(\"example\", new()\n    {\n        Name = \"example-bind\",\n        SpringCloudAppId = exampleSpringCloudApp.Id,\n        MysqlServerId = exampleFlexibleServer.Id,\n        DatabaseName = exampleFlexibleDatabase.Name,\n        Username = exampleFlexibleServer.AdministratorLogin,\n        Password = exampleFlexibleServer.AdministratorLoginPassword,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/appplatform\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/mysql\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSpringCloudService, err := appplatform.NewSpringCloudService(ctx, \"example\", \u0026appplatform.SpringCloudServiceArgs{\n\t\t\tName:              pulumi.String(\"example-springcloud\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSpringCloudApp, err := appplatform.NewSpringCloudApp(ctx, \"example\", \u0026appplatform.SpringCloudAppArgs{\n\t\t\tName:              pulumi.String(\"example-springcloudapp\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tServiceName:       exampleSpringCloudService.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleFlexibleServer, err := mysql.NewFlexibleServer(ctx, \"example\", \u0026mysql.FlexibleServerArgs{\n\t\t\tName:                  pulumi.String(\"example-fsserver\"),\n\t\t\tResourceGroupName:     example.Name,\n\t\t\tLocation:              example.Location,\n\t\t\tAdministratorLogin:    pulumi.String(\"adminTerraform\"),\n\t\t\tAdministratorPassword: pulumi.String(\"QAZwsx123\"),\n\t\t\tSkuName:               pulumi.String(\"B_Standard_B1ms\"),\n\t\t\tZone:                  pulumi.String(\"2\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleFlexibleDatabase, err := mysql.NewFlexibleDatabase(ctx, \"example\", \u0026mysql.FlexibleDatabaseArgs{\n\t\t\tName:              pulumi.String(\"exampledb\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tServerName:        exampleFlexibleServer.Name,\n\t\t\tCharset:           pulumi.String(\"utf8\"),\n\t\t\tCollation:         pulumi.String(\"utf8_unicode_ci\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = appplatform.NewSpringCloudAppMysqlAssociation(ctx, \"example\", \u0026appplatform.SpringCloudAppMysqlAssociationArgs{\n\t\t\tName:             pulumi.String(\"example-bind\"),\n\t\t\tSpringCloudAppId: exampleSpringCloudApp.ID(),\n\t\t\tMysqlServerId:    exampleFlexibleServer.ID(),\n\t\t\tDatabaseName:     exampleFlexibleDatabase.Name,\n\t\t\tUsername:         exampleFlexibleServer.AdministratorLogin,\n\t\t\tPassword:         exampleFlexibleServer.AdministratorLoginPassword,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.appplatform.SpringCloudService;\nimport com.pulumi.azure.appplatform.SpringCloudServiceArgs;\nimport com.pulumi.azure.appplatform.SpringCloudApp;\nimport com.pulumi.azure.appplatform.SpringCloudAppArgs;\nimport com.pulumi.azure.mysql.FlexibleServer;\nimport com.pulumi.azure.mysql.FlexibleServerArgs;\nimport com.pulumi.azure.mysql.FlexibleDatabase;\nimport com.pulumi.azure.mysql.FlexibleDatabaseArgs;\nimport com.pulumi.azure.appplatform.SpringCloudAppMysqlAssociation;\nimport com.pulumi.azure.appplatform.SpringCloudAppMysqlAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleSpringCloudService = new SpringCloudService(\"exampleSpringCloudService\", SpringCloudServiceArgs.builder()\n            .name(\"example-springcloud\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .build());\n\n        var exampleSpringCloudApp = new SpringCloudApp(\"exampleSpringCloudApp\", SpringCloudAppArgs.builder()\n            .name(\"example-springcloudapp\")\n            .resourceGroupName(example.name())\n            .serviceName(exampleSpringCloudService.name())\n            .build());\n\n        var exampleFlexibleServer = new FlexibleServer(\"exampleFlexibleServer\", FlexibleServerArgs.builder()\n            .name(\"example-fsserver\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .administratorLogin(\"adminTerraform\")\n            .administratorPassword(\"QAZwsx123\")\n            .skuName(\"B_Standard_B1ms\")\n            .zone(\"2\")\n            .build());\n\n        var exampleFlexibleDatabase = new FlexibleDatabase(\"exampleFlexibleDatabase\", FlexibleDatabaseArgs.builder()\n            .name(\"exampledb\")\n            .resourceGroupName(example.name())\n            .serverName(exampleFlexibleServer.name())\n            .charset(\"utf8\")\n            .collation(\"utf8_unicode_ci\")\n            .build());\n\n        var exampleSpringCloudAppMysqlAssociation = new SpringCloudAppMysqlAssociation(\"exampleSpringCloudAppMysqlAssociation\", SpringCloudAppMysqlAssociationArgs.builder()\n            .name(\"example-bind\")\n            .springCloudAppId(exampleSpringCloudApp.id())\n            .mysqlServerId(exampleFlexibleServer.id())\n            .databaseName(exampleFlexibleDatabase.name())\n            .username(exampleFlexibleServer.administratorLogin())\n            .password(exampleFlexibleServer.administratorLoginPassword())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleSpringCloudService:\n    type: azure:appplatform:SpringCloudService\n    name: example\n    properties:\n      name: example-springcloud\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n  exampleSpringCloudApp:\n    type: azure:appplatform:SpringCloudApp\n    name: example\n    properties:\n      name: example-springcloudapp\n      resourceGroupName: ${example.name}\n      serviceName: ${exampleSpringCloudService.name}\n  exampleFlexibleServer:\n    type: azure:mysql:FlexibleServer\n    name: example\n    properties:\n      name: example-fsserver\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      administratorLogin: adminTerraform\n      administratorPassword: QAZwsx123\n      skuName: B_Standard_B1ms\n      zone: '2'\n  exampleFlexibleDatabase:\n    type: azure:mysql:FlexibleDatabase\n    name: example\n    properties:\n      name: exampledb\n      resourceGroupName: ${example.name}\n      serverName: ${exampleFlexibleServer.name}\n      charset: utf8\n      collation: utf8_unicode_ci\n  exampleSpringCloudAppMysqlAssociation:\n    type: azure:appplatform:SpringCloudAppMysqlAssociation\n    name: example\n    properties:\n      name: example-bind\n      springCloudAppId: ${exampleSpringCloudApp.id}\n      mysqlServerId: ${exampleFlexibleServer.id}\n      databaseName: ${exampleFlexibleDatabase.name}\n      username: ${exampleFlexibleServer.administratorLogin}\n      password: ${exampleFlexibleServer.administratorLoginPassword}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nSpring Cloud Application MySQL Association can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:appplatform/springCloudAppMysqlAssociation:SpringCloudAppMysqlAssociation example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resourcegroup1/providers/Microsoft.AppPlatform/spring/service1/apps/app1/bindings/bind1\n```\n\n","properties":{"databaseName":{"type":"string","description":"Specifies the name of the MySQL Database which the Spring Cloud App should be associated with.\n"},"mysqlServerId":{"type":"string","description":"Specifies the ID of the MySQL Server. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"Specifies the name of the Spring Cloud Application Association. Changing this forces a new resource to be created.\n"},"password":{"type":"string","description":"Specifies the password which should be used when connecting to the MySQL Database from the Spring Cloud App.\n","secret":true},"springCloudAppId":{"type":"string","description":"Specifies the ID of the Spring Cloud Application where this Association is created. Changing this forces a new resource to be created.\n"},"username":{"type":"string","description":"Specifies the username which should be used when connecting to the MySQL Database from the Spring Cloud App.\n"}},"required":["databaseName","mysqlServerId","name","password","springCloudAppId","username"],"inputProperties":{"databaseName":{"type":"string","description":"Specifies the name of the MySQL Database which the Spring Cloud App should be associated with.\n"},"mysqlServerId":{"type":"string","description":"Specifies the ID of the MySQL Server. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the Spring Cloud Application Association. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"password":{"type":"string","description":"Specifies the password which should be used when connecting to the MySQL Database from the Spring Cloud App.\n","secret":true},"springCloudAppId":{"type":"string","description":"Specifies the ID of the Spring Cloud Application where this Association is created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"username":{"type":"string","description":"Specifies the username which should be used when connecting to the MySQL Database from the Spring Cloud App.\n"}},"requiredInputs":["databaseName","mysqlServerId","password","springCloudAppId","username"],"stateInputs":{"description":"Input properties used for looking up and filtering SpringCloudAppMysqlAssociation resources.\n","properties":{"databaseName":{"type":"string","description":"Specifies the name of the MySQL Database which the Spring Cloud App should be associated with.\n"},"mysqlServerId":{"type":"string","description":"Specifies the ID of the MySQL Server. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the Spring Cloud Application Association. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"password":{"type":"string","description":"Specifies the password which should be used when connecting to the MySQL Database from the Spring Cloud App.\n","secret":true},"springCloudAppId":{"type":"string","description":"Specifies the ID of the Spring Cloud Application where this Association is created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"username":{"type":"string","description":"Specifies the username which should be used when connecting to the MySQL Database from the Spring Cloud App.\n"}},"type":"object"}},"azure:appplatform/springCloudAppRedisAssociation:SpringCloudAppRedisAssociation":{"description":"Associates a Spring Cloud Application with a Redis Cache.\n\n!\u003e **Note:** Azure Spring Apps is now deprecated and will be retired on 2028-05-31 - as such the \u003cspan pulumi-lang-nodejs=\"`azure.appplatform.SpringCloudAppRedisAssociation`\" pulumi-lang-dotnet=\"`azure.appplatform.SpringCloudAppRedisAssociation`\" pulumi-lang-go=\"`appplatform.SpringCloudAppRedisAssociation`\" pulumi-lang-python=\"`appplatform.SpringCloudAppRedisAssociation`\" pulumi-lang-yaml=\"`azure.appplatform.SpringCloudAppRedisAssociation`\" pulumi-lang-java=\"`azure.appplatform.SpringCloudAppRedisAssociation`\"\u003e`azure.appplatform.SpringCloudAppRedisAssociation`\u003c/span\u003e resource is deprecated and will be removed in a future major version of the AzureRM Provider. See https://aka.ms/asaretirement for more information.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleSpringCloudService = new azure.appplatform.SpringCloudService(\"example\", {\n    name: \"example-springcloud\",\n    resourceGroupName: example.name,\n    location: example.location,\n});\nconst exampleSpringCloudApp = new azure.appplatform.SpringCloudApp(\"example\", {\n    name: \"example-springcloudapp\",\n    resourceGroupName: example.name,\n    serviceName: exampleSpringCloudService.name,\n});\nconst exampleCache = new azure.redis.Cache(\"example\", {\n    name: \"example-cache\",\n    location: example.location,\n    resourceGroupName: example.name,\n    capacity: 0,\n    family: \"C\",\n    skuName: \"Basic\",\n    enableNonSslPort: true,\n});\nconst exampleSpringCloudAppRedisAssociation = new azure.appplatform.SpringCloudAppRedisAssociation(\"example\", {\n    name: \"example-bind\",\n    springCloudAppId: exampleSpringCloudApp.id,\n    redisCacheId: exampleCache.id,\n    redisAccessKey: exampleCache.primaryAccessKey,\n    sslEnabled: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_spring_cloud_service = azure.appplatform.SpringCloudService(\"example\",\n    name=\"example-springcloud\",\n    resource_group_name=example.name,\n    location=example.location)\nexample_spring_cloud_app = azure.appplatform.SpringCloudApp(\"example\",\n    name=\"example-springcloudapp\",\n    resource_group_name=example.name,\n    service_name=example_spring_cloud_service.name)\nexample_cache = azure.redis.Cache(\"example\",\n    name=\"example-cache\",\n    location=example.location,\n    resource_group_name=example.name,\n    capacity=0,\n    family=\"C\",\n    sku_name=\"Basic\",\n    enable_non_ssl_port=True)\nexample_spring_cloud_app_redis_association = azure.appplatform.SpringCloudAppRedisAssociation(\"example\",\n    name=\"example-bind\",\n    spring_cloud_app_id=example_spring_cloud_app.id,\n    redis_cache_id=example_cache.id,\n    redis_access_key=example_cache.primary_access_key,\n    ssl_enabled=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleSpringCloudService = new Azure.AppPlatform.SpringCloudService(\"example\", new()\n    {\n        Name = \"example-springcloud\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n    });\n\n    var exampleSpringCloudApp = new Azure.AppPlatform.SpringCloudApp(\"example\", new()\n    {\n        Name = \"example-springcloudapp\",\n        ResourceGroupName = example.Name,\n        ServiceName = exampleSpringCloudService.Name,\n    });\n\n    var exampleCache = new Azure.Redis.Cache(\"example\", new()\n    {\n        Name = \"example-cache\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Capacity = 0,\n        Family = \"C\",\n        SkuName = \"Basic\",\n        EnableNonSslPort = true,\n    });\n\n    var exampleSpringCloudAppRedisAssociation = new Azure.AppPlatform.SpringCloudAppRedisAssociation(\"example\", new()\n    {\n        Name = \"example-bind\",\n        SpringCloudAppId = exampleSpringCloudApp.Id,\n        RedisCacheId = exampleCache.Id,\n        RedisAccessKey = exampleCache.PrimaryAccessKey,\n        SslEnabled = true,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/appplatform\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/redis\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSpringCloudService, err := appplatform.NewSpringCloudService(ctx, \"example\", \u0026appplatform.SpringCloudServiceArgs{\n\t\t\tName:              pulumi.String(\"example-springcloud\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSpringCloudApp, err := appplatform.NewSpringCloudApp(ctx, \"example\", \u0026appplatform.SpringCloudAppArgs{\n\t\t\tName:              pulumi.String(\"example-springcloudapp\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tServiceName:       exampleSpringCloudService.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleCache, err := redis.NewCache(ctx, \"example\", \u0026redis.CacheArgs{\n\t\t\tName:              pulumi.String(\"example-cache\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tCapacity:          pulumi.Int(0),\n\t\t\tFamily:            pulumi.String(\"C\"),\n\t\t\tSkuName:           pulumi.String(\"Basic\"),\n\t\t\tEnableNonSslPort:  true,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = appplatform.NewSpringCloudAppRedisAssociation(ctx, \"example\", \u0026appplatform.SpringCloudAppRedisAssociationArgs{\n\t\t\tName:             pulumi.String(\"example-bind\"),\n\t\t\tSpringCloudAppId: exampleSpringCloudApp.ID(),\n\t\t\tRedisCacheId:     exampleCache.ID(),\n\t\t\tRedisAccessKey:   exampleCache.PrimaryAccessKey,\n\t\t\tSslEnabled:       pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.appplatform.SpringCloudService;\nimport com.pulumi.azure.appplatform.SpringCloudServiceArgs;\nimport com.pulumi.azure.appplatform.SpringCloudApp;\nimport com.pulumi.azure.appplatform.SpringCloudAppArgs;\nimport com.pulumi.azure.redis.Cache;\nimport com.pulumi.azure.redis.CacheArgs;\nimport com.pulumi.azure.appplatform.SpringCloudAppRedisAssociation;\nimport com.pulumi.azure.appplatform.SpringCloudAppRedisAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleSpringCloudService = new SpringCloudService(\"exampleSpringCloudService\", SpringCloudServiceArgs.builder()\n            .name(\"example-springcloud\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .build());\n\n        var exampleSpringCloudApp = new SpringCloudApp(\"exampleSpringCloudApp\", SpringCloudAppArgs.builder()\n            .name(\"example-springcloudapp\")\n            .resourceGroupName(example.name())\n            .serviceName(exampleSpringCloudService.name())\n            .build());\n\n        var exampleCache = new Cache(\"exampleCache\", CacheArgs.builder()\n            .name(\"example-cache\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .capacity(0)\n            .family(\"C\")\n            .skuName(\"Basic\")\n            .enableNonSslPort(true)\n            .build());\n\n        var exampleSpringCloudAppRedisAssociation = new SpringCloudAppRedisAssociation(\"exampleSpringCloudAppRedisAssociation\", SpringCloudAppRedisAssociationArgs.builder()\n            .name(\"example-bind\")\n            .springCloudAppId(exampleSpringCloudApp.id())\n            .redisCacheId(exampleCache.id())\n            .redisAccessKey(exampleCache.primaryAccessKey())\n            .sslEnabled(true)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleSpringCloudService:\n    type: azure:appplatform:SpringCloudService\n    name: example\n    properties:\n      name: example-springcloud\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n  exampleSpringCloudApp:\n    type: azure:appplatform:SpringCloudApp\n    name: example\n    properties:\n      name: example-springcloudapp\n      resourceGroupName: ${example.name}\n      serviceName: ${exampleSpringCloudService.name}\n  exampleCache:\n    type: azure:redis:Cache\n    name: example\n    properties:\n      name: example-cache\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      capacity: 0\n      family: C\n      skuName: Basic\n      enableNonSslPort: true\n  exampleSpringCloudAppRedisAssociation:\n    type: azure:appplatform:SpringCloudAppRedisAssociation\n    name: example\n    properties:\n      name: example-bind\n      springCloudAppId: ${exampleSpringCloudApp.id}\n      redisCacheId: ${exampleCache.id}\n      redisAccessKey: ${exampleCache.primaryAccessKey}\n      sslEnabled: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nSpring Cloud Application Redis Association can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:appplatform/springCloudAppRedisAssociation:SpringCloudAppRedisAssociation example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myresourcegroup/providers/Microsoft.AppPlatform/spring/myservice/apps/myapp/bindings/bind1\n```\n\n","properties":{"name":{"type":"string","description":"Specifies the name of the Spring Cloud Application Association. Changing this forces a new resource to be created.\n"},"redisAccessKey":{"type":"string","description":"Specifies the Redis Cache access key.\n"},"redisCacheId":{"type":"string","description":"Specifies the Redis Cache resource ID. Changing this forces a new resource to be created.\n"},"springCloudAppId":{"type":"string","description":"Specifies the Spring Cloud Application resource ID in which the Association is created. Changing this forces a new resource to be created.\n"},"sslEnabled":{"type":"boolean","description":"Should SSL be used when connecting to Redis? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"}},"required":["name","redisAccessKey","redisCacheId","springCloudAppId"],"inputProperties":{"name":{"type":"string","description":"Specifies the name of the Spring Cloud Application Association. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"redisAccessKey":{"type":"string","description":"Specifies the Redis Cache access key.\n"},"redisCacheId":{"type":"string","description":"Specifies the Redis Cache resource ID. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"springCloudAppId":{"type":"string","description":"Specifies the Spring Cloud Application resource ID in which the Association is created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sslEnabled":{"type":"boolean","description":"Should SSL be used when connecting to Redis? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"}},"requiredInputs":["redisAccessKey","redisCacheId","springCloudAppId"],"stateInputs":{"description":"Input properties used for looking up and filtering SpringCloudAppRedisAssociation resources.\n","properties":{"name":{"type":"string","description":"Specifies the name of the Spring Cloud Application Association. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"redisAccessKey":{"type":"string","description":"Specifies the Redis Cache access key.\n"},"redisCacheId":{"type":"string","description":"Specifies the Redis Cache resource ID. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"springCloudAppId":{"type":"string","description":"Specifies the Spring Cloud Application resource ID in which the Association is created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sslEnabled":{"type":"boolean","description":"Should SSL be used when connecting to Redis? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"}},"type":"object"}},"azure:appplatform/springCloudApplicationInsightsApplicationPerformanceMonitoring:SpringCloudApplicationInsightsApplicationPerformanceMonitoring":{"description":"\u003e **Note:** This resource is only applicable for Spring Cloud Service enterprise tier\n\nManages a Spring Cloud Application Performance Monitoring resource for Application Insights.\n\n!\u003e **Note:** Azure Spring Apps is now deprecated and will be retired on 2028-05-31 - as such the \u003cspan pulumi-lang-nodejs=\"`azure.appplatform.SpringCloudApplicationInsightsApplicationPerformanceMonitoring`\" pulumi-lang-dotnet=\"`azure.appplatform.SpringCloudApplicationInsightsApplicationPerformanceMonitoring`\" pulumi-lang-go=\"`appplatform.SpringCloudApplicationInsightsApplicationPerformanceMonitoring`\" pulumi-lang-python=\"`appplatform.SpringCloudApplicationInsightsApplicationPerformanceMonitoring`\" pulumi-lang-yaml=\"`azure.appplatform.SpringCloudApplicationInsightsApplicationPerformanceMonitoring`\" pulumi-lang-java=\"`azure.appplatform.SpringCloudApplicationInsightsApplicationPerformanceMonitoring`\"\u003e`azure.appplatform.SpringCloudApplicationInsightsApplicationPerformanceMonitoring`\u003c/span\u003e resource is deprecated and will be removed in a future major version of the AzureRM Provider. See https://aka.ms/asaretirement for more information.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example\",\n    location: \"West Europe\",\n});\nconst exampleInsights = new azure.appinsights.Insights(\"example\", {\n    name: \"example\",\n    location: example.location,\n    resourceGroupName: example.name,\n    applicationType: \"web\",\n});\nconst exampleSpringCloudService = new azure.appplatform.SpringCloudService(\"example\", {\n    name: \"example\",\n    location: example.location,\n    resourceGroupName: example.name,\n    skuName: \"E0\",\n});\nconst exampleSpringCloudApplicationInsightsApplicationPerformanceMonitoring = new azure.appplatform.SpringCloudApplicationInsightsApplicationPerformanceMonitoring(\"example\", {\n    name: \"example\",\n    springCloudServiceId: exampleSpringCloudService.id,\n    connectionString: exampleInsights.instrumentationKey,\n    globallyEnabled: true,\n    roleName: \"test-role\",\n    roleInstance: \"test-instance\",\n    samplingPercentage: 50,\n    samplingRequestsPerSecond: 10,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example\",\n    location=\"West Europe\")\nexample_insights = azure.appinsights.Insights(\"example\",\n    name=\"example\",\n    location=example.location,\n    resource_group_name=example.name,\n    application_type=\"web\")\nexample_spring_cloud_service = azure.appplatform.SpringCloudService(\"example\",\n    name=\"example\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku_name=\"E0\")\nexample_spring_cloud_application_insights_application_performance_monitoring = azure.appplatform.SpringCloudApplicationInsightsApplicationPerformanceMonitoring(\"example\",\n    name=\"example\",\n    spring_cloud_service_id=example_spring_cloud_service.id,\n    connection_string=example_insights.instrumentation_key,\n    globally_enabled=True,\n    role_name=\"test-role\",\n    role_instance=\"test-instance\",\n    sampling_percentage=50,\n    sampling_requests_per_second=10)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example\",\n        Location = \"West Europe\",\n    });\n\n    var exampleInsights = new Azure.AppInsights.Insights(\"example\", new()\n    {\n        Name = \"example\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        ApplicationType = \"web\",\n    });\n\n    var exampleSpringCloudService = new Azure.AppPlatform.SpringCloudService(\"example\", new()\n    {\n        Name = \"example\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        SkuName = \"E0\",\n    });\n\n    var exampleSpringCloudApplicationInsightsApplicationPerformanceMonitoring = new Azure.AppPlatform.SpringCloudApplicationInsightsApplicationPerformanceMonitoring(\"example\", new()\n    {\n        Name = \"example\",\n        SpringCloudServiceId = exampleSpringCloudService.Id,\n        ConnectionString = exampleInsights.InstrumentationKey,\n        GloballyEnabled = true,\n        RoleName = \"test-role\",\n        RoleInstance = \"test-instance\",\n        SamplingPercentage = 50,\n        SamplingRequestsPerSecond = 10,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/appinsights\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/appplatform\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleInsights, err := appinsights.NewInsights(ctx, \"example\", \u0026appinsights.InsightsArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tApplicationType:   pulumi.String(\"web\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSpringCloudService, err := appplatform.NewSpringCloudService(ctx, \"example\", \u0026appplatform.SpringCloudServiceArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSkuName:           pulumi.String(\"E0\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = appplatform.NewSpringCloudApplicationInsightsApplicationPerformanceMonitoring(ctx, \"example\", \u0026appplatform.SpringCloudApplicationInsightsApplicationPerformanceMonitoringArgs{\n\t\t\tName:                      pulumi.String(\"example\"),\n\t\t\tSpringCloudServiceId:      exampleSpringCloudService.ID(),\n\t\t\tConnectionString:          exampleInsights.InstrumentationKey,\n\t\t\tGloballyEnabled:           pulumi.Bool(true),\n\t\t\tRoleName:                  pulumi.String(\"test-role\"),\n\t\t\tRoleInstance:              pulumi.String(\"test-instance\"),\n\t\t\tSamplingPercentage:        pulumi.Int(50),\n\t\t\tSamplingRequestsPerSecond: pulumi.Int(10),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.appinsights.Insights;\nimport com.pulumi.azure.appinsights.InsightsArgs;\nimport com.pulumi.azure.appplatform.SpringCloudService;\nimport com.pulumi.azure.appplatform.SpringCloudServiceArgs;\nimport com.pulumi.azure.appplatform.SpringCloudApplicationInsightsApplicationPerformanceMonitoring;\nimport com.pulumi.azure.appplatform.SpringCloudApplicationInsightsApplicationPerformanceMonitoringArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleInsights = new Insights(\"exampleInsights\", InsightsArgs.builder()\n            .name(\"example\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .applicationType(\"web\")\n            .build());\n\n        var exampleSpringCloudService = new SpringCloudService(\"exampleSpringCloudService\", SpringCloudServiceArgs.builder()\n            .name(\"example\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .skuName(\"E0\")\n            .build());\n\n        var exampleSpringCloudApplicationInsightsApplicationPerformanceMonitoring = new SpringCloudApplicationInsightsApplicationPerformanceMonitoring(\"exampleSpringCloudApplicationInsightsApplicationPerformanceMonitoring\", SpringCloudApplicationInsightsApplicationPerformanceMonitoringArgs.builder()\n            .name(\"example\")\n            .springCloudServiceId(exampleSpringCloudService.id())\n            .connectionString(exampleInsights.instrumentationKey())\n            .globallyEnabled(true)\n            .roleName(\"test-role\")\n            .roleInstance(\"test-instance\")\n            .samplingPercentage(50)\n            .samplingRequestsPerSecond(10)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example\n      location: West Europe\n  exampleInsights:\n    type: azure:appinsights:Insights\n    name: example\n    properties:\n      name: example\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      applicationType: web\n  exampleSpringCloudService:\n    type: azure:appplatform:SpringCloudService\n    name: example\n    properties:\n      name: example\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      skuName: E0\n  exampleSpringCloudApplicationInsightsApplicationPerformanceMonitoring:\n    type: azure:appplatform:SpringCloudApplicationInsightsApplicationPerformanceMonitoring\n    name: example\n    properties:\n      name: example\n      springCloudServiceId: ${exampleSpringCloudService.id}\n      connectionString: ${exampleInsights.instrumentationKey}\n      globallyEnabled: true\n      roleName: test-role\n      roleInstance: test-instance\n      samplingPercentage: 50\n      samplingRequestsPerSecond: 10\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.AppPlatform` - 2024-01-01-preview\n\n## Import\n\nSpring Cloud Application Performance Monitoring resource for Application Insights can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:appplatform/springCloudApplicationInsightsApplicationPerformanceMonitoring:SpringCloudApplicationInsightsApplicationPerformanceMonitoring example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.AppPlatform/spring/service1/apms/apm1\n```\n\n","properties":{"connectionString":{"type":"string","description":"The instrumentation key used to push data to Application Insights.\n"},"globallyEnabled":{"type":"boolean","description":"Specifies whether the Spring Cloud Application Performance Monitoring resource for Application Insights is enabled globally. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"name":{"type":"string","description":"The name which should be used for this Spring Cloud Application Performance Monitoring resource for Application Insights. Changing this forces a new resource to be created.\n"},"roleInstance":{"type":"string","description":"Specifies the cloud role instance.\n"},"roleName":{"type":"string","description":"Specifies the cloud role name used to label the component on the application map.\n"},"samplingPercentage":{"type":"integer","description":"Specifies the percentage for fixed-percentage sampling.\n"},"samplingRequestsPerSecond":{"type":"integer","description":"Specifies the number of requests per second for the rate-limited sampling.\n"},"springCloudServiceId":{"type":"string","description":"The ID of the Spring Cloud Service. Changing this forces a new resource to be created.\n"}},"required":["name","springCloudServiceId"],"inputProperties":{"connectionString":{"type":"string","description":"The instrumentation key used to push data to Application Insights.\n"},"globallyEnabled":{"type":"boolean","description":"Specifies whether the Spring Cloud Application Performance Monitoring resource for Application Insights is enabled globally. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"name":{"type":"string","description":"The name which should be used for this Spring Cloud Application Performance Monitoring resource for Application Insights. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"roleInstance":{"type":"string","description":"Specifies the cloud role instance.\n"},"roleName":{"type":"string","description":"Specifies the cloud role name used to label the component on the application map.\n"},"samplingPercentage":{"type":"integer","description":"Specifies the percentage for fixed-percentage sampling.\n"},"samplingRequestsPerSecond":{"type":"integer","description":"Specifies the number of requests per second for the rate-limited sampling.\n"},"springCloudServiceId":{"type":"string","description":"The ID of the Spring Cloud Service. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["springCloudServiceId"],"stateInputs":{"description":"Input properties used for looking up and filtering SpringCloudApplicationInsightsApplicationPerformanceMonitoring resources.\n","properties":{"connectionString":{"type":"string","description":"The instrumentation key used to push data to Application Insights.\n"},"globallyEnabled":{"type":"boolean","description":"Specifies whether the Spring Cloud Application Performance Monitoring resource for Application Insights is enabled globally. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"name":{"type":"string","description":"The name which should be used for this Spring Cloud Application Performance Monitoring resource for Application Insights. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"roleInstance":{"type":"string","description":"Specifies the cloud role instance.\n"},"roleName":{"type":"string","description":"Specifies the cloud role name used to label the component on the application map.\n"},"samplingPercentage":{"type":"integer","description":"Specifies the percentage for fixed-percentage sampling.\n"},"samplingRequestsPerSecond":{"type":"integer","description":"Specifies the number of requests per second for the rate-limited sampling.\n"},"springCloudServiceId":{"type":"string","description":"The ID of the Spring Cloud Service. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:appplatform/springCloudApplicationLiveView:SpringCloudApplicationLiveView":{"description":"\u003e **Note:** This resource is applicable only for Spring Cloud Service with enterprise tier.\n\nManages a Spring Cloud Application Live View.\n\n!\u003e **Note:** Azure Spring Apps is now deprecated and will be retired on 2028-05-31 - as such the \u003cspan pulumi-lang-nodejs=\"`azure.appplatform.SpringCloudApplicationLiveView`\" pulumi-lang-dotnet=\"`azure.appplatform.SpringCloudApplicationLiveView`\" pulumi-lang-go=\"`appplatform.SpringCloudApplicationLiveView`\" pulumi-lang-python=\"`appplatform.SpringCloudApplicationLiveView`\" pulumi-lang-yaml=\"`azure.appplatform.SpringCloudApplicationLiveView`\" pulumi-lang-java=\"`azure.appplatform.SpringCloudApplicationLiveView`\"\u003e`azure.appplatform.SpringCloudApplicationLiveView`\u003c/span\u003e resource is deprecated and will be removed in a future major version of the AzureRM Provider. See https://aka.ms/asaretirement for more information.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example\",\n    location: \"West Europe\",\n});\nconst exampleSpringCloudService = new azure.appplatform.SpringCloudService(\"example\", {\n    name: \"example\",\n    location: example.location,\n    resourceGroupName: example.name,\n    skuName: \"E0\",\n});\nconst exampleSpringCloudApplicationLiveView = new azure.appplatform.SpringCloudApplicationLiveView(\"example\", {\n    name: \"default\",\n    springCloudServiceId: exampleSpringCloudService.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example\",\n    location=\"West Europe\")\nexample_spring_cloud_service = azure.appplatform.SpringCloudService(\"example\",\n    name=\"example\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku_name=\"E0\")\nexample_spring_cloud_application_live_view = azure.appplatform.SpringCloudApplicationLiveView(\"example\",\n    name=\"default\",\n    spring_cloud_service_id=example_spring_cloud_service.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example\",\n        Location = \"West Europe\",\n    });\n\n    var exampleSpringCloudService = new Azure.AppPlatform.SpringCloudService(\"example\", new()\n    {\n        Name = \"example\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        SkuName = \"E0\",\n    });\n\n    var exampleSpringCloudApplicationLiveView = new Azure.AppPlatform.SpringCloudApplicationLiveView(\"example\", new()\n    {\n        Name = \"default\",\n        SpringCloudServiceId = exampleSpringCloudService.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/appplatform\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSpringCloudService, err := appplatform.NewSpringCloudService(ctx, \"example\", \u0026appplatform.SpringCloudServiceArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSkuName:           pulumi.String(\"E0\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = appplatform.NewSpringCloudApplicationLiveView(ctx, \"example\", \u0026appplatform.SpringCloudApplicationLiveViewArgs{\n\t\t\tName:                 pulumi.String(\"default\"),\n\t\t\tSpringCloudServiceId: exampleSpringCloudService.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.appplatform.SpringCloudService;\nimport com.pulumi.azure.appplatform.SpringCloudServiceArgs;\nimport com.pulumi.azure.appplatform.SpringCloudApplicationLiveView;\nimport com.pulumi.azure.appplatform.SpringCloudApplicationLiveViewArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleSpringCloudService = new SpringCloudService(\"exampleSpringCloudService\", SpringCloudServiceArgs.builder()\n            .name(\"example\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .skuName(\"E0\")\n            .build());\n\n        var exampleSpringCloudApplicationLiveView = new SpringCloudApplicationLiveView(\"exampleSpringCloudApplicationLiveView\", SpringCloudApplicationLiveViewArgs.builder()\n            .name(\"default\")\n            .springCloudServiceId(exampleSpringCloudService.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example\n      location: West Europe\n  exampleSpringCloudService:\n    type: azure:appplatform:SpringCloudService\n    name: example\n    properties:\n      name: example\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      skuName: E0\n  exampleSpringCloudApplicationLiveView:\n    type: azure:appplatform:SpringCloudApplicationLiveView\n    name: example\n    properties:\n      name: default\n      springCloudServiceId: ${exampleSpringCloudService.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nSpring Cloud Application Live Views can be imported using the `resource id`, e.g.\n\n```shellg\nterraform import azurerm_spring_cloud_application_live_view.example /subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/resourceGroup1/providers/Microsoft.AppPlatform/spring/service1/applicationLiveViews/default\n```\n\n","properties":{"name":{"type":"string","description":"The name which should be used for this Spring Cloud Application Live View. Changing this forces a new Spring Cloud Application Live View to be created. The only possible value is \u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\"\u003e`default`\u003c/span\u003e.\n"},"springCloudServiceId":{"type":"string","description":"The ID of the Spring Cloud Service. Changing this forces a new Spring Cloud Application Live View to be created.\n"}},"required":["name","springCloudServiceId"],"inputProperties":{"name":{"type":"string","description":"The name which should be used for this Spring Cloud Application Live View. Changing this forces a new Spring Cloud Application Live View to be created. The only possible value is \u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\"\u003e`default`\u003c/span\u003e.\n","willReplaceOnChanges":true},"springCloudServiceId":{"type":"string","description":"The ID of the Spring Cloud Service. Changing this forces a new Spring Cloud Application Live View to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["springCloudServiceId"],"stateInputs":{"description":"Input properties used for looking up and filtering SpringCloudApplicationLiveView resources.\n","properties":{"name":{"type":"string","description":"The name which should be used for this Spring Cloud Application Live View. Changing this forces a new Spring Cloud Application Live View to be created. The only possible value is \u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\"\u003e`default`\u003c/span\u003e.\n","willReplaceOnChanges":true},"springCloudServiceId":{"type":"string","description":"The ID of the Spring Cloud Service. Changing this forces a new Spring Cloud Application Live View to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:appplatform/springCloudBuildDeployment:SpringCloudBuildDeployment":{"description":"Manages a Spring Cloud Build Deployment.\n\n\u003e **Note:** This resource is applicable only for Spring Cloud Service with enterprise tier.\n\n!\u003e **Note:** Azure Spring Apps is now deprecated and will be retired on 2028-05-31 - as such the \u003cspan pulumi-lang-nodejs=\"`azure.appplatform.SpringCloudBuildDeployment`\" pulumi-lang-dotnet=\"`azure.appplatform.SpringCloudBuildDeployment`\" pulumi-lang-go=\"`appplatform.SpringCloudBuildDeployment`\" pulumi-lang-python=\"`appplatform.SpringCloudBuildDeployment`\" pulumi-lang-yaml=\"`azure.appplatform.SpringCloudBuildDeployment`\" pulumi-lang-java=\"`azure.appplatform.SpringCloudBuildDeployment`\"\u003e`azure.appplatform.SpringCloudBuildDeployment`\u003c/span\u003e resource is deprecated and will be removed in a future major version of the AzureRM Provider. See https://aka.ms/asaretirement for more information.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example\",\n    location: \"West Europe\",\n});\nconst exampleSpringCloudService = new azure.appplatform.SpringCloudService(\"example\", {\n    name: \"example\",\n    location: example.location,\n    resourceGroupName: example.name,\n    skuName: \"E0\",\n});\nconst exampleSpringCloudApp = new azure.appplatform.SpringCloudApp(\"example\", {\n    name: \"example\",\n    resourceGroupName: exampleSpringCloudService.resourceGroupName,\n    serviceName: exampleSpringCloudService.name,\n});\nconst exampleSpringCloudBuildDeployment = new azure.appplatform.SpringCloudBuildDeployment(\"example\", {\n    name: \"example\",\n    springCloudAppId: exampleSpringCloudApp.id,\n    buildResultId: \"\u003cdefault\u003e\",\n    instanceCount: 2,\n    environmentVariables: {\n        Foo: \"Bar\",\n        Env: \"Staging\",\n    },\n    quota: {\n        cpu: \"2\",\n        memory: \"4Gi\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example\",\n    location=\"West Europe\")\nexample_spring_cloud_service = azure.appplatform.SpringCloudService(\"example\",\n    name=\"example\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku_name=\"E0\")\nexample_spring_cloud_app = azure.appplatform.SpringCloudApp(\"example\",\n    name=\"example\",\n    resource_group_name=example_spring_cloud_service.resource_group_name,\n    service_name=example_spring_cloud_service.name)\nexample_spring_cloud_build_deployment = azure.appplatform.SpringCloudBuildDeployment(\"example\",\n    name=\"example\",\n    spring_cloud_app_id=example_spring_cloud_app.id,\n    build_result_id=\"\u003cdefault\u003e\",\n    instance_count=2,\n    environment_variables={\n        \"Foo\": \"Bar\",\n        \"Env\": \"Staging\",\n    },\n    quota={\n        \"cpu\": \"2\",\n        \"memory\": \"4Gi\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example\",\n        Location = \"West Europe\",\n    });\n\n    var exampleSpringCloudService = new Azure.AppPlatform.SpringCloudService(\"example\", new()\n    {\n        Name = \"example\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        SkuName = \"E0\",\n    });\n\n    var exampleSpringCloudApp = new Azure.AppPlatform.SpringCloudApp(\"example\", new()\n    {\n        Name = \"example\",\n        ResourceGroupName = exampleSpringCloudService.ResourceGroupName,\n        ServiceName = exampleSpringCloudService.Name,\n    });\n\n    var exampleSpringCloudBuildDeployment = new Azure.AppPlatform.SpringCloudBuildDeployment(\"example\", new()\n    {\n        Name = \"example\",\n        SpringCloudAppId = exampleSpringCloudApp.Id,\n        BuildResultId = \"\u003cdefault\u003e\",\n        InstanceCount = 2,\n        EnvironmentVariables = \n        {\n            { \"Foo\", \"Bar\" },\n            { \"Env\", \"Staging\" },\n        },\n        Quota = new Azure.AppPlatform.Inputs.SpringCloudBuildDeploymentQuotaArgs\n        {\n            Cpu = \"2\",\n            Memory = \"4Gi\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/appplatform\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSpringCloudService, err := appplatform.NewSpringCloudService(ctx, \"example\", \u0026appplatform.SpringCloudServiceArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSkuName:           pulumi.String(\"E0\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSpringCloudApp, err := appplatform.NewSpringCloudApp(ctx, \"example\", \u0026appplatform.SpringCloudAppArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tResourceGroupName: exampleSpringCloudService.ResourceGroupName,\n\t\t\tServiceName:       exampleSpringCloudService.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = appplatform.NewSpringCloudBuildDeployment(ctx, \"example\", \u0026appplatform.SpringCloudBuildDeploymentArgs{\n\t\t\tName:             pulumi.String(\"example\"),\n\t\t\tSpringCloudAppId: exampleSpringCloudApp.ID(),\n\t\t\tBuildResultId:    pulumi.String(\"\u003cdefault\u003e\"),\n\t\t\tInstanceCount:    pulumi.Int(2),\n\t\t\tEnvironmentVariables: pulumi.StringMap{\n\t\t\t\t\"Foo\": pulumi.String(\"Bar\"),\n\t\t\t\t\"Env\": pulumi.String(\"Staging\"),\n\t\t\t},\n\t\t\tQuota: \u0026appplatform.SpringCloudBuildDeploymentQuotaArgs{\n\t\t\t\tCpu:    pulumi.String(\"2\"),\n\t\t\t\tMemory: pulumi.String(\"4Gi\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.appplatform.SpringCloudService;\nimport com.pulumi.azure.appplatform.SpringCloudServiceArgs;\nimport com.pulumi.azure.appplatform.SpringCloudApp;\nimport com.pulumi.azure.appplatform.SpringCloudAppArgs;\nimport com.pulumi.azure.appplatform.SpringCloudBuildDeployment;\nimport com.pulumi.azure.appplatform.SpringCloudBuildDeploymentArgs;\nimport com.pulumi.azure.appplatform.inputs.SpringCloudBuildDeploymentQuotaArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleSpringCloudService = new SpringCloudService(\"exampleSpringCloudService\", SpringCloudServiceArgs.builder()\n            .name(\"example\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .skuName(\"E0\")\n            .build());\n\n        var exampleSpringCloudApp = new SpringCloudApp(\"exampleSpringCloudApp\", SpringCloudAppArgs.builder()\n            .name(\"example\")\n            .resourceGroupName(exampleSpringCloudService.resourceGroupName())\n            .serviceName(exampleSpringCloudService.name())\n            .build());\n\n        var exampleSpringCloudBuildDeployment = new SpringCloudBuildDeployment(\"exampleSpringCloudBuildDeployment\", SpringCloudBuildDeploymentArgs.builder()\n            .name(\"example\")\n            .springCloudAppId(exampleSpringCloudApp.id())\n            .buildResultId(\"\u003cdefault\u003e\")\n            .instanceCount(2)\n            .environmentVariables(Map.ofEntries(\n                Map.entry(\"Foo\", \"Bar\"),\n                Map.entry(\"Env\", \"Staging\")\n            ))\n            .quota(SpringCloudBuildDeploymentQuotaArgs.builder()\n                .cpu(\"2\")\n                .memory(\"4Gi\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example\n      location: West Europe\n  exampleSpringCloudService:\n    type: azure:appplatform:SpringCloudService\n    name: example\n    properties:\n      name: example\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      skuName: E0\n  exampleSpringCloudApp:\n    type: azure:appplatform:SpringCloudApp\n    name: example\n    properties:\n      name: example\n      resourceGroupName: ${exampleSpringCloudService.resourceGroupName}\n      serviceName: ${exampleSpringCloudService.name}\n  exampleSpringCloudBuildDeployment:\n    type: azure:appplatform:SpringCloudBuildDeployment\n    name: example\n    properties:\n      name: example\n      springCloudAppId: ${exampleSpringCloudApp.id}\n      buildResultId: \u003cdefault\u003e\n      instanceCount: 2\n      environmentVariables:\n        Foo: Bar\n        Env: Staging\n      quota:\n        cpu: '2'\n        memory: 4Gi\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nSpring Cloud Build Deployments can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:appplatform/springCloudBuildDeployment:SpringCloudBuildDeployment example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resGroup1/providers/Microsoft.AppPlatform/spring/spring1/apps/app1/deployments/deploy1\n```\n\n","properties":{"addonJson":{"type":"string","description":"A JSON object that contains the addon configurations of the Spring Cloud Build Deployment.\n"},"applicationPerformanceMonitoringIds":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Spring Cloud Application Performance Monitoring IDs.\n"},"buildResultId":{"type":"string","description":"The ID of the Spring Cloud Build Result.\n"},"environmentVariables":{"type":"object","additionalProperties":{"type":"string"},"description":"Specifies the environment variables of the Spring Cloud Deployment as a map of key-value pairs.\n"},"instanceCount":{"type":"integer","description":"Specifies the required instance count of the Spring Cloud Deployment. Possible Values are between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`500`\" pulumi-lang-dotnet=\"`500`\" pulumi-lang-go=\"`500`\" pulumi-lang-python=\"`500`\" pulumi-lang-yaml=\"`500`\" pulumi-lang-java=\"`500`\"\u003e`500`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e if not specified.\n"},"name":{"type":"string","description":"The name which should be used for this Spring Cloud Build Deployment. Changing this forces a new Spring Cloud Build Deployment to be created.\n"},"quota":{"$ref":"#/types/azure:appplatform/SpringCloudBuildDeploymentQuota:SpringCloudBuildDeploymentQuota","description":"A \u003cspan pulumi-lang-nodejs=\"`quota`\" pulumi-lang-dotnet=\"`Quota`\" pulumi-lang-go=\"`quota`\" pulumi-lang-python=\"`quota`\" pulumi-lang-yaml=\"`quota`\" pulumi-lang-java=\"`quota`\"\u003e`quota`\u003c/span\u003e block as defined below.\n"},"springCloudAppId":{"type":"string","description":"The ID of the Spring Cloud Service. Changing this forces a new Spring Cloud Build Deployment to be created.\n"}},"required":["addonJson","buildResultId","name","quota","springCloudAppId"],"inputProperties":{"addonJson":{"type":"string","description":"A JSON object that contains the addon configurations of the Spring Cloud Build Deployment.\n"},"applicationPerformanceMonitoringIds":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Spring Cloud Application Performance Monitoring IDs.\n"},"buildResultId":{"type":"string","description":"The ID of the Spring Cloud Build Result.\n"},"environmentVariables":{"type":"object","additionalProperties":{"type":"string"},"description":"Specifies the environment variables of the Spring Cloud Deployment as a map of key-value pairs.\n"},"instanceCount":{"type":"integer","description":"Specifies the required instance count of the Spring Cloud Deployment. Possible Values are between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`500`\" pulumi-lang-dotnet=\"`500`\" pulumi-lang-go=\"`500`\" pulumi-lang-python=\"`500`\" pulumi-lang-yaml=\"`500`\" pulumi-lang-java=\"`500`\"\u003e`500`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e if not specified.\n"},"name":{"type":"string","description":"The name which should be used for this Spring Cloud Build Deployment. Changing this forces a new Spring Cloud Build Deployment to be created.\n","willReplaceOnChanges":true},"quota":{"$ref":"#/types/azure:appplatform/SpringCloudBuildDeploymentQuota:SpringCloudBuildDeploymentQuota","description":"A \u003cspan pulumi-lang-nodejs=\"`quota`\" pulumi-lang-dotnet=\"`Quota`\" pulumi-lang-go=\"`quota`\" pulumi-lang-python=\"`quota`\" pulumi-lang-yaml=\"`quota`\" pulumi-lang-java=\"`quota`\"\u003e`quota`\u003c/span\u003e block as defined below.\n"},"springCloudAppId":{"type":"string","description":"The ID of the Spring Cloud Service. Changing this forces a new Spring Cloud Build Deployment to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["buildResultId","springCloudAppId"],"stateInputs":{"description":"Input properties used for looking up and filtering SpringCloudBuildDeployment resources.\n","properties":{"addonJson":{"type":"string","description":"A JSON object that contains the addon configurations of the Spring Cloud Build Deployment.\n"},"applicationPerformanceMonitoringIds":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Spring Cloud Application Performance Monitoring IDs.\n"},"buildResultId":{"type":"string","description":"The ID of the Spring Cloud Build Result.\n"},"environmentVariables":{"type":"object","additionalProperties":{"type":"string"},"description":"Specifies the environment variables of the Spring Cloud Deployment as a map of key-value pairs.\n"},"instanceCount":{"type":"integer","description":"Specifies the required instance count of the Spring Cloud Deployment. Possible Values are between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`500`\" pulumi-lang-dotnet=\"`500`\" pulumi-lang-go=\"`500`\" pulumi-lang-python=\"`500`\" pulumi-lang-yaml=\"`500`\" pulumi-lang-java=\"`500`\"\u003e`500`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e if not specified.\n"},"name":{"type":"string","description":"The name which should be used for this Spring Cloud Build Deployment. Changing this forces a new Spring Cloud Build Deployment to be created.\n","willReplaceOnChanges":true},"quota":{"$ref":"#/types/azure:appplatform/SpringCloudBuildDeploymentQuota:SpringCloudBuildDeploymentQuota","description":"A \u003cspan pulumi-lang-nodejs=\"`quota`\" pulumi-lang-dotnet=\"`Quota`\" pulumi-lang-go=\"`quota`\" pulumi-lang-python=\"`quota`\" pulumi-lang-yaml=\"`quota`\" pulumi-lang-java=\"`quota`\"\u003e`quota`\u003c/span\u003e block as defined below.\n"},"springCloudAppId":{"type":"string","description":"The ID of the Spring Cloud Service. Changing this forces a new Spring Cloud Build Deployment to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:appplatform/springCloudBuildPackBinding:SpringCloudBuildPackBinding":{"description":"Manages a Spring Cloud Build Pack Binding.\n\n\u003e **Note:** This resource is applicable only for Spring Cloud Service with enterprise tier.\n\n!\u003e **Note:** Azure Spring Apps is now deprecated and will be retired on 2028-05-31 - as such the \u003cspan pulumi-lang-nodejs=\"`azure.appplatform.SpringCloudBuildPackBinding`\" pulumi-lang-dotnet=\"`azure.appplatform.SpringCloudBuildPackBinding`\" pulumi-lang-go=\"`appplatform.SpringCloudBuildPackBinding`\" pulumi-lang-python=\"`appplatform.SpringCloudBuildPackBinding`\" pulumi-lang-yaml=\"`azure.appplatform.SpringCloudBuildPackBinding`\" pulumi-lang-java=\"`azure.appplatform.SpringCloudBuildPackBinding`\"\u003e`azure.appplatform.SpringCloudBuildPackBinding`\u003c/span\u003e resource is deprecated and will be removed in a future major version of the AzureRM Provider. See https://aka.ms/asaretirement for more information.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleSpringCloudService = new azure.appplatform.SpringCloudService(\"example\", {\n    name: \"example-springcloud\",\n    resourceGroupName: example.name,\n    location: example.location,\n    skuName: \"E0\",\n});\nconst exampleSpringCloudBuilder = new azure.appplatform.SpringCloudBuilder(\"example\", {\n    name: \"example\",\n    springCloudServiceId: exampleSpringCloudService.id,\n    buildPackGroups: [{\n        name: \"mix\",\n        buildPackIds: [\"tanzu-Build Packs/java-azure\"],\n    }],\n    stack: {\n        id: \"io.Build Packs.stacks.bionic\",\n        version: \"base\",\n    },\n});\nconst exampleSpringCloudBuildPackBinding = new azure.appplatform.SpringCloudBuildPackBinding(\"example\", {\n    name: \"example\",\n    springCloudBuilderId: exampleSpringCloudBuilder.id,\n    bindingType: \"ApplicationInsights\",\n    launch: {\n        properties: {\n            abc: \"def\",\n            \"any-string\": \"any-string\",\n            \"sampling-rate\": \"12.0\",\n        },\n        secrets: {\n            \"connection-string\": \"XXXXXXXXXXXXXXXXX=XXXXXXXXXXXXX-XXXXXXXXXXXXXXXXXXX;XXXXXXXXXXXXXXXXX=XXXXXXXXXXXXXXXXXXX\",\n        },\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_spring_cloud_service = azure.appplatform.SpringCloudService(\"example\",\n    name=\"example-springcloud\",\n    resource_group_name=example.name,\n    location=example.location,\n    sku_name=\"E0\")\nexample_spring_cloud_builder = azure.appplatform.SpringCloudBuilder(\"example\",\n    name=\"example\",\n    spring_cloud_service_id=example_spring_cloud_service.id,\n    build_pack_groups=[{\n        \"name\": \"mix\",\n        \"build_pack_ids\": [\"tanzu-Build Packs/java-azure\"],\n    }],\n    stack={\n        \"id\": \"io.Build Packs.stacks.bionic\",\n        \"version\": \"base\",\n    })\nexample_spring_cloud_build_pack_binding = azure.appplatform.SpringCloudBuildPackBinding(\"example\",\n    name=\"example\",\n    spring_cloud_builder_id=example_spring_cloud_builder.id,\n    binding_type=\"ApplicationInsights\",\n    launch={\n        \"properties\": {\n            \"abc\": \"def\",\n            \"any-string\": \"any-string\",\n            \"sampling-rate\": \"12.0\",\n        },\n        \"secrets\": {\n            \"connection-string\": \"XXXXXXXXXXXXXXXXX=XXXXXXXXXXXXX-XXXXXXXXXXXXXXXXXXX;XXXXXXXXXXXXXXXXX=XXXXXXXXXXXXXXXXXXX\",\n        },\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleSpringCloudService = new Azure.AppPlatform.SpringCloudService(\"example\", new()\n    {\n        Name = \"example-springcloud\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        SkuName = \"E0\",\n    });\n\n    var exampleSpringCloudBuilder = new Azure.AppPlatform.SpringCloudBuilder(\"example\", new()\n    {\n        Name = \"example\",\n        SpringCloudServiceId = exampleSpringCloudService.Id,\n        BuildPackGroups = new[]\n        {\n            new Azure.AppPlatform.Inputs.SpringCloudBuilderBuildPackGroupArgs\n            {\n                Name = \"mix\",\n                BuildPackIds = new[]\n                {\n                    \"tanzu-Build Packs/java-azure\",\n                },\n            },\n        },\n        Stack = new Azure.AppPlatform.Inputs.SpringCloudBuilderStackArgs\n        {\n            Id = \"io.Build Packs.stacks.bionic\",\n            Version = \"base\",\n        },\n    });\n\n    var exampleSpringCloudBuildPackBinding = new Azure.AppPlatform.SpringCloudBuildPackBinding(\"example\", new()\n    {\n        Name = \"example\",\n        SpringCloudBuilderId = exampleSpringCloudBuilder.Id,\n        BindingType = \"ApplicationInsights\",\n        Launch = new Azure.AppPlatform.Inputs.SpringCloudBuildPackBindingLaunchArgs\n        {\n            Properties = \n            {\n                { \"abc\", \"def\" },\n                { \"any-string\", \"any-string\" },\n                { \"sampling-rate\", \"12.0\" },\n            },\n            Secrets = \n            {\n                { \"connection-string\", \"XXXXXXXXXXXXXXXXX=XXXXXXXXXXXXX-XXXXXXXXXXXXXXXXXXX;XXXXXXXXXXXXXXXXX=XXXXXXXXXXXXXXXXXXX\" },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/appplatform\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSpringCloudService, err := appplatform.NewSpringCloudService(ctx, \"example\", \u0026appplatform.SpringCloudServiceArgs{\n\t\t\tName:              pulumi.String(\"example-springcloud\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tSkuName:           pulumi.String(\"E0\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSpringCloudBuilder, err := appplatform.NewSpringCloudBuilder(ctx, \"example\", \u0026appplatform.SpringCloudBuilderArgs{\n\t\t\tName:                 pulumi.String(\"example\"),\n\t\t\tSpringCloudServiceId: exampleSpringCloudService.ID(),\n\t\t\tBuildPackGroups: appplatform.SpringCloudBuilderBuildPackGroupArray{\n\t\t\t\t\u0026appplatform.SpringCloudBuilderBuildPackGroupArgs{\n\t\t\t\t\tName: pulumi.String(\"mix\"),\n\t\t\t\t\tBuildPackIds: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"tanzu-Build Packs/java-azure\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tStack: \u0026appplatform.SpringCloudBuilderStackArgs{\n\t\t\t\tId:      pulumi.String(\"io.Build Packs.stacks.bionic\"),\n\t\t\t\tVersion: pulumi.String(\"base\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = appplatform.NewSpringCloudBuildPackBinding(ctx, \"example\", \u0026appplatform.SpringCloudBuildPackBindingArgs{\n\t\t\tName:                 pulumi.String(\"example\"),\n\t\t\tSpringCloudBuilderId: exampleSpringCloudBuilder.ID(),\n\t\t\tBindingType:          pulumi.String(\"ApplicationInsights\"),\n\t\t\tLaunch: \u0026appplatform.SpringCloudBuildPackBindingLaunchArgs{\n\t\t\t\tProperties: pulumi.StringMap{\n\t\t\t\t\t\"abc\":           pulumi.String(\"def\"),\n\t\t\t\t\t\"any-string\":    pulumi.String(\"any-string\"),\n\t\t\t\t\t\"sampling-rate\": pulumi.String(\"12.0\"),\n\t\t\t\t},\n\t\t\t\tSecrets: pulumi.StringMap{\n\t\t\t\t\t\"connection-string\": pulumi.String(\"XXXXXXXXXXXXXXXXX=XXXXXXXXXXXXX-XXXXXXXXXXXXXXXXXXX;XXXXXXXXXXXXXXXXX=XXXXXXXXXXXXXXXXXXX\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.appplatform.SpringCloudService;\nimport com.pulumi.azure.appplatform.SpringCloudServiceArgs;\nimport com.pulumi.azure.appplatform.SpringCloudBuilder;\nimport com.pulumi.azure.appplatform.SpringCloudBuilderArgs;\nimport com.pulumi.azure.appplatform.inputs.SpringCloudBuilderBuildPackGroupArgs;\nimport com.pulumi.azure.appplatform.inputs.SpringCloudBuilderStackArgs;\nimport com.pulumi.azure.appplatform.SpringCloudBuildPackBinding;\nimport com.pulumi.azure.appplatform.SpringCloudBuildPackBindingArgs;\nimport com.pulumi.azure.appplatform.inputs.SpringCloudBuildPackBindingLaunchArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleSpringCloudService = new SpringCloudService(\"exampleSpringCloudService\", SpringCloudServiceArgs.builder()\n            .name(\"example-springcloud\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .skuName(\"E0\")\n            .build());\n\n        var exampleSpringCloudBuilder = new SpringCloudBuilder(\"exampleSpringCloudBuilder\", SpringCloudBuilderArgs.builder()\n            .name(\"example\")\n            .springCloudServiceId(exampleSpringCloudService.id())\n            .buildPackGroups(SpringCloudBuilderBuildPackGroupArgs.builder()\n                .name(\"mix\")\n                .buildPackIds(\"tanzu-Build Packs/java-azure\")\n                .build())\n            .stack(SpringCloudBuilderStackArgs.builder()\n                .id(\"io.Build Packs.stacks.bionic\")\n                .version(\"base\")\n                .build())\n            .build());\n\n        var exampleSpringCloudBuildPackBinding = new SpringCloudBuildPackBinding(\"exampleSpringCloudBuildPackBinding\", SpringCloudBuildPackBindingArgs.builder()\n            .name(\"example\")\n            .springCloudBuilderId(exampleSpringCloudBuilder.id())\n            .bindingType(\"ApplicationInsights\")\n            .launch(SpringCloudBuildPackBindingLaunchArgs.builder()\n                .properties(Map.ofEntries(\n                    Map.entry(\"abc\", \"def\"),\n                    Map.entry(\"any-string\", \"any-string\"),\n                    Map.entry(\"sampling-rate\", \"12.0\")\n                ))\n                .secrets(Map.of(\"connection-string\", \"XXXXXXXXXXXXXXXXX=XXXXXXXXXXXXX-XXXXXXXXXXXXXXXXXXX;XXXXXXXXXXXXXXXXX=XXXXXXXXXXXXXXXXXXX\"))\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleSpringCloudService:\n    type: azure:appplatform:SpringCloudService\n    name: example\n    properties:\n      name: example-springcloud\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      skuName: E0\n  exampleSpringCloudBuilder:\n    type: azure:appplatform:SpringCloudBuilder\n    name: example\n    properties:\n      name: example\n      springCloudServiceId: ${exampleSpringCloudService.id}\n      buildPackGroups:\n        - name: mix\n          buildPackIds:\n            - tanzu-Build Packs/java-azure\n      stack:\n        id: io.Build Packs.stacks.bionic\n        version: base\n  exampleSpringCloudBuildPackBinding:\n    type: azure:appplatform:SpringCloudBuildPackBinding\n    name: example\n    properties:\n      name: example\n      springCloudBuilderId: ${exampleSpringCloudBuilder.id}\n      bindingType: ApplicationInsights\n      launch:\n        properties:\n          abc: def\n          any-string: any-string\n          sampling-rate: '12.0'\n        secrets:\n          connection-string: XXXXXXXXXXXXXXXXX=XXXXXXXXXXXXX-XXXXXXXXXXXXXXXXXXX;XXXXXXXXXXXXXXXXX=XXXXXXXXXXXXXXXXXXX\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nSpring Cloud Build Pack Bindings can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:appplatform/springCloudBuildPackBinding:SpringCloudBuildPackBinding example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup1/providers/Microsoft.AppPlatform/spring/service1/buildServices/buildService1/builders/builder1/buildPackBindings/binding1\n```\n\n","properties":{"bindingType":{"type":"string","description":"Specifies the Build Pack Binding Type. Allowed values are `ApacheSkyWalking`, `AppDynamics`, `ApplicationInsights`, `Dynatrace`, `ElasticAPM` and `NewRelic`.\n"},"launch":{"$ref":"#/types/azure:appplatform/SpringCloudBuildPackBindingLaunch:SpringCloudBuildPackBindingLaunch","description":"A \u003cspan pulumi-lang-nodejs=\"`launch`\" pulumi-lang-dotnet=\"`Launch`\" pulumi-lang-go=\"`launch`\" pulumi-lang-python=\"`launch`\" pulumi-lang-yaml=\"`launch`\" pulumi-lang-java=\"`launch`\"\u003e`launch`\u003c/span\u003e block as defined below.\n"},"name":{"type":"string","description":"The name which should be used for this Spring Cloud Build Pack Binding. Changing this forces a new Spring Cloud Build Pack Binding to be created.\n"},"springCloudBuilderId":{"type":"string","description":"The ID of the Spring Cloud Builder. Changing this forces a new Spring Cloud Build Pack Binding to be created.\n"}},"required":["name","springCloudBuilderId"],"inputProperties":{"bindingType":{"type":"string","description":"Specifies the Build Pack Binding Type. Allowed values are `ApacheSkyWalking`, `AppDynamics`, `ApplicationInsights`, `Dynatrace`, `ElasticAPM` and `NewRelic`.\n"},"launch":{"$ref":"#/types/azure:appplatform/SpringCloudBuildPackBindingLaunch:SpringCloudBuildPackBindingLaunch","description":"A \u003cspan pulumi-lang-nodejs=\"`launch`\" pulumi-lang-dotnet=\"`Launch`\" pulumi-lang-go=\"`launch`\" pulumi-lang-python=\"`launch`\" pulumi-lang-yaml=\"`launch`\" pulumi-lang-java=\"`launch`\"\u003e`launch`\u003c/span\u003e block as defined below.\n"},"name":{"type":"string","description":"The name which should be used for this Spring Cloud Build Pack Binding. Changing this forces a new Spring Cloud Build Pack Binding to be created.\n","willReplaceOnChanges":true},"springCloudBuilderId":{"type":"string","description":"The ID of the Spring Cloud Builder. Changing this forces a new Spring Cloud Build Pack Binding to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["springCloudBuilderId"],"stateInputs":{"description":"Input properties used for looking up and filtering SpringCloudBuildPackBinding resources.\n","properties":{"bindingType":{"type":"string","description":"Specifies the Build Pack Binding Type. Allowed values are `ApacheSkyWalking`, `AppDynamics`, `ApplicationInsights`, `Dynatrace`, `ElasticAPM` and `NewRelic`.\n"},"launch":{"$ref":"#/types/azure:appplatform/SpringCloudBuildPackBindingLaunch:SpringCloudBuildPackBindingLaunch","description":"A \u003cspan pulumi-lang-nodejs=\"`launch`\" pulumi-lang-dotnet=\"`Launch`\" pulumi-lang-go=\"`launch`\" pulumi-lang-python=\"`launch`\" pulumi-lang-yaml=\"`launch`\" pulumi-lang-java=\"`launch`\"\u003e`launch`\u003c/span\u003e block as defined below.\n"},"name":{"type":"string","description":"The name which should be used for this Spring Cloud Build Pack Binding. Changing this forces a new Spring Cloud Build Pack Binding to be created.\n","willReplaceOnChanges":true},"springCloudBuilderId":{"type":"string","description":"The ID of the Spring Cloud Builder. Changing this forces a new Spring Cloud Build Pack Binding to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:appplatform/springCloudBuilder:SpringCloudBuilder":{"description":"Manages a Spring Cloud Builder.\n\n\u003e **Note:** This resource is applicable only for Spring Cloud Service with enterprise tier.\n\n!\u003e **Note:** Azure Spring Apps is now deprecated and will be retired on 2028-05-31 - as such the \u003cspan pulumi-lang-nodejs=\"`azure.appplatform.SpringCloudBuilder`\" pulumi-lang-dotnet=\"`azure.appplatform.SpringCloudBuilder`\" pulumi-lang-go=\"`appplatform.SpringCloudBuilder`\" pulumi-lang-python=\"`appplatform.SpringCloudBuilder`\" pulumi-lang-yaml=\"`azure.appplatform.SpringCloudBuilder`\" pulumi-lang-java=\"`azure.appplatform.SpringCloudBuilder`\"\u003e`azure.appplatform.SpringCloudBuilder`\u003c/span\u003e resource is deprecated and will be removed in a future major version of the AzureRM Provider. See https://aka.ms/asaretirement for more information.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleSpringCloudService = new azure.appplatform.SpringCloudService(\"example\", {\n    name: \"example-springcloud\",\n    resourceGroupName: example.name,\n    location: example.location,\n    skuName: \"E0\",\n});\nconst exampleSpringCloudBuilder = new azure.appplatform.SpringCloudBuilder(\"example\", {\n    name: \"example\",\n    springCloudServiceId: exampleSpringCloudService.id,\n    buildPackGroups: [{\n        name: \"mix\",\n        buildPackIds: [\"tanzu-buildpacks/java-azure\"],\n    }],\n    stack: {\n        id: \"io.buildpacks.stacks.bionic\",\n        version: \"base\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_spring_cloud_service = azure.appplatform.SpringCloudService(\"example\",\n    name=\"example-springcloud\",\n    resource_group_name=example.name,\n    location=example.location,\n    sku_name=\"E0\")\nexample_spring_cloud_builder = azure.appplatform.SpringCloudBuilder(\"example\",\n    name=\"example\",\n    spring_cloud_service_id=example_spring_cloud_service.id,\n    build_pack_groups=[{\n        \"name\": \"mix\",\n        \"build_pack_ids\": [\"tanzu-buildpacks/java-azure\"],\n    }],\n    stack={\n        \"id\": \"io.buildpacks.stacks.bionic\",\n        \"version\": \"base\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleSpringCloudService = new Azure.AppPlatform.SpringCloudService(\"example\", new()\n    {\n        Name = \"example-springcloud\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        SkuName = \"E0\",\n    });\n\n    var exampleSpringCloudBuilder = new Azure.AppPlatform.SpringCloudBuilder(\"example\", new()\n    {\n        Name = \"example\",\n        SpringCloudServiceId = exampleSpringCloudService.Id,\n        BuildPackGroups = new[]\n        {\n            new Azure.AppPlatform.Inputs.SpringCloudBuilderBuildPackGroupArgs\n            {\n                Name = \"mix\",\n                BuildPackIds = new[]\n                {\n                    \"tanzu-buildpacks/java-azure\",\n                },\n            },\n        },\n        Stack = new Azure.AppPlatform.Inputs.SpringCloudBuilderStackArgs\n        {\n            Id = \"io.buildpacks.stacks.bionic\",\n            Version = \"base\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/appplatform\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSpringCloudService, err := appplatform.NewSpringCloudService(ctx, \"example\", \u0026appplatform.SpringCloudServiceArgs{\n\t\t\tName:              pulumi.String(\"example-springcloud\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tSkuName:           pulumi.String(\"E0\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = appplatform.NewSpringCloudBuilder(ctx, \"example\", \u0026appplatform.SpringCloudBuilderArgs{\n\t\t\tName:                 pulumi.String(\"example\"),\n\t\t\tSpringCloudServiceId: exampleSpringCloudService.ID(),\n\t\t\tBuildPackGroups: appplatform.SpringCloudBuilderBuildPackGroupArray{\n\t\t\t\t\u0026appplatform.SpringCloudBuilderBuildPackGroupArgs{\n\t\t\t\t\tName: pulumi.String(\"mix\"),\n\t\t\t\t\tBuildPackIds: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"tanzu-buildpacks/java-azure\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tStack: \u0026appplatform.SpringCloudBuilderStackArgs{\n\t\t\t\tId:      pulumi.String(\"io.buildpacks.stacks.bionic\"),\n\t\t\t\tVersion: pulumi.String(\"base\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.appplatform.SpringCloudService;\nimport com.pulumi.azure.appplatform.SpringCloudServiceArgs;\nimport com.pulumi.azure.appplatform.SpringCloudBuilder;\nimport com.pulumi.azure.appplatform.SpringCloudBuilderArgs;\nimport com.pulumi.azure.appplatform.inputs.SpringCloudBuilderBuildPackGroupArgs;\nimport com.pulumi.azure.appplatform.inputs.SpringCloudBuilderStackArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleSpringCloudService = new SpringCloudService(\"exampleSpringCloudService\", SpringCloudServiceArgs.builder()\n            .name(\"example-springcloud\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .skuName(\"E0\")\n            .build());\n\n        var exampleSpringCloudBuilder = new SpringCloudBuilder(\"exampleSpringCloudBuilder\", SpringCloudBuilderArgs.builder()\n            .name(\"example\")\n            .springCloudServiceId(exampleSpringCloudService.id())\n            .buildPackGroups(SpringCloudBuilderBuildPackGroupArgs.builder()\n                .name(\"mix\")\n                .buildPackIds(\"tanzu-buildpacks/java-azure\")\n                .build())\n            .stack(SpringCloudBuilderStackArgs.builder()\n                .id(\"io.buildpacks.stacks.bionic\")\n                .version(\"base\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleSpringCloudService:\n    type: azure:appplatform:SpringCloudService\n    name: example\n    properties:\n      name: example-springcloud\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      skuName: E0\n  exampleSpringCloudBuilder:\n    type: azure:appplatform:SpringCloudBuilder\n    name: example\n    properties:\n      name: example\n      springCloudServiceId: ${exampleSpringCloudService.id}\n      buildPackGroups:\n        - name: mix\n          buildPackIds:\n            - tanzu-buildpacks/java-azure\n      stack:\n        id: io.buildpacks.stacks.bionic\n        version: base\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nSpring Cloud Builders can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:appplatform/springCloudBuilder:SpringCloudBuilder example /subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/resourceGroup1/providers/Microsoft.AppPlatform/spring/service1/buildServices/buildService1/builders/builder1\n```\n\n","properties":{"buildPackGroups":{"type":"array","items":{"$ref":"#/types/azure:appplatform/SpringCloudBuilderBuildPackGroup:SpringCloudBuilderBuildPackGroup"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`buildPackGroup`\" pulumi-lang-dotnet=\"`BuildPackGroup`\" pulumi-lang-go=\"`buildPackGroup`\" pulumi-lang-python=\"`build_pack_group`\" pulumi-lang-yaml=\"`buildPackGroup`\" pulumi-lang-java=\"`buildPackGroup`\"\u003e`build_pack_group`\u003c/span\u003e blocks as defined below.\n"},"name":{"type":"string","description":"The name which should be used for this Spring Cloud Builder. Changing this forces a new Spring Cloud Builder to be created.\n"},"springCloudServiceId":{"type":"string","description":"The ID of the Spring Cloud Service. Changing this forces a new Spring Cloud Builder to be created.\n"},"stack":{"$ref":"#/types/azure:appplatform/SpringCloudBuilderStack:SpringCloudBuilderStack","description":"A \u003cspan pulumi-lang-nodejs=\"`stack`\" pulumi-lang-dotnet=\"`Stack`\" pulumi-lang-go=\"`stack`\" pulumi-lang-python=\"`stack`\" pulumi-lang-yaml=\"`stack`\" pulumi-lang-java=\"`stack`\"\u003e`stack`\u003c/span\u003e block as defined below.\n"}},"required":["buildPackGroups","name","springCloudServiceId","stack"],"inputProperties":{"buildPackGroups":{"type":"array","items":{"$ref":"#/types/azure:appplatform/SpringCloudBuilderBuildPackGroup:SpringCloudBuilderBuildPackGroup"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`buildPackGroup`\" pulumi-lang-dotnet=\"`BuildPackGroup`\" pulumi-lang-go=\"`buildPackGroup`\" pulumi-lang-python=\"`build_pack_group`\" pulumi-lang-yaml=\"`buildPackGroup`\" pulumi-lang-java=\"`buildPackGroup`\"\u003e`build_pack_group`\u003c/span\u003e blocks as defined below.\n"},"name":{"type":"string","description":"The name which should be used for this Spring Cloud Builder. Changing this forces a new Spring Cloud Builder to be created.\n","willReplaceOnChanges":true},"springCloudServiceId":{"type":"string","description":"The ID of the Spring Cloud Service. Changing this forces a new Spring Cloud Builder to be created.\n","willReplaceOnChanges":true},"stack":{"$ref":"#/types/azure:appplatform/SpringCloudBuilderStack:SpringCloudBuilderStack","description":"A \u003cspan pulumi-lang-nodejs=\"`stack`\" pulumi-lang-dotnet=\"`Stack`\" pulumi-lang-go=\"`stack`\" pulumi-lang-python=\"`stack`\" pulumi-lang-yaml=\"`stack`\" pulumi-lang-java=\"`stack`\"\u003e`stack`\u003c/span\u003e block as defined below.\n"}},"requiredInputs":["buildPackGroups","springCloudServiceId","stack"],"stateInputs":{"description":"Input properties used for looking up and filtering SpringCloudBuilder resources.\n","properties":{"buildPackGroups":{"type":"array","items":{"$ref":"#/types/azure:appplatform/SpringCloudBuilderBuildPackGroup:SpringCloudBuilderBuildPackGroup"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`buildPackGroup`\" pulumi-lang-dotnet=\"`BuildPackGroup`\" pulumi-lang-go=\"`buildPackGroup`\" pulumi-lang-python=\"`build_pack_group`\" pulumi-lang-yaml=\"`buildPackGroup`\" pulumi-lang-java=\"`buildPackGroup`\"\u003e`build_pack_group`\u003c/span\u003e blocks as defined below.\n"},"name":{"type":"string","description":"The name which should be used for this Spring Cloud Builder. Changing this forces a new Spring Cloud Builder to be created.\n","willReplaceOnChanges":true},"springCloudServiceId":{"type":"string","description":"The ID of the Spring Cloud Service. Changing this forces a new Spring Cloud Builder to be created.\n","willReplaceOnChanges":true},"stack":{"$ref":"#/types/azure:appplatform/SpringCloudBuilderStack:SpringCloudBuilderStack","description":"A \u003cspan pulumi-lang-nodejs=\"`stack`\" pulumi-lang-dotnet=\"`Stack`\" pulumi-lang-go=\"`stack`\" pulumi-lang-python=\"`stack`\" pulumi-lang-yaml=\"`stack`\" pulumi-lang-java=\"`stack`\"\u003e`stack`\u003c/span\u003e block as defined below.\n"}},"type":"object"}},"azure:appplatform/springCloudCertificate:SpringCloudCertificate":{"description":"Manages an Azure Spring Cloud Certificate.\n\n!\u003e **Note:** Azure Spring Apps is now deprecated and will be retired on 2028-05-31 - as such the \u003cspan pulumi-lang-nodejs=\"`azure.appplatform.SpringCloudCertificate`\" pulumi-lang-dotnet=\"`azure.appplatform.SpringCloudCertificate`\" pulumi-lang-go=\"`appplatform.SpringCloudCertificate`\" pulumi-lang-python=\"`appplatform.SpringCloudCertificate`\" pulumi-lang-yaml=\"`azure.appplatform.SpringCloudCertificate`\" pulumi-lang-java=\"`azure.appplatform.SpringCloudCertificate`\"\u003e`azure.appplatform.SpringCloudCertificate`\u003c/span\u003e resource is deprecated and will be removed in a future major version of the AzureRM Provider. See https://aka.ms/asaretirement for more information.\n\n## Import\n\nSpring Cloud Certificate can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:appplatform/springCloudCertificate:SpringCloudCertificate example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resourcegroup1/providers/Microsoft.AppPlatform/spring/spring1/certificates/cert1\n```\n\n","properties":{"certificateContent":{"type":"string","description":"The content of uploaded certificate. Changing this forces a new resource to be created.\n"},"excludePrivateKey":{"type":"boolean","description":"Specifies whether the private key should be excluded from the Key Vault Certificate. Changing this forces a new resource to be created. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"keyVaultCertificateId":{"type":"string","description":"Specifies the ID of the Key Vault Certificate resource. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"Specifies the name of the Spring Cloud Certificate. Changing this forces a new resource to be created.\n"},"resourceGroupName":{"type":"string","description":"Specifies the name of the resource group in which to create the Spring Cloud Certificate. Changing this forces a new resource to be created.\n"},"serviceName":{"type":"string","description":"Specifies the name of the Spring Cloud Service resource. Changing this forces a new resource to be created.\n"},"thumbprint":{"type":"string","description":"The thumbprint of the Spring Cloud certificate.\n"}},"required":["name","resourceGroupName","serviceName","thumbprint"],"inputProperties":{"certificateContent":{"type":"string","description":"The content of uploaded certificate. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"excludePrivateKey":{"type":"boolean","description":"Specifies whether the private key should be excluded from the Key Vault Certificate. Changing this forces a new resource to be created. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n","willReplaceOnChanges":true},"keyVaultCertificateId":{"type":"string","description":"Specifies the ID of the Key Vault Certificate resource. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the Spring Cloud Certificate. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"Specifies the name of the resource group in which to create the Spring Cloud Certificate. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"serviceName":{"type":"string","description":"Specifies the name of the Spring Cloud Service resource. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["resourceGroupName","serviceName"],"stateInputs":{"description":"Input properties used for looking up and filtering SpringCloudCertificate resources.\n","properties":{"certificateContent":{"type":"string","description":"The content of uploaded certificate. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"excludePrivateKey":{"type":"boolean","description":"Specifies whether the private key should be excluded from the Key Vault Certificate. Changing this forces a new resource to be created. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n","willReplaceOnChanges":true},"keyVaultCertificateId":{"type":"string","description":"Specifies the ID of the Key Vault Certificate resource. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the Spring Cloud Certificate. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"Specifies the name of the resource group in which to create the Spring Cloud Certificate. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"serviceName":{"type":"string","description":"Specifies the name of the Spring Cloud Service resource. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"thumbprint":{"type":"string","description":"The thumbprint of the Spring Cloud certificate.\n"}},"type":"object"}},"azure:appplatform/springCloudConfigurationService:SpringCloudConfigurationService":{"description":"Manages a Spring Cloud Configuration Service.\n\n\u003e **Note:** This resource is applicable only for Spring Cloud Service with enterprise tier.\n\n!\u003e **Note:** Azure Spring Apps is now deprecated and will be retired on 2028-05-31 - as such the \u003cspan pulumi-lang-nodejs=\"`azure.appplatform.SpringCloudConfigurationService`\" pulumi-lang-dotnet=\"`azure.appplatform.SpringCloudConfigurationService`\" pulumi-lang-go=\"`appplatform.SpringCloudConfigurationService`\" pulumi-lang-python=\"`appplatform.SpringCloudConfigurationService`\" pulumi-lang-yaml=\"`azure.appplatform.SpringCloudConfigurationService`\" pulumi-lang-java=\"`azure.appplatform.SpringCloudConfigurationService`\"\u003e`azure.appplatform.SpringCloudConfigurationService`\u003c/span\u003e resource is deprecated and will be removed in a future major version of the AzureRM Provider. See https://aka.ms/asaretirement for more information.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example\",\n    location: \"West Europe\",\n});\nconst exampleSpringCloudService = new azure.appplatform.SpringCloudService(\"example\", {\n    name: \"example\",\n    location: example.location,\n    resourceGroupName: example.name,\n    skuName: \"E0\",\n});\nconst exampleSpringCloudConfigurationService = new azure.appplatform.SpringCloudConfigurationService(\"example\", {\n    name: \"default\",\n    springCloudServiceId: exampleSpringCloudService.id,\n    repositories: [{\n        name: \"fake\",\n        label: \"master\",\n        patterns: [\"app/dev\"],\n        uri: \"https://github.com/Azure-Samples/piggymetrics\",\n        searchPaths: [\n            \"dir1\",\n            \"dir2\",\n        ],\n        strictHostKeyChecking: false,\n        username: \"adminuser\",\n        password: \"H@Sh1CoR3!\",\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example\",\n    location=\"West Europe\")\nexample_spring_cloud_service = azure.appplatform.SpringCloudService(\"example\",\n    name=\"example\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku_name=\"E0\")\nexample_spring_cloud_configuration_service = azure.appplatform.SpringCloudConfigurationService(\"example\",\n    name=\"default\",\n    spring_cloud_service_id=example_spring_cloud_service.id,\n    repositories=[{\n        \"name\": \"fake\",\n        \"label\": \"master\",\n        \"patterns\": [\"app/dev\"],\n        \"uri\": \"https://github.com/Azure-Samples/piggymetrics\",\n        \"search_paths\": [\n            \"dir1\",\n            \"dir2\",\n        ],\n        \"strict_host_key_checking\": False,\n        \"username\": \"adminuser\",\n        \"password\": \"H@Sh1CoR3!\",\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example\",\n        Location = \"West Europe\",\n    });\n\n    var exampleSpringCloudService = new Azure.AppPlatform.SpringCloudService(\"example\", new()\n    {\n        Name = \"example\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        SkuName = \"E0\",\n    });\n\n    var exampleSpringCloudConfigurationService = new Azure.AppPlatform.SpringCloudConfigurationService(\"example\", new()\n    {\n        Name = \"default\",\n        SpringCloudServiceId = exampleSpringCloudService.Id,\n        Repositories = new[]\n        {\n            new Azure.AppPlatform.Inputs.SpringCloudConfigurationServiceRepositoryArgs\n            {\n                Name = \"fake\",\n                Label = \"master\",\n                Patterns = new[]\n                {\n                    \"app/dev\",\n                },\n                Uri = \"https://github.com/Azure-Samples/piggymetrics\",\n                SearchPaths = new[]\n                {\n                    \"dir1\",\n                    \"dir2\",\n                },\n                StrictHostKeyChecking = false,\n                Username = \"adminuser\",\n                Password = \"H@Sh1CoR3!\",\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/appplatform\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSpringCloudService, err := appplatform.NewSpringCloudService(ctx, \"example\", \u0026appplatform.SpringCloudServiceArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSkuName:           pulumi.String(\"E0\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = appplatform.NewSpringCloudConfigurationService(ctx, \"example\", \u0026appplatform.SpringCloudConfigurationServiceArgs{\n\t\t\tName:                 pulumi.String(\"default\"),\n\t\t\tSpringCloudServiceId: exampleSpringCloudService.ID(),\n\t\t\tRepositories: appplatform.SpringCloudConfigurationServiceRepositoryArray{\n\t\t\t\t\u0026appplatform.SpringCloudConfigurationServiceRepositoryArgs{\n\t\t\t\t\tName:  pulumi.String(\"fake\"),\n\t\t\t\t\tLabel: pulumi.String(\"master\"),\n\t\t\t\t\tPatterns: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"app/dev\"),\n\t\t\t\t\t},\n\t\t\t\t\tUri: pulumi.String(\"https://github.com/Azure-Samples/piggymetrics\"),\n\t\t\t\t\tSearchPaths: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"dir1\"),\n\t\t\t\t\t\tpulumi.String(\"dir2\"),\n\t\t\t\t\t},\n\t\t\t\t\tStrictHostKeyChecking: pulumi.Bool(false),\n\t\t\t\t\tUsername:              pulumi.String(\"adminuser\"),\n\t\t\t\t\tPassword:              pulumi.String(\"H@Sh1CoR3!\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.appplatform.SpringCloudService;\nimport com.pulumi.azure.appplatform.SpringCloudServiceArgs;\nimport com.pulumi.azure.appplatform.SpringCloudConfigurationService;\nimport com.pulumi.azure.appplatform.SpringCloudConfigurationServiceArgs;\nimport com.pulumi.azure.appplatform.inputs.SpringCloudConfigurationServiceRepositoryArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleSpringCloudService = new SpringCloudService(\"exampleSpringCloudService\", SpringCloudServiceArgs.builder()\n            .name(\"example\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .skuName(\"E0\")\n            .build());\n\n        var exampleSpringCloudConfigurationService = new SpringCloudConfigurationService(\"exampleSpringCloudConfigurationService\", SpringCloudConfigurationServiceArgs.builder()\n            .name(\"default\")\n            .springCloudServiceId(exampleSpringCloudService.id())\n            .repositories(SpringCloudConfigurationServiceRepositoryArgs.builder()\n                .name(\"fake\")\n                .label(\"master\")\n                .patterns(\"app/dev\")\n                .uri(\"https://github.com/Azure-Samples/piggymetrics\")\n                .searchPaths(                \n                    \"dir1\",\n                    \"dir2\")\n                .strictHostKeyChecking(false)\n                .username(\"adminuser\")\n                .password(\"H@Sh1CoR3!\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example\n      location: West Europe\n  exampleSpringCloudService:\n    type: azure:appplatform:SpringCloudService\n    name: example\n    properties:\n      name: example\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      skuName: E0\n  exampleSpringCloudConfigurationService:\n    type: azure:appplatform:SpringCloudConfigurationService\n    name: example\n    properties:\n      name: default\n      springCloudServiceId: ${exampleSpringCloudService.id}\n      repositories:\n        - name: fake\n          label: master\n          patterns:\n            - app/dev\n          uri: https://github.com/Azure-Samples/piggymetrics\n          searchPaths:\n            - dir1\n            - dir2\n          strictHostKeyChecking: false\n          username: adminuser\n          password: H@Sh1CoR3!\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.AppPlatform` - 2024-01-01-preview\n\n## Import\n\nSpring Cloud Configuration Services can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:appplatform/springCloudConfigurationService:SpringCloudConfigurationService example /subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/resourceGroup1/providers/Microsoft.AppPlatform/spring/service1/configurationServices/configurationService1\n```\n\n","properties":{"generation":{"type":"string","description":"The generation of the Spring Cloud Configuration Service. Possible values are `Gen1` and `Gen2`.\n"},"name":{"type":"string","description":"The name which should be used for this Spring Cloud Configuration Service. The only possible value is \u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\"\u003e`default`\u003c/span\u003e. Changing this forces a new Spring Cloud Configuration Service to be created.\n"},"refreshIntervalInSeconds":{"type":"integer","description":"Specifies how often to check repository updates. Minimum value is 0.\n"},"repositories":{"type":"array","items":{"$ref":"#/types/azure:appplatform/SpringCloudConfigurationServiceRepository:SpringCloudConfigurationServiceRepository"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`repository`\" pulumi-lang-dotnet=\"`Repository`\" pulumi-lang-go=\"`repository`\" pulumi-lang-python=\"`repository`\" pulumi-lang-yaml=\"`repository`\" pulumi-lang-java=\"`repository`\"\u003e`repository`\u003c/span\u003e blocks as defined below.\n"},"springCloudServiceId":{"type":"string","description":"The ID of the Spring Cloud Service. Changing this forces a new Spring Cloud Configuration Service to be created.\n"}},"required":["name","springCloudServiceId"],"inputProperties":{"generation":{"type":"string","description":"The generation of the Spring Cloud Configuration Service. Possible values are `Gen1` and `Gen2`.\n"},"name":{"type":"string","description":"The name which should be used for this Spring Cloud Configuration Service. The only possible value is \u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\"\u003e`default`\u003c/span\u003e. Changing this forces a new Spring Cloud Configuration Service to be created.\n","willReplaceOnChanges":true},"refreshIntervalInSeconds":{"type":"integer","description":"Specifies how often to check repository updates. Minimum value is 0.\n"},"repositories":{"type":"array","items":{"$ref":"#/types/azure:appplatform/SpringCloudConfigurationServiceRepository:SpringCloudConfigurationServiceRepository"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`repository`\" pulumi-lang-dotnet=\"`Repository`\" pulumi-lang-go=\"`repository`\" pulumi-lang-python=\"`repository`\" pulumi-lang-yaml=\"`repository`\" pulumi-lang-java=\"`repository`\"\u003e`repository`\u003c/span\u003e blocks as defined below.\n"},"springCloudServiceId":{"type":"string","description":"The ID of the Spring Cloud Service. Changing this forces a new Spring Cloud Configuration Service to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["springCloudServiceId"],"stateInputs":{"description":"Input properties used for looking up and filtering SpringCloudConfigurationService resources.\n","properties":{"generation":{"type":"string","description":"The generation of the Spring Cloud Configuration Service. Possible values are `Gen1` and `Gen2`.\n"},"name":{"type":"string","description":"The name which should be used for this Spring Cloud Configuration Service. The only possible value is \u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\"\u003e`default`\u003c/span\u003e. Changing this forces a new Spring Cloud Configuration Service to be created.\n","willReplaceOnChanges":true},"refreshIntervalInSeconds":{"type":"integer","description":"Specifies how often to check repository updates. Minimum value is 0.\n"},"repositories":{"type":"array","items":{"$ref":"#/types/azure:appplatform/SpringCloudConfigurationServiceRepository:SpringCloudConfigurationServiceRepository"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`repository`\" pulumi-lang-dotnet=\"`Repository`\" pulumi-lang-go=\"`repository`\" pulumi-lang-python=\"`repository`\" pulumi-lang-yaml=\"`repository`\" pulumi-lang-java=\"`repository`\"\u003e`repository`\u003c/span\u003e blocks as defined below.\n"},"springCloudServiceId":{"type":"string","description":"The ID of the Spring Cloud Service. Changing this forces a new Spring Cloud Configuration Service to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:appplatform/springCloudConnection:SpringCloudConnection":{"description":"Manages a service connector for spring cloud app.\n\n!\u003e **Note:** Azure Spring Apps is now deprecated and will be retired on 2028-05-31 - as such the \u003cspan pulumi-lang-nodejs=\"`azure.appplatform.SpringCloudConnection`\" pulumi-lang-dotnet=\"`azure.appplatform.SpringCloudConnection`\" pulumi-lang-go=\"`appplatform.SpringCloudConnection`\" pulumi-lang-python=\"`appplatform.SpringCloudConnection`\" pulumi-lang-yaml=\"`azure.appplatform.SpringCloudConnection`\" pulumi-lang-java=\"`azure.appplatform.SpringCloudConnection`\"\u003e`azure.appplatform.SpringCloudConnection`\u003c/span\u003e resource is deprecated and will be removed in a future major version of the AzureRM Provider. See https://aka.ms/asaretirement for more information.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleAccount = new azure.cosmosdb.Account(\"example\", {\n    name: \"example-cosmosdb-account\",\n    location: example.location,\n    resourceGroupName: example.name,\n    offerType: \"Standard\",\n    kind: \"GlobalDocumentDB\",\n    consistencyPolicy: {\n        consistencyLevel: \"BoundedStaleness\",\n        maxIntervalInSeconds: 10,\n        maxStalenessPrefix: 200,\n    },\n    geoLocations: [{\n        location: example.location,\n        failoverPriority: 0,\n    }],\n});\nconst exampleSqlDatabase = new azure.cosmosdb.SqlDatabase(\"example\", {\n    name: \"cosmos-sql-db\",\n    resourceGroupName: exampleAccount.resourceGroupName,\n    accountName: exampleAccount.name,\n    throughput: 400,\n});\nconst exampleSqlContainer = new azure.cosmosdb.SqlContainer(\"example\", {\n    name: \"example-container\",\n    resourceGroupName: exampleAccount.resourceGroupName,\n    accountName: exampleAccount.name,\n    databaseName: exampleSqlDatabase.name,\n    partitionKeyPath: \"/definition\",\n});\nconst exampleSpringCloudService = new azure.appplatform.SpringCloudService(\"example\", {\n    name: \"examplespringcloud\",\n    resourceGroupName: example.name,\n    location: example.location,\n});\nconst exampleSpringCloudApp = new azure.appplatform.SpringCloudApp(\"example\", {\n    name: \"examplespringcloudapp\",\n    resourceGroupName: example.name,\n    serviceName: exampleSpringCloudService.name,\n    identity: {\n        type: \"SystemAssigned\",\n    },\n});\nconst exampleSpringCloudJavaDeployment = new azure.appplatform.SpringCloudJavaDeployment(\"example\", {\n    name: \"exampledeployment\",\n    springCloudAppId: exampleSpringCloudApp.id,\n});\nconst exampleSpringCloudConnection = new azure.appplatform.SpringCloudConnection(\"example\", {\n    name: \"example-serviceconnector\",\n    springCloudId: exampleSpringCloudJavaDeployment.id,\n    targetResourceId: exampleSqlDatabase.id,\n    authentication: {\n        type: \"systemAssignedIdentity\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_account = azure.cosmosdb.Account(\"example\",\n    name=\"example-cosmosdb-account\",\n    location=example.location,\n    resource_group_name=example.name,\n    offer_type=\"Standard\",\n    kind=\"GlobalDocumentDB\",\n    consistency_policy={\n        \"consistency_level\": \"BoundedStaleness\",\n        \"max_interval_in_seconds\": 10,\n        \"max_staleness_prefix\": 200,\n    },\n    geo_locations=[{\n        \"location\": example.location,\n        \"failover_priority\": 0,\n    }])\nexample_sql_database = azure.cosmosdb.SqlDatabase(\"example\",\n    name=\"cosmos-sql-db\",\n    resource_group_name=example_account.resource_group_name,\n    account_name=example_account.name,\n    throughput=400)\nexample_sql_container = azure.cosmosdb.SqlContainer(\"example\",\n    name=\"example-container\",\n    resource_group_name=example_account.resource_group_name,\n    account_name=example_account.name,\n    database_name=example_sql_database.name,\n    partition_key_path=\"/definition\")\nexample_spring_cloud_service = azure.appplatform.SpringCloudService(\"example\",\n    name=\"examplespringcloud\",\n    resource_group_name=example.name,\n    location=example.location)\nexample_spring_cloud_app = azure.appplatform.SpringCloudApp(\"example\",\n    name=\"examplespringcloudapp\",\n    resource_group_name=example.name,\n    service_name=example_spring_cloud_service.name,\n    identity={\n        \"type\": \"SystemAssigned\",\n    })\nexample_spring_cloud_java_deployment = azure.appplatform.SpringCloudJavaDeployment(\"example\",\n    name=\"exampledeployment\",\n    spring_cloud_app_id=example_spring_cloud_app.id)\nexample_spring_cloud_connection = azure.appplatform.SpringCloudConnection(\"example\",\n    name=\"example-serviceconnector\",\n    spring_cloud_id=example_spring_cloud_java_deployment.id,\n    target_resource_id=example_sql_database.id,\n    authentication={\n        \"type\": \"systemAssignedIdentity\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleAccount = new Azure.CosmosDB.Account(\"example\", new()\n    {\n        Name = \"example-cosmosdb-account\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        OfferType = \"Standard\",\n        Kind = \"GlobalDocumentDB\",\n        ConsistencyPolicy = new Azure.CosmosDB.Inputs.AccountConsistencyPolicyArgs\n        {\n            ConsistencyLevel = \"BoundedStaleness\",\n            MaxIntervalInSeconds = 10,\n            MaxStalenessPrefix = 200,\n        },\n        GeoLocations = new[]\n        {\n            new Azure.CosmosDB.Inputs.AccountGeoLocationArgs\n            {\n                Location = example.Location,\n                FailoverPriority = 0,\n            },\n        },\n    });\n\n    var exampleSqlDatabase = new Azure.CosmosDB.SqlDatabase(\"example\", new()\n    {\n        Name = \"cosmos-sql-db\",\n        ResourceGroupName = exampleAccount.ResourceGroupName,\n        AccountName = exampleAccount.Name,\n        Throughput = 400,\n    });\n\n    var exampleSqlContainer = new Azure.CosmosDB.SqlContainer(\"example\", new()\n    {\n        Name = \"example-container\",\n        ResourceGroupName = exampleAccount.ResourceGroupName,\n        AccountName = exampleAccount.Name,\n        DatabaseName = exampleSqlDatabase.Name,\n        PartitionKeyPath = \"/definition\",\n    });\n\n    var exampleSpringCloudService = new Azure.AppPlatform.SpringCloudService(\"example\", new()\n    {\n        Name = \"examplespringcloud\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n    });\n\n    var exampleSpringCloudApp = new Azure.AppPlatform.SpringCloudApp(\"example\", new()\n    {\n        Name = \"examplespringcloudapp\",\n        ResourceGroupName = example.Name,\n        ServiceName = exampleSpringCloudService.Name,\n        Identity = new Azure.AppPlatform.Inputs.SpringCloudAppIdentityArgs\n        {\n            Type = \"SystemAssigned\",\n        },\n    });\n\n    var exampleSpringCloudJavaDeployment = new Azure.AppPlatform.SpringCloudJavaDeployment(\"example\", new()\n    {\n        Name = \"exampledeployment\",\n        SpringCloudAppId = exampleSpringCloudApp.Id,\n    });\n\n    var exampleSpringCloudConnection = new Azure.AppPlatform.SpringCloudConnection(\"example\", new()\n    {\n        Name = \"example-serviceconnector\",\n        SpringCloudId = exampleSpringCloudJavaDeployment.Id,\n        TargetResourceId = exampleSqlDatabase.Id,\n        Authentication = new Azure.AppPlatform.Inputs.SpringCloudConnectionAuthenticationArgs\n        {\n            Type = \"systemAssignedIdentity\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/appplatform\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/cosmosdb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := cosmosdb.NewAccount(ctx, \"example\", \u0026cosmosdb.AccountArgs{\n\t\t\tName:              pulumi.String(\"example-cosmosdb-account\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tOfferType:         pulumi.String(\"Standard\"),\n\t\t\tKind:              pulumi.String(\"GlobalDocumentDB\"),\n\t\t\tConsistencyPolicy: \u0026cosmosdb.AccountConsistencyPolicyArgs{\n\t\t\t\tConsistencyLevel:     pulumi.String(\"BoundedStaleness\"),\n\t\t\t\tMaxIntervalInSeconds: pulumi.Int(10),\n\t\t\t\tMaxStalenessPrefix:   pulumi.Int(200),\n\t\t\t},\n\t\t\tGeoLocations: cosmosdb.AccountGeoLocationArray{\n\t\t\t\t\u0026cosmosdb.AccountGeoLocationArgs{\n\t\t\t\t\tLocation:         example.Location,\n\t\t\t\t\tFailoverPriority: pulumi.Int(0),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSqlDatabase, err := cosmosdb.NewSqlDatabase(ctx, \"example\", \u0026cosmosdb.SqlDatabaseArgs{\n\t\t\tName:              pulumi.String(\"cosmos-sql-db\"),\n\t\t\tResourceGroupName: exampleAccount.ResourceGroupName,\n\t\t\tAccountName:       exampleAccount.Name,\n\t\t\tThroughput:        pulumi.Int(400),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cosmosdb.NewSqlContainer(ctx, \"example\", \u0026cosmosdb.SqlContainerArgs{\n\t\t\tName:              pulumi.String(\"example-container\"),\n\t\t\tResourceGroupName: exampleAccount.ResourceGroupName,\n\t\t\tAccountName:       exampleAccount.Name,\n\t\t\tDatabaseName:      exampleSqlDatabase.Name,\n\t\t\tPartitionKeyPath:  \"/definition\",\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSpringCloudService, err := appplatform.NewSpringCloudService(ctx, \"example\", \u0026appplatform.SpringCloudServiceArgs{\n\t\t\tName:              pulumi.String(\"examplespringcloud\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSpringCloudApp, err := appplatform.NewSpringCloudApp(ctx, \"example\", \u0026appplatform.SpringCloudAppArgs{\n\t\t\tName:              pulumi.String(\"examplespringcloudapp\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tServiceName:       exampleSpringCloudService.Name,\n\t\t\tIdentity: \u0026appplatform.SpringCloudAppIdentityArgs{\n\t\t\t\tType: pulumi.String(\"SystemAssigned\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSpringCloudJavaDeployment, err := appplatform.NewSpringCloudJavaDeployment(ctx, \"example\", \u0026appplatform.SpringCloudJavaDeploymentArgs{\n\t\t\tName:             pulumi.String(\"exampledeployment\"),\n\t\t\tSpringCloudAppId: exampleSpringCloudApp.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = appplatform.NewSpringCloudConnection(ctx, \"example\", \u0026appplatform.SpringCloudConnectionArgs{\n\t\t\tName:             pulumi.String(\"example-serviceconnector\"),\n\t\t\tSpringCloudId:    exampleSpringCloudJavaDeployment.ID(),\n\t\t\tTargetResourceId: exampleSqlDatabase.ID(),\n\t\t\tAuthentication: \u0026appplatform.SpringCloudConnectionAuthenticationArgs{\n\t\t\t\tType: pulumi.String(\"systemAssignedIdentity\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.cosmosdb.Account;\nimport com.pulumi.azure.cosmosdb.AccountArgs;\nimport com.pulumi.azure.cosmosdb.inputs.AccountConsistencyPolicyArgs;\nimport com.pulumi.azure.cosmosdb.inputs.AccountGeoLocationArgs;\nimport com.pulumi.azure.cosmosdb.SqlDatabase;\nimport com.pulumi.azure.cosmosdb.SqlDatabaseArgs;\nimport com.pulumi.azure.cosmosdb.SqlContainer;\nimport com.pulumi.azure.cosmosdb.SqlContainerArgs;\nimport com.pulumi.azure.appplatform.SpringCloudService;\nimport com.pulumi.azure.appplatform.SpringCloudServiceArgs;\nimport com.pulumi.azure.appplatform.SpringCloudApp;\nimport com.pulumi.azure.appplatform.SpringCloudAppArgs;\nimport com.pulumi.azure.appplatform.inputs.SpringCloudAppIdentityArgs;\nimport com.pulumi.azure.appplatform.SpringCloudJavaDeployment;\nimport com.pulumi.azure.appplatform.SpringCloudJavaDeploymentArgs;\nimport com.pulumi.azure.appplatform.SpringCloudConnection;\nimport com.pulumi.azure.appplatform.SpringCloudConnectionArgs;\nimport com.pulumi.azure.appplatform.inputs.SpringCloudConnectionAuthenticationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"example-cosmosdb-account\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .offerType(\"Standard\")\n            .kind(\"GlobalDocumentDB\")\n            .consistencyPolicy(AccountConsistencyPolicyArgs.builder()\n                .consistencyLevel(\"BoundedStaleness\")\n                .maxIntervalInSeconds(10)\n                .maxStalenessPrefix(200)\n                .build())\n            .geoLocations(AccountGeoLocationArgs.builder()\n                .location(example.location())\n                .failoverPriority(0)\n                .build())\n            .build());\n\n        var exampleSqlDatabase = new SqlDatabase(\"exampleSqlDatabase\", SqlDatabaseArgs.builder()\n            .name(\"cosmos-sql-db\")\n            .resourceGroupName(exampleAccount.resourceGroupName())\n            .accountName(exampleAccount.name())\n            .throughput(400)\n            .build());\n\n        var exampleSqlContainer = new SqlContainer(\"exampleSqlContainer\", SqlContainerArgs.builder()\n            .name(\"example-container\")\n            .resourceGroupName(exampleAccount.resourceGroupName())\n            .accountName(exampleAccount.name())\n            .databaseName(exampleSqlDatabase.name())\n            .partitionKeyPath(\"/definition\")\n            .build());\n\n        var exampleSpringCloudService = new SpringCloudService(\"exampleSpringCloudService\", SpringCloudServiceArgs.builder()\n            .name(\"examplespringcloud\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .build());\n\n        var exampleSpringCloudApp = new SpringCloudApp(\"exampleSpringCloudApp\", SpringCloudAppArgs.builder()\n            .name(\"examplespringcloudapp\")\n            .resourceGroupName(example.name())\n            .serviceName(exampleSpringCloudService.name())\n            .identity(SpringCloudAppIdentityArgs.builder()\n                .type(\"SystemAssigned\")\n                .build())\n            .build());\n\n        var exampleSpringCloudJavaDeployment = new SpringCloudJavaDeployment(\"exampleSpringCloudJavaDeployment\", SpringCloudJavaDeploymentArgs.builder()\n            .name(\"exampledeployment\")\n            .springCloudAppId(exampleSpringCloudApp.id())\n            .build());\n\n        var exampleSpringCloudConnection = new SpringCloudConnection(\"exampleSpringCloudConnection\", SpringCloudConnectionArgs.builder()\n            .name(\"example-serviceconnector\")\n            .springCloudId(exampleSpringCloudJavaDeployment.id())\n            .targetResourceId(exampleSqlDatabase.id())\n            .authentication(SpringCloudConnectionAuthenticationArgs.builder()\n                .type(\"systemAssignedIdentity\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleAccount:\n    type: azure:cosmosdb:Account\n    name: example\n    properties:\n      name: example-cosmosdb-account\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      offerType: Standard\n      kind: GlobalDocumentDB\n      consistencyPolicy:\n        consistencyLevel: BoundedStaleness\n        maxIntervalInSeconds: 10\n        maxStalenessPrefix: 200\n      geoLocations:\n        - location: ${example.location}\n          failoverPriority: 0\n  exampleSqlDatabase:\n    type: azure:cosmosdb:SqlDatabase\n    name: example\n    properties:\n      name: cosmos-sql-db\n      resourceGroupName: ${exampleAccount.resourceGroupName}\n      accountName: ${exampleAccount.name}\n      throughput: 400\n  exampleSqlContainer:\n    type: azure:cosmosdb:SqlContainer\n    name: example\n    properties:\n      name: example-container\n      resourceGroupName: ${exampleAccount.resourceGroupName}\n      accountName: ${exampleAccount.name}\n      databaseName: ${exampleSqlDatabase.name}\n      partitionKeyPath: /definition\n  exampleSpringCloudService:\n    type: azure:appplatform:SpringCloudService\n    name: example\n    properties:\n      name: examplespringcloud\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n  exampleSpringCloudApp:\n    type: azure:appplatform:SpringCloudApp\n    name: example\n    properties:\n      name: examplespringcloudapp\n      resourceGroupName: ${example.name}\n      serviceName: ${exampleSpringCloudService.name}\n      identity:\n        type: SystemAssigned\n  exampleSpringCloudJavaDeployment:\n    type: azure:appplatform:SpringCloudJavaDeployment\n    name: example\n    properties:\n      name: exampledeployment\n      springCloudAppId: ${exampleSpringCloudApp.id}\n  exampleSpringCloudConnection:\n    type: azure:appplatform:SpringCloudConnection\n    name: example\n    properties:\n      name: example-serviceconnector\n      springCloudId: ${exampleSpringCloudJavaDeployment.id}\n      targetResourceId: ${exampleSqlDatabase.id}\n      authentication:\n        type: systemAssignedIdentity\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.ServiceLinker` - 2024-04-01, 2022-05-01\n\n## Import\n\nService Connector for spring cloud can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:appplatform/springCloudConnection:SpringCloudConnection example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.AppPlatform/Spring/springcloud/apps/springcloudapp/deployments/deployment/providers/Microsoft.ServiceLinker/linkers/serviceconnector1\n```\n\n","properties":{"authentication":{"$ref":"#/types/azure:appplatform/SpringCloudConnectionAuthentication:SpringCloudConnectionAuthentication","description":"The authentication info. An \u003cspan pulumi-lang-nodejs=\"`authentication`\" pulumi-lang-dotnet=\"`Authentication`\" pulumi-lang-go=\"`authentication`\" pulumi-lang-python=\"`authentication`\" pulumi-lang-yaml=\"`authentication`\" pulumi-lang-java=\"`authentication`\"\u003e`authentication`\u003c/span\u003e block as defined below.\n"},"clientType":{"type":"string"},"name":{"type":"string","description":"The name of the service connection. Changing this forces a new resource to be created.\n"},"secretStore":{"$ref":"#/types/azure:appplatform/SpringCloudConnectionSecretStore:SpringCloudConnectionSecretStore"},"springCloudId":{"type":"string","description":"The ID of the data source spring cloud. Changing this forces a new resource to be created.\n"},"targetResourceId":{"type":"string","description":"The ID of the target resource. Changing this forces a new resource to be created. Possible target resources are `Postgres`, `PostgresFlexible`, `Mysql`, `Sql`, `Redis`, `RedisEnterprise`, `CosmosCassandra`, `CosmosGremlin`, `CosmosMongo`, `CosmosSql`, `CosmosTable`, `StorageBlob`, `StorageQueue`, `StorageFile`, `StorageTable`, `AppConfig`, `EventHub`, `ServiceBus`, `SignalR`, `WebPubSub`, `ConfluentKafka`. The integration guide can be found [here](https://learn.microsoft.com/en-us/azure/service-connector/how-to-integrate-postgres).\n"},"vnetSolution":{"type":"string"}},"required":["authentication","name","springCloudId","targetResourceId"],"inputProperties":{"authentication":{"$ref":"#/types/azure:appplatform/SpringCloudConnectionAuthentication:SpringCloudConnectionAuthentication","description":"The authentication info. An \u003cspan pulumi-lang-nodejs=\"`authentication`\" pulumi-lang-dotnet=\"`Authentication`\" pulumi-lang-go=\"`authentication`\" pulumi-lang-python=\"`authentication`\" pulumi-lang-yaml=\"`authentication`\" pulumi-lang-java=\"`authentication`\"\u003e`authentication`\u003c/span\u003e block as defined below.\n"},"clientType":{"type":"string"},"name":{"type":"string","description":"The name of the service connection. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"secretStore":{"$ref":"#/types/azure:appplatform/SpringCloudConnectionSecretStore:SpringCloudConnectionSecretStore"},"springCloudId":{"type":"string","description":"The ID of the data source spring cloud. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"targetResourceId":{"type":"string","description":"The ID of the target resource. Changing this forces a new resource to be created. Possible target resources are `Postgres`, `PostgresFlexible`, `Mysql`, `Sql`, `Redis`, `RedisEnterprise`, `CosmosCassandra`, `CosmosGremlin`, `CosmosMongo`, `CosmosSql`, `CosmosTable`, `StorageBlob`, `StorageQueue`, `StorageFile`, `StorageTable`, `AppConfig`, `EventHub`, `ServiceBus`, `SignalR`, `WebPubSub`, `ConfluentKafka`. The integration guide can be found [here](https://learn.microsoft.com/en-us/azure/service-connector/how-to-integrate-postgres).\n","willReplaceOnChanges":true},"vnetSolution":{"type":"string"}},"requiredInputs":["authentication","springCloudId","targetResourceId"],"stateInputs":{"description":"Input properties used for looking up and filtering SpringCloudConnection resources.\n","properties":{"authentication":{"$ref":"#/types/azure:appplatform/SpringCloudConnectionAuthentication:SpringCloudConnectionAuthentication","description":"The authentication info. An \u003cspan pulumi-lang-nodejs=\"`authentication`\" pulumi-lang-dotnet=\"`Authentication`\" pulumi-lang-go=\"`authentication`\" pulumi-lang-python=\"`authentication`\" pulumi-lang-yaml=\"`authentication`\" pulumi-lang-java=\"`authentication`\"\u003e`authentication`\u003c/span\u003e block as defined below.\n"},"clientType":{"type":"string"},"name":{"type":"string","description":"The name of the service connection. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"secretStore":{"$ref":"#/types/azure:appplatform/SpringCloudConnectionSecretStore:SpringCloudConnectionSecretStore"},"springCloudId":{"type":"string","description":"The ID of the data source spring cloud. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"targetResourceId":{"type":"string","description":"The ID of the target resource. Changing this forces a new resource to be created. Possible target resources are `Postgres`, `PostgresFlexible`, `Mysql`, `Sql`, `Redis`, `RedisEnterprise`, `CosmosCassandra`, `CosmosGremlin`, `CosmosMongo`, `CosmosSql`, `CosmosTable`, `StorageBlob`, `StorageQueue`, `StorageFile`, `StorageTable`, `AppConfig`, `EventHub`, `ServiceBus`, `SignalR`, `WebPubSub`, `ConfluentKafka`. The integration guide can be found [here](https://learn.microsoft.com/en-us/azure/service-connector/how-to-integrate-postgres).\n","willReplaceOnChanges":true},"vnetSolution":{"type":"string"}},"type":"object"}},"azure:appplatform/springCloudContainerDeployment:SpringCloudContainerDeployment":{"description":"Manages a Spring Cloud Container Deployment.\n\n!\u003e **Note:** Azure Spring Apps is now deprecated and will be retired on 2028-05-31 - as such the \u003cspan pulumi-lang-nodejs=\"`azure.appplatform.SpringCloudContainerDeployment`\" pulumi-lang-dotnet=\"`azure.appplatform.SpringCloudContainerDeployment`\" pulumi-lang-go=\"`appplatform.SpringCloudContainerDeployment`\" pulumi-lang-python=\"`appplatform.SpringCloudContainerDeployment`\" pulumi-lang-yaml=\"`azure.appplatform.SpringCloudContainerDeployment`\" pulumi-lang-java=\"`azure.appplatform.SpringCloudContainerDeployment`\"\u003e`azure.appplatform.SpringCloudContainerDeployment`\u003c/span\u003e resource is deprecated and will be removed in a future major version of the AzureRM Provider. See https://aka.ms/asaretirement for more information.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example\",\n    location: \"West Europe\",\n});\nconst exampleSpringCloudService = new azure.appplatform.SpringCloudService(\"example\", {\n    name: \"example\",\n    location: example.location,\n    resourceGroupName: example.name,\n    skuName: \"E0\",\n});\nconst exampleSpringCloudApp = new azure.appplatform.SpringCloudApp(\"example\", {\n    name: \"example\",\n    resourceGroupName: exampleSpringCloudService.resourceGroupName,\n    serviceName: exampleSpringCloudService.name,\n});\nconst exampleSpringCloudContainerDeployment = new azure.appplatform.SpringCloudContainerDeployment(\"example\", {\n    name: \"example\",\n    springCloudAppId: exampleSpringCloudApp.id,\n    instanceCount: 2,\n    arguments: [\n        \"-cp\",\n        \"/app/resources:/app/classes:/app/libs/*\",\n        \"hello.Application\",\n    ],\n    commands: [\"java\"],\n    environmentVariables: {\n        Foo: \"Bar\",\n        Env: \"Staging\",\n    },\n    server: \"docker.io\",\n    image: \"springio/gs-spring-boot-docker\",\n    languageFramework: \"springboot\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example\",\n    location=\"West Europe\")\nexample_spring_cloud_service = azure.appplatform.SpringCloudService(\"example\",\n    name=\"example\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku_name=\"E0\")\nexample_spring_cloud_app = azure.appplatform.SpringCloudApp(\"example\",\n    name=\"example\",\n    resource_group_name=example_spring_cloud_service.resource_group_name,\n    service_name=example_spring_cloud_service.name)\nexample_spring_cloud_container_deployment = azure.appplatform.SpringCloudContainerDeployment(\"example\",\n    name=\"example\",\n    spring_cloud_app_id=example_spring_cloud_app.id,\n    instance_count=2,\n    arguments=[\n        \"-cp\",\n        \"/app/resources:/app/classes:/app/libs/*\",\n        \"hello.Application\",\n    ],\n    commands=[\"java\"],\n    environment_variables={\n        \"Foo\": \"Bar\",\n        \"Env\": \"Staging\",\n    },\n    server=\"docker.io\",\n    image=\"springio/gs-spring-boot-docker\",\n    language_framework=\"springboot\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example\",\n        Location = \"West Europe\",\n    });\n\n    var exampleSpringCloudService = new Azure.AppPlatform.SpringCloudService(\"example\", new()\n    {\n        Name = \"example\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        SkuName = \"E0\",\n    });\n\n    var exampleSpringCloudApp = new Azure.AppPlatform.SpringCloudApp(\"example\", new()\n    {\n        Name = \"example\",\n        ResourceGroupName = exampleSpringCloudService.ResourceGroupName,\n        ServiceName = exampleSpringCloudService.Name,\n    });\n\n    var exampleSpringCloudContainerDeployment = new Azure.AppPlatform.SpringCloudContainerDeployment(\"example\", new()\n    {\n        Name = \"example\",\n        SpringCloudAppId = exampleSpringCloudApp.Id,\n        InstanceCount = 2,\n        Arguments = new[]\n        {\n            \"-cp\",\n            \"/app/resources:/app/classes:/app/libs/*\",\n            \"hello.Application\",\n        },\n        Commands = new[]\n        {\n            \"java\",\n        },\n        EnvironmentVariables = \n        {\n            { \"Foo\", \"Bar\" },\n            { \"Env\", \"Staging\" },\n        },\n        Server = \"docker.io\",\n        Image = \"springio/gs-spring-boot-docker\",\n        LanguageFramework = \"springboot\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/appplatform\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSpringCloudService, err := appplatform.NewSpringCloudService(ctx, \"example\", \u0026appplatform.SpringCloudServiceArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSkuName:           pulumi.String(\"E0\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSpringCloudApp, err := appplatform.NewSpringCloudApp(ctx, \"example\", \u0026appplatform.SpringCloudAppArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tResourceGroupName: exampleSpringCloudService.ResourceGroupName,\n\t\t\tServiceName:       exampleSpringCloudService.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = appplatform.NewSpringCloudContainerDeployment(ctx, \"example\", \u0026appplatform.SpringCloudContainerDeploymentArgs{\n\t\t\tName:             pulumi.String(\"example\"),\n\t\t\tSpringCloudAppId: exampleSpringCloudApp.ID(),\n\t\t\tInstanceCount:    pulumi.Int(2),\n\t\t\tArguments: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"-cp\"),\n\t\t\t\tpulumi.String(\"/app/resources:/app/classes:/app/libs/*\"),\n\t\t\t\tpulumi.String(\"hello.Application\"),\n\t\t\t},\n\t\t\tCommands: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"java\"),\n\t\t\t},\n\t\t\tEnvironmentVariables: pulumi.StringMap{\n\t\t\t\t\"Foo\": pulumi.String(\"Bar\"),\n\t\t\t\t\"Env\": pulumi.String(\"Staging\"),\n\t\t\t},\n\t\t\tServer:            pulumi.String(\"docker.io\"),\n\t\t\tImage:             pulumi.String(\"springio/gs-spring-boot-docker\"),\n\t\t\tLanguageFramework: pulumi.String(\"springboot\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.appplatform.SpringCloudService;\nimport com.pulumi.azure.appplatform.SpringCloudServiceArgs;\nimport com.pulumi.azure.appplatform.SpringCloudApp;\nimport com.pulumi.azure.appplatform.SpringCloudAppArgs;\nimport com.pulumi.azure.appplatform.SpringCloudContainerDeployment;\nimport com.pulumi.azure.appplatform.SpringCloudContainerDeploymentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleSpringCloudService = new SpringCloudService(\"exampleSpringCloudService\", SpringCloudServiceArgs.builder()\n            .name(\"example\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .skuName(\"E0\")\n            .build());\n\n        var exampleSpringCloudApp = new SpringCloudApp(\"exampleSpringCloudApp\", SpringCloudAppArgs.builder()\n            .name(\"example\")\n            .resourceGroupName(exampleSpringCloudService.resourceGroupName())\n            .serviceName(exampleSpringCloudService.name())\n            .build());\n\n        var exampleSpringCloudContainerDeployment = new SpringCloudContainerDeployment(\"exampleSpringCloudContainerDeployment\", SpringCloudContainerDeploymentArgs.builder()\n            .name(\"example\")\n            .springCloudAppId(exampleSpringCloudApp.id())\n            .instanceCount(2)\n            .arguments(            \n                \"-cp\",\n                \"/app/resources:/app/classes:/app/libs/*\",\n                \"hello.Application\")\n            .commands(\"java\")\n            .environmentVariables(Map.ofEntries(\n                Map.entry(\"Foo\", \"Bar\"),\n                Map.entry(\"Env\", \"Staging\")\n            ))\n            .server(\"docker.io\")\n            .image(\"springio/gs-spring-boot-docker\")\n            .languageFramework(\"springboot\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example\n      location: West Europe\n  exampleSpringCloudService:\n    type: azure:appplatform:SpringCloudService\n    name: example\n    properties:\n      name: example\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      skuName: E0\n  exampleSpringCloudApp:\n    type: azure:appplatform:SpringCloudApp\n    name: example\n    properties:\n      name: example\n      resourceGroupName: ${exampleSpringCloudService.resourceGroupName}\n      serviceName: ${exampleSpringCloudService.name}\n  exampleSpringCloudContainerDeployment:\n    type: azure:appplatform:SpringCloudContainerDeployment\n    name: example\n    properties:\n      name: example\n      springCloudAppId: ${exampleSpringCloudApp.id}\n      instanceCount: 2\n      arguments:\n        - -cp\n        - /app/resources:/app/classes:/app/libs/*\n        - hello.Application\n      commands:\n        - java\n      environmentVariables:\n        Foo: Bar\n        Env: Staging\n      server: docker.io\n      image: springio/gs-spring-boot-docker\n      languageFramework: springboot\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nSpring Cloud Container Deployments can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:appplatform/springCloudContainerDeployment:SpringCloudContainerDeployment example /subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/resGroup1/providers/Microsoft.AppPlatform/spring/spring1/apps/app1/deployments/deploy1\n```\n\n","properties":{"addonJson":{"type":"string","description":"A JSON object that contains the addon configurations of the Spring Cloud Container Deployment.\n"},"applicationPerformanceMonitoringIds":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Spring Cloud Application Performance Monitoring IDs.\n"},"arguments":{"type":"array","items":{"type":"string"},"description":"Specifies the arguments to the entrypoint. The docker image's `CMD` is used if not specified.\n"},"commands":{"type":"array","items":{"type":"string"},"description":"Specifies the entrypoint array. It will not be executed within a shell. The docker image's `ENTRYPOINT` is used if not specified.\n"},"environmentVariables":{"type":"object","additionalProperties":{"type":"string"},"description":"Specifies the environment variables of the Spring Cloud Deployment as a map of key-value pairs.\n"},"image":{"type":"string","description":"Container image of the custom container. This should be in the form of `\u003crepository\u003e:\u003ctag\u003e` without the server name of the registry.\n"},"instanceCount":{"type":"integer","description":"Specifies the required instance count of the Spring Cloud Deployment. Possible Values are between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`500`\" pulumi-lang-dotnet=\"`500`\" pulumi-lang-go=\"`500`\" pulumi-lang-python=\"`500`\" pulumi-lang-yaml=\"`500`\" pulumi-lang-java=\"`500`\"\u003e`500`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e if not specified.\n"},"languageFramework":{"type":"string","description":"Specifies the language framework of the container image. The only possible value is \u003cspan pulumi-lang-nodejs=\"`springboot`\" pulumi-lang-dotnet=\"`Springboot`\" pulumi-lang-go=\"`springboot`\" pulumi-lang-python=\"`springboot`\" pulumi-lang-yaml=\"`springboot`\" pulumi-lang-java=\"`springboot`\"\u003e`springboot`\u003c/span\u003e.\n"},"name":{"type":"string","description":"The name which should be used for this Spring Cloud Container Deployment. Changing this forces a new Spring Cloud Container Deployment to be created.\n"},"quota":{"$ref":"#/types/azure:appplatform/SpringCloudContainerDeploymentQuota:SpringCloudContainerDeploymentQuota","description":"A \u003cspan pulumi-lang-nodejs=\"`quota`\" pulumi-lang-dotnet=\"`Quota`\" pulumi-lang-go=\"`quota`\" pulumi-lang-python=\"`quota`\" pulumi-lang-yaml=\"`quota`\" pulumi-lang-java=\"`quota`\"\u003e`quota`\u003c/span\u003e block as defined below.\n"},"server":{"type":"string","description":"The name of the registry that contains the container image.\n"},"springCloudAppId":{"type":"string","description":"The ID of the Spring Cloud Service. Changing this forces a new Spring Cloud Container Deployment to be created.\n"}},"required":["addonJson","image","name","quota","server","springCloudAppId"],"inputProperties":{"addonJson":{"type":"string","description":"A JSON object that contains the addon configurations of the Spring Cloud Container Deployment.\n"},"applicationPerformanceMonitoringIds":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Spring Cloud Application Performance Monitoring IDs.\n"},"arguments":{"type":"array","items":{"type":"string"},"description":"Specifies the arguments to the entrypoint. The docker image's `CMD` is used if not specified.\n"},"commands":{"type":"array","items":{"type":"string"},"description":"Specifies the entrypoint array. It will not be executed within a shell. The docker image's `ENTRYPOINT` is used if not specified.\n"},"environmentVariables":{"type":"object","additionalProperties":{"type":"string"},"description":"Specifies the environment variables of the Spring Cloud Deployment as a map of key-value pairs.\n"},"image":{"type":"string","description":"Container image of the custom container. This should be in the form of `\u003crepository\u003e:\u003ctag\u003e` without the server name of the registry.\n"},"instanceCount":{"type":"integer","description":"Specifies the required instance count of the Spring Cloud Deployment. Possible Values are between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`500`\" pulumi-lang-dotnet=\"`500`\" pulumi-lang-go=\"`500`\" pulumi-lang-python=\"`500`\" pulumi-lang-yaml=\"`500`\" pulumi-lang-java=\"`500`\"\u003e`500`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e if not specified.\n"},"languageFramework":{"type":"string","description":"Specifies the language framework of the container image. The only possible value is \u003cspan pulumi-lang-nodejs=\"`springboot`\" pulumi-lang-dotnet=\"`Springboot`\" pulumi-lang-go=\"`springboot`\" pulumi-lang-python=\"`springboot`\" pulumi-lang-yaml=\"`springboot`\" pulumi-lang-java=\"`springboot`\"\u003e`springboot`\u003c/span\u003e.\n"},"name":{"type":"string","description":"The name which should be used for this Spring Cloud Container Deployment. Changing this forces a new Spring Cloud Container Deployment to be created.\n","willReplaceOnChanges":true},"quota":{"$ref":"#/types/azure:appplatform/SpringCloudContainerDeploymentQuota:SpringCloudContainerDeploymentQuota","description":"A \u003cspan pulumi-lang-nodejs=\"`quota`\" pulumi-lang-dotnet=\"`Quota`\" pulumi-lang-go=\"`quota`\" pulumi-lang-python=\"`quota`\" pulumi-lang-yaml=\"`quota`\" pulumi-lang-java=\"`quota`\"\u003e`quota`\u003c/span\u003e block as defined below.\n"},"server":{"type":"string","description":"The name of the registry that contains the container image.\n"},"springCloudAppId":{"type":"string","description":"The ID of the Spring Cloud Service. Changing this forces a new Spring Cloud Container Deployment to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["image","server","springCloudAppId"],"stateInputs":{"description":"Input properties used for looking up and filtering SpringCloudContainerDeployment resources.\n","properties":{"addonJson":{"type":"string","description":"A JSON object that contains the addon configurations of the Spring Cloud Container Deployment.\n"},"applicationPerformanceMonitoringIds":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Spring Cloud Application Performance Monitoring IDs.\n"},"arguments":{"type":"array","items":{"type":"string"},"description":"Specifies the arguments to the entrypoint. The docker image's `CMD` is used if not specified.\n"},"commands":{"type":"array","items":{"type":"string"},"description":"Specifies the entrypoint array. It will not be executed within a shell. The docker image's `ENTRYPOINT` is used if not specified.\n"},"environmentVariables":{"type":"object","additionalProperties":{"type":"string"},"description":"Specifies the environment variables of the Spring Cloud Deployment as a map of key-value pairs.\n"},"image":{"type":"string","description":"Container image of the custom container. This should be in the form of `\u003crepository\u003e:\u003ctag\u003e` without the server name of the registry.\n"},"instanceCount":{"type":"integer","description":"Specifies the required instance count of the Spring Cloud Deployment. Possible Values are between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`500`\" pulumi-lang-dotnet=\"`500`\" pulumi-lang-go=\"`500`\" pulumi-lang-python=\"`500`\" pulumi-lang-yaml=\"`500`\" pulumi-lang-java=\"`500`\"\u003e`500`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e if not specified.\n"},"languageFramework":{"type":"string","description":"Specifies the language framework of the container image. The only possible value is \u003cspan pulumi-lang-nodejs=\"`springboot`\" pulumi-lang-dotnet=\"`Springboot`\" pulumi-lang-go=\"`springboot`\" pulumi-lang-python=\"`springboot`\" pulumi-lang-yaml=\"`springboot`\" pulumi-lang-java=\"`springboot`\"\u003e`springboot`\u003c/span\u003e.\n"},"name":{"type":"string","description":"The name which should be used for this Spring Cloud Container Deployment. Changing this forces a new Spring Cloud Container Deployment to be created.\n","willReplaceOnChanges":true},"quota":{"$ref":"#/types/azure:appplatform/SpringCloudContainerDeploymentQuota:SpringCloudContainerDeploymentQuota","description":"A \u003cspan pulumi-lang-nodejs=\"`quota`\" pulumi-lang-dotnet=\"`Quota`\" pulumi-lang-go=\"`quota`\" pulumi-lang-python=\"`quota`\" pulumi-lang-yaml=\"`quota`\" pulumi-lang-java=\"`quota`\"\u003e`quota`\u003c/span\u003e block as defined below.\n"},"server":{"type":"string","description":"The name of the registry that contains the container image.\n"},"springCloudAppId":{"type":"string","description":"The ID of the Spring Cloud Service. Changing this forces a new Spring Cloud Container Deployment to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:appplatform/springCloudCustomDomain:SpringCloudCustomDomain":{"description":"Manages an Azure Spring Cloud Custom Domain.\n\n!\u003e **Note:** Azure Spring Apps is now deprecated and will be retired on 2028-05-31 - as such the \u003cspan pulumi-lang-nodejs=\"`azure.appplatform.SpringCloudCustomDomain`\" pulumi-lang-dotnet=\"`azure.appplatform.SpringCloudCustomDomain`\" pulumi-lang-go=\"`appplatform.SpringCloudCustomDomain`\" pulumi-lang-python=\"`appplatform.SpringCloudCustomDomain`\" pulumi-lang-yaml=\"`azure.appplatform.SpringCloudCustomDomain`\" pulumi-lang-java=\"`azure.appplatform.SpringCloudCustomDomain`\"\u003e`azure.appplatform.SpringCloudCustomDomain`\u003c/span\u003e resource is deprecated and will be removed in a future major version of the AzureRM Provider. See https://aka.ms/asaretirement for more information.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\nimport * as std from \"@pulumi/std\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"example\", {\n    name: \"rg-example\",\n    location: \"West Europe\",\n});\nconst example = azure.dns.getZoneOutput({\n    name: \"mydomain.com\",\n    resourceGroupName: exampleResourceGroup.name,\n});\nconst exampleSpringCloudService = new azure.appplatform.SpringCloudService(\"example\", {\n    name: \"example-springcloud\",\n    resourceGroupName: exampleResourceGroup.name,\n    location: exampleResourceGroup.location,\n});\nconst exampleSpringCloudApp = new azure.appplatform.SpringCloudApp(\"example\", {\n    name: \"example-springcloudapp\",\n    resourceGroupName: exampleResourceGroup.name,\n    serviceName: exampleSpringCloudService.name,\n});\nconst exampleCNameRecord = new azure.dns.CNameRecord(\"example\", {\n    name: \"record1\",\n    zoneName: example.apply(example =\u003e example.name),\n    resourceGroupName: example.apply(example =\u003e example.resourceGroupName),\n    ttl: 300,\n    record: exampleSpringCloudApp.fqdn,\n});\nconst exampleSpringCloudCustomDomain = new azure.appplatform.SpringCloudCustomDomain(\"example\", {\n    name: std.joinOutput({\n        separator: \".\",\n        input: [\n            exampleCNameRecord.name,\n            exampleCNameRecord.zoneName,\n        ],\n    }).apply(invoke =\u003e invoke.result),\n    springCloudAppId: exampleSpringCloudApp.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\nimport pulumi_std as std\n\nexample_resource_group = azure.core.ResourceGroup(\"example\",\n    name=\"rg-example\",\n    location=\"West Europe\")\nexample = azure.dns.get_zone_output(name=\"mydomain.com\",\n    resource_group_name=example_resource_group.name)\nexample_spring_cloud_service = azure.appplatform.SpringCloudService(\"example\",\n    name=\"example-springcloud\",\n    resource_group_name=example_resource_group.name,\n    location=example_resource_group.location)\nexample_spring_cloud_app = azure.appplatform.SpringCloudApp(\"example\",\n    name=\"example-springcloudapp\",\n    resource_group_name=example_resource_group.name,\n    service_name=example_spring_cloud_service.name)\nexample_c_name_record = azure.dns.CNameRecord(\"example\",\n    name=\"record1\",\n    zone_name=example.name,\n    resource_group_name=example.resource_group_name,\n    ttl=300,\n    record=example_spring_cloud_app.fqdn)\nexample_spring_cloud_custom_domain = azure.appplatform.SpringCloudCustomDomain(\"example\",\n    name=std.join_output(separator=\".\",\n        input=[\n            example_c_name_record.name,\n            example_c_name_record.zone_name,\n        ]).apply(lambda invoke: invoke.result),\n    spring_cloud_app_id=example_spring_cloud_app.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleResourceGroup = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"rg-example\",\n        Location = \"West Europe\",\n    });\n\n    var example = Azure.Dns.GetZone.Invoke(new()\n    {\n        Name = \"mydomain.com\",\n        ResourceGroupName = exampleResourceGroup.Name,\n    });\n\n    var exampleSpringCloudService = new Azure.AppPlatform.SpringCloudService(\"example\", new()\n    {\n        Name = \"example-springcloud\",\n        ResourceGroupName = exampleResourceGroup.Name,\n        Location = exampleResourceGroup.Location,\n    });\n\n    var exampleSpringCloudApp = new Azure.AppPlatform.SpringCloudApp(\"example\", new()\n    {\n        Name = \"example-springcloudapp\",\n        ResourceGroupName = exampleResourceGroup.Name,\n        ServiceName = exampleSpringCloudService.Name,\n    });\n\n    var exampleCNameRecord = new Azure.Dns.CNameRecord(\"example\", new()\n    {\n        Name = \"record1\",\n        ZoneName = example.Apply(getZoneResult =\u003e getZoneResult.Name),\n        ResourceGroupName = example.Apply(getZoneResult =\u003e getZoneResult.ResourceGroupName),\n        Ttl = 300,\n        Record = exampleSpringCloudApp.Fqdn,\n    });\n\n    var exampleSpringCloudCustomDomain = new Azure.AppPlatform.SpringCloudCustomDomain(\"example\", new()\n    {\n        Name = Std.Join.Invoke(new()\n        {\n            Separator = \".\",\n            Input = new[]\n            {\n                exampleCNameRecord.Name,\n                exampleCNameRecord.ZoneName,\n            },\n        }).Apply(invoke =\u003e invoke.Result),\n        SpringCloudAppId = exampleSpringCloudApp.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/appplatform\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/dns\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"rg-example\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample := dns.LookupZoneOutput(ctx, dns.GetZoneOutputArgs{\n\t\t\tName:              pulumi.String(\"mydomain.com\"),\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t}, nil)\n\t\texampleSpringCloudService, err := appplatform.NewSpringCloudService(ctx, \"example\", \u0026appplatform.SpringCloudServiceArgs{\n\t\t\tName:              pulumi.String(\"example-springcloud\"),\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tLocation:          exampleResourceGroup.Location,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSpringCloudApp, err := appplatform.NewSpringCloudApp(ctx, \"example\", \u0026appplatform.SpringCloudAppArgs{\n\t\t\tName:              pulumi.String(\"example-springcloudapp\"),\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tServiceName:       exampleSpringCloudService.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleCNameRecord, err := dns.NewCNameRecord(ctx, \"example\", \u0026dns.CNameRecordArgs{\n\t\t\tName: pulumi.String(\"record1\"),\n\t\t\tZoneName: pulumi.String(example.ApplyT(func(example dns.GetZoneResult) (*string, error) {\n\t\t\t\treturn \u0026example.Name, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tResourceGroupName: pulumi.String(example.ApplyT(func(example dns.GetZoneResult) (*string, error) {\n\t\t\t\treturn \u0026example.ResourceGroupName, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tTtl:    pulumi.Int(300),\n\t\t\tRecord: exampleSpringCloudApp.Fqdn,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = appplatform.NewSpringCloudCustomDomain(ctx, \"example\", \u0026appplatform.SpringCloudCustomDomainArgs{\n\t\t\tName: pulumi.String(std.JoinOutput(ctx, std.JoinOutputArgs{\n\t\t\t\tSeparator: pulumi.String(\".\"),\n\t\t\t\tInput: pulumi.StringArray{\n\t\t\t\t\texampleCNameRecord.Name,\n\t\t\t\t\texampleCNameRecord.ZoneName,\n\t\t\t\t},\n\t\t\t}, nil).ApplyT(func(invoke std.JoinResult) (*string, error) {\n\t\t\t\treturn invoke.Result, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tSpringCloudAppId: exampleSpringCloudApp.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.dns.DnsFunctions;\nimport com.pulumi.azure.dns.inputs.GetZoneArgs;\nimport com.pulumi.azure.appplatform.SpringCloudService;\nimport com.pulumi.azure.appplatform.SpringCloudServiceArgs;\nimport com.pulumi.azure.appplatform.SpringCloudApp;\nimport com.pulumi.azure.appplatform.SpringCloudAppArgs;\nimport com.pulumi.azure.dns.CNameRecord;\nimport com.pulumi.azure.dns.CNameRecordArgs;\nimport com.pulumi.azure.appplatform.SpringCloudCustomDomain;\nimport com.pulumi.azure.appplatform.SpringCloudCustomDomainArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.JoinArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var exampleResourceGroup = new ResourceGroup(\"exampleResourceGroup\", ResourceGroupArgs.builder()\n            .name(\"rg-example\")\n            .location(\"West Europe\")\n            .build());\n\n        final var example = DnsFunctions.getZone(GetZoneArgs.builder()\n            .name(\"mydomain.com\")\n            .resourceGroupName(exampleResourceGroup.name())\n            .build());\n\n        var exampleSpringCloudService = new SpringCloudService(\"exampleSpringCloudService\", SpringCloudServiceArgs.builder()\n            .name(\"example-springcloud\")\n            .resourceGroupName(exampleResourceGroup.name())\n            .location(exampleResourceGroup.location())\n            .build());\n\n        var exampleSpringCloudApp = new SpringCloudApp(\"exampleSpringCloudApp\", SpringCloudAppArgs.builder()\n            .name(\"example-springcloudapp\")\n            .resourceGroupName(exampleResourceGroup.name())\n            .serviceName(exampleSpringCloudService.name())\n            .build());\n\n        var exampleCNameRecord = new CNameRecord(\"exampleCNameRecord\", CNameRecordArgs.builder()\n            .name(\"record1\")\n            .zoneName(example.applyValue(_example -\u003e _example.name()))\n            .resourceGroupName(example.applyValue(_example -\u003e _example.resourceGroupName()))\n            .ttl(300)\n            .record(exampleSpringCloudApp.fqdn())\n            .build());\n\n        var exampleSpringCloudCustomDomain = new SpringCloudCustomDomain(\"exampleSpringCloudCustomDomain\", SpringCloudCustomDomainArgs.builder()\n            .name(StdFunctions.join(JoinArgs.builder()\n                .separator(\".\")\n                .input(                \n                    exampleCNameRecord.name(),\n                    exampleCNameRecord.zoneName())\n                .build()).applyValue(_invoke -\u003e _invoke.result()))\n            .springCloudAppId(exampleSpringCloudApp.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleResourceGroup:\n    type: azure:core:ResourceGroup\n    name: example\n    properties:\n      name: rg-example\n      location: West Europe\n  exampleSpringCloudService:\n    type: azure:appplatform:SpringCloudService\n    name: example\n    properties:\n      name: example-springcloud\n      resourceGroupName: ${exampleResourceGroup.name}\n      location: ${exampleResourceGroup.location}\n  exampleSpringCloudApp:\n    type: azure:appplatform:SpringCloudApp\n    name: example\n    properties:\n      name: example-springcloudapp\n      resourceGroupName: ${exampleResourceGroup.name}\n      serviceName: ${exampleSpringCloudService.name}\n  exampleCNameRecord:\n    type: azure:dns:CNameRecord\n    name: example\n    properties:\n      name: record1\n      zoneName: ${example.name}\n      resourceGroupName: ${example.resourceGroupName}\n      ttl: 300\n      record: ${exampleSpringCloudApp.fqdn}\n  exampleSpringCloudCustomDomain:\n    type: azure:appplatform:SpringCloudCustomDomain\n    name: example\n    properties:\n      name:\n        fn::invoke:\n          function: std:join\n          arguments:\n            separator: .\n            input:\n              - ${exampleCNameRecord.name}\n              - ${exampleCNameRecord.zoneName}\n          return: result\n      springCloudAppId: ${exampleSpringCloudApp.id}\nvariables:\n  example:\n    fn::invoke:\n      function: azure:dns:getZone\n      arguments:\n        name: mydomain.com\n        resourceGroupName: ${exampleResourceGroup.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nSpring Cloud Custom Domain can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:appplatform/springCloudCustomDomain:SpringCloudCustomDomain example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resGroup1/providers/Microsoft.AppPlatform/spring/spring1/apps/app1/domains/domain.com\n```\n\n","properties":{"certificateName":{"type":"string","description":"Specifies the name of the Spring Cloud Certificate that binds to the Spring Cloud Custom Domain. Required when \u003cspan pulumi-lang-nodejs=\"`thumbprint`\" pulumi-lang-dotnet=\"`Thumbprint`\" pulumi-lang-go=\"`thumbprint`\" pulumi-lang-python=\"`thumbprint`\" pulumi-lang-yaml=\"`thumbprint`\" pulumi-lang-java=\"`thumbprint`\"\u003e`thumbprint`\u003c/span\u003e is specified\n"},"name":{"type":"string","description":"Specifies the name of the Spring Cloud Custom Domain. Changing this forces a new resource to be created.\n"},"springCloudAppId":{"type":"string","description":"Specifies the resource ID of the Spring Cloud Application. Changing this forces a new resource to be created.\n"},"thumbprint":{"type":"string","description":"Specifies the thumbprint of the Spring Cloud Certificate that binds to the Spring Cloud Custom Domain. Required when \u003cspan pulumi-lang-nodejs=\"`certificateName`\" pulumi-lang-dotnet=\"`CertificateName`\" pulumi-lang-go=\"`certificateName`\" pulumi-lang-python=\"`certificate_name`\" pulumi-lang-yaml=\"`certificateName`\" pulumi-lang-java=\"`certificateName`\"\u003e`certificate_name`\u003c/span\u003e is specified. Changing this forces a new resource to be created.\n"}},"required":["name","springCloudAppId"],"inputProperties":{"certificateName":{"type":"string","description":"Specifies the name of the Spring Cloud Certificate that binds to the Spring Cloud Custom Domain. Required when \u003cspan pulumi-lang-nodejs=\"`thumbprint`\" pulumi-lang-dotnet=\"`Thumbprint`\" pulumi-lang-go=\"`thumbprint`\" pulumi-lang-python=\"`thumbprint`\" pulumi-lang-yaml=\"`thumbprint`\" pulumi-lang-java=\"`thumbprint`\"\u003e`thumbprint`\u003c/span\u003e is specified\n"},"name":{"type":"string","description":"Specifies the name of the Spring Cloud Custom Domain. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"springCloudAppId":{"type":"string","description":"Specifies the resource ID of the Spring Cloud Application. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"thumbprint":{"type":"string","description":"Specifies the thumbprint of the Spring Cloud Certificate that binds to the Spring Cloud Custom Domain. Required when \u003cspan pulumi-lang-nodejs=\"`certificateName`\" pulumi-lang-dotnet=\"`CertificateName`\" pulumi-lang-go=\"`certificateName`\" pulumi-lang-python=\"`certificate_name`\" pulumi-lang-yaml=\"`certificateName`\" pulumi-lang-java=\"`certificateName`\"\u003e`certificate_name`\u003c/span\u003e is specified. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["springCloudAppId"],"stateInputs":{"description":"Input properties used for looking up and filtering SpringCloudCustomDomain resources.\n","properties":{"certificateName":{"type":"string","description":"Specifies the name of the Spring Cloud Certificate that binds to the Spring Cloud Custom Domain. Required when \u003cspan pulumi-lang-nodejs=\"`thumbprint`\" pulumi-lang-dotnet=\"`Thumbprint`\" pulumi-lang-go=\"`thumbprint`\" pulumi-lang-python=\"`thumbprint`\" pulumi-lang-yaml=\"`thumbprint`\" pulumi-lang-java=\"`thumbprint`\"\u003e`thumbprint`\u003c/span\u003e is specified\n"},"name":{"type":"string","description":"Specifies the name of the Spring Cloud Custom Domain. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"springCloudAppId":{"type":"string","description":"Specifies the resource ID of the Spring Cloud Application. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"thumbprint":{"type":"string","description":"Specifies the thumbprint of the Spring Cloud Certificate that binds to the Spring Cloud Custom Domain. Required when \u003cspan pulumi-lang-nodejs=\"`certificateName`\" pulumi-lang-dotnet=\"`CertificateName`\" pulumi-lang-go=\"`certificateName`\" pulumi-lang-python=\"`certificate_name`\" pulumi-lang-yaml=\"`certificateName`\" pulumi-lang-java=\"`certificateName`\"\u003e`certificate_name`\u003c/span\u003e is specified. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:appplatform/springCloudCustomizedAccelerator:SpringCloudCustomizedAccelerator":{"description":"Manages a Spring Cloud Customized Accelerator.\n\n!\u003e **Note:** Azure Spring Apps is now deprecated and will be retired on 2028-05-31 - as such the \u003cspan pulumi-lang-nodejs=\"`azure.appplatform.SpringCloudCustomizedAccelerator`\" pulumi-lang-dotnet=\"`azure.appplatform.SpringCloudCustomizedAccelerator`\" pulumi-lang-go=\"`appplatform.SpringCloudCustomizedAccelerator`\" pulumi-lang-python=\"`appplatform.SpringCloudCustomizedAccelerator`\" pulumi-lang-yaml=\"`azure.appplatform.SpringCloudCustomizedAccelerator`\" pulumi-lang-java=\"`azure.appplatform.SpringCloudCustomizedAccelerator`\"\u003e`azure.appplatform.SpringCloudCustomizedAccelerator`\u003c/span\u003e resource is deprecated and will be removed in a future major version of the AzureRM Provider. See https://aka.ms/asaretirement for more information.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"west europe\",\n});\nconst exampleSpringCloudService = new azure.appplatform.SpringCloudService(\"example\", {\n    name: \"example\",\n    location: example.location,\n    resourceGroupName: example.name,\n    skuName: \"E0\",\n});\nconst exampleSpringCloudAccelerator = new azure.appplatform.SpringCloudAccelerator(\"example\", {\n    name: \"default\",\n    springCloudServiceId: exampleSpringCloudService.id,\n});\nconst exampleSpringCloudCustomizedAccelerator = new azure.appplatform.SpringCloudCustomizedAccelerator(\"example\", {\n    name: \"example\",\n    springCloudAcceleratorId: exampleSpringCloudAccelerator.id,\n    gitRepository: {\n        url: \"https://github.com/Azure-Samples/piggymetrics\",\n        gitTag: \"spring.version.2.0.3\",\n        intervalInSeconds: 100,\n    },\n    acceleratorTags: [\n        \"tag-a\",\n        \"tag-b\",\n    ],\n    description: \"example description\",\n    displayName: \"example name\",\n    iconUrl: \"https://images.freecreatives.com/wp-content/uploads/2015/05/smiley-559124_640.jpg\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"west europe\")\nexample_spring_cloud_service = azure.appplatform.SpringCloudService(\"example\",\n    name=\"example\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku_name=\"E0\")\nexample_spring_cloud_accelerator = azure.appplatform.SpringCloudAccelerator(\"example\",\n    name=\"default\",\n    spring_cloud_service_id=example_spring_cloud_service.id)\nexample_spring_cloud_customized_accelerator = azure.appplatform.SpringCloudCustomizedAccelerator(\"example\",\n    name=\"example\",\n    spring_cloud_accelerator_id=example_spring_cloud_accelerator.id,\n    git_repository={\n        \"url\": \"https://github.com/Azure-Samples/piggymetrics\",\n        \"git_tag\": \"spring.version.2.0.3\",\n        \"interval_in_seconds\": 100,\n    },\n    accelerator_tags=[\n        \"tag-a\",\n        \"tag-b\",\n    ],\n    description=\"example description\",\n    display_name=\"example name\",\n    icon_url=\"https://images.freecreatives.com/wp-content/uploads/2015/05/smiley-559124_640.jpg\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"west europe\",\n    });\n\n    var exampleSpringCloudService = new Azure.AppPlatform.SpringCloudService(\"example\", new()\n    {\n        Name = \"example\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        SkuName = \"E0\",\n    });\n\n    var exampleSpringCloudAccelerator = new Azure.AppPlatform.SpringCloudAccelerator(\"example\", new()\n    {\n        Name = \"default\",\n        SpringCloudServiceId = exampleSpringCloudService.Id,\n    });\n\n    var exampleSpringCloudCustomizedAccelerator = new Azure.AppPlatform.SpringCloudCustomizedAccelerator(\"example\", new()\n    {\n        Name = \"example\",\n        SpringCloudAcceleratorId = exampleSpringCloudAccelerator.Id,\n        GitRepository = new Azure.AppPlatform.Inputs.SpringCloudCustomizedAcceleratorGitRepositoryArgs\n        {\n            Url = \"https://github.com/Azure-Samples/piggymetrics\",\n            GitTag = \"spring.version.2.0.3\",\n            IntervalInSeconds = 100,\n        },\n        AcceleratorTags = new[]\n        {\n            \"tag-a\",\n            \"tag-b\",\n        },\n        Description = \"example description\",\n        DisplayName = \"example name\",\n        IconUrl = \"https://images.freecreatives.com/wp-content/uploads/2015/05/smiley-559124_640.jpg\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/appplatform\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"west europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSpringCloudService, err := appplatform.NewSpringCloudService(ctx, \"example\", \u0026appplatform.SpringCloudServiceArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSkuName:           pulumi.String(\"E0\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSpringCloudAccelerator, err := appplatform.NewSpringCloudAccelerator(ctx, \"example\", \u0026appplatform.SpringCloudAcceleratorArgs{\n\t\t\tName:                 pulumi.String(\"default\"),\n\t\t\tSpringCloudServiceId: exampleSpringCloudService.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = appplatform.NewSpringCloudCustomizedAccelerator(ctx, \"example\", \u0026appplatform.SpringCloudCustomizedAcceleratorArgs{\n\t\t\tName:                     pulumi.String(\"example\"),\n\t\t\tSpringCloudAcceleratorId: exampleSpringCloudAccelerator.ID(),\n\t\t\tGitRepository: \u0026appplatform.SpringCloudCustomizedAcceleratorGitRepositoryArgs{\n\t\t\t\tUrl:               pulumi.String(\"https://github.com/Azure-Samples/piggymetrics\"),\n\t\t\t\tGitTag:            pulumi.String(\"spring.version.2.0.3\"),\n\t\t\t\tIntervalInSeconds: pulumi.Int(100),\n\t\t\t},\n\t\t\tAcceleratorTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"tag-a\"),\n\t\t\t\tpulumi.String(\"tag-b\"),\n\t\t\t},\n\t\t\tDescription: pulumi.String(\"example description\"),\n\t\t\tDisplayName: pulumi.String(\"example name\"),\n\t\t\tIconUrl:     pulumi.String(\"https://images.freecreatives.com/wp-content/uploads/2015/05/smiley-559124_640.jpg\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.appplatform.SpringCloudService;\nimport com.pulumi.azure.appplatform.SpringCloudServiceArgs;\nimport com.pulumi.azure.appplatform.SpringCloudAccelerator;\nimport com.pulumi.azure.appplatform.SpringCloudAcceleratorArgs;\nimport com.pulumi.azure.appplatform.SpringCloudCustomizedAccelerator;\nimport com.pulumi.azure.appplatform.SpringCloudCustomizedAcceleratorArgs;\nimport com.pulumi.azure.appplatform.inputs.SpringCloudCustomizedAcceleratorGitRepositoryArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"west europe\")\n            .build());\n\n        var exampleSpringCloudService = new SpringCloudService(\"exampleSpringCloudService\", SpringCloudServiceArgs.builder()\n            .name(\"example\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .skuName(\"E0\")\n            .build());\n\n        var exampleSpringCloudAccelerator = new SpringCloudAccelerator(\"exampleSpringCloudAccelerator\", SpringCloudAcceleratorArgs.builder()\n            .name(\"default\")\n            .springCloudServiceId(exampleSpringCloudService.id())\n            .build());\n\n        var exampleSpringCloudCustomizedAccelerator = new SpringCloudCustomizedAccelerator(\"exampleSpringCloudCustomizedAccelerator\", SpringCloudCustomizedAcceleratorArgs.builder()\n            .name(\"example\")\n            .springCloudAcceleratorId(exampleSpringCloudAccelerator.id())\n            .gitRepository(SpringCloudCustomizedAcceleratorGitRepositoryArgs.builder()\n                .url(\"https://github.com/Azure-Samples/piggymetrics\")\n                .gitTag(\"spring.version.2.0.3\")\n                .intervalInSeconds(100)\n                .build())\n            .acceleratorTags(            \n                \"tag-a\",\n                \"tag-b\")\n            .description(\"example description\")\n            .displayName(\"example name\")\n            .iconUrl(\"https://images.freecreatives.com/wp-content/uploads/2015/05/smiley-559124_640.jpg\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: west europe\n  exampleSpringCloudService:\n    type: azure:appplatform:SpringCloudService\n    name: example\n    properties:\n      name: example\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      skuName: E0\n  exampleSpringCloudAccelerator:\n    type: azure:appplatform:SpringCloudAccelerator\n    name: example\n    properties:\n      name: default\n      springCloudServiceId: ${exampleSpringCloudService.id}\n  exampleSpringCloudCustomizedAccelerator:\n    type: azure:appplatform:SpringCloudCustomizedAccelerator\n    name: example\n    properties:\n      name: example\n      springCloudAcceleratorId: ${exampleSpringCloudAccelerator.id}\n      gitRepository:\n        url: https://github.com/Azure-Samples/piggymetrics\n        gitTag: spring.version.2.0.3\n        intervalInSeconds: 100\n      acceleratorTags:\n        - tag-a\n        - tag-b\n      description: example description\n      displayName: example name\n      iconUrl: https://images.freecreatives.com/wp-content/uploads/2015/05/smiley-559124_640.jpg\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.AppPlatform` - 2024-01-01-preview\n\n## Import\n\nSpring Cloud Customized Accelerators can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:appplatform/springCloudCustomizedAccelerator:SpringCloudCustomizedAccelerator example /subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/resGroup1/providers/Microsoft.AppPlatform/spring/spring1/applicationAccelerators/default/customizedAccelerators/customizedAccelerator1\n```\n\n","properties":{"acceleratorTags":{"type":"array","items":{"type":"string"},"description":"Specifies a list of accelerator tags.\n"},"acceleratorType":{"type":"string","description":"Specifies the type of the Spring Cloud Customized Accelerator. Possible values are `Accelerator` and `Fragment`. Defaults to `Accelerator`.\n"},"description":{"type":"string","description":"Specifies the description of the Spring Cloud Customized Accelerator.\n"},"displayName":{"type":"string","description":"Specifies the display name of the Spring Cloud Customized Accelerator..\n"},"gitRepository":{"$ref":"#/types/azure:appplatform/SpringCloudCustomizedAcceleratorGitRepository:SpringCloudCustomizedAcceleratorGitRepository","description":"A \u003cspan pulumi-lang-nodejs=\"`gitRepository`\" pulumi-lang-dotnet=\"`GitRepository`\" pulumi-lang-go=\"`gitRepository`\" pulumi-lang-python=\"`git_repository`\" pulumi-lang-yaml=\"`gitRepository`\" pulumi-lang-java=\"`gitRepository`\"\u003e`git_repository`\u003c/span\u003e block as defined below.\n"},"iconUrl":{"type":"string","description":"Specifies the icon URL of the Spring Cloud Customized Accelerator..\n"},"name":{"type":"string","description":"The name which should be used for this Spring Cloud Customized Accelerator. Changing this forces a new Spring Cloud Customized Accelerator to be created.\n"},"springCloudAcceleratorId":{"type":"string","description":"The ID of the Spring Cloud Accelerator. Changing this forces a new Spring Cloud Customized Accelerator to be created.\n"}},"required":["gitRepository","name","springCloudAcceleratorId"],"inputProperties":{"acceleratorTags":{"type":"array","items":{"type":"string"},"description":"Specifies a list of accelerator tags.\n"},"acceleratorType":{"type":"string","description":"Specifies the type of the Spring Cloud Customized Accelerator. Possible values are `Accelerator` and `Fragment`. Defaults to `Accelerator`.\n"},"description":{"type":"string","description":"Specifies the description of the Spring Cloud Customized Accelerator.\n"},"displayName":{"type":"string","description":"Specifies the display name of the Spring Cloud Customized Accelerator..\n"},"gitRepository":{"$ref":"#/types/azure:appplatform/SpringCloudCustomizedAcceleratorGitRepository:SpringCloudCustomizedAcceleratorGitRepository","description":"A \u003cspan pulumi-lang-nodejs=\"`gitRepository`\" pulumi-lang-dotnet=\"`GitRepository`\" pulumi-lang-go=\"`gitRepository`\" pulumi-lang-python=\"`git_repository`\" pulumi-lang-yaml=\"`gitRepository`\" pulumi-lang-java=\"`gitRepository`\"\u003e`git_repository`\u003c/span\u003e block as defined below.\n"},"iconUrl":{"type":"string","description":"Specifies the icon URL of the Spring Cloud Customized Accelerator..\n"},"name":{"type":"string","description":"The name which should be used for this Spring Cloud Customized Accelerator. Changing this forces a new Spring Cloud Customized Accelerator to be created.\n","willReplaceOnChanges":true},"springCloudAcceleratorId":{"type":"string","description":"The ID of the Spring Cloud Accelerator. Changing this forces a new Spring Cloud Customized Accelerator to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["gitRepository","springCloudAcceleratorId"],"stateInputs":{"description":"Input properties used for looking up and filtering SpringCloudCustomizedAccelerator resources.\n","properties":{"acceleratorTags":{"type":"array","items":{"type":"string"},"description":"Specifies a list of accelerator tags.\n"},"acceleratorType":{"type":"string","description":"Specifies the type of the Spring Cloud Customized Accelerator. Possible values are `Accelerator` and `Fragment`. Defaults to `Accelerator`.\n"},"description":{"type":"string","description":"Specifies the description of the Spring Cloud Customized Accelerator.\n"},"displayName":{"type":"string","description":"Specifies the display name of the Spring Cloud Customized Accelerator..\n"},"gitRepository":{"$ref":"#/types/azure:appplatform/SpringCloudCustomizedAcceleratorGitRepository:SpringCloudCustomizedAcceleratorGitRepository","description":"A \u003cspan pulumi-lang-nodejs=\"`gitRepository`\" pulumi-lang-dotnet=\"`GitRepository`\" pulumi-lang-go=\"`gitRepository`\" pulumi-lang-python=\"`git_repository`\" pulumi-lang-yaml=\"`gitRepository`\" pulumi-lang-java=\"`gitRepository`\"\u003e`git_repository`\u003c/span\u003e block as defined below.\n"},"iconUrl":{"type":"string","description":"Specifies the icon URL of the Spring Cloud Customized Accelerator..\n"},"name":{"type":"string","description":"The name which should be used for this Spring Cloud Customized Accelerator. Changing this forces a new Spring Cloud Customized Accelerator to be created.\n","willReplaceOnChanges":true},"springCloudAcceleratorId":{"type":"string","description":"The ID of the Spring Cloud Accelerator. Changing this forces a new Spring Cloud Customized Accelerator to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:appplatform/springCloudDevToolPortal:SpringCloudDevToolPortal":{"description":"\u003e **Note:** This resource is applicable only for Spring Cloud Service with enterprise tier.\n\nManages a Spring Cloud Dev Tool Portal.\n\n!\u003e **Note:** Azure Spring Apps is now deprecated and will be retired on 2028-05-31 - as such the \u003cspan pulumi-lang-nodejs=\"`azure.appplatform.SpringCloudDevToolPortal`\" pulumi-lang-dotnet=\"`azure.appplatform.SpringCloudDevToolPortal`\" pulumi-lang-go=\"`appplatform.SpringCloudDevToolPortal`\" pulumi-lang-python=\"`appplatform.SpringCloudDevToolPortal`\" pulumi-lang-yaml=\"`azure.appplatform.SpringCloudDevToolPortal`\" pulumi-lang-java=\"`azure.appplatform.SpringCloudDevToolPortal`\"\u003e`azure.appplatform.SpringCloudDevToolPortal`\u003c/span\u003e resource is deprecated and will be removed in a future major version of the AzureRM Provider. See https://aka.ms/asaretirement for more information.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst current = azure.core.getClientConfig({});\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example\",\n    location: \"West Europe\",\n});\nconst exampleSpringCloudService = new azure.appplatform.SpringCloudService(\"example\", {\n    name: \"example\",\n    location: example.location,\n    resourceGroupName: example.name,\n    skuName: \"E0\",\n});\nconst exampleSpringCloudDevToolPortal = new azure.appplatform.SpringCloudDevToolPortal(\"example\", {\n    name: \"default\",\n    springCloudServiceId: exampleSpringCloudService.id,\n    publicNetworkAccessEnabled: true,\n    sso: {\n        clientId: \"example id\",\n        clientSecret: \"example secret\",\n        metadataUrl: current.then(current =\u003e `https://login.microsoftonline.com/${current.tenantId}/v2.0/.well-known/openid-configuration`),\n        scopes: [\n            \"openid\",\n            \"profile\",\n            \"email\",\n        ],\n    },\n    applicationAcceleratorEnabled: true,\n    applicationLiveViewEnabled: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\ncurrent = azure.core.get_client_config()\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example\",\n    location=\"West Europe\")\nexample_spring_cloud_service = azure.appplatform.SpringCloudService(\"example\",\n    name=\"example\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku_name=\"E0\")\nexample_spring_cloud_dev_tool_portal = azure.appplatform.SpringCloudDevToolPortal(\"example\",\n    name=\"default\",\n    spring_cloud_service_id=example_spring_cloud_service.id,\n    public_network_access_enabled=True,\n    sso={\n        \"client_id\": \"example id\",\n        \"client_secret\": \"example secret\",\n        \"metadata_url\": f\"https://login.microsoftonline.com/{current.tenant_id}/v2.0/.well-known/openid-configuration\",\n        \"scopes\": [\n            \"openid\",\n            \"profile\",\n            \"email\",\n        ],\n    },\n    application_accelerator_enabled=True,\n    application_live_view_enabled=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var current = Azure.Core.GetClientConfig.Invoke();\n\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example\",\n        Location = \"West Europe\",\n    });\n\n    var exampleSpringCloudService = new Azure.AppPlatform.SpringCloudService(\"example\", new()\n    {\n        Name = \"example\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        SkuName = \"E0\",\n    });\n\n    var exampleSpringCloudDevToolPortal = new Azure.AppPlatform.SpringCloudDevToolPortal(\"example\", new()\n    {\n        Name = \"default\",\n        SpringCloudServiceId = exampleSpringCloudService.Id,\n        PublicNetworkAccessEnabled = true,\n        Sso = new Azure.AppPlatform.Inputs.SpringCloudDevToolPortalSsoArgs\n        {\n            ClientId = \"example id\",\n            ClientSecret = \"example secret\",\n            MetadataUrl = $\"https://login.microsoftonline.com/{current.Apply(getClientConfigResult =\u003e getClientConfigResult.TenantId)}/v2.0/.well-known/openid-configuration\",\n            Scopes = new[]\n            {\n                \"openid\",\n                \"profile\",\n                \"email\",\n            },\n        },\n        ApplicationAcceleratorEnabled = true,\n        ApplicationLiveViewEnabled = true,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/appplatform\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := core.GetClientConfig(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSpringCloudService, err := appplatform.NewSpringCloudService(ctx, \"example\", \u0026appplatform.SpringCloudServiceArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSkuName:           pulumi.String(\"E0\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = appplatform.NewSpringCloudDevToolPortal(ctx, \"example\", \u0026appplatform.SpringCloudDevToolPortalArgs{\n\t\t\tName:                       pulumi.String(\"default\"),\n\t\t\tSpringCloudServiceId:       exampleSpringCloudService.ID(),\n\t\t\tPublicNetworkAccessEnabled: pulumi.Bool(true),\n\t\t\tSso: \u0026appplatform.SpringCloudDevToolPortalSsoArgs{\n\t\t\t\tClientId:     pulumi.String(\"example id\"),\n\t\t\t\tClientSecret: pulumi.String(\"example secret\"),\n\t\t\t\tMetadataUrl:  pulumi.Sprintf(\"https://login.microsoftonline.com/%v/v2.0/.well-known/openid-configuration\", current.TenantId),\n\t\t\t\tScopes: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"openid\"),\n\t\t\t\t\tpulumi.String(\"profile\"),\n\t\t\t\t\tpulumi.String(\"email\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tApplicationAcceleratorEnabled: pulumi.Bool(true),\n\t\t\tApplicationLiveViewEnabled:    pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.appplatform.SpringCloudService;\nimport com.pulumi.azure.appplatform.SpringCloudServiceArgs;\nimport com.pulumi.azure.appplatform.SpringCloudDevToolPortal;\nimport com.pulumi.azure.appplatform.SpringCloudDevToolPortalArgs;\nimport com.pulumi.azure.appplatform.inputs.SpringCloudDevToolPortalSsoArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var current = CoreFunctions.getClientConfig(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleSpringCloudService = new SpringCloudService(\"exampleSpringCloudService\", SpringCloudServiceArgs.builder()\n            .name(\"example\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .skuName(\"E0\")\n            .build());\n\n        var exampleSpringCloudDevToolPortal = new SpringCloudDevToolPortal(\"exampleSpringCloudDevToolPortal\", SpringCloudDevToolPortalArgs.builder()\n            .name(\"default\")\n            .springCloudServiceId(exampleSpringCloudService.id())\n            .publicNetworkAccessEnabled(true)\n            .sso(SpringCloudDevToolPortalSsoArgs.builder()\n                .clientId(\"example id\")\n                .clientSecret(\"example secret\")\n                .metadataUrl(String.format(\"https://login.microsoftonline.com/%s/v2.0/.well-known/openid-configuration\", current.tenantId()))\n                .scopes(                \n                    \"openid\",\n                    \"profile\",\n                    \"email\")\n                .build())\n            .applicationAcceleratorEnabled(true)\n            .applicationLiveViewEnabled(true)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example\n      location: West Europe\n  exampleSpringCloudService:\n    type: azure:appplatform:SpringCloudService\n    name: example\n    properties:\n      name: example\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      skuName: E0\n  exampleSpringCloudDevToolPortal:\n    type: azure:appplatform:SpringCloudDevToolPortal\n    name: example\n    properties:\n      name: default\n      springCloudServiceId: ${exampleSpringCloudService.id}\n      publicNetworkAccessEnabled: true\n      sso:\n        clientId: example id\n        clientSecret: example secret\n        metadataUrl: https://login.microsoftonline.com/${current.tenantId}/v2.0/.well-known/openid-configuration\n        scopes:\n          - openid\n          - profile\n          - email\n      applicationAcceleratorEnabled: true\n      applicationLiveViewEnabled: true\nvariables:\n  current:\n    fn::invoke:\n      function: azure:core:getClientConfig\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nSpring Cloud Dev Tool Portals can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:appplatform/springCloudDevToolPortal:SpringCloudDevToolPortal example /subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/resourceGroup1/providers/Microsoft.AppPlatform/Spring/service1/DevToolPortals/default\n```\n\n","properties":{"applicationAcceleratorEnabled":{"type":"boolean","description":"Should the Accelerator plugin be enabled?\n"},"applicationLiveViewEnabled":{"type":"boolean","description":"Should the Application Live View be enabled?\n"},"name":{"type":"string","description":"The name which should be used for this Spring Cloud Dev Tool Portal. The only possible value is \u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\"\u003e`default`\u003c/span\u003e. Changing this forces a new Spring Cloud Dev Tool Portal to be created.\n"},"publicNetworkAccessEnabled":{"type":"boolean","description":"Is public network access enabled?\n"},"springCloudServiceId":{"type":"string","description":"The ID of the Spring Cloud Service. Changing this forces a new Spring Cloud Dev Tool Portal to be created.\n"},"sso":{"$ref":"#/types/azure:appplatform/SpringCloudDevToolPortalSso:SpringCloudDevToolPortalSso","description":"A \u003cspan pulumi-lang-nodejs=\"`sso`\" pulumi-lang-dotnet=\"`Sso`\" pulumi-lang-go=\"`sso`\" pulumi-lang-python=\"`sso`\" pulumi-lang-yaml=\"`sso`\" pulumi-lang-java=\"`sso`\"\u003e`sso`\u003c/span\u003e block as defined below.\n"}},"required":["applicationAcceleratorEnabled","applicationLiveViewEnabled","name","springCloudServiceId"],"inputProperties":{"applicationAcceleratorEnabled":{"type":"boolean","description":"Should the Accelerator plugin be enabled?\n"},"applicationLiveViewEnabled":{"type":"boolean","description":"Should the Application Live View be enabled?\n"},"name":{"type":"string","description":"The name which should be used for this Spring Cloud Dev Tool Portal. The only possible value is \u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\"\u003e`default`\u003c/span\u003e. Changing this forces a new Spring Cloud Dev Tool Portal to be created.\n","willReplaceOnChanges":true},"publicNetworkAccessEnabled":{"type":"boolean","description":"Is public network access enabled?\n"},"springCloudServiceId":{"type":"string","description":"The ID of the Spring Cloud Service. Changing this forces a new Spring Cloud Dev Tool Portal to be created.\n","willReplaceOnChanges":true},"sso":{"$ref":"#/types/azure:appplatform/SpringCloudDevToolPortalSso:SpringCloudDevToolPortalSso","description":"A \u003cspan pulumi-lang-nodejs=\"`sso`\" pulumi-lang-dotnet=\"`Sso`\" pulumi-lang-go=\"`sso`\" pulumi-lang-python=\"`sso`\" pulumi-lang-yaml=\"`sso`\" pulumi-lang-java=\"`sso`\"\u003e`sso`\u003c/span\u003e block as defined below.\n"}},"requiredInputs":["springCloudServiceId"],"stateInputs":{"description":"Input properties used for looking up and filtering SpringCloudDevToolPortal resources.\n","properties":{"applicationAcceleratorEnabled":{"type":"boolean","description":"Should the Accelerator plugin be enabled?\n"},"applicationLiveViewEnabled":{"type":"boolean","description":"Should the Application Live View be enabled?\n"},"name":{"type":"string","description":"The name which should be used for this Spring Cloud Dev Tool Portal. The only possible value is \u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\"\u003e`default`\u003c/span\u003e. Changing this forces a new Spring Cloud Dev Tool Portal to be created.\n","willReplaceOnChanges":true},"publicNetworkAccessEnabled":{"type":"boolean","description":"Is public network access enabled?\n"},"springCloudServiceId":{"type":"string","description":"The ID of the Spring Cloud Service. Changing this forces a new Spring Cloud Dev Tool Portal to be created.\n","willReplaceOnChanges":true},"sso":{"$ref":"#/types/azure:appplatform/SpringCloudDevToolPortalSso:SpringCloudDevToolPortalSso","description":"A \u003cspan pulumi-lang-nodejs=\"`sso`\" pulumi-lang-dotnet=\"`Sso`\" pulumi-lang-go=\"`sso`\" pulumi-lang-python=\"`sso`\" pulumi-lang-yaml=\"`sso`\" pulumi-lang-java=\"`sso`\"\u003e`sso`\u003c/span\u003e block as defined below.\n"}},"type":"object"}},"azure:appplatform/springCloudDynatraceApplicationPerformanceMonitoring:SpringCloudDynatraceApplicationPerformanceMonitoring":{"description":"\u003e **Note:** This resource is only applicable for Spring Cloud Service enterprise tier\n\nManages a Spring Cloud Application Performance Monitoring resource for Dynatrace.\n\n!\u003e **Note:** Azure Spring Apps is now deprecated and will be retired on 2028-05-31 - as such the \u003cspan pulumi-lang-nodejs=\"`azure.appplatform.SpringCloudDynatraceApplicationPerformanceMonitoring`\" pulumi-lang-dotnet=\"`azure.appplatform.SpringCloudDynatraceApplicationPerformanceMonitoring`\" pulumi-lang-go=\"`appplatform.SpringCloudDynatraceApplicationPerformanceMonitoring`\" pulumi-lang-python=\"`appplatform.SpringCloudDynatraceApplicationPerformanceMonitoring`\" pulumi-lang-yaml=\"`azure.appplatform.SpringCloudDynatraceApplicationPerformanceMonitoring`\" pulumi-lang-java=\"`azure.appplatform.SpringCloudDynatraceApplicationPerformanceMonitoring`\"\u003e`azure.appplatform.SpringCloudDynatraceApplicationPerformanceMonitoring`\u003c/span\u003e resource is deprecated and will be removed in a future major version of the AzureRM Provider. See https://aka.ms/asaretirement for more information.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example\",\n    location: \"West Europe\",\n});\nconst exampleSpringCloudService = new azure.appplatform.SpringCloudService(\"example\", {\n    name: \"example\",\n    location: example.location,\n    resourceGroupName: example.name,\n    skuName: \"E0\",\n});\nconst exampleSpringCloudDynatraceApplicationPerformanceMonitoring = new azure.appplatform.SpringCloudDynatraceApplicationPerformanceMonitoring(\"example\", {\n    name: \"example\",\n    springCloudServiceId: exampleSpringCloudService.id,\n    globallyEnabled: true,\n    apiUrl: \"https://example-api-url.com\",\n    apiToken: \"dt0s01.AAAAAAAAAAAAAAAAAAAAAAAA.BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB\",\n    environmentId: \"example-environment-id\",\n    tenant: \"example-tenant\",\n    tenantToken: \"dt0s01.AAAAAAAAAAAAAAAAAAAAAAAA.BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB\",\n    connectionPoint: \"https://example.live.dynatrace.com:443\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example\",\n    location=\"West Europe\")\nexample_spring_cloud_service = azure.appplatform.SpringCloudService(\"example\",\n    name=\"example\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku_name=\"E0\")\nexample_spring_cloud_dynatrace_application_performance_monitoring = azure.appplatform.SpringCloudDynatraceApplicationPerformanceMonitoring(\"example\",\n    name=\"example\",\n    spring_cloud_service_id=example_spring_cloud_service.id,\n    globally_enabled=True,\n    api_url=\"https://example-api-url.com\",\n    api_token=\"dt0s01.AAAAAAAAAAAAAAAAAAAAAAAA.BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB\",\n    environment_id=\"example-environment-id\",\n    tenant=\"example-tenant\",\n    tenant_token=\"dt0s01.AAAAAAAAAAAAAAAAAAAAAAAA.BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB\",\n    connection_point=\"https://example.live.dynatrace.com:443\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example\",\n        Location = \"West Europe\",\n    });\n\n    var exampleSpringCloudService = new Azure.AppPlatform.SpringCloudService(\"example\", new()\n    {\n        Name = \"example\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        SkuName = \"E0\",\n    });\n\n    var exampleSpringCloudDynatraceApplicationPerformanceMonitoring = new Azure.AppPlatform.SpringCloudDynatraceApplicationPerformanceMonitoring(\"example\", new()\n    {\n        Name = \"example\",\n        SpringCloudServiceId = exampleSpringCloudService.Id,\n        GloballyEnabled = true,\n        ApiUrl = \"https://example-api-url.com\",\n        ApiToken = \"dt0s01.AAAAAAAAAAAAAAAAAAAAAAAA.BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB\",\n        EnvironmentId = \"example-environment-id\",\n        Tenant = \"example-tenant\",\n        TenantToken = \"dt0s01.AAAAAAAAAAAAAAAAAAAAAAAA.BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB\",\n        ConnectionPoint = \"https://example.live.dynatrace.com:443\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/appplatform\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSpringCloudService, err := appplatform.NewSpringCloudService(ctx, \"example\", \u0026appplatform.SpringCloudServiceArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSkuName:           pulumi.String(\"E0\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = appplatform.NewSpringCloudDynatraceApplicationPerformanceMonitoring(ctx, \"example\", \u0026appplatform.SpringCloudDynatraceApplicationPerformanceMonitoringArgs{\n\t\t\tName:                 pulumi.String(\"example\"),\n\t\t\tSpringCloudServiceId: exampleSpringCloudService.ID(),\n\t\t\tGloballyEnabled:      pulumi.Bool(true),\n\t\t\tApiUrl:               pulumi.String(\"https://example-api-url.com\"),\n\t\t\tApiToken:             pulumi.String(\"dt0s01.AAAAAAAAAAAAAAAAAAAAAAAA.BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB\"),\n\t\t\tEnvironmentId:        pulumi.String(\"example-environment-id\"),\n\t\t\tTenant:               pulumi.String(\"example-tenant\"),\n\t\t\tTenantToken:          pulumi.String(\"dt0s01.AAAAAAAAAAAAAAAAAAAAAAAA.BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB\"),\n\t\t\tConnectionPoint:      pulumi.String(\"https://example.live.dynatrace.com:443\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.appplatform.SpringCloudService;\nimport com.pulumi.azure.appplatform.SpringCloudServiceArgs;\nimport com.pulumi.azure.appplatform.SpringCloudDynatraceApplicationPerformanceMonitoring;\nimport com.pulumi.azure.appplatform.SpringCloudDynatraceApplicationPerformanceMonitoringArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleSpringCloudService = new SpringCloudService(\"exampleSpringCloudService\", SpringCloudServiceArgs.builder()\n            .name(\"example\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .skuName(\"E0\")\n            .build());\n\n        var exampleSpringCloudDynatraceApplicationPerformanceMonitoring = new SpringCloudDynatraceApplicationPerformanceMonitoring(\"exampleSpringCloudDynatraceApplicationPerformanceMonitoring\", SpringCloudDynatraceApplicationPerformanceMonitoringArgs.builder()\n            .name(\"example\")\n            .springCloudServiceId(exampleSpringCloudService.id())\n            .globallyEnabled(true)\n            .apiUrl(\"https://example-api-url.com\")\n            .apiToken(\"dt0s01.AAAAAAAAAAAAAAAAAAAAAAAA.BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB\")\n            .environmentId(\"example-environment-id\")\n            .tenant(\"example-tenant\")\n            .tenantToken(\"dt0s01.AAAAAAAAAAAAAAAAAAAAAAAA.BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB\")\n            .connectionPoint(\"https://example.live.dynatrace.com:443\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example\n      location: West Europe\n  exampleSpringCloudService:\n    type: azure:appplatform:SpringCloudService\n    name: example\n    properties:\n      name: example\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      skuName: E0\n  exampleSpringCloudDynatraceApplicationPerformanceMonitoring:\n    type: azure:appplatform:SpringCloudDynatraceApplicationPerformanceMonitoring\n    name: example\n    properties:\n      name: example\n      springCloudServiceId: ${exampleSpringCloudService.id}\n      globallyEnabled: true\n      apiUrl: https://example-api-url.com\n      apiToken: dt0s01.AAAAAAAAAAAAAAAAAAAAAAAA.BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB\n      environmentId: example-environment-id\n      tenant: example-tenant\n      tenantToken: dt0s01.AAAAAAAAAAAAAAAAAAAAAAAA.BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB\n      connectionPoint: https://example.live.dynatrace.com:443\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.AppPlatform` - 2024-01-01-preview\n\n## Import\n\nSpring Cloud Application Performance Monitoring resource for Dynatrace can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:appplatform/springCloudDynatraceApplicationPerformanceMonitoring:SpringCloudDynatraceApplicationPerformanceMonitoring example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.AppPlatform/spring/service1/apms/apm1\n```\n\n","properties":{"apiToken":{"type":"string","description":"Specifies the API token of the Dynatrace environment.\n","secret":true},"apiUrl":{"type":"string","description":"Specifies the API Url of the Dynatrace environment.\n"},"connectionPoint":{"type":"string","description":"Specifies the endpoint to connect to the Dynatrace environment.\n"},"environmentId":{"type":"string","description":"Specifies the Dynatrace environment ID.\n"},"globallyEnabled":{"type":"boolean","description":"Specifies whether the Spring Cloud Application Performance Monitoring resource for Application Insights is enabled globally. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"name":{"type":"string","description":"The name which should be used for this Spring Cloud Application Performance Monitoring resource for Dynatrace. Changing this forces a new resource to be created.\n"},"springCloudServiceId":{"type":"string","description":"The ID of the Spring Cloud Service. Changing this forces a new resource to be created.\n"},"tenant":{"type":"string","description":"Specifies the Dynatrace tenant.\n","secret":true},"tenantToken":{"type":"string","description":"Specifies the internal token that is used for authentication when OneAgent connects to the Dynatrace cluster to send data.\n","secret":true}},"required":["connectionPoint","name","springCloudServiceId","tenant","tenantToken"],"inputProperties":{"apiToken":{"type":"string","description":"Specifies the API token of the Dynatrace environment.\n","secret":true},"apiUrl":{"type":"string","description":"Specifies the API Url of the Dynatrace environment.\n"},"connectionPoint":{"type":"string","description":"Specifies the endpoint to connect to the Dynatrace environment.\n"},"environmentId":{"type":"string","description":"Specifies the Dynatrace environment ID.\n"},"globallyEnabled":{"type":"boolean","description":"Specifies whether the Spring Cloud Application Performance Monitoring resource for Application Insights is enabled globally. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"name":{"type":"string","description":"The name which should be used for this Spring Cloud Application Performance Monitoring resource for Dynatrace. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"springCloudServiceId":{"type":"string","description":"The ID of the Spring Cloud Service. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tenant":{"type":"string","description":"Specifies the Dynatrace tenant.\n","secret":true},"tenantToken":{"type":"string","description":"Specifies the internal token that is used for authentication when OneAgent connects to the Dynatrace cluster to send data.\n","secret":true}},"requiredInputs":["connectionPoint","springCloudServiceId","tenant","tenantToken"],"stateInputs":{"description":"Input properties used for looking up and filtering SpringCloudDynatraceApplicationPerformanceMonitoring resources.\n","properties":{"apiToken":{"type":"string","description":"Specifies the API token of the Dynatrace environment.\n","secret":true},"apiUrl":{"type":"string","description":"Specifies the API Url of the Dynatrace environment.\n"},"connectionPoint":{"type":"string","description":"Specifies the endpoint to connect to the Dynatrace environment.\n"},"environmentId":{"type":"string","description":"Specifies the Dynatrace environment ID.\n"},"globallyEnabled":{"type":"boolean","description":"Specifies whether the Spring Cloud Application Performance Monitoring resource for Application Insights is enabled globally. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"name":{"type":"string","description":"The name which should be used for this Spring Cloud Application Performance Monitoring resource for Dynatrace. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"springCloudServiceId":{"type":"string","description":"The ID of the Spring Cloud Service. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tenant":{"type":"string","description":"Specifies the Dynatrace tenant.\n","secret":true},"tenantToken":{"type":"string","description":"Specifies the internal token that is used for authentication when OneAgent connects to the Dynatrace cluster to send data.\n","secret":true}},"type":"object"}},"azure:appplatform/springCloudElasticApplicationPerformanceMonitoring:SpringCloudElasticApplicationPerformanceMonitoring":{"description":"\u003e **Note:** This resource is only applicable for Spring Cloud Service enterprise tier\n\nManages a Spring Cloud Application Performance Monitoring resource for Elastic.\n\n!\u003e **Note:** Azure Spring Apps is now deprecated and will be retired on 2028-05-31 - as such the \u003cspan pulumi-lang-nodejs=\"`azure.appplatform.SpringCloudElasticApplicationPerformanceMonitoring`\" pulumi-lang-dotnet=\"`azure.appplatform.SpringCloudElasticApplicationPerformanceMonitoring`\" pulumi-lang-go=\"`appplatform.SpringCloudElasticApplicationPerformanceMonitoring`\" pulumi-lang-python=\"`appplatform.SpringCloudElasticApplicationPerformanceMonitoring`\" pulumi-lang-yaml=\"`azure.appplatform.SpringCloudElasticApplicationPerformanceMonitoring`\" pulumi-lang-java=\"`azure.appplatform.SpringCloudElasticApplicationPerformanceMonitoring`\"\u003e`azure.appplatform.SpringCloudElasticApplicationPerformanceMonitoring`\u003c/span\u003e resource is deprecated and will be removed in a future major version of the AzureRM Provider. See https://aka.ms/asaretirement for more information.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example\",\n    location: \"West Europe\",\n});\nconst exampleSpringCloudService = new azure.appplatform.SpringCloudService(\"example\", {\n    name: \"example\",\n    location: example.location,\n    resourceGroupName: example.name,\n    skuName: \"E0\",\n});\nconst exampleSpringCloudElasticApplicationPerformanceMonitoring = new azure.appplatform.SpringCloudElasticApplicationPerformanceMonitoring(\"example\", {\n    name: \"example\",\n    springCloudServiceId: exampleSpringCloudService.id,\n    globallyEnabled: true,\n    applicationPackages: [\n        \"org.example\",\n        \"org.another.example\",\n    ],\n    serviceName: \"example-service-name\",\n    serverUrl: \"http://127.0.0.1:8200\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example\",\n    location=\"West Europe\")\nexample_spring_cloud_service = azure.appplatform.SpringCloudService(\"example\",\n    name=\"example\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku_name=\"E0\")\nexample_spring_cloud_elastic_application_performance_monitoring = azure.appplatform.SpringCloudElasticApplicationPerformanceMonitoring(\"example\",\n    name=\"example\",\n    spring_cloud_service_id=example_spring_cloud_service.id,\n    globally_enabled=True,\n    application_packages=[\n        \"org.example\",\n        \"org.another.example\",\n    ],\n    service_name=\"example-service-name\",\n    server_url=\"http://127.0.0.1:8200\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example\",\n        Location = \"West Europe\",\n    });\n\n    var exampleSpringCloudService = new Azure.AppPlatform.SpringCloudService(\"example\", new()\n    {\n        Name = \"example\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        SkuName = \"E0\",\n    });\n\n    var exampleSpringCloudElasticApplicationPerformanceMonitoring = new Azure.AppPlatform.SpringCloudElasticApplicationPerformanceMonitoring(\"example\", new()\n    {\n        Name = \"example\",\n        SpringCloudServiceId = exampleSpringCloudService.Id,\n        GloballyEnabled = true,\n        ApplicationPackages = new[]\n        {\n            \"org.example\",\n            \"org.another.example\",\n        },\n        ServiceName = \"example-service-name\",\n        ServerUrl = \"http://127.0.0.1:8200\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/appplatform\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSpringCloudService, err := appplatform.NewSpringCloudService(ctx, \"example\", \u0026appplatform.SpringCloudServiceArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSkuName:           pulumi.String(\"E0\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = appplatform.NewSpringCloudElasticApplicationPerformanceMonitoring(ctx, \"example\", \u0026appplatform.SpringCloudElasticApplicationPerformanceMonitoringArgs{\n\t\t\tName:                 pulumi.String(\"example\"),\n\t\t\tSpringCloudServiceId: exampleSpringCloudService.ID(),\n\t\t\tGloballyEnabled:      pulumi.Bool(true),\n\t\t\tApplicationPackages: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"org.example\"),\n\t\t\t\tpulumi.String(\"org.another.example\"),\n\t\t\t},\n\t\t\tServiceName: pulumi.String(\"example-service-name\"),\n\t\t\tServerUrl:   pulumi.String(\"http://127.0.0.1:8200\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.appplatform.SpringCloudService;\nimport com.pulumi.azure.appplatform.SpringCloudServiceArgs;\nimport com.pulumi.azure.appplatform.SpringCloudElasticApplicationPerformanceMonitoring;\nimport com.pulumi.azure.appplatform.SpringCloudElasticApplicationPerformanceMonitoringArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleSpringCloudService = new SpringCloudService(\"exampleSpringCloudService\", SpringCloudServiceArgs.builder()\n            .name(\"example\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .skuName(\"E0\")\n            .build());\n\n        var exampleSpringCloudElasticApplicationPerformanceMonitoring = new SpringCloudElasticApplicationPerformanceMonitoring(\"exampleSpringCloudElasticApplicationPerformanceMonitoring\", SpringCloudElasticApplicationPerformanceMonitoringArgs.builder()\n            .name(\"example\")\n            .springCloudServiceId(exampleSpringCloudService.id())\n            .globallyEnabled(true)\n            .applicationPackages(            \n                \"org.example\",\n                \"org.another.example\")\n            .serviceName(\"example-service-name\")\n            .serverUrl(\"http://127.0.0.1:8200\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example\n      location: West Europe\n  exampleSpringCloudService:\n    type: azure:appplatform:SpringCloudService\n    name: example\n    properties:\n      name: example\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      skuName: E0\n  exampleSpringCloudElasticApplicationPerformanceMonitoring:\n    type: azure:appplatform:SpringCloudElasticApplicationPerformanceMonitoring\n    name: example\n    properties:\n      name: example\n      springCloudServiceId: ${exampleSpringCloudService.id}\n      globallyEnabled: true\n      applicationPackages:\n        - org.example\n        - org.another.example\n      serviceName: example-service-name\n      serverUrl: http://127.0.0.1:8200\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.AppPlatform` - 2024-01-01-preview\n\n## Import\n\nSpring Cloud Application Performance Monitoring resource for Elastic can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:appplatform/springCloudElasticApplicationPerformanceMonitoring:SpringCloudElasticApplicationPerformanceMonitoring example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.AppPlatform/spring/service1/apms/apm1\n```\n\n","properties":{"applicationPackages":{"type":"array","items":{"type":"string"},"description":"Specifies a list of the packages which should be used to determine whether a stack trace frame is an in-app frame or a library frame. This is a comma separated list of package names.\n"},"globallyEnabled":{"type":"boolean","description":"Specifies whether the Spring Cloud Application Performance Monitoring resource for Application Insights is enabled globally. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"name":{"type":"string","description":"The name which should be used for this Spring Cloud Application Performance Monitoring resource for Elastic. Changing this forces a new resource to be created.\n"},"serverUrl":{"type":"string","description":"Specifies the server URL. The URL must be fully qualified, including protocol (http or https) and port.\n"},"serviceName":{"type":"string","description":"Specifies the service name which is used to keep all the errors and transactions of your service together and is the primary filter in the Elastic APM user interface.\n"},"springCloudServiceId":{"type":"string","description":"The ID of the Spring Cloud Service. Changing this forces a new resource to be created.\n"}},"required":["applicationPackages","name","serverUrl","serviceName","springCloudServiceId"],"inputProperties":{"applicationPackages":{"type":"array","items":{"type":"string"},"description":"Specifies a list of the packages which should be used to determine whether a stack trace frame is an in-app frame or a library frame. This is a comma separated list of package names.\n"},"globallyEnabled":{"type":"boolean","description":"Specifies whether the Spring Cloud Application Performance Monitoring resource for Application Insights is enabled globally. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"name":{"type":"string","description":"The name which should be used for this Spring Cloud Application Performance Monitoring resource for Elastic. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"serverUrl":{"type":"string","description":"Specifies the server URL. The URL must be fully qualified, including protocol (http or https) and port.\n"},"serviceName":{"type":"string","description":"Specifies the service name which is used to keep all the errors and transactions of your service together and is the primary filter in the Elastic APM user interface.\n"},"springCloudServiceId":{"type":"string","description":"The ID of the Spring Cloud Service. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["applicationPackages","serverUrl","serviceName","springCloudServiceId"],"stateInputs":{"description":"Input properties used for looking up and filtering SpringCloudElasticApplicationPerformanceMonitoring resources.\n","properties":{"applicationPackages":{"type":"array","items":{"type":"string"},"description":"Specifies a list of the packages which should be used to determine whether a stack trace frame is an in-app frame or a library frame. This is a comma separated list of package names.\n"},"globallyEnabled":{"type":"boolean","description":"Specifies whether the Spring Cloud Application Performance Monitoring resource for Application Insights is enabled globally. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"name":{"type":"string","description":"The name which should be used for this Spring Cloud Application Performance Monitoring resource for Elastic. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"serverUrl":{"type":"string","description":"Specifies the server URL. The URL must be fully qualified, including protocol (http or https) and port.\n"},"serviceName":{"type":"string","description":"Specifies the service name which is used to keep all the errors and transactions of your service together and is the primary filter in the Elastic APM user interface.\n"},"springCloudServiceId":{"type":"string","description":"The ID of the Spring Cloud Service. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:appplatform/springCloudGateway:SpringCloudGateway":{"description":"\u003e **Note:** This resource is applicable only for Spring Cloud Service with enterprise tier.\n\nManages a Spring Cloud Gateway.\n\n!\u003e **Note:** Azure Spring Apps is now deprecated and will be retired on 2028-05-31 - as such the \u003cspan pulumi-lang-nodejs=\"`azure.appplatform.SpringCloudGateway`\" pulumi-lang-dotnet=\"`azure.appplatform.SpringCloudGateway`\" pulumi-lang-go=\"`appplatform.SpringCloudGateway`\" pulumi-lang-python=\"`appplatform.SpringCloudGateway`\" pulumi-lang-yaml=\"`azure.appplatform.SpringCloudGateway`\" pulumi-lang-java=\"`azure.appplatform.SpringCloudGateway`\"\u003e`azure.appplatform.SpringCloudGateway`\u003c/span\u003e resource is deprecated and will be removed in a future major version of the AzureRM Provider. See https://aka.ms/asaretirement for more information.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example\",\n    location: \"West Europe\",\n});\nconst exampleSpringCloudService = new azure.appplatform.SpringCloudService(\"example\", {\n    name: \"example\",\n    location: example.location,\n    resourceGroupName: example.name,\n    skuName: \"E0\",\n});\nconst exampleSpringCloudGateway = new azure.appplatform.SpringCloudGateway(\"example\", {\n    name: \"default\",\n    springCloudServiceId: exampleSpringCloudService.id,\n    httpsOnly: false,\n    publicNetworkAccessEnabled: true,\n    instanceCount: 2,\n    apiMetadata: {\n        description: \"example description\",\n        documentationUrl: \"https://www.example.com/docs\",\n        serverUrl: \"https://wwww.example.com\",\n        title: \"example title\",\n        version: \"1.0\",\n    },\n    cors: {\n        credentialsAllowed: false,\n        allowedHeaders: [\"*\"],\n        allowedMethods: [\"PUT\"],\n        allowedOrigins: [\"example.com\"],\n        exposedHeaders: [\"x-example-header\"],\n        maxAgeSeconds: 86400,\n    },\n    quota: {\n        cpu: \"1\",\n        memory: \"2Gi\",\n    },\n    sso: {\n        clientId: \"example id\",\n        clientSecret: \"example secret\",\n        issuerUri: \"https://www.test.com/issueToken\",\n        scopes: [\"read\"],\n    },\n    localResponseCachePerInstance: {\n        size: \"100MB\",\n        timeToLive: \"30s\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example\",\n    location=\"West Europe\")\nexample_spring_cloud_service = azure.appplatform.SpringCloudService(\"example\",\n    name=\"example\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku_name=\"E0\")\nexample_spring_cloud_gateway = azure.appplatform.SpringCloudGateway(\"example\",\n    name=\"default\",\n    spring_cloud_service_id=example_spring_cloud_service.id,\n    https_only=False,\n    public_network_access_enabled=True,\n    instance_count=2,\n    api_metadata={\n        \"description\": \"example description\",\n        \"documentation_url\": \"https://www.example.com/docs\",\n        \"server_url\": \"https://wwww.example.com\",\n        \"title\": \"example title\",\n        \"version\": \"1.0\",\n    },\n    cors={\n        \"credentials_allowed\": False,\n        \"allowed_headers\": [\"*\"],\n        \"allowed_methods\": [\"PUT\"],\n        \"allowed_origins\": [\"example.com\"],\n        \"exposed_headers\": [\"x-example-header\"],\n        \"max_age_seconds\": 86400,\n    },\n    quota={\n        \"cpu\": \"1\",\n        \"memory\": \"2Gi\",\n    },\n    sso={\n        \"client_id\": \"example id\",\n        \"client_secret\": \"example secret\",\n        \"issuer_uri\": \"https://www.test.com/issueToken\",\n        \"scopes\": [\"read\"],\n    },\n    local_response_cache_per_instance={\n        \"size\": \"100MB\",\n        \"time_to_live\": \"30s\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example\",\n        Location = \"West Europe\",\n    });\n\n    var exampleSpringCloudService = new Azure.AppPlatform.SpringCloudService(\"example\", new()\n    {\n        Name = \"example\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        SkuName = \"E0\",\n    });\n\n    var exampleSpringCloudGateway = new Azure.AppPlatform.SpringCloudGateway(\"example\", new()\n    {\n        Name = \"default\",\n        SpringCloudServiceId = exampleSpringCloudService.Id,\n        HttpsOnly = false,\n        PublicNetworkAccessEnabled = true,\n        InstanceCount = 2,\n        ApiMetadata = new Azure.AppPlatform.Inputs.SpringCloudGatewayApiMetadataArgs\n        {\n            Description = \"example description\",\n            DocumentationUrl = \"https://www.example.com/docs\",\n            ServerUrl = \"https://wwww.example.com\",\n            Title = \"example title\",\n            Version = \"1.0\",\n        },\n        Cors = new Azure.AppPlatform.Inputs.SpringCloudGatewayCorsArgs\n        {\n            CredentialsAllowed = false,\n            AllowedHeaders = new[]\n            {\n                \"*\",\n            },\n            AllowedMethods = new[]\n            {\n                \"PUT\",\n            },\n            AllowedOrigins = new[]\n            {\n                \"example.com\",\n            },\n            ExposedHeaders = new[]\n            {\n                \"x-example-header\",\n            },\n            MaxAgeSeconds = 86400,\n        },\n        Quota = new Azure.AppPlatform.Inputs.SpringCloudGatewayQuotaArgs\n        {\n            Cpu = \"1\",\n            Memory = \"2Gi\",\n        },\n        Sso = new Azure.AppPlatform.Inputs.SpringCloudGatewaySsoArgs\n        {\n            ClientId = \"example id\",\n            ClientSecret = \"example secret\",\n            IssuerUri = \"https://www.test.com/issueToken\",\n            Scopes = new[]\n            {\n                \"read\",\n            },\n        },\n        LocalResponseCachePerInstance = new Azure.AppPlatform.Inputs.SpringCloudGatewayLocalResponseCachePerInstanceArgs\n        {\n            Size = \"100MB\",\n            TimeToLive = \"30s\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/appplatform\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSpringCloudService, err := appplatform.NewSpringCloudService(ctx, \"example\", \u0026appplatform.SpringCloudServiceArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSkuName:           pulumi.String(\"E0\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = appplatform.NewSpringCloudGateway(ctx, \"example\", \u0026appplatform.SpringCloudGatewayArgs{\n\t\t\tName:                       pulumi.String(\"default\"),\n\t\t\tSpringCloudServiceId:       exampleSpringCloudService.ID(),\n\t\t\tHttpsOnly:                  pulumi.Bool(false),\n\t\t\tPublicNetworkAccessEnabled: pulumi.Bool(true),\n\t\t\tInstanceCount:              pulumi.Int(2),\n\t\t\tApiMetadata: \u0026appplatform.SpringCloudGatewayApiMetadataArgs{\n\t\t\t\tDescription:      pulumi.String(\"example description\"),\n\t\t\t\tDocumentationUrl: pulumi.String(\"https://www.example.com/docs\"),\n\t\t\t\tServerUrl:        pulumi.String(\"https://wwww.example.com\"),\n\t\t\t\tTitle:            pulumi.String(\"example title\"),\n\t\t\t\tVersion:          pulumi.String(\"1.0\"),\n\t\t\t},\n\t\t\tCors: \u0026appplatform.SpringCloudGatewayCorsArgs{\n\t\t\t\tCredentialsAllowed: pulumi.Bool(false),\n\t\t\t\tAllowedHeaders: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"*\"),\n\t\t\t\t},\n\t\t\t\tAllowedMethods: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"PUT\"),\n\t\t\t\t},\n\t\t\t\tAllowedOrigins: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"example.com\"),\n\t\t\t\t},\n\t\t\t\tExposedHeaders: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"x-example-header\"),\n\t\t\t\t},\n\t\t\t\tMaxAgeSeconds: pulumi.Int(86400),\n\t\t\t},\n\t\t\tQuota: \u0026appplatform.SpringCloudGatewayQuotaArgs{\n\t\t\t\tCpu:    pulumi.String(\"1\"),\n\t\t\t\tMemory: pulumi.String(\"2Gi\"),\n\t\t\t},\n\t\t\tSso: \u0026appplatform.SpringCloudGatewaySsoArgs{\n\t\t\t\tClientId:     pulumi.String(\"example id\"),\n\t\t\t\tClientSecret: pulumi.String(\"example secret\"),\n\t\t\t\tIssuerUri:    pulumi.String(\"https://www.test.com/issueToken\"),\n\t\t\t\tScopes: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"read\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tLocalResponseCachePerInstance: \u0026appplatform.SpringCloudGatewayLocalResponseCachePerInstanceArgs{\n\t\t\t\tSize:       pulumi.String(\"100MB\"),\n\t\t\t\tTimeToLive: pulumi.String(\"30s\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.appplatform.SpringCloudService;\nimport com.pulumi.azure.appplatform.SpringCloudServiceArgs;\nimport com.pulumi.azure.appplatform.SpringCloudGateway;\nimport com.pulumi.azure.appplatform.SpringCloudGatewayArgs;\nimport com.pulumi.azure.appplatform.inputs.SpringCloudGatewayApiMetadataArgs;\nimport com.pulumi.azure.appplatform.inputs.SpringCloudGatewayCorsArgs;\nimport com.pulumi.azure.appplatform.inputs.SpringCloudGatewayQuotaArgs;\nimport com.pulumi.azure.appplatform.inputs.SpringCloudGatewaySsoArgs;\nimport com.pulumi.azure.appplatform.inputs.SpringCloudGatewayLocalResponseCachePerInstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleSpringCloudService = new SpringCloudService(\"exampleSpringCloudService\", SpringCloudServiceArgs.builder()\n            .name(\"example\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .skuName(\"E0\")\n            .build());\n\n        var exampleSpringCloudGateway = new SpringCloudGateway(\"exampleSpringCloudGateway\", SpringCloudGatewayArgs.builder()\n            .name(\"default\")\n            .springCloudServiceId(exampleSpringCloudService.id())\n            .httpsOnly(false)\n            .publicNetworkAccessEnabled(true)\n            .instanceCount(2)\n            .apiMetadata(SpringCloudGatewayApiMetadataArgs.builder()\n                .description(\"example description\")\n                .documentationUrl(\"https://www.example.com/docs\")\n                .serverUrl(\"https://wwww.example.com\")\n                .title(\"example title\")\n                .version(\"1.0\")\n                .build())\n            .cors(SpringCloudGatewayCorsArgs.builder()\n                .credentialsAllowed(false)\n                .allowedHeaders(\"*\")\n                .allowedMethods(\"PUT\")\n                .allowedOrigins(\"example.com\")\n                .exposedHeaders(\"x-example-header\")\n                .maxAgeSeconds(86400)\n                .build())\n            .quota(SpringCloudGatewayQuotaArgs.builder()\n                .cpu(\"1\")\n                .memory(\"2Gi\")\n                .build())\n            .sso(SpringCloudGatewaySsoArgs.builder()\n                .clientId(\"example id\")\n                .clientSecret(\"example secret\")\n                .issuerUri(\"https://www.test.com/issueToken\")\n                .scopes(\"read\")\n                .build())\n            .localResponseCachePerInstance(SpringCloudGatewayLocalResponseCachePerInstanceArgs.builder()\n                .size(\"100MB\")\n                .timeToLive(\"30s\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example\n      location: West Europe\n  exampleSpringCloudService:\n    type: azure:appplatform:SpringCloudService\n    name: example\n    properties:\n      name: example\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      skuName: E0\n  exampleSpringCloudGateway:\n    type: azure:appplatform:SpringCloudGateway\n    name: example\n    properties:\n      name: default\n      springCloudServiceId: ${exampleSpringCloudService.id}\n      httpsOnly: false\n      publicNetworkAccessEnabled: true\n      instanceCount: 2\n      apiMetadata:\n        description: example description\n        documentationUrl: https://www.example.com/docs\n        serverUrl: https://wwww.example.com\n        title: example title\n        version: '1.0'\n      cors:\n        credentialsAllowed: false\n        allowedHeaders:\n          - '*'\n        allowedMethods:\n          - PUT\n        allowedOrigins:\n          - example.com\n        exposedHeaders:\n          - x-example-header\n        maxAgeSeconds: 86400\n      quota:\n        cpu: '1'\n        memory: 2Gi\n      sso:\n        clientId: example id\n        clientSecret: example secret\n        issuerUri: https://www.test.com/issueToken\n        scopes:\n          - read\n      localResponseCachePerInstance:\n        size: 100MB\n        timeToLive: 30s\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.AppPlatform` - 2024-01-01-preview\n\n## Import\n\nSpring Cloud Gateways can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:appplatform/springCloudGateway:SpringCloudGateway example /subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/resourceGroup1/providers/Microsoft.AppPlatform/spring/service1/gateways/gateway1\n```\n\n","properties":{"apiMetadata":{"$ref":"#/types/azure:appplatform/SpringCloudGatewayApiMetadata:SpringCloudGatewayApiMetadata","description":"A \u003cspan pulumi-lang-nodejs=\"`apiMetadata`\" pulumi-lang-dotnet=\"`ApiMetadata`\" pulumi-lang-go=\"`apiMetadata`\" pulumi-lang-python=\"`api_metadata`\" pulumi-lang-yaml=\"`apiMetadata`\" pulumi-lang-java=\"`apiMetadata`\"\u003e`api_metadata`\u003c/span\u003e block as defined below.\n"},"applicationPerformanceMonitoringIds":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Spring Cloud Application Performance Monitoring IDs.\n"},"applicationPerformanceMonitoringTypes":{"type":"array","items":{"type":"string"},"description":"Specifies a list of application performance monitoring types used in the Spring Cloud Gateway. The allowed values are `AppDynamics`, `ApplicationInsights`, `Dynatrace`, `ElasticAPM` and `NewRelic`.\n"},"clientAuthorization":{"$ref":"#/types/azure:appplatform/SpringCloudGatewayClientAuthorization:SpringCloudGatewayClientAuthorization","description":"A \u003cspan pulumi-lang-nodejs=\"`clientAuthorization`\" pulumi-lang-dotnet=\"`ClientAuthorization`\" pulumi-lang-go=\"`clientAuthorization`\" pulumi-lang-python=\"`client_authorization`\" pulumi-lang-yaml=\"`clientAuthorization`\" pulumi-lang-java=\"`clientAuthorization`\"\u003e`client_authorization`\u003c/span\u003e block as defined below.\n"},"cors":{"$ref":"#/types/azure:appplatform/SpringCloudGatewayCors:SpringCloudGatewayCors","description":"A \u003cspan pulumi-lang-nodejs=\"`cors`\" pulumi-lang-dotnet=\"`Cors`\" pulumi-lang-go=\"`cors`\" pulumi-lang-python=\"`cors`\" pulumi-lang-yaml=\"`cors`\" pulumi-lang-java=\"`cors`\"\u003e`cors`\u003c/span\u003e block as defined below.\n"},"environmentVariables":{"type":"object","additionalProperties":{"type":"string"},"description":"Specifies the environment variables of the Spring Cloud Gateway as a map of key-value pairs.\n"},"httpsOnly":{"type":"boolean","description":"is only https is allowed?\n"},"instanceCount":{"type":"integer","description":"Specifies the required instance count of the Spring Cloud Gateway. Possible Values are between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`500`\" pulumi-lang-dotnet=\"`500`\" pulumi-lang-go=\"`500`\" pulumi-lang-python=\"`500`\" pulumi-lang-yaml=\"`500`\" pulumi-lang-java=\"`500`\"\u003e`500`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e if not specified.\n"},"localResponseCachePerInstance":{"$ref":"#/types/azure:appplatform/SpringCloudGatewayLocalResponseCachePerInstance:SpringCloudGatewayLocalResponseCachePerInstance","description":"A \u003cspan pulumi-lang-nodejs=\"`localResponseCachePerInstance`\" pulumi-lang-dotnet=\"`LocalResponseCachePerInstance`\" pulumi-lang-go=\"`localResponseCachePerInstance`\" pulumi-lang-python=\"`local_response_cache_per_instance`\" pulumi-lang-yaml=\"`localResponseCachePerInstance`\" pulumi-lang-java=\"`localResponseCachePerInstance`\"\u003e`local_response_cache_per_instance`\u003c/span\u003e block as defined below. Only one of \u003cspan pulumi-lang-nodejs=\"`localResponseCachePerInstance`\" pulumi-lang-dotnet=\"`LocalResponseCachePerInstance`\" pulumi-lang-go=\"`localResponseCachePerInstance`\" pulumi-lang-python=\"`local_response_cache_per_instance`\" pulumi-lang-yaml=\"`localResponseCachePerInstance`\" pulumi-lang-java=\"`localResponseCachePerInstance`\"\u003e`local_response_cache_per_instance`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`localResponseCachePerRoute`\" pulumi-lang-dotnet=\"`LocalResponseCachePerRoute`\" pulumi-lang-go=\"`localResponseCachePerRoute`\" pulumi-lang-python=\"`local_response_cache_per_route`\" pulumi-lang-yaml=\"`localResponseCachePerRoute`\" pulumi-lang-java=\"`localResponseCachePerRoute`\"\u003e`local_response_cache_per_route`\u003c/span\u003e can be specified.\n"},"localResponseCachePerRoute":{"$ref":"#/types/azure:appplatform/SpringCloudGatewayLocalResponseCachePerRoute:SpringCloudGatewayLocalResponseCachePerRoute","description":"A \u003cspan pulumi-lang-nodejs=\"`localResponseCachePerRoute`\" pulumi-lang-dotnet=\"`LocalResponseCachePerRoute`\" pulumi-lang-go=\"`localResponseCachePerRoute`\" pulumi-lang-python=\"`local_response_cache_per_route`\" pulumi-lang-yaml=\"`localResponseCachePerRoute`\" pulumi-lang-java=\"`localResponseCachePerRoute`\"\u003e`local_response_cache_per_route`\u003c/span\u003e block as defined below. Only one of \u003cspan pulumi-lang-nodejs=\"`localResponseCachePerInstance`\" pulumi-lang-dotnet=\"`LocalResponseCachePerInstance`\" pulumi-lang-go=\"`localResponseCachePerInstance`\" pulumi-lang-python=\"`local_response_cache_per_instance`\" pulumi-lang-yaml=\"`localResponseCachePerInstance`\" pulumi-lang-java=\"`localResponseCachePerInstance`\"\u003e`local_response_cache_per_instance`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`localResponseCachePerRoute`\" pulumi-lang-dotnet=\"`LocalResponseCachePerRoute`\" pulumi-lang-go=\"`localResponseCachePerRoute`\" pulumi-lang-python=\"`local_response_cache_per_route`\" pulumi-lang-yaml=\"`localResponseCachePerRoute`\" pulumi-lang-java=\"`localResponseCachePerRoute`\"\u003e`local_response_cache_per_route`\u003c/span\u003e can be specified.\n"},"name":{"type":"string","description":"The name which should be used for this Spring Cloud Gateway. Changing this forces a new Spring Cloud Gateway to be created. The only possible value is \u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\"\u003e`default`\u003c/span\u003e.\n"},"publicNetworkAccessEnabled":{"type":"boolean","description":"Indicates whether the Spring Cloud Gateway exposes endpoint.\n"},"quota":{"$ref":"#/types/azure:appplatform/SpringCloudGatewayQuota:SpringCloudGatewayQuota","description":"A \u003cspan pulumi-lang-nodejs=\"`quota`\" pulumi-lang-dotnet=\"`Quota`\" pulumi-lang-go=\"`quota`\" pulumi-lang-python=\"`quota`\" pulumi-lang-yaml=\"`quota`\" pulumi-lang-java=\"`quota`\"\u003e`quota`\u003c/span\u003e block as defined below.\n"},"sensitiveEnvironmentVariables":{"type":"object","additionalProperties":{"type":"string"},"description":"Specifies the sensitive environment variables of the Spring Cloud Gateway as a map of key-value pairs.\n","secret":true},"springCloudServiceId":{"type":"string","description":"The ID of the Spring Cloud Service. Changing this forces a new Spring Cloud Gateway to be created.\n"},"sso":{"$ref":"#/types/azure:appplatform/SpringCloudGatewaySso:SpringCloudGatewaySso","description":"A \u003cspan pulumi-lang-nodejs=\"`sso`\" pulumi-lang-dotnet=\"`Sso`\" pulumi-lang-go=\"`sso`\" pulumi-lang-python=\"`sso`\" pulumi-lang-yaml=\"`sso`\" pulumi-lang-java=\"`sso`\"\u003e`sso`\u003c/span\u003e block as defined below.\n"},"url":{"type":"string","description":"URL of the Spring Cloud Gateway, exposed when 'public_network_access_enabled' is true.\n"}},"required":["name","quota","springCloudServiceId","url"],"inputProperties":{"apiMetadata":{"$ref":"#/types/azure:appplatform/SpringCloudGatewayApiMetadata:SpringCloudGatewayApiMetadata","description":"A \u003cspan pulumi-lang-nodejs=\"`apiMetadata`\" pulumi-lang-dotnet=\"`ApiMetadata`\" pulumi-lang-go=\"`apiMetadata`\" pulumi-lang-python=\"`api_metadata`\" pulumi-lang-yaml=\"`apiMetadata`\" pulumi-lang-java=\"`apiMetadata`\"\u003e`api_metadata`\u003c/span\u003e block as defined below.\n"},"applicationPerformanceMonitoringIds":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Spring Cloud Application Performance Monitoring IDs.\n"},"applicationPerformanceMonitoringTypes":{"type":"array","items":{"type":"string"},"description":"Specifies a list of application performance monitoring types used in the Spring Cloud Gateway. The allowed values are `AppDynamics`, `ApplicationInsights`, `Dynatrace`, `ElasticAPM` and `NewRelic`.\n"},"clientAuthorization":{"$ref":"#/types/azure:appplatform/SpringCloudGatewayClientAuthorization:SpringCloudGatewayClientAuthorization","description":"A \u003cspan pulumi-lang-nodejs=\"`clientAuthorization`\" pulumi-lang-dotnet=\"`ClientAuthorization`\" pulumi-lang-go=\"`clientAuthorization`\" pulumi-lang-python=\"`client_authorization`\" pulumi-lang-yaml=\"`clientAuthorization`\" pulumi-lang-java=\"`clientAuthorization`\"\u003e`client_authorization`\u003c/span\u003e block as defined below.\n"},"cors":{"$ref":"#/types/azure:appplatform/SpringCloudGatewayCors:SpringCloudGatewayCors","description":"A \u003cspan pulumi-lang-nodejs=\"`cors`\" pulumi-lang-dotnet=\"`Cors`\" pulumi-lang-go=\"`cors`\" pulumi-lang-python=\"`cors`\" pulumi-lang-yaml=\"`cors`\" pulumi-lang-java=\"`cors`\"\u003e`cors`\u003c/span\u003e block as defined below.\n"},"environmentVariables":{"type":"object","additionalProperties":{"type":"string"},"description":"Specifies the environment variables of the Spring Cloud Gateway as a map of key-value pairs.\n"},"httpsOnly":{"type":"boolean","description":"is only https is allowed?\n"},"instanceCount":{"type":"integer","description":"Specifies the required instance count of the Spring Cloud Gateway. Possible Values are between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`500`\" pulumi-lang-dotnet=\"`500`\" pulumi-lang-go=\"`500`\" pulumi-lang-python=\"`500`\" pulumi-lang-yaml=\"`500`\" pulumi-lang-java=\"`500`\"\u003e`500`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e if not specified.\n"},"localResponseCachePerInstance":{"$ref":"#/types/azure:appplatform/SpringCloudGatewayLocalResponseCachePerInstance:SpringCloudGatewayLocalResponseCachePerInstance","description":"A \u003cspan pulumi-lang-nodejs=\"`localResponseCachePerInstance`\" pulumi-lang-dotnet=\"`LocalResponseCachePerInstance`\" pulumi-lang-go=\"`localResponseCachePerInstance`\" pulumi-lang-python=\"`local_response_cache_per_instance`\" pulumi-lang-yaml=\"`localResponseCachePerInstance`\" pulumi-lang-java=\"`localResponseCachePerInstance`\"\u003e`local_response_cache_per_instance`\u003c/span\u003e block as defined below. Only one of \u003cspan pulumi-lang-nodejs=\"`localResponseCachePerInstance`\" pulumi-lang-dotnet=\"`LocalResponseCachePerInstance`\" pulumi-lang-go=\"`localResponseCachePerInstance`\" pulumi-lang-python=\"`local_response_cache_per_instance`\" pulumi-lang-yaml=\"`localResponseCachePerInstance`\" pulumi-lang-java=\"`localResponseCachePerInstance`\"\u003e`local_response_cache_per_instance`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`localResponseCachePerRoute`\" pulumi-lang-dotnet=\"`LocalResponseCachePerRoute`\" pulumi-lang-go=\"`localResponseCachePerRoute`\" pulumi-lang-python=\"`local_response_cache_per_route`\" pulumi-lang-yaml=\"`localResponseCachePerRoute`\" pulumi-lang-java=\"`localResponseCachePerRoute`\"\u003e`local_response_cache_per_route`\u003c/span\u003e can be specified.\n"},"localResponseCachePerRoute":{"$ref":"#/types/azure:appplatform/SpringCloudGatewayLocalResponseCachePerRoute:SpringCloudGatewayLocalResponseCachePerRoute","description":"A \u003cspan pulumi-lang-nodejs=\"`localResponseCachePerRoute`\" pulumi-lang-dotnet=\"`LocalResponseCachePerRoute`\" pulumi-lang-go=\"`localResponseCachePerRoute`\" pulumi-lang-python=\"`local_response_cache_per_route`\" pulumi-lang-yaml=\"`localResponseCachePerRoute`\" pulumi-lang-java=\"`localResponseCachePerRoute`\"\u003e`local_response_cache_per_route`\u003c/span\u003e block as defined below. Only one of \u003cspan pulumi-lang-nodejs=\"`localResponseCachePerInstance`\" pulumi-lang-dotnet=\"`LocalResponseCachePerInstance`\" pulumi-lang-go=\"`localResponseCachePerInstance`\" pulumi-lang-python=\"`local_response_cache_per_instance`\" pulumi-lang-yaml=\"`localResponseCachePerInstance`\" pulumi-lang-java=\"`localResponseCachePerInstance`\"\u003e`local_response_cache_per_instance`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`localResponseCachePerRoute`\" pulumi-lang-dotnet=\"`LocalResponseCachePerRoute`\" pulumi-lang-go=\"`localResponseCachePerRoute`\" pulumi-lang-python=\"`local_response_cache_per_route`\" pulumi-lang-yaml=\"`localResponseCachePerRoute`\" pulumi-lang-java=\"`localResponseCachePerRoute`\"\u003e`local_response_cache_per_route`\u003c/span\u003e can be specified.\n"},"name":{"type":"string","description":"The name which should be used for this Spring Cloud Gateway. Changing this forces a new Spring Cloud Gateway to be created. The only possible value is \u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\"\u003e`default`\u003c/span\u003e.\n","willReplaceOnChanges":true},"publicNetworkAccessEnabled":{"type":"boolean","description":"Indicates whether the Spring Cloud Gateway exposes endpoint.\n"},"quota":{"$ref":"#/types/azure:appplatform/SpringCloudGatewayQuota:SpringCloudGatewayQuota","description":"A \u003cspan pulumi-lang-nodejs=\"`quota`\" pulumi-lang-dotnet=\"`Quota`\" pulumi-lang-go=\"`quota`\" pulumi-lang-python=\"`quota`\" pulumi-lang-yaml=\"`quota`\" pulumi-lang-java=\"`quota`\"\u003e`quota`\u003c/span\u003e block as defined below.\n"},"sensitiveEnvironmentVariables":{"type":"object","additionalProperties":{"type":"string"},"description":"Specifies the sensitive environment variables of the Spring Cloud Gateway as a map of key-value pairs.\n","secret":true},"springCloudServiceId":{"type":"string","description":"The ID of the Spring Cloud Service. Changing this forces a new Spring Cloud Gateway to be created.\n","willReplaceOnChanges":true},"sso":{"$ref":"#/types/azure:appplatform/SpringCloudGatewaySso:SpringCloudGatewaySso","description":"A \u003cspan pulumi-lang-nodejs=\"`sso`\" pulumi-lang-dotnet=\"`Sso`\" pulumi-lang-go=\"`sso`\" pulumi-lang-python=\"`sso`\" pulumi-lang-yaml=\"`sso`\" pulumi-lang-java=\"`sso`\"\u003e`sso`\u003c/span\u003e block as defined below.\n"}},"requiredInputs":["springCloudServiceId"],"stateInputs":{"description":"Input properties used for looking up and filtering SpringCloudGateway resources.\n","properties":{"apiMetadata":{"$ref":"#/types/azure:appplatform/SpringCloudGatewayApiMetadata:SpringCloudGatewayApiMetadata","description":"A \u003cspan pulumi-lang-nodejs=\"`apiMetadata`\" pulumi-lang-dotnet=\"`ApiMetadata`\" pulumi-lang-go=\"`apiMetadata`\" pulumi-lang-python=\"`api_metadata`\" pulumi-lang-yaml=\"`apiMetadata`\" pulumi-lang-java=\"`apiMetadata`\"\u003e`api_metadata`\u003c/span\u003e block as defined below.\n"},"applicationPerformanceMonitoringIds":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Spring Cloud Application Performance Monitoring IDs.\n"},"applicationPerformanceMonitoringTypes":{"type":"array","items":{"type":"string"},"description":"Specifies a list of application performance monitoring types used in the Spring Cloud Gateway. The allowed values are `AppDynamics`, `ApplicationInsights`, `Dynatrace`, `ElasticAPM` and `NewRelic`.\n"},"clientAuthorization":{"$ref":"#/types/azure:appplatform/SpringCloudGatewayClientAuthorization:SpringCloudGatewayClientAuthorization","description":"A \u003cspan pulumi-lang-nodejs=\"`clientAuthorization`\" pulumi-lang-dotnet=\"`ClientAuthorization`\" pulumi-lang-go=\"`clientAuthorization`\" pulumi-lang-python=\"`client_authorization`\" pulumi-lang-yaml=\"`clientAuthorization`\" pulumi-lang-java=\"`clientAuthorization`\"\u003e`client_authorization`\u003c/span\u003e block as defined below.\n"},"cors":{"$ref":"#/types/azure:appplatform/SpringCloudGatewayCors:SpringCloudGatewayCors","description":"A \u003cspan pulumi-lang-nodejs=\"`cors`\" pulumi-lang-dotnet=\"`Cors`\" pulumi-lang-go=\"`cors`\" pulumi-lang-python=\"`cors`\" pulumi-lang-yaml=\"`cors`\" pulumi-lang-java=\"`cors`\"\u003e`cors`\u003c/span\u003e block as defined below.\n"},"environmentVariables":{"type":"object","additionalProperties":{"type":"string"},"description":"Specifies the environment variables of the Spring Cloud Gateway as a map of key-value pairs.\n"},"httpsOnly":{"type":"boolean","description":"is only https is allowed?\n"},"instanceCount":{"type":"integer","description":"Specifies the required instance count of the Spring Cloud Gateway. Possible Values are between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`500`\" pulumi-lang-dotnet=\"`500`\" pulumi-lang-go=\"`500`\" pulumi-lang-python=\"`500`\" pulumi-lang-yaml=\"`500`\" pulumi-lang-java=\"`500`\"\u003e`500`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e if not specified.\n"},"localResponseCachePerInstance":{"$ref":"#/types/azure:appplatform/SpringCloudGatewayLocalResponseCachePerInstance:SpringCloudGatewayLocalResponseCachePerInstance","description":"A \u003cspan pulumi-lang-nodejs=\"`localResponseCachePerInstance`\" pulumi-lang-dotnet=\"`LocalResponseCachePerInstance`\" pulumi-lang-go=\"`localResponseCachePerInstance`\" pulumi-lang-python=\"`local_response_cache_per_instance`\" pulumi-lang-yaml=\"`localResponseCachePerInstance`\" pulumi-lang-java=\"`localResponseCachePerInstance`\"\u003e`local_response_cache_per_instance`\u003c/span\u003e block as defined below. Only one of \u003cspan pulumi-lang-nodejs=\"`localResponseCachePerInstance`\" pulumi-lang-dotnet=\"`LocalResponseCachePerInstance`\" pulumi-lang-go=\"`localResponseCachePerInstance`\" pulumi-lang-python=\"`local_response_cache_per_instance`\" pulumi-lang-yaml=\"`localResponseCachePerInstance`\" pulumi-lang-java=\"`localResponseCachePerInstance`\"\u003e`local_response_cache_per_instance`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`localResponseCachePerRoute`\" pulumi-lang-dotnet=\"`LocalResponseCachePerRoute`\" pulumi-lang-go=\"`localResponseCachePerRoute`\" pulumi-lang-python=\"`local_response_cache_per_route`\" pulumi-lang-yaml=\"`localResponseCachePerRoute`\" pulumi-lang-java=\"`localResponseCachePerRoute`\"\u003e`local_response_cache_per_route`\u003c/span\u003e can be specified.\n"},"localResponseCachePerRoute":{"$ref":"#/types/azure:appplatform/SpringCloudGatewayLocalResponseCachePerRoute:SpringCloudGatewayLocalResponseCachePerRoute","description":"A \u003cspan pulumi-lang-nodejs=\"`localResponseCachePerRoute`\" pulumi-lang-dotnet=\"`LocalResponseCachePerRoute`\" pulumi-lang-go=\"`localResponseCachePerRoute`\" pulumi-lang-python=\"`local_response_cache_per_route`\" pulumi-lang-yaml=\"`localResponseCachePerRoute`\" pulumi-lang-java=\"`localResponseCachePerRoute`\"\u003e`local_response_cache_per_route`\u003c/span\u003e block as defined below. Only one of \u003cspan pulumi-lang-nodejs=\"`localResponseCachePerInstance`\" pulumi-lang-dotnet=\"`LocalResponseCachePerInstance`\" pulumi-lang-go=\"`localResponseCachePerInstance`\" pulumi-lang-python=\"`local_response_cache_per_instance`\" pulumi-lang-yaml=\"`localResponseCachePerInstance`\" pulumi-lang-java=\"`localResponseCachePerInstance`\"\u003e`local_response_cache_per_instance`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`localResponseCachePerRoute`\" pulumi-lang-dotnet=\"`LocalResponseCachePerRoute`\" pulumi-lang-go=\"`localResponseCachePerRoute`\" pulumi-lang-python=\"`local_response_cache_per_route`\" pulumi-lang-yaml=\"`localResponseCachePerRoute`\" pulumi-lang-java=\"`localResponseCachePerRoute`\"\u003e`local_response_cache_per_route`\u003c/span\u003e can be specified.\n"},"name":{"type":"string","description":"The name which should be used for this Spring Cloud Gateway. Changing this forces a new Spring Cloud Gateway to be created. The only possible value is \u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\"\u003e`default`\u003c/span\u003e.\n","willReplaceOnChanges":true},"publicNetworkAccessEnabled":{"type":"boolean","description":"Indicates whether the Spring Cloud Gateway exposes endpoint.\n"},"quota":{"$ref":"#/types/azure:appplatform/SpringCloudGatewayQuota:SpringCloudGatewayQuota","description":"A \u003cspan pulumi-lang-nodejs=\"`quota`\" pulumi-lang-dotnet=\"`Quota`\" pulumi-lang-go=\"`quota`\" pulumi-lang-python=\"`quota`\" pulumi-lang-yaml=\"`quota`\" pulumi-lang-java=\"`quota`\"\u003e`quota`\u003c/span\u003e block as defined below.\n"},"sensitiveEnvironmentVariables":{"type":"object","additionalProperties":{"type":"string"},"description":"Specifies the sensitive environment variables of the Spring Cloud Gateway as a map of key-value pairs.\n","secret":true},"springCloudServiceId":{"type":"string","description":"The ID of the Spring Cloud Service. Changing this forces a new Spring Cloud Gateway to be created.\n","willReplaceOnChanges":true},"sso":{"$ref":"#/types/azure:appplatform/SpringCloudGatewaySso:SpringCloudGatewaySso","description":"A \u003cspan pulumi-lang-nodejs=\"`sso`\" pulumi-lang-dotnet=\"`Sso`\" pulumi-lang-go=\"`sso`\" pulumi-lang-python=\"`sso`\" pulumi-lang-yaml=\"`sso`\" pulumi-lang-java=\"`sso`\"\u003e`sso`\u003c/span\u003e block as defined below.\n"},"url":{"type":"string","description":"URL of the Spring Cloud Gateway, exposed when 'public_network_access_enabled' is true.\n"}},"type":"object"}},"azure:appplatform/springCloudGatewayCustomDomain:SpringCloudGatewayCustomDomain":{"description":"Manages a Spring Cloud Gateway Custom Domain.\n\n\u003e **Note:** This resource is applicable only for Spring Cloud Service with enterprise tier.\n\n!\u003e **Note:** Azure Spring Apps is now deprecated and will be retired on 2028-05-31 - as such the \u003cspan pulumi-lang-nodejs=\"`azure.appplatform.SpringCloudGatewayCustomDomain`\" pulumi-lang-dotnet=\"`azure.appplatform.SpringCloudGatewayCustomDomain`\" pulumi-lang-go=\"`appplatform.SpringCloudGatewayCustomDomain`\" pulumi-lang-python=\"`appplatform.SpringCloudGatewayCustomDomain`\" pulumi-lang-yaml=\"`azure.appplatform.SpringCloudGatewayCustomDomain`\" pulumi-lang-java=\"`azure.appplatform.SpringCloudGatewayCustomDomain`\"\u003e`azure.appplatform.SpringCloudGatewayCustomDomain`\u003c/span\u003e resource is deprecated and will be removed in a future major version of the AzureRM Provider. See https://aka.ms/asaretirement for more information.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example\",\n    location: \"West Europe\",\n});\nconst exampleSpringCloudService = new azure.appplatform.SpringCloudService(\"example\", {\n    name: \"example\",\n    location: example.location,\n    resourceGroupName: example.name,\n    skuName: \"E0\",\n});\nconst exampleSpringCloudGateway = new azure.appplatform.SpringCloudGateway(\"example\", {\n    name: \"default\",\n    springCloudServiceId: exampleSpringCloudService.id,\n});\nconst exampleSpringCloudGatewayCustomDomain = new azure.appplatform.SpringCloudGatewayCustomDomain(\"example\", {\n    name: \"example.com\",\n    springCloudGatewayId: exampleSpringCloudGateway.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example\",\n    location=\"West Europe\")\nexample_spring_cloud_service = azure.appplatform.SpringCloudService(\"example\",\n    name=\"example\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku_name=\"E0\")\nexample_spring_cloud_gateway = azure.appplatform.SpringCloudGateway(\"example\",\n    name=\"default\",\n    spring_cloud_service_id=example_spring_cloud_service.id)\nexample_spring_cloud_gateway_custom_domain = azure.appplatform.SpringCloudGatewayCustomDomain(\"example\",\n    name=\"example.com\",\n    spring_cloud_gateway_id=example_spring_cloud_gateway.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example\",\n        Location = \"West Europe\",\n    });\n\n    var exampleSpringCloudService = new Azure.AppPlatform.SpringCloudService(\"example\", new()\n    {\n        Name = \"example\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        SkuName = \"E0\",\n    });\n\n    var exampleSpringCloudGateway = new Azure.AppPlatform.SpringCloudGateway(\"example\", new()\n    {\n        Name = \"default\",\n        SpringCloudServiceId = exampleSpringCloudService.Id,\n    });\n\n    var exampleSpringCloudGatewayCustomDomain = new Azure.AppPlatform.SpringCloudGatewayCustomDomain(\"example\", new()\n    {\n        Name = \"example.com\",\n        SpringCloudGatewayId = exampleSpringCloudGateway.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/appplatform\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSpringCloudService, err := appplatform.NewSpringCloudService(ctx, \"example\", \u0026appplatform.SpringCloudServiceArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSkuName:           pulumi.String(\"E0\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSpringCloudGateway, err := appplatform.NewSpringCloudGateway(ctx, \"example\", \u0026appplatform.SpringCloudGatewayArgs{\n\t\t\tName:                 pulumi.String(\"default\"),\n\t\t\tSpringCloudServiceId: exampleSpringCloudService.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = appplatform.NewSpringCloudGatewayCustomDomain(ctx, \"example\", \u0026appplatform.SpringCloudGatewayCustomDomainArgs{\n\t\t\tName:                 pulumi.String(\"example.com\"),\n\t\t\tSpringCloudGatewayId: exampleSpringCloudGateway.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.appplatform.SpringCloudService;\nimport com.pulumi.azure.appplatform.SpringCloudServiceArgs;\nimport com.pulumi.azure.appplatform.SpringCloudGateway;\nimport com.pulumi.azure.appplatform.SpringCloudGatewayArgs;\nimport com.pulumi.azure.appplatform.SpringCloudGatewayCustomDomain;\nimport com.pulumi.azure.appplatform.SpringCloudGatewayCustomDomainArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleSpringCloudService = new SpringCloudService(\"exampleSpringCloudService\", SpringCloudServiceArgs.builder()\n            .name(\"example\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .skuName(\"E0\")\n            .build());\n\n        var exampleSpringCloudGateway = new SpringCloudGateway(\"exampleSpringCloudGateway\", SpringCloudGatewayArgs.builder()\n            .name(\"default\")\n            .springCloudServiceId(exampleSpringCloudService.id())\n            .build());\n\n        var exampleSpringCloudGatewayCustomDomain = new SpringCloudGatewayCustomDomain(\"exampleSpringCloudGatewayCustomDomain\", SpringCloudGatewayCustomDomainArgs.builder()\n            .name(\"example.com\")\n            .springCloudGatewayId(exampleSpringCloudGateway.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example\n      location: West Europe\n  exampleSpringCloudService:\n    type: azure:appplatform:SpringCloudService\n    name: example\n    properties:\n      name: example\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      skuName: E0\n  exampleSpringCloudGateway:\n    type: azure:appplatform:SpringCloudGateway\n    name: example\n    properties:\n      name: default\n      springCloudServiceId: ${exampleSpringCloudService.id}\n  exampleSpringCloudGatewayCustomDomain:\n    type: azure:appplatform:SpringCloudGatewayCustomDomain\n    name: example\n    properties:\n      name: example.com\n      springCloudGatewayId: ${exampleSpringCloudGateway.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nSpring Cloud Gateway Custom Domains can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:appplatform/springCloudGatewayCustomDomain:SpringCloudGatewayCustomDomain example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup1/providers/Microsoft.AppPlatform/spring/service1/gateways/gateway1/domains/domain1\n```\n\n","properties":{"name":{"type":"string","description":"The name which should be used for this Spring Cloud Gateway Custom Domain. Changing this forces a new Spring Cloud Gateway Custom Domain to be created.\n"},"springCloudGatewayId":{"type":"string","description":"The ID of the Spring Cloud Gateway. Changing this forces a new Spring Cloud Gateway Custom Domain to be created.\n"},"thumbprint":{"type":"string","description":"Specifies the thumbprint of the Spring Cloud Certificate that binds to the Spring Cloud Gateway Custom Domain.\n"}},"required":["name","springCloudGatewayId"],"inputProperties":{"name":{"type":"string","description":"The name which should be used for this Spring Cloud Gateway Custom Domain. Changing this forces a new Spring Cloud Gateway Custom Domain to be created.\n","willReplaceOnChanges":true},"springCloudGatewayId":{"type":"string","description":"The ID of the Spring Cloud Gateway. Changing this forces a new Spring Cloud Gateway Custom Domain to be created.\n","willReplaceOnChanges":true},"thumbprint":{"type":"string","description":"Specifies the thumbprint of the Spring Cloud Certificate that binds to the Spring Cloud Gateway Custom Domain.\n"}},"requiredInputs":["springCloudGatewayId"],"stateInputs":{"description":"Input properties used for looking up and filtering SpringCloudGatewayCustomDomain resources.\n","properties":{"name":{"type":"string","description":"The name which should be used for this Spring Cloud Gateway Custom Domain. Changing this forces a new Spring Cloud Gateway Custom Domain to be created.\n","willReplaceOnChanges":true},"springCloudGatewayId":{"type":"string","description":"The ID of the Spring Cloud Gateway. Changing this forces a new Spring Cloud Gateway Custom Domain to be created.\n","willReplaceOnChanges":true},"thumbprint":{"type":"string","description":"Specifies the thumbprint of the Spring Cloud Certificate that binds to the Spring Cloud Gateway Custom Domain.\n"}},"type":"object"}},"azure:appplatform/springCloudGatewayRouteConfig:SpringCloudGatewayRouteConfig":{"description":"Manages a Spring Cloud Gateway Route Config.\n\n\u003e **Note:** This resource is applicable only for Spring Cloud Service with enterprise tier.\n\n!\u003e **Note:** Azure Spring Apps is now deprecated and will be retired on 2028-05-31 - as such the \u003cspan pulumi-lang-nodejs=\"`azure.appplatform.SpringCloudGatewayRouteConfig`\" pulumi-lang-dotnet=\"`azure.appplatform.SpringCloudGatewayRouteConfig`\" pulumi-lang-go=\"`appplatform.SpringCloudGatewayRouteConfig`\" pulumi-lang-python=\"`appplatform.SpringCloudGatewayRouteConfig`\" pulumi-lang-yaml=\"`azure.appplatform.SpringCloudGatewayRouteConfig`\" pulumi-lang-java=\"`azure.appplatform.SpringCloudGatewayRouteConfig`\"\u003e`azure.appplatform.SpringCloudGatewayRouteConfig`\u003c/span\u003e resource is deprecated and will be removed in a future major version of the AzureRM Provider. See https://aka.ms/asaretirement for more information.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example\",\n    location: \"West Europe\",\n});\nconst exampleSpringCloudService = new azure.appplatform.SpringCloudService(\"example\", {\n    name: \"example\",\n    location: example.location,\n    resourceGroupName: example.name,\n    skuName: \"E0\",\n});\nconst exampleSpringCloudApp = new azure.appplatform.SpringCloudApp(\"example\", {\n    name: \"example\",\n    resourceGroupName: example.name,\n    serviceName: exampleSpringCloudService.name,\n});\nconst exampleSpringCloudGateway = new azure.appplatform.SpringCloudGateway(\"example\", {\n    name: \"default\",\n    springCloudServiceId: exampleSpringCloudService.id,\n});\nconst exampleSpringCloudGatewayRouteConfig = new azure.appplatform.SpringCloudGatewayRouteConfig(\"example\", {\n    name: \"example\",\n    springCloudGatewayId: exampleSpringCloudGateway.id,\n    springCloudAppId: exampleSpringCloudApp.id,\n    protocol: \"HTTPS\",\n    routes: [{\n        description: \"example description\",\n        filters: [\n            \"StripPrefix=2\",\n            \"RateLimit=1,1s\",\n        ],\n        order: 1,\n        predicates: [\"Path=/api5/customer/**\"],\n        ssoValidationEnabled: true,\n        title: \"myApp route config\",\n        tokenRelay: true,\n        uri: \"https://www.example.com\",\n        classificationTags: [\n            \"tag1\",\n            \"tag2\",\n        ],\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example\",\n    location=\"West Europe\")\nexample_spring_cloud_service = azure.appplatform.SpringCloudService(\"example\",\n    name=\"example\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku_name=\"E0\")\nexample_spring_cloud_app = azure.appplatform.SpringCloudApp(\"example\",\n    name=\"example\",\n    resource_group_name=example.name,\n    service_name=example_spring_cloud_service.name)\nexample_spring_cloud_gateway = azure.appplatform.SpringCloudGateway(\"example\",\n    name=\"default\",\n    spring_cloud_service_id=example_spring_cloud_service.id)\nexample_spring_cloud_gateway_route_config = azure.appplatform.SpringCloudGatewayRouteConfig(\"example\",\n    name=\"example\",\n    spring_cloud_gateway_id=example_spring_cloud_gateway.id,\n    spring_cloud_app_id=example_spring_cloud_app.id,\n    protocol=\"HTTPS\",\n    routes=[{\n        \"description\": \"example description\",\n        \"filters\": [\n            \"StripPrefix=2\",\n            \"RateLimit=1,1s\",\n        ],\n        \"order\": 1,\n        \"predicates\": [\"Path=/api5/customer/**\"],\n        \"sso_validation_enabled\": True,\n        \"title\": \"myApp route config\",\n        \"token_relay\": True,\n        \"uri\": \"https://www.example.com\",\n        \"classification_tags\": [\n            \"tag1\",\n            \"tag2\",\n        ],\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example\",\n        Location = \"West Europe\",\n    });\n\n    var exampleSpringCloudService = new Azure.AppPlatform.SpringCloudService(\"example\", new()\n    {\n        Name = \"example\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        SkuName = \"E0\",\n    });\n\n    var exampleSpringCloudApp = new Azure.AppPlatform.SpringCloudApp(\"example\", new()\n    {\n        Name = \"example\",\n        ResourceGroupName = example.Name,\n        ServiceName = exampleSpringCloudService.Name,\n    });\n\n    var exampleSpringCloudGateway = new Azure.AppPlatform.SpringCloudGateway(\"example\", new()\n    {\n        Name = \"default\",\n        SpringCloudServiceId = exampleSpringCloudService.Id,\n    });\n\n    var exampleSpringCloudGatewayRouteConfig = new Azure.AppPlatform.SpringCloudGatewayRouteConfig(\"example\", new()\n    {\n        Name = \"example\",\n        SpringCloudGatewayId = exampleSpringCloudGateway.Id,\n        SpringCloudAppId = exampleSpringCloudApp.Id,\n        Protocol = \"HTTPS\",\n        Routes = new[]\n        {\n            new Azure.AppPlatform.Inputs.SpringCloudGatewayRouteConfigRouteArgs\n            {\n                Description = \"example description\",\n                Filters = new[]\n                {\n                    \"StripPrefix=2\",\n                    \"RateLimit=1,1s\",\n                },\n                Order = 1,\n                Predicates = new[]\n                {\n                    \"Path=/api5/customer/**\",\n                },\n                SsoValidationEnabled = true,\n                Title = \"myApp route config\",\n                TokenRelay = true,\n                Uri = \"https://www.example.com\",\n                ClassificationTags = new[]\n                {\n                    \"tag1\",\n                    \"tag2\",\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/appplatform\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSpringCloudService, err := appplatform.NewSpringCloudService(ctx, \"example\", \u0026appplatform.SpringCloudServiceArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSkuName:           pulumi.String(\"E0\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSpringCloudApp, err := appplatform.NewSpringCloudApp(ctx, \"example\", \u0026appplatform.SpringCloudAppArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tServiceName:       exampleSpringCloudService.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSpringCloudGateway, err := appplatform.NewSpringCloudGateway(ctx, \"example\", \u0026appplatform.SpringCloudGatewayArgs{\n\t\t\tName:                 pulumi.String(\"default\"),\n\t\t\tSpringCloudServiceId: exampleSpringCloudService.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = appplatform.NewSpringCloudGatewayRouteConfig(ctx, \"example\", \u0026appplatform.SpringCloudGatewayRouteConfigArgs{\n\t\t\tName:                 pulumi.String(\"example\"),\n\t\t\tSpringCloudGatewayId: exampleSpringCloudGateway.ID(),\n\t\t\tSpringCloudAppId:     exampleSpringCloudApp.ID(),\n\t\t\tProtocol:             pulumi.String(\"HTTPS\"),\n\t\t\tRoutes: appplatform.SpringCloudGatewayRouteConfigRouteArray{\n\t\t\t\t\u0026appplatform.SpringCloudGatewayRouteConfigRouteArgs{\n\t\t\t\t\tDescription: pulumi.String(\"example description\"),\n\t\t\t\t\tFilters: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"StripPrefix=2\"),\n\t\t\t\t\t\tpulumi.String(\"RateLimit=1,1s\"),\n\t\t\t\t\t},\n\t\t\t\t\tOrder: pulumi.Int(1),\n\t\t\t\t\tPredicates: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"Path=/api5/customer/**\"),\n\t\t\t\t\t},\n\t\t\t\t\tSsoValidationEnabled: pulumi.Bool(true),\n\t\t\t\t\tTitle:                pulumi.String(\"myApp route config\"),\n\t\t\t\t\tTokenRelay:           pulumi.Bool(true),\n\t\t\t\t\tUri:                  pulumi.String(\"https://www.example.com\"),\n\t\t\t\t\tClassificationTags: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"tag1\"),\n\t\t\t\t\t\tpulumi.String(\"tag2\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.appplatform.SpringCloudService;\nimport com.pulumi.azure.appplatform.SpringCloudServiceArgs;\nimport com.pulumi.azure.appplatform.SpringCloudApp;\nimport com.pulumi.azure.appplatform.SpringCloudAppArgs;\nimport com.pulumi.azure.appplatform.SpringCloudGateway;\nimport com.pulumi.azure.appplatform.SpringCloudGatewayArgs;\nimport com.pulumi.azure.appplatform.SpringCloudGatewayRouteConfig;\nimport com.pulumi.azure.appplatform.SpringCloudGatewayRouteConfigArgs;\nimport com.pulumi.azure.appplatform.inputs.SpringCloudGatewayRouteConfigRouteArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleSpringCloudService = new SpringCloudService(\"exampleSpringCloudService\", SpringCloudServiceArgs.builder()\n            .name(\"example\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .skuName(\"E0\")\n            .build());\n\n        var exampleSpringCloudApp = new SpringCloudApp(\"exampleSpringCloudApp\", SpringCloudAppArgs.builder()\n            .name(\"example\")\n            .resourceGroupName(example.name())\n            .serviceName(exampleSpringCloudService.name())\n            .build());\n\n        var exampleSpringCloudGateway = new SpringCloudGateway(\"exampleSpringCloudGateway\", SpringCloudGatewayArgs.builder()\n            .name(\"default\")\n            .springCloudServiceId(exampleSpringCloudService.id())\n            .build());\n\n        var exampleSpringCloudGatewayRouteConfig = new SpringCloudGatewayRouteConfig(\"exampleSpringCloudGatewayRouteConfig\", SpringCloudGatewayRouteConfigArgs.builder()\n            .name(\"example\")\n            .springCloudGatewayId(exampleSpringCloudGateway.id())\n            .springCloudAppId(exampleSpringCloudApp.id())\n            .protocol(\"HTTPS\")\n            .routes(SpringCloudGatewayRouteConfigRouteArgs.builder()\n                .description(\"example description\")\n                .filters(                \n                    \"StripPrefix=2\",\n                    \"RateLimit=1,1s\")\n                .order(1)\n                .predicates(\"Path=/api5/customer/**\")\n                .ssoValidationEnabled(true)\n                .title(\"myApp route config\")\n                .tokenRelay(true)\n                .uri(\"https://www.example.com\")\n                .classificationTags(                \n                    \"tag1\",\n                    \"tag2\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example\n      location: West Europe\n  exampleSpringCloudService:\n    type: azure:appplatform:SpringCloudService\n    name: example\n    properties:\n      name: example\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      skuName: E0\n  exampleSpringCloudApp:\n    type: azure:appplatform:SpringCloudApp\n    name: example\n    properties:\n      name: example\n      resourceGroupName: ${example.name}\n      serviceName: ${exampleSpringCloudService.name}\n  exampleSpringCloudGateway:\n    type: azure:appplatform:SpringCloudGateway\n    name: example\n    properties:\n      name: default\n      springCloudServiceId: ${exampleSpringCloudService.id}\n  exampleSpringCloudGatewayRouteConfig:\n    type: azure:appplatform:SpringCloudGatewayRouteConfig\n    name: example\n    properties:\n      name: example\n      springCloudGatewayId: ${exampleSpringCloudGateway.id}\n      springCloudAppId: ${exampleSpringCloudApp.id}\n      protocol: HTTPS\n      routes:\n        - description: example description\n          filters:\n            - StripPrefix=2\n            - RateLimit=1,1s\n          order: 1\n          predicates:\n            - Path=/api5/customer/**\n          ssoValidationEnabled: true\n          title: myApp route config\n          tokenRelay: true\n          uri: https://www.example.com\n          classificationTags:\n            - tag1\n            - tag2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nSpring Cloud Gateway Route Configs can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:appplatform/springCloudGatewayRouteConfig:SpringCloudGatewayRouteConfig example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup1/providers/Microsoft.AppPlatform/spring/service1/gateways/gateway1/routeConfigs/routeConfig1\n```\n\n","properties":{"filters":{"type":"array","items":{"type":"string"},"description":"Specifies a list of filters which are used to modify the request before sending it to the target endpoint, or the received response in app level.\n"},"name":{"type":"string","description":"The name which should be used for this Spring Cloud Gateway Route Config. Changing this forces a new Spring Cloud Gateway Route Config to be created.\n"},"openApi":{"$ref":"#/types/azure:appplatform/SpringCloudGatewayRouteConfigOpenApi:SpringCloudGatewayRouteConfigOpenApi","description":"One or more \u003cspan pulumi-lang-nodejs=\"`openApi`\" pulumi-lang-dotnet=\"`OpenApi`\" pulumi-lang-go=\"`openApi`\" pulumi-lang-python=\"`open_api`\" pulumi-lang-yaml=\"`openApi`\" pulumi-lang-java=\"`openApi`\"\u003e`open_api`\u003c/span\u003e blocks as defined below.\n"},"predicates":{"type":"array","items":{"type":"string"},"description":"Specifies a list of conditions to evaluate a route for each request in app level. Each predicate may be evaluated against request headers and parameter values. All of the predicates associated with a route must evaluate to true for the route to be matched to the request.\n"},"protocol":{"type":"string","description":"Specifies the protocol of routed Spring Cloud App. Allowed values are `HTTP` and `HTTPS`.\n\n\u003e **Note:** You likely want to use `HTTPS` in a production environment, since `HTTP` offers no encryption.\n"},"routes":{"type":"array","items":{"$ref":"#/types/azure:appplatform/SpringCloudGatewayRouteConfigRoute:SpringCloudGatewayRouteConfigRoute"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`route`\" pulumi-lang-dotnet=\"`Route`\" pulumi-lang-go=\"`route`\" pulumi-lang-python=\"`route`\" pulumi-lang-yaml=\"`route`\" pulumi-lang-java=\"`route`\"\u003e`route`\u003c/span\u003e blocks as defined below.\n"},"springCloudAppId":{"type":"string","description":"The ID of the Spring Cloud App.\n"},"springCloudGatewayId":{"type":"string","description":"The ID of the Spring Cloud Gateway. Changing this forces a new Spring Cloud Gateway Route Config to be created.\n"},"ssoValidationEnabled":{"type":"boolean","description":"Should the sso validation be enabled in app level?\n"}},"required":["name","protocol","springCloudGatewayId"],"inputProperties":{"filters":{"type":"array","items":{"type":"string"},"description":"Specifies a list of filters which are used to modify the request before sending it to the target endpoint, or the received response in app level.\n"},"name":{"type":"string","description":"The name which should be used for this Spring Cloud Gateway Route Config. Changing this forces a new Spring Cloud Gateway Route Config to be created.\n","willReplaceOnChanges":true},"openApi":{"$ref":"#/types/azure:appplatform/SpringCloudGatewayRouteConfigOpenApi:SpringCloudGatewayRouteConfigOpenApi","description":"One or more \u003cspan pulumi-lang-nodejs=\"`openApi`\" pulumi-lang-dotnet=\"`OpenApi`\" pulumi-lang-go=\"`openApi`\" pulumi-lang-python=\"`open_api`\" pulumi-lang-yaml=\"`openApi`\" pulumi-lang-java=\"`openApi`\"\u003e`open_api`\u003c/span\u003e blocks as defined below.\n"},"predicates":{"type":"array","items":{"type":"string"},"description":"Specifies a list of conditions to evaluate a route for each request in app level. Each predicate may be evaluated against request headers and parameter values. All of the predicates associated with a route must evaluate to true for the route to be matched to the request.\n"},"protocol":{"type":"string","description":"Specifies the protocol of routed Spring Cloud App. Allowed values are `HTTP` and `HTTPS`.\n\n\u003e **Note:** You likely want to use `HTTPS` in a production environment, since `HTTP` offers no encryption.\n"},"routes":{"type":"array","items":{"$ref":"#/types/azure:appplatform/SpringCloudGatewayRouteConfigRoute:SpringCloudGatewayRouteConfigRoute"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`route`\" pulumi-lang-dotnet=\"`Route`\" pulumi-lang-go=\"`route`\" pulumi-lang-python=\"`route`\" pulumi-lang-yaml=\"`route`\" pulumi-lang-java=\"`route`\"\u003e`route`\u003c/span\u003e blocks as defined below.\n"},"springCloudAppId":{"type":"string","description":"The ID of the Spring Cloud App.\n"},"springCloudGatewayId":{"type":"string","description":"The ID of the Spring Cloud Gateway. Changing this forces a new Spring Cloud Gateway Route Config to be created.\n","willReplaceOnChanges":true},"ssoValidationEnabled":{"type":"boolean","description":"Should the sso validation be enabled in app level?\n"}},"requiredInputs":["protocol","springCloudGatewayId"],"stateInputs":{"description":"Input properties used for looking up and filtering SpringCloudGatewayRouteConfig resources.\n","properties":{"filters":{"type":"array","items":{"type":"string"},"description":"Specifies a list of filters which are used to modify the request before sending it to the target endpoint, or the received response in app level.\n"},"name":{"type":"string","description":"The name which should be used for this Spring Cloud Gateway Route Config. Changing this forces a new Spring Cloud Gateway Route Config to be created.\n","willReplaceOnChanges":true},"openApi":{"$ref":"#/types/azure:appplatform/SpringCloudGatewayRouteConfigOpenApi:SpringCloudGatewayRouteConfigOpenApi","description":"One or more \u003cspan pulumi-lang-nodejs=\"`openApi`\" pulumi-lang-dotnet=\"`OpenApi`\" pulumi-lang-go=\"`openApi`\" pulumi-lang-python=\"`open_api`\" pulumi-lang-yaml=\"`openApi`\" pulumi-lang-java=\"`openApi`\"\u003e`open_api`\u003c/span\u003e blocks as defined below.\n"},"predicates":{"type":"array","items":{"type":"string"},"description":"Specifies a list of conditions to evaluate a route for each request in app level. Each predicate may be evaluated against request headers and parameter values. All of the predicates associated with a route must evaluate to true for the route to be matched to the request.\n"},"protocol":{"type":"string","description":"Specifies the protocol of routed Spring Cloud App. Allowed values are `HTTP` and `HTTPS`.\n\n\u003e **Note:** You likely want to use `HTTPS` in a production environment, since `HTTP` offers no encryption.\n"},"routes":{"type":"array","items":{"$ref":"#/types/azure:appplatform/SpringCloudGatewayRouteConfigRoute:SpringCloudGatewayRouteConfigRoute"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`route`\" pulumi-lang-dotnet=\"`Route`\" pulumi-lang-go=\"`route`\" pulumi-lang-python=\"`route`\" pulumi-lang-yaml=\"`route`\" pulumi-lang-java=\"`route`\"\u003e`route`\u003c/span\u003e blocks as defined below.\n"},"springCloudAppId":{"type":"string","description":"The ID of the Spring Cloud App.\n"},"springCloudGatewayId":{"type":"string","description":"The ID of the Spring Cloud Gateway. Changing this forces a new Spring Cloud Gateway Route Config to be created.\n","willReplaceOnChanges":true},"ssoValidationEnabled":{"type":"boolean","description":"Should the sso validation be enabled in app level?\n"}},"type":"object"}},"azure:appplatform/springCloudJavaDeployment:SpringCloudJavaDeployment":{"description":"Manages an Azure Spring Cloud Deployment with a Java runtime.\n\n\u003e **Note:** This resource is applicable only for Spring Cloud Service with basic and standard tier.\n\n!\u003e **Note:** Azure Spring Apps is now deprecated and will be retired on 2028-05-31 - as such the \u003cspan pulumi-lang-nodejs=\"`azure.appplatform.SpringCloudJavaDeployment`\" pulumi-lang-dotnet=\"`azure.appplatform.SpringCloudJavaDeployment`\" pulumi-lang-go=\"`appplatform.SpringCloudJavaDeployment`\" pulumi-lang-python=\"`appplatform.SpringCloudJavaDeployment`\" pulumi-lang-yaml=\"`azure.appplatform.SpringCloudJavaDeployment`\" pulumi-lang-java=\"`azure.appplatform.SpringCloudJavaDeployment`\"\u003e`azure.appplatform.SpringCloudJavaDeployment`\u003c/span\u003e resource is deprecated and will be removed in a future major version of the AzureRM Provider. See https://aka.ms/asaretirement for more information.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleSpringCloudService = new azure.appplatform.SpringCloudService(\"example\", {\n    name: \"example-springcloud\",\n    resourceGroupName: example.name,\n    location: example.location,\n});\nconst exampleSpringCloudApp = new azure.appplatform.SpringCloudApp(\"example\", {\n    name: \"example-springcloudapp\",\n    resourceGroupName: example.name,\n    serviceName: exampleSpringCloudService.name,\n    identity: {\n        type: \"SystemAssigned\",\n    },\n});\nconst exampleSpringCloudJavaDeployment = new azure.appplatform.SpringCloudJavaDeployment(\"example\", {\n    name: \"deploy1\",\n    springCloudAppId: exampleSpringCloudApp.id,\n    instanceCount: 2,\n    jvmOptions: \"-XX:+PrintGC\",\n    quota: {\n        cpu: \"2\",\n        memory: \"4Gi\",\n    },\n    runtimeVersion: \"Java_11\",\n    environmentVariables: {\n        Foo: \"Bar\",\n        Env: \"Staging\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_spring_cloud_service = azure.appplatform.SpringCloudService(\"example\",\n    name=\"example-springcloud\",\n    resource_group_name=example.name,\n    location=example.location)\nexample_spring_cloud_app = azure.appplatform.SpringCloudApp(\"example\",\n    name=\"example-springcloudapp\",\n    resource_group_name=example.name,\n    service_name=example_spring_cloud_service.name,\n    identity={\n        \"type\": \"SystemAssigned\",\n    })\nexample_spring_cloud_java_deployment = azure.appplatform.SpringCloudJavaDeployment(\"example\",\n    name=\"deploy1\",\n    spring_cloud_app_id=example_spring_cloud_app.id,\n    instance_count=2,\n    jvm_options=\"-XX:+PrintGC\",\n    quota={\n        \"cpu\": \"2\",\n        \"memory\": \"4Gi\",\n    },\n    runtime_version=\"Java_11\",\n    environment_variables={\n        \"Foo\": \"Bar\",\n        \"Env\": \"Staging\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleSpringCloudService = new Azure.AppPlatform.SpringCloudService(\"example\", new()\n    {\n        Name = \"example-springcloud\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n    });\n\n    var exampleSpringCloudApp = new Azure.AppPlatform.SpringCloudApp(\"example\", new()\n    {\n        Name = \"example-springcloudapp\",\n        ResourceGroupName = example.Name,\n        ServiceName = exampleSpringCloudService.Name,\n        Identity = new Azure.AppPlatform.Inputs.SpringCloudAppIdentityArgs\n        {\n            Type = \"SystemAssigned\",\n        },\n    });\n\n    var exampleSpringCloudJavaDeployment = new Azure.AppPlatform.SpringCloudJavaDeployment(\"example\", new()\n    {\n        Name = \"deploy1\",\n        SpringCloudAppId = exampleSpringCloudApp.Id,\n        InstanceCount = 2,\n        JvmOptions = \"-XX:+PrintGC\",\n        Quota = new Azure.AppPlatform.Inputs.SpringCloudJavaDeploymentQuotaArgs\n        {\n            Cpu = \"2\",\n            Memory = \"4Gi\",\n        },\n        RuntimeVersion = \"Java_11\",\n        EnvironmentVariables = \n        {\n            { \"Foo\", \"Bar\" },\n            { \"Env\", \"Staging\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/appplatform\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSpringCloudService, err := appplatform.NewSpringCloudService(ctx, \"example\", \u0026appplatform.SpringCloudServiceArgs{\n\t\t\tName:              pulumi.String(\"example-springcloud\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSpringCloudApp, err := appplatform.NewSpringCloudApp(ctx, \"example\", \u0026appplatform.SpringCloudAppArgs{\n\t\t\tName:              pulumi.String(\"example-springcloudapp\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tServiceName:       exampleSpringCloudService.Name,\n\t\t\tIdentity: \u0026appplatform.SpringCloudAppIdentityArgs{\n\t\t\t\tType: pulumi.String(\"SystemAssigned\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = appplatform.NewSpringCloudJavaDeployment(ctx, \"example\", \u0026appplatform.SpringCloudJavaDeploymentArgs{\n\t\t\tName:             pulumi.String(\"deploy1\"),\n\t\t\tSpringCloudAppId: exampleSpringCloudApp.ID(),\n\t\t\tInstanceCount:    pulumi.Int(2),\n\t\t\tJvmOptions:       pulumi.String(\"-XX:+PrintGC\"),\n\t\t\tQuota: \u0026appplatform.SpringCloudJavaDeploymentQuotaArgs{\n\t\t\t\tCpu:    pulumi.String(\"2\"),\n\t\t\t\tMemory: pulumi.String(\"4Gi\"),\n\t\t\t},\n\t\t\tRuntimeVersion: pulumi.String(\"Java_11\"),\n\t\t\tEnvironmentVariables: pulumi.StringMap{\n\t\t\t\t\"Foo\": pulumi.String(\"Bar\"),\n\t\t\t\t\"Env\": pulumi.String(\"Staging\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.appplatform.SpringCloudService;\nimport com.pulumi.azure.appplatform.SpringCloudServiceArgs;\nimport com.pulumi.azure.appplatform.SpringCloudApp;\nimport com.pulumi.azure.appplatform.SpringCloudAppArgs;\nimport com.pulumi.azure.appplatform.inputs.SpringCloudAppIdentityArgs;\nimport com.pulumi.azure.appplatform.SpringCloudJavaDeployment;\nimport com.pulumi.azure.appplatform.SpringCloudJavaDeploymentArgs;\nimport com.pulumi.azure.appplatform.inputs.SpringCloudJavaDeploymentQuotaArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleSpringCloudService = new SpringCloudService(\"exampleSpringCloudService\", SpringCloudServiceArgs.builder()\n            .name(\"example-springcloud\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .build());\n\n        var exampleSpringCloudApp = new SpringCloudApp(\"exampleSpringCloudApp\", SpringCloudAppArgs.builder()\n            .name(\"example-springcloudapp\")\n            .resourceGroupName(example.name())\n            .serviceName(exampleSpringCloudService.name())\n            .identity(SpringCloudAppIdentityArgs.builder()\n                .type(\"SystemAssigned\")\n                .build())\n            .build());\n\n        var exampleSpringCloudJavaDeployment = new SpringCloudJavaDeployment(\"exampleSpringCloudJavaDeployment\", SpringCloudJavaDeploymentArgs.builder()\n            .name(\"deploy1\")\n            .springCloudAppId(exampleSpringCloudApp.id())\n            .instanceCount(2)\n            .jvmOptions(\"-XX:+PrintGC\")\n            .quota(SpringCloudJavaDeploymentQuotaArgs.builder()\n                .cpu(\"2\")\n                .memory(\"4Gi\")\n                .build())\n            .runtimeVersion(\"Java_11\")\n            .environmentVariables(Map.ofEntries(\n                Map.entry(\"Foo\", \"Bar\"),\n                Map.entry(\"Env\", \"Staging\")\n            ))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleSpringCloudService:\n    type: azure:appplatform:SpringCloudService\n    name: example\n    properties:\n      name: example-springcloud\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n  exampleSpringCloudApp:\n    type: azure:appplatform:SpringCloudApp\n    name: example\n    properties:\n      name: example-springcloudapp\n      resourceGroupName: ${example.name}\n      serviceName: ${exampleSpringCloudService.name}\n      identity:\n        type: SystemAssigned\n  exampleSpringCloudJavaDeployment:\n    type: azure:appplatform:SpringCloudJavaDeployment\n    name: example\n    properties:\n      name: deploy1\n      springCloudAppId: ${exampleSpringCloudApp.id}\n      instanceCount: 2\n      jvmOptions: -XX:+PrintGC\n      quota:\n        cpu: '2'\n        memory: 4Gi\n      runtimeVersion: Java_11\n      environmentVariables:\n        Foo: Bar\n        Env: Staging\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nSpring Cloud Deployment can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:appplatform/springCloudJavaDeployment:SpringCloudJavaDeployment example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resourcegroup1/providers/Microsoft.AppPlatform/spring/service1/apps/app1/deployments/deploy1\n```\n\n","properties":{"environmentVariables":{"type":"object","additionalProperties":{"type":"string"},"description":"Specifies the environment variables of the Spring Cloud Deployment as a map of key-value pairs.\n"},"instanceCount":{"type":"integer","description":"Specifies the required instance count of the Spring Cloud Deployment. Possible Values are between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`500`\" pulumi-lang-dotnet=\"`500`\" pulumi-lang-go=\"`500`\" pulumi-lang-python=\"`500`\" pulumi-lang-yaml=\"`500`\" pulumi-lang-java=\"`500`\"\u003e`500`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e if not specified.\n"},"jvmOptions":{"type":"string","description":"Specifies the jvm option of the Spring Cloud Deployment.\n"},"name":{"type":"string","description":"Specifies the name of the Spring Cloud Deployment. Changing this forces a new resource to be created.\n"},"quota":{"$ref":"#/types/azure:appplatform/SpringCloudJavaDeploymentQuota:SpringCloudJavaDeploymentQuota","description":"A \u003cspan pulumi-lang-nodejs=\"`quota`\" pulumi-lang-dotnet=\"`Quota`\" pulumi-lang-go=\"`quota`\" pulumi-lang-python=\"`quota`\" pulumi-lang-yaml=\"`quota`\" pulumi-lang-java=\"`quota`\"\u003e`quota`\u003c/span\u003e block as defined below.\n"},"runtimeVersion":{"type":"string","description":"Specifies the runtime version of the Spring Cloud Deployment. Possible Values are `Java_8`, `Java_11` and `Java_17`. Defaults to `Java_8`.\n"},"springCloudAppId":{"type":"string","description":"Specifies the id of the Spring Cloud Application in which to create the Deployment. Changing this forces a new resource to be created.\n"}},"required":["name","quota","springCloudAppId"],"inputProperties":{"environmentVariables":{"type":"object","additionalProperties":{"type":"string"},"description":"Specifies the environment variables of the Spring Cloud Deployment as a map of key-value pairs.\n"},"instanceCount":{"type":"integer","description":"Specifies the required instance count of the Spring Cloud Deployment. Possible Values are between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`500`\" pulumi-lang-dotnet=\"`500`\" pulumi-lang-go=\"`500`\" pulumi-lang-python=\"`500`\" pulumi-lang-yaml=\"`500`\" pulumi-lang-java=\"`500`\"\u003e`500`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e if not specified.\n"},"jvmOptions":{"type":"string","description":"Specifies the jvm option of the Spring Cloud Deployment.\n"},"name":{"type":"string","description":"Specifies the name of the Spring Cloud Deployment. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"quota":{"$ref":"#/types/azure:appplatform/SpringCloudJavaDeploymentQuota:SpringCloudJavaDeploymentQuota","description":"A \u003cspan pulumi-lang-nodejs=\"`quota`\" pulumi-lang-dotnet=\"`Quota`\" pulumi-lang-go=\"`quota`\" pulumi-lang-python=\"`quota`\" pulumi-lang-yaml=\"`quota`\" pulumi-lang-java=\"`quota`\"\u003e`quota`\u003c/span\u003e block as defined below.\n"},"runtimeVersion":{"type":"string","description":"Specifies the runtime version of the Spring Cloud Deployment. Possible Values are `Java_8`, `Java_11` and `Java_17`. Defaults to `Java_8`.\n"},"springCloudAppId":{"type":"string","description":"Specifies the id of the Spring Cloud Application in which to create the Deployment. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["springCloudAppId"],"stateInputs":{"description":"Input properties used for looking up and filtering SpringCloudJavaDeployment resources.\n","properties":{"environmentVariables":{"type":"object","additionalProperties":{"type":"string"},"description":"Specifies the environment variables of the Spring Cloud Deployment as a map of key-value pairs.\n"},"instanceCount":{"type":"integer","description":"Specifies the required instance count of the Spring Cloud Deployment. Possible Values are between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`500`\" pulumi-lang-dotnet=\"`500`\" pulumi-lang-go=\"`500`\" pulumi-lang-python=\"`500`\" pulumi-lang-yaml=\"`500`\" pulumi-lang-java=\"`500`\"\u003e`500`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e if not specified.\n"},"jvmOptions":{"type":"string","description":"Specifies the jvm option of the Spring Cloud Deployment.\n"},"name":{"type":"string","description":"Specifies the name of the Spring Cloud Deployment. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"quota":{"$ref":"#/types/azure:appplatform/SpringCloudJavaDeploymentQuota:SpringCloudJavaDeploymentQuota","description":"A \u003cspan pulumi-lang-nodejs=\"`quota`\" pulumi-lang-dotnet=\"`Quota`\" pulumi-lang-go=\"`quota`\" pulumi-lang-python=\"`quota`\" pulumi-lang-yaml=\"`quota`\" pulumi-lang-java=\"`quota`\"\u003e`quota`\u003c/span\u003e block as defined below.\n"},"runtimeVersion":{"type":"string","description":"Specifies the runtime version of the Spring Cloud Deployment. Possible Values are `Java_8`, `Java_11` and `Java_17`. Defaults to `Java_8`.\n"},"springCloudAppId":{"type":"string","description":"Specifies the id of the Spring Cloud Application in which to create the Deployment. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:appplatform/springCloudNewRelicApplicationPerformanceMonitoring:SpringCloudNewRelicApplicationPerformanceMonitoring":{"description":"\u003e **Note:** This resource is only applicable for Spring Cloud Service enterprise tier\n\nManages a Spring Cloud Application Performance Monitoring resource for New Relic.\n\n!\u003e **Note:** Azure Spring Apps is now deprecated and will be retired on 2028-05-31 - as such the \u003cspan pulumi-lang-nodejs=\"`azure.appplatform.SpringCloudNewRelicApplicationPerformanceMonitoring`\" pulumi-lang-dotnet=\"`azure.appplatform.SpringCloudNewRelicApplicationPerformanceMonitoring`\" pulumi-lang-go=\"`appplatform.SpringCloudNewRelicApplicationPerformanceMonitoring`\" pulumi-lang-python=\"`appplatform.SpringCloudNewRelicApplicationPerformanceMonitoring`\" pulumi-lang-yaml=\"`azure.appplatform.SpringCloudNewRelicApplicationPerformanceMonitoring`\" pulumi-lang-java=\"`azure.appplatform.SpringCloudNewRelicApplicationPerformanceMonitoring`\"\u003e`azure.appplatform.SpringCloudNewRelicApplicationPerformanceMonitoring`\u003c/span\u003e resource is deprecated and will be removed in a future major version of the AzureRM Provider. See https://aka.ms/asaretirement for more information.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example\",\n    location: \"West Europe\",\n});\nconst exampleSpringCloudService = new azure.appplatform.SpringCloudService(\"example\", {\n    name: \"example\",\n    location: example.location,\n    resourceGroupName: example.name,\n    skuName: \"E0\",\n});\nconst exampleSpringCloudNewRelicApplicationPerformanceMonitoring = new azure.appplatform.SpringCloudNewRelicApplicationPerformanceMonitoring(\"example\", {\n    name: \"example\",\n    springCloudServiceId: exampleSpringCloudService.id,\n    appName: \"example-app-name\",\n    licenseKey: \"example-license-key\",\n    appServerPort: 8080,\n    labels: {\n        tagName1: \"tagValue1\",\n        tagName2: \"tagValue2\",\n    },\n    globallyEnabled: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example\",\n    location=\"West Europe\")\nexample_spring_cloud_service = azure.appplatform.SpringCloudService(\"example\",\n    name=\"example\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku_name=\"E0\")\nexample_spring_cloud_new_relic_application_performance_monitoring = azure.appplatform.SpringCloudNewRelicApplicationPerformanceMonitoring(\"example\",\n    name=\"example\",\n    spring_cloud_service_id=example_spring_cloud_service.id,\n    app_name=\"example-app-name\",\n    license_key=\"example-license-key\",\n    app_server_port=8080,\n    labels={\n        \"tagName1\": \"tagValue1\",\n        \"tagName2\": \"tagValue2\",\n    },\n    globally_enabled=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example\",\n        Location = \"West Europe\",\n    });\n\n    var exampleSpringCloudService = new Azure.AppPlatform.SpringCloudService(\"example\", new()\n    {\n        Name = \"example\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        SkuName = \"E0\",\n    });\n\n    var exampleSpringCloudNewRelicApplicationPerformanceMonitoring = new Azure.AppPlatform.SpringCloudNewRelicApplicationPerformanceMonitoring(\"example\", new()\n    {\n        Name = \"example\",\n        SpringCloudServiceId = exampleSpringCloudService.Id,\n        AppName = \"example-app-name\",\n        LicenseKey = \"example-license-key\",\n        AppServerPort = 8080,\n        Labels = \n        {\n            { \"tagName1\", \"tagValue1\" },\n            { \"tagName2\", \"tagValue2\" },\n        },\n        GloballyEnabled = true,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/appplatform\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSpringCloudService, err := appplatform.NewSpringCloudService(ctx, \"example\", \u0026appplatform.SpringCloudServiceArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSkuName:           pulumi.String(\"E0\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = appplatform.NewSpringCloudNewRelicApplicationPerformanceMonitoring(ctx, \"example\", \u0026appplatform.SpringCloudNewRelicApplicationPerformanceMonitoringArgs{\n\t\t\tName:                 pulumi.String(\"example\"),\n\t\t\tSpringCloudServiceId: exampleSpringCloudService.ID(),\n\t\t\tAppName:              pulumi.String(\"example-app-name\"),\n\t\t\tLicenseKey:           pulumi.String(\"example-license-key\"),\n\t\t\tAppServerPort:        pulumi.Int(8080),\n\t\t\tLabels: pulumi.StringMap{\n\t\t\t\t\"tagName1\": pulumi.String(\"tagValue1\"),\n\t\t\t\t\"tagName2\": pulumi.String(\"tagValue2\"),\n\t\t\t},\n\t\t\tGloballyEnabled: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.appplatform.SpringCloudService;\nimport com.pulumi.azure.appplatform.SpringCloudServiceArgs;\nimport com.pulumi.azure.appplatform.SpringCloudNewRelicApplicationPerformanceMonitoring;\nimport com.pulumi.azure.appplatform.SpringCloudNewRelicApplicationPerformanceMonitoringArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleSpringCloudService = new SpringCloudService(\"exampleSpringCloudService\", SpringCloudServiceArgs.builder()\n            .name(\"example\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .skuName(\"E0\")\n            .build());\n\n        var exampleSpringCloudNewRelicApplicationPerformanceMonitoring = new SpringCloudNewRelicApplicationPerformanceMonitoring(\"exampleSpringCloudNewRelicApplicationPerformanceMonitoring\", SpringCloudNewRelicApplicationPerformanceMonitoringArgs.builder()\n            .name(\"example\")\n            .springCloudServiceId(exampleSpringCloudService.id())\n            .appName(\"example-app-name\")\n            .licenseKey(\"example-license-key\")\n            .appServerPort(8080)\n            .labels(Map.ofEntries(\n                Map.entry(\"tagName1\", \"tagValue1\"),\n                Map.entry(\"tagName2\", \"tagValue2\")\n            ))\n            .globallyEnabled(true)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example\n      location: West Europe\n  exampleSpringCloudService:\n    type: azure:appplatform:SpringCloudService\n    name: example\n    properties:\n      name: example\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      skuName: E0\n  exampleSpringCloudNewRelicApplicationPerformanceMonitoring:\n    type: azure:appplatform:SpringCloudNewRelicApplicationPerformanceMonitoring\n    name: example\n    properties:\n      name: example\n      springCloudServiceId: ${exampleSpringCloudService.id}\n      appName: example-app-name\n      licenseKey: example-license-key\n      appServerPort: 8080\n      labels:\n        tagName1: tagValue1\n        tagName2: tagValue2\n      globallyEnabled: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.AppPlatform` - 2024-01-01-preview\n\n## Import\n\nSpring Cloud Application Performance Monitoring resource for New Relic can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:appplatform/springCloudNewRelicApplicationPerformanceMonitoring:SpringCloudNewRelicApplicationPerformanceMonitoring example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.AppPlatform/spring/service1/apms/apm1\n```\n\n","properties":{"agentEnabled":{"type":"boolean","description":"Specifies whether enable the agent. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"appName":{"type":"string","description":"Specifies the application name used to report data to New Relic.\n"},"appServerPort":{"type":"integer","description":"Specifies the port number to differentiate JVMs for the same app on the same machine.\n"},"auditModeEnabled":{"type":"boolean","description":"Specifies whether enable plain text logging of all data sent to New Relic to the agent logfile. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"autoAppNamingEnabled":{"type":"boolean","description":"Specifies whether enable the reporting of data separately for each web app. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"autoTransactionNamingEnabled":{"type":"boolean","description":"Specifies whether enable the component-based transaction naming. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"customTracingEnabled":{"type":"boolean","description":"Specifies whether enable all instrumentation using an `@Trace` annotation. Disabling this causes `@Trace` annotations to be ignored. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"globallyEnabled":{"type":"boolean","description":"Specifies whether the Spring Cloud Application Performance Monitoring resource for Application Insights is enabled globally. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"labels":{"type":"object","additionalProperties":{"type":"string"},"description":"Specifies a mapping of labels to be added to the New Relic application.\n"},"licenseKey":{"type":"string","description":"Specifies the license key associated with the New Relic account. This key binds your agent's data to your account in New Relic service.\n","secret":true},"name":{"type":"string","description":"The name which should be used for this Spring Cloud Application Performance Monitoring resource for New Relic. Changing this forces a new resource to be created.\n"},"springCloudServiceId":{"type":"string","description":"The ID of the Spring Cloud Service. Changing this forces a new resource to be created.\n"}},"required":["appName","licenseKey","name","springCloudServiceId"],"inputProperties":{"agentEnabled":{"type":"boolean","description":"Specifies whether enable the agent. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"appName":{"type":"string","description":"Specifies the application name used to report data to New Relic.\n"},"appServerPort":{"type":"integer","description":"Specifies the port number to differentiate JVMs for the same app on the same machine.\n"},"auditModeEnabled":{"type":"boolean","description":"Specifies whether enable plain text logging of all data sent to New Relic to the agent logfile. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"autoAppNamingEnabled":{"type":"boolean","description":"Specifies whether enable the reporting of data separately for each web app. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"autoTransactionNamingEnabled":{"type":"boolean","description":"Specifies whether enable the component-based transaction naming. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"customTracingEnabled":{"type":"boolean","description":"Specifies whether enable all instrumentation using an `@Trace` annotation. Disabling this causes `@Trace` annotations to be ignored. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"globallyEnabled":{"type":"boolean","description":"Specifies whether the Spring Cloud Application Performance Monitoring resource for Application Insights is enabled globally. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"labels":{"type":"object","additionalProperties":{"type":"string"},"description":"Specifies a mapping of labels to be added to the New Relic application.\n"},"licenseKey":{"type":"string","description":"Specifies the license key associated with the New Relic account. This key binds your agent's data to your account in New Relic service.\n","secret":true},"name":{"type":"string","description":"The name which should be used for this Spring Cloud Application Performance Monitoring resource for New Relic. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"springCloudServiceId":{"type":"string","description":"The ID of the Spring Cloud Service. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["appName","licenseKey","springCloudServiceId"],"stateInputs":{"description":"Input properties used for looking up and filtering SpringCloudNewRelicApplicationPerformanceMonitoring resources.\n","properties":{"agentEnabled":{"type":"boolean","description":"Specifies whether enable the agent. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"appName":{"type":"string","description":"Specifies the application name used to report data to New Relic.\n"},"appServerPort":{"type":"integer","description":"Specifies the port number to differentiate JVMs for the same app on the same machine.\n"},"auditModeEnabled":{"type":"boolean","description":"Specifies whether enable plain text logging of all data sent to New Relic to the agent logfile. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"autoAppNamingEnabled":{"type":"boolean","description":"Specifies whether enable the reporting of data separately for each web app. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"autoTransactionNamingEnabled":{"type":"boolean","description":"Specifies whether enable the component-based transaction naming. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"customTracingEnabled":{"type":"boolean","description":"Specifies whether enable all instrumentation using an `@Trace` annotation. Disabling this causes `@Trace` annotations to be ignored. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"globallyEnabled":{"type":"boolean","description":"Specifies whether the Spring Cloud Application Performance Monitoring resource for Application Insights is enabled globally. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"labels":{"type":"object","additionalProperties":{"type":"string"},"description":"Specifies a mapping of labels to be added to the New Relic application.\n"},"licenseKey":{"type":"string","description":"Specifies the license key associated with the New Relic account. This key binds your agent's data to your account in New Relic service.\n","secret":true},"name":{"type":"string","description":"The name which should be used for this Spring Cloud Application Performance Monitoring resource for New Relic. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"springCloudServiceId":{"type":"string","description":"The ID of the Spring Cloud Service. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:appplatform/springCloudService:SpringCloudService":{"description":"Manages an Azure Spring Cloud Service.\n\n!\u003e **Note:** Azure Spring Apps is now deprecated and will be retired on 2028-05-31 - as such the \u003cspan pulumi-lang-nodejs=\"`azure.appplatform.SpringCloudService`\" pulumi-lang-dotnet=\"`azure.appplatform.SpringCloudService`\" pulumi-lang-go=\"`appplatform.SpringCloudService`\" pulumi-lang-python=\"`appplatform.SpringCloudService`\" pulumi-lang-yaml=\"`azure.appplatform.SpringCloudService`\" pulumi-lang-java=\"`azure.appplatform.SpringCloudService`\"\u003e`azure.appplatform.SpringCloudService`\u003c/span\u003e resource is deprecated and will be removed in a future major version of the AzureRM Provider. See https://aka.ms/asaretirement for more information.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleInsights = new azure.appinsights.Insights(\"example\", {\n    name: \"tf-test-appinsights\",\n    location: example.location,\n    resourceGroupName: example.name,\n    applicationType: \"web\",\n});\nconst exampleSpringCloudService = new azure.appplatform.SpringCloudService(\"example\", {\n    name: \"example-springcloud\",\n    resourceGroupName: example.name,\n    location: example.location,\n    skuName: \"S0\",\n    configServerGitSetting: {\n        uri: \"https://github.com/Azure-Samples/piggymetrics\",\n        label: \"config\",\n        searchPaths: [\n            \"dir1\",\n            \"dir2\",\n        ],\n    },\n    trace: {\n        connectionString: exampleInsights.connectionString,\n        sampleRate: 10,\n    },\n    tags: {\n        Env: \"staging\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_insights = azure.appinsights.Insights(\"example\",\n    name=\"tf-test-appinsights\",\n    location=example.location,\n    resource_group_name=example.name,\n    application_type=\"web\")\nexample_spring_cloud_service = azure.appplatform.SpringCloudService(\"example\",\n    name=\"example-springcloud\",\n    resource_group_name=example.name,\n    location=example.location,\n    sku_name=\"S0\",\n    config_server_git_setting={\n        \"uri\": \"https://github.com/Azure-Samples/piggymetrics\",\n        \"label\": \"config\",\n        \"search_paths\": [\n            \"dir1\",\n            \"dir2\",\n        ],\n    },\n    trace={\n        \"connection_string\": example_insights.connection_string,\n        \"sample_rate\": 10,\n    },\n    tags={\n        \"Env\": \"staging\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleInsights = new Azure.AppInsights.Insights(\"example\", new()\n    {\n        Name = \"tf-test-appinsights\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        ApplicationType = \"web\",\n    });\n\n    var exampleSpringCloudService = new Azure.AppPlatform.SpringCloudService(\"example\", new()\n    {\n        Name = \"example-springcloud\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        SkuName = \"S0\",\n        ConfigServerGitSetting = new Azure.AppPlatform.Inputs.SpringCloudServiceConfigServerGitSettingArgs\n        {\n            Uri = \"https://github.com/Azure-Samples/piggymetrics\",\n            Label = \"config\",\n            SearchPaths = new[]\n            {\n                \"dir1\",\n                \"dir2\",\n            },\n        },\n        Trace = new Azure.AppPlatform.Inputs.SpringCloudServiceTraceArgs\n        {\n            ConnectionString = exampleInsights.ConnectionString,\n            SampleRate = 10,\n        },\n        Tags = \n        {\n            { \"Env\", \"staging\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/appinsights\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/appplatform\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleInsights, err := appinsights.NewInsights(ctx, \"example\", \u0026appinsights.InsightsArgs{\n\t\t\tName:              pulumi.String(\"tf-test-appinsights\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tApplicationType:   pulumi.String(\"web\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = appplatform.NewSpringCloudService(ctx, \"example\", \u0026appplatform.SpringCloudServiceArgs{\n\t\t\tName:              pulumi.String(\"example-springcloud\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tSkuName:           pulumi.String(\"S0\"),\n\t\t\tConfigServerGitSetting: \u0026appplatform.SpringCloudServiceConfigServerGitSettingArgs{\n\t\t\t\tUri:   pulumi.String(\"https://github.com/Azure-Samples/piggymetrics\"),\n\t\t\t\tLabel: pulumi.String(\"config\"),\n\t\t\t\tSearchPaths: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"dir1\"),\n\t\t\t\t\tpulumi.String(\"dir2\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTrace: \u0026appplatform.SpringCloudServiceTraceArgs{\n\t\t\t\tConnectionString: exampleInsights.ConnectionString,\n\t\t\t\tSampleRate:       pulumi.Float64(10),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Env\": pulumi.String(\"staging\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.appinsights.Insights;\nimport com.pulumi.azure.appinsights.InsightsArgs;\nimport com.pulumi.azure.appplatform.SpringCloudService;\nimport com.pulumi.azure.appplatform.SpringCloudServiceArgs;\nimport com.pulumi.azure.appplatform.inputs.SpringCloudServiceConfigServerGitSettingArgs;\nimport com.pulumi.azure.appplatform.inputs.SpringCloudServiceTraceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleInsights = new Insights(\"exampleInsights\", InsightsArgs.builder()\n            .name(\"tf-test-appinsights\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .applicationType(\"web\")\n            .build());\n\n        var exampleSpringCloudService = new SpringCloudService(\"exampleSpringCloudService\", SpringCloudServiceArgs.builder()\n            .name(\"example-springcloud\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .skuName(\"S0\")\n            .configServerGitSetting(SpringCloudServiceConfigServerGitSettingArgs.builder()\n                .uri(\"https://github.com/Azure-Samples/piggymetrics\")\n                .label(\"config\")\n                .searchPaths(                \n                    \"dir1\",\n                    \"dir2\")\n                .build())\n            .trace(SpringCloudServiceTraceArgs.builder()\n                .connectionString(exampleInsights.connectionString())\n                .sampleRate(10.0)\n                .build())\n            .tags(Map.of(\"Env\", \"staging\"))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleInsights:\n    type: azure:appinsights:Insights\n    name: example\n    properties:\n      name: tf-test-appinsights\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      applicationType: web\n  exampleSpringCloudService:\n    type: azure:appplatform:SpringCloudService\n    name: example\n    properties:\n      name: example-springcloud\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      skuName: S0\n      configServerGitSetting:\n        uri: https://github.com/Azure-Samples/piggymetrics\n        label: config\n        searchPaths:\n          - dir1\n          - dir2\n      trace:\n        connectionString: ${exampleInsights.connectionString}\n        sampleRate: 10\n      tags:\n        Env: staging\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nSpring Cloud services can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:appplatform/springCloudService:SpringCloudService example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.AppPlatform/spring/spring1\n```\n\n","properties":{"buildAgentPoolSize":{"type":"string","description":"Specifies the size for this Spring Cloud Service's default build agent pool. Possible values are `S1`, `S2`, `S3`, `S4` and `S5`. This field is applicable only for Spring Cloud Service with enterprise tier.\n"},"configServerGitSetting":{"$ref":"#/types/azure:appplatform/SpringCloudServiceConfigServerGitSetting:SpringCloudServiceConfigServerGitSetting","description":"A \u003cspan pulumi-lang-nodejs=\"`configServerGitSetting`\" pulumi-lang-dotnet=\"`ConfigServerGitSetting`\" pulumi-lang-go=\"`configServerGitSetting`\" pulumi-lang-python=\"`config_server_git_setting`\" pulumi-lang-yaml=\"`configServerGitSetting`\" pulumi-lang-java=\"`configServerGitSetting`\"\u003e`config_server_git_setting`\u003c/span\u003e block as defined below. This field is applicable only for Spring Cloud Service with basic and standard tier.\n"},"containerRegistries":{"type":"array","items":{"$ref":"#/types/azure:appplatform/SpringCloudServiceContainerRegistry:SpringCloudServiceContainerRegistry"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`containerRegistry`\" pulumi-lang-dotnet=\"`ContainerRegistry`\" pulumi-lang-go=\"`containerRegistry`\" pulumi-lang-python=\"`container_registry`\" pulumi-lang-yaml=\"`containerRegistry`\" pulumi-lang-java=\"`containerRegistry`\"\u003e`container_registry`\u003c/span\u003e block as defined below. This field is applicable only for Spring Cloud Service with enterprise tier.\n"},"defaultBuildService":{"$ref":"#/types/azure:appplatform/SpringCloudServiceDefaultBuildService:SpringCloudServiceDefaultBuildService","description":"A \u003cspan pulumi-lang-nodejs=\"`defaultBuildService`\" pulumi-lang-dotnet=\"`DefaultBuildService`\" pulumi-lang-go=\"`defaultBuildService`\" pulumi-lang-python=\"`default_build_service`\" pulumi-lang-yaml=\"`defaultBuildService`\" pulumi-lang-java=\"`defaultBuildService`\"\u003e`default_build_service`\u003c/span\u003e block as defined below. This field is applicable only for Spring Cloud Service with enterprise tier.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n"},"logStreamPublicEndpointEnabled":{"type":"boolean","description":"Should the log stream in vnet injection instance could be accessed from Internet?\n"},"managedEnvironmentId":{"type":"string","description":"The resource Id of the Managed Environment that the Spring Apps instance builds on. Can only be specified when \u003cspan pulumi-lang-nodejs=\"`skuTier`\" pulumi-lang-dotnet=\"`SkuTier`\" pulumi-lang-go=\"`skuTier`\" pulumi-lang-python=\"`sku_tier`\" pulumi-lang-yaml=\"`skuTier`\" pulumi-lang-java=\"`skuTier`\"\u003e`sku_tier`\u003c/span\u003e is set to `StandardGen2`.\n"},"marketplace":{"$ref":"#/types/azure:appplatform/SpringCloudServiceMarketplace:SpringCloudServiceMarketplace","description":"A \u003cspan pulumi-lang-nodejs=\"`marketplace`\" pulumi-lang-dotnet=\"`Marketplace`\" pulumi-lang-go=\"`marketplace`\" pulumi-lang-python=\"`marketplace`\" pulumi-lang-yaml=\"`marketplace`\" pulumi-lang-java=\"`marketplace`\"\u003e`marketplace`\u003c/span\u003e block as defined below. Can only be specified when \u003cspan pulumi-lang-nodejs=\"`sku`\" pulumi-lang-dotnet=\"`Sku`\" pulumi-lang-go=\"`sku`\" pulumi-lang-python=\"`sku`\" pulumi-lang-yaml=\"`sku`\" pulumi-lang-java=\"`sku`\"\u003e`sku`\u003c/span\u003e is set to `E0`.\n"},"name":{"type":"string","description":"Specifies the name of the Spring Cloud Service resource. Changing this forces a new resource to be created.\n"},"network":{"$ref":"#/types/azure:appplatform/SpringCloudServiceNetwork:SpringCloudServiceNetwork","description":"A \u003cspan pulumi-lang-nodejs=\"`network`\" pulumi-lang-dotnet=\"`Network`\" pulumi-lang-go=\"`network`\" pulumi-lang-python=\"`network`\" pulumi-lang-yaml=\"`network`\" pulumi-lang-java=\"`network`\"\u003e`network`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n"},"outboundPublicIpAddresses":{"type":"array","items":{"type":"string"},"description":"A list of the outbound Public IP Addresses used by this Spring Cloud Service.\n"},"requiredNetworkTrafficRules":{"type":"array","items":{"$ref":"#/types/azure:appplatform/SpringCloudServiceRequiredNetworkTrafficRule:SpringCloudServiceRequiredNetworkTrafficRule"},"description":"A list of \u003cspan pulumi-lang-nodejs=\"`requiredNetworkTrafficRules`\" pulumi-lang-dotnet=\"`RequiredNetworkTrafficRules`\" pulumi-lang-go=\"`requiredNetworkTrafficRules`\" pulumi-lang-python=\"`required_network_traffic_rules`\" pulumi-lang-yaml=\"`requiredNetworkTrafficRules`\" pulumi-lang-java=\"`requiredNetworkTrafficRules`\"\u003e`required_network_traffic_rules`\u003c/span\u003e blocks as defined below.\n"},"resourceGroupName":{"type":"string","description":"Specifies The name of the resource group in which to create the Spring Cloud Service. Changing this forces a new resource to be created.\n"},"serviceRegistryEnabled":{"type":"boolean","description":"Whether enable the default Service Registry. This field is applicable only for Spring Cloud Service with enterprise tier.\n"},"serviceRegistryId":{"type":"string","description":"The ID of the Spring Cloud Service Registry.\n"},"skuName":{"type":"string","description":"Specifies the SKU Name for this Spring Cloud Service. Possible values are `B0`, `S0` and `E0`. Defaults to `S0`. Changing this forces a new resource to be created.\n"},"skuTier":{"type":"string","description":"Specifies the SKU Tier for this Spring Cloud Service. Possible values are `Basic`, `Enterprise`, `Standard` and `StandardGen2`. The attribute is automatically computed from API response except when \u003cspan pulumi-lang-nodejs=\"`managedEnvironmentId`\" pulumi-lang-dotnet=\"`ManagedEnvironmentId`\" pulumi-lang-go=\"`managedEnvironmentId`\" pulumi-lang-python=\"`managed_environment_id`\" pulumi-lang-yaml=\"`managedEnvironmentId`\" pulumi-lang-java=\"`managedEnvironmentId`\"\u003e`managed_environment_id`\u003c/span\u003e is defined. Changing this forces a new resource to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"trace":{"$ref":"#/types/azure:appplatform/SpringCloudServiceTrace:SpringCloudServiceTrace","description":"A \u003cspan pulumi-lang-nodejs=\"`trace`\" pulumi-lang-dotnet=\"`Trace`\" pulumi-lang-go=\"`trace`\" pulumi-lang-python=\"`trace`\" pulumi-lang-yaml=\"`trace`\" pulumi-lang-java=\"`trace`\"\u003e`trace`\u003c/span\u003e block as defined below.\n"},"zoneRedundant":{"type":"boolean","description":"Whether zone redundancy is enabled for this Spring Cloud Service. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"}},"required":["location","marketplace","name","outboundPublicIpAddresses","requiredNetworkTrafficRules","resourceGroupName","serviceRegistryId","skuTier"],"inputProperties":{"buildAgentPoolSize":{"type":"string","description":"Specifies the size for this Spring Cloud Service's default build agent pool. Possible values are `S1`, `S2`, `S3`, `S4` and `S5`. This field is applicable only for Spring Cloud Service with enterprise tier.\n"},"configServerGitSetting":{"$ref":"#/types/azure:appplatform/SpringCloudServiceConfigServerGitSetting:SpringCloudServiceConfigServerGitSetting","description":"A \u003cspan pulumi-lang-nodejs=\"`configServerGitSetting`\" pulumi-lang-dotnet=\"`ConfigServerGitSetting`\" pulumi-lang-go=\"`configServerGitSetting`\" pulumi-lang-python=\"`config_server_git_setting`\" pulumi-lang-yaml=\"`configServerGitSetting`\" pulumi-lang-java=\"`configServerGitSetting`\"\u003e`config_server_git_setting`\u003c/span\u003e block as defined below. This field is applicable only for Spring Cloud Service with basic and standard tier.\n"},"containerRegistries":{"type":"array","items":{"$ref":"#/types/azure:appplatform/SpringCloudServiceContainerRegistry:SpringCloudServiceContainerRegistry"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`containerRegistry`\" pulumi-lang-dotnet=\"`ContainerRegistry`\" pulumi-lang-go=\"`containerRegistry`\" pulumi-lang-python=\"`container_registry`\" pulumi-lang-yaml=\"`containerRegistry`\" pulumi-lang-java=\"`containerRegistry`\"\u003e`container_registry`\u003c/span\u003e block as defined below. This field is applicable only for Spring Cloud Service with enterprise tier.\n"},"defaultBuildService":{"$ref":"#/types/azure:appplatform/SpringCloudServiceDefaultBuildService:SpringCloudServiceDefaultBuildService","description":"A \u003cspan pulumi-lang-nodejs=\"`defaultBuildService`\" pulumi-lang-dotnet=\"`DefaultBuildService`\" pulumi-lang-go=\"`defaultBuildService`\" pulumi-lang-python=\"`default_build_service`\" pulumi-lang-yaml=\"`defaultBuildService`\" pulumi-lang-java=\"`defaultBuildService`\"\u003e`default_build_service`\u003c/span\u003e block as defined below. This field is applicable only for Spring Cloud Service with enterprise tier.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"logStreamPublicEndpointEnabled":{"type":"boolean","description":"Should the log stream in vnet injection instance could be accessed from Internet?\n"},"managedEnvironmentId":{"type":"string","description":"The resource Id of the Managed Environment that the Spring Apps instance builds on. Can only be specified when \u003cspan pulumi-lang-nodejs=\"`skuTier`\" pulumi-lang-dotnet=\"`SkuTier`\" pulumi-lang-go=\"`skuTier`\" pulumi-lang-python=\"`sku_tier`\" pulumi-lang-yaml=\"`skuTier`\" pulumi-lang-java=\"`skuTier`\"\u003e`sku_tier`\u003c/span\u003e is set to `StandardGen2`.\n"},"marketplace":{"$ref":"#/types/azure:appplatform/SpringCloudServiceMarketplace:SpringCloudServiceMarketplace","description":"A \u003cspan pulumi-lang-nodejs=\"`marketplace`\" pulumi-lang-dotnet=\"`Marketplace`\" pulumi-lang-go=\"`marketplace`\" pulumi-lang-python=\"`marketplace`\" pulumi-lang-yaml=\"`marketplace`\" pulumi-lang-java=\"`marketplace`\"\u003e`marketplace`\u003c/span\u003e block as defined below. Can only be specified when \u003cspan pulumi-lang-nodejs=\"`sku`\" pulumi-lang-dotnet=\"`Sku`\" pulumi-lang-go=\"`sku`\" pulumi-lang-python=\"`sku`\" pulumi-lang-yaml=\"`sku`\" pulumi-lang-java=\"`sku`\"\u003e`sku`\u003c/span\u003e is set to `E0`.\n"},"name":{"type":"string","description":"Specifies the name of the Spring Cloud Service resource. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"network":{"$ref":"#/types/azure:appplatform/SpringCloudServiceNetwork:SpringCloudServiceNetwork","description":"A \u003cspan pulumi-lang-nodejs=\"`network`\" pulumi-lang-dotnet=\"`Network`\" pulumi-lang-go=\"`network`\" pulumi-lang-python=\"`network`\" pulumi-lang-yaml=\"`network`\" pulumi-lang-java=\"`network`\"\u003e`network`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"Specifies The name of the resource group in which to create the Spring Cloud Service. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"serviceRegistryEnabled":{"type":"boolean","description":"Whether enable the default Service Registry. This field is applicable only for Spring Cloud Service with enterprise tier.\n"},"skuName":{"type":"string","description":"Specifies the SKU Name for this Spring Cloud Service. Possible values are `B0`, `S0` and `E0`. Defaults to `S0`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"skuTier":{"type":"string","description":"Specifies the SKU Tier for this Spring Cloud Service. Possible values are `Basic`, `Enterprise`, `Standard` and `StandardGen2`. The attribute is automatically computed from API response except when \u003cspan pulumi-lang-nodejs=\"`managedEnvironmentId`\" pulumi-lang-dotnet=\"`ManagedEnvironmentId`\" pulumi-lang-go=\"`managedEnvironmentId`\" pulumi-lang-python=\"`managed_environment_id`\" pulumi-lang-yaml=\"`managedEnvironmentId`\" pulumi-lang-java=\"`managedEnvironmentId`\"\u003e`managed_environment_id`\u003c/span\u003e is defined. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"trace":{"$ref":"#/types/azure:appplatform/SpringCloudServiceTrace:SpringCloudServiceTrace","description":"A \u003cspan pulumi-lang-nodejs=\"`trace`\" pulumi-lang-dotnet=\"`Trace`\" pulumi-lang-go=\"`trace`\" pulumi-lang-python=\"`trace`\" pulumi-lang-yaml=\"`trace`\" pulumi-lang-java=\"`trace`\"\u003e`trace`\u003c/span\u003e block as defined below.\n"},"zoneRedundant":{"type":"boolean","description":"Whether zone redundancy is enabled for this Spring Cloud Service. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"}},"requiredInputs":["resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering SpringCloudService resources.\n","properties":{"buildAgentPoolSize":{"type":"string","description":"Specifies the size for this Spring Cloud Service's default build agent pool. Possible values are `S1`, `S2`, `S3`, `S4` and `S5`. This field is applicable only for Spring Cloud Service with enterprise tier.\n"},"configServerGitSetting":{"$ref":"#/types/azure:appplatform/SpringCloudServiceConfigServerGitSetting:SpringCloudServiceConfigServerGitSetting","description":"A \u003cspan pulumi-lang-nodejs=\"`configServerGitSetting`\" pulumi-lang-dotnet=\"`ConfigServerGitSetting`\" pulumi-lang-go=\"`configServerGitSetting`\" pulumi-lang-python=\"`config_server_git_setting`\" pulumi-lang-yaml=\"`configServerGitSetting`\" pulumi-lang-java=\"`configServerGitSetting`\"\u003e`config_server_git_setting`\u003c/span\u003e block as defined below. This field is applicable only for Spring Cloud Service with basic and standard tier.\n"},"containerRegistries":{"type":"array","items":{"$ref":"#/types/azure:appplatform/SpringCloudServiceContainerRegistry:SpringCloudServiceContainerRegistry"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`containerRegistry`\" pulumi-lang-dotnet=\"`ContainerRegistry`\" pulumi-lang-go=\"`containerRegistry`\" pulumi-lang-python=\"`container_registry`\" pulumi-lang-yaml=\"`containerRegistry`\" pulumi-lang-java=\"`containerRegistry`\"\u003e`container_registry`\u003c/span\u003e block as defined below. This field is applicable only for Spring Cloud Service with enterprise tier.\n"},"defaultBuildService":{"$ref":"#/types/azure:appplatform/SpringCloudServiceDefaultBuildService:SpringCloudServiceDefaultBuildService","description":"A \u003cspan pulumi-lang-nodejs=\"`defaultBuildService`\" pulumi-lang-dotnet=\"`DefaultBuildService`\" pulumi-lang-go=\"`defaultBuildService`\" pulumi-lang-python=\"`default_build_service`\" pulumi-lang-yaml=\"`defaultBuildService`\" pulumi-lang-java=\"`defaultBuildService`\"\u003e`default_build_service`\u003c/span\u003e block as defined below. This field is applicable only for Spring Cloud Service with enterprise tier.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"logStreamPublicEndpointEnabled":{"type":"boolean","description":"Should the log stream in vnet injection instance could be accessed from Internet?\n"},"managedEnvironmentId":{"type":"string","description":"The resource Id of the Managed Environment that the Spring Apps instance builds on. Can only be specified when \u003cspan pulumi-lang-nodejs=\"`skuTier`\" pulumi-lang-dotnet=\"`SkuTier`\" pulumi-lang-go=\"`skuTier`\" pulumi-lang-python=\"`sku_tier`\" pulumi-lang-yaml=\"`skuTier`\" pulumi-lang-java=\"`skuTier`\"\u003e`sku_tier`\u003c/span\u003e is set to `StandardGen2`.\n"},"marketplace":{"$ref":"#/types/azure:appplatform/SpringCloudServiceMarketplace:SpringCloudServiceMarketplace","description":"A \u003cspan pulumi-lang-nodejs=\"`marketplace`\" pulumi-lang-dotnet=\"`Marketplace`\" pulumi-lang-go=\"`marketplace`\" pulumi-lang-python=\"`marketplace`\" pulumi-lang-yaml=\"`marketplace`\" pulumi-lang-java=\"`marketplace`\"\u003e`marketplace`\u003c/span\u003e block as defined below. Can only be specified when \u003cspan pulumi-lang-nodejs=\"`sku`\" pulumi-lang-dotnet=\"`Sku`\" pulumi-lang-go=\"`sku`\" pulumi-lang-python=\"`sku`\" pulumi-lang-yaml=\"`sku`\" pulumi-lang-java=\"`sku`\"\u003e`sku`\u003c/span\u003e is set to `E0`.\n"},"name":{"type":"string","description":"Specifies the name of the Spring Cloud Service resource. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"network":{"$ref":"#/types/azure:appplatform/SpringCloudServiceNetwork:SpringCloudServiceNetwork","description":"A \u003cspan pulumi-lang-nodejs=\"`network`\" pulumi-lang-dotnet=\"`Network`\" pulumi-lang-go=\"`network`\" pulumi-lang-python=\"`network`\" pulumi-lang-yaml=\"`network`\" pulumi-lang-java=\"`network`\"\u003e`network`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"outboundPublicIpAddresses":{"type":"array","items":{"type":"string"},"description":"A list of the outbound Public IP Addresses used by this Spring Cloud Service.\n"},"requiredNetworkTrafficRules":{"type":"array","items":{"$ref":"#/types/azure:appplatform/SpringCloudServiceRequiredNetworkTrafficRule:SpringCloudServiceRequiredNetworkTrafficRule"},"description":"A list of \u003cspan pulumi-lang-nodejs=\"`requiredNetworkTrafficRules`\" pulumi-lang-dotnet=\"`RequiredNetworkTrafficRules`\" pulumi-lang-go=\"`requiredNetworkTrafficRules`\" pulumi-lang-python=\"`required_network_traffic_rules`\" pulumi-lang-yaml=\"`requiredNetworkTrafficRules`\" pulumi-lang-java=\"`requiredNetworkTrafficRules`\"\u003e`required_network_traffic_rules`\u003c/span\u003e blocks as defined below.\n"},"resourceGroupName":{"type":"string","description":"Specifies The name of the resource group in which to create the Spring Cloud Service. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"serviceRegistryEnabled":{"type":"boolean","description":"Whether enable the default Service Registry. This field is applicable only for Spring Cloud Service with enterprise tier.\n"},"serviceRegistryId":{"type":"string","description":"The ID of the Spring Cloud Service Registry.\n"},"skuName":{"type":"string","description":"Specifies the SKU Name for this Spring Cloud Service. Possible values are `B0`, `S0` and `E0`. Defaults to `S0`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"skuTier":{"type":"string","description":"Specifies the SKU Tier for this Spring Cloud Service. Possible values are `Basic`, `Enterprise`, `Standard` and `StandardGen2`. The attribute is automatically computed from API response except when \u003cspan pulumi-lang-nodejs=\"`managedEnvironmentId`\" pulumi-lang-dotnet=\"`ManagedEnvironmentId`\" pulumi-lang-go=\"`managedEnvironmentId`\" pulumi-lang-python=\"`managed_environment_id`\" pulumi-lang-yaml=\"`managedEnvironmentId`\" pulumi-lang-java=\"`managedEnvironmentId`\"\u003e`managed_environment_id`\u003c/span\u003e is defined. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"trace":{"$ref":"#/types/azure:appplatform/SpringCloudServiceTrace:SpringCloudServiceTrace","description":"A \u003cspan pulumi-lang-nodejs=\"`trace`\" pulumi-lang-dotnet=\"`Trace`\" pulumi-lang-go=\"`trace`\" pulumi-lang-python=\"`trace`\" pulumi-lang-yaml=\"`trace`\" pulumi-lang-java=\"`trace`\"\u003e`trace`\u003c/span\u003e block as defined below.\n"},"zoneRedundant":{"type":"boolean","description":"Whether zone redundancy is enabled for this Spring Cloud Service. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"}},"type":"object"}},"azure:appplatform/springCloudStorage:SpringCloudStorage":{"description":"Manages a Spring Cloud Storage.\n\n!\u003e **Note:** Azure Spring Apps is now deprecated and will be retired on 2028-05-31 - as such the \u003cspan pulumi-lang-nodejs=\"`azure.appplatform.SpringCloudStorage`\" pulumi-lang-dotnet=\"`azure.appplatform.SpringCloudStorage`\" pulumi-lang-go=\"`appplatform.SpringCloudStorage`\" pulumi-lang-python=\"`appplatform.SpringCloudStorage`\" pulumi-lang-yaml=\"`azure.appplatform.SpringCloudStorage`\" pulumi-lang-java=\"`azure.appplatform.SpringCloudStorage`\"\u003e`azure.appplatform.SpringCloudStorage`\u003c/span\u003e resource is deprecated and will be removed in a future major version of the AzureRM Provider. See https://aka.ms/asaretirement for more information.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleAccount = new azure.storage.Account(\"example\", {\n    name: \"example\",\n    resourceGroupName: example.name,\n    location: example.location,\n    accountTier: \"Standard\",\n    accountReplicationType: \"GRS\",\n});\nconst exampleSpringCloudService = new azure.appplatform.SpringCloudService(\"example\", {\n    name: \"example\",\n    location: example.location,\n    resourceGroupName: example.name,\n});\nconst exampleSpringCloudStorage = new azure.appplatform.SpringCloudStorage(\"example\", {\n    name: \"example\",\n    springCloudServiceId: exampleSpringCloudService.id,\n    storageAccountName: exampleAccount.name,\n    storageAccountKey: exampleAccount.primaryAccessKey,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_account = azure.storage.Account(\"example\",\n    name=\"example\",\n    resource_group_name=example.name,\n    location=example.location,\n    account_tier=\"Standard\",\n    account_replication_type=\"GRS\")\nexample_spring_cloud_service = azure.appplatform.SpringCloudService(\"example\",\n    name=\"example\",\n    location=example.location,\n    resource_group_name=example.name)\nexample_spring_cloud_storage = azure.appplatform.SpringCloudStorage(\"example\",\n    name=\"example\",\n    spring_cloud_service_id=example_spring_cloud_service.id,\n    storage_account_name=example_account.name,\n    storage_account_key=example_account.primary_access_key)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleAccount = new Azure.Storage.Account(\"example\", new()\n    {\n        Name = \"example\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        AccountTier = \"Standard\",\n        AccountReplicationType = \"GRS\",\n    });\n\n    var exampleSpringCloudService = new Azure.AppPlatform.SpringCloudService(\"example\", new()\n    {\n        Name = \"example\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n    });\n\n    var exampleSpringCloudStorage = new Azure.AppPlatform.SpringCloudStorage(\"example\", new()\n    {\n        Name = \"example\",\n        SpringCloudServiceId = exampleSpringCloudService.Id,\n        StorageAccountName = exampleAccount.Name,\n        StorageAccountKey = exampleAccount.PrimaryAccessKey,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/appplatform\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := storage.NewAccount(ctx, \"example\", \u0026storage.AccountArgs{\n\t\t\tName:                   pulumi.String(\"example\"),\n\t\t\tResourceGroupName:      example.Name,\n\t\t\tLocation:               example.Location,\n\t\t\tAccountTier:            pulumi.String(\"Standard\"),\n\t\t\tAccountReplicationType: pulumi.String(\"GRS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSpringCloudService, err := appplatform.NewSpringCloudService(ctx, \"example\", \u0026appplatform.SpringCloudServiceArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = appplatform.NewSpringCloudStorage(ctx, \"example\", \u0026appplatform.SpringCloudStorageArgs{\n\t\t\tName:                 pulumi.String(\"example\"),\n\t\t\tSpringCloudServiceId: exampleSpringCloudService.ID(),\n\t\t\tStorageAccountName:   exampleAccount.Name,\n\t\t\tStorageAccountKey:    exampleAccount.PrimaryAccessKey,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.storage.Account;\nimport com.pulumi.azure.storage.AccountArgs;\nimport com.pulumi.azure.appplatform.SpringCloudService;\nimport com.pulumi.azure.appplatform.SpringCloudServiceArgs;\nimport com.pulumi.azure.appplatform.SpringCloudStorage;\nimport com.pulumi.azure.appplatform.SpringCloudStorageArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"example\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .accountTier(\"Standard\")\n            .accountReplicationType(\"GRS\")\n            .build());\n\n        var exampleSpringCloudService = new SpringCloudService(\"exampleSpringCloudService\", SpringCloudServiceArgs.builder()\n            .name(\"example\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .build());\n\n        var exampleSpringCloudStorage = new SpringCloudStorage(\"exampleSpringCloudStorage\", SpringCloudStorageArgs.builder()\n            .name(\"example\")\n            .springCloudServiceId(exampleSpringCloudService.id())\n            .storageAccountName(exampleAccount.name())\n            .storageAccountKey(exampleAccount.primaryAccessKey())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleAccount:\n    type: azure:storage:Account\n    name: example\n    properties:\n      name: example\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      accountTier: Standard\n      accountReplicationType: GRS\n  exampleSpringCloudService:\n    type: azure:appplatform:SpringCloudService\n    name: example\n    properties:\n      name: example\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n  exampleSpringCloudStorage:\n    type: azure:appplatform:SpringCloudStorage\n    name: example\n    properties:\n      name: example\n      springCloudServiceId: ${exampleSpringCloudService.id}\n      storageAccountName: ${exampleAccount.name}\n      storageAccountKey: ${exampleAccount.primaryAccessKey}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nSpring Cloud Storages can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:appplatform/springCloudStorage:SpringCloudStorage example /subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/resourceGroup1/providers/Microsoft.AppPlatform/spring/service1/storages/storage1\n```\n\n","properties":{"name":{"type":"string","description":"The name which should be used for this Spring Cloud Storage. Changing this forces a new Spring Cloud Storage to be created.\n"},"springCloudServiceId":{"type":"string","description":"The ID of the Spring Cloud Service where the Spring Cloud Storage should exist. Changing this forces a new Spring Cloud Storage to be created.\n"},"storageAccountKey":{"type":"string","description":"The access key of the Azure Storage Account.\n"},"storageAccountName":{"type":"string","description":"The account name of the Azure Storage Account.\n"}},"required":["name","springCloudServiceId","storageAccountKey","storageAccountName"],"inputProperties":{"name":{"type":"string","description":"The name which should be used for this Spring Cloud Storage. Changing this forces a new Spring Cloud Storage to be created.\n","willReplaceOnChanges":true},"springCloudServiceId":{"type":"string","description":"The ID of the Spring Cloud Service where the Spring Cloud Storage should exist. Changing this forces a new Spring Cloud Storage to be created.\n","willReplaceOnChanges":true},"storageAccountKey":{"type":"string","description":"The access key of the Azure Storage Account.\n"},"storageAccountName":{"type":"string","description":"The account name of the Azure Storage Account.\n"}},"requiredInputs":["springCloudServiceId","storageAccountKey","storageAccountName"],"stateInputs":{"description":"Input properties used for looking up and filtering SpringCloudStorage resources.\n","properties":{"name":{"type":"string","description":"The name which should be used for this Spring Cloud Storage. Changing this forces a new Spring Cloud Storage to be created.\n","willReplaceOnChanges":true},"springCloudServiceId":{"type":"string","description":"The ID of the Spring Cloud Service where the Spring Cloud Storage should exist. Changing this forces a new Spring Cloud Storage to be created.\n","willReplaceOnChanges":true},"storageAccountKey":{"type":"string","description":"The access key of the Azure Storage Account.\n"},"storageAccountName":{"type":"string","description":"The account name of the Azure Storage Account.\n"}},"type":"object"}},"azure:appservice/activeSlot:ActiveSlot":{"description":"Promotes an App Service Slot to Production within an App Service.\n\n!\u003e **NOTE:** This resource has been deprecated in version 5.0 of the provider and will be removed in version 6.0. Please use \u003cspan pulumi-lang-nodejs=\"`azure.appservice.WebAppActiveSlot`\" pulumi-lang-dotnet=\"`azure.appservice.WebAppActiveSlot`\" pulumi-lang-go=\"`appservice.WebAppActiveSlot`\" pulumi-lang-python=\"`appservice.WebAppActiveSlot`\" pulumi-lang-yaml=\"`azure.appservice.WebAppActiveSlot`\" pulumi-lang-java=\"`azure.appservice.WebAppActiveSlot`\"\u003e`azure.appservice.WebAppActiveSlot`\u003c/span\u003e resource instead.\n\n\u003e **Note:** When using Slots - the \u003cspan pulumi-lang-nodejs=\"`appSettings`\" pulumi-lang-dotnet=\"`AppSettings`\" pulumi-lang-go=\"`appSettings`\" pulumi-lang-python=\"`app_settings`\" pulumi-lang-yaml=\"`appSettings`\" pulumi-lang-java=\"`appSettings`\"\u003e`app_settings`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`connectionString`\" pulumi-lang-dotnet=\"`ConnectionString`\" pulumi-lang-go=\"`connectionString`\" pulumi-lang-python=\"`connection_string`\" pulumi-lang-yaml=\"`connectionString`\" pulumi-lang-java=\"`connectionString`\"\u003e`connection_string`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`siteConfig`\" pulumi-lang-dotnet=\"`SiteConfig`\" pulumi-lang-go=\"`siteConfig`\" pulumi-lang-python=\"`site_config`\" pulumi-lang-yaml=\"`siteConfig`\" pulumi-lang-java=\"`siteConfig`\"\u003e`site_config`\u003c/span\u003e blocks on the \u003cspan pulumi-lang-nodejs=\"`azure.appservice.AppService`\" pulumi-lang-dotnet=\"`azure.appservice.AppService`\" pulumi-lang-go=\"`appservice.AppService`\" pulumi-lang-python=\"`appservice.AppService`\" pulumi-lang-yaml=\"`azure.appservice.AppService`\" pulumi-lang-java=\"`azure.appservice.AppService`\"\u003e`azure.appservice.AppService`\u003c/span\u003e resource will be overwritten when promoting a Slot using the \u003cspan pulumi-lang-nodejs=\"`azure.appservice.ActiveSlot`\" pulumi-lang-dotnet=\"`azure.appservice.ActiveSlot`\" pulumi-lang-go=\"`appservice.ActiveSlot`\" pulumi-lang-python=\"`appservice.ActiveSlot`\" pulumi-lang-yaml=\"`azure.appservice.ActiveSlot`\" pulumi-lang-java=\"`azure.appservice.ActiveSlot`\"\u003e`azure.appservice.ActiveSlot`\u003c/span\u003e resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\nimport * as random from \"@pulumi/random\";\n\nconst server = new random.index.Id(\"server\", {});\nconst example = new azure.core.ResourceGroup(\"example\", {});\nconst examplePlan = new azure.appservice.Plan(\"example\", {});\nconst exampleAppService = new azure.appservice.AppService(\"example\", {});\nconst exampleSlot = new azure.appservice.Slot(\"example\", {});\nconst exampleActiveSlot = new azure.appservice.ActiveSlot(\"example\", {\n    resourceGroupName: example.name,\n    appServiceName: exampleAppService.name,\n    appServiceSlotName: exampleSlot.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\nimport pulumi_random as random\n\nserver = random.index.Id(\"server\")\nexample = azure.core.ResourceGroup(\"example\")\nexample_plan = azure.appservice.Plan(\"example\")\nexample_app_service = azure.appservice.AppService(\"example\")\nexample_slot = azure.appservice.Slot(\"example\")\nexample_active_slot = azure.appservice.ActiveSlot(\"example\",\n    resource_group_name=example.name,\n    app_service_name=example_app_service.name,\n    app_service_slot_name=example_slot.name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var server = new Random.Index.Id(\"server\");\n\n    var example = new Azure.Core.ResourceGroup(\"example\");\n\n    var examplePlan = new Azure.AppService.Plan(\"example\");\n\n    var exampleAppService = new Azure.AppService.AppService(\"example\");\n\n    var exampleSlot = new Azure.AppService.Slot(\"example\");\n\n    var exampleActiveSlot = new Azure.AppService.ActiveSlot(\"example\", new()\n    {\n        ResourceGroupName = example.Name,\n        AppServiceName = exampleAppService.Name,\n        AppServiceSlotName = exampleSlot.Name,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/appservice\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := random.NewId(ctx, \"server\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = appservice.NewPlan(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAppService, err := appservice.NewAppService(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSlot, err := appservice.NewSlot(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = appservice.NewActiveSlot(ctx, \"example\", \u0026appservice.ActiveSlotArgs{\n\t\t\tResourceGroupName:  example.Name,\n\t\t\tAppServiceName:     exampleAppService.Name,\n\t\t\tAppServiceSlotName: exampleSlot.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.random.Id;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.appservice.Plan;\nimport com.pulumi.azure.appservice.AppService;\nimport com.pulumi.azure.appservice.Slot;\nimport com.pulumi.azure.appservice.ActiveSlot;\nimport com.pulumi.azure.appservice.ActiveSlotArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var server = new Id(\"server\");\n\n        var example = new ResourceGroup(\"example\");\n\n        var examplePlan = new Plan(\"examplePlan\");\n\n        var exampleAppService = new AppService(\"exampleAppService\");\n\n        var exampleSlot = new Slot(\"exampleSlot\");\n\n        var exampleActiveSlot = new ActiveSlot(\"exampleActiveSlot\", ActiveSlotArgs.builder()\n            .resourceGroupName(example.name())\n            .appServiceName(exampleAppService.name())\n            .appServiceSlotName(exampleSlot.name())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  server:\n    type: random:Id\n  example:\n    type: azure:core:ResourceGroup\n  examplePlan:\n    type: azure:appservice:Plan\n    name: example\n  exampleAppService:\n    type: azure:appservice:AppService\n    name: example\n  exampleSlot:\n    type: azure:appservice:Slot\n    name: example\n  exampleActiveSlot:\n    type: azure:appservice:ActiveSlot\n    name: example\n    properties:\n      resourceGroupName: ${example.name}\n      appServiceName: ${exampleAppService.name}\n      appServiceSlotName: ${exampleSlot.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"appServiceName":{"type":"string","description":"The name of the App Service within which the Slot exists. Changing this forces a new resource to be created.\n"},"appServiceSlotName":{"type":"string","description":"The name of the App Service Slot which should be promoted to the Production Slot within the App Service.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the App Service exists. Changing this forces a new resource to be created.\n"}},"required":["appServiceName","appServiceSlotName","resourceGroupName"],"inputProperties":{"appServiceName":{"type":"string","description":"The name of the App Service within which the Slot exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"appServiceSlotName":{"type":"string","description":"The name of the App Service Slot which should be promoted to the Production Slot within the App Service.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the App Service exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["appServiceName","appServiceSlotName","resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering ActiveSlot resources.\n","properties":{"appServiceName":{"type":"string","description":"The name of the App Service within which the Slot exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"appServiceSlotName":{"type":"string","description":"The name of the App Service Slot which should be promoted to the Production Slot within the App Service.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the App Service exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:appservice/appConnection:AppConnection":{"description":"Manages a service connector for function app.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleAccount = new azure.cosmosdb.Account(\"example\", {\n    name: \"example-cosmosdb-account\",\n    location: example.location,\n    resourceGroupName: example.name,\n    offerType: \"Standard\",\n    kind: \"GlobalDocumentDB\",\n    consistencyPolicy: {\n        consistencyLevel: \"BoundedStaleness\",\n        maxIntervalInSeconds: 10,\n        maxStalenessPrefix: 200,\n    },\n    geoLocations: [{\n        location: example.location,\n        failoverPriority: 0,\n    }],\n});\nconst exampleSqlDatabase = new azure.cosmosdb.SqlDatabase(\"example\", {\n    name: \"cosmos-sql-db\",\n    resourceGroupName: exampleAccount.resourceGroupName,\n    accountName: exampleAccount.name,\n    throughput: 400,\n});\nconst exampleSqlContainer = new azure.cosmosdb.SqlContainer(\"example\", {\n    name: \"example-container\",\n    resourceGroupName: exampleAccount.resourceGroupName,\n    accountName: exampleAccount.name,\n    databaseName: exampleSqlDatabase.name,\n    partitionKeyPath: \"/definition\",\n});\nconst exampleAccount2 = new azure.storage.Account(\"example\", {\n    name: \"examplestorageaccount\",\n    resourceGroupName: example.name,\n    location: example.location,\n    accountTier: \"Standard\",\n    accountReplicationType: \"LRS\",\n});\nconst exampleServicePlan = new azure.appservice.ServicePlan(\"example\", {\n    location: example.location,\n    name: \"example-serviceplan\",\n    resourceGroupName: example.name,\n    skuName: \"P1v2\",\n    osType: \"Linux\",\n});\nconst test = new azure.appservice.FunctionApp(\"test\", {\n    name: \"example-function-app\",\n    location: testAzurermResourceGroup.location,\n    resourceGroupName: testAzurermResourceGroup.name,\n    appServicePlanId: testAzurermAppServicePlan.id,\n    storageAccountName: testAzurermStorageAccount.name,\n    storageAccountAccessKey: testAzurermStorageAccount.primaryAccessKey,\n});\nconst exampleAppConnection = new azure.appservice.AppConnection(\"example\", {\n    name: \"example-serviceconnector\",\n    functionAppId: exampleAzurermFunctionApp.id,\n    targetResourceId: testAzurermCosmosdbAccount.id,\n    authentication: {\n        type: \"systemAssignedIdentity\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_account = azure.cosmosdb.Account(\"example\",\n    name=\"example-cosmosdb-account\",\n    location=example.location,\n    resource_group_name=example.name,\n    offer_type=\"Standard\",\n    kind=\"GlobalDocumentDB\",\n    consistency_policy={\n        \"consistency_level\": \"BoundedStaleness\",\n        \"max_interval_in_seconds\": 10,\n        \"max_staleness_prefix\": 200,\n    },\n    geo_locations=[{\n        \"location\": example.location,\n        \"failover_priority\": 0,\n    }])\nexample_sql_database = azure.cosmosdb.SqlDatabase(\"example\",\n    name=\"cosmos-sql-db\",\n    resource_group_name=example_account.resource_group_name,\n    account_name=example_account.name,\n    throughput=400)\nexample_sql_container = azure.cosmosdb.SqlContainer(\"example\",\n    name=\"example-container\",\n    resource_group_name=example_account.resource_group_name,\n    account_name=example_account.name,\n    database_name=example_sql_database.name,\n    partition_key_path=\"/definition\")\nexample_account2 = azure.storage.Account(\"example\",\n    name=\"examplestorageaccount\",\n    resource_group_name=example.name,\n    location=example.location,\n    account_tier=\"Standard\",\n    account_replication_type=\"LRS\")\nexample_service_plan = azure.appservice.ServicePlan(\"example\",\n    location=example.location,\n    name=\"example-serviceplan\",\n    resource_group_name=example.name,\n    sku_name=\"P1v2\",\n    os_type=\"Linux\")\ntest = azure.appservice.FunctionApp(\"test\",\n    name=\"example-function-app\",\n    location=test_azurerm_resource_group[\"location\"],\n    resource_group_name=test_azurerm_resource_group[\"name\"],\n    app_service_plan_id=test_azurerm_app_service_plan[\"id\"],\n    storage_account_name=test_azurerm_storage_account[\"name\"],\n    storage_account_access_key=test_azurerm_storage_account[\"primaryAccessKey\"])\nexample_app_connection = azure.appservice.AppConnection(\"example\",\n    name=\"example-serviceconnector\",\n    function_app_id=example_azurerm_function_app[\"id\"],\n    target_resource_id=test_azurerm_cosmosdb_account[\"id\"],\n    authentication={\n        \"type\": \"systemAssignedIdentity\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleAccount = new Azure.CosmosDB.Account(\"example\", new()\n    {\n        Name = \"example-cosmosdb-account\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        OfferType = \"Standard\",\n        Kind = \"GlobalDocumentDB\",\n        ConsistencyPolicy = new Azure.CosmosDB.Inputs.AccountConsistencyPolicyArgs\n        {\n            ConsistencyLevel = \"BoundedStaleness\",\n            MaxIntervalInSeconds = 10,\n            MaxStalenessPrefix = 200,\n        },\n        GeoLocations = new[]\n        {\n            new Azure.CosmosDB.Inputs.AccountGeoLocationArgs\n            {\n                Location = example.Location,\n                FailoverPriority = 0,\n            },\n        },\n    });\n\n    var exampleSqlDatabase = new Azure.CosmosDB.SqlDatabase(\"example\", new()\n    {\n        Name = \"cosmos-sql-db\",\n        ResourceGroupName = exampleAccount.ResourceGroupName,\n        AccountName = exampleAccount.Name,\n        Throughput = 400,\n    });\n\n    var exampleSqlContainer = new Azure.CosmosDB.SqlContainer(\"example\", new()\n    {\n        Name = \"example-container\",\n        ResourceGroupName = exampleAccount.ResourceGroupName,\n        AccountName = exampleAccount.Name,\n        DatabaseName = exampleSqlDatabase.Name,\n        PartitionKeyPath = \"/definition\",\n    });\n\n    var exampleAccount2 = new Azure.Storage.Account(\"example\", new()\n    {\n        Name = \"examplestorageaccount\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        AccountTier = \"Standard\",\n        AccountReplicationType = \"LRS\",\n    });\n\n    var exampleServicePlan = new Azure.AppService.ServicePlan(\"example\", new()\n    {\n        Location = example.Location,\n        Name = \"example-serviceplan\",\n        ResourceGroupName = example.Name,\n        SkuName = \"P1v2\",\n        OsType = \"Linux\",\n    });\n\n    var test = new Azure.AppService.FunctionApp(\"test\", new()\n    {\n        Name = \"example-function-app\",\n        Location = testAzurermResourceGroup.Location,\n        ResourceGroupName = testAzurermResourceGroup.Name,\n        AppServicePlanId = testAzurermAppServicePlan.Id,\n        StorageAccountName = testAzurermStorageAccount.Name,\n        StorageAccountAccessKey = testAzurermStorageAccount.PrimaryAccessKey,\n    });\n\n    var exampleAppConnection = new Azure.AppService.AppConnection(\"example\", new()\n    {\n        Name = \"example-serviceconnector\",\n        FunctionAppId = exampleAzurermFunctionApp.Id,\n        TargetResourceId = testAzurermCosmosdbAccount.Id,\n        Authentication = new Azure.AppService.Inputs.AppConnectionAuthenticationArgs\n        {\n            Type = \"systemAssignedIdentity\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/appservice\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/cosmosdb\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := cosmosdb.NewAccount(ctx, \"example\", \u0026cosmosdb.AccountArgs{\n\t\t\tName:              pulumi.String(\"example-cosmosdb-account\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tOfferType:         pulumi.String(\"Standard\"),\n\t\t\tKind:              pulumi.String(\"GlobalDocumentDB\"),\n\t\t\tConsistencyPolicy: \u0026cosmosdb.AccountConsistencyPolicyArgs{\n\t\t\t\tConsistencyLevel:     pulumi.String(\"BoundedStaleness\"),\n\t\t\t\tMaxIntervalInSeconds: pulumi.Int(10),\n\t\t\t\tMaxStalenessPrefix:   pulumi.Int(200),\n\t\t\t},\n\t\t\tGeoLocations: cosmosdb.AccountGeoLocationArray{\n\t\t\t\t\u0026cosmosdb.AccountGeoLocationArgs{\n\t\t\t\t\tLocation:         example.Location,\n\t\t\t\t\tFailoverPriority: pulumi.Int(0),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSqlDatabase, err := cosmosdb.NewSqlDatabase(ctx, \"example\", \u0026cosmosdb.SqlDatabaseArgs{\n\t\t\tName:              pulumi.String(\"cosmos-sql-db\"),\n\t\t\tResourceGroupName: exampleAccount.ResourceGroupName,\n\t\t\tAccountName:       exampleAccount.Name,\n\t\t\tThroughput:        pulumi.Int(400),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cosmosdb.NewSqlContainer(ctx, \"example\", \u0026cosmosdb.SqlContainerArgs{\n\t\t\tName:              pulumi.String(\"example-container\"),\n\t\t\tResourceGroupName: exampleAccount.ResourceGroupName,\n\t\t\tAccountName:       exampleAccount.Name,\n\t\t\tDatabaseName:      exampleSqlDatabase.Name,\n\t\t\tPartitionKeyPath:  \"/definition\",\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = storage.NewAccount(ctx, \"example\", \u0026storage.AccountArgs{\n\t\t\tName:                   pulumi.String(\"examplestorageaccount\"),\n\t\t\tResourceGroupName:      example.Name,\n\t\t\tLocation:               example.Location,\n\t\t\tAccountTier:            pulumi.String(\"Standard\"),\n\t\t\tAccountReplicationType: pulumi.String(\"LRS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = appservice.NewServicePlan(ctx, \"example\", \u0026appservice.ServicePlanArgs{\n\t\t\tLocation:          example.Location,\n\t\t\tName:              pulumi.String(\"example-serviceplan\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSkuName:           pulumi.String(\"P1v2\"),\n\t\t\tOsType:            pulumi.String(\"Linux\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = appservice.NewFunctionApp(ctx, \"test\", \u0026appservice.FunctionAppArgs{\n\t\t\tName:                    pulumi.String(\"example-function-app\"),\n\t\t\tLocation:                pulumi.Any(testAzurermResourceGroup.Location),\n\t\t\tResourceGroupName:       pulumi.Any(testAzurermResourceGroup.Name),\n\t\t\tAppServicePlanId:        pulumi.Any(testAzurermAppServicePlan.Id),\n\t\t\tStorageAccountName:      pulumi.Any(testAzurermStorageAccount.Name),\n\t\t\tStorageAccountAccessKey: pulumi.Any(testAzurermStorageAccount.PrimaryAccessKey),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = appservice.NewAppConnection(ctx, \"example\", \u0026appservice.AppConnectionArgs{\n\t\t\tName:             pulumi.String(\"example-serviceconnector\"),\n\t\t\tFunctionAppId:    pulumi.Any(exampleAzurermFunctionApp.Id),\n\t\t\tTargetResourceId: pulumi.Any(testAzurermCosmosdbAccount.Id),\n\t\t\tAuthentication: \u0026appservice.AppConnectionAuthenticationArgs{\n\t\t\t\tType: pulumi.String(\"systemAssignedIdentity\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.cosmosdb.inputs.AccountConsistencyPolicyArgs;\nimport com.pulumi.azure.cosmosdb.inputs.AccountGeoLocationArgs;\nimport com.pulumi.azure.cosmosdb.SqlDatabase;\nimport com.pulumi.azure.cosmosdb.SqlDatabaseArgs;\nimport com.pulumi.azure.cosmosdb.SqlContainer;\nimport com.pulumi.azure.cosmosdb.SqlContainerArgs;\nimport com.pulumi.azure.appservice.ServicePlan;\nimport com.pulumi.azure.appservice.ServicePlanArgs;\nimport com.pulumi.azure.appservice.FunctionApp;\nimport com.pulumi.azure.appservice.FunctionAppArgs;\nimport com.pulumi.azure.appservice.AppConnection;\nimport com.pulumi.azure.appservice.AppConnectionArgs;\nimport com.pulumi.azure.appservice.inputs.AppConnectionAuthenticationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleAccount = new com.pulumi.azure.cosmosdb.Account(\"exampleAccount\", com.pulumi.azure.cosmosdb.AccountArgs.builder()\n            .name(\"example-cosmosdb-account\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .offerType(\"Standard\")\n            .kind(\"GlobalDocumentDB\")\n            .consistencyPolicy(AccountConsistencyPolicyArgs.builder()\n                .consistencyLevel(\"BoundedStaleness\")\n                .maxIntervalInSeconds(10)\n                .maxStalenessPrefix(200)\n                .build())\n            .geoLocations(AccountGeoLocationArgs.builder()\n                .location(example.location())\n                .failoverPriority(0)\n                .build())\n            .build());\n\n        var exampleSqlDatabase = new SqlDatabase(\"exampleSqlDatabase\", SqlDatabaseArgs.builder()\n            .name(\"cosmos-sql-db\")\n            .resourceGroupName(exampleAccount.resourceGroupName())\n            .accountName(exampleAccount.name())\n            .throughput(400)\n            .build());\n\n        var exampleSqlContainer = new SqlContainer(\"exampleSqlContainer\", SqlContainerArgs.builder()\n            .name(\"example-container\")\n            .resourceGroupName(exampleAccount.resourceGroupName())\n            .accountName(exampleAccount.name())\n            .databaseName(exampleSqlDatabase.name())\n            .partitionKeyPath(\"/definition\")\n            .build());\n\n        var exampleAccount2 = new com.pulumi.azure.storage.Account(\"exampleAccount2\", com.pulumi.azure.storage.AccountArgs.builder()\n            .name(\"examplestorageaccount\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .accountTier(\"Standard\")\n            .accountReplicationType(\"LRS\")\n            .build());\n\n        var exampleServicePlan = new ServicePlan(\"exampleServicePlan\", ServicePlanArgs.builder()\n            .location(example.location())\n            .name(\"example-serviceplan\")\n            .resourceGroupName(example.name())\n            .skuName(\"P1v2\")\n            .osType(\"Linux\")\n            .build());\n\n        var test = new FunctionApp(\"test\", FunctionAppArgs.builder()\n            .name(\"example-function-app\")\n            .location(testAzurermResourceGroup.location())\n            .resourceGroupName(testAzurermResourceGroup.name())\n            .appServicePlanId(testAzurermAppServicePlan.id())\n            .storageAccountName(testAzurermStorageAccount.name())\n            .storageAccountAccessKey(testAzurermStorageAccount.primaryAccessKey())\n            .build());\n\n        var exampleAppConnection = new AppConnection(\"exampleAppConnection\", AppConnectionArgs.builder()\n            .name(\"example-serviceconnector\")\n            .functionAppId(exampleAzurermFunctionApp.id())\n            .targetResourceId(testAzurermCosmosdbAccount.id())\n            .authentication(AppConnectionAuthenticationArgs.builder()\n                .type(\"systemAssignedIdentity\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleAccount:\n    type: azure:cosmosdb:Account\n    name: example\n    properties:\n      name: example-cosmosdb-account\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      offerType: Standard\n      kind: GlobalDocumentDB\n      consistencyPolicy:\n        consistencyLevel: BoundedStaleness\n        maxIntervalInSeconds: 10\n        maxStalenessPrefix: 200\n      geoLocations:\n        - location: ${example.location}\n          failoverPriority: 0\n  exampleSqlDatabase:\n    type: azure:cosmosdb:SqlDatabase\n    name: example\n    properties:\n      name: cosmos-sql-db\n      resourceGroupName: ${exampleAccount.resourceGroupName}\n      accountName: ${exampleAccount.name}\n      throughput: 400\n  exampleSqlContainer:\n    type: azure:cosmosdb:SqlContainer\n    name: example\n    properties:\n      name: example-container\n      resourceGroupName: ${exampleAccount.resourceGroupName}\n      accountName: ${exampleAccount.name}\n      databaseName: ${exampleSqlDatabase.name}\n      partitionKeyPath: /definition\n  exampleAccount2:\n    type: azure:storage:Account\n    name: example\n    properties:\n      name: examplestorageaccount\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      accountTier: Standard\n      accountReplicationType: LRS\n  exampleServicePlan:\n    type: azure:appservice:ServicePlan\n    name: example\n    properties:\n      location: ${example.location}\n      name: example-serviceplan\n      resourceGroupName: ${example.name}\n      skuName: P1v2\n      osType: Linux\n  test:\n    type: azure:appservice:FunctionApp\n    properties:\n      name: example-function-app\n      location: ${testAzurermResourceGroup.location}\n      resourceGroupName: ${testAzurermResourceGroup.name}\n      appServicePlanId: ${testAzurermAppServicePlan.id}\n      storageAccountName: ${testAzurermStorageAccount.name}\n      storageAccountAccessKey: ${testAzurermStorageAccount.primaryAccessKey}\n  exampleAppConnection:\n    type: azure:appservice:AppConnection\n    name: example\n    properties:\n      name: example-serviceconnector\n      functionAppId: ${exampleAzurermFunctionApp.id}\n      targetResourceId: ${testAzurermCosmosdbAccount.id}\n      authentication:\n        type: systemAssignedIdentity\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.ServiceLinker` - 2024-04-01, 2022-05-01\n\n## Import\n\nService Connector for app service can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:appservice/appConnection:AppConnection example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Web/sites/webapp/providers/Microsoft.ServiceLinker/linkers/serviceconnector1\n```\n\n","properties":{"authentication":{"$ref":"#/types/azure:appservice/AppConnectionAuthentication:AppConnectionAuthentication","description":"The authentication info. An \u003cspan pulumi-lang-nodejs=\"`authentication`\" pulumi-lang-dotnet=\"`Authentication`\" pulumi-lang-go=\"`authentication`\" pulumi-lang-python=\"`authentication`\" pulumi-lang-yaml=\"`authentication`\" pulumi-lang-java=\"`authentication`\"\u003e`authentication`\u003c/span\u003e block as defined below.\n\n\u003e **Note:** If a Managed Identity is used, this will need to be configured on the App Service.\n"},"clientType":{"type":"string"},"functionAppId":{"type":"string","description":"The ID of the data source function app. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"The name of the service connection. Changing this forces a new resource to be created.\n"},"secretStore":{"$ref":"#/types/azure:appservice/AppConnectionSecretStore:AppConnectionSecretStore"},"targetResourceId":{"type":"string","description":"The ID of the target resource. Changing this forces a new resource to be created. Possible target resources are `Postgres`, `PostgresFlexible`, `Mysql`, `Sql`, `Redis`, `RedisEnterprise`, `CosmosCassandra`, `CosmosGremlin`, `CosmosMongo`, `CosmosSql`, `CosmosTable`, `StorageBlob`, `StorageQueue`, `StorageFile`, `StorageTable`, `AppConfig`, `EventHub`, `ServiceBus`, `SignalR`, `WebPubSub`, `ConfluentKafka`. The integration guide can be found [here](https://learn.microsoft.com/en-us/azure/service-connector/how-to-integrate-postgres).\n"},"vnetSolution":{"type":"string"}},"required":["authentication","functionAppId","name","targetResourceId"],"inputProperties":{"authentication":{"$ref":"#/types/azure:appservice/AppConnectionAuthentication:AppConnectionAuthentication","description":"The authentication info. An \u003cspan pulumi-lang-nodejs=\"`authentication`\" pulumi-lang-dotnet=\"`Authentication`\" pulumi-lang-go=\"`authentication`\" pulumi-lang-python=\"`authentication`\" pulumi-lang-yaml=\"`authentication`\" pulumi-lang-java=\"`authentication`\"\u003e`authentication`\u003c/span\u003e block as defined below.\n\n\u003e **Note:** If a Managed Identity is used, this will need to be configured on the App Service.\n"},"clientType":{"type":"string"},"functionAppId":{"type":"string","description":"The ID of the data source function app. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the service connection. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"secretStore":{"$ref":"#/types/azure:appservice/AppConnectionSecretStore:AppConnectionSecretStore"},"targetResourceId":{"type":"string","description":"The ID of the target resource. Changing this forces a new resource to be created. Possible target resources are `Postgres`, `PostgresFlexible`, `Mysql`, `Sql`, `Redis`, `RedisEnterprise`, `CosmosCassandra`, `CosmosGremlin`, `CosmosMongo`, `CosmosSql`, `CosmosTable`, `StorageBlob`, `StorageQueue`, `StorageFile`, `StorageTable`, `AppConfig`, `EventHub`, `ServiceBus`, `SignalR`, `WebPubSub`, `ConfluentKafka`. The integration guide can be found [here](https://learn.microsoft.com/en-us/azure/service-connector/how-to-integrate-postgres).\n","willReplaceOnChanges":true},"vnetSolution":{"type":"string"}},"requiredInputs":["authentication","functionAppId","targetResourceId"],"stateInputs":{"description":"Input properties used for looking up and filtering AppConnection resources.\n","properties":{"authentication":{"$ref":"#/types/azure:appservice/AppConnectionAuthentication:AppConnectionAuthentication","description":"The authentication info. An \u003cspan pulumi-lang-nodejs=\"`authentication`\" pulumi-lang-dotnet=\"`Authentication`\" pulumi-lang-go=\"`authentication`\" pulumi-lang-python=\"`authentication`\" pulumi-lang-yaml=\"`authentication`\" pulumi-lang-java=\"`authentication`\"\u003e`authentication`\u003c/span\u003e block as defined below.\n\n\u003e **Note:** If a Managed Identity is used, this will need to be configured on the App Service.\n"},"clientType":{"type":"string"},"functionAppId":{"type":"string","description":"The ID of the data source function app. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the service connection. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"secretStore":{"$ref":"#/types/azure:appservice/AppConnectionSecretStore:AppConnectionSecretStore"},"targetResourceId":{"type":"string","description":"The ID of the target resource. Changing this forces a new resource to be created. Possible target resources are `Postgres`, `PostgresFlexible`, `Mysql`, `Sql`, `Redis`, `RedisEnterprise`, `CosmosCassandra`, `CosmosGremlin`, `CosmosMongo`, `CosmosSql`, `CosmosTable`, `StorageBlob`, `StorageQueue`, `StorageFile`, `StorageTable`, `AppConfig`, `EventHub`, `ServiceBus`, `SignalR`, `WebPubSub`, `ConfluentKafka`. The integration guide can be found [here](https://learn.microsoft.com/en-us/azure/service-connector/how-to-integrate-postgres).\n","willReplaceOnChanges":true},"vnetSolution":{"type":"string"}},"type":"object"}},"azure:appservice/appFlexConsumption:AppFlexConsumption":{"description":"Manages a Function App Running on a Flex Consumption Plan.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleAccount = new azure.storage.Account(\"example\", {\n    name: \"examplelinuxfunctionappsa\",\n    resourceGroupName: example.name,\n    location: example.location,\n    accountTier: \"Standard\",\n    accountReplicationType: \"LRS\",\n});\nconst exampleContainer = new azure.storage.Container(\"example\", {\n    name: \"example-flexcontainer\",\n    storageAccountId: exampleAccount.id,\n    containerAccessType: \"private\",\n});\nconst exampleServicePlan = new azure.appservice.ServicePlan(\"example\", {\n    name: \"example-app-service-plan\",\n    resourceGroupName: example.name,\n    location: example.location,\n    skuName: \"FC1\",\n    osType: \"Linux\",\n});\nconst exampleAppFlexConsumption = new azure.appservice.AppFlexConsumption(\"example\", {\n    name: \"example-linux-function-app\",\n    resourceGroupName: example.name,\n    location: example.location,\n    servicePlanId: exampleServicePlan.id,\n    storageContainerType: \"blobContainer\",\n    storageContainerEndpoint: pulumi.interpolate`${exampleAccount.primaryBlobEndpoint}${exampleContainer.name}`,\n    storageAuthenticationType: \"StorageAccountConnectionString\",\n    storageAccessKey: exampleAccount.primaryAccessKey,\n    runtimeName: \"node\",\n    runtimeVersion: \"20\",\n    maximumInstanceCount: 50,\n    instanceMemoryInMb: 2048,\n    siteConfig: {},\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_account = azure.storage.Account(\"example\",\n    name=\"examplelinuxfunctionappsa\",\n    resource_group_name=example.name,\n    location=example.location,\n    account_tier=\"Standard\",\n    account_replication_type=\"LRS\")\nexample_container = azure.storage.Container(\"example\",\n    name=\"example-flexcontainer\",\n    storage_account_id=example_account.id,\n    container_access_type=\"private\")\nexample_service_plan = azure.appservice.ServicePlan(\"example\",\n    name=\"example-app-service-plan\",\n    resource_group_name=example.name,\n    location=example.location,\n    sku_name=\"FC1\",\n    os_type=\"Linux\")\nexample_app_flex_consumption = azure.appservice.AppFlexConsumption(\"example\",\n    name=\"example-linux-function-app\",\n    resource_group_name=example.name,\n    location=example.location,\n    service_plan_id=example_service_plan.id,\n    storage_container_type=\"blobContainer\",\n    storage_container_endpoint=pulumi.Output.all(\n        primary_blob_endpoint=example_account.primary_blob_endpoint,\n        name=example_container.name\n).apply(lambda resolved_outputs: f\"{resolved_outputs['primary_blob_endpoint']}{resolved_outputs['name']}\")\n,\n    storage_authentication_type=\"StorageAccountConnectionString\",\n    storage_access_key=example_account.primary_access_key,\n    runtime_name=\"node\",\n    runtime_version=\"20\",\n    maximum_instance_count=50,\n    instance_memory_in_mb=2048,\n    site_config={})\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleAccount = new Azure.Storage.Account(\"example\", new()\n    {\n        Name = \"examplelinuxfunctionappsa\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        AccountTier = \"Standard\",\n        AccountReplicationType = \"LRS\",\n    });\n\n    var exampleContainer = new Azure.Storage.Container(\"example\", new()\n    {\n        Name = \"example-flexcontainer\",\n        StorageAccountId = exampleAccount.Id,\n        ContainerAccessType = \"private\",\n    });\n\n    var exampleServicePlan = new Azure.AppService.ServicePlan(\"example\", new()\n    {\n        Name = \"example-app-service-plan\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        SkuName = \"FC1\",\n        OsType = \"Linux\",\n    });\n\n    var exampleAppFlexConsumption = new Azure.AppService.AppFlexConsumption(\"example\", new()\n    {\n        Name = \"example-linux-function-app\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        ServicePlanId = exampleServicePlan.Id,\n        StorageContainerType = \"blobContainer\",\n        StorageContainerEndpoint = Output.Tuple(exampleAccount.PrimaryBlobEndpoint, exampleContainer.Name).Apply(values =\u003e\n        {\n            var primaryBlobEndpoint = values.Item1;\n            var name = values.Item2;\n            return $\"{primaryBlobEndpoint}{name}\";\n        }),\n        StorageAuthenticationType = \"StorageAccountConnectionString\",\n        StorageAccessKey = exampleAccount.PrimaryAccessKey,\n        RuntimeName = \"node\",\n        RuntimeVersion = \"20\",\n        MaximumInstanceCount = 50,\n        InstanceMemoryInMb = 2048,\n        SiteConfig = null,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/appservice\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := storage.NewAccount(ctx, \"example\", \u0026storage.AccountArgs{\n\t\t\tName:                   pulumi.String(\"examplelinuxfunctionappsa\"),\n\t\t\tResourceGroupName:      example.Name,\n\t\t\tLocation:               example.Location,\n\t\t\tAccountTier:            pulumi.String(\"Standard\"),\n\t\t\tAccountReplicationType: pulumi.String(\"LRS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleContainer, err := storage.NewContainer(ctx, \"example\", \u0026storage.ContainerArgs{\n\t\t\tName:                pulumi.String(\"example-flexcontainer\"),\n\t\t\tStorageAccountId:    exampleAccount.ID(),\n\t\t\tContainerAccessType: pulumi.String(\"private\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleServicePlan, err := appservice.NewServicePlan(ctx, \"example\", \u0026appservice.ServicePlanArgs{\n\t\t\tName:              pulumi.String(\"example-app-service-plan\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tSkuName:           pulumi.String(\"FC1\"),\n\t\t\tOsType:            pulumi.String(\"Linux\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = appservice.NewAppFlexConsumption(ctx, \"example\", \u0026appservice.AppFlexConsumptionArgs{\n\t\t\tName:                 pulumi.String(\"example-linux-function-app\"),\n\t\t\tResourceGroupName:    example.Name,\n\t\t\tLocation:             example.Location,\n\t\t\tServicePlanId:        exampleServicePlan.ID(),\n\t\t\tStorageContainerType: pulumi.String(\"blobContainer\"),\n\t\t\tStorageContainerEndpoint: pulumi.All(exampleAccount.PrimaryBlobEndpoint, exampleContainer.Name).ApplyT(func(_args []interface{}) (string, error) {\n\t\t\t\tprimaryBlobEndpoint := _args[0].(string)\n\t\t\t\tname := _args[1].(string)\n\t\t\t\treturn fmt.Sprintf(\"%v%v\", primaryBlobEndpoint, name), nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t\tStorageAuthenticationType: pulumi.String(\"StorageAccountConnectionString\"),\n\t\t\tStorageAccessKey:          exampleAccount.PrimaryAccessKey,\n\t\t\tRuntimeName:               pulumi.String(\"node\"),\n\t\t\tRuntimeVersion:            pulumi.String(\"20\"),\n\t\t\tMaximumInstanceCount:      pulumi.Int(50),\n\t\t\tInstanceMemoryInMb:        pulumi.Int(2048),\n\t\t\tSiteConfig:                \u0026appservice.AppFlexConsumptionSiteConfigArgs{},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.storage.Account;\nimport com.pulumi.azure.storage.AccountArgs;\nimport com.pulumi.azure.storage.Container;\nimport com.pulumi.azure.storage.ContainerArgs;\nimport com.pulumi.azure.appservice.ServicePlan;\nimport com.pulumi.azure.appservice.ServicePlanArgs;\nimport com.pulumi.azure.appservice.AppFlexConsumption;\nimport com.pulumi.azure.appservice.AppFlexConsumptionArgs;\nimport com.pulumi.azure.appservice.inputs.AppFlexConsumptionSiteConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"examplelinuxfunctionappsa\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .accountTier(\"Standard\")\n            .accountReplicationType(\"LRS\")\n            .build());\n\n        var exampleContainer = new Container(\"exampleContainer\", ContainerArgs.builder()\n            .name(\"example-flexcontainer\")\n            .storageAccountId(exampleAccount.id())\n            .containerAccessType(\"private\")\n            .build());\n\n        var exampleServicePlan = new ServicePlan(\"exampleServicePlan\", ServicePlanArgs.builder()\n            .name(\"example-app-service-plan\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .skuName(\"FC1\")\n            .osType(\"Linux\")\n            .build());\n\n        var exampleAppFlexConsumption = new AppFlexConsumption(\"exampleAppFlexConsumption\", AppFlexConsumptionArgs.builder()\n            .name(\"example-linux-function-app\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .servicePlanId(exampleServicePlan.id())\n            .storageContainerType(\"blobContainer\")\n            .storageContainerEndpoint(Output.tuple(exampleAccount.primaryBlobEndpoint(), exampleContainer.name()).applyValue(values -\u003e {\n                var primaryBlobEndpoint = values.t1;\n                var name = values.t2;\n                return String.format(\"%s%s\", primaryBlobEndpoint,name);\n            }))\n            .storageAuthenticationType(\"StorageAccountConnectionString\")\n            .storageAccessKey(exampleAccount.primaryAccessKey())\n            .runtimeName(\"node\")\n            .runtimeVersion(\"20\")\n            .maximumInstanceCount(50)\n            .instanceMemoryInMb(2048)\n            .siteConfig(AppFlexConsumptionSiteConfigArgs.builder()\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleAccount:\n    type: azure:storage:Account\n    name: example\n    properties:\n      name: examplelinuxfunctionappsa\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      accountTier: Standard\n      accountReplicationType: LRS\n  exampleContainer:\n    type: azure:storage:Container\n    name: example\n    properties:\n      name: example-flexcontainer\n      storageAccountId: ${exampleAccount.id}\n      containerAccessType: private\n  exampleServicePlan:\n    type: azure:appservice:ServicePlan\n    name: example\n    properties:\n      name: example-app-service-plan\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      skuName: FC1\n      osType: Linux\n  exampleAppFlexConsumption:\n    type: azure:appservice:AppFlexConsumption\n    name: example\n    properties:\n      name: example-linux-function-app\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      servicePlanId: ${exampleServicePlan.id}\n      storageContainerType: blobContainer\n      storageContainerEndpoint: ${exampleAccount.primaryBlobEndpoint}${exampleContainer.name}\n      storageAuthenticationType: StorageAccountConnectionString\n      storageAccessKey: ${exampleAccount.primaryAccessKey}\n      runtimeName: node\n      runtimeVersion: '20'\n      maximumInstanceCount: 50\n      instanceMemoryInMb: 2048\n      siteConfig: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Web` - 2023-12-01, 2023-01-01\n\n## Import\n\nThe Function Apps can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:appservice/appFlexConsumption:AppFlexConsumption example /subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/resGroup1/providers/Microsoft.Web/sites/site1\n```\n\n","properties":{"alwaysReadies":{"type":"array","items":{"$ref":"#/types/azure:appservice/AppFlexConsumptionAlwaysReady:AppFlexConsumptionAlwaysReady"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`alwaysReady`\" pulumi-lang-dotnet=\"`AlwaysReady`\" pulumi-lang-go=\"`alwaysReady`\" pulumi-lang-python=\"`always_ready`\" pulumi-lang-yaml=\"`alwaysReady`\" pulumi-lang-java=\"`alwaysReady`\"\u003e`always_ready`\u003c/span\u003e blocks as defined below.\n"},"appSettings":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of key-value pairs for [App Settings](https://docs.microsoft.com/azure/azure-functions/functions-app-settings) and custom values.\n\n\u003e **Note:** For storage related settings, please use related properties that are available such as \u003cspan pulumi-lang-nodejs=\"`storageAccessKey`\" pulumi-lang-dotnet=\"`StorageAccessKey`\" pulumi-lang-go=\"`storageAccessKey`\" pulumi-lang-python=\"`storage_access_key`\" pulumi-lang-yaml=\"`storageAccessKey`\" pulumi-lang-java=\"`storageAccessKey`\"\u003e`storage_access_key`\u003c/span\u003e, terraform will assign the value to keys such as `WEBSITE_CONTENTAZUREFILECONNECTIONSTRING`, `AzureWebJobsStorage` in app_setting.\n\n\u003e **Note:** For application insight related settings, please use \u003cspan pulumi-lang-nodejs=\"`applicationInsightsConnectionString`\" pulumi-lang-dotnet=\"`ApplicationInsightsConnectionString`\" pulumi-lang-go=\"`applicationInsightsConnectionString`\" pulumi-lang-python=\"`application_insights_connection_string`\" pulumi-lang-yaml=\"`applicationInsightsConnectionString`\" pulumi-lang-java=\"`applicationInsightsConnectionString`\"\u003e`application_insights_connection_string`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`applicationInsightsKey`\" pulumi-lang-dotnet=\"`ApplicationInsightsKey`\" pulumi-lang-go=\"`applicationInsightsKey`\" pulumi-lang-python=\"`application_insights_key`\" pulumi-lang-yaml=\"`applicationInsightsKey`\" pulumi-lang-java=\"`applicationInsightsKey`\"\u003e`application_insights_key`\u003c/span\u003e, terraform will assign the value to the key `APPINSIGHTS_INSTRUMENTATIONKEY` and `APPLICATIONINSIGHTS_CONNECTION_STRING` in app setting.\n\n\u003e **Note:** For health check related settings, please use \u003cspan pulumi-lang-nodejs=\"`healthCheckEvictionTimeInMin`\" pulumi-lang-dotnet=\"`HealthCheckEvictionTimeInMin`\" pulumi-lang-go=\"`healthCheckEvictionTimeInMin`\" pulumi-lang-python=\"`health_check_eviction_time_in_min`\" pulumi-lang-yaml=\"`healthCheckEvictionTimeInMin`\" pulumi-lang-java=\"`healthCheckEvictionTimeInMin`\"\u003e`health_check_eviction_time_in_min`\u003c/span\u003e, terraform will assign the value to the key `WEBSITE_HEALTHCHECK_MAXPINGFAILURES` in app setting.\n\n\u003e **Note:** For those app settings that are deprecated or replaced by another properties for flex consumption function app, please check https://learn.microsoft.com/en-us/azure/azure-functions/functions-app-settings.\n"},"authSettings":{"$ref":"#/types/azure:appservice/AppFlexConsumptionAuthSettings:AppFlexConsumptionAuthSettings","description":"A \u003cspan pulumi-lang-nodejs=\"`authSettings`\" pulumi-lang-dotnet=\"`AuthSettings`\" pulumi-lang-go=\"`authSettings`\" pulumi-lang-python=\"`auth_settings`\" pulumi-lang-yaml=\"`authSettings`\" pulumi-lang-java=\"`authSettings`\"\u003e`auth_settings`\u003c/span\u003e block as defined below.\n"},"authSettingsV2":{"$ref":"#/types/azure:appservice/AppFlexConsumptionAuthSettingsV2:AppFlexConsumptionAuthSettingsV2","description":"An \u003cspan pulumi-lang-nodejs=\"`authSettingsV2`\" pulumi-lang-dotnet=\"`AuthSettingsV2`\" pulumi-lang-go=\"`authSettingsV2`\" pulumi-lang-python=\"`auth_settings_v2`\" pulumi-lang-yaml=\"`authSettingsV2`\" pulumi-lang-java=\"`authSettingsV2`\"\u003e`auth_settings_v2`\u003c/span\u003e block as defined below.\n"},"clientCertificateEnabled":{"type":"boolean","description":"Should the function app use Client Certificates.\n"},"clientCertificateExclusionPaths":{"type":"string","description":"Paths to exclude when using client certificates, separated by ;\n"},"clientCertificateMode":{"type":"string","description":"The mode of the Function App's client certificates requirement for incoming requests. Possible values are `Required`, `Optional`, and `OptionalInteractiveUser`. Defaults to `Optional`.\n"},"connectionStrings":{"type":"array","items":{"$ref":"#/types/azure:appservice/AppFlexConsumptionConnectionString:AppFlexConsumptionConnectionString"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`connectionString`\" pulumi-lang-dotnet=\"`ConnectionString`\" pulumi-lang-go=\"`connectionString`\" pulumi-lang-python=\"`connection_string`\" pulumi-lang-yaml=\"`connectionString`\" pulumi-lang-java=\"`connectionString`\"\u003e`connection_string`\u003c/span\u003e blocks as defined below.\n"},"customDomainVerificationId":{"type":"string","description":"The identifier used by App Service to perform domain ownership verification via DNS TXT record.\n","secret":true},"defaultHostname":{"type":"string","description":"The default hostname of the Linux Function App.\n"},"enabled":{"type":"boolean","description":"Is the Function App enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"hostingEnvironmentId":{"type":"string","description":"The ID of the App Service Environment used by Function App.\n"},"httpConcurrency":{"type":"integer","description":"The Http concurrency of the instances on which your app runs. The supported value are from \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`1000`\" pulumi-lang-dotnet=\"`1000`\" pulumi-lang-go=\"`1000`\" pulumi-lang-python=\"`1000`\" pulumi-lang-yaml=\"`1000`\" pulumi-lang-java=\"`1000`\"\u003e`1000`\u003c/span\u003e.\n\n\u003e **Note:** A value will be assigned by the system if \u003cspan pulumi-lang-nodejs=\"`httpConcurrency`\" pulumi-lang-dotnet=\"`HttpConcurrency`\" pulumi-lang-go=\"`httpConcurrency`\" pulumi-lang-python=\"`http_concurrency`\" pulumi-lang-yaml=\"`httpConcurrency`\" pulumi-lang-java=\"`httpConcurrency`\"\u003e`http_concurrency`\u003c/span\u003e is not specified.\n"},"httpsOnly":{"type":"boolean","description":"Is Https Connection enforced to the function app. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e\n"},"identity":{"$ref":"#/types/azure:appservice/AppFlexConsumptionIdentity:AppFlexConsumptionIdentity","description":"A \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"instanceMemoryInMb":{"type":"integer","description":"The memory size of the instances on which your app runs. Reference the Microsoft Documentation for the [currently supported values](https://learn.microsoft.com/en-us/azure/azure-functions/flex-consumption-plan#instance-memory). Defaults to \u003cspan pulumi-lang-nodejs=\"`2048`\" pulumi-lang-dotnet=\"`2048`\" pulumi-lang-go=\"`2048`\" pulumi-lang-python=\"`2048`\" pulumi-lang-yaml=\"`2048`\" pulumi-lang-java=\"`2048`\"\u003e`2048`\u003c/span\u003e.\n"},"kind":{"type":"string","description":"The Kind value for this Linux Function App.\n"},"location":{"type":"string","description":"The Azure Region where the Function App should exist. Changing this forces a new Function App to be created.\n"},"maximumInstanceCount":{"type":"integer","description":"The number of workers this function app can scale out to. The supported value are from \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`1000`\" pulumi-lang-dotnet=\"`1000`\" pulumi-lang-go=\"`1000`\" pulumi-lang-python=\"`1000`\" pulumi-lang-yaml=\"`1000`\" pulumi-lang-java=\"`1000`\"\u003e`1000`\u003c/span\u003e.\n"},"name":{"type":"string","description":"The name which should be used for this Function App. Changing this forces a new Function App to be created. Limit the function name to 32 characters to avoid naming collisions. For more information about [Function App naming rule](https://docs.microsoft.com/en-us/azure/azure-resource-manager/management/resource-name-rules#microsoftweb) and [Host ID Collisions](https://github.com/Azure/azure-functions-host/wiki/Host-IDs#host-id-collisions)\n"},"outboundIpAddressLists":{"type":"array","items":{"type":"string"},"description":"A list of outbound IP addresses. For example `[\"52.23.25.3\", \"52.143.43.12\"]`\n"},"outboundIpAddresses":{"type":"string","description":"A comma separated list of outbound IP addresses as a string. For example `52.23.25.3,52.143.43.12`.\n"},"possibleOutboundIpAddressLists":{"type":"array","items":{"type":"string"},"description":"A list of possible outbound IP addresses, not all of which are necessarily in use. This is a superset of \u003cspan pulumi-lang-nodejs=\"`outboundIpAddressList`\" pulumi-lang-dotnet=\"`OutboundIpAddressList`\" pulumi-lang-go=\"`outboundIpAddressList`\" pulumi-lang-python=\"`outbound_ip_address_list`\" pulumi-lang-yaml=\"`outboundIpAddressList`\" pulumi-lang-java=\"`outboundIpAddressList`\"\u003e`outbound_ip_address_list`\u003c/span\u003e. For example `[\"52.23.25.3\", \"52.143.43.12\"]`.\n"},"possibleOutboundIpAddresses":{"type":"string","description":"A comma separated list of possible outbound IP addresses as a string. For example `52.23.25.3,52.143.43.12,52.143.43.17`. This is a superset of \u003cspan pulumi-lang-nodejs=\"`outboundIpAddresses`\" pulumi-lang-dotnet=\"`OutboundIpAddresses`\" pulumi-lang-go=\"`outboundIpAddresses`\" pulumi-lang-python=\"`outbound_ip_addresses`\" pulumi-lang-yaml=\"`outboundIpAddresses`\" pulumi-lang-java=\"`outboundIpAddresses`\"\u003e`outbound_ip_addresses`\u003c/span\u003e.\n"},"publicNetworkAccessEnabled":{"type":"boolean","description":"Should public network access be enabled for the Function App. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Function App should exist. Changing this forces a new Linux Function App to be created.\n"},"runtimeName":{"type":"string","description":"The Runtime of the Linux Function App. Possible values are \u003cspan pulumi-lang-nodejs=\"`node`\" pulumi-lang-dotnet=\"`Node`\" pulumi-lang-go=\"`node`\" pulumi-lang-python=\"`node`\" pulumi-lang-yaml=\"`node`\" pulumi-lang-java=\"`node`\"\u003e`node`\u003c/span\u003e, `dotnet-isolated`, \u003cspan pulumi-lang-nodejs=\"`powershell`\" pulumi-lang-dotnet=\"`Powershell`\" pulumi-lang-go=\"`powershell`\" pulumi-lang-python=\"`powershell`\" pulumi-lang-yaml=\"`powershell`\" pulumi-lang-java=\"`powershell`\"\u003e`powershell`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`python`\" pulumi-lang-dotnet=\"`Python`\" pulumi-lang-go=\"`python`\" pulumi-lang-python=\"`python`\" pulumi-lang-yaml=\"`python`\" pulumi-lang-java=\"`python`\"\u003e`python`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`java`\" pulumi-lang-dotnet=\"`Java`\" pulumi-lang-go=\"`java`\" pulumi-lang-python=\"`java`\" pulumi-lang-yaml=\"`java`\" pulumi-lang-java=\"`java`\"\u003e`java`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`custom`\" pulumi-lang-dotnet=\"`Custom`\" pulumi-lang-go=\"`custom`\" pulumi-lang-python=\"`custom`\" pulumi-lang-yaml=\"`custom`\" pulumi-lang-java=\"`custom`\"\u003e`custom`\u003c/span\u003e.\n"},"runtimeVersion":{"type":"string","description":"The Runtime version of the Linux Function App. Accepted values varies with the value of \u003cspan pulumi-lang-nodejs=\"`runtimeName`\" pulumi-lang-dotnet=\"`RuntimeName`\" pulumi-lang-go=\"`runtimeName`\" pulumi-lang-python=\"`runtime_name`\" pulumi-lang-yaml=\"`runtimeName`\" pulumi-lang-java=\"`runtimeName`\"\u003e`runtime_name`\u003c/span\u003e.\n\n\u003e **Note:** To get the most up-to-date list of supported versions, use command `az functionapp list-runtimes` or visit [Supported languages in Azure Functions](https://learn.microsoft.com/en-us/azure/azure-functions/supported-languages)\n"},"servicePlanId":{"type":"string","description":"The ID of the App Service Plan within which to create this Function App. Changing this forces a new Linux Function App to be created.\n"},"siteConfig":{"$ref":"#/types/azure:appservice/AppFlexConsumptionSiteConfig:AppFlexConsumptionSiteConfig","description":"A \u003cspan pulumi-lang-nodejs=\"`siteConfig`\" pulumi-lang-dotnet=\"`SiteConfig`\" pulumi-lang-go=\"`siteConfig`\" pulumi-lang-python=\"`site_config`\" pulumi-lang-yaml=\"`siteConfig`\" pulumi-lang-java=\"`siteConfig`\"\u003e`site_config`\u003c/span\u003e block as defined below.\n"},"siteCredentials":{"type":"array","items":{"$ref":"#/types/azure:appservice/AppFlexConsumptionSiteCredential:AppFlexConsumptionSiteCredential"},"description":"A \u003cspan pulumi-lang-nodejs=\"`siteCredential`\" pulumi-lang-dotnet=\"`SiteCredential`\" pulumi-lang-go=\"`siteCredential`\" pulumi-lang-python=\"`site_credential`\" pulumi-lang-yaml=\"`siteCredential`\" pulumi-lang-java=\"`siteCredential`\"\u003e`site_credential`\u003c/span\u003e block as defined below.\n","secret":true},"stickySettings":{"$ref":"#/types/azure:appservice/AppFlexConsumptionStickySettings:AppFlexConsumptionStickySettings","description":"A \u003cspan pulumi-lang-nodejs=\"`stickySettings`\" pulumi-lang-dotnet=\"`StickySettings`\" pulumi-lang-go=\"`stickySettings`\" pulumi-lang-python=\"`sticky_settings`\" pulumi-lang-yaml=\"`stickySettings`\" pulumi-lang-java=\"`stickySettings`\"\u003e`sticky_settings`\u003c/span\u003e block as defined below.\n"},"storageAccessKey":{"type":"string","description":"The access key which will be used to access the backend storage account for the Function App.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`storageAccessKey`\" pulumi-lang-dotnet=\"`StorageAccessKey`\" pulumi-lang-go=\"`storageAccessKey`\" pulumi-lang-python=\"`storage_access_key`\" pulumi-lang-yaml=\"`storageAccessKey`\" pulumi-lang-java=\"`storageAccessKey`\"\u003e`storage_access_key`\u003c/span\u003e must be specified when \u003cspan pulumi-lang-nodejs=\"`storageAuthenticationType`\" pulumi-lang-dotnet=\"`StorageAuthenticationType`\" pulumi-lang-go=\"`storageAuthenticationType`\" pulumi-lang-python=\"`storage_authentication_type`\" pulumi-lang-yaml=\"`storageAuthenticationType`\" pulumi-lang-java=\"`storageAuthenticationType`\"\u003e`storage_authentication_type`\u003c/span\u003e is set to `StorageAccountConnectionString`.\n"},"storageAuthenticationType":{"type":"string","description":"The authentication type which will be used to access the backend storage account for the Function App. Possible values are `StorageAccountConnectionString`, `SystemAssignedIdentity`, and `UserAssignedIdentity`.\n"},"storageContainerEndpoint":{"type":"string","description":"The backend storage container endpoint which will be used by this Function App.\n"},"storageContainerType":{"type":"string","description":"The storage container type used for the Function App. The current supported type is `blobContainer`.\n"},"storageUserAssignedIdentityId":{"type":"string","description":"The user assigned Managed Identity to access the storage account. Conflicts with \u003cspan pulumi-lang-nodejs=\"`storageAccessKey`\" pulumi-lang-dotnet=\"`StorageAccessKey`\" pulumi-lang-go=\"`storageAccessKey`\" pulumi-lang-python=\"`storage_access_key`\" pulumi-lang-yaml=\"`storageAccessKey`\" pulumi-lang-java=\"`storageAccessKey`\"\u003e`storage_access_key`\u003c/span\u003e.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`storageUserAssignedIdentityId`\" pulumi-lang-dotnet=\"`StorageUserAssignedIdentityId`\" pulumi-lang-go=\"`storageUserAssignedIdentityId`\" pulumi-lang-python=\"`storage_user_assigned_identity_id`\" pulumi-lang-yaml=\"`storageUserAssignedIdentityId`\" pulumi-lang-java=\"`storageUserAssignedIdentityId`\"\u003e`storage_user_assigned_identity_id`\u003c/span\u003e must be specified when \u003cspan pulumi-lang-nodejs=\"`storageAuthenticationType`\" pulumi-lang-dotnet=\"`StorageAuthenticationType`\" pulumi-lang-go=\"`storageAuthenticationType`\" pulumi-lang-python=\"`storage_authentication_type`\" pulumi-lang-yaml=\"`storageAuthenticationType`\" pulumi-lang-java=\"`storageAuthenticationType`\"\u003e`storage_authentication_type`\u003c/span\u003e is set to `UserAssignedIdentity`.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Linux Function App.\n"},"virtualNetworkSubnetId":{"type":"string","description":"The subnet id which will be used by this Function App for [regional virtual network integration](https://docs.microsoft.com/en-us/azure/app-service/overview-vnet-integration#regional-virtual-network-integration).\n\n\u003e **Note:** The AzureRM Terraform provider provides regional virtual network integration via the standalone resource\u003cspan pulumi-lang-nodejs=\" azure.appservice.VirtualNetworkSwiftConnection \" pulumi-lang-dotnet=\" azure.appservice.VirtualNetworkSwiftConnection \" pulumi-lang-go=\" appservice.VirtualNetworkSwiftConnection \" pulumi-lang-python=\" appservice.VirtualNetworkSwiftConnection \" pulumi-lang-yaml=\" azure.appservice.VirtualNetworkSwiftConnection \" pulumi-lang-java=\" azure.appservice.VirtualNetworkSwiftConnection \"\u003e azure.appservice.VirtualNetworkSwiftConnection \u003c/span\u003eand in-line within this resource using the \u003cspan pulumi-lang-nodejs=\"`virtualNetworkSubnetId`\" pulumi-lang-dotnet=\"`VirtualNetworkSubnetId`\" pulumi-lang-go=\"`virtualNetworkSubnetId`\" pulumi-lang-python=\"`virtual_network_subnet_id`\" pulumi-lang-yaml=\"`virtualNetworkSubnetId`\" pulumi-lang-java=\"`virtualNetworkSubnetId`\"\u003e`virtual_network_subnet_id`\u003c/span\u003e property. You cannot use both methods simultaneously. If the virtual network is set via the resource \u003cspan pulumi-lang-nodejs=\"`appServiceVirtualNetworkSwiftConnection`\" pulumi-lang-dotnet=\"`AppServiceVirtualNetworkSwiftConnection`\" pulumi-lang-go=\"`appServiceVirtualNetworkSwiftConnection`\" pulumi-lang-python=\"`app_service_virtual_network_swift_connection`\" pulumi-lang-yaml=\"`appServiceVirtualNetworkSwiftConnection`\" pulumi-lang-java=\"`appServiceVirtualNetworkSwiftConnection`\"\u003e`app_service_virtual_network_swift_connection`\u003c/span\u003e then \u003cspan pulumi-lang-nodejs=\"`ignoreChanges`\" pulumi-lang-dotnet=\"`IgnoreChanges`\" pulumi-lang-go=\"`ignoreChanges`\" pulumi-lang-python=\"`ignore_changes`\" pulumi-lang-yaml=\"`ignoreChanges`\" pulumi-lang-java=\"`ignoreChanges`\"\u003e`ignore_changes`\u003c/span\u003e should be used in the function app configuration.\n\n\u003e **Note:** Assigning the \u003cspan pulumi-lang-nodejs=\"`virtualNetworkSubnetId`\" pulumi-lang-dotnet=\"`VirtualNetworkSubnetId`\" pulumi-lang-go=\"`virtualNetworkSubnetId`\" pulumi-lang-python=\"`virtual_network_subnet_id`\" pulumi-lang-yaml=\"`virtualNetworkSubnetId`\" pulumi-lang-java=\"`virtualNetworkSubnetId`\"\u003e`virtual_network_subnet_id`\u003c/span\u003e property requires [RBAC permissions on the subnet](https://docs.microsoft.com/en-us/azure/app-service/overview-vnet-integration#permissions)\n"},"webdeployPublishBasicAuthenticationEnabled":{"type":"boolean","description":"Should the default WebDeploy Basic Authentication publishing credentials enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n\n\u003e **Note:** Setting this value to true will disable the ability to use \u003cspan pulumi-lang-nodejs=\"`zipDeployFile`\" pulumi-lang-dotnet=\"`ZipDeployFile`\" pulumi-lang-go=\"`zipDeployFile`\" pulumi-lang-python=\"`zip_deploy_file`\" pulumi-lang-yaml=\"`zipDeployFile`\" pulumi-lang-java=\"`zipDeployFile`\"\u003e`zip_deploy_file`\u003c/span\u003e which currently relies on the default publishing profile.\n"},"zipDeployFile":{"type":"string","description":"The local path and filename of the Zip packaged application to deploy to this Linux Function App.\n\n\u003e **Note:** Using this value requires either `WEBSITE_RUN_FROM_PACKAGE=1` or `SCM_DO_BUILD_DURING_DEPLOYMENT=true` to be set on the App in \u003cspan pulumi-lang-nodejs=\"`appSettings`\" pulumi-lang-dotnet=\"`AppSettings`\" pulumi-lang-go=\"`appSettings`\" pulumi-lang-python=\"`app_settings`\" pulumi-lang-yaml=\"`appSettings`\" pulumi-lang-java=\"`appSettings`\"\u003e`app_settings`\u003c/span\u003e. Refer to the [Azure docs](https://learn.microsoft.com/en-us/azure/azure-functions/functions-deployment-technologies) for further details.\n"}},"required":["customDomainVerificationId","defaultHostname","hostingEnvironmentId","kind","location","name","outboundIpAddressLists","outboundIpAddresses","possibleOutboundIpAddressLists","possibleOutboundIpAddresses","resourceGroupName","runtimeName","runtimeVersion","servicePlanId","siteConfig","siteCredentials","storageAuthenticationType","storageContainerEndpoint","storageContainerType","zipDeployFile"],"inputProperties":{"alwaysReadies":{"type":"array","items":{"$ref":"#/types/azure:appservice/AppFlexConsumptionAlwaysReady:AppFlexConsumptionAlwaysReady"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`alwaysReady`\" pulumi-lang-dotnet=\"`AlwaysReady`\" pulumi-lang-go=\"`alwaysReady`\" pulumi-lang-python=\"`always_ready`\" pulumi-lang-yaml=\"`alwaysReady`\" pulumi-lang-java=\"`alwaysReady`\"\u003e`always_ready`\u003c/span\u003e blocks as defined below.\n"},"appSettings":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of key-value pairs for [App Settings](https://docs.microsoft.com/azure/azure-functions/functions-app-settings) and custom values.\n\n\u003e **Note:** For storage related settings, please use related properties that are available such as \u003cspan pulumi-lang-nodejs=\"`storageAccessKey`\" pulumi-lang-dotnet=\"`StorageAccessKey`\" pulumi-lang-go=\"`storageAccessKey`\" pulumi-lang-python=\"`storage_access_key`\" pulumi-lang-yaml=\"`storageAccessKey`\" pulumi-lang-java=\"`storageAccessKey`\"\u003e`storage_access_key`\u003c/span\u003e, terraform will assign the value to keys such as `WEBSITE_CONTENTAZUREFILECONNECTIONSTRING`, `AzureWebJobsStorage` in app_setting.\n\n\u003e **Note:** For application insight related settings, please use \u003cspan pulumi-lang-nodejs=\"`applicationInsightsConnectionString`\" pulumi-lang-dotnet=\"`ApplicationInsightsConnectionString`\" pulumi-lang-go=\"`applicationInsightsConnectionString`\" pulumi-lang-python=\"`application_insights_connection_string`\" pulumi-lang-yaml=\"`applicationInsightsConnectionString`\" pulumi-lang-java=\"`applicationInsightsConnectionString`\"\u003e`application_insights_connection_string`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`applicationInsightsKey`\" pulumi-lang-dotnet=\"`ApplicationInsightsKey`\" pulumi-lang-go=\"`applicationInsightsKey`\" pulumi-lang-python=\"`application_insights_key`\" pulumi-lang-yaml=\"`applicationInsightsKey`\" pulumi-lang-java=\"`applicationInsightsKey`\"\u003e`application_insights_key`\u003c/span\u003e, terraform will assign the value to the key `APPINSIGHTS_INSTRUMENTATIONKEY` and `APPLICATIONINSIGHTS_CONNECTION_STRING` in app setting.\n\n\u003e **Note:** For health check related settings, please use \u003cspan pulumi-lang-nodejs=\"`healthCheckEvictionTimeInMin`\" pulumi-lang-dotnet=\"`HealthCheckEvictionTimeInMin`\" pulumi-lang-go=\"`healthCheckEvictionTimeInMin`\" pulumi-lang-python=\"`health_check_eviction_time_in_min`\" pulumi-lang-yaml=\"`healthCheckEvictionTimeInMin`\" pulumi-lang-java=\"`healthCheckEvictionTimeInMin`\"\u003e`health_check_eviction_time_in_min`\u003c/span\u003e, terraform will assign the value to the key `WEBSITE_HEALTHCHECK_MAXPINGFAILURES` in app setting.\n\n\u003e **Note:** For those app settings that are deprecated or replaced by another properties for flex consumption function app, please check https://learn.microsoft.com/en-us/azure/azure-functions/functions-app-settings.\n"},"authSettings":{"$ref":"#/types/azure:appservice/AppFlexConsumptionAuthSettings:AppFlexConsumptionAuthSettings","description":"A \u003cspan pulumi-lang-nodejs=\"`authSettings`\" pulumi-lang-dotnet=\"`AuthSettings`\" pulumi-lang-go=\"`authSettings`\" pulumi-lang-python=\"`auth_settings`\" pulumi-lang-yaml=\"`authSettings`\" pulumi-lang-java=\"`authSettings`\"\u003e`auth_settings`\u003c/span\u003e block as defined below.\n"},"authSettingsV2":{"$ref":"#/types/azure:appservice/AppFlexConsumptionAuthSettingsV2:AppFlexConsumptionAuthSettingsV2","description":"An \u003cspan pulumi-lang-nodejs=\"`authSettingsV2`\" pulumi-lang-dotnet=\"`AuthSettingsV2`\" pulumi-lang-go=\"`authSettingsV2`\" pulumi-lang-python=\"`auth_settings_v2`\" pulumi-lang-yaml=\"`authSettingsV2`\" pulumi-lang-java=\"`authSettingsV2`\"\u003e`auth_settings_v2`\u003c/span\u003e block as defined below.\n"},"clientCertificateEnabled":{"type":"boolean","description":"Should the function app use Client Certificates.\n"},"clientCertificateExclusionPaths":{"type":"string","description":"Paths to exclude when using client certificates, separated by ;\n"},"clientCertificateMode":{"type":"string","description":"The mode of the Function App's client certificates requirement for incoming requests. Possible values are `Required`, `Optional`, and `OptionalInteractiveUser`. Defaults to `Optional`.\n"},"connectionStrings":{"type":"array","items":{"$ref":"#/types/azure:appservice/AppFlexConsumptionConnectionString:AppFlexConsumptionConnectionString"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`connectionString`\" pulumi-lang-dotnet=\"`ConnectionString`\" pulumi-lang-go=\"`connectionString`\" pulumi-lang-python=\"`connection_string`\" pulumi-lang-yaml=\"`connectionString`\" pulumi-lang-java=\"`connectionString`\"\u003e`connection_string`\u003c/span\u003e blocks as defined below.\n"},"enabled":{"type":"boolean","description":"Is the Function App enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"httpConcurrency":{"type":"integer","description":"The Http concurrency of the instances on which your app runs. The supported value are from \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`1000`\" pulumi-lang-dotnet=\"`1000`\" pulumi-lang-go=\"`1000`\" pulumi-lang-python=\"`1000`\" pulumi-lang-yaml=\"`1000`\" pulumi-lang-java=\"`1000`\"\u003e`1000`\u003c/span\u003e.\n\n\u003e **Note:** A value will be assigned by the system if \u003cspan pulumi-lang-nodejs=\"`httpConcurrency`\" pulumi-lang-dotnet=\"`HttpConcurrency`\" pulumi-lang-go=\"`httpConcurrency`\" pulumi-lang-python=\"`http_concurrency`\" pulumi-lang-yaml=\"`httpConcurrency`\" pulumi-lang-java=\"`httpConcurrency`\"\u003e`http_concurrency`\u003c/span\u003e is not specified.\n"},"httpsOnly":{"type":"boolean","description":"Is Https Connection enforced to the function app. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e\n"},"identity":{"$ref":"#/types/azure:appservice/AppFlexConsumptionIdentity:AppFlexConsumptionIdentity","description":"A \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"instanceMemoryInMb":{"type":"integer","description":"The memory size of the instances on which your app runs. Reference the Microsoft Documentation for the [currently supported values](https://learn.microsoft.com/en-us/azure/azure-functions/flex-consumption-plan#instance-memory). Defaults to \u003cspan pulumi-lang-nodejs=\"`2048`\" pulumi-lang-dotnet=\"`2048`\" pulumi-lang-go=\"`2048`\" pulumi-lang-python=\"`2048`\" pulumi-lang-yaml=\"`2048`\" pulumi-lang-java=\"`2048`\"\u003e`2048`\u003c/span\u003e.\n"},"location":{"type":"string","description":"The Azure Region where the Function App should exist. Changing this forces a new Function App to be created.\n","willReplaceOnChanges":true},"maximumInstanceCount":{"type":"integer","description":"The number of workers this function app can scale out to. The supported value are from \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`1000`\" pulumi-lang-dotnet=\"`1000`\" pulumi-lang-go=\"`1000`\" pulumi-lang-python=\"`1000`\" pulumi-lang-yaml=\"`1000`\" pulumi-lang-java=\"`1000`\"\u003e`1000`\u003c/span\u003e.\n"},"name":{"type":"string","description":"The name which should be used for this Function App. Changing this forces a new Function App to be created. Limit the function name to 32 characters to avoid naming collisions. For more information about [Function App naming rule](https://docs.microsoft.com/en-us/azure/azure-resource-manager/management/resource-name-rules#microsoftweb) and [Host ID Collisions](https://github.com/Azure/azure-functions-host/wiki/Host-IDs#host-id-collisions)\n","willReplaceOnChanges":true},"publicNetworkAccessEnabled":{"type":"boolean","description":"Should public network access be enabled for the Function App. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Function App should exist. Changing this forces a new Linux Function App to be created.\n","willReplaceOnChanges":true},"runtimeName":{"type":"string","description":"The Runtime of the Linux Function App. Possible values are \u003cspan pulumi-lang-nodejs=\"`node`\" pulumi-lang-dotnet=\"`Node`\" pulumi-lang-go=\"`node`\" pulumi-lang-python=\"`node`\" pulumi-lang-yaml=\"`node`\" pulumi-lang-java=\"`node`\"\u003e`node`\u003c/span\u003e, `dotnet-isolated`, \u003cspan pulumi-lang-nodejs=\"`powershell`\" pulumi-lang-dotnet=\"`Powershell`\" pulumi-lang-go=\"`powershell`\" pulumi-lang-python=\"`powershell`\" pulumi-lang-yaml=\"`powershell`\" pulumi-lang-java=\"`powershell`\"\u003e`powershell`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`python`\" pulumi-lang-dotnet=\"`Python`\" pulumi-lang-go=\"`python`\" pulumi-lang-python=\"`python`\" pulumi-lang-yaml=\"`python`\" pulumi-lang-java=\"`python`\"\u003e`python`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`java`\" pulumi-lang-dotnet=\"`Java`\" pulumi-lang-go=\"`java`\" pulumi-lang-python=\"`java`\" pulumi-lang-yaml=\"`java`\" pulumi-lang-java=\"`java`\"\u003e`java`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`custom`\" pulumi-lang-dotnet=\"`Custom`\" pulumi-lang-go=\"`custom`\" pulumi-lang-python=\"`custom`\" pulumi-lang-yaml=\"`custom`\" pulumi-lang-java=\"`custom`\"\u003e`custom`\u003c/span\u003e.\n"},"runtimeVersion":{"type":"string","description":"The Runtime version of the Linux Function App. Accepted values varies with the value of \u003cspan pulumi-lang-nodejs=\"`runtimeName`\" pulumi-lang-dotnet=\"`RuntimeName`\" pulumi-lang-go=\"`runtimeName`\" pulumi-lang-python=\"`runtime_name`\" pulumi-lang-yaml=\"`runtimeName`\" pulumi-lang-java=\"`runtimeName`\"\u003e`runtime_name`\u003c/span\u003e.\n\n\u003e **Note:** To get the most up-to-date list of supported versions, use command `az functionapp list-runtimes` or visit [Supported languages in Azure Functions](https://learn.microsoft.com/en-us/azure/azure-functions/supported-languages)\n"},"servicePlanId":{"type":"string","description":"The ID of the App Service Plan within which to create this Function App. Changing this forces a new Linux Function App to be created.\n","willReplaceOnChanges":true},"siteConfig":{"$ref":"#/types/azure:appservice/AppFlexConsumptionSiteConfig:AppFlexConsumptionSiteConfig","description":"A \u003cspan pulumi-lang-nodejs=\"`siteConfig`\" pulumi-lang-dotnet=\"`SiteConfig`\" pulumi-lang-go=\"`siteConfig`\" pulumi-lang-python=\"`site_config`\" pulumi-lang-yaml=\"`siteConfig`\" pulumi-lang-java=\"`siteConfig`\"\u003e`site_config`\u003c/span\u003e block as defined below.\n"},"stickySettings":{"$ref":"#/types/azure:appservice/AppFlexConsumptionStickySettings:AppFlexConsumptionStickySettings","description":"A \u003cspan pulumi-lang-nodejs=\"`stickySettings`\" pulumi-lang-dotnet=\"`StickySettings`\" pulumi-lang-go=\"`stickySettings`\" pulumi-lang-python=\"`sticky_settings`\" pulumi-lang-yaml=\"`stickySettings`\" pulumi-lang-java=\"`stickySettings`\"\u003e`sticky_settings`\u003c/span\u003e block as defined below.\n"},"storageAccessKey":{"type":"string","description":"The access key which will be used to access the backend storage account for the Function App.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`storageAccessKey`\" pulumi-lang-dotnet=\"`StorageAccessKey`\" pulumi-lang-go=\"`storageAccessKey`\" pulumi-lang-python=\"`storage_access_key`\" pulumi-lang-yaml=\"`storageAccessKey`\" pulumi-lang-java=\"`storageAccessKey`\"\u003e`storage_access_key`\u003c/span\u003e must be specified when \u003cspan pulumi-lang-nodejs=\"`storageAuthenticationType`\" pulumi-lang-dotnet=\"`StorageAuthenticationType`\" pulumi-lang-go=\"`storageAuthenticationType`\" pulumi-lang-python=\"`storage_authentication_type`\" pulumi-lang-yaml=\"`storageAuthenticationType`\" pulumi-lang-java=\"`storageAuthenticationType`\"\u003e`storage_authentication_type`\u003c/span\u003e is set to `StorageAccountConnectionString`.\n"},"storageAuthenticationType":{"type":"string","description":"The authentication type which will be used to access the backend storage account for the Function App. Possible values are `StorageAccountConnectionString`, `SystemAssignedIdentity`, and `UserAssignedIdentity`.\n"},"storageContainerEndpoint":{"type":"string","description":"The backend storage container endpoint which will be used by this Function App.\n"},"storageContainerType":{"type":"string","description":"The storage container type used for the Function App. The current supported type is `blobContainer`.\n"},"storageUserAssignedIdentityId":{"type":"string","description":"The user assigned Managed Identity to access the storage account. Conflicts with \u003cspan pulumi-lang-nodejs=\"`storageAccessKey`\" pulumi-lang-dotnet=\"`StorageAccessKey`\" pulumi-lang-go=\"`storageAccessKey`\" pulumi-lang-python=\"`storage_access_key`\" pulumi-lang-yaml=\"`storageAccessKey`\" pulumi-lang-java=\"`storageAccessKey`\"\u003e`storage_access_key`\u003c/span\u003e.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`storageUserAssignedIdentityId`\" pulumi-lang-dotnet=\"`StorageUserAssignedIdentityId`\" pulumi-lang-go=\"`storageUserAssignedIdentityId`\" pulumi-lang-python=\"`storage_user_assigned_identity_id`\" pulumi-lang-yaml=\"`storageUserAssignedIdentityId`\" pulumi-lang-java=\"`storageUserAssignedIdentityId`\"\u003e`storage_user_assigned_identity_id`\u003c/span\u003e must be specified when \u003cspan pulumi-lang-nodejs=\"`storageAuthenticationType`\" pulumi-lang-dotnet=\"`StorageAuthenticationType`\" pulumi-lang-go=\"`storageAuthenticationType`\" pulumi-lang-python=\"`storage_authentication_type`\" pulumi-lang-yaml=\"`storageAuthenticationType`\" pulumi-lang-java=\"`storageAuthenticationType`\"\u003e`storage_authentication_type`\u003c/span\u003e is set to `UserAssignedIdentity`.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Linux Function App.\n"},"virtualNetworkSubnetId":{"type":"string","description":"The subnet id which will be used by this Function App for [regional virtual network integration](https://docs.microsoft.com/en-us/azure/app-service/overview-vnet-integration#regional-virtual-network-integration).\n\n\u003e **Note:** The AzureRM Terraform provider provides regional virtual network integration via the standalone resource\u003cspan pulumi-lang-nodejs=\" azure.appservice.VirtualNetworkSwiftConnection \" pulumi-lang-dotnet=\" azure.appservice.VirtualNetworkSwiftConnection \" pulumi-lang-go=\" appservice.VirtualNetworkSwiftConnection \" pulumi-lang-python=\" appservice.VirtualNetworkSwiftConnection \" pulumi-lang-yaml=\" azure.appservice.VirtualNetworkSwiftConnection \" pulumi-lang-java=\" azure.appservice.VirtualNetworkSwiftConnection \"\u003e azure.appservice.VirtualNetworkSwiftConnection \u003c/span\u003eand in-line within this resource using the \u003cspan pulumi-lang-nodejs=\"`virtualNetworkSubnetId`\" pulumi-lang-dotnet=\"`VirtualNetworkSubnetId`\" pulumi-lang-go=\"`virtualNetworkSubnetId`\" pulumi-lang-python=\"`virtual_network_subnet_id`\" pulumi-lang-yaml=\"`virtualNetworkSubnetId`\" pulumi-lang-java=\"`virtualNetworkSubnetId`\"\u003e`virtual_network_subnet_id`\u003c/span\u003e property. You cannot use both methods simultaneously. If the virtual network is set via the resource \u003cspan pulumi-lang-nodejs=\"`appServiceVirtualNetworkSwiftConnection`\" pulumi-lang-dotnet=\"`AppServiceVirtualNetworkSwiftConnection`\" pulumi-lang-go=\"`appServiceVirtualNetworkSwiftConnection`\" pulumi-lang-python=\"`app_service_virtual_network_swift_connection`\" pulumi-lang-yaml=\"`appServiceVirtualNetworkSwiftConnection`\" pulumi-lang-java=\"`appServiceVirtualNetworkSwiftConnection`\"\u003e`app_service_virtual_network_swift_connection`\u003c/span\u003e then \u003cspan pulumi-lang-nodejs=\"`ignoreChanges`\" pulumi-lang-dotnet=\"`IgnoreChanges`\" pulumi-lang-go=\"`ignoreChanges`\" pulumi-lang-python=\"`ignore_changes`\" pulumi-lang-yaml=\"`ignoreChanges`\" pulumi-lang-java=\"`ignoreChanges`\"\u003e`ignore_changes`\u003c/span\u003e should be used in the function app configuration.\n\n\u003e **Note:** Assigning the \u003cspan pulumi-lang-nodejs=\"`virtualNetworkSubnetId`\" pulumi-lang-dotnet=\"`VirtualNetworkSubnetId`\" pulumi-lang-go=\"`virtualNetworkSubnetId`\" pulumi-lang-python=\"`virtual_network_subnet_id`\" pulumi-lang-yaml=\"`virtualNetworkSubnetId`\" pulumi-lang-java=\"`virtualNetworkSubnetId`\"\u003e`virtual_network_subnet_id`\u003c/span\u003e property requires [RBAC permissions on the subnet](https://docs.microsoft.com/en-us/azure/app-service/overview-vnet-integration#permissions)\n"},"webdeployPublishBasicAuthenticationEnabled":{"type":"boolean","description":"Should the default WebDeploy Basic Authentication publishing credentials enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n\n\u003e **Note:** Setting this value to true will disable the ability to use \u003cspan pulumi-lang-nodejs=\"`zipDeployFile`\" pulumi-lang-dotnet=\"`ZipDeployFile`\" pulumi-lang-go=\"`zipDeployFile`\" pulumi-lang-python=\"`zip_deploy_file`\" pulumi-lang-yaml=\"`zipDeployFile`\" pulumi-lang-java=\"`zipDeployFile`\"\u003e`zip_deploy_file`\u003c/span\u003e which currently relies on the default publishing profile.\n"},"zipDeployFile":{"type":"string","description":"The local path and filename of the Zip packaged application to deploy to this Linux Function App.\n\n\u003e **Note:** Using this value requires either `WEBSITE_RUN_FROM_PACKAGE=1` or `SCM_DO_BUILD_DURING_DEPLOYMENT=true` to be set on the App in \u003cspan pulumi-lang-nodejs=\"`appSettings`\" pulumi-lang-dotnet=\"`AppSettings`\" pulumi-lang-go=\"`appSettings`\" pulumi-lang-python=\"`app_settings`\" pulumi-lang-yaml=\"`appSettings`\" pulumi-lang-java=\"`appSettings`\"\u003e`app_settings`\u003c/span\u003e. Refer to the [Azure docs](https://learn.microsoft.com/en-us/azure/azure-functions/functions-deployment-technologies) for further details.\n"}},"requiredInputs":["resourceGroupName","runtimeName","runtimeVersion","servicePlanId","siteConfig","storageAuthenticationType","storageContainerEndpoint","storageContainerType"],"stateInputs":{"description":"Input properties used for looking up and filtering AppFlexConsumption resources.\n","properties":{"alwaysReadies":{"type":"array","items":{"$ref":"#/types/azure:appservice/AppFlexConsumptionAlwaysReady:AppFlexConsumptionAlwaysReady"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`alwaysReady`\" pulumi-lang-dotnet=\"`AlwaysReady`\" pulumi-lang-go=\"`alwaysReady`\" pulumi-lang-python=\"`always_ready`\" pulumi-lang-yaml=\"`alwaysReady`\" pulumi-lang-java=\"`alwaysReady`\"\u003e`always_ready`\u003c/span\u003e blocks as defined below.\n"},"appSettings":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of key-value pairs for [App Settings](https://docs.microsoft.com/azure/azure-functions/functions-app-settings) and custom values.\n\n\u003e **Note:** For storage related settings, please use related properties that are available such as \u003cspan pulumi-lang-nodejs=\"`storageAccessKey`\" pulumi-lang-dotnet=\"`StorageAccessKey`\" pulumi-lang-go=\"`storageAccessKey`\" pulumi-lang-python=\"`storage_access_key`\" pulumi-lang-yaml=\"`storageAccessKey`\" pulumi-lang-java=\"`storageAccessKey`\"\u003e`storage_access_key`\u003c/span\u003e, terraform will assign the value to keys such as `WEBSITE_CONTENTAZUREFILECONNECTIONSTRING`, `AzureWebJobsStorage` in app_setting.\n\n\u003e **Note:** For application insight related settings, please use \u003cspan pulumi-lang-nodejs=\"`applicationInsightsConnectionString`\" pulumi-lang-dotnet=\"`ApplicationInsightsConnectionString`\" pulumi-lang-go=\"`applicationInsightsConnectionString`\" pulumi-lang-python=\"`application_insights_connection_string`\" pulumi-lang-yaml=\"`applicationInsightsConnectionString`\" pulumi-lang-java=\"`applicationInsightsConnectionString`\"\u003e`application_insights_connection_string`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`applicationInsightsKey`\" pulumi-lang-dotnet=\"`ApplicationInsightsKey`\" pulumi-lang-go=\"`applicationInsightsKey`\" pulumi-lang-python=\"`application_insights_key`\" pulumi-lang-yaml=\"`applicationInsightsKey`\" pulumi-lang-java=\"`applicationInsightsKey`\"\u003e`application_insights_key`\u003c/span\u003e, terraform will assign the value to the key `APPINSIGHTS_INSTRUMENTATIONKEY` and `APPLICATIONINSIGHTS_CONNECTION_STRING` in app setting.\n\n\u003e **Note:** For health check related settings, please use \u003cspan pulumi-lang-nodejs=\"`healthCheckEvictionTimeInMin`\" pulumi-lang-dotnet=\"`HealthCheckEvictionTimeInMin`\" pulumi-lang-go=\"`healthCheckEvictionTimeInMin`\" pulumi-lang-python=\"`health_check_eviction_time_in_min`\" pulumi-lang-yaml=\"`healthCheckEvictionTimeInMin`\" pulumi-lang-java=\"`healthCheckEvictionTimeInMin`\"\u003e`health_check_eviction_time_in_min`\u003c/span\u003e, terraform will assign the value to the key `WEBSITE_HEALTHCHECK_MAXPINGFAILURES` in app setting.\n\n\u003e **Note:** For those app settings that are deprecated or replaced by another properties for flex consumption function app, please check https://learn.microsoft.com/en-us/azure/azure-functions/functions-app-settings.\n"},"authSettings":{"$ref":"#/types/azure:appservice/AppFlexConsumptionAuthSettings:AppFlexConsumptionAuthSettings","description":"A \u003cspan pulumi-lang-nodejs=\"`authSettings`\" pulumi-lang-dotnet=\"`AuthSettings`\" pulumi-lang-go=\"`authSettings`\" pulumi-lang-python=\"`auth_settings`\" pulumi-lang-yaml=\"`authSettings`\" pulumi-lang-java=\"`authSettings`\"\u003e`auth_settings`\u003c/span\u003e block as defined below.\n"},"authSettingsV2":{"$ref":"#/types/azure:appservice/AppFlexConsumptionAuthSettingsV2:AppFlexConsumptionAuthSettingsV2","description":"An \u003cspan pulumi-lang-nodejs=\"`authSettingsV2`\" pulumi-lang-dotnet=\"`AuthSettingsV2`\" pulumi-lang-go=\"`authSettingsV2`\" pulumi-lang-python=\"`auth_settings_v2`\" pulumi-lang-yaml=\"`authSettingsV2`\" pulumi-lang-java=\"`authSettingsV2`\"\u003e`auth_settings_v2`\u003c/span\u003e block as defined below.\n"},"clientCertificateEnabled":{"type":"boolean","description":"Should the function app use Client Certificates.\n"},"clientCertificateExclusionPaths":{"type":"string","description":"Paths to exclude when using client certificates, separated by ;\n"},"clientCertificateMode":{"type":"string","description":"The mode of the Function App's client certificates requirement for incoming requests. Possible values are `Required`, `Optional`, and `OptionalInteractiveUser`. Defaults to `Optional`.\n"},"connectionStrings":{"type":"array","items":{"$ref":"#/types/azure:appservice/AppFlexConsumptionConnectionString:AppFlexConsumptionConnectionString"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`connectionString`\" pulumi-lang-dotnet=\"`ConnectionString`\" pulumi-lang-go=\"`connectionString`\" pulumi-lang-python=\"`connection_string`\" pulumi-lang-yaml=\"`connectionString`\" pulumi-lang-java=\"`connectionString`\"\u003e`connection_string`\u003c/span\u003e blocks as defined below.\n"},"customDomainVerificationId":{"type":"string","description":"The identifier used by App Service to perform domain ownership verification via DNS TXT record.\n","secret":true},"defaultHostname":{"type":"string","description":"The default hostname of the Linux Function App.\n"},"enabled":{"type":"boolean","description":"Is the Function App enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"hostingEnvironmentId":{"type":"string","description":"The ID of the App Service Environment used by Function App.\n"},"httpConcurrency":{"type":"integer","description":"The Http concurrency of the instances on which your app runs. The supported value are from \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`1000`\" pulumi-lang-dotnet=\"`1000`\" pulumi-lang-go=\"`1000`\" pulumi-lang-python=\"`1000`\" pulumi-lang-yaml=\"`1000`\" pulumi-lang-java=\"`1000`\"\u003e`1000`\u003c/span\u003e.\n\n\u003e **Note:** A value will be assigned by the system if \u003cspan pulumi-lang-nodejs=\"`httpConcurrency`\" pulumi-lang-dotnet=\"`HttpConcurrency`\" pulumi-lang-go=\"`httpConcurrency`\" pulumi-lang-python=\"`http_concurrency`\" pulumi-lang-yaml=\"`httpConcurrency`\" pulumi-lang-java=\"`httpConcurrency`\"\u003e`http_concurrency`\u003c/span\u003e is not specified.\n"},"httpsOnly":{"type":"boolean","description":"Is Https Connection enforced to the function app. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e\n"},"identity":{"$ref":"#/types/azure:appservice/AppFlexConsumptionIdentity:AppFlexConsumptionIdentity","description":"A \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"instanceMemoryInMb":{"type":"integer","description":"The memory size of the instances on which your app runs. Reference the Microsoft Documentation for the [currently supported values](https://learn.microsoft.com/en-us/azure/azure-functions/flex-consumption-plan#instance-memory). Defaults to \u003cspan pulumi-lang-nodejs=\"`2048`\" pulumi-lang-dotnet=\"`2048`\" pulumi-lang-go=\"`2048`\" pulumi-lang-python=\"`2048`\" pulumi-lang-yaml=\"`2048`\" pulumi-lang-java=\"`2048`\"\u003e`2048`\u003c/span\u003e.\n"},"kind":{"type":"string","description":"The Kind value for this Linux Function App.\n"},"location":{"type":"string","description":"The Azure Region where the Function App should exist. Changing this forces a new Function App to be created.\n","willReplaceOnChanges":true},"maximumInstanceCount":{"type":"integer","description":"The number of workers this function app can scale out to. The supported value are from \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`1000`\" pulumi-lang-dotnet=\"`1000`\" pulumi-lang-go=\"`1000`\" pulumi-lang-python=\"`1000`\" pulumi-lang-yaml=\"`1000`\" pulumi-lang-java=\"`1000`\"\u003e`1000`\u003c/span\u003e.\n"},"name":{"type":"string","description":"The name which should be used for this Function App. Changing this forces a new Function App to be created. Limit the function name to 32 characters to avoid naming collisions. For more information about [Function App naming rule](https://docs.microsoft.com/en-us/azure/azure-resource-manager/management/resource-name-rules#microsoftweb) and [Host ID Collisions](https://github.com/Azure/azure-functions-host/wiki/Host-IDs#host-id-collisions)\n","willReplaceOnChanges":true},"outboundIpAddressLists":{"type":"array","items":{"type":"string"},"description":"A list of outbound IP addresses. For example `[\"52.23.25.3\", \"52.143.43.12\"]`\n"},"outboundIpAddresses":{"type":"string","description":"A comma separated list of outbound IP addresses as a string. For example `52.23.25.3,52.143.43.12`.\n"},"possibleOutboundIpAddressLists":{"type":"array","items":{"type":"string"},"description":"A list of possible outbound IP addresses, not all of which are necessarily in use. This is a superset of \u003cspan pulumi-lang-nodejs=\"`outboundIpAddressList`\" pulumi-lang-dotnet=\"`OutboundIpAddressList`\" pulumi-lang-go=\"`outboundIpAddressList`\" pulumi-lang-python=\"`outbound_ip_address_list`\" pulumi-lang-yaml=\"`outboundIpAddressList`\" pulumi-lang-java=\"`outboundIpAddressList`\"\u003e`outbound_ip_address_list`\u003c/span\u003e. For example `[\"52.23.25.3\", \"52.143.43.12\"]`.\n"},"possibleOutboundIpAddresses":{"type":"string","description":"A comma separated list of possible outbound IP addresses as a string. For example `52.23.25.3,52.143.43.12,52.143.43.17`. This is a superset of \u003cspan pulumi-lang-nodejs=\"`outboundIpAddresses`\" pulumi-lang-dotnet=\"`OutboundIpAddresses`\" pulumi-lang-go=\"`outboundIpAddresses`\" pulumi-lang-python=\"`outbound_ip_addresses`\" pulumi-lang-yaml=\"`outboundIpAddresses`\" pulumi-lang-java=\"`outboundIpAddresses`\"\u003e`outbound_ip_addresses`\u003c/span\u003e.\n"},"publicNetworkAccessEnabled":{"type":"boolean","description":"Should public network access be enabled for the Function App. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Function App should exist. Changing this forces a new Linux Function App to be created.\n","willReplaceOnChanges":true},"runtimeName":{"type":"string","description":"The Runtime of the Linux Function App. Possible values are \u003cspan pulumi-lang-nodejs=\"`node`\" pulumi-lang-dotnet=\"`Node`\" pulumi-lang-go=\"`node`\" pulumi-lang-python=\"`node`\" pulumi-lang-yaml=\"`node`\" pulumi-lang-java=\"`node`\"\u003e`node`\u003c/span\u003e, `dotnet-isolated`, \u003cspan pulumi-lang-nodejs=\"`powershell`\" pulumi-lang-dotnet=\"`Powershell`\" pulumi-lang-go=\"`powershell`\" pulumi-lang-python=\"`powershell`\" pulumi-lang-yaml=\"`powershell`\" pulumi-lang-java=\"`powershell`\"\u003e`powershell`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`python`\" pulumi-lang-dotnet=\"`Python`\" pulumi-lang-go=\"`python`\" pulumi-lang-python=\"`python`\" pulumi-lang-yaml=\"`python`\" pulumi-lang-java=\"`python`\"\u003e`python`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`java`\" pulumi-lang-dotnet=\"`Java`\" pulumi-lang-go=\"`java`\" pulumi-lang-python=\"`java`\" pulumi-lang-yaml=\"`java`\" pulumi-lang-java=\"`java`\"\u003e`java`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`custom`\" pulumi-lang-dotnet=\"`Custom`\" pulumi-lang-go=\"`custom`\" pulumi-lang-python=\"`custom`\" pulumi-lang-yaml=\"`custom`\" pulumi-lang-java=\"`custom`\"\u003e`custom`\u003c/span\u003e.\n"},"runtimeVersion":{"type":"string","description":"The Runtime version of the Linux Function App. Accepted values varies with the value of \u003cspan pulumi-lang-nodejs=\"`runtimeName`\" pulumi-lang-dotnet=\"`RuntimeName`\" pulumi-lang-go=\"`runtimeName`\" pulumi-lang-python=\"`runtime_name`\" pulumi-lang-yaml=\"`runtimeName`\" pulumi-lang-java=\"`runtimeName`\"\u003e`runtime_name`\u003c/span\u003e.\n\n\u003e **Note:** To get the most up-to-date list of supported versions, use command `az functionapp list-runtimes` or visit [Supported languages in Azure Functions](https://learn.microsoft.com/en-us/azure/azure-functions/supported-languages)\n"},"servicePlanId":{"type":"string","description":"The ID of the App Service Plan within which to create this Function App. Changing this forces a new Linux Function App to be created.\n","willReplaceOnChanges":true},"siteConfig":{"$ref":"#/types/azure:appservice/AppFlexConsumptionSiteConfig:AppFlexConsumptionSiteConfig","description":"A \u003cspan pulumi-lang-nodejs=\"`siteConfig`\" pulumi-lang-dotnet=\"`SiteConfig`\" pulumi-lang-go=\"`siteConfig`\" pulumi-lang-python=\"`site_config`\" pulumi-lang-yaml=\"`siteConfig`\" pulumi-lang-java=\"`siteConfig`\"\u003e`site_config`\u003c/span\u003e block as defined below.\n"},"siteCredentials":{"type":"array","items":{"$ref":"#/types/azure:appservice/AppFlexConsumptionSiteCredential:AppFlexConsumptionSiteCredential"},"description":"A \u003cspan pulumi-lang-nodejs=\"`siteCredential`\" pulumi-lang-dotnet=\"`SiteCredential`\" pulumi-lang-go=\"`siteCredential`\" pulumi-lang-python=\"`site_credential`\" pulumi-lang-yaml=\"`siteCredential`\" pulumi-lang-java=\"`siteCredential`\"\u003e`site_credential`\u003c/span\u003e block as defined below.\n","secret":true},"stickySettings":{"$ref":"#/types/azure:appservice/AppFlexConsumptionStickySettings:AppFlexConsumptionStickySettings","description":"A \u003cspan pulumi-lang-nodejs=\"`stickySettings`\" pulumi-lang-dotnet=\"`StickySettings`\" pulumi-lang-go=\"`stickySettings`\" pulumi-lang-python=\"`sticky_settings`\" pulumi-lang-yaml=\"`stickySettings`\" pulumi-lang-java=\"`stickySettings`\"\u003e`sticky_settings`\u003c/span\u003e block as defined below.\n"},"storageAccessKey":{"type":"string","description":"The access key which will be used to access the backend storage account for the Function App.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`storageAccessKey`\" pulumi-lang-dotnet=\"`StorageAccessKey`\" pulumi-lang-go=\"`storageAccessKey`\" pulumi-lang-python=\"`storage_access_key`\" pulumi-lang-yaml=\"`storageAccessKey`\" pulumi-lang-java=\"`storageAccessKey`\"\u003e`storage_access_key`\u003c/span\u003e must be specified when \u003cspan pulumi-lang-nodejs=\"`storageAuthenticationType`\" pulumi-lang-dotnet=\"`StorageAuthenticationType`\" pulumi-lang-go=\"`storageAuthenticationType`\" pulumi-lang-python=\"`storage_authentication_type`\" pulumi-lang-yaml=\"`storageAuthenticationType`\" pulumi-lang-java=\"`storageAuthenticationType`\"\u003e`storage_authentication_type`\u003c/span\u003e is set to `StorageAccountConnectionString`.\n"},"storageAuthenticationType":{"type":"string","description":"The authentication type which will be used to access the backend storage account for the Function App. Possible values are `StorageAccountConnectionString`, `SystemAssignedIdentity`, and `UserAssignedIdentity`.\n"},"storageContainerEndpoint":{"type":"string","description":"The backend storage container endpoint which will be used by this Function App.\n"},"storageContainerType":{"type":"string","description":"The storage container type used for the Function App. The current supported type is `blobContainer`.\n"},"storageUserAssignedIdentityId":{"type":"string","description":"The user assigned Managed Identity to access the storage account. Conflicts with \u003cspan pulumi-lang-nodejs=\"`storageAccessKey`\" pulumi-lang-dotnet=\"`StorageAccessKey`\" pulumi-lang-go=\"`storageAccessKey`\" pulumi-lang-python=\"`storage_access_key`\" pulumi-lang-yaml=\"`storageAccessKey`\" pulumi-lang-java=\"`storageAccessKey`\"\u003e`storage_access_key`\u003c/span\u003e.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`storageUserAssignedIdentityId`\" pulumi-lang-dotnet=\"`StorageUserAssignedIdentityId`\" pulumi-lang-go=\"`storageUserAssignedIdentityId`\" pulumi-lang-python=\"`storage_user_assigned_identity_id`\" pulumi-lang-yaml=\"`storageUserAssignedIdentityId`\" pulumi-lang-java=\"`storageUserAssignedIdentityId`\"\u003e`storage_user_assigned_identity_id`\u003c/span\u003e must be specified when \u003cspan pulumi-lang-nodejs=\"`storageAuthenticationType`\" pulumi-lang-dotnet=\"`StorageAuthenticationType`\" pulumi-lang-go=\"`storageAuthenticationType`\" pulumi-lang-python=\"`storage_authentication_type`\" pulumi-lang-yaml=\"`storageAuthenticationType`\" pulumi-lang-java=\"`storageAuthenticationType`\"\u003e`storage_authentication_type`\u003c/span\u003e is set to `UserAssignedIdentity`.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Linux Function App.\n"},"virtualNetworkSubnetId":{"type":"string","description":"The subnet id which will be used by this Function App for [regional virtual network integration](https://docs.microsoft.com/en-us/azure/app-service/overview-vnet-integration#regional-virtual-network-integration).\n\n\u003e **Note:** The AzureRM Terraform provider provides regional virtual network integration via the standalone resource\u003cspan pulumi-lang-nodejs=\" azure.appservice.VirtualNetworkSwiftConnection \" pulumi-lang-dotnet=\" azure.appservice.VirtualNetworkSwiftConnection \" pulumi-lang-go=\" appservice.VirtualNetworkSwiftConnection \" pulumi-lang-python=\" appservice.VirtualNetworkSwiftConnection \" pulumi-lang-yaml=\" azure.appservice.VirtualNetworkSwiftConnection \" pulumi-lang-java=\" azure.appservice.VirtualNetworkSwiftConnection \"\u003e azure.appservice.VirtualNetworkSwiftConnection \u003c/span\u003eand in-line within this resource using the \u003cspan pulumi-lang-nodejs=\"`virtualNetworkSubnetId`\" pulumi-lang-dotnet=\"`VirtualNetworkSubnetId`\" pulumi-lang-go=\"`virtualNetworkSubnetId`\" pulumi-lang-python=\"`virtual_network_subnet_id`\" pulumi-lang-yaml=\"`virtualNetworkSubnetId`\" pulumi-lang-java=\"`virtualNetworkSubnetId`\"\u003e`virtual_network_subnet_id`\u003c/span\u003e property. You cannot use both methods simultaneously. If the virtual network is set via the resource \u003cspan pulumi-lang-nodejs=\"`appServiceVirtualNetworkSwiftConnection`\" pulumi-lang-dotnet=\"`AppServiceVirtualNetworkSwiftConnection`\" pulumi-lang-go=\"`appServiceVirtualNetworkSwiftConnection`\" pulumi-lang-python=\"`app_service_virtual_network_swift_connection`\" pulumi-lang-yaml=\"`appServiceVirtualNetworkSwiftConnection`\" pulumi-lang-java=\"`appServiceVirtualNetworkSwiftConnection`\"\u003e`app_service_virtual_network_swift_connection`\u003c/span\u003e then \u003cspan pulumi-lang-nodejs=\"`ignoreChanges`\" pulumi-lang-dotnet=\"`IgnoreChanges`\" pulumi-lang-go=\"`ignoreChanges`\" pulumi-lang-python=\"`ignore_changes`\" pulumi-lang-yaml=\"`ignoreChanges`\" pulumi-lang-java=\"`ignoreChanges`\"\u003e`ignore_changes`\u003c/span\u003e should be used in the function app configuration.\n\n\u003e **Note:** Assigning the \u003cspan pulumi-lang-nodejs=\"`virtualNetworkSubnetId`\" pulumi-lang-dotnet=\"`VirtualNetworkSubnetId`\" pulumi-lang-go=\"`virtualNetworkSubnetId`\" pulumi-lang-python=\"`virtual_network_subnet_id`\" pulumi-lang-yaml=\"`virtualNetworkSubnetId`\" pulumi-lang-java=\"`virtualNetworkSubnetId`\"\u003e`virtual_network_subnet_id`\u003c/span\u003e property requires [RBAC permissions on the subnet](https://docs.microsoft.com/en-us/azure/app-service/overview-vnet-integration#permissions)\n"},"webdeployPublishBasicAuthenticationEnabled":{"type":"boolean","description":"Should the default WebDeploy Basic Authentication publishing credentials enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n\n\u003e **Note:** Setting this value to true will disable the ability to use \u003cspan pulumi-lang-nodejs=\"`zipDeployFile`\" pulumi-lang-dotnet=\"`ZipDeployFile`\" pulumi-lang-go=\"`zipDeployFile`\" pulumi-lang-python=\"`zip_deploy_file`\" pulumi-lang-yaml=\"`zipDeployFile`\" pulumi-lang-java=\"`zipDeployFile`\"\u003e`zip_deploy_file`\u003c/span\u003e which currently relies on the default publishing profile.\n"},"zipDeployFile":{"type":"string","description":"The local path and filename of the Zip packaged application to deploy to this Linux Function App.\n\n\u003e **Note:** Using this value requires either `WEBSITE_RUN_FROM_PACKAGE=1` or `SCM_DO_BUILD_DURING_DEPLOYMENT=true` to be set on the App in \u003cspan pulumi-lang-nodejs=\"`appSettings`\" pulumi-lang-dotnet=\"`AppSettings`\" pulumi-lang-go=\"`appSettings`\" pulumi-lang-python=\"`app_settings`\" pulumi-lang-yaml=\"`appSettings`\" pulumi-lang-java=\"`appSettings`\"\u003e`app_settings`\u003c/span\u003e. Refer to the [Azure docs](https://learn.microsoft.com/en-us/azure/azure-functions/functions-deployment-technologies) for further details.\n"}},"type":"object"}},"azure:appservice/appService:AppService":{"description":"Manages an App Service (within an App Service Plan).\n\n!\u003e **NOTE:** This resource has been deprecated in version 5.0 of the provider and will be removed in version 6.0. Please use \u003cspan pulumi-lang-nodejs=\"`azure.appservice.LinuxWebApp`\" pulumi-lang-dotnet=\"`azure.appservice.LinuxWebApp`\" pulumi-lang-go=\"`appservice.LinuxWebApp`\" pulumi-lang-python=\"`appservice.LinuxWebApp`\" pulumi-lang-yaml=\"`azure.appservice.LinuxWebApp`\" pulumi-lang-java=\"`azure.appservice.LinuxWebApp`\"\u003e`azure.appservice.LinuxWebApp`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`azure.appservice.WindowsWebApp`\" pulumi-lang-dotnet=\"`azure.appservice.WindowsWebApp`\" pulumi-lang-go=\"`appservice.WindowsWebApp`\" pulumi-lang-python=\"`appservice.WindowsWebApp`\" pulumi-lang-yaml=\"`azure.appservice.WindowsWebApp`\" pulumi-lang-java=\"`azure.appservice.WindowsWebApp`\"\u003e`azure.appservice.WindowsWebApp`\u003c/span\u003e resources instead.\n\n\u003e **Note:** When using Slots - the \u003cspan pulumi-lang-nodejs=\"`appSettings`\" pulumi-lang-dotnet=\"`AppSettings`\" pulumi-lang-go=\"`appSettings`\" pulumi-lang-python=\"`app_settings`\" pulumi-lang-yaml=\"`appSettings`\" pulumi-lang-java=\"`appSettings`\"\u003e`app_settings`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`connectionString`\" pulumi-lang-dotnet=\"`ConnectionString`\" pulumi-lang-go=\"`connectionString`\" pulumi-lang-python=\"`connection_string`\" pulumi-lang-yaml=\"`connectionString`\" pulumi-lang-java=\"`connectionString`\"\u003e`connection_string`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`siteConfig`\" pulumi-lang-dotnet=\"`SiteConfig`\" pulumi-lang-go=\"`siteConfig`\" pulumi-lang-python=\"`site_config`\" pulumi-lang-yaml=\"`siteConfig`\" pulumi-lang-java=\"`siteConfig`\"\u003e`site_config`\u003c/span\u003e blocks on the \u003cspan pulumi-lang-nodejs=\"`azure.appservice.AppService`\" pulumi-lang-dotnet=\"`azure.appservice.AppService`\" pulumi-lang-go=\"`appservice.AppService`\" pulumi-lang-python=\"`appservice.AppService`\" pulumi-lang-yaml=\"`azure.appservice.AppService`\" pulumi-lang-java=\"`azure.appservice.AppService`\"\u003e`azure.appservice.AppService`\u003c/span\u003e resource will be overwritten when promoting a Slot using the \u003cspan pulumi-lang-nodejs=\"`azure.appservice.ActiveSlot`\" pulumi-lang-dotnet=\"`azure.appservice.ActiveSlot`\" pulumi-lang-go=\"`appservice.ActiveSlot`\" pulumi-lang-python=\"`appservice.ActiveSlot`\" pulumi-lang-yaml=\"`azure.appservice.ActiveSlot`\" pulumi-lang-java=\"`azure.appservice.ActiveSlot`\"\u003e`azure.appservice.ActiveSlot`\u003c/span\u003e resource.\n\n## Example Usage\n\nThis example provisions a Windows App Service.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst examplePlan = new azure.appservice.Plan(\"example\", {\n    name: \"example-appserviceplan\",\n    location: example.location,\n    resourceGroupName: example.name,\n    sku: {\n        tier: \"Standard\",\n        size: \"S1\",\n    },\n});\nconst exampleAppService = new azure.appservice.AppService(\"example\", {\n    name: \"example-app-service\",\n    location: example.location,\n    resourceGroupName: example.name,\n    appServicePlanId: examplePlan.id,\n    siteConfig: {\n        dotnetFrameworkVersion: \"v4.0\",\n        scmType: \"LocalGit\",\n    },\n    appSettings: {\n        SOME_KEY: \"some-value\",\n    },\n    connectionStrings: [{\n        name: \"Database\",\n        type: \"SQLServer\",\n        value: \"Server=some-server.mydomain.com;Integrated Security=SSPI\",\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_plan = azure.appservice.Plan(\"example\",\n    name=\"example-appserviceplan\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku={\n        \"tier\": \"Standard\",\n        \"size\": \"S1\",\n    })\nexample_app_service = azure.appservice.AppService(\"example\",\n    name=\"example-app-service\",\n    location=example.location,\n    resource_group_name=example.name,\n    app_service_plan_id=example_plan.id,\n    site_config={\n        \"dotnet_framework_version\": \"v4.0\",\n        \"scm_type\": \"LocalGit\",\n    },\n    app_settings={\n        \"SOME_KEY\": \"some-value\",\n    },\n    connection_strings=[{\n        \"name\": \"Database\",\n        \"type\": \"SQLServer\",\n        \"value\": \"Server=some-server.mydomain.com;Integrated Security=SSPI\",\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var examplePlan = new Azure.AppService.Plan(\"example\", new()\n    {\n        Name = \"example-appserviceplan\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Sku = new Azure.AppService.Inputs.PlanSkuArgs\n        {\n            Tier = \"Standard\",\n            Size = \"S1\",\n        },\n    });\n\n    var exampleAppService = new Azure.AppService.AppService(\"example\", new()\n    {\n        Name = \"example-app-service\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        AppServicePlanId = examplePlan.Id,\n        SiteConfig = new Azure.AppService.Inputs.AppServiceSiteConfigArgs\n        {\n            DotnetFrameworkVersion = \"v4.0\",\n            ScmType = \"LocalGit\",\n        },\n        AppSettings = \n        {\n            { \"SOME_KEY\", \"some-value\" },\n        },\n        ConnectionStrings = new[]\n        {\n            new Azure.AppService.Inputs.AppServiceConnectionStringArgs\n            {\n                Name = \"Database\",\n                Type = \"SQLServer\",\n                Value = \"Server=some-server.mydomain.com;Integrated Security=SSPI\",\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/appservice\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texamplePlan, err := appservice.NewPlan(ctx, \"example\", \u0026appservice.PlanArgs{\n\t\t\tName:              pulumi.String(\"example-appserviceplan\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSku: \u0026appservice.PlanSkuArgs{\n\t\t\t\tTier: pulumi.String(\"Standard\"),\n\t\t\t\tSize: pulumi.String(\"S1\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = appservice.NewAppService(ctx, \"example\", \u0026appservice.AppServiceArgs{\n\t\t\tName:              pulumi.String(\"example-app-service\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tAppServicePlanId:  examplePlan.ID(),\n\t\t\tSiteConfig: \u0026appservice.AppServiceSiteConfigArgs{\n\t\t\t\tDotnetFrameworkVersion: pulumi.String(\"v4.0\"),\n\t\t\t\tScmType:                pulumi.String(\"LocalGit\"),\n\t\t\t},\n\t\t\tAppSettings: pulumi.StringMap{\n\t\t\t\t\"SOME_KEY\": pulumi.String(\"some-value\"),\n\t\t\t},\n\t\t\tConnectionStrings: appservice.AppServiceConnectionStringArray{\n\t\t\t\t\u0026appservice.AppServiceConnectionStringArgs{\n\t\t\t\t\tName:  pulumi.String(\"Database\"),\n\t\t\t\t\tType:  pulumi.String(\"SQLServer\"),\n\t\t\t\t\tValue: pulumi.String(\"Server=some-server.mydomain.com;Integrated Security=SSPI\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.appservice.Plan;\nimport com.pulumi.azure.appservice.PlanArgs;\nimport com.pulumi.azure.appservice.inputs.PlanSkuArgs;\nimport com.pulumi.azure.appservice.AppService;\nimport com.pulumi.azure.appservice.AppServiceArgs;\nimport com.pulumi.azure.appservice.inputs.AppServiceSiteConfigArgs;\nimport com.pulumi.azure.appservice.inputs.AppServiceConnectionStringArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var examplePlan = new Plan(\"examplePlan\", PlanArgs.builder()\n            .name(\"example-appserviceplan\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .sku(PlanSkuArgs.builder()\n                .tier(\"Standard\")\n                .size(\"S1\")\n                .build())\n            .build());\n\n        var exampleAppService = new AppService(\"exampleAppService\", AppServiceArgs.builder()\n            .name(\"example-app-service\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .appServicePlanId(examplePlan.id())\n            .siteConfig(AppServiceSiteConfigArgs.builder()\n                .dotnetFrameworkVersion(\"v4.0\")\n                .scmType(\"LocalGit\")\n                .build())\n            .appSettings(Map.of(\"SOME_KEY\", \"some-value\"))\n            .connectionStrings(AppServiceConnectionStringArgs.builder()\n                .name(\"Database\")\n                .type(\"SQLServer\")\n                .value(\"Server=some-server.mydomain.com;Integrated Security=SSPI\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  examplePlan:\n    type: azure:appservice:Plan\n    name: example\n    properties:\n      name: example-appserviceplan\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      sku:\n        tier: Standard\n        size: S1\n  exampleAppService:\n    type: azure:appservice:AppService\n    name: example\n    properties:\n      name: example-app-service\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      appServicePlanId: ${examplePlan.id}\n      siteConfig:\n        dotnetFrameworkVersion: v4.0\n        scmType: LocalGit\n      appSettings:\n        SOME_KEY: some-value\n      connectionStrings:\n        - name: Database\n          type: SQLServer\n          value: Server=some-server.mydomain.com;Integrated Security=SSPI\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nApp Services can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:appservice/appService:AppService instance1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Web/sites/instance1\n```\n\n","properties":{"appServicePlanId":{"type":"string","description":"The ID of the App Service Plan within which to create this App Service.\n"},"appSettings":{"type":"object","additionalProperties":{"type":"string"},"description":"A key-value pair of App Settings.\n"},"authSettings":{"$ref":"#/types/azure:appservice/AppServiceAuthSettings:AppServiceAuthSettings","description":"A \u003cspan pulumi-lang-nodejs=\"`authSettings`\" pulumi-lang-dotnet=\"`AuthSettings`\" pulumi-lang-go=\"`authSettings`\" pulumi-lang-python=\"`auth_settings`\" pulumi-lang-yaml=\"`authSettings`\" pulumi-lang-java=\"`authSettings`\"\u003e`auth_settings`\u003c/span\u003e block as defined below.\n"},"backup":{"$ref":"#/types/azure:appservice/AppServiceBackup:AppServiceBackup","description":"A \u003cspan pulumi-lang-nodejs=\"`backup`\" pulumi-lang-dotnet=\"`Backup`\" pulumi-lang-go=\"`backup`\" pulumi-lang-python=\"`backup`\" pulumi-lang-yaml=\"`backup`\" pulumi-lang-java=\"`backup`\"\u003e`backup`\u003c/span\u003e block as defined below.\n"},"clientAffinityEnabled":{"type":"boolean","description":"Should the App Service send session affinity cookies, which route client requests in the same session to the same instance?\n"},"clientCertEnabled":{"type":"boolean","description":"Does the App Service require client certificates for incoming requests? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"clientCertMode":{"type":"string","description":"Mode of client certificates for this App Service. Possible values are `Required`, `Optional` and `OptionalInteractiveUser`. If this parameter is set, \u003cspan pulumi-lang-nodejs=\"`clientCertEnabled`\" pulumi-lang-dotnet=\"`ClientCertEnabled`\" pulumi-lang-go=\"`clientCertEnabled`\" pulumi-lang-python=\"`client_cert_enabled`\" pulumi-lang-yaml=\"`clientCertEnabled`\" pulumi-lang-java=\"`clientCertEnabled`\"\u003e`client_cert_enabled`\u003c/span\u003e must be set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, otherwise this parameter is ignored.\n"},"connectionStrings":{"type":"array","items":{"$ref":"#/types/azure:appservice/AppServiceConnectionString:AppServiceConnectionString"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`connectionString`\" pulumi-lang-dotnet=\"`ConnectionString`\" pulumi-lang-go=\"`connectionString`\" pulumi-lang-python=\"`connection_string`\" pulumi-lang-yaml=\"`connectionString`\" pulumi-lang-java=\"`connectionString`\"\u003e`connection_string`\u003c/span\u003e blocks as defined below.\n"},"customDomainVerificationId":{"type":"string","description":"An identifier used by App Service to perform domain ownership verification via DNS TXT record.\n"},"defaultSiteHostname":{"type":"string","description":"The Default Hostname associated with the App Service - such as `mysite.azurewebsites.net`\n"},"enabled":{"type":"boolean","description":"Is the App Service Enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"httpsOnly":{"type":"boolean","description":"Can the App Service only be accessed via HTTPS? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"identity":{"$ref":"#/types/azure:appservice/AppServiceIdentity:AppServiceIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"keyVaultReferenceIdentityId":{"type":"string","description":"The User Assigned Identity Id used for looking up KeyVault secrets. The identity must be assigned to the application. [For more information see - Access vaults with a user-assigned identity](https://docs.microsoft.com/azure/app-service/app-service-key-vault-references#access-vaults-with-a-user-assigned-identity)\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n"},"logs":{"$ref":"#/types/azure:appservice/AppServiceLogs:AppServiceLogs","description":"A \u003cspan pulumi-lang-nodejs=\"`logs`\" pulumi-lang-dotnet=\"`Logs`\" pulumi-lang-go=\"`logs`\" pulumi-lang-python=\"`logs`\" pulumi-lang-yaml=\"`logs`\" pulumi-lang-java=\"`logs`\"\u003e`logs`\u003c/span\u003e block as defined below.\n"},"name":{"type":"string","description":"Specifies the name of the App Service. Changing this forces a new resource to be created.\n"},"outboundIpAddressLists":{"type":"array","items":{"type":"string"},"description":"A list of outbound IP addresses - such as `[\"52.23.25.3\", \"52.143.43.12\"]`\n"},"outboundIpAddresses":{"type":"string","description":"A comma separated list of outbound IP addresses - such as `52.23.25.3,52.143.43.12`\n"},"possibleOutboundIpAddressLists":{"type":"array","items":{"type":"string"},"description":"A list of outbound IP addresses - such as `[\"52.23.25.3\", \"52.143.43.12\", \"52.143.43.17\"]` - not all of which are necessarily in use. Superset of \u003cspan pulumi-lang-nodejs=\"`outboundIpAddressList`\" pulumi-lang-dotnet=\"`OutboundIpAddressList`\" pulumi-lang-go=\"`outboundIpAddressList`\" pulumi-lang-python=\"`outbound_ip_address_list`\" pulumi-lang-yaml=\"`outboundIpAddressList`\" pulumi-lang-java=\"`outboundIpAddressList`\"\u003e`outbound_ip_address_list`\u003c/span\u003e.\n"},"possibleOutboundIpAddresses":{"type":"string","description":"A comma separated list of outbound IP addresses - such as `52.23.25.3,52.143.43.12,52.143.43.17` - not all of which are necessarily in use. Superset of \u003cspan pulumi-lang-nodejs=\"`outboundIpAddresses`\" pulumi-lang-dotnet=\"`OutboundIpAddresses`\" pulumi-lang-go=\"`outboundIpAddresses`\" pulumi-lang-python=\"`outbound_ip_addresses`\" pulumi-lang-yaml=\"`outboundIpAddresses`\" pulumi-lang-java=\"`outboundIpAddresses`\"\u003e`outbound_ip_addresses`\u003c/span\u003e.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the App Service. Changing this forces a new resource to be created.\n"},"siteConfig":{"$ref":"#/types/azure:appservice/AppServiceSiteConfig:AppServiceSiteConfig","description":"A \u003cspan pulumi-lang-nodejs=\"`siteConfig`\" pulumi-lang-dotnet=\"`SiteConfig`\" pulumi-lang-go=\"`siteConfig`\" pulumi-lang-python=\"`site_config`\" pulumi-lang-yaml=\"`siteConfig`\" pulumi-lang-java=\"`siteConfig`\"\u003e`site_config`\u003c/span\u003e block as defined below.\n"},"siteCredentials":{"type":"array","items":{"$ref":"#/types/azure:appservice/AppServiceSiteCredential:AppServiceSiteCredential"},"description":"A \u003cspan pulumi-lang-nodejs=\"`siteCredential`\" pulumi-lang-dotnet=\"`SiteCredential`\" pulumi-lang-go=\"`siteCredential`\" pulumi-lang-python=\"`site_credential`\" pulumi-lang-yaml=\"`siteCredential`\" pulumi-lang-java=\"`siteCredential`\"\u003e`site_credential`\u003c/span\u003e block as defined below, which contains the site-level credentials used to publish to this App Service.\n"},"sourceControl":{"$ref":"#/types/azure:appservice/AppServiceSourceControl:AppServiceSourceControl","description":"A \u003cspan pulumi-lang-nodejs=\"`sourceControl`\" pulumi-lang-dotnet=\"`SourceControl`\" pulumi-lang-go=\"`sourceControl`\" pulumi-lang-python=\"`source_control`\" pulumi-lang-yaml=\"`sourceControl`\" pulumi-lang-java=\"`sourceControl`\"\u003e`source_control`\u003c/span\u003e block as defined below.\n"},"storageAccounts":{"type":"array","items":{"$ref":"#/types/azure:appservice/AppServiceStorageAccount:AppServiceStorageAccount"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`storageAccount`\" pulumi-lang-dotnet=\"`StorageAccount`\" pulumi-lang-go=\"`storageAccount`\" pulumi-lang-python=\"`storage_account`\" pulumi-lang-yaml=\"`storageAccount`\" pulumi-lang-java=\"`storageAccount`\"\u003e`storage_account`\u003c/span\u003e blocks as defined below.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"required":["appServicePlanId","appSettings","authSettings","clientCertMode","connectionStrings","customDomainVerificationId","defaultSiteHostname","keyVaultReferenceIdentityId","location","logs","name","outboundIpAddressLists","outboundIpAddresses","possibleOutboundIpAddressLists","possibleOutboundIpAddresses","resourceGroupName","siteConfig","siteCredentials","sourceControl","storageAccounts"],"inputProperties":{"appServicePlanId":{"type":"string","description":"The ID of the App Service Plan within which to create this App Service.\n"},"appSettings":{"type":"object","additionalProperties":{"type":"string"},"description":"A key-value pair of App Settings.\n"},"authSettings":{"$ref":"#/types/azure:appservice/AppServiceAuthSettings:AppServiceAuthSettings","description":"A \u003cspan pulumi-lang-nodejs=\"`authSettings`\" pulumi-lang-dotnet=\"`AuthSettings`\" pulumi-lang-go=\"`authSettings`\" pulumi-lang-python=\"`auth_settings`\" pulumi-lang-yaml=\"`authSettings`\" pulumi-lang-java=\"`authSettings`\"\u003e`auth_settings`\u003c/span\u003e block as defined below.\n"},"backup":{"$ref":"#/types/azure:appservice/AppServiceBackup:AppServiceBackup","description":"A \u003cspan pulumi-lang-nodejs=\"`backup`\" pulumi-lang-dotnet=\"`Backup`\" pulumi-lang-go=\"`backup`\" pulumi-lang-python=\"`backup`\" pulumi-lang-yaml=\"`backup`\" pulumi-lang-java=\"`backup`\"\u003e`backup`\u003c/span\u003e block as defined below.\n"},"clientAffinityEnabled":{"type":"boolean","description":"Should the App Service send session affinity cookies, which route client requests in the same session to the same instance?\n"},"clientCertEnabled":{"type":"boolean","description":"Does the App Service require client certificates for incoming requests? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"clientCertMode":{"type":"string","description":"Mode of client certificates for this App Service. Possible values are `Required`, `Optional` and `OptionalInteractiveUser`. If this parameter is set, \u003cspan pulumi-lang-nodejs=\"`clientCertEnabled`\" pulumi-lang-dotnet=\"`ClientCertEnabled`\" pulumi-lang-go=\"`clientCertEnabled`\" pulumi-lang-python=\"`client_cert_enabled`\" pulumi-lang-yaml=\"`clientCertEnabled`\" pulumi-lang-java=\"`clientCertEnabled`\"\u003e`client_cert_enabled`\u003c/span\u003e must be set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, otherwise this parameter is ignored.\n"},"connectionStrings":{"type":"array","items":{"$ref":"#/types/azure:appservice/AppServiceConnectionString:AppServiceConnectionString"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`connectionString`\" pulumi-lang-dotnet=\"`ConnectionString`\" pulumi-lang-go=\"`connectionString`\" pulumi-lang-python=\"`connection_string`\" pulumi-lang-yaml=\"`connectionString`\" pulumi-lang-java=\"`connectionString`\"\u003e`connection_string`\u003c/span\u003e blocks as defined below.\n"},"enabled":{"type":"boolean","description":"Is the App Service Enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"httpsOnly":{"type":"boolean","description":"Can the App Service only be accessed via HTTPS? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"identity":{"$ref":"#/types/azure:appservice/AppServiceIdentity:AppServiceIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"keyVaultReferenceIdentityId":{"type":"string","description":"The User Assigned Identity Id used for looking up KeyVault secrets. The identity must be assigned to the application. [For more information see - Access vaults with a user-assigned identity](https://docs.microsoft.com/azure/app-service/app-service-key-vault-references#access-vaults-with-a-user-assigned-identity)\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"logs":{"$ref":"#/types/azure:appservice/AppServiceLogs:AppServiceLogs","description":"A \u003cspan pulumi-lang-nodejs=\"`logs`\" pulumi-lang-dotnet=\"`Logs`\" pulumi-lang-go=\"`logs`\" pulumi-lang-python=\"`logs`\" pulumi-lang-yaml=\"`logs`\" pulumi-lang-java=\"`logs`\"\u003e`logs`\u003c/span\u003e block as defined below.\n"},"name":{"type":"string","description":"Specifies the name of the App Service. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the App Service. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"siteConfig":{"$ref":"#/types/azure:appservice/AppServiceSiteConfig:AppServiceSiteConfig","description":"A \u003cspan pulumi-lang-nodejs=\"`siteConfig`\" pulumi-lang-dotnet=\"`SiteConfig`\" pulumi-lang-go=\"`siteConfig`\" pulumi-lang-python=\"`site_config`\" pulumi-lang-yaml=\"`siteConfig`\" pulumi-lang-java=\"`siteConfig`\"\u003e`site_config`\u003c/span\u003e block as defined below.\n"},"sourceControl":{"$ref":"#/types/azure:appservice/AppServiceSourceControl:AppServiceSourceControl","description":"A \u003cspan pulumi-lang-nodejs=\"`sourceControl`\" pulumi-lang-dotnet=\"`SourceControl`\" pulumi-lang-go=\"`sourceControl`\" pulumi-lang-python=\"`source_control`\" pulumi-lang-yaml=\"`sourceControl`\" pulumi-lang-java=\"`sourceControl`\"\u003e`source_control`\u003c/span\u003e block as defined below.\n"},"storageAccounts":{"type":"array","items":{"$ref":"#/types/azure:appservice/AppServiceStorageAccount:AppServiceStorageAccount"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`storageAccount`\" pulumi-lang-dotnet=\"`StorageAccount`\" pulumi-lang-go=\"`storageAccount`\" pulumi-lang-python=\"`storage_account`\" pulumi-lang-yaml=\"`storageAccount`\" pulumi-lang-java=\"`storageAccount`\"\u003e`storage_account`\u003c/span\u003e blocks as defined below.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"requiredInputs":["appServicePlanId","resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering AppService resources.\n","properties":{"appServicePlanId":{"type":"string","description":"The ID of the App Service Plan within which to create this App Service.\n"},"appSettings":{"type":"object","additionalProperties":{"type":"string"},"description":"A key-value pair of App Settings.\n"},"authSettings":{"$ref":"#/types/azure:appservice/AppServiceAuthSettings:AppServiceAuthSettings","description":"A \u003cspan pulumi-lang-nodejs=\"`authSettings`\" pulumi-lang-dotnet=\"`AuthSettings`\" pulumi-lang-go=\"`authSettings`\" pulumi-lang-python=\"`auth_settings`\" pulumi-lang-yaml=\"`authSettings`\" pulumi-lang-java=\"`authSettings`\"\u003e`auth_settings`\u003c/span\u003e block as defined below.\n"},"backup":{"$ref":"#/types/azure:appservice/AppServiceBackup:AppServiceBackup","description":"A \u003cspan pulumi-lang-nodejs=\"`backup`\" pulumi-lang-dotnet=\"`Backup`\" pulumi-lang-go=\"`backup`\" pulumi-lang-python=\"`backup`\" pulumi-lang-yaml=\"`backup`\" pulumi-lang-java=\"`backup`\"\u003e`backup`\u003c/span\u003e block as defined below.\n"},"clientAffinityEnabled":{"type":"boolean","description":"Should the App Service send session affinity cookies, which route client requests in the same session to the same instance?\n"},"clientCertEnabled":{"type":"boolean","description":"Does the App Service require client certificates for incoming requests? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"clientCertMode":{"type":"string","description":"Mode of client certificates for this App Service. Possible values are `Required`, `Optional` and `OptionalInteractiveUser`. If this parameter is set, \u003cspan pulumi-lang-nodejs=\"`clientCertEnabled`\" pulumi-lang-dotnet=\"`ClientCertEnabled`\" pulumi-lang-go=\"`clientCertEnabled`\" pulumi-lang-python=\"`client_cert_enabled`\" pulumi-lang-yaml=\"`clientCertEnabled`\" pulumi-lang-java=\"`clientCertEnabled`\"\u003e`client_cert_enabled`\u003c/span\u003e must be set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, otherwise this parameter is ignored.\n"},"connectionStrings":{"type":"array","items":{"$ref":"#/types/azure:appservice/AppServiceConnectionString:AppServiceConnectionString"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`connectionString`\" pulumi-lang-dotnet=\"`ConnectionString`\" pulumi-lang-go=\"`connectionString`\" pulumi-lang-python=\"`connection_string`\" pulumi-lang-yaml=\"`connectionString`\" pulumi-lang-java=\"`connectionString`\"\u003e`connection_string`\u003c/span\u003e blocks as defined below.\n"},"customDomainVerificationId":{"type":"string","description":"An identifier used by App Service to perform domain ownership verification via DNS TXT record.\n"},"defaultSiteHostname":{"type":"string","description":"The Default Hostname associated with the App Service - such as `mysite.azurewebsites.net`\n"},"enabled":{"type":"boolean","description":"Is the App Service Enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"httpsOnly":{"type":"boolean","description":"Can the App Service only be accessed via HTTPS? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"identity":{"$ref":"#/types/azure:appservice/AppServiceIdentity:AppServiceIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"keyVaultReferenceIdentityId":{"type":"string","description":"The User Assigned Identity Id used for looking up KeyVault secrets. The identity must be assigned to the application. [For more information see - Access vaults with a user-assigned identity](https://docs.microsoft.com/azure/app-service/app-service-key-vault-references#access-vaults-with-a-user-assigned-identity)\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"logs":{"$ref":"#/types/azure:appservice/AppServiceLogs:AppServiceLogs","description":"A \u003cspan pulumi-lang-nodejs=\"`logs`\" pulumi-lang-dotnet=\"`Logs`\" pulumi-lang-go=\"`logs`\" pulumi-lang-python=\"`logs`\" pulumi-lang-yaml=\"`logs`\" pulumi-lang-java=\"`logs`\"\u003e`logs`\u003c/span\u003e block as defined below.\n"},"name":{"type":"string","description":"Specifies the name of the App Service. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"outboundIpAddressLists":{"type":"array","items":{"type":"string"},"description":"A list of outbound IP addresses - such as `[\"52.23.25.3\", \"52.143.43.12\"]`\n"},"outboundIpAddresses":{"type":"string","description":"A comma separated list of outbound IP addresses - such as `52.23.25.3,52.143.43.12`\n"},"possibleOutboundIpAddressLists":{"type":"array","items":{"type":"string"},"description":"A list of outbound IP addresses - such as `[\"52.23.25.3\", \"52.143.43.12\", \"52.143.43.17\"]` - not all of which are necessarily in use. Superset of \u003cspan pulumi-lang-nodejs=\"`outboundIpAddressList`\" pulumi-lang-dotnet=\"`OutboundIpAddressList`\" pulumi-lang-go=\"`outboundIpAddressList`\" pulumi-lang-python=\"`outbound_ip_address_list`\" pulumi-lang-yaml=\"`outboundIpAddressList`\" pulumi-lang-java=\"`outboundIpAddressList`\"\u003e`outbound_ip_address_list`\u003c/span\u003e.\n"},"possibleOutboundIpAddresses":{"type":"string","description":"A comma separated list of outbound IP addresses - such as `52.23.25.3,52.143.43.12,52.143.43.17` - not all of which are necessarily in use. Superset of \u003cspan pulumi-lang-nodejs=\"`outboundIpAddresses`\" pulumi-lang-dotnet=\"`OutboundIpAddresses`\" pulumi-lang-go=\"`outboundIpAddresses`\" pulumi-lang-python=\"`outbound_ip_addresses`\" pulumi-lang-yaml=\"`outboundIpAddresses`\" pulumi-lang-java=\"`outboundIpAddresses`\"\u003e`outbound_ip_addresses`\u003c/span\u003e.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the App Service. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"siteConfig":{"$ref":"#/types/azure:appservice/AppServiceSiteConfig:AppServiceSiteConfig","description":"A \u003cspan pulumi-lang-nodejs=\"`siteConfig`\" pulumi-lang-dotnet=\"`SiteConfig`\" pulumi-lang-go=\"`siteConfig`\" pulumi-lang-python=\"`site_config`\" pulumi-lang-yaml=\"`siteConfig`\" pulumi-lang-java=\"`siteConfig`\"\u003e`site_config`\u003c/span\u003e block as defined below.\n"},"siteCredentials":{"type":"array","items":{"$ref":"#/types/azure:appservice/AppServiceSiteCredential:AppServiceSiteCredential"},"description":"A \u003cspan pulumi-lang-nodejs=\"`siteCredential`\" pulumi-lang-dotnet=\"`SiteCredential`\" pulumi-lang-go=\"`siteCredential`\" pulumi-lang-python=\"`site_credential`\" pulumi-lang-yaml=\"`siteCredential`\" pulumi-lang-java=\"`siteCredential`\"\u003e`site_credential`\u003c/span\u003e block as defined below, which contains the site-level credentials used to publish to this App Service.\n"},"sourceControl":{"$ref":"#/types/azure:appservice/AppServiceSourceControl:AppServiceSourceControl","description":"A \u003cspan pulumi-lang-nodejs=\"`sourceControl`\" pulumi-lang-dotnet=\"`SourceControl`\" pulumi-lang-go=\"`sourceControl`\" pulumi-lang-python=\"`source_control`\" pulumi-lang-yaml=\"`sourceControl`\" pulumi-lang-java=\"`sourceControl`\"\u003e`source_control`\u003c/span\u003e block as defined below.\n"},"storageAccounts":{"type":"array","items":{"$ref":"#/types/azure:appservice/AppServiceStorageAccount:AppServiceStorageAccount"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`storageAccount`\" pulumi-lang-dotnet=\"`StorageAccount`\" pulumi-lang-go=\"`storageAccount`\" pulumi-lang-python=\"`storage_account`\" pulumi-lang-yaml=\"`storageAccount`\" pulumi-lang-java=\"`storageAccount`\"\u003e`storage_account`\u003c/span\u003e blocks as defined below.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"type":"object"}},"azure:appservice/certificate:Certificate":{"description":"Manages an App Service certificate.\n\n## Example Usage\n\nThis example provisions an App Service Certificate from a Local File.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\nimport * as std from \"@pulumi/std\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleCertificate = new azure.appservice.Certificate(\"example\", {\n    name: \"example-cert\",\n    resourceGroupName: example.name,\n    location: example.location,\n    pfxBlob: std.filebase64({\n        input: \"certificate.pfx\",\n    }).then(invoke =\u003e invoke.result),\n    password: \"password123!\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\nimport pulumi_std as std\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_certificate = azure.appservice.Certificate(\"example\",\n    name=\"example-cert\",\n    resource_group_name=example.name,\n    location=example.location,\n    pfx_blob=std.filebase64(input=\"certificate.pfx\").result,\n    password=\"password123!\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleCertificate = new Azure.AppService.Certificate(\"example\", new()\n    {\n        Name = \"example-cert\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        PfxBlob = Std.Filebase64.Invoke(new()\n        {\n            Input = \"certificate.pfx\",\n        }).Apply(invoke =\u003e invoke.Result),\n        Password = \"password123!\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/appservice\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFilebase64, err := std.Filebase64(ctx, \u0026std.Filebase64Args{\n\t\t\tInput: \"certificate.pfx\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = appservice.NewCertificate(ctx, \"example\", \u0026appservice.CertificateArgs{\n\t\t\tName:              pulumi.String(\"example-cert\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tPfxBlob:           pulumi.String(invokeFilebase64.Result),\n\t\t\tPassword:          pulumi.String(\"password123!\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.appservice.Certificate;\nimport com.pulumi.azure.appservice.CertificateArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.Filebase64Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleCertificate = new Certificate(\"exampleCertificate\", CertificateArgs.builder()\n            .name(\"example-cert\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .pfxBlob(StdFunctions.filebase64(Filebase64Args.builder()\n                .input(\"certificate.pfx\")\n                .build()).result())\n            .password(\"password123!\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleCertificate:\n    type: azure:appservice:Certificate\n    name: example\n    properties:\n      name: example-cert\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      pfxBlob:\n        fn::invoke:\n          function: std:filebase64\n          arguments:\n            input: certificate.pfx\n          return: result\n      password: password123!\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nApp Service Certificates can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:appservice/certificate:Certificate example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Web/certificates/certificate1\n```\n\n","properties":{"appServicePlanId":{"type":"string","description":"The ID of the associated App Service plan. Must be specified when the certificate is used inside an App Service Environment hosted App Service or with Basic and Premium App Service plans. Changing this forces a new resource to be created.\n"},"expirationDate":{"type":"string","description":"The expiration date for the certificate.\n"},"friendlyName":{"type":"string","description":"The friendly name of the certificate.\n"},"hostNames":{"type":"array","items":{"type":"string"},"description":"List of host names the certificate applies to.\n"},"hostingEnvironmentProfileId":{"type":"string","description":"The ID of the App Service Environment where the certificate is in use.\n"},"issueDate":{"type":"string","description":"The issue date for the certificate.\n"},"issuer":{"type":"string","description":"The name of the certificate issuer.\n"},"keyVaultId":{"type":"string"},"keyVaultSecretId":{"type":"string","description":"The ID of the Key Vault secret. Changing this forces a new resource to be created.\n\n\u003e **NOTE:** Exactly one of \u003cspan pulumi-lang-nodejs=\"`keyVaultSecretId`\" pulumi-lang-dotnet=\"`KeyVaultSecretId`\" pulumi-lang-go=\"`keyVaultSecretId`\" pulumi-lang-python=\"`key_vault_secret_id`\" pulumi-lang-yaml=\"`keyVaultSecretId`\" pulumi-lang-java=\"`keyVaultSecretId`\"\u003e`key_vault_secret_id`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`pfxBlob`\" pulumi-lang-dotnet=\"`PfxBlob`\" pulumi-lang-go=\"`pfxBlob`\" pulumi-lang-python=\"`pfx_blob`\" pulumi-lang-yaml=\"`pfxBlob`\" pulumi-lang-java=\"`pfxBlob`\"\u003e`pfx_blob`\u003c/span\u003e must be specified.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"Specifies the name of the certificate. Changing this forces a new resource to be created.\n"},"password":{"type":"string","description":"The password to access the certificate's private key. Changing this forces a new resource to be created.\n","secret":true},"pfxBlob":{"type":"string","description":"The base64-encoded contents of the certificate. Changing this forces a new resource to be created.\n\n\u003e **NOTE:** Exactly one of \u003cspan pulumi-lang-nodejs=\"`keyVaultSecretId`\" pulumi-lang-dotnet=\"`KeyVaultSecretId`\" pulumi-lang-go=\"`keyVaultSecretId`\" pulumi-lang-python=\"`key_vault_secret_id`\" pulumi-lang-yaml=\"`keyVaultSecretId`\" pulumi-lang-java=\"`keyVaultSecretId`\"\u003e`key_vault_secret_id`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`pfxBlob`\" pulumi-lang-dotnet=\"`PfxBlob`\" pulumi-lang-go=\"`pfxBlob`\" pulumi-lang-python=\"`pfx_blob`\" pulumi-lang-yaml=\"`pfxBlob`\" pulumi-lang-java=\"`pfxBlob`\"\u003e`pfx_blob`\u003c/span\u003e must be specified.\n","secret":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the certificate. Changing this forces a new resource to be created.\n\n\u003e **NOTE:** The resource group must be the same as that which the app service plan is defined in - otherwise the certificate will not show as available for the app services.\n"},"subjectName":{"type":"string","description":"The subject name of the certificate.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"}},"thumbprint":{"type":"string","description":"The thumbprint for the certificate.\n"}},"required":["expirationDate","friendlyName","hostNames","hostingEnvironmentProfileId","issueDate","issuer","location","name","resourceGroupName","subjectName","thumbprint"],"inputProperties":{"appServicePlanId":{"type":"string","description":"The ID of the associated App Service plan. Must be specified when the certificate is used inside an App Service Environment hosted App Service or with Basic and Premium App Service plans. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"keyVaultId":{"type":"string","willReplaceOnChanges":true},"keyVaultSecretId":{"type":"string","description":"The ID of the Key Vault secret. Changing this forces a new resource to be created.\n\n\u003e **NOTE:** Exactly one of \u003cspan pulumi-lang-nodejs=\"`keyVaultSecretId`\" pulumi-lang-dotnet=\"`KeyVaultSecretId`\" pulumi-lang-go=\"`keyVaultSecretId`\" pulumi-lang-python=\"`key_vault_secret_id`\" pulumi-lang-yaml=\"`keyVaultSecretId`\" pulumi-lang-java=\"`keyVaultSecretId`\"\u003e`key_vault_secret_id`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`pfxBlob`\" pulumi-lang-dotnet=\"`PfxBlob`\" pulumi-lang-go=\"`pfxBlob`\" pulumi-lang-python=\"`pfx_blob`\" pulumi-lang-yaml=\"`pfxBlob`\" pulumi-lang-java=\"`pfxBlob`\"\u003e`pfx_blob`\u003c/span\u003e must be specified.\n","willReplaceOnChanges":true},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the certificate. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"password":{"type":"string","description":"The password to access the certificate's private key. Changing this forces a new resource to be created.\n","secret":true,"willReplaceOnChanges":true},"pfxBlob":{"type":"string","description":"The base64-encoded contents of the certificate. Changing this forces a new resource to be created.\n\n\u003e **NOTE:** Exactly one of \u003cspan pulumi-lang-nodejs=\"`keyVaultSecretId`\" pulumi-lang-dotnet=\"`KeyVaultSecretId`\" pulumi-lang-go=\"`keyVaultSecretId`\" pulumi-lang-python=\"`key_vault_secret_id`\" pulumi-lang-yaml=\"`keyVaultSecretId`\" pulumi-lang-java=\"`keyVaultSecretId`\"\u003e`key_vault_secret_id`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`pfxBlob`\" pulumi-lang-dotnet=\"`PfxBlob`\" pulumi-lang-go=\"`pfxBlob`\" pulumi-lang-python=\"`pfx_blob`\" pulumi-lang-yaml=\"`pfxBlob`\" pulumi-lang-java=\"`pfxBlob`\"\u003e`pfx_blob`\u003c/span\u003e must be specified.\n","secret":true,"willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the certificate. Changing this forces a new resource to be created.\n\n\u003e **NOTE:** The resource group must be the same as that which the app service plan is defined in - otherwise the certificate will not show as available for the app services.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"}}},"requiredInputs":["resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering Certificate resources.\n","properties":{"appServicePlanId":{"type":"string","description":"The ID of the associated App Service plan. Must be specified when the certificate is used inside an App Service Environment hosted App Service or with Basic and Premium App Service plans. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"expirationDate":{"type":"string","description":"The expiration date for the certificate.\n"},"friendlyName":{"type":"string","description":"The friendly name of the certificate.\n"},"hostNames":{"type":"array","items":{"type":"string"},"description":"List of host names the certificate applies to.\n"},"hostingEnvironmentProfileId":{"type":"string","description":"The ID of the App Service Environment where the certificate is in use.\n"},"issueDate":{"type":"string","description":"The issue date for the certificate.\n"},"issuer":{"type":"string","description":"The name of the certificate issuer.\n"},"keyVaultId":{"type":"string","willReplaceOnChanges":true},"keyVaultSecretId":{"type":"string","description":"The ID of the Key Vault secret. Changing this forces a new resource to be created.\n\n\u003e **NOTE:** Exactly one of \u003cspan pulumi-lang-nodejs=\"`keyVaultSecretId`\" pulumi-lang-dotnet=\"`KeyVaultSecretId`\" pulumi-lang-go=\"`keyVaultSecretId`\" pulumi-lang-python=\"`key_vault_secret_id`\" pulumi-lang-yaml=\"`keyVaultSecretId`\" pulumi-lang-java=\"`keyVaultSecretId`\"\u003e`key_vault_secret_id`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`pfxBlob`\" pulumi-lang-dotnet=\"`PfxBlob`\" pulumi-lang-go=\"`pfxBlob`\" pulumi-lang-python=\"`pfx_blob`\" pulumi-lang-yaml=\"`pfxBlob`\" pulumi-lang-java=\"`pfxBlob`\"\u003e`pfx_blob`\u003c/span\u003e must be specified.\n","willReplaceOnChanges":true},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the certificate. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"password":{"type":"string","description":"The password to access the certificate's private key. Changing this forces a new resource to be created.\n","secret":true,"willReplaceOnChanges":true},"pfxBlob":{"type":"string","description":"The base64-encoded contents of the certificate. Changing this forces a new resource to be created.\n\n\u003e **NOTE:** Exactly one of \u003cspan pulumi-lang-nodejs=\"`keyVaultSecretId`\" pulumi-lang-dotnet=\"`KeyVaultSecretId`\" pulumi-lang-go=\"`keyVaultSecretId`\" pulumi-lang-python=\"`key_vault_secret_id`\" pulumi-lang-yaml=\"`keyVaultSecretId`\" pulumi-lang-java=\"`keyVaultSecretId`\"\u003e`key_vault_secret_id`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`pfxBlob`\" pulumi-lang-dotnet=\"`PfxBlob`\" pulumi-lang-go=\"`pfxBlob`\" pulumi-lang-python=\"`pfx_blob`\" pulumi-lang-yaml=\"`pfxBlob`\" pulumi-lang-java=\"`pfxBlob`\"\u003e`pfx_blob`\u003c/span\u003e must be specified.\n","secret":true,"willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the certificate. Changing this forces a new resource to be created.\n\n\u003e **NOTE:** The resource group must be the same as that which the app service plan is defined in - otherwise the certificate will not show as available for the app services.\n","willReplaceOnChanges":true},"subjectName":{"type":"string","description":"The subject name of the certificate.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"}},"thumbprint":{"type":"string","description":"The thumbprint for the certificate.\n"}},"type":"object"}},"azure:appservice/certificateBinding:CertificateBinding":{"description":"Manages an App Service Certificate Binding.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\nimport * as std from \"@pulumi/std\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"example\", {\n    name: \"webapp\",\n    location: \"West Europe\",\n});\nconst examplePlan = new azure.appservice.Plan(\"example\", {\n    name: \"appserviceplan\",\n    location: exampleResourceGroup.location,\n    resourceGroupName: exampleResourceGroup.name,\n    sku: {\n        tier: \"Premium\",\n        size: \"P1\",\n    },\n});\nconst exampleAppService = new azure.appservice.AppService(\"example\", {\n    name: \"mywebapp\",\n    location: exampleResourceGroup.location,\n    resourceGroupName: exampleResourceGroup.name,\n    appServicePlanId: examplePlan.id,\n});\nconst example = azure.dns.getZoneOutput({\n    name: \"example.com\",\n    resourceGroupName: exampleResourceGroup.name,\n});\nconst exampleCNameRecord = new azure.dns.CNameRecord(\"example\", {\n    name: \"www\",\n    zoneName: example.apply(example =\u003e example.name),\n    resourceGroupName: example.apply(example =\u003e example.resourceGroupName),\n    ttl: 300,\n    record: exampleAppService.defaultSiteHostname,\n});\nconst exampleTxtRecord = new azure.dns.TxtRecord(\"example\", {\n    name: pulumi.interpolate`asuid.${exampleCNameRecord.name}`,\n    zoneName: example.apply(example =\u003e example.name),\n    resourceGroupName: example.apply(example =\u003e example.resourceGroupName),\n    ttl: 300,\n    records: [{\n        value: exampleAppService.customDomainVerificationId,\n    }],\n});\nconst exampleCustomHostnameBinding = new azure.appservice.CustomHostnameBinding(\"example\", {\n    hostname: std.trimOutput({\n        input: exampleCNameRecord.fqdn,\n        cutset: \".\",\n    }).apply(invoke =\u003e invoke.result),\n    appServiceName: exampleAppService.name,\n    resourceGroupName: exampleResourceGroup.name,\n}, {\n    dependsOn: [exampleTxtRecord],\n});\nconst exampleManagedCertificate = new azure.appservice.ManagedCertificate(\"example\", {customHostnameBindingId: exampleCustomHostnameBinding.id});\nconst exampleCertificateBinding = new azure.appservice.CertificateBinding(\"example\", {\n    hostnameBindingId: exampleCustomHostnameBinding.id,\n    certificateId: exampleManagedCertificate.id,\n    sslState: \"SniEnabled\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\nimport pulumi_std as std\n\nexample_resource_group = azure.core.ResourceGroup(\"example\",\n    name=\"webapp\",\n    location=\"West Europe\")\nexample_plan = azure.appservice.Plan(\"example\",\n    name=\"appserviceplan\",\n    location=example_resource_group.location,\n    resource_group_name=example_resource_group.name,\n    sku={\n        \"tier\": \"Premium\",\n        \"size\": \"P1\",\n    })\nexample_app_service = azure.appservice.AppService(\"example\",\n    name=\"mywebapp\",\n    location=example_resource_group.location,\n    resource_group_name=example_resource_group.name,\n    app_service_plan_id=example_plan.id)\nexample = azure.dns.get_zone_output(name=\"example.com\",\n    resource_group_name=example_resource_group.name)\nexample_c_name_record = azure.dns.CNameRecord(\"example\",\n    name=\"www\",\n    zone_name=example.name,\n    resource_group_name=example.resource_group_name,\n    ttl=300,\n    record=example_app_service.default_site_hostname)\nexample_txt_record = azure.dns.TxtRecord(\"example\",\n    name=example_c_name_record.name.apply(lambda name: f\"asuid.{name}\"),\n    zone_name=example.name,\n    resource_group_name=example.resource_group_name,\n    ttl=300,\n    records=[{\n        \"value\": example_app_service.custom_domain_verification_id,\n    }])\nexample_custom_hostname_binding = azure.appservice.CustomHostnameBinding(\"example\",\n    hostname=std.trim_output(input=example_c_name_record.fqdn,\n        cutset=\".\").apply(lambda invoke: invoke.result),\n    app_service_name=example_app_service.name,\n    resource_group_name=example_resource_group.name,\n    opts = pulumi.ResourceOptions(depends_on=[example_txt_record]))\nexample_managed_certificate = azure.appservice.ManagedCertificate(\"example\", custom_hostname_binding_id=example_custom_hostname_binding.id)\nexample_certificate_binding = azure.appservice.CertificateBinding(\"example\",\n    hostname_binding_id=example_custom_hostname_binding.id,\n    certificate_id=example_managed_certificate.id,\n    ssl_state=\"SniEnabled\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleResourceGroup = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"webapp\",\n        Location = \"West Europe\",\n    });\n\n    var examplePlan = new Azure.AppService.Plan(\"example\", new()\n    {\n        Name = \"appserviceplan\",\n        Location = exampleResourceGroup.Location,\n        ResourceGroupName = exampleResourceGroup.Name,\n        Sku = new Azure.AppService.Inputs.PlanSkuArgs\n        {\n            Tier = \"Premium\",\n            Size = \"P1\",\n        },\n    });\n\n    var exampleAppService = new Azure.AppService.AppService(\"example\", new()\n    {\n        Name = \"mywebapp\",\n        Location = exampleResourceGroup.Location,\n        ResourceGroupName = exampleResourceGroup.Name,\n        AppServicePlanId = examplePlan.Id,\n    });\n\n    var example = Azure.Dns.GetZone.Invoke(new()\n    {\n        Name = \"example.com\",\n        ResourceGroupName = exampleResourceGroup.Name,\n    });\n\n    var exampleCNameRecord = new Azure.Dns.CNameRecord(\"example\", new()\n    {\n        Name = \"www\",\n        ZoneName = example.Apply(getZoneResult =\u003e getZoneResult.Name),\n        ResourceGroupName = example.Apply(getZoneResult =\u003e getZoneResult.ResourceGroupName),\n        Ttl = 300,\n        Record = exampleAppService.DefaultSiteHostname,\n    });\n\n    var exampleTxtRecord = new Azure.Dns.TxtRecord(\"example\", new()\n    {\n        Name = exampleCNameRecord.Name.Apply(name =\u003e $\"asuid.{name}\"),\n        ZoneName = example.Apply(getZoneResult =\u003e getZoneResult.Name),\n        ResourceGroupName = example.Apply(getZoneResult =\u003e getZoneResult.ResourceGroupName),\n        Ttl = 300,\n        Records = new[]\n        {\n            new Azure.Dns.Inputs.TxtRecordRecordArgs\n            {\n                Value = exampleAppService.CustomDomainVerificationId,\n            },\n        },\n    });\n\n    var exampleCustomHostnameBinding = new Azure.AppService.CustomHostnameBinding(\"example\", new()\n    {\n        Hostname = Std.Trim.Invoke(new()\n        {\n            Input = exampleCNameRecord.Fqdn,\n            Cutset = \".\",\n        }).Apply(invoke =\u003e invoke.Result),\n        AppServiceName = exampleAppService.Name,\n        ResourceGroupName = exampleResourceGroup.Name,\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            exampleTxtRecord,\n        },\n    });\n\n    var exampleManagedCertificate = new Azure.AppService.ManagedCertificate(\"example\", new()\n    {\n        CustomHostnameBindingId = exampleCustomHostnameBinding.Id,\n    });\n\n    var exampleCertificateBinding = new Azure.AppService.CertificateBinding(\"example\", new()\n    {\n        HostnameBindingId = exampleCustomHostnameBinding.Id,\n        CertificateId = exampleManagedCertificate.Id,\n        SslState = \"SniEnabled\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/appservice\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/dns\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"webapp\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texamplePlan, err := appservice.NewPlan(ctx, \"example\", \u0026appservice.PlanArgs{\n\t\t\tName:              pulumi.String(\"appserviceplan\"),\n\t\t\tLocation:          exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tSku: \u0026appservice.PlanSkuArgs{\n\t\t\t\tTier: pulumi.String(\"Premium\"),\n\t\t\t\tSize: pulumi.String(\"P1\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAppService, err := appservice.NewAppService(ctx, \"example\", \u0026appservice.AppServiceArgs{\n\t\t\tName:              pulumi.String(\"mywebapp\"),\n\t\t\tLocation:          exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tAppServicePlanId:  examplePlan.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample := dns.LookupZoneOutput(ctx, dns.GetZoneOutputArgs{\n\t\t\tName:              pulumi.String(\"example.com\"),\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t}, nil)\n\t\texampleCNameRecord, err := dns.NewCNameRecord(ctx, \"example\", \u0026dns.CNameRecordArgs{\n\t\t\tName: pulumi.String(\"www\"),\n\t\t\tZoneName: pulumi.String(example.ApplyT(func(example dns.GetZoneResult) (*string, error) {\n\t\t\t\treturn \u0026example.Name, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tResourceGroupName: pulumi.String(example.ApplyT(func(example dns.GetZoneResult) (*string, error) {\n\t\t\t\treturn \u0026example.ResourceGroupName, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tTtl:    pulumi.Int(300),\n\t\t\tRecord: exampleAppService.DefaultSiteHostname,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleTxtRecord, err := dns.NewTxtRecord(ctx, \"example\", \u0026dns.TxtRecordArgs{\n\t\t\tName: exampleCNameRecord.Name.ApplyT(func(name string) (string, error) {\n\t\t\t\treturn fmt.Sprintf(\"asuid.%v\", name), nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t\tZoneName: pulumi.String(example.ApplyT(func(example dns.GetZoneResult) (*string, error) {\n\t\t\t\treturn \u0026example.Name, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tResourceGroupName: pulumi.String(example.ApplyT(func(example dns.GetZoneResult) (*string, error) {\n\t\t\t\treturn \u0026example.ResourceGroupName, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tTtl: pulumi.Int(300),\n\t\t\tRecords: dns.TxtRecordRecordArray{\n\t\t\t\t\u0026dns.TxtRecordRecordArgs{\n\t\t\t\t\tValue: exampleAppService.CustomDomainVerificationId,\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleCustomHostnameBinding, err := appservice.NewCustomHostnameBinding(ctx, \"example\", \u0026appservice.CustomHostnameBindingArgs{\n\t\t\tHostname: pulumi.String(std.TrimOutput(ctx, std.TrimOutputArgs{\n\t\t\t\tInput:  exampleCNameRecord.Fqdn,\n\t\t\t\tCutset: pulumi.String(\".\"),\n\t\t\t}, nil).ApplyT(func(invoke std.TrimResult) (*string, error) {\n\t\t\t\treturn invoke.Result, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tAppServiceName:    exampleAppService.Name,\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleTxtRecord,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleManagedCertificate, err := appservice.NewManagedCertificate(ctx, \"example\", \u0026appservice.ManagedCertificateArgs{\n\t\t\tCustomHostnameBindingId: exampleCustomHostnameBinding.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = appservice.NewCertificateBinding(ctx, \"example\", \u0026appservice.CertificateBindingArgs{\n\t\t\tHostnameBindingId: exampleCustomHostnameBinding.ID(),\n\t\t\tCertificateId:     exampleManagedCertificate.ID(),\n\t\t\tSslState:          pulumi.String(\"SniEnabled\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.appservice.Plan;\nimport com.pulumi.azure.appservice.PlanArgs;\nimport com.pulumi.azure.appservice.inputs.PlanSkuArgs;\nimport com.pulumi.azure.appservice.AppService;\nimport com.pulumi.azure.appservice.AppServiceArgs;\nimport com.pulumi.azure.dns.DnsFunctions;\nimport com.pulumi.azure.dns.inputs.GetZoneArgs;\nimport com.pulumi.azure.dns.CNameRecord;\nimport com.pulumi.azure.dns.CNameRecordArgs;\nimport com.pulumi.azure.dns.TxtRecord;\nimport com.pulumi.azure.dns.TxtRecordArgs;\nimport com.pulumi.azure.dns.inputs.TxtRecordRecordArgs;\nimport com.pulumi.azure.appservice.CustomHostnameBinding;\nimport com.pulumi.azure.appservice.CustomHostnameBindingArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.TrimArgs;\nimport com.pulumi.azure.appservice.ManagedCertificate;\nimport com.pulumi.azure.appservice.ManagedCertificateArgs;\nimport com.pulumi.azure.appservice.CertificateBinding;\nimport com.pulumi.azure.appservice.CertificateBindingArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var exampleResourceGroup = new ResourceGroup(\"exampleResourceGroup\", ResourceGroupArgs.builder()\n            .name(\"webapp\")\n            .location(\"West Europe\")\n            .build());\n\n        var examplePlan = new Plan(\"examplePlan\", PlanArgs.builder()\n            .name(\"appserviceplan\")\n            .location(exampleResourceGroup.location())\n            .resourceGroupName(exampleResourceGroup.name())\n            .sku(PlanSkuArgs.builder()\n                .tier(\"Premium\")\n                .size(\"P1\")\n                .build())\n            .build());\n\n        var exampleAppService = new AppService(\"exampleAppService\", AppServiceArgs.builder()\n            .name(\"mywebapp\")\n            .location(exampleResourceGroup.location())\n            .resourceGroupName(exampleResourceGroup.name())\n            .appServicePlanId(examplePlan.id())\n            .build());\n\n        final var example = DnsFunctions.getZone(GetZoneArgs.builder()\n            .name(\"example.com\")\n            .resourceGroupName(exampleResourceGroup.name())\n            .build());\n\n        var exampleCNameRecord = new CNameRecord(\"exampleCNameRecord\", CNameRecordArgs.builder()\n            .name(\"www\")\n            .zoneName(example.applyValue(_example -\u003e _example.name()))\n            .resourceGroupName(example.applyValue(_example -\u003e _example.resourceGroupName()))\n            .ttl(300)\n            .record(exampleAppService.defaultSiteHostname())\n            .build());\n\n        var exampleTxtRecord = new TxtRecord(\"exampleTxtRecord\", TxtRecordArgs.builder()\n            .name(exampleCNameRecord.name().applyValue(_name -\u003e String.format(\"asuid.%s\", _name)))\n            .zoneName(example.applyValue(_example -\u003e _example.name()))\n            .resourceGroupName(example.applyValue(_example -\u003e _example.resourceGroupName()))\n            .ttl(300)\n            .records(TxtRecordRecordArgs.builder()\n                .value(exampleAppService.customDomainVerificationId())\n                .build())\n            .build());\n\n        var exampleCustomHostnameBinding = new CustomHostnameBinding(\"exampleCustomHostnameBinding\", CustomHostnameBindingArgs.builder()\n            .hostname(StdFunctions.trim(TrimArgs.builder()\n                .input(exampleCNameRecord.fqdn())\n                .cutset(\".\")\n                .build()).applyValue(_invoke -\u003e _invoke.result()))\n            .appServiceName(exampleAppService.name())\n            .resourceGroupName(exampleResourceGroup.name())\n            .build(), CustomResourceOptions.builder()\n                .dependsOn(exampleTxtRecord)\n                .build());\n\n        var exampleManagedCertificate = new ManagedCertificate(\"exampleManagedCertificate\", ManagedCertificateArgs.builder()\n            .customHostnameBindingId(exampleCustomHostnameBinding.id())\n            .build());\n\n        var exampleCertificateBinding = new CertificateBinding(\"exampleCertificateBinding\", CertificateBindingArgs.builder()\n            .hostnameBindingId(exampleCustomHostnameBinding.id())\n            .certificateId(exampleManagedCertificate.id())\n            .sslState(\"SniEnabled\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleResourceGroup:\n    type: azure:core:ResourceGroup\n    name: example\n    properties:\n      name: webapp\n      location: West Europe\n  examplePlan:\n    type: azure:appservice:Plan\n    name: example\n    properties:\n      name: appserviceplan\n      location: ${exampleResourceGroup.location}\n      resourceGroupName: ${exampleResourceGroup.name}\n      sku:\n        tier: Premium\n        size: P1\n  exampleAppService:\n    type: azure:appservice:AppService\n    name: example\n    properties:\n      name: mywebapp\n      location: ${exampleResourceGroup.location}\n      resourceGroupName: ${exampleResourceGroup.name}\n      appServicePlanId: ${examplePlan.id}\n  exampleCNameRecord:\n    type: azure:dns:CNameRecord\n    name: example\n    properties:\n      name: www\n      zoneName: ${example.name}\n      resourceGroupName: ${example.resourceGroupName}\n      ttl: 300\n      record: ${exampleAppService.defaultSiteHostname}\n  exampleTxtRecord:\n    type: azure:dns:TxtRecord\n    name: example\n    properties:\n      name: asuid.${exampleCNameRecord.name}\n      zoneName: ${example.name}\n      resourceGroupName: ${example.resourceGroupName}\n      ttl: 300\n      records:\n        - value: ${exampleAppService.customDomainVerificationId}\n  exampleCustomHostnameBinding:\n    type: azure:appservice:CustomHostnameBinding\n    name: example\n    properties:\n      hostname:\n        fn::invoke:\n          function: std:trim\n          arguments:\n            input: ${exampleCNameRecord.fqdn}\n            cutset: .\n          return: result\n      appServiceName: ${exampleAppService.name}\n      resourceGroupName: ${exampleResourceGroup.name}\n    options:\n      dependsOn:\n        - ${exampleTxtRecord}\n  exampleManagedCertificate:\n    type: azure:appservice:ManagedCertificate\n    name: example\n    properties:\n      customHostnameBindingId: ${exampleCustomHostnameBinding.id}\n  exampleCertificateBinding:\n    type: azure:appservice:CertificateBinding\n    name: example\n    properties:\n      hostnameBindingId: ${exampleCustomHostnameBinding.id}\n      certificateId: ${exampleManagedCertificate.id}\n      sslState: SniEnabled\nvariables:\n  example:\n    fn::invoke:\n      function: azure:dns:getZone\n      arguments:\n        name: example.com\n        resourceGroupName: ${exampleResourceGroup.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nApp Service Certificate Bindings can be imported using the \u003cspan pulumi-lang-nodejs=\"`hostnameBindingId`\" pulumi-lang-dotnet=\"`HostnameBindingId`\" pulumi-lang-go=\"`hostnameBindingId`\" pulumi-lang-python=\"`hostname_binding_id`\" pulumi-lang-yaml=\"`hostnameBindingId`\" pulumi-lang-java=\"`hostnameBindingId`\"\u003e`hostname_binding_id`\u003c/span\u003e and the \u003cspan pulumi-lang-nodejs=\"`appServiceCertificateId`\" pulumi-lang-dotnet=\"`AppServiceCertificateId`\" pulumi-lang-go=\"`appServiceCertificateId`\" pulumi-lang-python=\"`app_service_certificate_id`\" pulumi-lang-yaml=\"`appServiceCertificateId`\" pulumi-lang-java=\"`appServiceCertificateId`\"\u003e`app_service_certificate_id`\u003c/span\u003e , e.g.\n\n```sh\n$ pulumi import azure:appservice/certificateBinding:CertificateBinding example \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Web/sites/instance1/hostNameBindings/mywebsite.com|/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Web/certificates/mywebsite.com\"\n```\n\n","properties":{"appServiceName":{"type":"string","description":"The name of the App Service to which the certificate was bound.\n"},"certificateId":{"type":"string","description":"The ID of the certificate to bind to the custom domain. Changing this forces a new App Service Certificate Binding to be created.\n"},"hostname":{"type":"string","description":"The hostname of the bound certificate.\n"},"hostnameBindingId":{"type":"string","description":"The ID of the Custom Domain/Hostname Binding. Changing this forces a new App Service Certificate Binding to be created.\n"},"sslState":{"type":"string","description":"The type of certificate binding. Allowed values are `IpBasedEnabled` or `SniEnabled`. Changing this forces a new App Service Certificate Binding to be created.\n"},"thumbprint":{"type":"string","description":"The certificate thumbprint.\n"}},"required":["appServiceName","certificateId","hostname","hostnameBindingId","sslState","thumbprint"],"inputProperties":{"certificateId":{"type":"string","description":"The ID of the certificate to bind to the custom domain. Changing this forces a new App Service Certificate Binding to be created.\n","willReplaceOnChanges":true},"hostnameBindingId":{"type":"string","description":"The ID of the Custom Domain/Hostname Binding. Changing this forces a new App Service Certificate Binding to be created.\n","willReplaceOnChanges":true},"sslState":{"type":"string","description":"The type of certificate binding. Allowed values are `IpBasedEnabled` or `SniEnabled`. Changing this forces a new App Service Certificate Binding to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["certificateId","hostnameBindingId","sslState"],"stateInputs":{"description":"Input properties used for looking up and filtering CertificateBinding resources.\n","properties":{"appServiceName":{"type":"string","description":"The name of the App Service to which the certificate was bound.\n"},"certificateId":{"type":"string","description":"The ID of the certificate to bind to the custom domain. Changing this forces a new App Service Certificate Binding to be created.\n","willReplaceOnChanges":true},"hostname":{"type":"string","description":"The hostname of the bound certificate.\n"},"hostnameBindingId":{"type":"string","description":"The ID of the Custom Domain/Hostname Binding. Changing this forces a new App Service Certificate Binding to be created.\n","willReplaceOnChanges":true},"sslState":{"type":"string","description":"The type of certificate binding. Allowed values are `IpBasedEnabled` or `SniEnabled`. Changing this forces a new App Service Certificate Binding to be created.\n","willReplaceOnChanges":true},"thumbprint":{"type":"string","description":"The certificate thumbprint.\n"}},"type":"object"}},"azure:appservice/certificateOrder:CertificateOrder":{"description":"Manages an App Service Certificate Order.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleCertificateOrder = new azure.appservice.CertificateOrder(\"example\", {\n    name: \"example-cert-order\",\n    resourceGroupName: example.name,\n    location: \"global\",\n    distinguishedName: \"CN=example.com\",\n    productType: \"Standard\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_certificate_order = azure.appservice.CertificateOrder(\"example\",\n    name=\"example-cert-order\",\n    resource_group_name=example.name,\n    location=\"global\",\n    distinguished_name=\"CN=example.com\",\n    product_type=\"Standard\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleCertificateOrder = new Azure.AppService.CertificateOrder(\"example\", new()\n    {\n        Name = \"example-cert-order\",\n        ResourceGroupName = example.Name,\n        Location = \"global\",\n        DistinguishedName = \"CN=example.com\",\n        ProductType = \"Standard\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/appservice\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = appservice.NewCertificateOrder(ctx, \"example\", \u0026appservice.CertificateOrderArgs{\n\t\t\tName:              pulumi.String(\"example-cert-order\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          pulumi.String(\"global\"),\n\t\t\tDistinguishedName: pulumi.String(\"CN=example.com\"),\n\t\t\tProductType:       pulumi.String(\"Standard\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.appservice.CertificateOrder;\nimport com.pulumi.azure.appservice.CertificateOrderArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleCertificateOrder = new CertificateOrder(\"exampleCertificateOrder\", CertificateOrderArgs.builder()\n            .name(\"example-cert-order\")\n            .resourceGroupName(example.name())\n            .location(\"global\")\n            .distinguishedName(\"CN=example.com\")\n            .productType(\"Standard\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleCertificateOrder:\n    type: azure:appservice:CertificateOrder\n    name: example\n    properties:\n      name: example-cert-order\n      resourceGroupName: ${example.name}\n      location: global\n      distinguishedName: CN=example.com\n      productType: Standard\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nApp Service Certificate Orders can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:appservice/certificateOrder:CertificateOrder example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.CertificateRegistration/certificateOrders/certificateorder1\n```\n\n","properties":{"appServiceCertificateNotRenewableReasons":{"type":"array","items":{"type":"string"},"description":"Reasons why App Service Certificate is not renewable at the current moment.\n"},"autoRenew":{"type":"boolean","description":"true if the certificate should be automatically renewed when it expires; otherwise, false. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"certificates":{"type":"array","items":{"$ref":"#/types/azure:appservice/CertificateOrderCertificate:CertificateOrderCertificate"},"description":"State of the Key Vault secret. A \u003cspan pulumi-lang-nodejs=\"`certificates`\" pulumi-lang-dotnet=\"`Certificates`\" pulumi-lang-go=\"`certificates`\" pulumi-lang-python=\"`certificates`\" pulumi-lang-yaml=\"`certificates`\" pulumi-lang-java=\"`certificates`\"\u003e`certificates`\u003c/span\u003e block as defined below.\n"},"csr":{"type":"string","description":"Last CSR that was created for this order.\n"},"distinguishedName":{"type":"string","description":"The Distinguished Name for the App Service Certificate Order.\n\n\u003e **Note:** Either \u003cspan pulumi-lang-nodejs=\"`csr`\" pulumi-lang-dotnet=\"`Csr`\" pulumi-lang-go=\"`csr`\" pulumi-lang-python=\"`csr`\" pulumi-lang-yaml=\"`csr`\" pulumi-lang-java=\"`csr`\"\u003e`csr`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`distinguishedName`\" pulumi-lang-dotnet=\"`DistinguishedName`\" pulumi-lang-go=\"`distinguishedName`\" pulumi-lang-python=\"`distinguished_name`\" pulumi-lang-yaml=\"`distinguishedName`\" pulumi-lang-java=\"`distinguishedName`\"\u003e`distinguished_name`\u003c/span\u003e must be set - but not both.\n"},"domainVerificationToken":{"type":"string","description":"Domain verification token.\n"},"expirationTime":{"type":"string","description":"Certificate expiration time.\n"},"intermediateThumbprint":{"type":"string","description":"Certificate thumbprint intermediate certificate.\n"},"isPrivateKeyExternal":{"type":"boolean","description":"Whether the private key is external or not.\n"},"keySize":{"type":"integer","description":"Certificate key size. Defaults to \u003cspan pulumi-lang-nodejs=\"`2048`\" pulumi-lang-dotnet=\"`2048`\" pulumi-lang-go=\"`2048`\" pulumi-lang-python=\"`2048`\" pulumi-lang-yaml=\"`2048`\" pulumi-lang-java=\"`2048`\"\u003e`2048`\u003c/span\u003e.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created. Currently the only valid value is \u003cspan pulumi-lang-nodejs=\"`global`\" pulumi-lang-dotnet=\"`Global`\" pulumi-lang-go=\"`global`\" pulumi-lang-python=\"`global`\" pulumi-lang-yaml=\"`global`\" pulumi-lang-java=\"`global`\"\u003e`global`\u003c/span\u003e.\n"},"name":{"type":"string","description":"Specifies the name of the certificate. Changing this forces a new resource to be created.\n"},"productType":{"type":"string","description":"Certificate product type, such as `Standard` or `WildCard`. Defaults to `Standard`.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the certificate. Changing this forces a new resource to be created.\n"},"rootThumbprint":{"type":"string","description":"Certificate thumbprint for root certificate.\n"},"signedCertificateThumbprint":{"type":"string","description":"Certificate thumbprint for signed certificate.\n"},"status":{"type":"string","description":"Current order status.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"(Optional) A mapping of tags to assign to the resource.\n"},"validityInYears":{"type":"integer","description":"Duration in years (must be between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e). Defaults to \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e.\n"}},"required":["appServiceCertificateNotRenewableReasons","certificates","csr","distinguishedName","domainVerificationToken","expirationTime","intermediateThumbprint","isPrivateKeyExternal","location","name","resourceGroupName","rootThumbprint","signedCertificateThumbprint","status"],"inputProperties":{"autoRenew":{"type":"boolean","description":"true if the certificate should be automatically renewed when it expires; otherwise, false. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"csr":{"type":"string","description":"Last CSR that was created for this order.\n"},"distinguishedName":{"type":"string","description":"The Distinguished Name for the App Service Certificate Order.\n\n\u003e **Note:** Either \u003cspan pulumi-lang-nodejs=\"`csr`\" pulumi-lang-dotnet=\"`Csr`\" pulumi-lang-go=\"`csr`\" pulumi-lang-python=\"`csr`\" pulumi-lang-yaml=\"`csr`\" pulumi-lang-java=\"`csr`\"\u003e`csr`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`distinguishedName`\" pulumi-lang-dotnet=\"`DistinguishedName`\" pulumi-lang-go=\"`distinguishedName`\" pulumi-lang-python=\"`distinguished_name`\" pulumi-lang-yaml=\"`distinguishedName`\" pulumi-lang-java=\"`distinguishedName`\"\u003e`distinguished_name`\u003c/span\u003e must be set - but not both.\n"},"keySize":{"type":"integer","description":"Certificate key size. Defaults to \u003cspan pulumi-lang-nodejs=\"`2048`\" pulumi-lang-dotnet=\"`2048`\" pulumi-lang-go=\"`2048`\" pulumi-lang-python=\"`2048`\" pulumi-lang-yaml=\"`2048`\" pulumi-lang-java=\"`2048`\"\u003e`2048`\u003c/span\u003e.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created. Currently the only valid value is \u003cspan pulumi-lang-nodejs=\"`global`\" pulumi-lang-dotnet=\"`Global`\" pulumi-lang-go=\"`global`\" pulumi-lang-python=\"`global`\" pulumi-lang-yaml=\"`global`\" pulumi-lang-java=\"`global`\"\u003e`global`\u003c/span\u003e.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the certificate. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"productType":{"type":"string","description":"Certificate product type, such as `Standard` or `WildCard`. Defaults to `Standard`.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the certificate. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"(Optional) A mapping of tags to assign to the resource.\n"},"validityInYears":{"type":"integer","description":"Duration in years (must be between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e). Defaults to \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e.\n"}},"requiredInputs":["resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering CertificateOrder resources.\n","properties":{"appServiceCertificateNotRenewableReasons":{"type":"array","items":{"type":"string"},"description":"Reasons why App Service Certificate is not renewable at the current moment.\n"},"autoRenew":{"type":"boolean","description":"true if the certificate should be automatically renewed when it expires; otherwise, false. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"certificates":{"type":"array","items":{"$ref":"#/types/azure:appservice/CertificateOrderCertificate:CertificateOrderCertificate"},"description":"State of the Key Vault secret. A \u003cspan pulumi-lang-nodejs=\"`certificates`\" pulumi-lang-dotnet=\"`Certificates`\" pulumi-lang-go=\"`certificates`\" pulumi-lang-python=\"`certificates`\" pulumi-lang-yaml=\"`certificates`\" pulumi-lang-java=\"`certificates`\"\u003e`certificates`\u003c/span\u003e block as defined below.\n"},"csr":{"type":"string","description":"Last CSR that was created for this order.\n"},"distinguishedName":{"type":"string","description":"The Distinguished Name for the App Service Certificate Order.\n\n\u003e **Note:** Either \u003cspan pulumi-lang-nodejs=\"`csr`\" pulumi-lang-dotnet=\"`Csr`\" pulumi-lang-go=\"`csr`\" pulumi-lang-python=\"`csr`\" pulumi-lang-yaml=\"`csr`\" pulumi-lang-java=\"`csr`\"\u003e`csr`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`distinguishedName`\" pulumi-lang-dotnet=\"`DistinguishedName`\" pulumi-lang-go=\"`distinguishedName`\" pulumi-lang-python=\"`distinguished_name`\" pulumi-lang-yaml=\"`distinguishedName`\" pulumi-lang-java=\"`distinguishedName`\"\u003e`distinguished_name`\u003c/span\u003e must be set - but not both.\n"},"domainVerificationToken":{"type":"string","description":"Domain verification token.\n"},"expirationTime":{"type":"string","description":"Certificate expiration time.\n"},"intermediateThumbprint":{"type":"string","description":"Certificate thumbprint intermediate certificate.\n"},"isPrivateKeyExternal":{"type":"boolean","description":"Whether the private key is external or not.\n"},"keySize":{"type":"integer","description":"Certificate key size. Defaults to \u003cspan pulumi-lang-nodejs=\"`2048`\" pulumi-lang-dotnet=\"`2048`\" pulumi-lang-go=\"`2048`\" pulumi-lang-python=\"`2048`\" pulumi-lang-yaml=\"`2048`\" pulumi-lang-java=\"`2048`\"\u003e`2048`\u003c/span\u003e.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created. Currently the only valid value is \u003cspan pulumi-lang-nodejs=\"`global`\" pulumi-lang-dotnet=\"`Global`\" pulumi-lang-go=\"`global`\" pulumi-lang-python=\"`global`\" pulumi-lang-yaml=\"`global`\" pulumi-lang-java=\"`global`\"\u003e`global`\u003c/span\u003e.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the certificate. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"productType":{"type":"string","description":"Certificate product type, such as `Standard` or `WildCard`. Defaults to `Standard`.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the certificate. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"rootThumbprint":{"type":"string","description":"Certificate thumbprint for root certificate.\n"},"signedCertificateThumbprint":{"type":"string","description":"Certificate thumbprint for signed certificate.\n"},"status":{"type":"string","description":"Current order status.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"(Optional) A mapping of tags to assign to the resource.\n"},"validityInYears":{"type":"integer","description":"Duration in years (must be between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e). Defaults to \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e.\n"}},"type":"object"}},"azure:appservice/connection:Connection":{"description":"Manages a service connector for app service.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleAccount = new azure.cosmosdb.Account(\"example\", {\n    name: \"example-cosmosdb-account\",\n    location: example.location,\n    resourceGroupName: example.name,\n    offerType: \"Standard\",\n    kind: \"GlobalDocumentDB\",\n    consistencyPolicy: {\n        consistencyLevel: \"BoundedStaleness\",\n        maxIntervalInSeconds: 10,\n        maxStalenessPrefix: 200,\n    },\n    geoLocations: [{\n        location: example.location,\n        failoverPriority: 0,\n    }],\n});\nconst exampleSqlDatabase = new azure.cosmosdb.SqlDatabase(\"example\", {\n    name: \"cosmos-sql-db\",\n    resourceGroupName: exampleAccount.resourceGroupName,\n    accountName: exampleAccount.name,\n    throughput: 400,\n});\nconst exampleSqlContainer = new azure.cosmosdb.SqlContainer(\"example\", {\n    name: \"example-container\",\n    resourceGroupName: exampleAccount.resourceGroupName,\n    accountName: exampleAccount.name,\n    databaseName: exampleSqlDatabase.name,\n    partitionKeyPath: \"/definition\",\n});\nconst exampleServicePlan = new azure.appservice.ServicePlan(\"example\", {\n    location: example.location,\n    name: \"example-serviceplan\",\n    resourceGroupName: example.name,\n    skuName: \"P1v2\",\n    osType: \"Linux\",\n});\nconst exampleLinuxWebApp = new azure.appservice.LinuxWebApp(\"example\", {\n    location: example.location,\n    name: \"example-linuxwebapp\",\n    resourceGroupName: example.name,\n    servicePlanId: exampleServicePlan.id,\n    siteConfig: {},\n});\nconst exampleConnection = new azure.appservice.Connection(\"example\", {\n    name: \"example-serviceconnector\",\n    appServiceId: exampleLinuxWebApp.id,\n    targetResourceId: exampleSqlDatabase.id,\n    authentication: {\n        type: \"systemAssignedIdentity\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_account = azure.cosmosdb.Account(\"example\",\n    name=\"example-cosmosdb-account\",\n    location=example.location,\n    resource_group_name=example.name,\n    offer_type=\"Standard\",\n    kind=\"GlobalDocumentDB\",\n    consistency_policy={\n        \"consistency_level\": \"BoundedStaleness\",\n        \"max_interval_in_seconds\": 10,\n        \"max_staleness_prefix\": 200,\n    },\n    geo_locations=[{\n        \"location\": example.location,\n        \"failover_priority\": 0,\n    }])\nexample_sql_database = azure.cosmosdb.SqlDatabase(\"example\",\n    name=\"cosmos-sql-db\",\n    resource_group_name=example_account.resource_group_name,\n    account_name=example_account.name,\n    throughput=400)\nexample_sql_container = azure.cosmosdb.SqlContainer(\"example\",\n    name=\"example-container\",\n    resource_group_name=example_account.resource_group_name,\n    account_name=example_account.name,\n    database_name=example_sql_database.name,\n    partition_key_path=\"/definition\")\nexample_service_plan = azure.appservice.ServicePlan(\"example\",\n    location=example.location,\n    name=\"example-serviceplan\",\n    resource_group_name=example.name,\n    sku_name=\"P1v2\",\n    os_type=\"Linux\")\nexample_linux_web_app = azure.appservice.LinuxWebApp(\"example\",\n    location=example.location,\n    name=\"example-linuxwebapp\",\n    resource_group_name=example.name,\n    service_plan_id=example_service_plan.id,\n    site_config={})\nexample_connection = azure.appservice.Connection(\"example\",\n    name=\"example-serviceconnector\",\n    app_service_id=example_linux_web_app.id,\n    target_resource_id=example_sql_database.id,\n    authentication={\n        \"type\": \"systemAssignedIdentity\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleAccount = new Azure.CosmosDB.Account(\"example\", new()\n    {\n        Name = \"example-cosmosdb-account\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        OfferType = \"Standard\",\n        Kind = \"GlobalDocumentDB\",\n        ConsistencyPolicy = new Azure.CosmosDB.Inputs.AccountConsistencyPolicyArgs\n        {\n            ConsistencyLevel = \"BoundedStaleness\",\n            MaxIntervalInSeconds = 10,\n            MaxStalenessPrefix = 200,\n        },\n        GeoLocations = new[]\n        {\n            new Azure.CosmosDB.Inputs.AccountGeoLocationArgs\n            {\n                Location = example.Location,\n                FailoverPriority = 0,\n            },\n        },\n    });\n\n    var exampleSqlDatabase = new Azure.CosmosDB.SqlDatabase(\"example\", new()\n    {\n        Name = \"cosmos-sql-db\",\n        ResourceGroupName = exampleAccount.ResourceGroupName,\n        AccountName = exampleAccount.Name,\n        Throughput = 400,\n    });\n\n    var exampleSqlContainer = new Azure.CosmosDB.SqlContainer(\"example\", new()\n    {\n        Name = \"example-container\",\n        ResourceGroupName = exampleAccount.ResourceGroupName,\n        AccountName = exampleAccount.Name,\n        DatabaseName = exampleSqlDatabase.Name,\n        PartitionKeyPath = \"/definition\",\n    });\n\n    var exampleServicePlan = new Azure.AppService.ServicePlan(\"example\", new()\n    {\n        Location = example.Location,\n        Name = \"example-serviceplan\",\n        ResourceGroupName = example.Name,\n        SkuName = \"P1v2\",\n        OsType = \"Linux\",\n    });\n\n    var exampleLinuxWebApp = new Azure.AppService.LinuxWebApp(\"example\", new()\n    {\n        Location = example.Location,\n        Name = \"example-linuxwebapp\",\n        ResourceGroupName = example.Name,\n        ServicePlanId = exampleServicePlan.Id,\n        SiteConfig = null,\n    });\n\n    var exampleConnection = new Azure.AppService.Connection(\"example\", new()\n    {\n        Name = \"example-serviceconnector\",\n        AppServiceId = exampleLinuxWebApp.Id,\n        TargetResourceId = exampleSqlDatabase.Id,\n        Authentication = new Azure.AppService.Inputs.ConnectionAuthenticationArgs\n        {\n            Type = \"systemAssignedIdentity\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/appservice\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/cosmosdb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := cosmosdb.NewAccount(ctx, \"example\", \u0026cosmosdb.AccountArgs{\n\t\t\tName:              pulumi.String(\"example-cosmosdb-account\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tOfferType:         pulumi.String(\"Standard\"),\n\t\t\tKind:              pulumi.String(\"GlobalDocumentDB\"),\n\t\t\tConsistencyPolicy: \u0026cosmosdb.AccountConsistencyPolicyArgs{\n\t\t\t\tConsistencyLevel:     pulumi.String(\"BoundedStaleness\"),\n\t\t\t\tMaxIntervalInSeconds: pulumi.Int(10),\n\t\t\t\tMaxStalenessPrefix:   pulumi.Int(200),\n\t\t\t},\n\t\t\tGeoLocations: cosmosdb.AccountGeoLocationArray{\n\t\t\t\t\u0026cosmosdb.AccountGeoLocationArgs{\n\t\t\t\t\tLocation:         example.Location,\n\t\t\t\t\tFailoverPriority: pulumi.Int(0),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSqlDatabase, err := cosmosdb.NewSqlDatabase(ctx, \"example\", \u0026cosmosdb.SqlDatabaseArgs{\n\t\t\tName:              pulumi.String(\"cosmos-sql-db\"),\n\t\t\tResourceGroupName: exampleAccount.ResourceGroupName,\n\t\t\tAccountName:       exampleAccount.Name,\n\t\t\tThroughput:        pulumi.Int(400),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cosmosdb.NewSqlContainer(ctx, \"example\", \u0026cosmosdb.SqlContainerArgs{\n\t\t\tName:              pulumi.String(\"example-container\"),\n\t\t\tResourceGroupName: exampleAccount.ResourceGroupName,\n\t\t\tAccountName:       exampleAccount.Name,\n\t\t\tDatabaseName:      exampleSqlDatabase.Name,\n\t\t\tPartitionKeyPath:  \"/definition\",\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleServicePlan, err := appservice.NewServicePlan(ctx, \"example\", \u0026appservice.ServicePlanArgs{\n\t\t\tLocation:          example.Location,\n\t\t\tName:              pulumi.String(\"example-serviceplan\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSkuName:           pulumi.String(\"P1v2\"),\n\t\t\tOsType:            pulumi.String(\"Linux\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleLinuxWebApp, err := appservice.NewLinuxWebApp(ctx, \"example\", \u0026appservice.LinuxWebAppArgs{\n\t\t\tLocation:          example.Location,\n\t\t\tName:              pulumi.String(\"example-linuxwebapp\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tServicePlanId:     exampleServicePlan.ID(),\n\t\t\tSiteConfig:        \u0026appservice.LinuxWebAppSiteConfigArgs{},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = appservice.NewConnection(ctx, \"example\", \u0026appservice.ConnectionArgs{\n\t\t\tName:             pulumi.String(\"example-serviceconnector\"),\n\t\t\tAppServiceId:     exampleLinuxWebApp.ID(),\n\t\t\tTargetResourceId: exampleSqlDatabase.ID(),\n\t\t\tAuthentication: \u0026appservice.ConnectionAuthenticationArgs{\n\t\t\t\tType: pulumi.String(\"systemAssignedIdentity\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.cosmosdb.Account;\nimport com.pulumi.azure.cosmosdb.AccountArgs;\nimport com.pulumi.azure.cosmosdb.inputs.AccountConsistencyPolicyArgs;\nimport com.pulumi.azure.cosmosdb.inputs.AccountGeoLocationArgs;\nimport com.pulumi.azure.cosmosdb.SqlDatabase;\nimport com.pulumi.azure.cosmosdb.SqlDatabaseArgs;\nimport com.pulumi.azure.cosmosdb.SqlContainer;\nimport com.pulumi.azure.cosmosdb.SqlContainerArgs;\nimport com.pulumi.azure.appservice.ServicePlan;\nimport com.pulumi.azure.appservice.ServicePlanArgs;\nimport com.pulumi.azure.appservice.LinuxWebApp;\nimport com.pulumi.azure.appservice.LinuxWebAppArgs;\nimport com.pulumi.azure.appservice.inputs.LinuxWebAppSiteConfigArgs;\nimport com.pulumi.azure.appservice.Connection;\nimport com.pulumi.azure.appservice.ConnectionArgs;\nimport com.pulumi.azure.appservice.inputs.ConnectionAuthenticationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"example-cosmosdb-account\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .offerType(\"Standard\")\n            .kind(\"GlobalDocumentDB\")\n            .consistencyPolicy(AccountConsistencyPolicyArgs.builder()\n                .consistencyLevel(\"BoundedStaleness\")\n                .maxIntervalInSeconds(10)\n                .maxStalenessPrefix(200)\n                .build())\n            .geoLocations(AccountGeoLocationArgs.builder()\n                .location(example.location())\n                .failoverPriority(0)\n                .build())\n            .build());\n\n        var exampleSqlDatabase = new SqlDatabase(\"exampleSqlDatabase\", SqlDatabaseArgs.builder()\n            .name(\"cosmos-sql-db\")\n            .resourceGroupName(exampleAccount.resourceGroupName())\n            .accountName(exampleAccount.name())\n            .throughput(400)\n            .build());\n\n        var exampleSqlContainer = new SqlContainer(\"exampleSqlContainer\", SqlContainerArgs.builder()\n            .name(\"example-container\")\n            .resourceGroupName(exampleAccount.resourceGroupName())\n            .accountName(exampleAccount.name())\n            .databaseName(exampleSqlDatabase.name())\n            .partitionKeyPath(\"/definition\")\n            .build());\n\n        var exampleServicePlan = new ServicePlan(\"exampleServicePlan\", ServicePlanArgs.builder()\n            .location(example.location())\n            .name(\"example-serviceplan\")\n            .resourceGroupName(example.name())\n            .skuName(\"P1v2\")\n            .osType(\"Linux\")\n            .build());\n\n        var exampleLinuxWebApp = new LinuxWebApp(\"exampleLinuxWebApp\", LinuxWebAppArgs.builder()\n            .location(example.location())\n            .name(\"example-linuxwebapp\")\n            .resourceGroupName(example.name())\n            .servicePlanId(exampleServicePlan.id())\n            .siteConfig(LinuxWebAppSiteConfigArgs.builder()\n                .build())\n            .build());\n\n        var exampleConnection = new Connection(\"exampleConnection\", ConnectionArgs.builder()\n            .name(\"example-serviceconnector\")\n            .appServiceId(exampleLinuxWebApp.id())\n            .targetResourceId(exampleSqlDatabase.id())\n            .authentication(ConnectionAuthenticationArgs.builder()\n                .type(\"systemAssignedIdentity\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleAccount:\n    type: azure:cosmosdb:Account\n    name: example\n    properties:\n      name: example-cosmosdb-account\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      offerType: Standard\n      kind: GlobalDocumentDB\n      consistencyPolicy:\n        consistencyLevel: BoundedStaleness\n        maxIntervalInSeconds: 10\n        maxStalenessPrefix: 200\n      geoLocations:\n        - location: ${example.location}\n          failoverPriority: 0\n  exampleSqlDatabase:\n    type: azure:cosmosdb:SqlDatabase\n    name: example\n    properties:\n      name: cosmos-sql-db\n      resourceGroupName: ${exampleAccount.resourceGroupName}\n      accountName: ${exampleAccount.name}\n      throughput: 400\n  exampleSqlContainer:\n    type: azure:cosmosdb:SqlContainer\n    name: example\n    properties:\n      name: example-container\n      resourceGroupName: ${exampleAccount.resourceGroupName}\n      accountName: ${exampleAccount.name}\n      databaseName: ${exampleSqlDatabase.name}\n      partitionKeyPath: /definition\n  exampleServicePlan:\n    type: azure:appservice:ServicePlan\n    name: example\n    properties:\n      location: ${example.location}\n      name: example-serviceplan\n      resourceGroupName: ${example.name}\n      skuName: P1v2\n      osType: Linux\n  exampleLinuxWebApp:\n    type: azure:appservice:LinuxWebApp\n    name: example\n    properties:\n      location: ${example.location}\n      name: example-linuxwebapp\n      resourceGroupName: ${example.name}\n      servicePlanId: ${exampleServicePlan.id}\n      siteConfig: {}\n  exampleConnection:\n    type: azure:appservice:Connection\n    name: example\n    properties:\n      name: example-serviceconnector\n      appServiceId: ${exampleLinuxWebApp.id}\n      targetResourceId: ${exampleSqlDatabase.id}\n      authentication:\n        type: systemAssignedIdentity\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.ServiceLinker` - 2024-04-01, 2022-05-01\n\n## Import\n\nService Connector for app service can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:appservice/connection:Connection example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Web/sites/webapp/providers/Microsoft.ServiceLinker/linkers/serviceconnector1\n```\n\n","properties":{"appServiceId":{"type":"string","description":"The ID of the data source web app. Changing this forces a new resource to be created.\n"},"authentication":{"$ref":"#/types/azure:appservice/ConnectionAuthentication:ConnectionAuthentication","description":"The authentication info. An \u003cspan pulumi-lang-nodejs=\"`authentication`\" pulumi-lang-dotnet=\"`Authentication`\" pulumi-lang-go=\"`authentication`\" pulumi-lang-python=\"`authentication`\" pulumi-lang-yaml=\"`authentication`\" pulumi-lang-java=\"`authentication`\"\u003e`authentication`\u003c/span\u003e block as defined below.\n\n\u003e **Note:** If a Managed Identity is used, this will need to be configured on the App Service.\n"},"clientType":{"type":"string"},"name":{"type":"string","description":"The name of the service connection. Changing this forces a new resource to be created.\n"},"secretStore":{"$ref":"#/types/azure:appservice/ConnectionSecretStore:ConnectionSecretStore"},"targetResourceId":{"type":"string","description":"The ID of the target resource. Changing this forces a new resource to be created. Possible target resources are `Postgres`, `PostgresFlexible`, `Mysql`, `Sql`, `Redis`, `RedisEnterprise`, `CosmosCassandra`, `CosmosGremlin`, `CosmosMongo`, `CosmosSql`, `CosmosTable`, `StorageBlob`, `StorageQueue`, `StorageFile`, `StorageTable`, `AppConfig`, `EventHub`, `ServiceBus`, `SignalR`, `WebPubSub`, `ConfluentKafka`. The integration guide can be found [here](https://learn.microsoft.com/en-us/azure/service-connector/how-to-integrate-postgres).\n"},"vnetSolution":{"type":"string"}},"required":["appServiceId","authentication","name","targetResourceId"],"inputProperties":{"appServiceId":{"type":"string","description":"The ID of the data source web app. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"authentication":{"$ref":"#/types/azure:appservice/ConnectionAuthentication:ConnectionAuthentication","description":"The authentication info. An \u003cspan pulumi-lang-nodejs=\"`authentication`\" pulumi-lang-dotnet=\"`Authentication`\" pulumi-lang-go=\"`authentication`\" pulumi-lang-python=\"`authentication`\" pulumi-lang-yaml=\"`authentication`\" pulumi-lang-java=\"`authentication`\"\u003e`authentication`\u003c/span\u003e block as defined below.\n\n\u003e **Note:** If a Managed Identity is used, this will need to be configured on the App Service.\n"},"clientType":{"type":"string"},"name":{"type":"string","description":"The name of the service connection. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"secretStore":{"$ref":"#/types/azure:appservice/ConnectionSecretStore:ConnectionSecretStore"},"targetResourceId":{"type":"string","description":"The ID of the target resource. Changing this forces a new resource to be created. Possible target resources are `Postgres`, `PostgresFlexible`, `Mysql`, `Sql`, `Redis`, `RedisEnterprise`, `CosmosCassandra`, `CosmosGremlin`, `CosmosMongo`, `CosmosSql`, `CosmosTable`, `StorageBlob`, `StorageQueue`, `StorageFile`, `StorageTable`, `AppConfig`, `EventHub`, `ServiceBus`, `SignalR`, `WebPubSub`, `ConfluentKafka`. The integration guide can be found [here](https://learn.microsoft.com/en-us/azure/service-connector/how-to-integrate-postgres).\n","willReplaceOnChanges":true},"vnetSolution":{"type":"string"}},"requiredInputs":["appServiceId","authentication","targetResourceId"],"stateInputs":{"description":"Input properties used for looking up and filtering Connection resources.\n","properties":{"appServiceId":{"type":"string","description":"The ID of the data source web app. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"authentication":{"$ref":"#/types/azure:appservice/ConnectionAuthentication:ConnectionAuthentication","description":"The authentication info. An \u003cspan pulumi-lang-nodejs=\"`authentication`\" pulumi-lang-dotnet=\"`Authentication`\" pulumi-lang-go=\"`authentication`\" pulumi-lang-python=\"`authentication`\" pulumi-lang-yaml=\"`authentication`\" pulumi-lang-java=\"`authentication`\"\u003e`authentication`\u003c/span\u003e block as defined below.\n\n\u003e **Note:** If a Managed Identity is used, this will need to be configured on the App Service.\n"},"clientType":{"type":"string"},"name":{"type":"string","description":"The name of the service connection. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"secretStore":{"$ref":"#/types/azure:appservice/ConnectionSecretStore:ConnectionSecretStore"},"targetResourceId":{"type":"string","description":"The ID of the target resource. Changing this forces a new resource to be created. Possible target resources are `Postgres`, `PostgresFlexible`, `Mysql`, `Sql`, `Redis`, `RedisEnterprise`, `CosmosCassandra`, `CosmosGremlin`, `CosmosMongo`, `CosmosSql`, `CosmosTable`, `StorageBlob`, `StorageQueue`, `StorageFile`, `StorageTable`, `AppConfig`, `EventHub`, `ServiceBus`, `SignalR`, `WebPubSub`, `ConfluentKafka`. The integration guide can be found [here](https://learn.microsoft.com/en-us/azure/service-connector/how-to-integrate-postgres).\n","willReplaceOnChanges":true},"vnetSolution":{"type":"string"}},"type":"object"}},"azure:appservice/customHostnameBinding:CustomHostnameBinding":{"description":"Manages a Hostname Binding within an App Service (or Function App).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\nimport * as random from \"@pulumi/random\";\n\nconst server = new random.index.Id(\"server\", {\n    keepers: {\n        aziId: 1,\n    },\n    byteLength: 8,\n});\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"some-resource-group\",\n    location: \"West Europe\",\n});\nconst examplePlan = new azure.appservice.Plan(\"example\", {\n    name: \"some-app-service-plan\",\n    location: example.location,\n    resourceGroupName: example.name,\n    sku: {\n        tier: \"Standard\",\n        size: \"S1\",\n    },\n});\nconst exampleAppService = new azure.appservice.AppService(\"example\", {\n    name: server.hex,\n    location: example.location,\n    resourceGroupName: example.name,\n    appServicePlanId: examplePlan.id,\n});\nconst exampleCustomHostnameBinding = new azure.appservice.CustomHostnameBinding(\"example\", {\n    hostname: \"www.mywebsite.com\",\n    appServiceName: exampleAppService.name,\n    resourceGroupName: example.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\nimport pulumi_random as random\n\nserver = random.index.Id(\"server\",\n    keepers={\n        aziId: 1,\n    },\n    byte_length=8)\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"some-resource-group\",\n    location=\"West Europe\")\nexample_plan = azure.appservice.Plan(\"example\",\n    name=\"some-app-service-plan\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku={\n        \"tier\": \"Standard\",\n        \"size\": \"S1\",\n    })\nexample_app_service = azure.appservice.AppService(\"example\",\n    name=server[\"hex\"],\n    location=example.location,\n    resource_group_name=example.name,\n    app_service_plan_id=example_plan.id)\nexample_custom_hostname_binding = azure.appservice.CustomHostnameBinding(\"example\",\n    hostname=\"www.mywebsite.com\",\n    app_service_name=example_app_service.name,\n    resource_group_name=example.name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var server = new Random.Index.Id(\"server\", new()\n    {\n        Keepers = \n        {\n            { \"aziId\", 1 },\n        },\n        ByteLength = 8,\n    });\n\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"some-resource-group\",\n        Location = \"West Europe\",\n    });\n\n    var examplePlan = new Azure.AppService.Plan(\"example\", new()\n    {\n        Name = \"some-app-service-plan\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Sku = new Azure.AppService.Inputs.PlanSkuArgs\n        {\n            Tier = \"Standard\",\n            Size = \"S1\",\n        },\n    });\n\n    var exampleAppService = new Azure.AppService.AppService(\"example\", new()\n    {\n        Name = server.Hex,\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        AppServicePlanId = examplePlan.Id,\n    });\n\n    var exampleCustomHostnameBinding = new Azure.AppService.CustomHostnameBinding(\"example\", new()\n    {\n        Hostname = \"www.mywebsite.com\",\n        AppServiceName = exampleAppService.Name,\n        ResourceGroupName = example.Name,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/appservice\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tserver, err := random.NewId(ctx, \"server\", \u0026random.IdArgs{\n\t\t\tKeepers: map[string]interface{}{\n\t\t\t\t\"aziId\": 1,\n\t\t\t},\n\t\t\tByteLength: 8,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"some-resource-group\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texamplePlan, err := appservice.NewPlan(ctx, \"example\", \u0026appservice.PlanArgs{\n\t\t\tName:              pulumi.String(\"some-app-service-plan\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSku: \u0026appservice.PlanSkuArgs{\n\t\t\t\tTier: pulumi.String(\"Standard\"),\n\t\t\t\tSize: pulumi.String(\"S1\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAppService, err := appservice.NewAppService(ctx, \"example\", \u0026appservice.AppServiceArgs{\n\t\t\tName:              server.Hex,\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tAppServicePlanId:  examplePlan.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = appservice.NewCustomHostnameBinding(ctx, \"example\", \u0026appservice.CustomHostnameBindingArgs{\n\t\t\tHostname:          pulumi.String(\"www.mywebsite.com\"),\n\t\t\tAppServiceName:    exampleAppService.Name,\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.random.Id;\nimport com.pulumi.random.IdArgs;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.appservice.Plan;\nimport com.pulumi.azure.appservice.PlanArgs;\nimport com.pulumi.azure.appservice.inputs.PlanSkuArgs;\nimport com.pulumi.azure.appservice.AppService;\nimport com.pulumi.azure.appservice.AppServiceArgs;\nimport com.pulumi.azure.appservice.CustomHostnameBinding;\nimport com.pulumi.azure.appservice.CustomHostnameBindingArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var server = new Id(\"server\", IdArgs.builder()\n            .keepers(Map.of(\"aziId\", 1))\n            .byteLength(8)\n            .build());\n\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"some-resource-group\")\n            .location(\"West Europe\")\n            .build());\n\n        var examplePlan = new Plan(\"examplePlan\", PlanArgs.builder()\n            .name(\"some-app-service-plan\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .sku(PlanSkuArgs.builder()\n                .tier(\"Standard\")\n                .size(\"S1\")\n                .build())\n            .build());\n\n        var exampleAppService = new AppService(\"exampleAppService\", AppServiceArgs.builder()\n            .name(server.hex())\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .appServicePlanId(examplePlan.id())\n            .build());\n\n        var exampleCustomHostnameBinding = new CustomHostnameBinding(\"exampleCustomHostnameBinding\", CustomHostnameBindingArgs.builder()\n            .hostname(\"www.mywebsite.com\")\n            .appServiceName(exampleAppService.name())\n            .resourceGroupName(example.name())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  server:\n    type: random:Id\n    properties:\n      keepers:\n        aziId: 1\n      byteLength: 8\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: some-resource-group\n      location: West Europe\n  examplePlan:\n    type: azure:appservice:Plan\n    name: example\n    properties:\n      name: some-app-service-plan\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      sku:\n        tier: Standard\n        size: S1\n  exampleAppService:\n    type: azure:appservice:AppService\n    name: example\n    properties:\n      name: ${server.hex}\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      appServicePlanId: ${examplePlan.id}\n  exampleCustomHostnameBinding:\n    type: azure:appservice:CustomHostnameBinding\n    name: example\n    properties:\n      hostname: www.mywebsite.com\n      appServiceName: ${exampleAppService.name}\n      resourceGroupName: ${example.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nApp Service Custom Hostname Bindings can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:appservice/customHostnameBinding:CustomHostnameBinding mywebsite /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Web/sites/instance1/hostNameBindings/mywebsite.com\n```\n\n","properties":{"appServiceName":{"type":"string","description":"The name of the App Service in which to add the Custom Hostname Binding. Changing this forces a new resource to be created.\n"},"hostname":{"type":"string","description":"Specifies the Custom Hostname to use for the App Service, example `www.example.com`. Changing this forces a new resource to be created.\n\n\u003e **Note:** A CNAME needs to be configured from this Hostname to the Azure Website - otherwise Azure will reject the Hostname Binding.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the App Service exists. Changing this forces a new resource to be created.\n"},"sslState":{"type":"string","description":"The SSL type. Possible values are `IpBasedEnabled` and `SniEnabled`. Changing this forces a new resource to be created.\n"},"thumbprint":{"type":"string","description":"The SSL certificate thumbprint. Changing this forces a new resource to be created.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`thumbprint`\" pulumi-lang-dotnet=\"`Thumbprint`\" pulumi-lang-go=\"`thumbprint`\" pulumi-lang-python=\"`thumbprint`\" pulumi-lang-yaml=\"`thumbprint`\" pulumi-lang-java=\"`thumbprint`\"\u003e`thumbprint`\u003c/span\u003e must be specified when \u003cspan pulumi-lang-nodejs=\"`sslState`\" pulumi-lang-dotnet=\"`SslState`\" pulumi-lang-go=\"`sslState`\" pulumi-lang-python=\"`ssl_state`\" pulumi-lang-yaml=\"`sslState`\" pulumi-lang-java=\"`sslState`\"\u003e`ssl_state`\u003c/span\u003e is set.\n"},"virtualIp":{"type":"string","description":"The virtual IP address assigned to the hostname if IP based SSL is enabled.\n"}},"required":["appServiceName","hostname","resourceGroupName","sslState","thumbprint","virtualIp"],"inputProperties":{"appServiceName":{"type":"string","description":"The name of the App Service in which to add the Custom Hostname Binding. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"hostname":{"type":"string","description":"Specifies the Custom Hostname to use for the App Service, example `www.example.com`. Changing this forces a new resource to be created.\n\n\u003e **Note:** A CNAME needs to be configured from this Hostname to the Azure Website - otherwise Azure will reject the Hostname Binding.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the App Service exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sslState":{"type":"string","description":"The SSL type. Possible values are `IpBasedEnabled` and `SniEnabled`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"thumbprint":{"type":"string","description":"The SSL certificate thumbprint. Changing this forces a new resource to be created.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`thumbprint`\" pulumi-lang-dotnet=\"`Thumbprint`\" pulumi-lang-go=\"`thumbprint`\" pulumi-lang-python=\"`thumbprint`\" pulumi-lang-yaml=\"`thumbprint`\" pulumi-lang-java=\"`thumbprint`\"\u003e`thumbprint`\u003c/span\u003e must be specified when \u003cspan pulumi-lang-nodejs=\"`sslState`\" pulumi-lang-dotnet=\"`SslState`\" pulumi-lang-go=\"`sslState`\" pulumi-lang-python=\"`ssl_state`\" pulumi-lang-yaml=\"`sslState`\" pulumi-lang-java=\"`sslState`\"\u003e`ssl_state`\u003c/span\u003e is set.\n","willReplaceOnChanges":true}},"requiredInputs":["appServiceName","hostname","resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering CustomHostnameBinding resources.\n","properties":{"appServiceName":{"type":"string","description":"The name of the App Service in which to add the Custom Hostname Binding. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"hostname":{"type":"string","description":"Specifies the Custom Hostname to use for the App Service, example `www.example.com`. Changing this forces a new resource to be created.\n\n\u003e **Note:** A CNAME needs to be configured from this Hostname to the Azure Website - otherwise Azure will reject the Hostname Binding.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the App Service exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sslState":{"type":"string","description":"The SSL type. Possible values are `IpBasedEnabled` and `SniEnabled`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"thumbprint":{"type":"string","description":"The SSL certificate thumbprint. Changing this forces a new resource to be created.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`thumbprint`\" pulumi-lang-dotnet=\"`Thumbprint`\" pulumi-lang-go=\"`thumbprint`\" pulumi-lang-python=\"`thumbprint`\" pulumi-lang-yaml=\"`thumbprint`\" pulumi-lang-java=\"`thumbprint`\"\u003e`thumbprint`\u003c/span\u003e must be specified when \u003cspan pulumi-lang-nodejs=\"`sslState`\" pulumi-lang-dotnet=\"`SslState`\" pulumi-lang-go=\"`sslState`\" pulumi-lang-python=\"`ssl_state`\" pulumi-lang-yaml=\"`sslState`\" pulumi-lang-java=\"`sslState`\"\u003e`ssl_state`\u003c/span\u003e is set.\n","willReplaceOnChanges":true},"virtualIp":{"type":"string","description":"The virtual IP address assigned to the hostname if IP based SSL is enabled.\n"}},"type":"object"}},"azure:appservice/environmentV3:EnvironmentV3":{"description":"Manages a 3rd Generation (v3) App Service Environment.\n\n## Example Usage\n\nThis example provisions an App Service Environment V3. Additional examples of how to use the \u003cspan pulumi-lang-nodejs=\"`azure.appservice.EnvironmentV3`\" pulumi-lang-dotnet=\"`azure.appservice.EnvironmentV3`\" pulumi-lang-go=\"`appservice.EnvironmentV3`\" pulumi-lang-python=\"`appservice.EnvironmentV3`\" pulumi-lang-yaml=\"`azure.appservice.EnvironmentV3`\" pulumi-lang-java=\"`azure.appservice.EnvironmentV3`\"\u003e`azure.appservice.EnvironmentV3`\u003c/span\u003e resource can be found in the `./examples/app-service-environment-v3` directory within the GitHub Repository.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"exampleRG1\",\n    location: \"West Europe\",\n});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"example\", {\n    name: \"example-vnet\",\n    location: example.location,\n    resourceGroupName: example.name,\n    addressSpaces: [\"10.0.0.0/16\"],\n});\nconst exampleSubnet = new azure.network.Subnet(\"example\", {\n    name: \"example-subnet\",\n    resourceGroupName: example.name,\n    virtualNetworkName: exampleVirtualNetwork.name,\n    addressPrefixes: [\"10.0.2.0/24\"],\n    delegations: [{\n        name: \"Microsoft.Web.hostingEnvironments\",\n        serviceDelegation: {\n            name: \"Microsoft.Web/hostingEnvironments\",\n            actions: [\"Microsoft.Network/virtualNetworks/subnets/action\"],\n        },\n    }],\n});\nconst exampleEnvironmentV3 = new azure.appservice.EnvironmentV3(\"example\", {\n    name: \"example-asev3\",\n    resourceGroupName: example.name,\n    subnetId: exampleSubnet.id,\n    internalLoadBalancingMode: \"Web, Publishing\",\n    clusterSettings: [\n        {\n            name: \"DisableTls1.0\",\n            value: \"1\",\n        },\n        {\n            name: \"InternalEncryption\",\n            value: \"true\",\n        },\n        {\n            name: \"FrontEndSSLCipherSuiteOrder\",\n            value: \"TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256\",\n        },\n    ],\n    tags: {\n        env: \"production\",\n        terraformed: \"true\",\n    },\n});\nconst exampleServicePlan = new azure.appservice.ServicePlan(\"example\", {\n    name: \"example\",\n    resourceGroupName: example.name,\n    location: example.location,\n    osType: \"Linux\",\n    skuName: \"I1v2\",\n    appServiceEnvironmentId: exampleEnvironmentV3.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"exampleRG1\",\n    location=\"West Europe\")\nexample_virtual_network = azure.network.VirtualNetwork(\"example\",\n    name=\"example-vnet\",\n    location=example.location,\n    resource_group_name=example.name,\n    address_spaces=[\"10.0.0.0/16\"])\nexample_subnet = azure.network.Subnet(\"example\",\n    name=\"example-subnet\",\n    resource_group_name=example.name,\n    virtual_network_name=example_virtual_network.name,\n    address_prefixes=[\"10.0.2.0/24\"],\n    delegations=[{\n        \"name\": \"Microsoft.Web.hostingEnvironments\",\n        \"service_delegation\": {\n            \"name\": \"Microsoft.Web/hostingEnvironments\",\n            \"actions\": [\"Microsoft.Network/virtualNetworks/subnets/action\"],\n        },\n    }])\nexample_environment_v3 = azure.appservice.EnvironmentV3(\"example\",\n    name=\"example-asev3\",\n    resource_group_name=example.name,\n    subnet_id=example_subnet.id,\n    internal_load_balancing_mode=\"Web, Publishing\",\n    cluster_settings=[\n        {\n            \"name\": \"DisableTls1.0\",\n            \"value\": \"1\",\n        },\n        {\n            \"name\": \"InternalEncryption\",\n            \"value\": \"true\",\n        },\n        {\n            \"name\": \"FrontEndSSLCipherSuiteOrder\",\n            \"value\": \"TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256\",\n        },\n    ],\n    tags={\n        \"env\": \"production\",\n        \"terraformed\": \"true\",\n    })\nexample_service_plan = azure.appservice.ServicePlan(\"example\",\n    name=\"example\",\n    resource_group_name=example.name,\n    location=example.location,\n    os_type=\"Linux\",\n    sku_name=\"I1v2\",\n    app_service_environment_id=example_environment_v3.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"exampleRG1\",\n        Location = \"West Europe\",\n    });\n\n    var exampleVirtualNetwork = new Azure.Network.VirtualNetwork(\"example\", new()\n    {\n        Name = \"example-vnet\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        AddressSpaces = new[]\n        {\n            \"10.0.0.0/16\",\n        },\n    });\n\n    var exampleSubnet = new Azure.Network.Subnet(\"example\", new()\n    {\n        Name = \"example-subnet\",\n        ResourceGroupName = example.Name,\n        VirtualNetworkName = exampleVirtualNetwork.Name,\n        AddressPrefixes = new[]\n        {\n            \"10.0.2.0/24\",\n        },\n        Delegations = new[]\n        {\n            new Azure.Network.Inputs.SubnetDelegationArgs\n            {\n                Name = \"Microsoft.Web.hostingEnvironments\",\n                ServiceDelegation = new Azure.Network.Inputs.SubnetDelegationServiceDelegationArgs\n                {\n                    Name = \"Microsoft.Web/hostingEnvironments\",\n                    Actions = new[]\n                    {\n                        \"Microsoft.Network/virtualNetworks/subnets/action\",\n                    },\n                },\n            },\n        },\n    });\n\n    var exampleEnvironmentV3 = new Azure.AppService.EnvironmentV3(\"example\", new()\n    {\n        Name = \"example-asev3\",\n        ResourceGroupName = example.Name,\n        SubnetId = exampleSubnet.Id,\n        InternalLoadBalancingMode = \"Web, Publishing\",\n        ClusterSettings = new[]\n        {\n            new Azure.AppService.Inputs.EnvironmentV3ClusterSettingArgs\n            {\n                Name = \"DisableTls1.0\",\n                Value = \"1\",\n            },\n            new Azure.AppService.Inputs.EnvironmentV3ClusterSettingArgs\n            {\n                Name = \"InternalEncryption\",\n                Value = \"true\",\n            },\n            new Azure.AppService.Inputs.EnvironmentV3ClusterSettingArgs\n            {\n                Name = \"FrontEndSSLCipherSuiteOrder\",\n                Value = \"TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256\",\n            },\n        },\n        Tags = \n        {\n            { \"env\", \"production\" },\n            { \"terraformed\", \"true\" },\n        },\n    });\n\n    var exampleServicePlan = new Azure.AppService.ServicePlan(\"example\", new()\n    {\n        Name = \"example\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        OsType = \"Linux\",\n        SkuName = \"I1v2\",\n        AppServiceEnvironmentId = exampleEnvironmentV3.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/appservice\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"exampleRG1\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, \"example\", \u0026network.VirtualNetworkArgs{\n\t\t\tName:              pulumi.String(\"example-vnet\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tAddressSpaces: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.0.0/16\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSubnet, err := network.NewSubnet(ctx, \"example\", \u0026network.SubnetArgs{\n\t\t\tName:               pulumi.String(\"example-subnet\"),\n\t\t\tResourceGroupName:  example.Name,\n\t\t\tVirtualNetworkName: exampleVirtualNetwork.Name,\n\t\t\tAddressPrefixes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.2.0/24\"),\n\t\t\t},\n\t\t\tDelegations: network.SubnetDelegationArray{\n\t\t\t\t\u0026network.SubnetDelegationArgs{\n\t\t\t\t\tName: pulumi.String(\"Microsoft.Web.hostingEnvironments\"),\n\t\t\t\t\tServiceDelegation: \u0026network.SubnetDelegationServiceDelegationArgs{\n\t\t\t\t\t\tName: pulumi.String(\"Microsoft.Web/hostingEnvironments\"),\n\t\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"Microsoft.Network/virtualNetworks/subnets/action\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleEnvironmentV3, err := appservice.NewEnvironmentV3(ctx, \"example\", \u0026appservice.EnvironmentV3Args{\n\t\t\tName:                      pulumi.String(\"example-asev3\"),\n\t\t\tResourceGroupName:         example.Name,\n\t\t\tSubnetId:                  exampleSubnet.ID(),\n\t\t\tInternalLoadBalancingMode: pulumi.String(\"Web, Publishing\"),\n\t\t\tClusterSettings: appservice.EnvironmentV3ClusterSettingArray{\n\t\t\t\t\u0026appservice.EnvironmentV3ClusterSettingArgs{\n\t\t\t\t\tName:  pulumi.String(\"DisableTls1.0\"),\n\t\t\t\t\tValue: pulumi.String(\"1\"),\n\t\t\t\t},\n\t\t\t\t\u0026appservice.EnvironmentV3ClusterSettingArgs{\n\t\t\t\t\tName:  pulumi.String(\"InternalEncryption\"),\n\t\t\t\t\tValue: pulumi.String(\"true\"),\n\t\t\t\t},\n\t\t\t\t\u0026appservice.EnvironmentV3ClusterSettingArgs{\n\t\t\t\t\tName:  pulumi.String(\"FrontEndSSLCipherSuiteOrder\"),\n\t\t\t\t\tValue: pulumi.String(\"TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"env\":         pulumi.String(\"production\"),\n\t\t\t\t\"terraformed\": pulumi.String(\"true\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = appservice.NewServicePlan(ctx, \"example\", \u0026appservice.ServicePlanArgs{\n\t\t\tName:                    pulumi.String(\"example\"),\n\t\t\tResourceGroupName:       example.Name,\n\t\t\tLocation:                example.Location,\n\t\t\tOsType:                  pulumi.String(\"Linux\"),\n\t\t\tSkuName:                 pulumi.String(\"I1v2\"),\n\t\t\tAppServiceEnvironmentId: exampleEnvironmentV3.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.VirtualNetwork;\nimport com.pulumi.azure.network.VirtualNetworkArgs;\nimport com.pulumi.azure.network.Subnet;\nimport com.pulumi.azure.network.SubnetArgs;\nimport com.pulumi.azure.network.inputs.SubnetDelegationArgs;\nimport com.pulumi.azure.network.inputs.SubnetDelegationServiceDelegationArgs;\nimport com.pulumi.azure.appservice.EnvironmentV3;\nimport com.pulumi.azure.appservice.EnvironmentV3Args;\nimport com.pulumi.azure.appservice.inputs.EnvironmentV3ClusterSettingArgs;\nimport com.pulumi.azure.appservice.ServicePlan;\nimport com.pulumi.azure.appservice.ServicePlanArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"exampleRG1\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleVirtualNetwork = new VirtualNetwork(\"exampleVirtualNetwork\", VirtualNetworkArgs.builder()\n            .name(\"example-vnet\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .addressSpaces(\"10.0.0.0/16\")\n            .build());\n\n        var exampleSubnet = new Subnet(\"exampleSubnet\", SubnetArgs.builder()\n            .name(\"example-subnet\")\n            .resourceGroupName(example.name())\n            .virtualNetworkName(exampleVirtualNetwork.name())\n            .addressPrefixes(\"10.0.2.0/24\")\n            .delegations(SubnetDelegationArgs.builder()\n                .name(\"Microsoft.Web.hostingEnvironments\")\n                .serviceDelegation(SubnetDelegationServiceDelegationArgs.builder()\n                    .name(\"Microsoft.Web/hostingEnvironments\")\n                    .actions(\"Microsoft.Network/virtualNetworks/subnets/action\")\n                    .build())\n                .build())\n            .build());\n\n        var exampleEnvironmentV3 = new EnvironmentV3(\"exampleEnvironmentV3\", EnvironmentV3Args.builder()\n            .name(\"example-asev3\")\n            .resourceGroupName(example.name())\n            .subnetId(exampleSubnet.id())\n            .internalLoadBalancingMode(\"Web, Publishing\")\n            .clusterSettings(            \n                EnvironmentV3ClusterSettingArgs.builder()\n                    .name(\"DisableTls1.0\")\n                    .value(\"1\")\n                    .build(),\n                EnvironmentV3ClusterSettingArgs.builder()\n                    .name(\"InternalEncryption\")\n                    .value(\"true\")\n                    .build(),\n                EnvironmentV3ClusterSettingArgs.builder()\n                    .name(\"FrontEndSSLCipherSuiteOrder\")\n                    .value(\"TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256\")\n                    .build())\n            .tags(Map.ofEntries(\n                Map.entry(\"env\", \"production\"),\n                Map.entry(\"terraformed\", \"true\")\n            ))\n            .build());\n\n        var exampleServicePlan = new ServicePlan(\"exampleServicePlan\", ServicePlanArgs.builder()\n            .name(\"example\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .osType(\"Linux\")\n            .skuName(\"I1v2\")\n            .appServiceEnvironmentId(exampleEnvironmentV3.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: exampleRG1\n      location: West Europe\n  exampleVirtualNetwork:\n    type: azure:network:VirtualNetwork\n    name: example\n    properties:\n      name: example-vnet\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      addressSpaces:\n        - 10.0.0.0/16\n  exampleSubnet:\n    type: azure:network:Subnet\n    name: example\n    properties:\n      name: example-subnet\n      resourceGroupName: ${example.name}\n      virtualNetworkName: ${exampleVirtualNetwork.name}\n      addressPrefixes:\n        - 10.0.2.0/24\n      delegations:\n        - name: Microsoft.Web.hostingEnvironments\n          serviceDelegation:\n            name: Microsoft.Web/hostingEnvironments\n            actions:\n              - Microsoft.Network/virtualNetworks/subnets/action\n  exampleEnvironmentV3:\n    type: azure:appservice:EnvironmentV3\n    name: example\n    properties:\n      name: example-asev3\n      resourceGroupName: ${example.name}\n      subnetId: ${exampleSubnet.id}\n      internalLoadBalancingMode: Web, Publishing\n      clusterSettings:\n        - name: DisableTls1.0\n          value: '1'\n        - name: InternalEncryption\n          value: 'true'\n        - name: FrontEndSSLCipherSuiteOrder\n          value: TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256\n      tags:\n        env: production\n        terraformed: 'true'\n  exampleServicePlan:\n    type: azure:appservice:ServicePlan\n    name: example\n    properties:\n      name: example\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      osType: Linux\n      skuName: I1v2\n      appServiceEnvironmentId: ${exampleEnvironmentV3.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2025-01-01\n\n* `Microsoft.Web` - 2023-01-01\n\n## Import\n\nA 3rd Generation (v3) App Service Environment can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:appservice/environmentV3:EnvironmentV3 myAppServiceEnv /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Web/hostingEnvironments/myAppServiceEnv\n```\n\n","properties":{"allowNewPrivateEndpointConnections":{"type":"boolean","description":"Should new Private Endpoint Connections be allowed. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"clusterSettings":{"type":"array","items":{"$ref":"#/types/azure:appservice/EnvironmentV3ClusterSetting:EnvironmentV3ClusterSetting"},"description":"Zero or more \u003cspan pulumi-lang-nodejs=\"`clusterSetting`\" pulumi-lang-dotnet=\"`ClusterSetting`\" pulumi-lang-go=\"`clusterSetting`\" pulumi-lang-python=\"`cluster_setting`\" pulumi-lang-yaml=\"`clusterSetting`\" pulumi-lang-java=\"`clusterSetting`\"\u003e`cluster_setting`\u003c/span\u003e blocks as defined below.\n"},"dedicatedHostCount":{"type":"integer","description":"This ASEv3 should use dedicated Hosts. Possible values are \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e. Changing this forces a new resource to be created.\n"},"dnsSuffix":{"type":"string","description":"the DNS suffix for this App Service Environment V3.\n"},"externalInboundIpAddresses":{"type":"array","items":{"type":"string"},"description":"The external inbound IP addresses of the App Service Environment V3.\n"},"inboundNetworkDependencies":{"type":"array","items":{"$ref":"#/types/azure:appservice/EnvironmentV3InboundNetworkDependency:EnvironmentV3InboundNetworkDependency"},"description":"An \u003cspan pulumi-lang-nodejs=\"`inboundNetworkDependencies`\" pulumi-lang-dotnet=\"`InboundNetworkDependencies`\" pulumi-lang-go=\"`inboundNetworkDependencies`\" pulumi-lang-python=\"`inbound_network_dependencies`\" pulumi-lang-yaml=\"`inboundNetworkDependencies`\" pulumi-lang-java=\"`inboundNetworkDependencies`\"\u003e`inbound_network_dependencies`\u003c/span\u003e block as defined below.\n"},"internalInboundIpAddresses":{"type":"array","items":{"type":"string"},"description":"The internal inbound IP addresses of the App Service Environment V3.\n"},"internalLoadBalancingMode":{"type":"string","description":"Specifies which endpoints to serve internally in the Virtual Network for the App Service Environment. Possible values are `None` (for an External VIP Type), and `\"Web, Publishing\"` (for an Internal VIP Type). Defaults to `None`. Changing this forces a new resource to be created.\n"},"ipSslAddressCount":{"type":"integer","description":"The number of IP SSL addresses reserved for the App Service Environment V3.\n"},"linuxOutboundIpAddresses":{"type":"array","items":{"type":"string"},"description":"Outbound addresses of Linux based Apps in this App Service Environment V3\n"},"location":{"type":"string","description":"The location where the App Service Environment exists.\n"},"name":{"type":"string","description":"The name of the App Service Environment. Changing this forces a new resource to be created.\n"},"pricingTier":{"type":"string","description":"Pricing tier for the front end instances.\n"},"remoteDebuggingEnabled":{"type":"boolean","description":"Whether to enable remote debug. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the App Service Environment exists. Defaults to the Resource Group of the Subnet (specified by \u003cspan pulumi-lang-nodejs=\"`subnetId`\" pulumi-lang-dotnet=\"`SubnetId`\" pulumi-lang-go=\"`subnetId`\" pulumi-lang-python=\"`subnet_id`\" pulumi-lang-yaml=\"`subnetId`\" pulumi-lang-java=\"`subnetId`\"\u003e`subnet_id`\u003c/span\u003e). Changing this forces a new resource to be created.\n"},"subnetId":{"type":"string","description":"The ID of the Subnet which the App Service Environment should be connected to. Changing this forces a new resource to be created.\n\n\u003e **Note:** a /24 or larger CIDR is required. Once associated with an ASE, this size cannot be changed.\n\n\u003e **Note:** This Subnet requires a delegation to `Microsoft.Web/hostingEnvironments` as detailed in the example above.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n\n\u003e **Note:** The underlying API does not currently support changing Tags on this resource. Making changes in the portal for tags will cause Terraform to detect a change that will force a recreation of the ASEV3 unless \u003cspan pulumi-lang-nodejs=\"`ignoreChanges`\" pulumi-lang-dotnet=\"`IgnoreChanges`\" pulumi-lang-go=\"`ignoreChanges`\" pulumi-lang-python=\"`ignore_changes`\" pulumi-lang-yaml=\"`ignoreChanges`\" pulumi-lang-java=\"`ignoreChanges`\"\u003e`ignore_changes`\u003c/span\u003e lifecycle meta-argument is used.\n"},"windowsOutboundIpAddresses":{"type":"array","items":{"type":"string"},"description":"Outbound addresses of Windows based Apps in this App Service Environment V3.\n"},"zoneRedundant":{"type":"boolean","description":"Set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e to deploy the ASEv3 with availability zones supported. Zonal ASEs can be deployed in some regions, you can refer to [Availability Zone support for App Service Environments](https://docs.microsoft.com/azure/app-service/environment/zone-redundancy). You can only set either \u003cspan pulumi-lang-nodejs=\"`dedicatedHostCount`\" pulumi-lang-dotnet=\"`DedicatedHostCount`\" pulumi-lang-go=\"`dedicatedHostCount`\" pulumi-lang-python=\"`dedicated_host_count`\" pulumi-lang-yaml=\"`dedicatedHostCount`\" pulumi-lang-java=\"`dedicatedHostCount`\"\u003e`dedicated_host_count`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`zoneRedundant`\" pulumi-lang-dotnet=\"`ZoneRedundant`\" pulumi-lang-go=\"`zoneRedundant`\" pulumi-lang-python=\"`zone_redundant`\" pulumi-lang-yaml=\"`zoneRedundant`\" pulumi-lang-java=\"`zoneRedundant`\"\u003e`zone_redundant`\u003c/span\u003e but not both. Changing this forces a new resource to be created.\n\n\u003e **Note:** Setting this value will provision 2 Physical Hosts for your App Service Environment V3, this is done at additional cost, please be aware of the pricing commitment in the [General Availability Notes](https://techcommunity.microsoft.com/t5/apps-on-azure/announcing-app-service-environment-v3-ga/ba-p/2517990)\n"}},"required":["clusterSettings","dnsSuffix","externalInboundIpAddresses","inboundNetworkDependencies","internalInboundIpAddresses","ipSslAddressCount","linuxOutboundIpAddresses","location","name","pricingTier","resourceGroupName","subnetId","windowsOutboundIpAddresses"],"inputProperties":{"allowNewPrivateEndpointConnections":{"type":"boolean","description":"Should new Private Endpoint Connections be allowed. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"clusterSettings":{"type":"array","items":{"$ref":"#/types/azure:appservice/EnvironmentV3ClusterSetting:EnvironmentV3ClusterSetting"},"description":"Zero or more \u003cspan pulumi-lang-nodejs=\"`clusterSetting`\" pulumi-lang-dotnet=\"`ClusterSetting`\" pulumi-lang-go=\"`clusterSetting`\" pulumi-lang-python=\"`cluster_setting`\" pulumi-lang-yaml=\"`clusterSetting`\" pulumi-lang-java=\"`clusterSetting`\"\u003e`cluster_setting`\u003c/span\u003e blocks as defined below.\n"},"dedicatedHostCount":{"type":"integer","description":"This ASEv3 should use dedicated Hosts. Possible values are \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"internalLoadBalancingMode":{"type":"string","description":"Specifies which endpoints to serve internally in the Virtual Network for the App Service Environment. Possible values are `None` (for an External VIP Type), and `\"Web, Publishing\"` (for an Internal VIP Type). Defaults to `None`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the App Service Environment. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"remoteDebuggingEnabled":{"type":"boolean","description":"Whether to enable remote debug. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the App Service Environment exists. Defaults to the Resource Group of the Subnet (specified by \u003cspan pulumi-lang-nodejs=\"`subnetId`\" pulumi-lang-dotnet=\"`SubnetId`\" pulumi-lang-go=\"`subnetId`\" pulumi-lang-python=\"`subnet_id`\" pulumi-lang-yaml=\"`subnetId`\" pulumi-lang-java=\"`subnetId`\"\u003e`subnet_id`\u003c/span\u003e). Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"subnetId":{"type":"string","description":"The ID of the Subnet which the App Service Environment should be connected to. Changing this forces a new resource to be created.\n\n\u003e **Note:** a /24 or larger CIDR is required. Once associated with an ASE, this size cannot be changed.\n\n\u003e **Note:** This Subnet requires a delegation to `Microsoft.Web/hostingEnvironments` as detailed in the example above.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n\n\u003e **Note:** The underlying API does not currently support changing Tags on this resource. Making changes in the portal for tags will cause Terraform to detect a change that will force a recreation of the ASEV3 unless \u003cspan pulumi-lang-nodejs=\"`ignoreChanges`\" pulumi-lang-dotnet=\"`IgnoreChanges`\" pulumi-lang-go=\"`ignoreChanges`\" pulumi-lang-python=\"`ignore_changes`\" pulumi-lang-yaml=\"`ignoreChanges`\" pulumi-lang-java=\"`ignoreChanges`\"\u003e`ignore_changes`\u003c/span\u003e lifecycle meta-argument is used.\n"},"zoneRedundant":{"type":"boolean","description":"Set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e to deploy the ASEv3 with availability zones supported. Zonal ASEs can be deployed in some regions, you can refer to [Availability Zone support for App Service Environments](https://docs.microsoft.com/azure/app-service/environment/zone-redundancy). You can only set either \u003cspan pulumi-lang-nodejs=\"`dedicatedHostCount`\" pulumi-lang-dotnet=\"`DedicatedHostCount`\" pulumi-lang-go=\"`dedicatedHostCount`\" pulumi-lang-python=\"`dedicated_host_count`\" pulumi-lang-yaml=\"`dedicatedHostCount`\" pulumi-lang-java=\"`dedicatedHostCount`\"\u003e`dedicated_host_count`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`zoneRedundant`\" pulumi-lang-dotnet=\"`ZoneRedundant`\" pulumi-lang-go=\"`zoneRedundant`\" pulumi-lang-python=\"`zone_redundant`\" pulumi-lang-yaml=\"`zoneRedundant`\" pulumi-lang-java=\"`zoneRedundant`\"\u003e`zone_redundant`\u003c/span\u003e but not both. Changing this forces a new resource to be created.\n\n\u003e **Note:** Setting this value will provision 2 Physical Hosts for your App Service Environment V3, this is done at additional cost, please be aware of the pricing commitment in the [General Availability Notes](https://techcommunity.microsoft.com/t5/apps-on-azure/announcing-app-service-environment-v3-ga/ba-p/2517990)\n","willReplaceOnChanges":true}},"requiredInputs":["resourceGroupName","subnetId"],"stateInputs":{"description":"Input properties used for looking up and filtering EnvironmentV3 resources.\n","properties":{"allowNewPrivateEndpointConnections":{"type":"boolean","description":"Should new Private Endpoint Connections be allowed. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"clusterSettings":{"type":"array","items":{"$ref":"#/types/azure:appservice/EnvironmentV3ClusterSetting:EnvironmentV3ClusterSetting"},"description":"Zero or more \u003cspan pulumi-lang-nodejs=\"`clusterSetting`\" pulumi-lang-dotnet=\"`ClusterSetting`\" pulumi-lang-go=\"`clusterSetting`\" pulumi-lang-python=\"`cluster_setting`\" pulumi-lang-yaml=\"`clusterSetting`\" pulumi-lang-java=\"`clusterSetting`\"\u003e`cluster_setting`\u003c/span\u003e blocks as defined below.\n"},"dedicatedHostCount":{"type":"integer","description":"This ASEv3 should use dedicated Hosts. Possible values are \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"dnsSuffix":{"type":"string","description":"the DNS suffix for this App Service Environment V3.\n"},"externalInboundIpAddresses":{"type":"array","items":{"type":"string"},"description":"The external inbound IP addresses of the App Service Environment V3.\n"},"inboundNetworkDependencies":{"type":"array","items":{"$ref":"#/types/azure:appservice/EnvironmentV3InboundNetworkDependency:EnvironmentV3InboundNetworkDependency"},"description":"An \u003cspan pulumi-lang-nodejs=\"`inboundNetworkDependencies`\" pulumi-lang-dotnet=\"`InboundNetworkDependencies`\" pulumi-lang-go=\"`inboundNetworkDependencies`\" pulumi-lang-python=\"`inbound_network_dependencies`\" pulumi-lang-yaml=\"`inboundNetworkDependencies`\" pulumi-lang-java=\"`inboundNetworkDependencies`\"\u003e`inbound_network_dependencies`\u003c/span\u003e block as defined below.\n"},"internalInboundIpAddresses":{"type":"array","items":{"type":"string"},"description":"The internal inbound IP addresses of the App Service Environment V3.\n"},"internalLoadBalancingMode":{"type":"string","description":"Specifies which endpoints to serve internally in the Virtual Network for the App Service Environment. Possible values are `None` (for an External VIP Type), and `\"Web, Publishing\"` (for an Internal VIP Type). Defaults to `None`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"ipSslAddressCount":{"type":"integer","description":"The number of IP SSL addresses reserved for the App Service Environment V3.\n"},"linuxOutboundIpAddresses":{"type":"array","items":{"type":"string"},"description":"Outbound addresses of Linux based Apps in this App Service Environment V3\n"},"location":{"type":"string","description":"The location where the App Service Environment exists.\n"},"name":{"type":"string","description":"The name of the App Service Environment. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"pricingTier":{"type":"string","description":"Pricing tier for the front end instances.\n"},"remoteDebuggingEnabled":{"type":"boolean","description":"Whether to enable remote debug. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the App Service Environment exists. Defaults to the Resource Group of the Subnet (specified by \u003cspan pulumi-lang-nodejs=\"`subnetId`\" pulumi-lang-dotnet=\"`SubnetId`\" pulumi-lang-go=\"`subnetId`\" pulumi-lang-python=\"`subnet_id`\" pulumi-lang-yaml=\"`subnetId`\" pulumi-lang-java=\"`subnetId`\"\u003e`subnet_id`\u003c/span\u003e). Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"subnetId":{"type":"string","description":"The ID of the Subnet which the App Service Environment should be connected to. Changing this forces a new resource to be created.\n\n\u003e **Note:** a /24 or larger CIDR is required. Once associated with an ASE, this size cannot be changed.\n\n\u003e **Note:** This Subnet requires a delegation to `Microsoft.Web/hostingEnvironments` as detailed in the example above.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n\n\u003e **Note:** The underlying API does not currently support changing Tags on this resource. Making changes in the portal for tags will cause Terraform to detect a change that will force a recreation of the ASEV3 unless \u003cspan pulumi-lang-nodejs=\"`ignoreChanges`\" pulumi-lang-dotnet=\"`IgnoreChanges`\" pulumi-lang-go=\"`ignoreChanges`\" pulumi-lang-python=\"`ignore_changes`\" pulumi-lang-yaml=\"`ignoreChanges`\" pulumi-lang-java=\"`ignoreChanges`\"\u003e`ignore_changes`\u003c/span\u003e lifecycle meta-argument is used.\n"},"windowsOutboundIpAddresses":{"type":"array","items":{"type":"string"},"description":"Outbound addresses of Windows based Apps in this App Service Environment V3.\n"},"zoneRedundant":{"type":"boolean","description":"Set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e to deploy the ASEv3 with availability zones supported. Zonal ASEs can be deployed in some regions, you can refer to [Availability Zone support for App Service Environments](https://docs.microsoft.com/azure/app-service/environment/zone-redundancy). You can only set either \u003cspan pulumi-lang-nodejs=\"`dedicatedHostCount`\" pulumi-lang-dotnet=\"`DedicatedHostCount`\" pulumi-lang-go=\"`dedicatedHostCount`\" pulumi-lang-python=\"`dedicated_host_count`\" pulumi-lang-yaml=\"`dedicatedHostCount`\" pulumi-lang-java=\"`dedicatedHostCount`\"\u003e`dedicated_host_count`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`zoneRedundant`\" pulumi-lang-dotnet=\"`ZoneRedundant`\" pulumi-lang-go=\"`zoneRedundant`\" pulumi-lang-python=\"`zone_redundant`\" pulumi-lang-yaml=\"`zoneRedundant`\" pulumi-lang-java=\"`zoneRedundant`\"\u003e`zone_redundant`\u003c/span\u003e but not both. Changing this forces a new resource to be created.\n\n\u003e **Note:** Setting this value will provision 2 Physical Hosts for your App Service Environment V3, this is done at additional cost, please be aware of the pricing commitment in the [General Availability Notes](https://techcommunity.microsoft.com/t5/apps-on-azure/announcing-app-service-environment-v3-ga/ba-p/2517990)\n","willReplaceOnChanges":true}},"type":"object"}},"azure:appservice/functionApp:FunctionApp":{"description":"Manages a Function App.\n\n!\u003e **NOTE:** This resource has been deprecated in version 5.0 of the provider and will be removed in version 6.0. Please use \u003cspan pulumi-lang-nodejs=\"`azure.appservice.LinuxFunctionApp`\" pulumi-lang-dotnet=\"`azure.appservice.LinuxFunctionApp`\" pulumi-lang-go=\"`appservice.LinuxFunctionApp`\" pulumi-lang-python=\"`appservice.LinuxFunctionApp`\" pulumi-lang-yaml=\"`azure.appservice.LinuxFunctionApp`\" pulumi-lang-java=\"`azure.appservice.LinuxFunctionApp`\"\u003e`azure.appservice.LinuxFunctionApp`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`azure.appservice.WindowsFunctionApp`\" pulumi-lang-dotnet=\"`azure.appservice.WindowsFunctionApp`\" pulumi-lang-go=\"`appservice.WindowsFunctionApp`\" pulumi-lang-python=\"`appservice.WindowsFunctionApp`\" pulumi-lang-yaml=\"`azure.appservice.WindowsFunctionApp`\" pulumi-lang-java=\"`azure.appservice.WindowsFunctionApp`\"\u003e`azure.appservice.WindowsFunctionApp`\u003c/span\u003e resources instead.\n\n\u003e **Note:** To connect an Azure Function App and a subnet within the same region \u003cspan pulumi-lang-nodejs=\"`azure.appservice.VirtualNetworkSwiftConnection`\" pulumi-lang-dotnet=\"`azure.appservice.VirtualNetworkSwiftConnection`\" pulumi-lang-go=\"`appservice.VirtualNetworkSwiftConnection`\" pulumi-lang-python=\"`appservice.VirtualNetworkSwiftConnection`\" pulumi-lang-yaml=\"`azure.appservice.VirtualNetworkSwiftConnection`\" pulumi-lang-java=\"`azure.appservice.VirtualNetworkSwiftConnection`\"\u003e`azure.appservice.VirtualNetworkSwiftConnection`\u003c/span\u003e can be used.\nFor an example, check the \u003cspan pulumi-lang-nodejs=\"`azure.appservice.VirtualNetworkSwiftConnection`\" pulumi-lang-dotnet=\"`azure.appservice.VirtualNetworkSwiftConnection`\" pulumi-lang-go=\"`appservice.VirtualNetworkSwiftConnection`\" pulumi-lang-python=\"`appservice.VirtualNetworkSwiftConnection`\" pulumi-lang-yaml=\"`azure.appservice.VirtualNetworkSwiftConnection`\" pulumi-lang-java=\"`azure.appservice.VirtualNetworkSwiftConnection`\"\u003e`azure.appservice.VirtualNetworkSwiftConnection`\u003c/span\u003e documentation.\n\n## Example Usage\n\n### With App Service Plan)\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"azure-functions-test-rg\",\n    location: \"West Europe\",\n});\nconst exampleAccount = new azure.storage.Account(\"example\", {\n    name: \"functionsapptestsa\",\n    resourceGroupName: example.name,\n    location: example.location,\n    accountTier: \"Standard\",\n    accountReplicationType: \"LRS\",\n});\nconst examplePlan = new azure.appservice.Plan(\"example\", {\n    name: \"azure-functions-test-service-plan\",\n    location: example.location,\n    resourceGroupName: example.name,\n    sku: {\n        tier: \"Standard\",\n        size: \"S1\",\n    },\n});\nconst exampleFunctionApp = new azure.appservice.FunctionApp(\"example\", {\n    name: \"test-azure-functions\",\n    location: example.location,\n    resourceGroupName: example.name,\n    appServicePlanId: examplePlan.id,\n    storageAccountName: exampleAccount.name,\n    storageAccountAccessKey: exampleAccount.primaryAccessKey,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"azure-functions-test-rg\",\n    location=\"West Europe\")\nexample_account = azure.storage.Account(\"example\",\n    name=\"functionsapptestsa\",\n    resource_group_name=example.name,\n    location=example.location,\n    account_tier=\"Standard\",\n    account_replication_type=\"LRS\")\nexample_plan = azure.appservice.Plan(\"example\",\n    name=\"azure-functions-test-service-plan\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku={\n        \"tier\": \"Standard\",\n        \"size\": \"S1\",\n    })\nexample_function_app = azure.appservice.FunctionApp(\"example\",\n    name=\"test-azure-functions\",\n    location=example.location,\n    resource_group_name=example.name,\n    app_service_plan_id=example_plan.id,\n    storage_account_name=example_account.name,\n    storage_account_access_key=example_account.primary_access_key)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"azure-functions-test-rg\",\n        Location = \"West Europe\",\n    });\n\n    var exampleAccount = new Azure.Storage.Account(\"example\", new()\n    {\n        Name = \"functionsapptestsa\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        AccountTier = \"Standard\",\n        AccountReplicationType = \"LRS\",\n    });\n\n    var examplePlan = new Azure.AppService.Plan(\"example\", new()\n    {\n        Name = \"azure-functions-test-service-plan\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Sku = new Azure.AppService.Inputs.PlanSkuArgs\n        {\n            Tier = \"Standard\",\n            Size = \"S1\",\n        },\n    });\n\n    var exampleFunctionApp = new Azure.AppService.FunctionApp(\"example\", new()\n    {\n        Name = \"test-azure-functions\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        AppServicePlanId = examplePlan.Id,\n        StorageAccountName = exampleAccount.Name,\n        StorageAccountAccessKey = exampleAccount.PrimaryAccessKey,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/appservice\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"azure-functions-test-rg\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := storage.NewAccount(ctx, \"example\", \u0026storage.AccountArgs{\n\t\t\tName:                   pulumi.String(\"functionsapptestsa\"),\n\t\t\tResourceGroupName:      example.Name,\n\t\t\tLocation:               example.Location,\n\t\t\tAccountTier:            pulumi.String(\"Standard\"),\n\t\t\tAccountReplicationType: pulumi.String(\"LRS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texamplePlan, err := appservice.NewPlan(ctx, \"example\", \u0026appservice.PlanArgs{\n\t\t\tName:              pulumi.String(\"azure-functions-test-service-plan\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSku: \u0026appservice.PlanSkuArgs{\n\t\t\t\tTier: pulumi.String(\"Standard\"),\n\t\t\t\tSize: pulumi.String(\"S1\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = appservice.NewFunctionApp(ctx, \"example\", \u0026appservice.FunctionAppArgs{\n\t\t\tName:                    pulumi.String(\"test-azure-functions\"),\n\t\t\tLocation:                example.Location,\n\t\t\tResourceGroupName:       example.Name,\n\t\t\tAppServicePlanId:        examplePlan.ID(),\n\t\t\tStorageAccountName:      exampleAccount.Name,\n\t\t\tStorageAccountAccessKey: exampleAccount.PrimaryAccessKey,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.storage.Account;\nimport com.pulumi.azure.storage.AccountArgs;\nimport com.pulumi.azure.appservice.Plan;\nimport com.pulumi.azure.appservice.PlanArgs;\nimport com.pulumi.azure.appservice.inputs.PlanSkuArgs;\nimport com.pulumi.azure.appservice.FunctionApp;\nimport com.pulumi.azure.appservice.FunctionAppArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"azure-functions-test-rg\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"functionsapptestsa\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .accountTier(\"Standard\")\n            .accountReplicationType(\"LRS\")\n            .build());\n\n        var examplePlan = new Plan(\"examplePlan\", PlanArgs.builder()\n            .name(\"azure-functions-test-service-plan\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .sku(PlanSkuArgs.builder()\n                .tier(\"Standard\")\n                .size(\"S1\")\n                .build())\n            .build());\n\n        var exampleFunctionApp = new FunctionApp(\"exampleFunctionApp\", FunctionAppArgs.builder()\n            .name(\"test-azure-functions\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .appServicePlanId(examplePlan.id())\n            .storageAccountName(exampleAccount.name())\n            .storageAccountAccessKey(exampleAccount.primaryAccessKey())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: azure-functions-test-rg\n      location: West Europe\n  exampleAccount:\n    type: azure:storage:Account\n    name: example\n    properties:\n      name: functionsapptestsa\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      accountTier: Standard\n      accountReplicationType: LRS\n  examplePlan:\n    type: azure:appservice:Plan\n    name: example\n    properties:\n      name: azure-functions-test-service-plan\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      sku:\n        tier: Standard\n        size: S1\n  exampleFunctionApp:\n    type: azure:appservice:FunctionApp\n    name: example\n    properties:\n      name: test-azure-functions\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      appServicePlanId: ${examplePlan.id}\n      storageAccountName: ${exampleAccount.name}\n      storageAccountAccessKey: ${exampleAccount.primaryAccessKey}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\n### In A Consumption Plan)\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"azure-functions-cptest-rg\",\n    location: \"West Europe\",\n});\nconst exampleAccount = new azure.storage.Account(\"example\", {\n    name: \"functionsapptestsa\",\n    resourceGroupName: example.name,\n    location: example.location,\n    accountTier: \"Standard\",\n    accountReplicationType: \"LRS\",\n});\nconst examplePlan = new azure.appservice.Plan(\"example\", {\n    name: \"azure-functions-test-service-plan\",\n    location: example.location,\n    resourceGroupName: example.name,\n    kind: \"FunctionApp\",\n    sku: {\n        tier: \"Dynamic\",\n        size: \"Y1\",\n    },\n});\nconst exampleFunctionApp = new azure.appservice.FunctionApp(\"example\", {\n    name: \"test-azure-functions\",\n    location: example.location,\n    resourceGroupName: example.name,\n    appServicePlanId: examplePlan.id,\n    storageAccountName: exampleAccount.name,\n    storageAccountAccessKey: exampleAccount.primaryAccessKey,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"azure-functions-cptest-rg\",\n    location=\"West Europe\")\nexample_account = azure.storage.Account(\"example\",\n    name=\"functionsapptestsa\",\n    resource_group_name=example.name,\n    location=example.location,\n    account_tier=\"Standard\",\n    account_replication_type=\"LRS\")\nexample_plan = azure.appservice.Plan(\"example\",\n    name=\"azure-functions-test-service-plan\",\n    location=example.location,\n    resource_group_name=example.name,\n    kind=\"FunctionApp\",\n    sku={\n        \"tier\": \"Dynamic\",\n        \"size\": \"Y1\",\n    })\nexample_function_app = azure.appservice.FunctionApp(\"example\",\n    name=\"test-azure-functions\",\n    location=example.location,\n    resource_group_name=example.name,\n    app_service_plan_id=example_plan.id,\n    storage_account_name=example_account.name,\n    storage_account_access_key=example_account.primary_access_key)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"azure-functions-cptest-rg\",\n        Location = \"West Europe\",\n    });\n\n    var exampleAccount = new Azure.Storage.Account(\"example\", new()\n    {\n        Name = \"functionsapptestsa\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        AccountTier = \"Standard\",\n        AccountReplicationType = \"LRS\",\n    });\n\n    var examplePlan = new Azure.AppService.Plan(\"example\", new()\n    {\n        Name = \"azure-functions-test-service-plan\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Kind = \"FunctionApp\",\n        Sku = new Azure.AppService.Inputs.PlanSkuArgs\n        {\n            Tier = \"Dynamic\",\n            Size = \"Y1\",\n        },\n    });\n\n    var exampleFunctionApp = new Azure.AppService.FunctionApp(\"example\", new()\n    {\n        Name = \"test-azure-functions\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        AppServicePlanId = examplePlan.Id,\n        StorageAccountName = exampleAccount.Name,\n        StorageAccountAccessKey = exampleAccount.PrimaryAccessKey,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/appservice\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"azure-functions-cptest-rg\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := storage.NewAccount(ctx, \"example\", \u0026storage.AccountArgs{\n\t\t\tName:                   pulumi.String(\"functionsapptestsa\"),\n\t\t\tResourceGroupName:      example.Name,\n\t\t\tLocation:               example.Location,\n\t\t\tAccountTier:            pulumi.String(\"Standard\"),\n\t\t\tAccountReplicationType: pulumi.String(\"LRS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texamplePlan, err := appservice.NewPlan(ctx, \"example\", \u0026appservice.PlanArgs{\n\t\t\tName:              pulumi.String(\"azure-functions-test-service-plan\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tKind:              pulumi.Any(\"FunctionApp\"),\n\t\t\tSku: \u0026appservice.PlanSkuArgs{\n\t\t\t\tTier: pulumi.String(\"Dynamic\"),\n\t\t\t\tSize: pulumi.String(\"Y1\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = appservice.NewFunctionApp(ctx, \"example\", \u0026appservice.FunctionAppArgs{\n\t\t\tName:                    pulumi.String(\"test-azure-functions\"),\n\t\t\tLocation:                example.Location,\n\t\t\tResourceGroupName:       example.Name,\n\t\t\tAppServicePlanId:        examplePlan.ID(),\n\t\t\tStorageAccountName:      exampleAccount.Name,\n\t\t\tStorageAccountAccessKey: exampleAccount.PrimaryAccessKey,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.storage.Account;\nimport com.pulumi.azure.storage.AccountArgs;\nimport com.pulumi.azure.appservice.Plan;\nimport com.pulumi.azure.appservice.PlanArgs;\nimport com.pulumi.azure.appservice.inputs.PlanSkuArgs;\nimport com.pulumi.azure.appservice.FunctionApp;\nimport com.pulumi.azure.appservice.FunctionAppArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"azure-functions-cptest-rg\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"functionsapptestsa\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .accountTier(\"Standard\")\n            .accountReplicationType(\"LRS\")\n            .build());\n\n        var examplePlan = new Plan(\"examplePlan\", PlanArgs.builder()\n            .name(\"azure-functions-test-service-plan\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .kind(\"FunctionApp\")\n            .sku(PlanSkuArgs.builder()\n                .tier(\"Dynamic\")\n                .size(\"Y1\")\n                .build())\n            .build());\n\n        var exampleFunctionApp = new FunctionApp(\"exampleFunctionApp\", FunctionAppArgs.builder()\n            .name(\"test-azure-functions\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .appServicePlanId(examplePlan.id())\n            .storageAccountName(exampleAccount.name())\n            .storageAccountAccessKey(exampleAccount.primaryAccessKey())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: azure-functions-cptest-rg\n      location: West Europe\n  exampleAccount:\n    type: azure:storage:Account\n    name: example\n    properties:\n      name: functionsapptestsa\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      accountTier: Standard\n      accountReplicationType: LRS\n  examplePlan:\n    type: azure:appservice:Plan\n    name: example\n    properties:\n      name: azure-functions-test-service-plan\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      kind: FunctionApp\n      sku:\n        tier: Dynamic\n        size: Y1\n  exampleFunctionApp:\n    type: azure:appservice:FunctionApp\n    name: example\n    properties:\n      name: test-azure-functions\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      appServicePlanId: ${examplePlan.id}\n      storageAccountName: ${exampleAccount.name}\n      storageAccountAccessKey: ${exampleAccount.primaryAccessKey}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\n### Linux)\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"azure-functions-cptest-rg\",\n    location: \"West Europe\",\n});\nconst exampleAccount = new azure.storage.Account(\"example\", {\n    name: \"functionsapptestsa\",\n    resourceGroupName: example.name,\n    location: example.location,\n    accountTier: \"Standard\",\n    accountReplicationType: \"LRS\",\n});\nconst examplePlan = new azure.appservice.Plan(\"example\", {\n    name: \"azure-functions-test-service-plan\",\n    location: example.location,\n    resourceGroupName: example.name,\n    kind: \"Linux\",\n    reserved: true,\n    sku: {\n        tier: \"Dynamic\",\n        size: \"Y1\",\n    },\n});\nconst exampleFunctionApp = new azure.appservice.FunctionApp(\"example\", {\n    name: \"test-azure-functions\",\n    location: example.location,\n    resourceGroupName: example.name,\n    appServicePlanId: examplePlan.id,\n    storageAccountName: exampleAccount.name,\n    storageAccountAccessKey: exampleAccount.primaryAccessKey,\n    osType: \"linux\",\n    version: \"~3\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"azure-functions-cptest-rg\",\n    location=\"West Europe\")\nexample_account = azure.storage.Account(\"example\",\n    name=\"functionsapptestsa\",\n    resource_group_name=example.name,\n    location=example.location,\n    account_tier=\"Standard\",\n    account_replication_type=\"LRS\")\nexample_plan = azure.appservice.Plan(\"example\",\n    name=\"azure-functions-test-service-plan\",\n    location=example.location,\n    resource_group_name=example.name,\n    kind=\"Linux\",\n    reserved=True,\n    sku={\n        \"tier\": \"Dynamic\",\n        \"size\": \"Y1\",\n    })\nexample_function_app = azure.appservice.FunctionApp(\"example\",\n    name=\"test-azure-functions\",\n    location=example.location,\n    resource_group_name=example.name,\n    app_service_plan_id=example_plan.id,\n    storage_account_name=example_account.name,\n    storage_account_access_key=example_account.primary_access_key,\n    os_type=\"linux\",\n    version=\"~3\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"azure-functions-cptest-rg\",\n        Location = \"West Europe\",\n    });\n\n    var exampleAccount = new Azure.Storage.Account(\"example\", new()\n    {\n        Name = \"functionsapptestsa\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        AccountTier = \"Standard\",\n        AccountReplicationType = \"LRS\",\n    });\n\n    var examplePlan = new Azure.AppService.Plan(\"example\", new()\n    {\n        Name = \"azure-functions-test-service-plan\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Kind = \"Linux\",\n        Reserved = true,\n        Sku = new Azure.AppService.Inputs.PlanSkuArgs\n        {\n            Tier = \"Dynamic\",\n            Size = \"Y1\",\n        },\n    });\n\n    var exampleFunctionApp = new Azure.AppService.FunctionApp(\"example\", new()\n    {\n        Name = \"test-azure-functions\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        AppServicePlanId = examplePlan.Id,\n        StorageAccountName = exampleAccount.Name,\n        StorageAccountAccessKey = exampleAccount.PrimaryAccessKey,\n        OsType = \"linux\",\n        Version = \"~3\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/appservice\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"azure-functions-cptest-rg\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := storage.NewAccount(ctx, \"example\", \u0026storage.AccountArgs{\n\t\t\tName:                   pulumi.String(\"functionsapptestsa\"),\n\t\t\tResourceGroupName:      example.Name,\n\t\t\tLocation:               example.Location,\n\t\t\tAccountTier:            pulumi.String(\"Standard\"),\n\t\t\tAccountReplicationType: pulumi.String(\"LRS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texamplePlan, err := appservice.NewPlan(ctx, \"example\", \u0026appservice.PlanArgs{\n\t\t\tName:              pulumi.String(\"azure-functions-test-service-plan\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tKind:              pulumi.Any(\"Linux\"),\n\t\t\tReserved:          pulumi.Bool(true),\n\t\t\tSku: \u0026appservice.PlanSkuArgs{\n\t\t\t\tTier: pulumi.String(\"Dynamic\"),\n\t\t\t\tSize: pulumi.String(\"Y1\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = appservice.NewFunctionApp(ctx, \"example\", \u0026appservice.FunctionAppArgs{\n\t\t\tName:                    pulumi.String(\"test-azure-functions\"),\n\t\t\tLocation:                example.Location,\n\t\t\tResourceGroupName:       example.Name,\n\t\t\tAppServicePlanId:        examplePlan.ID(),\n\t\t\tStorageAccountName:      exampleAccount.Name,\n\t\t\tStorageAccountAccessKey: exampleAccount.PrimaryAccessKey,\n\t\t\tOsType:                  pulumi.String(\"linux\"),\n\t\t\tVersion:                 pulumi.String(\"~3\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.storage.Account;\nimport com.pulumi.azure.storage.AccountArgs;\nimport com.pulumi.azure.appservice.Plan;\nimport com.pulumi.azure.appservice.PlanArgs;\nimport com.pulumi.azure.appservice.inputs.PlanSkuArgs;\nimport com.pulumi.azure.appservice.FunctionApp;\nimport com.pulumi.azure.appservice.FunctionAppArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"azure-functions-cptest-rg\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"functionsapptestsa\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .accountTier(\"Standard\")\n            .accountReplicationType(\"LRS\")\n            .build());\n\n        var examplePlan = new Plan(\"examplePlan\", PlanArgs.builder()\n            .name(\"azure-functions-test-service-plan\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .kind(\"Linux\")\n            .reserved(true)\n            .sku(PlanSkuArgs.builder()\n                .tier(\"Dynamic\")\n                .size(\"Y1\")\n                .build())\n            .build());\n\n        var exampleFunctionApp = new FunctionApp(\"exampleFunctionApp\", FunctionAppArgs.builder()\n            .name(\"test-azure-functions\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .appServicePlanId(examplePlan.id())\n            .storageAccountName(exampleAccount.name())\n            .storageAccountAccessKey(exampleAccount.primaryAccessKey())\n            .osType(\"linux\")\n            .version(\"~3\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: azure-functions-cptest-rg\n      location: West Europe\n  exampleAccount:\n    type: azure:storage:Account\n    name: example\n    properties:\n      name: functionsapptestsa\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      accountTier: Standard\n      accountReplicationType: LRS\n  examplePlan:\n    type: azure:appservice:Plan\n    name: example\n    properties:\n      name: azure-functions-test-service-plan\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      kind: Linux\n      reserved: true\n      sku:\n        tier: Dynamic\n        size: Y1\n  exampleFunctionApp:\n    type: azure:appservice:FunctionApp\n    name: example\n    properties:\n      name: test-azure-functions\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      appServicePlanId: ${examplePlan.id}\n      storageAccountName: ${exampleAccount.name}\n      storageAccountAccessKey: ${exampleAccount.primaryAccessKey}\n      osType: linux\n      version: ~3\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003e **Note:** Version `~3` or `~4` is required for Linux Function Apps.\n\n\n### Python In A Consumption Plan)\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: azure-functions-example-rg\n      location: West Europe\n  exampleAccount:\n    type: azure:storage:Account\n    name: example\n    properties:\n      name: functionsappexamlpesa\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      accountTier: Standard\n      accountReplicationType: LRS\n  examplePlan:\n    type: azure:appservice:Plan\n    name: example\n    properties:\n      name: azure-functions-example-sp\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      kind: Linux\n      reserved: true\n      sku:\n        tier: Dynamic\n        size: Y1\n  exampleFunctionApp:\n    type: azure:appservice:FunctionApp\n    name: example\n    properties:\n      name: example-azure-function\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      appServicePlanId: ${examplePlan.id}\n      storageAccountName: ${exampleAccount.name}\n      storageAccountAccessKey: ${exampleAccount.primaryAccessKey}\n      osType: linux\n      version: ~4\n      appSettings:\n        - FUNCTIONS_WORKER_RUNTIME: python\n      siteConfig:\n        linuxFxVersion: python|3.9\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003e **Note:** The Python runtime is only supported on a Linux based hosting plan.  See [the documentation for additional information](https://docs.microsoft.com/azure/azure-functions/functions-reference-python).\n\n## Import\n\nFunction Apps can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:appservice/functionApp:FunctionApp functionapp1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Web/sites/functionapp1\n```\n\n","properties":{"appServicePlanId":{"type":"string","description":"The ID of the App Service Plan within which to create this Function App.\n"},"appSettings":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of key-value pairs for [App Settings](https://docs.microsoft.com/azure/azure-functions/functions-app-settings) and custom values.\n\n\u003e **NOTE:** The values for `AzureWebJobsStorage` and `FUNCTIONS_EXTENSION_VERSION` will be filled by other input arguments and shouldn't be configured separately. `AzureWebJobsStorage` is filled based on \u003cspan pulumi-lang-nodejs=\"`storageAccountName`\" pulumi-lang-dotnet=\"`StorageAccountName`\" pulumi-lang-go=\"`storageAccountName`\" pulumi-lang-python=\"`storage_account_name`\" pulumi-lang-yaml=\"`storageAccountName`\" pulumi-lang-java=\"`storageAccountName`\"\u003e`storage_account_name`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`storageAccountAccessKey`\" pulumi-lang-dotnet=\"`StorageAccountAccessKey`\" pulumi-lang-go=\"`storageAccountAccessKey`\" pulumi-lang-python=\"`storage_account_access_key`\" pulumi-lang-yaml=\"`storageAccountAccessKey`\" pulumi-lang-java=\"`storageAccountAccessKey`\"\u003e`storage_account_access_key`\u003c/span\u003e. `FUNCTIONS_EXTENSION_VERSION` is filled based on \u003cspan pulumi-lang-nodejs=\"`version`\" pulumi-lang-dotnet=\"`Version`\" pulumi-lang-go=\"`version`\" pulumi-lang-python=\"`version`\" pulumi-lang-yaml=\"`version`\" pulumi-lang-java=\"`version`\"\u003e`version`\u003c/span\u003e.\n"},"authSettings":{"$ref":"#/types/azure:appservice/FunctionAppAuthSettings:FunctionAppAuthSettings","description":"A \u003cspan pulumi-lang-nodejs=\"`authSettings`\" pulumi-lang-dotnet=\"`AuthSettings`\" pulumi-lang-go=\"`authSettings`\" pulumi-lang-python=\"`auth_settings`\" pulumi-lang-yaml=\"`authSettings`\" pulumi-lang-java=\"`authSettings`\"\u003e`auth_settings`\u003c/span\u003e block as defined below.\n"},"clientCertMode":{"type":"string","description":"The mode of the Function App's client certificates requirement for incoming requests. Possible values are `Required` and `Optional`.\n"},"connectionStrings":{"type":"array","items":{"$ref":"#/types/azure:appservice/FunctionAppConnectionString:FunctionAppConnectionString"},"description":"An \u003cspan pulumi-lang-nodejs=\"`connectionString`\" pulumi-lang-dotnet=\"`ConnectionString`\" pulumi-lang-go=\"`connectionString`\" pulumi-lang-python=\"`connection_string`\" pulumi-lang-yaml=\"`connectionString`\" pulumi-lang-java=\"`connectionString`\"\u003e`connection_string`\u003c/span\u003e block as defined below.\n"},"customDomainVerificationId":{"type":"string","description":"An identifier used by App Service to perform domain ownership verification via DNS TXT record.\n"},"dailyMemoryTimeQuota":{"type":"integer","description":"The amount of memory in gigabyte-seconds that your application is allowed to consume per day. Setting this value only affects function apps under the consumption plan.\n"},"defaultHostname":{"type":"string","description":"The default hostname associated with the Function App - such as `mysite.azurewebsites.net`\n"},"enableBuiltinLogging":{"type":"boolean","description":"Should the built-in logging of this Function App be enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"enabled":{"type":"boolean","description":"Is the Function App enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"httpsOnly":{"type":"boolean","description":"Can the Function App only be accessed via HTTPS? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"identity":{"$ref":"#/types/azure:appservice/FunctionAppIdentity:FunctionAppIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"keyVaultReferenceIdentityId":{"type":"string","description":"The User Assigned Identity Id used for looking up KeyVault secrets. The identity must be assigned to the application. See [Access vaults with a user-assigned identity](https://docs.microsoft.com/azure/app-service/app-service-key-vault-references#access-vaults-with-a-user-assigned-identity) for more information.\n"},"kind":{"type":"string","description":"The Function App kind - such as `functionapp,linux,container`\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"Specifies the name of the Function App. Changing this forces a new resource to be created. Limit the function name to 32 characters to avoid naming collisions. For more information about [Function App naming rule](https://docs.microsoft.com/azure/azure-resource-manager/management/resource-name-rules#microsoftweb).\n"},"osType":{"type":"string","description":"A string indicating the Operating System type for this function app. Possible values are \u003cspan pulumi-lang-nodejs=\"`linux`\" pulumi-lang-dotnet=\"`Linux`\" pulumi-lang-go=\"`linux`\" pulumi-lang-python=\"`linux`\" pulumi-lang-yaml=\"`linux`\" pulumi-lang-java=\"`linux`\"\u003e`linux`\u003c/span\u003e and ``(empty string). Changing this forces a new resource to be created. Defaults to `\"\"`.\n\n\u003e **NOTE:** This value will be \u003cspan pulumi-lang-nodejs=\"`linux`\" pulumi-lang-dotnet=\"`Linux`\" pulumi-lang-go=\"`linux`\" pulumi-lang-python=\"`linux`\" pulumi-lang-yaml=\"`linux`\" pulumi-lang-java=\"`linux`\"\u003e`linux`\u003c/span\u003e for Linux derivatives, or an empty string for Windows (default). When set to \u003cspan pulumi-lang-nodejs=\"`linux`\" pulumi-lang-dotnet=\"`Linux`\" pulumi-lang-go=\"`linux`\" pulumi-lang-python=\"`linux`\" pulumi-lang-yaml=\"`linux`\" pulumi-lang-java=\"`linux`\"\u003e`linux`\u003c/span\u003e you must also set \u003cspan pulumi-lang-nodejs=\"`azure.appservice.Plan`\" pulumi-lang-dotnet=\"`azure.appservice.Plan`\" pulumi-lang-go=\"`appservice.Plan`\" pulumi-lang-python=\"`appservice.Plan`\" pulumi-lang-yaml=\"`azure.appservice.Plan`\" pulumi-lang-java=\"`azure.appservice.Plan`\"\u003e`azure.appservice.Plan`\u003c/span\u003e arguments as `kind = \"Linux\"` and `reserved = true`\n"},"outboundIpAddresses":{"type":"string","description":"A comma separated list of outbound IP addresses - such as `52.23.25.3,52.143.43.12`\n"},"possibleOutboundIpAddresses":{"type":"string","description":"A comma separated list of outbound IP addresses - such as `52.23.25.3,52.143.43.12,52.143.43.17` - not all of which are necessarily in use. Superset of \u003cspan pulumi-lang-nodejs=\"`outboundIpAddresses`\" pulumi-lang-dotnet=\"`OutboundIpAddresses`\" pulumi-lang-go=\"`outboundIpAddresses`\" pulumi-lang-python=\"`outbound_ip_addresses`\" pulumi-lang-yaml=\"`outboundIpAddresses`\" pulumi-lang-java=\"`outboundIpAddresses`\"\u003e`outbound_ip_addresses`\u003c/span\u003e.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the Function App. Changing this forces a new resource to be created.\n"},"siteConfig":{"$ref":"#/types/azure:appservice/FunctionAppSiteConfig:FunctionAppSiteConfig","description":"A \u003cspan pulumi-lang-nodejs=\"`siteConfig`\" pulumi-lang-dotnet=\"`SiteConfig`\" pulumi-lang-go=\"`siteConfig`\" pulumi-lang-python=\"`site_config`\" pulumi-lang-yaml=\"`siteConfig`\" pulumi-lang-java=\"`siteConfig`\"\u003e`site_config`\u003c/span\u003e object as defined below.\n"},"siteCredentials":{"type":"array","items":{"$ref":"#/types/azure:appservice/FunctionAppSiteCredential:FunctionAppSiteCredential"},"description":"A \u003cspan pulumi-lang-nodejs=\"`siteCredential`\" pulumi-lang-dotnet=\"`SiteCredential`\" pulumi-lang-go=\"`siteCredential`\" pulumi-lang-python=\"`site_credential`\" pulumi-lang-yaml=\"`siteCredential`\" pulumi-lang-java=\"`siteCredential`\"\u003e`site_credential`\u003c/span\u003e block as defined below, which contains the site-level credentials used to publish to this App Service.\n"},"sourceControl":{"$ref":"#/types/azure:appservice/FunctionAppSourceControl:FunctionAppSourceControl","description":"A \u003cspan pulumi-lang-nodejs=\"`sourceControl`\" pulumi-lang-dotnet=\"`SourceControl`\" pulumi-lang-go=\"`sourceControl`\" pulumi-lang-python=\"`source_control`\" pulumi-lang-yaml=\"`sourceControl`\" pulumi-lang-java=\"`sourceControl`\"\u003e`source_control`\u003c/span\u003e block, as defined below.\n"},"storageAccountAccessKey":{"type":"string","description":"The access key which will be used to access the backend storage account for the Function App.\n\n\u003e **Note:** When integrating a `CI/CD pipeline` and expecting to run from a deployed package in `Azure` you must seed your `app settings` as part of the application code for function app to be successfully deployed. `Important Default key pairs`: (`\"WEBSITE_RUN_FROM_PACKAGE\" = \"\"`, `\"FUNCTIONS_WORKER_RUNTIME\" = \"node\"` (or python, etc), `\"WEBSITE_NODE_DEFAULT_VERSION\" = \"10.14.1\"`, `\"APPINSIGHTS_INSTRUMENTATIONKEY\" = \"\"`).\n\n\u003e **Note:**  When using an App Service Plan in the `Free` or `Shared` Tiers \u003cspan pulumi-lang-nodejs=\"`use32BitWorkerProcess`\" pulumi-lang-dotnet=\"`Use32BitWorkerProcess`\" pulumi-lang-go=\"`use32BitWorkerProcess`\" pulumi-lang-python=\"`use_32_bit_worker_process`\" pulumi-lang-yaml=\"`use32BitWorkerProcess`\" pulumi-lang-java=\"`use32BitWorkerProcess`\"\u003e`use_32_bit_worker_process`\u003c/span\u003e must be set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n","secret":true},"storageAccountName":{"type":"string","description":"The backend storage account name which will be used by this Function App (such as the dashboard, logs). Changing this forces a new resource to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"version":{"type":"string","description":"The runtime version associated with the Function App. Defaults to `~1`.\n"}},"required":["appServicePlanId","appSettings","authSettings","connectionStrings","customDomainVerificationId","defaultHostname","keyVaultReferenceIdentityId","kind","location","name","outboundIpAddresses","possibleOutboundIpAddresses","resourceGroupName","siteConfig","siteCredentials","sourceControl","storageAccountAccessKey","storageAccountName"],"inputProperties":{"appServicePlanId":{"type":"string","description":"The ID of the App Service Plan within which to create this Function App.\n"},"appSettings":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of key-value pairs for [App Settings](https://docs.microsoft.com/azure/azure-functions/functions-app-settings) and custom values.\n\n\u003e **NOTE:** The values for `AzureWebJobsStorage` and `FUNCTIONS_EXTENSION_VERSION` will be filled by other input arguments and shouldn't be configured separately. `AzureWebJobsStorage` is filled based on \u003cspan pulumi-lang-nodejs=\"`storageAccountName`\" pulumi-lang-dotnet=\"`StorageAccountName`\" pulumi-lang-go=\"`storageAccountName`\" pulumi-lang-python=\"`storage_account_name`\" pulumi-lang-yaml=\"`storageAccountName`\" pulumi-lang-java=\"`storageAccountName`\"\u003e`storage_account_name`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`storageAccountAccessKey`\" pulumi-lang-dotnet=\"`StorageAccountAccessKey`\" pulumi-lang-go=\"`storageAccountAccessKey`\" pulumi-lang-python=\"`storage_account_access_key`\" pulumi-lang-yaml=\"`storageAccountAccessKey`\" pulumi-lang-java=\"`storageAccountAccessKey`\"\u003e`storage_account_access_key`\u003c/span\u003e. `FUNCTIONS_EXTENSION_VERSION` is filled based on \u003cspan pulumi-lang-nodejs=\"`version`\" pulumi-lang-dotnet=\"`Version`\" pulumi-lang-go=\"`version`\" pulumi-lang-python=\"`version`\" pulumi-lang-yaml=\"`version`\" pulumi-lang-java=\"`version`\"\u003e`version`\u003c/span\u003e.\n"},"authSettings":{"$ref":"#/types/azure:appservice/FunctionAppAuthSettings:FunctionAppAuthSettings","description":"A \u003cspan pulumi-lang-nodejs=\"`authSettings`\" pulumi-lang-dotnet=\"`AuthSettings`\" pulumi-lang-go=\"`authSettings`\" pulumi-lang-python=\"`auth_settings`\" pulumi-lang-yaml=\"`authSettings`\" pulumi-lang-java=\"`authSettings`\"\u003e`auth_settings`\u003c/span\u003e block as defined below.\n"},"clientCertMode":{"type":"string","description":"The mode of the Function App's client certificates requirement for incoming requests. Possible values are `Required` and `Optional`.\n"},"connectionStrings":{"type":"array","items":{"$ref":"#/types/azure:appservice/FunctionAppConnectionString:FunctionAppConnectionString"},"description":"An \u003cspan pulumi-lang-nodejs=\"`connectionString`\" pulumi-lang-dotnet=\"`ConnectionString`\" pulumi-lang-go=\"`connectionString`\" pulumi-lang-python=\"`connection_string`\" pulumi-lang-yaml=\"`connectionString`\" pulumi-lang-java=\"`connectionString`\"\u003e`connection_string`\u003c/span\u003e block as defined below.\n"},"dailyMemoryTimeQuota":{"type":"integer","description":"The amount of memory in gigabyte-seconds that your application is allowed to consume per day. Setting this value only affects function apps under the consumption plan.\n"},"enableBuiltinLogging":{"type":"boolean","description":"Should the built-in logging of this Function App be enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"enabled":{"type":"boolean","description":"Is the Function App enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"httpsOnly":{"type":"boolean","description":"Can the Function App only be accessed via HTTPS? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"identity":{"$ref":"#/types/azure:appservice/FunctionAppIdentity:FunctionAppIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"keyVaultReferenceIdentityId":{"type":"string","description":"The User Assigned Identity Id used for looking up KeyVault secrets. The identity must be assigned to the application. See [Access vaults with a user-assigned identity](https://docs.microsoft.com/azure/app-service/app-service-key-vault-references#access-vaults-with-a-user-assigned-identity) for more information.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the Function App. Changing this forces a new resource to be created. Limit the function name to 32 characters to avoid naming collisions. For more information about [Function App naming rule](https://docs.microsoft.com/azure/azure-resource-manager/management/resource-name-rules#microsoftweb).\n","willReplaceOnChanges":true},"osType":{"type":"string","description":"A string indicating the Operating System type for this function app. Possible values are \u003cspan pulumi-lang-nodejs=\"`linux`\" pulumi-lang-dotnet=\"`Linux`\" pulumi-lang-go=\"`linux`\" pulumi-lang-python=\"`linux`\" pulumi-lang-yaml=\"`linux`\" pulumi-lang-java=\"`linux`\"\u003e`linux`\u003c/span\u003e and ``(empty string). Changing this forces a new resource to be created. Defaults to `\"\"`.\n\n\u003e **NOTE:** This value will be \u003cspan pulumi-lang-nodejs=\"`linux`\" pulumi-lang-dotnet=\"`Linux`\" pulumi-lang-go=\"`linux`\" pulumi-lang-python=\"`linux`\" pulumi-lang-yaml=\"`linux`\" pulumi-lang-java=\"`linux`\"\u003e`linux`\u003c/span\u003e for Linux derivatives, or an empty string for Windows (default). When set to \u003cspan pulumi-lang-nodejs=\"`linux`\" pulumi-lang-dotnet=\"`Linux`\" pulumi-lang-go=\"`linux`\" pulumi-lang-python=\"`linux`\" pulumi-lang-yaml=\"`linux`\" pulumi-lang-java=\"`linux`\"\u003e`linux`\u003c/span\u003e you must also set \u003cspan pulumi-lang-nodejs=\"`azure.appservice.Plan`\" pulumi-lang-dotnet=\"`azure.appservice.Plan`\" pulumi-lang-go=\"`appservice.Plan`\" pulumi-lang-python=\"`appservice.Plan`\" pulumi-lang-yaml=\"`azure.appservice.Plan`\" pulumi-lang-java=\"`azure.appservice.Plan`\"\u003e`azure.appservice.Plan`\u003c/span\u003e arguments as `kind = \"Linux\"` and `reserved = true`\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the Function App. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"siteConfig":{"$ref":"#/types/azure:appservice/FunctionAppSiteConfig:FunctionAppSiteConfig","description":"A \u003cspan pulumi-lang-nodejs=\"`siteConfig`\" pulumi-lang-dotnet=\"`SiteConfig`\" pulumi-lang-go=\"`siteConfig`\" pulumi-lang-python=\"`site_config`\" pulumi-lang-yaml=\"`siteConfig`\" pulumi-lang-java=\"`siteConfig`\"\u003e`site_config`\u003c/span\u003e object as defined below.\n"},"sourceControl":{"$ref":"#/types/azure:appservice/FunctionAppSourceControl:FunctionAppSourceControl","description":"A \u003cspan pulumi-lang-nodejs=\"`sourceControl`\" pulumi-lang-dotnet=\"`SourceControl`\" pulumi-lang-go=\"`sourceControl`\" pulumi-lang-python=\"`source_control`\" pulumi-lang-yaml=\"`sourceControl`\" pulumi-lang-java=\"`sourceControl`\"\u003e`source_control`\u003c/span\u003e block, as defined below.\n"},"storageAccountAccessKey":{"type":"string","description":"The access key which will be used to access the backend storage account for the Function App.\n\n\u003e **Note:** When integrating a `CI/CD pipeline` and expecting to run from a deployed package in `Azure` you must seed your `app settings` as part of the application code for function app to be successfully deployed. `Important Default key pairs`: (`\"WEBSITE_RUN_FROM_PACKAGE\" = \"\"`, `\"FUNCTIONS_WORKER_RUNTIME\" = \"node\"` (or python, etc), `\"WEBSITE_NODE_DEFAULT_VERSION\" = \"10.14.1\"`, `\"APPINSIGHTS_INSTRUMENTATIONKEY\" = \"\"`).\n\n\u003e **Note:**  When using an App Service Plan in the `Free` or `Shared` Tiers \u003cspan pulumi-lang-nodejs=\"`use32BitWorkerProcess`\" pulumi-lang-dotnet=\"`Use32BitWorkerProcess`\" pulumi-lang-go=\"`use32BitWorkerProcess`\" pulumi-lang-python=\"`use_32_bit_worker_process`\" pulumi-lang-yaml=\"`use32BitWorkerProcess`\" pulumi-lang-java=\"`use32BitWorkerProcess`\"\u003e`use_32_bit_worker_process`\u003c/span\u003e must be set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n","secret":true},"storageAccountName":{"type":"string","description":"The backend storage account name which will be used by this Function App (such as the dashboard, logs). Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"version":{"type":"string","description":"The runtime version associated with the Function App. Defaults to `~1`.\n"}},"requiredInputs":["appServicePlanId","resourceGroupName","storageAccountAccessKey","storageAccountName"],"stateInputs":{"description":"Input properties used for looking up and filtering FunctionApp resources.\n","properties":{"appServicePlanId":{"type":"string","description":"The ID of the App Service Plan within which to create this Function App.\n"},"appSettings":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of key-value pairs for [App Settings](https://docs.microsoft.com/azure/azure-functions/functions-app-settings) and custom values.\n\n\u003e **NOTE:** The values for `AzureWebJobsStorage` and `FUNCTIONS_EXTENSION_VERSION` will be filled by other input arguments and shouldn't be configured separately. `AzureWebJobsStorage` is filled based on \u003cspan pulumi-lang-nodejs=\"`storageAccountName`\" pulumi-lang-dotnet=\"`StorageAccountName`\" pulumi-lang-go=\"`storageAccountName`\" pulumi-lang-python=\"`storage_account_name`\" pulumi-lang-yaml=\"`storageAccountName`\" pulumi-lang-java=\"`storageAccountName`\"\u003e`storage_account_name`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`storageAccountAccessKey`\" pulumi-lang-dotnet=\"`StorageAccountAccessKey`\" pulumi-lang-go=\"`storageAccountAccessKey`\" pulumi-lang-python=\"`storage_account_access_key`\" pulumi-lang-yaml=\"`storageAccountAccessKey`\" pulumi-lang-java=\"`storageAccountAccessKey`\"\u003e`storage_account_access_key`\u003c/span\u003e. `FUNCTIONS_EXTENSION_VERSION` is filled based on \u003cspan pulumi-lang-nodejs=\"`version`\" pulumi-lang-dotnet=\"`Version`\" pulumi-lang-go=\"`version`\" pulumi-lang-python=\"`version`\" pulumi-lang-yaml=\"`version`\" pulumi-lang-java=\"`version`\"\u003e`version`\u003c/span\u003e.\n"},"authSettings":{"$ref":"#/types/azure:appservice/FunctionAppAuthSettings:FunctionAppAuthSettings","description":"A \u003cspan pulumi-lang-nodejs=\"`authSettings`\" pulumi-lang-dotnet=\"`AuthSettings`\" pulumi-lang-go=\"`authSettings`\" pulumi-lang-python=\"`auth_settings`\" pulumi-lang-yaml=\"`authSettings`\" pulumi-lang-java=\"`authSettings`\"\u003e`auth_settings`\u003c/span\u003e block as defined below.\n"},"clientCertMode":{"type":"string","description":"The mode of the Function App's client certificates requirement for incoming requests. Possible values are `Required` and `Optional`.\n"},"connectionStrings":{"type":"array","items":{"$ref":"#/types/azure:appservice/FunctionAppConnectionString:FunctionAppConnectionString"},"description":"An \u003cspan pulumi-lang-nodejs=\"`connectionString`\" pulumi-lang-dotnet=\"`ConnectionString`\" pulumi-lang-go=\"`connectionString`\" pulumi-lang-python=\"`connection_string`\" pulumi-lang-yaml=\"`connectionString`\" pulumi-lang-java=\"`connectionString`\"\u003e`connection_string`\u003c/span\u003e block as defined below.\n"},"customDomainVerificationId":{"type":"string","description":"An identifier used by App Service to perform domain ownership verification via DNS TXT record.\n"},"dailyMemoryTimeQuota":{"type":"integer","description":"The amount of memory in gigabyte-seconds that your application is allowed to consume per day. Setting this value only affects function apps under the consumption plan.\n"},"defaultHostname":{"type":"string","description":"The default hostname associated with the Function App - such as `mysite.azurewebsites.net`\n"},"enableBuiltinLogging":{"type":"boolean","description":"Should the built-in logging of this Function App be enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"enabled":{"type":"boolean","description":"Is the Function App enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"httpsOnly":{"type":"boolean","description":"Can the Function App only be accessed via HTTPS? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"identity":{"$ref":"#/types/azure:appservice/FunctionAppIdentity:FunctionAppIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"keyVaultReferenceIdentityId":{"type":"string","description":"The User Assigned Identity Id used for looking up KeyVault secrets. The identity must be assigned to the application. See [Access vaults with a user-assigned identity](https://docs.microsoft.com/azure/app-service/app-service-key-vault-references#access-vaults-with-a-user-assigned-identity) for more information.\n"},"kind":{"type":"string","description":"The Function App kind - such as `functionapp,linux,container`\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the Function App. Changing this forces a new resource to be created. Limit the function name to 32 characters to avoid naming collisions. For more information about [Function App naming rule](https://docs.microsoft.com/azure/azure-resource-manager/management/resource-name-rules#microsoftweb).\n","willReplaceOnChanges":true},"osType":{"type":"string","description":"A string indicating the Operating System type for this function app. Possible values are \u003cspan pulumi-lang-nodejs=\"`linux`\" pulumi-lang-dotnet=\"`Linux`\" pulumi-lang-go=\"`linux`\" pulumi-lang-python=\"`linux`\" pulumi-lang-yaml=\"`linux`\" pulumi-lang-java=\"`linux`\"\u003e`linux`\u003c/span\u003e and ``(empty string). Changing this forces a new resource to be created. Defaults to `\"\"`.\n\n\u003e **NOTE:** This value will be \u003cspan pulumi-lang-nodejs=\"`linux`\" pulumi-lang-dotnet=\"`Linux`\" pulumi-lang-go=\"`linux`\" pulumi-lang-python=\"`linux`\" pulumi-lang-yaml=\"`linux`\" pulumi-lang-java=\"`linux`\"\u003e`linux`\u003c/span\u003e for Linux derivatives, or an empty string for Windows (default). When set to \u003cspan pulumi-lang-nodejs=\"`linux`\" pulumi-lang-dotnet=\"`Linux`\" pulumi-lang-go=\"`linux`\" pulumi-lang-python=\"`linux`\" pulumi-lang-yaml=\"`linux`\" pulumi-lang-java=\"`linux`\"\u003e`linux`\u003c/span\u003e you must also set \u003cspan pulumi-lang-nodejs=\"`azure.appservice.Plan`\" pulumi-lang-dotnet=\"`azure.appservice.Plan`\" pulumi-lang-go=\"`appservice.Plan`\" pulumi-lang-python=\"`appservice.Plan`\" pulumi-lang-yaml=\"`azure.appservice.Plan`\" pulumi-lang-java=\"`azure.appservice.Plan`\"\u003e`azure.appservice.Plan`\u003c/span\u003e arguments as `kind = \"Linux\"` and `reserved = true`\n","willReplaceOnChanges":true},"outboundIpAddresses":{"type":"string","description":"A comma separated list of outbound IP addresses - such as `52.23.25.3,52.143.43.12`\n"},"possibleOutboundIpAddresses":{"type":"string","description":"A comma separated list of outbound IP addresses - such as `52.23.25.3,52.143.43.12,52.143.43.17` - not all of which are necessarily in use. Superset of \u003cspan pulumi-lang-nodejs=\"`outboundIpAddresses`\" pulumi-lang-dotnet=\"`OutboundIpAddresses`\" pulumi-lang-go=\"`outboundIpAddresses`\" pulumi-lang-python=\"`outbound_ip_addresses`\" pulumi-lang-yaml=\"`outboundIpAddresses`\" pulumi-lang-java=\"`outboundIpAddresses`\"\u003e`outbound_ip_addresses`\u003c/span\u003e.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the Function App. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"siteConfig":{"$ref":"#/types/azure:appservice/FunctionAppSiteConfig:FunctionAppSiteConfig","description":"A \u003cspan pulumi-lang-nodejs=\"`siteConfig`\" pulumi-lang-dotnet=\"`SiteConfig`\" pulumi-lang-go=\"`siteConfig`\" pulumi-lang-python=\"`site_config`\" pulumi-lang-yaml=\"`siteConfig`\" pulumi-lang-java=\"`siteConfig`\"\u003e`site_config`\u003c/span\u003e object as defined below.\n"},"siteCredentials":{"type":"array","items":{"$ref":"#/types/azure:appservice/FunctionAppSiteCredential:FunctionAppSiteCredential"},"description":"A \u003cspan pulumi-lang-nodejs=\"`siteCredential`\" pulumi-lang-dotnet=\"`SiteCredential`\" pulumi-lang-go=\"`siteCredential`\" pulumi-lang-python=\"`site_credential`\" pulumi-lang-yaml=\"`siteCredential`\" pulumi-lang-java=\"`siteCredential`\"\u003e`site_credential`\u003c/span\u003e block as defined below, which contains the site-level credentials used to publish to this App Service.\n"},"sourceControl":{"$ref":"#/types/azure:appservice/FunctionAppSourceControl:FunctionAppSourceControl","description":"A \u003cspan pulumi-lang-nodejs=\"`sourceControl`\" pulumi-lang-dotnet=\"`SourceControl`\" pulumi-lang-go=\"`sourceControl`\" pulumi-lang-python=\"`source_control`\" pulumi-lang-yaml=\"`sourceControl`\" pulumi-lang-java=\"`sourceControl`\"\u003e`source_control`\u003c/span\u003e block, as defined below.\n"},"storageAccountAccessKey":{"type":"string","description":"The access key which will be used to access the backend storage account for the Function App.\n\n\u003e **Note:** When integrating a `CI/CD pipeline` and expecting to run from a deployed package in `Azure` you must seed your `app settings` as part of the application code for function app to be successfully deployed. `Important Default key pairs`: (`\"WEBSITE_RUN_FROM_PACKAGE\" = \"\"`, `\"FUNCTIONS_WORKER_RUNTIME\" = \"node\"` (or python, etc), `\"WEBSITE_NODE_DEFAULT_VERSION\" = \"10.14.1\"`, `\"APPINSIGHTS_INSTRUMENTATIONKEY\" = \"\"`).\n\n\u003e **Note:**  When using an App Service Plan in the `Free` or `Shared` Tiers \u003cspan pulumi-lang-nodejs=\"`use32BitWorkerProcess`\" pulumi-lang-dotnet=\"`Use32BitWorkerProcess`\" pulumi-lang-go=\"`use32BitWorkerProcess`\" pulumi-lang-python=\"`use_32_bit_worker_process`\" pulumi-lang-yaml=\"`use32BitWorkerProcess`\" pulumi-lang-java=\"`use32BitWorkerProcess`\"\u003e`use_32_bit_worker_process`\u003c/span\u003e must be set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n","secret":true},"storageAccountName":{"type":"string","description":"The backend storage account name which will be used by this Function App (such as the dashboard, logs). Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"version":{"type":"string","description":"The runtime version associated with the Function App. Defaults to `~1`.\n"}},"type":"object"}},"azure:appservice/functionAppActiveSlot:FunctionAppActiveSlot":{"description":"Manages a Function App Active Slot.\n\n## Example Usage\n\n### Windows Function App\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleAccount = new azure.storage.Account(\"example\", {\n    name: \"windowsfunctionappsa\",\n    resourceGroupName: example.name,\n    location: example.location,\n    accountTier: \"Standard\",\n    accountReplicationType: \"LRS\",\n});\nconst exampleServicePlan = new azure.appservice.ServicePlan(\"example\", {\n    name: \"example-app-service-plan\",\n    resourceGroupName: example.name,\n    location: example.location,\n    osType: \"Windows\",\n    skuName: \"Y1\",\n});\nconst exampleWindowsFunctionApp = new azure.appservice.WindowsFunctionApp(\"example\", {\n    name: \"example-windows-function-app\",\n    resourceGroupName: example.name,\n    location: example.location,\n    storageAccountName: exampleAccount.name,\n    servicePlanId: exampleServicePlan.id,\n    siteConfig: {},\n});\nconst exampleWindowsFunctionAppSlot = new azure.appservice.WindowsFunctionAppSlot(\"example\", {\n    name: \"example-windows-function-app-slot\",\n    functionAppId: exampleWindowsFunctionApp.id,\n    storageAccountName: exampleAccount.name,\n    siteConfig: {},\n});\nconst exampleFunctionAppActiveSlot = new azure.appservice.FunctionAppActiveSlot(\"example\", {slotId: exampleWindowsFunctionAppSlot.id});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_account = azure.storage.Account(\"example\",\n    name=\"windowsfunctionappsa\",\n    resource_group_name=example.name,\n    location=example.location,\n    account_tier=\"Standard\",\n    account_replication_type=\"LRS\")\nexample_service_plan = azure.appservice.ServicePlan(\"example\",\n    name=\"example-app-service-plan\",\n    resource_group_name=example.name,\n    location=example.location,\n    os_type=\"Windows\",\n    sku_name=\"Y1\")\nexample_windows_function_app = azure.appservice.WindowsFunctionApp(\"example\",\n    name=\"example-windows-function-app\",\n    resource_group_name=example.name,\n    location=example.location,\n    storage_account_name=example_account.name,\n    service_plan_id=example_service_plan.id,\n    site_config={})\nexample_windows_function_app_slot = azure.appservice.WindowsFunctionAppSlot(\"example\",\n    name=\"example-windows-function-app-slot\",\n    function_app_id=example_windows_function_app.id,\n    storage_account_name=example_account.name,\n    site_config={})\nexample_function_app_active_slot = azure.appservice.FunctionAppActiveSlot(\"example\", slot_id=example_windows_function_app_slot.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleAccount = new Azure.Storage.Account(\"example\", new()\n    {\n        Name = \"windowsfunctionappsa\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        AccountTier = \"Standard\",\n        AccountReplicationType = \"LRS\",\n    });\n\n    var exampleServicePlan = new Azure.AppService.ServicePlan(\"example\", new()\n    {\n        Name = \"example-app-service-plan\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        OsType = \"Windows\",\n        SkuName = \"Y1\",\n    });\n\n    var exampleWindowsFunctionApp = new Azure.AppService.WindowsFunctionApp(\"example\", new()\n    {\n        Name = \"example-windows-function-app\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        StorageAccountName = exampleAccount.Name,\n        ServicePlanId = exampleServicePlan.Id,\n        SiteConfig = null,\n    });\n\n    var exampleWindowsFunctionAppSlot = new Azure.AppService.WindowsFunctionAppSlot(\"example\", new()\n    {\n        Name = \"example-windows-function-app-slot\",\n        FunctionAppId = exampleWindowsFunctionApp.Id,\n        StorageAccountName = exampleAccount.Name,\n        SiteConfig = null,\n    });\n\n    var exampleFunctionAppActiveSlot = new Azure.AppService.FunctionAppActiveSlot(\"example\", new()\n    {\n        SlotId = exampleWindowsFunctionAppSlot.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/appservice\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := storage.NewAccount(ctx, \"example\", \u0026storage.AccountArgs{\n\t\t\tName:                   pulumi.String(\"windowsfunctionappsa\"),\n\t\t\tResourceGroupName:      example.Name,\n\t\t\tLocation:               example.Location,\n\t\t\tAccountTier:            pulumi.String(\"Standard\"),\n\t\t\tAccountReplicationType: pulumi.String(\"LRS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleServicePlan, err := appservice.NewServicePlan(ctx, \"example\", \u0026appservice.ServicePlanArgs{\n\t\t\tName:              pulumi.String(\"example-app-service-plan\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tOsType:            pulumi.String(\"Windows\"),\n\t\t\tSkuName:           pulumi.String(\"Y1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleWindowsFunctionApp, err := appservice.NewWindowsFunctionApp(ctx, \"example\", \u0026appservice.WindowsFunctionAppArgs{\n\t\t\tName:               pulumi.String(\"example-windows-function-app\"),\n\t\t\tResourceGroupName:  example.Name,\n\t\t\tLocation:           example.Location,\n\t\t\tStorageAccountName: exampleAccount.Name,\n\t\t\tServicePlanId:      exampleServicePlan.ID(),\n\t\t\tSiteConfig:         \u0026appservice.WindowsFunctionAppSiteConfigArgs{},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleWindowsFunctionAppSlot, err := appservice.NewWindowsFunctionAppSlot(ctx, \"example\", \u0026appservice.WindowsFunctionAppSlotArgs{\n\t\t\tName:               pulumi.String(\"example-windows-function-app-slot\"),\n\t\t\tFunctionAppId:      exampleWindowsFunctionApp.ID(),\n\t\t\tStorageAccountName: exampleAccount.Name,\n\t\t\tSiteConfig:         \u0026appservice.WindowsFunctionAppSlotSiteConfigArgs{},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = appservice.NewFunctionAppActiveSlot(ctx, \"example\", \u0026appservice.FunctionAppActiveSlotArgs{\n\t\t\tSlotId: exampleWindowsFunctionAppSlot.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.storage.Account;\nimport com.pulumi.azure.storage.AccountArgs;\nimport com.pulumi.azure.appservice.ServicePlan;\nimport com.pulumi.azure.appservice.ServicePlanArgs;\nimport com.pulumi.azure.appservice.WindowsFunctionApp;\nimport com.pulumi.azure.appservice.WindowsFunctionAppArgs;\nimport com.pulumi.azure.appservice.inputs.WindowsFunctionAppSiteConfigArgs;\nimport com.pulumi.azure.appservice.WindowsFunctionAppSlot;\nimport com.pulumi.azure.appservice.WindowsFunctionAppSlotArgs;\nimport com.pulumi.azure.appservice.inputs.WindowsFunctionAppSlotSiteConfigArgs;\nimport com.pulumi.azure.appservice.FunctionAppActiveSlot;\nimport com.pulumi.azure.appservice.FunctionAppActiveSlotArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"windowsfunctionappsa\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .accountTier(\"Standard\")\n            .accountReplicationType(\"LRS\")\n            .build());\n\n        var exampleServicePlan = new ServicePlan(\"exampleServicePlan\", ServicePlanArgs.builder()\n            .name(\"example-app-service-plan\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .osType(\"Windows\")\n            .skuName(\"Y1\")\n            .build());\n\n        var exampleWindowsFunctionApp = new WindowsFunctionApp(\"exampleWindowsFunctionApp\", WindowsFunctionAppArgs.builder()\n            .name(\"example-windows-function-app\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .storageAccountName(exampleAccount.name())\n            .servicePlanId(exampleServicePlan.id())\n            .siteConfig(WindowsFunctionAppSiteConfigArgs.builder()\n                .build())\n            .build());\n\n        var exampleWindowsFunctionAppSlot = new WindowsFunctionAppSlot(\"exampleWindowsFunctionAppSlot\", WindowsFunctionAppSlotArgs.builder()\n            .name(\"example-windows-function-app-slot\")\n            .functionAppId(exampleWindowsFunctionApp.id())\n            .storageAccountName(exampleAccount.name())\n            .siteConfig(WindowsFunctionAppSlotSiteConfigArgs.builder()\n                .build())\n            .build());\n\n        var exampleFunctionAppActiveSlot = new FunctionAppActiveSlot(\"exampleFunctionAppActiveSlot\", FunctionAppActiveSlotArgs.builder()\n            .slotId(exampleWindowsFunctionAppSlot.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleAccount:\n    type: azure:storage:Account\n    name: example\n    properties:\n      name: windowsfunctionappsa\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      accountTier: Standard\n      accountReplicationType: LRS\n  exampleServicePlan:\n    type: azure:appservice:ServicePlan\n    name: example\n    properties:\n      name: example-app-service-plan\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      osType: Windows\n      skuName: Y1\n  exampleWindowsFunctionApp:\n    type: azure:appservice:WindowsFunctionApp\n    name: example\n    properties:\n      name: example-windows-function-app\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      storageAccountName: ${exampleAccount.name}\n      servicePlanId: ${exampleServicePlan.id}\n      siteConfig: {}\n  exampleWindowsFunctionAppSlot:\n    type: azure:appservice:WindowsFunctionAppSlot\n    name: example\n    properties:\n      name: example-windows-function-app-slot\n      functionAppId: ${exampleWindowsFunctionApp.id}\n      storageAccountName: ${exampleAccount.name}\n      siteConfig: {}\n  exampleFunctionAppActiveSlot:\n    type: azure:appservice:FunctionAppActiveSlot\n    name: example\n    properties:\n      slotId: ${exampleWindowsFunctionAppSlot.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Linux Function App\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleAccount = new azure.storage.Account(\"example\", {\n    name: \"linuxfunctionappsa\",\n    resourceGroupName: example.name,\n    location: example.location,\n    accountTier: \"Standard\",\n    accountReplicationType: \"LRS\",\n});\nconst exampleServicePlan = new azure.appservice.ServicePlan(\"example\", {\n    name: \"example-app-service-plan\",\n    resourceGroupName: example.name,\n    location: example.location,\n    osType: \"Linux\",\n    skuName: \"Y1\",\n});\nconst exampleLinuxFunctionApp = new azure.appservice.LinuxFunctionApp(\"example\", {\n    name: \"example-linux-function-app\",\n    resourceGroupName: example.name,\n    location: example.location,\n    servicePlanId: exampleServicePlan.id,\n    storageAccountName: exampleAccount.name,\n    siteConfig: {},\n});\nconst exampleLinuxFunctionAppSlot = new azure.appservice.LinuxFunctionAppSlot(\"example\", {\n    name: \"example-linux-function-app-slot\",\n    functionAppId: exampleLinuxFunctionApp.name,\n    storageAccountName: exampleAccount.name,\n    siteConfig: {},\n});\nconst exampleFunctionAppActiveSlot = new azure.appservice.FunctionAppActiveSlot(\"example\", {slotId: exampleLinuxFunctionAppSlot.id});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_account = azure.storage.Account(\"example\",\n    name=\"linuxfunctionappsa\",\n    resource_group_name=example.name,\n    location=example.location,\n    account_tier=\"Standard\",\n    account_replication_type=\"LRS\")\nexample_service_plan = azure.appservice.ServicePlan(\"example\",\n    name=\"example-app-service-plan\",\n    resource_group_name=example.name,\n    location=example.location,\n    os_type=\"Linux\",\n    sku_name=\"Y1\")\nexample_linux_function_app = azure.appservice.LinuxFunctionApp(\"example\",\n    name=\"example-linux-function-app\",\n    resource_group_name=example.name,\n    location=example.location,\n    service_plan_id=example_service_plan.id,\n    storage_account_name=example_account.name,\n    site_config={})\nexample_linux_function_app_slot = azure.appservice.LinuxFunctionAppSlot(\"example\",\n    name=\"example-linux-function-app-slot\",\n    function_app_id=example_linux_function_app.name,\n    storage_account_name=example_account.name,\n    site_config={})\nexample_function_app_active_slot = azure.appservice.FunctionAppActiveSlot(\"example\", slot_id=example_linux_function_app_slot.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleAccount = new Azure.Storage.Account(\"example\", new()\n    {\n        Name = \"linuxfunctionappsa\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        AccountTier = \"Standard\",\n        AccountReplicationType = \"LRS\",\n    });\n\n    var exampleServicePlan = new Azure.AppService.ServicePlan(\"example\", new()\n    {\n        Name = \"example-app-service-plan\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        OsType = \"Linux\",\n        SkuName = \"Y1\",\n    });\n\n    var exampleLinuxFunctionApp = new Azure.AppService.LinuxFunctionApp(\"example\", new()\n    {\n        Name = \"example-linux-function-app\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        ServicePlanId = exampleServicePlan.Id,\n        StorageAccountName = exampleAccount.Name,\n        SiteConfig = null,\n    });\n\n    var exampleLinuxFunctionAppSlot = new Azure.AppService.LinuxFunctionAppSlot(\"example\", new()\n    {\n        Name = \"example-linux-function-app-slot\",\n        FunctionAppId = exampleLinuxFunctionApp.Name,\n        StorageAccountName = exampleAccount.Name,\n        SiteConfig = null,\n    });\n\n    var exampleFunctionAppActiveSlot = new Azure.AppService.FunctionAppActiveSlot(\"example\", new()\n    {\n        SlotId = exampleLinuxFunctionAppSlot.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/appservice\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := storage.NewAccount(ctx, \"example\", \u0026storage.AccountArgs{\n\t\t\tName:                   pulumi.String(\"linuxfunctionappsa\"),\n\t\t\tResourceGroupName:      example.Name,\n\t\t\tLocation:               example.Location,\n\t\t\tAccountTier:            pulumi.String(\"Standard\"),\n\t\t\tAccountReplicationType: pulumi.String(\"LRS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleServicePlan, err := appservice.NewServicePlan(ctx, \"example\", \u0026appservice.ServicePlanArgs{\n\t\t\tName:              pulumi.String(\"example-app-service-plan\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tOsType:            pulumi.String(\"Linux\"),\n\t\t\tSkuName:           pulumi.String(\"Y1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleLinuxFunctionApp, err := appservice.NewLinuxFunctionApp(ctx, \"example\", \u0026appservice.LinuxFunctionAppArgs{\n\t\t\tName:               pulumi.String(\"example-linux-function-app\"),\n\t\t\tResourceGroupName:  example.Name,\n\t\t\tLocation:           example.Location,\n\t\t\tServicePlanId:      exampleServicePlan.ID(),\n\t\t\tStorageAccountName: exampleAccount.Name,\n\t\t\tSiteConfig:         \u0026appservice.LinuxFunctionAppSiteConfigArgs{},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleLinuxFunctionAppSlot, err := appservice.NewLinuxFunctionAppSlot(ctx, \"example\", \u0026appservice.LinuxFunctionAppSlotArgs{\n\t\t\tName:               pulumi.String(\"example-linux-function-app-slot\"),\n\t\t\tFunctionAppId:      exampleLinuxFunctionApp.Name,\n\t\t\tStorageAccountName: exampleAccount.Name,\n\t\t\tSiteConfig:         \u0026appservice.LinuxFunctionAppSlotSiteConfigArgs{},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = appservice.NewFunctionAppActiveSlot(ctx, \"example\", \u0026appservice.FunctionAppActiveSlotArgs{\n\t\t\tSlotId: exampleLinuxFunctionAppSlot.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.storage.Account;\nimport com.pulumi.azure.storage.AccountArgs;\nimport com.pulumi.azure.appservice.ServicePlan;\nimport com.pulumi.azure.appservice.ServicePlanArgs;\nimport com.pulumi.azure.appservice.LinuxFunctionApp;\nimport com.pulumi.azure.appservice.LinuxFunctionAppArgs;\nimport com.pulumi.azure.appservice.inputs.LinuxFunctionAppSiteConfigArgs;\nimport com.pulumi.azure.appservice.LinuxFunctionAppSlot;\nimport com.pulumi.azure.appservice.LinuxFunctionAppSlotArgs;\nimport com.pulumi.azure.appservice.inputs.LinuxFunctionAppSlotSiteConfigArgs;\nimport com.pulumi.azure.appservice.FunctionAppActiveSlot;\nimport com.pulumi.azure.appservice.FunctionAppActiveSlotArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"linuxfunctionappsa\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .accountTier(\"Standard\")\n            .accountReplicationType(\"LRS\")\n            .build());\n\n        var exampleServicePlan = new ServicePlan(\"exampleServicePlan\", ServicePlanArgs.builder()\n            .name(\"example-app-service-plan\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .osType(\"Linux\")\n            .skuName(\"Y1\")\n            .build());\n\n        var exampleLinuxFunctionApp = new LinuxFunctionApp(\"exampleLinuxFunctionApp\", LinuxFunctionAppArgs.builder()\n            .name(\"example-linux-function-app\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .servicePlanId(exampleServicePlan.id())\n            .storageAccountName(exampleAccount.name())\n            .siteConfig(LinuxFunctionAppSiteConfigArgs.builder()\n                .build())\n            .build());\n\n        var exampleLinuxFunctionAppSlot = new LinuxFunctionAppSlot(\"exampleLinuxFunctionAppSlot\", LinuxFunctionAppSlotArgs.builder()\n            .name(\"example-linux-function-app-slot\")\n            .functionAppId(exampleLinuxFunctionApp.name())\n            .storageAccountName(exampleAccount.name())\n            .siteConfig(LinuxFunctionAppSlotSiteConfigArgs.builder()\n                .build())\n            .build());\n\n        var exampleFunctionAppActiveSlot = new FunctionAppActiveSlot(\"exampleFunctionAppActiveSlot\", FunctionAppActiveSlotArgs.builder()\n            .slotId(exampleLinuxFunctionAppSlot.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleAccount:\n    type: azure:storage:Account\n    name: example\n    properties:\n      name: linuxfunctionappsa\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      accountTier: Standard\n      accountReplicationType: LRS\n  exampleServicePlan:\n    type: azure:appservice:ServicePlan\n    name: example\n    properties:\n      name: example-app-service-plan\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      osType: Linux\n      skuName: Y1\n  exampleLinuxFunctionApp:\n    type: azure:appservice:LinuxFunctionApp\n    name: example\n    properties:\n      name: example-linux-function-app\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      servicePlanId: ${exampleServicePlan.id}\n      storageAccountName: ${exampleAccount.name}\n      siteConfig: {}\n  exampleLinuxFunctionAppSlot:\n    type: azure:appservice:LinuxFunctionAppSlot\n    name: example\n    properties:\n      name: example-linux-function-app-slot\n      functionAppId: ${exampleLinuxFunctionApp.name}\n      storageAccountName: ${exampleAccount.name}\n      siteConfig: {}\n  exampleFunctionAppActiveSlot:\n    type: azure:appservice:FunctionAppActiveSlot\n    name: example\n    properties:\n      slotId: ${exampleLinuxFunctionAppSlot.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Web` - 2023-12-01\n\n## Import\n\na Function App Active Slot can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:appservice/functionAppActiveSlot:FunctionAppActiveSlot example \"/subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/resGroup1/providers/Microsoft.Web/sites/site1\"\n```\n\n","properties":{"lastSuccessfulSwap":{"type":"string","description":"The timestamp of the last successful swap with `Production`\n"},"overwriteNetworkConfig":{"type":"boolean","description":"The swap action should overwrite the Production slot's network configuration with the configuration from this slot. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e. Changing this forces a new resource to be created.\n"},"slotId":{"type":"string","description":"The ID of the Slot to swap with `Production`.\n"}},"required":["lastSuccessfulSwap","slotId"],"inputProperties":{"overwriteNetworkConfig":{"type":"boolean","description":"The swap action should overwrite the Production slot's network configuration with the configuration from this slot. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"slotId":{"type":"string","description":"The ID of the Slot to swap with `Production`.\n"}},"requiredInputs":["slotId"],"stateInputs":{"description":"Input properties used for looking up and filtering FunctionAppActiveSlot resources.\n","properties":{"lastSuccessfulSwap":{"type":"string","description":"The timestamp of the last successful swap with `Production`\n"},"overwriteNetworkConfig":{"type":"boolean","description":"The swap action should overwrite the Production slot's network configuration with the configuration from this slot. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"slotId":{"type":"string","description":"The ID of the Slot to swap with `Production`.\n"}},"type":"object"}},"azure:appservice/functionAppFunction:FunctionAppFunction":{"description":"Manages a Function App Function.\n\n## Example Usage\n\n### Basic HTTP Trigger\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-group\",\n    location: \"West Europe\",\n});\nconst exampleAccount = new azure.storage.Account(\"example\", {\n    name: \"examplesa\",\n    resourceGroupName: example.name,\n    location: example.location,\n    accountTier: \"Standard\",\n    accountReplicationType: \"LRS\",\n});\nconst exampleServicePlan = new azure.appservice.ServicePlan(\"example\", {\n    name: \"example-service-plan\",\n    location: example.location,\n    resourceGroupName: example.name,\n    osType: \"Linux\",\n    skuName: \"S1\",\n});\nconst exampleLinuxFunctionApp = new azure.appservice.LinuxFunctionApp(\"example\", {\n    name: \"example-function-app\",\n    location: example.location,\n    resourceGroupName: example.name,\n    servicePlanId: exampleServicePlan.id,\n    storageAccountName: exampleAccount.name,\n    storageAccountAccessKey: exampleAccount.primaryAccessKey,\n    siteConfig: {\n        applicationStack: {\n            pythonVersion: \"3.9\",\n        },\n    },\n});\nconst exampleFunctionAppFunction = new azure.appservice.FunctionAppFunction(\"example\", {\n    name: \"example-function-app-function\",\n    functionAppId: exampleLinuxFunctionApp.id,\n    language: \"Python\",\n    testData: JSON.stringify({\n        name: \"Azure\",\n    }),\n    configJson: JSON.stringify({\n        bindings: [\n            {\n                authLevel: \"function\",\n                direction: \"in\",\n                methods: [\n                    \"get\",\n                    \"post\",\n                ],\n                name: \"req\",\n                type: \"httpTrigger\",\n            },\n            {\n                direction: \"out\",\n                name: \"$return\",\n                type: \"http\",\n            },\n        ],\n    }),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-group\",\n    location=\"West Europe\")\nexample_account = azure.storage.Account(\"example\",\n    name=\"examplesa\",\n    resource_group_name=example.name,\n    location=example.location,\n    account_tier=\"Standard\",\n    account_replication_type=\"LRS\")\nexample_service_plan = azure.appservice.ServicePlan(\"example\",\n    name=\"example-service-plan\",\n    location=example.location,\n    resource_group_name=example.name,\n    os_type=\"Linux\",\n    sku_name=\"S1\")\nexample_linux_function_app = azure.appservice.LinuxFunctionApp(\"example\",\n    name=\"example-function-app\",\n    location=example.location,\n    resource_group_name=example.name,\n    service_plan_id=example_service_plan.id,\n    storage_account_name=example_account.name,\n    storage_account_access_key=example_account.primary_access_key,\n    site_config={\n        \"application_stack\": {\n            \"python_version\": \"3.9\",\n        },\n    })\nexample_function_app_function = azure.appservice.FunctionAppFunction(\"example\",\n    name=\"example-function-app-function\",\n    function_app_id=example_linux_function_app.id,\n    language=\"Python\",\n    test_data=json.dumps({\n        \"name\": \"Azure\",\n    }),\n    config_json=json.dumps({\n        \"bindings\": [\n            {\n                \"authLevel\": \"function\",\n                \"direction\": \"in\",\n                \"methods\": [\n                    \"get\",\n                    \"post\",\n                ],\n                \"name\": \"req\",\n                \"type\": \"httpTrigger\",\n            },\n            {\n                \"direction\": \"out\",\n                \"name\": \"$return\",\n                \"type\": \"http\",\n            },\n        ],\n    }))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-group\",\n        Location = \"West Europe\",\n    });\n\n    var exampleAccount = new Azure.Storage.Account(\"example\", new()\n    {\n        Name = \"examplesa\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        AccountTier = \"Standard\",\n        AccountReplicationType = \"LRS\",\n    });\n\n    var exampleServicePlan = new Azure.AppService.ServicePlan(\"example\", new()\n    {\n        Name = \"example-service-plan\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        OsType = \"Linux\",\n        SkuName = \"S1\",\n    });\n\n    var exampleLinuxFunctionApp = new Azure.AppService.LinuxFunctionApp(\"example\", new()\n    {\n        Name = \"example-function-app\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        ServicePlanId = exampleServicePlan.Id,\n        StorageAccountName = exampleAccount.Name,\n        StorageAccountAccessKey = exampleAccount.PrimaryAccessKey,\n        SiteConfig = new Azure.AppService.Inputs.LinuxFunctionAppSiteConfigArgs\n        {\n            ApplicationStack = new Azure.AppService.Inputs.LinuxFunctionAppSiteConfigApplicationStackArgs\n            {\n                PythonVersion = \"3.9\",\n            },\n        },\n    });\n\n    var exampleFunctionAppFunction = new Azure.AppService.FunctionAppFunction(\"example\", new()\n    {\n        Name = \"example-function-app-function\",\n        FunctionAppId = exampleLinuxFunctionApp.Id,\n        Language = \"Python\",\n        TestData = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n        {\n            [\"name\"] = \"Azure\",\n        }),\n        ConfigJson = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n        {\n            [\"bindings\"] = new[]\n            {\n                new Dictionary\u003cstring, object?\u003e\n                {\n                    [\"authLevel\"] = \"function\",\n                    [\"direction\"] = \"in\",\n                    [\"methods\"] = new[]\n                    {\n                        \"get\",\n                        \"post\",\n                    },\n                    [\"name\"] = \"req\",\n                    [\"type\"] = \"httpTrigger\",\n                },\n                new Dictionary\u003cstring, object?\u003e\n                {\n                    [\"direction\"] = \"out\",\n                    [\"name\"] = \"$return\",\n                    [\"type\"] = \"http\",\n                },\n            },\n        }),\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/appservice\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-group\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := storage.NewAccount(ctx, \"example\", \u0026storage.AccountArgs{\n\t\t\tName:                   pulumi.String(\"examplesa\"),\n\t\t\tResourceGroupName:      example.Name,\n\t\t\tLocation:               example.Location,\n\t\t\tAccountTier:            pulumi.String(\"Standard\"),\n\t\t\tAccountReplicationType: pulumi.String(\"LRS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleServicePlan, err := appservice.NewServicePlan(ctx, \"example\", \u0026appservice.ServicePlanArgs{\n\t\t\tName:              pulumi.String(\"example-service-plan\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tOsType:            pulumi.String(\"Linux\"),\n\t\t\tSkuName:           pulumi.String(\"S1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleLinuxFunctionApp, err := appservice.NewLinuxFunctionApp(ctx, \"example\", \u0026appservice.LinuxFunctionAppArgs{\n\t\t\tName:                    pulumi.String(\"example-function-app\"),\n\t\t\tLocation:                example.Location,\n\t\t\tResourceGroupName:       example.Name,\n\t\t\tServicePlanId:           exampleServicePlan.ID(),\n\t\t\tStorageAccountName:      exampleAccount.Name,\n\t\t\tStorageAccountAccessKey: exampleAccount.PrimaryAccessKey,\n\t\t\tSiteConfig: \u0026appservice.LinuxFunctionAppSiteConfigArgs{\n\t\t\t\tApplicationStack: \u0026appservice.LinuxFunctionAppSiteConfigApplicationStackArgs{\n\t\t\t\t\tPythonVersion: pulumi.String(\"3.9\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"name\": \"Azure\",\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson0 := string(tmpJSON0)\n\t\ttmpJSON1, err := json.Marshal(map[string]interface{}{\n\t\t\t\"bindings\": []interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"authLevel\": \"function\",\n\t\t\t\t\t\"direction\": \"in\",\n\t\t\t\t\t\"methods\": []string{\n\t\t\t\t\t\t\"get\",\n\t\t\t\t\t\t\"post\",\n\t\t\t\t\t},\n\t\t\t\t\t\"name\": \"req\",\n\t\t\t\t\t\"type\": \"httpTrigger\",\n\t\t\t\t},\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"direction\": \"out\",\n\t\t\t\t\t\"name\":      \"$return\",\n\t\t\t\t\t\"type\":      \"http\",\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson1 := string(tmpJSON1)\n\t\t_, err = appservice.NewFunctionAppFunction(ctx, \"example\", \u0026appservice.FunctionAppFunctionArgs{\n\t\t\tName:          pulumi.String(\"example-function-app-function\"),\n\t\t\tFunctionAppId: exampleLinuxFunctionApp.ID(),\n\t\t\tLanguage:      pulumi.String(\"Python\"),\n\t\t\tTestData:      pulumi.String(json0),\n\t\t\tConfigJson:    pulumi.String(json1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.storage.Account;\nimport com.pulumi.azure.storage.AccountArgs;\nimport com.pulumi.azure.appservice.ServicePlan;\nimport com.pulumi.azure.appservice.ServicePlanArgs;\nimport com.pulumi.azure.appservice.LinuxFunctionApp;\nimport com.pulumi.azure.appservice.LinuxFunctionAppArgs;\nimport com.pulumi.azure.appservice.inputs.LinuxFunctionAppSiteConfigArgs;\nimport com.pulumi.azure.appservice.inputs.LinuxFunctionAppSiteConfigApplicationStackArgs;\nimport com.pulumi.azure.appservice.FunctionAppFunction;\nimport com.pulumi.azure.appservice.FunctionAppFunctionArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-group\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"examplesa\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .accountTier(\"Standard\")\n            .accountReplicationType(\"LRS\")\n            .build());\n\n        var exampleServicePlan = new ServicePlan(\"exampleServicePlan\", ServicePlanArgs.builder()\n            .name(\"example-service-plan\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .osType(\"Linux\")\n            .skuName(\"S1\")\n            .build());\n\n        var exampleLinuxFunctionApp = new LinuxFunctionApp(\"exampleLinuxFunctionApp\", LinuxFunctionAppArgs.builder()\n            .name(\"example-function-app\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .servicePlanId(exampleServicePlan.id())\n            .storageAccountName(exampleAccount.name())\n            .storageAccountAccessKey(exampleAccount.primaryAccessKey())\n            .siteConfig(LinuxFunctionAppSiteConfigArgs.builder()\n                .applicationStack(LinuxFunctionAppSiteConfigApplicationStackArgs.builder()\n                    .pythonVersion(\"3.9\")\n                    .build())\n                .build())\n            .build());\n\n        var exampleFunctionAppFunction = new FunctionAppFunction(\"exampleFunctionAppFunction\", FunctionAppFunctionArgs.builder()\n            .name(\"example-function-app-function\")\n            .functionAppId(exampleLinuxFunctionApp.id())\n            .language(\"Python\")\n            .testData(serializeJson(\n                jsonObject(\n                    jsonProperty(\"name\", \"Azure\")\n                )))\n            .configJson(serializeJson(\n                jsonObject(\n                    jsonProperty(\"bindings\", jsonArray(\n                        jsonObject(\n                            jsonProperty(\"authLevel\", \"function\"),\n                            jsonProperty(\"direction\", \"in\"),\n                            jsonProperty(\"methods\", jsonArray(\n                                \"get\", \n                                \"post\"\n                            )),\n                            jsonProperty(\"name\", \"req\"),\n                            jsonProperty(\"type\", \"httpTrigger\")\n                        ), \n                        jsonObject(\n                            jsonProperty(\"direction\", \"out\"),\n                            jsonProperty(\"name\", \"$return\"),\n                            jsonProperty(\"type\", \"http\")\n                        )\n                    ))\n                )))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-group\n      location: West Europe\n  exampleAccount:\n    type: azure:storage:Account\n    name: example\n    properties:\n      name: examplesa\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      accountTier: Standard\n      accountReplicationType: LRS\n  exampleServicePlan:\n    type: azure:appservice:ServicePlan\n    name: example\n    properties:\n      name: example-service-plan\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      osType: Linux\n      skuName: S1\n  exampleLinuxFunctionApp:\n    type: azure:appservice:LinuxFunctionApp\n    name: example\n    properties:\n      name: example-function-app\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      servicePlanId: ${exampleServicePlan.id}\n      storageAccountName: ${exampleAccount.name}\n      storageAccountAccessKey: ${exampleAccount.primaryAccessKey}\n      siteConfig:\n        applicationStack:\n          pythonVersion: '3.9'\n  exampleFunctionAppFunction:\n    type: azure:appservice:FunctionAppFunction\n    name: example\n    properties:\n      name: example-function-app-function\n      functionAppId: ${exampleLinuxFunctionApp.id}\n      language: Python\n      testData:\n        fn::toJSON:\n          name: Azure\n      configJson:\n        fn::toJSON:\n          bindings:\n            - authLevel: function\n              direction: in\n              methods:\n                - get\n                - post\n              name: req\n              type: httpTrigger\n            - direction: out\n              name: $return\n              type: http\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### HTTP Trigger With Code Upload\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\nimport * as std from \"@pulumi/std\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-group\",\n    location: \"West Europe\",\n});\nconst exampleAccount = new azure.storage.Account(\"example\", {\n    name: \"examplesa\",\n    resourceGroupName: example.name,\n    location: example.location,\n    accountTier: \"Standard\",\n    accountReplicationType: \"LRS\",\n});\nconst exampleServicePlan = new azure.appservice.ServicePlan(\"example\", {\n    name: \"example-service-plan\",\n    location: example.location,\n    resourceGroupName: example.name,\n    osType: \"Windows\",\n    skuName: \"S1\",\n});\nconst exampleWindowsFunctionApp = new azure.appservice.WindowsFunctionApp(\"example\", {\n    name: \"example-function-app\",\n    location: example.location,\n    resourceGroupName: example.name,\n    servicePlanId: exampleServicePlan.id,\n    storageAccountName: exampleAccount.name,\n    storageAccountAccessKey: exampleAccount.primaryAccessKey,\n    siteConfig: {\n        applicationStack: {\n            dotnetVersion: \"6\",\n        },\n    },\n});\nconst exampleFunctionAppFunction = new azure.appservice.FunctionAppFunction(\"example\", {\n    name: \"example-function-app-function\",\n    functionAppId: exampleWindowsFunctionApp.id,\n    language: \"CSharp\",\n    files: [{\n        name: \"run.csx\",\n        content: std.file({\n            input: \"exampledata/run.csx\",\n        }).then(invoke =\u003e invoke.result),\n    }],\n    testData: JSON.stringify({\n        name: \"Azure\",\n    }),\n    configJson: JSON.stringify({\n        bindings: [\n            {\n                authLevel: \"function\",\n                direction: \"in\",\n                methods: [\n                    \"get\",\n                    \"post\",\n                ],\n                name: \"req\",\n                type: \"httpTrigger\",\n            },\n            {\n                direction: \"out\",\n                name: \"$return\",\n                type: \"http\",\n            },\n        ],\n    }),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_azure as azure\nimport pulumi_std as std\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-group\",\n    location=\"West Europe\")\nexample_account = azure.storage.Account(\"example\",\n    name=\"examplesa\",\n    resource_group_name=example.name,\n    location=example.location,\n    account_tier=\"Standard\",\n    account_replication_type=\"LRS\")\nexample_service_plan = azure.appservice.ServicePlan(\"example\",\n    name=\"example-service-plan\",\n    location=example.location,\n    resource_group_name=example.name,\n    os_type=\"Windows\",\n    sku_name=\"S1\")\nexample_windows_function_app = azure.appservice.WindowsFunctionApp(\"example\",\n    name=\"example-function-app\",\n    location=example.location,\n    resource_group_name=example.name,\n    service_plan_id=example_service_plan.id,\n    storage_account_name=example_account.name,\n    storage_account_access_key=example_account.primary_access_key,\n    site_config={\n        \"application_stack\": {\n            \"dotnet_version\": \"6\",\n        },\n    })\nexample_function_app_function = azure.appservice.FunctionAppFunction(\"example\",\n    name=\"example-function-app-function\",\n    function_app_id=example_windows_function_app.id,\n    language=\"CSharp\",\n    files=[{\n        \"name\": \"run.csx\",\n        \"content\": std.file(input=\"exampledata/run.csx\").result,\n    }],\n    test_data=json.dumps({\n        \"name\": \"Azure\",\n    }),\n    config_json=json.dumps({\n        \"bindings\": [\n            {\n                \"authLevel\": \"function\",\n                \"direction\": \"in\",\n                \"methods\": [\n                    \"get\",\n                    \"post\",\n                ],\n                \"name\": \"req\",\n                \"type\": \"httpTrigger\",\n            },\n            {\n                \"direction\": \"out\",\n                \"name\": \"$return\",\n                \"type\": \"http\",\n            },\n        ],\n    }))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-group\",\n        Location = \"West Europe\",\n    });\n\n    var exampleAccount = new Azure.Storage.Account(\"example\", new()\n    {\n        Name = \"examplesa\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        AccountTier = \"Standard\",\n        AccountReplicationType = \"LRS\",\n    });\n\n    var exampleServicePlan = new Azure.AppService.ServicePlan(\"example\", new()\n    {\n        Name = \"example-service-plan\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        OsType = \"Windows\",\n        SkuName = \"S1\",\n    });\n\n    var exampleWindowsFunctionApp = new Azure.AppService.WindowsFunctionApp(\"example\", new()\n    {\n        Name = \"example-function-app\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        ServicePlanId = exampleServicePlan.Id,\n        StorageAccountName = exampleAccount.Name,\n        StorageAccountAccessKey = exampleAccount.PrimaryAccessKey,\n        SiteConfig = new Azure.AppService.Inputs.WindowsFunctionAppSiteConfigArgs\n        {\n            ApplicationStack = new Azure.AppService.Inputs.WindowsFunctionAppSiteConfigApplicationStackArgs\n            {\n                DotnetVersion = \"6\",\n            },\n        },\n    });\n\n    var exampleFunctionAppFunction = new Azure.AppService.FunctionAppFunction(\"example\", new()\n    {\n        Name = \"example-function-app-function\",\n        FunctionAppId = exampleWindowsFunctionApp.Id,\n        Language = \"CSharp\",\n        Files = new[]\n        {\n            new Azure.AppService.Inputs.FunctionAppFunctionFileArgs\n            {\n                Name = \"run.csx\",\n                Content = Std.File.Invoke(new()\n                {\n                    Input = \"exampledata/run.csx\",\n                }).Apply(invoke =\u003e invoke.Result),\n            },\n        },\n        TestData = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n        {\n            [\"name\"] = \"Azure\",\n        }),\n        ConfigJson = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n        {\n            [\"bindings\"] = new[]\n            {\n                new Dictionary\u003cstring, object?\u003e\n                {\n                    [\"authLevel\"] = \"function\",\n                    [\"direction\"] = \"in\",\n                    [\"methods\"] = new[]\n                    {\n                        \"get\",\n                        \"post\",\n                    },\n                    [\"name\"] = \"req\",\n                    [\"type\"] = \"httpTrigger\",\n                },\n                new Dictionary\u003cstring, object?\u003e\n                {\n                    [\"direction\"] = \"out\",\n                    [\"name\"] = \"$return\",\n                    [\"type\"] = \"http\",\n                },\n            },\n        }),\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/appservice\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-group\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := storage.NewAccount(ctx, \"example\", \u0026storage.AccountArgs{\n\t\t\tName:                   pulumi.String(\"examplesa\"),\n\t\t\tResourceGroupName:      example.Name,\n\t\t\tLocation:               example.Location,\n\t\t\tAccountTier:            pulumi.String(\"Standard\"),\n\t\t\tAccountReplicationType: pulumi.String(\"LRS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleServicePlan, err := appservice.NewServicePlan(ctx, \"example\", \u0026appservice.ServicePlanArgs{\n\t\t\tName:              pulumi.String(\"example-service-plan\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tOsType:            pulumi.String(\"Windows\"),\n\t\t\tSkuName:           pulumi.String(\"S1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleWindowsFunctionApp, err := appservice.NewWindowsFunctionApp(ctx, \"example\", \u0026appservice.WindowsFunctionAppArgs{\n\t\t\tName:                    pulumi.String(\"example-function-app\"),\n\t\t\tLocation:                example.Location,\n\t\t\tResourceGroupName:       example.Name,\n\t\t\tServicePlanId:           exampleServicePlan.ID(),\n\t\t\tStorageAccountName:      exampleAccount.Name,\n\t\t\tStorageAccountAccessKey: exampleAccount.PrimaryAccessKey,\n\t\t\tSiteConfig: \u0026appservice.WindowsFunctionAppSiteConfigArgs{\n\t\t\t\tApplicationStack: \u0026appservice.WindowsFunctionAppSiteConfigApplicationStackArgs{\n\t\t\t\t\tDotnetVersion: pulumi.String(\"6\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"exampledata/run.csx\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"name\": \"Azure\",\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson0 := string(tmpJSON0)\n\t\ttmpJSON1, err := json.Marshal(map[string]interface{}{\n\t\t\t\"bindings\": []interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"authLevel\": \"function\",\n\t\t\t\t\t\"direction\": \"in\",\n\t\t\t\t\t\"methods\": []string{\n\t\t\t\t\t\t\"get\",\n\t\t\t\t\t\t\"post\",\n\t\t\t\t\t},\n\t\t\t\t\t\"name\": \"req\",\n\t\t\t\t\t\"type\": \"httpTrigger\",\n\t\t\t\t},\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"direction\": \"out\",\n\t\t\t\t\t\"name\":      \"$return\",\n\t\t\t\t\t\"type\":      \"http\",\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson1 := string(tmpJSON1)\n\t\t_, err = appservice.NewFunctionAppFunction(ctx, \"example\", \u0026appservice.FunctionAppFunctionArgs{\n\t\t\tName:          pulumi.String(\"example-function-app-function\"),\n\t\t\tFunctionAppId: exampleWindowsFunctionApp.ID(),\n\t\t\tLanguage:      pulumi.String(\"CSharp\"),\n\t\t\tFiles: appservice.FunctionAppFunctionFileArray{\n\t\t\t\t\u0026appservice.FunctionAppFunctionFileArgs{\n\t\t\t\t\tName:    pulumi.String(\"run.csx\"),\n\t\t\t\t\tContent: pulumi.String(invokeFile.Result),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTestData:   pulumi.String(json0),\n\t\t\tConfigJson: pulumi.String(json1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.storage.Account;\nimport com.pulumi.azure.storage.AccountArgs;\nimport com.pulumi.azure.appservice.ServicePlan;\nimport com.pulumi.azure.appservice.ServicePlanArgs;\nimport com.pulumi.azure.appservice.WindowsFunctionApp;\nimport com.pulumi.azure.appservice.WindowsFunctionAppArgs;\nimport com.pulumi.azure.appservice.inputs.WindowsFunctionAppSiteConfigArgs;\nimport com.pulumi.azure.appservice.inputs.WindowsFunctionAppSiteConfigApplicationStackArgs;\nimport com.pulumi.azure.appservice.FunctionAppFunction;\nimport com.pulumi.azure.appservice.FunctionAppFunctionArgs;\nimport com.pulumi.azure.appservice.inputs.FunctionAppFunctionFileArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.FileArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-group\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"examplesa\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .accountTier(\"Standard\")\n            .accountReplicationType(\"LRS\")\n            .build());\n\n        var exampleServicePlan = new ServicePlan(\"exampleServicePlan\", ServicePlanArgs.builder()\n            .name(\"example-service-plan\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .osType(\"Windows\")\n            .skuName(\"S1\")\n            .build());\n\n        var exampleWindowsFunctionApp = new WindowsFunctionApp(\"exampleWindowsFunctionApp\", WindowsFunctionAppArgs.builder()\n            .name(\"example-function-app\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .servicePlanId(exampleServicePlan.id())\n            .storageAccountName(exampleAccount.name())\n            .storageAccountAccessKey(exampleAccount.primaryAccessKey())\n            .siteConfig(WindowsFunctionAppSiteConfigArgs.builder()\n                .applicationStack(WindowsFunctionAppSiteConfigApplicationStackArgs.builder()\n                    .dotnetVersion(\"6\")\n                    .build())\n                .build())\n            .build());\n\n        var exampleFunctionAppFunction = new FunctionAppFunction(\"exampleFunctionAppFunction\", FunctionAppFunctionArgs.builder()\n            .name(\"example-function-app-function\")\n            .functionAppId(exampleWindowsFunctionApp.id())\n            .language(\"CSharp\")\n            .files(FunctionAppFunctionFileArgs.builder()\n                .name(\"run.csx\")\n                .content(StdFunctions.file(FileArgs.builder()\n                    .input(\"exampledata/run.csx\")\n                    .build()).result())\n                .build())\n            .testData(serializeJson(\n                jsonObject(\n                    jsonProperty(\"name\", \"Azure\")\n                )))\n            .configJson(serializeJson(\n                jsonObject(\n                    jsonProperty(\"bindings\", jsonArray(\n                        jsonObject(\n                            jsonProperty(\"authLevel\", \"function\"),\n                            jsonProperty(\"direction\", \"in\"),\n                            jsonProperty(\"methods\", jsonArray(\n                                \"get\", \n                                \"post\"\n                            )),\n                            jsonProperty(\"name\", \"req\"),\n                            jsonProperty(\"type\", \"httpTrigger\")\n                        ), \n                        jsonObject(\n                            jsonProperty(\"direction\", \"out\"),\n                            jsonProperty(\"name\", \"$return\"),\n                            jsonProperty(\"type\", \"http\")\n                        )\n                    ))\n                )))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-group\n      location: West Europe\n  exampleAccount:\n    type: azure:storage:Account\n    name: example\n    properties:\n      name: examplesa\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      accountTier: Standard\n      accountReplicationType: LRS\n  exampleServicePlan:\n    type: azure:appservice:ServicePlan\n    name: example\n    properties:\n      name: example-service-plan\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      osType: Windows\n      skuName: S1\n  exampleWindowsFunctionApp:\n    type: azure:appservice:WindowsFunctionApp\n    name: example\n    properties:\n      name: example-function-app\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      servicePlanId: ${exampleServicePlan.id}\n      storageAccountName: ${exampleAccount.name}\n      storageAccountAccessKey: ${exampleAccount.primaryAccessKey}\n      siteConfig:\n        applicationStack:\n          dotnetVersion: '6'\n  exampleFunctionAppFunction:\n    type: azure:appservice:FunctionAppFunction\n    name: example\n    properties:\n      name: example-function-app-function\n      functionAppId: ${exampleWindowsFunctionApp.id}\n      language: CSharp\n      files:\n        - name: run.csx\n          content:\n            fn::invoke:\n              function: std:file\n              arguments:\n                input: exampledata/run.csx\n              return: result\n      testData:\n        fn::toJSON:\n          name: Azure\n      configJson:\n        fn::toJSON:\n          bindings:\n            - authLevel: function\n              direction: in\n              methods:\n                - get\n                - post\n              name: req\n              type: httpTrigger\n            - direction: out\n              name: $return\n              type: http\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Web` - 2023-12-01\n\n## Import\n\na Function App Function can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:appservice/functionAppFunction:FunctionAppFunction example \"/subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/resGroup1/providers/Microsoft.Web/sites/site1/functions/function1\"\n```\n\n","properties":{"configJson":{"type":"string","description":"The config for this Function in JSON format.\n"},"configUrl":{"type":"string","description":"The URL of the configuration JSON.\n"},"enabled":{"type":"boolean","description":"Should this function be enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"files":{"type":"array","items":{"$ref":"#/types/azure:appservice/FunctionAppFunctionFile:FunctionAppFunctionFile"},"description":"A \u003cspan pulumi-lang-nodejs=\"`file`\" pulumi-lang-dotnet=\"`File`\" pulumi-lang-go=\"`file`\" pulumi-lang-python=\"`file`\" pulumi-lang-yaml=\"`file`\" pulumi-lang-java=\"`file`\"\u003e`file`\u003c/span\u003e block as detailed below. Changing this forces a new resource to be created.\n"},"functionAppId":{"type":"string","description":"The ID of the Function App in which this function should reside. Changing this forces a new resource to be created.\n"},"invocationUrl":{"type":"string","description":"The invocation URL.\n"},"language":{"type":"string","description":"The language the Function is written in. Possible values are `CSharp`, `Custom`, `Java`, `Javascript`, `Python`, `PowerShell`, and `TypeScript`.\n\n\u003e **Note:** when using `Custom` language, you must specify the code handler in the `host.json` file for your function. See the [official docs](https://docs.microsoft.com/azure/azure-functions/functions-custom-handlers#hostjson) for more information.\n"},"name":{"type":"string","description":"The name of the function. Changing this forces a new resource to be created.\n"},"scriptRootPathUrl":{"type":"string","description":"The Script root path URL.\n"},"scriptUrl":{"type":"string","description":"The script URL.\n"},"secretsFileUrl":{"type":"string","description":"The URL for the Secrets File.\n"},"testData":{"type":"string","description":"The test data for the function.\n"},"testDataUrl":{"type":"string","description":"The Test data URL.\n"},"url":{"type":"string","description":"The function URL.\n"}},"required":["configJson","configUrl","functionAppId","invocationUrl","name","scriptRootPathUrl","scriptUrl","secretsFileUrl","testDataUrl","url"],"inputProperties":{"configJson":{"type":"string","description":"The config for this Function in JSON format.\n"},"enabled":{"type":"boolean","description":"Should this function be enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"files":{"type":"array","items":{"$ref":"#/types/azure:appservice/FunctionAppFunctionFile:FunctionAppFunctionFile"},"description":"A \u003cspan pulumi-lang-nodejs=\"`file`\" pulumi-lang-dotnet=\"`File`\" pulumi-lang-go=\"`file`\" pulumi-lang-python=\"`file`\" pulumi-lang-yaml=\"`file`\" pulumi-lang-java=\"`file`\"\u003e`file`\u003c/span\u003e block as detailed below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"functionAppId":{"type":"string","description":"The ID of the Function App in which this function should reside. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"language":{"type":"string","description":"The language the Function is written in. Possible values are `CSharp`, `Custom`, `Java`, `Javascript`, `Python`, `PowerShell`, and `TypeScript`.\n\n\u003e **Note:** when using `Custom` language, you must specify the code handler in the `host.json` file for your function. See the [official docs](https://docs.microsoft.com/azure/azure-functions/functions-custom-handlers#hostjson) for more information.\n"},"name":{"type":"string","description":"The name of the function. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"testData":{"type":"string","description":"The test data for the function.\n"}},"requiredInputs":["configJson","functionAppId"],"stateInputs":{"description":"Input properties used for looking up and filtering FunctionAppFunction resources.\n","properties":{"configJson":{"type":"string","description":"The config for this Function in JSON format.\n"},"configUrl":{"type":"string","description":"The URL of the configuration JSON.\n"},"enabled":{"type":"boolean","description":"Should this function be enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"files":{"type":"array","items":{"$ref":"#/types/azure:appservice/FunctionAppFunctionFile:FunctionAppFunctionFile"},"description":"A \u003cspan pulumi-lang-nodejs=\"`file`\" pulumi-lang-dotnet=\"`File`\" pulumi-lang-go=\"`file`\" pulumi-lang-python=\"`file`\" pulumi-lang-yaml=\"`file`\" pulumi-lang-java=\"`file`\"\u003e`file`\u003c/span\u003e block as detailed below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"functionAppId":{"type":"string","description":"The ID of the Function App in which this function should reside. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"invocationUrl":{"type":"string","description":"The invocation URL.\n"},"language":{"type":"string","description":"The language the Function is written in. Possible values are `CSharp`, `Custom`, `Java`, `Javascript`, `Python`, `PowerShell`, and `TypeScript`.\n\n\u003e **Note:** when using `Custom` language, you must specify the code handler in the `host.json` file for your function. See the [official docs](https://docs.microsoft.com/azure/azure-functions/functions-custom-handlers#hostjson) for more information.\n"},"name":{"type":"string","description":"The name of the function. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"scriptRootPathUrl":{"type":"string","description":"The Script root path URL.\n"},"scriptUrl":{"type":"string","description":"The script URL.\n"},"secretsFileUrl":{"type":"string","description":"The URL for the Secrets File.\n"},"testData":{"type":"string","description":"The test data for the function.\n"},"testDataUrl":{"type":"string","description":"The Test data URL.\n"},"url":{"type":"string","description":"The function URL.\n"}},"type":"object"}},"azure:appservice/functionAppHybridConnection:FunctionAppHybridConnection":{"description":"Manages a Function App Hybrid Connection.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-rg\",\n    location: \"West Europe\",\n});\nconst exampleServicePlan = new azure.appservice.ServicePlan(\"example\", {\n    name: \"example-plan\",\n    location: example.location,\n    resourceGroupName: example.name,\n    osType: \"Windows\",\n    skuName: \"S1\",\n});\nconst exampleNamespace = new azure.relay.Namespace(\"example\", {\n    name: \"example-relay\",\n    location: example.location,\n    resourceGroupName: example.name,\n    skuName: \"Standard\",\n});\nconst exampleHybridConnection = new azure.relay.HybridConnection(\"example\", {\n    name: \"examplerhc1\",\n    resourceGroupName: example.name,\n    relayNamespaceName: exampleNamespace.name,\n});\nconst exampleAccount = new azure.storage.Account(\"example\", {\n    name: \"storageaccountname\",\n    resourceGroupName: example.name,\n    location: example.location,\n    accountTier: \"Standard\",\n    accountReplicationType: \"GRS\",\n});\nconst exampleWindowsWebApp = new azure.appservice.WindowsWebApp(\"example\", {\n    name: \"example\",\n    location: example.location,\n    resourceGroupName: example.name,\n    servicePlanId: exampleServicePlan.id,\n    siteConfig: {},\n});\nconst exampleWindowsFunctionApp = new azure.appservice.WindowsFunctionApp(\"example\", {\n    name: \"example-function-app\",\n    location: example.location,\n    resourceGroupName: example.name,\n    servicePlanId: exampleServicePlan.id,\n    storageAccountName: exampleAccount.name,\n    storageAccountAccessKey: exampleAccount.primaryAccessKey,\n    siteConfig: {},\n});\nconst exampleFunctionAppHybridConnection = new azure.appservice.FunctionAppHybridConnection(\"example\", {\n    functionAppId: exampleWindowsWebApp.id,\n    relayId: exampleHybridConnection.id,\n    hostname: \"myhostname.example\",\n    port: 8081,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-rg\",\n    location=\"West Europe\")\nexample_service_plan = azure.appservice.ServicePlan(\"example\",\n    name=\"example-plan\",\n    location=example.location,\n    resource_group_name=example.name,\n    os_type=\"Windows\",\n    sku_name=\"S1\")\nexample_namespace = azure.relay.Namespace(\"example\",\n    name=\"example-relay\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku_name=\"Standard\")\nexample_hybrid_connection = azure.relay.HybridConnection(\"example\",\n    name=\"examplerhc1\",\n    resource_group_name=example.name,\n    relay_namespace_name=example_namespace.name)\nexample_account = azure.storage.Account(\"example\",\n    name=\"storageaccountname\",\n    resource_group_name=example.name,\n    location=example.location,\n    account_tier=\"Standard\",\n    account_replication_type=\"GRS\")\nexample_windows_web_app = azure.appservice.WindowsWebApp(\"example\",\n    name=\"example\",\n    location=example.location,\n    resource_group_name=example.name,\n    service_plan_id=example_service_plan.id,\n    site_config={})\nexample_windows_function_app = azure.appservice.WindowsFunctionApp(\"example\",\n    name=\"example-function-app\",\n    location=example.location,\n    resource_group_name=example.name,\n    service_plan_id=example_service_plan.id,\n    storage_account_name=example_account.name,\n    storage_account_access_key=example_account.primary_access_key,\n    site_config={})\nexample_function_app_hybrid_connection = azure.appservice.FunctionAppHybridConnection(\"example\",\n    function_app_id=example_windows_web_app.id,\n    relay_id=example_hybrid_connection.id,\n    hostname=\"myhostname.example\",\n    port=8081)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-rg\",\n        Location = \"West Europe\",\n    });\n\n    var exampleServicePlan = new Azure.AppService.ServicePlan(\"example\", new()\n    {\n        Name = \"example-plan\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        OsType = \"Windows\",\n        SkuName = \"S1\",\n    });\n\n    var exampleNamespace = new Azure.Relay.Namespace(\"example\", new()\n    {\n        Name = \"example-relay\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        SkuName = \"Standard\",\n    });\n\n    var exampleHybridConnection = new Azure.Relay.HybridConnection(\"example\", new()\n    {\n        Name = \"examplerhc1\",\n        ResourceGroupName = example.Name,\n        RelayNamespaceName = exampleNamespace.Name,\n    });\n\n    var exampleAccount = new Azure.Storage.Account(\"example\", new()\n    {\n        Name = \"storageaccountname\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        AccountTier = \"Standard\",\n        AccountReplicationType = \"GRS\",\n    });\n\n    var exampleWindowsWebApp = new Azure.AppService.WindowsWebApp(\"example\", new()\n    {\n        Name = \"example\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        ServicePlanId = exampleServicePlan.Id,\n        SiteConfig = null,\n    });\n\n    var exampleWindowsFunctionApp = new Azure.AppService.WindowsFunctionApp(\"example\", new()\n    {\n        Name = \"example-function-app\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        ServicePlanId = exampleServicePlan.Id,\n        StorageAccountName = exampleAccount.Name,\n        StorageAccountAccessKey = exampleAccount.PrimaryAccessKey,\n        SiteConfig = null,\n    });\n\n    var exampleFunctionAppHybridConnection = new Azure.AppService.FunctionAppHybridConnection(\"example\", new()\n    {\n        FunctionAppId = exampleWindowsWebApp.Id,\n        RelayId = exampleHybridConnection.Id,\n        Hostname = \"myhostname.example\",\n        Port = 8081,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/appservice\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/relay\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-rg\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleServicePlan, err := appservice.NewServicePlan(ctx, \"example\", \u0026appservice.ServicePlanArgs{\n\t\t\tName:              pulumi.String(\"example-plan\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tOsType:            pulumi.String(\"Windows\"),\n\t\t\tSkuName:           pulumi.String(\"S1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNamespace, err := relay.NewNamespace(ctx, \"example\", \u0026relay.NamespaceArgs{\n\t\t\tName:              pulumi.String(\"example-relay\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSkuName:           pulumi.String(\"Standard\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleHybridConnection, err := relay.NewHybridConnection(ctx, \"example\", \u0026relay.HybridConnectionArgs{\n\t\t\tName:               pulumi.String(\"examplerhc1\"),\n\t\t\tResourceGroupName:  example.Name,\n\t\t\tRelayNamespaceName: exampleNamespace.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := storage.NewAccount(ctx, \"example\", \u0026storage.AccountArgs{\n\t\t\tName:                   pulumi.String(\"storageaccountname\"),\n\t\t\tResourceGroupName:      example.Name,\n\t\t\tLocation:               example.Location,\n\t\t\tAccountTier:            pulumi.String(\"Standard\"),\n\t\t\tAccountReplicationType: pulumi.String(\"GRS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleWindowsWebApp, err := appservice.NewWindowsWebApp(ctx, \"example\", \u0026appservice.WindowsWebAppArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tServicePlanId:     exampleServicePlan.ID(),\n\t\t\tSiteConfig:        \u0026appservice.WindowsWebAppSiteConfigArgs{},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = appservice.NewWindowsFunctionApp(ctx, \"example\", \u0026appservice.WindowsFunctionAppArgs{\n\t\t\tName:                    pulumi.String(\"example-function-app\"),\n\t\t\tLocation:                example.Location,\n\t\t\tResourceGroupName:       example.Name,\n\t\t\tServicePlanId:           exampleServicePlan.ID(),\n\t\t\tStorageAccountName:      exampleAccount.Name,\n\t\t\tStorageAccountAccessKey: exampleAccount.PrimaryAccessKey,\n\t\t\tSiteConfig:              \u0026appservice.WindowsFunctionAppSiteConfigArgs{},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = appservice.NewFunctionAppHybridConnection(ctx, \"example\", \u0026appservice.FunctionAppHybridConnectionArgs{\n\t\t\tFunctionAppId: exampleWindowsWebApp.ID(),\n\t\t\tRelayId:       exampleHybridConnection.ID(),\n\t\t\tHostname:      pulumi.String(\"myhostname.example\"),\n\t\t\tPort:          pulumi.Int(8081),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.appservice.ServicePlan;\nimport com.pulumi.azure.appservice.ServicePlanArgs;\nimport com.pulumi.azure.relay.Namespace;\nimport com.pulumi.azure.relay.NamespaceArgs;\nimport com.pulumi.azure.relay.HybridConnection;\nimport com.pulumi.azure.relay.HybridConnectionArgs;\nimport com.pulumi.azure.storage.Account;\nimport com.pulumi.azure.storage.AccountArgs;\nimport com.pulumi.azure.appservice.WindowsWebApp;\nimport com.pulumi.azure.appservice.WindowsWebAppArgs;\nimport com.pulumi.azure.appservice.inputs.WindowsWebAppSiteConfigArgs;\nimport com.pulumi.azure.appservice.WindowsFunctionApp;\nimport com.pulumi.azure.appservice.WindowsFunctionAppArgs;\nimport com.pulumi.azure.appservice.inputs.WindowsFunctionAppSiteConfigArgs;\nimport com.pulumi.azure.appservice.FunctionAppHybridConnection;\nimport com.pulumi.azure.appservice.FunctionAppHybridConnectionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-rg\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleServicePlan = new ServicePlan(\"exampleServicePlan\", ServicePlanArgs.builder()\n            .name(\"example-plan\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .osType(\"Windows\")\n            .skuName(\"S1\")\n            .build());\n\n        var exampleNamespace = new Namespace(\"exampleNamespace\", NamespaceArgs.builder()\n            .name(\"example-relay\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .skuName(\"Standard\")\n            .build());\n\n        var exampleHybridConnection = new HybridConnection(\"exampleHybridConnection\", HybridConnectionArgs.builder()\n            .name(\"examplerhc1\")\n            .resourceGroupName(example.name())\n            .relayNamespaceName(exampleNamespace.name())\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"storageaccountname\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .accountTier(\"Standard\")\n            .accountReplicationType(\"GRS\")\n            .build());\n\n        var exampleWindowsWebApp = new WindowsWebApp(\"exampleWindowsWebApp\", WindowsWebAppArgs.builder()\n            .name(\"example\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .servicePlanId(exampleServicePlan.id())\n            .siteConfig(WindowsWebAppSiteConfigArgs.builder()\n                .build())\n            .build());\n\n        var exampleWindowsFunctionApp = new WindowsFunctionApp(\"exampleWindowsFunctionApp\", WindowsFunctionAppArgs.builder()\n            .name(\"example-function-app\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .servicePlanId(exampleServicePlan.id())\n            .storageAccountName(exampleAccount.name())\n            .storageAccountAccessKey(exampleAccount.primaryAccessKey())\n            .siteConfig(WindowsFunctionAppSiteConfigArgs.builder()\n                .build())\n            .build());\n\n        var exampleFunctionAppHybridConnection = new FunctionAppHybridConnection(\"exampleFunctionAppHybridConnection\", FunctionAppHybridConnectionArgs.builder()\n            .functionAppId(exampleWindowsWebApp.id())\n            .relayId(exampleHybridConnection.id())\n            .hostname(\"myhostname.example\")\n            .port(8081)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-rg\n      location: West Europe\n  exampleServicePlan:\n    type: azure:appservice:ServicePlan\n    name: example\n    properties:\n      name: example-plan\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      osType: Windows\n      skuName: S1\n  exampleNamespace:\n    type: azure:relay:Namespace\n    name: example\n    properties:\n      name: example-relay\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      skuName: Standard\n  exampleHybridConnection:\n    type: azure:relay:HybridConnection\n    name: example\n    properties:\n      name: examplerhc1\n      resourceGroupName: ${example.name}\n      relayNamespaceName: ${exampleNamespace.name}\n  exampleAccount:\n    type: azure:storage:Account\n    name: example\n    properties:\n      name: storageaccountname\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      accountTier: Standard\n      accountReplicationType: GRS\n  exampleWindowsWebApp:\n    type: azure:appservice:WindowsWebApp\n    name: example\n    properties:\n      name: example\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      servicePlanId: ${exampleServicePlan.id}\n      siteConfig: {}\n  exampleWindowsFunctionApp:\n    type: azure:appservice:WindowsFunctionApp\n    name: example\n    properties:\n      name: example-function-app\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      servicePlanId: ${exampleServicePlan.id}\n      storageAccountName: ${exampleAccount.name}\n      storageAccountAccessKey: ${exampleAccount.primaryAccessKey}\n      siteConfig: {}\n  exampleFunctionAppHybridConnection:\n    type: azure:appservice:FunctionAppHybridConnection\n    name: example\n    properties:\n      functionAppId: ${exampleWindowsWebApp.id}\n      relayId: ${exampleHybridConnection.id}\n      hostname: myhostname.example\n      port: 8081\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Relay` - 2021-11-01\n\n* `Microsoft.Web` - 2023-12-01\n\n## Import\n\na Function App Hybrid Connection can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:appservice/functionAppHybridConnection:FunctionAppHybridConnection example \"/subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/resGroup1/providers/Microsoft.Web/sites/site1/hybridConnectionNamespaces/hybridConnectionNamespace1/relays/relay1\"\n```\n\n","properties":{"functionAppId":{"type":"string","description":"The ID of the Function App for this Hybrid Connection. Changing this forces a new resource to be created.\n"},"hostname":{"type":"string","description":"The hostname of the endpoint.\n"},"namespaceName":{"type":"string","description":"The name of the Relay Namespace.\n"},"port":{"type":"integer","description":"The port to use for the endpoint\n"},"relayId":{"type":"string","description":"The ID of the Relay Hybrid Connection to use. Changing this forces a new resource to be created.\n"},"relayName":{"type":"string","description":"The name of the Relay in use.\n"},"sendKeyName":{"type":"string","description":"The name of the Relay key with `Send` permission to use. Defaults to `RootManageSharedAccessKey`\n"},"sendKeyValue":{"type":"string","description":"The Primary Access Key for the \u003cspan pulumi-lang-nodejs=\"`sendKeyName`\" pulumi-lang-dotnet=\"`SendKeyName`\" pulumi-lang-go=\"`sendKeyName`\" pulumi-lang-python=\"`send_key_name`\" pulumi-lang-yaml=\"`sendKeyName`\" pulumi-lang-java=\"`sendKeyName`\"\u003e`send_key_name`\u003c/span\u003e\n","secret":true},"serviceBusNamespace":{"type":"string","description":"The Service Bus Namespace.\n"},"serviceBusSuffix":{"type":"string","description":"The suffix for the endpoint.\n"}},"required":["functionAppId","hostname","namespaceName","port","relayId","relayName","sendKeyValue","serviceBusNamespace","serviceBusSuffix"],"inputProperties":{"functionAppId":{"type":"string","description":"The ID of the Function App for this Hybrid Connection. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"hostname":{"type":"string","description":"The hostname of the endpoint.\n"},"port":{"type":"integer","description":"The port to use for the endpoint\n"},"relayId":{"type":"string","description":"The ID of the Relay Hybrid Connection to use. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sendKeyName":{"type":"string","description":"The name of the Relay key with `Send` permission to use. Defaults to `RootManageSharedAccessKey`\n"}},"requiredInputs":["functionAppId","hostname","port","relayId"],"stateInputs":{"description":"Input properties used for looking up and filtering FunctionAppHybridConnection resources.\n","properties":{"functionAppId":{"type":"string","description":"The ID of the Function App for this Hybrid Connection. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"hostname":{"type":"string","description":"The hostname of the endpoint.\n"},"namespaceName":{"type":"string","description":"The name of the Relay Namespace.\n"},"port":{"type":"integer","description":"The port to use for the endpoint\n"},"relayId":{"type":"string","description":"The ID of the Relay Hybrid Connection to use. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"relayName":{"type":"string","description":"The name of the Relay in use.\n"},"sendKeyName":{"type":"string","description":"The name of the Relay key with `Send` permission to use. Defaults to `RootManageSharedAccessKey`\n"},"sendKeyValue":{"type":"string","description":"The Primary Access Key for the \u003cspan pulumi-lang-nodejs=\"`sendKeyName`\" pulumi-lang-dotnet=\"`SendKeyName`\" pulumi-lang-go=\"`sendKeyName`\" pulumi-lang-python=\"`send_key_name`\" pulumi-lang-yaml=\"`sendKeyName`\" pulumi-lang-java=\"`sendKeyName`\"\u003e`send_key_name`\u003c/span\u003e\n","secret":true},"serviceBusNamespace":{"type":"string","description":"The Service Bus Namespace.\n"},"serviceBusSuffix":{"type":"string","description":"The suffix for the endpoint.\n"}},"type":"object"}},"azure:appservice/functionAppSlot:FunctionAppSlot":{"description":"Manages a Function App deployment Slot.\n\n!\u003e **NOTE:** This resource has been deprecated in version 5.0 of the provider and will be removed in version 6.0. Please use \u003cspan pulumi-lang-nodejs=\"`azure.appservice.LinuxFunctionAppSlot`\" pulumi-lang-dotnet=\"`azure.appservice.LinuxFunctionAppSlot`\" pulumi-lang-go=\"`appservice.LinuxFunctionAppSlot`\" pulumi-lang-python=\"`appservice.LinuxFunctionAppSlot`\" pulumi-lang-yaml=\"`azure.appservice.LinuxFunctionAppSlot`\" pulumi-lang-java=\"`azure.appservice.LinuxFunctionAppSlot`\"\u003e`azure.appservice.LinuxFunctionAppSlot`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`azure.appservice.WindowsFunctionAppSlot`\" pulumi-lang-dotnet=\"`azure.appservice.WindowsFunctionAppSlot`\" pulumi-lang-go=\"`appservice.WindowsFunctionAppSlot`\" pulumi-lang-python=\"`appservice.WindowsFunctionAppSlot`\" pulumi-lang-yaml=\"`azure.appservice.WindowsFunctionAppSlot`\" pulumi-lang-java=\"`azure.appservice.WindowsFunctionAppSlot`\"\u003e`azure.appservice.WindowsFunctionAppSlot`\u003c/span\u003e resources instead.\n\n## Example Usage\n\n### With App Service Plan)\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"azure-functions-test-rg\",\n    location: \"West Europe\",\n});\nconst exampleAccount = new azure.storage.Account(\"example\", {\n    name: \"functionsapptestsa\",\n    resourceGroupName: example.name,\n    location: example.location,\n    accountTier: \"Standard\",\n    accountReplicationType: \"LRS\",\n});\nconst examplePlan = new azure.appservice.Plan(\"example\", {\n    name: \"azure-functions-test-service-plan\",\n    location: example.location,\n    resourceGroupName: example.name,\n    sku: {\n        tier: \"Standard\",\n        size: \"S1\",\n    },\n});\nconst exampleFunctionApp = new azure.appservice.FunctionApp(\"example\", {\n    name: \"test-azure-functions\",\n    location: example.location,\n    resourceGroupName: example.name,\n    appServicePlanId: examplePlan.id,\n    storageAccountName: exampleAccount.name,\n    storageAccountAccessKey: exampleAccount.primaryAccessKey,\n});\nconst exampleFunctionAppSlot = new azure.appservice.FunctionAppSlot(\"example\", {\n    name: \"test-azure-functions_slot\",\n    location: example.location,\n    resourceGroupName: example.name,\n    appServicePlanId: examplePlan.id,\n    functionAppName: exampleFunctionApp.name,\n    storageAccountName: exampleAccount.name,\n    storageAccountAccessKey: exampleAccount.primaryAccessKey,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"azure-functions-test-rg\",\n    location=\"West Europe\")\nexample_account = azure.storage.Account(\"example\",\n    name=\"functionsapptestsa\",\n    resource_group_name=example.name,\n    location=example.location,\n    account_tier=\"Standard\",\n    account_replication_type=\"LRS\")\nexample_plan = azure.appservice.Plan(\"example\",\n    name=\"azure-functions-test-service-plan\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku={\n        \"tier\": \"Standard\",\n        \"size\": \"S1\",\n    })\nexample_function_app = azure.appservice.FunctionApp(\"example\",\n    name=\"test-azure-functions\",\n    location=example.location,\n    resource_group_name=example.name,\n    app_service_plan_id=example_plan.id,\n    storage_account_name=example_account.name,\n    storage_account_access_key=example_account.primary_access_key)\nexample_function_app_slot = azure.appservice.FunctionAppSlot(\"example\",\n    name=\"test-azure-functions_slot\",\n    location=example.location,\n    resource_group_name=example.name,\n    app_service_plan_id=example_plan.id,\n    function_app_name=example_function_app.name,\n    storage_account_name=example_account.name,\n    storage_account_access_key=example_account.primary_access_key)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"azure-functions-test-rg\",\n        Location = \"West Europe\",\n    });\n\n    var exampleAccount = new Azure.Storage.Account(\"example\", new()\n    {\n        Name = \"functionsapptestsa\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        AccountTier = \"Standard\",\n        AccountReplicationType = \"LRS\",\n    });\n\n    var examplePlan = new Azure.AppService.Plan(\"example\", new()\n    {\n        Name = \"azure-functions-test-service-plan\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Sku = new Azure.AppService.Inputs.PlanSkuArgs\n        {\n            Tier = \"Standard\",\n            Size = \"S1\",\n        },\n    });\n\n    var exampleFunctionApp = new Azure.AppService.FunctionApp(\"example\", new()\n    {\n        Name = \"test-azure-functions\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        AppServicePlanId = examplePlan.Id,\n        StorageAccountName = exampleAccount.Name,\n        StorageAccountAccessKey = exampleAccount.PrimaryAccessKey,\n    });\n\n    var exampleFunctionAppSlot = new Azure.AppService.FunctionAppSlot(\"example\", new()\n    {\n        Name = \"test-azure-functions_slot\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        AppServicePlanId = examplePlan.Id,\n        FunctionAppName = exampleFunctionApp.Name,\n        StorageAccountName = exampleAccount.Name,\n        StorageAccountAccessKey = exampleAccount.PrimaryAccessKey,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/appservice\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"azure-functions-test-rg\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := storage.NewAccount(ctx, \"example\", \u0026storage.AccountArgs{\n\t\t\tName:                   pulumi.String(\"functionsapptestsa\"),\n\t\t\tResourceGroupName:      example.Name,\n\t\t\tLocation:               example.Location,\n\t\t\tAccountTier:            pulumi.String(\"Standard\"),\n\t\t\tAccountReplicationType: pulumi.String(\"LRS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texamplePlan, err := appservice.NewPlan(ctx, \"example\", \u0026appservice.PlanArgs{\n\t\t\tName:              pulumi.String(\"azure-functions-test-service-plan\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSku: \u0026appservice.PlanSkuArgs{\n\t\t\t\tTier: pulumi.String(\"Standard\"),\n\t\t\t\tSize: pulumi.String(\"S1\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleFunctionApp, err := appservice.NewFunctionApp(ctx, \"example\", \u0026appservice.FunctionAppArgs{\n\t\t\tName:                    pulumi.String(\"test-azure-functions\"),\n\t\t\tLocation:                example.Location,\n\t\t\tResourceGroupName:       example.Name,\n\t\t\tAppServicePlanId:        examplePlan.ID(),\n\t\t\tStorageAccountName:      exampleAccount.Name,\n\t\t\tStorageAccountAccessKey: exampleAccount.PrimaryAccessKey,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = appservice.NewFunctionAppSlot(ctx, \"example\", \u0026appservice.FunctionAppSlotArgs{\n\t\t\tName:                    pulumi.String(\"test-azure-functions_slot\"),\n\t\t\tLocation:                example.Location,\n\t\t\tResourceGroupName:       example.Name,\n\t\t\tAppServicePlanId:        examplePlan.ID(),\n\t\t\tFunctionAppName:         exampleFunctionApp.Name,\n\t\t\tStorageAccountName:      exampleAccount.Name,\n\t\t\tStorageAccountAccessKey: exampleAccount.PrimaryAccessKey,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.storage.Account;\nimport com.pulumi.azure.storage.AccountArgs;\nimport com.pulumi.azure.appservice.Plan;\nimport com.pulumi.azure.appservice.PlanArgs;\nimport com.pulumi.azure.appservice.inputs.PlanSkuArgs;\nimport com.pulumi.azure.appservice.FunctionApp;\nimport com.pulumi.azure.appservice.FunctionAppArgs;\nimport com.pulumi.azure.appservice.FunctionAppSlot;\nimport com.pulumi.azure.appservice.FunctionAppSlotArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"azure-functions-test-rg\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"functionsapptestsa\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .accountTier(\"Standard\")\n            .accountReplicationType(\"LRS\")\n            .build());\n\n        var examplePlan = new Plan(\"examplePlan\", PlanArgs.builder()\n            .name(\"azure-functions-test-service-plan\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .sku(PlanSkuArgs.builder()\n                .tier(\"Standard\")\n                .size(\"S1\")\n                .build())\n            .build());\n\n        var exampleFunctionApp = new FunctionApp(\"exampleFunctionApp\", FunctionAppArgs.builder()\n            .name(\"test-azure-functions\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .appServicePlanId(examplePlan.id())\n            .storageAccountName(exampleAccount.name())\n            .storageAccountAccessKey(exampleAccount.primaryAccessKey())\n            .build());\n\n        var exampleFunctionAppSlot = new FunctionAppSlot(\"exampleFunctionAppSlot\", FunctionAppSlotArgs.builder()\n            .name(\"test-azure-functions_slot\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .appServicePlanId(examplePlan.id())\n            .functionAppName(exampleFunctionApp.name())\n            .storageAccountName(exampleAccount.name())\n            .storageAccountAccessKey(exampleAccount.primaryAccessKey())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: azure-functions-test-rg\n      location: West Europe\n  exampleAccount:\n    type: azure:storage:Account\n    name: example\n    properties:\n      name: functionsapptestsa\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      accountTier: Standard\n      accountReplicationType: LRS\n  examplePlan:\n    type: azure:appservice:Plan\n    name: example\n    properties:\n      name: azure-functions-test-service-plan\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      sku:\n        tier: Standard\n        size: S1\n  exampleFunctionApp:\n    type: azure:appservice:FunctionApp\n    name: example\n    properties:\n      name: test-azure-functions\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      appServicePlanId: ${examplePlan.id}\n      storageAccountName: ${exampleAccount.name}\n      storageAccountAccessKey: ${exampleAccount.primaryAccessKey}\n  exampleFunctionAppSlot:\n    type: azure:appservice:FunctionAppSlot\n    name: example\n    properties:\n      name: test-azure-functions_slot\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      appServicePlanId: ${examplePlan.id}\n      functionAppName: ${exampleFunctionApp.name}\n      storageAccountName: ${exampleAccount.name}\n      storageAccountAccessKey: ${exampleAccount.primaryAccessKey}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nFunction Apps Deployment Slots can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:appservice/functionAppSlot:FunctionAppSlot functionapp1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Web/sites/functionapp1/slots/staging\n```\n\n","properties":{"appServicePlanId":{"type":"string","description":"The ID of the App Service Plan within which to create this Function App Slot. Changing this forces a new resource to be created.\n"},"appSettings":{"type":"object","additionalProperties":{"type":"string"},"description":"A key-value pair of App Settings.\n\n\u003e **Note:** When integrating a `CI/CD pipeline` and expecting to run from a deployed package in `Azure` you must seed your `app settings` as part of the application code for function app to be successfully deployed. `Important Default key pairs`: (`\"WEBSITE_RUN_FROM_PACKAGE\" = \"\"`, `\"FUNCTIONS_WORKER_RUNTIME\" = \"node\"` (or python, etc), `\"WEBSITE_NODE_DEFAULT_VERSION\" = \"10.14.1\"`, `\"APPINSIGHTS_INSTRUMENTATIONKEY\" = \"\"`).\n\n\u003e **NOTE:** The values for `AzureWebJobsStorage` and `FUNCTIONS_EXTENSION_VERSION` will be filled by other input arguments and shouldn't be configured separately. `AzureWebJobsStorage` is filled based on \u003cspan pulumi-lang-nodejs=\"`storageAccountName`\" pulumi-lang-dotnet=\"`StorageAccountName`\" pulumi-lang-go=\"`storageAccountName`\" pulumi-lang-python=\"`storage_account_name`\" pulumi-lang-yaml=\"`storageAccountName`\" pulumi-lang-java=\"`storageAccountName`\"\u003e`storage_account_name`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`storageAccountAccessKey`\" pulumi-lang-dotnet=\"`StorageAccountAccessKey`\" pulumi-lang-go=\"`storageAccountAccessKey`\" pulumi-lang-python=\"`storage_account_access_key`\" pulumi-lang-yaml=\"`storageAccountAccessKey`\" pulumi-lang-java=\"`storageAccountAccessKey`\"\u003e`storage_account_access_key`\u003c/span\u003e. `FUNCTIONS_EXTENSION_VERSION` is filled based on \u003cspan pulumi-lang-nodejs=\"`version`\" pulumi-lang-dotnet=\"`Version`\" pulumi-lang-go=\"`version`\" pulumi-lang-python=\"`version`\" pulumi-lang-yaml=\"`version`\" pulumi-lang-java=\"`version`\"\u003e`version`\u003c/span\u003e.\n\n\u003e **Note:**  When using an App Service Plan in the `Free` or `Shared` Tiers \u003cspan pulumi-lang-nodejs=\"`use32BitWorkerProcess`\" pulumi-lang-dotnet=\"`Use32BitWorkerProcess`\" pulumi-lang-go=\"`use32BitWorkerProcess`\" pulumi-lang-python=\"`use_32_bit_worker_process`\" pulumi-lang-yaml=\"`use32BitWorkerProcess`\" pulumi-lang-java=\"`use32BitWorkerProcess`\"\u003e`use_32_bit_worker_process`\u003c/span\u003e must be set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"authSettings":{"$ref":"#/types/azure:appservice/FunctionAppSlotAuthSettings:FunctionAppSlotAuthSettings","description":"An \u003cspan pulumi-lang-nodejs=\"`authSettings`\" pulumi-lang-dotnet=\"`AuthSettings`\" pulumi-lang-go=\"`authSettings`\" pulumi-lang-python=\"`auth_settings`\" pulumi-lang-yaml=\"`authSettings`\" pulumi-lang-java=\"`authSettings`\"\u003e`auth_settings`\u003c/span\u003e block as defined below.\n"},"connectionStrings":{"type":"array","items":{"$ref":"#/types/azure:appservice/FunctionAppSlotConnectionString:FunctionAppSlotConnectionString"},"description":"A \u003cspan pulumi-lang-nodejs=\"`connectionString`\" pulumi-lang-dotnet=\"`ConnectionString`\" pulumi-lang-go=\"`connectionString`\" pulumi-lang-python=\"`connection_string`\" pulumi-lang-yaml=\"`connectionString`\" pulumi-lang-java=\"`connectionString`\"\u003e`connection_string`\u003c/span\u003e block as defined below.\n"},"dailyMemoryTimeQuota":{"type":"integer","description":"The amount of memory in gigabyte-seconds that your application is allowed to consume per day. Setting this value only affects function apps under the consumption plan.\n"},"defaultHostname":{"type":"string","description":"The default hostname associated with the Function App - such as `mysite.azurewebsites.net`\n"},"enableBuiltinLogging":{"type":"boolean","description":"Should the built-in logging of the Function App be enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"enabled":{"type":"boolean","description":"Is the Function App enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"functionAppName":{"type":"string","description":"The name of the Function App within which to create the Function App Slot. Changing this forces a new resource to be created.\n"},"httpsOnly":{"type":"boolean","description":"Can the Function App only be accessed via HTTPS? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"identity":{"$ref":"#/types/azure:appservice/FunctionAppSlotIdentity:FunctionAppSlotIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"kind":{"type":"string","description":"The Function App kind - such as `functionapp,linux,container`\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"Specifies the name of the Function App. Changing this forces a new resource to be created.\n"},"osType":{"type":"string","description":"A string indicating the Operating System type for this function app. The only possible value is \u003cspan pulumi-lang-nodejs=\"`linux`\" pulumi-lang-dotnet=\"`Linux`\" pulumi-lang-go=\"`linux`\" pulumi-lang-python=\"`linux`\" pulumi-lang-yaml=\"`linux`\" pulumi-lang-java=\"`linux`\"\u003e`linux`\u003c/span\u003e. Changing this forces a new resource to be created.\n\n\u003e **NOTE:** This value will be \u003cspan pulumi-lang-nodejs=\"`linux`\" pulumi-lang-dotnet=\"`Linux`\" pulumi-lang-go=\"`linux`\" pulumi-lang-python=\"`linux`\" pulumi-lang-yaml=\"`linux`\" pulumi-lang-java=\"`linux`\"\u003e`linux`\u003c/span\u003e for Linux Derivatives or an empty string for Windows (default).\n"},"outboundIpAddresses":{"type":"string","description":"A comma separated list of outbound IP addresses - such as `52.23.25.3,52.143.43.12`\n"},"possibleOutboundIpAddresses":{"type":"string","description":"A comma separated list of outbound IP addresses - such as `52.23.25.3,52.143.43.12,52.143.43.17` - not all of which are necessarily in use. Superset of \u003cspan pulumi-lang-nodejs=\"`outboundIpAddresses`\" pulumi-lang-dotnet=\"`OutboundIpAddresses`\" pulumi-lang-go=\"`outboundIpAddresses`\" pulumi-lang-python=\"`outbound_ip_addresses`\" pulumi-lang-yaml=\"`outboundIpAddresses`\" pulumi-lang-java=\"`outboundIpAddresses`\"\u003e`outbound_ip_addresses`\u003c/span\u003e.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the Function App Slot. Changing this forces a new resource to be created.\n"},"siteConfig":{"$ref":"#/types/azure:appservice/FunctionAppSlotSiteConfig:FunctionAppSlotSiteConfig","description":"A \u003cspan pulumi-lang-nodejs=\"`siteConfig`\" pulumi-lang-dotnet=\"`SiteConfig`\" pulumi-lang-go=\"`siteConfig`\" pulumi-lang-python=\"`site_config`\" pulumi-lang-yaml=\"`siteConfig`\" pulumi-lang-java=\"`siteConfig`\"\u003e`site_config`\u003c/span\u003e object as defined below.\n"},"siteCredentials":{"type":"array","items":{"$ref":"#/types/azure:appservice/FunctionAppSlotSiteCredential:FunctionAppSlotSiteCredential"},"description":"A \u003cspan pulumi-lang-nodejs=\"`siteCredential`\" pulumi-lang-dotnet=\"`SiteCredential`\" pulumi-lang-go=\"`siteCredential`\" pulumi-lang-python=\"`site_credential`\" pulumi-lang-yaml=\"`siteCredential`\" pulumi-lang-java=\"`siteCredential`\"\u003e`site_credential`\u003c/span\u003e block as defined below, which contains the site-level credentials used to publish to this Function App Slot.\n"},"storageAccountAccessKey":{"type":"string","description":"The access key which will be used to access the backend storage account for the Function App.\n","secret":true},"storageAccountName":{"type":"string","description":"The backend storage account name which will be used by the Function App (such as the dashboard, logs). Changing this forces a new resource to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"version":{"type":"string","description":"The runtime version associated with the Function App. Defaults to `~1`.\n"}},"required":["appServicePlanId","appSettings","authSettings","connectionStrings","defaultHostname","functionAppName","kind","location","name","outboundIpAddresses","possibleOutboundIpAddresses","resourceGroupName","siteConfig","siteCredentials","storageAccountAccessKey","storageAccountName"],"inputProperties":{"appServicePlanId":{"type":"string","description":"The ID of the App Service Plan within which to create this Function App Slot. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"appSettings":{"type":"object","additionalProperties":{"type":"string"},"description":"A key-value pair of App Settings.\n\n\u003e **Note:** When integrating a `CI/CD pipeline` and expecting to run from a deployed package in `Azure` you must seed your `app settings` as part of the application code for function app to be successfully deployed. `Important Default key pairs`: (`\"WEBSITE_RUN_FROM_PACKAGE\" = \"\"`, `\"FUNCTIONS_WORKER_RUNTIME\" = \"node\"` (or python, etc), `\"WEBSITE_NODE_DEFAULT_VERSION\" = \"10.14.1\"`, `\"APPINSIGHTS_INSTRUMENTATIONKEY\" = \"\"`).\n\n\u003e **NOTE:** The values for `AzureWebJobsStorage` and `FUNCTIONS_EXTENSION_VERSION` will be filled by other input arguments and shouldn't be configured separately. `AzureWebJobsStorage` is filled based on \u003cspan pulumi-lang-nodejs=\"`storageAccountName`\" pulumi-lang-dotnet=\"`StorageAccountName`\" pulumi-lang-go=\"`storageAccountName`\" pulumi-lang-python=\"`storage_account_name`\" pulumi-lang-yaml=\"`storageAccountName`\" pulumi-lang-java=\"`storageAccountName`\"\u003e`storage_account_name`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`storageAccountAccessKey`\" pulumi-lang-dotnet=\"`StorageAccountAccessKey`\" pulumi-lang-go=\"`storageAccountAccessKey`\" pulumi-lang-python=\"`storage_account_access_key`\" pulumi-lang-yaml=\"`storageAccountAccessKey`\" pulumi-lang-java=\"`storageAccountAccessKey`\"\u003e`storage_account_access_key`\u003c/span\u003e. `FUNCTIONS_EXTENSION_VERSION` is filled based on \u003cspan pulumi-lang-nodejs=\"`version`\" pulumi-lang-dotnet=\"`Version`\" pulumi-lang-go=\"`version`\" pulumi-lang-python=\"`version`\" pulumi-lang-yaml=\"`version`\" pulumi-lang-java=\"`version`\"\u003e`version`\u003c/span\u003e.\n\n\u003e **Note:**  When using an App Service Plan in the `Free` or `Shared` Tiers \u003cspan pulumi-lang-nodejs=\"`use32BitWorkerProcess`\" pulumi-lang-dotnet=\"`Use32BitWorkerProcess`\" pulumi-lang-go=\"`use32BitWorkerProcess`\" pulumi-lang-python=\"`use_32_bit_worker_process`\" pulumi-lang-yaml=\"`use32BitWorkerProcess`\" pulumi-lang-java=\"`use32BitWorkerProcess`\"\u003e`use_32_bit_worker_process`\u003c/span\u003e must be set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"authSettings":{"$ref":"#/types/azure:appservice/FunctionAppSlotAuthSettings:FunctionAppSlotAuthSettings","description":"An \u003cspan pulumi-lang-nodejs=\"`authSettings`\" pulumi-lang-dotnet=\"`AuthSettings`\" pulumi-lang-go=\"`authSettings`\" pulumi-lang-python=\"`auth_settings`\" pulumi-lang-yaml=\"`authSettings`\" pulumi-lang-java=\"`authSettings`\"\u003e`auth_settings`\u003c/span\u003e block as defined below.\n"},"connectionStrings":{"type":"array","items":{"$ref":"#/types/azure:appservice/FunctionAppSlotConnectionString:FunctionAppSlotConnectionString"},"description":"A \u003cspan pulumi-lang-nodejs=\"`connectionString`\" pulumi-lang-dotnet=\"`ConnectionString`\" pulumi-lang-go=\"`connectionString`\" pulumi-lang-python=\"`connection_string`\" pulumi-lang-yaml=\"`connectionString`\" pulumi-lang-java=\"`connectionString`\"\u003e`connection_string`\u003c/span\u003e block as defined below.\n"},"dailyMemoryTimeQuota":{"type":"integer","description":"The amount of memory in gigabyte-seconds that your application is allowed to consume per day. Setting this value only affects function apps under the consumption plan.\n"},"enableBuiltinLogging":{"type":"boolean","description":"Should the built-in logging of the Function App be enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"enabled":{"type":"boolean","description":"Is the Function App enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"functionAppName":{"type":"string","description":"The name of the Function App within which to create the Function App Slot. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"httpsOnly":{"type":"boolean","description":"Can the Function App only be accessed via HTTPS? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"identity":{"$ref":"#/types/azure:appservice/FunctionAppSlotIdentity:FunctionAppSlotIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the Function App. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"osType":{"type":"string","description":"A string indicating the Operating System type for this function app. The only possible value is \u003cspan pulumi-lang-nodejs=\"`linux`\" pulumi-lang-dotnet=\"`Linux`\" pulumi-lang-go=\"`linux`\" pulumi-lang-python=\"`linux`\" pulumi-lang-yaml=\"`linux`\" pulumi-lang-java=\"`linux`\"\u003e`linux`\u003c/span\u003e. Changing this forces a new resource to be created.\n\n\u003e **NOTE:** This value will be \u003cspan pulumi-lang-nodejs=\"`linux`\" pulumi-lang-dotnet=\"`Linux`\" pulumi-lang-go=\"`linux`\" pulumi-lang-python=\"`linux`\" pulumi-lang-yaml=\"`linux`\" pulumi-lang-java=\"`linux`\"\u003e`linux`\u003c/span\u003e for Linux Derivatives or an empty string for Windows (default).\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the Function App Slot. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"siteConfig":{"$ref":"#/types/azure:appservice/FunctionAppSlotSiteConfig:FunctionAppSlotSiteConfig","description":"A \u003cspan pulumi-lang-nodejs=\"`siteConfig`\" pulumi-lang-dotnet=\"`SiteConfig`\" pulumi-lang-go=\"`siteConfig`\" pulumi-lang-python=\"`site_config`\" pulumi-lang-yaml=\"`siteConfig`\" pulumi-lang-java=\"`siteConfig`\"\u003e`site_config`\u003c/span\u003e object as defined below.\n"},"storageAccountAccessKey":{"type":"string","description":"The access key which will be used to access the backend storage account for the Function App.\n","secret":true},"storageAccountName":{"type":"string","description":"The backend storage account name which will be used by the Function App (such as the dashboard, logs). Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"version":{"type":"string","description":"The runtime version associated with the Function App. Defaults to `~1`.\n"}},"requiredInputs":["appServicePlanId","functionAppName","resourceGroupName","storageAccountAccessKey","storageAccountName"],"stateInputs":{"description":"Input properties used for looking up and filtering FunctionAppSlot resources.\n","properties":{"appServicePlanId":{"type":"string","description":"The ID of the App Service Plan within which to create this Function App Slot. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"appSettings":{"type":"object","additionalProperties":{"type":"string"},"description":"A key-value pair of App Settings.\n\n\u003e **Note:** When integrating a `CI/CD pipeline` and expecting to run from a deployed package in `Azure` you must seed your `app settings` as part of the application code for function app to be successfully deployed. `Important Default key pairs`: (`\"WEBSITE_RUN_FROM_PACKAGE\" = \"\"`, `\"FUNCTIONS_WORKER_RUNTIME\" = \"node\"` (or python, etc), `\"WEBSITE_NODE_DEFAULT_VERSION\" = \"10.14.1\"`, `\"APPINSIGHTS_INSTRUMENTATIONKEY\" = \"\"`).\n\n\u003e **NOTE:** The values for `AzureWebJobsStorage` and `FUNCTIONS_EXTENSION_VERSION` will be filled by other input arguments and shouldn't be configured separately. `AzureWebJobsStorage` is filled based on \u003cspan pulumi-lang-nodejs=\"`storageAccountName`\" pulumi-lang-dotnet=\"`StorageAccountName`\" pulumi-lang-go=\"`storageAccountName`\" pulumi-lang-python=\"`storage_account_name`\" pulumi-lang-yaml=\"`storageAccountName`\" pulumi-lang-java=\"`storageAccountName`\"\u003e`storage_account_name`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`storageAccountAccessKey`\" pulumi-lang-dotnet=\"`StorageAccountAccessKey`\" pulumi-lang-go=\"`storageAccountAccessKey`\" pulumi-lang-python=\"`storage_account_access_key`\" pulumi-lang-yaml=\"`storageAccountAccessKey`\" pulumi-lang-java=\"`storageAccountAccessKey`\"\u003e`storage_account_access_key`\u003c/span\u003e. `FUNCTIONS_EXTENSION_VERSION` is filled based on \u003cspan pulumi-lang-nodejs=\"`version`\" pulumi-lang-dotnet=\"`Version`\" pulumi-lang-go=\"`version`\" pulumi-lang-python=\"`version`\" pulumi-lang-yaml=\"`version`\" pulumi-lang-java=\"`version`\"\u003e`version`\u003c/span\u003e.\n\n\u003e **Note:**  When using an App Service Plan in the `Free` or `Shared` Tiers \u003cspan pulumi-lang-nodejs=\"`use32BitWorkerProcess`\" pulumi-lang-dotnet=\"`Use32BitWorkerProcess`\" pulumi-lang-go=\"`use32BitWorkerProcess`\" pulumi-lang-python=\"`use_32_bit_worker_process`\" pulumi-lang-yaml=\"`use32BitWorkerProcess`\" pulumi-lang-java=\"`use32BitWorkerProcess`\"\u003e`use_32_bit_worker_process`\u003c/span\u003e must be set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"authSettings":{"$ref":"#/types/azure:appservice/FunctionAppSlotAuthSettings:FunctionAppSlotAuthSettings","description":"An \u003cspan pulumi-lang-nodejs=\"`authSettings`\" pulumi-lang-dotnet=\"`AuthSettings`\" pulumi-lang-go=\"`authSettings`\" pulumi-lang-python=\"`auth_settings`\" pulumi-lang-yaml=\"`authSettings`\" pulumi-lang-java=\"`authSettings`\"\u003e`auth_settings`\u003c/span\u003e block as defined below.\n"},"connectionStrings":{"type":"array","items":{"$ref":"#/types/azure:appservice/FunctionAppSlotConnectionString:FunctionAppSlotConnectionString"},"description":"A \u003cspan pulumi-lang-nodejs=\"`connectionString`\" pulumi-lang-dotnet=\"`ConnectionString`\" pulumi-lang-go=\"`connectionString`\" pulumi-lang-python=\"`connection_string`\" pulumi-lang-yaml=\"`connectionString`\" pulumi-lang-java=\"`connectionString`\"\u003e`connection_string`\u003c/span\u003e block as defined below.\n"},"dailyMemoryTimeQuota":{"type":"integer","description":"The amount of memory in gigabyte-seconds that your application is allowed to consume per day. Setting this value only affects function apps under the consumption plan.\n"},"defaultHostname":{"type":"string","description":"The default hostname associated with the Function App - such as `mysite.azurewebsites.net`\n"},"enableBuiltinLogging":{"type":"boolean","description":"Should the built-in logging of the Function App be enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"enabled":{"type":"boolean","description":"Is the Function App enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"functionAppName":{"type":"string","description":"The name of the Function App within which to create the Function App Slot. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"httpsOnly":{"type":"boolean","description":"Can the Function App only be accessed via HTTPS? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"identity":{"$ref":"#/types/azure:appservice/FunctionAppSlotIdentity:FunctionAppSlotIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"kind":{"type":"string","description":"The Function App kind - such as `functionapp,linux,container`\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the Function App. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"osType":{"type":"string","description":"A string indicating the Operating System type for this function app. The only possible value is \u003cspan pulumi-lang-nodejs=\"`linux`\" pulumi-lang-dotnet=\"`Linux`\" pulumi-lang-go=\"`linux`\" pulumi-lang-python=\"`linux`\" pulumi-lang-yaml=\"`linux`\" pulumi-lang-java=\"`linux`\"\u003e`linux`\u003c/span\u003e. Changing this forces a new resource to be created.\n\n\u003e **NOTE:** This value will be \u003cspan pulumi-lang-nodejs=\"`linux`\" pulumi-lang-dotnet=\"`Linux`\" pulumi-lang-go=\"`linux`\" pulumi-lang-python=\"`linux`\" pulumi-lang-yaml=\"`linux`\" pulumi-lang-java=\"`linux`\"\u003e`linux`\u003c/span\u003e for Linux Derivatives or an empty string for Windows (default).\n","willReplaceOnChanges":true},"outboundIpAddresses":{"type":"string","description":"A comma separated list of outbound IP addresses - such as `52.23.25.3,52.143.43.12`\n"},"possibleOutboundIpAddresses":{"type":"string","description":"A comma separated list of outbound IP addresses - such as `52.23.25.3,52.143.43.12,52.143.43.17` - not all of which are necessarily in use. Superset of \u003cspan pulumi-lang-nodejs=\"`outboundIpAddresses`\" pulumi-lang-dotnet=\"`OutboundIpAddresses`\" pulumi-lang-go=\"`outboundIpAddresses`\" pulumi-lang-python=\"`outbound_ip_addresses`\" pulumi-lang-yaml=\"`outboundIpAddresses`\" pulumi-lang-java=\"`outboundIpAddresses`\"\u003e`outbound_ip_addresses`\u003c/span\u003e.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the Function App Slot. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"siteConfig":{"$ref":"#/types/azure:appservice/FunctionAppSlotSiteConfig:FunctionAppSlotSiteConfig","description":"A \u003cspan pulumi-lang-nodejs=\"`siteConfig`\" pulumi-lang-dotnet=\"`SiteConfig`\" pulumi-lang-go=\"`siteConfig`\" pulumi-lang-python=\"`site_config`\" pulumi-lang-yaml=\"`siteConfig`\" pulumi-lang-java=\"`siteConfig`\"\u003e`site_config`\u003c/span\u003e object as defined below.\n"},"siteCredentials":{"type":"array","items":{"$ref":"#/types/azure:appservice/FunctionAppSlotSiteCredential:FunctionAppSlotSiteCredential"},"description":"A \u003cspan pulumi-lang-nodejs=\"`siteCredential`\" pulumi-lang-dotnet=\"`SiteCredential`\" pulumi-lang-go=\"`siteCredential`\" pulumi-lang-python=\"`site_credential`\" pulumi-lang-yaml=\"`siteCredential`\" pulumi-lang-java=\"`siteCredential`\"\u003e`site_credential`\u003c/span\u003e block as defined below, which contains the site-level credentials used to publish to this Function App Slot.\n"},"storageAccountAccessKey":{"type":"string","description":"The access key which will be used to access the backend storage account for the Function App.\n","secret":true},"storageAccountName":{"type":"string","description":"The backend storage account name which will be used by the Function App (such as the dashboard, logs). Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"version":{"type":"string","description":"The runtime version associated with the Function App. Defaults to `~1`.\n"}},"type":"object"}},"azure:appservice/hybridConnection:HybridConnection":{"description":"Manages an App Service Hybrid Connection for an existing App Service, Relay and Service Bus.\n\n!\u003e **NOTE:** This resource has been deprecated in version 5.0 of the provider and will be removed in version 6.0. Please use \u003cspan pulumi-lang-nodejs=\"`azure.appservice.FunctionAppHybridConnection`\" pulumi-lang-dotnet=\"`azure.appservice.FunctionAppHybridConnection`\" pulumi-lang-go=\"`appservice.FunctionAppHybridConnection`\" pulumi-lang-python=\"`appservice.FunctionAppHybridConnection`\" pulumi-lang-yaml=\"`azure.appservice.FunctionAppHybridConnection`\" pulumi-lang-java=\"`azure.appservice.FunctionAppHybridConnection`\"\u003e`azure.appservice.FunctionAppHybridConnection`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`azure.appservice.WebAppHybridConnection`\" pulumi-lang-dotnet=\"`azure.appservice.WebAppHybridConnection`\" pulumi-lang-go=\"`appservice.WebAppHybridConnection`\" pulumi-lang-python=\"`appservice.WebAppHybridConnection`\" pulumi-lang-yaml=\"`azure.appservice.WebAppHybridConnection`\" pulumi-lang-java=\"`azure.appservice.WebAppHybridConnection`\"\u003e`azure.appservice.WebAppHybridConnection`\u003c/span\u003e resources instead.\n\n## Example Usage\n\nThis example provisions an App Service, a Relay Hybrid Connection, and a Service Bus using their outputs to create the App Service Hybrid Connection.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"exampleResourceGroup1\",\n    location: \"West Europe\",\n});\nconst examplePlan = new azure.appservice.Plan(\"example\", {\n    name: \"exampleAppServicePlan1\",\n    location: example.location,\n    resourceGroupName: example.name,\n    sku: {\n        tier: \"Standard\",\n        size: \"S1\",\n    },\n});\nconst exampleAppService = new azure.appservice.AppService(\"example\", {\n    name: \"exampleAppService1\",\n    location: example.location,\n    resourceGroupName: example.name,\n    appServicePlanId: examplePlan.id,\n});\nconst exampleNamespace = new azure.relay.Namespace(\"example\", {\n    name: \"exampleRN1\",\n    location: example.location,\n    resourceGroupName: example.name,\n    skuName: \"Standard\",\n});\nconst exampleHybridConnection = new azure.relay.HybridConnection(\"example\", {\n    name: \"exampleRHC1\",\n    resourceGroupName: example.name,\n    relayNamespaceName: exampleNamespace.name,\n    userMetadata: \"examplemetadata\",\n});\nconst exampleHybridConnection2 = new azure.appservice.HybridConnection(\"example\", {\n    appServiceName: exampleAppService.name,\n    resourceGroupName: example.name,\n    relayId: exampleHybridConnection.id,\n    hostname: \"testhostname.example\",\n    port: 8080,\n    sendKeyName: \"exampleSharedAccessKey\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"exampleResourceGroup1\",\n    location=\"West Europe\")\nexample_plan = azure.appservice.Plan(\"example\",\n    name=\"exampleAppServicePlan1\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku={\n        \"tier\": \"Standard\",\n        \"size\": \"S1\",\n    })\nexample_app_service = azure.appservice.AppService(\"example\",\n    name=\"exampleAppService1\",\n    location=example.location,\n    resource_group_name=example.name,\n    app_service_plan_id=example_plan.id)\nexample_namespace = azure.relay.Namespace(\"example\",\n    name=\"exampleRN1\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku_name=\"Standard\")\nexample_hybrid_connection = azure.relay.HybridConnection(\"example\",\n    name=\"exampleRHC1\",\n    resource_group_name=example.name,\n    relay_namespace_name=example_namespace.name,\n    user_metadata=\"examplemetadata\")\nexample_hybrid_connection2 = azure.appservice.HybridConnection(\"example\",\n    app_service_name=example_app_service.name,\n    resource_group_name=example.name,\n    relay_id=example_hybrid_connection.id,\n    hostname=\"testhostname.example\",\n    port=8080,\n    send_key_name=\"exampleSharedAccessKey\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"exampleResourceGroup1\",\n        Location = \"West Europe\",\n    });\n\n    var examplePlan = new Azure.AppService.Plan(\"example\", new()\n    {\n        Name = \"exampleAppServicePlan1\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Sku = new Azure.AppService.Inputs.PlanSkuArgs\n        {\n            Tier = \"Standard\",\n            Size = \"S1\",\n        },\n    });\n\n    var exampleAppService = new Azure.AppService.AppService(\"example\", new()\n    {\n        Name = \"exampleAppService1\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        AppServicePlanId = examplePlan.Id,\n    });\n\n    var exampleNamespace = new Azure.Relay.Namespace(\"example\", new()\n    {\n        Name = \"exampleRN1\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        SkuName = \"Standard\",\n    });\n\n    var exampleHybridConnection = new Azure.Relay.HybridConnection(\"example\", new()\n    {\n        Name = \"exampleRHC1\",\n        ResourceGroupName = example.Name,\n        RelayNamespaceName = exampleNamespace.Name,\n        UserMetadata = \"examplemetadata\",\n    });\n\n    var exampleHybridConnection2 = new Azure.AppService.HybridConnection(\"example\", new()\n    {\n        AppServiceName = exampleAppService.Name,\n        ResourceGroupName = example.Name,\n        RelayId = exampleHybridConnection.Id,\n        Hostname = \"testhostname.example\",\n        Port = 8080,\n        SendKeyName = \"exampleSharedAccessKey\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/appservice\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/relay\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"exampleResourceGroup1\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texamplePlan, err := appservice.NewPlan(ctx, \"example\", \u0026appservice.PlanArgs{\n\t\t\tName:              pulumi.String(\"exampleAppServicePlan1\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSku: \u0026appservice.PlanSkuArgs{\n\t\t\t\tTier: pulumi.String(\"Standard\"),\n\t\t\t\tSize: pulumi.String(\"S1\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAppService, err := appservice.NewAppService(ctx, \"example\", \u0026appservice.AppServiceArgs{\n\t\t\tName:              pulumi.String(\"exampleAppService1\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tAppServicePlanId:  examplePlan.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNamespace, err := relay.NewNamespace(ctx, \"example\", \u0026relay.NamespaceArgs{\n\t\t\tName:              pulumi.String(\"exampleRN1\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSkuName:           pulumi.String(\"Standard\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleHybridConnection, err := relay.NewHybridConnection(ctx, \"example\", \u0026relay.HybridConnectionArgs{\n\t\t\tName:               pulumi.String(\"exampleRHC1\"),\n\t\t\tResourceGroupName:  example.Name,\n\t\t\tRelayNamespaceName: exampleNamespace.Name,\n\t\t\tUserMetadata:       pulumi.String(\"examplemetadata\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = appservice.NewHybridConnection(ctx, \"example\", \u0026appservice.HybridConnectionArgs{\n\t\t\tAppServiceName:    exampleAppService.Name,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tRelayId:           exampleHybridConnection.ID(),\n\t\t\tHostname:          pulumi.String(\"testhostname.example\"),\n\t\t\tPort:              pulumi.Int(8080),\n\t\t\tSendKeyName:       pulumi.String(\"exampleSharedAccessKey\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.appservice.Plan;\nimport com.pulumi.azure.appservice.PlanArgs;\nimport com.pulumi.azure.appservice.inputs.PlanSkuArgs;\nimport com.pulumi.azure.appservice.AppService;\nimport com.pulumi.azure.appservice.AppServiceArgs;\nimport com.pulumi.azure.relay.Namespace;\nimport com.pulumi.azure.relay.NamespaceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"exampleResourceGroup1\")\n            .location(\"West Europe\")\n            .build());\n\n        var examplePlan = new Plan(\"examplePlan\", PlanArgs.builder()\n            .name(\"exampleAppServicePlan1\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .sku(PlanSkuArgs.builder()\n                .tier(\"Standard\")\n                .size(\"S1\")\n                .build())\n            .build());\n\n        var exampleAppService = new AppService(\"exampleAppService\", AppServiceArgs.builder()\n            .name(\"exampleAppService1\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .appServicePlanId(examplePlan.id())\n            .build());\n\n        var exampleNamespace = new Namespace(\"exampleNamespace\", NamespaceArgs.builder()\n            .name(\"exampleRN1\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .skuName(\"Standard\")\n            .build());\n\n        var exampleHybridConnection = new com.pulumi.azure.relay.HybridConnection(\"exampleHybridConnection\", com.pulumi.azure.relay.HybridConnectionArgs.builder()\n            .name(\"exampleRHC1\")\n            .resourceGroupName(example.name())\n            .relayNamespaceName(exampleNamespace.name())\n            .userMetadata(\"examplemetadata\")\n            .build());\n\n        var exampleHybridConnection2 = new com.pulumi.azure.appservice.HybridConnection(\"exampleHybridConnection2\", com.pulumi.azure.appservice.HybridConnectionArgs.builder()\n            .appServiceName(exampleAppService.name())\n            .resourceGroupName(example.name())\n            .relayId(exampleHybridConnection.id())\n            .hostname(\"testhostname.example\")\n            .port(8080)\n            .sendKeyName(\"exampleSharedAccessKey\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: exampleResourceGroup1\n      location: West Europe\n  examplePlan:\n    type: azure:appservice:Plan\n    name: example\n    properties:\n      name: exampleAppServicePlan1\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      sku:\n        tier: Standard\n        size: S1\n  exampleAppService:\n    type: azure:appservice:AppService\n    name: example\n    properties:\n      name: exampleAppService1\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      appServicePlanId: ${examplePlan.id}\n  exampleNamespace:\n    type: azure:relay:Namespace\n    name: example\n    properties:\n      name: exampleRN1\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      skuName: Standard\n  exampleHybridConnection:\n    type: azure:relay:HybridConnection\n    name: example\n    properties:\n      name: exampleRHC1\n      resourceGroupName: ${example.name}\n      relayNamespaceName: ${exampleNamespace.name}\n      userMetadata: examplemetadata\n  exampleHybridConnection2:\n    type: azure:appservice:HybridConnection\n    name: example\n    properties:\n      appServiceName: ${exampleAppService.name}\n      resourceGroupName: ${example.name}\n      relayId: ${exampleHybridConnection.id}\n      hostname: testhostname.example\n      port: 8080\n      sendKeyName: exampleSharedAccessKey\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Relay` - 2021-11-01\n\n## Import\n\nApp Service Hybrid Connections can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:appservice/hybridConnection:HybridConnection example /subscriptions/00000000-0000-0000-0000-00000000000/resourceGroups/exampleResourceGroup1/providers/Microsoft.Web/sites/exampleAppService1/hybridConnectionNamespaces/exampleRN1/relays/exampleRHC1\n```\n\n","properties":{"appServiceName":{"type":"string","description":"Specifies the name of the App Service. Changing this forces a new resource to be created.\n"},"hostname":{"type":"string","description":"The hostname of the endpoint.\n"},"namespaceName":{"type":"string","description":"The name of the Relay Namespace.\n"},"port":{"type":"integer","description":"The port of the endpoint.\n"},"relayId":{"type":"string","description":"The ID of the Service Bus Relay. Changing this forces a new resource to be created.\n"},"relayName":{"type":"string"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the App Service. Changing this forces a new resource to be created.\n"},"sendKeyName":{"type":"string","description":"The name of the Service Bus key which has Send permissions. Defaults to `RootManageSharedAccessKey`.\n"},"sendKeyValue":{"type":"string","description":"The value of the Service Bus Primary Access key.\n","secret":true},"serviceBusNamespace":{"type":"string","description":"The name of the Service Bus namespace.\n"},"serviceBusSuffix":{"type":"string","description":"The suffix for the service bus endpoint.\n"}},"required":["appServiceName","hostname","namespaceName","port","relayId","relayName","resourceGroupName","sendKeyValue","serviceBusNamespace","serviceBusSuffix"],"inputProperties":{"appServiceName":{"type":"string","description":"Specifies the name of the App Service. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"hostname":{"type":"string","description":"The hostname of the endpoint.\n"},"port":{"type":"integer","description":"The port of the endpoint.\n"},"relayId":{"type":"string","description":"The ID of the Service Bus Relay. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the App Service. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sendKeyName":{"type":"string","description":"The name of the Service Bus key which has Send permissions. Defaults to `RootManageSharedAccessKey`.\n"}},"requiredInputs":["appServiceName","hostname","port","relayId","resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering HybridConnection resources.\n","properties":{"appServiceName":{"type":"string","description":"Specifies the name of the App Service. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"hostname":{"type":"string","description":"The hostname of the endpoint.\n"},"namespaceName":{"type":"string","description":"The name of the Relay Namespace.\n"},"port":{"type":"integer","description":"The port of the endpoint.\n"},"relayId":{"type":"string","description":"The ID of the Service Bus Relay. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"relayName":{"type":"string"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the App Service. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sendKeyName":{"type":"string","description":"The name of the Service Bus key which has Send permissions. Defaults to `RootManageSharedAccessKey`.\n"},"sendKeyValue":{"type":"string","description":"The value of the Service Bus Primary Access key.\n","secret":true},"serviceBusNamespace":{"type":"string","description":"The name of the Service Bus namespace.\n"},"serviceBusSuffix":{"type":"string","description":"The suffix for the service bus endpoint.\n"}},"type":"object"}},"azure:appservice/linuxFunctionApp:LinuxFunctionApp":{"description":"Manages a Linux Function App.\n\n\u003e **Note:** This Terraform resource is specifically designed to provision the infrastructure for a Function App, which can host one or more individual functions. To package and deploy application code to the Function App, tools like [Azure Functions Core Tools](https://learn.microsoft.com/azure/azure-functions/functions-run-local) or Azure CLI can be utilized, however application code deployment must typically be performed individually for each Function App.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleAccount = new azure.storage.Account(\"example\", {\n    name: \"linuxfunctionappsa\",\n    resourceGroupName: example.name,\n    location: example.location,\n    accountTier: \"Standard\",\n    accountReplicationType: \"LRS\",\n});\nconst exampleServicePlan = new azure.appservice.ServicePlan(\"example\", {\n    name: \"example-app-service-plan\",\n    resourceGroupName: example.name,\n    location: example.location,\n    osType: \"Linux\",\n    skuName: \"B1\",\n});\nconst exampleLinuxFunctionApp = new azure.appservice.LinuxFunctionApp(\"example\", {\n    name: \"example-linux-function-app\",\n    resourceGroupName: example.name,\n    location: example.location,\n    storageAccountName: exampleAccount.name,\n    storageAccountAccessKey: exampleAccount.primaryAccessKey,\n    servicePlanId: exampleServicePlan.id,\n    siteConfig: {},\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_account = azure.storage.Account(\"example\",\n    name=\"linuxfunctionappsa\",\n    resource_group_name=example.name,\n    location=example.location,\n    account_tier=\"Standard\",\n    account_replication_type=\"LRS\")\nexample_service_plan = azure.appservice.ServicePlan(\"example\",\n    name=\"example-app-service-plan\",\n    resource_group_name=example.name,\n    location=example.location,\n    os_type=\"Linux\",\n    sku_name=\"B1\")\nexample_linux_function_app = azure.appservice.LinuxFunctionApp(\"example\",\n    name=\"example-linux-function-app\",\n    resource_group_name=example.name,\n    location=example.location,\n    storage_account_name=example_account.name,\n    storage_account_access_key=example_account.primary_access_key,\n    service_plan_id=example_service_plan.id,\n    site_config={})\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleAccount = new Azure.Storage.Account(\"example\", new()\n    {\n        Name = \"linuxfunctionappsa\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        AccountTier = \"Standard\",\n        AccountReplicationType = \"LRS\",\n    });\n\n    var exampleServicePlan = new Azure.AppService.ServicePlan(\"example\", new()\n    {\n        Name = \"example-app-service-plan\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        OsType = \"Linux\",\n        SkuName = \"B1\",\n    });\n\n    var exampleLinuxFunctionApp = new Azure.AppService.LinuxFunctionApp(\"example\", new()\n    {\n        Name = \"example-linux-function-app\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        StorageAccountName = exampleAccount.Name,\n        StorageAccountAccessKey = exampleAccount.PrimaryAccessKey,\n        ServicePlanId = exampleServicePlan.Id,\n        SiteConfig = null,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/appservice\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := storage.NewAccount(ctx, \"example\", \u0026storage.AccountArgs{\n\t\t\tName:                   pulumi.String(\"linuxfunctionappsa\"),\n\t\t\tResourceGroupName:      example.Name,\n\t\t\tLocation:               example.Location,\n\t\t\tAccountTier:            pulumi.String(\"Standard\"),\n\t\t\tAccountReplicationType: pulumi.String(\"LRS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleServicePlan, err := appservice.NewServicePlan(ctx, \"example\", \u0026appservice.ServicePlanArgs{\n\t\t\tName:              pulumi.String(\"example-app-service-plan\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tOsType:            pulumi.String(\"Linux\"),\n\t\t\tSkuName:           pulumi.String(\"B1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = appservice.NewLinuxFunctionApp(ctx, \"example\", \u0026appservice.LinuxFunctionAppArgs{\n\t\t\tName:                    pulumi.String(\"example-linux-function-app\"),\n\t\t\tResourceGroupName:       example.Name,\n\t\t\tLocation:                example.Location,\n\t\t\tStorageAccountName:      exampleAccount.Name,\n\t\t\tStorageAccountAccessKey: exampleAccount.PrimaryAccessKey,\n\t\t\tServicePlanId:           exampleServicePlan.ID(),\n\t\t\tSiteConfig:              \u0026appservice.LinuxFunctionAppSiteConfigArgs{},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.storage.Account;\nimport com.pulumi.azure.storage.AccountArgs;\nimport com.pulumi.azure.appservice.ServicePlan;\nimport com.pulumi.azure.appservice.ServicePlanArgs;\nimport com.pulumi.azure.appservice.LinuxFunctionApp;\nimport com.pulumi.azure.appservice.LinuxFunctionAppArgs;\nimport com.pulumi.azure.appservice.inputs.LinuxFunctionAppSiteConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"linuxfunctionappsa\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .accountTier(\"Standard\")\n            .accountReplicationType(\"LRS\")\n            .build());\n\n        var exampleServicePlan = new ServicePlan(\"exampleServicePlan\", ServicePlanArgs.builder()\n            .name(\"example-app-service-plan\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .osType(\"Linux\")\n            .skuName(\"B1\")\n            .build());\n\n        var exampleLinuxFunctionApp = new LinuxFunctionApp(\"exampleLinuxFunctionApp\", LinuxFunctionAppArgs.builder()\n            .name(\"example-linux-function-app\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .storageAccountName(exampleAccount.name())\n            .storageAccountAccessKey(exampleAccount.primaryAccessKey())\n            .servicePlanId(exampleServicePlan.id())\n            .siteConfig(LinuxFunctionAppSiteConfigArgs.builder()\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleAccount:\n    type: azure:storage:Account\n    name: example\n    properties:\n      name: linuxfunctionappsa\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      accountTier: Standard\n      accountReplicationType: LRS\n  exampleServicePlan:\n    type: azure:appservice:ServicePlan\n    name: example\n    properties:\n      name: example-app-service-plan\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      osType: Linux\n      skuName: B1\n  exampleLinuxFunctionApp:\n    type: azure:appservice:LinuxFunctionApp\n    name: example\n    properties:\n      name: example-linux-function-app\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      storageAccountName: ${exampleAccount.name}\n      storageAccountAccessKey: ${exampleAccount.primaryAccessKey}\n      servicePlanId: ${exampleServicePlan.id}\n      siteConfig: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Web` - 2023-12-01, 2023-01-01\n\n## Import\n\nLinux Function Apps can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:appservice/linuxFunctionApp:LinuxFunctionApp example /subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/resGroup1/providers/Microsoft.Web/sites/site1\n```\n\n","properties":{"appSettings":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of key-value pairs for [App Settings](https://docs.microsoft.com/azure/azure-functions/functions-app-settings) and custom values.\n\n\u003e **Note:** For runtime related settings, please use \u003cspan pulumi-lang-nodejs=\"`nodeVersion`\" pulumi-lang-dotnet=\"`NodeVersion`\" pulumi-lang-go=\"`nodeVersion`\" pulumi-lang-python=\"`node_version`\" pulumi-lang-yaml=\"`nodeVersion`\" pulumi-lang-java=\"`nodeVersion`\"\u003e`node_version`\u003c/span\u003e in \u003cspan pulumi-lang-nodejs=\"`siteConfig`\" pulumi-lang-dotnet=\"`SiteConfig`\" pulumi-lang-go=\"`siteConfig`\" pulumi-lang-python=\"`site_config`\" pulumi-lang-yaml=\"`siteConfig`\" pulumi-lang-java=\"`siteConfig`\"\u003e`site_config`\u003c/span\u003e to set the node version and use \u003cspan pulumi-lang-nodejs=\"`functionsExtensionVersion`\" pulumi-lang-dotnet=\"`FunctionsExtensionVersion`\" pulumi-lang-go=\"`functionsExtensionVersion`\" pulumi-lang-python=\"`functions_extension_version`\" pulumi-lang-yaml=\"`functionsExtensionVersion`\" pulumi-lang-java=\"`functionsExtensionVersion`\"\u003e`functions_extension_version`\u003c/span\u003e to set the function runtime version, terraform will assign the values to the key `WEBSITE_NODE_DEFAULT_VERSION` and `FUNCTIONS_EXTENSION_VERSION` in app setting.\n\n\u003e **Note:** For storage related settings, please use related properties that are available such as \u003cspan pulumi-lang-nodejs=\"`storageAccountAccessKey`\" pulumi-lang-dotnet=\"`StorageAccountAccessKey`\" pulumi-lang-go=\"`storageAccountAccessKey`\" pulumi-lang-python=\"`storage_account_access_key`\" pulumi-lang-yaml=\"`storageAccountAccessKey`\" pulumi-lang-java=\"`storageAccountAccessKey`\"\u003e`storage_account_access_key`\u003c/span\u003e, terraform will assign the value to keys such as `WEBSITE_CONTENTAZUREFILECONNECTIONSTRING`, `AzureWebJobsStorage` in app_setting.\n\n\u003e **Note:** For application insight related settings, please use \u003cspan pulumi-lang-nodejs=\"`applicationInsightsConnectionString`\" pulumi-lang-dotnet=\"`ApplicationInsightsConnectionString`\" pulumi-lang-go=\"`applicationInsightsConnectionString`\" pulumi-lang-python=\"`application_insights_connection_string`\" pulumi-lang-yaml=\"`applicationInsightsConnectionString`\" pulumi-lang-java=\"`applicationInsightsConnectionString`\"\u003e`application_insights_connection_string`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`applicationInsightsKey`\" pulumi-lang-dotnet=\"`ApplicationInsightsKey`\" pulumi-lang-go=\"`applicationInsightsKey`\" pulumi-lang-python=\"`application_insights_key`\" pulumi-lang-yaml=\"`applicationInsightsKey`\" pulumi-lang-java=\"`applicationInsightsKey`\"\u003e`application_insights_key`\u003c/span\u003e, terraform will assign the value to the key `APPINSIGHTS_INSTRUMENTATIONKEY` and `APPLICATIONINSIGHTS_CONNECTION_STRING` in app setting.\n\n\u003e **Note:** For health check related settings, please use \u003cspan pulumi-lang-nodejs=\"`healthCheckEvictionTimeInMin`\" pulumi-lang-dotnet=\"`HealthCheckEvictionTimeInMin`\" pulumi-lang-go=\"`healthCheckEvictionTimeInMin`\" pulumi-lang-python=\"`health_check_eviction_time_in_min`\" pulumi-lang-yaml=\"`healthCheckEvictionTimeInMin`\" pulumi-lang-java=\"`healthCheckEvictionTimeInMin`\"\u003e`health_check_eviction_time_in_min`\u003c/span\u003e, terraform will assign the value to the key `WEBSITE_HEALTHCHECK_MAXPINGFAILURES` in app setting.\n\n\u003e **Note:** Please create a predefined share if you are restricting your storage account to a virtual network by setting `WEBSITE_CONTENTOVERVNET` to 1 in app_setting.\n"},"authSettings":{"$ref":"#/types/azure:appservice/LinuxFunctionAppAuthSettings:LinuxFunctionAppAuthSettings","description":"A \u003cspan pulumi-lang-nodejs=\"`authSettings`\" pulumi-lang-dotnet=\"`AuthSettings`\" pulumi-lang-go=\"`authSettings`\" pulumi-lang-python=\"`auth_settings`\" pulumi-lang-yaml=\"`authSettings`\" pulumi-lang-java=\"`authSettings`\"\u003e`auth_settings`\u003c/span\u003e block as defined below.\n"},"authSettingsV2":{"$ref":"#/types/azure:appservice/LinuxFunctionAppAuthSettingsV2:LinuxFunctionAppAuthSettingsV2","description":"An \u003cspan pulumi-lang-nodejs=\"`authSettingsV2`\" pulumi-lang-dotnet=\"`AuthSettingsV2`\" pulumi-lang-go=\"`authSettingsV2`\" pulumi-lang-python=\"`auth_settings_v2`\" pulumi-lang-yaml=\"`authSettingsV2`\" pulumi-lang-java=\"`authSettingsV2`\"\u003e`auth_settings_v2`\u003c/span\u003e block as defined below.\n"},"backup":{"$ref":"#/types/azure:appservice/LinuxFunctionAppBackup:LinuxFunctionAppBackup","description":"A \u003cspan pulumi-lang-nodejs=\"`backup`\" pulumi-lang-dotnet=\"`Backup`\" pulumi-lang-go=\"`backup`\" pulumi-lang-python=\"`backup`\" pulumi-lang-yaml=\"`backup`\" pulumi-lang-java=\"`backup`\"\u003e`backup`\u003c/span\u003e block as defined below.\n"},"builtinLoggingEnabled":{"type":"boolean","description":"Should built in logging be enabled. Configures `AzureWebJobsDashboard` app setting based on the configured storage setting. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`builtinLoggingEnabled`\" pulumi-lang-dotnet=\"`BuiltinLoggingEnabled`\" pulumi-lang-go=\"`builtinLoggingEnabled`\" pulumi-lang-python=\"`builtin_logging_enabled`\" pulumi-lang-yaml=\"`builtinLoggingEnabled`\" pulumi-lang-java=\"`builtinLoggingEnabled`\"\u003e`builtin_logging_enabled`\u003c/span\u003e is only supported for function app whose function runtime is running on version 1.x.\n"},"clientCertificateEnabled":{"type":"boolean","description":"Should the function app use Client Certificates.\n"},"clientCertificateExclusionPaths":{"type":"string","description":"Paths to exclude when using client certificates, separated by ;\n"},"clientCertificateMode":{"type":"string","description":"The mode of the Function App's client certificates requirement for incoming requests. Possible values are `Required`, `Optional`, and `OptionalInteractiveUser`. Defaults to `Optional`.\n"},"connectionStrings":{"type":"array","items":{"$ref":"#/types/azure:appservice/LinuxFunctionAppConnectionString:LinuxFunctionAppConnectionString"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`connectionString`\" pulumi-lang-dotnet=\"`ConnectionString`\" pulumi-lang-go=\"`connectionString`\" pulumi-lang-python=\"`connection_string`\" pulumi-lang-yaml=\"`connectionString`\" pulumi-lang-java=\"`connectionString`\"\u003e`connection_string`\u003c/span\u003e blocks as defined below.\n"},"contentShareForceDisabled":{"type":"boolean","description":"Should the settings for linking the Function App to storage be suppressed.\n"},"customDomainVerificationId":{"type":"string","description":"The identifier used by App Service to perform domain ownership verification via DNS TXT record.\n","secret":true},"dailyMemoryTimeQuota":{"type":"integer","description":"The amount of memory in gigabyte-seconds that your application is allowed to consume per day. Setting this value only affects function apps under the consumption plan. Defaults to \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"defaultHostname":{"type":"string","description":"The default hostname of the Linux Function App.\n"},"enabled":{"type":"boolean","description":"Is the Function App enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"ftpPublishBasicAuthenticationEnabled":{"type":"boolean","description":"Should the default FTP Basic Authentication publishing profile be enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"functionsExtensionVersion":{"type":"string","description":"The runtime version associated with the Function App. Defaults to `~4`.\n"},"hostingEnvironmentId":{"type":"string","description":"The ID of the App Service Environment used by Function App.\n"},"httpsOnly":{"type":"boolean","description":"Can the Function App only be accessed via HTTPS? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"identity":{"$ref":"#/types/azure:appservice/LinuxFunctionAppIdentity:LinuxFunctionAppIdentity","description":"A \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"keyVaultReferenceIdentityId":{"type":"string","description":"The User Assigned Identity ID used for accessing KeyVault secrets. The identity must be assigned to the application in the \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block. [For more information see - Access vaults with a user-assigned identity](https://docs.microsoft.com/azure/app-service/app-service-key-vault-references#access-vaults-with-a-user-assigned-identity)\n"},"kind":{"type":"string","description":"The Kind value for this Linux Function App.\n"},"location":{"type":"string","description":"The Azure Region where the Linux Function App should exist. Changing this forces a new Linux Function App to be created.\n"},"name":{"type":"string","description":"The name which should be used for this Linux Function App. Changing this forces a new Linux Function App to be created. Limit the function name to 32 characters to avoid naming collisions. For more information about [Function App naming rule](https://docs.microsoft.com/en-us/azure/azure-resource-manager/management/resource-name-rules#microsoftweb) and [Host ID Collisions](https://github.com/Azure/azure-functions-host/wiki/Host-IDs#host-id-collisions)\n"},"outboundIpAddressLists":{"type":"array","items":{"type":"string"},"description":"A list of outbound IP addresses. For example `[\"52.23.25.3\", \"52.143.43.12\"]`\n"},"outboundIpAddresses":{"type":"string","description":"A comma separated list of outbound IP addresses as a string. For example `52.23.25.3,52.143.43.12`.\n"},"possibleOutboundIpAddressLists":{"type":"array","items":{"type":"string"},"description":"A list of possible outbound IP addresses, not all of which are necessarily in use. This is a superset of \u003cspan pulumi-lang-nodejs=\"`outboundIpAddressList`\" pulumi-lang-dotnet=\"`OutboundIpAddressList`\" pulumi-lang-go=\"`outboundIpAddressList`\" pulumi-lang-python=\"`outbound_ip_address_list`\" pulumi-lang-yaml=\"`outboundIpAddressList`\" pulumi-lang-java=\"`outboundIpAddressList`\"\u003e`outbound_ip_address_list`\u003c/span\u003e. For example `[\"52.23.25.3\", \"52.143.43.12\"]`.\n"},"possibleOutboundIpAddresses":{"type":"string","description":"A comma separated list of possible outbound IP addresses as a string. For example `52.23.25.3,52.143.43.12,52.143.43.17`. This is a superset of \u003cspan pulumi-lang-nodejs=\"`outboundIpAddresses`\" pulumi-lang-dotnet=\"`OutboundIpAddresses`\" pulumi-lang-go=\"`outboundIpAddresses`\" pulumi-lang-python=\"`outbound_ip_addresses`\" pulumi-lang-yaml=\"`outboundIpAddresses`\" pulumi-lang-java=\"`outboundIpAddresses`\"\u003e`outbound_ip_addresses`\u003c/span\u003e.\n"},"publicNetworkAccessEnabled":{"type":"boolean","description":"Should public network access be enabled for the Function App. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Linux Function App should exist. Changing this forces a new Linux Function App to be created.\n"},"servicePlanId":{"type":"string","description":"The ID of the App Service Plan within which to create this Function App.\n"},"siteConfig":{"$ref":"#/types/azure:appservice/LinuxFunctionAppSiteConfig:LinuxFunctionAppSiteConfig","description":"A \u003cspan pulumi-lang-nodejs=\"`siteConfig`\" pulumi-lang-dotnet=\"`SiteConfig`\" pulumi-lang-go=\"`siteConfig`\" pulumi-lang-python=\"`site_config`\" pulumi-lang-yaml=\"`siteConfig`\" pulumi-lang-java=\"`siteConfig`\"\u003e`site_config`\u003c/span\u003e block as defined below.\n"},"siteCredentials":{"type":"array","items":{"$ref":"#/types/azure:appservice/LinuxFunctionAppSiteCredential:LinuxFunctionAppSiteCredential"},"description":"A \u003cspan pulumi-lang-nodejs=\"`siteCredential`\" pulumi-lang-dotnet=\"`SiteCredential`\" pulumi-lang-go=\"`siteCredential`\" pulumi-lang-python=\"`site_credential`\" pulumi-lang-yaml=\"`siteCredential`\" pulumi-lang-java=\"`siteCredential`\"\u003e`site_credential`\u003c/span\u003e block as defined below.\n","secret":true},"stickySettings":{"$ref":"#/types/azure:appservice/LinuxFunctionAppStickySettings:LinuxFunctionAppStickySettings","description":"A \u003cspan pulumi-lang-nodejs=\"`stickySettings`\" pulumi-lang-dotnet=\"`StickySettings`\" pulumi-lang-go=\"`stickySettings`\" pulumi-lang-python=\"`sticky_settings`\" pulumi-lang-yaml=\"`stickySettings`\" pulumi-lang-java=\"`stickySettings`\"\u003e`sticky_settings`\u003c/span\u003e block as defined below.\n"},"storageAccountAccessKey":{"type":"string","description":"The access key which will be used to access the backend storage account for the Function App. Conflicts with \u003cspan pulumi-lang-nodejs=\"`storageUsesManagedIdentity`\" pulumi-lang-dotnet=\"`StorageUsesManagedIdentity`\" pulumi-lang-go=\"`storageUsesManagedIdentity`\" pulumi-lang-python=\"`storage_uses_managed_identity`\" pulumi-lang-yaml=\"`storageUsesManagedIdentity`\" pulumi-lang-java=\"`storageUsesManagedIdentity`\"\u003e`storage_uses_managed_identity`\u003c/span\u003e.\n","secret":true},"storageAccountName":{"type":"string","description":"The backend storage account name which will be used by this Function App.\n"},"storageAccounts":{"type":"array","items":{"$ref":"#/types/azure:appservice/LinuxFunctionAppStorageAccount:LinuxFunctionAppStorageAccount"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`storageAccount`\" pulumi-lang-dotnet=\"`StorageAccount`\" pulumi-lang-go=\"`storageAccount`\" pulumi-lang-python=\"`storage_account`\" pulumi-lang-yaml=\"`storageAccount`\" pulumi-lang-java=\"`storageAccount`\"\u003e`storage_account`\u003c/span\u003e blocks as defined below.\n"},"storageKeyVaultSecretId":{"type":"string","description":"The Key Vault Secret ID, optionally including version, that contains the Connection String to connect to the storage account for this Function App.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`storageKeyVaultSecretId`\" pulumi-lang-dotnet=\"`StorageKeyVaultSecretId`\" pulumi-lang-go=\"`storageKeyVaultSecretId`\" pulumi-lang-python=\"`storage_key_vault_secret_id`\" pulumi-lang-yaml=\"`storageKeyVaultSecretId`\" pulumi-lang-java=\"`storageKeyVaultSecretId`\"\u003e`storage_key_vault_secret_id`\u003c/span\u003e cannot be used with \u003cspan pulumi-lang-nodejs=\"`storageAccountName`\" pulumi-lang-dotnet=\"`StorageAccountName`\" pulumi-lang-go=\"`storageAccountName`\" pulumi-lang-python=\"`storage_account_name`\" pulumi-lang-yaml=\"`storageAccountName`\" pulumi-lang-java=\"`storageAccountName`\"\u003e`storage_account_name`\u003c/span\u003e.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`storageKeyVaultSecretId`\" pulumi-lang-dotnet=\"`StorageKeyVaultSecretId`\" pulumi-lang-go=\"`storageKeyVaultSecretId`\" pulumi-lang-python=\"`storage_key_vault_secret_id`\" pulumi-lang-yaml=\"`storageKeyVaultSecretId`\" pulumi-lang-java=\"`storageKeyVaultSecretId`\"\u003e`storage_key_vault_secret_id`\u003c/span\u003e used without a version will use the latest version of the secret, however, the service can take up to 24h to pick up a rotation of the latest version. See the [official docs](https://docs.microsoft.com/azure/app-service/app-service-key-vault-references#rotation) for more information.\n"},"storageUsesManagedIdentity":{"type":"boolean","description":"Should the Function App use Managed Identity to access the storage account. Conflicts with \u003cspan pulumi-lang-nodejs=\"`storageAccountAccessKey`\" pulumi-lang-dotnet=\"`StorageAccountAccessKey`\" pulumi-lang-go=\"`storageAccountAccessKey`\" pulumi-lang-python=\"`storage_account_access_key`\" pulumi-lang-yaml=\"`storageAccountAccessKey`\" pulumi-lang-java=\"`storageAccountAccessKey`\"\u003e`storage_account_access_key`\u003c/span\u003e.\n\n\u003e **Note:** One of \u003cspan pulumi-lang-nodejs=\"`storageAccountAccessKey`\" pulumi-lang-dotnet=\"`StorageAccountAccessKey`\" pulumi-lang-go=\"`storageAccountAccessKey`\" pulumi-lang-python=\"`storage_account_access_key`\" pulumi-lang-yaml=\"`storageAccountAccessKey`\" pulumi-lang-java=\"`storageAccountAccessKey`\"\u003e`storage_account_access_key`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`storageUsesManagedIdentity`\" pulumi-lang-dotnet=\"`StorageUsesManagedIdentity`\" pulumi-lang-go=\"`storageUsesManagedIdentity`\" pulumi-lang-python=\"`storage_uses_managed_identity`\" pulumi-lang-yaml=\"`storageUsesManagedIdentity`\" pulumi-lang-java=\"`storageUsesManagedIdentity`\"\u003e`storage_uses_managed_identity`\u003c/span\u003e must be specified when using \u003cspan pulumi-lang-nodejs=\"`storageAccountName`\" pulumi-lang-dotnet=\"`StorageAccountName`\" pulumi-lang-go=\"`storageAccountName`\" pulumi-lang-python=\"`storage_account_name`\" pulumi-lang-yaml=\"`storageAccountName`\" pulumi-lang-java=\"`storageAccountName`\"\u003e`storage_account_name`\u003c/span\u003e.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Linux Function App.\n"},"virtualNetworkBackupRestoreEnabled":{"type":"boolean","description":"Whether backup and restore operations over the linked virtual network are enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"virtualNetworkSubnetId":{"type":"string","description":"The subnet id which will be used by this Function App for [regional virtual network integration](https://docs.microsoft.com/en-us/azure/app-service/overview-vnet-integration#regional-virtual-network-integration).\n\n\u003e **Note:** The AzureRM Terraform provider provides regional virtual network integration via the standalone resource\u003cspan pulumi-lang-nodejs=\" appServiceVirtualNetworkSwiftConnection \" pulumi-lang-dotnet=\" AppServiceVirtualNetworkSwiftConnection \" pulumi-lang-go=\" appServiceVirtualNetworkSwiftConnection \" pulumi-lang-python=\" app_service_virtual_network_swift_connection \" pulumi-lang-yaml=\" appServiceVirtualNetworkSwiftConnection \" pulumi-lang-java=\" appServiceVirtualNetworkSwiftConnection \"\u003e app_service_virtual_network_swift_connection \u003c/span\u003eand in-line within this resource using the \u003cspan pulumi-lang-nodejs=\"`virtualNetworkSubnetId`\" pulumi-lang-dotnet=\"`VirtualNetworkSubnetId`\" pulumi-lang-go=\"`virtualNetworkSubnetId`\" pulumi-lang-python=\"`virtual_network_subnet_id`\" pulumi-lang-yaml=\"`virtualNetworkSubnetId`\" pulumi-lang-java=\"`virtualNetworkSubnetId`\"\u003e`virtual_network_subnet_id`\u003c/span\u003e property. You cannot use both methods simultaneously. If the virtual network is set via the resource \u003cspan pulumi-lang-nodejs=\"`appServiceVirtualNetworkSwiftConnection`\" pulumi-lang-dotnet=\"`AppServiceVirtualNetworkSwiftConnection`\" pulumi-lang-go=\"`appServiceVirtualNetworkSwiftConnection`\" pulumi-lang-python=\"`app_service_virtual_network_swift_connection`\" pulumi-lang-yaml=\"`appServiceVirtualNetworkSwiftConnection`\" pulumi-lang-java=\"`appServiceVirtualNetworkSwiftConnection`\"\u003e`app_service_virtual_network_swift_connection`\u003c/span\u003e then \u003cspan pulumi-lang-nodejs=\"`ignoreChanges`\" pulumi-lang-dotnet=\"`IgnoreChanges`\" pulumi-lang-go=\"`ignoreChanges`\" pulumi-lang-python=\"`ignore_changes`\" pulumi-lang-yaml=\"`ignoreChanges`\" pulumi-lang-java=\"`ignoreChanges`\"\u003e`ignore_changes`\u003c/span\u003e should be used in the function app configuration.\n\n\u003e **Note:** Assigning the \u003cspan pulumi-lang-nodejs=\"`virtualNetworkSubnetId`\" pulumi-lang-dotnet=\"`VirtualNetworkSubnetId`\" pulumi-lang-go=\"`virtualNetworkSubnetId`\" pulumi-lang-python=\"`virtual_network_subnet_id`\" pulumi-lang-yaml=\"`virtualNetworkSubnetId`\" pulumi-lang-java=\"`virtualNetworkSubnetId`\"\u003e`virtual_network_subnet_id`\u003c/span\u003e property requires [RBAC permissions on the subnet](https://docs.microsoft.com/en-us/azure/app-service/overview-vnet-integration#permissions)\n"},"vnetImagePullEnabled":{"type":"boolean","description":"Should the traffic for the image pull be routed over virtual network enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** The feature can also be enabled via the app setting `WEBSITE_PULL_IMAGE_OVER_VNET`. Must be set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e when running in an App Service Environment.\n"},"webdeployPublishBasicAuthenticationEnabled":{"type":"boolean","description":"Should the default WebDeploy Basic Authentication publishing credentials enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n\n\u003e **Note:** Setting this value to true will disable the ability to use \u003cspan pulumi-lang-nodejs=\"`zipDeployFile`\" pulumi-lang-dotnet=\"`ZipDeployFile`\" pulumi-lang-go=\"`zipDeployFile`\" pulumi-lang-python=\"`zip_deploy_file`\" pulumi-lang-yaml=\"`zipDeployFile`\" pulumi-lang-java=\"`zipDeployFile`\"\u003e`zip_deploy_file`\u003c/span\u003e which currently relies on the default publishing profile.\n"},"zipDeployFile":{"type":"string","description":"The local path and filename of the Zip packaged application to deploy to this Linux Function App.\n\n\u003e **Note:** Using this value requires either `WEBSITE_RUN_FROM_PACKAGE=1` or `SCM_DO_BUILD_DURING_DEPLOYMENT=true` to be set on the App in \u003cspan pulumi-lang-nodejs=\"`appSettings`\" pulumi-lang-dotnet=\"`AppSettings`\" pulumi-lang-go=\"`appSettings`\" pulumi-lang-python=\"`app_settings`\" pulumi-lang-yaml=\"`appSettings`\" pulumi-lang-java=\"`appSettings`\"\u003e`app_settings`\u003c/span\u003e. Refer to the [Azure docs](https://learn.microsoft.com/en-us/azure/azure-functions/functions-deployment-technologies) for further details.\n"}},"required":["customDomainVerificationId","defaultHostname","hostingEnvironmentId","keyVaultReferenceIdentityId","kind","location","name","outboundIpAddressLists","outboundIpAddresses","possibleOutboundIpAddressLists","possibleOutboundIpAddresses","resourceGroupName","servicePlanId","siteConfig","siteCredentials","zipDeployFile"],"inputProperties":{"appSettings":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of key-value pairs for [App Settings](https://docs.microsoft.com/azure/azure-functions/functions-app-settings) and custom values.\n\n\u003e **Note:** For runtime related settings, please use \u003cspan pulumi-lang-nodejs=\"`nodeVersion`\" pulumi-lang-dotnet=\"`NodeVersion`\" pulumi-lang-go=\"`nodeVersion`\" pulumi-lang-python=\"`node_version`\" pulumi-lang-yaml=\"`nodeVersion`\" pulumi-lang-java=\"`nodeVersion`\"\u003e`node_version`\u003c/span\u003e in \u003cspan pulumi-lang-nodejs=\"`siteConfig`\" pulumi-lang-dotnet=\"`SiteConfig`\" pulumi-lang-go=\"`siteConfig`\" pulumi-lang-python=\"`site_config`\" pulumi-lang-yaml=\"`siteConfig`\" pulumi-lang-java=\"`siteConfig`\"\u003e`site_config`\u003c/span\u003e to set the node version and use \u003cspan pulumi-lang-nodejs=\"`functionsExtensionVersion`\" pulumi-lang-dotnet=\"`FunctionsExtensionVersion`\" pulumi-lang-go=\"`functionsExtensionVersion`\" pulumi-lang-python=\"`functions_extension_version`\" pulumi-lang-yaml=\"`functionsExtensionVersion`\" pulumi-lang-java=\"`functionsExtensionVersion`\"\u003e`functions_extension_version`\u003c/span\u003e to set the function runtime version, terraform will assign the values to the key `WEBSITE_NODE_DEFAULT_VERSION` and `FUNCTIONS_EXTENSION_VERSION` in app setting.\n\n\u003e **Note:** For storage related settings, please use related properties that are available such as \u003cspan pulumi-lang-nodejs=\"`storageAccountAccessKey`\" pulumi-lang-dotnet=\"`StorageAccountAccessKey`\" pulumi-lang-go=\"`storageAccountAccessKey`\" pulumi-lang-python=\"`storage_account_access_key`\" pulumi-lang-yaml=\"`storageAccountAccessKey`\" pulumi-lang-java=\"`storageAccountAccessKey`\"\u003e`storage_account_access_key`\u003c/span\u003e, terraform will assign the value to keys such as `WEBSITE_CONTENTAZUREFILECONNECTIONSTRING`, `AzureWebJobsStorage` in app_setting.\n\n\u003e **Note:** For application insight related settings, please use \u003cspan pulumi-lang-nodejs=\"`applicationInsightsConnectionString`\" pulumi-lang-dotnet=\"`ApplicationInsightsConnectionString`\" pulumi-lang-go=\"`applicationInsightsConnectionString`\" pulumi-lang-python=\"`application_insights_connection_string`\" pulumi-lang-yaml=\"`applicationInsightsConnectionString`\" pulumi-lang-java=\"`applicationInsightsConnectionString`\"\u003e`application_insights_connection_string`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`applicationInsightsKey`\" pulumi-lang-dotnet=\"`ApplicationInsightsKey`\" pulumi-lang-go=\"`applicationInsightsKey`\" pulumi-lang-python=\"`application_insights_key`\" pulumi-lang-yaml=\"`applicationInsightsKey`\" pulumi-lang-java=\"`applicationInsightsKey`\"\u003e`application_insights_key`\u003c/span\u003e, terraform will assign the value to the key `APPINSIGHTS_INSTRUMENTATIONKEY` and `APPLICATIONINSIGHTS_CONNECTION_STRING` in app setting.\n\n\u003e **Note:** For health check related settings, please use \u003cspan pulumi-lang-nodejs=\"`healthCheckEvictionTimeInMin`\" pulumi-lang-dotnet=\"`HealthCheckEvictionTimeInMin`\" pulumi-lang-go=\"`healthCheckEvictionTimeInMin`\" pulumi-lang-python=\"`health_check_eviction_time_in_min`\" pulumi-lang-yaml=\"`healthCheckEvictionTimeInMin`\" pulumi-lang-java=\"`healthCheckEvictionTimeInMin`\"\u003e`health_check_eviction_time_in_min`\u003c/span\u003e, terraform will assign the value to the key `WEBSITE_HEALTHCHECK_MAXPINGFAILURES` in app setting.\n\n\u003e **Note:** Please create a predefined share if you are restricting your storage account to a virtual network by setting `WEBSITE_CONTENTOVERVNET` to 1 in app_setting.\n"},"authSettings":{"$ref":"#/types/azure:appservice/LinuxFunctionAppAuthSettings:LinuxFunctionAppAuthSettings","description":"A \u003cspan pulumi-lang-nodejs=\"`authSettings`\" pulumi-lang-dotnet=\"`AuthSettings`\" pulumi-lang-go=\"`authSettings`\" pulumi-lang-python=\"`auth_settings`\" pulumi-lang-yaml=\"`authSettings`\" pulumi-lang-java=\"`authSettings`\"\u003e`auth_settings`\u003c/span\u003e block as defined below.\n"},"authSettingsV2":{"$ref":"#/types/azure:appservice/LinuxFunctionAppAuthSettingsV2:LinuxFunctionAppAuthSettingsV2","description":"An \u003cspan pulumi-lang-nodejs=\"`authSettingsV2`\" pulumi-lang-dotnet=\"`AuthSettingsV2`\" pulumi-lang-go=\"`authSettingsV2`\" pulumi-lang-python=\"`auth_settings_v2`\" pulumi-lang-yaml=\"`authSettingsV2`\" pulumi-lang-java=\"`authSettingsV2`\"\u003e`auth_settings_v2`\u003c/span\u003e block as defined below.\n"},"backup":{"$ref":"#/types/azure:appservice/LinuxFunctionAppBackup:LinuxFunctionAppBackup","description":"A \u003cspan pulumi-lang-nodejs=\"`backup`\" pulumi-lang-dotnet=\"`Backup`\" pulumi-lang-go=\"`backup`\" pulumi-lang-python=\"`backup`\" pulumi-lang-yaml=\"`backup`\" pulumi-lang-java=\"`backup`\"\u003e`backup`\u003c/span\u003e block as defined below.\n"},"builtinLoggingEnabled":{"type":"boolean","description":"Should built in logging be enabled. Configures `AzureWebJobsDashboard` app setting based on the configured storage setting. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`builtinLoggingEnabled`\" pulumi-lang-dotnet=\"`BuiltinLoggingEnabled`\" pulumi-lang-go=\"`builtinLoggingEnabled`\" pulumi-lang-python=\"`builtin_logging_enabled`\" pulumi-lang-yaml=\"`builtinLoggingEnabled`\" pulumi-lang-java=\"`builtinLoggingEnabled`\"\u003e`builtin_logging_enabled`\u003c/span\u003e is only supported for function app whose function runtime is running on version 1.x.\n"},"clientCertificateEnabled":{"type":"boolean","description":"Should the function app use Client Certificates.\n"},"clientCertificateExclusionPaths":{"type":"string","description":"Paths to exclude when using client certificates, separated by ;\n"},"clientCertificateMode":{"type":"string","description":"The mode of the Function App's client certificates requirement for incoming requests. Possible values are `Required`, `Optional`, and `OptionalInteractiveUser`. Defaults to `Optional`.\n"},"connectionStrings":{"type":"array","items":{"$ref":"#/types/azure:appservice/LinuxFunctionAppConnectionString:LinuxFunctionAppConnectionString"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`connectionString`\" pulumi-lang-dotnet=\"`ConnectionString`\" pulumi-lang-go=\"`connectionString`\" pulumi-lang-python=\"`connection_string`\" pulumi-lang-yaml=\"`connectionString`\" pulumi-lang-java=\"`connectionString`\"\u003e`connection_string`\u003c/span\u003e blocks as defined below.\n"},"contentShareForceDisabled":{"type":"boolean","description":"Should the settings for linking the Function App to storage be suppressed.\n"},"dailyMemoryTimeQuota":{"type":"integer","description":"The amount of memory in gigabyte-seconds that your application is allowed to consume per day. Setting this value only affects function apps under the consumption plan. Defaults to \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"enabled":{"type":"boolean","description":"Is the Function App enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"ftpPublishBasicAuthenticationEnabled":{"type":"boolean","description":"Should the default FTP Basic Authentication publishing profile be enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"functionsExtensionVersion":{"type":"string","description":"The runtime version associated with the Function App. Defaults to `~4`.\n"},"httpsOnly":{"type":"boolean","description":"Can the Function App only be accessed via HTTPS? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"identity":{"$ref":"#/types/azure:appservice/LinuxFunctionAppIdentity:LinuxFunctionAppIdentity","description":"A \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"keyVaultReferenceIdentityId":{"type":"string","description":"The User Assigned Identity ID used for accessing KeyVault secrets. The identity must be assigned to the application in the \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block. [For more information see - Access vaults with a user-assigned identity](https://docs.microsoft.com/azure/app-service/app-service-key-vault-references#access-vaults-with-a-user-assigned-identity)\n"},"location":{"type":"string","description":"The Azure Region where the Linux Function App should exist. Changing this forces a new Linux Function App to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Linux Function App. Changing this forces a new Linux Function App to be created. Limit the function name to 32 characters to avoid naming collisions. For more information about [Function App naming rule](https://docs.microsoft.com/en-us/azure/azure-resource-manager/management/resource-name-rules#microsoftweb) and [Host ID Collisions](https://github.com/Azure/azure-functions-host/wiki/Host-IDs#host-id-collisions)\n","willReplaceOnChanges":true},"publicNetworkAccessEnabled":{"type":"boolean","description":"Should public network access be enabled for the Function App. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Linux Function App should exist. Changing this forces a new Linux Function App to be created.\n","willReplaceOnChanges":true},"servicePlanId":{"type":"string","description":"The ID of the App Service Plan within which to create this Function App.\n"},"siteConfig":{"$ref":"#/types/azure:appservice/LinuxFunctionAppSiteConfig:LinuxFunctionAppSiteConfig","description":"A \u003cspan pulumi-lang-nodejs=\"`siteConfig`\" pulumi-lang-dotnet=\"`SiteConfig`\" pulumi-lang-go=\"`siteConfig`\" pulumi-lang-python=\"`site_config`\" pulumi-lang-yaml=\"`siteConfig`\" pulumi-lang-java=\"`siteConfig`\"\u003e`site_config`\u003c/span\u003e block as defined below.\n"},"stickySettings":{"$ref":"#/types/azure:appservice/LinuxFunctionAppStickySettings:LinuxFunctionAppStickySettings","description":"A \u003cspan pulumi-lang-nodejs=\"`stickySettings`\" pulumi-lang-dotnet=\"`StickySettings`\" pulumi-lang-go=\"`stickySettings`\" pulumi-lang-python=\"`sticky_settings`\" pulumi-lang-yaml=\"`stickySettings`\" pulumi-lang-java=\"`stickySettings`\"\u003e`sticky_settings`\u003c/span\u003e block as defined below.\n"},"storageAccountAccessKey":{"type":"string","description":"The access key which will be used to access the backend storage account for the Function App. Conflicts with \u003cspan pulumi-lang-nodejs=\"`storageUsesManagedIdentity`\" pulumi-lang-dotnet=\"`StorageUsesManagedIdentity`\" pulumi-lang-go=\"`storageUsesManagedIdentity`\" pulumi-lang-python=\"`storage_uses_managed_identity`\" pulumi-lang-yaml=\"`storageUsesManagedIdentity`\" pulumi-lang-java=\"`storageUsesManagedIdentity`\"\u003e`storage_uses_managed_identity`\u003c/span\u003e.\n","secret":true},"storageAccountName":{"type":"string","description":"The backend storage account name which will be used by this Function App.\n"},"storageAccounts":{"type":"array","items":{"$ref":"#/types/azure:appservice/LinuxFunctionAppStorageAccount:LinuxFunctionAppStorageAccount"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`storageAccount`\" pulumi-lang-dotnet=\"`StorageAccount`\" pulumi-lang-go=\"`storageAccount`\" pulumi-lang-python=\"`storage_account`\" pulumi-lang-yaml=\"`storageAccount`\" pulumi-lang-java=\"`storageAccount`\"\u003e`storage_account`\u003c/span\u003e blocks as defined below.\n"},"storageKeyVaultSecretId":{"type":"string","description":"The Key Vault Secret ID, optionally including version, that contains the Connection String to connect to the storage account for this Function App.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`storageKeyVaultSecretId`\" pulumi-lang-dotnet=\"`StorageKeyVaultSecretId`\" pulumi-lang-go=\"`storageKeyVaultSecretId`\" pulumi-lang-python=\"`storage_key_vault_secret_id`\" pulumi-lang-yaml=\"`storageKeyVaultSecretId`\" pulumi-lang-java=\"`storageKeyVaultSecretId`\"\u003e`storage_key_vault_secret_id`\u003c/span\u003e cannot be used with \u003cspan pulumi-lang-nodejs=\"`storageAccountName`\" pulumi-lang-dotnet=\"`StorageAccountName`\" pulumi-lang-go=\"`storageAccountName`\" pulumi-lang-python=\"`storage_account_name`\" pulumi-lang-yaml=\"`storageAccountName`\" pulumi-lang-java=\"`storageAccountName`\"\u003e`storage_account_name`\u003c/span\u003e.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`storageKeyVaultSecretId`\" pulumi-lang-dotnet=\"`StorageKeyVaultSecretId`\" pulumi-lang-go=\"`storageKeyVaultSecretId`\" pulumi-lang-python=\"`storage_key_vault_secret_id`\" pulumi-lang-yaml=\"`storageKeyVaultSecretId`\" pulumi-lang-java=\"`storageKeyVaultSecretId`\"\u003e`storage_key_vault_secret_id`\u003c/span\u003e used without a version will use the latest version of the secret, however, the service can take up to 24h to pick up a rotation of the latest version. See the [official docs](https://docs.microsoft.com/azure/app-service/app-service-key-vault-references#rotation) for more information.\n"},"storageUsesManagedIdentity":{"type":"boolean","description":"Should the Function App use Managed Identity to access the storage account. Conflicts with \u003cspan pulumi-lang-nodejs=\"`storageAccountAccessKey`\" pulumi-lang-dotnet=\"`StorageAccountAccessKey`\" pulumi-lang-go=\"`storageAccountAccessKey`\" pulumi-lang-python=\"`storage_account_access_key`\" pulumi-lang-yaml=\"`storageAccountAccessKey`\" pulumi-lang-java=\"`storageAccountAccessKey`\"\u003e`storage_account_access_key`\u003c/span\u003e.\n\n\u003e **Note:** One of \u003cspan pulumi-lang-nodejs=\"`storageAccountAccessKey`\" pulumi-lang-dotnet=\"`StorageAccountAccessKey`\" pulumi-lang-go=\"`storageAccountAccessKey`\" pulumi-lang-python=\"`storage_account_access_key`\" pulumi-lang-yaml=\"`storageAccountAccessKey`\" pulumi-lang-java=\"`storageAccountAccessKey`\"\u003e`storage_account_access_key`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`storageUsesManagedIdentity`\" pulumi-lang-dotnet=\"`StorageUsesManagedIdentity`\" pulumi-lang-go=\"`storageUsesManagedIdentity`\" pulumi-lang-python=\"`storage_uses_managed_identity`\" pulumi-lang-yaml=\"`storageUsesManagedIdentity`\" pulumi-lang-java=\"`storageUsesManagedIdentity`\"\u003e`storage_uses_managed_identity`\u003c/span\u003e must be specified when using \u003cspan pulumi-lang-nodejs=\"`storageAccountName`\" pulumi-lang-dotnet=\"`StorageAccountName`\" pulumi-lang-go=\"`storageAccountName`\" pulumi-lang-python=\"`storage_account_name`\" pulumi-lang-yaml=\"`storageAccountName`\" pulumi-lang-java=\"`storageAccountName`\"\u003e`storage_account_name`\u003c/span\u003e.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Linux Function App.\n"},"virtualNetworkBackupRestoreEnabled":{"type":"boolean","description":"Whether backup and restore operations over the linked virtual network are enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"virtualNetworkSubnetId":{"type":"string","description":"The subnet id which will be used by this Function App for [regional virtual network integration](https://docs.microsoft.com/en-us/azure/app-service/overview-vnet-integration#regional-virtual-network-integration).\n\n\u003e **Note:** The AzureRM Terraform provider provides regional virtual network integration via the standalone resource\u003cspan pulumi-lang-nodejs=\" appServiceVirtualNetworkSwiftConnection \" pulumi-lang-dotnet=\" AppServiceVirtualNetworkSwiftConnection \" pulumi-lang-go=\" appServiceVirtualNetworkSwiftConnection \" pulumi-lang-python=\" app_service_virtual_network_swift_connection \" pulumi-lang-yaml=\" appServiceVirtualNetworkSwiftConnection \" pulumi-lang-java=\" appServiceVirtualNetworkSwiftConnection \"\u003e app_service_virtual_network_swift_connection \u003c/span\u003eand in-line within this resource using the \u003cspan pulumi-lang-nodejs=\"`virtualNetworkSubnetId`\" pulumi-lang-dotnet=\"`VirtualNetworkSubnetId`\" pulumi-lang-go=\"`virtualNetworkSubnetId`\" pulumi-lang-python=\"`virtual_network_subnet_id`\" pulumi-lang-yaml=\"`virtualNetworkSubnetId`\" pulumi-lang-java=\"`virtualNetworkSubnetId`\"\u003e`virtual_network_subnet_id`\u003c/span\u003e property. You cannot use both methods simultaneously. If the virtual network is set via the resource \u003cspan pulumi-lang-nodejs=\"`appServiceVirtualNetworkSwiftConnection`\" pulumi-lang-dotnet=\"`AppServiceVirtualNetworkSwiftConnection`\" pulumi-lang-go=\"`appServiceVirtualNetworkSwiftConnection`\" pulumi-lang-python=\"`app_service_virtual_network_swift_connection`\" pulumi-lang-yaml=\"`appServiceVirtualNetworkSwiftConnection`\" pulumi-lang-java=\"`appServiceVirtualNetworkSwiftConnection`\"\u003e`app_service_virtual_network_swift_connection`\u003c/span\u003e then \u003cspan pulumi-lang-nodejs=\"`ignoreChanges`\" pulumi-lang-dotnet=\"`IgnoreChanges`\" pulumi-lang-go=\"`ignoreChanges`\" pulumi-lang-python=\"`ignore_changes`\" pulumi-lang-yaml=\"`ignoreChanges`\" pulumi-lang-java=\"`ignoreChanges`\"\u003e`ignore_changes`\u003c/span\u003e should be used in the function app configuration.\n\n\u003e **Note:** Assigning the \u003cspan pulumi-lang-nodejs=\"`virtualNetworkSubnetId`\" pulumi-lang-dotnet=\"`VirtualNetworkSubnetId`\" pulumi-lang-go=\"`virtualNetworkSubnetId`\" pulumi-lang-python=\"`virtual_network_subnet_id`\" pulumi-lang-yaml=\"`virtualNetworkSubnetId`\" pulumi-lang-java=\"`virtualNetworkSubnetId`\"\u003e`virtual_network_subnet_id`\u003c/span\u003e property requires [RBAC permissions on the subnet](https://docs.microsoft.com/en-us/azure/app-service/overview-vnet-integration#permissions)\n"},"vnetImagePullEnabled":{"type":"boolean","description":"Should the traffic for the image pull be routed over virtual network enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** The feature can also be enabled via the app setting `WEBSITE_PULL_IMAGE_OVER_VNET`. Must be set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e when running in an App Service Environment.\n"},"webdeployPublishBasicAuthenticationEnabled":{"type":"boolean","description":"Should the default WebDeploy Basic Authentication publishing credentials enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n\n\u003e **Note:** Setting this value to true will disable the ability to use \u003cspan pulumi-lang-nodejs=\"`zipDeployFile`\" pulumi-lang-dotnet=\"`ZipDeployFile`\" pulumi-lang-go=\"`zipDeployFile`\" pulumi-lang-python=\"`zip_deploy_file`\" pulumi-lang-yaml=\"`zipDeployFile`\" pulumi-lang-java=\"`zipDeployFile`\"\u003e`zip_deploy_file`\u003c/span\u003e which currently relies on the default publishing profile.\n"},"zipDeployFile":{"type":"string","description":"The local path and filename of the Zip packaged application to deploy to this Linux Function App.\n\n\u003e **Note:** Using this value requires either `WEBSITE_RUN_FROM_PACKAGE=1` or `SCM_DO_BUILD_DURING_DEPLOYMENT=true` to be set on the App in \u003cspan pulumi-lang-nodejs=\"`appSettings`\" pulumi-lang-dotnet=\"`AppSettings`\" pulumi-lang-go=\"`appSettings`\" pulumi-lang-python=\"`app_settings`\" pulumi-lang-yaml=\"`appSettings`\" pulumi-lang-java=\"`appSettings`\"\u003e`app_settings`\u003c/span\u003e. Refer to the [Azure docs](https://learn.microsoft.com/en-us/azure/azure-functions/functions-deployment-technologies) for further details.\n"}},"requiredInputs":["resourceGroupName","servicePlanId","siteConfig"],"stateInputs":{"description":"Input properties used for looking up and filtering LinuxFunctionApp resources.\n","properties":{"appSettings":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of key-value pairs for [App Settings](https://docs.microsoft.com/azure/azure-functions/functions-app-settings) and custom values.\n\n\u003e **Note:** For runtime related settings, please use \u003cspan pulumi-lang-nodejs=\"`nodeVersion`\" pulumi-lang-dotnet=\"`NodeVersion`\" pulumi-lang-go=\"`nodeVersion`\" pulumi-lang-python=\"`node_version`\" pulumi-lang-yaml=\"`nodeVersion`\" pulumi-lang-java=\"`nodeVersion`\"\u003e`node_version`\u003c/span\u003e in \u003cspan pulumi-lang-nodejs=\"`siteConfig`\" pulumi-lang-dotnet=\"`SiteConfig`\" pulumi-lang-go=\"`siteConfig`\" pulumi-lang-python=\"`site_config`\" pulumi-lang-yaml=\"`siteConfig`\" pulumi-lang-java=\"`siteConfig`\"\u003e`site_config`\u003c/span\u003e to set the node version and use \u003cspan pulumi-lang-nodejs=\"`functionsExtensionVersion`\" pulumi-lang-dotnet=\"`FunctionsExtensionVersion`\" pulumi-lang-go=\"`functionsExtensionVersion`\" pulumi-lang-python=\"`functions_extension_version`\" pulumi-lang-yaml=\"`functionsExtensionVersion`\" pulumi-lang-java=\"`functionsExtensionVersion`\"\u003e`functions_extension_version`\u003c/span\u003e to set the function runtime version, terraform will assign the values to the key `WEBSITE_NODE_DEFAULT_VERSION` and `FUNCTIONS_EXTENSION_VERSION` in app setting.\n\n\u003e **Note:** For storage related settings, please use related properties that are available such as \u003cspan pulumi-lang-nodejs=\"`storageAccountAccessKey`\" pulumi-lang-dotnet=\"`StorageAccountAccessKey`\" pulumi-lang-go=\"`storageAccountAccessKey`\" pulumi-lang-python=\"`storage_account_access_key`\" pulumi-lang-yaml=\"`storageAccountAccessKey`\" pulumi-lang-java=\"`storageAccountAccessKey`\"\u003e`storage_account_access_key`\u003c/span\u003e, terraform will assign the value to keys such as `WEBSITE_CONTENTAZUREFILECONNECTIONSTRING`, `AzureWebJobsStorage` in app_setting.\n\n\u003e **Note:** For application insight related settings, please use \u003cspan pulumi-lang-nodejs=\"`applicationInsightsConnectionString`\" pulumi-lang-dotnet=\"`ApplicationInsightsConnectionString`\" pulumi-lang-go=\"`applicationInsightsConnectionString`\" pulumi-lang-python=\"`application_insights_connection_string`\" pulumi-lang-yaml=\"`applicationInsightsConnectionString`\" pulumi-lang-java=\"`applicationInsightsConnectionString`\"\u003e`application_insights_connection_string`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`applicationInsightsKey`\" pulumi-lang-dotnet=\"`ApplicationInsightsKey`\" pulumi-lang-go=\"`applicationInsightsKey`\" pulumi-lang-python=\"`application_insights_key`\" pulumi-lang-yaml=\"`applicationInsightsKey`\" pulumi-lang-java=\"`applicationInsightsKey`\"\u003e`application_insights_key`\u003c/span\u003e, terraform will assign the value to the key `APPINSIGHTS_INSTRUMENTATIONKEY` and `APPLICATIONINSIGHTS_CONNECTION_STRING` in app setting.\n\n\u003e **Note:** For health check related settings, please use \u003cspan pulumi-lang-nodejs=\"`healthCheckEvictionTimeInMin`\" pulumi-lang-dotnet=\"`HealthCheckEvictionTimeInMin`\" pulumi-lang-go=\"`healthCheckEvictionTimeInMin`\" pulumi-lang-python=\"`health_check_eviction_time_in_min`\" pulumi-lang-yaml=\"`healthCheckEvictionTimeInMin`\" pulumi-lang-java=\"`healthCheckEvictionTimeInMin`\"\u003e`health_check_eviction_time_in_min`\u003c/span\u003e, terraform will assign the value to the key `WEBSITE_HEALTHCHECK_MAXPINGFAILURES` in app setting.\n\n\u003e **Note:** Please create a predefined share if you are restricting your storage account to a virtual network by setting `WEBSITE_CONTENTOVERVNET` to 1 in app_setting.\n"},"authSettings":{"$ref":"#/types/azure:appservice/LinuxFunctionAppAuthSettings:LinuxFunctionAppAuthSettings","description":"A \u003cspan pulumi-lang-nodejs=\"`authSettings`\" pulumi-lang-dotnet=\"`AuthSettings`\" pulumi-lang-go=\"`authSettings`\" pulumi-lang-python=\"`auth_settings`\" pulumi-lang-yaml=\"`authSettings`\" pulumi-lang-java=\"`authSettings`\"\u003e`auth_settings`\u003c/span\u003e block as defined below.\n"},"authSettingsV2":{"$ref":"#/types/azure:appservice/LinuxFunctionAppAuthSettingsV2:LinuxFunctionAppAuthSettingsV2","description":"An \u003cspan pulumi-lang-nodejs=\"`authSettingsV2`\" pulumi-lang-dotnet=\"`AuthSettingsV2`\" pulumi-lang-go=\"`authSettingsV2`\" pulumi-lang-python=\"`auth_settings_v2`\" pulumi-lang-yaml=\"`authSettingsV2`\" pulumi-lang-java=\"`authSettingsV2`\"\u003e`auth_settings_v2`\u003c/span\u003e block as defined below.\n"},"backup":{"$ref":"#/types/azure:appservice/LinuxFunctionAppBackup:LinuxFunctionAppBackup","description":"A \u003cspan pulumi-lang-nodejs=\"`backup`\" pulumi-lang-dotnet=\"`Backup`\" pulumi-lang-go=\"`backup`\" pulumi-lang-python=\"`backup`\" pulumi-lang-yaml=\"`backup`\" pulumi-lang-java=\"`backup`\"\u003e`backup`\u003c/span\u003e block as defined below.\n"},"builtinLoggingEnabled":{"type":"boolean","description":"Should built in logging be enabled. Configures `AzureWebJobsDashboard` app setting based on the configured storage setting. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`builtinLoggingEnabled`\" pulumi-lang-dotnet=\"`BuiltinLoggingEnabled`\" pulumi-lang-go=\"`builtinLoggingEnabled`\" pulumi-lang-python=\"`builtin_logging_enabled`\" pulumi-lang-yaml=\"`builtinLoggingEnabled`\" pulumi-lang-java=\"`builtinLoggingEnabled`\"\u003e`builtin_logging_enabled`\u003c/span\u003e is only supported for function app whose function runtime is running on version 1.x.\n"},"clientCertificateEnabled":{"type":"boolean","description":"Should the function app use Client Certificates.\n"},"clientCertificateExclusionPaths":{"type":"string","description":"Paths to exclude when using client certificates, separated by ;\n"},"clientCertificateMode":{"type":"string","description":"The mode of the Function App's client certificates requirement for incoming requests. Possible values are `Required`, `Optional`, and `OptionalInteractiveUser`. Defaults to `Optional`.\n"},"connectionStrings":{"type":"array","items":{"$ref":"#/types/azure:appservice/LinuxFunctionAppConnectionString:LinuxFunctionAppConnectionString"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`connectionString`\" pulumi-lang-dotnet=\"`ConnectionString`\" pulumi-lang-go=\"`connectionString`\" pulumi-lang-python=\"`connection_string`\" pulumi-lang-yaml=\"`connectionString`\" pulumi-lang-java=\"`connectionString`\"\u003e`connection_string`\u003c/span\u003e blocks as defined below.\n"},"contentShareForceDisabled":{"type":"boolean","description":"Should the settings for linking the Function App to storage be suppressed.\n"},"customDomainVerificationId":{"type":"string","description":"The identifier used by App Service to perform domain ownership verification via DNS TXT record.\n","secret":true},"dailyMemoryTimeQuota":{"type":"integer","description":"The amount of memory in gigabyte-seconds that your application is allowed to consume per day. Setting this value only affects function apps under the consumption plan. Defaults to \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"defaultHostname":{"type":"string","description":"The default hostname of the Linux Function App.\n"},"enabled":{"type":"boolean","description":"Is the Function App enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"ftpPublishBasicAuthenticationEnabled":{"type":"boolean","description":"Should the default FTP Basic Authentication publishing profile be enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"functionsExtensionVersion":{"type":"string","description":"The runtime version associated with the Function App. Defaults to `~4`.\n"},"hostingEnvironmentId":{"type":"string","description":"The ID of the App Service Environment used by Function App.\n"},"httpsOnly":{"type":"boolean","description":"Can the Function App only be accessed via HTTPS? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"identity":{"$ref":"#/types/azure:appservice/LinuxFunctionAppIdentity:LinuxFunctionAppIdentity","description":"A \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"keyVaultReferenceIdentityId":{"type":"string","description":"The User Assigned Identity ID used for accessing KeyVault secrets. The identity must be assigned to the application in the \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block. [For more information see - Access vaults with a user-assigned identity](https://docs.microsoft.com/azure/app-service/app-service-key-vault-references#access-vaults-with-a-user-assigned-identity)\n"},"kind":{"type":"string","description":"The Kind value for this Linux Function App.\n"},"location":{"type":"string","description":"The Azure Region where the Linux Function App should exist. Changing this forces a new Linux Function App to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Linux Function App. Changing this forces a new Linux Function App to be created. Limit the function name to 32 characters to avoid naming collisions. For more information about [Function App naming rule](https://docs.microsoft.com/en-us/azure/azure-resource-manager/management/resource-name-rules#microsoftweb) and [Host ID Collisions](https://github.com/Azure/azure-functions-host/wiki/Host-IDs#host-id-collisions)\n","willReplaceOnChanges":true},"outboundIpAddressLists":{"type":"array","items":{"type":"string"},"description":"A list of outbound IP addresses. For example `[\"52.23.25.3\", \"52.143.43.12\"]`\n"},"outboundIpAddresses":{"type":"string","description":"A comma separated list of outbound IP addresses as a string. For example `52.23.25.3,52.143.43.12`.\n"},"possibleOutboundIpAddressLists":{"type":"array","items":{"type":"string"},"description":"A list of possible outbound IP addresses, not all of which are necessarily in use. This is a superset of \u003cspan pulumi-lang-nodejs=\"`outboundIpAddressList`\" pulumi-lang-dotnet=\"`OutboundIpAddressList`\" pulumi-lang-go=\"`outboundIpAddressList`\" pulumi-lang-python=\"`outbound_ip_address_list`\" pulumi-lang-yaml=\"`outboundIpAddressList`\" pulumi-lang-java=\"`outboundIpAddressList`\"\u003e`outbound_ip_address_list`\u003c/span\u003e. For example `[\"52.23.25.3\", \"52.143.43.12\"]`.\n"},"possibleOutboundIpAddresses":{"type":"string","description":"A comma separated list of possible outbound IP addresses as a string. For example `52.23.25.3,52.143.43.12,52.143.43.17`. This is a superset of \u003cspan pulumi-lang-nodejs=\"`outboundIpAddresses`\" pulumi-lang-dotnet=\"`OutboundIpAddresses`\" pulumi-lang-go=\"`outboundIpAddresses`\" pulumi-lang-python=\"`outbound_ip_addresses`\" pulumi-lang-yaml=\"`outboundIpAddresses`\" pulumi-lang-java=\"`outboundIpAddresses`\"\u003e`outbound_ip_addresses`\u003c/span\u003e.\n"},"publicNetworkAccessEnabled":{"type":"boolean","description":"Should public network access be enabled for the Function App. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Linux Function App should exist. Changing this forces a new Linux Function App to be created.\n","willReplaceOnChanges":true},"servicePlanId":{"type":"string","description":"The ID of the App Service Plan within which to create this Function App.\n"},"siteConfig":{"$ref":"#/types/azure:appservice/LinuxFunctionAppSiteConfig:LinuxFunctionAppSiteConfig","description":"A \u003cspan pulumi-lang-nodejs=\"`siteConfig`\" pulumi-lang-dotnet=\"`SiteConfig`\" pulumi-lang-go=\"`siteConfig`\" pulumi-lang-python=\"`site_config`\" pulumi-lang-yaml=\"`siteConfig`\" pulumi-lang-java=\"`siteConfig`\"\u003e`site_config`\u003c/span\u003e block as defined below.\n"},"siteCredentials":{"type":"array","items":{"$ref":"#/types/azure:appservice/LinuxFunctionAppSiteCredential:LinuxFunctionAppSiteCredential"},"description":"A \u003cspan pulumi-lang-nodejs=\"`siteCredential`\" pulumi-lang-dotnet=\"`SiteCredential`\" pulumi-lang-go=\"`siteCredential`\" pulumi-lang-python=\"`site_credential`\" pulumi-lang-yaml=\"`siteCredential`\" pulumi-lang-java=\"`siteCredential`\"\u003e`site_credential`\u003c/span\u003e block as defined below.\n","secret":true},"stickySettings":{"$ref":"#/types/azure:appservice/LinuxFunctionAppStickySettings:LinuxFunctionAppStickySettings","description":"A \u003cspan pulumi-lang-nodejs=\"`stickySettings`\" pulumi-lang-dotnet=\"`StickySettings`\" pulumi-lang-go=\"`stickySettings`\" pulumi-lang-python=\"`sticky_settings`\" pulumi-lang-yaml=\"`stickySettings`\" pulumi-lang-java=\"`stickySettings`\"\u003e`sticky_settings`\u003c/span\u003e block as defined below.\n"},"storageAccountAccessKey":{"type":"string","description":"The access key which will be used to access the backend storage account for the Function App. Conflicts with \u003cspan pulumi-lang-nodejs=\"`storageUsesManagedIdentity`\" pulumi-lang-dotnet=\"`StorageUsesManagedIdentity`\" pulumi-lang-go=\"`storageUsesManagedIdentity`\" pulumi-lang-python=\"`storage_uses_managed_identity`\" pulumi-lang-yaml=\"`storageUsesManagedIdentity`\" pulumi-lang-java=\"`storageUsesManagedIdentity`\"\u003e`storage_uses_managed_identity`\u003c/span\u003e.\n","secret":true},"storageAccountName":{"type":"string","description":"The backend storage account name which will be used by this Function App.\n"},"storageAccounts":{"type":"array","items":{"$ref":"#/types/azure:appservice/LinuxFunctionAppStorageAccount:LinuxFunctionAppStorageAccount"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`storageAccount`\" pulumi-lang-dotnet=\"`StorageAccount`\" pulumi-lang-go=\"`storageAccount`\" pulumi-lang-python=\"`storage_account`\" pulumi-lang-yaml=\"`storageAccount`\" pulumi-lang-java=\"`storageAccount`\"\u003e`storage_account`\u003c/span\u003e blocks as defined below.\n"},"storageKeyVaultSecretId":{"type":"string","description":"The Key Vault Secret ID, optionally including version, that contains the Connection String to connect to the storage account for this Function App.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`storageKeyVaultSecretId`\" pulumi-lang-dotnet=\"`StorageKeyVaultSecretId`\" pulumi-lang-go=\"`storageKeyVaultSecretId`\" pulumi-lang-python=\"`storage_key_vault_secret_id`\" pulumi-lang-yaml=\"`storageKeyVaultSecretId`\" pulumi-lang-java=\"`storageKeyVaultSecretId`\"\u003e`storage_key_vault_secret_id`\u003c/span\u003e cannot be used with \u003cspan pulumi-lang-nodejs=\"`storageAccountName`\" pulumi-lang-dotnet=\"`StorageAccountName`\" pulumi-lang-go=\"`storageAccountName`\" pulumi-lang-python=\"`storage_account_name`\" pulumi-lang-yaml=\"`storageAccountName`\" pulumi-lang-java=\"`storageAccountName`\"\u003e`storage_account_name`\u003c/span\u003e.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`storageKeyVaultSecretId`\" pulumi-lang-dotnet=\"`StorageKeyVaultSecretId`\" pulumi-lang-go=\"`storageKeyVaultSecretId`\" pulumi-lang-python=\"`storage_key_vault_secret_id`\" pulumi-lang-yaml=\"`storageKeyVaultSecretId`\" pulumi-lang-java=\"`storageKeyVaultSecretId`\"\u003e`storage_key_vault_secret_id`\u003c/span\u003e used without a version will use the latest version of the secret, however, the service can take up to 24h to pick up a rotation of the latest version. See the [official docs](https://docs.microsoft.com/azure/app-service/app-service-key-vault-references#rotation) for more information.\n"},"storageUsesManagedIdentity":{"type":"boolean","description":"Should the Function App use Managed Identity to access the storage account. Conflicts with \u003cspan pulumi-lang-nodejs=\"`storageAccountAccessKey`\" pulumi-lang-dotnet=\"`StorageAccountAccessKey`\" pulumi-lang-go=\"`storageAccountAccessKey`\" pulumi-lang-python=\"`storage_account_access_key`\" pulumi-lang-yaml=\"`storageAccountAccessKey`\" pulumi-lang-java=\"`storageAccountAccessKey`\"\u003e`storage_account_access_key`\u003c/span\u003e.\n\n\u003e **Note:** One of \u003cspan pulumi-lang-nodejs=\"`storageAccountAccessKey`\" pulumi-lang-dotnet=\"`StorageAccountAccessKey`\" pulumi-lang-go=\"`storageAccountAccessKey`\" pulumi-lang-python=\"`storage_account_access_key`\" pulumi-lang-yaml=\"`storageAccountAccessKey`\" pulumi-lang-java=\"`storageAccountAccessKey`\"\u003e`storage_account_access_key`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`storageUsesManagedIdentity`\" pulumi-lang-dotnet=\"`StorageUsesManagedIdentity`\" pulumi-lang-go=\"`storageUsesManagedIdentity`\" pulumi-lang-python=\"`storage_uses_managed_identity`\" pulumi-lang-yaml=\"`storageUsesManagedIdentity`\" pulumi-lang-java=\"`storageUsesManagedIdentity`\"\u003e`storage_uses_managed_identity`\u003c/span\u003e must be specified when using \u003cspan pulumi-lang-nodejs=\"`storageAccountName`\" pulumi-lang-dotnet=\"`StorageAccountName`\" pulumi-lang-go=\"`storageAccountName`\" pulumi-lang-python=\"`storage_account_name`\" pulumi-lang-yaml=\"`storageAccountName`\" pulumi-lang-java=\"`storageAccountName`\"\u003e`storage_account_name`\u003c/span\u003e.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Linux Function App.\n"},"virtualNetworkBackupRestoreEnabled":{"type":"boolean","description":"Whether backup and restore operations over the linked virtual network are enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"virtualNetworkSubnetId":{"type":"string","description":"The subnet id which will be used by this Function App for [regional virtual network integration](https://docs.microsoft.com/en-us/azure/app-service/overview-vnet-integration#regional-virtual-network-integration).\n\n\u003e **Note:** The AzureRM Terraform provider provides regional virtual network integration via the standalone resource\u003cspan pulumi-lang-nodejs=\" appServiceVirtualNetworkSwiftConnection \" pulumi-lang-dotnet=\" AppServiceVirtualNetworkSwiftConnection \" pulumi-lang-go=\" appServiceVirtualNetworkSwiftConnection \" pulumi-lang-python=\" app_service_virtual_network_swift_connection \" pulumi-lang-yaml=\" appServiceVirtualNetworkSwiftConnection \" pulumi-lang-java=\" appServiceVirtualNetworkSwiftConnection \"\u003e app_service_virtual_network_swift_connection \u003c/span\u003eand in-line within this resource using the \u003cspan pulumi-lang-nodejs=\"`virtualNetworkSubnetId`\" pulumi-lang-dotnet=\"`VirtualNetworkSubnetId`\" pulumi-lang-go=\"`virtualNetworkSubnetId`\" pulumi-lang-python=\"`virtual_network_subnet_id`\" pulumi-lang-yaml=\"`virtualNetworkSubnetId`\" pulumi-lang-java=\"`virtualNetworkSubnetId`\"\u003e`virtual_network_subnet_id`\u003c/span\u003e property. You cannot use both methods simultaneously. If the virtual network is set via the resource \u003cspan pulumi-lang-nodejs=\"`appServiceVirtualNetworkSwiftConnection`\" pulumi-lang-dotnet=\"`AppServiceVirtualNetworkSwiftConnection`\" pulumi-lang-go=\"`appServiceVirtualNetworkSwiftConnection`\" pulumi-lang-python=\"`app_service_virtual_network_swift_connection`\" pulumi-lang-yaml=\"`appServiceVirtualNetworkSwiftConnection`\" pulumi-lang-java=\"`appServiceVirtualNetworkSwiftConnection`\"\u003e`app_service_virtual_network_swift_connection`\u003c/span\u003e then \u003cspan pulumi-lang-nodejs=\"`ignoreChanges`\" pulumi-lang-dotnet=\"`IgnoreChanges`\" pulumi-lang-go=\"`ignoreChanges`\" pulumi-lang-python=\"`ignore_changes`\" pulumi-lang-yaml=\"`ignoreChanges`\" pulumi-lang-java=\"`ignoreChanges`\"\u003e`ignore_changes`\u003c/span\u003e should be used in the function app configuration.\n\n\u003e **Note:** Assigning the \u003cspan pulumi-lang-nodejs=\"`virtualNetworkSubnetId`\" pulumi-lang-dotnet=\"`VirtualNetworkSubnetId`\" pulumi-lang-go=\"`virtualNetworkSubnetId`\" pulumi-lang-python=\"`virtual_network_subnet_id`\" pulumi-lang-yaml=\"`virtualNetworkSubnetId`\" pulumi-lang-java=\"`virtualNetworkSubnetId`\"\u003e`virtual_network_subnet_id`\u003c/span\u003e property requires [RBAC permissions on the subnet](https://docs.microsoft.com/en-us/azure/app-service/overview-vnet-integration#permissions)\n"},"vnetImagePullEnabled":{"type":"boolean","description":"Should the traffic for the image pull be routed over virtual network enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** The feature can also be enabled via the app setting `WEBSITE_PULL_IMAGE_OVER_VNET`. Must be set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e when running in an App Service Environment.\n"},"webdeployPublishBasicAuthenticationEnabled":{"type":"boolean","description":"Should the default WebDeploy Basic Authentication publishing credentials enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n\n\u003e **Note:** Setting this value to true will disable the ability to use \u003cspan pulumi-lang-nodejs=\"`zipDeployFile`\" pulumi-lang-dotnet=\"`ZipDeployFile`\" pulumi-lang-go=\"`zipDeployFile`\" pulumi-lang-python=\"`zip_deploy_file`\" pulumi-lang-yaml=\"`zipDeployFile`\" pulumi-lang-java=\"`zipDeployFile`\"\u003e`zip_deploy_file`\u003c/span\u003e which currently relies on the default publishing profile.\n"},"zipDeployFile":{"type":"string","description":"The local path and filename of the Zip packaged application to deploy to this Linux Function App.\n\n\u003e **Note:** Using this value requires either `WEBSITE_RUN_FROM_PACKAGE=1` or `SCM_DO_BUILD_DURING_DEPLOYMENT=true` to be set on the App in \u003cspan pulumi-lang-nodejs=\"`appSettings`\" pulumi-lang-dotnet=\"`AppSettings`\" pulumi-lang-go=\"`appSettings`\" pulumi-lang-python=\"`app_settings`\" pulumi-lang-yaml=\"`appSettings`\" pulumi-lang-java=\"`appSettings`\"\u003e`app_settings`\u003c/span\u003e. Refer to the [Azure docs](https://learn.microsoft.com/en-us/azure/azure-functions/functions-deployment-technologies) for further details.\n"}},"type":"object"}},"azure:appservice/linuxFunctionAppSlot:LinuxFunctionAppSlot":{"description":"Manages a Linux Function App Slot.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleAccount = new azure.storage.Account(\"example\", {\n    name: \"linuxfunctionappsa\",\n    resourceGroupName: example.name,\n    location: example.location,\n    accountTier: \"Standard\",\n    accountReplicationType: \"LRS\",\n});\nconst exampleServicePlan = new azure.appservice.ServicePlan(\"example\", {\n    name: \"example-app-service-plan\",\n    resourceGroupName: example.name,\n    location: example.location,\n    osType: \"Linux\",\n    skuName: \"Y1\",\n});\nconst exampleLinuxFunctionApp = new azure.appservice.LinuxFunctionApp(\"example\", {\n    name: \"example-linux-function-app\",\n    resourceGroupName: example.name,\n    location: example.location,\n    servicePlanId: exampleServicePlan.id,\n    storageAccountName: exampleAccount.name,\n    siteConfig: {},\n});\nconst exampleLinuxFunctionAppSlot = new azure.appservice.LinuxFunctionAppSlot(\"example\", {\n    name: \"example-linux-function-app-slot\",\n    functionAppId: exampleLinuxFunctionApp.id,\n    storageAccountName: exampleAccount.name,\n    siteConfig: {},\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_account = azure.storage.Account(\"example\",\n    name=\"linuxfunctionappsa\",\n    resource_group_name=example.name,\n    location=example.location,\n    account_tier=\"Standard\",\n    account_replication_type=\"LRS\")\nexample_service_plan = azure.appservice.ServicePlan(\"example\",\n    name=\"example-app-service-plan\",\n    resource_group_name=example.name,\n    location=example.location,\n    os_type=\"Linux\",\n    sku_name=\"Y1\")\nexample_linux_function_app = azure.appservice.LinuxFunctionApp(\"example\",\n    name=\"example-linux-function-app\",\n    resource_group_name=example.name,\n    location=example.location,\n    service_plan_id=example_service_plan.id,\n    storage_account_name=example_account.name,\n    site_config={})\nexample_linux_function_app_slot = azure.appservice.LinuxFunctionAppSlot(\"example\",\n    name=\"example-linux-function-app-slot\",\n    function_app_id=example_linux_function_app.id,\n    storage_account_name=example_account.name,\n    site_config={})\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleAccount = new Azure.Storage.Account(\"example\", new()\n    {\n        Name = \"linuxfunctionappsa\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        AccountTier = \"Standard\",\n        AccountReplicationType = \"LRS\",\n    });\n\n    var exampleServicePlan = new Azure.AppService.ServicePlan(\"example\", new()\n    {\n        Name = \"example-app-service-plan\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        OsType = \"Linux\",\n        SkuName = \"Y1\",\n    });\n\n    var exampleLinuxFunctionApp = new Azure.AppService.LinuxFunctionApp(\"example\", new()\n    {\n        Name = \"example-linux-function-app\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        ServicePlanId = exampleServicePlan.Id,\n        StorageAccountName = exampleAccount.Name,\n        SiteConfig = null,\n    });\n\n    var exampleLinuxFunctionAppSlot = new Azure.AppService.LinuxFunctionAppSlot(\"example\", new()\n    {\n        Name = \"example-linux-function-app-slot\",\n        FunctionAppId = exampleLinuxFunctionApp.Id,\n        StorageAccountName = exampleAccount.Name,\n        SiteConfig = null,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/appservice\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := storage.NewAccount(ctx, \"example\", \u0026storage.AccountArgs{\n\t\t\tName:                   pulumi.String(\"linuxfunctionappsa\"),\n\t\t\tResourceGroupName:      example.Name,\n\t\t\tLocation:               example.Location,\n\t\t\tAccountTier:            pulumi.String(\"Standard\"),\n\t\t\tAccountReplicationType: pulumi.String(\"LRS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleServicePlan, err := appservice.NewServicePlan(ctx, \"example\", \u0026appservice.ServicePlanArgs{\n\t\t\tName:              pulumi.String(\"example-app-service-plan\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tOsType:            pulumi.String(\"Linux\"),\n\t\t\tSkuName:           pulumi.String(\"Y1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleLinuxFunctionApp, err := appservice.NewLinuxFunctionApp(ctx, \"example\", \u0026appservice.LinuxFunctionAppArgs{\n\t\t\tName:               pulumi.String(\"example-linux-function-app\"),\n\t\t\tResourceGroupName:  example.Name,\n\t\t\tLocation:           example.Location,\n\t\t\tServicePlanId:      exampleServicePlan.ID(),\n\t\t\tStorageAccountName: exampleAccount.Name,\n\t\t\tSiteConfig:         \u0026appservice.LinuxFunctionAppSiteConfigArgs{},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = appservice.NewLinuxFunctionAppSlot(ctx, \"example\", \u0026appservice.LinuxFunctionAppSlotArgs{\n\t\t\tName:               pulumi.String(\"example-linux-function-app-slot\"),\n\t\t\tFunctionAppId:      exampleLinuxFunctionApp.ID(),\n\t\t\tStorageAccountName: exampleAccount.Name,\n\t\t\tSiteConfig:         \u0026appservice.LinuxFunctionAppSlotSiteConfigArgs{},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.storage.Account;\nimport com.pulumi.azure.storage.AccountArgs;\nimport com.pulumi.azure.appservice.ServicePlan;\nimport com.pulumi.azure.appservice.ServicePlanArgs;\nimport com.pulumi.azure.appservice.LinuxFunctionApp;\nimport com.pulumi.azure.appservice.LinuxFunctionAppArgs;\nimport com.pulumi.azure.appservice.inputs.LinuxFunctionAppSiteConfigArgs;\nimport com.pulumi.azure.appservice.LinuxFunctionAppSlot;\nimport com.pulumi.azure.appservice.LinuxFunctionAppSlotArgs;\nimport com.pulumi.azure.appservice.inputs.LinuxFunctionAppSlotSiteConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"linuxfunctionappsa\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .accountTier(\"Standard\")\n            .accountReplicationType(\"LRS\")\n            .build());\n\n        var exampleServicePlan = new ServicePlan(\"exampleServicePlan\", ServicePlanArgs.builder()\n            .name(\"example-app-service-plan\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .osType(\"Linux\")\n            .skuName(\"Y1\")\n            .build());\n\n        var exampleLinuxFunctionApp = new LinuxFunctionApp(\"exampleLinuxFunctionApp\", LinuxFunctionAppArgs.builder()\n            .name(\"example-linux-function-app\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .servicePlanId(exampleServicePlan.id())\n            .storageAccountName(exampleAccount.name())\n            .siteConfig(LinuxFunctionAppSiteConfigArgs.builder()\n                .build())\n            .build());\n\n        var exampleLinuxFunctionAppSlot = new LinuxFunctionAppSlot(\"exampleLinuxFunctionAppSlot\", LinuxFunctionAppSlotArgs.builder()\n            .name(\"example-linux-function-app-slot\")\n            .functionAppId(exampleLinuxFunctionApp.id())\n            .storageAccountName(exampleAccount.name())\n            .siteConfig(LinuxFunctionAppSlotSiteConfigArgs.builder()\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleAccount:\n    type: azure:storage:Account\n    name: example\n    properties:\n      name: linuxfunctionappsa\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      accountTier: Standard\n      accountReplicationType: LRS\n  exampleServicePlan:\n    type: azure:appservice:ServicePlan\n    name: example\n    properties:\n      name: example-app-service-plan\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      osType: Linux\n      skuName: Y1\n  exampleLinuxFunctionApp:\n    type: azure:appservice:LinuxFunctionApp\n    name: example\n    properties:\n      name: example-linux-function-app\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      servicePlanId: ${exampleServicePlan.id}\n      storageAccountName: ${exampleAccount.name}\n      siteConfig: {}\n  exampleLinuxFunctionAppSlot:\n    type: azure:appservice:LinuxFunctionAppSlot\n    name: example\n    properties:\n      name: example-linux-function-app-slot\n      functionAppId: ${exampleLinuxFunctionApp.id}\n      storageAccountName: ${exampleAccount.name}\n      siteConfig: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Web` - 2023-12-01, 2023-01-01\n\n## Import\n\nA Linux Function App Slot can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:appservice/linuxFunctionAppSlot:LinuxFunctionAppSlot example \"/subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/resGroup1/providers/Microsoft.Web/sites/site1/slots/slot1\"\n```\n\n","properties":{"appSettings":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of key-value pairs for [App Settings](https://docs.microsoft.com/azure/azure-functions/functions-app-settings) and custom values.\n"},"authSettings":{"$ref":"#/types/azure:appservice/LinuxFunctionAppSlotAuthSettings:LinuxFunctionAppSlotAuthSettings","description":"an \u003cspan pulumi-lang-nodejs=\"`authSettings`\" pulumi-lang-dotnet=\"`AuthSettings`\" pulumi-lang-go=\"`authSettings`\" pulumi-lang-python=\"`auth_settings`\" pulumi-lang-yaml=\"`authSettings`\" pulumi-lang-java=\"`authSettings`\"\u003e`auth_settings`\u003c/span\u003e block as detailed below.\n"},"authSettingsV2":{"$ref":"#/types/azure:appservice/LinuxFunctionAppSlotAuthSettingsV2:LinuxFunctionAppSlotAuthSettingsV2","description":"an \u003cspan pulumi-lang-nodejs=\"`authSettingsV2`\" pulumi-lang-dotnet=\"`AuthSettingsV2`\" pulumi-lang-go=\"`authSettingsV2`\" pulumi-lang-python=\"`auth_settings_v2`\" pulumi-lang-yaml=\"`authSettingsV2`\" pulumi-lang-java=\"`authSettingsV2`\"\u003e`auth_settings_v2`\u003c/span\u003e block as detailed below.\n"},"backup":{"$ref":"#/types/azure:appservice/LinuxFunctionAppSlotBackup:LinuxFunctionAppSlotBackup","description":"a \u003cspan pulumi-lang-nodejs=\"`backup`\" pulumi-lang-dotnet=\"`Backup`\" pulumi-lang-go=\"`backup`\" pulumi-lang-python=\"`backup`\" pulumi-lang-yaml=\"`backup`\" pulumi-lang-java=\"`backup`\"\u003e`backup`\u003c/span\u003e block as detailed below.\n"},"builtinLoggingEnabled":{"type":"boolean","description":"Should built in logging be enabled. Configures `AzureWebJobsDashboard` app setting based on the configured storage setting. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"clientCertificateEnabled":{"type":"boolean","description":"Should the Function App Slot use Client Certificates.\n"},"clientCertificateExclusionPaths":{"type":"string","description":"Paths to exclude when using client certificates, separated by ;\n"},"clientCertificateMode":{"type":"string","description":"The mode of the Function App Slot's client certificates requirement for incoming requests. Possible values are `Required`, `Optional`, and `OptionalInteractiveUser`. Defaults to `Optional`.\n"},"connectionStrings":{"type":"array","items":{"$ref":"#/types/azure:appservice/LinuxFunctionAppSlotConnectionString:LinuxFunctionAppSlotConnectionString"},"description":"a \u003cspan pulumi-lang-nodejs=\"`connectionString`\" pulumi-lang-dotnet=\"`ConnectionString`\" pulumi-lang-go=\"`connectionString`\" pulumi-lang-python=\"`connection_string`\" pulumi-lang-yaml=\"`connectionString`\" pulumi-lang-java=\"`connectionString`\"\u003e`connection_string`\u003c/span\u003e block as detailed below.\n"},"contentShareForceDisabled":{"type":"boolean","description":"Force disable the content share settings.\n"},"customDomainVerificationId":{"type":"string","description":"The identifier used by App Service to perform domain ownership verification via DNS TXT record.\n","secret":true},"dailyMemoryTimeQuota":{"type":"integer","description":"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. Defaults to \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"defaultHostname":{"type":"string","description":"The default hostname of the Linux Function App Slot.\n"},"enabled":{"type":"boolean","description":"Is the Linux Function App Slot enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"ftpPublishBasicAuthenticationEnabled":{"type":"boolean","description":"Are the default FTP Basic Authentication publishing credentials enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"functionAppId":{"type":"string","description":"The ID of the Linux Function App this Slot is a member of. Changing this forces a new resource to be created.\n"},"functionsExtensionVersion":{"type":"string","description":"The runtime version associated with the Function App Slot. Defaults to `~4`.\n"},"hostingEnvironmentId":{"type":"string","description":"The ID of the App Service Environment used by Function App Slot.\n"},"httpsOnly":{"type":"boolean","description":"Can the Function App Slot only be accessed via HTTPS?. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"identity":{"$ref":"#/types/azure:appservice/LinuxFunctionAppSlotIdentity:LinuxFunctionAppSlotIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as detailed below.\n"},"keyVaultReferenceIdentityId":{"type":"string","description":"The User Assigned Identity ID used for accessing KeyVault secrets. The identity must be assigned to the application in the \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block. [For more information see - Access vaults with a user-assigned identity](https://docs.microsoft.com/azure/app-service/app-service-key-vault-references#access-vaults-with-a-user-assigned-identity)\n"},"kind":{"type":"string","description":"The Kind value for this Linux Function App Slot.\n"},"name":{"type":"string","description":"Specifies the name of the Function App Slot. Changing this forces a new resource to be created.\n"},"outboundIpAddressLists":{"type":"array","items":{"type":"string"},"description":"A list of outbound IP addresses. For example `[\"52.23.25.3\", \"52.143.43.12\"]`\n"},"outboundIpAddresses":{"type":"string","description":"A comma separated list of outbound IP addresses as a string. For example `52.23.25.3,52.143.43.12`.\n"},"possibleOutboundIpAddressLists":{"type":"array","items":{"type":"string"},"description":"A list of possible outbound IP addresses, not all of which are necessarily in use. This is a superset of \u003cspan pulumi-lang-nodejs=\"`outboundIpAddressList`\" pulumi-lang-dotnet=\"`OutboundIpAddressList`\" pulumi-lang-go=\"`outboundIpAddressList`\" pulumi-lang-python=\"`outbound_ip_address_list`\" pulumi-lang-yaml=\"`outboundIpAddressList`\" pulumi-lang-java=\"`outboundIpAddressList`\"\u003e`outbound_ip_address_list`\u003c/span\u003e. For example `[\"52.23.25.3\", \"52.143.43.12\"]`.\n"},"possibleOutboundIpAddresses":{"type":"string","description":"A comma separated list of possible outbound IP addresses as a string. For example `52.23.25.3,52.143.43.12,52.143.43.17`. This is a superset of \u003cspan pulumi-lang-nodejs=\"`outboundIpAddresses`\" pulumi-lang-dotnet=\"`OutboundIpAddresses`\" pulumi-lang-go=\"`outboundIpAddresses`\" pulumi-lang-python=\"`outbound_ip_addresses`\" pulumi-lang-yaml=\"`outboundIpAddresses`\" pulumi-lang-java=\"`outboundIpAddresses`\"\u003e`outbound_ip_addresses`\u003c/span\u003e. For example `[\"52.23.25.3\", \"52.143.43.12\",\"52.143.43.17\"]`.\n"},"publicNetworkAccessEnabled":{"type":"boolean","description":"Should public network access be enabled for the Function App. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"servicePlanId":{"type":"string","description":"The ID of the Service Plan in which to run this slot. If not specified the same Service Plan as the Linux Function App will be used.\n"},"siteConfig":{"$ref":"#/types/azure:appservice/LinuxFunctionAppSlotSiteConfig:LinuxFunctionAppSlotSiteConfig","description":"a \u003cspan pulumi-lang-nodejs=\"`siteConfig`\" pulumi-lang-dotnet=\"`SiteConfig`\" pulumi-lang-go=\"`siteConfig`\" pulumi-lang-python=\"`site_config`\" pulumi-lang-yaml=\"`siteConfig`\" pulumi-lang-java=\"`siteConfig`\"\u003e`site_config`\u003c/span\u003e block as detailed below.\n"},"siteCredentials":{"type":"array","items":{"$ref":"#/types/azure:appservice/LinuxFunctionAppSlotSiteCredential:LinuxFunctionAppSlotSiteCredential"},"description":"A \u003cspan pulumi-lang-nodejs=\"`siteCredential`\" pulumi-lang-dotnet=\"`SiteCredential`\" pulumi-lang-go=\"`siteCredential`\" pulumi-lang-python=\"`site_credential`\" pulumi-lang-yaml=\"`siteCredential`\" pulumi-lang-java=\"`siteCredential`\"\u003e`site_credential`\u003c/span\u003e block as defined below.\n","secret":true},"storageAccountAccessKey":{"type":"string","description":"The access key which will be used to access the storage account for the Function App Slot.\n","secret":true},"storageAccountName":{"type":"string","description":"The backend storage account name which will be used by this Function App Slot.\n"},"storageAccounts":{"type":"array","items":{"$ref":"#/types/azure:appservice/LinuxFunctionAppSlotStorageAccount:LinuxFunctionAppSlotStorageAccount"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`storageAccount`\" pulumi-lang-dotnet=\"`StorageAccount`\" pulumi-lang-go=\"`storageAccount`\" pulumi-lang-python=\"`storage_account`\" pulumi-lang-yaml=\"`storageAccount`\" pulumi-lang-java=\"`storageAccount`\"\u003e`storage_account`\u003c/span\u003e blocks as defined below.\n"},"storageKeyVaultSecretId":{"type":"string","description":"The Key Vault Secret ID, optionally including version, that contains the Connection String to connect to the storage account for this Function App.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`storageKeyVaultSecretId`\" pulumi-lang-dotnet=\"`StorageKeyVaultSecretId`\" pulumi-lang-go=\"`storageKeyVaultSecretId`\" pulumi-lang-python=\"`storage_key_vault_secret_id`\" pulumi-lang-yaml=\"`storageKeyVaultSecretId`\" pulumi-lang-java=\"`storageKeyVaultSecretId`\"\u003e`storage_key_vault_secret_id`\u003c/span\u003e cannot be used with \u003cspan pulumi-lang-nodejs=\"`storageAccountName`\" pulumi-lang-dotnet=\"`StorageAccountName`\" pulumi-lang-go=\"`storageAccountName`\" pulumi-lang-python=\"`storage_account_name`\" pulumi-lang-yaml=\"`storageAccountName`\" pulumi-lang-java=\"`storageAccountName`\"\u003e`storage_account_name`\u003c/span\u003e.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`storageKeyVaultSecretId`\" pulumi-lang-dotnet=\"`StorageKeyVaultSecretId`\" pulumi-lang-go=\"`storageKeyVaultSecretId`\" pulumi-lang-python=\"`storage_key_vault_secret_id`\" pulumi-lang-yaml=\"`storageKeyVaultSecretId`\" pulumi-lang-java=\"`storageKeyVaultSecretId`\"\u003e`storage_key_vault_secret_id`\u003c/span\u003e used without a version will use the latest version of the secret, however, the service can take up to 24h to pick up a rotation of the latest version. See the [official docs](https://docs.microsoft.com/azure/app-service/app-service-key-vault-references#rotation) for more information.\n"},"storageUsesManagedIdentity":{"type":"boolean","description":"Should the Function App Slot use its Managed Identity to access storage.\n\n\u003e **Note:** One of \u003cspan pulumi-lang-nodejs=\"`storageAccountAccessKey`\" pulumi-lang-dotnet=\"`StorageAccountAccessKey`\" pulumi-lang-go=\"`storageAccountAccessKey`\" pulumi-lang-python=\"`storage_account_access_key`\" pulumi-lang-yaml=\"`storageAccountAccessKey`\" pulumi-lang-java=\"`storageAccountAccessKey`\"\u003e`storage_account_access_key`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`storageUsesManagedIdentity`\" pulumi-lang-dotnet=\"`StorageUsesManagedIdentity`\" pulumi-lang-go=\"`storageUsesManagedIdentity`\" pulumi-lang-python=\"`storage_uses_managed_identity`\" pulumi-lang-yaml=\"`storageUsesManagedIdentity`\" pulumi-lang-java=\"`storageUsesManagedIdentity`\"\u003e`storage_uses_managed_identity`\u003c/span\u003e must be specified when using \u003cspan pulumi-lang-nodejs=\"`storageAccountName`\" pulumi-lang-dotnet=\"`StorageAccountName`\" pulumi-lang-go=\"`storageAccountName`\" pulumi-lang-python=\"`storage_account_name`\" pulumi-lang-yaml=\"`storageAccountName`\" pulumi-lang-java=\"`storageAccountName`\"\u003e`storage_account_name`\u003c/span\u003e.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Linux Function App.\n"},"virtualNetworkBackupRestoreEnabled":{"type":"boolean","description":"Whether backup and restore operations over the linked virtual network are enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"virtualNetworkSubnetId":{"type":"string","description":"The subnet id which will be used by this Function App Slot for [regional virtual network integration](https://docs.microsoft.com/en-us/azure/app-service/overview-vnet-integration#regional-virtual-network-integration).\n\n\u003e **Note:** The AzureRM Terraform provider provides regional virtual network integration via the standalone resource\u003cspan pulumi-lang-nodejs=\" appServiceVirtualNetworkSwiftConnection \" pulumi-lang-dotnet=\" AppServiceVirtualNetworkSwiftConnection \" pulumi-lang-go=\" appServiceVirtualNetworkSwiftConnection \" pulumi-lang-python=\" app_service_virtual_network_swift_connection \" pulumi-lang-yaml=\" appServiceVirtualNetworkSwiftConnection \" pulumi-lang-java=\" appServiceVirtualNetworkSwiftConnection \"\u003e app_service_virtual_network_swift_connection \u003c/span\u003eand in-line within this resource using the \u003cspan pulumi-lang-nodejs=\"`virtualNetworkSubnetId`\" pulumi-lang-dotnet=\"`VirtualNetworkSubnetId`\" pulumi-lang-go=\"`virtualNetworkSubnetId`\" pulumi-lang-python=\"`virtual_network_subnet_id`\" pulumi-lang-yaml=\"`virtualNetworkSubnetId`\" pulumi-lang-java=\"`virtualNetworkSubnetId`\"\u003e`virtual_network_subnet_id`\u003c/span\u003e property. You cannot use both methods simultaneously. If the virtual network is set via the resource \u003cspan pulumi-lang-nodejs=\"`appServiceVirtualNetworkSwiftConnection`\" pulumi-lang-dotnet=\"`AppServiceVirtualNetworkSwiftConnection`\" pulumi-lang-go=\"`appServiceVirtualNetworkSwiftConnection`\" pulumi-lang-python=\"`app_service_virtual_network_swift_connection`\" pulumi-lang-yaml=\"`appServiceVirtualNetworkSwiftConnection`\" pulumi-lang-java=\"`appServiceVirtualNetworkSwiftConnection`\"\u003e`app_service_virtual_network_swift_connection`\u003c/span\u003e then \u003cspan pulumi-lang-nodejs=\"`ignoreChanges`\" pulumi-lang-dotnet=\"`IgnoreChanges`\" pulumi-lang-go=\"`ignoreChanges`\" pulumi-lang-python=\"`ignore_changes`\" pulumi-lang-yaml=\"`ignoreChanges`\" pulumi-lang-java=\"`ignoreChanges`\"\u003e`ignore_changes`\u003c/span\u003e should be used in the function app slot configuration.\n\n\u003e **Note:** Assigning the \u003cspan pulumi-lang-nodejs=\"`virtualNetworkSubnetId`\" pulumi-lang-dotnet=\"`VirtualNetworkSubnetId`\" pulumi-lang-go=\"`virtualNetworkSubnetId`\" pulumi-lang-python=\"`virtual_network_subnet_id`\" pulumi-lang-yaml=\"`virtualNetworkSubnetId`\" pulumi-lang-java=\"`virtualNetworkSubnetId`\"\u003e`virtual_network_subnet_id`\u003c/span\u003e property requires [RBAC permissions on the subnet](https://docs.microsoft.com/en-us/azure/app-service/overview-vnet-integration#permissions)\n"},"vnetImagePullEnabled":{"type":"boolean","description":"Specifies whether traffic for the image pull should be routed over virtual network. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** The feature can also be enabled via the app setting `WEBSITE_PULL_IMAGE_OVER_VNET`. The Setting is enabled by default for an app running in the App Service Environment.\n"},"webdeployPublishBasicAuthenticationEnabled":{"type":"boolean","description":"Should the default WebDeploy Basic Authentication publishing credentials enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"}},"required":["customDomainVerificationId","defaultHostname","functionAppId","hostingEnvironmentId","keyVaultReferenceIdentityId","kind","name","outboundIpAddressLists","outboundIpAddresses","possibleOutboundIpAddressLists","possibleOutboundIpAddresses","siteConfig","siteCredentials"],"inputProperties":{"appSettings":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of key-value pairs for [App Settings](https://docs.microsoft.com/azure/azure-functions/functions-app-settings) and custom values.\n"},"authSettings":{"$ref":"#/types/azure:appservice/LinuxFunctionAppSlotAuthSettings:LinuxFunctionAppSlotAuthSettings","description":"an \u003cspan pulumi-lang-nodejs=\"`authSettings`\" pulumi-lang-dotnet=\"`AuthSettings`\" pulumi-lang-go=\"`authSettings`\" pulumi-lang-python=\"`auth_settings`\" pulumi-lang-yaml=\"`authSettings`\" pulumi-lang-java=\"`authSettings`\"\u003e`auth_settings`\u003c/span\u003e block as detailed below.\n"},"authSettingsV2":{"$ref":"#/types/azure:appservice/LinuxFunctionAppSlotAuthSettingsV2:LinuxFunctionAppSlotAuthSettingsV2","description":"an \u003cspan pulumi-lang-nodejs=\"`authSettingsV2`\" pulumi-lang-dotnet=\"`AuthSettingsV2`\" pulumi-lang-go=\"`authSettingsV2`\" pulumi-lang-python=\"`auth_settings_v2`\" pulumi-lang-yaml=\"`authSettingsV2`\" pulumi-lang-java=\"`authSettingsV2`\"\u003e`auth_settings_v2`\u003c/span\u003e block as detailed below.\n"},"backup":{"$ref":"#/types/azure:appservice/LinuxFunctionAppSlotBackup:LinuxFunctionAppSlotBackup","description":"a \u003cspan pulumi-lang-nodejs=\"`backup`\" pulumi-lang-dotnet=\"`Backup`\" pulumi-lang-go=\"`backup`\" pulumi-lang-python=\"`backup`\" pulumi-lang-yaml=\"`backup`\" pulumi-lang-java=\"`backup`\"\u003e`backup`\u003c/span\u003e block as detailed below.\n"},"builtinLoggingEnabled":{"type":"boolean","description":"Should built in logging be enabled. Configures `AzureWebJobsDashboard` app setting based on the configured storage setting. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"clientCertificateEnabled":{"type":"boolean","description":"Should the Function App Slot use Client Certificates.\n"},"clientCertificateExclusionPaths":{"type":"string","description":"Paths to exclude when using client certificates, separated by ;\n"},"clientCertificateMode":{"type":"string","description":"The mode of the Function App Slot's client certificates requirement for incoming requests. Possible values are `Required`, `Optional`, and `OptionalInteractiveUser`. Defaults to `Optional`.\n"},"connectionStrings":{"type":"array","items":{"$ref":"#/types/azure:appservice/LinuxFunctionAppSlotConnectionString:LinuxFunctionAppSlotConnectionString"},"description":"a \u003cspan pulumi-lang-nodejs=\"`connectionString`\" pulumi-lang-dotnet=\"`ConnectionString`\" pulumi-lang-go=\"`connectionString`\" pulumi-lang-python=\"`connection_string`\" pulumi-lang-yaml=\"`connectionString`\" pulumi-lang-java=\"`connectionString`\"\u003e`connection_string`\u003c/span\u003e block as detailed below.\n"},"contentShareForceDisabled":{"type":"boolean","description":"Force disable the content share settings.\n"},"dailyMemoryTimeQuota":{"type":"integer","description":"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. Defaults to \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"enabled":{"type":"boolean","description":"Is the Linux Function App Slot enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"ftpPublishBasicAuthenticationEnabled":{"type":"boolean","description":"Are the default FTP Basic Authentication publishing credentials enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"functionAppId":{"type":"string","description":"The ID of the Linux Function App this Slot is a member of. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"functionsExtensionVersion":{"type":"string","description":"The runtime version associated with the Function App Slot. Defaults to `~4`.\n"},"httpsOnly":{"type":"boolean","description":"Can the Function App Slot only be accessed via HTTPS?. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"identity":{"$ref":"#/types/azure:appservice/LinuxFunctionAppSlotIdentity:LinuxFunctionAppSlotIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as detailed below.\n"},"keyVaultReferenceIdentityId":{"type":"string","description":"The User Assigned Identity ID used for accessing KeyVault secrets. The identity must be assigned to the application in the \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block. [For more information see - Access vaults with a user-assigned identity](https://docs.microsoft.com/azure/app-service/app-service-key-vault-references#access-vaults-with-a-user-assigned-identity)\n"},"name":{"type":"string","description":"Specifies the name of the Function App Slot. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"publicNetworkAccessEnabled":{"type":"boolean","description":"Should public network access be enabled for the Function App. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"servicePlanId":{"type":"string","description":"The ID of the Service Plan in which to run this slot. If not specified the same Service Plan as the Linux Function App will be used.\n"},"siteConfig":{"$ref":"#/types/azure:appservice/LinuxFunctionAppSlotSiteConfig:LinuxFunctionAppSlotSiteConfig","description":"a \u003cspan pulumi-lang-nodejs=\"`siteConfig`\" pulumi-lang-dotnet=\"`SiteConfig`\" pulumi-lang-go=\"`siteConfig`\" pulumi-lang-python=\"`site_config`\" pulumi-lang-yaml=\"`siteConfig`\" pulumi-lang-java=\"`siteConfig`\"\u003e`site_config`\u003c/span\u003e block as detailed below.\n"},"storageAccountAccessKey":{"type":"string","description":"The access key which will be used to access the storage account for the Function App Slot.\n","secret":true},"storageAccountName":{"type":"string","description":"The backend storage account name which will be used by this Function App Slot.\n"},"storageAccounts":{"type":"array","items":{"$ref":"#/types/azure:appservice/LinuxFunctionAppSlotStorageAccount:LinuxFunctionAppSlotStorageAccount"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`storageAccount`\" pulumi-lang-dotnet=\"`StorageAccount`\" pulumi-lang-go=\"`storageAccount`\" pulumi-lang-python=\"`storage_account`\" pulumi-lang-yaml=\"`storageAccount`\" pulumi-lang-java=\"`storageAccount`\"\u003e`storage_account`\u003c/span\u003e blocks as defined below.\n"},"storageKeyVaultSecretId":{"type":"string","description":"The Key Vault Secret ID, optionally including version, that contains the Connection String to connect to the storage account for this Function App.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`storageKeyVaultSecretId`\" pulumi-lang-dotnet=\"`StorageKeyVaultSecretId`\" pulumi-lang-go=\"`storageKeyVaultSecretId`\" pulumi-lang-python=\"`storage_key_vault_secret_id`\" pulumi-lang-yaml=\"`storageKeyVaultSecretId`\" pulumi-lang-java=\"`storageKeyVaultSecretId`\"\u003e`storage_key_vault_secret_id`\u003c/span\u003e cannot be used with \u003cspan pulumi-lang-nodejs=\"`storageAccountName`\" pulumi-lang-dotnet=\"`StorageAccountName`\" pulumi-lang-go=\"`storageAccountName`\" pulumi-lang-python=\"`storage_account_name`\" pulumi-lang-yaml=\"`storageAccountName`\" pulumi-lang-java=\"`storageAccountName`\"\u003e`storage_account_name`\u003c/span\u003e.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`storageKeyVaultSecretId`\" pulumi-lang-dotnet=\"`StorageKeyVaultSecretId`\" pulumi-lang-go=\"`storageKeyVaultSecretId`\" pulumi-lang-python=\"`storage_key_vault_secret_id`\" pulumi-lang-yaml=\"`storageKeyVaultSecretId`\" pulumi-lang-java=\"`storageKeyVaultSecretId`\"\u003e`storage_key_vault_secret_id`\u003c/span\u003e used without a version will use the latest version of the secret, however, the service can take up to 24h to pick up a rotation of the latest version. See the [official docs](https://docs.microsoft.com/azure/app-service/app-service-key-vault-references#rotation) for more information.\n"},"storageUsesManagedIdentity":{"type":"boolean","description":"Should the Function App Slot use its Managed Identity to access storage.\n\n\u003e **Note:** One of \u003cspan pulumi-lang-nodejs=\"`storageAccountAccessKey`\" pulumi-lang-dotnet=\"`StorageAccountAccessKey`\" pulumi-lang-go=\"`storageAccountAccessKey`\" pulumi-lang-python=\"`storage_account_access_key`\" pulumi-lang-yaml=\"`storageAccountAccessKey`\" pulumi-lang-java=\"`storageAccountAccessKey`\"\u003e`storage_account_access_key`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`storageUsesManagedIdentity`\" pulumi-lang-dotnet=\"`StorageUsesManagedIdentity`\" pulumi-lang-go=\"`storageUsesManagedIdentity`\" pulumi-lang-python=\"`storage_uses_managed_identity`\" pulumi-lang-yaml=\"`storageUsesManagedIdentity`\" pulumi-lang-java=\"`storageUsesManagedIdentity`\"\u003e`storage_uses_managed_identity`\u003c/span\u003e must be specified when using \u003cspan pulumi-lang-nodejs=\"`storageAccountName`\" pulumi-lang-dotnet=\"`StorageAccountName`\" pulumi-lang-go=\"`storageAccountName`\" pulumi-lang-python=\"`storage_account_name`\" pulumi-lang-yaml=\"`storageAccountName`\" pulumi-lang-java=\"`storageAccountName`\"\u003e`storage_account_name`\u003c/span\u003e.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Linux Function App.\n"},"virtualNetworkBackupRestoreEnabled":{"type":"boolean","description":"Whether backup and restore operations over the linked virtual network are enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"virtualNetworkSubnetId":{"type":"string","description":"The subnet id which will be used by this Function App Slot for [regional virtual network integration](https://docs.microsoft.com/en-us/azure/app-service/overview-vnet-integration#regional-virtual-network-integration).\n\n\u003e **Note:** The AzureRM Terraform provider provides regional virtual network integration via the standalone resource\u003cspan pulumi-lang-nodejs=\" appServiceVirtualNetworkSwiftConnection \" pulumi-lang-dotnet=\" AppServiceVirtualNetworkSwiftConnection \" pulumi-lang-go=\" appServiceVirtualNetworkSwiftConnection \" pulumi-lang-python=\" app_service_virtual_network_swift_connection \" pulumi-lang-yaml=\" appServiceVirtualNetworkSwiftConnection \" pulumi-lang-java=\" appServiceVirtualNetworkSwiftConnection \"\u003e app_service_virtual_network_swift_connection \u003c/span\u003eand in-line within this resource using the \u003cspan pulumi-lang-nodejs=\"`virtualNetworkSubnetId`\" pulumi-lang-dotnet=\"`VirtualNetworkSubnetId`\" pulumi-lang-go=\"`virtualNetworkSubnetId`\" pulumi-lang-python=\"`virtual_network_subnet_id`\" pulumi-lang-yaml=\"`virtualNetworkSubnetId`\" pulumi-lang-java=\"`virtualNetworkSubnetId`\"\u003e`virtual_network_subnet_id`\u003c/span\u003e property. You cannot use both methods simultaneously. If the virtual network is set via the resource \u003cspan pulumi-lang-nodejs=\"`appServiceVirtualNetworkSwiftConnection`\" pulumi-lang-dotnet=\"`AppServiceVirtualNetworkSwiftConnection`\" pulumi-lang-go=\"`appServiceVirtualNetworkSwiftConnection`\" pulumi-lang-python=\"`app_service_virtual_network_swift_connection`\" pulumi-lang-yaml=\"`appServiceVirtualNetworkSwiftConnection`\" pulumi-lang-java=\"`appServiceVirtualNetworkSwiftConnection`\"\u003e`app_service_virtual_network_swift_connection`\u003c/span\u003e then \u003cspan pulumi-lang-nodejs=\"`ignoreChanges`\" pulumi-lang-dotnet=\"`IgnoreChanges`\" pulumi-lang-go=\"`ignoreChanges`\" pulumi-lang-python=\"`ignore_changes`\" pulumi-lang-yaml=\"`ignoreChanges`\" pulumi-lang-java=\"`ignoreChanges`\"\u003e`ignore_changes`\u003c/span\u003e should be used in the function app slot configuration.\n\n\u003e **Note:** Assigning the \u003cspan pulumi-lang-nodejs=\"`virtualNetworkSubnetId`\" pulumi-lang-dotnet=\"`VirtualNetworkSubnetId`\" pulumi-lang-go=\"`virtualNetworkSubnetId`\" pulumi-lang-python=\"`virtual_network_subnet_id`\" pulumi-lang-yaml=\"`virtualNetworkSubnetId`\" pulumi-lang-java=\"`virtualNetworkSubnetId`\"\u003e`virtual_network_subnet_id`\u003c/span\u003e property requires [RBAC permissions on the subnet](https://docs.microsoft.com/en-us/azure/app-service/overview-vnet-integration#permissions)\n"},"vnetImagePullEnabled":{"type":"boolean","description":"Specifies whether traffic for the image pull should be routed over virtual network. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** The feature can also be enabled via the app setting `WEBSITE_PULL_IMAGE_OVER_VNET`. The Setting is enabled by default for an app running in the App Service Environment.\n"},"webdeployPublishBasicAuthenticationEnabled":{"type":"boolean","description":"Should the default WebDeploy Basic Authentication publishing credentials enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"}},"requiredInputs":["functionAppId","siteConfig"],"stateInputs":{"description":"Input properties used for looking up and filtering LinuxFunctionAppSlot resources.\n","properties":{"appSettings":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of key-value pairs for [App Settings](https://docs.microsoft.com/azure/azure-functions/functions-app-settings) and custom values.\n"},"authSettings":{"$ref":"#/types/azure:appservice/LinuxFunctionAppSlotAuthSettings:LinuxFunctionAppSlotAuthSettings","description":"an \u003cspan pulumi-lang-nodejs=\"`authSettings`\" pulumi-lang-dotnet=\"`AuthSettings`\" pulumi-lang-go=\"`authSettings`\" pulumi-lang-python=\"`auth_settings`\" pulumi-lang-yaml=\"`authSettings`\" pulumi-lang-java=\"`authSettings`\"\u003e`auth_settings`\u003c/span\u003e block as detailed below.\n"},"authSettingsV2":{"$ref":"#/types/azure:appservice/LinuxFunctionAppSlotAuthSettingsV2:LinuxFunctionAppSlotAuthSettingsV2","description":"an \u003cspan pulumi-lang-nodejs=\"`authSettingsV2`\" pulumi-lang-dotnet=\"`AuthSettingsV2`\" pulumi-lang-go=\"`authSettingsV2`\" pulumi-lang-python=\"`auth_settings_v2`\" pulumi-lang-yaml=\"`authSettingsV2`\" pulumi-lang-java=\"`authSettingsV2`\"\u003e`auth_settings_v2`\u003c/span\u003e block as detailed below.\n"},"backup":{"$ref":"#/types/azure:appservice/LinuxFunctionAppSlotBackup:LinuxFunctionAppSlotBackup","description":"a \u003cspan pulumi-lang-nodejs=\"`backup`\" pulumi-lang-dotnet=\"`Backup`\" pulumi-lang-go=\"`backup`\" pulumi-lang-python=\"`backup`\" pulumi-lang-yaml=\"`backup`\" pulumi-lang-java=\"`backup`\"\u003e`backup`\u003c/span\u003e block as detailed below.\n"},"builtinLoggingEnabled":{"type":"boolean","description":"Should built in logging be enabled. Configures `AzureWebJobsDashboard` app setting based on the configured storage setting. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"clientCertificateEnabled":{"type":"boolean","description":"Should the Function App Slot use Client Certificates.\n"},"clientCertificateExclusionPaths":{"type":"string","description":"Paths to exclude when using client certificates, separated by ;\n"},"clientCertificateMode":{"type":"string","description":"The mode of the Function App Slot's client certificates requirement for incoming requests. Possible values are `Required`, `Optional`, and `OptionalInteractiveUser`. Defaults to `Optional`.\n"},"connectionStrings":{"type":"array","items":{"$ref":"#/types/azure:appservice/LinuxFunctionAppSlotConnectionString:LinuxFunctionAppSlotConnectionString"},"description":"a \u003cspan pulumi-lang-nodejs=\"`connectionString`\" pulumi-lang-dotnet=\"`ConnectionString`\" pulumi-lang-go=\"`connectionString`\" pulumi-lang-python=\"`connection_string`\" pulumi-lang-yaml=\"`connectionString`\" pulumi-lang-java=\"`connectionString`\"\u003e`connection_string`\u003c/span\u003e block as detailed below.\n"},"contentShareForceDisabled":{"type":"boolean","description":"Force disable the content share settings.\n"},"customDomainVerificationId":{"type":"string","description":"The identifier used by App Service to perform domain ownership verification via DNS TXT record.\n","secret":true},"dailyMemoryTimeQuota":{"type":"integer","description":"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. Defaults to \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"defaultHostname":{"type":"string","description":"The default hostname of the Linux Function App Slot.\n"},"enabled":{"type":"boolean","description":"Is the Linux Function App Slot enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"ftpPublishBasicAuthenticationEnabled":{"type":"boolean","description":"Are the default FTP Basic Authentication publishing credentials enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"functionAppId":{"type":"string","description":"The ID of the Linux Function App this Slot is a member of. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"functionsExtensionVersion":{"type":"string","description":"The runtime version associated with the Function App Slot. Defaults to `~4`.\n"},"hostingEnvironmentId":{"type":"string","description":"The ID of the App Service Environment used by Function App Slot.\n"},"httpsOnly":{"type":"boolean","description":"Can the Function App Slot only be accessed via HTTPS?. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"identity":{"$ref":"#/types/azure:appservice/LinuxFunctionAppSlotIdentity:LinuxFunctionAppSlotIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as detailed below.\n"},"keyVaultReferenceIdentityId":{"type":"string","description":"The User Assigned Identity ID used for accessing KeyVault secrets. The identity must be assigned to the application in the \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block. [For more information see - Access vaults with a user-assigned identity](https://docs.microsoft.com/azure/app-service/app-service-key-vault-references#access-vaults-with-a-user-assigned-identity)\n"},"kind":{"type":"string","description":"The Kind value for this Linux Function App Slot.\n"},"name":{"type":"string","description":"Specifies the name of the Function App Slot. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"outboundIpAddressLists":{"type":"array","items":{"type":"string"},"description":"A list of outbound IP addresses. For example `[\"52.23.25.3\", \"52.143.43.12\"]`\n"},"outboundIpAddresses":{"type":"string","description":"A comma separated list of outbound IP addresses as a string. For example `52.23.25.3,52.143.43.12`.\n"},"possibleOutboundIpAddressLists":{"type":"array","items":{"type":"string"},"description":"A list of possible outbound IP addresses, not all of which are necessarily in use. This is a superset of \u003cspan pulumi-lang-nodejs=\"`outboundIpAddressList`\" pulumi-lang-dotnet=\"`OutboundIpAddressList`\" pulumi-lang-go=\"`outboundIpAddressList`\" pulumi-lang-python=\"`outbound_ip_address_list`\" pulumi-lang-yaml=\"`outboundIpAddressList`\" pulumi-lang-java=\"`outboundIpAddressList`\"\u003e`outbound_ip_address_list`\u003c/span\u003e. For example `[\"52.23.25.3\", \"52.143.43.12\"]`.\n"},"possibleOutboundIpAddresses":{"type":"string","description":"A comma separated list of possible outbound IP addresses as a string. For example `52.23.25.3,52.143.43.12,52.143.43.17`. This is a superset of \u003cspan pulumi-lang-nodejs=\"`outboundIpAddresses`\" pulumi-lang-dotnet=\"`OutboundIpAddresses`\" pulumi-lang-go=\"`outboundIpAddresses`\" pulumi-lang-python=\"`outbound_ip_addresses`\" pulumi-lang-yaml=\"`outboundIpAddresses`\" pulumi-lang-java=\"`outboundIpAddresses`\"\u003e`outbound_ip_addresses`\u003c/span\u003e. For example `[\"52.23.25.3\", \"52.143.43.12\",\"52.143.43.17\"]`.\n"},"publicNetworkAccessEnabled":{"type":"boolean","description":"Should public network access be enabled for the Function App. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"servicePlanId":{"type":"string","description":"The ID of the Service Plan in which to run this slot. If not specified the same Service Plan as the Linux Function App will be used.\n"},"siteConfig":{"$ref":"#/types/azure:appservice/LinuxFunctionAppSlotSiteConfig:LinuxFunctionAppSlotSiteConfig","description":"a \u003cspan pulumi-lang-nodejs=\"`siteConfig`\" pulumi-lang-dotnet=\"`SiteConfig`\" pulumi-lang-go=\"`siteConfig`\" pulumi-lang-python=\"`site_config`\" pulumi-lang-yaml=\"`siteConfig`\" pulumi-lang-java=\"`siteConfig`\"\u003e`site_config`\u003c/span\u003e block as detailed below.\n"},"siteCredentials":{"type":"array","items":{"$ref":"#/types/azure:appservice/LinuxFunctionAppSlotSiteCredential:LinuxFunctionAppSlotSiteCredential"},"description":"A \u003cspan pulumi-lang-nodejs=\"`siteCredential`\" pulumi-lang-dotnet=\"`SiteCredential`\" pulumi-lang-go=\"`siteCredential`\" pulumi-lang-python=\"`site_credential`\" pulumi-lang-yaml=\"`siteCredential`\" pulumi-lang-java=\"`siteCredential`\"\u003e`site_credential`\u003c/span\u003e block as defined below.\n","secret":true},"storageAccountAccessKey":{"type":"string","description":"The access key which will be used to access the storage account for the Function App Slot.\n","secret":true},"storageAccountName":{"type":"string","description":"The backend storage account name which will be used by this Function App Slot.\n"},"storageAccounts":{"type":"array","items":{"$ref":"#/types/azure:appservice/LinuxFunctionAppSlotStorageAccount:LinuxFunctionAppSlotStorageAccount"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`storageAccount`\" pulumi-lang-dotnet=\"`StorageAccount`\" pulumi-lang-go=\"`storageAccount`\" pulumi-lang-python=\"`storage_account`\" pulumi-lang-yaml=\"`storageAccount`\" pulumi-lang-java=\"`storageAccount`\"\u003e`storage_account`\u003c/span\u003e blocks as defined below.\n"},"storageKeyVaultSecretId":{"type":"string","description":"The Key Vault Secret ID, optionally including version, that contains the Connection String to connect to the storage account for this Function App.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`storageKeyVaultSecretId`\" pulumi-lang-dotnet=\"`StorageKeyVaultSecretId`\" pulumi-lang-go=\"`storageKeyVaultSecretId`\" pulumi-lang-python=\"`storage_key_vault_secret_id`\" pulumi-lang-yaml=\"`storageKeyVaultSecretId`\" pulumi-lang-java=\"`storageKeyVaultSecretId`\"\u003e`storage_key_vault_secret_id`\u003c/span\u003e cannot be used with \u003cspan pulumi-lang-nodejs=\"`storageAccountName`\" pulumi-lang-dotnet=\"`StorageAccountName`\" pulumi-lang-go=\"`storageAccountName`\" pulumi-lang-python=\"`storage_account_name`\" pulumi-lang-yaml=\"`storageAccountName`\" pulumi-lang-java=\"`storageAccountName`\"\u003e`storage_account_name`\u003c/span\u003e.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`storageKeyVaultSecretId`\" pulumi-lang-dotnet=\"`StorageKeyVaultSecretId`\" pulumi-lang-go=\"`storageKeyVaultSecretId`\" pulumi-lang-python=\"`storage_key_vault_secret_id`\" pulumi-lang-yaml=\"`storageKeyVaultSecretId`\" pulumi-lang-java=\"`storageKeyVaultSecretId`\"\u003e`storage_key_vault_secret_id`\u003c/span\u003e used without a version will use the latest version of the secret, however, the service can take up to 24h to pick up a rotation of the latest version. See the [official docs](https://docs.microsoft.com/azure/app-service/app-service-key-vault-references#rotation) for more information.\n"},"storageUsesManagedIdentity":{"type":"boolean","description":"Should the Function App Slot use its Managed Identity to access storage.\n\n\u003e **Note:** One of \u003cspan pulumi-lang-nodejs=\"`storageAccountAccessKey`\" pulumi-lang-dotnet=\"`StorageAccountAccessKey`\" pulumi-lang-go=\"`storageAccountAccessKey`\" pulumi-lang-python=\"`storage_account_access_key`\" pulumi-lang-yaml=\"`storageAccountAccessKey`\" pulumi-lang-java=\"`storageAccountAccessKey`\"\u003e`storage_account_access_key`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`storageUsesManagedIdentity`\" pulumi-lang-dotnet=\"`StorageUsesManagedIdentity`\" pulumi-lang-go=\"`storageUsesManagedIdentity`\" pulumi-lang-python=\"`storage_uses_managed_identity`\" pulumi-lang-yaml=\"`storageUsesManagedIdentity`\" pulumi-lang-java=\"`storageUsesManagedIdentity`\"\u003e`storage_uses_managed_identity`\u003c/span\u003e must be specified when using \u003cspan pulumi-lang-nodejs=\"`storageAccountName`\" pulumi-lang-dotnet=\"`StorageAccountName`\" pulumi-lang-go=\"`storageAccountName`\" pulumi-lang-python=\"`storage_account_name`\" pulumi-lang-yaml=\"`storageAccountName`\" pulumi-lang-java=\"`storageAccountName`\"\u003e`storage_account_name`\u003c/span\u003e.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Linux Function App.\n"},"virtualNetworkBackupRestoreEnabled":{"type":"boolean","description":"Whether backup and restore operations over the linked virtual network are enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"virtualNetworkSubnetId":{"type":"string","description":"The subnet id which will be used by this Function App Slot for [regional virtual network integration](https://docs.microsoft.com/en-us/azure/app-service/overview-vnet-integration#regional-virtual-network-integration).\n\n\u003e **Note:** The AzureRM Terraform provider provides regional virtual network integration via the standalone resource\u003cspan pulumi-lang-nodejs=\" appServiceVirtualNetworkSwiftConnection \" pulumi-lang-dotnet=\" AppServiceVirtualNetworkSwiftConnection \" pulumi-lang-go=\" appServiceVirtualNetworkSwiftConnection \" pulumi-lang-python=\" app_service_virtual_network_swift_connection \" pulumi-lang-yaml=\" appServiceVirtualNetworkSwiftConnection \" pulumi-lang-java=\" appServiceVirtualNetworkSwiftConnection \"\u003e app_service_virtual_network_swift_connection \u003c/span\u003eand in-line within this resource using the \u003cspan pulumi-lang-nodejs=\"`virtualNetworkSubnetId`\" pulumi-lang-dotnet=\"`VirtualNetworkSubnetId`\" pulumi-lang-go=\"`virtualNetworkSubnetId`\" pulumi-lang-python=\"`virtual_network_subnet_id`\" pulumi-lang-yaml=\"`virtualNetworkSubnetId`\" pulumi-lang-java=\"`virtualNetworkSubnetId`\"\u003e`virtual_network_subnet_id`\u003c/span\u003e property. You cannot use both methods simultaneously. If the virtual network is set via the resource \u003cspan pulumi-lang-nodejs=\"`appServiceVirtualNetworkSwiftConnection`\" pulumi-lang-dotnet=\"`AppServiceVirtualNetworkSwiftConnection`\" pulumi-lang-go=\"`appServiceVirtualNetworkSwiftConnection`\" pulumi-lang-python=\"`app_service_virtual_network_swift_connection`\" pulumi-lang-yaml=\"`appServiceVirtualNetworkSwiftConnection`\" pulumi-lang-java=\"`appServiceVirtualNetworkSwiftConnection`\"\u003e`app_service_virtual_network_swift_connection`\u003c/span\u003e then \u003cspan pulumi-lang-nodejs=\"`ignoreChanges`\" pulumi-lang-dotnet=\"`IgnoreChanges`\" pulumi-lang-go=\"`ignoreChanges`\" pulumi-lang-python=\"`ignore_changes`\" pulumi-lang-yaml=\"`ignoreChanges`\" pulumi-lang-java=\"`ignoreChanges`\"\u003e`ignore_changes`\u003c/span\u003e should be used in the function app slot configuration.\n\n\u003e **Note:** Assigning the \u003cspan pulumi-lang-nodejs=\"`virtualNetworkSubnetId`\" pulumi-lang-dotnet=\"`VirtualNetworkSubnetId`\" pulumi-lang-go=\"`virtualNetworkSubnetId`\" pulumi-lang-python=\"`virtual_network_subnet_id`\" pulumi-lang-yaml=\"`virtualNetworkSubnetId`\" pulumi-lang-java=\"`virtualNetworkSubnetId`\"\u003e`virtual_network_subnet_id`\u003c/span\u003e property requires [RBAC permissions on the subnet](https://docs.microsoft.com/en-us/azure/app-service/overview-vnet-integration#permissions)\n"},"vnetImagePullEnabled":{"type":"boolean","description":"Specifies whether traffic for the image pull should be routed over virtual network. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** The feature can also be enabled via the app setting `WEBSITE_PULL_IMAGE_OVER_VNET`. The Setting is enabled by default for an app running in the App Service Environment.\n"},"webdeployPublishBasicAuthenticationEnabled":{"type":"boolean","description":"Should the default WebDeploy Basic Authentication publishing credentials enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"}},"type":"object"}},"azure:appservice/linuxWebApp:LinuxWebApp":{"description":"Manages a Linux Web App.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleServicePlan = new azure.appservice.ServicePlan(\"example\", {\n    name: \"example\",\n    resourceGroupName: example.name,\n    location: example.location,\n    osType: \"Linux\",\n    skuName: \"P1v2\",\n});\nconst exampleLinuxWebApp = new azure.appservice.LinuxWebApp(\"example\", {\n    name: \"example\",\n    resourceGroupName: example.name,\n    location: exampleServicePlan.location,\n    servicePlanId: exampleServicePlan.id,\n    siteConfig: {},\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_service_plan = azure.appservice.ServicePlan(\"example\",\n    name=\"example\",\n    resource_group_name=example.name,\n    location=example.location,\n    os_type=\"Linux\",\n    sku_name=\"P1v2\")\nexample_linux_web_app = azure.appservice.LinuxWebApp(\"example\",\n    name=\"example\",\n    resource_group_name=example.name,\n    location=example_service_plan.location,\n    service_plan_id=example_service_plan.id,\n    site_config={})\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleServicePlan = new Azure.AppService.ServicePlan(\"example\", new()\n    {\n        Name = \"example\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        OsType = \"Linux\",\n        SkuName = \"P1v2\",\n    });\n\n    var exampleLinuxWebApp = new Azure.AppService.LinuxWebApp(\"example\", new()\n    {\n        Name = \"example\",\n        ResourceGroupName = example.Name,\n        Location = exampleServicePlan.Location,\n        ServicePlanId = exampleServicePlan.Id,\n        SiteConfig = null,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/appservice\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleServicePlan, err := appservice.NewServicePlan(ctx, \"example\", \u0026appservice.ServicePlanArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tOsType:            pulumi.String(\"Linux\"),\n\t\t\tSkuName:           pulumi.String(\"P1v2\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = appservice.NewLinuxWebApp(ctx, \"example\", \u0026appservice.LinuxWebAppArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          exampleServicePlan.Location,\n\t\t\tServicePlanId:     exampleServicePlan.ID(),\n\t\t\tSiteConfig:        \u0026appservice.LinuxWebAppSiteConfigArgs{},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.appservice.ServicePlan;\nimport com.pulumi.azure.appservice.ServicePlanArgs;\nimport com.pulumi.azure.appservice.LinuxWebApp;\nimport com.pulumi.azure.appservice.LinuxWebAppArgs;\nimport com.pulumi.azure.appservice.inputs.LinuxWebAppSiteConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleServicePlan = new ServicePlan(\"exampleServicePlan\", ServicePlanArgs.builder()\n            .name(\"example\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .osType(\"Linux\")\n            .skuName(\"P1v2\")\n            .build());\n\n        var exampleLinuxWebApp = new LinuxWebApp(\"exampleLinuxWebApp\", LinuxWebAppArgs.builder()\n            .name(\"example\")\n            .resourceGroupName(example.name())\n            .location(exampleServicePlan.location())\n            .servicePlanId(exampleServicePlan.id())\n            .siteConfig(LinuxWebAppSiteConfigArgs.builder()\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleServicePlan:\n    type: azure:appservice:ServicePlan\n    name: example\n    properties:\n      name: example\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      osType: Linux\n      skuName: P1v2\n  exampleLinuxWebApp:\n    type: azure:appservice:LinuxWebApp\n    name: example\n    properties:\n      name: example\n      resourceGroupName: ${example.name}\n      location: ${exampleServicePlan.location}\n      servicePlanId: ${exampleServicePlan.id}\n      siteConfig: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Web` - 2023-12-01, 2023-01-01\n\n## Import\n\nLinux Web Apps can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:appservice/linuxWebApp:LinuxWebApp example /subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/resGroup1/providers/Microsoft.Web/sites/site1\n```\n\n","properties":{"appSettings":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of key-value pairs of App Settings.\n"},"authSettings":{"$ref":"#/types/azure:appservice/LinuxWebAppAuthSettings:LinuxWebAppAuthSettings","description":"A \u003cspan pulumi-lang-nodejs=\"`authSettings`\" pulumi-lang-dotnet=\"`AuthSettings`\" pulumi-lang-go=\"`authSettings`\" pulumi-lang-python=\"`auth_settings`\" pulumi-lang-yaml=\"`authSettings`\" pulumi-lang-java=\"`authSettings`\"\u003e`auth_settings`\u003c/span\u003e block as defined below.\n"},"authSettingsV2":{"$ref":"#/types/azure:appservice/LinuxWebAppAuthSettingsV2:LinuxWebAppAuthSettingsV2","description":"An \u003cspan pulumi-lang-nodejs=\"`authSettingsV2`\" pulumi-lang-dotnet=\"`AuthSettingsV2`\" pulumi-lang-go=\"`authSettingsV2`\" pulumi-lang-python=\"`auth_settings_v2`\" pulumi-lang-yaml=\"`authSettingsV2`\" pulumi-lang-java=\"`authSettingsV2`\"\u003e`auth_settings_v2`\u003c/span\u003e block as defined below.\n"},"backup":{"$ref":"#/types/azure:appservice/LinuxWebAppBackup:LinuxWebAppBackup","description":"A \u003cspan pulumi-lang-nodejs=\"`backup`\" pulumi-lang-dotnet=\"`Backup`\" pulumi-lang-go=\"`backup`\" pulumi-lang-python=\"`backup`\" pulumi-lang-yaml=\"`backup`\" pulumi-lang-java=\"`backup`\"\u003e`backup`\u003c/span\u003e block as defined below.\n"},"clientAffinityEnabled":{"type":"boolean","description":"Should Client Affinity be enabled?\n"},"clientCertificateEnabled":{"type":"boolean","description":"Should Client Certificates be enabled?\n"},"clientCertificateExclusionPaths":{"type":"string","description":"Paths to exclude when using client certificates, separated by ;\n"},"clientCertificateMode":{"type":"string","description":"The Client Certificate mode. Possible values are `Required`, `Optional`, and `OptionalInteractiveUser`. This property has no effect when \u003cspan pulumi-lang-nodejs=\"`clientCertificateEnabled`\" pulumi-lang-dotnet=\"`ClientCertificateEnabled`\" pulumi-lang-go=\"`clientCertificateEnabled`\" pulumi-lang-python=\"`client_certificate_enabled`\" pulumi-lang-yaml=\"`clientCertificateEnabled`\" pulumi-lang-java=\"`clientCertificateEnabled`\"\u003e`client_certificate_enabled`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Defaults to `Required`.\n"},"connectionStrings":{"type":"array","items":{"$ref":"#/types/azure:appservice/LinuxWebAppConnectionString:LinuxWebAppConnectionString"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`connectionString`\" pulumi-lang-dotnet=\"`ConnectionString`\" pulumi-lang-go=\"`connectionString`\" pulumi-lang-python=\"`connection_string`\" pulumi-lang-yaml=\"`connectionString`\" pulumi-lang-java=\"`connectionString`\"\u003e`connection_string`\u003c/span\u003e blocks as defined below.\n"},"customDomainVerificationId":{"type":"string","description":"The identifier used by App Service to perform domain ownership verification via DNS TXT record.\n","secret":true},"defaultHostname":{"type":"string","description":"The default hostname of the Linux Web App.\n"},"enabled":{"type":"boolean","description":"Should the Linux Web App be enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"ftpPublishBasicAuthenticationEnabled":{"type":"boolean","description":"Should the default FTP Basic Authentication publishing profile be enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"hostingEnvironmentId":{"type":"string","description":"The ID of the App Service Environment used by App Service.\n"},"httpsOnly":{"type":"boolean","description":"Should the Linux Web App require HTTPS connections. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"identity":{"$ref":"#/types/azure:appservice/LinuxWebAppIdentity:LinuxWebAppIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"keyVaultReferenceIdentityId":{"type":"string","description":"The User Assigned Identity ID used for accessing KeyVault secrets. The identity must be assigned to the application in the \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block. [For more information see - Access vaults with a user-assigned identity](https://docs.microsoft.com/azure/app-service/app-service-key-vault-references#access-vaults-with-a-user-assigned-identity).\n"},"kind":{"type":"string","description":"The Kind value for this Linux Web App.\n"},"location":{"type":"string","description":"The Azure Region where the Linux Web App should exist. Changing this forces a new Linux Web App to be created.\n"},"logs":{"$ref":"#/types/azure:appservice/LinuxWebAppLogs:LinuxWebAppLogs","description":"A \u003cspan pulumi-lang-nodejs=\"`logs`\" pulumi-lang-dotnet=\"`Logs`\" pulumi-lang-go=\"`logs`\" pulumi-lang-python=\"`logs`\" pulumi-lang-yaml=\"`logs`\" pulumi-lang-java=\"`logs`\"\u003e`logs`\u003c/span\u003e block as defined below.\n"},"name":{"type":"string","description":"The name which should be used for this Linux Web App. Changing this forces a new Linux Web App to be created.\n\n\u003e **Note:** Terraform will perform a name availability check as part of the creation progress, if this Web App is part of an App Service Environment terraform will require Read permission on the ASE for this to complete reliably.\n"},"outboundIpAddressLists":{"type":"array","items":{"type":"string"},"description":"A list of outbound IP addresses - such as `[\"52.23.25.3\", \"52.143.43.12\"]`\n"},"outboundIpAddresses":{"type":"string","description":"A comma separated list of outbound IP addresses - such as `52.23.25.3,52.143.43.12`.\n"},"possibleOutboundIpAddressLists":{"type":"array","items":{"type":"string"},"description":"A list of possible outbound ip address.\n"},"possibleOutboundIpAddresses":{"type":"string","description":"A comma-separated list of outbound IP addresses - such as `52.23.25.3,52.143.43.12,52.143.43.17` - not all of which are necessarily in use. Superset of \u003cspan pulumi-lang-nodejs=\"`outboundIpAddresses`\" pulumi-lang-dotnet=\"`OutboundIpAddresses`\" pulumi-lang-go=\"`outboundIpAddresses`\" pulumi-lang-python=\"`outbound_ip_addresses`\" pulumi-lang-yaml=\"`outboundIpAddresses`\" pulumi-lang-java=\"`outboundIpAddresses`\"\u003e`outbound_ip_addresses`\u003c/span\u003e.\n"},"publicNetworkAccessEnabled":{"type":"boolean","description":"Should public network access be enabled for the Web App. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Linux Web App should exist. Changing this forces a new Linux Web App to be created.\n"},"servicePlanId":{"type":"string","description":"The ID of the Service Plan that this Linux App Service will be created in.\n"},"siteConfig":{"$ref":"#/types/azure:appservice/LinuxWebAppSiteConfig:LinuxWebAppSiteConfig","description":"A \u003cspan pulumi-lang-nodejs=\"`siteConfig`\" pulumi-lang-dotnet=\"`SiteConfig`\" pulumi-lang-go=\"`siteConfig`\" pulumi-lang-python=\"`site_config`\" pulumi-lang-yaml=\"`siteConfig`\" pulumi-lang-java=\"`siteConfig`\"\u003e`site_config`\u003c/span\u003e block as defined below.\n"},"siteCredentials":{"type":"array","items":{"$ref":"#/types/azure:appservice/LinuxWebAppSiteCredential:LinuxWebAppSiteCredential"},"description":"A \u003cspan pulumi-lang-nodejs=\"`siteCredential`\" pulumi-lang-dotnet=\"`SiteCredential`\" pulumi-lang-go=\"`siteCredential`\" pulumi-lang-python=\"`site_credential`\" pulumi-lang-yaml=\"`siteCredential`\" pulumi-lang-java=\"`siteCredential`\"\u003e`site_credential`\u003c/span\u003e block as defined below.\n","secret":true},"stickySettings":{"$ref":"#/types/azure:appservice/LinuxWebAppStickySettings:LinuxWebAppStickySettings","description":"A \u003cspan pulumi-lang-nodejs=\"`stickySettings`\" pulumi-lang-dotnet=\"`StickySettings`\" pulumi-lang-go=\"`stickySettings`\" pulumi-lang-python=\"`sticky_settings`\" pulumi-lang-yaml=\"`stickySettings`\" pulumi-lang-java=\"`stickySettings`\"\u003e`sticky_settings`\u003c/span\u003e block as defined below.\n"},"storageAccounts":{"type":"array","items":{"$ref":"#/types/azure:appservice/LinuxWebAppStorageAccount:LinuxWebAppStorageAccount"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`storageAccount`\" pulumi-lang-dotnet=\"`StorageAccount`\" pulumi-lang-go=\"`storageAccount`\" pulumi-lang-python=\"`storage_account`\" pulumi-lang-yaml=\"`storageAccount`\" pulumi-lang-java=\"`storageAccount`\"\u003e`storage_account`\u003c/span\u003e blocks as defined below.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Linux Web App.\n"},"virtualNetworkBackupRestoreEnabled":{"type":"boolean","description":"Whether backup and restore operations over the linked virtual network are enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"virtualNetworkSubnetId":{"type":"string","description":"The subnet id which will be used by this Web App for [regional virtual network integration](https://docs.microsoft.com/en-us/azure/app-service/overview-vnet-integration#regional-virtual-network-integration).\n\n\u003e **Note:** The AzureRM Terraform provider provides regional virtual network integration via the standalone resource\u003cspan pulumi-lang-nodejs=\" appServiceVirtualNetworkSwiftConnection \" pulumi-lang-dotnet=\" AppServiceVirtualNetworkSwiftConnection \" pulumi-lang-go=\" appServiceVirtualNetworkSwiftConnection \" pulumi-lang-python=\" app_service_virtual_network_swift_connection \" pulumi-lang-yaml=\" appServiceVirtualNetworkSwiftConnection \" pulumi-lang-java=\" appServiceVirtualNetworkSwiftConnection \"\u003e app_service_virtual_network_swift_connection \u003c/span\u003eand in-line within this resource using the \u003cspan pulumi-lang-nodejs=\"`virtualNetworkSubnetId`\" pulumi-lang-dotnet=\"`VirtualNetworkSubnetId`\" pulumi-lang-go=\"`virtualNetworkSubnetId`\" pulumi-lang-python=\"`virtual_network_subnet_id`\" pulumi-lang-yaml=\"`virtualNetworkSubnetId`\" pulumi-lang-java=\"`virtualNetworkSubnetId`\"\u003e`virtual_network_subnet_id`\u003c/span\u003e property. You cannot use both methods simultaneously. If the virtual network is set via the resource \u003cspan pulumi-lang-nodejs=\"`appServiceVirtualNetworkSwiftConnection`\" pulumi-lang-dotnet=\"`AppServiceVirtualNetworkSwiftConnection`\" pulumi-lang-go=\"`appServiceVirtualNetworkSwiftConnection`\" pulumi-lang-python=\"`app_service_virtual_network_swift_connection`\" pulumi-lang-yaml=\"`appServiceVirtualNetworkSwiftConnection`\" pulumi-lang-java=\"`appServiceVirtualNetworkSwiftConnection`\"\u003e`app_service_virtual_network_swift_connection`\u003c/span\u003e then \u003cspan pulumi-lang-nodejs=\"`ignoreChanges`\" pulumi-lang-dotnet=\"`IgnoreChanges`\" pulumi-lang-go=\"`ignoreChanges`\" pulumi-lang-python=\"`ignore_changes`\" pulumi-lang-yaml=\"`ignoreChanges`\" pulumi-lang-java=\"`ignoreChanges`\"\u003e`ignore_changes`\u003c/span\u003e should be used in the web app configuration.\n\n\u003e **Note:** Assigning the \u003cspan pulumi-lang-nodejs=\"`virtualNetworkSubnetId`\" pulumi-lang-dotnet=\"`VirtualNetworkSubnetId`\" pulumi-lang-go=\"`virtualNetworkSubnetId`\" pulumi-lang-python=\"`virtual_network_subnet_id`\" pulumi-lang-yaml=\"`virtualNetworkSubnetId`\" pulumi-lang-java=\"`virtualNetworkSubnetId`\"\u003e`virtual_network_subnet_id`\u003c/span\u003e property requires [RBAC permissions on the subnet](https://docs.microsoft.com/en-us/azure/app-service/overview-vnet-integration#permissions)\n"},"vnetImagePullEnabled":{"type":"boolean","description":"Should the traffic for the image pull be routed over virtual network enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** The feature can also be enabled via the app setting `WEBSITE_PULL_IMAGE_OVER_VNET`. Must be set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e when running in an App Service Environment.\n"},"webdeployPublishBasicAuthenticationEnabled":{"type":"boolean","description":"Should the default WebDeploy Basic Authentication publishing credentials enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n\n\u003e **Note:** Setting this value to true will disable the ability to use \u003cspan pulumi-lang-nodejs=\"`zipDeployFile`\" pulumi-lang-dotnet=\"`ZipDeployFile`\" pulumi-lang-go=\"`zipDeployFile`\" pulumi-lang-python=\"`zip_deploy_file`\" pulumi-lang-yaml=\"`zipDeployFile`\" pulumi-lang-java=\"`zipDeployFile`\"\u003e`zip_deploy_file`\u003c/span\u003e which currently relies on the default publishing profile.\n"},"zipDeployFile":{"type":"string","description":"The local path and filename of the Zip packaged application to deploy to this Linux Web App.\n\n\u003e **Note:** Using this value requires either `WEBSITE_RUN_FROM_PACKAGE=1` or `SCM_DO_BUILD_DURING_DEPLOYMENT=true` to be set on the App in \u003cspan pulumi-lang-nodejs=\"`appSettings`\" pulumi-lang-dotnet=\"`AppSettings`\" pulumi-lang-go=\"`appSettings`\" pulumi-lang-python=\"`app_settings`\" pulumi-lang-yaml=\"`appSettings`\" pulumi-lang-java=\"`appSettings`\"\u003e`app_settings`\u003c/span\u003e. Refer to the Azure docs on [running the Web App directly from the Zip package](https://learn.microsoft.com/en-us/azure/app-service/deploy-run-package), or [automating the build for Zip deploy](https://learn.microsoft.com/en-us/azure/app-service/deploy-zip#enable-build-automation-for-zip-deploy) for further details.\n"}},"required":["customDomainVerificationId","defaultHostname","hostingEnvironmentId","keyVaultReferenceIdentityId","kind","location","name","outboundIpAddressLists","outboundIpAddresses","possibleOutboundIpAddressLists","possibleOutboundIpAddresses","resourceGroupName","servicePlanId","siteConfig","siteCredentials","zipDeployFile"],"inputProperties":{"appSettings":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of key-value pairs of App Settings.\n"},"authSettings":{"$ref":"#/types/azure:appservice/LinuxWebAppAuthSettings:LinuxWebAppAuthSettings","description":"A \u003cspan pulumi-lang-nodejs=\"`authSettings`\" pulumi-lang-dotnet=\"`AuthSettings`\" pulumi-lang-go=\"`authSettings`\" pulumi-lang-python=\"`auth_settings`\" pulumi-lang-yaml=\"`authSettings`\" pulumi-lang-java=\"`authSettings`\"\u003e`auth_settings`\u003c/span\u003e block as defined below.\n"},"authSettingsV2":{"$ref":"#/types/azure:appservice/LinuxWebAppAuthSettingsV2:LinuxWebAppAuthSettingsV2","description":"An \u003cspan pulumi-lang-nodejs=\"`authSettingsV2`\" pulumi-lang-dotnet=\"`AuthSettingsV2`\" pulumi-lang-go=\"`authSettingsV2`\" pulumi-lang-python=\"`auth_settings_v2`\" pulumi-lang-yaml=\"`authSettingsV2`\" pulumi-lang-java=\"`authSettingsV2`\"\u003e`auth_settings_v2`\u003c/span\u003e block as defined below.\n"},"backup":{"$ref":"#/types/azure:appservice/LinuxWebAppBackup:LinuxWebAppBackup","description":"A \u003cspan pulumi-lang-nodejs=\"`backup`\" pulumi-lang-dotnet=\"`Backup`\" pulumi-lang-go=\"`backup`\" pulumi-lang-python=\"`backup`\" pulumi-lang-yaml=\"`backup`\" pulumi-lang-java=\"`backup`\"\u003e`backup`\u003c/span\u003e block as defined below.\n"},"clientAffinityEnabled":{"type":"boolean","description":"Should Client Affinity be enabled?\n"},"clientCertificateEnabled":{"type":"boolean","description":"Should Client Certificates be enabled?\n"},"clientCertificateExclusionPaths":{"type":"string","description":"Paths to exclude when using client certificates, separated by ;\n"},"clientCertificateMode":{"type":"string","description":"The Client Certificate mode. Possible values are `Required`, `Optional`, and `OptionalInteractiveUser`. This property has no effect when \u003cspan pulumi-lang-nodejs=\"`clientCertificateEnabled`\" pulumi-lang-dotnet=\"`ClientCertificateEnabled`\" pulumi-lang-go=\"`clientCertificateEnabled`\" pulumi-lang-python=\"`client_certificate_enabled`\" pulumi-lang-yaml=\"`clientCertificateEnabled`\" pulumi-lang-java=\"`clientCertificateEnabled`\"\u003e`client_certificate_enabled`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Defaults to `Required`.\n"},"connectionStrings":{"type":"array","items":{"$ref":"#/types/azure:appservice/LinuxWebAppConnectionString:LinuxWebAppConnectionString"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`connectionString`\" pulumi-lang-dotnet=\"`ConnectionString`\" pulumi-lang-go=\"`connectionString`\" pulumi-lang-python=\"`connection_string`\" pulumi-lang-yaml=\"`connectionString`\" pulumi-lang-java=\"`connectionString`\"\u003e`connection_string`\u003c/span\u003e blocks as defined below.\n"},"enabled":{"type":"boolean","description":"Should the Linux Web App be enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"ftpPublishBasicAuthenticationEnabled":{"type":"boolean","description":"Should the default FTP Basic Authentication publishing profile be enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"httpsOnly":{"type":"boolean","description":"Should the Linux Web App require HTTPS connections. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"identity":{"$ref":"#/types/azure:appservice/LinuxWebAppIdentity:LinuxWebAppIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"keyVaultReferenceIdentityId":{"type":"string","description":"The User Assigned Identity ID used for accessing KeyVault secrets. The identity must be assigned to the application in the \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block. [For more information see - Access vaults with a user-assigned identity](https://docs.microsoft.com/azure/app-service/app-service-key-vault-references#access-vaults-with-a-user-assigned-identity).\n"},"location":{"type":"string","description":"The Azure Region where the Linux Web App should exist. Changing this forces a new Linux Web App to be created.\n","willReplaceOnChanges":true},"logs":{"$ref":"#/types/azure:appservice/LinuxWebAppLogs:LinuxWebAppLogs","description":"A \u003cspan pulumi-lang-nodejs=\"`logs`\" pulumi-lang-dotnet=\"`Logs`\" pulumi-lang-go=\"`logs`\" pulumi-lang-python=\"`logs`\" pulumi-lang-yaml=\"`logs`\" pulumi-lang-java=\"`logs`\"\u003e`logs`\u003c/span\u003e block as defined below.\n"},"name":{"type":"string","description":"The name which should be used for this Linux Web App. Changing this forces a new Linux Web App to be created.\n\n\u003e **Note:** Terraform will perform a name availability check as part of the creation progress, if this Web App is part of an App Service Environment terraform will require Read permission on the ASE for this to complete reliably.\n","willReplaceOnChanges":true},"publicNetworkAccessEnabled":{"type":"boolean","description":"Should public network access be enabled for the Web App. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Linux Web App should exist. Changing this forces a new Linux Web App to be created.\n","willReplaceOnChanges":true},"servicePlanId":{"type":"string","description":"The ID of the Service Plan that this Linux App Service will be created in.\n"},"siteConfig":{"$ref":"#/types/azure:appservice/LinuxWebAppSiteConfig:LinuxWebAppSiteConfig","description":"A \u003cspan pulumi-lang-nodejs=\"`siteConfig`\" pulumi-lang-dotnet=\"`SiteConfig`\" pulumi-lang-go=\"`siteConfig`\" pulumi-lang-python=\"`site_config`\" pulumi-lang-yaml=\"`siteConfig`\" pulumi-lang-java=\"`siteConfig`\"\u003e`site_config`\u003c/span\u003e block as defined below.\n"},"stickySettings":{"$ref":"#/types/azure:appservice/LinuxWebAppStickySettings:LinuxWebAppStickySettings","description":"A \u003cspan pulumi-lang-nodejs=\"`stickySettings`\" pulumi-lang-dotnet=\"`StickySettings`\" pulumi-lang-go=\"`stickySettings`\" pulumi-lang-python=\"`sticky_settings`\" pulumi-lang-yaml=\"`stickySettings`\" pulumi-lang-java=\"`stickySettings`\"\u003e`sticky_settings`\u003c/span\u003e block as defined below.\n"},"storageAccounts":{"type":"array","items":{"$ref":"#/types/azure:appservice/LinuxWebAppStorageAccount:LinuxWebAppStorageAccount"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`storageAccount`\" pulumi-lang-dotnet=\"`StorageAccount`\" pulumi-lang-go=\"`storageAccount`\" pulumi-lang-python=\"`storage_account`\" pulumi-lang-yaml=\"`storageAccount`\" pulumi-lang-java=\"`storageAccount`\"\u003e`storage_account`\u003c/span\u003e blocks as defined below.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Linux Web App.\n"},"virtualNetworkBackupRestoreEnabled":{"type":"boolean","description":"Whether backup and restore operations over the linked virtual network are enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"virtualNetworkSubnetId":{"type":"string","description":"The subnet id which will be used by this Web App for [regional virtual network integration](https://docs.microsoft.com/en-us/azure/app-service/overview-vnet-integration#regional-virtual-network-integration).\n\n\u003e **Note:** The AzureRM Terraform provider provides regional virtual network integration via the standalone resource\u003cspan pulumi-lang-nodejs=\" appServiceVirtualNetworkSwiftConnection \" pulumi-lang-dotnet=\" AppServiceVirtualNetworkSwiftConnection \" pulumi-lang-go=\" appServiceVirtualNetworkSwiftConnection \" pulumi-lang-python=\" app_service_virtual_network_swift_connection \" pulumi-lang-yaml=\" appServiceVirtualNetworkSwiftConnection \" pulumi-lang-java=\" appServiceVirtualNetworkSwiftConnection \"\u003e app_service_virtual_network_swift_connection \u003c/span\u003eand in-line within this resource using the \u003cspan pulumi-lang-nodejs=\"`virtualNetworkSubnetId`\" pulumi-lang-dotnet=\"`VirtualNetworkSubnetId`\" pulumi-lang-go=\"`virtualNetworkSubnetId`\" pulumi-lang-python=\"`virtual_network_subnet_id`\" pulumi-lang-yaml=\"`virtualNetworkSubnetId`\" pulumi-lang-java=\"`virtualNetworkSubnetId`\"\u003e`virtual_network_subnet_id`\u003c/span\u003e property. You cannot use both methods simultaneously. If the virtual network is set via the resource \u003cspan pulumi-lang-nodejs=\"`appServiceVirtualNetworkSwiftConnection`\" pulumi-lang-dotnet=\"`AppServiceVirtualNetworkSwiftConnection`\" pulumi-lang-go=\"`appServiceVirtualNetworkSwiftConnection`\" pulumi-lang-python=\"`app_service_virtual_network_swift_connection`\" pulumi-lang-yaml=\"`appServiceVirtualNetworkSwiftConnection`\" pulumi-lang-java=\"`appServiceVirtualNetworkSwiftConnection`\"\u003e`app_service_virtual_network_swift_connection`\u003c/span\u003e then \u003cspan pulumi-lang-nodejs=\"`ignoreChanges`\" pulumi-lang-dotnet=\"`IgnoreChanges`\" pulumi-lang-go=\"`ignoreChanges`\" pulumi-lang-python=\"`ignore_changes`\" pulumi-lang-yaml=\"`ignoreChanges`\" pulumi-lang-java=\"`ignoreChanges`\"\u003e`ignore_changes`\u003c/span\u003e should be used in the web app configuration.\n\n\u003e **Note:** Assigning the \u003cspan pulumi-lang-nodejs=\"`virtualNetworkSubnetId`\" pulumi-lang-dotnet=\"`VirtualNetworkSubnetId`\" pulumi-lang-go=\"`virtualNetworkSubnetId`\" pulumi-lang-python=\"`virtual_network_subnet_id`\" pulumi-lang-yaml=\"`virtualNetworkSubnetId`\" pulumi-lang-java=\"`virtualNetworkSubnetId`\"\u003e`virtual_network_subnet_id`\u003c/span\u003e property requires [RBAC permissions on the subnet](https://docs.microsoft.com/en-us/azure/app-service/overview-vnet-integration#permissions)\n"},"vnetImagePullEnabled":{"type":"boolean","description":"Should the traffic for the image pull be routed over virtual network enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** The feature can also be enabled via the app setting `WEBSITE_PULL_IMAGE_OVER_VNET`. Must be set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e when running in an App Service Environment.\n"},"webdeployPublishBasicAuthenticationEnabled":{"type":"boolean","description":"Should the default WebDeploy Basic Authentication publishing credentials enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n\n\u003e **Note:** Setting this value to true will disable the ability to use \u003cspan pulumi-lang-nodejs=\"`zipDeployFile`\" pulumi-lang-dotnet=\"`ZipDeployFile`\" pulumi-lang-go=\"`zipDeployFile`\" pulumi-lang-python=\"`zip_deploy_file`\" pulumi-lang-yaml=\"`zipDeployFile`\" pulumi-lang-java=\"`zipDeployFile`\"\u003e`zip_deploy_file`\u003c/span\u003e which currently relies on the default publishing profile.\n"},"zipDeployFile":{"type":"string","description":"The local path and filename of the Zip packaged application to deploy to this Linux Web App.\n\n\u003e **Note:** Using this value requires either `WEBSITE_RUN_FROM_PACKAGE=1` or `SCM_DO_BUILD_DURING_DEPLOYMENT=true` to be set on the App in \u003cspan pulumi-lang-nodejs=\"`appSettings`\" pulumi-lang-dotnet=\"`AppSettings`\" pulumi-lang-go=\"`appSettings`\" pulumi-lang-python=\"`app_settings`\" pulumi-lang-yaml=\"`appSettings`\" pulumi-lang-java=\"`appSettings`\"\u003e`app_settings`\u003c/span\u003e. Refer to the Azure docs on [running the Web App directly from the Zip package](https://learn.microsoft.com/en-us/azure/app-service/deploy-run-package), or [automating the build for Zip deploy](https://learn.microsoft.com/en-us/azure/app-service/deploy-zip#enable-build-automation-for-zip-deploy) for further details.\n"}},"requiredInputs":["resourceGroupName","servicePlanId","siteConfig"],"stateInputs":{"description":"Input properties used for looking up and filtering LinuxWebApp resources.\n","properties":{"appSettings":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of key-value pairs of App Settings.\n"},"authSettings":{"$ref":"#/types/azure:appservice/LinuxWebAppAuthSettings:LinuxWebAppAuthSettings","description":"A \u003cspan pulumi-lang-nodejs=\"`authSettings`\" pulumi-lang-dotnet=\"`AuthSettings`\" pulumi-lang-go=\"`authSettings`\" pulumi-lang-python=\"`auth_settings`\" pulumi-lang-yaml=\"`authSettings`\" pulumi-lang-java=\"`authSettings`\"\u003e`auth_settings`\u003c/span\u003e block as defined below.\n"},"authSettingsV2":{"$ref":"#/types/azure:appservice/LinuxWebAppAuthSettingsV2:LinuxWebAppAuthSettingsV2","description":"An \u003cspan pulumi-lang-nodejs=\"`authSettingsV2`\" pulumi-lang-dotnet=\"`AuthSettingsV2`\" pulumi-lang-go=\"`authSettingsV2`\" pulumi-lang-python=\"`auth_settings_v2`\" pulumi-lang-yaml=\"`authSettingsV2`\" pulumi-lang-java=\"`authSettingsV2`\"\u003e`auth_settings_v2`\u003c/span\u003e block as defined below.\n"},"backup":{"$ref":"#/types/azure:appservice/LinuxWebAppBackup:LinuxWebAppBackup","description":"A \u003cspan pulumi-lang-nodejs=\"`backup`\" pulumi-lang-dotnet=\"`Backup`\" pulumi-lang-go=\"`backup`\" pulumi-lang-python=\"`backup`\" pulumi-lang-yaml=\"`backup`\" pulumi-lang-java=\"`backup`\"\u003e`backup`\u003c/span\u003e block as defined below.\n"},"clientAffinityEnabled":{"type":"boolean","description":"Should Client Affinity be enabled?\n"},"clientCertificateEnabled":{"type":"boolean","description":"Should Client Certificates be enabled?\n"},"clientCertificateExclusionPaths":{"type":"string","description":"Paths to exclude when using client certificates, separated by ;\n"},"clientCertificateMode":{"type":"string","description":"The Client Certificate mode. Possible values are `Required`, `Optional`, and `OptionalInteractiveUser`. This property has no effect when \u003cspan pulumi-lang-nodejs=\"`clientCertificateEnabled`\" pulumi-lang-dotnet=\"`ClientCertificateEnabled`\" pulumi-lang-go=\"`clientCertificateEnabled`\" pulumi-lang-python=\"`client_certificate_enabled`\" pulumi-lang-yaml=\"`clientCertificateEnabled`\" pulumi-lang-java=\"`clientCertificateEnabled`\"\u003e`client_certificate_enabled`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Defaults to `Required`.\n"},"connectionStrings":{"type":"array","items":{"$ref":"#/types/azure:appservice/LinuxWebAppConnectionString:LinuxWebAppConnectionString"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`connectionString`\" pulumi-lang-dotnet=\"`ConnectionString`\" pulumi-lang-go=\"`connectionString`\" pulumi-lang-python=\"`connection_string`\" pulumi-lang-yaml=\"`connectionString`\" pulumi-lang-java=\"`connectionString`\"\u003e`connection_string`\u003c/span\u003e blocks as defined below.\n"},"customDomainVerificationId":{"type":"string","description":"The identifier used by App Service to perform domain ownership verification via DNS TXT record.\n","secret":true},"defaultHostname":{"type":"string","description":"The default hostname of the Linux Web App.\n"},"enabled":{"type":"boolean","description":"Should the Linux Web App be enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"ftpPublishBasicAuthenticationEnabled":{"type":"boolean","description":"Should the default FTP Basic Authentication publishing profile be enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"hostingEnvironmentId":{"type":"string","description":"The ID of the App Service Environment used by App Service.\n"},"httpsOnly":{"type":"boolean","description":"Should the Linux Web App require HTTPS connections. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"identity":{"$ref":"#/types/azure:appservice/LinuxWebAppIdentity:LinuxWebAppIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"keyVaultReferenceIdentityId":{"type":"string","description":"The User Assigned Identity ID used for accessing KeyVault secrets. The identity must be assigned to the application in the \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block. [For more information see - Access vaults with a user-assigned identity](https://docs.microsoft.com/azure/app-service/app-service-key-vault-references#access-vaults-with-a-user-assigned-identity).\n"},"kind":{"type":"string","description":"The Kind value for this Linux Web App.\n"},"location":{"type":"string","description":"The Azure Region where the Linux Web App should exist. Changing this forces a new Linux Web App to be created.\n","willReplaceOnChanges":true},"logs":{"$ref":"#/types/azure:appservice/LinuxWebAppLogs:LinuxWebAppLogs","description":"A \u003cspan pulumi-lang-nodejs=\"`logs`\" pulumi-lang-dotnet=\"`Logs`\" pulumi-lang-go=\"`logs`\" pulumi-lang-python=\"`logs`\" pulumi-lang-yaml=\"`logs`\" pulumi-lang-java=\"`logs`\"\u003e`logs`\u003c/span\u003e block as defined below.\n"},"name":{"type":"string","description":"The name which should be used for this Linux Web App. Changing this forces a new Linux Web App to be created.\n\n\u003e **Note:** Terraform will perform a name availability check as part of the creation progress, if this Web App is part of an App Service Environment terraform will require Read permission on the ASE for this to complete reliably.\n","willReplaceOnChanges":true},"outboundIpAddressLists":{"type":"array","items":{"type":"string"},"description":"A list of outbound IP addresses - such as `[\"52.23.25.3\", \"52.143.43.12\"]`\n"},"outboundIpAddresses":{"type":"string","description":"A comma separated list of outbound IP addresses - such as `52.23.25.3,52.143.43.12`.\n"},"possibleOutboundIpAddressLists":{"type":"array","items":{"type":"string"},"description":"A list of possible outbound ip address.\n"},"possibleOutboundIpAddresses":{"type":"string","description":"A comma-separated list of outbound IP addresses - such as `52.23.25.3,52.143.43.12,52.143.43.17` - not all of which are necessarily in use. Superset of \u003cspan pulumi-lang-nodejs=\"`outboundIpAddresses`\" pulumi-lang-dotnet=\"`OutboundIpAddresses`\" pulumi-lang-go=\"`outboundIpAddresses`\" pulumi-lang-python=\"`outbound_ip_addresses`\" pulumi-lang-yaml=\"`outboundIpAddresses`\" pulumi-lang-java=\"`outboundIpAddresses`\"\u003e`outbound_ip_addresses`\u003c/span\u003e.\n"},"publicNetworkAccessEnabled":{"type":"boolean","description":"Should public network access be enabled for the Web App. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Linux Web App should exist. Changing this forces a new Linux Web App to be created.\n","willReplaceOnChanges":true},"servicePlanId":{"type":"string","description":"The ID of the Service Plan that this Linux App Service will be created in.\n"},"siteConfig":{"$ref":"#/types/azure:appservice/LinuxWebAppSiteConfig:LinuxWebAppSiteConfig","description":"A \u003cspan pulumi-lang-nodejs=\"`siteConfig`\" pulumi-lang-dotnet=\"`SiteConfig`\" pulumi-lang-go=\"`siteConfig`\" pulumi-lang-python=\"`site_config`\" pulumi-lang-yaml=\"`siteConfig`\" pulumi-lang-java=\"`siteConfig`\"\u003e`site_config`\u003c/span\u003e block as defined below.\n"},"siteCredentials":{"type":"array","items":{"$ref":"#/types/azure:appservice/LinuxWebAppSiteCredential:LinuxWebAppSiteCredential"},"description":"A \u003cspan pulumi-lang-nodejs=\"`siteCredential`\" pulumi-lang-dotnet=\"`SiteCredential`\" pulumi-lang-go=\"`siteCredential`\" pulumi-lang-python=\"`site_credential`\" pulumi-lang-yaml=\"`siteCredential`\" pulumi-lang-java=\"`siteCredential`\"\u003e`site_credential`\u003c/span\u003e block as defined below.\n","secret":true},"stickySettings":{"$ref":"#/types/azure:appservice/LinuxWebAppStickySettings:LinuxWebAppStickySettings","description":"A \u003cspan pulumi-lang-nodejs=\"`stickySettings`\" pulumi-lang-dotnet=\"`StickySettings`\" pulumi-lang-go=\"`stickySettings`\" pulumi-lang-python=\"`sticky_settings`\" pulumi-lang-yaml=\"`stickySettings`\" pulumi-lang-java=\"`stickySettings`\"\u003e`sticky_settings`\u003c/span\u003e block as defined below.\n"},"storageAccounts":{"type":"array","items":{"$ref":"#/types/azure:appservice/LinuxWebAppStorageAccount:LinuxWebAppStorageAccount"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`storageAccount`\" pulumi-lang-dotnet=\"`StorageAccount`\" pulumi-lang-go=\"`storageAccount`\" pulumi-lang-python=\"`storage_account`\" pulumi-lang-yaml=\"`storageAccount`\" pulumi-lang-java=\"`storageAccount`\"\u003e`storage_account`\u003c/span\u003e blocks as defined below.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Linux Web App.\n"},"virtualNetworkBackupRestoreEnabled":{"type":"boolean","description":"Whether backup and restore operations over the linked virtual network are enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"virtualNetworkSubnetId":{"type":"string","description":"The subnet id which will be used by this Web App for [regional virtual network integration](https://docs.microsoft.com/en-us/azure/app-service/overview-vnet-integration#regional-virtual-network-integration).\n\n\u003e **Note:** The AzureRM Terraform provider provides regional virtual network integration via the standalone resource\u003cspan pulumi-lang-nodejs=\" appServiceVirtualNetworkSwiftConnection \" pulumi-lang-dotnet=\" AppServiceVirtualNetworkSwiftConnection \" pulumi-lang-go=\" appServiceVirtualNetworkSwiftConnection \" pulumi-lang-python=\" app_service_virtual_network_swift_connection \" pulumi-lang-yaml=\" appServiceVirtualNetworkSwiftConnection \" pulumi-lang-java=\" appServiceVirtualNetworkSwiftConnection \"\u003e app_service_virtual_network_swift_connection \u003c/span\u003eand in-line within this resource using the \u003cspan pulumi-lang-nodejs=\"`virtualNetworkSubnetId`\" pulumi-lang-dotnet=\"`VirtualNetworkSubnetId`\" pulumi-lang-go=\"`virtualNetworkSubnetId`\" pulumi-lang-python=\"`virtual_network_subnet_id`\" pulumi-lang-yaml=\"`virtualNetworkSubnetId`\" pulumi-lang-java=\"`virtualNetworkSubnetId`\"\u003e`virtual_network_subnet_id`\u003c/span\u003e property. You cannot use both methods simultaneously. If the virtual network is set via the resource \u003cspan pulumi-lang-nodejs=\"`appServiceVirtualNetworkSwiftConnection`\" pulumi-lang-dotnet=\"`AppServiceVirtualNetworkSwiftConnection`\" pulumi-lang-go=\"`appServiceVirtualNetworkSwiftConnection`\" pulumi-lang-python=\"`app_service_virtual_network_swift_connection`\" pulumi-lang-yaml=\"`appServiceVirtualNetworkSwiftConnection`\" pulumi-lang-java=\"`appServiceVirtualNetworkSwiftConnection`\"\u003e`app_service_virtual_network_swift_connection`\u003c/span\u003e then \u003cspan pulumi-lang-nodejs=\"`ignoreChanges`\" pulumi-lang-dotnet=\"`IgnoreChanges`\" pulumi-lang-go=\"`ignoreChanges`\" pulumi-lang-python=\"`ignore_changes`\" pulumi-lang-yaml=\"`ignoreChanges`\" pulumi-lang-java=\"`ignoreChanges`\"\u003e`ignore_changes`\u003c/span\u003e should be used in the web app configuration.\n\n\u003e **Note:** Assigning the \u003cspan pulumi-lang-nodejs=\"`virtualNetworkSubnetId`\" pulumi-lang-dotnet=\"`VirtualNetworkSubnetId`\" pulumi-lang-go=\"`virtualNetworkSubnetId`\" pulumi-lang-python=\"`virtual_network_subnet_id`\" pulumi-lang-yaml=\"`virtualNetworkSubnetId`\" pulumi-lang-java=\"`virtualNetworkSubnetId`\"\u003e`virtual_network_subnet_id`\u003c/span\u003e property requires [RBAC permissions on the subnet](https://docs.microsoft.com/en-us/azure/app-service/overview-vnet-integration#permissions)\n"},"vnetImagePullEnabled":{"type":"boolean","description":"Should the traffic for the image pull be routed over virtual network enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** The feature can also be enabled via the app setting `WEBSITE_PULL_IMAGE_OVER_VNET`. Must be set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e when running in an App Service Environment.\n"},"webdeployPublishBasicAuthenticationEnabled":{"type":"boolean","description":"Should the default WebDeploy Basic Authentication publishing credentials enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n\n\u003e **Note:** Setting this value to true will disable the ability to use \u003cspan pulumi-lang-nodejs=\"`zipDeployFile`\" pulumi-lang-dotnet=\"`ZipDeployFile`\" pulumi-lang-go=\"`zipDeployFile`\" pulumi-lang-python=\"`zip_deploy_file`\" pulumi-lang-yaml=\"`zipDeployFile`\" pulumi-lang-java=\"`zipDeployFile`\"\u003e`zip_deploy_file`\u003c/span\u003e which currently relies on the default publishing profile.\n"},"zipDeployFile":{"type":"string","description":"The local path and filename of the Zip packaged application to deploy to this Linux Web App.\n\n\u003e **Note:** Using this value requires either `WEBSITE_RUN_FROM_PACKAGE=1` or `SCM_DO_BUILD_DURING_DEPLOYMENT=true` to be set on the App in \u003cspan pulumi-lang-nodejs=\"`appSettings`\" pulumi-lang-dotnet=\"`AppSettings`\" pulumi-lang-go=\"`appSettings`\" pulumi-lang-python=\"`app_settings`\" pulumi-lang-yaml=\"`appSettings`\" pulumi-lang-java=\"`appSettings`\"\u003e`app_settings`\u003c/span\u003e. Refer to the Azure docs on [running the Web App directly from the Zip package](https://learn.microsoft.com/en-us/azure/app-service/deploy-run-package), or [automating the build for Zip deploy](https://learn.microsoft.com/en-us/azure/app-service/deploy-zip#enable-build-automation-for-zip-deploy) for further details.\n"}},"type":"object"}},"azure:appservice/linuxWebAppSlot:LinuxWebAppSlot":{"description":"Manages a Linux Web App Slot.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleServicePlan = new azure.appservice.ServicePlan(\"example\", {\n    name: \"example-plan\",\n    resourceGroupName: example.name,\n    location: example.location,\n    osType: \"Linux\",\n    skuName: \"P1v2\",\n});\nconst exampleLinuxWebApp = new azure.appservice.LinuxWebApp(\"example\", {\n    name: \"example-linux-web-app\",\n    resourceGroupName: example.name,\n    location: exampleServicePlan.location,\n    servicePlanId: exampleServicePlan.id,\n    siteConfig: {},\n});\nconst exampleLinuxWebAppSlot = new azure.appservice.LinuxWebAppSlot(\"example\", {\n    name: \"example-slot\",\n    appServiceId: exampleLinuxWebApp.id,\n    siteConfig: {},\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_service_plan = azure.appservice.ServicePlan(\"example\",\n    name=\"example-plan\",\n    resource_group_name=example.name,\n    location=example.location,\n    os_type=\"Linux\",\n    sku_name=\"P1v2\")\nexample_linux_web_app = azure.appservice.LinuxWebApp(\"example\",\n    name=\"example-linux-web-app\",\n    resource_group_name=example.name,\n    location=example_service_plan.location,\n    service_plan_id=example_service_plan.id,\n    site_config={})\nexample_linux_web_app_slot = azure.appservice.LinuxWebAppSlot(\"example\",\n    name=\"example-slot\",\n    app_service_id=example_linux_web_app.id,\n    site_config={})\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleServicePlan = new Azure.AppService.ServicePlan(\"example\", new()\n    {\n        Name = \"example-plan\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        OsType = \"Linux\",\n        SkuName = \"P1v2\",\n    });\n\n    var exampleLinuxWebApp = new Azure.AppService.LinuxWebApp(\"example\", new()\n    {\n        Name = \"example-linux-web-app\",\n        ResourceGroupName = example.Name,\n        Location = exampleServicePlan.Location,\n        ServicePlanId = exampleServicePlan.Id,\n        SiteConfig = null,\n    });\n\n    var exampleLinuxWebAppSlot = new Azure.AppService.LinuxWebAppSlot(\"example\", new()\n    {\n        Name = \"example-slot\",\n        AppServiceId = exampleLinuxWebApp.Id,\n        SiteConfig = null,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/appservice\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleServicePlan, err := appservice.NewServicePlan(ctx, \"example\", \u0026appservice.ServicePlanArgs{\n\t\t\tName:              pulumi.String(\"example-plan\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tOsType:            pulumi.String(\"Linux\"),\n\t\t\tSkuName:           pulumi.String(\"P1v2\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleLinuxWebApp, err := appservice.NewLinuxWebApp(ctx, \"example\", \u0026appservice.LinuxWebAppArgs{\n\t\t\tName:              pulumi.String(\"example-linux-web-app\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          exampleServicePlan.Location,\n\t\t\tServicePlanId:     exampleServicePlan.ID(),\n\t\t\tSiteConfig:        \u0026appservice.LinuxWebAppSiteConfigArgs{},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = appservice.NewLinuxWebAppSlot(ctx, \"example\", \u0026appservice.LinuxWebAppSlotArgs{\n\t\t\tName:         pulumi.String(\"example-slot\"),\n\t\t\tAppServiceId: exampleLinuxWebApp.ID(),\n\t\t\tSiteConfig:   \u0026appservice.LinuxWebAppSlotSiteConfigArgs{},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.appservice.ServicePlan;\nimport com.pulumi.azure.appservice.ServicePlanArgs;\nimport com.pulumi.azure.appservice.LinuxWebApp;\nimport com.pulumi.azure.appservice.LinuxWebAppArgs;\nimport com.pulumi.azure.appservice.inputs.LinuxWebAppSiteConfigArgs;\nimport com.pulumi.azure.appservice.LinuxWebAppSlot;\nimport com.pulumi.azure.appservice.LinuxWebAppSlotArgs;\nimport com.pulumi.azure.appservice.inputs.LinuxWebAppSlotSiteConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleServicePlan = new ServicePlan(\"exampleServicePlan\", ServicePlanArgs.builder()\n            .name(\"example-plan\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .osType(\"Linux\")\n            .skuName(\"P1v2\")\n            .build());\n\n        var exampleLinuxWebApp = new LinuxWebApp(\"exampleLinuxWebApp\", LinuxWebAppArgs.builder()\n            .name(\"example-linux-web-app\")\n            .resourceGroupName(example.name())\n            .location(exampleServicePlan.location())\n            .servicePlanId(exampleServicePlan.id())\n            .siteConfig(LinuxWebAppSiteConfigArgs.builder()\n                .build())\n            .build());\n\n        var exampleLinuxWebAppSlot = new LinuxWebAppSlot(\"exampleLinuxWebAppSlot\", LinuxWebAppSlotArgs.builder()\n            .name(\"example-slot\")\n            .appServiceId(exampleLinuxWebApp.id())\n            .siteConfig(LinuxWebAppSlotSiteConfigArgs.builder()\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleServicePlan:\n    type: azure:appservice:ServicePlan\n    name: example\n    properties:\n      name: example-plan\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      osType: Linux\n      skuName: P1v2\n  exampleLinuxWebApp:\n    type: azure:appservice:LinuxWebApp\n    name: example\n    properties:\n      name: example-linux-web-app\n      resourceGroupName: ${example.name}\n      location: ${exampleServicePlan.location}\n      servicePlanId: ${exampleServicePlan.id}\n      siteConfig: {}\n  exampleLinuxWebAppSlot:\n    type: azure:appservice:LinuxWebAppSlot\n    name: example\n    properties:\n      name: example-slot\n      appServiceId: ${exampleLinuxWebApp.id}\n      siteConfig: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Web` - 2023-12-01\n\n## Import\n\nLinux Web Apps can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:appservice/linuxWebAppSlot:LinuxWebAppSlot example /subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/resGroup1/providers/Microsoft.Web/sites/site1/slots/slot1\n```\n\n","properties":{"appMetadata":{"type":"object","additionalProperties":{"type":"string"},"description":"A \u003cspan pulumi-lang-nodejs=\"`appMetadata`\" pulumi-lang-dotnet=\"`AppMetadata`\" pulumi-lang-go=\"`appMetadata`\" pulumi-lang-python=\"`app_metadata`\" pulumi-lang-yaml=\"`appMetadata`\" pulumi-lang-java=\"`appMetadata`\"\u003e`app_metadata`\u003c/span\u003e.\n"},"appServiceId":{"type":"string","description":"The ID of the Linux Web App this Deployment Slot will be part of.\n"},"appSettings":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of key-value pairs of App Settings.\n"},"authSettings":{"$ref":"#/types/azure:appservice/LinuxWebAppSlotAuthSettings:LinuxWebAppSlotAuthSettings","description":"An \u003cspan pulumi-lang-nodejs=\"`authSettings`\" pulumi-lang-dotnet=\"`AuthSettings`\" pulumi-lang-go=\"`authSettings`\" pulumi-lang-python=\"`auth_settings`\" pulumi-lang-yaml=\"`authSettings`\" pulumi-lang-java=\"`authSettings`\"\u003e`auth_settings`\u003c/span\u003e block as defined below.\n"},"authSettingsV2":{"$ref":"#/types/azure:appservice/LinuxWebAppSlotAuthSettingsV2:LinuxWebAppSlotAuthSettingsV2","description":"An \u003cspan pulumi-lang-nodejs=\"`authSettingsV2`\" pulumi-lang-dotnet=\"`AuthSettingsV2`\" pulumi-lang-go=\"`authSettingsV2`\" pulumi-lang-python=\"`auth_settings_v2`\" pulumi-lang-yaml=\"`authSettingsV2`\" pulumi-lang-java=\"`authSettingsV2`\"\u003e`auth_settings_v2`\u003c/span\u003e block as defined below.\n"},"backup":{"$ref":"#/types/azure:appservice/LinuxWebAppSlotBackup:LinuxWebAppSlotBackup","description":"A \u003cspan pulumi-lang-nodejs=\"`backup`\" pulumi-lang-dotnet=\"`Backup`\" pulumi-lang-go=\"`backup`\" pulumi-lang-python=\"`backup`\" pulumi-lang-yaml=\"`backup`\" pulumi-lang-java=\"`backup`\"\u003e`backup`\u003c/span\u003e block as defined below.\n"},"clientAffinityEnabled":{"type":"boolean","description":"Should Client Affinity be enabled?\n"},"clientCertificateEnabled":{"type":"boolean","description":"Should Client Certificates be enabled?\n"},"clientCertificateExclusionPaths":{"type":"string","description":"Paths to exclude when using client certificates, separated by ;\n"},"clientCertificateMode":{"type":"string","description":"The Client Certificate mode. Possible values are `Required`, `Optional`, and `OptionalInteractiveUser`. This property has no effect when \u003cspan pulumi-lang-nodejs=\"`clientCertEnabled`\" pulumi-lang-dotnet=\"`ClientCertEnabled`\" pulumi-lang-go=\"`clientCertEnabled`\" pulumi-lang-python=\"`client_cert_enabled`\" pulumi-lang-yaml=\"`clientCertEnabled`\" pulumi-lang-java=\"`clientCertEnabled`\"\u003e`client_cert_enabled`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Defaults to `Required`.\n"},"connectionStrings":{"type":"array","items":{"$ref":"#/types/azure:appservice/LinuxWebAppSlotConnectionString:LinuxWebAppSlotConnectionString"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`connectionString`\" pulumi-lang-dotnet=\"`ConnectionString`\" pulumi-lang-go=\"`connectionString`\" pulumi-lang-python=\"`connection_string`\" pulumi-lang-yaml=\"`connectionString`\" pulumi-lang-java=\"`connectionString`\"\u003e`connection_string`\u003c/span\u003e blocks as defined below.\n"},"customDomainVerificationId":{"type":"string","description":"The identifier used by App Service to perform domain ownership verification via DNS TXT record.\n","secret":true},"defaultHostname":{"type":"string","description":"The default hostname of the Linux Web App.\n"},"enabled":{"type":"boolean","description":"Should the Linux Web App be enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"ftpPublishBasicAuthenticationEnabled":{"type":"boolean","description":"Should the default FTP Basic Authentication publishing profile be enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"hostingEnvironmentId":{"type":"string","description":"The ID of the App Service Environment used by App Service Slot.\n"},"httpsOnly":{"type":"boolean","description":"Should the Linux Web App require HTTPS connections. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"identity":{"$ref":"#/types/azure:appservice/LinuxWebAppSlotIdentity:LinuxWebAppSlotIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"keyVaultReferenceIdentityId":{"type":"string","description":"The User Assigned Identity ID used for accessing KeyVault secrets. The identity must be assigned to the application in the \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block. [For more information see - Access vaults with a user-assigned identity](https://docs.microsoft.com/azure/app-service/app-service-key-vault-references#access-vaults-with-a-user-assigned-identity).\n"},"kind":{"type":"string","description":"The Kind value for this Linux Web App.\n"},"logs":{"$ref":"#/types/azure:appservice/LinuxWebAppSlotLogs:LinuxWebAppSlotLogs","description":"A \u003cspan pulumi-lang-nodejs=\"`logs`\" pulumi-lang-dotnet=\"`Logs`\" pulumi-lang-go=\"`logs`\" pulumi-lang-python=\"`logs`\" pulumi-lang-yaml=\"`logs`\" pulumi-lang-java=\"`logs`\"\u003e`logs`\u003c/span\u003e block as defined below.\n"},"name":{"type":"string","description":"The name which should be used for this Linux Web App Slot. Changing this forces a new Linux Web App Slot to be created.\n\n\u003e **Note:** Terraform will perform a name availability check as part of the creation progress, if this Web App is part of an App Service Environment terraform will require Read permission on the ASE for this to complete reliably.\n"},"outboundIpAddressLists":{"type":"array","items":{"type":"string"},"description":"A list of outbound IP addresses - such as `[\"52.23.25.3\", \"52.143.43.12\"]`\n"},"outboundIpAddresses":{"type":"string","description":"A comma-separated list of outbound IP addresses - such as `52.23.25.3,52.143.43.12`.\n"},"possibleOutboundIpAddressLists":{"type":"array","items":{"type":"string"},"description":"A \u003cspan pulumi-lang-nodejs=\"`possibleOutboundIpAddressList`\" pulumi-lang-dotnet=\"`PossibleOutboundIpAddressList`\" pulumi-lang-go=\"`possibleOutboundIpAddressList`\" pulumi-lang-python=\"`possible_outbound_ip_address_list`\" pulumi-lang-yaml=\"`possibleOutboundIpAddressList`\" pulumi-lang-java=\"`possibleOutboundIpAddressList`\"\u003e`possible_outbound_ip_address_list`\u003c/span\u003e.\n"},"possibleOutboundIpAddresses":{"type":"string","description":"A comma-separated list of outbound IP addresses - such as `52.23.25.3,52.143.43.12,52.143.43.17` - not all of which are necessarily in use. Superset of \u003cspan pulumi-lang-nodejs=\"`outboundIpAddresses`\" pulumi-lang-dotnet=\"`OutboundIpAddresses`\" pulumi-lang-go=\"`outboundIpAddresses`\" pulumi-lang-python=\"`outbound_ip_addresses`\" pulumi-lang-yaml=\"`outboundIpAddresses`\" pulumi-lang-java=\"`outboundIpAddresses`\"\u003e`outbound_ip_addresses`\u003c/span\u003e.\n"},"publicNetworkAccessEnabled":{"type":"boolean","description":"Should public network access be enabled for the Web App. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"servicePlanId":{"type":"string","description":"The ID of the Service Plan in which to run this slot. If not specified the same Service Plan as the Linux Web App will be used.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`servicePlanId`\" pulumi-lang-dotnet=\"`ServicePlanId`\" pulumi-lang-go=\"`servicePlanId`\" pulumi-lang-python=\"`service_plan_id`\" pulumi-lang-yaml=\"`servicePlanId`\" pulumi-lang-java=\"`servicePlanId`\"\u003e`service_plan_id`\u003c/span\u003e should only be specified if it differs from the Service Plan of the associated Linux Web App.\n"},"siteConfig":{"$ref":"#/types/azure:appservice/LinuxWebAppSlotSiteConfig:LinuxWebAppSlotSiteConfig","description":"A \u003cspan pulumi-lang-nodejs=\"`siteConfig`\" pulumi-lang-dotnet=\"`SiteConfig`\" pulumi-lang-go=\"`siteConfig`\" pulumi-lang-python=\"`site_config`\" pulumi-lang-yaml=\"`siteConfig`\" pulumi-lang-java=\"`siteConfig`\"\u003e`site_config`\u003c/span\u003e block as defined below.\n"},"siteCredentials":{"type":"array","items":{"$ref":"#/types/azure:appservice/LinuxWebAppSlotSiteCredential:LinuxWebAppSlotSiteCredential"},"description":"A \u003cspan pulumi-lang-nodejs=\"`siteCredential`\" pulumi-lang-dotnet=\"`SiteCredential`\" pulumi-lang-go=\"`siteCredential`\" pulumi-lang-python=\"`site_credential`\" pulumi-lang-yaml=\"`siteCredential`\" pulumi-lang-java=\"`siteCredential`\"\u003e`site_credential`\u003c/span\u003e block as defined below.\n","secret":true},"storageAccounts":{"type":"array","items":{"$ref":"#/types/azure:appservice/LinuxWebAppSlotStorageAccount:LinuxWebAppSlotStorageAccount"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`storageAccount`\" pulumi-lang-dotnet=\"`StorageAccount`\" pulumi-lang-go=\"`storageAccount`\" pulumi-lang-python=\"`storage_account`\" pulumi-lang-yaml=\"`storageAccount`\" pulumi-lang-java=\"`storageAccount`\"\u003e`storage_account`\u003c/span\u003e blocks as defined below.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags that should be assigned to the Linux Web App.\n"},"virtualNetworkBackupRestoreEnabled":{"type":"boolean","description":"Whether backup and restore operations over the linked virtual network are enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"virtualNetworkSubnetId":{"type":"string","description":"The subnet id which will be used by this Web App Slot for [regional virtual network integration](https://docs.microsoft.com/en-us/azure/app-service/overview-vnet-integration#regional-virtual-network-integration).\n\n\u003e **Note:** The AzureRM Terraform provider provides regional virtual network integration via the standalone resource\u003cspan pulumi-lang-nodejs=\" appServiceVirtualNetworkSwiftConnection \" pulumi-lang-dotnet=\" AppServiceVirtualNetworkSwiftConnection \" pulumi-lang-go=\" appServiceVirtualNetworkSwiftConnection \" pulumi-lang-python=\" app_service_virtual_network_swift_connection \" pulumi-lang-yaml=\" appServiceVirtualNetworkSwiftConnection \" pulumi-lang-java=\" appServiceVirtualNetworkSwiftConnection \"\u003e app_service_virtual_network_swift_connection \u003c/span\u003eand in-line within this resource using the \u003cspan pulumi-lang-nodejs=\"`virtualNetworkSubnetId`\" pulumi-lang-dotnet=\"`VirtualNetworkSubnetId`\" pulumi-lang-go=\"`virtualNetworkSubnetId`\" pulumi-lang-python=\"`virtual_network_subnet_id`\" pulumi-lang-yaml=\"`virtualNetworkSubnetId`\" pulumi-lang-java=\"`virtualNetworkSubnetId`\"\u003e`virtual_network_subnet_id`\u003c/span\u003e property. You cannot use both methods simultaneously. If the virtual network is set via the resource \u003cspan pulumi-lang-nodejs=\"`appServiceVirtualNetworkSwiftConnection`\" pulumi-lang-dotnet=\"`AppServiceVirtualNetworkSwiftConnection`\" pulumi-lang-go=\"`appServiceVirtualNetworkSwiftConnection`\" pulumi-lang-python=\"`app_service_virtual_network_swift_connection`\" pulumi-lang-yaml=\"`appServiceVirtualNetworkSwiftConnection`\" pulumi-lang-java=\"`appServiceVirtualNetworkSwiftConnection`\"\u003e`app_service_virtual_network_swift_connection`\u003c/span\u003e then \u003cspan pulumi-lang-nodejs=\"`ignoreChanges`\" pulumi-lang-dotnet=\"`IgnoreChanges`\" pulumi-lang-go=\"`ignoreChanges`\" pulumi-lang-python=\"`ignore_changes`\" pulumi-lang-yaml=\"`ignoreChanges`\" pulumi-lang-java=\"`ignoreChanges`\"\u003e`ignore_changes`\u003c/span\u003e should be used in the web app slot configuration.\n\n\u003e **Note:** Assigning the \u003cspan pulumi-lang-nodejs=\"`virtualNetworkSubnetId`\" pulumi-lang-dotnet=\"`VirtualNetworkSubnetId`\" pulumi-lang-go=\"`virtualNetworkSubnetId`\" pulumi-lang-python=\"`virtual_network_subnet_id`\" pulumi-lang-yaml=\"`virtualNetworkSubnetId`\" pulumi-lang-java=\"`virtualNetworkSubnetId`\"\u003e`virtual_network_subnet_id`\u003c/span\u003e property requires [RBAC permissions on the subnet](https://docs.microsoft.com/en-us/azure/app-service/overview-vnet-integration#permissions)\n"},"vnetImagePullEnabled":{"type":"boolean","description":"Should the traffic for the image pull be routed over virtual network enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** The feature can also be enabled via the app setting `WEBSITE_PULL_IMAGE_OVER_VNET`. Must be set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e when running in an App Service Environment.\n"},"webdeployPublishBasicAuthenticationEnabled":{"type":"boolean","description":"Should the default WebDeploy Basic Authentication publishing credentials enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n\n\u003e **Note:** Setting this value to true will disable the ability to use \u003cspan pulumi-lang-nodejs=\"`zipDeployFile`\" pulumi-lang-dotnet=\"`ZipDeployFile`\" pulumi-lang-go=\"`zipDeployFile`\" pulumi-lang-python=\"`zip_deploy_file`\" pulumi-lang-yaml=\"`zipDeployFile`\" pulumi-lang-java=\"`zipDeployFile`\"\u003e`zip_deploy_file`\u003c/span\u003e which currently relies on the default publishing profile.\n"},"zipDeployFile":{"type":"string","description":"The local path and filename of the Zip packaged application to deploy to this Linux Web App.\n\n\u003e **Note:** Using this value requires `WEBSITE_RUN_FROM_PACKAGE=1` to be set on the App in \u003cspan pulumi-lang-nodejs=\"`appSettings`\" pulumi-lang-dotnet=\"`AppSettings`\" pulumi-lang-go=\"`appSettings`\" pulumi-lang-python=\"`app_settings`\" pulumi-lang-yaml=\"`appSettings`\" pulumi-lang-java=\"`appSettings`\"\u003e`app_settings`\u003c/span\u003e. Refer to the [Azure docs](https://docs.microsoft.com/en-us/azure/app-service/deploy-run-package) for further details.\n"}},"required":["appMetadata","appServiceId","customDomainVerificationId","defaultHostname","hostingEnvironmentId","keyVaultReferenceIdentityId","kind","name","outboundIpAddressLists","outboundIpAddresses","possibleOutboundIpAddressLists","possibleOutboundIpAddresses","siteConfig","siteCredentials","zipDeployFile"],"inputProperties":{"appServiceId":{"type":"string","description":"The ID of the Linux Web App this Deployment Slot will be part of.\n"},"appSettings":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of key-value pairs of App Settings.\n"},"authSettings":{"$ref":"#/types/azure:appservice/LinuxWebAppSlotAuthSettings:LinuxWebAppSlotAuthSettings","description":"An \u003cspan pulumi-lang-nodejs=\"`authSettings`\" pulumi-lang-dotnet=\"`AuthSettings`\" pulumi-lang-go=\"`authSettings`\" pulumi-lang-python=\"`auth_settings`\" pulumi-lang-yaml=\"`authSettings`\" pulumi-lang-java=\"`authSettings`\"\u003e`auth_settings`\u003c/span\u003e block as defined below.\n"},"authSettingsV2":{"$ref":"#/types/azure:appservice/LinuxWebAppSlotAuthSettingsV2:LinuxWebAppSlotAuthSettingsV2","description":"An \u003cspan pulumi-lang-nodejs=\"`authSettingsV2`\" pulumi-lang-dotnet=\"`AuthSettingsV2`\" pulumi-lang-go=\"`authSettingsV2`\" pulumi-lang-python=\"`auth_settings_v2`\" pulumi-lang-yaml=\"`authSettingsV2`\" pulumi-lang-java=\"`authSettingsV2`\"\u003e`auth_settings_v2`\u003c/span\u003e block as defined below.\n"},"backup":{"$ref":"#/types/azure:appservice/LinuxWebAppSlotBackup:LinuxWebAppSlotBackup","description":"A \u003cspan pulumi-lang-nodejs=\"`backup`\" pulumi-lang-dotnet=\"`Backup`\" pulumi-lang-go=\"`backup`\" pulumi-lang-python=\"`backup`\" pulumi-lang-yaml=\"`backup`\" pulumi-lang-java=\"`backup`\"\u003e`backup`\u003c/span\u003e block as defined below.\n"},"clientAffinityEnabled":{"type":"boolean","description":"Should Client Affinity be enabled?\n"},"clientCertificateEnabled":{"type":"boolean","description":"Should Client Certificates be enabled?\n"},"clientCertificateExclusionPaths":{"type":"string","description":"Paths to exclude when using client certificates, separated by ;\n"},"clientCertificateMode":{"type":"string","description":"The Client Certificate mode. Possible values are `Required`, `Optional`, and `OptionalInteractiveUser`. This property has no effect when \u003cspan pulumi-lang-nodejs=\"`clientCertEnabled`\" pulumi-lang-dotnet=\"`ClientCertEnabled`\" pulumi-lang-go=\"`clientCertEnabled`\" pulumi-lang-python=\"`client_cert_enabled`\" pulumi-lang-yaml=\"`clientCertEnabled`\" pulumi-lang-java=\"`clientCertEnabled`\"\u003e`client_cert_enabled`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Defaults to `Required`.\n"},"connectionStrings":{"type":"array","items":{"$ref":"#/types/azure:appservice/LinuxWebAppSlotConnectionString:LinuxWebAppSlotConnectionString"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`connectionString`\" pulumi-lang-dotnet=\"`ConnectionString`\" pulumi-lang-go=\"`connectionString`\" pulumi-lang-python=\"`connection_string`\" pulumi-lang-yaml=\"`connectionString`\" pulumi-lang-java=\"`connectionString`\"\u003e`connection_string`\u003c/span\u003e blocks as defined below.\n"},"enabled":{"type":"boolean","description":"Should the Linux Web App be enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"ftpPublishBasicAuthenticationEnabled":{"type":"boolean","description":"Should the default FTP Basic Authentication publishing profile be enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"httpsOnly":{"type":"boolean","description":"Should the Linux Web App require HTTPS connections. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"identity":{"$ref":"#/types/azure:appservice/LinuxWebAppSlotIdentity:LinuxWebAppSlotIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"keyVaultReferenceIdentityId":{"type":"string","description":"The User Assigned Identity ID used for accessing KeyVault secrets. The identity must be assigned to the application in the \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block. [For more information see - Access vaults with a user-assigned identity](https://docs.microsoft.com/azure/app-service/app-service-key-vault-references#access-vaults-with-a-user-assigned-identity).\n"},"logs":{"$ref":"#/types/azure:appservice/LinuxWebAppSlotLogs:LinuxWebAppSlotLogs","description":"A \u003cspan pulumi-lang-nodejs=\"`logs`\" pulumi-lang-dotnet=\"`Logs`\" pulumi-lang-go=\"`logs`\" pulumi-lang-python=\"`logs`\" pulumi-lang-yaml=\"`logs`\" pulumi-lang-java=\"`logs`\"\u003e`logs`\u003c/span\u003e block as defined below.\n"},"name":{"type":"string","description":"The name which should be used for this Linux Web App Slot. Changing this forces a new Linux Web App Slot to be created.\n\n\u003e **Note:** Terraform will perform a name availability check as part of the creation progress, if this Web App is part of an App Service Environment terraform will require Read permission on the ASE for this to complete reliably.\n","willReplaceOnChanges":true},"publicNetworkAccessEnabled":{"type":"boolean","description":"Should public network access be enabled for the Web App. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"servicePlanId":{"type":"string","description":"The ID of the Service Plan in which to run this slot. If not specified the same Service Plan as the Linux Web App will be used.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`servicePlanId`\" pulumi-lang-dotnet=\"`ServicePlanId`\" pulumi-lang-go=\"`servicePlanId`\" pulumi-lang-python=\"`service_plan_id`\" pulumi-lang-yaml=\"`servicePlanId`\" pulumi-lang-java=\"`servicePlanId`\"\u003e`service_plan_id`\u003c/span\u003e should only be specified if it differs from the Service Plan of the associated Linux Web App.\n"},"siteConfig":{"$ref":"#/types/azure:appservice/LinuxWebAppSlotSiteConfig:LinuxWebAppSlotSiteConfig","description":"A \u003cspan pulumi-lang-nodejs=\"`siteConfig`\" pulumi-lang-dotnet=\"`SiteConfig`\" pulumi-lang-go=\"`siteConfig`\" pulumi-lang-python=\"`site_config`\" pulumi-lang-yaml=\"`siteConfig`\" pulumi-lang-java=\"`siteConfig`\"\u003e`site_config`\u003c/span\u003e block as defined below.\n"},"storageAccounts":{"type":"array","items":{"$ref":"#/types/azure:appservice/LinuxWebAppSlotStorageAccount:LinuxWebAppSlotStorageAccount"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`storageAccount`\" pulumi-lang-dotnet=\"`StorageAccount`\" pulumi-lang-go=\"`storageAccount`\" pulumi-lang-python=\"`storage_account`\" pulumi-lang-yaml=\"`storageAccount`\" pulumi-lang-java=\"`storageAccount`\"\u003e`storage_account`\u003c/span\u003e blocks as defined below.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags that should be assigned to the Linux Web App.\n"},"virtualNetworkBackupRestoreEnabled":{"type":"boolean","description":"Whether backup and restore operations over the linked virtual network are enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"virtualNetworkSubnetId":{"type":"string","description":"The subnet id which will be used by this Web App Slot for [regional virtual network integration](https://docs.microsoft.com/en-us/azure/app-service/overview-vnet-integration#regional-virtual-network-integration).\n\n\u003e **Note:** The AzureRM Terraform provider provides regional virtual network integration via the standalone resource\u003cspan pulumi-lang-nodejs=\" appServiceVirtualNetworkSwiftConnection \" pulumi-lang-dotnet=\" AppServiceVirtualNetworkSwiftConnection \" pulumi-lang-go=\" appServiceVirtualNetworkSwiftConnection \" pulumi-lang-python=\" app_service_virtual_network_swift_connection \" pulumi-lang-yaml=\" appServiceVirtualNetworkSwiftConnection \" pulumi-lang-java=\" appServiceVirtualNetworkSwiftConnection \"\u003e app_service_virtual_network_swift_connection \u003c/span\u003eand in-line within this resource using the \u003cspan pulumi-lang-nodejs=\"`virtualNetworkSubnetId`\" pulumi-lang-dotnet=\"`VirtualNetworkSubnetId`\" pulumi-lang-go=\"`virtualNetworkSubnetId`\" pulumi-lang-python=\"`virtual_network_subnet_id`\" pulumi-lang-yaml=\"`virtualNetworkSubnetId`\" pulumi-lang-java=\"`virtualNetworkSubnetId`\"\u003e`virtual_network_subnet_id`\u003c/span\u003e property. You cannot use both methods simultaneously. If the virtual network is set via the resource \u003cspan pulumi-lang-nodejs=\"`appServiceVirtualNetworkSwiftConnection`\" pulumi-lang-dotnet=\"`AppServiceVirtualNetworkSwiftConnection`\" pulumi-lang-go=\"`appServiceVirtualNetworkSwiftConnection`\" pulumi-lang-python=\"`app_service_virtual_network_swift_connection`\" pulumi-lang-yaml=\"`appServiceVirtualNetworkSwiftConnection`\" pulumi-lang-java=\"`appServiceVirtualNetworkSwiftConnection`\"\u003e`app_service_virtual_network_swift_connection`\u003c/span\u003e then \u003cspan pulumi-lang-nodejs=\"`ignoreChanges`\" pulumi-lang-dotnet=\"`IgnoreChanges`\" pulumi-lang-go=\"`ignoreChanges`\" pulumi-lang-python=\"`ignore_changes`\" pulumi-lang-yaml=\"`ignoreChanges`\" pulumi-lang-java=\"`ignoreChanges`\"\u003e`ignore_changes`\u003c/span\u003e should be used in the web app slot configuration.\n\n\u003e **Note:** Assigning the \u003cspan pulumi-lang-nodejs=\"`virtualNetworkSubnetId`\" pulumi-lang-dotnet=\"`VirtualNetworkSubnetId`\" pulumi-lang-go=\"`virtualNetworkSubnetId`\" pulumi-lang-python=\"`virtual_network_subnet_id`\" pulumi-lang-yaml=\"`virtualNetworkSubnetId`\" pulumi-lang-java=\"`virtualNetworkSubnetId`\"\u003e`virtual_network_subnet_id`\u003c/span\u003e property requires [RBAC permissions on the subnet](https://docs.microsoft.com/en-us/azure/app-service/overview-vnet-integration#permissions)\n"},"vnetImagePullEnabled":{"type":"boolean","description":"Should the traffic for the image pull be routed over virtual network enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** The feature can also be enabled via the app setting `WEBSITE_PULL_IMAGE_OVER_VNET`. Must be set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e when running in an App Service Environment.\n"},"webdeployPublishBasicAuthenticationEnabled":{"type":"boolean","description":"Should the default WebDeploy Basic Authentication publishing credentials enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n\n\u003e **Note:** Setting this value to true will disable the ability to use \u003cspan pulumi-lang-nodejs=\"`zipDeployFile`\" pulumi-lang-dotnet=\"`ZipDeployFile`\" pulumi-lang-go=\"`zipDeployFile`\" pulumi-lang-python=\"`zip_deploy_file`\" pulumi-lang-yaml=\"`zipDeployFile`\" pulumi-lang-java=\"`zipDeployFile`\"\u003e`zip_deploy_file`\u003c/span\u003e which currently relies on the default publishing profile.\n"},"zipDeployFile":{"type":"string","description":"The local path and filename of the Zip packaged application to deploy to this Linux Web App.\n\n\u003e **Note:** Using this value requires `WEBSITE_RUN_FROM_PACKAGE=1` to be set on the App in \u003cspan pulumi-lang-nodejs=\"`appSettings`\" pulumi-lang-dotnet=\"`AppSettings`\" pulumi-lang-go=\"`appSettings`\" pulumi-lang-python=\"`app_settings`\" pulumi-lang-yaml=\"`appSettings`\" pulumi-lang-java=\"`appSettings`\"\u003e`app_settings`\u003c/span\u003e. Refer to the [Azure docs](https://docs.microsoft.com/en-us/azure/app-service/deploy-run-package) for further details.\n"}},"requiredInputs":["appServiceId","siteConfig"],"stateInputs":{"description":"Input properties used for looking up and filtering LinuxWebAppSlot resources.\n","properties":{"appMetadata":{"type":"object","additionalProperties":{"type":"string"},"description":"A \u003cspan pulumi-lang-nodejs=\"`appMetadata`\" pulumi-lang-dotnet=\"`AppMetadata`\" pulumi-lang-go=\"`appMetadata`\" pulumi-lang-python=\"`app_metadata`\" pulumi-lang-yaml=\"`appMetadata`\" pulumi-lang-java=\"`appMetadata`\"\u003e`app_metadata`\u003c/span\u003e.\n"},"appServiceId":{"type":"string","description":"The ID of the Linux Web App this Deployment Slot will be part of.\n"},"appSettings":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of key-value pairs of App Settings.\n"},"authSettings":{"$ref":"#/types/azure:appservice/LinuxWebAppSlotAuthSettings:LinuxWebAppSlotAuthSettings","description":"An \u003cspan pulumi-lang-nodejs=\"`authSettings`\" pulumi-lang-dotnet=\"`AuthSettings`\" pulumi-lang-go=\"`authSettings`\" pulumi-lang-python=\"`auth_settings`\" pulumi-lang-yaml=\"`authSettings`\" pulumi-lang-java=\"`authSettings`\"\u003e`auth_settings`\u003c/span\u003e block as defined below.\n"},"authSettingsV2":{"$ref":"#/types/azure:appservice/LinuxWebAppSlotAuthSettingsV2:LinuxWebAppSlotAuthSettingsV2","description":"An \u003cspan pulumi-lang-nodejs=\"`authSettingsV2`\" pulumi-lang-dotnet=\"`AuthSettingsV2`\" pulumi-lang-go=\"`authSettingsV2`\" pulumi-lang-python=\"`auth_settings_v2`\" pulumi-lang-yaml=\"`authSettingsV2`\" pulumi-lang-java=\"`authSettingsV2`\"\u003e`auth_settings_v2`\u003c/span\u003e block as defined below.\n"},"backup":{"$ref":"#/types/azure:appservice/LinuxWebAppSlotBackup:LinuxWebAppSlotBackup","description":"A \u003cspan pulumi-lang-nodejs=\"`backup`\" pulumi-lang-dotnet=\"`Backup`\" pulumi-lang-go=\"`backup`\" pulumi-lang-python=\"`backup`\" pulumi-lang-yaml=\"`backup`\" pulumi-lang-java=\"`backup`\"\u003e`backup`\u003c/span\u003e block as defined below.\n"},"clientAffinityEnabled":{"type":"boolean","description":"Should Client Affinity be enabled?\n"},"clientCertificateEnabled":{"type":"boolean","description":"Should Client Certificates be enabled?\n"},"clientCertificateExclusionPaths":{"type":"string","description":"Paths to exclude when using client certificates, separated by ;\n"},"clientCertificateMode":{"type":"string","description":"The Client Certificate mode. Possible values are `Required`, `Optional`, and `OptionalInteractiveUser`. This property has no effect when \u003cspan pulumi-lang-nodejs=\"`clientCertEnabled`\" pulumi-lang-dotnet=\"`ClientCertEnabled`\" pulumi-lang-go=\"`clientCertEnabled`\" pulumi-lang-python=\"`client_cert_enabled`\" pulumi-lang-yaml=\"`clientCertEnabled`\" pulumi-lang-java=\"`clientCertEnabled`\"\u003e`client_cert_enabled`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Defaults to `Required`.\n"},"connectionStrings":{"type":"array","items":{"$ref":"#/types/azure:appservice/LinuxWebAppSlotConnectionString:LinuxWebAppSlotConnectionString"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`connectionString`\" pulumi-lang-dotnet=\"`ConnectionString`\" pulumi-lang-go=\"`connectionString`\" pulumi-lang-python=\"`connection_string`\" pulumi-lang-yaml=\"`connectionString`\" pulumi-lang-java=\"`connectionString`\"\u003e`connection_string`\u003c/span\u003e blocks as defined below.\n"},"customDomainVerificationId":{"type":"string","description":"The identifier used by App Service to perform domain ownership verification via DNS TXT record.\n","secret":true},"defaultHostname":{"type":"string","description":"The default hostname of the Linux Web App.\n"},"enabled":{"type":"boolean","description":"Should the Linux Web App be enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"ftpPublishBasicAuthenticationEnabled":{"type":"boolean","description":"Should the default FTP Basic Authentication publishing profile be enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"hostingEnvironmentId":{"type":"string","description":"The ID of the App Service Environment used by App Service Slot.\n"},"httpsOnly":{"type":"boolean","description":"Should the Linux Web App require HTTPS connections. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"identity":{"$ref":"#/types/azure:appservice/LinuxWebAppSlotIdentity:LinuxWebAppSlotIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"keyVaultReferenceIdentityId":{"type":"string","description":"The User Assigned Identity ID used for accessing KeyVault secrets. The identity must be assigned to the application in the \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block. [For more information see - Access vaults with a user-assigned identity](https://docs.microsoft.com/azure/app-service/app-service-key-vault-references#access-vaults-with-a-user-assigned-identity).\n"},"kind":{"type":"string","description":"The Kind value for this Linux Web App.\n"},"logs":{"$ref":"#/types/azure:appservice/LinuxWebAppSlotLogs:LinuxWebAppSlotLogs","description":"A \u003cspan pulumi-lang-nodejs=\"`logs`\" pulumi-lang-dotnet=\"`Logs`\" pulumi-lang-go=\"`logs`\" pulumi-lang-python=\"`logs`\" pulumi-lang-yaml=\"`logs`\" pulumi-lang-java=\"`logs`\"\u003e`logs`\u003c/span\u003e block as defined below.\n"},"name":{"type":"string","description":"The name which should be used for this Linux Web App Slot. Changing this forces a new Linux Web App Slot to be created.\n\n\u003e **Note:** Terraform will perform a name availability check as part of the creation progress, if this Web App is part of an App Service Environment terraform will require Read permission on the ASE for this to complete reliably.\n","willReplaceOnChanges":true},"outboundIpAddressLists":{"type":"array","items":{"type":"string"},"description":"A list of outbound IP addresses - such as `[\"52.23.25.3\", \"52.143.43.12\"]`\n"},"outboundIpAddresses":{"type":"string","description":"A comma-separated list of outbound IP addresses - such as `52.23.25.3,52.143.43.12`.\n"},"possibleOutboundIpAddressLists":{"type":"array","items":{"type":"string"},"description":"A \u003cspan pulumi-lang-nodejs=\"`possibleOutboundIpAddressList`\" pulumi-lang-dotnet=\"`PossibleOutboundIpAddressList`\" pulumi-lang-go=\"`possibleOutboundIpAddressList`\" pulumi-lang-python=\"`possible_outbound_ip_address_list`\" pulumi-lang-yaml=\"`possibleOutboundIpAddressList`\" pulumi-lang-java=\"`possibleOutboundIpAddressList`\"\u003e`possible_outbound_ip_address_list`\u003c/span\u003e.\n"},"possibleOutboundIpAddresses":{"type":"string","description":"A comma-separated list of outbound IP addresses - such as `52.23.25.3,52.143.43.12,52.143.43.17` - not all of which are necessarily in use. Superset of \u003cspan pulumi-lang-nodejs=\"`outboundIpAddresses`\" pulumi-lang-dotnet=\"`OutboundIpAddresses`\" pulumi-lang-go=\"`outboundIpAddresses`\" pulumi-lang-python=\"`outbound_ip_addresses`\" pulumi-lang-yaml=\"`outboundIpAddresses`\" pulumi-lang-java=\"`outboundIpAddresses`\"\u003e`outbound_ip_addresses`\u003c/span\u003e.\n"},"publicNetworkAccessEnabled":{"type":"boolean","description":"Should public network access be enabled for the Web App. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"servicePlanId":{"type":"string","description":"The ID of the Service Plan in which to run this slot. If not specified the same Service Plan as the Linux Web App will be used.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`servicePlanId`\" pulumi-lang-dotnet=\"`ServicePlanId`\" pulumi-lang-go=\"`servicePlanId`\" pulumi-lang-python=\"`service_plan_id`\" pulumi-lang-yaml=\"`servicePlanId`\" pulumi-lang-java=\"`servicePlanId`\"\u003e`service_plan_id`\u003c/span\u003e should only be specified if it differs from the Service Plan of the associated Linux Web App.\n"},"siteConfig":{"$ref":"#/types/azure:appservice/LinuxWebAppSlotSiteConfig:LinuxWebAppSlotSiteConfig","description":"A \u003cspan pulumi-lang-nodejs=\"`siteConfig`\" pulumi-lang-dotnet=\"`SiteConfig`\" pulumi-lang-go=\"`siteConfig`\" pulumi-lang-python=\"`site_config`\" pulumi-lang-yaml=\"`siteConfig`\" pulumi-lang-java=\"`siteConfig`\"\u003e`site_config`\u003c/span\u003e block as defined below.\n"},"siteCredentials":{"type":"array","items":{"$ref":"#/types/azure:appservice/LinuxWebAppSlotSiteCredential:LinuxWebAppSlotSiteCredential"},"description":"A \u003cspan pulumi-lang-nodejs=\"`siteCredential`\" pulumi-lang-dotnet=\"`SiteCredential`\" pulumi-lang-go=\"`siteCredential`\" pulumi-lang-python=\"`site_credential`\" pulumi-lang-yaml=\"`siteCredential`\" pulumi-lang-java=\"`siteCredential`\"\u003e`site_credential`\u003c/span\u003e block as defined below.\n","secret":true},"storageAccounts":{"type":"array","items":{"$ref":"#/types/azure:appservice/LinuxWebAppSlotStorageAccount:LinuxWebAppSlotStorageAccount"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`storageAccount`\" pulumi-lang-dotnet=\"`StorageAccount`\" pulumi-lang-go=\"`storageAccount`\" pulumi-lang-python=\"`storage_account`\" pulumi-lang-yaml=\"`storageAccount`\" pulumi-lang-java=\"`storageAccount`\"\u003e`storage_account`\u003c/span\u003e blocks as defined below.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags that should be assigned to the Linux Web App.\n"},"virtualNetworkBackupRestoreEnabled":{"type":"boolean","description":"Whether backup and restore operations over the linked virtual network are enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"virtualNetworkSubnetId":{"type":"string","description":"The subnet id which will be used by this Web App Slot for [regional virtual network integration](https://docs.microsoft.com/en-us/azure/app-service/overview-vnet-integration#regional-virtual-network-integration).\n\n\u003e **Note:** The AzureRM Terraform provider provides regional virtual network integration via the standalone resource\u003cspan pulumi-lang-nodejs=\" appServiceVirtualNetworkSwiftConnection \" pulumi-lang-dotnet=\" AppServiceVirtualNetworkSwiftConnection \" pulumi-lang-go=\" appServiceVirtualNetworkSwiftConnection \" pulumi-lang-python=\" app_service_virtual_network_swift_connection \" pulumi-lang-yaml=\" appServiceVirtualNetworkSwiftConnection \" pulumi-lang-java=\" appServiceVirtualNetworkSwiftConnection \"\u003e app_service_virtual_network_swift_connection \u003c/span\u003eand in-line within this resource using the \u003cspan pulumi-lang-nodejs=\"`virtualNetworkSubnetId`\" pulumi-lang-dotnet=\"`VirtualNetworkSubnetId`\" pulumi-lang-go=\"`virtualNetworkSubnetId`\" pulumi-lang-python=\"`virtual_network_subnet_id`\" pulumi-lang-yaml=\"`virtualNetworkSubnetId`\" pulumi-lang-java=\"`virtualNetworkSubnetId`\"\u003e`virtual_network_subnet_id`\u003c/span\u003e property. You cannot use both methods simultaneously. If the virtual network is set via the resource \u003cspan pulumi-lang-nodejs=\"`appServiceVirtualNetworkSwiftConnection`\" pulumi-lang-dotnet=\"`AppServiceVirtualNetworkSwiftConnection`\" pulumi-lang-go=\"`appServiceVirtualNetworkSwiftConnection`\" pulumi-lang-python=\"`app_service_virtual_network_swift_connection`\" pulumi-lang-yaml=\"`appServiceVirtualNetworkSwiftConnection`\" pulumi-lang-java=\"`appServiceVirtualNetworkSwiftConnection`\"\u003e`app_service_virtual_network_swift_connection`\u003c/span\u003e then \u003cspan pulumi-lang-nodejs=\"`ignoreChanges`\" pulumi-lang-dotnet=\"`IgnoreChanges`\" pulumi-lang-go=\"`ignoreChanges`\" pulumi-lang-python=\"`ignore_changes`\" pulumi-lang-yaml=\"`ignoreChanges`\" pulumi-lang-java=\"`ignoreChanges`\"\u003e`ignore_changes`\u003c/span\u003e should be used in the web app slot configuration.\n\n\u003e **Note:** Assigning the \u003cspan pulumi-lang-nodejs=\"`virtualNetworkSubnetId`\" pulumi-lang-dotnet=\"`VirtualNetworkSubnetId`\" pulumi-lang-go=\"`virtualNetworkSubnetId`\" pulumi-lang-python=\"`virtual_network_subnet_id`\" pulumi-lang-yaml=\"`virtualNetworkSubnetId`\" pulumi-lang-java=\"`virtualNetworkSubnetId`\"\u003e`virtual_network_subnet_id`\u003c/span\u003e property requires [RBAC permissions on the subnet](https://docs.microsoft.com/en-us/azure/app-service/overview-vnet-integration#permissions)\n"},"vnetImagePullEnabled":{"type":"boolean","description":"Should the traffic for the image pull be routed over virtual network enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** The feature can also be enabled via the app setting `WEBSITE_PULL_IMAGE_OVER_VNET`. Must be set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e when running in an App Service Environment.\n"},"webdeployPublishBasicAuthenticationEnabled":{"type":"boolean","description":"Should the default WebDeploy Basic Authentication publishing credentials enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n\n\u003e **Note:** Setting this value to true will disable the ability to use \u003cspan pulumi-lang-nodejs=\"`zipDeployFile`\" pulumi-lang-dotnet=\"`ZipDeployFile`\" pulumi-lang-go=\"`zipDeployFile`\" pulumi-lang-python=\"`zip_deploy_file`\" pulumi-lang-yaml=\"`zipDeployFile`\" pulumi-lang-java=\"`zipDeployFile`\"\u003e`zip_deploy_file`\u003c/span\u003e which currently relies on the default publishing profile.\n"},"zipDeployFile":{"type":"string","description":"The local path and filename of the Zip packaged application to deploy to this Linux Web App.\n\n\u003e **Note:** Using this value requires `WEBSITE_RUN_FROM_PACKAGE=1` to be set on the App in \u003cspan pulumi-lang-nodejs=\"`appSettings`\" pulumi-lang-dotnet=\"`AppSettings`\" pulumi-lang-go=\"`appSettings`\" pulumi-lang-python=\"`app_settings`\" pulumi-lang-yaml=\"`appSettings`\" pulumi-lang-java=\"`appSettings`\"\u003e`app_settings`\u003c/span\u003e. Refer to the [Azure docs](https://docs.microsoft.com/en-us/azure/app-service/deploy-run-package) for further details.\n"}},"type":"object"}},"azure:appservice/managedCertificate:ManagedCertificate":{"description":"This certificate can be used to secure custom domains on App Services (Windows and Linux) hosted on an App Service Plan of Basic and above (free and shared tiers are not supported).\n\n\u003e **Note:** A certificate is valid for six months, and about a month before the certificate’s expiration date, App Services renews/rotates the certificate. This is managed by Azure and doesn't require this resource to be changed or reprovisioned. It will change the \u003cspan pulumi-lang-nodejs=\"`thumbprint`\" pulumi-lang-dotnet=\"`Thumbprint`\" pulumi-lang-go=\"`thumbprint`\" pulumi-lang-python=\"`thumbprint`\" pulumi-lang-yaml=\"`thumbprint`\" pulumi-lang-java=\"`thumbprint`\"\u003e`thumbprint`\u003c/span\u003e computed attribute the next time the resource is refreshed after rotation occurs, so keep that in mind if you have any dependencies on this attribute directly.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\nimport * as std from \"@pulumi/std\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst example = azure.dns.getZoneOutput({\n    name: \"mydomain.com\",\n    resourceGroupName: exampleResourceGroup.name,\n});\nconst examplePlan = new azure.appservice.Plan(\"example\", {\n    name: \"example-plan\",\n    location: exampleResourceGroup.location,\n    resourceGroupName: exampleResourceGroup.name,\n    kind: \"Linux\",\n    reserved: true,\n    sku: {\n        tier: \"Basic\",\n        size: \"B1\",\n    },\n});\nconst exampleAppService = new azure.appservice.AppService(\"example\", {\n    name: \"example-app\",\n    location: exampleResourceGroup.location,\n    resourceGroupName: exampleResourceGroup.name,\n    appServicePlanId: examplePlan.id,\n});\nconst exampleTxtRecord = new azure.dns.TxtRecord(\"example\", {\n    name: \"asuid.mycustomhost.contoso.com\",\n    zoneName: example.apply(example =\u003e example.name),\n    resourceGroupName: example.apply(example =\u003e example.resourceGroupName),\n    ttl: 300,\n    records: [{\n        value: exampleAppService.customDomainVerificationId,\n    }],\n});\nconst exampleCNameRecord = new azure.dns.CNameRecord(\"example\", {\n    name: \"example-adcr\",\n    zoneName: example.apply(example =\u003e example.name),\n    resourceGroupName: example.apply(example =\u003e example.resourceGroupName),\n    ttl: 300,\n    record: exampleAppService.defaultSiteHostname,\n});\nconst exampleCustomHostnameBinding = new azure.appservice.CustomHostnameBinding(\"example\", {\n    hostname: std.joinOutput({\n        separator: \".\",\n        input: [\n            exampleCNameRecord.name,\n            exampleCNameRecord.zoneName,\n        ],\n    }).apply(invoke =\u003e invoke.result),\n    appServiceName: exampleAppService.name,\n    resourceGroupName: exampleResourceGroup.name,\n});\nconst exampleManagedCertificate = new azure.appservice.ManagedCertificate(\"example\", {customHostnameBindingId: exampleCustomHostnameBinding.id});\nconst exampleCertificateBinding = new azure.appservice.CertificateBinding(\"example\", {\n    hostnameBindingId: exampleCustomHostnameBinding.id,\n    certificateId: exampleManagedCertificate.id,\n    sslState: \"SniEnabled\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\nimport pulumi_std as std\n\nexample_resource_group = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample = azure.dns.get_zone_output(name=\"mydomain.com\",\n    resource_group_name=example_resource_group.name)\nexample_plan = azure.appservice.Plan(\"example\",\n    name=\"example-plan\",\n    location=example_resource_group.location,\n    resource_group_name=example_resource_group.name,\n    kind=\"Linux\",\n    reserved=True,\n    sku={\n        \"tier\": \"Basic\",\n        \"size\": \"B1\",\n    })\nexample_app_service = azure.appservice.AppService(\"example\",\n    name=\"example-app\",\n    location=example_resource_group.location,\n    resource_group_name=example_resource_group.name,\n    app_service_plan_id=example_plan.id)\nexample_txt_record = azure.dns.TxtRecord(\"example\",\n    name=\"asuid.mycustomhost.contoso.com\",\n    zone_name=example.name,\n    resource_group_name=example.resource_group_name,\n    ttl=300,\n    records=[{\n        \"value\": example_app_service.custom_domain_verification_id,\n    }])\nexample_c_name_record = azure.dns.CNameRecord(\"example\",\n    name=\"example-adcr\",\n    zone_name=example.name,\n    resource_group_name=example.resource_group_name,\n    ttl=300,\n    record=example_app_service.default_site_hostname)\nexample_custom_hostname_binding = azure.appservice.CustomHostnameBinding(\"example\",\n    hostname=std.join_output(separator=\".\",\n        input=[\n            example_c_name_record.name,\n            example_c_name_record.zone_name,\n        ]).apply(lambda invoke: invoke.result),\n    app_service_name=example_app_service.name,\n    resource_group_name=example_resource_group.name)\nexample_managed_certificate = azure.appservice.ManagedCertificate(\"example\", custom_hostname_binding_id=example_custom_hostname_binding.id)\nexample_certificate_binding = azure.appservice.CertificateBinding(\"example\",\n    hostname_binding_id=example_custom_hostname_binding.id,\n    certificate_id=example_managed_certificate.id,\n    ssl_state=\"SniEnabled\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleResourceGroup = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var example = Azure.Dns.GetZone.Invoke(new()\n    {\n        Name = \"mydomain.com\",\n        ResourceGroupName = exampleResourceGroup.Name,\n    });\n\n    var examplePlan = new Azure.AppService.Plan(\"example\", new()\n    {\n        Name = \"example-plan\",\n        Location = exampleResourceGroup.Location,\n        ResourceGroupName = exampleResourceGroup.Name,\n        Kind = \"Linux\",\n        Reserved = true,\n        Sku = new Azure.AppService.Inputs.PlanSkuArgs\n        {\n            Tier = \"Basic\",\n            Size = \"B1\",\n        },\n    });\n\n    var exampleAppService = new Azure.AppService.AppService(\"example\", new()\n    {\n        Name = \"example-app\",\n        Location = exampleResourceGroup.Location,\n        ResourceGroupName = exampleResourceGroup.Name,\n        AppServicePlanId = examplePlan.Id,\n    });\n\n    var exampleTxtRecord = new Azure.Dns.TxtRecord(\"example\", new()\n    {\n        Name = \"asuid.mycustomhost.contoso.com\",\n        ZoneName = example.Apply(getZoneResult =\u003e getZoneResult.Name),\n        ResourceGroupName = example.Apply(getZoneResult =\u003e getZoneResult.ResourceGroupName),\n        Ttl = 300,\n        Records = new[]\n        {\n            new Azure.Dns.Inputs.TxtRecordRecordArgs\n            {\n                Value = exampleAppService.CustomDomainVerificationId,\n            },\n        },\n    });\n\n    var exampleCNameRecord = new Azure.Dns.CNameRecord(\"example\", new()\n    {\n        Name = \"example-adcr\",\n        ZoneName = example.Apply(getZoneResult =\u003e getZoneResult.Name),\n        ResourceGroupName = example.Apply(getZoneResult =\u003e getZoneResult.ResourceGroupName),\n        Ttl = 300,\n        Record = exampleAppService.DefaultSiteHostname,\n    });\n\n    var exampleCustomHostnameBinding = new Azure.AppService.CustomHostnameBinding(\"example\", new()\n    {\n        Hostname = Std.Join.Invoke(new()\n        {\n            Separator = \".\",\n            Input = new[]\n            {\n                exampleCNameRecord.Name,\n                exampleCNameRecord.ZoneName,\n            },\n        }).Apply(invoke =\u003e invoke.Result),\n        AppServiceName = exampleAppService.Name,\n        ResourceGroupName = exampleResourceGroup.Name,\n    });\n\n    var exampleManagedCertificate = new Azure.AppService.ManagedCertificate(\"example\", new()\n    {\n        CustomHostnameBindingId = exampleCustomHostnameBinding.Id,\n    });\n\n    var exampleCertificateBinding = new Azure.AppService.CertificateBinding(\"example\", new()\n    {\n        HostnameBindingId = exampleCustomHostnameBinding.Id,\n        CertificateId = exampleManagedCertificate.Id,\n        SslState = \"SniEnabled\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/appservice\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/dns\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample := dns.LookupZoneOutput(ctx, dns.GetZoneOutputArgs{\n\t\t\tName:              pulumi.String(\"mydomain.com\"),\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t}, nil)\n\t\texamplePlan, err := appservice.NewPlan(ctx, \"example\", \u0026appservice.PlanArgs{\n\t\t\tName:              pulumi.String(\"example-plan\"),\n\t\t\tLocation:          exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tKind:              pulumi.Any(\"Linux\"),\n\t\t\tReserved:          pulumi.Bool(true),\n\t\t\tSku: \u0026appservice.PlanSkuArgs{\n\t\t\t\tTier: pulumi.String(\"Basic\"),\n\t\t\t\tSize: pulumi.String(\"B1\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAppService, err := appservice.NewAppService(ctx, \"example\", \u0026appservice.AppServiceArgs{\n\t\t\tName:              pulumi.String(\"example-app\"),\n\t\t\tLocation:          exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tAppServicePlanId:  examplePlan.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = dns.NewTxtRecord(ctx, \"example\", \u0026dns.TxtRecordArgs{\n\t\t\tName: pulumi.String(\"asuid.mycustomhost.contoso.com\"),\n\t\t\tZoneName: pulumi.String(example.ApplyT(func(example dns.GetZoneResult) (*string, error) {\n\t\t\t\treturn \u0026example.Name, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tResourceGroupName: pulumi.String(example.ApplyT(func(example dns.GetZoneResult) (*string, error) {\n\t\t\t\treturn \u0026example.ResourceGroupName, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tTtl: pulumi.Int(300),\n\t\t\tRecords: dns.TxtRecordRecordArray{\n\t\t\t\t\u0026dns.TxtRecordRecordArgs{\n\t\t\t\t\tValue: exampleAppService.CustomDomainVerificationId,\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleCNameRecord, err := dns.NewCNameRecord(ctx, \"example\", \u0026dns.CNameRecordArgs{\n\t\t\tName: pulumi.String(\"example-adcr\"),\n\t\t\tZoneName: pulumi.String(example.ApplyT(func(example dns.GetZoneResult) (*string, error) {\n\t\t\t\treturn \u0026example.Name, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tResourceGroupName: pulumi.String(example.ApplyT(func(example dns.GetZoneResult) (*string, error) {\n\t\t\t\treturn \u0026example.ResourceGroupName, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tTtl:    pulumi.Int(300),\n\t\t\tRecord: exampleAppService.DefaultSiteHostname,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleCustomHostnameBinding, err := appservice.NewCustomHostnameBinding(ctx, \"example\", \u0026appservice.CustomHostnameBindingArgs{\n\t\t\tHostname: pulumi.String(std.JoinOutput(ctx, std.JoinOutputArgs{\n\t\t\t\tSeparator: pulumi.String(\".\"),\n\t\t\t\tInput: pulumi.StringArray{\n\t\t\t\t\texampleCNameRecord.Name,\n\t\t\t\t\texampleCNameRecord.ZoneName,\n\t\t\t\t},\n\t\t\t}, nil).ApplyT(func(invoke std.JoinResult) (*string, error) {\n\t\t\t\treturn invoke.Result, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tAppServiceName:    exampleAppService.Name,\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleManagedCertificate, err := appservice.NewManagedCertificate(ctx, \"example\", \u0026appservice.ManagedCertificateArgs{\n\t\t\tCustomHostnameBindingId: exampleCustomHostnameBinding.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = appservice.NewCertificateBinding(ctx, \"example\", \u0026appservice.CertificateBindingArgs{\n\t\t\tHostnameBindingId: exampleCustomHostnameBinding.ID(),\n\t\t\tCertificateId:     exampleManagedCertificate.ID(),\n\t\t\tSslState:          pulumi.String(\"SniEnabled\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.dns.DnsFunctions;\nimport com.pulumi.azure.dns.inputs.GetZoneArgs;\nimport com.pulumi.azure.appservice.Plan;\nimport com.pulumi.azure.appservice.PlanArgs;\nimport com.pulumi.azure.appservice.inputs.PlanSkuArgs;\nimport com.pulumi.azure.appservice.AppService;\nimport com.pulumi.azure.appservice.AppServiceArgs;\nimport com.pulumi.azure.dns.TxtRecord;\nimport com.pulumi.azure.dns.TxtRecordArgs;\nimport com.pulumi.azure.dns.inputs.TxtRecordRecordArgs;\nimport com.pulumi.azure.dns.CNameRecord;\nimport com.pulumi.azure.dns.CNameRecordArgs;\nimport com.pulumi.azure.appservice.CustomHostnameBinding;\nimport com.pulumi.azure.appservice.CustomHostnameBindingArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.JoinArgs;\nimport com.pulumi.azure.appservice.ManagedCertificate;\nimport com.pulumi.azure.appservice.ManagedCertificateArgs;\nimport com.pulumi.azure.appservice.CertificateBinding;\nimport com.pulumi.azure.appservice.CertificateBindingArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var exampleResourceGroup = new ResourceGroup(\"exampleResourceGroup\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        final var example = DnsFunctions.getZone(GetZoneArgs.builder()\n            .name(\"mydomain.com\")\n            .resourceGroupName(exampleResourceGroup.name())\n            .build());\n\n        var examplePlan = new Plan(\"examplePlan\", PlanArgs.builder()\n            .name(\"example-plan\")\n            .location(exampleResourceGroup.location())\n            .resourceGroupName(exampleResourceGroup.name())\n            .kind(\"Linux\")\n            .reserved(true)\n            .sku(PlanSkuArgs.builder()\n                .tier(\"Basic\")\n                .size(\"B1\")\n                .build())\n            .build());\n\n        var exampleAppService = new AppService(\"exampleAppService\", AppServiceArgs.builder()\n            .name(\"example-app\")\n            .location(exampleResourceGroup.location())\n            .resourceGroupName(exampleResourceGroup.name())\n            .appServicePlanId(examplePlan.id())\n            .build());\n\n        var exampleTxtRecord = new TxtRecord(\"exampleTxtRecord\", TxtRecordArgs.builder()\n            .name(\"asuid.mycustomhost.contoso.com\")\n            .zoneName(example.applyValue(_example -\u003e _example.name()))\n            .resourceGroupName(example.applyValue(_example -\u003e _example.resourceGroupName()))\n            .ttl(300)\n            .records(TxtRecordRecordArgs.builder()\n                .value(exampleAppService.customDomainVerificationId())\n                .build())\n            .build());\n\n        var exampleCNameRecord = new CNameRecord(\"exampleCNameRecord\", CNameRecordArgs.builder()\n            .name(\"example-adcr\")\n            .zoneName(example.applyValue(_example -\u003e _example.name()))\n            .resourceGroupName(example.applyValue(_example -\u003e _example.resourceGroupName()))\n            .ttl(300)\n            .record(exampleAppService.defaultSiteHostname())\n            .build());\n\n        var exampleCustomHostnameBinding = new CustomHostnameBinding(\"exampleCustomHostnameBinding\", CustomHostnameBindingArgs.builder()\n            .hostname(StdFunctions.join(JoinArgs.builder()\n                .separator(\".\")\n                .input(                \n                    exampleCNameRecord.name(),\n                    exampleCNameRecord.zoneName())\n                .build()).applyValue(_invoke -\u003e _invoke.result()))\n            .appServiceName(exampleAppService.name())\n            .resourceGroupName(exampleResourceGroup.name())\n            .build());\n\n        var exampleManagedCertificate = new ManagedCertificate(\"exampleManagedCertificate\", ManagedCertificateArgs.builder()\n            .customHostnameBindingId(exampleCustomHostnameBinding.id())\n            .build());\n\n        var exampleCertificateBinding = new CertificateBinding(\"exampleCertificateBinding\", CertificateBindingArgs.builder()\n            .hostnameBindingId(exampleCustomHostnameBinding.id())\n            .certificateId(exampleManagedCertificate.id())\n            .sslState(\"SniEnabled\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleResourceGroup:\n    type: azure:core:ResourceGroup\n    name: example\n    properties:\n      name: example-resources\n      location: West Europe\n  examplePlan:\n    type: azure:appservice:Plan\n    name: example\n    properties:\n      name: example-plan\n      location: ${exampleResourceGroup.location}\n      resourceGroupName: ${exampleResourceGroup.name}\n      kind: Linux\n      reserved: true\n      sku:\n        tier: Basic\n        size: B1\n  exampleAppService:\n    type: azure:appservice:AppService\n    name: example\n    properties:\n      name: example-app\n      location: ${exampleResourceGroup.location}\n      resourceGroupName: ${exampleResourceGroup.name}\n      appServicePlanId: ${examplePlan.id}\n  exampleTxtRecord:\n    type: azure:dns:TxtRecord\n    name: example\n    properties:\n      name: asuid.mycustomhost.contoso.com\n      zoneName: ${example.name}\n      resourceGroupName: ${example.resourceGroupName}\n      ttl: 300\n      records:\n        - value: ${exampleAppService.customDomainVerificationId}\n  exampleCNameRecord:\n    type: azure:dns:CNameRecord\n    name: example\n    properties:\n      name: example-adcr\n      zoneName: ${example.name}\n      resourceGroupName: ${example.resourceGroupName}\n      ttl: 300\n      record: ${exampleAppService.defaultSiteHostname}\n  exampleCustomHostnameBinding:\n    type: azure:appservice:CustomHostnameBinding\n    name: example\n    properties:\n      hostname:\n        fn::invoke:\n          function: std:join\n          arguments:\n            separator: .\n            input:\n              - ${exampleCNameRecord.name}\n              - ${exampleCNameRecord.zoneName}\n          return: result\n      appServiceName: ${exampleAppService.name}\n      resourceGroupName: ${exampleResourceGroup.name}\n  exampleManagedCertificate:\n    type: azure:appservice:ManagedCertificate\n    name: example\n    properties:\n      customHostnameBindingId: ${exampleCustomHostnameBinding.id}\n  exampleCertificateBinding:\n    type: azure:appservice:CertificateBinding\n    name: example\n    properties:\n      hostnameBindingId: ${exampleCustomHostnameBinding.id}\n      certificateId: ${exampleManagedCertificate.id}\n      sslState: SniEnabled\nvariables:\n  example:\n    fn::invoke:\n      function: azure:dns:getZone\n      arguments:\n        name: mydomain.com\n        resourceGroupName: ${exampleResourceGroup.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nApp Service Managed Certificates can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:appservice/managedCertificate:ManagedCertificate example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resGroup1/providers/Microsoft.Web/certificates/customhost.contoso.com\n```\n\n","properties":{"canonicalName":{"type":"string","description":"The Canonical Name of the Certificate.\n"},"customHostnameBindingId":{"type":"string","description":"The ID of the App Service Custom Hostname Binding for the Certificate. Changing this forces a new App Service Managed Certificate to be created.\n"},"expirationDate":{"type":"string","description":"The expiration date of the Certificate.\n"},"friendlyName":{"type":"string","description":"The friendly name of the Certificate.\n"},"hostNames":{"type":"array","items":{"type":"string"},"description":"The list of Host Names for the Certificate.\n"},"issueDate":{"type":"string","description":"The Start date for the Certificate.\n"},"issuer":{"type":"string","description":"The issuer of the Certificate.\n"},"subjectName":{"type":"string","description":"The Subject Name for the Certificate.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the App Service Managed Certificate.\n"},"thumbprint":{"type":"string","description":"The Certificate Thumbprint.\n"}},"required":["canonicalName","customHostnameBindingId","expirationDate","friendlyName","hostNames","issueDate","issuer","subjectName","thumbprint"],"inputProperties":{"customHostnameBindingId":{"type":"string","description":"The ID of the App Service Custom Hostname Binding for the Certificate. Changing this forces a new App Service Managed Certificate to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the App Service Managed Certificate.\n"}},"requiredInputs":["customHostnameBindingId"],"stateInputs":{"description":"Input properties used for looking up and filtering ManagedCertificate resources.\n","properties":{"canonicalName":{"type":"string","description":"The Canonical Name of the Certificate.\n"},"customHostnameBindingId":{"type":"string","description":"The ID of the App Service Custom Hostname Binding for the Certificate. Changing this forces a new App Service Managed Certificate to be created.\n","willReplaceOnChanges":true},"expirationDate":{"type":"string","description":"The expiration date of the Certificate.\n"},"friendlyName":{"type":"string","description":"The friendly name of the Certificate.\n"},"hostNames":{"type":"array","items":{"type":"string"},"description":"The list of Host Names for the Certificate.\n"},"issueDate":{"type":"string","description":"The Start date for the Certificate.\n"},"issuer":{"type":"string","description":"The issuer of the Certificate.\n"},"subjectName":{"type":"string","description":"The Subject Name for the Certificate.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the App Service Managed Certificate.\n"},"thumbprint":{"type":"string","description":"The Certificate Thumbprint.\n"}},"type":"object"}},"azure:appservice/plan:Plan":{"description":"Manages an App Service Plan component.\n\n!\u003e **NOTE:** This resource has been deprecated in version 5.0 of the provider and will be removed in version 6.0. Please use \u003cspan pulumi-lang-nodejs=\"`azure.appservice.ServicePlan`\" pulumi-lang-dotnet=\"`azure.appservice.ServicePlan`\" pulumi-lang-go=\"`appservice.ServicePlan`\" pulumi-lang-python=\"`appservice.ServicePlan`\" pulumi-lang-yaml=\"`azure.appservice.ServicePlan`\" pulumi-lang-java=\"`azure.appservice.ServicePlan`\"\u003e`azure.appservice.ServicePlan`\u003c/span\u003e resource instead.\n\n## Example Usage\n\n### Dedicated)\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"api-rg-pro\",\n    location: \"West Europe\",\n});\nconst examplePlan = new azure.appservice.Plan(\"example\", {\n    name: \"api-appserviceplan-pro\",\n    location: example.location,\n    resourceGroupName: example.name,\n    sku: {\n        tier: \"Standard\",\n        size: \"S1\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"api-rg-pro\",\n    location=\"West Europe\")\nexample_plan = azure.appservice.Plan(\"example\",\n    name=\"api-appserviceplan-pro\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku={\n        \"tier\": \"Standard\",\n        \"size\": \"S1\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"api-rg-pro\",\n        Location = \"West Europe\",\n    });\n\n    var examplePlan = new Azure.AppService.Plan(\"example\", new()\n    {\n        Name = \"api-appserviceplan-pro\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Sku = new Azure.AppService.Inputs.PlanSkuArgs\n        {\n            Tier = \"Standard\",\n            Size = \"S1\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/appservice\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"api-rg-pro\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = appservice.NewPlan(ctx, \"example\", \u0026appservice.PlanArgs{\n\t\t\tName:              pulumi.String(\"api-appserviceplan-pro\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSku: \u0026appservice.PlanSkuArgs{\n\t\t\t\tTier: pulumi.String(\"Standard\"),\n\t\t\t\tSize: pulumi.String(\"S1\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.appservice.Plan;\nimport com.pulumi.azure.appservice.PlanArgs;\nimport com.pulumi.azure.appservice.inputs.PlanSkuArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"api-rg-pro\")\n            .location(\"West Europe\")\n            .build());\n\n        var examplePlan = new Plan(\"examplePlan\", PlanArgs.builder()\n            .name(\"api-appserviceplan-pro\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .sku(PlanSkuArgs.builder()\n                .tier(\"Standard\")\n                .size(\"S1\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: api-rg-pro\n      location: West Europe\n  examplePlan:\n    type: azure:appservice:Plan\n    name: example\n    properties:\n      name: api-appserviceplan-pro\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      sku:\n        tier: Standard\n        size: S1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\n### Shared / Consumption Plan)\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"api-rg-pro\",\n    location: \"West Europe\",\n});\nconst examplePlan = new azure.appservice.Plan(\"example\", {\n    name: \"api-appserviceplan-pro\",\n    location: example.location,\n    resourceGroupName: example.name,\n    kind: \"FunctionApp\",\n    sku: {\n        tier: \"Dynamic\",\n        size: \"Y1\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"api-rg-pro\",\n    location=\"West Europe\")\nexample_plan = azure.appservice.Plan(\"example\",\n    name=\"api-appserviceplan-pro\",\n    location=example.location,\n    resource_group_name=example.name,\n    kind=\"FunctionApp\",\n    sku={\n        \"tier\": \"Dynamic\",\n        \"size\": \"Y1\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"api-rg-pro\",\n        Location = \"West Europe\",\n    });\n\n    var examplePlan = new Azure.AppService.Plan(\"example\", new()\n    {\n        Name = \"api-appserviceplan-pro\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Kind = \"FunctionApp\",\n        Sku = new Azure.AppService.Inputs.PlanSkuArgs\n        {\n            Tier = \"Dynamic\",\n            Size = \"Y1\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/appservice\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"api-rg-pro\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = appservice.NewPlan(ctx, \"example\", \u0026appservice.PlanArgs{\n\t\t\tName:              pulumi.String(\"api-appserviceplan-pro\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tKind:              pulumi.Any(\"FunctionApp\"),\n\t\t\tSku: \u0026appservice.PlanSkuArgs{\n\t\t\t\tTier: pulumi.String(\"Dynamic\"),\n\t\t\t\tSize: pulumi.String(\"Y1\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.appservice.Plan;\nimport com.pulumi.azure.appservice.PlanArgs;\nimport com.pulumi.azure.appservice.inputs.PlanSkuArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"api-rg-pro\")\n            .location(\"West Europe\")\n            .build());\n\n        var examplePlan = new Plan(\"examplePlan\", PlanArgs.builder()\n            .name(\"api-appserviceplan-pro\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .kind(\"FunctionApp\")\n            .sku(PlanSkuArgs.builder()\n                .tier(\"Dynamic\")\n                .size(\"Y1\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: api-rg-pro\n      location: West Europe\n  examplePlan:\n    type: azure:appservice:Plan\n    name: example\n    properties:\n      name: api-appserviceplan-pro\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      kind: FunctionApp\n      sku:\n        tier: Dynamic\n        size: Y1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\n### Linux)\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"api-rg-pro\",\n    location: \"West Europe\",\n});\nconst examplePlan = new azure.appservice.Plan(\"example\", {\n    name: \"api-appserviceplan-pro\",\n    location: example.location,\n    resourceGroupName: example.name,\n    kind: \"Linux\",\n    reserved: true,\n    sku: {\n        tier: \"Standard\",\n        size: \"S1\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"api-rg-pro\",\n    location=\"West Europe\")\nexample_plan = azure.appservice.Plan(\"example\",\n    name=\"api-appserviceplan-pro\",\n    location=example.location,\n    resource_group_name=example.name,\n    kind=\"Linux\",\n    reserved=True,\n    sku={\n        \"tier\": \"Standard\",\n        \"size\": \"S1\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"api-rg-pro\",\n        Location = \"West Europe\",\n    });\n\n    var examplePlan = new Azure.AppService.Plan(\"example\", new()\n    {\n        Name = \"api-appserviceplan-pro\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Kind = \"Linux\",\n        Reserved = true,\n        Sku = new Azure.AppService.Inputs.PlanSkuArgs\n        {\n            Tier = \"Standard\",\n            Size = \"S1\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/appservice\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"api-rg-pro\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = appservice.NewPlan(ctx, \"example\", \u0026appservice.PlanArgs{\n\t\t\tName:              pulumi.String(\"api-appserviceplan-pro\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tKind:              pulumi.Any(\"Linux\"),\n\t\t\tReserved:          pulumi.Bool(true),\n\t\t\tSku: \u0026appservice.PlanSkuArgs{\n\t\t\t\tTier: pulumi.String(\"Standard\"),\n\t\t\t\tSize: pulumi.String(\"S1\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.appservice.Plan;\nimport com.pulumi.azure.appservice.PlanArgs;\nimport com.pulumi.azure.appservice.inputs.PlanSkuArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"api-rg-pro\")\n            .location(\"West Europe\")\n            .build());\n\n        var examplePlan = new Plan(\"examplePlan\", PlanArgs.builder()\n            .name(\"api-appserviceplan-pro\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .kind(\"Linux\")\n            .reserved(true)\n            .sku(PlanSkuArgs.builder()\n                .tier(\"Standard\")\n                .size(\"S1\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: api-rg-pro\n      location: West Europe\n  examplePlan:\n    type: azure:appservice:Plan\n    name: example\n    properties:\n      name: api-appserviceplan-pro\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      kind: Linux\n      reserved: true\n      sku:\n        tier: Standard\n        size: S1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\n### Windows Container)\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"api-rg-pro\",\n    location: \"West Europe\",\n});\nconst examplePlan = new azure.appservice.Plan(\"example\", {\n    name: \"api-appserviceplan-pro\",\n    location: example.location,\n    resourceGroupName: example.name,\n    kind: \"xenon\",\n    isXenon: true,\n    sku: {\n        tier: \"PremiumContainer\",\n        size: \"PC2\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"api-rg-pro\",\n    location=\"West Europe\")\nexample_plan = azure.appservice.Plan(\"example\",\n    name=\"api-appserviceplan-pro\",\n    location=example.location,\n    resource_group_name=example.name,\n    kind=\"xenon\",\n    is_xenon=True,\n    sku={\n        \"tier\": \"PremiumContainer\",\n        \"size\": \"PC2\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"api-rg-pro\",\n        Location = \"West Europe\",\n    });\n\n    var examplePlan = new Azure.AppService.Plan(\"example\", new()\n    {\n        Name = \"api-appserviceplan-pro\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Kind = \"xenon\",\n        IsXenon = true,\n        Sku = new Azure.AppService.Inputs.PlanSkuArgs\n        {\n            Tier = \"PremiumContainer\",\n            Size = \"PC2\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/appservice\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"api-rg-pro\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = appservice.NewPlan(ctx, \"example\", \u0026appservice.PlanArgs{\n\t\t\tName:              pulumi.String(\"api-appserviceplan-pro\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tKind:              pulumi.Any(\"xenon\"),\n\t\t\tIsXenon:           pulumi.Bool(true),\n\t\t\tSku: \u0026appservice.PlanSkuArgs{\n\t\t\t\tTier: pulumi.String(\"PremiumContainer\"),\n\t\t\t\tSize: pulumi.String(\"PC2\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.appservice.Plan;\nimport com.pulumi.azure.appservice.PlanArgs;\nimport com.pulumi.azure.appservice.inputs.PlanSkuArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"api-rg-pro\")\n            .location(\"West Europe\")\n            .build());\n\n        var examplePlan = new Plan(\"examplePlan\", PlanArgs.builder()\n            .name(\"api-appserviceplan-pro\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .kind(\"xenon\")\n            .isXenon(true)\n            .sku(PlanSkuArgs.builder()\n                .tier(\"PremiumContainer\")\n                .size(\"PC2\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: api-rg-pro\n      location: West Europe\n  examplePlan:\n    type: azure:appservice:Plan\n    name: example\n    properties:\n      name: api-appserviceplan-pro\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      kind: xenon\n      isXenon: true\n      sku:\n        tier: PremiumContainer\n        size: PC2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nApp Service Plan instances can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:appservice/plan:Plan instance1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Web/serverFarms/instance1\n```\n\n","properties":{"appServiceEnvironmentId":{"type":"string","description":"The ID of the App Service Environment where the App Service Plan should be located. Changing forces a new resource to be created.\n\n\u003e **NOTE:** Attaching to an App Service Environment requires the App Service Plan use a `Premium` SKU (when using an ASEv1) and the `Isolated` SKU (for an ASEv2).\n"},"isXenon":{"type":"boolean","description":"Whether to create a xenon App Service Plan.\n"},"kind":{"type":"string","description":"The kind of the App Service Plan to create. Possible values are `Windows` (also available as `App`), `Linux`, \u003cspan pulumi-lang-nodejs=\"`elastic`\" pulumi-lang-dotnet=\"`Elastic`\" pulumi-lang-go=\"`elastic`\" pulumi-lang-python=\"`elastic`\" pulumi-lang-yaml=\"`elastic`\" pulumi-lang-java=\"`elastic`\"\u003e`elastic`\u003c/span\u003e (for Premium Consumption), \u003cspan pulumi-lang-nodejs=\"`xenon`\" pulumi-lang-dotnet=\"`Xenon`\" pulumi-lang-go=\"`xenon`\" pulumi-lang-python=\"`xenon`\" pulumi-lang-yaml=\"`xenon`\" pulumi-lang-java=\"`xenon`\"\u003e`xenon`\u003c/span\u003e and `FunctionApp` (for a Consumption Plan). Defaults to `Windows`. Changing this forces a new resource to be created.\n\n\u003e **NOTE:** When creating a `Linux` App Service Plan, the \u003cspan pulumi-lang-nodejs=\"`reserved`\" pulumi-lang-dotnet=\"`Reserved`\" pulumi-lang-go=\"`reserved`\" pulumi-lang-python=\"`reserved`\" pulumi-lang-yaml=\"`reserved`\" pulumi-lang-java=\"`reserved`\"\u003e`reserved`\u003c/span\u003e field must be set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, and when creating a `Windows`/\u003cspan pulumi-lang-nodejs=\"`app`\" pulumi-lang-dotnet=\"`App`\" pulumi-lang-go=\"`app`\" pulumi-lang-python=\"`app`\" pulumi-lang-yaml=\"`app`\" pulumi-lang-java=\"`app`\"\u003e`app`\u003c/span\u003e App Service Plan the \u003cspan pulumi-lang-nodejs=\"`reserved`\" pulumi-lang-dotnet=\"`Reserved`\" pulumi-lang-go=\"`reserved`\" pulumi-lang-python=\"`reserved`\" pulumi-lang-yaml=\"`reserved`\" pulumi-lang-java=\"`reserved`\"\u003e`reserved`\u003c/span\u003e field must be set to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n"},"maximumElasticWorkerCount":{"type":"integer","description":"The maximum number of total workers allowed for this ElasticScaleEnabled App Service Plan.\n"},"maximumNumberOfWorkers":{"type":"integer","description":"The maximum number of workers supported with the App Service Plan's sku.\n"},"name":{"type":"string","description":"Specifies the name of the App Service Plan component. Changing this forces a new resource to be created.\n"},"perSiteScaling":{"type":"boolean","description":"Can Apps assigned to this App Service Plan be scaled independently? If set to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e apps assigned to this plan will scale to all instances of the plan.\n"},"reserved":{"type":"boolean","description":"Is this App Service Plan `Reserved`.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the App Service Plan component. Changing this forces a new resource to be created.\n"},"sku":{"$ref":"#/types/azure:appservice/PlanSku:PlanSku","description":"A \u003cspan pulumi-lang-nodejs=\"`sku`\" pulumi-lang-dotnet=\"`Sku`\" pulumi-lang-go=\"`sku`\" pulumi-lang-python=\"`sku`\" pulumi-lang-yaml=\"`sku`\" pulumi-lang-java=\"`sku`\"\u003e`sku`\u003c/span\u003e block as documented below.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"zoneRedundant":{"type":"boolean","description":"Specifies if the App Service Plan should be Zone Redundant. Changing this forces a new resource to be created.\n\n\u003e **NOTE:** Requires either `PremiumV2` or `PremiumV3` SKU and that at least 3 instances. For more information, please see the [App Service Team Blog](https://azure.github.io/AppService/2021/08/25/App-service-support-for-availability-zones.html).\n"}},"required":["location","maximumElasticWorkerCount","maximumNumberOfWorkers","name","resourceGroupName","sku"],"inputProperties":{"appServiceEnvironmentId":{"type":"string","description":"The ID of the App Service Environment where the App Service Plan should be located. Changing forces a new resource to be created.\n\n\u003e **NOTE:** Attaching to an App Service Environment requires the App Service Plan use a `Premium` SKU (when using an ASEv1) and the `Isolated` SKU (for an ASEv2).\n","willReplaceOnChanges":true},"isXenon":{"type":"boolean","description":"Whether to create a xenon App Service Plan.\n"},"kind":{"type":"string","oneOf":[{"type":"string"},{"type":"string","$ref":"#/types/azure:appservice/kind:Kind"}],"description":"The kind of the App Service Plan to create. Possible values are `Windows` (also available as `App`), `Linux`, \u003cspan pulumi-lang-nodejs=\"`elastic`\" pulumi-lang-dotnet=\"`Elastic`\" pulumi-lang-go=\"`elastic`\" pulumi-lang-python=\"`elastic`\" pulumi-lang-yaml=\"`elastic`\" pulumi-lang-java=\"`elastic`\"\u003e`elastic`\u003c/span\u003e (for Premium Consumption), \u003cspan pulumi-lang-nodejs=\"`xenon`\" pulumi-lang-dotnet=\"`Xenon`\" pulumi-lang-go=\"`xenon`\" pulumi-lang-python=\"`xenon`\" pulumi-lang-yaml=\"`xenon`\" pulumi-lang-java=\"`xenon`\"\u003e`xenon`\u003c/span\u003e and `FunctionApp` (for a Consumption Plan). Defaults to `Windows`. Changing this forces a new resource to be created.\n\n\u003e **NOTE:** When creating a `Linux` App Service Plan, the \u003cspan pulumi-lang-nodejs=\"`reserved`\" pulumi-lang-dotnet=\"`Reserved`\" pulumi-lang-go=\"`reserved`\" pulumi-lang-python=\"`reserved`\" pulumi-lang-yaml=\"`reserved`\" pulumi-lang-java=\"`reserved`\"\u003e`reserved`\u003c/span\u003e field must be set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, and when creating a `Windows`/\u003cspan pulumi-lang-nodejs=\"`app`\" pulumi-lang-dotnet=\"`App`\" pulumi-lang-go=\"`app`\" pulumi-lang-python=\"`app`\" pulumi-lang-yaml=\"`app`\" pulumi-lang-java=\"`app`\"\u003e`app`\u003c/span\u003e App Service Plan the \u003cspan pulumi-lang-nodejs=\"`reserved`\" pulumi-lang-dotnet=\"`Reserved`\" pulumi-lang-go=\"`reserved`\" pulumi-lang-python=\"`reserved`\" pulumi-lang-yaml=\"`reserved`\" pulumi-lang-java=\"`reserved`\"\u003e`reserved`\u003c/span\u003e field must be set to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n","willReplaceOnChanges":true},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"maximumElasticWorkerCount":{"type":"integer","description":"The maximum number of total workers allowed for this ElasticScaleEnabled App Service Plan.\n"},"name":{"type":"string","description":"Specifies the name of the App Service Plan component. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"perSiteScaling":{"type":"boolean","description":"Can Apps assigned to this App Service Plan be scaled independently? If set to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e apps assigned to this plan will scale to all instances of the plan.\n"},"reserved":{"type":"boolean","description":"Is this App Service Plan `Reserved`.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the App Service Plan component. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sku":{"$ref":"#/types/azure:appservice/PlanSku:PlanSku","description":"A \u003cspan pulumi-lang-nodejs=\"`sku`\" pulumi-lang-dotnet=\"`Sku`\" pulumi-lang-go=\"`sku`\" pulumi-lang-python=\"`sku`\" pulumi-lang-yaml=\"`sku`\" pulumi-lang-java=\"`sku`\"\u003e`sku`\u003c/span\u003e block as documented below.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"zoneRedundant":{"type":"boolean","description":"Specifies if the App Service Plan should be Zone Redundant. Changing this forces a new resource to be created.\n\n\u003e **NOTE:** Requires either `PremiumV2` or `PremiumV3` SKU and that at least 3 instances. For more information, please see the [App Service Team Blog](https://azure.github.io/AppService/2021/08/25/App-service-support-for-availability-zones.html).\n","willReplaceOnChanges":true}},"requiredInputs":["resourceGroupName","sku"],"stateInputs":{"description":"Input properties used for looking up and filtering Plan resources.\n","properties":{"appServiceEnvironmentId":{"type":"string","description":"The ID of the App Service Environment where the App Service Plan should be located. Changing forces a new resource to be created.\n\n\u003e **NOTE:** Attaching to an App Service Environment requires the App Service Plan use a `Premium` SKU (when using an ASEv1) and the `Isolated` SKU (for an ASEv2).\n","willReplaceOnChanges":true},"isXenon":{"type":"boolean","description":"Whether to create a xenon App Service Plan.\n"},"kind":{"type":"string","oneOf":[{"type":"string"},{"type":"string","$ref":"#/types/azure:appservice/kind:Kind"}],"description":"The kind of the App Service Plan to create. Possible values are `Windows` (also available as `App`), `Linux`, \u003cspan pulumi-lang-nodejs=\"`elastic`\" pulumi-lang-dotnet=\"`Elastic`\" pulumi-lang-go=\"`elastic`\" pulumi-lang-python=\"`elastic`\" pulumi-lang-yaml=\"`elastic`\" pulumi-lang-java=\"`elastic`\"\u003e`elastic`\u003c/span\u003e (for Premium Consumption), \u003cspan pulumi-lang-nodejs=\"`xenon`\" pulumi-lang-dotnet=\"`Xenon`\" pulumi-lang-go=\"`xenon`\" pulumi-lang-python=\"`xenon`\" pulumi-lang-yaml=\"`xenon`\" pulumi-lang-java=\"`xenon`\"\u003e`xenon`\u003c/span\u003e and `FunctionApp` (for a Consumption Plan). Defaults to `Windows`. Changing this forces a new resource to be created.\n\n\u003e **NOTE:** When creating a `Linux` App Service Plan, the \u003cspan pulumi-lang-nodejs=\"`reserved`\" pulumi-lang-dotnet=\"`Reserved`\" pulumi-lang-go=\"`reserved`\" pulumi-lang-python=\"`reserved`\" pulumi-lang-yaml=\"`reserved`\" pulumi-lang-java=\"`reserved`\"\u003e`reserved`\u003c/span\u003e field must be set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, and when creating a `Windows`/\u003cspan pulumi-lang-nodejs=\"`app`\" pulumi-lang-dotnet=\"`App`\" pulumi-lang-go=\"`app`\" pulumi-lang-python=\"`app`\" pulumi-lang-yaml=\"`app`\" pulumi-lang-java=\"`app`\"\u003e`app`\u003c/span\u003e App Service Plan the \u003cspan pulumi-lang-nodejs=\"`reserved`\" pulumi-lang-dotnet=\"`Reserved`\" pulumi-lang-go=\"`reserved`\" pulumi-lang-python=\"`reserved`\" pulumi-lang-yaml=\"`reserved`\" pulumi-lang-java=\"`reserved`\"\u003e`reserved`\u003c/span\u003e field must be set to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n","willReplaceOnChanges":true},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"maximumElasticWorkerCount":{"type":"integer","description":"The maximum number of total workers allowed for this ElasticScaleEnabled App Service Plan.\n"},"maximumNumberOfWorkers":{"type":"integer","description":"The maximum number of workers supported with the App Service Plan's sku.\n"},"name":{"type":"string","description":"Specifies the name of the App Service Plan component. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"perSiteScaling":{"type":"boolean","description":"Can Apps assigned to this App Service Plan be scaled independently? If set to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e apps assigned to this plan will scale to all instances of the plan.\n"},"reserved":{"type":"boolean","description":"Is this App Service Plan `Reserved`.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the App Service Plan component. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sku":{"$ref":"#/types/azure:appservice/PlanSku:PlanSku","description":"A \u003cspan pulumi-lang-nodejs=\"`sku`\" pulumi-lang-dotnet=\"`Sku`\" pulumi-lang-go=\"`sku`\" pulumi-lang-python=\"`sku`\" pulumi-lang-yaml=\"`sku`\" pulumi-lang-java=\"`sku`\"\u003e`sku`\u003c/span\u003e block as documented below.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"zoneRedundant":{"type":"boolean","description":"Specifies if the App Service Plan should be Zone Redundant. Changing this forces a new resource to be created.\n\n\u003e **NOTE:** Requires either `PremiumV2` or `PremiumV3` SKU and that at least 3 instances. For more information, please see the [App Service Team Blog](https://azure.github.io/AppService/2021/08/25/App-service-support-for-availability-zones.html).\n","willReplaceOnChanges":true}},"type":"object"}},"azure:appservice/publicCertificate:PublicCertificate":{"description":"Manages an App Service Public Certificate.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\nimport * as std from \"@pulumi/std\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst examplePlan = new azure.appservice.Plan(\"example\", {\n    name: \"example-app-service-plan\",\n    location: example.location,\n    resourceGroupName: example.name,\n    sku: {\n        tier: \"Standard\",\n        size: \"S1\",\n    },\n});\nconst exampleAppService = new azure.appservice.AppService(\"example\", {\n    name: \"example-app-service\",\n    location: example.location,\n    resourceGroupName: example.name,\n    appServicePlanId: examplePlan.id,\n});\nconst examplePublicCertificate = new azure.appservice.PublicCertificate(\"example\", {\n    resourceGroupName: example.name,\n    appServiceName: exampleAppService.name,\n    certificateName: \"example-public-certificate\",\n    certificateLocation: \"Unknown\",\n    blob: std.filebase64({\n        input: \"app_service_public_certificate.cer\",\n    }).then(invoke =\u003e invoke.result),\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\nimport pulumi_std as std\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_plan = azure.appservice.Plan(\"example\",\n    name=\"example-app-service-plan\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku={\n        \"tier\": \"Standard\",\n        \"size\": \"S1\",\n    })\nexample_app_service = azure.appservice.AppService(\"example\",\n    name=\"example-app-service\",\n    location=example.location,\n    resource_group_name=example.name,\n    app_service_plan_id=example_plan.id)\nexample_public_certificate = azure.appservice.PublicCertificate(\"example\",\n    resource_group_name=example.name,\n    app_service_name=example_app_service.name,\n    certificate_name=\"example-public-certificate\",\n    certificate_location=\"Unknown\",\n    blob=std.filebase64(input=\"app_service_public_certificate.cer\").result)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var examplePlan = new Azure.AppService.Plan(\"example\", new()\n    {\n        Name = \"example-app-service-plan\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Sku = new Azure.AppService.Inputs.PlanSkuArgs\n        {\n            Tier = \"Standard\",\n            Size = \"S1\",\n        },\n    });\n\n    var exampleAppService = new Azure.AppService.AppService(\"example\", new()\n    {\n        Name = \"example-app-service\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        AppServicePlanId = examplePlan.Id,\n    });\n\n    var examplePublicCertificate = new Azure.AppService.PublicCertificate(\"example\", new()\n    {\n        ResourceGroupName = example.Name,\n        AppServiceName = exampleAppService.Name,\n        CertificateName = \"example-public-certificate\",\n        CertificateLocation = \"Unknown\",\n        Blob = Std.Filebase64.Invoke(new()\n        {\n            Input = \"app_service_public_certificate.cer\",\n        }).Apply(invoke =\u003e invoke.Result),\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/appservice\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texamplePlan, err := appservice.NewPlan(ctx, \"example\", \u0026appservice.PlanArgs{\n\t\t\tName:              pulumi.String(\"example-app-service-plan\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSku: \u0026appservice.PlanSkuArgs{\n\t\t\t\tTier: pulumi.String(\"Standard\"),\n\t\t\t\tSize: pulumi.String(\"S1\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAppService, err := appservice.NewAppService(ctx, \"example\", \u0026appservice.AppServiceArgs{\n\t\t\tName:              pulumi.String(\"example-app-service\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tAppServicePlanId:  examplePlan.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFilebase64, err := std.Filebase64(ctx, \u0026std.Filebase64Args{\n\t\t\tInput: \"app_service_public_certificate.cer\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = appservice.NewPublicCertificate(ctx, \"example\", \u0026appservice.PublicCertificateArgs{\n\t\t\tResourceGroupName:   example.Name,\n\t\t\tAppServiceName:      exampleAppService.Name,\n\t\t\tCertificateName:     pulumi.String(\"example-public-certificate\"),\n\t\t\tCertificateLocation: pulumi.String(\"Unknown\"),\n\t\t\tBlob:                pulumi.String(invokeFilebase64.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.appservice.Plan;\nimport com.pulumi.azure.appservice.PlanArgs;\nimport com.pulumi.azure.appservice.inputs.PlanSkuArgs;\nimport com.pulumi.azure.appservice.AppService;\nimport com.pulumi.azure.appservice.AppServiceArgs;\nimport com.pulumi.azure.appservice.PublicCertificate;\nimport com.pulumi.azure.appservice.PublicCertificateArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.Filebase64Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var examplePlan = new Plan(\"examplePlan\", PlanArgs.builder()\n            .name(\"example-app-service-plan\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .sku(PlanSkuArgs.builder()\n                .tier(\"Standard\")\n                .size(\"S1\")\n                .build())\n            .build());\n\n        var exampleAppService = new AppService(\"exampleAppService\", AppServiceArgs.builder()\n            .name(\"example-app-service\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .appServicePlanId(examplePlan.id())\n            .build());\n\n        var examplePublicCertificate = new PublicCertificate(\"examplePublicCertificate\", PublicCertificateArgs.builder()\n            .resourceGroupName(example.name())\n            .appServiceName(exampleAppService.name())\n            .certificateName(\"example-public-certificate\")\n            .certificateLocation(\"Unknown\")\n            .blob(StdFunctions.filebase64(Filebase64Args.builder()\n                .input(\"app_service_public_certificate.cer\")\n                .build()).result())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  examplePlan:\n    type: azure:appservice:Plan\n    name: example\n    properties:\n      name: example-app-service-plan\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      sku:\n        tier: Standard\n        size: S1\n  exampleAppService:\n    type: azure:appservice:AppService\n    name: example\n    properties:\n      name: example-app-service\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      appServicePlanId: ${examplePlan.id}\n  examplePublicCertificate:\n    type: azure:appservice:PublicCertificate\n    name: example\n    properties:\n      resourceGroupName: ${example.name}\n      appServiceName: ${exampleAppService.name}\n      certificateName: example-public-certificate\n      certificateLocation: Unknown\n      blob:\n        fn::invoke:\n          function: std:filebase64\n          arguments:\n            input: app_service_public_certificate.cer\n          return: result\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Web` - 2023-12-01\n\n## Import\n\nApp Service Public Certificates can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:appservice/publicCertificate:PublicCertificate example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Web/sites/site1/publicCertificates/publicCertificate1\n```\n\n","properties":{"appServiceName":{"type":"string","description":"The name of the App Service. Changing this forces a new App Service Public Certificate to be created.\n"},"blob":{"type":"string","description":"The base64-encoded contents of the certificate. Changing this forces a new App Service Public Certificate to be created.\n"},"certificateLocation":{"type":"string","description":"The location of the certificate. Possible values are `CurrentUserMy`, `LocalMachineMy` and `Unknown`. Changing this forces a new App Service Public Certificate to be created.\n"},"certificateName":{"type":"string","description":"The name of the public certificate. Changing this forces a new App Service Public Certificate to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the App Service Public Certificate should exist. Changing this forces a new App Service Public Certificate to be created.\n"},"thumbprint":{"type":"string","description":"The thumbprint of the public certificate.\n"}},"required":["appServiceName","blob","certificateLocation","certificateName","resourceGroupName","thumbprint"],"inputProperties":{"appServiceName":{"type":"string","description":"The name of the App Service. Changing this forces a new App Service Public Certificate to be created.\n","willReplaceOnChanges":true},"blob":{"type":"string","description":"The base64-encoded contents of the certificate. Changing this forces a new App Service Public Certificate to be created.\n","willReplaceOnChanges":true},"certificateLocation":{"type":"string","description":"The location of the certificate. Possible values are `CurrentUserMy`, `LocalMachineMy` and `Unknown`. Changing this forces a new App Service Public Certificate to be created.\n","willReplaceOnChanges":true},"certificateName":{"type":"string","description":"The name of the public certificate. Changing this forces a new App Service Public Certificate to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the App Service Public Certificate should exist. Changing this forces a new App Service Public Certificate to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["appServiceName","blob","certificateLocation","certificateName","resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering PublicCertificate resources.\n","properties":{"appServiceName":{"type":"string","description":"The name of the App Service. Changing this forces a new App Service Public Certificate to be created.\n","willReplaceOnChanges":true},"blob":{"type":"string","description":"The base64-encoded contents of the certificate. Changing this forces a new App Service Public Certificate to be created.\n","willReplaceOnChanges":true},"certificateLocation":{"type":"string","description":"The location of the certificate. Possible values are `CurrentUserMy`, `LocalMachineMy` and `Unknown`. Changing this forces a new App Service Public Certificate to be created.\n","willReplaceOnChanges":true},"certificateName":{"type":"string","description":"The name of the public certificate. Changing this forces a new App Service Public Certificate to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the App Service Public Certificate should exist. Changing this forces a new App Service Public Certificate to be created.\n","willReplaceOnChanges":true},"thumbprint":{"type":"string","description":"The thumbprint of the public certificate.\n"}},"type":"object"}},"azure:appservice/servicePlan:ServicePlan":{"description":"Manages an App Service: Service Plan.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleServicePlan = new azure.appservice.ServicePlan(\"example\", {\n    name: \"example\",\n    resourceGroupName: example.name,\n    location: example.location,\n    osType: \"Linux\",\n    skuName: \"P1v2\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_service_plan = azure.appservice.ServicePlan(\"example\",\n    name=\"example\",\n    resource_group_name=example.name,\n    location=example.location,\n    os_type=\"Linux\",\n    sku_name=\"P1v2\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleServicePlan = new Azure.AppService.ServicePlan(\"example\", new()\n    {\n        Name = \"example\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        OsType = \"Linux\",\n        SkuName = \"P1v2\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/appservice\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = appservice.NewServicePlan(ctx, \"example\", \u0026appservice.ServicePlanArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tOsType:            pulumi.String(\"Linux\"),\n\t\t\tSkuName:           pulumi.String(\"P1v2\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.appservice.ServicePlan;\nimport com.pulumi.azure.appservice.ServicePlanArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleServicePlan = new ServicePlan(\"exampleServicePlan\", ServicePlanArgs.builder()\n            .name(\"example\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .osType(\"Linux\")\n            .skuName(\"P1v2\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleServicePlan:\n    type: azure:appservice:ServicePlan\n    name: example\n    properties:\n      name: example\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      osType: Linux\n      skuName: P1v2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Web` - 2023-12-01\n\n## Import\n\nAppServices can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:appservice/servicePlan:ServicePlan example /subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/resGroup1/providers/Microsoft.Web/serverFarms/farm1\n```\n\n","properties":{"appServiceEnvironmentId":{"type":"string","description":"The ID of the App Service Environment to create this Service Plan in.\n\n\u003e **Note:** Requires an Isolated SKU for \u003cspan pulumi-lang-nodejs=\"`azure.appservice.EnvironmentV3`\" pulumi-lang-dotnet=\"`azure.appservice.EnvironmentV3`\" pulumi-lang-go=\"`appservice.EnvironmentV3`\" pulumi-lang-python=\"`appservice.EnvironmentV3`\" pulumi-lang-yaml=\"`azure.appservice.EnvironmentV3`\" pulumi-lang-java=\"`azure.appservice.EnvironmentV3`\"\u003e`azure.appservice.EnvironmentV3`\u003c/span\u003e, supported values include `I1v2`, `I1mv2`, `I2v2`, `I2mv2`, `I3v2`, `I3mv2`, `I4v2`, `I4mv2`, `I5v2`, `I5mv2`, and `I6v2`.\n"},"kind":{"type":"string","description":"A string representing the Kind of Service Plan.\n"},"location":{"type":"string","description":"The Azure Region where the Service Plan should exist. Changing this forces a new Service Plan to be created.\n"},"maximumElasticWorkerCount":{"type":"integer","description":"The maximum number of workers to use in an Elastic SKU Plan or Premium Plan that have \u003cspan pulumi-lang-nodejs=\"`premiumPlanAutoScaleEnabled`\" pulumi-lang-dotnet=\"`PremiumPlanAutoScaleEnabled`\" pulumi-lang-go=\"`premiumPlanAutoScaleEnabled`\" pulumi-lang-python=\"`premium_plan_auto_scale_enabled`\" pulumi-lang-yaml=\"`premiumPlanAutoScaleEnabled`\" pulumi-lang-java=\"`premiumPlanAutoScaleEnabled`\"\u003e`premium_plan_auto_scale_enabled`\u003c/span\u003e set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e. Cannot be set unless using an Elastic or Premium SKU.\n"},"name":{"type":"string","description":"The name which should be used for this Service Plan. Changing this forces a new Service Plan to be created.\n"},"osType":{"type":"string","description":"The O/S type for the App Services to be hosted in this plan. Possible values include `Windows`, `Linux`, and `WindowsContainer`. Changing this forces a new resource to be created.\n"},"perSiteScalingEnabled":{"type":"boolean","description":"Should Per Site Scaling be enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"premiumPlanAutoScaleEnabled":{"type":"boolean","description":"Should automatic scaling be enabled for the Premium SKU Plan. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Cannot be set unless using a Premium SKU.\n"},"reserved":{"type":"boolean","description":"Whether this is a reserved Service Plan Type. \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e if \u003cspan pulumi-lang-nodejs=\"`osType`\" pulumi-lang-dotnet=\"`OsType`\" pulumi-lang-go=\"`osType`\" pulumi-lang-python=\"`os_type`\" pulumi-lang-yaml=\"`osType`\" pulumi-lang-java=\"`osType`\"\u003e`os_type`\u003c/span\u003e is `Linux`, otherwise \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Service Plan should exist. Changing this forces a new Service Plan to be created.\n"},"skuName":{"type":"string","description":"The SKU for the plan. Possible values include `B1`, `B2`, `B3`, `D1`, `F1`, `I1`, `I2`, `I3`, `I1v2`, `I1mv2`, `I2v2`, `I2mv2`, `I3v2`, `I3mv2`, `I4v2`, `I4mv2`, `I5v2`, `I5mv2`, `I6v2`, `P1v2`, `P2v2`, `P3v2`, `P0v3`, `P1v3`, `P2v3`, `P3v3`, `P1mv3`, `P2mv3`, `P3mv3`, `P4mv3`, `P5mv3`, `P0v4`, `P1v4`, `P2v4`, `P3v4`, `P1mv4`, `P2mv4`, `P3mv4`, `P4mv4`, `P5mv4`, `S1`, `S2`, `S3`, `SHARED`, `EP1`, `EP2`, `EP3`, `FC1`, `WS1`, `WS2`, `WS3`, and `Y1`.\n\n\u003e **Note:** Isolated SKUs (`I1`, `I2`, `I3`, `I1v2`, `I1mv2`, `I2v2`, `I2mv2`, `I3v2`, `I3mv2`) can only be used with App Service Environments\n\n\u003e **Note:** Elastic and Consumption SKUs (`Y1`, `FC1`, `EP1`, `EP2`, and `EP3`) are for use with Function Apps.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the AppService.\n"},"workerCount":{"type":"integer","description":"The number of Workers (instances) to be allocated.\n"},"zoneBalancingEnabled":{"type":"boolean","description":"Should the Service Plan balance across Availability Zones in the region.\n\n\u003e **Note:** If this setting is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e and the \u003cspan pulumi-lang-nodejs=\"`workerCount`\" pulumi-lang-dotnet=\"`WorkerCount`\" pulumi-lang-go=\"`workerCount`\" pulumi-lang-python=\"`worker_count`\" pulumi-lang-yaml=\"`workerCount`\" pulumi-lang-java=\"`workerCount`\"\u003e`worker_count`\u003c/span\u003e value is specified, it should be set to a multiple of the number of availability zones in the region. Please see the Azure documentation for the number of Availability Zones in your region.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`zoneBalancingEnabled`\" pulumi-lang-dotnet=\"`ZoneBalancingEnabled`\" pulumi-lang-go=\"`zoneBalancingEnabled`\" pulumi-lang-python=\"`zone_balancing_enabled`\" pulumi-lang-yaml=\"`zoneBalancingEnabled`\" pulumi-lang-java=\"`zoneBalancingEnabled`\"\u003e`zone_balancing_enabled`\u003c/span\u003e can only be set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e on Consumption, Premium, Isolated, or Workflow SKUs. It can be disabled. To enable it, the \u003cspan pulumi-lang-nodejs=\"`workerCount`\" pulumi-lang-dotnet=\"`WorkerCount`\" pulumi-lang-go=\"`workerCount`\" pulumi-lang-python=\"`worker_count`\" pulumi-lang-yaml=\"`workerCount`\" pulumi-lang-java=\"`workerCount`\"\u003e`worker_count`\u003c/span\u003e must be greater than \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e, and the Service Plan must support more than one availability zone. In all other cases, changing this forces a new resource to be created. For more information, please see the [Availability Zone Support](https://learn.microsoft.com/en-us/azure/reliability/reliability-app-service?tabs=azurecli\u0026pivots=free-shared-basic#availability-zone-support).\n"}},"required":["kind","location","maximumElasticWorkerCount","name","osType","reserved","resourceGroupName","skuName","workerCount"],"inputProperties":{"appServiceEnvironmentId":{"type":"string","description":"The ID of the App Service Environment to create this Service Plan in.\n\n\u003e **Note:** Requires an Isolated SKU for \u003cspan pulumi-lang-nodejs=\"`azure.appservice.EnvironmentV3`\" pulumi-lang-dotnet=\"`azure.appservice.EnvironmentV3`\" pulumi-lang-go=\"`appservice.EnvironmentV3`\" pulumi-lang-python=\"`appservice.EnvironmentV3`\" pulumi-lang-yaml=\"`azure.appservice.EnvironmentV3`\" pulumi-lang-java=\"`azure.appservice.EnvironmentV3`\"\u003e`azure.appservice.EnvironmentV3`\u003c/span\u003e, supported values include `I1v2`, `I1mv2`, `I2v2`, `I2mv2`, `I3v2`, `I3mv2`, `I4v2`, `I4mv2`, `I5v2`, `I5mv2`, and `I6v2`.\n"},"location":{"type":"string","description":"The Azure Region where the Service Plan should exist. Changing this forces a new Service Plan to be created.\n","willReplaceOnChanges":true},"maximumElasticWorkerCount":{"type":"integer","description":"The maximum number of workers to use in an Elastic SKU Plan or Premium Plan that have \u003cspan pulumi-lang-nodejs=\"`premiumPlanAutoScaleEnabled`\" pulumi-lang-dotnet=\"`PremiumPlanAutoScaleEnabled`\" pulumi-lang-go=\"`premiumPlanAutoScaleEnabled`\" pulumi-lang-python=\"`premium_plan_auto_scale_enabled`\" pulumi-lang-yaml=\"`premiumPlanAutoScaleEnabled`\" pulumi-lang-java=\"`premiumPlanAutoScaleEnabled`\"\u003e`premium_plan_auto_scale_enabled`\u003c/span\u003e set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e. Cannot be set unless using an Elastic or Premium SKU.\n"},"name":{"type":"string","description":"The name which should be used for this Service Plan. Changing this forces a new Service Plan to be created.\n","willReplaceOnChanges":true},"osType":{"type":"string","description":"The O/S type for the App Services to be hosted in this plan. Possible values include `Windows`, `Linux`, and `WindowsContainer`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"perSiteScalingEnabled":{"type":"boolean","description":"Should Per Site Scaling be enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"premiumPlanAutoScaleEnabled":{"type":"boolean","description":"Should automatic scaling be enabled for the Premium SKU Plan. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Cannot be set unless using a Premium SKU.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Service Plan should exist. Changing this forces a new Service Plan to be created.\n","willReplaceOnChanges":true},"skuName":{"type":"string","description":"The SKU for the plan. Possible values include `B1`, `B2`, `B3`, `D1`, `F1`, `I1`, `I2`, `I3`, `I1v2`, `I1mv2`, `I2v2`, `I2mv2`, `I3v2`, `I3mv2`, `I4v2`, `I4mv2`, `I5v2`, `I5mv2`, `I6v2`, `P1v2`, `P2v2`, `P3v2`, `P0v3`, `P1v3`, `P2v3`, `P3v3`, `P1mv3`, `P2mv3`, `P3mv3`, `P4mv3`, `P5mv3`, `P0v4`, `P1v4`, `P2v4`, `P3v4`, `P1mv4`, `P2mv4`, `P3mv4`, `P4mv4`, `P5mv4`, `S1`, `S2`, `S3`, `SHARED`, `EP1`, `EP2`, `EP3`, `FC1`, `WS1`, `WS2`, `WS3`, and `Y1`.\n\n\u003e **Note:** Isolated SKUs (`I1`, `I2`, `I3`, `I1v2`, `I1mv2`, `I2v2`, `I2mv2`, `I3v2`, `I3mv2`) can only be used with App Service Environments\n\n\u003e **Note:** Elastic and Consumption SKUs (`Y1`, `FC1`, `EP1`, `EP2`, and `EP3`) are for use with Function Apps.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the AppService.\n"},"workerCount":{"type":"integer","description":"The number of Workers (instances) to be allocated.\n"},"zoneBalancingEnabled":{"type":"boolean","description":"Should the Service Plan balance across Availability Zones in the region.\n\n\u003e **Note:** If this setting is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e and the \u003cspan pulumi-lang-nodejs=\"`workerCount`\" pulumi-lang-dotnet=\"`WorkerCount`\" pulumi-lang-go=\"`workerCount`\" pulumi-lang-python=\"`worker_count`\" pulumi-lang-yaml=\"`workerCount`\" pulumi-lang-java=\"`workerCount`\"\u003e`worker_count`\u003c/span\u003e value is specified, it should be set to a multiple of the number of availability zones in the region. Please see the Azure documentation for the number of Availability Zones in your region.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`zoneBalancingEnabled`\" pulumi-lang-dotnet=\"`ZoneBalancingEnabled`\" pulumi-lang-go=\"`zoneBalancingEnabled`\" pulumi-lang-python=\"`zone_balancing_enabled`\" pulumi-lang-yaml=\"`zoneBalancingEnabled`\" pulumi-lang-java=\"`zoneBalancingEnabled`\"\u003e`zone_balancing_enabled`\u003c/span\u003e can only be set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e on Consumption, Premium, Isolated, or Workflow SKUs. It can be disabled. To enable it, the \u003cspan pulumi-lang-nodejs=\"`workerCount`\" pulumi-lang-dotnet=\"`WorkerCount`\" pulumi-lang-go=\"`workerCount`\" pulumi-lang-python=\"`worker_count`\" pulumi-lang-yaml=\"`workerCount`\" pulumi-lang-java=\"`workerCount`\"\u003e`worker_count`\u003c/span\u003e must be greater than \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e, and the Service Plan must support more than one availability zone. In all other cases, changing this forces a new resource to be created. For more information, please see the [Availability Zone Support](https://learn.microsoft.com/en-us/azure/reliability/reliability-app-service?tabs=azurecli\u0026pivots=free-shared-basic#availability-zone-support).\n"}},"requiredInputs":["osType","resourceGroupName","skuName"],"stateInputs":{"description":"Input properties used for looking up and filtering ServicePlan resources.\n","properties":{"appServiceEnvironmentId":{"type":"string","description":"The ID of the App Service Environment to create this Service Plan in.\n\n\u003e **Note:** Requires an Isolated SKU for \u003cspan pulumi-lang-nodejs=\"`azure.appservice.EnvironmentV3`\" pulumi-lang-dotnet=\"`azure.appservice.EnvironmentV3`\" pulumi-lang-go=\"`appservice.EnvironmentV3`\" pulumi-lang-python=\"`appservice.EnvironmentV3`\" pulumi-lang-yaml=\"`azure.appservice.EnvironmentV3`\" pulumi-lang-java=\"`azure.appservice.EnvironmentV3`\"\u003e`azure.appservice.EnvironmentV3`\u003c/span\u003e, supported values include `I1v2`, `I1mv2`, `I2v2`, `I2mv2`, `I3v2`, `I3mv2`, `I4v2`, `I4mv2`, `I5v2`, `I5mv2`, and `I6v2`.\n"},"kind":{"type":"string","description":"A string representing the Kind of Service Plan.\n"},"location":{"type":"string","description":"The Azure Region where the Service Plan should exist. Changing this forces a new Service Plan to be created.\n","willReplaceOnChanges":true},"maximumElasticWorkerCount":{"type":"integer","description":"The maximum number of workers to use in an Elastic SKU Plan or Premium Plan that have \u003cspan pulumi-lang-nodejs=\"`premiumPlanAutoScaleEnabled`\" pulumi-lang-dotnet=\"`PremiumPlanAutoScaleEnabled`\" pulumi-lang-go=\"`premiumPlanAutoScaleEnabled`\" pulumi-lang-python=\"`premium_plan_auto_scale_enabled`\" pulumi-lang-yaml=\"`premiumPlanAutoScaleEnabled`\" pulumi-lang-java=\"`premiumPlanAutoScaleEnabled`\"\u003e`premium_plan_auto_scale_enabled`\u003c/span\u003e set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e. Cannot be set unless using an Elastic or Premium SKU.\n"},"name":{"type":"string","description":"The name which should be used for this Service Plan. Changing this forces a new Service Plan to be created.\n","willReplaceOnChanges":true},"osType":{"type":"string","description":"The O/S type for the App Services to be hosted in this plan. Possible values include `Windows`, `Linux`, and `WindowsContainer`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"perSiteScalingEnabled":{"type":"boolean","description":"Should Per Site Scaling be enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"premiumPlanAutoScaleEnabled":{"type":"boolean","description":"Should automatic scaling be enabled for the Premium SKU Plan. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Cannot be set unless using a Premium SKU.\n"},"reserved":{"type":"boolean","description":"Whether this is a reserved Service Plan Type. \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e if \u003cspan pulumi-lang-nodejs=\"`osType`\" pulumi-lang-dotnet=\"`OsType`\" pulumi-lang-go=\"`osType`\" pulumi-lang-python=\"`os_type`\" pulumi-lang-yaml=\"`osType`\" pulumi-lang-java=\"`osType`\"\u003e`os_type`\u003c/span\u003e is `Linux`, otherwise \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Service Plan should exist. Changing this forces a new Service Plan to be created.\n","willReplaceOnChanges":true},"skuName":{"type":"string","description":"The SKU for the plan. Possible values include `B1`, `B2`, `B3`, `D1`, `F1`, `I1`, `I2`, `I3`, `I1v2`, `I1mv2`, `I2v2`, `I2mv2`, `I3v2`, `I3mv2`, `I4v2`, `I4mv2`, `I5v2`, `I5mv2`, `I6v2`, `P1v2`, `P2v2`, `P3v2`, `P0v3`, `P1v3`, `P2v3`, `P3v3`, `P1mv3`, `P2mv3`, `P3mv3`, `P4mv3`, `P5mv3`, `P0v4`, `P1v4`, `P2v4`, `P3v4`, `P1mv4`, `P2mv4`, `P3mv4`, `P4mv4`, `P5mv4`, `S1`, `S2`, `S3`, `SHARED`, `EP1`, `EP2`, `EP3`, `FC1`, `WS1`, `WS2`, `WS3`, and `Y1`.\n\n\u003e **Note:** Isolated SKUs (`I1`, `I2`, `I3`, `I1v2`, `I1mv2`, `I2v2`, `I2mv2`, `I3v2`, `I3mv2`) can only be used with App Service Environments\n\n\u003e **Note:** Elastic and Consumption SKUs (`Y1`, `FC1`, `EP1`, `EP2`, and `EP3`) are for use with Function Apps.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the AppService.\n"},"workerCount":{"type":"integer","description":"The number of Workers (instances) to be allocated.\n"},"zoneBalancingEnabled":{"type":"boolean","description":"Should the Service Plan balance across Availability Zones in the region.\n\n\u003e **Note:** If this setting is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e and the \u003cspan pulumi-lang-nodejs=\"`workerCount`\" pulumi-lang-dotnet=\"`WorkerCount`\" pulumi-lang-go=\"`workerCount`\" pulumi-lang-python=\"`worker_count`\" pulumi-lang-yaml=\"`workerCount`\" pulumi-lang-java=\"`workerCount`\"\u003e`worker_count`\u003c/span\u003e value is specified, it should be set to a multiple of the number of availability zones in the region. Please see the Azure documentation for the number of Availability Zones in your region.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`zoneBalancingEnabled`\" pulumi-lang-dotnet=\"`ZoneBalancingEnabled`\" pulumi-lang-go=\"`zoneBalancingEnabled`\" pulumi-lang-python=\"`zone_balancing_enabled`\" pulumi-lang-yaml=\"`zoneBalancingEnabled`\" pulumi-lang-java=\"`zoneBalancingEnabled`\"\u003e`zone_balancing_enabled`\u003c/span\u003e can only be set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e on Consumption, Premium, Isolated, or Workflow SKUs. It can be disabled. To enable it, the \u003cspan pulumi-lang-nodejs=\"`workerCount`\" pulumi-lang-dotnet=\"`WorkerCount`\" pulumi-lang-go=\"`workerCount`\" pulumi-lang-python=\"`worker_count`\" pulumi-lang-yaml=\"`workerCount`\" pulumi-lang-java=\"`workerCount`\"\u003e`worker_count`\u003c/span\u003e must be greater than \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e, and the Service Plan must support more than one availability zone. In all other cases, changing this forces a new resource to be created. For more information, please see the [Availability Zone Support](https://learn.microsoft.com/en-us/azure/reliability/reliability-app-service?tabs=azurecli\u0026pivots=free-shared-basic#availability-zone-support).\n"}},"type":"object"}},"azure:appservice/slot:Slot":{"description":"Manages an App Service Slot (within an App Service).\n\n!\u003e **NOTE:** This resource has been deprecated in version 5.0 of the provider and will be removed in version 6.0. Please use \u003cspan pulumi-lang-nodejs=\"`azure.appservice.LinuxWebAppSlot`\" pulumi-lang-dotnet=\"`azure.appservice.LinuxWebAppSlot`\" pulumi-lang-go=\"`appservice.LinuxWebAppSlot`\" pulumi-lang-python=\"`appservice.LinuxWebAppSlot`\" pulumi-lang-yaml=\"`azure.appservice.LinuxWebAppSlot`\" pulumi-lang-java=\"`azure.appservice.LinuxWebAppSlot`\"\u003e`azure.appservice.LinuxWebAppSlot`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`azure.appservice.WindowsWebAppSlot`\" pulumi-lang-dotnet=\"`azure.appservice.WindowsWebAppSlot`\" pulumi-lang-go=\"`appservice.WindowsWebAppSlot`\" pulumi-lang-python=\"`appservice.WindowsWebAppSlot`\" pulumi-lang-yaml=\"`azure.appservice.WindowsWebAppSlot`\" pulumi-lang-java=\"`azure.appservice.WindowsWebAppSlot`\"\u003e`azure.appservice.WindowsWebAppSlot`\u003c/span\u003e resources instead.\n\n\u003e **Note:** When using Slots - the \u003cspan pulumi-lang-nodejs=\"`appSettings`\" pulumi-lang-dotnet=\"`AppSettings`\" pulumi-lang-go=\"`appSettings`\" pulumi-lang-python=\"`app_settings`\" pulumi-lang-yaml=\"`appSettings`\" pulumi-lang-java=\"`appSettings`\"\u003e`app_settings`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`connectionString`\" pulumi-lang-dotnet=\"`ConnectionString`\" pulumi-lang-go=\"`connectionString`\" pulumi-lang-python=\"`connection_string`\" pulumi-lang-yaml=\"`connectionString`\" pulumi-lang-java=\"`connectionString`\"\u003e`connection_string`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`siteConfig`\" pulumi-lang-dotnet=\"`SiteConfig`\" pulumi-lang-go=\"`siteConfig`\" pulumi-lang-python=\"`site_config`\" pulumi-lang-yaml=\"`siteConfig`\" pulumi-lang-java=\"`siteConfig`\"\u003e`site_config`\u003c/span\u003e blocks on the \u003cspan pulumi-lang-nodejs=\"`azure.appservice.AppService`\" pulumi-lang-dotnet=\"`azure.appservice.AppService`\" pulumi-lang-go=\"`appservice.AppService`\" pulumi-lang-python=\"`appservice.AppService`\" pulumi-lang-yaml=\"`azure.appservice.AppService`\" pulumi-lang-java=\"`azure.appservice.AppService`\"\u003e`azure.appservice.AppService`\u003c/span\u003e resource will be overwritten when promoting a Slot using the \u003cspan pulumi-lang-nodejs=\"`azure.appservice.ActiveSlot`\" pulumi-lang-dotnet=\"`azure.appservice.ActiveSlot`\" pulumi-lang-go=\"`appservice.ActiveSlot`\" pulumi-lang-python=\"`appservice.ActiveSlot`\" pulumi-lang-yaml=\"`azure.appservice.ActiveSlot`\" pulumi-lang-java=\"`azure.appservice.ActiveSlot`\"\u003e`azure.appservice.ActiveSlot`\u003c/span\u003e resource.\n\n## Example Usage\n\n### NET 4.X)\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\nimport * as random from \"@pulumi/random\";\n\nconst server = new random.index.Id(\"server\", {\n    keepers: {\n        aziId: 1,\n    },\n    byteLength: 8,\n});\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"some-resource-group\",\n    location: \"West Europe\",\n});\nconst examplePlan = new azure.appservice.Plan(\"example\", {\n    name: \"some-app-service-plan\",\n    location: example.location,\n    resourceGroupName: example.name,\n    sku: {\n        tier: \"Standard\",\n        size: \"S1\",\n    },\n});\nconst exampleAppService = new azure.appservice.AppService(\"example\", {\n    name: server.hex,\n    location: example.location,\n    resourceGroupName: example.name,\n    appServicePlanId: examplePlan.id,\n    siteConfig: {\n        dotnetFrameworkVersion: \"v4.0\",\n    },\n    appSettings: {\n        SOME_KEY: \"some-value\",\n    },\n    connectionStrings: [{\n        name: \"Database\",\n        type: \"SQLServer\",\n        value: \"Server=some-server.mydomain.com;Integrated Security=SSPI\",\n    }],\n});\nconst exampleSlot = new azure.appservice.Slot(\"example\", {\n    name: server.hex,\n    appServiceName: exampleAppService.name,\n    location: example.location,\n    resourceGroupName: example.name,\n    appServicePlanId: examplePlan.id,\n    siteConfig: {\n        dotnetFrameworkVersion: \"v4.0\",\n    },\n    appSettings: {\n        SOME_KEY: \"some-value\",\n    },\n    connectionStrings: [{\n        name: \"Database\",\n        type: \"SQLServer\",\n        value: \"Server=some-server.mydomain.com;Integrated Security=SSPI\",\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\nimport pulumi_random as random\n\nserver = random.index.Id(\"server\",\n    keepers={\n        aziId: 1,\n    },\n    byte_length=8)\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"some-resource-group\",\n    location=\"West Europe\")\nexample_plan = azure.appservice.Plan(\"example\",\n    name=\"some-app-service-plan\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku={\n        \"tier\": \"Standard\",\n        \"size\": \"S1\",\n    })\nexample_app_service = azure.appservice.AppService(\"example\",\n    name=server[\"hex\"],\n    location=example.location,\n    resource_group_name=example.name,\n    app_service_plan_id=example_plan.id,\n    site_config={\n        \"dotnet_framework_version\": \"v4.0\",\n    },\n    app_settings={\n        \"SOME_KEY\": \"some-value\",\n    },\n    connection_strings=[{\n        \"name\": \"Database\",\n        \"type\": \"SQLServer\",\n        \"value\": \"Server=some-server.mydomain.com;Integrated Security=SSPI\",\n    }])\nexample_slot = azure.appservice.Slot(\"example\",\n    name=server[\"hex\"],\n    app_service_name=example_app_service.name,\n    location=example.location,\n    resource_group_name=example.name,\n    app_service_plan_id=example_plan.id,\n    site_config={\n        \"dotnet_framework_version\": \"v4.0\",\n    },\n    app_settings={\n        \"SOME_KEY\": \"some-value\",\n    },\n    connection_strings=[{\n        \"name\": \"Database\",\n        \"type\": \"SQLServer\",\n        \"value\": \"Server=some-server.mydomain.com;Integrated Security=SSPI\",\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var server = new Random.Index.Id(\"server\", new()\n    {\n        Keepers = \n        {\n            { \"aziId\", 1 },\n        },\n        ByteLength = 8,\n    });\n\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"some-resource-group\",\n        Location = \"West Europe\",\n    });\n\n    var examplePlan = new Azure.AppService.Plan(\"example\", new()\n    {\n        Name = \"some-app-service-plan\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Sku = new Azure.AppService.Inputs.PlanSkuArgs\n        {\n            Tier = \"Standard\",\n            Size = \"S1\",\n        },\n    });\n\n    var exampleAppService = new Azure.AppService.AppService(\"example\", new()\n    {\n        Name = server.Hex,\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        AppServicePlanId = examplePlan.Id,\n        SiteConfig = new Azure.AppService.Inputs.AppServiceSiteConfigArgs\n        {\n            DotnetFrameworkVersion = \"v4.0\",\n        },\n        AppSettings = \n        {\n            { \"SOME_KEY\", \"some-value\" },\n        },\n        ConnectionStrings = new[]\n        {\n            new Azure.AppService.Inputs.AppServiceConnectionStringArgs\n            {\n                Name = \"Database\",\n                Type = \"SQLServer\",\n                Value = \"Server=some-server.mydomain.com;Integrated Security=SSPI\",\n            },\n        },\n    });\n\n    var exampleSlot = new Azure.AppService.Slot(\"example\", new()\n    {\n        Name = server.Hex,\n        AppServiceName = exampleAppService.Name,\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        AppServicePlanId = examplePlan.Id,\n        SiteConfig = new Azure.AppService.Inputs.SlotSiteConfigArgs\n        {\n            DotnetFrameworkVersion = \"v4.0\",\n        },\n        AppSettings = \n        {\n            { \"SOME_KEY\", \"some-value\" },\n        },\n        ConnectionStrings = new[]\n        {\n            new Azure.AppService.Inputs.SlotConnectionStringArgs\n            {\n                Name = \"Database\",\n                Type = \"SQLServer\",\n                Value = \"Server=some-server.mydomain.com;Integrated Security=SSPI\",\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/appservice\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tserver, err := random.NewId(ctx, \"server\", \u0026random.IdArgs{\n\t\t\tKeepers: map[string]interface{}{\n\t\t\t\t\"aziId\": 1,\n\t\t\t},\n\t\t\tByteLength: 8,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"some-resource-group\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texamplePlan, err := appservice.NewPlan(ctx, \"example\", \u0026appservice.PlanArgs{\n\t\t\tName:              pulumi.String(\"some-app-service-plan\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSku: \u0026appservice.PlanSkuArgs{\n\t\t\t\tTier: pulumi.String(\"Standard\"),\n\t\t\t\tSize: pulumi.String(\"S1\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAppService, err := appservice.NewAppService(ctx, \"example\", \u0026appservice.AppServiceArgs{\n\t\t\tName:              server.Hex,\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tAppServicePlanId:  examplePlan.ID(),\n\t\t\tSiteConfig: \u0026appservice.AppServiceSiteConfigArgs{\n\t\t\t\tDotnetFrameworkVersion: pulumi.String(\"v4.0\"),\n\t\t\t},\n\t\t\tAppSettings: pulumi.StringMap{\n\t\t\t\t\"SOME_KEY\": pulumi.String(\"some-value\"),\n\t\t\t},\n\t\t\tConnectionStrings: appservice.AppServiceConnectionStringArray{\n\t\t\t\t\u0026appservice.AppServiceConnectionStringArgs{\n\t\t\t\t\tName:  pulumi.String(\"Database\"),\n\t\t\t\t\tType:  pulumi.String(\"SQLServer\"),\n\t\t\t\t\tValue: pulumi.String(\"Server=some-server.mydomain.com;Integrated Security=SSPI\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = appservice.NewSlot(ctx, \"example\", \u0026appservice.SlotArgs{\n\t\t\tName:              server.Hex,\n\t\t\tAppServiceName:    exampleAppService.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tAppServicePlanId:  examplePlan.ID(),\n\t\t\tSiteConfig: \u0026appservice.SlotSiteConfigArgs{\n\t\t\t\tDotnetFrameworkVersion: pulumi.String(\"v4.0\"),\n\t\t\t},\n\t\t\tAppSettings: pulumi.StringMap{\n\t\t\t\t\"SOME_KEY\": pulumi.String(\"some-value\"),\n\t\t\t},\n\t\t\tConnectionStrings: appservice.SlotConnectionStringArray{\n\t\t\t\t\u0026appservice.SlotConnectionStringArgs{\n\t\t\t\t\tName:  pulumi.String(\"Database\"),\n\t\t\t\t\tType:  pulumi.String(\"SQLServer\"),\n\t\t\t\t\tValue: pulumi.String(\"Server=some-server.mydomain.com;Integrated Security=SSPI\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.random.Id;\nimport com.pulumi.random.IdArgs;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.appservice.Plan;\nimport com.pulumi.azure.appservice.PlanArgs;\nimport com.pulumi.azure.appservice.inputs.PlanSkuArgs;\nimport com.pulumi.azure.appservice.AppService;\nimport com.pulumi.azure.appservice.AppServiceArgs;\nimport com.pulumi.azure.appservice.inputs.AppServiceSiteConfigArgs;\nimport com.pulumi.azure.appservice.inputs.AppServiceConnectionStringArgs;\nimport com.pulumi.azure.appservice.Slot;\nimport com.pulumi.azure.appservice.SlotArgs;\nimport com.pulumi.azure.appservice.inputs.SlotSiteConfigArgs;\nimport com.pulumi.azure.appservice.inputs.SlotConnectionStringArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var server = new Id(\"server\", IdArgs.builder()\n            .keepers(Map.of(\"aziId\", 1))\n            .byteLength(8)\n            .build());\n\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"some-resource-group\")\n            .location(\"West Europe\")\n            .build());\n\n        var examplePlan = new Plan(\"examplePlan\", PlanArgs.builder()\n            .name(\"some-app-service-plan\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .sku(PlanSkuArgs.builder()\n                .tier(\"Standard\")\n                .size(\"S1\")\n                .build())\n            .build());\n\n        var exampleAppService = new AppService(\"exampleAppService\", AppServiceArgs.builder()\n            .name(server.hex())\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .appServicePlanId(examplePlan.id())\n            .siteConfig(AppServiceSiteConfigArgs.builder()\n                .dotnetFrameworkVersion(\"v4.0\")\n                .build())\n            .appSettings(Map.of(\"SOME_KEY\", \"some-value\"))\n            .connectionStrings(AppServiceConnectionStringArgs.builder()\n                .name(\"Database\")\n                .type(\"SQLServer\")\n                .value(\"Server=some-server.mydomain.com;Integrated Security=SSPI\")\n                .build())\n            .build());\n\n        var exampleSlot = new Slot(\"exampleSlot\", SlotArgs.builder()\n            .name(server.hex())\n            .appServiceName(exampleAppService.name())\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .appServicePlanId(examplePlan.id())\n            .siteConfig(SlotSiteConfigArgs.builder()\n                .dotnetFrameworkVersion(\"v4.0\")\n                .build())\n            .appSettings(Map.of(\"SOME_KEY\", \"some-value\"))\n            .connectionStrings(SlotConnectionStringArgs.builder()\n                .name(\"Database\")\n                .type(\"SQLServer\")\n                .value(\"Server=some-server.mydomain.com;Integrated Security=SSPI\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  server:\n    type: random:Id\n    properties:\n      keepers:\n        aziId: 1\n      byteLength: 8\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: some-resource-group\n      location: West Europe\n  examplePlan:\n    type: azure:appservice:Plan\n    name: example\n    properties:\n      name: some-app-service-plan\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      sku:\n        tier: Standard\n        size: S1\n  exampleAppService:\n    type: azure:appservice:AppService\n    name: example\n    properties:\n      name: ${server.hex}\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      appServicePlanId: ${examplePlan.id}\n      siteConfig:\n        dotnetFrameworkVersion: v4.0\n      appSettings:\n        SOME_KEY: some-value\n      connectionStrings:\n        - name: Database\n          type: SQLServer\n          value: Server=some-server.mydomain.com;Integrated Security=SSPI\n  exampleSlot:\n    type: azure:appservice:Slot\n    name: example\n    properties:\n      name: ${server.hex}\n      appServiceName: ${exampleAppService.name}\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      appServicePlanId: ${examplePlan.id}\n      siteConfig:\n        dotnetFrameworkVersion: v4.0\n      appSettings:\n        SOME_KEY: some-value\n      connectionStrings:\n        - name: Database\n          type: SQLServer\n          value: Server=some-server.mydomain.com;Integrated Security=SSPI\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\n### Java 1.8)\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\nimport * as random from \"@pulumi/random\";\n\nconst server = new random.index.Id(\"server\", {\n    keepers: {\n        aziId: 1,\n    },\n    byteLength: 8,\n});\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"some-resource-group\",\n    location: \"West Europe\",\n});\nconst examplePlan = new azure.appservice.Plan(\"example\", {\n    name: \"some-app-service-plan\",\n    location: example.location,\n    resourceGroupName: example.name,\n    sku: {\n        tier: \"Standard\",\n        size: \"S1\",\n    },\n});\nconst exampleAppService = new azure.appservice.AppService(\"example\", {\n    name: server.hex,\n    location: example.location,\n    resourceGroupName: example.name,\n    appServicePlanId: examplePlan.id,\n    siteConfig: {\n        javaVersion: \"1.8\",\n        javaContainer: \"JETTY\",\n        javaContainerVersion: \"9.3\",\n    },\n});\nconst exampleSlot = new azure.appservice.Slot(\"example\", {\n    name: server.hex,\n    appServiceName: exampleAppService.name,\n    location: example.location,\n    resourceGroupName: example.name,\n    appServicePlanId: examplePlan.id,\n    siteConfig: {\n        javaVersion: \"1.8\",\n        javaContainer: \"JETTY\",\n        javaContainerVersion: \"9.3\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\nimport pulumi_random as random\n\nserver = random.index.Id(\"server\",\n    keepers={\n        aziId: 1,\n    },\n    byte_length=8)\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"some-resource-group\",\n    location=\"West Europe\")\nexample_plan = azure.appservice.Plan(\"example\",\n    name=\"some-app-service-plan\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku={\n        \"tier\": \"Standard\",\n        \"size\": \"S1\",\n    })\nexample_app_service = azure.appservice.AppService(\"example\",\n    name=server[\"hex\"],\n    location=example.location,\n    resource_group_name=example.name,\n    app_service_plan_id=example_plan.id,\n    site_config={\n        \"java_version\": \"1.8\",\n        \"java_container\": \"JETTY\",\n        \"java_container_version\": \"9.3\",\n    })\nexample_slot = azure.appservice.Slot(\"example\",\n    name=server[\"hex\"],\n    app_service_name=example_app_service.name,\n    location=example.location,\n    resource_group_name=example.name,\n    app_service_plan_id=example_plan.id,\n    site_config={\n        \"java_version\": \"1.8\",\n        \"java_container\": \"JETTY\",\n        \"java_container_version\": \"9.3\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var server = new Random.Index.Id(\"server\", new()\n    {\n        Keepers = \n        {\n            { \"aziId\", 1 },\n        },\n        ByteLength = 8,\n    });\n\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"some-resource-group\",\n        Location = \"West Europe\",\n    });\n\n    var examplePlan = new Azure.AppService.Plan(\"example\", new()\n    {\n        Name = \"some-app-service-plan\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Sku = new Azure.AppService.Inputs.PlanSkuArgs\n        {\n            Tier = \"Standard\",\n            Size = \"S1\",\n        },\n    });\n\n    var exampleAppService = new Azure.AppService.AppService(\"example\", new()\n    {\n        Name = server.Hex,\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        AppServicePlanId = examplePlan.Id,\n        SiteConfig = new Azure.AppService.Inputs.AppServiceSiteConfigArgs\n        {\n            JavaVersion = \"1.8\",\n            JavaContainer = \"JETTY\",\n            JavaContainerVersion = \"9.3\",\n        },\n    });\n\n    var exampleSlot = new Azure.AppService.Slot(\"example\", new()\n    {\n        Name = server.Hex,\n        AppServiceName = exampleAppService.Name,\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        AppServicePlanId = examplePlan.Id,\n        SiteConfig = new Azure.AppService.Inputs.SlotSiteConfigArgs\n        {\n            JavaVersion = \"1.8\",\n            JavaContainer = \"JETTY\",\n            JavaContainerVersion = \"9.3\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/appservice\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tserver, err := random.NewId(ctx, \"server\", \u0026random.IdArgs{\n\t\t\tKeepers: map[string]interface{}{\n\t\t\t\t\"aziId\": 1,\n\t\t\t},\n\t\t\tByteLength: 8,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"some-resource-group\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texamplePlan, err := appservice.NewPlan(ctx, \"example\", \u0026appservice.PlanArgs{\n\t\t\tName:              pulumi.String(\"some-app-service-plan\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSku: \u0026appservice.PlanSkuArgs{\n\t\t\t\tTier: pulumi.String(\"Standard\"),\n\t\t\t\tSize: pulumi.String(\"S1\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAppService, err := appservice.NewAppService(ctx, \"example\", \u0026appservice.AppServiceArgs{\n\t\t\tName:              server.Hex,\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tAppServicePlanId:  examplePlan.ID(),\n\t\t\tSiteConfig: \u0026appservice.AppServiceSiteConfigArgs{\n\t\t\t\tJavaVersion:          pulumi.String(\"1.8\"),\n\t\t\t\tJavaContainer:        pulumi.String(\"JETTY\"),\n\t\t\t\tJavaContainerVersion: pulumi.String(\"9.3\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = appservice.NewSlot(ctx, \"example\", \u0026appservice.SlotArgs{\n\t\t\tName:              server.Hex,\n\t\t\tAppServiceName:    exampleAppService.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tAppServicePlanId:  examplePlan.ID(),\n\t\t\tSiteConfig: \u0026appservice.SlotSiteConfigArgs{\n\t\t\t\tJavaVersion:          pulumi.String(\"1.8\"),\n\t\t\t\tJavaContainer:        pulumi.String(\"JETTY\"),\n\t\t\t\tJavaContainerVersion: pulumi.String(\"9.3\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.random.Id;\nimport com.pulumi.random.IdArgs;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.appservice.Plan;\nimport com.pulumi.azure.appservice.PlanArgs;\nimport com.pulumi.azure.appservice.inputs.PlanSkuArgs;\nimport com.pulumi.azure.appservice.AppService;\nimport com.pulumi.azure.appservice.AppServiceArgs;\nimport com.pulumi.azure.appservice.inputs.AppServiceSiteConfigArgs;\nimport com.pulumi.azure.appservice.Slot;\nimport com.pulumi.azure.appservice.SlotArgs;\nimport com.pulumi.azure.appservice.inputs.SlotSiteConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var server = new Id(\"server\", IdArgs.builder()\n            .keepers(Map.of(\"aziId\", 1))\n            .byteLength(8)\n            .build());\n\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"some-resource-group\")\n            .location(\"West Europe\")\n            .build());\n\n        var examplePlan = new Plan(\"examplePlan\", PlanArgs.builder()\n            .name(\"some-app-service-plan\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .sku(PlanSkuArgs.builder()\n                .tier(\"Standard\")\n                .size(\"S1\")\n                .build())\n            .build());\n\n        var exampleAppService = new AppService(\"exampleAppService\", AppServiceArgs.builder()\n            .name(server.hex())\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .appServicePlanId(examplePlan.id())\n            .siteConfig(AppServiceSiteConfigArgs.builder()\n                .javaVersion(\"1.8\")\n                .javaContainer(\"JETTY\")\n                .javaContainerVersion(\"9.3\")\n                .build())\n            .build());\n\n        var exampleSlot = new Slot(\"exampleSlot\", SlotArgs.builder()\n            .name(server.hex())\n            .appServiceName(exampleAppService.name())\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .appServicePlanId(examplePlan.id())\n            .siteConfig(SlotSiteConfigArgs.builder()\n                .javaVersion(\"1.8\")\n                .javaContainer(\"JETTY\")\n                .javaContainerVersion(\"9.3\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  server:\n    type: random:Id\n    properties:\n      keepers:\n        aziId: 1\n      byteLength: 8\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: some-resource-group\n      location: West Europe\n  examplePlan:\n    type: azure:appservice:Plan\n    name: example\n    properties:\n      name: some-app-service-plan\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      sku:\n        tier: Standard\n        size: S1\n  exampleAppService:\n    type: azure:appservice:AppService\n    name: example\n    properties:\n      name: ${server.hex}\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      appServicePlanId: ${examplePlan.id}\n      siteConfig:\n        javaVersion: '1.8'\n        javaContainer: JETTY\n        javaContainerVersion: '9.3'\n  exampleSlot:\n    type: azure:appservice:Slot\n    name: example\n    properties:\n      name: ${server.hex}\n      appServiceName: ${exampleAppService.name}\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      appServicePlanId: ${examplePlan.id}\n      siteConfig:\n        javaVersion: '1.8'\n        javaContainer: JETTY\n        javaContainerVersion: '9.3'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nApp Service Slots can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:appservice/slot:Slot instance1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Web/sites/website1/slots/instance1\n```\n\n","properties":{"appServiceName":{"type":"string","description":"The name of the App Service within which to create the App Service Slot. Changing this forces a new resource to be created.\n"},"appServicePlanId":{"type":"string","description":"The ID of the App Service Plan within which to create this App Service Slot. Changing this forces a new resource to be created.\n"},"appSettings":{"type":"object","additionalProperties":{"type":"string"},"description":"A key-value pair of App Settings.\n"},"authSettings":{"$ref":"#/types/azure:appservice/SlotAuthSettings:SlotAuthSettings","description":"A \u003cspan pulumi-lang-nodejs=\"`authSettings`\" pulumi-lang-dotnet=\"`AuthSettings`\" pulumi-lang-go=\"`authSettings`\" pulumi-lang-python=\"`auth_settings`\" pulumi-lang-yaml=\"`authSettings`\" pulumi-lang-java=\"`authSettings`\"\u003e`auth_settings`\u003c/span\u003e block as defined below.\n"},"clientAffinityEnabled":{"type":"boolean","description":"Should the App Service Slot send session affinity cookies, which route client requests in the same session to the same instance?\n"},"connectionStrings":{"type":"array","items":{"$ref":"#/types/azure:appservice/SlotConnectionString:SlotConnectionString"},"description":"An \u003cspan pulumi-lang-nodejs=\"`connectionString`\" pulumi-lang-dotnet=\"`ConnectionString`\" pulumi-lang-go=\"`connectionString`\" pulumi-lang-python=\"`connection_string`\" pulumi-lang-yaml=\"`connectionString`\" pulumi-lang-java=\"`connectionString`\"\u003e`connection_string`\u003c/span\u003e block as defined below.\n"},"defaultSiteHostname":{"type":"string","description":"The Default Hostname associated with the App Service Slot - such as `mysite.azurewebsites.net`\n"},"enabled":{"type":"boolean","description":"Is the App Service Slot Enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"httpsOnly":{"type":"boolean","description":"Can the App Service Slot only be accessed via HTTPS? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"identity":{"$ref":"#/types/azure:appservice/SlotIdentity:SlotIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"keyVaultReferenceIdentityId":{"type":"string","description":"The User Assigned Identity Id used for looking up KeyVault secrets. The identity must be assigned to the application. See [Access vaults with a user-assigned identity](https://docs.microsoft.com/azure/app-service/app-service-key-vault-references#access-vaults-with-a-user-assigned-identity) for more information.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n"},"logs":{"$ref":"#/types/azure:appservice/SlotLogs:SlotLogs","description":"A \u003cspan pulumi-lang-nodejs=\"`logs`\" pulumi-lang-dotnet=\"`Logs`\" pulumi-lang-go=\"`logs`\" pulumi-lang-python=\"`logs`\" pulumi-lang-yaml=\"`logs`\" pulumi-lang-java=\"`logs`\"\u003e`logs`\u003c/span\u003e block as defined below.\n"},"name":{"type":"string","description":"Specifies the name of the App Service Slot component. Changing this forces a new resource to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the App Service Slot component. Changing this forces a new resource to be created.\n"},"siteConfig":{"$ref":"#/types/azure:appservice/SlotSiteConfig:SlotSiteConfig","description":"A \u003cspan pulumi-lang-nodejs=\"`siteConfig`\" pulumi-lang-dotnet=\"`SiteConfig`\" pulumi-lang-go=\"`siteConfig`\" pulumi-lang-python=\"`site_config`\" pulumi-lang-yaml=\"`siteConfig`\" pulumi-lang-java=\"`siteConfig`\"\u003e`site_config`\u003c/span\u003e object as defined below.\n"},"siteCredentials":{"type":"array","items":{"$ref":"#/types/azure:appservice/SlotSiteCredential:SlotSiteCredential"},"description":"A \u003cspan pulumi-lang-nodejs=\"`siteCredential`\" pulumi-lang-dotnet=\"`SiteCredential`\" pulumi-lang-go=\"`siteCredential`\" pulumi-lang-python=\"`site_credential`\" pulumi-lang-yaml=\"`siteCredential`\" pulumi-lang-java=\"`siteCredential`\"\u003e`site_credential`\u003c/span\u003e block as defined below, which contains the site-level credentials used to publish to this App Service slot.\n"},"storageAccounts":{"type":"array","items":{"$ref":"#/types/azure:appservice/SlotStorageAccount:SlotStorageAccount"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`storageAccount`\" pulumi-lang-dotnet=\"`StorageAccount`\" pulumi-lang-go=\"`storageAccount`\" pulumi-lang-python=\"`storage_account`\" pulumi-lang-yaml=\"`storageAccount`\" pulumi-lang-java=\"`storageAccount`\"\u003e`storage_account`\u003c/span\u003e blocks as defined below.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"required":["appServiceName","appServicePlanId","appSettings","authSettings","clientAffinityEnabled","connectionStrings","defaultSiteHostname","keyVaultReferenceIdentityId","location","logs","name","resourceGroupName","siteConfig","siteCredentials","storageAccounts"],"inputProperties":{"appServiceName":{"type":"string","description":"The name of the App Service within which to create the App Service Slot. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"appServicePlanId":{"type":"string","description":"The ID of the App Service Plan within which to create this App Service Slot. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"appSettings":{"type":"object","additionalProperties":{"type":"string"},"description":"A key-value pair of App Settings.\n"},"authSettings":{"$ref":"#/types/azure:appservice/SlotAuthSettings:SlotAuthSettings","description":"A \u003cspan pulumi-lang-nodejs=\"`authSettings`\" pulumi-lang-dotnet=\"`AuthSettings`\" pulumi-lang-go=\"`authSettings`\" pulumi-lang-python=\"`auth_settings`\" pulumi-lang-yaml=\"`authSettings`\" pulumi-lang-java=\"`authSettings`\"\u003e`auth_settings`\u003c/span\u003e block as defined below.\n"},"clientAffinityEnabled":{"type":"boolean","description":"Should the App Service Slot send session affinity cookies, which route client requests in the same session to the same instance?\n"},"connectionStrings":{"type":"array","items":{"$ref":"#/types/azure:appservice/SlotConnectionString:SlotConnectionString"},"description":"An \u003cspan pulumi-lang-nodejs=\"`connectionString`\" pulumi-lang-dotnet=\"`ConnectionString`\" pulumi-lang-go=\"`connectionString`\" pulumi-lang-python=\"`connection_string`\" pulumi-lang-yaml=\"`connectionString`\" pulumi-lang-java=\"`connectionString`\"\u003e`connection_string`\u003c/span\u003e block as defined below.\n"},"enabled":{"type":"boolean","description":"Is the App Service Slot Enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"httpsOnly":{"type":"boolean","description":"Can the App Service Slot only be accessed via HTTPS? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"identity":{"$ref":"#/types/azure:appservice/SlotIdentity:SlotIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"keyVaultReferenceIdentityId":{"type":"string","description":"The User Assigned Identity Id used for looking up KeyVault secrets. The identity must be assigned to the application. See [Access vaults with a user-assigned identity](https://docs.microsoft.com/azure/app-service/app-service-key-vault-references#access-vaults-with-a-user-assigned-identity) for more information.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"logs":{"$ref":"#/types/azure:appservice/SlotLogs:SlotLogs","description":"A \u003cspan pulumi-lang-nodejs=\"`logs`\" pulumi-lang-dotnet=\"`Logs`\" pulumi-lang-go=\"`logs`\" pulumi-lang-python=\"`logs`\" pulumi-lang-yaml=\"`logs`\" pulumi-lang-java=\"`logs`\"\u003e`logs`\u003c/span\u003e block as defined below.\n"},"name":{"type":"string","description":"Specifies the name of the App Service Slot component. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the App Service Slot component. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"siteConfig":{"$ref":"#/types/azure:appservice/SlotSiteConfig:SlotSiteConfig","description":"A \u003cspan pulumi-lang-nodejs=\"`siteConfig`\" pulumi-lang-dotnet=\"`SiteConfig`\" pulumi-lang-go=\"`siteConfig`\" pulumi-lang-python=\"`site_config`\" pulumi-lang-yaml=\"`siteConfig`\" pulumi-lang-java=\"`siteConfig`\"\u003e`site_config`\u003c/span\u003e object as defined below.\n"},"storageAccounts":{"type":"array","items":{"$ref":"#/types/azure:appservice/SlotStorageAccount:SlotStorageAccount"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`storageAccount`\" pulumi-lang-dotnet=\"`StorageAccount`\" pulumi-lang-go=\"`storageAccount`\" pulumi-lang-python=\"`storage_account`\" pulumi-lang-yaml=\"`storageAccount`\" pulumi-lang-java=\"`storageAccount`\"\u003e`storage_account`\u003c/span\u003e blocks as defined below.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"requiredInputs":["appServiceName","appServicePlanId","resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering Slot resources.\n","properties":{"appServiceName":{"type":"string","description":"The name of the App Service within which to create the App Service Slot. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"appServicePlanId":{"type":"string","description":"The ID of the App Service Plan within which to create this App Service Slot. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"appSettings":{"type":"object","additionalProperties":{"type":"string"},"description":"A key-value pair of App Settings.\n"},"authSettings":{"$ref":"#/types/azure:appservice/SlotAuthSettings:SlotAuthSettings","description":"A \u003cspan pulumi-lang-nodejs=\"`authSettings`\" pulumi-lang-dotnet=\"`AuthSettings`\" pulumi-lang-go=\"`authSettings`\" pulumi-lang-python=\"`auth_settings`\" pulumi-lang-yaml=\"`authSettings`\" pulumi-lang-java=\"`authSettings`\"\u003e`auth_settings`\u003c/span\u003e block as defined below.\n"},"clientAffinityEnabled":{"type":"boolean","description":"Should the App Service Slot send session affinity cookies, which route client requests in the same session to the same instance?\n"},"connectionStrings":{"type":"array","items":{"$ref":"#/types/azure:appservice/SlotConnectionString:SlotConnectionString"},"description":"An \u003cspan pulumi-lang-nodejs=\"`connectionString`\" pulumi-lang-dotnet=\"`ConnectionString`\" pulumi-lang-go=\"`connectionString`\" pulumi-lang-python=\"`connection_string`\" pulumi-lang-yaml=\"`connectionString`\" pulumi-lang-java=\"`connectionString`\"\u003e`connection_string`\u003c/span\u003e block as defined below.\n"},"defaultSiteHostname":{"type":"string","description":"The Default Hostname associated with the App Service Slot - such as `mysite.azurewebsites.net`\n"},"enabled":{"type":"boolean","description":"Is the App Service Slot Enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"httpsOnly":{"type":"boolean","description":"Can the App Service Slot only be accessed via HTTPS? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"identity":{"$ref":"#/types/azure:appservice/SlotIdentity:SlotIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"keyVaultReferenceIdentityId":{"type":"string","description":"The User Assigned Identity Id used for looking up KeyVault secrets. The identity must be assigned to the application. See [Access vaults with a user-assigned identity](https://docs.microsoft.com/azure/app-service/app-service-key-vault-references#access-vaults-with-a-user-assigned-identity) for more information.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"logs":{"$ref":"#/types/azure:appservice/SlotLogs:SlotLogs","description":"A \u003cspan pulumi-lang-nodejs=\"`logs`\" pulumi-lang-dotnet=\"`Logs`\" pulumi-lang-go=\"`logs`\" pulumi-lang-python=\"`logs`\" pulumi-lang-yaml=\"`logs`\" pulumi-lang-java=\"`logs`\"\u003e`logs`\u003c/span\u003e block as defined below.\n"},"name":{"type":"string","description":"Specifies the name of the App Service Slot component. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the App Service Slot component. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"siteConfig":{"$ref":"#/types/azure:appservice/SlotSiteConfig:SlotSiteConfig","description":"A \u003cspan pulumi-lang-nodejs=\"`siteConfig`\" pulumi-lang-dotnet=\"`SiteConfig`\" pulumi-lang-go=\"`siteConfig`\" pulumi-lang-python=\"`site_config`\" pulumi-lang-yaml=\"`siteConfig`\" pulumi-lang-java=\"`siteConfig`\"\u003e`site_config`\u003c/span\u003e object as defined below.\n"},"siteCredentials":{"type":"array","items":{"$ref":"#/types/azure:appservice/SlotSiteCredential:SlotSiteCredential"},"description":"A \u003cspan pulumi-lang-nodejs=\"`siteCredential`\" pulumi-lang-dotnet=\"`SiteCredential`\" pulumi-lang-go=\"`siteCredential`\" pulumi-lang-python=\"`site_credential`\" pulumi-lang-yaml=\"`siteCredential`\" pulumi-lang-java=\"`siteCredential`\"\u003e`site_credential`\u003c/span\u003e block as defined below, which contains the site-level credentials used to publish to this App Service slot.\n"},"storageAccounts":{"type":"array","items":{"$ref":"#/types/azure:appservice/SlotStorageAccount:SlotStorageAccount"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`storageAccount`\" pulumi-lang-dotnet=\"`StorageAccount`\" pulumi-lang-go=\"`storageAccount`\" pulumi-lang-python=\"`storage_account`\" pulumi-lang-yaml=\"`storageAccount`\" pulumi-lang-java=\"`storageAccount`\"\u003e`storage_account`\u003c/span\u003e blocks as defined below.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"type":"object"}},"azure:appservice/slotCustomHostnameBinding:SlotCustomHostnameBinding":{"description":"Manages a Hostname Binding within an App Service Slot.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"some-resource-group\",\n    location: \"West Europe\",\n});\nconst examplePlan = new azure.appservice.Plan(\"example\", {\n    name: \"some-app-service-plan\",\n    location: example.location,\n    resourceGroupName: example.name,\n    sku: {\n        tier: \"Standard\",\n        size: \"S1\",\n    },\n});\nconst exampleAppService = new azure.appservice.AppService(\"example\", {\n    name: \"some-app-service\",\n    location: example.location,\n    resourceGroupName: example.name,\n    appServicePlanId: examplePlan.id,\n});\nconst exampleSlot = new azure.appservice.Slot(\"example\", {\n    name: \"staging\",\n    location: example.location,\n    resourceGroupName: example.name,\n    appServiceName: exampleAppService.name,\n    appServicePlanId: examplePlan.id,\n});\nconst exampleSlotCustomHostnameBinding = new azure.appservice.SlotCustomHostnameBinding(\"example\", {\n    appServiceSlotId: exampleSlot.id,\n    hostname: \"www.mywebsite.com\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"some-resource-group\",\n    location=\"West Europe\")\nexample_plan = azure.appservice.Plan(\"example\",\n    name=\"some-app-service-plan\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku={\n        \"tier\": \"Standard\",\n        \"size\": \"S1\",\n    })\nexample_app_service = azure.appservice.AppService(\"example\",\n    name=\"some-app-service\",\n    location=example.location,\n    resource_group_name=example.name,\n    app_service_plan_id=example_plan.id)\nexample_slot = azure.appservice.Slot(\"example\",\n    name=\"staging\",\n    location=example.location,\n    resource_group_name=example.name,\n    app_service_name=example_app_service.name,\n    app_service_plan_id=example_plan.id)\nexample_slot_custom_hostname_binding = azure.appservice.SlotCustomHostnameBinding(\"example\",\n    app_service_slot_id=example_slot.id,\n    hostname=\"www.mywebsite.com\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"some-resource-group\",\n        Location = \"West Europe\",\n    });\n\n    var examplePlan = new Azure.AppService.Plan(\"example\", new()\n    {\n        Name = \"some-app-service-plan\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Sku = new Azure.AppService.Inputs.PlanSkuArgs\n        {\n            Tier = \"Standard\",\n            Size = \"S1\",\n        },\n    });\n\n    var exampleAppService = new Azure.AppService.AppService(\"example\", new()\n    {\n        Name = \"some-app-service\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        AppServicePlanId = examplePlan.Id,\n    });\n\n    var exampleSlot = new Azure.AppService.Slot(\"example\", new()\n    {\n        Name = \"staging\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        AppServiceName = exampleAppService.Name,\n        AppServicePlanId = examplePlan.Id,\n    });\n\n    var exampleSlotCustomHostnameBinding = new Azure.AppService.SlotCustomHostnameBinding(\"example\", new()\n    {\n        AppServiceSlotId = exampleSlot.Id,\n        Hostname = \"www.mywebsite.com\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/appservice\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"some-resource-group\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texamplePlan, err := appservice.NewPlan(ctx, \"example\", \u0026appservice.PlanArgs{\n\t\t\tName:              pulumi.String(\"some-app-service-plan\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSku: \u0026appservice.PlanSkuArgs{\n\t\t\t\tTier: pulumi.String(\"Standard\"),\n\t\t\t\tSize: pulumi.String(\"S1\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAppService, err := appservice.NewAppService(ctx, \"example\", \u0026appservice.AppServiceArgs{\n\t\t\tName:              pulumi.String(\"some-app-service\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tAppServicePlanId:  examplePlan.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSlot, err := appservice.NewSlot(ctx, \"example\", \u0026appservice.SlotArgs{\n\t\t\tName:              pulumi.String(\"staging\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tAppServiceName:    exampleAppService.Name,\n\t\t\tAppServicePlanId:  examplePlan.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = appservice.NewSlotCustomHostnameBinding(ctx, \"example\", \u0026appservice.SlotCustomHostnameBindingArgs{\n\t\t\tAppServiceSlotId: exampleSlot.ID(),\n\t\t\tHostname:         pulumi.String(\"www.mywebsite.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.appservice.Plan;\nimport com.pulumi.azure.appservice.PlanArgs;\nimport com.pulumi.azure.appservice.inputs.PlanSkuArgs;\nimport com.pulumi.azure.appservice.AppService;\nimport com.pulumi.azure.appservice.AppServiceArgs;\nimport com.pulumi.azure.appservice.Slot;\nimport com.pulumi.azure.appservice.SlotArgs;\nimport com.pulumi.azure.appservice.SlotCustomHostnameBinding;\nimport com.pulumi.azure.appservice.SlotCustomHostnameBindingArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"some-resource-group\")\n            .location(\"West Europe\")\n            .build());\n\n        var examplePlan = new Plan(\"examplePlan\", PlanArgs.builder()\n            .name(\"some-app-service-plan\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .sku(PlanSkuArgs.builder()\n                .tier(\"Standard\")\n                .size(\"S1\")\n                .build())\n            .build());\n\n        var exampleAppService = new AppService(\"exampleAppService\", AppServiceArgs.builder()\n            .name(\"some-app-service\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .appServicePlanId(examplePlan.id())\n            .build());\n\n        var exampleSlot = new Slot(\"exampleSlot\", SlotArgs.builder()\n            .name(\"staging\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .appServiceName(exampleAppService.name())\n            .appServicePlanId(examplePlan.id())\n            .build());\n\n        var exampleSlotCustomHostnameBinding = new SlotCustomHostnameBinding(\"exampleSlotCustomHostnameBinding\", SlotCustomHostnameBindingArgs.builder()\n            .appServiceSlotId(exampleSlot.id())\n            .hostname(\"www.mywebsite.com\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: some-resource-group\n      location: West Europe\n  examplePlan:\n    type: azure:appservice:Plan\n    name: example\n    properties:\n      name: some-app-service-plan\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      sku:\n        tier: Standard\n        size: S1\n  exampleAppService:\n    type: azure:appservice:AppService\n    name: example\n    properties:\n      name: some-app-service\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      appServicePlanId: ${examplePlan.id}\n  exampleSlot:\n    type: azure:appservice:Slot\n    name: example\n    properties:\n      name: staging\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      appServiceName: ${exampleAppService.name}\n      appServicePlanId: ${examplePlan.id}\n  exampleSlotCustomHostnameBinding:\n    type: azure:appservice:SlotCustomHostnameBinding\n    name: example\n    properties:\n      appServiceSlotId: ${exampleSlot.id}\n      hostname: www.mywebsite.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nApp Service Custom Hostname Bindings can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:appservice/slotCustomHostnameBinding:SlotCustomHostnameBinding mywebsite /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Web/sites/instance1/slots/staging/hostNameBindings/mywebsite.com\n```\n\n","properties":{"appServiceSlotId":{"type":"string","description":"The ID of the App Service Slot. Changing this forces a new resource to be created.\n"},"hostname":{"type":"string","description":"Specifies the Custom Hostname to use for the App Service, example `www.example.com`. Changing this forces a new resource to be created.\n\n\u003e **Note:** A CNAME needs to be configured from this Hostname to the Azure Website - otherwise Azure will reject the Hostname Binding.\n"},"sslState":{"type":"string","description":"The SSL type. Possible values are `IpBasedEnabled` and `SniEnabled`. Changing this forces a new resource to be created.\n"},"thumbprint":{"type":"string","description":"The SSL certificate thumbprint. Changing this forces a new resource to be created.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`thumbprint`\" pulumi-lang-dotnet=\"`Thumbprint`\" pulumi-lang-go=\"`thumbprint`\" pulumi-lang-python=\"`thumbprint`\" pulumi-lang-yaml=\"`thumbprint`\" pulumi-lang-java=\"`thumbprint`\"\u003e`thumbprint`\u003c/span\u003e must be specified when \u003cspan pulumi-lang-nodejs=\"`sslState`\" pulumi-lang-dotnet=\"`SslState`\" pulumi-lang-go=\"`sslState`\" pulumi-lang-python=\"`ssl_state`\" pulumi-lang-yaml=\"`sslState`\" pulumi-lang-java=\"`sslState`\"\u003e`ssl_state`\u003c/span\u003e is set.\n"},"virtualIp":{"type":"string","description":"The virtual IP address assigned to the hostname if IP based SSL is enabled.\n"}},"required":["appServiceSlotId","hostname","sslState","thumbprint","virtualIp"],"inputProperties":{"appServiceSlotId":{"type":"string","description":"The ID of the App Service Slot. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"hostname":{"type":"string","description":"Specifies the Custom Hostname to use for the App Service, example `www.example.com`. Changing this forces a new resource to be created.\n\n\u003e **Note:** A CNAME needs to be configured from this Hostname to the Azure Website - otherwise Azure will reject the Hostname Binding.\n","willReplaceOnChanges":true},"sslState":{"type":"string","description":"The SSL type. Possible values are `IpBasedEnabled` and `SniEnabled`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"thumbprint":{"type":"string","description":"The SSL certificate thumbprint. Changing this forces a new resource to be created.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`thumbprint`\" pulumi-lang-dotnet=\"`Thumbprint`\" pulumi-lang-go=\"`thumbprint`\" pulumi-lang-python=\"`thumbprint`\" pulumi-lang-yaml=\"`thumbprint`\" pulumi-lang-java=\"`thumbprint`\"\u003e`thumbprint`\u003c/span\u003e must be specified when \u003cspan pulumi-lang-nodejs=\"`sslState`\" pulumi-lang-dotnet=\"`SslState`\" pulumi-lang-go=\"`sslState`\" pulumi-lang-python=\"`ssl_state`\" pulumi-lang-yaml=\"`sslState`\" pulumi-lang-java=\"`sslState`\"\u003e`ssl_state`\u003c/span\u003e is set.\n","willReplaceOnChanges":true}},"requiredInputs":["appServiceSlotId","hostname"],"stateInputs":{"description":"Input properties used for looking up and filtering SlotCustomHostnameBinding resources.\n","properties":{"appServiceSlotId":{"type":"string","description":"The ID of the App Service Slot. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"hostname":{"type":"string","description":"Specifies the Custom Hostname to use for the App Service, example `www.example.com`. Changing this forces a new resource to be created.\n\n\u003e **Note:** A CNAME needs to be configured from this Hostname to the Azure Website - otherwise Azure will reject the Hostname Binding.\n","willReplaceOnChanges":true},"sslState":{"type":"string","description":"The SSL type. Possible values are `IpBasedEnabled` and `SniEnabled`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"thumbprint":{"type":"string","description":"The SSL certificate thumbprint. Changing this forces a new resource to be created.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`thumbprint`\" pulumi-lang-dotnet=\"`Thumbprint`\" pulumi-lang-go=\"`thumbprint`\" pulumi-lang-python=\"`thumbprint`\" pulumi-lang-yaml=\"`thumbprint`\" pulumi-lang-java=\"`thumbprint`\"\u003e`thumbprint`\u003c/span\u003e must be specified when \u003cspan pulumi-lang-nodejs=\"`sslState`\" pulumi-lang-dotnet=\"`SslState`\" pulumi-lang-go=\"`sslState`\" pulumi-lang-python=\"`ssl_state`\" pulumi-lang-yaml=\"`sslState`\" pulumi-lang-java=\"`sslState`\"\u003e`ssl_state`\u003c/span\u003e is set.\n","willReplaceOnChanges":true},"virtualIp":{"type":"string","description":"The virtual IP address assigned to the hostname if IP based SSL is enabled.\n"}},"type":"object"}},"azure:appservice/slotVirtualNetworkSwiftConnection:SlotVirtualNetworkSwiftConnection":{"description":"Manages an App Service Slot's Virtual Network Association (this is for the [Regional VNet Integration](https://docs.microsoft.com/azure/app-service/web-sites-integrate-with-vnet#regional-vnet-integration) which is still in preview).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"example\", {\n    name: \"example-virtual-network\",\n    addressSpaces: [\"10.0.0.0/16\"],\n    location: example.location,\n    resourceGroupName: example.name,\n});\nconst exampleSubnet = new azure.network.Subnet(\"example\", {\n    name: \"example-subnet\",\n    resourceGroupName: example.name,\n    virtualNetworkName: exampleVirtualNetwork.name,\n    addressPrefixes: [\"10.0.1.0/24\"],\n    delegations: [{\n        name: \"example-delegation\",\n        serviceDelegation: {\n            name: \"Microsoft.Web/serverFarms\",\n            actions: [\"Microsoft.Network/virtualNetworks/subnets/action\"],\n        },\n    }],\n});\nconst examplePlan = new azure.appservice.Plan(\"example\", {\n    name: \"example-service-plan\",\n    location: example.location,\n    resourceGroupName: example.name,\n    sku: {\n        tier: \"Standard\",\n        size: \"S1\",\n    },\n});\nconst exampleAppService = new azure.appservice.AppService(\"example\", {\n    name: \"example-app-service\",\n    location: example.location,\n    resourceGroupName: example.name,\n    appServicePlanId: examplePlan.id,\n});\nconst example_staging = new azure.appservice.Slot(\"example-staging\", {\n    name: \"staging\",\n    appServiceName: exampleAppService.name,\n    location: example.location,\n    resourceGroupName: example.name,\n    appServicePlanId: examplePlan.id,\n});\nconst exampleSlotVirtualNetworkSwiftConnection = new azure.appservice.SlotVirtualNetworkSwiftConnection(\"example\", {\n    slotName: example_staging.name,\n    appServiceId: exampleAppService.id,\n    subnetId: exampleSubnet.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_virtual_network = azure.network.VirtualNetwork(\"example\",\n    name=\"example-virtual-network\",\n    address_spaces=[\"10.0.0.0/16\"],\n    location=example.location,\n    resource_group_name=example.name)\nexample_subnet = azure.network.Subnet(\"example\",\n    name=\"example-subnet\",\n    resource_group_name=example.name,\n    virtual_network_name=example_virtual_network.name,\n    address_prefixes=[\"10.0.1.0/24\"],\n    delegations=[{\n        \"name\": \"example-delegation\",\n        \"service_delegation\": {\n            \"name\": \"Microsoft.Web/serverFarms\",\n            \"actions\": [\"Microsoft.Network/virtualNetworks/subnets/action\"],\n        },\n    }])\nexample_plan = azure.appservice.Plan(\"example\",\n    name=\"example-service-plan\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku={\n        \"tier\": \"Standard\",\n        \"size\": \"S1\",\n    })\nexample_app_service = azure.appservice.AppService(\"example\",\n    name=\"example-app-service\",\n    location=example.location,\n    resource_group_name=example.name,\n    app_service_plan_id=example_plan.id)\nexample_staging = azure.appservice.Slot(\"example-staging\",\n    name=\"staging\",\n    app_service_name=example_app_service.name,\n    location=example.location,\n    resource_group_name=example.name,\n    app_service_plan_id=example_plan.id)\nexample_slot_virtual_network_swift_connection = azure.appservice.SlotVirtualNetworkSwiftConnection(\"example\",\n    slot_name=example_staging.name,\n    app_service_id=example_app_service.id,\n    subnet_id=example_subnet.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleVirtualNetwork = new Azure.Network.VirtualNetwork(\"example\", new()\n    {\n        Name = \"example-virtual-network\",\n        AddressSpaces = new[]\n        {\n            \"10.0.0.0/16\",\n        },\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n    });\n\n    var exampleSubnet = new Azure.Network.Subnet(\"example\", new()\n    {\n        Name = \"example-subnet\",\n        ResourceGroupName = example.Name,\n        VirtualNetworkName = exampleVirtualNetwork.Name,\n        AddressPrefixes = new[]\n        {\n            \"10.0.1.0/24\",\n        },\n        Delegations = new[]\n        {\n            new Azure.Network.Inputs.SubnetDelegationArgs\n            {\n                Name = \"example-delegation\",\n                ServiceDelegation = new Azure.Network.Inputs.SubnetDelegationServiceDelegationArgs\n                {\n                    Name = \"Microsoft.Web/serverFarms\",\n                    Actions = new[]\n                    {\n                        \"Microsoft.Network/virtualNetworks/subnets/action\",\n                    },\n                },\n            },\n        },\n    });\n\n    var examplePlan = new Azure.AppService.Plan(\"example\", new()\n    {\n        Name = \"example-service-plan\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Sku = new Azure.AppService.Inputs.PlanSkuArgs\n        {\n            Tier = \"Standard\",\n            Size = \"S1\",\n        },\n    });\n\n    var exampleAppService = new Azure.AppService.AppService(\"example\", new()\n    {\n        Name = \"example-app-service\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        AppServicePlanId = examplePlan.Id,\n    });\n\n    var example_staging = new Azure.AppService.Slot(\"example-staging\", new()\n    {\n        Name = \"staging\",\n        AppServiceName = exampleAppService.Name,\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        AppServicePlanId = examplePlan.Id,\n    });\n\n    var exampleSlotVirtualNetworkSwiftConnection = new Azure.AppService.SlotVirtualNetworkSwiftConnection(\"example\", new()\n    {\n        SlotName = example_staging.Name,\n        AppServiceId = exampleAppService.Id,\n        SubnetId = exampleSubnet.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/appservice\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, \"example\", \u0026network.VirtualNetworkArgs{\n\t\t\tName: pulumi.String(\"example-virtual-network\"),\n\t\t\tAddressSpaces: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.0.0/16\"),\n\t\t\t},\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSubnet, err := network.NewSubnet(ctx, \"example\", \u0026network.SubnetArgs{\n\t\t\tName:               pulumi.String(\"example-subnet\"),\n\t\t\tResourceGroupName:  example.Name,\n\t\t\tVirtualNetworkName: exampleVirtualNetwork.Name,\n\t\t\tAddressPrefixes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.1.0/24\"),\n\t\t\t},\n\t\t\tDelegations: network.SubnetDelegationArray{\n\t\t\t\t\u0026network.SubnetDelegationArgs{\n\t\t\t\t\tName: pulumi.String(\"example-delegation\"),\n\t\t\t\t\tServiceDelegation: \u0026network.SubnetDelegationServiceDelegationArgs{\n\t\t\t\t\t\tName: pulumi.String(\"Microsoft.Web/serverFarms\"),\n\t\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"Microsoft.Network/virtualNetworks/subnets/action\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texamplePlan, err := appservice.NewPlan(ctx, \"example\", \u0026appservice.PlanArgs{\n\t\t\tName:              pulumi.String(\"example-service-plan\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSku: \u0026appservice.PlanSkuArgs{\n\t\t\t\tTier: pulumi.String(\"Standard\"),\n\t\t\t\tSize: pulumi.String(\"S1\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAppService, err := appservice.NewAppService(ctx, \"example\", \u0026appservice.AppServiceArgs{\n\t\t\tName:              pulumi.String(\"example-app-service\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tAppServicePlanId:  examplePlan.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample_staging, err := appservice.NewSlot(ctx, \"example-staging\", \u0026appservice.SlotArgs{\n\t\t\tName:              pulumi.String(\"staging\"),\n\t\t\tAppServiceName:    exampleAppService.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tAppServicePlanId:  examplePlan.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = appservice.NewSlotVirtualNetworkSwiftConnection(ctx, \"example\", \u0026appservice.SlotVirtualNetworkSwiftConnectionArgs{\n\t\t\tSlotName:     example_staging.Name,\n\t\t\tAppServiceId: exampleAppService.ID(),\n\t\t\tSubnetId:     exampleSubnet.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.VirtualNetwork;\nimport com.pulumi.azure.network.VirtualNetworkArgs;\nimport com.pulumi.azure.network.Subnet;\nimport com.pulumi.azure.network.SubnetArgs;\nimport com.pulumi.azure.network.inputs.SubnetDelegationArgs;\nimport com.pulumi.azure.network.inputs.SubnetDelegationServiceDelegationArgs;\nimport com.pulumi.azure.appservice.Plan;\nimport com.pulumi.azure.appservice.PlanArgs;\nimport com.pulumi.azure.appservice.inputs.PlanSkuArgs;\nimport com.pulumi.azure.appservice.AppService;\nimport com.pulumi.azure.appservice.AppServiceArgs;\nimport com.pulumi.azure.appservice.Slot;\nimport com.pulumi.azure.appservice.SlotArgs;\nimport com.pulumi.azure.appservice.SlotVirtualNetworkSwiftConnection;\nimport com.pulumi.azure.appservice.SlotVirtualNetworkSwiftConnectionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleVirtualNetwork = new VirtualNetwork(\"exampleVirtualNetwork\", VirtualNetworkArgs.builder()\n            .name(\"example-virtual-network\")\n            .addressSpaces(\"10.0.0.0/16\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .build());\n\n        var exampleSubnet = new Subnet(\"exampleSubnet\", SubnetArgs.builder()\n            .name(\"example-subnet\")\n            .resourceGroupName(example.name())\n            .virtualNetworkName(exampleVirtualNetwork.name())\n            .addressPrefixes(\"10.0.1.0/24\")\n            .delegations(SubnetDelegationArgs.builder()\n                .name(\"example-delegation\")\n                .serviceDelegation(SubnetDelegationServiceDelegationArgs.builder()\n                    .name(\"Microsoft.Web/serverFarms\")\n                    .actions(\"Microsoft.Network/virtualNetworks/subnets/action\")\n                    .build())\n                .build())\n            .build());\n\n        var examplePlan = new Plan(\"examplePlan\", PlanArgs.builder()\n            .name(\"example-service-plan\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .sku(PlanSkuArgs.builder()\n                .tier(\"Standard\")\n                .size(\"S1\")\n                .build())\n            .build());\n\n        var exampleAppService = new AppService(\"exampleAppService\", AppServiceArgs.builder()\n            .name(\"example-app-service\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .appServicePlanId(examplePlan.id())\n            .build());\n\n        var example_staging = new Slot(\"example-staging\", SlotArgs.builder()\n            .name(\"staging\")\n            .appServiceName(exampleAppService.name())\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .appServicePlanId(examplePlan.id())\n            .build());\n\n        var exampleSlotVirtualNetworkSwiftConnection = new SlotVirtualNetworkSwiftConnection(\"exampleSlotVirtualNetworkSwiftConnection\", SlotVirtualNetworkSwiftConnectionArgs.builder()\n            .slotName(example_staging.name())\n            .appServiceId(exampleAppService.id())\n            .subnetId(exampleSubnet.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleVirtualNetwork:\n    type: azure:network:VirtualNetwork\n    name: example\n    properties:\n      name: example-virtual-network\n      addressSpaces:\n        - 10.0.0.0/16\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n  exampleSubnet:\n    type: azure:network:Subnet\n    name: example\n    properties:\n      name: example-subnet\n      resourceGroupName: ${example.name}\n      virtualNetworkName: ${exampleVirtualNetwork.name}\n      addressPrefixes:\n        - 10.0.1.0/24\n      delegations:\n        - name: example-delegation\n          serviceDelegation:\n            name: Microsoft.Web/serverFarms\n            actions:\n              - Microsoft.Network/virtualNetworks/subnets/action\n  examplePlan:\n    type: azure:appservice:Plan\n    name: example\n    properties:\n      name: example-service-plan\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      sku:\n        tier: Standard\n        size: S1\n  exampleAppService:\n    type: azure:appservice:AppService\n    name: example\n    properties:\n      name: example-app-service\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      appServicePlanId: ${examplePlan.id}\n  example-staging:\n    type: azure:appservice:Slot\n    properties:\n      name: staging\n      appServiceName: ${exampleAppService.name}\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      appServicePlanId: ${examplePlan.id}\n  exampleSlotVirtualNetworkSwiftConnection:\n    type: azure:appservice:SlotVirtualNetworkSwiftConnection\n    name: example\n    properties:\n      slotName: ${[\"example-staging\"].name}\n      appServiceId: ${exampleAppService.id}\n      subnetId: ${exampleSubnet.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nApp Service Slot Virtual Network Associations can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:appservice/slotVirtualNetworkSwiftConnection:SlotVirtualNetworkSwiftConnection myassociation /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Web/sites/instance1/slots/staging/config/virtualNetwork\n```\n\n","properties":{"appServiceId":{"type":"string","description":"The ID of the App Service or Function App to associate to the VNet. Changing this forces a new resource to be created.\n"},"slotName":{"type":"string","description":"The name of the App Service Slot or Function App Slot. Changing this forces a new resource to be created.\n"},"subnetId":{"type":"string","description":"The ID of the subnet the app service will be associated to (the subnet must have a \u003cspan pulumi-lang-nodejs=\"`serviceDelegation`\" pulumi-lang-dotnet=\"`ServiceDelegation`\" pulumi-lang-go=\"`serviceDelegation`\" pulumi-lang-python=\"`service_delegation`\" pulumi-lang-yaml=\"`serviceDelegation`\" pulumi-lang-java=\"`serviceDelegation`\"\u003e`service_delegation`\u003c/span\u003e configured for `Microsoft.Web/serverFarms`).\n"}},"required":["appServiceId","slotName","subnetId"],"inputProperties":{"appServiceId":{"type":"string","description":"The ID of the App Service or Function App to associate to the VNet. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"slotName":{"type":"string","description":"The name of the App Service Slot or Function App Slot. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"subnetId":{"type":"string","description":"The ID of the subnet the app service will be associated to (the subnet must have a \u003cspan pulumi-lang-nodejs=\"`serviceDelegation`\" pulumi-lang-dotnet=\"`ServiceDelegation`\" pulumi-lang-go=\"`serviceDelegation`\" pulumi-lang-python=\"`service_delegation`\" pulumi-lang-yaml=\"`serviceDelegation`\" pulumi-lang-java=\"`serviceDelegation`\"\u003e`service_delegation`\u003c/span\u003e configured for `Microsoft.Web/serverFarms`).\n"}},"requiredInputs":["appServiceId","slotName","subnetId"],"stateInputs":{"description":"Input properties used for looking up and filtering SlotVirtualNetworkSwiftConnection resources.\n","properties":{"appServiceId":{"type":"string","description":"The ID of the App Service or Function App to associate to the VNet. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"slotName":{"type":"string","description":"The name of the App Service Slot or Function App Slot. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"subnetId":{"type":"string","description":"The ID of the subnet the app service will be associated to (the subnet must have a \u003cspan pulumi-lang-nodejs=\"`serviceDelegation`\" pulumi-lang-dotnet=\"`ServiceDelegation`\" pulumi-lang-go=\"`serviceDelegation`\" pulumi-lang-python=\"`service_delegation`\" pulumi-lang-yaml=\"`serviceDelegation`\" pulumi-lang-java=\"`serviceDelegation`\"\u003e`service_delegation`\u003c/span\u003e configured for `Microsoft.Web/serverFarms`).\n"}},"type":"object"}},"azure:appservice/sourceCodeToken:SourceCodeToken":{"description":"Manages an App Service source control token.\n\n!\u003e **NOTE:** This resource has been deprecated in version 5.0 of the provider and will be removed in version 6.0. Please use \u003cspan pulumi-lang-nodejs=\"`azure.appservice.ServicePlan`\" pulumi-lang-dotnet=\"`azure.appservice.ServicePlan`\" pulumi-lang-go=\"`appservice.ServicePlan`\" pulumi-lang-python=\"`appservice.ServicePlan`\" pulumi-lang-yaml=\"`azure.appservice.ServicePlan`\" pulumi-lang-java=\"`azure.appservice.ServicePlan`\"\u003e`azure.appservice.ServicePlan`\u003c/span\u003e resource instead.\n\n\u003e **NOTE:** Source Control Tokens are configured at the subscription level, not on each App Service - as such this can only be configured Subscription-wide\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.appservice.SourceCodeToken(\"example\", {\n    type: \"GitHub\",\n    token: \"7e57735e77e577e57\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.appservice.SourceCodeToken(\"example\",\n    type=\"GitHub\",\n    token=\"7e57735e77e577e57\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.AppService.SourceCodeToken(\"example\", new()\n    {\n        Type = \"GitHub\",\n        Token = \"7e57735e77e577e57\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/appservice\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := appservice.NewSourceCodeToken(ctx, \"example\", \u0026appservice.SourceCodeTokenArgs{\n\t\t\tType:  pulumi.String(\"GitHub\"),\n\t\t\tToken: pulumi.String(\"7e57735e77e577e57\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.appservice.SourceCodeToken;\nimport com.pulumi.azure.appservice.SourceCodeTokenArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new SourceCodeToken(\"example\", SourceCodeTokenArgs.builder()\n            .type(\"GitHub\")\n            .token(\"7e57735e77e577e57\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:appservice:SourceCodeToken\n    properties:\n      type: GitHub\n      token: 7e57735e77e577e57\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nApp Service Source Control Token's can be imported using the \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e, e.g.\n\n```sh\n$ pulumi import azure:appservice/sourceCodeToken:SourceCodeToken example {type}\n```\n\n","properties":{"token":{"type":"string","description":"The OAuth access token.\n","secret":true},"tokenSecret":{"type":"string","description":"The OAuth access token secret.\n","secret":true},"type":{"type":"string","description":"The source control type. Possible values are `BitBucket`, `Dropbox`, `GitHub` and `OneDrive`.\n"}},"required":["token","type"],"inputProperties":{"token":{"type":"string","description":"The OAuth access token.\n","secret":true},"tokenSecret":{"type":"string","description":"The OAuth access token secret.\n","secret":true},"type":{"type":"string","description":"The source control type. Possible values are `BitBucket`, `Dropbox`, `GitHub` and `OneDrive`.\n"}},"requiredInputs":["token","type"],"stateInputs":{"description":"Input properties used for looking up and filtering SourceCodeToken resources.\n","properties":{"token":{"type":"string","description":"The OAuth access token.\n","secret":true},"tokenSecret":{"type":"string","description":"The OAuth access token secret.\n","secret":true},"type":{"type":"string","description":"The source control type. Possible values are `BitBucket`, `Dropbox`, `GitHub` and `OneDrive`.\n"}},"type":"object"}},"azure:appservice/sourceControl:SourceControl":{"description":"Manages an App Service Web App or Function App Source Control Configuration.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleServicePlan = new azure.appservice.ServicePlan(\"example\", {\n    name: \"example\",\n    resourceGroupName: example.name,\n    location: example.location,\n    osType: \"Linux\",\n    skuName: \"P1v2\",\n});\nconst exampleLinuxWebApp = new azure.appservice.LinuxWebApp(\"example\", {\n    name: \"example\",\n    resourceGroupName: example.name,\n    location: exampleServicePlan.location,\n    servicePlanId: exampleServicePlan.id,\n    siteConfig: {},\n});\nconst exampleSourceControl = new azure.appservice.SourceControl(\"example\", {\n    appId: exampleLinuxWebApp.id,\n    repoUrl: \"https://github.com/Azure-Samples/python-docs-hello-world\",\n    branch: \"master\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_service_plan = azure.appservice.ServicePlan(\"example\",\n    name=\"example\",\n    resource_group_name=example.name,\n    location=example.location,\n    os_type=\"Linux\",\n    sku_name=\"P1v2\")\nexample_linux_web_app = azure.appservice.LinuxWebApp(\"example\",\n    name=\"example\",\n    resource_group_name=example.name,\n    location=example_service_plan.location,\n    service_plan_id=example_service_plan.id,\n    site_config={})\nexample_source_control = azure.appservice.SourceControl(\"example\",\n    app_id=example_linux_web_app.id,\n    repo_url=\"https://github.com/Azure-Samples/python-docs-hello-world\",\n    branch=\"master\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleServicePlan = new Azure.AppService.ServicePlan(\"example\", new()\n    {\n        Name = \"example\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        OsType = \"Linux\",\n        SkuName = \"P1v2\",\n    });\n\n    var exampleLinuxWebApp = new Azure.AppService.LinuxWebApp(\"example\", new()\n    {\n        Name = \"example\",\n        ResourceGroupName = example.Name,\n        Location = exampleServicePlan.Location,\n        ServicePlanId = exampleServicePlan.Id,\n        SiteConfig = null,\n    });\n\n    var exampleSourceControl = new Azure.AppService.SourceControl(\"example\", new()\n    {\n        AppId = exampleLinuxWebApp.Id,\n        RepoUrl = \"https://github.com/Azure-Samples/python-docs-hello-world\",\n        Branch = \"master\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/appservice\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleServicePlan, err := appservice.NewServicePlan(ctx, \"example\", \u0026appservice.ServicePlanArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tOsType:            pulumi.String(\"Linux\"),\n\t\t\tSkuName:           pulumi.String(\"P1v2\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleLinuxWebApp, err := appservice.NewLinuxWebApp(ctx, \"example\", \u0026appservice.LinuxWebAppArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          exampleServicePlan.Location,\n\t\t\tServicePlanId:     exampleServicePlan.ID(),\n\t\t\tSiteConfig:        \u0026appservice.LinuxWebAppSiteConfigArgs{},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = appservice.NewSourceControl(ctx, \"example\", \u0026appservice.SourceControlArgs{\n\t\t\tAppId:   exampleLinuxWebApp.ID(),\n\t\t\tRepoUrl: pulumi.String(\"https://github.com/Azure-Samples/python-docs-hello-world\"),\n\t\t\tBranch:  pulumi.String(\"master\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.appservice.ServicePlan;\nimport com.pulumi.azure.appservice.ServicePlanArgs;\nimport com.pulumi.azure.appservice.LinuxWebApp;\nimport com.pulumi.azure.appservice.LinuxWebAppArgs;\nimport com.pulumi.azure.appservice.inputs.LinuxWebAppSiteConfigArgs;\nimport com.pulumi.azure.appservice.SourceControl;\nimport com.pulumi.azure.appservice.SourceControlArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleServicePlan = new ServicePlan(\"exampleServicePlan\", ServicePlanArgs.builder()\n            .name(\"example\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .osType(\"Linux\")\n            .skuName(\"P1v2\")\n            .build());\n\n        var exampleLinuxWebApp = new LinuxWebApp(\"exampleLinuxWebApp\", LinuxWebAppArgs.builder()\n            .name(\"example\")\n            .resourceGroupName(example.name())\n            .location(exampleServicePlan.location())\n            .servicePlanId(exampleServicePlan.id())\n            .siteConfig(LinuxWebAppSiteConfigArgs.builder()\n                .build())\n            .build());\n\n        var exampleSourceControl = new SourceControl(\"exampleSourceControl\", SourceControlArgs.builder()\n            .appId(exampleLinuxWebApp.id())\n            .repoUrl(\"https://github.com/Azure-Samples/python-docs-hello-world\")\n            .branch(\"master\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleServicePlan:\n    type: azure:appservice:ServicePlan\n    name: example\n    properties:\n      name: example\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      osType: Linux\n      skuName: P1v2\n  exampleLinuxWebApp:\n    type: azure:appservice:LinuxWebApp\n    name: example\n    properties:\n      name: example\n      resourceGroupName: ${example.name}\n      location: ${exampleServicePlan.location}\n      servicePlanId: ${exampleServicePlan.id}\n      siteConfig: {}\n  exampleSourceControl:\n    type: azure:appservice:SourceControl\n    name: example\n    properties:\n      appId: ${exampleLinuxWebApp.id}\n      repoUrl: https://github.com/Azure-Samples/python-docs-hello-world\n      branch: master\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Web` - 2023-12-01\n\n## Import\n\nApp Service Source Controls can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:appservice/sourceControl:SourceControl example /subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/resGroup1/providers/Microsoft.Web/sites/site1\n```\n\n","properties":{"appId":{"type":"string","description":"The ID of the Windows or Linux Web App. Changing this forces a new resource to be created.\n\n\u003e **Note:** Function apps are not supported at this time.\n"},"branch":{"type":"string","description":"The branch name to use for deployments. Changing this forces a new resource to be created.\n"},"githubActionConfiguration":{"$ref":"#/types/azure:appservice/SourceControlGithubActionConfiguration:SourceControlGithubActionConfiguration","description":"A \u003cspan pulumi-lang-nodejs=\"`githubActionConfiguration`\" pulumi-lang-dotnet=\"`GithubActionConfiguration`\" pulumi-lang-go=\"`githubActionConfiguration`\" pulumi-lang-python=\"`github_action_configuration`\" pulumi-lang-yaml=\"`githubActionConfiguration`\" pulumi-lang-java=\"`githubActionConfiguration`\"\u003e`github_action_configuration`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n"},"repoUrl":{"type":"string","description":"The URL for the repository. Changing this forces a new resource to be created.\n"},"rollbackEnabled":{"type":"boolean","description":"Should the Deployment Rollback be enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Changing this forces a new resource to be created.\n\n\u003e **Note:** Azure can typically set this value automatically based on the \u003cspan pulumi-lang-nodejs=\"`repoUrl`\" pulumi-lang-dotnet=\"`RepoUrl`\" pulumi-lang-go=\"`repoUrl`\" pulumi-lang-python=\"`repo_url`\" pulumi-lang-yaml=\"`repoUrl`\" pulumi-lang-java=\"`repoUrl`\"\u003e`repo_url`\u003c/span\u003e value.\n"},"scmType":{"type":"string","description":"The SCM Type in use. This value is decoded by the service from the repository information supplied.\n"},"useLocalGit":{"type":"boolean","description":"Should the App use local Git configuration. Changing this forces a new resource to be created.\n"},"useManualIntegration":{"type":"boolean","description":"Should code be deployed manually. Set to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e to enable continuous integration, such as webhooks into online repos such as GitHub. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Changing this forces a new resource to be created.\n"},"useMercurial":{"type":"boolean","description":"The repository specified is Mercurial. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Changing this forces a new resource to be created.\n"},"usesGithubAction":{"type":"boolean","description":"Indicates if the Slot uses a GitHub action for deployment. This value is decoded by the service from the repository information supplied.\n"}},"required":["appId","branch","repoUrl","scmType","usesGithubAction"],"inputProperties":{"appId":{"type":"string","description":"The ID of the Windows or Linux Web App. Changing this forces a new resource to be created.\n\n\u003e **Note:** Function apps are not supported at this time.\n","willReplaceOnChanges":true},"branch":{"type":"string","description":"The branch name to use for deployments. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"githubActionConfiguration":{"$ref":"#/types/azure:appservice/SourceControlGithubActionConfiguration:SourceControlGithubActionConfiguration","description":"A \u003cspan pulumi-lang-nodejs=\"`githubActionConfiguration`\" pulumi-lang-dotnet=\"`GithubActionConfiguration`\" pulumi-lang-go=\"`githubActionConfiguration`\" pulumi-lang-python=\"`github_action_configuration`\" pulumi-lang-yaml=\"`githubActionConfiguration`\" pulumi-lang-java=\"`githubActionConfiguration`\"\u003e`github_action_configuration`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"repoUrl":{"type":"string","description":"The URL for the repository. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"rollbackEnabled":{"type":"boolean","description":"Should the Deployment Rollback be enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Changing this forces a new resource to be created.\n\n\u003e **Note:** Azure can typically set this value automatically based on the \u003cspan pulumi-lang-nodejs=\"`repoUrl`\" pulumi-lang-dotnet=\"`RepoUrl`\" pulumi-lang-go=\"`repoUrl`\" pulumi-lang-python=\"`repo_url`\" pulumi-lang-yaml=\"`repoUrl`\" pulumi-lang-java=\"`repoUrl`\"\u003e`repo_url`\u003c/span\u003e value.\n","willReplaceOnChanges":true},"useLocalGit":{"type":"boolean","description":"Should the App use local Git configuration. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"useManualIntegration":{"type":"boolean","description":"Should code be deployed manually. Set to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e to enable continuous integration, such as webhooks into online repos such as GitHub. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"useMercurial":{"type":"boolean","description":"The repository specified is Mercurial. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["appId"],"stateInputs":{"description":"Input properties used for looking up and filtering SourceControl resources.\n","properties":{"appId":{"type":"string","description":"The ID of the Windows or Linux Web App. Changing this forces a new resource to be created.\n\n\u003e **Note:** Function apps are not supported at this time.\n","willReplaceOnChanges":true},"branch":{"type":"string","description":"The branch name to use for deployments. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"githubActionConfiguration":{"$ref":"#/types/azure:appservice/SourceControlGithubActionConfiguration:SourceControlGithubActionConfiguration","description":"A \u003cspan pulumi-lang-nodejs=\"`githubActionConfiguration`\" pulumi-lang-dotnet=\"`GithubActionConfiguration`\" pulumi-lang-go=\"`githubActionConfiguration`\" pulumi-lang-python=\"`github_action_configuration`\" pulumi-lang-yaml=\"`githubActionConfiguration`\" pulumi-lang-java=\"`githubActionConfiguration`\"\u003e`github_action_configuration`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"repoUrl":{"type":"string","description":"The URL for the repository. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"rollbackEnabled":{"type":"boolean","description":"Should the Deployment Rollback be enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Changing this forces a new resource to be created.\n\n\u003e **Note:** Azure can typically set this value automatically based on the \u003cspan pulumi-lang-nodejs=\"`repoUrl`\" pulumi-lang-dotnet=\"`RepoUrl`\" pulumi-lang-go=\"`repoUrl`\" pulumi-lang-python=\"`repo_url`\" pulumi-lang-yaml=\"`repoUrl`\" pulumi-lang-java=\"`repoUrl`\"\u003e`repo_url`\u003c/span\u003e value.\n","willReplaceOnChanges":true},"scmType":{"type":"string","description":"The SCM Type in use. This value is decoded by the service from the repository information supplied.\n"},"useLocalGit":{"type":"boolean","description":"Should the App use local Git configuration. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"useManualIntegration":{"type":"boolean","description":"Should code be deployed manually. Set to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e to enable continuous integration, such as webhooks into online repos such as GitHub. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"useMercurial":{"type":"boolean","description":"The repository specified is Mercurial. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"usesGithubAction":{"type":"boolean","description":"Indicates if the Slot uses a GitHub action for deployment. This value is decoded by the service from the repository information supplied.\n"}},"type":"object"}},"azure:appservice/sourceControlSlot:SourceControlSlot":{"description":"Manages an App Service Source Control Slot.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleServicePlan = new azure.appservice.ServicePlan(\"example\", {\n    name: \"example-plan\",\n    resourceGroupName: example.name,\n    location: example.location,\n    osType: \"Linux\",\n    skuName: \"P1v2\",\n});\nconst exampleLinuxWebApp = new azure.appservice.LinuxWebApp(\"example\", {\n    name: \"example-web-app\",\n    resourceGroupName: example.name,\n    location: exampleServicePlan.location,\n    servicePlanId: exampleServicePlan.id,\n    siteConfig: {},\n});\nconst exampleLinuxWebAppSlot = new azure.appservice.LinuxWebAppSlot(\"example\", {\n    name: \"example-slot\",\n    appServiceId: exampleLinuxWebApp.id,\n    siteConfig: {},\n});\nconst exampleSourceControlSlot = new azure.appservice.SourceControlSlot(\"example\", {\n    slotId: exampleLinuxWebAppSlot.id,\n    repoUrl: \"https://github.com/Azure-Samples/python-docs-hello-world\",\n    branch: \"master\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_service_plan = azure.appservice.ServicePlan(\"example\",\n    name=\"example-plan\",\n    resource_group_name=example.name,\n    location=example.location,\n    os_type=\"Linux\",\n    sku_name=\"P1v2\")\nexample_linux_web_app = azure.appservice.LinuxWebApp(\"example\",\n    name=\"example-web-app\",\n    resource_group_name=example.name,\n    location=example_service_plan.location,\n    service_plan_id=example_service_plan.id,\n    site_config={})\nexample_linux_web_app_slot = azure.appservice.LinuxWebAppSlot(\"example\",\n    name=\"example-slot\",\n    app_service_id=example_linux_web_app.id,\n    site_config={})\nexample_source_control_slot = azure.appservice.SourceControlSlot(\"example\",\n    slot_id=example_linux_web_app_slot.id,\n    repo_url=\"https://github.com/Azure-Samples/python-docs-hello-world\",\n    branch=\"master\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleServicePlan = new Azure.AppService.ServicePlan(\"example\", new()\n    {\n        Name = \"example-plan\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        OsType = \"Linux\",\n        SkuName = \"P1v2\",\n    });\n\n    var exampleLinuxWebApp = new Azure.AppService.LinuxWebApp(\"example\", new()\n    {\n        Name = \"example-web-app\",\n        ResourceGroupName = example.Name,\n        Location = exampleServicePlan.Location,\n        ServicePlanId = exampleServicePlan.Id,\n        SiteConfig = null,\n    });\n\n    var exampleLinuxWebAppSlot = new Azure.AppService.LinuxWebAppSlot(\"example\", new()\n    {\n        Name = \"example-slot\",\n        AppServiceId = exampleLinuxWebApp.Id,\n        SiteConfig = null,\n    });\n\n    var exampleSourceControlSlot = new Azure.AppService.SourceControlSlot(\"example\", new()\n    {\n        SlotId = exampleLinuxWebAppSlot.Id,\n        RepoUrl = \"https://github.com/Azure-Samples/python-docs-hello-world\",\n        Branch = \"master\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/appservice\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleServicePlan, err := appservice.NewServicePlan(ctx, \"example\", \u0026appservice.ServicePlanArgs{\n\t\t\tName:              pulumi.String(\"example-plan\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tOsType:            pulumi.String(\"Linux\"),\n\t\t\tSkuName:           pulumi.String(\"P1v2\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleLinuxWebApp, err := appservice.NewLinuxWebApp(ctx, \"example\", \u0026appservice.LinuxWebAppArgs{\n\t\t\tName:              pulumi.String(\"example-web-app\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          exampleServicePlan.Location,\n\t\t\tServicePlanId:     exampleServicePlan.ID(),\n\t\t\tSiteConfig:        \u0026appservice.LinuxWebAppSiteConfigArgs{},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleLinuxWebAppSlot, err := appservice.NewLinuxWebAppSlot(ctx, \"example\", \u0026appservice.LinuxWebAppSlotArgs{\n\t\t\tName:         pulumi.String(\"example-slot\"),\n\t\t\tAppServiceId: exampleLinuxWebApp.ID(),\n\t\t\tSiteConfig:   \u0026appservice.LinuxWebAppSlotSiteConfigArgs{},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = appservice.NewSourceControlSlot(ctx, \"example\", \u0026appservice.SourceControlSlotArgs{\n\t\t\tSlotId:  exampleLinuxWebAppSlot.ID(),\n\t\t\tRepoUrl: pulumi.String(\"https://github.com/Azure-Samples/python-docs-hello-world\"),\n\t\t\tBranch:  pulumi.String(\"master\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.appservice.ServicePlan;\nimport com.pulumi.azure.appservice.ServicePlanArgs;\nimport com.pulumi.azure.appservice.LinuxWebApp;\nimport com.pulumi.azure.appservice.LinuxWebAppArgs;\nimport com.pulumi.azure.appservice.inputs.LinuxWebAppSiteConfigArgs;\nimport com.pulumi.azure.appservice.LinuxWebAppSlot;\nimport com.pulumi.azure.appservice.LinuxWebAppSlotArgs;\nimport com.pulumi.azure.appservice.inputs.LinuxWebAppSlotSiteConfigArgs;\nimport com.pulumi.azure.appservice.SourceControlSlot;\nimport com.pulumi.azure.appservice.SourceControlSlotArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleServicePlan = new ServicePlan(\"exampleServicePlan\", ServicePlanArgs.builder()\n            .name(\"example-plan\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .osType(\"Linux\")\n            .skuName(\"P1v2\")\n            .build());\n\n        var exampleLinuxWebApp = new LinuxWebApp(\"exampleLinuxWebApp\", LinuxWebAppArgs.builder()\n            .name(\"example-web-app\")\n            .resourceGroupName(example.name())\n            .location(exampleServicePlan.location())\n            .servicePlanId(exampleServicePlan.id())\n            .siteConfig(LinuxWebAppSiteConfigArgs.builder()\n                .build())\n            .build());\n\n        var exampleLinuxWebAppSlot = new LinuxWebAppSlot(\"exampleLinuxWebAppSlot\", LinuxWebAppSlotArgs.builder()\n            .name(\"example-slot\")\n            .appServiceId(exampleLinuxWebApp.id())\n            .siteConfig(LinuxWebAppSlotSiteConfigArgs.builder()\n                .build())\n            .build());\n\n        var exampleSourceControlSlot = new SourceControlSlot(\"exampleSourceControlSlot\", SourceControlSlotArgs.builder()\n            .slotId(exampleLinuxWebAppSlot.id())\n            .repoUrl(\"https://github.com/Azure-Samples/python-docs-hello-world\")\n            .branch(\"master\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleServicePlan:\n    type: azure:appservice:ServicePlan\n    name: example\n    properties:\n      name: example-plan\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      osType: Linux\n      skuName: P1v2\n  exampleLinuxWebApp:\n    type: azure:appservice:LinuxWebApp\n    name: example\n    properties:\n      name: example-web-app\n      resourceGroupName: ${example.name}\n      location: ${exampleServicePlan.location}\n      servicePlanId: ${exampleServicePlan.id}\n      siteConfig: {}\n  exampleLinuxWebAppSlot:\n    type: azure:appservice:LinuxWebAppSlot\n    name: example\n    properties:\n      name: example-slot\n      appServiceId: ${exampleLinuxWebApp.id}\n      siteConfig: {}\n  exampleSourceControlSlot:\n    type: azure:appservice:SourceControlSlot\n    name: example\n    properties:\n      slotId: ${exampleLinuxWebAppSlot.id}\n      repoUrl: https://github.com/Azure-Samples/python-docs-hello-world\n      branch: master\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Web` - 2023-12-01\n\n## Import\n\nan App Service Source Control Slot can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:appservice/sourceControlSlot:SourceControlSlot example \"/subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/resGroup1/providers/Microsoft.Web/sites/site1/slots/slot1\"\n```\n\n","properties":{"branch":{"type":"string","description":"The URL for the repository. Changing this forces a new resource to be created.\n"},"githubActionConfiguration":{"$ref":"#/types/azure:appservice/SourceControlSlotGithubActionConfiguration:SourceControlSlotGithubActionConfiguration","description":"A \u003cspan pulumi-lang-nodejs=\"`githubActionConfiguration`\" pulumi-lang-dotnet=\"`GithubActionConfiguration`\" pulumi-lang-go=\"`githubActionConfiguration`\" pulumi-lang-python=\"`github_action_configuration`\" pulumi-lang-yaml=\"`githubActionConfiguration`\" pulumi-lang-java=\"`githubActionConfiguration`\"\u003e`github_action_configuration`\u003c/span\u003e block as detailed below. Changing this forces a new resource to be created.\n"},"repoUrl":{"type":"string","description":"The branch name to use for deployments. Changing this forces a new resource to be created.\n"},"rollbackEnabled":{"type":"boolean","description":"Should the Deployment Rollback be enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e Changing this forces a new resource to be created.\n"},"scmType":{"type":"string","description":"The SCM Type in use. This value is decoded by the service from the repository information supplied.\n"},"slotId":{"type":"string","description":"The ID of the Linux or Windows Web App Slot. Changing this forces a new resource to be created.\n\n\u003e **Note:** Function App Slots are not supported at this time.\n"},"useLocalGit":{"type":"boolean","description":"Should the Slot use local Git configuration. Changing this forces a new resource to be created.\n"},"useManualIntegration":{"type":"boolean","description":"Should code be deployed manually. Set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e to disable continuous integration, such as webhooks into online repos such as GitHub. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Changing this forces a new resource to be created.\n"},"useMercurial":{"type":"boolean","description":"The repository specified is Mercurial. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Changing this forces a new resource to be created.\n"},"usesGithubAction":{"type":"boolean","description":"Indicates if the Slot uses a GitHub action for deployment. This value is decoded by the service from the repository information supplied.\n"}},"required":["branch","repoUrl","scmType","slotId","usesGithubAction"],"inputProperties":{"branch":{"type":"string","description":"The URL for the repository. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"githubActionConfiguration":{"$ref":"#/types/azure:appservice/SourceControlSlotGithubActionConfiguration:SourceControlSlotGithubActionConfiguration","description":"A \u003cspan pulumi-lang-nodejs=\"`githubActionConfiguration`\" pulumi-lang-dotnet=\"`GithubActionConfiguration`\" pulumi-lang-go=\"`githubActionConfiguration`\" pulumi-lang-python=\"`github_action_configuration`\" pulumi-lang-yaml=\"`githubActionConfiguration`\" pulumi-lang-java=\"`githubActionConfiguration`\"\u003e`github_action_configuration`\u003c/span\u003e block as detailed below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"repoUrl":{"type":"string","description":"The branch name to use for deployments. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"rollbackEnabled":{"type":"boolean","description":"Should the Deployment Rollback be enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"slotId":{"type":"string","description":"The ID of the Linux or Windows Web App Slot. Changing this forces a new resource to be created.\n\n\u003e **Note:** Function App Slots are not supported at this time.\n","willReplaceOnChanges":true},"useLocalGit":{"type":"boolean","description":"Should the Slot use local Git configuration. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"useManualIntegration":{"type":"boolean","description":"Should code be deployed manually. Set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e to disable continuous integration, such as webhooks into online repos such as GitHub. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"useMercurial":{"type":"boolean","description":"The repository specified is Mercurial. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["slotId"],"stateInputs":{"description":"Input properties used for looking up and filtering SourceControlSlot resources.\n","properties":{"branch":{"type":"string","description":"The URL for the repository. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"githubActionConfiguration":{"$ref":"#/types/azure:appservice/SourceControlSlotGithubActionConfiguration:SourceControlSlotGithubActionConfiguration","description":"A \u003cspan pulumi-lang-nodejs=\"`githubActionConfiguration`\" pulumi-lang-dotnet=\"`GithubActionConfiguration`\" pulumi-lang-go=\"`githubActionConfiguration`\" pulumi-lang-python=\"`github_action_configuration`\" pulumi-lang-yaml=\"`githubActionConfiguration`\" pulumi-lang-java=\"`githubActionConfiguration`\"\u003e`github_action_configuration`\u003c/span\u003e block as detailed below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"repoUrl":{"type":"string","description":"The branch name to use for deployments. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"rollbackEnabled":{"type":"boolean","description":"Should the Deployment Rollback be enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"scmType":{"type":"string","description":"The SCM Type in use. This value is decoded by the service from the repository information supplied.\n"},"slotId":{"type":"string","description":"The ID of the Linux or Windows Web App Slot. Changing this forces a new resource to be created.\n\n\u003e **Note:** Function App Slots are not supported at this time.\n","willReplaceOnChanges":true},"useLocalGit":{"type":"boolean","description":"Should the Slot use local Git configuration. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"useManualIntegration":{"type":"boolean","description":"Should code be deployed manually. Set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e to disable continuous integration, such as webhooks into online repos such as GitHub. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"useMercurial":{"type":"boolean","description":"The repository specified is Mercurial. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"usesGithubAction":{"type":"boolean","description":"Indicates if the Slot uses a GitHub action for deployment. This value is decoded by the service from the repository information supplied.\n"}},"type":"object"}},"azure:appservice/sourceControlToken:SourceControlToken":{"description":"Manages an App Service Source Control Token.\n\n\u003e **Note:** This resource can only manage the token for the user currently running Terraform. Managing tokens for another user is not supported by the service.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.appservice.SourceControlToken(\"example\", {\n    type: \"GitHub\",\n    token: \"ghp_sometokenvaluesecretsauce\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.appservice.SourceControlToken(\"example\",\n    type=\"GitHub\",\n    token=\"ghp_sometokenvaluesecretsauce\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.AppService.SourceControlToken(\"example\", new()\n    {\n        Type = \"GitHub\",\n        Token = \"ghp_sometokenvaluesecretsauce\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/appservice\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := appservice.NewSourceControlToken(ctx, \"example\", \u0026appservice.SourceControlTokenArgs{\n\t\t\tType:  pulumi.String(\"GitHub\"),\n\t\t\tToken: pulumi.String(\"ghp_sometokenvaluesecretsauce\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.appservice.SourceControlToken;\nimport com.pulumi.azure.appservice.SourceControlTokenArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new SourceControlToken(\"example\", SourceControlTokenArgs.builder()\n            .type(\"GitHub\")\n            .token(\"ghp_sometokenvaluesecretsauce\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:appservice:SourceControlToken\n    properties:\n      type: GitHub\n      token: ghp_sometokenvaluesecretsauce\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Web` - 2023-01-01\n\n## Import\n\nApp Service Source GitHub Tokens can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:appservice/sourceControlToken:SourceControlToken example /providers/Microsoft.Web/sourceControls/GitHub\n```\n\n","properties":{"token":{"type":"string","description":"The Access Token.\n","secret":true},"tokenSecret":{"type":"string","description":"The Access Token Secret.\n\n\u003e **Note:** The token used for deploying App Service needs the following permissions: \u003cspan pulumi-lang-nodejs=\"`repo`\" pulumi-lang-dotnet=\"`Repo`\" pulumi-lang-go=\"`repo`\" pulumi-lang-python=\"`repo`\" pulumi-lang-yaml=\"`repo`\" pulumi-lang-java=\"`repo`\"\u003e`repo`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`workflow`\" pulumi-lang-dotnet=\"`Workflow`\" pulumi-lang-go=\"`workflow`\" pulumi-lang-python=\"`workflow`\" pulumi-lang-yaml=\"`workflow`\" pulumi-lang-java=\"`workflow`\"\u003e`workflow`\u003c/span\u003e.\n","secret":true},"type":{"type":"string","description":"The Token type. Possible values include `Bitbucket`, `Dropbox`, `Github`, and `OneDrive`.\n"}},"required":["token","type"],"inputProperties":{"token":{"type":"string","description":"The Access Token.\n","secret":true},"tokenSecret":{"type":"string","description":"The Access Token Secret.\n\n\u003e **Note:** The token used for deploying App Service needs the following permissions: \u003cspan pulumi-lang-nodejs=\"`repo`\" pulumi-lang-dotnet=\"`Repo`\" pulumi-lang-go=\"`repo`\" pulumi-lang-python=\"`repo`\" pulumi-lang-yaml=\"`repo`\" pulumi-lang-java=\"`repo`\"\u003e`repo`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`workflow`\" pulumi-lang-dotnet=\"`Workflow`\" pulumi-lang-go=\"`workflow`\" pulumi-lang-python=\"`workflow`\" pulumi-lang-yaml=\"`workflow`\" pulumi-lang-java=\"`workflow`\"\u003e`workflow`\u003c/span\u003e.\n","secret":true},"type":{"type":"string","description":"The Token type. Possible values include `Bitbucket`, `Dropbox`, `Github`, and `OneDrive`.\n"}},"requiredInputs":["token","type"],"stateInputs":{"description":"Input properties used for looking up and filtering SourceControlToken resources.\n","properties":{"token":{"type":"string","description":"The Access Token.\n","secret":true},"tokenSecret":{"type":"string","description":"The Access Token Secret.\n\n\u003e **Note:** The token used for deploying App Service needs the following permissions: \u003cspan pulumi-lang-nodejs=\"`repo`\" pulumi-lang-dotnet=\"`Repo`\" pulumi-lang-go=\"`repo`\" pulumi-lang-python=\"`repo`\" pulumi-lang-yaml=\"`repo`\" pulumi-lang-java=\"`repo`\"\u003e`repo`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`workflow`\" pulumi-lang-dotnet=\"`Workflow`\" pulumi-lang-go=\"`workflow`\" pulumi-lang-python=\"`workflow`\" pulumi-lang-yaml=\"`workflow`\" pulumi-lang-java=\"`workflow`\"\u003e`workflow`\u003c/span\u003e.\n","secret":true},"type":{"type":"string","description":"The Token type. Possible values include `Bitbucket`, `Dropbox`, `Github`, and `OneDrive`.\n"}},"type":"object"}},"azure:appservice/staticSite:StaticSite":{"description":"Manages an App Service Static Site.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`azure.appservice.StaticSite`\" pulumi-lang-dotnet=\"`azure.appservice.StaticSite`\" pulumi-lang-go=\"`appservice.StaticSite`\" pulumi-lang-python=\"`appservice.StaticSite`\" pulumi-lang-yaml=\"`azure.appservice.StaticSite`\" pulumi-lang-java=\"`azure.appservice.StaticSite`\"\u003e`azure.appservice.StaticSite`\u003c/span\u003e resource is deprecated in favour of \u003cspan pulumi-lang-nodejs=\"`azure.appservice.StaticWebApp`\" pulumi-lang-dotnet=\"`azure.appservice.StaticWebApp`\" pulumi-lang-go=\"`appservice.StaticWebApp`\" pulumi-lang-python=\"`appservice.StaticWebApp`\" pulumi-lang-yaml=\"`azure.appservice.StaticWebApp`\" pulumi-lang-java=\"`azure.appservice.StaticWebApp`\"\u003e`azure.appservice.StaticWebApp`\u003c/span\u003e and will be removed in a future major release.\n\n\u003e **Note:** After the Static Site is provisioned, you'll need to associate your target repository, which contains your web app, to the Static Site, by following the [Azure Static Site document](https://docs.microsoft.com/azure/static-web-apps/github-actions-workflow).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleStaticSite = new azure.appservice.StaticSite(\"example\", {\n    name: \"example\",\n    resourceGroupName: example.name,\n    location: example.location,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_static_site = azure.appservice.StaticSite(\"example\",\n    name=\"example\",\n    resource_group_name=example.name,\n    location=example.location)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleStaticSite = new Azure.AppService.StaticSite(\"example\", new()\n    {\n        Name = \"example\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/appservice\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = appservice.NewStaticSite(ctx, \"example\", \u0026appservice.StaticSiteArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.appservice.StaticSite;\nimport com.pulumi.azure.appservice.StaticSiteArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleStaticSite = new StaticSite(\"exampleStaticSite\", StaticSiteArgs.builder()\n            .name(\"example\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleStaticSite:\n    type: azure:appservice:StaticSite\n    name: example\n    properties:\n      name: example\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nStatic Web Apps can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:appservice/staticSite:StaticSite example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Web/staticSites/my-static-site1\n```\n\n","properties":{"apiKey":{"type":"string","description":"The API key of this Static Web App, which is used for later interacting with this Static Web App from other clients, e.g. GitHub Action.\n","secret":true},"appSettings":{"type":"object","additionalProperties":{"type":"string"},"description":"A key-value pair of App Settings.\n"},"defaultHostName":{"type":"string","description":"The default host name of the Static Web App.\n"},"identity":{"$ref":"#/types/azure:appservice/StaticSiteIdentity:StaticSiteIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"location":{"type":"string","description":"The Azure Region where the Static Web App should exist. Changing this forces a new Static Web App to be created.\n"},"name":{"type":"string","description":"The name which should be used for this Static Web App. Changing this forces a new Static Web App to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Static Web App should exist. Changing this forces a new Static Web App to be created.\n"},"skuSize":{"type":"string","description":"Specifies the SKU size of the Static Web App. Possible values are `Free` or `Standard`. Defaults to `Free`.\n"},"skuTier":{"type":"string","description":"Specifies the SKU tier of the Static Web App. Possible values are `Free` or `Standard`. Defaults to `Free`.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"required":["apiKey","defaultHostName","location","name","resourceGroupName"],"inputProperties":{"appSettings":{"type":"object","additionalProperties":{"type":"string"},"description":"A key-value pair of App Settings.\n"},"identity":{"$ref":"#/types/azure:appservice/StaticSiteIdentity:StaticSiteIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"location":{"type":"string","description":"The Azure Region where the Static Web App should exist. Changing this forces a new Static Web App to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Static Web App. Changing this forces a new Static Web App to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Static Web App should exist. Changing this forces a new Static Web App to be created.\n","willReplaceOnChanges":true},"skuSize":{"type":"string","description":"Specifies the SKU size of the Static Web App. Possible values are `Free` or `Standard`. Defaults to `Free`.\n"},"skuTier":{"type":"string","description":"Specifies the SKU tier of the Static Web App. Possible values are `Free` or `Standard`. Defaults to `Free`.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"requiredInputs":["resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering StaticSite resources.\n","properties":{"apiKey":{"type":"string","description":"The API key of this Static Web App, which is used for later interacting with this Static Web App from other clients, e.g. GitHub Action.\n","secret":true},"appSettings":{"type":"object","additionalProperties":{"type":"string"},"description":"A key-value pair of App Settings.\n"},"defaultHostName":{"type":"string","description":"The default host name of the Static Web App.\n"},"identity":{"$ref":"#/types/azure:appservice/StaticSiteIdentity:StaticSiteIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"location":{"type":"string","description":"The Azure Region where the Static Web App should exist. Changing this forces a new Static Web App to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Static Web App. Changing this forces a new Static Web App to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Static Web App should exist. Changing this forces a new Static Web App to be created.\n","willReplaceOnChanges":true},"skuSize":{"type":"string","description":"Specifies the SKU size of the Static Web App. Possible values are `Free` or `Standard`. Defaults to `Free`.\n"},"skuTier":{"type":"string","description":"Specifies the SKU tier of the Static Web App. Possible values are `Free` or `Standard`. Defaults to `Free`.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"type":"object"}},"azure:appservice/staticSiteCustomDomain:StaticSiteCustomDomain":{"description":"Manages a Static Site Custom Domain.\n\n!\u003e **Note:** DNS validation polling is only done for CNAME records, terraform will not validate TXT validation records are complete.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`azure.appservice.StaticSiteCustomDomain`\" pulumi-lang-dotnet=\"`azure.appservice.StaticSiteCustomDomain`\" pulumi-lang-go=\"`appservice.StaticSiteCustomDomain`\" pulumi-lang-python=\"`appservice.StaticSiteCustomDomain`\" pulumi-lang-yaml=\"`azure.appservice.StaticSiteCustomDomain`\" pulumi-lang-java=\"`azure.appservice.StaticSiteCustomDomain`\"\u003e`azure.appservice.StaticSiteCustomDomain`\u003c/span\u003e resource is deprecated in favour of \u003cspan pulumi-lang-nodejs=\"`azure.appservice.StaticWebAppCustomDomain`\" pulumi-lang-dotnet=\"`azure.appservice.StaticWebAppCustomDomain`\" pulumi-lang-go=\"`appservice.StaticWebAppCustomDomain`\" pulumi-lang-python=\"`appservice.StaticWebAppCustomDomain`\" pulumi-lang-yaml=\"`azure.appservice.StaticWebAppCustomDomain`\" pulumi-lang-java=\"`azure.appservice.StaticWebAppCustomDomain`\"\u003e`azure.appservice.StaticWebAppCustomDomain`\u003c/span\u003e and will be removed in a future major release.\n\n## Example Usage\n\n### CNAME validation\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleStaticSite = new azure.appservice.StaticSite(\"example\", {\n    name: \"example\",\n    resourceGroupName: example.name,\n    location: example.location,\n});\nconst exampleCNameRecord = new azure.dns.CNameRecord(\"example\", {\n    name: \"my-domain\",\n    zoneName: \"contoso.com\",\n    resourceGroupName: example.name,\n    ttl: 300,\n    record: exampleStaticSite.defaultHostName,\n});\nconst exampleStaticSiteCustomDomain = new azure.appservice.StaticSiteCustomDomain(\"example\", {\n    staticSiteId: exampleStaticSite.id,\n    domainName: pulumi.interpolate`${exampleCNameRecord.name}.${exampleCNameRecord.zoneName}`,\n    validationType: \"cname-delegation\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_static_site = azure.appservice.StaticSite(\"example\",\n    name=\"example\",\n    resource_group_name=example.name,\n    location=example.location)\nexample_c_name_record = azure.dns.CNameRecord(\"example\",\n    name=\"my-domain\",\n    zone_name=\"contoso.com\",\n    resource_group_name=example.name,\n    ttl=300,\n    record=example_static_site.default_host_name)\nexample_static_site_custom_domain = azure.appservice.StaticSiteCustomDomain(\"example\",\n    static_site_id=example_static_site.id,\n    domain_name=pulumi.Output.all(\n        name=example_c_name_record.name,\n        zone_name=example_c_name_record.zone_name\n).apply(lambda resolved_outputs: f\"{resolved_outputs['name']}.{resolved_outputs['zone_name']}\")\n,\n    validation_type=\"cname-delegation\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleStaticSite = new Azure.AppService.StaticSite(\"example\", new()\n    {\n        Name = \"example\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n    });\n\n    var exampleCNameRecord = new Azure.Dns.CNameRecord(\"example\", new()\n    {\n        Name = \"my-domain\",\n        ZoneName = \"contoso.com\",\n        ResourceGroupName = example.Name,\n        Ttl = 300,\n        Record = exampleStaticSite.DefaultHostName,\n    });\n\n    var exampleStaticSiteCustomDomain = new Azure.AppService.StaticSiteCustomDomain(\"example\", new()\n    {\n        StaticSiteId = exampleStaticSite.Id,\n        DomainName = Output.Tuple(exampleCNameRecord.Name, exampleCNameRecord.ZoneName).Apply(values =\u003e\n        {\n            var name = values.Item1;\n            var zoneName = values.Item2;\n            return $\"{name}.{zoneName}\";\n        }),\n        ValidationType = \"cname-delegation\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/appservice\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/dns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleStaticSite, err := appservice.NewStaticSite(ctx, \"example\", \u0026appservice.StaticSiteArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleCNameRecord, err := dns.NewCNameRecord(ctx, \"example\", \u0026dns.CNameRecordArgs{\n\t\t\tName:              pulumi.String(\"my-domain\"),\n\t\t\tZoneName:          pulumi.String(\"contoso.com\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tTtl:               pulumi.Int(300),\n\t\t\tRecord:            exampleStaticSite.DefaultHostName,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = appservice.NewStaticSiteCustomDomain(ctx, \"example\", \u0026appservice.StaticSiteCustomDomainArgs{\n\t\t\tStaticSiteId: exampleStaticSite.ID(),\n\t\t\tDomainName: pulumi.All(exampleCNameRecord.Name, exampleCNameRecord.ZoneName).ApplyT(func(_args []interface{}) (string, error) {\n\t\t\t\tname := _args[0].(string)\n\t\t\t\tzoneName := _args[1].(string)\n\t\t\t\treturn fmt.Sprintf(\"%v.%v\", name, zoneName), nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t\tValidationType: pulumi.String(\"cname-delegation\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.appservice.StaticSite;\nimport com.pulumi.azure.appservice.StaticSiteArgs;\nimport com.pulumi.azure.dns.CNameRecord;\nimport com.pulumi.azure.dns.CNameRecordArgs;\nimport com.pulumi.azure.appservice.StaticSiteCustomDomain;\nimport com.pulumi.azure.appservice.StaticSiteCustomDomainArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleStaticSite = new StaticSite(\"exampleStaticSite\", StaticSiteArgs.builder()\n            .name(\"example\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .build());\n\n        var exampleCNameRecord = new CNameRecord(\"exampleCNameRecord\", CNameRecordArgs.builder()\n            .name(\"my-domain\")\n            .zoneName(\"contoso.com\")\n            .resourceGroupName(example.name())\n            .ttl(300)\n            .record(exampleStaticSite.defaultHostName())\n            .build());\n\n        var exampleStaticSiteCustomDomain = new StaticSiteCustomDomain(\"exampleStaticSiteCustomDomain\", StaticSiteCustomDomainArgs.builder()\n            .staticSiteId(exampleStaticSite.id())\n            .domainName(Output.tuple(exampleCNameRecord.name(), exampleCNameRecord.zoneName()).applyValue(values -\u003e {\n                var name = values.t1;\n                var zoneName = values.t2;\n                return String.format(\"%s.%s\", name,zoneName);\n            }))\n            .validationType(\"cname-delegation\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleStaticSite:\n    type: azure:appservice:StaticSite\n    name: example\n    properties:\n      name: example\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n  exampleCNameRecord:\n    type: azure:dns:CNameRecord\n    name: example\n    properties:\n      name: my-domain\n      zoneName: contoso.com\n      resourceGroupName: ${example.name}\n      ttl: 300\n      record: ${exampleStaticSite.defaultHostName}\n  exampleStaticSiteCustomDomain:\n    type: azure:appservice:StaticSiteCustomDomain\n    name: example\n    properties:\n      staticSiteId: ${exampleStaticSite.id}\n      domainName: ${exampleCNameRecord.name}.${exampleCNameRecord.zoneName}\n      validationType: cname-delegation\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### TXT validation\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleStaticSite = new azure.appservice.StaticSite(\"example\", {\n    name: \"example\",\n    resourceGroupName: example.name,\n    location: example.location,\n});\nconst exampleStaticSiteCustomDomain = new azure.appservice.StaticSiteCustomDomain(\"example\", {\n    staticSiteId: exampleStaticSite.id,\n    domainName: \"my-domain.contoso.com\",\n    validationType: \"dns-txt-token\",\n});\nconst exampleTxtRecord = new azure.dns.TxtRecord(\"example\", {\n    name: \"_dnsauth.my-domain\",\n    zoneName: \"contoso.com\",\n    resourceGroupName: example.name,\n    ttl: 300,\n    records: [{\n        value: exampleStaticSiteCustomDomain.validationToken,\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_static_site = azure.appservice.StaticSite(\"example\",\n    name=\"example\",\n    resource_group_name=example.name,\n    location=example.location)\nexample_static_site_custom_domain = azure.appservice.StaticSiteCustomDomain(\"example\",\n    static_site_id=example_static_site.id,\n    domain_name=\"my-domain.contoso.com\",\n    validation_type=\"dns-txt-token\")\nexample_txt_record = azure.dns.TxtRecord(\"example\",\n    name=\"_dnsauth.my-domain\",\n    zone_name=\"contoso.com\",\n    resource_group_name=example.name,\n    ttl=300,\n    records=[{\n        \"value\": example_static_site_custom_domain.validation_token,\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleStaticSite = new Azure.AppService.StaticSite(\"example\", new()\n    {\n        Name = \"example\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n    });\n\n    var exampleStaticSiteCustomDomain = new Azure.AppService.StaticSiteCustomDomain(\"example\", new()\n    {\n        StaticSiteId = exampleStaticSite.Id,\n        DomainName = \"my-domain.contoso.com\",\n        ValidationType = \"dns-txt-token\",\n    });\n\n    var exampleTxtRecord = new Azure.Dns.TxtRecord(\"example\", new()\n    {\n        Name = \"_dnsauth.my-domain\",\n        ZoneName = \"contoso.com\",\n        ResourceGroupName = example.Name,\n        Ttl = 300,\n        Records = new[]\n        {\n            new Azure.Dns.Inputs.TxtRecordRecordArgs\n            {\n                Value = exampleStaticSiteCustomDomain.ValidationToken,\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/appservice\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/dns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleStaticSite, err := appservice.NewStaticSite(ctx, \"example\", \u0026appservice.StaticSiteArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleStaticSiteCustomDomain, err := appservice.NewStaticSiteCustomDomain(ctx, \"example\", \u0026appservice.StaticSiteCustomDomainArgs{\n\t\t\tStaticSiteId:   exampleStaticSite.ID(),\n\t\t\tDomainName:     pulumi.String(\"my-domain.contoso.com\"),\n\t\t\tValidationType: pulumi.String(\"dns-txt-token\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = dns.NewTxtRecord(ctx, \"example\", \u0026dns.TxtRecordArgs{\n\t\t\tName:              pulumi.String(\"_dnsauth.my-domain\"),\n\t\t\tZoneName:          pulumi.String(\"contoso.com\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tTtl:               pulumi.Int(300),\n\t\t\tRecords: dns.TxtRecordRecordArray{\n\t\t\t\t\u0026dns.TxtRecordRecordArgs{\n\t\t\t\t\tValue: exampleStaticSiteCustomDomain.ValidationToken,\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.appservice.StaticSite;\nimport com.pulumi.azure.appservice.StaticSiteArgs;\nimport com.pulumi.azure.appservice.StaticSiteCustomDomain;\nimport com.pulumi.azure.appservice.StaticSiteCustomDomainArgs;\nimport com.pulumi.azure.dns.TxtRecord;\nimport com.pulumi.azure.dns.TxtRecordArgs;\nimport com.pulumi.azure.dns.inputs.TxtRecordRecordArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleStaticSite = new StaticSite(\"exampleStaticSite\", StaticSiteArgs.builder()\n            .name(\"example\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .build());\n\n        var exampleStaticSiteCustomDomain = new StaticSiteCustomDomain(\"exampleStaticSiteCustomDomain\", StaticSiteCustomDomainArgs.builder()\n            .staticSiteId(exampleStaticSite.id())\n            .domainName(\"my-domain.contoso.com\")\n            .validationType(\"dns-txt-token\")\n            .build());\n\n        var exampleTxtRecord = new TxtRecord(\"exampleTxtRecord\", TxtRecordArgs.builder()\n            .name(\"_dnsauth.my-domain\")\n            .zoneName(\"contoso.com\")\n            .resourceGroupName(example.name())\n            .ttl(300)\n            .records(TxtRecordRecordArgs.builder()\n                .value(exampleStaticSiteCustomDomain.validationToken())\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleStaticSite:\n    type: azure:appservice:StaticSite\n    name: example\n    properties:\n      name: example\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n  exampleStaticSiteCustomDomain:\n    type: azure:appservice:StaticSiteCustomDomain\n    name: example\n    properties:\n      staticSiteId: ${exampleStaticSite.id}\n      domainName: my-domain.contoso.com\n      validationType: dns-txt-token\n  exampleTxtRecord:\n    type: azure:dns:TxtRecord\n    name: example\n    properties:\n      name: _dnsauth.my-domain\n      zoneName: contoso.com\n      resourceGroupName: ${example.name}\n      ttl: 300\n      records:\n        - value: ${exampleStaticSiteCustomDomain.validationToken}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nStatic Site Custom Domains can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:appservice/staticSiteCustomDomain:StaticSiteCustomDomain example /subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/group1/providers/Microsoft.Web/staticSites/my-static-site1/customDomains/name.contoso.com\n```\n\n","properties":{"domainName":{"type":"string","description":"The Domain Name which should be associated with this Static Site. Changing this forces a new Static Site Custom Domain to be created.\n"},"staticSiteId":{"type":"string","description":"The ID of the Static Site. Changing this forces a new Static Site Custom Domain to be created.\n"},"validationToken":{"type":"string","description":"Token to be used with `dns-txt-token` validation.\n","secret":true},"validationType":{"type":"string","description":"One of `cname-delegation` or `dns-txt-token`. Changing this forces a new Static Site Custom Domain to be created.\n"}},"required":["domainName","staticSiteId","validationToken"],"inputProperties":{"domainName":{"type":"string","description":"The Domain Name which should be associated with this Static Site. Changing this forces a new Static Site Custom Domain to be created.\n","willReplaceOnChanges":true},"staticSiteId":{"type":"string","description":"The ID of the Static Site. Changing this forces a new Static Site Custom Domain to be created.\n","willReplaceOnChanges":true},"validationType":{"type":"string","description":"One of `cname-delegation` or `dns-txt-token`. Changing this forces a new Static Site Custom Domain to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["domainName","staticSiteId"],"stateInputs":{"description":"Input properties used for looking up and filtering StaticSiteCustomDomain resources.\n","properties":{"domainName":{"type":"string","description":"The Domain Name which should be associated with this Static Site. Changing this forces a new Static Site Custom Domain to be created.\n","willReplaceOnChanges":true},"staticSiteId":{"type":"string","description":"The ID of the Static Site. Changing this forces a new Static Site Custom Domain to be created.\n","willReplaceOnChanges":true},"validationToken":{"type":"string","description":"Token to be used with `dns-txt-token` validation.\n","secret":true},"validationType":{"type":"string","description":"One of `cname-delegation` or `dns-txt-token`. Changing this forces a new Static Site Custom Domain to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:appservice/staticWebApp:StaticWebApp":{"description":"Manages an App Service Static Web App.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleStaticWebApp = new azure.appservice.StaticWebApp(\"example\", {\n    name: \"example\",\n    resourceGroupName: example.name,\n    location: example.location,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_static_web_app = azure.appservice.StaticWebApp(\"example\",\n    name=\"example\",\n    resource_group_name=example.name,\n    location=example.location)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleStaticWebApp = new Azure.AppService.StaticWebApp(\"example\", new()\n    {\n        Name = \"example\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/appservice\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = appservice.NewStaticWebApp(ctx, \"example\", \u0026appservice.StaticWebAppArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.appservice.StaticWebApp;\nimport com.pulumi.azure.appservice.StaticWebAppArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleStaticWebApp = new StaticWebApp(\"exampleStaticWebApp\", StaticWebAppArgs.builder()\n            .name(\"example\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleStaticWebApp:\n    type: azure:appservice:StaticWebApp\n    name: example\n    properties:\n      name: example\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Web` - 2023-01-01\n\n## Import\n\nStatic Web Apps can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:appservice/staticWebApp:StaticWebApp example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Web/staticSites/my-static-site1\n```\n\n","properties":{"apiKey":{"type":"string","description":"The API key of this Static Web App, which is used for later interacting with this Static Web App from other clients, e.g. GitHub Action.\n","secret":true},"appSettings":{"type":"object","additionalProperties":{"type":"string"},"description":"A key-value pair of App Settings.\n\n\u003e **Note:** If using the \u003cspan pulumi-lang-nodejs=\"`apiKey`\" pulumi-lang-dotnet=\"`ApiKey`\" pulumi-lang-go=\"`apiKey`\" pulumi-lang-python=\"`api_key`\" pulumi-lang-yaml=\"`apiKey`\" pulumi-lang-java=\"`apiKey`\"\u003e`api_key`\u003c/span\u003e to deploy a Static Web App from a CI/CD pipeline or other source, \u003cspan pulumi-lang-nodejs=\"`repositoryBranch`\" pulumi-lang-dotnet=\"`RepositoryBranch`\" pulumi-lang-go=\"`repositoryBranch`\" pulumi-lang-python=\"`repository_branch`\" pulumi-lang-yaml=\"`repositoryBranch`\" pulumi-lang-java=\"`repositoryBranch`\"\u003e`repository_branch`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`repositoryUrl`\" pulumi-lang-dotnet=\"`RepositoryUrl`\" pulumi-lang-go=\"`repositoryUrl`\" pulumi-lang-python=\"`repository_url`\" pulumi-lang-yaml=\"`repositoryUrl`\" pulumi-lang-java=\"`repositoryUrl`\"\u003e`repository_url`\u003c/span\u003e will get updated in Azure, but it is not possible to set \u003cspan pulumi-lang-nodejs=\"`repositoryToken`\" pulumi-lang-dotnet=\"`RepositoryToken`\" pulumi-lang-go=\"`repositoryToken`\" pulumi-lang-python=\"`repository_token`\" pulumi-lang-yaml=\"`repositoryToken`\" pulumi-lang-java=\"`repositoryToken`\"\u003e`repository_token`\u003c/span\u003e in that case. Use a \u003cspan pulumi-lang-nodejs=\"`lifecycle`\" pulumi-lang-dotnet=\"`Lifecycle`\" pulumi-lang-go=\"`lifecycle`\" pulumi-lang-python=\"`lifecycle`\" pulumi-lang-yaml=\"`lifecycle`\" pulumi-lang-java=\"`lifecycle`\"\u003e`lifecycle`\u003c/span\u003e block to \u003cspan pulumi-lang-nodejs=\"`ignoreChanges`\" pulumi-lang-dotnet=\"`IgnoreChanges`\" pulumi-lang-go=\"`ignoreChanges`\" pulumi-lang-python=\"`ignore_changes`\" pulumi-lang-yaml=\"`ignoreChanges`\" pulumi-lang-java=\"`ignoreChanges`\"\u003e`ignore_changes`\u003c/span\u003e for \u003cspan pulumi-lang-nodejs=\"`repositoryBranch`\" pulumi-lang-dotnet=\"`RepositoryBranch`\" pulumi-lang-go=\"`repositoryBranch`\" pulumi-lang-python=\"`repository_branch`\" pulumi-lang-yaml=\"`repositoryBranch`\" pulumi-lang-java=\"`repositoryBranch`\"\u003e`repository_branch`\u003c/span\u003e and\u003cspan pulumi-lang-nodejs=\"`repositoryUrl`\" pulumi-lang-dotnet=\"`RepositoryUrl`\" pulumi-lang-go=\"`repositoryUrl`\" pulumi-lang-python=\"`repository_url`\" pulumi-lang-yaml=\"`repositoryUrl`\" pulumi-lang-java=\"`repositoryUrl`\"\u003e`repository_url`\u003c/span\u003e if that is your deployment scenario.\n"},"basicAuth":{"$ref":"#/types/azure:appservice/StaticWebAppBasicAuth:StaticWebAppBasicAuth","description":"A \u003cspan pulumi-lang-nodejs=\"`basicAuth`\" pulumi-lang-dotnet=\"`BasicAuth`\" pulumi-lang-go=\"`basicAuth`\" pulumi-lang-python=\"`basic_auth`\" pulumi-lang-yaml=\"`basicAuth`\" pulumi-lang-java=\"`basicAuth`\"\u003e`basic_auth`\u003c/span\u003e block as defined below.\n","secret":true},"configurationFileChangesEnabled":{"type":"boolean","description":"Should changes to the configuration file be permitted. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"defaultHostName":{"type":"string","description":"The default host name of the Static Web App.\n"},"identity":{"$ref":"#/types/azure:appservice/StaticWebAppIdentity:StaticWebAppIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"location":{"type":"string","description":"The Azure Region where the Static Web App should exist. Changing this forces a new Static Web App to be created.\n"},"name":{"type":"string","description":"The name which should be used for this Static Web App. Changing this forces a new Static Web App to be created.\n"},"previewEnvironmentsEnabled":{"type":"boolean","description":"Are Preview (Staging) environments enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"publicNetworkAccessEnabled":{"type":"boolean","description":"Should public network access be enabled for the Static Web App. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"repositoryBranch":{"type":"string","description":"Repository branch to use for the Static Web App. \u003cspan pulumi-lang-nodejs=\"`repositoryUrl`\" pulumi-lang-dotnet=\"`RepositoryUrl`\" pulumi-lang-go=\"`repositoryUrl`\" pulumi-lang-python=\"`repository_url`\" pulumi-lang-yaml=\"`repositoryUrl`\" pulumi-lang-java=\"`repositoryUrl`\"\u003e`repository_url`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`repositoryToken`\" pulumi-lang-dotnet=\"`RepositoryToken`\" pulumi-lang-go=\"`repositoryToken`\" pulumi-lang-python=\"`repository_token`\" pulumi-lang-yaml=\"`repositoryToken`\" pulumi-lang-java=\"`repositoryToken`\"\u003e`repository_token`\u003c/span\u003e must also be set.\n"},"repositoryToken":{"type":"string","description":"Repository Token with \u003cspan pulumi-lang-nodejs=\"`admin`\" pulumi-lang-dotnet=\"`Admin`\" pulumi-lang-go=\"`admin`\" pulumi-lang-python=\"`admin`\" pulumi-lang-yaml=\"`admin`\" pulumi-lang-java=\"`admin`\"\u003e`admin`\u003c/span\u003e privileges to use for the Static Web App. \u003cspan pulumi-lang-nodejs=\"`repositoryBranch`\" pulumi-lang-dotnet=\"`RepositoryBranch`\" pulumi-lang-go=\"`repositoryBranch`\" pulumi-lang-python=\"`repository_branch`\" pulumi-lang-yaml=\"`repositoryBranch`\" pulumi-lang-java=\"`repositoryBranch`\"\u003e`repository_branch`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`repositoryUrl`\" pulumi-lang-dotnet=\"`RepositoryUrl`\" pulumi-lang-go=\"`repositoryUrl`\" pulumi-lang-python=\"`repository_url`\" pulumi-lang-yaml=\"`repositoryUrl`\" pulumi-lang-java=\"`repositoryUrl`\"\u003e`repository_url`\u003c/span\u003e must also be set.\n","secret":true},"repositoryUrl":{"type":"string","description":"Repository URL to use for the Static Web App. \u003cspan pulumi-lang-nodejs=\"`repositoryBranch`\" pulumi-lang-dotnet=\"`RepositoryBranch`\" pulumi-lang-go=\"`repositoryBranch`\" pulumi-lang-python=\"`repository_branch`\" pulumi-lang-yaml=\"`repositoryBranch`\" pulumi-lang-java=\"`repositoryBranch`\"\u003e`repository_branch`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`repositoryToken`\" pulumi-lang-dotnet=\"`RepositoryToken`\" pulumi-lang-go=\"`repositoryToken`\" pulumi-lang-python=\"`repository_token`\" pulumi-lang-yaml=\"`repositoryToken`\" pulumi-lang-java=\"`repositoryToken`\"\u003e`repository_token`\u003c/span\u003e must also be set.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Static Web App should exist. Changing this forces a new Static Web App to be created.\n"},"skuSize":{"type":"string","description":"Specifies the SKU size of the Static Web App. Possible values are `Free` or `Standard`. Defaults to `Free`.\n"},"skuTier":{"type":"string","description":"Specifies the SKU tier of the Static Web App. Possible values are `Free` or `Standard`. Defaults to `Free`.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"required":["apiKey","defaultHostName","location","name","resourceGroupName"],"inputProperties":{"appSettings":{"type":"object","additionalProperties":{"type":"string"},"description":"A key-value pair of App Settings.\n\n\u003e **Note:** If using the \u003cspan pulumi-lang-nodejs=\"`apiKey`\" pulumi-lang-dotnet=\"`ApiKey`\" pulumi-lang-go=\"`apiKey`\" pulumi-lang-python=\"`api_key`\" pulumi-lang-yaml=\"`apiKey`\" pulumi-lang-java=\"`apiKey`\"\u003e`api_key`\u003c/span\u003e to deploy a Static Web App from a CI/CD pipeline or other source, \u003cspan pulumi-lang-nodejs=\"`repositoryBranch`\" pulumi-lang-dotnet=\"`RepositoryBranch`\" pulumi-lang-go=\"`repositoryBranch`\" pulumi-lang-python=\"`repository_branch`\" pulumi-lang-yaml=\"`repositoryBranch`\" pulumi-lang-java=\"`repositoryBranch`\"\u003e`repository_branch`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`repositoryUrl`\" pulumi-lang-dotnet=\"`RepositoryUrl`\" pulumi-lang-go=\"`repositoryUrl`\" pulumi-lang-python=\"`repository_url`\" pulumi-lang-yaml=\"`repositoryUrl`\" pulumi-lang-java=\"`repositoryUrl`\"\u003e`repository_url`\u003c/span\u003e will get updated in Azure, but it is not possible to set \u003cspan pulumi-lang-nodejs=\"`repositoryToken`\" pulumi-lang-dotnet=\"`RepositoryToken`\" pulumi-lang-go=\"`repositoryToken`\" pulumi-lang-python=\"`repository_token`\" pulumi-lang-yaml=\"`repositoryToken`\" pulumi-lang-java=\"`repositoryToken`\"\u003e`repository_token`\u003c/span\u003e in that case. Use a \u003cspan pulumi-lang-nodejs=\"`lifecycle`\" pulumi-lang-dotnet=\"`Lifecycle`\" pulumi-lang-go=\"`lifecycle`\" pulumi-lang-python=\"`lifecycle`\" pulumi-lang-yaml=\"`lifecycle`\" pulumi-lang-java=\"`lifecycle`\"\u003e`lifecycle`\u003c/span\u003e block to \u003cspan pulumi-lang-nodejs=\"`ignoreChanges`\" pulumi-lang-dotnet=\"`IgnoreChanges`\" pulumi-lang-go=\"`ignoreChanges`\" pulumi-lang-python=\"`ignore_changes`\" pulumi-lang-yaml=\"`ignoreChanges`\" pulumi-lang-java=\"`ignoreChanges`\"\u003e`ignore_changes`\u003c/span\u003e for \u003cspan pulumi-lang-nodejs=\"`repositoryBranch`\" pulumi-lang-dotnet=\"`RepositoryBranch`\" pulumi-lang-go=\"`repositoryBranch`\" pulumi-lang-python=\"`repository_branch`\" pulumi-lang-yaml=\"`repositoryBranch`\" pulumi-lang-java=\"`repositoryBranch`\"\u003e`repository_branch`\u003c/span\u003e and\u003cspan pulumi-lang-nodejs=\"`repositoryUrl`\" pulumi-lang-dotnet=\"`RepositoryUrl`\" pulumi-lang-go=\"`repositoryUrl`\" pulumi-lang-python=\"`repository_url`\" pulumi-lang-yaml=\"`repositoryUrl`\" pulumi-lang-java=\"`repositoryUrl`\"\u003e`repository_url`\u003c/span\u003e if that is your deployment scenario.\n"},"basicAuth":{"$ref":"#/types/azure:appservice/StaticWebAppBasicAuth:StaticWebAppBasicAuth","description":"A \u003cspan pulumi-lang-nodejs=\"`basicAuth`\" pulumi-lang-dotnet=\"`BasicAuth`\" pulumi-lang-go=\"`basicAuth`\" pulumi-lang-python=\"`basic_auth`\" pulumi-lang-yaml=\"`basicAuth`\" pulumi-lang-java=\"`basicAuth`\"\u003e`basic_auth`\u003c/span\u003e block as defined below.\n","secret":true},"configurationFileChangesEnabled":{"type":"boolean","description":"Should changes to the configuration file be permitted. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"identity":{"$ref":"#/types/azure:appservice/StaticWebAppIdentity:StaticWebAppIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"location":{"type":"string","description":"The Azure Region where the Static Web App should exist. Changing this forces a new Static Web App to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Static Web App. Changing this forces a new Static Web App to be created.\n","willReplaceOnChanges":true},"previewEnvironmentsEnabled":{"type":"boolean","description":"Are Preview (Staging) environments enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"publicNetworkAccessEnabled":{"type":"boolean","description":"Should public network access be enabled for the Static Web App. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"repositoryBranch":{"type":"string","description":"Repository branch to use for the Static Web App. \u003cspan pulumi-lang-nodejs=\"`repositoryUrl`\" pulumi-lang-dotnet=\"`RepositoryUrl`\" pulumi-lang-go=\"`repositoryUrl`\" pulumi-lang-python=\"`repository_url`\" pulumi-lang-yaml=\"`repositoryUrl`\" pulumi-lang-java=\"`repositoryUrl`\"\u003e`repository_url`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`repositoryToken`\" pulumi-lang-dotnet=\"`RepositoryToken`\" pulumi-lang-go=\"`repositoryToken`\" pulumi-lang-python=\"`repository_token`\" pulumi-lang-yaml=\"`repositoryToken`\" pulumi-lang-java=\"`repositoryToken`\"\u003e`repository_token`\u003c/span\u003e must also be set.\n"},"repositoryToken":{"type":"string","description":"Repository Token with \u003cspan pulumi-lang-nodejs=\"`admin`\" pulumi-lang-dotnet=\"`Admin`\" pulumi-lang-go=\"`admin`\" pulumi-lang-python=\"`admin`\" pulumi-lang-yaml=\"`admin`\" pulumi-lang-java=\"`admin`\"\u003e`admin`\u003c/span\u003e privileges to use for the Static Web App. \u003cspan pulumi-lang-nodejs=\"`repositoryBranch`\" pulumi-lang-dotnet=\"`RepositoryBranch`\" pulumi-lang-go=\"`repositoryBranch`\" pulumi-lang-python=\"`repository_branch`\" pulumi-lang-yaml=\"`repositoryBranch`\" pulumi-lang-java=\"`repositoryBranch`\"\u003e`repository_branch`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`repositoryUrl`\" pulumi-lang-dotnet=\"`RepositoryUrl`\" pulumi-lang-go=\"`repositoryUrl`\" pulumi-lang-python=\"`repository_url`\" pulumi-lang-yaml=\"`repositoryUrl`\" pulumi-lang-java=\"`repositoryUrl`\"\u003e`repository_url`\u003c/span\u003e must also be set.\n","secret":true},"repositoryUrl":{"type":"string","description":"Repository URL to use for the Static Web App. \u003cspan pulumi-lang-nodejs=\"`repositoryBranch`\" pulumi-lang-dotnet=\"`RepositoryBranch`\" pulumi-lang-go=\"`repositoryBranch`\" pulumi-lang-python=\"`repository_branch`\" pulumi-lang-yaml=\"`repositoryBranch`\" pulumi-lang-java=\"`repositoryBranch`\"\u003e`repository_branch`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`repositoryToken`\" pulumi-lang-dotnet=\"`RepositoryToken`\" pulumi-lang-go=\"`repositoryToken`\" pulumi-lang-python=\"`repository_token`\" pulumi-lang-yaml=\"`repositoryToken`\" pulumi-lang-java=\"`repositoryToken`\"\u003e`repository_token`\u003c/span\u003e must also be set.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Static Web App should exist. Changing this forces a new Static Web App to be created.\n","willReplaceOnChanges":true},"skuSize":{"type":"string","description":"Specifies the SKU size of the Static Web App. Possible values are `Free` or `Standard`. Defaults to `Free`.\n"},"skuTier":{"type":"string","description":"Specifies the SKU tier of the Static Web App. Possible values are `Free` or `Standard`. Defaults to `Free`.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"requiredInputs":["resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering StaticWebApp resources.\n","properties":{"apiKey":{"type":"string","description":"The API key of this Static Web App, which is used for later interacting with this Static Web App from other clients, e.g. GitHub Action.\n","secret":true},"appSettings":{"type":"object","additionalProperties":{"type":"string"},"description":"A key-value pair of App Settings.\n\n\u003e **Note:** If using the \u003cspan pulumi-lang-nodejs=\"`apiKey`\" pulumi-lang-dotnet=\"`ApiKey`\" pulumi-lang-go=\"`apiKey`\" pulumi-lang-python=\"`api_key`\" pulumi-lang-yaml=\"`apiKey`\" pulumi-lang-java=\"`apiKey`\"\u003e`api_key`\u003c/span\u003e to deploy a Static Web App from a CI/CD pipeline or other source, \u003cspan pulumi-lang-nodejs=\"`repositoryBranch`\" pulumi-lang-dotnet=\"`RepositoryBranch`\" pulumi-lang-go=\"`repositoryBranch`\" pulumi-lang-python=\"`repository_branch`\" pulumi-lang-yaml=\"`repositoryBranch`\" pulumi-lang-java=\"`repositoryBranch`\"\u003e`repository_branch`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`repositoryUrl`\" pulumi-lang-dotnet=\"`RepositoryUrl`\" pulumi-lang-go=\"`repositoryUrl`\" pulumi-lang-python=\"`repository_url`\" pulumi-lang-yaml=\"`repositoryUrl`\" pulumi-lang-java=\"`repositoryUrl`\"\u003e`repository_url`\u003c/span\u003e will get updated in Azure, but it is not possible to set \u003cspan pulumi-lang-nodejs=\"`repositoryToken`\" pulumi-lang-dotnet=\"`RepositoryToken`\" pulumi-lang-go=\"`repositoryToken`\" pulumi-lang-python=\"`repository_token`\" pulumi-lang-yaml=\"`repositoryToken`\" pulumi-lang-java=\"`repositoryToken`\"\u003e`repository_token`\u003c/span\u003e in that case. Use a \u003cspan pulumi-lang-nodejs=\"`lifecycle`\" pulumi-lang-dotnet=\"`Lifecycle`\" pulumi-lang-go=\"`lifecycle`\" pulumi-lang-python=\"`lifecycle`\" pulumi-lang-yaml=\"`lifecycle`\" pulumi-lang-java=\"`lifecycle`\"\u003e`lifecycle`\u003c/span\u003e block to \u003cspan pulumi-lang-nodejs=\"`ignoreChanges`\" pulumi-lang-dotnet=\"`IgnoreChanges`\" pulumi-lang-go=\"`ignoreChanges`\" pulumi-lang-python=\"`ignore_changes`\" pulumi-lang-yaml=\"`ignoreChanges`\" pulumi-lang-java=\"`ignoreChanges`\"\u003e`ignore_changes`\u003c/span\u003e for \u003cspan pulumi-lang-nodejs=\"`repositoryBranch`\" pulumi-lang-dotnet=\"`RepositoryBranch`\" pulumi-lang-go=\"`repositoryBranch`\" pulumi-lang-python=\"`repository_branch`\" pulumi-lang-yaml=\"`repositoryBranch`\" pulumi-lang-java=\"`repositoryBranch`\"\u003e`repository_branch`\u003c/span\u003e and\u003cspan pulumi-lang-nodejs=\"`repositoryUrl`\" pulumi-lang-dotnet=\"`RepositoryUrl`\" pulumi-lang-go=\"`repositoryUrl`\" pulumi-lang-python=\"`repository_url`\" pulumi-lang-yaml=\"`repositoryUrl`\" pulumi-lang-java=\"`repositoryUrl`\"\u003e`repository_url`\u003c/span\u003e if that is your deployment scenario.\n"},"basicAuth":{"$ref":"#/types/azure:appservice/StaticWebAppBasicAuth:StaticWebAppBasicAuth","description":"A \u003cspan pulumi-lang-nodejs=\"`basicAuth`\" pulumi-lang-dotnet=\"`BasicAuth`\" pulumi-lang-go=\"`basicAuth`\" pulumi-lang-python=\"`basic_auth`\" pulumi-lang-yaml=\"`basicAuth`\" pulumi-lang-java=\"`basicAuth`\"\u003e`basic_auth`\u003c/span\u003e block as defined below.\n","secret":true},"configurationFileChangesEnabled":{"type":"boolean","description":"Should changes to the configuration file be permitted. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"defaultHostName":{"type":"string","description":"The default host name of the Static Web App.\n"},"identity":{"$ref":"#/types/azure:appservice/StaticWebAppIdentity:StaticWebAppIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"location":{"type":"string","description":"The Azure Region where the Static Web App should exist. Changing this forces a new Static Web App to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Static Web App. Changing this forces a new Static Web App to be created.\n","willReplaceOnChanges":true},"previewEnvironmentsEnabled":{"type":"boolean","description":"Are Preview (Staging) environments enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"publicNetworkAccessEnabled":{"type":"boolean","description":"Should public network access be enabled for the Static Web App. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"repositoryBranch":{"type":"string","description":"Repository branch to use for the Static Web App. \u003cspan pulumi-lang-nodejs=\"`repositoryUrl`\" pulumi-lang-dotnet=\"`RepositoryUrl`\" pulumi-lang-go=\"`repositoryUrl`\" pulumi-lang-python=\"`repository_url`\" pulumi-lang-yaml=\"`repositoryUrl`\" pulumi-lang-java=\"`repositoryUrl`\"\u003e`repository_url`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`repositoryToken`\" pulumi-lang-dotnet=\"`RepositoryToken`\" pulumi-lang-go=\"`repositoryToken`\" pulumi-lang-python=\"`repository_token`\" pulumi-lang-yaml=\"`repositoryToken`\" pulumi-lang-java=\"`repositoryToken`\"\u003e`repository_token`\u003c/span\u003e must also be set.\n"},"repositoryToken":{"type":"string","description":"Repository Token with \u003cspan pulumi-lang-nodejs=\"`admin`\" pulumi-lang-dotnet=\"`Admin`\" pulumi-lang-go=\"`admin`\" pulumi-lang-python=\"`admin`\" pulumi-lang-yaml=\"`admin`\" pulumi-lang-java=\"`admin`\"\u003e`admin`\u003c/span\u003e privileges to use for the Static Web App. \u003cspan pulumi-lang-nodejs=\"`repositoryBranch`\" pulumi-lang-dotnet=\"`RepositoryBranch`\" pulumi-lang-go=\"`repositoryBranch`\" pulumi-lang-python=\"`repository_branch`\" pulumi-lang-yaml=\"`repositoryBranch`\" pulumi-lang-java=\"`repositoryBranch`\"\u003e`repository_branch`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`repositoryUrl`\" pulumi-lang-dotnet=\"`RepositoryUrl`\" pulumi-lang-go=\"`repositoryUrl`\" pulumi-lang-python=\"`repository_url`\" pulumi-lang-yaml=\"`repositoryUrl`\" pulumi-lang-java=\"`repositoryUrl`\"\u003e`repository_url`\u003c/span\u003e must also be set.\n","secret":true},"repositoryUrl":{"type":"string","description":"Repository URL to use for the Static Web App. \u003cspan pulumi-lang-nodejs=\"`repositoryBranch`\" pulumi-lang-dotnet=\"`RepositoryBranch`\" pulumi-lang-go=\"`repositoryBranch`\" pulumi-lang-python=\"`repository_branch`\" pulumi-lang-yaml=\"`repositoryBranch`\" pulumi-lang-java=\"`repositoryBranch`\"\u003e`repository_branch`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`repositoryToken`\" pulumi-lang-dotnet=\"`RepositoryToken`\" pulumi-lang-go=\"`repositoryToken`\" pulumi-lang-python=\"`repository_token`\" pulumi-lang-yaml=\"`repositoryToken`\" pulumi-lang-java=\"`repositoryToken`\"\u003e`repository_token`\u003c/span\u003e must also be set.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Static Web App should exist. Changing this forces a new Static Web App to be created.\n","willReplaceOnChanges":true},"skuSize":{"type":"string","description":"Specifies the SKU size of the Static Web App. Possible values are `Free` or `Standard`. Defaults to `Free`.\n"},"skuTier":{"type":"string","description":"Specifies the SKU tier of the Static Web App. Possible values are `Free` or `Standard`. Defaults to `Free`.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"type":"object"}},"azure:appservice/staticWebAppCustomDomain:StaticWebAppCustomDomain":{"description":"Manages a Static Web App Custom Domain.\n\n!\u003e **Note:** DNS validation polling is only done for CNAME records, terraform will not validate TXT validation records are complete.\n\n## Example Usage\n\n### CNAME validation\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleStaticWebApp = new azure.appservice.StaticWebApp(\"example\", {\n    name: \"example\",\n    resourceGroupName: example.name,\n    location: example.location,\n});\nconst exampleCNameRecord = new azure.dns.CNameRecord(\"example\", {\n    name: \"my-domain\",\n    zoneName: \"contoso.com\",\n    resourceGroupName: example.name,\n    ttl: 300,\n    record: exampleStaticWebApp.defaultHostName,\n});\nconst exampleStaticWebAppCustomDomain = new azure.appservice.StaticWebAppCustomDomain(\"example\", {\n    staticWebAppId: exampleStaticWebApp.id,\n    domainName: pulumi.interpolate`${exampleCNameRecord.name}.${exampleCNameRecord.zoneName}`,\n    validationType: \"cname-delegation\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_static_web_app = azure.appservice.StaticWebApp(\"example\",\n    name=\"example\",\n    resource_group_name=example.name,\n    location=example.location)\nexample_c_name_record = azure.dns.CNameRecord(\"example\",\n    name=\"my-domain\",\n    zone_name=\"contoso.com\",\n    resource_group_name=example.name,\n    ttl=300,\n    record=example_static_web_app.default_host_name)\nexample_static_web_app_custom_domain = azure.appservice.StaticWebAppCustomDomain(\"example\",\n    static_web_app_id=example_static_web_app.id,\n    domain_name=pulumi.Output.all(\n        name=example_c_name_record.name,\n        zone_name=example_c_name_record.zone_name\n).apply(lambda resolved_outputs: f\"{resolved_outputs['name']}.{resolved_outputs['zone_name']}\")\n,\n    validation_type=\"cname-delegation\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleStaticWebApp = new Azure.AppService.StaticWebApp(\"example\", new()\n    {\n        Name = \"example\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n    });\n\n    var exampleCNameRecord = new Azure.Dns.CNameRecord(\"example\", new()\n    {\n        Name = \"my-domain\",\n        ZoneName = \"contoso.com\",\n        ResourceGroupName = example.Name,\n        Ttl = 300,\n        Record = exampleStaticWebApp.DefaultHostName,\n    });\n\n    var exampleStaticWebAppCustomDomain = new Azure.AppService.StaticWebAppCustomDomain(\"example\", new()\n    {\n        StaticWebAppId = exampleStaticWebApp.Id,\n        DomainName = Output.Tuple(exampleCNameRecord.Name, exampleCNameRecord.ZoneName).Apply(values =\u003e\n        {\n            var name = values.Item1;\n            var zoneName = values.Item2;\n            return $\"{name}.{zoneName}\";\n        }),\n        ValidationType = \"cname-delegation\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/appservice\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/dns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleStaticWebApp, err := appservice.NewStaticWebApp(ctx, \"example\", \u0026appservice.StaticWebAppArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleCNameRecord, err := dns.NewCNameRecord(ctx, \"example\", \u0026dns.CNameRecordArgs{\n\t\t\tName:              pulumi.String(\"my-domain\"),\n\t\t\tZoneName:          pulumi.String(\"contoso.com\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tTtl:               pulumi.Int(300),\n\t\t\tRecord:            exampleStaticWebApp.DefaultHostName,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = appservice.NewStaticWebAppCustomDomain(ctx, \"example\", \u0026appservice.StaticWebAppCustomDomainArgs{\n\t\t\tStaticWebAppId: exampleStaticWebApp.ID(),\n\t\t\tDomainName: pulumi.All(exampleCNameRecord.Name, exampleCNameRecord.ZoneName).ApplyT(func(_args []interface{}) (string, error) {\n\t\t\t\tname := _args[0].(string)\n\t\t\t\tzoneName := _args[1].(string)\n\t\t\t\treturn fmt.Sprintf(\"%v.%v\", name, zoneName), nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t\tValidationType: pulumi.String(\"cname-delegation\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.appservice.StaticWebApp;\nimport com.pulumi.azure.appservice.StaticWebAppArgs;\nimport com.pulumi.azure.dns.CNameRecord;\nimport com.pulumi.azure.dns.CNameRecordArgs;\nimport com.pulumi.azure.appservice.StaticWebAppCustomDomain;\nimport com.pulumi.azure.appservice.StaticWebAppCustomDomainArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleStaticWebApp = new StaticWebApp(\"exampleStaticWebApp\", StaticWebAppArgs.builder()\n            .name(\"example\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .build());\n\n        var exampleCNameRecord = new CNameRecord(\"exampleCNameRecord\", CNameRecordArgs.builder()\n            .name(\"my-domain\")\n            .zoneName(\"contoso.com\")\n            .resourceGroupName(example.name())\n            .ttl(300)\n            .record(exampleStaticWebApp.defaultHostName())\n            .build());\n\n        var exampleStaticWebAppCustomDomain = new StaticWebAppCustomDomain(\"exampleStaticWebAppCustomDomain\", StaticWebAppCustomDomainArgs.builder()\n            .staticWebAppId(exampleStaticWebApp.id())\n            .domainName(Output.tuple(exampleCNameRecord.name(), exampleCNameRecord.zoneName()).applyValue(values -\u003e {\n                var name = values.t1;\n                var zoneName = values.t2;\n                return String.format(\"%s.%s\", name,zoneName);\n            }))\n            .validationType(\"cname-delegation\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleStaticWebApp:\n    type: azure:appservice:StaticWebApp\n    name: example\n    properties:\n      name: example\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n  exampleCNameRecord:\n    type: azure:dns:CNameRecord\n    name: example\n    properties:\n      name: my-domain\n      zoneName: contoso.com\n      resourceGroupName: ${example.name}\n      ttl: 300\n      record: ${exampleStaticWebApp.defaultHostName}\n  exampleStaticWebAppCustomDomain:\n    type: azure:appservice:StaticWebAppCustomDomain\n    name: example\n    properties:\n      staticWebAppId: ${exampleStaticWebApp.id}\n      domainName: ${exampleCNameRecord.name}.${exampleCNameRecord.zoneName}\n      validationType: cname-delegation\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### TXT validation\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleStaticWebApp = new azure.appservice.StaticWebApp(\"example\", {\n    name: \"example\",\n    resourceGroupName: example.name,\n    location: example.location,\n});\nconst exampleStaticWebAppCustomDomain = new azure.appservice.StaticWebAppCustomDomain(\"example\", {\n    staticWebAppId: exampleStaticWebApp.id,\n    domainName: \"my-domain.contoso.com\",\n    validationType: \"dns-txt-token\",\n});\nconst exampleTxtRecord = new azure.dns.TxtRecord(\"example\", {\n    name: \"_dnsauth.my-domain\",\n    zoneName: \"contoso.com\",\n    resourceGroupName: example.name,\n    ttl: 300,\n    records: [{\n        value: exampleStaticWebAppCustomDomain.validationToken,\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_static_web_app = azure.appservice.StaticWebApp(\"example\",\n    name=\"example\",\n    resource_group_name=example.name,\n    location=example.location)\nexample_static_web_app_custom_domain = azure.appservice.StaticWebAppCustomDomain(\"example\",\n    static_web_app_id=example_static_web_app.id,\n    domain_name=\"my-domain.contoso.com\",\n    validation_type=\"dns-txt-token\")\nexample_txt_record = azure.dns.TxtRecord(\"example\",\n    name=\"_dnsauth.my-domain\",\n    zone_name=\"contoso.com\",\n    resource_group_name=example.name,\n    ttl=300,\n    records=[{\n        \"value\": example_static_web_app_custom_domain.validation_token,\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleStaticWebApp = new Azure.AppService.StaticWebApp(\"example\", new()\n    {\n        Name = \"example\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n    });\n\n    var exampleStaticWebAppCustomDomain = new Azure.AppService.StaticWebAppCustomDomain(\"example\", new()\n    {\n        StaticWebAppId = exampleStaticWebApp.Id,\n        DomainName = \"my-domain.contoso.com\",\n        ValidationType = \"dns-txt-token\",\n    });\n\n    var exampleTxtRecord = new Azure.Dns.TxtRecord(\"example\", new()\n    {\n        Name = \"_dnsauth.my-domain\",\n        ZoneName = \"contoso.com\",\n        ResourceGroupName = example.Name,\n        Ttl = 300,\n        Records = new[]\n        {\n            new Azure.Dns.Inputs.TxtRecordRecordArgs\n            {\n                Value = exampleStaticWebAppCustomDomain.ValidationToken,\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/appservice\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/dns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleStaticWebApp, err := appservice.NewStaticWebApp(ctx, \"example\", \u0026appservice.StaticWebAppArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleStaticWebAppCustomDomain, err := appservice.NewStaticWebAppCustomDomain(ctx, \"example\", \u0026appservice.StaticWebAppCustomDomainArgs{\n\t\t\tStaticWebAppId: exampleStaticWebApp.ID(),\n\t\t\tDomainName:     pulumi.String(\"my-domain.contoso.com\"),\n\t\t\tValidationType: pulumi.String(\"dns-txt-token\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = dns.NewTxtRecord(ctx, \"example\", \u0026dns.TxtRecordArgs{\n\t\t\tName:              pulumi.String(\"_dnsauth.my-domain\"),\n\t\t\tZoneName:          pulumi.String(\"contoso.com\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tTtl:               pulumi.Int(300),\n\t\t\tRecords: dns.TxtRecordRecordArray{\n\t\t\t\t\u0026dns.TxtRecordRecordArgs{\n\t\t\t\t\tValue: exampleStaticWebAppCustomDomain.ValidationToken,\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.appservice.StaticWebApp;\nimport com.pulumi.azure.appservice.StaticWebAppArgs;\nimport com.pulumi.azure.appservice.StaticWebAppCustomDomain;\nimport com.pulumi.azure.appservice.StaticWebAppCustomDomainArgs;\nimport com.pulumi.azure.dns.TxtRecord;\nimport com.pulumi.azure.dns.TxtRecordArgs;\nimport com.pulumi.azure.dns.inputs.TxtRecordRecordArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleStaticWebApp = new StaticWebApp(\"exampleStaticWebApp\", StaticWebAppArgs.builder()\n            .name(\"example\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .build());\n\n        var exampleStaticWebAppCustomDomain = new StaticWebAppCustomDomain(\"exampleStaticWebAppCustomDomain\", StaticWebAppCustomDomainArgs.builder()\n            .staticWebAppId(exampleStaticWebApp.id())\n            .domainName(\"my-domain.contoso.com\")\n            .validationType(\"dns-txt-token\")\n            .build());\n\n        var exampleTxtRecord = new TxtRecord(\"exampleTxtRecord\", TxtRecordArgs.builder()\n            .name(\"_dnsauth.my-domain\")\n            .zoneName(\"contoso.com\")\n            .resourceGroupName(example.name())\n            .ttl(300)\n            .records(TxtRecordRecordArgs.builder()\n                .value(exampleStaticWebAppCustomDomain.validationToken())\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleStaticWebApp:\n    type: azure:appservice:StaticWebApp\n    name: example\n    properties:\n      name: example\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n  exampleStaticWebAppCustomDomain:\n    type: azure:appservice:StaticWebAppCustomDomain\n    name: example\n    properties:\n      staticWebAppId: ${exampleStaticWebApp.id}\n      domainName: my-domain.contoso.com\n      validationType: dns-txt-token\n  exampleTxtRecord:\n    type: azure:dns:TxtRecord\n    name: example\n    properties:\n      name: _dnsauth.my-domain\n      zoneName: contoso.com\n      resourceGroupName: ${example.name}\n      ttl: 300\n      records:\n        - value: ${exampleStaticWebAppCustomDomain.validationToken}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Web` - 2023-01-01\n\n## Import\n\nStatic Site Custom Domains can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:appservice/staticWebAppCustomDomain:StaticWebAppCustomDomain example /subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/group1/providers/Microsoft.Web/staticSites/my-static-site1/customDomains/name.contoso.com\n```\n\n","properties":{"domainName":{"type":"string","description":"The Domain Name which should be associated with this Static Site. Changing this forces a new Static Site Custom Domain to be created.\n"},"staticWebAppId":{"type":"string","description":"The ID of the Static Site. Changing this forces a new Static Site Custom Domain to be created.\n"},"validationToken":{"type":"string","description":"Token to be used with `dns-txt-token` validation.\n","secret":true},"validationType":{"type":"string","description":"One of `cname-delegation` or `dns-txt-token`. Changing this forces a new Static Site Custom Domain to be created.\n\n\u003e **Note:** Apex domains must use `dns-txt-token` validation.\n\n\u003e **Note:** Validation using `dns-txt-token` is performed asynchronously and Terraform does not wait for the validation process to be successful before marking the resource as created successfully. Please ensure that the appropriate TXT record is created using the \u003cspan pulumi-lang-nodejs=\"`validationToken`\" pulumi-lang-dotnet=\"`ValidationToken`\" pulumi-lang-go=\"`validationToken`\" pulumi-lang-python=\"`validation_token`\" pulumi-lang-yaml=\"`validationToken`\" pulumi-lang-java=\"`validationToken`\"\u003e`validation_token`\u003c/span\u003e value for this to complete out of band.\n"}},"required":["domainName","staticWebAppId","validationToken","validationType"],"inputProperties":{"domainName":{"type":"string","description":"The Domain Name which should be associated with this Static Site. Changing this forces a new Static Site Custom Domain to be created.\n","willReplaceOnChanges":true},"staticWebAppId":{"type":"string","description":"The ID of the Static Site. Changing this forces a new Static Site Custom Domain to be created.\n","willReplaceOnChanges":true},"validationType":{"type":"string","description":"One of `cname-delegation` or `dns-txt-token`. Changing this forces a new Static Site Custom Domain to be created.\n\n\u003e **Note:** Apex domains must use `dns-txt-token` validation.\n\n\u003e **Note:** Validation using `dns-txt-token` is performed asynchronously and Terraform does not wait for the validation process to be successful before marking the resource as created successfully. Please ensure that the appropriate TXT record is created using the \u003cspan pulumi-lang-nodejs=\"`validationToken`\" pulumi-lang-dotnet=\"`ValidationToken`\" pulumi-lang-go=\"`validationToken`\" pulumi-lang-python=\"`validation_token`\" pulumi-lang-yaml=\"`validationToken`\" pulumi-lang-java=\"`validationToken`\"\u003e`validation_token`\u003c/span\u003e value for this to complete out of band.\n","willReplaceOnChanges":true}},"requiredInputs":["domainName","staticWebAppId","validationType"],"stateInputs":{"description":"Input properties used for looking up and filtering StaticWebAppCustomDomain resources.\n","properties":{"domainName":{"type":"string","description":"The Domain Name which should be associated with this Static Site. Changing this forces a new Static Site Custom Domain to be created.\n","willReplaceOnChanges":true},"staticWebAppId":{"type":"string","description":"The ID of the Static Site. Changing this forces a new Static Site Custom Domain to be created.\n","willReplaceOnChanges":true},"validationToken":{"type":"string","description":"Token to be used with `dns-txt-token` validation.\n","secret":true},"validationType":{"type":"string","description":"One of `cname-delegation` or `dns-txt-token`. Changing this forces a new Static Site Custom Domain to be created.\n\n\u003e **Note:** Apex domains must use `dns-txt-token` validation.\n\n\u003e **Note:** Validation using `dns-txt-token` is performed asynchronously and Terraform does not wait for the validation process to be successful before marking the resource as created successfully. Please ensure that the appropriate TXT record is created using the \u003cspan pulumi-lang-nodejs=\"`validationToken`\" pulumi-lang-dotnet=\"`ValidationToken`\" pulumi-lang-go=\"`validationToken`\" pulumi-lang-python=\"`validation_token`\" pulumi-lang-yaml=\"`validationToken`\" pulumi-lang-java=\"`validationToken`\"\u003e`validation_token`\u003c/span\u003e value for this to complete out of band.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:appservice/staticWebAppFunctionAppRegistration:StaticWebAppFunctionAppRegistration":{"description":"Manages an App Service Static Web App Function App Registration.\n\n\u003e **Note:** This resource registers the specified Function App to the `Production` build of the Static Web App.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleStaticWebApp = new azure.appservice.StaticWebApp(\"example\", {\n    name: \"example\",\n    resourceGroupName: example.name,\n    location: example.location,\n});\nconst exampleAccount = new azure.storage.Account(\"example\", {\n    name: \"examplesstorageacc\",\n    resourceGroupName: example.name,\n    location: example.location,\n    accountTier: \"Standard\",\n    accountReplicationType: \"LRS\",\n});\nconst exampleServicePlan = new azure.appservice.ServicePlan(\"example\", {\n    name: \"example-service-plan\",\n    location: example.location,\n    resourceGroupName: example.name,\n    osType: \"Linux\",\n    skuName: \"S1\",\n});\nconst exampleLinuxFunctionApp = new azure.appservice.LinuxFunctionApp(\"example\", {\n    name: \"example-function-app\",\n    location: example.location,\n    resourceGroupName: example.name,\n    servicePlanId: exampleServicePlan.id,\n    storageAccountName: exampleAccount.name,\n    storageAccountAccessKey: exampleAccount.primaryAccessKey,\n    siteConfig: {},\n});\nconst exampleStaticWebAppFunctionAppRegistration = new azure.appservice.StaticWebAppFunctionAppRegistration(\"example\", {\n    staticWebAppId: exampleStaticWebApp.id,\n    functionAppId: exampleLinuxFunctionApp.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_static_web_app = azure.appservice.StaticWebApp(\"example\",\n    name=\"example\",\n    resource_group_name=example.name,\n    location=example.location)\nexample_account = azure.storage.Account(\"example\",\n    name=\"examplesstorageacc\",\n    resource_group_name=example.name,\n    location=example.location,\n    account_tier=\"Standard\",\n    account_replication_type=\"LRS\")\nexample_service_plan = azure.appservice.ServicePlan(\"example\",\n    name=\"example-service-plan\",\n    location=example.location,\n    resource_group_name=example.name,\n    os_type=\"Linux\",\n    sku_name=\"S1\")\nexample_linux_function_app = azure.appservice.LinuxFunctionApp(\"example\",\n    name=\"example-function-app\",\n    location=example.location,\n    resource_group_name=example.name,\n    service_plan_id=example_service_plan.id,\n    storage_account_name=example_account.name,\n    storage_account_access_key=example_account.primary_access_key,\n    site_config={})\nexample_static_web_app_function_app_registration = azure.appservice.StaticWebAppFunctionAppRegistration(\"example\",\n    static_web_app_id=example_static_web_app.id,\n    function_app_id=example_linux_function_app.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleStaticWebApp = new Azure.AppService.StaticWebApp(\"example\", new()\n    {\n        Name = \"example\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n    });\n\n    var exampleAccount = new Azure.Storage.Account(\"example\", new()\n    {\n        Name = \"examplesstorageacc\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        AccountTier = \"Standard\",\n        AccountReplicationType = \"LRS\",\n    });\n\n    var exampleServicePlan = new Azure.AppService.ServicePlan(\"example\", new()\n    {\n        Name = \"example-service-plan\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        OsType = \"Linux\",\n        SkuName = \"S1\",\n    });\n\n    var exampleLinuxFunctionApp = new Azure.AppService.LinuxFunctionApp(\"example\", new()\n    {\n        Name = \"example-function-app\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        ServicePlanId = exampleServicePlan.Id,\n        StorageAccountName = exampleAccount.Name,\n        StorageAccountAccessKey = exampleAccount.PrimaryAccessKey,\n        SiteConfig = null,\n    });\n\n    var exampleStaticWebAppFunctionAppRegistration = new Azure.AppService.StaticWebAppFunctionAppRegistration(\"example\", new()\n    {\n        StaticWebAppId = exampleStaticWebApp.Id,\n        FunctionAppId = exampleLinuxFunctionApp.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/appservice\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleStaticWebApp, err := appservice.NewStaticWebApp(ctx, \"example\", \u0026appservice.StaticWebAppArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := storage.NewAccount(ctx, \"example\", \u0026storage.AccountArgs{\n\t\t\tName:                   pulumi.String(\"examplesstorageacc\"),\n\t\t\tResourceGroupName:      example.Name,\n\t\t\tLocation:               example.Location,\n\t\t\tAccountTier:            pulumi.String(\"Standard\"),\n\t\t\tAccountReplicationType: pulumi.String(\"LRS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleServicePlan, err := appservice.NewServicePlan(ctx, \"example\", \u0026appservice.ServicePlanArgs{\n\t\t\tName:              pulumi.String(\"example-service-plan\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tOsType:            pulumi.String(\"Linux\"),\n\t\t\tSkuName:           pulumi.String(\"S1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleLinuxFunctionApp, err := appservice.NewLinuxFunctionApp(ctx, \"example\", \u0026appservice.LinuxFunctionAppArgs{\n\t\t\tName:                    pulumi.String(\"example-function-app\"),\n\t\t\tLocation:                example.Location,\n\t\t\tResourceGroupName:       example.Name,\n\t\t\tServicePlanId:           exampleServicePlan.ID(),\n\t\t\tStorageAccountName:      exampleAccount.Name,\n\t\t\tStorageAccountAccessKey: exampleAccount.PrimaryAccessKey,\n\t\t\tSiteConfig:              \u0026appservice.LinuxFunctionAppSiteConfigArgs{},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = appservice.NewStaticWebAppFunctionAppRegistration(ctx, \"example\", \u0026appservice.StaticWebAppFunctionAppRegistrationArgs{\n\t\t\tStaticWebAppId: exampleStaticWebApp.ID(),\n\t\t\tFunctionAppId:  exampleLinuxFunctionApp.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.appservice.StaticWebApp;\nimport com.pulumi.azure.appservice.StaticWebAppArgs;\nimport com.pulumi.azure.storage.Account;\nimport com.pulumi.azure.storage.AccountArgs;\nimport com.pulumi.azure.appservice.ServicePlan;\nimport com.pulumi.azure.appservice.ServicePlanArgs;\nimport com.pulumi.azure.appservice.LinuxFunctionApp;\nimport com.pulumi.azure.appservice.LinuxFunctionAppArgs;\nimport com.pulumi.azure.appservice.inputs.LinuxFunctionAppSiteConfigArgs;\nimport com.pulumi.azure.appservice.StaticWebAppFunctionAppRegistration;\nimport com.pulumi.azure.appservice.StaticWebAppFunctionAppRegistrationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleStaticWebApp = new StaticWebApp(\"exampleStaticWebApp\", StaticWebAppArgs.builder()\n            .name(\"example\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"examplesstorageacc\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .accountTier(\"Standard\")\n            .accountReplicationType(\"LRS\")\n            .build());\n\n        var exampleServicePlan = new ServicePlan(\"exampleServicePlan\", ServicePlanArgs.builder()\n            .name(\"example-service-plan\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .osType(\"Linux\")\n            .skuName(\"S1\")\n            .build());\n\n        var exampleLinuxFunctionApp = new LinuxFunctionApp(\"exampleLinuxFunctionApp\", LinuxFunctionAppArgs.builder()\n            .name(\"example-function-app\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .servicePlanId(exampleServicePlan.id())\n            .storageAccountName(exampleAccount.name())\n            .storageAccountAccessKey(exampleAccount.primaryAccessKey())\n            .siteConfig(LinuxFunctionAppSiteConfigArgs.builder()\n                .build())\n            .build());\n\n        var exampleStaticWebAppFunctionAppRegistration = new StaticWebAppFunctionAppRegistration(\"exampleStaticWebAppFunctionAppRegistration\", StaticWebAppFunctionAppRegistrationArgs.builder()\n            .staticWebAppId(exampleStaticWebApp.id())\n            .functionAppId(exampleLinuxFunctionApp.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleStaticWebApp:\n    type: azure:appservice:StaticWebApp\n    name: example\n    properties:\n      name: example\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n  exampleAccount:\n    type: azure:storage:Account\n    name: example\n    properties:\n      name: examplesstorageacc\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      accountTier: Standard\n      accountReplicationType: LRS\n  exampleServicePlan:\n    type: azure:appservice:ServicePlan\n    name: example\n    properties:\n      name: example-service-plan\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      osType: Linux\n      skuName: S1\n  exampleLinuxFunctionApp:\n    type: azure:appservice:LinuxFunctionApp\n    name: example\n    properties:\n      name: example-function-app\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      servicePlanId: ${exampleServicePlan.id}\n      storageAccountName: ${exampleAccount.name}\n      storageAccountAccessKey: ${exampleAccount.primaryAccessKey}\n      siteConfig: {}\n  exampleStaticWebAppFunctionAppRegistration:\n    type: azure:appservice:StaticWebAppFunctionAppRegistration\n    name: example\n    properties:\n      staticWebAppId: ${exampleStaticWebApp.id}\n      functionAppId: ${exampleLinuxFunctionApp.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Web` - 2023-12-01, 2023-01-01\n\n## Import\n\nStatic Web App Function App Registration can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:appservice/staticWebAppFunctionAppRegistration:StaticWebAppFunctionAppRegistration example /subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/group1/providers/Microsoft.Web/staticSites/my-static-site1/userProvidedFunctionApps/myFunctionApp\n```\n\n","properties":{"functionAppId":{"type":"string","description":"The ID of a Linux or Windows Function App to connect to the Static Web App as a Backend. Changing this forces a new resource to be created. \n\n\u003e **Note:** Only one Function App can be connected to a Static Web App. Multiple Function Apps are not currently supported.\n\n\u003e **Note:** Connecting a Function App resource to a Static Web App resource updates the Function App to use AuthV2 and configures the \u003cspan pulumi-lang-nodejs=\"`azureStaticWebAppV2`\" pulumi-lang-dotnet=\"`AzureStaticWebAppV2`\" pulumi-lang-go=\"`azureStaticWebAppV2`\" pulumi-lang-python=\"`azure_static_web_app_v2`\" pulumi-lang-yaml=\"`azureStaticWebAppV2`\" pulumi-lang-java=\"`azureStaticWebAppV2`\"\u003e`azure_static_web_app_v2`\u003c/span\u003e which may need to be accounted for by the use of \u003cspan pulumi-lang-nodejs=\"`ignoreChanges`\" pulumi-lang-dotnet=\"`IgnoreChanges`\" pulumi-lang-go=\"`ignoreChanges`\" pulumi-lang-python=\"`ignore_changes`\" pulumi-lang-yaml=\"`ignoreChanges`\" pulumi-lang-java=\"`ignoreChanges`\"\u003e`ignore_changes`\u003c/span\u003e depending on the existing \u003cspan pulumi-lang-nodejs=\"`authSettingsV2`\" pulumi-lang-dotnet=\"`AuthSettingsV2`\" pulumi-lang-go=\"`authSettingsV2`\" pulumi-lang-python=\"`auth_settings_v2`\" pulumi-lang-yaml=\"`authSettingsV2`\" pulumi-lang-java=\"`authSettingsV2`\"\u003e`auth_settings_v2`\u003c/span\u003e configuration of the target Function App.\n"},"staticWebAppId":{"type":"string","description":"The ID of the Static Web App to register the Function App to as a backend. Changing this forces a new resource to be created.\n"}},"required":["functionAppId","staticWebAppId"],"inputProperties":{"functionAppId":{"type":"string","description":"The ID of a Linux or Windows Function App to connect to the Static Web App as a Backend. Changing this forces a new resource to be created. \n\n\u003e **Note:** Only one Function App can be connected to a Static Web App. Multiple Function Apps are not currently supported.\n\n\u003e **Note:** Connecting a Function App resource to a Static Web App resource updates the Function App to use AuthV2 and configures the \u003cspan pulumi-lang-nodejs=\"`azureStaticWebAppV2`\" pulumi-lang-dotnet=\"`AzureStaticWebAppV2`\" pulumi-lang-go=\"`azureStaticWebAppV2`\" pulumi-lang-python=\"`azure_static_web_app_v2`\" pulumi-lang-yaml=\"`azureStaticWebAppV2`\" pulumi-lang-java=\"`azureStaticWebAppV2`\"\u003e`azure_static_web_app_v2`\u003c/span\u003e which may need to be accounted for by the use of \u003cspan pulumi-lang-nodejs=\"`ignoreChanges`\" pulumi-lang-dotnet=\"`IgnoreChanges`\" pulumi-lang-go=\"`ignoreChanges`\" pulumi-lang-python=\"`ignore_changes`\" pulumi-lang-yaml=\"`ignoreChanges`\" pulumi-lang-java=\"`ignoreChanges`\"\u003e`ignore_changes`\u003c/span\u003e depending on the existing \u003cspan pulumi-lang-nodejs=\"`authSettingsV2`\" pulumi-lang-dotnet=\"`AuthSettingsV2`\" pulumi-lang-go=\"`authSettingsV2`\" pulumi-lang-python=\"`auth_settings_v2`\" pulumi-lang-yaml=\"`authSettingsV2`\" pulumi-lang-java=\"`authSettingsV2`\"\u003e`auth_settings_v2`\u003c/span\u003e configuration of the target Function App.\n","willReplaceOnChanges":true},"staticWebAppId":{"type":"string","description":"The ID of the Static Web App to register the Function App to as a backend. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["functionAppId","staticWebAppId"],"stateInputs":{"description":"Input properties used for looking up and filtering StaticWebAppFunctionAppRegistration resources.\n","properties":{"functionAppId":{"type":"string","description":"The ID of a Linux or Windows Function App to connect to the Static Web App as a Backend. Changing this forces a new resource to be created. \n\n\u003e **Note:** Only one Function App can be connected to a Static Web App. Multiple Function Apps are not currently supported.\n\n\u003e **Note:** Connecting a Function App resource to a Static Web App resource updates the Function App to use AuthV2 and configures the \u003cspan pulumi-lang-nodejs=\"`azureStaticWebAppV2`\" pulumi-lang-dotnet=\"`AzureStaticWebAppV2`\" pulumi-lang-go=\"`azureStaticWebAppV2`\" pulumi-lang-python=\"`azure_static_web_app_v2`\" pulumi-lang-yaml=\"`azureStaticWebAppV2`\" pulumi-lang-java=\"`azureStaticWebAppV2`\"\u003e`azure_static_web_app_v2`\u003c/span\u003e which may need to be accounted for by the use of \u003cspan pulumi-lang-nodejs=\"`ignoreChanges`\" pulumi-lang-dotnet=\"`IgnoreChanges`\" pulumi-lang-go=\"`ignoreChanges`\" pulumi-lang-python=\"`ignore_changes`\" pulumi-lang-yaml=\"`ignoreChanges`\" pulumi-lang-java=\"`ignoreChanges`\"\u003e`ignore_changes`\u003c/span\u003e depending on the existing \u003cspan pulumi-lang-nodejs=\"`authSettingsV2`\" pulumi-lang-dotnet=\"`AuthSettingsV2`\" pulumi-lang-go=\"`authSettingsV2`\" pulumi-lang-python=\"`auth_settings_v2`\" pulumi-lang-yaml=\"`authSettingsV2`\" pulumi-lang-java=\"`authSettingsV2`\"\u003e`auth_settings_v2`\u003c/span\u003e configuration of the target Function App.\n","willReplaceOnChanges":true},"staticWebAppId":{"type":"string","description":"The ID of the Static Web App to register the Function App to as a backend. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:appservice/virtualNetworkSwiftConnection:VirtualNetworkSwiftConnection":{"description":"Manages an App Service Virtual Network Association for [Regional VNet Integration](https://docs.microsoft.com/azure/app-service/web-sites-integrate-with-vnet#regional-vnet-integration).\n\nThis resource can be used for both App Services and Function Apps.\n\n\u003e **Note:** The following resources support associating the vNet for Regional vNet Integration directly on the resource and via the \u003cspan pulumi-lang-nodejs=\"`azure.appservice.VirtualNetworkSwiftConnection`\" pulumi-lang-dotnet=\"`azure.appservice.VirtualNetworkSwiftConnection`\" pulumi-lang-go=\"`appservice.VirtualNetworkSwiftConnection`\" pulumi-lang-python=\"`appservice.VirtualNetworkSwiftConnection`\" pulumi-lang-yaml=\"`azure.appservice.VirtualNetworkSwiftConnection`\" pulumi-lang-java=\"`azure.appservice.VirtualNetworkSwiftConnection`\"\u003e`azure.appservice.VirtualNetworkSwiftConnection`\u003c/span\u003e resource. You can't use both simultaneously.\n\n-\u003cspan pulumi-lang-nodejs=\" azure.appservice.LinuxFunctionApp\n\" pulumi-lang-dotnet=\" azure.appservice.LinuxFunctionApp\n\" pulumi-lang-go=\" appservice.LinuxFunctionApp\n\" pulumi-lang-python=\" appservice.LinuxFunctionApp\n\" pulumi-lang-yaml=\" azure.appservice.LinuxFunctionApp\n\" pulumi-lang-java=\" azure.appservice.LinuxFunctionApp\n\"\u003e azure.appservice.LinuxFunctionApp\n\u003c/span\u003e-\u003cspan pulumi-lang-nodejs=\" azure.appservice.LinuxFunctionAppSlot\n\" pulumi-lang-dotnet=\" azure.appservice.LinuxFunctionAppSlot\n\" pulumi-lang-go=\" appservice.LinuxFunctionAppSlot\n\" pulumi-lang-python=\" appservice.LinuxFunctionAppSlot\n\" pulumi-lang-yaml=\" azure.appservice.LinuxFunctionAppSlot\n\" pulumi-lang-java=\" azure.appservice.LinuxFunctionAppSlot\n\"\u003e azure.appservice.LinuxFunctionAppSlot\n\u003c/span\u003e-\u003cspan pulumi-lang-nodejs=\" azure.appservice.LinuxWebApp\n\" pulumi-lang-dotnet=\" azure.appservice.LinuxWebApp\n\" pulumi-lang-go=\" appservice.LinuxWebApp\n\" pulumi-lang-python=\" appservice.LinuxWebApp\n\" pulumi-lang-yaml=\" azure.appservice.LinuxWebApp\n\" pulumi-lang-java=\" azure.appservice.LinuxWebApp\n\"\u003e azure.appservice.LinuxWebApp\n\u003c/span\u003e-\u003cspan pulumi-lang-nodejs=\" azure.appservice.LinuxWebAppSlot\n\" pulumi-lang-dotnet=\" azure.appservice.LinuxWebAppSlot\n\" pulumi-lang-go=\" appservice.LinuxWebAppSlot\n\" pulumi-lang-python=\" appservice.LinuxWebAppSlot\n\" pulumi-lang-yaml=\" azure.appservice.LinuxWebAppSlot\n\" pulumi-lang-java=\" azure.appservice.LinuxWebAppSlot\n\"\u003e azure.appservice.LinuxWebAppSlot\n\u003c/span\u003e-\u003cspan pulumi-lang-nodejs=\" azure.logicapps.Standard\n\" pulumi-lang-dotnet=\" azure.logicapps.Standard\n\" pulumi-lang-go=\" logicapps.Standard\n\" pulumi-lang-python=\" logicapps.Standard\n\" pulumi-lang-yaml=\" azure.logicapps.Standard\n\" pulumi-lang-java=\" azure.logicapps.Standard\n\"\u003e azure.logicapps.Standard\n\u003c/span\u003e-\u003cspan pulumi-lang-nodejs=\" azure.appservice.WindowsFunctionApp\n\" pulumi-lang-dotnet=\" azure.appservice.WindowsFunctionApp\n\" pulumi-lang-go=\" appservice.WindowsFunctionApp\n\" pulumi-lang-python=\" appservice.WindowsFunctionApp\n\" pulumi-lang-yaml=\" azure.appservice.WindowsFunctionApp\n\" pulumi-lang-java=\" azure.appservice.WindowsFunctionApp\n\"\u003e azure.appservice.WindowsFunctionApp\n\u003c/span\u003e-\u003cspan pulumi-lang-nodejs=\" azure.appservice.WindowsFunctionAppSlot\n\" pulumi-lang-dotnet=\" azure.appservice.WindowsFunctionAppSlot\n\" pulumi-lang-go=\" appservice.WindowsFunctionAppSlot\n\" pulumi-lang-python=\" appservice.WindowsFunctionAppSlot\n\" pulumi-lang-yaml=\" azure.appservice.WindowsFunctionAppSlot\n\" pulumi-lang-java=\" azure.appservice.WindowsFunctionAppSlot\n\"\u003e azure.appservice.WindowsFunctionAppSlot\n\u003c/span\u003e-\u003cspan pulumi-lang-nodejs=\" azure.appservice.WindowsWebApp\n\" pulumi-lang-dotnet=\" azure.appservice.WindowsWebApp\n\" pulumi-lang-go=\" appservice.WindowsWebApp\n\" pulumi-lang-python=\" appservice.WindowsWebApp\n\" pulumi-lang-yaml=\" azure.appservice.WindowsWebApp\n\" pulumi-lang-java=\" azure.appservice.WindowsWebApp\n\"\u003e azure.appservice.WindowsWebApp\n\u003c/span\u003e-\u003cspan pulumi-lang-nodejs=\" azure.appservice.WindowsWebAppSlot\n\" pulumi-lang-dotnet=\" azure.appservice.WindowsWebAppSlot\n\" pulumi-lang-go=\" appservice.WindowsWebAppSlot\n\" pulumi-lang-python=\" appservice.WindowsWebAppSlot\n\" pulumi-lang-yaml=\" azure.appservice.WindowsWebAppSlot\n\" pulumi-lang-java=\" azure.appservice.WindowsWebAppSlot\n\"\u003e azure.appservice.WindowsWebAppSlot\n\u003c/span\u003e\nThis resource requires the `Microsoft.Network/virtualNetworks/subnets/write` permission scope on the subnet.  \n\nThe resource specific vNet integration requires the `Microsoft.Network/virtualNetworks/subnets/join/action` permission scope.\n\nThere is a hard limit of [one VNet integration per App Service Plan](https://docs.microsoft.com/azure/app-service/web-sites-integrate-with-vnet#regional-vnet-integration).\nMultiple apps in the same App Service plan can use the same VNet.\n\n## Example Usage\n\n### With App Service)\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"example\", {\n    name: \"example-virtual-network\",\n    addressSpaces: [\"10.0.0.0/16\"],\n    location: example.location,\n    resourceGroupName: example.name,\n});\nconst exampleSubnet = new azure.network.Subnet(\"example\", {\n    name: \"example-subnet\",\n    resourceGroupName: example.name,\n    virtualNetworkName: exampleVirtualNetwork.name,\n    addressPrefixes: [\"10.0.1.0/24\"],\n    delegations: [{\n        name: \"example-delegation\",\n        serviceDelegation: {\n            name: \"Microsoft.Web/serverFarms\",\n            actions: [\"Microsoft.Network/virtualNetworks/subnets/action\"],\n        },\n    }],\n});\nconst examplePlan = new azure.appservice.Plan(\"example\", {\n    name: \"example-app-service-plan\",\n    location: example.location,\n    resourceGroupName: example.name,\n    sku: {\n        tier: \"Standard\",\n        size: \"S1\",\n    },\n});\nconst exampleAppService = new azure.appservice.AppService(\"example\", {\n    name: \"example-app-service\",\n    location: example.location,\n    resourceGroupName: example.name,\n    appServicePlanId: examplePlan.id,\n});\nconst exampleVirtualNetworkSwiftConnection = new azure.appservice.VirtualNetworkSwiftConnection(\"example\", {\n    appServiceId: exampleAppService.id,\n    subnetId: exampleSubnet.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_virtual_network = azure.network.VirtualNetwork(\"example\",\n    name=\"example-virtual-network\",\n    address_spaces=[\"10.0.0.0/16\"],\n    location=example.location,\n    resource_group_name=example.name)\nexample_subnet = azure.network.Subnet(\"example\",\n    name=\"example-subnet\",\n    resource_group_name=example.name,\n    virtual_network_name=example_virtual_network.name,\n    address_prefixes=[\"10.0.1.0/24\"],\n    delegations=[{\n        \"name\": \"example-delegation\",\n        \"service_delegation\": {\n            \"name\": \"Microsoft.Web/serverFarms\",\n            \"actions\": [\"Microsoft.Network/virtualNetworks/subnets/action\"],\n        },\n    }])\nexample_plan = azure.appservice.Plan(\"example\",\n    name=\"example-app-service-plan\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku={\n        \"tier\": \"Standard\",\n        \"size\": \"S1\",\n    })\nexample_app_service = azure.appservice.AppService(\"example\",\n    name=\"example-app-service\",\n    location=example.location,\n    resource_group_name=example.name,\n    app_service_plan_id=example_plan.id)\nexample_virtual_network_swift_connection = azure.appservice.VirtualNetworkSwiftConnection(\"example\",\n    app_service_id=example_app_service.id,\n    subnet_id=example_subnet.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleVirtualNetwork = new Azure.Network.VirtualNetwork(\"example\", new()\n    {\n        Name = \"example-virtual-network\",\n        AddressSpaces = new[]\n        {\n            \"10.0.0.0/16\",\n        },\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n    });\n\n    var exampleSubnet = new Azure.Network.Subnet(\"example\", new()\n    {\n        Name = \"example-subnet\",\n        ResourceGroupName = example.Name,\n        VirtualNetworkName = exampleVirtualNetwork.Name,\n        AddressPrefixes = new[]\n        {\n            \"10.0.1.0/24\",\n        },\n        Delegations = new[]\n        {\n            new Azure.Network.Inputs.SubnetDelegationArgs\n            {\n                Name = \"example-delegation\",\n                ServiceDelegation = new Azure.Network.Inputs.SubnetDelegationServiceDelegationArgs\n                {\n                    Name = \"Microsoft.Web/serverFarms\",\n                    Actions = new[]\n                    {\n                        \"Microsoft.Network/virtualNetworks/subnets/action\",\n                    },\n                },\n            },\n        },\n    });\n\n    var examplePlan = new Azure.AppService.Plan(\"example\", new()\n    {\n        Name = \"example-app-service-plan\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Sku = new Azure.AppService.Inputs.PlanSkuArgs\n        {\n            Tier = \"Standard\",\n            Size = \"S1\",\n        },\n    });\n\n    var exampleAppService = new Azure.AppService.AppService(\"example\", new()\n    {\n        Name = \"example-app-service\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        AppServicePlanId = examplePlan.Id,\n    });\n\n    var exampleVirtualNetworkSwiftConnection = new Azure.AppService.VirtualNetworkSwiftConnection(\"example\", new()\n    {\n        AppServiceId = exampleAppService.Id,\n        SubnetId = exampleSubnet.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/appservice\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, \"example\", \u0026network.VirtualNetworkArgs{\n\t\t\tName: pulumi.String(\"example-virtual-network\"),\n\t\t\tAddressSpaces: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.0.0/16\"),\n\t\t\t},\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSubnet, err := network.NewSubnet(ctx, \"example\", \u0026network.SubnetArgs{\n\t\t\tName:               pulumi.String(\"example-subnet\"),\n\t\t\tResourceGroupName:  example.Name,\n\t\t\tVirtualNetworkName: exampleVirtualNetwork.Name,\n\t\t\tAddressPrefixes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.1.0/24\"),\n\t\t\t},\n\t\t\tDelegations: network.SubnetDelegationArray{\n\t\t\t\t\u0026network.SubnetDelegationArgs{\n\t\t\t\t\tName: pulumi.String(\"example-delegation\"),\n\t\t\t\t\tServiceDelegation: \u0026network.SubnetDelegationServiceDelegationArgs{\n\t\t\t\t\t\tName: pulumi.String(\"Microsoft.Web/serverFarms\"),\n\t\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"Microsoft.Network/virtualNetworks/subnets/action\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texamplePlan, err := appservice.NewPlan(ctx, \"example\", \u0026appservice.PlanArgs{\n\t\t\tName:              pulumi.String(\"example-app-service-plan\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSku: \u0026appservice.PlanSkuArgs{\n\t\t\t\tTier: pulumi.String(\"Standard\"),\n\t\t\t\tSize: pulumi.String(\"S1\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAppService, err := appservice.NewAppService(ctx, \"example\", \u0026appservice.AppServiceArgs{\n\t\t\tName:              pulumi.String(\"example-app-service\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tAppServicePlanId:  examplePlan.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = appservice.NewVirtualNetworkSwiftConnection(ctx, \"example\", \u0026appservice.VirtualNetworkSwiftConnectionArgs{\n\t\t\tAppServiceId: exampleAppService.ID(),\n\t\t\tSubnetId:     exampleSubnet.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.VirtualNetwork;\nimport com.pulumi.azure.network.VirtualNetworkArgs;\nimport com.pulumi.azure.network.Subnet;\nimport com.pulumi.azure.network.SubnetArgs;\nimport com.pulumi.azure.network.inputs.SubnetDelegationArgs;\nimport com.pulumi.azure.network.inputs.SubnetDelegationServiceDelegationArgs;\nimport com.pulumi.azure.appservice.Plan;\nimport com.pulumi.azure.appservice.PlanArgs;\nimport com.pulumi.azure.appservice.inputs.PlanSkuArgs;\nimport com.pulumi.azure.appservice.AppService;\nimport com.pulumi.azure.appservice.AppServiceArgs;\nimport com.pulumi.azure.appservice.VirtualNetworkSwiftConnection;\nimport com.pulumi.azure.appservice.VirtualNetworkSwiftConnectionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleVirtualNetwork = new VirtualNetwork(\"exampleVirtualNetwork\", VirtualNetworkArgs.builder()\n            .name(\"example-virtual-network\")\n            .addressSpaces(\"10.0.0.0/16\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .build());\n\n        var exampleSubnet = new Subnet(\"exampleSubnet\", SubnetArgs.builder()\n            .name(\"example-subnet\")\n            .resourceGroupName(example.name())\n            .virtualNetworkName(exampleVirtualNetwork.name())\n            .addressPrefixes(\"10.0.1.0/24\")\n            .delegations(SubnetDelegationArgs.builder()\n                .name(\"example-delegation\")\n                .serviceDelegation(SubnetDelegationServiceDelegationArgs.builder()\n                    .name(\"Microsoft.Web/serverFarms\")\n                    .actions(\"Microsoft.Network/virtualNetworks/subnets/action\")\n                    .build())\n                .build())\n            .build());\n\n        var examplePlan = new Plan(\"examplePlan\", PlanArgs.builder()\n            .name(\"example-app-service-plan\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .sku(PlanSkuArgs.builder()\n                .tier(\"Standard\")\n                .size(\"S1\")\n                .build())\n            .build());\n\n        var exampleAppService = new AppService(\"exampleAppService\", AppServiceArgs.builder()\n            .name(\"example-app-service\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .appServicePlanId(examplePlan.id())\n            .build());\n\n        var exampleVirtualNetworkSwiftConnection = new VirtualNetworkSwiftConnection(\"exampleVirtualNetworkSwiftConnection\", VirtualNetworkSwiftConnectionArgs.builder()\n            .appServiceId(exampleAppService.id())\n            .subnetId(exampleSubnet.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleVirtualNetwork:\n    type: azure:network:VirtualNetwork\n    name: example\n    properties:\n      name: example-virtual-network\n      addressSpaces:\n        - 10.0.0.0/16\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n  exampleSubnet:\n    type: azure:network:Subnet\n    name: example\n    properties:\n      name: example-subnet\n      resourceGroupName: ${example.name}\n      virtualNetworkName: ${exampleVirtualNetwork.name}\n      addressPrefixes:\n        - 10.0.1.0/24\n      delegations:\n        - name: example-delegation\n          serviceDelegation:\n            name: Microsoft.Web/serverFarms\n            actions:\n              - Microsoft.Network/virtualNetworks/subnets/action\n  examplePlan:\n    type: azure:appservice:Plan\n    name: example\n    properties:\n      name: example-app-service-plan\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      sku:\n        tier: Standard\n        size: S1\n  exampleAppService:\n    type: azure:appservice:AppService\n    name: example\n    properties:\n      name: example-app-service\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      appServicePlanId: ${examplePlan.id}\n  exampleVirtualNetworkSwiftConnection:\n    type: azure:appservice:VirtualNetworkSwiftConnection\n    name: example\n    properties:\n      appServiceId: ${exampleAppService.id}\n      subnetId: ${exampleSubnet.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\n### With Function App)\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"example\", {\n    name: \"example-virtual-network\",\n    addressSpaces: [\"10.0.0.0/16\"],\n    location: example.location,\n    resourceGroupName: example.name,\n});\nconst exampleSubnet = new azure.network.Subnet(\"example\", {\n    name: \"example-subnet\",\n    resourceGroupName: example.name,\n    virtualNetworkName: exampleVirtualNetwork.name,\n    addressPrefixes: [\"10.0.1.0/24\"],\n    delegations: [{\n        name: \"example-delegation\",\n        serviceDelegation: {\n            name: \"Microsoft.Web/serverFarms\",\n            actions: [\"Microsoft.Network/virtualNetworks/subnets/action\"],\n        },\n    }],\n});\nconst examplePlan = new azure.appservice.Plan(\"example\", {\n    name: \"example-app-service-plan\",\n    location: example.location,\n    resourceGroupName: example.name,\n    sku: {\n        tier: \"Standard\",\n        size: \"S1\",\n    },\n});\nconst exampleAccount = new azure.storage.Account(\"example\", {\n    name: \"functionsappexamplesa\",\n    resourceGroupName: example.name,\n    location: example.location,\n    accountTier: \"Standard\",\n    accountReplicationType: \"LRS\",\n});\nconst exampleFunctionApp = new azure.appservice.FunctionApp(\"example\", {\n    name: \"example-function-app\",\n    location: example.location,\n    resourceGroupName: example.name,\n    appServicePlanId: examplePlan.id,\n    storageAccountName: exampleAccount.name,\n    storageAccountAccessKey: exampleAccount.primaryAccessKey,\n});\nconst exampleVirtualNetworkSwiftConnection = new azure.appservice.VirtualNetworkSwiftConnection(\"example\", {\n    appServiceId: exampleFunctionApp.id,\n    subnetId: exampleSubnet.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_virtual_network = azure.network.VirtualNetwork(\"example\",\n    name=\"example-virtual-network\",\n    address_spaces=[\"10.0.0.0/16\"],\n    location=example.location,\n    resource_group_name=example.name)\nexample_subnet = azure.network.Subnet(\"example\",\n    name=\"example-subnet\",\n    resource_group_name=example.name,\n    virtual_network_name=example_virtual_network.name,\n    address_prefixes=[\"10.0.1.0/24\"],\n    delegations=[{\n        \"name\": \"example-delegation\",\n        \"service_delegation\": {\n            \"name\": \"Microsoft.Web/serverFarms\",\n            \"actions\": [\"Microsoft.Network/virtualNetworks/subnets/action\"],\n        },\n    }])\nexample_plan = azure.appservice.Plan(\"example\",\n    name=\"example-app-service-plan\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku={\n        \"tier\": \"Standard\",\n        \"size\": \"S1\",\n    })\nexample_account = azure.storage.Account(\"example\",\n    name=\"functionsappexamplesa\",\n    resource_group_name=example.name,\n    location=example.location,\n    account_tier=\"Standard\",\n    account_replication_type=\"LRS\")\nexample_function_app = azure.appservice.FunctionApp(\"example\",\n    name=\"example-function-app\",\n    location=example.location,\n    resource_group_name=example.name,\n    app_service_plan_id=example_plan.id,\n    storage_account_name=example_account.name,\n    storage_account_access_key=example_account.primary_access_key)\nexample_virtual_network_swift_connection = azure.appservice.VirtualNetworkSwiftConnection(\"example\",\n    app_service_id=example_function_app.id,\n    subnet_id=example_subnet.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleVirtualNetwork = new Azure.Network.VirtualNetwork(\"example\", new()\n    {\n        Name = \"example-virtual-network\",\n        AddressSpaces = new[]\n        {\n            \"10.0.0.0/16\",\n        },\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n    });\n\n    var exampleSubnet = new Azure.Network.Subnet(\"example\", new()\n    {\n        Name = \"example-subnet\",\n        ResourceGroupName = example.Name,\n        VirtualNetworkName = exampleVirtualNetwork.Name,\n        AddressPrefixes = new[]\n        {\n            \"10.0.1.0/24\",\n        },\n        Delegations = new[]\n        {\n            new Azure.Network.Inputs.SubnetDelegationArgs\n            {\n                Name = \"example-delegation\",\n                ServiceDelegation = new Azure.Network.Inputs.SubnetDelegationServiceDelegationArgs\n                {\n                    Name = \"Microsoft.Web/serverFarms\",\n                    Actions = new[]\n                    {\n                        \"Microsoft.Network/virtualNetworks/subnets/action\",\n                    },\n                },\n            },\n        },\n    });\n\n    var examplePlan = new Azure.AppService.Plan(\"example\", new()\n    {\n        Name = \"example-app-service-plan\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Sku = new Azure.AppService.Inputs.PlanSkuArgs\n        {\n            Tier = \"Standard\",\n            Size = \"S1\",\n        },\n    });\n\n    var exampleAccount = new Azure.Storage.Account(\"example\", new()\n    {\n        Name = \"functionsappexamplesa\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        AccountTier = \"Standard\",\n        AccountReplicationType = \"LRS\",\n    });\n\n    var exampleFunctionApp = new Azure.AppService.FunctionApp(\"example\", new()\n    {\n        Name = \"example-function-app\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        AppServicePlanId = examplePlan.Id,\n        StorageAccountName = exampleAccount.Name,\n        StorageAccountAccessKey = exampleAccount.PrimaryAccessKey,\n    });\n\n    var exampleVirtualNetworkSwiftConnection = new Azure.AppService.VirtualNetworkSwiftConnection(\"example\", new()\n    {\n        AppServiceId = exampleFunctionApp.Id,\n        SubnetId = exampleSubnet.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/appservice\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, \"example\", \u0026network.VirtualNetworkArgs{\n\t\t\tName: pulumi.String(\"example-virtual-network\"),\n\t\t\tAddressSpaces: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.0.0/16\"),\n\t\t\t},\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSubnet, err := network.NewSubnet(ctx, \"example\", \u0026network.SubnetArgs{\n\t\t\tName:               pulumi.String(\"example-subnet\"),\n\t\t\tResourceGroupName:  example.Name,\n\t\t\tVirtualNetworkName: exampleVirtualNetwork.Name,\n\t\t\tAddressPrefixes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.1.0/24\"),\n\t\t\t},\n\t\t\tDelegations: network.SubnetDelegationArray{\n\t\t\t\t\u0026network.SubnetDelegationArgs{\n\t\t\t\t\tName: pulumi.String(\"example-delegation\"),\n\t\t\t\t\tServiceDelegation: \u0026network.SubnetDelegationServiceDelegationArgs{\n\t\t\t\t\t\tName: pulumi.String(\"Microsoft.Web/serverFarms\"),\n\t\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"Microsoft.Network/virtualNetworks/subnets/action\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texamplePlan, err := appservice.NewPlan(ctx, \"example\", \u0026appservice.PlanArgs{\n\t\t\tName:              pulumi.String(\"example-app-service-plan\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSku: \u0026appservice.PlanSkuArgs{\n\t\t\t\tTier: pulumi.String(\"Standard\"),\n\t\t\t\tSize: pulumi.String(\"S1\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := storage.NewAccount(ctx, \"example\", \u0026storage.AccountArgs{\n\t\t\tName:                   pulumi.String(\"functionsappexamplesa\"),\n\t\t\tResourceGroupName:      example.Name,\n\t\t\tLocation:               example.Location,\n\t\t\tAccountTier:            pulumi.String(\"Standard\"),\n\t\t\tAccountReplicationType: pulumi.String(\"LRS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleFunctionApp, err := appservice.NewFunctionApp(ctx, \"example\", \u0026appservice.FunctionAppArgs{\n\t\t\tName:                    pulumi.String(\"example-function-app\"),\n\t\t\tLocation:                example.Location,\n\t\t\tResourceGroupName:       example.Name,\n\t\t\tAppServicePlanId:        examplePlan.ID(),\n\t\t\tStorageAccountName:      exampleAccount.Name,\n\t\t\tStorageAccountAccessKey: exampleAccount.PrimaryAccessKey,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = appservice.NewVirtualNetworkSwiftConnection(ctx, \"example\", \u0026appservice.VirtualNetworkSwiftConnectionArgs{\n\t\t\tAppServiceId: exampleFunctionApp.ID(),\n\t\t\tSubnetId:     exampleSubnet.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.VirtualNetwork;\nimport com.pulumi.azure.network.VirtualNetworkArgs;\nimport com.pulumi.azure.network.Subnet;\nimport com.pulumi.azure.network.SubnetArgs;\nimport com.pulumi.azure.network.inputs.SubnetDelegationArgs;\nimport com.pulumi.azure.network.inputs.SubnetDelegationServiceDelegationArgs;\nimport com.pulumi.azure.appservice.Plan;\nimport com.pulumi.azure.appservice.PlanArgs;\nimport com.pulumi.azure.appservice.inputs.PlanSkuArgs;\nimport com.pulumi.azure.storage.Account;\nimport com.pulumi.azure.storage.AccountArgs;\nimport com.pulumi.azure.appservice.FunctionApp;\nimport com.pulumi.azure.appservice.FunctionAppArgs;\nimport com.pulumi.azure.appservice.VirtualNetworkSwiftConnection;\nimport com.pulumi.azure.appservice.VirtualNetworkSwiftConnectionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleVirtualNetwork = new VirtualNetwork(\"exampleVirtualNetwork\", VirtualNetworkArgs.builder()\n            .name(\"example-virtual-network\")\n            .addressSpaces(\"10.0.0.0/16\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .build());\n\n        var exampleSubnet = new Subnet(\"exampleSubnet\", SubnetArgs.builder()\n            .name(\"example-subnet\")\n            .resourceGroupName(example.name())\n            .virtualNetworkName(exampleVirtualNetwork.name())\n            .addressPrefixes(\"10.0.1.0/24\")\n            .delegations(SubnetDelegationArgs.builder()\n                .name(\"example-delegation\")\n                .serviceDelegation(SubnetDelegationServiceDelegationArgs.builder()\n                    .name(\"Microsoft.Web/serverFarms\")\n                    .actions(\"Microsoft.Network/virtualNetworks/subnets/action\")\n                    .build())\n                .build())\n            .build());\n\n        var examplePlan = new Plan(\"examplePlan\", PlanArgs.builder()\n            .name(\"example-app-service-plan\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .sku(PlanSkuArgs.builder()\n                .tier(\"Standard\")\n                .size(\"S1\")\n                .build())\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"functionsappexamplesa\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .accountTier(\"Standard\")\n            .accountReplicationType(\"LRS\")\n            .build());\n\n        var exampleFunctionApp = new FunctionApp(\"exampleFunctionApp\", FunctionAppArgs.builder()\n            .name(\"example-function-app\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .appServicePlanId(examplePlan.id())\n            .storageAccountName(exampleAccount.name())\n            .storageAccountAccessKey(exampleAccount.primaryAccessKey())\n            .build());\n\n        var exampleVirtualNetworkSwiftConnection = new VirtualNetworkSwiftConnection(\"exampleVirtualNetworkSwiftConnection\", VirtualNetworkSwiftConnectionArgs.builder()\n            .appServiceId(exampleFunctionApp.id())\n            .subnetId(exampleSubnet.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleVirtualNetwork:\n    type: azure:network:VirtualNetwork\n    name: example\n    properties:\n      name: example-virtual-network\n      addressSpaces:\n        - 10.0.0.0/16\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n  exampleSubnet:\n    type: azure:network:Subnet\n    name: example\n    properties:\n      name: example-subnet\n      resourceGroupName: ${example.name}\n      virtualNetworkName: ${exampleVirtualNetwork.name}\n      addressPrefixes:\n        - 10.0.1.0/24\n      delegations:\n        - name: example-delegation\n          serviceDelegation:\n            name: Microsoft.Web/serverFarms\n            actions:\n              - Microsoft.Network/virtualNetworks/subnets/action\n  examplePlan:\n    type: azure:appservice:Plan\n    name: example\n    properties:\n      name: example-app-service-plan\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      sku:\n        tier: Standard\n        size: S1\n  exampleAccount:\n    type: azure:storage:Account\n    name: example\n    properties:\n      name: functionsappexamplesa\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      accountTier: Standard\n      accountReplicationType: LRS\n  exampleFunctionApp:\n    type: azure:appservice:FunctionApp\n    name: example\n    properties:\n      name: example-function-app\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      appServicePlanId: ${examplePlan.id}\n      storageAccountName: ${exampleAccount.name}\n      storageAccountAccessKey: ${exampleAccount.primaryAccessKey}\n  exampleVirtualNetworkSwiftConnection:\n    type: azure:appservice:VirtualNetworkSwiftConnection\n    name: example\n    properties:\n      appServiceId: ${exampleFunctionApp.id}\n      subnetId: ${exampleSubnet.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nApp Service Virtual Network Associations can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:appservice/virtualNetworkSwiftConnection:VirtualNetworkSwiftConnection myassociation /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Web/sites/instance1/config/virtualNetwork\n```\n\n","properties":{"appServiceId":{"type":"string","description":"The ID of the App Service or Function App to associate to the VNet. Changing this forces a new resource to be created.\n"},"subnetId":{"type":"string","description":"The ID of the subnet the app service will be associated to (the subnet must have a \u003cspan pulumi-lang-nodejs=\"`serviceDelegation`\" pulumi-lang-dotnet=\"`ServiceDelegation`\" pulumi-lang-go=\"`serviceDelegation`\" pulumi-lang-python=\"`service_delegation`\" pulumi-lang-yaml=\"`serviceDelegation`\" pulumi-lang-java=\"`serviceDelegation`\"\u003e`service_delegation`\u003c/span\u003e configured for `Microsoft.Web/serverFarms`).\n"}},"required":["appServiceId","subnetId"],"inputProperties":{"appServiceId":{"type":"string","description":"The ID of the App Service or Function App to associate to the VNet. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"subnetId":{"type":"string","description":"The ID of the subnet the app service will be associated to (the subnet must have a \u003cspan pulumi-lang-nodejs=\"`serviceDelegation`\" pulumi-lang-dotnet=\"`ServiceDelegation`\" pulumi-lang-go=\"`serviceDelegation`\" pulumi-lang-python=\"`service_delegation`\" pulumi-lang-yaml=\"`serviceDelegation`\" pulumi-lang-java=\"`serviceDelegation`\"\u003e`service_delegation`\u003c/span\u003e configured for `Microsoft.Web/serverFarms`).\n"}},"requiredInputs":["appServiceId","subnetId"],"stateInputs":{"description":"Input properties used for looking up and filtering VirtualNetworkSwiftConnection resources.\n","properties":{"appServiceId":{"type":"string","description":"The ID of the App Service or Function App to associate to the VNet. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"subnetId":{"type":"string","description":"The ID of the subnet the app service will be associated to (the subnet must have a \u003cspan pulumi-lang-nodejs=\"`serviceDelegation`\" pulumi-lang-dotnet=\"`ServiceDelegation`\" pulumi-lang-go=\"`serviceDelegation`\" pulumi-lang-python=\"`service_delegation`\" pulumi-lang-yaml=\"`serviceDelegation`\" pulumi-lang-java=\"`serviceDelegation`\"\u003e`service_delegation`\u003c/span\u003e configured for `Microsoft.Web/serverFarms`).\n"}},"type":"object"}},"azure:appservice/webAppActiveSlot:WebAppActiveSlot":{"description":"Manages a Web App Active Slot.\n\n## Example Usage\n\n### Windows Web App\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleServicePlan = new azure.appservice.ServicePlan(\"example\", {\n    name: \"example-plan\",\n    resourceGroupName: example.name,\n    location: example.location,\n    osType: \"Windows\",\n    skuName: \"P1v2\",\n});\nconst exampleWindowsWebApp = new azure.appservice.WindowsWebApp(\"example\", {\n    name: \"example-windows-web-app\",\n    resourceGroupName: example.name,\n    location: exampleServicePlan.location,\n    servicePlanId: exampleServicePlan.id,\n    siteConfig: {},\n});\nconst exampleWindowsWebAppSlot = new azure.appservice.WindowsWebAppSlot(\"example\", {\n    name: \"example-windows-web-app-slot\",\n    appServiceId: exampleWindowsWebApp.name,\n    siteConfig: {},\n});\nconst exampleWebAppActiveSlot = new azure.appservice.WebAppActiveSlot(\"example\", {slotId: exampleWindowsWebAppSlot.id});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_service_plan = azure.appservice.ServicePlan(\"example\",\n    name=\"example-plan\",\n    resource_group_name=example.name,\n    location=example.location,\n    os_type=\"Windows\",\n    sku_name=\"P1v2\")\nexample_windows_web_app = azure.appservice.WindowsWebApp(\"example\",\n    name=\"example-windows-web-app\",\n    resource_group_name=example.name,\n    location=example_service_plan.location,\n    service_plan_id=example_service_plan.id,\n    site_config={})\nexample_windows_web_app_slot = azure.appservice.WindowsWebAppSlot(\"example\",\n    name=\"example-windows-web-app-slot\",\n    app_service_id=example_windows_web_app.name,\n    site_config={})\nexample_web_app_active_slot = azure.appservice.WebAppActiveSlot(\"example\", slot_id=example_windows_web_app_slot.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleServicePlan = new Azure.AppService.ServicePlan(\"example\", new()\n    {\n        Name = \"example-plan\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        OsType = \"Windows\",\n        SkuName = \"P1v2\",\n    });\n\n    var exampleWindowsWebApp = new Azure.AppService.WindowsWebApp(\"example\", new()\n    {\n        Name = \"example-windows-web-app\",\n        ResourceGroupName = example.Name,\n        Location = exampleServicePlan.Location,\n        ServicePlanId = exampleServicePlan.Id,\n        SiteConfig = null,\n    });\n\n    var exampleWindowsWebAppSlot = new Azure.AppService.WindowsWebAppSlot(\"example\", new()\n    {\n        Name = \"example-windows-web-app-slot\",\n        AppServiceId = exampleWindowsWebApp.Name,\n        SiteConfig = null,\n    });\n\n    var exampleWebAppActiveSlot = new Azure.AppService.WebAppActiveSlot(\"example\", new()\n    {\n        SlotId = exampleWindowsWebAppSlot.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/appservice\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleServicePlan, err := appservice.NewServicePlan(ctx, \"example\", \u0026appservice.ServicePlanArgs{\n\t\t\tName:              pulumi.String(\"example-plan\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tOsType:            pulumi.String(\"Windows\"),\n\t\t\tSkuName:           pulumi.String(\"P1v2\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleWindowsWebApp, err := appservice.NewWindowsWebApp(ctx, \"example\", \u0026appservice.WindowsWebAppArgs{\n\t\t\tName:              pulumi.String(\"example-windows-web-app\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          exampleServicePlan.Location,\n\t\t\tServicePlanId:     exampleServicePlan.ID(),\n\t\t\tSiteConfig:        \u0026appservice.WindowsWebAppSiteConfigArgs{},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleWindowsWebAppSlot, err := appservice.NewWindowsWebAppSlot(ctx, \"example\", \u0026appservice.WindowsWebAppSlotArgs{\n\t\t\tName:         pulumi.String(\"example-windows-web-app-slot\"),\n\t\t\tAppServiceId: exampleWindowsWebApp.Name,\n\t\t\tSiteConfig:   \u0026appservice.WindowsWebAppSlotSiteConfigArgs{},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = appservice.NewWebAppActiveSlot(ctx, \"example\", \u0026appservice.WebAppActiveSlotArgs{\n\t\t\tSlotId: exampleWindowsWebAppSlot.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.appservice.ServicePlan;\nimport com.pulumi.azure.appservice.ServicePlanArgs;\nimport com.pulumi.azure.appservice.WindowsWebApp;\nimport com.pulumi.azure.appservice.WindowsWebAppArgs;\nimport com.pulumi.azure.appservice.inputs.WindowsWebAppSiteConfigArgs;\nimport com.pulumi.azure.appservice.WindowsWebAppSlot;\nimport com.pulumi.azure.appservice.WindowsWebAppSlotArgs;\nimport com.pulumi.azure.appservice.inputs.WindowsWebAppSlotSiteConfigArgs;\nimport com.pulumi.azure.appservice.WebAppActiveSlot;\nimport com.pulumi.azure.appservice.WebAppActiveSlotArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleServicePlan = new ServicePlan(\"exampleServicePlan\", ServicePlanArgs.builder()\n            .name(\"example-plan\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .osType(\"Windows\")\n            .skuName(\"P1v2\")\n            .build());\n\n        var exampleWindowsWebApp = new WindowsWebApp(\"exampleWindowsWebApp\", WindowsWebAppArgs.builder()\n            .name(\"example-windows-web-app\")\n            .resourceGroupName(example.name())\n            .location(exampleServicePlan.location())\n            .servicePlanId(exampleServicePlan.id())\n            .siteConfig(WindowsWebAppSiteConfigArgs.builder()\n                .build())\n            .build());\n\n        var exampleWindowsWebAppSlot = new WindowsWebAppSlot(\"exampleWindowsWebAppSlot\", WindowsWebAppSlotArgs.builder()\n            .name(\"example-windows-web-app-slot\")\n            .appServiceId(exampleWindowsWebApp.name())\n            .siteConfig(WindowsWebAppSlotSiteConfigArgs.builder()\n                .build())\n            .build());\n\n        var exampleWebAppActiveSlot = new WebAppActiveSlot(\"exampleWebAppActiveSlot\", WebAppActiveSlotArgs.builder()\n            .slotId(exampleWindowsWebAppSlot.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleServicePlan:\n    type: azure:appservice:ServicePlan\n    name: example\n    properties:\n      name: example-plan\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      osType: Windows\n      skuName: P1v2\n  exampleWindowsWebApp:\n    type: azure:appservice:WindowsWebApp\n    name: example\n    properties:\n      name: example-windows-web-app\n      resourceGroupName: ${example.name}\n      location: ${exampleServicePlan.location}\n      servicePlanId: ${exampleServicePlan.id}\n      siteConfig: {}\n  exampleWindowsWebAppSlot:\n    type: azure:appservice:WindowsWebAppSlot\n    name: example\n    properties:\n      name: example-windows-web-app-slot\n      appServiceId: ${exampleWindowsWebApp.name}\n      siteConfig: {}\n  exampleWebAppActiveSlot:\n    type: azure:appservice:WebAppActiveSlot\n    name: example\n    properties:\n      slotId: ${exampleWindowsWebAppSlot.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Linux Web App\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleServicePlan = new azure.appservice.ServicePlan(\"example\", {\n    name: \"example-plan\",\n    resourceGroupName: example.name,\n    location: example.location,\n    osType: \"Linux\",\n    skuName: \"P1v2\",\n});\nconst exampleLinuxWebApp = new azure.appservice.LinuxWebApp(\"example\", {\n    name: \"example-linux-web-app\",\n    resourceGroupName: example.name,\n    location: exampleServicePlan.location,\n    servicePlanId: exampleServicePlan.id,\n    siteConfig: {},\n});\nconst exampleLinuxWebAppSlot = new azure.appservice.LinuxWebAppSlot(\"example\", {\n    name: \"example-linux-web-app-slot\",\n    appServiceName: exampleLinuxWebApp.name,\n    location: exampleServicePlan.location,\n    servicePlanId: exampleServicePlan.id,\n    siteConfig: {},\n});\nconst exampleWebAppActiveSlot = new azure.appservice.WebAppActiveSlot(\"example\", {slotId: exampleLinuxWebAppSlot.id});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_service_plan = azure.appservice.ServicePlan(\"example\",\n    name=\"example-plan\",\n    resource_group_name=example.name,\n    location=example.location,\n    os_type=\"Linux\",\n    sku_name=\"P1v2\")\nexample_linux_web_app = azure.appservice.LinuxWebApp(\"example\",\n    name=\"example-linux-web-app\",\n    resource_group_name=example.name,\n    location=example_service_plan.location,\n    service_plan_id=example_service_plan.id,\n    site_config={})\nexample_linux_web_app_slot = azure.appservice.LinuxWebAppSlot(\"example\",\n    name=\"example-linux-web-app-slot\",\n    app_service_name=example_linux_web_app.name,\n    location=example_service_plan.location,\n    service_plan_id=example_service_plan.id,\n    site_config={})\nexample_web_app_active_slot = azure.appservice.WebAppActiveSlot(\"example\", slot_id=example_linux_web_app_slot.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleServicePlan = new Azure.AppService.ServicePlan(\"example\", new()\n    {\n        Name = \"example-plan\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        OsType = \"Linux\",\n        SkuName = \"P1v2\",\n    });\n\n    var exampleLinuxWebApp = new Azure.AppService.LinuxWebApp(\"example\", new()\n    {\n        Name = \"example-linux-web-app\",\n        ResourceGroupName = example.Name,\n        Location = exampleServicePlan.Location,\n        ServicePlanId = exampleServicePlan.Id,\n        SiteConfig = null,\n    });\n\n    var exampleLinuxWebAppSlot = new Azure.AppService.LinuxWebAppSlot(\"example\", new()\n    {\n        Name = \"example-linux-web-app-slot\",\n        AppServiceName = exampleLinuxWebApp.Name,\n        Location = exampleServicePlan.Location,\n        ServicePlanId = exampleServicePlan.Id,\n        SiteConfig = null,\n    });\n\n    var exampleWebAppActiveSlot = new Azure.AppService.WebAppActiveSlot(\"example\", new()\n    {\n        SlotId = exampleLinuxWebAppSlot.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/appservice\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleServicePlan, err := appservice.NewServicePlan(ctx, \"example\", \u0026appservice.ServicePlanArgs{\n\t\t\tName:              pulumi.String(\"example-plan\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tOsType:            pulumi.String(\"Linux\"),\n\t\t\tSkuName:           pulumi.String(\"P1v2\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleLinuxWebApp, err := appservice.NewLinuxWebApp(ctx, \"example\", \u0026appservice.LinuxWebAppArgs{\n\t\t\tName:              pulumi.String(\"example-linux-web-app\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          exampleServicePlan.Location,\n\t\t\tServicePlanId:     exampleServicePlan.ID(),\n\t\t\tSiteConfig:        \u0026appservice.LinuxWebAppSiteConfigArgs{},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleLinuxWebAppSlot, err := appservice.NewLinuxWebAppSlot(ctx, \"example\", \u0026appservice.LinuxWebAppSlotArgs{\n\t\t\tName:           pulumi.String(\"example-linux-web-app-slot\"),\n\t\t\tAppServiceName: exampleLinuxWebApp.Name,\n\t\t\tLocation:       exampleServicePlan.Location,\n\t\t\tServicePlanId:  exampleServicePlan.ID(),\n\t\t\tSiteConfig:     \u0026appservice.LinuxWebAppSlotSiteConfigArgs{},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = appservice.NewWebAppActiveSlot(ctx, \"example\", \u0026appservice.WebAppActiveSlotArgs{\n\t\t\tSlotId: exampleLinuxWebAppSlot.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.appservice.ServicePlan;\nimport com.pulumi.azure.appservice.ServicePlanArgs;\nimport com.pulumi.azure.appservice.LinuxWebApp;\nimport com.pulumi.azure.appservice.LinuxWebAppArgs;\nimport com.pulumi.azure.appservice.inputs.LinuxWebAppSiteConfigArgs;\nimport com.pulumi.azure.appservice.LinuxWebAppSlot;\nimport com.pulumi.azure.appservice.LinuxWebAppSlotArgs;\nimport com.pulumi.azure.appservice.inputs.LinuxWebAppSlotSiteConfigArgs;\nimport com.pulumi.azure.appservice.WebAppActiveSlot;\nimport com.pulumi.azure.appservice.WebAppActiveSlotArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleServicePlan = new ServicePlan(\"exampleServicePlan\", ServicePlanArgs.builder()\n            .name(\"example-plan\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .osType(\"Linux\")\n            .skuName(\"P1v2\")\n            .build());\n\n        var exampleLinuxWebApp = new LinuxWebApp(\"exampleLinuxWebApp\", LinuxWebAppArgs.builder()\n            .name(\"example-linux-web-app\")\n            .resourceGroupName(example.name())\n            .location(exampleServicePlan.location())\n            .servicePlanId(exampleServicePlan.id())\n            .siteConfig(LinuxWebAppSiteConfigArgs.builder()\n                .build())\n            .build());\n\n        var exampleLinuxWebAppSlot = new LinuxWebAppSlot(\"exampleLinuxWebAppSlot\", LinuxWebAppSlotArgs.builder()\n            .name(\"example-linux-web-app-slot\")\n            .appServiceName(exampleLinuxWebApp.name())\n            .location(exampleServicePlan.location())\n            .servicePlanId(exampleServicePlan.id())\n            .siteConfig(LinuxWebAppSlotSiteConfigArgs.builder()\n                .build())\n            .build());\n\n        var exampleWebAppActiveSlot = new WebAppActiveSlot(\"exampleWebAppActiveSlot\", WebAppActiveSlotArgs.builder()\n            .slotId(exampleLinuxWebAppSlot.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleServicePlan:\n    type: azure:appservice:ServicePlan\n    name: example\n    properties:\n      name: example-plan\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      osType: Linux\n      skuName: P1v2\n  exampleLinuxWebApp:\n    type: azure:appservice:LinuxWebApp\n    name: example\n    properties:\n      name: example-linux-web-app\n      resourceGroupName: ${example.name}\n      location: ${exampleServicePlan.location}\n      servicePlanId: ${exampleServicePlan.id}\n      siteConfig: {}\n  exampleLinuxWebAppSlot:\n    type: azure:appservice:LinuxWebAppSlot\n    name: example\n    properties:\n      name: example-linux-web-app-slot\n      appServiceName: ${exampleLinuxWebApp.name}\n      location: ${exampleServicePlan.location}\n      servicePlanId: ${exampleServicePlan.id}\n      siteConfig: {}\n  exampleWebAppActiveSlot:\n    type: azure:appservice:WebAppActiveSlot\n    name: example\n    properties:\n      slotId: ${exampleLinuxWebAppSlot.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Web` - 2023-12-01\n\n## Import\n\na Web App Active Slot can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:appservice/webAppActiveSlot:WebAppActiveSlot example \"/subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/resGroup1/providers/Microsoft.Web/sites/site1\"\n```\n\n","properties":{"lastSuccessfulSwap":{"type":"string","description":"The timestamp of the last successful swap with `Production`.\n"},"overwriteNetworkConfig":{"type":"boolean","description":"The swap action should overwrite the Production slot's network configuration with the configuration from this slot. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e. Changing this forces a new resource to be created.\n"},"slotId":{"type":"string","description":"The ID of the Slot to swap with `Production`.\n"}},"required":["lastSuccessfulSwap","slotId"],"inputProperties":{"overwriteNetworkConfig":{"type":"boolean","description":"The swap action should overwrite the Production slot's network configuration with the configuration from this slot. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"slotId":{"type":"string","description":"The ID of the Slot to swap with `Production`.\n"}},"requiredInputs":["slotId"],"stateInputs":{"description":"Input properties used for looking up and filtering WebAppActiveSlot resources.\n","properties":{"lastSuccessfulSwap":{"type":"string","description":"The timestamp of the last successful swap with `Production`.\n"},"overwriteNetworkConfig":{"type":"boolean","description":"The swap action should overwrite the Production slot's network configuration with the configuration from this slot. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"slotId":{"type":"string","description":"The ID of the Slot to swap with `Production`.\n"}},"type":"object"}},"azure:appservice/webAppHybridConnection:WebAppHybridConnection":{"description":"Manages a Web App Hybrid Connection.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-rg\",\n    location: \"West Europe\",\n});\nconst exampleServicePlan = new azure.appservice.ServicePlan(\"example\", {\n    name: \"example-plan\",\n    location: example.location,\n    resourceGroupName: example.name,\n    osType: \"Windows\",\n    skuName: \"S1\",\n});\nconst exampleNamespace = new azure.relay.Namespace(\"example\", {\n    name: \"example-relay\",\n    location: example.location,\n    resourceGroupName: example.name,\n    skuName: \"Standard\",\n});\nconst exampleHybridConnection = new azure.relay.HybridConnection(\"example\", {\n    name: \"examplerhc1\",\n    resourceGroupName: example.name,\n    relayNamespaceName: exampleNamespace.name,\n});\nconst exampleWindowsWebApp = new azure.appservice.WindowsWebApp(\"example\", {\n    name: \"example-web-app\",\n    location: example.location,\n    resourceGroupName: example.name,\n    servicePlanId: exampleServicePlan.id,\n    siteConfig: {},\n});\nconst exampleWebAppHybridConnection = new azure.appservice.WebAppHybridConnection(\"example\", {\n    webAppId: exampleWindowsWebApp.id,\n    relayId: exampleHybridConnection.id,\n    hostname: \"myhostname.example\",\n    port: 8081,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-rg\",\n    location=\"West Europe\")\nexample_service_plan = azure.appservice.ServicePlan(\"example\",\n    name=\"example-plan\",\n    location=example.location,\n    resource_group_name=example.name,\n    os_type=\"Windows\",\n    sku_name=\"S1\")\nexample_namespace = azure.relay.Namespace(\"example\",\n    name=\"example-relay\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku_name=\"Standard\")\nexample_hybrid_connection = azure.relay.HybridConnection(\"example\",\n    name=\"examplerhc1\",\n    resource_group_name=example.name,\n    relay_namespace_name=example_namespace.name)\nexample_windows_web_app = azure.appservice.WindowsWebApp(\"example\",\n    name=\"example-web-app\",\n    location=example.location,\n    resource_group_name=example.name,\n    service_plan_id=example_service_plan.id,\n    site_config={})\nexample_web_app_hybrid_connection = azure.appservice.WebAppHybridConnection(\"example\",\n    web_app_id=example_windows_web_app.id,\n    relay_id=example_hybrid_connection.id,\n    hostname=\"myhostname.example\",\n    port=8081)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-rg\",\n        Location = \"West Europe\",\n    });\n\n    var exampleServicePlan = new Azure.AppService.ServicePlan(\"example\", new()\n    {\n        Name = \"example-plan\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        OsType = \"Windows\",\n        SkuName = \"S1\",\n    });\n\n    var exampleNamespace = new Azure.Relay.Namespace(\"example\", new()\n    {\n        Name = \"example-relay\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        SkuName = \"Standard\",\n    });\n\n    var exampleHybridConnection = new Azure.Relay.HybridConnection(\"example\", new()\n    {\n        Name = \"examplerhc1\",\n        ResourceGroupName = example.Name,\n        RelayNamespaceName = exampleNamespace.Name,\n    });\n\n    var exampleWindowsWebApp = new Azure.AppService.WindowsWebApp(\"example\", new()\n    {\n        Name = \"example-web-app\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        ServicePlanId = exampleServicePlan.Id,\n        SiteConfig = null,\n    });\n\n    var exampleWebAppHybridConnection = new Azure.AppService.WebAppHybridConnection(\"example\", new()\n    {\n        WebAppId = exampleWindowsWebApp.Id,\n        RelayId = exampleHybridConnection.Id,\n        Hostname = \"myhostname.example\",\n        Port = 8081,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/appservice\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/relay\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-rg\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleServicePlan, err := appservice.NewServicePlan(ctx, \"example\", \u0026appservice.ServicePlanArgs{\n\t\t\tName:              pulumi.String(\"example-plan\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tOsType:            pulumi.String(\"Windows\"),\n\t\t\tSkuName:           pulumi.String(\"S1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNamespace, err := relay.NewNamespace(ctx, \"example\", \u0026relay.NamespaceArgs{\n\t\t\tName:              pulumi.String(\"example-relay\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSkuName:           pulumi.String(\"Standard\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleHybridConnection, err := relay.NewHybridConnection(ctx, \"example\", \u0026relay.HybridConnectionArgs{\n\t\t\tName:               pulumi.String(\"examplerhc1\"),\n\t\t\tResourceGroupName:  example.Name,\n\t\t\tRelayNamespaceName: exampleNamespace.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleWindowsWebApp, err := appservice.NewWindowsWebApp(ctx, \"example\", \u0026appservice.WindowsWebAppArgs{\n\t\t\tName:              pulumi.String(\"example-web-app\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tServicePlanId:     exampleServicePlan.ID(),\n\t\t\tSiteConfig:        \u0026appservice.WindowsWebAppSiteConfigArgs{},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = appservice.NewWebAppHybridConnection(ctx, \"example\", \u0026appservice.WebAppHybridConnectionArgs{\n\t\t\tWebAppId: exampleWindowsWebApp.ID(),\n\t\t\tRelayId:  exampleHybridConnection.ID(),\n\t\t\tHostname: pulumi.String(\"myhostname.example\"),\n\t\t\tPort:     pulumi.Int(8081),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.appservice.ServicePlan;\nimport com.pulumi.azure.appservice.ServicePlanArgs;\nimport com.pulumi.azure.relay.Namespace;\nimport com.pulumi.azure.relay.NamespaceArgs;\nimport com.pulumi.azure.relay.HybridConnection;\nimport com.pulumi.azure.relay.HybridConnectionArgs;\nimport com.pulumi.azure.appservice.WindowsWebApp;\nimport com.pulumi.azure.appservice.WindowsWebAppArgs;\nimport com.pulumi.azure.appservice.inputs.WindowsWebAppSiteConfigArgs;\nimport com.pulumi.azure.appservice.WebAppHybridConnection;\nimport com.pulumi.azure.appservice.WebAppHybridConnectionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-rg\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleServicePlan = new ServicePlan(\"exampleServicePlan\", ServicePlanArgs.builder()\n            .name(\"example-plan\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .osType(\"Windows\")\n            .skuName(\"S1\")\n            .build());\n\n        var exampleNamespace = new Namespace(\"exampleNamespace\", NamespaceArgs.builder()\n            .name(\"example-relay\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .skuName(\"Standard\")\n            .build());\n\n        var exampleHybridConnection = new HybridConnection(\"exampleHybridConnection\", HybridConnectionArgs.builder()\n            .name(\"examplerhc1\")\n            .resourceGroupName(example.name())\n            .relayNamespaceName(exampleNamespace.name())\n            .build());\n\n        var exampleWindowsWebApp = new WindowsWebApp(\"exampleWindowsWebApp\", WindowsWebAppArgs.builder()\n            .name(\"example-web-app\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .servicePlanId(exampleServicePlan.id())\n            .siteConfig(WindowsWebAppSiteConfigArgs.builder()\n                .build())\n            .build());\n\n        var exampleWebAppHybridConnection = new WebAppHybridConnection(\"exampleWebAppHybridConnection\", WebAppHybridConnectionArgs.builder()\n            .webAppId(exampleWindowsWebApp.id())\n            .relayId(exampleHybridConnection.id())\n            .hostname(\"myhostname.example\")\n            .port(8081)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-rg\n      location: West Europe\n  exampleServicePlan:\n    type: azure:appservice:ServicePlan\n    name: example\n    properties:\n      name: example-plan\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      osType: Windows\n      skuName: S1\n  exampleNamespace:\n    type: azure:relay:Namespace\n    name: example\n    properties:\n      name: example-relay\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      skuName: Standard\n  exampleHybridConnection:\n    type: azure:relay:HybridConnection\n    name: example\n    properties:\n      name: examplerhc1\n      resourceGroupName: ${example.name}\n      relayNamespaceName: ${exampleNamespace.name}\n  exampleWindowsWebApp:\n    type: azure:appservice:WindowsWebApp\n    name: example\n    properties:\n      name: example-web-app\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      servicePlanId: ${exampleServicePlan.id}\n      siteConfig: {}\n  exampleWebAppHybridConnection:\n    type: azure:appservice:WebAppHybridConnection\n    name: example\n    properties:\n      webAppId: ${exampleWindowsWebApp.id}\n      relayId: ${exampleHybridConnection.id}\n      hostname: myhostname.example\n      port: 8081\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Relay` - 2021-11-01\n\n* `Microsoft.Web` - 2023-12-01\n\n## Import\n\na Web App Hybrid Connection can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:appservice/webAppHybridConnection:WebAppHybridConnection example \"/subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/resGroup1/providers/Microsoft.Web/sites/site1/hybridConnectionNamespaces/hybridConnectionNamespace1/relays/relay1\"\n```\n\n","properties":{"hostname":{"type":"string","description":"The hostname of the endpoint.\n"},"namespaceName":{"type":"string","description":"The name of the Relay Namespace.\n"},"port":{"type":"integer","description":"The port to use for the endpoint.\n"},"relayId":{"type":"string","description":"The ID of the Relay Hybrid Connection to use. Changing this forces a new resource to be created.\n"},"relayName":{"type":"string","description":"The name of the Relay in use.\n"},"sendKeyName":{"type":"string","description":"The name of the Relay key with `Send` permission to use. Defaults to `RootManageSharedAccessKey`\n"},"sendKeyValue":{"type":"string","description":"The Primary Access Key for the \u003cspan pulumi-lang-nodejs=\"`sendKeyName`\" pulumi-lang-dotnet=\"`SendKeyName`\" pulumi-lang-go=\"`sendKeyName`\" pulumi-lang-python=\"`send_key_name`\" pulumi-lang-yaml=\"`sendKeyName`\" pulumi-lang-java=\"`sendKeyName`\"\u003e`send_key_name`\u003c/span\u003e\n","secret":true},"serviceBusNamespace":{"type":"string","description":"The Service Bus Namespace.\n"},"serviceBusSuffix":{"type":"string","description":"The suffix for the endpoint.\n"},"webAppId":{"type":"string","description":"The ID of the Web App for this Hybrid Connection. Changing this forces a new resource to be created.\n"}},"required":["hostname","namespaceName","port","relayId","relayName","sendKeyValue","serviceBusNamespace","serviceBusSuffix","webAppId"],"inputProperties":{"hostname":{"type":"string","description":"The hostname of the endpoint.\n"},"port":{"type":"integer","description":"The port to use for the endpoint.\n"},"relayId":{"type":"string","description":"The ID of the Relay Hybrid Connection to use. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sendKeyName":{"type":"string","description":"The name of the Relay key with `Send` permission to use. Defaults to `RootManageSharedAccessKey`\n"},"webAppId":{"type":"string","description":"The ID of the Web App for this Hybrid Connection. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["hostname","port","relayId","webAppId"],"stateInputs":{"description":"Input properties used for looking up and filtering WebAppHybridConnection resources.\n","properties":{"hostname":{"type":"string","description":"The hostname of the endpoint.\n"},"namespaceName":{"type":"string","description":"The name of the Relay Namespace.\n"},"port":{"type":"integer","description":"The port to use for the endpoint.\n"},"relayId":{"type":"string","description":"The ID of the Relay Hybrid Connection to use. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"relayName":{"type":"string","description":"The name of the Relay in use.\n"},"sendKeyName":{"type":"string","description":"The name of the Relay key with `Send` permission to use. Defaults to `RootManageSharedAccessKey`\n"},"sendKeyValue":{"type":"string","description":"The Primary Access Key for the \u003cspan pulumi-lang-nodejs=\"`sendKeyName`\" pulumi-lang-dotnet=\"`SendKeyName`\" pulumi-lang-go=\"`sendKeyName`\" pulumi-lang-python=\"`send_key_name`\" pulumi-lang-yaml=\"`sendKeyName`\" pulumi-lang-java=\"`sendKeyName`\"\u003e`send_key_name`\u003c/span\u003e\n","secret":true},"serviceBusNamespace":{"type":"string","description":"The Service Bus Namespace.\n"},"serviceBusSuffix":{"type":"string","description":"The suffix for the endpoint.\n"},"webAppId":{"type":"string","description":"The ID of the Web App for this Hybrid Connection. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:appservice/windowsFunctionApp:WindowsFunctionApp":{"description":"Manages a Windows Function App.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleAccount = new azure.storage.Account(\"example\", {\n    name: \"windowsfunctionappsa\",\n    resourceGroupName: example.name,\n    location: example.location,\n    accountTier: \"Standard\",\n    accountReplicationType: \"LRS\",\n});\nconst exampleServicePlan = new azure.appservice.ServicePlan(\"example\", {\n    name: \"example-app-service-plan\",\n    resourceGroupName: example.name,\n    location: example.location,\n    osType: \"Windows\",\n    skuName: \"Y1\",\n});\nconst exampleWindowsFunctionApp = new azure.appservice.WindowsFunctionApp(\"example\", {\n    name: \"example-windows-function-app\",\n    resourceGroupName: example.name,\n    location: example.location,\n    storageAccountName: exampleAccount.name,\n    storageAccountAccessKey: exampleAccount.primaryAccessKey,\n    servicePlanId: exampleServicePlan.id,\n    siteConfig: {},\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_account = azure.storage.Account(\"example\",\n    name=\"windowsfunctionappsa\",\n    resource_group_name=example.name,\n    location=example.location,\n    account_tier=\"Standard\",\n    account_replication_type=\"LRS\")\nexample_service_plan = azure.appservice.ServicePlan(\"example\",\n    name=\"example-app-service-plan\",\n    resource_group_name=example.name,\n    location=example.location,\n    os_type=\"Windows\",\n    sku_name=\"Y1\")\nexample_windows_function_app = azure.appservice.WindowsFunctionApp(\"example\",\n    name=\"example-windows-function-app\",\n    resource_group_name=example.name,\n    location=example.location,\n    storage_account_name=example_account.name,\n    storage_account_access_key=example_account.primary_access_key,\n    service_plan_id=example_service_plan.id,\n    site_config={})\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleAccount = new Azure.Storage.Account(\"example\", new()\n    {\n        Name = \"windowsfunctionappsa\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        AccountTier = \"Standard\",\n        AccountReplicationType = \"LRS\",\n    });\n\n    var exampleServicePlan = new Azure.AppService.ServicePlan(\"example\", new()\n    {\n        Name = \"example-app-service-plan\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        OsType = \"Windows\",\n        SkuName = \"Y1\",\n    });\n\n    var exampleWindowsFunctionApp = new Azure.AppService.WindowsFunctionApp(\"example\", new()\n    {\n        Name = \"example-windows-function-app\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        StorageAccountName = exampleAccount.Name,\n        StorageAccountAccessKey = exampleAccount.PrimaryAccessKey,\n        ServicePlanId = exampleServicePlan.Id,\n        SiteConfig = null,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/appservice\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := storage.NewAccount(ctx, \"example\", \u0026storage.AccountArgs{\n\t\t\tName:                   pulumi.String(\"windowsfunctionappsa\"),\n\t\t\tResourceGroupName:      example.Name,\n\t\t\tLocation:               example.Location,\n\t\t\tAccountTier:            pulumi.String(\"Standard\"),\n\t\t\tAccountReplicationType: pulumi.String(\"LRS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleServicePlan, err := appservice.NewServicePlan(ctx, \"example\", \u0026appservice.ServicePlanArgs{\n\t\t\tName:              pulumi.String(\"example-app-service-plan\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tOsType:            pulumi.String(\"Windows\"),\n\t\t\tSkuName:           pulumi.String(\"Y1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = appservice.NewWindowsFunctionApp(ctx, \"example\", \u0026appservice.WindowsFunctionAppArgs{\n\t\t\tName:                    pulumi.String(\"example-windows-function-app\"),\n\t\t\tResourceGroupName:       example.Name,\n\t\t\tLocation:                example.Location,\n\t\t\tStorageAccountName:      exampleAccount.Name,\n\t\t\tStorageAccountAccessKey: exampleAccount.PrimaryAccessKey,\n\t\t\tServicePlanId:           exampleServicePlan.ID(),\n\t\t\tSiteConfig:              \u0026appservice.WindowsFunctionAppSiteConfigArgs{},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.storage.Account;\nimport com.pulumi.azure.storage.AccountArgs;\nimport com.pulumi.azure.appservice.ServicePlan;\nimport com.pulumi.azure.appservice.ServicePlanArgs;\nimport com.pulumi.azure.appservice.WindowsFunctionApp;\nimport com.pulumi.azure.appservice.WindowsFunctionAppArgs;\nimport com.pulumi.azure.appservice.inputs.WindowsFunctionAppSiteConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"windowsfunctionappsa\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .accountTier(\"Standard\")\n            .accountReplicationType(\"LRS\")\n            .build());\n\n        var exampleServicePlan = new ServicePlan(\"exampleServicePlan\", ServicePlanArgs.builder()\n            .name(\"example-app-service-plan\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .osType(\"Windows\")\n            .skuName(\"Y1\")\n            .build());\n\n        var exampleWindowsFunctionApp = new WindowsFunctionApp(\"exampleWindowsFunctionApp\", WindowsFunctionAppArgs.builder()\n            .name(\"example-windows-function-app\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .storageAccountName(exampleAccount.name())\n            .storageAccountAccessKey(exampleAccount.primaryAccessKey())\n            .servicePlanId(exampleServicePlan.id())\n            .siteConfig(WindowsFunctionAppSiteConfigArgs.builder()\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleAccount:\n    type: azure:storage:Account\n    name: example\n    properties:\n      name: windowsfunctionappsa\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      accountTier: Standard\n      accountReplicationType: LRS\n  exampleServicePlan:\n    type: azure:appservice:ServicePlan\n    name: example\n    properties:\n      name: example-app-service-plan\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      osType: Windows\n      skuName: Y1\n  exampleWindowsFunctionApp:\n    type: azure:appservice:WindowsFunctionApp\n    name: example\n    properties:\n      name: example-windows-function-app\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      storageAccountName: ${exampleAccount.name}\n      storageAccountAccessKey: ${exampleAccount.primaryAccessKey}\n      servicePlanId: ${exampleServicePlan.id}\n      siteConfig: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Web` - 2023-12-01, 2023-01-01\n\n## Import\n\nWindows Function Apps can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:appservice/windowsFunctionApp:WindowsFunctionApp example /subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/resGroup1/providers/Microsoft.Web/sites/site1\n```\n\n","properties":{"appSettings":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of key-value pairs for [App Settings](https://docs.microsoft.com/azure/azure-functions/functions-app-settings) and custom values.\n\n\u003e **Note:** For runtime related settings, please use \u003cspan pulumi-lang-nodejs=\"`nodeVersion`\" pulumi-lang-dotnet=\"`NodeVersion`\" pulumi-lang-go=\"`nodeVersion`\" pulumi-lang-python=\"`node_version`\" pulumi-lang-yaml=\"`nodeVersion`\" pulumi-lang-java=\"`nodeVersion`\"\u003e`node_version`\u003c/span\u003e in \u003cspan pulumi-lang-nodejs=\"`siteConfig`\" pulumi-lang-dotnet=\"`SiteConfig`\" pulumi-lang-go=\"`siteConfig`\" pulumi-lang-python=\"`site_config`\" pulumi-lang-yaml=\"`siteConfig`\" pulumi-lang-java=\"`siteConfig`\"\u003e`site_config`\u003c/span\u003e to set the node version and use \u003cspan pulumi-lang-nodejs=\"`functionsExtensionVersion`\" pulumi-lang-dotnet=\"`FunctionsExtensionVersion`\" pulumi-lang-go=\"`functionsExtensionVersion`\" pulumi-lang-python=\"`functions_extension_version`\" pulumi-lang-yaml=\"`functionsExtensionVersion`\" pulumi-lang-java=\"`functionsExtensionVersion`\"\u003e`functions_extension_version`\u003c/span\u003e to set the function runtime version, terraform will assign the values to the key `WEBSITE_NODE_DEFAULT_VERSION` and `FUNCTIONS_EXTENSION_VERSION` in app setting.\n\n\u003e **Note:** For storage related settings, please use related properties that are available such as \u003cspan pulumi-lang-nodejs=\"`storageAccountAccessKey`\" pulumi-lang-dotnet=\"`StorageAccountAccessKey`\" pulumi-lang-go=\"`storageAccountAccessKey`\" pulumi-lang-python=\"`storage_account_access_key`\" pulumi-lang-yaml=\"`storageAccountAccessKey`\" pulumi-lang-java=\"`storageAccountAccessKey`\"\u003e`storage_account_access_key`\u003c/span\u003e, terraform will assign the value to keys such as `WEBSITE_CONTENTAZUREFILECONNECTIONSTRING`, `AzureWebJobsStorage` in app_setting.\n\n\u003e **Note:** For application insight related settings, please use \u003cspan pulumi-lang-nodejs=\"`applicationInsightsConnectionString`\" pulumi-lang-dotnet=\"`ApplicationInsightsConnectionString`\" pulumi-lang-go=\"`applicationInsightsConnectionString`\" pulumi-lang-python=\"`application_insights_connection_string`\" pulumi-lang-yaml=\"`applicationInsightsConnectionString`\" pulumi-lang-java=\"`applicationInsightsConnectionString`\"\u003e`application_insights_connection_string`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`applicationInsightsKey`\" pulumi-lang-dotnet=\"`ApplicationInsightsKey`\" pulumi-lang-go=\"`applicationInsightsKey`\" pulumi-lang-python=\"`application_insights_key`\" pulumi-lang-yaml=\"`applicationInsightsKey`\" pulumi-lang-java=\"`applicationInsightsKey`\"\u003e`application_insights_key`\u003c/span\u003e, terraform will assign the value to the key `APPINSIGHTS_INSTRUMENTATIONKEY` and `APPLICATIONINSIGHTS_CONNECTION_STRING` in app setting.\n\n\u003e **Note:** For health check related settings, please use \u003cspan pulumi-lang-nodejs=\"`healthCheckEvictionTimeInMin`\" pulumi-lang-dotnet=\"`HealthCheckEvictionTimeInMin`\" pulumi-lang-go=\"`healthCheckEvictionTimeInMin`\" pulumi-lang-python=\"`health_check_eviction_time_in_min`\" pulumi-lang-yaml=\"`healthCheckEvictionTimeInMin`\" pulumi-lang-java=\"`healthCheckEvictionTimeInMin`\"\u003e`health_check_eviction_time_in_min`\u003c/span\u003e, terraform will assign the value to the key `WEBSITE_HEALTHCHECK_MAXPINGFAILURES` in app setting.\n\n\u003e **Note:** Please create a predefined share if you are restricting your storage account to a virtual network by setting `WEBSITE_CONTENTOVERVNET` to 1 in app_setting.\n"},"authSettings":{"$ref":"#/types/azure:appservice/WindowsFunctionAppAuthSettings:WindowsFunctionAppAuthSettings","description":"A \u003cspan pulumi-lang-nodejs=\"`authSettings`\" pulumi-lang-dotnet=\"`AuthSettings`\" pulumi-lang-go=\"`authSettings`\" pulumi-lang-python=\"`auth_settings`\" pulumi-lang-yaml=\"`authSettings`\" pulumi-lang-java=\"`authSettings`\"\u003e`auth_settings`\u003c/span\u003e block as defined below.\n"},"authSettingsV2":{"$ref":"#/types/azure:appservice/WindowsFunctionAppAuthSettingsV2:WindowsFunctionAppAuthSettingsV2","description":"A \u003cspan pulumi-lang-nodejs=\"`authSettingsV2`\" pulumi-lang-dotnet=\"`AuthSettingsV2`\" pulumi-lang-go=\"`authSettingsV2`\" pulumi-lang-python=\"`auth_settings_v2`\" pulumi-lang-yaml=\"`authSettingsV2`\" pulumi-lang-java=\"`authSettingsV2`\"\u003e`auth_settings_v2`\u003c/span\u003e block as defined below.\n"},"backup":{"$ref":"#/types/azure:appservice/WindowsFunctionAppBackup:WindowsFunctionAppBackup","description":"A \u003cspan pulumi-lang-nodejs=\"`backup`\" pulumi-lang-dotnet=\"`Backup`\" pulumi-lang-go=\"`backup`\" pulumi-lang-python=\"`backup`\" pulumi-lang-yaml=\"`backup`\" pulumi-lang-java=\"`backup`\"\u003e`backup`\u003c/span\u003e block as defined below.\n"},"builtinLoggingEnabled":{"type":"boolean","description":"Should built in logging be enabled. Configures `AzureWebJobsDashboard` app setting based on the configured storage setting. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"clientCertificateEnabled":{"type":"boolean","description":"Should the function app use Client Certificates.\n"},"clientCertificateExclusionPaths":{"type":"string","description":"Paths to exclude when using client certificates, separated by ;\n"},"clientCertificateMode":{"type":"string","description":"The mode of the Function App's client certificates requirement for incoming requests. Possible values are `Required`, `Optional`, and `OptionalInteractiveUser`. Defaults to `Optional`.\n"},"connectionStrings":{"type":"array","items":{"$ref":"#/types/azure:appservice/WindowsFunctionAppConnectionString:WindowsFunctionAppConnectionString"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`connectionString`\" pulumi-lang-dotnet=\"`ConnectionString`\" pulumi-lang-go=\"`connectionString`\" pulumi-lang-python=\"`connection_string`\" pulumi-lang-yaml=\"`connectionString`\" pulumi-lang-java=\"`connectionString`\"\u003e`connection_string`\u003c/span\u003e blocks as defined below.\n"},"contentShareForceDisabled":{"type":"boolean","description":"Should Content Share Settings be disabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"customDomainVerificationId":{"type":"string","description":"The identifier used by App Service to perform domain ownership verification via DNS TXT record.\n","secret":true},"dailyMemoryTimeQuota":{"type":"integer","description":"The amount of memory in gigabyte-seconds that your application is allowed to consume per day. Setting this value only affects function apps under the consumption plan. Defaults to \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"defaultHostname":{"type":"string","description":"The default hostname of the Windows Function App.\n"},"enabled":{"type":"boolean","description":"Is the Function App enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"ftpPublishBasicAuthenticationEnabled":{"type":"boolean","description":"Should the default FTP Basic Authentication publishing profile be enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"functionsExtensionVersion":{"type":"string","description":"The runtime version associated with the Function App. Defaults to `~4`.\n"},"hostingEnvironmentId":{"type":"string","description":"The ID of the App Service Environment used by Function App.\n"},"httpsOnly":{"type":"boolean","description":"Can the Function App only be accessed via HTTPS?. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"identity":{"$ref":"#/types/azure:appservice/WindowsFunctionAppIdentity:WindowsFunctionAppIdentity","description":"A \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"keyVaultReferenceIdentityId":{"type":"string","description":"The User Assigned Identity ID used for accessing KeyVault secrets. The identity must be assigned to the application in the \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block. [For more information see - Access vaults with a user-assigned identity](https://docs.microsoft.com/azure/app-service/app-service-key-vault-references#access-vaults-with-a-user-assigned-identity)\n"},"kind":{"type":"string","description":"The Kind value for this Windows Function App.\n"},"location":{"type":"string","description":"The Azure Region where the Windows Function App should exist. Changing this forces a new Windows Function App to be created.\n"},"name":{"type":"string","description":"The name which should be used for this Windows Function App. Changing this forces a new Windows Function App to be created. Limit the function name to 32 characters to avoid naming collisions. For more information about [Function App naming rule](https://docs.microsoft.com/en-us/azure/azure-resource-manager/management/resource-name-rules#microsoftweb) and [Host ID Collisions](https://github.com/Azure/azure-functions-host/wiki/Host-IDs#host-id-collisions)\n"},"outboundIpAddressLists":{"type":"array","items":{"type":"string"},"description":"A list of outbound IP addresses. For example `[\"52.23.25.3\", \"52.143.43.12\"]`\n"},"outboundIpAddresses":{"type":"string","description":"A comma separated list of outbound IP addresses as a string. For example `52.23.25.3,52.143.43.12`.\n"},"possibleOutboundIpAddressLists":{"type":"array","items":{"type":"string"},"description":"A list of possible outbound IP addresses, not all of which are necessarily in use. This is a superset of \u003cspan pulumi-lang-nodejs=\"`outboundIpAddressList`\" pulumi-lang-dotnet=\"`OutboundIpAddressList`\" pulumi-lang-go=\"`outboundIpAddressList`\" pulumi-lang-python=\"`outbound_ip_address_list`\" pulumi-lang-yaml=\"`outboundIpAddressList`\" pulumi-lang-java=\"`outboundIpAddressList`\"\u003e`outbound_ip_address_list`\u003c/span\u003e. For example `[\"52.23.25.3\", \"52.143.43.12\"]`.\n"},"possibleOutboundIpAddresses":{"type":"string","description":"A comma separated list of possible outbound IP addresses as a string. For example `52.23.25.3,52.143.43.12,52.143.43.17`. This is a superset of \u003cspan pulumi-lang-nodejs=\"`outboundIpAddresses`\" pulumi-lang-dotnet=\"`OutboundIpAddresses`\" pulumi-lang-go=\"`outboundIpAddresses`\" pulumi-lang-python=\"`outbound_ip_addresses`\" pulumi-lang-yaml=\"`outboundIpAddresses`\" pulumi-lang-java=\"`outboundIpAddresses`\"\u003e`outbound_ip_addresses`\u003c/span\u003e.\n"},"publicNetworkAccessEnabled":{"type":"boolean","description":"Should public network access be enabled for the Function App. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Windows Function App should exist. Changing this forces a new Windows Function App to be created.\n"},"servicePlanId":{"type":"string","description":"The ID of the App Service Plan within which to create this Function App.\n"},"siteConfig":{"$ref":"#/types/azure:appservice/WindowsFunctionAppSiteConfig:WindowsFunctionAppSiteConfig","description":"A \u003cspan pulumi-lang-nodejs=\"`siteConfig`\" pulumi-lang-dotnet=\"`SiteConfig`\" pulumi-lang-go=\"`siteConfig`\" pulumi-lang-python=\"`site_config`\" pulumi-lang-yaml=\"`siteConfig`\" pulumi-lang-java=\"`siteConfig`\"\u003e`site_config`\u003c/span\u003e block as defined below.\n"},"siteCredentials":{"type":"array","items":{"$ref":"#/types/azure:appservice/WindowsFunctionAppSiteCredential:WindowsFunctionAppSiteCredential"},"description":"A \u003cspan pulumi-lang-nodejs=\"`siteCredential`\" pulumi-lang-dotnet=\"`SiteCredential`\" pulumi-lang-go=\"`siteCredential`\" pulumi-lang-python=\"`site_credential`\" pulumi-lang-yaml=\"`siteCredential`\" pulumi-lang-java=\"`siteCredential`\"\u003e`site_credential`\u003c/span\u003e block as defined below.\n","secret":true},"stickySettings":{"$ref":"#/types/azure:appservice/WindowsFunctionAppStickySettings:WindowsFunctionAppStickySettings","description":"A \u003cspan pulumi-lang-nodejs=\"`stickySettings`\" pulumi-lang-dotnet=\"`StickySettings`\" pulumi-lang-go=\"`stickySettings`\" pulumi-lang-python=\"`sticky_settings`\" pulumi-lang-yaml=\"`stickySettings`\" pulumi-lang-java=\"`stickySettings`\"\u003e`sticky_settings`\u003c/span\u003e block as defined below.\n"},"storageAccountAccessKey":{"type":"string","description":"The access key which will be used to access the backend storage account for the Function App. Conflicts with \u003cspan pulumi-lang-nodejs=\"`storageUsesManagedIdentity`\" pulumi-lang-dotnet=\"`StorageUsesManagedIdentity`\" pulumi-lang-go=\"`storageUsesManagedIdentity`\" pulumi-lang-python=\"`storage_uses_managed_identity`\" pulumi-lang-yaml=\"`storageUsesManagedIdentity`\" pulumi-lang-java=\"`storageUsesManagedIdentity`\"\u003e`storage_uses_managed_identity`\u003c/span\u003e.\n","secret":true},"storageAccountName":{"type":"string","description":"The backend storage account name which will be used by this Function App.\n"},"storageAccounts":{"type":"array","items":{"$ref":"#/types/azure:appservice/WindowsFunctionAppStorageAccount:WindowsFunctionAppStorageAccount"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`storageAccount`\" pulumi-lang-dotnet=\"`StorageAccount`\" pulumi-lang-go=\"`storageAccount`\" pulumi-lang-python=\"`storage_account`\" pulumi-lang-yaml=\"`storageAccount`\" pulumi-lang-java=\"`storageAccount`\"\u003e`storage_account`\u003c/span\u003e blocks as defined below.\n"},"storageKeyVaultSecretId":{"type":"string","description":"The Key Vault Secret ID, optionally including version, that contains the Connection String to connect to the storage account for this Function App.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`storageKeyVaultSecretId`\" pulumi-lang-dotnet=\"`StorageKeyVaultSecretId`\" pulumi-lang-go=\"`storageKeyVaultSecretId`\" pulumi-lang-python=\"`storage_key_vault_secret_id`\" pulumi-lang-yaml=\"`storageKeyVaultSecretId`\" pulumi-lang-java=\"`storageKeyVaultSecretId`\"\u003e`storage_key_vault_secret_id`\u003c/span\u003e cannot be used with \u003cspan pulumi-lang-nodejs=\"`storageAccountName`\" pulumi-lang-dotnet=\"`StorageAccountName`\" pulumi-lang-go=\"`storageAccountName`\" pulumi-lang-python=\"`storage_account_name`\" pulumi-lang-yaml=\"`storageAccountName`\" pulumi-lang-java=\"`storageAccountName`\"\u003e`storage_account_name`\u003c/span\u003e.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`storageKeyVaultSecretId`\" pulumi-lang-dotnet=\"`StorageKeyVaultSecretId`\" pulumi-lang-go=\"`storageKeyVaultSecretId`\" pulumi-lang-python=\"`storage_key_vault_secret_id`\" pulumi-lang-yaml=\"`storageKeyVaultSecretId`\" pulumi-lang-java=\"`storageKeyVaultSecretId`\"\u003e`storage_key_vault_secret_id`\u003c/span\u003e used without a version will use the latest version of the secret, however, the service can take up to 24h to pick up a rotation of the latest version. See the [official docs](https://docs.microsoft.com/azure/app-service/app-service-key-vault-references#rotation) for more information.\n"},"storageUsesManagedIdentity":{"type":"boolean","description":"Should the Function App use Managed Identity to access the storage account. Conflicts with \u003cspan pulumi-lang-nodejs=\"`storageAccountAccessKey`\" pulumi-lang-dotnet=\"`StorageAccountAccessKey`\" pulumi-lang-go=\"`storageAccountAccessKey`\" pulumi-lang-python=\"`storage_account_access_key`\" pulumi-lang-yaml=\"`storageAccountAccessKey`\" pulumi-lang-java=\"`storageAccountAccessKey`\"\u003e`storage_account_access_key`\u003c/span\u003e.\n\n\u003e **Note:** One of \u003cspan pulumi-lang-nodejs=\"`storageAccountAccessKey`\" pulumi-lang-dotnet=\"`StorageAccountAccessKey`\" pulumi-lang-go=\"`storageAccountAccessKey`\" pulumi-lang-python=\"`storage_account_access_key`\" pulumi-lang-yaml=\"`storageAccountAccessKey`\" pulumi-lang-java=\"`storageAccountAccessKey`\"\u003e`storage_account_access_key`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`storageUsesManagedIdentity`\" pulumi-lang-dotnet=\"`StorageUsesManagedIdentity`\" pulumi-lang-go=\"`storageUsesManagedIdentity`\" pulumi-lang-python=\"`storage_uses_managed_identity`\" pulumi-lang-yaml=\"`storageUsesManagedIdentity`\" pulumi-lang-java=\"`storageUsesManagedIdentity`\"\u003e`storage_uses_managed_identity`\u003c/span\u003e must be specified when using \u003cspan pulumi-lang-nodejs=\"`storageAccountName`\" pulumi-lang-dotnet=\"`StorageAccountName`\" pulumi-lang-go=\"`storageAccountName`\" pulumi-lang-python=\"`storage_account_name`\" pulumi-lang-yaml=\"`storageAccountName`\" pulumi-lang-java=\"`storageAccountName`\"\u003e`storage_account_name`\u003c/span\u003e.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Windows Function App.\n"},"virtualNetworkBackupRestoreEnabled":{"type":"boolean","description":"Whether backup and restore operations over the linked virtual network are enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"virtualNetworkSubnetId":{"type":"string","description":"The subnet id which will be used by this Function App for [regional virtual network integration](https://docs.microsoft.com/en-us/azure/app-service/overview-vnet-integration#regional-virtual-network-integration).\n\n\u003e **Note:** The AzureRM Terraform provider provides regional virtual network integration via the standalone resource\u003cspan pulumi-lang-nodejs=\" appServiceVirtualNetworkSwiftConnection \" pulumi-lang-dotnet=\" AppServiceVirtualNetworkSwiftConnection \" pulumi-lang-go=\" appServiceVirtualNetworkSwiftConnection \" pulumi-lang-python=\" app_service_virtual_network_swift_connection \" pulumi-lang-yaml=\" appServiceVirtualNetworkSwiftConnection \" pulumi-lang-java=\" appServiceVirtualNetworkSwiftConnection \"\u003e app_service_virtual_network_swift_connection \u003c/span\u003eand in-line within this resource using the \u003cspan pulumi-lang-nodejs=\"`virtualNetworkSubnetId`\" pulumi-lang-dotnet=\"`VirtualNetworkSubnetId`\" pulumi-lang-go=\"`virtualNetworkSubnetId`\" pulumi-lang-python=\"`virtual_network_subnet_id`\" pulumi-lang-yaml=\"`virtualNetworkSubnetId`\" pulumi-lang-java=\"`virtualNetworkSubnetId`\"\u003e`virtual_network_subnet_id`\u003c/span\u003e property. You cannot use both methods simultaneously. If the virtual network is set via the resource \u003cspan pulumi-lang-nodejs=\"`appServiceVirtualNetworkSwiftConnection`\" pulumi-lang-dotnet=\"`AppServiceVirtualNetworkSwiftConnection`\" pulumi-lang-go=\"`appServiceVirtualNetworkSwiftConnection`\" pulumi-lang-python=\"`app_service_virtual_network_swift_connection`\" pulumi-lang-yaml=\"`appServiceVirtualNetworkSwiftConnection`\" pulumi-lang-java=\"`appServiceVirtualNetworkSwiftConnection`\"\u003e`app_service_virtual_network_swift_connection`\u003c/span\u003e then \u003cspan pulumi-lang-nodejs=\"`ignoreChanges`\" pulumi-lang-dotnet=\"`IgnoreChanges`\" pulumi-lang-go=\"`ignoreChanges`\" pulumi-lang-python=\"`ignore_changes`\" pulumi-lang-yaml=\"`ignoreChanges`\" pulumi-lang-java=\"`ignoreChanges`\"\u003e`ignore_changes`\u003c/span\u003e should be used in the function app configuration.\n\n\u003e **Note:** Assigning the \u003cspan pulumi-lang-nodejs=\"`virtualNetworkSubnetId`\" pulumi-lang-dotnet=\"`VirtualNetworkSubnetId`\" pulumi-lang-go=\"`virtualNetworkSubnetId`\" pulumi-lang-python=\"`virtual_network_subnet_id`\" pulumi-lang-yaml=\"`virtualNetworkSubnetId`\" pulumi-lang-java=\"`virtualNetworkSubnetId`\"\u003e`virtual_network_subnet_id`\u003c/span\u003e property requires [RBAC permissions on the subnet](https://docs.microsoft.com/en-us/azure/app-service/overview-vnet-integration#permissions)\n"},"vnetImagePullEnabled":{"type":"boolean","description":"Specifies whether traffic for the image pull should be routed over virtual network. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** The feature can also be enabled via the app setting `WEBSITE_PULL_IMAGE_OVER_VNET`. The Setting is enabled by default for app running in the App Service Environment.\n"},"webdeployPublishBasicAuthenticationEnabled":{"type":"boolean","description":"Should the default WebDeploy Basic Authentication publishing credentials enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n\n\u003e **Note:** Setting this value to true will disable the ability to use \u003cspan pulumi-lang-nodejs=\"`zipDeployFile`\" pulumi-lang-dotnet=\"`ZipDeployFile`\" pulumi-lang-go=\"`zipDeployFile`\" pulumi-lang-python=\"`zip_deploy_file`\" pulumi-lang-yaml=\"`zipDeployFile`\" pulumi-lang-java=\"`zipDeployFile`\"\u003e`zip_deploy_file`\u003c/span\u003e which currently relies on the default publishing profile.\n"},"zipDeployFile":{"type":"string","description":"The local path and filename of the Zip packaged application to deploy to this Windows Function App.\n\n\u003e **Note:** Using this value requires `WEBSITE_RUN_FROM_PACKAGE=1` to be set on the App in \u003cspan pulumi-lang-nodejs=\"`appSettings`\" pulumi-lang-dotnet=\"`AppSettings`\" pulumi-lang-go=\"`appSettings`\" pulumi-lang-python=\"`app_settings`\" pulumi-lang-yaml=\"`appSettings`\" pulumi-lang-java=\"`appSettings`\"\u003e`app_settings`\u003c/span\u003e. Refer to the [Azure docs](https://learn.microsoft.com/en-us/azure/azure-functions/functions-deployment-technologies) for further details.\n"}},"required":["customDomainVerificationId","defaultHostname","hostingEnvironmentId","httpsOnly","keyVaultReferenceIdentityId","kind","location","name","outboundIpAddressLists","outboundIpAddresses","possibleOutboundIpAddressLists","possibleOutboundIpAddresses","resourceGroupName","servicePlanId","siteConfig","siteCredentials","zipDeployFile"],"inputProperties":{"appSettings":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of key-value pairs for [App Settings](https://docs.microsoft.com/azure/azure-functions/functions-app-settings) and custom values.\n\n\u003e **Note:** For runtime related settings, please use \u003cspan pulumi-lang-nodejs=\"`nodeVersion`\" pulumi-lang-dotnet=\"`NodeVersion`\" pulumi-lang-go=\"`nodeVersion`\" pulumi-lang-python=\"`node_version`\" pulumi-lang-yaml=\"`nodeVersion`\" pulumi-lang-java=\"`nodeVersion`\"\u003e`node_version`\u003c/span\u003e in \u003cspan pulumi-lang-nodejs=\"`siteConfig`\" pulumi-lang-dotnet=\"`SiteConfig`\" pulumi-lang-go=\"`siteConfig`\" pulumi-lang-python=\"`site_config`\" pulumi-lang-yaml=\"`siteConfig`\" pulumi-lang-java=\"`siteConfig`\"\u003e`site_config`\u003c/span\u003e to set the node version and use \u003cspan pulumi-lang-nodejs=\"`functionsExtensionVersion`\" pulumi-lang-dotnet=\"`FunctionsExtensionVersion`\" pulumi-lang-go=\"`functionsExtensionVersion`\" pulumi-lang-python=\"`functions_extension_version`\" pulumi-lang-yaml=\"`functionsExtensionVersion`\" pulumi-lang-java=\"`functionsExtensionVersion`\"\u003e`functions_extension_version`\u003c/span\u003e to set the function runtime version, terraform will assign the values to the key `WEBSITE_NODE_DEFAULT_VERSION` and `FUNCTIONS_EXTENSION_VERSION` in app setting.\n\n\u003e **Note:** For storage related settings, please use related properties that are available such as \u003cspan pulumi-lang-nodejs=\"`storageAccountAccessKey`\" pulumi-lang-dotnet=\"`StorageAccountAccessKey`\" pulumi-lang-go=\"`storageAccountAccessKey`\" pulumi-lang-python=\"`storage_account_access_key`\" pulumi-lang-yaml=\"`storageAccountAccessKey`\" pulumi-lang-java=\"`storageAccountAccessKey`\"\u003e`storage_account_access_key`\u003c/span\u003e, terraform will assign the value to keys such as `WEBSITE_CONTENTAZUREFILECONNECTIONSTRING`, `AzureWebJobsStorage` in app_setting.\n\n\u003e **Note:** For application insight related settings, please use \u003cspan pulumi-lang-nodejs=\"`applicationInsightsConnectionString`\" pulumi-lang-dotnet=\"`ApplicationInsightsConnectionString`\" pulumi-lang-go=\"`applicationInsightsConnectionString`\" pulumi-lang-python=\"`application_insights_connection_string`\" pulumi-lang-yaml=\"`applicationInsightsConnectionString`\" pulumi-lang-java=\"`applicationInsightsConnectionString`\"\u003e`application_insights_connection_string`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`applicationInsightsKey`\" pulumi-lang-dotnet=\"`ApplicationInsightsKey`\" pulumi-lang-go=\"`applicationInsightsKey`\" pulumi-lang-python=\"`application_insights_key`\" pulumi-lang-yaml=\"`applicationInsightsKey`\" pulumi-lang-java=\"`applicationInsightsKey`\"\u003e`application_insights_key`\u003c/span\u003e, terraform will assign the value to the key `APPINSIGHTS_INSTRUMENTATIONKEY` and `APPLICATIONINSIGHTS_CONNECTION_STRING` in app setting.\n\n\u003e **Note:** For health check related settings, please use \u003cspan pulumi-lang-nodejs=\"`healthCheckEvictionTimeInMin`\" pulumi-lang-dotnet=\"`HealthCheckEvictionTimeInMin`\" pulumi-lang-go=\"`healthCheckEvictionTimeInMin`\" pulumi-lang-python=\"`health_check_eviction_time_in_min`\" pulumi-lang-yaml=\"`healthCheckEvictionTimeInMin`\" pulumi-lang-java=\"`healthCheckEvictionTimeInMin`\"\u003e`health_check_eviction_time_in_min`\u003c/span\u003e, terraform will assign the value to the key `WEBSITE_HEALTHCHECK_MAXPINGFAILURES` in app setting.\n\n\u003e **Note:** Please create a predefined share if you are restricting your storage account to a virtual network by setting `WEBSITE_CONTENTOVERVNET` to 1 in app_setting.\n"},"authSettings":{"$ref":"#/types/azure:appservice/WindowsFunctionAppAuthSettings:WindowsFunctionAppAuthSettings","description":"A \u003cspan pulumi-lang-nodejs=\"`authSettings`\" pulumi-lang-dotnet=\"`AuthSettings`\" pulumi-lang-go=\"`authSettings`\" pulumi-lang-python=\"`auth_settings`\" pulumi-lang-yaml=\"`authSettings`\" pulumi-lang-java=\"`authSettings`\"\u003e`auth_settings`\u003c/span\u003e block as defined below.\n"},"authSettingsV2":{"$ref":"#/types/azure:appservice/WindowsFunctionAppAuthSettingsV2:WindowsFunctionAppAuthSettingsV2","description":"A \u003cspan pulumi-lang-nodejs=\"`authSettingsV2`\" pulumi-lang-dotnet=\"`AuthSettingsV2`\" pulumi-lang-go=\"`authSettingsV2`\" pulumi-lang-python=\"`auth_settings_v2`\" pulumi-lang-yaml=\"`authSettingsV2`\" pulumi-lang-java=\"`authSettingsV2`\"\u003e`auth_settings_v2`\u003c/span\u003e block as defined below.\n"},"backup":{"$ref":"#/types/azure:appservice/WindowsFunctionAppBackup:WindowsFunctionAppBackup","description":"A \u003cspan pulumi-lang-nodejs=\"`backup`\" pulumi-lang-dotnet=\"`Backup`\" pulumi-lang-go=\"`backup`\" pulumi-lang-python=\"`backup`\" pulumi-lang-yaml=\"`backup`\" pulumi-lang-java=\"`backup`\"\u003e`backup`\u003c/span\u003e block as defined below.\n"},"builtinLoggingEnabled":{"type":"boolean","description":"Should built in logging be enabled. Configures `AzureWebJobsDashboard` app setting based on the configured storage setting. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"clientCertificateEnabled":{"type":"boolean","description":"Should the function app use Client Certificates.\n"},"clientCertificateExclusionPaths":{"type":"string","description":"Paths to exclude when using client certificates, separated by ;\n"},"clientCertificateMode":{"type":"string","description":"The mode of the Function App's client certificates requirement for incoming requests. Possible values are `Required`, `Optional`, and `OptionalInteractiveUser`. Defaults to `Optional`.\n"},"connectionStrings":{"type":"array","items":{"$ref":"#/types/azure:appservice/WindowsFunctionAppConnectionString:WindowsFunctionAppConnectionString"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`connectionString`\" pulumi-lang-dotnet=\"`ConnectionString`\" pulumi-lang-go=\"`connectionString`\" pulumi-lang-python=\"`connection_string`\" pulumi-lang-yaml=\"`connectionString`\" pulumi-lang-java=\"`connectionString`\"\u003e`connection_string`\u003c/span\u003e blocks as defined below.\n"},"contentShareForceDisabled":{"type":"boolean","description":"Should Content Share Settings be disabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"dailyMemoryTimeQuota":{"type":"integer","description":"The amount of memory in gigabyte-seconds that your application is allowed to consume per day. Setting this value only affects function apps under the consumption plan. Defaults to \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"enabled":{"type":"boolean","description":"Is the Function App enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"ftpPublishBasicAuthenticationEnabled":{"type":"boolean","description":"Should the default FTP Basic Authentication publishing profile be enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"functionsExtensionVersion":{"type":"string","description":"The runtime version associated with the Function App. Defaults to `~4`.\n"},"httpsOnly":{"type":"boolean","description":"Can the Function App only be accessed via HTTPS?. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"identity":{"$ref":"#/types/azure:appservice/WindowsFunctionAppIdentity:WindowsFunctionAppIdentity","description":"A \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"keyVaultReferenceIdentityId":{"type":"string","description":"The User Assigned Identity ID used for accessing KeyVault secrets. The identity must be assigned to the application in the \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block. [For more information see - Access vaults with a user-assigned identity](https://docs.microsoft.com/azure/app-service/app-service-key-vault-references#access-vaults-with-a-user-assigned-identity)\n"},"location":{"type":"string","description":"The Azure Region where the Windows Function App should exist. Changing this forces a new Windows Function App to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Windows Function App. Changing this forces a new Windows Function App to be created. Limit the function name to 32 characters to avoid naming collisions. For more information about [Function App naming rule](https://docs.microsoft.com/en-us/azure/azure-resource-manager/management/resource-name-rules#microsoftweb) and [Host ID Collisions](https://github.com/Azure/azure-functions-host/wiki/Host-IDs#host-id-collisions)\n","willReplaceOnChanges":true},"publicNetworkAccessEnabled":{"type":"boolean","description":"Should public network access be enabled for the Function App. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Windows Function App should exist. Changing this forces a new Windows Function App to be created.\n","willReplaceOnChanges":true},"servicePlanId":{"type":"string","description":"The ID of the App Service Plan within which to create this Function App.\n"},"siteConfig":{"$ref":"#/types/azure:appservice/WindowsFunctionAppSiteConfig:WindowsFunctionAppSiteConfig","description":"A \u003cspan pulumi-lang-nodejs=\"`siteConfig`\" pulumi-lang-dotnet=\"`SiteConfig`\" pulumi-lang-go=\"`siteConfig`\" pulumi-lang-python=\"`site_config`\" pulumi-lang-yaml=\"`siteConfig`\" pulumi-lang-java=\"`siteConfig`\"\u003e`site_config`\u003c/span\u003e block as defined below.\n"},"stickySettings":{"$ref":"#/types/azure:appservice/WindowsFunctionAppStickySettings:WindowsFunctionAppStickySettings","description":"A \u003cspan pulumi-lang-nodejs=\"`stickySettings`\" pulumi-lang-dotnet=\"`StickySettings`\" pulumi-lang-go=\"`stickySettings`\" pulumi-lang-python=\"`sticky_settings`\" pulumi-lang-yaml=\"`stickySettings`\" pulumi-lang-java=\"`stickySettings`\"\u003e`sticky_settings`\u003c/span\u003e block as defined below.\n"},"storageAccountAccessKey":{"type":"string","description":"The access key which will be used to access the backend storage account for the Function App. Conflicts with \u003cspan pulumi-lang-nodejs=\"`storageUsesManagedIdentity`\" pulumi-lang-dotnet=\"`StorageUsesManagedIdentity`\" pulumi-lang-go=\"`storageUsesManagedIdentity`\" pulumi-lang-python=\"`storage_uses_managed_identity`\" pulumi-lang-yaml=\"`storageUsesManagedIdentity`\" pulumi-lang-java=\"`storageUsesManagedIdentity`\"\u003e`storage_uses_managed_identity`\u003c/span\u003e.\n","secret":true},"storageAccountName":{"type":"string","description":"The backend storage account name which will be used by this Function App.\n"},"storageAccounts":{"type":"array","items":{"$ref":"#/types/azure:appservice/WindowsFunctionAppStorageAccount:WindowsFunctionAppStorageAccount"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`storageAccount`\" pulumi-lang-dotnet=\"`StorageAccount`\" pulumi-lang-go=\"`storageAccount`\" pulumi-lang-python=\"`storage_account`\" pulumi-lang-yaml=\"`storageAccount`\" pulumi-lang-java=\"`storageAccount`\"\u003e`storage_account`\u003c/span\u003e blocks as defined below.\n"},"storageKeyVaultSecretId":{"type":"string","description":"The Key Vault Secret ID, optionally including version, that contains the Connection String to connect to the storage account for this Function App.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`storageKeyVaultSecretId`\" pulumi-lang-dotnet=\"`StorageKeyVaultSecretId`\" pulumi-lang-go=\"`storageKeyVaultSecretId`\" pulumi-lang-python=\"`storage_key_vault_secret_id`\" pulumi-lang-yaml=\"`storageKeyVaultSecretId`\" pulumi-lang-java=\"`storageKeyVaultSecretId`\"\u003e`storage_key_vault_secret_id`\u003c/span\u003e cannot be used with \u003cspan pulumi-lang-nodejs=\"`storageAccountName`\" pulumi-lang-dotnet=\"`StorageAccountName`\" pulumi-lang-go=\"`storageAccountName`\" pulumi-lang-python=\"`storage_account_name`\" pulumi-lang-yaml=\"`storageAccountName`\" pulumi-lang-java=\"`storageAccountName`\"\u003e`storage_account_name`\u003c/span\u003e.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`storageKeyVaultSecretId`\" pulumi-lang-dotnet=\"`StorageKeyVaultSecretId`\" pulumi-lang-go=\"`storageKeyVaultSecretId`\" pulumi-lang-python=\"`storage_key_vault_secret_id`\" pulumi-lang-yaml=\"`storageKeyVaultSecretId`\" pulumi-lang-java=\"`storageKeyVaultSecretId`\"\u003e`storage_key_vault_secret_id`\u003c/span\u003e used without a version will use the latest version of the secret, however, the service can take up to 24h to pick up a rotation of the latest version. See the [official docs](https://docs.microsoft.com/azure/app-service/app-service-key-vault-references#rotation) for more information.\n"},"storageUsesManagedIdentity":{"type":"boolean","description":"Should the Function App use Managed Identity to access the storage account. Conflicts with \u003cspan pulumi-lang-nodejs=\"`storageAccountAccessKey`\" pulumi-lang-dotnet=\"`StorageAccountAccessKey`\" pulumi-lang-go=\"`storageAccountAccessKey`\" pulumi-lang-python=\"`storage_account_access_key`\" pulumi-lang-yaml=\"`storageAccountAccessKey`\" pulumi-lang-java=\"`storageAccountAccessKey`\"\u003e`storage_account_access_key`\u003c/span\u003e.\n\n\u003e **Note:** One of \u003cspan pulumi-lang-nodejs=\"`storageAccountAccessKey`\" pulumi-lang-dotnet=\"`StorageAccountAccessKey`\" pulumi-lang-go=\"`storageAccountAccessKey`\" pulumi-lang-python=\"`storage_account_access_key`\" pulumi-lang-yaml=\"`storageAccountAccessKey`\" pulumi-lang-java=\"`storageAccountAccessKey`\"\u003e`storage_account_access_key`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`storageUsesManagedIdentity`\" pulumi-lang-dotnet=\"`StorageUsesManagedIdentity`\" pulumi-lang-go=\"`storageUsesManagedIdentity`\" pulumi-lang-python=\"`storage_uses_managed_identity`\" pulumi-lang-yaml=\"`storageUsesManagedIdentity`\" pulumi-lang-java=\"`storageUsesManagedIdentity`\"\u003e`storage_uses_managed_identity`\u003c/span\u003e must be specified when using \u003cspan pulumi-lang-nodejs=\"`storageAccountName`\" pulumi-lang-dotnet=\"`StorageAccountName`\" pulumi-lang-go=\"`storageAccountName`\" pulumi-lang-python=\"`storage_account_name`\" pulumi-lang-yaml=\"`storageAccountName`\" pulumi-lang-java=\"`storageAccountName`\"\u003e`storage_account_name`\u003c/span\u003e.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Windows Function App.\n"},"virtualNetworkBackupRestoreEnabled":{"type":"boolean","description":"Whether backup and restore operations over the linked virtual network are enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"virtualNetworkSubnetId":{"type":"string","description":"The subnet id which will be used by this Function App for [regional virtual network integration](https://docs.microsoft.com/en-us/azure/app-service/overview-vnet-integration#regional-virtual-network-integration).\n\n\u003e **Note:** The AzureRM Terraform provider provides regional virtual network integration via the standalone resource\u003cspan pulumi-lang-nodejs=\" appServiceVirtualNetworkSwiftConnection \" pulumi-lang-dotnet=\" AppServiceVirtualNetworkSwiftConnection \" pulumi-lang-go=\" appServiceVirtualNetworkSwiftConnection \" pulumi-lang-python=\" app_service_virtual_network_swift_connection \" pulumi-lang-yaml=\" appServiceVirtualNetworkSwiftConnection \" pulumi-lang-java=\" appServiceVirtualNetworkSwiftConnection \"\u003e app_service_virtual_network_swift_connection \u003c/span\u003eand in-line within this resource using the \u003cspan pulumi-lang-nodejs=\"`virtualNetworkSubnetId`\" pulumi-lang-dotnet=\"`VirtualNetworkSubnetId`\" pulumi-lang-go=\"`virtualNetworkSubnetId`\" pulumi-lang-python=\"`virtual_network_subnet_id`\" pulumi-lang-yaml=\"`virtualNetworkSubnetId`\" pulumi-lang-java=\"`virtualNetworkSubnetId`\"\u003e`virtual_network_subnet_id`\u003c/span\u003e property. You cannot use both methods simultaneously. If the virtual network is set via the resource \u003cspan pulumi-lang-nodejs=\"`appServiceVirtualNetworkSwiftConnection`\" pulumi-lang-dotnet=\"`AppServiceVirtualNetworkSwiftConnection`\" pulumi-lang-go=\"`appServiceVirtualNetworkSwiftConnection`\" pulumi-lang-python=\"`app_service_virtual_network_swift_connection`\" pulumi-lang-yaml=\"`appServiceVirtualNetworkSwiftConnection`\" pulumi-lang-java=\"`appServiceVirtualNetworkSwiftConnection`\"\u003e`app_service_virtual_network_swift_connection`\u003c/span\u003e then \u003cspan pulumi-lang-nodejs=\"`ignoreChanges`\" pulumi-lang-dotnet=\"`IgnoreChanges`\" pulumi-lang-go=\"`ignoreChanges`\" pulumi-lang-python=\"`ignore_changes`\" pulumi-lang-yaml=\"`ignoreChanges`\" pulumi-lang-java=\"`ignoreChanges`\"\u003e`ignore_changes`\u003c/span\u003e should be used in the function app configuration.\n\n\u003e **Note:** Assigning the \u003cspan pulumi-lang-nodejs=\"`virtualNetworkSubnetId`\" pulumi-lang-dotnet=\"`VirtualNetworkSubnetId`\" pulumi-lang-go=\"`virtualNetworkSubnetId`\" pulumi-lang-python=\"`virtual_network_subnet_id`\" pulumi-lang-yaml=\"`virtualNetworkSubnetId`\" pulumi-lang-java=\"`virtualNetworkSubnetId`\"\u003e`virtual_network_subnet_id`\u003c/span\u003e property requires [RBAC permissions on the subnet](https://docs.microsoft.com/en-us/azure/app-service/overview-vnet-integration#permissions)\n"},"vnetImagePullEnabled":{"type":"boolean","description":"Specifies whether traffic for the image pull should be routed over virtual network. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** The feature can also be enabled via the app setting `WEBSITE_PULL_IMAGE_OVER_VNET`. The Setting is enabled by default for app running in the App Service Environment.\n"},"webdeployPublishBasicAuthenticationEnabled":{"type":"boolean","description":"Should the default WebDeploy Basic Authentication publishing credentials enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n\n\u003e **Note:** Setting this value to true will disable the ability to use \u003cspan pulumi-lang-nodejs=\"`zipDeployFile`\" pulumi-lang-dotnet=\"`ZipDeployFile`\" pulumi-lang-go=\"`zipDeployFile`\" pulumi-lang-python=\"`zip_deploy_file`\" pulumi-lang-yaml=\"`zipDeployFile`\" pulumi-lang-java=\"`zipDeployFile`\"\u003e`zip_deploy_file`\u003c/span\u003e which currently relies on the default publishing profile.\n"},"zipDeployFile":{"type":"string","description":"The local path and filename of the Zip packaged application to deploy to this Windows Function App.\n\n\u003e **Note:** Using this value requires `WEBSITE_RUN_FROM_PACKAGE=1` to be set on the App in \u003cspan pulumi-lang-nodejs=\"`appSettings`\" pulumi-lang-dotnet=\"`AppSettings`\" pulumi-lang-go=\"`appSettings`\" pulumi-lang-python=\"`app_settings`\" pulumi-lang-yaml=\"`appSettings`\" pulumi-lang-java=\"`appSettings`\"\u003e`app_settings`\u003c/span\u003e. Refer to the [Azure docs](https://learn.microsoft.com/en-us/azure/azure-functions/functions-deployment-technologies) for further details.\n"}},"requiredInputs":["resourceGroupName","servicePlanId","siteConfig"],"stateInputs":{"description":"Input properties used for looking up and filtering WindowsFunctionApp resources.\n","properties":{"appSettings":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of key-value pairs for [App Settings](https://docs.microsoft.com/azure/azure-functions/functions-app-settings) and custom values.\n\n\u003e **Note:** For runtime related settings, please use \u003cspan pulumi-lang-nodejs=\"`nodeVersion`\" pulumi-lang-dotnet=\"`NodeVersion`\" pulumi-lang-go=\"`nodeVersion`\" pulumi-lang-python=\"`node_version`\" pulumi-lang-yaml=\"`nodeVersion`\" pulumi-lang-java=\"`nodeVersion`\"\u003e`node_version`\u003c/span\u003e in \u003cspan pulumi-lang-nodejs=\"`siteConfig`\" pulumi-lang-dotnet=\"`SiteConfig`\" pulumi-lang-go=\"`siteConfig`\" pulumi-lang-python=\"`site_config`\" pulumi-lang-yaml=\"`siteConfig`\" pulumi-lang-java=\"`siteConfig`\"\u003e`site_config`\u003c/span\u003e to set the node version and use \u003cspan pulumi-lang-nodejs=\"`functionsExtensionVersion`\" pulumi-lang-dotnet=\"`FunctionsExtensionVersion`\" pulumi-lang-go=\"`functionsExtensionVersion`\" pulumi-lang-python=\"`functions_extension_version`\" pulumi-lang-yaml=\"`functionsExtensionVersion`\" pulumi-lang-java=\"`functionsExtensionVersion`\"\u003e`functions_extension_version`\u003c/span\u003e to set the function runtime version, terraform will assign the values to the key `WEBSITE_NODE_DEFAULT_VERSION` and `FUNCTIONS_EXTENSION_VERSION` in app setting.\n\n\u003e **Note:** For storage related settings, please use related properties that are available such as \u003cspan pulumi-lang-nodejs=\"`storageAccountAccessKey`\" pulumi-lang-dotnet=\"`StorageAccountAccessKey`\" pulumi-lang-go=\"`storageAccountAccessKey`\" pulumi-lang-python=\"`storage_account_access_key`\" pulumi-lang-yaml=\"`storageAccountAccessKey`\" pulumi-lang-java=\"`storageAccountAccessKey`\"\u003e`storage_account_access_key`\u003c/span\u003e, terraform will assign the value to keys such as `WEBSITE_CONTENTAZUREFILECONNECTIONSTRING`, `AzureWebJobsStorage` in app_setting.\n\n\u003e **Note:** For application insight related settings, please use \u003cspan pulumi-lang-nodejs=\"`applicationInsightsConnectionString`\" pulumi-lang-dotnet=\"`ApplicationInsightsConnectionString`\" pulumi-lang-go=\"`applicationInsightsConnectionString`\" pulumi-lang-python=\"`application_insights_connection_string`\" pulumi-lang-yaml=\"`applicationInsightsConnectionString`\" pulumi-lang-java=\"`applicationInsightsConnectionString`\"\u003e`application_insights_connection_string`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`applicationInsightsKey`\" pulumi-lang-dotnet=\"`ApplicationInsightsKey`\" pulumi-lang-go=\"`applicationInsightsKey`\" pulumi-lang-python=\"`application_insights_key`\" pulumi-lang-yaml=\"`applicationInsightsKey`\" pulumi-lang-java=\"`applicationInsightsKey`\"\u003e`application_insights_key`\u003c/span\u003e, terraform will assign the value to the key `APPINSIGHTS_INSTRUMENTATIONKEY` and `APPLICATIONINSIGHTS_CONNECTION_STRING` in app setting.\n\n\u003e **Note:** For health check related settings, please use \u003cspan pulumi-lang-nodejs=\"`healthCheckEvictionTimeInMin`\" pulumi-lang-dotnet=\"`HealthCheckEvictionTimeInMin`\" pulumi-lang-go=\"`healthCheckEvictionTimeInMin`\" pulumi-lang-python=\"`health_check_eviction_time_in_min`\" pulumi-lang-yaml=\"`healthCheckEvictionTimeInMin`\" pulumi-lang-java=\"`healthCheckEvictionTimeInMin`\"\u003e`health_check_eviction_time_in_min`\u003c/span\u003e, terraform will assign the value to the key `WEBSITE_HEALTHCHECK_MAXPINGFAILURES` in app setting.\n\n\u003e **Note:** Please create a predefined share if you are restricting your storage account to a virtual network by setting `WEBSITE_CONTENTOVERVNET` to 1 in app_setting.\n"},"authSettings":{"$ref":"#/types/azure:appservice/WindowsFunctionAppAuthSettings:WindowsFunctionAppAuthSettings","description":"A \u003cspan pulumi-lang-nodejs=\"`authSettings`\" pulumi-lang-dotnet=\"`AuthSettings`\" pulumi-lang-go=\"`authSettings`\" pulumi-lang-python=\"`auth_settings`\" pulumi-lang-yaml=\"`authSettings`\" pulumi-lang-java=\"`authSettings`\"\u003e`auth_settings`\u003c/span\u003e block as defined below.\n"},"authSettingsV2":{"$ref":"#/types/azure:appservice/WindowsFunctionAppAuthSettingsV2:WindowsFunctionAppAuthSettingsV2","description":"A \u003cspan pulumi-lang-nodejs=\"`authSettingsV2`\" pulumi-lang-dotnet=\"`AuthSettingsV2`\" pulumi-lang-go=\"`authSettingsV2`\" pulumi-lang-python=\"`auth_settings_v2`\" pulumi-lang-yaml=\"`authSettingsV2`\" pulumi-lang-java=\"`authSettingsV2`\"\u003e`auth_settings_v2`\u003c/span\u003e block as defined below.\n"},"backup":{"$ref":"#/types/azure:appservice/WindowsFunctionAppBackup:WindowsFunctionAppBackup","description":"A \u003cspan pulumi-lang-nodejs=\"`backup`\" pulumi-lang-dotnet=\"`Backup`\" pulumi-lang-go=\"`backup`\" pulumi-lang-python=\"`backup`\" pulumi-lang-yaml=\"`backup`\" pulumi-lang-java=\"`backup`\"\u003e`backup`\u003c/span\u003e block as defined below.\n"},"builtinLoggingEnabled":{"type":"boolean","description":"Should built in logging be enabled. Configures `AzureWebJobsDashboard` app setting based on the configured storage setting. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"clientCertificateEnabled":{"type":"boolean","description":"Should the function app use Client Certificates.\n"},"clientCertificateExclusionPaths":{"type":"string","description":"Paths to exclude when using client certificates, separated by ;\n"},"clientCertificateMode":{"type":"string","description":"The mode of the Function App's client certificates requirement for incoming requests. Possible values are `Required`, `Optional`, and `OptionalInteractiveUser`. Defaults to `Optional`.\n"},"connectionStrings":{"type":"array","items":{"$ref":"#/types/azure:appservice/WindowsFunctionAppConnectionString:WindowsFunctionAppConnectionString"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`connectionString`\" pulumi-lang-dotnet=\"`ConnectionString`\" pulumi-lang-go=\"`connectionString`\" pulumi-lang-python=\"`connection_string`\" pulumi-lang-yaml=\"`connectionString`\" pulumi-lang-java=\"`connectionString`\"\u003e`connection_string`\u003c/span\u003e blocks as defined below.\n"},"contentShareForceDisabled":{"type":"boolean","description":"Should Content Share Settings be disabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"customDomainVerificationId":{"type":"string","description":"The identifier used by App Service to perform domain ownership verification via DNS TXT record.\n","secret":true},"dailyMemoryTimeQuota":{"type":"integer","description":"The amount of memory in gigabyte-seconds that your application is allowed to consume per day. Setting this value only affects function apps under the consumption plan. Defaults to \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"defaultHostname":{"type":"string","description":"The default hostname of the Windows Function App.\n"},"enabled":{"type":"boolean","description":"Is the Function App enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"ftpPublishBasicAuthenticationEnabled":{"type":"boolean","description":"Should the default FTP Basic Authentication publishing profile be enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"functionsExtensionVersion":{"type":"string","description":"The runtime version associated with the Function App. Defaults to `~4`.\n"},"hostingEnvironmentId":{"type":"string","description":"The ID of the App Service Environment used by Function App.\n"},"httpsOnly":{"type":"boolean","description":"Can the Function App only be accessed via HTTPS?. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"identity":{"$ref":"#/types/azure:appservice/WindowsFunctionAppIdentity:WindowsFunctionAppIdentity","description":"A \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"keyVaultReferenceIdentityId":{"type":"string","description":"The User Assigned Identity ID used for accessing KeyVault secrets. The identity must be assigned to the application in the \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block. [For more information see - Access vaults with a user-assigned identity](https://docs.microsoft.com/azure/app-service/app-service-key-vault-references#access-vaults-with-a-user-assigned-identity)\n"},"kind":{"type":"string","description":"The Kind value for this Windows Function App.\n"},"location":{"type":"string","description":"The Azure Region where the Windows Function App should exist. Changing this forces a new Windows Function App to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Windows Function App. Changing this forces a new Windows Function App to be created. Limit the function name to 32 characters to avoid naming collisions. For more information about [Function App naming rule](https://docs.microsoft.com/en-us/azure/azure-resource-manager/management/resource-name-rules#microsoftweb) and [Host ID Collisions](https://github.com/Azure/azure-functions-host/wiki/Host-IDs#host-id-collisions)\n","willReplaceOnChanges":true},"outboundIpAddressLists":{"type":"array","items":{"type":"string"},"description":"A list of outbound IP addresses. For example `[\"52.23.25.3\", \"52.143.43.12\"]`\n"},"outboundIpAddresses":{"type":"string","description":"A comma separated list of outbound IP addresses as a string. For example `52.23.25.3,52.143.43.12`.\n"},"possibleOutboundIpAddressLists":{"type":"array","items":{"type":"string"},"description":"A list of possible outbound IP addresses, not all of which are necessarily in use. This is a superset of \u003cspan pulumi-lang-nodejs=\"`outboundIpAddressList`\" pulumi-lang-dotnet=\"`OutboundIpAddressList`\" pulumi-lang-go=\"`outboundIpAddressList`\" pulumi-lang-python=\"`outbound_ip_address_list`\" pulumi-lang-yaml=\"`outboundIpAddressList`\" pulumi-lang-java=\"`outboundIpAddressList`\"\u003e`outbound_ip_address_list`\u003c/span\u003e. For example `[\"52.23.25.3\", \"52.143.43.12\"]`.\n"},"possibleOutboundIpAddresses":{"type":"string","description":"A comma separated list of possible outbound IP addresses as a string. For example `52.23.25.3,52.143.43.12,52.143.43.17`. This is a superset of \u003cspan pulumi-lang-nodejs=\"`outboundIpAddresses`\" pulumi-lang-dotnet=\"`OutboundIpAddresses`\" pulumi-lang-go=\"`outboundIpAddresses`\" pulumi-lang-python=\"`outbound_ip_addresses`\" pulumi-lang-yaml=\"`outboundIpAddresses`\" pulumi-lang-java=\"`outboundIpAddresses`\"\u003e`outbound_ip_addresses`\u003c/span\u003e.\n"},"publicNetworkAccessEnabled":{"type":"boolean","description":"Should public network access be enabled for the Function App. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Windows Function App should exist. Changing this forces a new Windows Function App to be created.\n","willReplaceOnChanges":true},"servicePlanId":{"type":"string","description":"The ID of the App Service Plan within which to create this Function App.\n"},"siteConfig":{"$ref":"#/types/azure:appservice/WindowsFunctionAppSiteConfig:WindowsFunctionAppSiteConfig","description":"A \u003cspan pulumi-lang-nodejs=\"`siteConfig`\" pulumi-lang-dotnet=\"`SiteConfig`\" pulumi-lang-go=\"`siteConfig`\" pulumi-lang-python=\"`site_config`\" pulumi-lang-yaml=\"`siteConfig`\" pulumi-lang-java=\"`siteConfig`\"\u003e`site_config`\u003c/span\u003e block as defined below.\n"},"siteCredentials":{"type":"array","items":{"$ref":"#/types/azure:appservice/WindowsFunctionAppSiteCredential:WindowsFunctionAppSiteCredential"},"description":"A \u003cspan pulumi-lang-nodejs=\"`siteCredential`\" pulumi-lang-dotnet=\"`SiteCredential`\" pulumi-lang-go=\"`siteCredential`\" pulumi-lang-python=\"`site_credential`\" pulumi-lang-yaml=\"`siteCredential`\" pulumi-lang-java=\"`siteCredential`\"\u003e`site_credential`\u003c/span\u003e block as defined below.\n","secret":true},"stickySettings":{"$ref":"#/types/azure:appservice/WindowsFunctionAppStickySettings:WindowsFunctionAppStickySettings","description":"A \u003cspan pulumi-lang-nodejs=\"`stickySettings`\" pulumi-lang-dotnet=\"`StickySettings`\" pulumi-lang-go=\"`stickySettings`\" pulumi-lang-python=\"`sticky_settings`\" pulumi-lang-yaml=\"`stickySettings`\" pulumi-lang-java=\"`stickySettings`\"\u003e`sticky_settings`\u003c/span\u003e block as defined below.\n"},"storageAccountAccessKey":{"type":"string","description":"The access key which will be used to access the backend storage account for the Function App. Conflicts with \u003cspan pulumi-lang-nodejs=\"`storageUsesManagedIdentity`\" pulumi-lang-dotnet=\"`StorageUsesManagedIdentity`\" pulumi-lang-go=\"`storageUsesManagedIdentity`\" pulumi-lang-python=\"`storage_uses_managed_identity`\" pulumi-lang-yaml=\"`storageUsesManagedIdentity`\" pulumi-lang-java=\"`storageUsesManagedIdentity`\"\u003e`storage_uses_managed_identity`\u003c/span\u003e.\n","secret":true},"storageAccountName":{"type":"string","description":"The backend storage account name which will be used by this Function App.\n"},"storageAccounts":{"type":"array","items":{"$ref":"#/types/azure:appservice/WindowsFunctionAppStorageAccount:WindowsFunctionAppStorageAccount"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`storageAccount`\" pulumi-lang-dotnet=\"`StorageAccount`\" pulumi-lang-go=\"`storageAccount`\" pulumi-lang-python=\"`storage_account`\" pulumi-lang-yaml=\"`storageAccount`\" pulumi-lang-java=\"`storageAccount`\"\u003e`storage_account`\u003c/span\u003e blocks as defined below.\n"},"storageKeyVaultSecretId":{"type":"string","description":"The Key Vault Secret ID, optionally including version, that contains the Connection String to connect to the storage account for this Function App.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`storageKeyVaultSecretId`\" pulumi-lang-dotnet=\"`StorageKeyVaultSecretId`\" pulumi-lang-go=\"`storageKeyVaultSecretId`\" pulumi-lang-python=\"`storage_key_vault_secret_id`\" pulumi-lang-yaml=\"`storageKeyVaultSecretId`\" pulumi-lang-java=\"`storageKeyVaultSecretId`\"\u003e`storage_key_vault_secret_id`\u003c/span\u003e cannot be used with \u003cspan pulumi-lang-nodejs=\"`storageAccountName`\" pulumi-lang-dotnet=\"`StorageAccountName`\" pulumi-lang-go=\"`storageAccountName`\" pulumi-lang-python=\"`storage_account_name`\" pulumi-lang-yaml=\"`storageAccountName`\" pulumi-lang-java=\"`storageAccountName`\"\u003e`storage_account_name`\u003c/span\u003e.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`storageKeyVaultSecretId`\" pulumi-lang-dotnet=\"`StorageKeyVaultSecretId`\" pulumi-lang-go=\"`storageKeyVaultSecretId`\" pulumi-lang-python=\"`storage_key_vault_secret_id`\" pulumi-lang-yaml=\"`storageKeyVaultSecretId`\" pulumi-lang-java=\"`storageKeyVaultSecretId`\"\u003e`storage_key_vault_secret_id`\u003c/span\u003e used without a version will use the latest version of the secret, however, the service can take up to 24h to pick up a rotation of the latest version. See the [official docs](https://docs.microsoft.com/azure/app-service/app-service-key-vault-references#rotation) for more information.\n"},"storageUsesManagedIdentity":{"type":"boolean","description":"Should the Function App use Managed Identity to access the storage account. Conflicts with \u003cspan pulumi-lang-nodejs=\"`storageAccountAccessKey`\" pulumi-lang-dotnet=\"`StorageAccountAccessKey`\" pulumi-lang-go=\"`storageAccountAccessKey`\" pulumi-lang-python=\"`storage_account_access_key`\" pulumi-lang-yaml=\"`storageAccountAccessKey`\" pulumi-lang-java=\"`storageAccountAccessKey`\"\u003e`storage_account_access_key`\u003c/span\u003e.\n\n\u003e **Note:** One of \u003cspan pulumi-lang-nodejs=\"`storageAccountAccessKey`\" pulumi-lang-dotnet=\"`StorageAccountAccessKey`\" pulumi-lang-go=\"`storageAccountAccessKey`\" pulumi-lang-python=\"`storage_account_access_key`\" pulumi-lang-yaml=\"`storageAccountAccessKey`\" pulumi-lang-java=\"`storageAccountAccessKey`\"\u003e`storage_account_access_key`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`storageUsesManagedIdentity`\" pulumi-lang-dotnet=\"`StorageUsesManagedIdentity`\" pulumi-lang-go=\"`storageUsesManagedIdentity`\" pulumi-lang-python=\"`storage_uses_managed_identity`\" pulumi-lang-yaml=\"`storageUsesManagedIdentity`\" pulumi-lang-java=\"`storageUsesManagedIdentity`\"\u003e`storage_uses_managed_identity`\u003c/span\u003e must be specified when using \u003cspan pulumi-lang-nodejs=\"`storageAccountName`\" pulumi-lang-dotnet=\"`StorageAccountName`\" pulumi-lang-go=\"`storageAccountName`\" pulumi-lang-python=\"`storage_account_name`\" pulumi-lang-yaml=\"`storageAccountName`\" pulumi-lang-java=\"`storageAccountName`\"\u003e`storage_account_name`\u003c/span\u003e.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Windows Function App.\n"},"virtualNetworkBackupRestoreEnabled":{"type":"boolean","description":"Whether backup and restore operations over the linked virtual network are enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"virtualNetworkSubnetId":{"type":"string","description":"The subnet id which will be used by this Function App for [regional virtual network integration](https://docs.microsoft.com/en-us/azure/app-service/overview-vnet-integration#regional-virtual-network-integration).\n\n\u003e **Note:** The AzureRM Terraform provider provides regional virtual network integration via the standalone resource\u003cspan pulumi-lang-nodejs=\" appServiceVirtualNetworkSwiftConnection \" pulumi-lang-dotnet=\" AppServiceVirtualNetworkSwiftConnection \" pulumi-lang-go=\" appServiceVirtualNetworkSwiftConnection \" pulumi-lang-python=\" app_service_virtual_network_swift_connection \" pulumi-lang-yaml=\" appServiceVirtualNetworkSwiftConnection \" pulumi-lang-java=\" appServiceVirtualNetworkSwiftConnection \"\u003e app_service_virtual_network_swift_connection \u003c/span\u003eand in-line within this resource using the \u003cspan pulumi-lang-nodejs=\"`virtualNetworkSubnetId`\" pulumi-lang-dotnet=\"`VirtualNetworkSubnetId`\" pulumi-lang-go=\"`virtualNetworkSubnetId`\" pulumi-lang-python=\"`virtual_network_subnet_id`\" pulumi-lang-yaml=\"`virtualNetworkSubnetId`\" pulumi-lang-java=\"`virtualNetworkSubnetId`\"\u003e`virtual_network_subnet_id`\u003c/span\u003e property. You cannot use both methods simultaneously. If the virtual network is set via the resource \u003cspan pulumi-lang-nodejs=\"`appServiceVirtualNetworkSwiftConnection`\" pulumi-lang-dotnet=\"`AppServiceVirtualNetworkSwiftConnection`\" pulumi-lang-go=\"`appServiceVirtualNetworkSwiftConnection`\" pulumi-lang-python=\"`app_service_virtual_network_swift_connection`\" pulumi-lang-yaml=\"`appServiceVirtualNetworkSwiftConnection`\" pulumi-lang-java=\"`appServiceVirtualNetworkSwiftConnection`\"\u003e`app_service_virtual_network_swift_connection`\u003c/span\u003e then \u003cspan pulumi-lang-nodejs=\"`ignoreChanges`\" pulumi-lang-dotnet=\"`IgnoreChanges`\" pulumi-lang-go=\"`ignoreChanges`\" pulumi-lang-python=\"`ignore_changes`\" pulumi-lang-yaml=\"`ignoreChanges`\" pulumi-lang-java=\"`ignoreChanges`\"\u003e`ignore_changes`\u003c/span\u003e should be used in the function app configuration.\n\n\u003e **Note:** Assigning the \u003cspan pulumi-lang-nodejs=\"`virtualNetworkSubnetId`\" pulumi-lang-dotnet=\"`VirtualNetworkSubnetId`\" pulumi-lang-go=\"`virtualNetworkSubnetId`\" pulumi-lang-python=\"`virtual_network_subnet_id`\" pulumi-lang-yaml=\"`virtualNetworkSubnetId`\" pulumi-lang-java=\"`virtualNetworkSubnetId`\"\u003e`virtual_network_subnet_id`\u003c/span\u003e property requires [RBAC permissions on the subnet](https://docs.microsoft.com/en-us/azure/app-service/overview-vnet-integration#permissions)\n"},"vnetImagePullEnabled":{"type":"boolean","description":"Specifies whether traffic for the image pull should be routed over virtual network. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** The feature can also be enabled via the app setting `WEBSITE_PULL_IMAGE_OVER_VNET`. The Setting is enabled by default for app running in the App Service Environment.\n"},"webdeployPublishBasicAuthenticationEnabled":{"type":"boolean","description":"Should the default WebDeploy Basic Authentication publishing credentials enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n\n\u003e **Note:** Setting this value to true will disable the ability to use \u003cspan pulumi-lang-nodejs=\"`zipDeployFile`\" pulumi-lang-dotnet=\"`ZipDeployFile`\" pulumi-lang-go=\"`zipDeployFile`\" pulumi-lang-python=\"`zip_deploy_file`\" pulumi-lang-yaml=\"`zipDeployFile`\" pulumi-lang-java=\"`zipDeployFile`\"\u003e`zip_deploy_file`\u003c/span\u003e which currently relies on the default publishing profile.\n"},"zipDeployFile":{"type":"string","description":"The local path and filename of the Zip packaged application to deploy to this Windows Function App.\n\n\u003e **Note:** Using this value requires `WEBSITE_RUN_FROM_PACKAGE=1` to be set on the App in \u003cspan pulumi-lang-nodejs=\"`appSettings`\" pulumi-lang-dotnet=\"`AppSettings`\" pulumi-lang-go=\"`appSettings`\" pulumi-lang-python=\"`app_settings`\" pulumi-lang-yaml=\"`appSettings`\" pulumi-lang-java=\"`appSettings`\"\u003e`app_settings`\u003c/span\u003e. Refer to the [Azure docs](https://learn.microsoft.com/en-us/azure/azure-functions/functions-deployment-technologies) for further details.\n"}},"type":"object"}},"azure:appservice/windowsFunctionAppSlot:WindowsFunctionAppSlot":{"description":"Manages a Windows Function App Slot.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleAccount = new azure.storage.Account(\"example\", {\n    name: \"windowsfunctionappsa\",\n    resourceGroupName: example.name,\n    location: example.location,\n    accountTier: \"Standard\",\n    accountReplicationType: \"LRS\",\n});\nconst exampleServicePlan = new azure.appservice.ServicePlan(\"example\", {\n    name: \"example-app-service-plan\",\n    resourceGroupName: example.name,\n    location: example.location,\n    osType: \"Windows\",\n    skuName: \"Y1\",\n});\nconst exampleWindowsFunctionApp = new azure.appservice.WindowsFunctionApp(\"example\", {\n    name: \"example-windows-function-app\",\n    resourceGroupName: example.name,\n    location: example.location,\n    storageAccountName: exampleAccount.name,\n    servicePlanId: exampleServicePlan.id,\n    siteConfig: {},\n});\nconst exampleWindowsFunctionAppSlot = new azure.appservice.WindowsFunctionAppSlot(\"example\", {\n    name: \"example-slot\",\n    functionAppId: exampleWindowsFunctionApp.id,\n    storageAccountName: exampleAccount.name,\n    siteConfig: {},\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_account = azure.storage.Account(\"example\",\n    name=\"windowsfunctionappsa\",\n    resource_group_name=example.name,\n    location=example.location,\n    account_tier=\"Standard\",\n    account_replication_type=\"LRS\")\nexample_service_plan = azure.appservice.ServicePlan(\"example\",\n    name=\"example-app-service-plan\",\n    resource_group_name=example.name,\n    location=example.location,\n    os_type=\"Windows\",\n    sku_name=\"Y1\")\nexample_windows_function_app = azure.appservice.WindowsFunctionApp(\"example\",\n    name=\"example-windows-function-app\",\n    resource_group_name=example.name,\n    location=example.location,\n    storage_account_name=example_account.name,\n    service_plan_id=example_service_plan.id,\n    site_config={})\nexample_windows_function_app_slot = azure.appservice.WindowsFunctionAppSlot(\"example\",\n    name=\"example-slot\",\n    function_app_id=example_windows_function_app.id,\n    storage_account_name=example_account.name,\n    site_config={})\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleAccount = new Azure.Storage.Account(\"example\", new()\n    {\n        Name = \"windowsfunctionappsa\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        AccountTier = \"Standard\",\n        AccountReplicationType = \"LRS\",\n    });\n\n    var exampleServicePlan = new Azure.AppService.ServicePlan(\"example\", new()\n    {\n        Name = \"example-app-service-plan\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        OsType = \"Windows\",\n        SkuName = \"Y1\",\n    });\n\n    var exampleWindowsFunctionApp = new Azure.AppService.WindowsFunctionApp(\"example\", new()\n    {\n        Name = \"example-windows-function-app\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        StorageAccountName = exampleAccount.Name,\n        ServicePlanId = exampleServicePlan.Id,\n        SiteConfig = null,\n    });\n\n    var exampleWindowsFunctionAppSlot = new Azure.AppService.WindowsFunctionAppSlot(\"example\", new()\n    {\n        Name = \"example-slot\",\n        FunctionAppId = exampleWindowsFunctionApp.Id,\n        StorageAccountName = exampleAccount.Name,\n        SiteConfig = null,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/appservice\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := storage.NewAccount(ctx, \"example\", \u0026storage.AccountArgs{\n\t\t\tName:                   pulumi.String(\"windowsfunctionappsa\"),\n\t\t\tResourceGroupName:      example.Name,\n\t\t\tLocation:               example.Location,\n\t\t\tAccountTier:            pulumi.String(\"Standard\"),\n\t\t\tAccountReplicationType: pulumi.String(\"LRS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleServicePlan, err := appservice.NewServicePlan(ctx, \"example\", \u0026appservice.ServicePlanArgs{\n\t\t\tName:              pulumi.String(\"example-app-service-plan\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tOsType:            pulumi.String(\"Windows\"),\n\t\t\tSkuName:           pulumi.String(\"Y1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleWindowsFunctionApp, err := appservice.NewWindowsFunctionApp(ctx, \"example\", \u0026appservice.WindowsFunctionAppArgs{\n\t\t\tName:               pulumi.String(\"example-windows-function-app\"),\n\t\t\tResourceGroupName:  example.Name,\n\t\t\tLocation:           example.Location,\n\t\t\tStorageAccountName: exampleAccount.Name,\n\t\t\tServicePlanId:      exampleServicePlan.ID(),\n\t\t\tSiteConfig:         \u0026appservice.WindowsFunctionAppSiteConfigArgs{},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = appservice.NewWindowsFunctionAppSlot(ctx, \"example\", \u0026appservice.WindowsFunctionAppSlotArgs{\n\t\t\tName:               pulumi.String(\"example-slot\"),\n\t\t\tFunctionAppId:      exampleWindowsFunctionApp.ID(),\n\t\t\tStorageAccountName: exampleAccount.Name,\n\t\t\tSiteConfig:         \u0026appservice.WindowsFunctionAppSlotSiteConfigArgs{},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.storage.Account;\nimport com.pulumi.azure.storage.AccountArgs;\nimport com.pulumi.azure.appservice.ServicePlan;\nimport com.pulumi.azure.appservice.ServicePlanArgs;\nimport com.pulumi.azure.appservice.WindowsFunctionApp;\nimport com.pulumi.azure.appservice.WindowsFunctionAppArgs;\nimport com.pulumi.azure.appservice.inputs.WindowsFunctionAppSiteConfigArgs;\nimport com.pulumi.azure.appservice.WindowsFunctionAppSlot;\nimport com.pulumi.azure.appservice.WindowsFunctionAppSlotArgs;\nimport com.pulumi.azure.appservice.inputs.WindowsFunctionAppSlotSiteConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"windowsfunctionappsa\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .accountTier(\"Standard\")\n            .accountReplicationType(\"LRS\")\n            .build());\n\n        var exampleServicePlan = new ServicePlan(\"exampleServicePlan\", ServicePlanArgs.builder()\n            .name(\"example-app-service-plan\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .osType(\"Windows\")\n            .skuName(\"Y1\")\n            .build());\n\n        var exampleWindowsFunctionApp = new WindowsFunctionApp(\"exampleWindowsFunctionApp\", WindowsFunctionAppArgs.builder()\n            .name(\"example-windows-function-app\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .storageAccountName(exampleAccount.name())\n            .servicePlanId(exampleServicePlan.id())\n            .siteConfig(WindowsFunctionAppSiteConfigArgs.builder()\n                .build())\n            .build());\n\n        var exampleWindowsFunctionAppSlot = new WindowsFunctionAppSlot(\"exampleWindowsFunctionAppSlot\", WindowsFunctionAppSlotArgs.builder()\n            .name(\"example-slot\")\n            .functionAppId(exampleWindowsFunctionApp.id())\n            .storageAccountName(exampleAccount.name())\n            .siteConfig(WindowsFunctionAppSlotSiteConfigArgs.builder()\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleAccount:\n    type: azure:storage:Account\n    name: example\n    properties:\n      name: windowsfunctionappsa\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      accountTier: Standard\n      accountReplicationType: LRS\n  exampleServicePlan:\n    type: azure:appservice:ServicePlan\n    name: example\n    properties:\n      name: example-app-service-plan\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      osType: Windows\n      skuName: Y1\n  exampleWindowsFunctionApp:\n    type: azure:appservice:WindowsFunctionApp\n    name: example\n    properties:\n      name: example-windows-function-app\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      storageAccountName: ${exampleAccount.name}\n      servicePlanId: ${exampleServicePlan.id}\n      siteConfig: {}\n  exampleWindowsFunctionAppSlot:\n    type: azure:appservice:WindowsFunctionAppSlot\n    name: example\n    properties:\n      name: example-slot\n      functionAppId: ${exampleWindowsFunctionApp.id}\n      storageAccountName: ${exampleAccount.name}\n      siteConfig: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Web` - 2023-12-01, 2023-01-01\n\n## Import\n\nA Windows Function App Slot can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:appservice/windowsFunctionAppSlot:WindowsFunctionAppSlot example \"/subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/resGroup1/providers/Microsoft.Web/sites/site1/slots/slot1\"\n```\n\n","properties":{"appSettings":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of key-value pairs for [App Settings](https://docs.microsoft.com/azure/azure-functions/functions-app-settings) and custom values.\n"},"authSettings":{"$ref":"#/types/azure:appservice/WindowsFunctionAppSlotAuthSettings:WindowsFunctionAppSlotAuthSettings","description":"an \u003cspan pulumi-lang-nodejs=\"`authSettings`\" pulumi-lang-dotnet=\"`AuthSettings`\" pulumi-lang-go=\"`authSettings`\" pulumi-lang-python=\"`auth_settings`\" pulumi-lang-yaml=\"`authSettings`\" pulumi-lang-java=\"`authSettings`\"\u003e`auth_settings`\u003c/span\u003e block as detailed below.\n"},"authSettingsV2":{"$ref":"#/types/azure:appservice/WindowsFunctionAppSlotAuthSettingsV2:WindowsFunctionAppSlotAuthSettingsV2","description":"an \u003cspan pulumi-lang-nodejs=\"`authSettingsV2`\" pulumi-lang-dotnet=\"`AuthSettingsV2`\" pulumi-lang-go=\"`authSettingsV2`\" pulumi-lang-python=\"`auth_settings_v2`\" pulumi-lang-yaml=\"`authSettingsV2`\" pulumi-lang-java=\"`authSettingsV2`\"\u003e`auth_settings_v2`\u003c/span\u003e block as detailed below.\n"},"backup":{"$ref":"#/types/azure:appservice/WindowsFunctionAppSlotBackup:WindowsFunctionAppSlotBackup","description":"a \u003cspan pulumi-lang-nodejs=\"`backup`\" pulumi-lang-dotnet=\"`Backup`\" pulumi-lang-go=\"`backup`\" pulumi-lang-python=\"`backup`\" pulumi-lang-yaml=\"`backup`\" pulumi-lang-java=\"`backup`\"\u003e`backup`\u003c/span\u003e block as detailed below.\n"},"builtinLoggingEnabled":{"type":"boolean","description":"Should built-in logging be enabled. Configures `AzureWebJobsDashboard` app setting based on the configured storage setting. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"clientCertificateEnabled":{"type":"boolean","description":"Should the Function App Slot use Client Certificates.\n"},"clientCertificateExclusionPaths":{"type":"string","description":"Paths to exclude when using client certificates, separated by ;\n"},"clientCertificateMode":{"type":"string","description":"The mode of the Function App Slot's client certificates requirement for incoming requests. Possible values are `Required`, `Optional`, and `OptionalInteractiveUser`. Defaults to `Optional`.\n"},"connectionStrings":{"type":"array","items":{"$ref":"#/types/azure:appservice/WindowsFunctionAppSlotConnectionString:WindowsFunctionAppSlotConnectionString"},"description":"a \u003cspan pulumi-lang-nodejs=\"`connectionString`\" pulumi-lang-dotnet=\"`ConnectionString`\" pulumi-lang-go=\"`connectionString`\" pulumi-lang-python=\"`connection_string`\" pulumi-lang-yaml=\"`connectionString`\" pulumi-lang-java=\"`connectionString`\"\u003e`connection_string`\u003c/span\u003e block as detailed below.\n"},"contentShareForceDisabled":{"type":"boolean","description":"Force disable the content share settings.\n"},"customDomainVerificationId":{"type":"string","description":"The identifier used by App Service to perform domain ownership verification via DNS TXT record.\n","secret":true},"dailyMemoryTimeQuota":{"type":"integer","description":"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. Defaults to \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"defaultHostname":{"type":"string","description":"The default hostname of the Windows Function App Slot.\n"},"enabled":{"type":"boolean","description":"Is the Windows Function App Slot enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"ftpPublishBasicAuthenticationEnabled":{"type":"boolean","description":"Should the default FTP Basic Authentication publishing profile be enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"functionAppId":{"type":"string","description":"The name of the Windows Function App this Slot is a member of. Changing this forces a new resource to be created.\n"},"functionsExtensionVersion":{"type":"string","description":"The runtime version associated with the Function App Slot. Defaults to `~4`.\n"},"hostingEnvironmentId":{"type":"string","description":"The ID of the App Service Environment used by Function App Slot.\n"},"httpsOnly":{"type":"boolean","description":"Can the Function App Slot only be accessed via HTTPS?. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"identity":{"$ref":"#/types/azure:appservice/WindowsFunctionAppSlotIdentity:WindowsFunctionAppSlotIdentity","description":"an \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as detailed below.\n"},"keyVaultReferenceIdentityId":{"type":"string","description":"The User Assigned Identity ID used for accessing KeyVault secrets. The identity must be assigned to the application in the \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block. [For more information see - Access vaults with a user-assigned identity](https://docs.microsoft.com/azure/app-service/app-service-key-vault-references#access-vaults-with-a-user-assigned-identity)\n"},"kind":{"type":"string","description":"The Kind value for this Windows Function App Slot.\n"},"name":{"type":"string","description":"Specifies the name of the Windows Function App Slot. Changing this forces a new resource to be created.\n"},"outboundIpAddressLists":{"type":"array","items":{"type":"string"},"description":"A list of outbound IP addresses. For example `[\"52.23.25.3\", \"52.143.43.12\"]`.\n"},"outboundIpAddresses":{"type":"string","description":"A comma separated list of outbound IP addresses as a string. For example `52.23.25.3,52.143.43.12`.\n"},"possibleOutboundIpAddressLists":{"type":"array","items":{"type":"string"},"description":"A list of possible outbound IP addresses, not all of which are necessarily in use. This is a superset of \u003cspan pulumi-lang-nodejs=\"`outboundIpAddressList`\" pulumi-lang-dotnet=\"`OutboundIpAddressList`\" pulumi-lang-go=\"`outboundIpAddressList`\" pulumi-lang-python=\"`outbound_ip_address_list`\" pulumi-lang-yaml=\"`outboundIpAddressList`\" pulumi-lang-java=\"`outboundIpAddressList`\"\u003e`outbound_ip_address_list`\u003c/span\u003e. For example `[\"52.23.25.3\", \"52.143.43.12\"]`.\n"},"possibleOutboundIpAddresses":{"type":"string","description":"A comma separated list of possible outbound IP addresses as a string. For example `52.23.25.3,52.143.43.12,52.143.43.17`. This is a superset of \u003cspan pulumi-lang-nodejs=\"`outboundIpAddresses`\" pulumi-lang-dotnet=\"`OutboundIpAddresses`\" pulumi-lang-go=\"`outboundIpAddresses`\" pulumi-lang-python=\"`outbound_ip_addresses`\" pulumi-lang-yaml=\"`outboundIpAddresses`\" pulumi-lang-java=\"`outboundIpAddresses`\"\u003e`outbound_ip_addresses`\u003c/span\u003e. For example `[\"52.23.25.3\", \"52.143.43.12\",\"52.143.43.17\"]`.\n"},"publicNetworkAccessEnabled":{"type":"boolean","description":"Should public network access be enabled for the Function App. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"servicePlanId":{"type":"string","description":"The ID of the Service Plan in which to run this slot. If not specified the same Service Plan as the Windows Function App will be used.\n"},"siteConfig":{"$ref":"#/types/azure:appservice/WindowsFunctionAppSlotSiteConfig:WindowsFunctionAppSlotSiteConfig","description":"a \u003cspan pulumi-lang-nodejs=\"`siteConfig`\" pulumi-lang-dotnet=\"`SiteConfig`\" pulumi-lang-go=\"`siteConfig`\" pulumi-lang-python=\"`site_config`\" pulumi-lang-yaml=\"`siteConfig`\" pulumi-lang-java=\"`siteConfig`\"\u003e`site_config`\u003c/span\u003e block as detailed below.\n"},"siteCredentials":{"type":"array","items":{"$ref":"#/types/azure:appservice/WindowsFunctionAppSlotSiteCredential:WindowsFunctionAppSlotSiteCredential"},"description":"A \u003cspan pulumi-lang-nodejs=\"`siteCredential`\" pulumi-lang-dotnet=\"`SiteCredential`\" pulumi-lang-go=\"`siteCredential`\" pulumi-lang-python=\"`site_credential`\" pulumi-lang-yaml=\"`siteCredential`\" pulumi-lang-java=\"`siteCredential`\"\u003e`site_credential`\u003c/span\u003e block as defined below.\n","secret":true},"storageAccountAccessKey":{"type":"string","description":"The access key which will be used to access the storage account for the Function App Slot.\n","secret":true},"storageAccountName":{"type":"string","description":"The backend storage account name which will be used by this Function App Slot.\n"},"storageAccounts":{"type":"array","items":{"$ref":"#/types/azure:appservice/WindowsFunctionAppSlotStorageAccount:WindowsFunctionAppSlotStorageAccount"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`storageAccount`\" pulumi-lang-dotnet=\"`StorageAccount`\" pulumi-lang-go=\"`storageAccount`\" pulumi-lang-python=\"`storage_account`\" pulumi-lang-yaml=\"`storageAccount`\" pulumi-lang-java=\"`storageAccount`\"\u003e`storage_account`\u003c/span\u003e blocks as defined below.\n"},"storageKeyVaultSecretId":{"type":"string","description":"The Key Vault Secret ID, optionally including version, that contains the Connection String to connect to the storage account for this Function App Slot.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`storageKeyVaultSecretId`\" pulumi-lang-dotnet=\"`StorageKeyVaultSecretId`\" pulumi-lang-go=\"`storageKeyVaultSecretId`\" pulumi-lang-python=\"`storage_key_vault_secret_id`\" pulumi-lang-yaml=\"`storageKeyVaultSecretId`\" pulumi-lang-java=\"`storageKeyVaultSecretId`\"\u003e`storage_key_vault_secret_id`\u003c/span\u003e cannot be used with \u003cspan pulumi-lang-nodejs=\"`storageAccountName`\" pulumi-lang-dotnet=\"`StorageAccountName`\" pulumi-lang-go=\"`storageAccountName`\" pulumi-lang-python=\"`storage_account_name`\" pulumi-lang-yaml=\"`storageAccountName`\" pulumi-lang-java=\"`storageAccountName`\"\u003e`storage_account_name`\u003c/span\u003e.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`storageKeyVaultSecretId`\" pulumi-lang-dotnet=\"`StorageKeyVaultSecretId`\" pulumi-lang-go=\"`storageKeyVaultSecretId`\" pulumi-lang-python=\"`storage_key_vault_secret_id`\" pulumi-lang-yaml=\"`storageKeyVaultSecretId`\" pulumi-lang-java=\"`storageKeyVaultSecretId`\"\u003e`storage_key_vault_secret_id`\u003c/span\u003e used without a version will use the latest version of the secret, however, the service can take up to 24h to pick up a rotation of the latest version. See the [official docs](https://docs.microsoft.com/azure/app-service/app-service-key-vault-references#rotation) for more information.\n"},"storageUsesManagedIdentity":{"type":"boolean","description":"Should the Function App Slot use its Managed Identity to access storage.\n\n\u003e **Note:** One of \u003cspan pulumi-lang-nodejs=\"`storageAccountAccessKey`\" pulumi-lang-dotnet=\"`StorageAccountAccessKey`\" pulumi-lang-go=\"`storageAccountAccessKey`\" pulumi-lang-python=\"`storage_account_access_key`\" pulumi-lang-yaml=\"`storageAccountAccessKey`\" pulumi-lang-java=\"`storageAccountAccessKey`\"\u003e`storage_account_access_key`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`storageUsesManagedIdentity`\" pulumi-lang-dotnet=\"`StorageUsesManagedIdentity`\" pulumi-lang-go=\"`storageUsesManagedIdentity`\" pulumi-lang-python=\"`storage_uses_managed_identity`\" pulumi-lang-yaml=\"`storageUsesManagedIdentity`\" pulumi-lang-java=\"`storageUsesManagedIdentity`\"\u003e`storage_uses_managed_identity`\u003c/span\u003e must be specified when using \u003cspan pulumi-lang-nodejs=\"`storageAccountName`\" pulumi-lang-dotnet=\"`StorageAccountName`\" pulumi-lang-go=\"`storageAccountName`\" pulumi-lang-python=\"`storage_account_name`\" pulumi-lang-yaml=\"`storageAccountName`\" pulumi-lang-java=\"`storageAccountName`\"\u003e`storage_account_name`\u003c/span\u003e.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Windows Function App Slot.\n"},"virtualNetworkBackupRestoreEnabled":{"type":"boolean","description":"Whether backup and restore operations over the linked virtual network are enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"virtualNetworkSubnetId":{"type":"string","description":"The subnet id which will be used by this Function App Slot for [regional virtual network integration](https://docs.microsoft.com/en-us/azure/app-service/overview-vnet-integration#regional-virtual-network-integration).\n\n\u003e **Note:** The AzureRM Terraform provider provides regional virtual network integration via the standalone resource\u003cspan pulumi-lang-nodejs=\" appServiceVirtualNetworkSwiftConnection \" pulumi-lang-dotnet=\" AppServiceVirtualNetworkSwiftConnection \" pulumi-lang-go=\" appServiceVirtualNetworkSwiftConnection \" pulumi-lang-python=\" app_service_virtual_network_swift_connection \" pulumi-lang-yaml=\" appServiceVirtualNetworkSwiftConnection \" pulumi-lang-java=\" appServiceVirtualNetworkSwiftConnection \"\u003e app_service_virtual_network_swift_connection \u003c/span\u003eand in-line within this resource using the \u003cspan pulumi-lang-nodejs=\"`virtualNetworkSubnetId`\" pulumi-lang-dotnet=\"`VirtualNetworkSubnetId`\" pulumi-lang-go=\"`virtualNetworkSubnetId`\" pulumi-lang-python=\"`virtual_network_subnet_id`\" pulumi-lang-yaml=\"`virtualNetworkSubnetId`\" pulumi-lang-java=\"`virtualNetworkSubnetId`\"\u003e`virtual_network_subnet_id`\u003c/span\u003e property. You cannot use both methods simultaneously. If the virtual network is set via the resource \u003cspan pulumi-lang-nodejs=\"`appServiceVirtualNetworkSwiftConnection`\" pulumi-lang-dotnet=\"`AppServiceVirtualNetworkSwiftConnection`\" pulumi-lang-go=\"`appServiceVirtualNetworkSwiftConnection`\" pulumi-lang-python=\"`app_service_virtual_network_swift_connection`\" pulumi-lang-yaml=\"`appServiceVirtualNetworkSwiftConnection`\" pulumi-lang-java=\"`appServiceVirtualNetworkSwiftConnection`\"\u003e`app_service_virtual_network_swift_connection`\u003c/span\u003e then \u003cspan pulumi-lang-nodejs=\"`ignoreChanges`\" pulumi-lang-dotnet=\"`IgnoreChanges`\" pulumi-lang-go=\"`ignoreChanges`\" pulumi-lang-python=\"`ignore_changes`\" pulumi-lang-yaml=\"`ignoreChanges`\" pulumi-lang-java=\"`ignoreChanges`\"\u003e`ignore_changes`\u003c/span\u003e should be used in the function app slot configuration.\n\n\u003e **Note:** Assigning the \u003cspan pulumi-lang-nodejs=\"`virtualNetworkSubnetId`\" pulumi-lang-dotnet=\"`VirtualNetworkSubnetId`\" pulumi-lang-go=\"`virtualNetworkSubnetId`\" pulumi-lang-python=\"`virtual_network_subnet_id`\" pulumi-lang-yaml=\"`virtualNetworkSubnetId`\" pulumi-lang-java=\"`virtualNetworkSubnetId`\"\u003e`virtual_network_subnet_id`\u003c/span\u003e property requires [RBAC permissions on the subnet](https://docs.microsoft.com/en-us/azure/app-service/overview-vnet-integration#permissions)\n"},"vnetImagePullEnabled":{"type":"boolean","description":"Specifies whether traffic for the image pull should be routed over virtual network. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** The feature can also be enabled via the app setting `WEBSITE_PULL_IMAGE_OVER_VNET`. The Setting is enabled by default for app running in the App Service Environment.\n"},"webdeployPublishBasicAuthenticationEnabled":{"type":"boolean","description":"Should the default WebDeploy Basic Authentication publishing credentials enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"}},"required":["customDomainVerificationId","defaultHostname","functionAppId","hostingEnvironmentId","keyVaultReferenceIdentityId","kind","name","outboundIpAddressLists","outboundIpAddresses","possibleOutboundIpAddressLists","possibleOutboundIpAddresses","siteConfig","siteCredentials"],"inputProperties":{"appSettings":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of key-value pairs for [App Settings](https://docs.microsoft.com/azure/azure-functions/functions-app-settings) and custom values.\n"},"authSettings":{"$ref":"#/types/azure:appservice/WindowsFunctionAppSlotAuthSettings:WindowsFunctionAppSlotAuthSettings","description":"an \u003cspan pulumi-lang-nodejs=\"`authSettings`\" pulumi-lang-dotnet=\"`AuthSettings`\" pulumi-lang-go=\"`authSettings`\" pulumi-lang-python=\"`auth_settings`\" pulumi-lang-yaml=\"`authSettings`\" pulumi-lang-java=\"`authSettings`\"\u003e`auth_settings`\u003c/span\u003e block as detailed below.\n"},"authSettingsV2":{"$ref":"#/types/azure:appservice/WindowsFunctionAppSlotAuthSettingsV2:WindowsFunctionAppSlotAuthSettingsV2","description":"an \u003cspan pulumi-lang-nodejs=\"`authSettingsV2`\" pulumi-lang-dotnet=\"`AuthSettingsV2`\" pulumi-lang-go=\"`authSettingsV2`\" pulumi-lang-python=\"`auth_settings_v2`\" pulumi-lang-yaml=\"`authSettingsV2`\" pulumi-lang-java=\"`authSettingsV2`\"\u003e`auth_settings_v2`\u003c/span\u003e block as detailed below.\n"},"backup":{"$ref":"#/types/azure:appservice/WindowsFunctionAppSlotBackup:WindowsFunctionAppSlotBackup","description":"a \u003cspan pulumi-lang-nodejs=\"`backup`\" pulumi-lang-dotnet=\"`Backup`\" pulumi-lang-go=\"`backup`\" pulumi-lang-python=\"`backup`\" pulumi-lang-yaml=\"`backup`\" pulumi-lang-java=\"`backup`\"\u003e`backup`\u003c/span\u003e block as detailed below.\n"},"builtinLoggingEnabled":{"type":"boolean","description":"Should built-in logging be enabled. Configures `AzureWebJobsDashboard` app setting based on the configured storage setting. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"clientCertificateEnabled":{"type":"boolean","description":"Should the Function App Slot use Client Certificates.\n"},"clientCertificateExclusionPaths":{"type":"string","description":"Paths to exclude when using client certificates, separated by ;\n"},"clientCertificateMode":{"type":"string","description":"The mode of the Function App Slot's client certificates requirement for incoming requests. Possible values are `Required`, `Optional`, and `OptionalInteractiveUser`. Defaults to `Optional`.\n"},"connectionStrings":{"type":"array","items":{"$ref":"#/types/azure:appservice/WindowsFunctionAppSlotConnectionString:WindowsFunctionAppSlotConnectionString"},"description":"a \u003cspan pulumi-lang-nodejs=\"`connectionString`\" pulumi-lang-dotnet=\"`ConnectionString`\" pulumi-lang-go=\"`connectionString`\" pulumi-lang-python=\"`connection_string`\" pulumi-lang-yaml=\"`connectionString`\" pulumi-lang-java=\"`connectionString`\"\u003e`connection_string`\u003c/span\u003e block as detailed below.\n"},"contentShareForceDisabled":{"type":"boolean","description":"Force disable the content share settings.\n"},"dailyMemoryTimeQuota":{"type":"integer","description":"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. Defaults to \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"enabled":{"type":"boolean","description":"Is the Windows Function App Slot enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"ftpPublishBasicAuthenticationEnabled":{"type":"boolean","description":"Should the default FTP Basic Authentication publishing profile be enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"functionAppId":{"type":"string","description":"The name of the Windows Function App this Slot is a member of. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"functionsExtensionVersion":{"type":"string","description":"The runtime version associated with the Function App Slot. Defaults to `~4`.\n"},"httpsOnly":{"type":"boolean","description":"Can the Function App Slot only be accessed via HTTPS?. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"identity":{"$ref":"#/types/azure:appservice/WindowsFunctionAppSlotIdentity:WindowsFunctionAppSlotIdentity","description":"an \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as detailed below.\n"},"keyVaultReferenceIdentityId":{"type":"string","description":"The User Assigned Identity ID used for accessing KeyVault secrets. The identity must be assigned to the application in the \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block. [For more information see - Access vaults with a user-assigned identity](https://docs.microsoft.com/azure/app-service/app-service-key-vault-references#access-vaults-with-a-user-assigned-identity)\n"},"name":{"type":"string","description":"Specifies the name of the Windows Function App Slot. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"publicNetworkAccessEnabled":{"type":"boolean","description":"Should public network access be enabled for the Function App. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"servicePlanId":{"type":"string","description":"The ID of the Service Plan in which to run this slot. If not specified the same Service Plan as the Windows Function App will be used.\n"},"siteConfig":{"$ref":"#/types/azure:appservice/WindowsFunctionAppSlotSiteConfig:WindowsFunctionAppSlotSiteConfig","description":"a \u003cspan pulumi-lang-nodejs=\"`siteConfig`\" pulumi-lang-dotnet=\"`SiteConfig`\" pulumi-lang-go=\"`siteConfig`\" pulumi-lang-python=\"`site_config`\" pulumi-lang-yaml=\"`siteConfig`\" pulumi-lang-java=\"`siteConfig`\"\u003e`site_config`\u003c/span\u003e block as detailed below.\n"},"storageAccountAccessKey":{"type":"string","description":"The access key which will be used to access the storage account for the Function App Slot.\n","secret":true},"storageAccountName":{"type":"string","description":"The backend storage account name which will be used by this Function App Slot.\n"},"storageAccounts":{"type":"array","items":{"$ref":"#/types/azure:appservice/WindowsFunctionAppSlotStorageAccount:WindowsFunctionAppSlotStorageAccount"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`storageAccount`\" pulumi-lang-dotnet=\"`StorageAccount`\" pulumi-lang-go=\"`storageAccount`\" pulumi-lang-python=\"`storage_account`\" pulumi-lang-yaml=\"`storageAccount`\" pulumi-lang-java=\"`storageAccount`\"\u003e`storage_account`\u003c/span\u003e blocks as defined below.\n"},"storageKeyVaultSecretId":{"type":"string","description":"The Key Vault Secret ID, optionally including version, that contains the Connection String to connect to the storage account for this Function App Slot.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`storageKeyVaultSecretId`\" pulumi-lang-dotnet=\"`StorageKeyVaultSecretId`\" pulumi-lang-go=\"`storageKeyVaultSecretId`\" pulumi-lang-python=\"`storage_key_vault_secret_id`\" pulumi-lang-yaml=\"`storageKeyVaultSecretId`\" pulumi-lang-java=\"`storageKeyVaultSecretId`\"\u003e`storage_key_vault_secret_id`\u003c/span\u003e cannot be used with \u003cspan pulumi-lang-nodejs=\"`storageAccountName`\" pulumi-lang-dotnet=\"`StorageAccountName`\" pulumi-lang-go=\"`storageAccountName`\" pulumi-lang-python=\"`storage_account_name`\" pulumi-lang-yaml=\"`storageAccountName`\" pulumi-lang-java=\"`storageAccountName`\"\u003e`storage_account_name`\u003c/span\u003e.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`storageKeyVaultSecretId`\" pulumi-lang-dotnet=\"`StorageKeyVaultSecretId`\" pulumi-lang-go=\"`storageKeyVaultSecretId`\" pulumi-lang-python=\"`storage_key_vault_secret_id`\" pulumi-lang-yaml=\"`storageKeyVaultSecretId`\" pulumi-lang-java=\"`storageKeyVaultSecretId`\"\u003e`storage_key_vault_secret_id`\u003c/span\u003e used without a version will use the latest version of the secret, however, the service can take up to 24h to pick up a rotation of the latest version. See the [official docs](https://docs.microsoft.com/azure/app-service/app-service-key-vault-references#rotation) for more information.\n"},"storageUsesManagedIdentity":{"type":"boolean","description":"Should the Function App Slot use its Managed Identity to access storage.\n\n\u003e **Note:** One of \u003cspan pulumi-lang-nodejs=\"`storageAccountAccessKey`\" pulumi-lang-dotnet=\"`StorageAccountAccessKey`\" pulumi-lang-go=\"`storageAccountAccessKey`\" pulumi-lang-python=\"`storage_account_access_key`\" pulumi-lang-yaml=\"`storageAccountAccessKey`\" pulumi-lang-java=\"`storageAccountAccessKey`\"\u003e`storage_account_access_key`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`storageUsesManagedIdentity`\" pulumi-lang-dotnet=\"`StorageUsesManagedIdentity`\" pulumi-lang-go=\"`storageUsesManagedIdentity`\" pulumi-lang-python=\"`storage_uses_managed_identity`\" pulumi-lang-yaml=\"`storageUsesManagedIdentity`\" pulumi-lang-java=\"`storageUsesManagedIdentity`\"\u003e`storage_uses_managed_identity`\u003c/span\u003e must be specified when using \u003cspan pulumi-lang-nodejs=\"`storageAccountName`\" pulumi-lang-dotnet=\"`StorageAccountName`\" pulumi-lang-go=\"`storageAccountName`\" pulumi-lang-python=\"`storage_account_name`\" pulumi-lang-yaml=\"`storageAccountName`\" pulumi-lang-java=\"`storageAccountName`\"\u003e`storage_account_name`\u003c/span\u003e.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Windows Function App Slot.\n"},"virtualNetworkBackupRestoreEnabled":{"type":"boolean","description":"Whether backup and restore operations over the linked virtual network are enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"virtualNetworkSubnetId":{"type":"string","description":"The subnet id which will be used by this Function App Slot for [regional virtual network integration](https://docs.microsoft.com/en-us/azure/app-service/overview-vnet-integration#regional-virtual-network-integration).\n\n\u003e **Note:** The AzureRM Terraform provider provides regional virtual network integration via the standalone resource\u003cspan pulumi-lang-nodejs=\" appServiceVirtualNetworkSwiftConnection \" pulumi-lang-dotnet=\" AppServiceVirtualNetworkSwiftConnection \" pulumi-lang-go=\" appServiceVirtualNetworkSwiftConnection \" pulumi-lang-python=\" app_service_virtual_network_swift_connection \" pulumi-lang-yaml=\" appServiceVirtualNetworkSwiftConnection \" pulumi-lang-java=\" appServiceVirtualNetworkSwiftConnection \"\u003e app_service_virtual_network_swift_connection \u003c/span\u003eand in-line within this resource using the \u003cspan pulumi-lang-nodejs=\"`virtualNetworkSubnetId`\" pulumi-lang-dotnet=\"`VirtualNetworkSubnetId`\" pulumi-lang-go=\"`virtualNetworkSubnetId`\" pulumi-lang-python=\"`virtual_network_subnet_id`\" pulumi-lang-yaml=\"`virtualNetworkSubnetId`\" pulumi-lang-java=\"`virtualNetworkSubnetId`\"\u003e`virtual_network_subnet_id`\u003c/span\u003e property. You cannot use both methods simultaneously. If the virtual network is set via the resource \u003cspan pulumi-lang-nodejs=\"`appServiceVirtualNetworkSwiftConnection`\" pulumi-lang-dotnet=\"`AppServiceVirtualNetworkSwiftConnection`\" pulumi-lang-go=\"`appServiceVirtualNetworkSwiftConnection`\" pulumi-lang-python=\"`app_service_virtual_network_swift_connection`\" pulumi-lang-yaml=\"`appServiceVirtualNetworkSwiftConnection`\" pulumi-lang-java=\"`appServiceVirtualNetworkSwiftConnection`\"\u003e`app_service_virtual_network_swift_connection`\u003c/span\u003e then \u003cspan pulumi-lang-nodejs=\"`ignoreChanges`\" pulumi-lang-dotnet=\"`IgnoreChanges`\" pulumi-lang-go=\"`ignoreChanges`\" pulumi-lang-python=\"`ignore_changes`\" pulumi-lang-yaml=\"`ignoreChanges`\" pulumi-lang-java=\"`ignoreChanges`\"\u003e`ignore_changes`\u003c/span\u003e should be used in the function app slot configuration.\n\n\u003e **Note:** Assigning the \u003cspan pulumi-lang-nodejs=\"`virtualNetworkSubnetId`\" pulumi-lang-dotnet=\"`VirtualNetworkSubnetId`\" pulumi-lang-go=\"`virtualNetworkSubnetId`\" pulumi-lang-python=\"`virtual_network_subnet_id`\" pulumi-lang-yaml=\"`virtualNetworkSubnetId`\" pulumi-lang-java=\"`virtualNetworkSubnetId`\"\u003e`virtual_network_subnet_id`\u003c/span\u003e property requires [RBAC permissions on the subnet](https://docs.microsoft.com/en-us/azure/app-service/overview-vnet-integration#permissions)\n"},"vnetImagePullEnabled":{"type":"boolean","description":"Specifies whether traffic for the image pull should be routed over virtual network. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** The feature can also be enabled via the app setting `WEBSITE_PULL_IMAGE_OVER_VNET`. The Setting is enabled by default for app running in the App Service Environment.\n"},"webdeployPublishBasicAuthenticationEnabled":{"type":"boolean","description":"Should the default WebDeploy Basic Authentication publishing credentials enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"}},"requiredInputs":["functionAppId","siteConfig"],"stateInputs":{"description":"Input properties used for looking up and filtering WindowsFunctionAppSlot resources.\n","properties":{"appSettings":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of key-value pairs for [App Settings](https://docs.microsoft.com/azure/azure-functions/functions-app-settings) and custom values.\n"},"authSettings":{"$ref":"#/types/azure:appservice/WindowsFunctionAppSlotAuthSettings:WindowsFunctionAppSlotAuthSettings","description":"an \u003cspan pulumi-lang-nodejs=\"`authSettings`\" pulumi-lang-dotnet=\"`AuthSettings`\" pulumi-lang-go=\"`authSettings`\" pulumi-lang-python=\"`auth_settings`\" pulumi-lang-yaml=\"`authSettings`\" pulumi-lang-java=\"`authSettings`\"\u003e`auth_settings`\u003c/span\u003e block as detailed below.\n"},"authSettingsV2":{"$ref":"#/types/azure:appservice/WindowsFunctionAppSlotAuthSettingsV2:WindowsFunctionAppSlotAuthSettingsV2","description":"an \u003cspan pulumi-lang-nodejs=\"`authSettingsV2`\" pulumi-lang-dotnet=\"`AuthSettingsV2`\" pulumi-lang-go=\"`authSettingsV2`\" pulumi-lang-python=\"`auth_settings_v2`\" pulumi-lang-yaml=\"`authSettingsV2`\" pulumi-lang-java=\"`authSettingsV2`\"\u003e`auth_settings_v2`\u003c/span\u003e block as detailed below.\n"},"backup":{"$ref":"#/types/azure:appservice/WindowsFunctionAppSlotBackup:WindowsFunctionAppSlotBackup","description":"a \u003cspan pulumi-lang-nodejs=\"`backup`\" pulumi-lang-dotnet=\"`Backup`\" pulumi-lang-go=\"`backup`\" pulumi-lang-python=\"`backup`\" pulumi-lang-yaml=\"`backup`\" pulumi-lang-java=\"`backup`\"\u003e`backup`\u003c/span\u003e block as detailed below.\n"},"builtinLoggingEnabled":{"type":"boolean","description":"Should built-in logging be enabled. Configures `AzureWebJobsDashboard` app setting based on the configured storage setting. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"clientCertificateEnabled":{"type":"boolean","description":"Should the Function App Slot use Client Certificates.\n"},"clientCertificateExclusionPaths":{"type":"string","description":"Paths to exclude when using client certificates, separated by ;\n"},"clientCertificateMode":{"type":"string","description":"The mode of the Function App Slot's client certificates requirement for incoming requests. Possible values are `Required`, `Optional`, and `OptionalInteractiveUser`. Defaults to `Optional`.\n"},"connectionStrings":{"type":"array","items":{"$ref":"#/types/azure:appservice/WindowsFunctionAppSlotConnectionString:WindowsFunctionAppSlotConnectionString"},"description":"a \u003cspan pulumi-lang-nodejs=\"`connectionString`\" pulumi-lang-dotnet=\"`ConnectionString`\" pulumi-lang-go=\"`connectionString`\" pulumi-lang-python=\"`connection_string`\" pulumi-lang-yaml=\"`connectionString`\" pulumi-lang-java=\"`connectionString`\"\u003e`connection_string`\u003c/span\u003e block as detailed below.\n"},"contentShareForceDisabled":{"type":"boolean","description":"Force disable the content share settings.\n"},"customDomainVerificationId":{"type":"string","description":"The identifier used by App Service to perform domain ownership verification via DNS TXT record.\n","secret":true},"dailyMemoryTimeQuota":{"type":"integer","description":"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. Defaults to \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"defaultHostname":{"type":"string","description":"The default hostname of the Windows Function App Slot.\n"},"enabled":{"type":"boolean","description":"Is the Windows Function App Slot enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"ftpPublishBasicAuthenticationEnabled":{"type":"boolean","description":"Should the default FTP Basic Authentication publishing profile be enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"functionAppId":{"type":"string","description":"The name of the Windows Function App this Slot is a member of. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"functionsExtensionVersion":{"type":"string","description":"The runtime version associated with the Function App Slot. Defaults to `~4`.\n"},"hostingEnvironmentId":{"type":"string","description":"The ID of the App Service Environment used by Function App Slot.\n"},"httpsOnly":{"type":"boolean","description":"Can the Function App Slot only be accessed via HTTPS?. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"identity":{"$ref":"#/types/azure:appservice/WindowsFunctionAppSlotIdentity:WindowsFunctionAppSlotIdentity","description":"an \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as detailed below.\n"},"keyVaultReferenceIdentityId":{"type":"string","description":"The User Assigned Identity ID used for accessing KeyVault secrets. The identity must be assigned to the application in the \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block. [For more information see - Access vaults with a user-assigned identity](https://docs.microsoft.com/azure/app-service/app-service-key-vault-references#access-vaults-with-a-user-assigned-identity)\n"},"kind":{"type":"string","description":"The Kind value for this Windows Function App Slot.\n"},"name":{"type":"string","description":"Specifies the name of the Windows Function App Slot. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"outboundIpAddressLists":{"type":"array","items":{"type":"string"},"description":"A list of outbound IP addresses. For example `[\"52.23.25.3\", \"52.143.43.12\"]`.\n"},"outboundIpAddresses":{"type":"string","description":"A comma separated list of outbound IP addresses as a string. For example `52.23.25.3,52.143.43.12`.\n"},"possibleOutboundIpAddressLists":{"type":"array","items":{"type":"string"},"description":"A list of possible outbound IP addresses, not all of which are necessarily in use. This is a superset of \u003cspan pulumi-lang-nodejs=\"`outboundIpAddressList`\" pulumi-lang-dotnet=\"`OutboundIpAddressList`\" pulumi-lang-go=\"`outboundIpAddressList`\" pulumi-lang-python=\"`outbound_ip_address_list`\" pulumi-lang-yaml=\"`outboundIpAddressList`\" pulumi-lang-java=\"`outboundIpAddressList`\"\u003e`outbound_ip_address_list`\u003c/span\u003e. For example `[\"52.23.25.3\", \"52.143.43.12\"]`.\n"},"possibleOutboundIpAddresses":{"type":"string","description":"A comma separated list of possible outbound IP addresses as a string. For example `52.23.25.3,52.143.43.12,52.143.43.17`. This is a superset of \u003cspan pulumi-lang-nodejs=\"`outboundIpAddresses`\" pulumi-lang-dotnet=\"`OutboundIpAddresses`\" pulumi-lang-go=\"`outboundIpAddresses`\" pulumi-lang-python=\"`outbound_ip_addresses`\" pulumi-lang-yaml=\"`outboundIpAddresses`\" pulumi-lang-java=\"`outboundIpAddresses`\"\u003e`outbound_ip_addresses`\u003c/span\u003e. For example `[\"52.23.25.3\", \"52.143.43.12\",\"52.143.43.17\"]`.\n"},"publicNetworkAccessEnabled":{"type":"boolean","description":"Should public network access be enabled for the Function App. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"servicePlanId":{"type":"string","description":"The ID of the Service Plan in which to run this slot. If not specified the same Service Plan as the Windows Function App will be used.\n"},"siteConfig":{"$ref":"#/types/azure:appservice/WindowsFunctionAppSlotSiteConfig:WindowsFunctionAppSlotSiteConfig","description":"a \u003cspan pulumi-lang-nodejs=\"`siteConfig`\" pulumi-lang-dotnet=\"`SiteConfig`\" pulumi-lang-go=\"`siteConfig`\" pulumi-lang-python=\"`site_config`\" pulumi-lang-yaml=\"`siteConfig`\" pulumi-lang-java=\"`siteConfig`\"\u003e`site_config`\u003c/span\u003e block as detailed below.\n"},"siteCredentials":{"type":"array","items":{"$ref":"#/types/azure:appservice/WindowsFunctionAppSlotSiteCredential:WindowsFunctionAppSlotSiteCredential"},"description":"A \u003cspan pulumi-lang-nodejs=\"`siteCredential`\" pulumi-lang-dotnet=\"`SiteCredential`\" pulumi-lang-go=\"`siteCredential`\" pulumi-lang-python=\"`site_credential`\" pulumi-lang-yaml=\"`siteCredential`\" pulumi-lang-java=\"`siteCredential`\"\u003e`site_credential`\u003c/span\u003e block as defined below.\n","secret":true},"storageAccountAccessKey":{"type":"string","description":"The access key which will be used to access the storage account for the Function App Slot.\n","secret":true},"storageAccountName":{"type":"string","description":"The backend storage account name which will be used by this Function App Slot.\n"},"storageAccounts":{"type":"array","items":{"$ref":"#/types/azure:appservice/WindowsFunctionAppSlotStorageAccount:WindowsFunctionAppSlotStorageAccount"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`storageAccount`\" pulumi-lang-dotnet=\"`StorageAccount`\" pulumi-lang-go=\"`storageAccount`\" pulumi-lang-python=\"`storage_account`\" pulumi-lang-yaml=\"`storageAccount`\" pulumi-lang-java=\"`storageAccount`\"\u003e`storage_account`\u003c/span\u003e blocks as defined below.\n"},"storageKeyVaultSecretId":{"type":"string","description":"The Key Vault Secret ID, optionally including version, that contains the Connection String to connect to the storage account for this Function App Slot.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`storageKeyVaultSecretId`\" pulumi-lang-dotnet=\"`StorageKeyVaultSecretId`\" pulumi-lang-go=\"`storageKeyVaultSecretId`\" pulumi-lang-python=\"`storage_key_vault_secret_id`\" pulumi-lang-yaml=\"`storageKeyVaultSecretId`\" pulumi-lang-java=\"`storageKeyVaultSecretId`\"\u003e`storage_key_vault_secret_id`\u003c/span\u003e cannot be used with \u003cspan pulumi-lang-nodejs=\"`storageAccountName`\" pulumi-lang-dotnet=\"`StorageAccountName`\" pulumi-lang-go=\"`storageAccountName`\" pulumi-lang-python=\"`storage_account_name`\" pulumi-lang-yaml=\"`storageAccountName`\" pulumi-lang-java=\"`storageAccountName`\"\u003e`storage_account_name`\u003c/span\u003e.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`storageKeyVaultSecretId`\" pulumi-lang-dotnet=\"`StorageKeyVaultSecretId`\" pulumi-lang-go=\"`storageKeyVaultSecretId`\" pulumi-lang-python=\"`storage_key_vault_secret_id`\" pulumi-lang-yaml=\"`storageKeyVaultSecretId`\" pulumi-lang-java=\"`storageKeyVaultSecretId`\"\u003e`storage_key_vault_secret_id`\u003c/span\u003e used without a version will use the latest version of the secret, however, the service can take up to 24h to pick up a rotation of the latest version. See the [official docs](https://docs.microsoft.com/azure/app-service/app-service-key-vault-references#rotation) for more information.\n"},"storageUsesManagedIdentity":{"type":"boolean","description":"Should the Function App Slot use its Managed Identity to access storage.\n\n\u003e **Note:** One of \u003cspan pulumi-lang-nodejs=\"`storageAccountAccessKey`\" pulumi-lang-dotnet=\"`StorageAccountAccessKey`\" pulumi-lang-go=\"`storageAccountAccessKey`\" pulumi-lang-python=\"`storage_account_access_key`\" pulumi-lang-yaml=\"`storageAccountAccessKey`\" pulumi-lang-java=\"`storageAccountAccessKey`\"\u003e`storage_account_access_key`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`storageUsesManagedIdentity`\" pulumi-lang-dotnet=\"`StorageUsesManagedIdentity`\" pulumi-lang-go=\"`storageUsesManagedIdentity`\" pulumi-lang-python=\"`storage_uses_managed_identity`\" pulumi-lang-yaml=\"`storageUsesManagedIdentity`\" pulumi-lang-java=\"`storageUsesManagedIdentity`\"\u003e`storage_uses_managed_identity`\u003c/span\u003e must be specified when using \u003cspan pulumi-lang-nodejs=\"`storageAccountName`\" pulumi-lang-dotnet=\"`StorageAccountName`\" pulumi-lang-go=\"`storageAccountName`\" pulumi-lang-python=\"`storage_account_name`\" pulumi-lang-yaml=\"`storageAccountName`\" pulumi-lang-java=\"`storageAccountName`\"\u003e`storage_account_name`\u003c/span\u003e.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Windows Function App Slot.\n"},"virtualNetworkBackupRestoreEnabled":{"type":"boolean","description":"Whether backup and restore operations over the linked virtual network are enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"virtualNetworkSubnetId":{"type":"string","description":"The subnet id which will be used by this Function App Slot for [regional virtual network integration](https://docs.microsoft.com/en-us/azure/app-service/overview-vnet-integration#regional-virtual-network-integration).\n\n\u003e **Note:** The AzureRM Terraform provider provides regional virtual network integration via the standalone resource\u003cspan pulumi-lang-nodejs=\" appServiceVirtualNetworkSwiftConnection \" pulumi-lang-dotnet=\" AppServiceVirtualNetworkSwiftConnection \" pulumi-lang-go=\" appServiceVirtualNetworkSwiftConnection \" pulumi-lang-python=\" app_service_virtual_network_swift_connection \" pulumi-lang-yaml=\" appServiceVirtualNetworkSwiftConnection \" pulumi-lang-java=\" appServiceVirtualNetworkSwiftConnection \"\u003e app_service_virtual_network_swift_connection \u003c/span\u003eand in-line within this resource using the \u003cspan pulumi-lang-nodejs=\"`virtualNetworkSubnetId`\" pulumi-lang-dotnet=\"`VirtualNetworkSubnetId`\" pulumi-lang-go=\"`virtualNetworkSubnetId`\" pulumi-lang-python=\"`virtual_network_subnet_id`\" pulumi-lang-yaml=\"`virtualNetworkSubnetId`\" pulumi-lang-java=\"`virtualNetworkSubnetId`\"\u003e`virtual_network_subnet_id`\u003c/span\u003e property. You cannot use both methods simultaneously. If the virtual network is set via the resource \u003cspan pulumi-lang-nodejs=\"`appServiceVirtualNetworkSwiftConnection`\" pulumi-lang-dotnet=\"`AppServiceVirtualNetworkSwiftConnection`\" pulumi-lang-go=\"`appServiceVirtualNetworkSwiftConnection`\" pulumi-lang-python=\"`app_service_virtual_network_swift_connection`\" pulumi-lang-yaml=\"`appServiceVirtualNetworkSwiftConnection`\" pulumi-lang-java=\"`appServiceVirtualNetworkSwiftConnection`\"\u003e`app_service_virtual_network_swift_connection`\u003c/span\u003e then \u003cspan pulumi-lang-nodejs=\"`ignoreChanges`\" pulumi-lang-dotnet=\"`IgnoreChanges`\" pulumi-lang-go=\"`ignoreChanges`\" pulumi-lang-python=\"`ignore_changes`\" pulumi-lang-yaml=\"`ignoreChanges`\" pulumi-lang-java=\"`ignoreChanges`\"\u003e`ignore_changes`\u003c/span\u003e should be used in the function app slot configuration.\n\n\u003e **Note:** Assigning the \u003cspan pulumi-lang-nodejs=\"`virtualNetworkSubnetId`\" pulumi-lang-dotnet=\"`VirtualNetworkSubnetId`\" pulumi-lang-go=\"`virtualNetworkSubnetId`\" pulumi-lang-python=\"`virtual_network_subnet_id`\" pulumi-lang-yaml=\"`virtualNetworkSubnetId`\" pulumi-lang-java=\"`virtualNetworkSubnetId`\"\u003e`virtual_network_subnet_id`\u003c/span\u003e property requires [RBAC permissions on the subnet](https://docs.microsoft.com/en-us/azure/app-service/overview-vnet-integration#permissions)\n"},"vnetImagePullEnabled":{"type":"boolean","description":"Specifies whether traffic for the image pull should be routed over virtual network. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** The feature can also be enabled via the app setting `WEBSITE_PULL_IMAGE_OVER_VNET`. The Setting is enabled by default for app running in the App Service Environment.\n"},"webdeployPublishBasicAuthenticationEnabled":{"type":"boolean","description":"Should the default WebDeploy Basic Authentication publishing credentials enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"}},"type":"object"}},"azure:appservice/windowsWebApp:WindowsWebApp":{"description":"Manages a Windows Web App.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleServicePlan = new azure.appservice.ServicePlan(\"example\", {\n    name: \"example\",\n    resourceGroupName: example.name,\n    location: example.location,\n    skuName: \"P1v2\",\n    osType: \"Windows\",\n});\nconst exampleWindowsWebApp = new azure.appservice.WindowsWebApp(\"example\", {\n    name: \"example\",\n    resourceGroupName: example.name,\n    location: exampleServicePlan.location,\n    servicePlanId: exampleServicePlan.id,\n    siteConfig: {},\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_service_plan = azure.appservice.ServicePlan(\"example\",\n    name=\"example\",\n    resource_group_name=example.name,\n    location=example.location,\n    sku_name=\"P1v2\",\n    os_type=\"Windows\")\nexample_windows_web_app = azure.appservice.WindowsWebApp(\"example\",\n    name=\"example\",\n    resource_group_name=example.name,\n    location=example_service_plan.location,\n    service_plan_id=example_service_plan.id,\n    site_config={})\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleServicePlan = new Azure.AppService.ServicePlan(\"example\", new()\n    {\n        Name = \"example\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        SkuName = \"P1v2\",\n        OsType = \"Windows\",\n    });\n\n    var exampleWindowsWebApp = new Azure.AppService.WindowsWebApp(\"example\", new()\n    {\n        Name = \"example\",\n        ResourceGroupName = example.Name,\n        Location = exampleServicePlan.Location,\n        ServicePlanId = exampleServicePlan.Id,\n        SiteConfig = null,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/appservice\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleServicePlan, err := appservice.NewServicePlan(ctx, \"example\", \u0026appservice.ServicePlanArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tSkuName:           pulumi.String(\"P1v2\"),\n\t\t\tOsType:            pulumi.String(\"Windows\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = appservice.NewWindowsWebApp(ctx, \"example\", \u0026appservice.WindowsWebAppArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          exampleServicePlan.Location,\n\t\t\tServicePlanId:     exampleServicePlan.ID(),\n\t\t\tSiteConfig:        \u0026appservice.WindowsWebAppSiteConfigArgs{},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.appservice.ServicePlan;\nimport com.pulumi.azure.appservice.ServicePlanArgs;\nimport com.pulumi.azure.appservice.WindowsWebApp;\nimport com.pulumi.azure.appservice.WindowsWebAppArgs;\nimport com.pulumi.azure.appservice.inputs.WindowsWebAppSiteConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleServicePlan = new ServicePlan(\"exampleServicePlan\", ServicePlanArgs.builder()\n            .name(\"example\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .skuName(\"P1v2\")\n            .osType(\"Windows\")\n            .build());\n\n        var exampleWindowsWebApp = new WindowsWebApp(\"exampleWindowsWebApp\", WindowsWebAppArgs.builder()\n            .name(\"example\")\n            .resourceGroupName(example.name())\n            .location(exampleServicePlan.location())\n            .servicePlanId(exampleServicePlan.id())\n            .siteConfig(WindowsWebAppSiteConfigArgs.builder()\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleServicePlan:\n    type: azure:appservice:ServicePlan\n    name: example\n    properties:\n      name: example\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      skuName: P1v2\n      osType: Windows\n  exampleWindowsWebApp:\n    type: azure:appservice:WindowsWebApp\n    name: example\n    properties:\n      name: example\n      resourceGroupName: ${example.name}\n      location: ${exampleServicePlan.location}\n      servicePlanId: ${exampleServicePlan.id}\n      siteConfig: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Web` - 2023-12-01, 2023-01-01\n\n## Import\n\nWindows Web Apps can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:appservice/windowsWebApp:WindowsWebApp example /subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/resGroup1/providers/Microsoft.Web/sites/site1\n```\n\n","properties":{"appSettings":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of key-value pairs of App Settings.\n"},"authSettings":{"$ref":"#/types/azure:appservice/WindowsWebAppAuthSettings:WindowsWebAppAuthSettings","description":"An \u003cspan pulumi-lang-nodejs=\"`authSettings`\" pulumi-lang-dotnet=\"`AuthSettings`\" pulumi-lang-go=\"`authSettings`\" pulumi-lang-python=\"`auth_settings`\" pulumi-lang-yaml=\"`authSettings`\" pulumi-lang-java=\"`authSettings`\"\u003e`auth_settings`\u003c/span\u003e block as defined below.\n"},"authSettingsV2":{"$ref":"#/types/azure:appservice/WindowsWebAppAuthSettingsV2:WindowsWebAppAuthSettingsV2","description":"An \u003cspan pulumi-lang-nodejs=\"`authSettingsV2`\" pulumi-lang-dotnet=\"`AuthSettingsV2`\" pulumi-lang-go=\"`authSettingsV2`\" pulumi-lang-python=\"`auth_settings_v2`\" pulumi-lang-yaml=\"`authSettingsV2`\" pulumi-lang-java=\"`authSettingsV2`\"\u003e`auth_settings_v2`\u003c/span\u003e block as defined below.\n"},"backup":{"$ref":"#/types/azure:appservice/WindowsWebAppBackup:WindowsWebAppBackup","description":"A \u003cspan pulumi-lang-nodejs=\"`backup`\" pulumi-lang-dotnet=\"`Backup`\" pulumi-lang-go=\"`backup`\" pulumi-lang-python=\"`backup`\" pulumi-lang-yaml=\"`backup`\" pulumi-lang-java=\"`backup`\"\u003e`backup`\u003c/span\u003e block as defined below.\n"},"clientAffinityEnabled":{"type":"boolean","description":"Should Client Affinity be enabled?\n"},"clientCertificateEnabled":{"type":"boolean","description":"Should Client Certificates be enabled?\n"},"clientCertificateExclusionPaths":{"type":"string","description":"Paths to exclude when using client certificates, separated by ;\n"},"clientCertificateMode":{"type":"string","description":"The Client Certificate mode. Possible values are `Required`, `Optional`, and `OptionalInteractiveUser`. This property has no effect when \u003cspan pulumi-lang-nodejs=\"`clientCertificateEnabled`\" pulumi-lang-dotnet=\"`ClientCertificateEnabled`\" pulumi-lang-go=\"`clientCertificateEnabled`\" pulumi-lang-python=\"`client_certificate_enabled`\" pulumi-lang-yaml=\"`clientCertificateEnabled`\" pulumi-lang-java=\"`clientCertificateEnabled`\"\u003e`client_certificate_enabled`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Defaults to `Required`.\n"},"connectionStrings":{"type":"array","items":{"$ref":"#/types/azure:appservice/WindowsWebAppConnectionString:WindowsWebAppConnectionString"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`connectionString`\" pulumi-lang-dotnet=\"`ConnectionString`\" pulumi-lang-go=\"`connectionString`\" pulumi-lang-python=\"`connection_string`\" pulumi-lang-yaml=\"`connectionString`\" pulumi-lang-java=\"`connectionString`\"\u003e`connection_string`\u003c/span\u003e blocks as defined below.\n"},"customDomainVerificationId":{"type":"string","description":"The identifier used by App Service to perform domain ownership verification via DNS TXT record.\n","secret":true},"defaultHostname":{"type":"string","description":"The default hostname of the Windows Web App.\n"},"enabled":{"type":"boolean","description":"Should the Windows Web App be enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"ftpPublishBasicAuthenticationEnabled":{"type":"boolean","description":"Should the default FTP Basic Authentication publishing profile be enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"hostingEnvironmentId":{"type":"string","description":"The ID of the App Service Environment used by App Service.\n"},"httpsOnly":{"type":"boolean","description":"Should the Windows Web App require HTTPS connections. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"identity":{"$ref":"#/types/azure:appservice/WindowsWebAppIdentity:WindowsWebAppIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"keyVaultReferenceIdentityId":{"type":"string","description":"The User Assigned Identity ID used for accessing KeyVault secrets. The identity must be assigned to the application in the \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block. [For more information see - Access vaults with a user-assigned identity](https://docs.microsoft.com/azure/app-service/app-service-key-vault-references#access-vaults-with-a-user-assigned-identity)\n"},"kind":{"type":"string","description":"The Kind value for this Windows Web App.\n"},"location":{"type":"string","description":"The Azure Region where the Windows Web App should exist. Changing this forces a new Windows Web App to be created.\n"},"logs":{"$ref":"#/types/azure:appservice/WindowsWebAppLogs:WindowsWebAppLogs","description":"A \u003cspan pulumi-lang-nodejs=\"`logs`\" pulumi-lang-dotnet=\"`Logs`\" pulumi-lang-go=\"`logs`\" pulumi-lang-python=\"`logs`\" pulumi-lang-yaml=\"`logs`\" pulumi-lang-java=\"`logs`\"\u003e`logs`\u003c/span\u003e block as defined below.\n"},"name":{"type":"string","description":"The name which should be used for this Windows Web App. Changing this forces a new Windows Web App to be created.\n"},"outboundIpAddressLists":{"type":"array","items":{"type":"string"},"description":"A list of outbound IP addresses - such as `[\"52.23.25.3\", \"52.143.43.12\"]`\n"},"outboundIpAddresses":{"type":"string","description":"A comma separated list of outbound IP addresses - such as `52.23.25.3,52.143.43.12`.\n"},"possibleOutboundIpAddressLists":{"type":"array","items":{"type":"string"},"description":"A list of possible outbound ip address.\n"},"possibleOutboundIpAddresses":{"type":"string","description":"A comma separated list of outbound IP addresses - such as `52.23.25.3,52.143.43.12,52.143.43.17` - not all of which are necessarily in use. Superset of \u003cspan pulumi-lang-nodejs=\"`outboundIpAddresses`\" pulumi-lang-dotnet=\"`OutboundIpAddresses`\" pulumi-lang-go=\"`outboundIpAddresses`\" pulumi-lang-python=\"`outbound_ip_addresses`\" pulumi-lang-yaml=\"`outboundIpAddresses`\" pulumi-lang-java=\"`outboundIpAddresses`\"\u003e`outbound_ip_addresses`\u003c/span\u003e.\n"},"publicNetworkAccessEnabled":{"type":"boolean","description":"Should public network access be enabled for the Web App. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Windows Web App should exist. Changing this forces a new Windows Web App to be created.\n"},"servicePlanId":{"type":"string","description":"The ID of the Service Plan that this Windows App Service will be created in.\n"},"siteConfig":{"$ref":"#/types/azure:appservice/WindowsWebAppSiteConfig:WindowsWebAppSiteConfig","description":"A \u003cspan pulumi-lang-nodejs=\"`siteConfig`\" pulumi-lang-dotnet=\"`SiteConfig`\" pulumi-lang-go=\"`siteConfig`\" pulumi-lang-python=\"`site_config`\" pulumi-lang-yaml=\"`siteConfig`\" pulumi-lang-java=\"`siteConfig`\"\u003e`site_config`\u003c/span\u003e block as defined below.\n"},"siteCredentials":{"type":"array","items":{"$ref":"#/types/azure:appservice/WindowsWebAppSiteCredential:WindowsWebAppSiteCredential"},"description":"A \u003cspan pulumi-lang-nodejs=\"`siteCredential`\" pulumi-lang-dotnet=\"`SiteCredential`\" pulumi-lang-go=\"`siteCredential`\" pulumi-lang-python=\"`site_credential`\" pulumi-lang-yaml=\"`siteCredential`\" pulumi-lang-java=\"`siteCredential`\"\u003e`site_credential`\u003c/span\u003e block as defined below.\n","secret":true},"stickySettings":{"$ref":"#/types/azure:appservice/WindowsWebAppStickySettings:WindowsWebAppStickySettings","description":"A \u003cspan pulumi-lang-nodejs=\"`stickySettings`\" pulumi-lang-dotnet=\"`StickySettings`\" pulumi-lang-go=\"`stickySettings`\" pulumi-lang-python=\"`sticky_settings`\" pulumi-lang-yaml=\"`stickySettings`\" pulumi-lang-java=\"`stickySettings`\"\u003e`sticky_settings`\u003c/span\u003e block as defined below.\n"},"storageAccounts":{"type":"array","items":{"$ref":"#/types/azure:appservice/WindowsWebAppStorageAccount:WindowsWebAppStorageAccount"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`storageAccount`\" pulumi-lang-dotnet=\"`StorageAccount`\" pulumi-lang-go=\"`storageAccount`\" pulumi-lang-python=\"`storage_account`\" pulumi-lang-yaml=\"`storageAccount`\" pulumi-lang-java=\"`storageAccount`\"\u003e`storage_account`\u003c/span\u003e blocks as defined below.\n\n\u003e **Note:** Using this value requires `WEBSITE_RUN_FROM_PACKAGE=1` to be set on the App in \u003cspan pulumi-lang-nodejs=\"`appSettings`\" pulumi-lang-dotnet=\"`AppSettings`\" pulumi-lang-go=\"`appSettings`\" pulumi-lang-python=\"`app_settings`\" pulumi-lang-yaml=\"`appSettings`\" pulumi-lang-java=\"`appSettings`\"\u003e`app_settings`\u003c/span\u003e. Refer to the [Azure docs](https://docs.microsoft.com/en-us/azure/app-service/deploy-run-package) for further details.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Windows Web App.\n"},"virtualNetworkBackupRestoreEnabled":{"type":"boolean","description":"Whether backup and restore operations over the linked virtual network are enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"virtualNetworkImagePullEnabled":{"type":"boolean","description":"Whether traffic for the image pull should be routed over the virtual network.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`virtualNetworkImagePullEnabled`\" pulumi-lang-dotnet=\"`VirtualNetworkImagePullEnabled`\" pulumi-lang-go=\"`virtualNetworkImagePullEnabled`\" pulumi-lang-python=\"`virtual_network_image_pull_enabled`\" pulumi-lang-yaml=\"`virtualNetworkImagePullEnabled`\" pulumi-lang-java=\"`virtualNetworkImagePullEnabled`\"\u003e`virtual_network_image_pull_enabled`\u003c/span\u003e must be set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e when running in an App Service Environment.\n"},"virtualNetworkSubnetId":{"type":"string","description":"The subnet id which will be used by this Web App for [regional virtual network integration](https://docs.microsoft.com/en-us/azure/app-service/overview-vnet-integration#regional-virtual-network-integration).\n\n\u003e **Note:** The AzureRM Terraform provider provides regional virtual network integration via the standalone resource\u003cspan pulumi-lang-nodejs=\" appServiceVirtualNetworkSwiftConnection \" pulumi-lang-dotnet=\" AppServiceVirtualNetworkSwiftConnection \" pulumi-lang-go=\" appServiceVirtualNetworkSwiftConnection \" pulumi-lang-python=\" app_service_virtual_network_swift_connection \" pulumi-lang-yaml=\" appServiceVirtualNetworkSwiftConnection \" pulumi-lang-java=\" appServiceVirtualNetworkSwiftConnection \"\u003e app_service_virtual_network_swift_connection \u003c/span\u003eand in-line within this resource using the \u003cspan pulumi-lang-nodejs=\"`virtualNetworkSubnetId`\" pulumi-lang-dotnet=\"`VirtualNetworkSubnetId`\" pulumi-lang-go=\"`virtualNetworkSubnetId`\" pulumi-lang-python=\"`virtual_network_subnet_id`\" pulumi-lang-yaml=\"`virtualNetworkSubnetId`\" pulumi-lang-java=\"`virtualNetworkSubnetId`\"\u003e`virtual_network_subnet_id`\u003c/span\u003e property. You cannot use both methods simultaneously. If the virtual network is set via the resource \u003cspan pulumi-lang-nodejs=\"`appServiceVirtualNetworkSwiftConnection`\" pulumi-lang-dotnet=\"`AppServiceVirtualNetworkSwiftConnection`\" pulumi-lang-go=\"`appServiceVirtualNetworkSwiftConnection`\" pulumi-lang-python=\"`app_service_virtual_network_swift_connection`\" pulumi-lang-yaml=\"`appServiceVirtualNetworkSwiftConnection`\" pulumi-lang-java=\"`appServiceVirtualNetworkSwiftConnection`\"\u003e`app_service_virtual_network_swift_connection`\u003c/span\u003e then \u003cspan pulumi-lang-nodejs=\"`ignoreChanges`\" pulumi-lang-dotnet=\"`IgnoreChanges`\" pulumi-lang-go=\"`ignoreChanges`\" pulumi-lang-python=\"`ignore_changes`\" pulumi-lang-yaml=\"`ignoreChanges`\" pulumi-lang-java=\"`ignoreChanges`\"\u003e`ignore_changes`\u003c/span\u003e should be used in the web app configuration.\n\n\u003e **Note:** Assigning the \u003cspan pulumi-lang-nodejs=\"`virtualNetworkSubnetId`\" pulumi-lang-dotnet=\"`VirtualNetworkSubnetId`\" pulumi-lang-go=\"`virtualNetworkSubnetId`\" pulumi-lang-python=\"`virtual_network_subnet_id`\" pulumi-lang-yaml=\"`virtualNetworkSubnetId`\" pulumi-lang-java=\"`virtualNetworkSubnetId`\"\u003e`virtual_network_subnet_id`\u003c/span\u003e property requires [RBAC permissions on the subnet](https://docs.microsoft.com/en-us/azure/app-service/overview-vnet-integration#permissions)\n"},"webdeployPublishBasicAuthenticationEnabled":{"type":"boolean","description":"Should the default WebDeploy Basic Authentication publishing credentials enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n\n\u003e **Note:** Setting this value to true will disable the ability to use \u003cspan pulumi-lang-nodejs=\"`zipDeployFile`\" pulumi-lang-dotnet=\"`ZipDeployFile`\" pulumi-lang-go=\"`zipDeployFile`\" pulumi-lang-python=\"`zip_deploy_file`\" pulumi-lang-yaml=\"`zipDeployFile`\" pulumi-lang-java=\"`zipDeployFile`\"\u003e`zip_deploy_file`\u003c/span\u003e which currently relies on the default publishing profile.\n"},"zipDeployFile":{"type":"string","description":"The local path and filename of the Zip packaged application to deploy to this Windows Web App.\n\n\u003e **Note:** Using this value requires either `WEBSITE_RUN_FROM_PACKAGE=1` or `SCM_DO_BUILD_DURING_DEPLOYMENT=true` to be set on the App in \u003cspan pulumi-lang-nodejs=\"`appSettings`\" pulumi-lang-dotnet=\"`AppSettings`\" pulumi-lang-go=\"`appSettings`\" pulumi-lang-python=\"`app_settings`\" pulumi-lang-yaml=\"`appSettings`\" pulumi-lang-java=\"`appSettings`\"\u003e`app_settings`\u003c/span\u003e. Refer to the Azure docs on [running the Web App directly from the Zip package](https://learn.microsoft.com/en-us/azure/app-service/deploy-run-package), or [automating the build for Zip deploy](https://learn.microsoft.com/en-us/azure/app-service/deploy-zip#enable-build-automation-for-zip-deploy) for further details.\n"}},"required":["customDomainVerificationId","defaultHostname","hostingEnvironmentId","keyVaultReferenceIdentityId","kind","location","name","outboundIpAddressLists","outboundIpAddresses","possibleOutboundIpAddressLists","possibleOutboundIpAddresses","resourceGroupName","servicePlanId","siteConfig","siteCredentials","virtualNetworkImagePullEnabled","zipDeployFile"],"inputProperties":{"appSettings":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of key-value pairs of App Settings.\n"},"authSettings":{"$ref":"#/types/azure:appservice/WindowsWebAppAuthSettings:WindowsWebAppAuthSettings","description":"An \u003cspan pulumi-lang-nodejs=\"`authSettings`\" pulumi-lang-dotnet=\"`AuthSettings`\" pulumi-lang-go=\"`authSettings`\" pulumi-lang-python=\"`auth_settings`\" pulumi-lang-yaml=\"`authSettings`\" pulumi-lang-java=\"`authSettings`\"\u003e`auth_settings`\u003c/span\u003e block as defined below.\n"},"authSettingsV2":{"$ref":"#/types/azure:appservice/WindowsWebAppAuthSettingsV2:WindowsWebAppAuthSettingsV2","description":"An \u003cspan pulumi-lang-nodejs=\"`authSettingsV2`\" pulumi-lang-dotnet=\"`AuthSettingsV2`\" pulumi-lang-go=\"`authSettingsV2`\" pulumi-lang-python=\"`auth_settings_v2`\" pulumi-lang-yaml=\"`authSettingsV2`\" pulumi-lang-java=\"`authSettingsV2`\"\u003e`auth_settings_v2`\u003c/span\u003e block as defined below.\n"},"backup":{"$ref":"#/types/azure:appservice/WindowsWebAppBackup:WindowsWebAppBackup","description":"A \u003cspan pulumi-lang-nodejs=\"`backup`\" pulumi-lang-dotnet=\"`Backup`\" pulumi-lang-go=\"`backup`\" pulumi-lang-python=\"`backup`\" pulumi-lang-yaml=\"`backup`\" pulumi-lang-java=\"`backup`\"\u003e`backup`\u003c/span\u003e block as defined below.\n"},"clientAffinityEnabled":{"type":"boolean","description":"Should Client Affinity be enabled?\n"},"clientCertificateEnabled":{"type":"boolean","description":"Should Client Certificates be enabled?\n"},"clientCertificateExclusionPaths":{"type":"string","description":"Paths to exclude when using client certificates, separated by ;\n"},"clientCertificateMode":{"type":"string","description":"The Client Certificate mode. Possible values are `Required`, `Optional`, and `OptionalInteractiveUser`. This property has no effect when \u003cspan pulumi-lang-nodejs=\"`clientCertificateEnabled`\" pulumi-lang-dotnet=\"`ClientCertificateEnabled`\" pulumi-lang-go=\"`clientCertificateEnabled`\" pulumi-lang-python=\"`client_certificate_enabled`\" pulumi-lang-yaml=\"`clientCertificateEnabled`\" pulumi-lang-java=\"`clientCertificateEnabled`\"\u003e`client_certificate_enabled`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Defaults to `Required`.\n"},"connectionStrings":{"type":"array","items":{"$ref":"#/types/azure:appservice/WindowsWebAppConnectionString:WindowsWebAppConnectionString"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`connectionString`\" pulumi-lang-dotnet=\"`ConnectionString`\" pulumi-lang-go=\"`connectionString`\" pulumi-lang-python=\"`connection_string`\" pulumi-lang-yaml=\"`connectionString`\" pulumi-lang-java=\"`connectionString`\"\u003e`connection_string`\u003c/span\u003e blocks as defined below.\n"},"enabled":{"type":"boolean","description":"Should the Windows Web App be enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"ftpPublishBasicAuthenticationEnabled":{"type":"boolean","description":"Should the default FTP Basic Authentication publishing profile be enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"httpsOnly":{"type":"boolean","description":"Should the Windows Web App require HTTPS connections. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"identity":{"$ref":"#/types/azure:appservice/WindowsWebAppIdentity:WindowsWebAppIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"keyVaultReferenceIdentityId":{"type":"string","description":"The User Assigned Identity ID used for accessing KeyVault secrets. The identity must be assigned to the application in the \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block. [For more information see - Access vaults with a user-assigned identity](https://docs.microsoft.com/azure/app-service/app-service-key-vault-references#access-vaults-with-a-user-assigned-identity)\n"},"location":{"type":"string","description":"The Azure Region where the Windows Web App should exist. Changing this forces a new Windows Web App to be created.\n","willReplaceOnChanges":true},"logs":{"$ref":"#/types/azure:appservice/WindowsWebAppLogs:WindowsWebAppLogs","description":"A \u003cspan pulumi-lang-nodejs=\"`logs`\" pulumi-lang-dotnet=\"`Logs`\" pulumi-lang-go=\"`logs`\" pulumi-lang-python=\"`logs`\" pulumi-lang-yaml=\"`logs`\" pulumi-lang-java=\"`logs`\"\u003e`logs`\u003c/span\u003e block as defined below.\n"},"name":{"type":"string","description":"The name which should be used for this Windows Web App. Changing this forces a new Windows Web App to be created.\n","willReplaceOnChanges":true},"publicNetworkAccessEnabled":{"type":"boolean","description":"Should public network access be enabled for the Web App. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Windows Web App should exist. Changing this forces a new Windows Web App to be created.\n","willReplaceOnChanges":true},"servicePlanId":{"type":"string","description":"The ID of the Service Plan that this Windows App Service will be created in.\n"},"siteConfig":{"$ref":"#/types/azure:appservice/WindowsWebAppSiteConfig:WindowsWebAppSiteConfig","description":"A \u003cspan pulumi-lang-nodejs=\"`siteConfig`\" pulumi-lang-dotnet=\"`SiteConfig`\" pulumi-lang-go=\"`siteConfig`\" pulumi-lang-python=\"`site_config`\" pulumi-lang-yaml=\"`siteConfig`\" pulumi-lang-java=\"`siteConfig`\"\u003e`site_config`\u003c/span\u003e block as defined below.\n"},"stickySettings":{"$ref":"#/types/azure:appservice/WindowsWebAppStickySettings:WindowsWebAppStickySettings","description":"A \u003cspan pulumi-lang-nodejs=\"`stickySettings`\" pulumi-lang-dotnet=\"`StickySettings`\" pulumi-lang-go=\"`stickySettings`\" pulumi-lang-python=\"`sticky_settings`\" pulumi-lang-yaml=\"`stickySettings`\" pulumi-lang-java=\"`stickySettings`\"\u003e`sticky_settings`\u003c/span\u003e block as defined below.\n"},"storageAccounts":{"type":"array","items":{"$ref":"#/types/azure:appservice/WindowsWebAppStorageAccount:WindowsWebAppStorageAccount"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`storageAccount`\" pulumi-lang-dotnet=\"`StorageAccount`\" pulumi-lang-go=\"`storageAccount`\" pulumi-lang-python=\"`storage_account`\" pulumi-lang-yaml=\"`storageAccount`\" pulumi-lang-java=\"`storageAccount`\"\u003e`storage_account`\u003c/span\u003e blocks as defined below.\n\n\u003e **Note:** Using this value requires `WEBSITE_RUN_FROM_PACKAGE=1` to be set on the App in \u003cspan pulumi-lang-nodejs=\"`appSettings`\" pulumi-lang-dotnet=\"`AppSettings`\" pulumi-lang-go=\"`appSettings`\" pulumi-lang-python=\"`app_settings`\" pulumi-lang-yaml=\"`appSettings`\" pulumi-lang-java=\"`appSettings`\"\u003e`app_settings`\u003c/span\u003e. Refer to the [Azure docs](https://docs.microsoft.com/en-us/azure/app-service/deploy-run-package) for further details.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Windows Web App.\n"},"virtualNetworkBackupRestoreEnabled":{"type":"boolean","description":"Whether backup and restore operations over the linked virtual network are enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"virtualNetworkImagePullEnabled":{"type":"boolean","description":"Whether traffic for the image pull should be routed over the virtual network.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`virtualNetworkImagePullEnabled`\" pulumi-lang-dotnet=\"`VirtualNetworkImagePullEnabled`\" pulumi-lang-go=\"`virtualNetworkImagePullEnabled`\" pulumi-lang-python=\"`virtual_network_image_pull_enabled`\" pulumi-lang-yaml=\"`virtualNetworkImagePullEnabled`\" pulumi-lang-java=\"`virtualNetworkImagePullEnabled`\"\u003e`virtual_network_image_pull_enabled`\u003c/span\u003e must be set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e when running in an App Service Environment.\n"},"virtualNetworkSubnetId":{"type":"string","description":"The subnet id which will be used by this Web App for [regional virtual network integration](https://docs.microsoft.com/en-us/azure/app-service/overview-vnet-integration#regional-virtual-network-integration).\n\n\u003e **Note:** The AzureRM Terraform provider provides regional virtual network integration via the standalone resource\u003cspan pulumi-lang-nodejs=\" appServiceVirtualNetworkSwiftConnection \" pulumi-lang-dotnet=\" AppServiceVirtualNetworkSwiftConnection \" pulumi-lang-go=\" appServiceVirtualNetworkSwiftConnection \" pulumi-lang-python=\" app_service_virtual_network_swift_connection \" pulumi-lang-yaml=\" appServiceVirtualNetworkSwiftConnection \" pulumi-lang-java=\" appServiceVirtualNetworkSwiftConnection \"\u003e app_service_virtual_network_swift_connection \u003c/span\u003eand in-line within this resource using the \u003cspan pulumi-lang-nodejs=\"`virtualNetworkSubnetId`\" pulumi-lang-dotnet=\"`VirtualNetworkSubnetId`\" pulumi-lang-go=\"`virtualNetworkSubnetId`\" pulumi-lang-python=\"`virtual_network_subnet_id`\" pulumi-lang-yaml=\"`virtualNetworkSubnetId`\" pulumi-lang-java=\"`virtualNetworkSubnetId`\"\u003e`virtual_network_subnet_id`\u003c/span\u003e property. You cannot use both methods simultaneously. If the virtual network is set via the resource \u003cspan pulumi-lang-nodejs=\"`appServiceVirtualNetworkSwiftConnection`\" pulumi-lang-dotnet=\"`AppServiceVirtualNetworkSwiftConnection`\" pulumi-lang-go=\"`appServiceVirtualNetworkSwiftConnection`\" pulumi-lang-python=\"`app_service_virtual_network_swift_connection`\" pulumi-lang-yaml=\"`appServiceVirtualNetworkSwiftConnection`\" pulumi-lang-java=\"`appServiceVirtualNetworkSwiftConnection`\"\u003e`app_service_virtual_network_swift_connection`\u003c/span\u003e then \u003cspan pulumi-lang-nodejs=\"`ignoreChanges`\" pulumi-lang-dotnet=\"`IgnoreChanges`\" pulumi-lang-go=\"`ignoreChanges`\" pulumi-lang-python=\"`ignore_changes`\" pulumi-lang-yaml=\"`ignoreChanges`\" pulumi-lang-java=\"`ignoreChanges`\"\u003e`ignore_changes`\u003c/span\u003e should be used in the web app configuration.\n\n\u003e **Note:** Assigning the \u003cspan pulumi-lang-nodejs=\"`virtualNetworkSubnetId`\" pulumi-lang-dotnet=\"`VirtualNetworkSubnetId`\" pulumi-lang-go=\"`virtualNetworkSubnetId`\" pulumi-lang-python=\"`virtual_network_subnet_id`\" pulumi-lang-yaml=\"`virtualNetworkSubnetId`\" pulumi-lang-java=\"`virtualNetworkSubnetId`\"\u003e`virtual_network_subnet_id`\u003c/span\u003e property requires [RBAC permissions on the subnet](https://docs.microsoft.com/en-us/azure/app-service/overview-vnet-integration#permissions)\n"},"webdeployPublishBasicAuthenticationEnabled":{"type":"boolean","description":"Should the default WebDeploy Basic Authentication publishing credentials enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n\n\u003e **Note:** Setting this value to true will disable the ability to use \u003cspan pulumi-lang-nodejs=\"`zipDeployFile`\" pulumi-lang-dotnet=\"`ZipDeployFile`\" pulumi-lang-go=\"`zipDeployFile`\" pulumi-lang-python=\"`zip_deploy_file`\" pulumi-lang-yaml=\"`zipDeployFile`\" pulumi-lang-java=\"`zipDeployFile`\"\u003e`zip_deploy_file`\u003c/span\u003e which currently relies on the default publishing profile.\n"},"zipDeployFile":{"type":"string","description":"The local path and filename of the Zip packaged application to deploy to this Windows Web App.\n\n\u003e **Note:** Using this value requires either `WEBSITE_RUN_FROM_PACKAGE=1` or `SCM_DO_BUILD_DURING_DEPLOYMENT=true` to be set on the App in \u003cspan pulumi-lang-nodejs=\"`appSettings`\" pulumi-lang-dotnet=\"`AppSettings`\" pulumi-lang-go=\"`appSettings`\" pulumi-lang-python=\"`app_settings`\" pulumi-lang-yaml=\"`appSettings`\" pulumi-lang-java=\"`appSettings`\"\u003e`app_settings`\u003c/span\u003e. Refer to the Azure docs on [running the Web App directly from the Zip package](https://learn.microsoft.com/en-us/azure/app-service/deploy-run-package), or [automating the build for Zip deploy](https://learn.microsoft.com/en-us/azure/app-service/deploy-zip#enable-build-automation-for-zip-deploy) for further details.\n"}},"requiredInputs":["resourceGroupName","servicePlanId","siteConfig"],"stateInputs":{"description":"Input properties used for looking up and filtering WindowsWebApp resources.\n","properties":{"appSettings":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of key-value pairs of App Settings.\n"},"authSettings":{"$ref":"#/types/azure:appservice/WindowsWebAppAuthSettings:WindowsWebAppAuthSettings","description":"An \u003cspan pulumi-lang-nodejs=\"`authSettings`\" pulumi-lang-dotnet=\"`AuthSettings`\" pulumi-lang-go=\"`authSettings`\" pulumi-lang-python=\"`auth_settings`\" pulumi-lang-yaml=\"`authSettings`\" pulumi-lang-java=\"`authSettings`\"\u003e`auth_settings`\u003c/span\u003e block as defined below.\n"},"authSettingsV2":{"$ref":"#/types/azure:appservice/WindowsWebAppAuthSettingsV2:WindowsWebAppAuthSettingsV2","description":"An \u003cspan pulumi-lang-nodejs=\"`authSettingsV2`\" pulumi-lang-dotnet=\"`AuthSettingsV2`\" pulumi-lang-go=\"`authSettingsV2`\" pulumi-lang-python=\"`auth_settings_v2`\" pulumi-lang-yaml=\"`authSettingsV2`\" pulumi-lang-java=\"`authSettingsV2`\"\u003e`auth_settings_v2`\u003c/span\u003e block as defined below.\n"},"backup":{"$ref":"#/types/azure:appservice/WindowsWebAppBackup:WindowsWebAppBackup","description":"A \u003cspan pulumi-lang-nodejs=\"`backup`\" pulumi-lang-dotnet=\"`Backup`\" pulumi-lang-go=\"`backup`\" pulumi-lang-python=\"`backup`\" pulumi-lang-yaml=\"`backup`\" pulumi-lang-java=\"`backup`\"\u003e`backup`\u003c/span\u003e block as defined below.\n"},"clientAffinityEnabled":{"type":"boolean","description":"Should Client Affinity be enabled?\n"},"clientCertificateEnabled":{"type":"boolean","description":"Should Client Certificates be enabled?\n"},"clientCertificateExclusionPaths":{"type":"string","description":"Paths to exclude when using client certificates, separated by ;\n"},"clientCertificateMode":{"type":"string","description":"The Client Certificate mode. Possible values are `Required`, `Optional`, and `OptionalInteractiveUser`. This property has no effect when \u003cspan pulumi-lang-nodejs=\"`clientCertificateEnabled`\" pulumi-lang-dotnet=\"`ClientCertificateEnabled`\" pulumi-lang-go=\"`clientCertificateEnabled`\" pulumi-lang-python=\"`client_certificate_enabled`\" pulumi-lang-yaml=\"`clientCertificateEnabled`\" pulumi-lang-java=\"`clientCertificateEnabled`\"\u003e`client_certificate_enabled`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Defaults to `Required`.\n"},"connectionStrings":{"type":"array","items":{"$ref":"#/types/azure:appservice/WindowsWebAppConnectionString:WindowsWebAppConnectionString"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`connectionString`\" pulumi-lang-dotnet=\"`ConnectionString`\" pulumi-lang-go=\"`connectionString`\" pulumi-lang-python=\"`connection_string`\" pulumi-lang-yaml=\"`connectionString`\" pulumi-lang-java=\"`connectionString`\"\u003e`connection_string`\u003c/span\u003e blocks as defined below.\n"},"customDomainVerificationId":{"type":"string","description":"The identifier used by App Service to perform domain ownership verification via DNS TXT record.\n","secret":true},"defaultHostname":{"type":"string","description":"The default hostname of the Windows Web App.\n"},"enabled":{"type":"boolean","description":"Should the Windows Web App be enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"ftpPublishBasicAuthenticationEnabled":{"type":"boolean","description":"Should the default FTP Basic Authentication publishing profile be enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"hostingEnvironmentId":{"type":"string","description":"The ID of the App Service Environment used by App Service.\n"},"httpsOnly":{"type":"boolean","description":"Should the Windows Web App require HTTPS connections. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"identity":{"$ref":"#/types/azure:appservice/WindowsWebAppIdentity:WindowsWebAppIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"keyVaultReferenceIdentityId":{"type":"string","description":"The User Assigned Identity ID used for accessing KeyVault secrets. The identity must be assigned to the application in the \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block. [For more information see - Access vaults with a user-assigned identity](https://docs.microsoft.com/azure/app-service/app-service-key-vault-references#access-vaults-with-a-user-assigned-identity)\n"},"kind":{"type":"string","description":"The Kind value for this Windows Web App.\n"},"location":{"type":"string","description":"The Azure Region where the Windows Web App should exist. Changing this forces a new Windows Web App to be created.\n","willReplaceOnChanges":true},"logs":{"$ref":"#/types/azure:appservice/WindowsWebAppLogs:WindowsWebAppLogs","description":"A \u003cspan pulumi-lang-nodejs=\"`logs`\" pulumi-lang-dotnet=\"`Logs`\" pulumi-lang-go=\"`logs`\" pulumi-lang-python=\"`logs`\" pulumi-lang-yaml=\"`logs`\" pulumi-lang-java=\"`logs`\"\u003e`logs`\u003c/span\u003e block as defined below.\n"},"name":{"type":"string","description":"The name which should be used for this Windows Web App. Changing this forces a new Windows Web App to be created.\n","willReplaceOnChanges":true},"outboundIpAddressLists":{"type":"array","items":{"type":"string"},"description":"A list of outbound IP addresses - such as `[\"52.23.25.3\", \"52.143.43.12\"]`\n"},"outboundIpAddresses":{"type":"string","description":"A comma separated list of outbound IP addresses - such as `52.23.25.3,52.143.43.12`.\n"},"possibleOutboundIpAddressLists":{"type":"array","items":{"type":"string"},"description":"A list of possible outbound ip address.\n"},"possibleOutboundIpAddresses":{"type":"string","description":"A comma separated list of outbound IP addresses - such as `52.23.25.3,52.143.43.12,52.143.43.17` - not all of which are necessarily in use. Superset of \u003cspan pulumi-lang-nodejs=\"`outboundIpAddresses`\" pulumi-lang-dotnet=\"`OutboundIpAddresses`\" pulumi-lang-go=\"`outboundIpAddresses`\" pulumi-lang-python=\"`outbound_ip_addresses`\" pulumi-lang-yaml=\"`outboundIpAddresses`\" pulumi-lang-java=\"`outboundIpAddresses`\"\u003e`outbound_ip_addresses`\u003c/span\u003e.\n"},"publicNetworkAccessEnabled":{"type":"boolean","description":"Should public network access be enabled for the Web App. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Windows Web App should exist. Changing this forces a new Windows Web App to be created.\n","willReplaceOnChanges":true},"servicePlanId":{"type":"string","description":"The ID of the Service Plan that this Windows App Service will be created in.\n"},"siteConfig":{"$ref":"#/types/azure:appservice/WindowsWebAppSiteConfig:WindowsWebAppSiteConfig","description":"A \u003cspan pulumi-lang-nodejs=\"`siteConfig`\" pulumi-lang-dotnet=\"`SiteConfig`\" pulumi-lang-go=\"`siteConfig`\" pulumi-lang-python=\"`site_config`\" pulumi-lang-yaml=\"`siteConfig`\" pulumi-lang-java=\"`siteConfig`\"\u003e`site_config`\u003c/span\u003e block as defined below.\n"},"siteCredentials":{"type":"array","items":{"$ref":"#/types/azure:appservice/WindowsWebAppSiteCredential:WindowsWebAppSiteCredential"},"description":"A \u003cspan pulumi-lang-nodejs=\"`siteCredential`\" pulumi-lang-dotnet=\"`SiteCredential`\" pulumi-lang-go=\"`siteCredential`\" pulumi-lang-python=\"`site_credential`\" pulumi-lang-yaml=\"`siteCredential`\" pulumi-lang-java=\"`siteCredential`\"\u003e`site_credential`\u003c/span\u003e block as defined below.\n","secret":true},"stickySettings":{"$ref":"#/types/azure:appservice/WindowsWebAppStickySettings:WindowsWebAppStickySettings","description":"A \u003cspan pulumi-lang-nodejs=\"`stickySettings`\" pulumi-lang-dotnet=\"`StickySettings`\" pulumi-lang-go=\"`stickySettings`\" pulumi-lang-python=\"`sticky_settings`\" pulumi-lang-yaml=\"`stickySettings`\" pulumi-lang-java=\"`stickySettings`\"\u003e`sticky_settings`\u003c/span\u003e block as defined below.\n"},"storageAccounts":{"type":"array","items":{"$ref":"#/types/azure:appservice/WindowsWebAppStorageAccount:WindowsWebAppStorageAccount"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`storageAccount`\" pulumi-lang-dotnet=\"`StorageAccount`\" pulumi-lang-go=\"`storageAccount`\" pulumi-lang-python=\"`storage_account`\" pulumi-lang-yaml=\"`storageAccount`\" pulumi-lang-java=\"`storageAccount`\"\u003e`storage_account`\u003c/span\u003e blocks as defined below.\n\n\u003e **Note:** Using this value requires `WEBSITE_RUN_FROM_PACKAGE=1` to be set on the App in \u003cspan pulumi-lang-nodejs=\"`appSettings`\" pulumi-lang-dotnet=\"`AppSettings`\" pulumi-lang-go=\"`appSettings`\" pulumi-lang-python=\"`app_settings`\" pulumi-lang-yaml=\"`appSettings`\" pulumi-lang-java=\"`appSettings`\"\u003e`app_settings`\u003c/span\u003e. Refer to the [Azure docs](https://docs.microsoft.com/en-us/azure/app-service/deploy-run-package) for further details.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Windows Web App.\n"},"virtualNetworkBackupRestoreEnabled":{"type":"boolean","description":"Whether backup and restore operations over the linked virtual network are enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"virtualNetworkImagePullEnabled":{"type":"boolean","description":"Whether traffic for the image pull should be routed over the virtual network.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`virtualNetworkImagePullEnabled`\" pulumi-lang-dotnet=\"`VirtualNetworkImagePullEnabled`\" pulumi-lang-go=\"`virtualNetworkImagePullEnabled`\" pulumi-lang-python=\"`virtual_network_image_pull_enabled`\" pulumi-lang-yaml=\"`virtualNetworkImagePullEnabled`\" pulumi-lang-java=\"`virtualNetworkImagePullEnabled`\"\u003e`virtual_network_image_pull_enabled`\u003c/span\u003e must be set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e when running in an App Service Environment.\n"},"virtualNetworkSubnetId":{"type":"string","description":"The subnet id which will be used by this Web App for [regional virtual network integration](https://docs.microsoft.com/en-us/azure/app-service/overview-vnet-integration#regional-virtual-network-integration).\n\n\u003e **Note:** The AzureRM Terraform provider provides regional virtual network integration via the standalone resource\u003cspan pulumi-lang-nodejs=\" appServiceVirtualNetworkSwiftConnection \" pulumi-lang-dotnet=\" AppServiceVirtualNetworkSwiftConnection \" pulumi-lang-go=\" appServiceVirtualNetworkSwiftConnection \" pulumi-lang-python=\" app_service_virtual_network_swift_connection \" pulumi-lang-yaml=\" appServiceVirtualNetworkSwiftConnection \" pulumi-lang-java=\" appServiceVirtualNetworkSwiftConnection \"\u003e app_service_virtual_network_swift_connection \u003c/span\u003eand in-line within this resource using the \u003cspan pulumi-lang-nodejs=\"`virtualNetworkSubnetId`\" pulumi-lang-dotnet=\"`VirtualNetworkSubnetId`\" pulumi-lang-go=\"`virtualNetworkSubnetId`\" pulumi-lang-python=\"`virtual_network_subnet_id`\" pulumi-lang-yaml=\"`virtualNetworkSubnetId`\" pulumi-lang-java=\"`virtualNetworkSubnetId`\"\u003e`virtual_network_subnet_id`\u003c/span\u003e property. You cannot use both methods simultaneously. If the virtual network is set via the resource \u003cspan pulumi-lang-nodejs=\"`appServiceVirtualNetworkSwiftConnection`\" pulumi-lang-dotnet=\"`AppServiceVirtualNetworkSwiftConnection`\" pulumi-lang-go=\"`appServiceVirtualNetworkSwiftConnection`\" pulumi-lang-python=\"`app_service_virtual_network_swift_connection`\" pulumi-lang-yaml=\"`appServiceVirtualNetworkSwiftConnection`\" pulumi-lang-java=\"`appServiceVirtualNetworkSwiftConnection`\"\u003e`app_service_virtual_network_swift_connection`\u003c/span\u003e then \u003cspan pulumi-lang-nodejs=\"`ignoreChanges`\" pulumi-lang-dotnet=\"`IgnoreChanges`\" pulumi-lang-go=\"`ignoreChanges`\" pulumi-lang-python=\"`ignore_changes`\" pulumi-lang-yaml=\"`ignoreChanges`\" pulumi-lang-java=\"`ignoreChanges`\"\u003e`ignore_changes`\u003c/span\u003e should be used in the web app configuration.\n\n\u003e **Note:** Assigning the \u003cspan pulumi-lang-nodejs=\"`virtualNetworkSubnetId`\" pulumi-lang-dotnet=\"`VirtualNetworkSubnetId`\" pulumi-lang-go=\"`virtualNetworkSubnetId`\" pulumi-lang-python=\"`virtual_network_subnet_id`\" pulumi-lang-yaml=\"`virtualNetworkSubnetId`\" pulumi-lang-java=\"`virtualNetworkSubnetId`\"\u003e`virtual_network_subnet_id`\u003c/span\u003e property requires [RBAC permissions on the subnet](https://docs.microsoft.com/en-us/azure/app-service/overview-vnet-integration#permissions)\n"},"webdeployPublishBasicAuthenticationEnabled":{"type":"boolean","description":"Should the default WebDeploy Basic Authentication publishing credentials enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n\n\u003e **Note:** Setting this value to true will disable the ability to use \u003cspan pulumi-lang-nodejs=\"`zipDeployFile`\" pulumi-lang-dotnet=\"`ZipDeployFile`\" pulumi-lang-go=\"`zipDeployFile`\" pulumi-lang-python=\"`zip_deploy_file`\" pulumi-lang-yaml=\"`zipDeployFile`\" pulumi-lang-java=\"`zipDeployFile`\"\u003e`zip_deploy_file`\u003c/span\u003e which currently relies on the default publishing profile.\n"},"zipDeployFile":{"type":"string","description":"The local path and filename of the Zip packaged application to deploy to this Windows Web App.\n\n\u003e **Note:** Using this value requires either `WEBSITE_RUN_FROM_PACKAGE=1` or `SCM_DO_BUILD_DURING_DEPLOYMENT=true` to be set on the App in \u003cspan pulumi-lang-nodejs=\"`appSettings`\" pulumi-lang-dotnet=\"`AppSettings`\" pulumi-lang-go=\"`appSettings`\" pulumi-lang-python=\"`app_settings`\" pulumi-lang-yaml=\"`appSettings`\" pulumi-lang-java=\"`appSettings`\"\u003e`app_settings`\u003c/span\u003e. Refer to the Azure docs on [running the Web App directly from the Zip package](https://learn.microsoft.com/en-us/azure/app-service/deploy-run-package), or [automating the build for Zip deploy](https://learn.microsoft.com/en-us/azure/app-service/deploy-zip#enable-build-automation-for-zip-deploy) for further details.\n"}},"type":"object"}},"azure:appservice/windowsWebAppSlot:WindowsWebAppSlot":{"description":"Manages a Windows Web App Slot.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleServicePlan = new azure.appservice.ServicePlan(\"example\", {\n    name: \"example-plan\",\n    resourceGroupName: example.name,\n    location: example.location,\n    osType: \"Windows\",\n    skuName: \"P1v2\",\n});\nconst exampleWindowsWebApp = new azure.appservice.WindowsWebApp(\"example\", {\n    name: \"example-windows-web-app\",\n    resourceGroupName: example.name,\n    location: exampleServicePlan.location,\n    servicePlanId: exampleServicePlan.id,\n    siteConfig: {},\n});\nconst exampleWindowsWebAppSlot = new azure.appservice.WindowsWebAppSlot(\"example\", {\n    name: \"example-slot\",\n    appServiceId: exampleWindowsWebApp.id,\n    siteConfig: {},\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_service_plan = azure.appservice.ServicePlan(\"example\",\n    name=\"example-plan\",\n    resource_group_name=example.name,\n    location=example.location,\n    os_type=\"Windows\",\n    sku_name=\"P1v2\")\nexample_windows_web_app = azure.appservice.WindowsWebApp(\"example\",\n    name=\"example-windows-web-app\",\n    resource_group_name=example.name,\n    location=example_service_plan.location,\n    service_plan_id=example_service_plan.id,\n    site_config={})\nexample_windows_web_app_slot = azure.appservice.WindowsWebAppSlot(\"example\",\n    name=\"example-slot\",\n    app_service_id=example_windows_web_app.id,\n    site_config={})\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleServicePlan = new Azure.AppService.ServicePlan(\"example\", new()\n    {\n        Name = \"example-plan\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        OsType = \"Windows\",\n        SkuName = \"P1v2\",\n    });\n\n    var exampleWindowsWebApp = new Azure.AppService.WindowsWebApp(\"example\", new()\n    {\n        Name = \"example-windows-web-app\",\n        ResourceGroupName = example.Name,\n        Location = exampleServicePlan.Location,\n        ServicePlanId = exampleServicePlan.Id,\n        SiteConfig = null,\n    });\n\n    var exampleWindowsWebAppSlot = new Azure.AppService.WindowsWebAppSlot(\"example\", new()\n    {\n        Name = \"example-slot\",\n        AppServiceId = exampleWindowsWebApp.Id,\n        SiteConfig = null,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/appservice\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleServicePlan, err := appservice.NewServicePlan(ctx, \"example\", \u0026appservice.ServicePlanArgs{\n\t\t\tName:              pulumi.String(\"example-plan\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tOsType:            pulumi.String(\"Windows\"),\n\t\t\tSkuName:           pulumi.String(\"P1v2\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleWindowsWebApp, err := appservice.NewWindowsWebApp(ctx, \"example\", \u0026appservice.WindowsWebAppArgs{\n\t\t\tName:              pulumi.String(\"example-windows-web-app\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          exampleServicePlan.Location,\n\t\t\tServicePlanId:     exampleServicePlan.ID(),\n\t\t\tSiteConfig:        \u0026appservice.WindowsWebAppSiteConfigArgs{},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = appservice.NewWindowsWebAppSlot(ctx, \"example\", \u0026appservice.WindowsWebAppSlotArgs{\n\t\t\tName:         pulumi.String(\"example-slot\"),\n\t\t\tAppServiceId: exampleWindowsWebApp.ID(),\n\t\t\tSiteConfig:   \u0026appservice.WindowsWebAppSlotSiteConfigArgs{},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.appservice.ServicePlan;\nimport com.pulumi.azure.appservice.ServicePlanArgs;\nimport com.pulumi.azure.appservice.WindowsWebApp;\nimport com.pulumi.azure.appservice.WindowsWebAppArgs;\nimport com.pulumi.azure.appservice.inputs.WindowsWebAppSiteConfigArgs;\nimport com.pulumi.azure.appservice.WindowsWebAppSlot;\nimport com.pulumi.azure.appservice.WindowsWebAppSlotArgs;\nimport com.pulumi.azure.appservice.inputs.WindowsWebAppSlotSiteConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleServicePlan = new ServicePlan(\"exampleServicePlan\", ServicePlanArgs.builder()\n            .name(\"example-plan\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .osType(\"Windows\")\n            .skuName(\"P1v2\")\n            .build());\n\n        var exampleWindowsWebApp = new WindowsWebApp(\"exampleWindowsWebApp\", WindowsWebAppArgs.builder()\n            .name(\"example-windows-web-app\")\n            .resourceGroupName(example.name())\n            .location(exampleServicePlan.location())\n            .servicePlanId(exampleServicePlan.id())\n            .siteConfig(WindowsWebAppSiteConfigArgs.builder()\n                .build())\n            .build());\n\n        var exampleWindowsWebAppSlot = new WindowsWebAppSlot(\"exampleWindowsWebAppSlot\", WindowsWebAppSlotArgs.builder()\n            .name(\"example-slot\")\n            .appServiceId(exampleWindowsWebApp.id())\n            .siteConfig(WindowsWebAppSlotSiteConfigArgs.builder()\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleServicePlan:\n    type: azure:appservice:ServicePlan\n    name: example\n    properties:\n      name: example-plan\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      osType: Windows\n      skuName: P1v2\n  exampleWindowsWebApp:\n    type: azure:appservice:WindowsWebApp\n    name: example\n    properties:\n      name: example-windows-web-app\n      resourceGroupName: ${example.name}\n      location: ${exampleServicePlan.location}\n      servicePlanId: ${exampleServicePlan.id}\n      siteConfig: {}\n  exampleWindowsWebAppSlot:\n    type: azure:appservice:WindowsWebAppSlot\n    name: example\n    properties:\n      name: example-slot\n      appServiceId: ${exampleWindowsWebApp.id}\n      siteConfig: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Web` - 2023-12-01\n\n## Import\n\nWindows Web Apps can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:appservice/windowsWebAppSlot:WindowsWebAppSlot example /subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/resGroup1/providers/Microsoft.Web/sites/site1/slots/slot1\n```\n\n","properties":{"appServiceId":{"type":"string","description":"The ID of the Windows Web App this Deployment Slot will be part of. Changing this forces a new Windows Web App to be created.\n"},"appSettings":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of key-value pairs of App Settings.\n"},"authSettings":{"$ref":"#/types/azure:appservice/WindowsWebAppSlotAuthSettings:WindowsWebAppSlotAuthSettings","description":"An \u003cspan pulumi-lang-nodejs=\"`authSettings`\" pulumi-lang-dotnet=\"`AuthSettings`\" pulumi-lang-go=\"`authSettings`\" pulumi-lang-python=\"`auth_settings`\" pulumi-lang-yaml=\"`authSettings`\" pulumi-lang-java=\"`authSettings`\"\u003e`auth_settings`\u003c/span\u003e block as defined below.\n"},"authSettingsV2":{"$ref":"#/types/azure:appservice/WindowsWebAppSlotAuthSettingsV2:WindowsWebAppSlotAuthSettingsV2","description":"An \u003cspan pulumi-lang-nodejs=\"`authSettingsV2`\" pulumi-lang-dotnet=\"`AuthSettingsV2`\" pulumi-lang-go=\"`authSettingsV2`\" pulumi-lang-python=\"`auth_settings_v2`\" pulumi-lang-yaml=\"`authSettingsV2`\" pulumi-lang-java=\"`authSettingsV2`\"\u003e`auth_settings_v2`\u003c/span\u003e block as defined below.\n"},"backup":{"$ref":"#/types/azure:appservice/WindowsWebAppSlotBackup:WindowsWebAppSlotBackup","description":"A \u003cspan pulumi-lang-nodejs=\"`backup`\" pulumi-lang-dotnet=\"`Backup`\" pulumi-lang-go=\"`backup`\" pulumi-lang-python=\"`backup`\" pulumi-lang-yaml=\"`backup`\" pulumi-lang-java=\"`backup`\"\u003e`backup`\u003c/span\u003e block as defined below.\n"},"clientAffinityEnabled":{"type":"boolean","description":"Should Client Affinity be enabled?\n"},"clientCertificateEnabled":{"type":"boolean","description":"Should Client Certificates be enabled?\n"},"clientCertificateExclusionPaths":{"type":"string","description":"Paths to exclude when using client certificates, separated by ;\n"},"clientCertificateMode":{"type":"string","description":"The Client Certificate mode. Possible values are `Required`, `Optional`, and `OptionalInteractiveUser`. This property has no effect when \u003cspan pulumi-lang-nodejs=\"`clientCertificateEnabled`\" pulumi-lang-dotnet=\"`ClientCertificateEnabled`\" pulumi-lang-go=\"`clientCertificateEnabled`\" pulumi-lang-python=\"`client_certificate_enabled`\" pulumi-lang-yaml=\"`clientCertificateEnabled`\" pulumi-lang-java=\"`clientCertificateEnabled`\"\u003e`client_certificate_enabled`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Defaults to `Required`.\n"},"connectionStrings":{"type":"array","items":{"$ref":"#/types/azure:appservice/WindowsWebAppSlotConnectionString:WindowsWebAppSlotConnectionString"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`connectionString`\" pulumi-lang-dotnet=\"`ConnectionString`\" pulumi-lang-go=\"`connectionString`\" pulumi-lang-python=\"`connection_string`\" pulumi-lang-yaml=\"`connectionString`\" pulumi-lang-java=\"`connectionString`\"\u003e`connection_string`\u003c/span\u003e blocks as defined below.\n"},"customDomainVerificationId":{"type":"string","description":"The identifier used by App Service to perform domain ownership verification via DNS TXT record.\n","secret":true},"defaultHostname":{"type":"string","description":"The default hostname of the Windows Web App Slot.\n"},"enabled":{"type":"boolean","description":"Should the Windows Web App Slot be enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"ftpPublishBasicAuthenticationEnabled":{"type":"boolean","description":"Should the default FTP Basic Authentication publishing profile be enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"hostingEnvironmentId":{"type":"string","description":"The ID of the App Service Environment used by App Service Slot.\n"},"httpsOnly":{"type":"boolean","description":"Should the Windows Web App Slot require HTTPS connections. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"identity":{"$ref":"#/types/azure:appservice/WindowsWebAppSlotIdentity:WindowsWebAppSlotIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"keyVaultReferenceIdentityId":{"type":"string","description":"The User Assigned Identity ID used for accessing KeyVault secrets. The identity must be assigned to the application in the \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block. [For more information see - Access vaults with a user-assigned identity](https://docs.microsoft.com/azure/app-service/app-service-key-vault-references#access-vaults-with-a-user-assigned-identity)\n"},"kind":{"type":"string","description":"The Kind value for this Windows Web App Slot.\n"},"logs":{"$ref":"#/types/azure:appservice/WindowsWebAppSlotLogs:WindowsWebAppSlotLogs","description":"A \u003cspan pulumi-lang-nodejs=\"`logs`\" pulumi-lang-dotnet=\"`Logs`\" pulumi-lang-go=\"`logs`\" pulumi-lang-python=\"`logs`\" pulumi-lang-yaml=\"`logs`\" pulumi-lang-java=\"`logs`\"\u003e`logs`\u003c/span\u003e block as defined below.\n"},"name":{"type":"string","description":"The name which should be used for this Windows Web App Slot. Changing this forces a new Windows Web App Slot to be created.\n\n\u003e **Note:** Terraform will perform a name availability check as part of the creation progress, if this Web App is part of an App Service Environment terraform will require Read permission on the App Service Environment for this to complete reliably.\n"},"outboundIpAddressLists":{"type":"array","items":{"type":"string"},"description":"A list of outbound IP addresses - such as `[\"52.23.25.3\", \"52.143.43.12\"]`\n"},"outboundIpAddresses":{"type":"string","description":"A comma separated list of outbound IP addresses - such as `52.23.25.3,52.143.43.12`.\n"},"possibleOutboundIpAddressLists":{"type":"array","items":{"type":"string"},"description":"A list of possible outbound ip address.\n"},"possibleOutboundIpAddresses":{"type":"string","description":"A comma separated list of outbound IP addresses - such as `52.23.25.3,52.143.43.12,52.143.43.17` - not all of which are necessarily in use. Superset of \u003cspan pulumi-lang-nodejs=\"`outboundIpAddresses`\" pulumi-lang-dotnet=\"`OutboundIpAddresses`\" pulumi-lang-go=\"`outboundIpAddresses`\" pulumi-lang-python=\"`outbound_ip_addresses`\" pulumi-lang-yaml=\"`outboundIpAddresses`\" pulumi-lang-java=\"`outboundIpAddresses`\"\u003e`outbound_ip_addresses`\u003c/span\u003e.\n"},"publicNetworkAccessEnabled":{"type":"boolean","description":"Should public network access be enabled for the Web App. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"servicePlanId":{"type":"string","description":"The ID of the Service Plan in which to run this slot. If not specified the same Service Plan as the Windows Web App will be used.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`servicePlanId`\" pulumi-lang-dotnet=\"`ServicePlanId`\" pulumi-lang-go=\"`servicePlanId`\" pulumi-lang-python=\"`service_plan_id`\" pulumi-lang-yaml=\"`servicePlanId`\" pulumi-lang-java=\"`servicePlanId`\"\u003e`service_plan_id`\u003c/span\u003e should only be specified if it differs from the Service Plan of the associated Windows Web App.\n"},"siteConfig":{"$ref":"#/types/azure:appservice/WindowsWebAppSlotSiteConfig:WindowsWebAppSlotSiteConfig","description":"A \u003cspan pulumi-lang-nodejs=\"`siteConfig`\" pulumi-lang-dotnet=\"`SiteConfig`\" pulumi-lang-go=\"`siteConfig`\" pulumi-lang-python=\"`site_config`\" pulumi-lang-yaml=\"`siteConfig`\" pulumi-lang-java=\"`siteConfig`\"\u003e`site_config`\u003c/span\u003e block as defined below.\n"},"siteCredentials":{"type":"array","items":{"$ref":"#/types/azure:appservice/WindowsWebAppSlotSiteCredential:WindowsWebAppSlotSiteCredential"},"description":"A \u003cspan pulumi-lang-nodejs=\"`siteCredential`\" pulumi-lang-dotnet=\"`SiteCredential`\" pulumi-lang-go=\"`siteCredential`\" pulumi-lang-python=\"`site_credential`\" pulumi-lang-yaml=\"`siteCredential`\" pulumi-lang-java=\"`siteCredential`\"\u003e`site_credential`\u003c/span\u003e block as defined below.\n","secret":true},"storageAccounts":{"type":"array","items":{"$ref":"#/types/azure:appservice/WindowsWebAppSlotStorageAccount:WindowsWebAppSlotStorageAccount"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`storageAccount`\" pulumi-lang-dotnet=\"`StorageAccount`\" pulumi-lang-go=\"`storageAccount`\" pulumi-lang-python=\"`storage_account`\" pulumi-lang-yaml=\"`storageAccount`\" pulumi-lang-java=\"`storageAccount`\"\u003e`storage_account`\u003c/span\u003e blocks as defined below.\n\n\u003e **Note:** Using this value requires `WEBSITE_RUN_FROM_PACKAGE=1` to be set on the App in \u003cspan pulumi-lang-nodejs=\"`appSettings`\" pulumi-lang-dotnet=\"`AppSettings`\" pulumi-lang-go=\"`appSettings`\" pulumi-lang-python=\"`app_settings`\" pulumi-lang-yaml=\"`appSettings`\" pulumi-lang-java=\"`appSettings`\"\u003e`app_settings`\u003c/span\u003e. Refer to the [Azure docs](https://docs.microsoft.com/en-us/azure/app-service/deploy-run-package) for further details.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Windows Web App Slot.\n"},"virtualNetworkBackupRestoreEnabled":{"type":"boolean","description":"Whether backup and restore operations over the linked virtual network are enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"virtualNetworkImagePullEnabled":{"type":"boolean","description":"Whether traffic for the image pull should be routed over the virtual network.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`virtualNetworkImagePullEnabled`\" pulumi-lang-dotnet=\"`VirtualNetworkImagePullEnabled`\" pulumi-lang-go=\"`virtualNetworkImagePullEnabled`\" pulumi-lang-python=\"`virtual_network_image_pull_enabled`\" pulumi-lang-yaml=\"`virtualNetworkImagePullEnabled`\" pulumi-lang-java=\"`virtualNetworkImagePullEnabled`\"\u003e`virtual_network_image_pull_enabled`\u003c/span\u003e must be set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e when running in an App Service Environment.\n"},"virtualNetworkSubnetId":{"type":"string","description":"The subnet id which will be used by this Web App Slot for [regional virtual network integration](https://docs.microsoft.com/en-us/azure/app-service/overview-vnet-integration#regional-virtual-network-integration).\n\n\u003e **Note:** The AzureRM Terraform provider provides regional virtual network integration via the standalone resource\u003cspan pulumi-lang-nodejs=\" appServiceVirtualNetworkSwiftConnection \" pulumi-lang-dotnet=\" AppServiceVirtualNetworkSwiftConnection \" pulumi-lang-go=\" appServiceVirtualNetworkSwiftConnection \" pulumi-lang-python=\" app_service_virtual_network_swift_connection \" pulumi-lang-yaml=\" appServiceVirtualNetworkSwiftConnection \" pulumi-lang-java=\" appServiceVirtualNetworkSwiftConnection \"\u003e app_service_virtual_network_swift_connection \u003c/span\u003eand in-line within this resource using the \u003cspan pulumi-lang-nodejs=\"`virtualNetworkSubnetId`\" pulumi-lang-dotnet=\"`VirtualNetworkSubnetId`\" pulumi-lang-go=\"`virtualNetworkSubnetId`\" pulumi-lang-python=\"`virtual_network_subnet_id`\" pulumi-lang-yaml=\"`virtualNetworkSubnetId`\" pulumi-lang-java=\"`virtualNetworkSubnetId`\"\u003e`virtual_network_subnet_id`\u003c/span\u003e property. You cannot use both methods simultaneously. If the virtual network is set via the resource \u003cspan pulumi-lang-nodejs=\"`appServiceVirtualNetworkSwiftConnection`\" pulumi-lang-dotnet=\"`AppServiceVirtualNetworkSwiftConnection`\" pulumi-lang-go=\"`appServiceVirtualNetworkSwiftConnection`\" pulumi-lang-python=\"`app_service_virtual_network_swift_connection`\" pulumi-lang-yaml=\"`appServiceVirtualNetworkSwiftConnection`\" pulumi-lang-java=\"`appServiceVirtualNetworkSwiftConnection`\"\u003e`app_service_virtual_network_swift_connection`\u003c/span\u003e then \u003cspan pulumi-lang-nodejs=\"`ignoreChanges`\" pulumi-lang-dotnet=\"`IgnoreChanges`\" pulumi-lang-go=\"`ignoreChanges`\" pulumi-lang-python=\"`ignore_changes`\" pulumi-lang-yaml=\"`ignoreChanges`\" pulumi-lang-java=\"`ignoreChanges`\"\u003e`ignore_changes`\u003c/span\u003e should be used in the web app slot configuration.\n\n\u003e **Note:** Assigning the \u003cspan pulumi-lang-nodejs=\"`virtualNetworkSubnetId`\" pulumi-lang-dotnet=\"`VirtualNetworkSubnetId`\" pulumi-lang-go=\"`virtualNetworkSubnetId`\" pulumi-lang-python=\"`virtual_network_subnet_id`\" pulumi-lang-yaml=\"`virtualNetworkSubnetId`\" pulumi-lang-java=\"`virtualNetworkSubnetId`\"\u003e`virtual_network_subnet_id`\u003c/span\u003e property requires [RBAC permissions on the subnet](https://docs.microsoft.com/en-us/azure/app-service/overview-vnet-integration#permissions)\n"},"webdeployPublishBasicAuthenticationEnabled":{"type":"boolean","description":"Should the default WebDeploy Basic Authentication publishing credentials enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n\n\u003e **Note:** Setting this value to true will disable the ability to use \u003cspan pulumi-lang-nodejs=\"`zipDeployFile`\" pulumi-lang-dotnet=\"`ZipDeployFile`\" pulumi-lang-go=\"`zipDeployFile`\" pulumi-lang-python=\"`zip_deploy_file`\" pulumi-lang-yaml=\"`zipDeployFile`\" pulumi-lang-java=\"`zipDeployFile`\"\u003e`zip_deploy_file`\u003c/span\u003e which currently relies on the default publishing profile.\n"},"zipDeployFile":{"type":"string","description":"The local path and filename of the Zip packaged application to deploy to this Windows Web App.\n"}},"required":["appServiceId","customDomainVerificationId","defaultHostname","hostingEnvironmentId","keyVaultReferenceIdentityId","kind","name","outboundIpAddressLists","outboundIpAddresses","possibleOutboundIpAddressLists","possibleOutboundIpAddresses","siteConfig","siteCredentials","virtualNetworkImagePullEnabled","zipDeployFile"],"inputProperties":{"appServiceId":{"type":"string","description":"The ID of the Windows Web App this Deployment Slot will be part of. Changing this forces a new Windows Web App to be created.\n","willReplaceOnChanges":true},"appSettings":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of key-value pairs of App Settings.\n"},"authSettings":{"$ref":"#/types/azure:appservice/WindowsWebAppSlotAuthSettings:WindowsWebAppSlotAuthSettings","description":"An \u003cspan pulumi-lang-nodejs=\"`authSettings`\" pulumi-lang-dotnet=\"`AuthSettings`\" pulumi-lang-go=\"`authSettings`\" pulumi-lang-python=\"`auth_settings`\" pulumi-lang-yaml=\"`authSettings`\" pulumi-lang-java=\"`authSettings`\"\u003e`auth_settings`\u003c/span\u003e block as defined below.\n"},"authSettingsV2":{"$ref":"#/types/azure:appservice/WindowsWebAppSlotAuthSettingsV2:WindowsWebAppSlotAuthSettingsV2","description":"An \u003cspan pulumi-lang-nodejs=\"`authSettingsV2`\" pulumi-lang-dotnet=\"`AuthSettingsV2`\" pulumi-lang-go=\"`authSettingsV2`\" pulumi-lang-python=\"`auth_settings_v2`\" pulumi-lang-yaml=\"`authSettingsV2`\" pulumi-lang-java=\"`authSettingsV2`\"\u003e`auth_settings_v2`\u003c/span\u003e block as defined below.\n"},"backup":{"$ref":"#/types/azure:appservice/WindowsWebAppSlotBackup:WindowsWebAppSlotBackup","description":"A \u003cspan pulumi-lang-nodejs=\"`backup`\" pulumi-lang-dotnet=\"`Backup`\" pulumi-lang-go=\"`backup`\" pulumi-lang-python=\"`backup`\" pulumi-lang-yaml=\"`backup`\" pulumi-lang-java=\"`backup`\"\u003e`backup`\u003c/span\u003e block as defined below.\n"},"clientAffinityEnabled":{"type":"boolean","description":"Should Client Affinity be enabled?\n"},"clientCertificateEnabled":{"type":"boolean","description":"Should Client Certificates be enabled?\n"},"clientCertificateExclusionPaths":{"type":"string","description":"Paths to exclude when using client certificates, separated by ;\n"},"clientCertificateMode":{"type":"string","description":"The Client Certificate mode. Possible values are `Required`, `Optional`, and `OptionalInteractiveUser`. This property has no effect when \u003cspan pulumi-lang-nodejs=\"`clientCertificateEnabled`\" pulumi-lang-dotnet=\"`ClientCertificateEnabled`\" pulumi-lang-go=\"`clientCertificateEnabled`\" pulumi-lang-python=\"`client_certificate_enabled`\" pulumi-lang-yaml=\"`clientCertificateEnabled`\" pulumi-lang-java=\"`clientCertificateEnabled`\"\u003e`client_certificate_enabled`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Defaults to `Required`.\n"},"connectionStrings":{"type":"array","items":{"$ref":"#/types/azure:appservice/WindowsWebAppSlotConnectionString:WindowsWebAppSlotConnectionString"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`connectionString`\" pulumi-lang-dotnet=\"`ConnectionString`\" pulumi-lang-go=\"`connectionString`\" pulumi-lang-python=\"`connection_string`\" pulumi-lang-yaml=\"`connectionString`\" pulumi-lang-java=\"`connectionString`\"\u003e`connection_string`\u003c/span\u003e blocks as defined below.\n"},"enabled":{"type":"boolean","description":"Should the Windows Web App Slot be enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"ftpPublishBasicAuthenticationEnabled":{"type":"boolean","description":"Should the default FTP Basic Authentication publishing profile be enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"httpsOnly":{"type":"boolean","description":"Should the Windows Web App Slot require HTTPS connections. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"identity":{"$ref":"#/types/azure:appservice/WindowsWebAppSlotIdentity:WindowsWebAppSlotIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"keyVaultReferenceIdentityId":{"type":"string","description":"The User Assigned Identity ID used for accessing KeyVault secrets. The identity must be assigned to the application in the \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block. [For more information see - Access vaults with a user-assigned identity](https://docs.microsoft.com/azure/app-service/app-service-key-vault-references#access-vaults-with-a-user-assigned-identity)\n"},"logs":{"$ref":"#/types/azure:appservice/WindowsWebAppSlotLogs:WindowsWebAppSlotLogs","description":"A \u003cspan pulumi-lang-nodejs=\"`logs`\" pulumi-lang-dotnet=\"`Logs`\" pulumi-lang-go=\"`logs`\" pulumi-lang-python=\"`logs`\" pulumi-lang-yaml=\"`logs`\" pulumi-lang-java=\"`logs`\"\u003e`logs`\u003c/span\u003e block as defined below.\n"},"name":{"type":"string","description":"The name which should be used for this Windows Web App Slot. Changing this forces a new Windows Web App Slot to be created.\n\n\u003e **Note:** Terraform will perform a name availability check as part of the creation progress, if this Web App is part of an App Service Environment terraform will require Read permission on the App Service Environment for this to complete reliably.\n","willReplaceOnChanges":true},"publicNetworkAccessEnabled":{"type":"boolean","description":"Should public network access be enabled for the Web App. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"servicePlanId":{"type":"string","description":"The ID of the Service Plan in which to run this slot. If not specified the same Service Plan as the Windows Web App will be used.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`servicePlanId`\" pulumi-lang-dotnet=\"`ServicePlanId`\" pulumi-lang-go=\"`servicePlanId`\" pulumi-lang-python=\"`service_plan_id`\" pulumi-lang-yaml=\"`servicePlanId`\" pulumi-lang-java=\"`servicePlanId`\"\u003e`service_plan_id`\u003c/span\u003e should only be specified if it differs from the Service Plan of the associated Windows Web App.\n"},"siteConfig":{"$ref":"#/types/azure:appservice/WindowsWebAppSlotSiteConfig:WindowsWebAppSlotSiteConfig","description":"A \u003cspan pulumi-lang-nodejs=\"`siteConfig`\" pulumi-lang-dotnet=\"`SiteConfig`\" pulumi-lang-go=\"`siteConfig`\" pulumi-lang-python=\"`site_config`\" pulumi-lang-yaml=\"`siteConfig`\" pulumi-lang-java=\"`siteConfig`\"\u003e`site_config`\u003c/span\u003e block as defined below.\n"},"storageAccounts":{"type":"array","items":{"$ref":"#/types/azure:appservice/WindowsWebAppSlotStorageAccount:WindowsWebAppSlotStorageAccount"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`storageAccount`\" pulumi-lang-dotnet=\"`StorageAccount`\" pulumi-lang-go=\"`storageAccount`\" pulumi-lang-python=\"`storage_account`\" pulumi-lang-yaml=\"`storageAccount`\" pulumi-lang-java=\"`storageAccount`\"\u003e`storage_account`\u003c/span\u003e blocks as defined below.\n\n\u003e **Note:** Using this value requires `WEBSITE_RUN_FROM_PACKAGE=1` to be set on the App in \u003cspan pulumi-lang-nodejs=\"`appSettings`\" pulumi-lang-dotnet=\"`AppSettings`\" pulumi-lang-go=\"`appSettings`\" pulumi-lang-python=\"`app_settings`\" pulumi-lang-yaml=\"`appSettings`\" pulumi-lang-java=\"`appSettings`\"\u003e`app_settings`\u003c/span\u003e. Refer to the [Azure docs](https://docs.microsoft.com/en-us/azure/app-service/deploy-run-package) for further details.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Windows Web App Slot.\n"},"virtualNetworkBackupRestoreEnabled":{"type":"boolean","description":"Whether backup and restore operations over the linked virtual network are enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"virtualNetworkImagePullEnabled":{"type":"boolean","description":"Whether traffic for the image pull should be routed over the virtual network.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`virtualNetworkImagePullEnabled`\" pulumi-lang-dotnet=\"`VirtualNetworkImagePullEnabled`\" pulumi-lang-go=\"`virtualNetworkImagePullEnabled`\" pulumi-lang-python=\"`virtual_network_image_pull_enabled`\" pulumi-lang-yaml=\"`virtualNetworkImagePullEnabled`\" pulumi-lang-java=\"`virtualNetworkImagePullEnabled`\"\u003e`virtual_network_image_pull_enabled`\u003c/span\u003e must be set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e when running in an App Service Environment.\n"},"virtualNetworkSubnetId":{"type":"string","description":"The subnet id which will be used by this Web App Slot for [regional virtual network integration](https://docs.microsoft.com/en-us/azure/app-service/overview-vnet-integration#regional-virtual-network-integration).\n\n\u003e **Note:** The AzureRM Terraform provider provides regional virtual network integration via the standalone resource\u003cspan pulumi-lang-nodejs=\" appServiceVirtualNetworkSwiftConnection \" pulumi-lang-dotnet=\" AppServiceVirtualNetworkSwiftConnection \" pulumi-lang-go=\" appServiceVirtualNetworkSwiftConnection \" pulumi-lang-python=\" app_service_virtual_network_swift_connection \" pulumi-lang-yaml=\" appServiceVirtualNetworkSwiftConnection \" pulumi-lang-java=\" appServiceVirtualNetworkSwiftConnection \"\u003e app_service_virtual_network_swift_connection \u003c/span\u003eand in-line within this resource using the \u003cspan pulumi-lang-nodejs=\"`virtualNetworkSubnetId`\" pulumi-lang-dotnet=\"`VirtualNetworkSubnetId`\" pulumi-lang-go=\"`virtualNetworkSubnetId`\" pulumi-lang-python=\"`virtual_network_subnet_id`\" pulumi-lang-yaml=\"`virtualNetworkSubnetId`\" pulumi-lang-java=\"`virtualNetworkSubnetId`\"\u003e`virtual_network_subnet_id`\u003c/span\u003e property. You cannot use both methods simultaneously. If the virtual network is set via the resource \u003cspan pulumi-lang-nodejs=\"`appServiceVirtualNetworkSwiftConnection`\" pulumi-lang-dotnet=\"`AppServiceVirtualNetworkSwiftConnection`\" pulumi-lang-go=\"`appServiceVirtualNetworkSwiftConnection`\" pulumi-lang-python=\"`app_service_virtual_network_swift_connection`\" pulumi-lang-yaml=\"`appServiceVirtualNetworkSwiftConnection`\" pulumi-lang-java=\"`appServiceVirtualNetworkSwiftConnection`\"\u003e`app_service_virtual_network_swift_connection`\u003c/span\u003e then \u003cspan pulumi-lang-nodejs=\"`ignoreChanges`\" pulumi-lang-dotnet=\"`IgnoreChanges`\" pulumi-lang-go=\"`ignoreChanges`\" pulumi-lang-python=\"`ignore_changes`\" pulumi-lang-yaml=\"`ignoreChanges`\" pulumi-lang-java=\"`ignoreChanges`\"\u003e`ignore_changes`\u003c/span\u003e should be used in the web app slot configuration.\n\n\u003e **Note:** Assigning the \u003cspan pulumi-lang-nodejs=\"`virtualNetworkSubnetId`\" pulumi-lang-dotnet=\"`VirtualNetworkSubnetId`\" pulumi-lang-go=\"`virtualNetworkSubnetId`\" pulumi-lang-python=\"`virtual_network_subnet_id`\" pulumi-lang-yaml=\"`virtualNetworkSubnetId`\" pulumi-lang-java=\"`virtualNetworkSubnetId`\"\u003e`virtual_network_subnet_id`\u003c/span\u003e property requires [RBAC permissions on the subnet](https://docs.microsoft.com/en-us/azure/app-service/overview-vnet-integration#permissions)\n"},"webdeployPublishBasicAuthenticationEnabled":{"type":"boolean","description":"Should the default WebDeploy Basic Authentication publishing credentials enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n\n\u003e **Note:** Setting this value to true will disable the ability to use \u003cspan pulumi-lang-nodejs=\"`zipDeployFile`\" pulumi-lang-dotnet=\"`ZipDeployFile`\" pulumi-lang-go=\"`zipDeployFile`\" pulumi-lang-python=\"`zip_deploy_file`\" pulumi-lang-yaml=\"`zipDeployFile`\" pulumi-lang-java=\"`zipDeployFile`\"\u003e`zip_deploy_file`\u003c/span\u003e which currently relies on the default publishing profile.\n"},"zipDeployFile":{"type":"string","description":"The local path and filename of the Zip packaged application to deploy to this Windows Web App.\n"}},"requiredInputs":["appServiceId","siteConfig"],"stateInputs":{"description":"Input properties used for looking up and filtering WindowsWebAppSlot resources.\n","properties":{"appServiceId":{"type":"string","description":"The ID of the Windows Web App this Deployment Slot will be part of. Changing this forces a new Windows Web App to be created.\n","willReplaceOnChanges":true},"appSettings":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of key-value pairs of App Settings.\n"},"authSettings":{"$ref":"#/types/azure:appservice/WindowsWebAppSlotAuthSettings:WindowsWebAppSlotAuthSettings","description":"An \u003cspan pulumi-lang-nodejs=\"`authSettings`\" pulumi-lang-dotnet=\"`AuthSettings`\" pulumi-lang-go=\"`authSettings`\" pulumi-lang-python=\"`auth_settings`\" pulumi-lang-yaml=\"`authSettings`\" pulumi-lang-java=\"`authSettings`\"\u003e`auth_settings`\u003c/span\u003e block as defined below.\n"},"authSettingsV2":{"$ref":"#/types/azure:appservice/WindowsWebAppSlotAuthSettingsV2:WindowsWebAppSlotAuthSettingsV2","description":"An \u003cspan pulumi-lang-nodejs=\"`authSettingsV2`\" pulumi-lang-dotnet=\"`AuthSettingsV2`\" pulumi-lang-go=\"`authSettingsV2`\" pulumi-lang-python=\"`auth_settings_v2`\" pulumi-lang-yaml=\"`authSettingsV2`\" pulumi-lang-java=\"`authSettingsV2`\"\u003e`auth_settings_v2`\u003c/span\u003e block as defined below.\n"},"backup":{"$ref":"#/types/azure:appservice/WindowsWebAppSlotBackup:WindowsWebAppSlotBackup","description":"A \u003cspan pulumi-lang-nodejs=\"`backup`\" pulumi-lang-dotnet=\"`Backup`\" pulumi-lang-go=\"`backup`\" pulumi-lang-python=\"`backup`\" pulumi-lang-yaml=\"`backup`\" pulumi-lang-java=\"`backup`\"\u003e`backup`\u003c/span\u003e block as defined below.\n"},"clientAffinityEnabled":{"type":"boolean","description":"Should Client Affinity be enabled?\n"},"clientCertificateEnabled":{"type":"boolean","description":"Should Client Certificates be enabled?\n"},"clientCertificateExclusionPaths":{"type":"string","description":"Paths to exclude when using client certificates, separated by ;\n"},"clientCertificateMode":{"type":"string","description":"The Client Certificate mode. Possible values are `Required`, `Optional`, and `OptionalInteractiveUser`. This property has no effect when \u003cspan pulumi-lang-nodejs=\"`clientCertificateEnabled`\" pulumi-lang-dotnet=\"`ClientCertificateEnabled`\" pulumi-lang-go=\"`clientCertificateEnabled`\" pulumi-lang-python=\"`client_certificate_enabled`\" pulumi-lang-yaml=\"`clientCertificateEnabled`\" pulumi-lang-java=\"`clientCertificateEnabled`\"\u003e`client_certificate_enabled`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Defaults to `Required`.\n"},"connectionStrings":{"type":"array","items":{"$ref":"#/types/azure:appservice/WindowsWebAppSlotConnectionString:WindowsWebAppSlotConnectionString"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`connectionString`\" pulumi-lang-dotnet=\"`ConnectionString`\" pulumi-lang-go=\"`connectionString`\" pulumi-lang-python=\"`connection_string`\" pulumi-lang-yaml=\"`connectionString`\" pulumi-lang-java=\"`connectionString`\"\u003e`connection_string`\u003c/span\u003e blocks as defined below.\n"},"customDomainVerificationId":{"type":"string","description":"The identifier used by App Service to perform domain ownership verification via DNS TXT record.\n","secret":true},"defaultHostname":{"type":"string","description":"The default hostname of the Windows Web App Slot.\n"},"enabled":{"type":"boolean","description":"Should the Windows Web App Slot be enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"ftpPublishBasicAuthenticationEnabled":{"type":"boolean","description":"Should the default FTP Basic Authentication publishing profile be enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"hostingEnvironmentId":{"type":"string","description":"The ID of the App Service Environment used by App Service Slot.\n"},"httpsOnly":{"type":"boolean","description":"Should the Windows Web App Slot require HTTPS connections. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"identity":{"$ref":"#/types/azure:appservice/WindowsWebAppSlotIdentity:WindowsWebAppSlotIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"keyVaultReferenceIdentityId":{"type":"string","description":"The User Assigned Identity ID used for accessing KeyVault secrets. The identity must be assigned to the application in the \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block. [For more information see - Access vaults with a user-assigned identity](https://docs.microsoft.com/azure/app-service/app-service-key-vault-references#access-vaults-with-a-user-assigned-identity)\n"},"kind":{"type":"string","description":"The Kind value for this Windows Web App Slot.\n"},"logs":{"$ref":"#/types/azure:appservice/WindowsWebAppSlotLogs:WindowsWebAppSlotLogs","description":"A \u003cspan pulumi-lang-nodejs=\"`logs`\" pulumi-lang-dotnet=\"`Logs`\" pulumi-lang-go=\"`logs`\" pulumi-lang-python=\"`logs`\" pulumi-lang-yaml=\"`logs`\" pulumi-lang-java=\"`logs`\"\u003e`logs`\u003c/span\u003e block as defined below.\n"},"name":{"type":"string","description":"The name which should be used for this Windows Web App Slot. Changing this forces a new Windows Web App Slot to be created.\n\n\u003e **Note:** Terraform will perform a name availability check as part of the creation progress, if this Web App is part of an App Service Environment terraform will require Read permission on the App Service Environment for this to complete reliably.\n","willReplaceOnChanges":true},"outboundIpAddressLists":{"type":"array","items":{"type":"string"},"description":"A list of outbound IP addresses - such as `[\"52.23.25.3\", \"52.143.43.12\"]`\n"},"outboundIpAddresses":{"type":"string","description":"A comma separated list of outbound IP addresses - such as `52.23.25.3,52.143.43.12`.\n"},"possibleOutboundIpAddressLists":{"type":"array","items":{"type":"string"},"description":"A list of possible outbound ip address.\n"},"possibleOutboundIpAddresses":{"type":"string","description":"A comma separated list of outbound IP addresses - such as `52.23.25.3,52.143.43.12,52.143.43.17` - not all of which are necessarily in use. Superset of \u003cspan pulumi-lang-nodejs=\"`outboundIpAddresses`\" pulumi-lang-dotnet=\"`OutboundIpAddresses`\" pulumi-lang-go=\"`outboundIpAddresses`\" pulumi-lang-python=\"`outbound_ip_addresses`\" pulumi-lang-yaml=\"`outboundIpAddresses`\" pulumi-lang-java=\"`outboundIpAddresses`\"\u003e`outbound_ip_addresses`\u003c/span\u003e.\n"},"publicNetworkAccessEnabled":{"type":"boolean","description":"Should public network access be enabled for the Web App. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"servicePlanId":{"type":"string","description":"The ID of the Service Plan in which to run this slot. If not specified the same Service Plan as the Windows Web App will be used.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`servicePlanId`\" pulumi-lang-dotnet=\"`ServicePlanId`\" pulumi-lang-go=\"`servicePlanId`\" pulumi-lang-python=\"`service_plan_id`\" pulumi-lang-yaml=\"`servicePlanId`\" pulumi-lang-java=\"`servicePlanId`\"\u003e`service_plan_id`\u003c/span\u003e should only be specified if it differs from the Service Plan of the associated Windows Web App.\n"},"siteConfig":{"$ref":"#/types/azure:appservice/WindowsWebAppSlotSiteConfig:WindowsWebAppSlotSiteConfig","description":"A \u003cspan pulumi-lang-nodejs=\"`siteConfig`\" pulumi-lang-dotnet=\"`SiteConfig`\" pulumi-lang-go=\"`siteConfig`\" pulumi-lang-python=\"`site_config`\" pulumi-lang-yaml=\"`siteConfig`\" pulumi-lang-java=\"`siteConfig`\"\u003e`site_config`\u003c/span\u003e block as defined below.\n"},"siteCredentials":{"type":"array","items":{"$ref":"#/types/azure:appservice/WindowsWebAppSlotSiteCredential:WindowsWebAppSlotSiteCredential"},"description":"A \u003cspan pulumi-lang-nodejs=\"`siteCredential`\" pulumi-lang-dotnet=\"`SiteCredential`\" pulumi-lang-go=\"`siteCredential`\" pulumi-lang-python=\"`site_credential`\" pulumi-lang-yaml=\"`siteCredential`\" pulumi-lang-java=\"`siteCredential`\"\u003e`site_credential`\u003c/span\u003e block as defined below.\n","secret":true},"storageAccounts":{"type":"array","items":{"$ref":"#/types/azure:appservice/WindowsWebAppSlotStorageAccount:WindowsWebAppSlotStorageAccount"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`storageAccount`\" pulumi-lang-dotnet=\"`StorageAccount`\" pulumi-lang-go=\"`storageAccount`\" pulumi-lang-python=\"`storage_account`\" pulumi-lang-yaml=\"`storageAccount`\" pulumi-lang-java=\"`storageAccount`\"\u003e`storage_account`\u003c/span\u003e blocks as defined below.\n\n\u003e **Note:** Using this value requires `WEBSITE_RUN_FROM_PACKAGE=1` to be set on the App in \u003cspan pulumi-lang-nodejs=\"`appSettings`\" pulumi-lang-dotnet=\"`AppSettings`\" pulumi-lang-go=\"`appSettings`\" pulumi-lang-python=\"`app_settings`\" pulumi-lang-yaml=\"`appSettings`\" pulumi-lang-java=\"`appSettings`\"\u003e`app_settings`\u003c/span\u003e. Refer to the [Azure docs](https://docs.microsoft.com/en-us/azure/app-service/deploy-run-package) for further details.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Windows Web App Slot.\n"},"virtualNetworkBackupRestoreEnabled":{"type":"boolean","description":"Whether backup and restore operations over the linked virtual network are enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"virtualNetworkImagePullEnabled":{"type":"boolean","description":"Whether traffic for the image pull should be routed over the virtual network.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`virtualNetworkImagePullEnabled`\" pulumi-lang-dotnet=\"`VirtualNetworkImagePullEnabled`\" pulumi-lang-go=\"`virtualNetworkImagePullEnabled`\" pulumi-lang-python=\"`virtual_network_image_pull_enabled`\" pulumi-lang-yaml=\"`virtualNetworkImagePullEnabled`\" pulumi-lang-java=\"`virtualNetworkImagePullEnabled`\"\u003e`virtual_network_image_pull_enabled`\u003c/span\u003e must be set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e when running in an App Service Environment.\n"},"virtualNetworkSubnetId":{"type":"string","description":"The subnet id which will be used by this Web App Slot for [regional virtual network integration](https://docs.microsoft.com/en-us/azure/app-service/overview-vnet-integration#regional-virtual-network-integration).\n\n\u003e **Note:** The AzureRM Terraform provider provides regional virtual network integration via the standalone resource\u003cspan pulumi-lang-nodejs=\" appServiceVirtualNetworkSwiftConnection \" pulumi-lang-dotnet=\" AppServiceVirtualNetworkSwiftConnection \" pulumi-lang-go=\" appServiceVirtualNetworkSwiftConnection \" pulumi-lang-python=\" app_service_virtual_network_swift_connection \" pulumi-lang-yaml=\" appServiceVirtualNetworkSwiftConnection \" pulumi-lang-java=\" appServiceVirtualNetworkSwiftConnection \"\u003e app_service_virtual_network_swift_connection \u003c/span\u003eand in-line within this resource using the \u003cspan pulumi-lang-nodejs=\"`virtualNetworkSubnetId`\" pulumi-lang-dotnet=\"`VirtualNetworkSubnetId`\" pulumi-lang-go=\"`virtualNetworkSubnetId`\" pulumi-lang-python=\"`virtual_network_subnet_id`\" pulumi-lang-yaml=\"`virtualNetworkSubnetId`\" pulumi-lang-java=\"`virtualNetworkSubnetId`\"\u003e`virtual_network_subnet_id`\u003c/span\u003e property. You cannot use both methods simultaneously. If the virtual network is set via the resource \u003cspan pulumi-lang-nodejs=\"`appServiceVirtualNetworkSwiftConnection`\" pulumi-lang-dotnet=\"`AppServiceVirtualNetworkSwiftConnection`\" pulumi-lang-go=\"`appServiceVirtualNetworkSwiftConnection`\" pulumi-lang-python=\"`app_service_virtual_network_swift_connection`\" pulumi-lang-yaml=\"`appServiceVirtualNetworkSwiftConnection`\" pulumi-lang-java=\"`appServiceVirtualNetworkSwiftConnection`\"\u003e`app_service_virtual_network_swift_connection`\u003c/span\u003e then \u003cspan pulumi-lang-nodejs=\"`ignoreChanges`\" pulumi-lang-dotnet=\"`IgnoreChanges`\" pulumi-lang-go=\"`ignoreChanges`\" pulumi-lang-python=\"`ignore_changes`\" pulumi-lang-yaml=\"`ignoreChanges`\" pulumi-lang-java=\"`ignoreChanges`\"\u003e`ignore_changes`\u003c/span\u003e should be used in the web app slot configuration.\n\n\u003e **Note:** Assigning the \u003cspan pulumi-lang-nodejs=\"`virtualNetworkSubnetId`\" pulumi-lang-dotnet=\"`VirtualNetworkSubnetId`\" pulumi-lang-go=\"`virtualNetworkSubnetId`\" pulumi-lang-python=\"`virtual_network_subnet_id`\" pulumi-lang-yaml=\"`virtualNetworkSubnetId`\" pulumi-lang-java=\"`virtualNetworkSubnetId`\"\u003e`virtual_network_subnet_id`\u003c/span\u003e property requires [RBAC permissions on the subnet](https://docs.microsoft.com/en-us/azure/app-service/overview-vnet-integration#permissions)\n"},"webdeployPublishBasicAuthenticationEnabled":{"type":"boolean","description":"Should the default WebDeploy Basic Authentication publishing credentials enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n\n\u003e **Note:** Setting this value to true will disable the ability to use \u003cspan pulumi-lang-nodejs=\"`zipDeployFile`\" pulumi-lang-dotnet=\"`ZipDeployFile`\" pulumi-lang-go=\"`zipDeployFile`\" pulumi-lang-python=\"`zip_deploy_file`\" pulumi-lang-yaml=\"`zipDeployFile`\" pulumi-lang-java=\"`zipDeployFile`\"\u003e`zip_deploy_file`\u003c/span\u003e which currently relies on the default publishing profile.\n"},"zipDeployFile":{"type":"string","description":"The local path and filename of the Zip packaged application to deploy to this Windows Web App.\n"}},"type":"object"}},"azure:arc/privateLinkScope:PrivateLinkScope":{"description":"Manages an Azure Arc Private Link Scope.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"rg-example\",\n    location: \"west europe\",\n});\nconst examplePrivateLinkScope = new azure.arc.PrivateLinkScope(\"example\", {\n    name: \"plsexample\",\n    resourceGroupName: example.name,\n    location: example.location,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"rg-example\",\n    location=\"west europe\")\nexample_private_link_scope = azure.arc.PrivateLinkScope(\"example\",\n    name=\"plsexample\",\n    resource_group_name=example.name,\n    location=example.location)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"rg-example\",\n        Location = \"west europe\",\n    });\n\n    var examplePrivateLinkScope = new Azure.Arc.PrivateLinkScope(\"example\", new()\n    {\n        Name = \"plsexample\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/arc\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"rg-example\"),\n\t\t\tLocation: pulumi.String(\"west europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = arc.NewPrivateLinkScope(ctx, \"example\", \u0026arc.PrivateLinkScopeArgs{\n\t\t\tName:              pulumi.String(\"plsexample\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.arc.PrivateLinkScope;\nimport com.pulumi.azure.arc.PrivateLinkScopeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"rg-example\")\n            .location(\"west europe\")\n            .build());\n\n        var examplePrivateLinkScope = new PrivateLinkScope(\"examplePrivateLinkScope\", PrivateLinkScopeArgs.builder()\n            .name(\"plsexample\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: rg-example\n      location: west europe\n  examplePrivateLinkScope:\n    type: azure:arc:PrivateLinkScope\n    name: example\n    properties:\n      name: plsexample\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.HybridCompute` - 2022-11-10\n\n## Import\n\nAzure Arc Private Link Scope can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:arc/privateLinkScope:PrivateLinkScope example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.HybridCompute/privateLinkScopes/privateLinkScope1\n```\n\n","properties":{"location":{"type":"string","description":"The Azure Region where the Arc Private Link Scope should exist. Changing this forces a new Azure Arc Private Link Scope to be created.\n"},"name":{"type":"string","description":"The name which should be used for the Azure Arc Private Link Scope. Changing this forces a new Azure Arc Private Link Scope to be created.\n"},"publicNetworkAccessEnabled":{"type":"boolean","description":"Indicates whether machines associated with the private link scope can also use public Azure Arc service endpoints. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Possible values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Azure Arc Private Link Scope should exist. Changing this forces a new Azure Arc Private Link Scope to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Azure Arc Private Link Scope.\n"}},"required":["location","name","resourceGroupName"],"inputProperties":{"location":{"type":"string","description":"The Azure Region where the Arc Private Link Scope should exist. Changing this forces a new Azure Arc Private Link Scope to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for the Azure Arc Private Link Scope. Changing this forces a new Azure Arc Private Link Scope to be created.\n","willReplaceOnChanges":true},"publicNetworkAccessEnabled":{"type":"boolean","description":"Indicates whether machines associated with the private link scope can also use public Azure Arc service endpoints. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Possible values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Azure Arc Private Link Scope should exist. Changing this forces a new Azure Arc Private Link Scope to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Azure Arc Private Link Scope.\n"}},"requiredInputs":["resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering PrivateLinkScope resources.\n","properties":{"location":{"type":"string","description":"The Azure Region where the Arc Private Link Scope should exist. Changing this forces a new Azure Arc Private Link Scope to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for the Azure Arc Private Link Scope. Changing this forces a new Azure Arc Private Link Scope to be created.\n","willReplaceOnChanges":true},"publicNetworkAccessEnabled":{"type":"boolean","description":"Indicates whether machines associated with the private link scope can also use public Azure Arc service endpoints. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Possible values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Azure Arc Private Link Scope should exist. Changing this forces a new Azure Arc Private Link Scope to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Azure Arc Private Link Scope.\n"}},"type":"object"}},"azure:arc/resourceBridgeAppliance:ResourceBridgeAppliance":{"description":"Manages an Arc Resource Bridge Appliance.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleResourceBridgeAppliance = new azure.arc.ResourceBridgeAppliance(\"example\", {\n    name: \"example-appliance\",\n    location: example.location,\n    resourceGroupName: example.name,\n    distro: \"AKSEdge\",\n    infrastructureProvider: \"VMWare\",\n    identity: {\n        type: \"SystemAssigned\",\n    },\n    tags: {\n        hello: \"world\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_resource_bridge_appliance = azure.arc.ResourceBridgeAppliance(\"example\",\n    name=\"example-appliance\",\n    location=example.location,\n    resource_group_name=example.name,\n    distro=\"AKSEdge\",\n    infrastructure_provider=\"VMWare\",\n    identity={\n        \"type\": \"SystemAssigned\",\n    },\n    tags={\n        \"hello\": \"world\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleResourceBridgeAppliance = new Azure.Arc.ResourceBridgeAppliance(\"example\", new()\n    {\n        Name = \"example-appliance\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Distro = \"AKSEdge\",\n        InfrastructureProvider = \"VMWare\",\n        Identity = new Azure.Arc.Inputs.ResourceBridgeApplianceIdentityArgs\n        {\n            Type = \"SystemAssigned\",\n        },\n        Tags = \n        {\n            { \"hello\", \"world\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/arc\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = arc.NewResourceBridgeAppliance(ctx, \"example\", \u0026arc.ResourceBridgeApplianceArgs{\n\t\t\tName:                   pulumi.String(\"example-appliance\"),\n\t\t\tLocation:               example.Location,\n\t\t\tResourceGroupName:      example.Name,\n\t\t\tDistro:                 pulumi.String(\"AKSEdge\"),\n\t\t\tInfrastructureProvider: pulumi.String(\"VMWare\"),\n\t\t\tIdentity: \u0026arc.ResourceBridgeApplianceIdentityArgs{\n\t\t\t\tType: pulumi.String(\"SystemAssigned\"),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"hello\": pulumi.String(\"world\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.arc.ResourceBridgeAppliance;\nimport com.pulumi.azure.arc.ResourceBridgeApplianceArgs;\nimport com.pulumi.azure.arc.inputs.ResourceBridgeApplianceIdentityArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleResourceBridgeAppliance = new ResourceBridgeAppliance(\"exampleResourceBridgeAppliance\", ResourceBridgeApplianceArgs.builder()\n            .name(\"example-appliance\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .distro(\"AKSEdge\")\n            .infrastructureProvider(\"VMWare\")\n            .identity(ResourceBridgeApplianceIdentityArgs.builder()\n                .type(\"SystemAssigned\")\n                .build())\n            .tags(Map.of(\"hello\", \"world\"))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleResourceBridgeAppliance:\n    type: azure:arc:ResourceBridgeAppliance\n    name: example\n    properties:\n      name: example-appliance\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      distro: AKSEdge\n      infrastructureProvider: VMWare\n      identity:\n        type: SystemAssigned\n      tags:\n        hello: world\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.ResourceConnector` - 2022-10-27\n\n## Import\n\nArc Resource Bridge Appliance can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:arc/resourceBridgeAppliance:ResourceBridgeAppliance example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.ResourceConnector/appliances/appliancesExample\n```\n\n","properties":{"distro":{"type":"string","description":"Specifies a supported Fabric/Infrastructure for this Arc Resource Bridge Appliance. The possible value is `AKSEdge`.\n"},"identity":{"$ref":"#/types/azure:arc/ResourceBridgeApplianceIdentity:ResourceBridgeApplianceIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n"},"infrastructureProvider":{"type":"string","description":"The infrastructure provider about the connected Arc Resource Bridge Appliance. Possible values are `HCI`,`SCVMM` and `VMWare`. Changing this forces a new resource to be created.\n"},"location":{"type":"string","description":"The Azure Region where the Arc Resource Bridge Appliance should exist. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"The Name which should be used for this Arc Resource Bridge Appliance. Changing this forces a new resource to be created.\n"},"publicKeyBase64":{"type":"string","description":"The \u003cspan pulumi-lang-nodejs=\"`publicKeyBase64`\" pulumi-lang-dotnet=\"`PublicKeyBase64`\" pulumi-lang-go=\"`publicKeyBase64`\" pulumi-lang-python=\"`public_key_base64`\" pulumi-lang-yaml=\"`publicKeyBase64`\" pulumi-lang-java=\"`publicKeyBase64`\"\u003e`public_key_base64`\u003c/span\u003e is an RSA public key in PKCS1 format encoded in base64. Changing this forces a new resource to be created.\n"},"resourceGroupName":{"type":"string","description":"Specifies the resource group where the Arc Resource Bridge Appliance exists. Changing this forces a new resource to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Arc Resource Bridge Appliance.\n"}},"required":["distro","identity","infrastructureProvider","location","name","resourceGroupName"],"inputProperties":{"distro":{"type":"string","description":"Specifies a supported Fabric/Infrastructure for this Arc Resource Bridge Appliance. The possible value is `AKSEdge`.\n"},"identity":{"$ref":"#/types/azure:arc/ResourceBridgeApplianceIdentity:ResourceBridgeApplianceIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"infrastructureProvider":{"type":"string","description":"The infrastructure provider about the connected Arc Resource Bridge Appliance. Possible values are `HCI`,`SCVMM` and `VMWare`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"location":{"type":"string","description":"The Azure Region where the Arc Resource Bridge Appliance should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The Name which should be used for this Arc Resource Bridge Appliance. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"publicKeyBase64":{"type":"string","description":"The \u003cspan pulumi-lang-nodejs=\"`publicKeyBase64`\" pulumi-lang-dotnet=\"`PublicKeyBase64`\" pulumi-lang-go=\"`publicKeyBase64`\" pulumi-lang-python=\"`public_key_base64`\" pulumi-lang-yaml=\"`publicKeyBase64`\" pulumi-lang-java=\"`publicKeyBase64`\"\u003e`public_key_base64`\u003c/span\u003e is an RSA public key in PKCS1 format encoded in base64. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"Specifies the resource group where the Arc Resource Bridge Appliance exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Arc Resource Bridge Appliance.\n"}},"requiredInputs":["distro","identity","infrastructureProvider","resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering ResourceBridgeAppliance resources.\n","properties":{"distro":{"type":"string","description":"Specifies a supported Fabric/Infrastructure for this Arc Resource Bridge Appliance. The possible value is `AKSEdge`.\n"},"identity":{"$ref":"#/types/azure:arc/ResourceBridgeApplianceIdentity:ResourceBridgeApplianceIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"infrastructureProvider":{"type":"string","description":"The infrastructure provider about the connected Arc Resource Bridge Appliance. Possible values are `HCI`,`SCVMM` and `VMWare`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"location":{"type":"string","description":"The Azure Region where the Arc Resource Bridge Appliance should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The Name which should be used for this Arc Resource Bridge Appliance. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"publicKeyBase64":{"type":"string","description":"The \u003cspan pulumi-lang-nodejs=\"`publicKeyBase64`\" pulumi-lang-dotnet=\"`PublicKeyBase64`\" pulumi-lang-go=\"`publicKeyBase64`\" pulumi-lang-python=\"`public_key_base64`\" pulumi-lang-yaml=\"`publicKeyBase64`\" pulumi-lang-java=\"`publicKeyBase64`\"\u003e`public_key_base64`\u003c/span\u003e is an RSA public key in PKCS1 format encoded in base64. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"Specifies the resource group where the Arc Resource Bridge Appliance exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Arc Resource Bridge Appliance.\n"}},"type":"object"}},"azure:arckubernetes/cluster:Cluster":{"description":"Manages an Arc Kubernetes Cluster.\n\n\u003e **Note:** Installing and configuring the Azure Arc Agent on your Kubernetes Cluster to establish connectivity is outside the scope of this document. For more details refer to [Deploy agents to your cluster](https://learn.microsoft.com/en-us/azure/azure-arc/kubernetes/conceptual-agent-overview#deploy-agents-to-your-cluster) and [Connect an existing Kubernetes Cluster](https://learn.microsoft.com/en-us/azure/azure-arc/kubernetes/quickstart-connect-cluster?tabs=azure-cli#connect-an-existing-kubernetes-cluster). If you encounter issues connecting your Kubernetes Cluster to Azure Arc, we'd recommend opening a ticket with Microsoft Support.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\nimport * as std from \"@pulumi/std\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleCluster = new azure.arckubernetes.Cluster(\"example\", {\n    name: \"example-akcc\",\n    resourceGroupName: example.name,\n    location: \"West Europe\",\n    agentPublicKeyCertificate: std.filebase64({\n        input: \"testdata/public.cer\",\n    }).then(invoke =\u003e invoke.result),\n    identity: {\n        type: \"SystemAssigned\",\n    },\n    tags: {\n        ENV: \"Test\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\nimport pulumi_std as std\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_cluster = azure.arckubernetes.Cluster(\"example\",\n    name=\"example-akcc\",\n    resource_group_name=example.name,\n    location=\"West Europe\",\n    agent_public_key_certificate=std.filebase64(input=\"testdata/public.cer\").result,\n    identity={\n        \"type\": \"SystemAssigned\",\n    },\n    tags={\n        \"ENV\": \"Test\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleCluster = new Azure.ArcKubernetes.Cluster(\"example\", new()\n    {\n        Name = \"example-akcc\",\n        ResourceGroupName = example.Name,\n        Location = \"West Europe\",\n        AgentPublicKeyCertificate = Std.Filebase64.Invoke(new()\n        {\n            Input = \"testdata/public.cer\",\n        }).Apply(invoke =\u003e invoke.Result),\n        Identity = new Azure.ArcKubernetes.Inputs.ClusterIdentityArgs\n        {\n            Type = \"SystemAssigned\",\n        },\n        Tags = \n        {\n            { \"ENV\", \"Test\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/arckubernetes\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFilebase64, err := std.Filebase64(ctx, \u0026std.Filebase64Args{\n\t\t\tInput: \"testdata/public.cer\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = arckubernetes.NewCluster(ctx, \"example\", \u0026arckubernetes.ClusterArgs{\n\t\t\tName:                      pulumi.String(\"example-akcc\"),\n\t\t\tResourceGroupName:         example.Name,\n\t\t\tLocation:                  pulumi.String(\"West Europe\"),\n\t\t\tAgentPublicKeyCertificate: pulumi.String(invokeFilebase64.Result),\n\t\t\tIdentity: \u0026arckubernetes.ClusterIdentityArgs{\n\t\t\t\tType: pulumi.String(\"SystemAssigned\"),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"ENV\": pulumi.String(\"Test\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.arckubernetes.Cluster;\nimport com.pulumi.azure.arckubernetes.ClusterArgs;\nimport com.pulumi.azure.arckubernetes.inputs.ClusterIdentityArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.Filebase64Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleCluster = new Cluster(\"exampleCluster\", ClusterArgs.builder()\n            .name(\"example-akcc\")\n            .resourceGroupName(example.name())\n            .location(\"West Europe\")\n            .agentPublicKeyCertificate(StdFunctions.filebase64(Filebase64Args.builder()\n                .input(\"testdata/public.cer\")\n                .build()).result())\n            .identity(ClusterIdentityArgs.builder()\n                .type(\"SystemAssigned\")\n                .build())\n            .tags(Map.of(\"ENV\", \"Test\"))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleCluster:\n    type: azure:arckubernetes:Cluster\n    name: example\n    properties:\n      name: example-akcc\n      resourceGroupName: ${example.name}\n      location: West Europe\n      agentPublicKeyCertificate:\n        fn::invoke:\n          function: std:filebase64\n          arguments:\n            input: testdata/public.cer\n          return: result\n      identity:\n        type: SystemAssigned\n      tags:\n        ENV: Test\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003e **Note:** An extensive example on connecting the \u003cspan pulumi-lang-nodejs=\"`azure.arckubernetes.Cluster`\" pulumi-lang-dotnet=\"`azure.arckubernetes.Cluster`\" pulumi-lang-go=\"`arckubernetes.Cluster`\" pulumi-lang-python=\"`arckubernetes.Cluster`\" pulumi-lang-yaml=\"`azure.arckubernetes.Cluster`\" pulumi-lang-java=\"`azure.arckubernetes.Cluster`\"\u003e`azure.arckubernetes.Cluster`\u003c/span\u003e to an external kubernetes cluster can be found in the `./examples/arckubernetes` directory within the GitHub Repository.\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Kubernetes` - 2024-01-01\n\n## Import\n\nArc Kubernetes Cluster can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:arckubernetes/cluster:Cluster example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup1/providers/Microsoft.Kubernetes/connectedClusters/cluster1\n```\n\n","properties":{"agentPublicKeyCertificate":{"type":"string","description":"Specifies the base64-encoded public certificate used by the agent to do the initial handshake to the backend services in Azure. Changing this forces a new Arc Kubernetes Cluster to be created.\n"},"agentVersion":{"type":"string","description":"Version of the agent running on the cluster resource.\n"},"distribution":{"type":"string","description":"The distribution running on this Arc Kubernetes Cluster.\n"},"identity":{"$ref":"#/types/azure:arckubernetes/ClusterIdentity:ClusterIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below. Changing this forces a new Arc Kubernetes Cluster to be created.\n"},"infrastructure":{"type":"string","description":"The infrastructure on which the Arc Kubernetes Cluster is running on.\n"},"kubernetesVersion":{"type":"string","description":"The Kubernetes version of the cluster resource.\n"},"location":{"type":"string","description":"Specifies the Azure Region where the Arc Kubernetes Cluster should exist. Changing this forces a new Arc Kubernetes Cluster to be created.\n"},"name":{"type":"string","description":"Specifies the name which should be used for this Arc Kubernetes Cluster. Changing this forces a new Arc Kubernetes Cluster to be created.\n"},"offering":{"type":"string","description":"The cluster offering.\n"},"resourceGroupName":{"type":"string","description":"Specifies the name of the Resource Group where the Arc Kubernetes Cluster should exist. Changing this forces a new Arc Kubernetes Cluster to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Arc Kubernetes Cluster.\n"},"totalCoreCount":{"type":"integer","description":"Number of CPU cores present in the cluster resource.\n"},"totalNodeCount":{"type":"integer","description":"Number of nodes present in the cluster resource.\n"}},"required":["agentPublicKeyCertificate","agentVersion","distribution","identity","infrastructure","kubernetesVersion","location","name","offering","resourceGroupName","totalCoreCount","totalNodeCount"],"inputProperties":{"agentPublicKeyCertificate":{"type":"string","description":"Specifies the base64-encoded public certificate used by the agent to do the initial handshake to the backend services in Azure. Changing this forces a new Arc Kubernetes Cluster to be created.\n","willReplaceOnChanges":true},"identity":{"$ref":"#/types/azure:arckubernetes/ClusterIdentity:ClusterIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below. Changing this forces a new Arc Kubernetes Cluster to be created.\n","willReplaceOnChanges":true},"location":{"type":"string","description":"Specifies the Azure Region where the Arc Kubernetes Cluster should exist. Changing this forces a new Arc Kubernetes Cluster to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name which should be used for this Arc Kubernetes Cluster. Changing this forces a new Arc Kubernetes Cluster to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"Specifies the name of the Resource Group where the Arc Kubernetes Cluster should exist. Changing this forces a new Arc Kubernetes Cluster to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Arc Kubernetes Cluster.\n"}},"requiredInputs":["agentPublicKeyCertificate","identity","resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering Cluster resources.\n","properties":{"agentPublicKeyCertificate":{"type":"string","description":"Specifies the base64-encoded public certificate used by the agent to do the initial handshake to the backend services in Azure. Changing this forces a new Arc Kubernetes Cluster to be created.\n","willReplaceOnChanges":true},"agentVersion":{"type":"string","description":"Version of the agent running on the cluster resource.\n"},"distribution":{"type":"string","description":"The distribution running on this Arc Kubernetes Cluster.\n"},"identity":{"$ref":"#/types/azure:arckubernetes/ClusterIdentity:ClusterIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below. Changing this forces a new Arc Kubernetes Cluster to be created.\n","willReplaceOnChanges":true},"infrastructure":{"type":"string","description":"The infrastructure on which the Arc Kubernetes Cluster is running on.\n"},"kubernetesVersion":{"type":"string","description":"The Kubernetes version of the cluster resource.\n"},"location":{"type":"string","description":"Specifies the Azure Region where the Arc Kubernetes Cluster should exist. Changing this forces a new Arc Kubernetes Cluster to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name which should be used for this Arc Kubernetes Cluster. Changing this forces a new Arc Kubernetes Cluster to be created.\n","willReplaceOnChanges":true},"offering":{"type":"string","description":"The cluster offering.\n"},"resourceGroupName":{"type":"string","description":"Specifies the name of the Resource Group where the Arc Kubernetes Cluster should exist. Changing this forces a new Arc Kubernetes Cluster to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Arc Kubernetes Cluster.\n"},"totalCoreCount":{"type":"integer","description":"Number of CPU cores present in the cluster resource.\n"},"totalNodeCount":{"type":"integer","description":"Number of nodes present in the cluster resource.\n"}},"type":"object"}},"azure:arckubernetes/clusterExtension:ClusterExtension":{"description":"Manages an Arc Kubernetes Cluster Extension.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\nimport * as std from \"@pulumi/std\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleCluster = new azure.arckubernetes.Cluster(\"example\", {\n    name: \"example-akcc\",\n    resourceGroupName: example.name,\n    location: \"West Europe\",\n    agentPublicKeyCertificate: std.filebase64({\n        input: \"testdata/public.cer\",\n    }).then(invoke =\u003e invoke.result),\n    identity: {\n        type: \"SystemAssigned\",\n    },\n    tags: {\n        ENV: \"Test\",\n    },\n});\nconst exampleClusterExtension = new azure.arckubernetes.ClusterExtension(\"example\", {\n    name: \"example-ext\",\n    clusterId: exampleCluster.id,\n    extensionType: \"microsoft.flux\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\nimport pulumi_std as std\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_cluster = azure.arckubernetes.Cluster(\"example\",\n    name=\"example-akcc\",\n    resource_group_name=example.name,\n    location=\"West Europe\",\n    agent_public_key_certificate=std.filebase64(input=\"testdata/public.cer\").result,\n    identity={\n        \"type\": \"SystemAssigned\",\n    },\n    tags={\n        \"ENV\": \"Test\",\n    })\nexample_cluster_extension = azure.arckubernetes.ClusterExtension(\"example\",\n    name=\"example-ext\",\n    cluster_id=example_cluster.id,\n    extension_type=\"microsoft.flux\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleCluster = new Azure.ArcKubernetes.Cluster(\"example\", new()\n    {\n        Name = \"example-akcc\",\n        ResourceGroupName = example.Name,\n        Location = \"West Europe\",\n        AgentPublicKeyCertificate = Std.Filebase64.Invoke(new()\n        {\n            Input = \"testdata/public.cer\",\n        }).Apply(invoke =\u003e invoke.Result),\n        Identity = new Azure.ArcKubernetes.Inputs.ClusterIdentityArgs\n        {\n            Type = \"SystemAssigned\",\n        },\n        Tags = \n        {\n            { \"ENV\", \"Test\" },\n        },\n    });\n\n    var exampleClusterExtension = new Azure.ArcKubernetes.ClusterExtension(\"example\", new()\n    {\n        Name = \"example-ext\",\n        ClusterId = exampleCluster.Id,\n        ExtensionType = \"microsoft.flux\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/arckubernetes\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFilebase64, err := std.Filebase64(ctx, \u0026std.Filebase64Args{\n\t\t\tInput: \"testdata/public.cer\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleCluster, err := arckubernetes.NewCluster(ctx, \"example\", \u0026arckubernetes.ClusterArgs{\n\t\t\tName:                      pulumi.String(\"example-akcc\"),\n\t\t\tResourceGroupName:         example.Name,\n\t\t\tLocation:                  pulumi.String(\"West Europe\"),\n\t\t\tAgentPublicKeyCertificate: pulumi.String(invokeFilebase64.Result),\n\t\t\tIdentity: \u0026arckubernetes.ClusterIdentityArgs{\n\t\t\t\tType: pulumi.String(\"SystemAssigned\"),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"ENV\": pulumi.String(\"Test\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = arckubernetes.NewClusterExtension(ctx, \"example\", \u0026arckubernetes.ClusterExtensionArgs{\n\t\t\tName:          pulumi.String(\"example-ext\"),\n\t\t\tClusterId:     exampleCluster.ID(),\n\t\t\tExtensionType: pulumi.String(\"microsoft.flux\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.arckubernetes.Cluster;\nimport com.pulumi.azure.arckubernetes.ClusterArgs;\nimport com.pulumi.azure.arckubernetes.inputs.ClusterIdentityArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.Filebase64Args;\nimport com.pulumi.azure.arckubernetes.ClusterExtension;\nimport com.pulumi.azure.arckubernetes.ClusterExtensionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleCluster = new Cluster(\"exampleCluster\", ClusterArgs.builder()\n            .name(\"example-akcc\")\n            .resourceGroupName(example.name())\n            .location(\"West Europe\")\n            .agentPublicKeyCertificate(StdFunctions.filebase64(Filebase64Args.builder()\n                .input(\"testdata/public.cer\")\n                .build()).result())\n            .identity(ClusterIdentityArgs.builder()\n                .type(\"SystemAssigned\")\n                .build())\n            .tags(Map.of(\"ENV\", \"Test\"))\n            .build());\n\n        var exampleClusterExtension = new ClusterExtension(\"exampleClusterExtension\", ClusterExtensionArgs.builder()\n            .name(\"example-ext\")\n            .clusterId(exampleCluster.id())\n            .extensionType(\"microsoft.flux\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleCluster:\n    type: azure:arckubernetes:Cluster\n    name: example\n    properties:\n      name: example-akcc\n      resourceGroupName: ${example.name}\n      location: West Europe\n      agentPublicKeyCertificate:\n        fn::invoke:\n          function: std:filebase64\n          arguments:\n            input: testdata/public.cer\n          return: result\n      identity:\n        type: SystemAssigned\n      tags:\n        ENV: Test\n  exampleClusterExtension:\n    type: azure:arckubernetes:ClusterExtension\n    name: example\n    properties:\n      name: example-ext\n      clusterId: ${exampleCluster.id}\n      extensionType: microsoft.flux\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.KubernetesConfiguration` - 2024-11-01\n\n## Import\n\nArc Kubernetes Cluster Extension can be imported using the `resource id` for different \u003cspan pulumi-lang-nodejs=\"`clusterResourceName`\" pulumi-lang-dotnet=\"`ClusterResourceName`\" pulumi-lang-go=\"`clusterResourceName`\" pulumi-lang-python=\"`cluster_resource_name`\" pulumi-lang-yaml=\"`clusterResourceName`\" pulumi-lang-java=\"`clusterResourceName`\"\u003e`cluster_resource_name`\u003c/span\u003e, e.g.\n\n```sh\n$ pulumi import azure:arckubernetes/clusterExtension:ClusterExtension example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup1/providers/Microsoft.Kubernetes/connectedClusters/cluster1/providers/Microsoft.KubernetesConfiguration/extensions/extension1\n```\n\n","properties":{"clusterId":{"type":"string","description":"Specifies the Cluster ID. Changing this forces a new Arc Kubernetes Cluster Extension to be created.\n"},"configurationProtectedSettings":{"type":"object","additionalProperties":{"type":"string"},"description":"Configuration settings that are sensitive, as name-value pairs for configuring this extension.\n"},"configurationSettings":{"type":"object","additionalProperties":{"type":"string"},"description":"Configuration settings, as name-value pairs for configuring this extension.\n"},"currentVersion":{"type":"string","description":"The current version of the extension.\n"},"extensionType":{"type":"string","description":"Specifies the type of extension. It must be one of the extension types registered with Microsoft.KubernetesConfiguration by the Extension publisher. For more information, please refer to [Available Extensions for Arc-enabled Kubernetes clusters](https://learn.microsoft.com/en-us/azure/azure-arc/kubernetes/extensions-release). Changing this forces a new Arc Kubernetes Cluster Extension to be created.\n"},"identity":{"$ref":"#/types/azure:arckubernetes/ClusterExtensionIdentity:ClusterExtensionIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below. Changing this forces a new Arc Kubernetes Cluster Extension to be created.\n"},"name":{"type":"string","description":"Specifies the name which should be used for this Arc Kubernetes Cluster Extension. Changing this forces a new Arc Kubernetes Cluster Extension to be created.\n"},"releaseNamespace":{"type":"string","description":"Namespace where the extension release must be placed for a cluster scoped extension. If this namespace does not exist, it will be created. Changing this forces a new Arc Kubernetes Cluster Extension to be created.\n"},"releaseTrain":{"type":"string","description":"The release train used by this extension. Possible values include but are not limited to `Stable`, `Preview`. Changing this forces a new Arc Kubernetes Cluster Extension to be created.\n"},"targetNamespace":{"type":"string","description":"Namespace where the extension will be created for a namespace scoped extension. If this namespace does not exist, it will be created. Changing this forces a new Arc Kubernetes Cluster Extension to be created.\n"},"version":{"type":"string","description":"User-specified version that the extension should pin to. If it is not set, Azure will use the latest version and auto upgrade it. Changing this forces a new Arc Kubernetes Cluster Extension to be created.\n"}},"required":["clusterId","currentVersion","extensionType","identity","name","releaseNamespace","releaseTrain","targetNamespace"],"inputProperties":{"clusterId":{"type":"string","description":"Specifies the Cluster ID. Changing this forces a new Arc Kubernetes Cluster Extension to be created.\n","willReplaceOnChanges":true},"configurationProtectedSettings":{"type":"object","additionalProperties":{"type":"string"},"description":"Configuration settings that are sensitive, as name-value pairs for configuring this extension.\n"},"configurationSettings":{"type":"object","additionalProperties":{"type":"string"},"description":"Configuration settings, as name-value pairs for configuring this extension.\n"},"extensionType":{"type":"string","description":"Specifies the type of extension. It must be one of the extension types registered with Microsoft.KubernetesConfiguration by the Extension publisher. For more information, please refer to [Available Extensions for Arc-enabled Kubernetes clusters](https://learn.microsoft.com/en-us/azure/azure-arc/kubernetes/extensions-release). Changing this forces a new Arc Kubernetes Cluster Extension to be created.\n","willReplaceOnChanges":true},"identity":{"$ref":"#/types/azure:arckubernetes/ClusterExtensionIdentity:ClusterExtensionIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below. Changing this forces a new Arc Kubernetes Cluster Extension to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name which should be used for this Arc Kubernetes Cluster Extension. Changing this forces a new Arc Kubernetes Cluster Extension to be created.\n","willReplaceOnChanges":true},"releaseNamespace":{"type":"string","description":"Namespace where the extension release must be placed for a cluster scoped extension. If this namespace does not exist, it will be created. Changing this forces a new Arc Kubernetes Cluster Extension to be created.\n","willReplaceOnChanges":true},"releaseTrain":{"type":"string","description":"The release train used by this extension. Possible values include but are not limited to `Stable`, `Preview`. Changing this forces a new Arc Kubernetes Cluster Extension to be created.\n","willReplaceOnChanges":true},"targetNamespace":{"type":"string","description":"Namespace where the extension will be created for a namespace scoped extension. If this namespace does not exist, it will be created. Changing this forces a new Arc Kubernetes Cluster Extension to be created.\n","willReplaceOnChanges":true},"version":{"type":"string","description":"User-specified version that the extension should pin to. If it is not set, Azure will use the latest version and auto upgrade it. Changing this forces a new Arc Kubernetes Cluster Extension to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["clusterId","extensionType","identity"],"stateInputs":{"description":"Input properties used for looking up and filtering ClusterExtension resources.\n","properties":{"clusterId":{"type":"string","description":"Specifies the Cluster ID. Changing this forces a new Arc Kubernetes Cluster Extension to be created.\n","willReplaceOnChanges":true},"configurationProtectedSettings":{"type":"object","additionalProperties":{"type":"string"},"description":"Configuration settings that are sensitive, as name-value pairs for configuring this extension.\n"},"configurationSettings":{"type":"object","additionalProperties":{"type":"string"},"description":"Configuration settings, as name-value pairs for configuring this extension.\n"},"currentVersion":{"type":"string","description":"The current version of the extension.\n"},"extensionType":{"type":"string","description":"Specifies the type of extension. It must be one of the extension types registered with Microsoft.KubernetesConfiguration by the Extension publisher. For more information, please refer to [Available Extensions for Arc-enabled Kubernetes clusters](https://learn.microsoft.com/en-us/azure/azure-arc/kubernetes/extensions-release). Changing this forces a new Arc Kubernetes Cluster Extension to be created.\n","willReplaceOnChanges":true},"identity":{"$ref":"#/types/azure:arckubernetes/ClusterExtensionIdentity:ClusterExtensionIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below. Changing this forces a new Arc Kubernetes Cluster Extension to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name which should be used for this Arc Kubernetes Cluster Extension. Changing this forces a new Arc Kubernetes Cluster Extension to be created.\n","willReplaceOnChanges":true},"releaseNamespace":{"type":"string","description":"Namespace where the extension release must be placed for a cluster scoped extension. If this namespace does not exist, it will be created. Changing this forces a new Arc Kubernetes Cluster Extension to be created.\n","willReplaceOnChanges":true},"releaseTrain":{"type":"string","description":"The release train used by this extension. Possible values include but are not limited to `Stable`, `Preview`. Changing this forces a new Arc Kubernetes Cluster Extension to be created.\n","willReplaceOnChanges":true},"targetNamespace":{"type":"string","description":"Namespace where the extension will be created for a namespace scoped extension. If this namespace does not exist, it will be created. Changing this forces a new Arc Kubernetes Cluster Extension to be created.\n","willReplaceOnChanges":true},"version":{"type":"string","description":"User-specified version that the extension should pin to. If it is not set, Azure will use the latest version and auto upgrade it. Changing this forces a new Arc Kubernetes Cluster Extension to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:arckubernetes/fluxConfiguration:FluxConfiguration":{"description":"Manages an Arc Kubernetes Flux Configuration.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\nimport * as std from \"@pulumi/std\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleCluster = new azure.arckubernetes.Cluster(\"example\", {\n    name: \"example-akcc\",\n    resourceGroupName: example.name,\n    location: \"West Europe\",\n    agentPublicKeyCertificate: std.filebase64({\n        input: \"testdata/public.cer\",\n    }).then(invoke =\u003e invoke.result),\n    identity: {\n        type: \"SystemAssigned\",\n    },\n    tags: {\n        ENV: \"Test\",\n    },\n});\nconst exampleClusterExtension = new azure.arckubernetes.ClusterExtension(\"example\", {\n    name: \"example-ext\",\n    clusterId: test.id,\n    extensionType: \"microsoft.flux\",\n});\nconst exampleFluxConfiguration = new azure.arckubernetes.FluxConfiguration(\"example\", {\n    name: \"example-fc\",\n    clusterId: test.id,\n    namespace: \"flux\",\n    gitRepository: {\n        url: \"https://github.com/Azure/arc-k8s-demo\",\n        referenceType: \"branch\",\n        referenceValue: \"main\",\n    },\n    kustomizations: [{\n        name: \"kustomization-1\",\n    }],\n}, {\n    dependsOn: [exampleClusterExtension],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\nimport pulumi_std as std\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_cluster = azure.arckubernetes.Cluster(\"example\",\n    name=\"example-akcc\",\n    resource_group_name=example.name,\n    location=\"West Europe\",\n    agent_public_key_certificate=std.filebase64(input=\"testdata/public.cer\").result,\n    identity={\n        \"type\": \"SystemAssigned\",\n    },\n    tags={\n        \"ENV\": \"Test\",\n    })\nexample_cluster_extension = azure.arckubernetes.ClusterExtension(\"example\",\n    name=\"example-ext\",\n    cluster_id=test[\"id\"],\n    extension_type=\"microsoft.flux\")\nexample_flux_configuration = azure.arckubernetes.FluxConfiguration(\"example\",\n    name=\"example-fc\",\n    cluster_id=test[\"id\"],\n    namespace=\"flux\",\n    git_repository={\n        \"url\": \"https://github.com/Azure/arc-k8s-demo\",\n        \"reference_type\": \"branch\",\n        \"reference_value\": \"main\",\n    },\n    kustomizations=[{\n        \"name\": \"kustomization-1\",\n    }],\n    opts = pulumi.ResourceOptions(depends_on=[example_cluster_extension]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleCluster = new Azure.ArcKubernetes.Cluster(\"example\", new()\n    {\n        Name = \"example-akcc\",\n        ResourceGroupName = example.Name,\n        Location = \"West Europe\",\n        AgentPublicKeyCertificate = Std.Filebase64.Invoke(new()\n        {\n            Input = \"testdata/public.cer\",\n        }).Apply(invoke =\u003e invoke.Result),\n        Identity = new Azure.ArcKubernetes.Inputs.ClusterIdentityArgs\n        {\n            Type = \"SystemAssigned\",\n        },\n        Tags = \n        {\n            { \"ENV\", \"Test\" },\n        },\n    });\n\n    var exampleClusterExtension = new Azure.ArcKubernetes.ClusterExtension(\"example\", new()\n    {\n        Name = \"example-ext\",\n        ClusterId = test.Id,\n        ExtensionType = \"microsoft.flux\",\n    });\n\n    var exampleFluxConfiguration = new Azure.ArcKubernetes.FluxConfiguration(\"example\", new()\n    {\n        Name = \"example-fc\",\n        ClusterId = test.Id,\n        Namespace = \"flux\",\n        GitRepository = new Azure.ArcKubernetes.Inputs.FluxConfigurationGitRepositoryArgs\n        {\n            Url = \"https://github.com/Azure/arc-k8s-demo\",\n            ReferenceType = \"branch\",\n            ReferenceValue = \"main\",\n        },\n        Kustomizations = new[]\n        {\n            new Azure.ArcKubernetes.Inputs.FluxConfigurationKustomizationArgs\n            {\n                Name = \"kustomization-1\",\n            },\n        },\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            exampleClusterExtension,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/arckubernetes\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFilebase64, err := std.Filebase64(ctx, \u0026std.Filebase64Args{\n\t\t\tInput: \"testdata/public.cer\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = arckubernetes.NewCluster(ctx, \"example\", \u0026arckubernetes.ClusterArgs{\n\t\t\tName:                      pulumi.String(\"example-akcc\"),\n\t\t\tResourceGroupName:         example.Name,\n\t\t\tLocation:                  pulumi.String(\"West Europe\"),\n\t\t\tAgentPublicKeyCertificate: pulumi.String(invokeFilebase64.Result),\n\t\t\tIdentity: \u0026arckubernetes.ClusterIdentityArgs{\n\t\t\t\tType: pulumi.String(\"SystemAssigned\"),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"ENV\": pulumi.String(\"Test\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleClusterExtension, err := arckubernetes.NewClusterExtension(ctx, \"example\", \u0026arckubernetes.ClusterExtensionArgs{\n\t\t\tName:          pulumi.String(\"example-ext\"),\n\t\t\tClusterId:     pulumi.Any(test.Id),\n\t\t\tExtensionType: pulumi.String(\"microsoft.flux\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = arckubernetes.NewFluxConfiguration(ctx, \"example\", \u0026arckubernetes.FluxConfigurationArgs{\n\t\t\tName:      pulumi.String(\"example-fc\"),\n\t\t\tClusterId: pulumi.Any(test.Id),\n\t\t\tNamespace: pulumi.String(\"flux\"),\n\t\t\tGitRepository: \u0026arckubernetes.FluxConfigurationGitRepositoryArgs{\n\t\t\t\tUrl:            pulumi.String(\"https://github.com/Azure/arc-k8s-demo\"),\n\t\t\t\tReferenceType:  pulumi.String(\"branch\"),\n\t\t\t\tReferenceValue: pulumi.String(\"main\"),\n\t\t\t},\n\t\t\tKustomizations: arckubernetes.FluxConfigurationKustomizationArray{\n\t\t\t\t\u0026arckubernetes.FluxConfigurationKustomizationArgs{\n\t\t\t\t\tName: pulumi.String(\"kustomization-1\"),\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleClusterExtension,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.arckubernetes.Cluster;\nimport com.pulumi.azure.arckubernetes.ClusterArgs;\nimport com.pulumi.azure.arckubernetes.inputs.ClusterIdentityArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.Filebase64Args;\nimport com.pulumi.azure.arckubernetes.ClusterExtension;\nimport com.pulumi.azure.arckubernetes.ClusterExtensionArgs;\nimport com.pulumi.azure.arckubernetes.FluxConfiguration;\nimport com.pulumi.azure.arckubernetes.FluxConfigurationArgs;\nimport com.pulumi.azure.arckubernetes.inputs.FluxConfigurationGitRepositoryArgs;\nimport com.pulumi.azure.arckubernetes.inputs.FluxConfigurationKustomizationArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleCluster = new Cluster(\"exampleCluster\", ClusterArgs.builder()\n            .name(\"example-akcc\")\n            .resourceGroupName(example.name())\n            .location(\"West Europe\")\n            .agentPublicKeyCertificate(StdFunctions.filebase64(Filebase64Args.builder()\n                .input(\"testdata/public.cer\")\n                .build()).result())\n            .identity(ClusterIdentityArgs.builder()\n                .type(\"SystemAssigned\")\n                .build())\n            .tags(Map.of(\"ENV\", \"Test\"))\n            .build());\n\n        var exampleClusterExtension = new ClusterExtension(\"exampleClusterExtension\", ClusterExtensionArgs.builder()\n            .name(\"example-ext\")\n            .clusterId(test.id())\n            .extensionType(\"microsoft.flux\")\n            .build());\n\n        var exampleFluxConfiguration = new FluxConfiguration(\"exampleFluxConfiguration\", FluxConfigurationArgs.builder()\n            .name(\"example-fc\")\n            .clusterId(test.id())\n            .namespace(\"flux\")\n            .gitRepository(FluxConfigurationGitRepositoryArgs.builder()\n                .url(\"https://github.com/Azure/arc-k8s-demo\")\n                .referenceType(\"branch\")\n                .referenceValue(\"main\")\n                .build())\n            .kustomizations(FluxConfigurationKustomizationArgs.builder()\n                .name(\"kustomization-1\")\n                .build())\n            .build(), CustomResourceOptions.builder()\n                .dependsOn(exampleClusterExtension)\n                .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleCluster:\n    type: azure:arckubernetes:Cluster\n    name: example\n    properties:\n      name: example-akcc\n      resourceGroupName: ${example.name}\n      location: West Europe\n      agentPublicKeyCertificate:\n        fn::invoke:\n          function: std:filebase64\n          arguments:\n            input: testdata/public.cer\n          return: result\n      identity:\n        type: SystemAssigned\n      tags:\n        ENV: Test\n  exampleClusterExtension:\n    type: azure:arckubernetes:ClusterExtension\n    name: example\n    properties:\n      name: example-ext\n      clusterId: ${test.id}\n      extensionType: microsoft.flux\n  exampleFluxConfiguration:\n    type: azure:arckubernetes:FluxConfiguration\n    name: example\n    properties:\n      name: example-fc\n      clusterId: ${test.id}\n      namespace: flux\n      gitRepository:\n        url: https://github.com/Azure/arc-k8s-demo\n        referenceType: branch\n        referenceValue: main\n      kustomizations:\n        - name: kustomization-1\n    options:\n      dependsOn:\n        - ${exampleClusterExtension}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.KubernetesConfiguration` - 2024-11-01\n\n## Import\n\nArc Kubernetes Flux Configuration can be imported using the `resource id` for different \u003cspan pulumi-lang-nodejs=\"`clusterResourceName`\" pulumi-lang-dotnet=\"`ClusterResourceName`\" pulumi-lang-go=\"`clusterResourceName`\" pulumi-lang-python=\"`cluster_resource_name`\" pulumi-lang-yaml=\"`clusterResourceName`\" pulumi-lang-java=\"`clusterResourceName`\"\u003e`cluster_resource_name`\u003c/span\u003e, e.g.\n\n```sh\n$ pulumi import azure:arckubernetes/fluxConfiguration:FluxConfiguration example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup1/providers/Microsoft.Kubernetes/connectedClusters/cluster1/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/fluxConfiguration1\n```\n\n","properties":{"blobStorage":{"$ref":"#/types/azure:arckubernetes/FluxConfigurationBlobStorage:FluxConfigurationBlobStorage","description":"An \u003cspan pulumi-lang-nodejs=\"`blobStorage`\" pulumi-lang-dotnet=\"`BlobStorage`\" pulumi-lang-go=\"`blobStorage`\" pulumi-lang-python=\"`blob_storage`\" pulumi-lang-yaml=\"`blobStorage`\" pulumi-lang-java=\"`blobStorage`\"\u003e`blob_storage`\u003c/span\u003e block as defined below.\n"},"bucket":{"$ref":"#/types/azure:arckubernetes/FluxConfigurationBucket:FluxConfigurationBucket","description":"A \u003cspan pulumi-lang-nodejs=\"`bucket`\" pulumi-lang-dotnet=\"`Bucket`\" pulumi-lang-go=\"`bucket`\" pulumi-lang-python=\"`bucket`\" pulumi-lang-yaml=\"`bucket`\" pulumi-lang-java=\"`bucket`\"\u003e`bucket`\u003c/span\u003e block as defined below.\n"},"clusterId":{"type":"string","description":"Specifies the Cluster ID. Changing this forces a new Arc Kubernetes Cluster Extension to be created.\n"},"continuousReconciliationEnabled":{"type":"boolean","description":"Whether the configuration will keep its reconciliation of its kustomizations and sources with the repository. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"gitRepository":{"$ref":"#/types/azure:arckubernetes/FluxConfigurationGitRepository:FluxConfigurationGitRepository","description":"A \u003cspan pulumi-lang-nodejs=\"`gitRepository`\" pulumi-lang-dotnet=\"`GitRepository`\" pulumi-lang-go=\"`gitRepository`\" pulumi-lang-python=\"`git_repository`\" pulumi-lang-yaml=\"`gitRepository`\" pulumi-lang-java=\"`gitRepository`\"\u003e`git_repository`\u003c/span\u003e block as defined below.\n"},"kustomizations":{"type":"array","items":{"$ref":"#/types/azure:arckubernetes/FluxConfigurationKustomization:FluxConfigurationKustomization"},"description":"A \u003cspan pulumi-lang-nodejs=\"`kustomizations`\" pulumi-lang-dotnet=\"`Kustomizations`\" pulumi-lang-go=\"`kustomizations`\" pulumi-lang-python=\"`kustomizations`\" pulumi-lang-yaml=\"`kustomizations`\" pulumi-lang-java=\"`kustomizations`\"\u003e`kustomizations`\u003c/span\u003e block as defined below.\n"},"name":{"type":"string","description":"Specifies the name which should be used for this Arc Kubernetes Flux Configuration. Changing this forces a new Arc Kubernetes Flux Configuration to be created.\n"},"namespace":{"type":"string","description":"Specifies the namespace to which this configuration is installed to. Changing this forces a new Arc Kubernetes Flux Configuration to be created.\n"},"scope":{"type":"string","description":"Specifies the scope at which the operator will be installed. Possible values are \u003cspan pulumi-lang-nodejs=\"`cluster`\" pulumi-lang-dotnet=\"`Cluster`\" pulumi-lang-go=\"`cluster`\" pulumi-lang-python=\"`cluster`\" pulumi-lang-yaml=\"`cluster`\" pulumi-lang-java=\"`cluster`\"\u003e`cluster`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`namespace`\" pulumi-lang-dotnet=\"`Namespace`\" pulumi-lang-go=\"`namespace`\" pulumi-lang-python=\"`namespace`\" pulumi-lang-yaml=\"`namespace`\" pulumi-lang-java=\"`namespace`\"\u003e`namespace`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`namespace`\" pulumi-lang-dotnet=\"`Namespace`\" pulumi-lang-go=\"`namespace`\" pulumi-lang-python=\"`namespace`\" pulumi-lang-yaml=\"`namespace`\" pulumi-lang-java=\"`namespace`\"\u003e`namespace`\u003c/span\u003e. Changing this forces a new Arc Kubernetes Flux Configuration to be created.\n"}},"required":["clusterId","kustomizations","name","namespace"],"inputProperties":{"blobStorage":{"$ref":"#/types/azure:arckubernetes/FluxConfigurationBlobStorage:FluxConfigurationBlobStorage","description":"An \u003cspan pulumi-lang-nodejs=\"`blobStorage`\" pulumi-lang-dotnet=\"`BlobStorage`\" pulumi-lang-go=\"`blobStorage`\" pulumi-lang-python=\"`blob_storage`\" pulumi-lang-yaml=\"`blobStorage`\" pulumi-lang-java=\"`blobStorage`\"\u003e`blob_storage`\u003c/span\u003e block as defined below.\n"},"bucket":{"$ref":"#/types/azure:arckubernetes/FluxConfigurationBucket:FluxConfigurationBucket","description":"A \u003cspan pulumi-lang-nodejs=\"`bucket`\" pulumi-lang-dotnet=\"`Bucket`\" pulumi-lang-go=\"`bucket`\" pulumi-lang-python=\"`bucket`\" pulumi-lang-yaml=\"`bucket`\" pulumi-lang-java=\"`bucket`\"\u003e`bucket`\u003c/span\u003e block as defined below.\n"},"clusterId":{"type":"string","description":"Specifies the Cluster ID. Changing this forces a new Arc Kubernetes Cluster Extension to be created.\n","willReplaceOnChanges":true},"continuousReconciliationEnabled":{"type":"boolean","description":"Whether the configuration will keep its reconciliation of its kustomizations and sources with the repository. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"gitRepository":{"$ref":"#/types/azure:arckubernetes/FluxConfigurationGitRepository:FluxConfigurationGitRepository","description":"A \u003cspan pulumi-lang-nodejs=\"`gitRepository`\" pulumi-lang-dotnet=\"`GitRepository`\" pulumi-lang-go=\"`gitRepository`\" pulumi-lang-python=\"`git_repository`\" pulumi-lang-yaml=\"`gitRepository`\" pulumi-lang-java=\"`gitRepository`\"\u003e`git_repository`\u003c/span\u003e block as defined below.\n"},"kustomizations":{"type":"array","items":{"$ref":"#/types/azure:arckubernetes/FluxConfigurationKustomization:FluxConfigurationKustomization"},"description":"A \u003cspan pulumi-lang-nodejs=\"`kustomizations`\" pulumi-lang-dotnet=\"`Kustomizations`\" pulumi-lang-go=\"`kustomizations`\" pulumi-lang-python=\"`kustomizations`\" pulumi-lang-yaml=\"`kustomizations`\" pulumi-lang-java=\"`kustomizations`\"\u003e`kustomizations`\u003c/span\u003e block as defined below.\n"},"name":{"type":"string","description":"Specifies the name which should be used for this Arc Kubernetes Flux Configuration. Changing this forces a new Arc Kubernetes Flux Configuration to be created.\n","willReplaceOnChanges":true},"namespace":{"type":"string","description":"Specifies the namespace to which this configuration is installed to. Changing this forces a new Arc Kubernetes Flux Configuration to be created.\n","willReplaceOnChanges":true},"scope":{"type":"string","description":"Specifies the scope at which the operator will be installed. Possible values are \u003cspan pulumi-lang-nodejs=\"`cluster`\" pulumi-lang-dotnet=\"`Cluster`\" pulumi-lang-go=\"`cluster`\" pulumi-lang-python=\"`cluster`\" pulumi-lang-yaml=\"`cluster`\" pulumi-lang-java=\"`cluster`\"\u003e`cluster`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`namespace`\" pulumi-lang-dotnet=\"`Namespace`\" pulumi-lang-go=\"`namespace`\" pulumi-lang-python=\"`namespace`\" pulumi-lang-yaml=\"`namespace`\" pulumi-lang-java=\"`namespace`\"\u003e`namespace`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`namespace`\" pulumi-lang-dotnet=\"`Namespace`\" pulumi-lang-go=\"`namespace`\" pulumi-lang-python=\"`namespace`\" pulumi-lang-yaml=\"`namespace`\" pulumi-lang-java=\"`namespace`\"\u003e`namespace`\u003c/span\u003e. Changing this forces a new Arc Kubernetes Flux Configuration to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["clusterId","kustomizations","namespace"],"stateInputs":{"description":"Input properties used for looking up and filtering FluxConfiguration resources.\n","properties":{"blobStorage":{"$ref":"#/types/azure:arckubernetes/FluxConfigurationBlobStorage:FluxConfigurationBlobStorage","description":"An \u003cspan pulumi-lang-nodejs=\"`blobStorage`\" pulumi-lang-dotnet=\"`BlobStorage`\" pulumi-lang-go=\"`blobStorage`\" pulumi-lang-python=\"`blob_storage`\" pulumi-lang-yaml=\"`blobStorage`\" pulumi-lang-java=\"`blobStorage`\"\u003e`blob_storage`\u003c/span\u003e block as defined below.\n"},"bucket":{"$ref":"#/types/azure:arckubernetes/FluxConfigurationBucket:FluxConfigurationBucket","description":"A \u003cspan pulumi-lang-nodejs=\"`bucket`\" pulumi-lang-dotnet=\"`Bucket`\" pulumi-lang-go=\"`bucket`\" pulumi-lang-python=\"`bucket`\" pulumi-lang-yaml=\"`bucket`\" pulumi-lang-java=\"`bucket`\"\u003e`bucket`\u003c/span\u003e block as defined below.\n"},"clusterId":{"type":"string","description":"Specifies the Cluster ID. Changing this forces a new Arc Kubernetes Cluster Extension to be created.\n","willReplaceOnChanges":true},"continuousReconciliationEnabled":{"type":"boolean","description":"Whether the configuration will keep its reconciliation of its kustomizations and sources with the repository. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"gitRepository":{"$ref":"#/types/azure:arckubernetes/FluxConfigurationGitRepository:FluxConfigurationGitRepository","description":"A \u003cspan pulumi-lang-nodejs=\"`gitRepository`\" pulumi-lang-dotnet=\"`GitRepository`\" pulumi-lang-go=\"`gitRepository`\" pulumi-lang-python=\"`git_repository`\" pulumi-lang-yaml=\"`gitRepository`\" pulumi-lang-java=\"`gitRepository`\"\u003e`git_repository`\u003c/span\u003e block as defined below.\n"},"kustomizations":{"type":"array","items":{"$ref":"#/types/azure:arckubernetes/FluxConfigurationKustomization:FluxConfigurationKustomization"},"description":"A \u003cspan pulumi-lang-nodejs=\"`kustomizations`\" pulumi-lang-dotnet=\"`Kustomizations`\" pulumi-lang-go=\"`kustomizations`\" pulumi-lang-python=\"`kustomizations`\" pulumi-lang-yaml=\"`kustomizations`\" pulumi-lang-java=\"`kustomizations`\"\u003e`kustomizations`\u003c/span\u003e block as defined below.\n"},"name":{"type":"string","description":"Specifies the name which should be used for this Arc Kubernetes Flux Configuration. Changing this forces a new Arc Kubernetes Flux Configuration to be created.\n","willReplaceOnChanges":true},"namespace":{"type":"string","description":"Specifies the namespace to which this configuration is installed to. Changing this forces a new Arc Kubernetes Flux Configuration to be created.\n","willReplaceOnChanges":true},"scope":{"type":"string","description":"Specifies the scope at which the operator will be installed. Possible values are \u003cspan pulumi-lang-nodejs=\"`cluster`\" pulumi-lang-dotnet=\"`Cluster`\" pulumi-lang-go=\"`cluster`\" pulumi-lang-python=\"`cluster`\" pulumi-lang-yaml=\"`cluster`\" pulumi-lang-java=\"`cluster`\"\u003e`cluster`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`namespace`\" pulumi-lang-dotnet=\"`Namespace`\" pulumi-lang-go=\"`namespace`\" pulumi-lang-python=\"`namespace`\" pulumi-lang-yaml=\"`namespace`\" pulumi-lang-java=\"`namespace`\"\u003e`namespace`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`namespace`\" pulumi-lang-dotnet=\"`Namespace`\" pulumi-lang-go=\"`namespace`\" pulumi-lang-python=\"`namespace`\" pulumi-lang-yaml=\"`namespace`\" pulumi-lang-java=\"`namespace`\"\u003e`namespace`\u003c/span\u003e. Changing this forces a new Arc Kubernetes Flux Configuration to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:arckubernetes/provisionedCluster:ProvisionedCluster":{"description":"Manages an Arc Kubernetes Provisioned Cluster.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\nimport * as azuread from \"@pulumi/azuread\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst current = azure.core.getClientConfig({});\nconst exampleGroup = new azuread.Group(\"example\", {\n    displayName: \"example-adg\",\n    owners: [current.then(current =\u003e current.objectId)],\n    securityEnabled: true,\n});\nconst exampleProvisionedCluster = new azure.arckubernetes.ProvisionedCluster(\"example\", {\n    name: \"example-akpc\",\n    resourceGroupName: example.name,\n    location: example.location,\n    azureActiveDirectory: {\n        azureRbacEnabled: true,\n        adminGroupObjectIds: [exampleGroup.id],\n        tenantId: current.then(current =\u003e current.tenantId),\n    },\n    identity: {\n        type: \"SystemAssigned\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\nimport pulumi_azuread as azuread\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\ncurrent = azure.core.get_client_config()\nexample_group = azuread.Group(\"example\",\n    display_name=\"example-adg\",\n    owners=[current.object_id],\n    security_enabled=True)\nexample_provisioned_cluster = azure.arckubernetes.ProvisionedCluster(\"example\",\n    name=\"example-akpc\",\n    resource_group_name=example.name,\n    location=example.location,\n    azure_active_directory={\n        \"azure_rbac_enabled\": True,\n        \"admin_group_object_ids\": [example_group.id],\n        \"tenant_id\": current.tenant_id,\n    },\n    identity={\n        \"type\": \"SystemAssigned\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\nusing AzureAD = Pulumi.AzureAD;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var current = Azure.Core.GetClientConfig.Invoke();\n\n    var exampleGroup = new AzureAD.Group(\"example\", new()\n    {\n        DisplayName = \"example-adg\",\n        Owners = new[]\n        {\n            current.Apply(getClientConfigResult =\u003e getClientConfigResult.ObjectId),\n        },\n        SecurityEnabled = true,\n    });\n\n    var exampleProvisionedCluster = new Azure.ArcKubernetes.ProvisionedCluster(\"example\", new()\n    {\n        Name = \"example-akpc\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        AzureActiveDirectory = new Azure.ArcKubernetes.Inputs.ProvisionedClusterAzureActiveDirectoryArgs\n        {\n            AzureRbacEnabled = true,\n            AdminGroupObjectIds = new[]\n            {\n                exampleGroup.Id,\n            },\n            TenantId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.TenantId),\n        },\n        Identity = new Azure.ArcKubernetes.Inputs.ProvisionedClusterIdentityArgs\n        {\n            Type = \"SystemAssigned\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/arckubernetes\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azuread/sdk/v6/go/azuread\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrent, err := core.GetClientConfig(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleGroup, err := azuread.NewGroup(ctx, \"example\", \u0026azuread.GroupArgs{\n\t\t\tDisplayName: pulumi.String(\"example-adg\"),\n\t\t\tOwners: pulumi.StringArray{\n\t\t\t\tpulumi.String(current.ObjectId),\n\t\t\t},\n\t\t\tSecurityEnabled: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = arckubernetes.NewProvisionedCluster(ctx, \"example\", \u0026arckubernetes.ProvisionedClusterArgs{\n\t\t\tName:              pulumi.String(\"example-akpc\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tAzureActiveDirectory: \u0026arckubernetes.ProvisionedClusterAzureActiveDirectoryArgs{\n\t\t\t\tAzureRbacEnabled: pulumi.Bool(true),\n\t\t\t\tAdminGroupObjectIds: pulumi.StringArray{\n\t\t\t\t\texampleGroup.ID(),\n\t\t\t\t},\n\t\t\t\tTenantId: pulumi.String(current.TenantId),\n\t\t\t},\n\t\t\tIdentity: \u0026arckubernetes.ProvisionedClusterIdentityArgs{\n\t\t\t\tType: pulumi.String(\"SystemAssigned\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azuread.Group;\nimport com.pulumi.azuread.GroupArgs;\nimport com.pulumi.azure.arckubernetes.ProvisionedCluster;\nimport com.pulumi.azure.arckubernetes.ProvisionedClusterArgs;\nimport com.pulumi.azure.arckubernetes.inputs.ProvisionedClusterAzureActiveDirectoryArgs;\nimport com.pulumi.azure.arckubernetes.inputs.ProvisionedClusterIdentityArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        final var current = CoreFunctions.getClientConfig(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n        var exampleGroup = new Group(\"exampleGroup\", GroupArgs.builder()\n            .displayName(\"example-adg\")\n            .owners(current.objectId())\n            .securityEnabled(true)\n            .build());\n\n        var exampleProvisionedCluster = new ProvisionedCluster(\"exampleProvisionedCluster\", ProvisionedClusterArgs.builder()\n            .name(\"example-akpc\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .azureActiveDirectory(ProvisionedClusterAzureActiveDirectoryArgs.builder()\n                .azureRbacEnabled(true)\n                .adminGroupObjectIds(exampleGroup.id())\n                .tenantId(current.tenantId())\n                .build())\n            .identity(ProvisionedClusterIdentityArgs.builder()\n                .type(\"SystemAssigned\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleGroup:\n    type: azuread:Group\n    name: example\n    properties:\n      displayName: example-adg\n      owners:\n        - ${current.objectId}\n      securityEnabled: true\n  exampleProvisionedCluster:\n    type: azure:arckubernetes:ProvisionedCluster\n    name: example\n    properties:\n      name: example-akpc\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      azureActiveDirectory:\n        azureRbacEnabled: true\n        adminGroupObjectIds:\n          - ${exampleGroup.id}\n        tenantId: ${current.tenantId}\n      identity:\n        type: SystemAssigned\nvariables:\n  current:\n    fn::invoke:\n      function: azure:core:getClientConfig\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Kubernetes` - 2024-01-01\n\n## Import\n\nArc Kubernetes Provisioned Clusters can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:arckubernetes/provisionedCluster:ProvisionedCluster example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/cluster1\n```\n\n","properties":{"agentVersion":{"type":"string","description":"The version of the agent running on the cluster resource.\n"},"arcAgentAutoUpgradeEnabled":{"type":"boolean","description":"Whether the Arc agents will be upgraded automatically to the latest version. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"arcAgentDesiredVersion":{"type":"string","description":"The version of the Arc agents to be installed on the cluster.\n"},"azureActiveDirectory":{"$ref":"#/types/azure:arckubernetes/ProvisionedClusterAzureActiveDirectory:ProvisionedClusterAzureActiveDirectory","description":"An \u003cspan pulumi-lang-nodejs=\"`azureActiveDirectory`\" pulumi-lang-dotnet=\"`AzureActiveDirectory`\" pulumi-lang-go=\"`azureActiveDirectory`\" pulumi-lang-python=\"`azure_active_directory`\" pulumi-lang-yaml=\"`azureActiveDirectory`\" pulumi-lang-java=\"`azureActiveDirectory`\"\u003e`azure_active_directory`\u003c/span\u003e block as defined below.\n"},"distribution":{"type":"string","description":"The distribution running on this Arc Kubernetes Provisioned Cluster.\n"},"identity":{"$ref":"#/types/azure:arckubernetes/ProvisionedClusterIdentity:ProvisionedClusterIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below. Changing this forces a new Arc Kubernetes Provisioned Cluster to be created.\n"},"infrastructure":{"type":"string","description":"The infrastructure on which the Arc Kubernetes Provisioned Cluster is running on.\n"},"kubernetesVersion":{"type":"string","description":"The Kubernetes version of the cluster resource.\n"},"location":{"type":"string","description":"The Azure Region where the Arc Kubernetes Provisioned Cluster should exist. Changing this forces a new Arc Kubernetes Provisioned Cluster to be created.\n"},"name":{"type":"string","description":"The name which should be used for this Arc Kubernetes Provisioned Cluster. Changing this forces a new Arc Kubernetes Provisioned Cluster to be created.\n"},"offering":{"type":"string","description":"The cluster offering.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Arc Kubernetes Provisioned Cluster should exist. Changing this forces a new Arc Kubernetes Provisioned Cluster to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Arc Kubernetes Provisioned Cluster.\n"},"totalCoreCount":{"type":"integer","description":"The number of CPU cores present in the cluster resource.\n"},"totalNodeCount":{"type":"integer","description":"The number of nodes present in the cluster resource.\n"}},"required":["agentVersion","distribution","identity","infrastructure","kubernetesVersion","location","name","offering","resourceGroupName","totalCoreCount","totalNodeCount"],"inputProperties":{"arcAgentAutoUpgradeEnabled":{"type":"boolean","description":"Whether the Arc agents will be upgraded automatically to the latest version. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"arcAgentDesiredVersion":{"type":"string","description":"The version of the Arc agents to be installed on the cluster.\n"},"azureActiveDirectory":{"$ref":"#/types/azure:arckubernetes/ProvisionedClusterAzureActiveDirectory:ProvisionedClusterAzureActiveDirectory","description":"An \u003cspan pulumi-lang-nodejs=\"`azureActiveDirectory`\" pulumi-lang-dotnet=\"`AzureActiveDirectory`\" pulumi-lang-go=\"`azureActiveDirectory`\" pulumi-lang-python=\"`azure_active_directory`\" pulumi-lang-yaml=\"`azureActiveDirectory`\" pulumi-lang-java=\"`azureActiveDirectory`\"\u003e`azure_active_directory`\u003c/span\u003e block as defined below.\n"},"identity":{"$ref":"#/types/azure:arckubernetes/ProvisionedClusterIdentity:ProvisionedClusterIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below. Changing this forces a new Arc Kubernetes Provisioned Cluster to be created.\n","willReplaceOnChanges":true},"location":{"type":"string","description":"The Azure Region where the Arc Kubernetes Provisioned Cluster should exist. Changing this forces a new Arc Kubernetes Provisioned Cluster to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Arc Kubernetes Provisioned Cluster. Changing this forces a new Arc Kubernetes Provisioned Cluster to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Arc Kubernetes Provisioned Cluster should exist. Changing this forces a new Arc Kubernetes Provisioned Cluster to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Arc Kubernetes Provisioned Cluster.\n"}},"requiredInputs":["identity","resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering ProvisionedCluster resources.\n","properties":{"agentVersion":{"type":"string","description":"The version of the agent running on the cluster resource.\n"},"arcAgentAutoUpgradeEnabled":{"type":"boolean","description":"Whether the Arc agents will be upgraded automatically to the latest version. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"arcAgentDesiredVersion":{"type":"string","description":"The version of the Arc agents to be installed on the cluster.\n"},"azureActiveDirectory":{"$ref":"#/types/azure:arckubernetes/ProvisionedClusterAzureActiveDirectory:ProvisionedClusterAzureActiveDirectory","description":"An \u003cspan pulumi-lang-nodejs=\"`azureActiveDirectory`\" pulumi-lang-dotnet=\"`AzureActiveDirectory`\" pulumi-lang-go=\"`azureActiveDirectory`\" pulumi-lang-python=\"`azure_active_directory`\" pulumi-lang-yaml=\"`azureActiveDirectory`\" pulumi-lang-java=\"`azureActiveDirectory`\"\u003e`azure_active_directory`\u003c/span\u003e block as defined below.\n"},"distribution":{"type":"string","description":"The distribution running on this Arc Kubernetes Provisioned Cluster.\n"},"identity":{"$ref":"#/types/azure:arckubernetes/ProvisionedClusterIdentity:ProvisionedClusterIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below. Changing this forces a new Arc Kubernetes Provisioned Cluster to be created.\n","willReplaceOnChanges":true},"infrastructure":{"type":"string","description":"The infrastructure on which the Arc Kubernetes Provisioned Cluster is running on.\n"},"kubernetesVersion":{"type":"string","description":"The Kubernetes version of the cluster resource.\n"},"location":{"type":"string","description":"The Azure Region where the Arc Kubernetes Provisioned Cluster should exist. Changing this forces a new Arc Kubernetes Provisioned Cluster to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Arc Kubernetes Provisioned Cluster. Changing this forces a new Arc Kubernetes Provisioned Cluster to be created.\n","willReplaceOnChanges":true},"offering":{"type":"string","description":"The cluster offering.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Arc Kubernetes Provisioned Cluster should exist. Changing this forces a new Arc Kubernetes Provisioned Cluster to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Arc Kubernetes Provisioned Cluster.\n"},"totalCoreCount":{"type":"integer","description":"The number of CPU cores present in the cluster resource.\n"},"totalNodeCount":{"type":"integer","description":"The number of nodes present in the cluster resource.\n"}},"type":"object"}},"azure:arcmachine/arcMachine:ArcMachine":{"description":"Manages a Hybrid Compute Machine.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleArcMachine = new azure.arcmachine.ArcMachine(\"example\", {\n    name: \"example-arcmachine\",\n    resourceGroupName: example.name,\n    location: example.location,\n    kind: \"SCVMM\",\n    identity: {\n        type: \"SystemAssigned\",\n    },\n    tags: {\n        environment: \"example\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_arc_machine = azure.arcmachine.ArcMachine(\"example\",\n    name=\"example-arcmachine\",\n    resource_group_name=example.name,\n    location=example.location,\n    kind=\"SCVMM\",\n    identity={\n        \"type\": \"SystemAssigned\",\n    },\n    tags={\n        \"environment\": \"example\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleArcMachine = new Azure.ArcMachine.ArcMachine(\"example\", new()\n    {\n        Name = \"example-arcmachine\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        Kind = \"SCVMM\",\n        Identity = new Azure.ArcMachine.Inputs.ArcMachineIdentityArgs\n        {\n            Type = \"SystemAssigned\",\n        },\n        Tags = \n        {\n            { \"environment\", \"example\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/arcmachine\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = arcmachine.NewArcMachine(ctx, \"example\", \u0026arcmachine.ArcMachineArgs{\n\t\t\tName:              pulumi.String(\"example-arcmachine\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tKind:              pulumi.String(\"SCVMM\"),\n\t\t\tIdentity: \u0026arcmachine.ArcMachineIdentityArgs{\n\t\t\t\tType: pulumi.String(\"SystemAssigned\"),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"environment\": pulumi.String(\"example\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.arcmachine.ArcMachine;\nimport com.pulumi.azure.arcmachine.ArcMachineArgs;\nimport com.pulumi.azure.arcmachine.inputs.ArcMachineIdentityArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleArcMachine = new ArcMachine(\"exampleArcMachine\", ArcMachineArgs.builder()\n            .name(\"example-arcmachine\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .kind(\"SCVMM\")\n            .identity(ArcMachineIdentityArgs.builder()\n                .type(\"SystemAssigned\")\n                .build())\n            .tags(Map.of(\"environment\", \"example\"))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleArcMachine:\n    type: azure:arcmachine:ArcMachine\n    name: example\n    properties:\n      name: example-arcmachine\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      kind: SCVMM\n      identity:\n        type: SystemAssigned\n      tags:\n        environment: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.HybridCompute` - 2024-07-10\n\n## Import\n\nArc Machines can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:arcmachine/arcMachine:ArcMachine example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup1/providers/Microsoft.HybridCompute/machines/machine1\n```\n\n","properties":{"identity":{"$ref":"#/types/azure:arcmachine/ArcMachineIdentity:ArcMachineIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"kind":{"type":"string","description":"The kind of the Arc Machine. Possible values are `AVS`, `AWS`, `EPS`, `GCP`, `HCI`, `SCVMM` and `VMware`. Changing this forces a new resource to be created.\n"},"location":{"type":"string","description":"The Azure Region where the Arc Machine should exist. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"The name of the Arc machine. Changing this forces a new resource to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Arc Machine should exist. Changing this forces a new resource to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the Arc Machine.\n"}},"required":["kind","location","name","resourceGroupName"],"inputProperties":{"identity":{"$ref":"#/types/azure:arcmachine/ArcMachineIdentity:ArcMachineIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"kind":{"type":"string","description":"The kind of the Arc Machine. Possible values are `AVS`, `AWS`, `EPS`, `GCP`, `HCI`, `SCVMM` and `VMware`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"location":{"type":"string","description":"The Azure Region where the Arc Machine should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the Arc machine. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Arc Machine should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the Arc Machine.\n"}},"requiredInputs":["kind","resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering ArcMachine resources.\n","properties":{"identity":{"$ref":"#/types/azure:arcmachine/ArcMachineIdentity:ArcMachineIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"kind":{"type":"string","description":"The kind of the Arc Machine. Possible values are `AVS`, `AWS`, `EPS`, `GCP`, `HCI`, `SCVMM` and `VMware`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"location":{"type":"string","description":"The Azure Region where the Arc Machine should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the Arc machine. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Arc Machine should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the Arc Machine.\n"}},"type":"object"}},"azure:arcmachine/automanageConfigurationAssignment:AutomanageConfigurationAssignment":{"description":"Manages an Arc Machine Automanage Configuration Profile Assignment.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst config = new pulumi.Config();\n// The name of the Arc Machine.\nconst arcMachineName = config.requireObject\u003cany\u003e(\"arcMachineName\");\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst example = exampleResourceGroup.name.apply(name =\u003e azure.arcmachine.getOutput({\n    name: arcMachineName,\n    resourceGroupName: name,\n}));\nconst exampleConfiguration = new azure.automanage.Configuration(\"example\", {\n    name: \"example-configuration\",\n    resourceGroupName: exampleResourceGroup.name,\n    location: exampleResourceGroup.location,\n});\nconst exampleAutomanageConfigurationAssignment = new azure.arcmachine.AutomanageConfigurationAssignment(\"example\", {\n    arcMachineId: example.apply(example =\u003e example.id),\n    configurationId: exampleConfiguration.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nconfig = pulumi.Config()\n# The name of the Arc Machine.\narc_machine_name = config.require_object(\"arcMachineName\")\nexample_resource_group = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample = example_resource_group.name.apply(lambda name: azure.arcmachine.get_output(name=arc_machine_name,\n    resource_group_name=name))\nexample_configuration = azure.automanage.Configuration(\"example\",\n    name=\"example-configuration\",\n    resource_group_name=example_resource_group.name,\n    location=example_resource_group.location)\nexample_automanage_configuration_assignment = azure.arcmachine.AutomanageConfigurationAssignment(\"example\",\n    arc_machine_id=example.id,\n    configuration_id=example_configuration.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    // The name of the Arc Machine.\n    var arcMachineName = config.RequireObject\u003cdynamic\u003e(\"arcMachineName\");\n    var exampleResourceGroup = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var example = Azure.ArcMachine.Get.Invoke(new()\n    {\n        Name = arcMachineName,\n        ResourceGroupName = exampleResourceGroup.Name,\n    });\n\n    var exampleConfiguration = new Azure.Automanage.Configuration(\"example\", new()\n    {\n        Name = \"example-configuration\",\n        ResourceGroupName = exampleResourceGroup.Name,\n        Location = exampleResourceGroup.Location,\n    });\n\n    var exampleAutomanageConfigurationAssignment = new Azure.ArcMachine.AutomanageConfigurationAssignment(\"example\", new()\n    {\n        ArcMachineId = example.Apply(getResult =\u003e getResult.Id),\n        ConfigurationId = exampleConfiguration.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/arcmachine\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/automanage\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\t// The name of the Arc Machine.\n\t\tarcMachineName := cfg.RequireObject(\"arcMachineName\")\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample := exampleResourceGroup.Name.ApplyT(func(name string) (arcmachine.GetResult, error) {\n\t\t\treturn arcmachine.GetResult(interface{}(arcmachine.Get(ctx, \u0026arcmachine.GetArgs{\n\t\t\t\tName:              arcMachineName,\n\t\t\t\tResourceGroupName: name,\n\t\t\t}, nil))), nil\n\t\t}).(arcmachine.GetResultOutput)\n\t\texampleConfiguration, err := automanage.NewConfiguration(ctx, \"example\", \u0026automanage.ConfigurationArgs{\n\t\t\tName:              pulumi.String(\"example-configuration\"),\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tLocation:          exampleResourceGroup.Location,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = arcmachine.NewAutomanageConfigurationAssignment(ctx, \"example\", \u0026arcmachine.AutomanageConfigurationAssignmentArgs{\n\t\t\tArcMachineId: pulumi.String(example.ApplyT(func(example arcmachine.GetResult) (*string, error) {\n\t\t\t\treturn \u0026example.Id, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tConfigurationId: exampleConfiguration.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.arcmachine.ArcmachineFunctions;\nimport com.pulumi.azure.arcmachine.inputs.GetArgs;\nimport com.pulumi.azure.automanage.Configuration;\nimport com.pulumi.azure.automanage.ConfigurationArgs;\nimport com.pulumi.azure.arcmachine.AutomanageConfigurationAssignment;\nimport com.pulumi.azure.arcmachine.AutomanageConfigurationAssignmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var arcMachineName = config.get(\"arcMachineName\");\n        var exampleResourceGroup = new ResourceGroup(\"exampleResourceGroup\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        final var example = exampleResourceGroup.name().applyValue(_name -\u003e ArcmachineFunctions.get(GetArgs.builder()\n            .name(arcMachineName)\n            .resourceGroupName(_name)\n            .build()));\n\n        var exampleConfiguration = new Configuration(\"exampleConfiguration\", ConfigurationArgs.builder()\n            .name(\"example-configuration\")\n            .resourceGroupName(exampleResourceGroup.name())\n            .location(exampleResourceGroup.location())\n            .build());\n\n        var exampleAutomanageConfigurationAssignment = new AutomanageConfigurationAssignment(\"exampleAutomanageConfigurationAssignment\", AutomanageConfigurationAssignmentArgs.builder()\n            .arcMachineId(example.applyValue(_example -\u003e _example.id()))\n            .configurationId(exampleConfiguration.id())\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  arcMachineName:\n    type: dynamic\nresources:\n  exampleResourceGroup:\n    type: azure:core:ResourceGroup\n    name: example\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleConfiguration:\n    type: azure:automanage:Configuration\n    name: example\n    properties:\n      name: example-configuration\n      resourceGroupName: ${exampleResourceGroup.name}\n      location: ${exampleResourceGroup.location}\n  exampleAutomanageConfigurationAssignment:\n    type: azure:arcmachine:AutomanageConfigurationAssignment\n    name: example\n    properties:\n      arcMachineId: ${example.id}\n      configurationId: ${exampleConfiguration.id}\nvariables:\n  example:\n    fn::invoke:\n      function: azure:arcmachine:get\n      arguments:\n        name: ${arcMachineName}\n        resourceGroupName: ${exampleResourceGroup.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.HybridCompute` - 2022-05-04\n\n## Import\n\nVirtual Machine Automanage Configuration Profile Assignment can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:arcmachine/automanageConfigurationAssignment:AutomanageConfigurationAssignment example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.HybridCompute/machines/machine1/providers/Microsoft.AutoManage/configurationProfileAssignments/default\n```\n\n","properties":{"arcMachineId":{"type":"string","description":"The ARM resource ID of the Arc Machine to assign the Automanage Configuration to. Changing this forces a new resource to be created.\n"},"configurationId":{"type":"string","description":"The ARM resource ID of the Automanage Configuration to assign to the Virtual Machine. Changing this forces a new resource to be created.\n\n\u003e **Note:** For a successful creation of this resource, locate \"Automanage API Access\" app within your Entra ID tenant. Make sure it's granted access to the scope that includes the arc server.\n"}},"required":["arcMachineId","configurationId"],"inputProperties":{"arcMachineId":{"type":"string","description":"The ARM resource ID of the Arc Machine to assign the Automanage Configuration to. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"configurationId":{"type":"string","description":"The ARM resource ID of the Automanage Configuration to assign to the Virtual Machine. Changing this forces a new resource to be created.\n\n\u003e **Note:** For a successful creation of this resource, locate \"Automanage API Access\" app within your Entra ID tenant. Make sure it's granted access to the scope that includes the arc server.\n","willReplaceOnChanges":true}},"requiredInputs":["arcMachineId","configurationId"],"stateInputs":{"description":"Input properties used for looking up and filtering AutomanageConfigurationAssignment resources.\n","properties":{"arcMachineId":{"type":"string","description":"The ARM resource ID of the Arc Machine to assign the Automanage Configuration to. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"configurationId":{"type":"string","description":"The ARM resource ID of the Automanage Configuration to assign to the Virtual Machine. Changing this forces a new resource to be created.\n\n\u003e **Note:** For a successful creation of this resource, locate \"Automanage API Access\" app within your Entra ID tenant. Make sure it's granted access to the scope that includes the arc server.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:arcmachine/extension:Extension":{"description":"Manages a Hybrid Compute Machine Extension.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"example\", {\n    name: \"example\",\n    location: \"West Europe\",\n});\nconst example = azure.arcmachine.getOutput({\n    name: \"existing-hcmachine\",\n    resourceGroupName: exampleResourceGroup.name,\n});\nconst exampleExtension = new azure.arcmachine.Extension(\"example\", {\n    name: \"example\",\n    location: \"West Europe\",\n    arcMachineId: example.apply(example =\u003e example.id),\n    publisher: \"Microsoft.Azure.Monitor\",\n    type: \"AzureMonitorLinuxAgent\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"example\",\n    name=\"example\",\n    location=\"West Europe\")\nexample = azure.arcmachine.get_output(name=\"existing-hcmachine\",\n    resource_group_name=example_resource_group.name)\nexample_extension = azure.arcmachine.Extension(\"example\",\n    name=\"example\",\n    location=\"West Europe\",\n    arc_machine_id=example.id,\n    publisher=\"Microsoft.Azure.Monitor\",\n    type=\"AzureMonitorLinuxAgent\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleResourceGroup = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example\",\n        Location = \"West Europe\",\n    });\n\n    var example = Azure.ArcMachine.Get.Invoke(new()\n    {\n        Name = \"existing-hcmachine\",\n        ResourceGroupName = exampleResourceGroup.Name,\n    });\n\n    var exampleExtension = new Azure.ArcMachine.Extension(\"example\", new()\n    {\n        Name = \"example\",\n        Location = \"West Europe\",\n        ArcMachineId = example.Apply(getResult =\u003e getResult.Id),\n        Publisher = \"Microsoft.Azure.Monitor\",\n        Type = \"AzureMonitorLinuxAgent\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/arcmachine\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample := arcmachine.GetOutput(ctx, arcmachine.GetOutputArgs{\n\t\t\tName:              pulumi.String(\"existing-hcmachine\"),\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t}, nil)\n\t\t_, err = arcmachine.NewExtension(ctx, \"example\", \u0026arcmachine.ExtensionArgs{\n\t\t\tName:     pulumi.String(\"example\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t\tArcMachineId: pulumi.String(example.ApplyT(func(example arcmachine.GetResult) (*string, error) {\n\t\t\t\treturn \u0026example.Id, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tPublisher: pulumi.String(\"Microsoft.Azure.Monitor\"),\n\t\t\tType:      pulumi.String(\"AzureMonitorLinuxAgent\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.arcmachine.ArcmachineFunctions;\nimport com.pulumi.azure.arcmachine.inputs.GetArgs;\nimport com.pulumi.azure.arcmachine.Extension;\nimport com.pulumi.azure.arcmachine.ExtensionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var exampleResourceGroup = new ResourceGroup(\"exampleResourceGroup\", ResourceGroupArgs.builder()\n            .name(\"example\")\n            .location(\"West Europe\")\n            .build());\n\n        final var example = ArcmachineFunctions.get(GetArgs.builder()\n            .name(\"existing-hcmachine\")\n            .resourceGroupName(exampleResourceGroup.name())\n            .build());\n\n        var exampleExtension = new Extension(\"exampleExtension\", ExtensionArgs.builder()\n            .name(\"example\")\n            .location(\"West Europe\")\n            .arcMachineId(example.applyValue(_example -\u003e _example.id()))\n            .publisher(\"Microsoft.Azure.Monitor\")\n            .type(\"AzureMonitorLinuxAgent\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleResourceGroup:\n    type: azure:core:ResourceGroup\n    name: example\n    properties:\n      name: example\n      location: West Europe\n  exampleExtension:\n    type: azure:arcmachine:Extension\n    name: example\n    properties:\n      name: example\n      location: West Europe\n      arcMachineId: ${example.id}\n      publisher: Microsoft.Azure.Monitor\n      type: AzureMonitorLinuxAgent\nvariables:\n  example:\n    fn::invoke:\n      function: azure:arcmachine:get\n      arguments:\n        name: existing-hcmachine\n        resourceGroupName: ${exampleResourceGroup.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.HybridCompute` - 2022-11-10\n\n## Import\n\nHybrid Compute Machine Extensions can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:arcmachine/extension:Extension example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.HybridCompute/machines/hcmachine1/extensions/ext1\n```\n\n","properties":{"arcMachineId":{"type":"string","description":"The ID of the Hybrid Compute Machine Extension. Changing this forces a new Hybrid Compute Machine Extension to be created.\n"},"automaticUpgradeEnabled":{"type":"boolean","description":"Indicates whether the extension should be automatically upgraded by the platform if there is a newer version available. Supported values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n\n\u003e **Note:** When \u003cspan pulumi-lang-nodejs=\"`automaticUpgradeEnabled`\" pulumi-lang-dotnet=\"`AutomaticUpgradeEnabled`\" pulumi-lang-go=\"`automaticUpgradeEnabled`\" pulumi-lang-python=\"`automatic_upgrade_enabled`\" pulumi-lang-yaml=\"`automaticUpgradeEnabled`\" pulumi-lang-java=\"`automaticUpgradeEnabled`\"\u003e`automatic_upgrade_enabled`\u003c/span\u003e can only be set during creation. Any later change will be ignored.\n\n\u003e **Note:** When \u003cspan pulumi-lang-nodejs=\"`automaticUpgradeEnabled`\" pulumi-lang-dotnet=\"`AutomaticUpgradeEnabled`\" pulumi-lang-go=\"`automaticUpgradeEnabled`\" pulumi-lang-python=\"`automatic_upgrade_enabled`\" pulumi-lang-yaml=\"`automaticUpgradeEnabled`\" pulumi-lang-java=\"`automaticUpgradeEnabled`\"\u003e`automatic_upgrade_enabled`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, the \u003cspan pulumi-lang-nodejs=\"`typeHandlerVersion`\" pulumi-lang-dotnet=\"`TypeHandlerVersion`\" pulumi-lang-go=\"`typeHandlerVersion`\" pulumi-lang-python=\"`type_handler_version`\" pulumi-lang-yaml=\"`typeHandlerVersion`\" pulumi-lang-java=\"`typeHandlerVersion`\"\u003e`type_handler_version`\u003c/span\u003e is automatically updated by the Azure platform when a new version is available and any change in \u003cspan pulumi-lang-nodejs=\"`typeHandlerVersion`\" pulumi-lang-dotnet=\"`TypeHandlerVersion`\" pulumi-lang-go=\"`typeHandlerVersion`\" pulumi-lang-python=\"`type_handler_version`\" pulumi-lang-yaml=\"`typeHandlerVersion`\" pulumi-lang-java=\"`typeHandlerVersion`\"\u003e`type_handler_version`\u003c/span\u003e will be automatically ignored.\n"},"forceUpdateTag":{"type":"string","description":"How the extension handler should be forced to update even if the extension configuration has not changed.\n"},"location":{"type":"string","description":"The Azure Region where the Hybrid Compute Machine Extension should exist. Changing this forces a new Hybrid Compute Machine Extension to be created.\n"},"name":{"type":"string","description":"The name which should be used for this Hybrid Compute Machine Extension. Changing this forces a new Hybrid Compute Machine Extension to be created.\n"},"protectedSettings":{"type":"string","description":"Json formatted protected settings for the extension.\n","secret":true},"publisher":{"type":"string","description":"The name of the extension handler publisher, such as `Microsoft.Azure.Monitor`. Changing this forces a new Hybrid Compute Machine Extension to be created.\n"},"settings":{"type":"string","description":"Json formatted public settings for the extension.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Hybrid Compute Machine Extension.\n"},"type":{"type":"string","description":"Specifies the type of the extension. For example `CustomScriptExtension` or `AzureMonitorLinuxAgent`. Changing this forces a new Hybrid Compute Machine Extension to be created.\n"},"typeHandlerVersion":{"type":"string","description":"Specifies the version of the script handler.\n\n\u003e **Note:** 1. When \u003cspan pulumi-lang-nodejs=\"`automaticUpgradeEnabled`\" pulumi-lang-dotnet=\"`AutomaticUpgradeEnabled`\" pulumi-lang-go=\"`automaticUpgradeEnabled`\" pulumi-lang-python=\"`automatic_upgrade_enabled`\" pulumi-lang-yaml=\"`automaticUpgradeEnabled`\" pulumi-lang-java=\"`automaticUpgradeEnabled`\"\u003e`automatic_upgrade_enabled`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e and no \u003cspan pulumi-lang-nodejs=\"`typeHandlerVersion`\" pulumi-lang-dotnet=\"`TypeHandlerVersion`\" pulumi-lang-go=\"`typeHandlerVersion`\" pulumi-lang-python=\"`type_handler_version`\" pulumi-lang-yaml=\"`typeHandlerVersion`\" pulumi-lang-java=\"`typeHandlerVersion`\"\u003e`type_handler_version`\u003c/span\u003e is specified, the \u003cspan pulumi-lang-nodejs=\"`typeHandlerVersion`\" pulumi-lang-dotnet=\"`TypeHandlerVersion`\" pulumi-lang-go=\"`typeHandlerVersion`\" pulumi-lang-python=\"`type_handler_version`\" pulumi-lang-yaml=\"`typeHandlerVersion`\" pulumi-lang-java=\"`typeHandlerVersion`\"\u003e`type_handler_version`\u003c/span\u003e change should be manually ignored by \u003cspan pulumi-lang-nodejs=\"`ignoreChanges`\" pulumi-lang-dotnet=\"`IgnoreChanges`\" pulumi-lang-go=\"`ignoreChanges`\" pulumi-lang-python=\"`ignore_changes`\" pulumi-lang-yaml=\"`ignoreChanges`\" pulumi-lang-java=\"`ignoreChanges`\"\u003e`ignore_changes`\u003c/span\u003e lifecycle block. This is because the \u003cspan pulumi-lang-nodejs=\"`typeHandlerVersion`\" pulumi-lang-dotnet=\"`TypeHandlerVersion`\" pulumi-lang-go=\"`typeHandlerVersion`\" pulumi-lang-python=\"`type_handler_version`\" pulumi-lang-yaml=\"`typeHandlerVersion`\" pulumi-lang-java=\"`typeHandlerVersion`\"\u003e`type_handler_version`\u003c/span\u003e is set by the Azure platform when the extension is created. 2. When \u003cspan pulumi-lang-nodejs=\"`automaticUpgradeEnabled`\" pulumi-lang-dotnet=\"`AutomaticUpgradeEnabled`\" pulumi-lang-go=\"`automaticUpgradeEnabled`\" pulumi-lang-python=\"`automatic_upgrade_enabled`\" pulumi-lang-yaml=\"`automaticUpgradeEnabled`\" pulumi-lang-java=\"`automaticUpgradeEnabled`\"\u003e`automatic_upgrade_enabled`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`typeHandlerVersion`\" pulumi-lang-dotnet=\"`TypeHandlerVersion`\" pulumi-lang-go=\"`typeHandlerVersion`\" pulumi-lang-python=\"`type_handler_version`\" pulumi-lang-yaml=\"`typeHandlerVersion`\" pulumi-lang-java=\"`typeHandlerVersion`\"\u003e`type_handler_version`\u003c/span\u003e is specified, the provider will check whether the version prefix is aligned with user input. For example, if user specifies `1.24` in \u003cspan pulumi-lang-nodejs=\"`typeHandlerVersion`\" pulumi-lang-dotnet=\"`TypeHandlerVersion`\" pulumi-lang-go=\"`typeHandlerVersion`\" pulumi-lang-python=\"`type_handler_version`\" pulumi-lang-yaml=\"`typeHandlerVersion`\" pulumi-lang-java=\"`typeHandlerVersion`\"\u003e`type_handler_version`\u003c/span\u003e, `1.24.1` will be considered as no diff.\n"}},"required":["arcMachineId","location","name","publisher","type"],"inputProperties":{"arcMachineId":{"type":"string","description":"The ID of the Hybrid Compute Machine Extension. Changing this forces a new Hybrid Compute Machine Extension to be created.\n","willReplaceOnChanges":true},"automaticUpgradeEnabled":{"type":"boolean","description":"Indicates whether the extension should be automatically upgraded by the platform if there is a newer version available. Supported values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n\n\u003e **Note:** When \u003cspan pulumi-lang-nodejs=\"`automaticUpgradeEnabled`\" pulumi-lang-dotnet=\"`AutomaticUpgradeEnabled`\" pulumi-lang-go=\"`automaticUpgradeEnabled`\" pulumi-lang-python=\"`automatic_upgrade_enabled`\" pulumi-lang-yaml=\"`automaticUpgradeEnabled`\" pulumi-lang-java=\"`automaticUpgradeEnabled`\"\u003e`automatic_upgrade_enabled`\u003c/span\u003e can only be set during creation. Any later change will be ignored.\n\n\u003e **Note:** When \u003cspan pulumi-lang-nodejs=\"`automaticUpgradeEnabled`\" pulumi-lang-dotnet=\"`AutomaticUpgradeEnabled`\" pulumi-lang-go=\"`automaticUpgradeEnabled`\" pulumi-lang-python=\"`automatic_upgrade_enabled`\" pulumi-lang-yaml=\"`automaticUpgradeEnabled`\" pulumi-lang-java=\"`automaticUpgradeEnabled`\"\u003e`automatic_upgrade_enabled`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, the \u003cspan pulumi-lang-nodejs=\"`typeHandlerVersion`\" pulumi-lang-dotnet=\"`TypeHandlerVersion`\" pulumi-lang-go=\"`typeHandlerVersion`\" pulumi-lang-python=\"`type_handler_version`\" pulumi-lang-yaml=\"`typeHandlerVersion`\" pulumi-lang-java=\"`typeHandlerVersion`\"\u003e`type_handler_version`\u003c/span\u003e is automatically updated by the Azure platform when a new version is available and any change in \u003cspan pulumi-lang-nodejs=\"`typeHandlerVersion`\" pulumi-lang-dotnet=\"`TypeHandlerVersion`\" pulumi-lang-go=\"`typeHandlerVersion`\" pulumi-lang-python=\"`type_handler_version`\" pulumi-lang-yaml=\"`typeHandlerVersion`\" pulumi-lang-java=\"`typeHandlerVersion`\"\u003e`type_handler_version`\u003c/span\u003e will be automatically ignored.\n"},"forceUpdateTag":{"type":"string","description":"How the extension handler should be forced to update even if the extension configuration has not changed.\n"},"location":{"type":"string","description":"The Azure Region where the Hybrid Compute Machine Extension should exist. Changing this forces a new Hybrid Compute Machine Extension to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Hybrid Compute Machine Extension. Changing this forces a new Hybrid Compute Machine Extension to be created.\n","willReplaceOnChanges":true},"protectedSettings":{"type":"string","description":"Json formatted protected settings for the extension.\n","secret":true},"publisher":{"type":"string","description":"The name of the extension handler publisher, such as `Microsoft.Azure.Monitor`. Changing this forces a new Hybrid Compute Machine Extension to be created.\n","willReplaceOnChanges":true},"settings":{"type":"string","description":"Json formatted public settings for the extension.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Hybrid Compute Machine Extension.\n"},"type":{"type":"string","description":"Specifies the type of the extension. For example `CustomScriptExtension` or `AzureMonitorLinuxAgent`. Changing this forces a new Hybrid Compute Machine Extension to be created.\n","willReplaceOnChanges":true},"typeHandlerVersion":{"type":"string","description":"Specifies the version of the script handler.\n\n\u003e **Note:** 1. When \u003cspan pulumi-lang-nodejs=\"`automaticUpgradeEnabled`\" pulumi-lang-dotnet=\"`AutomaticUpgradeEnabled`\" pulumi-lang-go=\"`automaticUpgradeEnabled`\" pulumi-lang-python=\"`automatic_upgrade_enabled`\" pulumi-lang-yaml=\"`automaticUpgradeEnabled`\" pulumi-lang-java=\"`automaticUpgradeEnabled`\"\u003e`automatic_upgrade_enabled`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e and no \u003cspan pulumi-lang-nodejs=\"`typeHandlerVersion`\" pulumi-lang-dotnet=\"`TypeHandlerVersion`\" pulumi-lang-go=\"`typeHandlerVersion`\" pulumi-lang-python=\"`type_handler_version`\" pulumi-lang-yaml=\"`typeHandlerVersion`\" pulumi-lang-java=\"`typeHandlerVersion`\"\u003e`type_handler_version`\u003c/span\u003e is specified, the \u003cspan pulumi-lang-nodejs=\"`typeHandlerVersion`\" pulumi-lang-dotnet=\"`TypeHandlerVersion`\" pulumi-lang-go=\"`typeHandlerVersion`\" pulumi-lang-python=\"`type_handler_version`\" pulumi-lang-yaml=\"`typeHandlerVersion`\" pulumi-lang-java=\"`typeHandlerVersion`\"\u003e`type_handler_version`\u003c/span\u003e change should be manually ignored by \u003cspan pulumi-lang-nodejs=\"`ignoreChanges`\" pulumi-lang-dotnet=\"`IgnoreChanges`\" pulumi-lang-go=\"`ignoreChanges`\" pulumi-lang-python=\"`ignore_changes`\" pulumi-lang-yaml=\"`ignoreChanges`\" pulumi-lang-java=\"`ignoreChanges`\"\u003e`ignore_changes`\u003c/span\u003e lifecycle block. This is because the \u003cspan pulumi-lang-nodejs=\"`typeHandlerVersion`\" pulumi-lang-dotnet=\"`TypeHandlerVersion`\" pulumi-lang-go=\"`typeHandlerVersion`\" pulumi-lang-python=\"`type_handler_version`\" pulumi-lang-yaml=\"`typeHandlerVersion`\" pulumi-lang-java=\"`typeHandlerVersion`\"\u003e`type_handler_version`\u003c/span\u003e is set by the Azure platform when the extension is created. 2. When \u003cspan pulumi-lang-nodejs=\"`automaticUpgradeEnabled`\" pulumi-lang-dotnet=\"`AutomaticUpgradeEnabled`\" pulumi-lang-go=\"`automaticUpgradeEnabled`\" pulumi-lang-python=\"`automatic_upgrade_enabled`\" pulumi-lang-yaml=\"`automaticUpgradeEnabled`\" pulumi-lang-java=\"`automaticUpgradeEnabled`\"\u003e`automatic_upgrade_enabled`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`typeHandlerVersion`\" pulumi-lang-dotnet=\"`TypeHandlerVersion`\" pulumi-lang-go=\"`typeHandlerVersion`\" pulumi-lang-python=\"`type_handler_version`\" pulumi-lang-yaml=\"`typeHandlerVersion`\" pulumi-lang-java=\"`typeHandlerVersion`\"\u003e`type_handler_version`\u003c/span\u003e is specified, the provider will check whether the version prefix is aligned with user input. For example, if user specifies `1.24` in \u003cspan pulumi-lang-nodejs=\"`typeHandlerVersion`\" pulumi-lang-dotnet=\"`TypeHandlerVersion`\" pulumi-lang-go=\"`typeHandlerVersion`\" pulumi-lang-python=\"`type_handler_version`\" pulumi-lang-yaml=\"`typeHandlerVersion`\" pulumi-lang-java=\"`typeHandlerVersion`\"\u003e`type_handler_version`\u003c/span\u003e, `1.24.1` will be considered as no diff.\n"}},"requiredInputs":["arcMachineId","publisher","type"],"stateInputs":{"description":"Input properties used for looking up and filtering Extension resources.\n","properties":{"arcMachineId":{"type":"string","description":"The ID of the Hybrid Compute Machine Extension. Changing this forces a new Hybrid Compute Machine Extension to be created.\n","willReplaceOnChanges":true},"automaticUpgradeEnabled":{"type":"boolean","description":"Indicates whether the extension should be automatically upgraded by the platform if there is a newer version available. Supported values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n\n\u003e **Note:** When \u003cspan pulumi-lang-nodejs=\"`automaticUpgradeEnabled`\" pulumi-lang-dotnet=\"`AutomaticUpgradeEnabled`\" pulumi-lang-go=\"`automaticUpgradeEnabled`\" pulumi-lang-python=\"`automatic_upgrade_enabled`\" pulumi-lang-yaml=\"`automaticUpgradeEnabled`\" pulumi-lang-java=\"`automaticUpgradeEnabled`\"\u003e`automatic_upgrade_enabled`\u003c/span\u003e can only be set during creation. Any later change will be ignored.\n\n\u003e **Note:** When \u003cspan pulumi-lang-nodejs=\"`automaticUpgradeEnabled`\" pulumi-lang-dotnet=\"`AutomaticUpgradeEnabled`\" pulumi-lang-go=\"`automaticUpgradeEnabled`\" pulumi-lang-python=\"`automatic_upgrade_enabled`\" pulumi-lang-yaml=\"`automaticUpgradeEnabled`\" pulumi-lang-java=\"`automaticUpgradeEnabled`\"\u003e`automatic_upgrade_enabled`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, the \u003cspan pulumi-lang-nodejs=\"`typeHandlerVersion`\" pulumi-lang-dotnet=\"`TypeHandlerVersion`\" pulumi-lang-go=\"`typeHandlerVersion`\" pulumi-lang-python=\"`type_handler_version`\" pulumi-lang-yaml=\"`typeHandlerVersion`\" pulumi-lang-java=\"`typeHandlerVersion`\"\u003e`type_handler_version`\u003c/span\u003e is automatically updated by the Azure platform when a new version is available and any change in \u003cspan pulumi-lang-nodejs=\"`typeHandlerVersion`\" pulumi-lang-dotnet=\"`TypeHandlerVersion`\" pulumi-lang-go=\"`typeHandlerVersion`\" pulumi-lang-python=\"`type_handler_version`\" pulumi-lang-yaml=\"`typeHandlerVersion`\" pulumi-lang-java=\"`typeHandlerVersion`\"\u003e`type_handler_version`\u003c/span\u003e will be automatically ignored.\n"},"forceUpdateTag":{"type":"string","description":"How the extension handler should be forced to update even if the extension configuration has not changed.\n"},"location":{"type":"string","description":"The Azure Region where the Hybrid Compute Machine Extension should exist. Changing this forces a new Hybrid Compute Machine Extension to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Hybrid Compute Machine Extension. Changing this forces a new Hybrid Compute Machine Extension to be created.\n","willReplaceOnChanges":true},"protectedSettings":{"type":"string","description":"Json formatted protected settings for the extension.\n","secret":true},"publisher":{"type":"string","description":"The name of the extension handler publisher, such as `Microsoft.Azure.Monitor`. Changing this forces a new Hybrid Compute Machine Extension to be created.\n","willReplaceOnChanges":true},"settings":{"type":"string","description":"Json formatted public settings for the extension.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Hybrid Compute Machine Extension.\n"},"type":{"type":"string","description":"Specifies the type of the extension. For example `CustomScriptExtension` or `AzureMonitorLinuxAgent`. Changing this forces a new Hybrid Compute Machine Extension to be created.\n","willReplaceOnChanges":true},"typeHandlerVersion":{"type":"string","description":"Specifies the version of the script handler.\n\n\u003e **Note:** 1. When \u003cspan pulumi-lang-nodejs=\"`automaticUpgradeEnabled`\" pulumi-lang-dotnet=\"`AutomaticUpgradeEnabled`\" pulumi-lang-go=\"`automaticUpgradeEnabled`\" pulumi-lang-python=\"`automatic_upgrade_enabled`\" pulumi-lang-yaml=\"`automaticUpgradeEnabled`\" pulumi-lang-java=\"`automaticUpgradeEnabled`\"\u003e`automatic_upgrade_enabled`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e and no \u003cspan pulumi-lang-nodejs=\"`typeHandlerVersion`\" pulumi-lang-dotnet=\"`TypeHandlerVersion`\" pulumi-lang-go=\"`typeHandlerVersion`\" pulumi-lang-python=\"`type_handler_version`\" pulumi-lang-yaml=\"`typeHandlerVersion`\" pulumi-lang-java=\"`typeHandlerVersion`\"\u003e`type_handler_version`\u003c/span\u003e is specified, the \u003cspan pulumi-lang-nodejs=\"`typeHandlerVersion`\" pulumi-lang-dotnet=\"`TypeHandlerVersion`\" pulumi-lang-go=\"`typeHandlerVersion`\" pulumi-lang-python=\"`type_handler_version`\" pulumi-lang-yaml=\"`typeHandlerVersion`\" pulumi-lang-java=\"`typeHandlerVersion`\"\u003e`type_handler_version`\u003c/span\u003e change should be manually ignored by \u003cspan pulumi-lang-nodejs=\"`ignoreChanges`\" pulumi-lang-dotnet=\"`IgnoreChanges`\" pulumi-lang-go=\"`ignoreChanges`\" pulumi-lang-python=\"`ignore_changes`\" pulumi-lang-yaml=\"`ignoreChanges`\" pulumi-lang-java=\"`ignoreChanges`\"\u003e`ignore_changes`\u003c/span\u003e lifecycle block. This is because the \u003cspan pulumi-lang-nodejs=\"`typeHandlerVersion`\" pulumi-lang-dotnet=\"`TypeHandlerVersion`\" pulumi-lang-go=\"`typeHandlerVersion`\" pulumi-lang-python=\"`type_handler_version`\" pulumi-lang-yaml=\"`typeHandlerVersion`\" pulumi-lang-java=\"`typeHandlerVersion`\"\u003e`type_handler_version`\u003c/span\u003e is set by the Azure platform when the extension is created. 2. When \u003cspan pulumi-lang-nodejs=\"`automaticUpgradeEnabled`\" pulumi-lang-dotnet=\"`AutomaticUpgradeEnabled`\" pulumi-lang-go=\"`automaticUpgradeEnabled`\" pulumi-lang-python=\"`automatic_upgrade_enabled`\" pulumi-lang-yaml=\"`automaticUpgradeEnabled`\" pulumi-lang-java=\"`automaticUpgradeEnabled`\"\u003e`automatic_upgrade_enabled`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`typeHandlerVersion`\" pulumi-lang-dotnet=\"`TypeHandlerVersion`\" pulumi-lang-go=\"`typeHandlerVersion`\" pulumi-lang-python=\"`type_handler_version`\" pulumi-lang-yaml=\"`typeHandlerVersion`\" pulumi-lang-java=\"`typeHandlerVersion`\"\u003e`type_handler_version`\u003c/span\u003e is specified, the provider will check whether the version prefix is aligned with user input. For example, if user specifies `1.24` in \u003cspan pulumi-lang-nodejs=\"`typeHandlerVersion`\" pulumi-lang-dotnet=\"`TypeHandlerVersion`\" pulumi-lang-go=\"`typeHandlerVersion`\" pulumi-lang-python=\"`type_handler_version`\" pulumi-lang-yaml=\"`typeHandlerVersion`\" pulumi-lang-java=\"`typeHandlerVersion`\"\u003e`type_handler_version`\u003c/span\u003e, `1.24.1` will be considered as no diff.\n"}},"type":"object"}},"azure:armmsi/federatedIdentityCredential:FederatedIdentityCredential":{"description":"Manages a Federated Identity Credential.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example\",\n    location: \"West Europe\",\n});\nconst exampleUserAssignedIdentity = new azure.authorization.UserAssignedIdentity(\"example\", {\n    location: example.location,\n    name: \"example\",\n    resourceGroupName: example.name,\n});\nconst exampleFederatedIdentityCredential = new azure.armmsi.FederatedIdentityCredential(\"example\", {\n    name: \"example\",\n    audience: \"foo\",\n    issuer: \"https://foo\",\n    parentId: exampleUserAssignedIdentity.id,\n    subject: \"foo\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example\",\n    location=\"West Europe\")\nexample_user_assigned_identity = azure.authorization.UserAssignedIdentity(\"example\",\n    location=example.location,\n    name=\"example\",\n    resource_group_name=example.name)\nexample_federated_identity_credential = azure.armmsi.FederatedIdentityCredential(\"example\",\n    name=\"example\",\n    audience=\"foo\",\n    issuer=\"https://foo\",\n    parent_id=example_user_assigned_identity.id,\n    subject=\"foo\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example\",\n        Location = \"West Europe\",\n    });\n\n    var exampleUserAssignedIdentity = new Azure.Authorization.UserAssignedIdentity(\"example\", new()\n    {\n        Location = example.Location,\n        Name = \"example\",\n        ResourceGroupName = example.Name,\n    });\n\n    var exampleFederatedIdentityCredential = new Azure.ArmMsi.FederatedIdentityCredential(\"example\", new()\n    {\n        Name = \"example\",\n        Audience = \"foo\",\n        Issuer = \"https://foo\",\n        ParentId = exampleUserAssignedIdentity.Id,\n        Subject = \"foo\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/armmsi\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/authorization\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleUserAssignedIdentity, err := authorization.NewUserAssignedIdentity(ctx, \"example\", \u0026authorization.UserAssignedIdentityArgs{\n\t\t\tLocation:          example.Location,\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = armmsi.NewFederatedIdentityCredential(ctx, \"example\", \u0026armmsi.FederatedIdentityCredentialArgs{\n\t\t\tName:     pulumi.String(\"example\"),\n\t\t\tAudience: pulumi.String(\"foo\"),\n\t\t\tIssuer:   pulumi.String(\"https://foo\"),\n\t\t\tParentId: exampleUserAssignedIdentity.ID(),\n\t\t\tSubject:  pulumi.String(\"foo\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.authorization.UserAssignedIdentity;\nimport com.pulumi.azure.authorization.UserAssignedIdentityArgs;\nimport com.pulumi.azure.armmsi.FederatedIdentityCredential;\nimport com.pulumi.azure.armmsi.FederatedIdentityCredentialArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleUserAssignedIdentity = new UserAssignedIdentity(\"exampleUserAssignedIdentity\", UserAssignedIdentityArgs.builder()\n            .location(example.location())\n            .name(\"example\")\n            .resourceGroupName(example.name())\n            .build());\n\n        var exampleFederatedIdentityCredential = new FederatedIdentityCredential(\"exampleFederatedIdentityCredential\", FederatedIdentityCredentialArgs.builder()\n            .name(\"example\")\n            .audience(\"foo\")\n            .issuer(\"https://foo\")\n            .parentId(exampleUserAssignedIdentity.id())\n            .subject(\"foo\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example\n      location: West Europe\n  exampleUserAssignedIdentity:\n    type: azure:authorization:UserAssignedIdentity\n    name: example\n    properties:\n      location: ${example.location}\n      name: example\n      resourceGroupName: ${example.name}\n  exampleFederatedIdentityCredential:\n    type: azure:armmsi:FederatedIdentityCredential\n    name: example\n    properties:\n      name: example\n      audience: foo\n      issuer: https://foo\n      parentId: ${exampleUserAssignedIdentity.id}\n      subject: foo\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.ManagedIdentity` - 2024-11-30\n\n## Import\n\nAn existing Federated Identity Credential can be imported into Pulumi using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:armmsi/federatedIdentityCredential:FederatedIdentityCredential example /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{parentIdentityName}/federatedIdentityCredentials/{resourceName}\n```\n\n","properties":{"audience":{"type":"string","description":"Specifies the audience for this Federated Identity Credential.\n"},"issuer":{"type":"string","description":"Specifies the issuer of this Federated Identity Credential.\n"},"name":{"type":"string","description":"Specifies the name of this Federated Identity Credential. Changing this forces a new resource to be created.\n"},"parentId":{"type":"string","description":"Specifies parent ID of User Assigned Identity for this Federated Identity Credential. Changing this forces a new Federated Identity Credential to be created.\n"},"resourceGroupName":{"type":"string","deprecationMessage":"This field is no longer used and will be removed in the next major version of the Azure Provider"},"subject":{"type":"string","description":"Specifies the subject for this Federated Identity Credential.\n"}},"required":["audience","issuer","name","parentId","resourceGroupName","subject"],"inputProperties":{"audience":{"type":"string","description":"Specifies the audience for this Federated Identity Credential.\n"},"issuer":{"type":"string","description":"Specifies the issuer of this Federated Identity Credential.\n"},"name":{"type":"string","description":"Specifies the name of this Federated Identity Credential. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"parentId":{"type":"string","description":"Specifies parent ID of User Assigned Identity for this Federated Identity Credential. Changing this forces a new Federated Identity Credential to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","deprecationMessage":"This field is no longer used and will be removed in the next major version of the Azure Provider"},"subject":{"type":"string","description":"Specifies the subject for this Federated Identity Credential.\n"}},"requiredInputs":["audience","issuer","parentId","subject"],"stateInputs":{"description":"Input properties used for looking up and filtering FederatedIdentityCredential resources.\n","properties":{"audience":{"type":"string","description":"Specifies the audience for this Federated Identity Credential.\n"},"issuer":{"type":"string","description":"Specifies the issuer of this Federated Identity Credential.\n"},"name":{"type":"string","description":"Specifies the name of this Federated Identity Credential. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"parentId":{"type":"string","description":"Specifies parent ID of User Assigned Identity for this Federated Identity Credential. Changing this forces a new Federated Identity Credential to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","deprecationMessage":"This field is no longer used and will be removed in the next major version of the Azure Provider"},"subject":{"type":"string","description":"Specifies the subject for this Federated Identity Credential.\n"}},"type":"object"}},"azure:attestation/provider:Provider":{"description":"Manages an Attestation Provider.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\nimport * as std from \"@pulumi/std\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleProvider = new azure.attestation.Provider(\"example\", {\n    name: \"exampleprovider\",\n    resourceGroupName: example.name,\n    location: example.location,\n    policySigningCertificateData: std.file({\n        input: \"./example/cert.pem\",\n    }).then(invoke =\u003e invoke.result),\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\nimport pulumi_std as std\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_provider = azure.attestation.Provider(\"example\",\n    name=\"exampleprovider\",\n    resource_group_name=example.name,\n    location=example.location,\n    policy_signing_certificate_data=std.file(input=\"./example/cert.pem\").result)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleProvider = new Azure.Attestation.Provider(\"example\", new()\n    {\n        Name = \"exampleprovider\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        PolicySigningCertificateData = Std.File.Invoke(new()\n        {\n            Input = \"./example/cert.pem\",\n        }).Apply(invoke =\u003e invoke.Result),\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/attestation\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"./example/cert.pem\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = attestation.NewProvider(ctx, \"example\", \u0026attestation.ProviderArgs{\n\t\t\tName:                         pulumi.String(\"exampleprovider\"),\n\t\t\tResourceGroupName:            example.Name,\n\t\t\tLocation:                     example.Location,\n\t\t\tPolicySigningCertificateData: pulumi.String(invokeFile.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.attestation.Provider;\nimport com.pulumi.azure.attestation.ProviderArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.FileArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleProvider = new Provider(\"exampleProvider\", ProviderArgs.builder()\n            .name(\"exampleprovider\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .policySigningCertificateData(StdFunctions.file(FileArgs.builder()\n                .input(\"./example/cert.pem\")\n                .build()).result())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleProvider:\n    type: azure:attestation:Provider\n    name: example\n    properties:\n      name: exampleprovider\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      policySigningCertificateData:\n        fn::invoke:\n          function: std:file\n          arguments:\n            input: ./example/cert.pem\n          return: result\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Attestation` - 2020-10-01\n\n## Import\n\nAttestation Providers can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:attestation/provider:Provider example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Attestation/attestationProviders/provider1\n```\n\n","properties":{"attestationUri":{"type":"string","description":"The URI of the Attestation Service.\n"},"location":{"type":"string","description":"The Azure Region where the Attestation Provider should exist. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"The name which should be used for this Attestation Provider. Changing this forces a new resource to be created.\n"},"openEnclavePolicyBase64":{"type":"string","description":"Specifies the base64 URI Encoded RFC 7519 JWT that should be used for the Attestation Policy.\n"},"policySigningCertificateData":{"type":"string","description":"A valid X.509 certificate (Section 4 of [RFC4648](https://tools.ietf.org/html/rfc4648)). Changing this forces a new resource to be created.\n\n\u003e **Note:** If the \u003cspan pulumi-lang-nodejs=\"`policySigningCertificateData`\" pulumi-lang-dotnet=\"`PolicySigningCertificateData`\" pulumi-lang-go=\"`policySigningCertificateData`\" pulumi-lang-python=\"`policy_signing_certificate_data`\" pulumi-lang-yaml=\"`policySigningCertificateData`\" pulumi-lang-java=\"`policySigningCertificateData`\"\u003e`policy_signing_certificate_data`\u003c/span\u003e argument contains more than one valid X.509 certificate only the first certificate will be used.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the attestation provider should exist. Changing this forces a new resource to be created.\n"},"sevSnpPolicyBase64":{"type":"string","description":"Specifies the base64 URI Encoded RFC 7519 JWT that should be used for the Attestation Policy.\n\n\u003e **Note:** [More information on the JWT Policies can be found in this article on `learn.microsoft.com`](https://learn.microsoft.com/azure/attestation/author-sign-policy).\n"},"sgxEnclavePolicyBase64":{"type":"string","description":"Specifies the base64 URI Encoded RFC 7519 JWT that should be used for the Attestation Policy.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Attestation Provider.\n"},"tpmPolicyBase64":{"type":"string","description":"Specifies the base64 URI Encoded RFC 7519 JWT that should be used for the Attestation Policy.\n"},"trustModel":{"type":"string","description":"Trust model used for the Attestation Service.\n"}},"required":["attestationUri","location","name","resourceGroupName","trustModel"],"inputProperties":{"location":{"type":"string","description":"The Azure Region where the Attestation Provider should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Attestation Provider. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"openEnclavePolicyBase64":{"type":"string","description":"Specifies the base64 URI Encoded RFC 7519 JWT that should be used for the Attestation Policy.\n"},"policySigningCertificateData":{"type":"string","description":"A valid X.509 certificate (Section 4 of [RFC4648](https://tools.ietf.org/html/rfc4648)). Changing this forces a new resource to be created.\n\n\u003e **Note:** If the \u003cspan pulumi-lang-nodejs=\"`policySigningCertificateData`\" pulumi-lang-dotnet=\"`PolicySigningCertificateData`\" pulumi-lang-go=\"`policySigningCertificateData`\" pulumi-lang-python=\"`policy_signing_certificate_data`\" pulumi-lang-yaml=\"`policySigningCertificateData`\" pulumi-lang-java=\"`policySigningCertificateData`\"\u003e`policy_signing_certificate_data`\u003c/span\u003e argument contains more than one valid X.509 certificate only the first certificate will be used.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the attestation provider should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sevSnpPolicyBase64":{"type":"string","description":"Specifies the base64 URI Encoded RFC 7519 JWT that should be used for the Attestation Policy.\n\n\u003e **Note:** [More information on the JWT Policies can be found in this article on `learn.microsoft.com`](https://learn.microsoft.com/azure/attestation/author-sign-policy).\n"},"sgxEnclavePolicyBase64":{"type":"string","description":"Specifies the base64 URI Encoded RFC 7519 JWT that should be used for the Attestation Policy.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Attestation Provider.\n"},"tpmPolicyBase64":{"type":"string","description":"Specifies the base64 URI Encoded RFC 7519 JWT that should be used for the Attestation Policy.\n"}},"requiredInputs":["resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering Provider resources.\n","properties":{"attestationUri":{"type":"string","description":"The URI of the Attestation Service.\n"},"location":{"type":"string","description":"The Azure Region where the Attestation Provider should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Attestation Provider. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"openEnclavePolicyBase64":{"type":"string","description":"Specifies the base64 URI Encoded RFC 7519 JWT that should be used for the Attestation Policy.\n"},"policySigningCertificateData":{"type":"string","description":"A valid X.509 certificate (Section 4 of [RFC4648](https://tools.ietf.org/html/rfc4648)). Changing this forces a new resource to be created.\n\n\u003e **Note:** If the \u003cspan pulumi-lang-nodejs=\"`policySigningCertificateData`\" pulumi-lang-dotnet=\"`PolicySigningCertificateData`\" pulumi-lang-go=\"`policySigningCertificateData`\" pulumi-lang-python=\"`policy_signing_certificate_data`\" pulumi-lang-yaml=\"`policySigningCertificateData`\" pulumi-lang-java=\"`policySigningCertificateData`\"\u003e`policy_signing_certificate_data`\u003c/span\u003e argument contains more than one valid X.509 certificate only the first certificate will be used.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the attestation provider should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sevSnpPolicyBase64":{"type":"string","description":"Specifies the base64 URI Encoded RFC 7519 JWT that should be used for the Attestation Policy.\n\n\u003e **Note:** [More information on the JWT Policies can be found in this article on `learn.microsoft.com`](https://learn.microsoft.com/azure/attestation/author-sign-policy).\n"},"sgxEnclavePolicyBase64":{"type":"string","description":"Specifies the base64 URI Encoded RFC 7519 JWT that should be used for the Attestation Policy.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Attestation Provider.\n"},"tpmPolicyBase64":{"type":"string","description":"Specifies the base64 URI Encoded RFC 7519 JWT that should be used for the Attestation Policy.\n"},"trustModel":{"type":"string","description":"Trust model used for the Attestation Service.\n"}},"type":"object"}},"azure:authorization/assignment:Assignment":{"description":"Assigns a given Principal (User or Group) to a given Role.\n\n## Example Usage\n\n### Using A Built-In Role)\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst primary = azure.core.getSubscription({});\nconst example = azure.core.getClientConfig({});\nconst exampleAssignment = new azure.authorization.Assignment(\"example\", {\n    scope: primary.then(primary =\u003e primary.id),\n    roleDefinitionName: \"Reader\",\n    principalId: example.then(example =\u003e example.objectId),\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nprimary = azure.core.get_subscription()\nexample = azure.core.get_client_config()\nexample_assignment = azure.authorization.Assignment(\"example\",\n    scope=primary.id,\n    role_definition_name=\"Reader\",\n    principal_id=example.object_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var primary = Azure.Core.GetSubscription.Invoke();\n\n    var example = Azure.Core.GetClientConfig.Invoke();\n\n    var exampleAssignment = new Azure.Authorization.Assignment(\"example\", new()\n    {\n        Scope = primary.Apply(getSubscriptionResult =\u003e getSubscriptionResult.Id),\n        RoleDefinitionName = \"Reader\",\n        PrincipalId = example.Apply(getClientConfigResult =\u003e getClientConfigResult.ObjectId),\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/authorization\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tprimary, err := core.LookupSubscription(ctx, \u0026core.LookupSubscriptionArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := core.GetClientConfig(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = authorization.NewAssignment(ctx, \"example\", \u0026authorization.AssignmentArgs{\n\t\t\tScope:              pulumi.String(primary.Id),\n\t\t\tRoleDefinitionName: pulumi.String(\"Reader\"),\n\t\t\tPrincipalId:        pulumi.String(example.ObjectId),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.core.inputs.GetSubscriptionArgs;\nimport com.pulumi.azure.authorization.Assignment;\nimport com.pulumi.azure.authorization.AssignmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var primary = CoreFunctions.getSubscription(GetSubscriptionArgs.builder()\n            .build());\n\n        final var example = CoreFunctions.getClientConfig(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n        var exampleAssignment = new Assignment(\"exampleAssignment\", AssignmentArgs.builder()\n            .scope(primary.id())\n            .roleDefinitionName(\"Reader\")\n            .principalId(example.objectId())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleAssignment:\n    type: azure:authorization:Assignment\n    name: example\n    properties:\n      scope: ${primary.id}\n      roleDefinitionName: Reader\n      principalId: ${example.objectId}\nvariables:\n  primary:\n    fn::invoke:\n      function: azure:core:getSubscription\n      arguments: {}\n  example:\n    fn::invoke:\n      function: azure:core:getClientConfig\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\n### Custom Role \u0026 Service Principal)\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst primary = azure.core.getSubscription({});\nconst example = azure.core.getClientConfig({});\nconst exampleRoleDefinition = new azure.authorization.RoleDefinition(\"example\", {\n    roleDefinitionId: \"00000000-0000-0000-0000-000000000000\",\n    name: \"my-custom-role-definition\",\n    scope: primary.then(primary =\u003e primary.id),\n    permissions: [{\n        actions: [\"Microsoft.Resources/subscriptions/resourceGroups/read\"],\n        notActions: [],\n    }],\n    assignableScopes: [primary.then(primary =\u003e primary.id)],\n});\nconst exampleAssignment = new azure.authorization.Assignment(\"example\", {\n    name: \"00000000-0000-0000-0000-000000000000\",\n    scope: primary.then(primary =\u003e primary.id),\n    roleDefinitionId: exampleRoleDefinition.roleDefinitionResourceId,\n    principalId: example.then(example =\u003e example.objectId),\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nprimary = azure.core.get_subscription()\nexample = azure.core.get_client_config()\nexample_role_definition = azure.authorization.RoleDefinition(\"example\",\n    role_definition_id=\"00000000-0000-0000-0000-000000000000\",\n    name=\"my-custom-role-definition\",\n    scope=primary.id,\n    permissions=[{\n        \"actions\": [\"Microsoft.Resources/subscriptions/resourceGroups/read\"],\n        \"not_actions\": [],\n    }],\n    assignable_scopes=[primary.id])\nexample_assignment = azure.authorization.Assignment(\"example\",\n    name=\"00000000-0000-0000-0000-000000000000\",\n    scope=primary.id,\n    role_definition_id=example_role_definition.role_definition_resource_id,\n    principal_id=example.object_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var primary = Azure.Core.GetSubscription.Invoke();\n\n    var example = Azure.Core.GetClientConfig.Invoke();\n\n    var exampleRoleDefinition = new Azure.Authorization.RoleDefinition(\"example\", new()\n    {\n        RoleDefinitionId = \"00000000-0000-0000-0000-000000000000\",\n        Name = \"my-custom-role-definition\",\n        Scope = primary.Apply(getSubscriptionResult =\u003e getSubscriptionResult.Id),\n        Permissions = new[]\n        {\n            new Azure.Authorization.Inputs.RoleDefinitionPermissionArgs\n            {\n                Actions = new[]\n                {\n                    \"Microsoft.Resources/subscriptions/resourceGroups/read\",\n                },\n                NotActions = new() { },\n            },\n        },\n        AssignableScopes = new[]\n        {\n            primary.Apply(getSubscriptionResult =\u003e getSubscriptionResult.Id),\n        },\n    });\n\n    var exampleAssignment = new Azure.Authorization.Assignment(\"example\", new()\n    {\n        Name = \"00000000-0000-0000-0000-000000000000\",\n        Scope = primary.Apply(getSubscriptionResult =\u003e getSubscriptionResult.Id),\n        RoleDefinitionId = exampleRoleDefinition.RoleDefinitionResourceId,\n        PrincipalId = example.Apply(getClientConfigResult =\u003e getClientConfigResult.ObjectId),\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/authorization\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tprimary, err := core.LookupSubscription(ctx, \u0026core.LookupSubscriptionArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := core.GetClientConfig(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleRoleDefinition, err := authorization.NewRoleDefinition(ctx, \"example\", \u0026authorization.RoleDefinitionArgs{\n\t\t\tRoleDefinitionId: pulumi.String(\"00000000-0000-0000-0000-000000000000\"),\n\t\t\tName:             pulumi.String(\"my-custom-role-definition\"),\n\t\t\tScope:            pulumi.String(primary.Id),\n\t\t\tPermissions: authorization.RoleDefinitionPermissionArray{\n\t\t\t\t\u0026authorization.RoleDefinitionPermissionArgs{\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"Microsoft.Resources/subscriptions/resourceGroups/read\"),\n\t\t\t\t\t},\n\t\t\t\t\tNotActions: pulumi.StringArray{},\n\t\t\t\t},\n\t\t\t},\n\t\t\tAssignableScopes: pulumi.StringArray{\n\t\t\t\tpulumi.String(primary.Id),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = authorization.NewAssignment(ctx, \"example\", \u0026authorization.AssignmentArgs{\n\t\t\tName:             pulumi.String(\"00000000-0000-0000-0000-000000000000\"),\n\t\t\tScope:            pulumi.String(primary.Id),\n\t\t\tRoleDefinitionId: exampleRoleDefinition.RoleDefinitionResourceId,\n\t\t\tPrincipalId:      pulumi.String(example.ObjectId),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.core.inputs.GetSubscriptionArgs;\nimport com.pulumi.azure.authorization.RoleDefinition;\nimport com.pulumi.azure.authorization.RoleDefinitionArgs;\nimport com.pulumi.azure.authorization.inputs.RoleDefinitionPermissionArgs;\nimport com.pulumi.azure.authorization.Assignment;\nimport com.pulumi.azure.authorization.AssignmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var primary = CoreFunctions.getSubscription(GetSubscriptionArgs.builder()\n            .build());\n\n        final var example = CoreFunctions.getClientConfig(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n        var exampleRoleDefinition = new RoleDefinition(\"exampleRoleDefinition\", RoleDefinitionArgs.builder()\n            .roleDefinitionId(\"00000000-0000-0000-0000-000000000000\")\n            .name(\"my-custom-role-definition\")\n            .scope(primary.id())\n            .permissions(RoleDefinitionPermissionArgs.builder()\n                .actions(\"Microsoft.Resources/subscriptions/resourceGroups/read\")\n                .notActions()\n                .build())\n            .assignableScopes(primary.id())\n            .build());\n\n        var exampleAssignment = new Assignment(\"exampleAssignment\", AssignmentArgs.builder()\n            .name(\"00000000-0000-0000-0000-000000000000\")\n            .scope(primary.id())\n            .roleDefinitionId(exampleRoleDefinition.roleDefinitionResourceId())\n            .principalId(example.objectId())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleRoleDefinition:\n    type: azure:authorization:RoleDefinition\n    name: example\n    properties:\n      roleDefinitionId: 00000000-0000-0000-0000-000000000000\n      name: my-custom-role-definition\n      scope: ${primary.id}\n      permissions:\n        - actions:\n            - Microsoft.Resources/subscriptions/resourceGroups/read\n          notActions: []\n      assignableScopes:\n        - ${primary.id}\n  exampleAssignment:\n    type: azure:authorization:Assignment\n    name: example\n    properties:\n      name: 00000000-0000-0000-0000-000000000000\n      scope: ${primary.id}\n      roleDefinitionId: ${exampleRoleDefinition.roleDefinitionResourceId}\n      principalId: ${example.objectId}\nvariables:\n  primary:\n    fn::invoke:\n      function: azure:core:getSubscription\n      arguments: {}\n  example:\n    fn::invoke:\n      function: azure:core:getClientConfig\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\n### Custom Role \u0026 User)\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst primary = azure.core.getSubscription({});\nconst example = azure.core.getClientConfig({});\nconst exampleRoleDefinition = new azure.authorization.RoleDefinition(\"example\", {\n    roleDefinitionId: \"00000000-0000-0000-0000-000000000000\",\n    name: \"my-custom-role-definition\",\n    scope: primary.then(primary =\u003e primary.id),\n    permissions: [{\n        actions: [\"Microsoft.Resources/subscriptions/resourceGroups/read\"],\n        notActions: [],\n    }],\n    assignableScopes: [primary.then(primary =\u003e primary.id)],\n});\nconst exampleAssignment = new azure.authorization.Assignment(\"example\", {\n    name: \"00000000-0000-0000-0000-000000000000\",\n    scope: primary.then(primary =\u003e primary.id),\n    roleDefinitionId: exampleRoleDefinition.roleDefinitionResourceId,\n    principalId: example.then(example =\u003e example.objectId),\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nprimary = azure.core.get_subscription()\nexample = azure.core.get_client_config()\nexample_role_definition = azure.authorization.RoleDefinition(\"example\",\n    role_definition_id=\"00000000-0000-0000-0000-000000000000\",\n    name=\"my-custom-role-definition\",\n    scope=primary.id,\n    permissions=[{\n        \"actions\": [\"Microsoft.Resources/subscriptions/resourceGroups/read\"],\n        \"not_actions\": [],\n    }],\n    assignable_scopes=[primary.id])\nexample_assignment = azure.authorization.Assignment(\"example\",\n    name=\"00000000-0000-0000-0000-000000000000\",\n    scope=primary.id,\n    role_definition_id=example_role_definition.role_definition_resource_id,\n    principal_id=example.object_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var primary = Azure.Core.GetSubscription.Invoke();\n\n    var example = Azure.Core.GetClientConfig.Invoke();\n\n    var exampleRoleDefinition = new Azure.Authorization.RoleDefinition(\"example\", new()\n    {\n        RoleDefinitionId = \"00000000-0000-0000-0000-000000000000\",\n        Name = \"my-custom-role-definition\",\n        Scope = primary.Apply(getSubscriptionResult =\u003e getSubscriptionResult.Id),\n        Permissions = new[]\n        {\n            new Azure.Authorization.Inputs.RoleDefinitionPermissionArgs\n            {\n                Actions = new[]\n                {\n                    \"Microsoft.Resources/subscriptions/resourceGroups/read\",\n                },\n                NotActions = new() { },\n            },\n        },\n        AssignableScopes = new[]\n        {\n            primary.Apply(getSubscriptionResult =\u003e getSubscriptionResult.Id),\n        },\n    });\n\n    var exampleAssignment = new Azure.Authorization.Assignment(\"example\", new()\n    {\n        Name = \"00000000-0000-0000-0000-000000000000\",\n        Scope = primary.Apply(getSubscriptionResult =\u003e getSubscriptionResult.Id),\n        RoleDefinitionId = exampleRoleDefinition.RoleDefinitionResourceId,\n        PrincipalId = example.Apply(getClientConfigResult =\u003e getClientConfigResult.ObjectId),\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/authorization\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tprimary, err := core.LookupSubscription(ctx, \u0026core.LookupSubscriptionArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := core.GetClientConfig(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleRoleDefinition, err := authorization.NewRoleDefinition(ctx, \"example\", \u0026authorization.RoleDefinitionArgs{\n\t\t\tRoleDefinitionId: pulumi.String(\"00000000-0000-0000-0000-000000000000\"),\n\t\t\tName:             pulumi.String(\"my-custom-role-definition\"),\n\t\t\tScope:            pulumi.String(primary.Id),\n\t\t\tPermissions: authorization.RoleDefinitionPermissionArray{\n\t\t\t\t\u0026authorization.RoleDefinitionPermissionArgs{\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"Microsoft.Resources/subscriptions/resourceGroups/read\"),\n\t\t\t\t\t},\n\t\t\t\t\tNotActions: pulumi.StringArray{},\n\t\t\t\t},\n\t\t\t},\n\t\t\tAssignableScopes: pulumi.StringArray{\n\t\t\t\tpulumi.String(primary.Id),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = authorization.NewAssignment(ctx, \"example\", \u0026authorization.AssignmentArgs{\n\t\t\tName:             pulumi.String(\"00000000-0000-0000-0000-000000000000\"),\n\t\t\tScope:            pulumi.String(primary.Id),\n\t\t\tRoleDefinitionId: exampleRoleDefinition.RoleDefinitionResourceId,\n\t\t\tPrincipalId:      pulumi.String(example.ObjectId),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.core.inputs.GetSubscriptionArgs;\nimport com.pulumi.azure.authorization.RoleDefinition;\nimport com.pulumi.azure.authorization.RoleDefinitionArgs;\nimport com.pulumi.azure.authorization.inputs.RoleDefinitionPermissionArgs;\nimport com.pulumi.azure.authorization.Assignment;\nimport com.pulumi.azure.authorization.AssignmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var primary = CoreFunctions.getSubscription(GetSubscriptionArgs.builder()\n            .build());\n\n        final var example = CoreFunctions.getClientConfig(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n        var exampleRoleDefinition = new RoleDefinition(\"exampleRoleDefinition\", RoleDefinitionArgs.builder()\n            .roleDefinitionId(\"00000000-0000-0000-0000-000000000000\")\n            .name(\"my-custom-role-definition\")\n            .scope(primary.id())\n            .permissions(RoleDefinitionPermissionArgs.builder()\n                .actions(\"Microsoft.Resources/subscriptions/resourceGroups/read\")\n                .notActions()\n                .build())\n            .assignableScopes(primary.id())\n            .build());\n\n        var exampleAssignment = new Assignment(\"exampleAssignment\", AssignmentArgs.builder()\n            .name(\"00000000-0000-0000-0000-000000000000\")\n            .scope(primary.id())\n            .roleDefinitionId(exampleRoleDefinition.roleDefinitionResourceId())\n            .principalId(example.objectId())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleRoleDefinition:\n    type: azure:authorization:RoleDefinition\n    name: example\n    properties:\n      roleDefinitionId: 00000000-0000-0000-0000-000000000000\n      name: my-custom-role-definition\n      scope: ${primary.id}\n      permissions:\n        - actions:\n            - Microsoft.Resources/subscriptions/resourceGroups/read\n          notActions: []\n      assignableScopes:\n        - ${primary.id}\n  exampleAssignment:\n    type: azure:authorization:Assignment\n    name: example\n    properties:\n      name: 00000000-0000-0000-0000-000000000000\n      scope: ${primary.id}\n      roleDefinitionId: ${exampleRoleDefinition.roleDefinitionResourceId}\n      principalId: ${example.objectId}\nvariables:\n  primary:\n    fn::invoke:\n      function: azure:core:getSubscription\n      arguments: {}\n  example:\n    fn::invoke:\n      function: azure:core:getClientConfig\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\n### Custom Role \u0026 Management Group)\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst primary = azure.core.getSubscription({});\nconst example = azure.core.getClientConfig({});\nconst exampleGetGroup = azure.management.getGroup({\n    name: \"00000000-0000-0000-0000-000000000000\",\n});\nconst exampleRoleDefinition = new azure.authorization.RoleDefinition(\"example\", {\n    roleDefinitionId: \"00000000-0000-0000-0000-000000000000\",\n    name: \"my-custom-role-definition\",\n    scope: primary.then(primary =\u003e primary.id),\n    permissions: [{\n        actions: [\"Microsoft.Resources/subscriptions/resourceGroups/read\"],\n        notActions: [],\n    }],\n    assignableScopes: [primary.then(primary =\u003e primary.id)],\n});\nconst exampleAssignment = new azure.authorization.Assignment(\"example\", {\n    name: \"00000000-0000-0000-0000-000000000000\",\n    scope: primaryAzurermManagementGroup.id,\n    roleDefinitionId: exampleRoleDefinition.roleDefinitionResourceId,\n    principalId: example.then(example =\u003e example.objectId),\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nprimary = azure.core.get_subscription()\nexample = azure.core.get_client_config()\nexample_get_group = azure.management.get_group(name=\"00000000-0000-0000-0000-000000000000\")\nexample_role_definition = azure.authorization.RoleDefinition(\"example\",\n    role_definition_id=\"00000000-0000-0000-0000-000000000000\",\n    name=\"my-custom-role-definition\",\n    scope=primary.id,\n    permissions=[{\n        \"actions\": [\"Microsoft.Resources/subscriptions/resourceGroups/read\"],\n        \"not_actions\": [],\n    }],\n    assignable_scopes=[primary.id])\nexample_assignment = azure.authorization.Assignment(\"example\",\n    name=\"00000000-0000-0000-0000-000000000000\",\n    scope=primary_azurerm_management_group[\"id\"],\n    role_definition_id=example_role_definition.role_definition_resource_id,\n    principal_id=example.object_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var primary = Azure.Core.GetSubscription.Invoke();\n\n    var example = Azure.Core.GetClientConfig.Invoke();\n\n    var exampleGetGroup = Azure.Management.GetGroup.Invoke(new()\n    {\n        Name = \"00000000-0000-0000-0000-000000000000\",\n    });\n\n    var exampleRoleDefinition = new Azure.Authorization.RoleDefinition(\"example\", new()\n    {\n        RoleDefinitionId = \"00000000-0000-0000-0000-000000000000\",\n        Name = \"my-custom-role-definition\",\n        Scope = primary.Apply(getSubscriptionResult =\u003e getSubscriptionResult.Id),\n        Permissions = new[]\n        {\n            new Azure.Authorization.Inputs.RoleDefinitionPermissionArgs\n            {\n                Actions = new[]\n                {\n                    \"Microsoft.Resources/subscriptions/resourceGroups/read\",\n                },\n                NotActions = new() { },\n            },\n        },\n        AssignableScopes = new[]\n        {\n            primary.Apply(getSubscriptionResult =\u003e getSubscriptionResult.Id),\n        },\n    });\n\n    var exampleAssignment = new Azure.Authorization.Assignment(\"example\", new()\n    {\n        Name = \"00000000-0000-0000-0000-000000000000\",\n        Scope = primaryAzurermManagementGroup.Id,\n        RoleDefinitionId = exampleRoleDefinition.RoleDefinitionResourceId,\n        PrincipalId = example.Apply(getClientConfigResult =\u003e getClientConfigResult.ObjectId),\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/authorization\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/management\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tprimary, err := core.LookupSubscription(ctx, \u0026core.LookupSubscriptionArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := core.GetClientConfig(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = management.LookupGroup(ctx, \u0026management.LookupGroupArgs{\n\t\t\tName: pulumi.StringRef(\"00000000-0000-0000-0000-000000000000\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleRoleDefinition, err := authorization.NewRoleDefinition(ctx, \"example\", \u0026authorization.RoleDefinitionArgs{\n\t\t\tRoleDefinitionId: pulumi.String(\"00000000-0000-0000-0000-000000000000\"),\n\t\t\tName:             pulumi.String(\"my-custom-role-definition\"),\n\t\t\tScope:            pulumi.String(primary.Id),\n\t\t\tPermissions: authorization.RoleDefinitionPermissionArray{\n\t\t\t\t\u0026authorization.RoleDefinitionPermissionArgs{\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"Microsoft.Resources/subscriptions/resourceGroups/read\"),\n\t\t\t\t\t},\n\t\t\t\t\tNotActions: pulumi.StringArray{},\n\t\t\t\t},\n\t\t\t},\n\t\t\tAssignableScopes: pulumi.StringArray{\n\t\t\t\tpulumi.String(primary.Id),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = authorization.NewAssignment(ctx, \"example\", \u0026authorization.AssignmentArgs{\n\t\t\tName:             pulumi.String(\"00000000-0000-0000-0000-000000000000\"),\n\t\t\tScope:            pulumi.Any(primaryAzurermManagementGroup.Id),\n\t\t\tRoleDefinitionId: exampleRoleDefinition.RoleDefinitionResourceId,\n\t\t\tPrincipalId:      pulumi.String(example.ObjectId),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.core.inputs.GetSubscriptionArgs;\nimport com.pulumi.azure.management.ManagementFunctions;\nimport com.pulumi.azure.management.inputs.GetGroupArgs;\nimport com.pulumi.azure.authorization.RoleDefinition;\nimport com.pulumi.azure.authorization.RoleDefinitionArgs;\nimport com.pulumi.azure.authorization.inputs.RoleDefinitionPermissionArgs;\nimport com.pulumi.azure.authorization.Assignment;\nimport com.pulumi.azure.authorization.AssignmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var primary = CoreFunctions.getSubscription(GetSubscriptionArgs.builder()\n            .build());\n\n        final var example = CoreFunctions.getClientConfig(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n        final var exampleGetGroup = ManagementFunctions.getGroup(GetGroupArgs.builder()\n            .name(\"00000000-0000-0000-0000-000000000000\")\n            .build());\n\n        var exampleRoleDefinition = new RoleDefinition(\"exampleRoleDefinition\", RoleDefinitionArgs.builder()\n            .roleDefinitionId(\"00000000-0000-0000-0000-000000000000\")\n            .name(\"my-custom-role-definition\")\n            .scope(primary.id())\n            .permissions(RoleDefinitionPermissionArgs.builder()\n                .actions(\"Microsoft.Resources/subscriptions/resourceGroups/read\")\n                .notActions()\n                .build())\n            .assignableScopes(primary.id())\n            .build());\n\n        var exampleAssignment = new Assignment(\"exampleAssignment\", AssignmentArgs.builder()\n            .name(\"00000000-0000-0000-0000-000000000000\")\n            .scope(primaryAzurermManagementGroup.id())\n            .roleDefinitionId(exampleRoleDefinition.roleDefinitionResourceId())\n            .principalId(example.objectId())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleRoleDefinition:\n    type: azure:authorization:RoleDefinition\n    name: example\n    properties:\n      roleDefinitionId: 00000000-0000-0000-0000-000000000000\n      name: my-custom-role-definition\n      scope: ${primary.id}\n      permissions:\n        - actions:\n            - Microsoft.Resources/subscriptions/resourceGroups/read\n          notActions: []\n      assignableScopes:\n        - ${primary.id}\n  exampleAssignment:\n    type: azure:authorization:Assignment\n    name: example\n    properties:\n      name: 00000000-0000-0000-0000-000000000000\n      scope: ${primaryAzurermManagementGroup.id}\n      roleDefinitionId: ${exampleRoleDefinition.roleDefinitionResourceId}\n      principalId: ${example.objectId}\nvariables:\n  primary:\n    fn::invoke:\n      function: azure:core:getSubscription\n      arguments: {}\n  example:\n    fn::invoke:\n      function: azure:core:getClientConfig\n      arguments: {}\n  exampleGetGroup:\n    fn::invoke:\n      function: azure:management:getGroup\n      arguments:\n        name: 00000000-0000-0000-0000-000000000000\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\n### ABAC Condition)\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\nimport * as std from \"@pulumi/std\";\n\nconst primary = azure.core.getSubscription({});\nconst example = azure.core.getClientConfig({});\nconst builtin = azure.authorization.getRoleDefinition({\n    name: \"Reader\",\n});\nconst exampleAssignment = new azure.authorization.Assignment(\"example\", {\n    roleDefinitionName: \"Role Based Access Control Administrator\",\n    scope: primary.then(primary =\u003e primary.id),\n    principalId: example.then(example =\u003e example.objectId),\n    principalType: \"ServicePrincipal\",\n    description: \"Role Based Access Control Administrator role assignment with ABAC Condition.\",\n    conditionVersion: \"2.0\",\n    condition: Promise.all([builtin.then(builtin =\u003e std.basename({\n        input: builtin.roleDefinitionId,\n    })), builtin.then(builtin =\u003e std.basename({\n        input: builtin.roleDefinitionId,\n    }))]).then(([invoke, invoke1]) =\u003e `(\n (\n  !(ActionMatches{'Microsoft.Authorization/roleAssignments/write'})\n )\n OR\n (\n  @Request[Microsoft.Authorization/roleAssignments:RoleDefinitionId] ForAnyOfAnyValues:GuidEquals {${invoke.result}}\n )\n)\nAND\n(\n (\n  !(ActionMatches{'Microsoft.Authorization/roleAssignments/delete'})\n )\n OR\n (\n  @Resource[Microsoft.Authorization/roleAssignments:RoleDefinitionId] ForAnyOfAnyValues:GuidEquals {${invoke1.result}}\n )\n)\n`),\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\nimport pulumi_std as std\n\nprimary = azure.core.get_subscription()\nexample = azure.core.get_client_config()\nbuiltin = azure.authorization.get_role_definition(name=\"Reader\")\nexample_assignment = azure.authorization.Assignment(\"example\",\n    role_definition_name=\"Role Based Access Control Administrator\",\n    scope=primary.id,\n    principal_id=example.object_id,\n    principal_type=\"ServicePrincipal\",\n    description=\"Role Based Access Control Administrator role assignment with ABAC Condition.\",\n    condition_version=\"2.0\",\n    condition=f\"\"\"(\n (\n  !(ActionMatches{{'Microsoft.Authorization/roleAssignments/write'}})\n )\n OR\n (\n  @Request[Microsoft.Authorization/roleAssignments:RoleDefinitionId] ForAnyOfAnyValues:GuidEquals {{{std.basename(input=builtin.role_definition_id).result}}}\n )\n)\nAND\n(\n (\n  !(ActionMatches{{'Microsoft.Authorization/roleAssignments/delete'}})\n )\n OR\n (\n  @Resource[Microsoft.Authorization/roleAssignments:RoleDefinitionId] ForAnyOfAnyValues:GuidEquals {{{std.basename(input=builtin.role_definition_id).result}}}\n )\n)\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var primary = Azure.Core.GetSubscription.Invoke();\n\n    var example = Azure.Core.GetClientConfig.Invoke();\n\n    var builtin = Azure.Authorization.GetRoleDefinition.Invoke(new()\n    {\n        Name = \"Reader\",\n    });\n\n    var exampleAssignment = new Azure.Authorization.Assignment(\"example\", new()\n    {\n        RoleDefinitionName = \"Role Based Access Control Administrator\",\n        Scope = primary.Apply(getSubscriptionResult =\u003e getSubscriptionResult.Id),\n        PrincipalId = example.Apply(getClientConfigResult =\u003e getClientConfigResult.ObjectId),\n        PrincipalType = \"ServicePrincipal\",\n        Description = \"Role Based Access Control Administrator role assignment with ABAC Condition.\",\n        ConditionVersion = \"2.0\",\n        Condition = Output.Tuple(Std.Basename.Invoke(new()\n        {\n            Input = builtin.Apply(getRoleDefinitionResult =\u003e getRoleDefinitionResult.RoleDefinitionId),\n        }), Std.Basename.Invoke(new()\n        {\n            Input = builtin.Apply(getRoleDefinitionResult =\u003e getRoleDefinitionResult.RoleDefinitionId),\n        })).Apply(values =\u003e\n        {\n            var invoke = values.Item1;\n            var invoke1 = values.Item2;\n            return @$\"(\n (\n  !(ActionMatches{{'Microsoft.Authorization/roleAssignments/write'}})\n )\n OR\n (\n  @Request[Microsoft.Authorization/roleAssignments:RoleDefinitionId] ForAnyOfAnyValues:GuidEquals {{{invoke.Result}}}\n )\n)\nAND\n(\n (\n  !(ActionMatches{{'Microsoft.Authorization/roleAssignments/delete'}})\n )\n OR\n (\n  @Resource[Microsoft.Authorization/roleAssignments:RoleDefinitionId] ForAnyOfAnyValues:GuidEquals {{{invoke1.Result}}}\n )\n)\n\";\n        }),\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/authorization\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tprimary, err := core.LookupSubscription(ctx, \u0026core.LookupSubscriptionArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := core.GetClientConfig(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tbuiltin, err := authorization.LookupRoleDefinition(ctx, \u0026authorization.LookupRoleDefinitionArgs{\n\t\t\tName: pulumi.StringRef(\"Reader\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeBasename, err := std.Basename(ctx, \u0026std.BasenameArgs{\n\t\t\tInput: builtin.RoleDefinitionId,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeBasename1, err := std.Basename(ctx, \u0026std.BasenameArgs{\n\t\t\tInput: builtin.RoleDefinitionId,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = authorization.NewAssignment(ctx, \"example\", \u0026authorization.AssignmentArgs{\n\t\t\tRoleDefinitionName: pulumi.String(\"Role Based Access Control Administrator\"),\n\t\t\tScope:              pulumi.String(primary.Id),\n\t\t\tPrincipalId:        pulumi.String(example.ObjectId),\n\t\t\tPrincipalType:      pulumi.String(\"ServicePrincipal\"),\n\t\t\tDescription:        pulumi.String(\"Role Based Access Control Administrator role assignment with ABAC Condition.\"),\n\t\t\tConditionVersion:   pulumi.String(\"2.0\"),\n\t\t\tCondition: pulumi.Sprintf(`(\n (\n  !(ActionMatches{'Microsoft.Authorization/roleAssignments/write'})\n )\n OR\n (\n  @Request[Microsoft.Authorization/roleAssignments:RoleDefinitionId] ForAnyOfAnyValues:GuidEquals {%v}\n )\n)\nAND\n(\n (\n  !(ActionMatches{'Microsoft.Authorization/roleAssignments/delete'})\n )\n OR\n (\n  @Resource[Microsoft.Authorization/roleAssignments:RoleDefinitionId] ForAnyOfAnyValues:GuidEquals {%v}\n )\n)\n`, invokeBasename.Result, invokeBasename1.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.core.inputs.GetSubscriptionArgs;\nimport com.pulumi.azure.authorization.AuthorizationFunctions;\nimport com.pulumi.azure.authorization.inputs.GetRoleDefinitionArgs;\nimport com.pulumi.azure.authorization.Assignment;\nimport com.pulumi.azure.authorization.AssignmentArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.BasenameArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var primary = CoreFunctions.getSubscription(GetSubscriptionArgs.builder()\n            .build());\n\n        final var example = CoreFunctions.getClientConfig(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n        final var builtin = AuthorizationFunctions.getRoleDefinition(GetRoleDefinitionArgs.builder()\n            .name(\"Reader\")\n            .build());\n\n        var exampleAssignment = new Assignment(\"exampleAssignment\", AssignmentArgs.builder()\n            .roleDefinitionName(\"Role Based Access Control Administrator\")\n            .scope(primary.id())\n            .principalId(example.objectId())\n            .principalType(\"ServicePrincipal\")\n            .description(\"Role Based Access Control Administrator role assignment with ABAC Condition.\")\n            .conditionVersion(\"2.0\")\n            .condition(\"\"\"\n(\n (\n  !(ActionMatches{'Microsoft.Authorization/roleAssignments/write'})\n )\n OR\n (\n  @Request[Microsoft.Authorization/roleAssignments:RoleDefinitionId] ForAnyOfAnyValues:GuidEquals {%s}\n )\n)\nAND\n(\n (\n  !(ActionMatches{'Microsoft.Authorization/roleAssignments/delete'})\n )\n OR\n (\n  @Resource[Microsoft.Authorization/roleAssignments:RoleDefinitionId] ForAnyOfAnyValues:GuidEquals {%s}\n )\n)\n\", StdFunctions.basename(BasenameArgs.builder()\n                .input(builtin.roleDefinitionId())\n                .build()).result(),StdFunctions.basename(BasenameArgs.builder()\n                .input(builtin.roleDefinitionId())\n                .build()).result()))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleAssignment:\n    type: azure:authorization:Assignment\n    name: example\n    properties:\n      roleDefinitionName: Role Based Access Control Administrator\n      scope: ${primary.id}\n      principalId: ${example.objectId}\n      principalType: ServicePrincipal\n      description: Role Based Access Control Administrator role assignment with ABAC Condition.\n      conditionVersion: '2.0'\n      condition:\n        fn::join:\n          - \"\"\n          - - |-\n              (\n               (\n                !(ActionMatches{'Microsoft.Authorization/roleAssignments/write'})\n               )\n               OR\n               (\n                @Request[Microsoft.Authorization/roleAssignments:RoleDefinitionId] ForAnyOfAnyValues:GuidEquals {\n            - fn::invoke:\n                function: std:basename\n                arguments:\n                  input: ${builtin.roleDefinitionId}\n                return: result\n            - |-\n              }\n               )\n              )\n              AND\n              (\n               (\n                !(ActionMatches{'Microsoft.Authorization/roleAssignments/delete'})\n               )\n               OR\n               (\n                @Resource[Microsoft.Authorization/roleAssignments:RoleDefinitionId] ForAnyOfAnyValues:GuidEquals {\n            - fn::invoke:\n                function: std:basename\n                arguments:\n                  input: ${builtin.roleDefinitionId}\n                return: result\n            - |\n              }\n               )\n              )\nvariables:\n  primary:\n    fn::invoke:\n      function: azure:core:getSubscription\n      arguments: {}\n  example:\n    fn::invoke:\n      function: azure:core:getClientConfig\n      arguments: {}\n  builtin:\n    fn::invoke:\n      function: azure:authorization:getRoleDefinition\n      arguments:\n        name: Reader\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Authorization` - 2022-05-01-preview, 2022-04-01\n\n## Import\n\nRole Assignments can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:authorization/assignment:Assignment example /subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/00000000-0000-0000-0000-000000000000\n```\n\n\u003e **Note:** The format of `resource id` could be different for different kinds of \u003cspan pulumi-lang-nodejs=\"`scope`\" pulumi-lang-dotnet=\"`Scope`\" pulumi-lang-go=\"`scope`\" pulumi-lang-python=\"`scope`\" pulumi-lang-yaml=\"`scope`\" pulumi-lang-java=\"`scope`\"\u003e`scope`\u003c/span\u003e:\n\n* for scope `Subscription`, the id format is `/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/00000000-0000-0000-0000-000000000000`\n* for scope `Resource Group`, the id format is `/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Authorization/roleAssignments/00000000-0000-0000-0000-000000000000`\n* for scope `Key Vault`, the id format is `/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.KeyVault/vaults/vault1/providers/Microsoft.Authorization/roleAssignments/00000000-0000-0000-0000-000000000000`\n* for scope `Storage Account`, the id format is `/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Storage/storageAccounts/storageAccount1/providers/Microsoft.Authorization/roleAssignments/00000000-0000-0000-0000-000000000000`\n\n\u003e **Note:** for cross tenant scenarios, the format of `resource id` is composed of Azure resource ID and tenantId. for example:\n\n```text\n/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/00000000-0000-0000-0000-000000000000|00000000-0000-0000-0000-000000000000\n```\n\n","properties":{"condition":{"type":"string","description":"The condition that limits the resources that the role can be assigned to. Changing this forces a new resource to be created.\n"},"conditionVersion":{"type":"string","description":"The version of the condition. Possible values are `1.0` or `2.0`. Changing this forces a new resource to be created.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`condition`\" pulumi-lang-dotnet=\"`Condition`\" pulumi-lang-go=\"`condition`\" pulumi-lang-python=\"`condition`\" pulumi-lang-yaml=\"`condition`\" pulumi-lang-java=\"`condition`\"\u003e`condition`\u003c/span\u003e is required when \u003cspan pulumi-lang-nodejs=\"`conditionVersion`\" pulumi-lang-dotnet=\"`ConditionVersion`\" pulumi-lang-go=\"`conditionVersion`\" pulumi-lang-python=\"`condition_version`\" pulumi-lang-yaml=\"`conditionVersion`\" pulumi-lang-java=\"`conditionVersion`\"\u003e`condition_version`\u003c/span\u003e is set.\n"},"delegatedManagedIdentityResourceId":{"type":"string","description":"The delegated Azure Resource Id which contains a Managed Identity. Changing this forces a new resource to be created.\n\n\u003e **Note:** This field is only used in cross tenant scenarios.\n"},"description":{"type":"string","description":"The description for this Role Assignment. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"A unique UUID/GUID for this Role Assignment - one will be generated if not specified. Changing this forces a new resource to be created.\n"},"principalId":{"type":"string","description":"The ID of the Principal (User, Group or Service Principal) to assign the Role Definition to. Changing this forces a new resource to be created.\n\n\u003e **Note:** The Principal ID is also known as the Object ID (i.e. not the \"Application ID\" for applications).\n"},"principalType":{"type":"string","description":"The type of the \u003cspan pulumi-lang-nodejs=\"`principalId`\" pulumi-lang-dotnet=\"`PrincipalId`\" pulumi-lang-go=\"`principalId`\" pulumi-lang-python=\"`principal_id`\" pulumi-lang-yaml=\"`principalId`\" pulumi-lang-java=\"`principalId`\"\u003e`principal_id`\u003c/span\u003e. Possible values are `User`, `Group` and `ServicePrincipal`. Changing this forces a new resource to be created. It is necessary to explicitly set this attribute when creating role assignments if the principal creating the assignment is constrained by ABAC rules that filters on the PrincipalType attribute.\n"},"roleDefinitionId":{"type":"string","description":"The Scoped-ID of the Role Definition. Changing this forces a new resource to be created.\n"},"roleDefinitionName":{"type":"string","description":"The name of a built-in Role. Changing this forces a new resource to be created.\n\n\u003e **Note:** Either \u003cspan pulumi-lang-nodejs=\"`roleDefinitionId`\" pulumi-lang-dotnet=\"`RoleDefinitionId`\" pulumi-lang-go=\"`roleDefinitionId`\" pulumi-lang-python=\"`role_definition_id`\" pulumi-lang-yaml=\"`roleDefinitionId`\" pulumi-lang-java=\"`roleDefinitionId`\"\u003e`role_definition_id`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`roleDefinitionName`\" pulumi-lang-dotnet=\"`RoleDefinitionName`\" pulumi-lang-go=\"`roleDefinitionName`\" pulumi-lang-python=\"`role_definition_name`\" pulumi-lang-yaml=\"`roleDefinitionName`\" pulumi-lang-java=\"`roleDefinitionName`\"\u003e`role_definition_name`\u003c/span\u003e must be set.\n"},"scope":{"type":"string","description":"The scope at which the Role Assignment applies to, such as `/subscriptions/0b1f6471-1bf0-4dda-aec3-111122223333`, `/subscriptions/0b1f6471-1bf0-4dda-aec3-111122223333/resourceGroups/myGroup`, or `/subscriptions/0b1f6471-1bf0-4dda-aec3-111122223333/resourceGroups/myGroup/providers/Microsoft.Compute/virtualMachines/myVM`, or `/providers/Microsoft.Management/managementGroups/myMG`. Changing this forces a new resource to be created.\n"},"skipServicePrincipalAadCheck":{"type":"boolean","description":"If the \u003cspan pulumi-lang-nodejs=\"`principalId`\" pulumi-lang-dotnet=\"`PrincipalId`\" pulumi-lang-go=\"`principalId`\" pulumi-lang-python=\"`principal_id`\" pulumi-lang-yaml=\"`principalId`\" pulumi-lang-java=\"`principalId`\"\u003e`principal_id`\u003c/span\u003e is a newly provisioned `Service Principal` set this value to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e to skip the `Azure Active Directory` check which may fail due to replication lag. This argument is only valid if the \u003cspan pulumi-lang-nodejs=\"`principalId`\" pulumi-lang-dotnet=\"`PrincipalId`\" pulumi-lang-go=\"`principalId`\" pulumi-lang-python=\"`principal_id`\" pulumi-lang-yaml=\"`principalId`\" pulumi-lang-java=\"`principalId`\"\u003e`principal_id`\u003c/span\u003e is a `Service Principal` identity. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** If it is not a `Service Principal` identity it will cause the role assignment to fail.\n"}},"required":["conditionVersion","name","principalId","principalType","roleDefinitionId","roleDefinitionName","scope","skipServicePrincipalAadCheck"],"inputProperties":{"condition":{"type":"string","description":"The condition that limits the resources that the role can be assigned to. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"conditionVersion":{"type":"string","description":"The version of the condition. Possible values are `1.0` or `2.0`. Changing this forces a new resource to be created.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`condition`\" pulumi-lang-dotnet=\"`Condition`\" pulumi-lang-go=\"`condition`\" pulumi-lang-python=\"`condition`\" pulumi-lang-yaml=\"`condition`\" pulumi-lang-java=\"`condition`\"\u003e`condition`\u003c/span\u003e is required when \u003cspan pulumi-lang-nodejs=\"`conditionVersion`\" pulumi-lang-dotnet=\"`ConditionVersion`\" pulumi-lang-go=\"`conditionVersion`\" pulumi-lang-python=\"`condition_version`\" pulumi-lang-yaml=\"`conditionVersion`\" pulumi-lang-java=\"`conditionVersion`\"\u003e`condition_version`\u003c/span\u003e is set.\n","willReplaceOnChanges":true},"delegatedManagedIdentityResourceId":{"type":"string","description":"The delegated Azure Resource Id which contains a Managed Identity. Changing this forces a new resource to be created.\n\n\u003e **Note:** This field is only used in cross tenant scenarios.\n","willReplaceOnChanges":true},"description":{"type":"string","description":"The description for this Role Assignment. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"A unique UUID/GUID for this Role Assignment - one will be generated if not specified. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"principalId":{"type":"string","description":"The ID of the Principal (User, Group or Service Principal) to assign the Role Definition to. Changing this forces a new resource to be created.\n\n\u003e **Note:** The Principal ID is also known as the Object ID (i.e. not the \"Application ID\" for applications).\n","willReplaceOnChanges":true},"principalType":{"type":"string","description":"The type of the \u003cspan pulumi-lang-nodejs=\"`principalId`\" pulumi-lang-dotnet=\"`PrincipalId`\" pulumi-lang-go=\"`principalId`\" pulumi-lang-python=\"`principal_id`\" pulumi-lang-yaml=\"`principalId`\" pulumi-lang-java=\"`principalId`\"\u003e`principal_id`\u003c/span\u003e. Possible values are `User`, `Group` and `ServicePrincipal`. Changing this forces a new resource to be created. It is necessary to explicitly set this attribute when creating role assignments if the principal creating the assignment is constrained by ABAC rules that filters on the PrincipalType attribute.\n","willReplaceOnChanges":true},"roleDefinitionId":{"type":"string","description":"The Scoped-ID of the Role Definition. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"roleDefinitionName":{"type":"string","description":"The name of a built-in Role. Changing this forces a new resource to be created.\n\n\u003e **Note:** Either \u003cspan pulumi-lang-nodejs=\"`roleDefinitionId`\" pulumi-lang-dotnet=\"`RoleDefinitionId`\" pulumi-lang-go=\"`roleDefinitionId`\" pulumi-lang-python=\"`role_definition_id`\" pulumi-lang-yaml=\"`roleDefinitionId`\" pulumi-lang-java=\"`roleDefinitionId`\"\u003e`role_definition_id`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`roleDefinitionName`\" pulumi-lang-dotnet=\"`RoleDefinitionName`\" pulumi-lang-go=\"`roleDefinitionName`\" pulumi-lang-python=\"`role_definition_name`\" pulumi-lang-yaml=\"`roleDefinitionName`\" pulumi-lang-java=\"`roleDefinitionName`\"\u003e`role_definition_name`\u003c/span\u003e must be set.\n","willReplaceOnChanges":true},"scope":{"type":"string","description":"The scope at which the Role Assignment applies to, such as `/subscriptions/0b1f6471-1bf0-4dda-aec3-111122223333`, `/subscriptions/0b1f6471-1bf0-4dda-aec3-111122223333/resourceGroups/myGroup`, or `/subscriptions/0b1f6471-1bf0-4dda-aec3-111122223333/resourceGroups/myGroup/providers/Microsoft.Compute/virtualMachines/myVM`, or `/providers/Microsoft.Management/managementGroups/myMG`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"skipServicePrincipalAadCheck":{"type":"boolean","description":"If the \u003cspan pulumi-lang-nodejs=\"`principalId`\" pulumi-lang-dotnet=\"`PrincipalId`\" pulumi-lang-go=\"`principalId`\" pulumi-lang-python=\"`principal_id`\" pulumi-lang-yaml=\"`principalId`\" pulumi-lang-java=\"`principalId`\"\u003e`principal_id`\u003c/span\u003e is a newly provisioned `Service Principal` set this value to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e to skip the `Azure Active Directory` check which may fail due to replication lag. This argument is only valid if the \u003cspan pulumi-lang-nodejs=\"`principalId`\" pulumi-lang-dotnet=\"`PrincipalId`\" pulumi-lang-go=\"`principalId`\" pulumi-lang-python=\"`principal_id`\" pulumi-lang-yaml=\"`principalId`\" pulumi-lang-java=\"`principalId`\"\u003e`principal_id`\u003c/span\u003e is a `Service Principal` identity. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** If it is not a `Service Principal` identity it will cause the role assignment to fail.\n"}},"requiredInputs":["principalId","scope"],"stateInputs":{"description":"Input properties used for looking up and filtering Assignment resources.\n","properties":{"condition":{"type":"string","description":"The condition that limits the resources that the role can be assigned to. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"conditionVersion":{"type":"string","description":"The version of the condition. Possible values are `1.0` or `2.0`. Changing this forces a new resource to be created.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`condition`\" pulumi-lang-dotnet=\"`Condition`\" pulumi-lang-go=\"`condition`\" pulumi-lang-python=\"`condition`\" pulumi-lang-yaml=\"`condition`\" pulumi-lang-java=\"`condition`\"\u003e`condition`\u003c/span\u003e is required when \u003cspan pulumi-lang-nodejs=\"`conditionVersion`\" pulumi-lang-dotnet=\"`ConditionVersion`\" pulumi-lang-go=\"`conditionVersion`\" pulumi-lang-python=\"`condition_version`\" pulumi-lang-yaml=\"`conditionVersion`\" pulumi-lang-java=\"`conditionVersion`\"\u003e`condition_version`\u003c/span\u003e is set.\n","willReplaceOnChanges":true},"delegatedManagedIdentityResourceId":{"type":"string","description":"The delegated Azure Resource Id which contains a Managed Identity. Changing this forces a new resource to be created.\n\n\u003e **Note:** This field is only used in cross tenant scenarios.\n","willReplaceOnChanges":true},"description":{"type":"string","description":"The description for this Role Assignment. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"A unique UUID/GUID for this Role Assignment - one will be generated if not specified. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"principalId":{"type":"string","description":"The ID of the Principal (User, Group or Service Principal) to assign the Role Definition to. Changing this forces a new resource to be created.\n\n\u003e **Note:** The Principal ID is also known as the Object ID (i.e. not the \"Application ID\" for applications).\n","willReplaceOnChanges":true},"principalType":{"type":"string","description":"The type of the \u003cspan pulumi-lang-nodejs=\"`principalId`\" pulumi-lang-dotnet=\"`PrincipalId`\" pulumi-lang-go=\"`principalId`\" pulumi-lang-python=\"`principal_id`\" pulumi-lang-yaml=\"`principalId`\" pulumi-lang-java=\"`principalId`\"\u003e`principal_id`\u003c/span\u003e. Possible values are `User`, `Group` and `ServicePrincipal`. Changing this forces a new resource to be created. It is necessary to explicitly set this attribute when creating role assignments if the principal creating the assignment is constrained by ABAC rules that filters on the PrincipalType attribute.\n","willReplaceOnChanges":true},"roleDefinitionId":{"type":"string","description":"The Scoped-ID of the Role Definition. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"roleDefinitionName":{"type":"string","description":"The name of a built-in Role. Changing this forces a new resource to be created.\n\n\u003e **Note:** Either \u003cspan pulumi-lang-nodejs=\"`roleDefinitionId`\" pulumi-lang-dotnet=\"`RoleDefinitionId`\" pulumi-lang-go=\"`roleDefinitionId`\" pulumi-lang-python=\"`role_definition_id`\" pulumi-lang-yaml=\"`roleDefinitionId`\" pulumi-lang-java=\"`roleDefinitionId`\"\u003e`role_definition_id`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`roleDefinitionName`\" pulumi-lang-dotnet=\"`RoleDefinitionName`\" pulumi-lang-go=\"`roleDefinitionName`\" pulumi-lang-python=\"`role_definition_name`\" pulumi-lang-yaml=\"`roleDefinitionName`\" pulumi-lang-java=\"`roleDefinitionName`\"\u003e`role_definition_name`\u003c/span\u003e must be set.\n","willReplaceOnChanges":true},"scope":{"type":"string","description":"The scope at which the Role Assignment applies to, such as `/subscriptions/0b1f6471-1bf0-4dda-aec3-111122223333`, `/subscriptions/0b1f6471-1bf0-4dda-aec3-111122223333/resourceGroups/myGroup`, or `/subscriptions/0b1f6471-1bf0-4dda-aec3-111122223333/resourceGroups/myGroup/providers/Microsoft.Compute/virtualMachines/myVM`, or `/providers/Microsoft.Management/managementGroups/myMG`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"skipServicePrincipalAadCheck":{"type":"boolean","description":"If the \u003cspan pulumi-lang-nodejs=\"`principalId`\" pulumi-lang-dotnet=\"`PrincipalId`\" pulumi-lang-go=\"`principalId`\" pulumi-lang-python=\"`principal_id`\" pulumi-lang-yaml=\"`principalId`\" pulumi-lang-java=\"`principalId`\"\u003e`principal_id`\u003c/span\u003e is a newly provisioned `Service Principal` set this value to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e to skip the `Azure Active Directory` check which may fail due to replication lag. This argument is only valid if the \u003cspan pulumi-lang-nodejs=\"`principalId`\" pulumi-lang-dotnet=\"`PrincipalId`\" pulumi-lang-go=\"`principalId`\" pulumi-lang-python=\"`principal_id`\" pulumi-lang-yaml=\"`principalId`\" pulumi-lang-java=\"`principalId`\"\u003e`principal_id`\u003c/span\u003e is a `Service Principal` identity. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** If it is not a `Service Principal` identity it will cause the role assignment to fail.\n"}},"type":"object"},"aliases":[{"type":"azure:role/assignment:Assignment"}]},"azure:authorization/roleDefinition:RoleDefinition":{"description":"Manages a custom Role Definition, used to assign Roles to Users/Principals. See ['Understand role definitions'](https://docs.microsoft.com/azure/role-based-access-control/role-definitions) in the Azure documentation for more details.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst primary = azure.core.getSubscription({});\nconst example = new azure.authorization.RoleDefinition(\"example\", {\n    name: \"my-custom-role\",\n    scope: primary.then(primary =\u003e primary.id),\n    description: \"This is a custom role created\",\n    permissions: [{\n        actions: [\"*\"],\n        notActions: [],\n    }],\n    assignableScopes: [primary.then(primary =\u003e primary.id)],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nprimary = azure.core.get_subscription()\nexample = azure.authorization.RoleDefinition(\"example\",\n    name=\"my-custom-role\",\n    scope=primary.id,\n    description=\"This is a custom role created\",\n    permissions=[{\n        \"actions\": [\"*\"],\n        \"not_actions\": [],\n    }],\n    assignable_scopes=[primary.id])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var primary = Azure.Core.GetSubscription.Invoke();\n\n    var example = new Azure.Authorization.RoleDefinition(\"example\", new()\n    {\n        Name = \"my-custom-role\",\n        Scope = primary.Apply(getSubscriptionResult =\u003e getSubscriptionResult.Id),\n        Description = \"This is a custom role created\",\n        Permissions = new[]\n        {\n            new Azure.Authorization.Inputs.RoleDefinitionPermissionArgs\n            {\n                Actions = new[]\n                {\n                    \"*\",\n                },\n                NotActions = new() { },\n            },\n        },\n        AssignableScopes = new[]\n        {\n            primary.Apply(getSubscriptionResult =\u003e getSubscriptionResult.Id),\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/authorization\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tprimary, err := core.LookupSubscription(ctx, \u0026core.LookupSubscriptionArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = authorization.NewRoleDefinition(ctx, \"example\", \u0026authorization.RoleDefinitionArgs{\n\t\t\tName:        pulumi.String(\"my-custom-role\"),\n\t\t\tScope:       pulumi.String(primary.Id),\n\t\t\tDescription: pulumi.String(\"This is a custom role created\"),\n\t\t\tPermissions: authorization.RoleDefinitionPermissionArray{\n\t\t\t\t\u0026authorization.RoleDefinitionPermissionArgs{\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"*\"),\n\t\t\t\t\t},\n\t\t\t\t\tNotActions: pulumi.StringArray{},\n\t\t\t\t},\n\t\t\t},\n\t\t\tAssignableScopes: pulumi.StringArray{\n\t\t\t\tpulumi.String(primary.Id),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.core.inputs.GetSubscriptionArgs;\nimport com.pulumi.azure.authorization.RoleDefinition;\nimport com.pulumi.azure.authorization.RoleDefinitionArgs;\nimport com.pulumi.azure.authorization.inputs.RoleDefinitionPermissionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var primary = CoreFunctions.getSubscription(GetSubscriptionArgs.builder()\n            .build());\n\n        var example = new RoleDefinition(\"example\", RoleDefinitionArgs.builder()\n            .name(\"my-custom-role\")\n            .scope(primary.id())\n            .description(\"This is a custom role created\")\n            .permissions(RoleDefinitionPermissionArgs.builder()\n                .actions(\"*\")\n                .notActions()\n                .build())\n            .assignableScopes(primary.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:authorization:RoleDefinition\n    properties:\n      name: my-custom-role\n      scope: ${primary.id}\n      description: This is a custom role created\n      permissions:\n        - actions:\n            - '*'\n          notActions: []\n      assignableScopes:\n        - ${primary.id}\nvariables:\n  primary:\n    fn::invoke:\n      function: azure:core:getSubscription\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\n### With Management Group\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst current = azure.core.getSubscription({});\nconst example = new azure.management.Group(\"example\", {\n    displayName: \"ParentGroup\",\n    subscriptionIds: [current.then(current =\u003e current.subscriptionId)],\n});\nconst exampleRoleDefinition = new azure.authorization.RoleDefinition(\"example\", {\n    name: \"example-mg-role\",\n    scope: example.id,\n    description: \"Example custom role scoped to a management group.\",\n    permissions: [{\n        actions: [\"Microsoft.Insights/alertRules/*\"],\n        notActions: [],\n    }],\n    assignableScopes: [example.id],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\ncurrent = azure.core.get_subscription()\nexample = azure.management.Group(\"example\",\n    display_name=\"ParentGroup\",\n    subscription_ids=[current.subscription_id])\nexample_role_definition = azure.authorization.RoleDefinition(\"example\",\n    name=\"example-mg-role\",\n    scope=example.id,\n    description=\"Example custom role scoped to a management group.\",\n    permissions=[{\n        \"actions\": [\"Microsoft.Insights/alertRules/*\"],\n        \"not_actions\": [],\n    }],\n    assignable_scopes=[example.id])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var current = Azure.Core.GetSubscription.Invoke();\n\n    var example = new Azure.Management.Group(\"example\", new()\n    {\n        DisplayName = \"ParentGroup\",\n        SubscriptionIds = new[]\n        {\n            current.Apply(getSubscriptionResult =\u003e getSubscriptionResult.SubscriptionId),\n        },\n    });\n\n    var exampleRoleDefinition = new Azure.Authorization.RoleDefinition(\"example\", new()\n    {\n        Name = \"example-mg-role\",\n        Scope = example.Id,\n        Description = \"Example custom role scoped to a management group.\",\n        Permissions = new[]\n        {\n            new Azure.Authorization.Inputs.RoleDefinitionPermissionArgs\n            {\n                Actions = new[]\n                {\n                    \"Microsoft.Insights/alertRules/*\",\n                },\n                NotActions = new() { },\n            },\n        },\n        AssignableScopes = new[]\n        {\n            example.Id,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/authorization\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/management\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := core.LookupSubscription(ctx, \u0026core.LookupSubscriptionArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := management.NewGroup(ctx, \"example\", \u0026management.GroupArgs{\n\t\t\tDisplayName: pulumi.String(\"ParentGroup\"),\n\t\t\tSubscriptionIds: pulumi.StringArray{\n\t\t\t\tpulumi.String(current.SubscriptionId),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = authorization.NewRoleDefinition(ctx, \"example\", \u0026authorization.RoleDefinitionArgs{\n\t\t\tName:        pulumi.String(\"example-mg-role\"),\n\t\t\tScope:       example.ID(),\n\t\t\tDescription: pulumi.String(\"Example custom role scoped to a management group.\"),\n\t\t\tPermissions: authorization.RoleDefinitionPermissionArray{\n\t\t\t\t\u0026authorization.RoleDefinitionPermissionArgs{\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"Microsoft.Insights/alertRules/*\"),\n\t\t\t\t\t},\n\t\t\t\t\tNotActions: pulumi.StringArray{},\n\t\t\t\t},\n\t\t\t},\n\t\t\tAssignableScopes: pulumi.StringArray{\n\t\t\t\texample.ID(),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.core.inputs.GetSubscriptionArgs;\nimport com.pulumi.azure.management.Group;\nimport com.pulumi.azure.management.GroupArgs;\nimport com.pulumi.azure.authorization.RoleDefinition;\nimport com.pulumi.azure.authorization.RoleDefinitionArgs;\nimport com.pulumi.azure.authorization.inputs.RoleDefinitionPermissionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var current = CoreFunctions.getSubscription(GetSubscriptionArgs.builder()\n            .build());\n\n        var example = new Group(\"example\", GroupArgs.builder()\n            .displayName(\"ParentGroup\")\n            .subscriptionIds(current.subscriptionId())\n            .build());\n\n        var exampleRoleDefinition = new RoleDefinition(\"exampleRoleDefinition\", RoleDefinitionArgs.builder()\n            .name(\"example-mg-role\")\n            .scope(example.id())\n            .description(\"Example custom role scoped to a management group.\")\n            .permissions(RoleDefinitionPermissionArgs.builder()\n                .actions(\"Microsoft.Insights/alertRules/*\")\n                .notActions()\n                .build())\n            .assignableScopes(example.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:management:Group\n    properties:\n      displayName: ParentGroup\n      subscriptionIds:\n        - ${current.subscriptionId}\n  exampleRoleDefinition:\n    type: azure:authorization:RoleDefinition\n    name: example\n    properties:\n      name: example-mg-role\n      scope: ${example.id}\n      description: Example custom role scoped to a management group.\n      permissions:\n        - actions:\n            - Microsoft.Insights/alertRules/*\n          notActions: []\n      assignableScopes:\n        - ${example.id}\nvariables:\n  current:\n    fn::invoke:\n      function: azure:core:getSubscription\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Authorization` - 2022-05-01-preview\n\n## Import\n\nRole Definitions can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:authorization/roleDefinition:RoleDefinition example \"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/00000000-0000-0000-0000-000000000000|/subscriptions/00000000-0000-0000-0000-000000000000\"\n```\n\n\u003e **Note:** This ID is specific to this provider - and is of the format `{roleDefinitionId}|{scope}`.\n\n","properties":{"assignableScopes":{"type":"array","items":{"type":"string"},"description":"One or more assignable scopes for this Role Definition, such as `/subscriptions/0b1f6471-1bf0-4dda-aec3-111122223333`, `/subscriptions/0b1f6471-1bf0-4dda-aec3-111122223333/resourceGroups/myGroup`, `/providers/Microsoft.Management/managementGroups/0b1f6471-1bf0-4dda-aec3-111122223333` , or `/subscriptions/0b1f6471-1bf0-4dda-aec3-111122223333/resourceGroups/myGroup/providers/Microsoft.Compute/virtualMachines/myVM`.\n\n\u003e **NOTE:** The value for \u003cspan pulumi-lang-nodejs=\"`scope`\" pulumi-lang-dotnet=\"`Scope`\" pulumi-lang-go=\"`scope`\" pulumi-lang-python=\"`scope`\" pulumi-lang-yaml=\"`scope`\" pulumi-lang-java=\"`scope`\"\u003e`scope`\u003c/span\u003e is automatically included in this list if no other values supplied.\n"},"description":{"type":"string","description":"A description of the Role Definition.\n"},"name":{"type":"string","description":"The name of the Role Definition.\n"},"permissions":{"type":"array","items":{"$ref":"#/types/azure:authorization/RoleDefinitionPermission:RoleDefinitionPermission"},"description":"A \u003cspan pulumi-lang-nodejs=\"`permissions`\" pulumi-lang-dotnet=\"`Permissions`\" pulumi-lang-go=\"`permissions`\" pulumi-lang-python=\"`permissions`\" pulumi-lang-yaml=\"`permissions`\" pulumi-lang-java=\"`permissions`\"\u003e`permissions`\u003c/span\u003e block as defined below.\n"},"roleDefinitionId":{"type":"string","description":"A unique UUID/GUID which identifies this role - one will be generated if not specified. Changing this forces a new resource to be created.\n"},"roleDefinitionResourceId":{"type":"string","description":"The Azure Resource Manager ID for the resource.\n"},"scope":{"type":"string","description":"The scope at which the Role Definition applies to, such as `/subscriptions/0b1f6471-1bf0-4dda-aec3-111122223333`, `/subscriptions/0b1f6471-1bf0-4dda-aec3-111122223333/resourceGroups/myGroup`, `/providers/Microsoft.Management/managementGroups/0b1f6471-1bf0-4dda-aec3-111122223333`, or `/subscriptions/0b1f6471-1bf0-4dda-aec3-111122223333/resourceGroups/myGroup/providers/Microsoft.Compute/virtualMachines/myVM`. It is recommended to use the first entry of the \u003cspan pulumi-lang-nodejs=\"`assignableScopes`\" pulumi-lang-dotnet=\"`AssignableScopes`\" pulumi-lang-go=\"`assignableScopes`\" pulumi-lang-python=\"`assignable_scopes`\" pulumi-lang-yaml=\"`assignableScopes`\" pulumi-lang-java=\"`assignableScopes`\"\u003e`assignable_scopes`\u003c/span\u003e. Changing this forces a new resource to be created.\n"}},"required":["assignableScopes","name","roleDefinitionId","roleDefinitionResourceId","scope"],"inputProperties":{"assignableScopes":{"type":"array","items":{"type":"string"},"description":"One or more assignable scopes for this Role Definition, such as `/subscriptions/0b1f6471-1bf0-4dda-aec3-111122223333`, `/subscriptions/0b1f6471-1bf0-4dda-aec3-111122223333/resourceGroups/myGroup`, `/providers/Microsoft.Management/managementGroups/0b1f6471-1bf0-4dda-aec3-111122223333` , or `/subscriptions/0b1f6471-1bf0-4dda-aec3-111122223333/resourceGroups/myGroup/providers/Microsoft.Compute/virtualMachines/myVM`.\n\n\u003e **NOTE:** The value for \u003cspan pulumi-lang-nodejs=\"`scope`\" pulumi-lang-dotnet=\"`Scope`\" pulumi-lang-go=\"`scope`\" pulumi-lang-python=\"`scope`\" pulumi-lang-yaml=\"`scope`\" pulumi-lang-java=\"`scope`\"\u003e`scope`\u003c/span\u003e is automatically included in this list if no other values supplied.\n"},"description":{"type":"string","description":"A description of the Role Definition.\n"},"name":{"type":"string","description":"The name of the Role Definition.\n"},"permissions":{"type":"array","items":{"$ref":"#/types/azure:authorization/RoleDefinitionPermission:RoleDefinitionPermission"},"description":"A \u003cspan pulumi-lang-nodejs=\"`permissions`\" pulumi-lang-dotnet=\"`Permissions`\" pulumi-lang-go=\"`permissions`\" pulumi-lang-python=\"`permissions`\" pulumi-lang-yaml=\"`permissions`\" pulumi-lang-java=\"`permissions`\"\u003e`permissions`\u003c/span\u003e block as defined below.\n"},"roleDefinitionId":{"type":"string","description":"A unique UUID/GUID which identifies this role - one will be generated if not specified. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"scope":{"type":"string","description":"The scope at which the Role Definition applies to, such as `/subscriptions/0b1f6471-1bf0-4dda-aec3-111122223333`, `/subscriptions/0b1f6471-1bf0-4dda-aec3-111122223333/resourceGroups/myGroup`, `/providers/Microsoft.Management/managementGroups/0b1f6471-1bf0-4dda-aec3-111122223333`, or `/subscriptions/0b1f6471-1bf0-4dda-aec3-111122223333/resourceGroups/myGroup/providers/Microsoft.Compute/virtualMachines/myVM`. It is recommended to use the first entry of the \u003cspan pulumi-lang-nodejs=\"`assignableScopes`\" pulumi-lang-dotnet=\"`AssignableScopes`\" pulumi-lang-go=\"`assignableScopes`\" pulumi-lang-python=\"`assignable_scopes`\" pulumi-lang-yaml=\"`assignableScopes`\" pulumi-lang-java=\"`assignableScopes`\"\u003e`assignable_scopes`\u003c/span\u003e. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["scope"],"stateInputs":{"description":"Input properties used for looking up and filtering RoleDefinition resources.\n","properties":{"assignableScopes":{"type":"array","items":{"type":"string"},"description":"One or more assignable scopes for this Role Definition, such as `/subscriptions/0b1f6471-1bf0-4dda-aec3-111122223333`, `/subscriptions/0b1f6471-1bf0-4dda-aec3-111122223333/resourceGroups/myGroup`, `/providers/Microsoft.Management/managementGroups/0b1f6471-1bf0-4dda-aec3-111122223333` , or `/subscriptions/0b1f6471-1bf0-4dda-aec3-111122223333/resourceGroups/myGroup/providers/Microsoft.Compute/virtualMachines/myVM`.\n\n\u003e **NOTE:** The value for \u003cspan pulumi-lang-nodejs=\"`scope`\" pulumi-lang-dotnet=\"`Scope`\" pulumi-lang-go=\"`scope`\" pulumi-lang-python=\"`scope`\" pulumi-lang-yaml=\"`scope`\" pulumi-lang-java=\"`scope`\"\u003e`scope`\u003c/span\u003e is automatically included in this list if no other values supplied.\n"},"description":{"type":"string","description":"A description of the Role Definition.\n"},"name":{"type":"string","description":"The name of the Role Definition.\n"},"permissions":{"type":"array","items":{"$ref":"#/types/azure:authorization/RoleDefinitionPermission:RoleDefinitionPermission"},"description":"A \u003cspan pulumi-lang-nodejs=\"`permissions`\" pulumi-lang-dotnet=\"`Permissions`\" pulumi-lang-go=\"`permissions`\" pulumi-lang-python=\"`permissions`\" pulumi-lang-yaml=\"`permissions`\" pulumi-lang-java=\"`permissions`\"\u003e`permissions`\u003c/span\u003e block as defined below.\n"},"roleDefinitionId":{"type":"string","description":"A unique UUID/GUID which identifies this role - one will be generated if not specified. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"roleDefinitionResourceId":{"type":"string","description":"The Azure Resource Manager ID for the resource.\n"},"scope":{"type":"string","description":"The scope at which the Role Definition applies to, such as `/subscriptions/0b1f6471-1bf0-4dda-aec3-111122223333`, `/subscriptions/0b1f6471-1bf0-4dda-aec3-111122223333/resourceGroups/myGroup`, `/providers/Microsoft.Management/managementGroups/0b1f6471-1bf0-4dda-aec3-111122223333`, or `/subscriptions/0b1f6471-1bf0-4dda-aec3-111122223333/resourceGroups/myGroup/providers/Microsoft.Compute/virtualMachines/myVM`. It is recommended to use the first entry of the \u003cspan pulumi-lang-nodejs=\"`assignableScopes`\" pulumi-lang-dotnet=\"`AssignableScopes`\" pulumi-lang-go=\"`assignableScopes`\" pulumi-lang-python=\"`assignable_scopes`\" pulumi-lang-yaml=\"`assignableScopes`\" pulumi-lang-java=\"`assignableScopes`\"\u003e`assignable_scopes`\u003c/span\u003e. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"},"aliases":[{"type":"azure:role/definition:Definition"}]},"azure:authorization/userAssignedIdentity:UserAssignedIdentity":{"description":"\u003c!-- Note: This documentation is generated. Any manual changes will be overwritten --\u003e\n\nManages a User Assigned Identity.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleUserAssignedIdentity = new azure.authorization.UserAssignedIdentity(\"example\", {\n    location: example.location,\n    name: \"example\",\n    resourceGroupName: example.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_user_assigned_identity = azure.authorization.UserAssignedIdentity(\"example\",\n    location=example.location,\n    name=\"example\",\n    resource_group_name=example.name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleUserAssignedIdentity = new Azure.Authorization.UserAssignedIdentity(\"example\", new()\n    {\n        Location = example.Location,\n        Name = \"example\",\n        ResourceGroupName = example.Name,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/authorization\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = authorization.NewUserAssignedIdentity(ctx, \"example\", \u0026authorization.UserAssignedIdentityArgs{\n\t\t\tLocation:          example.Location,\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.authorization.UserAssignedIdentity;\nimport com.pulumi.azure.authorization.UserAssignedIdentityArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleUserAssignedIdentity = new UserAssignedIdentity(\"exampleUserAssignedIdentity\", UserAssignedIdentityArgs.builder()\n            .location(example.location())\n            .name(\"example\")\n            .resourceGroupName(example.name())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleUserAssignedIdentity:\n    type: azure:authorization:UserAssignedIdentity\n    name: example\n    properties:\n      location: ${example.location}\n      name: example\n      resourceGroupName: ${example.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.ManagedIdentity` - 2024-11-30\n\n## Import\n\nAn existing User Assigned Identity can be imported into Pulumi using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:authorization/userAssignedIdentity:UserAssignedIdentity example /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{userAssignedIdentityName}\n```\n\n* Where `{subscriptionId}` is the ID of the Azure Subscription where the User Assigned Identity exists. For example `12345678-1234-9876-4563-123456789012`.\n* Where `{resourceGroupName}` is the name of Resource Group where this User Assigned Identity exists. For example `example-resource-group`.\n* Where `{userAssignedIdentityName}` is the name of the User Assigned Identity. For example `userAssignedIdentityValue`.\n\n","properties":{"clientId":{"type":"string","description":"The ID of the app associated with the Identity.\n"},"isolationScope":{"type":"string","description":"The isolation scope for the User Assigned Identity. The only possible value is `Regional`.\n"},"location":{"type":"string","description":"The Azure Region where the User Assigned Identity should exist. Changing this forces a new User Assigned Identity to be created.\n"},"name":{"type":"string","description":"Specifies the name of this User Assigned Identity. Changing this forces a new User Assigned Identity to be created.\n"},"principalId":{"type":"string","description":"The ID of the Service Principal object associated with the created Identity.\n"},"resourceGroupName":{"type":"string","description":"Specifies the name of the Resource Group within which this User Assigned Identity should exist. Changing this forces a new User Assigned Identity to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the User Assigned Identity.\n"},"tenantId":{"type":"string","description":"The ID of the Tenant which the Identity belongs to.\n"}},"required":["clientId","location","name","principalId","resourceGroupName","tenantId"],"inputProperties":{"isolationScope":{"type":"string","description":"The isolation scope for the User Assigned Identity. The only possible value is `Regional`.\n"},"location":{"type":"string","description":"The Azure Region where the User Assigned Identity should exist. Changing this forces a new User Assigned Identity to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of this User Assigned Identity. Changing this forces a new User Assigned Identity to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"Specifies the name of the Resource Group within which this User Assigned Identity should exist. Changing this forces a new User Assigned Identity to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the User Assigned Identity.\n"}},"requiredInputs":["resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering UserAssignedIdentity resources.\n","properties":{"clientId":{"type":"string","description":"The ID of the app associated with the Identity.\n"},"isolationScope":{"type":"string","description":"The isolation scope for the User Assigned Identity. The only possible value is `Regional`.\n"},"location":{"type":"string","description":"The Azure Region where the User Assigned Identity should exist. Changing this forces a new User Assigned Identity to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of this User Assigned Identity. Changing this forces a new User Assigned Identity to be created.\n","willReplaceOnChanges":true},"principalId":{"type":"string","description":"The ID of the Service Principal object associated with the created Identity.\n"},"resourceGroupName":{"type":"string","description":"Specifies the name of the Resource Group within which this User Assigned Identity should exist. Changing this forces a new User Assigned Identity to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the User Assigned Identity.\n"},"tenantId":{"type":"string","description":"The ID of the Tenant which the Identity belongs to.\n"}},"type":"object"},"aliases":[{"type":"azure:msi/userAssignedIdentity:UserAssignedIdentity"}]},"azure:automanage/configuration:Configuration":{"description":"Manages an Automanage Configuration.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-automanage\",\n    location: \"West Europe\",\n});\nconst exampleConfiguration = new azure.automanage.Configuration(\"example\", {\n    name: \"example-acmp\",\n    resourceGroupName: example.name,\n    location: example.location,\n    antimalware: {\n        exclusions: {\n            extensions: \"exe;dll\",\n            paths: \"C:\\\\Windows\\\\Temp;D:\\\\Temp\",\n            processes: \"svchost.exe;notepad.exe\",\n        },\n        realTimeProtectionEnabled: true,\n        scheduledScanEnabled: true,\n        scheduledScanType: \"Quick\",\n        scheduledScanDay: 1,\n        scheduledScanTimeInMinutes: 1339,\n    },\n    azureSecurityBaseline: {\n        assignmentType: \"ApplyAndAutoCorrect\",\n    },\n    automationAccountEnabled: true,\n    backup: {\n        policyName: \"acctest-backup-policy-%d\",\n        timeZone: \"UTC\",\n        instantRpRetentionRangeInDays: 2,\n        schedulePolicy: {\n            scheduleRunFrequency: \"Daily\",\n            scheduleRunDays: [\n                \"Monday\",\n                \"Tuesday\",\n            ],\n            scheduleRunTimes: [\"12:00\"],\n            schedulePolicyType: \"SimpleSchedulePolicy\",\n        },\n        retentionPolicy: {\n            retentionPolicyType: \"LongTermRetentionPolicy\",\n            dailySchedule: {\n                retentionTimes: [\"12:00\"],\n                retentionDuration: {\n                    count: 7,\n                    durationType: \"Days\",\n                },\n            },\n            weeklySchedule: {\n                retentionTimes: [\"14:00\"],\n                retentionDuration: {\n                    count: 4,\n                    durationType: \"Weeks\",\n                },\n            },\n        },\n    },\n    bootDiagnosticsEnabled: true,\n    defenderForCloudEnabled: true,\n    guestConfigurationEnabled: true,\n    logAnalyticsEnabled: true,\n    statusChangeAlertEnabled: true,\n    tags: {\n        env: \"test\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-automanage\",\n    location=\"West Europe\")\nexample_configuration = azure.automanage.Configuration(\"example\",\n    name=\"example-acmp\",\n    resource_group_name=example.name,\n    location=example.location,\n    antimalware={\n        \"exclusions\": {\n            \"extensions\": \"exe;dll\",\n            \"paths\": \"C:\\\\Windows\\\\Temp;D:\\\\Temp\",\n            \"processes\": \"svchost.exe;notepad.exe\",\n        },\n        \"real_time_protection_enabled\": True,\n        \"scheduled_scan_enabled\": True,\n        \"scheduled_scan_type\": \"Quick\",\n        \"scheduled_scan_day\": 1,\n        \"scheduled_scan_time_in_minutes\": 1339,\n    },\n    azure_security_baseline={\n        \"assignment_type\": \"ApplyAndAutoCorrect\",\n    },\n    automation_account_enabled=True,\n    backup={\n        \"policy_name\": \"acctest-backup-policy-%d\",\n        \"time_zone\": \"UTC\",\n        \"instant_rp_retention_range_in_days\": 2,\n        \"schedule_policy\": {\n            \"schedule_run_frequency\": \"Daily\",\n            \"schedule_run_days\": [\n                \"Monday\",\n                \"Tuesday\",\n            ],\n            \"schedule_run_times\": [\"12:00\"],\n            \"schedule_policy_type\": \"SimpleSchedulePolicy\",\n        },\n        \"retention_policy\": {\n            \"retention_policy_type\": \"LongTermRetentionPolicy\",\n            \"daily_schedule\": {\n                \"retention_times\": [\"12:00\"],\n                \"retention_duration\": {\n                    \"count\": 7,\n                    \"duration_type\": \"Days\",\n                },\n            },\n            \"weekly_schedule\": {\n                \"retention_times\": [\"14:00\"],\n                \"retention_duration\": {\n                    \"count\": 4,\n                    \"duration_type\": \"Weeks\",\n                },\n            },\n        },\n    },\n    boot_diagnostics_enabled=True,\n    defender_for_cloud_enabled=True,\n    guest_configuration_enabled=True,\n    log_analytics_enabled=True,\n    status_change_alert_enabled=True,\n    tags={\n        \"env\": \"test\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-automanage\",\n        Location = \"West Europe\",\n    });\n\n    var exampleConfiguration = new Azure.Automanage.Configuration(\"example\", new()\n    {\n        Name = \"example-acmp\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        Antimalware = new Azure.Automanage.Inputs.ConfigurationAntimalwareArgs\n        {\n            Exclusions = new Azure.Automanage.Inputs.ConfigurationAntimalwareExclusionsArgs\n            {\n                Extensions = \"exe;dll\",\n                Paths = \"C:\\\\Windows\\\\Temp;D:\\\\Temp\",\n                Processes = \"svchost.exe;notepad.exe\",\n            },\n            RealTimeProtectionEnabled = true,\n            ScheduledScanEnabled = true,\n            ScheduledScanType = \"Quick\",\n            ScheduledScanDay = 1,\n            ScheduledScanTimeInMinutes = 1339,\n        },\n        AzureSecurityBaseline = new Azure.Automanage.Inputs.ConfigurationAzureSecurityBaselineArgs\n        {\n            AssignmentType = \"ApplyAndAutoCorrect\",\n        },\n        AutomationAccountEnabled = true,\n        Backup = new Azure.Automanage.Inputs.ConfigurationBackupArgs\n        {\n            PolicyName = \"acctest-backup-policy-%d\",\n            TimeZone = \"UTC\",\n            InstantRpRetentionRangeInDays = 2,\n            SchedulePolicy = new Azure.Automanage.Inputs.ConfigurationBackupSchedulePolicyArgs\n            {\n                ScheduleRunFrequency = \"Daily\",\n                ScheduleRunDays = new[]\n                {\n                    \"Monday\",\n                    \"Tuesday\",\n                },\n                ScheduleRunTimes = new[]\n                {\n                    \"12:00\",\n                },\n                SchedulePolicyType = \"SimpleSchedulePolicy\",\n            },\n            RetentionPolicy = new Azure.Automanage.Inputs.ConfigurationBackupRetentionPolicyArgs\n            {\n                RetentionPolicyType = \"LongTermRetentionPolicy\",\n                DailySchedule = new Azure.Automanage.Inputs.ConfigurationBackupRetentionPolicyDailyScheduleArgs\n                {\n                    RetentionTimes = new[]\n                    {\n                        \"12:00\",\n                    },\n                    RetentionDuration = new Azure.Automanage.Inputs.ConfigurationBackupRetentionPolicyDailyScheduleRetentionDurationArgs\n                    {\n                        Count = 7,\n                        DurationType = \"Days\",\n                    },\n                },\n                WeeklySchedule = new Azure.Automanage.Inputs.ConfigurationBackupRetentionPolicyWeeklyScheduleArgs\n                {\n                    RetentionTimes = new[]\n                    {\n                        \"14:00\",\n                    },\n                    RetentionDuration = new Azure.Automanage.Inputs.ConfigurationBackupRetentionPolicyWeeklyScheduleRetentionDurationArgs\n                    {\n                        Count = 4,\n                        DurationType = \"Weeks\",\n                    },\n                },\n            },\n        },\n        BootDiagnosticsEnabled = true,\n        DefenderForCloudEnabled = true,\n        GuestConfigurationEnabled = true,\n        LogAnalyticsEnabled = true,\n        StatusChangeAlertEnabled = true,\n        Tags = \n        {\n            { \"env\", \"test\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/automanage\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-automanage\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = automanage.NewConfiguration(ctx, \"example\", \u0026automanage.ConfigurationArgs{\n\t\t\tName:              pulumi.String(\"example-acmp\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tAntimalware: \u0026automanage.ConfigurationAntimalwareArgs{\n\t\t\t\tExclusions: \u0026automanage.ConfigurationAntimalwareExclusionsArgs{\n\t\t\t\t\tExtensions: pulumi.String(\"exe;dll\"),\n\t\t\t\t\tPaths:      pulumi.String(\"C:\\\\Windows\\\\Temp;D:\\\\Temp\"),\n\t\t\t\t\tProcesses:  pulumi.String(\"svchost.exe;notepad.exe\"),\n\t\t\t\t},\n\t\t\t\tRealTimeProtectionEnabled:  pulumi.Bool(true),\n\t\t\t\tScheduledScanEnabled:       pulumi.Bool(true),\n\t\t\t\tScheduledScanType:          pulumi.String(\"Quick\"),\n\t\t\t\tScheduledScanDay:           pulumi.Int(1),\n\t\t\t\tScheduledScanTimeInMinutes: pulumi.Int(1339),\n\t\t\t},\n\t\t\tAzureSecurityBaseline: \u0026automanage.ConfigurationAzureSecurityBaselineArgs{\n\t\t\t\tAssignmentType: pulumi.String(\"ApplyAndAutoCorrect\"),\n\t\t\t},\n\t\t\tAutomationAccountEnabled: pulumi.Bool(true),\n\t\t\tBackup: \u0026automanage.ConfigurationBackupArgs{\n\t\t\t\tPolicyName:                    pulumi.String(\"acctest-backup-policy-%d\"),\n\t\t\t\tTimeZone:                      pulumi.String(\"UTC\"),\n\t\t\t\tInstantRpRetentionRangeInDays: pulumi.Int(2),\n\t\t\t\tSchedulePolicy: \u0026automanage.ConfigurationBackupSchedulePolicyArgs{\n\t\t\t\t\tScheduleRunFrequency: pulumi.String(\"Daily\"),\n\t\t\t\t\tScheduleRunDays: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"Monday\"),\n\t\t\t\t\t\tpulumi.String(\"Tuesday\"),\n\t\t\t\t\t},\n\t\t\t\t\tScheduleRunTimes: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"12:00\"),\n\t\t\t\t\t},\n\t\t\t\t\tSchedulePolicyType: pulumi.String(\"SimpleSchedulePolicy\"),\n\t\t\t\t},\n\t\t\t\tRetentionPolicy: \u0026automanage.ConfigurationBackupRetentionPolicyArgs{\n\t\t\t\t\tRetentionPolicyType: pulumi.String(\"LongTermRetentionPolicy\"),\n\t\t\t\t\tDailySchedule: \u0026automanage.ConfigurationBackupRetentionPolicyDailyScheduleArgs{\n\t\t\t\t\t\tRetentionTimes: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"12:00\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tRetentionDuration: \u0026automanage.ConfigurationBackupRetentionPolicyDailyScheduleRetentionDurationArgs{\n\t\t\t\t\t\t\tCount:        pulumi.Int(7),\n\t\t\t\t\t\t\tDurationType: pulumi.String(\"Days\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tWeeklySchedule: \u0026automanage.ConfigurationBackupRetentionPolicyWeeklyScheduleArgs{\n\t\t\t\t\t\tRetentionTimes: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"14:00\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tRetentionDuration: \u0026automanage.ConfigurationBackupRetentionPolicyWeeklyScheduleRetentionDurationArgs{\n\t\t\t\t\t\t\tCount:        pulumi.Int(4),\n\t\t\t\t\t\t\tDurationType: pulumi.String(\"Weeks\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tBootDiagnosticsEnabled:    pulumi.Bool(true),\n\t\t\tDefenderForCloudEnabled:   pulumi.Bool(true),\n\t\t\tGuestConfigurationEnabled: pulumi.Bool(true),\n\t\t\tLogAnalyticsEnabled:       pulumi.Bool(true),\n\t\t\tStatusChangeAlertEnabled:  pulumi.Bool(true),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"env\": pulumi.String(\"test\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.automanage.Configuration;\nimport com.pulumi.azure.automanage.ConfigurationArgs;\nimport com.pulumi.azure.automanage.inputs.ConfigurationAntimalwareArgs;\nimport com.pulumi.azure.automanage.inputs.ConfigurationAntimalwareExclusionsArgs;\nimport com.pulumi.azure.automanage.inputs.ConfigurationAzureSecurityBaselineArgs;\nimport com.pulumi.azure.automanage.inputs.ConfigurationBackupArgs;\nimport com.pulumi.azure.automanage.inputs.ConfigurationBackupSchedulePolicyArgs;\nimport com.pulumi.azure.automanage.inputs.ConfigurationBackupRetentionPolicyArgs;\nimport com.pulumi.azure.automanage.inputs.ConfigurationBackupRetentionPolicyDailyScheduleArgs;\nimport com.pulumi.azure.automanage.inputs.ConfigurationBackupRetentionPolicyDailyScheduleRetentionDurationArgs;\nimport com.pulumi.azure.automanage.inputs.ConfigurationBackupRetentionPolicyWeeklyScheduleArgs;\nimport com.pulumi.azure.automanage.inputs.ConfigurationBackupRetentionPolicyWeeklyScheduleRetentionDurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-automanage\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleConfiguration = new Configuration(\"exampleConfiguration\", ConfigurationArgs.builder()\n            .name(\"example-acmp\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .antimalware(ConfigurationAntimalwareArgs.builder()\n                .exclusions(ConfigurationAntimalwareExclusionsArgs.builder()\n                    .extensions(\"exe;dll\")\n                    .paths(\"C:\\\\Windows\\\\Temp;D:\\\\Temp\")\n                    .processes(\"svchost.exe;notepad.exe\")\n                    .build())\n                .realTimeProtectionEnabled(true)\n                .scheduledScanEnabled(true)\n                .scheduledScanType(\"Quick\")\n                .scheduledScanDay(1)\n                .scheduledScanTimeInMinutes(1339)\n                .build())\n            .azureSecurityBaseline(ConfigurationAzureSecurityBaselineArgs.builder()\n                .assignmentType(\"ApplyAndAutoCorrect\")\n                .build())\n            .automationAccountEnabled(true)\n            .backup(ConfigurationBackupArgs.builder()\n                .policyName(\"acctest-backup-policy-%d\")\n                .timeZone(\"UTC\")\n                .instantRpRetentionRangeInDays(2)\n                .schedulePolicy(ConfigurationBackupSchedulePolicyArgs.builder()\n                    .scheduleRunFrequency(\"Daily\")\n                    .scheduleRunDays(                    \n                        \"Monday\",\n                        \"Tuesday\")\n                    .scheduleRunTimes(\"12:00\")\n                    .schedulePolicyType(\"SimpleSchedulePolicy\")\n                    .build())\n                .retentionPolicy(ConfigurationBackupRetentionPolicyArgs.builder()\n                    .retentionPolicyType(\"LongTermRetentionPolicy\")\n                    .dailySchedule(ConfigurationBackupRetentionPolicyDailyScheduleArgs.builder()\n                        .retentionTimes(\"12:00\")\n                        .retentionDuration(ConfigurationBackupRetentionPolicyDailyScheduleRetentionDurationArgs.builder()\n                            .count(7)\n                            .durationType(\"Days\")\n                            .build())\n                        .build())\n                    .weeklySchedule(ConfigurationBackupRetentionPolicyWeeklyScheduleArgs.builder()\n                        .retentionTimes(\"14:00\")\n                        .retentionDuration(ConfigurationBackupRetentionPolicyWeeklyScheduleRetentionDurationArgs.builder()\n                            .count(4)\n                            .durationType(\"Weeks\")\n                            .build())\n                        .build())\n                    .build())\n                .build())\n            .bootDiagnosticsEnabled(true)\n            .defenderForCloudEnabled(true)\n            .guestConfigurationEnabled(true)\n            .logAnalyticsEnabled(true)\n            .statusChangeAlertEnabled(true)\n            .tags(Map.of(\"env\", \"test\"))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-automanage\n      location: West Europe\n  exampleConfiguration:\n    type: azure:automanage:Configuration\n    name: example\n    properties:\n      name: example-acmp\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      antimalware:\n        exclusions:\n          extensions: exe;dll\n          paths: C:\\Windows\\Temp;D:\\Temp\n          processes: svchost.exe;notepad.exe\n        realTimeProtectionEnabled: true\n        scheduledScanEnabled: true\n        scheduledScanType: Quick\n        scheduledScanDay: 1\n        scheduledScanTimeInMinutes: 1339\n      azureSecurityBaseline:\n        assignmentType: ApplyAndAutoCorrect\n      automationAccountEnabled: true\n      backup:\n        policyName: acctest-backup-policy-%d\n        timeZone: UTC\n        instantRpRetentionRangeInDays: 2\n        schedulePolicy:\n          scheduleRunFrequency: Daily\n          scheduleRunDays:\n            - Monday\n            - Tuesday\n          scheduleRunTimes:\n            - 12:00\n          schedulePolicyType: SimpleSchedulePolicy\n        retentionPolicy:\n          retentionPolicyType: LongTermRetentionPolicy\n          dailySchedule:\n            retentionTimes:\n              - 12:00\n            retentionDuration:\n              count: 7\n              durationType: Days\n          weeklySchedule:\n            retentionTimes:\n              - 14:00\n            retentionDuration:\n              count: 4\n              durationType: Weeks\n      bootDiagnosticsEnabled: true\n      defenderForCloudEnabled: true\n      guestConfigurationEnabled: true\n      logAnalyticsEnabled: true\n      statusChangeAlertEnabled: true\n      tags:\n        env: test\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.AutoManage` - 2022-05-04\n\n## Import\n\nAutomanage Configuration can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:automanage/configuration:Configuration example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.AutoManage/configurationProfiles/configurationProfile1\n```\n\n","properties":{"antimalware":{"$ref":"#/types/azure:automanage/ConfigurationAntimalware:ConfigurationAntimalware","description":"A \u003cspan pulumi-lang-nodejs=\"`antimalware`\" pulumi-lang-dotnet=\"`Antimalware`\" pulumi-lang-go=\"`antimalware`\" pulumi-lang-python=\"`antimalware`\" pulumi-lang-yaml=\"`antimalware`\" pulumi-lang-java=\"`antimalware`\"\u003e`antimalware`\u003c/span\u003e block as defined below.\n"},"automationAccountEnabled":{"type":"boolean","description":"Whether the automation account is enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"azureSecurityBaseline":{"$ref":"#/types/azure:automanage/ConfigurationAzureSecurityBaseline:ConfigurationAzureSecurityBaseline","description":"A \u003cspan pulumi-lang-nodejs=\"`azureSecurityBaseline`\" pulumi-lang-dotnet=\"`AzureSecurityBaseline`\" pulumi-lang-go=\"`azureSecurityBaseline`\" pulumi-lang-python=\"`azure_security_baseline`\" pulumi-lang-yaml=\"`azureSecurityBaseline`\" pulumi-lang-java=\"`azureSecurityBaseline`\"\u003e`azure_security_baseline`\u003c/span\u003e block as defined below.\n"},"backup":{"$ref":"#/types/azure:automanage/ConfigurationBackup:ConfigurationBackup","description":"A \u003cspan pulumi-lang-nodejs=\"`backup`\" pulumi-lang-dotnet=\"`Backup`\" pulumi-lang-go=\"`backup`\" pulumi-lang-python=\"`backup`\" pulumi-lang-yaml=\"`backup`\" pulumi-lang-java=\"`backup`\"\u003e`backup`\u003c/span\u003e block as defined below.\n"},"bootDiagnosticsEnabled":{"type":"boolean","description":"Whether the boot diagnostics are enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"defenderForCloudEnabled":{"type":"boolean","description":"Whether the defender for cloud is enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"guestConfigurationEnabled":{"type":"boolean","description":"Whether the guest configuration is enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"location":{"type":"string","description":"The Azure Region where the Automanage Configuration should exist. Changing this forces a new Automanage Configuration to be created.\n"},"logAnalyticsEnabled":{"type":"boolean","description":"Whether log analytics are enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"name":{"type":"string","description":"The name which should be used for this Automanage Configuration. Changing this forces a new Automanage Configuration to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Automanage Configuration should exist. Changing this forces a new Automanage Configuration to be created.\n"},"statusChangeAlertEnabled":{"type":"boolean","description":"Whether the status change alert is enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"}}},"required":["location","name","resourceGroupName"],"inputProperties":{"antimalware":{"$ref":"#/types/azure:automanage/ConfigurationAntimalware:ConfigurationAntimalware","description":"A \u003cspan pulumi-lang-nodejs=\"`antimalware`\" pulumi-lang-dotnet=\"`Antimalware`\" pulumi-lang-go=\"`antimalware`\" pulumi-lang-python=\"`antimalware`\" pulumi-lang-yaml=\"`antimalware`\" pulumi-lang-java=\"`antimalware`\"\u003e`antimalware`\u003c/span\u003e block as defined below.\n"},"automationAccountEnabled":{"type":"boolean","description":"Whether the automation account is enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"azureSecurityBaseline":{"$ref":"#/types/azure:automanage/ConfigurationAzureSecurityBaseline:ConfigurationAzureSecurityBaseline","description":"A \u003cspan pulumi-lang-nodejs=\"`azureSecurityBaseline`\" pulumi-lang-dotnet=\"`AzureSecurityBaseline`\" pulumi-lang-go=\"`azureSecurityBaseline`\" pulumi-lang-python=\"`azure_security_baseline`\" pulumi-lang-yaml=\"`azureSecurityBaseline`\" pulumi-lang-java=\"`azureSecurityBaseline`\"\u003e`azure_security_baseline`\u003c/span\u003e block as defined below.\n"},"backup":{"$ref":"#/types/azure:automanage/ConfigurationBackup:ConfigurationBackup","description":"A \u003cspan pulumi-lang-nodejs=\"`backup`\" pulumi-lang-dotnet=\"`Backup`\" pulumi-lang-go=\"`backup`\" pulumi-lang-python=\"`backup`\" pulumi-lang-yaml=\"`backup`\" pulumi-lang-java=\"`backup`\"\u003e`backup`\u003c/span\u003e block as defined below.\n"},"bootDiagnosticsEnabled":{"type":"boolean","description":"Whether the boot diagnostics are enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"defenderForCloudEnabled":{"type":"boolean","description":"Whether the defender for cloud is enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"guestConfigurationEnabled":{"type":"boolean","description":"Whether the guest configuration is enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"location":{"type":"string","description":"The Azure Region where the Automanage Configuration should exist. Changing this forces a new Automanage Configuration to be created.\n","willReplaceOnChanges":true},"logAnalyticsEnabled":{"type":"boolean","description":"Whether log analytics are enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"name":{"type":"string","description":"The name which should be used for this Automanage Configuration. Changing this forces a new Automanage Configuration to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Automanage Configuration should exist. Changing this forces a new Automanage Configuration to be created.\n","willReplaceOnChanges":true},"statusChangeAlertEnabled":{"type":"boolean","description":"Whether the status change alert is enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"}}},"requiredInputs":["resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering Configuration resources.\n","properties":{"antimalware":{"$ref":"#/types/azure:automanage/ConfigurationAntimalware:ConfigurationAntimalware","description":"A \u003cspan pulumi-lang-nodejs=\"`antimalware`\" pulumi-lang-dotnet=\"`Antimalware`\" pulumi-lang-go=\"`antimalware`\" pulumi-lang-python=\"`antimalware`\" pulumi-lang-yaml=\"`antimalware`\" pulumi-lang-java=\"`antimalware`\"\u003e`antimalware`\u003c/span\u003e block as defined below.\n"},"automationAccountEnabled":{"type":"boolean","description":"Whether the automation account is enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"azureSecurityBaseline":{"$ref":"#/types/azure:automanage/ConfigurationAzureSecurityBaseline:ConfigurationAzureSecurityBaseline","description":"A \u003cspan pulumi-lang-nodejs=\"`azureSecurityBaseline`\" pulumi-lang-dotnet=\"`AzureSecurityBaseline`\" pulumi-lang-go=\"`azureSecurityBaseline`\" pulumi-lang-python=\"`azure_security_baseline`\" pulumi-lang-yaml=\"`azureSecurityBaseline`\" pulumi-lang-java=\"`azureSecurityBaseline`\"\u003e`azure_security_baseline`\u003c/span\u003e block as defined below.\n"},"backup":{"$ref":"#/types/azure:automanage/ConfigurationBackup:ConfigurationBackup","description":"A \u003cspan pulumi-lang-nodejs=\"`backup`\" pulumi-lang-dotnet=\"`Backup`\" pulumi-lang-go=\"`backup`\" pulumi-lang-python=\"`backup`\" pulumi-lang-yaml=\"`backup`\" pulumi-lang-java=\"`backup`\"\u003e`backup`\u003c/span\u003e block as defined below.\n"},"bootDiagnosticsEnabled":{"type":"boolean","description":"Whether the boot diagnostics are enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"defenderForCloudEnabled":{"type":"boolean","description":"Whether the defender for cloud is enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"guestConfigurationEnabled":{"type":"boolean","description":"Whether the guest configuration is enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"location":{"type":"string","description":"The Azure Region where the Automanage Configuration should exist. Changing this forces a new Automanage Configuration to be created.\n","willReplaceOnChanges":true},"logAnalyticsEnabled":{"type":"boolean","description":"Whether log analytics are enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"name":{"type":"string","description":"The name which should be used for this Automanage Configuration. Changing this forces a new Automanage Configuration to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Automanage Configuration should exist. Changing this forces a new Automanage Configuration to be created.\n","willReplaceOnChanges":true},"statusChangeAlertEnabled":{"type":"boolean","description":"Whether the status change alert is enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"}}},"type":"object"}},"azure:automation/account:Account":{"description":"Manages an Automation Account.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleAccount = new azure.automation.Account(\"example\", {\n    name: \"example-account\",\n    location: example.location,\n    resourceGroupName: example.name,\n    skuName: \"Basic\",\n    tags: {\n        environment: \"development\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_account = azure.automation.Account(\"example\",\n    name=\"example-account\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku_name=\"Basic\",\n    tags={\n        \"environment\": \"development\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleAccount = new Azure.Automation.Account(\"example\", new()\n    {\n        Name = \"example-account\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        SkuName = \"Basic\",\n        Tags = \n        {\n            { \"environment\", \"development\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/automation\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = automation.NewAccount(ctx, \"example\", \u0026automation.AccountArgs{\n\t\t\tName:              pulumi.String(\"example-account\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSkuName:           pulumi.String(\"Basic\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"environment\": pulumi.String(\"development\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.automation.Account;\nimport com.pulumi.azure.automation.AccountArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"example-account\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .skuName(\"Basic\")\n            .tags(Map.of(\"environment\", \"development\"))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleAccount:\n    type: azure:automation:Account\n    name: example\n    properties:\n      name: example-account\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      skuName: Basic\n      tags:\n        environment: development\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Automation` - 2024-10-23, 2019-06-01\n\n## Import\n\nAutomation Accounts can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:automation/account:Account account1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Automation/automationAccounts/account1\n```\n\n","properties":{"dscPrimaryAccessKey":{"type":"string","description":"The Primary Access Key for the DSC Endpoint associated with this Automation Account.\n","secret":true},"dscSecondaryAccessKey":{"type":"string","description":"The Secondary Access Key for the DSC Endpoint associated with this Automation Account.\n","secret":true},"dscServerEndpoint":{"type":"string","description":"The DSC Server Endpoint associated with this Automation Account.\n"},"encryptions":{"type":"array","items":{"$ref":"#/types/azure:automation/AccountEncryption:AccountEncryption"},"description":"An \u003cspan pulumi-lang-nodejs=\"`encryption`\" pulumi-lang-dotnet=\"`Encryption`\" pulumi-lang-go=\"`encryption`\" pulumi-lang-python=\"`encryption`\" pulumi-lang-yaml=\"`encryption`\" pulumi-lang-java=\"`encryption`\"\u003e`encryption`\u003c/span\u003e block as defined below.\n"},"hybridServiceUrl":{"type":"string","description":"The URL of automation hybrid service which is used for hybrid worker on-boarding With this Automation Account.\n"},"identity":{"$ref":"#/types/azure:automation/AccountIdentity:AccountIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"localAuthenticationEnabled":{"type":"boolean","description":"Whether requests using non-AAD authentication are blocked. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"Specifies the name of the Automation Account. Changing this forces a new resource to be created.\n"},"privateEndpointConnections":{"type":"array","items":{"$ref":"#/types/azure:automation/AccountPrivateEndpointConnection:AccountPrivateEndpointConnection"}},"publicNetworkAccessEnabled":{"type":"boolean","description":"Whether public network access is allowed for the automation account. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the Automation Account is created. Changing this forces a new resource to be created.\n"},"skuName":{"type":"string","description":"The SKU of the account. Possible values are `Basic` and `Free`.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"required":["dscPrimaryAccessKey","dscSecondaryAccessKey","dscServerEndpoint","hybridServiceUrl","location","name","privateEndpointConnections","resourceGroupName","skuName"],"inputProperties":{"encryptions":{"type":"array","items":{"$ref":"#/types/azure:automation/AccountEncryption:AccountEncryption"},"description":"An \u003cspan pulumi-lang-nodejs=\"`encryption`\" pulumi-lang-dotnet=\"`Encryption`\" pulumi-lang-go=\"`encryption`\" pulumi-lang-python=\"`encryption`\" pulumi-lang-yaml=\"`encryption`\" pulumi-lang-java=\"`encryption`\"\u003e`encryption`\u003c/span\u003e block as defined below.\n"},"identity":{"$ref":"#/types/azure:automation/AccountIdentity:AccountIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"localAuthenticationEnabled":{"type":"boolean","description":"Whether requests using non-AAD authentication are blocked. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the Automation Account. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"publicNetworkAccessEnabled":{"type":"boolean","description":"Whether public network access is allowed for the automation account. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the Automation Account is created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"skuName":{"type":"string","description":"The SKU of the account. Possible values are `Basic` and `Free`.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"requiredInputs":["resourceGroupName","skuName"],"stateInputs":{"description":"Input properties used for looking up and filtering Account resources.\n","properties":{"dscPrimaryAccessKey":{"type":"string","description":"The Primary Access Key for the DSC Endpoint associated with this Automation Account.\n","secret":true},"dscSecondaryAccessKey":{"type":"string","description":"The Secondary Access Key for the DSC Endpoint associated with this Automation Account.\n","secret":true},"dscServerEndpoint":{"type":"string","description":"The DSC Server Endpoint associated with this Automation Account.\n"},"encryptions":{"type":"array","items":{"$ref":"#/types/azure:automation/AccountEncryption:AccountEncryption"},"description":"An \u003cspan pulumi-lang-nodejs=\"`encryption`\" pulumi-lang-dotnet=\"`Encryption`\" pulumi-lang-go=\"`encryption`\" pulumi-lang-python=\"`encryption`\" pulumi-lang-yaml=\"`encryption`\" pulumi-lang-java=\"`encryption`\"\u003e`encryption`\u003c/span\u003e block as defined below.\n"},"hybridServiceUrl":{"type":"string","description":"The URL of automation hybrid service which is used for hybrid worker on-boarding With this Automation Account.\n"},"identity":{"$ref":"#/types/azure:automation/AccountIdentity:AccountIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"localAuthenticationEnabled":{"type":"boolean","description":"Whether requests using non-AAD authentication are blocked. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the Automation Account. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"privateEndpointConnections":{"type":"array","items":{"$ref":"#/types/azure:automation/AccountPrivateEndpointConnection:AccountPrivateEndpointConnection"}},"publicNetworkAccessEnabled":{"type":"boolean","description":"Whether public network access is allowed for the automation account. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the Automation Account is created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"skuName":{"type":"string","description":"The SKU of the account. Possible values are `Basic` and `Free`.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"type":"object"}},"azure:automation/boolVariable:BoolVariable":{"description":"Manages a boolean variable in Azure Automation\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"tfex-example-rg\",\n    location: \"West Europe\",\n});\nconst exampleAccount = new azure.automation.Account(\"example\", {\n    name: \"tfex-example-account\",\n    location: example.location,\n    resourceGroupName: example.name,\n    skuName: \"Basic\",\n});\nconst exampleBoolVariable = new azure.automation.BoolVariable(\"example\", {\n    name: \"tfex-example-var\",\n    resourceGroupName: example.name,\n    automationAccountName: exampleAccount.name,\n    value: false,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"tfex-example-rg\",\n    location=\"West Europe\")\nexample_account = azure.automation.Account(\"example\",\n    name=\"tfex-example-account\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku_name=\"Basic\")\nexample_bool_variable = azure.automation.BoolVariable(\"example\",\n    name=\"tfex-example-var\",\n    resource_group_name=example.name,\n    automation_account_name=example_account.name,\n    value=False)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"tfex-example-rg\",\n        Location = \"West Europe\",\n    });\n\n    var exampleAccount = new Azure.Automation.Account(\"example\", new()\n    {\n        Name = \"tfex-example-account\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        SkuName = \"Basic\",\n    });\n\n    var exampleBoolVariable = new Azure.Automation.BoolVariable(\"example\", new()\n    {\n        Name = \"tfex-example-var\",\n        ResourceGroupName = example.Name,\n        AutomationAccountName = exampleAccount.Name,\n        Value = false,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/automation\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"tfex-example-rg\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := automation.NewAccount(ctx, \"example\", \u0026automation.AccountArgs{\n\t\t\tName:              pulumi.String(\"tfex-example-account\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSkuName:           pulumi.String(\"Basic\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = automation.NewBoolVariable(ctx, \"example\", \u0026automation.BoolVariableArgs{\n\t\t\tName:                  pulumi.String(\"tfex-example-var\"),\n\t\t\tResourceGroupName:     example.Name,\n\t\t\tAutomationAccountName: exampleAccount.Name,\n\t\t\tValue:                 pulumi.Bool(false),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.automation.Account;\nimport com.pulumi.azure.automation.AccountArgs;\nimport com.pulumi.azure.automation.BoolVariable;\nimport com.pulumi.azure.automation.BoolVariableArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"tfex-example-rg\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"tfex-example-account\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .skuName(\"Basic\")\n            .build());\n\n        var exampleBoolVariable = new BoolVariable(\"exampleBoolVariable\", BoolVariableArgs.builder()\n            .name(\"tfex-example-var\")\n            .resourceGroupName(example.name())\n            .automationAccountName(exampleAccount.name())\n            .value(false)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: tfex-example-rg\n      location: West Europe\n  exampleAccount:\n    type: azure:automation:Account\n    name: example\n    properties:\n      name: tfex-example-account\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      skuName: Basic\n  exampleBoolVariable:\n    type: azure:automation:BoolVariable\n    name: example\n    properties:\n      name: tfex-example-var\n      resourceGroupName: ${example.name}\n      automationAccountName: ${exampleAccount.name}\n      value: false\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nAutomation Bool Variable can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:automation/boolVariable:BoolVariable example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tfex-example-rg/providers/Microsoft.Automation/automationAccounts/tfex-example-account/variables/tfex-example-var\n```\n\n","properties":{"automationAccountName":{"type":"string","description":"The name of the automation account in which the Variable is created. Changing this forces a new resource to be created.\n"},"description":{"type":"string","description":"The description of the Automation Variable.\n"},"encrypted":{"type":"boolean","description":"Specifies if the Automation Variable is encrypted. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"name":{"type":"string","description":"The name of the Automation Variable. Changing this forces a new resource to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the Automation Variable. Changing this forces a new resource to be created.\n"},"value":{"type":"boolean","description":"The value of the Automation Variable as a \u003cspan pulumi-lang-nodejs=\"`boolean`\" pulumi-lang-dotnet=\"`Boolean`\" pulumi-lang-go=\"`boolean`\" pulumi-lang-python=\"`boolean`\" pulumi-lang-yaml=\"`boolean`\" pulumi-lang-java=\"`boolean`\"\u003e`boolean`\u003c/span\u003e.\n"}},"required":["automationAccountName","name","resourceGroupName"],"inputProperties":{"automationAccountName":{"type":"string","description":"The name of the automation account in which the Variable is created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"description":{"type":"string","description":"The description of the Automation Variable.\n"},"encrypted":{"type":"boolean","description":"Specifies if the Automation Variable is encrypted. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"name":{"type":"string","description":"The name of the Automation Variable. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the Automation Variable. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"value":{"type":"boolean","description":"The value of the Automation Variable as a \u003cspan pulumi-lang-nodejs=\"`boolean`\" pulumi-lang-dotnet=\"`Boolean`\" pulumi-lang-go=\"`boolean`\" pulumi-lang-python=\"`boolean`\" pulumi-lang-yaml=\"`boolean`\" pulumi-lang-java=\"`boolean`\"\u003e`boolean`\u003c/span\u003e.\n"}},"requiredInputs":["automationAccountName","resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering BoolVariable resources.\n","properties":{"automationAccountName":{"type":"string","description":"The name of the automation account in which the Variable is created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"description":{"type":"string","description":"The description of the Automation Variable.\n"},"encrypted":{"type":"boolean","description":"Specifies if the Automation Variable is encrypted. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"name":{"type":"string","description":"The name of the Automation Variable. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the Automation Variable. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"value":{"type":"boolean","description":"The value of the Automation Variable as a \u003cspan pulumi-lang-nodejs=\"`boolean`\" pulumi-lang-dotnet=\"`Boolean`\" pulumi-lang-go=\"`boolean`\" pulumi-lang-python=\"`boolean`\" pulumi-lang-yaml=\"`boolean`\" pulumi-lang-java=\"`boolean`\"\u003e`boolean`\u003c/span\u003e.\n"}},"type":"object"}},"azure:automation/certificate:Certificate":{"description":"Manages an Automation Certificate.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\nimport * as std from \"@pulumi/std\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleAccount = new azure.automation.Account(\"example\", {\n    name: \"account1\",\n    location: example.location,\n    resourceGroupName: example.name,\n    skuName: \"Basic\",\n});\nconst exampleCertificate = new azure.automation.Certificate(\"example\", {\n    name: \"certificate1\",\n    resourceGroupName: example.name,\n    automationAccountName: exampleAccount.name,\n    description: \"This is an example certificate\",\n    base64: std.filebase64({\n        input: \"certificate.pfx\",\n    }).then(invoke =\u003e invoke.result),\n    exportable: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\nimport pulumi_std as std\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_account = azure.automation.Account(\"example\",\n    name=\"account1\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku_name=\"Basic\")\nexample_certificate = azure.automation.Certificate(\"example\",\n    name=\"certificate1\",\n    resource_group_name=example.name,\n    automation_account_name=example_account.name,\n    description=\"This is an example certificate\",\n    base64=std.filebase64(input=\"certificate.pfx\").result,\n    exportable=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleAccount = new Azure.Automation.Account(\"example\", new()\n    {\n        Name = \"account1\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        SkuName = \"Basic\",\n    });\n\n    var exampleCertificate = new Azure.Automation.Certificate(\"example\", new()\n    {\n        Name = \"certificate1\",\n        ResourceGroupName = example.Name,\n        AutomationAccountName = exampleAccount.Name,\n        Description = \"This is an example certificate\",\n        Base64 = Std.Filebase64.Invoke(new()\n        {\n            Input = \"certificate.pfx\",\n        }).Apply(invoke =\u003e invoke.Result),\n        Exportable = true,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/automation\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := automation.NewAccount(ctx, \"example\", \u0026automation.AccountArgs{\n\t\t\tName:              pulumi.String(\"account1\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSkuName:           pulumi.String(\"Basic\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFilebase64, err := std.Filebase64(ctx, \u0026std.Filebase64Args{\n\t\t\tInput: \"certificate.pfx\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = automation.NewCertificate(ctx, \"example\", \u0026automation.CertificateArgs{\n\t\t\tName:                  pulumi.String(\"certificate1\"),\n\t\t\tResourceGroupName:     example.Name,\n\t\t\tAutomationAccountName: exampleAccount.Name,\n\t\t\tDescription:           pulumi.String(\"This is an example certificate\"),\n\t\t\tBase64:                pulumi.String(invokeFilebase64.Result),\n\t\t\tExportable:            pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.automation.Account;\nimport com.pulumi.azure.automation.AccountArgs;\nimport com.pulumi.azure.automation.Certificate;\nimport com.pulumi.azure.automation.CertificateArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.Filebase64Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"account1\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .skuName(\"Basic\")\n            .build());\n\n        var exampleCertificate = new Certificate(\"exampleCertificate\", CertificateArgs.builder()\n            .name(\"certificate1\")\n            .resourceGroupName(example.name())\n            .automationAccountName(exampleAccount.name())\n            .description(\"This is an example certificate\")\n            .base64(StdFunctions.filebase64(Filebase64Args.builder()\n                .input(\"certificate.pfx\")\n                .build()).result())\n            .exportable(true)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleAccount:\n    type: azure:automation:Account\n    name: example\n    properties:\n      name: account1\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      skuName: Basic\n  exampleCertificate:\n    type: azure:automation:Certificate\n    name: example\n    properties:\n      name: certificate1\n      resourceGroupName: ${example.name}\n      automationAccountName: ${exampleAccount.name}\n      description: This is an example certificate\n      base64:\n        fn::invoke:\n          function: std:filebase64\n          arguments:\n            input: certificate.pfx\n          return: result\n      exportable: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Automation` - 2024-10-23\n\n## Import\n\nAutomation Certificates can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:automation/certificate:Certificate certificate1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Automation/automationAccounts/account1/certificates/certificate1\n```\n\n","properties":{"automationAccountName":{"type":"string","description":"The name of the automation account in which the Certificate is created. Changing this forces a new resource to be created.\n"},"base64":{"type":"string","description":"Base64 encoded value of the certificate. Changing this forces a new resource to be created.\n","secret":true},"description":{"type":"string","description":"The description of this Automation Certificate.\n"},"exportable":{"type":"boolean","description":"The is exportable flag of the certificate.\n"},"name":{"type":"string","description":"Specifies the name of the Certificate. Changing this forces a new resource to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the Certificate is created. Changing this forces a new resource to be created.\n"},"thumbprint":{"type":"string","description":"The thumbprint for the certificate.\n"}},"required":["automationAccountName","base64","name","resourceGroupName","thumbprint"],"inputProperties":{"automationAccountName":{"type":"string","description":"The name of the automation account in which the Certificate is created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"base64":{"type":"string","description":"Base64 encoded value of the certificate. Changing this forces a new resource to be created.\n","secret":true,"willReplaceOnChanges":true},"description":{"type":"string","description":"The description of this Automation Certificate.\n"},"exportable":{"type":"boolean","description":"The is exportable flag of the certificate.\n"},"name":{"type":"string","description":"Specifies the name of the Certificate. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the Certificate is created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["automationAccountName","base64","resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering Certificate resources.\n","properties":{"automationAccountName":{"type":"string","description":"The name of the automation account in which the Certificate is created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"base64":{"type":"string","description":"Base64 encoded value of the certificate. Changing this forces a new resource to be created.\n","secret":true,"willReplaceOnChanges":true},"description":{"type":"string","description":"The description of this Automation Certificate.\n"},"exportable":{"type":"boolean","description":"The is exportable flag of the certificate.\n"},"name":{"type":"string","description":"Specifies the name of the Certificate. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the Certificate is created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"thumbprint":{"type":"string","description":"The thumbprint for the certificate.\n"}},"type":"object"}},"azure:automation/connection:Connection":{"description":"Manages an Automation Connection.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"example\", {\n    name: \"resourceGroup-example\",\n    location: \"West Europe\",\n});\nconst example = azure.core.getClientConfig({});\nconst exampleAccount = new azure.automation.Account(\"example\", {\n    name: \"account-example\",\n    location: exampleResourceGroup.location,\n    resourceGroupName: exampleResourceGroup.name,\n    skuName: \"Basic\",\n});\nconst exampleConnection = new azure.automation.Connection(\"example\", {\n    name: \"connection-example\",\n    resourceGroupName: exampleResourceGroup.name,\n    automationAccountName: exampleAccount.name,\n    type: \"AzureServicePrincipal\",\n    values: {\n        ApplicationId: \"00000000-0000-0000-0000-000000000000\",\n        TenantId: example.then(example =\u003e example.tenantId),\n        SubscriptionId: example.then(example =\u003e example.subscriptionId),\n        CertificateThumbprint: \"sample-certificate-thumbprint\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"example\",\n    name=\"resourceGroup-example\",\n    location=\"West Europe\")\nexample = azure.core.get_client_config()\nexample_account = azure.automation.Account(\"example\",\n    name=\"account-example\",\n    location=example_resource_group.location,\n    resource_group_name=example_resource_group.name,\n    sku_name=\"Basic\")\nexample_connection = azure.automation.Connection(\"example\",\n    name=\"connection-example\",\n    resource_group_name=example_resource_group.name,\n    automation_account_name=example_account.name,\n    type=\"AzureServicePrincipal\",\n    values={\n        \"ApplicationId\": \"00000000-0000-0000-0000-000000000000\",\n        \"TenantId\": example.tenant_id,\n        \"SubscriptionId\": example.subscription_id,\n        \"CertificateThumbprint\": \"sample-certificate-thumbprint\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleResourceGroup = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"resourceGroup-example\",\n        Location = \"West Europe\",\n    });\n\n    var example = Azure.Core.GetClientConfig.Invoke();\n\n    var exampleAccount = new Azure.Automation.Account(\"example\", new()\n    {\n        Name = \"account-example\",\n        Location = exampleResourceGroup.Location,\n        ResourceGroupName = exampleResourceGroup.Name,\n        SkuName = \"Basic\",\n    });\n\n    var exampleConnection = new Azure.Automation.Connection(\"example\", new()\n    {\n        Name = \"connection-example\",\n        ResourceGroupName = exampleResourceGroup.Name,\n        AutomationAccountName = exampleAccount.Name,\n        Type = \"AzureServicePrincipal\",\n        Values = \n        {\n            { \"ApplicationId\", \"00000000-0000-0000-0000-000000000000\" },\n            { \"TenantId\", example.Apply(getClientConfigResult =\u003e getClientConfigResult.TenantId) },\n            { \"SubscriptionId\", example.Apply(getClientConfigResult =\u003e getClientConfigResult.SubscriptionId) },\n            { \"CertificateThumbprint\", \"sample-certificate-thumbprint\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/automation\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"resourceGroup-example\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := core.GetClientConfig(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := automation.NewAccount(ctx, \"example\", \u0026automation.AccountArgs{\n\t\t\tName:              pulumi.String(\"account-example\"),\n\t\t\tLocation:          exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tSkuName:           pulumi.String(\"Basic\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = automation.NewConnection(ctx, \"example\", \u0026automation.ConnectionArgs{\n\t\t\tName:                  pulumi.String(\"connection-example\"),\n\t\t\tResourceGroupName:     exampleResourceGroup.Name,\n\t\t\tAutomationAccountName: exampleAccount.Name,\n\t\t\tType:                  pulumi.String(\"AzureServicePrincipal\"),\n\t\t\tValues: pulumi.StringMap{\n\t\t\t\t\"ApplicationId\":         pulumi.String(\"00000000-0000-0000-0000-000000000000\"),\n\t\t\t\t\"TenantId\":              pulumi.String(example.TenantId),\n\t\t\t\t\"SubscriptionId\":        pulumi.String(example.SubscriptionId),\n\t\t\t\t\"CertificateThumbprint\": pulumi.String(\"sample-certificate-thumbprint\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.automation.Account;\nimport com.pulumi.azure.automation.AccountArgs;\nimport com.pulumi.azure.automation.Connection;\nimport com.pulumi.azure.automation.ConnectionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var exampleResourceGroup = new ResourceGroup(\"exampleResourceGroup\", ResourceGroupArgs.builder()\n            .name(\"resourceGroup-example\")\n            .location(\"West Europe\")\n            .build());\n\n        final var example = CoreFunctions.getClientConfig(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"account-example\")\n            .location(exampleResourceGroup.location())\n            .resourceGroupName(exampleResourceGroup.name())\n            .skuName(\"Basic\")\n            .build());\n\n        var exampleConnection = new Connection(\"exampleConnection\", ConnectionArgs.builder()\n            .name(\"connection-example\")\n            .resourceGroupName(exampleResourceGroup.name())\n            .automationAccountName(exampleAccount.name())\n            .type(\"AzureServicePrincipal\")\n            .values(Map.ofEntries(\n                Map.entry(\"ApplicationId\", \"00000000-0000-0000-0000-000000000000\"),\n                Map.entry(\"TenantId\", example.tenantId()),\n                Map.entry(\"SubscriptionId\", example.subscriptionId()),\n                Map.entry(\"CertificateThumbprint\", \"sample-certificate-thumbprint\")\n            ))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleResourceGroup:\n    type: azure:core:ResourceGroup\n    name: example\n    properties:\n      name: resourceGroup-example\n      location: West Europe\n  exampleAccount:\n    type: azure:automation:Account\n    name: example\n    properties:\n      name: account-example\n      location: ${exampleResourceGroup.location}\n      resourceGroupName: ${exampleResourceGroup.name}\n      skuName: Basic\n  exampleConnection:\n    type: azure:automation:Connection\n    name: example\n    properties:\n      name: connection-example\n      resourceGroupName: ${exampleResourceGroup.name}\n      automationAccountName: ${exampleAccount.name}\n      type: AzureServicePrincipal\n      values:\n        ApplicationId: 00000000-0000-0000-0000-000000000000\n        TenantId: ${example.tenantId}\n        SubscriptionId: ${example.subscriptionId}\n        CertificateThumbprint: sample-certificate-thumbprint\nvariables:\n  example:\n    fn::invoke:\n      function: azure:core:getClientConfig\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Automation` - 2024-10-23\n\n## Import\n\nAutomation Connection can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:automation/connection:Connection example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Automation/automationAccounts/account1/connections/conn1\n```\n\n","properties":{"automationAccountName":{"type":"string","description":"The name of the automation account in which the Connection is created. Changing this forces a new resource to be created.\n"},"description":{"type":"string","description":"A description for this Connection.\n"},"name":{"type":"string","description":"Specifies the name of the Connection. Changing this forces a new resource to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the Connection is created. Changing this forces a new resource to be created.\n"},"type":{"type":"string","description":"The type of the Connection - can be either builtin type such as `Azure`, `AzureClassicCertificate`, and `AzureServicePrincipal`, or a user defined types. Changing this forces a new resource to be created.\n"},"values":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of key value pairs passed to the connection. Different \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e needs different parameters in the \u003cspan pulumi-lang-nodejs=\"`values`\" pulumi-lang-dotnet=\"`Values`\" pulumi-lang-go=\"`values`\" pulumi-lang-python=\"`values`\" pulumi-lang-yaml=\"`values`\" pulumi-lang-java=\"`values`\"\u003e`values`\u003c/span\u003e. Builtin types have required field values as below:\n\n* `Azure`: parameters `AutomationCertificateName` and `SubscriptionID`.\n\n* `AzureClassicCertificate`: parameters `SubscriptionName`, `SubscriptionId` and `CertificateAssetName`.\n\n* `AzureServicePrincipal`: parameters `ApplicationId`, `CertificateThumbprint`, `SubscriptionId` and `TenantId`.\n"}},"required":["automationAccountName","name","resourceGroupName","type","values"],"inputProperties":{"automationAccountName":{"type":"string","description":"The name of the automation account in which the Connection is created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"description":{"type":"string","description":"A description for this Connection.\n"},"name":{"type":"string","description":"Specifies the name of the Connection. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the Connection is created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"type":{"type":"string","description":"The type of the Connection - can be either builtin type such as `Azure`, `AzureClassicCertificate`, and `AzureServicePrincipal`, or a user defined types. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"values":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of key value pairs passed to the connection. Different \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e needs different parameters in the \u003cspan pulumi-lang-nodejs=\"`values`\" pulumi-lang-dotnet=\"`Values`\" pulumi-lang-go=\"`values`\" pulumi-lang-python=\"`values`\" pulumi-lang-yaml=\"`values`\" pulumi-lang-java=\"`values`\"\u003e`values`\u003c/span\u003e. Builtin types have required field values as below:\n\n* `Azure`: parameters `AutomationCertificateName` and `SubscriptionID`.\n\n* `AzureClassicCertificate`: parameters `SubscriptionName`, `SubscriptionId` and `CertificateAssetName`.\n\n* `AzureServicePrincipal`: parameters `ApplicationId`, `CertificateThumbprint`, `SubscriptionId` and `TenantId`.\n"}},"requiredInputs":["automationAccountName","resourceGroupName","type","values"],"stateInputs":{"description":"Input properties used for looking up and filtering Connection resources.\n","properties":{"automationAccountName":{"type":"string","description":"The name of the automation account in which the Connection is created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"description":{"type":"string","description":"A description for this Connection.\n"},"name":{"type":"string","description":"Specifies the name of the Connection. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the Connection is created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"type":{"type":"string","description":"The type of the Connection - can be either builtin type such as `Azure`, `AzureClassicCertificate`, and `AzureServicePrincipal`, or a user defined types. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"values":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of key value pairs passed to the connection. Different \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e needs different parameters in the \u003cspan pulumi-lang-nodejs=\"`values`\" pulumi-lang-dotnet=\"`Values`\" pulumi-lang-go=\"`values`\" pulumi-lang-python=\"`values`\" pulumi-lang-yaml=\"`values`\" pulumi-lang-java=\"`values`\"\u003e`values`\u003c/span\u003e. Builtin types have required field values as below:\n\n* `Azure`: parameters `AutomationCertificateName` and `SubscriptionID`.\n\n* `AzureClassicCertificate`: parameters `SubscriptionName`, `SubscriptionId` and `CertificateAssetName`.\n\n* `AzureServicePrincipal`: parameters `ApplicationId`, `CertificateThumbprint`, `SubscriptionId` and `TenantId`.\n"}},"type":"object"}},"azure:automation/connectionCertificate:ConnectionCertificate":{"description":"Manages an Automation Connection with type `Azure`.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\nimport * as std from \"@pulumi/std\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"example\", {\n    name: \"resourceGroup-example\",\n    location: \"West Europe\",\n});\nconst example = azure.core.getClientConfig({});\nconst exampleAccount = new azure.automation.Account(\"example\", {\n    name: \"account-example\",\n    location: exampleResourceGroup.location,\n    resourceGroupName: exampleResourceGroup.name,\n    skuName: \"Basic\",\n});\nconst exampleCertificate = new azure.automation.Certificate(\"example\", {\n    name: \"certificate-example\",\n    resourceGroupName: exampleResourceGroup.name,\n    automationAccountName: exampleAccount.name,\n    base64: std.filebase64({\n        input: \"certificate.pfx\",\n    }).then(invoke =\u003e invoke.result),\n});\nconst exampleConnectionCertificate = new azure.automation.ConnectionCertificate(\"example\", {\n    name: \"connection-example\",\n    resourceGroupName: exampleResourceGroup.name,\n    automationAccountName: exampleAccount.name,\n    automationCertificateName: exampleCertificate.name,\n    subscriptionId: example.then(example =\u003e example.subscriptionId),\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\nimport pulumi_std as std\n\nexample_resource_group = azure.core.ResourceGroup(\"example\",\n    name=\"resourceGroup-example\",\n    location=\"West Europe\")\nexample = azure.core.get_client_config()\nexample_account = azure.automation.Account(\"example\",\n    name=\"account-example\",\n    location=example_resource_group.location,\n    resource_group_name=example_resource_group.name,\n    sku_name=\"Basic\")\nexample_certificate = azure.automation.Certificate(\"example\",\n    name=\"certificate-example\",\n    resource_group_name=example_resource_group.name,\n    automation_account_name=example_account.name,\n    base64=std.filebase64(input=\"certificate.pfx\").result)\nexample_connection_certificate = azure.automation.ConnectionCertificate(\"example\",\n    name=\"connection-example\",\n    resource_group_name=example_resource_group.name,\n    automation_account_name=example_account.name,\n    automation_certificate_name=example_certificate.name,\n    subscription_id=example.subscription_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleResourceGroup = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"resourceGroup-example\",\n        Location = \"West Europe\",\n    });\n\n    var example = Azure.Core.GetClientConfig.Invoke();\n\n    var exampleAccount = new Azure.Automation.Account(\"example\", new()\n    {\n        Name = \"account-example\",\n        Location = exampleResourceGroup.Location,\n        ResourceGroupName = exampleResourceGroup.Name,\n        SkuName = \"Basic\",\n    });\n\n    var exampleCertificate = new Azure.Automation.Certificate(\"example\", new()\n    {\n        Name = \"certificate-example\",\n        ResourceGroupName = exampleResourceGroup.Name,\n        AutomationAccountName = exampleAccount.Name,\n        Base64 = Std.Filebase64.Invoke(new()\n        {\n            Input = \"certificate.pfx\",\n        }).Apply(invoke =\u003e invoke.Result),\n    });\n\n    var exampleConnectionCertificate = new Azure.Automation.ConnectionCertificate(\"example\", new()\n    {\n        Name = \"connection-example\",\n        ResourceGroupName = exampleResourceGroup.Name,\n        AutomationAccountName = exampleAccount.Name,\n        AutomationCertificateName = exampleCertificate.Name,\n        SubscriptionId = example.Apply(getClientConfigResult =\u003e getClientConfigResult.SubscriptionId),\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/automation\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"resourceGroup-example\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := core.GetClientConfig(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := automation.NewAccount(ctx, \"example\", \u0026automation.AccountArgs{\n\t\t\tName:              pulumi.String(\"account-example\"),\n\t\t\tLocation:          exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tSkuName:           pulumi.String(\"Basic\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFilebase64, err := std.Filebase64(ctx, \u0026std.Filebase64Args{\n\t\t\tInput: \"certificate.pfx\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleCertificate, err := automation.NewCertificate(ctx, \"example\", \u0026automation.CertificateArgs{\n\t\t\tName:                  pulumi.String(\"certificate-example\"),\n\t\t\tResourceGroupName:     exampleResourceGroup.Name,\n\t\t\tAutomationAccountName: exampleAccount.Name,\n\t\t\tBase64:                pulumi.String(invokeFilebase64.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = automation.NewConnectionCertificate(ctx, \"example\", \u0026automation.ConnectionCertificateArgs{\n\t\t\tName:                      pulumi.String(\"connection-example\"),\n\t\t\tResourceGroupName:         exampleResourceGroup.Name,\n\t\t\tAutomationAccountName:     exampleAccount.Name,\n\t\t\tAutomationCertificateName: exampleCertificate.Name,\n\t\t\tSubscriptionId:            pulumi.String(example.SubscriptionId),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.automation.Account;\nimport com.pulumi.azure.automation.AccountArgs;\nimport com.pulumi.azure.automation.Certificate;\nimport com.pulumi.azure.automation.CertificateArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.Filebase64Args;\nimport com.pulumi.azure.automation.ConnectionCertificate;\nimport com.pulumi.azure.automation.ConnectionCertificateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var exampleResourceGroup = new ResourceGroup(\"exampleResourceGroup\", ResourceGroupArgs.builder()\n            .name(\"resourceGroup-example\")\n            .location(\"West Europe\")\n            .build());\n\n        final var example = CoreFunctions.getClientConfig(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"account-example\")\n            .location(exampleResourceGroup.location())\n            .resourceGroupName(exampleResourceGroup.name())\n            .skuName(\"Basic\")\n            .build());\n\n        var exampleCertificate = new Certificate(\"exampleCertificate\", CertificateArgs.builder()\n            .name(\"certificate-example\")\n            .resourceGroupName(exampleResourceGroup.name())\n            .automationAccountName(exampleAccount.name())\n            .base64(StdFunctions.filebase64(Filebase64Args.builder()\n                .input(\"certificate.pfx\")\n                .build()).result())\n            .build());\n\n        var exampleConnectionCertificate = new ConnectionCertificate(\"exampleConnectionCertificate\", ConnectionCertificateArgs.builder()\n            .name(\"connection-example\")\n            .resourceGroupName(exampleResourceGroup.name())\n            .automationAccountName(exampleAccount.name())\n            .automationCertificateName(exampleCertificate.name())\n            .subscriptionId(example.subscriptionId())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleResourceGroup:\n    type: azure:core:ResourceGroup\n    name: example\n    properties:\n      name: resourceGroup-example\n      location: West Europe\n  exampleAccount:\n    type: azure:automation:Account\n    name: example\n    properties:\n      name: account-example\n      location: ${exampleResourceGroup.location}\n      resourceGroupName: ${exampleResourceGroup.name}\n      skuName: Basic\n  exampleCertificate:\n    type: azure:automation:Certificate\n    name: example\n    properties:\n      name: certificate-example\n      resourceGroupName: ${exampleResourceGroup.name}\n      automationAccountName: ${exampleAccount.name}\n      base64:\n        fn::invoke:\n          function: std:filebase64\n          arguments:\n            input: certificate.pfx\n          return: result\n  exampleConnectionCertificate:\n    type: azure:automation:ConnectionCertificate\n    name: example\n    properties:\n      name: connection-example\n      resourceGroupName: ${exampleResourceGroup.name}\n      automationAccountName: ${exampleAccount.name}\n      automationCertificateName: ${exampleCertificate.name}\n      subscriptionId: ${example.subscriptionId}\nvariables:\n  example:\n    fn::invoke:\n      function: azure:core:getClientConfig\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Automation` - 2024-10-23\n\n## Import\n\nAutomation Connection can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:automation/connectionCertificate:ConnectionCertificate example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Automation/automationAccounts/account1/connections/conn1\n```\n\n","properties":{"automationAccountName":{"type":"string","description":"The name of the automation account in which the Connection is created. Changing this forces a new resource to be created.\n"},"automationCertificateName":{"type":"string","description":"The name of the automation certificate.\n"},"description":{"type":"string","description":"A description for this Connection.\n"},"name":{"type":"string","description":"Specifies the name of the Connection. Changing this forces a new resource to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the Connection is created. Changing this forces a new resource to be created.\n"},"subscriptionId":{"type":"string","description":"The id of subscription where the automation certificate exists.\n"}},"required":["automationAccountName","automationCertificateName","name","resourceGroupName","subscriptionId"],"inputProperties":{"automationAccountName":{"type":"string","description":"The name of the automation account in which the Connection is created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"automationCertificateName":{"type":"string","description":"The name of the automation certificate.\n"},"description":{"type":"string","description":"A description for this Connection.\n"},"name":{"type":"string","description":"Specifies the name of the Connection. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the Connection is created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"subscriptionId":{"type":"string","description":"The id of subscription where the automation certificate exists.\n"}},"requiredInputs":["automationAccountName","automationCertificateName","resourceGroupName","subscriptionId"],"stateInputs":{"description":"Input properties used for looking up and filtering ConnectionCertificate resources.\n","properties":{"automationAccountName":{"type":"string","description":"The name of the automation account in which the Connection is created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"automationCertificateName":{"type":"string","description":"The name of the automation certificate.\n"},"description":{"type":"string","description":"A description for this Connection.\n"},"name":{"type":"string","description":"Specifies the name of the Connection. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the Connection is created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"subscriptionId":{"type":"string","description":"The id of subscription where the automation certificate exists.\n"}},"type":"object"}},"azure:automation/connectionClassicCertificate:ConnectionClassicCertificate":{"description":"Manages an Automation Connection with type `AzureClassicCertificate`.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"example\", {\n    name: \"resourceGroup-example\",\n    location: \"West Europe\",\n});\nconst example = azure.core.getClientConfig({});\nconst exampleAccount = new azure.automation.Account(\"example\", {\n    name: \"account-example\",\n    location: exampleResourceGroup.location,\n    resourceGroupName: exampleResourceGroup.name,\n    skuName: \"Basic\",\n});\nconst exampleConnectionClassicCertificate = new azure.automation.ConnectionClassicCertificate(\"example\", {\n    name: \"connection-example\",\n    resourceGroupName: exampleResourceGroup.name,\n    automationAccountName: exampleAccount.name,\n    certificateAssetName: \"cert1\",\n    subscriptionName: \"subs1\",\n    subscriptionId: example.then(example =\u003e example.subscriptionId),\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"example\",\n    name=\"resourceGroup-example\",\n    location=\"West Europe\")\nexample = azure.core.get_client_config()\nexample_account = azure.automation.Account(\"example\",\n    name=\"account-example\",\n    location=example_resource_group.location,\n    resource_group_name=example_resource_group.name,\n    sku_name=\"Basic\")\nexample_connection_classic_certificate = azure.automation.ConnectionClassicCertificate(\"example\",\n    name=\"connection-example\",\n    resource_group_name=example_resource_group.name,\n    automation_account_name=example_account.name,\n    certificate_asset_name=\"cert1\",\n    subscription_name=\"subs1\",\n    subscription_id=example.subscription_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleResourceGroup = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"resourceGroup-example\",\n        Location = \"West Europe\",\n    });\n\n    var example = Azure.Core.GetClientConfig.Invoke();\n\n    var exampleAccount = new Azure.Automation.Account(\"example\", new()\n    {\n        Name = \"account-example\",\n        Location = exampleResourceGroup.Location,\n        ResourceGroupName = exampleResourceGroup.Name,\n        SkuName = \"Basic\",\n    });\n\n    var exampleConnectionClassicCertificate = new Azure.Automation.ConnectionClassicCertificate(\"example\", new()\n    {\n        Name = \"connection-example\",\n        ResourceGroupName = exampleResourceGroup.Name,\n        AutomationAccountName = exampleAccount.Name,\n        CertificateAssetName = \"cert1\",\n        SubscriptionName = \"subs1\",\n        SubscriptionId = example.Apply(getClientConfigResult =\u003e getClientConfigResult.SubscriptionId),\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/automation\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"resourceGroup-example\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := core.GetClientConfig(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := automation.NewAccount(ctx, \"example\", \u0026automation.AccountArgs{\n\t\t\tName:              pulumi.String(\"account-example\"),\n\t\t\tLocation:          exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tSkuName:           pulumi.String(\"Basic\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = automation.NewConnectionClassicCertificate(ctx, \"example\", \u0026automation.ConnectionClassicCertificateArgs{\n\t\t\tName:                  pulumi.String(\"connection-example\"),\n\t\t\tResourceGroupName:     exampleResourceGroup.Name,\n\t\t\tAutomationAccountName: exampleAccount.Name,\n\t\t\tCertificateAssetName:  pulumi.String(\"cert1\"),\n\t\t\tSubscriptionName:      pulumi.String(\"subs1\"),\n\t\t\tSubscriptionId:        pulumi.String(example.SubscriptionId),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.automation.Account;\nimport com.pulumi.azure.automation.AccountArgs;\nimport com.pulumi.azure.automation.ConnectionClassicCertificate;\nimport com.pulumi.azure.automation.ConnectionClassicCertificateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var exampleResourceGroup = new ResourceGroup(\"exampleResourceGroup\", ResourceGroupArgs.builder()\n            .name(\"resourceGroup-example\")\n            .location(\"West Europe\")\n            .build());\n\n        final var example = CoreFunctions.getClientConfig(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"account-example\")\n            .location(exampleResourceGroup.location())\n            .resourceGroupName(exampleResourceGroup.name())\n            .skuName(\"Basic\")\n            .build());\n\n        var exampleConnectionClassicCertificate = new ConnectionClassicCertificate(\"exampleConnectionClassicCertificate\", ConnectionClassicCertificateArgs.builder()\n            .name(\"connection-example\")\n            .resourceGroupName(exampleResourceGroup.name())\n            .automationAccountName(exampleAccount.name())\n            .certificateAssetName(\"cert1\")\n            .subscriptionName(\"subs1\")\n            .subscriptionId(example.subscriptionId())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleResourceGroup:\n    type: azure:core:ResourceGroup\n    name: example\n    properties:\n      name: resourceGroup-example\n      location: West Europe\n  exampleAccount:\n    type: azure:automation:Account\n    name: example\n    properties:\n      name: account-example\n      location: ${exampleResourceGroup.location}\n      resourceGroupName: ${exampleResourceGroup.name}\n      skuName: Basic\n  exampleConnectionClassicCertificate:\n    type: azure:automation:ConnectionClassicCertificate\n    name: example\n    properties:\n      name: connection-example\n      resourceGroupName: ${exampleResourceGroup.name}\n      automationAccountName: ${exampleAccount.name}\n      certificateAssetName: cert1\n      subscriptionName: subs1\n      subscriptionId: ${example.subscriptionId}\nvariables:\n  example:\n    fn::invoke:\n      function: azure:core:getClientConfig\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Automation` - 2024-10-23\n\n## Import\n\nAutomation Connection can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:automation/connectionClassicCertificate:ConnectionClassicCertificate conn1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Automation/automationAccounts/account1/connections/conn1\n```\n\n","properties":{"automationAccountName":{"type":"string","description":"The name of the automation account in which the Connection is created. Changing this forces a new resource to be created.\n"},"certificateAssetName":{"type":"string","description":"The name of the certificate asset.\n"},"description":{"type":"string","description":"A description for this Connection.\n"},"name":{"type":"string","description":"Specifies the name of the Connection. Changing this forces a new resource to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the Connection is created. Changing this forces a new resource to be created.\n"},"subscriptionId":{"type":"string","description":"The id of subscription.\n"},"subscriptionName":{"type":"string","description":"The name of subscription.\n"}},"required":["automationAccountName","certificateAssetName","name","resourceGroupName","subscriptionId","subscriptionName"],"inputProperties":{"automationAccountName":{"type":"string","description":"The name of the automation account in which the Connection is created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"certificateAssetName":{"type":"string","description":"The name of the certificate asset.\n"},"description":{"type":"string","description":"A description for this Connection.\n"},"name":{"type":"string","description":"Specifies the name of the Connection. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the Connection is created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"subscriptionId":{"type":"string","description":"The id of subscription.\n"},"subscriptionName":{"type":"string","description":"The name of subscription.\n"}},"requiredInputs":["automationAccountName","certificateAssetName","resourceGroupName","subscriptionId","subscriptionName"],"stateInputs":{"description":"Input properties used for looking up and filtering ConnectionClassicCertificate resources.\n","properties":{"automationAccountName":{"type":"string","description":"The name of the automation account in which the Connection is created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"certificateAssetName":{"type":"string","description":"The name of the certificate asset.\n"},"description":{"type":"string","description":"A description for this Connection.\n"},"name":{"type":"string","description":"Specifies the name of the Connection. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the Connection is created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"subscriptionId":{"type":"string","description":"The id of subscription.\n"},"subscriptionName":{"type":"string","description":"The name of subscription.\n"}},"type":"object"}},"azure:automation/connectionServicePrincipal:ConnectionServicePrincipal":{"description":"Manages an Automation Connection with type `AzureServicePrincipal`.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\nimport * as std from \"@pulumi/std\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"example\", {\n    name: \"resourceGroup-example\",\n    location: \"West Europe\",\n});\nconst example = azure.core.getClientConfig({});\nconst exampleAccount = new azure.automation.Account(\"example\", {\n    name: \"account-example\",\n    location: exampleResourceGroup.location,\n    resourceGroupName: exampleResourceGroup.name,\n    skuName: \"Basic\",\n});\nconst exampleConnectionServicePrincipal = new azure.automation.ConnectionServicePrincipal(\"example\", {\n    name: \"connection-example\",\n    resourceGroupName: exampleResourceGroup.name,\n    automationAccountName: exampleAccount.name,\n    applicationId: \"00000000-0000-0000-0000-000000000000\",\n    tenantId: example.then(example =\u003e example.tenantId),\n    subscriptionId: example.then(example =\u003e example.subscriptionId),\n    certificateThumbprint: std.file({\n        input: \"automation_certificate_test.thumb\",\n    }).then(invoke =\u003e invoke.result),\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\nimport pulumi_std as std\n\nexample_resource_group = azure.core.ResourceGroup(\"example\",\n    name=\"resourceGroup-example\",\n    location=\"West Europe\")\nexample = azure.core.get_client_config()\nexample_account = azure.automation.Account(\"example\",\n    name=\"account-example\",\n    location=example_resource_group.location,\n    resource_group_name=example_resource_group.name,\n    sku_name=\"Basic\")\nexample_connection_service_principal = azure.automation.ConnectionServicePrincipal(\"example\",\n    name=\"connection-example\",\n    resource_group_name=example_resource_group.name,\n    automation_account_name=example_account.name,\n    application_id=\"00000000-0000-0000-0000-000000000000\",\n    tenant_id=example.tenant_id,\n    subscription_id=example.subscription_id,\n    certificate_thumbprint=std.file(input=\"automation_certificate_test.thumb\").result)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleResourceGroup = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"resourceGroup-example\",\n        Location = \"West Europe\",\n    });\n\n    var example = Azure.Core.GetClientConfig.Invoke();\n\n    var exampleAccount = new Azure.Automation.Account(\"example\", new()\n    {\n        Name = \"account-example\",\n        Location = exampleResourceGroup.Location,\n        ResourceGroupName = exampleResourceGroup.Name,\n        SkuName = \"Basic\",\n    });\n\n    var exampleConnectionServicePrincipal = new Azure.Automation.ConnectionServicePrincipal(\"example\", new()\n    {\n        Name = \"connection-example\",\n        ResourceGroupName = exampleResourceGroup.Name,\n        AutomationAccountName = exampleAccount.Name,\n        ApplicationId = \"00000000-0000-0000-0000-000000000000\",\n        TenantId = example.Apply(getClientConfigResult =\u003e getClientConfigResult.TenantId),\n        SubscriptionId = example.Apply(getClientConfigResult =\u003e getClientConfigResult.SubscriptionId),\n        CertificateThumbprint = Std.File.Invoke(new()\n        {\n            Input = \"automation_certificate_test.thumb\",\n        }).Apply(invoke =\u003e invoke.Result),\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/automation\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"resourceGroup-example\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := core.GetClientConfig(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := automation.NewAccount(ctx, \"example\", \u0026automation.AccountArgs{\n\t\t\tName:              pulumi.String(\"account-example\"),\n\t\t\tLocation:          exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tSkuName:           pulumi.String(\"Basic\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"automation_certificate_test.thumb\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = automation.NewConnectionServicePrincipal(ctx, \"example\", \u0026automation.ConnectionServicePrincipalArgs{\n\t\t\tName:                  pulumi.String(\"connection-example\"),\n\t\t\tResourceGroupName:     exampleResourceGroup.Name,\n\t\t\tAutomationAccountName: exampleAccount.Name,\n\t\t\tApplicationId:         pulumi.String(\"00000000-0000-0000-0000-000000000000\"),\n\t\t\tTenantId:              pulumi.String(example.TenantId),\n\t\t\tSubscriptionId:        pulumi.String(example.SubscriptionId),\n\t\t\tCertificateThumbprint: pulumi.String(invokeFile.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.automation.Account;\nimport com.pulumi.azure.automation.AccountArgs;\nimport com.pulumi.azure.automation.ConnectionServicePrincipal;\nimport com.pulumi.azure.automation.ConnectionServicePrincipalArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.FileArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var exampleResourceGroup = new ResourceGroup(\"exampleResourceGroup\", ResourceGroupArgs.builder()\n            .name(\"resourceGroup-example\")\n            .location(\"West Europe\")\n            .build());\n\n        final var example = CoreFunctions.getClientConfig(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"account-example\")\n            .location(exampleResourceGroup.location())\n            .resourceGroupName(exampleResourceGroup.name())\n            .skuName(\"Basic\")\n            .build());\n\n        var exampleConnectionServicePrincipal = new ConnectionServicePrincipal(\"exampleConnectionServicePrincipal\", ConnectionServicePrincipalArgs.builder()\n            .name(\"connection-example\")\n            .resourceGroupName(exampleResourceGroup.name())\n            .automationAccountName(exampleAccount.name())\n            .applicationId(\"00000000-0000-0000-0000-000000000000\")\n            .tenantId(example.tenantId())\n            .subscriptionId(example.subscriptionId())\n            .certificateThumbprint(StdFunctions.file(FileArgs.builder()\n                .input(\"automation_certificate_test.thumb\")\n                .build()).result())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleResourceGroup:\n    type: azure:core:ResourceGroup\n    name: example\n    properties:\n      name: resourceGroup-example\n      location: West Europe\n  exampleAccount:\n    type: azure:automation:Account\n    name: example\n    properties:\n      name: account-example\n      location: ${exampleResourceGroup.location}\n      resourceGroupName: ${exampleResourceGroup.name}\n      skuName: Basic\n  exampleConnectionServicePrincipal:\n    type: azure:automation:ConnectionServicePrincipal\n    name: example\n    properties:\n      name: connection-example\n      resourceGroupName: ${exampleResourceGroup.name}\n      automationAccountName: ${exampleAccount.name}\n      applicationId: 00000000-0000-0000-0000-000000000000\n      tenantId: ${example.tenantId}\n      subscriptionId: ${example.subscriptionId}\n      certificateThumbprint:\n        fn::invoke:\n          function: std:file\n          arguments:\n            input: automation_certificate_test.thumb\n          return: result\nvariables:\n  example:\n    fn::invoke:\n      function: azure:core:getClientConfig\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Automation` - 2024-10-23\n\n## Import\n\nAutomation Connection can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:automation/connectionServicePrincipal:ConnectionServicePrincipal conn1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Automation/automationAccounts/account1/connections/conn1\n```\n\n","properties":{"applicationId":{"type":"string","description":"The (Client) ID of the Service Principal.\n"},"automationAccountName":{"type":"string","description":"The name of the automation account in which the Connection is created. Changing this forces a new resource to be created.\n"},"certificateThumbprint":{"type":"string","description":"The thumbprint of the Service Principal Certificate.\n"},"description":{"type":"string","description":"A description for this Connection.\n"},"name":{"type":"string","description":"Specifies the name of the Connection. Changing this forces a new resource to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the Connection is created. Changing this forces a new resource to be created.\n"},"subscriptionId":{"type":"string","description":"The subscription GUID.\n"},"tenantId":{"type":"string","description":"The ID of the Tenant the Service Principal is assigned in.\n"}},"required":["applicationId","automationAccountName","certificateThumbprint","name","resourceGroupName","subscriptionId","tenantId"],"inputProperties":{"applicationId":{"type":"string","description":"The (Client) ID of the Service Principal.\n"},"automationAccountName":{"type":"string","description":"The name of the automation account in which the Connection is created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"certificateThumbprint":{"type":"string","description":"The thumbprint of the Service Principal Certificate.\n"},"description":{"type":"string","description":"A description for this Connection.\n"},"name":{"type":"string","description":"Specifies the name of the Connection. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the Connection is created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"subscriptionId":{"type":"string","description":"The subscription GUID.\n"},"tenantId":{"type":"string","description":"The ID of the Tenant the Service Principal is assigned in.\n"}},"requiredInputs":["applicationId","automationAccountName","certificateThumbprint","resourceGroupName","subscriptionId","tenantId"],"stateInputs":{"description":"Input properties used for looking up and filtering ConnectionServicePrincipal resources.\n","properties":{"applicationId":{"type":"string","description":"The (Client) ID of the Service Principal.\n"},"automationAccountName":{"type":"string","description":"The name of the automation account in which the Connection is created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"certificateThumbprint":{"type":"string","description":"The thumbprint of the Service Principal Certificate.\n"},"description":{"type":"string","description":"A description for this Connection.\n"},"name":{"type":"string","description":"Specifies the name of the Connection. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the Connection is created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"subscriptionId":{"type":"string","description":"The subscription GUID.\n"},"tenantId":{"type":"string","description":"The ID of the Tenant the Service Principal is assigned in.\n"}},"type":"object"}},"azure:automation/connectionType:ConnectionType":{"description":"Manages anAutomation Connection Type.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"example\", {\n    name: \"resourceGroup-example\",\n    location: \"West Europe\",\n});\nconst example = azure.core.getClientConfig({});\nconst exampleAccount = new azure.automation.Account(\"example\", {\n    name: \"account-example\",\n    location: exampleResourceGroup.location,\n    resourceGroupName: exampleResourceGroup.name,\n    skuName: \"Basic\",\n});\nconst exampleConnectionType = new azure.automation.ConnectionType(\"example\", {\n    name: \"example\",\n    resourceGroupName: exampleResourceGroup.name,\n    automationAccountName: exampleAccount.name,\n    fields: [{\n        name: \"example\",\n        type: \"string\",\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"example\",\n    name=\"resourceGroup-example\",\n    location=\"West Europe\")\nexample = azure.core.get_client_config()\nexample_account = azure.automation.Account(\"example\",\n    name=\"account-example\",\n    location=example_resource_group.location,\n    resource_group_name=example_resource_group.name,\n    sku_name=\"Basic\")\nexample_connection_type = azure.automation.ConnectionType(\"example\",\n    name=\"example\",\n    resource_group_name=example_resource_group.name,\n    automation_account_name=example_account.name,\n    fields=[{\n        \"name\": \"example\",\n        \"type\": \"string\",\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleResourceGroup = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"resourceGroup-example\",\n        Location = \"West Europe\",\n    });\n\n    var example = Azure.Core.GetClientConfig.Invoke();\n\n    var exampleAccount = new Azure.Automation.Account(\"example\", new()\n    {\n        Name = \"account-example\",\n        Location = exampleResourceGroup.Location,\n        ResourceGroupName = exampleResourceGroup.Name,\n        SkuName = \"Basic\",\n    });\n\n    var exampleConnectionType = new Azure.Automation.ConnectionType(\"example\", new()\n    {\n        Name = \"example\",\n        ResourceGroupName = exampleResourceGroup.Name,\n        AutomationAccountName = exampleAccount.Name,\n        Fields = new[]\n        {\n            new Azure.Automation.Inputs.ConnectionTypeFieldArgs\n            {\n                Name = \"example\",\n                Type = \"string\",\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/automation\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"resourceGroup-example\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = core.GetClientConfig(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := automation.NewAccount(ctx, \"example\", \u0026automation.AccountArgs{\n\t\t\tName:              pulumi.String(\"account-example\"),\n\t\t\tLocation:          exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tSkuName:           pulumi.String(\"Basic\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = automation.NewConnectionType(ctx, \"example\", \u0026automation.ConnectionTypeArgs{\n\t\t\tName:                  pulumi.String(\"example\"),\n\t\t\tResourceGroupName:     exampleResourceGroup.Name,\n\t\t\tAutomationAccountName: exampleAccount.Name,\n\t\t\tFields: automation.ConnectionTypeFieldArray{\n\t\t\t\t\u0026automation.ConnectionTypeFieldArgs{\n\t\t\t\t\tName: pulumi.String(\"example\"),\n\t\t\t\t\tType: pulumi.String(\"string\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.automation.Account;\nimport com.pulumi.azure.automation.AccountArgs;\nimport com.pulumi.azure.automation.ConnectionType;\nimport com.pulumi.azure.automation.ConnectionTypeArgs;\nimport com.pulumi.azure.automation.inputs.ConnectionTypeFieldArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var exampleResourceGroup = new ResourceGroup(\"exampleResourceGroup\", ResourceGroupArgs.builder()\n            .name(\"resourceGroup-example\")\n            .location(\"West Europe\")\n            .build());\n\n        final var example = CoreFunctions.getClientConfig(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"account-example\")\n            .location(exampleResourceGroup.location())\n            .resourceGroupName(exampleResourceGroup.name())\n            .skuName(\"Basic\")\n            .build());\n\n        var exampleConnectionType = new ConnectionType(\"exampleConnectionType\", ConnectionTypeArgs.builder()\n            .name(\"example\")\n            .resourceGroupName(exampleResourceGroup.name())\n            .automationAccountName(exampleAccount.name())\n            .fields(ConnectionTypeFieldArgs.builder()\n                .name(\"example\")\n                .type(\"string\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleResourceGroup:\n    type: azure:core:ResourceGroup\n    name: example\n    properties:\n      name: resourceGroup-example\n      location: West Europe\n  exampleAccount:\n    type: azure:automation:Account\n    name: example\n    properties:\n      name: account-example\n      location: ${exampleResourceGroup.location}\n      resourceGroupName: ${exampleResourceGroup.name}\n      skuName: Basic\n  exampleConnectionType:\n    type: azure:automation:ConnectionType\n    name: example\n    properties:\n      name: example\n      resourceGroupName: ${exampleResourceGroup.name}\n      automationAccountName: ${exampleAccount.name}\n      fields:\n        - name: example\n          type: string\nvariables:\n  example:\n    fn::invoke:\n      function: azure:core:getClientConfig\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Automation` - 2024-10-23\n\n## Import\n\nAutomations can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:automation/connectionType:ConnectionType example /subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/group1/providers/Microsoft.Automation/automationAccounts/account1/connectionTypes/type1\n```\n\n","properties":{"automationAccountName":{"type":"string","description":"The name of the automation account in which the Connection is created. Changing this forces a new resource to be created.\n"},"fields":{"type":"array","items":{"$ref":"#/types/azure:automation/ConnectionTypeField:ConnectionTypeField"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`field`\" pulumi-lang-dotnet=\"`Field`\" pulumi-lang-go=\"`field`\" pulumi-lang-python=\"`field`\" pulumi-lang-yaml=\"`field`\" pulumi-lang-java=\"`field`\"\u003e`field`\u003c/span\u003e blocks as defined below. Changing this forces a new Automation to be created.\n"},"isGlobal":{"type":"boolean","description":"Whether the connection type is global. Changing this forces a new Automation to be created.\n"},"name":{"type":"string","description":"The name which should be used for this Automation Connection Type. Changing this forces a new Automation to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Automation should exist. Changing this forces a new Automation to be created.\n"}},"required":["automationAccountName","fields","name","resourceGroupName"],"inputProperties":{"automationAccountName":{"type":"string","description":"The name of the automation account in which the Connection is created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"fields":{"type":"array","items":{"$ref":"#/types/azure:automation/ConnectionTypeField:ConnectionTypeField"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`field`\" pulumi-lang-dotnet=\"`Field`\" pulumi-lang-go=\"`field`\" pulumi-lang-python=\"`field`\" pulumi-lang-yaml=\"`field`\" pulumi-lang-java=\"`field`\"\u003e`field`\u003c/span\u003e blocks as defined below. Changing this forces a new Automation to be created.\n","willReplaceOnChanges":true},"isGlobal":{"type":"boolean","description":"Whether the connection type is global. Changing this forces a new Automation to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Automation Connection Type. Changing this forces a new Automation to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Automation should exist. Changing this forces a new Automation to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["automationAccountName","fields","resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering ConnectionType resources.\n","properties":{"automationAccountName":{"type":"string","description":"The name of the automation account in which the Connection is created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"fields":{"type":"array","items":{"$ref":"#/types/azure:automation/ConnectionTypeField:ConnectionTypeField"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`field`\" pulumi-lang-dotnet=\"`Field`\" pulumi-lang-go=\"`field`\" pulumi-lang-python=\"`field`\" pulumi-lang-yaml=\"`field`\" pulumi-lang-java=\"`field`\"\u003e`field`\u003c/span\u003e blocks as defined below. Changing this forces a new Automation to be created.\n","willReplaceOnChanges":true},"isGlobal":{"type":"boolean","description":"Whether the connection type is global. Changing this forces a new Automation to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Automation Connection Type. Changing this forces a new Automation to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Automation should exist. Changing this forces a new Automation to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:automation/credential:Credential":{"description":"Manages a Automation Credential.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleAccount = new azure.automation.Account(\"example\", {\n    name: \"account1\",\n    location: example.location,\n    resourceGroupName: example.name,\n    skuName: \"Basic\",\n});\nconst exampleCredential = new azure.automation.Credential(\"example\", {\n    name: \"credential1\",\n    resourceGroupName: example.name,\n    automationAccountName: exampleAccount.name,\n    username: \"example_user\",\n    password: \"example_pwd\",\n    description: \"This is an example credential\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_account = azure.automation.Account(\"example\",\n    name=\"account1\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku_name=\"Basic\")\nexample_credential = azure.automation.Credential(\"example\",\n    name=\"credential1\",\n    resource_group_name=example.name,\n    automation_account_name=example_account.name,\n    username=\"example_user\",\n    password=\"example_pwd\",\n    description=\"This is an example credential\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleAccount = new Azure.Automation.Account(\"example\", new()\n    {\n        Name = \"account1\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        SkuName = \"Basic\",\n    });\n\n    var exampleCredential = new Azure.Automation.Credential(\"example\", new()\n    {\n        Name = \"credential1\",\n        ResourceGroupName = example.Name,\n        AutomationAccountName = exampleAccount.Name,\n        Username = \"example_user\",\n        Password = \"example_pwd\",\n        Description = \"This is an example credential\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/automation\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := automation.NewAccount(ctx, \"example\", \u0026automation.AccountArgs{\n\t\t\tName:              pulumi.String(\"account1\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSkuName:           pulumi.String(\"Basic\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = automation.NewCredential(ctx, \"example\", \u0026automation.CredentialArgs{\n\t\t\tName:                  pulumi.String(\"credential1\"),\n\t\t\tResourceGroupName:     example.Name,\n\t\t\tAutomationAccountName: exampleAccount.Name,\n\t\t\tUsername:              pulumi.String(\"example_user\"),\n\t\t\tPassword:              pulumi.String(\"example_pwd\"),\n\t\t\tDescription:           pulumi.String(\"This is an example credential\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.automation.Account;\nimport com.pulumi.azure.automation.AccountArgs;\nimport com.pulumi.azure.automation.Credential;\nimport com.pulumi.azure.automation.CredentialArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"account1\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .skuName(\"Basic\")\n            .build());\n\n        var exampleCredential = new Credential(\"exampleCredential\", CredentialArgs.builder()\n            .name(\"credential1\")\n            .resourceGroupName(example.name())\n            .automationAccountName(exampleAccount.name())\n            .username(\"example_user\")\n            .password(\"example_pwd\")\n            .description(\"This is an example credential\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleAccount:\n    type: azure:automation:Account\n    name: example\n    properties:\n      name: account1\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      skuName: Basic\n  exampleCredential:\n    type: azure:automation:Credential\n    name: example\n    properties:\n      name: credential1\n      resourceGroupName: ${example.name}\n      automationAccountName: ${exampleAccount.name}\n      username: example_user\n      password: example_pwd\n      description: This is an example credential\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Automation` - 2024-10-23\n\n## Import\n\nAutomation Credentials can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:automation/credential:Credential credential1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Automation/automationAccounts/account1/credentials/credential1\n```\n\n","properties":{"automationAccountName":{"type":"string","description":"The name of the automation account in which the Credential is created. Changing this forces a new resource to be created.\n"},"description":{"type":"string","description":"The description associated with this Automation Credential.\n"},"name":{"type":"string","description":"Specifies the name of the Credential. Changing this forces a new resource to be created.\n"},"password":{"type":"string","description":"The password associated with this Automation Credential.\n","secret":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the Credential is created. Changing this forces a new resource to be created.\n"},"username":{"type":"string","description":"The username associated with this Automation Credential.\n"}},"required":["automationAccountName","name","password","resourceGroupName","username"],"inputProperties":{"automationAccountName":{"type":"string","description":"The name of the automation account in which the Credential is created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"description":{"type":"string","description":"The description associated with this Automation Credential.\n"},"name":{"type":"string","description":"Specifies the name of the Credential. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"password":{"type":"string","description":"The password associated with this Automation Credential.\n","secret":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the Credential is created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"username":{"type":"string","description":"The username associated with this Automation Credential.\n"}},"requiredInputs":["automationAccountName","password","resourceGroupName","username"],"stateInputs":{"description":"Input properties used for looking up and filtering Credential resources.\n","properties":{"automationAccountName":{"type":"string","description":"The name of the automation account in which the Credential is created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"description":{"type":"string","description":"The description associated with this Automation Credential.\n"},"name":{"type":"string","description":"Specifies the name of the Credential. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"password":{"type":"string","description":"The password associated with this Automation Credential.\n","secret":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the Credential is created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"username":{"type":"string","description":"The username associated with this Automation Credential.\n"}},"type":"object"}},"azure:automation/dateTimeVariable:DateTimeVariable":{"description":"Manages a DateTime variable in Azure Automation\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"tfex-example-rg\",\n    location: \"West Europe\",\n});\nconst exampleAccount = new azure.automation.Account(\"example\", {\n    name: \"tfex-example-account\",\n    location: example.location,\n    resourceGroupName: example.name,\n    skuName: \"Basic\",\n});\nconst exampleDateTimeVariable = new azure.automation.DateTimeVariable(\"example\", {\n    name: \"tfex-example-var\",\n    resourceGroupName: example.name,\n    automationAccountName: exampleAccount.name,\n    value: \"2019-04-24T21:40:54.074Z\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"tfex-example-rg\",\n    location=\"West Europe\")\nexample_account = azure.automation.Account(\"example\",\n    name=\"tfex-example-account\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku_name=\"Basic\")\nexample_date_time_variable = azure.automation.DateTimeVariable(\"example\",\n    name=\"tfex-example-var\",\n    resource_group_name=example.name,\n    automation_account_name=example_account.name,\n    value=\"2019-04-24T21:40:54.074Z\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"tfex-example-rg\",\n        Location = \"West Europe\",\n    });\n\n    var exampleAccount = new Azure.Automation.Account(\"example\", new()\n    {\n        Name = \"tfex-example-account\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        SkuName = \"Basic\",\n    });\n\n    var exampleDateTimeVariable = new Azure.Automation.DateTimeVariable(\"example\", new()\n    {\n        Name = \"tfex-example-var\",\n        ResourceGroupName = example.Name,\n        AutomationAccountName = exampleAccount.Name,\n        Value = \"2019-04-24T21:40:54.074Z\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/automation\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"tfex-example-rg\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := automation.NewAccount(ctx, \"example\", \u0026automation.AccountArgs{\n\t\t\tName:              pulumi.String(\"tfex-example-account\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSkuName:           pulumi.String(\"Basic\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = automation.NewDateTimeVariable(ctx, \"example\", \u0026automation.DateTimeVariableArgs{\n\t\t\tName:                  pulumi.String(\"tfex-example-var\"),\n\t\t\tResourceGroupName:     example.Name,\n\t\t\tAutomationAccountName: exampleAccount.Name,\n\t\t\tValue:                 pulumi.String(\"2019-04-24T21:40:54.074Z\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.automation.Account;\nimport com.pulumi.azure.automation.AccountArgs;\nimport com.pulumi.azure.automation.DateTimeVariable;\nimport com.pulumi.azure.automation.DateTimeVariableArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"tfex-example-rg\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"tfex-example-account\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .skuName(\"Basic\")\n            .build());\n\n        var exampleDateTimeVariable = new DateTimeVariable(\"exampleDateTimeVariable\", DateTimeVariableArgs.builder()\n            .name(\"tfex-example-var\")\n            .resourceGroupName(example.name())\n            .automationAccountName(exampleAccount.name())\n            .value(\"2019-04-24T21:40:54.074Z\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: tfex-example-rg\n      location: West Europe\n  exampleAccount:\n    type: azure:automation:Account\n    name: example\n    properties:\n      name: tfex-example-account\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      skuName: Basic\n  exampleDateTimeVariable:\n    type: azure:automation:DateTimeVariable\n    name: example\n    properties:\n      name: tfex-example-var\n      resourceGroupName: ${example.name}\n      automationAccountName: ${exampleAccount.name}\n      value: 2019-04-24T21:40:54.074Z\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nAutomation DateTime Variable can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:automation/dateTimeVariable:DateTimeVariable example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tfex-example-rg/providers/Microsoft.Automation/automationAccounts/tfex-example-account/variables/tfex-example-var\n```\n\n","properties":{"automationAccountName":{"type":"string","description":"The name of the automation account in which the Variable is created. Changing this forces a new resource to be created.\n"},"description":{"type":"string","description":"The description of the Automation Variable.\n"},"encrypted":{"type":"boolean","description":"Specifies if the Automation Variable is encrypted. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"name":{"type":"string","description":"The name of the Automation Variable. Changing this forces a new resource to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the Automation Variable. Changing this forces a new resource to be created.\n"},"value":{"type":"string","description":"The value of the Automation Variable in the [RFC3339 Section 5.6 Internet Date/Time Format](https://tools.ietf.org/html/rfc3339#section-5.6).\n"}},"required":["automationAccountName","name","resourceGroupName"],"inputProperties":{"automationAccountName":{"type":"string","description":"The name of the automation account in which the Variable is created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"description":{"type":"string","description":"The description of the Automation Variable.\n"},"encrypted":{"type":"boolean","description":"Specifies if the Automation Variable is encrypted. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"name":{"type":"string","description":"The name of the Automation Variable. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the Automation Variable. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"value":{"type":"string","description":"The value of the Automation Variable in the [RFC3339 Section 5.6 Internet Date/Time Format](https://tools.ietf.org/html/rfc3339#section-5.6).\n"}},"requiredInputs":["automationAccountName","resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering DateTimeVariable resources.\n","properties":{"automationAccountName":{"type":"string","description":"The name of the automation account in which the Variable is created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"description":{"type":"string","description":"The description of the Automation Variable.\n"},"encrypted":{"type":"boolean","description":"Specifies if the Automation Variable is encrypted. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"name":{"type":"string","description":"The name of the Automation Variable. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the Automation Variable. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"value":{"type":"string","description":"The value of the Automation Variable in the [RFC3339 Section 5.6 Internet Date/Time Format](https://tools.ietf.org/html/rfc3339#section-5.6).\n"}},"type":"object"}},"azure:automation/dscConfiguration:DscConfiguration":{"description":"Manages a Automation DSC Configuration.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleAccount = new azure.automation.Account(\"example\", {\n    name: \"account1\",\n    location: example.location,\n    resourceGroupName: example.name,\n    skuName: \"Basic\",\n});\nconst exampleDscConfiguration = new azure.automation.DscConfiguration(\"example\", {\n    name: \"test\",\n    resourceGroupName: example.name,\n    automationAccountName: exampleAccount.name,\n    location: example.location,\n    contentEmbedded: \"configuration test {}\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_account = azure.automation.Account(\"example\",\n    name=\"account1\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku_name=\"Basic\")\nexample_dsc_configuration = azure.automation.DscConfiguration(\"example\",\n    name=\"test\",\n    resource_group_name=example.name,\n    automation_account_name=example_account.name,\n    location=example.location,\n    content_embedded=\"configuration test {}\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleAccount = new Azure.Automation.Account(\"example\", new()\n    {\n        Name = \"account1\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        SkuName = \"Basic\",\n    });\n\n    var exampleDscConfiguration = new Azure.Automation.DscConfiguration(\"example\", new()\n    {\n        Name = \"test\",\n        ResourceGroupName = example.Name,\n        AutomationAccountName = exampleAccount.Name,\n        Location = example.Location,\n        ContentEmbedded = \"configuration test {}\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/automation\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := automation.NewAccount(ctx, \"example\", \u0026automation.AccountArgs{\n\t\t\tName:              pulumi.String(\"account1\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSkuName:           pulumi.String(\"Basic\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = automation.NewDscConfiguration(ctx, \"example\", \u0026automation.DscConfigurationArgs{\n\t\t\tName:                  pulumi.String(\"test\"),\n\t\t\tResourceGroupName:     example.Name,\n\t\t\tAutomationAccountName: exampleAccount.Name,\n\t\t\tLocation:              example.Location,\n\t\t\tContentEmbedded:       pulumi.String(\"configuration test {}\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.automation.Account;\nimport com.pulumi.azure.automation.AccountArgs;\nimport com.pulumi.azure.automation.DscConfiguration;\nimport com.pulumi.azure.automation.DscConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"account1\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .skuName(\"Basic\")\n            .build());\n\n        var exampleDscConfiguration = new DscConfiguration(\"exampleDscConfiguration\", DscConfigurationArgs.builder()\n            .name(\"test\")\n            .resourceGroupName(example.name())\n            .automationAccountName(exampleAccount.name())\n            .location(example.location())\n            .contentEmbedded(\"configuration test {}\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleAccount:\n    type: azure:automation:Account\n    name: example\n    properties:\n      name: account1\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      skuName: Basic\n  exampleDscConfiguration:\n    type: azure:automation:DscConfiguration\n    name: example\n    properties:\n      name: test\n      resourceGroupName: ${example.name}\n      automationAccountName: ${exampleAccount.name}\n      location: ${example.location}\n      contentEmbedded: configuration test {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Automation` - 2024-10-23\n\n## Import\n\nAutomation DSC Configuration's can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:automation/dscConfiguration:DscConfiguration configuration1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Automation/automationAccounts/account1/configurations/configuration1\n```\n\n","properties":{"automationAccountName":{"type":"string","description":"The name of the automation account in which the DSC Configuration is created. Changing this forces a new resource to be created.\n"},"contentEmbedded":{"type":"string","description":"The PowerShell DSC Configuration script.\n"},"description":{"type":"string","description":"Description to go with DSC Configuration.\n"},"location":{"type":"string","description":"Must be the same location as the Automation Account. Changing this forces a new resource to be created.\n"},"logVerbose":{"type":"boolean","description":"Verbose log option.\n"},"name":{"type":"string","description":"Specifies the name of the DSC Configuration. Changing this forces a new resource to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the DSC Configuration is created. Changing this forces a new resource to be created.\n"},"state":{"type":"string"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"required":["automationAccountName","contentEmbedded","location","name","resourceGroupName","state"],"inputProperties":{"automationAccountName":{"type":"string","description":"The name of the automation account in which the DSC Configuration is created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"contentEmbedded":{"type":"string","description":"The PowerShell DSC Configuration script.\n"},"description":{"type":"string","description":"Description to go with DSC Configuration.\n"},"location":{"type":"string","description":"Must be the same location as the Automation Account. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"logVerbose":{"type":"boolean","description":"Verbose log option.\n"},"name":{"type":"string","description":"Specifies the name of the DSC Configuration. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the DSC Configuration is created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"requiredInputs":["automationAccountName","contentEmbedded","resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering DscConfiguration resources.\n","properties":{"automationAccountName":{"type":"string","description":"The name of the automation account in which the DSC Configuration is created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"contentEmbedded":{"type":"string","description":"The PowerShell DSC Configuration script.\n"},"description":{"type":"string","description":"Description to go with DSC Configuration.\n"},"location":{"type":"string","description":"Must be the same location as the Automation Account. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"logVerbose":{"type":"boolean","description":"Verbose log option.\n"},"name":{"type":"string","description":"Specifies the name of the DSC Configuration. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the DSC Configuration is created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"state":{"type":"string"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"type":"object"}},"azure:automation/dscNodeConfiguration:DscNodeConfiguration":{"description":"Manages a Automation DSC Node Configuration.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleAccount = new azure.automation.Account(\"example\", {\n    name: \"account1\",\n    location: example.location,\n    resourceGroupName: example.name,\n    skuName: \"Basic\",\n});\nconst exampleDscConfiguration = new azure.automation.DscConfiguration(\"example\", {\n    name: \"test\",\n    resourceGroupName: example.name,\n    automationAccountName: exampleAccount.name,\n    location: example.location,\n    contentEmbedded: \"configuration test {}\",\n});\nconst exampleDscNodeConfiguration = new azure.automation.DscNodeConfiguration(\"example\", {\n    name: \"test.localhost\",\n    resourceGroupName: example.name,\n    automationAccountName: exampleAccount.name,\n    contentEmbedded: `instance of MSFT_FileDirectoryConfiguration as MSFT_FileDirectoryConfiguration1ref\n{\n  ResourceID = \\\\\"[File]bla\\\\\";\n  Ensure = \\\\\"Present\\\\\";\n  Contents = \\\\\"bogus Content\\\\\";\n  DestinationPath = \\\\\"c:\\\\\\\\\\\\\\\\bogus.txt\\\\\";\n  ModuleName = \\\\\"PSDesiredStateConfiguration\\\\\";\n  SourceInfo = \\\\\"::3::9::file\\\\\";\n  ModuleVersion = \\\\\"1.0\\\\\";\n  ConfigurationName = \\\\\"bla\\\\\";\n};\ninstance of OMI_ConfigurationDocument\n{\n  Version=\\\\\"2.0.0\\\\\";\n  MinimumCompatibleVersion = \\\\\"1.0.0\\\\\";\n  CompatibleVersionAdditionalProperties= {\\\\\"Omi_BaseResource:ConfigurationName\\\\\"};\n  Author=\\\\\"bogusAuthor\\\\\";\n  GenerationDate=\\\\\"06/15/2018 14:06:24\\\\\";\n  GenerationHost=\\\\\"bogusComputer\\\\\";\n  Name=\\\\\"test\\\\\";\n};\n`,\n}, {\n    dependsOn: [exampleDscConfiguration],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_account = azure.automation.Account(\"example\",\n    name=\"account1\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku_name=\"Basic\")\nexample_dsc_configuration = azure.automation.DscConfiguration(\"example\",\n    name=\"test\",\n    resource_group_name=example.name,\n    automation_account_name=example_account.name,\n    location=example.location,\n    content_embedded=\"configuration test {}\")\nexample_dsc_node_configuration = azure.automation.DscNodeConfiguration(\"example\",\n    name=\"test.localhost\",\n    resource_group_name=example.name,\n    automation_account_name=example_account.name,\n    content_embedded=\"\"\"instance of MSFT_FileDirectoryConfiguration as $MSFT_FileDirectoryConfiguration1ref\n{\n  ResourceID = \\\"[File]bla\\\";\n  Ensure = \\\"Present\\\";\n  Contents = \\\"bogus Content\\\";\n  DestinationPath = \\\"c:\\\\\\\\bogus.txt\\\";\n  ModuleName = \\\"PSDesiredStateConfiguration\\\";\n  SourceInfo = \\\"::3::9::file\\\";\n  ModuleVersion = \\\"1.0\\\";\n  ConfigurationName = \\\"bla\\\";\n};\ninstance of OMI_ConfigurationDocument\n{\n  Version=\\\"2.0.0\\\";\n  MinimumCompatibleVersion = \\\"1.0.0\\\";\n  CompatibleVersionAdditionalProperties= {\\\"Omi_BaseResource:ConfigurationName\\\"};\n  Author=\\\"bogusAuthor\\\";\n  GenerationDate=\\\"06/15/2018 14:06:24\\\";\n  GenerationHost=\\\"bogusComputer\\\";\n  Name=\\\"test\\\";\n};\n\"\"\",\n    opts = pulumi.ResourceOptions(depends_on=[example_dsc_configuration]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleAccount = new Azure.Automation.Account(\"example\", new()\n    {\n        Name = \"account1\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        SkuName = \"Basic\",\n    });\n\n    var exampleDscConfiguration = new Azure.Automation.DscConfiguration(\"example\", new()\n    {\n        Name = \"test\",\n        ResourceGroupName = example.Name,\n        AutomationAccountName = exampleAccount.Name,\n        Location = example.Location,\n        ContentEmbedded = \"configuration test {}\",\n    });\n\n    var exampleDscNodeConfiguration = new Azure.Automation.DscNodeConfiguration(\"example\", new()\n    {\n        Name = \"test.localhost\",\n        ResourceGroupName = example.Name,\n        AutomationAccountName = exampleAccount.Name,\n        ContentEmbedded = @\"instance of MSFT_FileDirectoryConfiguration as $MSFT_FileDirectoryConfiguration1ref\n{\n  ResourceID = \\\"\"[File]bla\\\"\";\n  Ensure = \\\"\"Present\\\"\";\n  Contents = \\\"\"bogus Content\\\"\";\n  DestinationPath = \\\"\"c:\\\\\\\\bogus.txt\\\"\";\n  ModuleName = \\\"\"PSDesiredStateConfiguration\\\"\";\n  SourceInfo = \\\"\"::3::9::file\\\"\";\n  ModuleVersion = \\\"\"1.0\\\"\";\n  ConfigurationName = \\\"\"bla\\\"\";\n};\ninstance of OMI_ConfigurationDocument\n{\n  Version=\\\"\"2.0.0\\\"\";\n  MinimumCompatibleVersion = \\\"\"1.0.0\\\"\";\n  CompatibleVersionAdditionalProperties= {\\\"\"Omi_BaseResource:ConfigurationName\\\"\"};\n  Author=\\\"\"bogusAuthor\\\"\";\n  GenerationDate=\\\"\"06/15/2018 14:06:24\\\"\";\n  GenerationHost=\\\"\"bogusComputer\\\"\";\n  Name=\\\"\"test\\\"\";\n};\n\",\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            exampleDscConfiguration,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/automation\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := automation.NewAccount(ctx, \"example\", \u0026automation.AccountArgs{\n\t\t\tName:              pulumi.String(\"account1\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSkuName:           pulumi.String(\"Basic\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleDscConfiguration, err := automation.NewDscConfiguration(ctx, \"example\", \u0026automation.DscConfigurationArgs{\n\t\t\tName:                  pulumi.String(\"test\"),\n\t\t\tResourceGroupName:     example.Name,\n\t\t\tAutomationAccountName: exampleAccount.Name,\n\t\t\tLocation:              example.Location,\n\t\t\tContentEmbedded:       pulumi.String(\"configuration test {}\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = automation.NewDscNodeConfiguration(ctx, \"example\", \u0026automation.DscNodeConfigurationArgs{\n\t\t\tName:                  pulumi.String(\"test.localhost\"),\n\t\t\tResourceGroupName:     example.Name,\n\t\t\tAutomationAccountName: exampleAccount.Name,\n\t\t\tContentEmbedded: pulumi.String(`instance of MSFT_FileDirectoryConfiguration as $MSFT_FileDirectoryConfiguration1ref\n{\n  ResourceID = \\\"[File]bla\\\";\n  Ensure = \\\"Present\\\";\n  Contents = \\\"bogus Content\\\";\n  DestinationPath = \\\"c:\\\\\\\\bogus.txt\\\";\n  ModuleName = \\\"PSDesiredStateConfiguration\\\";\n  SourceInfo = \\\"::3::9::file\\\";\n  ModuleVersion = \\\"1.0\\\";\n  ConfigurationName = \\\"bla\\\";\n};\ninstance of OMI_ConfigurationDocument\n{\n  Version=\\\"2.0.0\\\";\n  MinimumCompatibleVersion = \\\"1.0.0\\\";\n  CompatibleVersionAdditionalProperties= {\\\"Omi_BaseResource:ConfigurationName\\\"};\n  Author=\\\"bogusAuthor\\\";\n  GenerationDate=\\\"06/15/2018 14:06:24\\\";\n  GenerationHost=\\\"bogusComputer\\\";\n  Name=\\\"test\\\";\n};\n`),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleDscConfiguration,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.automation.Account;\nimport com.pulumi.azure.automation.AccountArgs;\nimport com.pulumi.azure.automation.DscConfiguration;\nimport com.pulumi.azure.automation.DscConfigurationArgs;\nimport com.pulumi.azure.automation.DscNodeConfiguration;\nimport com.pulumi.azure.automation.DscNodeConfigurationArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"account1\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .skuName(\"Basic\")\n            .build());\n\n        var exampleDscConfiguration = new DscConfiguration(\"exampleDscConfiguration\", DscConfigurationArgs.builder()\n            .name(\"test\")\n            .resourceGroupName(example.name())\n            .automationAccountName(exampleAccount.name())\n            .location(example.location())\n            .contentEmbedded(\"configuration test {}\")\n            .build());\n\n        var exampleDscNodeConfiguration = new DscNodeConfiguration(\"exampleDscNodeConfiguration\", DscNodeConfigurationArgs.builder()\n            .name(\"test.localhost\")\n            .resourceGroupName(example.name())\n            .automationAccountName(exampleAccount.name())\n            .contentEmbedded(\"\"\"\ninstance of MSFT_FileDirectoryConfiguration as $MSFT_FileDirectoryConfiguration1ref\n{\n  ResourceID = \\\"[File]bla\\\";\n  Ensure = \\\"Present\\\";\n  Contents = \\\"bogus Content\\\";\n  DestinationPath = \\\"c:\\\\\\\\bogus.txt\\\";\n  ModuleName = \\\"PSDesiredStateConfiguration\\\";\n  SourceInfo = \\\"::3::9::file\\\";\n  ModuleVersion = \\\"1.0\\\";\n  ConfigurationName = \\\"bla\\\";\n};\ninstance of OMI_ConfigurationDocument\n{\n  Version=\\\"2.0.0\\\";\n  MinimumCompatibleVersion = \\\"1.0.0\\\";\n  CompatibleVersionAdditionalProperties= {\\\"Omi_BaseResource:ConfigurationName\\\"};\n  Author=\\\"bogusAuthor\\\";\n  GenerationDate=\\\"06/15/2018 14:06:24\\\";\n  GenerationHost=\\\"bogusComputer\\\";\n  Name=\\\"test\\\";\n};\n            \"\"\")\n            .build(), CustomResourceOptions.builder()\n                .dependsOn(exampleDscConfiguration)\n                .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleAccount:\n    type: azure:automation:Account\n    name: example\n    properties:\n      name: account1\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      skuName: Basic\n  exampleDscConfiguration:\n    type: azure:automation:DscConfiguration\n    name: example\n    properties:\n      name: test\n      resourceGroupName: ${example.name}\n      automationAccountName: ${exampleAccount.name}\n      location: ${example.location}\n      contentEmbedded: configuration test {}\n  exampleDscNodeConfiguration:\n    type: azure:automation:DscNodeConfiguration\n    name: example\n    properties:\n      name: test.localhost\n      resourceGroupName: ${example.name}\n      automationAccountName: ${exampleAccount.name}\n      contentEmbedded: |\n        instance of MSFT_FileDirectoryConfiguration as $MSFT_FileDirectoryConfiguration1ref\n        {\n          ResourceID = \\\"[File]bla\\\";\n          Ensure = \\\"Present\\\";\n          Contents = \\\"bogus Content\\\";\n          DestinationPath = \\\"c:\\\\\\\\bogus.txt\\\";\n          ModuleName = \\\"PSDesiredStateConfiguration\\\";\n          SourceInfo = \\\"::3::9::file\\\";\n          ModuleVersion = \\\"1.0\\\";\n          ConfigurationName = \\\"bla\\\";\n        };\n        instance of OMI_ConfigurationDocument\n        {\n          Version=\\\"2.0.0\\\";\n          MinimumCompatibleVersion = \\\"1.0.0\\\";\n          CompatibleVersionAdditionalProperties= {\\\"Omi_BaseResource:ConfigurationName\\\"};\n          Author=\\\"bogusAuthor\\\";\n          GenerationDate=\\\"06/15/2018 14:06:24\\\";\n          GenerationHost=\\\"bogusComputer\\\";\n          Name=\\\"test\\\";\n        };\n    options:\n      dependsOn:\n        - ${exampleDscConfiguration}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Automation` - 2024-10-23\n\n## Import\n\nAutomation DSC Node Configuration's can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:automation/dscNodeConfiguration:DscNodeConfiguration configuration1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Automation/automationAccounts/account1/nodeConfigurations/configuration1\n```\n\n","properties":{"automationAccountName":{"type":"string","description":"The name of the automation account in which the DSC Node Configuration is created. Changing this forces a new resource to be created.\n"},"configurationName":{"type":"string"},"contentEmbedded":{"type":"string","description":"The PowerShell DSC Node Configuration (mof content).\n"},"name":{"type":"string","description":"Specifies the name of the DSC Node Configuration. Changing this forces a new resource to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the DSC Node Configuration is created. Changing this forces a new resource to be created.\n"}},"required":["automationAccountName","configurationName","contentEmbedded","name","resourceGroupName"],"inputProperties":{"automationAccountName":{"type":"string","description":"The name of the automation account in which the DSC Node Configuration is created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"contentEmbedded":{"type":"string","description":"The PowerShell DSC Node Configuration (mof content).\n"},"name":{"type":"string","description":"Specifies the name of the DSC Node Configuration. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the DSC Node Configuration is created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["automationAccountName","contentEmbedded","resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering DscNodeConfiguration resources.\n","properties":{"automationAccountName":{"type":"string","description":"The name of the automation account in which the DSC Node Configuration is created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"configurationName":{"type":"string"},"contentEmbedded":{"type":"string","description":"The PowerShell DSC Node Configuration (mof content).\n"},"name":{"type":"string","description":"Specifies the name of the DSC Node Configuration. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the DSC Node Configuration is created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:automation/hybridRunbookWorker:HybridRunbookWorker":{"description":"Manages a Automation Hybrid Runbook Worker.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleAccount = new azure.automation.Account(\"example\", {\n    name: \"example-account\",\n    location: example.location,\n    resourceGroupName: example.name,\n    skuName: \"Basic\",\n});\nconst exampleHybridRunbookWorkerGroup = new azure.automation.HybridRunbookWorkerGroup(\"example\", {\n    name: \"example\",\n    resourceGroupName: example.name,\n    automationAccountName: exampleAccount.name,\n});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"example\", {\n    name: \"example-vnet\",\n    resourceGroupName: example.name,\n    addressSpaces: [\"192.168.1.0/24\"],\n    location: example.location,\n});\nconst exampleSubnet = new azure.network.Subnet(\"example\", {\n    name: \"example-subnet\",\n    resourceGroupName: example.name,\n    virtualNetworkName: exampleVirtualNetwork.name,\n    addressPrefixes: [\"192.168.1.0/24\"],\n});\nconst exampleNetworkInterface = new azure.network.NetworkInterface(\"example\", {\n    name: \"example-nic\",\n    location: example.location,\n    resourceGroupName: example.name,\n    ipConfigurations: [{\n        name: \"vm-example\",\n        subnetId: exampleSubnet.id,\n        privateIpAddressAllocation: \"Dynamic\",\n    }],\n});\nconst exampleLinuxVirtualMachine = new azure.compute.LinuxVirtualMachine(\"example\", {\n    name: \"example-vm\",\n    location: example.location,\n    resourceGroupName: example.name,\n    size: \"Standard_B1s\",\n    adminUsername: \"testadmin\",\n    adminPassword: \"Password1234!\",\n    disablePasswordAuthentication: false,\n    sourceImageReference: {\n        publisher: \"Canonical\",\n        offer: \"0001-com-ubuntu-server-jammy\",\n        sku: \"22_04-lts\",\n        version: \"latest\",\n    },\n    osDisk: {\n        caching: \"ReadWrite\",\n        storageAccountType: \"Standard_LRS\",\n    },\n    networkInterfaceIds: [exampleNetworkInterface.id],\n});\nconst exampleHybridRunbookWorker = new azure.automation.HybridRunbookWorker(\"example\", {\n    resourceGroupName: example.name,\n    automationAccountName: exampleAccount.name,\n    workerGroupName: exampleHybridRunbookWorkerGroup.name,\n    vmResourceId: exampleLinuxVirtualMachine.id,\n    workerId: \"00000000-0000-0000-0000-000000000000\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_account = azure.automation.Account(\"example\",\n    name=\"example-account\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku_name=\"Basic\")\nexample_hybrid_runbook_worker_group = azure.automation.HybridRunbookWorkerGroup(\"example\",\n    name=\"example\",\n    resource_group_name=example.name,\n    automation_account_name=example_account.name)\nexample_virtual_network = azure.network.VirtualNetwork(\"example\",\n    name=\"example-vnet\",\n    resource_group_name=example.name,\n    address_spaces=[\"192.168.1.0/24\"],\n    location=example.location)\nexample_subnet = azure.network.Subnet(\"example\",\n    name=\"example-subnet\",\n    resource_group_name=example.name,\n    virtual_network_name=example_virtual_network.name,\n    address_prefixes=[\"192.168.1.0/24\"])\nexample_network_interface = azure.network.NetworkInterface(\"example\",\n    name=\"example-nic\",\n    location=example.location,\n    resource_group_name=example.name,\n    ip_configurations=[{\n        \"name\": \"vm-example\",\n        \"subnet_id\": example_subnet.id,\n        \"private_ip_address_allocation\": \"Dynamic\",\n    }])\nexample_linux_virtual_machine = azure.compute.LinuxVirtualMachine(\"example\",\n    name=\"example-vm\",\n    location=example.location,\n    resource_group_name=example.name,\n    size=\"Standard_B1s\",\n    admin_username=\"testadmin\",\n    admin_password=\"Password1234!\",\n    disable_password_authentication=False,\n    source_image_reference={\n        \"publisher\": \"Canonical\",\n        \"offer\": \"0001-com-ubuntu-server-jammy\",\n        \"sku\": \"22_04-lts\",\n        \"version\": \"latest\",\n    },\n    os_disk={\n        \"caching\": \"ReadWrite\",\n        \"storage_account_type\": \"Standard_LRS\",\n    },\n    network_interface_ids=[example_network_interface.id])\nexample_hybrid_runbook_worker = azure.automation.HybridRunbookWorker(\"example\",\n    resource_group_name=example.name,\n    automation_account_name=example_account.name,\n    worker_group_name=example_hybrid_runbook_worker_group.name,\n    vm_resource_id=example_linux_virtual_machine.id,\n    worker_id=\"00000000-0000-0000-0000-000000000000\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleAccount = new Azure.Automation.Account(\"example\", new()\n    {\n        Name = \"example-account\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        SkuName = \"Basic\",\n    });\n\n    var exampleHybridRunbookWorkerGroup = new Azure.Automation.HybridRunbookWorkerGroup(\"example\", new()\n    {\n        Name = \"example\",\n        ResourceGroupName = example.Name,\n        AutomationAccountName = exampleAccount.Name,\n    });\n\n    var exampleVirtualNetwork = new Azure.Network.VirtualNetwork(\"example\", new()\n    {\n        Name = \"example-vnet\",\n        ResourceGroupName = example.Name,\n        AddressSpaces = new[]\n        {\n            \"192.168.1.0/24\",\n        },\n        Location = example.Location,\n    });\n\n    var exampleSubnet = new Azure.Network.Subnet(\"example\", new()\n    {\n        Name = \"example-subnet\",\n        ResourceGroupName = example.Name,\n        VirtualNetworkName = exampleVirtualNetwork.Name,\n        AddressPrefixes = new[]\n        {\n            \"192.168.1.0/24\",\n        },\n    });\n\n    var exampleNetworkInterface = new Azure.Network.NetworkInterface(\"example\", new()\n    {\n        Name = \"example-nic\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        IpConfigurations = new[]\n        {\n            new Azure.Network.Inputs.NetworkInterfaceIpConfigurationArgs\n            {\n                Name = \"vm-example\",\n                SubnetId = exampleSubnet.Id,\n                PrivateIpAddressAllocation = \"Dynamic\",\n            },\n        },\n    });\n\n    var exampleLinuxVirtualMachine = new Azure.Compute.LinuxVirtualMachine(\"example\", new()\n    {\n        Name = \"example-vm\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Size = \"Standard_B1s\",\n        AdminUsername = \"testadmin\",\n        AdminPassword = \"Password1234!\",\n        DisablePasswordAuthentication = false,\n        SourceImageReference = new Azure.Compute.Inputs.LinuxVirtualMachineSourceImageReferenceArgs\n        {\n            Publisher = \"Canonical\",\n            Offer = \"0001-com-ubuntu-server-jammy\",\n            Sku = \"22_04-lts\",\n            Version = \"latest\",\n        },\n        OsDisk = new Azure.Compute.Inputs.LinuxVirtualMachineOsDiskArgs\n        {\n            Caching = \"ReadWrite\",\n            StorageAccountType = \"Standard_LRS\",\n        },\n        NetworkInterfaceIds = new[]\n        {\n            exampleNetworkInterface.Id,\n        },\n    });\n\n    var exampleHybridRunbookWorker = new Azure.Automation.HybridRunbookWorker(\"example\", new()\n    {\n        ResourceGroupName = example.Name,\n        AutomationAccountName = exampleAccount.Name,\n        WorkerGroupName = exampleHybridRunbookWorkerGroup.Name,\n        VmResourceId = exampleLinuxVirtualMachine.Id,\n        WorkerId = \"00000000-0000-0000-0000-000000000000\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/automation\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/compute\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := automation.NewAccount(ctx, \"example\", \u0026automation.AccountArgs{\n\t\t\tName:              pulumi.String(\"example-account\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSkuName:           pulumi.String(\"Basic\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleHybridRunbookWorkerGroup, err := automation.NewHybridRunbookWorkerGroup(ctx, \"example\", \u0026automation.HybridRunbookWorkerGroupArgs{\n\t\t\tName:                  pulumi.String(\"example\"),\n\t\t\tResourceGroupName:     example.Name,\n\t\t\tAutomationAccountName: exampleAccount.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, \"example\", \u0026network.VirtualNetworkArgs{\n\t\t\tName:              pulumi.String(\"example-vnet\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tAddressSpaces: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"192.168.1.0/24\"),\n\t\t\t},\n\t\t\tLocation: example.Location,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSubnet, err := network.NewSubnet(ctx, \"example\", \u0026network.SubnetArgs{\n\t\t\tName:               pulumi.String(\"example-subnet\"),\n\t\t\tResourceGroupName:  example.Name,\n\t\t\tVirtualNetworkName: exampleVirtualNetwork.Name,\n\t\t\tAddressPrefixes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"192.168.1.0/24\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNetworkInterface, err := network.NewNetworkInterface(ctx, \"example\", \u0026network.NetworkInterfaceArgs{\n\t\t\tName:              pulumi.String(\"example-nic\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tIpConfigurations: network.NetworkInterfaceIpConfigurationArray{\n\t\t\t\t\u0026network.NetworkInterfaceIpConfigurationArgs{\n\t\t\t\t\tName:                       pulumi.String(\"vm-example\"),\n\t\t\t\t\tSubnetId:                   exampleSubnet.ID(),\n\t\t\t\t\tPrivateIpAddressAllocation: pulumi.String(\"Dynamic\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleLinuxVirtualMachine, err := compute.NewLinuxVirtualMachine(ctx, \"example\", \u0026compute.LinuxVirtualMachineArgs{\n\t\t\tName:                          pulumi.String(\"example-vm\"),\n\t\t\tLocation:                      example.Location,\n\t\t\tResourceGroupName:             example.Name,\n\t\t\tSize:                          pulumi.String(\"Standard_B1s\"),\n\t\t\tAdminUsername:                 pulumi.String(\"testadmin\"),\n\t\t\tAdminPassword:                 pulumi.String(\"Password1234!\"),\n\t\t\tDisablePasswordAuthentication: pulumi.Bool(false),\n\t\t\tSourceImageReference: \u0026compute.LinuxVirtualMachineSourceImageReferenceArgs{\n\t\t\t\tPublisher: pulumi.String(\"Canonical\"),\n\t\t\t\tOffer:     pulumi.String(\"0001-com-ubuntu-server-jammy\"),\n\t\t\t\tSku:       pulumi.String(\"22_04-lts\"),\n\t\t\t\tVersion:   pulumi.String(\"latest\"),\n\t\t\t},\n\t\t\tOsDisk: \u0026compute.LinuxVirtualMachineOsDiskArgs{\n\t\t\t\tCaching:            pulumi.String(\"ReadWrite\"),\n\t\t\t\tStorageAccountType: pulumi.String(\"Standard_LRS\"),\n\t\t\t},\n\t\t\tNetworkInterfaceIds: pulumi.StringArray{\n\t\t\t\texampleNetworkInterface.ID(),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = automation.NewHybridRunbookWorker(ctx, \"example\", \u0026automation.HybridRunbookWorkerArgs{\n\t\t\tResourceGroupName:     example.Name,\n\t\t\tAutomationAccountName: exampleAccount.Name,\n\t\t\tWorkerGroupName:       exampleHybridRunbookWorkerGroup.Name,\n\t\t\tVmResourceId:          exampleLinuxVirtualMachine.ID(),\n\t\t\tWorkerId:              pulumi.String(\"00000000-0000-0000-0000-000000000000\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.automation.Account;\nimport com.pulumi.azure.automation.AccountArgs;\nimport com.pulumi.azure.automation.HybridRunbookWorkerGroup;\nimport com.pulumi.azure.automation.HybridRunbookWorkerGroupArgs;\nimport com.pulumi.azure.network.VirtualNetwork;\nimport com.pulumi.azure.network.VirtualNetworkArgs;\nimport com.pulumi.azure.network.Subnet;\nimport com.pulumi.azure.network.SubnetArgs;\nimport com.pulumi.azure.network.NetworkInterface;\nimport com.pulumi.azure.network.NetworkInterfaceArgs;\nimport com.pulumi.azure.network.inputs.NetworkInterfaceIpConfigurationArgs;\nimport com.pulumi.azure.compute.LinuxVirtualMachine;\nimport com.pulumi.azure.compute.LinuxVirtualMachineArgs;\nimport com.pulumi.azure.compute.inputs.LinuxVirtualMachineSourceImageReferenceArgs;\nimport com.pulumi.azure.compute.inputs.LinuxVirtualMachineOsDiskArgs;\nimport com.pulumi.azure.automation.HybridRunbookWorker;\nimport com.pulumi.azure.automation.HybridRunbookWorkerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"example-account\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .skuName(\"Basic\")\n            .build());\n\n        var exampleHybridRunbookWorkerGroup = new HybridRunbookWorkerGroup(\"exampleHybridRunbookWorkerGroup\", HybridRunbookWorkerGroupArgs.builder()\n            .name(\"example\")\n            .resourceGroupName(example.name())\n            .automationAccountName(exampleAccount.name())\n            .build());\n\n        var exampleVirtualNetwork = new VirtualNetwork(\"exampleVirtualNetwork\", VirtualNetworkArgs.builder()\n            .name(\"example-vnet\")\n            .resourceGroupName(example.name())\n            .addressSpaces(\"192.168.1.0/24\")\n            .location(example.location())\n            .build());\n\n        var exampleSubnet = new Subnet(\"exampleSubnet\", SubnetArgs.builder()\n            .name(\"example-subnet\")\n            .resourceGroupName(example.name())\n            .virtualNetworkName(exampleVirtualNetwork.name())\n            .addressPrefixes(\"192.168.1.0/24\")\n            .build());\n\n        var exampleNetworkInterface = new NetworkInterface(\"exampleNetworkInterface\", NetworkInterfaceArgs.builder()\n            .name(\"example-nic\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .ipConfigurations(NetworkInterfaceIpConfigurationArgs.builder()\n                .name(\"vm-example\")\n                .subnetId(exampleSubnet.id())\n                .privateIpAddressAllocation(\"Dynamic\")\n                .build())\n            .build());\n\n        var exampleLinuxVirtualMachine = new LinuxVirtualMachine(\"exampleLinuxVirtualMachine\", LinuxVirtualMachineArgs.builder()\n            .name(\"example-vm\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .size(\"Standard_B1s\")\n            .adminUsername(\"testadmin\")\n            .adminPassword(\"Password1234!\")\n            .disablePasswordAuthentication(false)\n            .sourceImageReference(LinuxVirtualMachineSourceImageReferenceArgs.builder()\n                .publisher(\"Canonical\")\n                .offer(\"0001-com-ubuntu-server-jammy\")\n                .sku(\"22_04-lts\")\n                .version(\"latest\")\n                .build())\n            .osDisk(LinuxVirtualMachineOsDiskArgs.builder()\n                .caching(\"ReadWrite\")\n                .storageAccountType(\"Standard_LRS\")\n                .build())\n            .networkInterfaceIds(exampleNetworkInterface.id())\n            .build());\n\n        var exampleHybridRunbookWorker = new HybridRunbookWorker(\"exampleHybridRunbookWorker\", HybridRunbookWorkerArgs.builder()\n            .resourceGroupName(example.name())\n            .automationAccountName(exampleAccount.name())\n            .workerGroupName(exampleHybridRunbookWorkerGroup.name())\n            .vmResourceId(exampleLinuxVirtualMachine.id())\n            .workerId(\"00000000-0000-0000-0000-000000000000\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleAccount:\n    type: azure:automation:Account\n    name: example\n    properties:\n      name: example-account\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      skuName: Basic\n  exampleHybridRunbookWorkerGroup:\n    type: azure:automation:HybridRunbookWorkerGroup\n    name: example\n    properties:\n      name: example\n      resourceGroupName: ${example.name}\n      automationAccountName: ${exampleAccount.name}\n  exampleVirtualNetwork:\n    type: azure:network:VirtualNetwork\n    name: example\n    properties:\n      name: example-vnet\n      resourceGroupName: ${example.name}\n      addressSpaces:\n        - 192.168.1.0/24\n      location: ${example.location}\n  exampleSubnet:\n    type: azure:network:Subnet\n    name: example\n    properties:\n      name: example-subnet\n      resourceGroupName: ${example.name}\n      virtualNetworkName: ${exampleVirtualNetwork.name}\n      addressPrefixes:\n        - 192.168.1.0/24\n  exampleNetworkInterface:\n    type: azure:network:NetworkInterface\n    name: example\n    properties:\n      name: example-nic\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      ipConfigurations:\n        - name: vm-example\n          subnetId: ${exampleSubnet.id}\n          privateIpAddressAllocation: Dynamic\n  exampleLinuxVirtualMachine:\n    type: azure:compute:LinuxVirtualMachine\n    name: example\n    properties:\n      name: example-vm\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      size: Standard_B1s\n      adminUsername: testadmin\n      adminPassword: Password1234!\n      disablePasswordAuthentication: false\n      sourceImageReference:\n        publisher: Canonical\n        offer: 0001-com-ubuntu-server-jammy\n        sku: 22_04-lts\n        version: latest\n      osDisk:\n        caching: ReadWrite\n        storageAccountType: Standard_LRS\n      networkInterfaceIds:\n        - ${exampleNetworkInterface.id}\n  exampleHybridRunbookWorker:\n    type: azure:automation:HybridRunbookWorker\n    name: example\n    properties:\n      resourceGroupName: ${example.name}\n      automationAccountName: ${exampleAccount.name}\n      workerGroupName: ${exampleHybridRunbookWorkerGroup.name}\n      vmResourceId: ${exampleLinuxVirtualMachine.id}\n      workerId: 00000000-0000-0000-0000-000000000000\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Automation` - 2024-10-23\n\n## Import\n\nAutomations can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:automation/hybridRunbookWorker:HybridRunbookWorker example /subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/group1/providers/Microsoft.Automation/automationAccounts/account1/hybridRunbookWorkerGroups/group1/hybridRunbookWorkers/00000000-0000-0000-0000-000000000000\n```\n\n","properties":{"automationAccountName":{"type":"string","description":"The name of the automation account in which the Hybrid Worker is created. Changing this forces a new resource to be created.\n"},"ip":{"type":"string","description":"The IP address of assigned machine.\n"},"lastSeenDateTime":{"type":"string","description":"Last Heartbeat from the Worker.\n"},"registrationDateTime":{"type":"string","description":"The registration time of the worker machine.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Automation should exist. Changing this forces a new Automation to be created.\n"},"vmResourceId":{"type":"string","description":"The ID of the virtual machine used for this HybridWorker. Changing this forces a new Automation to be created.\n"},"workerGroupName":{"type":"string","description":"The name of the HybridWorker Group. Changing this forces a new Automation to be created.\n"},"workerId":{"type":"string","description":"Specify the ID of this HybridWorker in UUID notation. Changing this forces a new Automation to be created.\n"},"workerName":{"type":"string","description":"The name of HybridWorker.\n"},"workerType":{"type":"string","description":"The type of the HybridWorker, the possible values are `HybridV1` and `HybridV2`.\n"}},"required":["automationAccountName","ip","lastSeenDateTime","registrationDateTime","resourceGroupName","vmResourceId","workerGroupName","workerId","workerName","workerType"],"inputProperties":{"automationAccountName":{"type":"string","description":"The name of the automation account in which the Hybrid Worker is created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Automation should exist. Changing this forces a new Automation to be created.\n","willReplaceOnChanges":true},"vmResourceId":{"type":"string","description":"The ID of the virtual machine used for this HybridWorker. Changing this forces a new Automation to be created.\n","willReplaceOnChanges":true},"workerGroupName":{"type":"string","description":"The name of the HybridWorker Group. Changing this forces a new Automation to be created.\n","willReplaceOnChanges":true},"workerId":{"type":"string","description":"Specify the ID of this HybridWorker in UUID notation. Changing this forces a new Automation to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["automationAccountName","resourceGroupName","vmResourceId","workerGroupName","workerId"],"stateInputs":{"description":"Input properties used for looking up and filtering HybridRunbookWorker resources.\n","properties":{"automationAccountName":{"type":"string","description":"The name of the automation account in which the Hybrid Worker is created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"ip":{"type":"string","description":"The IP address of assigned machine.\n"},"lastSeenDateTime":{"type":"string","description":"Last Heartbeat from the Worker.\n"},"registrationDateTime":{"type":"string","description":"The registration time of the worker machine.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Automation should exist. Changing this forces a new Automation to be created.\n","willReplaceOnChanges":true},"vmResourceId":{"type":"string","description":"The ID of the virtual machine used for this HybridWorker. Changing this forces a new Automation to be created.\n","willReplaceOnChanges":true},"workerGroupName":{"type":"string","description":"The name of the HybridWorker Group. Changing this forces a new Automation to be created.\n","willReplaceOnChanges":true},"workerId":{"type":"string","description":"Specify the ID of this HybridWorker in UUID notation. Changing this forces a new Automation to be created.\n","willReplaceOnChanges":true},"workerName":{"type":"string","description":"The name of HybridWorker.\n"},"workerType":{"type":"string","description":"The type of the HybridWorker, the possible values are `HybridV1` and `HybridV2`.\n"}},"type":"object"}},"azure:automation/hybridRunbookWorkerGroup:HybridRunbookWorkerGroup":{"description":"Manages a Automation Hybrid Runbook Worker Group.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleAccount = new azure.automation.Account(\"example\", {\n    name: \"example-account\",\n    location: example.location,\n    resourceGroupName: example.name,\n    skuName: \"Basic\",\n});\nconst exampleHybridRunbookWorkerGroup = new azure.automation.HybridRunbookWorkerGroup(\"example\", {\n    name: \"example\",\n    resourceGroupName: example.name,\n    automationAccountName: exampleAccount.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_account = azure.automation.Account(\"example\",\n    name=\"example-account\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku_name=\"Basic\")\nexample_hybrid_runbook_worker_group = azure.automation.HybridRunbookWorkerGroup(\"example\",\n    name=\"example\",\n    resource_group_name=example.name,\n    automation_account_name=example_account.name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleAccount = new Azure.Automation.Account(\"example\", new()\n    {\n        Name = \"example-account\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        SkuName = \"Basic\",\n    });\n\n    var exampleHybridRunbookWorkerGroup = new Azure.Automation.HybridRunbookWorkerGroup(\"example\", new()\n    {\n        Name = \"example\",\n        ResourceGroupName = example.Name,\n        AutomationAccountName = exampleAccount.Name,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/automation\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := automation.NewAccount(ctx, \"example\", \u0026automation.AccountArgs{\n\t\t\tName:              pulumi.String(\"example-account\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSkuName:           pulumi.String(\"Basic\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = automation.NewHybridRunbookWorkerGroup(ctx, \"example\", \u0026automation.HybridRunbookWorkerGroupArgs{\n\t\t\tName:                  pulumi.String(\"example\"),\n\t\t\tResourceGroupName:     example.Name,\n\t\t\tAutomationAccountName: exampleAccount.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.automation.Account;\nimport com.pulumi.azure.automation.AccountArgs;\nimport com.pulumi.azure.automation.HybridRunbookWorkerGroup;\nimport com.pulumi.azure.automation.HybridRunbookWorkerGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"example-account\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .skuName(\"Basic\")\n            .build());\n\n        var exampleHybridRunbookWorkerGroup = new HybridRunbookWorkerGroup(\"exampleHybridRunbookWorkerGroup\", HybridRunbookWorkerGroupArgs.builder()\n            .name(\"example\")\n            .resourceGroupName(example.name())\n            .automationAccountName(exampleAccount.name())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleAccount:\n    type: azure:automation:Account\n    name: example\n    properties:\n      name: example-account\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      skuName: Basic\n  exampleHybridRunbookWorkerGroup:\n    type: azure:automation:HybridRunbookWorkerGroup\n    name: example\n    properties:\n      name: example\n      resourceGroupName: ${example.name}\n      automationAccountName: ${exampleAccount.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Automation` - 2024-10-23\n\n## Import\n\nAutomations can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:automation/hybridRunbookWorkerGroup:HybridRunbookWorkerGroup example /subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/group1/providers/Microsoft.Automation/automationAccounts/account1/hybridRunbookWorkerGroups/grp1\n```\n\n","properties":{"automationAccountName":{"type":"string","description":"The name of the Automation Account in which the Runbook Worker Group is created. Changing this forces a new resource to be created.\n"},"credentialName":{"type":"string","description":"The name of resource type \u003cspan pulumi-lang-nodejs=\"`azure.automation.Credential`\" pulumi-lang-dotnet=\"`azure.automation.Credential`\" pulumi-lang-go=\"`automation.Credential`\" pulumi-lang-python=\"`automation.Credential`\" pulumi-lang-yaml=\"`azure.automation.Credential`\" pulumi-lang-java=\"`azure.automation.Credential`\"\u003e`azure.automation.Credential`\u003c/span\u003e to use for hybrid worker.\n"},"name":{"type":"string","description":"The name which should be used for this Automation Account Runbook Worker Group. Changing this forces a new resource to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Automation should exist. Changing this forces a new Automation to be created.\n"}},"required":["automationAccountName","name","resourceGroupName"],"inputProperties":{"automationAccountName":{"type":"string","description":"The name of the Automation Account in which the Runbook Worker Group is created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"credentialName":{"type":"string","description":"The name of resource type \u003cspan pulumi-lang-nodejs=\"`azure.automation.Credential`\" pulumi-lang-dotnet=\"`azure.automation.Credential`\" pulumi-lang-go=\"`automation.Credential`\" pulumi-lang-python=\"`automation.Credential`\" pulumi-lang-yaml=\"`azure.automation.Credential`\" pulumi-lang-java=\"`azure.automation.Credential`\"\u003e`azure.automation.Credential`\u003c/span\u003e to use for hybrid worker.\n"},"name":{"type":"string","description":"The name which should be used for this Automation Account Runbook Worker Group. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Automation should exist. Changing this forces a new Automation to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["automationAccountName","resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering HybridRunbookWorkerGroup resources.\n","properties":{"automationAccountName":{"type":"string","description":"The name of the Automation Account in which the Runbook Worker Group is created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"credentialName":{"type":"string","description":"The name of resource type \u003cspan pulumi-lang-nodejs=\"`azure.automation.Credential`\" pulumi-lang-dotnet=\"`azure.automation.Credential`\" pulumi-lang-go=\"`automation.Credential`\" pulumi-lang-python=\"`automation.Credential`\" pulumi-lang-yaml=\"`azure.automation.Credential`\" pulumi-lang-java=\"`azure.automation.Credential`\"\u003e`azure.automation.Credential`\u003c/span\u003e to use for hybrid worker.\n"},"name":{"type":"string","description":"The name which should be used for this Automation Account Runbook Worker Group. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Automation should exist. Changing this forces a new Automation to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:automation/intVariable:IntVariable":{"description":"Manages a integer variable in Azure Automation\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"tfex-example-rg\",\n    location: \"West Europe\",\n});\nconst exampleAccount = new azure.automation.Account(\"example\", {\n    name: \"tfex-example-account\",\n    location: example.location,\n    resourceGroupName: example.name,\n    skuName: \"Basic\",\n});\nconst exampleIntVariable = new azure.automation.IntVariable(\"example\", {\n    name: \"tfex-example-var\",\n    resourceGroupName: example.name,\n    automationAccountName: exampleAccount.name,\n    value: 1234,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"tfex-example-rg\",\n    location=\"West Europe\")\nexample_account = azure.automation.Account(\"example\",\n    name=\"tfex-example-account\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku_name=\"Basic\")\nexample_int_variable = azure.automation.IntVariable(\"example\",\n    name=\"tfex-example-var\",\n    resource_group_name=example.name,\n    automation_account_name=example_account.name,\n    value=1234)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"tfex-example-rg\",\n        Location = \"West Europe\",\n    });\n\n    var exampleAccount = new Azure.Automation.Account(\"example\", new()\n    {\n        Name = \"tfex-example-account\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        SkuName = \"Basic\",\n    });\n\n    var exampleIntVariable = new Azure.Automation.IntVariable(\"example\", new()\n    {\n        Name = \"tfex-example-var\",\n        ResourceGroupName = example.Name,\n        AutomationAccountName = exampleAccount.Name,\n        Value = 1234,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/automation\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"tfex-example-rg\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := automation.NewAccount(ctx, \"example\", \u0026automation.AccountArgs{\n\t\t\tName:              pulumi.String(\"tfex-example-account\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSkuName:           pulumi.String(\"Basic\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = automation.NewIntVariable(ctx, \"example\", \u0026automation.IntVariableArgs{\n\t\t\tName:                  pulumi.String(\"tfex-example-var\"),\n\t\t\tResourceGroupName:     example.Name,\n\t\t\tAutomationAccountName: exampleAccount.Name,\n\t\t\tValue:                 pulumi.Int(1234),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.automation.Account;\nimport com.pulumi.azure.automation.AccountArgs;\nimport com.pulumi.azure.automation.IntVariable;\nimport com.pulumi.azure.automation.IntVariableArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"tfex-example-rg\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"tfex-example-account\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .skuName(\"Basic\")\n            .build());\n\n        var exampleIntVariable = new IntVariable(\"exampleIntVariable\", IntVariableArgs.builder()\n            .name(\"tfex-example-var\")\n            .resourceGroupName(example.name())\n            .automationAccountName(exampleAccount.name())\n            .value(1234)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: tfex-example-rg\n      location: West Europe\n  exampleAccount:\n    type: azure:automation:Account\n    name: example\n    properties:\n      name: tfex-example-account\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      skuName: Basic\n  exampleIntVariable:\n    type: azure:automation:IntVariable\n    name: example\n    properties:\n      name: tfex-example-var\n      resourceGroupName: ${example.name}\n      automationAccountName: ${exampleAccount.name}\n      value: 1234\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nAutomation Int Variable can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:automation/intVariable:IntVariable example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tfex-example-rg/providers/Microsoft.Automation/automationAccounts/tfex-example-account/variables/tfex-example-var\n```\n\n","properties":{"automationAccountName":{"type":"string","description":"The name of the automation account in which the Variable is created. Changing this forces a new resource to be created.\n"},"description":{"type":"string","description":"The description of the Automation Variable.\n"},"encrypted":{"type":"boolean","description":"Specifies if the Automation Variable is encrypted. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"name":{"type":"string","description":"The name of the Automation Variable. Changing this forces a new resource to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the Automation Variable. Changing this forces a new resource to be created.\n"},"value":{"type":"integer","description":"The value of the Automation Variable as a \u003cspan pulumi-lang-nodejs=\"`integer`\" pulumi-lang-dotnet=\"`Integer`\" pulumi-lang-go=\"`integer`\" pulumi-lang-python=\"`integer`\" pulumi-lang-yaml=\"`integer`\" pulumi-lang-java=\"`integer`\"\u003e`integer`\u003c/span\u003e.\n"}},"required":["automationAccountName","name","resourceGroupName"],"inputProperties":{"automationAccountName":{"type":"string","description":"The name of the automation account in which the Variable is created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"description":{"type":"string","description":"The description of the Automation Variable.\n"},"encrypted":{"type":"boolean","description":"Specifies if the Automation Variable is encrypted. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"name":{"type":"string","description":"The name of the Automation Variable. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the Automation Variable. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"value":{"type":"integer","description":"The value of the Automation Variable as a \u003cspan pulumi-lang-nodejs=\"`integer`\" pulumi-lang-dotnet=\"`Integer`\" pulumi-lang-go=\"`integer`\" pulumi-lang-python=\"`integer`\" pulumi-lang-yaml=\"`integer`\" pulumi-lang-java=\"`integer`\"\u003e`integer`\u003c/span\u003e.\n"}},"requiredInputs":["automationAccountName","resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering IntVariable resources.\n","properties":{"automationAccountName":{"type":"string","description":"The name of the automation account in which the Variable is created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"description":{"type":"string","description":"The description of the Automation Variable.\n"},"encrypted":{"type":"boolean","description":"Specifies if the Automation Variable is encrypted. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"name":{"type":"string","description":"The name of the Automation Variable. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the Automation Variable. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"value":{"type":"integer","description":"The value of the Automation Variable as a \u003cspan pulumi-lang-nodejs=\"`integer`\" pulumi-lang-dotnet=\"`Integer`\" pulumi-lang-go=\"`integer`\" pulumi-lang-python=\"`integer`\" pulumi-lang-yaml=\"`integer`\" pulumi-lang-java=\"`integer`\"\u003e`integer`\u003c/span\u003e.\n"}},"type":"object"}},"azure:automation/jobSchedule:JobSchedule":{"description":"Links an Automation Runbook and Schedule.\n\n\u003e **Note:** AzureRM provides this stand-alone\u003cspan pulumi-lang-nodejs=\" azure.automation.JobSchedule \" pulumi-lang-dotnet=\" azure.automation.JobSchedule \" pulumi-lang-go=\" automation.JobSchedule \" pulumi-lang-python=\" automation.JobSchedule \" pulumi-lang-yaml=\" azure.automation.JobSchedule \" pulumi-lang-java=\" azure.automation.JobSchedule \"\u003e azure.automation.JobSchedule \u003c/span\u003eand an inlined \u003cspan pulumi-lang-nodejs=\"`jobSchedule`\" pulumi-lang-dotnet=\"`JobSchedule`\" pulumi-lang-go=\"`jobSchedule`\" pulumi-lang-python=\"`job_schedule`\" pulumi-lang-yaml=\"`jobSchedule`\" pulumi-lang-java=\"`jobSchedule`\"\u003e`job_schedule`\u003c/span\u003e property in\u003cspan pulumi-lang-nodejs=\" azurermRunbook \" pulumi-lang-dotnet=\" AzurermRunbook \" pulumi-lang-go=\" azurermRunbook \" pulumi-lang-python=\" azurerm_runbook \" pulumi-lang-yaml=\" azurermRunbook \" pulumi-lang-java=\" azurermRunbook \"\u003e azurerm_runbook \u003c/span\u003eto manage the job schedules. You can only make use of one of these methods to manage a job schedule.\n\n## Example Usage\n\nThis is an example of just the Job Schedule.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.automation.JobSchedule(\"example\", {\n    resourceGroupName: \"tf-rgr-automation\",\n    automationAccountName: \"tf-automation-account\",\n    scheduleName: \"hour\",\n    runbookName: \"Get-VirtualMachine\",\n    parameters: {\n        resourcegroup: \"tf-rgr-vm\",\n        vmname: \"TF-VM-01\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.automation.JobSchedule(\"example\",\n    resource_group_name=\"tf-rgr-automation\",\n    automation_account_name=\"tf-automation-account\",\n    schedule_name=\"hour\",\n    runbook_name=\"Get-VirtualMachine\",\n    parameters={\n        \"resourcegroup\": \"tf-rgr-vm\",\n        \"vmname\": \"TF-VM-01\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Automation.JobSchedule(\"example\", new()\n    {\n        ResourceGroupName = \"tf-rgr-automation\",\n        AutomationAccountName = \"tf-automation-account\",\n        ScheduleName = \"hour\",\n        RunbookName = \"Get-VirtualMachine\",\n        Parameters = \n        {\n            { \"resourcegroup\", \"tf-rgr-vm\" },\n            { \"vmname\", \"TF-VM-01\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/automation\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := automation.NewJobSchedule(ctx, \"example\", \u0026automation.JobScheduleArgs{\n\t\t\tResourceGroupName:     pulumi.String(\"tf-rgr-automation\"),\n\t\t\tAutomationAccountName: pulumi.String(\"tf-automation-account\"),\n\t\t\tScheduleName:          pulumi.String(\"hour\"),\n\t\t\tRunbookName:           pulumi.String(\"Get-VirtualMachine\"),\n\t\t\tParameters: pulumi.StringMap{\n\t\t\t\t\"resourcegroup\": pulumi.String(\"tf-rgr-vm\"),\n\t\t\t\t\"vmname\":        pulumi.String(\"TF-VM-01\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.automation.JobSchedule;\nimport com.pulumi.azure.automation.JobScheduleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new JobSchedule(\"example\", JobScheduleArgs.builder()\n            .resourceGroupName(\"tf-rgr-automation\")\n            .automationAccountName(\"tf-automation-account\")\n            .scheduleName(\"hour\")\n            .runbookName(\"Get-VirtualMachine\")\n            .parameters(Map.ofEntries(\n                Map.entry(\"resourcegroup\", \"tf-rgr-vm\"),\n                Map.entry(\"vmname\", \"TF-VM-01\")\n            ))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:automation:JobSchedule\n    properties:\n      resourceGroupName: tf-rgr-automation\n      automationAccountName: tf-automation-account\n      scheduleName: hour\n      runbookName: Get-VirtualMachine\n      parameters:\n        resourcegroup: tf-rgr-vm\n        vmname: TF-VM-01\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Automation` - 2024-10-23\n\n## Import\n\nAutomation Job Schedules can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:automation/jobSchedule:JobSchedule example \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Automation/automationAccounts/account1/schedules/schedule1|/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Automation/automationAccounts/account1/runbooks/runbook1\"\n```\n\n","properties":{"automationAccountName":{"type":"string","description":"The name of the Automation Account in which the Job Schedule is created. Changing this forces a new resource to be created.\n"},"jobScheduleId":{"type":"string","description":"The UUID identifying the Automation Job Schedule. Changing this forces a new resource to be created.\n"},"parameters":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of key/value pairs corresponding to the arguments that can be passed to the Runbook. Changing this forces a new resource to be created.\n\n\u003e **Note:** The parameter keys/names must strictly be in lowercase, even if this is not the case in the runbook. This is due to a limitation in Azure Automation where the parameter names are normalized. The values specified don't have this limitation.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the Job Schedule is created. Changing this forces a new resource to be created.\n"},"resourceManagerId":{"type":"string","description":"The Resource Manager ID of the Automation Job Schedule.\n"},"runOn":{"type":"string","description":"Name of a Hybrid Worker Group the Runbook will be executed on. Changing this forces a new resource to be created.\n"},"runbookName":{"type":"string","description":"The name of a Runbook to link to a Schedule. It needs to be in the same Automation Account as the Schedule and Job Schedule. Changing this forces a new resource to be created.\n"},"scheduleName":{"type":"string","description":"The name of the Schedule. Changing this forces a new resource to be created.\n"}},"required":["automationAccountName","jobScheduleId","resourceGroupName","resourceManagerId","runbookName","scheduleName"],"inputProperties":{"automationAccountName":{"type":"string","description":"The name of the Automation Account in which the Job Schedule is created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"jobScheduleId":{"type":"string","description":"The UUID identifying the Automation Job Schedule. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"parameters":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of key/value pairs corresponding to the arguments that can be passed to the Runbook. Changing this forces a new resource to be created.\n\n\u003e **Note:** The parameter keys/names must strictly be in lowercase, even if this is not the case in the runbook. This is due to a limitation in Azure Automation where the parameter names are normalized. The values specified don't have this limitation.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the Job Schedule is created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"runOn":{"type":"string","description":"Name of a Hybrid Worker Group the Runbook will be executed on. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"runbookName":{"type":"string","description":"The name of a Runbook to link to a Schedule. It needs to be in the same Automation Account as the Schedule and Job Schedule. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"scheduleName":{"type":"string","description":"The name of the Schedule. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["automationAccountName","resourceGroupName","runbookName","scheduleName"],"stateInputs":{"description":"Input properties used for looking up and filtering JobSchedule resources.\n","properties":{"automationAccountName":{"type":"string","description":"The name of the Automation Account in which the Job Schedule is created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"jobScheduleId":{"type":"string","description":"The UUID identifying the Automation Job Schedule. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"parameters":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of key/value pairs corresponding to the arguments that can be passed to the Runbook. Changing this forces a new resource to be created.\n\n\u003e **Note:** The parameter keys/names must strictly be in lowercase, even if this is not the case in the runbook. This is due to a limitation in Azure Automation where the parameter names are normalized. The values specified don't have this limitation.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the Job Schedule is created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceManagerId":{"type":"string","description":"The Resource Manager ID of the Automation Job Schedule.\n"},"runOn":{"type":"string","description":"Name of a Hybrid Worker Group the Runbook will be executed on. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"runbookName":{"type":"string","description":"The name of a Runbook to link to a Schedule. It needs to be in the same Automation Account as the Schedule and Job Schedule. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"scheduleName":{"type":"string","description":"The name of the Schedule. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:automation/module:Module":{"description":"Manages a Automation Module.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleAccount = new azure.automation.Account(\"example\", {\n    name: \"account1\",\n    location: example.location,\n    resourceGroupName: example.name,\n    skuName: \"Basic\",\n});\nconst exampleModule = new azure.automation.Module(\"example\", {\n    name: \"xActiveDirectory\",\n    resourceGroupName: example.name,\n    automationAccountName: exampleAccount.name,\n    moduleLink: {\n        uri: \"https://devopsgallerystorage.blob.core.windows.net/packages/xactivedirectory.2.19.0.nupkg\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_account = azure.automation.Account(\"example\",\n    name=\"account1\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku_name=\"Basic\")\nexample_module = azure.automation.Module(\"example\",\n    name=\"xActiveDirectory\",\n    resource_group_name=example.name,\n    automation_account_name=example_account.name,\n    module_link={\n        \"uri\": \"https://devopsgallerystorage.blob.core.windows.net/packages/xactivedirectory.2.19.0.nupkg\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleAccount = new Azure.Automation.Account(\"example\", new()\n    {\n        Name = \"account1\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        SkuName = \"Basic\",\n    });\n\n    var exampleModule = new Azure.Automation.Module(\"example\", new()\n    {\n        Name = \"xActiveDirectory\",\n        ResourceGroupName = example.Name,\n        AutomationAccountName = exampleAccount.Name,\n        ModuleLink = new Azure.Automation.Inputs.ModuleModuleLinkArgs\n        {\n            Uri = \"https://devopsgallerystorage.blob.core.windows.net/packages/xactivedirectory.2.19.0.nupkg\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/automation\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := automation.NewAccount(ctx, \"example\", \u0026automation.AccountArgs{\n\t\t\tName:              pulumi.String(\"account1\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSkuName:           pulumi.String(\"Basic\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = automation.NewModule(ctx, \"example\", \u0026automation.ModuleArgs{\n\t\t\tName:                  pulumi.String(\"xActiveDirectory\"),\n\t\t\tResourceGroupName:     example.Name,\n\t\t\tAutomationAccountName: exampleAccount.Name,\n\t\t\tModuleLink: \u0026automation.ModuleModuleLinkArgs{\n\t\t\t\tUri: pulumi.String(\"https://devopsgallerystorage.blob.core.windows.net/packages/xactivedirectory.2.19.0.nupkg\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.automation.Account;\nimport com.pulumi.azure.automation.AccountArgs;\nimport com.pulumi.azure.automation.Module;\nimport com.pulumi.azure.automation.ModuleArgs;\nimport com.pulumi.azure.automation.inputs.ModuleModuleLinkArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"account1\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .skuName(\"Basic\")\n            .build());\n\n        var exampleModule = new Module(\"exampleModule\", ModuleArgs.builder()\n            .name(\"xActiveDirectory\")\n            .resourceGroupName(example.name())\n            .automationAccountName(exampleAccount.name())\n            .moduleLink(ModuleModuleLinkArgs.builder()\n                .uri(\"https://devopsgallerystorage.blob.core.windows.net/packages/xactivedirectory.2.19.0.nupkg\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleAccount:\n    type: azure:automation:Account\n    name: example\n    properties:\n      name: account1\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      skuName: Basic\n  exampleModule:\n    type: azure:automation:Module\n    name: example\n    properties:\n      name: xActiveDirectory\n      resourceGroupName: ${example.name}\n      automationAccountName: ${exampleAccount.name}\n      moduleLink:\n        uri: https://devopsgallerystorage.blob.core.windows.net/packages/xactivedirectory.2.19.0.nupkg\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Automation` - 2024-10-23\n\n## Import\n\nAutomation Modules can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:automation/module:Module module1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Automation/automationAccounts/account1/modules/module1\n```\n\n","properties":{"automationAccountName":{"type":"string","description":"The name of the automation account in which the Module is created. Changing this forces a new resource to be created.\n"},"moduleLink":{"$ref":"#/types/azure:automation/ModuleModuleLink:ModuleModuleLink","description":"A \u003cspan pulumi-lang-nodejs=\"`moduleLink`\" pulumi-lang-dotnet=\"`ModuleLink`\" pulumi-lang-go=\"`moduleLink`\" pulumi-lang-python=\"`module_link`\" pulumi-lang-yaml=\"`moduleLink`\" pulumi-lang-java=\"`moduleLink`\"\u003e`module_link`\u003c/span\u003e block as defined below.\n"},"name":{"type":"string","description":"Specifies the name of the Module. Changing this forces a new resource to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the Module is created. Changing this forces a new resource to be created.\n"}},"required":["automationAccountName","moduleLink","name","resourceGroupName"],"inputProperties":{"automationAccountName":{"type":"string","description":"The name of the automation account in which the Module is created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"moduleLink":{"$ref":"#/types/azure:automation/ModuleModuleLink:ModuleModuleLink","description":"A \u003cspan pulumi-lang-nodejs=\"`moduleLink`\" pulumi-lang-dotnet=\"`ModuleLink`\" pulumi-lang-go=\"`moduleLink`\" pulumi-lang-python=\"`module_link`\" pulumi-lang-yaml=\"`moduleLink`\" pulumi-lang-java=\"`moduleLink`\"\u003e`module_link`\u003c/span\u003e block as defined below.\n"},"name":{"type":"string","description":"Specifies the name of the Module. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the Module is created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["automationAccountName","moduleLink","resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering Module resources.\n","properties":{"automationAccountName":{"type":"string","description":"The name of the automation account in which the Module is created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"moduleLink":{"$ref":"#/types/azure:automation/ModuleModuleLink:ModuleModuleLink","description":"A \u003cspan pulumi-lang-nodejs=\"`moduleLink`\" pulumi-lang-dotnet=\"`ModuleLink`\" pulumi-lang-go=\"`moduleLink`\" pulumi-lang-python=\"`module_link`\" pulumi-lang-yaml=\"`moduleLink`\" pulumi-lang-java=\"`moduleLink`\"\u003e`module_link`\u003c/span\u003e block as defined below.\n"},"name":{"type":"string","description":"Specifies the name of the Module. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the Module is created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:automation/powershell72Module:Powershell72Module":{"description":"Manages a Automation Powershell 7.2 Module.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleAccount = new azure.automation.Account(\"example\", {\n    name: \"account1\",\n    location: example.location,\n    resourceGroupName: example.name,\n    skuName: \"Basic\",\n});\nconst examplePowershell72Module = new azure.automation.Powershell72Module(\"example\", {\n    name: \"xActiveDirectory\",\n    automationAccountId: exampleAccount.id,\n    moduleLink: {\n        uri: \"https://devopsgallerystorage.blob.core.windows.net/packages/xactivedirectory.2.19.0.nupkg\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_account = azure.automation.Account(\"example\",\n    name=\"account1\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku_name=\"Basic\")\nexample_powershell72_module = azure.automation.Powershell72Module(\"example\",\n    name=\"xActiveDirectory\",\n    automation_account_id=example_account.id,\n    module_link={\n        \"uri\": \"https://devopsgallerystorage.blob.core.windows.net/packages/xactivedirectory.2.19.0.nupkg\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleAccount = new Azure.Automation.Account(\"example\", new()\n    {\n        Name = \"account1\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        SkuName = \"Basic\",\n    });\n\n    var examplePowershell72Module = new Azure.Automation.Powershell72Module(\"example\", new()\n    {\n        Name = \"xActiveDirectory\",\n        AutomationAccountId = exampleAccount.Id,\n        ModuleLink = new Azure.Automation.Inputs.Powershell72ModuleModuleLinkArgs\n        {\n            Uri = \"https://devopsgallerystorage.blob.core.windows.net/packages/xactivedirectory.2.19.0.nupkg\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/automation\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := automation.NewAccount(ctx, \"example\", \u0026automation.AccountArgs{\n\t\t\tName:              pulumi.String(\"account1\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSkuName:           pulumi.String(\"Basic\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = automation.NewPowershell72Module(ctx, \"example\", \u0026automation.Powershell72ModuleArgs{\n\t\t\tName:                pulumi.String(\"xActiveDirectory\"),\n\t\t\tAutomationAccountId: exampleAccount.ID(),\n\t\t\tModuleLink: \u0026automation.Powershell72ModuleModuleLinkArgs{\n\t\t\t\tUri: pulumi.String(\"https://devopsgallerystorage.blob.core.windows.net/packages/xactivedirectory.2.19.0.nupkg\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.automation.Account;\nimport com.pulumi.azure.automation.AccountArgs;\nimport com.pulumi.azure.automation.Powershell72Module;\nimport com.pulumi.azure.automation.Powershell72ModuleArgs;\nimport com.pulumi.azure.automation.inputs.Powershell72ModuleModuleLinkArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"account1\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .skuName(\"Basic\")\n            .build());\n\n        var examplePowershell72Module = new Powershell72Module(\"examplePowershell72Module\", Powershell72ModuleArgs.builder()\n            .name(\"xActiveDirectory\")\n            .automationAccountId(exampleAccount.id())\n            .moduleLink(Powershell72ModuleModuleLinkArgs.builder()\n                .uri(\"https://devopsgallerystorage.blob.core.windows.net/packages/xactivedirectory.2.19.0.nupkg\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleAccount:\n    type: azure:automation:Account\n    name: example\n    properties:\n      name: account1\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      skuName: Basic\n  examplePowershell72Module:\n    type: azure:automation:Powershell72Module\n    name: example\n    properties:\n      name: xActiveDirectory\n      automationAccountId: ${exampleAccount.id}\n      moduleLink:\n        uri: https://devopsgallerystorage.blob.core.windows.net/packages/xactivedirectory.2.19.0.nupkg\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Automation` - 2023-11-01\n\n## Import\n\nAutomation Modules can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:automation/powershell72Module:Powershell72Module module1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Automation/automationAccounts/account1/powerShell72Modules/module1\n```\n\n","properties":{"automationAccountId":{"type":"string","description":"The ID of Automation Account to manage this Watcher. Changing this forces a new Watcher to be created.\n"},"moduleLink":{"$ref":"#/types/azure:automation/Powershell72ModuleModuleLink:Powershell72ModuleModuleLink","description":"A \u003cspan pulumi-lang-nodejs=\"`moduleLink`\" pulumi-lang-dotnet=\"`ModuleLink`\" pulumi-lang-go=\"`moduleLink`\" pulumi-lang-python=\"`module_link`\" pulumi-lang-yaml=\"`moduleLink`\" pulumi-lang-java=\"`moduleLink`\"\u003e`module_link`\u003c/span\u003e block as defined below.\n"},"name":{"type":"string","description":"Specifies the name of the Module. Changing this forces a new resource to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"required":["automationAccountId","moduleLink","name"],"inputProperties":{"automationAccountId":{"type":"string","description":"The ID of Automation Account to manage this Watcher. Changing this forces a new Watcher to be created.\n","willReplaceOnChanges":true},"moduleLink":{"$ref":"#/types/azure:automation/Powershell72ModuleModuleLink:Powershell72ModuleModuleLink","description":"A \u003cspan pulumi-lang-nodejs=\"`moduleLink`\" pulumi-lang-dotnet=\"`ModuleLink`\" pulumi-lang-go=\"`moduleLink`\" pulumi-lang-python=\"`module_link`\" pulumi-lang-yaml=\"`moduleLink`\" pulumi-lang-java=\"`moduleLink`\"\u003e`module_link`\u003c/span\u003e block as defined below.\n"},"name":{"type":"string","description":"Specifies the name of the Module. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"requiredInputs":["automationAccountId","moduleLink"],"stateInputs":{"description":"Input properties used for looking up and filtering Powershell72Module resources.\n","properties":{"automationAccountId":{"type":"string","description":"The ID of Automation Account to manage this Watcher. Changing this forces a new Watcher to be created.\n","willReplaceOnChanges":true},"moduleLink":{"$ref":"#/types/azure:automation/Powershell72ModuleModuleLink:Powershell72ModuleModuleLink","description":"A \u003cspan pulumi-lang-nodejs=\"`moduleLink`\" pulumi-lang-dotnet=\"`ModuleLink`\" pulumi-lang-go=\"`moduleLink`\" pulumi-lang-python=\"`module_link`\" pulumi-lang-yaml=\"`moduleLink`\" pulumi-lang-java=\"`moduleLink`\"\u003e`module_link`\u003c/span\u003e block as defined below.\n"},"name":{"type":"string","description":"Specifies the name of the Module. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"type":"object"}},"azure:automation/python3Package:Python3Package":{"description":"Manages a Automation Python3 Package.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"rg-example\",\n    location: \"%[2]s\",\n});\nconst exampleAccount = new azure.automation.Account(\"example\", {\n    name: \"accexample\",\n    location: example.location,\n    resourceGroupName: example.name,\n    skuName: \"Basic\",\n});\nconst examplePython3Package = new azure.automation.Python3Package(\"example\", {\n    name: \"example\",\n    resourceGroupName: example.name,\n    automationAccountName: exampleAccount.name,\n    contentUri: \"https://pypi.org/packages/source/r/requests/requests-2.31.0.tar.gz\",\n    contentVersion: \"2.31.0\",\n    hashAlgorithm: \"sha256\",\n    hashValue: \"942c5a758f98d790eaed1a29cb6eefc7ffb0d1cf7af05c3d2791656dbd6ad1e1\",\n    tags: {\n        key: \"foo\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"rg-example\",\n    location=\"%[2]s\")\nexample_account = azure.automation.Account(\"example\",\n    name=\"accexample\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku_name=\"Basic\")\nexample_python3_package = azure.automation.Python3Package(\"example\",\n    name=\"example\",\n    resource_group_name=example.name,\n    automation_account_name=example_account.name,\n    content_uri=\"https://pypi.org/packages/source/r/requests/requests-2.31.0.tar.gz\",\n    content_version=\"2.31.0\",\n    hash_algorithm=\"sha256\",\n    hash_value=\"942c5a758f98d790eaed1a29cb6eefc7ffb0d1cf7af05c3d2791656dbd6ad1e1\",\n    tags={\n        \"key\": \"foo\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"rg-example\",\n        Location = \"%[2]s\",\n    });\n\n    var exampleAccount = new Azure.Automation.Account(\"example\", new()\n    {\n        Name = \"accexample\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        SkuName = \"Basic\",\n    });\n\n    var examplePython3Package = new Azure.Automation.Python3Package(\"example\", new()\n    {\n        Name = \"example\",\n        ResourceGroupName = example.Name,\n        AutomationAccountName = exampleAccount.Name,\n        ContentUri = \"https://pypi.org/packages/source/r/requests/requests-2.31.0.tar.gz\",\n        ContentVersion = \"2.31.0\",\n        HashAlgorithm = \"sha256\",\n        HashValue = \"942c5a758f98d790eaed1a29cb6eefc7ffb0d1cf7af05c3d2791656dbd6ad1e1\",\n        Tags = \n        {\n            { \"key\", \"foo\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/automation\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"rg-example\"),\n\t\t\tLocation: pulumi.String(\"%[2]s\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := automation.NewAccount(ctx, \"example\", \u0026automation.AccountArgs{\n\t\t\tName:              pulumi.String(\"accexample\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSkuName:           pulumi.String(\"Basic\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = automation.NewPython3Package(ctx, \"example\", \u0026automation.Python3PackageArgs{\n\t\t\tName:                  pulumi.String(\"example\"),\n\t\t\tResourceGroupName:     example.Name,\n\t\t\tAutomationAccountName: exampleAccount.Name,\n\t\t\tContentUri:            pulumi.String(\"https://pypi.org/packages/source/r/requests/requests-2.31.0.tar.gz\"),\n\t\t\tContentVersion:        pulumi.String(\"2.31.0\"),\n\t\t\tHashAlgorithm:         pulumi.String(\"sha256\"),\n\t\t\tHashValue:             pulumi.String(\"942c5a758f98d790eaed1a29cb6eefc7ffb0d1cf7af05c3d2791656dbd6ad1e1\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"key\": pulumi.String(\"foo\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.automation.Account;\nimport com.pulumi.azure.automation.AccountArgs;\nimport com.pulumi.azure.automation.Python3Package;\nimport com.pulumi.azure.automation.Python3PackageArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"rg-example\")\n            .location(\"%[2]s\")\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"accexample\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .skuName(\"Basic\")\n            .build());\n\n        var examplePython3Package = new Python3Package(\"examplePython3Package\", Python3PackageArgs.builder()\n            .name(\"example\")\n            .resourceGroupName(example.name())\n            .automationAccountName(exampleAccount.name())\n            .contentUri(\"https://pypi.org/packages/source/r/requests/requests-2.31.0.tar.gz\")\n            .contentVersion(\"2.31.0\")\n            .hashAlgorithm(\"sha256\")\n            .hashValue(\"942c5a758f98d790eaed1a29cb6eefc7ffb0d1cf7af05c3d2791656dbd6ad1e1\")\n            .tags(Map.of(\"key\", \"foo\"))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: rg-example\n      location: '%[2]s'\n  exampleAccount:\n    type: azure:automation:Account\n    name: example\n    properties:\n      name: accexample\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      skuName: Basic\n  examplePython3Package:\n    type: azure:automation:Python3Package\n    name: example\n    properties:\n      name: example\n      resourceGroupName: ${example.name}\n      automationAccountName: ${exampleAccount.name}\n      contentUri: https://pypi.org/packages/source/r/requests/requests-2.31.0.tar.gz\n      contentVersion: 2.31.0\n      hashAlgorithm: sha256\n      hashValue: 942c5a758f98d790eaed1a29cb6eefc7ffb0d1cf7af05c3d2791656dbd6ad1e1\n      tags:\n        key: foo\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Automation` - 2024-10-23\n\n## Import\n\nAutomation Python3 Packages can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:automation/python3Package:Python3Package example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Automation/automationAccounts/account1/python3Packages/pkg\n```\n\n","properties":{"automationAccountName":{"type":"string","description":"The name of the automation account in which the Python3 Package is created. Changing this forces a new resource to be created.\n"},"contentUri":{"type":"string","description":"The URL of the python package. Changing this forces a new Automation Python3 Package to be created.\n"},"contentVersion":{"type":"string","description":"Specify the version of the python3 package. The value should meet the system.version class format like `1.1.1`. Changing this forces a new Automation Python3 Package to be created.\n"},"hashAlgorithm":{"type":"string","description":"Specify the hash algorithm used to hash the content of the python3 package. Changing this forces a new Automation Python3 Package to be created.\n"},"hashValue":{"type":"string","description":"Specity the hash value of the content. Changing this forces a new Automation Python3 Package to be created.\n"},"name":{"type":"string","description":"The name which should be used for this Automation Python3 Package. Changing this forces a new Automation Python3 Package to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the Python3 Package is created. Changing this forces a new resource to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Automation Python3 Package.\n"}},"required":["automationAccountName","contentUri","name","resourceGroupName"],"inputProperties":{"automationAccountName":{"type":"string","description":"The name of the automation account in which the Python3 Package is created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"contentUri":{"type":"string","description":"The URL of the python package. Changing this forces a new Automation Python3 Package to be created.\n","willReplaceOnChanges":true},"contentVersion":{"type":"string","description":"Specify the version of the python3 package. The value should meet the system.version class format like `1.1.1`. Changing this forces a new Automation Python3 Package to be created.\n","willReplaceOnChanges":true},"hashAlgorithm":{"type":"string","description":"Specify the hash algorithm used to hash the content of the python3 package. Changing this forces a new Automation Python3 Package to be created.\n","willReplaceOnChanges":true},"hashValue":{"type":"string","description":"Specity the hash value of the content. Changing this forces a new Automation Python3 Package to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Automation Python3 Package. Changing this forces a new Automation Python3 Package to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the Python3 Package is created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Automation Python3 Package.\n"}},"requiredInputs":["automationAccountName","contentUri","resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering Python3Package resources.\n","properties":{"automationAccountName":{"type":"string","description":"The name of the automation account in which the Python3 Package is created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"contentUri":{"type":"string","description":"The URL of the python package. Changing this forces a new Automation Python3 Package to be created.\n","willReplaceOnChanges":true},"contentVersion":{"type":"string","description":"Specify the version of the python3 package. The value should meet the system.version class format like `1.1.1`. Changing this forces a new Automation Python3 Package to be created.\n","willReplaceOnChanges":true},"hashAlgorithm":{"type":"string","description":"Specify the hash algorithm used to hash the content of the python3 package. Changing this forces a new Automation Python3 Package to be created.\n","willReplaceOnChanges":true},"hashValue":{"type":"string","description":"Specity the hash value of the content. Changing this forces a new Automation Python3 Package to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Automation Python3 Package. Changing this forces a new Automation Python3 Package to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the Python3 Package is created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Automation Python3 Package.\n"}},"type":"object"}},"azure:automation/runBook:RunBook":{"description":"Manages a Automation Runbook.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleAccount = new azure.automation.Account(\"example\", {\n    name: \"account1\",\n    location: example.location,\n    resourceGroupName: example.name,\n    skuName: \"Basic\",\n});\nconst exampleRunBook = new azure.automation.RunBook(\"example\", {\n    name: \"Get-AzureVMTutorial\",\n    location: example.location,\n    resourceGroupName: example.name,\n    automationAccountName: exampleAccount.name,\n    logVerbose: true,\n    logProgress: true,\n    description: \"This is an example runbook\",\n    runbookType: \"PowerShellWorkflow\",\n    publishContentLink: {\n        uri: \"https://raw.githubusercontent.com/Azure/azure-quickstart-templates/c4935ffb69246a6058eb24f54640f53f69d3ac9f/101-automation-runbook-getvms/Runbooks/Get-AzureVMTutorial.ps1\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_account = azure.automation.Account(\"example\",\n    name=\"account1\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku_name=\"Basic\")\nexample_run_book = azure.automation.RunBook(\"example\",\n    name=\"Get-AzureVMTutorial\",\n    location=example.location,\n    resource_group_name=example.name,\n    automation_account_name=example_account.name,\n    log_verbose=True,\n    log_progress=True,\n    description=\"This is an example runbook\",\n    runbook_type=\"PowerShellWorkflow\",\n    publish_content_link={\n        \"uri\": \"https://raw.githubusercontent.com/Azure/azure-quickstart-templates/c4935ffb69246a6058eb24f54640f53f69d3ac9f/101-automation-runbook-getvms/Runbooks/Get-AzureVMTutorial.ps1\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleAccount = new Azure.Automation.Account(\"example\", new()\n    {\n        Name = \"account1\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        SkuName = \"Basic\",\n    });\n\n    var exampleRunBook = new Azure.Automation.RunBook(\"example\", new()\n    {\n        Name = \"Get-AzureVMTutorial\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        AutomationAccountName = exampleAccount.Name,\n        LogVerbose = true,\n        LogProgress = true,\n        Description = \"This is an example runbook\",\n        RunbookType = \"PowerShellWorkflow\",\n        PublishContentLink = new Azure.Automation.Inputs.RunBookPublishContentLinkArgs\n        {\n            Uri = \"https://raw.githubusercontent.com/Azure/azure-quickstart-templates/c4935ffb69246a6058eb24f54640f53f69d3ac9f/101-automation-runbook-getvms/Runbooks/Get-AzureVMTutorial.ps1\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/automation\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := automation.NewAccount(ctx, \"example\", \u0026automation.AccountArgs{\n\t\t\tName:              pulumi.String(\"account1\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSkuName:           pulumi.String(\"Basic\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = automation.NewRunBook(ctx, \"example\", \u0026automation.RunBookArgs{\n\t\t\tName:                  pulumi.String(\"Get-AzureVMTutorial\"),\n\t\t\tLocation:              example.Location,\n\t\t\tResourceGroupName:     example.Name,\n\t\t\tAutomationAccountName: exampleAccount.Name,\n\t\t\tLogVerbose:            pulumi.Bool(true),\n\t\t\tLogProgress:           pulumi.Bool(true),\n\t\t\tDescription:           pulumi.String(\"This is an example runbook\"),\n\t\t\tRunbookType:           pulumi.String(\"PowerShellWorkflow\"),\n\t\t\tPublishContentLink: \u0026automation.RunBookPublishContentLinkArgs{\n\t\t\t\tUri: pulumi.String(\"https://raw.githubusercontent.com/Azure/azure-quickstart-templates/c4935ffb69246a6058eb24f54640f53f69d3ac9f/101-automation-runbook-getvms/Runbooks/Get-AzureVMTutorial.ps1\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.automation.Account;\nimport com.pulumi.azure.automation.AccountArgs;\nimport com.pulumi.azure.automation.RunBook;\nimport com.pulumi.azure.automation.RunBookArgs;\nimport com.pulumi.azure.automation.inputs.RunBookPublishContentLinkArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"account1\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .skuName(\"Basic\")\n            .build());\n\n        var exampleRunBook = new RunBook(\"exampleRunBook\", RunBookArgs.builder()\n            .name(\"Get-AzureVMTutorial\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .automationAccountName(exampleAccount.name())\n            .logVerbose(true)\n            .logProgress(true)\n            .description(\"This is an example runbook\")\n            .runbookType(\"PowerShellWorkflow\")\n            .publishContentLink(RunBookPublishContentLinkArgs.builder()\n                .uri(\"https://raw.githubusercontent.com/Azure/azure-quickstart-templates/c4935ffb69246a6058eb24f54640f53f69d3ac9f/101-automation-runbook-getvms/Runbooks/Get-AzureVMTutorial.ps1\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleAccount:\n    type: azure:automation:Account\n    name: example\n    properties:\n      name: account1\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      skuName: Basic\n  exampleRunBook:\n    type: azure:automation:RunBook\n    name: example\n    properties:\n      name: Get-AzureVMTutorial\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      automationAccountName: ${exampleAccount.name}\n      logVerbose: 'true'\n      logProgress: 'true'\n      description: This is an example runbook\n      runbookType: PowerShellWorkflow\n      publishContentLink:\n        uri: https://raw.githubusercontent.com/Azure/azure-quickstart-templates/c4935ffb69246a6058eb24f54640f53f69d3ac9f/101-automation-runbook-getvms/Runbooks/Get-AzureVMTutorial.ps1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nAutomation Runbooks can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:automation/runBook:RunBook Get-AzureVMTutorial /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Automation/automationAccounts/account1/runbooks/Get-AzureVMTutorial\n```\n\n","properties":{"automationAccountName":{"type":"string","description":"The name of the automation account in which the Runbook is created. Changing this forces a new resource to be created.\n"},"content":{"type":"string","description":"The desired content of the runbook.\n\n\u003e **Note:** The Azure API requires a \u003cspan pulumi-lang-nodejs=\"`publishContentLink`\" pulumi-lang-dotnet=\"`PublishContentLink`\" pulumi-lang-go=\"`publishContentLink`\" pulumi-lang-python=\"`publish_content_link`\" pulumi-lang-yaml=\"`publishContentLink`\" pulumi-lang-java=\"`publishContentLink`\"\u003e`publish_content_link`\u003c/span\u003e to be supplied even when specifying your own \u003cspan pulumi-lang-nodejs=\"`content`\" pulumi-lang-dotnet=\"`Content`\" pulumi-lang-go=\"`content`\" pulumi-lang-python=\"`content`\" pulumi-lang-yaml=\"`content`\" pulumi-lang-java=\"`content`\"\u003e`content`\u003c/span\u003e.\n"},"description":{"type":"string","description":"A description for the runbook.\n"},"draft":{"$ref":"#/types/azure:automation/RunBookDraft:RunBookDraft","description":"A \u003cspan pulumi-lang-nodejs=\"`draft`\" pulumi-lang-dotnet=\"`Draft`\" pulumi-lang-go=\"`draft`\" pulumi-lang-python=\"`draft`\" pulumi-lang-yaml=\"`draft`\" pulumi-lang-java=\"`draft`\"\u003e`draft`\u003c/span\u003e block as defined below.\n"},"jobSchedules":{"type":"array","items":{"$ref":"#/types/azure:automation/RunBookJobSchedule:RunBookJobSchedule"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`jobSchedule`\" pulumi-lang-dotnet=\"`JobSchedule`\" pulumi-lang-go=\"`jobSchedule`\" pulumi-lang-python=\"`job_schedule`\" pulumi-lang-yaml=\"`jobSchedule`\" pulumi-lang-java=\"`jobSchedule`\"\u003e`job_schedule`\u003c/span\u003e block as defined below.\n\n\u003e **Note:** AzureRM provides a stand-alone\u003cspan pulumi-lang-nodejs=\" azure.automation.JobSchedule \" pulumi-lang-dotnet=\" azure.automation.JobSchedule \" pulumi-lang-go=\" automation.JobSchedule \" pulumi-lang-python=\" automation.JobSchedule \" pulumi-lang-yaml=\" azure.automation.JobSchedule \" pulumi-lang-java=\" azure.automation.JobSchedule \"\u003e azure.automation.JobSchedule \u003c/span\u003eand this inlined \u003cspan pulumi-lang-nodejs=\"`jobSchedule`\" pulumi-lang-dotnet=\"`JobSchedule`\" pulumi-lang-go=\"`jobSchedule`\" pulumi-lang-python=\"`job_schedule`\" pulumi-lang-yaml=\"`jobSchedule`\" pulumi-lang-java=\"`jobSchedule`\"\u003e`job_schedule`\u003c/span\u003e property to manage the job schedules. At this time you should choose one of them to manage the job schedule resources.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n"},"logActivityTraceLevel":{"type":"integer","description":"Specifies the activity-level tracing options of the runbook, available only for Graphical runbooks. Possible values are \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e for None, \u003cspan pulumi-lang-nodejs=\"`9`\" pulumi-lang-dotnet=\"`9`\" pulumi-lang-go=\"`9`\" pulumi-lang-python=\"`9`\" pulumi-lang-yaml=\"`9`\" pulumi-lang-java=\"`9`\"\u003e`9`\u003c/span\u003e for Basic, and \u003cspan pulumi-lang-nodejs=\"`15`\" pulumi-lang-dotnet=\"`15`\" pulumi-lang-go=\"`15`\" pulumi-lang-python=\"`15`\" pulumi-lang-yaml=\"`15`\" pulumi-lang-java=\"`15`\"\u003e`15`\u003c/span\u003e for Detailed. Must turn on Verbose logging in order to see the tracing.\n"},"logProgress":{"type":"boolean","description":"Progress log option.\n"},"logVerbose":{"type":"boolean","description":"Verbose log option.\n"},"name":{"type":"string","description":"Specifies the name of the Runbook. Changing this forces a new resource to be created.\n"},"publishContentLink":{"$ref":"#/types/azure:automation/RunBookPublishContentLink:RunBookPublishContentLink","description":"One \u003cspan pulumi-lang-nodejs=\"`publishContentLink`\" pulumi-lang-dotnet=\"`PublishContentLink`\" pulumi-lang-go=\"`publishContentLink`\" pulumi-lang-python=\"`publish_content_link`\" pulumi-lang-yaml=\"`publishContentLink`\" pulumi-lang-java=\"`publishContentLink`\"\u003e`publish_content_link`\u003c/span\u003e block as defined below.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the Runbook is created. Changing this forces a new resource to be created.\n"},"runbookType":{"type":"string","description":"The type of the runbook - can be either `Graph`, `GraphPowerShell`, `GraphPowerShellWorkflow`, `PowerShellWorkflow`, `PowerShell`, `PowerShell72`, `Python`, `Python3`, `Python2` or `Script`. Changing this forces a new resource to be created.\n"},"runtimeEnvironmentName":{"type":"string","description":"The runtime environment name for the runbook.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`runbookType`\" pulumi-lang-dotnet=\"`RunbookType`\" pulumi-lang-go=\"`runbookType`\" pulumi-lang-python=\"`runbook_type`\" pulumi-lang-yaml=\"`runbookType`\" pulumi-lang-java=\"`runbookType`\"\u003e`runbook_type`\u003c/span\u003e must be set to a value that supports runtime environments, such as `PowerShell` or `Python`.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"required":["automationAccountName","content","jobSchedules","location","logProgress","logVerbose","name","resourceGroupName","runbookType"],"inputProperties":{"automationAccountName":{"type":"string","description":"The name of the automation account in which the Runbook is created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"content":{"type":"string","description":"The desired content of the runbook.\n\n\u003e **Note:** The Azure API requires a \u003cspan pulumi-lang-nodejs=\"`publishContentLink`\" pulumi-lang-dotnet=\"`PublishContentLink`\" pulumi-lang-go=\"`publishContentLink`\" pulumi-lang-python=\"`publish_content_link`\" pulumi-lang-yaml=\"`publishContentLink`\" pulumi-lang-java=\"`publishContentLink`\"\u003e`publish_content_link`\u003c/span\u003e to be supplied even when specifying your own \u003cspan pulumi-lang-nodejs=\"`content`\" pulumi-lang-dotnet=\"`Content`\" pulumi-lang-go=\"`content`\" pulumi-lang-python=\"`content`\" pulumi-lang-yaml=\"`content`\" pulumi-lang-java=\"`content`\"\u003e`content`\u003c/span\u003e.\n"},"description":{"type":"string","description":"A description for the runbook.\n"},"draft":{"$ref":"#/types/azure:automation/RunBookDraft:RunBookDraft","description":"A \u003cspan pulumi-lang-nodejs=\"`draft`\" pulumi-lang-dotnet=\"`Draft`\" pulumi-lang-go=\"`draft`\" pulumi-lang-python=\"`draft`\" pulumi-lang-yaml=\"`draft`\" pulumi-lang-java=\"`draft`\"\u003e`draft`\u003c/span\u003e block as defined below.\n"},"jobSchedules":{"type":"array","items":{"$ref":"#/types/azure:automation/RunBookJobSchedule:RunBookJobSchedule"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`jobSchedule`\" pulumi-lang-dotnet=\"`JobSchedule`\" pulumi-lang-go=\"`jobSchedule`\" pulumi-lang-python=\"`job_schedule`\" pulumi-lang-yaml=\"`jobSchedule`\" pulumi-lang-java=\"`jobSchedule`\"\u003e`job_schedule`\u003c/span\u003e block as defined below.\n\n\u003e **Note:** AzureRM provides a stand-alone\u003cspan pulumi-lang-nodejs=\" azure.automation.JobSchedule \" pulumi-lang-dotnet=\" azure.automation.JobSchedule \" pulumi-lang-go=\" automation.JobSchedule \" pulumi-lang-python=\" automation.JobSchedule \" pulumi-lang-yaml=\" azure.automation.JobSchedule \" pulumi-lang-java=\" azure.automation.JobSchedule \"\u003e azure.automation.JobSchedule \u003c/span\u003eand this inlined \u003cspan pulumi-lang-nodejs=\"`jobSchedule`\" pulumi-lang-dotnet=\"`JobSchedule`\" pulumi-lang-go=\"`jobSchedule`\" pulumi-lang-python=\"`job_schedule`\" pulumi-lang-yaml=\"`jobSchedule`\" pulumi-lang-java=\"`jobSchedule`\"\u003e`job_schedule`\u003c/span\u003e property to manage the job schedules. At this time you should choose one of them to manage the job schedule resources.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"logActivityTraceLevel":{"type":"integer","description":"Specifies the activity-level tracing options of the runbook, available only for Graphical runbooks. Possible values are \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e for None, \u003cspan pulumi-lang-nodejs=\"`9`\" pulumi-lang-dotnet=\"`9`\" pulumi-lang-go=\"`9`\" pulumi-lang-python=\"`9`\" pulumi-lang-yaml=\"`9`\" pulumi-lang-java=\"`9`\"\u003e`9`\u003c/span\u003e for Basic, and \u003cspan pulumi-lang-nodejs=\"`15`\" pulumi-lang-dotnet=\"`15`\" pulumi-lang-go=\"`15`\" pulumi-lang-python=\"`15`\" pulumi-lang-yaml=\"`15`\" pulumi-lang-java=\"`15`\"\u003e`15`\u003c/span\u003e for Detailed. Must turn on Verbose logging in order to see the tracing.\n"},"logProgress":{"type":"boolean","description":"Progress log option.\n"},"logVerbose":{"type":"boolean","description":"Verbose log option.\n"},"name":{"type":"string","description":"Specifies the name of the Runbook. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"publishContentLink":{"$ref":"#/types/azure:automation/RunBookPublishContentLink:RunBookPublishContentLink","description":"One \u003cspan pulumi-lang-nodejs=\"`publishContentLink`\" pulumi-lang-dotnet=\"`PublishContentLink`\" pulumi-lang-go=\"`publishContentLink`\" pulumi-lang-python=\"`publish_content_link`\" pulumi-lang-yaml=\"`publishContentLink`\" pulumi-lang-java=\"`publishContentLink`\"\u003e`publish_content_link`\u003c/span\u003e block as defined below.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the Runbook is created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"runbookType":{"type":"string","description":"The type of the runbook - can be either `Graph`, `GraphPowerShell`, `GraphPowerShellWorkflow`, `PowerShellWorkflow`, `PowerShell`, `PowerShell72`, `Python`, `Python3`, `Python2` or `Script`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"runtimeEnvironmentName":{"type":"string","description":"The runtime environment name for the runbook.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`runbookType`\" pulumi-lang-dotnet=\"`RunbookType`\" pulumi-lang-go=\"`runbookType`\" pulumi-lang-python=\"`runbook_type`\" pulumi-lang-yaml=\"`runbookType`\" pulumi-lang-java=\"`runbookType`\"\u003e`runbook_type`\u003c/span\u003e must be set to a value that supports runtime environments, such as `PowerShell` or `Python`.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"requiredInputs":["automationAccountName","logProgress","logVerbose","resourceGroupName","runbookType"],"stateInputs":{"description":"Input properties used for looking up and filtering RunBook resources.\n","properties":{"automationAccountName":{"type":"string","description":"The name of the automation account in which the Runbook is created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"content":{"type":"string","description":"The desired content of the runbook.\n\n\u003e **Note:** The Azure API requires a \u003cspan pulumi-lang-nodejs=\"`publishContentLink`\" pulumi-lang-dotnet=\"`PublishContentLink`\" pulumi-lang-go=\"`publishContentLink`\" pulumi-lang-python=\"`publish_content_link`\" pulumi-lang-yaml=\"`publishContentLink`\" pulumi-lang-java=\"`publishContentLink`\"\u003e`publish_content_link`\u003c/span\u003e to be supplied even when specifying your own \u003cspan pulumi-lang-nodejs=\"`content`\" pulumi-lang-dotnet=\"`Content`\" pulumi-lang-go=\"`content`\" pulumi-lang-python=\"`content`\" pulumi-lang-yaml=\"`content`\" pulumi-lang-java=\"`content`\"\u003e`content`\u003c/span\u003e.\n"},"description":{"type":"string","description":"A description for the runbook.\n"},"draft":{"$ref":"#/types/azure:automation/RunBookDraft:RunBookDraft","description":"A \u003cspan pulumi-lang-nodejs=\"`draft`\" pulumi-lang-dotnet=\"`Draft`\" pulumi-lang-go=\"`draft`\" pulumi-lang-python=\"`draft`\" pulumi-lang-yaml=\"`draft`\" pulumi-lang-java=\"`draft`\"\u003e`draft`\u003c/span\u003e block as defined below.\n"},"jobSchedules":{"type":"array","items":{"$ref":"#/types/azure:automation/RunBookJobSchedule:RunBookJobSchedule"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`jobSchedule`\" pulumi-lang-dotnet=\"`JobSchedule`\" pulumi-lang-go=\"`jobSchedule`\" pulumi-lang-python=\"`job_schedule`\" pulumi-lang-yaml=\"`jobSchedule`\" pulumi-lang-java=\"`jobSchedule`\"\u003e`job_schedule`\u003c/span\u003e block as defined below.\n\n\u003e **Note:** AzureRM provides a stand-alone\u003cspan pulumi-lang-nodejs=\" azure.automation.JobSchedule \" pulumi-lang-dotnet=\" azure.automation.JobSchedule \" pulumi-lang-go=\" automation.JobSchedule \" pulumi-lang-python=\" automation.JobSchedule \" pulumi-lang-yaml=\" azure.automation.JobSchedule \" pulumi-lang-java=\" azure.automation.JobSchedule \"\u003e azure.automation.JobSchedule \u003c/span\u003eand this inlined \u003cspan pulumi-lang-nodejs=\"`jobSchedule`\" pulumi-lang-dotnet=\"`JobSchedule`\" pulumi-lang-go=\"`jobSchedule`\" pulumi-lang-python=\"`job_schedule`\" pulumi-lang-yaml=\"`jobSchedule`\" pulumi-lang-java=\"`jobSchedule`\"\u003e`job_schedule`\u003c/span\u003e property to manage the job schedules. At this time you should choose one of them to manage the job schedule resources.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"logActivityTraceLevel":{"type":"integer","description":"Specifies the activity-level tracing options of the runbook, available only for Graphical runbooks. Possible values are \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e for None, \u003cspan pulumi-lang-nodejs=\"`9`\" pulumi-lang-dotnet=\"`9`\" pulumi-lang-go=\"`9`\" pulumi-lang-python=\"`9`\" pulumi-lang-yaml=\"`9`\" pulumi-lang-java=\"`9`\"\u003e`9`\u003c/span\u003e for Basic, and \u003cspan pulumi-lang-nodejs=\"`15`\" pulumi-lang-dotnet=\"`15`\" pulumi-lang-go=\"`15`\" pulumi-lang-python=\"`15`\" pulumi-lang-yaml=\"`15`\" pulumi-lang-java=\"`15`\"\u003e`15`\u003c/span\u003e for Detailed. Must turn on Verbose logging in order to see the tracing.\n"},"logProgress":{"type":"boolean","description":"Progress log option.\n"},"logVerbose":{"type":"boolean","description":"Verbose log option.\n"},"name":{"type":"string","description":"Specifies the name of the Runbook. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"publishContentLink":{"$ref":"#/types/azure:automation/RunBookPublishContentLink:RunBookPublishContentLink","description":"One \u003cspan pulumi-lang-nodejs=\"`publishContentLink`\" pulumi-lang-dotnet=\"`PublishContentLink`\" pulumi-lang-go=\"`publishContentLink`\" pulumi-lang-python=\"`publish_content_link`\" pulumi-lang-yaml=\"`publishContentLink`\" pulumi-lang-java=\"`publishContentLink`\"\u003e`publish_content_link`\u003c/span\u003e block as defined below.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the Runbook is created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"runbookType":{"type":"string","description":"The type of the runbook - can be either `Graph`, `GraphPowerShell`, `GraphPowerShellWorkflow`, `PowerShellWorkflow`, `PowerShell`, `PowerShell72`, `Python`, `Python3`, `Python2` or `Script`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"runtimeEnvironmentName":{"type":"string","description":"The runtime environment name for the runbook.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`runbookType`\" pulumi-lang-dotnet=\"`RunbookType`\" pulumi-lang-go=\"`runbookType`\" pulumi-lang-python=\"`runbook_type`\" pulumi-lang-yaml=\"`runbookType`\" pulumi-lang-java=\"`runbookType`\"\u003e`runbook_type`\u003c/span\u003e must be set to a value that supports runtime environments, such as `PowerShell` or `Python`.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"type":"object"}},"azure:automation/runtimeEnvironment:RuntimeEnvironment":{"description":"Manages an Automation Runtime Environment.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"rg-example\",\n    location: \"westeurope\",\n});\nconst exampleAccount = new azure.automation.Account(\"example\", {\n    name: \"example\",\n    location: example.location,\n    resourceGroupName: example.name,\n    skuName: \"Basic\",\n});\nconst exampleRuntimeEnvironment = new azure.automation.RuntimeEnvironment(\"example\", {\n    name: \"powershell_environment_custom_config\",\n    automationAccountId: exampleAccount.id,\n    runtimeLanguage: \"PowerShell\",\n    runtimeVersion: \"7.2\",\n    location: example.location,\n    description: \"example description\",\n    runtimeDefaultPackages: {\n        az: \"11.2.0\",\n        \"azure cli\": \"2.56.0\",\n    },\n    tags: {\n        key: \"foo\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"rg-example\",\n    location=\"westeurope\")\nexample_account = azure.automation.Account(\"example\",\n    name=\"example\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku_name=\"Basic\")\nexample_runtime_environment = azure.automation.RuntimeEnvironment(\"example\",\n    name=\"powershell_environment_custom_config\",\n    automation_account_id=example_account.id,\n    runtime_language=\"PowerShell\",\n    runtime_version=\"7.2\",\n    location=example.location,\n    description=\"example description\",\n    runtime_default_packages={\n        \"az\": \"11.2.0\",\n        \"azure cli\": \"2.56.0\",\n    },\n    tags={\n        \"key\": \"foo\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"rg-example\",\n        Location = \"westeurope\",\n    });\n\n    var exampleAccount = new Azure.Automation.Account(\"example\", new()\n    {\n        Name = \"example\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        SkuName = \"Basic\",\n    });\n\n    var exampleRuntimeEnvironment = new Azure.Automation.RuntimeEnvironment(\"example\", new()\n    {\n        Name = \"powershell_environment_custom_config\",\n        AutomationAccountId = exampleAccount.Id,\n        RuntimeLanguage = \"PowerShell\",\n        RuntimeVersion = \"7.2\",\n        Location = example.Location,\n        Description = \"example description\",\n        RuntimeDefaultPackages = \n        {\n            { \"az\", \"11.2.0\" },\n            { \"azure cli\", \"2.56.0\" },\n        },\n        Tags = \n        {\n            { \"key\", \"foo\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/automation\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"rg-example\"),\n\t\t\tLocation: pulumi.String(\"westeurope\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := automation.NewAccount(ctx, \"example\", \u0026automation.AccountArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSkuName:           pulumi.String(\"Basic\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = automation.NewRuntimeEnvironment(ctx, \"example\", \u0026automation.RuntimeEnvironmentArgs{\n\t\t\tName:                pulumi.String(\"powershell_environment_custom_config\"),\n\t\t\tAutomationAccountId: exampleAccount.ID(),\n\t\t\tRuntimeLanguage:     pulumi.String(\"PowerShell\"),\n\t\t\tRuntimeVersion:      pulumi.String(\"7.2\"),\n\t\t\tLocation:            example.Location,\n\t\t\tDescription:         pulumi.String(\"example description\"),\n\t\t\tRuntimeDefaultPackages: pulumi.StringMap{\n\t\t\t\t\"az\":        pulumi.String(\"11.2.0\"),\n\t\t\t\t\"azure cli\": pulumi.String(\"2.56.0\"),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"key\": pulumi.String(\"foo\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.automation.Account;\nimport com.pulumi.azure.automation.AccountArgs;\nimport com.pulumi.azure.automation.RuntimeEnvironment;\nimport com.pulumi.azure.automation.RuntimeEnvironmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"rg-example\")\n            .location(\"westeurope\")\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"example\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .skuName(\"Basic\")\n            .build());\n\n        var exampleRuntimeEnvironment = new RuntimeEnvironment(\"exampleRuntimeEnvironment\", RuntimeEnvironmentArgs.builder()\n            .name(\"powershell_environment_custom_config\")\n            .automationAccountId(exampleAccount.id())\n            .runtimeLanguage(\"PowerShell\")\n            .runtimeVersion(\"7.2\")\n            .location(example.location())\n            .description(\"example description\")\n            .runtimeDefaultPackages(Map.ofEntries(\n                Map.entry(\"az\", \"11.2.0\"),\n                Map.entry(\"azure cli\", \"2.56.0\")\n            ))\n            .tags(Map.of(\"key\", \"foo\"))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: rg-example\n      location: westeurope\n  exampleAccount:\n    type: azure:automation:Account\n    name: example\n    properties:\n      name: example\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      skuName: Basic\n  exampleRuntimeEnvironment:\n    type: azure:automation:RuntimeEnvironment\n    name: example\n    properties:\n      name: powershell_environment_custom_config\n      automationAccountId: ${exampleAccount.id}\n      runtimeLanguage: PowerShell\n      runtimeVersion: '7.2'\n      location: ${example.location}\n      description: example description\n      runtimeDefaultPackages:\n        az: 11.2.0\n        azure cli: 2.56.0\n      tags:\n        key: foo\n```\n\u003c!--End PulumiCodeChooser --\u003e\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Automation` - 2024-10-23\n\n## Import\n\nAutomation Runtime Environments can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:automation/runtimeEnvironment:RuntimeEnvironment example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Automation/automationAccounts/account1/runtimeEnvironments/env1\n```\n\n","properties":{"automationAccountId":{"type":"string","description":"The ID of the automation account in which the Automation Runtime Environment is created. Changing this forces a new resource to be created.\n"},"description":{"type":"string","description":"A description of the Automation Runtime Environment.\n"},"location":{"type":"string","description":"The location where the Automation Runtime Environment is created. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"The name for the Automation Runtime Environment. Changing this forces a new Automation Runtime Environment to be created.\n"},"runtimeDefaultPackages":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of default packages to be installed in the Automation Runtime Environment. The default packages can only be used with PowerShell runtime environments. Removing packages will force a new Automation Runtime Environment, adding new packages will update the existing Automation Runtime Environment.\n"},"runtimeLanguage":{"type":"string","description":"The programming language used by the Automation Runtime Environment. Possible values are `Python` and `PowerShell`. Changing this forces a new Automation Runtime Environment to be created.\n"},"runtimeVersion":{"type":"string","description":"The version of the runtime environment. Changing this forces a new Automation Runtime Environment to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Automation Runtime Environment.\n"}},"required":["automationAccountId","location","name","runtimeLanguage","runtimeVersion"],"inputProperties":{"automationAccountId":{"type":"string","description":"The ID of the automation account in which the Automation Runtime Environment is created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"description":{"type":"string","description":"A description of the Automation Runtime Environment.\n","willReplaceOnChanges":true},"location":{"type":"string","description":"The location where the Automation Runtime Environment is created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name for the Automation Runtime Environment. Changing this forces a new Automation Runtime Environment to be created.\n","willReplaceOnChanges":true},"runtimeDefaultPackages":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of default packages to be installed in the Automation Runtime Environment. The default packages can only be used with PowerShell runtime environments. Removing packages will force a new Automation Runtime Environment, adding new packages will update the existing Automation Runtime Environment.\n"},"runtimeLanguage":{"type":"string","description":"The programming language used by the Automation Runtime Environment. Possible values are `Python` and `PowerShell`. Changing this forces a new Automation Runtime Environment to be created.\n","willReplaceOnChanges":true},"runtimeVersion":{"type":"string","description":"The version of the runtime environment. Changing this forces a new Automation Runtime Environment to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Automation Runtime Environment.\n","willReplaceOnChanges":true}},"requiredInputs":["automationAccountId","runtimeLanguage","runtimeVersion"],"stateInputs":{"description":"Input properties used for looking up and filtering RuntimeEnvironment resources.\n","properties":{"automationAccountId":{"type":"string","description":"The ID of the automation account in which the Automation Runtime Environment is created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"description":{"type":"string","description":"A description of the Automation Runtime Environment.\n","willReplaceOnChanges":true},"location":{"type":"string","description":"The location where the Automation Runtime Environment is created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name for the Automation Runtime Environment. Changing this forces a new Automation Runtime Environment to be created.\n","willReplaceOnChanges":true},"runtimeDefaultPackages":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of default packages to be installed in the Automation Runtime Environment. The default packages can only be used with PowerShell runtime environments. Removing packages will force a new Automation Runtime Environment, adding new packages will update the existing Automation Runtime Environment.\n"},"runtimeLanguage":{"type":"string","description":"The programming language used by the Automation Runtime Environment. Possible values are `Python` and `PowerShell`. Changing this forces a new Automation Runtime Environment to be created.\n","willReplaceOnChanges":true},"runtimeVersion":{"type":"string","description":"The version of the runtime environment. Changing this forces a new Automation Runtime Environment to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Automation Runtime Environment.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:automation/schedule:Schedule":{"description":"Manages a Automation Schedule.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"tfex-automation-account\",\n    location: \"West Europe\",\n});\nconst exampleAccount = new azure.automation.Account(\"example\", {\n    name: \"tfex-automation-account\",\n    location: example.location,\n    resourceGroupName: example.name,\n    skuName: \"Basic\",\n});\nconst exampleSchedule = new azure.automation.Schedule(\"example\", {\n    name: \"tfex-automation-schedule\",\n    resourceGroupName: example.name,\n    automationAccountName: exampleAccount.name,\n    frequency: \"Week\",\n    interval: 1,\n    timezone: \"Australia/Perth\",\n    startTime: \"2014-04-15T18:00:15+02:00\",\n    description: \"This is an example schedule\",\n    weekDays: [\"Friday\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"tfex-automation-account\",\n    location=\"West Europe\")\nexample_account = azure.automation.Account(\"example\",\n    name=\"tfex-automation-account\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku_name=\"Basic\")\nexample_schedule = azure.automation.Schedule(\"example\",\n    name=\"tfex-automation-schedule\",\n    resource_group_name=example.name,\n    automation_account_name=example_account.name,\n    frequency=\"Week\",\n    interval=1,\n    timezone=\"Australia/Perth\",\n    start_time=\"2014-04-15T18:00:15+02:00\",\n    description=\"This is an example schedule\",\n    week_days=[\"Friday\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"tfex-automation-account\",\n        Location = \"West Europe\",\n    });\n\n    var exampleAccount = new Azure.Automation.Account(\"example\", new()\n    {\n        Name = \"tfex-automation-account\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        SkuName = \"Basic\",\n    });\n\n    var exampleSchedule = new Azure.Automation.Schedule(\"example\", new()\n    {\n        Name = \"tfex-automation-schedule\",\n        ResourceGroupName = example.Name,\n        AutomationAccountName = exampleAccount.Name,\n        Frequency = \"Week\",\n        Interval = 1,\n        Timezone = \"Australia/Perth\",\n        StartTime = \"2014-04-15T18:00:15+02:00\",\n        Description = \"This is an example schedule\",\n        WeekDays = new[]\n        {\n            \"Friday\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/automation\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"tfex-automation-account\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := automation.NewAccount(ctx, \"example\", \u0026automation.AccountArgs{\n\t\t\tName:              pulumi.String(\"tfex-automation-account\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSkuName:           pulumi.String(\"Basic\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = automation.NewSchedule(ctx, \"example\", \u0026automation.ScheduleArgs{\n\t\t\tName:                  pulumi.String(\"tfex-automation-schedule\"),\n\t\t\tResourceGroupName:     example.Name,\n\t\t\tAutomationAccountName: exampleAccount.Name,\n\t\t\tFrequency:             pulumi.String(\"Week\"),\n\t\t\tInterval:              pulumi.Int(1),\n\t\t\tTimezone:              pulumi.String(\"Australia/Perth\"),\n\t\t\tStartTime:             pulumi.String(\"2014-04-15T18:00:15+02:00\"),\n\t\t\tDescription:           pulumi.String(\"This is an example schedule\"),\n\t\t\tWeekDays: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"Friday\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.automation.Account;\nimport com.pulumi.azure.automation.AccountArgs;\nimport com.pulumi.azure.automation.Schedule;\nimport com.pulumi.azure.automation.ScheduleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"tfex-automation-account\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"tfex-automation-account\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .skuName(\"Basic\")\n            .build());\n\n        var exampleSchedule = new Schedule(\"exampleSchedule\", ScheduleArgs.builder()\n            .name(\"tfex-automation-schedule\")\n            .resourceGroupName(example.name())\n            .automationAccountName(exampleAccount.name())\n            .frequency(\"Week\")\n            .interval(1)\n            .timezone(\"Australia/Perth\")\n            .startTime(\"2014-04-15T18:00:15+02:00\")\n            .description(\"This is an example schedule\")\n            .weekDays(\"Friday\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: tfex-automation-account\n      location: West Europe\n  exampleAccount:\n    type: azure:automation:Account\n    name: example\n    properties:\n      name: tfex-automation-account\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      skuName: Basic\n  exampleSchedule:\n    type: azure:automation:Schedule\n    name: example\n    properties:\n      name: tfex-automation-schedule\n      resourceGroupName: ${example.name}\n      automationAccountName: ${exampleAccount.name}\n      frequency: Week\n      interval: 1\n      timezone: Australia/Perth\n      startTime: 2014-04-15T18:00:15+02:00\n      description: This is an example schedule\n      weekDays:\n        - Friday\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Automation` - 2024-10-23\n\n## Import\n\nAutomation Schedule can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:automation/schedule:Schedule schedule1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Automation/automationAccounts/account1/schedules/schedule1\n```\n\n","properties":{"automationAccountName":{"type":"string","description":"The name of the automation account in which the Schedule is created. Changing this forces a new resource to be created.\n"},"description":{"type":"string","description":"A description for this Schedule.\n"},"expiryTime":{"type":"string","description":"The end time of the schedule.\n"},"frequency":{"type":"string","description":"The frequency of the schedule. - can be either `OneTime`, `Day`, `Hour`, `Week`, or `Month`.\n"},"interval":{"type":"integer","description":"The number of \u003cspan pulumi-lang-nodejs=\"`frequency`\" pulumi-lang-dotnet=\"`Frequency`\" pulumi-lang-go=\"`frequency`\" pulumi-lang-python=\"`frequency`\" pulumi-lang-yaml=\"`frequency`\" pulumi-lang-java=\"`frequency`\"\u003e`frequency`\u003c/span\u003es between runs. Only valid when frequency is `Day`, `Hour`, `Week`, or `Month` and defaults to \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e.\n"},"monthDays":{"type":"array","items":{"type":"integer"},"description":"List of days of the month that the job should execute on. Must be between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`31`\" pulumi-lang-dotnet=\"`31`\" pulumi-lang-go=\"`31`\" pulumi-lang-python=\"`31`\" pulumi-lang-yaml=\"`31`\" pulumi-lang-java=\"`31`\"\u003e`31`\u003c/span\u003e. `-1` for last day of the month. Only valid when frequency is `Month`.\n"},"monthlyOccurrence":{"$ref":"#/types/azure:automation/ScheduleMonthlyOccurrence:ScheduleMonthlyOccurrence","description":"One \u003cspan pulumi-lang-nodejs=\"`monthlyOccurrence`\" pulumi-lang-dotnet=\"`MonthlyOccurrence`\" pulumi-lang-go=\"`monthlyOccurrence`\" pulumi-lang-python=\"`monthly_occurrence`\" pulumi-lang-yaml=\"`monthlyOccurrence`\" pulumi-lang-java=\"`monthlyOccurrence`\"\u003e`monthly_occurrence`\u003c/span\u003e blocks as defined below to specifies occurrences of days within a month. Only valid when frequency is `Month`. The \u003cspan pulumi-lang-nodejs=\"`monthlyOccurrence`\" pulumi-lang-dotnet=\"`MonthlyOccurrence`\" pulumi-lang-go=\"`monthlyOccurrence`\" pulumi-lang-python=\"`monthly_occurrence`\" pulumi-lang-yaml=\"`monthlyOccurrence`\" pulumi-lang-java=\"`monthlyOccurrence`\"\u003e`monthly_occurrence`\u003c/span\u003e block supports fields documented below.\n"},"name":{"type":"string","description":"Specifies the name of the Schedule. Changing this forces a new resource to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the Schedule is created. Changing this forces a new resource to be created.\n"},"startTime":{"type":"string","description":"Start time of the schedule. Must be at least five minutes in the future. Defaults to seven minutes in the future from the time the resource is created.\n"},"timezone":{"type":"string","description":"The timezone of the start time. Defaults to `Etc/UTC`. For possible values see: \u003chttps://docs.microsoft.com/en-us/rest/api/maps/timezone/gettimezoneenumwindows\u003e\n"},"weekDays":{"type":"array","items":{"type":"string"},"description":"List of days of the week that the job should execute on. Only valid when frequency is `Week`. Possible values are `Monday`, `Tuesday`, `Wednesday`, `Thursday`, `Friday`, `Saturday` and `Sunday`.\n"}},"required":["automationAccountName","expiryTime","frequency","interval","name","resourceGroupName","startTime"],"inputProperties":{"automationAccountName":{"type":"string","description":"The name of the automation account in which the Schedule is created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"description":{"type":"string","description":"A description for this Schedule.\n"},"expiryTime":{"type":"string","description":"The end time of the schedule.\n"},"frequency":{"type":"string","description":"The frequency of the schedule. - can be either `OneTime`, `Day`, `Hour`, `Week`, or `Month`.\n"},"interval":{"type":"integer","description":"The number of \u003cspan pulumi-lang-nodejs=\"`frequency`\" pulumi-lang-dotnet=\"`Frequency`\" pulumi-lang-go=\"`frequency`\" pulumi-lang-python=\"`frequency`\" pulumi-lang-yaml=\"`frequency`\" pulumi-lang-java=\"`frequency`\"\u003e`frequency`\u003c/span\u003es between runs. Only valid when frequency is `Day`, `Hour`, `Week`, or `Month` and defaults to \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e.\n"},"monthDays":{"type":"array","items":{"type":"integer"},"description":"List of days of the month that the job should execute on. Must be between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`31`\" pulumi-lang-dotnet=\"`31`\" pulumi-lang-go=\"`31`\" pulumi-lang-python=\"`31`\" pulumi-lang-yaml=\"`31`\" pulumi-lang-java=\"`31`\"\u003e`31`\u003c/span\u003e. `-1` for last day of the month. Only valid when frequency is `Month`.\n"},"monthlyOccurrence":{"$ref":"#/types/azure:automation/ScheduleMonthlyOccurrence:ScheduleMonthlyOccurrence","description":"One \u003cspan pulumi-lang-nodejs=\"`monthlyOccurrence`\" pulumi-lang-dotnet=\"`MonthlyOccurrence`\" pulumi-lang-go=\"`monthlyOccurrence`\" pulumi-lang-python=\"`monthly_occurrence`\" pulumi-lang-yaml=\"`monthlyOccurrence`\" pulumi-lang-java=\"`monthlyOccurrence`\"\u003e`monthly_occurrence`\u003c/span\u003e blocks as defined below to specifies occurrences of days within a month. Only valid when frequency is `Month`. The \u003cspan pulumi-lang-nodejs=\"`monthlyOccurrence`\" pulumi-lang-dotnet=\"`MonthlyOccurrence`\" pulumi-lang-go=\"`monthlyOccurrence`\" pulumi-lang-python=\"`monthly_occurrence`\" pulumi-lang-yaml=\"`monthlyOccurrence`\" pulumi-lang-java=\"`monthlyOccurrence`\"\u003e`monthly_occurrence`\u003c/span\u003e block supports fields documented below.\n"},"name":{"type":"string","description":"Specifies the name of the Schedule. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the Schedule is created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"startTime":{"type":"string","description":"Start time of the schedule. Must be at least five minutes in the future. Defaults to seven minutes in the future from the time the resource is created.\n"},"timezone":{"type":"string","description":"The timezone of the start time. Defaults to `Etc/UTC`. For possible values see: \u003chttps://docs.microsoft.com/en-us/rest/api/maps/timezone/gettimezoneenumwindows\u003e\n"},"weekDays":{"type":"array","items":{"type":"string"},"description":"List of days of the week that the job should execute on. Only valid when frequency is `Week`. Possible values are `Monday`, `Tuesday`, `Wednesday`, `Thursday`, `Friday`, `Saturday` and `Sunday`.\n"}},"requiredInputs":["automationAccountName","frequency","resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering Schedule resources.\n","properties":{"automationAccountName":{"type":"string","description":"The name of the automation account in which the Schedule is created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"description":{"type":"string","description":"A description for this Schedule.\n"},"expiryTime":{"type":"string","description":"The end time of the schedule.\n"},"frequency":{"type":"string","description":"The frequency of the schedule. - can be either `OneTime`, `Day`, `Hour`, `Week`, or `Month`.\n"},"interval":{"type":"integer","description":"The number of \u003cspan pulumi-lang-nodejs=\"`frequency`\" pulumi-lang-dotnet=\"`Frequency`\" pulumi-lang-go=\"`frequency`\" pulumi-lang-python=\"`frequency`\" pulumi-lang-yaml=\"`frequency`\" pulumi-lang-java=\"`frequency`\"\u003e`frequency`\u003c/span\u003es between runs. Only valid when frequency is `Day`, `Hour`, `Week`, or `Month` and defaults to \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e.\n"},"monthDays":{"type":"array","items":{"type":"integer"},"description":"List of days of the month that the job should execute on. Must be between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`31`\" pulumi-lang-dotnet=\"`31`\" pulumi-lang-go=\"`31`\" pulumi-lang-python=\"`31`\" pulumi-lang-yaml=\"`31`\" pulumi-lang-java=\"`31`\"\u003e`31`\u003c/span\u003e. `-1` for last day of the month. Only valid when frequency is `Month`.\n"},"monthlyOccurrence":{"$ref":"#/types/azure:automation/ScheduleMonthlyOccurrence:ScheduleMonthlyOccurrence","description":"One \u003cspan pulumi-lang-nodejs=\"`monthlyOccurrence`\" pulumi-lang-dotnet=\"`MonthlyOccurrence`\" pulumi-lang-go=\"`monthlyOccurrence`\" pulumi-lang-python=\"`monthly_occurrence`\" pulumi-lang-yaml=\"`monthlyOccurrence`\" pulumi-lang-java=\"`monthlyOccurrence`\"\u003e`monthly_occurrence`\u003c/span\u003e blocks as defined below to specifies occurrences of days within a month. Only valid when frequency is `Month`. The \u003cspan pulumi-lang-nodejs=\"`monthlyOccurrence`\" pulumi-lang-dotnet=\"`MonthlyOccurrence`\" pulumi-lang-go=\"`monthlyOccurrence`\" pulumi-lang-python=\"`monthly_occurrence`\" pulumi-lang-yaml=\"`monthlyOccurrence`\" pulumi-lang-java=\"`monthlyOccurrence`\"\u003e`monthly_occurrence`\u003c/span\u003e block supports fields documented below.\n"},"name":{"type":"string","description":"Specifies the name of the Schedule. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the Schedule is created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"startTime":{"type":"string","description":"Start time of the schedule. Must be at least five minutes in the future. Defaults to seven minutes in the future from the time the resource is created.\n"},"timezone":{"type":"string","description":"The timezone of the start time. Defaults to `Etc/UTC`. For possible values see: \u003chttps://docs.microsoft.com/en-us/rest/api/maps/timezone/gettimezoneenumwindows\u003e\n"},"weekDays":{"type":"array","items":{"type":"string"},"description":"List of days of the week that the job should execute on. Only valid when frequency is `Week`. Possible values are `Monday`, `Tuesday`, `Wednesday`, `Thursday`, `Friday`, `Saturday` and `Sunday`.\n"}},"type":"object"}},"azure:automation/softwareUpdateConfiguration:SoftwareUpdateConfiguration":{"description":"Manages an Automation Software Update Configuration.\n\n!\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`azure.automation.SoftwareUpdateConfiguration`\" pulumi-lang-dotnet=\"`azure.automation.SoftwareUpdateConfiguration`\" pulumi-lang-go=\"`automation.SoftwareUpdateConfiguration`\" pulumi-lang-python=\"`automation.SoftwareUpdateConfiguration`\" pulumi-lang-yaml=\"`azure.automation.SoftwareUpdateConfiguration`\" pulumi-lang-java=\"`azure.automation.SoftwareUpdateConfiguration`\"\u003e`azure.automation.SoftwareUpdateConfiguration`\u003c/span\u003e resource has been deprecated because the Azure Automation Update Management was retired on 2024-08-31 and has been shutdown on 2025-02-28. This resource will be removed in v5.0 of the AzureRM Provider. Please migrate to Azure Update Manager, and use the \u003cspan pulumi-lang-nodejs=\"`azure.maintenance.Configuration`\" pulumi-lang-dotnet=\"`azure.maintenance.Configuration`\" pulumi-lang-go=\"`maintenance.Configuration`\" pulumi-lang-python=\"`maintenance.Configuration`\" pulumi-lang-yaml=\"`azure.maintenance.Configuration`\" pulumi-lang-java=\"`azure.maintenance.Configuration`\"\u003e`azure.maintenance.Configuration`\u003c/span\u003e resource combined with the appropriate assignment resources instead. See https://techcommunity.microsoft.com/blog/azuregovernanceandmanagementblog/log-analytics-agent-based-azure-management-services-shut-down-starting-28-februa/4381853 for more information.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-rg\",\n    location: \"East US\",\n});\nconst exampleAccount = new azure.automation.Account(\"example\", {\n    name: \"example\",\n    location: example.location,\n    resourceGroupName: example.name,\n    skuName: \"Basic\",\n});\nconst exampleRunBook = new azure.automation.RunBook(\"example\", {\n    name: \"Get-AzureVMTutorial\",\n    location: example.location,\n    resourceGroupName: example.name,\n    automationAccountName: exampleAccount.name,\n    logVerbose: true,\n    logProgress: true,\n    description: \"This is a example runbook for terraform acceptance example\",\n    runbookType: \"Python3\",\n    content: `# Some example content\n# for Terraform acceptance example\n`,\n    tags: {\n        ENV: \"runbook_test\",\n    },\n});\nconst exampleSoftwareUpdateConfiguration = new azure.automation.SoftwareUpdateConfiguration(\"example\", {\n    name: \"example\",\n    automationAccountId: exampleAccount.id,\n    linux: {\n        classificationsIncludeds: \"Security\",\n        excludedPackages: [\"apt\"],\n        includedPackages: [\"vim\"],\n        reboot: \"IfRequired\",\n    },\n    preTask: {\n        source: exampleRunBook.name,\n        parameters: {\n            COMPUTER_NAME: \"Foo\",\n        },\n    },\n    duration: \"PT2H2M2S\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-rg\",\n    location=\"East US\")\nexample_account = azure.automation.Account(\"example\",\n    name=\"example\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku_name=\"Basic\")\nexample_run_book = azure.automation.RunBook(\"example\",\n    name=\"Get-AzureVMTutorial\",\n    location=example.location,\n    resource_group_name=example.name,\n    automation_account_name=example_account.name,\n    log_verbose=True,\n    log_progress=True,\n    description=\"This is a example runbook for terraform acceptance example\",\n    runbook_type=\"Python3\",\n    content=\"\"\"# Some example content\n# for Terraform acceptance example\n\"\"\",\n    tags={\n        \"ENV\": \"runbook_test\",\n    })\nexample_software_update_configuration = azure.automation.SoftwareUpdateConfiguration(\"example\",\n    name=\"example\",\n    automation_account_id=example_account.id,\n    linux={\n        \"classifications_includeds\": \"Security\",\n        \"excluded_packages\": [\"apt\"],\n        \"included_packages\": [\"vim\"],\n        \"reboot\": \"IfRequired\",\n    },\n    pre_task={\n        \"source\": example_run_book.name,\n        \"parameters\": {\n            \"COMPUTER_NAME\": \"Foo\",\n        },\n    },\n    duration=\"PT2H2M2S\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-rg\",\n        Location = \"East US\",\n    });\n\n    var exampleAccount = new Azure.Automation.Account(\"example\", new()\n    {\n        Name = \"example\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        SkuName = \"Basic\",\n    });\n\n    var exampleRunBook = new Azure.Automation.RunBook(\"example\", new()\n    {\n        Name = \"Get-AzureVMTutorial\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        AutomationAccountName = exampleAccount.Name,\n        LogVerbose = true,\n        LogProgress = true,\n        Description = \"This is a example runbook for terraform acceptance example\",\n        RunbookType = \"Python3\",\n        Content = @\"# Some example content\n# for Terraform acceptance example\n\",\n        Tags = \n        {\n            { \"ENV\", \"runbook_test\" },\n        },\n    });\n\n    var exampleSoftwareUpdateConfiguration = new Azure.Automation.SoftwareUpdateConfiguration(\"example\", new()\n    {\n        Name = \"example\",\n        AutomationAccountId = exampleAccount.Id,\n        Linux = new Azure.Automation.Inputs.SoftwareUpdateConfigurationLinuxArgs\n        {\n            ClassificationsIncludeds = \"Security\",\n            ExcludedPackages = new[]\n            {\n                \"apt\",\n            },\n            IncludedPackages = new[]\n            {\n                \"vim\",\n            },\n            Reboot = \"IfRequired\",\n        },\n        PreTask = new Azure.Automation.Inputs.SoftwareUpdateConfigurationPreTaskArgs\n        {\n            Source = exampleRunBook.Name,\n            Parameters = \n            {\n                { \"COMPUTER_NAME\", \"Foo\" },\n            },\n        },\n        Duration = \"PT2H2M2S\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/automation\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-rg\"),\n\t\t\tLocation: pulumi.String(\"East US\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := automation.NewAccount(ctx, \"example\", \u0026automation.AccountArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSkuName:           pulumi.String(\"Basic\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleRunBook, err := automation.NewRunBook(ctx, \"example\", \u0026automation.RunBookArgs{\n\t\t\tName:                  pulumi.String(\"Get-AzureVMTutorial\"),\n\t\t\tLocation:              example.Location,\n\t\t\tResourceGroupName:     example.Name,\n\t\t\tAutomationAccountName: exampleAccount.Name,\n\t\t\tLogVerbose:            pulumi.Bool(true),\n\t\t\tLogProgress:           pulumi.Bool(true),\n\t\t\tDescription:           pulumi.String(\"This is a example runbook for terraform acceptance example\"),\n\t\t\tRunbookType:           pulumi.String(\"Python3\"),\n\t\t\tContent:               pulumi.String(\"# Some example content\\n# for Terraform acceptance example\\n\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"ENV\": pulumi.String(\"runbook_test\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = automation.NewSoftwareUpdateConfiguration(ctx, \"example\", \u0026automation.SoftwareUpdateConfigurationArgs{\n\t\t\tName:                pulumi.String(\"example\"),\n\t\t\tAutomationAccountId: exampleAccount.ID(),\n\t\t\tLinux: \u0026automation.SoftwareUpdateConfigurationLinuxArgs{\n\t\t\t\tClassificationsIncludeds: pulumi.StringArray(\"Security\"),\n\t\t\t\tExcludedPackages: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"apt\"),\n\t\t\t\t},\n\t\t\t\tIncludedPackages: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"vim\"),\n\t\t\t\t},\n\t\t\t\tReboot: pulumi.String(\"IfRequired\"),\n\t\t\t},\n\t\t\tPreTask: \u0026automation.SoftwareUpdateConfigurationPreTaskArgs{\n\t\t\t\tSource: exampleRunBook.Name,\n\t\t\t\tParameters: pulumi.StringMap{\n\t\t\t\t\t\"COMPUTER_NAME\": pulumi.String(\"Foo\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tDuration: pulumi.String(\"PT2H2M2S\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.automation.Account;\nimport com.pulumi.azure.automation.AccountArgs;\nimport com.pulumi.azure.automation.RunBook;\nimport com.pulumi.azure.automation.RunBookArgs;\nimport com.pulumi.azure.automation.SoftwareUpdateConfiguration;\nimport com.pulumi.azure.automation.SoftwareUpdateConfigurationArgs;\nimport com.pulumi.azure.automation.inputs.SoftwareUpdateConfigurationLinuxArgs;\nimport com.pulumi.azure.automation.inputs.SoftwareUpdateConfigurationPreTaskArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-rg\")\n            .location(\"East US\")\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"example\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .skuName(\"Basic\")\n            .build());\n\n        var exampleRunBook = new RunBook(\"exampleRunBook\", RunBookArgs.builder()\n            .name(\"Get-AzureVMTutorial\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .automationAccountName(exampleAccount.name())\n            .logVerbose(true)\n            .logProgress(true)\n            .description(\"This is a example runbook for terraform acceptance example\")\n            .runbookType(\"Python3\")\n            .content(\"\"\"\n# Some example content\n# for Terraform acceptance example\n            \"\"\")\n            .tags(Map.of(\"ENV\", \"runbook_test\"))\n            .build());\n\n        var exampleSoftwareUpdateConfiguration = new SoftwareUpdateConfiguration(\"exampleSoftwareUpdateConfiguration\", SoftwareUpdateConfigurationArgs.builder()\n            .name(\"example\")\n            .automationAccountId(exampleAccount.id())\n            .linux(SoftwareUpdateConfigurationLinuxArgs.builder()\n                .classificationsIncludeds(\"Security\")\n                .excludedPackages(\"apt\")\n                .includedPackages(\"vim\")\n                .reboot(\"IfRequired\")\n                .build())\n            .preTask(SoftwareUpdateConfigurationPreTaskArgs.builder()\n                .source(exampleRunBook.name())\n                .parameters(Map.of(\"COMPUTER_NAME\", \"Foo\"))\n                .build())\n            .duration(\"PT2H2M2S\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-rg\n      location: East US\n  exampleAccount:\n    type: azure:automation:Account\n    name: example\n    properties:\n      name: example\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      skuName: Basic\n  exampleRunBook:\n    type: azure:automation:RunBook\n    name: example\n    properties:\n      name: Get-AzureVMTutorial\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      automationAccountName: ${exampleAccount.name}\n      logVerbose: 'true'\n      logProgress: 'true'\n      description: This is a example runbook for terraform acceptance example\n      runbookType: Python3\n      content: |\n        # Some example content\n        # for Terraform acceptance example\n      tags:\n        ENV: runbook_test\n  exampleSoftwareUpdateConfiguration:\n    type: azure:automation:SoftwareUpdateConfiguration\n    name: example\n    properties:\n      name: example\n      automationAccountId: ${exampleAccount.id}\n      linux:\n        classificationsIncludeds: Security\n        excludedPackages:\n          - apt\n        includedPackages:\n          - vim\n        reboot: IfRequired\n      preTask:\n        source: ${exampleRunBook.name}\n        parameters:\n          COMPUTER_NAME: Foo\n      duration: PT2H2M2S\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Automation` - 2019-06-01\n\n## Import\n\nAutomations Software Update Configuration can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:automation/softwareUpdateConfiguration:SoftwareUpdateConfiguration example /subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/group1/providers/Microsoft.Automation/automationAccounts/account1/softwareUpdateConfigurations/suc1\n```\n\n","properties":{"automationAccountId":{"type":"string","description":"The ID of Automation Account to manage this Source Control. Changing this forces a new Automation Source Control to be created.\n"},"duration":{"type":"string","description":"Maximum time allowed for the software update configuration run. using format `PT[n]H[n]M[n]S` as per ISO8601. Defaults to `PT2H`.\n"},"errorCode":{"type":"string","description":"The Error code when failed.\n"},"errorMessage":{"type":"string","description":"The Error message indicating why the operation failed.\n"},"linux":{"$ref":"#/types/azure:automation/SoftwareUpdateConfigurationLinux:SoftwareUpdateConfigurationLinux","description":"A \u003cspan pulumi-lang-nodejs=\"`linux`\" pulumi-lang-dotnet=\"`Linux`\" pulumi-lang-go=\"`linux`\" pulumi-lang-python=\"`linux`\" pulumi-lang-yaml=\"`linux`\" pulumi-lang-java=\"`linux`\"\u003e`linux`\u003c/span\u003e block as defined below.\n"},"name":{"type":"string","description":"The name which should be used for this Automation. Changing this forces a new Automation to be created.\n"},"nonAzureComputerNames":{"type":"array","items":{"type":"string"},"description":"Specifies a list of names of non-Azure machines for the software update configuration.\n"},"postTask":{"$ref":"#/types/azure:automation/SoftwareUpdateConfigurationPostTask:SoftwareUpdateConfigurationPostTask","description":"A \u003cspan pulumi-lang-nodejs=\"`postTask`\" pulumi-lang-dotnet=\"`PostTask`\" pulumi-lang-go=\"`postTask`\" pulumi-lang-python=\"`post_task`\" pulumi-lang-yaml=\"`postTask`\" pulumi-lang-java=\"`postTask`\"\u003e`post_task`\u003c/span\u003e blocks as defined below.\n"},"preTask":{"$ref":"#/types/azure:automation/SoftwareUpdateConfigurationPreTask:SoftwareUpdateConfigurationPreTask","description":"A \u003cspan pulumi-lang-nodejs=\"`preTask`\" pulumi-lang-dotnet=\"`PreTask`\" pulumi-lang-go=\"`preTask`\" pulumi-lang-python=\"`pre_task`\" pulumi-lang-yaml=\"`preTask`\" pulumi-lang-java=\"`preTask`\"\u003e`pre_task`\u003c/span\u003e blocks as defined below.\n"},"schedule":{"$ref":"#/types/azure:automation/SoftwareUpdateConfigurationSchedule:SoftwareUpdateConfigurationSchedule","description":"A \u003cspan pulumi-lang-nodejs=\"`schedule`\" pulumi-lang-dotnet=\"`Schedule`\" pulumi-lang-go=\"`schedule`\" pulumi-lang-python=\"`schedule`\" pulumi-lang-yaml=\"`schedule`\" pulumi-lang-java=\"`schedule`\"\u003e`schedule`\u003c/span\u003e blocks as defined below.\n"},"target":{"$ref":"#/types/azure:automation/SoftwareUpdateConfigurationTarget:SoftwareUpdateConfigurationTarget","description":"A \u003cspan pulumi-lang-nodejs=\"`target`\" pulumi-lang-dotnet=\"`Target`\" pulumi-lang-go=\"`target`\" pulumi-lang-python=\"`target`\" pulumi-lang-yaml=\"`target`\" pulumi-lang-java=\"`target`\"\u003e`target`\u003c/span\u003e blocks as defined below.\n"},"virtualMachineIds":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Azure Resource IDs of azure virtual machines.\n"},"windows":{"$ref":"#/types/azure:automation/SoftwareUpdateConfigurationWindows:SoftwareUpdateConfigurationWindows","description":"A \u003cspan pulumi-lang-nodejs=\"`windows`\" pulumi-lang-dotnet=\"`Windows`\" pulumi-lang-go=\"`windows`\" pulumi-lang-python=\"`windows`\" pulumi-lang-yaml=\"`windows`\" pulumi-lang-java=\"`windows`\"\u003e`windows`\u003c/span\u003e block as defined below.\n\n\u003e **Note:** One of \u003cspan pulumi-lang-nodejs=\"`linux`\" pulumi-lang-dotnet=\"`Linux`\" pulumi-lang-go=\"`linux`\" pulumi-lang-python=\"`linux`\" pulumi-lang-yaml=\"`linux`\" pulumi-lang-java=\"`linux`\"\u003e`linux`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`windows`\" pulumi-lang-dotnet=\"`Windows`\" pulumi-lang-go=\"`windows`\" pulumi-lang-python=\"`windows`\" pulumi-lang-yaml=\"`windows`\" pulumi-lang-java=\"`windows`\"\u003e`windows`\u003c/span\u003e must be specified.\n"}},"required":["automationAccountId","errorCode","errorMessage","name","schedule"],"inputProperties":{"automationAccountId":{"type":"string","description":"The ID of Automation Account to manage this Source Control. Changing this forces a new Automation Source Control to be created.\n","willReplaceOnChanges":true},"duration":{"type":"string","description":"Maximum time allowed for the software update configuration run. using format `PT[n]H[n]M[n]S` as per ISO8601. Defaults to `PT2H`.\n"},"linux":{"$ref":"#/types/azure:automation/SoftwareUpdateConfigurationLinux:SoftwareUpdateConfigurationLinux","description":"A \u003cspan pulumi-lang-nodejs=\"`linux`\" pulumi-lang-dotnet=\"`Linux`\" pulumi-lang-go=\"`linux`\" pulumi-lang-python=\"`linux`\" pulumi-lang-yaml=\"`linux`\" pulumi-lang-java=\"`linux`\"\u003e`linux`\u003c/span\u003e block as defined below.\n"},"name":{"type":"string","description":"The name which should be used for this Automation. Changing this forces a new Automation to be created.\n","willReplaceOnChanges":true},"nonAzureComputerNames":{"type":"array","items":{"type":"string"},"description":"Specifies a list of names of non-Azure machines for the software update configuration.\n"},"postTask":{"$ref":"#/types/azure:automation/SoftwareUpdateConfigurationPostTask:SoftwareUpdateConfigurationPostTask","description":"A \u003cspan pulumi-lang-nodejs=\"`postTask`\" pulumi-lang-dotnet=\"`PostTask`\" pulumi-lang-go=\"`postTask`\" pulumi-lang-python=\"`post_task`\" pulumi-lang-yaml=\"`postTask`\" pulumi-lang-java=\"`postTask`\"\u003e`post_task`\u003c/span\u003e blocks as defined below.\n"},"preTask":{"$ref":"#/types/azure:automation/SoftwareUpdateConfigurationPreTask:SoftwareUpdateConfigurationPreTask","description":"A \u003cspan pulumi-lang-nodejs=\"`preTask`\" pulumi-lang-dotnet=\"`PreTask`\" pulumi-lang-go=\"`preTask`\" pulumi-lang-python=\"`pre_task`\" pulumi-lang-yaml=\"`preTask`\" pulumi-lang-java=\"`preTask`\"\u003e`pre_task`\u003c/span\u003e blocks as defined below.\n"},"schedule":{"$ref":"#/types/azure:automation/SoftwareUpdateConfigurationSchedule:SoftwareUpdateConfigurationSchedule","description":"A \u003cspan pulumi-lang-nodejs=\"`schedule`\" pulumi-lang-dotnet=\"`Schedule`\" pulumi-lang-go=\"`schedule`\" pulumi-lang-python=\"`schedule`\" pulumi-lang-yaml=\"`schedule`\" pulumi-lang-java=\"`schedule`\"\u003e`schedule`\u003c/span\u003e blocks as defined below.\n"},"target":{"$ref":"#/types/azure:automation/SoftwareUpdateConfigurationTarget:SoftwareUpdateConfigurationTarget","description":"A \u003cspan pulumi-lang-nodejs=\"`target`\" pulumi-lang-dotnet=\"`Target`\" pulumi-lang-go=\"`target`\" pulumi-lang-python=\"`target`\" pulumi-lang-yaml=\"`target`\" pulumi-lang-java=\"`target`\"\u003e`target`\u003c/span\u003e blocks as defined below.\n"},"virtualMachineIds":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Azure Resource IDs of azure virtual machines.\n"},"windows":{"$ref":"#/types/azure:automation/SoftwareUpdateConfigurationWindows:SoftwareUpdateConfigurationWindows","description":"A \u003cspan pulumi-lang-nodejs=\"`windows`\" pulumi-lang-dotnet=\"`Windows`\" pulumi-lang-go=\"`windows`\" pulumi-lang-python=\"`windows`\" pulumi-lang-yaml=\"`windows`\" pulumi-lang-java=\"`windows`\"\u003e`windows`\u003c/span\u003e block as defined below.\n\n\u003e **Note:** One of \u003cspan pulumi-lang-nodejs=\"`linux`\" pulumi-lang-dotnet=\"`Linux`\" pulumi-lang-go=\"`linux`\" pulumi-lang-python=\"`linux`\" pulumi-lang-yaml=\"`linux`\" pulumi-lang-java=\"`linux`\"\u003e`linux`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`windows`\" pulumi-lang-dotnet=\"`Windows`\" pulumi-lang-go=\"`windows`\" pulumi-lang-python=\"`windows`\" pulumi-lang-yaml=\"`windows`\" pulumi-lang-java=\"`windows`\"\u003e`windows`\u003c/span\u003e must be specified.\n"}},"requiredInputs":["automationAccountId","schedule"],"stateInputs":{"description":"Input properties used for looking up and filtering SoftwareUpdateConfiguration resources.\n","properties":{"automationAccountId":{"type":"string","description":"The ID of Automation Account to manage this Source Control. Changing this forces a new Automation Source Control to be created.\n","willReplaceOnChanges":true},"duration":{"type":"string","description":"Maximum time allowed for the software update configuration run. using format `PT[n]H[n]M[n]S` as per ISO8601. Defaults to `PT2H`.\n"},"errorCode":{"type":"string","description":"The Error code when failed.\n"},"errorMessage":{"type":"string","description":"The Error message indicating why the operation failed.\n"},"linux":{"$ref":"#/types/azure:automation/SoftwareUpdateConfigurationLinux:SoftwareUpdateConfigurationLinux","description":"A \u003cspan pulumi-lang-nodejs=\"`linux`\" pulumi-lang-dotnet=\"`Linux`\" pulumi-lang-go=\"`linux`\" pulumi-lang-python=\"`linux`\" pulumi-lang-yaml=\"`linux`\" pulumi-lang-java=\"`linux`\"\u003e`linux`\u003c/span\u003e block as defined below.\n"},"name":{"type":"string","description":"The name which should be used for this Automation. Changing this forces a new Automation to be created.\n","willReplaceOnChanges":true},"nonAzureComputerNames":{"type":"array","items":{"type":"string"},"description":"Specifies a list of names of non-Azure machines for the software update configuration.\n"},"postTask":{"$ref":"#/types/azure:automation/SoftwareUpdateConfigurationPostTask:SoftwareUpdateConfigurationPostTask","description":"A \u003cspan pulumi-lang-nodejs=\"`postTask`\" pulumi-lang-dotnet=\"`PostTask`\" pulumi-lang-go=\"`postTask`\" pulumi-lang-python=\"`post_task`\" pulumi-lang-yaml=\"`postTask`\" pulumi-lang-java=\"`postTask`\"\u003e`post_task`\u003c/span\u003e blocks as defined below.\n"},"preTask":{"$ref":"#/types/azure:automation/SoftwareUpdateConfigurationPreTask:SoftwareUpdateConfigurationPreTask","description":"A \u003cspan pulumi-lang-nodejs=\"`preTask`\" pulumi-lang-dotnet=\"`PreTask`\" pulumi-lang-go=\"`preTask`\" pulumi-lang-python=\"`pre_task`\" pulumi-lang-yaml=\"`preTask`\" pulumi-lang-java=\"`preTask`\"\u003e`pre_task`\u003c/span\u003e blocks as defined below.\n"},"schedule":{"$ref":"#/types/azure:automation/SoftwareUpdateConfigurationSchedule:SoftwareUpdateConfigurationSchedule","description":"A \u003cspan pulumi-lang-nodejs=\"`schedule`\" pulumi-lang-dotnet=\"`Schedule`\" pulumi-lang-go=\"`schedule`\" pulumi-lang-python=\"`schedule`\" pulumi-lang-yaml=\"`schedule`\" pulumi-lang-java=\"`schedule`\"\u003e`schedule`\u003c/span\u003e blocks as defined below.\n"},"target":{"$ref":"#/types/azure:automation/SoftwareUpdateConfigurationTarget:SoftwareUpdateConfigurationTarget","description":"A \u003cspan pulumi-lang-nodejs=\"`target`\" pulumi-lang-dotnet=\"`Target`\" pulumi-lang-go=\"`target`\" pulumi-lang-python=\"`target`\" pulumi-lang-yaml=\"`target`\" pulumi-lang-java=\"`target`\"\u003e`target`\u003c/span\u003e blocks as defined below.\n"},"virtualMachineIds":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Azure Resource IDs of azure virtual machines.\n"},"windows":{"$ref":"#/types/azure:automation/SoftwareUpdateConfigurationWindows:SoftwareUpdateConfigurationWindows","description":"A \u003cspan pulumi-lang-nodejs=\"`windows`\" pulumi-lang-dotnet=\"`Windows`\" pulumi-lang-go=\"`windows`\" pulumi-lang-python=\"`windows`\" pulumi-lang-yaml=\"`windows`\" pulumi-lang-java=\"`windows`\"\u003e`windows`\u003c/span\u003e block as defined below.\n\n\u003e **Note:** One of \u003cspan pulumi-lang-nodejs=\"`linux`\" pulumi-lang-dotnet=\"`Linux`\" pulumi-lang-go=\"`linux`\" pulumi-lang-python=\"`linux`\" pulumi-lang-yaml=\"`linux`\" pulumi-lang-java=\"`linux`\"\u003e`linux`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`windows`\" pulumi-lang-dotnet=\"`Windows`\" pulumi-lang-go=\"`windows`\" pulumi-lang-python=\"`windows`\" pulumi-lang-yaml=\"`windows`\" pulumi-lang-java=\"`windows`\"\u003e`windows`\u003c/span\u003e must be specified.\n"}},"type":"object"}},"azure:automation/sourceControl:SourceControl":{"description":"Manages an Automation Source Control.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleAccount = new azure.automation.Account(\"example\", {\n    name: \"example-account\",\n    location: example.location,\n    resourceGroupName: example.name,\n    skuName: \"Basic\",\n});\nconst exampleSourceControl = new azure.automation.SourceControl(\"example\", {\n    name: \"example\",\n    automationAccountId: exampleAccount.id,\n    folderPath: \"runbook\",\n    security: {\n        token: \"ghp_xxx\",\n        tokenType: \"PersonalAccessToken\",\n    },\n    repositoryUrl: \"https://github.com/foo/bat.git\",\n    sourceControlType: \"GitHub\",\n    branch: \"main\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_account = azure.automation.Account(\"example\",\n    name=\"example-account\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku_name=\"Basic\")\nexample_source_control = azure.automation.SourceControl(\"example\",\n    name=\"example\",\n    automation_account_id=example_account.id,\n    folder_path=\"runbook\",\n    security={\n        \"token\": \"ghp_xxx\",\n        \"token_type\": \"PersonalAccessToken\",\n    },\n    repository_url=\"https://github.com/foo/bat.git\",\n    source_control_type=\"GitHub\",\n    branch=\"main\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleAccount = new Azure.Automation.Account(\"example\", new()\n    {\n        Name = \"example-account\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        SkuName = \"Basic\",\n    });\n\n    var exampleSourceControl = new Azure.Automation.SourceControl(\"example\", new()\n    {\n        Name = \"example\",\n        AutomationAccountId = exampleAccount.Id,\n        FolderPath = \"runbook\",\n        Security = new Azure.Automation.Inputs.SourceControlSecurityArgs\n        {\n            Token = \"ghp_xxx\",\n            TokenType = \"PersonalAccessToken\",\n        },\n        RepositoryUrl = \"https://github.com/foo/bat.git\",\n        SourceControlType = \"GitHub\",\n        Branch = \"main\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/automation\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := automation.NewAccount(ctx, \"example\", \u0026automation.AccountArgs{\n\t\t\tName:              pulumi.String(\"example-account\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSkuName:           pulumi.String(\"Basic\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = automation.NewSourceControl(ctx, \"example\", \u0026automation.SourceControlArgs{\n\t\t\tName:                pulumi.String(\"example\"),\n\t\t\tAutomationAccountId: exampleAccount.ID(),\n\t\t\tFolderPath:          pulumi.String(\"runbook\"),\n\t\t\tSecurity: \u0026automation.SourceControlSecurityArgs{\n\t\t\t\tToken:     pulumi.String(\"ghp_xxx\"),\n\t\t\t\tTokenType: pulumi.String(\"PersonalAccessToken\"),\n\t\t\t},\n\t\t\tRepositoryUrl:     pulumi.String(\"https://github.com/foo/bat.git\"),\n\t\t\tSourceControlType: pulumi.String(\"GitHub\"),\n\t\t\tBranch:            pulumi.String(\"main\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.automation.Account;\nimport com.pulumi.azure.automation.AccountArgs;\nimport com.pulumi.azure.automation.SourceControl;\nimport com.pulumi.azure.automation.SourceControlArgs;\nimport com.pulumi.azure.automation.inputs.SourceControlSecurityArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"example-account\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .skuName(\"Basic\")\n            .build());\n\n        var exampleSourceControl = new SourceControl(\"exampleSourceControl\", SourceControlArgs.builder()\n            .name(\"example\")\n            .automationAccountId(exampleAccount.id())\n            .folderPath(\"runbook\")\n            .security(SourceControlSecurityArgs.builder()\n                .token(\"ghp_xxx\")\n                .tokenType(\"PersonalAccessToken\")\n                .build())\n            .repositoryUrl(\"https://github.com/foo/bat.git\")\n            .sourceControlType(\"GitHub\")\n            .branch(\"main\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleAccount:\n    type: azure:automation:Account\n    name: example\n    properties:\n      name: example-account\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      skuName: Basic\n  exampleSourceControl:\n    type: azure:automation:SourceControl\n    name: example\n    properties:\n      name: example\n      automationAccountId: ${exampleAccount.id}\n      folderPath: runbook\n      security:\n        token: ghp_xxx\n        tokenType: PersonalAccessToken\n      repositoryUrl: https://github.com/foo/bat.git\n      sourceControlType: GitHub\n      branch: main\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Automation` - 2024-10-23\n\n## Import\n\nAutomations can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:automation/sourceControl:SourceControl example /subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/group1/providers/Microsoft.Automation/automationAccounts/account1/sourceControls/sc1\n```\n\n","properties":{"automaticSync":{"type":"boolean","description":"Whether auto async the Source Control.\n"},"automationAccountId":{"type":"string","description":"The ID of Automation Account to manage this Source Control. Changing this forces a new Automation Source Control to be created.\n"},"branch":{"type":"string","description":"Specify the repo branch of the Source Control. Empty value is valid only for `VsoTfvc`.\n"},"description":{"type":"string","description":"A short description of the Source Control.\n"},"folderPath":{"type":"string","description":"The folder path of the source control. This Path must be relative.\n"},"name":{"type":"string","description":"The name which should be used for this Automation Source Control. Changing this forces a new Automation Source Control to be created.\n"},"publishRunbookEnabled":{"type":"boolean","description":"Whether auto publish the Source Control. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"repositoryUrl":{"type":"string","description":"The Repository URL of the source control.\n"},"security":{"$ref":"#/types/azure:automation/SourceControlSecurity:SourceControlSecurity","description":"A \u003cspan pulumi-lang-nodejs=\"`security`\" pulumi-lang-dotnet=\"`Security`\" pulumi-lang-go=\"`security`\" pulumi-lang-python=\"`security`\" pulumi-lang-yaml=\"`security`\" pulumi-lang-java=\"`security`\"\u003e`security`\u003c/span\u003e block as defined below.\n"},"sourceControlType":{"type":"string","description":"The source type of Source Control, possible vaules are `VsoGit`, `VsoTfvc` and `GitHub`, and the value is case sensitive.\n"}},"required":["automationAccountId","folderPath","name","repositoryUrl","security","sourceControlType"],"inputProperties":{"automaticSync":{"type":"boolean","description":"Whether auto async the Source Control.\n"},"automationAccountId":{"type":"string","description":"The ID of Automation Account to manage this Source Control. Changing this forces a new Automation Source Control to be created.\n","willReplaceOnChanges":true},"branch":{"type":"string","description":"Specify the repo branch of the Source Control. Empty value is valid only for `VsoTfvc`.\n"},"description":{"type":"string","description":"A short description of the Source Control.\n"},"folderPath":{"type":"string","description":"The folder path of the source control. This Path must be relative.\n"},"name":{"type":"string","description":"The name which should be used for this Automation Source Control. Changing this forces a new Automation Source Control to be created.\n","willReplaceOnChanges":true},"publishRunbookEnabled":{"type":"boolean","description":"Whether auto publish the Source Control. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"repositoryUrl":{"type":"string","description":"The Repository URL of the source control.\n"},"security":{"$ref":"#/types/azure:automation/SourceControlSecurity:SourceControlSecurity","description":"A \u003cspan pulumi-lang-nodejs=\"`security`\" pulumi-lang-dotnet=\"`Security`\" pulumi-lang-go=\"`security`\" pulumi-lang-python=\"`security`\" pulumi-lang-yaml=\"`security`\" pulumi-lang-java=\"`security`\"\u003e`security`\u003c/span\u003e block as defined below.\n"},"sourceControlType":{"type":"string","description":"The source type of Source Control, possible vaules are `VsoGit`, `VsoTfvc` and `GitHub`, and the value is case sensitive.\n"}},"requiredInputs":["automationAccountId","folderPath","repositoryUrl","security","sourceControlType"],"stateInputs":{"description":"Input properties used for looking up and filtering SourceControl resources.\n","properties":{"automaticSync":{"type":"boolean","description":"Whether auto async the Source Control.\n"},"automationAccountId":{"type":"string","description":"The ID of Automation Account to manage this Source Control. Changing this forces a new Automation Source Control to be created.\n","willReplaceOnChanges":true},"branch":{"type":"string","description":"Specify the repo branch of the Source Control. Empty value is valid only for `VsoTfvc`.\n"},"description":{"type":"string","description":"A short description of the Source Control.\n"},"folderPath":{"type":"string","description":"The folder path of the source control. This Path must be relative.\n"},"name":{"type":"string","description":"The name which should be used for this Automation Source Control. Changing this forces a new Automation Source Control to be created.\n","willReplaceOnChanges":true},"publishRunbookEnabled":{"type":"boolean","description":"Whether auto publish the Source Control. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"repositoryUrl":{"type":"string","description":"The Repository URL of the source control.\n"},"security":{"$ref":"#/types/azure:automation/SourceControlSecurity:SourceControlSecurity","description":"A \u003cspan pulumi-lang-nodejs=\"`security`\" pulumi-lang-dotnet=\"`Security`\" pulumi-lang-go=\"`security`\" pulumi-lang-python=\"`security`\" pulumi-lang-yaml=\"`security`\" pulumi-lang-java=\"`security`\"\u003e`security`\u003c/span\u003e block as defined below.\n"},"sourceControlType":{"type":"string","description":"The source type of Source Control, possible vaules are `VsoGit`, `VsoTfvc` and `GitHub`, and the value is case sensitive.\n"}},"type":"object"}},"azure:automation/stringVariable:StringVariable":{"description":"Manages a string variable in Azure Automation\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"tfex-example-rg\",\n    location: \"West Europe\",\n});\nconst exampleAccount = new azure.automation.Account(\"example\", {\n    name: \"tfex-example-account\",\n    location: example.location,\n    resourceGroupName: example.name,\n    skuName: \"Basic\",\n});\nconst exampleStringVariable = new azure.automation.StringVariable(\"example\", {\n    name: \"tfex-example-var\",\n    resourceGroupName: example.name,\n    automationAccountName: exampleAccount.name,\n    value: \"Hello, Basic Test.\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"tfex-example-rg\",\n    location=\"West Europe\")\nexample_account = azure.automation.Account(\"example\",\n    name=\"tfex-example-account\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku_name=\"Basic\")\nexample_string_variable = azure.automation.StringVariable(\"example\",\n    name=\"tfex-example-var\",\n    resource_group_name=example.name,\n    automation_account_name=example_account.name,\n    value=\"Hello, Basic Test.\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"tfex-example-rg\",\n        Location = \"West Europe\",\n    });\n\n    var exampleAccount = new Azure.Automation.Account(\"example\", new()\n    {\n        Name = \"tfex-example-account\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        SkuName = \"Basic\",\n    });\n\n    var exampleStringVariable = new Azure.Automation.StringVariable(\"example\", new()\n    {\n        Name = \"tfex-example-var\",\n        ResourceGroupName = example.Name,\n        AutomationAccountName = exampleAccount.Name,\n        Value = \"Hello, Basic Test.\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/automation\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"tfex-example-rg\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := automation.NewAccount(ctx, \"example\", \u0026automation.AccountArgs{\n\t\t\tName:              pulumi.String(\"tfex-example-account\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSkuName:           pulumi.String(\"Basic\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = automation.NewStringVariable(ctx, \"example\", \u0026automation.StringVariableArgs{\n\t\t\tName:                  pulumi.String(\"tfex-example-var\"),\n\t\t\tResourceGroupName:     example.Name,\n\t\t\tAutomationAccountName: exampleAccount.Name,\n\t\t\tValue:                 pulumi.String(\"Hello, Basic Test.\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.automation.Account;\nimport com.pulumi.azure.automation.AccountArgs;\nimport com.pulumi.azure.automation.StringVariable;\nimport com.pulumi.azure.automation.StringVariableArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"tfex-example-rg\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"tfex-example-account\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .skuName(\"Basic\")\n            .build());\n\n        var exampleStringVariable = new StringVariable(\"exampleStringVariable\", StringVariableArgs.builder()\n            .name(\"tfex-example-var\")\n            .resourceGroupName(example.name())\n            .automationAccountName(exampleAccount.name())\n            .value(\"Hello, Basic Test.\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: tfex-example-rg\n      location: West Europe\n  exampleAccount:\n    type: azure:automation:Account\n    name: example\n    properties:\n      name: tfex-example-account\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      skuName: Basic\n  exampleStringVariable:\n    type: azure:automation:StringVariable\n    name: example\n    properties:\n      name: tfex-example-var\n      resourceGroupName: ${example.name}\n      automationAccountName: ${exampleAccount.name}\n      value: Hello, Basic Test.\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nAutomation String Variable can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:automation/stringVariable:StringVariable example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tfex-example-rg/providers/Microsoft.Automation/automationAccounts/tfex-example-account/variables/tfex-example-var\n```\n\n","properties":{"automationAccountName":{"type":"string","description":"The name of the automation account in which the Variable is created. Changing this forces a new resource to be created.\n"},"description":{"type":"string","description":"The description of the Automation Variable.\n"},"encrypted":{"type":"boolean","description":"Specifies if the Automation Variable is encrypted. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"name":{"type":"string","description":"The name of the Automation Variable. Changing this forces a new resource to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the Automation Variable. Changing this forces a new resource to be created.\n"},"value":{"type":"string","description":"The value of the Automation Variable as a \u003cspan pulumi-lang-nodejs=\"`string`\" pulumi-lang-dotnet=\"`String`\" pulumi-lang-go=\"`string`\" pulumi-lang-python=\"`string`\" pulumi-lang-yaml=\"`string`\" pulumi-lang-java=\"`string`\"\u003e`string`\u003c/span\u003e.\n"}},"required":["automationAccountName","name","resourceGroupName"],"inputProperties":{"automationAccountName":{"type":"string","description":"The name of the automation account in which the Variable is created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"description":{"type":"string","description":"The description of the Automation Variable.\n"},"encrypted":{"type":"boolean","description":"Specifies if the Automation Variable is encrypted. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"name":{"type":"string","description":"The name of the Automation Variable. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the Automation Variable. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"value":{"type":"string","description":"The value of the Automation Variable as a \u003cspan pulumi-lang-nodejs=\"`string`\" pulumi-lang-dotnet=\"`String`\" pulumi-lang-go=\"`string`\" pulumi-lang-python=\"`string`\" pulumi-lang-yaml=\"`string`\" pulumi-lang-java=\"`string`\"\u003e`string`\u003c/span\u003e.\n"}},"requiredInputs":["automationAccountName","resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering StringVariable resources.\n","properties":{"automationAccountName":{"type":"string","description":"The name of the automation account in which the Variable is created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"description":{"type":"string","description":"The description of the Automation Variable.\n"},"encrypted":{"type":"boolean","description":"Specifies if the Automation Variable is encrypted. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"name":{"type":"string","description":"The name of the Automation Variable. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the Automation Variable. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"value":{"type":"string","description":"The value of the Automation Variable as a \u003cspan pulumi-lang-nodejs=\"`string`\" pulumi-lang-dotnet=\"`String`\" pulumi-lang-go=\"`string`\" pulumi-lang-python=\"`string`\" pulumi-lang-yaml=\"`string`\" pulumi-lang-java=\"`string`\"\u003e`string`\u003c/span\u003e.\n"}},"type":"object"}},"azure:automation/variableObject:VariableObject":{"description":"Manages an object variable in Azure Automation\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"tfex-example-rg\",\n    location: \"West Europe\",\n});\nconst exampleAccount = new azure.automation.Account(\"example\", {\n    name: \"tfex-example-account\",\n    location: example.location,\n    resourceGroupName: example.name,\n    skuName: \"Basic\",\n});\nconst exampleVariableObject = new azure.automation.VariableObject(\"example\", {\n    name: \"tfex-example-var\",\n    resourceGroupName: example.name,\n    automationAccountName: exampleAccount.name,\n    value: JSON.stringify({\n        greeting: \"Hello, Terraform Basic Test.\",\n        language: \"en\",\n    }),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"tfex-example-rg\",\n    location=\"West Europe\")\nexample_account = azure.automation.Account(\"example\",\n    name=\"tfex-example-account\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku_name=\"Basic\")\nexample_variable_object = azure.automation.VariableObject(\"example\",\n    name=\"tfex-example-var\",\n    resource_group_name=example.name,\n    automation_account_name=example_account.name,\n    value=json.dumps({\n        \"greeting\": \"Hello, Terraform Basic Test.\",\n        \"language\": \"en\",\n    }))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"tfex-example-rg\",\n        Location = \"West Europe\",\n    });\n\n    var exampleAccount = new Azure.Automation.Account(\"example\", new()\n    {\n        Name = \"tfex-example-account\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        SkuName = \"Basic\",\n    });\n\n    var exampleVariableObject = new Azure.Automation.VariableObject(\"example\", new()\n    {\n        Name = \"tfex-example-var\",\n        ResourceGroupName = example.Name,\n        AutomationAccountName = exampleAccount.Name,\n        Value = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n        {\n            [\"greeting\"] = \"Hello, Terraform Basic Test.\",\n            [\"language\"] = \"en\",\n        }),\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/automation\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"tfex-example-rg\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := automation.NewAccount(ctx, \"example\", \u0026automation.AccountArgs{\n\t\t\tName:              pulumi.String(\"tfex-example-account\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSkuName:           pulumi.String(\"Basic\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"greeting\": \"Hello, Terraform Basic Test.\",\n\t\t\t\"language\": \"en\",\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson0 := string(tmpJSON0)\n\t\t_, err = automation.NewVariableObject(ctx, \"example\", \u0026automation.VariableObjectArgs{\n\t\t\tName:                  pulumi.String(\"tfex-example-var\"),\n\t\t\tResourceGroupName:     example.Name,\n\t\t\tAutomationAccountName: exampleAccount.Name,\n\t\t\tValue:                 pulumi.String(json0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.automation.Account;\nimport com.pulumi.azure.automation.AccountArgs;\nimport com.pulumi.azure.automation.VariableObject;\nimport com.pulumi.azure.automation.VariableObjectArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"tfex-example-rg\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"tfex-example-account\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .skuName(\"Basic\")\n            .build());\n\n        var exampleVariableObject = new VariableObject(\"exampleVariableObject\", VariableObjectArgs.builder()\n            .name(\"tfex-example-var\")\n            .resourceGroupName(example.name())\n            .automationAccountName(exampleAccount.name())\n            .value(serializeJson(\n                jsonObject(\n                    jsonProperty(\"greeting\", \"Hello, Terraform Basic Test.\"),\n                    jsonProperty(\"language\", \"en\")\n                )))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: tfex-example-rg\n      location: West Europe\n  exampleAccount:\n    type: azure:automation:Account\n    name: example\n    properties:\n      name: tfex-example-account\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      skuName: Basic\n  exampleVariableObject:\n    type: azure:automation:VariableObject\n    name: example\n    properties:\n      name: tfex-example-var\n      resourceGroupName: ${example.name}\n      automationAccountName: ${exampleAccount.name}\n      value:\n        fn::toJSON:\n          greeting: Hello, Terraform Basic Test.\n          language: en\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nAutomation Object Variable can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:automation/variableObject:VariableObject example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tfex-example-rg/providers/Microsoft.Automation/automationAccounts/tfex-example-account/variables/tfex-example-var\n```\n\n","properties":{"automationAccountName":{"type":"string","description":"The name of the automation account in which the Variable is created. Changing this forces a new resource to be created.\n"},"description":{"type":"string","description":"The description of the Automation Variable.\n"},"encrypted":{"type":"boolean","description":"Specifies if the Automation Variable is encrypted. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"name":{"type":"string","description":"The name of the Automation Variable. Changing this forces a new resource to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the Automation Variable. Changing this forces a new resource to be created.\n"},"value":{"type":"string","description":"The value of the Automation Variable as a `jsonencode()` string.\n"}},"required":["automationAccountName","name","resourceGroupName"],"inputProperties":{"automationAccountName":{"type":"string","description":"The name of the automation account in which the Variable is created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"description":{"type":"string","description":"The description of the Automation Variable.\n"},"encrypted":{"type":"boolean","description":"Specifies if the Automation Variable is encrypted. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"name":{"type":"string","description":"The name of the Automation Variable. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the Automation Variable. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"value":{"type":"string","description":"The value of the Automation Variable as a `jsonencode()` string.\n"}},"requiredInputs":["automationAccountName","resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering VariableObject resources.\n","properties":{"automationAccountName":{"type":"string","description":"The name of the automation account in which the Variable is created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"description":{"type":"string","description":"The description of the Automation Variable.\n"},"encrypted":{"type":"boolean","description":"Specifies if the Automation Variable is encrypted. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"name":{"type":"string","description":"The name of the Automation Variable. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the Automation Variable. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"value":{"type":"string","description":"The value of the Automation Variable as a `jsonencode()` string.\n"}},"type":"object"}},"azure:automation/watcher:Watcher":{"description":"Manages an Automation Wacher.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleAccount = new azure.automation.Account(\"example\", {\n    name: \"example-account\",\n    location: example.location,\n    resourceGroupName: example.name,\n    skuName: \"Basic\",\n});\nconst exampleHybridRunbookWorkerGroup = new azure.automation.HybridRunbookWorkerGroup(\"example\", {\n    name: \"example\",\n    resourceGroupName: example.name,\n    automationAccountName: exampleAccount.name,\n});\nconst exampleRunBook = new azure.automation.RunBook(\"example\", {\n    name: \"Get-AzureVMTutorial\",\n    location: example.location,\n    resourceGroupName: example.name,\n    automationAccountName: exampleAccount.name,\n    logVerbose: true,\n    logProgress: true,\n    description: \"This is an example runbook\",\n    runbookType: \"PowerShellWorkflow\",\n    publishContentLink: {\n        uri: \"https://raw.githubusercontent.com/Azure/azure-quickstart-templates/c4935ffb69246a6058eb24f54640f53f69d3ac9f/101-automation-runbook-getvms/Runbooks/Get-AzureVMTutorial.ps1\",\n    },\n});\nconst exampleWatcher = new azure.automation.Watcher(\"example\", {\n    name: \"example\",\n    automationAccountId: exampleAccount.id,\n    location: \"West Europe\",\n    scriptName: exampleRunBook.name,\n    scriptRunOn: exampleHybridRunbookWorkerGroup.name,\n    description: \"example-watcher desc\",\n    executionFrequencyInSeconds: 42,\n    tags: {\n        foo: \"bar\",\n    },\n    scriptParameters: {\n        foo: \"bar\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_account = azure.automation.Account(\"example\",\n    name=\"example-account\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku_name=\"Basic\")\nexample_hybrid_runbook_worker_group = azure.automation.HybridRunbookWorkerGroup(\"example\",\n    name=\"example\",\n    resource_group_name=example.name,\n    automation_account_name=example_account.name)\nexample_run_book = azure.automation.RunBook(\"example\",\n    name=\"Get-AzureVMTutorial\",\n    location=example.location,\n    resource_group_name=example.name,\n    automation_account_name=example_account.name,\n    log_verbose=True,\n    log_progress=True,\n    description=\"This is an example runbook\",\n    runbook_type=\"PowerShellWorkflow\",\n    publish_content_link={\n        \"uri\": \"https://raw.githubusercontent.com/Azure/azure-quickstart-templates/c4935ffb69246a6058eb24f54640f53f69d3ac9f/101-automation-runbook-getvms/Runbooks/Get-AzureVMTutorial.ps1\",\n    })\nexample_watcher = azure.automation.Watcher(\"example\",\n    name=\"example\",\n    automation_account_id=example_account.id,\n    location=\"West Europe\",\n    script_name=example_run_book.name,\n    script_run_on=example_hybrid_runbook_worker_group.name,\n    description=\"example-watcher desc\",\n    execution_frequency_in_seconds=42,\n    tags={\n        \"foo\": \"bar\",\n    },\n    script_parameters={\n        \"foo\": \"bar\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleAccount = new Azure.Automation.Account(\"example\", new()\n    {\n        Name = \"example-account\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        SkuName = \"Basic\",\n    });\n\n    var exampleHybridRunbookWorkerGroup = new Azure.Automation.HybridRunbookWorkerGroup(\"example\", new()\n    {\n        Name = \"example\",\n        ResourceGroupName = example.Name,\n        AutomationAccountName = exampleAccount.Name,\n    });\n\n    var exampleRunBook = new Azure.Automation.RunBook(\"example\", new()\n    {\n        Name = \"Get-AzureVMTutorial\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        AutomationAccountName = exampleAccount.Name,\n        LogVerbose = true,\n        LogProgress = true,\n        Description = \"This is an example runbook\",\n        RunbookType = \"PowerShellWorkflow\",\n        PublishContentLink = new Azure.Automation.Inputs.RunBookPublishContentLinkArgs\n        {\n            Uri = \"https://raw.githubusercontent.com/Azure/azure-quickstart-templates/c4935ffb69246a6058eb24f54640f53f69d3ac9f/101-automation-runbook-getvms/Runbooks/Get-AzureVMTutorial.ps1\",\n        },\n    });\n\n    var exampleWatcher = new Azure.Automation.Watcher(\"example\", new()\n    {\n        Name = \"example\",\n        AutomationAccountId = exampleAccount.Id,\n        Location = \"West Europe\",\n        ScriptName = exampleRunBook.Name,\n        ScriptRunOn = exampleHybridRunbookWorkerGroup.Name,\n        Description = \"example-watcher desc\",\n        ExecutionFrequencyInSeconds = 42,\n        Tags = \n        {\n            { \"foo\", \"bar\" },\n        },\n        ScriptParameters = \n        {\n            { \"foo\", \"bar\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/automation\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := automation.NewAccount(ctx, \"example\", \u0026automation.AccountArgs{\n\t\t\tName:              pulumi.String(\"example-account\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSkuName:           pulumi.String(\"Basic\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleHybridRunbookWorkerGroup, err := automation.NewHybridRunbookWorkerGroup(ctx, \"example\", \u0026automation.HybridRunbookWorkerGroupArgs{\n\t\t\tName:                  pulumi.String(\"example\"),\n\t\t\tResourceGroupName:     example.Name,\n\t\t\tAutomationAccountName: exampleAccount.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleRunBook, err := automation.NewRunBook(ctx, \"example\", \u0026automation.RunBookArgs{\n\t\t\tName:                  pulumi.String(\"Get-AzureVMTutorial\"),\n\t\t\tLocation:              example.Location,\n\t\t\tResourceGroupName:     example.Name,\n\t\t\tAutomationAccountName: exampleAccount.Name,\n\t\t\tLogVerbose:            pulumi.Bool(true),\n\t\t\tLogProgress:           pulumi.Bool(true),\n\t\t\tDescription:           pulumi.String(\"This is an example runbook\"),\n\t\t\tRunbookType:           pulumi.String(\"PowerShellWorkflow\"),\n\t\t\tPublishContentLink: \u0026automation.RunBookPublishContentLinkArgs{\n\t\t\t\tUri: pulumi.String(\"https://raw.githubusercontent.com/Azure/azure-quickstart-templates/c4935ffb69246a6058eb24f54640f53f69d3ac9f/101-automation-runbook-getvms/Runbooks/Get-AzureVMTutorial.ps1\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = automation.NewWatcher(ctx, \"example\", \u0026automation.WatcherArgs{\n\t\t\tName:                        pulumi.String(\"example\"),\n\t\t\tAutomationAccountId:         exampleAccount.ID(),\n\t\t\tLocation:                    pulumi.String(\"West Europe\"),\n\t\t\tScriptName:                  exampleRunBook.Name,\n\t\t\tScriptRunOn:                 exampleHybridRunbookWorkerGroup.Name,\n\t\t\tDescription:                 pulumi.String(\"example-watcher desc\"),\n\t\t\tExecutionFrequencyInSeconds: pulumi.Int(42),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"foo\": pulumi.String(\"bar\"),\n\t\t\t},\n\t\t\tScriptParameters: pulumi.StringMap{\n\t\t\t\t\"foo\": pulumi.String(\"bar\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.automation.Account;\nimport com.pulumi.azure.automation.AccountArgs;\nimport com.pulumi.azure.automation.HybridRunbookWorkerGroup;\nimport com.pulumi.azure.automation.HybridRunbookWorkerGroupArgs;\nimport com.pulumi.azure.automation.RunBook;\nimport com.pulumi.azure.automation.RunBookArgs;\nimport com.pulumi.azure.automation.inputs.RunBookPublishContentLinkArgs;\nimport com.pulumi.azure.automation.Watcher;\nimport com.pulumi.azure.automation.WatcherArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"example-account\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .skuName(\"Basic\")\n            .build());\n\n        var exampleHybridRunbookWorkerGroup = new HybridRunbookWorkerGroup(\"exampleHybridRunbookWorkerGroup\", HybridRunbookWorkerGroupArgs.builder()\n            .name(\"example\")\n            .resourceGroupName(example.name())\n            .automationAccountName(exampleAccount.name())\n            .build());\n\n        var exampleRunBook = new RunBook(\"exampleRunBook\", RunBookArgs.builder()\n            .name(\"Get-AzureVMTutorial\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .automationAccountName(exampleAccount.name())\n            .logVerbose(true)\n            .logProgress(true)\n            .description(\"This is an example runbook\")\n            .runbookType(\"PowerShellWorkflow\")\n            .publishContentLink(RunBookPublishContentLinkArgs.builder()\n                .uri(\"https://raw.githubusercontent.com/Azure/azure-quickstart-templates/c4935ffb69246a6058eb24f54640f53f69d3ac9f/101-automation-runbook-getvms/Runbooks/Get-AzureVMTutorial.ps1\")\n                .build())\n            .build());\n\n        var exampleWatcher = new Watcher(\"exampleWatcher\", WatcherArgs.builder()\n            .name(\"example\")\n            .automationAccountId(exampleAccount.id())\n            .location(\"West Europe\")\n            .scriptName(exampleRunBook.name())\n            .scriptRunOn(exampleHybridRunbookWorkerGroup.name())\n            .description(\"example-watcher desc\")\n            .executionFrequencyInSeconds(42)\n            .tags(Map.of(\"foo\", \"bar\"))\n            .scriptParameters(Map.of(\"foo\", \"bar\"))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleAccount:\n    type: azure:automation:Account\n    name: example\n    properties:\n      name: example-account\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      skuName: Basic\n  exampleHybridRunbookWorkerGroup:\n    type: azure:automation:HybridRunbookWorkerGroup\n    name: example\n    properties:\n      name: example\n      resourceGroupName: ${example.name}\n      automationAccountName: ${exampleAccount.name}\n  exampleRunBook:\n    type: azure:automation:RunBook\n    name: example\n    properties:\n      name: Get-AzureVMTutorial\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      automationAccountName: ${exampleAccount.name}\n      logVerbose: 'true'\n      logProgress: 'true'\n      description: This is an example runbook\n      runbookType: PowerShellWorkflow\n      publishContentLink:\n        uri: https://raw.githubusercontent.com/Azure/azure-quickstart-templates/c4935ffb69246a6058eb24f54640f53f69d3ac9f/101-automation-runbook-getvms/Runbooks/Get-AzureVMTutorial.ps1\n  exampleWatcher:\n    type: azure:automation:Watcher\n    name: example\n    properties:\n      name: example\n      automationAccountId: ${exampleAccount.id}\n      location: West Europe\n      scriptName: ${exampleRunBook.name}\n      scriptRunOn: ${exampleHybridRunbookWorkerGroup.name}\n      description: example-watcher desc\n      executionFrequencyInSeconds: 42\n      tags:\n        foo: bar\n      scriptParameters:\n        foo: bar\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Automation` - 2020-01-13-preview\n\n## Import\n\nAutomation Watchers can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:automation/watcher:Watcher example /subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/group1/providers/Microsoft.Automation/automationAccounts/account1/watchers/watch1\n```\n\n","properties":{"automationAccountId":{"type":"string","description":"The ID of Automation Account to manage this Watcher. Changing this forces a new Watcher to be created.\n"},"description":{"type":"string","description":"A description of this Automation Watcher.\n"},"etag":{"type":"string","description":"A string of etag assigned to this Automation Watcher.\n"},"executionFrequencyInSeconds":{"type":"integer","description":"Specify the frequency at which the watcher is invoked.\n"},"location":{"type":"string","description":"The Azure Region where the Automation Watcher should exist. Changing this forces a new Automation Watcher to be created.\n"},"name":{"type":"string","description":"The name which should be used for this Automation Watcher. Changing this forces a new Automation Watcher to be created.\n"},"scriptName":{"type":"string","description":"Specify the name of an existing runbook this watcher is attached to. Changing this forces a new Automation to be created.\n"},"scriptParameters":{"type":"object","additionalProperties":{"type":"string"},"description":"Specifies a list of key-vaule parameters. Changing this forces a new Automation watcher to be created.\n"},"scriptRunOn":{"type":"string","description":"Specify the name of the Hybrid work group the watcher will run on.\n"},"status":{"type":"string","description":"The current status of the Automation Watcher.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Automation Watcher.\n"}},"required":["automationAccountId","executionFrequencyInSeconds","location","name","scriptName","scriptRunOn","status"],"inputProperties":{"automationAccountId":{"type":"string","description":"The ID of Automation Account to manage this Watcher. Changing this forces a new Watcher to be created.\n","willReplaceOnChanges":true},"description":{"type":"string","description":"A description of this Automation Watcher.\n"},"etag":{"type":"string","description":"A string of etag assigned to this Automation Watcher.\n"},"executionFrequencyInSeconds":{"type":"integer","description":"Specify the frequency at which the watcher is invoked.\n"},"location":{"type":"string","description":"The Azure Region where the Automation Watcher should exist. Changing this forces a new Automation Watcher to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Automation Watcher. Changing this forces a new Automation Watcher to be created.\n","willReplaceOnChanges":true},"scriptName":{"type":"string","description":"Specify the name of an existing runbook this watcher is attached to. Changing this forces a new Automation to be created.\n","willReplaceOnChanges":true},"scriptParameters":{"type":"object","additionalProperties":{"type":"string"},"description":"Specifies a list of key-vaule parameters. Changing this forces a new Automation watcher to be created.\n","willReplaceOnChanges":true},"scriptRunOn":{"type":"string","description":"Specify the name of the Hybrid work group the watcher will run on.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Automation Watcher.\n"}},"requiredInputs":["automationAccountId","executionFrequencyInSeconds","scriptName","scriptRunOn"],"stateInputs":{"description":"Input properties used for looking up and filtering Watcher resources.\n","properties":{"automationAccountId":{"type":"string","description":"The ID of Automation Account to manage this Watcher. Changing this forces a new Watcher to be created.\n","willReplaceOnChanges":true},"description":{"type":"string","description":"A description of this Automation Watcher.\n"},"etag":{"type":"string","description":"A string of etag assigned to this Automation Watcher.\n"},"executionFrequencyInSeconds":{"type":"integer","description":"Specify the frequency at which the watcher is invoked.\n"},"location":{"type":"string","description":"The Azure Region where the Automation Watcher should exist. Changing this forces a new Automation Watcher to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Automation Watcher. Changing this forces a new Automation Watcher to be created.\n","willReplaceOnChanges":true},"scriptName":{"type":"string","description":"Specify the name of an existing runbook this watcher is attached to. Changing this forces a new Automation to be created.\n","willReplaceOnChanges":true},"scriptParameters":{"type":"object","additionalProperties":{"type":"string"},"description":"Specifies a list of key-vaule parameters. Changing this forces a new Automation watcher to be created.\n","willReplaceOnChanges":true},"scriptRunOn":{"type":"string","description":"Specify the name of the Hybrid work group the watcher will run on.\n"},"status":{"type":"string","description":"The current status of the Automation Watcher.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Automation Watcher.\n"}},"type":"object"}},"azure:automation/webhook:Webhook":{"description":"Manages an Automation Runbook's Webhook.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleAccount = new azure.automation.Account(\"example\", {\n    name: \"account1\",\n    location: example.location,\n    resourceGroupName: example.name,\n    skuName: \"Basic\",\n});\nconst exampleRunBook = new azure.automation.RunBook(\"example\", {\n    name: \"Get-AzureVMTutorial\",\n    location: example.location,\n    resourceGroupName: example.name,\n    automationAccountName: exampleAccount.name,\n    logVerbose: true,\n    logProgress: true,\n    description: \"This is an example runbook\",\n    runbookType: \"PowerShellWorkflow\",\n    publishContentLink: {\n        uri: \"https://raw.githubusercontent.com/Azure/azure-quickstart-templates/c4935ffb69246a6058eb24f54640f53f69d3ac9f/101-automation-runbook-getvms/Runbooks/Get-AzureVMTutorial.ps1\",\n    },\n});\nconst exampleWebhook = new azure.automation.Webhook(\"example\", {\n    name: \"TestRunbook_webhook\",\n    resourceGroupName: example.name,\n    automationAccountName: exampleAccount.name,\n    expiryTime: \"2021-12-31T00:00:00Z\",\n    enabled: true,\n    runbookName: exampleRunBook.name,\n    parameters: {\n        input: \"parameter\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_account = azure.automation.Account(\"example\",\n    name=\"account1\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku_name=\"Basic\")\nexample_run_book = azure.automation.RunBook(\"example\",\n    name=\"Get-AzureVMTutorial\",\n    location=example.location,\n    resource_group_name=example.name,\n    automation_account_name=example_account.name,\n    log_verbose=True,\n    log_progress=True,\n    description=\"This is an example runbook\",\n    runbook_type=\"PowerShellWorkflow\",\n    publish_content_link={\n        \"uri\": \"https://raw.githubusercontent.com/Azure/azure-quickstart-templates/c4935ffb69246a6058eb24f54640f53f69d3ac9f/101-automation-runbook-getvms/Runbooks/Get-AzureVMTutorial.ps1\",\n    })\nexample_webhook = azure.automation.Webhook(\"example\",\n    name=\"TestRunbook_webhook\",\n    resource_group_name=example.name,\n    automation_account_name=example_account.name,\n    expiry_time=\"2021-12-31T00:00:00Z\",\n    enabled=True,\n    runbook_name=example_run_book.name,\n    parameters={\n        \"input\": \"parameter\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleAccount = new Azure.Automation.Account(\"example\", new()\n    {\n        Name = \"account1\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        SkuName = \"Basic\",\n    });\n\n    var exampleRunBook = new Azure.Automation.RunBook(\"example\", new()\n    {\n        Name = \"Get-AzureVMTutorial\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        AutomationAccountName = exampleAccount.Name,\n        LogVerbose = true,\n        LogProgress = true,\n        Description = \"This is an example runbook\",\n        RunbookType = \"PowerShellWorkflow\",\n        PublishContentLink = new Azure.Automation.Inputs.RunBookPublishContentLinkArgs\n        {\n            Uri = \"https://raw.githubusercontent.com/Azure/azure-quickstart-templates/c4935ffb69246a6058eb24f54640f53f69d3ac9f/101-automation-runbook-getvms/Runbooks/Get-AzureVMTutorial.ps1\",\n        },\n    });\n\n    var exampleWebhook = new Azure.Automation.Webhook(\"example\", new()\n    {\n        Name = \"TestRunbook_webhook\",\n        ResourceGroupName = example.Name,\n        AutomationAccountName = exampleAccount.Name,\n        ExpiryTime = \"2021-12-31T00:00:00Z\",\n        Enabled = true,\n        RunbookName = exampleRunBook.Name,\n        Parameters = \n        {\n            { \"input\", \"parameter\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/automation\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := automation.NewAccount(ctx, \"example\", \u0026automation.AccountArgs{\n\t\t\tName:              pulumi.String(\"account1\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSkuName:           pulumi.String(\"Basic\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleRunBook, err := automation.NewRunBook(ctx, \"example\", \u0026automation.RunBookArgs{\n\t\t\tName:                  pulumi.String(\"Get-AzureVMTutorial\"),\n\t\t\tLocation:              example.Location,\n\t\t\tResourceGroupName:     example.Name,\n\t\t\tAutomationAccountName: exampleAccount.Name,\n\t\t\tLogVerbose:            pulumi.Bool(true),\n\t\t\tLogProgress:           pulumi.Bool(true),\n\t\t\tDescription:           pulumi.String(\"This is an example runbook\"),\n\t\t\tRunbookType:           pulumi.String(\"PowerShellWorkflow\"),\n\t\t\tPublishContentLink: \u0026automation.RunBookPublishContentLinkArgs{\n\t\t\t\tUri: pulumi.String(\"https://raw.githubusercontent.com/Azure/azure-quickstart-templates/c4935ffb69246a6058eb24f54640f53f69d3ac9f/101-automation-runbook-getvms/Runbooks/Get-AzureVMTutorial.ps1\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = automation.NewWebhook(ctx, \"example\", \u0026automation.WebhookArgs{\n\t\t\tName:                  pulumi.String(\"TestRunbook_webhook\"),\n\t\t\tResourceGroupName:     example.Name,\n\t\t\tAutomationAccountName: exampleAccount.Name,\n\t\t\tExpiryTime:            pulumi.String(\"2021-12-31T00:00:00Z\"),\n\t\t\tEnabled:               pulumi.Bool(true),\n\t\t\tRunbookName:           exampleRunBook.Name,\n\t\t\tParameters: pulumi.StringMap{\n\t\t\t\t\"input\": pulumi.String(\"parameter\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.automation.Account;\nimport com.pulumi.azure.automation.AccountArgs;\nimport com.pulumi.azure.automation.RunBook;\nimport com.pulumi.azure.automation.RunBookArgs;\nimport com.pulumi.azure.automation.inputs.RunBookPublishContentLinkArgs;\nimport com.pulumi.azure.automation.Webhook;\nimport com.pulumi.azure.automation.WebhookArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"account1\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .skuName(\"Basic\")\n            .build());\n\n        var exampleRunBook = new RunBook(\"exampleRunBook\", RunBookArgs.builder()\n            .name(\"Get-AzureVMTutorial\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .automationAccountName(exampleAccount.name())\n            .logVerbose(true)\n            .logProgress(true)\n            .description(\"This is an example runbook\")\n            .runbookType(\"PowerShellWorkflow\")\n            .publishContentLink(RunBookPublishContentLinkArgs.builder()\n                .uri(\"https://raw.githubusercontent.com/Azure/azure-quickstart-templates/c4935ffb69246a6058eb24f54640f53f69d3ac9f/101-automation-runbook-getvms/Runbooks/Get-AzureVMTutorial.ps1\")\n                .build())\n            .build());\n\n        var exampleWebhook = new Webhook(\"exampleWebhook\", WebhookArgs.builder()\n            .name(\"TestRunbook_webhook\")\n            .resourceGroupName(example.name())\n            .automationAccountName(exampleAccount.name())\n            .expiryTime(\"2021-12-31T00:00:00Z\")\n            .enabled(true)\n            .runbookName(exampleRunBook.name())\n            .parameters(Map.of(\"input\", \"parameter\"))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleAccount:\n    type: azure:automation:Account\n    name: example\n    properties:\n      name: account1\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      skuName: Basic\n  exampleRunBook:\n    type: azure:automation:RunBook\n    name: example\n    properties:\n      name: Get-AzureVMTutorial\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      automationAccountName: ${exampleAccount.name}\n      logVerbose: 'true'\n      logProgress: 'true'\n      description: This is an example runbook\n      runbookType: PowerShellWorkflow\n      publishContentLink:\n        uri: https://raw.githubusercontent.com/Azure/azure-quickstart-templates/c4935ffb69246a6058eb24f54640f53f69d3ac9f/101-automation-runbook-getvms/Runbooks/Get-AzureVMTutorial.ps1\n  exampleWebhook:\n    type: azure:automation:Webhook\n    name: example\n    properties:\n      name: TestRunbook_webhook\n      resourceGroupName: ${example.name}\n      automationAccountName: ${exampleAccount.name}\n      expiryTime: 2021-12-31T00:00:00Z\n      enabled: true\n      runbookName: ${exampleRunBook.name}\n      parameters:\n        input: parameter\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Automation` - 2015-10-31\n\n## Import\n\nAutomation Webhooks can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:automation/webhook:Webhook TestRunbook_webhook /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Automation/automationAccounts/account1/webHooks/TestRunbook_webhook\n```\n\n","properties":{"automationAccountName":{"type":"string","description":"The name of the automation account in which the Webhook is created. Changing this forces a new resource to be created.\n"},"enabled":{"type":"boolean","description":"Controls if Webhook is enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"expiryTime":{"type":"string","description":"Timestamp when the webhook expires. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"Specifies the name of the Webhook. Changing this forces a new resource to be created.\n"},"parameters":{"type":"object","additionalProperties":{"type":"string"},"description":"Map of input parameters passed to runbook.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the Webhook is created. Changing this forces a new resource to be created.\n"},"runOnWorkerGroup":{"type":"string","description":"Name of the hybrid worker group the Webhook job will run on.\n"},"runbookName":{"type":"string","description":"Name of the Automation Runbook to execute by Webhook.\n"},"uri":{"type":"string","description":"URI to initiate the webhook. Can be generated using [Generate URI API](https://docs.microsoft.com/rest/api/automation/webhook/generate-uri). By default, new URI is generated on each new resource creation. Changing this forces a new resource to be created.\n","secret":true}},"required":["automationAccountName","expiryTime","name","resourceGroupName","runbookName","uri"],"inputProperties":{"automationAccountName":{"type":"string","description":"The name of the automation account in which the Webhook is created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"enabled":{"type":"boolean","description":"Controls if Webhook is enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"expiryTime":{"type":"string","description":"Timestamp when the webhook expires. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the Webhook. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"parameters":{"type":"object","additionalProperties":{"type":"string"},"description":"Map of input parameters passed to runbook.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the Webhook is created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"runOnWorkerGroup":{"type":"string","description":"Name of the hybrid worker group the Webhook job will run on.\n"},"runbookName":{"type":"string","description":"Name of the Automation Runbook to execute by Webhook.\n"},"uri":{"type":"string","description":"URI to initiate the webhook. Can be generated using [Generate URI API](https://docs.microsoft.com/rest/api/automation/webhook/generate-uri). By default, new URI is generated on each new resource creation. Changing this forces a new resource to be created.\n","secret":true,"willReplaceOnChanges":true}},"requiredInputs":["automationAccountName","expiryTime","resourceGroupName","runbookName"],"stateInputs":{"description":"Input properties used for looking up and filtering Webhook resources.\n","properties":{"automationAccountName":{"type":"string","description":"The name of the automation account in which the Webhook is created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"enabled":{"type":"boolean","description":"Controls if Webhook is enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"expiryTime":{"type":"string","description":"Timestamp when the webhook expires. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the Webhook. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"parameters":{"type":"object","additionalProperties":{"type":"string"},"description":"Map of input parameters passed to runbook.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the Webhook is created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"runOnWorkerGroup":{"type":"string","description":"Name of the hybrid worker group the Webhook job will run on.\n"},"runbookName":{"type":"string","description":"Name of the Automation Runbook to execute by Webhook.\n"},"uri":{"type":"string","description":"URI to initiate the webhook. Can be generated using [Generate URI API](https://docs.microsoft.com/rest/api/automation/webhook/generate-uri). By default, new URI is generated on each new resource creation. Changing this forces a new resource to be created.\n","secret":true,"willReplaceOnChanges":true}},"type":"object"}},"azure:avs/cluster:Cluster":{"description":"Manages an Azure VMware Solution Cluster.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst examplePrivateCloud = new azure.avs.PrivateCloud(\"example\", {\n    name: \"example-vmware-private-cloud\",\n    resourceGroupName: example.name,\n    location: example.location,\n    skuName: \"av36\",\n    managementCluster: {\n        size: 3,\n    },\n    networkSubnetCidr: \"192.168.48.0/22\",\n    internetConnectionEnabled: false,\n    nsxtPassword: \"QazWsx13$Edc\",\n    vcenterPassword: \"WsxEdc23$Rfv\",\n});\nconst exampleCluster = new azure.avs.Cluster(\"example\", {\n    name: \"example-Cluster\",\n    vmwareCloudId: examplePrivateCloud.id,\n    clusterNodeCount: 3,\n    skuName: \"av36\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_private_cloud = azure.avs.PrivateCloud(\"example\",\n    name=\"example-vmware-private-cloud\",\n    resource_group_name=example.name,\n    location=example.location,\n    sku_name=\"av36\",\n    management_cluster={\n        \"size\": 3,\n    },\n    network_subnet_cidr=\"192.168.48.0/22\",\n    internet_connection_enabled=False,\n    nsxt_password=\"QazWsx13$Edc\",\n    vcenter_password=\"WsxEdc23$Rfv\")\nexample_cluster = azure.avs.Cluster(\"example\",\n    name=\"example-Cluster\",\n    vmware_cloud_id=example_private_cloud.id,\n    cluster_node_count=3,\n    sku_name=\"av36\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var examplePrivateCloud = new Azure.Avs.PrivateCloud(\"example\", new()\n    {\n        Name = \"example-vmware-private-cloud\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        SkuName = \"av36\",\n        ManagementCluster = new Azure.Avs.Inputs.PrivateCloudManagementClusterArgs\n        {\n            Size = 3,\n        },\n        NetworkSubnetCidr = \"192.168.48.0/22\",\n        InternetConnectionEnabled = false,\n        NsxtPassword = \"QazWsx13$Edc\",\n        VcenterPassword = \"WsxEdc23$Rfv\",\n    });\n\n    var exampleCluster = new Azure.Avs.Cluster(\"example\", new()\n    {\n        Name = \"example-Cluster\",\n        VmwareCloudId = examplePrivateCloud.Id,\n        ClusterNodeCount = 3,\n        SkuName = \"av36\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/avs\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texamplePrivateCloud, err := avs.NewPrivateCloud(ctx, \"example\", \u0026avs.PrivateCloudArgs{\n\t\t\tName:              pulumi.String(\"example-vmware-private-cloud\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tSkuName:           pulumi.String(\"av36\"),\n\t\t\tManagementCluster: \u0026avs.PrivateCloudManagementClusterArgs{\n\t\t\t\tSize: pulumi.Int(3),\n\t\t\t},\n\t\t\tNetworkSubnetCidr:         pulumi.String(\"192.168.48.0/22\"),\n\t\t\tInternetConnectionEnabled: pulumi.Bool(false),\n\t\t\tNsxtPassword:              pulumi.String(\"QazWsx13$Edc\"),\n\t\t\tVcenterPassword:           pulumi.String(\"WsxEdc23$Rfv\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = avs.NewCluster(ctx, \"example\", \u0026avs.ClusterArgs{\n\t\t\tName:             pulumi.String(\"example-Cluster\"),\n\t\t\tVmwareCloudId:    examplePrivateCloud.ID(),\n\t\t\tClusterNodeCount: pulumi.Int(3),\n\t\t\tSkuName:          pulumi.String(\"av36\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.avs.PrivateCloud;\nimport com.pulumi.azure.avs.PrivateCloudArgs;\nimport com.pulumi.azure.avs.inputs.PrivateCloudManagementClusterArgs;\nimport com.pulumi.azure.avs.Cluster;\nimport com.pulumi.azure.avs.ClusterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var examplePrivateCloud = new PrivateCloud(\"examplePrivateCloud\", PrivateCloudArgs.builder()\n            .name(\"example-vmware-private-cloud\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .skuName(\"av36\")\n            .managementCluster(PrivateCloudManagementClusterArgs.builder()\n                .size(3)\n                .build())\n            .networkSubnetCidr(\"192.168.48.0/22\")\n            .internetConnectionEnabled(false)\n            .nsxtPassword(\"QazWsx13$Edc\")\n            .vcenterPassword(\"WsxEdc23$Rfv\")\n            .build());\n\n        var exampleCluster = new Cluster(\"exampleCluster\", ClusterArgs.builder()\n            .name(\"example-Cluster\")\n            .vmwareCloudId(examplePrivateCloud.id())\n            .clusterNodeCount(3)\n            .skuName(\"av36\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  examplePrivateCloud:\n    type: azure:avs:PrivateCloud\n    name: example\n    properties:\n      name: example-vmware-private-cloud\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      skuName: av36\n      managementCluster:\n        size: 3\n      networkSubnetCidr: 192.168.48.0/22\n      internetConnectionEnabled: false\n      nsxtPassword: QazWsx13$Edc\n      vcenterPassword: WsxEdc23$Rfv\n  exampleCluster:\n    type: azure:avs:Cluster\n    name: example\n    properties:\n      name: example-Cluster\n      vmwareCloudId: ${examplePrivateCloud.id}\n      clusterNodeCount: 3\n      skuName: av36\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.AVS` - 2022-05-01\n\n## Import\n\nAzure VMware Solution Clusters can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:avs/cluster:Cluster example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.AVS/privateClouds/privateCloud1/clusters/cluster1\n```\n\n","properties":{"clusterNodeCount":{"type":"integer","description":"The count of the Azure VMware Solution Cluster nodes.\n"},"clusterNumber":{"type":"integer","description":"A number that identifies this Cluster in its Azure VMware Solution Private Cloud.\n"},"hosts":{"type":"array","items":{"type":"string"},"description":"A list of hosts in the Azure VMware Solution Cluster.\n"},"name":{"type":"string","description":"The name which should be used for this Azure VMware Solution Cluster. Changing this forces a new Azure VMware Solution Cluster to be created.\n"},"skuName":{"type":"string","description":"The Cluster SKU to use. Possible values are \u003cspan pulumi-lang-nodejs=\"`av20`\" pulumi-lang-dotnet=\"`Av20`\" pulumi-lang-go=\"`av20`\" pulumi-lang-python=\"`av20`\" pulumi-lang-yaml=\"`av20`\" pulumi-lang-java=\"`av20`\"\u003e`av20`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`av36`\" pulumi-lang-dotnet=\"`Av36`\" pulumi-lang-go=\"`av36`\" pulumi-lang-python=\"`av36`\" pulumi-lang-yaml=\"`av36`\" pulumi-lang-java=\"`av36`\"\u003e`av36`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`av36t`\" pulumi-lang-dotnet=\"`Av36t`\" pulumi-lang-go=\"`av36t`\" pulumi-lang-python=\"`av36t`\" pulumi-lang-yaml=\"`av36t`\" pulumi-lang-java=\"`av36t`\"\u003e`av36t`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`av36p`\" pulumi-lang-dotnet=\"`Av36p`\" pulumi-lang-go=\"`av36p`\" pulumi-lang-python=\"`av36p`\" pulumi-lang-yaml=\"`av36p`\" pulumi-lang-java=\"`av36p`\"\u003e`av36p`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`av48`\" pulumi-lang-dotnet=\"`Av48`\" pulumi-lang-go=\"`av48`\" pulumi-lang-python=\"`av48`\" pulumi-lang-yaml=\"`av48`\" pulumi-lang-java=\"`av48`\"\u003e`av48`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`av48t`\" pulumi-lang-dotnet=\"`Av48t`\" pulumi-lang-go=\"`av48t`\" pulumi-lang-python=\"`av48t`\" pulumi-lang-yaml=\"`av48t`\" pulumi-lang-java=\"`av48t`\"\u003e`av48t`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`av36pt`\" pulumi-lang-dotnet=\"`Av36pt`\" pulumi-lang-go=\"`av36pt`\" pulumi-lang-python=\"`av36pt`\" pulumi-lang-yaml=\"`av36pt`\" pulumi-lang-java=\"`av36pt`\"\u003e`av36pt`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`av52`\" pulumi-lang-dotnet=\"`Av52`\" pulumi-lang-go=\"`av52`\" pulumi-lang-python=\"`av52`\" pulumi-lang-yaml=\"`av52`\" pulumi-lang-java=\"`av52`\"\u003e`av52`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`av52t`\" pulumi-lang-dotnet=\"`Av52t`\" pulumi-lang-go=\"`av52t`\" pulumi-lang-python=\"`av52t`\" pulumi-lang-yaml=\"`av52t`\" pulumi-lang-java=\"`av52t`\"\u003e`av52t`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`av64`\" pulumi-lang-dotnet=\"`Av64`\" pulumi-lang-go=\"`av64`\" pulumi-lang-python=\"`av64`\" pulumi-lang-yaml=\"`av64`\" pulumi-lang-java=\"`av64`\"\u003e`av64`\u003c/span\u003e. Changing this forces a new Azure VMware Solution Cluster to be created.\n"},"vmwareCloudId":{"type":"string","description":"The ID of the Azure VMware Solution Private Cloud in which to create this Cluster. Changing this forces a new Azure VMware Solution Cluster to be created.\n"}},"required":["clusterNodeCount","clusterNumber","hosts","name","skuName","vmwareCloudId"],"inputProperties":{"clusterNodeCount":{"type":"integer","description":"The count of the Azure VMware Solution Cluster nodes.\n"},"name":{"type":"string","description":"The name which should be used for this Azure VMware Solution Cluster. Changing this forces a new Azure VMware Solution Cluster to be created.\n","willReplaceOnChanges":true},"skuName":{"type":"string","description":"The Cluster SKU to use. Possible values are \u003cspan pulumi-lang-nodejs=\"`av20`\" pulumi-lang-dotnet=\"`Av20`\" pulumi-lang-go=\"`av20`\" pulumi-lang-python=\"`av20`\" pulumi-lang-yaml=\"`av20`\" pulumi-lang-java=\"`av20`\"\u003e`av20`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`av36`\" pulumi-lang-dotnet=\"`Av36`\" pulumi-lang-go=\"`av36`\" pulumi-lang-python=\"`av36`\" pulumi-lang-yaml=\"`av36`\" pulumi-lang-java=\"`av36`\"\u003e`av36`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`av36t`\" pulumi-lang-dotnet=\"`Av36t`\" pulumi-lang-go=\"`av36t`\" pulumi-lang-python=\"`av36t`\" pulumi-lang-yaml=\"`av36t`\" pulumi-lang-java=\"`av36t`\"\u003e`av36t`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`av36p`\" pulumi-lang-dotnet=\"`Av36p`\" pulumi-lang-go=\"`av36p`\" pulumi-lang-python=\"`av36p`\" pulumi-lang-yaml=\"`av36p`\" pulumi-lang-java=\"`av36p`\"\u003e`av36p`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`av48`\" pulumi-lang-dotnet=\"`Av48`\" pulumi-lang-go=\"`av48`\" pulumi-lang-python=\"`av48`\" pulumi-lang-yaml=\"`av48`\" pulumi-lang-java=\"`av48`\"\u003e`av48`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`av48t`\" pulumi-lang-dotnet=\"`Av48t`\" pulumi-lang-go=\"`av48t`\" pulumi-lang-python=\"`av48t`\" pulumi-lang-yaml=\"`av48t`\" pulumi-lang-java=\"`av48t`\"\u003e`av48t`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`av36pt`\" pulumi-lang-dotnet=\"`Av36pt`\" pulumi-lang-go=\"`av36pt`\" pulumi-lang-python=\"`av36pt`\" pulumi-lang-yaml=\"`av36pt`\" pulumi-lang-java=\"`av36pt`\"\u003e`av36pt`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`av52`\" pulumi-lang-dotnet=\"`Av52`\" pulumi-lang-go=\"`av52`\" pulumi-lang-python=\"`av52`\" pulumi-lang-yaml=\"`av52`\" pulumi-lang-java=\"`av52`\"\u003e`av52`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`av52t`\" pulumi-lang-dotnet=\"`Av52t`\" pulumi-lang-go=\"`av52t`\" pulumi-lang-python=\"`av52t`\" pulumi-lang-yaml=\"`av52t`\" pulumi-lang-java=\"`av52t`\"\u003e`av52t`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`av64`\" pulumi-lang-dotnet=\"`Av64`\" pulumi-lang-go=\"`av64`\" pulumi-lang-python=\"`av64`\" pulumi-lang-yaml=\"`av64`\" pulumi-lang-java=\"`av64`\"\u003e`av64`\u003c/span\u003e. Changing this forces a new Azure VMware Solution Cluster to be created.\n","willReplaceOnChanges":true},"vmwareCloudId":{"type":"string","description":"The ID of the Azure VMware Solution Private Cloud in which to create this Cluster. Changing this forces a new Azure VMware Solution Cluster to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["clusterNodeCount","skuName","vmwareCloudId"],"stateInputs":{"description":"Input properties used for looking up and filtering Cluster resources.\n","properties":{"clusterNodeCount":{"type":"integer","description":"The count of the Azure VMware Solution Cluster nodes.\n"},"clusterNumber":{"type":"integer","description":"A number that identifies this Cluster in its Azure VMware Solution Private Cloud.\n"},"hosts":{"type":"array","items":{"type":"string"},"description":"A list of hosts in the Azure VMware Solution Cluster.\n"},"name":{"type":"string","description":"The name which should be used for this Azure VMware Solution Cluster. Changing this forces a new Azure VMware Solution Cluster to be created.\n","willReplaceOnChanges":true},"skuName":{"type":"string","description":"The Cluster SKU to use. Possible values are \u003cspan pulumi-lang-nodejs=\"`av20`\" pulumi-lang-dotnet=\"`Av20`\" pulumi-lang-go=\"`av20`\" pulumi-lang-python=\"`av20`\" pulumi-lang-yaml=\"`av20`\" pulumi-lang-java=\"`av20`\"\u003e`av20`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`av36`\" pulumi-lang-dotnet=\"`Av36`\" pulumi-lang-go=\"`av36`\" pulumi-lang-python=\"`av36`\" pulumi-lang-yaml=\"`av36`\" pulumi-lang-java=\"`av36`\"\u003e`av36`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`av36t`\" pulumi-lang-dotnet=\"`Av36t`\" pulumi-lang-go=\"`av36t`\" pulumi-lang-python=\"`av36t`\" pulumi-lang-yaml=\"`av36t`\" pulumi-lang-java=\"`av36t`\"\u003e`av36t`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`av36p`\" pulumi-lang-dotnet=\"`Av36p`\" pulumi-lang-go=\"`av36p`\" pulumi-lang-python=\"`av36p`\" pulumi-lang-yaml=\"`av36p`\" pulumi-lang-java=\"`av36p`\"\u003e`av36p`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`av48`\" pulumi-lang-dotnet=\"`Av48`\" pulumi-lang-go=\"`av48`\" pulumi-lang-python=\"`av48`\" pulumi-lang-yaml=\"`av48`\" pulumi-lang-java=\"`av48`\"\u003e`av48`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`av48t`\" pulumi-lang-dotnet=\"`Av48t`\" pulumi-lang-go=\"`av48t`\" pulumi-lang-python=\"`av48t`\" pulumi-lang-yaml=\"`av48t`\" pulumi-lang-java=\"`av48t`\"\u003e`av48t`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`av36pt`\" pulumi-lang-dotnet=\"`Av36pt`\" pulumi-lang-go=\"`av36pt`\" pulumi-lang-python=\"`av36pt`\" pulumi-lang-yaml=\"`av36pt`\" pulumi-lang-java=\"`av36pt`\"\u003e`av36pt`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`av52`\" pulumi-lang-dotnet=\"`Av52`\" pulumi-lang-go=\"`av52`\" pulumi-lang-python=\"`av52`\" pulumi-lang-yaml=\"`av52`\" pulumi-lang-java=\"`av52`\"\u003e`av52`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`av52t`\" pulumi-lang-dotnet=\"`Av52t`\" pulumi-lang-go=\"`av52t`\" pulumi-lang-python=\"`av52t`\" pulumi-lang-yaml=\"`av52t`\" pulumi-lang-java=\"`av52t`\"\u003e`av52t`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`av64`\" pulumi-lang-dotnet=\"`Av64`\" pulumi-lang-go=\"`av64`\" pulumi-lang-python=\"`av64`\" pulumi-lang-yaml=\"`av64`\" pulumi-lang-java=\"`av64`\"\u003e`av64`\u003c/span\u003e. Changing this forces a new Azure VMware Solution Cluster to be created.\n","willReplaceOnChanges":true},"vmwareCloudId":{"type":"string","description":"The ID of the Azure VMware Solution Private Cloud in which to create this Cluster. Changing this forces a new Azure VMware Solution Cluster to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:avs/expressRouteAuthorization:ExpressRouteAuthorization":{"description":"Manages an Azure VMware Solution ExpressRoute Circuit Authorization.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst examplePrivateCloud = new azure.avs.PrivateCloud(\"example\", {\n    name: \"example-vmware-private-cloud\",\n    resourceGroupName: example.name,\n    location: example.location,\n    skuName: \"av36\",\n    managementCluster: {\n        size: 3,\n    },\n    networkSubnetCidr: \"192.168.48.0/22\",\n    internetConnectionEnabled: false,\n    nsxtPassword: \"QazWsx13$Edc\",\n    vcenterPassword: \"WsxEdc23$Rfv\",\n});\nconst exampleExpressRouteAuthorization = new azure.avs.ExpressRouteAuthorization(\"example\", {\n    name: \"example-authorization\",\n    privateCloudId: examplePrivateCloud.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_private_cloud = azure.avs.PrivateCloud(\"example\",\n    name=\"example-vmware-private-cloud\",\n    resource_group_name=example.name,\n    location=example.location,\n    sku_name=\"av36\",\n    management_cluster={\n        \"size\": 3,\n    },\n    network_subnet_cidr=\"192.168.48.0/22\",\n    internet_connection_enabled=False,\n    nsxt_password=\"QazWsx13$Edc\",\n    vcenter_password=\"WsxEdc23$Rfv\")\nexample_express_route_authorization = azure.avs.ExpressRouteAuthorization(\"example\",\n    name=\"example-authorization\",\n    private_cloud_id=example_private_cloud.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var examplePrivateCloud = new Azure.Avs.PrivateCloud(\"example\", new()\n    {\n        Name = \"example-vmware-private-cloud\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        SkuName = \"av36\",\n        ManagementCluster = new Azure.Avs.Inputs.PrivateCloudManagementClusterArgs\n        {\n            Size = 3,\n        },\n        NetworkSubnetCidr = \"192.168.48.0/22\",\n        InternetConnectionEnabled = false,\n        NsxtPassword = \"QazWsx13$Edc\",\n        VcenterPassword = \"WsxEdc23$Rfv\",\n    });\n\n    var exampleExpressRouteAuthorization = new Azure.Avs.ExpressRouteAuthorization(\"example\", new()\n    {\n        Name = \"example-authorization\",\n        PrivateCloudId = examplePrivateCloud.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/avs\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texamplePrivateCloud, err := avs.NewPrivateCloud(ctx, \"example\", \u0026avs.PrivateCloudArgs{\n\t\t\tName:              pulumi.String(\"example-vmware-private-cloud\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tSkuName:           pulumi.String(\"av36\"),\n\t\t\tManagementCluster: \u0026avs.PrivateCloudManagementClusterArgs{\n\t\t\t\tSize: pulumi.Int(3),\n\t\t\t},\n\t\t\tNetworkSubnetCidr:         pulumi.String(\"192.168.48.0/22\"),\n\t\t\tInternetConnectionEnabled: pulumi.Bool(false),\n\t\t\tNsxtPassword:              pulumi.String(\"QazWsx13$Edc\"),\n\t\t\tVcenterPassword:           pulumi.String(\"WsxEdc23$Rfv\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = avs.NewExpressRouteAuthorization(ctx, \"example\", \u0026avs.ExpressRouteAuthorizationArgs{\n\t\t\tName:           pulumi.String(\"example-authorization\"),\n\t\t\tPrivateCloudId: examplePrivateCloud.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.avs.PrivateCloud;\nimport com.pulumi.azure.avs.PrivateCloudArgs;\nimport com.pulumi.azure.avs.inputs.PrivateCloudManagementClusterArgs;\nimport com.pulumi.azure.avs.ExpressRouteAuthorization;\nimport com.pulumi.azure.avs.ExpressRouteAuthorizationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var examplePrivateCloud = new PrivateCloud(\"examplePrivateCloud\", PrivateCloudArgs.builder()\n            .name(\"example-vmware-private-cloud\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .skuName(\"av36\")\n            .managementCluster(PrivateCloudManagementClusterArgs.builder()\n                .size(3)\n                .build())\n            .networkSubnetCidr(\"192.168.48.0/22\")\n            .internetConnectionEnabled(false)\n            .nsxtPassword(\"QazWsx13$Edc\")\n            .vcenterPassword(\"WsxEdc23$Rfv\")\n            .build());\n\n        var exampleExpressRouteAuthorization = new ExpressRouteAuthorization(\"exampleExpressRouteAuthorization\", ExpressRouteAuthorizationArgs.builder()\n            .name(\"example-authorization\")\n            .privateCloudId(examplePrivateCloud.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  examplePrivateCloud:\n    type: azure:avs:PrivateCloud\n    name: example\n    properties:\n      name: example-vmware-private-cloud\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      skuName: av36\n      managementCluster:\n        size: 3\n      networkSubnetCidr: 192.168.48.0/22\n      internetConnectionEnabled: false\n      nsxtPassword: QazWsx13$Edc\n      vcenterPassword: WsxEdc23$Rfv\n  exampleExpressRouteAuthorization:\n    type: azure:avs:ExpressRouteAuthorization\n    name: example\n    properties:\n      name: example-authorization\n      privateCloudId: ${examplePrivateCloud.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.AVS` - 2022-05-01\n\n## Import\n\nAzure VMware Solution ExpressRoute Circuit Authorizations can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:avs/expressRouteAuthorization:ExpressRouteAuthorization example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.AVS/privateClouds/privateCloud1/authorizations/authorization1\n```\n\n","properties":{"expressRouteAuthorizationId":{"type":"string","description":"The ID of the Azure VMware Solution ExpressRoute Circuit Authorization.\n"},"expressRouteAuthorizationKey":{"type":"string","description":"The key of the Azure VMware Solution ExpressRoute Circuit Authorization.\n","secret":true},"name":{"type":"string","description":"The name which should be used for this Azure VMware Solution ExpressRoute Circuit Authorization. Changing this forces a new Azure VMware Solution ExpressRoute Circuit Authorization to be created.\n"},"privateCloudId":{"type":"string","description":"The ID of the Azure VMware Solution Private Cloud in which to create this Azure VMware Solution ExpressRoute Circuit Authorization. Changing this forces a new Azure VMware Solution ExpressRoute Circuit Authorization to be created.\n"}},"required":["expressRouteAuthorizationId","expressRouteAuthorizationKey","name","privateCloudId"],"inputProperties":{"name":{"type":"string","description":"The name which should be used for this Azure VMware Solution ExpressRoute Circuit Authorization. Changing this forces a new Azure VMware Solution ExpressRoute Circuit Authorization to be created.\n","willReplaceOnChanges":true},"privateCloudId":{"type":"string","description":"The ID of the Azure VMware Solution Private Cloud in which to create this Azure VMware Solution ExpressRoute Circuit Authorization. Changing this forces a new Azure VMware Solution ExpressRoute Circuit Authorization to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["privateCloudId"],"stateInputs":{"description":"Input properties used for looking up and filtering ExpressRouteAuthorization resources.\n","properties":{"expressRouteAuthorizationId":{"type":"string","description":"The ID of the Azure VMware Solution ExpressRoute Circuit Authorization.\n"},"expressRouteAuthorizationKey":{"type":"string","description":"The key of the Azure VMware Solution ExpressRoute Circuit Authorization.\n","secret":true},"name":{"type":"string","description":"The name which should be used for this Azure VMware Solution ExpressRoute Circuit Authorization. Changing this forces a new Azure VMware Solution ExpressRoute Circuit Authorization to be created.\n","willReplaceOnChanges":true},"privateCloudId":{"type":"string","description":"The ID of the Azure VMware Solution Private Cloud in which to create this Azure VMware Solution ExpressRoute Circuit Authorization. Changing this forces a new Azure VMware Solution ExpressRoute Circuit Authorization to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:avs/netappVolumeAttachment:NetappVolumeAttachment":{"description":"Manages an Azure VMware Solution Private Cloud Netapp File Attachment.\n\n## Example Usage\n\n\u003e **Note:** For Azure VMware Solution Private Cloud, normal `pulumi up` could ignore this note. Please disable correlation request id for continuous operations in one build (like acctest). The continuous operations like \u003cspan pulumi-lang-nodejs=\"`update`\" pulumi-lang-dotnet=\"`Update`\" pulumi-lang-go=\"`update`\" pulumi-lang-python=\"`update`\" pulumi-lang-yaml=\"`update`\" pulumi-lang-java=\"`update`\"\u003e`update`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`delete`\" pulumi-lang-dotnet=\"`Delete`\" pulumi-lang-go=\"`delete`\" pulumi-lang-python=\"`delete`\" pulumi-lang-yaml=\"`delete`\" pulumi-lang-java=\"`delete`\"\u003e`delete`\u003c/span\u003e could not be triggered when it shares the same `correlation-id` with its previous operation.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst test = new azure.network.PublicIp(\"test\", {\n    name: \"example-public-ip\",\n    location: testAzurermResourceGroup.location,\n    resourceGroupName: testAzurermResourceGroup.name,\n    allocationMethod: \"Static\",\n    sku: \"Standard\",\n});\nconst testVirtualNetwork = new azure.network.VirtualNetwork(\"test\", {\n    name: \"example-VirtualNetwork\",\n    location: testAzurermResourceGroup.location,\n    resourceGroupName: testAzurermResourceGroup.name,\n    addressSpaces: [\"10.88.0.0/16\"],\n});\nconst netappSubnet = new azure.network.Subnet(\"netappSubnet\", {\n    name: \"example-Subnet\",\n    resourceGroupName: testAzurermResourceGroup.name,\n    virtualNetworkName: testVirtualNetwork.name,\n    addressPrefixes: [\"10.88.2.0/24\"],\n    delegations: [{\n        name: \"testdelegation\",\n        serviceDelegation: {\n            name: \"Microsoft.Netapp/volumes\",\n            actions: [\n                \"Microsoft.Network/networkinterfaces/*\",\n                \"Microsoft.Network/virtualNetworks/subnets/join/action\",\n            ],\n        },\n    }],\n});\nconst gatewaySubnet = new azure.network.Subnet(\"gatewaySubnet\", {\n    name: \"GatewaySubnet\",\n    resourceGroupName: testAzurermResourceGroup.name,\n    virtualNetworkName: testVirtualNetwork.name,\n    addressPrefixes: [\"10.88.1.0/24\"],\n});\nconst testVirtualNetworkGateway = new azure.network.VirtualNetworkGateway(\"test\", {\n    name: \"example-vnet-gateway\",\n    location: testAzurermResourceGroup.location,\n    resourceGroupName: testAzurermResourceGroup.name,\n    type: \"ExpressRoute\",\n    sku: \"Standard\",\n    ipConfigurations: [{\n        name: \"vnetGatewayConfig\",\n        publicIpAddressId: test.id,\n        subnetId: gatewaySubnet.id,\n    }],\n});\nconst testAccount = new azure.netapp.Account(\"test\", {\n    name: \"example-NetAppAccount\",\n    location: testAzurermResourceGroup.location,\n    resourceGroupName: testAzurermResourceGroup.name,\n});\nconst testPool = new azure.netapp.Pool(\"test\", {\n    name: \"example-NetAppPool\",\n    location: testAzurermResourceGroup.location,\n    resourceGroupName: testAzurermResourceGroup.name,\n    accountName: testAccount.name,\n    serviceLevel: \"Standard\",\n    sizeInTb: 4,\n});\nconst testVolume = new azure.netapp.Volume(\"test\", {\n    name: \"example-NetAppVolume\",\n    location: testAzurermResourceGroup.location,\n    resourceGroupName: testAzurermResourceGroup.name,\n    accountName: testAccount.name,\n    poolName: testPool.name,\n    volumePath: \"my-unique-file-path-%d\",\n    serviceLevel: \"Standard\",\n    subnetId: netappSubnet.id,\n    protocols: [\"NFSv3\"],\n    storageQuotaInGb: 100,\n    azureVmwareDataStoreEnabled: true,\n    exportPolicyRules: [{\n        ruleIndex: 1,\n        allowedClients: [\"0.0.0.0/0\"],\n        protocolsEnabled: \"NFSv3\",\n        unixReadOnly: false,\n        unixReadWrite: true,\n        rootAccessEnabled: true,\n    }],\n});\nconst testPrivateCloud = new azure.avs.PrivateCloud(\"test\", {\n    name: \"example-PC\",\n    resourceGroupName: testAzurermResourceGroup.name,\n    location: testAzurermResourceGroup.location,\n    skuName: \"av36\",\n    managementCluster: {\n        size: 3,\n    },\n    networkSubnetCidr: \"192.168.48.0/22\",\n});\nconst testCluster = new azure.avs.Cluster(\"test\", {\n    name: \"example-vm-cluster\",\n    vmwareCloudId: testPrivateCloud.id,\n    clusterNodeCount: 3,\n    skuName: \"av36\",\n});\nconst testExpressRouteAuthorization = new azure.avs.ExpressRouteAuthorization(\"test\", {\n    name: \"example-VmwareAuthorization\",\n    privateCloudId: testPrivateCloud.id,\n});\nconst testVirtualNetworkGatewayConnection = new azure.network.VirtualNetworkGatewayConnection(\"test\", {\n    name: \"example-vnetgwconn\",\n    location: testAzurermResourceGroup.location,\n    resourceGroupName: testAzurermResourceGroup.name,\n    type: \"ExpressRoute\",\n    virtualNetworkGatewayId: testVirtualNetworkGateway.id,\n    expressRouteCircuitId: testPrivateCloud.circuits.apply(circuits =\u003e circuits[0].expressRouteId),\n    authorizationKey: testExpressRouteAuthorization.expressRouteAuthorizationKey,\n});\nconst testNetappVolumeAttachment = new azure.avs.NetappVolumeAttachment(\"test\", {\n    name: \"example-vmwareattachment\",\n    netappVolumeId: testVolume.id,\n    vmwareClusterId: testCluster.id,\n}, {\n    dependsOn: [testVirtualNetworkGatewayConnection],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\ntest = azure.network.PublicIp(\"test\",\n    name=\"example-public-ip\",\n    location=test_azurerm_resource_group[\"location\"],\n    resource_group_name=test_azurerm_resource_group[\"name\"],\n    allocation_method=\"Static\",\n    sku=\"Standard\")\ntest_virtual_network = azure.network.VirtualNetwork(\"test\",\n    name=\"example-VirtualNetwork\",\n    location=test_azurerm_resource_group[\"location\"],\n    resource_group_name=test_azurerm_resource_group[\"name\"],\n    address_spaces=[\"10.88.0.0/16\"])\nnetapp_subnet = azure.network.Subnet(\"netappSubnet\",\n    name=\"example-Subnet\",\n    resource_group_name=test_azurerm_resource_group[\"name\"],\n    virtual_network_name=test_virtual_network.name,\n    address_prefixes=[\"10.88.2.0/24\"],\n    delegations=[{\n        \"name\": \"testdelegation\",\n        \"service_delegation\": {\n            \"name\": \"Microsoft.Netapp/volumes\",\n            \"actions\": [\n                \"Microsoft.Network/networkinterfaces/*\",\n                \"Microsoft.Network/virtualNetworks/subnets/join/action\",\n            ],\n        },\n    }])\ngateway_subnet = azure.network.Subnet(\"gatewaySubnet\",\n    name=\"GatewaySubnet\",\n    resource_group_name=test_azurerm_resource_group[\"name\"],\n    virtual_network_name=test_virtual_network.name,\n    address_prefixes=[\"10.88.1.0/24\"])\ntest_virtual_network_gateway = azure.network.VirtualNetworkGateway(\"test\",\n    name=\"example-vnet-gateway\",\n    location=test_azurerm_resource_group[\"location\"],\n    resource_group_name=test_azurerm_resource_group[\"name\"],\n    type=\"ExpressRoute\",\n    sku=\"Standard\",\n    ip_configurations=[{\n        \"name\": \"vnetGatewayConfig\",\n        \"public_ip_address_id\": test.id,\n        \"subnet_id\": gateway_subnet.id,\n    }])\ntest_account = azure.netapp.Account(\"test\",\n    name=\"example-NetAppAccount\",\n    location=test_azurerm_resource_group[\"location\"],\n    resource_group_name=test_azurerm_resource_group[\"name\"])\ntest_pool = azure.netapp.Pool(\"test\",\n    name=\"example-NetAppPool\",\n    location=test_azurerm_resource_group[\"location\"],\n    resource_group_name=test_azurerm_resource_group[\"name\"],\n    account_name=test_account.name,\n    service_level=\"Standard\",\n    size_in_tb=4)\ntest_volume = azure.netapp.Volume(\"test\",\n    name=\"example-NetAppVolume\",\n    location=test_azurerm_resource_group[\"location\"],\n    resource_group_name=test_azurerm_resource_group[\"name\"],\n    account_name=test_account.name,\n    pool_name=test_pool.name,\n    volume_path=\"my-unique-file-path-%d\",\n    service_level=\"Standard\",\n    subnet_id=netapp_subnet.id,\n    protocols=[\"NFSv3\"],\n    storage_quota_in_gb=100,\n    azure_vmware_data_store_enabled=True,\n    export_policy_rules=[{\n        \"rule_index\": 1,\n        \"allowed_clients\": [\"0.0.0.0/0\"],\n        \"protocols_enabled\": \"NFSv3\",\n        \"unix_read_only\": False,\n        \"unix_read_write\": True,\n        \"root_access_enabled\": True,\n    }])\ntest_private_cloud = azure.avs.PrivateCloud(\"test\",\n    name=\"example-PC\",\n    resource_group_name=test_azurerm_resource_group[\"name\"],\n    location=test_azurerm_resource_group[\"location\"],\n    sku_name=\"av36\",\n    management_cluster={\n        \"size\": 3,\n    },\n    network_subnet_cidr=\"192.168.48.0/22\")\ntest_cluster = azure.avs.Cluster(\"test\",\n    name=\"example-vm-cluster\",\n    vmware_cloud_id=test_private_cloud.id,\n    cluster_node_count=3,\n    sku_name=\"av36\")\ntest_express_route_authorization = azure.avs.ExpressRouteAuthorization(\"test\",\n    name=\"example-VmwareAuthorization\",\n    private_cloud_id=test_private_cloud.id)\ntest_virtual_network_gateway_connection = azure.network.VirtualNetworkGatewayConnection(\"test\",\n    name=\"example-vnetgwconn\",\n    location=test_azurerm_resource_group[\"location\"],\n    resource_group_name=test_azurerm_resource_group[\"name\"],\n    type=\"ExpressRoute\",\n    virtual_network_gateway_id=test_virtual_network_gateway.id,\n    express_route_circuit_id=test_private_cloud.circuits[0].express_route_id,\n    authorization_key=test_express_route_authorization.express_route_authorization_key)\ntest_netapp_volume_attachment = azure.avs.NetappVolumeAttachment(\"test\",\n    name=\"example-vmwareattachment\",\n    netapp_volume_id=test_volume.id,\n    vmware_cluster_id=test_cluster.id,\n    opts = pulumi.ResourceOptions(depends_on=[test_virtual_network_gateway_connection]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var test = new Azure.Network.PublicIp(\"test\", new()\n    {\n        Name = \"example-public-ip\",\n        Location = testAzurermResourceGroup.Location,\n        ResourceGroupName = testAzurermResourceGroup.Name,\n        AllocationMethod = \"Static\",\n        Sku = \"Standard\",\n    });\n\n    var testVirtualNetwork = new Azure.Network.VirtualNetwork(\"test\", new()\n    {\n        Name = \"example-VirtualNetwork\",\n        Location = testAzurermResourceGroup.Location,\n        ResourceGroupName = testAzurermResourceGroup.Name,\n        AddressSpaces = new[]\n        {\n            \"10.88.0.0/16\",\n        },\n    });\n\n    var netappSubnet = new Azure.Network.Subnet(\"netappSubnet\", new()\n    {\n        Name = \"example-Subnet\",\n        ResourceGroupName = testAzurermResourceGroup.Name,\n        VirtualNetworkName = testVirtualNetwork.Name,\n        AddressPrefixes = new[]\n        {\n            \"10.88.2.0/24\",\n        },\n        Delegations = new[]\n        {\n            new Azure.Network.Inputs.SubnetDelegationArgs\n            {\n                Name = \"testdelegation\",\n                ServiceDelegation = new Azure.Network.Inputs.SubnetDelegationServiceDelegationArgs\n                {\n                    Name = \"Microsoft.Netapp/volumes\",\n                    Actions = new[]\n                    {\n                        \"Microsoft.Network/networkinterfaces/*\",\n                        \"Microsoft.Network/virtualNetworks/subnets/join/action\",\n                    },\n                },\n            },\n        },\n    });\n\n    var gatewaySubnet = new Azure.Network.Subnet(\"gatewaySubnet\", new()\n    {\n        Name = \"GatewaySubnet\",\n        ResourceGroupName = testAzurermResourceGroup.Name,\n        VirtualNetworkName = testVirtualNetwork.Name,\n        AddressPrefixes = new[]\n        {\n            \"10.88.1.0/24\",\n        },\n    });\n\n    var testVirtualNetworkGateway = new Azure.Network.VirtualNetworkGateway(\"test\", new()\n    {\n        Name = \"example-vnet-gateway\",\n        Location = testAzurermResourceGroup.Location,\n        ResourceGroupName = testAzurermResourceGroup.Name,\n        Type = \"ExpressRoute\",\n        Sku = \"Standard\",\n        IpConfigurations = new[]\n        {\n            new Azure.Network.Inputs.VirtualNetworkGatewayIpConfigurationArgs\n            {\n                Name = \"vnetGatewayConfig\",\n                PublicIpAddressId = test.Id,\n                SubnetId = gatewaySubnet.Id,\n            },\n        },\n    });\n\n    var testAccount = new Azure.NetApp.Account(\"test\", new()\n    {\n        Name = \"example-NetAppAccount\",\n        Location = testAzurermResourceGroup.Location,\n        ResourceGroupName = testAzurermResourceGroup.Name,\n    });\n\n    var testPool = new Azure.NetApp.Pool(\"test\", new()\n    {\n        Name = \"example-NetAppPool\",\n        Location = testAzurermResourceGroup.Location,\n        ResourceGroupName = testAzurermResourceGroup.Name,\n        AccountName = testAccount.Name,\n        ServiceLevel = \"Standard\",\n        SizeInTb = 4,\n    });\n\n    var testVolume = new Azure.NetApp.Volume(\"test\", new()\n    {\n        Name = \"example-NetAppVolume\",\n        Location = testAzurermResourceGroup.Location,\n        ResourceGroupName = testAzurermResourceGroup.Name,\n        AccountName = testAccount.Name,\n        PoolName = testPool.Name,\n        VolumePath = \"my-unique-file-path-%d\",\n        ServiceLevel = \"Standard\",\n        SubnetId = netappSubnet.Id,\n        Protocols = new[]\n        {\n            \"NFSv3\",\n        },\n        StorageQuotaInGb = 100,\n        AzureVmwareDataStoreEnabled = true,\n        ExportPolicyRules = new[]\n        {\n            new Azure.NetApp.Inputs.VolumeExportPolicyRuleArgs\n            {\n                RuleIndex = 1,\n                AllowedClients = new[]\n                {\n                    \"0.0.0.0/0\",\n                },\n                ProtocolsEnabled = \"NFSv3\",\n                UnixReadOnly = false,\n                UnixReadWrite = true,\n                RootAccessEnabled = true,\n            },\n        },\n    });\n\n    var testPrivateCloud = new Azure.Avs.PrivateCloud(\"test\", new()\n    {\n        Name = \"example-PC\",\n        ResourceGroupName = testAzurermResourceGroup.Name,\n        Location = testAzurermResourceGroup.Location,\n        SkuName = \"av36\",\n        ManagementCluster = new Azure.Avs.Inputs.PrivateCloudManagementClusterArgs\n        {\n            Size = 3,\n        },\n        NetworkSubnetCidr = \"192.168.48.0/22\",\n    });\n\n    var testCluster = new Azure.Avs.Cluster(\"test\", new()\n    {\n        Name = \"example-vm-cluster\",\n        VmwareCloudId = testPrivateCloud.Id,\n        ClusterNodeCount = 3,\n        SkuName = \"av36\",\n    });\n\n    var testExpressRouteAuthorization = new Azure.Avs.ExpressRouteAuthorization(\"test\", new()\n    {\n        Name = \"example-VmwareAuthorization\",\n        PrivateCloudId = testPrivateCloud.Id,\n    });\n\n    var testVirtualNetworkGatewayConnection = new Azure.Network.VirtualNetworkGatewayConnection(\"test\", new()\n    {\n        Name = \"example-vnetgwconn\",\n        Location = testAzurermResourceGroup.Location,\n        ResourceGroupName = testAzurermResourceGroup.Name,\n        Type = \"ExpressRoute\",\n        VirtualNetworkGatewayId = testVirtualNetworkGateway.Id,\n        ExpressRouteCircuitId = testPrivateCloud.Circuits.Apply(circuits =\u003e circuits[0].ExpressRouteId),\n        AuthorizationKey = testExpressRouteAuthorization.ExpressRouteAuthorizationKey,\n    });\n\n    var testNetappVolumeAttachment = new Azure.Avs.NetappVolumeAttachment(\"test\", new()\n    {\n        Name = \"example-vmwareattachment\",\n        NetappVolumeId = testVolume.Id,\n        VmwareClusterId = testCluster.Id,\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            testVirtualNetworkGatewayConnection,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/avs\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/netapp\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttest, err := network.NewPublicIp(ctx, \"test\", \u0026network.PublicIpArgs{\n\t\t\tName:              pulumi.String(\"example-public-ip\"),\n\t\t\tLocation:          pulumi.Any(testAzurermResourceGroup.Location),\n\t\t\tResourceGroupName: pulumi.Any(testAzurermResourceGroup.Name),\n\t\t\tAllocationMethod:  pulumi.String(\"Static\"),\n\t\t\tSku:               pulumi.String(\"Standard\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestVirtualNetwork, err := network.NewVirtualNetwork(ctx, \"test\", \u0026network.VirtualNetworkArgs{\n\t\t\tName:              pulumi.String(\"example-VirtualNetwork\"),\n\t\t\tLocation:          pulumi.Any(testAzurermResourceGroup.Location),\n\t\t\tResourceGroupName: pulumi.Any(testAzurermResourceGroup.Name),\n\t\t\tAddressSpaces: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.88.0.0/16\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tnetappSubnet, err := network.NewSubnet(ctx, \"netappSubnet\", \u0026network.SubnetArgs{\n\t\t\tName:               pulumi.String(\"example-Subnet\"),\n\t\t\tResourceGroupName:  pulumi.Any(testAzurermResourceGroup.Name),\n\t\t\tVirtualNetworkName: testVirtualNetwork.Name,\n\t\t\tAddressPrefixes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.88.2.0/24\"),\n\t\t\t},\n\t\t\tDelegations: network.SubnetDelegationArray{\n\t\t\t\t\u0026network.SubnetDelegationArgs{\n\t\t\t\t\tName: pulumi.String(\"testdelegation\"),\n\t\t\t\t\tServiceDelegation: \u0026network.SubnetDelegationServiceDelegationArgs{\n\t\t\t\t\t\tName: pulumi.String(\"Microsoft.Netapp/volumes\"),\n\t\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"Microsoft.Network/networkinterfaces/*\"),\n\t\t\t\t\t\t\tpulumi.String(\"Microsoft.Network/virtualNetworks/subnets/join/action\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tgatewaySubnet, err := network.NewSubnet(ctx, \"gatewaySubnet\", \u0026network.SubnetArgs{\n\t\t\tName:               pulumi.String(\"GatewaySubnet\"),\n\t\t\tResourceGroupName:  pulumi.Any(testAzurermResourceGroup.Name),\n\t\t\tVirtualNetworkName: testVirtualNetwork.Name,\n\t\t\tAddressPrefixes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.88.1.0/24\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestVirtualNetworkGateway, err := network.NewVirtualNetworkGateway(ctx, \"test\", \u0026network.VirtualNetworkGatewayArgs{\n\t\t\tName:              pulumi.String(\"example-vnet-gateway\"),\n\t\t\tLocation:          pulumi.Any(testAzurermResourceGroup.Location),\n\t\t\tResourceGroupName: pulumi.Any(testAzurermResourceGroup.Name),\n\t\t\tType:              pulumi.String(\"ExpressRoute\"),\n\t\t\tSku:               pulumi.String(\"Standard\"),\n\t\t\tIpConfigurations: network.VirtualNetworkGatewayIpConfigurationArray{\n\t\t\t\t\u0026network.VirtualNetworkGatewayIpConfigurationArgs{\n\t\t\t\t\tName:              pulumi.String(\"vnetGatewayConfig\"),\n\t\t\t\t\tPublicIpAddressId: test.ID(),\n\t\t\t\t\tSubnetId:          gatewaySubnet.ID(),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestAccount, err := netapp.NewAccount(ctx, \"test\", \u0026netapp.AccountArgs{\n\t\t\tName:              pulumi.String(\"example-NetAppAccount\"),\n\t\t\tLocation:          pulumi.Any(testAzurermResourceGroup.Location),\n\t\t\tResourceGroupName: pulumi.Any(testAzurermResourceGroup.Name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestPool, err := netapp.NewPool(ctx, \"test\", \u0026netapp.PoolArgs{\n\t\t\tName:              pulumi.String(\"example-NetAppPool\"),\n\t\t\tLocation:          pulumi.Any(testAzurermResourceGroup.Location),\n\t\t\tResourceGroupName: pulumi.Any(testAzurermResourceGroup.Name),\n\t\t\tAccountName:       testAccount.Name,\n\t\t\tServiceLevel:      pulumi.String(\"Standard\"),\n\t\t\tSizeInTb:          pulumi.Int(4),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestVolume, err := netapp.NewVolume(ctx, \"test\", \u0026netapp.VolumeArgs{\n\t\t\tName:              pulumi.String(\"example-NetAppVolume\"),\n\t\t\tLocation:          pulumi.Any(testAzurermResourceGroup.Location),\n\t\t\tResourceGroupName: pulumi.Any(testAzurermResourceGroup.Name),\n\t\t\tAccountName:       testAccount.Name,\n\t\t\tPoolName:          testPool.Name,\n\t\t\tVolumePath:        pulumi.String(\"my-unique-file-path-%d\"),\n\t\t\tServiceLevel:      pulumi.String(\"Standard\"),\n\t\t\tSubnetId:          netappSubnet.ID(),\n\t\t\tProtocols: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"NFSv3\"),\n\t\t\t},\n\t\t\tStorageQuotaInGb:            pulumi.Int(100),\n\t\t\tAzureVmwareDataStoreEnabled: pulumi.Bool(true),\n\t\t\tExportPolicyRules: netapp.VolumeExportPolicyRuleArray{\n\t\t\t\t\u0026netapp.VolumeExportPolicyRuleArgs{\n\t\t\t\t\tRuleIndex: pulumi.Int(1),\n\t\t\t\t\tAllowedClients: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"0.0.0.0/0\"),\n\t\t\t\t\t},\n\t\t\t\t\tProtocolsEnabled:  pulumi.String(\"NFSv3\"),\n\t\t\t\t\tUnixReadOnly:      pulumi.Bool(false),\n\t\t\t\t\tUnixReadWrite:     pulumi.Bool(true),\n\t\t\t\t\tRootAccessEnabled: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestPrivateCloud, err := avs.NewPrivateCloud(ctx, \"test\", \u0026avs.PrivateCloudArgs{\n\t\t\tName:              pulumi.String(\"example-PC\"),\n\t\t\tResourceGroupName: pulumi.Any(testAzurermResourceGroup.Name),\n\t\t\tLocation:          pulumi.Any(testAzurermResourceGroup.Location),\n\t\t\tSkuName:           pulumi.String(\"av36\"),\n\t\t\tManagementCluster: \u0026avs.PrivateCloudManagementClusterArgs{\n\t\t\t\tSize: pulumi.Int(3),\n\t\t\t},\n\t\t\tNetworkSubnetCidr: pulumi.String(\"192.168.48.0/22\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestCluster, err := avs.NewCluster(ctx, \"test\", \u0026avs.ClusterArgs{\n\t\t\tName:             pulumi.String(\"example-vm-cluster\"),\n\t\t\tVmwareCloudId:    testPrivateCloud.ID(),\n\t\t\tClusterNodeCount: pulumi.Int(3),\n\t\t\tSkuName:          pulumi.String(\"av36\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestExpressRouteAuthorization, err := avs.NewExpressRouteAuthorization(ctx, \"test\", \u0026avs.ExpressRouteAuthorizationArgs{\n\t\t\tName:           pulumi.String(\"example-VmwareAuthorization\"),\n\t\t\tPrivateCloudId: testPrivateCloud.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestVirtualNetworkGatewayConnection, err := network.NewVirtualNetworkGatewayConnection(ctx, \"test\", \u0026network.VirtualNetworkGatewayConnectionArgs{\n\t\t\tName:                    pulumi.String(\"example-vnetgwconn\"),\n\t\t\tLocation:                pulumi.Any(testAzurermResourceGroup.Location),\n\t\t\tResourceGroupName:       pulumi.Any(testAzurermResourceGroup.Name),\n\t\t\tType:                    pulumi.String(\"ExpressRoute\"),\n\t\t\tVirtualNetworkGatewayId: testVirtualNetworkGateway.ID(),\n\t\t\tExpressRouteCircuitId: pulumi.String(testPrivateCloud.Circuits.ApplyT(func(circuits []avs.PrivateCloudCircuit) (*string, error) {\n\t\t\t\treturn \u0026circuits[0].ExpressRouteId, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tAuthorizationKey: testExpressRouteAuthorization.ExpressRouteAuthorizationKey,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = avs.NewNetappVolumeAttachment(ctx, \"test\", \u0026avs.NetappVolumeAttachmentArgs{\n\t\t\tName:            pulumi.String(\"example-vmwareattachment\"),\n\t\t\tNetappVolumeId:  testVolume.ID(),\n\t\t\tVmwareClusterId: testCluster.ID(),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\ttestVirtualNetworkGatewayConnection,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.PublicIp;\nimport com.pulumi.azure.network.PublicIpArgs;\nimport com.pulumi.azure.network.VirtualNetwork;\nimport com.pulumi.azure.network.VirtualNetworkArgs;\nimport com.pulumi.azure.network.Subnet;\nimport com.pulumi.azure.network.SubnetArgs;\nimport com.pulumi.azure.network.inputs.SubnetDelegationArgs;\nimport com.pulumi.azure.network.inputs.SubnetDelegationServiceDelegationArgs;\nimport com.pulumi.azure.network.VirtualNetworkGateway;\nimport com.pulumi.azure.network.VirtualNetworkGatewayArgs;\nimport com.pulumi.azure.network.inputs.VirtualNetworkGatewayIpConfigurationArgs;\nimport com.pulumi.azure.netapp.Account;\nimport com.pulumi.azure.netapp.AccountArgs;\nimport com.pulumi.azure.netapp.Pool;\nimport com.pulumi.azure.netapp.PoolArgs;\nimport com.pulumi.azure.netapp.Volume;\nimport com.pulumi.azure.netapp.VolumeArgs;\nimport com.pulumi.azure.netapp.inputs.VolumeExportPolicyRuleArgs;\nimport com.pulumi.azure.avs.PrivateCloud;\nimport com.pulumi.azure.avs.PrivateCloudArgs;\nimport com.pulumi.azure.avs.inputs.PrivateCloudManagementClusterArgs;\nimport com.pulumi.azure.avs.Cluster;\nimport com.pulumi.azure.avs.ClusterArgs;\nimport com.pulumi.azure.avs.ExpressRouteAuthorization;\nimport com.pulumi.azure.avs.ExpressRouteAuthorizationArgs;\nimport com.pulumi.azure.network.VirtualNetworkGatewayConnection;\nimport com.pulumi.azure.network.VirtualNetworkGatewayConnectionArgs;\nimport com.pulumi.azure.avs.NetappVolumeAttachment;\nimport com.pulumi.azure.avs.NetappVolumeAttachmentArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var test = new PublicIp(\"test\", PublicIpArgs.builder()\n            .name(\"example-public-ip\")\n            .location(testAzurermResourceGroup.location())\n            .resourceGroupName(testAzurermResourceGroup.name())\n            .allocationMethod(\"Static\")\n            .sku(\"Standard\")\n            .build());\n\n        var testVirtualNetwork = new VirtualNetwork(\"testVirtualNetwork\", VirtualNetworkArgs.builder()\n            .name(\"example-VirtualNetwork\")\n            .location(testAzurermResourceGroup.location())\n            .resourceGroupName(testAzurermResourceGroup.name())\n            .addressSpaces(\"10.88.0.0/16\")\n            .build());\n\n        var netappSubnet = new Subnet(\"netappSubnet\", SubnetArgs.builder()\n            .name(\"example-Subnet\")\n            .resourceGroupName(testAzurermResourceGroup.name())\n            .virtualNetworkName(testVirtualNetwork.name())\n            .addressPrefixes(\"10.88.2.0/24\")\n            .delegations(SubnetDelegationArgs.builder()\n                .name(\"testdelegation\")\n                .serviceDelegation(SubnetDelegationServiceDelegationArgs.builder()\n                    .name(\"Microsoft.Netapp/volumes\")\n                    .actions(                    \n                        \"Microsoft.Network/networkinterfaces/*\",\n                        \"Microsoft.Network/virtualNetworks/subnets/join/action\")\n                    .build())\n                .build())\n            .build());\n\n        var gatewaySubnet = new Subnet(\"gatewaySubnet\", SubnetArgs.builder()\n            .name(\"GatewaySubnet\")\n            .resourceGroupName(testAzurermResourceGroup.name())\n            .virtualNetworkName(testVirtualNetwork.name())\n            .addressPrefixes(\"10.88.1.0/24\")\n            .build());\n\n        var testVirtualNetworkGateway = new VirtualNetworkGateway(\"testVirtualNetworkGateway\", VirtualNetworkGatewayArgs.builder()\n            .name(\"example-vnet-gateway\")\n            .location(testAzurermResourceGroup.location())\n            .resourceGroupName(testAzurermResourceGroup.name())\n            .type(\"ExpressRoute\")\n            .sku(\"Standard\")\n            .ipConfigurations(VirtualNetworkGatewayIpConfigurationArgs.builder()\n                .name(\"vnetGatewayConfig\")\n                .publicIpAddressId(test.id())\n                .subnetId(gatewaySubnet.id())\n                .build())\n            .build());\n\n        var testAccount = new Account(\"testAccount\", AccountArgs.builder()\n            .name(\"example-NetAppAccount\")\n            .location(testAzurermResourceGroup.location())\n            .resourceGroupName(testAzurermResourceGroup.name())\n            .build());\n\n        var testPool = new Pool(\"testPool\", PoolArgs.builder()\n            .name(\"example-NetAppPool\")\n            .location(testAzurermResourceGroup.location())\n            .resourceGroupName(testAzurermResourceGroup.name())\n            .accountName(testAccount.name())\n            .serviceLevel(\"Standard\")\n            .sizeInTb(4)\n            .build());\n\n        var testVolume = new Volume(\"testVolume\", VolumeArgs.builder()\n            .name(\"example-NetAppVolume\")\n            .location(testAzurermResourceGroup.location())\n            .resourceGroupName(testAzurermResourceGroup.name())\n            .accountName(testAccount.name())\n            .poolName(testPool.name())\n            .volumePath(\"my-unique-file-path-%d\")\n            .serviceLevel(\"Standard\")\n            .subnetId(netappSubnet.id())\n            .protocols(\"NFSv3\")\n            .storageQuotaInGb(100)\n            .azureVmwareDataStoreEnabled(true)\n            .exportPolicyRules(VolumeExportPolicyRuleArgs.builder()\n                .ruleIndex(1)\n                .allowedClients(\"0.0.0.0/0\")\n                .protocolsEnabled(\"NFSv3\")\n                .unixReadOnly(false)\n                .unixReadWrite(true)\n                .rootAccessEnabled(true)\n                .build())\n            .build());\n\n        var testPrivateCloud = new PrivateCloud(\"testPrivateCloud\", PrivateCloudArgs.builder()\n            .name(\"example-PC\")\n            .resourceGroupName(testAzurermResourceGroup.name())\n            .location(testAzurermResourceGroup.location())\n            .skuName(\"av36\")\n            .managementCluster(PrivateCloudManagementClusterArgs.builder()\n                .size(3)\n                .build())\n            .networkSubnetCidr(\"192.168.48.0/22\")\n            .build());\n\n        var testCluster = new Cluster(\"testCluster\", ClusterArgs.builder()\n            .name(\"example-vm-cluster\")\n            .vmwareCloudId(testPrivateCloud.id())\n            .clusterNodeCount(3)\n            .skuName(\"av36\")\n            .build());\n\n        var testExpressRouteAuthorization = new ExpressRouteAuthorization(\"testExpressRouteAuthorization\", ExpressRouteAuthorizationArgs.builder()\n            .name(\"example-VmwareAuthorization\")\n            .privateCloudId(testPrivateCloud.id())\n            .build());\n\n        var testVirtualNetworkGatewayConnection = new VirtualNetworkGatewayConnection(\"testVirtualNetworkGatewayConnection\", VirtualNetworkGatewayConnectionArgs.builder()\n            .name(\"example-vnetgwconn\")\n            .location(testAzurermResourceGroup.location())\n            .resourceGroupName(testAzurermResourceGroup.name())\n            .type(\"ExpressRoute\")\n            .virtualNetworkGatewayId(testVirtualNetworkGateway.id())\n            .expressRouteCircuitId(testPrivateCloud.circuits().applyValue(_circuits -\u003e _circuits[0].expressRouteId()))\n            .authorizationKey(testExpressRouteAuthorization.expressRouteAuthorizationKey())\n            .build());\n\n        var testNetappVolumeAttachment = new NetappVolumeAttachment(\"testNetappVolumeAttachment\", NetappVolumeAttachmentArgs.builder()\n            .name(\"example-vmwareattachment\")\n            .netappVolumeId(testVolume.id())\n            .vmwareClusterId(testCluster.id())\n            .build(), CustomResourceOptions.builder()\n                .dependsOn(testVirtualNetworkGatewayConnection)\n                .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  test:\n    type: azure:network:PublicIp\n    properties:\n      name: example-public-ip\n      location: ${testAzurermResourceGroup.location}\n      resourceGroupName: ${testAzurermResourceGroup.name}\n      allocationMethod: Static\n      sku: Standard\n  testVirtualNetwork:\n    type: azure:network:VirtualNetwork\n    name: test\n    properties:\n      name: example-VirtualNetwork\n      location: ${testAzurermResourceGroup.location}\n      resourceGroupName: ${testAzurermResourceGroup.name}\n      addressSpaces:\n        - 10.88.0.0/16\n  netappSubnet:\n    type: azure:network:Subnet\n    properties:\n      name: example-Subnet\n      resourceGroupName: ${testAzurermResourceGroup.name}\n      virtualNetworkName: ${testVirtualNetwork.name}\n      addressPrefixes:\n        - 10.88.2.0/24\n      delegations:\n        - name: testdelegation\n          serviceDelegation:\n            name: Microsoft.Netapp/volumes\n            actions:\n              - Microsoft.Network/networkinterfaces/*\n              - Microsoft.Network/virtualNetworks/subnets/join/action\n  gatewaySubnet:\n    type: azure:network:Subnet\n    properties:\n      name: GatewaySubnet\n      resourceGroupName: ${testAzurermResourceGroup.name}\n      virtualNetworkName: ${testVirtualNetwork.name}\n      addressPrefixes:\n        - 10.88.1.0/24\n  testVirtualNetworkGateway:\n    type: azure:network:VirtualNetworkGateway\n    name: test\n    properties:\n      name: example-vnet-gateway\n      location: ${testAzurermResourceGroup.location}\n      resourceGroupName: ${testAzurermResourceGroup.name}\n      type: ExpressRoute\n      sku: Standard\n      ipConfigurations:\n        - name: vnetGatewayConfig\n          publicIpAddressId: ${test.id}\n          subnetId: ${gatewaySubnet.id}\n  testAccount:\n    type: azure:netapp:Account\n    name: test\n    properties:\n      name: example-NetAppAccount\n      location: ${testAzurermResourceGroup.location}\n      resourceGroupName: ${testAzurermResourceGroup.name}\n  testPool:\n    type: azure:netapp:Pool\n    name: test\n    properties:\n      name: example-NetAppPool\n      location: ${testAzurermResourceGroup.location}\n      resourceGroupName: ${testAzurermResourceGroup.name}\n      accountName: ${testAccount.name}\n      serviceLevel: Standard\n      sizeInTb: 4\n  testVolume:\n    type: azure:netapp:Volume\n    name: test\n    properties:\n      name: example-NetAppVolume\n      location: ${testAzurermResourceGroup.location}\n      resourceGroupName: ${testAzurermResourceGroup.name}\n      accountName: ${testAccount.name}\n      poolName: ${testPool.name}\n      volumePath: my-unique-file-path-%d\n      serviceLevel: Standard\n      subnetId: ${netappSubnet.id}\n      protocols:\n        - NFSv3\n      storageQuotaInGb: 100\n      azureVmwareDataStoreEnabled: true\n      exportPolicyRules:\n        - ruleIndex: 1\n          allowedClients:\n            - 0.0.0.0/0\n          protocolsEnabled: NFSv3\n          unixReadOnly: false\n          unixReadWrite: true\n          rootAccessEnabled: true\n  testPrivateCloud:\n    type: azure:avs:PrivateCloud\n    name: test\n    properties:\n      name: example-PC\n      resourceGroupName: ${testAzurermResourceGroup.name}\n      location: ${testAzurermResourceGroup.location}\n      skuName: av36\n      managementCluster:\n        size: 3\n      networkSubnetCidr: 192.168.48.0/22\n  testCluster:\n    type: azure:avs:Cluster\n    name: test\n    properties:\n      name: example-vm-cluster\n      vmwareCloudId: ${testPrivateCloud.id}\n      clusterNodeCount: 3\n      skuName: av36\n  testExpressRouteAuthorization:\n    type: azure:avs:ExpressRouteAuthorization\n    name: test\n    properties:\n      name: example-VmwareAuthorization\n      privateCloudId: ${testPrivateCloud.id}\n  testVirtualNetworkGatewayConnection:\n    type: azure:network:VirtualNetworkGatewayConnection\n    name: test\n    properties:\n      name: example-vnetgwconn\n      location: ${testAzurermResourceGroup.location}\n      resourceGroupName: ${testAzurermResourceGroup.name}\n      type: ExpressRoute\n      virtualNetworkGatewayId: ${testVirtualNetworkGateway.id}\n      expressRouteCircuitId: ${testPrivateCloud.circuits[0].expressRouteId}\n      authorizationKey: ${testExpressRouteAuthorization.expressRouteAuthorizationKey}\n  testNetappVolumeAttachment:\n    type: azure:avs:NetappVolumeAttachment\n    name: test\n    properties:\n      name: example-vmwareattachment\n      netappVolumeId: ${testVolume.id}\n      vmwareClusterId: ${testCluster.id}\n    options:\n      dependsOn:\n        - ${testVirtualNetworkGatewayConnection}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.AVS` - 2022-05-01\n\n## Import\n\nAzure VMware Solution Private Cloud Netapp File Volume Attachments can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:avs/netappVolumeAttachment:NetappVolumeAttachment example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.AVS/privateClouds/privateCloud1/clusters/Cluster1/dataStores/datastore1\n```\n\n","properties":{"name":{"type":"string","description":"The name which should be used for this Azure VMware Solution Private Cloud Netapp File Volume Attachment. Changing this forces a new Azure VMware Solution Private Cloud Netapp File Volume Attachment to be created.\n"},"netappVolumeId":{"type":"string","description":"The netapp file volume for this Azure VMware Solution Private Cloud Netapp File Volume Attachment to connect to. Changing this forces a new Azure VMware Solution Private Cloud Netapp File Volume Attachment to be created.\n"},"vmwareClusterId":{"type":"string","description":"The vmware cluster for this Azure VMware Solution Private Cloud Netapp File Volume Attachment to associated to. Changing this forces a new Azure VMware Solution Private Cloud Netapp File Volume Attachment to be created.\n\n\u003e **Note:** please follow the prerequisites mentioned in this [article](https://learn.microsoft.com/en-us/azure/azure-vmware/attach-azure-netapp-files-to-azure-vmware-solution-hosts?tabs=azure-portal#prerequisites) before associating the netapp file volume to the Azure VMware Solution hosts.\n"}},"required":["name","netappVolumeId","vmwareClusterId"],"inputProperties":{"name":{"type":"string","description":"The name which should be used for this Azure VMware Solution Private Cloud Netapp File Volume Attachment. Changing this forces a new Azure VMware Solution Private Cloud Netapp File Volume Attachment to be created.\n","willReplaceOnChanges":true},"netappVolumeId":{"type":"string","description":"The netapp file volume for this Azure VMware Solution Private Cloud Netapp File Volume Attachment to connect to. Changing this forces a new Azure VMware Solution Private Cloud Netapp File Volume Attachment to be created.\n","willReplaceOnChanges":true},"vmwareClusterId":{"type":"string","description":"The vmware cluster for this Azure VMware Solution Private Cloud Netapp File Volume Attachment to associated to. Changing this forces a new Azure VMware Solution Private Cloud Netapp File Volume Attachment to be created.\n\n\u003e **Note:** please follow the prerequisites mentioned in this [article](https://learn.microsoft.com/en-us/azure/azure-vmware/attach-azure-netapp-files-to-azure-vmware-solution-hosts?tabs=azure-portal#prerequisites) before associating the netapp file volume to the Azure VMware Solution hosts.\n","willReplaceOnChanges":true}},"requiredInputs":["netappVolumeId","vmwareClusterId"],"stateInputs":{"description":"Input properties used for looking up and filtering NetappVolumeAttachment resources.\n","properties":{"name":{"type":"string","description":"The name which should be used for this Azure VMware Solution Private Cloud Netapp File Volume Attachment. Changing this forces a new Azure VMware Solution Private Cloud Netapp File Volume Attachment to be created.\n","willReplaceOnChanges":true},"netappVolumeId":{"type":"string","description":"The netapp file volume for this Azure VMware Solution Private Cloud Netapp File Volume Attachment to connect to. Changing this forces a new Azure VMware Solution Private Cloud Netapp File Volume Attachment to be created.\n","willReplaceOnChanges":true},"vmwareClusterId":{"type":"string","description":"The vmware cluster for this Azure VMware Solution Private Cloud Netapp File Volume Attachment to associated to. Changing this forces a new Azure VMware Solution Private Cloud Netapp File Volume Attachment to be created.\n\n\u003e **Note:** please follow the prerequisites mentioned in this [article](https://learn.microsoft.com/en-us/azure/azure-vmware/attach-azure-netapp-files-to-azure-vmware-solution-hosts?tabs=azure-portal#prerequisites) before associating the netapp file volume to the Azure VMware Solution hosts.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:avs/privateCloud:PrivateCloud":{"description":"Manages an Azure VMware Solution Private Cloud.\n\n## Example Usage\n\n\u003e **Note:** Normal `pulumi up` could ignore this note. Please disable correlation request id for continuous operations in one build (like acctest). The continuous operations like \u003cspan pulumi-lang-nodejs=\"`update`\" pulumi-lang-dotnet=\"`Update`\" pulumi-lang-go=\"`update`\" pulumi-lang-python=\"`update`\" pulumi-lang-yaml=\"`update`\" pulumi-lang-java=\"`update`\"\u003e`update`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`delete`\" pulumi-lang-dotnet=\"`Delete`\" pulumi-lang-go=\"`delete`\" pulumi-lang-python=\"`delete`\" pulumi-lang-yaml=\"`delete`\" pulumi-lang-java=\"`delete`\"\u003e`delete`\u003c/span\u003e could not be triggered when it shares the same `correlation-id` with its previous operation.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst examplePrivateCloud = new azure.avs.PrivateCloud(\"example\", {\n    name: \"example-vmware-private-cloud\",\n    resourceGroupName: example.name,\n    location: example.location,\n    skuName: \"av36\",\n    managementCluster: {\n        size: 3,\n    },\n    networkSubnetCidr: \"192.168.48.0/22\",\n    internetConnectionEnabled: false,\n    nsxtPassword: \"QazWsx13$Edc\",\n    vcenterPassword: \"WsxEdc23$Rfv\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_private_cloud = azure.avs.PrivateCloud(\"example\",\n    name=\"example-vmware-private-cloud\",\n    resource_group_name=example.name,\n    location=example.location,\n    sku_name=\"av36\",\n    management_cluster={\n        \"size\": 3,\n    },\n    network_subnet_cidr=\"192.168.48.0/22\",\n    internet_connection_enabled=False,\n    nsxt_password=\"QazWsx13$Edc\",\n    vcenter_password=\"WsxEdc23$Rfv\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var examplePrivateCloud = new Azure.Avs.PrivateCloud(\"example\", new()\n    {\n        Name = \"example-vmware-private-cloud\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        SkuName = \"av36\",\n        ManagementCluster = new Azure.Avs.Inputs.PrivateCloudManagementClusterArgs\n        {\n            Size = 3,\n        },\n        NetworkSubnetCidr = \"192.168.48.0/22\",\n        InternetConnectionEnabled = false,\n        NsxtPassword = \"QazWsx13$Edc\",\n        VcenterPassword = \"WsxEdc23$Rfv\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/avs\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = avs.NewPrivateCloud(ctx, \"example\", \u0026avs.PrivateCloudArgs{\n\t\t\tName:              pulumi.String(\"example-vmware-private-cloud\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tSkuName:           pulumi.String(\"av36\"),\n\t\t\tManagementCluster: \u0026avs.PrivateCloudManagementClusterArgs{\n\t\t\t\tSize: pulumi.Int(3),\n\t\t\t},\n\t\t\tNetworkSubnetCidr:         pulumi.String(\"192.168.48.0/22\"),\n\t\t\tInternetConnectionEnabled: pulumi.Bool(false),\n\t\t\tNsxtPassword:              pulumi.String(\"QazWsx13$Edc\"),\n\t\t\tVcenterPassword:           pulumi.String(\"WsxEdc23$Rfv\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.avs.PrivateCloud;\nimport com.pulumi.azure.avs.PrivateCloudArgs;\nimport com.pulumi.azure.avs.inputs.PrivateCloudManagementClusterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var examplePrivateCloud = new PrivateCloud(\"examplePrivateCloud\", PrivateCloudArgs.builder()\n            .name(\"example-vmware-private-cloud\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .skuName(\"av36\")\n            .managementCluster(PrivateCloudManagementClusterArgs.builder()\n                .size(3)\n                .build())\n            .networkSubnetCidr(\"192.168.48.0/22\")\n            .internetConnectionEnabled(false)\n            .nsxtPassword(\"QazWsx13$Edc\")\n            .vcenterPassword(\"WsxEdc23$Rfv\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  examplePrivateCloud:\n    type: azure:avs:PrivateCloud\n    name: example\n    properties:\n      name: example-vmware-private-cloud\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      skuName: av36\n      managementCluster:\n        size: 3\n      networkSubnetCidr: 192.168.48.0/22\n      internetConnectionEnabled: false\n      nsxtPassword: QazWsx13$Edc\n      vcenterPassword: WsxEdc23$Rfv\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.AVS` - 2022-05-01\n\n## Import\n\nAzure VMware Solution Private Clouds can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:avs/privateCloud:PrivateCloud example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.AVS/privateClouds/privateCloud1\n```\n\n","properties":{"circuits":{"type":"array","items":{"$ref":"#/types/azure:avs/PrivateCloudCircuit:PrivateCloudCircuit"},"description":"A \u003cspan pulumi-lang-nodejs=\"`circuit`\" pulumi-lang-dotnet=\"`Circuit`\" pulumi-lang-go=\"`circuit`\" pulumi-lang-python=\"`circuit`\" pulumi-lang-yaml=\"`circuit`\" pulumi-lang-java=\"`circuit`\"\u003e`circuit`\u003c/span\u003e block as defined below.\n"},"hcxCloudManagerEndpoint":{"type":"string","description":"The endpoint for the VMware HCX Cloud Manager.\n"},"internetConnectionEnabled":{"type":"boolean","description":"Is the Azure VMware Solution Private Cloud connected to the internet? This field can not be updated with `management_cluster[0].size` together.\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`internetConnectionEnabled`\" pulumi-lang-dotnet=\"`InternetConnectionEnabled`\" pulumi-lang-go=\"`internetConnectionEnabled`\" pulumi-lang-python=\"`internet_connection_enabled`\" pulumi-lang-yaml=\"`internetConnectionEnabled`\" pulumi-lang-java=\"`internetConnectionEnabled`\"\u003e`internet_connection_enabled`\u003c/span\u003e and `management_cluster[0].size` cannot be updated at the same time.\n"},"location":{"type":"string","description":"The Azure Region where the Azure VMware Solution Private Cloud should exist. Changing this forces a new Azure VMware Solution Private Cloud to be created.\n"},"managementCluster":{"$ref":"#/types/azure:avs/PrivateCloudManagementCluster:PrivateCloudManagementCluster","description":"A \u003cspan pulumi-lang-nodejs=\"`managementCluster`\" pulumi-lang-dotnet=\"`ManagementCluster`\" pulumi-lang-go=\"`managementCluster`\" pulumi-lang-python=\"`management_cluster`\" pulumi-lang-yaml=\"`managementCluster`\" pulumi-lang-java=\"`managementCluster`\"\u003e`management_cluster`\u003c/span\u003e block as defined below.\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`internetConnectionEnabled`\" pulumi-lang-dotnet=\"`InternetConnectionEnabled`\" pulumi-lang-go=\"`internetConnectionEnabled`\" pulumi-lang-python=\"`internet_connection_enabled`\" pulumi-lang-yaml=\"`internetConnectionEnabled`\" pulumi-lang-java=\"`internetConnectionEnabled`\"\u003e`internet_connection_enabled`\u003c/span\u003e and `management_cluster[0].size` cannot be updated at the same time.\n"},"managementSubnetCidr":{"type":"string","description":"The network used to access VMware vCenter Server and NSX Manager.\n"},"name":{"type":"string","description":"The name which should be used for this Azure VMware Solution Private Cloud. Changing this forces a new Azure VMware Solution Private Cloud to be created.\n"},"networkSubnetCidr":{"type":"string","description":"The subnet which should be unique across virtual network in your subscription as well as on-premise. Changing this forces a new Azure VMware Solution Private Cloud to be created.\n"},"nsxtCertificateThumbprint":{"type":"string","description":"The thumbprint of the VMware NSX Manager SSL certificate.\n"},"nsxtManagerEndpoint":{"type":"string","description":"The endpoint for the VMware NSX Manager.\n"},"nsxtPassword":{"type":"string","description":"The password of the VMware NSX Manager cloudadmin. Changing this forces a new Azure VMware Solution Private Cloud to be created.\n","secret":true},"provisioningSubnetCidr":{"type":"string","description":"The network which is used for virtual machine cold migration, cloning, and snapshot migration.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Azure VMware Solution Private Cloud should exist. Changing this forces a new Azure VMware Solution Private Cloud to be created.\n"},"skuName":{"type":"string","description":"The Name of the SKU used for this Azure VMware Solution Private Cloud. Possible values are \u003cspan pulumi-lang-nodejs=\"`av20`\" pulumi-lang-dotnet=\"`Av20`\" pulumi-lang-go=\"`av20`\" pulumi-lang-python=\"`av20`\" pulumi-lang-yaml=\"`av20`\" pulumi-lang-java=\"`av20`\"\u003e`av20`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`av36`\" pulumi-lang-dotnet=\"`Av36`\" pulumi-lang-go=\"`av36`\" pulumi-lang-python=\"`av36`\" pulumi-lang-yaml=\"`av36`\" pulumi-lang-java=\"`av36`\"\u003e`av36`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`av36t`\" pulumi-lang-dotnet=\"`Av36t`\" pulumi-lang-go=\"`av36t`\" pulumi-lang-python=\"`av36t`\" pulumi-lang-yaml=\"`av36t`\" pulumi-lang-java=\"`av36t`\"\u003e`av36t`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`av36p`\" pulumi-lang-dotnet=\"`Av36p`\" pulumi-lang-go=\"`av36p`\" pulumi-lang-python=\"`av36p`\" pulumi-lang-yaml=\"`av36p`\" pulumi-lang-java=\"`av36p`\"\u003e`av36p`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`av36pt`\" pulumi-lang-dotnet=\"`Av36pt`\" pulumi-lang-go=\"`av36pt`\" pulumi-lang-python=\"`av36pt`\" pulumi-lang-yaml=\"`av36pt`\" pulumi-lang-java=\"`av36pt`\"\u003e`av36pt`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`av48`\" pulumi-lang-dotnet=\"`Av48`\" pulumi-lang-go=\"`av48`\" pulumi-lang-python=\"`av48`\" pulumi-lang-yaml=\"`av48`\" pulumi-lang-java=\"`av48`\"\u003e`av48`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`av48t`\" pulumi-lang-dotnet=\"`Av48t`\" pulumi-lang-go=\"`av48t`\" pulumi-lang-python=\"`av48t`\" pulumi-lang-yaml=\"`av48t`\" pulumi-lang-java=\"`av48t`\"\u003e`av48t`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`av52`\" pulumi-lang-dotnet=\"`Av52`\" pulumi-lang-go=\"`av52`\" pulumi-lang-python=\"`av52`\" pulumi-lang-yaml=\"`av52`\" pulumi-lang-java=\"`av52`\"\u003e`av52`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`av52t`\" pulumi-lang-dotnet=\"`Av52t`\" pulumi-lang-go=\"`av52t`\" pulumi-lang-python=\"`av52t`\" pulumi-lang-yaml=\"`av52t`\" pulumi-lang-java=\"`av52t`\"\u003e`av52t`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`av64`\" pulumi-lang-dotnet=\"`Av64`\" pulumi-lang-go=\"`av64`\" pulumi-lang-python=\"`av64`\" pulumi-lang-yaml=\"`av64`\" pulumi-lang-java=\"`av64`\"\u003e`av64`\u003c/span\u003e. Changing this forces a new Azure VMware Solution Private Cloud to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Azure VMware Solution Private Cloud.\n"},"vcenterCertificateThumbprint":{"type":"string","description":"The thumbprint of the VMware vCenter Server SSL certificate.\n"},"vcenterPassword":{"type":"string","description":"The password of the VMware vCenter Server cloudadmin. Changing this forces a new Azure VMware Solution Private Cloud to be created.\n","secret":true},"vcsaEndpoint":{"type":"string","description":"The endpoint for VMware vCenter Server Appliance.\n"},"vmotionSubnetCidr":{"type":"string","description":"The network which is used for live migration of virtual machines.\n"}},"required":["circuits","hcxCloudManagerEndpoint","location","managementCluster","managementSubnetCidr","name","networkSubnetCidr","nsxtCertificateThumbprint","nsxtManagerEndpoint","provisioningSubnetCidr","resourceGroupName","skuName","vcenterCertificateThumbprint","vcsaEndpoint","vmotionSubnetCidr"],"inputProperties":{"internetConnectionEnabled":{"type":"boolean","description":"Is the Azure VMware Solution Private Cloud connected to the internet? This field can not be updated with `management_cluster[0].size` together.\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`internetConnectionEnabled`\" pulumi-lang-dotnet=\"`InternetConnectionEnabled`\" pulumi-lang-go=\"`internetConnectionEnabled`\" pulumi-lang-python=\"`internet_connection_enabled`\" pulumi-lang-yaml=\"`internetConnectionEnabled`\" pulumi-lang-java=\"`internetConnectionEnabled`\"\u003e`internet_connection_enabled`\u003c/span\u003e and `management_cluster[0].size` cannot be updated at the same time.\n"},"location":{"type":"string","description":"The Azure Region where the Azure VMware Solution Private Cloud should exist. Changing this forces a new Azure VMware Solution Private Cloud to be created.\n","willReplaceOnChanges":true},"managementCluster":{"$ref":"#/types/azure:avs/PrivateCloudManagementCluster:PrivateCloudManagementCluster","description":"A \u003cspan pulumi-lang-nodejs=\"`managementCluster`\" pulumi-lang-dotnet=\"`ManagementCluster`\" pulumi-lang-go=\"`managementCluster`\" pulumi-lang-python=\"`management_cluster`\" pulumi-lang-yaml=\"`managementCluster`\" pulumi-lang-java=\"`managementCluster`\"\u003e`management_cluster`\u003c/span\u003e block as defined below.\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`internetConnectionEnabled`\" pulumi-lang-dotnet=\"`InternetConnectionEnabled`\" pulumi-lang-go=\"`internetConnectionEnabled`\" pulumi-lang-python=\"`internet_connection_enabled`\" pulumi-lang-yaml=\"`internetConnectionEnabled`\" pulumi-lang-java=\"`internetConnectionEnabled`\"\u003e`internet_connection_enabled`\u003c/span\u003e and `management_cluster[0].size` cannot be updated at the same time.\n"},"name":{"type":"string","description":"The name which should be used for this Azure VMware Solution Private Cloud. Changing this forces a new Azure VMware Solution Private Cloud to be created.\n","willReplaceOnChanges":true},"networkSubnetCidr":{"type":"string","description":"The subnet which should be unique across virtual network in your subscription as well as on-premise. Changing this forces a new Azure VMware Solution Private Cloud to be created.\n","willReplaceOnChanges":true},"nsxtPassword":{"type":"string","description":"The password of the VMware NSX Manager cloudadmin. Changing this forces a new Azure VMware Solution Private Cloud to be created.\n","secret":true,"willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Azure VMware Solution Private Cloud should exist. Changing this forces a new Azure VMware Solution Private Cloud to be created.\n","willReplaceOnChanges":true},"skuName":{"type":"string","description":"The Name of the SKU used for this Azure VMware Solution Private Cloud. Possible values are \u003cspan pulumi-lang-nodejs=\"`av20`\" pulumi-lang-dotnet=\"`Av20`\" pulumi-lang-go=\"`av20`\" pulumi-lang-python=\"`av20`\" pulumi-lang-yaml=\"`av20`\" pulumi-lang-java=\"`av20`\"\u003e`av20`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`av36`\" pulumi-lang-dotnet=\"`Av36`\" pulumi-lang-go=\"`av36`\" pulumi-lang-python=\"`av36`\" pulumi-lang-yaml=\"`av36`\" pulumi-lang-java=\"`av36`\"\u003e`av36`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`av36t`\" pulumi-lang-dotnet=\"`Av36t`\" pulumi-lang-go=\"`av36t`\" pulumi-lang-python=\"`av36t`\" pulumi-lang-yaml=\"`av36t`\" pulumi-lang-java=\"`av36t`\"\u003e`av36t`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`av36p`\" pulumi-lang-dotnet=\"`Av36p`\" pulumi-lang-go=\"`av36p`\" pulumi-lang-python=\"`av36p`\" pulumi-lang-yaml=\"`av36p`\" pulumi-lang-java=\"`av36p`\"\u003e`av36p`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`av36pt`\" pulumi-lang-dotnet=\"`Av36pt`\" pulumi-lang-go=\"`av36pt`\" pulumi-lang-python=\"`av36pt`\" pulumi-lang-yaml=\"`av36pt`\" pulumi-lang-java=\"`av36pt`\"\u003e`av36pt`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`av48`\" pulumi-lang-dotnet=\"`Av48`\" pulumi-lang-go=\"`av48`\" pulumi-lang-python=\"`av48`\" pulumi-lang-yaml=\"`av48`\" pulumi-lang-java=\"`av48`\"\u003e`av48`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`av48t`\" pulumi-lang-dotnet=\"`Av48t`\" pulumi-lang-go=\"`av48t`\" pulumi-lang-python=\"`av48t`\" pulumi-lang-yaml=\"`av48t`\" pulumi-lang-java=\"`av48t`\"\u003e`av48t`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`av52`\" pulumi-lang-dotnet=\"`Av52`\" pulumi-lang-go=\"`av52`\" pulumi-lang-python=\"`av52`\" pulumi-lang-yaml=\"`av52`\" pulumi-lang-java=\"`av52`\"\u003e`av52`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`av52t`\" pulumi-lang-dotnet=\"`Av52t`\" pulumi-lang-go=\"`av52t`\" pulumi-lang-python=\"`av52t`\" pulumi-lang-yaml=\"`av52t`\" pulumi-lang-java=\"`av52t`\"\u003e`av52t`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`av64`\" pulumi-lang-dotnet=\"`Av64`\" pulumi-lang-go=\"`av64`\" pulumi-lang-python=\"`av64`\" pulumi-lang-yaml=\"`av64`\" pulumi-lang-java=\"`av64`\"\u003e`av64`\u003c/span\u003e. Changing this forces a new Azure VMware Solution Private Cloud to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Azure VMware Solution Private Cloud.\n"},"vcenterPassword":{"type":"string","description":"The password of the VMware vCenter Server cloudadmin. Changing this forces a new Azure VMware Solution Private Cloud to be created.\n","secret":true,"willReplaceOnChanges":true}},"requiredInputs":["managementCluster","networkSubnetCidr","resourceGroupName","skuName"],"stateInputs":{"description":"Input properties used for looking up and filtering PrivateCloud resources.\n","properties":{"circuits":{"type":"array","items":{"$ref":"#/types/azure:avs/PrivateCloudCircuit:PrivateCloudCircuit"},"description":"A \u003cspan pulumi-lang-nodejs=\"`circuit`\" pulumi-lang-dotnet=\"`Circuit`\" pulumi-lang-go=\"`circuit`\" pulumi-lang-python=\"`circuit`\" pulumi-lang-yaml=\"`circuit`\" pulumi-lang-java=\"`circuit`\"\u003e`circuit`\u003c/span\u003e block as defined below.\n"},"hcxCloudManagerEndpoint":{"type":"string","description":"The endpoint for the VMware HCX Cloud Manager.\n"},"internetConnectionEnabled":{"type":"boolean","description":"Is the Azure VMware Solution Private Cloud connected to the internet? This field can not be updated with `management_cluster[0].size` together.\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`internetConnectionEnabled`\" pulumi-lang-dotnet=\"`InternetConnectionEnabled`\" pulumi-lang-go=\"`internetConnectionEnabled`\" pulumi-lang-python=\"`internet_connection_enabled`\" pulumi-lang-yaml=\"`internetConnectionEnabled`\" pulumi-lang-java=\"`internetConnectionEnabled`\"\u003e`internet_connection_enabled`\u003c/span\u003e and `management_cluster[0].size` cannot be updated at the same time.\n"},"location":{"type":"string","description":"The Azure Region where the Azure VMware Solution Private Cloud should exist. Changing this forces a new Azure VMware Solution Private Cloud to be created.\n","willReplaceOnChanges":true},"managementCluster":{"$ref":"#/types/azure:avs/PrivateCloudManagementCluster:PrivateCloudManagementCluster","description":"A \u003cspan pulumi-lang-nodejs=\"`managementCluster`\" pulumi-lang-dotnet=\"`ManagementCluster`\" pulumi-lang-go=\"`managementCluster`\" pulumi-lang-python=\"`management_cluster`\" pulumi-lang-yaml=\"`managementCluster`\" pulumi-lang-java=\"`managementCluster`\"\u003e`management_cluster`\u003c/span\u003e block as defined below.\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`internetConnectionEnabled`\" pulumi-lang-dotnet=\"`InternetConnectionEnabled`\" pulumi-lang-go=\"`internetConnectionEnabled`\" pulumi-lang-python=\"`internet_connection_enabled`\" pulumi-lang-yaml=\"`internetConnectionEnabled`\" pulumi-lang-java=\"`internetConnectionEnabled`\"\u003e`internet_connection_enabled`\u003c/span\u003e and `management_cluster[0].size` cannot be updated at the same time.\n"},"managementSubnetCidr":{"type":"string","description":"The network used to access VMware vCenter Server and NSX Manager.\n"},"name":{"type":"string","description":"The name which should be used for this Azure VMware Solution Private Cloud. Changing this forces a new Azure VMware Solution Private Cloud to be created.\n","willReplaceOnChanges":true},"networkSubnetCidr":{"type":"string","description":"The subnet which should be unique across virtual network in your subscription as well as on-premise. Changing this forces a new Azure VMware Solution Private Cloud to be created.\n","willReplaceOnChanges":true},"nsxtCertificateThumbprint":{"type":"string","description":"The thumbprint of the VMware NSX Manager SSL certificate.\n"},"nsxtManagerEndpoint":{"type":"string","description":"The endpoint for the VMware NSX Manager.\n"},"nsxtPassword":{"type":"string","description":"The password of the VMware NSX Manager cloudadmin. Changing this forces a new Azure VMware Solution Private Cloud to be created.\n","secret":true,"willReplaceOnChanges":true},"provisioningSubnetCidr":{"type":"string","description":"The network which is used for virtual machine cold migration, cloning, and snapshot migration.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Azure VMware Solution Private Cloud should exist. Changing this forces a new Azure VMware Solution Private Cloud to be created.\n","willReplaceOnChanges":true},"skuName":{"type":"string","description":"The Name of the SKU used for this Azure VMware Solution Private Cloud. Possible values are \u003cspan pulumi-lang-nodejs=\"`av20`\" pulumi-lang-dotnet=\"`Av20`\" pulumi-lang-go=\"`av20`\" pulumi-lang-python=\"`av20`\" pulumi-lang-yaml=\"`av20`\" pulumi-lang-java=\"`av20`\"\u003e`av20`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`av36`\" pulumi-lang-dotnet=\"`Av36`\" pulumi-lang-go=\"`av36`\" pulumi-lang-python=\"`av36`\" pulumi-lang-yaml=\"`av36`\" pulumi-lang-java=\"`av36`\"\u003e`av36`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`av36t`\" pulumi-lang-dotnet=\"`Av36t`\" pulumi-lang-go=\"`av36t`\" pulumi-lang-python=\"`av36t`\" pulumi-lang-yaml=\"`av36t`\" pulumi-lang-java=\"`av36t`\"\u003e`av36t`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`av36p`\" pulumi-lang-dotnet=\"`Av36p`\" pulumi-lang-go=\"`av36p`\" pulumi-lang-python=\"`av36p`\" pulumi-lang-yaml=\"`av36p`\" pulumi-lang-java=\"`av36p`\"\u003e`av36p`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`av36pt`\" pulumi-lang-dotnet=\"`Av36pt`\" pulumi-lang-go=\"`av36pt`\" pulumi-lang-python=\"`av36pt`\" pulumi-lang-yaml=\"`av36pt`\" pulumi-lang-java=\"`av36pt`\"\u003e`av36pt`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`av48`\" pulumi-lang-dotnet=\"`Av48`\" pulumi-lang-go=\"`av48`\" pulumi-lang-python=\"`av48`\" pulumi-lang-yaml=\"`av48`\" pulumi-lang-java=\"`av48`\"\u003e`av48`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`av48t`\" pulumi-lang-dotnet=\"`Av48t`\" pulumi-lang-go=\"`av48t`\" pulumi-lang-python=\"`av48t`\" pulumi-lang-yaml=\"`av48t`\" pulumi-lang-java=\"`av48t`\"\u003e`av48t`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`av52`\" pulumi-lang-dotnet=\"`Av52`\" pulumi-lang-go=\"`av52`\" pulumi-lang-python=\"`av52`\" pulumi-lang-yaml=\"`av52`\" pulumi-lang-java=\"`av52`\"\u003e`av52`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`av52t`\" pulumi-lang-dotnet=\"`Av52t`\" pulumi-lang-go=\"`av52t`\" pulumi-lang-python=\"`av52t`\" pulumi-lang-yaml=\"`av52t`\" pulumi-lang-java=\"`av52t`\"\u003e`av52t`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`av64`\" pulumi-lang-dotnet=\"`Av64`\" pulumi-lang-go=\"`av64`\" pulumi-lang-python=\"`av64`\" pulumi-lang-yaml=\"`av64`\" pulumi-lang-java=\"`av64`\"\u003e`av64`\u003c/span\u003e. Changing this forces a new Azure VMware Solution Private Cloud to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Azure VMware Solution Private Cloud.\n"},"vcenterCertificateThumbprint":{"type":"string","description":"The thumbprint of the VMware vCenter Server SSL certificate.\n"},"vcenterPassword":{"type":"string","description":"The password of the VMware vCenter Server cloudadmin. Changing this forces a new Azure VMware Solution Private Cloud to be created.\n","secret":true,"willReplaceOnChanges":true},"vcsaEndpoint":{"type":"string","description":"The endpoint for VMware vCenter Server Appliance.\n"},"vmotionSubnetCidr":{"type":"string","description":"The network which is used for live migration of virtual machines.\n"}},"type":"object"}},"azure:backup/containerStorageAccount:ContainerStorageAccount":{"description":"Manages registration of a storage account with Azure Backup. Storage accounts must be registered with an Azure Recovery Vault in order to backup file shares within the storage account. Registering a storage account with a vault creates what is known as a protection container within Azure Recovery Services. Once the container is created, Azure file shares within the storage account can be backed up using the \u003cspan pulumi-lang-nodejs=\"`azure.backup.ProtectedFileShare`\" pulumi-lang-dotnet=\"`azure.backup.ProtectedFileShare`\" pulumi-lang-go=\"`backup.ProtectedFileShare`\" pulumi-lang-python=\"`backup.ProtectedFileShare`\" pulumi-lang-yaml=\"`azure.backup.ProtectedFileShare`\" pulumi-lang-java=\"`azure.backup.ProtectedFileShare`\"\u003e`azure.backup.ProtectedFileShare`\u003c/span\u003e resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"tfex-network-mapping-primary\",\n    location: \"West Europe\",\n});\nconst vault = new azure.recoveryservices.Vault(\"vault\", {\n    name: \"example-recovery-vault\",\n    location: example.location,\n    resourceGroupName: example.name,\n    sku: \"Standard\",\n});\nconst sa = new azure.storage.Account(\"sa\", {\n    name: \"examplesa\",\n    location: example.location,\n    resourceGroupName: example.name,\n    accountTier: \"Standard\",\n    accountReplicationType: \"LRS\",\n});\nconst container = new azure.backup.ContainerStorageAccount(\"container\", {\n    resourceGroupName: example.name,\n    recoveryVaultName: vault.name,\n    storageAccountId: sa.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"tfex-network-mapping-primary\",\n    location=\"West Europe\")\nvault = azure.recoveryservices.Vault(\"vault\",\n    name=\"example-recovery-vault\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku=\"Standard\")\nsa = azure.storage.Account(\"sa\",\n    name=\"examplesa\",\n    location=example.location,\n    resource_group_name=example.name,\n    account_tier=\"Standard\",\n    account_replication_type=\"LRS\")\ncontainer = azure.backup.ContainerStorageAccount(\"container\",\n    resource_group_name=example.name,\n    recovery_vault_name=vault.name,\n    storage_account_id=sa.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"tfex-network-mapping-primary\",\n        Location = \"West Europe\",\n    });\n\n    var vault = new Azure.RecoveryServices.Vault(\"vault\", new()\n    {\n        Name = \"example-recovery-vault\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Sku = \"Standard\",\n    });\n\n    var sa = new Azure.Storage.Account(\"sa\", new()\n    {\n        Name = \"examplesa\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        AccountTier = \"Standard\",\n        AccountReplicationType = \"LRS\",\n    });\n\n    var container = new Azure.Backup.ContainerStorageAccount(\"container\", new()\n    {\n        ResourceGroupName = example.Name,\n        RecoveryVaultName = vault.Name,\n        StorageAccountId = sa.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/backup\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/recoveryservices\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"tfex-network-mapping-primary\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvault, err := recoveryservices.NewVault(ctx, \"vault\", \u0026recoveryservices.VaultArgs{\n\t\t\tName:              pulumi.String(\"example-recovery-vault\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSku:               pulumi.String(\"Standard\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsa, err := storage.NewAccount(ctx, \"sa\", \u0026storage.AccountArgs{\n\t\t\tName:                   pulumi.String(\"examplesa\"),\n\t\t\tLocation:               example.Location,\n\t\t\tResourceGroupName:      example.Name,\n\t\t\tAccountTier:            pulumi.String(\"Standard\"),\n\t\t\tAccountReplicationType: pulumi.String(\"LRS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = backup.NewContainerStorageAccount(ctx, \"container\", \u0026backup.ContainerStorageAccountArgs{\n\t\t\tResourceGroupName: example.Name,\n\t\t\tRecoveryVaultName: vault.Name,\n\t\t\tStorageAccountId:  sa.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.recoveryservices.Vault;\nimport com.pulumi.azure.recoveryservices.VaultArgs;\nimport com.pulumi.azure.storage.Account;\nimport com.pulumi.azure.storage.AccountArgs;\nimport com.pulumi.azure.backup.ContainerStorageAccount;\nimport com.pulumi.azure.backup.ContainerStorageAccountArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"tfex-network-mapping-primary\")\n            .location(\"West Europe\")\n            .build());\n\n        var vault = new Vault(\"vault\", VaultArgs.builder()\n            .name(\"example-recovery-vault\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .sku(\"Standard\")\n            .build());\n\n        var sa = new Account(\"sa\", AccountArgs.builder()\n            .name(\"examplesa\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .accountTier(\"Standard\")\n            .accountReplicationType(\"LRS\")\n            .build());\n\n        var container = new ContainerStorageAccount(\"container\", ContainerStorageAccountArgs.builder()\n            .resourceGroupName(example.name())\n            .recoveryVaultName(vault.name())\n            .storageAccountId(sa.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: tfex-network-mapping-primary\n      location: West Europe\n  vault:\n    type: azure:recoveryservices:Vault\n    properties:\n      name: example-recovery-vault\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      sku: Standard\n  sa:\n    type: azure:storage:Account\n    properties:\n      name: examplesa\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      accountTier: Standard\n      accountReplicationType: LRS\n  container:\n    type: azure:backup:ContainerStorageAccount\n    properties:\n      resourceGroupName: ${example.name}\n      recoveryVaultName: ${vault.name}\n      storageAccountId: ${sa.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nBackup Storage Account Containers can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:backup/containerStorageAccount:ContainerStorageAccount mycontainer \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resource-group-name/providers/Microsoft.RecoveryServices/vaults/recovery-vault-name/backupFabrics/Azure/protectionContainers/StorageContainer;storage;storage-rg-name;storage-account\"\n```\n\nNote the ID requires quoting as there are semicolons\n\n","properties":{"recoveryVaultName":{"type":"string","description":"The name of the vault where the storage account will be registered. Changing this forces a new resource to be created.\n"},"resourceGroupName":{"type":"string","description":"Name of the resource group where the vault is located. Changing this forces a new resource to be created.\n"},"storageAccountId":{"type":"string","description":"The ID of the Storage Account to be registered Changing this forces a new resource to be created.\n\n\u003e **Note:** Azure Backup places a Resource Lock on the storage account that will cause deletion to fail until the account is unregistered from Azure Backup\n"}},"required":["recoveryVaultName","resourceGroupName","storageAccountId"],"inputProperties":{"recoveryVaultName":{"type":"string","description":"The name of the vault where the storage account will be registered. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"Name of the resource group where the vault is located. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"storageAccountId":{"type":"string","description":"The ID of the Storage Account to be registered Changing this forces a new resource to be created.\n\n\u003e **Note:** Azure Backup places a Resource Lock on the storage account that will cause deletion to fail until the account is unregistered from Azure Backup\n","willReplaceOnChanges":true}},"requiredInputs":["recoveryVaultName","resourceGroupName","storageAccountId"],"stateInputs":{"description":"Input properties used for looking up and filtering ContainerStorageAccount resources.\n","properties":{"recoveryVaultName":{"type":"string","description":"The name of the vault where the storage account will be registered. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"Name of the resource group where the vault is located. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"storageAccountId":{"type":"string","description":"The ID of the Storage Account to be registered Changing this forces a new resource to be created.\n\n\u003e **Note:** Azure Backup places a Resource Lock on the storage account that will cause deletion to fail until the account is unregistered from Azure Backup\n","willReplaceOnChanges":true}},"type":"object"}},"azure:backup/policyFileShare:PolicyFileShare":{"description":"Manages an Azure File Share Backup Policy within a Recovery Services vault.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"tfex-recovery_vault\",\n    location: \"West Europe\",\n});\nconst exampleVault = new azure.recoveryservices.Vault(\"example\", {\n    name: \"tfex-recovery-vault\",\n    location: example.location,\n    resourceGroupName: example.name,\n    sku: \"Standard\",\n});\nconst policy = new azure.backup.PolicyFileShare(\"policy\", {\n    name: \"tfex-recovery-vault-policy\",\n    resourceGroupName: example.name,\n    recoveryVaultName: exampleVault.name,\n    timezone: \"UTC\",\n    backup: {\n        frequency: \"Daily\",\n        time: \"23:00\",\n    },\n    retentionDaily: {\n        count: 10,\n    },\n    retentionWeekly: {\n        count: 7,\n        weekdays: [\n            \"Sunday\",\n            \"Wednesday\",\n            \"Friday\",\n            \"Saturday\",\n        ],\n    },\n    retentionMonthly: {\n        count: 7,\n        weekdays: [\n            \"Sunday\",\n            \"Wednesday\",\n        ],\n        weeks: [\n            \"First\",\n            \"Last\",\n        ],\n    },\n    retentionYearly: {\n        count: 7,\n        weekdays: [\"Sunday\"],\n        weeks: [\"Last\"],\n        months: [\"January\"],\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"tfex-recovery_vault\",\n    location=\"West Europe\")\nexample_vault = azure.recoveryservices.Vault(\"example\",\n    name=\"tfex-recovery-vault\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku=\"Standard\")\npolicy = azure.backup.PolicyFileShare(\"policy\",\n    name=\"tfex-recovery-vault-policy\",\n    resource_group_name=example.name,\n    recovery_vault_name=example_vault.name,\n    timezone=\"UTC\",\n    backup={\n        \"frequency\": \"Daily\",\n        \"time\": \"23:00\",\n    },\n    retention_daily={\n        \"count\": 10,\n    },\n    retention_weekly={\n        \"count\": 7,\n        \"weekdays\": [\n            \"Sunday\",\n            \"Wednesday\",\n            \"Friday\",\n            \"Saturday\",\n        ],\n    },\n    retention_monthly={\n        \"count\": 7,\n        \"weekdays\": [\n            \"Sunday\",\n            \"Wednesday\",\n        ],\n        \"weeks\": [\n            \"First\",\n            \"Last\",\n        ],\n    },\n    retention_yearly={\n        \"count\": 7,\n        \"weekdays\": [\"Sunday\"],\n        \"weeks\": [\"Last\"],\n        \"months\": [\"January\"],\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"tfex-recovery_vault\",\n        Location = \"West Europe\",\n    });\n\n    var exampleVault = new Azure.RecoveryServices.Vault(\"example\", new()\n    {\n        Name = \"tfex-recovery-vault\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Sku = \"Standard\",\n    });\n\n    var policy = new Azure.Backup.PolicyFileShare(\"policy\", new()\n    {\n        Name = \"tfex-recovery-vault-policy\",\n        ResourceGroupName = example.Name,\n        RecoveryVaultName = exampleVault.Name,\n        Timezone = \"UTC\",\n        Backup = new Azure.Backup.Inputs.PolicyFileShareBackupArgs\n        {\n            Frequency = \"Daily\",\n            Time = \"23:00\",\n        },\n        RetentionDaily = new Azure.Backup.Inputs.PolicyFileShareRetentionDailyArgs\n        {\n            Count = 10,\n        },\n        RetentionWeekly = new Azure.Backup.Inputs.PolicyFileShareRetentionWeeklyArgs\n        {\n            Count = 7,\n            Weekdays = new[]\n            {\n                \"Sunday\",\n                \"Wednesday\",\n                \"Friday\",\n                \"Saturday\",\n            },\n        },\n        RetentionMonthly = new Azure.Backup.Inputs.PolicyFileShareRetentionMonthlyArgs\n        {\n            Count = 7,\n            Weekdays = new[]\n            {\n                \"Sunday\",\n                \"Wednesday\",\n            },\n            Weeks = new[]\n            {\n                \"First\",\n                \"Last\",\n            },\n        },\n        RetentionYearly = new Azure.Backup.Inputs.PolicyFileShareRetentionYearlyArgs\n        {\n            Count = 7,\n            Weekdays = new[]\n            {\n                \"Sunday\",\n            },\n            Weeks = new[]\n            {\n                \"Last\",\n            },\n            Months = new[]\n            {\n                \"January\",\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/backup\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/recoveryservices\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"tfex-recovery_vault\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVault, err := recoveryservices.NewVault(ctx, \"example\", \u0026recoveryservices.VaultArgs{\n\t\t\tName:              pulumi.String(\"tfex-recovery-vault\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSku:               pulumi.String(\"Standard\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = backup.NewPolicyFileShare(ctx, \"policy\", \u0026backup.PolicyFileShareArgs{\n\t\t\tName:              pulumi.String(\"tfex-recovery-vault-policy\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tRecoveryVaultName: exampleVault.Name,\n\t\t\tTimezone:          pulumi.String(\"UTC\"),\n\t\t\tBackup: \u0026backup.PolicyFileShareBackupArgs{\n\t\t\t\tFrequency: pulumi.String(\"Daily\"),\n\t\t\t\tTime:      pulumi.String(\"23:00\"),\n\t\t\t},\n\t\t\tRetentionDaily: \u0026backup.PolicyFileShareRetentionDailyArgs{\n\t\t\t\tCount: pulumi.Int(10),\n\t\t\t},\n\t\t\tRetentionWeekly: \u0026backup.PolicyFileShareRetentionWeeklyArgs{\n\t\t\t\tCount: pulumi.Int(7),\n\t\t\t\tWeekdays: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"Sunday\"),\n\t\t\t\t\tpulumi.String(\"Wednesday\"),\n\t\t\t\t\tpulumi.String(\"Friday\"),\n\t\t\t\t\tpulumi.String(\"Saturday\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tRetentionMonthly: \u0026backup.PolicyFileShareRetentionMonthlyArgs{\n\t\t\t\tCount: pulumi.Int(7),\n\t\t\t\tWeekdays: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"Sunday\"),\n\t\t\t\t\tpulumi.String(\"Wednesday\"),\n\t\t\t\t},\n\t\t\t\tWeeks: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"First\"),\n\t\t\t\t\tpulumi.String(\"Last\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tRetentionYearly: \u0026backup.PolicyFileShareRetentionYearlyArgs{\n\t\t\t\tCount: pulumi.Int(7),\n\t\t\t\tWeekdays: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"Sunday\"),\n\t\t\t\t},\n\t\t\t\tWeeks: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"Last\"),\n\t\t\t\t},\n\t\t\t\tMonths: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"January\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.recoveryservices.Vault;\nimport com.pulumi.azure.recoveryservices.VaultArgs;\nimport com.pulumi.azure.backup.PolicyFileShare;\nimport com.pulumi.azure.backup.PolicyFileShareArgs;\nimport com.pulumi.azure.backup.inputs.PolicyFileShareBackupArgs;\nimport com.pulumi.azure.backup.inputs.PolicyFileShareRetentionDailyArgs;\nimport com.pulumi.azure.backup.inputs.PolicyFileShareRetentionWeeklyArgs;\nimport com.pulumi.azure.backup.inputs.PolicyFileShareRetentionMonthlyArgs;\nimport com.pulumi.azure.backup.inputs.PolicyFileShareRetentionYearlyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"tfex-recovery_vault\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleVault = new Vault(\"exampleVault\", VaultArgs.builder()\n            .name(\"tfex-recovery-vault\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .sku(\"Standard\")\n            .build());\n\n        var policy = new PolicyFileShare(\"policy\", PolicyFileShareArgs.builder()\n            .name(\"tfex-recovery-vault-policy\")\n            .resourceGroupName(example.name())\n            .recoveryVaultName(exampleVault.name())\n            .timezone(\"UTC\")\n            .backup(PolicyFileShareBackupArgs.builder()\n                .frequency(\"Daily\")\n                .time(\"23:00\")\n                .build())\n            .retentionDaily(PolicyFileShareRetentionDailyArgs.builder()\n                .count(10)\n                .build())\n            .retentionWeekly(PolicyFileShareRetentionWeeklyArgs.builder()\n                .count(7)\n                .weekdays(                \n                    \"Sunday\",\n                    \"Wednesday\",\n                    \"Friday\",\n                    \"Saturday\")\n                .build())\n            .retentionMonthly(PolicyFileShareRetentionMonthlyArgs.builder()\n                .count(7)\n                .weekdays(                \n                    \"Sunday\",\n                    \"Wednesday\")\n                .weeks(                \n                    \"First\",\n                    \"Last\")\n                .build())\n            .retentionYearly(PolicyFileShareRetentionYearlyArgs.builder()\n                .count(7)\n                .weekdays(\"Sunday\")\n                .weeks(\"Last\")\n                .months(\"January\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: tfex-recovery_vault\n      location: West Europe\n  exampleVault:\n    type: azure:recoveryservices:Vault\n    name: example\n    properties:\n      name: tfex-recovery-vault\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      sku: Standard\n  policy:\n    type: azure:backup:PolicyFileShare\n    properties:\n      name: tfex-recovery-vault-policy\n      resourceGroupName: ${example.name}\n      recoveryVaultName: ${exampleVault.name}\n      timezone: UTC\n      backup:\n        frequency: Daily\n        time: 23:00\n      retentionDaily:\n        count: 10\n      retentionWeekly:\n        count: 7\n        weekdays:\n          - Sunday\n          - Wednesday\n          - Friday\n          - Saturday\n      retentionMonthly:\n        count: 7\n        weekdays:\n          - Sunday\n          - Wednesday\n        weeks:\n          - First\n          - Last\n      retentionYearly:\n        count: 7\n        weekdays:\n          - Sunday\n        weeks:\n          - Last\n        months:\n          - January\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nAzure File Share Backup Policies can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:backup/policyFileShare:PolicyFileShare policy1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.RecoveryServices/vaults/example-recovery-vault/backupPolicies/policy1\n```\n\n","properties":{"backup":{"$ref":"#/types/azure:backup/PolicyFileShareBackup:PolicyFileShareBackup","description":"Configures the Policy backup frequency and times as documented in the \u003cspan pulumi-lang-nodejs=\"`backup`\" pulumi-lang-dotnet=\"`Backup`\" pulumi-lang-go=\"`backup`\" pulumi-lang-python=\"`backup`\" pulumi-lang-yaml=\"`backup`\" pulumi-lang-java=\"`backup`\"\u003e`backup`\u003c/span\u003e block below.\n"},"backupTier":{"type":"string","description":"The backup tier to use. Possible values are `vault-standard` and \u003cspan pulumi-lang-nodejs=\"`snapshot`\" pulumi-lang-dotnet=\"`Snapshot`\" pulumi-lang-go=\"`snapshot`\" pulumi-lang-python=\"`snapshot`\" pulumi-lang-yaml=\"`snapshot`\" pulumi-lang-java=\"`snapshot`\"\u003e`snapshot`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`snapshot`\" pulumi-lang-dotnet=\"`Snapshot`\" pulumi-lang-go=\"`snapshot`\" pulumi-lang-python=\"`snapshot`\" pulumi-lang-yaml=\"`snapshot`\" pulumi-lang-java=\"`snapshot`\"\u003e`snapshot`\u003c/span\u003e.\n\n\u003e **Note:** When \u003cspan pulumi-lang-nodejs=\"`backupTier`\" pulumi-lang-dotnet=\"`BackupTier`\" pulumi-lang-go=\"`backupTier`\" pulumi-lang-python=\"`backup_tier`\" pulumi-lang-yaml=\"`backupTier`\" pulumi-lang-java=\"`backupTier`\"\u003e`backup_tier`\u003c/span\u003e is set to `vault-standard`, the \u003cspan pulumi-lang-nodejs=\"`snapshotRetentionInDays`\" pulumi-lang-dotnet=\"`SnapshotRetentionInDays`\" pulumi-lang-go=\"`snapshotRetentionInDays`\" pulumi-lang-python=\"`snapshot_retention_in_days`\" pulumi-lang-yaml=\"`snapshotRetentionInDays`\" pulumi-lang-java=\"`snapshotRetentionInDays`\"\u003e`snapshot_retention_in_days`\u003c/span\u003e value must be less than the \u003cspan pulumi-lang-nodejs=\"`retentionDaily`\" pulumi-lang-dotnet=\"`RetentionDaily`\" pulumi-lang-go=\"`retentionDaily`\" pulumi-lang-python=\"`retention_daily`\" pulumi-lang-yaml=\"`retentionDaily`\" pulumi-lang-java=\"`retentionDaily`\"\u003e`retention_daily`\u003c/span\u003e count.\n"},"name":{"type":"string","description":"Specifies the name of the policy. Changing this forces a new resource to be created.\n"},"recoveryVaultName":{"type":"string","description":"Specifies the name of the Recovery Services Vault to use. Changing this forces a new resource to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the policy. Changing this forces a new resource to be created.\n"},"retentionDaily":{"$ref":"#/types/azure:backup/PolicyFileShareRetentionDaily:PolicyFileShareRetentionDaily","description":"Configures the policy daily retention as documented in the \u003cspan pulumi-lang-nodejs=\"`retentionDaily`\" pulumi-lang-dotnet=\"`RetentionDaily`\" pulumi-lang-go=\"`retentionDaily`\" pulumi-lang-python=\"`retention_daily`\" pulumi-lang-yaml=\"`retentionDaily`\" pulumi-lang-java=\"`retentionDaily`\"\u003e`retention_daily`\u003c/span\u003e block below.\n"},"retentionMonthly":{"$ref":"#/types/azure:backup/PolicyFileShareRetentionMonthly:PolicyFileShareRetentionMonthly","description":"Configures the policy monthly retention as documented in the \u003cspan pulumi-lang-nodejs=\"`retentionMonthly`\" pulumi-lang-dotnet=\"`RetentionMonthly`\" pulumi-lang-go=\"`retentionMonthly`\" pulumi-lang-python=\"`retention_monthly`\" pulumi-lang-yaml=\"`retentionMonthly`\" pulumi-lang-java=\"`retentionMonthly`\"\u003e`retention_monthly`\u003c/span\u003e block below.\n"},"retentionWeekly":{"$ref":"#/types/azure:backup/PolicyFileShareRetentionWeekly:PolicyFileShareRetentionWeekly","description":"Configures the policy weekly retention as documented in the \u003cspan pulumi-lang-nodejs=\"`retentionWeekly`\" pulumi-lang-dotnet=\"`RetentionWeekly`\" pulumi-lang-go=\"`retentionWeekly`\" pulumi-lang-python=\"`retention_weekly`\" pulumi-lang-yaml=\"`retentionWeekly`\" pulumi-lang-java=\"`retentionWeekly`\"\u003e`retention_weekly`\u003c/span\u003e block below.\n"},"retentionYearly":{"$ref":"#/types/azure:backup/PolicyFileShareRetentionYearly:PolicyFileShareRetentionYearly","description":"Configures the policy yearly retention as documented in the \u003cspan pulumi-lang-nodejs=\"`retentionYearly`\" pulumi-lang-dotnet=\"`RetentionYearly`\" pulumi-lang-go=\"`retentionYearly`\" pulumi-lang-python=\"`retention_yearly`\" pulumi-lang-yaml=\"`retentionYearly`\" pulumi-lang-java=\"`retentionYearly`\"\u003e`retention_yearly`\u003c/span\u003e block below.\n"},"snapshotRetentionInDays":{"type":"integer","description":"The number of days to retain the snapshots. Defaults to \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"timezone":{"type":"string","description":"Specifies the timezone. [the possible values are defined here](https://jackstromberg.com/2017/01/list-of-time-zones-consumed-by-azure/). Defaults to `UTC`\n\n\u003e **Note:** The maximum number of snapshots that Azure Files can retain is 200. If your combined snapshot count exceeds 200 based on your retention policies, it will result in an error. See [this](https://docs.microsoft.com/azure/backup/backup-azure-files-faq#what-is-the-maximum-retention-i-can-configure-for-backups) article for more information.\n"}},"required":["backup","name","recoveryVaultName","resourceGroupName","retentionDaily"],"inputProperties":{"backup":{"$ref":"#/types/azure:backup/PolicyFileShareBackup:PolicyFileShareBackup","description":"Configures the Policy backup frequency and times as documented in the \u003cspan pulumi-lang-nodejs=\"`backup`\" pulumi-lang-dotnet=\"`Backup`\" pulumi-lang-go=\"`backup`\" pulumi-lang-python=\"`backup`\" pulumi-lang-yaml=\"`backup`\" pulumi-lang-java=\"`backup`\"\u003e`backup`\u003c/span\u003e block below.\n"},"backupTier":{"type":"string","description":"The backup tier to use. Possible values are `vault-standard` and \u003cspan pulumi-lang-nodejs=\"`snapshot`\" pulumi-lang-dotnet=\"`Snapshot`\" pulumi-lang-go=\"`snapshot`\" pulumi-lang-python=\"`snapshot`\" pulumi-lang-yaml=\"`snapshot`\" pulumi-lang-java=\"`snapshot`\"\u003e`snapshot`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`snapshot`\" pulumi-lang-dotnet=\"`Snapshot`\" pulumi-lang-go=\"`snapshot`\" pulumi-lang-python=\"`snapshot`\" pulumi-lang-yaml=\"`snapshot`\" pulumi-lang-java=\"`snapshot`\"\u003e`snapshot`\u003c/span\u003e.\n\n\u003e **Note:** When \u003cspan pulumi-lang-nodejs=\"`backupTier`\" pulumi-lang-dotnet=\"`BackupTier`\" pulumi-lang-go=\"`backupTier`\" pulumi-lang-python=\"`backup_tier`\" pulumi-lang-yaml=\"`backupTier`\" pulumi-lang-java=\"`backupTier`\"\u003e`backup_tier`\u003c/span\u003e is set to `vault-standard`, the \u003cspan pulumi-lang-nodejs=\"`snapshotRetentionInDays`\" pulumi-lang-dotnet=\"`SnapshotRetentionInDays`\" pulumi-lang-go=\"`snapshotRetentionInDays`\" pulumi-lang-python=\"`snapshot_retention_in_days`\" pulumi-lang-yaml=\"`snapshotRetentionInDays`\" pulumi-lang-java=\"`snapshotRetentionInDays`\"\u003e`snapshot_retention_in_days`\u003c/span\u003e value must be less than the \u003cspan pulumi-lang-nodejs=\"`retentionDaily`\" pulumi-lang-dotnet=\"`RetentionDaily`\" pulumi-lang-go=\"`retentionDaily`\" pulumi-lang-python=\"`retention_daily`\" pulumi-lang-yaml=\"`retentionDaily`\" pulumi-lang-java=\"`retentionDaily`\"\u003e`retention_daily`\u003c/span\u003e count.\n"},"name":{"type":"string","description":"Specifies the name of the policy. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"recoveryVaultName":{"type":"string","description":"Specifies the name of the Recovery Services Vault to use. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the policy. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"retentionDaily":{"$ref":"#/types/azure:backup/PolicyFileShareRetentionDaily:PolicyFileShareRetentionDaily","description":"Configures the policy daily retention as documented in the \u003cspan pulumi-lang-nodejs=\"`retentionDaily`\" pulumi-lang-dotnet=\"`RetentionDaily`\" pulumi-lang-go=\"`retentionDaily`\" pulumi-lang-python=\"`retention_daily`\" pulumi-lang-yaml=\"`retentionDaily`\" pulumi-lang-java=\"`retentionDaily`\"\u003e`retention_daily`\u003c/span\u003e block below.\n"},"retentionMonthly":{"$ref":"#/types/azure:backup/PolicyFileShareRetentionMonthly:PolicyFileShareRetentionMonthly","description":"Configures the policy monthly retention as documented in the \u003cspan pulumi-lang-nodejs=\"`retentionMonthly`\" pulumi-lang-dotnet=\"`RetentionMonthly`\" pulumi-lang-go=\"`retentionMonthly`\" pulumi-lang-python=\"`retention_monthly`\" pulumi-lang-yaml=\"`retentionMonthly`\" pulumi-lang-java=\"`retentionMonthly`\"\u003e`retention_monthly`\u003c/span\u003e block below.\n"},"retentionWeekly":{"$ref":"#/types/azure:backup/PolicyFileShareRetentionWeekly:PolicyFileShareRetentionWeekly","description":"Configures the policy weekly retention as documented in the \u003cspan pulumi-lang-nodejs=\"`retentionWeekly`\" pulumi-lang-dotnet=\"`RetentionWeekly`\" pulumi-lang-go=\"`retentionWeekly`\" pulumi-lang-python=\"`retention_weekly`\" pulumi-lang-yaml=\"`retentionWeekly`\" pulumi-lang-java=\"`retentionWeekly`\"\u003e`retention_weekly`\u003c/span\u003e block below.\n"},"retentionYearly":{"$ref":"#/types/azure:backup/PolicyFileShareRetentionYearly:PolicyFileShareRetentionYearly","description":"Configures the policy yearly retention as documented in the \u003cspan pulumi-lang-nodejs=\"`retentionYearly`\" pulumi-lang-dotnet=\"`RetentionYearly`\" pulumi-lang-go=\"`retentionYearly`\" pulumi-lang-python=\"`retention_yearly`\" pulumi-lang-yaml=\"`retentionYearly`\" pulumi-lang-java=\"`retentionYearly`\"\u003e`retention_yearly`\u003c/span\u003e block below.\n"},"snapshotRetentionInDays":{"type":"integer","description":"The number of days to retain the snapshots. Defaults to \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"timezone":{"type":"string","description":"Specifies the timezone. [the possible values are defined here](https://jackstromberg.com/2017/01/list-of-time-zones-consumed-by-azure/). Defaults to `UTC`\n\n\u003e **Note:** The maximum number of snapshots that Azure Files can retain is 200. If your combined snapshot count exceeds 200 based on your retention policies, it will result in an error. See [this](https://docs.microsoft.com/azure/backup/backup-azure-files-faq#what-is-the-maximum-retention-i-can-configure-for-backups) article for more information.\n"}},"requiredInputs":["backup","recoveryVaultName","resourceGroupName","retentionDaily"],"stateInputs":{"description":"Input properties used for looking up and filtering PolicyFileShare resources.\n","properties":{"backup":{"$ref":"#/types/azure:backup/PolicyFileShareBackup:PolicyFileShareBackup","description":"Configures the Policy backup frequency and times as documented in the \u003cspan pulumi-lang-nodejs=\"`backup`\" pulumi-lang-dotnet=\"`Backup`\" pulumi-lang-go=\"`backup`\" pulumi-lang-python=\"`backup`\" pulumi-lang-yaml=\"`backup`\" pulumi-lang-java=\"`backup`\"\u003e`backup`\u003c/span\u003e block below.\n"},"backupTier":{"type":"string","description":"The backup tier to use. Possible values are `vault-standard` and \u003cspan pulumi-lang-nodejs=\"`snapshot`\" pulumi-lang-dotnet=\"`Snapshot`\" pulumi-lang-go=\"`snapshot`\" pulumi-lang-python=\"`snapshot`\" pulumi-lang-yaml=\"`snapshot`\" pulumi-lang-java=\"`snapshot`\"\u003e`snapshot`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`snapshot`\" pulumi-lang-dotnet=\"`Snapshot`\" pulumi-lang-go=\"`snapshot`\" pulumi-lang-python=\"`snapshot`\" pulumi-lang-yaml=\"`snapshot`\" pulumi-lang-java=\"`snapshot`\"\u003e`snapshot`\u003c/span\u003e.\n\n\u003e **Note:** When \u003cspan pulumi-lang-nodejs=\"`backupTier`\" pulumi-lang-dotnet=\"`BackupTier`\" pulumi-lang-go=\"`backupTier`\" pulumi-lang-python=\"`backup_tier`\" pulumi-lang-yaml=\"`backupTier`\" pulumi-lang-java=\"`backupTier`\"\u003e`backup_tier`\u003c/span\u003e is set to `vault-standard`, the \u003cspan pulumi-lang-nodejs=\"`snapshotRetentionInDays`\" pulumi-lang-dotnet=\"`SnapshotRetentionInDays`\" pulumi-lang-go=\"`snapshotRetentionInDays`\" pulumi-lang-python=\"`snapshot_retention_in_days`\" pulumi-lang-yaml=\"`snapshotRetentionInDays`\" pulumi-lang-java=\"`snapshotRetentionInDays`\"\u003e`snapshot_retention_in_days`\u003c/span\u003e value must be less than the \u003cspan pulumi-lang-nodejs=\"`retentionDaily`\" pulumi-lang-dotnet=\"`RetentionDaily`\" pulumi-lang-go=\"`retentionDaily`\" pulumi-lang-python=\"`retention_daily`\" pulumi-lang-yaml=\"`retentionDaily`\" pulumi-lang-java=\"`retentionDaily`\"\u003e`retention_daily`\u003c/span\u003e count.\n"},"name":{"type":"string","description":"Specifies the name of the policy. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"recoveryVaultName":{"type":"string","description":"Specifies the name of the Recovery Services Vault to use. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the policy. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"retentionDaily":{"$ref":"#/types/azure:backup/PolicyFileShareRetentionDaily:PolicyFileShareRetentionDaily","description":"Configures the policy daily retention as documented in the \u003cspan pulumi-lang-nodejs=\"`retentionDaily`\" pulumi-lang-dotnet=\"`RetentionDaily`\" pulumi-lang-go=\"`retentionDaily`\" pulumi-lang-python=\"`retention_daily`\" pulumi-lang-yaml=\"`retentionDaily`\" pulumi-lang-java=\"`retentionDaily`\"\u003e`retention_daily`\u003c/span\u003e block below.\n"},"retentionMonthly":{"$ref":"#/types/azure:backup/PolicyFileShareRetentionMonthly:PolicyFileShareRetentionMonthly","description":"Configures the policy monthly retention as documented in the \u003cspan pulumi-lang-nodejs=\"`retentionMonthly`\" pulumi-lang-dotnet=\"`RetentionMonthly`\" pulumi-lang-go=\"`retentionMonthly`\" pulumi-lang-python=\"`retention_monthly`\" pulumi-lang-yaml=\"`retentionMonthly`\" pulumi-lang-java=\"`retentionMonthly`\"\u003e`retention_monthly`\u003c/span\u003e block below.\n"},"retentionWeekly":{"$ref":"#/types/azure:backup/PolicyFileShareRetentionWeekly:PolicyFileShareRetentionWeekly","description":"Configures the policy weekly retention as documented in the \u003cspan pulumi-lang-nodejs=\"`retentionWeekly`\" pulumi-lang-dotnet=\"`RetentionWeekly`\" pulumi-lang-go=\"`retentionWeekly`\" pulumi-lang-python=\"`retention_weekly`\" pulumi-lang-yaml=\"`retentionWeekly`\" pulumi-lang-java=\"`retentionWeekly`\"\u003e`retention_weekly`\u003c/span\u003e block below.\n"},"retentionYearly":{"$ref":"#/types/azure:backup/PolicyFileShareRetentionYearly:PolicyFileShareRetentionYearly","description":"Configures the policy yearly retention as documented in the \u003cspan pulumi-lang-nodejs=\"`retentionYearly`\" pulumi-lang-dotnet=\"`RetentionYearly`\" pulumi-lang-go=\"`retentionYearly`\" pulumi-lang-python=\"`retention_yearly`\" pulumi-lang-yaml=\"`retentionYearly`\" pulumi-lang-java=\"`retentionYearly`\"\u003e`retention_yearly`\u003c/span\u003e block below.\n"},"snapshotRetentionInDays":{"type":"integer","description":"The number of days to retain the snapshots. Defaults to \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"timezone":{"type":"string","description":"Specifies the timezone. [the possible values are defined here](https://jackstromberg.com/2017/01/list-of-time-zones-consumed-by-azure/). Defaults to `UTC`\n\n\u003e **Note:** The maximum number of snapshots that Azure Files can retain is 200. If your combined snapshot count exceeds 200 based on your retention policies, it will result in an error. See [this](https://docs.microsoft.com/azure/backup/backup-azure-files-faq#what-is-the-maximum-retention-i-can-configure-for-backups) article for more information.\n"}},"type":"object"}},"azure:backup/policyVM:PolicyVM":{"description":"Manages an Azure Backup VM Backup Policy.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"tfex-recovery_vault\",\n    location: \"West Europe\",\n});\nconst exampleVault = new azure.recoveryservices.Vault(\"example\", {\n    name: \"tfex-recovery-vault\",\n    location: example.location,\n    resourceGroupName: example.name,\n    sku: \"Standard\",\n});\nconst examplePolicyVM = new azure.backup.PolicyVM(\"example\", {\n    name: \"tfex-recovery-vault-policy\",\n    resourceGroupName: example.name,\n    recoveryVaultName: exampleVault.name,\n    timezone: \"UTC\",\n    backup: {\n        frequency: \"Daily\",\n        time: \"23:00\",\n    },\n    retentionDaily: {\n        count: 10,\n    },\n    retentionWeekly: {\n        count: 42,\n        weekdays: [\n            \"Sunday\",\n            \"Wednesday\",\n            \"Friday\",\n            \"Saturday\",\n        ],\n    },\n    retentionMonthly: {\n        count: 7,\n        weekdays: [\n            \"Sunday\",\n            \"Wednesday\",\n        ],\n        weeks: [\n            \"First\",\n            \"Last\",\n        ],\n    },\n    retentionYearly: {\n        count: 77,\n        weekdays: [\"Sunday\"],\n        weeks: [\"Last\"],\n        months: [\"January\"],\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"tfex-recovery_vault\",\n    location=\"West Europe\")\nexample_vault = azure.recoveryservices.Vault(\"example\",\n    name=\"tfex-recovery-vault\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku=\"Standard\")\nexample_policy_vm = azure.backup.PolicyVM(\"example\",\n    name=\"tfex-recovery-vault-policy\",\n    resource_group_name=example.name,\n    recovery_vault_name=example_vault.name,\n    timezone=\"UTC\",\n    backup={\n        \"frequency\": \"Daily\",\n        \"time\": \"23:00\",\n    },\n    retention_daily={\n        \"count\": 10,\n    },\n    retention_weekly={\n        \"count\": 42,\n        \"weekdays\": [\n            \"Sunday\",\n            \"Wednesday\",\n            \"Friday\",\n            \"Saturday\",\n        ],\n    },\n    retention_monthly={\n        \"count\": 7,\n        \"weekdays\": [\n            \"Sunday\",\n            \"Wednesday\",\n        ],\n        \"weeks\": [\n            \"First\",\n            \"Last\",\n        ],\n    },\n    retention_yearly={\n        \"count\": 77,\n        \"weekdays\": [\"Sunday\"],\n        \"weeks\": [\"Last\"],\n        \"months\": [\"January\"],\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"tfex-recovery_vault\",\n        Location = \"West Europe\",\n    });\n\n    var exampleVault = new Azure.RecoveryServices.Vault(\"example\", new()\n    {\n        Name = \"tfex-recovery-vault\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Sku = \"Standard\",\n    });\n\n    var examplePolicyVM = new Azure.Backup.PolicyVM(\"example\", new()\n    {\n        Name = \"tfex-recovery-vault-policy\",\n        ResourceGroupName = example.Name,\n        RecoveryVaultName = exampleVault.Name,\n        Timezone = \"UTC\",\n        Backup = new Azure.Backup.Inputs.PolicyVMBackupArgs\n        {\n            Frequency = \"Daily\",\n            Time = \"23:00\",\n        },\n        RetentionDaily = new Azure.Backup.Inputs.PolicyVMRetentionDailyArgs\n        {\n            Count = 10,\n        },\n        RetentionWeekly = new Azure.Backup.Inputs.PolicyVMRetentionWeeklyArgs\n        {\n            Count = 42,\n            Weekdays = new[]\n            {\n                \"Sunday\",\n                \"Wednesday\",\n                \"Friday\",\n                \"Saturday\",\n            },\n        },\n        RetentionMonthly = new Azure.Backup.Inputs.PolicyVMRetentionMonthlyArgs\n        {\n            Count = 7,\n            Weekdays = new[]\n            {\n                \"Sunday\",\n                \"Wednesday\",\n            },\n            Weeks = new[]\n            {\n                \"First\",\n                \"Last\",\n            },\n        },\n        RetentionYearly = new Azure.Backup.Inputs.PolicyVMRetentionYearlyArgs\n        {\n            Count = 77,\n            Weekdays = new[]\n            {\n                \"Sunday\",\n            },\n            Weeks = new[]\n            {\n                \"Last\",\n            },\n            Months = new[]\n            {\n                \"January\",\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/backup\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/recoveryservices\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"tfex-recovery_vault\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVault, err := recoveryservices.NewVault(ctx, \"example\", \u0026recoveryservices.VaultArgs{\n\t\t\tName:              pulumi.String(\"tfex-recovery-vault\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSku:               pulumi.String(\"Standard\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = backup.NewPolicyVM(ctx, \"example\", \u0026backup.PolicyVMArgs{\n\t\t\tName:              pulumi.String(\"tfex-recovery-vault-policy\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tRecoveryVaultName: exampleVault.Name,\n\t\t\tTimezone:          pulumi.String(\"UTC\"),\n\t\t\tBackup: \u0026backup.PolicyVMBackupArgs{\n\t\t\t\tFrequency: pulumi.String(\"Daily\"),\n\t\t\t\tTime:      pulumi.String(\"23:00\"),\n\t\t\t},\n\t\t\tRetentionDaily: \u0026backup.PolicyVMRetentionDailyArgs{\n\t\t\t\tCount: pulumi.Int(10),\n\t\t\t},\n\t\t\tRetentionWeekly: \u0026backup.PolicyVMRetentionWeeklyArgs{\n\t\t\t\tCount: pulumi.Int(42),\n\t\t\t\tWeekdays: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"Sunday\"),\n\t\t\t\t\tpulumi.String(\"Wednesday\"),\n\t\t\t\t\tpulumi.String(\"Friday\"),\n\t\t\t\t\tpulumi.String(\"Saturday\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tRetentionMonthly: \u0026backup.PolicyVMRetentionMonthlyArgs{\n\t\t\t\tCount: pulumi.Int(7),\n\t\t\t\tWeekdays: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"Sunday\"),\n\t\t\t\t\tpulumi.String(\"Wednesday\"),\n\t\t\t\t},\n\t\t\t\tWeeks: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"First\"),\n\t\t\t\t\tpulumi.String(\"Last\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tRetentionYearly: \u0026backup.PolicyVMRetentionYearlyArgs{\n\t\t\t\tCount: pulumi.Int(77),\n\t\t\t\tWeekdays: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"Sunday\"),\n\t\t\t\t},\n\t\t\t\tWeeks: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"Last\"),\n\t\t\t\t},\n\t\t\t\tMonths: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"January\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.recoveryservices.Vault;\nimport com.pulumi.azure.recoveryservices.VaultArgs;\nimport com.pulumi.azure.backup.PolicyVM;\nimport com.pulumi.azure.backup.PolicyVMArgs;\nimport com.pulumi.azure.backup.inputs.PolicyVMBackupArgs;\nimport com.pulumi.azure.backup.inputs.PolicyVMRetentionDailyArgs;\nimport com.pulumi.azure.backup.inputs.PolicyVMRetentionWeeklyArgs;\nimport com.pulumi.azure.backup.inputs.PolicyVMRetentionMonthlyArgs;\nimport com.pulumi.azure.backup.inputs.PolicyVMRetentionYearlyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"tfex-recovery_vault\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleVault = new Vault(\"exampleVault\", VaultArgs.builder()\n            .name(\"tfex-recovery-vault\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .sku(\"Standard\")\n            .build());\n\n        var examplePolicyVM = new PolicyVM(\"examplePolicyVM\", PolicyVMArgs.builder()\n            .name(\"tfex-recovery-vault-policy\")\n            .resourceGroupName(example.name())\n            .recoveryVaultName(exampleVault.name())\n            .timezone(\"UTC\")\n            .backup(PolicyVMBackupArgs.builder()\n                .frequency(\"Daily\")\n                .time(\"23:00\")\n                .build())\n            .retentionDaily(PolicyVMRetentionDailyArgs.builder()\n                .count(10)\n                .build())\n            .retentionWeekly(PolicyVMRetentionWeeklyArgs.builder()\n                .count(42)\n                .weekdays(                \n                    \"Sunday\",\n                    \"Wednesday\",\n                    \"Friday\",\n                    \"Saturday\")\n                .build())\n            .retentionMonthly(PolicyVMRetentionMonthlyArgs.builder()\n                .count(7)\n                .weekdays(                \n                    \"Sunday\",\n                    \"Wednesday\")\n                .weeks(                \n                    \"First\",\n                    \"Last\")\n                .build())\n            .retentionYearly(PolicyVMRetentionYearlyArgs.builder()\n                .count(77)\n                .weekdays(\"Sunday\")\n                .weeks(\"Last\")\n                .months(\"January\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: tfex-recovery_vault\n      location: West Europe\n  exampleVault:\n    type: azure:recoveryservices:Vault\n    name: example\n    properties:\n      name: tfex-recovery-vault\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      sku: Standard\n  examplePolicyVM:\n    type: azure:backup:PolicyVM\n    name: example\n    properties:\n      name: tfex-recovery-vault-policy\n      resourceGroupName: ${example.name}\n      recoveryVaultName: ${exampleVault.name}\n      timezone: UTC\n      backup:\n        frequency: Daily\n        time: 23:00\n      retentionDaily:\n        count: 10\n      retentionWeekly:\n        count: 42\n        weekdays:\n          - Sunday\n          - Wednesday\n          - Friday\n          - Saturday\n      retentionMonthly:\n        count: 7\n        weekdays:\n          - Sunday\n          - Wednesday\n        weeks:\n          - First\n          - Last\n      retentionYearly:\n        count: 77\n        weekdays:\n          - Sunday\n        weeks:\n          - Last\n        months:\n          - January\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nVM Backup Policies can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:backup/policyVM:PolicyVM policy1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.RecoveryServices/vaults/example-recovery-vault/backupPolicies/policy1\n```\n\n","properties":{"backup":{"$ref":"#/types/azure:backup/PolicyVMBackup:PolicyVMBackup","description":"Configures the Policy backup frequency, times \u0026 days as documented in the \u003cspan pulumi-lang-nodejs=\"`backup`\" pulumi-lang-dotnet=\"`Backup`\" pulumi-lang-go=\"`backup`\" pulumi-lang-python=\"`backup`\" pulumi-lang-yaml=\"`backup`\" pulumi-lang-java=\"`backup`\"\u003e`backup`\u003c/span\u003e block below.\n"},"instantRestoreResourceGroup":{"$ref":"#/types/azure:backup/PolicyVMInstantRestoreResourceGroup:PolicyVMInstantRestoreResourceGroup","description":"Specifies the instant restore resource group name as documented in the \u003cspan pulumi-lang-nodejs=\"`instantRestoreResourceGroup`\" pulumi-lang-dotnet=\"`InstantRestoreResourceGroup`\" pulumi-lang-go=\"`instantRestoreResourceGroup`\" pulumi-lang-python=\"`instant_restore_resource_group`\" pulumi-lang-yaml=\"`instantRestoreResourceGroup`\" pulumi-lang-java=\"`instantRestoreResourceGroup`\"\u003e`instant_restore_resource_group`\u003c/span\u003e block below.\n"},"instantRestoreRetentionDays":{"type":"integer","description":"Specifies the instant restore retention range in days. Possible values are between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`5`\" pulumi-lang-dotnet=\"`5`\" pulumi-lang-go=\"`5`\" pulumi-lang-python=\"`5`\" pulumi-lang-yaml=\"`5`\" pulumi-lang-java=\"`5`\"\u003e`5`\u003c/span\u003e when \u003cspan pulumi-lang-nodejs=\"`policyType`\" pulumi-lang-dotnet=\"`PolicyType`\" pulumi-lang-go=\"`policyType`\" pulumi-lang-python=\"`policy_type`\" pulumi-lang-yaml=\"`policyType`\" pulumi-lang-java=\"`policyType`\"\u003e`policy_type`\u003c/span\u003e is `V1`, and \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`30`\" pulumi-lang-dotnet=\"`30`\" pulumi-lang-go=\"`30`\" pulumi-lang-python=\"`30`\" pulumi-lang-yaml=\"`30`\" pulumi-lang-java=\"`30`\"\u003e`30`\u003c/span\u003e when \u003cspan pulumi-lang-nodejs=\"`policyType`\" pulumi-lang-dotnet=\"`PolicyType`\" pulumi-lang-go=\"`policyType`\" pulumi-lang-python=\"`policy_type`\" pulumi-lang-yaml=\"`policyType`\" pulumi-lang-java=\"`policyType`\"\u003e`policy_type`\u003c/span\u003e is `V2`.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`instantRestoreRetentionDays`\" pulumi-lang-dotnet=\"`InstantRestoreRetentionDays`\" pulumi-lang-go=\"`instantRestoreRetentionDays`\" pulumi-lang-python=\"`instant_restore_retention_days`\" pulumi-lang-yaml=\"`instantRestoreRetentionDays`\" pulumi-lang-java=\"`instantRestoreRetentionDays`\"\u003e`instant_restore_retention_days`\u003c/span\u003e **must** be set to \u003cspan pulumi-lang-nodejs=\"`5`\" pulumi-lang-dotnet=\"`5`\" pulumi-lang-go=\"`5`\" pulumi-lang-python=\"`5`\" pulumi-lang-yaml=\"`5`\" pulumi-lang-java=\"`5`\"\u003e`5`\u003c/span\u003e if the backup frequency is set to `Weekly`.\n"},"name":{"type":"string","description":"Specifies the name of the Backup Policy. Changing this forces a new resource to be created.\n"},"policyType":{"type":"string","description":"Type of the Backup Policy. Possible values are `V1` and `V2` where `V2` stands for the Enhanced Policy. Defaults to `V1`. Changing this forces a new resource to be created.\n"},"recoveryVaultName":{"type":"string","description":"Specifies the name of the Recovery Services Vault to use. Changing this forces a new resource to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the policy. Changing this forces a new resource to be created.\n"},"retentionDaily":{"$ref":"#/types/azure:backup/PolicyVMRetentionDaily:PolicyVMRetentionDaily","description":"Configures the policy daily retention as documented in the \u003cspan pulumi-lang-nodejs=\"`retentionDaily`\" pulumi-lang-dotnet=\"`RetentionDaily`\" pulumi-lang-go=\"`retentionDaily`\" pulumi-lang-python=\"`retention_daily`\" pulumi-lang-yaml=\"`retentionDaily`\" pulumi-lang-java=\"`retentionDaily`\"\u003e`retention_daily`\u003c/span\u003e block below. Required when backup frequency is `Daily`.\n"},"retentionMonthly":{"$ref":"#/types/azure:backup/PolicyVMRetentionMonthly:PolicyVMRetentionMonthly","description":"Configures the policy monthly retention as documented in the \u003cspan pulumi-lang-nodejs=\"`retentionMonthly`\" pulumi-lang-dotnet=\"`RetentionMonthly`\" pulumi-lang-go=\"`retentionMonthly`\" pulumi-lang-python=\"`retention_monthly`\" pulumi-lang-yaml=\"`retentionMonthly`\" pulumi-lang-java=\"`retentionMonthly`\"\u003e`retention_monthly`\u003c/span\u003e block below.\n"},"retentionWeekly":{"$ref":"#/types/azure:backup/PolicyVMRetentionWeekly:PolicyVMRetentionWeekly","description":"Configures the policy weekly retention as documented in the \u003cspan pulumi-lang-nodejs=\"`retentionWeekly`\" pulumi-lang-dotnet=\"`RetentionWeekly`\" pulumi-lang-go=\"`retentionWeekly`\" pulumi-lang-python=\"`retention_weekly`\" pulumi-lang-yaml=\"`retentionWeekly`\" pulumi-lang-java=\"`retentionWeekly`\"\u003e`retention_weekly`\u003c/span\u003e block below. Required when backup frequency is `Weekly`.\n"},"retentionYearly":{"$ref":"#/types/azure:backup/PolicyVMRetentionYearly:PolicyVMRetentionYearly","description":"Configures the policy yearly retention as documented in the \u003cspan pulumi-lang-nodejs=\"`retentionYearly`\" pulumi-lang-dotnet=\"`RetentionYearly`\" pulumi-lang-go=\"`retentionYearly`\" pulumi-lang-python=\"`retention_yearly`\" pulumi-lang-yaml=\"`retentionYearly`\" pulumi-lang-java=\"`retentionYearly`\"\u003e`retention_yearly`\u003c/span\u003e block below.\n"},"tieringPolicy":{"$ref":"#/types/azure:backup/PolicyVMTieringPolicy:PolicyVMTieringPolicy","description":"A \u003cspan pulumi-lang-nodejs=\"`tieringPolicy`\" pulumi-lang-dotnet=\"`TieringPolicy`\" pulumi-lang-go=\"`tieringPolicy`\" pulumi-lang-python=\"`tiering_policy`\" pulumi-lang-yaml=\"`tieringPolicy`\" pulumi-lang-java=\"`tieringPolicy`\"\u003e`tiering_policy`\u003c/span\u003e block as defined below.\n"},"timezone":{"type":"string","description":"Specifies the timezone. [the possible values are defined here](https://jackstromberg.com/2017/01/list-of-time-zones-consumed-by-azure/). Defaults to `UTC`\n"}},"required":["backup","instantRestoreRetentionDays","name","recoveryVaultName","resourceGroupName"],"inputProperties":{"backup":{"$ref":"#/types/azure:backup/PolicyVMBackup:PolicyVMBackup","description":"Configures the Policy backup frequency, times \u0026 days as documented in the \u003cspan pulumi-lang-nodejs=\"`backup`\" pulumi-lang-dotnet=\"`Backup`\" pulumi-lang-go=\"`backup`\" pulumi-lang-python=\"`backup`\" pulumi-lang-yaml=\"`backup`\" pulumi-lang-java=\"`backup`\"\u003e`backup`\u003c/span\u003e block below.\n"},"instantRestoreResourceGroup":{"$ref":"#/types/azure:backup/PolicyVMInstantRestoreResourceGroup:PolicyVMInstantRestoreResourceGroup","description":"Specifies the instant restore resource group name as documented in the \u003cspan pulumi-lang-nodejs=\"`instantRestoreResourceGroup`\" pulumi-lang-dotnet=\"`InstantRestoreResourceGroup`\" pulumi-lang-go=\"`instantRestoreResourceGroup`\" pulumi-lang-python=\"`instant_restore_resource_group`\" pulumi-lang-yaml=\"`instantRestoreResourceGroup`\" pulumi-lang-java=\"`instantRestoreResourceGroup`\"\u003e`instant_restore_resource_group`\u003c/span\u003e block below.\n"},"instantRestoreRetentionDays":{"type":"integer","description":"Specifies the instant restore retention range in days. Possible values are between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`5`\" pulumi-lang-dotnet=\"`5`\" pulumi-lang-go=\"`5`\" pulumi-lang-python=\"`5`\" pulumi-lang-yaml=\"`5`\" pulumi-lang-java=\"`5`\"\u003e`5`\u003c/span\u003e when \u003cspan pulumi-lang-nodejs=\"`policyType`\" pulumi-lang-dotnet=\"`PolicyType`\" pulumi-lang-go=\"`policyType`\" pulumi-lang-python=\"`policy_type`\" pulumi-lang-yaml=\"`policyType`\" pulumi-lang-java=\"`policyType`\"\u003e`policy_type`\u003c/span\u003e is `V1`, and \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`30`\" pulumi-lang-dotnet=\"`30`\" pulumi-lang-go=\"`30`\" pulumi-lang-python=\"`30`\" pulumi-lang-yaml=\"`30`\" pulumi-lang-java=\"`30`\"\u003e`30`\u003c/span\u003e when \u003cspan pulumi-lang-nodejs=\"`policyType`\" pulumi-lang-dotnet=\"`PolicyType`\" pulumi-lang-go=\"`policyType`\" pulumi-lang-python=\"`policy_type`\" pulumi-lang-yaml=\"`policyType`\" pulumi-lang-java=\"`policyType`\"\u003e`policy_type`\u003c/span\u003e is `V2`.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`instantRestoreRetentionDays`\" pulumi-lang-dotnet=\"`InstantRestoreRetentionDays`\" pulumi-lang-go=\"`instantRestoreRetentionDays`\" pulumi-lang-python=\"`instant_restore_retention_days`\" pulumi-lang-yaml=\"`instantRestoreRetentionDays`\" pulumi-lang-java=\"`instantRestoreRetentionDays`\"\u003e`instant_restore_retention_days`\u003c/span\u003e **must** be set to \u003cspan pulumi-lang-nodejs=\"`5`\" pulumi-lang-dotnet=\"`5`\" pulumi-lang-go=\"`5`\" pulumi-lang-python=\"`5`\" pulumi-lang-yaml=\"`5`\" pulumi-lang-java=\"`5`\"\u003e`5`\u003c/span\u003e if the backup frequency is set to `Weekly`.\n"},"name":{"type":"string","description":"Specifies the name of the Backup Policy. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"policyType":{"type":"string","description":"Type of the Backup Policy. Possible values are `V1` and `V2` where `V2` stands for the Enhanced Policy. Defaults to `V1`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"recoveryVaultName":{"type":"string","description":"Specifies the name of the Recovery Services Vault to use. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the policy. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"retentionDaily":{"$ref":"#/types/azure:backup/PolicyVMRetentionDaily:PolicyVMRetentionDaily","description":"Configures the policy daily retention as documented in the \u003cspan pulumi-lang-nodejs=\"`retentionDaily`\" pulumi-lang-dotnet=\"`RetentionDaily`\" pulumi-lang-go=\"`retentionDaily`\" pulumi-lang-python=\"`retention_daily`\" pulumi-lang-yaml=\"`retentionDaily`\" pulumi-lang-java=\"`retentionDaily`\"\u003e`retention_daily`\u003c/span\u003e block below. Required when backup frequency is `Daily`.\n"},"retentionMonthly":{"$ref":"#/types/azure:backup/PolicyVMRetentionMonthly:PolicyVMRetentionMonthly","description":"Configures the policy monthly retention as documented in the \u003cspan pulumi-lang-nodejs=\"`retentionMonthly`\" pulumi-lang-dotnet=\"`RetentionMonthly`\" pulumi-lang-go=\"`retentionMonthly`\" pulumi-lang-python=\"`retention_monthly`\" pulumi-lang-yaml=\"`retentionMonthly`\" pulumi-lang-java=\"`retentionMonthly`\"\u003e`retention_monthly`\u003c/span\u003e block below.\n"},"retentionWeekly":{"$ref":"#/types/azure:backup/PolicyVMRetentionWeekly:PolicyVMRetentionWeekly","description":"Configures the policy weekly retention as documented in the \u003cspan pulumi-lang-nodejs=\"`retentionWeekly`\" pulumi-lang-dotnet=\"`RetentionWeekly`\" pulumi-lang-go=\"`retentionWeekly`\" pulumi-lang-python=\"`retention_weekly`\" pulumi-lang-yaml=\"`retentionWeekly`\" pulumi-lang-java=\"`retentionWeekly`\"\u003e`retention_weekly`\u003c/span\u003e block below. Required when backup frequency is `Weekly`.\n"},"retentionYearly":{"$ref":"#/types/azure:backup/PolicyVMRetentionYearly:PolicyVMRetentionYearly","description":"Configures the policy yearly retention as documented in the \u003cspan pulumi-lang-nodejs=\"`retentionYearly`\" pulumi-lang-dotnet=\"`RetentionYearly`\" pulumi-lang-go=\"`retentionYearly`\" pulumi-lang-python=\"`retention_yearly`\" pulumi-lang-yaml=\"`retentionYearly`\" pulumi-lang-java=\"`retentionYearly`\"\u003e`retention_yearly`\u003c/span\u003e block below.\n"},"tieringPolicy":{"$ref":"#/types/azure:backup/PolicyVMTieringPolicy:PolicyVMTieringPolicy","description":"A \u003cspan pulumi-lang-nodejs=\"`tieringPolicy`\" pulumi-lang-dotnet=\"`TieringPolicy`\" pulumi-lang-go=\"`tieringPolicy`\" pulumi-lang-python=\"`tiering_policy`\" pulumi-lang-yaml=\"`tieringPolicy`\" pulumi-lang-java=\"`tieringPolicy`\"\u003e`tiering_policy`\u003c/span\u003e block as defined below.\n"},"timezone":{"type":"string","description":"Specifies the timezone. [the possible values are defined here](https://jackstromberg.com/2017/01/list-of-time-zones-consumed-by-azure/). Defaults to `UTC`\n"}},"requiredInputs":["backup","recoveryVaultName","resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering PolicyVM resources.\n","properties":{"backup":{"$ref":"#/types/azure:backup/PolicyVMBackup:PolicyVMBackup","description":"Configures the Policy backup frequency, times \u0026 days as documented in the \u003cspan pulumi-lang-nodejs=\"`backup`\" pulumi-lang-dotnet=\"`Backup`\" pulumi-lang-go=\"`backup`\" pulumi-lang-python=\"`backup`\" pulumi-lang-yaml=\"`backup`\" pulumi-lang-java=\"`backup`\"\u003e`backup`\u003c/span\u003e block below.\n"},"instantRestoreResourceGroup":{"$ref":"#/types/azure:backup/PolicyVMInstantRestoreResourceGroup:PolicyVMInstantRestoreResourceGroup","description":"Specifies the instant restore resource group name as documented in the \u003cspan pulumi-lang-nodejs=\"`instantRestoreResourceGroup`\" pulumi-lang-dotnet=\"`InstantRestoreResourceGroup`\" pulumi-lang-go=\"`instantRestoreResourceGroup`\" pulumi-lang-python=\"`instant_restore_resource_group`\" pulumi-lang-yaml=\"`instantRestoreResourceGroup`\" pulumi-lang-java=\"`instantRestoreResourceGroup`\"\u003e`instant_restore_resource_group`\u003c/span\u003e block below.\n"},"instantRestoreRetentionDays":{"type":"integer","description":"Specifies the instant restore retention range in days. Possible values are between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`5`\" pulumi-lang-dotnet=\"`5`\" pulumi-lang-go=\"`5`\" pulumi-lang-python=\"`5`\" pulumi-lang-yaml=\"`5`\" pulumi-lang-java=\"`5`\"\u003e`5`\u003c/span\u003e when \u003cspan pulumi-lang-nodejs=\"`policyType`\" pulumi-lang-dotnet=\"`PolicyType`\" pulumi-lang-go=\"`policyType`\" pulumi-lang-python=\"`policy_type`\" pulumi-lang-yaml=\"`policyType`\" pulumi-lang-java=\"`policyType`\"\u003e`policy_type`\u003c/span\u003e is `V1`, and \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`30`\" pulumi-lang-dotnet=\"`30`\" pulumi-lang-go=\"`30`\" pulumi-lang-python=\"`30`\" pulumi-lang-yaml=\"`30`\" pulumi-lang-java=\"`30`\"\u003e`30`\u003c/span\u003e when \u003cspan pulumi-lang-nodejs=\"`policyType`\" pulumi-lang-dotnet=\"`PolicyType`\" pulumi-lang-go=\"`policyType`\" pulumi-lang-python=\"`policy_type`\" pulumi-lang-yaml=\"`policyType`\" pulumi-lang-java=\"`policyType`\"\u003e`policy_type`\u003c/span\u003e is `V2`.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`instantRestoreRetentionDays`\" pulumi-lang-dotnet=\"`InstantRestoreRetentionDays`\" pulumi-lang-go=\"`instantRestoreRetentionDays`\" pulumi-lang-python=\"`instant_restore_retention_days`\" pulumi-lang-yaml=\"`instantRestoreRetentionDays`\" pulumi-lang-java=\"`instantRestoreRetentionDays`\"\u003e`instant_restore_retention_days`\u003c/span\u003e **must** be set to \u003cspan pulumi-lang-nodejs=\"`5`\" pulumi-lang-dotnet=\"`5`\" pulumi-lang-go=\"`5`\" pulumi-lang-python=\"`5`\" pulumi-lang-yaml=\"`5`\" pulumi-lang-java=\"`5`\"\u003e`5`\u003c/span\u003e if the backup frequency is set to `Weekly`.\n"},"name":{"type":"string","description":"Specifies the name of the Backup Policy. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"policyType":{"type":"string","description":"Type of the Backup Policy. Possible values are `V1` and `V2` where `V2` stands for the Enhanced Policy. Defaults to `V1`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"recoveryVaultName":{"type":"string","description":"Specifies the name of the Recovery Services Vault to use. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the policy. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"retentionDaily":{"$ref":"#/types/azure:backup/PolicyVMRetentionDaily:PolicyVMRetentionDaily","description":"Configures the policy daily retention as documented in the \u003cspan pulumi-lang-nodejs=\"`retentionDaily`\" pulumi-lang-dotnet=\"`RetentionDaily`\" pulumi-lang-go=\"`retentionDaily`\" pulumi-lang-python=\"`retention_daily`\" pulumi-lang-yaml=\"`retentionDaily`\" pulumi-lang-java=\"`retentionDaily`\"\u003e`retention_daily`\u003c/span\u003e block below. Required when backup frequency is `Daily`.\n"},"retentionMonthly":{"$ref":"#/types/azure:backup/PolicyVMRetentionMonthly:PolicyVMRetentionMonthly","description":"Configures the policy monthly retention as documented in the \u003cspan pulumi-lang-nodejs=\"`retentionMonthly`\" pulumi-lang-dotnet=\"`RetentionMonthly`\" pulumi-lang-go=\"`retentionMonthly`\" pulumi-lang-python=\"`retention_monthly`\" pulumi-lang-yaml=\"`retentionMonthly`\" pulumi-lang-java=\"`retentionMonthly`\"\u003e`retention_monthly`\u003c/span\u003e block below.\n"},"retentionWeekly":{"$ref":"#/types/azure:backup/PolicyVMRetentionWeekly:PolicyVMRetentionWeekly","description":"Configures the policy weekly retention as documented in the \u003cspan pulumi-lang-nodejs=\"`retentionWeekly`\" pulumi-lang-dotnet=\"`RetentionWeekly`\" pulumi-lang-go=\"`retentionWeekly`\" pulumi-lang-python=\"`retention_weekly`\" pulumi-lang-yaml=\"`retentionWeekly`\" pulumi-lang-java=\"`retentionWeekly`\"\u003e`retention_weekly`\u003c/span\u003e block below. Required when backup frequency is `Weekly`.\n"},"retentionYearly":{"$ref":"#/types/azure:backup/PolicyVMRetentionYearly:PolicyVMRetentionYearly","description":"Configures the policy yearly retention as documented in the \u003cspan pulumi-lang-nodejs=\"`retentionYearly`\" pulumi-lang-dotnet=\"`RetentionYearly`\" pulumi-lang-go=\"`retentionYearly`\" pulumi-lang-python=\"`retention_yearly`\" pulumi-lang-yaml=\"`retentionYearly`\" pulumi-lang-java=\"`retentionYearly`\"\u003e`retention_yearly`\u003c/span\u003e block below.\n"},"tieringPolicy":{"$ref":"#/types/azure:backup/PolicyVMTieringPolicy:PolicyVMTieringPolicy","description":"A \u003cspan pulumi-lang-nodejs=\"`tieringPolicy`\" pulumi-lang-dotnet=\"`TieringPolicy`\" pulumi-lang-go=\"`tieringPolicy`\" pulumi-lang-python=\"`tiering_policy`\" pulumi-lang-yaml=\"`tieringPolicy`\" pulumi-lang-java=\"`tieringPolicy`\"\u003e`tiering_policy`\u003c/span\u003e block as defined below.\n"},"timezone":{"type":"string","description":"Specifies the timezone. [the possible values are defined here](https://jackstromberg.com/2017/01/list-of-time-zones-consumed-by-azure/). Defaults to `UTC`\n"}},"type":"object"}},"azure:backup/policyVMWorkload:PolicyVMWorkload":{"description":"Manages an Azure VM Workload Backup Policy within a Recovery Services vault.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-bpvmw\",\n    location: \"West Europe\",\n});\nconst exampleVault = new azure.recoveryservices.Vault(\"example\", {\n    name: \"example-rsv\",\n    location: example.location,\n    resourceGroupName: example.name,\n    sku: \"Standard\",\n    softDeleteEnabled: false,\n});\nconst examplePolicyVMWorkload = new azure.backup.PolicyVMWorkload(\"example\", {\n    name: \"example-bpvmw\",\n    resourceGroupName: example.name,\n    recoveryVaultName: exampleVault.name,\n    workloadType: \"SQLDataBase\",\n    settings: {\n        timeZone: \"UTC\",\n        compressionEnabled: false,\n    },\n    protectionPolicies: [\n        {\n            policyType: \"Full\",\n            backup: {\n                frequency: \"Daily\",\n                time: \"15:00\",\n            },\n            retentionDaily: {\n                count: 8,\n            },\n        },\n        {\n            policyType: \"Log\",\n            backup: {\n                frequencyInMinutes: 15,\n            },\n            simpleRetention: {\n                count: 8,\n            },\n        },\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-bpvmw\",\n    location=\"West Europe\")\nexample_vault = azure.recoveryservices.Vault(\"example\",\n    name=\"example-rsv\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku=\"Standard\",\n    soft_delete_enabled=False)\nexample_policy_vm_workload = azure.backup.PolicyVMWorkload(\"example\",\n    name=\"example-bpvmw\",\n    resource_group_name=example.name,\n    recovery_vault_name=example_vault.name,\n    workload_type=\"SQLDataBase\",\n    settings={\n        \"time_zone\": \"UTC\",\n        \"compression_enabled\": False,\n    },\n    protection_policies=[\n        {\n            \"policy_type\": \"Full\",\n            \"backup\": {\n                \"frequency\": \"Daily\",\n                \"time\": \"15:00\",\n            },\n            \"retention_daily\": {\n                \"count\": 8,\n            },\n        },\n        {\n            \"policy_type\": \"Log\",\n            \"backup\": {\n                \"frequency_in_minutes\": 15,\n            },\n            \"simple_retention\": {\n                \"count\": 8,\n            },\n        },\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-bpvmw\",\n        Location = \"West Europe\",\n    });\n\n    var exampleVault = new Azure.RecoveryServices.Vault(\"example\", new()\n    {\n        Name = \"example-rsv\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Sku = \"Standard\",\n        SoftDeleteEnabled = false,\n    });\n\n    var examplePolicyVMWorkload = new Azure.Backup.PolicyVMWorkload(\"example\", new()\n    {\n        Name = \"example-bpvmw\",\n        ResourceGroupName = example.Name,\n        RecoveryVaultName = exampleVault.Name,\n        WorkloadType = \"SQLDataBase\",\n        Settings = new Azure.Backup.Inputs.PolicyVMWorkloadSettingsArgs\n        {\n            TimeZone = \"UTC\",\n            CompressionEnabled = false,\n        },\n        ProtectionPolicies = new[]\n        {\n            new Azure.Backup.Inputs.PolicyVMWorkloadProtectionPolicyArgs\n            {\n                PolicyType = \"Full\",\n                Backup = new Azure.Backup.Inputs.PolicyVMWorkloadProtectionPolicyBackupArgs\n                {\n                    Frequency = \"Daily\",\n                    Time = \"15:00\",\n                },\n                RetentionDaily = new Azure.Backup.Inputs.PolicyVMWorkloadProtectionPolicyRetentionDailyArgs\n                {\n                    Count = 8,\n                },\n            },\n            new Azure.Backup.Inputs.PolicyVMWorkloadProtectionPolicyArgs\n            {\n                PolicyType = \"Log\",\n                Backup = new Azure.Backup.Inputs.PolicyVMWorkloadProtectionPolicyBackupArgs\n                {\n                    FrequencyInMinutes = 15,\n                },\n                SimpleRetention = new Azure.Backup.Inputs.PolicyVMWorkloadProtectionPolicySimpleRetentionArgs\n                {\n                    Count = 8,\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/backup\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/recoveryservices\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-bpvmw\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVault, err := recoveryservices.NewVault(ctx, \"example\", \u0026recoveryservices.VaultArgs{\n\t\t\tName:              pulumi.String(\"example-rsv\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSku:               pulumi.String(\"Standard\"),\n\t\t\tSoftDeleteEnabled: pulumi.Bool(false),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = backup.NewPolicyVMWorkload(ctx, \"example\", \u0026backup.PolicyVMWorkloadArgs{\n\t\t\tName:              pulumi.String(\"example-bpvmw\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tRecoveryVaultName: exampleVault.Name,\n\t\t\tWorkloadType:      pulumi.String(\"SQLDataBase\"),\n\t\t\tSettings: \u0026backup.PolicyVMWorkloadSettingsArgs{\n\t\t\t\tTimeZone:           pulumi.String(\"UTC\"),\n\t\t\t\tCompressionEnabled: pulumi.Bool(false),\n\t\t\t},\n\t\t\tProtectionPolicies: backup.PolicyVMWorkloadProtectionPolicyArray{\n\t\t\t\t\u0026backup.PolicyVMWorkloadProtectionPolicyArgs{\n\t\t\t\t\tPolicyType: pulumi.String(\"Full\"),\n\t\t\t\t\tBackup: \u0026backup.PolicyVMWorkloadProtectionPolicyBackupArgs{\n\t\t\t\t\t\tFrequency: pulumi.String(\"Daily\"),\n\t\t\t\t\t\tTime:      pulumi.String(\"15:00\"),\n\t\t\t\t\t},\n\t\t\t\t\tRetentionDaily: \u0026backup.PolicyVMWorkloadProtectionPolicyRetentionDailyArgs{\n\t\t\t\t\t\tCount: pulumi.Int(8),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026backup.PolicyVMWorkloadProtectionPolicyArgs{\n\t\t\t\t\tPolicyType: pulumi.String(\"Log\"),\n\t\t\t\t\tBackup: \u0026backup.PolicyVMWorkloadProtectionPolicyBackupArgs{\n\t\t\t\t\t\tFrequencyInMinutes: pulumi.Int(15),\n\t\t\t\t\t},\n\t\t\t\t\tSimpleRetention: \u0026backup.PolicyVMWorkloadProtectionPolicySimpleRetentionArgs{\n\t\t\t\t\t\tCount: pulumi.Int(8),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.recoveryservices.Vault;\nimport com.pulumi.azure.recoveryservices.VaultArgs;\nimport com.pulumi.azure.backup.PolicyVMWorkload;\nimport com.pulumi.azure.backup.PolicyVMWorkloadArgs;\nimport com.pulumi.azure.backup.inputs.PolicyVMWorkloadSettingsArgs;\nimport com.pulumi.azure.backup.inputs.PolicyVMWorkloadProtectionPolicyArgs;\nimport com.pulumi.azure.backup.inputs.PolicyVMWorkloadProtectionPolicyBackupArgs;\nimport com.pulumi.azure.backup.inputs.PolicyVMWorkloadProtectionPolicyRetentionDailyArgs;\nimport com.pulumi.azure.backup.inputs.PolicyVMWorkloadProtectionPolicySimpleRetentionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-bpvmw\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleVault = new Vault(\"exampleVault\", VaultArgs.builder()\n            .name(\"example-rsv\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .sku(\"Standard\")\n            .softDeleteEnabled(false)\n            .build());\n\n        var examplePolicyVMWorkload = new PolicyVMWorkload(\"examplePolicyVMWorkload\", PolicyVMWorkloadArgs.builder()\n            .name(\"example-bpvmw\")\n            .resourceGroupName(example.name())\n            .recoveryVaultName(exampleVault.name())\n            .workloadType(\"SQLDataBase\")\n            .settings(PolicyVMWorkloadSettingsArgs.builder()\n                .timeZone(\"UTC\")\n                .compressionEnabled(false)\n                .build())\n            .protectionPolicies(            \n                PolicyVMWorkloadProtectionPolicyArgs.builder()\n                    .policyType(\"Full\")\n                    .backup(PolicyVMWorkloadProtectionPolicyBackupArgs.builder()\n                        .frequency(\"Daily\")\n                        .time(\"15:00\")\n                        .build())\n                    .retentionDaily(PolicyVMWorkloadProtectionPolicyRetentionDailyArgs.builder()\n                        .count(8)\n                        .build())\n                    .build(),\n                PolicyVMWorkloadProtectionPolicyArgs.builder()\n                    .policyType(\"Log\")\n                    .backup(PolicyVMWorkloadProtectionPolicyBackupArgs.builder()\n                        .frequencyInMinutes(15)\n                        .build())\n                    .simpleRetention(PolicyVMWorkloadProtectionPolicySimpleRetentionArgs.builder()\n                        .count(8)\n                        .build())\n                    .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-bpvmw\n      location: West Europe\n  exampleVault:\n    type: azure:recoveryservices:Vault\n    name: example\n    properties:\n      name: example-rsv\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      sku: Standard\n      softDeleteEnabled: false\n  examplePolicyVMWorkload:\n    type: azure:backup:PolicyVMWorkload\n    name: example\n    properties:\n      name: example-bpvmw\n      resourceGroupName: ${example.name}\n      recoveryVaultName: ${exampleVault.name}\n      workloadType: SQLDataBase\n      settings:\n        timeZone: UTC\n        compressionEnabled: false\n      protectionPolicies:\n        - policyType: Full\n          backup:\n            frequency: Daily\n            time: 15:00\n          retentionDaily:\n            count: 8\n        - policyType: Log\n          backup:\n            frequencyInMinutes: 15\n          simpleRetention:\n            count: 8\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nAzure VM Workload Backup Policies can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:backup/policyVMWorkload:PolicyVMWorkload policy1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.RecoveryServices/vaults/vault1/backupPolicies/policy1\n```\n\n","properties":{"name":{"type":"string","description":"The name of the VM Workload Backup Policy. Changing this forces a new resource to be created.\n"},"protectionPolicies":{"type":"array","items":{"$ref":"#/types/azure:backup/PolicyVMWorkloadProtectionPolicy:PolicyVMWorkloadProtectionPolicy"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`protectionPolicy`\" pulumi-lang-dotnet=\"`ProtectionPolicy`\" pulumi-lang-go=\"`protectionPolicy`\" pulumi-lang-python=\"`protection_policy`\" pulumi-lang-yaml=\"`protectionPolicy`\" pulumi-lang-java=\"`protectionPolicy`\"\u003e`protection_policy`\u003c/span\u003e blocks as defined below.\n"},"recoveryVaultName":{"type":"string","description":"The name of the Recovery Services Vault to use. Changing this forces a new resource to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the VM Workload Backup Policy. Changing this forces a new resource to be created.\n"},"settings":{"$ref":"#/types/azure:backup/PolicyVMWorkloadSettings:PolicyVMWorkloadSettings","description":"A \u003cspan pulumi-lang-nodejs=\"`settings`\" pulumi-lang-dotnet=\"`Settings`\" pulumi-lang-go=\"`settings`\" pulumi-lang-python=\"`settings`\" pulumi-lang-yaml=\"`settings`\" pulumi-lang-java=\"`settings`\"\u003e`settings`\u003c/span\u003e block as defined below.\n"},"workloadType":{"type":"string","description":"The VM Workload type for the Backup Policy. Possible values are `SQLDataBase` and `SAPHanaDatabase`. Changing this forces a new resource to be created.\n"}},"required":["name","protectionPolicies","recoveryVaultName","resourceGroupName","settings","workloadType"],"inputProperties":{"name":{"type":"string","description":"The name of the VM Workload Backup Policy. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"protectionPolicies":{"type":"array","items":{"$ref":"#/types/azure:backup/PolicyVMWorkloadProtectionPolicy:PolicyVMWorkloadProtectionPolicy"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`protectionPolicy`\" pulumi-lang-dotnet=\"`ProtectionPolicy`\" pulumi-lang-go=\"`protectionPolicy`\" pulumi-lang-python=\"`protection_policy`\" pulumi-lang-yaml=\"`protectionPolicy`\" pulumi-lang-java=\"`protectionPolicy`\"\u003e`protection_policy`\u003c/span\u003e blocks as defined below.\n"},"recoveryVaultName":{"type":"string","description":"The name of the Recovery Services Vault to use. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the VM Workload Backup Policy. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"settings":{"$ref":"#/types/azure:backup/PolicyVMWorkloadSettings:PolicyVMWorkloadSettings","description":"A \u003cspan pulumi-lang-nodejs=\"`settings`\" pulumi-lang-dotnet=\"`Settings`\" pulumi-lang-go=\"`settings`\" pulumi-lang-python=\"`settings`\" pulumi-lang-yaml=\"`settings`\" pulumi-lang-java=\"`settings`\"\u003e`settings`\u003c/span\u003e block as defined below.\n"},"workloadType":{"type":"string","description":"The VM Workload type for the Backup Policy. Possible values are `SQLDataBase` and `SAPHanaDatabase`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["protectionPolicies","recoveryVaultName","resourceGroupName","settings","workloadType"],"stateInputs":{"description":"Input properties used for looking up and filtering PolicyVMWorkload resources.\n","properties":{"name":{"type":"string","description":"The name of the VM Workload Backup Policy. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"protectionPolicies":{"type":"array","items":{"$ref":"#/types/azure:backup/PolicyVMWorkloadProtectionPolicy:PolicyVMWorkloadProtectionPolicy"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`protectionPolicy`\" pulumi-lang-dotnet=\"`ProtectionPolicy`\" pulumi-lang-go=\"`protectionPolicy`\" pulumi-lang-python=\"`protection_policy`\" pulumi-lang-yaml=\"`protectionPolicy`\" pulumi-lang-java=\"`protectionPolicy`\"\u003e`protection_policy`\u003c/span\u003e blocks as defined below.\n"},"recoveryVaultName":{"type":"string","description":"The name of the Recovery Services Vault to use. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the VM Workload Backup Policy. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"settings":{"$ref":"#/types/azure:backup/PolicyVMWorkloadSettings:PolicyVMWorkloadSettings","description":"A \u003cspan pulumi-lang-nodejs=\"`settings`\" pulumi-lang-dotnet=\"`Settings`\" pulumi-lang-go=\"`settings`\" pulumi-lang-python=\"`settings`\" pulumi-lang-yaml=\"`settings`\" pulumi-lang-java=\"`settings`\"\u003e`settings`\u003c/span\u003e block as defined below.\n"},"workloadType":{"type":"string","description":"The VM Workload type for the Backup Policy. Possible values are `SQLDataBase` and `SAPHanaDatabase`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:backup/protectedFileShare:ProtectedFileShare":{"description":"Manages an Azure Backup Protected File Share to enable backups for file shares within an Azure Storage Account\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"tfex-recovery_vault\",\n    location: \"West Europe\",\n});\nconst vault = new azure.recoveryservices.Vault(\"vault\", {\n    name: \"tfex-recovery-vault\",\n    location: example.location,\n    resourceGroupName: example.name,\n    sku: \"Standard\",\n});\nconst sa = new azure.storage.Account(\"sa\", {\n    name: \"examplesa\",\n    location: example.location,\n    resourceGroupName: example.name,\n    accountTier: \"Standard\",\n    accountReplicationType: \"LRS\",\n});\nconst exampleShare = new azure.storage.Share(\"example\", {\n    name: \"example-share\",\n    storageAccountName: sa.name,\n    quota: 1,\n});\nconst protection_container = new azure.backup.ContainerStorageAccount(\"protection-container\", {\n    resourceGroupName: example.name,\n    recoveryVaultName: vault.name,\n    storageAccountId: sa.id,\n});\nconst examplePolicyFileShare = new azure.backup.PolicyFileShare(\"example\", {\n    name: \"tfex-recovery-vault-policy\",\n    resourceGroupName: example.name,\n    recoveryVaultName: vault.name,\n    backup: {\n        frequency: \"Daily\",\n        time: \"23:00\",\n    },\n    retentionDaily: {\n        count: 10,\n    },\n});\nconst share1 = new azure.backup.ProtectedFileShare(\"share1\", {\n    resourceGroupName: example.name,\n    recoveryVaultName: vault.name,\n    sourceStorageAccountId: protection_container.storageAccountId,\n    sourceFileShareName: exampleShare.name,\n    backupPolicyId: examplePolicyFileShare.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"tfex-recovery_vault\",\n    location=\"West Europe\")\nvault = azure.recoveryservices.Vault(\"vault\",\n    name=\"tfex-recovery-vault\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku=\"Standard\")\nsa = azure.storage.Account(\"sa\",\n    name=\"examplesa\",\n    location=example.location,\n    resource_group_name=example.name,\n    account_tier=\"Standard\",\n    account_replication_type=\"LRS\")\nexample_share = azure.storage.Share(\"example\",\n    name=\"example-share\",\n    storage_account_name=sa.name,\n    quota=1)\nprotection_container = azure.backup.ContainerStorageAccount(\"protection-container\",\n    resource_group_name=example.name,\n    recovery_vault_name=vault.name,\n    storage_account_id=sa.id)\nexample_policy_file_share = azure.backup.PolicyFileShare(\"example\",\n    name=\"tfex-recovery-vault-policy\",\n    resource_group_name=example.name,\n    recovery_vault_name=vault.name,\n    backup={\n        \"frequency\": \"Daily\",\n        \"time\": \"23:00\",\n    },\n    retention_daily={\n        \"count\": 10,\n    })\nshare1 = azure.backup.ProtectedFileShare(\"share1\",\n    resource_group_name=example.name,\n    recovery_vault_name=vault.name,\n    source_storage_account_id=protection_container.storage_account_id,\n    source_file_share_name=example_share.name,\n    backup_policy_id=example_policy_file_share.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"tfex-recovery_vault\",\n        Location = \"West Europe\",\n    });\n\n    var vault = new Azure.RecoveryServices.Vault(\"vault\", new()\n    {\n        Name = \"tfex-recovery-vault\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Sku = \"Standard\",\n    });\n\n    var sa = new Azure.Storage.Account(\"sa\", new()\n    {\n        Name = \"examplesa\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        AccountTier = \"Standard\",\n        AccountReplicationType = \"LRS\",\n    });\n\n    var exampleShare = new Azure.Storage.Share(\"example\", new()\n    {\n        Name = \"example-share\",\n        StorageAccountName = sa.Name,\n        Quota = 1,\n    });\n\n    var protection_container = new Azure.Backup.ContainerStorageAccount(\"protection-container\", new()\n    {\n        ResourceGroupName = example.Name,\n        RecoveryVaultName = vault.Name,\n        StorageAccountId = sa.Id,\n    });\n\n    var examplePolicyFileShare = new Azure.Backup.PolicyFileShare(\"example\", new()\n    {\n        Name = \"tfex-recovery-vault-policy\",\n        ResourceGroupName = example.Name,\n        RecoveryVaultName = vault.Name,\n        Backup = new Azure.Backup.Inputs.PolicyFileShareBackupArgs\n        {\n            Frequency = \"Daily\",\n            Time = \"23:00\",\n        },\n        RetentionDaily = new Azure.Backup.Inputs.PolicyFileShareRetentionDailyArgs\n        {\n            Count = 10,\n        },\n    });\n\n    var share1 = new Azure.Backup.ProtectedFileShare(\"share1\", new()\n    {\n        ResourceGroupName = example.Name,\n        RecoveryVaultName = vault.Name,\n        SourceStorageAccountId = protection_container.StorageAccountId,\n        SourceFileShareName = exampleShare.Name,\n        BackupPolicyId = examplePolicyFileShare.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/backup\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/recoveryservices\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"tfex-recovery_vault\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvault, err := recoveryservices.NewVault(ctx, \"vault\", \u0026recoveryservices.VaultArgs{\n\t\t\tName:              pulumi.String(\"tfex-recovery-vault\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSku:               pulumi.String(\"Standard\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsa, err := storage.NewAccount(ctx, \"sa\", \u0026storage.AccountArgs{\n\t\t\tName:                   pulumi.String(\"examplesa\"),\n\t\t\tLocation:               example.Location,\n\t\t\tResourceGroupName:      example.Name,\n\t\t\tAccountTier:            pulumi.String(\"Standard\"),\n\t\t\tAccountReplicationType: pulumi.String(\"LRS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleShare, err := storage.NewShare(ctx, \"example\", \u0026storage.ShareArgs{\n\t\t\tName:               pulumi.String(\"example-share\"),\n\t\t\tStorageAccountName: sa.Name,\n\t\t\tQuota:              pulumi.Int(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tprotection_container, err := backup.NewContainerStorageAccount(ctx, \"protection-container\", \u0026backup.ContainerStorageAccountArgs{\n\t\t\tResourceGroupName: example.Name,\n\t\t\tRecoveryVaultName: vault.Name,\n\t\t\tStorageAccountId:  sa.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texamplePolicyFileShare, err := backup.NewPolicyFileShare(ctx, \"example\", \u0026backup.PolicyFileShareArgs{\n\t\t\tName:              pulumi.String(\"tfex-recovery-vault-policy\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tRecoveryVaultName: vault.Name,\n\t\t\tBackup: \u0026backup.PolicyFileShareBackupArgs{\n\t\t\t\tFrequency: pulumi.String(\"Daily\"),\n\t\t\t\tTime:      pulumi.String(\"23:00\"),\n\t\t\t},\n\t\t\tRetentionDaily: \u0026backup.PolicyFileShareRetentionDailyArgs{\n\t\t\t\tCount: pulumi.Int(10),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = backup.NewProtectedFileShare(ctx, \"share1\", \u0026backup.ProtectedFileShareArgs{\n\t\t\tResourceGroupName:      example.Name,\n\t\t\tRecoveryVaultName:      vault.Name,\n\t\t\tSourceStorageAccountId: protection_container.StorageAccountId,\n\t\t\tSourceFileShareName:    exampleShare.Name,\n\t\t\tBackupPolicyId:         examplePolicyFileShare.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.recoveryservices.Vault;\nimport com.pulumi.azure.recoveryservices.VaultArgs;\nimport com.pulumi.azure.storage.Account;\nimport com.pulumi.azure.storage.AccountArgs;\nimport com.pulumi.azure.storage.Share;\nimport com.pulumi.azure.storage.ShareArgs;\nimport com.pulumi.azure.backup.ContainerStorageAccount;\nimport com.pulumi.azure.backup.ContainerStorageAccountArgs;\nimport com.pulumi.azure.backup.PolicyFileShare;\nimport com.pulumi.azure.backup.PolicyFileShareArgs;\nimport com.pulumi.azure.backup.inputs.PolicyFileShareBackupArgs;\nimport com.pulumi.azure.backup.inputs.PolicyFileShareRetentionDailyArgs;\nimport com.pulumi.azure.backup.ProtectedFileShare;\nimport com.pulumi.azure.backup.ProtectedFileShareArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"tfex-recovery_vault\")\n            .location(\"West Europe\")\n            .build());\n\n        var vault = new Vault(\"vault\", VaultArgs.builder()\n            .name(\"tfex-recovery-vault\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .sku(\"Standard\")\n            .build());\n\n        var sa = new Account(\"sa\", AccountArgs.builder()\n            .name(\"examplesa\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .accountTier(\"Standard\")\n            .accountReplicationType(\"LRS\")\n            .build());\n\n        var exampleShare = new Share(\"exampleShare\", ShareArgs.builder()\n            .name(\"example-share\")\n            .storageAccountName(sa.name())\n            .quota(1)\n            .build());\n\n        var protection_container = new ContainerStorageAccount(\"protection-container\", ContainerStorageAccountArgs.builder()\n            .resourceGroupName(example.name())\n            .recoveryVaultName(vault.name())\n            .storageAccountId(sa.id())\n            .build());\n\n        var examplePolicyFileShare = new PolicyFileShare(\"examplePolicyFileShare\", PolicyFileShareArgs.builder()\n            .name(\"tfex-recovery-vault-policy\")\n            .resourceGroupName(example.name())\n            .recoveryVaultName(vault.name())\n            .backup(PolicyFileShareBackupArgs.builder()\n                .frequency(\"Daily\")\n                .time(\"23:00\")\n                .build())\n            .retentionDaily(PolicyFileShareRetentionDailyArgs.builder()\n                .count(10)\n                .build())\n            .build());\n\n        var share1 = new ProtectedFileShare(\"share1\", ProtectedFileShareArgs.builder()\n            .resourceGroupName(example.name())\n            .recoveryVaultName(vault.name())\n            .sourceStorageAccountId(protection_container.storageAccountId())\n            .sourceFileShareName(exampleShare.name())\n            .backupPolicyId(examplePolicyFileShare.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: tfex-recovery_vault\n      location: West Europe\n  vault:\n    type: azure:recoveryservices:Vault\n    properties:\n      name: tfex-recovery-vault\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      sku: Standard\n  sa:\n    type: azure:storage:Account\n    properties:\n      name: examplesa\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      accountTier: Standard\n      accountReplicationType: LRS\n  exampleShare:\n    type: azure:storage:Share\n    name: example\n    properties:\n      name: example-share\n      storageAccountName: ${sa.name}\n      quota: 1\n  protection-container:\n    type: azure:backup:ContainerStorageAccount\n    properties:\n      resourceGroupName: ${example.name}\n      recoveryVaultName: ${vault.name}\n      storageAccountId: ${sa.id}\n  examplePolicyFileShare:\n    type: azure:backup:PolicyFileShare\n    name: example\n    properties:\n      name: tfex-recovery-vault-policy\n      resourceGroupName: ${example.name}\n      recoveryVaultName: ${vault.name}\n      backup:\n        frequency: Daily\n        time: 23:00\n      retentionDaily:\n        count: 10\n  share1:\n    type: azure:backup:ProtectedFileShare\n    properties:\n      resourceGroupName: ${example.name}\n      recoveryVaultName: ${vault.name}\n      sourceStorageAccountId: ${[\"protection-container\"].storageAccountId}\n      sourceFileShareName: ${exampleShare.name}\n      backupPolicyId: ${examplePolicyFileShare.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nAzure Backup Protected File Shares can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:backup/protectedFileShare:ProtectedFileShare item1 \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.RecoveryServices/vaults/example-recovery-vault/backupFabrics/Azure/protectionContainers/StorageContainer;storage;group2;example-storage-account/protectedItems/AzureFileShare;3f6e3108a45793581bcbd1c61c87a3b2ceeb4ff4bc02a95ce9d1022b23722935\"\n```\n\n\u003e **Note:** The ID requires quoting as there are semicolons. This user unfriendly ID can be found in the Deployments of the used resourcegroup, look for an Deployment which starts with `ConfigureAFSProtection-`, click then `Go to resource`.\n\n","properties":{"backupPolicyId":{"type":"string","description":"Specifies the ID of the backup policy to use. The policy must be an Azure File Share backup policy. Other types are not supported.\n"},"recoveryVaultName":{"type":"string","description":"Specifies the name of the Recovery Services Vault to use. Changing this forces a new resource to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the Azure Backup Protected File Share. Changing this forces a new resource to be created.\n"},"sourceFileShareName":{"type":"string","description":"Specifies the name of the file share to backup. Changing this forces a new resource to be created.\n"},"sourceStorageAccountId":{"type":"string","description":"Specifies the ID of the storage account of the file share to backup. Changing this forces a new resource to be created.\n\n\u003e **Note:** The storage account must already be registered with the recovery vault in order to backup shares within the account. You can use the \u003cspan pulumi-lang-nodejs=\"`azure.backup.ContainerStorageAccount`\" pulumi-lang-dotnet=\"`azure.backup.ContainerStorageAccount`\" pulumi-lang-go=\"`backup.ContainerStorageAccount`\" pulumi-lang-python=\"`backup.ContainerStorageAccount`\" pulumi-lang-yaml=\"`azure.backup.ContainerStorageAccount`\" pulumi-lang-java=\"`azure.backup.ContainerStorageAccount`\"\u003e`azure.backup.ContainerStorageAccount`\u003c/span\u003e resource or the [Register-AzRecoveryServicesBackupContainer PowerShell cmdlet](https://docs.microsoft.com/powershell/module/az.recoveryservices/register-azrecoveryservicesbackupcontainer?view=azps-3.2.0) to register a storage account with a vault. When using the \u003cspan pulumi-lang-nodejs=\"`azure.backup.ContainerStorageAccount`\" pulumi-lang-dotnet=\"`azure.backup.ContainerStorageAccount`\" pulumi-lang-go=\"`backup.ContainerStorageAccount`\" pulumi-lang-python=\"`backup.ContainerStorageAccount`\" pulumi-lang-yaml=\"`azure.backup.ContainerStorageAccount`\" pulumi-lang-java=\"`azure.backup.ContainerStorageAccount`\"\u003e`azure.backup.ContainerStorageAccount`\u003c/span\u003e resource to register, you can use \u003cspan pulumi-lang-nodejs=\"`dependsOn`\" pulumi-lang-dotnet=\"`DependsOn`\" pulumi-lang-go=\"`dependsOn`\" pulumi-lang-python=\"`depends_on`\" pulumi-lang-yaml=\"`dependsOn`\" pulumi-lang-java=\"`dependsOn`\"\u003e`depends_on`\u003c/span\u003e to explicitly declare the dependency. It will make sure that the registration is completed before creating the \u003cspan pulumi-lang-nodejs=\"`azure.backup.ProtectedFileShare`\" pulumi-lang-dotnet=\"`azure.backup.ProtectedFileShare`\" pulumi-lang-go=\"`backup.ProtectedFileShare`\" pulumi-lang-python=\"`backup.ProtectedFileShare`\" pulumi-lang-yaml=\"`azure.backup.ProtectedFileShare`\" pulumi-lang-java=\"`azure.backup.ProtectedFileShare`\"\u003e`azure.backup.ProtectedFileShare`\u003c/span\u003e resource.\n"}},"required":["backupPolicyId","recoveryVaultName","resourceGroupName","sourceFileShareName","sourceStorageAccountId"],"inputProperties":{"backupPolicyId":{"type":"string","description":"Specifies the ID of the backup policy to use. The policy must be an Azure File Share backup policy. Other types are not supported.\n"},"recoveryVaultName":{"type":"string","description":"Specifies the name of the Recovery Services Vault to use. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the Azure Backup Protected File Share. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sourceFileShareName":{"type":"string","description":"Specifies the name of the file share to backup. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sourceStorageAccountId":{"type":"string","description":"Specifies the ID of the storage account of the file share to backup. Changing this forces a new resource to be created.\n\n\u003e **Note:** The storage account must already be registered with the recovery vault in order to backup shares within the account. You can use the \u003cspan pulumi-lang-nodejs=\"`azure.backup.ContainerStorageAccount`\" pulumi-lang-dotnet=\"`azure.backup.ContainerStorageAccount`\" pulumi-lang-go=\"`backup.ContainerStorageAccount`\" pulumi-lang-python=\"`backup.ContainerStorageAccount`\" pulumi-lang-yaml=\"`azure.backup.ContainerStorageAccount`\" pulumi-lang-java=\"`azure.backup.ContainerStorageAccount`\"\u003e`azure.backup.ContainerStorageAccount`\u003c/span\u003e resource or the [Register-AzRecoveryServicesBackupContainer PowerShell cmdlet](https://docs.microsoft.com/powershell/module/az.recoveryservices/register-azrecoveryservicesbackupcontainer?view=azps-3.2.0) to register a storage account with a vault. When using the \u003cspan pulumi-lang-nodejs=\"`azure.backup.ContainerStorageAccount`\" pulumi-lang-dotnet=\"`azure.backup.ContainerStorageAccount`\" pulumi-lang-go=\"`backup.ContainerStorageAccount`\" pulumi-lang-python=\"`backup.ContainerStorageAccount`\" pulumi-lang-yaml=\"`azure.backup.ContainerStorageAccount`\" pulumi-lang-java=\"`azure.backup.ContainerStorageAccount`\"\u003e`azure.backup.ContainerStorageAccount`\u003c/span\u003e resource to register, you can use \u003cspan pulumi-lang-nodejs=\"`dependsOn`\" pulumi-lang-dotnet=\"`DependsOn`\" pulumi-lang-go=\"`dependsOn`\" pulumi-lang-python=\"`depends_on`\" pulumi-lang-yaml=\"`dependsOn`\" pulumi-lang-java=\"`dependsOn`\"\u003e`depends_on`\u003c/span\u003e to explicitly declare the dependency. It will make sure that the registration is completed before creating the \u003cspan pulumi-lang-nodejs=\"`azure.backup.ProtectedFileShare`\" pulumi-lang-dotnet=\"`azure.backup.ProtectedFileShare`\" pulumi-lang-go=\"`backup.ProtectedFileShare`\" pulumi-lang-python=\"`backup.ProtectedFileShare`\" pulumi-lang-yaml=\"`azure.backup.ProtectedFileShare`\" pulumi-lang-java=\"`azure.backup.ProtectedFileShare`\"\u003e`azure.backup.ProtectedFileShare`\u003c/span\u003e resource.\n","willReplaceOnChanges":true}},"requiredInputs":["backupPolicyId","recoveryVaultName","resourceGroupName","sourceFileShareName","sourceStorageAccountId"],"stateInputs":{"description":"Input properties used for looking up and filtering ProtectedFileShare resources.\n","properties":{"backupPolicyId":{"type":"string","description":"Specifies the ID of the backup policy to use. The policy must be an Azure File Share backup policy. Other types are not supported.\n"},"recoveryVaultName":{"type":"string","description":"Specifies the name of the Recovery Services Vault to use. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the Azure Backup Protected File Share. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sourceFileShareName":{"type":"string","description":"Specifies the name of the file share to backup. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sourceStorageAccountId":{"type":"string","description":"Specifies the ID of the storage account of the file share to backup. Changing this forces a new resource to be created.\n\n\u003e **Note:** The storage account must already be registered with the recovery vault in order to backup shares within the account. You can use the \u003cspan pulumi-lang-nodejs=\"`azure.backup.ContainerStorageAccount`\" pulumi-lang-dotnet=\"`azure.backup.ContainerStorageAccount`\" pulumi-lang-go=\"`backup.ContainerStorageAccount`\" pulumi-lang-python=\"`backup.ContainerStorageAccount`\" pulumi-lang-yaml=\"`azure.backup.ContainerStorageAccount`\" pulumi-lang-java=\"`azure.backup.ContainerStorageAccount`\"\u003e`azure.backup.ContainerStorageAccount`\u003c/span\u003e resource or the [Register-AzRecoveryServicesBackupContainer PowerShell cmdlet](https://docs.microsoft.com/powershell/module/az.recoveryservices/register-azrecoveryservicesbackupcontainer?view=azps-3.2.0) to register a storage account with a vault. When using the \u003cspan pulumi-lang-nodejs=\"`azure.backup.ContainerStorageAccount`\" pulumi-lang-dotnet=\"`azure.backup.ContainerStorageAccount`\" pulumi-lang-go=\"`backup.ContainerStorageAccount`\" pulumi-lang-python=\"`backup.ContainerStorageAccount`\" pulumi-lang-yaml=\"`azure.backup.ContainerStorageAccount`\" pulumi-lang-java=\"`azure.backup.ContainerStorageAccount`\"\u003e`azure.backup.ContainerStorageAccount`\u003c/span\u003e resource to register, you can use \u003cspan pulumi-lang-nodejs=\"`dependsOn`\" pulumi-lang-dotnet=\"`DependsOn`\" pulumi-lang-go=\"`dependsOn`\" pulumi-lang-python=\"`depends_on`\" pulumi-lang-yaml=\"`dependsOn`\" pulumi-lang-java=\"`dependsOn`\"\u003e`depends_on`\u003c/span\u003e to explicitly declare the dependency. It will make sure that the registration is completed before creating the \u003cspan pulumi-lang-nodejs=\"`azure.backup.ProtectedFileShare`\" pulumi-lang-dotnet=\"`azure.backup.ProtectedFileShare`\" pulumi-lang-go=\"`backup.ProtectedFileShare`\" pulumi-lang-python=\"`backup.ProtectedFileShare`\" pulumi-lang-yaml=\"`azure.backup.ProtectedFileShare`\" pulumi-lang-java=\"`azure.backup.ProtectedFileShare`\"\u003e`azure.backup.ProtectedFileShare`\u003c/span\u003e resource.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:backup/protectedVM:ProtectedVM":{"description":"Manages an Azure Backup Protected Virtual Machine.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"example\", {\n    name: \"tfex-recovery_vault\",\n    location: \"West Europe\",\n});\nconst exampleVault = new azure.recoveryservices.Vault(\"example\", {\n    name: \"tfex-recovery-vault\",\n    location: exampleResourceGroup.location,\n    resourceGroupName: exampleResourceGroup.name,\n    sku: \"Standard\",\n});\nconst examplePolicyVM = new azure.backup.PolicyVM(\"example\", {\n    name: \"tfex-recovery-vault-policy\",\n    resourceGroupName: exampleResourceGroup.name,\n    recoveryVaultName: exampleVault.name,\n    backup: {\n        frequency: \"Daily\",\n        time: \"23:00\",\n    },\n    retentionDaily: {\n        count: 10,\n    },\n});\nconst example = azure.compute.getVirtualMachineOutput({\n    name: \"example-vm\",\n    resourceGroupName: exampleResourceGroup.name,\n});\nconst vm1 = new azure.backup.ProtectedVM(\"vm1\", {\n    resourceGroupName: exampleResourceGroup.name,\n    recoveryVaultName: exampleVault.name,\n    sourceVmId: example.apply(example =\u003e example.id),\n    backupPolicyId: examplePolicyVM.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"example\",\n    name=\"tfex-recovery_vault\",\n    location=\"West Europe\")\nexample_vault = azure.recoveryservices.Vault(\"example\",\n    name=\"tfex-recovery-vault\",\n    location=example_resource_group.location,\n    resource_group_name=example_resource_group.name,\n    sku=\"Standard\")\nexample_policy_vm = azure.backup.PolicyVM(\"example\",\n    name=\"tfex-recovery-vault-policy\",\n    resource_group_name=example_resource_group.name,\n    recovery_vault_name=example_vault.name,\n    backup={\n        \"frequency\": \"Daily\",\n        \"time\": \"23:00\",\n    },\n    retention_daily={\n        \"count\": 10,\n    })\nexample = azure.compute.get_virtual_machine_output(name=\"example-vm\",\n    resource_group_name=example_resource_group.name)\nvm1 = azure.backup.ProtectedVM(\"vm1\",\n    resource_group_name=example_resource_group.name,\n    recovery_vault_name=example_vault.name,\n    source_vm_id=example.id,\n    backup_policy_id=example_policy_vm.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleResourceGroup = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"tfex-recovery_vault\",\n        Location = \"West Europe\",\n    });\n\n    var exampleVault = new Azure.RecoveryServices.Vault(\"example\", new()\n    {\n        Name = \"tfex-recovery-vault\",\n        Location = exampleResourceGroup.Location,\n        ResourceGroupName = exampleResourceGroup.Name,\n        Sku = \"Standard\",\n    });\n\n    var examplePolicyVM = new Azure.Backup.PolicyVM(\"example\", new()\n    {\n        Name = \"tfex-recovery-vault-policy\",\n        ResourceGroupName = exampleResourceGroup.Name,\n        RecoveryVaultName = exampleVault.Name,\n        Backup = new Azure.Backup.Inputs.PolicyVMBackupArgs\n        {\n            Frequency = \"Daily\",\n            Time = \"23:00\",\n        },\n        RetentionDaily = new Azure.Backup.Inputs.PolicyVMRetentionDailyArgs\n        {\n            Count = 10,\n        },\n    });\n\n    var example = Azure.Compute.GetVirtualMachine.Invoke(new()\n    {\n        Name = \"example-vm\",\n        ResourceGroupName = exampleResourceGroup.Name,\n    });\n\n    var vm1 = new Azure.Backup.ProtectedVM(\"vm1\", new()\n    {\n        ResourceGroupName = exampleResourceGroup.Name,\n        RecoveryVaultName = exampleVault.Name,\n        SourceVmId = example.Apply(getVirtualMachineResult =\u003e getVirtualMachineResult.Id),\n        BackupPolicyId = examplePolicyVM.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/backup\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/compute\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/recoveryservices\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"tfex-recovery_vault\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVault, err := recoveryservices.NewVault(ctx, \"example\", \u0026recoveryservices.VaultArgs{\n\t\t\tName:              pulumi.String(\"tfex-recovery-vault\"),\n\t\t\tLocation:          exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tSku:               pulumi.String(\"Standard\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texamplePolicyVM, err := backup.NewPolicyVM(ctx, \"example\", \u0026backup.PolicyVMArgs{\n\t\t\tName:              pulumi.String(\"tfex-recovery-vault-policy\"),\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tRecoveryVaultName: exampleVault.Name,\n\t\t\tBackup: \u0026backup.PolicyVMBackupArgs{\n\t\t\t\tFrequency: pulumi.String(\"Daily\"),\n\t\t\t\tTime:      pulumi.String(\"23:00\"),\n\t\t\t},\n\t\t\tRetentionDaily: \u0026backup.PolicyVMRetentionDailyArgs{\n\t\t\t\tCount: pulumi.Int(10),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample := compute.LookupVirtualMachineOutput(ctx, compute.GetVirtualMachineOutputArgs{\n\t\t\tName:              pulumi.String(\"example-vm\"),\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t}, nil)\n\t\t_, err = backup.NewProtectedVM(ctx, \"vm1\", \u0026backup.ProtectedVMArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tRecoveryVaultName: exampleVault.Name,\n\t\t\tSourceVmId: pulumi.String(example.ApplyT(func(example compute.GetVirtualMachineResult) (*string, error) {\n\t\t\t\treturn \u0026example.Id, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tBackupPolicyId: examplePolicyVM.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.recoveryservices.Vault;\nimport com.pulumi.azure.recoveryservices.VaultArgs;\nimport com.pulumi.azure.backup.PolicyVM;\nimport com.pulumi.azure.backup.PolicyVMArgs;\nimport com.pulumi.azure.backup.inputs.PolicyVMBackupArgs;\nimport com.pulumi.azure.backup.inputs.PolicyVMRetentionDailyArgs;\nimport com.pulumi.azure.compute.ComputeFunctions;\nimport com.pulumi.azure.compute.inputs.GetVirtualMachineArgs;\nimport com.pulumi.azure.backup.ProtectedVM;\nimport com.pulumi.azure.backup.ProtectedVMArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var exampleResourceGroup = new ResourceGroup(\"exampleResourceGroup\", ResourceGroupArgs.builder()\n            .name(\"tfex-recovery_vault\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleVault = new Vault(\"exampleVault\", VaultArgs.builder()\n            .name(\"tfex-recovery-vault\")\n            .location(exampleResourceGroup.location())\n            .resourceGroupName(exampleResourceGroup.name())\n            .sku(\"Standard\")\n            .build());\n\n        var examplePolicyVM = new PolicyVM(\"examplePolicyVM\", PolicyVMArgs.builder()\n            .name(\"tfex-recovery-vault-policy\")\n            .resourceGroupName(exampleResourceGroup.name())\n            .recoveryVaultName(exampleVault.name())\n            .backup(PolicyVMBackupArgs.builder()\n                .frequency(\"Daily\")\n                .time(\"23:00\")\n                .build())\n            .retentionDaily(PolicyVMRetentionDailyArgs.builder()\n                .count(10)\n                .build())\n            .build());\n\n        final var example = ComputeFunctions.getVirtualMachine(GetVirtualMachineArgs.builder()\n            .name(\"example-vm\")\n            .resourceGroupName(exampleResourceGroup.name())\n            .build());\n\n        var vm1 = new ProtectedVM(\"vm1\", ProtectedVMArgs.builder()\n            .resourceGroupName(exampleResourceGroup.name())\n            .recoveryVaultName(exampleVault.name())\n            .sourceVmId(example.applyValue(_example -\u003e _example.id()))\n            .backupPolicyId(examplePolicyVM.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleResourceGroup:\n    type: azure:core:ResourceGroup\n    name: example\n    properties:\n      name: tfex-recovery_vault\n      location: West Europe\n  exampleVault:\n    type: azure:recoveryservices:Vault\n    name: example\n    properties:\n      name: tfex-recovery-vault\n      location: ${exampleResourceGroup.location}\n      resourceGroupName: ${exampleResourceGroup.name}\n      sku: Standard\n  examplePolicyVM:\n    type: azure:backup:PolicyVM\n    name: example\n    properties:\n      name: tfex-recovery-vault-policy\n      resourceGroupName: ${exampleResourceGroup.name}\n      recoveryVaultName: ${exampleVault.name}\n      backup:\n        frequency: Daily\n        time: 23:00\n      retentionDaily:\n        count: 10\n  vm1:\n    type: azure:backup:ProtectedVM\n    properties:\n      resourceGroupName: ${exampleResourceGroup.name}\n      recoveryVaultName: ${exampleVault.name}\n      sourceVmId: ${example.id}\n      backupPolicyId: ${examplePolicyVM.id}\nvariables:\n  example:\n    fn::invoke:\n      function: azure:compute:getVirtualMachine\n      arguments:\n        name: example-vm\n        resourceGroupName: ${exampleResourceGroup.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.RecoveryServices` - 2024-01-01\n\n## Import\n\nBackup Protected Virtual Machines can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:backup/protectedVM:ProtectedVM item1 \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.RecoveryServices/vaults/example-recovery-vault/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasvmcontainerv2;group1;vm1/protectedItems/vm;iaasvmcontainerv2;group1;vm1\"\n```\n\n","properties":{"backupPolicyId":{"type":"string","description":"Specifies the ID of the backup policy to use.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`backupPolicyId`\" pulumi-lang-dotnet=\"`BackupPolicyId`\" pulumi-lang-go=\"`backupPolicyId`\" pulumi-lang-python=\"`backup_policy_id`\" pulumi-lang-yaml=\"`backupPolicyId`\" pulumi-lang-java=\"`backupPolicyId`\"\u003e`backup_policy_id`\u003c/span\u003e is required during initial creation of this resource.\n\n\u003e **Note:** When \u003cspan pulumi-lang-nodejs=\"`protectionState`\" pulumi-lang-dotnet=\"`ProtectionState`\" pulumi-lang-go=\"`protectionState`\" pulumi-lang-python=\"`protection_state`\" pulumi-lang-yaml=\"`protectionState`\" pulumi-lang-java=\"`protectionState`\"\u003e`protection_state`\u003c/span\u003e is set to `BackupsSuspended` or `ProtectionStopped`, the Azure API may not return \u003cspan pulumi-lang-nodejs=\"`backupPolicyId`\" pulumi-lang-dotnet=\"`BackupPolicyId`\" pulumi-lang-go=\"`backupPolicyId`\" pulumi-lang-python=\"`backup_policy_id`\" pulumi-lang-yaml=\"`backupPolicyId`\" pulumi-lang-java=\"`backupPolicyId`\"\u003e`backup_policy_id`\u003c/span\u003e. To avoid a perpetual diff, use Terraform's\u003cspan pulumi-lang-nodejs=\" ignoreChanges \" pulumi-lang-dotnet=\" IgnoreChanges \" pulumi-lang-go=\" ignoreChanges \" pulumi-lang-python=\" ignore_changes \" pulumi-lang-yaml=\" ignoreChanges \" pulumi-lang-java=\" ignoreChanges \"\u003e ignore_changes \u003c/span\u003eargument.\n"},"excludeDiskLuns":{"type":"array","items":{"type":"integer"},"description":"A list of Disks' Logical Unit Numbers (LUN) to be excluded for VM Protection.\n"},"includeDiskLuns":{"type":"array","items":{"type":"integer"},"description":"A list of Disks' Logical Unit Numbers (LUN) to be included for VM Protection.\n"},"protectionState":{"type":"string","description":"Specifies Protection state of the backup. Possible values are `Protected`, `BackupsSuspended`, and `ProtectionStopped`.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`protectionState`\" pulumi-lang-dotnet=\"`ProtectionState`\" pulumi-lang-go=\"`protectionState`\" pulumi-lang-python=\"`protection_state`\" pulumi-lang-yaml=\"`protectionState`\" pulumi-lang-java=\"`protectionState`\"\u003e`protection_state`\u003c/span\u003e cannot be set to `BackupsSuspended` unless the \u003cspan pulumi-lang-nodejs=\"`azure.recoveryservices.Vault`\" pulumi-lang-dotnet=\"`azure.recoveryservices.Vault`\" pulumi-lang-go=\"`recoveryservices.Vault`\" pulumi-lang-python=\"`recoveryservices.Vault`\" pulumi-lang-yaml=\"`azure.recoveryservices.Vault`\" pulumi-lang-java=\"`azure.recoveryservices.Vault`\"\u003e`azure.recoveryservices.Vault`\u003c/span\u003e has \u003cspan pulumi-lang-nodejs=\"`immutability`\" pulumi-lang-dotnet=\"`Immutability`\" pulumi-lang-go=\"`immutability`\" pulumi-lang-python=\"`immutability`\" pulumi-lang-yaml=\"`immutability`\" pulumi-lang-java=\"`immutability`\"\u003e`immutability`\u003c/span\u003e set to `Unlocked` or `Locked`.\n"},"recoveryVaultName":{"type":"string","description":"Specifies the name of the Recovery Services Vault to use. Changing this forces a new resource to be created.\n"},"resourceGroupName":{"type":"string","description":"Specifies the name of the Resource Group **associated with** the Recovery Services Vault to use. Changing this forces a new resource to be created.\n"},"sourceVmId":{"type":"string","description":"Specifies the ID of the virtual machine to back up. Changing this forces a new resource to be created.\n\n\u003e **Note:** After creation, the \u003cspan pulumi-lang-nodejs=\"`sourceVmId`\" pulumi-lang-dotnet=\"`SourceVmId`\" pulumi-lang-go=\"`sourceVmId`\" pulumi-lang-python=\"`source_vm_id`\" pulumi-lang-yaml=\"`sourceVmId`\" pulumi-lang-java=\"`sourceVmId`\"\u003e`source_vm_id`\u003c/span\u003e property can be removed without forcing a new resource to be created; however, setting it to a different ID will create a new resource. This allows the source virtual machine to be deleted without having to remove the backup.\n"}},"required":["protectionState","recoveryVaultName","resourceGroupName","sourceVmId"],"inputProperties":{"backupPolicyId":{"type":"string","description":"Specifies the ID of the backup policy to use.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`backupPolicyId`\" pulumi-lang-dotnet=\"`BackupPolicyId`\" pulumi-lang-go=\"`backupPolicyId`\" pulumi-lang-python=\"`backup_policy_id`\" pulumi-lang-yaml=\"`backupPolicyId`\" pulumi-lang-java=\"`backupPolicyId`\"\u003e`backup_policy_id`\u003c/span\u003e is required during initial creation of this resource.\n\n\u003e **Note:** When \u003cspan pulumi-lang-nodejs=\"`protectionState`\" pulumi-lang-dotnet=\"`ProtectionState`\" pulumi-lang-go=\"`protectionState`\" pulumi-lang-python=\"`protection_state`\" pulumi-lang-yaml=\"`protectionState`\" pulumi-lang-java=\"`protectionState`\"\u003e`protection_state`\u003c/span\u003e is set to `BackupsSuspended` or `ProtectionStopped`, the Azure API may not return \u003cspan pulumi-lang-nodejs=\"`backupPolicyId`\" pulumi-lang-dotnet=\"`BackupPolicyId`\" pulumi-lang-go=\"`backupPolicyId`\" pulumi-lang-python=\"`backup_policy_id`\" pulumi-lang-yaml=\"`backupPolicyId`\" pulumi-lang-java=\"`backupPolicyId`\"\u003e`backup_policy_id`\u003c/span\u003e. To avoid a perpetual diff, use Terraform's\u003cspan pulumi-lang-nodejs=\" ignoreChanges \" pulumi-lang-dotnet=\" IgnoreChanges \" pulumi-lang-go=\" ignoreChanges \" pulumi-lang-python=\" ignore_changes \" pulumi-lang-yaml=\" ignoreChanges \" pulumi-lang-java=\" ignoreChanges \"\u003e ignore_changes \u003c/span\u003eargument.\n"},"excludeDiskLuns":{"type":"array","items":{"type":"integer"},"description":"A list of Disks' Logical Unit Numbers (LUN) to be excluded for VM Protection.\n"},"includeDiskLuns":{"type":"array","items":{"type":"integer"},"description":"A list of Disks' Logical Unit Numbers (LUN) to be included for VM Protection.\n"},"protectionState":{"type":"string","description":"Specifies Protection state of the backup. Possible values are `Protected`, `BackupsSuspended`, and `ProtectionStopped`.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`protectionState`\" pulumi-lang-dotnet=\"`ProtectionState`\" pulumi-lang-go=\"`protectionState`\" pulumi-lang-python=\"`protection_state`\" pulumi-lang-yaml=\"`protectionState`\" pulumi-lang-java=\"`protectionState`\"\u003e`protection_state`\u003c/span\u003e cannot be set to `BackupsSuspended` unless the \u003cspan pulumi-lang-nodejs=\"`azure.recoveryservices.Vault`\" pulumi-lang-dotnet=\"`azure.recoveryservices.Vault`\" pulumi-lang-go=\"`recoveryservices.Vault`\" pulumi-lang-python=\"`recoveryservices.Vault`\" pulumi-lang-yaml=\"`azure.recoveryservices.Vault`\" pulumi-lang-java=\"`azure.recoveryservices.Vault`\"\u003e`azure.recoveryservices.Vault`\u003c/span\u003e has \u003cspan pulumi-lang-nodejs=\"`immutability`\" pulumi-lang-dotnet=\"`Immutability`\" pulumi-lang-go=\"`immutability`\" pulumi-lang-python=\"`immutability`\" pulumi-lang-yaml=\"`immutability`\" pulumi-lang-java=\"`immutability`\"\u003e`immutability`\u003c/span\u003e set to `Unlocked` or `Locked`.\n"},"recoveryVaultName":{"type":"string","description":"Specifies the name of the Recovery Services Vault to use. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"Specifies the name of the Resource Group **associated with** the Recovery Services Vault to use. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sourceVmId":{"type":"string","description":"Specifies the ID of the virtual machine to back up. Changing this forces a new resource to be created.\n\n\u003e **Note:** After creation, the \u003cspan pulumi-lang-nodejs=\"`sourceVmId`\" pulumi-lang-dotnet=\"`SourceVmId`\" pulumi-lang-go=\"`sourceVmId`\" pulumi-lang-python=\"`source_vm_id`\" pulumi-lang-yaml=\"`sourceVmId`\" pulumi-lang-java=\"`sourceVmId`\"\u003e`source_vm_id`\u003c/span\u003e property can be removed without forcing a new resource to be created; however, setting it to a different ID will create a new resource. This allows the source virtual machine to be deleted without having to remove the backup.\n","willReplaceOnChanges":true}},"requiredInputs":["recoveryVaultName","resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering ProtectedVM resources.\n","properties":{"backupPolicyId":{"type":"string","description":"Specifies the ID of the backup policy to use.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`backupPolicyId`\" pulumi-lang-dotnet=\"`BackupPolicyId`\" pulumi-lang-go=\"`backupPolicyId`\" pulumi-lang-python=\"`backup_policy_id`\" pulumi-lang-yaml=\"`backupPolicyId`\" pulumi-lang-java=\"`backupPolicyId`\"\u003e`backup_policy_id`\u003c/span\u003e is required during initial creation of this resource.\n\n\u003e **Note:** When \u003cspan pulumi-lang-nodejs=\"`protectionState`\" pulumi-lang-dotnet=\"`ProtectionState`\" pulumi-lang-go=\"`protectionState`\" pulumi-lang-python=\"`protection_state`\" pulumi-lang-yaml=\"`protectionState`\" pulumi-lang-java=\"`protectionState`\"\u003e`protection_state`\u003c/span\u003e is set to `BackupsSuspended` or `ProtectionStopped`, the Azure API may not return \u003cspan pulumi-lang-nodejs=\"`backupPolicyId`\" pulumi-lang-dotnet=\"`BackupPolicyId`\" pulumi-lang-go=\"`backupPolicyId`\" pulumi-lang-python=\"`backup_policy_id`\" pulumi-lang-yaml=\"`backupPolicyId`\" pulumi-lang-java=\"`backupPolicyId`\"\u003e`backup_policy_id`\u003c/span\u003e. To avoid a perpetual diff, use Terraform's\u003cspan pulumi-lang-nodejs=\" ignoreChanges \" pulumi-lang-dotnet=\" IgnoreChanges \" pulumi-lang-go=\" ignoreChanges \" pulumi-lang-python=\" ignore_changes \" pulumi-lang-yaml=\" ignoreChanges \" pulumi-lang-java=\" ignoreChanges \"\u003e ignore_changes \u003c/span\u003eargument.\n"},"excludeDiskLuns":{"type":"array","items":{"type":"integer"},"description":"A list of Disks' Logical Unit Numbers (LUN) to be excluded for VM Protection.\n"},"includeDiskLuns":{"type":"array","items":{"type":"integer"},"description":"A list of Disks' Logical Unit Numbers (LUN) to be included for VM Protection.\n"},"protectionState":{"type":"string","description":"Specifies Protection state of the backup. Possible values are `Protected`, `BackupsSuspended`, and `ProtectionStopped`.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`protectionState`\" pulumi-lang-dotnet=\"`ProtectionState`\" pulumi-lang-go=\"`protectionState`\" pulumi-lang-python=\"`protection_state`\" pulumi-lang-yaml=\"`protectionState`\" pulumi-lang-java=\"`protectionState`\"\u003e`protection_state`\u003c/span\u003e cannot be set to `BackupsSuspended` unless the \u003cspan pulumi-lang-nodejs=\"`azure.recoveryservices.Vault`\" pulumi-lang-dotnet=\"`azure.recoveryservices.Vault`\" pulumi-lang-go=\"`recoveryservices.Vault`\" pulumi-lang-python=\"`recoveryservices.Vault`\" pulumi-lang-yaml=\"`azure.recoveryservices.Vault`\" pulumi-lang-java=\"`azure.recoveryservices.Vault`\"\u003e`azure.recoveryservices.Vault`\u003c/span\u003e has \u003cspan pulumi-lang-nodejs=\"`immutability`\" pulumi-lang-dotnet=\"`Immutability`\" pulumi-lang-go=\"`immutability`\" pulumi-lang-python=\"`immutability`\" pulumi-lang-yaml=\"`immutability`\" pulumi-lang-java=\"`immutability`\"\u003e`immutability`\u003c/span\u003e set to `Unlocked` or `Locked`.\n"},"recoveryVaultName":{"type":"string","description":"Specifies the name of the Recovery Services Vault to use. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"Specifies the name of the Resource Group **associated with** the Recovery Services Vault to use. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sourceVmId":{"type":"string","description":"Specifies the ID of the virtual machine to back up. Changing this forces a new resource to be created.\n\n\u003e **Note:** After creation, the \u003cspan pulumi-lang-nodejs=\"`sourceVmId`\" pulumi-lang-dotnet=\"`SourceVmId`\" pulumi-lang-go=\"`sourceVmId`\" pulumi-lang-python=\"`source_vm_id`\" pulumi-lang-yaml=\"`sourceVmId`\" pulumi-lang-java=\"`sourceVmId`\"\u003e`source_vm_id`\u003c/span\u003e property can be removed without forcing a new resource to be created; however, setting it to a different ID will create a new resource. This allows the source virtual machine to be deleted without having to remove the backup.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:batch/account:Account":{"description":"Manages an Azure Batch account.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"testbatch\",\n    location: \"West Europe\",\n});\nconst exampleAccount = new azure.storage.Account(\"example\", {\n    name: \"teststorage\",\n    resourceGroupName: example.name,\n    location: example.location,\n    accountTier: \"Standard\",\n    accountReplicationType: \"LRS\",\n});\nconst exampleAccount2 = new azure.batch.Account(\"example\", {\n    name: \"testbatchaccount\",\n    resourceGroupName: example.name,\n    location: example.location,\n    poolAllocationMode: \"BatchService\",\n    storageAccountId: exampleAccount.id,\n    storageAccountAuthenticationMode: \"StorageKeys\",\n    tags: {\n        env: \"test\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"testbatch\",\n    location=\"West Europe\")\nexample_account = azure.storage.Account(\"example\",\n    name=\"teststorage\",\n    resource_group_name=example.name,\n    location=example.location,\n    account_tier=\"Standard\",\n    account_replication_type=\"LRS\")\nexample_account2 = azure.batch.Account(\"example\",\n    name=\"testbatchaccount\",\n    resource_group_name=example.name,\n    location=example.location,\n    pool_allocation_mode=\"BatchService\",\n    storage_account_id=example_account.id,\n    storage_account_authentication_mode=\"StorageKeys\",\n    tags={\n        \"env\": \"test\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"testbatch\",\n        Location = \"West Europe\",\n    });\n\n    var exampleAccount = new Azure.Storage.Account(\"example\", new()\n    {\n        Name = \"teststorage\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        AccountTier = \"Standard\",\n        AccountReplicationType = \"LRS\",\n    });\n\n    var exampleAccount2 = new Azure.Batch.Account(\"example\", new()\n    {\n        Name = \"testbatchaccount\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        PoolAllocationMode = \"BatchService\",\n        StorageAccountId = exampleAccount.Id,\n        StorageAccountAuthenticationMode = \"StorageKeys\",\n        Tags = \n        {\n            { \"env\", \"test\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/batch\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"testbatch\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := storage.NewAccount(ctx, \"example\", \u0026storage.AccountArgs{\n\t\t\tName:                   pulumi.String(\"teststorage\"),\n\t\t\tResourceGroupName:      example.Name,\n\t\t\tLocation:               example.Location,\n\t\t\tAccountTier:            pulumi.String(\"Standard\"),\n\t\t\tAccountReplicationType: pulumi.String(\"LRS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = batch.NewAccount(ctx, \"example\", \u0026batch.AccountArgs{\n\t\t\tName:                             pulumi.String(\"testbatchaccount\"),\n\t\t\tResourceGroupName:                example.Name,\n\t\t\tLocation:                         example.Location,\n\t\t\tPoolAllocationMode:               pulumi.String(\"BatchService\"),\n\t\t\tStorageAccountId:                 exampleAccount.ID(),\n\t\t\tStorageAccountAuthenticationMode: pulumi.String(\"StorageKeys\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"env\": pulumi.String(\"test\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"testbatch\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleAccount = new com.pulumi.azure.storage.Account(\"exampleAccount\", com.pulumi.azure.storage.AccountArgs.builder()\n            .name(\"teststorage\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .accountTier(\"Standard\")\n            .accountReplicationType(\"LRS\")\n            .build());\n\n        var exampleAccount2 = new com.pulumi.azure.batch.Account(\"exampleAccount2\", com.pulumi.azure.batch.AccountArgs.builder()\n            .name(\"testbatchaccount\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .poolAllocationMode(\"BatchService\")\n            .storageAccountId(exampleAccount.id())\n            .storageAccountAuthenticationMode(\"StorageKeys\")\n            .tags(Map.of(\"env\", \"test\"))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: testbatch\n      location: West Europe\n  exampleAccount:\n    type: azure:storage:Account\n    name: example\n    properties:\n      name: teststorage\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      accountTier: Standard\n      accountReplicationType: LRS\n  exampleAccount2:\n    type: azure:batch:Account\n    name: example\n    properties:\n      name: testbatchaccount\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      poolAllocationMode: BatchService\n      storageAccountId: ${exampleAccount.id}\n      storageAccountAuthenticationMode: StorageKeys\n      tags:\n        env: test\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Batch` - 2024-07-01\n\n## Import\n\nBatch Account can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:batch/account:Account example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Batch/batchAccounts/account1\n```\n\n","properties":{"accountEndpoint":{"type":"string","description":"The account endpoint used to interact with the Batch service.\n"},"allowedAuthenticationModes":{"type":"array","items":{"type":"string"},"description":"Specifies the allowed authentication mode for the Batch account. Possible values include `AAD`, `SharedKey` or `TaskAuthenticationToken`.\n"},"encryption":{"$ref":"#/types/azure:batch/AccountEncryption:AccountEncryption","description":"Specifies if customer managed key encryption should be used to encrypt batch account data. One \u003cspan pulumi-lang-nodejs=\"`encryption`\" pulumi-lang-dotnet=\"`Encryption`\" pulumi-lang-go=\"`encryption`\" pulumi-lang-python=\"`encryption`\" pulumi-lang-yaml=\"`encryption`\" pulumi-lang-java=\"`encryption`\"\u003e`encryption`\u003c/span\u003e block as defined below.\n"},"identity":{"$ref":"#/types/azure:batch/AccountIdentity:AccountIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"keyVaultReference":{"$ref":"#/types/azure:batch/AccountKeyVaultReference:AccountKeyVaultReference","description":"A \u003cspan pulumi-lang-nodejs=\"`keyVaultReference`\" pulumi-lang-dotnet=\"`KeyVaultReference`\" pulumi-lang-go=\"`keyVaultReference`\" pulumi-lang-python=\"`key_vault_reference`\" pulumi-lang-yaml=\"`keyVaultReference`\" pulumi-lang-java=\"`keyVaultReference`\"\u003e`key_vault_reference`\u003c/span\u003e block, as defined below, that describes the Azure KeyVault reference to use when deploying the Azure Batch account using the `UserSubscription` pool allocation mode.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"Specifies the name of the Batch account. Only lowercase Alphanumeric characters allowed. Changing this forces a new resource to be created.\n"},"networkProfile":{"$ref":"#/types/azure:batch/AccountNetworkProfile:AccountNetworkProfile","description":"A \u003cspan pulumi-lang-nodejs=\"`networkProfile`\" pulumi-lang-dotnet=\"`NetworkProfile`\" pulumi-lang-go=\"`networkProfile`\" pulumi-lang-python=\"`network_profile`\" pulumi-lang-yaml=\"`networkProfile`\" pulumi-lang-java=\"`networkProfile`\"\u003e`network_profile`\u003c/span\u003e block as defined below.\n"},"poolAllocationMode":{"type":"string","description":"Specifies the mode to use for pool allocation. Possible values are `BatchService` or `UserSubscription`. Defaults to `BatchService`.\n"},"primaryAccessKey":{"type":"string","description":"The Batch account primary access key.\n","secret":true},"publicNetworkAccessEnabled":{"type":"boolean","description":"Whether public network access is allowed for this server. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n\n\u003e **NOTE:** When using `UserSubscription` mode, an Azure KeyVault reference has to be specified. See \u003cspan pulumi-lang-nodejs=\"`keyVaultReference`\" pulumi-lang-dotnet=\"`KeyVaultReference`\" pulumi-lang-go=\"`keyVaultReference`\" pulumi-lang-python=\"`key_vault_reference`\" pulumi-lang-yaml=\"`keyVaultReference`\" pulumi-lang-java=\"`keyVaultReference`\"\u003e`key_vault_reference`\u003c/span\u003e below.\n\n\u003e **NOTE:** When using `UserSubscription` mode, the `Microsoft Azure Batch` service principal has to have `Contributor` role on your subscription scope, as documented [here](https://docs.microsoft.com/azure/batch/batch-account-create-portal#additional-configuration-for-user-subscription-mode).\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the Batch account. Changing this forces a new resource to be created.\n\n\u003e **NOTE:** To work around [a bug in the Azure API](https://github.com/Azure/azure-rest-api-specs/issues/5574) this property is currently treated as case-insensitive. A future version of this provider will require that the casing is correct.\n"},"secondaryAccessKey":{"type":"string","description":"The Batch account secondary access key.\n","secret":true},"storageAccountAuthenticationMode":{"type":"string","description":"Specifies the storage account authentication mode. Possible values include `StorageKeys`, `BatchAccountManagedIdentity`.\n\n\u003e **NOTE:** When using `BatchAccountManagedIdentity` mod, the `identity.type` must set to `UserAssigned` or `SystemAssigned`.\n"},"storageAccountId":{"type":"string","description":"Specifies the storage account to use for the Batch account. If not specified, Azure Batch will manage the storage.\n\n\u003e **NOTE:** When using \u003cspan pulumi-lang-nodejs=\"`storageAccountId`\" pulumi-lang-dotnet=\"`StorageAccountId`\" pulumi-lang-go=\"`storageAccountId`\" pulumi-lang-python=\"`storage_account_id`\" pulumi-lang-yaml=\"`storageAccountId`\" pulumi-lang-java=\"`storageAccountId`\"\u003e`storage_account_id`\u003c/span\u003e, the \u003cspan pulumi-lang-nodejs=\"`storageAccountAuthenticationMode`\" pulumi-lang-dotnet=\"`StorageAccountAuthenticationMode`\" pulumi-lang-go=\"`storageAccountAuthenticationMode`\" pulumi-lang-python=\"`storage_account_authentication_mode`\" pulumi-lang-yaml=\"`storageAccountAuthenticationMode`\" pulumi-lang-java=\"`storageAccountAuthenticationMode`\"\u003e`storage_account_authentication_mode`\u003c/span\u003e must be specified as well.\n"},"storageAccountNodeIdentity":{"type":"string","description":"Specifies the user assigned identity for the storage account.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"required":["accountEndpoint","allowedAuthenticationModes","location","name","primaryAccessKey","resourceGroupName","secondaryAccessKey"],"inputProperties":{"allowedAuthenticationModes":{"type":"array","items":{"type":"string"},"description":"Specifies the allowed authentication mode for the Batch account. Possible values include `AAD`, `SharedKey` or `TaskAuthenticationToken`.\n"},"encryption":{"$ref":"#/types/azure:batch/AccountEncryption:AccountEncryption","description":"Specifies if customer managed key encryption should be used to encrypt batch account data. One \u003cspan pulumi-lang-nodejs=\"`encryption`\" pulumi-lang-dotnet=\"`Encryption`\" pulumi-lang-go=\"`encryption`\" pulumi-lang-python=\"`encryption`\" pulumi-lang-yaml=\"`encryption`\" pulumi-lang-java=\"`encryption`\"\u003e`encryption`\u003c/span\u003e block as defined below.\n"},"identity":{"$ref":"#/types/azure:batch/AccountIdentity:AccountIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"keyVaultReference":{"$ref":"#/types/azure:batch/AccountKeyVaultReference:AccountKeyVaultReference","description":"A \u003cspan pulumi-lang-nodejs=\"`keyVaultReference`\" pulumi-lang-dotnet=\"`KeyVaultReference`\" pulumi-lang-go=\"`keyVaultReference`\" pulumi-lang-python=\"`key_vault_reference`\" pulumi-lang-yaml=\"`keyVaultReference`\" pulumi-lang-java=\"`keyVaultReference`\"\u003e`key_vault_reference`\u003c/span\u003e block, as defined below, that describes the Azure KeyVault reference to use when deploying the Azure Batch account using the `UserSubscription` pool allocation mode.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the Batch account. Only lowercase Alphanumeric characters allowed. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"networkProfile":{"$ref":"#/types/azure:batch/AccountNetworkProfile:AccountNetworkProfile","description":"A \u003cspan pulumi-lang-nodejs=\"`networkProfile`\" pulumi-lang-dotnet=\"`NetworkProfile`\" pulumi-lang-go=\"`networkProfile`\" pulumi-lang-python=\"`network_profile`\" pulumi-lang-yaml=\"`networkProfile`\" pulumi-lang-java=\"`networkProfile`\"\u003e`network_profile`\u003c/span\u003e block as defined below.\n"},"poolAllocationMode":{"type":"string","description":"Specifies the mode to use for pool allocation. Possible values are `BatchService` or `UserSubscription`. Defaults to `BatchService`.\n"},"publicNetworkAccessEnabled":{"type":"boolean","description":"Whether public network access is allowed for this server. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n\n\u003e **NOTE:** When using `UserSubscription` mode, an Azure KeyVault reference has to be specified. See \u003cspan pulumi-lang-nodejs=\"`keyVaultReference`\" pulumi-lang-dotnet=\"`KeyVaultReference`\" pulumi-lang-go=\"`keyVaultReference`\" pulumi-lang-python=\"`key_vault_reference`\" pulumi-lang-yaml=\"`keyVaultReference`\" pulumi-lang-java=\"`keyVaultReference`\"\u003e`key_vault_reference`\u003c/span\u003e below.\n\n\u003e **NOTE:** When using `UserSubscription` mode, the `Microsoft Azure Batch` service principal has to have `Contributor` role on your subscription scope, as documented [here](https://docs.microsoft.com/azure/batch/batch-account-create-portal#additional-configuration-for-user-subscription-mode).\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the Batch account. Changing this forces a new resource to be created.\n\n\u003e **NOTE:** To work around [a bug in the Azure API](https://github.com/Azure/azure-rest-api-specs/issues/5574) this property is currently treated as case-insensitive. A future version of this provider will require that the casing is correct.\n","willReplaceOnChanges":true},"storageAccountAuthenticationMode":{"type":"string","description":"Specifies the storage account authentication mode. Possible values include `StorageKeys`, `BatchAccountManagedIdentity`.\n\n\u003e **NOTE:** When using `BatchAccountManagedIdentity` mod, the `identity.type` must set to `UserAssigned` or `SystemAssigned`.\n"},"storageAccountId":{"type":"string","description":"Specifies the storage account to use for the Batch account. If not specified, Azure Batch will manage the storage.\n\n\u003e **NOTE:** When using \u003cspan pulumi-lang-nodejs=\"`storageAccountId`\" pulumi-lang-dotnet=\"`StorageAccountId`\" pulumi-lang-go=\"`storageAccountId`\" pulumi-lang-python=\"`storage_account_id`\" pulumi-lang-yaml=\"`storageAccountId`\" pulumi-lang-java=\"`storageAccountId`\"\u003e`storage_account_id`\u003c/span\u003e, the \u003cspan pulumi-lang-nodejs=\"`storageAccountAuthenticationMode`\" pulumi-lang-dotnet=\"`StorageAccountAuthenticationMode`\" pulumi-lang-go=\"`storageAccountAuthenticationMode`\" pulumi-lang-python=\"`storage_account_authentication_mode`\" pulumi-lang-yaml=\"`storageAccountAuthenticationMode`\" pulumi-lang-java=\"`storageAccountAuthenticationMode`\"\u003e`storage_account_authentication_mode`\u003c/span\u003e must be specified as well.\n"},"storageAccountNodeIdentity":{"type":"string","description":"Specifies the user assigned identity for the storage account.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"requiredInputs":["resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering Account resources.\n","properties":{"accountEndpoint":{"type":"string","description":"The account endpoint used to interact with the Batch service.\n"},"allowedAuthenticationModes":{"type":"array","items":{"type":"string"},"description":"Specifies the allowed authentication mode for the Batch account. Possible values include `AAD`, `SharedKey` or `TaskAuthenticationToken`.\n"},"encryption":{"$ref":"#/types/azure:batch/AccountEncryption:AccountEncryption","description":"Specifies if customer managed key encryption should be used to encrypt batch account data. One \u003cspan pulumi-lang-nodejs=\"`encryption`\" pulumi-lang-dotnet=\"`Encryption`\" pulumi-lang-go=\"`encryption`\" pulumi-lang-python=\"`encryption`\" pulumi-lang-yaml=\"`encryption`\" pulumi-lang-java=\"`encryption`\"\u003e`encryption`\u003c/span\u003e block as defined below.\n"},"identity":{"$ref":"#/types/azure:batch/AccountIdentity:AccountIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"keyVaultReference":{"$ref":"#/types/azure:batch/AccountKeyVaultReference:AccountKeyVaultReference","description":"A \u003cspan pulumi-lang-nodejs=\"`keyVaultReference`\" pulumi-lang-dotnet=\"`KeyVaultReference`\" pulumi-lang-go=\"`keyVaultReference`\" pulumi-lang-python=\"`key_vault_reference`\" pulumi-lang-yaml=\"`keyVaultReference`\" pulumi-lang-java=\"`keyVaultReference`\"\u003e`key_vault_reference`\u003c/span\u003e block, as defined below, that describes the Azure KeyVault reference to use when deploying the Azure Batch account using the `UserSubscription` pool allocation mode.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the Batch account. Only lowercase Alphanumeric characters allowed. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"networkProfile":{"$ref":"#/types/azure:batch/AccountNetworkProfile:AccountNetworkProfile","description":"A \u003cspan pulumi-lang-nodejs=\"`networkProfile`\" pulumi-lang-dotnet=\"`NetworkProfile`\" pulumi-lang-go=\"`networkProfile`\" pulumi-lang-python=\"`network_profile`\" pulumi-lang-yaml=\"`networkProfile`\" pulumi-lang-java=\"`networkProfile`\"\u003e`network_profile`\u003c/span\u003e block as defined below.\n"},"poolAllocationMode":{"type":"string","description":"Specifies the mode to use for pool allocation. Possible values are `BatchService` or `UserSubscription`. Defaults to `BatchService`.\n"},"primaryAccessKey":{"type":"string","description":"The Batch account primary access key.\n","secret":true},"publicNetworkAccessEnabled":{"type":"boolean","description":"Whether public network access is allowed for this server. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n\n\u003e **NOTE:** When using `UserSubscription` mode, an Azure KeyVault reference has to be specified. See \u003cspan pulumi-lang-nodejs=\"`keyVaultReference`\" pulumi-lang-dotnet=\"`KeyVaultReference`\" pulumi-lang-go=\"`keyVaultReference`\" pulumi-lang-python=\"`key_vault_reference`\" pulumi-lang-yaml=\"`keyVaultReference`\" pulumi-lang-java=\"`keyVaultReference`\"\u003e`key_vault_reference`\u003c/span\u003e below.\n\n\u003e **NOTE:** When using `UserSubscription` mode, the `Microsoft Azure Batch` service principal has to have `Contributor` role on your subscription scope, as documented [here](https://docs.microsoft.com/azure/batch/batch-account-create-portal#additional-configuration-for-user-subscription-mode).\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the Batch account. Changing this forces a new resource to be created.\n\n\u003e **NOTE:** To work around [a bug in the Azure API](https://github.com/Azure/azure-rest-api-specs/issues/5574) this property is currently treated as case-insensitive. A future version of this provider will require that the casing is correct.\n","willReplaceOnChanges":true},"secondaryAccessKey":{"type":"string","description":"The Batch account secondary access key.\n","secret":true},"storageAccountAuthenticationMode":{"type":"string","description":"Specifies the storage account authentication mode. Possible values include `StorageKeys`, `BatchAccountManagedIdentity`.\n\n\u003e **NOTE:** When using `BatchAccountManagedIdentity` mod, the `identity.type` must set to `UserAssigned` or `SystemAssigned`.\n"},"storageAccountId":{"type":"string","description":"Specifies the storage account to use for the Batch account. If not specified, Azure Batch will manage the storage.\n\n\u003e **NOTE:** When using \u003cspan pulumi-lang-nodejs=\"`storageAccountId`\" pulumi-lang-dotnet=\"`StorageAccountId`\" pulumi-lang-go=\"`storageAccountId`\" pulumi-lang-python=\"`storage_account_id`\" pulumi-lang-yaml=\"`storageAccountId`\" pulumi-lang-java=\"`storageAccountId`\"\u003e`storage_account_id`\u003c/span\u003e, the \u003cspan pulumi-lang-nodejs=\"`storageAccountAuthenticationMode`\" pulumi-lang-dotnet=\"`StorageAccountAuthenticationMode`\" pulumi-lang-go=\"`storageAccountAuthenticationMode`\" pulumi-lang-python=\"`storage_account_authentication_mode`\" pulumi-lang-yaml=\"`storageAccountAuthenticationMode`\" pulumi-lang-java=\"`storageAccountAuthenticationMode`\"\u003e`storage_account_authentication_mode`\u003c/span\u003e must be specified as well.\n"},"storageAccountNodeIdentity":{"type":"string","description":"Specifies the user assigned identity for the storage account.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"type":"object"}},"azure:batch/application:Application":{"description":"Manages Azure Batch Application instance.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-rg\",\n    location: \"West Europe\",\n});\nconst exampleAccount = new azure.storage.Account(\"example\", {\n    name: \"examplesa\",\n    resourceGroupName: example.name,\n    location: example.location,\n    accountTier: \"Standard\",\n    accountReplicationType: \"LRS\",\n});\nconst exampleAccount2 = new azure.batch.Account(\"example\", {\n    name: \"exampleba\",\n    resourceGroupName: example.name,\n    location: example.location,\n    poolAllocationMode: \"BatchService\",\n    storageAccountId: exampleAccount.id,\n    storageAccountAuthenticationMode: \"StorageKeys\",\n});\nconst exampleApplication = new azure.batch.Application(\"example\", {\n    name: \"example-batch-application\",\n    resourceGroupName: example.name,\n    accountName: exampleAccount2.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-rg\",\n    location=\"West Europe\")\nexample_account = azure.storage.Account(\"example\",\n    name=\"examplesa\",\n    resource_group_name=example.name,\n    location=example.location,\n    account_tier=\"Standard\",\n    account_replication_type=\"LRS\")\nexample_account2 = azure.batch.Account(\"example\",\n    name=\"exampleba\",\n    resource_group_name=example.name,\n    location=example.location,\n    pool_allocation_mode=\"BatchService\",\n    storage_account_id=example_account.id,\n    storage_account_authentication_mode=\"StorageKeys\")\nexample_application = azure.batch.Application(\"example\",\n    name=\"example-batch-application\",\n    resource_group_name=example.name,\n    account_name=example_account2.name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-rg\",\n        Location = \"West Europe\",\n    });\n\n    var exampleAccount = new Azure.Storage.Account(\"example\", new()\n    {\n        Name = \"examplesa\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        AccountTier = \"Standard\",\n        AccountReplicationType = \"LRS\",\n    });\n\n    var exampleAccount2 = new Azure.Batch.Account(\"example\", new()\n    {\n        Name = \"exampleba\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        PoolAllocationMode = \"BatchService\",\n        StorageAccountId = exampleAccount.Id,\n        StorageAccountAuthenticationMode = \"StorageKeys\",\n    });\n\n    var exampleApplication = new Azure.Batch.Application(\"example\", new()\n    {\n        Name = \"example-batch-application\",\n        ResourceGroupName = example.Name,\n        AccountName = exampleAccount2.Name,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/batch\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-rg\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := storage.NewAccount(ctx, \"example\", \u0026storage.AccountArgs{\n\t\t\tName:                   pulumi.String(\"examplesa\"),\n\t\t\tResourceGroupName:      example.Name,\n\t\t\tLocation:               example.Location,\n\t\t\tAccountTier:            pulumi.String(\"Standard\"),\n\t\t\tAccountReplicationType: pulumi.String(\"LRS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount2, err := batch.NewAccount(ctx, \"example\", \u0026batch.AccountArgs{\n\t\t\tName:                             pulumi.String(\"exampleba\"),\n\t\t\tResourceGroupName:                example.Name,\n\t\t\tLocation:                         example.Location,\n\t\t\tPoolAllocationMode:               pulumi.String(\"BatchService\"),\n\t\t\tStorageAccountId:                 exampleAccount.ID(),\n\t\t\tStorageAccountAuthenticationMode: pulumi.String(\"StorageKeys\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = batch.NewApplication(ctx, \"example\", \u0026batch.ApplicationArgs{\n\t\t\tName:              pulumi.String(\"example-batch-application\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tAccountName:       exampleAccount2.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.batch.Application;\nimport com.pulumi.azure.batch.ApplicationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-rg\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleAccount = new com.pulumi.azure.storage.Account(\"exampleAccount\", com.pulumi.azure.storage.AccountArgs.builder()\n            .name(\"examplesa\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .accountTier(\"Standard\")\n            .accountReplicationType(\"LRS\")\n            .build());\n\n        var exampleAccount2 = new com.pulumi.azure.batch.Account(\"exampleAccount2\", com.pulumi.azure.batch.AccountArgs.builder()\n            .name(\"exampleba\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .poolAllocationMode(\"BatchService\")\n            .storageAccountId(exampleAccount.id())\n            .storageAccountAuthenticationMode(\"StorageKeys\")\n            .build());\n\n        var exampleApplication = new Application(\"exampleApplication\", ApplicationArgs.builder()\n            .name(\"example-batch-application\")\n            .resourceGroupName(example.name())\n            .accountName(exampleAccount2.name())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-rg\n      location: West Europe\n  exampleAccount:\n    type: azure:storage:Account\n    name: example\n    properties:\n      name: examplesa\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      accountTier: Standard\n      accountReplicationType: LRS\n  exampleAccount2:\n    type: azure:batch:Account\n    name: example\n    properties:\n      name: exampleba\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      poolAllocationMode: BatchService\n      storageAccountId: ${exampleAccount.id}\n      storageAccountAuthenticationMode: StorageKeys\n  exampleApplication:\n    type: azure:batch:Application\n    name: example\n    properties:\n      name: example-batch-application\n      resourceGroupName: ${example.name}\n      accountName: ${exampleAccount2.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Batch` - 2024-07-01\n\n## Import\n\nBatch Applications can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:batch/application:Application example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/example-rg/providers/Microsoft.Batch/batchAccounts/exampleba/applications/example-batch-application\n```\n\n","properties":{"accountName":{"type":"string","description":"The name of the Batch account. Changing this forces a new resource to be created.\n"},"allowUpdates":{"type":"boolean","description":"A value indicating whether packages within the application may be overwritten using the same version string. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"defaultVersion":{"type":"string","description":"The package to use if a client requests the application but does not specify a version. This property can only be set to the name of an existing package.\n"},"displayName":{"type":"string","description":"The display name for the application.\n"},"name":{"type":"string","description":"The name of the application. This must be unique within the account. Changing this forces a new resource to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group that contains the Batch account. Changing this forces a new resource to be created.\n"}},"required":["accountName","name","resourceGroupName"],"inputProperties":{"accountName":{"type":"string","description":"The name of the Batch account. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"allowUpdates":{"type":"boolean","description":"A value indicating whether packages within the application may be overwritten using the same version string. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"defaultVersion":{"type":"string","description":"The package to use if a client requests the application but does not specify a version. This property can only be set to the name of an existing package.\n"},"displayName":{"type":"string","description":"The display name for the application.\n"},"name":{"type":"string","description":"The name of the application. This must be unique within the account. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group that contains the Batch account. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["accountName","resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering Application resources.\n","properties":{"accountName":{"type":"string","description":"The name of the Batch account. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"allowUpdates":{"type":"boolean","description":"A value indicating whether packages within the application may be overwritten using the same version string. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"defaultVersion":{"type":"string","description":"The package to use if a client requests the application but does not specify a version. This property can only be set to the name of an existing package.\n"},"displayName":{"type":"string","description":"The display name for the application.\n"},"name":{"type":"string","description":"The name of the application. This must be unique within the account. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group that contains the Batch account. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:batch/certificate:Certificate":{"description":"Manages a certificate in an Azure Batch account.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`azure.batch.Certificate`\" pulumi-lang-dotnet=\"`azure.batch.Certificate`\" pulumi-lang-go=\"`batch.Certificate`\" pulumi-lang-python=\"`batch.Certificate`\" pulumi-lang-yaml=\"`azure.batch.Certificate`\" pulumi-lang-java=\"`azure.batch.Certificate`\"\u003e`azure.batch.Certificate`\u003c/span\u003e resource has been deprecated due to Azure retiring the Azure Batch Account Certificates Feature, and will be removed in v5.0 of the AzureRM provider.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\nimport * as std from \"@pulumi/std\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"testbatch\",\n    location: \"West Europe\",\n});\nconst exampleAccount = new azure.storage.Account(\"example\", {\n    name: \"teststorage\",\n    resourceGroupName: example.name,\n    location: example.location,\n    accountTier: \"Standard\",\n    accountReplicationType: \"LRS\",\n});\nconst exampleAccount2 = new azure.batch.Account(\"example\", {\n    name: \"testbatchaccount\",\n    resourceGroupName: example.name,\n    location: example.location,\n    poolAllocationMode: \"BatchService\",\n    storageAccountId: exampleAccount.id,\n    storageAccountAuthenticationMode: \"StorageKeys\",\n    tags: {\n        env: \"test\",\n    },\n});\nconst exampleCertificate = new azure.batch.Certificate(\"example\", {\n    resourceGroupName: example.name,\n    accountName: exampleAccount2.name,\n    certificate: std.filebase64({\n        input: \"certificate.pfx\",\n    }).then(invoke =\u003e invoke.result),\n    format: \"Pfx\",\n    password: \"password\",\n    thumbprint: \"42C107874FD0E4A9583292A2F1098E8FE4B2EDDA\",\n    thumbprintAlgorithm: \"SHA1\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\nimport pulumi_std as std\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"testbatch\",\n    location=\"West Europe\")\nexample_account = azure.storage.Account(\"example\",\n    name=\"teststorage\",\n    resource_group_name=example.name,\n    location=example.location,\n    account_tier=\"Standard\",\n    account_replication_type=\"LRS\")\nexample_account2 = azure.batch.Account(\"example\",\n    name=\"testbatchaccount\",\n    resource_group_name=example.name,\n    location=example.location,\n    pool_allocation_mode=\"BatchService\",\n    storage_account_id=example_account.id,\n    storage_account_authentication_mode=\"StorageKeys\",\n    tags={\n        \"env\": \"test\",\n    })\nexample_certificate = azure.batch.Certificate(\"example\",\n    resource_group_name=example.name,\n    account_name=example_account2.name,\n    certificate=std.filebase64(input=\"certificate.pfx\").result,\n    format=\"Pfx\",\n    password=\"password\",\n    thumbprint=\"42C107874FD0E4A9583292A2F1098E8FE4B2EDDA\",\n    thumbprint_algorithm=\"SHA1\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"testbatch\",\n        Location = \"West Europe\",\n    });\n\n    var exampleAccount = new Azure.Storage.Account(\"example\", new()\n    {\n        Name = \"teststorage\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        AccountTier = \"Standard\",\n        AccountReplicationType = \"LRS\",\n    });\n\n    var exampleAccount2 = new Azure.Batch.Account(\"example\", new()\n    {\n        Name = \"testbatchaccount\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        PoolAllocationMode = \"BatchService\",\n        StorageAccountId = exampleAccount.Id,\n        StorageAccountAuthenticationMode = \"StorageKeys\",\n        Tags = \n        {\n            { \"env\", \"test\" },\n        },\n    });\n\n    var exampleCertificate = new Azure.Batch.Certificate(\"example\", new()\n    {\n        ResourceGroupName = example.Name,\n        AccountName = exampleAccount2.Name,\n        BatchCertificate = Std.Filebase64.Invoke(new()\n        {\n            Input = \"certificate.pfx\",\n        }).Apply(invoke =\u003e invoke.Result),\n        Format = \"Pfx\",\n        Password = \"password\",\n        Thumbprint = \"42C107874FD0E4A9583292A2F1098E8FE4B2EDDA\",\n        ThumbprintAlgorithm = \"SHA1\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/batch\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"testbatch\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := storage.NewAccount(ctx, \"example\", \u0026storage.AccountArgs{\n\t\t\tName:                   pulumi.String(\"teststorage\"),\n\t\t\tResourceGroupName:      example.Name,\n\t\t\tLocation:               example.Location,\n\t\t\tAccountTier:            pulumi.String(\"Standard\"),\n\t\t\tAccountReplicationType: pulumi.String(\"LRS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount2, err := batch.NewAccount(ctx, \"example\", \u0026batch.AccountArgs{\n\t\t\tName:                             pulumi.String(\"testbatchaccount\"),\n\t\t\tResourceGroupName:                example.Name,\n\t\t\tLocation:                         example.Location,\n\t\t\tPoolAllocationMode:               pulumi.String(\"BatchService\"),\n\t\t\tStorageAccountId:                 exampleAccount.ID(),\n\t\t\tStorageAccountAuthenticationMode: pulumi.String(\"StorageKeys\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"env\": pulumi.String(\"test\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFilebase64, err := std.Filebase64(ctx, \u0026std.Filebase64Args{\n\t\t\tInput: \"certificate.pfx\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = batch.NewCertificate(ctx, \"example\", \u0026batch.CertificateArgs{\n\t\t\tResourceGroupName:   example.Name,\n\t\t\tAccountName:         exampleAccount2.Name,\n\t\t\tCertificate:         pulumi.String(invokeFilebase64.Result),\n\t\t\tFormat:              pulumi.String(\"Pfx\"),\n\t\t\tPassword:            pulumi.String(\"password\"),\n\t\t\tThumbprint:          pulumi.String(\"42C107874FD0E4A9583292A2F1098E8FE4B2EDDA\"),\n\t\t\tThumbprintAlgorithm: pulumi.String(\"SHA1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.batch.Certificate;\nimport com.pulumi.azure.batch.CertificateArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.Filebase64Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"testbatch\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleAccount = new com.pulumi.azure.storage.Account(\"exampleAccount\", com.pulumi.azure.storage.AccountArgs.builder()\n            .name(\"teststorage\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .accountTier(\"Standard\")\n            .accountReplicationType(\"LRS\")\n            .build());\n\n        var exampleAccount2 = new com.pulumi.azure.batch.Account(\"exampleAccount2\", com.pulumi.azure.batch.AccountArgs.builder()\n            .name(\"testbatchaccount\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .poolAllocationMode(\"BatchService\")\n            .storageAccountId(exampleAccount.id())\n            .storageAccountAuthenticationMode(\"StorageKeys\")\n            .tags(Map.of(\"env\", \"test\"))\n            .build());\n\n        var exampleCertificate = new Certificate(\"exampleCertificate\", CertificateArgs.builder()\n            .resourceGroupName(example.name())\n            .accountName(exampleAccount2.name())\n            .certificate(StdFunctions.filebase64(Filebase64Args.builder()\n                .input(\"certificate.pfx\")\n                .build()).result())\n            .format(\"Pfx\")\n            .password(\"password\")\n            .thumbprint(\"42C107874FD0E4A9583292A2F1098E8FE4B2EDDA\")\n            .thumbprintAlgorithm(\"SHA1\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: testbatch\n      location: West Europe\n  exampleAccount:\n    type: azure:storage:Account\n    name: example\n    properties:\n      name: teststorage\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      accountTier: Standard\n      accountReplicationType: LRS\n  exampleAccount2:\n    type: azure:batch:Account\n    name: example\n    properties:\n      name: testbatchaccount\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      poolAllocationMode: BatchService\n      storageAccountId: ${exampleAccount.id}\n      storageAccountAuthenticationMode: StorageKeys\n      tags:\n        env: test\n  exampleCertificate:\n    type: azure:batch:Certificate\n    name: example\n    properties:\n      resourceGroupName: ${example.name}\n      accountName: ${exampleAccount2.name}\n      certificate:\n        fn::invoke:\n          function: std:filebase64\n          arguments:\n            input: certificate.pfx\n          return: result\n      format: Pfx\n      password: password\n      thumbprint: 42C107874FD0E4A9583292A2F1098E8FE4B2EDDA\n      thumbprintAlgorithm: SHA1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Batch` - 2024-07-01\n\n## Import\n\nBatch Certificates can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:batch/certificate:Certificate example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/example-rg/providers/Microsoft.Batch/batchAccounts/batch1/certificates/certificate1\n```\n\n","properties":{"accountName":{"type":"string","description":"Specifies the name of the Batch account. Changing this forces a new resource to be created.\n"},"certificate":{"type":"string","description":"The base64-encoded contents of the certificate.\n","language":{"csharp":{"name":"BatchCertificate"}},"secret":true},"format":{"type":"string","description":"The format of the certificate. Possible values are `Cer` or `Pfx`.\n"},"name":{"type":"string","description":"The generated name of the certificate.\n"},"password":{"type":"string","description":"The password to access the certificate's private key. This can only be specified when \u003cspan pulumi-lang-nodejs=\"`format`\" pulumi-lang-dotnet=\"`Format`\" pulumi-lang-go=\"`format`\" pulumi-lang-python=\"`format`\" pulumi-lang-yaml=\"`format`\" pulumi-lang-java=\"`format`\"\u003e`format`\u003c/span\u003e is `Pfx`.\n","secret":true},"publicData":{"type":"string","description":"The public key of the certificate.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the Batch account. Changing this forces a new resource to be created.\n"},"thumbprint":{"type":"string","description":"The thumbprint of the certificate. Changing this forces a new resource to be created.\n"},"thumbprintAlgorithm":{"type":"string","description":"The algorithm of the certificate thumbprint. At this time the only supported value is `SHA1`. Changing this forces a new resource to be created.\n"}},"required":["accountName","certificate","format","name","publicData","resourceGroupName","thumbprint","thumbprintAlgorithm"],"inputProperties":{"accountName":{"type":"string","description":"Specifies the name of the Batch account. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"certificate":{"type":"string","description":"The base64-encoded contents of the certificate.\n","language":{"csharp":{"name":"BatchCertificate"}},"secret":true},"format":{"type":"string","description":"The format of the certificate. Possible values are `Cer` or `Pfx`.\n"},"password":{"type":"string","description":"The password to access the certificate's private key. This can only be specified when \u003cspan pulumi-lang-nodejs=\"`format`\" pulumi-lang-dotnet=\"`Format`\" pulumi-lang-go=\"`format`\" pulumi-lang-python=\"`format`\" pulumi-lang-yaml=\"`format`\" pulumi-lang-java=\"`format`\"\u003e`format`\u003c/span\u003e is `Pfx`.\n","secret":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the Batch account. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"thumbprint":{"type":"string","description":"The thumbprint of the certificate. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"thumbprintAlgorithm":{"type":"string","description":"The algorithm of the certificate thumbprint. At this time the only supported value is `SHA1`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["accountName","certificate","format","resourceGroupName","thumbprint","thumbprintAlgorithm"],"stateInputs":{"description":"Input properties used for looking up and filtering Certificate resources.\n","properties":{"accountName":{"type":"string","description":"Specifies the name of the Batch account. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"certificate":{"type":"string","description":"The base64-encoded contents of the certificate.\n","language":{"csharp":{"name":"BatchCertificate"}},"secret":true},"format":{"type":"string","description":"The format of the certificate. Possible values are `Cer` or `Pfx`.\n"},"name":{"type":"string","description":"The generated name of the certificate.\n"},"password":{"type":"string","description":"The password to access the certificate's private key. This can only be specified when \u003cspan pulumi-lang-nodejs=\"`format`\" pulumi-lang-dotnet=\"`Format`\" pulumi-lang-go=\"`format`\" pulumi-lang-python=\"`format`\" pulumi-lang-yaml=\"`format`\" pulumi-lang-java=\"`format`\"\u003e`format`\u003c/span\u003e is `Pfx`.\n","secret":true},"publicData":{"type":"string","description":"The public key of the certificate.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the Batch account. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"thumbprint":{"type":"string","description":"The thumbprint of the certificate. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"thumbprintAlgorithm":{"type":"string","description":"The algorithm of the certificate thumbprint. At this time the only supported value is `SHA1`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:batch/job:Job":{"description":"Manages a Batch Job.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-rg\",\n    location: \"west europe\",\n});\nconst exampleAccount = new azure.batch.Account(\"example\", {\n    name: \"exampleaccount\",\n    resourceGroupName: example.name,\n    location: example.location,\n});\nconst examplePool = new azure.batch.Pool(\"example\", {\n    name: \"examplepool\",\n    resourceGroupName: example.name,\n    accountName: exampleAccount.name,\n    nodeAgentSkuId: \"batch.node.ubuntu 16.04\",\n    vmSize: \"STANDARD_A1_V2\",\n    fixedScale: {\n        targetDedicatedNodes: 1,\n    },\n    storageImageReference: {\n        publisher: \"Canonical\",\n        offer: \"0001-com-ubuntu-server-jammy\",\n        sku: \"22_04-lts\",\n        version: \"latest\",\n    },\n});\nconst exampleJob = new azure.batch.Job(\"example\", {\n    name: \"examplejob\",\n    batchPoolId: examplePool.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-rg\",\n    location=\"west europe\")\nexample_account = azure.batch.Account(\"example\",\n    name=\"exampleaccount\",\n    resource_group_name=example.name,\n    location=example.location)\nexample_pool = azure.batch.Pool(\"example\",\n    name=\"examplepool\",\n    resource_group_name=example.name,\n    account_name=example_account.name,\n    node_agent_sku_id=\"batch.node.ubuntu 16.04\",\n    vm_size=\"STANDARD_A1_V2\",\n    fixed_scale={\n        \"target_dedicated_nodes\": 1,\n    },\n    storage_image_reference={\n        \"publisher\": \"Canonical\",\n        \"offer\": \"0001-com-ubuntu-server-jammy\",\n        \"sku\": \"22_04-lts\",\n        \"version\": \"latest\",\n    })\nexample_job = azure.batch.Job(\"example\",\n    name=\"examplejob\",\n    batch_pool_id=example_pool.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-rg\",\n        Location = \"west europe\",\n    });\n\n    var exampleAccount = new Azure.Batch.Account(\"example\", new()\n    {\n        Name = \"exampleaccount\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n    });\n\n    var examplePool = new Azure.Batch.Pool(\"example\", new()\n    {\n        Name = \"examplepool\",\n        ResourceGroupName = example.Name,\n        AccountName = exampleAccount.Name,\n        NodeAgentSkuId = \"batch.node.ubuntu 16.04\",\n        VmSize = \"STANDARD_A1_V2\",\n        FixedScale = new Azure.Batch.Inputs.PoolFixedScaleArgs\n        {\n            TargetDedicatedNodes = 1,\n        },\n        StorageImageReference = new Azure.Batch.Inputs.PoolStorageImageReferenceArgs\n        {\n            Publisher = \"Canonical\",\n            Offer = \"0001-com-ubuntu-server-jammy\",\n            Sku = \"22_04-lts\",\n            Version = \"latest\",\n        },\n    });\n\n    var exampleJob = new Azure.Batch.Job(\"example\", new()\n    {\n        Name = \"examplejob\",\n        BatchPoolId = examplePool.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/batch\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-rg\"),\n\t\t\tLocation: pulumi.String(\"west europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := batch.NewAccount(ctx, \"example\", \u0026batch.AccountArgs{\n\t\t\tName:              pulumi.String(\"exampleaccount\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texamplePool, err := batch.NewPool(ctx, \"example\", \u0026batch.PoolArgs{\n\t\t\tName:              pulumi.String(\"examplepool\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tAccountName:       exampleAccount.Name,\n\t\t\tNodeAgentSkuId:    pulumi.String(\"batch.node.ubuntu 16.04\"),\n\t\t\tVmSize:            pulumi.String(\"STANDARD_A1_V2\"),\n\t\t\tFixedScale: \u0026batch.PoolFixedScaleArgs{\n\t\t\t\tTargetDedicatedNodes: pulumi.Int(1),\n\t\t\t},\n\t\t\tStorageImageReference: \u0026batch.PoolStorageImageReferenceArgs{\n\t\t\t\tPublisher: pulumi.String(\"Canonical\"),\n\t\t\t\tOffer:     pulumi.String(\"0001-com-ubuntu-server-jammy\"),\n\t\t\t\tSku:       pulumi.String(\"22_04-lts\"),\n\t\t\t\tVersion:   pulumi.String(\"latest\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = batch.NewJob(ctx, \"example\", \u0026batch.JobArgs{\n\t\t\tName:        pulumi.String(\"examplejob\"),\n\t\t\tBatchPoolId: examplePool.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.batch.Account;\nimport com.pulumi.azure.batch.AccountArgs;\nimport com.pulumi.azure.batch.Pool;\nimport com.pulumi.azure.batch.PoolArgs;\nimport com.pulumi.azure.batch.inputs.PoolFixedScaleArgs;\nimport com.pulumi.azure.batch.inputs.PoolStorageImageReferenceArgs;\nimport com.pulumi.azure.batch.Job;\nimport com.pulumi.azure.batch.JobArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-rg\")\n            .location(\"west europe\")\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"exampleaccount\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .build());\n\n        var examplePool = new Pool(\"examplePool\", PoolArgs.builder()\n            .name(\"examplepool\")\n            .resourceGroupName(example.name())\n            .accountName(exampleAccount.name())\n            .nodeAgentSkuId(\"batch.node.ubuntu 16.04\")\n            .vmSize(\"STANDARD_A1_V2\")\n            .fixedScale(PoolFixedScaleArgs.builder()\n                .targetDedicatedNodes(1)\n                .build())\n            .storageImageReference(PoolStorageImageReferenceArgs.builder()\n                .publisher(\"Canonical\")\n                .offer(\"0001-com-ubuntu-server-jammy\")\n                .sku(\"22_04-lts\")\n                .version(\"latest\")\n                .build())\n            .build());\n\n        var exampleJob = new Job(\"exampleJob\", JobArgs.builder()\n            .name(\"examplejob\")\n            .batchPoolId(examplePool.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-rg\n      location: west europe\n  exampleAccount:\n    type: azure:batch:Account\n    name: example\n    properties:\n      name: exampleaccount\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n  examplePool:\n    type: azure:batch:Pool\n    name: example\n    properties:\n      name: examplepool\n      resourceGroupName: ${example.name}\n      accountName: ${exampleAccount.name}\n      nodeAgentSkuId: batch.node.ubuntu 16.04\n      vmSize: STANDARD_A1_V2\n      fixedScale:\n        targetDedicatedNodes: 1\n      storageImageReference:\n        publisher: Canonical\n        offer: 0001-com-ubuntu-server-jammy\n        sku: 22_04-lts\n        version: latest\n  exampleJob:\n    type: azure:batch:Job\n    name: example\n    properties:\n      name: examplejob\n      batchPoolId: ${examplePool.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nBatch Jobs can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:batch/job:Job example /subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/resGroup1/providers/Microsoft.Batch/batchAccounts/account1/pools/pool1/jobs/job1\n```\n\n","properties":{"batchPoolId":{"type":"string","description":"The ID of the Batch Pool. Changing this forces a new Batch Job to be created.\n"},"commonEnvironmentProperties":{"type":"object","additionalProperties":{"type":"string"},"description":"Specifies a map of common environment settings applied to this Batch Job. Changing this forces a new Batch Job to be created.\n"},"displayName":{"type":"string","description":"The display name of this Batch Job. Changing this forces a new Batch Job to be created.\n"},"name":{"type":"string","description":"The name which should be used for this Batch Job. Changing this forces a new Batch Job to be created.\n"},"priority":{"type":"integer","description":"The priority of this Batch Job, possible values can range from -1000 (lowest) to 1000 (highest). Defaults to \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"taskRetryMaximum":{"type":"integer","description":"The number of retries to each Batch Task belongs to this Batch Job. If this is set to \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e, the Batch service does not retry Tasks. If this is set to `-1`, the Batch service retries Batch Tasks without limit.\n"}},"required":["batchPoolId","name"],"inputProperties":{"batchPoolId":{"type":"string","description":"The ID of the Batch Pool. Changing this forces a new Batch Job to be created.\n","willReplaceOnChanges":true},"commonEnvironmentProperties":{"type":"object","additionalProperties":{"type":"string"},"description":"Specifies a map of common environment settings applied to this Batch Job. Changing this forces a new Batch Job to be created.\n","willReplaceOnChanges":true},"displayName":{"type":"string","description":"The display name of this Batch Job. Changing this forces a new Batch Job to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Batch Job. Changing this forces a new Batch Job to be created.\n","willReplaceOnChanges":true},"priority":{"type":"integer","description":"The priority of this Batch Job, possible values can range from -1000 (lowest) to 1000 (highest). Defaults to \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"taskRetryMaximum":{"type":"integer","description":"The number of retries to each Batch Task belongs to this Batch Job. If this is set to \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e, the Batch service does not retry Tasks. If this is set to `-1`, the Batch service retries Batch Tasks without limit.\n"}},"requiredInputs":["batchPoolId"],"stateInputs":{"description":"Input properties used for looking up and filtering Job resources.\n","properties":{"batchPoolId":{"type":"string","description":"The ID of the Batch Pool. Changing this forces a new Batch Job to be created.\n","willReplaceOnChanges":true},"commonEnvironmentProperties":{"type":"object","additionalProperties":{"type":"string"},"description":"Specifies a map of common environment settings applied to this Batch Job. Changing this forces a new Batch Job to be created.\n","willReplaceOnChanges":true},"displayName":{"type":"string","description":"The display name of this Batch Job. Changing this forces a new Batch Job to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Batch Job. Changing this forces a new Batch Job to be created.\n","willReplaceOnChanges":true},"priority":{"type":"integer","description":"The priority of this Batch Job, possible values can range from -1000 (lowest) to 1000 (highest). Defaults to \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"taskRetryMaximum":{"type":"integer","description":"The number of retries to each Batch Task belongs to this Batch Job. If this is set to \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e, the Batch service does not retry Tasks. If this is set to `-1`, the Batch service retries Batch Tasks without limit.\n"}},"type":"object"}},"azure:batch/pool:Pool":{"description":"Manages an Azure Batch pool.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"testaccbatch\",\n    location: \"West Europe\",\n});\nconst exampleAccount = new azure.storage.Account(\"example\", {\n    name: \"testaccsa\",\n    resourceGroupName: example.name,\n    location: example.location,\n    accountTier: \"Standard\",\n    accountReplicationType: \"LRS\",\n});\nconst exampleAccount2 = new azure.batch.Account(\"example\", {\n    name: \"testaccbatch\",\n    resourceGroupName: example.name,\n    location: example.location,\n    poolAllocationMode: \"BatchService\",\n    storageAccountId: exampleAccount.id,\n    storageAccountAuthenticationMode: \"StorageKeys\",\n    tags: {\n        env: \"test\",\n    },\n});\nconst examplePool = new azure.batch.Pool(\"example\", {\n    name: \"testaccpool\",\n    resourceGroupName: example.name,\n    accountName: exampleAccount2.name,\n    displayName: \"Test Acc Pool Auto\",\n    vmSize: \"STANDARD_A1_V2\",\n    nodeAgentSkuId: \"batch.node.ubuntu 20.04\",\n    autoScale: {\n        evaluationInterval: \"PT15M\",\n        formula: `      startingNumberOfVMs = 1;\n      maxNumberofVMs = 25;\n      pendingTaskSamplePercent = PendingTasks.GetSamplePercent(180 * TimeInterval_Second);\n      pendingTaskSamples = pendingTaskSamplePercent \u003c 70 ? startingNumberOfVMs : avg(PendingTasks.GetSample(180 *   TimeInterval_Second));\n      TargetDedicatedNodes=min(maxNumberofVMs, pendingTaskSamples);\n`,\n    },\n    storageImageReference: {\n        publisher: \"microsoft-azure-batch\",\n        offer: \"ubuntu-server-container\",\n        sku: \"20-04-lts\",\n        version: \"latest\",\n    },\n    containerConfiguration: {\n        type: \"DockerCompatible\",\n        containerRegistries: [{\n            registryServer: \"docker.io\",\n            userName: \"login\",\n            password: \"apassword\",\n        }],\n    },\n    startTask: {\n        commandLine: \"echo 'Hello World from $env'\",\n        taskRetryMaximum: 1,\n        waitForSuccess: true,\n        commonEnvironmentProperties: {\n            env: \"TEST\",\n        },\n        userIdentity: {\n            autoUser: {\n                elevationLevel: \"NonAdmin\",\n                scope: \"Task\",\n            },\n        },\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"testaccbatch\",\n    location=\"West Europe\")\nexample_account = azure.storage.Account(\"example\",\n    name=\"testaccsa\",\n    resource_group_name=example.name,\n    location=example.location,\n    account_tier=\"Standard\",\n    account_replication_type=\"LRS\")\nexample_account2 = azure.batch.Account(\"example\",\n    name=\"testaccbatch\",\n    resource_group_name=example.name,\n    location=example.location,\n    pool_allocation_mode=\"BatchService\",\n    storage_account_id=example_account.id,\n    storage_account_authentication_mode=\"StorageKeys\",\n    tags={\n        \"env\": \"test\",\n    })\nexample_pool = azure.batch.Pool(\"example\",\n    name=\"testaccpool\",\n    resource_group_name=example.name,\n    account_name=example_account2.name,\n    display_name=\"Test Acc Pool Auto\",\n    vm_size=\"STANDARD_A1_V2\",\n    node_agent_sku_id=\"batch.node.ubuntu 20.04\",\n    auto_scale={\n        \"evaluation_interval\": \"PT15M\",\n        \"formula\": \"\"\"      startingNumberOfVMs = 1;\n      maxNumberofVMs = 25;\n      pendingTaskSamplePercent = $PendingTasks.GetSamplePercent(180 * TimeInterval_Second);\n      pendingTaskSamples = pendingTaskSamplePercent \u003c 70 ? startingNumberOfVMs : avg($PendingTasks.GetSample(180 *   TimeInterval_Second));\n      $TargetDedicatedNodes=min(maxNumberofVMs, pendingTaskSamples);\n\"\"\",\n    },\n    storage_image_reference={\n        \"publisher\": \"microsoft-azure-batch\",\n        \"offer\": \"ubuntu-server-container\",\n        \"sku\": \"20-04-lts\",\n        \"version\": \"latest\",\n    },\n    container_configuration={\n        \"type\": \"DockerCompatible\",\n        \"container_registries\": [{\n            \"registry_server\": \"docker.io\",\n            \"user_name\": \"login\",\n            \"password\": \"apassword\",\n        }],\n    },\n    start_task={\n        \"command_line\": \"echo 'Hello World from $env'\",\n        \"task_retry_maximum\": 1,\n        \"wait_for_success\": True,\n        \"common_environment_properties\": {\n            \"env\": \"TEST\",\n        },\n        \"user_identity\": {\n            \"auto_user\": {\n                \"elevation_level\": \"NonAdmin\",\n                \"scope\": \"Task\",\n            },\n        },\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"testaccbatch\",\n        Location = \"West Europe\",\n    });\n\n    var exampleAccount = new Azure.Storage.Account(\"example\", new()\n    {\n        Name = \"testaccsa\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        AccountTier = \"Standard\",\n        AccountReplicationType = \"LRS\",\n    });\n\n    var exampleAccount2 = new Azure.Batch.Account(\"example\", new()\n    {\n        Name = \"testaccbatch\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        PoolAllocationMode = \"BatchService\",\n        StorageAccountId = exampleAccount.Id,\n        StorageAccountAuthenticationMode = \"StorageKeys\",\n        Tags = \n        {\n            { \"env\", \"test\" },\n        },\n    });\n\n    var examplePool = new Azure.Batch.Pool(\"example\", new()\n    {\n        Name = \"testaccpool\",\n        ResourceGroupName = example.Name,\n        AccountName = exampleAccount2.Name,\n        DisplayName = \"Test Acc Pool Auto\",\n        VmSize = \"STANDARD_A1_V2\",\n        NodeAgentSkuId = \"batch.node.ubuntu 20.04\",\n        AutoScale = new Azure.Batch.Inputs.PoolAutoScaleArgs\n        {\n            EvaluationInterval = \"PT15M\",\n            Formula = @\"      startingNumberOfVMs = 1;\n      maxNumberofVMs = 25;\n      pendingTaskSamplePercent = $PendingTasks.GetSamplePercent(180 * TimeInterval_Second);\n      pendingTaskSamples = pendingTaskSamplePercent \u003c 70 ? startingNumberOfVMs : avg($PendingTasks.GetSample(180 *   TimeInterval_Second));\n      $TargetDedicatedNodes=min(maxNumberofVMs, pendingTaskSamples);\n\",\n        },\n        StorageImageReference = new Azure.Batch.Inputs.PoolStorageImageReferenceArgs\n        {\n            Publisher = \"microsoft-azure-batch\",\n            Offer = \"ubuntu-server-container\",\n            Sku = \"20-04-lts\",\n            Version = \"latest\",\n        },\n        ContainerConfiguration = new Azure.Batch.Inputs.PoolContainerConfigurationArgs\n        {\n            Type = \"DockerCompatible\",\n            ContainerRegistries = new[]\n            {\n                new Azure.Batch.Inputs.PoolContainerConfigurationContainerRegistryArgs\n                {\n                    RegistryServer = \"docker.io\",\n                    UserName = \"login\",\n                    Password = \"apassword\",\n                },\n            },\n        },\n        StartTask = new Azure.Batch.Inputs.PoolStartTaskArgs\n        {\n            CommandLine = \"echo 'Hello World from $env'\",\n            TaskRetryMaximum = 1,\n            WaitForSuccess = true,\n            CommonEnvironmentProperties = \n            {\n                { \"env\", \"TEST\" },\n            },\n            UserIdentity = new Azure.Batch.Inputs.PoolStartTaskUserIdentityArgs\n            {\n                AutoUser = new Azure.Batch.Inputs.PoolStartTaskUserIdentityAutoUserArgs\n                {\n                    ElevationLevel = \"NonAdmin\",\n                    Scope = \"Task\",\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/batch\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"testaccbatch\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := storage.NewAccount(ctx, \"example\", \u0026storage.AccountArgs{\n\t\t\tName:                   pulumi.String(\"testaccsa\"),\n\t\t\tResourceGroupName:      example.Name,\n\t\t\tLocation:               example.Location,\n\t\t\tAccountTier:            pulumi.String(\"Standard\"),\n\t\t\tAccountReplicationType: pulumi.String(\"LRS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount2, err := batch.NewAccount(ctx, \"example\", \u0026batch.AccountArgs{\n\t\t\tName:                             pulumi.String(\"testaccbatch\"),\n\t\t\tResourceGroupName:                example.Name,\n\t\t\tLocation:                         example.Location,\n\t\t\tPoolAllocationMode:               pulumi.String(\"BatchService\"),\n\t\t\tStorageAccountId:                 exampleAccount.ID(),\n\t\t\tStorageAccountAuthenticationMode: pulumi.String(\"StorageKeys\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"env\": pulumi.String(\"test\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = batch.NewPool(ctx, \"example\", \u0026batch.PoolArgs{\n\t\t\tName:              pulumi.String(\"testaccpool\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tAccountName:       exampleAccount2.Name,\n\t\t\tDisplayName:       pulumi.String(\"Test Acc Pool Auto\"),\n\t\t\tVmSize:            pulumi.String(\"STANDARD_A1_V2\"),\n\t\t\tNodeAgentSkuId:    pulumi.String(\"batch.node.ubuntu 20.04\"),\n\t\t\tAutoScale: \u0026batch.PoolAutoScaleArgs{\n\t\t\t\tEvaluationInterval: pulumi.String(\"PT15M\"),\n\t\t\t\tFormula: pulumi.String(`      startingNumberOfVMs = 1;\n      maxNumberofVMs = 25;\n      pendingTaskSamplePercent = $PendingTasks.GetSamplePercent(180 * TimeInterval_Second);\n      pendingTaskSamples = pendingTaskSamplePercent \u003c 70 ? startingNumberOfVMs : avg($PendingTasks.GetSample(180 *   TimeInterval_Second));\n      $TargetDedicatedNodes=min(maxNumberofVMs, pendingTaskSamples);\n`),\n\t\t\t},\n\t\t\tStorageImageReference: \u0026batch.PoolStorageImageReferenceArgs{\n\t\t\t\tPublisher: pulumi.String(\"microsoft-azure-batch\"),\n\t\t\t\tOffer:     pulumi.String(\"ubuntu-server-container\"),\n\t\t\t\tSku:       pulumi.String(\"20-04-lts\"),\n\t\t\t\tVersion:   pulumi.String(\"latest\"),\n\t\t\t},\n\t\t\tContainerConfiguration: \u0026batch.PoolContainerConfigurationArgs{\n\t\t\t\tType: pulumi.String(\"DockerCompatible\"),\n\t\t\t\tContainerRegistries: batch.PoolContainerConfigurationContainerRegistryArray{\n\t\t\t\t\t\u0026batch.PoolContainerConfigurationContainerRegistryArgs{\n\t\t\t\t\t\tRegistryServer: pulumi.String(\"docker.io\"),\n\t\t\t\t\t\tUserName:       pulumi.String(\"login\"),\n\t\t\t\t\t\tPassword:       pulumi.String(\"apassword\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tStartTask: \u0026batch.PoolStartTaskArgs{\n\t\t\t\tCommandLine:      pulumi.String(\"echo 'Hello World from $env'\"),\n\t\t\t\tTaskRetryMaximum: pulumi.Int(1),\n\t\t\t\tWaitForSuccess:   pulumi.Bool(true),\n\t\t\t\tCommonEnvironmentProperties: pulumi.StringMap{\n\t\t\t\t\t\"env\": pulumi.String(\"TEST\"),\n\t\t\t\t},\n\t\t\t\tUserIdentity: \u0026batch.PoolStartTaskUserIdentityArgs{\n\t\t\t\t\tAutoUser: \u0026batch.PoolStartTaskUserIdentityAutoUserArgs{\n\t\t\t\t\t\tElevationLevel: pulumi.String(\"NonAdmin\"),\n\t\t\t\t\t\tScope:          pulumi.String(\"Task\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.batch.Pool;\nimport com.pulumi.azure.batch.PoolArgs;\nimport com.pulumi.azure.batch.inputs.PoolAutoScaleArgs;\nimport com.pulumi.azure.batch.inputs.PoolStorageImageReferenceArgs;\nimport com.pulumi.azure.batch.inputs.PoolContainerConfigurationArgs;\nimport com.pulumi.azure.batch.inputs.PoolStartTaskArgs;\nimport com.pulumi.azure.batch.inputs.PoolStartTaskUserIdentityArgs;\nimport com.pulumi.azure.batch.inputs.PoolStartTaskUserIdentityAutoUserArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"testaccbatch\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleAccount = new com.pulumi.azure.storage.Account(\"exampleAccount\", com.pulumi.azure.storage.AccountArgs.builder()\n            .name(\"testaccsa\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .accountTier(\"Standard\")\n            .accountReplicationType(\"LRS\")\n            .build());\n\n        var exampleAccount2 = new com.pulumi.azure.batch.Account(\"exampleAccount2\", com.pulumi.azure.batch.AccountArgs.builder()\n            .name(\"testaccbatch\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .poolAllocationMode(\"BatchService\")\n            .storageAccountId(exampleAccount.id())\n            .storageAccountAuthenticationMode(\"StorageKeys\")\n            .tags(Map.of(\"env\", \"test\"))\n            .build());\n\n        var examplePool = new Pool(\"examplePool\", PoolArgs.builder()\n            .name(\"testaccpool\")\n            .resourceGroupName(example.name())\n            .accountName(exampleAccount2.name())\n            .displayName(\"Test Acc Pool Auto\")\n            .vmSize(\"STANDARD_A1_V2\")\n            .nodeAgentSkuId(\"batch.node.ubuntu 20.04\")\n            .autoScale(PoolAutoScaleArgs.builder()\n                .evaluationInterval(\"PT15M\")\n                .formula(\"\"\"\n      startingNumberOfVMs = 1;\n      maxNumberofVMs = 25;\n      pendingTaskSamplePercent = $PendingTasks.GetSamplePercent(180 * TimeInterval_Second);\n      pendingTaskSamples = pendingTaskSamplePercent \u003c 70 ? startingNumberOfVMs : avg($PendingTasks.GetSample(180 *   TimeInterval_Second));\n      $TargetDedicatedNodes=min(maxNumberofVMs, pendingTaskSamples);\n                \"\"\")\n                .build())\n            .storageImageReference(PoolStorageImageReferenceArgs.builder()\n                .publisher(\"microsoft-azure-batch\")\n                .offer(\"ubuntu-server-container\")\n                .sku(\"20-04-lts\")\n                .version(\"latest\")\n                .build())\n            .containerConfiguration(PoolContainerConfigurationArgs.builder()\n                .type(\"DockerCompatible\")\n                .containerRegistries(PoolContainerConfigurationContainerRegistryArgs.builder()\n                    .registryServer(\"docker.io\")\n                    .userName(\"login\")\n                    .password(\"apassword\")\n                    .build())\n                .build())\n            .startTask(PoolStartTaskArgs.builder()\n                .commandLine(\"echo 'Hello World from $env'\")\n                .taskRetryMaximum(1)\n                .waitForSuccess(true)\n                .commonEnvironmentProperties(Map.of(\"env\", \"TEST\"))\n                .userIdentity(PoolStartTaskUserIdentityArgs.builder()\n                    .autoUser(PoolStartTaskUserIdentityAutoUserArgs.builder()\n                        .elevationLevel(\"NonAdmin\")\n                        .scope(\"Task\")\n                        .build())\n                    .build())\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: testaccbatch\n      location: West Europe\n  exampleAccount:\n    type: azure:storage:Account\n    name: example\n    properties:\n      name: testaccsa\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      accountTier: Standard\n      accountReplicationType: LRS\n  exampleAccount2:\n    type: azure:batch:Account\n    name: example\n    properties:\n      name: testaccbatch\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      poolAllocationMode: BatchService\n      storageAccountId: ${exampleAccount.id}\n      storageAccountAuthenticationMode: StorageKeys\n      tags:\n        env: test\n  examplePool:\n    type: azure:batch:Pool\n    name: example\n    properties:\n      name: testaccpool\n      resourceGroupName: ${example.name}\n      accountName: ${exampleAccount2.name}\n      displayName: Test Acc Pool Auto\n      vmSize: STANDARD_A1_V2\n      nodeAgentSkuId: batch.node.ubuntu 20.04\n      autoScale:\n        evaluationInterval: PT15M\n        formula: |2\n                startingNumberOfVMs = 1;\n                maxNumberofVMs = 25;\n                pendingTaskSamplePercent = $PendingTasks.GetSamplePercent(180 * TimeInterval_Second);\n                pendingTaskSamples = pendingTaskSamplePercent \u003c 70 ? startingNumberOfVMs : avg($PendingTasks.GetSample(180 *   TimeInterval_Second));\n                $TargetDedicatedNodes=min(maxNumberofVMs, pendingTaskSamples);\n      storageImageReference:\n        publisher: microsoft-azure-batch\n        offer: ubuntu-server-container\n        sku: 20-04-lts\n        version: latest\n      containerConfiguration:\n        type: DockerCompatible\n        containerRegistries:\n          - registryServer: docker.io\n            userName: login\n            password: apassword\n      startTask:\n        commandLine: echo 'Hello World from $env'\n        taskRetryMaximum: 1\n        waitForSuccess: true\n        commonEnvironmentProperties:\n          env: TEST\n        userIdentity:\n          autoUser:\n            elevationLevel: NonAdmin\n            scope: Task\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Batch` - 2024-07-01\n\n## Import\n\nBatch Pools can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:batch/pool:Pool example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myGroup1/providers/Microsoft.Batch/batchAccounts/myBatchAccount1/pools/myBatchPool1\n```\n\n","properties":{"accountName":{"type":"string","description":"Specifies the name of the Batch account in which the pool will be created. Changing this forces a new resource to be created.\n"},"autoScale":{"$ref":"#/types/azure:batch/PoolAutoScale:PoolAutoScale","description":"A \u003cspan pulumi-lang-nodejs=\"`autoScale`\" pulumi-lang-dotnet=\"`AutoScale`\" pulumi-lang-go=\"`autoScale`\" pulumi-lang-python=\"`auto_scale`\" pulumi-lang-yaml=\"`autoScale`\" pulumi-lang-java=\"`autoScale`\"\u003e`auto_scale`\u003c/span\u003e block that describes the scale settings when using auto scale as defined below.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`fixedScale`\" pulumi-lang-dotnet=\"`FixedScale`\" pulumi-lang-go=\"`fixedScale`\" pulumi-lang-python=\"`fixed_scale`\" pulumi-lang-yaml=\"`fixedScale`\" pulumi-lang-java=\"`fixedScale`\"\u003e`fixed_scale`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`autoScale`\" pulumi-lang-dotnet=\"`AutoScale`\" pulumi-lang-go=\"`autoScale`\" pulumi-lang-python=\"`auto_scale`\" pulumi-lang-yaml=\"`autoScale`\" pulumi-lang-java=\"`autoScale`\"\u003e`auto_scale`\u003c/span\u003e blocks cannot be used both at the same time.\n"},"certificates":{"type":"array","items":{"$ref":"#/types/azure:batch/PoolCertificate:PoolCertificate"},"deprecationMessage":"the \u003cspan pulumi-lang-nodejs=\"`certificate`\" pulumi-lang-dotnet=\"`Certificate`\" pulumi-lang-go=\"`certificate`\" pulumi-lang-python=\"`certificate`\" pulumi-lang-yaml=\"`certificate`\" pulumi-lang-java=\"`certificate`\"\u003e`certificate`\u003c/span\u003e property has been deprecated and will be removed in v5.0 of the AzureRM provider."},"containerConfiguration":{"$ref":"#/types/azure:batch/PoolContainerConfiguration:PoolContainerConfiguration","description":"The container configuration used in the pool's VMs. One \u003cspan pulumi-lang-nodejs=\"`containerConfiguration`\" pulumi-lang-dotnet=\"`ContainerConfiguration`\" pulumi-lang-go=\"`containerConfiguration`\" pulumi-lang-python=\"`container_configuration`\" pulumi-lang-yaml=\"`containerConfiguration`\" pulumi-lang-java=\"`containerConfiguration`\"\u003e`container_configuration`\u003c/span\u003e block as defined below.\n"},"dataDisks":{"type":"array","items":{"$ref":"#/types/azure:batch/PoolDataDisk:PoolDataDisk"},"description":"A \u003cspan pulumi-lang-nodejs=\"`dataDisks`\" pulumi-lang-dotnet=\"`DataDisks`\" pulumi-lang-go=\"`dataDisks`\" pulumi-lang-python=\"`data_disks`\" pulumi-lang-yaml=\"`dataDisks`\" pulumi-lang-java=\"`dataDisks`\"\u003e`data_disks`\u003c/span\u003e block describes the data disk settings as defined below.\n"},"diskEncryptions":{"type":"array","items":{"$ref":"#/types/azure:batch/PoolDiskEncryption:PoolDiskEncryption"},"description":"A \u003cspan pulumi-lang-nodejs=\"`diskEncryption`\" pulumi-lang-dotnet=\"`DiskEncryption`\" pulumi-lang-go=\"`diskEncryption`\" pulumi-lang-python=\"`disk_encryption`\" pulumi-lang-yaml=\"`diskEncryption`\" pulumi-lang-java=\"`diskEncryption`\"\u003e`disk_encryption`\u003c/span\u003e block, as defined below, describes the disk encryption configuration applied on compute nodes in the pool. Disk encryption configuration is not supported on Linux pool created with Virtual Machine Image or Shared Image Gallery Image.\n"},"displayName":{"type":"string","description":"Specifies the display name of the Batch pool. Changing this forces a new resource to be created.\n"},"extensions":{"type":"array","items":{"$ref":"#/types/azure:batch/PoolExtension:PoolExtension"},"description":"An \u003cspan pulumi-lang-nodejs=\"`extensions`\" pulumi-lang-dotnet=\"`Extensions`\" pulumi-lang-go=\"`extensions`\" pulumi-lang-python=\"`extensions`\" pulumi-lang-yaml=\"`extensions`\" pulumi-lang-java=\"`extensions`\"\u003e`extensions`\u003c/span\u003e block as defined below.\n"},"fixedScale":{"$ref":"#/types/azure:batch/PoolFixedScale:PoolFixedScale","description":"A \u003cspan pulumi-lang-nodejs=\"`fixedScale`\" pulumi-lang-dotnet=\"`FixedScale`\" pulumi-lang-go=\"`fixedScale`\" pulumi-lang-python=\"`fixed_scale`\" pulumi-lang-yaml=\"`fixedScale`\" pulumi-lang-java=\"`fixedScale`\"\u003e`fixed_scale`\u003c/span\u003e block that describes the scale settings when using fixed scale as defined below.\n"},"identity":{"$ref":"#/types/azure:batch/PoolIdentity:PoolIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"interNodeCommunication":{"type":"string","description":"Whether the pool permits direct communication between nodes. This imposes restrictions on which nodes can be assigned to the pool. Enabling this value can reduce the chance of the requested number of nodes to be allocated in the pool. Values allowed are `Disabled` and `Enabled`. Defaults to `Enabled`.\n"},"licenseType":{"type":"string","description":"The type of on-premises license to be used when deploying the operating system. This only applies to images that contain the Windows operating system, and should only be used when you hold valid on-premises licenses for the nodes which will be deployed. If omitted, no on-premises licensing discount is applied. Values are: \"Windows_Server\" - The on-premises license is for Windows Server. \"Windows_Client\" - The on-premises license is for Windows Client.\n"},"maxTasksPerNode":{"type":"integer","description":"Specifies the maximum number of tasks that can run concurrently on a single compute node in the pool. Defaults to \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e. Changing this forces a new resource to be created.\n"},"metadata":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of custom batch pool metadata.\n"},"mounts":{"type":"array","items":{"$ref":"#/types/azure:batch/PoolMount:PoolMount"},"description":"A \u003cspan pulumi-lang-nodejs=\"`mount`\" pulumi-lang-dotnet=\"`Mount`\" pulumi-lang-go=\"`mount`\" pulumi-lang-python=\"`mount`\" pulumi-lang-yaml=\"`mount`\" pulumi-lang-java=\"`mount`\"\u003e`mount`\u003c/span\u003e block defined as below.\n"},"name":{"type":"string","description":"Specifies the name of the Batch pool. Changing this forces a new resource to be created.\n"},"networkConfiguration":{"$ref":"#/types/azure:batch/PoolNetworkConfiguration:PoolNetworkConfiguration","description":"A \u003cspan pulumi-lang-nodejs=\"`networkConfiguration`\" pulumi-lang-dotnet=\"`NetworkConfiguration`\" pulumi-lang-go=\"`networkConfiguration`\" pulumi-lang-python=\"`network_configuration`\" pulumi-lang-yaml=\"`networkConfiguration`\" pulumi-lang-java=\"`networkConfiguration`\"\u003e`network_configuration`\u003c/span\u003e block that describes the network configurations for the Batch pool as defined below. Changing this forces a new resource to be created.\n"},"nodeAgentSkuId":{"type":"string","description":"Specifies the SKU of the node agents that will be created in the Batch pool. Changing this forces a new resource to be created.\n"},"nodePlacements":{"type":"array","items":{"$ref":"#/types/azure:batch/PoolNodePlacement:PoolNodePlacement"},"description":"A \u003cspan pulumi-lang-nodejs=\"`nodePlacement`\" pulumi-lang-dotnet=\"`NodePlacement`\" pulumi-lang-go=\"`nodePlacement`\" pulumi-lang-python=\"`node_placement`\" pulumi-lang-yaml=\"`nodePlacement`\" pulumi-lang-java=\"`nodePlacement`\"\u003e`node_placement`\u003c/span\u003e block that describes the placement policy for allocating nodes in the pool as defined below.\n"},"osDiskPlacement":{"type":"string","description":"Specifies the ephemeral disk placement for operating system disk for all VMs in the pool. This property can be used by user in the request to choose which location the operating system should be in. e.g., cache disk space for Ephemeral OS disk provisioning. For more information on Ephemeral OS disk size requirements, please refer to Ephemeral OS disk size requirements for Windows VMs at \u003chttps://docs.microsoft.com/en-us/azure/virtual-machines/windows/ephemeral-os-disks#size-requirements\u003e and Linux VMs at \u003chttps://docs.microsoft.com/en-us/azure/virtual-machines/linux/ephemeral-os-disks#size-requirements\u003e. The only possible value is `CacheDisk`.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the Batch pool. Changing this forces a new resource to be created.\n"},"securityProfile":{"$ref":"#/types/azure:batch/PoolSecurityProfile:PoolSecurityProfile","description":"A \u003cspan pulumi-lang-nodejs=\"`securityProfile`\" pulumi-lang-dotnet=\"`SecurityProfile`\" pulumi-lang-go=\"`securityProfile`\" pulumi-lang-python=\"`security_profile`\" pulumi-lang-yaml=\"`securityProfile`\" pulumi-lang-java=\"`securityProfile`\"\u003e`security_profile`\u003c/span\u003e block that describes the security settings for the Batch pool as defined below. Changing this forces a new resource to be created.\n"},"startTask":{"$ref":"#/types/azure:batch/PoolStartTask:PoolStartTask","description":"A \u003cspan pulumi-lang-nodejs=\"`startTask`\" pulumi-lang-dotnet=\"`StartTask`\" pulumi-lang-go=\"`startTask`\" pulumi-lang-python=\"`start_task`\" pulumi-lang-yaml=\"`startTask`\" pulumi-lang-java=\"`startTask`\"\u003e`start_task`\u003c/span\u003e block that describes the start task settings for the Batch pool as defined below.\n"},"stopPendingResizeOperation":{"type":"boolean","description":"Whether to stop if there is a pending resize operation on this pool.\n"},"storageImageReference":{"$ref":"#/types/azure:batch/PoolStorageImageReference:PoolStorageImageReference","description":"A \u003cspan pulumi-lang-nodejs=\"`storageImageReference`\" pulumi-lang-dotnet=\"`StorageImageReference`\" pulumi-lang-go=\"`storageImageReference`\" pulumi-lang-python=\"`storage_image_reference`\" pulumi-lang-yaml=\"`storageImageReference`\" pulumi-lang-java=\"`storageImageReference`\"\u003e`storage_image_reference`\u003c/span\u003e block for the virtual machines that will compose the Batch pool as defined below. Changing this forces a new resource to be created.\n"},"targetNodeCommunicationMode":{"type":"string","description":"The desired node communication mode for the pool. Possible values are `Classic`, `Default` and `Simplified`.\n"},"taskSchedulingPolicies":{"type":"array","items":{"$ref":"#/types/azure:batch/PoolTaskSchedulingPolicy:PoolTaskSchedulingPolicy"},"description":"A \u003cspan pulumi-lang-nodejs=\"`taskSchedulingPolicy`\" pulumi-lang-dotnet=\"`TaskSchedulingPolicy`\" pulumi-lang-go=\"`taskSchedulingPolicy`\" pulumi-lang-python=\"`task_scheduling_policy`\" pulumi-lang-yaml=\"`taskSchedulingPolicy`\" pulumi-lang-java=\"`taskSchedulingPolicy`\"\u003e`task_scheduling_policy`\u003c/span\u003e block that describes how tasks are distributed across compute nodes in a pool as defined below. If not specified, the default is spread as defined below.\n"},"userAccounts":{"type":"array","items":{"$ref":"#/types/azure:batch/PoolUserAccount:PoolUserAccount"},"description":"A \u003cspan pulumi-lang-nodejs=\"`userAccounts`\" pulumi-lang-dotnet=\"`UserAccounts`\" pulumi-lang-go=\"`userAccounts`\" pulumi-lang-python=\"`user_accounts`\" pulumi-lang-yaml=\"`userAccounts`\" pulumi-lang-java=\"`userAccounts`\"\u003e`user_accounts`\u003c/span\u003e block that describes the list of user accounts to be created on each node in the pool as defined below.\n"},"vmSize":{"type":"string","description":"Specifies the size of the VM created in the Batch pool. Changing this forces a new resource to be created.\n"},"windows":{"type":"array","items":{"$ref":"#/types/azure:batch/PoolWindow:PoolWindow"},"description":"A \u003cspan pulumi-lang-nodejs=\"`windows`\" pulumi-lang-dotnet=\"`Windows`\" pulumi-lang-go=\"`windows`\" pulumi-lang-python=\"`windows`\" pulumi-lang-yaml=\"`windows`\" pulumi-lang-java=\"`windows`\"\u003e`windows`\u003c/span\u003e block that describes the Windows configuration in the pool as defined below.\n"}},"required":["accountName","name","nodeAgentSkuId","resourceGroupName","storageImageReference","taskSchedulingPolicies","vmSize"],"inputProperties":{"accountName":{"type":"string","description":"Specifies the name of the Batch account in which the pool will be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"autoScale":{"$ref":"#/types/azure:batch/PoolAutoScale:PoolAutoScale","description":"A \u003cspan pulumi-lang-nodejs=\"`autoScale`\" pulumi-lang-dotnet=\"`AutoScale`\" pulumi-lang-go=\"`autoScale`\" pulumi-lang-python=\"`auto_scale`\" pulumi-lang-yaml=\"`autoScale`\" pulumi-lang-java=\"`autoScale`\"\u003e`auto_scale`\u003c/span\u003e block that describes the scale settings when using auto scale as defined below.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`fixedScale`\" pulumi-lang-dotnet=\"`FixedScale`\" pulumi-lang-go=\"`fixedScale`\" pulumi-lang-python=\"`fixed_scale`\" pulumi-lang-yaml=\"`fixedScale`\" pulumi-lang-java=\"`fixedScale`\"\u003e`fixed_scale`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`autoScale`\" pulumi-lang-dotnet=\"`AutoScale`\" pulumi-lang-go=\"`autoScale`\" pulumi-lang-python=\"`auto_scale`\" pulumi-lang-yaml=\"`autoScale`\" pulumi-lang-java=\"`autoScale`\"\u003e`auto_scale`\u003c/span\u003e blocks cannot be used both at the same time.\n"},"certificates":{"type":"array","items":{"$ref":"#/types/azure:batch/PoolCertificate:PoolCertificate"},"deprecationMessage":"the \u003cspan pulumi-lang-nodejs=\"`certificate`\" pulumi-lang-dotnet=\"`Certificate`\" pulumi-lang-go=\"`certificate`\" pulumi-lang-python=\"`certificate`\" pulumi-lang-yaml=\"`certificate`\" pulumi-lang-java=\"`certificate`\"\u003e`certificate`\u003c/span\u003e property has been deprecated and will be removed in v5.0 of the AzureRM provider."},"containerConfiguration":{"$ref":"#/types/azure:batch/PoolContainerConfiguration:PoolContainerConfiguration","description":"The container configuration used in the pool's VMs. One \u003cspan pulumi-lang-nodejs=\"`containerConfiguration`\" pulumi-lang-dotnet=\"`ContainerConfiguration`\" pulumi-lang-go=\"`containerConfiguration`\" pulumi-lang-python=\"`container_configuration`\" pulumi-lang-yaml=\"`containerConfiguration`\" pulumi-lang-java=\"`containerConfiguration`\"\u003e`container_configuration`\u003c/span\u003e block as defined below.\n"},"dataDisks":{"type":"array","items":{"$ref":"#/types/azure:batch/PoolDataDisk:PoolDataDisk"},"description":"A \u003cspan pulumi-lang-nodejs=\"`dataDisks`\" pulumi-lang-dotnet=\"`DataDisks`\" pulumi-lang-go=\"`dataDisks`\" pulumi-lang-python=\"`data_disks`\" pulumi-lang-yaml=\"`dataDisks`\" pulumi-lang-java=\"`dataDisks`\"\u003e`data_disks`\u003c/span\u003e block describes the data disk settings as defined below.\n"},"diskEncryptions":{"type":"array","items":{"$ref":"#/types/azure:batch/PoolDiskEncryption:PoolDiskEncryption"},"description":"A \u003cspan pulumi-lang-nodejs=\"`diskEncryption`\" pulumi-lang-dotnet=\"`DiskEncryption`\" pulumi-lang-go=\"`diskEncryption`\" pulumi-lang-python=\"`disk_encryption`\" pulumi-lang-yaml=\"`diskEncryption`\" pulumi-lang-java=\"`diskEncryption`\"\u003e`disk_encryption`\u003c/span\u003e block, as defined below, describes the disk encryption configuration applied on compute nodes in the pool. Disk encryption configuration is not supported on Linux pool created with Virtual Machine Image or Shared Image Gallery Image.\n"},"displayName":{"type":"string","description":"Specifies the display name of the Batch pool. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"extensions":{"type":"array","items":{"$ref":"#/types/azure:batch/PoolExtension:PoolExtension"},"description":"An \u003cspan pulumi-lang-nodejs=\"`extensions`\" pulumi-lang-dotnet=\"`Extensions`\" pulumi-lang-go=\"`extensions`\" pulumi-lang-python=\"`extensions`\" pulumi-lang-yaml=\"`extensions`\" pulumi-lang-java=\"`extensions`\"\u003e`extensions`\u003c/span\u003e block as defined below.\n"},"fixedScale":{"$ref":"#/types/azure:batch/PoolFixedScale:PoolFixedScale","description":"A \u003cspan pulumi-lang-nodejs=\"`fixedScale`\" pulumi-lang-dotnet=\"`FixedScale`\" pulumi-lang-go=\"`fixedScale`\" pulumi-lang-python=\"`fixed_scale`\" pulumi-lang-yaml=\"`fixedScale`\" pulumi-lang-java=\"`fixedScale`\"\u003e`fixed_scale`\u003c/span\u003e block that describes the scale settings when using fixed scale as defined below.\n"},"identity":{"$ref":"#/types/azure:batch/PoolIdentity:PoolIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"interNodeCommunication":{"type":"string","description":"Whether the pool permits direct communication between nodes. This imposes restrictions on which nodes can be assigned to the pool. Enabling this value can reduce the chance of the requested number of nodes to be allocated in the pool. Values allowed are `Disabled` and `Enabled`. Defaults to `Enabled`.\n"},"licenseType":{"type":"string","description":"The type of on-premises license to be used when deploying the operating system. This only applies to images that contain the Windows operating system, and should only be used when you hold valid on-premises licenses for the nodes which will be deployed. If omitted, no on-premises licensing discount is applied. Values are: \"Windows_Server\" - The on-premises license is for Windows Server. \"Windows_Client\" - The on-premises license is for Windows Client.\n"},"maxTasksPerNode":{"type":"integer","description":"Specifies the maximum number of tasks that can run concurrently on a single compute node in the pool. Defaults to \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"metadata":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of custom batch pool metadata.\n"},"mounts":{"type":"array","items":{"$ref":"#/types/azure:batch/PoolMount:PoolMount"},"description":"A \u003cspan pulumi-lang-nodejs=\"`mount`\" pulumi-lang-dotnet=\"`Mount`\" pulumi-lang-go=\"`mount`\" pulumi-lang-python=\"`mount`\" pulumi-lang-yaml=\"`mount`\" pulumi-lang-java=\"`mount`\"\u003e`mount`\u003c/span\u003e block defined as below.\n"},"name":{"type":"string","description":"Specifies the name of the Batch pool. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"networkConfiguration":{"$ref":"#/types/azure:batch/PoolNetworkConfiguration:PoolNetworkConfiguration","description":"A \u003cspan pulumi-lang-nodejs=\"`networkConfiguration`\" pulumi-lang-dotnet=\"`NetworkConfiguration`\" pulumi-lang-go=\"`networkConfiguration`\" pulumi-lang-python=\"`network_configuration`\" pulumi-lang-yaml=\"`networkConfiguration`\" pulumi-lang-java=\"`networkConfiguration`\"\u003e`network_configuration`\u003c/span\u003e block that describes the network configurations for the Batch pool as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"nodeAgentSkuId":{"type":"string","description":"Specifies the SKU of the node agents that will be created in the Batch pool. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"nodePlacements":{"type":"array","items":{"$ref":"#/types/azure:batch/PoolNodePlacement:PoolNodePlacement"},"description":"A \u003cspan pulumi-lang-nodejs=\"`nodePlacement`\" pulumi-lang-dotnet=\"`NodePlacement`\" pulumi-lang-go=\"`nodePlacement`\" pulumi-lang-python=\"`node_placement`\" pulumi-lang-yaml=\"`nodePlacement`\" pulumi-lang-java=\"`nodePlacement`\"\u003e`node_placement`\u003c/span\u003e block that describes the placement policy for allocating nodes in the pool as defined below.\n"},"osDiskPlacement":{"type":"string","description":"Specifies the ephemeral disk placement for operating system disk for all VMs in the pool. This property can be used by user in the request to choose which location the operating system should be in. e.g., cache disk space for Ephemeral OS disk provisioning. For more information on Ephemeral OS disk size requirements, please refer to Ephemeral OS disk size requirements for Windows VMs at \u003chttps://docs.microsoft.com/en-us/azure/virtual-machines/windows/ephemeral-os-disks#size-requirements\u003e and Linux VMs at \u003chttps://docs.microsoft.com/en-us/azure/virtual-machines/linux/ephemeral-os-disks#size-requirements\u003e. The only possible value is `CacheDisk`.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the Batch pool. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"securityProfile":{"$ref":"#/types/azure:batch/PoolSecurityProfile:PoolSecurityProfile","description":"A \u003cspan pulumi-lang-nodejs=\"`securityProfile`\" pulumi-lang-dotnet=\"`SecurityProfile`\" pulumi-lang-go=\"`securityProfile`\" pulumi-lang-python=\"`security_profile`\" pulumi-lang-yaml=\"`securityProfile`\" pulumi-lang-java=\"`securityProfile`\"\u003e`security_profile`\u003c/span\u003e block that describes the security settings for the Batch pool as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"startTask":{"$ref":"#/types/azure:batch/PoolStartTask:PoolStartTask","description":"A \u003cspan pulumi-lang-nodejs=\"`startTask`\" pulumi-lang-dotnet=\"`StartTask`\" pulumi-lang-go=\"`startTask`\" pulumi-lang-python=\"`start_task`\" pulumi-lang-yaml=\"`startTask`\" pulumi-lang-java=\"`startTask`\"\u003e`start_task`\u003c/span\u003e block that describes the start task settings for the Batch pool as defined below.\n"},"stopPendingResizeOperation":{"type":"boolean","description":"Whether to stop if there is a pending resize operation on this pool.\n"},"storageImageReference":{"$ref":"#/types/azure:batch/PoolStorageImageReference:PoolStorageImageReference","description":"A \u003cspan pulumi-lang-nodejs=\"`storageImageReference`\" pulumi-lang-dotnet=\"`StorageImageReference`\" pulumi-lang-go=\"`storageImageReference`\" pulumi-lang-python=\"`storage_image_reference`\" pulumi-lang-yaml=\"`storageImageReference`\" pulumi-lang-java=\"`storageImageReference`\"\u003e`storage_image_reference`\u003c/span\u003e block for the virtual machines that will compose the Batch pool as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"targetNodeCommunicationMode":{"type":"string","description":"The desired node communication mode for the pool. Possible values are `Classic`, `Default` and `Simplified`.\n"},"taskSchedulingPolicies":{"type":"array","items":{"$ref":"#/types/azure:batch/PoolTaskSchedulingPolicy:PoolTaskSchedulingPolicy"},"description":"A \u003cspan pulumi-lang-nodejs=\"`taskSchedulingPolicy`\" pulumi-lang-dotnet=\"`TaskSchedulingPolicy`\" pulumi-lang-go=\"`taskSchedulingPolicy`\" pulumi-lang-python=\"`task_scheduling_policy`\" pulumi-lang-yaml=\"`taskSchedulingPolicy`\" pulumi-lang-java=\"`taskSchedulingPolicy`\"\u003e`task_scheduling_policy`\u003c/span\u003e block that describes how tasks are distributed across compute nodes in a pool as defined below. If not specified, the default is spread as defined below.\n"},"userAccounts":{"type":"array","items":{"$ref":"#/types/azure:batch/PoolUserAccount:PoolUserAccount"},"description":"A \u003cspan pulumi-lang-nodejs=\"`userAccounts`\" pulumi-lang-dotnet=\"`UserAccounts`\" pulumi-lang-go=\"`userAccounts`\" pulumi-lang-python=\"`user_accounts`\" pulumi-lang-yaml=\"`userAccounts`\" pulumi-lang-java=\"`userAccounts`\"\u003e`user_accounts`\u003c/span\u003e block that describes the list of user accounts to be created on each node in the pool as defined below.\n"},"vmSize":{"type":"string","description":"Specifies the size of the VM created in the Batch pool. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"windows":{"type":"array","items":{"$ref":"#/types/azure:batch/PoolWindow:PoolWindow"},"description":"A \u003cspan pulumi-lang-nodejs=\"`windows`\" pulumi-lang-dotnet=\"`Windows`\" pulumi-lang-go=\"`windows`\" pulumi-lang-python=\"`windows`\" pulumi-lang-yaml=\"`windows`\" pulumi-lang-java=\"`windows`\"\u003e`windows`\u003c/span\u003e block that describes the Windows configuration in the pool as defined below.\n"}},"requiredInputs":["accountName","nodeAgentSkuId","resourceGroupName","storageImageReference","vmSize"],"stateInputs":{"description":"Input properties used for looking up and filtering Pool resources.\n","properties":{"accountName":{"type":"string","description":"Specifies the name of the Batch account in which the pool will be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"autoScale":{"$ref":"#/types/azure:batch/PoolAutoScale:PoolAutoScale","description":"A \u003cspan pulumi-lang-nodejs=\"`autoScale`\" pulumi-lang-dotnet=\"`AutoScale`\" pulumi-lang-go=\"`autoScale`\" pulumi-lang-python=\"`auto_scale`\" pulumi-lang-yaml=\"`autoScale`\" pulumi-lang-java=\"`autoScale`\"\u003e`auto_scale`\u003c/span\u003e block that describes the scale settings when using auto scale as defined below.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`fixedScale`\" pulumi-lang-dotnet=\"`FixedScale`\" pulumi-lang-go=\"`fixedScale`\" pulumi-lang-python=\"`fixed_scale`\" pulumi-lang-yaml=\"`fixedScale`\" pulumi-lang-java=\"`fixedScale`\"\u003e`fixed_scale`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`autoScale`\" pulumi-lang-dotnet=\"`AutoScale`\" pulumi-lang-go=\"`autoScale`\" pulumi-lang-python=\"`auto_scale`\" pulumi-lang-yaml=\"`autoScale`\" pulumi-lang-java=\"`autoScale`\"\u003e`auto_scale`\u003c/span\u003e blocks cannot be used both at the same time.\n"},"certificates":{"type":"array","items":{"$ref":"#/types/azure:batch/PoolCertificate:PoolCertificate"},"deprecationMessage":"the \u003cspan pulumi-lang-nodejs=\"`certificate`\" pulumi-lang-dotnet=\"`Certificate`\" pulumi-lang-go=\"`certificate`\" pulumi-lang-python=\"`certificate`\" pulumi-lang-yaml=\"`certificate`\" pulumi-lang-java=\"`certificate`\"\u003e`certificate`\u003c/span\u003e property has been deprecated and will be removed in v5.0 of the AzureRM provider."},"containerConfiguration":{"$ref":"#/types/azure:batch/PoolContainerConfiguration:PoolContainerConfiguration","description":"The container configuration used in the pool's VMs. One \u003cspan pulumi-lang-nodejs=\"`containerConfiguration`\" pulumi-lang-dotnet=\"`ContainerConfiguration`\" pulumi-lang-go=\"`containerConfiguration`\" pulumi-lang-python=\"`container_configuration`\" pulumi-lang-yaml=\"`containerConfiguration`\" pulumi-lang-java=\"`containerConfiguration`\"\u003e`container_configuration`\u003c/span\u003e block as defined below.\n"},"dataDisks":{"type":"array","items":{"$ref":"#/types/azure:batch/PoolDataDisk:PoolDataDisk"},"description":"A \u003cspan pulumi-lang-nodejs=\"`dataDisks`\" pulumi-lang-dotnet=\"`DataDisks`\" pulumi-lang-go=\"`dataDisks`\" pulumi-lang-python=\"`data_disks`\" pulumi-lang-yaml=\"`dataDisks`\" pulumi-lang-java=\"`dataDisks`\"\u003e`data_disks`\u003c/span\u003e block describes the data disk settings as defined below.\n"},"diskEncryptions":{"type":"array","items":{"$ref":"#/types/azure:batch/PoolDiskEncryption:PoolDiskEncryption"},"description":"A \u003cspan pulumi-lang-nodejs=\"`diskEncryption`\" pulumi-lang-dotnet=\"`DiskEncryption`\" pulumi-lang-go=\"`diskEncryption`\" pulumi-lang-python=\"`disk_encryption`\" pulumi-lang-yaml=\"`diskEncryption`\" pulumi-lang-java=\"`diskEncryption`\"\u003e`disk_encryption`\u003c/span\u003e block, as defined below, describes the disk encryption configuration applied on compute nodes in the pool. Disk encryption configuration is not supported on Linux pool created with Virtual Machine Image or Shared Image Gallery Image.\n"},"displayName":{"type":"string","description":"Specifies the display name of the Batch pool. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"extensions":{"type":"array","items":{"$ref":"#/types/azure:batch/PoolExtension:PoolExtension"},"description":"An \u003cspan pulumi-lang-nodejs=\"`extensions`\" pulumi-lang-dotnet=\"`Extensions`\" pulumi-lang-go=\"`extensions`\" pulumi-lang-python=\"`extensions`\" pulumi-lang-yaml=\"`extensions`\" pulumi-lang-java=\"`extensions`\"\u003e`extensions`\u003c/span\u003e block as defined below.\n"},"fixedScale":{"$ref":"#/types/azure:batch/PoolFixedScale:PoolFixedScale","description":"A \u003cspan pulumi-lang-nodejs=\"`fixedScale`\" pulumi-lang-dotnet=\"`FixedScale`\" pulumi-lang-go=\"`fixedScale`\" pulumi-lang-python=\"`fixed_scale`\" pulumi-lang-yaml=\"`fixedScale`\" pulumi-lang-java=\"`fixedScale`\"\u003e`fixed_scale`\u003c/span\u003e block that describes the scale settings when using fixed scale as defined below.\n"},"identity":{"$ref":"#/types/azure:batch/PoolIdentity:PoolIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"interNodeCommunication":{"type":"string","description":"Whether the pool permits direct communication between nodes. This imposes restrictions on which nodes can be assigned to the pool. Enabling this value can reduce the chance of the requested number of nodes to be allocated in the pool. Values allowed are `Disabled` and `Enabled`. Defaults to `Enabled`.\n"},"licenseType":{"type":"string","description":"The type of on-premises license to be used when deploying the operating system. This only applies to images that contain the Windows operating system, and should only be used when you hold valid on-premises licenses for the nodes which will be deployed. If omitted, no on-premises licensing discount is applied. Values are: \"Windows_Server\" - The on-premises license is for Windows Server. \"Windows_Client\" - The on-premises license is for Windows Client.\n"},"maxTasksPerNode":{"type":"integer","description":"Specifies the maximum number of tasks that can run concurrently on a single compute node in the pool. Defaults to \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"metadata":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of custom batch pool metadata.\n"},"mounts":{"type":"array","items":{"$ref":"#/types/azure:batch/PoolMount:PoolMount"},"description":"A \u003cspan pulumi-lang-nodejs=\"`mount`\" pulumi-lang-dotnet=\"`Mount`\" pulumi-lang-go=\"`mount`\" pulumi-lang-python=\"`mount`\" pulumi-lang-yaml=\"`mount`\" pulumi-lang-java=\"`mount`\"\u003e`mount`\u003c/span\u003e block defined as below.\n"},"name":{"type":"string","description":"Specifies the name of the Batch pool. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"networkConfiguration":{"$ref":"#/types/azure:batch/PoolNetworkConfiguration:PoolNetworkConfiguration","description":"A \u003cspan pulumi-lang-nodejs=\"`networkConfiguration`\" pulumi-lang-dotnet=\"`NetworkConfiguration`\" pulumi-lang-go=\"`networkConfiguration`\" pulumi-lang-python=\"`network_configuration`\" pulumi-lang-yaml=\"`networkConfiguration`\" pulumi-lang-java=\"`networkConfiguration`\"\u003e`network_configuration`\u003c/span\u003e block that describes the network configurations for the Batch pool as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"nodeAgentSkuId":{"type":"string","description":"Specifies the SKU of the node agents that will be created in the Batch pool. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"nodePlacements":{"type":"array","items":{"$ref":"#/types/azure:batch/PoolNodePlacement:PoolNodePlacement"},"description":"A \u003cspan pulumi-lang-nodejs=\"`nodePlacement`\" pulumi-lang-dotnet=\"`NodePlacement`\" pulumi-lang-go=\"`nodePlacement`\" pulumi-lang-python=\"`node_placement`\" pulumi-lang-yaml=\"`nodePlacement`\" pulumi-lang-java=\"`nodePlacement`\"\u003e`node_placement`\u003c/span\u003e block that describes the placement policy for allocating nodes in the pool as defined below.\n"},"osDiskPlacement":{"type":"string","description":"Specifies the ephemeral disk placement for operating system disk for all VMs in the pool. This property can be used by user in the request to choose which location the operating system should be in. e.g., cache disk space for Ephemeral OS disk provisioning. For more information on Ephemeral OS disk size requirements, please refer to Ephemeral OS disk size requirements for Windows VMs at \u003chttps://docs.microsoft.com/en-us/azure/virtual-machines/windows/ephemeral-os-disks#size-requirements\u003e and Linux VMs at \u003chttps://docs.microsoft.com/en-us/azure/virtual-machines/linux/ephemeral-os-disks#size-requirements\u003e. The only possible value is `CacheDisk`.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the Batch pool. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"securityProfile":{"$ref":"#/types/azure:batch/PoolSecurityProfile:PoolSecurityProfile","description":"A \u003cspan pulumi-lang-nodejs=\"`securityProfile`\" pulumi-lang-dotnet=\"`SecurityProfile`\" pulumi-lang-go=\"`securityProfile`\" pulumi-lang-python=\"`security_profile`\" pulumi-lang-yaml=\"`securityProfile`\" pulumi-lang-java=\"`securityProfile`\"\u003e`security_profile`\u003c/span\u003e block that describes the security settings for the Batch pool as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"startTask":{"$ref":"#/types/azure:batch/PoolStartTask:PoolStartTask","description":"A \u003cspan pulumi-lang-nodejs=\"`startTask`\" pulumi-lang-dotnet=\"`StartTask`\" pulumi-lang-go=\"`startTask`\" pulumi-lang-python=\"`start_task`\" pulumi-lang-yaml=\"`startTask`\" pulumi-lang-java=\"`startTask`\"\u003e`start_task`\u003c/span\u003e block that describes the start task settings for the Batch pool as defined below.\n"},"stopPendingResizeOperation":{"type":"boolean","description":"Whether to stop if there is a pending resize operation on this pool.\n"},"storageImageReference":{"$ref":"#/types/azure:batch/PoolStorageImageReference:PoolStorageImageReference","description":"A \u003cspan pulumi-lang-nodejs=\"`storageImageReference`\" pulumi-lang-dotnet=\"`StorageImageReference`\" pulumi-lang-go=\"`storageImageReference`\" pulumi-lang-python=\"`storage_image_reference`\" pulumi-lang-yaml=\"`storageImageReference`\" pulumi-lang-java=\"`storageImageReference`\"\u003e`storage_image_reference`\u003c/span\u003e block for the virtual machines that will compose the Batch pool as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"targetNodeCommunicationMode":{"type":"string","description":"The desired node communication mode for the pool. Possible values are `Classic`, `Default` and `Simplified`.\n"},"taskSchedulingPolicies":{"type":"array","items":{"$ref":"#/types/azure:batch/PoolTaskSchedulingPolicy:PoolTaskSchedulingPolicy"},"description":"A \u003cspan pulumi-lang-nodejs=\"`taskSchedulingPolicy`\" pulumi-lang-dotnet=\"`TaskSchedulingPolicy`\" pulumi-lang-go=\"`taskSchedulingPolicy`\" pulumi-lang-python=\"`task_scheduling_policy`\" pulumi-lang-yaml=\"`taskSchedulingPolicy`\" pulumi-lang-java=\"`taskSchedulingPolicy`\"\u003e`task_scheduling_policy`\u003c/span\u003e block that describes how tasks are distributed across compute nodes in a pool as defined below. If not specified, the default is spread as defined below.\n"},"userAccounts":{"type":"array","items":{"$ref":"#/types/azure:batch/PoolUserAccount:PoolUserAccount"},"description":"A \u003cspan pulumi-lang-nodejs=\"`userAccounts`\" pulumi-lang-dotnet=\"`UserAccounts`\" pulumi-lang-go=\"`userAccounts`\" pulumi-lang-python=\"`user_accounts`\" pulumi-lang-yaml=\"`userAccounts`\" pulumi-lang-java=\"`userAccounts`\"\u003e`user_accounts`\u003c/span\u003e block that describes the list of user accounts to be created on each node in the pool as defined below.\n"},"vmSize":{"type":"string","description":"Specifies the size of the VM created in the Batch pool. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"windows":{"type":"array","items":{"$ref":"#/types/azure:batch/PoolWindow:PoolWindow"},"description":"A \u003cspan pulumi-lang-nodejs=\"`windows`\" pulumi-lang-dotnet=\"`Windows`\" pulumi-lang-go=\"`windows`\" pulumi-lang-python=\"`windows`\" pulumi-lang-yaml=\"`windows`\" pulumi-lang-java=\"`windows`\"\u003e`windows`\u003c/span\u003e block that describes the Windows configuration in the pool as defined below.\n"}},"type":"object"}},"azure:billing/accountCostManagementExport:AccountCostManagementExport":{"description":"Manages a Cost Management Export for a Billing Account.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleAccount = new azure.storage.Account(\"example\", {\n    name: \"example\",\n    resourceGroupName: example.name,\n    location: example.location,\n    accountTier: \"Standard\",\n    accountReplicationType: \"LRS\",\n});\nconst exampleContainer = new azure.storage.Container(\"example\", {\n    name: \"examplecontainer\",\n    storageAccountName: exampleAccount.name,\n});\nconst exampleAccountCostManagementExport = new azure.billing.AccountCostManagementExport(\"example\", {\n    name: \"example\",\n    billingAccountId: \"example\",\n    recurrenceType: \"Monthly\",\n    recurrencePeriodStartDate: \"2020-08-18T00:00:00Z\",\n    recurrencePeriodEndDate: \"2020-09-18T00:00:00Z\",\n    fileFormat: \"Csv\",\n    exportDataStorageLocation: {\n        containerId: exampleContainer.id,\n        rootFolderPath: \"/root/updated\",\n    },\n    exportDataOptions: {\n        type: \"Usage\",\n        timeFrame: \"WeekToDate\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_account = azure.storage.Account(\"example\",\n    name=\"example\",\n    resource_group_name=example.name,\n    location=example.location,\n    account_tier=\"Standard\",\n    account_replication_type=\"LRS\")\nexample_container = azure.storage.Container(\"example\",\n    name=\"examplecontainer\",\n    storage_account_name=example_account.name)\nexample_account_cost_management_export = azure.billing.AccountCostManagementExport(\"example\",\n    name=\"example\",\n    billing_account_id=\"example\",\n    recurrence_type=\"Monthly\",\n    recurrence_period_start_date=\"2020-08-18T00:00:00Z\",\n    recurrence_period_end_date=\"2020-09-18T00:00:00Z\",\n    file_format=\"Csv\",\n    export_data_storage_location={\n        \"container_id\": example_container.id,\n        \"root_folder_path\": \"/root/updated\",\n    },\n    export_data_options={\n        \"type\": \"Usage\",\n        \"time_frame\": \"WeekToDate\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleAccount = new Azure.Storage.Account(\"example\", new()\n    {\n        Name = \"example\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        AccountTier = \"Standard\",\n        AccountReplicationType = \"LRS\",\n    });\n\n    var exampleContainer = new Azure.Storage.Container(\"example\", new()\n    {\n        Name = \"examplecontainer\",\n        StorageAccountName = exampleAccount.Name,\n    });\n\n    var exampleAccountCostManagementExport = new Azure.Billing.AccountCostManagementExport(\"example\", new()\n    {\n        Name = \"example\",\n        BillingAccountId = \"example\",\n        RecurrenceType = \"Monthly\",\n        RecurrencePeriodStartDate = \"2020-08-18T00:00:00Z\",\n        RecurrencePeriodEndDate = \"2020-09-18T00:00:00Z\",\n        FileFormat = \"Csv\",\n        ExportDataStorageLocation = new Azure.Billing.Inputs.AccountCostManagementExportExportDataStorageLocationArgs\n        {\n            ContainerId = exampleContainer.Id,\n            RootFolderPath = \"/root/updated\",\n        },\n        ExportDataOptions = new Azure.Billing.Inputs.AccountCostManagementExportExportDataOptionsArgs\n        {\n            Type = \"Usage\",\n            TimeFrame = \"WeekToDate\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/billing\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := storage.NewAccount(ctx, \"example\", \u0026storage.AccountArgs{\n\t\t\tName:                   pulumi.String(\"example\"),\n\t\t\tResourceGroupName:      example.Name,\n\t\t\tLocation:               example.Location,\n\t\t\tAccountTier:            pulumi.String(\"Standard\"),\n\t\t\tAccountReplicationType: pulumi.String(\"LRS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleContainer, err := storage.NewContainer(ctx, \"example\", \u0026storage.ContainerArgs{\n\t\t\tName:               pulumi.String(\"examplecontainer\"),\n\t\t\tStorageAccountName: exampleAccount.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = billing.NewAccountCostManagementExport(ctx, \"example\", \u0026billing.AccountCostManagementExportArgs{\n\t\t\tName:                      pulumi.String(\"example\"),\n\t\t\tBillingAccountId:          pulumi.String(\"example\"),\n\t\t\tRecurrenceType:            pulumi.String(\"Monthly\"),\n\t\t\tRecurrencePeriodStartDate: pulumi.String(\"2020-08-18T00:00:00Z\"),\n\t\t\tRecurrencePeriodEndDate:   pulumi.String(\"2020-09-18T00:00:00Z\"),\n\t\t\tFileFormat:                pulumi.String(\"Csv\"),\n\t\t\tExportDataStorageLocation: \u0026billing.AccountCostManagementExportExportDataStorageLocationArgs{\n\t\t\t\tContainerId:    exampleContainer.ID(),\n\t\t\t\tRootFolderPath: pulumi.String(\"/root/updated\"),\n\t\t\t},\n\t\t\tExportDataOptions: \u0026billing.AccountCostManagementExportExportDataOptionsArgs{\n\t\t\t\tType:      pulumi.String(\"Usage\"),\n\t\t\t\tTimeFrame: pulumi.String(\"WeekToDate\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.storage.Account;\nimport com.pulumi.azure.storage.AccountArgs;\nimport com.pulumi.azure.storage.Container;\nimport com.pulumi.azure.storage.ContainerArgs;\nimport com.pulumi.azure.billing.AccountCostManagementExport;\nimport com.pulumi.azure.billing.AccountCostManagementExportArgs;\nimport com.pulumi.azure.billing.inputs.AccountCostManagementExportExportDataStorageLocationArgs;\nimport com.pulumi.azure.billing.inputs.AccountCostManagementExportExportDataOptionsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"example\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .accountTier(\"Standard\")\n            .accountReplicationType(\"LRS\")\n            .build());\n\n        var exampleContainer = new Container(\"exampleContainer\", ContainerArgs.builder()\n            .name(\"examplecontainer\")\n            .storageAccountName(exampleAccount.name())\n            .build());\n\n        var exampleAccountCostManagementExport = new AccountCostManagementExport(\"exampleAccountCostManagementExport\", AccountCostManagementExportArgs.builder()\n            .name(\"example\")\n            .billingAccountId(\"example\")\n            .recurrenceType(\"Monthly\")\n            .recurrencePeriodStartDate(\"2020-08-18T00:00:00Z\")\n            .recurrencePeriodEndDate(\"2020-09-18T00:00:00Z\")\n            .fileFormat(\"Csv\")\n            .exportDataStorageLocation(AccountCostManagementExportExportDataStorageLocationArgs.builder()\n                .containerId(exampleContainer.id())\n                .rootFolderPath(\"/root/updated\")\n                .build())\n            .exportDataOptions(AccountCostManagementExportExportDataOptionsArgs.builder()\n                .type(\"Usage\")\n                .timeFrame(\"WeekToDate\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleAccount:\n    type: azure:storage:Account\n    name: example\n    properties:\n      name: example\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      accountTier: Standard\n      accountReplicationType: LRS\n  exampleContainer:\n    type: azure:storage:Container\n    name: example\n    properties:\n      name: examplecontainer\n      storageAccountName: ${exampleAccount.name}\n  exampleAccountCostManagementExport:\n    type: azure:billing:AccountCostManagementExport\n    name: example\n    properties:\n      name: example\n      billingAccountId: example\n      recurrenceType: Monthly\n      recurrencePeriodStartDate: 2020-08-18T00:00:00Z\n      recurrencePeriodEndDate: 2020-09-18T00:00:00Z\n      fileFormat: Csv\n      exportDataStorageLocation:\n        containerId: ${exampleContainer.id}\n        rootFolderPath: /root/updated\n      exportDataOptions:\n        type: Usage\n        timeFrame: WeekToDate\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.CostManagement` - 2023-08-01\n\n## Import\n\nBilling Account Cost Management Exports can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:billing/accountCostManagementExport:AccountCostManagementExport example /providers/Microsoft.Billing/billingAccounts/12345678/providers/Microsoft.CostManagement/exports/export1\n```\n\n","properties":{"active":{"type":"boolean","description":"Is the cost management export active? Default is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"billingAccountId":{"type":"string","description":"The id of the billing account on which to create an export. Changing this forces a new resource to be created.\n"},"exportDataOptions":{"$ref":"#/types/azure:billing/AccountCostManagementExportExportDataOptions:AccountCostManagementExportExportDataOptions","description":"A \u003cspan pulumi-lang-nodejs=\"`exportDataOptions`\" pulumi-lang-dotnet=\"`ExportDataOptions`\" pulumi-lang-go=\"`exportDataOptions`\" pulumi-lang-python=\"`export_data_options`\" pulumi-lang-yaml=\"`exportDataOptions`\" pulumi-lang-java=\"`exportDataOptions`\"\u003e`export_data_options`\u003c/span\u003e block as defined below.\n"},"exportDataStorageLocation":{"$ref":"#/types/azure:billing/AccountCostManagementExportExportDataStorageLocation:AccountCostManagementExportExportDataStorageLocation","description":"A \u003cspan pulumi-lang-nodejs=\"`exportDataStorageLocation`\" pulumi-lang-dotnet=\"`ExportDataStorageLocation`\" pulumi-lang-go=\"`exportDataStorageLocation`\" pulumi-lang-python=\"`export_data_storage_location`\" pulumi-lang-yaml=\"`exportDataStorageLocation`\" pulumi-lang-java=\"`exportDataStorageLocation`\"\u003e`export_data_storage_location`\u003c/span\u003e block as defined below.\n"},"fileFormat":{"type":"string","description":"Format for export. Valid values are `Csv` only. Default is `Csv`.\n"},"name":{"type":"string","description":"Specifies the name of the Cost Management Export. Changing this forces a new resource to be created.\n"},"recurrencePeriodEndDate":{"type":"string","description":"The date the export will stop capturing information.\n"},"recurrencePeriodStartDate":{"type":"string","description":"The date the export will start capturing information.\n"},"recurrenceType":{"type":"string","description":"How often the requested information will be exported. Valid values include `Annually`, `Daily`, `Monthly`, `Weekly`.\n"}},"required":["billingAccountId","exportDataOptions","exportDataStorageLocation","name","recurrencePeriodEndDate","recurrencePeriodStartDate","recurrenceType"],"inputProperties":{"active":{"type":"boolean","description":"Is the cost management export active? Default is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"billingAccountId":{"type":"string","description":"The id of the billing account on which to create an export. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"exportDataOptions":{"$ref":"#/types/azure:billing/AccountCostManagementExportExportDataOptions:AccountCostManagementExportExportDataOptions","description":"A \u003cspan pulumi-lang-nodejs=\"`exportDataOptions`\" pulumi-lang-dotnet=\"`ExportDataOptions`\" pulumi-lang-go=\"`exportDataOptions`\" pulumi-lang-python=\"`export_data_options`\" pulumi-lang-yaml=\"`exportDataOptions`\" pulumi-lang-java=\"`exportDataOptions`\"\u003e`export_data_options`\u003c/span\u003e block as defined below.\n"},"exportDataStorageLocation":{"$ref":"#/types/azure:billing/AccountCostManagementExportExportDataStorageLocation:AccountCostManagementExportExportDataStorageLocation","description":"A \u003cspan pulumi-lang-nodejs=\"`exportDataStorageLocation`\" pulumi-lang-dotnet=\"`ExportDataStorageLocation`\" pulumi-lang-go=\"`exportDataStorageLocation`\" pulumi-lang-python=\"`export_data_storage_location`\" pulumi-lang-yaml=\"`exportDataStorageLocation`\" pulumi-lang-java=\"`exportDataStorageLocation`\"\u003e`export_data_storage_location`\u003c/span\u003e block as defined below.\n"},"fileFormat":{"type":"string","description":"Format for export. Valid values are `Csv` only. Default is `Csv`.\n"},"name":{"type":"string","description":"Specifies the name of the Cost Management Export. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"recurrencePeriodEndDate":{"type":"string","description":"The date the export will stop capturing information.\n"},"recurrencePeriodStartDate":{"type":"string","description":"The date the export will start capturing information.\n"},"recurrenceType":{"type":"string","description":"How often the requested information will be exported. Valid values include `Annually`, `Daily`, `Monthly`, `Weekly`.\n"}},"requiredInputs":["billingAccountId","exportDataOptions","exportDataStorageLocation","recurrencePeriodEndDate","recurrencePeriodStartDate","recurrenceType"],"stateInputs":{"description":"Input properties used for looking up and filtering AccountCostManagementExport resources.\n","properties":{"active":{"type":"boolean","description":"Is the cost management export active? Default is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"billingAccountId":{"type":"string","description":"The id of the billing account on which to create an export. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"exportDataOptions":{"$ref":"#/types/azure:billing/AccountCostManagementExportExportDataOptions:AccountCostManagementExportExportDataOptions","description":"A \u003cspan pulumi-lang-nodejs=\"`exportDataOptions`\" pulumi-lang-dotnet=\"`ExportDataOptions`\" pulumi-lang-go=\"`exportDataOptions`\" pulumi-lang-python=\"`export_data_options`\" pulumi-lang-yaml=\"`exportDataOptions`\" pulumi-lang-java=\"`exportDataOptions`\"\u003e`export_data_options`\u003c/span\u003e block as defined below.\n"},"exportDataStorageLocation":{"$ref":"#/types/azure:billing/AccountCostManagementExportExportDataStorageLocation:AccountCostManagementExportExportDataStorageLocation","description":"A \u003cspan pulumi-lang-nodejs=\"`exportDataStorageLocation`\" pulumi-lang-dotnet=\"`ExportDataStorageLocation`\" pulumi-lang-go=\"`exportDataStorageLocation`\" pulumi-lang-python=\"`export_data_storage_location`\" pulumi-lang-yaml=\"`exportDataStorageLocation`\" pulumi-lang-java=\"`exportDataStorageLocation`\"\u003e`export_data_storage_location`\u003c/span\u003e block as defined below.\n"},"fileFormat":{"type":"string","description":"Format for export. Valid values are `Csv` only. Default is `Csv`.\n"},"name":{"type":"string","description":"Specifies the name of the Cost Management Export. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"recurrencePeriodEndDate":{"type":"string","description":"The date the export will stop capturing information.\n"},"recurrencePeriodStartDate":{"type":"string","description":"The date the export will start capturing information.\n"},"recurrenceType":{"type":"string","description":"How often the requested information will be exported. Valid values include `Annually`, `Daily`, `Monthly`, `Weekly`.\n"}},"type":"object"}},"azure:blueprint/assignment:Assignment":{"description":"Manages a Blueprint Assignment resource\n\n\u003e **NOTE:** Azure Blueprints are in Preview and potentially subject to breaking change without notice.\n\n\u003e **NOTE:** Azure Blueprint Assignments can only be applied to Subscriptions.  Assignments to Management Groups is not currently supported by the service or by this provider.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst current = azure.core.getClientConfig({});\nconst example = azure.core.getSubscription({});\nconst exampleGetDefinition = example.then(example =\u003e azure.blueprint.getDefinition({\n    name: \"exampleBlueprint\",\n    scopeId: example.id,\n}));\nconst exampleGetPublishedVersion = Promise.all([exampleGetDefinition, exampleGetDefinition]).then(([exampleGetDefinition, exampleGetDefinition1]) =\u003e azure.blueprint.getPublishedVersion({\n    scopeId: exampleGetDefinition.scopeId,\n    blueprintName: exampleGetDefinition1.name,\n    version: \"v1.0.0\",\n}));\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"example\", {\n    name: \"exampleRG-bp\",\n    location: \"West Europe\",\n    tags: {\n        Environment: \"example\",\n    },\n});\nconst exampleUserAssignedIdentity = new azure.authorization.UserAssignedIdentity(\"example\", {\n    resourceGroupName: exampleResourceGroup.name,\n    location: exampleResourceGroup.location,\n    name: \"bp-user-example\",\n});\nconst operator = new azure.authorization.Assignment(\"operator\", {\n    scope: example.then(example =\u003e example.id),\n    roleDefinitionName: \"Blueprint Operator\",\n    principalId: exampleUserAssignedIdentity.principalId,\n});\nconst owner = new azure.authorization.Assignment(\"owner\", {\n    scope: example.then(example =\u003e example.id),\n    roleDefinitionName: \"Owner\",\n    principalId: exampleUserAssignedIdentity.principalId,\n});\nconst exampleAssignment = new azure.blueprint.Assignment(\"example\", {\n    name: \"testAccBPAssignment\",\n    targetSubscriptionId: example.then(example =\u003e example.id),\n    versionId: exampleGetPublishedVersion.then(exampleGetPublishedVersion =\u003e exampleGetPublishedVersion.id),\n    location: exampleResourceGroup.location,\n    lockMode: \"AllResourcesDoNotDelete\",\n    lockExcludePrincipals: [current.then(current =\u003e current.objectId)],\n    identity: {\n        type: \"UserAssigned\",\n        identityIds: [exampleUserAssignedIdentity.id],\n    },\n    resourceGroups: `    {\n      \\\\\"ResourceGroup\\\\\": {\n        \\\\\"name\\\\\": \\\\\"exampleRG-bp\\\\\"\n      }\n    }\n`,\n    parameterValues: `    {\n      \\\\\"allowedlocationsforresourcegroups_listOfAllowedLocations\\\\\": {\n        \\\\\"value\\\\\": [\\\\\"westus\\\\\", \\\\\"westus2\\\\\", \\\\\"eastus\\\\\", \\\\\"centralus\\\\\", \\\\\"centraluseuap\\\\\", \\\\\"southcentralus\\\\\", \\\\\"northcentralus\\\\\", \\\\\"westcentralus\\\\\", \\\\\"eastus2\\\\\", \\\\\"eastus2euap\\\\\", \\\\\"brazilsouth\\\\\", \\\\\"brazilus\\\\\", \\\\\"northeurope\\\\\", \\\\\"westeurope\\\\\", \\\\\"eastasia\\\\\", \\\\\"southeastasia\\\\\", \\\\\"japanwest\\\\\", \\\\\"japaneast\\\\\", \\\\\"koreacentral\\\\\", \\\\\"koreasouth\\\\\", \\\\\"indiasouth\\\\\", \\\\\"indiawest\\\\\", \\\\\"indiacentral\\\\\", \\\\\"australiaeast\\\\\", \\\\\"australiasoutheast\\\\\", \\\\\"canadacentral\\\\\", \\\\\"canadaeast\\\\\", \\\\\"uknorth\\\\\", \\\\\"uksouth2\\\\\", \\\\\"uksouth\\\\\", \\\\\"ukwest\\\\\", \\\\\"francecentral\\\\\", \\\\\"francesouth\\\\\", \\\\\"australiacentral\\\\\", \\\\\"australiacentral2\\\\\", \\\\\"uaecentral\\\\\", \\\\\"uaenorth\\\\\", \\\\\"southafricanorth\\\\\", \\\\\"southafricawest\\\\\", \\\\\"switzerlandnorth\\\\\", \\\\\"switzerlandwest\\\\\", \\\\\"germanynorth\\\\\", \\\\\"germanywestcentral\\\\\", \\\\\"norwayeast\\\\\", \\\\\"norwaywest\\\\\"]\n      }\n    }\n`,\n}, {\n    dependsOn: [\n        operator,\n        owner,\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\ncurrent = azure.core.get_client_config()\nexample = azure.core.get_subscription()\nexample_get_definition = azure.blueprint.get_definition(name=\"exampleBlueprint\",\n    scope_id=example.id)\nexample_get_published_version = azure.blueprint.get_published_version(scope_id=example_get_definition.scope_id,\n    blueprint_name=example_get_definition.name,\n    version=\"v1.0.0\")\nexample_resource_group = azure.core.ResourceGroup(\"example\",\n    name=\"exampleRG-bp\",\n    location=\"West Europe\",\n    tags={\n        \"Environment\": \"example\",\n    })\nexample_user_assigned_identity = azure.authorization.UserAssignedIdentity(\"example\",\n    resource_group_name=example_resource_group.name,\n    location=example_resource_group.location,\n    name=\"bp-user-example\")\noperator = azure.authorization.Assignment(\"operator\",\n    scope=example.id,\n    role_definition_name=\"Blueprint Operator\",\n    principal_id=example_user_assigned_identity.principal_id)\nowner = azure.authorization.Assignment(\"owner\",\n    scope=example.id,\n    role_definition_name=\"Owner\",\n    principal_id=example_user_assigned_identity.principal_id)\nexample_assignment = azure.blueprint.Assignment(\"example\",\n    name=\"testAccBPAssignment\",\n    target_subscription_id=example.id,\n    version_id=example_get_published_version.id,\n    location=example_resource_group.location,\n    lock_mode=\"AllResourcesDoNotDelete\",\n    lock_exclude_principals=[current.object_id],\n    identity={\n        \"type\": \"UserAssigned\",\n        \"identity_ids\": [example_user_assigned_identity.id],\n    },\n    resource_groups=\"\"\"    {\n      \\\"ResourceGroup\\\": {\n        \\\"name\\\": \\\"exampleRG-bp\\\"\n      }\n    }\n\"\"\",\n    parameter_values=\"\"\"    {\n      \\\"allowedlocationsforresourcegroups_listOfAllowedLocations\\\": {\n        \\\"value\\\": [\\\"westus\\\", \\\"westus2\\\", \\\"eastus\\\", \\\"centralus\\\", \\\"centraluseuap\\\", \\\"southcentralus\\\", \\\"northcentralus\\\", \\\"westcentralus\\\", \\\"eastus2\\\", \\\"eastus2euap\\\", \\\"brazilsouth\\\", \\\"brazilus\\\", \\\"northeurope\\\", \\\"westeurope\\\", \\\"eastasia\\\", \\\"southeastasia\\\", \\\"japanwest\\\", \\\"japaneast\\\", \\\"koreacentral\\\", \\\"koreasouth\\\", \\\"indiasouth\\\", \\\"indiawest\\\", \\\"indiacentral\\\", \\\"australiaeast\\\", \\\"australiasoutheast\\\", \\\"canadacentral\\\", \\\"canadaeast\\\", \\\"uknorth\\\", \\\"uksouth2\\\", \\\"uksouth\\\", \\\"ukwest\\\", \\\"francecentral\\\", \\\"francesouth\\\", \\\"australiacentral\\\", \\\"australiacentral2\\\", \\\"uaecentral\\\", \\\"uaenorth\\\", \\\"southafricanorth\\\", \\\"southafricawest\\\", \\\"switzerlandnorth\\\", \\\"switzerlandwest\\\", \\\"germanynorth\\\", \\\"germanywestcentral\\\", \\\"norwayeast\\\", \\\"norwaywest\\\"]\n      }\n    }\n\"\"\",\n    opts = pulumi.ResourceOptions(depends_on=[\n            operator,\n            owner,\n        ]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var current = Azure.Core.GetClientConfig.Invoke();\n\n    var example = Azure.Core.GetSubscription.Invoke();\n\n    var exampleGetDefinition = Azure.Blueprint.GetDefinition.Invoke(new()\n    {\n        Name = \"exampleBlueprint\",\n        ScopeId = example.Apply(getSubscriptionResult =\u003e getSubscriptionResult.Id),\n    });\n\n    var exampleGetPublishedVersion = Azure.Blueprint.GetPublishedVersion.Invoke(new()\n    {\n        ScopeId = exampleGetDefinition.Apply(getDefinitionResult =\u003e getDefinitionResult.ScopeId),\n        BlueprintName = exampleGetDefinition.Apply(getDefinitionResult =\u003e getDefinitionResult.Name),\n        Version = \"v1.0.0\",\n    });\n\n    var exampleResourceGroup = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"exampleRG-bp\",\n        Location = \"West Europe\",\n        Tags = \n        {\n            { \"Environment\", \"example\" },\n        },\n    });\n\n    var exampleUserAssignedIdentity = new Azure.Authorization.UserAssignedIdentity(\"example\", new()\n    {\n        ResourceGroupName = exampleResourceGroup.Name,\n        Location = exampleResourceGroup.Location,\n        Name = \"bp-user-example\",\n    });\n\n    var @operator = new Azure.Authorization.Assignment(\"operator\", new()\n    {\n        Scope = example.Apply(getSubscriptionResult =\u003e getSubscriptionResult.Id),\n        RoleDefinitionName = \"Blueprint Operator\",\n        PrincipalId = exampleUserAssignedIdentity.PrincipalId,\n    });\n\n    var owner = new Azure.Authorization.Assignment(\"owner\", new()\n    {\n        Scope = example.Apply(getSubscriptionResult =\u003e getSubscriptionResult.Id),\n        RoleDefinitionName = \"Owner\",\n        PrincipalId = exampleUserAssignedIdentity.PrincipalId,\n    });\n\n    var exampleAssignment = new Azure.Blueprint.Assignment(\"example\", new()\n    {\n        Name = \"testAccBPAssignment\",\n        TargetSubscriptionId = example.Apply(getSubscriptionResult =\u003e getSubscriptionResult.Id),\n        VersionId = exampleGetPublishedVersion.Apply(getPublishedVersionResult =\u003e getPublishedVersionResult.Id),\n        Location = exampleResourceGroup.Location,\n        LockMode = \"AllResourcesDoNotDelete\",\n        LockExcludePrincipals = new[]\n        {\n            current.Apply(getClientConfigResult =\u003e getClientConfigResult.ObjectId),\n        },\n        Identity = new Azure.Blueprint.Inputs.AssignmentIdentityArgs\n        {\n            Type = \"UserAssigned\",\n            IdentityIds = new[]\n            {\n                exampleUserAssignedIdentity.Id,\n            },\n        },\n        ResourceGroups = @\"    {\n      \\\"\"ResourceGroup\\\"\": {\n        \\\"\"name\\\"\": \\\"\"exampleRG-bp\\\"\"\n      }\n    }\n\",\n        ParameterValues = @\"    {\n      \\\"\"allowedlocationsforresourcegroups_listOfAllowedLocations\\\"\": {\n        \\\"\"value\\\"\": [\\\"\"westus\\\"\", \\\"\"westus2\\\"\", \\\"\"eastus\\\"\", \\\"\"centralus\\\"\", \\\"\"centraluseuap\\\"\", \\\"\"southcentralus\\\"\", \\\"\"northcentralus\\\"\", \\\"\"westcentralus\\\"\", \\\"\"eastus2\\\"\", \\\"\"eastus2euap\\\"\", \\\"\"brazilsouth\\\"\", \\\"\"brazilus\\\"\", \\\"\"northeurope\\\"\", \\\"\"westeurope\\\"\", \\\"\"eastasia\\\"\", \\\"\"southeastasia\\\"\", \\\"\"japanwest\\\"\", \\\"\"japaneast\\\"\", \\\"\"koreacentral\\\"\", \\\"\"koreasouth\\\"\", \\\"\"indiasouth\\\"\", \\\"\"indiawest\\\"\", \\\"\"indiacentral\\\"\", \\\"\"australiaeast\\\"\", \\\"\"australiasoutheast\\\"\", \\\"\"canadacentral\\\"\", \\\"\"canadaeast\\\"\", \\\"\"uknorth\\\"\", \\\"\"uksouth2\\\"\", \\\"\"uksouth\\\"\", \\\"\"ukwest\\\"\", \\\"\"francecentral\\\"\", \\\"\"francesouth\\\"\", \\\"\"australiacentral\\\"\", \\\"\"australiacentral2\\\"\", \\\"\"uaecentral\\\"\", \\\"\"uaenorth\\\"\", \\\"\"southafricanorth\\\"\", \\\"\"southafricawest\\\"\", \\\"\"switzerlandnorth\\\"\", \\\"\"switzerlandwest\\\"\", \\\"\"germanynorth\\\"\", \\\"\"germanywestcentral\\\"\", \\\"\"norwayeast\\\"\", \\\"\"norwaywest\\\"\"]\n      }\n    }\n\",\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            @operator,\n            owner,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/authorization\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/blueprint\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := core.GetClientConfig(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := core.LookupSubscription(ctx, \u0026core.LookupSubscriptionArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleGetDefinition, err := blueprint.GetDefinition(ctx, \u0026blueprint.GetDefinitionArgs{\n\t\t\tName:    \"exampleBlueprint\",\n\t\t\tScopeId: example.Id,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleGetPublishedVersion, err := blueprint.GetPublishedVersion(ctx, \u0026blueprint.GetPublishedVersionArgs{\n\t\t\tScopeId:       exampleGetDefinition.ScopeId,\n\t\t\tBlueprintName: exampleGetDefinition.Name,\n\t\t\tVersion:       \"v1.0.0\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"exampleRG-bp\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Environment\": pulumi.String(\"example\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleUserAssignedIdentity, err := authorization.NewUserAssignedIdentity(ctx, \"example\", \u0026authorization.UserAssignedIdentityArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tLocation:          exampleResourceGroup.Location,\n\t\t\tName:              pulumi.String(\"bp-user-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\toperator, err := authorization.NewAssignment(ctx, \"operator\", \u0026authorization.AssignmentArgs{\n\t\t\tScope:              pulumi.String(example.Id),\n\t\t\tRoleDefinitionName: pulumi.String(\"Blueprint Operator\"),\n\t\t\tPrincipalId:        exampleUserAssignedIdentity.PrincipalId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\towner, err := authorization.NewAssignment(ctx, \"owner\", \u0026authorization.AssignmentArgs{\n\t\t\tScope:              pulumi.String(example.Id),\n\t\t\tRoleDefinitionName: pulumi.String(\"Owner\"),\n\t\t\tPrincipalId:        exampleUserAssignedIdentity.PrincipalId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = blueprint.NewAssignment(ctx, \"example\", \u0026blueprint.AssignmentArgs{\n\t\t\tName:                 pulumi.String(\"testAccBPAssignment\"),\n\t\t\tTargetSubscriptionId: pulumi.String(example.Id),\n\t\t\tVersionId:            pulumi.String(exampleGetPublishedVersion.Id),\n\t\t\tLocation:             exampleResourceGroup.Location,\n\t\t\tLockMode:             pulumi.String(\"AllResourcesDoNotDelete\"),\n\t\t\tLockExcludePrincipals: pulumi.StringArray{\n\t\t\t\tpulumi.String(current.ObjectId),\n\t\t\t},\n\t\t\tIdentity: \u0026blueprint.AssignmentIdentityArgs{\n\t\t\t\tType: pulumi.String(\"UserAssigned\"),\n\t\t\t\tIdentityIds: pulumi.StringArray{\n\t\t\t\t\texampleUserAssignedIdentity.ID(),\n\t\t\t\t},\n\t\t\t},\n\t\t\tResourceGroups: pulumi.String(`    {\n      \\\"ResourceGroup\\\": {\n        \\\"name\\\": \\\"exampleRG-bp\\\"\n      }\n    }\n`),\n\t\t\tParameterValues: pulumi.String(`    {\n      \\\"allowedlocationsforresourcegroups_listOfAllowedLocations\\\": {\n        \\\"value\\\": [\\\"westus\\\", \\\"westus2\\\", \\\"eastus\\\", \\\"centralus\\\", \\\"centraluseuap\\\", \\\"southcentralus\\\", \\\"northcentralus\\\", \\\"westcentralus\\\", \\\"eastus2\\\", \\\"eastus2euap\\\", \\\"brazilsouth\\\", \\\"brazilus\\\", \\\"northeurope\\\", \\\"westeurope\\\", \\\"eastasia\\\", \\\"southeastasia\\\", \\\"japanwest\\\", \\\"japaneast\\\", \\\"koreacentral\\\", \\\"koreasouth\\\", \\\"indiasouth\\\", \\\"indiawest\\\", \\\"indiacentral\\\", \\\"australiaeast\\\", \\\"australiasoutheast\\\", \\\"canadacentral\\\", \\\"canadaeast\\\", \\\"uknorth\\\", \\\"uksouth2\\\", \\\"uksouth\\\", \\\"ukwest\\\", \\\"francecentral\\\", \\\"francesouth\\\", \\\"australiacentral\\\", \\\"australiacentral2\\\", \\\"uaecentral\\\", \\\"uaenorth\\\", \\\"southafricanorth\\\", \\\"southafricawest\\\", \\\"switzerlandnorth\\\", \\\"switzerlandwest\\\", \\\"germanynorth\\\", \\\"germanywestcentral\\\", \\\"norwayeast\\\", \\\"norwaywest\\\"]\n      }\n    }\n`),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\toperator,\n\t\t\towner,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.core.inputs.GetSubscriptionArgs;\nimport com.pulumi.azure.blueprint.BlueprintFunctions;\nimport com.pulumi.azure.blueprint.inputs.GetDefinitionArgs;\nimport com.pulumi.azure.blueprint.inputs.GetPublishedVersionArgs;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.authorization.UserAssignedIdentity;\nimport com.pulumi.azure.authorization.UserAssignedIdentityArgs;\nimport com.pulumi.azure.blueprint.inputs.AssignmentIdentityArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var current = CoreFunctions.getClientConfig(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n        final var example = CoreFunctions.getSubscription(GetSubscriptionArgs.builder()\n            .build());\n\n        final var exampleGetDefinition = BlueprintFunctions.getDefinition(GetDefinitionArgs.builder()\n            .name(\"exampleBlueprint\")\n            .scopeId(example.id())\n            .build());\n\n        final var exampleGetPublishedVersion = BlueprintFunctions.getPublishedVersion(GetPublishedVersionArgs.builder()\n            .scopeId(exampleGetDefinition.scopeId())\n            .blueprintName(exampleGetDefinition.name())\n            .version(\"v1.0.0\")\n            .build());\n\n        var exampleResourceGroup = new ResourceGroup(\"exampleResourceGroup\", ResourceGroupArgs.builder()\n            .name(\"exampleRG-bp\")\n            .location(\"West Europe\")\n            .tags(Map.of(\"Environment\", \"example\"))\n            .build());\n\n        var exampleUserAssignedIdentity = new UserAssignedIdentity(\"exampleUserAssignedIdentity\", UserAssignedIdentityArgs.builder()\n            .resourceGroupName(exampleResourceGroup.name())\n            .location(exampleResourceGroup.location())\n            .name(\"bp-user-example\")\n            .build());\n\n        var operator = new com.pulumi.azure.authorization.Assignment(\"operator\", com.pulumi.azure.authorization.AssignmentArgs.builder()\n            .scope(example.id())\n            .roleDefinitionName(\"Blueprint Operator\")\n            .principalId(exampleUserAssignedIdentity.principalId())\n            .build());\n\n        var owner = new com.pulumi.azure.authorization.Assignment(\"owner\", com.pulumi.azure.authorization.AssignmentArgs.builder()\n            .scope(example.id())\n            .roleDefinitionName(\"Owner\")\n            .principalId(exampleUserAssignedIdentity.principalId())\n            .build());\n\n        var exampleAssignment = new com.pulumi.azure.blueprint.Assignment(\"exampleAssignment\", com.pulumi.azure.blueprint.AssignmentArgs.builder()\n            .name(\"testAccBPAssignment\")\n            .targetSubscriptionId(example.id())\n            .versionId(exampleGetPublishedVersion.id())\n            .location(exampleResourceGroup.location())\n            .lockMode(\"AllResourcesDoNotDelete\")\n            .lockExcludePrincipals(current.objectId())\n            .identity(AssignmentIdentityArgs.builder()\n                .type(\"UserAssigned\")\n                .identityIds(exampleUserAssignedIdentity.id())\n                .build())\n            .resourceGroups(\"\"\"\n    {\n      \\\"ResourceGroup\\\": {\n        \\\"name\\\": \\\"exampleRG-bp\\\"\n      }\n    }\n            \"\"\")\n            .parameterValues(\"\"\"\n    {\n      \\\"allowedlocationsforresourcegroups_listOfAllowedLocations\\\": {\n        \\\"value\\\": [\\\"westus\\\", \\\"westus2\\\", \\\"eastus\\\", \\\"centralus\\\", \\\"centraluseuap\\\", \\\"southcentralus\\\", \\\"northcentralus\\\", \\\"westcentralus\\\", \\\"eastus2\\\", \\\"eastus2euap\\\", \\\"brazilsouth\\\", \\\"brazilus\\\", \\\"northeurope\\\", \\\"westeurope\\\", \\\"eastasia\\\", \\\"southeastasia\\\", \\\"japanwest\\\", \\\"japaneast\\\", \\\"koreacentral\\\", \\\"koreasouth\\\", \\\"indiasouth\\\", \\\"indiawest\\\", \\\"indiacentral\\\", \\\"australiaeast\\\", \\\"australiasoutheast\\\", \\\"canadacentral\\\", \\\"canadaeast\\\", \\\"uknorth\\\", \\\"uksouth2\\\", \\\"uksouth\\\", \\\"ukwest\\\", \\\"francecentral\\\", \\\"francesouth\\\", \\\"australiacentral\\\", \\\"australiacentral2\\\", \\\"uaecentral\\\", \\\"uaenorth\\\", \\\"southafricanorth\\\", \\\"southafricawest\\\", \\\"switzerlandnorth\\\", \\\"switzerlandwest\\\", \\\"germanynorth\\\", \\\"germanywestcentral\\\", \\\"norwayeast\\\", \\\"norwaywest\\\"]\n      }\n    }\n            \"\"\")\n            .build(), CustomResourceOptions.builder()\n                .dependsOn(                \n                    operator,\n                    owner)\n                .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleResourceGroup:\n    type: azure:core:ResourceGroup\n    name: example\n    properties:\n      name: exampleRG-bp\n      location: West Europe\n      tags:\n        Environment: example\n  exampleUserAssignedIdentity:\n    type: azure:authorization:UserAssignedIdentity\n    name: example\n    properties:\n      resourceGroupName: ${exampleResourceGroup.name}\n      location: ${exampleResourceGroup.location}\n      name: bp-user-example\n  operator:\n    type: azure:authorization:Assignment\n    properties:\n      scope: ${example.id}\n      roleDefinitionName: Blueprint Operator\n      principalId: ${exampleUserAssignedIdentity.principalId}\n  owner:\n    type: azure:authorization:Assignment\n    properties:\n      scope: ${example.id}\n      roleDefinitionName: Owner\n      principalId: ${exampleUserAssignedIdentity.principalId}\n  exampleAssignment:\n    type: azure:blueprint:Assignment\n    name: example\n    properties:\n      name: testAccBPAssignment\n      targetSubscriptionId: ${example.id}\n      versionId: ${exampleGetPublishedVersion.id}\n      location: ${exampleResourceGroup.location}\n      lockMode: AllResourcesDoNotDelete\n      lockExcludePrincipals:\n        - ${current.objectId}\n      identity:\n        type: UserAssigned\n        identityIds:\n          - ${exampleUserAssignedIdentity.id}\n      resourceGroups: |2\n            {\n              \\\"ResourceGroup\\\": {\n                \\\"name\\\": \\\"exampleRG-bp\\\"\n              }\n            }\n      parameterValues: |2\n            {\n              \\\"allowedlocationsforresourcegroups_listOfAllowedLocations\\\": {\n                \\\"value\\\": [\\\"westus\\\", \\\"westus2\\\", \\\"eastus\\\", \\\"centralus\\\", \\\"centraluseuap\\\", \\\"southcentralus\\\", \\\"northcentralus\\\", \\\"westcentralus\\\", \\\"eastus2\\\", \\\"eastus2euap\\\", \\\"brazilsouth\\\", \\\"brazilus\\\", \\\"northeurope\\\", \\\"westeurope\\\", \\\"eastasia\\\", \\\"southeastasia\\\", \\\"japanwest\\\", \\\"japaneast\\\", \\\"koreacentral\\\", \\\"koreasouth\\\", \\\"indiasouth\\\", \\\"indiawest\\\", \\\"indiacentral\\\", \\\"australiaeast\\\", \\\"australiasoutheast\\\", \\\"canadacentral\\\", \\\"canadaeast\\\", \\\"uknorth\\\", \\\"uksouth2\\\", \\\"uksouth\\\", \\\"ukwest\\\", \\\"francecentral\\\", \\\"francesouth\\\", \\\"australiacentral\\\", \\\"australiacentral2\\\", \\\"uaecentral\\\", \\\"uaenorth\\\", \\\"southafricanorth\\\", \\\"southafricawest\\\", \\\"switzerlandnorth\\\", \\\"switzerlandwest\\\", \\\"germanynorth\\\", \\\"germanywestcentral\\\", \\\"norwayeast\\\", \\\"norwaywest\\\"]\n              }\n            }\n    options:\n      dependsOn:\n        - ${operator}\n        - ${owner}\nvariables:\n  current:\n    fn::invoke:\n      function: azure:core:getClientConfig\n      arguments: {}\n  example:\n    fn::invoke:\n      function: azure:core:getSubscription\n      arguments: {}\n  exampleGetDefinition:\n    fn::invoke:\n      function: azure:blueprint:getDefinition\n      arguments:\n        name: exampleBlueprint\n        scopeId: ${example.id}\n  exampleGetPublishedVersion:\n    fn::invoke:\n      function: azure:blueprint:getPublishedVersion\n      arguments:\n        scopeId: ${exampleGetDefinition.scopeId}\n        blueprintName: ${exampleGetDefinition.name}\n        version: v1.0.0\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Blueprint` - 2018-11-01-preview\n\n## Import\n\nAzure Blueprint Assignments can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:blueprint/assignment:Assignment example \"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Blueprint/blueprintAssignments/assignSimpleBlueprint\"\n```\n\n","properties":{"blueprintName":{"type":"string","description":"The name of the blueprint assigned\n"},"description":{"type":"string","description":"The Description on the Blueprint\n"},"displayName":{"type":"string","description":"The display name of the blueprint\n"},"identity":{"$ref":"#/types/azure:blueprint/AssignmentIdentity:AssignmentIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"location":{"type":"string","description":"The Azure location of the Assignment. Changing this forces a new resource to be created.\n"},"lockExcludeActions":{"type":"array","items":{"type":"string"},"description":"a list of up to 200 actions that are permitted to bypass the locks applied by the Blueprint.\n"},"lockExcludePrincipals":{"type":"array","items":{"type":"string"},"description":"a list of up to 5 Principal IDs that are permitted to bypass the locks applied by the Blueprint.\n"},"lockMode":{"type":"string","description":"The locking mode of the Blueprint Assignment. One of `None` (Default), `AllResourcesReadOnly`, or `AllResourcesDoNotDelete`. Defaults to `None`.\n"},"name":{"type":"string","description":"The name of the Blueprint Assignment. Changing this forces a new resource to be created.\n"},"parameterValues":{"type":"string","description":"a JSON string to supply Blueprint Assignment parameter values.\n\n\u003e **NOTE:** Improperly formatted JSON, or missing values required by a Blueprint will cause the assignment to fail.\n"},"resourceGroups":{"type":"string","description":"a JSON string to supply the Blueprint Resource Group information.\n\n\u003e **NOTE:** Improperly formatted JSON, or missing values required by a Blueprint will cause the assignment to fail.\n"},"targetSubscriptionId":{"type":"string","description":"The Subscription ID the Blueprint Published Version is to be applied to. Changing this forces a new resource to be created.\n"},"type":{"type":"string"},"versionId":{"type":"string","description":"The ID of the Published Version of the blueprint to be assigned.\n"}},"required":["blueprintName","description","displayName","identity","location","name","targetSubscriptionId","type","versionId"],"inputProperties":{"identity":{"$ref":"#/types/azure:blueprint/AssignmentIdentity:AssignmentIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"location":{"type":"string","description":"The Azure location of the Assignment. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"lockExcludeActions":{"type":"array","items":{"type":"string"},"description":"a list of up to 200 actions that are permitted to bypass the locks applied by the Blueprint.\n"},"lockExcludePrincipals":{"type":"array","items":{"type":"string"},"description":"a list of up to 5 Principal IDs that are permitted to bypass the locks applied by the Blueprint.\n"},"lockMode":{"type":"string","description":"The locking mode of the Blueprint Assignment. One of `None` (Default), `AllResourcesReadOnly`, or `AllResourcesDoNotDelete`. Defaults to `None`.\n"},"name":{"type":"string","description":"The name of the Blueprint Assignment. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"parameterValues":{"type":"string","description":"a JSON string to supply Blueprint Assignment parameter values.\n\n\u003e **NOTE:** Improperly formatted JSON, or missing values required by a Blueprint will cause the assignment to fail.\n"},"resourceGroups":{"type":"string","description":"a JSON string to supply the Blueprint Resource Group information.\n\n\u003e **NOTE:** Improperly formatted JSON, or missing values required by a Blueprint will cause the assignment to fail.\n"},"targetSubscriptionId":{"type":"string","description":"The Subscription ID the Blueprint Published Version is to be applied to. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"versionId":{"type":"string","description":"The ID of the Published Version of the blueprint to be assigned.\n"}},"requiredInputs":["identity","targetSubscriptionId","versionId"],"stateInputs":{"description":"Input properties used for looking up and filtering Assignment resources.\n","properties":{"blueprintName":{"type":"string","description":"The name of the blueprint assigned\n"},"description":{"type":"string","description":"The Description on the Blueprint\n"},"displayName":{"type":"string","description":"The display name of the blueprint\n"},"identity":{"$ref":"#/types/azure:blueprint/AssignmentIdentity:AssignmentIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"location":{"type":"string","description":"The Azure location of the Assignment. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"lockExcludeActions":{"type":"array","items":{"type":"string"},"description":"a list of up to 200 actions that are permitted to bypass the locks applied by the Blueprint.\n"},"lockExcludePrincipals":{"type":"array","items":{"type":"string"},"description":"a list of up to 5 Principal IDs that are permitted to bypass the locks applied by the Blueprint.\n"},"lockMode":{"type":"string","description":"The locking mode of the Blueprint Assignment. One of `None` (Default), `AllResourcesReadOnly`, or `AllResourcesDoNotDelete`. Defaults to `None`.\n"},"name":{"type":"string","description":"The name of the Blueprint Assignment. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"parameterValues":{"type":"string","description":"a JSON string to supply Blueprint Assignment parameter values.\n\n\u003e **NOTE:** Improperly formatted JSON, or missing values required by a Blueprint will cause the assignment to fail.\n"},"resourceGroups":{"type":"string","description":"a JSON string to supply the Blueprint Resource Group information.\n\n\u003e **NOTE:** Improperly formatted JSON, or missing values required by a Blueprint will cause the assignment to fail.\n"},"targetSubscriptionId":{"type":"string","description":"The Subscription ID the Blueprint Published Version is to be applied to. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"type":{"type":"string"},"versionId":{"type":"string","description":"The ID of the Published Version of the blueprint to be assigned.\n"}},"type":"object"}},"azure:bot/channelAlexa:ChannelAlexa":{"description":"Manages an Alexa integration for a Bot Channel\n\n\u003e **Note:** A bot can only have a single Alexa Channel associated with it.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst current = azure.core.getClientConfig({});\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleChannelsRegistration = new azure.bot.ChannelsRegistration(\"example\", {\n    name: \"example-bcr\",\n    location: \"global\",\n    resourceGroupName: example.name,\n    sku: \"F0\",\n    microsoftAppId: current.then(current =\u003e current.clientId),\n});\nconst exampleChannelAlexa = new azure.bot.ChannelAlexa(\"example\", {\n    botName: exampleChannelsRegistration.name,\n    location: exampleChannelsRegistration.location,\n    resourceGroupName: example.name,\n    skillId: \"amzn1.ask.skill.00000000-0000-0000-0000-000000000000\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\ncurrent = azure.core.get_client_config()\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_channels_registration = azure.bot.ChannelsRegistration(\"example\",\n    name=\"example-bcr\",\n    location=\"global\",\n    resource_group_name=example.name,\n    sku=\"F0\",\n    microsoft_app_id=current.client_id)\nexample_channel_alexa = azure.bot.ChannelAlexa(\"example\",\n    bot_name=example_channels_registration.name,\n    location=example_channels_registration.location,\n    resource_group_name=example.name,\n    skill_id=\"amzn1.ask.skill.00000000-0000-0000-0000-000000000000\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var current = Azure.Core.GetClientConfig.Invoke();\n\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleChannelsRegistration = new Azure.Bot.ChannelsRegistration(\"example\", new()\n    {\n        Name = \"example-bcr\",\n        Location = \"global\",\n        ResourceGroupName = example.Name,\n        Sku = \"F0\",\n        MicrosoftAppId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.ClientId),\n    });\n\n    var exampleChannelAlexa = new Azure.Bot.ChannelAlexa(\"example\", new()\n    {\n        BotName = exampleChannelsRegistration.Name,\n        Location = exampleChannelsRegistration.Location,\n        ResourceGroupName = example.Name,\n        SkillId = \"amzn1.ask.skill.00000000-0000-0000-0000-000000000000\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/bot\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := core.GetClientConfig(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleChannelsRegistration, err := bot.NewChannelsRegistration(ctx, \"example\", \u0026bot.ChannelsRegistrationArgs{\n\t\t\tName:              pulumi.String(\"example-bcr\"),\n\t\t\tLocation:          pulumi.String(\"global\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSku:               pulumi.String(\"F0\"),\n\t\t\tMicrosoftAppId:    pulumi.String(current.ClientId),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = bot.NewChannelAlexa(ctx, \"example\", \u0026bot.ChannelAlexaArgs{\n\t\t\tBotName:           exampleChannelsRegistration.Name,\n\t\t\tLocation:          exampleChannelsRegistration.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSkillId:           pulumi.String(\"amzn1.ask.skill.00000000-0000-0000-0000-000000000000\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.bot.ChannelsRegistration;\nimport com.pulumi.azure.bot.ChannelsRegistrationArgs;\nimport com.pulumi.azure.bot.ChannelAlexa;\nimport com.pulumi.azure.bot.ChannelAlexaArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var current = CoreFunctions.getClientConfig(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleChannelsRegistration = new ChannelsRegistration(\"exampleChannelsRegistration\", ChannelsRegistrationArgs.builder()\n            .name(\"example-bcr\")\n            .location(\"global\")\n            .resourceGroupName(example.name())\n            .sku(\"F0\")\n            .microsoftAppId(current.clientId())\n            .build());\n\n        var exampleChannelAlexa = new ChannelAlexa(\"exampleChannelAlexa\", ChannelAlexaArgs.builder()\n            .botName(exampleChannelsRegistration.name())\n            .location(exampleChannelsRegistration.location())\n            .resourceGroupName(example.name())\n            .skillId(\"amzn1.ask.skill.00000000-0000-0000-0000-000000000000\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleChannelsRegistration:\n    type: azure:bot:ChannelsRegistration\n    name: example\n    properties:\n      name: example-bcr\n      location: global\n      resourceGroupName: ${example.name}\n      sku: F0\n      microsoftAppId: ${current.clientId}\n  exampleChannelAlexa:\n    type: azure:bot:ChannelAlexa\n    name: example\n    properties:\n      botName: ${exampleChannelsRegistration.name}\n      location: ${exampleChannelsRegistration.location}\n      resourceGroupName: ${example.name}\n      skillId: amzn1.ask.skill.00000000-0000-0000-0000-000000000000\nvariables:\n  current:\n    fn::invoke:\n      function: azure:core:getClientConfig\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe Alexa Integration for a Bot Channel can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:bot/channelAlexa:ChannelAlexa example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.BotService/botServices/botService1/channels/AlexaChannel\n```\n\n","properties":{"botName":{"type":"string","description":"The name of the Bot Resource this channel will be associated with. Changing this forces a new resource to be created.\n"},"location":{"type":"string","description":"The supported Azure location where the resource exists. Changing this forces a new resource to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group where the Alexa Channel should be created. Changing this forces a new resource to be created.\n"},"skillId":{"type":"string","description":"The Alexa skill ID for the Alexa Channel.\n"}},"required":["botName","location","resourceGroupName","skillId"],"inputProperties":{"botName":{"type":"string","description":"The name of the Bot Resource this channel will be associated with. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"location":{"type":"string","description":"The supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group where the Alexa Channel should be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"skillId":{"type":"string","description":"The Alexa skill ID for the Alexa Channel.\n"}},"requiredInputs":["botName","resourceGroupName","skillId"],"stateInputs":{"description":"Input properties used for looking up and filtering ChannelAlexa resources.\n","properties":{"botName":{"type":"string","description":"The name of the Bot Resource this channel will be associated with. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"location":{"type":"string","description":"The supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group where the Alexa Channel should be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"skillId":{"type":"string","description":"The Alexa skill ID for the Alexa Channel.\n"}},"type":"object"}},"azure:bot/channelDirectLine:ChannelDirectLine":{"description":"Manages a Directline integration for a Bot Channel\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst current = azure.core.getClientConfig({});\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleChannelsRegistration = new azure.bot.ChannelsRegistration(\"example\", {\n    name: \"example\",\n    location: \"global\",\n    resourceGroupName: example.name,\n    sku: \"F0\",\n    microsoftAppId: current.then(current =\u003e current.clientId),\n});\nconst exampleChannelDirectLine = new azure.bot.ChannelDirectLine(\"example\", {\n    botName: exampleChannelsRegistration.name,\n    location: exampleChannelsRegistration.location,\n    resourceGroupName: example.name,\n    sites: [{\n        name: \"default\",\n        enabled: true,\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\ncurrent = azure.core.get_client_config()\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_channels_registration = azure.bot.ChannelsRegistration(\"example\",\n    name=\"example\",\n    location=\"global\",\n    resource_group_name=example.name,\n    sku=\"F0\",\n    microsoft_app_id=current.client_id)\nexample_channel_direct_line = azure.bot.ChannelDirectLine(\"example\",\n    bot_name=example_channels_registration.name,\n    location=example_channels_registration.location,\n    resource_group_name=example.name,\n    sites=[{\n        \"name\": \"default\",\n        \"enabled\": True,\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var current = Azure.Core.GetClientConfig.Invoke();\n\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleChannelsRegistration = new Azure.Bot.ChannelsRegistration(\"example\", new()\n    {\n        Name = \"example\",\n        Location = \"global\",\n        ResourceGroupName = example.Name,\n        Sku = \"F0\",\n        MicrosoftAppId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.ClientId),\n    });\n\n    var exampleChannelDirectLine = new Azure.Bot.ChannelDirectLine(\"example\", new()\n    {\n        BotName = exampleChannelsRegistration.Name,\n        Location = exampleChannelsRegistration.Location,\n        ResourceGroupName = example.Name,\n        Sites = new[]\n        {\n            new Azure.Bot.Inputs.ChannelDirectLineSiteArgs\n            {\n                Name = \"default\",\n                Enabled = true,\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/bot\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := core.GetClientConfig(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleChannelsRegistration, err := bot.NewChannelsRegistration(ctx, \"example\", \u0026bot.ChannelsRegistrationArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tLocation:          pulumi.String(\"global\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSku:               pulumi.String(\"F0\"),\n\t\t\tMicrosoftAppId:    pulumi.String(current.ClientId),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = bot.NewChannelDirectLine(ctx, \"example\", \u0026bot.ChannelDirectLineArgs{\n\t\t\tBotName:           exampleChannelsRegistration.Name,\n\t\t\tLocation:          exampleChannelsRegistration.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSites: bot.ChannelDirectLineSiteArray{\n\t\t\t\t\u0026bot.ChannelDirectLineSiteArgs{\n\t\t\t\t\tName:    pulumi.String(\"default\"),\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.bot.ChannelsRegistration;\nimport com.pulumi.azure.bot.ChannelsRegistrationArgs;\nimport com.pulumi.azure.bot.ChannelDirectLine;\nimport com.pulumi.azure.bot.ChannelDirectLineArgs;\nimport com.pulumi.azure.bot.inputs.ChannelDirectLineSiteArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var current = CoreFunctions.getClientConfig(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleChannelsRegistration = new ChannelsRegistration(\"exampleChannelsRegistration\", ChannelsRegistrationArgs.builder()\n            .name(\"example\")\n            .location(\"global\")\n            .resourceGroupName(example.name())\n            .sku(\"F0\")\n            .microsoftAppId(current.clientId())\n            .build());\n\n        var exampleChannelDirectLine = new ChannelDirectLine(\"exampleChannelDirectLine\", ChannelDirectLineArgs.builder()\n            .botName(exampleChannelsRegistration.name())\n            .location(exampleChannelsRegistration.location())\n            .resourceGroupName(example.name())\n            .sites(ChannelDirectLineSiteArgs.builder()\n                .name(\"default\")\n                .enabled(true)\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleChannelsRegistration:\n    type: azure:bot:ChannelsRegistration\n    name: example\n    properties:\n      name: example\n      location: global\n      resourceGroupName: ${example.name}\n      sku: F0\n      microsoftAppId: ${current.clientId}\n  exampleChannelDirectLine:\n    type: azure:bot:ChannelDirectLine\n    name: example\n    properties:\n      botName: ${exampleChannelsRegistration.name}\n      location: ${exampleChannelsRegistration.location}\n      resourceGroupName: ${example.name}\n      sites:\n        - name: default\n          enabled: true\nvariables:\n  current:\n    fn::invoke:\n      function: azure:core:getClientConfig\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe Directline Channel for a Bot can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:bot/channelDirectLine:ChannelDirectLine example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/example/providers/Microsoft.BotService/botServices/example/channels/DirectlineChannel\n```\n\n","properties":{"botName":{"type":"string","description":"The name of the Bot Resource this channel will be associated with. Changing this forces a new resource to be created.\n"},"location":{"type":"string","description":"The supported Azure location where the resource exists. Changing this forces a new resource to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the Bot Channel. Changing this forces a new resource to be created.\n"},"sites":{"type":"array","items":{"$ref":"#/types/azure:bot/ChannelDirectLineSite:ChannelDirectLineSite"},"description":"A site represents a client application that you want to connect to your bot. One or more \u003cspan pulumi-lang-nodejs=\"`site`\" pulumi-lang-dotnet=\"`Site`\" pulumi-lang-go=\"`site`\" pulumi-lang-python=\"`site`\" pulumi-lang-yaml=\"`site`\" pulumi-lang-java=\"`site`\"\u003e`site`\u003c/span\u003e blocks as defined below.\n"}},"required":["botName","location","resourceGroupName","sites"],"inputProperties":{"botName":{"type":"string","description":"The name of the Bot Resource this channel will be associated with. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"location":{"type":"string","description":"The supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the Bot Channel. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sites":{"type":"array","items":{"$ref":"#/types/azure:bot/ChannelDirectLineSite:ChannelDirectLineSite"},"description":"A site represents a client application that you want to connect to your bot. One or more \u003cspan pulumi-lang-nodejs=\"`site`\" pulumi-lang-dotnet=\"`Site`\" pulumi-lang-go=\"`site`\" pulumi-lang-python=\"`site`\" pulumi-lang-yaml=\"`site`\" pulumi-lang-java=\"`site`\"\u003e`site`\u003c/span\u003e blocks as defined below.\n"}},"requiredInputs":["botName","resourceGroupName","sites"],"stateInputs":{"description":"Input properties used for looking up and filtering ChannelDirectLine resources.\n","properties":{"botName":{"type":"string","description":"The name of the Bot Resource this channel will be associated with. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"location":{"type":"string","description":"The supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the Bot Channel. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sites":{"type":"array","items":{"$ref":"#/types/azure:bot/ChannelDirectLineSite:ChannelDirectLineSite"},"description":"A site represents a client application that you want to connect to your bot. One or more \u003cspan pulumi-lang-nodejs=\"`site`\" pulumi-lang-dotnet=\"`Site`\" pulumi-lang-go=\"`site`\" pulumi-lang-python=\"`site`\" pulumi-lang-yaml=\"`site`\" pulumi-lang-java=\"`site`\"\u003e`site`\u003c/span\u003e blocks as defined below.\n"}},"type":"object"}},"azure:bot/channelDirectLineSpeech:ChannelDirectLineSpeech":{"description":"Manages a Direct Line Speech integration for a Bot Channel\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst current = azure.core.getClientConfig({});\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleAccount = new azure.cognitive.Account(\"example\", {\n    name: \"example-cogacct\",\n    location: example.location,\n    resourceGroupName: example.name,\n    kind: \"SpeechServices\",\n    skuName: \"S0\",\n});\nconst exampleChannelsRegistration = new azure.bot.ChannelsRegistration(\"example\", {\n    name: \"example-bcr\",\n    location: \"global\",\n    resourceGroupName: example.name,\n    sku: \"F0\",\n    microsoftAppId: current.then(current =\u003e current.clientId),\n});\nconst exampleChannelDirectLineSpeech = new azure.bot.ChannelDirectLineSpeech(\"example\", {\n    botName: exampleChannelsRegistration.name,\n    location: exampleChannelsRegistration.location,\n    resourceGroupName: example.name,\n    cognitiveServiceLocation: exampleAccount.location,\n    cognitiveServiceAccessKey: exampleAccount.primaryAccessKey,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\ncurrent = azure.core.get_client_config()\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_account = azure.cognitive.Account(\"example\",\n    name=\"example-cogacct\",\n    location=example.location,\n    resource_group_name=example.name,\n    kind=\"SpeechServices\",\n    sku_name=\"S0\")\nexample_channels_registration = azure.bot.ChannelsRegistration(\"example\",\n    name=\"example-bcr\",\n    location=\"global\",\n    resource_group_name=example.name,\n    sku=\"F0\",\n    microsoft_app_id=current.client_id)\nexample_channel_direct_line_speech = azure.bot.ChannelDirectLineSpeech(\"example\",\n    bot_name=example_channels_registration.name,\n    location=example_channels_registration.location,\n    resource_group_name=example.name,\n    cognitive_service_location=example_account.location,\n    cognitive_service_access_key=example_account.primary_access_key)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var current = Azure.Core.GetClientConfig.Invoke();\n\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleAccount = new Azure.Cognitive.Account(\"example\", new()\n    {\n        Name = \"example-cogacct\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Kind = \"SpeechServices\",\n        SkuName = \"S0\",\n    });\n\n    var exampleChannelsRegistration = new Azure.Bot.ChannelsRegistration(\"example\", new()\n    {\n        Name = \"example-bcr\",\n        Location = \"global\",\n        ResourceGroupName = example.Name,\n        Sku = \"F0\",\n        MicrosoftAppId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.ClientId),\n    });\n\n    var exampleChannelDirectLineSpeech = new Azure.Bot.ChannelDirectLineSpeech(\"example\", new()\n    {\n        BotName = exampleChannelsRegistration.Name,\n        Location = exampleChannelsRegistration.Location,\n        ResourceGroupName = example.Name,\n        CognitiveServiceLocation = exampleAccount.Location,\n        CognitiveServiceAccessKey = exampleAccount.PrimaryAccessKey,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/bot\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/cognitive\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := core.GetClientConfig(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := cognitive.NewAccount(ctx, \"example\", \u0026cognitive.AccountArgs{\n\t\t\tName:              pulumi.String(\"example-cogacct\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tKind:              pulumi.String(\"SpeechServices\"),\n\t\t\tSkuName:           pulumi.String(\"S0\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleChannelsRegistration, err := bot.NewChannelsRegistration(ctx, \"example\", \u0026bot.ChannelsRegistrationArgs{\n\t\t\tName:              pulumi.String(\"example-bcr\"),\n\t\t\tLocation:          pulumi.String(\"global\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSku:               pulumi.String(\"F0\"),\n\t\t\tMicrosoftAppId:    pulumi.String(current.ClientId),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = bot.NewChannelDirectLineSpeech(ctx, \"example\", \u0026bot.ChannelDirectLineSpeechArgs{\n\t\t\tBotName:                   exampleChannelsRegistration.Name,\n\t\t\tLocation:                  exampleChannelsRegistration.Location,\n\t\t\tResourceGroupName:         example.Name,\n\t\t\tCognitiveServiceLocation:  exampleAccount.Location,\n\t\t\tCognitiveServiceAccessKey: exampleAccount.PrimaryAccessKey,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.cognitive.Account;\nimport com.pulumi.azure.cognitive.AccountArgs;\nimport com.pulumi.azure.bot.ChannelsRegistration;\nimport com.pulumi.azure.bot.ChannelsRegistrationArgs;\nimport com.pulumi.azure.bot.ChannelDirectLineSpeech;\nimport com.pulumi.azure.bot.ChannelDirectLineSpeechArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var current = CoreFunctions.getClientConfig(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"example-cogacct\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .kind(\"SpeechServices\")\n            .skuName(\"S0\")\n            .build());\n\n        var exampleChannelsRegistration = new ChannelsRegistration(\"exampleChannelsRegistration\", ChannelsRegistrationArgs.builder()\n            .name(\"example-bcr\")\n            .location(\"global\")\n            .resourceGroupName(example.name())\n            .sku(\"F0\")\n            .microsoftAppId(current.clientId())\n            .build());\n\n        var exampleChannelDirectLineSpeech = new ChannelDirectLineSpeech(\"exampleChannelDirectLineSpeech\", ChannelDirectLineSpeechArgs.builder()\n            .botName(exampleChannelsRegistration.name())\n            .location(exampleChannelsRegistration.location())\n            .resourceGroupName(example.name())\n            .cognitiveServiceLocation(exampleAccount.location())\n            .cognitiveServiceAccessKey(exampleAccount.primaryAccessKey())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleAccount:\n    type: azure:cognitive:Account\n    name: example\n    properties:\n      name: example-cogacct\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      kind: SpeechServices\n      skuName: S0\n  exampleChannelsRegistration:\n    type: azure:bot:ChannelsRegistration\n    name: example\n    properties:\n      name: example-bcr\n      location: global\n      resourceGroupName: ${example.name}\n      sku: F0\n      microsoftAppId: ${current.clientId}\n  exampleChannelDirectLineSpeech:\n    type: azure:bot:ChannelDirectLineSpeech\n    name: example\n    properties:\n      botName: ${exampleChannelsRegistration.name}\n      location: ${exampleChannelsRegistration.location}\n      resourceGroupName: ${example.name}\n      cognitiveServiceLocation: ${exampleAccount.location}\n      cognitiveServiceAccessKey: ${exampleAccount.primaryAccessKey}\nvariables:\n  current:\n    fn::invoke:\n      function: azure:core:getClientConfig\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nDirect Line Speech Channels can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:bot/channelDirectLineSpeech:ChannelDirectLineSpeech example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.BotService/botServices/botService1/channels/DirectLineSpeechChannel\n```\n\n","properties":{"botName":{"type":"string","description":"The name of the Bot Resource this channel will be associated with. Changing this forces a new resource to be created.\n"},"cognitiveAccountId":{"type":"string","description":"The ID of the Cognitive Account this Bot Channel should be associated with.\n"},"cognitiveServiceAccessKey":{"type":"string","description":"The access key to access the Cognitive Service.\n","secret":true},"cognitiveServiceLocation":{"type":"string","description":"Specifies the supported Azure location where the Cognitive Service resource exists.\n"},"customSpeechModelId":{"type":"string","description":"The custom speech model id for the Direct Line Speech Channel.\n"},"customVoiceDeploymentId":{"type":"string","description":"The custom voice deployment id for the Direct Line Speech Channel.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group where the Direct Line Speech Channel should be created. Changing this forces a new resource to be created.\n"}},"required":["botName","cognitiveServiceAccessKey","cognitiveServiceLocation","location","resourceGroupName"],"inputProperties":{"botName":{"type":"string","description":"The name of the Bot Resource this channel will be associated with. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"cognitiveAccountId":{"type":"string","description":"The ID of the Cognitive Account this Bot Channel should be associated with.\n"},"cognitiveServiceAccessKey":{"type":"string","description":"The access key to access the Cognitive Service.\n","secret":true},"cognitiveServiceLocation":{"type":"string","description":"Specifies the supported Azure location where the Cognitive Service resource exists.\n"},"customSpeechModelId":{"type":"string","description":"The custom speech model id for the Direct Line Speech Channel.\n"},"customVoiceDeploymentId":{"type":"string","description":"The custom voice deployment id for the Direct Line Speech Channel.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group where the Direct Line Speech Channel should be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["botName","cognitiveServiceAccessKey","cognitiveServiceLocation","resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering ChannelDirectLineSpeech resources.\n","properties":{"botName":{"type":"string","description":"The name of the Bot Resource this channel will be associated with. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"cognitiveAccountId":{"type":"string","description":"The ID of the Cognitive Account this Bot Channel should be associated with.\n"},"cognitiveServiceAccessKey":{"type":"string","description":"The access key to access the Cognitive Service.\n","secret":true},"cognitiveServiceLocation":{"type":"string","description":"Specifies the supported Azure location where the Cognitive Service resource exists.\n"},"customSpeechModelId":{"type":"string","description":"The custom speech model id for the Direct Line Speech Channel.\n"},"customVoiceDeploymentId":{"type":"string","description":"The custom voice deployment id for the Direct Line Speech Channel.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group where the Direct Line Speech Channel should be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:bot/channelEmail:ChannelEmail":{"description":"Manages a Email integration for a Bot Channel\n\n\u003e **Note:** A bot can only have a single Email Channel associated with it.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst current = azure.core.getClientConfig({});\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleChannelsRegistration = new azure.bot.ChannelsRegistration(\"example\", {\n    name: \"example\",\n    location: \"global\",\n    resourceGroupName: example.name,\n    sku: \"F0\",\n    microsoftAppId: current.then(current =\u003e current.clientId),\n});\nconst exampleChannelEmail = new azure.bot.ChannelEmail(\"example\", {\n    botName: exampleChannelsRegistration.name,\n    location: exampleChannelsRegistration.location,\n    resourceGroupName: example.name,\n    emailAddress: \"example.com\",\n    emailPassword: \"123456\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\ncurrent = azure.core.get_client_config()\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_channels_registration = azure.bot.ChannelsRegistration(\"example\",\n    name=\"example\",\n    location=\"global\",\n    resource_group_name=example.name,\n    sku=\"F0\",\n    microsoft_app_id=current.client_id)\nexample_channel_email = azure.bot.ChannelEmail(\"example\",\n    bot_name=example_channels_registration.name,\n    location=example_channels_registration.location,\n    resource_group_name=example.name,\n    email_address=\"example.com\",\n    email_password=\"123456\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var current = Azure.Core.GetClientConfig.Invoke();\n\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleChannelsRegistration = new Azure.Bot.ChannelsRegistration(\"example\", new()\n    {\n        Name = \"example\",\n        Location = \"global\",\n        ResourceGroupName = example.Name,\n        Sku = \"F0\",\n        MicrosoftAppId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.ClientId),\n    });\n\n    var exampleChannelEmail = new Azure.Bot.ChannelEmail(\"example\", new()\n    {\n        BotName = exampleChannelsRegistration.Name,\n        Location = exampleChannelsRegistration.Location,\n        ResourceGroupName = example.Name,\n        EmailAddress = \"example.com\",\n        EmailPassword = \"123456\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/bot\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := core.GetClientConfig(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleChannelsRegistration, err := bot.NewChannelsRegistration(ctx, \"example\", \u0026bot.ChannelsRegistrationArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tLocation:          pulumi.String(\"global\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSku:               pulumi.String(\"F0\"),\n\t\t\tMicrosoftAppId:    pulumi.String(current.ClientId),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = bot.NewChannelEmail(ctx, \"example\", \u0026bot.ChannelEmailArgs{\n\t\t\tBotName:           exampleChannelsRegistration.Name,\n\t\t\tLocation:          exampleChannelsRegistration.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tEmailAddress:      pulumi.String(\"example.com\"),\n\t\t\tEmailPassword:     pulumi.String(\"123456\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.bot.ChannelsRegistration;\nimport com.pulumi.azure.bot.ChannelsRegistrationArgs;\nimport com.pulumi.azure.bot.ChannelEmail;\nimport com.pulumi.azure.bot.ChannelEmailArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var current = CoreFunctions.getClientConfig(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleChannelsRegistration = new ChannelsRegistration(\"exampleChannelsRegistration\", ChannelsRegistrationArgs.builder()\n            .name(\"example\")\n            .location(\"global\")\n            .resourceGroupName(example.name())\n            .sku(\"F0\")\n            .microsoftAppId(current.clientId())\n            .build());\n\n        var exampleChannelEmail = new ChannelEmail(\"exampleChannelEmail\", ChannelEmailArgs.builder()\n            .botName(exampleChannelsRegistration.name())\n            .location(exampleChannelsRegistration.location())\n            .resourceGroupName(example.name())\n            .emailAddress(\"example.com\")\n            .emailPassword(\"123456\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleChannelsRegistration:\n    type: azure:bot:ChannelsRegistration\n    name: example\n    properties:\n      name: example\n      location: global\n      resourceGroupName: ${example.name}\n      sku: F0\n      microsoftAppId: ${current.clientId}\n  exampleChannelEmail:\n    type: azure:bot:ChannelEmail\n    name: example\n    properties:\n      botName: ${exampleChannelsRegistration.name}\n      location: ${exampleChannelsRegistration.location}\n      resourceGroupName: ${example.name}\n      emailAddress: example.com\n      emailPassword: '123456'\nvariables:\n  current:\n    fn::invoke:\n      function: azure:core:getClientConfig\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.BotService` - 2022-09-15\n\n## Import\n\nThe Email Integration for a Bot Channel can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:bot/channelEmail:ChannelEmail example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/example/providers/Microsoft.BotService/botServices/example/channels/EmailChannel\n```\n\n","properties":{"botName":{"type":"string","description":"The name of the Bot Resource this channel will be associated with. Changing this forces a new resource to be created.\n"},"emailAddress":{"type":"string","description":"The email address that the Bot will authenticate with.\n"},"emailPassword":{"type":"string","description":"The email password that the Bot will authenticate with.\n","secret":true},"location":{"type":"string","description":"The supported Azure location where the resource exists. Changing this forces a new resource to be created.\n"},"magicCode":{"type":"string","description":"The magic code used to set up OAUTH authentication.\n","secret":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the Bot Channel. Changing this forces a new resource to be created.\n"}},"required":["botName","emailAddress","location","resourceGroupName"],"inputProperties":{"botName":{"type":"string","description":"The name of the Bot Resource this channel will be associated with. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"emailAddress":{"type":"string","description":"The email address that the Bot will authenticate with.\n"},"emailPassword":{"type":"string","description":"The email password that the Bot will authenticate with.\n","secret":true},"location":{"type":"string","description":"The supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"magicCode":{"type":"string","description":"The magic code used to set up OAUTH authentication.\n","secret":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the Bot Channel. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["botName","emailAddress","resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering ChannelEmail resources.\n","properties":{"botName":{"type":"string","description":"The name of the Bot Resource this channel will be associated with. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"emailAddress":{"type":"string","description":"The email address that the Bot will authenticate with.\n"},"emailPassword":{"type":"string","description":"The email password that the Bot will authenticate with.\n","secret":true},"location":{"type":"string","description":"The supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"magicCode":{"type":"string","description":"The magic code used to set up OAUTH authentication.\n","secret":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the Bot Channel. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:bot/channelFacebook:ChannelFacebook":{"description":"Manages a Facebook integration for a Bot Channel\n\n\u003e **Note:** A bot can only have a single Facebook Channel associated with it.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst current = azure.core.getClientConfig({});\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleChannelsRegistration = new azure.bot.ChannelsRegistration(\"example\", {\n    name: \"example-bcr\",\n    location: \"global\",\n    resourceGroupName: example.name,\n    sku: \"F0\",\n    microsoftAppId: current.then(current =\u003e current.clientId),\n});\nconst exampleChannelFacebook = new azure.bot.ChannelFacebook(\"example\", {\n    botName: exampleChannelsRegistration.name,\n    location: exampleChannelsRegistration.location,\n    resourceGroupName: example.name,\n    facebookApplicationId: \"563490254873576\",\n    facebookApplicationSecret: \"8976d2536445ad5b976dee8437b9beb0\",\n    pages: [{\n        id: \"876248795081953\",\n        accessToken: \"CGGCec3UAFPMBAKwK3Ft8SEpO8ZCuvpNBI5DClaJCDfqJj2BgEHCKxcY0FDarmUQap6XxpZC9GWCW4nZCzjcKosAZAP7SO44X8Q8gAntbDIXgYUBGp9xtS8wUkwgKPobUePcOOVFkvClxvYZByuiQxoTiK9fQ9jZCPEorbmZCsKDZAx4VLnrNwCTZAPUwXxO61gfq4ZD\",\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\ncurrent = azure.core.get_client_config()\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_channels_registration = azure.bot.ChannelsRegistration(\"example\",\n    name=\"example-bcr\",\n    location=\"global\",\n    resource_group_name=example.name,\n    sku=\"F0\",\n    microsoft_app_id=current.client_id)\nexample_channel_facebook = azure.bot.ChannelFacebook(\"example\",\n    bot_name=example_channels_registration.name,\n    location=example_channels_registration.location,\n    resource_group_name=example.name,\n    facebook_application_id=\"563490254873576\",\n    facebook_application_secret=\"8976d2536445ad5b976dee8437b9beb0\",\n    pages=[{\n        \"id\": \"876248795081953\",\n        \"access_token\": \"CGGCec3UAFPMBAKwK3Ft8SEpO8ZCuvpNBI5DClaJCDfqJj2BgEHCKxcY0FDarmUQap6XxpZC9GWCW4nZCzjcKosAZAP7SO44X8Q8gAntbDIXgYUBGp9xtS8wUkwgKPobUePcOOVFkvClxvYZByuiQxoTiK9fQ9jZCPEorbmZCsKDZAx4VLnrNwCTZAPUwXxO61gfq4ZD\",\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var current = Azure.Core.GetClientConfig.Invoke();\n\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleChannelsRegistration = new Azure.Bot.ChannelsRegistration(\"example\", new()\n    {\n        Name = \"example-bcr\",\n        Location = \"global\",\n        ResourceGroupName = example.Name,\n        Sku = \"F0\",\n        MicrosoftAppId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.ClientId),\n    });\n\n    var exampleChannelFacebook = new Azure.Bot.ChannelFacebook(\"example\", new()\n    {\n        BotName = exampleChannelsRegistration.Name,\n        Location = exampleChannelsRegistration.Location,\n        ResourceGroupName = example.Name,\n        FacebookApplicationId = \"563490254873576\",\n        FacebookApplicationSecret = \"8976d2536445ad5b976dee8437b9beb0\",\n        Pages = new[]\n        {\n            new Azure.Bot.Inputs.ChannelFacebookPageArgs\n            {\n                Id = \"876248795081953\",\n                AccessToken = \"CGGCec3UAFPMBAKwK3Ft8SEpO8ZCuvpNBI5DClaJCDfqJj2BgEHCKxcY0FDarmUQap6XxpZC9GWCW4nZCzjcKosAZAP7SO44X8Q8gAntbDIXgYUBGp9xtS8wUkwgKPobUePcOOVFkvClxvYZByuiQxoTiK9fQ9jZCPEorbmZCsKDZAx4VLnrNwCTZAPUwXxO61gfq4ZD\",\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/bot\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := core.GetClientConfig(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleChannelsRegistration, err := bot.NewChannelsRegistration(ctx, \"example\", \u0026bot.ChannelsRegistrationArgs{\n\t\t\tName:              pulumi.String(\"example-bcr\"),\n\t\t\tLocation:          pulumi.String(\"global\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSku:               pulumi.String(\"F0\"),\n\t\t\tMicrosoftAppId:    pulumi.String(current.ClientId),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = bot.NewChannelFacebook(ctx, \"example\", \u0026bot.ChannelFacebookArgs{\n\t\t\tBotName:                   exampleChannelsRegistration.Name,\n\t\t\tLocation:                  exampleChannelsRegistration.Location,\n\t\t\tResourceGroupName:         example.Name,\n\t\t\tFacebookApplicationId:     pulumi.String(\"563490254873576\"),\n\t\t\tFacebookApplicationSecret: pulumi.String(\"8976d2536445ad5b976dee8437b9beb0\"),\n\t\t\tPages: bot.ChannelFacebookPageArray{\n\t\t\t\t\u0026bot.ChannelFacebookPageArgs{\n\t\t\t\t\tId:          pulumi.String(\"876248795081953\"),\n\t\t\t\t\tAccessToken: pulumi.String(\"CGGCec3UAFPMBAKwK3Ft8SEpO8ZCuvpNBI5DClaJCDfqJj2BgEHCKxcY0FDarmUQap6XxpZC9GWCW4nZCzjcKosAZAP7SO44X8Q8gAntbDIXgYUBGp9xtS8wUkwgKPobUePcOOVFkvClxvYZByuiQxoTiK9fQ9jZCPEorbmZCsKDZAx4VLnrNwCTZAPUwXxO61gfq4ZD\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.bot.ChannelsRegistration;\nimport com.pulumi.azure.bot.ChannelsRegistrationArgs;\nimport com.pulumi.azure.bot.ChannelFacebook;\nimport com.pulumi.azure.bot.ChannelFacebookArgs;\nimport com.pulumi.azure.bot.inputs.ChannelFacebookPageArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var current = CoreFunctions.getClientConfig(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleChannelsRegistration = new ChannelsRegistration(\"exampleChannelsRegistration\", ChannelsRegistrationArgs.builder()\n            .name(\"example-bcr\")\n            .location(\"global\")\n            .resourceGroupName(example.name())\n            .sku(\"F0\")\n            .microsoftAppId(current.clientId())\n            .build());\n\n        var exampleChannelFacebook = new ChannelFacebook(\"exampleChannelFacebook\", ChannelFacebookArgs.builder()\n            .botName(exampleChannelsRegistration.name())\n            .location(exampleChannelsRegistration.location())\n            .resourceGroupName(example.name())\n            .facebookApplicationId(\"563490254873576\")\n            .facebookApplicationSecret(\"8976d2536445ad5b976dee8437b9beb0\")\n            .pages(ChannelFacebookPageArgs.builder()\n                .id(\"876248795081953\")\n                .accessToken(\"CGGCec3UAFPMBAKwK3Ft8SEpO8ZCuvpNBI5DClaJCDfqJj2BgEHCKxcY0FDarmUQap6XxpZC9GWCW4nZCzjcKosAZAP7SO44X8Q8gAntbDIXgYUBGp9xtS8wUkwgKPobUePcOOVFkvClxvYZByuiQxoTiK9fQ9jZCPEorbmZCsKDZAx4VLnrNwCTZAPUwXxO61gfq4ZD\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleChannelsRegistration:\n    type: azure:bot:ChannelsRegistration\n    name: example\n    properties:\n      name: example-bcr\n      location: global\n      resourceGroupName: ${example.name}\n      sku: F0\n      microsoftAppId: ${current.clientId}\n  exampleChannelFacebook:\n    type: azure:bot:ChannelFacebook\n    name: example\n    properties:\n      botName: ${exampleChannelsRegistration.name}\n      location: ${exampleChannelsRegistration.location}\n      resourceGroupName: ${example.name}\n      facebookApplicationId: '563490254873576'\n      facebookApplicationSecret: 8976d2536445ad5b976dee8437b9beb0\n      pages:\n        - id: '876248795081953'\n          accessToken: CGGCec3UAFPMBAKwK3Ft8SEpO8ZCuvpNBI5DClaJCDfqJj2BgEHCKxcY0FDarmUQap6XxpZC9GWCW4nZCzjcKosAZAP7SO44X8Q8gAntbDIXgYUBGp9xtS8wUkwgKPobUePcOOVFkvClxvYZByuiQxoTiK9fQ9jZCPEorbmZCsKDZAx4VLnrNwCTZAPUwXxO61gfq4ZD\nvariables:\n  current:\n    fn::invoke:\n      function: azure:core:getClientConfig\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe Facebook Integration for a Bot Channel can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:bot/channelFacebook:ChannelFacebook example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.BotService/botServices/botService1/channels/FacebookChannel\n```\n\n","properties":{"botName":{"type":"string","description":"The name of the Bot Resource this channel will be associated with. Changing this forces a new resource to be created.\n"},"facebookApplicationId":{"type":"string","description":"The Facebook Application ID for the Facebook Channel.\n"},"facebookApplicationSecret":{"type":"string","description":"The Facebook Application Secret for the Facebook Channel.\n","secret":true},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n"},"pages":{"type":"array","items":{"$ref":"#/types/azure:bot/ChannelFacebookPage:ChannelFacebookPage"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`page`\" pulumi-lang-dotnet=\"`Page`\" pulumi-lang-go=\"`page`\" pulumi-lang-python=\"`page`\" pulumi-lang-yaml=\"`page`\" pulumi-lang-java=\"`page`\"\u003e`page`\u003c/span\u003e blocks as defined below.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group where the Facebook Channel should be created. Changing this forces a new resource to be created.\n"}},"required":["botName","facebookApplicationId","facebookApplicationSecret","location","pages","resourceGroupName"],"inputProperties":{"botName":{"type":"string","description":"The name of the Bot Resource this channel will be associated with. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"facebookApplicationId":{"type":"string","description":"The Facebook Application ID for the Facebook Channel.\n"},"facebookApplicationSecret":{"type":"string","description":"The Facebook Application Secret for the Facebook Channel.\n","secret":true},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"pages":{"type":"array","items":{"$ref":"#/types/azure:bot/ChannelFacebookPage:ChannelFacebookPage"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`page`\" pulumi-lang-dotnet=\"`Page`\" pulumi-lang-go=\"`page`\" pulumi-lang-python=\"`page`\" pulumi-lang-yaml=\"`page`\" pulumi-lang-java=\"`page`\"\u003e`page`\u003c/span\u003e blocks as defined below.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group where the Facebook Channel should be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["botName","facebookApplicationId","facebookApplicationSecret","pages","resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering ChannelFacebook resources.\n","properties":{"botName":{"type":"string","description":"The name of the Bot Resource this channel will be associated with. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"facebookApplicationId":{"type":"string","description":"The Facebook Application ID for the Facebook Channel.\n"},"facebookApplicationSecret":{"type":"string","description":"The Facebook Application Secret for the Facebook Channel.\n","secret":true},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"pages":{"type":"array","items":{"$ref":"#/types/azure:bot/ChannelFacebookPage:ChannelFacebookPage"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`page`\" pulumi-lang-dotnet=\"`Page`\" pulumi-lang-go=\"`page`\" pulumi-lang-python=\"`page`\" pulumi-lang-yaml=\"`page`\" pulumi-lang-java=\"`page`\"\u003e`page`\u003c/span\u003e blocks as defined below.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group where the Facebook Channel should be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:bot/channelLine:ChannelLine":{"description":"Manages a Line integration for a Bot Channel\n\n\u003e **Note:** A bot can only have a single Line Channel associated with it.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst current = azure.core.getClientConfig({});\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleChannelsRegistration = new azure.bot.ChannelsRegistration(\"example\", {\n    name: \"example-bcr\",\n    location: \"global\",\n    resourceGroupName: example.name,\n    sku: \"F0\",\n    microsoftAppId: current.then(current =\u003e current.clientId),\n});\nconst exampleChannelLine = new azure.bot.ChannelLine(\"example\", {\n    botName: exampleChannelsRegistration.name,\n    location: exampleChannelsRegistration.location,\n    resourceGroupName: example.name,\n    lineChannels: [{\n        accessToken: \"asdfdsdfTYUIOIoj1231hkjhk\",\n        secret: \"aagfdgfd123567\",\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\ncurrent = azure.core.get_client_config()\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_channels_registration = azure.bot.ChannelsRegistration(\"example\",\n    name=\"example-bcr\",\n    location=\"global\",\n    resource_group_name=example.name,\n    sku=\"F0\",\n    microsoft_app_id=current.client_id)\nexample_channel_line = azure.bot.ChannelLine(\"example\",\n    bot_name=example_channels_registration.name,\n    location=example_channels_registration.location,\n    resource_group_name=example.name,\n    line_channels=[{\n        \"access_token\": \"asdfdsdfTYUIOIoj1231hkjhk\",\n        \"secret\": \"aagfdgfd123567\",\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var current = Azure.Core.GetClientConfig.Invoke();\n\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleChannelsRegistration = new Azure.Bot.ChannelsRegistration(\"example\", new()\n    {\n        Name = \"example-bcr\",\n        Location = \"global\",\n        ResourceGroupName = example.Name,\n        Sku = \"F0\",\n        MicrosoftAppId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.ClientId),\n    });\n\n    var exampleChannelLine = new Azure.Bot.ChannelLine(\"example\", new()\n    {\n        BotName = exampleChannelsRegistration.Name,\n        Location = exampleChannelsRegistration.Location,\n        ResourceGroupName = example.Name,\n        LineChannels = new[]\n        {\n            new Azure.Bot.Inputs.ChannelLineLineChannelArgs\n            {\n                AccessToken = \"asdfdsdfTYUIOIoj1231hkjhk\",\n                Secret = \"aagfdgfd123567\",\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/bot\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := core.GetClientConfig(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleChannelsRegistration, err := bot.NewChannelsRegistration(ctx, \"example\", \u0026bot.ChannelsRegistrationArgs{\n\t\t\tName:              pulumi.String(\"example-bcr\"),\n\t\t\tLocation:          pulumi.String(\"global\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSku:               pulumi.String(\"F0\"),\n\t\t\tMicrosoftAppId:    pulumi.String(current.ClientId),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = bot.NewChannelLine(ctx, \"example\", \u0026bot.ChannelLineArgs{\n\t\t\tBotName:           exampleChannelsRegistration.Name,\n\t\t\tLocation:          exampleChannelsRegistration.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLineChannels: bot.ChannelLineLineChannelArray{\n\t\t\t\t\u0026bot.ChannelLineLineChannelArgs{\n\t\t\t\t\tAccessToken: pulumi.String(\"asdfdsdfTYUIOIoj1231hkjhk\"),\n\t\t\t\t\tSecret:      pulumi.String(\"aagfdgfd123567\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.bot.ChannelsRegistration;\nimport com.pulumi.azure.bot.ChannelsRegistrationArgs;\nimport com.pulumi.azure.bot.ChannelLine;\nimport com.pulumi.azure.bot.ChannelLineArgs;\nimport com.pulumi.azure.bot.inputs.ChannelLineLineChannelArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var current = CoreFunctions.getClientConfig(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleChannelsRegistration = new ChannelsRegistration(\"exampleChannelsRegistration\", ChannelsRegistrationArgs.builder()\n            .name(\"example-bcr\")\n            .location(\"global\")\n            .resourceGroupName(example.name())\n            .sku(\"F0\")\n            .microsoftAppId(current.clientId())\n            .build());\n\n        var exampleChannelLine = new ChannelLine(\"exampleChannelLine\", ChannelLineArgs.builder()\n            .botName(exampleChannelsRegistration.name())\n            .location(exampleChannelsRegistration.location())\n            .resourceGroupName(example.name())\n            .lineChannels(ChannelLineLineChannelArgs.builder()\n                .accessToken(\"asdfdsdfTYUIOIoj1231hkjhk\")\n                .secret(\"aagfdgfd123567\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleChannelsRegistration:\n    type: azure:bot:ChannelsRegistration\n    name: example\n    properties:\n      name: example-bcr\n      location: global\n      resourceGroupName: ${example.name}\n      sku: F0\n      microsoftAppId: ${current.clientId}\n  exampleChannelLine:\n    type: azure:bot:ChannelLine\n    name: example\n    properties:\n      botName: ${exampleChannelsRegistration.name}\n      location: ${exampleChannelsRegistration.location}\n      resourceGroupName: ${example.name}\n      lineChannels:\n        - accessToken: asdfdsdfTYUIOIoj1231hkjhk\n          secret: aagfdgfd123567\nvariables:\n  current:\n    fn::invoke:\n      function: azure:core:getClientConfig\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe Line Integration for a Bot Channel can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:bot/channelLine:ChannelLine example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.BotService/botServices/botService1/channels/LineChannel\n```\n\n","properties":{"botName":{"type":"string","description":"The name of the Bot Resource this channel will be associated with. Changing this forces a new resource to be created.\n"},"lineChannels":{"type":"array","items":{"$ref":"#/types/azure:bot/ChannelLineLineChannel:ChannelLineLineChannel"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`lineChannel`\" pulumi-lang-dotnet=\"`LineChannel`\" pulumi-lang-go=\"`lineChannel`\" pulumi-lang-python=\"`line_channel`\" pulumi-lang-yaml=\"`lineChannel`\" pulumi-lang-java=\"`lineChannel`\"\u003e`line_channel`\u003c/span\u003e blocks as defined below.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group where the Line Channel should be created. Changing this forces a new resource to be created.\n"}},"required":["botName","lineChannels","location","resourceGroupName"],"inputProperties":{"botName":{"type":"string","description":"The name of the Bot Resource this channel will be associated with. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"lineChannels":{"type":"array","items":{"$ref":"#/types/azure:bot/ChannelLineLineChannel:ChannelLineLineChannel"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`lineChannel`\" pulumi-lang-dotnet=\"`LineChannel`\" pulumi-lang-go=\"`lineChannel`\" pulumi-lang-python=\"`line_channel`\" pulumi-lang-yaml=\"`lineChannel`\" pulumi-lang-java=\"`lineChannel`\"\u003e`line_channel`\u003c/span\u003e blocks as defined below.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group where the Line Channel should be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["botName","lineChannels","resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering ChannelLine resources.\n","properties":{"botName":{"type":"string","description":"The name of the Bot Resource this channel will be associated with. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"lineChannels":{"type":"array","items":{"$ref":"#/types/azure:bot/ChannelLineLineChannel:ChannelLineLineChannel"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`lineChannel`\" pulumi-lang-dotnet=\"`LineChannel`\" pulumi-lang-go=\"`lineChannel`\" pulumi-lang-python=\"`line_channel`\" pulumi-lang-yaml=\"`lineChannel`\" pulumi-lang-java=\"`lineChannel`\"\u003e`line_channel`\u003c/span\u003e blocks as defined below.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group where the Line Channel should be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:bot/channelSlack:ChannelSlack":{"description":"Manages a Slack integration for a Bot Channel\n\n\u003e **Note:** A bot can only have a single Slack Channel associated with it.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst current = azure.core.getClientConfig({});\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleChannelsRegistration = new azure.bot.ChannelsRegistration(\"example\", {\n    name: \"example\",\n    location: \"global\",\n    resourceGroupName: example.name,\n    sku: \"F0\",\n    microsoftAppId: current.then(current =\u003e current.clientId),\n});\nconst exampleChannelSlack = new azure.bot.ChannelSlack(\"example\", {\n    botName: exampleChannelsRegistration.name,\n    location: exampleChannelsRegistration.location,\n    resourceGroupName: example.name,\n    clientId: \"exampleId\",\n    clientSecret: \"exampleSecret\",\n    verificationToken: \"exampleVerificationToken\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\ncurrent = azure.core.get_client_config()\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_channels_registration = azure.bot.ChannelsRegistration(\"example\",\n    name=\"example\",\n    location=\"global\",\n    resource_group_name=example.name,\n    sku=\"F0\",\n    microsoft_app_id=current.client_id)\nexample_channel_slack = azure.bot.ChannelSlack(\"example\",\n    bot_name=example_channels_registration.name,\n    location=example_channels_registration.location,\n    resource_group_name=example.name,\n    client_id=\"exampleId\",\n    client_secret=\"exampleSecret\",\n    verification_token=\"exampleVerificationToken\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var current = Azure.Core.GetClientConfig.Invoke();\n\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleChannelsRegistration = new Azure.Bot.ChannelsRegistration(\"example\", new()\n    {\n        Name = \"example\",\n        Location = \"global\",\n        ResourceGroupName = example.Name,\n        Sku = \"F0\",\n        MicrosoftAppId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.ClientId),\n    });\n\n    var exampleChannelSlack = new Azure.Bot.ChannelSlack(\"example\", new()\n    {\n        BotName = exampleChannelsRegistration.Name,\n        Location = exampleChannelsRegistration.Location,\n        ResourceGroupName = example.Name,\n        ClientId = \"exampleId\",\n        ClientSecret = \"exampleSecret\",\n        VerificationToken = \"exampleVerificationToken\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/bot\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := core.GetClientConfig(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleChannelsRegistration, err := bot.NewChannelsRegistration(ctx, \"example\", \u0026bot.ChannelsRegistrationArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tLocation:          pulumi.String(\"global\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSku:               pulumi.String(\"F0\"),\n\t\t\tMicrosoftAppId:    pulumi.String(current.ClientId),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = bot.NewChannelSlack(ctx, \"example\", \u0026bot.ChannelSlackArgs{\n\t\t\tBotName:           exampleChannelsRegistration.Name,\n\t\t\tLocation:          exampleChannelsRegistration.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tClientId:          pulumi.String(\"exampleId\"),\n\t\t\tClientSecret:      pulumi.String(\"exampleSecret\"),\n\t\t\tVerificationToken: pulumi.String(\"exampleVerificationToken\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.bot.ChannelsRegistration;\nimport com.pulumi.azure.bot.ChannelsRegistrationArgs;\nimport com.pulumi.azure.bot.ChannelSlack;\nimport com.pulumi.azure.bot.ChannelSlackArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var current = CoreFunctions.getClientConfig(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleChannelsRegistration = new ChannelsRegistration(\"exampleChannelsRegistration\", ChannelsRegistrationArgs.builder()\n            .name(\"example\")\n            .location(\"global\")\n            .resourceGroupName(example.name())\n            .sku(\"F0\")\n            .microsoftAppId(current.clientId())\n            .build());\n\n        var exampleChannelSlack = new ChannelSlack(\"exampleChannelSlack\", ChannelSlackArgs.builder()\n            .botName(exampleChannelsRegistration.name())\n            .location(exampleChannelsRegistration.location())\n            .resourceGroupName(example.name())\n            .clientId(\"exampleId\")\n            .clientSecret(\"exampleSecret\")\n            .verificationToken(\"exampleVerificationToken\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleChannelsRegistration:\n    type: azure:bot:ChannelsRegistration\n    name: example\n    properties:\n      name: example\n      location: global\n      resourceGroupName: ${example.name}\n      sku: F0\n      microsoftAppId: ${current.clientId}\n  exampleChannelSlack:\n    type: azure:bot:ChannelSlack\n    name: example\n    properties:\n      botName: ${exampleChannelsRegistration.name}\n      location: ${exampleChannelsRegistration.location}\n      resourceGroupName: ${example.name}\n      clientId: exampleId\n      clientSecret: exampleSecret\n      verificationToken: exampleVerificationToken\nvariables:\n  current:\n    fn::invoke:\n      function: azure:core:getClientConfig\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe Slack Integration for a Bot Channel can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:bot/channelSlack:ChannelSlack example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/example/providers/Microsoft.BotService/botServices/example/channels/SlackChannel\n```\n\n","properties":{"botName":{"type":"string","description":"The name of the Bot Resource this channel will be associated with. Changing this forces a new resource to be created.\n"},"clientId":{"type":"string","description":"The Client ID that will be used to authenticate with Slack.\n"},"clientSecret":{"type":"string","description":"The Client Secret that will be used to authenticate with Slack.\n","secret":true},"landingPageUrl":{"type":"string","description":"The Slack Landing Page URL.\n"},"location":{"type":"string","description":"The supported Azure location where the resource exists. Changing this forces a new resource to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the Bot Channel. Changing this forces a new resource to be created.\n"},"signingSecret":{"type":"string","description":"The Signing Secret that will be used to sign the requests.\n","secret":true},"verificationToken":{"type":"string","description":"The Verification Token that will be used to authenticate with Slack.\n","secret":true}},"required":["botName","clientId","clientSecret","location","resourceGroupName","verificationToken"],"inputProperties":{"botName":{"type":"string","description":"The name of the Bot Resource this channel will be associated with. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"clientId":{"type":"string","description":"The Client ID that will be used to authenticate with Slack.\n"},"clientSecret":{"type":"string","description":"The Client Secret that will be used to authenticate with Slack.\n","secret":true},"landingPageUrl":{"type":"string","description":"The Slack Landing Page URL.\n"},"location":{"type":"string","description":"The supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the Bot Channel. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"signingSecret":{"type":"string","description":"The Signing Secret that will be used to sign the requests.\n","secret":true},"verificationToken":{"type":"string","description":"The Verification Token that will be used to authenticate with Slack.\n","secret":true}},"requiredInputs":["botName","clientId","clientSecret","resourceGroupName","verificationToken"],"stateInputs":{"description":"Input properties used for looking up and filtering ChannelSlack resources.\n","properties":{"botName":{"type":"string","description":"The name of the Bot Resource this channel will be associated with. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"clientId":{"type":"string","description":"The Client ID that will be used to authenticate with Slack.\n"},"clientSecret":{"type":"string","description":"The Client Secret that will be used to authenticate with Slack.\n","secret":true},"landingPageUrl":{"type":"string","description":"The Slack Landing Page URL.\n"},"location":{"type":"string","description":"The supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the Bot Channel. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"signingSecret":{"type":"string","description":"The Signing Secret that will be used to sign the requests.\n","secret":true},"verificationToken":{"type":"string","description":"The Verification Token that will be used to authenticate with Slack.\n","secret":true}},"type":"object"}},"azure:bot/channelSms:ChannelSms":{"description":"Manages a SMS integration for a Bot Channel\n\n\u003e **Note:** A bot can only have a single SMS Channel associated with it.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst current = azure.core.getClientConfig({});\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleChannelsRegistration = new azure.bot.ChannelsRegistration(\"example\", {\n    name: \"example-bcr\",\n    location: \"global\",\n    resourceGroupName: example.name,\n    sku: \"F0\",\n    microsoftAppId: current.then(current =\u003e current.clientId),\n});\nconst exampleChannelSms = new azure.bot.ChannelSms(\"example\", {\n    botName: exampleChannelsRegistration.name,\n    location: exampleChannelsRegistration.location,\n    resourceGroupName: example.name,\n    smsChannelAccountSecurityId: \"BG61f7cf5157f439b084e98256409c2815\",\n    smsChannelAuthToken: \"jh8980432610052ed4e29565c5e232f\",\n    phoneNumber: \"+12313803556\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\ncurrent = azure.core.get_client_config()\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_channels_registration = azure.bot.ChannelsRegistration(\"example\",\n    name=\"example-bcr\",\n    location=\"global\",\n    resource_group_name=example.name,\n    sku=\"F0\",\n    microsoft_app_id=current.client_id)\nexample_channel_sms = azure.bot.ChannelSms(\"example\",\n    bot_name=example_channels_registration.name,\n    location=example_channels_registration.location,\n    resource_group_name=example.name,\n    sms_channel_account_security_id=\"BG61f7cf5157f439b084e98256409c2815\",\n    sms_channel_auth_token=\"jh8980432610052ed4e29565c5e232f\",\n    phone_number=\"+12313803556\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var current = Azure.Core.GetClientConfig.Invoke();\n\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleChannelsRegistration = new Azure.Bot.ChannelsRegistration(\"example\", new()\n    {\n        Name = \"example-bcr\",\n        Location = \"global\",\n        ResourceGroupName = example.Name,\n        Sku = \"F0\",\n        MicrosoftAppId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.ClientId),\n    });\n\n    var exampleChannelSms = new Azure.Bot.ChannelSms(\"example\", new()\n    {\n        BotName = exampleChannelsRegistration.Name,\n        Location = exampleChannelsRegistration.Location,\n        ResourceGroupName = example.Name,\n        SmsChannelAccountSecurityId = \"BG61f7cf5157f439b084e98256409c2815\",\n        SmsChannelAuthToken = \"jh8980432610052ed4e29565c5e232f\",\n        PhoneNumber = \"+12313803556\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/bot\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := core.GetClientConfig(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleChannelsRegistration, err := bot.NewChannelsRegistration(ctx, \"example\", \u0026bot.ChannelsRegistrationArgs{\n\t\t\tName:              pulumi.String(\"example-bcr\"),\n\t\t\tLocation:          pulumi.String(\"global\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSku:               pulumi.String(\"F0\"),\n\t\t\tMicrosoftAppId:    pulumi.String(current.ClientId),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = bot.NewChannelSms(ctx, \"example\", \u0026bot.ChannelSmsArgs{\n\t\t\tBotName:                     exampleChannelsRegistration.Name,\n\t\t\tLocation:                    exampleChannelsRegistration.Location,\n\t\t\tResourceGroupName:           example.Name,\n\t\t\tSmsChannelAccountSecurityId: pulumi.String(\"BG61f7cf5157f439b084e98256409c2815\"),\n\t\t\tSmsChannelAuthToken:         pulumi.String(\"jh8980432610052ed4e29565c5e232f\"),\n\t\t\tPhoneNumber:                 pulumi.String(\"+12313803556\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.bot.ChannelsRegistration;\nimport com.pulumi.azure.bot.ChannelsRegistrationArgs;\nimport com.pulumi.azure.bot.ChannelSms;\nimport com.pulumi.azure.bot.ChannelSmsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var current = CoreFunctions.getClientConfig(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleChannelsRegistration = new ChannelsRegistration(\"exampleChannelsRegistration\", ChannelsRegistrationArgs.builder()\n            .name(\"example-bcr\")\n            .location(\"global\")\n            .resourceGroupName(example.name())\n            .sku(\"F0\")\n            .microsoftAppId(current.clientId())\n            .build());\n\n        var exampleChannelSms = new ChannelSms(\"exampleChannelSms\", ChannelSmsArgs.builder()\n            .botName(exampleChannelsRegistration.name())\n            .location(exampleChannelsRegistration.location())\n            .resourceGroupName(example.name())\n            .smsChannelAccountSecurityId(\"BG61f7cf5157f439b084e98256409c2815\")\n            .smsChannelAuthToken(\"jh8980432610052ed4e29565c5e232f\")\n            .phoneNumber(\"+12313803556\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleChannelsRegistration:\n    type: azure:bot:ChannelsRegistration\n    name: example\n    properties:\n      name: example-bcr\n      location: global\n      resourceGroupName: ${example.name}\n      sku: F0\n      microsoftAppId: ${current.clientId}\n  exampleChannelSms:\n    type: azure:bot:ChannelSms\n    name: example\n    properties:\n      botName: ${exampleChannelsRegistration.name}\n      location: ${exampleChannelsRegistration.location}\n      resourceGroupName: ${example.name}\n      smsChannelAccountSecurityId: BG61f7cf5157f439b084e98256409c2815\n      smsChannelAuthToken: jh8980432610052ed4e29565c5e232f\n      phoneNumber: '+12313803556'\nvariables:\n  current:\n    fn::invoke:\n      function: azure:core:getClientConfig\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe SMS Integration for a Bot Channel can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:bot/channelSms:ChannelSms example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.BotService/botServices/botService1/channels/SmsChannel\n```\n\n","properties":{"botName":{"type":"string","description":"The name of the Bot Resource this channel will be associated with. Changing this forces a new resource to be created.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n"},"phoneNumber":{"type":"string","description":"The phone number for the SMS Channel.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group where the SMS Channel should be created. Changing this forces a new resource to be created.\n"},"smsChannelAccountSecurityId":{"type":"string","description":"The account security identifier (SID) for the SMS Channel.\n"},"smsChannelAuthToken":{"type":"string","description":"The authorization token for the SMS Channel.\n","secret":true}},"required":["botName","location","phoneNumber","resourceGroupName","smsChannelAccountSecurityId","smsChannelAuthToken"],"inputProperties":{"botName":{"type":"string","description":"The name of the Bot Resource this channel will be associated with. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"phoneNumber":{"type":"string","description":"The phone number for the SMS Channel.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group where the SMS Channel should be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"smsChannelAccountSecurityId":{"type":"string","description":"The account security identifier (SID) for the SMS Channel.\n"},"smsChannelAuthToken":{"type":"string","description":"The authorization token for the SMS Channel.\n","secret":true}},"requiredInputs":["botName","phoneNumber","resourceGroupName","smsChannelAccountSecurityId","smsChannelAuthToken"],"stateInputs":{"description":"Input properties used for looking up and filtering ChannelSms resources.\n","properties":{"botName":{"type":"string","description":"The name of the Bot Resource this channel will be associated with. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"phoneNumber":{"type":"string","description":"The phone number for the SMS Channel.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group where the SMS Channel should be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"smsChannelAccountSecurityId":{"type":"string","description":"The account security identifier (SID) for the SMS Channel.\n"},"smsChannelAuthToken":{"type":"string","description":"The authorization token for the SMS Channel.\n","secret":true}},"type":"object"}},"azure:bot/channelTeams:ChannelTeams":{"description":"Manages a MS Teams integration for a Bot Channel\n\n\u003e **Note:** A bot can only have a single MS Teams Channel associated with it.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst current = azure.core.getClientConfig({});\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleChannelsRegistration = new azure.bot.ChannelsRegistration(\"example\", {\n    name: \"example\",\n    location: \"global\",\n    resourceGroupName: example.name,\n    sku: \"F0\",\n    microsoftAppId: current.then(current =\u003e current.clientId),\n});\nconst exampleChannelTeams = new azure.bot.ChannelTeams(\"example\", {\n    botName: exampleChannelsRegistration.name,\n    location: exampleChannelsRegistration.location,\n    resourceGroupName: example.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\ncurrent = azure.core.get_client_config()\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_channels_registration = azure.bot.ChannelsRegistration(\"example\",\n    name=\"example\",\n    location=\"global\",\n    resource_group_name=example.name,\n    sku=\"F0\",\n    microsoft_app_id=current.client_id)\nexample_channel_teams = azure.bot.ChannelTeams(\"example\",\n    bot_name=example_channels_registration.name,\n    location=example_channels_registration.location,\n    resource_group_name=example.name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var current = Azure.Core.GetClientConfig.Invoke();\n\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleChannelsRegistration = new Azure.Bot.ChannelsRegistration(\"example\", new()\n    {\n        Name = \"example\",\n        Location = \"global\",\n        ResourceGroupName = example.Name,\n        Sku = \"F0\",\n        MicrosoftAppId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.ClientId),\n    });\n\n    var exampleChannelTeams = new Azure.Bot.ChannelTeams(\"example\", new()\n    {\n        BotName = exampleChannelsRegistration.Name,\n        Location = exampleChannelsRegistration.Location,\n        ResourceGroupName = example.Name,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/bot\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := core.GetClientConfig(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleChannelsRegistration, err := bot.NewChannelsRegistration(ctx, \"example\", \u0026bot.ChannelsRegistrationArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tLocation:          pulumi.String(\"global\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSku:               pulumi.String(\"F0\"),\n\t\t\tMicrosoftAppId:    pulumi.String(current.ClientId),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = bot.NewChannelTeams(ctx, \"example\", \u0026bot.ChannelTeamsArgs{\n\t\t\tBotName:           exampleChannelsRegistration.Name,\n\t\t\tLocation:          exampleChannelsRegistration.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.bot.ChannelsRegistration;\nimport com.pulumi.azure.bot.ChannelsRegistrationArgs;\nimport com.pulumi.azure.bot.ChannelTeams;\nimport com.pulumi.azure.bot.ChannelTeamsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var current = CoreFunctions.getClientConfig(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleChannelsRegistration = new ChannelsRegistration(\"exampleChannelsRegistration\", ChannelsRegistrationArgs.builder()\n            .name(\"example\")\n            .location(\"global\")\n            .resourceGroupName(example.name())\n            .sku(\"F0\")\n            .microsoftAppId(current.clientId())\n            .build());\n\n        var exampleChannelTeams = new ChannelTeams(\"exampleChannelTeams\", ChannelTeamsArgs.builder()\n            .botName(exampleChannelsRegistration.name())\n            .location(exampleChannelsRegistration.location())\n            .resourceGroupName(example.name())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleChannelsRegistration:\n    type: azure:bot:ChannelsRegistration\n    name: example\n    properties:\n      name: example\n      location: global\n      resourceGroupName: ${example.name}\n      sku: F0\n      microsoftAppId: ${current.clientId}\n  exampleChannelTeams:\n    type: azure:bot:ChannelTeams\n    name: example\n    properties:\n      botName: ${exampleChannelsRegistration.name}\n      location: ${exampleChannelsRegistration.location}\n      resourceGroupName: ${example.name}\nvariables:\n  current:\n    fn::invoke:\n      function: azure:core:getClientConfig\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe Microsoft Teams Integration for a Bot Channel can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:bot/channelTeams:ChannelTeams example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/example/providers/Microsoft.BotService/botServices/example/channels/MsTeamsChannel\n```\n\n","properties":{"botName":{"type":"string","description":"The name of the Bot Resource this channel will be associated with. Changing this forces a new resource to be created.\n"},"callingEnabled":{"type":"boolean","description":"Specifies whether to enable Microsoft Teams channel calls. This defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"callingWebHook":{"type":"string","description":"Specifies the webhook for Microsoft Teams channel calls.\n"},"deploymentEnvironment":{"type":"string","description":"The deployment environment for Microsoft Teams channel calls. Possible values are `CommercialDeployment` and `GCCModerateDeployment`. Defaults to `CommercialDeployment`.\n"},"enableCalling":{"type":"boolean","deprecationMessage":"The property \u003cspan pulumi-lang-nodejs=\"`enableCalling`\" pulumi-lang-dotnet=\"`EnableCalling`\" pulumi-lang-go=\"`enableCalling`\" pulumi-lang-python=\"`enable_calling`\" pulumi-lang-yaml=\"`enableCalling`\" pulumi-lang-java=\"`enableCalling`\"\u003e`enable_calling`\u003c/span\u003e is deprecated in favour of \u003cspan pulumi-lang-nodejs=\"`callingEnabled`\" pulumi-lang-dotnet=\"`CallingEnabled`\" pulumi-lang-go=\"`callingEnabled`\" pulumi-lang-python=\"`calling_enabled`\" pulumi-lang-yaml=\"`callingEnabled`\" pulumi-lang-java=\"`callingEnabled`\"\u003e`calling_enabled`\u003c/span\u003e and will be removed in version 5.0 of the AzureRM Provider."},"location":{"type":"string","description":"The supported Azure location where the resource exists. Changing this forces a new resource to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the Bot Channel. Changing this forces a new resource to be created.\n"}},"required":["botName","callingEnabled","callingWebHook","enableCalling","location","resourceGroupName"],"inputProperties":{"botName":{"type":"string","description":"The name of the Bot Resource this channel will be associated with. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"callingEnabled":{"type":"boolean","description":"Specifies whether to enable Microsoft Teams channel calls. This defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"callingWebHook":{"type":"string","description":"Specifies the webhook for Microsoft Teams channel calls.\n"},"deploymentEnvironment":{"type":"string","description":"The deployment environment for Microsoft Teams channel calls. Possible values are `CommercialDeployment` and `GCCModerateDeployment`. Defaults to `CommercialDeployment`.\n"},"enableCalling":{"type":"boolean","deprecationMessage":"The property \u003cspan pulumi-lang-nodejs=\"`enableCalling`\" pulumi-lang-dotnet=\"`EnableCalling`\" pulumi-lang-go=\"`enableCalling`\" pulumi-lang-python=\"`enable_calling`\" pulumi-lang-yaml=\"`enableCalling`\" pulumi-lang-java=\"`enableCalling`\"\u003e`enable_calling`\u003c/span\u003e is deprecated in favour of \u003cspan pulumi-lang-nodejs=\"`callingEnabled`\" pulumi-lang-dotnet=\"`CallingEnabled`\" pulumi-lang-go=\"`callingEnabled`\" pulumi-lang-python=\"`calling_enabled`\" pulumi-lang-yaml=\"`callingEnabled`\" pulumi-lang-java=\"`callingEnabled`\"\u003e`calling_enabled`\u003c/span\u003e and will be removed in version 5.0 of the AzureRM Provider."},"location":{"type":"string","description":"The supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the Bot Channel. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["botName","resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering ChannelTeams resources.\n","properties":{"botName":{"type":"string","description":"The name of the Bot Resource this channel will be associated with. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"callingEnabled":{"type":"boolean","description":"Specifies whether to enable Microsoft Teams channel calls. This defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"callingWebHook":{"type":"string","description":"Specifies the webhook for Microsoft Teams channel calls.\n"},"deploymentEnvironment":{"type":"string","description":"The deployment environment for Microsoft Teams channel calls. Possible values are `CommercialDeployment` and `GCCModerateDeployment`. Defaults to `CommercialDeployment`.\n"},"enableCalling":{"type":"boolean","deprecationMessage":"The property \u003cspan pulumi-lang-nodejs=\"`enableCalling`\" pulumi-lang-dotnet=\"`EnableCalling`\" pulumi-lang-go=\"`enableCalling`\" pulumi-lang-python=\"`enable_calling`\" pulumi-lang-yaml=\"`enableCalling`\" pulumi-lang-java=\"`enableCalling`\"\u003e`enable_calling`\u003c/span\u003e is deprecated in favour of \u003cspan pulumi-lang-nodejs=\"`callingEnabled`\" pulumi-lang-dotnet=\"`CallingEnabled`\" pulumi-lang-go=\"`callingEnabled`\" pulumi-lang-python=\"`calling_enabled`\" pulumi-lang-yaml=\"`callingEnabled`\" pulumi-lang-java=\"`callingEnabled`\"\u003e`calling_enabled`\u003c/span\u003e and will be removed in version 5.0 of the AzureRM Provider."},"location":{"type":"string","description":"The supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the Bot Channel. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:bot/channelWebChat:ChannelWebChat":{"description":"Manages a Web Chat integration for a Bot Channel\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst current = azure.core.getClientConfig({});\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleChannelsRegistration = new azure.bot.ChannelsRegistration(\"example\", {\n    name: \"example-bcr\",\n    location: \"global\",\n    resourceGroupName: example.name,\n    sku: \"F0\",\n    microsoftAppId: current.then(current =\u003e current.clientId),\n});\nconst exampleChannelWebChat = new azure.bot.ChannelWebChat(\"example\", {\n    botName: exampleChannelsRegistration.name,\n    location: exampleChannelsRegistration.location,\n    resourceGroupName: example.name,\n    sites: [{\n        name: \"TestSite\",\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\ncurrent = azure.core.get_client_config()\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_channels_registration = azure.bot.ChannelsRegistration(\"example\",\n    name=\"example-bcr\",\n    location=\"global\",\n    resource_group_name=example.name,\n    sku=\"F0\",\n    microsoft_app_id=current.client_id)\nexample_channel_web_chat = azure.bot.ChannelWebChat(\"example\",\n    bot_name=example_channels_registration.name,\n    location=example_channels_registration.location,\n    resource_group_name=example.name,\n    sites=[{\n        \"name\": \"TestSite\",\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var current = Azure.Core.GetClientConfig.Invoke();\n\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleChannelsRegistration = new Azure.Bot.ChannelsRegistration(\"example\", new()\n    {\n        Name = \"example-bcr\",\n        Location = \"global\",\n        ResourceGroupName = example.Name,\n        Sku = \"F0\",\n        MicrosoftAppId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.ClientId),\n    });\n\n    var exampleChannelWebChat = new Azure.Bot.ChannelWebChat(\"example\", new()\n    {\n        BotName = exampleChannelsRegistration.Name,\n        Location = exampleChannelsRegistration.Location,\n        ResourceGroupName = example.Name,\n        Sites = new[]\n        {\n            new Azure.Bot.Inputs.ChannelWebChatSiteArgs\n            {\n                Name = \"TestSite\",\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/bot\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := core.GetClientConfig(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleChannelsRegistration, err := bot.NewChannelsRegistration(ctx, \"example\", \u0026bot.ChannelsRegistrationArgs{\n\t\t\tName:              pulumi.String(\"example-bcr\"),\n\t\t\tLocation:          pulumi.String(\"global\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSku:               pulumi.String(\"F0\"),\n\t\t\tMicrosoftAppId:    pulumi.String(current.ClientId),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = bot.NewChannelWebChat(ctx, \"example\", \u0026bot.ChannelWebChatArgs{\n\t\t\tBotName:           exampleChannelsRegistration.Name,\n\t\t\tLocation:          exampleChannelsRegistration.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSites: bot.ChannelWebChatSiteArray{\n\t\t\t\t\u0026bot.ChannelWebChatSiteArgs{\n\t\t\t\t\tName: pulumi.String(\"TestSite\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.bot.ChannelsRegistration;\nimport com.pulumi.azure.bot.ChannelsRegistrationArgs;\nimport com.pulumi.azure.bot.ChannelWebChat;\nimport com.pulumi.azure.bot.ChannelWebChatArgs;\nimport com.pulumi.azure.bot.inputs.ChannelWebChatSiteArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var current = CoreFunctions.getClientConfig(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleChannelsRegistration = new ChannelsRegistration(\"exampleChannelsRegistration\", ChannelsRegistrationArgs.builder()\n            .name(\"example-bcr\")\n            .location(\"global\")\n            .resourceGroupName(example.name())\n            .sku(\"F0\")\n            .microsoftAppId(current.clientId())\n            .build());\n\n        var exampleChannelWebChat = new ChannelWebChat(\"exampleChannelWebChat\", ChannelWebChatArgs.builder()\n            .botName(exampleChannelsRegistration.name())\n            .location(exampleChannelsRegistration.location())\n            .resourceGroupName(example.name())\n            .sites(ChannelWebChatSiteArgs.builder()\n                .name(\"TestSite\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleChannelsRegistration:\n    type: azure:bot:ChannelsRegistration\n    name: example\n    properties:\n      name: example-bcr\n      location: global\n      resourceGroupName: ${example.name}\n      sku: F0\n      microsoftAppId: ${current.clientId}\n  exampleChannelWebChat:\n    type: azure:bot:ChannelWebChat\n    name: example\n    properties:\n      botName: ${exampleChannelsRegistration.name}\n      location: ${exampleChannelsRegistration.location}\n      resourceGroupName: ${example.name}\n      sites:\n        - name: TestSite\nvariables:\n  current:\n    fn::invoke:\n      function: azure:core:getClientConfig\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nWeb Chat Channels can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:bot/channelWebChat:ChannelWebChat example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.BotService/botServices/botService1/channels/WebChatChannel\n```\n\n","properties":{"botName":{"type":"string","description":"The name of the Bot Resource this channel will be associated with. Changing this forces a new resource to be created.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group where the Web Chat Channel should be created. Changing this forces a new resource to be created.\n"},"sites":{"type":"array","items":{"$ref":"#/types/azure:bot/ChannelWebChatSite:ChannelWebChatSite"},"description":"A site represents a client application that you want to connect to your bot. One or more \u003cspan pulumi-lang-nodejs=\"`site`\" pulumi-lang-dotnet=\"`Site`\" pulumi-lang-go=\"`site`\" pulumi-lang-python=\"`site`\" pulumi-lang-yaml=\"`site`\" pulumi-lang-java=\"`site`\"\u003e`site`\u003c/span\u003e blocks as defined below.\n"}},"required":["botName","location","resourceGroupName"],"inputProperties":{"botName":{"type":"string","description":"The name of the Bot Resource this channel will be associated with. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group where the Web Chat Channel should be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sites":{"type":"array","items":{"$ref":"#/types/azure:bot/ChannelWebChatSite:ChannelWebChatSite"},"description":"A site represents a client application that you want to connect to your bot. One or more \u003cspan pulumi-lang-nodejs=\"`site`\" pulumi-lang-dotnet=\"`Site`\" pulumi-lang-go=\"`site`\" pulumi-lang-python=\"`site`\" pulumi-lang-yaml=\"`site`\" pulumi-lang-java=\"`site`\"\u003e`site`\u003c/span\u003e blocks as defined below.\n"}},"requiredInputs":["botName","resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering ChannelWebChat resources.\n","properties":{"botName":{"type":"string","description":"The name of the Bot Resource this channel will be associated with. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group where the Web Chat Channel should be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sites":{"type":"array","items":{"$ref":"#/types/azure:bot/ChannelWebChatSite:ChannelWebChatSite"},"description":"A site represents a client application that you want to connect to your bot. One or more \u003cspan pulumi-lang-nodejs=\"`site`\" pulumi-lang-dotnet=\"`Site`\" pulumi-lang-go=\"`site`\" pulumi-lang-python=\"`site`\" pulumi-lang-yaml=\"`site`\" pulumi-lang-java=\"`site`\"\u003e`site`\u003c/span\u003e blocks as defined below.\n"}},"type":"object"}},"azure:bot/channelsRegistration:ChannelsRegistration":{"description":"Manages a Bot Channels Registration.\n\n\u003e **Note:** Bot Channels Registration has been [deprecated by Azure](https://learn.microsoft.com/en-us/azure/bot-service/bot-service-resources-faq-azure?view=azure-bot-service-4.0#why-are-web-app-bot-and-bot-channel-registration-being-deprecated). New implementations should use the \u003cspan pulumi-lang-nodejs=\"`azure.bot.ServiceAzureBot`\" pulumi-lang-dotnet=\"`azure.bot.ServiceAzureBot`\" pulumi-lang-go=\"`bot.ServiceAzureBot`\" pulumi-lang-python=\"`bot.ServiceAzureBot`\" pulumi-lang-yaml=\"`azure.bot.ServiceAzureBot`\" pulumi-lang-java=\"`azure.bot.ServiceAzureBot`\"\u003e`azure.bot.ServiceAzureBot`\u003c/span\u003e resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst current = azure.core.getClientConfig({});\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleChannelsRegistration = new azure.bot.ChannelsRegistration(\"example\", {\n    name: \"example\",\n    location: \"global\",\n    resourceGroupName: example.name,\n    sku: \"F0\",\n    microsoftAppId: current.then(current =\u003e current.clientId),\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\ncurrent = azure.core.get_client_config()\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_channels_registration = azure.bot.ChannelsRegistration(\"example\",\n    name=\"example\",\n    location=\"global\",\n    resource_group_name=example.name,\n    sku=\"F0\",\n    microsoft_app_id=current.client_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var current = Azure.Core.GetClientConfig.Invoke();\n\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleChannelsRegistration = new Azure.Bot.ChannelsRegistration(\"example\", new()\n    {\n        Name = \"example\",\n        Location = \"global\",\n        ResourceGroupName = example.Name,\n        Sku = \"F0\",\n        MicrosoftAppId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.ClientId),\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/bot\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := core.GetClientConfig(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = bot.NewChannelsRegistration(ctx, \"example\", \u0026bot.ChannelsRegistrationArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tLocation:          pulumi.String(\"global\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSku:               pulumi.String(\"F0\"),\n\t\t\tMicrosoftAppId:    pulumi.String(current.ClientId),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.bot.ChannelsRegistration;\nimport com.pulumi.azure.bot.ChannelsRegistrationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var current = CoreFunctions.getClientConfig(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleChannelsRegistration = new ChannelsRegistration(\"exampleChannelsRegistration\", ChannelsRegistrationArgs.builder()\n            .name(\"example\")\n            .location(\"global\")\n            .resourceGroupName(example.name())\n            .sku(\"F0\")\n            .microsoftAppId(current.clientId())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleChannelsRegistration:\n    type: azure:bot:ChannelsRegistration\n    name: example\n    properties:\n      name: example\n      location: global\n      resourceGroupName: ${example.name}\n      sku: F0\n      microsoftAppId: ${current.clientId}\nvariables:\n  current:\n    fn::invoke:\n      function: azure:core:getClientConfig\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nBot Channels Registration can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:bot/channelsRegistration:ChannelsRegistration example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/example/providers/Microsoft.BotService/botServices/example\n```\n\n","properties":{"cmkKeyVaultUrl":{"type":"string","description":"The CMK Key Vault Key URL to encrypt the Bot Channels Registration with the Customer Managed Encryption Key.\n\n\u003e **Note:** It has to add the Key Vault Access Policy for the `Bot Service CMEK Prod` Service Principal and the \u003cspan pulumi-lang-nodejs=\"`softDeleteEnabled`\" pulumi-lang-dotnet=\"`SoftDeleteEnabled`\" pulumi-lang-go=\"`softDeleteEnabled`\" pulumi-lang-python=\"`soft_delete_enabled`\" pulumi-lang-yaml=\"`softDeleteEnabled`\" pulumi-lang-java=\"`softDeleteEnabled`\"\u003e`soft_delete_enabled`\u003c/span\u003e and the \u003cspan pulumi-lang-nodejs=\"`purgeProtectionEnabled`\" pulumi-lang-dotnet=\"`PurgeProtectionEnabled`\" pulumi-lang-go=\"`purgeProtectionEnabled`\" pulumi-lang-python=\"`purge_protection_enabled`\" pulumi-lang-yaml=\"`purgeProtectionEnabled`\" pulumi-lang-java=\"`purgeProtectionEnabled`\"\u003e`purge_protection_enabled`\u003c/span\u003e is enabled on the \u003cspan pulumi-lang-nodejs=\"`azure.keyvault.KeyVault`\" pulumi-lang-dotnet=\"`azure.keyvault.KeyVault`\" pulumi-lang-go=\"`keyvault.KeyVault`\" pulumi-lang-python=\"`keyvault.KeyVault`\" pulumi-lang-yaml=\"`azure.keyvault.KeyVault`\" pulumi-lang-java=\"`azure.keyvault.KeyVault`\"\u003e`azure.keyvault.KeyVault`\u003c/span\u003e resource while using \u003cspan pulumi-lang-nodejs=\"`cmkKeyVaultUrl`\" pulumi-lang-dotnet=\"`CmkKeyVaultUrl`\" pulumi-lang-go=\"`cmkKeyVaultUrl`\" pulumi-lang-python=\"`cmk_key_vault_url`\" pulumi-lang-yaml=\"`cmkKeyVaultUrl`\" pulumi-lang-java=\"`cmkKeyVaultUrl`\"\u003e`cmk_key_vault_url`\u003c/span\u003e.\n\n\u003e **Note:** It has to turn off the CMK feature before revoking Key Vault Access Policy. For more information, please refer to [Revoke access to customer-managed keys](https://docs.microsoft.com/azure/bot-service/bot-service-encryption?view=azure-bot-service-4.0\u0026WT.mc_id=Portal-Microsoft_Azure_BotService#revoke-access-to-customer-managed-keys).\n"},"description":{"type":"string","description":"The description of the Bot Channels Registration.\n"},"developerAppInsightsApiKey":{"type":"string","description":"The Application Insights API Key to associate with the Bot Channels Registration.\n","secret":true},"developerAppInsightsApplicationId":{"type":"string","description":"The Application Insights Application ID to associate with the Bot Channels Registration.\n"},"developerAppInsightsKey":{"type":"string","description":"The Application Insights Key to associate with the Bot Channels Registration.\n"},"displayName":{"type":"string","description":"The name of the Bot Channels Registration will be displayed as. This defaults to \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e if not specified.\n"},"endpoint":{"type":"string","description":"The Bot Channels Registration endpoint.\n"},"iconUrl":{"type":"string","description":"The icon URL to visually identify the Bot Channels Registration. Defaults to `https://docs.botframework.com/static/devportal/client/images/bot-framework-default.png`.\n"},"location":{"type":"string","description":"The supported Azure location where the resource exists. Changing this forces a new resource to be created.\n"},"microsoftAppId":{"type":"string","description":"The Microsoft Application ID for the Bot Channels Registration. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"Specifies the name of the Bot Channels Registration. Changing this forces a new resource to be created. Must be globally unique.\n"},"publicNetworkAccessEnabled":{"type":"boolean","description":"Is the Bot Channels Registration in an isolated network?\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the Bot Channels Registration. Changing this forces a new resource to be created.\n"},"sku":{"type":"string","description":"The SKU of the Bot Channels Registration. Valid values include `F0` or `S1`. Changing this forces a new resource to be created.\n"},"streamingEndpointEnabled":{"type":"boolean","description":"Is the streaming endpoint enabled for the Bot Channels Registration. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"required":["displayName","location","microsoftAppId","name","resourceGroupName","sku"],"inputProperties":{"cmkKeyVaultUrl":{"type":"string","description":"The CMK Key Vault Key URL to encrypt the Bot Channels Registration with the Customer Managed Encryption Key.\n\n\u003e **Note:** It has to add the Key Vault Access Policy for the `Bot Service CMEK Prod` Service Principal and the \u003cspan pulumi-lang-nodejs=\"`softDeleteEnabled`\" pulumi-lang-dotnet=\"`SoftDeleteEnabled`\" pulumi-lang-go=\"`softDeleteEnabled`\" pulumi-lang-python=\"`soft_delete_enabled`\" pulumi-lang-yaml=\"`softDeleteEnabled`\" pulumi-lang-java=\"`softDeleteEnabled`\"\u003e`soft_delete_enabled`\u003c/span\u003e and the \u003cspan pulumi-lang-nodejs=\"`purgeProtectionEnabled`\" pulumi-lang-dotnet=\"`PurgeProtectionEnabled`\" pulumi-lang-go=\"`purgeProtectionEnabled`\" pulumi-lang-python=\"`purge_protection_enabled`\" pulumi-lang-yaml=\"`purgeProtectionEnabled`\" pulumi-lang-java=\"`purgeProtectionEnabled`\"\u003e`purge_protection_enabled`\u003c/span\u003e is enabled on the \u003cspan pulumi-lang-nodejs=\"`azure.keyvault.KeyVault`\" pulumi-lang-dotnet=\"`azure.keyvault.KeyVault`\" pulumi-lang-go=\"`keyvault.KeyVault`\" pulumi-lang-python=\"`keyvault.KeyVault`\" pulumi-lang-yaml=\"`azure.keyvault.KeyVault`\" pulumi-lang-java=\"`azure.keyvault.KeyVault`\"\u003e`azure.keyvault.KeyVault`\u003c/span\u003e resource while using \u003cspan pulumi-lang-nodejs=\"`cmkKeyVaultUrl`\" pulumi-lang-dotnet=\"`CmkKeyVaultUrl`\" pulumi-lang-go=\"`cmkKeyVaultUrl`\" pulumi-lang-python=\"`cmk_key_vault_url`\" pulumi-lang-yaml=\"`cmkKeyVaultUrl`\" pulumi-lang-java=\"`cmkKeyVaultUrl`\"\u003e`cmk_key_vault_url`\u003c/span\u003e.\n\n\u003e **Note:** It has to turn off the CMK feature before revoking Key Vault Access Policy. For more information, please refer to [Revoke access to customer-managed keys](https://docs.microsoft.com/azure/bot-service/bot-service-encryption?view=azure-bot-service-4.0\u0026WT.mc_id=Portal-Microsoft_Azure_BotService#revoke-access-to-customer-managed-keys).\n"},"description":{"type":"string","description":"The description of the Bot Channels Registration.\n"},"developerAppInsightsApiKey":{"type":"string","description":"The Application Insights API Key to associate with the Bot Channels Registration.\n","secret":true},"developerAppInsightsApplicationId":{"type":"string","description":"The Application Insights Application ID to associate with the Bot Channels Registration.\n"},"developerAppInsightsKey":{"type":"string","description":"The Application Insights Key to associate with the Bot Channels Registration.\n"},"displayName":{"type":"string","description":"The name of the Bot Channels Registration will be displayed as. This defaults to \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e if not specified.\n"},"endpoint":{"type":"string","description":"The Bot Channels Registration endpoint.\n"},"iconUrl":{"type":"string","description":"The icon URL to visually identify the Bot Channels Registration. Defaults to `https://docs.botframework.com/static/devportal/client/images/bot-framework-default.png`.\n"},"location":{"type":"string","description":"The supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"microsoftAppId":{"type":"string","description":"The Microsoft Application ID for the Bot Channels Registration. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the Bot Channels Registration. Changing this forces a new resource to be created. Must be globally unique.\n","willReplaceOnChanges":true},"publicNetworkAccessEnabled":{"type":"boolean","description":"Is the Bot Channels Registration in an isolated network?\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the Bot Channels Registration. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sku":{"type":"string","description":"The SKU of the Bot Channels Registration. Valid values include `F0` or `S1`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"streamingEndpointEnabled":{"type":"boolean","description":"Is the streaming endpoint enabled for the Bot Channels Registration. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"requiredInputs":["microsoftAppId","resourceGroupName","sku"],"stateInputs":{"description":"Input properties used for looking up and filtering ChannelsRegistration resources.\n","properties":{"cmkKeyVaultUrl":{"type":"string","description":"The CMK Key Vault Key URL to encrypt the Bot Channels Registration with the Customer Managed Encryption Key.\n\n\u003e **Note:** It has to add the Key Vault Access Policy for the `Bot Service CMEK Prod` Service Principal and the \u003cspan pulumi-lang-nodejs=\"`softDeleteEnabled`\" pulumi-lang-dotnet=\"`SoftDeleteEnabled`\" pulumi-lang-go=\"`softDeleteEnabled`\" pulumi-lang-python=\"`soft_delete_enabled`\" pulumi-lang-yaml=\"`softDeleteEnabled`\" pulumi-lang-java=\"`softDeleteEnabled`\"\u003e`soft_delete_enabled`\u003c/span\u003e and the \u003cspan pulumi-lang-nodejs=\"`purgeProtectionEnabled`\" pulumi-lang-dotnet=\"`PurgeProtectionEnabled`\" pulumi-lang-go=\"`purgeProtectionEnabled`\" pulumi-lang-python=\"`purge_protection_enabled`\" pulumi-lang-yaml=\"`purgeProtectionEnabled`\" pulumi-lang-java=\"`purgeProtectionEnabled`\"\u003e`purge_protection_enabled`\u003c/span\u003e is enabled on the \u003cspan pulumi-lang-nodejs=\"`azure.keyvault.KeyVault`\" pulumi-lang-dotnet=\"`azure.keyvault.KeyVault`\" pulumi-lang-go=\"`keyvault.KeyVault`\" pulumi-lang-python=\"`keyvault.KeyVault`\" pulumi-lang-yaml=\"`azure.keyvault.KeyVault`\" pulumi-lang-java=\"`azure.keyvault.KeyVault`\"\u003e`azure.keyvault.KeyVault`\u003c/span\u003e resource while using \u003cspan pulumi-lang-nodejs=\"`cmkKeyVaultUrl`\" pulumi-lang-dotnet=\"`CmkKeyVaultUrl`\" pulumi-lang-go=\"`cmkKeyVaultUrl`\" pulumi-lang-python=\"`cmk_key_vault_url`\" pulumi-lang-yaml=\"`cmkKeyVaultUrl`\" pulumi-lang-java=\"`cmkKeyVaultUrl`\"\u003e`cmk_key_vault_url`\u003c/span\u003e.\n\n\u003e **Note:** It has to turn off the CMK feature before revoking Key Vault Access Policy. For more information, please refer to [Revoke access to customer-managed keys](https://docs.microsoft.com/azure/bot-service/bot-service-encryption?view=azure-bot-service-4.0\u0026WT.mc_id=Portal-Microsoft_Azure_BotService#revoke-access-to-customer-managed-keys).\n"},"description":{"type":"string","description":"The description of the Bot Channels Registration.\n"},"developerAppInsightsApiKey":{"type":"string","description":"The Application Insights API Key to associate with the Bot Channels Registration.\n","secret":true},"developerAppInsightsApplicationId":{"type":"string","description":"The Application Insights Application ID to associate with the Bot Channels Registration.\n"},"developerAppInsightsKey":{"type":"string","description":"The Application Insights Key to associate with the Bot Channels Registration.\n"},"displayName":{"type":"string","description":"The name of the Bot Channels Registration will be displayed as. This defaults to \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e if not specified.\n"},"endpoint":{"type":"string","description":"The Bot Channels Registration endpoint.\n"},"iconUrl":{"type":"string","description":"The icon URL to visually identify the Bot Channels Registration. Defaults to `https://docs.botframework.com/static/devportal/client/images/bot-framework-default.png`.\n"},"location":{"type":"string","description":"The supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"microsoftAppId":{"type":"string","description":"The Microsoft Application ID for the Bot Channels Registration. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the Bot Channels Registration. Changing this forces a new resource to be created. Must be globally unique.\n","willReplaceOnChanges":true},"publicNetworkAccessEnabled":{"type":"boolean","description":"Is the Bot Channels Registration in an isolated network?\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the Bot Channels Registration. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sku":{"type":"string","description":"The SKU of the Bot Channels Registration. Valid values include `F0` or `S1`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"streamingEndpointEnabled":{"type":"boolean","description":"Is the streaming endpoint enabled for the Bot Channels Registration. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"type":"object"}},"azure:bot/connection:Connection":{"description":"Manages a Bot Connection.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst current = azure.core.getClientConfig({});\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleChannelsRegistration = new azure.bot.ChannelsRegistration(\"example\", {\n    name: \"example\",\n    location: \"global\",\n    resourceGroupName: example.name,\n    sku: \"F0\",\n    microsoftAppId: current.then(current =\u003e current.clientId),\n});\nconst exampleConnection = new azure.bot.Connection(\"example\", {\n    name: \"example\",\n    botName: exampleChannelsRegistration.name,\n    location: exampleChannelsRegistration.location,\n    resourceGroupName: example.name,\n    serviceProviderName: \"box\",\n    clientId: \"exampleId\",\n    clientSecret: \"exampleSecret\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\ncurrent = azure.core.get_client_config()\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_channels_registration = azure.bot.ChannelsRegistration(\"example\",\n    name=\"example\",\n    location=\"global\",\n    resource_group_name=example.name,\n    sku=\"F0\",\n    microsoft_app_id=current.client_id)\nexample_connection = azure.bot.Connection(\"example\",\n    name=\"example\",\n    bot_name=example_channels_registration.name,\n    location=example_channels_registration.location,\n    resource_group_name=example.name,\n    service_provider_name=\"box\",\n    client_id=\"exampleId\",\n    client_secret=\"exampleSecret\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var current = Azure.Core.GetClientConfig.Invoke();\n\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleChannelsRegistration = new Azure.Bot.ChannelsRegistration(\"example\", new()\n    {\n        Name = \"example\",\n        Location = \"global\",\n        ResourceGroupName = example.Name,\n        Sku = \"F0\",\n        MicrosoftAppId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.ClientId),\n    });\n\n    var exampleConnection = new Azure.Bot.Connection(\"example\", new()\n    {\n        Name = \"example\",\n        BotName = exampleChannelsRegistration.Name,\n        Location = exampleChannelsRegistration.Location,\n        ResourceGroupName = example.Name,\n        ServiceProviderName = \"box\",\n        ClientId = \"exampleId\",\n        ClientSecret = \"exampleSecret\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/bot\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := core.GetClientConfig(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleChannelsRegistration, err := bot.NewChannelsRegistration(ctx, \"example\", \u0026bot.ChannelsRegistrationArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tLocation:          pulumi.String(\"global\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSku:               pulumi.String(\"F0\"),\n\t\t\tMicrosoftAppId:    pulumi.String(current.ClientId),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = bot.NewConnection(ctx, \"example\", \u0026bot.ConnectionArgs{\n\t\t\tName:                pulumi.String(\"example\"),\n\t\t\tBotName:             exampleChannelsRegistration.Name,\n\t\t\tLocation:            exampleChannelsRegistration.Location,\n\t\t\tResourceGroupName:   example.Name,\n\t\t\tServiceProviderName: pulumi.String(\"box\"),\n\t\t\tClientId:            pulumi.String(\"exampleId\"),\n\t\t\tClientSecret:        pulumi.String(\"exampleSecret\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.bot.ChannelsRegistration;\nimport com.pulumi.azure.bot.ChannelsRegistrationArgs;\nimport com.pulumi.azure.bot.Connection;\nimport com.pulumi.azure.bot.ConnectionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var current = CoreFunctions.getClientConfig(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleChannelsRegistration = new ChannelsRegistration(\"exampleChannelsRegistration\", ChannelsRegistrationArgs.builder()\n            .name(\"example\")\n            .location(\"global\")\n            .resourceGroupName(example.name())\n            .sku(\"F0\")\n            .microsoftAppId(current.clientId())\n            .build());\n\n        var exampleConnection = new Connection(\"exampleConnection\", ConnectionArgs.builder()\n            .name(\"example\")\n            .botName(exampleChannelsRegistration.name())\n            .location(exampleChannelsRegistration.location())\n            .resourceGroupName(example.name())\n            .serviceProviderName(\"box\")\n            .clientId(\"exampleId\")\n            .clientSecret(\"exampleSecret\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleChannelsRegistration:\n    type: azure:bot:ChannelsRegistration\n    name: example\n    properties:\n      name: example\n      location: global\n      resourceGroupName: ${example.name}\n      sku: F0\n      microsoftAppId: ${current.clientId}\n  exampleConnection:\n    type: azure:bot:Connection\n    name: example\n    properties:\n      name: example\n      botName: ${exampleChannelsRegistration.name}\n      location: ${exampleChannelsRegistration.location}\n      resourceGroupName: ${example.name}\n      serviceProviderName: box\n      clientId: exampleId\n      clientSecret: exampleSecret\nvariables:\n  current:\n    fn::invoke:\n      function: azure:core:getClientConfig\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nBot Connection can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:bot/connection:Connection example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/example/providers/Microsoft.BotService/botServices/example/connections/example\n```\n\n","properties":{"botName":{"type":"string","description":"The name of the Bot Resource this connection will be associated with. Changing this forces a new resource to be created.\n"},"clientId":{"type":"string","description":"The Client ID that will be used to authenticate with the service provider.\n"},"clientSecret":{"type":"string","description":"The Client Secret that will be used to authenticate with the service provider.\n","secret":true},"location":{"type":"string","description":"The supported Azure location where the resource exists. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"Specifies the name of the Bot Connection. Changing this forces a new resource to be created. Must be globally unique.\n"},"parameters":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of additional parameters to apply to the connection.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the Bot Connection. Changing this forces a new resource to be created.\n"},"scopes":{"type":"string","description":"The Scopes at which the connection should be applied.\n"},"serviceProviderName":{"type":"string","description":"The name of the service provider that will be associated with this connection. Changing this forces a new resource to be created.\n"}},"required":["botName","clientId","clientSecret","location","name","resourceGroupName","serviceProviderName"],"inputProperties":{"botName":{"type":"string","description":"The name of the Bot Resource this connection will be associated with. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"clientId":{"type":"string","description":"The Client ID that will be used to authenticate with the service provider.\n"},"clientSecret":{"type":"string","description":"The Client Secret that will be used to authenticate with the service provider.\n","secret":true},"location":{"type":"string","description":"The supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the Bot Connection. Changing this forces a new resource to be created. Must be globally unique.\n","willReplaceOnChanges":true},"parameters":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of additional parameters to apply to the connection.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the Bot Connection. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"scopes":{"type":"string","description":"The Scopes at which the connection should be applied.\n"},"serviceProviderName":{"type":"string","description":"The name of the service provider that will be associated with this connection. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["botName","clientId","clientSecret","resourceGroupName","serviceProviderName"],"stateInputs":{"description":"Input properties used for looking up and filtering Connection resources.\n","properties":{"botName":{"type":"string","description":"The name of the Bot Resource this connection will be associated with. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"clientId":{"type":"string","description":"The Client ID that will be used to authenticate with the service provider.\n"},"clientSecret":{"type":"string","description":"The Client Secret that will be used to authenticate with the service provider.\n","secret":true},"location":{"type":"string","description":"The supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the Bot Connection. Changing this forces a new resource to be created. Must be globally unique.\n","willReplaceOnChanges":true},"parameters":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of additional parameters to apply to the connection.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the Bot Connection. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"scopes":{"type":"string","description":"The Scopes at which the connection should be applied.\n"},"serviceProviderName":{"type":"string","description":"The name of the service provider that will be associated with this connection. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:bot/healthbot:Healthbot":{"description":"Manages a Healthbot Service.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-healthbot\",\n    location: \"West Europe\",\n});\nconst exampleHealthbot = new azure.bot.Healthbot(\"example\", {\n    name: \"example-bot\",\n    resourceGroupName: example.name,\n    location: example.location,\n    skuName: \"F0\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-healthbot\",\n    location=\"West Europe\")\nexample_healthbot = azure.bot.Healthbot(\"example\",\n    name=\"example-bot\",\n    resource_group_name=example.name,\n    location=example.location,\n    sku_name=\"F0\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-healthbot\",\n        Location = \"West Europe\",\n    });\n\n    var exampleHealthbot = new Azure.Bot.Healthbot(\"example\", new()\n    {\n        Name = \"example-bot\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        SkuName = \"F0\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/bot\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-healthbot\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = bot.NewHealthbot(ctx, \"example\", \u0026bot.HealthbotArgs{\n\t\t\tName:              pulumi.String(\"example-bot\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tSkuName:           pulumi.String(\"F0\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.bot.Healthbot;\nimport com.pulumi.azure.bot.HealthbotArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-healthbot\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleHealthbot = new Healthbot(\"exampleHealthbot\", HealthbotArgs.builder()\n            .name(\"example-bot\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .skuName(\"F0\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-healthbot\n      location: West Europe\n  exampleHealthbot:\n    type: azure:bot:Healthbot\n    name: example\n    properties:\n      name: example-bot\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      skuName: F0\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.HealthBot` - 2025-05-25\n\n## Import\n\nHealthbot Service can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:bot/healthbot:Healthbot example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.HealthBot/healthBots/bot1\n```\n\n","properties":{"botManagementPortalUrl":{"type":"string","description":"The management portal url.\n"},"location":{"type":"string","description":"Specifies The Azure Region where the resource exists. Changing this force a new resource to be created.\n"},"name":{"type":"string","description":"Specifies The name of the Healthbot Service resource. Changing this forces a new resource to be created.\n"},"resourceGroupName":{"type":"string","description":"Specifies The name of the Resource Group in which to create the Healthbot Service. changing this forces a new resource to be created.\n"},"skuName":{"type":"string","description":"The name which should be used for the SKU of the service. Possible values are `C0`, `C1`, `F0`, `PES` and `S1`.\n\n\u003e **Note:** Downgrading to `F0` forces a new resource to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the service.\n"}},"required":["botManagementPortalUrl","location","name","resourceGroupName","skuName"],"inputProperties":{"location":{"type":"string","description":"Specifies The Azure Region where the resource exists. Changing this force a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies The name of the Healthbot Service resource. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"Specifies The name of the Resource Group in which to create the Healthbot Service. changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"skuName":{"type":"string","description":"The name which should be used for the SKU of the service. Possible values are `C0`, `C1`, `F0`, `PES` and `S1`.\n\n\u003e **Note:** Downgrading to `F0` forces a new resource to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the service.\n"}},"requiredInputs":["resourceGroupName","skuName"],"stateInputs":{"description":"Input properties used for looking up and filtering Healthbot resources.\n","properties":{"botManagementPortalUrl":{"type":"string","description":"The management portal url.\n"},"location":{"type":"string","description":"Specifies The Azure Region where the resource exists. Changing this force a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies The name of the Healthbot Service resource. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"Specifies The name of the Resource Group in which to create the Healthbot Service. changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"skuName":{"type":"string","description":"The name which should be used for the SKU of the service. Possible values are `C0`, `C1`, `F0`, `PES` and `S1`.\n\n\u003e **Note:** Downgrading to `F0` forces a new resource to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the service.\n"}},"type":"object"}},"azure:bot/serviceAzureBot:ServiceAzureBot":{"description":"Manages an Azure Bot Service.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleInsights = new azure.appinsights.Insights(\"example\", {\n    name: \"example-appinsights\",\n    location: example.location,\n    resourceGroupName: example.name,\n    applicationType: \"web\",\n});\nconst exampleApiKey = new azure.appinsights.ApiKey(\"example\", {\n    name: \"example-appinsightsapikey\",\n    applicationInsightsId: exampleInsights.id,\n    readPermissions: [\n        \"aggregate\",\n        \"api\",\n        \"draft\",\n        \"extendqueries\",\n        \"search\",\n    ],\n});\nconst current = azure.core.getClientConfig({});\nconst exampleServiceAzureBot = new azure.bot.ServiceAzureBot(\"example\", {\n    name: \"exampleazurebot\",\n    resourceGroupName: example.name,\n    location: \"global\",\n    microsoftAppId: current.then(current =\u003e current.clientId),\n    sku: \"F0\",\n    endpoint: \"https://example.com\",\n    developerAppInsightsApiKey: exampleApiKey.apiKey,\n    developerAppInsightsApplicationId: exampleInsights.appId,\n    tags: {\n        environment: \"test\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_insights = azure.appinsights.Insights(\"example\",\n    name=\"example-appinsights\",\n    location=example.location,\n    resource_group_name=example.name,\n    application_type=\"web\")\nexample_api_key = azure.appinsights.ApiKey(\"example\",\n    name=\"example-appinsightsapikey\",\n    application_insights_id=example_insights.id,\n    read_permissions=[\n        \"aggregate\",\n        \"api\",\n        \"draft\",\n        \"extendqueries\",\n        \"search\",\n    ])\ncurrent = azure.core.get_client_config()\nexample_service_azure_bot = azure.bot.ServiceAzureBot(\"example\",\n    name=\"exampleazurebot\",\n    resource_group_name=example.name,\n    location=\"global\",\n    microsoft_app_id=current.client_id,\n    sku=\"F0\",\n    endpoint=\"https://example.com\",\n    developer_app_insights_api_key=example_api_key.api_key,\n    developer_app_insights_application_id=example_insights.app_id,\n    tags={\n        \"environment\": \"test\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleInsights = new Azure.AppInsights.Insights(\"example\", new()\n    {\n        Name = \"example-appinsights\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        ApplicationType = \"web\",\n    });\n\n    var exampleApiKey = new Azure.AppInsights.ApiKey(\"example\", new()\n    {\n        Name = \"example-appinsightsapikey\",\n        ApplicationInsightsId = exampleInsights.Id,\n        ReadPermissions = new[]\n        {\n            \"aggregate\",\n            \"api\",\n            \"draft\",\n            \"extendqueries\",\n            \"search\",\n        },\n    });\n\n    var current = Azure.Core.GetClientConfig.Invoke();\n\n    var exampleServiceAzureBot = new Azure.Bot.ServiceAzureBot(\"example\", new()\n    {\n        Name = \"exampleazurebot\",\n        ResourceGroupName = example.Name,\n        Location = \"global\",\n        MicrosoftAppId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.ClientId),\n        Sku = \"F0\",\n        Endpoint = \"https://example.com\",\n        DeveloperAppInsightsApiKey = exampleApiKey.ApiKey,\n        DeveloperAppInsightsApplicationId = exampleInsights.AppId,\n        Tags = \n        {\n            { \"environment\", \"test\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/appinsights\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/bot\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleInsights, err := appinsights.NewInsights(ctx, \"example\", \u0026appinsights.InsightsArgs{\n\t\t\tName:              pulumi.String(\"example-appinsights\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tApplicationType:   pulumi.String(\"web\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleApiKey, err := appinsights.NewApiKey(ctx, \"example\", \u0026appinsights.ApiKeyArgs{\n\t\t\tName:                  pulumi.String(\"example-appinsightsapikey\"),\n\t\t\tApplicationInsightsId: exampleInsights.ID(),\n\t\t\tReadPermissions: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"aggregate\"),\n\t\t\t\tpulumi.String(\"api\"),\n\t\t\t\tpulumi.String(\"draft\"),\n\t\t\t\tpulumi.String(\"extendqueries\"),\n\t\t\t\tpulumi.String(\"search\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrent, err := core.GetClientConfig(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = bot.NewServiceAzureBot(ctx, \"example\", \u0026bot.ServiceAzureBotArgs{\n\t\t\tName:                              pulumi.String(\"exampleazurebot\"),\n\t\t\tResourceGroupName:                 example.Name,\n\t\t\tLocation:                          pulumi.String(\"global\"),\n\t\t\tMicrosoftAppId:                    pulumi.String(current.ClientId),\n\t\t\tSku:                               pulumi.String(\"F0\"),\n\t\t\tEndpoint:                          pulumi.String(\"https://example.com\"),\n\t\t\tDeveloperAppInsightsApiKey:        exampleApiKey.ApiKey,\n\t\t\tDeveloperAppInsightsApplicationId: exampleInsights.AppId,\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"environment\": pulumi.String(\"test\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.appinsights.Insights;\nimport com.pulumi.azure.appinsights.InsightsArgs;\nimport com.pulumi.azure.appinsights.ApiKey;\nimport com.pulumi.azure.appinsights.ApiKeyArgs;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.bot.ServiceAzureBot;\nimport com.pulumi.azure.bot.ServiceAzureBotArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleInsights = new Insights(\"exampleInsights\", InsightsArgs.builder()\n            .name(\"example-appinsights\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .applicationType(\"web\")\n            .build());\n\n        var exampleApiKey = new ApiKey(\"exampleApiKey\", ApiKeyArgs.builder()\n            .name(\"example-appinsightsapikey\")\n            .applicationInsightsId(exampleInsights.id())\n            .readPermissions(            \n                \"aggregate\",\n                \"api\",\n                \"draft\",\n                \"extendqueries\",\n                \"search\")\n            .build());\n\n        final var current = CoreFunctions.getClientConfig(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n        var exampleServiceAzureBot = new ServiceAzureBot(\"exampleServiceAzureBot\", ServiceAzureBotArgs.builder()\n            .name(\"exampleazurebot\")\n            .resourceGroupName(example.name())\n            .location(\"global\")\n            .microsoftAppId(current.clientId())\n            .sku(\"F0\")\n            .endpoint(\"https://example.com\")\n            .developerAppInsightsApiKey(exampleApiKey.apiKey())\n            .developerAppInsightsApplicationId(exampleInsights.appId())\n            .tags(Map.of(\"environment\", \"test\"))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleInsights:\n    type: azure:appinsights:Insights\n    name: example\n    properties:\n      name: example-appinsights\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      applicationType: web\n  exampleApiKey:\n    type: azure:appinsights:ApiKey\n    name: example\n    properties:\n      name: example-appinsightsapikey\n      applicationInsightsId: ${exampleInsights.id}\n      readPermissions:\n        - aggregate\n        - api\n        - draft\n        - extendqueries\n        - search\n  exampleServiceAzureBot:\n    type: azure:bot:ServiceAzureBot\n    name: example\n    properties:\n      name: exampleazurebot\n      resourceGroupName: ${example.name}\n      location: global\n      microsoftAppId: ${current.clientId}\n      sku: F0\n      endpoint: https://example.com\n      developerAppInsightsApiKey: ${exampleApiKey.apiKey}\n      developerAppInsightsApplicationId: ${exampleInsights.appId}\n      tags:\n        environment: test\nvariables:\n  current:\n    fn::invoke:\n      function: azure:core:getClientConfig\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nAzure Bot Services can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:bot/serviceAzureBot:ServiceAzureBot example /subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/resGroup1/providers/Microsoft.BotService/botServices/botService1\n```\n\n","properties":{"cmkKeyVaultKeyUrl":{"type":"string","description":"The CMK Key Vault Key URL that will be used to encrypt the Bot with the Customer Managed Encryption Key.\n\n\u003e **Note:** In order to utilize CMEK, you must add the `Key Vault Crypto Service Encryption User` role to the Azure-defined `Bot Service CMEK Prod` Service Principal. You must also enable \u003cspan pulumi-lang-nodejs=\"`softDeleteEnabled`\" pulumi-lang-dotnet=\"`SoftDeleteEnabled`\" pulumi-lang-go=\"`softDeleteEnabled`\" pulumi-lang-python=\"`soft_delete_enabled`\" pulumi-lang-yaml=\"`softDeleteEnabled`\" pulumi-lang-java=\"`softDeleteEnabled`\"\u003e`soft_delete_enabled`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`purgeProtectionEnabled`\" pulumi-lang-dotnet=\"`PurgeProtectionEnabled`\" pulumi-lang-go=\"`purgeProtectionEnabled`\" pulumi-lang-python=\"`purge_protection_enabled`\" pulumi-lang-yaml=\"`purgeProtectionEnabled`\" pulumi-lang-java=\"`purgeProtectionEnabled`\"\u003e`purge_protection_enabled`\u003c/span\u003e on the \u003cspan pulumi-lang-nodejs=\"`azure.keyvault.KeyVault`\" pulumi-lang-dotnet=\"`azure.keyvault.KeyVault`\" pulumi-lang-go=\"`keyvault.KeyVault`\" pulumi-lang-python=\"`keyvault.KeyVault`\" pulumi-lang-yaml=\"`azure.keyvault.KeyVault`\" pulumi-lang-java=\"`azure.keyvault.KeyVault`\"\u003e`azure.keyvault.KeyVault`\u003c/span\u003e that \u003cspan pulumi-lang-nodejs=\"`cmkKeyVaultKeyUrl`\" pulumi-lang-dotnet=\"`CmkKeyVaultKeyUrl`\" pulumi-lang-go=\"`cmkKeyVaultKeyUrl`\" pulumi-lang-python=\"`cmk_key_vault_key_url`\" pulumi-lang-yaml=\"`cmkKeyVaultKeyUrl`\" pulumi-lang-java=\"`cmkKeyVaultKeyUrl`\"\u003e`cmk_key_vault_key_url`\u003c/span\u003e refers to. [See Azure Documentation](https://learn.microsoft.com/en-us/azure/bot-service/bot-service-encryption?view=azure-bot-service-4.0#how-to-configure-your-azure-key-vault-instance)\n"},"developerAppInsightsApiKey":{"type":"string","description":"The Application Insights API Key to associate with this Azure Bot Service.\n","secret":true},"developerAppInsightsApplicationId":{"type":"string","description":"The resource ID of the Application Insights instance to associate with this Azure Bot Service.\n"},"developerAppInsightsKey":{"type":"string","description":"The Application Insight Key to associate with this Azure Bot Service.\n"},"displayName":{"type":"string","description":"The name that the Azure Bot Service will be displayed as. This defaults to the value set for \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e if not specified.\n"},"endpoint":{"type":"string","description":"The Azure Bot Service endpoint.\n"},"iconUrl":{"type":"string","description":"The Icon Url of the Azure Bot Service. Defaults to `https://docs.botframework.com/static/devportal/client/images/bot-framework-default.png`.\n"},"localAuthenticationEnabled":{"type":"boolean","description":"Is local authentication enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"location":{"type":"string","description":"The supported Azure location where the Azure Bot Service should exist. Changing this forces a new resource to be created.\n"},"luisAppIds":{"type":"array","items":{"type":"string"},"description":"A list of LUIS App IDs to associate with this Azure Bot Service.\n"},"luisKey":{"type":"string","description":"The LUIS key to associate with this Azure Bot Service.\n","secret":true},"microsoftAppId":{"type":"string","description":"The Microsoft Application ID for the Azure Bot Service. Changing this forces a new resource to be created.\n"},"microsoftAppMsiId":{"type":"string","description":"The ID of the Microsoft App Managed Identity for this Azure Bot Service. Changing this forces a new resource to be created.\n"},"microsoftAppTenantId":{"type":"string","description":"The Tenant ID of the Microsoft App for this Azure Bot Service. Changing this forces a new resource to be created.\n"},"microsoftAppType":{"type":"string","description":"The Microsoft App Type for this Azure Bot Service. Possible values are `MultiTenant`, `SingleTenant` and `UserAssignedMSI`. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"The name which should be used for this Azure Bot Service. Changing this forces a new resource to be created.\n"},"publicNetworkAccessEnabled":{"type":"boolean","description":"Whether public network access is enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Azure Bot Service should exist. Changing this forces a new resource to be created.\n"},"sku":{"type":"string","description":"The SKU of the Azure Bot Service. Accepted values are `F0` or `S1`. Changing this forces a new resource to be created.\n"},"streamingEndpointEnabled":{"type":"boolean","description":"Is the streaming endpoint enabled for this Azure Bot Service. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to this Azure Bot Service.\n"}},"required":["displayName","location","microsoftAppId","name","resourceGroupName","sku"],"inputProperties":{"cmkKeyVaultKeyUrl":{"type":"string","description":"The CMK Key Vault Key URL that will be used to encrypt the Bot with the Customer Managed Encryption Key.\n\n\u003e **Note:** In order to utilize CMEK, you must add the `Key Vault Crypto Service Encryption User` role to the Azure-defined `Bot Service CMEK Prod` Service Principal. You must also enable \u003cspan pulumi-lang-nodejs=\"`softDeleteEnabled`\" pulumi-lang-dotnet=\"`SoftDeleteEnabled`\" pulumi-lang-go=\"`softDeleteEnabled`\" pulumi-lang-python=\"`soft_delete_enabled`\" pulumi-lang-yaml=\"`softDeleteEnabled`\" pulumi-lang-java=\"`softDeleteEnabled`\"\u003e`soft_delete_enabled`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`purgeProtectionEnabled`\" pulumi-lang-dotnet=\"`PurgeProtectionEnabled`\" pulumi-lang-go=\"`purgeProtectionEnabled`\" pulumi-lang-python=\"`purge_protection_enabled`\" pulumi-lang-yaml=\"`purgeProtectionEnabled`\" pulumi-lang-java=\"`purgeProtectionEnabled`\"\u003e`purge_protection_enabled`\u003c/span\u003e on the \u003cspan pulumi-lang-nodejs=\"`azure.keyvault.KeyVault`\" pulumi-lang-dotnet=\"`azure.keyvault.KeyVault`\" pulumi-lang-go=\"`keyvault.KeyVault`\" pulumi-lang-python=\"`keyvault.KeyVault`\" pulumi-lang-yaml=\"`azure.keyvault.KeyVault`\" pulumi-lang-java=\"`azure.keyvault.KeyVault`\"\u003e`azure.keyvault.KeyVault`\u003c/span\u003e that \u003cspan pulumi-lang-nodejs=\"`cmkKeyVaultKeyUrl`\" pulumi-lang-dotnet=\"`CmkKeyVaultKeyUrl`\" pulumi-lang-go=\"`cmkKeyVaultKeyUrl`\" pulumi-lang-python=\"`cmk_key_vault_key_url`\" pulumi-lang-yaml=\"`cmkKeyVaultKeyUrl`\" pulumi-lang-java=\"`cmkKeyVaultKeyUrl`\"\u003e`cmk_key_vault_key_url`\u003c/span\u003e refers to. [See Azure Documentation](https://learn.microsoft.com/en-us/azure/bot-service/bot-service-encryption?view=azure-bot-service-4.0#how-to-configure-your-azure-key-vault-instance)\n"},"developerAppInsightsApiKey":{"type":"string","description":"The Application Insights API Key to associate with this Azure Bot Service.\n","secret":true},"developerAppInsightsApplicationId":{"type":"string","description":"The resource ID of the Application Insights instance to associate with this Azure Bot Service.\n"},"developerAppInsightsKey":{"type":"string","description":"The Application Insight Key to associate with this Azure Bot Service.\n"},"displayName":{"type":"string","description":"The name that the Azure Bot Service will be displayed as. This defaults to the value set for \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e if not specified.\n"},"endpoint":{"type":"string","description":"The Azure Bot Service endpoint.\n"},"iconUrl":{"type":"string","description":"The Icon Url of the Azure Bot Service. Defaults to `https://docs.botframework.com/static/devportal/client/images/bot-framework-default.png`.\n"},"localAuthenticationEnabled":{"type":"boolean","description":"Is local authentication enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"location":{"type":"string","description":"The supported Azure location where the Azure Bot Service should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"luisAppIds":{"type":"array","items":{"type":"string"},"description":"A list of LUIS App IDs to associate with this Azure Bot Service.\n"},"luisKey":{"type":"string","description":"The LUIS key to associate with this Azure Bot Service.\n","secret":true},"microsoftAppId":{"type":"string","description":"The Microsoft Application ID for the Azure Bot Service. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"microsoftAppMsiId":{"type":"string","description":"The ID of the Microsoft App Managed Identity for this Azure Bot Service. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"microsoftAppTenantId":{"type":"string","description":"The Tenant ID of the Microsoft App for this Azure Bot Service. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"microsoftAppType":{"type":"string","description":"The Microsoft App Type for this Azure Bot Service. Possible values are `MultiTenant`, `SingleTenant` and `UserAssignedMSI`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Azure Bot Service. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"publicNetworkAccessEnabled":{"type":"boolean","description":"Whether public network access is enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Azure Bot Service should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sku":{"type":"string","description":"The SKU of the Azure Bot Service. Accepted values are `F0` or `S1`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"streamingEndpointEnabled":{"type":"boolean","description":"Is the streaming endpoint enabled for this Azure Bot Service. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to this Azure Bot Service.\n"}},"requiredInputs":["microsoftAppId","resourceGroupName","sku"],"stateInputs":{"description":"Input properties used for looking up and filtering ServiceAzureBot resources.\n","properties":{"cmkKeyVaultKeyUrl":{"type":"string","description":"The CMK Key Vault Key URL that will be used to encrypt the Bot with the Customer Managed Encryption Key.\n\n\u003e **Note:** In order to utilize CMEK, you must add the `Key Vault Crypto Service Encryption User` role to the Azure-defined `Bot Service CMEK Prod` Service Principal. You must also enable \u003cspan pulumi-lang-nodejs=\"`softDeleteEnabled`\" pulumi-lang-dotnet=\"`SoftDeleteEnabled`\" pulumi-lang-go=\"`softDeleteEnabled`\" pulumi-lang-python=\"`soft_delete_enabled`\" pulumi-lang-yaml=\"`softDeleteEnabled`\" pulumi-lang-java=\"`softDeleteEnabled`\"\u003e`soft_delete_enabled`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`purgeProtectionEnabled`\" pulumi-lang-dotnet=\"`PurgeProtectionEnabled`\" pulumi-lang-go=\"`purgeProtectionEnabled`\" pulumi-lang-python=\"`purge_protection_enabled`\" pulumi-lang-yaml=\"`purgeProtectionEnabled`\" pulumi-lang-java=\"`purgeProtectionEnabled`\"\u003e`purge_protection_enabled`\u003c/span\u003e on the \u003cspan pulumi-lang-nodejs=\"`azure.keyvault.KeyVault`\" pulumi-lang-dotnet=\"`azure.keyvault.KeyVault`\" pulumi-lang-go=\"`keyvault.KeyVault`\" pulumi-lang-python=\"`keyvault.KeyVault`\" pulumi-lang-yaml=\"`azure.keyvault.KeyVault`\" pulumi-lang-java=\"`azure.keyvault.KeyVault`\"\u003e`azure.keyvault.KeyVault`\u003c/span\u003e that \u003cspan pulumi-lang-nodejs=\"`cmkKeyVaultKeyUrl`\" pulumi-lang-dotnet=\"`CmkKeyVaultKeyUrl`\" pulumi-lang-go=\"`cmkKeyVaultKeyUrl`\" pulumi-lang-python=\"`cmk_key_vault_key_url`\" pulumi-lang-yaml=\"`cmkKeyVaultKeyUrl`\" pulumi-lang-java=\"`cmkKeyVaultKeyUrl`\"\u003e`cmk_key_vault_key_url`\u003c/span\u003e refers to. [See Azure Documentation](https://learn.microsoft.com/en-us/azure/bot-service/bot-service-encryption?view=azure-bot-service-4.0#how-to-configure-your-azure-key-vault-instance)\n"},"developerAppInsightsApiKey":{"type":"string","description":"The Application Insights API Key to associate with this Azure Bot Service.\n","secret":true},"developerAppInsightsApplicationId":{"type":"string","description":"The resource ID of the Application Insights instance to associate with this Azure Bot Service.\n"},"developerAppInsightsKey":{"type":"string","description":"The Application Insight Key to associate with this Azure Bot Service.\n"},"displayName":{"type":"string","description":"The name that the Azure Bot Service will be displayed as. This defaults to the value set for \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e if not specified.\n"},"endpoint":{"type":"string","description":"The Azure Bot Service endpoint.\n"},"iconUrl":{"type":"string","description":"The Icon Url of the Azure Bot Service. Defaults to `https://docs.botframework.com/static/devportal/client/images/bot-framework-default.png`.\n"},"localAuthenticationEnabled":{"type":"boolean","description":"Is local authentication enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"location":{"type":"string","description":"The supported Azure location where the Azure Bot Service should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"luisAppIds":{"type":"array","items":{"type":"string"},"description":"A list of LUIS App IDs to associate with this Azure Bot Service.\n"},"luisKey":{"type":"string","description":"The LUIS key to associate with this Azure Bot Service.\n","secret":true},"microsoftAppId":{"type":"string","description":"The Microsoft Application ID for the Azure Bot Service. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"microsoftAppMsiId":{"type":"string","description":"The ID of the Microsoft App Managed Identity for this Azure Bot Service. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"microsoftAppTenantId":{"type":"string","description":"The Tenant ID of the Microsoft App for this Azure Bot Service. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"microsoftAppType":{"type":"string","description":"The Microsoft App Type for this Azure Bot Service. Possible values are `MultiTenant`, `SingleTenant` and `UserAssignedMSI`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Azure Bot Service. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"publicNetworkAccessEnabled":{"type":"boolean","description":"Whether public network access is enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Azure Bot Service should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sku":{"type":"string","description":"The SKU of the Azure Bot Service. Accepted values are `F0` or `S1`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"streamingEndpointEnabled":{"type":"boolean","description":"Is the streaming endpoint enabled for this Azure Bot Service. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to this Azure Bot Service.\n"}},"type":"object"}},"azure:bot/webApp:WebApp":{"description":"Manages a Bot Web App.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst current = azure.core.getClientConfig({});\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleWebApp = new azure.bot.WebApp(\"example\", {\n    name: \"example\",\n    location: \"global\",\n    resourceGroupName: example.name,\n    sku: \"F0\",\n    microsoftAppId: current.then(current =\u003e current.clientId),\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\ncurrent = azure.core.get_client_config()\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_web_app = azure.bot.WebApp(\"example\",\n    name=\"example\",\n    location=\"global\",\n    resource_group_name=example.name,\n    sku=\"F0\",\n    microsoft_app_id=current.client_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var current = Azure.Core.GetClientConfig.Invoke();\n\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleWebApp = new Azure.Bot.WebApp(\"example\", new()\n    {\n        Name = \"example\",\n        Location = \"global\",\n        ResourceGroupName = example.Name,\n        Sku = \"F0\",\n        MicrosoftAppId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.ClientId),\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/bot\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := core.GetClientConfig(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = bot.NewWebApp(ctx, \"example\", \u0026bot.WebAppArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tLocation:          pulumi.String(\"global\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSku:               pulumi.String(\"F0\"),\n\t\t\tMicrosoftAppId:    pulumi.String(current.ClientId),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.bot.WebApp;\nimport com.pulumi.azure.bot.WebAppArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var current = CoreFunctions.getClientConfig(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleWebApp = new WebApp(\"exampleWebApp\", WebAppArgs.builder()\n            .name(\"example\")\n            .location(\"global\")\n            .resourceGroupName(example.name())\n            .sku(\"F0\")\n            .microsoftAppId(current.clientId())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleWebApp:\n    type: azure:bot:WebApp\n    name: example\n    properties:\n      name: example\n      location: global\n      resourceGroupName: ${example.name}\n      sku: F0\n      microsoftAppId: ${current.clientId}\nvariables:\n  current:\n    fn::invoke:\n      function: azure:core:getClientConfig\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nBot Web App's can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:bot/webApp:WebApp example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/example/providers/Microsoft.BotService/botServices/example\n```\n\n","properties":{"developerAppInsightsApiKey":{"type":"string","description":"The Application Insights API Key to associate with the Web App Bot.\n","secret":true},"developerAppInsightsApplicationId":{"type":"string","description":"The Application Insights Application ID to associate with the Web App Bot.\n"},"developerAppInsightsKey":{"type":"string","description":"The Application Insights Key to associate with the Web App Bot.\n"},"displayName":{"type":"string","description":"The name of the Web App Bot will be displayed as. This defaults to \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e if not specified.\n"},"endpoint":{"type":"string","description":"The Web App Bot endpoint.\n"},"location":{"type":"string","description":"The supported Azure location where the resource exists. Changing this forces a new resource to be created.\n"},"luisAppIds":{"type":"array","items":{"type":"string"},"description":"A list of LUIS App IDs to associate with the Web App Bot.\n"},"luisKey":{"type":"string","description":"The LUIS key to associate with the Web App Bot.\n","secret":true},"microsoftAppId":{"type":"string","description":"The Microsoft Application ID for the Web App Bot. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"Specifies the name of the Web App Bot. Changing this forces a new resource to be created. Must be globally unique.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the Web App Bot. Changing this forces a new resource to be created.\n"},"sku":{"type":"string","description":"The SKU of the Web App Bot. Valid values include `F0` or `S1`. Changing this forces a new resource to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"required":["displayName","location","microsoftAppId","name","resourceGroupName","sku"],"inputProperties":{"developerAppInsightsApiKey":{"type":"string","description":"The Application Insights API Key to associate with the Web App Bot.\n","secret":true},"developerAppInsightsApplicationId":{"type":"string","description":"The Application Insights Application ID to associate with the Web App Bot.\n"},"developerAppInsightsKey":{"type":"string","description":"The Application Insights Key to associate with the Web App Bot.\n"},"displayName":{"type":"string","description":"The name of the Web App Bot will be displayed as. This defaults to \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e if not specified.\n"},"endpoint":{"type":"string","description":"The Web App Bot endpoint.\n"},"location":{"type":"string","description":"The supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"luisAppIds":{"type":"array","items":{"type":"string"},"description":"A list of LUIS App IDs to associate with the Web App Bot.\n"},"luisKey":{"type":"string","description":"The LUIS key to associate with the Web App Bot.\n","secret":true},"microsoftAppId":{"type":"string","description":"The Microsoft Application ID for the Web App Bot. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the Web App Bot. Changing this forces a new resource to be created. Must be globally unique.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the Web App Bot. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sku":{"type":"string","description":"The SKU of the Web App Bot. Valid values include `F0` or `S1`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"requiredInputs":["microsoftAppId","resourceGroupName","sku"],"stateInputs":{"description":"Input properties used for looking up and filtering WebApp resources.\n","properties":{"developerAppInsightsApiKey":{"type":"string","description":"The Application Insights API Key to associate with the Web App Bot.\n","secret":true},"developerAppInsightsApplicationId":{"type":"string","description":"The Application Insights Application ID to associate with the Web App Bot.\n"},"developerAppInsightsKey":{"type":"string","description":"The Application Insights Key to associate with the Web App Bot.\n"},"displayName":{"type":"string","description":"The name of the Web App Bot will be displayed as. This defaults to \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e if not specified.\n"},"endpoint":{"type":"string","description":"The Web App Bot endpoint.\n"},"location":{"type":"string","description":"The supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"luisAppIds":{"type":"array","items":{"type":"string"},"description":"A list of LUIS App IDs to associate with the Web App Bot.\n"},"luisKey":{"type":"string","description":"The LUIS key to associate with the Web App Bot.\n","secret":true},"microsoftAppId":{"type":"string","description":"The Microsoft Application ID for the Web App Bot. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the Web App Bot. Changing this forces a new resource to be created. Must be globally unique.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the Web App Bot. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sku":{"type":"string","description":"The SKU of the Web App Bot. Valid values include `F0` or `S1`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"type":"object"}},"azure:cdn/endpoint:Endpoint":{"description":"A CDN (classic) Endpoint is the entity within a CDN Profile containing configuration information regarding caching behaviours and origins. The CDN Endpoint is exposed using the URL format `\u003cendpointname\u003e.azureedge.net`.\n\n!\u003e **Note:** Azure rolled out a breaking change on Friday 9th April 2021 which may cause issues with the CDN/FrontDoor resources. More information is available in this GitHub issue - unfortunately this may necessitate a breaking change to the CDN (classic) and FrontDoor (classic) resources, more information will be posted in the GitHub issue as the necessary changes are identified.\n\n!\u003e **Note:** Support for the CDN (classic) \u003cspan pulumi-lang-nodejs=\"`sku`\" pulumi-lang-dotnet=\"`Sku`\" pulumi-lang-go=\"`sku`\" pulumi-lang-python=\"`sku`\" pulumi-lang-yaml=\"`sku`\" pulumi-lang-java=\"`sku`\"\u003e`sku`\u003c/span\u003e `Standard_Akamai` was deprecated from Azure on `October 31, 2023` and is no longer available.\n\n!\u003e **Note:** Support for the CDN (classic) \u003cspan pulumi-lang-nodejs=\"`sku`\" pulumi-lang-dotnet=\"`Sku`\" pulumi-lang-go=\"`sku`\" pulumi-lang-python=\"`sku`\" pulumi-lang-yaml=\"`sku`\" pulumi-lang-java=\"`sku`\"\u003e`sku`\u003c/span\u003e `Standard_Verizon` and `Premium_Verizon` was deprecated from Azure on `January 15, 2025` and is no longer available.\n\n!\u003e **Note:** Support for the CDN (classic) \u003cspan pulumi-lang-nodejs=\"`sku`\" pulumi-lang-dotnet=\"`Sku`\" pulumi-lang-go=\"`sku`\" pulumi-lang-python=\"`sku`\" pulumi-lang-yaml=\"`sku`\" pulumi-lang-java=\"`sku`\"\u003e`sku`\u003c/span\u003e `Standard_Microsoft` and `Standard_ChinaCdn` will be deprecated from Azure on `October 1, 2025` and will no longer be available, however modifications to existing CDN (classic) resources will continue to be supported until the API reaches full retirement on `September 30, 2027`.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleProfile = new azure.cdn.Profile(\"example\", {\n    name: \"example-cdn\",\n    location: example.location,\n    resourceGroupName: example.name,\n    sku: \"Standard_Microsoft\",\n});\nconst exampleEndpoint = new azure.cdn.Endpoint(\"example\", {\n    name: \"example\",\n    profileName: exampleProfile.name,\n    location: example.location,\n    resourceGroupName: example.name,\n    origins: [{\n        name: \"example\",\n        hostName: \"www.contoso.com\",\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_profile = azure.cdn.Profile(\"example\",\n    name=\"example-cdn\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku=\"Standard_Microsoft\")\nexample_endpoint = azure.cdn.Endpoint(\"example\",\n    name=\"example\",\n    profile_name=example_profile.name,\n    location=example.location,\n    resource_group_name=example.name,\n    origins=[{\n        \"name\": \"example\",\n        \"host_name\": \"www.contoso.com\",\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleProfile = new Azure.Cdn.Profile(\"example\", new()\n    {\n        Name = \"example-cdn\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Sku = \"Standard_Microsoft\",\n    });\n\n    var exampleEndpoint = new Azure.Cdn.Endpoint(\"example\", new()\n    {\n        Name = \"example\",\n        ProfileName = exampleProfile.Name,\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Origins = new[]\n        {\n            new Azure.Cdn.Inputs.EndpointOriginArgs\n            {\n                Name = \"example\",\n                HostName = \"www.contoso.com\",\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/cdn\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleProfile, err := cdn.NewProfile(ctx, \"example\", \u0026cdn.ProfileArgs{\n\t\t\tName:              pulumi.String(\"example-cdn\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSku:               pulumi.String(\"Standard_Microsoft\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cdn.NewEndpoint(ctx, \"example\", \u0026cdn.EndpointArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tProfileName:       exampleProfile.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tOrigins: cdn.EndpointOriginArray{\n\t\t\t\t\u0026cdn.EndpointOriginArgs{\n\t\t\t\t\tName:     pulumi.String(\"example\"),\n\t\t\t\t\tHostName: pulumi.String(\"www.contoso.com\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.cdn.Profile;\nimport com.pulumi.azure.cdn.ProfileArgs;\nimport com.pulumi.azure.cdn.Endpoint;\nimport com.pulumi.azure.cdn.EndpointArgs;\nimport com.pulumi.azure.cdn.inputs.EndpointOriginArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleProfile = new Profile(\"exampleProfile\", ProfileArgs.builder()\n            .name(\"example-cdn\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .sku(\"Standard_Microsoft\")\n            .build());\n\n        var exampleEndpoint = new Endpoint(\"exampleEndpoint\", EndpointArgs.builder()\n            .name(\"example\")\n            .profileName(exampleProfile.name())\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .origins(EndpointOriginArgs.builder()\n                .name(\"example\")\n                .hostName(\"www.contoso.com\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleProfile:\n    type: azure:cdn:Profile\n    name: example\n    properties:\n      name: example-cdn\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      sku: Standard_Microsoft\n  exampleEndpoint:\n    type: azure:cdn:Endpoint\n    name: example\n    properties:\n      name: example\n      profileName: ${exampleProfile.name}\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      origins:\n        - name: example\n          hostName: www.contoso.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCDN Endpoints can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:cdn/endpoint:Endpoint example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Cdn/profiles/myprofile1/endpoints/myendpoint1\n```\n\n","properties":{"contentTypesToCompresses":{"type":"array","items":{"type":"string"},"description":"An array of strings that indicates a content types on which compression will be applied. The value for the elements should be MIME types.\n"},"deliveryRules":{"type":"array","items":{"$ref":"#/types/azure:cdn/EndpointDeliveryRule:EndpointDeliveryRule"},"description":"Rules for the rules engine. An endpoint can contain up until 4 of those rules that consist of conditions and actions. A \u003cspan pulumi-lang-nodejs=\"`deliveryRule`\" pulumi-lang-dotnet=\"`DeliveryRule`\" pulumi-lang-go=\"`deliveryRule`\" pulumi-lang-python=\"`delivery_rule`\" pulumi-lang-yaml=\"`deliveryRule`\" pulumi-lang-java=\"`deliveryRule`\"\u003e`delivery_rule`\u003c/span\u003e blocks as defined below.\n"},"fqdn":{"type":"string","description":"The Fully Qualified Domain Name of the CDN Endpoint.\n"},"geoFilters":{"type":"array","items":{"$ref":"#/types/azure:cdn/EndpointGeoFilter:EndpointGeoFilter"},"description":"A set of Geo Filters for this CDN Endpoint. Each \u003cspan pulumi-lang-nodejs=\"`geoFilter`\" pulumi-lang-dotnet=\"`GeoFilter`\" pulumi-lang-go=\"`geoFilter`\" pulumi-lang-python=\"`geo_filter`\" pulumi-lang-yaml=\"`geoFilter`\" pulumi-lang-java=\"`geoFilter`\"\u003e`geo_filter`\u003c/span\u003e block supports fields documented below.\n"},"globalDeliveryRule":{"$ref":"#/types/azure:cdn/EndpointGlobalDeliveryRule:EndpointGlobalDeliveryRule","description":"Actions that are valid for all resources regardless of any conditions. A \u003cspan pulumi-lang-nodejs=\"`globalDeliveryRule`\" pulumi-lang-dotnet=\"`GlobalDeliveryRule`\" pulumi-lang-go=\"`globalDeliveryRule`\" pulumi-lang-python=\"`global_delivery_rule`\" pulumi-lang-yaml=\"`globalDeliveryRule`\" pulumi-lang-java=\"`globalDeliveryRule`\"\u003e`global_delivery_rule`\u003c/span\u003e block as defined below.\n"},"isCompressionEnabled":{"type":"boolean","description":"Indicates whether compression is to be enabled.\n"},"isHttpAllowed":{"type":"boolean","description":"Specifies if http allowed. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"isHttpsAllowed":{"type":"boolean","description":"Specifies if https allowed. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"Specifies the name of the CDN Endpoint. Changing this forces a new resource to be created.\n"},"optimizationType":{"type":"string","description":"What types of optimization should this CDN Endpoint optimize for? Possible values include `DynamicSiteAcceleration`, `GeneralMediaStreaming`, `GeneralWebDelivery`, `LargeFileDownload` and `VideoOnDemandMediaStreaming`.\n"},"originHostHeader":{"type":"string","description":"The host header CDN provider will send along with content requests to origins.\n"},"originPath":{"type":"string","description":"The path used at for origin requests.\n"},"origins":{"type":"array","items":{"$ref":"#/types/azure:cdn/EndpointOrigin:EndpointOrigin"},"description":"The set of origins of the CDN endpoint. When multiple origins exist, the first origin will be used as primary and rest will be used as failover options. Each \u003cspan pulumi-lang-nodejs=\"`origin`\" pulumi-lang-dotnet=\"`Origin`\" pulumi-lang-go=\"`origin`\" pulumi-lang-python=\"`origin`\" pulumi-lang-yaml=\"`origin`\" pulumi-lang-java=\"`origin`\"\u003e`origin`\u003c/span\u003e block supports fields documented below. Changing this forces a new resource to be created.\n"},"probePath":{"type":"string","description":"the path to a file hosted on the origin which helps accelerate delivery of the dynamic content and calculate the most optimal routes for the CDN. This is relative to the \u003cspan pulumi-lang-nodejs=\"`originPath`\" pulumi-lang-dotnet=\"`OriginPath`\" pulumi-lang-go=\"`originPath`\" pulumi-lang-python=\"`origin_path`\" pulumi-lang-yaml=\"`originPath`\" pulumi-lang-java=\"`originPath`\"\u003e`origin_path`\u003c/span\u003e.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`globalDeliveryRule`\" pulumi-lang-dotnet=\"`GlobalDeliveryRule`\" pulumi-lang-go=\"`globalDeliveryRule`\" pulumi-lang-python=\"`global_delivery_rule`\" pulumi-lang-yaml=\"`globalDeliveryRule`\" pulumi-lang-java=\"`globalDeliveryRule`\"\u003e`global_delivery_rule`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`deliveryRule`\" pulumi-lang-dotnet=\"`DeliveryRule`\" pulumi-lang-go=\"`deliveryRule`\" pulumi-lang-python=\"`delivery_rule`\" pulumi-lang-yaml=\"`deliveryRule`\" pulumi-lang-java=\"`deliveryRule`\"\u003e`delivery_rule`\u003c/span\u003e are currently only available for `Microsoft_Standard` CDN profiles.\n"},"profileName":{"type":"string","description":"The CDN Profile to which to attach the CDN Endpoint. Changing this forces a new resource to be created.\n"},"querystringCachingBehaviour":{"type":"string","description":"Sets query string caching behavior. Allowed values are `IgnoreQueryString`, `BypassCaching` and `UseQueryString`. `NotSet` value can be used for `Premium Verizon` CDN profile. Defaults to `IgnoreQueryString`.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the CDN Endpoint. Changing this forces a new resource to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"required":["fqdn","location","name","origins","profileName","resourceGroupName"],"inputProperties":{"contentTypesToCompresses":{"type":"array","items":{"type":"string"},"description":"An array of strings that indicates a content types on which compression will be applied. The value for the elements should be MIME types.\n"},"deliveryRules":{"type":"array","items":{"$ref":"#/types/azure:cdn/EndpointDeliveryRule:EndpointDeliveryRule"},"description":"Rules for the rules engine. An endpoint can contain up until 4 of those rules that consist of conditions and actions. A \u003cspan pulumi-lang-nodejs=\"`deliveryRule`\" pulumi-lang-dotnet=\"`DeliveryRule`\" pulumi-lang-go=\"`deliveryRule`\" pulumi-lang-python=\"`delivery_rule`\" pulumi-lang-yaml=\"`deliveryRule`\" pulumi-lang-java=\"`deliveryRule`\"\u003e`delivery_rule`\u003c/span\u003e blocks as defined below.\n"},"geoFilters":{"type":"array","items":{"$ref":"#/types/azure:cdn/EndpointGeoFilter:EndpointGeoFilter"},"description":"A set of Geo Filters for this CDN Endpoint. Each \u003cspan pulumi-lang-nodejs=\"`geoFilter`\" pulumi-lang-dotnet=\"`GeoFilter`\" pulumi-lang-go=\"`geoFilter`\" pulumi-lang-python=\"`geo_filter`\" pulumi-lang-yaml=\"`geoFilter`\" pulumi-lang-java=\"`geoFilter`\"\u003e`geo_filter`\u003c/span\u003e block supports fields documented below.\n"},"globalDeliveryRule":{"$ref":"#/types/azure:cdn/EndpointGlobalDeliveryRule:EndpointGlobalDeliveryRule","description":"Actions that are valid for all resources regardless of any conditions. A \u003cspan pulumi-lang-nodejs=\"`globalDeliveryRule`\" pulumi-lang-dotnet=\"`GlobalDeliveryRule`\" pulumi-lang-go=\"`globalDeliveryRule`\" pulumi-lang-python=\"`global_delivery_rule`\" pulumi-lang-yaml=\"`globalDeliveryRule`\" pulumi-lang-java=\"`globalDeliveryRule`\"\u003e`global_delivery_rule`\u003c/span\u003e block as defined below.\n"},"isCompressionEnabled":{"type":"boolean","description":"Indicates whether compression is to be enabled.\n"},"isHttpAllowed":{"type":"boolean","description":"Specifies if http allowed. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"isHttpsAllowed":{"type":"boolean","description":"Specifies if https allowed. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the CDN Endpoint. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"optimizationType":{"type":"string","description":"What types of optimization should this CDN Endpoint optimize for? Possible values include `DynamicSiteAcceleration`, `GeneralMediaStreaming`, `GeneralWebDelivery`, `LargeFileDownload` and `VideoOnDemandMediaStreaming`.\n"},"originHostHeader":{"type":"string","description":"The host header CDN provider will send along with content requests to origins.\n"},"originPath":{"type":"string","description":"The path used at for origin requests.\n"},"origins":{"type":"array","items":{"$ref":"#/types/azure:cdn/EndpointOrigin:EndpointOrigin"},"description":"The set of origins of the CDN endpoint. When multiple origins exist, the first origin will be used as primary and rest will be used as failover options. Each \u003cspan pulumi-lang-nodejs=\"`origin`\" pulumi-lang-dotnet=\"`Origin`\" pulumi-lang-go=\"`origin`\" pulumi-lang-python=\"`origin`\" pulumi-lang-yaml=\"`origin`\" pulumi-lang-java=\"`origin`\"\u003e`origin`\u003c/span\u003e block supports fields documented below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"probePath":{"type":"string","description":"the path to a file hosted on the origin which helps accelerate delivery of the dynamic content and calculate the most optimal routes for the CDN. This is relative to the \u003cspan pulumi-lang-nodejs=\"`originPath`\" pulumi-lang-dotnet=\"`OriginPath`\" pulumi-lang-go=\"`originPath`\" pulumi-lang-python=\"`origin_path`\" pulumi-lang-yaml=\"`originPath`\" pulumi-lang-java=\"`originPath`\"\u003e`origin_path`\u003c/span\u003e.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`globalDeliveryRule`\" pulumi-lang-dotnet=\"`GlobalDeliveryRule`\" pulumi-lang-go=\"`globalDeliveryRule`\" pulumi-lang-python=\"`global_delivery_rule`\" pulumi-lang-yaml=\"`globalDeliveryRule`\" pulumi-lang-java=\"`globalDeliveryRule`\"\u003e`global_delivery_rule`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`deliveryRule`\" pulumi-lang-dotnet=\"`DeliveryRule`\" pulumi-lang-go=\"`deliveryRule`\" pulumi-lang-python=\"`delivery_rule`\" pulumi-lang-yaml=\"`deliveryRule`\" pulumi-lang-java=\"`deliveryRule`\"\u003e`delivery_rule`\u003c/span\u003e are currently only available for `Microsoft_Standard` CDN profiles.\n"},"profileName":{"type":"string","description":"The CDN Profile to which to attach the CDN Endpoint. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"querystringCachingBehaviour":{"type":"string","description":"Sets query string caching behavior. Allowed values are `IgnoreQueryString`, `BypassCaching` and `UseQueryString`. `NotSet` value can be used for `Premium Verizon` CDN profile. Defaults to `IgnoreQueryString`.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the CDN Endpoint. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"requiredInputs":["origins","profileName","resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering Endpoint resources.\n","properties":{"contentTypesToCompresses":{"type":"array","items":{"type":"string"},"description":"An array of strings that indicates a content types on which compression will be applied. The value for the elements should be MIME types.\n"},"deliveryRules":{"type":"array","items":{"$ref":"#/types/azure:cdn/EndpointDeliveryRule:EndpointDeliveryRule"},"description":"Rules for the rules engine. An endpoint can contain up until 4 of those rules that consist of conditions and actions. A \u003cspan pulumi-lang-nodejs=\"`deliveryRule`\" pulumi-lang-dotnet=\"`DeliveryRule`\" pulumi-lang-go=\"`deliveryRule`\" pulumi-lang-python=\"`delivery_rule`\" pulumi-lang-yaml=\"`deliveryRule`\" pulumi-lang-java=\"`deliveryRule`\"\u003e`delivery_rule`\u003c/span\u003e blocks as defined below.\n"},"fqdn":{"type":"string","description":"The Fully Qualified Domain Name of the CDN Endpoint.\n"},"geoFilters":{"type":"array","items":{"$ref":"#/types/azure:cdn/EndpointGeoFilter:EndpointGeoFilter"},"description":"A set of Geo Filters for this CDN Endpoint. Each \u003cspan pulumi-lang-nodejs=\"`geoFilter`\" pulumi-lang-dotnet=\"`GeoFilter`\" pulumi-lang-go=\"`geoFilter`\" pulumi-lang-python=\"`geo_filter`\" pulumi-lang-yaml=\"`geoFilter`\" pulumi-lang-java=\"`geoFilter`\"\u003e`geo_filter`\u003c/span\u003e block supports fields documented below.\n"},"globalDeliveryRule":{"$ref":"#/types/azure:cdn/EndpointGlobalDeliveryRule:EndpointGlobalDeliveryRule","description":"Actions that are valid for all resources regardless of any conditions. A \u003cspan pulumi-lang-nodejs=\"`globalDeliveryRule`\" pulumi-lang-dotnet=\"`GlobalDeliveryRule`\" pulumi-lang-go=\"`globalDeliveryRule`\" pulumi-lang-python=\"`global_delivery_rule`\" pulumi-lang-yaml=\"`globalDeliveryRule`\" pulumi-lang-java=\"`globalDeliveryRule`\"\u003e`global_delivery_rule`\u003c/span\u003e block as defined below.\n"},"isCompressionEnabled":{"type":"boolean","description":"Indicates whether compression is to be enabled.\n"},"isHttpAllowed":{"type":"boolean","description":"Specifies if http allowed. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"isHttpsAllowed":{"type":"boolean","description":"Specifies if https allowed. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the CDN Endpoint. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"optimizationType":{"type":"string","description":"What types of optimization should this CDN Endpoint optimize for? Possible values include `DynamicSiteAcceleration`, `GeneralMediaStreaming`, `GeneralWebDelivery`, `LargeFileDownload` and `VideoOnDemandMediaStreaming`.\n"},"originHostHeader":{"type":"string","description":"The host header CDN provider will send along with content requests to origins.\n"},"originPath":{"type":"string","description":"The path used at for origin requests.\n"},"origins":{"type":"array","items":{"$ref":"#/types/azure:cdn/EndpointOrigin:EndpointOrigin"},"description":"The set of origins of the CDN endpoint. When multiple origins exist, the first origin will be used as primary and rest will be used as failover options. Each \u003cspan pulumi-lang-nodejs=\"`origin`\" pulumi-lang-dotnet=\"`Origin`\" pulumi-lang-go=\"`origin`\" pulumi-lang-python=\"`origin`\" pulumi-lang-yaml=\"`origin`\" pulumi-lang-java=\"`origin`\"\u003e`origin`\u003c/span\u003e block supports fields documented below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"probePath":{"type":"string","description":"the path to a file hosted on the origin which helps accelerate delivery of the dynamic content and calculate the most optimal routes for the CDN. This is relative to the \u003cspan pulumi-lang-nodejs=\"`originPath`\" pulumi-lang-dotnet=\"`OriginPath`\" pulumi-lang-go=\"`originPath`\" pulumi-lang-python=\"`origin_path`\" pulumi-lang-yaml=\"`originPath`\" pulumi-lang-java=\"`originPath`\"\u003e`origin_path`\u003c/span\u003e.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`globalDeliveryRule`\" pulumi-lang-dotnet=\"`GlobalDeliveryRule`\" pulumi-lang-go=\"`globalDeliveryRule`\" pulumi-lang-python=\"`global_delivery_rule`\" pulumi-lang-yaml=\"`globalDeliveryRule`\" pulumi-lang-java=\"`globalDeliveryRule`\"\u003e`global_delivery_rule`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`deliveryRule`\" pulumi-lang-dotnet=\"`DeliveryRule`\" pulumi-lang-go=\"`deliveryRule`\" pulumi-lang-python=\"`delivery_rule`\" pulumi-lang-yaml=\"`deliveryRule`\" pulumi-lang-java=\"`deliveryRule`\"\u003e`delivery_rule`\u003c/span\u003e are currently only available for `Microsoft_Standard` CDN profiles.\n"},"profileName":{"type":"string","description":"The CDN Profile to which to attach the CDN Endpoint. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"querystringCachingBehaviour":{"type":"string","description":"Sets query string caching behavior. Allowed values are `IgnoreQueryString`, `BypassCaching` and `UseQueryString`. `NotSet` value can be used for `Premium Verizon` CDN profile. Defaults to `IgnoreQueryString`.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the CDN Endpoint. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"type":"object"}},"azure:cdn/endpointCustomDomain:EndpointCustomDomain":{"description":"Manages a Custom Domain for a CDN (classic) Endpoint.\n\n!\u003e **Note:** Support for the CDN (classic) \u003cspan pulumi-lang-nodejs=\"`sku`\" pulumi-lang-dotnet=\"`Sku`\" pulumi-lang-go=\"`sku`\" pulumi-lang-python=\"`sku`\" pulumi-lang-yaml=\"`sku`\" pulumi-lang-java=\"`sku`\"\u003e`sku`\u003c/span\u003e `Standard_Akamai` was deprecated from Azure on `October 31, 2023` and is no longer available.\n\n!\u003e **Note:** Support for the CDN (classic) \u003cspan pulumi-lang-nodejs=\"`sku`\" pulumi-lang-dotnet=\"`Sku`\" pulumi-lang-go=\"`sku`\" pulumi-lang-python=\"`sku`\" pulumi-lang-yaml=\"`sku`\" pulumi-lang-java=\"`sku`\"\u003e`sku`\u003c/span\u003e values `Standard_Verizon` and `Premium_Verizon` were deprecated from Azure on `January 15, 2025` and are no longer available.\n\n!\u003e **Note:** Support for the CDN (classic) \u003cspan pulumi-lang-nodejs=\"`sku`\" pulumi-lang-dotnet=\"`Sku`\" pulumi-lang-go=\"`sku`\" pulumi-lang-python=\"`sku`\" pulumi-lang-yaml=\"`sku`\" pulumi-lang-java=\"`sku`\"\u003e`sku`\u003c/span\u003e values `Standard_Microsoft` and `Standard_ChinaCdn` will be deprecated from Azure on `October 1, 2025` and will no longer be available, however, modifications to existing CDN (classic) resources will continue to be supported until the API reaches full retirement on `September 30, 2027`.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-rg\",\n    location: \"west europe\",\n});\nconst exampleAccount = new azure.storage.Account(\"example\", {\n    name: \"example\",\n    resourceGroupName: exampleResourceGroup.name,\n    location: exampleResourceGroup.location,\n    accountTier: \"Standard\",\n    accountReplicationType: \"GRS\",\n});\nconst exampleProfile = new azure.cdn.Profile(\"example\", {\n    name: \"example-profile\",\n    location: exampleResourceGroup.location,\n    resourceGroupName: exampleResourceGroup.name,\n    sku: \"Standard_Microsoft\",\n});\nconst exampleEndpoint = new azure.cdn.Endpoint(\"example\", {\n    name: \"example-endpoint\",\n    profileName: exampleProfile.name,\n    location: exampleResourceGroup.location,\n    resourceGroupName: exampleResourceGroup.name,\n    origins: [{\n        name: \"example\",\n        hostName: exampleAccount.primaryBlobHost,\n    }],\n});\nconst example = azure.dns.getZone({\n    name: \"example-domain.com\",\n    resourceGroupName: \"domain-rg\",\n});\nconst exampleCNameRecord = new azure.dns.CNameRecord(\"example\", {\n    name: \"example\",\n    zoneName: example.then(example =\u003e example.name),\n    resourceGroupName: example.then(example =\u003e example.resourceGroupName),\n    ttl: 3600,\n    targetResourceId: exampleEndpoint.id,\n});\nconst exampleEndpointCustomDomain = new azure.cdn.EndpointCustomDomain(\"example\", {\n    name: \"example-domain\",\n    cdnEndpointId: exampleEndpoint.id,\n    hostName: Promise.all([exampleCNameRecord.name, example]).then(([name, example]) =\u003e `${name}.${example.name}`),\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"example\",\n    name=\"example-rg\",\n    location=\"west europe\")\nexample_account = azure.storage.Account(\"example\",\n    name=\"example\",\n    resource_group_name=example_resource_group.name,\n    location=example_resource_group.location,\n    account_tier=\"Standard\",\n    account_replication_type=\"GRS\")\nexample_profile = azure.cdn.Profile(\"example\",\n    name=\"example-profile\",\n    location=example_resource_group.location,\n    resource_group_name=example_resource_group.name,\n    sku=\"Standard_Microsoft\")\nexample_endpoint = azure.cdn.Endpoint(\"example\",\n    name=\"example-endpoint\",\n    profile_name=example_profile.name,\n    location=example_resource_group.location,\n    resource_group_name=example_resource_group.name,\n    origins=[{\n        \"name\": \"example\",\n        \"host_name\": example_account.primary_blob_host,\n    }])\nexample = azure.dns.get_zone(name=\"example-domain.com\",\n    resource_group_name=\"domain-rg\")\nexample_c_name_record = azure.dns.CNameRecord(\"example\",\n    name=\"example\",\n    zone_name=example.name,\n    resource_group_name=example.resource_group_name,\n    ttl=3600,\n    target_resource_id=example_endpoint.id)\nexample_endpoint_custom_domain = azure.cdn.EndpointCustomDomain(\"example\",\n    name=\"example-domain\",\n    cdn_endpoint_id=example_endpoint.id,\n    host_name=example_c_name_record.name.apply(lambda name: f\"{name}.{example.name}\"))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleResourceGroup = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-rg\",\n        Location = \"west europe\",\n    });\n\n    var exampleAccount = new Azure.Storage.Account(\"example\", new()\n    {\n        Name = \"example\",\n        ResourceGroupName = exampleResourceGroup.Name,\n        Location = exampleResourceGroup.Location,\n        AccountTier = \"Standard\",\n        AccountReplicationType = \"GRS\",\n    });\n\n    var exampleProfile = new Azure.Cdn.Profile(\"example\", new()\n    {\n        Name = \"example-profile\",\n        Location = exampleResourceGroup.Location,\n        ResourceGroupName = exampleResourceGroup.Name,\n        Sku = \"Standard_Microsoft\",\n    });\n\n    var exampleEndpoint = new Azure.Cdn.Endpoint(\"example\", new()\n    {\n        Name = \"example-endpoint\",\n        ProfileName = exampleProfile.Name,\n        Location = exampleResourceGroup.Location,\n        ResourceGroupName = exampleResourceGroup.Name,\n        Origins = new[]\n        {\n            new Azure.Cdn.Inputs.EndpointOriginArgs\n            {\n                Name = \"example\",\n                HostName = exampleAccount.PrimaryBlobHost,\n            },\n        },\n    });\n\n    var example = Azure.Dns.GetZone.Invoke(new()\n    {\n        Name = \"example-domain.com\",\n        ResourceGroupName = \"domain-rg\",\n    });\n\n    var exampleCNameRecord = new Azure.Dns.CNameRecord(\"example\", new()\n    {\n        Name = \"example\",\n        ZoneName = example.Apply(getZoneResult =\u003e getZoneResult.Name),\n        ResourceGroupName = example.Apply(getZoneResult =\u003e getZoneResult.ResourceGroupName),\n        Ttl = 3600,\n        TargetResourceId = exampleEndpoint.Id,\n    });\n\n    var exampleEndpointCustomDomain = new Azure.Cdn.EndpointCustomDomain(\"example\", new()\n    {\n        Name = \"example-domain\",\n        CdnEndpointId = exampleEndpoint.Id,\n        HostName = Output.Tuple(exampleCNameRecord.Name, example).Apply(values =\u003e\n        {\n            var name = values.Item1;\n            var example = values.Item2;\n            return $\"{name}.{example.Apply(getZoneResult =\u003e getZoneResult.Name)}\";\n        }),\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/cdn\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/dns\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-rg\"),\n\t\t\tLocation: pulumi.String(\"west europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := storage.NewAccount(ctx, \"example\", \u0026storage.AccountArgs{\n\t\t\tName:                   pulumi.String(\"example\"),\n\t\t\tResourceGroupName:      exampleResourceGroup.Name,\n\t\t\tLocation:               exampleResourceGroup.Location,\n\t\t\tAccountTier:            pulumi.String(\"Standard\"),\n\t\t\tAccountReplicationType: pulumi.String(\"GRS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleProfile, err := cdn.NewProfile(ctx, \"example\", \u0026cdn.ProfileArgs{\n\t\t\tName:              pulumi.String(\"example-profile\"),\n\t\t\tLocation:          exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tSku:               pulumi.String(\"Standard_Microsoft\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleEndpoint, err := cdn.NewEndpoint(ctx, \"example\", \u0026cdn.EndpointArgs{\n\t\t\tName:              pulumi.String(\"example-endpoint\"),\n\t\t\tProfileName:       exampleProfile.Name,\n\t\t\tLocation:          exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tOrigins: cdn.EndpointOriginArray{\n\t\t\t\t\u0026cdn.EndpointOriginArgs{\n\t\t\t\t\tName:     pulumi.String(\"example\"),\n\t\t\t\t\tHostName: exampleAccount.PrimaryBlobHost,\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := dns.LookupZone(ctx, \u0026dns.LookupZoneArgs{\n\t\t\tName:              \"example-domain.com\",\n\t\t\tResourceGroupName: pulumi.StringRef(\"domain-rg\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleCNameRecord, err := dns.NewCNameRecord(ctx, \"example\", \u0026dns.CNameRecordArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tZoneName:          pulumi.String(example.Name),\n\t\t\tResourceGroupName: pulumi.String(example.ResourceGroupName),\n\t\t\tTtl:               pulumi.Int(3600),\n\t\t\tTargetResourceId:  exampleEndpoint.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cdn.NewEndpointCustomDomain(ctx, \"example\", \u0026cdn.EndpointCustomDomainArgs{\n\t\t\tName:          pulumi.String(\"example-domain\"),\n\t\t\tCdnEndpointId: exampleEndpoint.ID(),\n\t\t\tHostName: exampleCNameRecord.Name.ApplyT(func(name string) (string, error) {\n\t\t\t\treturn fmt.Sprintf(\"%v.%v\", name, example.Name), nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.storage.Account;\nimport com.pulumi.azure.storage.AccountArgs;\nimport com.pulumi.azure.cdn.Profile;\nimport com.pulumi.azure.cdn.ProfileArgs;\nimport com.pulumi.azure.cdn.Endpoint;\nimport com.pulumi.azure.cdn.EndpointArgs;\nimport com.pulumi.azure.cdn.inputs.EndpointOriginArgs;\nimport com.pulumi.azure.dns.DnsFunctions;\nimport com.pulumi.azure.dns.inputs.GetZoneArgs;\nimport com.pulumi.azure.dns.CNameRecord;\nimport com.pulumi.azure.dns.CNameRecordArgs;\nimport com.pulumi.azure.cdn.EndpointCustomDomain;\nimport com.pulumi.azure.cdn.EndpointCustomDomainArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var exampleResourceGroup = new ResourceGroup(\"exampleResourceGroup\", ResourceGroupArgs.builder()\n            .name(\"example-rg\")\n            .location(\"west europe\")\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"example\")\n            .resourceGroupName(exampleResourceGroup.name())\n            .location(exampleResourceGroup.location())\n            .accountTier(\"Standard\")\n            .accountReplicationType(\"GRS\")\n            .build());\n\n        var exampleProfile = new Profile(\"exampleProfile\", ProfileArgs.builder()\n            .name(\"example-profile\")\n            .location(exampleResourceGroup.location())\n            .resourceGroupName(exampleResourceGroup.name())\n            .sku(\"Standard_Microsoft\")\n            .build());\n\n        var exampleEndpoint = new Endpoint(\"exampleEndpoint\", EndpointArgs.builder()\n            .name(\"example-endpoint\")\n            .profileName(exampleProfile.name())\n            .location(exampleResourceGroup.location())\n            .resourceGroupName(exampleResourceGroup.name())\n            .origins(EndpointOriginArgs.builder()\n                .name(\"example\")\n                .hostName(exampleAccount.primaryBlobHost())\n                .build())\n            .build());\n\n        final var example = DnsFunctions.getZone(GetZoneArgs.builder()\n            .name(\"example-domain.com\")\n            .resourceGroupName(\"domain-rg\")\n            .build());\n\n        var exampleCNameRecord = new CNameRecord(\"exampleCNameRecord\", CNameRecordArgs.builder()\n            .name(\"example\")\n            .zoneName(example.name())\n            .resourceGroupName(example.resourceGroupName())\n            .ttl(3600)\n            .targetResourceId(exampleEndpoint.id())\n            .build());\n\n        var exampleEndpointCustomDomain = new EndpointCustomDomain(\"exampleEndpointCustomDomain\", EndpointCustomDomainArgs.builder()\n            .name(\"example-domain\")\n            .cdnEndpointId(exampleEndpoint.id())\n            .hostName(exampleCNameRecord.name().applyValue(_name -\u003e String.format(\"%s.%s\", _name,example.name())))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleResourceGroup:\n    type: azure:core:ResourceGroup\n    name: example\n    properties:\n      name: example-rg\n      location: west europe\n  exampleAccount:\n    type: azure:storage:Account\n    name: example\n    properties:\n      name: example\n      resourceGroupName: ${exampleResourceGroup.name}\n      location: ${exampleResourceGroup.location}\n      accountTier: Standard\n      accountReplicationType: GRS\n  exampleProfile:\n    type: azure:cdn:Profile\n    name: example\n    properties:\n      name: example-profile\n      location: ${exampleResourceGroup.location}\n      resourceGroupName: ${exampleResourceGroup.name}\n      sku: Standard_Microsoft\n  exampleEndpoint:\n    type: azure:cdn:Endpoint\n    name: example\n    properties:\n      name: example-endpoint\n      profileName: ${exampleProfile.name}\n      location: ${exampleResourceGroup.location}\n      resourceGroupName: ${exampleResourceGroup.name}\n      origins:\n        - name: example\n          hostName: ${exampleAccount.primaryBlobHost}\n  exampleCNameRecord:\n    type: azure:dns:CNameRecord\n    name: example\n    properties:\n      name: example\n      zoneName: ${example.name}\n      resourceGroupName: ${example.resourceGroupName}\n      ttl: 3600\n      targetResourceId: ${exampleEndpoint.id}\n  exampleEndpointCustomDomain:\n    type: azure:cdn:EndpointCustomDomain\n    name: example\n    properties:\n      name: example-domain\n      cdnEndpointId: ${exampleEndpoint.id}\n      hostName: ${exampleCNameRecord.name}.${example.name}\nvariables:\n  example:\n    fn::invoke:\n      function: azure:dns:getZone\n      arguments:\n        name: example-domain.com\n        resourceGroupName: domain-rg\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCDN Endpoint Custom Domains can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:cdn/endpointCustomDomain:EndpointCustomDomain example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/customDomains/domain1\n```\n\n","properties":{"cdnEndpointId":{"type":"string","description":"The ID of the CDN Endpoint. Changing this forces a new CDN Endpoint Custom Domain to be created.\n"},"cdnManagedHttps":{"$ref":"#/types/azure:cdn/EndpointCustomDomainCdnManagedHttps:EndpointCustomDomainCdnManagedHttps","description":"A \u003cspan pulumi-lang-nodejs=\"`cdnManagedHttps`\" pulumi-lang-dotnet=\"`CdnManagedHttps`\" pulumi-lang-go=\"`cdnManagedHttps`\" pulumi-lang-python=\"`cdn_managed_https`\" pulumi-lang-yaml=\"`cdnManagedHttps`\" pulumi-lang-java=\"`cdnManagedHttps`\"\u003e`cdn_managed_https`\u003c/span\u003e block as defined below.\n"},"hostName":{"type":"string","description":"The host name of the custom domain. Changing this forces a new CDN Endpoint Custom Domain to be created.\n"},"name":{"type":"string","description":"The name which should be used for this CDN Endpoint Custom Domain. Changing this forces a new CDN Endpoint Custom Domain to be created.\n"},"userManagedHttps":{"$ref":"#/types/azure:cdn/EndpointCustomDomainUserManagedHttps:EndpointCustomDomainUserManagedHttps","description":"A \u003cspan pulumi-lang-nodejs=\"`userManagedHttps`\" pulumi-lang-dotnet=\"`UserManagedHttps`\" pulumi-lang-go=\"`userManagedHttps`\" pulumi-lang-python=\"`user_managed_https`\" pulumi-lang-yaml=\"`userManagedHttps`\" pulumi-lang-java=\"`userManagedHttps`\"\u003e`user_managed_https`\u003c/span\u003e block as defined below.\n\n\u003e **Note:** Only one of \u003cspan pulumi-lang-nodejs=\"`cdnManagedHttps`\" pulumi-lang-dotnet=\"`CdnManagedHttps`\" pulumi-lang-go=\"`cdnManagedHttps`\" pulumi-lang-python=\"`cdn_managed_https`\" pulumi-lang-yaml=\"`cdnManagedHttps`\" pulumi-lang-java=\"`cdnManagedHttps`\"\u003e`cdn_managed_https`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`userManagedHttps`\" pulumi-lang-dotnet=\"`UserManagedHttps`\" pulumi-lang-go=\"`userManagedHttps`\" pulumi-lang-python=\"`user_managed_https`\" pulumi-lang-yaml=\"`userManagedHttps`\" pulumi-lang-java=\"`userManagedHttps`\"\u003e`user_managed_https`\u003c/span\u003e can be specified.\n"}},"required":["cdnEndpointId","hostName","name"],"inputProperties":{"cdnEndpointId":{"type":"string","description":"The ID of the CDN Endpoint. Changing this forces a new CDN Endpoint Custom Domain to be created.\n","willReplaceOnChanges":true},"cdnManagedHttps":{"$ref":"#/types/azure:cdn/EndpointCustomDomainCdnManagedHttps:EndpointCustomDomainCdnManagedHttps","description":"A \u003cspan pulumi-lang-nodejs=\"`cdnManagedHttps`\" pulumi-lang-dotnet=\"`CdnManagedHttps`\" pulumi-lang-go=\"`cdnManagedHttps`\" pulumi-lang-python=\"`cdn_managed_https`\" pulumi-lang-yaml=\"`cdnManagedHttps`\" pulumi-lang-java=\"`cdnManagedHttps`\"\u003e`cdn_managed_https`\u003c/span\u003e block as defined below.\n"},"hostName":{"type":"string","description":"The host name of the custom domain. Changing this forces a new CDN Endpoint Custom Domain to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this CDN Endpoint Custom Domain. Changing this forces a new CDN Endpoint Custom Domain to be created.\n","willReplaceOnChanges":true},"userManagedHttps":{"$ref":"#/types/azure:cdn/EndpointCustomDomainUserManagedHttps:EndpointCustomDomainUserManagedHttps","description":"A \u003cspan pulumi-lang-nodejs=\"`userManagedHttps`\" pulumi-lang-dotnet=\"`UserManagedHttps`\" pulumi-lang-go=\"`userManagedHttps`\" pulumi-lang-python=\"`user_managed_https`\" pulumi-lang-yaml=\"`userManagedHttps`\" pulumi-lang-java=\"`userManagedHttps`\"\u003e`user_managed_https`\u003c/span\u003e block as defined below.\n\n\u003e **Note:** Only one of \u003cspan pulumi-lang-nodejs=\"`cdnManagedHttps`\" pulumi-lang-dotnet=\"`CdnManagedHttps`\" pulumi-lang-go=\"`cdnManagedHttps`\" pulumi-lang-python=\"`cdn_managed_https`\" pulumi-lang-yaml=\"`cdnManagedHttps`\" pulumi-lang-java=\"`cdnManagedHttps`\"\u003e`cdn_managed_https`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`userManagedHttps`\" pulumi-lang-dotnet=\"`UserManagedHttps`\" pulumi-lang-go=\"`userManagedHttps`\" pulumi-lang-python=\"`user_managed_https`\" pulumi-lang-yaml=\"`userManagedHttps`\" pulumi-lang-java=\"`userManagedHttps`\"\u003e`user_managed_https`\u003c/span\u003e can be specified.\n"}},"requiredInputs":["cdnEndpointId","hostName"],"stateInputs":{"description":"Input properties used for looking up and filtering EndpointCustomDomain resources.\n","properties":{"cdnEndpointId":{"type":"string","description":"The ID of the CDN Endpoint. Changing this forces a new CDN Endpoint Custom Domain to be created.\n","willReplaceOnChanges":true},"cdnManagedHttps":{"$ref":"#/types/azure:cdn/EndpointCustomDomainCdnManagedHttps:EndpointCustomDomainCdnManagedHttps","description":"A \u003cspan pulumi-lang-nodejs=\"`cdnManagedHttps`\" pulumi-lang-dotnet=\"`CdnManagedHttps`\" pulumi-lang-go=\"`cdnManagedHttps`\" pulumi-lang-python=\"`cdn_managed_https`\" pulumi-lang-yaml=\"`cdnManagedHttps`\" pulumi-lang-java=\"`cdnManagedHttps`\"\u003e`cdn_managed_https`\u003c/span\u003e block as defined below.\n"},"hostName":{"type":"string","description":"The host name of the custom domain. Changing this forces a new CDN Endpoint Custom Domain to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this CDN Endpoint Custom Domain. Changing this forces a new CDN Endpoint Custom Domain to be created.\n","willReplaceOnChanges":true},"userManagedHttps":{"$ref":"#/types/azure:cdn/EndpointCustomDomainUserManagedHttps:EndpointCustomDomainUserManagedHttps","description":"A \u003cspan pulumi-lang-nodejs=\"`userManagedHttps`\" pulumi-lang-dotnet=\"`UserManagedHttps`\" pulumi-lang-go=\"`userManagedHttps`\" pulumi-lang-python=\"`user_managed_https`\" pulumi-lang-yaml=\"`userManagedHttps`\" pulumi-lang-java=\"`userManagedHttps`\"\u003e`user_managed_https`\u003c/span\u003e block as defined below.\n\n\u003e **Note:** Only one of \u003cspan pulumi-lang-nodejs=\"`cdnManagedHttps`\" pulumi-lang-dotnet=\"`CdnManagedHttps`\" pulumi-lang-go=\"`cdnManagedHttps`\" pulumi-lang-python=\"`cdn_managed_https`\" pulumi-lang-yaml=\"`cdnManagedHttps`\" pulumi-lang-java=\"`cdnManagedHttps`\"\u003e`cdn_managed_https`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`userManagedHttps`\" pulumi-lang-dotnet=\"`UserManagedHttps`\" pulumi-lang-go=\"`userManagedHttps`\" pulumi-lang-python=\"`user_managed_https`\" pulumi-lang-yaml=\"`userManagedHttps`\" pulumi-lang-java=\"`userManagedHttps`\"\u003e`user_managed_https`\u003c/span\u003e can be specified.\n"}},"type":"object"}},"azure:cdn/frontdoorCustomDomain:FrontdoorCustomDomain":{"description":"Manages a Front Door (standard/premium) Custom Domain.\n\n!\u003e **Note:** If you are using Terraform to manage your DNS Auth and DNS CNAME records for your Custom Domain you will need to add configuration blocks for both the \u003cspan pulumi-lang-nodejs=\"`azure.dns.TxtRecord`\" pulumi-lang-dotnet=\"`azure.dns.TxtRecord`\" pulumi-lang-go=\"`dns.TxtRecord`\" pulumi-lang-python=\"`dns.TxtRecord`\" pulumi-lang-yaml=\"`azure.dns.TxtRecord`\" pulumi-lang-java=\"`azure.dns.TxtRecord`\"\u003e`azure.dns.TxtRecord`\u003c/span\u003e(see the `Example DNS Auth TXT Record Usage` below) and the \u003cspan pulumi-lang-nodejs=\"`azure.dns.CNameRecord`\" pulumi-lang-dotnet=\"`azure.dns.CNameRecord`\" pulumi-lang-go=\"`dns.CNameRecord`\" pulumi-lang-python=\"`dns.CNameRecord`\" pulumi-lang-yaml=\"`azure.dns.CNameRecord`\" pulumi-lang-java=\"`azure.dns.CNameRecord`\"\u003e`azure.dns.CNameRecord`\u003c/span\u003e(see the `Example CNAME Record Usage` below) to your configuration file.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-cdn-frontdoor\",\n    location: \"West Europe\",\n});\nconst exampleZone = new azure.dns.Zone(\"example\", {\n    name: \"sub-domain.domain.com\",\n    resourceGroupName: example.name,\n});\nconst exampleFrontdoorProfile = new azure.cdn.FrontdoorProfile(\"example\", {\n    name: \"example-profile\",\n    resourceGroupName: example.name,\n    skuName: \"Standard_AzureFrontDoor\",\n});\nconst exampleFrontdoorCustomDomain = new azure.cdn.FrontdoorCustomDomain(\"example\", {\n    name: \"example-customDomain\",\n    cdnFrontdoorProfileId: exampleFrontdoorProfile.id,\n    dnsZoneId: exampleZone.id,\n    hostName: \"contoso.fabrikam.com\",\n    tls: {\n        certificateType: \"ManagedCertificate\",\n        minimumTlsVersion: \"TLS12\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-cdn-frontdoor\",\n    location=\"West Europe\")\nexample_zone = azure.dns.Zone(\"example\",\n    name=\"sub-domain.domain.com\",\n    resource_group_name=example.name)\nexample_frontdoor_profile = azure.cdn.FrontdoorProfile(\"example\",\n    name=\"example-profile\",\n    resource_group_name=example.name,\n    sku_name=\"Standard_AzureFrontDoor\")\nexample_frontdoor_custom_domain = azure.cdn.FrontdoorCustomDomain(\"example\",\n    name=\"example-customDomain\",\n    cdn_frontdoor_profile_id=example_frontdoor_profile.id,\n    dns_zone_id=example_zone.id,\n    host_name=\"contoso.fabrikam.com\",\n    tls={\n        \"certificate_type\": \"ManagedCertificate\",\n        \"minimum_tls_version\": \"TLS12\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-cdn-frontdoor\",\n        Location = \"West Europe\",\n    });\n\n    var exampleZone = new Azure.Dns.Zone(\"example\", new()\n    {\n        Name = \"sub-domain.domain.com\",\n        ResourceGroupName = example.Name,\n    });\n\n    var exampleFrontdoorProfile = new Azure.Cdn.FrontdoorProfile(\"example\", new()\n    {\n        Name = \"example-profile\",\n        ResourceGroupName = example.Name,\n        SkuName = \"Standard_AzureFrontDoor\",\n    });\n\n    var exampleFrontdoorCustomDomain = new Azure.Cdn.FrontdoorCustomDomain(\"example\", new()\n    {\n        Name = \"example-customDomain\",\n        CdnFrontdoorProfileId = exampleFrontdoorProfile.Id,\n        DnsZoneId = exampleZone.Id,\n        HostName = \"contoso.fabrikam.com\",\n        Tls = new Azure.Cdn.Inputs.FrontdoorCustomDomainTlsArgs\n        {\n            CertificateType = \"ManagedCertificate\",\n            MinimumTlsVersion = \"TLS12\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/cdn\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/dns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-cdn-frontdoor\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleZone, err := dns.NewZone(ctx, \"example\", \u0026dns.ZoneArgs{\n\t\t\tName:              pulumi.String(\"sub-domain.domain.com\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleFrontdoorProfile, err := cdn.NewFrontdoorProfile(ctx, \"example\", \u0026cdn.FrontdoorProfileArgs{\n\t\t\tName:              pulumi.String(\"example-profile\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSkuName:           pulumi.String(\"Standard_AzureFrontDoor\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cdn.NewFrontdoorCustomDomain(ctx, \"example\", \u0026cdn.FrontdoorCustomDomainArgs{\n\t\t\tName:                  pulumi.String(\"example-customDomain\"),\n\t\t\tCdnFrontdoorProfileId: exampleFrontdoorProfile.ID(),\n\t\t\tDnsZoneId:             exampleZone.ID(),\n\t\t\tHostName:              pulumi.String(\"contoso.fabrikam.com\"),\n\t\t\tTls: \u0026cdn.FrontdoorCustomDomainTlsArgs{\n\t\t\t\tCertificateType:   pulumi.String(\"ManagedCertificate\"),\n\t\t\t\tMinimumTlsVersion: pulumi.String(\"TLS12\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.dns.Zone;\nimport com.pulumi.azure.dns.ZoneArgs;\nimport com.pulumi.azure.cdn.FrontdoorProfile;\nimport com.pulumi.azure.cdn.FrontdoorProfileArgs;\nimport com.pulumi.azure.cdn.FrontdoorCustomDomain;\nimport com.pulumi.azure.cdn.FrontdoorCustomDomainArgs;\nimport com.pulumi.azure.cdn.inputs.FrontdoorCustomDomainTlsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-cdn-frontdoor\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleZone = new Zone(\"exampleZone\", ZoneArgs.builder()\n            .name(\"sub-domain.domain.com\")\n            .resourceGroupName(example.name())\n            .build());\n\n        var exampleFrontdoorProfile = new FrontdoorProfile(\"exampleFrontdoorProfile\", FrontdoorProfileArgs.builder()\n            .name(\"example-profile\")\n            .resourceGroupName(example.name())\n            .skuName(\"Standard_AzureFrontDoor\")\n            .build());\n\n        var exampleFrontdoorCustomDomain = new FrontdoorCustomDomain(\"exampleFrontdoorCustomDomain\", FrontdoorCustomDomainArgs.builder()\n            .name(\"example-customDomain\")\n            .cdnFrontdoorProfileId(exampleFrontdoorProfile.id())\n            .dnsZoneId(exampleZone.id())\n            .hostName(\"contoso.fabrikam.com\")\n            .tls(FrontdoorCustomDomainTlsArgs.builder()\n                .certificateType(\"ManagedCertificate\")\n                .minimumTlsVersion(\"TLS12\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-cdn-frontdoor\n      location: West Europe\n  exampleZone:\n    type: azure:dns:Zone\n    name: example\n    properties:\n      name: sub-domain.domain.com\n      resourceGroupName: ${example.name}\n  exampleFrontdoorProfile:\n    type: azure:cdn:FrontdoorProfile\n    name: example\n    properties:\n      name: example-profile\n      resourceGroupName: ${example.name}\n      skuName: Standard_AzureFrontDoor\n  exampleFrontdoorCustomDomain:\n    type: azure:cdn:FrontdoorCustomDomain\n    name: example\n    properties:\n      name: example-customDomain\n      cdnFrontdoorProfileId: ${exampleFrontdoorProfile.id}\n      dnsZoneId: ${exampleZone.id}\n      hostName: contoso.fabrikam.com\n      tls:\n        certificateType: ManagedCertificate\n        minimumTlsVersion: TLS12\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Example DNS Auth TXT Record Usage\n\nThe name of your DNS TXT record should be in the format of `_dnsauth.\u003cyour_subdomain\u003e`. So, for example, if we use the \u003cspan pulumi-lang-nodejs=\"`hostName`\" pulumi-lang-dotnet=\"`HostName`\" pulumi-lang-go=\"`hostName`\" pulumi-lang-python=\"`host_name`\" pulumi-lang-yaml=\"`hostName`\" pulumi-lang-java=\"`hostName`\"\u003e`host_name`\u003c/span\u003e in the example usage above you would create a DNS TXT record with the name of `_dnsauth.contoso` which contains the value of the Front Door Custom Domains \u003cspan pulumi-lang-nodejs=\"`validationToken`\" pulumi-lang-dotnet=\"`ValidationToken`\" pulumi-lang-go=\"`validationToken`\" pulumi-lang-python=\"`validation_token`\" pulumi-lang-yaml=\"`validationToken`\" pulumi-lang-java=\"`validationToken`\"\u003e`validation_token`\u003c/span\u003e field. See the [product documentation](https://learn.microsoft.com/azure/frontdoor/standard-premium/how-to-add-custom-domain) for more information.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\nimport * as std from \"@pulumi/std\";\n\nconst example = new azure.dns.TxtRecord(\"example\", {\n    name: std.join({\n        separator: \".\",\n        input: [\n            \"_dnsauth\",\n            \"contoso\",\n        ],\n    }).then(invoke =\u003e invoke.result),\n    zoneName: exampleAzurermDnsZone.name,\n    resourceGroupName: exampleAzurermResourceGroup.name,\n    ttl: 3600,\n    records: [{\n        value: exampleAzurermCdnFrontdoorCustomDomain.validationToken,\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\nimport pulumi_std as std\n\nexample = azure.dns.TxtRecord(\"example\",\n    name=std.join(separator=\".\",\n        input=[\n            \"_dnsauth\",\n            \"contoso\",\n        ]).result,\n    zone_name=example_azurerm_dns_zone[\"name\"],\n    resource_group_name=example_azurerm_resource_group[\"name\"],\n    ttl=3600,\n    records=[{\n        \"value\": example_azurerm_cdn_frontdoor_custom_domain[\"validationToken\"],\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Dns.TxtRecord(\"example\", new()\n    {\n        Name = Std.Join.Invoke(new()\n        {\n            Separator = \".\",\n            Input = new[]\n            {\n                \"_dnsauth\",\n                \"contoso\",\n            },\n        }).Apply(invoke =\u003e invoke.Result),\n        ZoneName = exampleAzurermDnsZone.Name,\n        ResourceGroupName = exampleAzurermResourceGroup.Name,\n        Ttl = 3600,\n        Records = new[]\n        {\n            new Azure.Dns.Inputs.TxtRecordRecordArgs\n            {\n                Value = exampleAzurermCdnFrontdoorCustomDomain.ValidationToken,\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/dns\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinvokeJoin, err := std.Join(ctx, \u0026std.JoinArgs{\n\t\t\tSeparator: \".\",\n\t\t\tInput: []string{\n\t\t\t\t\"_dnsauth\",\n\t\t\t\t\"contoso\",\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = dns.NewTxtRecord(ctx, \"example\", \u0026dns.TxtRecordArgs{\n\t\t\tName:              pulumi.String(invokeJoin.Result),\n\t\t\tZoneName:          pulumi.Any(exampleAzurermDnsZone.Name),\n\t\t\tResourceGroupName: pulumi.Any(exampleAzurermResourceGroup.Name),\n\t\t\tTtl:               pulumi.Int(3600),\n\t\t\tRecords: dns.TxtRecordRecordArray{\n\t\t\t\t\u0026dns.TxtRecordRecordArgs{\n\t\t\t\t\tValue: pulumi.Any(exampleAzurermCdnFrontdoorCustomDomain.ValidationToken),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.dns.TxtRecord;\nimport com.pulumi.azure.dns.TxtRecordArgs;\nimport com.pulumi.azure.dns.inputs.TxtRecordRecordArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.JoinArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new TxtRecord(\"example\", TxtRecordArgs.builder()\n            .name(StdFunctions.join(JoinArgs.builder()\n                .separator(\".\")\n                .input(                \n                    \"_dnsauth\",\n                    \"contoso\")\n                .build()).result())\n            .zoneName(exampleAzurermDnsZone.name())\n            .resourceGroupName(exampleAzurermResourceGroup.name())\n            .ttl(3600)\n            .records(TxtRecordRecordArgs.builder()\n                .value(exampleAzurermCdnFrontdoorCustomDomain.validationToken())\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:dns:TxtRecord\n    properties:\n      name:\n        fn::invoke:\n          function: std:join\n          arguments:\n            separator: .\n            input:\n              - _dnsauth\n              - contoso\n          return: result\n      zoneName: ${exampleAzurermDnsZone.name}\n      resourceGroupName: ${exampleAzurermResourceGroup.name}\n      ttl: 3600\n      records:\n        - value: ${exampleAzurermCdnFrontdoorCustomDomain.validationToken}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Example CNAME Record Usage\n\n!\u003e **Note:** You **must** include the \u003cspan pulumi-lang-nodejs=\"`dependsOn`\" pulumi-lang-dotnet=\"`DependsOn`\" pulumi-lang-go=\"`dependsOn`\" pulumi-lang-python=\"`depends_on`\" pulumi-lang-yaml=\"`dependsOn`\" pulumi-lang-java=\"`dependsOn`\"\u003e`depends_on`\u003c/span\u003e meta-argument which references both the \u003cspan pulumi-lang-nodejs=\"`azure.cdn.FrontdoorRoute`\" pulumi-lang-dotnet=\"`azure.cdn.FrontdoorRoute`\" pulumi-lang-go=\"`cdn.FrontdoorRoute`\" pulumi-lang-python=\"`cdn.FrontdoorRoute`\" pulumi-lang-yaml=\"`azure.cdn.FrontdoorRoute`\" pulumi-lang-java=\"`azure.cdn.FrontdoorRoute`\"\u003e`azure.cdn.FrontdoorRoute`\u003c/span\u003e and the \u003cspan pulumi-lang-nodejs=\"`azure.cdn.FrontdoorSecurityPolicy`\" pulumi-lang-dotnet=\"`azure.cdn.FrontdoorSecurityPolicy`\" pulumi-lang-go=\"`cdn.FrontdoorSecurityPolicy`\" pulumi-lang-python=\"`cdn.FrontdoorSecurityPolicy`\" pulumi-lang-yaml=\"`azure.cdn.FrontdoorSecurityPolicy`\" pulumi-lang-java=\"`azure.cdn.FrontdoorSecurityPolicy`\"\u003e`azure.cdn.FrontdoorSecurityPolicy`\u003c/span\u003e that are associated with your Custom Domain. The reason for these \u003cspan pulumi-lang-nodejs=\"`dependsOn`\" pulumi-lang-dotnet=\"`DependsOn`\" pulumi-lang-go=\"`dependsOn`\" pulumi-lang-python=\"`depends_on`\" pulumi-lang-yaml=\"`dependsOn`\" pulumi-lang-java=\"`dependsOn`\"\u003e`depends_on`\u003c/span\u003e meta-arguments is because all of the resources for the Custom Domain need to be associated within Front Door before the CNAME record can be written to the domains DNS, else the CNAME validation will fail and Front Door will not enable traffic to the Domain.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.dns.CNameRecord(\"example\", {\n    name: \"contoso\",\n    zoneName: exampleAzurermDnsZone.name,\n    resourceGroupName: exampleAzurermResourceGroup.name,\n    ttl: 3600,\n    record: exampleAzurermCdnFrontdoorEndpoint.hostName,\n}, {\n    dependsOn: [\n        exampleAzurermCdnFrontdoorRoute,\n        exampleAzurermCdnFrontdoorSecurityPolicy,\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.dns.CNameRecord(\"example\",\n    name=\"contoso\",\n    zone_name=example_azurerm_dns_zone[\"name\"],\n    resource_group_name=example_azurerm_resource_group[\"name\"],\n    ttl=3600,\n    record=example_azurerm_cdn_frontdoor_endpoint[\"hostName\"],\n    opts = pulumi.ResourceOptions(depends_on=[\n            example_azurerm_cdn_frontdoor_route,\n            example_azurerm_cdn_frontdoor_security_policy,\n        ]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Dns.CNameRecord(\"example\", new()\n    {\n        Name = \"contoso\",\n        ZoneName = exampleAzurermDnsZone.Name,\n        ResourceGroupName = exampleAzurermResourceGroup.Name,\n        Ttl = 3600,\n        Record = exampleAzurermCdnFrontdoorEndpoint.HostName,\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            exampleAzurermCdnFrontdoorRoute,\n            exampleAzurermCdnFrontdoorSecurityPolicy,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/dns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := dns.NewCNameRecord(ctx, \"example\", \u0026dns.CNameRecordArgs{\n\t\t\tName:              pulumi.String(\"contoso\"),\n\t\t\tZoneName:          pulumi.Any(exampleAzurermDnsZone.Name),\n\t\t\tResourceGroupName: pulumi.Any(exampleAzurermResourceGroup.Name),\n\t\t\tTtl:               pulumi.Int(3600),\n\t\t\tRecord:            pulumi.Any(exampleAzurermCdnFrontdoorEndpoint.HostName),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleAzurermCdnFrontdoorRoute,\n\t\t\texampleAzurermCdnFrontdoorSecurityPolicy,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.dns.CNameRecord;\nimport com.pulumi.azure.dns.CNameRecordArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new CNameRecord(\"example\", CNameRecordArgs.builder()\n            .name(\"contoso\")\n            .zoneName(exampleAzurermDnsZone.name())\n            .resourceGroupName(exampleAzurermResourceGroup.name())\n            .ttl(3600)\n            .record(exampleAzurermCdnFrontdoorEndpoint.hostName())\n            .build(), CustomResourceOptions.builder()\n                .dependsOn(                \n                    exampleAzurermCdnFrontdoorRoute,\n                    exampleAzurermCdnFrontdoorSecurityPolicy)\n                .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:dns:CNameRecord\n    properties:\n      name: contoso\n      zoneName: ${exampleAzurermDnsZone.name}\n      resourceGroupName: ${exampleAzurermResourceGroup.name}\n      ttl: 3600\n      record: ${exampleAzurermCdnFrontdoorEndpoint.hostName}\n    options:\n      dependsOn:\n        - ${exampleAzurermCdnFrontdoorRoute}\n        - ${exampleAzurermCdnFrontdoorSecurityPolicy}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nFront Door Custom Domains can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:cdn/frontdoorCustomDomain:FrontdoorCustomDomain example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup1/providers/Microsoft.Cdn/profiles/profile1/customDomains/customDomain1\n```\n\n","properties":{"cdnFrontdoorProfileId":{"type":"string","description":"The ID of the Front Door Profile. Changing this forces a new Front Door Custom Domain to be created.\n"},"dnsZoneId":{"type":"string","description":"The ID of the Azure DNS Zone which should be used for this Front Door Custom Domain. If you are using Azure to host your [DNS domains](https://learn.microsoft.com/azure/dns/dns-overview), you must delegate the domain provider's domain name system (DNS) to an Azure DNS Zone. For more information, see [Delegate a domain to Azure DNS](https://learn.microsoft.com/azure/dns/dns-delegate-domain-azure-dns). Otherwise, if you're using your own domain provider to handle your DNS, you must validate the Front Door Custom Domain by creating the DNS TXT records manually.\n\n\u003c!-- * \u003cspan pulumi-lang-nodejs=\"`preValidatedCdnFrontdoorCustomDomainId`\" pulumi-lang-dotnet=\"`PreValidatedCdnFrontdoorCustomDomainId`\" pulumi-lang-go=\"`preValidatedCdnFrontdoorCustomDomainId`\" pulumi-lang-python=\"`pre_validated_cdn_frontdoor_custom_domain_id`\" pulumi-lang-yaml=\"`preValidatedCdnFrontdoorCustomDomainId`\" pulumi-lang-java=\"`preValidatedCdnFrontdoorCustomDomainId`\"\u003e`pre_validated_cdn_frontdoor_custom_domain_id`\u003c/span\u003e - (Optional) The resource ID of the pre-validated Front Door Custom Domain. This domain type is used when you wish to onboard a validated Azure service domain, and then configure the Azure service behind an Azure Front Door.\n\n\u003e **Note:** Currently \u003cspan pulumi-lang-nodejs=\"`preValidatedCdnFrontdoorCustomDomainId`\" pulumi-lang-dotnet=\"`PreValidatedCdnFrontdoorCustomDomainId`\" pulumi-lang-go=\"`preValidatedCdnFrontdoorCustomDomainId`\" pulumi-lang-python=\"`pre_validated_cdn_frontdoor_custom_domain_id`\" pulumi-lang-yaml=\"`preValidatedCdnFrontdoorCustomDomainId`\" pulumi-lang-java=\"`preValidatedCdnFrontdoorCustomDomainId`\"\u003e`pre_validated_cdn_frontdoor_custom_domain_id`\u003c/span\u003e only supports domains validated by Static Web App. --\u003e\n"},"expirationDate":{"type":"string","description":"The date time that the token expires.\n"},"hostName":{"type":"string","description":"The host name of the domain. The \u003cspan pulumi-lang-nodejs=\"`hostName`\" pulumi-lang-dotnet=\"`HostName`\" pulumi-lang-go=\"`hostName`\" pulumi-lang-python=\"`host_name`\" pulumi-lang-yaml=\"`hostName`\" pulumi-lang-java=\"`hostName`\"\u003e`host_name`\u003c/span\u003e field must be the FQDN of your domain(e.g. `contoso.fabrikam.com`). Changing this forces a new Front Door Custom Domain to be created.\n"},"name":{"type":"string","description":"The name which should be used for this Front Door Custom Domain. Possible values must be between 2 and 260 characters in length, must begin with a letter or number, end with a letter or number and contain only letters, numbers and hyphens. Changing this forces a new Front Door Custom Domain to be created.\n"},"tls":{"$ref":"#/types/azure:cdn/FrontdoorCustomDomainTls:FrontdoorCustomDomainTls","description":"A \u003cspan pulumi-lang-nodejs=\"`tls`\" pulumi-lang-dotnet=\"`Tls`\" pulumi-lang-go=\"`tls`\" pulumi-lang-python=\"`tls`\" pulumi-lang-yaml=\"`tls`\" pulumi-lang-java=\"`tls`\"\u003e`tls`\u003c/span\u003e block as defined below.\n"},"validationToken":{"type":"string","description":"Challenge used for DNS TXT record or file based validation.\n"}},"required":["cdnFrontdoorProfileId","expirationDate","hostName","name","tls","validationToken"],"inputProperties":{"cdnFrontdoorProfileId":{"type":"string","description":"The ID of the Front Door Profile. Changing this forces a new Front Door Custom Domain to be created.\n","willReplaceOnChanges":true},"dnsZoneId":{"type":"string","description":"The ID of the Azure DNS Zone which should be used for this Front Door Custom Domain. If you are using Azure to host your [DNS domains](https://learn.microsoft.com/azure/dns/dns-overview), you must delegate the domain provider's domain name system (DNS) to an Azure DNS Zone. For more information, see [Delegate a domain to Azure DNS](https://learn.microsoft.com/azure/dns/dns-delegate-domain-azure-dns). Otherwise, if you're using your own domain provider to handle your DNS, you must validate the Front Door Custom Domain by creating the DNS TXT records manually.\n\n\u003c!-- * \u003cspan pulumi-lang-nodejs=\"`preValidatedCdnFrontdoorCustomDomainId`\" pulumi-lang-dotnet=\"`PreValidatedCdnFrontdoorCustomDomainId`\" pulumi-lang-go=\"`preValidatedCdnFrontdoorCustomDomainId`\" pulumi-lang-python=\"`pre_validated_cdn_frontdoor_custom_domain_id`\" pulumi-lang-yaml=\"`preValidatedCdnFrontdoorCustomDomainId`\" pulumi-lang-java=\"`preValidatedCdnFrontdoorCustomDomainId`\"\u003e`pre_validated_cdn_frontdoor_custom_domain_id`\u003c/span\u003e - (Optional) The resource ID of the pre-validated Front Door Custom Domain. This domain type is used when you wish to onboard a validated Azure service domain, and then configure the Azure service behind an Azure Front Door.\n\n\u003e **Note:** Currently \u003cspan pulumi-lang-nodejs=\"`preValidatedCdnFrontdoorCustomDomainId`\" pulumi-lang-dotnet=\"`PreValidatedCdnFrontdoorCustomDomainId`\" pulumi-lang-go=\"`preValidatedCdnFrontdoorCustomDomainId`\" pulumi-lang-python=\"`pre_validated_cdn_frontdoor_custom_domain_id`\" pulumi-lang-yaml=\"`preValidatedCdnFrontdoorCustomDomainId`\" pulumi-lang-java=\"`preValidatedCdnFrontdoorCustomDomainId`\"\u003e`pre_validated_cdn_frontdoor_custom_domain_id`\u003c/span\u003e only supports domains validated by Static Web App. --\u003e\n"},"hostName":{"type":"string","description":"The host name of the domain. The \u003cspan pulumi-lang-nodejs=\"`hostName`\" pulumi-lang-dotnet=\"`HostName`\" pulumi-lang-go=\"`hostName`\" pulumi-lang-python=\"`host_name`\" pulumi-lang-yaml=\"`hostName`\" pulumi-lang-java=\"`hostName`\"\u003e`host_name`\u003c/span\u003e field must be the FQDN of your domain(e.g. `contoso.fabrikam.com`). Changing this forces a new Front Door Custom Domain to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Front Door Custom Domain. Possible values must be between 2 and 260 characters in length, must begin with a letter or number, end with a letter or number and contain only letters, numbers and hyphens. Changing this forces a new Front Door Custom Domain to be created.\n","willReplaceOnChanges":true},"tls":{"$ref":"#/types/azure:cdn/FrontdoorCustomDomainTls:FrontdoorCustomDomainTls","description":"A \u003cspan pulumi-lang-nodejs=\"`tls`\" pulumi-lang-dotnet=\"`Tls`\" pulumi-lang-go=\"`tls`\" pulumi-lang-python=\"`tls`\" pulumi-lang-yaml=\"`tls`\" pulumi-lang-java=\"`tls`\"\u003e`tls`\u003c/span\u003e block as defined below.\n"}},"requiredInputs":["cdnFrontdoorProfileId","hostName","tls"],"stateInputs":{"description":"Input properties used for looking up and filtering FrontdoorCustomDomain resources.\n","properties":{"cdnFrontdoorProfileId":{"type":"string","description":"The ID of the Front Door Profile. Changing this forces a new Front Door Custom Domain to be created.\n","willReplaceOnChanges":true},"dnsZoneId":{"type":"string","description":"The ID of the Azure DNS Zone which should be used for this Front Door Custom Domain. If you are using Azure to host your [DNS domains](https://learn.microsoft.com/azure/dns/dns-overview), you must delegate the domain provider's domain name system (DNS) to an Azure DNS Zone. For more information, see [Delegate a domain to Azure DNS](https://learn.microsoft.com/azure/dns/dns-delegate-domain-azure-dns). Otherwise, if you're using your own domain provider to handle your DNS, you must validate the Front Door Custom Domain by creating the DNS TXT records manually.\n\n\u003c!-- * \u003cspan pulumi-lang-nodejs=\"`preValidatedCdnFrontdoorCustomDomainId`\" pulumi-lang-dotnet=\"`PreValidatedCdnFrontdoorCustomDomainId`\" pulumi-lang-go=\"`preValidatedCdnFrontdoorCustomDomainId`\" pulumi-lang-python=\"`pre_validated_cdn_frontdoor_custom_domain_id`\" pulumi-lang-yaml=\"`preValidatedCdnFrontdoorCustomDomainId`\" pulumi-lang-java=\"`preValidatedCdnFrontdoorCustomDomainId`\"\u003e`pre_validated_cdn_frontdoor_custom_domain_id`\u003c/span\u003e - (Optional) The resource ID of the pre-validated Front Door Custom Domain. This domain type is used when you wish to onboard a validated Azure service domain, and then configure the Azure service behind an Azure Front Door.\n\n\u003e **Note:** Currently \u003cspan pulumi-lang-nodejs=\"`preValidatedCdnFrontdoorCustomDomainId`\" pulumi-lang-dotnet=\"`PreValidatedCdnFrontdoorCustomDomainId`\" pulumi-lang-go=\"`preValidatedCdnFrontdoorCustomDomainId`\" pulumi-lang-python=\"`pre_validated_cdn_frontdoor_custom_domain_id`\" pulumi-lang-yaml=\"`preValidatedCdnFrontdoorCustomDomainId`\" pulumi-lang-java=\"`preValidatedCdnFrontdoorCustomDomainId`\"\u003e`pre_validated_cdn_frontdoor_custom_domain_id`\u003c/span\u003e only supports domains validated by Static Web App. --\u003e\n"},"expirationDate":{"type":"string","description":"The date time that the token expires.\n"},"hostName":{"type":"string","description":"The host name of the domain. The \u003cspan pulumi-lang-nodejs=\"`hostName`\" pulumi-lang-dotnet=\"`HostName`\" pulumi-lang-go=\"`hostName`\" pulumi-lang-python=\"`host_name`\" pulumi-lang-yaml=\"`hostName`\" pulumi-lang-java=\"`hostName`\"\u003e`host_name`\u003c/span\u003e field must be the FQDN of your domain(e.g. `contoso.fabrikam.com`). Changing this forces a new Front Door Custom Domain to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Front Door Custom Domain. Possible values must be between 2 and 260 characters in length, must begin with a letter or number, end with a letter or number and contain only letters, numbers and hyphens. Changing this forces a new Front Door Custom Domain to be created.\n","willReplaceOnChanges":true},"tls":{"$ref":"#/types/azure:cdn/FrontdoorCustomDomainTls:FrontdoorCustomDomainTls","description":"A \u003cspan pulumi-lang-nodejs=\"`tls`\" pulumi-lang-dotnet=\"`Tls`\" pulumi-lang-go=\"`tls`\" pulumi-lang-python=\"`tls`\" pulumi-lang-yaml=\"`tls`\" pulumi-lang-java=\"`tls`\"\u003e`tls`\u003c/span\u003e block as defined below.\n"},"validationToken":{"type":"string","description":"Challenge used for DNS TXT record or file based validation.\n"}},"type":"object"},"aliases":[{"type":"azure:cdn/frontdoorCustomEndpoint:FrontdoorCustomEndpoint"}]},"azure:cdn/frontdoorCustomDomainAssociation:FrontdoorCustomDomainAssociation":{"description":"Manages the association between a Front Door (standard/premium) Custom Domain and one or more Front Door (standard/premium) Routes.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\nimport * as std from \"@pulumi/std\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-cdn-frontdoor\",\n    location: \"West Europe\",\n});\nconst exampleZone = new azure.dns.Zone(\"example\", {\n    name: \"domain.com\",\n    resourceGroupName: example.name,\n});\nconst exampleFrontdoorProfile = new azure.cdn.FrontdoorProfile(\"example\", {\n    name: \"example-profile\",\n    resourceGroupName: example.name,\n    skuName: \"Standard_AzureFrontDoor\",\n});\nconst exampleFrontdoorOriginGroup = new azure.cdn.FrontdoorOriginGroup(\"example\", {\n    name: \"example-origin-group\",\n    cdnFrontdoorProfileId: exampleFrontdoorProfile.id,\n    sessionAffinityEnabled: true,\n    restoreTrafficTimeToHealedOrNewEndpointInMinutes: 10,\n    healthProbe: {\n        intervalInSeconds: 240,\n        path: \"/healthProbe\",\n        protocol: \"Https\",\n        requestType: \"HEAD\",\n    },\n    loadBalancing: {\n        additionalLatencyInMilliseconds: 0,\n        sampleSize: 16,\n        successfulSamplesRequired: 3,\n    },\n});\nconst exampleFrontdoorOrigin = new azure.cdn.FrontdoorOrigin(\"example\", {\n    name: \"example-origin\",\n    cdnFrontdoorOriginGroupId: exampleFrontdoorOriginGroup.id,\n    enabled: true,\n    certificateNameCheckEnabled: false,\n    hostName: \"contoso.com\",\n    httpPort: 80,\n    httpsPort: 443,\n    originHostHeader: \"www.contoso.com\",\n    priority: 1,\n    weight: 1,\n});\nconst exampleFrontdoorEndpoint = new azure.cdn.FrontdoorEndpoint(\"example\", {\n    name: \"example-endpoint\",\n    cdnFrontdoorProfileId: exampleFrontdoorProfile.id,\n});\nconst exampleFrontdoorRuleSet = new azure.cdn.FrontdoorRuleSet(\"example\", {\n    name: \"ExampleRuleSet\",\n    cdnFrontdoorProfileId: exampleFrontdoorProfile.id,\n});\nconst exampleFrontdoorCustomDomain = new azure.cdn.FrontdoorCustomDomain(\"example\", {\n    name: \"example-customDomain\",\n    cdnFrontdoorProfileId: exampleFrontdoorProfile.id,\n    dnsZoneId: exampleZone.id,\n    hostName: std.joinOutput({\n        separator: \".\",\n        input: [\n            \"contoso\",\n            exampleZone.name,\n        ],\n    }).apply(invoke =\u003e invoke.result),\n    tls: {\n        certificateType: \"ManagedCertificate\",\n        minimumTlsVersion: \"TLS12\",\n    },\n});\nconst exampleFrontdoorRoute = new azure.cdn.FrontdoorRoute(\"example\", {\n    name: \"example-route\",\n    cdnFrontdoorEndpointId: exampleFrontdoorEndpoint.id,\n    cdnFrontdoorOriginGroupId: exampleFrontdoorOriginGroup.id,\n    cdnFrontdoorOriginIds: [exampleFrontdoorOrigin.id],\n    cdnFrontdoorRuleSetIds: [exampleFrontdoorRuleSet.id],\n    enabled: true,\n    forwardingProtocol: \"HttpsOnly\",\n    httpsRedirectEnabled: true,\n    patternsToMatches: [\"/*\"],\n    supportedProtocols: [\n        \"Http\",\n        \"Https\",\n    ],\n    cdnFrontdoorCustomDomainIds: [exampleFrontdoorCustomDomain.id],\n    linkToDefaultDomain: false,\n});\nconst exampleFrontdoorCustomDomainAssociation = new azure.cdn.FrontdoorCustomDomainAssociation(\"example\", {\n    cdnFrontdoorCustomDomainId: exampleFrontdoorCustomDomain.id,\n    cdnFrontdoorRouteIds: [exampleFrontdoorRoute.id],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\nimport pulumi_std as std\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-cdn-frontdoor\",\n    location=\"West Europe\")\nexample_zone = azure.dns.Zone(\"example\",\n    name=\"domain.com\",\n    resource_group_name=example.name)\nexample_frontdoor_profile = azure.cdn.FrontdoorProfile(\"example\",\n    name=\"example-profile\",\n    resource_group_name=example.name,\n    sku_name=\"Standard_AzureFrontDoor\")\nexample_frontdoor_origin_group = azure.cdn.FrontdoorOriginGroup(\"example\",\n    name=\"example-origin-group\",\n    cdn_frontdoor_profile_id=example_frontdoor_profile.id,\n    session_affinity_enabled=True,\n    restore_traffic_time_to_healed_or_new_endpoint_in_minutes=10,\n    health_probe={\n        \"interval_in_seconds\": 240,\n        \"path\": \"/healthProbe\",\n        \"protocol\": \"Https\",\n        \"request_type\": \"HEAD\",\n    },\n    load_balancing={\n        \"additional_latency_in_milliseconds\": 0,\n        \"sample_size\": 16,\n        \"successful_samples_required\": 3,\n    })\nexample_frontdoor_origin = azure.cdn.FrontdoorOrigin(\"example\",\n    name=\"example-origin\",\n    cdn_frontdoor_origin_group_id=example_frontdoor_origin_group.id,\n    enabled=True,\n    certificate_name_check_enabled=False,\n    host_name=\"contoso.com\",\n    http_port=80,\n    https_port=443,\n    origin_host_header=\"www.contoso.com\",\n    priority=1,\n    weight=1)\nexample_frontdoor_endpoint = azure.cdn.FrontdoorEndpoint(\"example\",\n    name=\"example-endpoint\",\n    cdn_frontdoor_profile_id=example_frontdoor_profile.id)\nexample_frontdoor_rule_set = azure.cdn.FrontdoorRuleSet(\"example\",\n    name=\"ExampleRuleSet\",\n    cdn_frontdoor_profile_id=example_frontdoor_profile.id)\nexample_frontdoor_custom_domain = azure.cdn.FrontdoorCustomDomain(\"example\",\n    name=\"example-customDomain\",\n    cdn_frontdoor_profile_id=example_frontdoor_profile.id,\n    dns_zone_id=example_zone.id,\n    host_name=std.join_output(separator=\".\",\n        input=[\n            \"contoso\",\n            example_zone.name,\n        ]).apply(lambda invoke: invoke.result),\n    tls={\n        \"certificate_type\": \"ManagedCertificate\",\n        \"minimum_tls_version\": \"TLS12\",\n    })\nexample_frontdoor_route = azure.cdn.FrontdoorRoute(\"example\",\n    name=\"example-route\",\n    cdn_frontdoor_endpoint_id=example_frontdoor_endpoint.id,\n    cdn_frontdoor_origin_group_id=example_frontdoor_origin_group.id,\n    cdn_frontdoor_origin_ids=[example_frontdoor_origin.id],\n    cdn_frontdoor_rule_set_ids=[example_frontdoor_rule_set.id],\n    enabled=True,\n    forwarding_protocol=\"HttpsOnly\",\n    https_redirect_enabled=True,\n    patterns_to_matches=[\"/*\"],\n    supported_protocols=[\n        \"Http\",\n        \"Https\",\n    ],\n    cdn_frontdoor_custom_domain_ids=[example_frontdoor_custom_domain.id],\n    link_to_default_domain=False)\nexample_frontdoor_custom_domain_association = azure.cdn.FrontdoorCustomDomainAssociation(\"example\",\n    cdn_frontdoor_custom_domain_id=example_frontdoor_custom_domain.id,\n    cdn_frontdoor_route_ids=[example_frontdoor_route.id])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-cdn-frontdoor\",\n        Location = \"West Europe\",\n    });\n\n    var exampleZone = new Azure.Dns.Zone(\"example\", new()\n    {\n        Name = \"domain.com\",\n        ResourceGroupName = example.Name,\n    });\n\n    var exampleFrontdoorProfile = new Azure.Cdn.FrontdoorProfile(\"example\", new()\n    {\n        Name = \"example-profile\",\n        ResourceGroupName = example.Name,\n        SkuName = \"Standard_AzureFrontDoor\",\n    });\n\n    var exampleFrontdoorOriginGroup = new Azure.Cdn.FrontdoorOriginGroup(\"example\", new()\n    {\n        Name = \"example-origin-group\",\n        CdnFrontdoorProfileId = exampleFrontdoorProfile.Id,\n        SessionAffinityEnabled = true,\n        RestoreTrafficTimeToHealedOrNewEndpointInMinutes = 10,\n        HealthProbe = new Azure.Cdn.Inputs.FrontdoorOriginGroupHealthProbeArgs\n        {\n            IntervalInSeconds = 240,\n            Path = \"/healthProbe\",\n            Protocol = \"Https\",\n            RequestType = \"HEAD\",\n        },\n        LoadBalancing = new Azure.Cdn.Inputs.FrontdoorOriginGroupLoadBalancingArgs\n        {\n            AdditionalLatencyInMilliseconds = 0,\n            SampleSize = 16,\n            SuccessfulSamplesRequired = 3,\n        },\n    });\n\n    var exampleFrontdoorOrigin = new Azure.Cdn.FrontdoorOrigin(\"example\", new()\n    {\n        Name = \"example-origin\",\n        CdnFrontdoorOriginGroupId = exampleFrontdoorOriginGroup.Id,\n        Enabled = true,\n        CertificateNameCheckEnabled = false,\n        HostName = \"contoso.com\",\n        HttpPort = 80,\n        HttpsPort = 443,\n        OriginHostHeader = \"www.contoso.com\",\n        Priority = 1,\n        Weight = 1,\n    });\n\n    var exampleFrontdoorEndpoint = new Azure.Cdn.FrontdoorEndpoint(\"example\", new()\n    {\n        Name = \"example-endpoint\",\n        CdnFrontdoorProfileId = exampleFrontdoorProfile.Id,\n    });\n\n    var exampleFrontdoorRuleSet = new Azure.Cdn.FrontdoorRuleSet(\"example\", new()\n    {\n        Name = \"ExampleRuleSet\",\n        CdnFrontdoorProfileId = exampleFrontdoorProfile.Id,\n    });\n\n    var exampleFrontdoorCustomDomain = new Azure.Cdn.FrontdoorCustomDomain(\"example\", new()\n    {\n        Name = \"example-customDomain\",\n        CdnFrontdoorProfileId = exampleFrontdoorProfile.Id,\n        DnsZoneId = exampleZone.Id,\n        HostName = Std.Join.Invoke(new()\n        {\n            Separator = \".\",\n            Input = new[]\n            {\n                \"contoso\",\n                exampleZone.Name,\n            },\n        }).Apply(invoke =\u003e invoke.Result),\n        Tls = new Azure.Cdn.Inputs.FrontdoorCustomDomainTlsArgs\n        {\n            CertificateType = \"ManagedCertificate\",\n            MinimumTlsVersion = \"TLS12\",\n        },\n    });\n\n    var exampleFrontdoorRoute = new Azure.Cdn.FrontdoorRoute(\"example\", new()\n    {\n        Name = \"example-route\",\n        CdnFrontdoorEndpointId = exampleFrontdoorEndpoint.Id,\n        CdnFrontdoorOriginGroupId = exampleFrontdoorOriginGroup.Id,\n        CdnFrontdoorOriginIds = new[]\n        {\n            exampleFrontdoorOrigin.Id,\n        },\n        CdnFrontdoorRuleSetIds = new[]\n        {\n            exampleFrontdoorRuleSet.Id,\n        },\n        Enabled = true,\n        ForwardingProtocol = \"HttpsOnly\",\n        HttpsRedirectEnabled = true,\n        PatternsToMatches = new[]\n        {\n            \"/*\",\n        },\n        SupportedProtocols = new[]\n        {\n            \"Http\",\n            \"Https\",\n        },\n        CdnFrontdoorCustomDomainIds = new[]\n        {\n            exampleFrontdoorCustomDomain.Id,\n        },\n        LinkToDefaultDomain = false,\n    });\n\n    var exampleFrontdoorCustomDomainAssociation = new Azure.Cdn.FrontdoorCustomDomainAssociation(\"example\", new()\n    {\n        CdnFrontdoorCustomDomainId = exampleFrontdoorCustomDomain.Id,\n        CdnFrontdoorRouteIds = new[]\n        {\n            exampleFrontdoorRoute.Id,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/cdn\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/dns\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-cdn-frontdoor\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleZone, err := dns.NewZone(ctx, \"example\", \u0026dns.ZoneArgs{\n\t\t\tName:              pulumi.String(\"domain.com\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleFrontdoorProfile, err := cdn.NewFrontdoorProfile(ctx, \"example\", \u0026cdn.FrontdoorProfileArgs{\n\t\t\tName:              pulumi.String(\"example-profile\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSkuName:           pulumi.String(\"Standard_AzureFrontDoor\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleFrontdoorOriginGroup, err := cdn.NewFrontdoorOriginGroup(ctx, \"example\", \u0026cdn.FrontdoorOriginGroupArgs{\n\t\t\tName:                   pulumi.String(\"example-origin-group\"),\n\t\t\tCdnFrontdoorProfileId:  exampleFrontdoorProfile.ID(),\n\t\t\tSessionAffinityEnabled: pulumi.Bool(true),\n\t\t\tRestoreTrafficTimeToHealedOrNewEndpointInMinutes: pulumi.Int(10),\n\t\t\tHealthProbe: \u0026cdn.FrontdoorOriginGroupHealthProbeArgs{\n\t\t\t\tIntervalInSeconds: pulumi.Int(240),\n\t\t\t\tPath:              pulumi.String(\"/healthProbe\"),\n\t\t\t\tProtocol:          pulumi.String(\"Https\"),\n\t\t\t\tRequestType:       pulumi.String(\"HEAD\"),\n\t\t\t},\n\t\t\tLoadBalancing: \u0026cdn.FrontdoorOriginGroupLoadBalancingArgs{\n\t\t\t\tAdditionalLatencyInMilliseconds: pulumi.Int(0),\n\t\t\t\tSampleSize:                      pulumi.Int(16),\n\t\t\t\tSuccessfulSamplesRequired:       pulumi.Int(3),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleFrontdoorOrigin, err := cdn.NewFrontdoorOrigin(ctx, \"example\", \u0026cdn.FrontdoorOriginArgs{\n\t\t\tName:                        pulumi.String(\"example-origin\"),\n\t\t\tCdnFrontdoorOriginGroupId:   exampleFrontdoorOriginGroup.ID(),\n\t\t\tEnabled:                     pulumi.Bool(true),\n\t\t\tCertificateNameCheckEnabled: pulumi.Bool(false),\n\t\t\tHostName:                    pulumi.String(\"contoso.com\"),\n\t\t\tHttpPort:                    pulumi.Int(80),\n\t\t\tHttpsPort:                   pulumi.Int(443),\n\t\t\tOriginHostHeader:            pulumi.String(\"www.contoso.com\"),\n\t\t\tPriority:                    pulumi.Int(1),\n\t\t\tWeight:                      pulumi.Int(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleFrontdoorEndpoint, err := cdn.NewFrontdoorEndpoint(ctx, \"example\", \u0026cdn.FrontdoorEndpointArgs{\n\t\t\tName:                  pulumi.String(\"example-endpoint\"),\n\t\t\tCdnFrontdoorProfileId: exampleFrontdoorProfile.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleFrontdoorRuleSet, err := cdn.NewFrontdoorRuleSet(ctx, \"example\", \u0026cdn.FrontdoorRuleSetArgs{\n\t\t\tName:                  pulumi.String(\"ExampleRuleSet\"),\n\t\t\tCdnFrontdoorProfileId: exampleFrontdoorProfile.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleFrontdoorCustomDomain, err := cdn.NewFrontdoorCustomDomain(ctx, \"example\", \u0026cdn.FrontdoorCustomDomainArgs{\n\t\t\tName:                  pulumi.String(\"example-customDomain\"),\n\t\t\tCdnFrontdoorProfileId: exampleFrontdoorProfile.ID(),\n\t\t\tDnsZoneId:             exampleZone.ID(),\n\t\t\tHostName: pulumi.String(std.JoinOutput(ctx, std.JoinOutputArgs{\n\t\t\t\tSeparator: pulumi.String(\".\"),\n\t\t\t\tInput: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"contoso\"),\n\t\t\t\t\texampleZone.Name,\n\t\t\t\t},\n\t\t\t}, nil).ApplyT(func(invoke std.JoinResult) (*string, error) {\n\t\t\t\treturn invoke.Result, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tTls: \u0026cdn.FrontdoorCustomDomainTlsArgs{\n\t\t\t\tCertificateType:   pulumi.String(\"ManagedCertificate\"),\n\t\t\t\tMinimumTlsVersion: pulumi.String(\"TLS12\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleFrontdoorRoute, err := cdn.NewFrontdoorRoute(ctx, \"example\", \u0026cdn.FrontdoorRouteArgs{\n\t\t\tName:                      pulumi.String(\"example-route\"),\n\t\t\tCdnFrontdoorEndpointId:    exampleFrontdoorEndpoint.ID(),\n\t\t\tCdnFrontdoorOriginGroupId: exampleFrontdoorOriginGroup.ID(),\n\t\t\tCdnFrontdoorOriginIds: pulumi.StringArray{\n\t\t\t\texampleFrontdoorOrigin.ID(),\n\t\t\t},\n\t\t\tCdnFrontdoorRuleSetIds: pulumi.StringArray{\n\t\t\t\texampleFrontdoorRuleSet.ID(),\n\t\t\t},\n\t\t\tEnabled:              pulumi.Bool(true),\n\t\t\tForwardingProtocol:   pulumi.String(\"HttpsOnly\"),\n\t\t\tHttpsRedirectEnabled: pulumi.Bool(true),\n\t\t\tPatternsToMatches: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"/*\"),\n\t\t\t},\n\t\t\tSupportedProtocols: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"Http\"),\n\t\t\t\tpulumi.String(\"Https\"),\n\t\t\t},\n\t\t\tCdnFrontdoorCustomDomainIds: pulumi.StringArray{\n\t\t\t\texampleFrontdoorCustomDomain.ID(),\n\t\t\t},\n\t\t\tLinkToDefaultDomain: pulumi.Bool(false),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cdn.NewFrontdoorCustomDomainAssociation(ctx, \"example\", \u0026cdn.FrontdoorCustomDomainAssociationArgs{\n\t\t\tCdnFrontdoorCustomDomainId: exampleFrontdoorCustomDomain.ID(),\n\t\t\tCdnFrontdoorRouteIds: pulumi.StringArray{\n\t\t\t\texampleFrontdoorRoute.ID(),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.dns.Zone;\nimport com.pulumi.azure.dns.ZoneArgs;\nimport com.pulumi.azure.cdn.FrontdoorProfile;\nimport com.pulumi.azure.cdn.FrontdoorProfileArgs;\nimport com.pulumi.azure.cdn.FrontdoorOriginGroup;\nimport com.pulumi.azure.cdn.FrontdoorOriginGroupArgs;\nimport com.pulumi.azure.cdn.inputs.FrontdoorOriginGroupHealthProbeArgs;\nimport com.pulumi.azure.cdn.inputs.FrontdoorOriginGroupLoadBalancingArgs;\nimport com.pulumi.azure.cdn.FrontdoorOrigin;\nimport com.pulumi.azure.cdn.FrontdoorOriginArgs;\nimport com.pulumi.azure.cdn.FrontdoorEndpoint;\nimport com.pulumi.azure.cdn.FrontdoorEndpointArgs;\nimport com.pulumi.azure.cdn.FrontdoorRuleSet;\nimport com.pulumi.azure.cdn.FrontdoorRuleSetArgs;\nimport com.pulumi.azure.cdn.FrontdoorCustomDomain;\nimport com.pulumi.azure.cdn.FrontdoorCustomDomainArgs;\nimport com.pulumi.azure.cdn.inputs.FrontdoorCustomDomainTlsArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.JoinArgs;\nimport com.pulumi.azure.cdn.FrontdoorRoute;\nimport com.pulumi.azure.cdn.FrontdoorRouteArgs;\nimport com.pulumi.azure.cdn.FrontdoorCustomDomainAssociation;\nimport com.pulumi.azure.cdn.FrontdoorCustomDomainAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-cdn-frontdoor\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleZone = new Zone(\"exampleZone\", ZoneArgs.builder()\n            .name(\"domain.com\")\n            .resourceGroupName(example.name())\n            .build());\n\n        var exampleFrontdoorProfile = new FrontdoorProfile(\"exampleFrontdoorProfile\", FrontdoorProfileArgs.builder()\n            .name(\"example-profile\")\n            .resourceGroupName(example.name())\n            .skuName(\"Standard_AzureFrontDoor\")\n            .build());\n\n        var exampleFrontdoorOriginGroup = new FrontdoorOriginGroup(\"exampleFrontdoorOriginGroup\", FrontdoorOriginGroupArgs.builder()\n            .name(\"example-origin-group\")\n            .cdnFrontdoorProfileId(exampleFrontdoorProfile.id())\n            .sessionAffinityEnabled(true)\n            .restoreTrafficTimeToHealedOrNewEndpointInMinutes(10)\n            .healthProbe(FrontdoorOriginGroupHealthProbeArgs.builder()\n                .intervalInSeconds(240)\n                .path(\"/healthProbe\")\n                .protocol(\"Https\")\n                .requestType(\"HEAD\")\n                .build())\n            .loadBalancing(FrontdoorOriginGroupLoadBalancingArgs.builder()\n                .additionalLatencyInMilliseconds(0)\n                .sampleSize(16)\n                .successfulSamplesRequired(3)\n                .build())\n            .build());\n\n        var exampleFrontdoorOrigin = new FrontdoorOrigin(\"exampleFrontdoorOrigin\", FrontdoorOriginArgs.builder()\n            .name(\"example-origin\")\n            .cdnFrontdoorOriginGroupId(exampleFrontdoorOriginGroup.id())\n            .enabled(true)\n            .certificateNameCheckEnabled(false)\n            .hostName(\"contoso.com\")\n            .httpPort(80)\n            .httpsPort(443)\n            .originHostHeader(\"www.contoso.com\")\n            .priority(1)\n            .weight(1)\n            .build());\n\n        var exampleFrontdoorEndpoint = new FrontdoorEndpoint(\"exampleFrontdoorEndpoint\", FrontdoorEndpointArgs.builder()\n            .name(\"example-endpoint\")\n            .cdnFrontdoorProfileId(exampleFrontdoorProfile.id())\n            .build());\n\n        var exampleFrontdoorRuleSet = new FrontdoorRuleSet(\"exampleFrontdoorRuleSet\", FrontdoorRuleSetArgs.builder()\n            .name(\"ExampleRuleSet\")\n            .cdnFrontdoorProfileId(exampleFrontdoorProfile.id())\n            .build());\n\n        var exampleFrontdoorCustomDomain = new FrontdoorCustomDomain(\"exampleFrontdoorCustomDomain\", FrontdoorCustomDomainArgs.builder()\n            .name(\"example-customDomain\")\n            .cdnFrontdoorProfileId(exampleFrontdoorProfile.id())\n            .dnsZoneId(exampleZone.id())\n            .hostName(StdFunctions.join(JoinArgs.builder()\n                .separator(\".\")\n                .input(                \n                    \"contoso\",\n                    exampleZone.name())\n                .build()).applyValue(_invoke -\u003e _invoke.result()))\n            .tls(FrontdoorCustomDomainTlsArgs.builder()\n                .certificateType(\"ManagedCertificate\")\n                .minimumTlsVersion(\"TLS12\")\n                .build())\n            .build());\n\n        var exampleFrontdoorRoute = new FrontdoorRoute(\"exampleFrontdoorRoute\", FrontdoorRouteArgs.builder()\n            .name(\"example-route\")\n            .cdnFrontdoorEndpointId(exampleFrontdoorEndpoint.id())\n            .cdnFrontdoorOriginGroupId(exampleFrontdoorOriginGroup.id())\n            .cdnFrontdoorOriginIds(exampleFrontdoorOrigin.id())\n            .cdnFrontdoorRuleSetIds(exampleFrontdoorRuleSet.id())\n            .enabled(true)\n            .forwardingProtocol(\"HttpsOnly\")\n            .httpsRedirectEnabled(true)\n            .patternsToMatches(\"/*\")\n            .supportedProtocols(            \n                \"Http\",\n                \"Https\")\n            .cdnFrontdoorCustomDomainIds(exampleFrontdoorCustomDomain.id())\n            .linkToDefaultDomain(false)\n            .build());\n\n        var exampleFrontdoorCustomDomainAssociation = new FrontdoorCustomDomainAssociation(\"exampleFrontdoorCustomDomainAssociation\", FrontdoorCustomDomainAssociationArgs.builder()\n            .cdnFrontdoorCustomDomainId(exampleFrontdoorCustomDomain.id())\n            .cdnFrontdoorRouteIds(exampleFrontdoorRoute.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-cdn-frontdoor\n      location: West Europe\n  exampleZone:\n    type: azure:dns:Zone\n    name: example\n    properties:\n      name: domain.com\n      resourceGroupName: ${example.name}\n  exampleFrontdoorProfile:\n    type: azure:cdn:FrontdoorProfile\n    name: example\n    properties:\n      name: example-profile\n      resourceGroupName: ${example.name}\n      skuName: Standard_AzureFrontDoor\n  exampleFrontdoorOriginGroup:\n    type: azure:cdn:FrontdoorOriginGroup\n    name: example\n    properties:\n      name: example-origin-group\n      cdnFrontdoorProfileId: ${exampleFrontdoorProfile.id}\n      sessionAffinityEnabled: true\n      restoreTrafficTimeToHealedOrNewEndpointInMinutes: 10\n      healthProbe:\n        intervalInSeconds: 240\n        path: /healthProbe\n        protocol: Https\n        requestType: HEAD\n      loadBalancing:\n        additionalLatencyInMilliseconds: 0\n        sampleSize: 16\n        successfulSamplesRequired: 3\n  exampleFrontdoorOrigin:\n    type: azure:cdn:FrontdoorOrigin\n    name: example\n    properties:\n      name: example-origin\n      cdnFrontdoorOriginGroupId: ${exampleFrontdoorOriginGroup.id}\n      enabled: true\n      certificateNameCheckEnabled: false\n      hostName: contoso.com\n      httpPort: 80\n      httpsPort: 443\n      originHostHeader: www.contoso.com\n      priority: 1\n      weight: 1\n  exampleFrontdoorEndpoint:\n    type: azure:cdn:FrontdoorEndpoint\n    name: example\n    properties:\n      name: example-endpoint\n      cdnFrontdoorProfileId: ${exampleFrontdoorProfile.id}\n  exampleFrontdoorRuleSet:\n    type: azure:cdn:FrontdoorRuleSet\n    name: example\n    properties:\n      name: ExampleRuleSet\n      cdnFrontdoorProfileId: ${exampleFrontdoorProfile.id}\n  exampleFrontdoorRoute:\n    type: azure:cdn:FrontdoorRoute\n    name: example\n    properties:\n      name: example-route\n      cdnFrontdoorEndpointId: ${exampleFrontdoorEndpoint.id}\n      cdnFrontdoorOriginGroupId: ${exampleFrontdoorOriginGroup.id}\n      cdnFrontdoorOriginIds:\n        - ${exampleFrontdoorOrigin.id}\n      cdnFrontdoorRuleSetIds:\n        - ${exampleFrontdoorRuleSet.id}\n      enabled: true\n      forwardingProtocol: HttpsOnly\n      httpsRedirectEnabled: true\n      patternsToMatches:\n        - /*\n      supportedProtocols:\n        - Http\n        - Https\n      cdnFrontdoorCustomDomainIds:\n        - ${exampleFrontdoorCustomDomain.id}\n      linkToDefaultDomain: false\n  exampleFrontdoorCustomDomain:\n    type: azure:cdn:FrontdoorCustomDomain\n    name: example\n    properties:\n      name: example-customDomain\n      cdnFrontdoorProfileId: ${exampleFrontdoorProfile.id}\n      dnsZoneId: ${exampleZone.id}\n      hostName:\n        fn::invoke:\n          function: std:join\n          arguments:\n            separator: .\n            input:\n              - contoso\n              - ${exampleZone.name}\n          return: result\n      tls:\n        certificateType: ManagedCertificate\n        minimumTlsVersion: TLS12\n  exampleFrontdoorCustomDomainAssociation:\n    type: azure:cdn:FrontdoorCustomDomainAssociation\n    name: example\n    properties:\n      cdnFrontdoorCustomDomainId: ${exampleFrontdoorCustomDomain.id}\n      cdnFrontdoorRouteIds:\n        - ${exampleFrontdoorRoute.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nFront Door Custom Domain Associations can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:cdn/frontdoorCustomDomainAssociation:FrontdoorCustomDomainAssociation example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup1/providers/Microsoft.Cdn/profiles/profile1/associations/assoc1\n```\n\n","properties":{"cdnFrontdoorCustomDomainId":{"type":"string","description":"The ID of the Front Door Custom Domain that should be managed by the association resource. Changing this forces a new association resource to be created.\n"},"cdnFrontdoorRouteIds":{"type":"array","items":{"type":"string"},"description":"One or more IDs of the Front Door Route to which the Front Door Custom Domain is associated with.\n\n\u003e **Note:** This should include all of the Front Door Route resources that the Front Door Custom Domain is associated with. If the list of Front Door Routes is not complete you will receive the service side error `This resource is still associated with a route. Please delete the association with the route first before deleting this resource` when you attempt to \u003cspan pulumi-lang-nodejs=\"`destroy`\" pulumi-lang-dotnet=\"`Destroy`\" pulumi-lang-go=\"`destroy`\" pulumi-lang-python=\"`destroy`\" pulumi-lang-yaml=\"`destroy`\" pulumi-lang-java=\"`destroy`\"\u003e`destroy`\u003c/span\u003e/\u003cspan pulumi-lang-nodejs=\"`delete`\" pulumi-lang-dotnet=\"`Delete`\" pulumi-lang-go=\"`delete`\" pulumi-lang-python=\"`delete`\" pulumi-lang-yaml=\"`delete`\" pulumi-lang-java=\"`delete`\"\u003e`delete`\u003c/span\u003e your Front Door Custom Domain.\n"}},"required":["cdnFrontdoorCustomDomainId","cdnFrontdoorRouteIds"],"inputProperties":{"cdnFrontdoorCustomDomainId":{"type":"string","description":"The ID of the Front Door Custom Domain that should be managed by the association resource. Changing this forces a new association resource to be created.\n","willReplaceOnChanges":true},"cdnFrontdoorRouteIds":{"type":"array","items":{"type":"string"},"description":"One or more IDs of the Front Door Route to which the Front Door Custom Domain is associated with.\n\n\u003e **Note:** This should include all of the Front Door Route resources that the Front Door Custom Domain is associated with. If the list of Front Door Routes is not complete you will receive the service side error `This resource is still associated with a route. Please delete the association with the route first before deleting this resource` when you attempt to \u003cspan pulumi-lang-nodejs=\"`destroy`\" pulumi-lang-dotnet=\"`Destroy`\" pulumi-lang-go=\"`destroy`\" pulumi-lang-python=\"`destroy`\" pulumi-lang-yaml=\"`destroy`\" pulumi-lang-java=\"`destroy`\"\u003e`destroy`\u003c/span\u003e/\u003cspan pulumi-lang-nodejs=\"`delete`\" pulumi-lang-dotnet=\"`Delete`\" pulumi-lang-go=\"`delete`\" pulumi-lang-python=\"`delete`\" pulumi-lang-yaml=\"`delete`\" pulumi-lang-java=\"`delete`\"\u003e`delete`\u003c/span\u003e your Front Door Custom Domain.\n"}},"requiredInputs":["cdnFrontdoorCustomDomainId","cdnFrontdoorRouteIds"],"stateInputs":{"description":"Input properties used for looking up and filtering FrontdoorCustomDomainAssociation resources.\n","properties":{"cdnFrontdoorCustomDomainId":{"type":"string","description":"The ID of the Front Door Custom Domain that should be managed by the association resource. Changing this forces a new association resource to be created.\n","willReplaceOnChanges":true},"cdnFrontdoorRouteIds":{"type":"array","items":{"type":"string"},"description":"One or more IDs of the Front Door Route to which the Front Door Custom Domain is associated with.\n\n\u003e **Note:** This should include all of the Front Door Route resources that the Front Door Custom Domain is associated with. If the list of Front Door Routes is not complete you will receive the service side error `This resource is still associated with a route. Please delete the association with the route first before deleting this resource` when you attempt to \u003cspan pulumi-lang-nodejs=\"`destroy`\" pulumi-lang-dotnet=\"`Destroy`\" pulumi-lang-go=\"`destroy`\" pulumi-lang-python=\"`destroy`\" pulumi-lang-yaml=\"`destroy`\" pulumi-lang-java=\"`destroy`\"\u003e`destroy`\u003c/span\u003e/\u003cspan pulumi-lang-nodejs=\"`delete`\" pulumi-lang-dotnet=\"`Delete`\" pulumi-lang-go=\"`delete`\" pulumi-lang-python=\"`delete`\" pulumi-lang-yaml=\"`delete`\" pulumi-lang-java=\"`delete`\"\u003e`delete`\u003c/span\u003e your Front Door Custom Domain.\n"}},"type":"object"}},"azure:cdn/frontdoorEndpoint:FrontdoorEndpoint":{"description":"Manages a Front Door (standard/premium) Endpoint.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-cdn-frontdoor\",\n    location: \"West Europe\",\n});\nconst exampleFrontdoorProfile = new azure.cdn.FrontdoorProfile(\"example\", {\n    name: \"example-profile\",\n    resourceGroupName: example.name,\n    skuName: \"Standard_AzureFrontDoor\",\n});\nconst exampleFrontdoorEndpoint = new azure.cdn.FrontdoorEndpoint(\"example\", {\n    name: \"example-endpoint\",\n    cdnFrontdoorProfileId: exampleFrontdoorProfile.id,\n    tags: {\n        ENV: \"example\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-cdn-frontdoor\",\n    location=\"West Europe\")\nexample_frontdoor_profile = azure.cdn.FrontdoorProfile(\"example\",\n    name=\"example-profile\",\n    resource_group_name=example.name,\n    sku_name=\"Standard_AzureFrontDoor\")\nexample_frontdoor_endpoint = azure.cdn.FrontdoorEndpoint(\"example\",\n    name=\"example-endpoint\",\n    cdn_frontdoor_profile_id=example_frontdoor_profile.id,\n    tags={\n        \"ENV\": \"example\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-cdn-frontdoor\",\n        Location = \"West Europe\",\n    });\n\n    var exampleFrontdoorProfile = new Azure.Cdn.FrontdoorProfile(\"example\", new()\n    {\n        Name = \"example-profile\",\n        ResourceGroupName = example.Name,\n        SkuName = \"Standard_AzureFrontDoor\",\n    });\n\n    var exampleFrontdoorEndpoint = new Azure.Cdn.FrontdoorEndpoint(\"example\", new()\n    {\n        Name = \"example-endpoint\",\n        CdnFrontdoorProfileId = exampleFrontdoorProfile.Id,\n        Tags = \n        {\n            { \"ENV\", \"example\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/cdn\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-cdn-frontdoor\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleFrontdoorProfile, err := cdn.NewFrontdoorProfile(ctx, \"example\", \u0026cdn.FrontdoorProfileArgs{\n\t\t\tName:              pulumi.String(\"example-profile\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSkuName:           pulumi.String(\"Standard_AzureFrontDoor\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cdn.NewFrontdoorEndpoint(ctx, \"example\", \u0026cdn.FrontdoorEndpointArgs{\n\t\t\tName:                  pulumi.String(\"example-endpoint\"),\n\t\t\tCdnFrontdoorProfileId: exampleFrontdoorProfile.ID(),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"ENV\": pulumi.String(\"example\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.cdn.FrontdoorProfile;\nimport com.pulumi.azure.cdn.FrontdoorProfileArgs;\nimport com.pulumi.azure.cdn.FrontdoorEndpoint;\nimport com.pulumi.azure.cdn.FrontdoorEndpointArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-cdn-frontdoor\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleFrontdoorProfile = new FrontdoorProfile(\"exampleFrontdoorProfile\", FrontdoorProfileArgs.builder()\n            .name(\"example-profile\")\n            .resourceGroupName(example.name())\n            .skuName(\"Standard_AzureFrontDoor\")\n            .build());\n\n        var exampleFrontdoorEndpoint = new FrontdoorEndpoint(\"exampleFrontdoorEndpoint\", FrontdoorEndpointArgs.builder()\n            .name(\"example-endpoint\")\n            .cdnFrontdoorProfileId(exampleFrontdoorProfile.id())\n            .tags(Map.of(\"ENV\", \"example\"))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-cdn-frontdoor\n      location: West Europe\n  exampleFrontdoorProfile:\n    type: azure:cdn:FrontdoorProfile\n    name: example\n    properties:\n      name: example-profile\n      resourceGroupName: ${example.name}\n      skuName: Standard_AzureFrontDoor\n  exampleFrontdoorEndpoint:\n    type: azure:cdn:FrontdoorEndpoint\n    name: example\n    properties:\n      name: example-endpoint\n      cdnFrontdoorProfileId: ${exampleFrontdoorProfile.id}\n      tags:\n        ENV: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nFront Door Endpoints can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:cdn/frontdoorEndpoint:FrontdoorEndpoint example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup1/providers/Microsoft.Cdn/profiles/profile1/afdEndpoints/endpoint1\n```\n\n","properties":{"cdnFrontdoorProfileId":{"type":"string","description":"The ID of the Front Door Profile within which this Front Door Endpoint should exist. Changing this forces a new Front Door Endpoint to be created.\n"},"enabled":{"type":"boolean","description":"Specifies if this Front Door Endpoint is enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"hostName":{"type":"string","description":"The host name of the Front Door Endpoint, in the format `{endpointName}.{dnsZone}` (for example, `contoso.azureedge.net`).\n"},"name":{"type":"string","description":"The name which should be used for this Front Door Endpoint. Changing this forces a new Front Door Endpoint to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Specifies a mapping of tags which should be assigned to the Front Door Endpoint.\n"}},"required":["cdnFrontdoorProfileId","hostName","name"],"inputProperties":{"cdnFrontdoorProfileId":{"type":"string","description":"The ID of the Front Door Profile within which this Front Door Endpoint should exist. Changing this forces a new Front Door Endpoint to be created.\n","willReplaceOnChanges":true},"enabled":{"type":"boolean","description":"Specifies if this Front Door Endpoint is enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"name":{"type":"string","description":"The name which should be used for this Front Door Endpoint. Changing this forces a new Front Door Endpoint to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Specifies a mapping of tags which should be assigned to the Front Door Endpoint.\n"}},"requiredInputs":["cdnFrontdoorProfileId"],"stateInputs":{"description":"Input properties used for looking up and filtering FrontdoorEndpoint resources.\n","properties":{"cdnFrontdoorProfileId":{"type":"string","description":"The ID of the Front Door Profile within which this Front Door Endpoint should exist. Changing this forces a new Front Door Endpoint to be created.\n","willReplaceOnChanges":true},"enabled":{"type":"boolean","description":"Specifies if this Front Door Endpoint is enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"hostName":{"type":"string","description":"The host name of the Front Door Endpoint, in the format `{endpointName}.{dnsZone}` (for example, `contoso.azureedge.net`).\n"},"name":{"type":"string","description":"The name which should be used for this Front Door Endpoint. Changing this forces a new Front Door Endpoint to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Specifies a mapping of tags which should be assigned to the Front Door Endpoint.\n"}},"type":"object"}},"azure:cdn/frontdoorFirewallPolicy:FrontdoorFirewallPolicy":{"description":"Manages a Front Door (standard/premium) Firewall Policy instance.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-cdn-frontdoor\",\n    location: \"West Europe\",\n});\nconst exampleFrontdoorProfile = new azure.cdn.FrontdoorProfile(\"example\", {\n    name: \"example-profile\",\n    resourceGroupName: example.name,\n    skuName: \"Premium_AzureFrontDoor\",\n});\nconst exampleFrontdoorFirewallPolicy = new azure.cdn.FrontdoorFirewallPolicy(\"example\", {\n    name: \"examplecdnfdwafpolicy\",\n    resourceGroupName: example.name,\n    skuName: exampleFrontdoorProfile.skuName,\n    enabled: true,\n    mode: \"Prevention\",\n    redirectUrl: \"https://www.contoso.com\",\n    customBlockResponseStatusCode: 403,\n    customBlockResponseBody: \"PGh0bWw+CjxoZWFkZXI+PHRpdGxlPkhlbGxvPC90aXRsZT48L2hlYWRlcj4KPGJvZHk+CkhlbGxvIHdvcmxkCjwvYm9keT4KPC9odG1sPg==\",\n    customRules: [\n        {\n            name: \"Rule1\",\n            enabled: true,\n            priority: 1,\n            rateLimitDurationInMinutes: 1,\n            rateLimitThreshold: 10,\n            type: \"MatchRule\",\n            action: \"Block\",\n            matchConditions: [{\n                matchVariable: \"RemoteAddr\",\n                operator: \"IPMatch\",\n                negationCondition: false,\n                matchValues: [\n                    \"10.0.1.0/24\",\n                    \"10.0.0.0/24\",\n                ],\n            }],\n        },\n        {\n            name: \"Rule2\",\n            enabled: true,\n            priority: 50,\n            rateLimitDurationInMinutes: 1,\n            rateLimitThreshold: 10,\n            type: \"MatchRule\",\n            action: \"Block\",\n            matchConditions: [\n                {\n                    matchVariable: \"RemoteAddr\",\n                    operator: \"IPMatch\",\n                    negationCondition: false,\n                    matchValues: [\"192.168.1.0/24\"],\n                },\n                {\n                    matchVariable: \"RequestHeader\",\n                    selector: \"UserAgent\",\n                    operator: \"Contains\",\n                    negationCondition: false,\n                    matchValues: [\"windows\"],\n                    transforms: [\n                        \"Lowercase\",\n                        \"Trim\",\n                    ],\n                },\n            ],\n        },\n    ],\n    managedRules: [\n        {\n            type: \"DefaultRuleSet\",\n            version: \"1.0\",\n            action: \"Log\",\n            exclusions: [{\n                matchVariable: \"QueryStringArgNames\",\n                operator: \"Equals\",\n                selector: \"not_suspicious\",\n            }],\n            overrides: [\n                {\n                    ruleGroupName: \"PHP\",\n                    rules: [{\n                        ruleId: \"933100\",\n                        enabled: false,\n                        action: \"Block\",\n                    }],\n                },\n                {\n                    ruleGroupName: \"SQLI\",\n                    exclusions: [{\n                        matchVariable: \"QueryStringArgNames\",\n                        operator: \"Equals\",\n                        selector: \"really_not_suspicious\",\n                    }],\n                    rules: [{\n                        ruleId: \"942200\",\n                        action: \"Block\",\n                        exclusions: [{\n                            matchVariable: \"QueryStringArgNames\",\n                            operator: \"Equals\",\n                            selector: \"innocent\",\n                        }],\n                    }],\n                },\n            ],\n        },\n        {\n            type: \"Microsoft_BotManagerRuleSet\",\n            version: \"1.1\",\n            action: \"Log\",\n        },\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-cdn-frontdoor\",\n    location=\"West Europe\")\nexample_frontdoor_profile = azure.cdn.FrontdoorProfile(\"example\",\n    name=\"example-profile\",\n    resource_group_name=example.name,\n    sku_name=\"Premium_AzureFrontDoor\")\nexample_frontdoor_firewall_policy = azure.cdn.FrontdoorFirewallPolicy(\"example\",\n    name=\"examplecdnfdwafpolicy\",\n    resource_group_name=example.name,\n    sku_name=example_frontdoor_profile.sku_name,\n    enabled=True,\n    mode=\"Prevention\",\n    redirect_url=\"https://www.contoso.com\",\n    custom_block_response_status_code=403,\n    custom_block_response_body=\"PGh0bWw+CjxoZWFkZXI+PHRpdGxlPkhlbGxvPC90aXRsZT48L2hlYWRlcj4KPGJvZHk+CkhlbGxvIHdvcmxkCjwvYm9keT4KPC9odG1sPg==\",\n    custom_rules=[\n        {\n            \"name\": \"Rule1\",\n            \"enabled\": True,\n            \"priority\": 1,\n            \"rate_limit_duration_in_minutes\": 1,\n            \"rate_limit_threshold\": 10,\n            \"type\": \"MatchRule\",\n            \"action\": \"Block\",\n            \"match_conditions\": [{\n                \"match_variable\": \"RemoteAddr\",\n                \"operator\": \"IPMatch\",\n                \"negation_condition\": False,\n                \"match_values\": [\n                    \"10.0.1.0/24\",\n                    \"10.0.0.0/24\",\n                ],\n            }],\n        },\n        {\n            \"name\": \"Rule2\",\n            \"enabled\": True,\n            \"priority\": 50,\n            \"rate_limit_duration_in_minutes\": 1,\n            \"rate_limit_threshold\": 10,\n            \"type\": \"MatchRule\",\n            \"action\": \"Block\",\n            \"match_conditions\": [\n                {\n                    \"match_variable\": \"RemoteAddr\",\n                    \"operator\": \"IPMatch\",\n                    \"negation_condition\": False,\n                    \"match_values\": [\"192.168.1.0/24\"],\n                },\n                {\n                    \"match_variable\": \"RequestHeader\",\n                    \"selector\": \"UserAgent\",\n                    \"operator\": \"Contains\",\n                    \"negation_condition\": False,\n                    \"match_values\": [\"windows\"],\n                    \"transforms\": [\n                        \"Lowercase\",\n                        \"Trim\",\n                    ],\n                },\n            ],\n        },\n    ],\n    managed_rules=[\n        {\n            \"type\": \"DefaultRuleSet\",\n            \"version\": \"1.0\",\n            \"action\": \"Log\",\n            \"exclusions\": [{\n                \"match_variable\": \"QueryStringArgNames\",\n                \"operator\": \"Equals\",\n                \"selector\": \"not_suspicious\",\n            }],\n            \"overrides\": [\n                {\n                    \"rule_group_name\": \"PHP\",\n                    \"rules\": [{\n                        \"rule_id\": \"933100\",\n                        \"enabled\": False,\n                        \"action\": \"Block\",\n                    }],\n                },\n                {\n                    \"rule_group_name\": \"SQLI\",\n                    \"exclusions\": [{\n                        \"match_variable\": \"QueryStringArgNames\",\n                        \"operator\": \"Equals\",\n                        \"selector\": \"really_not_suspicious\",\n                    }],\n                    \"rules\": [{\n                        \"rule_id\": \"942200\",\n                        \"action\": \"Block\",\n                        \"exclusions\": [{\n                            \"match_variable\": \"QueryStringArgNames\",\n                            \"operator\": \"Equals\",\n                            \"selector\": \"innocent\",\n                        }],\n                    }],\n                },\n            ],\n        },\n        {\n            \"type\": \"Microsoft_BotManagerRuleSet\",\n            \"version\": \"1.1\",\n            \"action\": \"Log\",\n        },\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-cdn-frontdoor\",\n        Location = \"West Europe\",\n    });\n\n    var exampleFrontdoorProfile = new Azure.Cdn.FrontdoorProfile(\"example\", new()\n    {\n        Name = \"example-profile\",\n        ResourceGroupName = example.Name,\n        SkuName = \"Premium_AzureFrontDoor\",\n    });\n\n    var exampleFrontdoorFirewallPolicy = new Azure.Cdn.FrontdoorFirewallPolicy(\"example\", new()\n    {\n        Name = \"examplecdnfdwafpolicy\",\n        ResourceGroupName = example.Name,\n        SkuName = exampleFrontdoorProfile.SkuName,\n        Enabled = true,\n        Mode = \"Prevention\",\n        RedirectUrl = \"https://www.contoso.com\",\n        CustomBlockResponseStatusCode = 403,\n        CustomBlockResponseBody = \"PGh0bWw+CjxoZWFkZXI+PHRpdGxlPkhlbGxvPC90aXRsZT48L2hlYWRlcj4KPGJvZHk+CkhlbGxvIHdvcmxkCjwvYm9keT4KPC9odG1sPg==\",\n        CustomRules = new[]\n        {\n            new Azure.Cdn.Inputs.FrontdoorFirewallPolicyCustomRuleArgs\n            {\n                Name = \"Rule1\",\n                Enabled = true,\n                Priority = 1,\n                RateLimitDurationInMinutes = 1,\n                RateLimitThreshold = 10,\n                Type = \"MatchRule\",\n                Action = \"Block\",\n                MatchConditions = new[]\n                {\n                    new Azure.Cdn.Inputs.FrontdoorFirewallPolicyCustomRuleMatchConditionArgs\n                    {\n                        MatchVariable = \"RemoteAddr\",\n                        Operator = \"IPMatch\",\n                        NegationCondition = false,\n                        MatchValues = new[]\n                        {\n                            \"10.0.1.0/24\",\n                            \"10.0.0.0/24\",\n                        },\n                    },\n                },\n            },\n            new Azure.Cdn.Inputs.FrontdoorFirewallPolicyCustomRuleArgs\n            {\n                Name = \"Rule2\",\n                Enabled = true,\n                Priority = 50,\n                RateLimitDurationInMinutes = 1,\n                RateLimitThreshold = 10,\n                Type = \"MatchRule\",\n                Action = \"Block\",\n                MatchConditions = new[]\n                {\n                    new Azure.Cdn.Inputs.FrontdoorFirewallPolicyCustomRuleMatchConditionArgs\n                    {\n                        MatchVariable = \"RemoteAddr\",\n                        Operator = \"IPMatch\",\n                        NegationCondition = false,\n                        MatchValues = new[]\n                        {\n                            \"192.168.1.0/24\",\n                        },\n                    },\n                    new Azure.Cdn.Inputs.FrontdoorFirewallPolicyCustomRuleMatchConditionArgs\n                    {\n                        MatchVariable = \"RequestHeader\",\n                        Selector = \"UserAgent\",\n                        Operator = \"Contains\",\n                        NegationCondition = false,\n                        MatchValues = new[]\n                        {\n                            \"windows\",\n                        },\n                        Transforms = new[]\n                        {\n                            \"Lowercase\",\n                            \"Trim\",\n                        },\n                    },\n                },\n            },\n        },\n        ManagedRules = new[]\n        {\n            new Azure.Cdn.Inputs.FrontdoorFirewallPolicyManagedRuleArgs\n            {\n                Type = \"DefaultRuleSet\",\n                Version = \"1.0\",\n                Action = \"Log\",\n                Exclusions = new[]\n                {\n                    new Azure.Cdn.Inputs.FrontdoorFirewallPolicyManagedRuleExclusionArgs\n                    {\n                        MatchVariable = \"QueryStringArgNames\",\n                        Operator = \"Equals\",\n                        Selector = \"not_suspicious\",\n                    },\n                },\n                Overrides = new[]\n                {\n                    new Azure.Cdn.Inputs.FrontdoorFirewallPolicyManagedRuleOverrideArgs\n                    {\n                        RuleGroupName = \"PHP\",\n                        Rules = new[]\n                        {\n                            new Azure.Cdn.Inputs.FrontdoorFirewallPolicyManagedRuleOverrideRuleArgs\n                            {\n                                RuleId = \"933100\",\n                                Enabled = false,\n                                Action = \"Block\",\n                            },\n                        },\n                    },\n                    new Azure.Cdn.Inputs.FrontdoorFirewallPolicyManagedRuleOverrideArgs\n                    {\n                        RuleGroupName = \"SQLI\",\n                        Exclusions = new[]\n                        {\n                            new Azure.Cdn.Inputs.FrontdoorFirewallPolicyManagedRuleOverrideExclusionArgs\n                            {\n                                MatchVariable = \"QueryStringArgNames\",\n                                Operator = \"Equals\",\n                                Selector = \"really_not_suspicious\",\n                            },\n                        },\n                        Rules = new[]\n                        {\n                            new Azure.Cdn.Inputs.FrontdoorFirewallPolicyManagedRuleOverrideRuleArgs\n                            {\n                                RuleId = \"942200\",\n                                Action = \"Block\",\n                                Exclusions = new[]\n                                {\n                                    new Azure.Cdn.Inputs.FrontdoorFirewallPolicyManagedRuleOverrideRuleExclusionArgs\n                                    {\n                                        MatchVariable = \"QueryStringArgNames\",\n                                        Operator = \"Equals\",\n                                        Selector = \"innocent\",\n                                    },\n                                },\n                            },\n                        },\n                    },\n                },\n            },\n            new Azure.Cdn.Inputs.FrontdoorFirewallPolicyManagedRuleArgs\n            {\n                Type = \"Microsoft_BotManagerRuleSet\",\n                Version = \"1.1\",\n                Action = \"Log\",\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/cdn\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-cdn-frontdoor\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleFrontdoorProfile, err := cdn.NewFrontdoorProfile(ctx, \"example\", \u0026cdn.FrontdoorProfileArgs{\n\t\t\tName:              pulumi.String(\"example-profile\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSkuName:           pulumi.String(\"Premium_AzureFrontDoor\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cdn.NewFrontdoorFirewallPolicy(ctx, \"example\", \u0026cdn.FrontdoorFirewallPolicyArgs{\n\t\t\tName:                          pulumi.String(\"examplecdnfdwafpolicy\"),\n\t\t\tResourceGroupName:             example.Name,\n\t\t\tSkuName:                       exampleFrontdoorProfile.SkuName,\n\t\t\tEnabled:                       pulumi.Bool(true),\n\t\t\tMode:                          pulumi.String(\"Prevention\"),\n\t\t\tRedirectUrl:                   pulumi.String(\"https://www.contoso.com\"),\n\t\t\tCustomBlockResponseStatusCode: pulumi.Int(403),\n\t\t\tCustomBlockResponseBody:       pulumi.String(\"PGh0bWw+CjxoZWFkZXI+PHRpdGxlPkhlbGxvPC90aXRsZT48L2hlYWRlcj4KPGJvZHk+CkhlbGxvIHdvcmxkCjwvYm9keT4KPC9odG1sPg==\"),\n\t\t\tCustomRules: cdn.FrontdoorFirewallPolicyCustomRuleArray{\n\t\t\t\t\u0026cdn.FrontdoorFirewallPolicyCustomRuleArgs{\n\t\t\t\t\tName:                       pulumi.String(\"Rule1\"),\n\t\t\t\t\tEnabled:                    pulumi.Bool(true),\n\t\t\t\t\tPriority:                   pulumi.Int(1),\n\t\t\t\t\tRateLimitDurationInMinutes: pulumi.Int(1),\n\t\t\t\t\tRateLimitThreshold:         pulumi.Int(10),\n\t\t\t\t\tType:                       pulumi.String(\"MatchRule\"),\n\t\t\t\t\tAction:                     pulumi.String(\"Block\"),\n\t\t\t\t\tMatchConditions: cdn.FrontdoorFirewallPolicyCustomRuleMatchConditionArray{\n\t\t\t\t\t\t\u0026cdn.FrontdoorFirewallPolicyCustomRuleMatchConditionArgs{\n\t\t\t\t\t\t\tMatchVariable:     pulumi.String(\"RemoteAddr\"),\n\t\t\t\t\t\t\tOperator:          pulumi.String(\"IPMatch\"),\n\t\t\t\t\t\t\tNegationCondition: pulumi.Bool(false),\n\t\t\t\t\t\t\tMatchValues: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"10.0.1.0/24\"),\n\t\t\t\t\t\t\t\tpulumi.String(\"10.0.0.0/24\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026cdn.FrontdoorFirewallPolicyCustomRuleArgs{\n\t\t\t\t\tName:                       pulumi.String(\"Rule2\"),\n\t\t\t\t\tEnabled:                    pulumi.Bool(true),\n\t\t\t\t\tPriority:                   pulumi.Int(50),\n\t\t\t\t\tRateLimitDurationInMinutes: pulumi.Int(1),\n\t\t\t\t\tRateLimitThreshold:         pulumi.Int(10),\n\t\t\t\t\tType:                       pulumi.String(\"MatchRule\"),\n\t\t\t\t\tAction:                     pulumi.String(\"Block\"),\n\t\t\t\t\tMatchConditions: cdn.FrontdoorFirewallPolicyCustomRuleMatchConditionArray{\n\t\t\t\t\t\t\u0026cdn.FrontdoorFirewallPolicyCustomRuleMatchConditionArgs{\n\t\t\t\t\t\t\tMatchVariable:     pulumi.String(\"RemoteAddr\"),\n\t\t\t\t\t\t\tOperator:          pulumi.String(\"IPMatch\"),\n\t\t\t\t\t\t\tNegationCondition: pulumi.Bool(false),\n\t\t\t\t\t\t\tMatchValues: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"192.168.1.0/24\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026cdn.FrontdoorFirewallPolicyCustomRuleMatchConditionArgs{\n\t\t\t\t\t\t\tMatchVariable:     pulumi.String(\"RequestHeader\"),\n\t\t\t\t\t\t\tSelector:          pulumi.String(\"UserAgent\"),\n\t\t\t\t\t\t\tOperator:          pulumi.String(\"Contains\"),\n\t\t\t\t\t\t\tNegationCondition: pulumi.Bool(false),\n\t\t\t\t\t\t\tMatchValues: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"windows\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tTransforms: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"Lowercase\"),\n\t\t\t\t\t\t\t\tpulumi.String(\"Trim\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tManagedRules: cdn.FrontdoorFirewallPolicyManagedRuleArray{\n\t\t\t\t\u0026cdn.FrontdoorFirewallPolicyManagedRuleArgs{\n\t\t\t\t\tType:    pulumi.String(\"DefaultRuleSet\"),\n\t\t\t\t\tVersion: pulumi.String(\"1.0\"),\n\t\t\t\t\tAction:  pulumi.String(\"Log\"),\n\t\t\t\t\tExclusions: cdn.FrontdoorFirewallPolicyManagedRuleExclusionArray{\n\t\t\t\t\t\t\u0026cdn.FrontdoorFirewallPolicyManagedRuleExclusionArgs{\n\t\t\t\t\t\t\tMatchVariable: pulumi.String(\"QueryStringArgNames\"),\n\t\t\t\t\t\t\tOperator:      pulumi.String(\"Equals\"),\n\t\t\t\t\t\t\tSelector:      pulumi.String(\"not_suspicious\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tOverrides: cdn.FrontdoorFirewallPolicyManagedRuleOverrideArray{\n\t\t\t\t\t\t\u0026cdn.FrontdoorFirewallPolicyManagedRuleOverrideArgs{\n\t\t\t\t\t\t\tRuleGroupName: pulumi.String(\"PHP\"),\n\t\t\t\t\t\t\tRules: cdn.FrontdoorFirewallPolicyManagedRuleOverrideRuleArray{\n\t\t\t\t\t\t\t\t\u0026cdn.FrontdoorFirewallPolicyManagedRuleOverrideRuleArgs{\n\t\t\t\t\t\t\t\t\tRuleId:  pulumi.String(\"933100\"),\n\t\t\t\t\t\t\t\t\tEnabled: pulumi.Bool(false),\n\t\t\t\t\t\t\t\t\tAction:  pulumi.String(\"Block\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026cdn.FrontdoorFirewallPolicyManagedRuleOverrideArgs{\n\t\t\t\t\t\t\tRuleGroupName: pulumi.String(\"SQLI\"),\n\t\t\t\t\t\t\tExclusions: cdn.FrontdoorFirewallPolicyManagedRuleOverrideExclusionArray{\n\t\t\t\t\t\t\t\t\u0026cdn.FrontdoorFirewallPolicyManagedRuleOverrideExclusionArgs{\n\t\t\t\t\t\t\t\t\tMatchVariable: pulumi.String(\"QueryStringArgNames\"),\n\t\t\t\t\t\t\t\t\tOperator:      pulumi.String(\"Equals\"),\n\t\t\t\t\t\t\t\t\tSelector:      pulumi.String(\"really_not_suspicious\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tRules: cdn.FrontdoorFirewallPolicyManagedRuleOverrideRuleArray{\n\t\t\t\t\t\t\t\t\u0026cdn.FrontdoorFirewallPolicyManagedRuleOverrideRuleArgs{\n\t\t\t\t\t\t\t\t\tRuleId: pulumi.String(\"942200\"),\n\t\t\t\t\t\t\t\t\tAction: pulumi.String(\"Block\"),\n\t\t\t\t\t\t\t\t\tExclusions: cdn.FrontdoorFirewallPolicyManagedRuleOverrideRuleExclusionArray{\n\t\t\t\t\t\t\t\t\t\t\u0026cdn.FrontdoorFirewallPolicyManagedRuleOverrideRuleExclusionArgs{\n\t\t\t\t\t\t\t\t\t\t\tMatchVariable: pulumi.String(\"QueryStringArgNames\"),\n\t\t\t\t\t\t\t\t\t\t\tOperator:      pulumi.String(\"Equals\"),\n\t\t\t\t\t\t\t\t\t\t\tSelector:      pulumi.String(\"innocent\"),\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026cdn.FrontdoorFirewallPolicyManagedRuleArgs{\n\t\t\t\t\tType:    pulumi.String(\"Microsoft_BotManagerRuleSet\"),\n\t\t\t\t\tVersion: pulumi.String(\"1.1\"),\n\t\t\t\t\tAction:  pulumi.String(\"Log\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.cdn.FrontdoorProfile;\nimport com.pulumi.azure.cdn.FrontdoorProfileArgs;\nimport com.pulumi.azure.cdn.FrontdoorFirewallPolicy;\nimport com.pulumi.azure.cdn.FrontdoorFirewallPolicyArgs;\nimport com.pulumi.azure.cdn.inputs.FrontdoorFirewallPolicyCustomRuleArgs;\nimport com.pulumi.azure.cdn.inputs.FrontdoorFirewallPolicyManagedRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-cdn-frontdoor\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleFrontdoorProfile = new FrontdoorProfile(\"exampleFrontdoorProfile\", FrontdoorProfileArgs.builder()\n            .name(\"example-profile\")\n            .resourceGroupName(example.name())\n            .skuName(\"Premium_AzureFrontDoor\")\n            .build());\n\n        var exampleFrontdoorFirewallPolicy = new FrontdoorFirewallPolicy(\"exampleFrontdoorFirewallPolicy\", FrontdoorFirewallPolicyArgs.builder()\n            .name(\"examplecdnfdwafpolicy\")\n            .resourceGroupName(example.name())\n            .skuName(exampleFrontdoorProfile.skuName())\n            .enabled(true)\n            .mode(\"Prevention\")\n            .redirectUrl(\"https://www.contoso.com\")\n            .customBlockResponseStatusCode(403)\n            .customBlockResponseBody(\"PGh0bWw+CjxoZWFkZXI+PHRpdGxlPkhlbGxvPC90aXRsZT48L2hlYWRlcj4KPGJvZHk+CkhlbGxvIHdvcmxkCjwvYm9keT4KPC9odG1sPg==\")\n            .customRules(            \n                FrontdoorFirewallPolicyCustomRuleArgs.builder()\n                    .name(\"Rule1\")\n                    .enabled(true)\n                    .priority(1)\n                    .rateLimitDurationInMinutes(1)\n                    .rateLimitThreshold(10)\n                    .type(\"MatchRule\")\n                    .action(\"Block\")\n                    .matchConditions(FrontdoorFirewallPolicyCustomRuleMatchConditionArgs.builder()\n                        .matchVariable(\"RemoteAddr\")\n                        .operator(\"IPMatch\")\n                        .negationCondition(false)\n                        .matchValues(                        \n                            \"10.0.1.0/24\",\n                            \"10.0.0.0/24\")\n                        .build())\n                    .build(),\n                FrontdoorFirewallPolicyCustomRuleArgs.builder()\n                    .name(\"Rule2\")\n                    .enabled(true)\n                    .priority(50)\n                    .rateLimitDurationInMinutes(1)\n                    .rateLimitThreshold(10)\n                    .type(\"MatchRule\")\n                    .action(\"Block\")\n                    .matchConditions(                    \n                        FrontdoorFirewallPolicyCustomRuleMatchConditionArgs.builder()\n                            .matchVariable(\"RemoteAddr\")\n                            .operator(\"IPMatch\")\n                            .negationCondition(false)\n                            .matchValues(\"192.168.1.0/24\")\n                            .build(),\n                        FrontdoorFirewallPolicyCustomRuleMatchConditionArgs.builder()\n                            .matchVariable(\"RequestHeader\")\n                            .selector(\"UserAgent\")\n                            .operator(\"Contains\")\n                            .negationCondition(false)\n                            .matchValues(\"windows\")\n                            .transforms(                            \n                                \"Lowercase\",\n                                \"Trim\")\n                            .build())\n                    .build())\n            .managedRules(            \n                FrontdoorFirewallPolicyManagedRuleArgs.builder()\n                    .type(\"DefaultRuleSet\")\n                    .version(\"1.0\")\n                    .action(\"Log\")\n                    .exclusions(FrontdoorFirewallPolicyManagedRuleExclusionArgs.builder()\n                        .matchVariable(\"QueryStringArgNames\")\n                        .operator(\"Equals\")\n                        .selector(\"not_suspicious\")\n                        .build())\n                    .overrides(                    \n                        FrontdoorFirewallPolicyManagedRuleOverrideArgs.builder()\n                            .ruleGroupName(\"PHP\")\n                            .rules(FrontdoorFirewallPolicyManagedRuleOverrideRuleArgs.builder()\n                                .ruleId(\"933100\")\n                                .enabled(false)\n                                .action(\"Block\")\n                                .build())\n                            .build(),\n                        FrontdoorFirewallPolicyManagedRuleOverrideArgs.builder()\n                            .ruleGroupName(\"SQLI\")\n                            .exclusions(FrontdoorFirewallPolicyManagedRuleOverrideExclusionArgs.builder()\n                                .matchVariable(\"QueryStringArgNames\")\n                                .operator(\"Equals\")\n                                .selector(\"really_not_suspicious\")\n                                .build())\n                            .rules(FrontdoorFirewallPolicyManagedRuleOverrideRuleArgs.builder()\n                                .ruleId(\"942200\")\n                                .action(\"Block\")\n                                .exclusions(FrontdoorFirewallPolicyManagedRuleOverrideRuleExclusionArgs.builder()\n                                    .matchVariable(\"QueryStringArgNames\")\n                                    .operator(\"Equals\")\n                                    .selector(\"innocent\")\n                                    .build())\n                                .build())\n                            .build())\n                    .build(),\n                FrontdoorFirewallPolicyManagedRuleArgs.builder()\n                    .type(\"Microsoft_BotManagerRuleSet\")\n                    .version(\"1.1\")\n                    .action(\"Log\")\n                    .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-cdn-frontdoor\n      location: West Europe\n  exampleFrontdoorProfile:\n    type: azure:cdn:FrontdoorProfile\n    name: example\n    properties:\n      name: example-profile\n      resourceGroupName: ${example.name}\n      skuName: Premium_AzureFrontDoor\n  exampleFrontdoorFirewallPolicy:\n    type: azure:cdn:FrontdoorFirewallPolicy\n    name: example\n    properties:\n      name: examplecdnfdwafpolicy\n      resourceGroupName: ${example.name}\n      skuName: ${exampleFrontdoorProfile.skuName}\n      enabled: true\n      mode: Prevention\n      redirectUrl: https://www.contoso.com\n      customBlockResponseStatusCode: 403\n      customBlockResponseBody: PGh0bWw+CjxoZWFkZXI+PHRpdGxlPkhlbGxvPC90aXRsZT48L2hlYWRlcj4KPGJvZHk+CkhlbGxvIHdvcmxkCjwvYm9keT4KPC9odG1sPg==\n      customRules:\n        - name: Rule1\n          enabled: true\n          priority: 1\n          rateLimitDurationInMinutes: 1\n          rateLimitThreshold: 10\n          type: MatchRule\n          action: Block\n          matchConditions:\n            - matchVariable: RemoteAddr\n              operator: IPMatch\n              negationCondition: false\n              matchValues:\n                - 10.0.1.0/24\n                - 10.0.0.0/24\n        - name: Rule2\n          enabled: true\n          priority: 50\n          rateLimitDurationInMinutes: 1\n          rateLimitThreshold: 10\n          type: MatchRule\n          action: Block\n          matchConditions:\n            - matchVariable: RemoteAddr\n              operator: IPMatch\n              negationCondition: false\n              matchValues:\n                - 192.168.1.0/24\n            - matchVariable: RequestHeader\n              selector: UserAgent\n              operator: Contains\n              negationCondition: false\n              matchValues:\n                - windows\n              transforms:\n                - Lowercase\n                - Trim\n      managedRules:\n        - type: DefaultRuleSet\n          version: '1.0'\n          action: Log\n          exclusions:\n            - matchVariable: QueryStringArgNames\n              operator: Equals\n              selector: not_suspicious\n          overrides:\n            - ruleGroupName: PHP\n              rules:\n                - ruleId: '933100'\n                  enabled: false\n                  action: Block\n            - ruleGroupName: SQLI\n              exclusions:\n                - matchVariable: QueryStringArgNames\n                  operator: Equals\n                  selector: really_not_suspicious\n              rules:\n                - ruleId: '942200'\n                  action: Block\n                  exclusions:\n                    - matchVariable: QueryStringArgNames\n                      operator: Equals\n                      selector: innocent\n        - type: Microsoft_BotManagerRuleSet\n          version: '1.1'\n          action: Log\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## \u003cspan pulumi-lang-nodejs=\"`scrubbingRule`\" pulumi-lang-dotnet=\"`ScrubbingRule`\" pulumi-lang-go=\"`scrubbingRule`\" pulumi-lang-python=\"`scrubbing_rule`\" pulumi-lang-yaml=\"`scrubbingRule`\" pulumi-lang-java=\"`scrubbingRule`\"\u003e`scrubbing_rule`\u003c/span\u003e Examples:\n\nThe following table shows examples of \u003cspan pulumi-lang-nodejs=\"`scrubbingRule`\" pulumi-lang-dotnet=\"`ScrubbingRule`\" pulumi-lang-go=\"`scrubbingRule`\" pulumi-lang-python=\"`scrubbing_rule`\" pulumi-lang-yaml=\"`scrubbingRule`\" pulumi-lang-java=\"`scrubbingRule`\"\u003e`scrubbing_rule`\u003c/span\u003e's that can be used to protect sensitive data:\n\n| Match Variable               | Operator       | Selector      | What Gets Scrubbed                                                            |\n| :--------------------------- | :------------- | :------------ | :---------------------------------------------------------------------------- |\n| `RequestHeaderNames`         | Equals         | keyToBlock    | {\"matchVariableName\":\"HeaderValue:keyToBlock\",\"matchVariableValue\":\"****\"}    |\n| `RequestCookieNames`         | Equals         | cookieToBlock | {\"matchVariableName\":\"CookieValue:cookieToBlock\",\"matchVariableValue\":\"****\"} |\n| `RequestBodyPostArgNames`    | Equals         | var           | {\"matchVariableName\":\"PostParamValue:var\",\"matchVariableValue\":\"****\"}        |\n| `RequestBodyJsonArgNames`    | Equals         | JsonValue     | {\"matchVariableName\":\"JsonValue:key\",\"matchVariableValue\":\"****\"}             |\n| `QueryStringArgNames`        | Equals         | foo           | {\"matchVariableName\":\"QueryParamValue:foo\",\"matchVariableValue\":\"****\"}       |\n| `RequestIPAddress`           | Equals Any     | Not Supported | {\"matchVariableName\":\"ClientIP\",\"matchVariableValue\":\"****\"}                  |\n| `RequestUri`                 | Equals Any     | Not Supported | {\"matchVariableName\":\"URI\",\"matchVariableValue\":\"****\"}                       |\n\n---\n\n## Import\n\nFront Door Firewall Policies can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:cdn/frontdoorFirewallPolicy:FrontdoorFirewallPolicy example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup1/providers/Microsoft.Network/frontDoorWebApplicationFirewallPolicies/firewallPolicy1\n```\n\n","properties":{"captchaCookieExpirationInMinutes":{"type":"integer","description":"Specifies the Captcha cookie lifetime in minutes. Possible values are between \u003cspan pulumi-lang-nodejs=\"`5`\" pulumi-lang-dotnet=\"`5`\" pulumi-lang-go=\"`5`\" pulumi-lang-python=\"`5`\" pulumi-lang-yaml=\"`5`\" pulumi-lang-java=\"`5`\"\u003e`5`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`1440`\" pulumi-lang-dotnet=\"`1440`\" pulumi-lang-go=\"`1440`\" pulumi-lang-python=\"`1440`\" pulumi-lang-yaml=\"`1440`\" pulumi-lang-java=\"`1440`\"\u003e`1440`\u003c/span\u003e. Defaults to\u003cspan pulumi-lang-nodejs=\"`30`\" pulumi-lang-dotnet=\"`30`\" pulumi-lang-go=\"`30`\" pulumi-lang-python=\"`30`\" pulumi-lang-yaml=\"`30`\" pulumi-lang-java=\"`30`\"\u003e`30`\u003c/span\u003e minutes.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`captchaCookieExpirationInMinutes`\" pulumi-lang-dotnet=\"`CaptchaCookieExpirationInMinutes`\" pulumi-lang-go=\"`captchaCookieExpirationInMinutes`\" pulumi-lang-python=\"`captcha_cookie_expiration_in_minutes`\" pulumi-lang-yaml=\"`captchaCookieExpirationInMinutes`\" pulumi-lang-java=\"`captchaCookieExpirationInMinutes`\"\u003e`captcha_cookie_expiration_in_minutes`\u003c/span\u003e field can only be set on `Premium_AzureFrontDoor` sku's. Please see the [Product Documentation](https://learn.microsoft.com/azure/web-application-firewall/afds/captcha-challenge) for more information.\n\n\u003e **Note:** When you remove the \u003cspan pulumi-lang-nodejs=\"`captchaCookieExpirationInMinutes`\" pulumi-lang-dotnet=\"`CaptchaCookieExpirationInMinutes`\" pulumi-lang-go=\"`captchaCookieExpirationInMinutes`\" pulumi-lang-python=\"`captcha_cookie_expiration_in_minutes`\" pulumi-lang-yaml=\"`captchaCookieExpirationInMinutes`\" pulumi-lang-java=\"`captchaCookieExpirationInMinutes`\"\u003e`captcha_cookie_expiration_in_minutes`\u003c/span\u003e field from your configuration, the value will revert to the default of \u003cspan pulumi-lang-nodejs=\"`30`\" pulumi-lang-dotnet=\"`30`\" pulumi-lang-go=\"`30`\" pulumi-lang-python=\"`30`\" pulumi-lang-yaml=\"`30`\" pulumi-lang-java=\"`30`\"\u003e`30`\u003c/span\u003e minutes in the Terraform state. This is because Azure manages this setting and Terraform will reflect the actual Azure configuration, which defaults to \u003cspan pulumi-lang-nodejs=\"`30`\" pulumi-lang-dotnet=\"`30`\" pulumi-lang-go=\"`30`\" pulumi-lang-python=\"`30`\" pulumi-lang-yaml=\"`30`\" pulumi-lang-java=\"`30`\"\u003e`30`\u003c/span\u003e minutes when not explicitly specified.\n"},"customBlockResponseBody":{"type":"string","description":"If a \u003cspan pulumi-lang-nodejs=\"`customRule`\" pulumi-lang-dotnet=\"`CustomRule`\" pulumi-lang-go=\"`customRule`\" pulumi-lang-python=\"`custom_rule`\" pulumi-lang-yaml=\"`customRule`\" pulumi-lang-java=\"`customRule`\"\u003e`custom_rule`\u003c/span\u003e block's action type is \u003cspan pulumi-lang-nodejs=\"`block`\" pulumi-lang-dotnet=\"`Block`\" pulumi-lang-go=\"`block`\" pulumi-lang-python=\"`block`\" pulumi-lang-yaml=\"`block`\" pulumi-lang-java=\"`block`\"\u003e`block`\u003c/span\u003e, this is the response body. The body must be specified in base64 encoding.\n"},"customBlockResponseStatusCode":{"type":"integer","description":"If a \u003cspan pulumi-lang-nodejs=\"`customRule`\" pulumi-lang-dotnet=\"`CustomRule`\" pulumi-lang-go=\"`customRule`\" pulumi-lang-python=\"`custom_rule`\" pulumi-lang-yaml=\"`customRule`\" pulumi-lang-java=\"`customRule`\"\u003e`custom_rule`\u003c/span\u003e block's action type is \u003cspan pulumi-lang-nodejs=\"`block`\" pulumi-lang-dotnet=\"`Block`\" pulumi-lang-go=\"`block`\" pulumi-lang-python=\"`block`\" pulumi-lang-yaml=\"`block`\" pulumi-lang-java=\"`block`\"\u003e`block`\u003c/span\u003e, this is the response status code. Possible values are \u003cspan pulumi-lang-nodejs=\"`200`\" pulumi-lang-dotnet=\"`200`\" pulumi-lang-go=\"`200`\" pulumi-lang-python=\"`200`\" pulumi-lang-yaml=\"`200`\" pulumi-lang-java=\"`200`\"\u003e`200`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`403`\" pulumi-lang-dotnet=\"`403`\" pulumi-lang-go=\"`403`\" pulumi-lang-python=\"`403`\" pulumi-lang-yaml=\"`403`\" pulumi-lang-java=\"`403`\"\u003e`403`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`405`\" pulumi-lang-dotnet=\"`405`\" pulumi-lang-go=\"`405`\" pulumi-lang-python=\"`405`\" pulumi-lang-yaml=\"`405`\" pulumi-lang-java=\"`405`\"\u003e`405`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`406`\" pulumi-lang-dotnet=\"`406`\" pulumi-lang-go=\"`406`\" pulumi-lang-python=\"`406`\" pulumi-lang-yaml=\"`406`\" pulumi-lang-java=\"`406`\"\u003e`406`\u003c/span\u003e, or \u003cspan pulumi-lang-nodejs=\"`429`\" pulumi-lang-dotnet=\"`429`\" pulumi-lang-go=\"`429`\" pulumi-lang-python=\"`429`\" pulumi-lang-yaml=\"`429`\" pulumi-lang-java=\"`429`\"\u003e`429`\u003c/span\u003e.\n"},"customRules":{"type":"array","items":{"$ref":"#/types/azure:cdn/FrontdoorFirewallPolicyCustomRule:FrontdoorFirewallPolicyCustomRule"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`customRule`\" pulumi-lang-dotnet=\"`CustomRule`\" pulumi-lang-go=\"`customRule`\" pulumi-lang-python=\"`custom_rule`\" pulumi-lang-yaml=\"`customRule`\" pulumi-lang-java=\"`customRule`\"\u003e`custom_rule`\u003c/span\u003e blocks as defined below.\n"},"enabled":{"type":"boolean","description":"Is the Front Door Firewall Policy enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"frontendEndpointIds":{"type":"array","items":{"type":"string"},"description":"The Front Door Profiles frontend endpoints associated with this Front Door Firewall Policy.\n"},"jsChallengeCookieExpirationInMinutes":{"type":"integer","description":"Specifies the JavaScript challenge cookie lifetime in minutes, after which the user will be revalidated. Possible values are between \u003cspan pulumi-lang-nodejs=\"`5`\" pulumi-lang-dotnet=\"`5`\" pulumi-lang-go=\"`5`\" pulumi-lang-python=\"`5`\" pulumi-lang-yaml=\"`5`\" pulumi-lang-java=\"`5`\"\u003e`5`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`1440`\" pulumi-lang-dotnet=\"`1440`\" pulumi-lang-go=\"`1440`\" pulumi-lang-python=\"`1440`\" pulumi-lang-yaml=\"`1440`\" pulumi-lang-java=\"`1440`\"\u003e`1440`\u003c/span\u003e minutes. Defaults to \u003cspan pulumi-lang-nodejs=\"`30`\" pulumi-lang-dotnet=\"`30`\" pulumi-lang-go=\"`30`\" pulumi-lang-python=\"`30`\" pulumi-lang-yaml=\"`30`\" pulumi-lang-java=\"`30`\"\u003e`30`\u003c/span\u003e minutes.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`jsChallengeCookieExpirationInMinutes`\" pulumi-lang-dotnet=\"`JsChallengeCookieExpirationInMinutes`\" pulumi-lang-go=\"`jsChallengeCookieExpirationInMinutes`\" pulumi-lang-python=\"`js_challenge_cookie_expiration_in_minutes`\" pulumi-lang-yaml=\"`jsChallengeCookieExpirationInMinutes`\" pulumi-lang-java=\"`jsChallengeCookieExpirationInMinutes`\"\u003e`js_challenge_cookie_expiration_in_minutes`\u003c/span\u003e field can only be set on `Premium_AzureFrontDoor` sku's. Please see the [Product Documentation](https://learn.microsoft.com/azure/web-application-firewall/waf-javascript-challenge) for more information.\n\n\u003e **Note:** When you remove the \u003cspan pulumi-lang-nodejs=\"`jsChallengeCookieExpirationInMinutes`\" pulumi-lang-dotnet=\"`JsChallengeCookieExpirationInMinutes`\" pulumi-lang-go=\"`jsChallengeCookieExpirationInMinutes`\" pulumi-lang-python=\"`js_challenge_cookie_expiration_in_minutes`\" pulumi-lang-yaml=\"`jsChallengeCookieExpirationInMinutes`\" pulumi-lang-java=\"`jsChallengeCookieExpirationInMinutes`\"\u003e`js_challenge_cookie_expiration_in_minutes`\u003c/span\u003e field from your configuration, the value will revert to the default of \u003cspan pulumi-lang-nodejs=\"`30`\" pulumi-lang-dotnet=\"`30`\" pulumi-lang-go=\"`30`\" pulumi-lang-python=\"`30`\" pulumi-lang-yaml=\"`30`\" pulumi-lang-java=\"`30`\"\u003e`30`\u003c/span\u003e minutes in the Terraform state. This is because Azure manages this setting and Terraform will reflect the actual Azure configuration, which defaults to \u003cspan pulumi-lang-nodejs=\"`30`\" pulumi-lang-dotnet=\"`30`\" pulumi-lang-go=\"`30`\" pulumi-lang-python=\"`30`\" pulumi-lang-yaml=\"`30`\" pulumi-lang-java=\"`30`\"\u003e`30`\u003c/span\u003e minutes when not explicitly specified.\n"},"logScrubbing":{"$ref":"#/types/azure:cdn/FrontdoorFirewallPolicyLogScrubbing:FrontdoorFirewallPolicyLogScrubbing","description":"A \u003cspan pulumi-lang-nodejs=\"`logScrubbing`\" pulumi-lang-dotnet=\"`LogScrubbing`\" pulumi-lang-go=\"`logScrubbing`\" pulumi-lang-python=\"`log_scrubbing`\" pulumi-lang-yaml=\"`logScrubbing`\" pulumi-lang-java=\"`logScrubbing`\"\u003e`log_scrubbing`\u003c/span\u003e block as defined below.\n\n!\u003e **Note:** Setting the\u003cspan pulumi-lang-nodejs=\"`logScrubbing`\" pulumi-lang-dotnet=\"`LogScrubbing`\" pulumi-lang-go=\"`logScrubbing`\" pulumi-lang-python=\"`log_scrubbing`\" pulumi-lang-yaml=\"`logScrubbing`\" pulumi-lang-java=\"`logScrubbing`\"\u003e`log_scrubbing`\u003c/span\u003e block is currently in **PREVIEW**. Please see the [Supplemental Terms of Use for Microsoft Azure Previews](https://azure.microsoft.com/support/legal/preview-supplemental-terms/) for legal terms that apply to Azure features that are in beta, preview, or otherwise not yet released into general availability.\n"},"managedRules":{"type":"array","items":{"$ref":"#/types/azure:cdn/FrontdoorFirewallPolicyManagedRule:FrontdoorFirewallPolicyManagedRule"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`managedRule`\" pulumi-lang-dotnet=\"`ManagedRule`\" pulumi-lang-go=\"`managedRule`\" pulumi-lang-python=\"`managed_rule`\" pulumi-lang-yaml=\"`managedRule`\" pulumi-lang-java=\"`managedRule`\"\u003e`managed_rule`\u003c/span\u003e blocks as defined below.\n"},"mode":{"type":"string","description":"The Front Door Firewall Policy mode. Possible values are `Detection`, `Prevention`.\n"},"name":{"type":"string","description":"The name of the policy. Changing this forces a new resource to be created.\n"},"redirectUrl":{"type":"string","description":"If action type is redirect, this field represents redirect URL for the client.\n"},"requestBodyCheckEnabled":{"type":"boolean","description":"Should policy managed rules inspect the request body content? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n\n\u003e **Note:** When run in `Detection` mode, the Front Door Firewall Policy doesn't take any other actions other than monitoring and logging the request and its matched Front Door Rule to the Web Application Firewall logs.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group. Changing this forces a new resource to be created.\n"},"skuName":{"type":"string","description":"The sku's pricing tier for this Front Door Firewall Policy. Possible values include `Standard_AzureFrontDoor` or `Premium_AzureFrontDoor`. Changing this forces a new resource to be created.\n\n\u003e **Note:** The `Standard_AzureFrontDoor` Front Door Firewall Policy sku may contain \u003cspan pulumi-lang-nodejs=\"`custom`\" pulumi-lang-dotnet=\"`Custom`\" pulumi-lang-go=\"`custom`\" pulumi-lang-python=\"`custom`\" pulumi-lang-yaml=\"`custom`\" pulumi-lang-java=\"`custom`\"\u003e`custom`\u003c/span\u003e rules only. The `Premium_AzureFrontDoor` Front Door Firewall Policy sku's may contain both \u003cspan pulumi-lang-nodejs=\"`custom`\" pulumi-lang-dotnet=\"`Custom`\" pulumi-lang-go=\"`custom`\" pulumi-lang-python=\"`custom`\" pulumi-lang-yaml=\"`custom`\" pulumi-lang-java=\"`custom`\"\u003e`custom`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`managed`\" pulumi-lang-dotnet=\"`Managed`\" pulumi-lang-go=\"`managed`\" pulumi-lang-python=\"`managed`\" pulumi-lang-yaml=\"`managed`\" pulumi-lang-java=\"`managed`\"\u003e`managed`\u003c/span\u003e rules.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the Front Door Firewall Policy.\n"}},"required":["captchaCookieExpirationInMinutes","frontendEndpointIds","jsChallengeCookieExpirationInMinutes","mode","name","resourceGroupName","skuName"],"inputProperties":{"captchaCookieExpirationInMinutes":{"type":"integer","description":"Specifies the Captcha cookie lifetime in minutes. Possible values are between \u003cspan pulumi-lang-nodejs=\"`5`\" pulumi-lang-dotnet=\"`5`\" pulumi-lang-go=\"`5`\" pulumi-lang-python=\"`5`\" pulumi-lang-yaml=\"`5`\" pulumi-lang-java=\"`5`\"\u003e`5`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`1440`\" pulumi-lang-dotnet=\"`1440`\" pulumi-lang-go=\"`1440`\" pulumi-lang-python=\"`1440`\" pulumi-lang-yaml=\"`1440`\" pulumi-lang-java=\"`1440`\"\u003e`1440`\u003c/span\u003e. Defaults to\u003cspan pulumi-lang-nodejs=\"`30`\" pulumi-lang-dotnet=\"`30`\" pulumi-lang-go=\"`30`\" pulumi-lang-python=\"`30`\" pulumi-lang-yaml=\"`30`\" pulumi-lang-java=\"`30`\"\u003e`30`\u003c/span\u003e minutes.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`captchaCookieExpirationInMinutes`\" pulumi-lang-dotnet=\"`CaptchaCookieExpirationInMinutes`\" pulumi-lang-go=\"`captchaCookieExpirationInMinutes`\" pulumi-lang-python=\"`captcha_cookie_expiration_in_minutes`\" pulumi-lang-yaml=\"`captchaCookieExpirationInMinutes`\" pulumi-lang-java=\"`captchaCookieExpirationInMinutes`\"\u003e`captcha_cookie_expiration_in_minutes`\u003c/span\u003e field can only be set on `Premium_AzureFrontDoor` sku's. Please see the [Product Documentation](https://learn.microsoft.com/azure/web-application-firewall/afds/captcha-challenge) for more information.\n\n\u003e **Note:** When you remove the \u003cspan pulumi-lang-nodejs=\"`captchaCookieExpirationInMinutes`\" pulumi-lang-dotnet=\"`CaptchaCookieExpirationInMinutes`\" pulumi-lang-go=\"`captchaCookieExpirationInMinutes`\" pulumi-lang-python=\"`captcha_cookie_expiration_in_minutes`\" pulumi-lang-yaml=\"`captchaCookieExpirationInMinutes`\" pulumi-lang-java=\"`captchaCookieExpirationInMinutes`\"\u003e`captcha_cookie_expiration_in_minutes`\u003c/span\u003e field from your configuration, the value will revert to the default of \u003cspan pulumi-lang-nodejs=\"`30`\" pulumi-lang-dotnet=\"`30`\" pulumi-lang-go=\"`30`\" pulumi-lang-python=\"`30`\" pulumi-lang-yaml=\"`30`\" pulumi-lang-java=\"`30`\"\u003e`30`\u003c/span\u003e minutes in the Terraform state. This is because Azure manages this setting and Terraform will reflect the actual Azure configuration, which defaults to \u003cspan pulumi-lang-nodejs=\"`30`\" pulumi-lang-dotnet=\"`30`\" pulumi-lang-go=\"`30`\" pulumi-lang-python=\"`30`\" pulumi-lang-yaml=\"`30`\" pulumi-lang-java=\"`30`\"\u003e`30`\u003c/span\u003e minutes when not explicitly specified.\n"},"customBlockResponseBody":{"type":"string","description":"If a \u003cspan pulumi-lang-nodejs=\"`customRule`\" pulumi-lang-dotnet=\"`CustomRule`\" pulumi-lang-go=\"`customRule`\" pulumi-lang-python=\"`custom_rule`\" pulumi-lang-yaml=\"`customRule`\" pulumi-lang-java=\"`customRule`\"\u003e`custom_rule`\u003c/span\u003e block's action type is \u003cspan pulumi-lang-nodejs=\"`block`\" pulumi-lang-dotnet=\"`Block`\" pulumi-lang-go=\"`block`\" pulumi-lang-python=\"`block`\" pulumi-lang-yaml=\"`block`\" pulumi-lang-java=\"`block`\"\u003e`block`\u003c/span\u003e, this is the response body. The body must be specified in base64 encoding.\n"},"customBlockResponseStatusCode":{"type":"integer","description":"If a \u003cspan pulumi-lang-nodejs=\"`customRule`\" pulumi-lang-dotnet=\"`CustomRule`\" pulumi-lang-go=\"`customRule`\" pulumi-lang-python=\"`custom_rule`\" pulumi-lang-yaml=\"`customRule`\" pulumi-lang-java=\"`customRule`\"\u003e`custom_rule`\u003c/span\u003e block's action type is \u003cspan pulumi-lang-nodejs=\"`block`\" pulumi-lang-dotnet=\"`Block`\" pulumi-lang-go=\"`block`\" pulumi-lang-python=\"`block`\" pulumi-lang-yaml=\"`block`\" pulumi-lang-java=\"`block`\"\u003e`block`\u003c/span\u003e, this is the response status code. Possible values are \u003cspan pulumi-lang-nodejs=\"`200`\" pulumi-lang-dotnet=\"`200`\" pulumi-lang-go=\"`200`\" pulumi-lang-python=\"`200`\" pulumi-lang-yaml=\"`200`\" pulumi-lang-java=\"`200`\"\u003e`200`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`403`\" pulumi-lang-dotnet=\"`403`\" pulumi-lang-go=\"`403`\" pulumi-lang-python=\"`403`\" pulumi-lang-yaml=\"`403`\" pulumi-lang-java=\"`403`\"\u003e`403`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`405`\" pulumi-lang-dotnet=\"`405`\" pulumi-lang-go=\"`405`\" pulumi-lang-python=\"`405`\" pulumi-lang-yaml=\"`405`\" pulumi-lang-java=\"`405`\"\u003e`405`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`406`\" pulumi-lang-dotnet=\"`406`\" pulumi-lang-go=\"`406`\" pulumi-lang-python=\"`406`\" pulumi-lang-yaml=\"`406`\" pulumi-lang-java=\"`406`\"\u003e`406`\u003c/span\u003e, or \u003cspan pulumi-lang-nodejs=\"`429`\" pulumi-lang-dotnet=\"`429`\" pulumi-lang-go=\"`429`\" pulumi-lang-python=\"`429`\" pulumi-lang-yaml=\"`429`\" pulumi-lang-java=\"`429`\"\u003e`429`\u003c/span\u003e.\n"},"customRules":{"type":"array","items":{"$ref":"#/types/azure:cdn/FrontdoorFirewallPolicyCustomRule:FrontdoorFirewallPolicyCustomRule"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`customRule`\" pulumi-lang-dotnet=\"`CustomRule`\" pulumi-lang-go=\"`customRule`\" pulumi-lang-python=\"`custom_rule`\" pulumi-lang-yaml=\"`customRule`\" pulumi-lang-java=\"`customRule`\"\u003e`custom_rule`\u003c/span\u003e blocks as defined below.\n"},"enabled":{"type":"boolean","description":"Is the Front Door Firewall Policy enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"jsChallengeCookieExpirationInMinutes":{"type":"integer","description":"Specifies the JavaScript challenge cookie lifetime in minutes, after which the user will be revalidated. Possible values are between \u003cspan pulumi-lang-nodejs=\"`5`\" pulumi-lang-dotnet=\"`5`\" pulumi-lang-go=\"`5`\" pulumi-lang-python=\"`5`\" pulumi-lang-yaml=\"`5`\" pulumi-lang-java=\"`5`\"\u003e`5`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`1440`\" pulumi-lang-dotnet=\"`1440`\" pulumi-lang-go=\"`1440`\" pulumi-lang-python=\"`1440`\" pulumi-lang-yaml=\"`1440`\" pulumi-lang-java=\"`1440`\"\u003e`1440`\u003c/span\u003e minutes. Defaults to \u003cspan pulumi-lang-nodejs=\"`30`\" pulumi-lang-dotnet=\"`30`\" pulumi-lang-go=\"`30`\" pulumi-lang-python=\"`30`\" pulumi-lang-yaml=\"`30`\" pulumi-lang-java=\"`30`\"\u003e`30`\u003c/span\u003e minutes.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`jsChallengeCookieExpirationInMinutes`\" pulumi-lang-dotnet=\"`JsChallengeCookieExpirationInMinutes`\" pulumi-lang-go=\"`jsChallengeCookieExpirationInMinutes`\" pulumi-lang-python=\"`js_challenge_cookie_expiration_in_minutes`\" pulumi-lang-yaml=\"`jsChallengeCookieExpirationInMinutes`\" pulumi-lang-java=\"`jsChallengeCookieExpirationInMinutes`\"\u003e`js_challenge_cookie_expiration_in_minutes`\u003c/span\u003e field can only be set on `Premium_AzureFrontDoor` sku's. Please see the [Product Documentation](https://learn.microsoft.com/azure/web-application-firewall/waf-javascript-challenge) for more information.\n\n\u003e **Note:** When you remove the \u003cspan pulumi-lang-nodejs=\"`jsChallengeCookieExpirationInMinutes`\" pulumi-lang-dotnet=\"`JsChallengeCookieExpirationInMinutes`\" pulumi-lang-go=\"`jsChallengeCookieExpirationInMinutes`\" pulumi-lang-python=\"`js_challenge_cookie_expiration_in_minutes`\" pulumi-lang-yaml=\"`jsChallengeCookieExpirationInMinutes`\" pulumi-lang-java=\"`jsChallengeCookieExpirationInMinutes`\"\u003e`js_challenge_cookie_expiration_in_minutes`\u003c/span\u003e field from your configuration, the value will revert to the default of \u003cspan pulumi-lang-nodejs=\"`30`\" pulumi-lang-dotnet=\"`30`\" pulumi-lang-go=\"`30`\" pulumi-lang-python=\"`30`\" pulumi-lang-yaml=\"`30`\" pulumi-lang-java=\"`30`\"\u003e`30`\u003c/span\u003e minutes in the Terraform state. This is because Azure manages this setting and Terraform will reflect the actual Azure configuration, which defaults to \u003cspan pulumi-lang-nodejs=\"`30`\" pulumi-lang-dotnet=\"`30`\" pulumi-lang-go=\"`30`\" pulumi-lang-python=\"`30`\" pulumi-lang-yaml=\"`30`\" pulumi-lang-java=\"`30`\"\u003e`30`\u003c/span\u003e minutes when not explicitly specified.\n"},"logScrubbing":{"$ref":"#/types/azure:cdn/FrontdoorFirewallPolicyLogScrubbing:FrontdoorFirewallPolicyLogScrubbing","description":"A \u003cspan pulumi-lang-nodejs=\"`logScrubbing`\" pulumi-lang-dotnet=\"`LogScrubbing`\" pulumi-lang-go=\"`logScrubbing`\" pulumi-lang-python=\"`log_scrubbing`\" pulumi-lang-yaml=\"`logScrubbing`\" pulumi-lang-java=\"`logScrubbing`\"\u003e`log_scrubbing`\u003c/span\u003e block as defined below.\n\n!\u003e **Note:** Setting the\u003cspan pulumi-lang-nodejs=\"`logScrubbing`\" pulumi-lang-dotnet=\"`LogScrubbing`\" pulumi-lang-go=\"`logScrubbing`\" pulumi-lang-python=\"`log_scrubbing`\" pulumi-lang-yaml=\"`logScrubbing`\" pulumi-lang-java=\"`logScrubbing`\"\u003e`log_scrubbing`\u003c/span\u003e block is currently in **PREVIEW**. Please see the [Supplemental Terms of Use for Microsoft Azure Previews](https://azure.microsoft.com/support/legal/preview-supplemental-terms/) for legal terms that apply to Azure features that are in beta, preview, or otherwise not yet released into general availability.\n"},"managedRules":{"type":"array","items":{"$ref":"#/types/azure:cdn/FrontdoorFirewallPolicyManagedRule:FrontdoorFirewallPolicyManagedRule"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`managedRule`\" pulumi-lang-dotnet=\"`ManagedRule`\" pulumi-lang-go=\"`managedRule`\" pulumi-lang-python=\"`managed_rule`\" pulumi-lang-yaml=\"`managedRule`\" pulumi-lang-java=\"`managedRule`\"\u003e`managed_rule`\u003c/span\u003e blocks as defined below.\n"},"mode":{"type":"string","description":"The Front Door Firewall Policy mode. Possible values are `Detection`, `Prevention`.\n"},"name":{"type":"string","description":"The name of the policy. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"redirectUrl":{"type":"string","description":"If action type is redirect, this field represents redirect URL for the client.\n"},"requestBodyCheckEnabled":{"type":"boolean","description":"Should policy managed rules inspect the request body content? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n\n\u003e **Note:** When run in `Detection` mode, the Front Door Firewall Policy doesn't take any other actions other than monitoring and logging the request and its matched Front Door Rule to the Web Application Firewall logs.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"skuName":{"type":"string","description":"The sku's pricing tier for this Front Door Firewall Policy. Possible values include `Standard_AzureFrontDoor` or `Premium_AzureFrontDoor`. Changing this forces a new resource to be created.\n\n\u003e **Note:** The `Standard_AzureFrontDoor` Front Door Firewall Policy sku may contain \u003cspan pulumi-lang-nodejs=\"`custom`\" pulumi-lang-dotnet=\"`Custom`\" pulumi-lang-go=\"`custom`\" pulumi-lang-python=\"`custom`\" pulumi-lang-yaml=\"`custom`\" pulumi-lang-java=\"`custom`\"\u003e`custom`\u003c/span\u003e rules only. The `Premium_AzureFrontDoor` Front Door Firewall Policy sku's may contain both \u003cspan pulumi-lang-nodejs=\"`custom`\" pulumi-lang-dotnet=\"`Custom`\" pulumi-lang-go=\"`custom`\" pulumi-lang-python=\"`custom`\" pulumi-lang-yaml=\"`custom`\" pulumi-lang-java=\"`custom`\"\u003e`custom`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`managed`\" pulumi-lang-dotnet=\"`Managed`\" pulumi-lang-go=\"`managed`\" pulumi-lang-python=\"`managed`\" pulumi-lang-yaml=\"`managed`\" pulumi-lang-java=\"`managed`\"\u003e`managed`\u003c/span\u003e rules.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the Front Door Firewall Policy.\n"}},"requiredInputs":["mode","resourceGroupName","skuName"],"stateInputs":{"description":"Input properties used for looking up and filtering FrontdoorFirewallPolicy resources.\n","properties":{"captchaCookieExpirationInMinutes":{"type":"integer","description":"Specifies the Captcha cookie lifetime in minutes. Possible values are between \u003cspan pulumi-lang-nodejs=\"`5`\" pulumi-lang-dotnet=\"`5`\" pulumi-lang-go=\"`5`\" pulumi-lang-python=\"`5`\" pulumi-lang-yaml=\"`5`\" pulumi-lang-java=\"`5`\"\u003e`5`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`1440`\" pulumi-lang-dotnet=\"`1440`\" pulumi-lang-go=\"`1440`\" pulumi-lang-python=\"`1440`\" pulumi-lang-yaml=\"`1440`\" pulumi-lang-java=\"`1440`\"\u003e`1440`\u003c/span\u003e. Defaults to\u003cspan pulumi-lang-nodejs=\"`30`\" pulumi-lang-dotnet=\"`30`\" pulumi-lang-go=\"`30`\" pulumi-lang-python=\"`30`\" pulumi-lang-yaml=\"`30`\" pulumi-lang-java=\"`30`\"\u003e`30`\u003c/span\u003e minutes.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`captchaCookieExpirationInMinutes`\" pulumi-lang-dotnet=\"`CaptchaCookieExpirationInMinutes`\" pulumi-lang-go=\"`captchaCookieExpirationInMinutes`\" pulumi-lang-python=\"`captcha_cookie_expiration_in_minutes`\" pulumi-lang-yaml=\"`captchaCookieExpirationInMinutes`\" pulumi-lang-java=\"`captchaCookieExpirationInMinutes`\"\u003e`captcha_cookie_expiration_in_minutes`\u003c/span\u003e field can only be set on `Premium_AzureFrontDoor` sku's. Please see the [Product Documentation](https://learn.microsoft.com/azure/web-application-firewall/afds/captcha-challenge) for more information.\n\n\u003e **Note:** When you remove the \u003cspan pulumi-lang-nodejs=\"`captchaCookieExpirationInMinutes`\" pulumi-lang-dotnet=\"`CaptchaCookieExpirationInMinutes`\" pulumi-lang-go=\"`captchaCookieExpirationInMinutes`\" pulumi-lang-python=\"`captcha_cookie_expiration_in_minutes`\" pulumi-lang-yaml=\"`captchaCookieExpirationInMinutes`\" pulumi-lang-java=\"`captchaCookieExpirationInMinutes`\"\u003e`captcha_cookie_expiration_in_minutes`\u003c/span\u003e field from your configuration, the value will revert to the default of \u003cspan pulumi-lang-nodejs=\"`30`\" pulumi-lang-dotnet=\"`30`\" pulumi-lang-go=\"`30`\" pulumi-lang-python=\"`30`\" pulumi-lang-yaml=\"`30`\" pulumi-lang-java=\"`30`\"\u003e`30`\u003c/span\u003e minutes in the Terraform state. This is because Azure manages this setting and Terraform will reflect the actual Azure configuration, which defaults to \u003cspan pulumi-lang-nodejs=\"`30`\" pulumi-lang-dotnet=\"`30`\" pulumi-lang-go=\"`30`\" pulumi-lang-python=\"`30`\" pulumi-lang-yaml=\"`30`\" pulumi-lang-java=\"`30`\"\u003e`30`\u003c/span\u003e minutes when not explicitly specified.\n"},"customBlockResponseBody":{"type":"string","description":"If a \u003cspan pulumi-lang-nodejs=\"`customRule`\" pulumi-lang-dotnet=\"`CustomRule`\" pulumi-lang-go=\"`customRule`\" pulumi-lang-python=\"`custom_rule`\" pulumi-lang-yaml=\"`customRule`\" pulumi-lang-java=\"`customRule`\"\u003e`custom_rule`\u003c/span\u003e block's action type is \u003cspan pulumi-lang-nodejs=\"`block`\" pulumi-lang-dotnet=\"`Block`\" pulumi-lang-go=\"`block`\" pulumi-lang-python=\"`block`\" pulumi-lang-yaml=\"`block`\" pulumi-lang-java=\"`block`\"\u003e`block`\u003c/span\u003e, this is the response body. The body must be specified in base64 encoding.\n"},"customBlockResponseStatusCode":{"type":"integer","description":"If a \u003cspan pulumi-lang-nodejs=\"`customRule`\" pulumi-lang-dotnet=\"`CustomRule`\" pulumi-lang-go=\"`customRule`\" pulumi-lang-python=\"`custom_rule`\" pulumi-lang-yaml=\"`customRule`\" pulumi-lang-java=\"`customRule`\"\u003e`custom_rule`\u003c/span\u003e block's action type is \u003cspan pulumi-lang-nodejs=\"`block`\" pulumi-lang-dotnet=\"`Block`\" pulumi-lang-go=\"`block`\" pulumi-lang-python=\"`block`\" pulumi-lang-yaml=\"`block`\" pulumi-lang-java=\"`block`\"\u003e`block`\u003c/span\u003e, this is the response status code. Possible values are \u003cspan pulumi-lang-nodejs=\"`200`\" pulumi-lang-dotnet=\"`200`\" pulumi-lang-go=\"`200`\" pulumi-lang-python=\"`200`\" pulumi-lang-yaml=\"`200`\" pulumi-lang-java=\"`200`\"\u003e`200`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`403`\" pulumi-lang-dotnet=\"`403`\" pulumi-lang-go=\"`403`\" pulumi-lang-python=\"`403`\" pulumi-lang-yaml=\"`403`\" pulumi-lang-java=\"`403`\"\u003e`403`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`405`\" pulumi-lang-dotnet=\"`405`\" pulumi-lang-go=\"`405`\" pulumi-lang-python=\"`405`\" pulumi-lang-yaml=\"`405`\" pulumi-lang-java=\"`405`\"\u003e`405`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`406`\" pulumi-lang-dotnet=\"`406`\" pulumi-lang-go=\"`406`\" pulumi-lang-python=\"`406`\" pulumi-lang-yaml=\"`406`\" pulumi-lang-java=\"`406`\"\u003e`406`\u003c/span\u003e, or \u003cspan pulumi-lang-nodejs=\"`429`\" pulumi-lang-dotnet=\"`429`\" pulumi-lang-go=\"`429`\" pulumi-lang-python=\"`429`\" pulumi-lang-yaml=\"`429`\" pulumi-lang-java=\"`429`\"\u003e`429`\u003c/span\u003e.\n"},"customRules":{"type":"array","items":{"$ref":"#/types/azure:cdn/FrontdoorFirewallPolicyCustomRule:FrontdoorFirewallPolicyCustomRule"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`customRule`\" pulumi-lang-dotnet=\"`CustomRule`\" pulumi-lang-go=\"`customRule`\" pulumi-lang-python=\"`custom_rule`\" pulumi-lang-yaml=\"`customRule`\" pulumi-lang-java=\"`customRule`\"\u003e`custom_rule`\u003c/span\u003e blocks as defined below.\n"},"enabled":{"type":"boolean","description":"Is the Front Door Firewall Policy enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"frontendEndpointIds":{"type":"array","items":{"type":"string"},"description":"The Front Door Profiles frontend endpoints associated with this Front Door Firewall Policy.\n"},"jsChallengeCookieExpirationInMinutes":{"type":"integer","description":"Specifies the JavaScript challenge cookie lifetime in minutes, after which the user will be revalidated. Possible values are between \u003cspan pulumi-lang-nodejs=\"`5`\" pulumi-lang-dotnet=\"`5`\" pulumi-lang-go=\"`5`\" pulumi-lang-python=\"`5`\" pulumi-lang-yaml=\"`5`\" pulumi-lang-java=\"`5`\"\u003e`5`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`1440`\" pulumi-lang-dotnet=\"`1440`\" pulumi-lang-go=\"`1440`\" pulumi-lang-python=\"`1440`\" pulumi-lang-yaml=\"`1440`\" pulumi-lang-java=\"`1440`\"\u003e`1440`\u003c/span\u003e minutes. Defaults to \u003cspan pulumi-lang-nodejs=\"`30`\" pulumi-lang-dotnet=\"`30`\" pulumi-lang-go=\"`30`\" pulumi-lang-python=\"`30`\" pulumi-lang-yaml=\"`30`\" pulumi-lang-java=\"`30`\"\u003e`30`\u003c/span\u003e minutes.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`jsChallengeCookieExpirationInMinutes`\" pulumi-lang-dotnet=\"`JsChallengeCookieExpirationInMinutes`\" pulumi-lang-go=\"`jsChallengeCookieExpirationInMinutes`\" pulumi-lang-python=\"`js_challenge_cookie_expiration_in_minutes`\" pulumi-lang-yaml=\"`jsChallengeCookieExpirationInMinutes`\" pulumi-lang-java=\"`jsChallengeCookieExpirationInMinutes`\"\u003e`js_challenge_cookie_expiration_in_minutes`\u003c/span\u003e field can only be set on `Premium_AzureFrontDoor` sku's. Please see the [Product Documentation](https://learn.microsoft.com/azure/web-application-firewall/waf-javascript-challenge) for more information.\n\n\u003e **Note:** When you remove the \u003cspan pulumi-lang-nodejs=\"`jsChallengeCookieExpirationInMinutes`\" pulumi-lang-dotnet=\"`JsChallengeCookieExpirationInMinutes`\" pulumi-lang-go=\"`jsChallengeCookieExpirationInMinutes`\" pulumi-lang-python=\"`js_challenge_cookie_expiration_in_minutes`\" pulumi-lang-yaml=\"`jsChallengeCookieExpirationInMinutes`\" pulumi-lang-java=\"`jsChallengeCookieExpirationInMinutes`\"\u003e`js_challenge_cookie_expiration_in_minutes`\u003c/span\u003e field from your configuration, the value will revert to the default of \u003cspan pulumi-lang-nodejs=\"`30`\" pulumi-lang-dotnet=\"`30`\" pulumi-lang-go=\"`30`\" pulumi-lang-python=\"`30`\" pulumi-lang-yaml=\"`30`\" pulumi-lang-java=\"`30`\"\u003e`30`\u003c/span\u003e minutes in the Terraform state. This is because Azure manages this setting and Terraform will reflect the actual Azure configuration, which defaults to \u003cspan pulumi-lang-nodejs=\"`30`\" pulumi-lang-dotnet=\"`30`\" pulumi-lang-go=\"`30`\" pulumi-lang-python=\"`30`\" pulumi-lang-yaml=\"`30`\" pulumi-lang-java=\"`30`\"\u003e`30`\u003c/span\u003e minutes when not explicitly specified.\n"},"logScrubbing":{"$ref":"#/types/azure:cdn/FrontdoorFirewallPolicyLogScrubbing:FrontdoorFirewallPolicyLogScrubbing","description":"A \u003cspan pulumi-lang-nodejs=\"`logScrubbing`\" pulumi-lang-dotnet=\"`LogScrubbing`\" pulumi-lang-go=\"`logScrubbing`\" pulumi-lang-python=\"`log_scrubbing`\" pulumi-lang-yaml=\"`logScrubbing`\" pulumi-lang-java=\"`logScrubbing`\"\u003e`log_scrubbing`\u003c/span\u003e block as defined below.\n\n!\u003e **Note:** Setting the\u003cspan pulumi-lang-nodejs=\"`logScrubbing`\" pulumi-lang-dotnet=\"`LogScrubbing`\" pulumi-lang-go=\"`logScrubbing`\" pulumi-lang-python=\"`log_scrubbing`\" pulumi-lang-yaml=\"`logScrubbing`\" pulumi-lang-java=\"`logScrubbing`\"\u003e`log_scrubbing`\u003c/span\u003e block is currently in **PREVIEW**. Please see the [Supplemental Terms of Use for Microsoft Azure Previews](https://azure.microsoft.com/support/legal/preview-supplemental-terms/) for legal terms that apply to Azure features that are in beta, preview, or otherwise not yet released into general availability.\n"},"managedRules":{"type":"array","items":{"$ref":"#/types/azure:cdn/FrontdoorFirewallPolicyManagedRule:FrontdoorFirewallPolicyManagedRule"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`managedRule`\" pulumi-lang-dotnet=\"`ManagedRule`\" pulumi-lang-go=\"`managedRule`\" pulumi-lang-python=\"`managed_rule`\" pulumi-lang-yaml=\"`managedRule`\" pulumi-lang-java=\"`managedRule`\"\u003e`managed_rule`\u003c/span\u003e blocks as defined below.\n"},"mode":{"type":"string","description":"The Front Door Firewall Policy mode. Possible values are `Detection`, `Prevention`.\n"},"name":{"type":"string","description":"The name of the policy. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"redirectUrl":{"type":"string","description":"If action type is redirect, this field represents redirect URL for the client.\n"},"requestBodyCheckEnabled":{"type":"boolean","description":"Should policy managed rules inspect the request body content? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n\n\u003e **Note:** When run in `Detection` mode, the Front Door Firewall Policy doesn't take any other actions other than monitoring and logging the request and its matched Front Door Rule to the Web Application Firewall logs.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"skuName":{"type":"string","description":"The sku's pricing tier for this Front Door Firewall Policy. Possible values include `Standard_AzureFrontDoor` or `Premium_AzureFrontDoor`. Changing this forces a new resource to be created.\n\n\u003e **Note:** The `Standard_AzureFrontDoor` Front Door Firewall Policy sku may contain \u003cspan pulumi-lang-nodejs=\"`custom`\" pulumi-lang-dotnet=\"`Custom`\" pulumi-lang-go=\"`custom`\" pulumi-lang-python=\"`custom`\" pulumi-lang-yaml=\"`custom`\" pulumi-lang-java=\"`custom`\"\u003e`custom`\u003c/span\u003e rules only. The `Premium_AzureFrontDoor` Front Door Firewall Policy sku's may contain both \u003cspan pulumi-lang-nodejs=\"`custom`\" pulumi-lang-dotnet=\"`Custom`\" pulumi-lang-go=\"`custom`\" pulumi-lang-python=\"`custom`\" pulumi-lang-yaml=\"`custom`\" pulumi-lang-java=\"`custom`\"\u003e`custom`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`managed`\" pulumi-lang-dotnet=\"`Managed`\" pulumi-lang-go=\"`managed`\" pulumi-lang-python=\"`managed`\" pulumi-lang-yaml=\"`managed`\" pulumi-lang-java=\"`managed`\"\u003e`managed`\u003c/span\u003e rules.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the Front Door Firewall Policy.\n"}},"type":"object"}},"azure:cdn/frontdoorOrigin:FrontdoorOrigin":{"description":"Manages a Front Door (standard/premium) Origin.\n\n!\u003e **Note:** If you are attempting to implement an Origin that uses its own Private Link Service with a Load Balancer the Profile resource in your configuration file **must** have a \u003cspan pulumi-lang-nodejs=\"`dependsOn`\" pulumi-lang-dotnet=\"`DependsOn`\" pulumi-lang-go=\"`dependsOn`\" pulumi-lang-python=\"`depends_on`\" pulumi-lang-yaml=\"`dependsOn`\" pulumi-lang-java=\"`dependsOn`\"\u003e`depends_on`\u003c/span\u003e meta-argument which references the \u003cspan pulumi-lang-nodejs=\"`azure.privatedns.LinkService`\" pulumi-lang-dotnet=\"`azure.privatedns.LinkService`\" pulumi-lang-go=\"`privatedns.LinkService`\" pulumi-lang-python=\"`privatedns.LinkService`\" pulumi-lang-yaml=\"`azure.privatedns.LinkService`\" pulumi-lang-java=\"`azure.privatedns.LinkService`\"\u003e`azure.privatedns.LinkService`\u003c/span\u003e, see `Example Usage With Private Link Service` below.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleFrontdoorProfile = new azure.cdn.FrontdoorProfile(\"example\", {\n    name: \"example-profile\",\n    resourceGroupName: example.name,\n    skuName: \"Premium_AzureFrontDoor\",\n});\nconst exampleFrontdoorOriginGroup = new azure.cdn.FrontdoorOriginGroup(\"example\", {\n    name: \"example-origingroup\",\n    cdnFrontdoorProfileId: exampleFrontdoorProfile.id,\n    loadBalancing: {},\n});\nconst exampleFrontdoorOrigin = new azure.cdn.FrontdoorOrigin(\"example\", {\n    name: \"example-origin\",\n    cdnFrontdoorOriginGroupId: exampleFrontdoorOriginGroup.id,\n    enabled: true,\n    certificateNameCheckEnabled: false,\n    hostName: \"contoso.com\",\n    httpPort: 80,\n    httpsPort: 443,\n    originHostHeader: \"www.contoso.com\",\n    priority: 1,\n    weight: 1,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_frontdoor_profile = azure.cdn.FrontdoorProfile(\"example\",\n    name=\"example-profile\",\n    resource_group_name=example.name,\n    sku_name=\"Premium_AzureFrontDoor\")\nexample_frontdoor_origin_group = azure.cdn.FrontdoorOriginGroup(\"example\",\n    name=\"example-origingroup\",\n    cdn_frontdoor_profile_id=example_frontdoor_profile.id,\n    load_balancing={})\nexample_frontdoor_origin = azure.cdn.FrontdoorOrigin(\"example\",\n    name=\"example-origin\",\n    cdn_frontdoor_origin_group_id=example_frontdoor_origin_group.id,\n    enabled=True,\n    certificate_name_check_enabled=False,\n    host_name=\"contoso.com\",\n    http_port=80,\n    https_port=443,\n    origin_host_header=\"www.contoso.com\",\n    priority=1,\n    weight=1)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleFrontdoorProfile = new Azure.Cdn.FrontdoorProfile(\"example\", new()\n    {\n        Name = \"example-profile\",\n        ResourceGroupName = example.Name,\n        SkuName = \"Premium_AzureFrontDoor\",\n    });\n\n    var exampleFrontdoorOriginGroup = new Azure.Cdn.FrontdoorOriginGroup(\"example\", new()\n    {\n        Name = \"example-origingroup\",\n        CdnFrontdoorProfileId = exampleFrontdoorProfile.Id,\n        LoadBalancing = null,\n    });\n\n    var exampleFrontdoorOrigin = new Azure.Cdn.FrontdoorOrigin(\"example\", new()\n    {\n        Name = \"example-origin\",\n        CdnFrontdoorOriginGroupId = exampleFrontdoorOriginGroup.Id,\n        Enabled = true,\n        CertificateNameCheckEnabled = false,\n        HostName = \"contoso.com\",\n        HttpPort = 80,\n        HttpsPort = 443,\n        OriginHostHeader = \"www.contoso.com\",\n        Priority = 1,\n        Weight = 1,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/cdn\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleFrontdoorProfile, err := cdn.NewFrontdoorProfile(ctx, \"example\", \u0026cdn.FrontdoorProfileArgs{\n\t\t\tName:              pulumi.String(\"example-profile\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSkuName:           pulumi.String(\"Premium_AzureFrontDoor\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleFrontdoorOriginGroup, err := cdn.NewFrontdoorOriginGroup(ctx, \"example\", \u0026cdn.FrontdoorOriginGroupArgs{\n\t\t\tName:                  pulumi.String(\"example-origingroup\"),\n\t\t\tCdnFrontdoorProfileId: exampleFrontdoorProfile.ID(),\n\t\t\tLoadBalancing:         \u0026cdn.FrontdoorOriginGroupLoadBalancingArgs{},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cdn.NewFrontdoorOrigin(ctx, \"example\", \u0026cdn.FrontdoorOriginArgs{\n\t\t\tName:                        pulumi.String(\"example-origin\"),\n\t\t\tCdnFrontdoorOriginGroupId:   exampleFrontdoorOriginGroup.ID(),\n\t\t\tEnabled:                     pulumi.Bool(true),\n\t\t\tCertificateNameCheckEnabled: pulumi.Bool(false),\n\t\t\tHostName:                    pulumi.String(\"contoso.com\"),\n\t\t\tHttpPort:                    pulumi.Int(80),\n\t\t\tHttpsPort:                   pulumi.Int(443),\n\t\t\tOriginHostHeader:            pulumi.String(\"www.contoso.com\"),\n\t\t\tPriority:                    pulumi.Int(1),\n\t\t\tWeight:                      pulumi.Int(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.cdn.FrontdoorProfile;\nimport com.pulumi.azure.cdn.FrontdoorProfileArgs;\nimport com.pulumi.azure.cdn.FrontdoorOriginGroup;\nimport com.pulumi.azure.cdn.FrontdoorOriginGroupArgs;\nimport com.pulumi.azure.cdn.inputs.FrontdoorOriginGroupLoadBalancingArgs;\nimport com.pulumi.azure.cdn.FrontdoorOrigin;\nimport com.pulumi.azure.cdn.FrontdoorOriginArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleFrontdoorProfile = new FrontdoorProfile(\"exampleFrontdoorProfile\", FrontdoorProfileArgs.builder()\n            .name(\"example-profile\")\n            .resourceGroupName(example.name())\n            .skuName(\"Premium_AzureFrontDoor\")\n            .build());\n\n        var exampleFrontdoorOriginGroup = new FrontdoorOriginGroup(\"exampleFrontdoorOriginGroup\", FrontdoorOriginGroupArgs.builder()\n            .name(\"example-origingroup\")\n            .cdnFrontdoorProfileId(exampleFrontdoorProfile.id())\n            .loadBalancing(FrontdoorOriginGroupLoadBalancingArgs.builder()\n                .build())\n            .build());\n\n        var exampleFrontdoorOrigin = new FrontdoorOrigin(\"exampleFrontdoorOrigin\", FrontdoorOriginArgs.builder()\n            .name(\"example-origin\")\n            .cdnFrontdoorOriginGroupId(exampleFrontdoorOriginGroup.id())\n            .enabled(true)\n            .certificateNameCheckEnabled(false)\n            .hostName(\"contoso.com\")\n            .httpPort(80)\n            .httpsPort(443)\n            .originHostHeader(\"www.contoso.com\")\n            .priority(1)\n            .weight(1)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleFrontdoorProfile:\n    type: azure:cdn:FrontdoorProfile\n    name: example\n    properties:\n      name: example-profile\n      resourceGroupName: ${example.name}\n      skuName: Premium_AzureFrontDoor\n  exampleFrontdoorOriginGroup:\n    type: azure:cdn:FrontdoorOriginGroup\n    name: example\n    properties:\n      name: example-origingroup\n      cdnFrontdoorProfileId: ${exampleFrontdoorProfile.id}\n      loadBalancing: {}\n  exampleFrontdoorOrigin:\n    type: azure:cdn:FrontdoorOrigin\n    name: example\n    properties:\n      name: example-origin\n      cdnFrontdoorOriginGroupId: ${exampleFrontdoorOriginGroup.id}\n      enabled: true\n      certificateNameCheckEnabled: false\n      hostName: contoso.com\n      httpPort: 80\n      httpsPort: 443\n      originHostHeader: www.contoso.com\n      priority: 1\n      weight: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\n### With Private Link\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleAccount = new azure.storage.Account(\"example\", {\n    name: \"examplestoracc\",\n    resourceGroupName: example.name,\n    location: example.location,\n    accountTier: \"Premium\",\n    accountReplicationType: \"LRS\",\n    allowNestedItemsToBePublic: false,\n    networkRules: {\n        defaultAction: \"Deny\",\n    },\n    tags: {\n        environment: \"Example\",\n    },\n});\nconst exampleFrontdoorProfile = new azure.cdn.FrontdoorProfile(\"example\", {\n    name: \"example-profile\",\n    resourceGroupName: example.name,\n    skuName: \"Premium_AzureFrontDoor\",\n});\nconst exampleFrontdoorOriginGroup = new azure.cdn.FrontdoorOriginGroup(\"example\", {\n    name: \"example-origin-group\",\n    cdnFrontdoorProfileId: exampleFrontdoorProfile.id,\n    loadBalancing: {},\n});\nconst exampleFrontdoorOrigin = new azure.cdn.FrontdoorOrigin(\"example\", {\n    name: \"example-origin\",\n    cdnFrontdoorOriginGroupId: exampleFrontdoorOriginGroup.id,\n    enabled: true,\n    certificateNameCheckEnabled: true,\n    hostName: exampleAccount.primaryBlobHost,\n    originHostHeader: exampleAccount.primaryBlobHost,\n    priority: 1,\n    weight: 500,\n    privateLink: {\n        requestMessage: \"Request access for Private Link Origin CDN Frontdoor\",\n        targetType: \"blob\",\n        location: exampleAccount.location,\n        privateLinkTargetId: exampleAccount.id,\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_account = azure.storage.Account(\"example\",\n    name=\"examplestoracc\",\n    resource_group_name=example.name,\n    location=example.location,\n    account_tier=\"Premium\",\n    account_replication_type=\"LRS\",\n    allow_nested_items_to_be_public=False,\n    network_rules={\n        \"default_action\": \"Deny\",\n    },\n    tags={\n        \"environment\": \"Example\",\n    })\nexample_frontdoor_profile = azure.cdn.FrontdoorProfile(\"example\",\n    name=\"example-profile\",\n    resource_group_name=example.name,\n    sku_name=\"Premium_AzureFrontDoor\")\nexample_frontdoor_origin_group = azure.cdn.FrontdoorOriginGroup(\"example\",\n    name=\"example-origin-group\",\n    cdn_frontdoor_profile_id=example_frontdoor_profile.id,\n    load_balancing={})\nexample_frontdoor_origin = azure.cdn.FrontdoorOrigin(\"example\",\n    name=\"example-origin\",\n    cdn_frontdoor_origin_group_id=example_frontdoor_origin_group.id,\n    enabled=True,\n    certificate_name_check_enabled=True,\n    host_name=example_account.primary_blob_host,\n    origin_host_header=example_account.primary_blob_host,\n    priority=1,\n    weight=500,\n    private_link={\n        \"request_message\": \"Request access for Private Link Origin CDN Frontdoor\",\n        \"target_type\": \"blob\",\n        \"location\": example_account.location,\n        \"private_link_target_id\": example_account.id,\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleAccount = new Azure.Storage.Account(\"example\", new()\n    {\n        Name = \"examplestoracc\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        AccountTier = \"Premium\",\n        AccountReplicationType = \"LRS\",\n        AllowNestedItemsToBePublic = false,\n        NetworkRules = new Azure.Storage.Inputs.AccountNetworkRulesArgs\n        {\n            DefaultAction = \"Deny\",\n        },\n        Tags = \n        {\n            { \"environment\", \"Example\" },\n        },\n    });\n\n    var exampleFrontdoorProfile = new Azure.Cdn.FrontdoorProfile(\"example\", new()\n    {\n        Name = \"example-profile\",\n        ResourceGroupName = example.Name,\n        SkuName = \"Premium_AzureFrontDoor\",\n    });\n\n    var exampleFrontdoorOriginGroup = new Azure.Cdn.FrontdoorOriginGroup(\"example\", new()\n    {\n        Name = \"example-origin-group\",\n        CdnFrontdoorProfileId = exampleFrontdoorProfile.Id,\n        LoadBalancing = null,\n    });\n\n    var exampleFrontdoorOrigin = new Azure.Cdn.FrontdoorOrigin(\"example\", new()\n    {\n        Name = \"example-origin\",\n        CdnFrontdoorOriginGroupId = exampleFrontdoorOriginGroup.Id,\n        Enabled = true,\n        CertificateNameCheckEnabled = true,\n        HostName = exampleAccount.PrimaryBlobHost,\n        OriginHostHeader = exampleAccount.PrimaryBlobHost,\n        Priority = 1,\n        Weight = 500,\n        PrivateLink = new Azure.Cdn.Inputs.FrontdoorOriginPrivateLinkArgs\n        {\n            RequestMessage = \"Request access for Private Link Origin CDN Frontdoor\",\n            TargetType = \"blob\",\n            Location = exampleAccount.Location,\n            PrivateLinkTargetId = exampleAccount.Id,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/cdn\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := storage.NewAccount(ctx, \"example\", \u0026storage.AccountArgs{\n\t\t\tName:                       pulumi.String(\"examplestoracc\"),\n\t\t\tResourceGroupName:          example.Name,\n\t\t\tLocation:                   example.Location,\n\t\t\tAccountTier:                pulumi.String(\"Premium\"),\n\t\t\tAccountReplicationType:     pulumi.String(\"LRS\"),\n\t\t\tAllowNestedItemsToBePublic: pulumi.Bool(false),\n\t\t\tNetworkRules: \u0026storage.AccountNetworkRulesTypeArgs{\n\t\t\t\tDefaultAction: pulumi.String(\"Deny\"),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"environment\": pulumi.String(\"Example\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleFrontdoorProfile, err := cdn.NewFrontdoorProfile(ctx, \"example\", \u0026cdn.FrontdoorProfileArgs{\n\t\t\tName:              pulumi.String(\"example-profile\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSkuName:           pulumi.String(\"Premium_AzureFrontDoor\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleFrontdoorOriginGroup, err := cdn.NewFrontdoorOriginGroup(ctx, \"example\", \u0026cdn.FrontdoorOriginGroupArgs{\n\t\t\tName:                  pulumi.String(\"example-origin-group\"),\n\t\t\tCdnFrontdoorProfileId: exampleFrontdoorProfile.ID(),\n\t\t\tLoadBalancing:         \u0026cdn.FrontdoorOriginGroupLoadBalancingArgs{},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cdn.NewFrontdoorOrigin(ctx, \"example\", \u0026cdn.FrontdoorOriginArgs{\n\t\t\tName:                        pulumi.String(\"example-origin\"),\n\t\t\tCdnFrontdoorOriginGroupId:   exampleFrontdoorOriginGroup.ID(),\n\t\t\tEnabled:                     pulumi.Bool(true),\n\t\t\tCertificateNameCheckEnabled: pulumi.Bool(true),\n\t\t\tHostName:                    exampleAccount.PrimaryBlobHost,\n\t\t\tOriginHostHeader:            exampleAccount.PrimaryBlobHost,\n\t\t\tPriority:                    pulumi.Int(1),\n\t\t\tWeight:                      pulumi.Int(500),\n\t\t\tPrivateLink: \u0026cdn.FrontdoorOriginPrivateLinkArgs{\n\t\t\t\tRequestMessage:      pulumi.String(\"Request access for Private Link Origin CDN Frontdoor\"),\n\t\t\t\tTargetType:          pulumi.String(\"blob\"),\n\t\t\t\tLocation:            exampleAccount.Location,\n\t\t\t\tPrivateLinkTargetId: exampleAccount.ID(),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.storage.Account;\nimport com.pulumi.azure.storage.AccountArgs;\nimport com.pulumi.azure.storage.inputs.AccountNetworkRulesArgs;\nimport com.pulumi.azure.cdn.FrontdoorProfile;\nimport com.pulumi.azure.cdn.FrontdoorProfileArgs;\nimport com.pulumi.azure.cdn.FrontdoorOriginGroup;\nimport com.pulumi.azure.cdn.FrontdoorOriginGroupArgs;\nimport com.pulumi.azure.cdn.inputs.FrontdoorOriginGroupLoadBalancingArgs;\nimport com.pulumi.azure.cdn.FrontdoorOrigin;\nimport com.pulumi.azure.cdn.FrontdoorOriginArgs;\nimport com.pulumi.azure.cdn.inputs.FrontdoorOriginPrivateLinkArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"examplestoracc\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .accountTier(\"Premium\")\n            .accountReplicationType(\"LRS\")\n            .allowNestedItemsToBePublic(false)\n            .networkRules(AccountNetworkRulesArgs.builder()\n                .defaultAction(\"Deny\")\n                .build())\n            .tags(Map.of(\"environment\", \"Example\"))\n            .build());\n\n        var exampleFrontdoorProfile = new FrontdoorProfile(\"exampleFrontdoorProfile\", FrontdoorProfileArgs.builder()\n            .name(\"example-profile\")\n            .resourceGroupName(example.name())\n            .skuName(\"Premium_AzureFrontDoor\")\n            .build());\n\n        var exampleFrontdoorOriginGroup = new FrontdoorOriginGroup(\"exampleFrontdoorOriginGroup\", FrontdoorOriginGroupArgs.builder()\n            .name(\"example-origin-group\")\n            .cdnFrontdoorProfileId(exampleFrontdoorProfile.id())\n            .loadBalancing(FrontdoorOriginGroupLoadBalancingArgs.builder()\n                .build())\n            .build());\n\n        var exampleFrontdoorOrigin = new FrontdoorOrigin(\"exampleFrontdoorOrigin\", FrontdoorOriginArgs.builder()\n            .name(\"example-origin\")\n            .cdnFrontdoorOriginGroupId(exampleFrontdoorOriginGroup.id())\n            .enabled(true)\n            .certificateNameCheckEnabled(true)\n            .hostName(exampleAccount.primaryBlobHost())\n            .originHostHeader(exampleAccount.primaryBlobHost())\n            .priority(1)\n            .weight(500)\n            .privateLink(FrontdoorOriginPrivateLinkArgs.builder()\n                .requestMessage(\"Request access for Private Link Origin CDN Frontdoor\")\n                .targetType(\"blob\")\n                .location(exampleAccount.location())\n                .privateLinkTargetId(exampleAccount.id())\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleAccount:\n    type: azure:storage:Account\n    name: example\n    properties:\n      name: examplestoracc\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      accountTier: Premium\n      accountReplicationType: LRS\n      allowNestedItemsToBePublic: false\n      networkRules:\n        defaultAction: Deny\n      tags:\n        environment: Example\n  exampleFrontdoorProfile:\n    type: azure:cdn:FrontdoorProfile\n    name: example\n    properties:\n      name: example-profile\n      resourceGroupName: ${example.name}\n      skuName: Premium_AzureFrontDoor\n  exampleFrontdoorOriginGroup:\n    type: azure:cdn:FrontdoorOriginGroup\n    name: example\n    properties:\n      name: example-origin-group\n      cdnFrontdoorProfileId: ${exampleFrontdoorProfile.id}\n      loadBalancing: {}\n  exampleFrontdoorOrigin:\n    type: azure:cdn:FrontdoorOrigin\n    name: example\n    properties:\n      name: example-origin\n      cdnFrontdoorOriginGroupId: ${exampleFrontdoorOriginGroup.id}\n      enabled: true\n      certificateNameCheckEnabled: true\n      hostName: ${exampleAccount.primaryBlobHost}\n      originHostHeader: ${exampleAccount.primaryBlobHost}\n      priority: 1\n      weight: 500\n      privateLink:\n        requestMessage: Request access for Private Link Origin CDN Frontdoor\n        targetType: blob\n        location: ${exampleAccount.location}\n        privateLinkTargetId: ${exampleAccount.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\n### With Private Link Service\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst current = azure.core.getClientConfig({});\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"example\", {\n    name: \"vn-example\",\n    resourceGroupName: example.name,\n    location: example.location,\n    addressSpaces: [\"10.5.0.0/16\"],\n});\nconst exampleSubnet = new azure.network.Subnet(\"example\", {\n    name: \"sn-example\",\n    resourceGroupName: example.name,\n    virtualNetworkName: exampleVirtualNetwork.name,\n    addressPrefixes: [\"10.5.1.0/24\"],\n    privateLinkServiceNetworkPoliciesEnabled: false,\n});\nconst examplePublicIp = new azure.network.PublicIp(\"example\", {\n    name: \"ip-example\",\n    sku: \"Standard\",\n    location: example.location,\n    resourceGroupName: example.name,\n    allocationMethod: \"Static\",\n});\nconst exampleLoadBalancer = new azure.lb.LoadBalancer(\"example\", {\n    name: \"lb-example\",\n    sku: \"Standard\",\n    location: example.location,\n    resourceGroupName: example.name,\n    frontendIpConfigurations: [{\n        name: examplePublicIp.name,\n        publicIpAddressId: examplePublicIp.id,\n    }],\n});\nconst exampleLinkService = new azure.privatedns.LinkService(\"example\", {\n    name: \"pls-example\",\n    resourceGroupName: example.name,\n    location: example.location,\n    visibilitySubscriptionIds: [current.then(current =\u003e current.subscriptionId)],\n    loadBalancerFrontendIpConfigurationIds: [exampleLoadBalancer.frontendIpConfigurations.apply(frontendIpConfigurations =\u003e frontendIpConfigurations?.[0]?.id)],\n    natIpConfigurations: [{\n        name: \"primary\",\n        privateIpAddress: \"10.5.1.17\",\n        privateIpAddressVersion: \"IPv4\",\n        subnetId: exampleSubnet.id,\n        primary: true,\n    }],\n});\nconst exampleFrontdoorProfile = new azure.cdn.FrontdoorProfile(\"example\", {\n    name: \"profile-example\",\n    resourceGroupName: example.name,\n    skuName: \"Premium_AzureFrontDoor\",\n}, {\n    dependsOn: [exampleLinkService],\n});\nconst exampleFrontdoorOriginGroup = new azure.cdn.FrontdoorOriginGroup(\"example\", {\n    name: \"group-example\",\n    cdnFrontdoorProfileId: exampleFrontdoorProfile.id,\n    loadBalancing: {\n        additionalLatencyInMilliseconds: 0,\n        sampleSize: 16,\n        successfulSamplesRequired: 3,\n    },\n});\nconst exampleFrontdoorOrigin = new azure.cdn.FrontdoorOrigin(\"example\", {\n    name: \"origin-example\",\n    cdnFrontdoorOriginGroupId: exampleFrontdoorOriginGroup.id,\n    enabled: true,\n    hostName: \"example.com\",\n    originHostHeader: \"example.com\",\n    priority: 1,\n    weight: 1000,\n    certificateNameCheckEnabled: false,\n    privateLink: {\n        requestMessage: \"Request access for Private Link Origin CDN Frontdoor\",\n        location: example.location,\n        privateLinkTargetId: exampleLinkService.id,\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\ncurrent = azure.core.get_client_config()\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_virtual_network = azure.network.VirtualNetwork(\"example\",\n    name=\"vn-example\",\n    resource_group_name=example.name,\n    location=example.location,\n    address_spaces=[\"10.5.0.0/16\"])\nexample_subnet = azure.network.Subnet(\"example\",\n    name=\"sn-example\",\n    resource_group_name=example.name,\n    virtual_network_name=example_virtual_network.name,\n    address_prefixes=[\"10.5.1.0/24\"],\n    private_link_service_network_policies_enabled=False)\nexample_public_ip = azure.network.PublicIp(\"example\",\n    name=\"ip-example\",\n    sku=\"Standard\",\n    location=example.location,\n    resource_group_name=example.name,\n    allocation_method=\"Static\")\nexample_load_balancer = azure.lb.LoadBalancer(\"example\",\n    name=\"lb-example\",\n    sku=\"Standard\",\n    location=example.location,\n    resource_group_name=example.name,\n    frontend_ip_configurations=[{\n        \"name\": example_public_ip.name,\n        \"public_ip_address_id\": example_public_ip.id,\n    }])\nexample_link_service = azure.privatedns.LinkService(\"example\",\n    name=\"pls-example\",\n    resource_group_name=example.name,\n    location=example.location,\n    visibility_subscription_ids=[current.subscription_id],\n    load_balancer_frontend_ip_configuration_ids=[example_load_balancer.frontend_ip_configurations[0].id],\n    nat_ip_configurations=[{\n        \"name\": \"primary\",\n        \"private_ip_address\": \"10.5.1.17\",\n        \"private_ip_address_version\": \"IPv4\",\n        \"subnet_id\": example_subnet.id,\n        \"primary\": True,\n    }])\nexample_frontdoor_profile = azure.cdn.FrontdoorProfile(\"example\",\n    name=\"profile-example\",\n    resource_group_name=example.name,\n    sku_name=\"Premium_AzureFrontDoor\",\n    opts = pulumi.ResourceOptions(depends_on=[example_link_service]))\nexample_frontdoor_origin_group = azure.cdn.FrontdoorOriginGroup(\"example\",\n    name=\"group-example\",\n    cdn_frontdoor_profile_id=example_frontdoor_profile.id,\n    load_balancing={\n        \"additional_latency_in_milliseconds\": 0,\n        \"sample_size\": 16,\n        \"successful_samples_required\": 3,\n    })\nexample_frontdoor_origin = azure.cdn.FrontdoorOrigin(\"example\",\n    name=\"origin-example\",\n    cdn_frontdoor_origin_group_id=example_frontdoor_origin_group.id,\n    enabled=True,\n    host_name=\"example.com\",\n    origin_host_header=\"example.com\",\n    priority=1,\n    weight=1000,\n    certificate_name_check_enabled=False,\n    private_link={\n        \"request_message\": \"Request access for Private Link Origin CDN Frontdoor\",\n        \"location\": example.location,\n        \"private_link_target_id\": example_link_service.id,\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var current = Azure.Core.GetClientConfig.Invoke();\n\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleVirtualNetwork = new Azure.Network.VirtualNetwork(\"example\", new()\n    {\n        Name = \"vn-example\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        AddressSpaces = new[]\n        {\n            \"10.5.0.0/16\",\n        },\n    });\n\n    var exampleSubnet = new Azure.Network.Subnet(\"example\", new()\n    {\n        Name = \"sn-example\",\n        ResourceGroupName = example.Name,\n        VirtualNetworkName = exampleVirtualNetwork.Name,\n        AddressPrefixes = new[]\n        {\n            \"10.5.1.0/24\",\n        },\n        PrivateLinkServiceNetworkPoliciesEnabled = false,\n    });\n\n    var examplePublicIp = new Azure.Network.PublicIp(\"example\", new()\n    {\n        Name = \"ip-example\",\n        Sku = \"Standard\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        AllocationMethod = \"Static\",\n    });\n\n    var exampleLoadBalancer = new Azure.Lb.LoadBalancer(\"example\", new()\n    {\n        Name = \"lb-example\",\n        Sku = \"Standard\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        FrontendIpConfigurations = new[]\n        {\n            new Azure.Lb.Inputs.LoadBalancerFrontendIpConfigurationArgs\n            {\n                Name = examplePublicIp.Name,\n                PublicIpAddressId = examplePublicIp.Id,\n            },\n        },\n    });\n\n    var exampleLinkService = new Azure.PrivateDns.LinkService(\"example\", new()\n    {\n        Name = \"pls-example\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        VisibilitySubscriptionIds = new[]\n        {\n            current.Apply(getClientConfigResult =\u003e getClientConfigResult.SubscriptionId),\n        },\n        LoadBalancerFrontendIpConfigurationIds = new[]\n        {\n            exampleLoadBalancer.FrontendIpConfigurations.Apply(frontendIpConfigurations =\u003e frontendIpConfigurations[0]?.Id),\n        },\n        NatIpConfigurations = new[]\n        {\n            new Azure.PrivateDns.Inputs.LinkServiceNatIpConfigurationArgs\n            {\n                Name = \"primary\",\n                PrivateIpAddress = \"10.5.1.17\",\n                PrivateIpAddressVersion = \"IPv4\",\n                SubnetId = exampleSubnet.Id,\n                Primary = true,\n            },\n        },\n    });\n\n    var exampleFrontdoorProfile = new Azure.Cdn.FrontdoorProfile(\"example\", new()\n    {\n        Name = \"profile-example\",\n        ResourceGroupName = example.Name,\n        SkuName = \"Premium_AzureFrontDoor\",\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            exampleLinkService,\n        },\n    });\n\n    var exampleFrontdoorOriginGroup = new Azure.Cdn.FrontdoorOriginGroup(\"example\", new()\n    {\n        Name = \"group-example\",\n        CdnFrontdoorProfileId = exampleFrontdoorProfile.Id,\n        LoadBalancing = new Azure.Cdn.Inputs.FrontdoorOriginGroupLoadBalancingArgs\n        {\n            AdditionalLatencyInMilliseconds = 0,\n            SampleSize = 16,\n            SuccessfulSamplesRequired = 3,\n        },\n    });\n\n    var exampleFrontdoorOrigin = new Azure.Cdn.FrontdoorOrigin(\"example\", new()\n    {\n        Name = \"origin-example\",\n        CdnFrontdoorOriginGroupId = exampleFrontdoorOriginGroup.Id,\n        Enabled = true,\n        HostName = \"example.com\",\n        OriginHostHeader = \"example.com\",\n        Priority = 1,\n        Weight = 1000,\n        CertificateNameCheckEnabled = false,\n        PrivateLink = new Azure.Cdn.Inputs.FrontdoorOriginPrivateLinkArgs\n        {\n            RequestMessage = \"Request access for Private Link Origin CDN Frontdoor\",\n            Location = example.Location,\n            PrivateLinkTargetId = exampleLinkService.Id,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/cdn\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/lb\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/privatedns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := core.GetClientConfig(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, \"example\", \u0026network.VirtualNetworkArgs{\n\t\t\tName:              pulumi.String(\"vn-example\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tAddressSpaces: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.5.0.0/16\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSubnet, err := network.NewSubnet(ctx, \"example\", \u0026network.SubnetArgs{\n\t\t\tName:               pulumi.String(\"sn-example\"),\n\t\t\tResourceGroupName:  example.Name,\n\t\t\tVirtualNetworkName: exampleVirtualNetwork.Name,\n\t\t\tAddressPrefixes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.5.1.0/24\"),\n\t\t\t},\n\t\t\tPrivateLinkServiceNetworkPoliciesEnabled: pulumi.Bool(false),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texamplePublicIp, err := network.NewPublicIp(ctx, \"example\", \u0026network.PublicIpArgs{\n\t\t\tName:              pulumi.String(\"ip-example\"),\n\t\t\tSku:               pulumi.String(\"Standard\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tAllocationMethod:  pulumi.String(\"Static\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleLoadBalancer, err := lb.NewLoadBalancer(ctx, \"example\", \u0026lb.LoadBalancerArgs{\n\t\t\tName:              pulumi.String(\"lb-example\"),\n\t\t\tSku:               pulumi.String(\"Standard\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tFrontendIpConfigurations: lb.LoadBalancerFrontendIpConfigurationArray{\n\t\t\t\t\u0026lb.LoadBalancerFrontendIpConfigurationArgs{\n\t\t\t\t\tName:              examplePublicIp.Name,\n\t\t\t\t\tPublicIpAddressId: examplePublicIp.ID(),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleLinkService, err := privatedns.NewLinkService(ctx, \"example\", \u0026privatedns.LinkServiceArgs{\n\t\t\tName:              pulumi.String(\"pls-example\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tVisibilitySubscriptionIds: pulumi.StringArray{\n\t\t\t\tpulumi.String(current.SubscriptionId),\n\t\t\t},\n\t\t\tLoadBalancerFrontendIpConfigurationIds: pulumi.StringArray{\n\t\t\t\tpulumi.String(exampleLoadBalancer.FrontendIpConfigurations.ApplyT(func(frontendIpConfigurations []lb.LoadBalancerFrontendIpConfiguration) (*string, error) {\n\t\t\t\t\treturn \u0026frontendIpConfigurations[0].Id, nil\n\t\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\t},\n\t\t\tNatIpConfigurations: privatedns.LinkServiceNatIpConfigurationArray{\n\t\t\t\t\u0026privatedns.LinkServiceNatIpConfigurationArgs{\n\t\t\t\t\tName:                    pulumi.String(\"primary\"),\n\t\t\t\t\tPrivateIpAddress:        pulumi.String(\"10.5.1.17\"),\n\t\t\t\t\tPrivateIpAddressVersion: pulumi.String(\"IPv4\"),\n\t\t\t\t\tSubnetId:                exampleSubnet.ID(),\n\t\t\t\t\tPrimary:                 pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleFrontdoorProfile, err := cdn.NewFrontdoorProfile(ctx, \"example\", \u0026cdn.FrontdoorProfileArgs{\n\t\t\tName:              pulumi.String(\"profile-example\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSkuName:           pulumi.String(\"Premium_AzureFrontDoor\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleLinkService,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleFrontdoorOriginGroup, err := cdn.NewFrontdoorOriginGroup(ctx, \"example\", \u0026cdn.FrontdoorOriginGroupArgs{\n\t\t\tName:                  pulumi.String(\"group-example\"),\n\t\t\tCdnFrontdoorProfileId: exampleFrontdoorProfile.ID(),\n\t\t\tLoadBalancing: \u0026cdn.FrontdoorOriginGroupLoadBalancingArgs{\n\t\t\t\tAdditionalLatencyInMilliseconds: pulumi.Int(0),\n\t\t\t\tSampleSize:                      pulumi.Int(16),\n\t\t\t\tSuccessfulSamplesRequired:       pulumi.Int(3),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cdn.NewFrontdoorOrigin(ctx, \"example\", \u0026cdn.FrontdoorOriginArgs{\n\t\t\tName:                        pulumi.String(\"origin-example\"),\n\t\t\tCdnFrontdoorOriginGroupId:   exampleFrontdoorOriginGroup.ID(),\n\t\t\tEnabled:                     pulumi.Bool(true),\n\t\t\tHostName:                    pulumi.String(\"example.com\"),\n\t\t\tOriginHostHeader:            pulumi.String(\"example.com\"),\n\t\t\tPriority:                    pulumi.Int(1),\n\t\t\tWeight:                      pulumi.Int(1000),\n\t\t\tCertificateNameCheckEnabled: pulumi.Bool(false),\n\t\t\tPrivateLink: \u0026cdn.FrontdoorOriginPrivateLinkArgs{\n\t\t\t\tRequestMessage:      pulumi.String(\"Request access for Private Link Origin CDN Frontdoor\"),\n\t\t\t\tLocation:            example.Location,\n\t\t\t\tPrivateLinkTargetId: exampleLinkService.ID(),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.VirtualNetwork;\nimport com.pulumi.azure.network.VirtualNetworkArgs;\nimport com.pulumi.azure.network.Subnet;\nimport com.pulumi.azure.network.SubnetArgs;\nimport com.pulumi.azure.network.PublicIp;\nimport com.pulumi.azure.network.PublicIpArgs;\nimport com.pulumi.azure.lb.LoadBalancer;\nimport com.pulumi.azure.lb.LoadBalancerArgs;\nimport com.pulumi.azure.lb.inputs.LoadBalancerFrontendIpConfigurationArgs;\nimport com.pulumi.azure.privatedns.LinkService;\nimport com.pulumi.azure.privatedns.LinkServiceArgs;\nimport com.pulumi.azure.privatedns.inputs.LinkServiceNatIpConfigurationArgs;\nimport com.pulumi.azure.cdn.FrontdoorProfile;\nimport com.pulumi.azure.cdn.FrontdoorProfileArgs;\nimport com.pulumi.azure.cdn.FrontdoorOriginGroup;\nimport com.pulumi.azure.cdn.FrontdoorOriginGroupArgs;\nimport com.pulumi.azure.cdn.inputs.FrontdoorOriginGroupLoadBalancingArgs;\nimport com.pulumi.azure.cdn.FrontdoorOrigin;\nimport com.pulumi.azure.cdn.FrontdoorOriginArgs;\nimport com.pulumi.azure.cdn.inputs.FrontdoorOriginPrivateLinkArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var current = CoreFunctions.getClientConfig(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleVirtualNetwork = new VirtualNetwork(\"exampleVirtualNetwork\", VirtualNetworkArgs.builder()\n            .name(\"vn-example\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .addressSpaces(\"10.5.0.0/16\")\n            .build());\n\n        var exampleSubnet = new Subnet(\"exampleSubnet\", SubnetArgs.builder()\n            .name(\"sn-example\")\n            .resourceGroupName(example.name())\n            .virtualNetworkName(exampleVirtualNetwork.name())\n            .addressPrefixes(\"10.5.1.0/24\")\n            .privateLinkServiceNetworkPoliciesEnabled(false)\n            .build());\n\n        var examplePublicIp = new PublicIp(\"examplePublicIp\", PublicIpArgs.builder()\n            .name(\"ip-example\")\n            .sku(\"Standard\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .allocationMethod(\"Static\")\n            .build());\n\n        var exampleLoadBalancer = new LoadBalancer(\"exampleLoadBalancer\", LoadBalancerArgs.builder()\n            .name(\"lb-example\")\n            .sku(\"Standard\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .frontendIpConfigurations(LoadBalancerFrontendIpConfigurationArgs.builder()\n                .name(examplePublicIp.name())\n                .publicIpAddressId(examplePublicIp.id())\n                .build())\n            .build());\n\n        var exampleLinkService = new LinkService(\"exampleLinkService\", LinkServiceArgs.builder()\n            .name(\"pls-example\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .visibilitySubscriptionIds(current.subscriptionId())\n            .loadBalancerFrontendIpConfigurationIds(exampleLoadBalancer.frontendIpConfigurations().applyValue(_frontendIpConfigurations -\u003e _frontendIpConfigurations[0].id()))\n            .natIpConfigurations(LinkServiceNatIpConfigurationArgs.builder()\n                .name(\"primary\")\n                .privateIpAddress(\"10.5.1.17\")\n                .privateIpAddressVersion(\"IPv4\")\n                .subnetId(exampleSubnet.id())\n                .primary(true)\n                .build())\n            .build());\n\n        var exampleFrontdoorProfile = new FrontdoorProfile(\"exampleFrontdoorProfile\", FrontdoorProfileArgs.builder()\n            .name(\"profile-example\")\n            .resourceGroupName(example.name())\n            .skuName(\"Premium_AzureFrontDoor\")\n            .build(), CustomResourceOptions.builder()\n                .dependsOn(exampleLinkService)\n                .build());\n\n        var exampleFrontdoorOriginGroup = new FrontdoorOriginGroup(\"exampleFrontdoorOriginGroup\", FrontdoorOriginGroupArgs.builder()\n            .name(\"group-example\")\n            .cdnFrontdoorProfileId(exampleFrontdoorProfile.id())\n            .loadBalancing(FrontdoorOriginGroupLoadBalancingArgs.builder()\n                .additionalLatencyInMilliseconds(0)\n                .sampleSize(16)\n                .successfulSamplesRequired(3)\n                .build())\n            .build());\n\n        var exampleFrontdoorOrigin = new FrontdoorOrigin(\"exampleFrontdoorOrigin\", FrontdoorOriginArgs.builder()\n            .name(\"origin-example\")\n            .cdnFrontdoorOriginGroupId(exampleFrontdoorOriginGroup.id())\n            .enabled(true)\n            .hostName(\"example.com\")\n            .originHostHeader(\"example.com\")\n            .priority(1)\n            .weight(1000)\n            .certificateNameCheckEnabled(false)\n            .privateLink(FrontdoorOriginPrivateLinkArgs.builder()\n                .requestMessage(\"Request access for Private Link Origin CDN Frontdoor\")\n                .location(example.location())\n                .privateLinkTargetId(exampleLinkService.id())\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleFrontdoorProfile:\n    type: azure:cdn:FrontdoorProfile\n    name: example\n    properties:\n      name: profile-example\n      resourceGroupName: ${example.name}\n      skuName: Premium_AzureFrontDoor\n    options:\n      dependsOn:\n        - ${exampleLinkService}\n  exampleFrontdoorOrigin:\n    type: azure:cdn:FrontdoorOrigin\n    name: example\n    properties:\n      name: origin-example\n      cdnFrontdoorOriginGroupId: ${exampleFrontdoorOriginGroup.id}\n      enabled: true\n      hostName: example.com\n      originHostHeader: example.com\n      priority: 1\n      weight: 1000\n      certificateNameCheckEnabled: false\n      privateLink:\n        requestMessage: Request access for Private Link Origin CDN Frontdoor\n        location: ${example.location}\n        privateLinkTargetId: ${exampleLinkService.id}\n  exampleFrontdoorOriginGroup:\n    type: azure:cdn:FrontdoorOriginGroup\n    name: example\n    properties:\n      name: group-example\n      cdnFrontdoorProfileId: ${exampleFrontdoorProfile.id}\n      loadBalancing:\n        additionalLatencyInMilliseconds: 0\n        sampleSize: 16\n        successfulSamplesRequired: 3\n  exampleVirtualNetwork:\n    type: azure:network:VirtualNetwork\n    name: example\n    properties:\n      name: vn-example\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      addressSpaces:\n        - 10.5.0.0/16\n  exampleSubnet:\n    type: azure:network:Subnet\n    name: example\n    properties:\n      name: sn-example\n      resourceGroupName: ${example.name}\n      virtualNetworkName: ${exampleVirtualNetwork.name}\n      addressPrefixes:\n        - 10.5.1.0/24\n      privateLinkServiceNetworkPoliciesEnabled: false\n  examplePublicIp:\n    type: azure:network:PublicIp\n    name: example\n    properties:\n      name: ip-example\n      sku: Standard\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      allocationMethod: Static\n  exampleLoadBalancer:\n    type: azure:lb:LoadBalancer\n    name: example\n    properties:\n      name: lb-example\n      sku: Standard\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      frontendIpConfigurations:\n        - name: ${examplePublicIp.name}\n          publicIpAddressId: ${examplePublicIp.id}\n  exampleLinkService:\n    type: azure:privatedns:LinkService\n    name: example\n    properties:\n      name: pls-example\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      visibilitySubscriptionIds:\n        - ${current.subscriptionId}\n      loadBalancerFrontendIpConfigurationIds:\n        - ${exampleLoadBalancer.frontendIpConfigurations[0].id}\n      natIpConfigurations:\n        - name: primary\n          privateIpAddress: 10.5.1.17\n          privateIpAddressVersion: IPv4\n          subnetId: ${exampleSubnet.id}\n          primary: true\nvariables:\n  current:\n    fn::invoke:\n      function: azure:core:getClientConfig\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Example HCL Configurations\n\n* Private Link Origin with Storage Account Blob\n* Private Link Origin with Storage Account Static Web Site\n* Private Link Origin with Linux Web Application\n* Private Link Origin with Internal Load Balancer\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Cdn` - 2024-02-01\n\n## Import\n\nFront Door Origins can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:cdn/frontdoorOrigin:FrontdoorOrigin example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup1/providers/Microsoft.Cdn/profiles/profile1/originGroups/originGroup1/origins/origin1\n```\n\n","properties":{"cdnFrontdoorOriginGroupId":{"type":"string","description":"The ID of the Front Door Origin Group within which this Front Door Origin should exist. Changing this forces a new Front Door Origin to be created.\n"},"certificateNameCheckEnabled":{"type":"boolean","description":"Specifies whether certificate name checks are enabled for this origin.\n"},"enabled":{"type":"boolean","description":"Should the origin be enabled? Possible values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"hostName":{"type":"string","description":"The IPv4 address, IPv6 address or Domain name of the Origin.\n\n!\u003e **Note:** This must be unique across all Front Door Origins within a Front Door Endpoint.\n"},"httpPort":{"type":"integer","description":"The value of the HTTP port. Must be between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`65535`\" pulumi-lang-dotnet=\"`65535`\" pulumi-lang-go=\"`65535`\" pulumi-lang-python=\"`65535`\" pulumi-lang-yaml=\"`65535`\" pulumi-lang-java=\"`65535`\"\u003e`65535`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`80`\" pulumi-lang-dotnet=\"`80`\" pulumi-lang-go=\"`80`\" pulumi-lang-python=\"`80`\" pulumi-lang-yaml=\"`80`\" pulumi-lang-java=\"`80`\"\u003e`80`\u003c/span\u003e.\n"},"httpsPort":{"type":"integer","description":"The value of the HTTPS port. Must be between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`65535`\" pulumi-lang-dotnet=\"`65535`\" pulumi-lang-go=\"`65535`\" pulumi-lang-python=\"`65535`\" pulumi-lang-yaml=\"`65535`\" pulumi-lang-java=\"`65535`\"\u003e`65535`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`443`\" pulumi-lang-dotnet=\"`443`\" pulumi-lang-go=\"`443`\" pulumi-lang-python=\"`443`\" pulumi-lang-yaml=\"`443`\" pulumi-lang-java=\"`443`\"\u003e`443`\u003c/span\u003e.\n"},"name":{"type":"string","description":"The name which should be used for this Front Door Origin. Changing this forces a new Front Door Origin to be created.\n"},"originHostHeader":{"type":"string","description":"The host header value (an IPv4 address, IPv6 address or Domain name) which is sent to the origin with each request. If unspecified the hostname from the request will be used.\n\n\u003e **Note:** Azure Front Door Origins, such as Web Apps, Blob Storage, and Cloud Services require this host header value to match the origin's hostname. This field's value overrides the host header defined in the Front Door Endpoint. For more information on how to properly set the origin host header value please see the [product documentation](https://docs.microsoft.com/azure/frontdoor/origin?pivots=front-door-standard-premium#origin-host-header).\n"},"priority":{"type":"integer","description":"Priority of origin in given origin group for load balancing. Higher priorities will not be used for load balancing if any lower priority origin is healthy. Must be between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`5`\" pulumi-lang-dotnet=\"`5`\" pulumi-lang-go=\"`5`\" pulumi-lang-python=\"`5`\" pulumi-lang-yaml=\"`5`\" pulumi-lang-java=\"`5`\"\u003e`5`\u003c/span\u003e (inclusive). Defaults to \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e.\n"},"privateLink":{"$ref":"#/types/azure:cdn/FrontdoorOriginPrivateLink:FrontdoorOriginPrivateLink","description":"A \u003cspan pulumi-lang-nodejs=\"`privateLink`\" pulumi-lang-dotnet=\"`PrivateLink`\" pulumi-lang-go=\"`privateLink`\" pulumi-lang-python=\"`private_link`\" pulumi-lang-yaml=\"`privateLink`\" pulumi-lang-java=\"`privateLink`\"\u003e`private_link`\u003c/span\u003e block as defined below.\n\n\u003e **Note:** Private Link requires that the Front Door Profile this Origin is hosted within is using the SKU `Premium_AzureFrontDoor` and that the \u003cspan pulumi-lang-nodejs=\"`certificateNameCheckEnabled`\" pulumi-lang-dotnet=\"`CertificateNameCheckEnabled`\" pulumi-lang-go=\"`certificateNameCheckEnabled`\" pulumi-lang-python=\"`certificate_name_check_enabled`\" pulumi-lang-yaml=\"`certificateNameCheckEnabled`\" pulumi-lang-java=\"`certificateNameCheckEnabled`\"\u003e`certificate_name_check_enabled`\u003c/span\u003e field is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"weight":{"type":"integer","description":"The weight of the origin in a given origin group for load balancing. Must be between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`1000`\" pulumi-lang-dotnet=\"`1000`\" pulumi-lang-go=\"`1000`\" pulumi-lang-python=\"`1000`\" pulumi-lang-yaml=\"`1000`\" pulumi-lang-java=\"`1000`\"\u003e`1000`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`500`\" pulumi-lang-dotnet=\"`500`\" pulumi-lang-go=\"`500`\" pulumi-lang-python=\"`500`\" pulumi-lang-yaml=\"`500`\" pulumi-lang-java=\"`500`\"\u003e`500`\u003c/span\u003e.\n"}},"required":["cdnFrontdoorOriginGroupId","certificateNameCheckEnabled","hostName","name"],"inputProperties":{"cdnFrontdoorOriginGroupId":{"type":"string","description":"The ID of the Front Door Origin Group within which this Front Door Origin should exist. Changing this forces a new Front Door Origin to be created.\n","willReplaceOnChanges":true},"certificateNameCheckEnabled":{"type":"boolean","description":"Specifies whether certificate name checks are enabled for this origin.\n"},"enabled":{"type":"boolean","description":"Should the origin be enabled? Possible values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"hostName":{"type":"string","description":"The IPv4 address, IPv6 address or Domain name of the Origin.\n\n!\u003e **Note:** This must be unique across all Front Door Origins within a Front Door Endpoint.\n"},"httpPort":{"type":"integer","description":"The value of the HTTP port. Must be between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`65535`\" pulumi-lang-dotnet=\"`65535`\" pulumi-lang-go=\"`65535`\" pulumi-lang-python=\"`65535`\" pulumi-lang-yaml=\"`65535`\" pulumi-lang-java=\"`65535`\"\u003e`65535`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`80`\" pulumi-lang-dotnet=\"`80`\" pulumi-lang-go=\"`80`\" pulumi-lang-python=\"`80`\" pulumi-lang-yaml=\"`80`\" pulumi-lang-java=\"`80`\"\u003e`80`\u003c/span\u003e.\n"},"httpsPort":{"type":"integer","description":"The value of the HTTPS port. Must be between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`65535`\" pulumi-lang-dotnet=\"`65535`\" pulumi-lang-go=\"`65535`\" pulumi-lang-python=\"`65535`\" pulumi-lang-yaml=\"`65535`\" pulumi-lang-java=\"`65535`\"\u003e`65535`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`443`\" pulumi-lang-dotnet=\"`443`\" pulumi-lang-go=\"`443`\" pulumi-lang-python=\"`443`\" pulumi-lang-yaml=\"`443`\" pulumi-lang-java=\"`443`\"\u003e`443`\u003c/span\u003e.\n"},"name":{"type":"string","description":"The name which should be used for this Front Door Origin. Changing this forces a new Front Door Origin to be created.\n","willReplaceOnChanges":true},"originHostHeader":{"type":"string","description":"The host header value (an IPv4 address, IPv6 address or Domain name) which is sent to the origin with each request. If unspecified the hostname from the request will be used.\n\n\u003e **Note:** Azure Front Door Origins, such as Web Apps, Blob Storage, and Cloud Services require this host header value to match the origin's hostname. This field's value overrides the host header defined in the Front Door Endpoint. For more information on how to properly set the origin host header value please see the [product documentation](https://docs.microsoft.com/azure/frontdoor/origin?pivots=front-door-standard-premium#origin-host-header).\n"},"priority":{"type":"integer","description":"Priority of origin in given origin group for load balancing. Higher priorities will not be used for load balancing if any lower priority origin is healthy. Must be between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`5`\" pulumi-lang-dotnet=\"`5`\" pulumi-lang-go=\"`5`\" pulumi-lang-python=\"`5`\" pulumi-lang-yaml=\"`5`\" pulumi-lang-java=\"`5`\"\u003e`5`\u003c/span\u003e (inclusive). Defaults to \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e.\n"},"privateLink":{"$ref":"#/types/azure:cdn/FrontdoorOriginPrivateLink:FrontdoorOriginPrivateLink","description":"A \u003cspan pulumi-lang-nodejs=\"`privateLink`\" pulumi-lang-dotnet=\"`PrivateLink`\" pulumi-lang-go=\"`privateLink`\" pulumi-lang-python=\"`private_link`\" pulumi-lang-yaml=\"`privateLink`\" pulumi-lang-java=\"`privateLink`\"\u003e`private_link`\u003c/span\u003e block as defined below.\n\n\u003e **Note:** Private Link requires that the Front Door Profile this Origin is hosted within is using the SKU `Premium_AzureFrontDoor` and that the \u003cspan pulumi-lang-nodejs=\"`certificateNameCheckEnabled`\" pulumi-lang-dotnet=\"`CertificateNameCheckEnabled`\" pulumi-lang-go=\"`certificateNameCheckEnabled`\" pulumi-lang-python=\"`certificate_name_check_enabled`\" pulumi-lang-yaml=\"`certificateNameCheckEnabled`\" pulumi-lang-java=\"`certificateNameCheckEnabled`\"\u003e`certificate_name_check_enabled`\u003c/span\u003e field is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"weight":{"type":"integer","description":"The weight of the origin in a given origin group for load balancing. Must be between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`1000`\" pulumi-lang-dotnet=\"`1000`\" pulumi-lang-go=\"`1000`\" pulumi-lang-python=\"`1000`\" pulumi-lang-yaml=\"`1000`\" pulumi-lang-java=\"`1000`\"\u003e`1000`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`500`\" pulumi-lang-dotnet=\"`500`\" pulumi-lang-go=\"`500`\" pulumi-lang-python=\"`500`\" pulumi-lang-yaml=\"`500`\" pulumi-lang-java=\"`500`\"\u003e`500`\u003c/span\u003e.\n"}},"requiredInputs":["cdnFrontdoorOriginGroupId","certificateNameCheckEnabled","hostName"],"stateInputs":{"description":"Input properties used for looking up and filtering FrontdoorOrigin resources.\n","properties":{"cdnFrontdoorOriginGroupId":{"type":"string","description":"The ID of the Front Door Origin Group within which this Front Door Origin should exist. Changing this forces a new Front Door Origin to be created.\n","willReplaceOnChanges":true},"certificateNameCheckEnabled":{"type":"boolean","description":"Specifies whether certificate name checks are enabled for this origin.\n"},"enabled":{"type":"boolean","description":"Should the origin be enabled? Possible values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"hostName":{"type":"string","description":"The IPv4 address, IPv6 address or Domain name of the Origin.\n\n!\u003e **Note:** This must be unique across all Front Door Origins within a Front Door Endpoint.\n"},"httpPort":{"type":"integer","description":"The value of the HTTP port. Must be between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`65535`\" pulumi-lang-dotnet=\"`65535`\" pulumi-lang-go=\"`65535`\" pulumi-lang-python=\"`65535`\" pulumi-lang-yaml=\"`65535`\" pulumi-lang-java=\"`65535`\"\u003e`65535`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`80`\" pulumi-lang-dotnet=\"`80`\" pulumi-lang-go=\"`80`\" pulumi-lang-python=\"`80`\" pulumi-lang-yaml=\"`80`\" pulumi-lang-java=\"`80`\"\u003e`80`\u003c/span\u003e.\n"},"httpsPort":{"type":"integer","description":"The value of the HTTPS port. Must be between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`65535`\" pulumi-lang-dotnet=\"`65535`\" pulumi-lang-go=\"`65535`\" pulumi-lang-python=\"`65535`\" pulumi-lang-yaml=\"`65535`\" pulumi-lang-java=\"`65535`\"\u003e`65535`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`443`\" pulumi-lang-dotnet=\"`443`\" pulumi-lang-go=\"`443`\" pulumi-lang-python=\"`443`\" pulumi-lang-yaml=\"`443`\" pulumi-lang-java=\"`443`\"\u003e`443`\u003c/span\u003e.\n"},"name":{"type":"string","description":"The name which should be used for this Front Door Origin. Changing this forces a new Front Door Origin to be created.\n","willReplaceOnChanges":true},"originHostHeader":{"type":"string","description":"The host header value (an IPv4 address, IPv6 address or Domain name) which is sent to the origin with each request. If unspecified the hostname from the request will be used.\n\n\u003e **Note:** Azure Front Door Origins, such as Web Apps, Blob Storage, and Cloud Services require this host header value to match the origin's hostname. This field's value overrides the host header defined in the Front Door Endpoint. For more information on how to properly set the origin host header value please see the [product documentation](https://docs.microsoft.com/azure/frontdoor/origin?pivots=front-door-standard-premium#origin-host-header).\n"},"priority":{"type":"integer","description":"Priority of origin in given origin group for load balancing. Higher priorities will not be used for load balancing if any lower priority origin is healthy. Must be between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`5`\" pulumi-lang-dotnet=\"`5`\" pulumi-lang-go=\"`5`\" pulumi-lang-python=\"`5`\" pulumi-lang-yaml=\"`5`\" pulumi-lang-java=\"`5`\"\u003e`5`\u003c/span\u003e (inclusive). Defaults to \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e.\n"},"privateLink":{"$ref":"#/types/azure:cdn/FrontdoorOriginPrivateLink:FrontdoorOriginPrivateLink","description":"A \u003cspan pulumi-lang-nodejs=\"`privateLink`\" pulumi-lang-dotnet=\"`PrivateLink`\" pulumi-lang-go=\"`privateLink`\" pulumi-lang-python=\"`private_link`\" pulumi-lang-yaml=\"`privateLink`\" pulumi-lang-java=\"`privateLink`\"\u003e`private_link`\u003c/span\u003e block as defined below.\n\n\u003e **Note:** Private Link requires that the Front Door Profile this Origin is hosted within is using the SKU `Premium_AzureFrontDoor` and that the \u003cspan pulumi-lang-nodejs=\"`certificateNameCheckEnabled`\" pulumi-lang-dotnet=\"`CertificateNameCheckEnabled`\" pulumi-lang-go=\"`certificateNameCheckEnabled`\" pulumi-lang-python=\"`certificate_name_check_enabled`\" pulumi-lang-yaml=\"`certificateNameCheckEnabled`\" pulumi-lang-java=\"`certificateNameCheckEnabled`\"\u003e`certificate_name_check_enabled`\u003c/span\u003e field is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"weight":{"type":"integer","description":"The weight of the origin in a given origin group for load balancing. Must be between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`1000`\" pulumi-lang-dotnet=\"`1000`\" pulumi-lang-go=\"`1000`\" pulumi-lang-python=\"`1000`\" pulumi-lang-yaml=\"`1000`\" pulumi-lang-java=\"`1000`\"\u003e`1000`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`500`\" pulumi-lang-dotnet=\"`500`\" pulumi-lang-go=\"`500`\" pulumi-lang-python=\"`500`\" pulumi-lang-yaml=\"`500`\" pulumi-lang-java=\"`500`\"\u003e`500`\u003c/span\u003e.\n"}},"type":"object"}},"azure:cdn/frontdoorOriginGroup:FrontdoorOriginGroup":{"description":"Manages a Front Door (standard/premium) Origin Group.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-cdn-frontdoor\",\n    location: \"West Europe\",\n});\nconst exampleFrontdoorProfile = new azure.cdn.FrontdoorProfile(\"example\", {\n    name: \"example-profile\",\n    resourceGroupName: example.name,\n    skuName: \"Standard_AzureFrontDoor\",\n});\nconst exampleFrontdoorOriginGroup = new azure.cdn.FrontdoorOriginGroup(\"example\", {\n    name: \"example-origin-group\",\n    cdnFrontdoorProfileId: exampleFrontdoorProfile.id,\n    sessionAffinityEnabled: true,\n    restoreTrafficTimeToHealedOrNewEndpointInMinutes: 10,\n    healthProbe: {\n        intervalInSeconds: 240,\n        path: \"/healthProbe\",\n        protocol: \"Https\",\n        requestType: \"HEAD\",\n    },\n    loadBalancing: {\n        additionalLatencyInMilliseconds: 0,\n        sampleSize: 16,\n        successfulSamplesRequired: 3,\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-cdn-frontdoor\",\n    location=\"West Europe\")\nexample_frontdoor_profile = azure.cdn.FrontdoorProfile(\"example\",\n    name=\"example-profile\",\n    resource_group_name=example.name,\n    sku_name=\"Standard_AzureFrontDoor\")\nexample_frontdoor_origin_group = azure.cdn.FrontdoorOriginGroup(\"example\",\n    name=\"example-origin-group\",\n    cdn_frontdoor_profile_id=example_frontdoor_profile.id,\n    session_affinity_enabled=True,\n    restore_traffic_time_to_healed_or_new_endpoint_in_minutes=10,\n    health_probe={\n        \"interval_in_seconds\": 240,\n        \"path\": \"/healthProbe\",\n        \"protocol\": \"Https\",\n        \"request_type\": \"HEAD\",\n    },\n    load_balancing={\n        \"additional_latency_in_milliseconds\": 0,\n        \"sample_size\": 16,\n        \"successful_samples_required\": 3,\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-cdn-frontdoor\",\n        Location = \"West Europe\",\n    });\n\n    var exampleFrontdoorProfile = new Azure.Cdn.FrontdoorProfile(\"example\", new()\n    {\n        Name = \"example-profile\",\n        ResourceGroupName = example.Name,\n        SkuName = \"Standard_AzureFrontDoor\",\n    });\n\n    var exampleFrontdoorOriginGroup = new Azure.Cdn.FrontdoorOriginGroup(\"example\", new()\n    {\n        Name = \"example-origin-group\",\n        CdnFrontdoorProfileId = exampleFrontdoorProfile.Id,\n        SessionAffinityEnabled = true,\n        RestoreTrafficTimeToHealedOrNewEndpointInMinutes = 10,\n        HealthProbe = new Azure.Cdn.Inputs.FrontdoorOriginGroupHealthProbeArgs\n        {\n            IntervalInSeconds = 240,\n            Path = \"/healthProbe\",\n            Protocol = \"Https\",\n            RequestType = \"HEAD\",\n        },\n        LoadBalancing = new Azure.Cdn.Inputs.FrontdoorOriginGroupLoadBalancingArgs\n        {\n            AdditionalLatencyInMilliseconds = 0,\n            SampleSize = 16,\n            SuccessfulSamplesRequired = 3,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/cdn\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-cdn-frontdoor\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleFrontdoorProfile, err := cdn.NewFrontdoorProfile(ctx, \"example\", \u0026cdn.FrontdoorProfileArgs{\n\t\t\tName:              pulumi.String(\"example-profile\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSkuName:           pulumi.String(\"Standard_AzureFrontDoor\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cdn.NewFrontdoorOriginGroup(ctx, \"example\", \u0026cdn.FrontdoorOriginGroupArgs{\n\t\t\tName:                   pulumi.String(\"example-origin-group\"),\n\t\t\tCdnFrontdoorProfileId:  exampleFrontdoorProfile.ID(),\n\t\t\tSessionAffinityEnabled: pulumi.Bool(true),\n\t\t\tRestoreTrafficTimeToHealedOrNewEndpointInMinutes: pulumi.Int(10),\n\t\t\tHealthProbe: \u0026cdn.FrontdoorOriginGroupHealthProbeArgs{\n\t\t\t\tIntervalInSeconds: pulumi.Int(240),\n\t\t\t\tPath:              pulumi.String(\"/healthProbe\"),\n\t\t\t\tProtocol:          pulumi.String(\"Https\"),\n\t\t\t\tRequestType:       pulumi.String(\"HEAD\"),\n\t\t\t},\n\t\t\tLoadBalancing: \u0026cdn.FrontdoorOriginGroupLoadBalancingArgs{\n\t\t\t\tAdditionalLatencyInMilliseconds: pulumi.Int(0),\n\t\t\t\tSampleSize:                      pulumi.Int(16),\n\t\t\t\tSuccessfulSamplesRequired:       pulumi.Int(3),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.cdn.FrontdoorProfile;\nimport com.pulumi.azure.cdn.FrontdoorProfileArgs;\nimport com.pulumi.azure.cdn.FrontdoorOriginGroup;\nimport com.pulumi.azure.cdn.FrontdoorOriginGroupArgs;\nimport com.pulumi.azure.cdn.inputs.FrontdoorOriginGroupHealthProbeArgs;\nimport com.pulumi.azure.cdn.inputs.FrontdoorOriginGroupLoadBalancingArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-cdn-frontdoor\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleFrontdoorProfile = new FrontdoorProfile(\"exampleFrontdoorProfile\", FrontdoorProfileArgs.builder()\n            .name(\"example-profile\")\n            .resourceGroupName(example.name())\n            .skuName(\"Standard_AzureFrontDoor\")\n            .build());\n\n        var exampleFrontdoorOriginGroup = new FrontdoorOriginGroup(\"exampleFrontdoorOriginGroup\", FrontdoorOriginGroupArgs.builder()\n            .name(\"example-origin-group\")\n            .cdnFrontdoorProfileId(exampleFrontdoorProfile.id())\n            .sessionAffinityEnabled(true)\n            .restoreTrafficTimeToHealedOrNewEndpointInMinutes(10)\n            .healthProbe(FrontdoorOriginGroupHealthProbeArgs.builder()\n                .intervalInSeconds(240)\n                .path(\"/healthProbe\")\n                .protocol(\"Https\")\n                .requestType(\"HEAD\")\n                .build())\n            .loadBalancing(FrontdoorOriginGroupLoadBalancingArgs.builder()\n                .additionalLatencyInMilliseconds(0)\n                .sampleSize(16)\n                .successfulSamplesRequired(3)\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-cdn-frontdoor\n      location: West Europe\n  exampleFrontdoorProfile:\n    type: azure:cdn:FrontdoorProfile\n    name: example\n    properties:\n      name: example-profile\n      resourceGroupName: ${example.name}\n      skuName: Standard_AzureFrontDoor\n  exampleFrontdoorOriginGroup:\n    type: azure:cdn:FrontdoorOriginGroup\n    name: example\n    properties:\n      name: example-origin-group\n      cdnFrontdoorProfileId: ${exampleFrontdoorProfile.id}\n      sessionAffinityEnabled: true\n      restoreTrafficTimeToHealedOrNewEndpointInMinutes: 10\n      healthProbe:\n        intervalInSeconds: 240\n        path: /healthProbe\n        protocol: Https\n        requestType: HEAD\n      loadBalancing:\n        additionalLatencyInMilliseconds: 0\n        sampleSize: 16\n        successfulSamplesRequired: 3\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nFront Door Origin Groups can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:cdn/frontdoorOriginGroup:FrontdoorOriginGroup example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup1/providers/Microsoft.Cdn/profiles/profile1/originGroups/originGroup1\n```\n\n","properties":{"cdnFrontdoorProfileId":{"type":"string","description":"The ID of the Front Door Profile within which this Front Door Origin Group should exist. Changing this forces a new Front Door Origin Group to be created.\n"},"healthProbe":{"$ref":"#/types/azure:cdn/FrontdoorOriginGroupHealthProbe:FrontdoorOriginGroupHealthProbe","description":"A \u003cspan pulumi-lang-nodejs=\"`healthProbe`\" pulumi-lang-dotnet=\"`HealthProbe`\" pulumi-lang-go=\"`healthProbe`\" pulumi-lang-python=\"`health_probe`\" pulumi-lang-yaml=\"`healthProbe`\" pulumi-lang-java=\"`healthProbe`\"\u003e`health_probe`\u003c/span\u003e block as defined below.\n"},"loadBalancing":{"$ref":"#/types/azure:cdn/FrontdoorOriginGroupLoadBalancing:FrontdoorOriginGroupLoadBalancing","description":"A \u003cspan pulumi-lang-nodejs=\"`loadBalancing`\" pulumi-lang-dotnet=\"`LoadBalancing`\" pulumi-lang-go=\"`loadBalancing`\" pulumi-lang-python=\"`load_balancing`\" pulumi-lang-yaml=\"`loadBalancing`\" pulumi-lang-java=\"`loadBalancing`\"\u003e`load_balancing`\u003c/span\u003e block as defined below.\n"},"name":{"type":"string","description":"The name which should be used for this Front Door Origin Group. Changing this forces a new Front Door Origin Group to be created.\n"},"restoreTrafficTimeToHealedOrNewEndpointInMinutes":{"type":"integer","description":"Specifies the amount of time which should elapse before shifting traffic to another endpoint when a healthy endpoint becomes unhealthy or a new endpoint is added. Possible values are between \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`50`\" pulumi-lang-dotnet=\"`50`\" pulumi-lang-go=\"`50`\" pulumi-lang-python=\"`50`\" pulumi-lang-yaml=\"`50`\" pulumi-lang-java=\"`50`\"\u003e`50`\u003c/span\u003e minutes (inclusive). Default is \u003cspan pulumi-lang-nodejs=\"`10`\" pulumi-lang-dotnet=\"`10`\" pulumi-lang-go=\"`10`\" pulumi-lang-python=\"`10`\" pulumi-lang-yaml=\"`10`\" pulumi-lang-java=\"`10`\"\u003e`10`\u003c/span\u003e minutes.\n\n\u003e **Note:** This property is currently not used, but will be in the near future.\n"},"sessionAffinityEnabled":{"type":"boolean","description":"Specifies whether session affinity should be enabled on this host. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"}},"required":["cdnFrontdoorProfileId","loadBalancing","name"],"inputProperties":{"cdnFrontdoorProfileId":{"type":"string","description":"The ID of the Front Door Profile within which this Front Door Origin Group should exist. Changing this forces a new Front Door Origin Group to be created.\n","willReplaceOnChanges":true},"healthProbe":{"$ref":"#/types/azure:cdn/FrontdoorOriginGroupHealthProbe:FrontdoorOriginGroupHealthProbe","description":"A \u003cspan pulumi-lang-nodejs=\"`healthProbe`\" pulumi-lang-dotnet=\"`HealthProbe`\" pulumi-lang-go=\"`healthProbe`\" pulumi-lang-python=\"`health_probe`\" pulumi-lang-yaml=\"`healthProbe`\" pulumi-lang-java=\"`healthProbe`\"\u003e`health_probe`\u003c/span\u003e block as defined below.\n"},"loadBalancing":{"$ref":"#/types/azure:cdn/FrontdoorOriginGroupLoadBalancing:FrontdoorOriginGroupLoadBalancing","description":"A \u003cspan pulumi-lang-nodejs=\"`loadBalancing`\" pulumi-lang-dotnet=\"`LoadBalancing`\" pulumi-lang-go=\"`loadBalancing`\" pulumi-lang-python=\"`load_balancing`\" pulumi-lang-yaml=\"`loadBalancing`\" pulumi-lang-java=\"`loadBalancing`\"\u003e`load_balancing`\u003c/span\u003e block as defined below.\n"},"name":{"type":"string","description":"The name which should be used for this Front Door Origin Group. Changing this forces a new Front Door Origin Group to be created.\n","willReplaceOnChanges":true},"restoreTrafficTimeToHealedOrNewEndpointInMinutes":{"type":"integer","description":"Specifies the amount of time which should elapse before shifting traffic to another endpoint when a healthy endpoint becomes unhealthy or a new endpoint is added. Possible values are between \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`50`\" pulumi-lang-dotnet=\"`50`\" pulumi-lang-go=\"`50`\" pulumi-lang-python=\"`50`\" pulumi-lang-yaml=\"`50`\" pulumi-lang-java=\"`50`\"\u003e`50`\u003c/span\u003e minutes (inclusive). Default is \u003cspan pulumi-lang-nodejs=\"`10`\" pulumi-lang-dotnet=\"`10`\" pulumi-lang-go=\"`10`\" pulumi-lang-python=\"`10`\" pulumi-lang-yaml=\"`10`\" pulumi-lang-java=\"`10`\"\u003e`10`\u003c/span\u003e minutes.\n\n\u003e **Note:** This property is currently not used, but will be in the near future.\n"},"sessionAffinityEnabled":{"type":"boolean","description":"Specifies whether session affinity should be enabled on this host. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"}},"requiredInputs":["cdnFrontdoorProfileId","loadBalancing"],"stateInputs":{"description":"Input properties used for looking up and filtering FrontdoorOriginGroup resources.\n","properties":{"cdnFrontdoorProfileId":{"type":"string","description":"The ID of the Front Door Profile within which this Front Door Origin Group should exist. Changing this forces a new Front Door Origin Group to be created.\n","willReplaceOnChanges":true},"healthProbe":{"$ref":"#/types/azure:cdn/FrontdoorOriginGroupHealthProbe:FrontdoorOriginGroupHealthProbe","description":"A \u003cspan pulumi-lang-nodejs=\"`healthProbe`\" pulumi-lang-dotnet=\"`HealthProbe`\" pulumi-lang-go=\"`healthProbe`\" pulumi-lang-python=\"`health_probe`\" pulumi-lang-yaml=\"`healthProbe`\" pulumi-lang-java=\"`healthProbe`\"\u003e`health_probe`\u003c/span\u003e block as defined below.\n"},"loadBalancing":{"$ref":"#/types/azure:cdn/FrontdoorOriginGroupLoadBalancing:FrontdoorOriginGroupLoadBalancing","description":"A \u003cspan pulumi-lang-nodejs=\"`loadBalancing`\" pulumi-lang-dotnet=\"`LoadBalancing`\" pulumi-lang-go=\"`loadBalancing`\" pulumi-lang-python=\"`load_balancing`\" pulumi-lang-yaml=\"`loadBalancing`\" pulumi-lang-java=\"`loadBalancing`\"\u003e`load_balancing`\u003c/span\u003e block as defined below.\n"},"name":{"type":"string","description":"The name which should be used for this Front Door Origin Group. Changing this forces a new Front Door Origin Group to be created.\n","willReplaceOnChanges":true},"restoreTrafficTimeToHealedOrNewEndpointInMinutes":{"type":"integer","description":"Specifies the amount of time which should elapse before shifting traffic to another endpoint when a healthy endpoint becomes unhealthy or a new endpoint is added. Possible values are between \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`50`\" pulumi-lang-dotnet=\"`50`\" pulumi-lang-go=\"`50`\" pulumi-lang-python=\"`50`\" pulumi-lang-yaml=\"`50`\" pulumi-lang-java=\"`50`\"\u003e`50`\u003c/span\u003e minutes (inclusive). Default is \u003cspan pulumi-lang-nodejs=\"`10`\" pulumi-lang-dotnet=\"`10`\" pulumi-lang-go=\"`10`\" pulumi-lang-python=\"`10`\" pulumi-lang-yaml=\"`10`\" pulumi-lang-java=\"`10`\"\u003e`10`\u003c/span\u003e minutes.\n\n\u003e **Note:** This property is currently not used, but will be in the near future.\n"},"sessionAffinityEnabled":{"type":"boolean","description":"Specifies whether session affinity should be enabled on this host. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"}},"type":"object"}},"azure:cdn/frontdoorProfile:FrontdoorProfile":{"description":"Manages a Front Door (standard/premium) Profile which contains a collection of endpoints and origin groups.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleUserAssignedIdentity = new azure.authorization.UserAssignedIdentity(\"example\", {\n    location: example.location,\n    name: \"example-identity\",\n    resourceGroupName: example.name,\n});\nconst exampleFrontdoorProfile = new azure.cdn.FrontdoorProfile(\"example\", {\n    name: \"example-cdn-profile\",\n    resourceGroupName: example.name,\n    skuName: \"Premium_AzureFrontDoor\",\n    responseTimeoutSeconds: 120,\n    identity: {\n        type: \"SystemAssigned, UserAssigned\",\n        identityIds: [exampleUserAssignedIdentity.id],\n    },\n    logScrubbingRules: [{\n        matchVariable: \"RequestIPAddress\",\n    }],\n    tags: {\n        environment: \"Production\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_user_assigned_identity = azure.authorization.UserAssignedIdentity(\"example\",\n    location=example.location,\n    name=\"example-identity\",\n    resource_group_name=example.name)\nexample_frontdoor_profile = azure.cdn.FrontdoorProfile(\"example\",\n    name=\"example-cdn-profile\",\n    resource_group_name=example.name,\n    sku_name=\"Premium_AzureFrontDoor\",\n    response_timeout_seconds=120,\n    identity={\n        \"type\": \"SystemAssigned, UserAssigned\",\n        \"identity_ids\": [example_user_assigned_identity.id],\n    },\n    log_scrubbing_rules=[{\n        \"match_variable\": \"RequestIPAddress\",\n    }],\n    tags={\n        \"environment\": \"Production\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleUserAssignedIdentity = new Azure.Authorization.UserAssignedIdentity(\"example\", new()\n    {\n        Location = example.Location,\n        Name = \"example-identity\",\n        ResourceGroupName = example.Name,\n    });\n\n    var exampleFrontdoorProfile = new Azure.Cdn.FrontdoorProfile(\"example\", new()\n    {\n        Name = \"example-cdn-profile\",\n        ResourceGroupName = example.Name,\n        SkuName = \"Premium_AzureFrontDoor\",\n        ResponseTimeoutSeconds = 120,\n        Identity = new Azure.Cdn.Inputs.FrontdoorProfileIdentityArgs\n        {\n            Type = \"SystemAssigned, UserAssigned\",\n            IdentityIds = new[]\n            {\n                exampleUserAssignedIdentity.Id,\n            },\n        },\n        LogScrubbingRules = new[]\n        {\n            new Azure.Cdn.Inputs.FrontdoorProfileLogScrubbingRuleArgs\n            {\n                MatchVariable = \"RequestIPAddress\",\n            },\n        },\n        Tags = \n        {\n            { \"environment\", \"Production\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/authorization\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/cdn\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleUserAssignedIdentity, err := authorization.NewUserAssignedIdentity(ctx, \"example\", \u0026authorization.UserAssignedIdentityArgs{\n\t\t\tLocation:          example.Location,\n\t\t\tName:              pulumi.String(\"example-identity\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cdn.NewFrontdoorProfile(ctx, \"example\", \u0026cdn.FrontdoorProfileArgs{\n\t\t\tName:                   pulumi.String(\"example-cdn-profile\"),\n\t\t\tResourceGroupName:      example.Name,\n\t\t\tSkuName:                pulumi.String(\"Premium_AzureFrontDoor\"),\n\t\t\tResponseTimeoutSeconds: pulumi.Int(120),\n\t\t\tIdentity: \u0026cdn.FrontdoorProfileIdentityArgs{\n\t\t\t\tType: pulumi.String(\"SystemAssigned, UserAssigned\"),\n\t\t\t\tIdentityIds: pulumi.StringArray{\n\t\t\t\t\texampleUserAssignedIdentity.ID(),\n\t\t\t\t},\n\t\t\t},\n\t\t\tLogScrubbingRules: cdn.FrontdoorProfileLogScrubbingRuleArray{\n\t\t\t\t\u0026cdn.FrontdoorProfileLogScrubbingRuleArgs{\n\t\t\t\t\tMatchVariable: pulumi.String(\"RequestIPAddress\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"environment\": pulumi.String(\"Production\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.authorization.UserAssignedIdentity;\nimport com.pulumi.azure.authorization.UserAssignedIdentityArgs;\nimport com.pulumi.azure.cdn.FrontdoorProfile;\nimport com.pulumi.azure.cdn.FrontdoorProfileArgs;\nimport com.pulumi.azure.cdn.inputs.FrontdoorProfileIdentityArgs;\nimport com.pulumi.azure.cdn.inputs.FrontdoorProfileLogScrubbingRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleUserAssignedIdentity = new UserAssignedIdentity(\"exampleUserAssignedIdentity\", UserAssignedIdentityArgs.builder()\n            .location(example.location())\n            .name(\"example-identity\")\n            .resourceGroupName(example.name())\n            .build());\n\n        var exampleFrontdoorProfile = new FrontdoorProfile(\"exampleFrontdoorProfile\", FrontdoorProfileArgs.builder()\n            .name(\"example-cdn-profile\")\n            .resourceGroupName(example.name())\n            .skuName(\"Premium_AzureFrontDoor\")\n            .responseTimeoutSeconds(120)\n            .identity(FrontdoorProfileIdentityArgs.builder()\n                .type(\"SystemAssigned, UserAssigned\")\n                .identityIds(exampleUserAssignedIdentity.id())\n                .build())\n            .logScrubbingRules(FrontdoorProfileLogScrubbingRuleArgs.builder()\n                .matchVariable(\"RequestIPAddress\")\n                .build())\n            .tags(Map.of(\"environment\", \"Production\"))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleUserAssignedIdentity:\n    type: azure:authorization:UserAssignedIdentity\n    name: example\n    properties:\n      location: ${example.location}\n      name: example-identity\n      resourceGroupName: ${example.name}\n  exampleFrontdoorProfile:\n    type: azure:cdn:FrontdoorProfile\n    name: example\n    properties:\n      name: example-cdn-profile\n      resourceGroupName: ${example.name}\n      skuName: Premium_AzureFrontDoor\n      responseTimeoutSeconds: 120\n      identity:\n        type: SystemAssigned, UserAssigned\n        identityIds:\n          - ${exampleUserAssignedIdentity.id}\n      logScrubbingRules:\n        - matchVariable: RequestIPAddress\n      tags:\n        environment: Production\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Cdn` - 2024-02-01\n\n## Import\n\nFront Door Profiles can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:cdn/frontdoorProfile:FrontdoorProfile example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Cdn/profiles/myprofile1\n```\n\n","properties":{"identity":{"$ref":"#/types/azure:cdn/FrontdoorProfileIdentity:FrontdoorProfileIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"logScrubbingRules":{"type":"array","items":{"$ref":"#/types/azure:cdn/FrontdoorProfileLogScrubbingRule:FrontdoorProfileLogScrubbingRule"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`logScrubbingRule`\" pulumi-lang-dotnet=\"`LogScrubbingRule`\" pulumi-lang-go=\"`logScrubbingRule`\" pulumi-lang-python=\"`log_scrubbing_rule`\" pulumi-lang-yaml=\"`logScrubbingRule`\" pulumi-lang-java=\"`logScrubbingRule`\"\u003e`log_scrubbing_rule`\u003c/span\u003e blocks as defined below.\n\n\u003e **Note:** When no \u003cspan pulumi-lang-nodejs=\"`logScrubbingRule`\" pulumi-lang-dotnet=\"`LogScrubbingRule`\" pulumi-lang-go=\"`logScrubbingRule`\" pulumi-lang-python=\"`log_scrubbing_rule`\" pulumi-lang-yaml=\"`logScrubbingRule`\" pulumi-lang-java=\"`logScrubbingRule`\"\u003e`log_scrubbing_rule`\u003c/span\u003e blocks are defined, log scrubbing will be automatically \u003cspan pulumi-lang-nodejs=\"`disabled`\" pulumi-lang-dotnet=\"`Disabled`\" pulumi-lang-go=\"`disabled`\" pulumi-lang-python=\"`disabled`\" pulumi-lang-yaml=\"`disabled`\" pulumi-lang-java=\"`disabled`\"\u003e`disabled`\u003c/span\u003e. When one or more \u003cspan pulumi-lang-nodejs=\"`logScrubbingRule`\" pulumi-lang-dotnet=\"`LogScrubbingRule`\" pulumi-lang-go=\"`logScrubbingRule`\" pulumi-lang-python=\"`log_scrubbing_rule`\" pulumi-lang-yaml=\"`logScrubbingRule`\" pulumi-lang-java=\"`logScrubbingRule`\"\u003e`log_scrubbing_rule`\u003c/span\u003e blocks are present, log scrubbing will be \u003cspan pulumi-lang-nodejs=\"`enabled`\" pulumi-lang-dotnet=\"`Enabled`\" pulumi-lang-go=\"`enabled`\" pulumi-lang-python=\"`enabled`\" pulumi-lang-yaml=\"`enabled`\" pulumi-lang-java=\"`enabled`\"\u003e`enabled`\u003c/span\u003e.\n"},"name":{"type":"string","description":"Specifies the name of the Front Door Profile. Changing this forces a new resource to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where this Front Door Profile should exist. Changing this forces a new resource to be created.\n"},"resourceGuid":{"type":"string","description":"The UUID of this Front Door Profile which will be sent in the HTTP Header as the `X-Azure-FDID` attribute.\n"},"responseTimeoutSeconds":{"type":"integer","description":"Specifies the maximum response timeout in seconds. Possible values are between \u003cspan pulumi-lang-nodejs=\"`16`\" pulumi-lang-dotnet=\"`16`\" pulumi-lang-go=\"`16`\" pulumi-lang-python=\"`16`\" pulumi-lang-yaml=\"`16`\" pulumi-lang-java=\"`16`\"\u003e`16`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`240`\" pulumi-lang-dotnet=\"`240`\" pulumi-lang-go=\"`240`\" pulumi-lang-python=\"`240`\" pulumi-lang-yaml=\"`240`\" pulumi-lang-java=\"`240`\"\u003e`240`\u003c/span\u003e seconds (inclusive). Defaults to \u003cspan pulumi-lang-nodejs=\"`120`\" pulumi-lang-dotnet=\"`120`\" pulumi-lang-go=\"`120`\" pulumi-lang-python=\"`120`\" pulumi-lang-yaml=\"`120`\" pulumi-lang-java=\"`120`\"\u003e`120`\u003c/span\u003e seconds.\n"},"skuName":{"type":"string","description":"Specifies the SKU for this Front Door Profile. Possible values include `Standard_AzureFrontDoor` and `Premium_AzureFrontDoor`. Changing this forces a new resource to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Specifies a mapping of tags to assign to the resource.\n"}},"required":["name","resourceGroupName","resourceGuid","skuName"],"inputProperties":{"identity":{"$ref":"#/types/azure:cdn/FrontdoorProfileIdentity:FrontdoorProfileIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"logScrubbingRules":{"type":"array","items":{"$ref":"#/types/azure:cdn/FrontdoorProfileLogScrubbingRule:FrontdoorProfileLogScrubbingRule"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`logScrubbingRule`\" pulumi-lang-dotnet=\"`LogScrubbingRule`\" pulumi-lang-go=\"`logScrubbingRule`\" pulumi-lang-python=\"`log_scrubbing_rule`\" pulumi-lang-yaml=\"`logScrubbingRule`\" pulumi-lang-java=\"`logScrubbingRule`\"\u003e`log_scrubbing_rule`\u003c/span\u003e blocks as defined below.\n\n\u003e **Note:** When no \u003cspan pulumi-lang-nodejs=\"`logScrubbingRule`\" pulumi-lang-dotnet=\"`LogScrubbingRule`\" pulumi-lang-go=\"`logScrubbingRule`\" pulumi-lang-python=\"`log_scrubbing_rule`\" pulumi-lang-yaml=\"`logScrubbingRule`\" pulumi-lang-java=\"`logScrubbingRule`\"\u003e`log_scrubbing_rule`\u003c/span\u003e blocks are defined, log scrubbing will be automatically \u003cspan pulumi-lang-nodejs=\"`disabled`\" pulumi-lang-dotnet=\"`Disabled`\" pulumi-lang-go=\"`disabled`\" pulumi-lang-python=\"`disabled`\" pulumi-lang-yaml=\"`disabled`\" pulumi-lang-java=\"`disabled`\"\u003e`disabled`\u003c/span\u003e. When one or more \u003cspan pulumi-lang-nodejs=\"`logScrubbingRule`\" pulumi-lang-dotnet=\"`LogScrubbingRule`\" pulumi-lang-go=\"`logScrubbingRule`\" pulumi-lang-python=\"`log_scrubbing_rule`\" pulumi-lang-yaml=\"`logScrubbingRule`\" pulumi-lang-java=\"`logScrubbingRule`\"\u003e`log_scrubbing_rule`\u003c/span\u003e blocks are present, log scrubbing will be \u003cspan pulumi-lang-nodejs=\"`enabled`\" pulumi-lang-dotnet=\"`Enabled`\" pulumi-lang-go=\"`enabled`\" pulumi-lang-python=\"`enabled`\" pulumi-lang-yaml=\"`enabled`\" pulumi-lang-java=\"`enabled`\"\u003e`enabled`\u003c/span\u003e.\n"},"name":{"type":"string","description":"Specifies the name of the Front Door Profile. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where this Front Door Profile should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"responseTimeoutSeconds":{"type":"integer","description":"Specifies the maximum response timeout in seconds. Possible values are between \u003cspan pulumi-lang-nodejs=\"`16`\" pulumi-lang-dotnet=\"`16`\" pulumi-lang-go=\"`16`\" pulumi-lang-python=\"`16`\" pulumi-lang-yaml=\"`16`\" pulumi-lang-java=\"`16`\"\u003e`16`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`240`\" pulumi-lang-dotnet=\"`240`\" pulumi-lang-go=\"`240`\" pulumi-lang-python=\"`240`\" pulumi-lang-yaml=\"`240`\" pulumi-lang-java=\"`240`\"\u003e`240`\u003c/span\u003e seconds (inclusive). Defaults to \u003cspan pulumi-lang-nodejs=\"`120`\" pulumi-lang-dotnet=\"`120`\" pulumi-lang-go=\"`120`\" pulumi-lang-python=\"`120`\" pulumi-lang-yaml=\"`120`\" pulumi-lang-java=\"`120`\"\u003e`120`\u003c/span\u003e seconds.\n"},"skuName":{"type":"string","description":"Specifies the SKU for this Front Door Profile. Possible values include `Standard_AzureFrontDoor` and `Premium_AzureFrontDoor`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Specifies a mapping of tags to assign to the resource.\n"}},"requiredInputs":["resourceGroupName","skuName"],"stateInputs":{"description":"Input properties used for looking up and filtering FrontdoorProfile resources.\n","properties":{"identity":{"$ref":"#/types/azure:cdn/FrontdoorProfileIdentity:FrontdoorProfileIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"logScrubbingRules":{"type":"array","items":{"$ref":"#/types/azure:cdn/FrontdoorProfileLogScrubbingRule:FrontdoorProfileLogScrubbingRule"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`logScrubbingRule`\" pulumi-lang-dotnet=\"`LogScrubbingRule`\" pulumi-lang-go=\"`logScrubbingRule`\" pulumi-lang-python=\"`log_scrubbing_rule`\" pulumi-lang-yaml=\"`logScrubbingRule`\" pulumi-lang-java=\"`logScrubbingRule`\"\u003e`log_scrubbing_rule`\u003c/span\u003e blocks as defined below.\n\n\u003e **Note:** When no \u003cspan pulumi-lang-nodejs=\"`logScrubbingRule`\" pulumi-lang-dotnet=\"`LogScrubbingRule`\" pulumi-lang-go=\"`logScrubbingRule`\" pulumi-lang-python=\"`log_scrubbing_rule`\" pulumi-lang-yaml=\"`logScrubbingRule`\" pulumi-lang-java=\"`logScrubbingRule`\"\u003e`log_scrubbing_rule`\u003c/span\u003e blocks are defined, log scrubbing will be automatically \u003cspan pulumi-lang-nodejs=\"`disabled`\" pulumi-lang-dotnet=\"`Disabled`\" pulumi-lang-go=\"`disabled`\" pulumi-lang-python=\"`disabled`\" pulumi-lang-yaml=\"`disabled`\" pulumi-lang-java=\"`disabled`\"\u003e`disabled`\u003c/span\u003e. When one or more \u003cspan pulumi-lang-nodejs=\"`logScrubbingRule`\" pulumi-lang-dotnet=\"`LogScrubbingRule`\" pulumi-lang-go=\"`logScrubbingRule`\" pulumi-lang-python=\"`log_scrubbing_rule`\" pulumi-lang-yaml=\"`logScrubbingRule`\" pulumi-lang-java=\"`logScrubbingRule`\"\u003e`log_scrubbing_rule`\u003c/span\u003e blocks are present, log scrubbing will be \u003cspan pulumi-lang-nodejs=\"`enabled`\" pulumi-lang-dotnet=\"`Enabled`\" pulumi-lang-go=\"`enabled`\" pulumi-lang-python=\"`enabled`\" pulumi-lang-yaml=\"`enabled`\" pulumi-lang-java=\"`enabled`\"\u003e`enabled`\u003c/span\u003e.\n"},"name":{"type":"string","description":"Specifies the name of the Front Door Profile. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where this Front Door Profile should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGuid":{"type":"string","description":"The UUID of this Front Door Profile which will be sent in the HTTP Header as the `X-Azure-FDID` attribute.\n"},"responseTimeoutSeconds":{"type":"integer","description":"Specifies the maximum response timeout in seconds. Possible values are between \u003cspan pulumi-lang-nodejs=\"`16`\" pulumi-lang-dotnet=\"`16`\" pulumi-lang-go=\"`16`\" pulumi-lang-python=\"`16`\" pulumi-lang-yaml=\"`16`\" pulumi-lang-java=\"`16`\"\u003e`16`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`240`\" pulumi-lang-dotnet=\"`240`\" pulumi-lang-go=\"`240`\" pulumi-lang-python=\"`240`\" pulumi-lang-yaml=\"`240`\" pulumi-lang-java=\"`240`\"\u003e`240`\u003c/span\u003e seconds (inclusive). Defaults to \u003cspan pulumi-lang-nodejs=\"`120`\" pulumi-lang-dotnet=\"`120`\" pulumi-lang-go=\"`120`\" pulumi-lang-python=\"`120`\" pulumi-lang-yaml=\"`120`\" pulumi-lang-java=\"`120`\"\u003e`120`\u003c/span\u003e seconds.\n"},"skuName":{"type":"string","description":"Specifies the SKU for this Front Door Profile. Possible values include `Standard_AzureFrontDoor` and `Premium_AzureFrontDoor`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Specifies a mapping of tags to assign to the resource.\n"}},"type":"object"}},"azure:cdn/frontdoorRoute:FrontdoorRoute":{"description":"Manages a Front Door (standard/premium) Route.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\nimport * as std from \"@pulumi/std\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-cdn-frontdoor\",\n    location: \"West Europe\",\n});\nconst exampleZone = new azure.dns.Zone(\"example\", {\n    name: \"example.com\",\n    resourceGroupName: example.name,\n});\nconst exampleFrontdoorProfile = new azure.cdn.FrontdoorProfile(\"example\", {\n    name: \"example-profile\",\n    resourceGroupName: example.name,\n    skuName: \"Standard_AzureFrontDoor\",\n});\nconst exampleFrontdoorOriginGroup = new azure.cdn.FrontdoorOriginGroup(\"example\", {\n    name: \"example-originGroup\",\n    cdnFrontdoorProfileId: exampleFrontdoorProfile.id,\n    loadBalancing: {\n        additionalLatencyInMilliseconds: 0,\n        sampleSize: 16,\n        successfulSamplesRequired: 3,\n    },\n});\nconst exampleFrontdoorOrigin = new azure.cdn.FrontdoorOrigin(\"example\", {\n    name: \"example-origin\",\n    cdnFrontdoorOriginGroupId: exampleFrontdoorOriginGroup.id,\n    enabled: true,\n    certificateNameCheckEnabled: false,\n    hostName: \"contoso.com\",\n    httpPort: 80,\n    httpsPort: 443,\n    originHostHeader: \"www.contoso.com\",\n    priority: 1,\n    weight: 1,\n});\nconst exampleFrontdoorEndpoint = new azure.cdn.FrontdoorEndpoint(\"example\", {\n    name: \"example-endpoint\",\n    cdnFrontdoorProfileId: exampleFrontdoorProfile.id,\n});\nconst exampleFrontdoorRuleSet = new azure.cdn.FrontdoorRuleSet(\"example\", {\n    name: \"ExampleRuleSet\",\n    cdnFrontdoorProfileId: exampleFrontdoorProfile.id,\n});\nconst contoso = new azure.cdn.FrontdoorCustomDomain(\"contoso\", {\n    name: \"contoso-custom-domain\",\n    cdnFrontdoorProfileId: exampleFrontdoorProfile.id,\n    dnsZoneId: exampleZone.id,\n    hostName: std.joinOutput({\n        separator: \".\",\n        input: [\n            \"contoso\",\n            exampleZone.name,\n        ],\n    }).apply(invoke =\u003e invoke.result),\n    tls: {\n        certificateType: \"ManagedCertificate\",\n        minimumTlsVersion: \"TLS12\",\n    },\n});\nconst fabrikam = new azure.cdn.FrontdoorCustomDomain(\"fabrikam\", {\n    name: \"fabrikam-custom-domain\",\n    cdnFrontdoorProfileId: exampleFrontdoorProfile.id,\n    dnsZoneId: exampleZone.id,\n    hostName: std.joinOutput({\n        separator: \".\",\n        input: [\n            \"fabrikam\",\n            exampleZone.name,\n        ],\n    }).apply(invoke =\u003e invoke.result),\n    tls: {\n        certificateType: \"ManagedCertificate\",\n        minimumTlsVersion: \"TLS12\",\n    },\n});\nconst exampleFrontdoorRoute = new azure.cdn.FrontdoorRoute(\"example\", {\n    name: \"example-route\",\n    cdnFrontdoorEndpointId: exampleFrontdoorEndpoint.id,\n    cdnFrontdoorOriginGroupId: exampleFrontdoorOriginGroup.id,\n    cdnFrontdoorOriginIds: [exampleFrontdoorOrigin.id],\n    cdnFrontdoorRuleSetIds: [exampleFrontdoorRuleSet.id],\n    enabled: true,\n    forwardingProtocol: \"HttpsOnly\",\n    httpsRedirectEnabled: true,\n    patternsToMatches: [\"/*\"],\n    supportedProtocols: [\n        \"Http\",\n        \"Https\",\n    ],\n    cdnFrontdoorCustomDomainIds: [\n        contoso.id,\n        fabrikam.id,\n    ],\n    linkToDefaultDomain: false,\n    cache: {\n        queryStringCachingBehavior: \"IgnoreSpecifiedQueryStrings\",\n        queryStrings: [\n            \"account\",\n            \"settings\",\n        ],\n        compressionEnabled: true,\n        contentTypesToCompresses: [\n            \"text/html\",\n            \"text/javascript\",\n            \"text/xml\",\n        ],\n    },\n});\nconst contosoFrontdoorCustomDomainAssociation = new azure.cdn.FrontdoorCustomDomainAssociation(\"contoso\", {\n    cdnFrontdoorCustomDomainId: contoso.id,\n    cdnFrontdoorRouteIds: [exampleFrontdoorRoute.id],\n});\nconst fabrikamFrontdoorCustomDomainAssociation = new azure.cdn.FrontdoorCustomDomainAssociation(\"fabrikam\", {\n    cdnFrontdoorCustomDomainId: fabrikam.id,\n    cdnFrontdoorRouteIds: [exampleFrontdoorRoute.id],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\nimport pulumi_std as std\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-cdn-frontdoor\",\n    location=\"West Europe\")\nexample_zone = azure.dns.Zone(\"example\",\n    name=\"example.com\",\n    resource_group_name=example.name)\nexample_frontdoor_profile = azure.cdn.FrontdoorProfile(\"example\",\n    name=\"example-profile\",\n    resource_group_name=example.name,\n    sku_name=\"Standard_AzureFrontDoor\")\nexample_frontdoor_origin_group = azure.cdn.FrontdoorOriginGroup(\"example\",\n    name=\"example-originGroup\",\n    cdn_frontdoor_profile_id=example_frontdoor_profile.id,\n    load_balancing={\n        \"additional_latency_in_milliseconds\": 0,\n        \"sample_size\": 16,\n        \"successful_samples_required\": 3,\n    })\nexample_frontdoor_origin = azure.cdn.FrontdoorOrigin(\"example\",\n    name=\"example-origin\",\n    cdn_frontdoor_origin_group_id=example_frontdoor_origin_group.id,\n    enabled=True,\n    certificate_name_check_enabled=False,\n    host_name=\"contoso.com\",\n    http_port=80,\n    https_port=443,\n    origin_host_header=\"www.contoso.com\",\n    priority=1,\n    weight=1)\nexample_frontdoor_endpoint = azure.cdn.FrontdoorEndpoint(\"example\",\n    name=\"example-endpoint\",\n    cdn_frontdoor_profile_id=example_frontdoor_profile.id)\nexample_frontdoor_rule_set = azure.cdn.FrontdoorRuleSet(\"example\",\n    name=\"ExampleRuleSet\",\n    cdn_frontdoor_profile_id=example_frontdoor_profile.id)\ncontoso = azure.cdn.FrontdoorCustomDomain(\"contoso\",\n    name=\"contoso-custom-domain\",\n    cdn_frontdoor_profile_id=example_frontdoor_profile.id,\n    dns_zone_id=example_zone.id,\n    host_name=std.join_output(separator=\".\",\n        input=[\n            \"contoso\",\n            example_zone.name,\n        ]).apply(lambda invoke: invoke.result),\n    tls={\n        \"certificate_type\": \"ManagedCertificate\",\n        \"minimum_tls_version\": \"TLS12\",\n    })\nfabrikam = azure.cdn.FrontdoorCustomDomain(\"fabrikam\",\n    name=\"fabrikam-custom-domain\",\n    cdn_frontdoor_profile_id=example_frontdoor_profile.id,\n    dns_zone_id=example_zone.id,\n    host_name=std.join_output(separator=\".\",\n        input=[\n            \"fabrikam\",\n            example_zone.name,\n        ]).apply(lambda invoke: invoke.result),\n    tls={\n        \"certificate_type\": \"ManagedCertificate\",\n        \"minimum_tls_version\": \"TLS12\",\n    })\nexample_frontdoor_route = azure.cdn.FrontdoorRoute(\"example\",\n    name=\"example-route\",\n    cdn_frontdoor_endpoint_id=example_frontdoor_endpoint.id,\n    cdn_frontdoor_origin_group_id=example_frontdoor_origin_group.id,\n    cdn_frontdoor_origin_ids=[example_frontdoor_origin.id],\n    cdn_frontdoor_rule_set_ids=[example_frontdoor_rule_set.id],\n    enabled=True,\n    forwarding_protocol=\"HttpsOnly\",\n    https_redirect_enabled=True,\n    patterns_to_matches=[\"/*\"],\n    supported_protocols=[\n        \"Http\",\n        \"Https\",\n    ],\n    cdn_frontdoor_custom_domain_ids=[\n        contoso.id,\n        fabrikam.id,\n    ],\n    link_to_default_domain=False,\n    cache={\n        \"query_string_caching_behavior\": \"IgnoreSpecifiedQueryStrings\",\n        \"query_strings\": [\n            \"account\",\n            \"settings\",\n        ],\n        \"compression_enabled\": True,\n        \"content_types_to_compresses\": [\n            \"text/html\",\n            \"text/javascript\",\n            \"text/xml\",\n        ],\n    })\ncontoso_frontdoor_custom_domain_association = azure.cdn.FrontdoorCustomDomainAssociation(\"contoso\",\n    cdn_frontdoor_custom_domain_id=contoso.id,\n    cdn_frontdoor_route_ids=[example_frontdoor_route.id])\nfabrikam_frontdoor_custom_domain_association = azure.cdn.FrontdoorCustomDomainAssociation(\"fabrikam\",\n    cdn_frontdoor_custom_domain_id=fabrikam.id,\n    cdn_frontdoor_route_ids=[example_frontdoor_route.id])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-cdn-frontdoor\",\n        Location = \"West Europe\",\n    });\n\n    var exampleZone = new Azure.Dns.Zone(\"example\", new()\n    {\n        Name = \"example.com\",\n        ResourceGroupName = example.Name,\n    });\n\n    var exampleFrontdoorProfile = new Azure.Cdn.FrontdoorProfile(\"example\", new()\n    {\n        Name = \"example-profile\",\n        ResourceGroupName = example.Name,\n        SkuName = \"Standard_AzureFrontDoor\",\n    });\n\n    var exampleFrontdoorOriginGroup = new Azure.Cdn.FrontdoorOriginGroup(\"example\", new()\n    {\n        Name = \"example-originGroup\",\n        CdnFrontdoorProfileId = exampleFrontdoorProfile.Id,\n        LoadBalancing = new Azure.Cdn.Inputs.FrontdoorOriginGroupLoadBalancingArgs\n        {\n            AdditionalLatencyInMilliseconds = 0,\n            SampleSize = 16,\n            SuccessfulSamplesRequired = 3,\n        },\n    });\n\n    var exampleFrontdoorOrigin = new Azure.Cdn.FrontdoorOrigin(\"example\", new()\n    {\n        Name = \"example-origin\",\n        CdnFrontdoorOriginGroupId = exampleFrontdoorOriginGroup.Id,\n        Enabled = true,\n        CertificateNameCheckEnabled = false,\n        HostName = \"contoso.com\",\n        HttpPort = 80,\n        HttpsPort = 443,\n        OriginHostHeader = \"www.contoso.com\",\n        Priority = 1,\n        Weight = 1,\n    });\n\n    var exampleFrontdoorEndpoint = new Azure.Cdn.FrontdoorEndpoint(\"example\", new()\n    {\n        Name = \"example-endpoint\",\n        CdnFrontdoorProfileId = exampleFrontdoorProfile.Id,\n    });\n\n    var exampleFrontdoorRuleSet = new Azure.Cdn.FrontdoorRuleSet(\"example\", new()\n    {\n        Name = \"ExampleRuleSet\",\n        CdnFrontdoorProfileId = exampleFrontdoorProfile.Id,\n    });\n\n    var contoso = new Azure.Cdn.FrontdoorCustomDomain(\"contoso\", new()\n    {\n        Name = \"contoso-custom-domain\",\n        CdnFrontdoorProfileId = exampleFrontdoorProfile.Id,\n        DnsZoneId = exampleZone.Id,\n        HostName = Std.Join.Invoke(new()\n        {\n            Separator = \".\",\n            Input = new[]\n            {\n                \"contoso\",\n                exampleZone.Name,\n            },\n        }).Apply(invoke =\u003e invoke.Result),\n        Tls = new Azure.Cdn.Inputs.FrontdoorCustomDomainTlsArgs\n        {\n            CertificateType = \"ManagedCertificate\",\n            MinimumTlsVersion = \"TLS12\",\n        },\n    });\n\n    var fabrikam = new Azure.Cdn.FrontdoorCustomDomain(\"fabrikam\", new()\n    {\n        Name = \"fabrikam-custom-domain\",\n        CdnFrontdoorProfileId = exampleFrontdoorProfile.Id,\n        DnsZoneId = exampleZone.Id,\n        HostName = Std.Join.Invoke(new()\n        {\n            Separator = \".\",\n            Input = new[]\n            {\n                \"fabrikam\",\n                exampleZone.Name,\n            },\n        }).Apply(invoke =\u003e invoke.Result),\n        Tls = new Azure.Cdn.Inputs.FrontdoorCustomDomainTlsArgs\n        {\n            CertificateType = \"ManagedCertificate\",\n            MinimumTlsVersion = \"TLS12\",\n        },\n    });\n\n    var exampleFrontdoorRoute = new Azure.Cdn.FrontdoorRoute(\"example\", new()\n    {\n        Name = \"example-route\",\n        CdnFrontdoorEndpointId = exampleFrontdoorEndpoint.Id,\n        CdnFrontdoorOriginGroupId = exampleFrontdoorOriginGroup.Id,\n        CdnFrontdoorOriginIds = new[]\n        {\n            exampleFrontdoorOrigin.Id,\n        },\n        CdnFrontdoorRuleSetIds = new[]\n        {\n            exampleFrontdoorRuleSet.Id,\n        },\n        Enabled = true,\n        ForwardingProtocol = \"HttpsOnly\",\n        HttpsRedirectEnabled = true,\n        PatternsToMatches = new[]\n        {\n            \"/*\",\n        },\n        SupportedProtocols = new[]\n        {\n            \"Http\",\n            \"Https\",\n        },\n        CdnFrontdoorCustomDomainIds = new[]\n        {\n            contoso.Id,\n            fabrikam.Id,\n        },\n        LinkToDefaultDomain = false,\n        Cache = new Azure.Cdn.Inputs.FrontdoorRouteCacheArgs\n        {\n            QueryStringCachingBehavior = \"IgnoreSpecifiedQueryStrings\",\n            QueryStrings = new[]\n            {\n                \"account\",\n                \"settings\",\n            },\n            CompressionEnabled = true,\n            ContentTypesToCompresses = new[]\n            {\n                \"text/html\",\n                \"text/javascript\",\n                \"text/xml\",\n            },\n        },\n    });\n\n    var contosoFrontdoorCustomDomainAssociation = new Azure.Cdn.FrontdoorCustomDomainAssociation(\"contoso\", new()\n    {\n        CdnFrontdoorCustomDomainId = contoso.Id,\n        CdnFrontdoorRouteIds = new[]\n        {\n            exampleFrontdoorRoute.Id,\n        },\n    });\n\n    var fabrikamFrontdoorCustomDomainAssociation = new Azure.Cdn.FrontdoorCustomDomainAssociation(\"fabrikam\", new()\n    {\n        CdnFrontdoorCustomDomainId = fabrikam.Id,\n        CdnFrontdoorRouteIds = new[]\n        {\n            exampleFrontdoorRoute.Id,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/cdn\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/dns\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-cdn-frontdoor\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleZone, err := dns.NewZone(ctx, \"example\", \u0026dns.ZoneArgs{\n\t\t\tName:              pulumi.String(\"example.com\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleFrontdoorProfile, err := cdn.NewFrontdoorProfile(ctx, \"example\", \u0026cdn.FrontdoorProfileArgs{\n\t\t\tName:              pulumi.String(\"example-profile\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSkuName:           pulumi.String(\"Standard_AzureFrontDoor\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleFrontdoorOriginGroup, err := cdn.NewFrontdoorOriginGroup(ctx, \"example\", \u0026cdn.FrontdoorOriginGroupArgs{\n\t\t\tName:                  pulumi.String(\"example-originGroup\"),\n\t\t\tCdnFrontdoorProfileId: exampleFrontdoorProfile.ID(),\n\t\t\tLoadBalancing: \u0026cdn.FrontdoorOriginGroupLoadBalancingArgs{\n\t\t\t\tAdditionalLatencyInMilliseconds: pulumi.Int(0),\n\t\t\t\tSampleSize:                      pulumi.Int(16),\n\t\t\t\tSuccessfulSamplesRequired:       pulumi.Int(3),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleFrontdoorOrigin, err := cdn.NewFrontdoorOrigin(ctx, \"example\", \u0026cdn.FrontdoorOriginArgs{\n\t\t\tName:                        pulumi.String(\"example-origin\"),\n\t\t\tCdnFrontdoorOriginGroupId:   exampleFrontdoorOriginGroup.ID(),\n\t\t\tEnabled:                     pulumi.Bool(true),\n\t\t\tCertificateNameCheckEnabled: pulumi.Bool(false),\n\t\t\tHostName:                    pulumi.String(\"contoso.com\"),\n\t\t\tHttpPort:                    pulumi.Int(80),\n\t\t\tHttpsPort:                   pulumi.Int(443),\n\t\t\tOriginHostHeader:            pulumi.String(\"www.contoso.com\"),\n\t\t\tPriority:                    pulumi.Int(1),\n\t\t\tWeight:                      pulumi.Int(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleFrontdoorEndpoint, err := cdn.NewFrontdoorEndpoint(ctx, \"example\", \u0026cdn.FrontdoorEndpointArgs{\n\t\t\tName:                  pulumi.String(\"example-endpoint\"),\n\t\t\tCdnFrontdoorProfileId: exampleFrontdoorProfile.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleFrontdoorRuleSet, err := cdn.NewFrontdoorRuleSet(ctx, \"example\", \u0026cdn.FrontdoorRuleSetArgs{\n\t\t\tName:                  pulumi.String(\"ExampleRuleSet\"),\n\t\t\tCdnFrontdoorProfileId: exampleFrontdoorProfile.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcontoso, err := cdn.NewFrontdoorCustomDomain(ctx, \"contoso\", \u0026cdn.FrontdoorCustomDomainArgs{\n\t\t\tName:                  pulumi.String(\"contoso-custom-domain\"),\n\t\t\tCdnFrontdoorProfileId: exampleFrontdoorProfile.ID(),\n\t\t\tDnsZoneId:             exampleZone.ID(),\n\t\t\tHostName: pulumi.String(std.JoinOutput(ctx, std.JoinOutputArgs{\n\t\t\t\tSeparator: pulumi.String(\".\"),\n\t\t\t\tInput: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"contoso\"),\n\t\t\t\t\texampleZone.Name,\n\t\t\t\t},\n\t\t\t}, nil).ApplyT(func(invoke std.JoinResult) (*string, error) {\n\t\t\t\treturn invoke.Result, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tTls: \u0026cdn.FrontdoorCustomDomainTlsArgs{\n\t\t\t\tCertificateType:   pulumi.String(\"ManagedCertificate\"),\n\t\t\t\tMinimumTlsVersion: pulumi.String(\"TLS12\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfabrikam, err := cdn.NewFrontdoorCustomDomain(ctx, \"fabrikam\", \u0026cdn.FrontdoorCustomDomainArgs{\n\t\t\tName:                  pulumi.String(\"fabrikam-custom-domain\"),\n\t\t\tCdnFrontdoorProfileId: exampleFrontdoorProfile.ID(),\n\t\t\tDnsZoneId:             exampleZone.ID(),\n\t\t\tHostName: pulumi.String(std.JoinOutput(ctx, std.JoinOutputArgs{\n\t\t\t\tSeparator: pulumi.String(\".\"),\n\t\t\t\tInput: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"fabrikam\"),\n\t\t\t\t\texampleZone.Name,\n\t\t\t\t},\n\t\t\t}, nil).ApplyT(func(invoke std.JoinResult) (*string, error) {\n\t\t\t\treturn invoke.Result, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tTls: \u0026cdn.FrontdoorCustomDomainTlsArgs{\n\t\t\t\tCertificateType:   pulumi.String(\"ManagedCertificate\"),\n\t\t\t\tMinimumTlsVersion: pulumi.String(\"TLS12\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleFrontdoorRoute, err := cdn.NewFrontdoorRoute(ctx, \"example\", \u0026cdn.FrontdoorRouteArgs{\n\t\t\tName:                      pulumi.String(\"example-route\"),\n\t\t\tCdnFrontdoorEndpointId:    exampleFrontdoorEndpoint.ID(),\n\t\t\tCdnFrontdoorOriginGroupId: exampleFrontdoorOriginGroup.ID(),\n\t\t\tCdnFrontdoorOriginIds: pulumi.StringArray{\n\t\t\t\texampleFrontdoorOrigin.ID(),\n\t\t\t},\n\t\t\tCdnFrontdoorRuleSetIds: pulumi.StringArray{\n\t\t\t\texampleFrontdoorRuleSet.ID(),\n\t\t\t},\n\t\t\tEnabled:              pulumi.Bool(true),\n\t\t\tForwardingProtocol:   pulumi.String(\"HttpsOnly\"),\n\t\t\tHttpsRedirectEnabled: pulumi.Bool(true),\n\t\t\tPatternsToMatches: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"/*\"),\n\t\t\t},\n\t\t\tSupportedProtocols: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"Http\"),\n\t\t\t\tpulumi.String(\"Https\"),\n\t\t\t},\n\t\t\tCdnFrontdoorCustomDomainIds: pulumi.StringArray{\n\t\t\t\tcontoso.ID(),\n\t\t\t\tfabrikam.ID(),\n\t\t\t},\n\t\t\tLinkToDefaultDomain: pulumi.Bool(false),\n\t\t\tCache: \u0026cdn.FrontdoorRouteCacheArgs{\n\t\t\t\tQueryStringCachingBehavior: pulumi.String(\"IgnoreSpecifiedQueryStrings\"),\n\t\t\t\tQueryStrings: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"account\"),\n\t\t\t\t\tpulumi.String(\"settings\"),\n\t\t\t\t},\n\t\t\t\tCompressionEnabled: pulumi.Bool(true),\n\t\t\t\tContentTypesToCompresses: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"text/html\"),\n\t\t\t\t\tpulumi.String(\"text/javascript\"),\n\t\t\t\t\tpulumi.String(\"text/xml\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cdn.NewFrontdoorCustomDomainAssociation(ctx, \"contoso\", \u0026cdn.FrontdoorCustomDomainAssociationArgs{\n\t\t\tCdnFrontdoorCustomDomainId: contoso.ID(),\n\t\t\tCdnFrontdoorRouteIds: pulumi.StringArray{\n\t\t\t\texampleFrontdoorRoute.ID(),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cdn.NewFrontdoorCustomDomainAssociation(ctx, \"fabrikam\", \u0026cdn.FrontdoorCustomDomainAssociationArgs{\n\t\t\tCdnFrontdoorCustomDomainId: fabrikam.ID(),\n\t\t\tCdnFrontdoorRouteIds: pulumi.StringArray{\n\t\t\t\texampleFrontdoorRoute.ID(),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.dns.Zone;\nimport com.pulumi.azure.dns.ZoneArgs;\nimport com.pulumi.azure.cdn.FrontdoorProfile;\nimport com.pulumi.azure.cdn.FrontdoorProfileArgs;\nimport com.pulumi.azure.cdn.FrontdoorOriginGroup;\nimport com.pulumi.azure.cdn.FrontdoorOriginGroupArgs;\nimport com.pulumi.azure.cdn.inputs.FrontdoorOriginGroupLoadBalancingArgs;\nimport com.pulumi.azure.cdn.FrontdoorOrigin;\nimport com.pulumi.azure.cdn.FrontdoorOriginArgs;\nimport com.pulumi.azure.cdn.FrontdoorEndpoint;\nimport com.pulumi.azure.cdn.FrontdoorEndpointArgs;\nimport com.pulumi.azure.cdn.FrontdoorRuleSet;\nimport com.pulumi.azure.cdn.FrontdoorRuleSetArgs;\nimport com.pulumi.azure.cdn.FrontdoorCustomDomain;\nimport com.pulumi.azure.cdn.FrontdoorCustomDomainArgs;\nimport com.pulumi.azure.cdn.inputs.FrontdoorCustomDomainTlsArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.JoinArgs;\nimport com.pulumi.azure.cdn.FrontdoorRoute;\nimport com.pulumi.azure.cdn.FrontdoorRouteArgs;\nimport com.pulumi.azure.cdn.inputs.FrontdoorRouteCacheArgs;\nimport com.pulumi.azure.cdn.FrontdoorCustomDomainAssociation;\nimport com.pulumi.azure.cdn.FrontdoorCustomDomainAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-cdn-frontdoor\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleZone = new Zone(\"exampleZone\", ZoneArgs.builder()\n            .name(\"example.com\")\n            .resourceGroupName(example.name())\n            .build());\n\n        var exampleFrontdoorProfile = new FrontdoorProfile(\"exampleFrontdoorProfile\", FrontdoorProfileArgs.builder()\n            .name(\"example-profile\")\n            .resourceGroupName(example.name())\n            .skuName(\"Standard_AzureFrontDoor\")\n            .build());\n\n        var exampleFrontdoorOriginGroup = new FrontdoorOriginGroup(\"exampleFrontdoorOriginGroup\", FrontdoorOriginGroupArgs.builder()\n            .name(\"example-originGroup\")\n            .cdnFrontdoorProfileId(exampleFrontdoorProfile.id())\n            .loadBalancing(FrontdoorOriginGroupLoadBalancingArgs.builder()\n                .additionalLatencyInMilliseconds(0)\n                .sampleSize(16)\n                .successfulSamplesRequired(3)\n                .build())\n            .build());\n\n        var exampleFrontdoorOrigin = new FrontdoorOrigin(\"exampleFrontdoorOrigin\", FrontdoorOriginArgs.builder()\n            .name(\"example-origin\")\n            .cdnFrontdoorOriginGroupId(exampleFrontdoorOriginGroup.id())\n            .enabled(true)\n            .certificateNameCheckEnabled(false)\n            .hostName(\"contoso.com\")\n            .httpPort(80)\n            .httpsPort(443)\n            .originHostHeader(\"www.contoso.com\")\n            .priority(1)\n            .weight(1)\n            .build());\n\n        var exampleFrontdoorEndpoint = new FrontdoorEndpoint(\"exampleFrontdoorEndpoint\", FrontdoorEndpointArgs.builder()\n            .name(\"example-endpoint\")\n            .cdnFrontdoorProfileId(exampleFrontdoorProfile.id())\n            .build());\n\n        var exampleFrontdoorRuleSet = new FrontdoorRuleSet(\"exampleFrontdoorRuleSet\", FrontdoorRuleSetArgs.builder()\n            .name(\"ExampleRuleSet\")\n            .cdnFrontdoorProfileId(exampleFrontdoorProfile.id())\n            .build());\n\n        var contoso = new FrontdoorCustomDomain(\"contoso\", FrontdoorCustomDomainArgs.builder()\n            .name(\"contoso-custom-domain\")\n            .cdnFrontdoorProfileId(exampleFrontdoorProfile.id())\n            .dnsZoneId(exampleZone.id())\n            .hostName(StdFunctions.join(JoinArgs.builder()\n                .separator(\".\")\n                .input(                \n                    \"contoso\",\n                    exampleZone.name())\n                .build()).applyValue(_invoke -\u003e _invoke.result()))\n            .tls(FrontdoorCustomDomainTlsArgs.builder()\n                .certificateType(\"ManagedCertificate\")\n                .minimumTlsVersion(\"TLS12\")\n                .build())\n            .build());\n\n        var fabrikam = new FrontdoorCustomDomain(\"fabrikam\", FrontdoorCustomDomainArgs.builder()\n            .name(\"fabrikam-custom-domain\")\n            .cdnFrontdoorProfileId(exampleFrontdoorProfile.id())\n            .dnsZoneId(exampleZone.id())\n            .hostName(StdFunctions.join(JoinArgs.builder()\n                .separator(\".\")\n                .input(                \n                    \"fabrikam\",\n                    exampleZone.name())\n                .build()).applyValue(_invoke -\u003e _invoke.result()))\n            .tls(FrontdoorCustomDomainTlsArgs.builder()\n                .certificateType(\"ManagedCertificate\")\n                .minimumTlsVersion(\"TLS12\")\n                .build())\n            .build());\n\n        var exampleFrontdoorRoute = new FrontdoorRoute(\"exampleFrontdoorRoute\", FrontdoorRouteArgs.builder()\n            .name(\"example-route\")\n            .cdnFrontdoorEndpointId(exampleFrontdoorEndpoint.id())\n            .cdnFrontdoorOriginGroupId(exampleFrontdoorOriginGroup.id())\n            .cdnFrontdoorOriginIds(exampleFrontdoorOrigin.id())\n            .cdnFrontdoorRuleSetIds(exampleFrontdoorRuleSet.id())\n            .enabled(true)\n            .forwardingProtocol(\"HttpsOnly\")\n            .httpsRedirectEnabled(true)\n            .patternsToMatches(\"/*\")\n            .supportedProtocols(            \n                \"Http\",\n                \"Https\")\n            .cdnFrontdoorCustomDomainIds(            \n                contoso.id(),\n                fabrikam.id())\n            .linkToDefaultDomain(false)\n            .cache(FrontdoorRouteCacheArgs.builder()\n                .queryStringCachingBehavior(\"IgnoreSpecifiedQueryStrings\")\n                .queryStrings(                \n                    \"account\",\n                    \"settings\")\n                .compressionEnabled(true)\n                .contentTypesToCompresses(                \n                    \"text/html\",\n                    \"text/javascript\",\n                    \"text/xml\")\n                .build())\n            .build());\n\n        var contosoFrontdoorCustomDomainAssociation = new FrontdoorCustomDomainAssociation(\"contosoFrontdoorCustomDomainAssociation\", FrontdoorCustomDomainAssociationArgs.builder()\n            .cdnFrontdoorCustomDomainId(contoso.id())\n            .cdnFrontdoorRouteIds(exampleFrontdoorRoute.id())\n            .build());\n\n        var fabrikamFrontdoorCustomDomainAssociation = new FrontdoorCustomDomainAssociation(\"fabrikamFrontdoorCustomDomainAssociation\", FrontdoorCustomDomainAssociationArgs.builder()\n            .cdnFrontdoorCustomDomainId(fabrikam.id())\n            .cdnFrontdoorRouteIds(exampleFrontdoorRoute.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-cdn-frontdoor\n      location: West Europe\n  exampleZone:\n    type: azure:dns:Zone\n    name: example\n    properties:\n      name: example.com\n      resourceGroupName: ${example.name}\n  exampleFrontdoorProfile:\n    type: azure:cdn:FrontdoorProfile\n    name: example\n    properties:\n      name: example-profile\n      resourceGroupName: ${example.name}\n      skuName: Standard_AzureFrontDoor\n  exampleFrontdoorOriginGroup:\n    type: azure:cdn:FrontdoorOriginGroup\n    name: example\n    properties:\n      name: example-originGroup\n      cdnFrontdoorProfileId: ${exampleFrontdoorProfile.id}\n      loadBalancing:\n        additionalLatencyInMilliseconds: 0\n        sampleSize: 16\n        successfulSamplesRequired: 3\n  exampleFrontdoorOrigin:\n    type: azure:cdn:FrontdoorOrigin\n    name: example\n    properties:\n      name: example-origin\n      cdnFrontdoorOriginGroupId: ${exampleFrontdoorOriginGroup.id}\n      enabled: true\n      certificateNameCheckEnabled: false\n      hostName: contoso.com\n      httpPort: 80\n      httpsPort: 443\n      originHostHeader: www.contoso.com\n      priority: 1\n      weight: 1\n  exampleFrontdoorEndpoint:\n    type: azure:cdn:FrontdoorEndpoint\n    name: example\n    properties:\n      name: example-endpoint\n      cdnFrontdoorProfileId: ${exampleFrontdoorProfile.id}\n  exampleFrontdoorRuleSet:\n    type: azure:cdn:FrontdoorRuleSet\n    name: example\n    properties:\n      name: ExampleRuleSet\n      cdnFrontdoorProfileId: ${exampleFrontdoorProfile.id}\n  contoso:\n    type: azure:cdn:FrontdoorCustomDomain\n    properties:\n      name: contoso-custom-domain\n      cdnFrontdoorProfileId: ${exampleFrontdoorProfile.id}\n      dnsZoneId: ${exampleZone.id}\n      hostName:\n        fn::invoke:\n          function: std:join\n          arguments:\n            separator: .\n            input:\n              - contoso\n              - ${exampleZone.name}\n          return: result\n      tls:\n        certificateType: ManagedCertificate\n        minimumTlsVersion: TLS12\n  fabrikam:\n    type: azure:cdn:FrontdoorCustomDomain\n    properties:\n      name: fabrikam-custom-domain\n      cdnFrontdoorProfileId: ${exampleFrontdoorProfile.id}\n      dnsZoneId: ${exampleZone.id}\n      hostName:\n        fn::invoke:\n          function: std:join\n          arguments:\n            separator: .\n            input:\n              - fabrikam\n              - ${exampleZone.name}\n          return: result\n      tls:\n        certificateType: ManagedCertificate\n        minimumTlsVersion: TLS12\n  exampleFrontdoorRoute:\n    type: azure:cdn:FrontdoorRoute\n    name: example\n    properties:\n      name: example-route\n      cdnFrontdoorEndpointId: ${exampleFrontdoorEndpoint.id}\n      cdnFrontdoorOriginGroupId: ${exampleFrontdoorOriginGroup.id}\n      cdnFrontdoorOriginIds:\n        - ${exampleFrontdoorOrigin.id}\n      cdnFrontdoorRuleSetIds:\n        - ${exampleFrontdoorRuleSet.id}\n      enabled: true\n      forwardingProtocol: HttpsOnly\n      httpsRedirectEnabled: true\n      patternsToMatches:\n        - /*\n      supportedProtocols:\n        - Http\n        - Https\n      cdnFrontdoorCustomDomainIds:\n        - ${contoso.id}\n        - ${fabrikam.id}\n      linkToDefaultDomain: false\n      cache:\n        queryStringCachingBehavior: IgnoreSpecifiedQueryStrings\n        queryStrings:\n          - account\n          - settings\n        compressionEnabled: true\n        contentTypesToCompresses:\n          - text/html\n          - text/javascript\n          - text/xml\n  contosoFrontdoorCustomDomainAssociation:\n    type: azure:cdn:FrontdoorCustomDomainAssociation\n    name: contoso\n    properties:\n      cdnFrontdoorCustomDomainId: ${contoso.id}\n      cdnFrontdoorRouteIds:\n        - ${exampleFrontdoorRoute.id}\n  fabrikamFrontdoorCustomDomainAssociation:\n    type: azure:cdn:FrontdoorCustomDomainAssociation\n    name: fabrikam\n    properties:\n      cdnFrontdoorCustomDomainId: ${fabrikam.id}\n      cdnFrontdoorRouteIds:\n        - ${exampleFrontdoorRoute.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nFront Door Routes can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:cdn/frontdoorRoute:FrontdoorRoute example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup1/providers/Microsoft.Cdn/profiles/profile1/afdEndpoints/endpoint1/routes/route1\n```\n\n","properties":{"cache":{"$ref":"#/types/azure:cdn/FrontdoorRouteCache:FrontdoorRouteCache","description":"A \u003cspan pulumi-lang-nodejs=\"`cache`\" pulumi-lang-dotnet=\"`Cache`\" pulumi-lang-go=\"`cache`\" pulumi-lang-python=\"`cache`\" pulumi-lang-yaml=\"`cache`\" pulumi-lang-java=\"`cache`\"\u003e`cache`\u003c/span\u003e block as defined below.\n\n\u003e **Note:** To disable caching, do not provide the \u003cspan pulumi-lang-nodejs=\"`cache`\" pulumi-lang-dotnet=\"`Cache`\" pulumi-lang-go=\"`cache`\" pulumi-lang-python=\"`cache`\" pulumi-lang-yaml=\"`cache`\" pulumi-lang-java=\"`cache`\"\u003e`cache`\u003c/span\u003e block in the configuration file.\n"},"cdnFrontdoorCustomDomainIds":{"type":"array","items":{"type":"string"},"description":"The IDs of the Front Door Custom Domains which are associated with this Front Door Route.\n"},"cdnFrontdoorEndpointId":{"type":"string","description":"The resource ID of the Front Door Endpoint where this Front Door Route should exist. Changing this forces a new Front Door Route to be created.\n"},"cdnFrontdoorOriginGroupId":{"type":"string","description":"The resource ID of the Front Door Origin Group where this Front Door Route should be created.\n"},"cdnFrontdoorOriginIds":{"type":"array","items":{"type":"string"},"description":"One or more Front Door Origin resource IDs that this Front Door Route will link to.\n"},"cdnFrontdoorOriginPath":{"type":"string","description":"A directory path on the Front Door Origin that can be used to retrieve content (e.g. `contoso.cloudapp.net/originpath`).\n"},"cdnFrontdoorRuleSetIds":{"type":"array","items":{"type":"string"},"description":"A list of the Front Door Rule Set IDs which should be assigned to this Front Door Route.\n"},"enabled":{"type":"boolean","description":"Is this Front Door Route enabled? Possible values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"forwardingProtocol":{"type":"string","description":"The Protocol that will be use when forwarding traffic to backends. Possible values are `HttpOnly`, `HttpsOnly` or `MatchRequest`. Defaults to `MatchRequest`.\n"},"httpsRedirectEnabled":{"type":"boolean","description":"Automatically redirect HTTP traffic to HTTPS traffic? Possible values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`httpsRedirectEnabled`\" pulumi-lang-dotnet=\"`HttpsRedirectEnabled`\" pulumi-lang-go=\"`httpsRedirectEnabled`\" pulumi-lang-python=\"`https_redirect_enabled`\" pulumi-lang-yaml=\"`httpsRedirectEnabled`\" pulumi-lang-java=\"`httpsRedirectEnabled`\"\u003e`https_redirect_enabled`\u003c/span\u003e rule is the first rule that will be executed.\n"},"linkToDefaultDomain":{"type":"boolean","description":"Should this Front Door Route be linked to the default endpoint? Possible values include \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"name":{"type":"string","description":"The name which should be used for this Front Door Route. Valid values must begin with a letter or number, end with a letter or number and may only contain letters, numbers and hyphens with a maximum length of 90 characters. Changing this forces a new Front Door Route to be created.\n"},"patternsToMatches":{"type":"array","items":{"type":"string"},"description":"The route patterns of the rule.\n"},"supportedProtocols":{"type":"array","items":{"type":"string"},"description":"One or more Protocols supported by this Front Door Route. Possible values are `Http` or `Https`.\n\n\u003e **Note:** If \u003cspan pulumi-lang-nodejs=\"`httpsRedirectEnabled`\" pulumi-lang-dotnet=\"`HttpsRedirectEnabled`\" pulumi-lang-go=\"`httpsRedirectEnabled`\" pulumi-lang-python=\"`https_redirect_enabled`\" pulumi-lang-yaml=\"`httpsRedirectEnabled`\" pulumi-lang-java=\"`httpsRedirectEnabled`\"\u003e`https_redirect_enabled`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e the \u003cspan pulumi-lang-nodejs=\"`supportedProtocols`\" pulumi-lang-dotnet=\"`SupportedProtocols`\" pulumi-lang-go=\"`supportedProtocols`\" pulumi-lang-python=\"`supported_protocols`\" pulumi-lang-yaml=\"`supportedProtocols`\" pulumi-lang-java=\"`supportedProtocols`\"\u003e`supported_protocols`\u003c/span\u003e field must contain both `Http` and `Https` values.\n"}},"required":["cdnFrontdoorEndpointId","cdnFrontdoorOriginGroupId","cdnFrontdoorOriginIds","name","patternsToMatches","supportedProtocols"],"inputProperties":{"cache":{"$ref":"#/types/azure:cdn/FrontdoorRouteCache:FrontdoorRouteCache","description":"A \u003cspan pulumi-lang-nodejs=\"`cache`\" pulumi-lang-dotnet=\"`Cache`\" pulumi-lang-go=\"`cache`\" pulumi-lang-python=\"`cache`\" pulumi-lang-yaml=\"`cache`\" pulumi-lang-java=\"`cache`\"\u003e`cache`\u003c/span\u003e block as defined below.\n\n\u003e **Note:** To disable caching, do not provide the \u003cspan pulumi-lang-nodejs=\"`cache`\" pulumi-lang-dotnet=\"`Cache`\" pulumi-lang-go=\"`cache`\" pulumi-lang-python=\"`cache`\" pulumi-lang-yaml=\"`cache`\" pulumi-lang-java=\"`cache`\"\u003e`cache`\u003c/span\u003e block in the configuration file.\n"},"cdnFrontdoorCustomDomainIds":{"type":"array","items":{"type":"string"},"description":"The IDs of the Front Door Custom Domains which are associated with this Front Door Route.\n"},"cdnFrontdoorEndpointId":{"type":"string","description":"The resource ID of the Front Door Endpoint where this Front Door Route should exist. Changing this forces a new Front Door Route to be created.\n","willReplaceOnChanges":true},"cdnFrontdoorOriginGroupId":{"type":"string","description":"The resource ID of the Front Door Origin Group where this Front Door Route should be created.\n"},"cdnFrontdoorOriginIds":{"type":"array","items":{"type":"string"},"description":"One or more Front Door Origin resource IDs that this Front Door Route will link to.\n"},"cdnFrontdoorOriginPath":{"type":"string","description":"A directory path on the Front Door Origin that can be used to retrieve content (e.g. `contoso.cloudapp.net/originpath`).\n"},"cdnFrontdoorRuleSetIds":{"type":"array","items":{"type":"string"},"description":"A list of the Front Door Rule Set IDs which should be assigned to this Front Door Route.\n"},"enabled":{"type":"boolean","description":"Is this Front Door Route enabled? Possible values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"forwardingProtocol":{"type":"string","description":"The Protocol that will be use when forwarding traffic to backends. Possible values are `HttpOnly`, `HttpsOnly` or `MatchRequest`. Defaults to `MatchRequest`.\n"},"httpsRedirectEnabled":{"type":"boolean","description":"Automatically redirect HTTP traffic to HTTPS traffic? Possible values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`httpsRedirectEnabled`\" pulumi-lang-dotnet=\"`HttpsRedirectEnabled`\" pulumi-lang-go=\"`httpsRedirectEnabled`\" pulumi-lang-python=\"`https_redirect_enabled`\" pulumi-lang-yaml=\"`httpsRedirectEnabled`\" pulumi-lang-java=\"`httpsRedirectEnabled`\"\u003e`https_redirect_enabled`\u003c/span\u003e rule is the first rule that will be executed.\n"},"linkToDefaultDomain":{"type":"boolean","description":"Should this Front Door Route be linked to the default endpoint? Possible values include \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"name":{"type":"string","description":"The name which should be used for this Front Door Route. Valid values must begin with a letter or number, end with a letter or number and may only contain letters, numbers and hyphens with a maximum length of 90 characters. Changing this forces a new Front Door Route to be created.\n","willReplaceOnChanges":true},"patternsToMatches":{"type":"array","items":{"type":"string"},"description":"The route patterns of the rule.\n"},"supportedProtocols":{"type":"array","items":{"type":"string"},"description":"One or more Protocols supported by this Front Door Route. Possible values are `Http` or `Https`.\n\n\u003e **Note:** If \u003cspan pulumi-lang-nodejs=\"`httpsRedirectEnabled`\" pulumi-lang-dotnet=\"`HttpsRedirectEnabled`\" pulumi-lang-go=\"`httpsRedirectEnabled`\" pulumi-lang-python=\"`https_redirect_enabled`\" pulumi-lang-yaml=\"`httpsRedirectEnabled`\" pulumi-lang-java=\"`httpsRedirectEnabled`\"\u003e`https_redirect_enabled`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e the \u003cspan pulumi-lang-nodejs=\"`supportedProtocols`\" pulumi-lang-dotnet=\"`SupportedProtocols`\" pulumi-lang-go=\"`supportedProtocols`\" pulumi-lang-python=\"`supported_protocols`\" pulumi-lang-yaml=\"`supportedProtocols`\" pulumi-lang-java=\"`supportedProtocols`\"\u003e`supported_protocols`\u003c/span\u003e field must contain both `Http` and `Https` values.\n"}},"requiredInputs":["cdnFrontdoorEndpointId","cdnFrontdoorOriginGroupId","cdnFrontdoorOriginIds","patternsToMatches","supportedProtocols"],"stateInputs":{"description":"Input properties used for looking up and filtering FrontdoorRoute resources.\n","properties":{"cache":{"$ref":"#/types/azure:cdn/FrontdoorRouteCache:FrontdoorRouteCache","description":"A \u003cspan pulumi-lang-nodejs=\"`cache`\" pulumi-lang-dotnet=\"`Cache`\" pulumi-lang-go=\"`cache`\" pulumi-lang-python=\"`cache`\" pulumi-lang-yaml=\"`cache`\" pulumi-lang-java=\"`cache`\"\u003e`cache`\u003c/span\u003e block as defined below.\n\n\u003e **Note:** To disable caching, do not provide the \u003cspan pulumi-lang-nodejs=\"`cache`\" pulumi-lang-dotnet=\"`Cache`\" pulumi-lang-go=\"`cache`\" pulumi-lang-python=\"`cache`\" pulumi-lang-yaml=\"`cache`\" pulumi-lang-java=\"`cache`\"\u003e`cache`\u003c/span\u003e block in the configuration file.\n"},"cdnFrontdoorCustomDomainIds":{"type":"array","items":{"type":"string"},"description":"The IDs of the Front Door Custom Domains which are associated with this Front Door Route.\n"},"cdnFrontdoorEndpointId":{"type":"string","description":"The resource ID of the Front Door Endpoint where this Front Door Route should exist. Changing this forces a new Front Door Route to be created.\n","willReplaceOnChanges":true},"cdnFrontdoorOriginGroupId":{"type":"string","description":"The resource ID of the Front Door Origin Group where this Front Door Route should be created.\n"},"cdnFrontdoorOriginIds":{"type":"array","items":{"type":"string"},"description":"One or more Front Door Origin resource IDs that this Front Door Route will link to.\n"},"cdnFrontdoorOriginPath":{"type":"string","description":"A directory path on the Front Door Origin that can be used to retrieve content (e.g. `contoso.cloudapp.net/originpath`).\n"},"cdnFrontdoorRuleSetIds":{"type":"array","items":{"type":"string"},"description":"A list of the Front Door Rule Set IDs which should be assigned to this Front Door Route.\n"},"enabled":{"type":"boolean","description":"Is this Front Door Route enabled? Possible values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"forwardingProtocol":{"type":"string","description":"The Protocol that will be use when forwarding traffic to backends. Possible values are `HttpOnly`, `HttpsOnly` or `MatchRequest`. Defaults to `MatchRequest`.\n"},"httpsRedirectEnabled":{"type":"boolean","description":"Automatically redirect HTTP traffic to HTTPS traffic? Possible values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`httpsRedirectEnabled`\" pulumi-lang-dotnet=\"`HttpsRedirectEnabled`\" pulumi-lang-go=\"`httpsRedirectEnabled`\" pulumi-lang-python=\"`https_redirect_enabled`\" pulumi-lang-yaml=\"`httpsRedirectEnabled`\" pulumi-lang-java=\"`httpsRedirectEnabled`\"\u003e`https_redirect_enabled`\u003c/span\u003e rule is the first rule that will be executed.\n"},"linkToDefaultDomain":{"type":"boolean","description":"Should this Front Door Route be linked to the default endpoint? Possible values include \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"name":{"type":"string","description":"The name which should be used for this Front Door Route. Valid values must begin with a letter or number, end with a letter or number and may only contain letters, numbers and hyphens with a maximum length of 90 characters. Changing this forces a new Front Door Route to be created.\n","willReplaceOnChanges":true},"patternsToMatches":{"type":"array","items":{"type":"string"},"description":"The route patterns of the rule.\n"},"supportedProtocols":{"type":"array","items":{"type":"string"},"description":"One or more Protocols supported by this Front Door Route. Possible values are `Http` or `Https`.\n\n\u003e **Note:** If \u003cspan pulumi-lang-nodejs=\"`httpsRedirectEnabled`\" pulumi-lang-dotnet=\"`HttpsRedirectEnabled`\" pulumi-lang-go=\"`httpsRedirectEnabled`\" pulumi-lang-python=\"`https_redirect_enabled`\" pulumi-lang-yaml=\"`httpsRedirectEnabled`\" pulumi-lang-java=\"`httpsRedirectEnabled`\"\u003e`https_redirect_enabled`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e the \u003cspan pulumi-lang-nodejs=\"`supportedProtocols`\" pulumi-lang-dotnet=\"`SupportedProtocols`\" pulumi-lang-go=\"`supportedProtocols`\" pulumi-lang-python=\"`supported_protocols`\" pulumi-lang-yaml=\"`supportedProtocols`\" pulumi-lang-java=\"`supportedProtocols`\"\u003e`supported_protocols`\u003c/span\u003e field must contain both `Http` and `Https` values.\n"}},"type":"object"}},"azure:cdn/frontdoorRule:FrontdoorRule":{"description":"Manages a Front Door (standard/premium) Rule.\n\n!\u003e **Note:** The Rules resource **must** include a \u003cspan pulumi-lang-nodejs=\"`dependsOn`\" pulumi-lang-dotnet=\"`DependsOn`\" pulumi-lang-go=\"`dependsOn`\" pulumi-lang-python=\"`depends_on`\" pulumi-lang-yaml=\"`dependsOn`\" pulumi-lang-java=\"`dependsOn`\"\u003e`depends_on`\u003c/span\u003e meta-argument which references the \u003cspan pulumi-lang-nodejs=\"`azure.cdn.FrontdoorOrigin`\" pulumi-lang-dotnet=\"`azure.cdn.FrontdoorOrigin`\" pulumi-lang-go=\"`cdn.FrontdoorOrigin`\" pulumi-lang-python=\"`cdn.FrontdoorOrigin`\" pulumi-lang-yaml=\"`azure.cdn.FrontdoorOrigin`\" pulumi-lang-java=\"`azure.cdn.FrontdoorOrigin`\"\u003e`azure.cdn.FrontdoorOrigin`\u003c/span\u003e and the \u003cspan pulumi-lang-nodejs=\"`azure.cdn.FrontdoorOriginGroup`\" pulumi-lang-dotnet=\"`azure.cdn.FrontdoorOriginGroup`\" pulumi-lang-go=\"`cdn.FrontdoorOriginGroup`\" pulumi-lang-python=\"`cdn.FrontdoorOriginGroup`\" pulumi-lang-yaml=\"`azure.cdn.FrontdoorOriginGroup`\" pulumi-lang-java=\"`azure.cdn.FrontdoorOriginGroup`\"\u003e`azure.cdn.FrontdoorOriginGroup`\u003c/span\u003e.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-cdn-frontdoor\",\n    location: \"West Europe\",\n});\nconst exampleFrontdoorProfile = new azure.cdn.FrontdoorProfile(\"example\", {\n    name: \"example-profile\",\n    resourceGroupName: example.name,\n    skuName: \"Premium_AzureFrontDoor\",\n});\nconst exampleFrontdoorEndpoint = new azure.cdn.FrontdoorEndpoint(\"example\", {\n    name: \"example-endpoint\",\n    cdnFrontdoorProfileId: exampleFrontdoorProfile.id,\n    tags: {\n        endpoint: \"contoso.com\",\n    },\n});\nconst exampleFrontdoorOriginGroup = new azure.cdn.FrontdoorOriginGroup(\"example\", {\n    name: \"example-originGroup\",\n    cdnFrontdoorProfileId: exampleFrontdoorProfile.id,\n    sessionAffinityEnabled: true,\n    restoreTrafficTimeToHealedOrNewEndpointInMinutes: 10,\n    healthProbe: {\n        intervalInSeconds: 240,\n        path: \"/healthProbe\",\n        protocol: \"Https\",\n        requestType: \"GET\",\n    },\n    loadBalancing: {\n        additionalLatencyInMilliseconds: 0,\n        sampleSize: 16,\n        successfulSamplesRequired: 3,\n    },\n});\nconst exampleFrontdoorOrigin = new azure.cdn.FrontdoorOrigin(\"example\", {\n    name: \"example-origin\",\n    cdnFrontdoorOriginGroupId: exampleFrontdoorOriginGroup.id,\n    enabled: true,\n    certificateNameCheckEnabled: false,\n    hostName: exampleFrontdoorEndpoint.hostName,\n    httpPort: 80,\n    httpsPort: 443,\n    originHostHeader: \"contoso.com\",\n    priority: 1,\n    weight: 500,\n});\nconst exampleFrontdoorRuleSet = new azure.cdn.FrontdoorRuleSet(\"example\", {\n    name: \"exampleruleset\",\n    cdnFrontdoorProfileId: exampleFrontdoorProfile.id,\n});\nconst exampleFrontdoorRule = new azure.cdn.FrontdoorRule(\"example\", {\n    name: \"examplerule\",\n    cdnFrontdoorRuleSetId: exampleFrontdoorRuleSet.id,\n    order: 1,\n    behaviorOnMatch: \"Continue\",\n    actions: {\n        routeConfigurationOverrideAction: {\n            cdnFrontdoorOriginGroupId: exampleFrontdoorOriginGroup.id,\n            forwardingProtocol: \"HttpsOnly\",\n            queryStringCachingBehavior: \"IncludeSpecifiedQueryStrings\",\n            queryStringParameters: [\n                \"foo\",\n                \"clientIp={client_ip}\",\n            ],\n            compressionEnabled: true,\n            cacheBehavior: \"OverrideIfOriginMissing\",\n            cacheDuration: \"365.23:59:59\",\n        },\n        urlRedirectAction: {\n            redirectType: \"PermanentRedirect\",\n            redirectProtocol: \"MatchRequest\",\n            queryString: \"clientIp={client_ip}\",\n            destinationPath: \"/exampleredirection\",\n            destinationHostname: \"contoso.com\",\n            destinationFragment: \"UrlRedirect\",\n        },\n    },\n    conditions: {\n        hostNameConditions: [{\n            operator: \"Equal\",\n            negateCondition: false,\n            matchValues: [\n                \"www.contoso.com\",\n                \"images.contoso.com\",\n                \"video.contoso.com\",\n            ],\n            transforms: [\n                \"Lowercase\",\n                \"Trim\",\n            ],\n        }],\n        isDeviceConditions: [{\n            operator: \"Equal\",\n            negateCondition: false,\n            matchValues: \"Mobile\",\n        }],\n        postArgsConditions: [{\n            postArgsName: \"customerName\",\n            operator: \"BeginsWith\",\n            matchValues: [\n                \"J\",\n                \"K\",\n            ],\n            transforms: [\"Uppercase\"],\n        }],\n        requestMethodConditions: [{\n            operator: \"Equal\",\n            negateCondition: false,\n            matchValues: [\"DELETE\"],\n        }],\n        urlFilenameConditions: [{\n            operator: \"Equal\",\n            negateCondition: false,\n            matchValues: [\"media.mp4\"],\n            transforms: [\n                \"Lowercase\",\n                \"RemoveNulls\",\n                \"Trim\",\n            ],\n        }],\n    },\n}, {\n    dependsOn: [\n        exampleFrontdoorOriginGroup,\n        exampleFrontdoorOrigin,\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-cdn-frontdoor\",\n    location=\"West Europe\")\nexample_frontdoor_profile = azure.cdn.FrontdoorProfile(\"example\",\n    name=\"example-profile\",\n    resource_group_name=example.name,\n    sku_name=\"Premium_AzureFrontDoor\")\nexample_frontdoor_endpoint = azure.cdn.FrontdoorEndpoint(\"example\",\n    name=\"example-endpoint\",\n    cdn_frontdoor_profile_id=example_frontdoor_profile.id,\n    tags={\n        \"endpoint\": \"contoso.com\",\n    })\nexample_frontdoor_origin_group = azure.cdn.FrontdoorOriginGroup(\"example\",\n    name=\"example-originGroup\",\n    cdn_frontdoor_profile_id=example_frontdoor_profile.id,\n    session_affinity_enabled=True,\n    restore_traffic_time_to_healed_or_new_endpoint_in_minutes=10,\n    health_probe={\n        \"interval_in_seconds\": 240,\n        \"path\": \"/healthProbe\",\n        \"protocol\": \"Https\",\n        \"request_type\": \"GET\",\n    },\n    load_balancing={\n        \"additional_latency_in_milliseconds\": 0,\n        \"sample_size\": 16,\n        \"successful_samples_required\": 3,\n    })\nexample_frontdoor_origin = azure.cdn.FrontdoorOrigin(\"example\",\n    name=\"example-origin\",\n    cdn_frontdoor_origin_group_id=example_frontdoor_origin_group.id,\n    enabled=True,\n    certificate_name_check_enabled=False,\n    host_name=example_frontdoor_endpoint.host_name,\n    http_port=80,\n    https_port=443,\n    origin_host_header=\"contoso.com\",\n    priority=1,\n    weight=500)\nexample_frontdoor_rule_set = azure.cdn.FrontdoorRuleSet(\"example\",\n    name=\"exampleruleset\",\n    cdn_frontdoor_profile_id=example_frontdoor_profile.id)\nexample_frontdoor_rule = azure.cdn.FrontdoorRule(\"example\",\n    name=\"examplerule\",\n    cdn_frontdoor_rule_set_id=example_frontdoor_rule_set.id,\n    order=1,\n    behavior_on_match=\"Continue\",\n    actions={\n        \"route_configuration_override_action\": {\n            \"cdn_frontdoor_origin_group_id\": example_frontdoor_origin_group.id,\n            \"forwarding_protocol\": \"HttpsOnly\",\n            \"query_string_caching_behavior\": \"IncludeSpecifiedQueryStrings\",\n            \"query_string_parameters\": [\n                \"foo\",\n                \"clientIp={client_ip}\",\n            ],\n            \"compression_enabled\": True,\n            \"cache_behavior\": \"OverrideIfOriginMissing\",\n            \"cache_duration\": \"365.23:59:59\",\n        },\n        \"url_redirect_action\": {\n            \"redirect_type\": \"PermanentRedirect\",\n            \"redirect_protocol\": \"MatchRequest\",\n            \"query_string\": \"clientIp={client_ip}\",\n            \"destination_path\": \"/exampleredirection\",\n            \"destination_hostname\": \"contoso.com\",\n            \"destination_fragment\": \"UrlRedirect\",\n        },\n    },\n    conditions={\n        \"host_name_conditions\": [{\n            \"operator\": \"Equal\",\n            \"negate_condition\": False,\n            \"match_values\": [\n                \"www.contoso.com\",\n                \"images.contoso.com\",\n                \"video.contoso.com\",\n            ],\n            \"transforms\": [\n                \"Lowercase\",\n                \"Trim\",\n            ],\n        }],\n        \"is_device_conditions\": [{\n            \"operator\": \"Equal\",\n            \"negate_condition\": False,\n            \"match_values\": \"Mobile\",\n        }],\n        \"post_args_conditions\": [{\n            \"post_args_name\": \"customerName\",\n            \"operator\": \"BeginsWith\",\n            \"match_values\": [\n                \"J\",\n                \"K\",\n            ],\n            \"transforms\": [\"Uppercase\"],\n        }],\n        \"request_method_conditions\": [{\n            \"operator\": \"Equal\",\n            \"negate_condition\": False,\n            \"match_values\": [\"DELETE\"],\n        }],\n        \"url_filename_conditions\": [{\n            \"operator\": \"Equal\",\n            \"negate_condition\": False,\n            \"match_values\": [\"media.mp4\"],\n            \"transforms\": [\n                \"Lowercase\",\n                \"RemoveNulls\",\n                \"Trim\",\n            ],\n        }],\n    },\n    opts = pulumi.ResourceOptions(depends_on=[\n            example_frontdoor_origin_group,\n            example_frontdoor_origin,\n        ]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-cdn-frontdoor\",\n        Location = \"West Europe\",\n    });\n\n    var exampleFrontdoorProfile = new Azure.Cdn.FrontdoorProfile(\"example\", new()\n    {\n        Name = \"example-profile\",\n        ResourceGroupName = example.Name,\n        SkuName = \"Premium_AzureFrontDoor\",\n    });\n\n    var exampleFrontdoorEndpoint = new Azure.Cdn.FrontdoorEndpoint(\"example\", new()\n    {\n        Name = \"example-endpoint\",\n        CdnFrontdoorProfileId = exampleFrontdoorProfile.Id,\n        Tags = \n        {\n            { \"endpoint\", \"contoso.com\" },\n        },\n    });\n\n    var exampleFrontdoorOriginGroup = new Azure.Cdn.FrontdoorOriginGroup(\"example\", new()\n    {\n        Name = \"example-originGroup\",\n        CdnFrontdoorProfileId = exampleFrontdoorProfile.Id,\n        SessionAffinityEnabled = true,\n        RestoreTrafficTimeToHealedOrNewEndpointInMinutes = 10,\n        HealthProbe = new Azure.Cdn.Inputs.FrontdoorOriginGroupHealthProbeArgs\n        {\n            IntervalInSeconds = 240,\n            Path = \"/healthProbe\",\n            Protocol = \"Https\",\n            RequestType = \"GET\",\n        },\n        LoadBalancing = new Azure.Cdn.Inputs.FrontdoorOriginGroupLoadBalancingArgs\n        {\n            AdditionalLatencyInMilliseconds = 0,\n            SampleSize = 16,\n            SuccessfulSamplesRequired = 3,\n        },\n    });\n\n    var exampleFrontdoorOrigin = new Azure.Cdn.FrontdoorOrigin(\"example\", new()\n    {\n        Name = \"example-origin\",\n        CdnFrontdoorOriginGroupId = exampleFrontdoorOriginGroup.Id,\n        Enabled = true,\n        CertificateNameCheckEnabled = false,\n        HostName = exampleFrontdoorEndpoint.HostName,\n        HttpPort = 80,\n        HttpsPort = 443,\n        OriginHostHeader = \"contoso.com\",\n        Priority = 1,\n        Weight = 500,\n    });\n\n    var exampleFrontdoorRuleSet = new Azure.Cdn.FrontdoorRuleSet(\"example\", new()\n    {\n        Name = \"exampleruleset\",\n        CdnFrontdoorProfileId = exampleFrontdoorProfile.Id,\n    });\n\n    var exampleFrontdoorRule = new Azure.Cdn.FrontdoorRule(\"example\", new()\n    {\n        Name = \"examplerule\",\n        CdnFrontdoorRuleSetId = exampleFrontdoorRuleSet.Id,\n        Order = 1,\n        BehaviorOnMatch = \"Continue\",\n        Actions = new Azure.Cdn.Inputs.FrontdoorRuleActionsArgs\n        {\n            RouteConfigurationOverrideAction = new Azure.Cdn.Inputs.FrontdoorRuleActionsRouteConfigurationOverrideActionArgs\n            {\n                CdnFrontdoorOriginGroupId = exampleFrontdoorOriginGroup.Id,\n                ForwardingProtocol = \"HttpsOnly\",\n                QueryStringCachingBehavior = \"IncludeSpecifiedQueryStrings\",\n                QueryStringParameters = new[]\n                {\n                    \"foo\",\n                    \"clientIp={client_ip}\",\n                },\n                CompressionEnabled = true,\n                CacheBehavior = \"OverrideIfOriginMissing\",\n                CacheDuration = \"365.23:59:59\",\n            },\n            UrlRedirectAction = new Azure.Cdn.Inputs.FrontdoorRuleActionsUrlRedirectActionArgs\n            {\n                RedirectType = \"PermanentRedirect\",\n                RedirectProtocol = \"MatchRequest\",\n                QueryString = \"clientIp={client_ip}\",\n                DestinationPath = \"/exampleredirection\",\n                DestinationHostname = \"contoso.com\",\n                DestinationFragment = \"UrlRedirect\",\n            },\n        },\n        Conditions = new Azure.Cdn.Inputs.FrontdoorRuleConditionsArgs\n        {\n            HostNameConditions = new[]\n            {\n                new Azure.Cdn.Inputs.FrontdoorRuleConditionsHostNameConditionArgs\n                {\n                    Operator = \"Equal\",\n                    NegateCondition = false,\n                    MatchValues = new[]\n                    {\n                        \"www.contoso.com\",\n                        \"images.contoso.com\",\n                        \"video.contoso.com\",\n                    },\n                    Transforms = new[]\n                    {\n                        \"Lowercase\",\n                        \"Trim\",\n                    },\n                },\n            },\n            IsDeviceConditions = new[]\n            {\n                new Azure.Cdn.Inputs.FrontdoorRuleConditionsIsDeviceConditionArgs\n                {\n                    Operator = \"Equal\",\n                    NegateCondition = false,\n                    MatchValues = \"Mobile\",\n                },\n            },\n            PostArgsConditions = new[]\n            {\n                new Azure.Cdn.Inputs.FrontdoorRuleConditionsPostArgsConditionArgs\n                {\n                    PostArgsName = \"customerName\",\n                    Operator = \"BeginsWith\",\n                    MatchValues = new[]\n                    {\n                        \"J\",\n                        \"K\",\n                    },\n                    Transforms = new[]\n                    {\n                        \"Uppercase\",\n                    },\n                },\n            },\n            RequestMethodConditions = new[]\n            {\n                new Azure.Cdn.Inputs.FrontdoorRuleConditionsRequestMethodConditionArgs\n                {\n                    Operator = \"Equal\",\n                    NegateCondition = false,\n                    MatchValues = new[]\n                    {\n                        \"DELETE\",\n                    },\n                },\n            },\n            UrlFilenameConditions = new[]\n            {\n                new Azure.Cdn.Inputs.FrontdoorRuleConditionsUrlFilenameConditionArgs\n                {\n                    Operator = \"Equal\",\n                    NegateCondition = false,\n                    MatchValues = new[]\n                    {\n                        \"media.mp4\",\n                    },\n                    Transforms = new[]\n                    {\n                        \"Lowercase\",\n                        \"RemoveNulls\",\n                        \"Trim\",\n                    },\n                },\n            },\n        },\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            exampleFrontdoorOriginGroup,\n            exampleFrontdoorOrigin,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/cdn\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-cdn-frontdoor\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleFrontdoorProfile, err := cdn.NewFrontdoorProfile(ctx, \"example\", \u0026cdn.FrontdoorProfileArgs{\n\t\t\tName:              pulumi.String(\"example-profile\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSkuName:           pulumi.String(\"Premium_AzureFrontDoor\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleFrontdoorEndpoint, err := cdn.NewFrontdoorEndpoint(ctx, \"example\", \u0026cdn.FrontdoorEndpointArgs{\n\t\t\tName:                  pulumi.String(\"example-endpoint\"),\n\t\t\tCdnFrontdoorProfileId: exampleFrontdoorProfile.ID(),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"endpoint\": pulumi.String(\"contoso.com\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleFrontdoorOriginGroup, err := cdn.NewFrontdoorOriginGroup(ctx, \"example\", \u0026cdn.FrontdoorOriginGroupArgs{\n\t\t\tName:                   pulumi.String(\"example-originGroup\"),\n\t\t\tCdnFrontdoorProfileId:  exampleFrontdoorProfile.ID(),\n\t\t\tSessionAffinityEnabled: pulumi.Bool(true),\n\t\t\tRestoreTrafficTimeToHealedOrNewEndpointInMinutes: pulumi.Int(10),\n\t\t\tHealthProbe: \u0026cdn.FrontdoorOriginGroupHealthProbeArgs{\n\t\t\t\tIntervalInSeconds: pulumi.Int(240),\n\t\t\t\tPath:              pulumi.String(\"/healthProbe\"),\n\t\t\t\tProtocol:          pulumi.String(\"Https\"),\n\t\t\t\tRequestType:       pulumi.String(\"GET\"),\n\t\t\t},\n\t\t\tLoadBalancing: \u0026cdn.FrontdoorOriginGroupLoadBalancingArgs{\n\t\t\t\tAdditionalLatencyInMilliseconds: pulumi.Int(0),\n\t\t\t\tSampleSize:                      pulumi.Int(16),\n\t\t\t\tSuccessfulSamplesRequired:       pulumi.Int(3),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleFrontdoorOrigin, err := cdn.NewFrontdoorOrigin(ctx, \"example\", \u0026cdn.FrontdoorOriginArgs{\n\t\t\tName:                        pulumi.String(\"example-origin\"),\n\t\t\tCdnFrontdoorOriginGroupId:   exampleFrontdoorOriginGroup.ID(),\n\t\t\tEnabled:                     pulumi.Bool(true),\n\t\t\tCertificateNameCheckEnabled: pulumi.Bool(false),\n\t\t\tHostName:                    exampleFrontdoorEndpoint.HostName,\n\t\t\tHttpPort:                    pulumi.Int(80),\n\t\t\tHttpsPort:                   pulumi.Int(443),\n\t\t\tOriginHostHeader:            pulumi.String(\"contoso.com\"),\n\t\t\tPriority:                    pulumi.Int(1),\n\t\t\tWeight:                      pulumi.Int(500),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleFrontdoorRuleSet, err := cdn.NewFrontdoorRuleSet(ctx, \"example\", \u0026cdn.FrontdoorRuleSetArgs{\n\t\t\tName:                  pulumi.String(\"exampleruleset\"),\n\t\t\tCdnFrontdoorProfileId: exampleFrontdoorProfile.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cdn.NewFrontdoorRule(ctx, \"example\", \u0026cdn.FrontdoorRuleArgs{\n\t\t\tName:                  pulumi.String(\"examplerule\"),\n\t\t\tCdnFrontdoorRuleSetId: exampleFrontdoorRuleSet.ID(),\n\t\t\tOrder:                 pulumi.Int(1),\n\t\t\tBehaviorOnMatch:       pulumi.String(\"Continue\"),\n\t\t\tActions: \u0026cdn.FrontdoorRuleActionsArgs{\n\t\t\t\tRouteConfigurationOverrideAction: \u0026cdn.FrontdoorRuleActionsRouteConfigurationOverrideActionArgs{\n\t\t\t\t\tCdnFrontdoorOriginGroupId:  exampleFrontdoorOriginGroup.ID(),\n\t\t\t\t\tForwardingProtocol:         pulumi.String(\"HttpsOnly\"),\n\t\t\t\t\tQueryStringCachingBehavior: pulumi.String(\"IncludeSpecifiedQueryStrings\"),\n\t\t\t\t\tQueryStringParameters: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"foo\"),\n\t\t\t\t\t\tpulumi.String(\"clientIp={client_ip}\"),\n\t\t\t\t\t},\n\t\t\t\t\tCompressionEnabled: pulumi.Bool(true),\n\t\t\t\t\tCacheBehavior:      pulumi.String(\"OverrideIfOriginMissing\"),\n\t\t\t\t\tCacheDuration:      pulumi.String(\"365.23:59:59\"),\n\t\t\t\t},\n\t\t\t\tUrlRedirectAction: \u0026cdn.FrontdoorRuleActionsUrlRedirectActionArgs{\n\t\t\t\t\tRedirectType:        pulumi.String(\"PermanentRedirect\"),\n\t\t\t\t\tRedirectProtocol:    pulumi.String(\"MatchRequest\"),\n\t\t\t\t\tQueryString:         pulumi.String(\"clientIp={client_ip}\"),\n\t\t\t\t\tDestinationPath:     pulumi.String(\"/exampleredirection\"),\n\t\t\t\t\tDestinationHostname: pulumi.String(\"contoso.com\"),\n\t\t\t\t\tDestinationFragment: pulumi.String(\"UrlRedirect\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tConditions: \u0026cdn.FrontdoorRuleConditionsArgs{\n\t\t\t\tHostNameConditions: cdn.FrontdoorRuleConditionsHostNameConditionArray{\n\t\t\t\t\t\u0026cdn.FrontdoorRuleConditionsHostNameConditionArgs{\n\t\t\t\t\t\tOperator:        pulumi.String(\"Equal\"),\n\t\t\t\t\t\tNegateCondition: pulumi.Bool(false),\n\t\t\t\t\t\tMatchValues: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"www.contoso.com\"),\n\t\t\t\t\t\t\tpulumi.String(\"images.contoso.com\"),\n\t\t\t\t\t\t\tpulumi.String(\"video.contoso.com\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tTransforms: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"Lowercase\"),\n\t\t\t\t\t\t\tpulumi.String(\"Trim\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tIsDeviceConditions: cdn.FrontdoorRuleConditionsIsDeviceConditionArray{\n\t\t\t\t\t\u0026cdn.FrontdoorRuleConditionsIsDeviceConditionArgs{\n\t\t\t\t\t\tOperator:        pulumi.String(\"Equal\"),\n\t\t\t\t\t\tNegateCondition: pulumi.Bool(false),\n\t\t\t\t\t\tMatchValues:     pulumi.String(\"Mobile\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tPostArgsConditions: cdn.FrontdoorRuleConditionsPostArgsConditionArray{\n\t\t\t\t\t\u0026cdn.FrontdoorRuleConditionsPostArgsConditionArgs{\n\t\t\t\t\t\tPostArgsName: pulumi.String(\"customerName\"),\n\t\t\t\t\t\tOperator:     pulumi.String(\"BeginsWith\"),\n\t\t\t\t\t\tMatchValues: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"J\"),\n\t\t\t\t\t\t\tpulumi.String(\"K\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tTransforms: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"Uppercase\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tRequestMethodConditions: cdn.FrontdoorRuleConditionsRequestMethodConditionArray{\n\t\t\t\t\t\u0026cdn.FrontdoorRuleConditionsRequestMethodConditionArgs{\n\t\t\t\t\t\tOperator:        pulumi.String(\"Equal\"),\n\t\t\t\t\t\tNegateCondition: pulumi.Bool(false),\n\t\t\t\t\t\tMatchValues: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"DELETE\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tUrlFilenameConditions: cdn.FrontdoorRuleConditionsUrlFilenameConditionArray{\n\t\t\t\t\t\u0026cdn.FrontdoorRuleConditionsUrlFilenameConditionArgs{\n\t\t\t\t\t\tOperator:        pulumi.String(\"Equal\"),\n\t\t\t\t\t\tNegateCondition: pulumi.Bool(false),\n\t\t\t\t\t\tMatchValues: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"media.mp4\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tTransforms: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"Lowercase\"),\n\t\t\t\t\t\t\tpulumi.String(\"RemoveNulls\"),\n\t\t\t\t\t\t\tpulumi.String(\"Trim\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleFrontdoorOriginGroup,\n\t\t\texampleFrontdoorOrigin,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.cdn.FrontdoorProfile;\nimport com.pulumi.azure.cdn.FrontdoorProfileArgs;\nimport com.pulumi.azure.cdn.FrontdoorEndpoint;\nimport com.pulumi.azure.cdn.FrontdoorEndpointArgs;\nimport com.pulumi.azure.cdn.FrontdoorOriginGroup;\nimport com.pulumi.azure.cdn.FrontdoorOriginGroupArgs;\nimport com.pulumi.azure.cdn.inputs.FrontdoorOriginGroupHealthProbeArgs;\nimport com.pulumi.azure.cdn.inputs.FrontdoorOriginGroupLoadBalancingArgs;\nimport com.pulumi.azure.cdn.FrontdoorOrigin;\nimport com.pulumi.azure.cdn.FrontdoorOriginArgs;\nimport com.pulumi.azure.cdn.FrontdoorRuleSet;\nimport com.pulumi.azure.cdn.FrontdoorRuleSetArgs;\nimport com.pulumi.azure.cdn.FrontdoorRule;\nimport com.pulumi.azure.cdn.FrontdoorRuleArgs;\nimport com.pulumi.azure.cdn.inputs.FrontdoorRuleActionsArgs;\nimport com.pulumi.azure.cdn.inputs.FrontdoorRuleActionsRouteConfigurationOverrideActionArgs;\nimport com.pulumi.azure.cdn.inputs.FrontdoorRuleActionsUrlRedirectActionArgs;\nimport com.pulumi.azure.cdn.inputs.FrontdoorRuleConditionsArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-cdn-frontdoor\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleFrontdoorProfile = new FrontdoorProfile(\"exampleFrontdoorProfile\", FrontdoorProfileArgs.builder()\n            .name(\"example-profile\")\n            .resourceGroupName(example.name())\n            .skuName(\"Premium_AzureFrontDoor\")\n            .build());\n\n        var exampleFrontdoorEndpoint = new FrontdoorEndpoint(\"exampleFrontdoorEndpoint\", FrontdoorEndpointArgs.builder()\n            .name(\"example-endpoint\")\n            .cdnFrontdoorProfileId(exampleFrontdoorProfile.id())\n            .tags(Map.of(\"endpoint\", \"contoso.com\"))\n            .build());\n\n        var exampleFrontdoorOriginGroup = new FrontdoorOriginGroup(\"exampleFrontdoorOriginGroup\", FrontdoorOriginGroupArgs.builder()\n            .name(\"example-originGroup\")\n            .cdnFrontdoorProfileId(exampleFrontdoorProfile.id())\n            .sessionAffinityEnabled(true)\n            .restoreTrafficTimeToHealedOrNewEndpointInMinutes(10)\n            .healthProbe(FrontdoorOriginGroupHealthProbeArgs.builder()\n                .intervalInSeconds(240)\n                .path(\"/healthProbe\")\n                .protocol(\"Https\")\n                .requestType(\"GET\")\n                .build())\n            .loadBalancing(FrontdoorOriginGroupLoadBalancingArgs.builder()\n                .additionalLatencyInMilliseconds(0)\n                .sampleSize(16)\n                .successfulSamplesRequired(3)\n                .build())\n            .build());\n\n        var exampleFrontdoorOrigin = new FrontdoorOrigin(\"exampleFrontdoorOrigin\", FrontdoorOriginArgs.builder()\n            .name(\"example-origin\")\n            .cdnFrontdoorOriginGroupId(exampleFrontdoorOriginGroup.id())\n            .enabled(true)\n            .certificateNameCheckEnabled(false)\n            .hostName(exampleFrontdoorEndpoint.hostName())\n            .httpPort(80)\n            .httpsPort(443)\n            .originHostHeader(\"contoso.com\")\n            .priority(1)\n            .weight(500)\n            .build());\n\n        var exampleFrontdoorRuleSet = new FrontdoorRuleSet(\"exampleFrontdoorRuleSet\", FrontdoorRuleSetArgs.builder()\n            .name(\"exampleruleset\")\n            .cdnFrontdoorProfileId(exampleFrontdoorProfile.id())\n            .build());\n\n        var exampleFrontdoorRule = new FrontdoorRule(\"exampleFrontdoorRule\", FrontdoorRuleArgs.builder()\n            .name(\"examplerule\")\n            .cdnFrontdoorRuleSetId(exampleFrontdoorRuleSet.id())\n            .order(1)\n            .behaviorOnMatch(\"Continue\")\n            .actions(FrontdoorRuleActionsArgs.builder()\n                .routeConfigurationOverrideAction(FrontdoorRuleActionsRouteConfigurationOverrideActionArgs.builder()\n                    .cdnFrontdoorOriginGroupId(exampleFrontdoorOriginGroup.id())\n                    .forwardingProtocol(\"HttpsOnly\")\n                    .queryStringCachingBehavior(\"IncludeSpecifiedQueryStrings\")\n                    .queryStringParameters(                    \n                        \"foo\",\n                        \"clientIp={client_ip}\")\n                    .compressionEnabled(true)\n                    .cacheBehavior(\"OverrideIfOriginMissing\")\n                    .cacheDuration(\"365.23:59:59\")\n                    .build())\n                .urlRedirectAction(FrontdoorRuleActionsUrlRedirectActionArgs.builder()\n                    .redirectType(\"PermanentRedirect\")\n                    .redirectProtocol(\"MatchRequest\")\n                    .queryString(\"clientIp={client_ip}\")\n                    .destinationPath(\"/exampleredirection\")\n                    .destinationHostname(\"contoso.com\")\n                    .destinationFragment(\"UrlRedirect\")\n                    .build())\n                .build())\n            .conditions(FrontdoorRuleConditionsArgs.builder()\n                .hostNameConditions(FrontdoorRuleConditionsHostNameConditionArgs.builder()\n                    .operator(\"Equal\")\n                    .negateCondition(false)\n                    .matchValues(                    \n                        \"www.contoso.com\",\n                        \"images.contoso.com\",\n                        \"video.contoso.com\")\n                    .transforms(                    \n                        \"Lowercase\",\n                        \"Trim\")\n                    .build())\n                .isDeviceConditions(FrontdoorRuleConditionsIsDeviceConditionArgs.builder()\n                    .operator(\"Equal\")\n                    .negateCondition(false)\n                    .matchValues(\"Mobile\")\n                    .build())\n                .postArgsConditions(FrontdoorRuleConditionsPostArgsConditionArgs.builder()\n                    .postArgsName(\"customerName\")\n                    .operator(\"BeginsWith\")\n                    .matchValues(                    \n                        \"J\",\n                        \"K\")\n                    .transforms(\"Uppercase\")\n                    .build())\n                .requestMethodConditions(FrontdoorRuleConditionsRequestMethodConditionArgs.builder()\n                    .operator(\"Equal\")\n                    .negateCondition(false)\n                    .matchValues(\"DELETE\")\n                    .build())\n                .urlFilenameConditions(FrontdoorRuleConditionsUrlFilenameConditionArgs.builder()\n                    .operator(\"Equal\")\n                    .negateCondition(false)\n                    .matchValues(\"media.mp4\")\n                    .transforms(                    \n                        \"Lowercase\",\n                        \"RemoveNulls\",\n                        \"Trim\")\n                    .build())\n                .build())\n            .build(), CustomResourceOptions.builder()\n                .dependsOn(                \n                    exampleFrontdoorOriginGroup,\n                    exampleFrontdoorOrigin)\n                .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-cdn-frontdoor\n      location: West Europe\n  exampleFrontdoorProfile:\n    type: azure:cdn:FrontdoorProfile\n    name: example\n    properties:\n      name: example-profile\n      resourceGroupName: ${example.name}\n      skuName: Premium_AzureFrontDoor\n  exampleFrontdoorEndpoint:\n    type: azure:cdn:FrontdoorEndpoint\n    name: example\n    properties:\n      name: example-endpoint\n      cdnFrontdoorProfileId: ${exampleFrontdoorProfile.id}\n      tags:\n        endpoint: contoso.com\n  exampleFrontdoorOriginGroup:\n    type: azure:cdn:FrontdoorOriginGroup\n    name: example\n    properties:\n      name: example-originGroup\n      cdnFrontdoorProfileId: ${exampleFrontdoorProfile.id}\n      sessionAffinityEnabled: true\n      restoreTrafficTimeToHealedOrNewEndpointInMinutes: 10\n      healthProbe:\n        intervalInSeconds: 240\n        path: /healthProbe\n        protocol: Https\n        requestType: GET\n      loadBalancing:\n        additionalLatencyInMilliseconds: 0\n        sampleSize: 16\n        successfulSamplesRequired: 3\n  exampleFrontdoorOrigin:\n    type: azure:cdn:FrontdoorOrigin\n    name: example\n    properties:\n      name: example-origin\n      cdnFrontdoorOriginGroupId: ${exampleFrontdoorOriginGroup.id}\n      enabled: true\n      certificateNameCheckEnabled: false\n      hostName: ${exampleFrontdoorEndpoint.hostName}\n      httpPort: 80\n      httpsPort: 443\n      originHostHeader: contoso.com\n      priority: 1\n      weight: 500\n  exampleFrontdoorRuleSet:\n    type: azure:cdn:FrontdoorRuleSet\n    name: example\n    properties:\n      name: exampleruleset\n      cdnFrontdoorProfileId: ${exampleFrontdoorProfile.id}\n  exampleFrontdoorRule:\n    type: azure:cdn:FrontdoorRule\n    name: example\n    properties:\n      name: examplerule\n      cdnFrontdoorRuleSetId: ${exampleFrontdoorRuleSet.id}\n      order: 1\n      behaviorOnMatch: Continue\n      actions:\n        routeConfigurationOverrideAction:\n          cdnFrontdoorOriginGroupId: ${exampleFrontdoorOriginGroup.id}\n          forwardingProtocol: HttpsOnly\n          queryStringCachingBehavior: IncludeSpecifiedQueryStrings\n          queryStringParameters:\n            - foo\n            - clientIp={client_ip}\n          compressionEnabled: true\n          cacheBehavior: OverrideIfOriginMissing\n          cacheDuration: 365.23:59:59\n        urlRedirectAction:\n          redirectType: PermanentRedirect\n          redirectProtocol: MatchRequest\n          queryString: clientIp={client_ip}\n          destinationPath: /exampleredirection\n          destinationHostname: contoso.com\n          destinationFragment: UrlRedirect\n      conditions:\n        hostNameConditions:\n          - operator: Equal\n            negateCondition: false\n            matchValues:\n              - www.contoso.com\n              - images.contoso.com\n              - video.contoso.com\n            transforms:\n              - Lowercase\n              - Trim\n        isDeviceConditions:\n          - operator: Equal\n            negateCondition: false\n            matchValues: Mobile\n        postArgsConditions:\n          - postArgsName: customerName\n            operator: BeginsWith\n            matchValues:\n              - J\n              - K\n            transforms:\n              - Uppercase\n        requestMethodConditions:\n          - operator: Equal\n            negateCondition: false\n            matchValues:\n              - DELETE\n        urlFilenameConditions:\n          - operator: Equal\n            negateCondition: false\n            matchValues:\n              - media.mp4\n            transforms:\n              - Lowercase\n              - RemoveNulls\n              - Trim\n    options:\n      dependsOn:\n        - ${exampleFrontdoorOriginGroup}\n        - ${exampleFrontdoorOrigin}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Specifying IP Address Ranges\n\nWhen specifying IP address ranges in the \u003cspan pulumi-lang-nodejs=\"`socketAddressCondition`\" pulumi-lang-dotnet=\"`SocketAddressCondition`\" pulumi-lang-go=\"`socketAddressCondition`\" pulumi-lang-python=\"`socket_address_condition`\" pulumi-lang-yaml=\"`socketAddressCondition`\" pulumi-lang-java=\"`socketAddressCondition`\"\u003e`socket_address_condition`\u003c/span\u003e and the \u003cspan pulumi-lang-nodejs=\"`remoteAddressCondition`\" pulumi-lang-dotnet=\"`RemoteAddressCondition`\" pulumi-lang-go=\"`remoteAddressCondition`\" pulumi-lang-python=\"`remote_address_condition`\" pulumi-lang-yaml=\"`remoteAddressCondition`\" pulumi-lang-java=\"`remoteAddressCondition`\"\u003e`remote_address_condition`\u003c/span\u003e \u003cspan pulumi-lang-nodejs=\"`matchValues`\" pulumi-lang-dotnet=\"`MatchValues`\" pulumi-lang-go=\"`matchValues`\" pulumi-lang-python=\"`match_values`\" pulumi-lang-yaml=\"`matchValues`\" pulumi-lang-java=\"`matchValues`\"\u003e`match_values`\u003c/span\u003e use the following format:\n\nUse `CIDR` notation when specifying IP address blocks. This means that the syntax for an IP address block is the base IP address followed by a forward slash and the prefix size For example:\n\n* `IPv4` example: `5.5.5.64/26` matches any requests that arrive from addresses `5.5.5.64` through `5.5.5.127`.\n* `IPv6` example: `1:2:3:/48` matches any requests that arrive from addresses `1:2:3:0:0:0:0:0` through `1:2:3:ffff:ffff:ffff:ffff:ffff`.\n\nWhen you specify multiple IP addresses and IP address blocks, `OR` logic is applied.\n\n* `IPv4` example: if you add two IP addresses `1.2.3.4` and `10.20.30.40`, the condition is matched for any requests that arrive from either address `1.2.3.4` or `10.20.30.40`.\n* `IPv6` example: if you add two IP addresses `1:2:3:4:5:6:7:8` and `10:20:30:40:50:60:70:80`, the condition is matched for any requests that arrive from either address `1:2:3:4:5:6:7:8` or `10:20:30:40:50:60:70:80`.\n\n---\n\n## Action Server Variables\n\nRule Set server variables provide access to structured information about the request. You can use server variables to dynamically change the request/response headers or URL rewrite paths/query strings, for example, when a new page load or when a form is posted.\n\n### Supported Action Server Variables\n\n| Variable name | Description |\n|---------------|-------------|\n| \u003cspan pulumi-lang-nodejs=\"`socketIp`\" pulumi-lang-dotnet=\"`SocketIp`\" pulumi-lang-go=\"`socketIp`\" pulumi-lang-python=\"`socket_ip`\" pulumi-lang-yaml=\"`socketIp`\" pulumi-lang-java=\"`socketIp`\"\u003e`socket_ip`\u003c/span\u003e      | The IP address of the direct connection to Front Door Profiles edge. If the client used an HTTP proxy or a load balancer to send the request, the value of \u003cspan pulumi-lang-nodejs=\"`socketIp`\" pulumi-lang-dotnet=\"`SocketIp`\" pulumi-lang-go=\"`socketIp`\" pulumi-lang-python=\"`socket_ip`\" pulumi-lang-yaml=\"`socketIp`\" pulumi-lang-java=\"`socketIp`\"\u003e`socket_ip`\u003c/span\u003e is the IP address of the proxy or load balancer. |\n| \u003cspan pulumi-lang-nodejs=\"`clientIp`\" pulumi-lang-dotnet=\"`ClientIp`\" pulumi-lang-go=\"`clientIp`\" pulumi-lang-python=\"`client_ip`\" pulumi-lang-yaml=\"`clientIp`\" pulumi-lang-java=\"`clientIp`\"\u003e`client_ip`\u003c/span\u003e      | The IP address of the client that made the original request. If there was an `X-Forwarded-For` header in the request, then the client IP address is picked from the header. |\n| \u003cspan pulumi-lang-nodejs=\"`clientPort`\" pulumi-lang-dotnet=\"`ClientPort`\" pulumi-lang-go=\"`clientPort`\" pulumi-lang-python=\"`client_port`\" pulumi-lang-yaml=\"`clientPort`\" pulumi-lang-java=\"`clientPort`\"\u003e`client_port`\u003c/span\u003e    | The IP port of the client that made the request. |\n| \u003cspan pulumi-lang-nodejs=\"`hostname`\" pulumi-lang-dotnet=\"`Hostname`\" pulumi-lang-go=\"`hostname`\" pulumi-lang-python=\"`hostname`\" pulumi-lang-yaml=\"`hostname`\" pulumi-lang-java=\"`hostname`\"\u003e`hostname`\u003c/span\u003e       | The host name in the request from the client. |\n| \u003cspan pulumi-lang-nodejs=\"`geoCountry`\" pulumi-lang-dotnet=\"`GeoCountry`\" pulumi-lang-go=\"`geoCountry`\" pulumi-lang-python=\"`geo_country`\" pulumi-lang-yaml=\"`geoCountry`\" pulumi-lang-java=\"`geoCountry`\"\u003e`geo_country`\u003c/span\u003e    | Indicates the requester's country/region of origin through its country/region code. |\n| \u003cspan pulumi-lang-nodejs=\"`httpMethod`\" pulumi-lang-dotnet=\"`HttpMethod`\" pulumi-lang-go=\"`httpMethod`\" pulumi-lang-python=\"`http_method`\" pulumi-lang-yaml=\"`httpMethod`\" pulumi-lang-java=\"`httpMethod`\"\u003e`http_method`\u003c/span\u003e    | The method used to make the URL request, such as `GET` or `POST`. |\n| \u003cspan pulumi-lang-nodejs=\"`httpVersion`\" pulumi-lang-dotnet=\"`HttpVersion`\" pulumi-lang-go=\"`httpVersion`\" pulumi-lang-python=\"`http_version`\" pulumi-lang-yaml=\"`httpVersion`\" pulumi-lang-java=\"`httpVersion`\"\u003e`http_version`\u003c/span\u003e   | The request protocol. Usually `HTTP/1.0`, `HTTP/1.1`, or `HTTP/2.0`. |\n| \u003cspan pulumi-lang-nodejs=\"`queryString`\" pulumi-lang-dotnet=\"`QueryString`\" pulumi-lang-go=\"`queryString`\" pulumi-lang-python=\"`query_string`\" pulumi-lang-yaml=\"`queryString`\" pulumi-lang-java=\"`queryString`\"\u003e`query_string`\u003c/span\u003e   | The list of variable/value pairs that follows the \"?\" in the requested URL. For example, in the request `http://contoso.com:8080/article.aspx?id=123\u0026title=fabrikam`, the \u003cspan pulumi-lang-nodejs=\"`queryString`\" pulumi-lang-dotnet=\"`QueryString`\" pulumi-lang-go=\"`queryString`\" pulumi-lang-python=\"`query_string`\" pulumi-lang-yaml=\"`queryString`\" pulumi-lang-java=\"`queryString`\"\u003e`query_string`\u003c/span\u003e value will be `id=123\u0026title=fabrikam`. |\n| \u003cspan pulumi-lang-nodejs=\"`requestScheme`\" pulumi-lang-dotnet=\"`RequestScheme`\" pulumi-lang-go=\"`requestScheme`\" pulumi-lang-python=\"`request_scheme`\" pulumi-lang-yaml=\"`requestScheme`\" pulumi-lang-java=\"`requestScheme`\"\u003e`request_scheme`\u003c/span\u003e | The request scheme: \u003cspan pulumi-lang-nodejs=\"`http`\" pulumi-lang-dotnet=\"`Http`\" pulumi-lang-go=\"`http`\" pulumi-lang-python=\"`http`\" pulumi-lang-yaml=\"`http`\" pulumi-lang-java=\"`http`\"\u003e`http`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`https`\" pulumi-lang-dotnet=\"`Https`\" pulumi-lang-go=\"`https`\" pulumi-lang-python=\"`https`\" pulumi-lang-yaml=\"`https`\" pulumi-lang-java=\"`https`\"\u003e`https`\u003c/span\u003e. |\n| \u003cspan pulumi-lang-nodejs=\"`requestUri`\" pulumi-lang-dotnet=\"`RequestUri`\" pulumi-lang-go=\"`requestUri`\" pulumi-lang-python=\"`request_uri`\" pulumi-lang-yaml=\"`requestUri`\" pulumi-lang-java=\"`requestUri`\"\u003e`request_uri`\u003c/span\u003e    | The full original request URI (with arguments). For example, in the request `http://contoso.com:8080/article.aspx?id=123\u0026title=fabrikam`, the \u003cspan pulumi-lang-nodejs=\"`requestUri`\" pulumi-lang-dotnet=\"`RequestUri`\" pulumi-lang-go=\"`requestUri`\" pulumi-lang-python=\"`request_uri`\" pulumi-lang-yaml=\"`requestUri`\" pulumi-lang-java=\"`requestUri`\"\u003e`request_uri`\u003c/span\u003e value will be `/article.aspx?id=123\u0026title=fabrikam`. |\n| \u003cspan pulumi-lang-nodejs=\"`sslProtocol`\" pulumi-lang-dotnet=\"`SslProtocol`\" pulumi-lang-go=\"`sslProtocol`\" pulumi-lang-python=\"`ssl_protocol`\" pulumi-lang-yaml=\"`sslProtocol`\" pulumi-lang-java=\"`sslProtocol`\"\u003e`ssl_protocol`\u003c/span\u003e   | The protocol of an established TLS connection. |\n| \u003cspan pulumi-lang-nodejs=\"`serverPort`\" pulumi-lang-dotnet=\"`ServerPort`\" pulumi-lang-go=\"`serverPort`\" pulumi-lang-python=\"`server_port`\" pulumi-lang-yaml=\"`serverPort`\" pulumi-lang-java=\"`serverPort`\"\u003e`server_port`\u003c/span\u003e    | The port of the server that accepted a request. |\n| \u003cspan pulumi-lang-nodejs=\"`urlPath`\" pulumi-lang-dotnet=\"`UrlPath`\" pulumi-lang-go=\"`urlPath`\" pulumi-lang-python=\"`url_path`\" pulumi-lang-yaml=\"`urlPath`\" pulumi-lang-java=\"`urlPath`\"\u003e`url_path`\u003c/span\u003e       | Identifies the specific resource in the host that the web client wants to access. This is the part of the request URI without the arguments. For example, in the request `http://contoso.com:8080/article.aspx?id=123\u0026title=fabrikam`, the \u003cspan pulumi-lang-nodejs=\"`uriPath`\" pulumi-lang-dotnet=\"`UriPath`\" pulumi-lang-go=\"`uriPath`\" pulumi-lang-python=\"`uri_path`\" pulumi-lang-yaml=\"`uriPath`\" pulumi-lang-java=\"`uriPath`\"\u003e`uri_path`\u003c/span\u003e value will be `/article.aspx`. |\n\n### Action Server Variable Format\n\nServer variables can be specified using the following formats:\n\n* `{variable}` - Include the entire server variable. For example, if the client IP address is `111.222.333.444` then the `{client_ip}` token would evaluate to `111.222.333.444`.\n\n* `{variable:offset}` - Include the server variable after a specific offset, until the end of the variable. The offset is zero-based. For example, if the client IP address is `111.222.333.444` then the `{client_ip:3}` token would evaluate to `.222.333.444`.\n\n* `{variable:offset:length}` - Include the server variable after a specific offset, up to the specified length. The offset is zero-based. For example, if the client IP address is `111.222.333.444` then the `{client_ip:4:3}` token would evaluate to \u003cspan pulumi-lang-nodejs=\"`222`\" pulumi-lang-dotnet=\"`222`\" pulumi-lang-go=\"`222`\" pulumi-lang-python=\"`222`\" pulumi-lang-yaml=\"`222`\" pulumi-lang-java=\"`222`\"\u003e`222`\u003c/span\u003e.\n\n### Action Server Variables Support\n\nAction Server variables are supported on the following actions:\n\n* \u003cspan pulumi-lang-nodejs=\"`routeConfigurationOverrideAction`\" pulumi-lang-dotnet=\"`RouteConfigurationOverrideAction`\" pulumi-lang-go=\"`routeConfigurationOverrideAction`\" pulumi-lang-python=\"`route_configuration_override_action`\" pulumi-lang-yaml=\"`routeConfigurationOverrideAction`\" pulumi-lang-java=\"`routeConfigurationOverrideAction`\"\u003e`route_configuration_override_action`\u003c/span\u003e\n* \u003cspan pulumi-lang-nodejs=\"`requestHeaderAction`\" pulumi-lang-dotnet=\"`RequestHeaderAction`\" pulumi-lang-go=\"`requestHeaderAction`\" pulumi-lang-python=\"`request_header_action`\" pulumi-lang-yaml=\"`requestHeaderAction`\" pulumi-lang-java=\"`requestHeaderAction`\"\u003e`request_header_action`\u003c/span\u003e\n* \u003cspan pulumi-lang-nodejs=\"`responseHeaderAction`\" pulumi-lang-dotnet=\"`ResponseHeaderAction`\" pulumi-lang-go=\"`responseHeaderAction`\" pulumi-lang-python=\"`response_header_action`\" pulumi-lang-yaml=\"`responseHeaderAction`\" pulumi-lang-java=\"`responseHeaderAction`\"\u003e`response_header_action`\u003c/span\u003e\n* \u003cspan pulumi-lang-nodejs=\"`urlRedirectAction`\" pulumi-lang-dotnet=\"`UrlRedirectAction`\" pulumi-lang-go=\"`urlRedirectAction`\" pulumi-lang-python=\"`url_redirect_action`\" pulumi-lang-yaml=\"`urlRedirectAction`\" pulumi-lang-java=\"`urlRedirectAction`\"\u003e`url_redirect_action`\u003c/span\u003e\n* \u003cspan pulumi-lang-nodejs=\"`urlRewriteAction`\" pulumi-lang-dotnet=\"`UrlRewriteAction`\" pulumi-lang-go=\"`urlRewriteAction`\" pulumi-lang-python=\"`url_rewrite_action`\" pulumi-lang-yaml=\"`urlRewriteAction`\" pulumi-lang-java=\"`urlRewriteAction`\"\u003e`url_rewrite_action`\u003c/span\u003e\n\n---\n\n## Condition Operator list\n\nFor rules that accept values from the standard operator list, the following operators are valid:\n\n| Operator                   | Description | Condition Value |\n|----------------------------|-------------|-----------------|\n| Any                        |Matches when there is any value, regardless of what it is. | Any |\n| Equal                      | Matches when the value exactly matches the specified string. | Equal |\n| Contains                   | Matches when the value contains the specified string. | Contains |\n| Less Than                  | Matches when the length of the value is less than the specified integer. | LessThan |\n| Greater Than               | Matches when the length of the value is greater than the specified integer. | GreaterThan |\n| Less Than or Equal         | Matches when the length of the value is less than or equal to the specified integer. | LessThanOrEqual |\n| Greater Than or Equal      | Matches when the length of the value is greater than or equal to the specified integer. | GreaterThanOrEqual |\n| Begins With                | Matches when the value begins with the specified string. | BeginsWith |\n| Ends With                  | Matches when the value ends with the specified string. | EndsWith |\n| RegEx                      | Matches when the value matches the specified regular expression. See `Condition Regular Expressions` below for more details. | RegEx |\n| Wildcard                   | Matches when the request path matches a wildcard expression. See `Condition Wildcard Expression` below for more details. | Wildcard | \n| Not Any                    | Matches when there is no value. | Any and negateCondition = true |\n| Not Equal                  | Matches when the value does not match the specified string. | Equal and negateCondition : true |\n| Not Contains               | Matches when the value does not contain the specified string. | Contains and negateCondition = true |\n| Not Less Than              | Matches when the length of the value is not less than the specified integer. | LessThan and negateCondition = true |\n| Not Greater Than           | Matches when the length of the value is not greater than the specified integer. | GreaterThan and negateCondition = true |\n| Not Less Than or Equal     | Matches when the length of the value is not less than or equal to the specified integer. | LessThanOrEqual and negateCondition = true |\n| Not Greater Than or Equals | Matches when the length of the value is not greater than or equal to the specified integer. | GreaterThanOrEqual and negateCondition = true |\n| Not Begins With            | Matches when the value does not begin with the specified string. | BeginsWith and negateCondition = true |\n| Not Ends With              | Matches when the value does not end with the specified string. | EndsWith and negateCondition = true |\n| Not RegEx                  | Matches when the value does not match the specified regular expression. See `Condition Regular Expressions` for more details. | RegEx and negateCondition = true |\n| Not Wildcard               | Matches when the request path does not match a wildcard expression. See `Condition Wildcard Expression` below for more details. | Wildcard and negateCondition = true |\n\n---\n\n## Condition Regular Expressions\n\nRegular expressions **don't** support the following operations:\n\n* Backreferences and capturing subexpressions.\n* Arbitrary zero-width assertions.\n* Subroutine references and recursive patterns.\n* Conditional patterns.\n* Backtracking control verbs.\n* The `\\C` single-byte directive.\n* The `\\R` newline match directive.\n* The `\\K` start of match reset directive.\n* Callouts and embedded code.\n* Atomic grouping and possessive quantifiers.\n\n## Condition Wildcard Expression\n\nA wildcard expression can include the * character to match zero or more characters within the path. For example, the wildcard expression `files/customer*/file.pdf` matches the paths `files/customer1/file.pdf`, `files/customer109/file.pdf`, and `files/customer/file.pdf`, but doesn't match `files/customer2/anotherfile.pdf`.\n\n---\n\n## Condition Transform List\n\nFor rules that can transform strings, the following transforms are valid:\n\n| Transform   | Description |\n|-------------|-------------|\n| Lowercase   | Converts the string to the lowercase representation. |\n| Uppercase   | Converts the string to the uppercase representation. |\n| Trim        | Trims leading and trailing whitespace from the string. |\n| RemoveNulls | Removes null values from the string. |\n| URLEncode   | URL-encodes the string. |\n| URLDecode   | URL-decodes the string. |\n\n---\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Cdn` - 2024-09-01\n\n## Import\n\nFront Door Rules can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:cdn/frontdoorRule:FrontdoorRule example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup1/providers/Microsoft.Cdn/profiles/profile1/ruleSets/ruleSet1/rules/rule1\n```\n\n","properties":{"actions":{"$ref":"#/types/azure:cdn/FrontdoorRuleActions:FrontdoorRuleActions","description":"An \u003cspan pulumi-lang-nodejs=\"`actions`\" pulumi-lang-dotnet=\"`Actions`\" pulumi-lang-go=\"`actions`\" pulumi-lang-python=\"`actions`\" pulumi-lang-yaml=\"`actions`\" pulumi-lang-java=\"`actions`\"\u003e`actions`\u003c/span\u003e block as defined below.\n"},"behaviorOnMatch":{"type":"string","description":"If this rule is a match should the rules engine continue processing the remaining rules or stop? Possible values are `Continue` and `Stop`. Defaults to `Continue`.\n"},"cdnFrontdoorRuleSetId":{"type":"string","description":"The resource ID of the Front Door Rule Set for this Front Door Rule. Changing this forces a new Front Door Rule to be created.\n"},"cdnFrontdoorRuleSetName":{"type":"string","description":"The name of the Front Door Rule Set containing this Front Door Rule.\n"},"conditions":{"$ref":"#/types/azure:cdn/FrontdoorRuleConditions:FrontdoorRuleConditions","description":"A \u003cspan pulumi-lang-nodejs=\"`conditions`\" pulumi-lang-dotnet=\"`Conditions`\" pulumi-lang-go=\"`conditions`\" pulumi-lang-python=\"`conditions`\" pulumi-lang-yaml=\"`conditions`\" pulumi-lang-java=\"`conditions`\"\u003e`conditions`\u003c/span\u003e block as defined below.\n"},"name":{"type":"string","description":"The name which should be used for this Front Door Rule. Possible values must be between 1 and 260 characters in length, begin with a letter and may contain only letters and numbers. Changing this forces a new Front Door Rule to be created.\n"},"order":{"type":"integer","description":"The order in which the rules will be applied for the Front Door Endpoint. The order value should be sequential and begin at \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e(e.g. \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e...). A Front Door Rule with a lesser order value will be applied before a rule with a greater order value.\n\n\u003e **Note:** If the Front Door Rule has an order value of \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e they do not require any conditions and the actions will always be applied.\n"}},"required":["actions","cdnFrontdoorRuleSetId","cdnFrontdoorRuleSetName","name","order"],"inputProperties":{"actions":{"$ref":"#/types/azure:cdn/FrontdoorRuleActions:FrontdoorRuleActions","description":"An \u003cspan pulumi-lang-nodejs=\"`actions`\" pulumi-lang-dotnet=\"`Actions`\" pulumi-lang-go=\"`actions`\" pulumi-lang-python=\"`actions`\" pulumi-lang-yaml=\"`actions`\" pulumi-lang-java=\"`actions`\"\u003e`actions`\u003c/span\u003e block as defined below.\n"},"behaviorOnMatch":{"type":"string","description":"If this rule is a match should the rules engine continue processing the remaining rules or stop? Possible values are `Continue` and `Stop`. Defaults to `Continue`.\n"},"cdnFrontdoorRuleSetId":{"type":"string","description":"The resource ID of the Front Door Rule Set for this Front Door Rule. Changing this forces a new Front Door Rule to be created.\n","willReplaceOnChanges":true},"conditions":{"$ref":"#/types/azure:cdn/FrontdoorRuleConditions:FrontdoorRuleConditions","description":"A \u003cspan pulumi-lang-nodejs=\"`conditions`\" pulumi-lang-dotnet=\"`Conditions`\" pulumi-lang-go=\"`conditions`\" pulumi-lang-python=\"`conditions`\" pulumi-lang-yaml=\"`conditions`\" pulumi-lang-java=\"`conditions`\"\u003e`conditions`\u003c/span\u003e block as defined below.\n"},"name":{"type":"string","description":"The name which should be used for this Front Door Rule. Possible values must be between 1 and 260 characters in length, begin with a letter and may contain only letters and numbers. Changing this forces a new Front Door Rule to be created.\n","willReplaceOnChanges":true},"order":{"type":"integer","description":"The order in which the rules will be applied for the Front Door Endpoint. The order value should be sequential and begin at \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e(e.g. \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e...). A Front Door Rule with a lesser order value will be applied before a rule with a greater order value.\n\n\u003e **Note:** If the Front Door Rule has an order value of \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e they do not require any conditions and the actions will always be applied.\n"}},"requiredInputs":["actions","cdnFrontdoorRuleSetId","order"],"stateInputs":{"description":"Input properties used for looking up and filtering FrontdoorRule resources.\n","properties":{"actions":{"$ref":"#/types/azure:cdn/FrontdoorRuleActions:FrontdoorRuleActions","description":"An \u003cspan pulumi-lang-nodejs=\"`actions`\" pulumi-lang-dotnet=\"`Actions`\" pulumi-lang-go=\"`actions`\" pulumi-lang-python=\"`actions`\" pulumi-lang-yaml=\"`actions`\" pulumi-lang-java=\"`actions`\"\u003e`actions`\u003c/span\u003e block as defined below.\n"},"behaviorOnMatch":{"type":"string","description":"If this rule is a match should the rules engine continue processing the remaining rules or stop? Possible values are `Continue` and `Stop`. Defaults to `Continue`.\n"},"cdnFrontdoorRuleSetId":{"type":"string","description":"The resource ID of the Front Door Rule Set for this Front Door Rule. Changing this forces a new Front Door Rule to be created.\n","willReplaceOnChanges":true},"cdnFrontdoorRuleSetName":{"type":"string","description":"The name of the Front Door Rule Set containing this Front Door Rule.\n"},"conditions":{"$ref":"#/types/azure:cdn/FrontdoorRuleConditions:FrontdoorRuleConditions","description":"A \u003cspan pulumi-lang-nodejs=\"`conditions`\" pulumi-lang-dotnet=\"`Conditions`\" pulumi-lang-go=\"`conditions`\" pulumi-lang-python=\"`conditions`\" pulumi-lang-yaml=\"`conditions`\" pulumi-lang-java=\"`conditions`\"\u003e`conditions`\u003c/span\u003e block as defined below.\n"},"name":{"type":"string","description":"The name which should be used for this Front Door Rule. Possible values must be between 1 and 260 characters in length, begin with a letter and may contain only letters and numbers. Changing this forces a new Front Door Rule to be created.\n","willReplaceOnChanges":true},"order":{"type":"integer","description":"The order in which the rules will be applied for the Front Door Endpoint. The order value should be sequential and begin at \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e(e.g. \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e...). A Front Door Rule with a lesser order value will be applied before a rule with a greater order value.\n\n\u003e **Note:** If the Front Door Rule has an order value of \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e they do not require any conditions and the actions will always be applied.\n"}},"type":"object"}},"azure:cdn/frontdoorRuleSet:FrontdoorRuleSet":{"description":"Manages a Front Door (standard/premium) Rule Set.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-cdn-frontdoor\",\n    location: \"West Europe\",\n});\nconst exampleFrontdoorProfile = new azure.cdn.FrontdoorProfile(\"example\", {\n    name: \"example-profile\",\n    resourceGroupName: example.name,\n    skuName: \"Standard_AzureFrontDoor\",\n});\nconst exampleFrontdoorRuleSet = new azure.cdn.FrontdoorRuleSet(\"example\", {\n    name: \"ExampleRuleSet\",\n    cdnFrontdoorProfileId: exampleFrontdoorProfile.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-cdn-frontdoor\",\n    location=\"West Europe\")\nexample_frontdoor_profile = azure.cdn.FrontdoorProfile(\"example\",\n    name=\"example-profile\",\n    resource_group_name=example.name,\n    sku_name=\"Standard_AzureFrontDoor\")\nexample_frontdoor_rule_set = azure.cdn.FrontdoorRuleSet(\"example\",\n    name=\"ExampleRuleSet\",\n    cdn_frontdoor_profile_id=example_frontdoor_profile.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-cdn-frontdoor\",\n        Location = \"West Europe\",\n    });\n\n    var exampleFrontdoorProfile = new Azure.Cdn.FrontdoorProfile(\"example\", new()\n    {\n        Name = \"example-profile\",\n        ResourceGroupName = example.Name,\n        SkuName = \"Standard_AzureFrontDoor\",\n    });\n\n    var exampleFrontdoorRuleSet = new Azure.Cdn.FrontdoorRuleSet(\"example\", new()\n    {\n        Name = \"ExampleRuleSet\",\n        CdnFrontdoorProfileId = exampleFrontdoorProfile.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/cdn\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-cdn-frontdoor\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleFrontdoorProfile, err := cdn.NewFrontdoorProfile(ctx, \"example\", \u0026cdn.FrontdoorProfileArgs{\n\t\t\tName:              pulumi.String(\"example-profile\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSkuName:           pulumi.String(\"Standard_AzureFrontDoor\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cdn.NewFrontdoorRuleSet(ctx, \"example\", \u0026cdn.FrontdoorRuleSetArgs{\n\t\t\tName:                  pulumi.String(\"ExampleRuleSet\"),\n\t\t\tCdnFrontdoorProfileId: exampleFrontdoorProfile.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.cdn.FrontdoorProfile;\nimport com.pulumi.azure.cdn.FrontdoorProfileArgs;\nimport com.pulumi.azure.cdn.FrontdoorRuleSet;\nimport com.pulumi.azure.cdn.FrontdoorRuleSetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-cdn-frontdoor\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleFrontdoorProfile = new FrontdoorProfile(\"exampleFrontdoorProfile\", FrontdoorProfileArgs.builder()\n            .name(\"example-profile\")\n            .resourceGroupName(example.name())\n            .skuName(\"Standard_AzureFrontDoor\")\n            .build());\n\n        var exampleFrontdoorRuleSet = new FrontdoorRuleSet(\"exampleFrontdoorRuleSet\", FrontdoorRuleSetArgs.builder()\n            .name(\"ExampleRuleSet\")\n            .cdnFrontdoorProfileId(exampleFrontdoorProfile.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-cdn-frontdoor\n      location: West Europe\n  exampleFrontdoorProfile:\n    type: azure:cdn:FrontdoorProfile\n    name: example\n    properties:\n      name: example-profile\n      resourceGroupName: ${example.name}\n      skuName: Standard_AzureFrontDoor\n  exampleFrontdoorRuleSet:\n    type: azure:cdn:FrontdoorRuleSet\n    name: example\n    properties:\n      name: ExampleRuleSet\n      cdnFrontdoorProfileId: ${exampleFrontdoorProfile.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Cdn` - 2024-02-01\n\n## Import\n\nFront Door Rule Sets can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:cdn/frontdoorRuleSet:FrontdoorRuleSet example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup1/providers/Microsoft.Cdn/profiles/profile1/ruleSets/ruleSet1\n```\n\n","properties":{"cdnFrontdoorProfileId":{"type":"string","description":"The ID of the Front Door Profile. Changing this forces a new Front Door Rule Set to be created.\n"},"name":{"type":"string","description":"The name which should be used for this Front Door Rule Set. Changing this forces a new Front Door Rule Set to be created.\n"}},"required":["cdnFrontdoorProfileId","name"],"inputProperties":{"cdnFrontdoorProfileId":{"type":"string","description":"The ID of the Front Door Profile. Changing this forces a new Front Door Rule Set to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Front Door Rule Set. Changing this forces a new Front Door Rule Set to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["cdnFrontdoorProfileId"],"stateInputs":{"description":"Input properties used for looking up and filtering FrontdoorRuleSet resources.\n","properties":{"cdnFrontdoorProfileId":{"type":"string","description":"The ID of the Front Door Profile. Changing this forces a new Front Door Rule Set to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Front Door Rule Set. Changing this forces a new Front Door Rule Set to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:cdn/frontdoorSecret:FrontdoorSecret":{"description":"Manages a Front Door (standard/premium) Secret.\n\n## Required Key Vault Permissions\n\n!\u003e **Note:** You must add an `Access Policy` to your \u003cspan pulumi-lang-nodejs=\"`azure.keyvault.KeyVault`\" pulumi-lang-dotnet=\"`azure.keyvault.KeyVault`\" pulumi-lang-go=\"`keyvault.KeyVault`\" pulumi-lang-python=\"`keyvault.KeyVault`\" pulumi-lang-yaml=\"`azure.keyvault.KeyVault`\" pulumi-lang-java=\"`azure.keyvault.KeyVault`\"\u003e`azure.keyvault.KeyVault`\u003c/span\u003e for the `Microsoft.AzurefrontDoor-Cdn` Enterprise Application Object ID.\n\nThis can be created by running Az Powershell command like this:\n\n```New-AzADServicePrincipal -ApplicationId \"00000000-0000-0000-0000-000000000000\"```\n\n| Object ID                                | Key Permissions | Secret Permissions   | Certificate Permissions                       |\n|:-----------------------------------------|:---------------:|:--------------------:|:---------------------------------------------:|\n| `Microsoft.Azure.Cdn` Object ID          | -               | **Get**              | -                                             |\n| Your Personal AAD Object ID              | -               | **Get** and **List** | **Get**, **List**, **Purge** and **Recover**  |\n| Terraform Service Principal              | -               | **Get**              | **Get**, **Import**, **Delete** and **Purge** |\n\n-\u003e **Note:** You only need to add the `Access Policy` for your personal AAD Object ID if you are planning to view the `secrets` via the Azure Portal.\n\n## Import\n\nFront Door Secrets can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:cdn/frontdoorSecret:FrontdoorSecret example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup1/providers/Microsoft.Cdn/profiles/profile1/secrets/secrets1\n```\n\n","properties":{"cdnFrontdoorProfileId":{"type":"string","description":"The Resource ID of the Front Door Profile. Changing this forces a new Front Door Secret to be created.\n"},"cdnFrontdoorProfileName":{"type":"string","description":"The name of the Front Door Profile containing this Front Door Secret.\n"},"name":{"type":"string","description":"The name which should be used for this Front Door Secret. Possible values must start with a letter or a number, only contain letters, numbers and hyphens and have a length of between 2 and 260 characters. Changing this forces a new Front Door Secret to be created.\n"},"secret":{"$ref":"#/types/azure:cdn/FrontdoorSecretSecret:FrontdoorSecretSecret","description":"A \u003cspan pulumi-lang-nodejs=\"`secret`\" pulumi-lang-dotnet=\"`Secret`\" pulumi-lang-go=\"`secret`\" pulumi-lang-python=\"`secret`\" pulumi-lang-yaml=\"`secret`\" pulumi-lang-java=\"`secret`\"\u003e`secret`\u003c/span\u003e block as defined below. Changing this forces a new Front Door Secret to be created.\n"}},"required":["cdnFrontdoorProfileId","cdnFrontdoorProfileName","name","secret"],"inputProperties":{"cdnFrontdoorProfileId":{"type":"string","description":"The Resource ID of the Front Door Profile. Changing this forces a new Front Door Secret to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Front Door Secret. Possible values must start with a letter or a number, only contain letters, numbers and hyphens and have a length of between 2 and 260 characters. Changing this forces a new Front Door Secret to be created.\n","willReplaceOnChanges":true},"secret":{"$ref":"#/types/azure:cdn/FrontdoorSecretSecret:FrontdoorSecretSecret","description":"A \u003cspan pulumi-lang-nodejs=\"`secret`\" pulumi-lang-dotnet=\"`Secret`\" pulumi-lang-go=\"`secret`\" pulumi-lang-python=\"`secret`\" pulumi-lang-yaml=\"`secret`\" pulumi-lang-java=\"`secret`\"\u003e`secret`\u003c/span\u003e block as defined below. Changing this forces a new Front Door Secret to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["cdnFrontdoorProfileId","secret"],"stateInputs":{"description":"Input properties used for looking up and filtering FrontdoorSecret resources.\n","properties":{"cdnFrontdoorProfileId":{"type":"string","description":"The Resource ID of the Front Door Profile. Changing this forces a new Front Door Secret to be created.\n","willReplaceOnChanges":true},"cdnFrontdoorProfileName":{"type":"string","description":"The name of the Front Door Profile containing this Front Door Secret.\n"},"name":{"type":"string","description":"The name which should be used for this Front Door Secret. Possible values must start with a letter or a number, only contain letters, numbers and hyphens and have a length of between 2 and 260 characters. Changing this forces a new Front Door Secret to be created.\n","willReplaceOnChanges":true},"secret":{"$ref":"#/types/azure:cdn/FrontdoorSecretSecret:FrontdoorSecretSecret","description":"A \u003cspan pulumi-lang-nodejs=\"`secret`\" pulumi-lang-dotnet=\"`Secret`\" pulumi-lang-go=\"`secret`\" pulumi-lang-python=\"`secret`\" pulumi-lang-yaml=\"`secret`\" pulumi-lang-java=\"`secret`\"\u003e`secret`\u003c/span\u003e block as defined below. Changing this forces a new Front Door Secret to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:cdn/frontdoorSecurityPolicy:FrontdoorSecurityPolicy":{"description":"Manages a Front Door (standard/premium) Security Policy.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-cdn-frontdoor\",\n    location: \"West Europe\",\n});\nconst exampleFrontdoorProfile = new azure.cdn.FrontdoorProfile(\"example\", {\n    name: \"example-profile\",\n    resourceGroupName: example.name,\n    skuName: \"Standard_AzureFrontDoor\",\n});\nconst exampleFrontdoorFirewallPolicy = new azure.cdn.FrontdoorFirewallPolicy(\"example\", {\n    name: \"exampleWAF\",\n    resourceGroupName: example.name,\n    skuName: exampleFrontdoorProfile.skuName,\n    enabled: true,\n    mode: \"Prevention\",\n    redirectUrl: \"https://www.contoso.com\",\n    customBlockResponseStatusCode: 403,\n    customBlockResponseBody: \"PGh0bWw+CjxoZWFkZXI+PHRpdGxlPkhlbGxvPC90aXRsZT48L2hlYWRlcj4KPGJvZHk+CkhlbGxvIHdvcmxkCjwvYm9keT4KPC9odG1sPg==\",\n    customRules: [{\n        name: \"Rule1\",\n        enabled: true,\n        priority: 1,\n        rateLimitDurationInMinutes: 1,\n        rateLimitThreshold: 10,\n        type: \"MatchRule\",\n        action: \"Block\",\n        matchConditions: [{\n            matchVariable: \"RemoteAddr\",\n            operator: \"IPMatch\",\n            negationCondition: false,\n            matchValues: [\n                \"192.168.1.0/24\",\n                \"10.0.1.0/24\",\n            ],\n        }],\n    }],\n});\nconst exampleZone = new azure.dns.Zone(\"example\", {\n    name: \"sub-domain.domain.com\",\n    resourceGroupName: example.name,\n});\nconst exampleFrontdoorCustomDomain = new azure.cdn.FrontdoorCustomDomain(\"example\", {\n    name: \"example-customDomain\",\n    cdnFrontdoorProfileId: exampleFrontdoorProfile.id,\n    dnsZoneId: exampleZone.id,\n    hostName: \"contoso.fabrikam.com\",\n    tls: {\n        certificateType: \"ManagedCertificate\",\n        minimumTlsVersion: \"TLS12\",\n    },\n});\nconst exampleFrontdoorSecurityPolicy = new azure.cdn.FrontdoorSecurityPolicy(\"example\", {\n    name: \"Example-Security-Policy\",\n    cdnFrontdoorProfileId: exampleFrontdoorProfile.id,\n    securityPolicies: {\n        firewall: {\n            cdnFrontdoorFirewallPolicyId: exampleFrontdoorFirewallPolicy.id,\n            association: {\n                domains: [{\n                    cdnFrontdoorDomainId: exampleFrontdoorCustomDomain.id,\n                }],\n                patternsToMatch: \"/*\",\n            },\n        },\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-cdn-frontdoor\",\n    location=\"West Europe\")\nexample_frontdoor_profile = azure.cdn.FrontdoorProfile(\"example\",\n    name=\"example-profile\",\n    resource_group_name=example.name,\n    sku_name=\"Standard_AzureFrontDoor\")\nexample_frontdoor_firewall_policy = azure.cdn.FrontdoorFirewallPolicy(\"example\",\n    name=\"exampleWAF\",\n    resource_group_name=example.name,\n    sku_name=example_frontdoor_profile.sku_name,\n    enabled=True,\n    mode=\"Prevention\",\n    redirect_url=\"https://www.contoso.com\",\n    custom_block_response_status_code=403,\n    custom_block_response_body=\"PGh0bWw+CjxoZWFkZXI+PHRpdGxlPkhlbGxvPC90aXRsZT48L2hlYWRlcj4KPGJvZHk+CkhlbGxvIHdvcmxkCjwvYm9keT4KPC9odG1sPg==\",\n    custom_rules=[{\n        \"name\": \"Rule1\",\n        \"enabled\": True,\n        \"priority\": 1,\n        \"rate_limit_duration_in_minutes\": 1,\n        \"rate_limit_threshold\": 10,\n        \"type\": \"MatchRule\",\n        \"action\": \"Block\",\n        \"match_conditions\": [{\n            \"match_variable\": \"RemoteAddr\",\n            \"operator\": \"IPMatch\",\n            \"negation_condition\": False,\n            \"match_values\": [\n                \"192.168.1.0/24\",\n                \"10.0.1.0/24\",\n            ],\n        }],\n    }])\nexample_zone = azure.dns.Zone(\"example\",\n    name=\"sub-domain.domain.com\",\n    resource_group_name=example.name)\nexample_frontdoor_custom_domain = azure.cdn.FrontdoorCustomDomain(\"example\",\n    name=\"example-customDomain\",\n    cdn_frontdoor_profile_id=example_frontdoor_profile.id,\n    dns_zone_id=example_zone.id,\n    host_name=\"contoso.fabrikam.com\",\n    tls={\n        \"certificate_type\": \"ManagedCertificate\",\n        \"minimum_tls_version\": \"TLS12\",\n    })\nexample_frontdoor_security_policy = azure.cdn.FrontdoorSecurityPolicy(\"example\",\n    name=\"Example-Security-Policy\",\n    cdn_frontdoor_profile_id=example_frontdoor_profile.id,\n    security_policies={\n        \"firewall\": {\n            \"cdn_frontdoor_firewall_policy_id\": example_frontdoor_firewall_policy.id,\n            \"association\": {\n                \"domains\": [{\n                    \"cdn_frontdoor_domain_id\": example_frontdoor_custom_domain.id,\n                }],\n                \"patterns_to_match\": \"/*\",\n            },\n        },\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-cdn-frontdoor\",\n        Location = \"West Europe\",\n    });\n\n    var exampleFrontdoorProfile = new Azure.Cdn.FrontdoorProfile(\"example\", new()\n    {\n        Name = \"example-profile\",\n        ResourceGroupName = example.Name,\n        SkuName = \"Standard_AzureFrontDoor\",\n    });\n\n    var exampleFrontdoorFirewallPolicy = new Azure.Cdn.FrontdoorFirewallPolicy(\"example\", new()\n    {\n        Name = \"exampleWAF\",\n        ResourceGroupName = example.Name,\n        SkuName = exampleFrontdoorProfile.SkuName,\n        Enabled = true,\n        Mode = \"Prevention\",\n        RedirectUrl = \"https://www.contoso.com\",\n        CustomBlockResponseStatusCode = 403,\n        CustomBlockResponseBody = \"PGh0bWw+CjxoZWFkZXI+PHRpdGxlPkhlbGxvPC90aXRsZT48L2hlYWRlcj4KPGJvZHk+CkhlbGxvIHdvcmxkCjwvYm9keT4KPC9odG1sPg==\",\n        CustomRules = new[]\n        {\n            new Azure.Cdn.Inputs.FrontdoorFirewallPolicyCustomRuleArgs\n            {\n                Name = \"Rule1\",\n                Enabled = true,\n                Priority = 1,\n                RateLimitDurationInMinutes = 1,\n                RateLimitThreshold = 10,\n                Type = \"MatchRule\",\n                Action = \"Block\",\n                MatchConditions = new[]\n                {\n                    new Azure.Cdn.Inputs.FrontdoorFirewallPolicyCustomRuleMatchConditionArgs\n                    {\n                        MatchVariable = \"RemoteAddr\",\n                        Operator = \"IPMatch\",\n                        NegationCondition = false,\n                        MatchValues = new[]\n                        {\n                            \"192.168.1.0/24\",\n                            \"10.0.1.0/24\",\n                        },\n                    },\n                },\n            },\n        },\n    });\n\n    var exampleZone = new Azure.Dns.Zone(\"example\", new()\n    {\n        Name = \"sub-domain.domain.com\",\n        ResourceGroupName = example.Name,\n    });\n\n    var exampleFrontdoorCustomDomain = new Azure.Cdn.FrontdoorCustomDomain(\"example\", new()\n    {\n        Name = \"example-customDomain\",\n        CdnFrontdoorProfileId = exampleFrontdoorProfile.Id,\n        DnsZoneId = exampleZone.Id,\n        HostName = \"contoso.fabrikam.com\",\n        Tls = new Azure.Cdn.Inputs.FrontdoorCustomDomainTlsArgs\n        {\n            CertificateType = \"ManagedCertificate\",\n            MinimumTlsVersion = \"TLS12\",\n        },\n    });\n\n    var exampleFrontdoorSecurityPolicy = new Azure.Cdn.FrontdoorSecurityPolicy(\"example\", new()\n    {\n        Name = \"Example-Security-Policy\",\n        CdnFrontdoorProfileId = exampleFrontdoorProfile.Id,\n        SecurityPolicies = new Azure.Cdn.Inputs.FrontdoorSecurityPolicySecurityPoliciesArgs\n        {\n            Firewall = new Azure.Cdn.Inputs.FrontdoorSecurityPolicySecurityPoliciesFirewallArgs\n            {\n                CdnFrontdoorFirewallPolicyId = exampleFrontdoorFirewallPolicy.Id,\n                Association = new Azure.Cdn.Inputs.FrontdoorSecurityPolicySecurityPoliciesFirewallAssociationArgs\n                {\n                    Domains = new[]\n                    {\n                        new Azure.Cdn.Inputs.FrontdoorSecurityPolicySecurityPoliciesFirewallAssociationDomainArgs\n                        {\n                            CdnFrontdoorDomainId = exampleFrontdoorCustomDomain.Id,\n                        },\n                    },\n                    PatternsToMatch = \"/*\",\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/cdn\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/dns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-cdn-frontdoor\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleFrontdoorProfile, err := cdn.NewFrontdoorProfile(ctx, \"example\", \u0026cdn.FrontdoorProfileArgs{\n\t\t\tName:              pulumi.String(\"example-profile\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSkuName:           pulumi.String(\"Standard_AzureFrontDoor\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleFrontdoorFirewallPolicy, err := cdn.NewFrontdoorFirewallPolicy(ctx, \"example\", \u0026cdn.FrontdoorFirewallPolicyArgs{\n\t\t\tName:                          pulumi.String(\"exampleWAF\"),\n\t\t\tResourceGroupName:             example.Name,\n\t\t\tSkuName:                       exampleFrontdoorProfile.SkuName,\n\t\t\tEnabled:                       pulumi.Bool(true),\n\t\t\tMode:                          pulumi.String(\"Prevention\"),\n\t\t\tRedirectUrl:                   pulumi.String(\"https://www.contoso.com\"),\n\t\t\tCustomBlockResponseStatusCode: pulumi.Int(403),\n\t\t\tCustomBlockResponseBody:       pulumi.String(\"PGh0bWw+CjxoZWFkZXI+PHRpdGxlPkhlbGxvPC90aXRsZT48L2hlYWRlcj4KPGJvZHk+CkhlbGxvIHdvcmxkCjwvYm9keT4KPC9odG1sPg==\"),\n\t\t\tCustomRules: cdn.FrontdoorFirewallPolicyCustomRuleArray{\n\t\t\t\t\u0026cdn.FrontdoorFirewallPolicyCustomRuleArgs{\n\t\t\t\t\tName:                       pulumi.String(\"Rule1\"),\n\t\t\t\t\tEnabled:                    pulumi.Bool(true),\n\t\t\t\t\tPriority:                   pulumi.Int(1),\n\t\t\t\t\tRateLimitDurationInMinutes: pulumi.Int(1),\n\t\t\t\t\tRateLimitThreshold:         pulumi.Int(10),\n\t\t\t\t\tType:                       pulumi.String(\"MatchRule\"),\n\t\t\t\t\tAction:                     pulumi.String(\"Block\"),\n\t\t\t\t\tMatchConditions: cdn.FrontdoorFirewallPolicyCustomRuleMatchConditionArray{\n\t\t\t\t\t\t\u0026cdn.FrontdoorFirewallPolicyCustomRuleMatchConditionArgs{\n\t\t\t\t\t\t\tMatchVariable:     pulumi.String(\"RemoteAddr\"),\n\t\t\t\t\t\t\tOperator:          pulumi.String(\"IPMatch\"),\n\t\t\t\t\t\t\tNegationCondition: pulumi.Bool(false),\n\t\t\t\t\t\t\tMatchValues: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"192.168.1.0/24\"),\n\t\t\t\t\t\t\t\tpulumi.String(\"10.0.1.0/24\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleZone, err := dns.NewZone(ctx, \"example\", \u0026dns.ZoneArgs{\n\t\t\tName:              pulumi.String(\"sub-domain.domain.com\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleFrontdoorCustomDomain, err := cdn.NewFrontdoorCustomDomain(ctx, \"example\", \u0026cdn.FrontdoorCustomDomainArgs{\n\t\t\tName:                  pulumi.String(\"example-customDomain\"),\n\t\t\tCdnFrontdoorProfileId: exampleFrontdoorProfile.ID(),\n\t\t\tDnsZoneId:             exampleZone.ID(),\n\t\t\tHostName:              pulumi.String(\"contoso.fabrikam.com\"),\n\t\t\tTls: \u0026cdn.FrontdoorCustomDomainTlsArgs{\n\t\t\t\tCertificateType:   pulumi.String(\"ManagedCertificate\"),\n\t\t\t\tMinimumTlsVersion: pulumi.String(\"TLS12\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cdn.NewFrontdoorSecurityPolicy(ctx, \"example\", \u0026cdn.FrontdoorSecurityPolicyArgs{\n\t\t\tName:                  pulumi.String(\"Example-Security-Policy\"),\n\t\t\tCdnFrontdoorProfileId: exampleFrontdoorProfile.ID(),\n\t\t\tSecurityPolicies: \u0026cdn.FrontdoorSecurityPolicySecurityPoliciesArgs{\n\t\t\t\tFirewall: \u0026cdn.FrontdoorSecurityPolicySecurityPoliciesFirewallArgs{\n\t\t\t\t\tCdnFrontdoorFirewallPolicyId: exampleFrontdoorFirewallPolicy.ID(),\n\t\t\t\t\tAssociation: \u0026cdn.FrontdoorSecurityPolicySecurityPoliciesFirewallAssociationArgs{\n\t\t\t\t\t\tDomains: cdn.FrontdoorSecurityPolicySecurityPoliciesFirewallAssociationDomainArray{\n\t\t\t\t\t\t\t\u0026cdn.FrontdoorSecurityPolicySecurityPoliciesFirewallAssociationDomainArgs{\n\t\t\t\t\t\t\t\tCdnFrontdoorDomainId: exampleFrontdoorCustomDomain.ID(),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tPatternsToMatch: pulumi.String(\"/*\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.cdn.FrontdoorProfile;\nimport com.pulumi.azure.cdn.FrontdoorProfileArgs;\nimport com.pulumi.azure.cdn.FrontdoorFirewallPolicy;\nimport com.pulumi.azure.cdn.FrontdoorFirewallPolicyArgs;\nimport com.pulumi.azure.cdn.inputs.FrontdoorFirewallPolicyCustomRuleArgs;\nimport com.pulumi.azure.dns.Zone;\nimport com.pulumi.azure.dns.ZoneArgs;\nimport com.pulumi.azure.cdn.FrontdoorCustomDomain;\nimport com.pulumi.azure.cdn.FrontdoorCustomDomainArgs;\nimport com.pulumi.azure.cdn.inputs.FrontdoorCustomDomainTlsArgs;\nimport com.pulumi.azure.cdn.FrontdoorSecurityPolicy;\nimport com.pulumi.azure.cdn.FrontdoorSecurityPolicyArgs;\nimport com.pulumi.azure.cdn.inputs.FrontdoorSecurityPolicySecurityPoliciesArgs;\nimport com.pulumi.azure.cdn.inputs.FrontdoorSecurityPolicySecurityPoliciesFirewallArgs;\nimport com.pulumi.azure.cdn.inputs.FrontdoorSecurityPolicySecurityPoliciesFirewallAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-cdn-frontdoor\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleFrontdoorProfile = new FrontdoorProfile(\"exampleFrontdoorProfile\", FrontdoorProfileArgs.builder()\n            .name(\"example-profile\")\n            .resourceGroupName(example.name())\n            .skuName(\"Standard_AzureFrontDoor\")\n            .build());\n\n        var exampleFrontdoorFirewallPolicy = new FrontdoorFirewallPolicy(\"exampleFrontdoorFirewallPolicy\", FrontdoorFirewallPolicyArgs.builder()\n            .name(\"exampleWAF\")\n            .resourceGroupName(example.name())\n            .skuName(exampleFrontdoorProfile.skuName())\n            .enabled(true)\n            .mode(\"Prevention\")\n            .redirectUrl(\"https://www.contoso.com\")\n            .customBlockResponseStatusCode(403)\n            .customBlockResponseBody(\"PGh0bWw+CjxoZWFkZXI+PHRpdGxlPkhlbGxvPC90aXRsZT48L2hlYWRlcj4KPGJvZHk+CkhlbGxvIHdvcmxkCjwvYm9keT4KPC9odG1sPg==\")\n            .customRules(FrontdoorFirewallPolicyCustomRuleArgs.builder()\n                .name(\"Rule1\")\n                .enabled(true)\n                .priority(1)\n                .rateLimitDurationInMinutes(1)\n                .rateLimitThreshold(10)\n                .type(\"MatchRule\")\n                .action(\"Block\")\n                .matchConditions(FrontdoorFirewallPolicyCustomRuleMatchConditionArgs.builder()\n                    .matchVariable(\"RemoteAddr\")\n                    .operator(\"IPMatch\")\n                    .negationCondition(false)\n                    .matchValues(                    \n                        \"192.168.1.0/24\",\n                        \"10.0.1.0/24\")\n                    .build())\n                .build())\n            .build());\n\n        var exampleZone = new Zone(\"exampleZone\", ZoneArgs.builder()\n            .name(\"sub-domain.domain.com\")\n            .resourceGroupName(example.name())\n            .build());\n\n        var exampleFrontdoorCustomDomain = new FrontdoorCustomDomain(\"exampleFrontdoorCustomDomain\", FrontdoorCustomDomainArgs.builder()\n            .name(\"example-customDomain\")\n            .cdnFrontdoorProfileId(exampleFrontdoorProfile.id())\n            .dnsZoneId(exampleZone.id())\n            .hostName(\"contoso.fabrikam.com\")\n            .tls(FrontdoorCustomDomainTlsArgs.builder()\n                .certificateType(\"ManagedCertificate\")\n                .minimumTlsVersion(\"TLS12\")\n                .build())\n            .build());\n\n        var exampleFrontdoorSecurityPolicy = new FrontdoorSecurityPolicy(\"exampleFrontdoorSecurityPolicy\", FrontdoorSecurityPolicyArgs.builder()\n            .name(\"Example-Security-Policy\")\n            .cdnFrontdoorProfileId(exampleFrontdoorProfile.id())\n            .securityPolicies(FrontdoorSecurityPolicySecurityPoliciesArgs.builder()\n                .firewall(FrontdoorSecurityPolicySecurityPoliciesFirewallArgs.builder()\n                    .cdnFrontdoorFirewallPolicyId(exampleFrontdoorFirewallPolicy.id())\n                    .association(FrontdoorSecurityPolicySecurityPoliciesFirewallAssociationArgs.builder()\n                        .domains(FrontdoorSecurityPolicySecurityPoliciesFirewallAssociationDomainArgs.builder()\n                            .cdnFrontdoorDomainId(exampleFrontdoorCustomDomain.id())\n                            .build())\n                        .patternsToMatch(\"/*\")\n                        .build())\n                    .build())\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-cdn-frontdoor\n      location: West Europe\n  exampleFrontdoorProfile:\n    type: azure:cdn:FrontdoorProfile\n    name: example\n    properties:\n      name: example-profile\n      resourceGroupName: ${example.name}\n      skuName: Standard_AzureFrontDoor\n  exampleFrontdoorFirewallPolicy:\n    type: azure:cdn:FrontdoorFirewallPolicy\n    name: example\n    properties:\n      name: exampleWAF\n      resourceGroupName: ${example.name}\n      skuName: ${exampleFrontdoorProfile.skuName}\n      enabled: true\n      mode: Prevention\n      redirectUrl: https://www.contoso.com\n      customBlockResponseStatusCode: 403\n      customBlockResponseBody: PGh0bWw+CjxoZWFkZXI+PHRpdGxlPkhlbGxvPC90aXRsZT48L2hlYWRlcj4KPGJvZHk+CkhlbGxvIHdvcmxkCjwvYm9keT4KPC9odG1sPg==\n      customRules:\n        - name: Rule1\n          enabled: true\n          priority: 1\n          rateLimitDurationInMinutes: 1\n          rateLimitThreshold: 10\n          type: MatchRule\n          action: Block\n          matchConditions:\n            - matchVariable: RemoteAddr\n              operator: IPMatch\n              negationCondition: false\n              matchValues:\n                - 192.168.1.0/24\n                - 10.0.1.0/24\n  exampleZone:\n    type: azure:dns:Zone\n    name: example\n    properties:\n      name: sub-domain.domain.com\n      resourceGroupName: ${example.name}\n  exampleFrontdoorCustomDomain:\n    type: azure:cdn:FrontdoorCustomDomain\n    name: example\n    properties:\n      name: example-customDomain\n      cdnFrontdoorProfileId: ${exampleFrontdoorProfile.id}\n      dnsZoneId: ${exampleZone.id}\n      hostName: contoso.fabrikam.com\n      tls:\n        certificateType: ManagedCertificate\n        minimumTlsVersion: TLS12\n  exampleFrontdoorSecurityPolicy:\n    type: azure:cdn:FrontdoorSecurityPolicy\n    name: example\n    properties:\n      name: Example-Security-Policy\n      cdnFrontdoorProfileId: ${exampleFrontdoorProfile.id}\n      securityPolicies:\n        firewall:\n          cdnFrontdoorFirewallPolicyId: ${exampleFrontdoorFirewallPolicy.id}\n          association:\n            domains:\n              - cdnFrontdoorDomainId: ${exampleFrontdoorCustomDomain.id}\n            patternsToMatch: /*\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Cdn` - 2024-02-01\n\n## Import\n\nFront Door Security Policies can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:cdn/frontdoorSecurityPolicy:FrontdoorSecurityPolicy example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup1/providers/Microsoft.Cdn/profiles/profile1/securityPolicies/policy1\n```\n\n","properties":{"cdnFrontdoorProfileId":{"type":"string","description":"The Front Door Profile Resource Id that is linked to this Front Door Security Policy. Changing this forces a new Front Door Security Policy to be created.\n"},"name":{"type":"string","description":"The name which should be used for this Front Door Security Policy. Possible values must not be an empty string. Changing this forces a new Front Door Security Policy to be created.\n"},"securityPolicies":{"$ref":"#/types/azure:cdn/FrontdoorSecurityPolicySecurityPolicies:FrontdoorSecurityPolicySecurityPolicies","description":"An \u003cspan pulumi-lang-nodejs=\"`securityPolicies`\" pulumi-lang-dotnet=\"`SecurityPolicies`\" pulumi-lang-go=\"`securityPolicies`\" pulumi-lang-python=\"`security_policies`\" pulumi-lang-yaml=\"`securityPolicies`\" pulumi-lang-java=\"`securityPolicies`\"\u003e`security_policies`\u003c/span\u003e block as defined below.\n"}},"required":["cdnFrontdoorProfileId","name","securityPolicies"],"inputProperties":{"cdnFrontdoorProfileId":{"type":"string","description":"The Front Door Profile Resource Id that is linked to this Front Door Security Policy. Changing this forces a new Front Door Security Policy to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Front Door Security Policy. Possible values must not be an empty string. Changing this forces a new Front Door Security Policy to be created.\n","willReplaceOnChanges":true},"securityPolicies":{"$ref":"#/types/azure:cdn/FrontdoorSecurityPolicySecurityPolicies:FrontdoorSecurityPolicySecurityPolicies","description":"An \u003cspan pulumi-lang-nodejs=\"`securityPolicies`\" pulumi-lang-dotnet=\"`SecurityPolicies`\" pulumi-lang-go=\"`securityPolicies`\" pulumi-lang-python=\"`security_policies`\" pulumi-lang-yaml=\"`securityPolicies`\" pulumi-lang-java=\"`securityPolicies`\"\u003e`security_policies`\u003c/span\u003e block as defined below.\n"}},"requiredInputs":["cdnFrontdoorProfileId","securityPolicies"],"stateInputs":{"description":"Input properties used for looking up and filtering FrontdoorSecurityPolicy resources.\n","properties":{"cdnFrontdoorProfileId":{"type":"string","description":"The Front Door Profile Resource Id that is linked to this Front Door Security Policy. Changing this forces a new Front Door Security Policy to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Front Door Security Policy. Possible values must not be an empty string. Changing this forces a new Front Door Security Policy to be created.\n","willReplaceOnChanges":true},"securityPolicies":{"$ref":"#/types/azure:cdn/FrontdoorSecurityPolicySecurityPolicies:FrontdoorSecurityPolicySecurityPolicies","description":"An \u003cspan pulumi-lang-nodejs=\"`securityPolicies`\" pulumi-lang-dotnet=\"`SecurityPolicies`\" pulumi-lang-go=\"`securityPolicies`\" pulumi-lang-python=\"`security_policies`\" pulumi-lang-yaml=\"`securityPolicies`\" pulumi-lang-java=\"`securityPolicies`\"\u003e`security_policies`\u003c/span\u003e block as defined below.\n"}},"type":"object"}},"azure:cdn/profile:Profile":{"description":"Manages a CDN (classic) Profile to create a collection of CDN Endpoints.\n\n!\u003e **Note:** Azure rolled out a breaking change on Friday 9th April 2021 which may cause issues with the CDN/FrontDoor resources. More information is available in this GitHub issue - unfortunately this may necessitate a breaking change to the CDN and FrontDoor resources, more information will be posted in the GitHub issue as the necessary changes are identified.\n\n!\u003e **Note:** Support for the CDN (classic) \u003cspan pulumi-lang-nodejs=\"`sku`\" pulumi-lang-dotnet=\"`Sku`\" pulumi-lang-go=\"`sku`\" pulumi-lang-python=\"`sku`\" pulumi-lang-yaml=\"`sku`\" pulumi-lang-java=\"`sku`\"\u003e`sku`\u003c/span\u003e `Standard_Akamai` was deprecated from Azure on `October 31, 2023` and is no longer available.\n\n!\u003e **Note:** Support for the CDN (classic) \u003cspan pulumi-lang-nodejs=\"`sku`\" pulumi-lang-dotnet=\"`Sku`\" pulumi-lang-go=\"`sku`\" pulumi-lang-python=\"`sku`\" pulumi-lang-yaml=\"`sku`\" pulumi-lang-java=\"`sku`\"\u003e`sku`\u003c/span\u003e `Standard_Verizon` and `Premium_Verizon` was deprecated from Azure on `January 15, 2025` and is no longer available.\n\n!\u003e **Note:** Support for the CDN (classic) \u003cspan pulumi-lang-nodejs=\"`sku`\" pulumi-lang-dotnet=\"`Sku`\" pulumi-lang-go=\"`sku`\" pulumi-lang-python=\"`sku`\" pulumi-lang-yaml=\"`sku`\" pulumi-lang-java=\"`sku`\"\u003e`sku`\u003c/span\u003e `Standard_Microsoft` and `Standard_ChinaCdn` will be deprecated from Azure on `October 1, 2025` and will no longer be available, however modifications to existing CDN (classic) resources will continue to be supported until the API reaches full retirement on `September 30, 2027`.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleProfile = new azure.cdn.Profile(\"example\", {\n    name: \"exampleCdnProfile\",\n    location: example.location,\n    resourceGroupName: example.name,\n    sku: \"Standard_Microsoft\",\n    tags: {\n        environment: \"Production\",\n        cost_center: \"MSFT\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_profile = azure.cdn.Profile(\"example\",\n    name=\"exampleCdnProfile\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku=\"Standard_Microsoft\",\n    tags={\n        \"environment\": \"Production\",\n        \"cost_center\": \"MSFT\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleProfile = new Azure.Cdn.Profile(\"example\", new()\n    {\n        Name = \"exampleCdnProfile\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Sku = \"Standard_Microsoft\",\n        Tags = \n        {\n            { \"environment\", \"Production\" },\n            { \"cost_center\", \"MSFT\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/cdn\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cdn.NewProfile(ctx, \"example\", \u0026cdn.ProfileArgs{\n\t\t\tName:              pulumi.String(\"exampleCdnProfile\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSku:               pulumi.String(\"Standard_Microsoft\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"environment\": pulumi.String(\"Production\"),\n\t\t\t\t\"cost_center\": pulumi.String(\"MSFT\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.cdn.Profile;\nimport com.pulumi.azure.cdn.ProfileArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleProfile = new Profile(\"exampleProfile\", ProfileArgs.builder()\n            .name(\"exampleCdnProfile\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .sku(\"Standard_Microsoft\")\n            .tags(Map.ofEntries(\n                Map.entry(\"environment\", \"Production\"),\n                Map.entry(\"cost_center\", \"MSFT\")\n            ))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleProfile:\n    type: azure:cdn:Profile\n    name: example\n    properties:\n      name: exampleCdnProfile\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      sku: Standard_Microsoft\n      tags:\n        environment: Production\n        cost_center: MSFT\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCDN Profiles can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:cdn/profile:Profile example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Cdn/profiles/myprofile1\n```\n\n","properties":{"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"Specifies the name of the CDN Profile. Changing this forces a new resource to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the CDN Profile. Changing this forces a new resource to be created.\n"},"sku":{"type":"string","description":"The pricing related information of current CDN profile. Accepted values are `Standard_Akamai`, `Standard_ChinaCdn`, `Standard_Microsoft`, `Standard_Verizon` or `Premium_Verizon`. Changing this forces a new resource to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"required":["location","name","resourceGroupName","sku"],"inputProperties":{"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the CDN Profile. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the CDN Profile. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sku":{"type":"string","description":"The pricing related information of current CDN profile. Accepted values are `Standard_Akamai`, `Standard_ChinaCdn`, `Standard_Microsoft`, `Standard_Verizon` or `Premium_Verizon`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"requiredInputs":["resourceGroupName","sku"],"stateInputs":{"description":"Input properties used for looking up and filtering Profile resources.\n","properties":{"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the CDN Profile. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the CDN Profile. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sku":{"type":"string","description":"The pricing related information of current CDN profile. Accepted values are `Standard_Akamai`, `Standard_ChinaCdn`, `Standard_Microsoft`, `Standard_Verizon` or `Premium_Verizon`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"type":"object"}},"azure:chaosstudio/capability:Capability":{"description":"Manages a Chaos Studio Capability.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst example = new azure.containerservice.KubernetesCluster(\"example\", {\n    name: \"example\",\n    location: exampleResourceGroup.location,\n    resourceGroupName: exampleResourceGroup.name,\n    dnsPrefix: \"acctestaksexample\",\n    defaultNodePool: {\n        name: \"example-value\",\n        nodeCount: \"example-value\",\n        vmSize: \"example-value\",\n    },\n    identity: {\n        type: \"example-value\",\n    },\n});\nconst exampleTarget = new azure.chaosstudio.Target(\"example\", {\n    location: exampleResourceGroup.location,\n    targetResourceId: example.id,\n    targetType: \"example-value\",\n});\nconst exampleCapability = new azure.chaosstudio.Capability(\"example\", {\n    capabilityType: \"example-value\",\n    chaosStudioTargetId: exampleTarget.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample = azure.containerservice.KubernetesCluster(\"example\",\n    name=\"example\",\n    location=example_resource_group.location,\n    resource_group_name=example_resource_group.name,\n    dns_prefix=\"acctestaksexample\",\n    default_node_pool={\n        \"name\": \"example-value\",\n        \"node_count\": \"example-value\",\n        \"vm_size\": \"example-value\",\n    },\n    identity={\n        \"type\": \"example-value\",\n    })\nexample_target = azure.chaosstudio.Target(\"example\",\n    location=example_resource_group.location,\n    target_resource_id=example.id,\n    target_type=\"example-value\")\nexample_capability = azure.chaosstudio.Capability(\"example\",\n    capability_type=\"example-value\",\n    chaos_studio_target_id=example_target.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleResourceGroup = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var example = new Azure.ContainerService.KubernetesCluster(\"example\", new()\n    {\n        Name = \"example\",\n        Location = exampleResourceGroup.Location,\n        ResourceGroupName = exampleResourceGroup.Name,\n        DnsPrefix = \"acctestaksexample\",\n        DefaultNodePool = new Azure.ContainerService.Inputs.KubernetesClusterDefaultNodePoolArgs\n        {\n            Name = \"example-value\",\n            NodeCount = \"example-value\",\n            VmSize = \"example-value\",\n        },\n        Identity = new Azure.ContainerService.Inputs.KubernetesClusterIdentityArgs\n        {\n            Type = \"example-value\",\n        },\n    });\n\n    var exampleTarget = new Azure.ChaosStudio.Target(\"example\", new()\n    {\n        Location = exampleResourceGroup.Location,\n        TargetResourceId = example.Id,\n        TargetType = \"example-value\",\n    });\n\n    var exampleCapability = new Azure.ChaosStudio.Capability(\"example\", new()\n    {\n        CapabilityType = \"example-value\",\n        ChaosStudioTargetId = exampleTarget.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/chaosstudio\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/containerservice\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := containerservice.NewKubernetesCluster(ctx, \"example\", \u0026containerservice.KubernetesClusterArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tLocation:          exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tDnsPrefix:         pulumi.String(\"acctestaksexample\"),\n\t\t\tDefaultNodePool: \u0026containerservice.KubernetesClusterDefaultNodePoolArgs{\n\t\t\t\tName:      pulumi.String(\"example-value\"),\n\t\t\t\tNodeCount: pulumi.Int(\"example-value\"),\n\t\t\t\tVmSize:    pulumi.String(\"example-value\"),\n\t\t\t},\n\t\t\tIdentity: \u0026containerservice.KubernetesClusterIdentityArgs{\n\t\t\t\tType: pulumi.String(\"example-value\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleTarget, err := chaosstudio.NewTarget(ctx, \"example\", \u0026chaosstudio.TargetArgs{\n\t\t\tLocation:         exampleResourceGroup.Location,\n\t\t\tTargetResourceId: example.ID(),\n\t\t\tTargetType:       pulumi.String(\"example-value\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = chaosstudio.NewCapability(ctx, \"example\", \u0026chaosstudio.CapabilityArgs{\n\t\t\tCapabilityType:      pulumi.String(\"example-value\"),\n\t\t\tChaosStudioTargetId: exampleTarget.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.containerservice.KubernetesCluster;\nimport com.pulumi.azure.containerservice.KubernetesClusterArgs;\nimport com.pulumi.azure.containerservice.inputs.KubernetesClusterDefaultNodePoolArgs;\nimport com.pulumi.azure.containerservice.inputs.KubernetesClusterIdentityArgs;\nimport com.pulumi.azure.chaosstudio.Target;\nimport com.pulumi.azure.chaosstudio.TargetArgs;\nimport com.pulumi.azure.chaosstudio.Capability;\nimport com.pulumi.azure.chaosstudio.CapabilityArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var exampleResourceGroup = new ResourceGroup(\"exampleResourceGroup\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var example = new KubernetesCluster(\"example\", KubernetesClusterArgs.builder()\n            .name(\"example\")\n            .location(exampleResourceGroup.location())\n            .resourceGroupName(exampleResourceGroup.name())\n            .dnsPrefix(\"acctestaksexample\")\n            .defaultNodePool(KubernetesClusterDefaultNodePoolArgs.builder()\n                .name(\"example-value\")\n                .nodeCount(\"example-value\")\n                .vmSize(\"example-value\")\n                .build())\n            .identity(KubernetesClusterIdentityArgs.builder()\n                .type(\"example-value\")\n                .build())\n            .build());\n\n        var exampleTarget = new Target(\"exampleTarget\", TargetArgs.builder()\n            .location(exampleResourceGroup.location())\n            .targetResourceId(example.id())\n            .targetType(\"example-value\")\n            .build());\n\n        var exampleCapability = new Capability(\"exampleCapability\", CapabilityArgs.builder()\n            .capabilityType(\"example-value\")\n            .chaosStudioTargetId(exampleTarget.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:containerservice:KubernetesCluster\n    properties:\n      name: example\n      location: ${exampleResourceGroup.location}\n      resourceGroupName: ${exampleResourceGroup.name}\n      dnsPrefix: acctestaksexample\n      defaultNodePool:\n        name: example-value\n        nodeCount: example-value\n        vmSize: example-value\n      identity:\n        type: example-value\n  exampleResourceGroup:\n    type: azure:core:ResourceGroup\n    name: example\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleTarget:\n    type: azure:chaosstudio:Target\n    name: example\n    properties:\n      location: ${exampleResourceGroup.location}\n      targetResourceId: ${example.id}\n      targetType: example-value\n  exampleCapability:\n    type: azure:chaosstudio:Capability\n    name: example\n    properties:\n      capabilityType: example-value\n      chaosStudioTargetId: ${exampleTarget.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Chaos` - 2023-11-01\n\n## Import\n\nAn existing Chaos Studio Target can be imported into Pulumi using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:chaosstudio/capability:Capability example /{scope}/providers/Microsoft.Chaos/targets/{targetName}/capabilities/{capabilityName}\n```\n\n* Where `{scope}` is the ID of the Azure Resource under which the Chaos Studio Target exists. For example `/subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/some-resource-group`.\n* Where `{targetName}` is the name of the Target. For example `targetValue`.\n* Where `{capabilityName}` is the name of the Capability. For example `capabilityName`.\n\n","properties":{"capabilityType":{"type":"string","description":"The capability that should be applied to the Chaos Studio Target. For supported values please see this Chaos Studio [Fault Library](https://learn.microsoft.com/azure/chaos-studio/chaos-studio-fault-library). Changing this forces a new Chaos Studio Capability to be created.\n"},"capabilityUrn":{"type":"string","description":"The Unique Resource Name of the Capability.\n"},"chaosStudioTargetId":{"type":"string","description":"The Chaos Studio Target that the capability should be applied to. Changing this forces a new Chaos Studio Capability to be created.\n"}},"required":["capabilityType","chaosStudioTargetId","capabilityUrn"],"inputProperties":{"capabilityType":{"type":"string","description":"The capability that should be applied to the Chaos Studio Target. For supported values please see this Chaos Studio [Fault Library](https://learn.microsoft.com/azure/chaos-studio/chaos-studio-fault-library). Changing this forces a new Chaos Studio Capability to be created.\n","willReplaceOnChanges":true},"chaosStudioTargetId":{"type":"string","description":"The Chaos Studio Target that the capability should be applied to. Changing this forces a new Chaos Studio Capability to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["capabilityType","chaosStudioTargetId"],"stateInputs":{"description":"Input properties used for looking up and filtering Capability resources.\n","properties":{"capabilityType":{"type":"string","description":"The capability that should be applied to the Chaos Studio Target. For supported values please see this Chaos Studio [Fault Library](https://learn.microsoft.com/azure/chaos-studio/chaos-studio-fault-library). Changing this forces a new Chaos Studio Capability to be created.\n","willReplaceOnChanges":true},"capabilityUrn":{"type":"string","description":"The Unique Resource Name of the Capability.\n"},"chaosStudioTargetId":{"type":"string","description":"The Chaos Studio Target that the capability should be applied to. Changing this forces a new Chaos Studio Capability to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:chaosstudio/experiment:Experiment":{"description":"Manages a Chaos Studio Experiment.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example\",\n    location: \"westeurope\",\n});\nconst exampleUserAssignedIdentity = new azure.authorization.UserAssignedIdentity(\"example\", {\n    resourceGroupName: example.name,\n    location: example.location,\n    name: \"example\",\n});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"example\", {\n    name: \"example\",\n    addressSpaces: [\"10.0.0.0/16\"],\n    location: example.location,\n    resourceGroupName: example.name,\n});\nconst exampleSubnet = new azure.network.Subnet(\"example\", {\n    name: \"internal\",\n    resourceGroupName: example.name,\n    virtualNetworkName: exampleVirtualNetwork.name,\n    addressPrefixes: [\"10.0.2.0/24\"],\n});\nconst exampleNetworkInterface = new azure.network.NetworkInterface(\"example\", {\n    name: \"example\",\n    location: example.location,\n    resourceGroupName: example.name,\n    ipConfigurations: [{\n        name: \"example\",\n        subnetId: exampleSubnet.id,\n        privateIpAddressAllocation: \"Dynamic\",\n    }],\n});\nconst exampleLinuxVirtualMachine = new azure.compute.LinuxVirtualMachine(\"example\", {\n    name: \"example\",\n    resourceGroupName: example.name,\n    location: example.location,\n    size: \"Standard_F2\",\n    adminUsername: \"adminuser\",\n    adminPassword: \"example\",\n    disablePasswordAuthentication: false,\n    networkInterfaceIds: [exampleNetworkInterface.id],\n    osDisk: {\n        caching: \"ReadWrite\",\n        storageAccountType: \"Standard_LRS\",\n    },\n    sourceImageReference: {\n        publisher: \"Canonical\",\n        offer: \"0001-com-ubuntu-server-jammy\",\n        sku: \"22_04-lts\",\n        version: \"latest\",\n    },\n});\nconst exampleTarget = new azure.chaosstudio.Target(\"example\", {\n    location: example.location,\n    targetResourceId: exampleLinuxVirtualMachine.id,\n    targetType: \"Microsoft-VirtualMachine\",\n});\nconst exampleCapability = new azure.chaosstudio.Capability(\"example\", {\n    chaosStudioTargetId: exampleTarget.id,\n    capabilityType: \"Shutdown-1.0\",\n});\nconst exampleExperiment = new azure.chaosstudio.Experiment(\"example\", {\n    location: example.location,\n    name: \"example\",\n    resourceGroupName: example.name,\n    identity: {\n        type: \"SystemAssigned\",\n    },\n    selectors: [{\n        name: \"Selector1\",\n        chaosStudioTargetIds: [exampleTarget.id],\n    }],\n    steps: [{\n        name: \"example\",\n        branches: [{\n            name: \"example\",\n            actions: [{\n                urn: exampleCapability.capabilityUrn,\n                selectorName: \"Selector1\",\n                parameters: {\n                    abruptShutdown: \"false\",\n                },\n                actionType: \"continuous\",\n                duration: \"PT10M\",\n            }],\n        }],\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example\",\n    location=\"westeurope\")\nexample_user_assigned_identity = azure.authorization.UserAssignedIdentity(\"example\",\n    resource_group_name=example.name,\n    location=example.location,\n    name=\"example\")\nexample_virtual_network = azure.network.VirtualNetwork(\"example\",\n    name=\"example\",\n    address_spaces=[\"10.0.0.0/16\"],\n    location=example.location,\n    resource_group_name=example.name)\nexample_subnet = azure.network.Subnet(\"example\",\n    name=\"internal\",\n    resource_group_name=example.name,\n    virtual_network_name=example_virtual_network.name,\n    address_prefixes=[\"10.0.2.0/24\"])\nexample_network_interface = azure.network.NetworkInterface(\"example\",\n    name=\"example\",\n    location=example.location,\n    resource_group_name=example.name,\n    ip_configurations=[{\n        \"name\": \"example\",\n        \"subnet_id\": example_subnet.id,\n        \"private_ip_address_allocation\": \"Dynamic\",\n    }])\nexample_linux_virtual_machine = azure.compute.LinuxVirtualMachine(\"example\",\n    name=\"example\",\n    resource_group_name=example.name,\n    location=example.location,\n    size=\"Standard_F2\",\n    admin_username=\"adminuser\",\n    admin_password=\"example\",\n    disable_password_authentication=False,\n    network_interface_ids=[example_network_interface.id],\n    os_disk={\n        \"caching\": \"ReadWrite\",\n        \"storage_account_type\": \"Standard_LRS\",\n    },\n    source_image_reference={\n        \"publisher\": \"Canonical\",\n        \"offer\": \"0001-com-ubuntu-server-jammy\",\n        \"sku\": \"22_04-lts\",\n        \"version\": \"latest\",\n    })\nexample_target = azure.chaosstudio.Target(\"example\",\n    location=example.location,\n    target_resource_id=example_linux_virtual_machine.id,\n    target_type=\"Microsoft-VirtualMachine\")\nexample_capability = azure.chaosstudio.Capability(\"example\",\n    chaos_studio_target_id=example_target.id,\n    capability_type=\"Shutdown-1.0\")\nexample_experiment = azure.chaosstudio.Experiment(\"example\",\n    location=example.location,\n    name=\"example\",\n    resource_group_name=example.name,\n    identity={\n        \"type\": \"SystemAssigned\",\n    },\n    selectors=[{\n        \"name\": \"Selector1\",\n        \"chaos_studio_target_ids\": [example_target.id],\n    }],\n    steps=[{\n        \"name\": \"example\",\n        \"branches\": [{\n            \"name\": \"example\",\n            \"actions\": [{\n                \"urn\": example_capability.capability_urn,\n                \"selector_name\": \"Selector1\",\n                \"parameters\": {\n                    \"abruptShutdown\": \"false\",\n                },\n                \"action_type\": \"continuous\",\n                \"duration\": \"PT10M\",\n            }],\n        }],\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example\",\n        Location = \"westeurope\",\n    });\n\n    var exampleUserAssignedIdentity = new Azure.Authorization.UserAssignedIdentity(\"example\", new()\n    {\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        Name = \"example\",\n    });\n\n    var exampleVirtualNetwork = new Azure.Network.VirtualNetwork(\"example\", new()\n    {\n        Name = \"example\",\n        AddressSpaces = new[]\n        {\n            \"10.0.0.0/16\",\n        },\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n    });\n\n    var exampleSubnet = new Azure.Network.Subnet(\"example\", new()\n    {\n        Name = \"internal\",\n        ResourceGroupName = example.Name,\n        VirtualNetworkName = exampleVirtualNetwork.Name,\n        AddressPrefixes = new[]\n        {\n            \"10.0.2.0/24\",\n        },\n    });\n\n    var exampleNetworkInterface = new Azure.Network.NetworkInterface(\"example\", new()\n    {\n        Name = \"example\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        IpConfigurations = new[]\n        {\n            new Azure.Network.Inputs.NetworkInterfaceIpConfigurationArgs\n            {\n                Name = \"example\",\n                SubnetId = exampleSubnet.Id,\n                PrivateIpAddressAllocation = \"Dynamic\",\n            },\n        },\n    });\n\n    var exampleLinuxVirtualMachine = new Azure.Compute.LinuxVirtualMachine(\"example\", new()\n    {\n        Name = \"example\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        Size = \"Standard_F2\",\n        AdminUsername = \"adminuser\",\n        AdminPassword = \"example\",\n        DisablePasswordAuthentication = false,\n        NetworkInterfaceIds = new[]\n        {\n            exampleNetworkInterface.Id,\n        },\n        OsDisk = new Azure.Compute.Inputs.LinuxVirtualMachineOsDiskArgs\n        {\n            Caching = \"ReadWrite\",\n            StorageAccountType = \"Standard_LRS\",\n        },\n        SourceImageReference = new Azure.Compute.Inputs.LinuxVirtualMachineSourceImageReferenceArgs\n        {\n            Publisher = \"Canonical\",\n            Offer = \"0001-com-ubuntu-server-jammy\",\n            Sku = \"22_04-lts\",\n            Version = \"latest\",\n        },\n    });\n\n    var exampleTarget = new Azure.ChaosStudio.Target(\"example\", new()\n    {\n        Location = example.Location,\n        TargetResourceId = exampleLinuxVirtualMachine.Id,\n        TargetType = \"Microsoft-VirtualMachine\",\n    });\n\n    var exampleCapability = new Azure.ChaosStudio.Capability(\"example\", new()\n    {\n        ChaosStudioTargetId = exampleTarget.Id,\n        CapabilityType = \"Shutdown-1.0\",\n    });\n\n    var exampleExperiment = new Azure.ChaosStudio.Experiment(\"example\", new()\n    {\n        Location = example.Location,\n        Name = \"example\",\n        ResourceGroupName = example.Name,\n        Identity = new Azure.ChaosStudio.Inputs.ExperimentIdentityArgs\n        {\n            Type = \"SystemAssigned\",\n        },\n        Selectors = new[]\n        {\n            new Azure.ChaosStudio.Inputs.ExperimentSelectorArgs\n            {\n                Name = \"Selector1\",\n                ChaosStudioTargetIds = new[]\n                {\n                    exampleTarget.Id,\n                },\n            },\n        },\n        Steps = new[]\n        {\n            new Azure.ChaosStudio.Inputs.ExperimentStepArgs\n            {\n                Name = \"example\",\n                Branches = new[]\n                {\n                    new Azure.ChaosStudio.Inputs.ExperimentStepBranchArgs\n                    {\n                        Name = \"example\",\n                        Actions = new[]\n                        {\n                            new Azure.ChaosStudio.Inputs.ExperimentStepBranchActionArgs\n                            {\n                                Urn = exampleCapability.CapabilityUrn,\n                                SelectorName = \"Selector1\",\n                                Parameters = \n                                {\n                                    { \"abruptShutdown\", \"false\" },\n                                },\n                                ActionType = \"continuous\",\n                                Duration = \"PT10M\",\n                            },\n                        },\n                    },\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/authorization\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/chaosstudio\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/compute\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example\"),\n\t\t\tLocation: pulumi.String(\"westeurope\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = authorization.NewUserAssignedIdentity(ctx, \"example\", \u0026authorization.UserAssignedIdentityArgs{\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, \"example\", \u0026network.VirtualNetworkArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tAddressSpaces: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.0.0/16\"),\n\t\t\t},\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSubnet, err := network.NewSubnet(ctx, \"example\", \u0026network.SubnetArgs{\n\t\t\tName:               pulumi.String(\"internal\"),\n\t\t\tResourceGroupName:  example.Name,\n\t\t\tVirtualNetworkName: exampleVirtualNetwork.Name,\n\t\t\tAddressPrefixes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.2.0/24\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNetworkInterface, err := network.NewNetworkInterface(ctx, \"example\", \u0026network.NetworkInterfaceArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tIpConfigurations: network.NetworkInterfaceIpConfigurationArray{\n\t\t\t\t\u0026network.NetworkInterfaceIpConfigurationArgs{\n\t\t\t\t\tName:                       pulumi.String(\"example\"),\n\t\t\t\t\tSubnetId:                   exampleSubnet.ID(),\n\t\t\t\t\tPrivateIpAddressAllocation: pulumi.String(\"Dynamic\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleLinuxVirtualMachine, err := compute.NewLinuxVirtualMachine(ctx, \"example\", \u0026compute.LinuxVirtualMachineArgs{\n\t\t\tName:                          pulumi.String(\"example\"),\n\t\t\tResourceGroupName:             example.Name,\n\t\t\tLocation:                      example.Location,\n\t\t\tSize:                          pulumi.String(\"Standard_F2\"),\n\t\t\tAdminUsername:                 pulumi.String(\"adminuser\"),\n\t\t\tAdminPassword:                 pulumi.String(\"example\"),\n\t\t\tDisablePasswordAuthentication: pulumi.Bool(false),\n\t\t\tNetworkInterfaceIds: pulumi.StringArray{\n\t\t\t\texampleNetworkInterface.ID(),\n\t\t\t},\n\t\t\tOsDisk: \u0026compute.LinuxVirtualMachineOsDiskArgs{\n\t\t\t\tCaching:            pulumi.String(\"ReadWrite\"),\n\t\t\t\tStorageAccountType: pulumi.String(\"Standard_LRS\"),\n\t\t\t},\n\t\t\tSourceImageReference: \u0026compute.LinuxVirtualMachineSourceImageReferenceArgs{\n\t\t\t\tPublisher: pulumi.String(\"Canonical\"),\n\t\t\t\tOffer:     pulumi.String(\"0001-com-ubuntu-server-jammy\"),\n\t\t\t\tSku:       pulumi.String(\"22_04-lts\"),\n\t\t\t\tVersion:   pulumi.String(\"latest\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleTarget, err := chaosstudio.NewTarget(ctx, \"example\", \u0026chaosstudio.TargetArgs{\n\t\t\tLocation:         example.Location,\n\t\t\tTargetResourceId: exampleLinuxVirtualMachine.ID(),\n\t\t\tTargetType:       pulumi.String(\"Microsoft-VirtualMachine\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleCapability, err := chaosstudio.NewCapability(ctx, \"example\", \u0026chaosstudio.CapabilityArgs{\n\t\t\tChaosStudioTargetId: exampleTarget.ID(),\n\t\t\tCapabilityType:      pulumi.String(\"Shutdown-1.0\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = chaosstudio.NewExperiment(ctx, \"example\", \u0026chaosstudio.ExperimentArgs{\n\t\t\tLocation:          example.Location,\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tIdentity: \u0026chaosstudio.ExperimentIdentityArgs{\n\t\t\t\tType: pulumi.String(\"SystemAssigned\"),\n\t\t\t},\n\t\t\tSelectors: chaosstudio.ExperimentSelectorArray{\n\t\t\t\t\u0026chaosstudio.ExperimentSelectorArgs{\n\t\t\t\t\tName: pulumi.String(\"Selector1\"),\n\t\t\t\t\tChaosStudioTargetIds: pulumi.StringArray{\n\t\t\t\t\t\texampleTarget.ID(),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tSteps: chaosstudio.ExperimentStepArray{\n\t\t\t\t\u0026chaosstudio.ExperimentStepArgs{\n\t\t\t\t\tName: pulumi.String(\"example\"),\n\t\t\t\t\tBranches: chaosstudio.ExperimentStepBranchArray{\n\t\t\t\t\t\t\u0026chaosstudio.ExperimentStepBranchArgs{\n\t\t\t\t\t\t\tName: pulumi.String(\"example\"),\n\t\t\t\t\t\t\tActions: chaosstudio.ExperimentStepBranchActionArray{\n\t\t\t\t\t\t\t\t\u0026chaosstudio.ExperimentStepBranchActionArgs{\n\t\t\t\t\t\t\t\t\tUrn:          exampleCapability.CapabilityUrn,\n\t\t\t\t\t\t\t\t\tSelectorName: pulumi.String(\"Selector1\"),\n\t\t\t\t\t\t\t\t\tParameters: pulumi.StringMap{\n\t\t\t\t\t\t\t\t\t\t\"abruptShutdown\": pulumi.String(\"false\"),\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\tActionType: pulumi.String(\"continuous\"),\n\t\t\t\t\t\t\t\t\tDuration:   pulumi.String(\"PT10M\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.authorization.UserAssignedIdentity;\nimport com.pulumi.azure.authorization.UserAssignedIdentityArgs;\nimport com.pulumi.azure.network.VirtualNetwork;\nimport com.pulumi.azure.network.VirtualNetworkArgs;\nimport com.pulumi.azure.network.Subnet;\nimport com.pulumi.azure.network.SubnetArgs;\nimport com.pulumi.azure.network.NetworkInterface;\nimport com.pulumi.azure.network.NetworkInterfaceArgs;\nimport com.pulumi.azure.network.inputs.NetworkInterfaceIpConfigurationArgs;\nimport com.pulumi.azure.compute.LinuxVirtualMachine;\nimport com.pulumi.azure.compute.LinuxVirtualMachineArgs;\nimport com.pulumi.azure.compute.inputs.LinuxVirtualMachineOsDiskArgs;\nimport com.pulumi.azure.compute.inputs.LinuxVirtualMachineSourceImageReferenceArgs;\nimport com.pulumi.azure.chaosstudio.Target;\nimport com.pulumi.azure.chaosstudio.TargetArgs;\nimport com.pulumi.azure.chaosstudio.Capability;\nimport com.pulumi.azure.chaosstudio.CapabilityArgs;\nimport com.pulumi.azure.chaosstudio.Experiment;\nimport com.pulumi.azure.chaosstudio.ExperimentArgs;\nimport com.pulumi.azure.chaosstudio.inputs.ExperimentIdentityArgs;\nimport com.pulumi.azure.chaosstudio.inputs.ExperimentSelectorArgs;\nimport com.pulumi.azure.chaosstudio.inputs.ExperimentStepArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example\")\n            .location(\"westeurope\")\n            .build());\n\n        var exampleUserAssignedIdentity = new UserAssignedIdentity(\"exampleUserAssignedIdentity\", UserAssignedIdentityArgs.builder()\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .name(\"example\")\n            .build());\n\n        var exampleVirtualNetwork = new VirtualNetwork(\"exampleVirtualNetwork\", VirtualNetworkArgs.builder()\n            .name(\"example\")\n            .addressSpaces(\"10.0.0.0/16\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .build());\n\n        var exampleSubnet = new Subnet(\"exampleSubnet\", SubnetArgs.builder()\n            .name(\"internal\")\n            .resourceGroupName(example.name())\n            .virtualNetworkName(exampleVirtualNetwork.name())\n            .addressPrefixes(\"10.0.2.0/24\")\n            .build());\n\n        var exampleNetworkInterface = new NetworkInterface(\"exampleNetworkInterface\", NetworkInterfaceArgs.builder()\n            .name(\"example\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .ipConfigurations(NetworkInterfaceIpConfigurationArgs.builder()\n                .name(\"example\")\n                .subnetId(exampleSubnet.id())\n                .privateIpAddressAllocation(\"Dynamic\")\n                .build())\n            .build());\n\n        var exampleLinuxVirtualMachine = new LinuxVirtualMachine(\"exampleLinuxVirtualMachine\", LinuxVirtualMachineArgs.builder()\n            .name(\"example\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .size(\"Standard_F2\")\n            .adminUsername(\"adminuser\")\n            .adminPassword(\"example\")\n            .disablePasswordAuthentication(false)\n            .networkInterfaceIds(exampleNetworkInterface.id())\n            .osDisk(LinuxVirtualMachineOsDiskArgs.builder()\n                .caching(\"ReadWrite\")\n                .storageAccountType(\"Standard_LRS\")\n                .build())\n            .sourceImageReference(LinuxVirtualMachineSourceImageReferenceArgs.builder()\n                .publisher(\"Canonical\")\n                .offer(\"0001-com-ubuntu-server-jammy\")\n                .sku(\"22_04-lts\")\n                .version(\"latest\")\n                .build())\n            .build());\n\n        var exampleTarget = new Target(\"exampleTarget\", TargetArgs.builder()\n            .location(example.location())\n            .targetResourceId(exampleLinuxVirtualMachine.id())\n            .targetType(\"Microsoft-VirtualMachine\")\n            .build());\n\n        var exampleCapability = new Capability(\"exampleCapability\", CapabilityArgs.builder()\n            .chaosStudioTargetId(exampleTarget.id())\n            .capabilityType(\"Shutdown-1.0\")\n            .build());\n\n        var exampleExperiment = new Experiment(\"exampleExperiment\", ExperimentArgs.builder()\n            .location(example.location())\n            .name(\"example\")\n            .resourceGroupName(example.name())\n            .identity(ExperimentIdentityArgs.builder()\n                .type(\"SystemAssigned\")\n                .build())\n            .selectors(ExperimentSelectorArgs.builder()\n                .name(\"Selector1\")\n                .chaosStudioTargetIds(exampleTarget.id())\n                .build())\n            .steps(ExperimentStepArgs.builder()\n                .name(\"example\")\n                .branches(ExperimentStepBranchArgs.builder()\n                    .name(\"example\")\n                    .actions(ExperimentStepBranchActionArgs.builder()\n                        .urn(exampleCapability.capabilityUrn())\n                        .selectorName(\"Selector1\")\n                        .parameters(Map.of(\"abruptShutdown\", \"false\"))\n                        .actionType(\"continuous\")\n                        .duration(\"PT10M\")\n                        .build())\n                    .build())\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example\n      location: westeurope\n  exampleUserAssignedIdentity:\n    type: azure:authorization:UserAssignedIdentity\n    name: example\n    properties:\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      name: example\n  exampleVirtualNetwork:\n    type: azure:network:VirtualNetwork\n    name: example\n    properties:\n      name: example\n      addressSpaces:\n        - 10.0.0.0/16\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n  exampleSubnet:\n    type: azure:network:Subnet\n    name: example\n    properties:\n      name: internal\n      resourceGroupName: ${example.name}\n      virtualNetworkName: ${exampleVirtualNetwork.name}\n      addressPrefixes:\n        - 10.0.2.0/24\n  exampleNetworkInterface:\n    type: azure:network:NetworkInterface\n    name: example\n    properties:\n      name: example\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      ipConfigurations:\n        - name: example\n          subnetId: ${exampleSubnet.id}\n          privateIpAddressAllocation: Dynamic\n  exampleLinuxVirtualMachine:\n    type: azure:compute:LinuxVirtualMachine\n    name: example\n    properties:\n      name: example\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      size: Standard_F2\n      adminUsername: adminuser\n      adminPassword: example\n      disablePasswordAuthentication: false\n      networkInterfaceIds:\n        - ${exampleNetworkInterface.id}\n      osDisk:\n        caching: ReadWrite\n        storageAccountType: Standard_LRS\n      sourceImageReference:\n        publisher: Canonical\n        offer: 0001-com-ubuntu-server-jammy\n        sku: 22_04-lts\n        version: latest\n  exampleTarget:\n    type: azure:chaosstudio:Target\n    name: example\n    properties:\n      location: ${example.location}\n      targetResourceId: ${exampleLinuxVirtualMachine.id}\n      targetType: Microsoft-VirtualMachine\n  exampleCapability:\n    type: azure:chaosstudio:Capability\n    name: example\n    properties:\n      chaosStudioTargetId: ${exampleTarget.id}\n      capabilityType: Shutdown-1.0\n  exampleExperiment:\n    type: azure:chaosstudio:Experiment\n    name: example\n    properties:\n      location: ${example.location}\n      name: example\n      resourceGroupName: ${example.name}\n      identity:\n        type: SystemAssigned\n      selectors:\n        - name: Selector1\n          chaosStudioTargetIds:\n            - ${exampleTarget.id}\n      steps:\n        - name: example\n          branches:\n            - name: example\n              actions:\n                - urn: ${exampleCapability.capabilityUrn}\n                  selectorName: Selector1\n                  parameters:\n                    abruptShutdown: 'false'\n                  actionType: continuous\n                  duration: PT10M\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Chaos` - 2023-11-01\n\n## Import\n\nChaos Studio Experiments can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:chaosstudio/experiment:Experiment example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Chaos/experiments/experiment1\n```\n\n","properties":{"identity":{"$ref":"#/types/azure:chaosstudio/ExperimentIdentity:ExperimentIdentity","description":"A \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"location":{"type":"string","description":"The Azure Region where the Chaos Studio Experiment should exist. Changing this forces a new Chaos Studio Experiment to be created.\n"},"name":{"type":"string","description":"The name which should be used for this Chaos Studio Experiment. Changing this forces a new Chaos Studio Experiment to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Chaos Studio Experiment should exist. Changing this forces a new Chaos Studio Experiment to be created.\n"},"selectors":{"type":"array","items":{"$ref":"#/types/azure:chaosstudio/ExperimentSelector:ExperimentSelector"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`selectors`\" pulumi-lang-dotnet=\"`Selectors`\" pulumi-lang-go=\"`selectors`\" pulumi-lang-python=\"`selectors`\" pulumi-lang-yaml=\"`selectors`\" pulumi-lang-java=\"`selectors`\"\u003e`selectors`\u003c/span\u003e blocks as defined below.\n"},"steps":{"type":"array","items":{"$ref":"#/types/azure:chaosstudio/ExperimentStep:ExperimentStep"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`steps`\" pulumi-lang-dotnet=\"`Steps`\" pulumi-lang-go=\"`steps`\" pulumi-lang-python=\"`steps`\" pulumi-lang-yaml=\"`steps`\" pulumi-lang-java=\"`steps`\"\u003e`steps`\u003c/span\u003e blocks as defined below.\n"}},"required":["location","name","resourceGroupName","selectors","steps"],"inputProperties":{"identity":{"$ref":"#/types/azure:chaosstudio/ExperimentIdentity:ExperimentIdentity","description":"A \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"location":{"type":"string","description":"The Azure Region where the Chaos Studio Experiment should exist. Changing this forces a new Chaos Studio Experiment to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Chaos Studio Experiment. Changing this forces a new Chaos Studio Experiment to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Chaos Studio Experiment should exist. Changing this forces a new Chaos Studio Experiment to be created.\n","willReplaceOnChanges":true},"selectors":{"type":"array","items":{"$ref":"#/types/azure:chaosstudio/ExperimentSelector:ExperimentSelector"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`selectors`\" pulumi-lang-dotnet=\"`Selectors`\" pulumi-lang-go=\"`selectors`\" pulumi-lang-python=\"`selectors`\" pulumi-lang-yaml=\"`selectors`\" pulumi-lang-java=\"`selectors`\"\u003e`selectors`\u003c/span\u003e blocks as defined below.\n"},"steps":{"type":"array","items":{"$ref":"#/types/azure:chaosstudio/ExperimentStep:ExperimentStep"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`steps`\" pulumi-lang-dotnet=\"`Steps`\" pulumi-lang-go=\"`steps`\" pulumi-lang-python=\"`steps`\" pulumi-lang-yaml=\"`steps`\" pulumi-lang-java=\"`steps`\"\u003e`steps`\u003c/span\u003e blocks as defined below.\n"}},"requiredInputs":["resourceGroupName","selectors","steps"],"stateInputs":{"description":"Input properties used for looking up and filtering Experiment resources.\n","properties":{"identity":{"$ref":"#/types/azure:chaosstudio/ExperimentIdentity:ExperimentIdentity","description":"A \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"location":{"type":"string","description":"The Azure Region where the Chaos Studio Experiment should exist. Changing this forces a new Chaos Studio Experiment to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Chaos Studio Experiment. Changing this forces a new Chaos Studio Experiment to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Chaos Studio Experiment should exist. Changing this forces a new Chaos Studio Experiment to be created.\n","willReplaceOnChanges":true},"selectors":{"type":"array","items":{"$ref":"#/types/azure:chaosstudio/ExperimentSelector:ExperimentSelector"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`selectors`\" pulumi-lang-dotnet=\"`Selectors`\" pulumi-lang-go=\"`selectors`\" pulumi-lang-python=\"`selectors`\" pulumi-lang-yaml=\"`selectors`\" pulumi-lang-java=\"`selectors`\"\u003e`selectors`\u003c/span\u003e blocks as defined below.\n"},"steps":{"type":"array","items":{"$ref":"#/types/azure:chaosstudio/ExperimentStep:ExperimentStep"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`steps`\" pulumi-lang-dotnet=\"`Steps`\" pulumi-lang-go=\"`steps`\" pulumi-lang-python=\"`steps`\" pulumi-lang-yaml=\"`steps`\" pulumi-lang-java=\"`steps`\"\u003e`steps`\u003c/span\u003e blocks as defined below.\n"}},"type":"object"}},"azure:chaosstudio/target:Target":{"description":"\u003c!-- Note: This documentation is generated. Any manual changes will be overwritten --\u003e\n\nManages a Chaos Studio Target.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst example = new azure.containerservice.KubernetesCluster(\"example\", {\n    name: \"example\",\n    location: exampleResourceGroup.location,\n    resourceGroupName: exampleResourceGroup.name,\n    dnsPrefix: \"acctestaksexample\",\n    defaultNodePool: {\n        name: \"example-value\",\n        nodeCount: \"example-value\",\n        vmSize: \"example-value\",\n        upgradeSettings: {\n            maxSurge: \"example-value\",\n        },\n    },\n    identity: {\n        type: \"example-value\",\n    },\n});\nconst exampleTarget = new azure.chaosstudio.Target(\"example\", {\n    location: exampleResourceGroup.location,\n    targetResourceId: example.id,\n    targetType: \"example-value\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample = azure.containerservice.KubernetesCluster(\"example\",\n    name=\"example\",\n    location=example_resource_group.location,\n    resource_group_name=example_resource_group.name,\n    dns_prefix=\"acctestaksexample\",\n    default_node_pool={\n        \"name\": \"example-value\",\n        \"node_count\": \"example-value\",\n        \"vm_size\": \"example-value\",\n        \"upgrade_settings\": {\n            \"max_surge\": \"example-value\",\n        },\n    },\n    identity={\n        \"type\": \"example-value\",\n    })\nexample_target = azure.chaosstudio.Target(\"example\",\n    location=example_resource_group.location,\n    target_resource_id=example.id,\n    target_type=\"example-value\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleResourceGroup = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var example = new Azure.ContainerService.KubernetesCluster(\"example\", new()\n    {\n        Name = \"example\",\n        Location = exampleResourceGroup.Location,\n        ResourceGroupName = exampleResourceGroup.Name,\n        DnsPrefix = \"acctestaksexample\",\n        DefaultNodePool = new Azure.ContainerService.Inputs.KubernetesClusterDefaultNodePoolArgs\n        {\n            Name = \"example-value\",\n            NodeCount = \"example-value\",\n            VmSize = \"example-value\",\n            UpgradeSettings = new Azure.ContainerService.Inputs.KubernetesClusterDefaultNodePoolUpgradeSettingsArgs\n            {\n                MaxSurge = \"example-value\",\n            },\n        },\n        Identity = new Azure.ContainerService.Inputs.KubernetesClusterIdentityArgs\n        {\n            Type = \"example-value\",\n        },\n    });\n\n    var exampleTarget = new Azure.ChaosStudio.Target(\"example\", new()\n    {\n        Location = exampleResourceGroup.Location,\n        TargetResourceId = example.Id,\n        TargetType = \"example-value\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/chaosstudio\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/containerservice\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := containerservice.NewKubernetesCluster(ctx, \"example\", \u0026containerservice.KubernetesClusterArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tLocation:          exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tDnsPrefix:         pulumi.String(\"acctestaksexample\"),\n\t\t\tDefaultNodePool: \u0026containerservice.KubernetesClusterDefaultNodePoolArgs{\n\t\t\t\tName:      pulumi.String(\"example-value\"),\n\t\t\t\tNodeCount: pulumi.Int(\"example-value\"),\n\t\t\t\tVmSize:    pulumi.String(\"example-value\"),\n\t\t\t\tUpgradeSettings: \u0026containerservice.KubernetesClusterDefaultNodePoolUpgradeSettingsArgs{\n\t\t\t\t\tMaxSurge: pulumi.String(\"example-value\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tIdentity: \u0026containerservice.KubernetesClusterIdentityArgs{\n\t\t\t\tType: pulumi.String(\"example-value\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = chaosstudio.NewTarget(ctx, \"example\", \u0026chaosstudio.TargetArgs{\n\t\t\tLocation:         exampleResourceGroup.Location,\n\t\t\tTargetResourceId: example.ID(),\n\t\t\tTargetType:       pulumi.String(\"example-value\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.containerservice.KubernetesCluster;\nimport com.pulumi.azure.containerservice.KubernetesClusterArgs;\nimport com.pulumi.azure.containerservice.inputs.KubernetesClusterDefaultNodePoolArgs;\nimport com.pulumi.azure.containerservice.inputs.KubernetesClusterDefaultNodePoolUpgradeSettingsArgs;\nimport com.pulumi.azure.containerservice.inputs.KubernetesClusterIdentityArgs;\nimport com.pulumi.azure.chaosstudio.Target;\nimport com.pulumi.azure.chaosstudio.TargetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var exampleResourceGroup = new ResourceGroup(\"exampleResourceGroup\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var example = new KubernetesCluster(\"example\", KubernetesClusterArgs.builder()\n            .name(\"example\")\n            .location(exampleResourceGroup.location())\n            .resourceGroupName(exampleResourceGroup.name())\n            .dnsPrefix(\"acctestaksexample\")\n            .defaultNodePool(KubernetesClusterDefaultNodePoolArgs.builder()\n                .name(\"example-value\")\n                .nodeCount(\"example-value\")\n                .vmSize(\"example-value\")\n                .upgradeSettings(KubernetesClusterDefaultNodePoolUpgradeSettingsArgs.builder()\n                    .maxSurge(\"example-value\")\n                    .build())\n                .build())\n            .identity(KubernetesClusterIdentityArgs.builder()\n                .type(\"example-value\")\n                .build())\n            .build());\n\n        var exampleTarget = new Target(\"exampleTarget\", TargetArgs.builder()\n            .location(exampleResourceGroup.location())\n            .targetResourceId(example.id())\n            .targetType(\"example-value\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:containerservice:KubernetesCluster\n    properties:\n      name: example\n      location: ${exampleResourceGroup.location}\n      resourceGroupName: ${exampleResourceGroup.name}\n      dnsPrefix: acctestaksexample\n      defaultNodePool:\n        name: example-value\n        nodeCount: example-value\n        vmSize: example-value\n        upgradeSettings:\n          maxSurge: example-value\n      identity:\n        type: example-value\n  exampleResourceGroup:\n    type: azure:core:ResourceGroup\n    name: example\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleTarget:\n    type: azure:chaosstudio:Target\n    name: example\n    properties:\n      location: ${exampleResourceGroup.location}\n      targetResourceId: ${example.id}\n      targetType: example-value\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nAn existing Chaos Studio Target can be imported into Pulumi using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:chaosstudio/target:Target example /{scope}/providers/Microsoft.Chaos/targets/{targetName}\n```\n\n* Where `{scope}` is the ID of the Azure Resource under which the Chaos Studio Target exists. For example `/subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/some-resource-group`.\n* Where `{targetName}` is the name of the Target. For example `targetValue`.\n\n","properties":{"location":{"type":"string","description":"The Azure Region where the Chaos Studio Target should exist. Changing this forces a new Chaos Studio Target to be created.\n"},"targetResourceId":{"type":"string","description":"Specifies the Target Resource Id within which this Chaos Studio Target should exist. Changing this forces a new Chaos Studio Target to be created.\n"},"targetType":{"type":"string","description":"The name of the Chaos Studio Target. This has the format of [publisher]-[targetType] e.g. `Microsoft-StorageAccount`. For supported values please see this Target Type column in [this table](https://learn.microsoft.com/azure/chaos-studio/chaos-studio-fault-providers). Changing this forces a new Chaos Studio Target to be created.\n"}},"required":["location","targetResourceId","targetType"],"inputProperties":{"location":{"type":"string","description":"The Azure Region where the Chaos Studio Target should exist. Changing this forces a new Chaos Studio Target to be created.\n","willReplaceOnChanges":true},"targetResourceId":{"type":"string","description":"Specifies the Target Resource Id within which this Chaos Studio Target should exist. Changing this forces a new Chaos Studio Target to be created.\n","willReplaceOnChanges":true},"targetType":{"type":"string","description":"The name of the Chaos Studio Target. This has the format of [publisher]-[targetType] e.g. `Microsoft-StorageAccount`. For supported values please see this Target Type column in [this table](https://learn.microsoft.com/azure/chaos-studio/chaos-studio-fault-providers). Changing this forces a new Chaos Studio Target to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["targetResourceId","targetType"],"stateInputs":{"description":"Input properties used for looking up and filtering Target resources.\n","properties":{"location":{"type":"string","description":"The Azure Region where the Chaos Studio Target should exist. Changing this forces a new Chaos Studio Target to be created.\n","willReplaceOnChanges":true},"targetResourceId":{"type":"string","description":"Specifies the Target Resource Id within which this Chaos Studio Target should exist. Changing this forces a new Chaos Studio Target to be created.\n","willReplaceOnChanges":true},"targetType":{"type":"string","description":"The name of the Chaos Studio Target. This has the format of [publisher]-[targetType] e.g. `Microsoft-StorageAccount`. For supported values please see this Target Type column in [this table](https://learn.microsoft.com/azure/chaos-studio/chaos-studio-fault-providers). Changing this forces a new Chaos Studio Target to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:cognitive/aIServices:AIServices":{"description":"Manages an AI Services Account.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleAIServices = new azure.cognitive.AIServices(\"example\", {\n    name: \"example-account\",\n    location: example.location,\n    resourceGroupName: example.name,\n    skuName: \"S0\",\n    tags: {\n        Acceptance: \"Test\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_ai_services = azure.cognitive.AIServices(\"example\",\n    name=\"example-account\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku_name=\"S0\",\n    tags={\n        \"Acceptance\": \"Test\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleAIServices = new Azure.Cognitive.AIServices(\"example\", new()\n    {\n        Name = \"example-account\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        SkuName = \"S0\",\n        Tags = \n        {\n            { \"Acceptance\", \"Test\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/cognitive\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cognitive.NewAIServices(ctx, \"example\", \u0026cognitive.AIServicesArgs{\n\t\t\tName:              pulumi.String(\"example-account\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSkuName:           pulumi.String(\"S0\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Acceptance\": pulumi.String(\"Test\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.cognitive.AIServices;\nimport com.pulumi.azure.cognitive.AIServicesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleAIServices = new AIServices(\"exampleAIServices\", AIServicesArgs.builder()\n            .name(\"example-account\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .skuName(\"S0\")\n            .tags(Map.of(\"Acceptance\", \"Test\"))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleAIServices:\n    type: azure:cognitive:AIServices\n    name: example\n    properties:\n      name: example-account\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      skuName: S0\n      tags:\n        Acceptance: Test\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.CognitiveServices` - 2025-06-01\n\n## Import\n\nAI Services Account can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:cognitive/aIServices:AIServices account1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.CognitiveServices/accounts/account1\n```\n\n","properties":{"customSubdomainName":{"type":"string","description":"The subdomain name used for token-based authentication. This property is required when \u003cspan pulumi-lang-nodejs=\"`networkAcls`\" pulumi-lang-dotnet=\"`NetworkAcls`\" pulumi-lang-go=\"`networkAcls`\" pulumi-lang-python=\"`network_acls`\" pulumi-lang-yaml=\"`networkAcls`\" pulumi-lang-java=\"`networkAcls`\"\u003e`network_acls`\u003c/span\u003e is specified. Changing this forces a new resource to be created.\n\n\u003e **Note:** If you do not specify a \u003cspan pulumi-lang-nodejs=\"`customSubdomainName`\" pulumi-lang-dotnet=\"`CustomSubdomainName`\" pulumi-lang-go=\"`customSubdomainName`\" pulumi-lang-python=\"`custom_subdomain_name`\" pulumi-lang-yaml=\"`customSubdomainName`\" pulumi-lang-java=\"`customSubdomainName`\"\u003e`custom_subdomain_name`\u003c/span\u003e then you will not be able to attach a Private Endpoint to the resource.\n"},"customerManagedKey":{"$ref":"#/types/azure:cognitive/AIServicesCustomerManagedKey:AIServicesCustomerManagedKey","description":"A \u003cspan pulumi-lang-nodejs=\"`customerManagedKey`\" pulumi-lang-dotnet=\"`CustomerManagedKey`\" pulumi-lang-go=\"`customerManagedKey`\" pulumi-lang-python=\"`customer_managed_key`\" pulumi-lang-yaml=\"`customerManagedKey`\" pulumi-lang-java=\"`customerManagedKey`\"\u003e`customer_managed_key`\u003c/span\u003e block as documented below.\n"},"endpoint":{"type":"string","description":"The endpoint used to connect to the AI Services Account.\n"},"fqdns":{"type":"array","items":{"type":"string"},"description":"List of FQDNs allowed for the AI Services Account.\n"},"identity":{"$ref":"#/types/azure:cognitive/AIServicesIdentity:AIServicesIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"localAuthenticationEnabled":{"type":"boolean","description":"Whether local authentication is enabled for the AI Services Account. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"Specifies the name of the AI Services Account. Changing this forces a new resource to be created.\n"},"networkAcls":{"$ref":"#/types/azure:cognitive/AIServicesNetworkAcls:AIServicesNetworkAcls","description":"A \u003cspan pulumi-lang-nodejs=\"`networkAcls`\" pulumi-lang-dotnet=\"`NetworkAcls`\" pulumi-lang-go=\"`networkAcls`\" pulumi-lang-python=\"`network_acls`\" pulumi-lang-yaml=\"`networkAcls`\" pulumi-lang-java=\"`networkAcls`\"\u003e`network_acls`\u003c/span\u003e block as defined below. When this property is specified, \u003cspan pulumi-lang-nodejs=\"`customSubdomainName`\" pulumi-lang-dotnet=\"`CustomSubdomainName`\" pulumi-lang-go=\"`customSubdomainName`\" pulumi-lang-python=\"`custom_subdomain_name`\" pulumi-lang-yaml=\"`customSubdomainName`\" pulumi-lang-java=\"`customSubdomainName`\"\u003e`custom_subdomain_name`\u003c/span\u003e is also required to be set.\n"},"outboundNetworkAccessRestricted":{"type":"boolean","description":"Whether outbound network access is restricted for the AI Services Account. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"primaryAccessKey":{"type":"string","description":"A primary access key which can be used to connect to the AI Services Account.\n","secret":true},"publicNetworkAccess":{"type":"string","description":"Whether public network access is allowed for the AI Services Account. Possible values are `Enabled` and `Disabled`. Defaults to `Enabled`.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the AI Services Account is created. Changing this forces a new resource to be created.\n"},"secondaryAccessKey":{"type":"string","description":"The secondary access key which can be used to connect to the AI Services Account.\n","secret":true},"skuName":{"type":"string","description":"Specifies the SKU Name for this AI Services Account. Possible values are `F0`, `F1`, `S0`, `S`, `S1`, `S2`, `S3`, `S4`, `S5`, `S6`, `P0`, `P1`, `P2`, `E0` and `DC0`.\n\n\u003e **Note:** SKU `DC0` is the commitment tier for AI Services Account containers running in disconnected environments. You must obtain approval from Microsoft by submitting the [request form](https://aka.ms/csdisconnectedcontainers) first, before you can use this SKU. More information on [Purchase a commitment plan to use containers in disconnected environments](https://learn.microsoft.com/en-us/azure/cognitive-services/containers/disconnected-containers?tabs=stt#purchase-a-commitment-plan-to-use-containers-in-disconnected-environments).\n"},"storages":{"type":"array","items":{"$ref":"#/types/azure:cognitive/AIServicesStorage:AIServicesStorage"},"description":"A \u003cspan pulumi-lang-nodejs=\"`storage`\" pulumi-lang-dotnet=\"`Storage`\" pulumi-lang-go=\"`storage`\" pulumi-lang-python=\"`storage`\" pulumi-lang-yaml=\"`storage`\" pulumi-lang-java=\"`storage`\"\u003e`storage`\u003c/span\u003e block as defined below.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"required":["endpoint","location","name","primaryAccessKey","resourceGroupName","secondaryAccessKey","skuName"],"inputProperties":{"customSubdomainName":{"type":"string","description":"The subdomain name used for token-based authentication. This property is required when \u003cspan pulumi-lang-nodejs=\"`networkAcls`\" pulumi-lang-dotnet=\"`NetworkAcls`\" pulumi-lang-go=\"`networkAcls`\" pulumi-lang-python=\"`network_acls`\" pulumi-lang-yaml=\"`networkAcls`\" pulumi-lang-java=\"`networkAcls`\"\u003e`network_acls`\u003c/span\u003e is specified. Changing this forces a new resource to be created.\n\n\u003e **Note:** If you do not specify a \u003cspan pulumi-lang-nodejs=\"`customSubdomainName`\" pulumi-lang-dotnet=\"`CustomSubdomainName`\" pulumi-lang-go=\"`customSubdomainName`\" pulumi-lang-python=\"`custom_subdomain_name`\" pulumi-lang-yaml=\"`customSubdomainName`\" pulumi-lang-java=\"`customSubdomainName`\"\u003e`custom_subdomain_name`\u003c/span\u003e then you will not be able to attach a Private Endpoint to the resource.\n","willReplaceOnChanges":true},"customerManagedKey":{"$ref":"#/types/azure:cognitive/AIServicesCustomerManagedKey:AIServicesCustomerManagedKey","description":"A \u003cspan pulumi-lang-nodejs=\"`customerManagedKey`\" pulumi-lang-dotnet=\"`CustomerManagedKey`\" pulumi-lang-go=\"`customerManagedKey`\" pulumi-lang-python=\"`customer_managed_key`\" pulumi-lang-yaml=\"`customerManagedKey`\" pulumi-lang-java=\"`customerManagedKey`\"\u003e`customer_managed_key`\u003c/span\u003e block as documented below.\n"},"fqdns":{"type":"array","items":{"type":"string"},"description":"List of FQDNs allowed for the AI Services Account.\n"},"identity":{"$ref":"#/types/azure:cognitive/AIServicesIdentity:AIServicesIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"localAuthenticationEnabled":{"type":"boolean","description":"Whether local authentication is enabled for the AI Services Account. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the AI Services Account. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"networkAcls":{"$ref":"#/types/azure:cognitive/AIServicesNetworkAcls:AIServicesNetworkAcls","description":"A \u003cspan pulumi-lang-nodejs=\"`networkAcls`\" pulumi-lang-dotnet=\"`NetworkAcls`\" pulumi-lang-go=\"`networkAcls`\" pulumi-lang-python=\"`network_acls`\" pulumi-lang-yaml=\"`networkAcls`\" pulumi-lang-java=\"`networkAcls`\"\u003e`network_acls`\u003c/span\u003e block as defined below. When this property is specified, \u003cspan pulumi-lang-nodejs=\"`customSubdomainName`\" pulumi-lang-dotnet=\"`CustomSubdomainName`\" pulumi-lang-go=\"`customSubdomainName`\" pulumi-lang-python=\"`custom_subdomain_name`\" pulumi-lang-yaml=\"`customSubdomainName`\" pulumi-lang-java=\"`customSubdomainName`\"\u003e`custom_subdomain_name`\u003c/span\u003e is also required to be set.\n"},"outboundNetworkAccessRestricted":{"type":"boolean","description":"Whether outbound network access is restricted for the AI Services Account. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"publicNetworkAccess":{"type":"string","description":"Whether public network access is allowed for the AI Services Account. Possible values are `Enabled` and `Disabled`. Defaults to `Enabled`.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the AI Services Account is created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"skuName":{"type":"string","description":"Specifies the SKU Name for this AI Services Account. Possible values are `F0`, `F1`, `S0`, `S`, `S1`, `S2`, `S3`, `S4`, `S5`, `S6`, `P0`, `P1`, `P2`, `E0` and `DC0`.\n\n\u003e **Note:** SKU `DC0` is the commitment tier for AI Services Account containers running in disconnected environments. You must obtain approval from Microsoft by submitting the [request form](https://aka.ms/csdisconnectedcontainers) first, before you can use this SKU. More information on [Purchase a commitment plan to use containers in disconnected environments](https://learn.microsoft.com/en-us/azure/cognitive-services/containers/disconnected-containers?tabs=stt#purchase-a-commitment-plan-to-use-containers-in-disconnected-environments).\n"},"storages":{"type":"array","items":{"$ref":"#/types/azure:cognitive/AIServicesStorage:AIServicesStorage"},"description":"A \u003cspan pulumi-lang-nodejs=\"`storage`\" pulumi-lang-dotnet=\"`Storage`\" pulumi-lang-go=\"`storage`\" pulumi-lang-python=\"`storage`\" pulumi-lang-yaml=\"`storage`\" pulumi-lang-java=\"`storage`\"\u003e`storage`\u003c/span\u003e block as defined below.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"requiredInputs":["resourceGroupName","skuName"],"stateInputs":{"description":"Input properties used for looking up and filtering AIServices resources.\n","properties":{"customSubdomainName":{"type":"string","description":"The subdomain name used for token-based authentication. This property is required when \u003cspan pulumi-lang-nodejs=\"`networkAcls`\" pulumi-lang-dotnet=\"`NetworkAcls`\" pulumi-lang-go=\"`networkAcls`\" pulumi-lang-python=\"`network_acls`\" pulumi-lang-yaml=\"`networkAcls`\" pulumi-lang-java=\"`networkAcls`\"\u003e`network_acls`\u003c/span\u003e is specified. Changing this forces a new resource to be created.\n\n\u003e **Note:** If you do not specify a \u003cspan pulumi-lang-nodejs=\"`customSubdomainName`\" pulumi-lang-dotnet=\"`CustomSubdomainName`\" pulumi-lang-go=\"`customSubdomainName`\" pulumi-lang-python=\"`custom_subdomain_name`\" pulumi-lang-yaml=\"`customSubdomainName`\" pulumi-lang-java=\"`customSubdomainName`\"\u003e`custom_subdomain_name`\u003c/span\u003e then you will not be able to attach a Private Endpoint to the resource.\n","willReplaceOnChanges":true},"customerManagedKey":{"$ref":"#/types/azure:cognitive/AIServicesCustomerManagedKey:AIServicesCustomerManagedKey","description":"A \u003cspan pulumi-lang-nodejs=\"`customerManagedKey`\" pulumi-lang-dotnet=\"`CustomerManagedKey`\" pulumi-lang-go=\"`customerManagedKey`\" pulumi-lang-python=\"`customer_managed_key`\" pulumi-lang-yaml=\"`customerManagedKey`\" pulumi-lang-java=\"`customerManagedKey`\"\u003e`customer_managed_key`\u003c/span\u003e block as documented below.\n"},"endpoint":{"type":"string","description":"The endpoint used to connect to the AI Services Account.\n"},"fqdns":{"type":"array","items":{"type":"string"},"description":"List of FQDNs allowed for the AI Services Account.\n"},"identity":{"$ref":"#/types/azure:cognitive/AIServicesIdentity:AIServicesIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"localAuthenticationEnabled":{"type":"boolean","description":"Whether local authentication is enabled for the AI Services Account. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the AI Services Account. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"networkAcls":{"$ref":"#/types/azure:cognitive/AIServicesNetworkAcls:AIServicesNetworkAcls","description":"A \u003cspan pulumi-lang-nodejs=\"`networkAcls`\" pulumi-lang-dotnet=\"`NetworkAcls`\" pulumi-lang-go=\"`networkAcls`\" pulumi-lang-python=\"`network_acls`\" pulumi-lang-yaml=\"`networkAcls`\" pulumi-lang-java=\"`networkAcls`\"\u003e`network_acls`\u003c/span\u003e block as defined below. When this property is specified, \u003cspan pulumi-lang-nodejs=\"`customSubdomainName`\" pulumi-lang-dotnet=\"`CustomSubdomainName`\" pulumi-lang-go=\"`customSubdomainName`\" pulumi-lang-python=\"`custom_subdomain_name`\" pulumi-lang-yaml=\"`customSubdomainName`\" pulumi-lang-java=\"`customSubdomainName`\"\u003e`custom_subdomain_name`\u003c/span\u003e is also required to be set.\n"},"outboundNetworkAccessRestricted":{"type":"boolean","description":"Whether outbound network access is restricted for the AI Services Account. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"primaryAccessKey":{"type":"string","description":"A primary access key which can be used to connect to the AI Services Account.\n","secret":true},"publicNetworkAccess":{"type":"string","description":"Whether public network access is allowed for the AI Services Account. Possible values are `Enabled` and `Disabled`. Defaults to `Enabled`.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the AI Services Account is created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"secondaryAccessKey":{"type":"string","description":"The secondary access key which can be used to connect to the AI Services Account.\n","secret":true},"skuName":{"type":"string","description":"Specifies the SKU Name for this AI Services Account. Possible values are `F0`, `F1`, `S0`, `S`, `S1`, `S2`, `S3`, `S4`, `S5`, `S6`, `P0`, `P1`, `P2`, `E0` and `DC0`.\n\n\u003e **Note:** SKU `DC0` is the commitment tier for AI Services Account containers running in disconnected environments. You must obtain approval from Microsoft by submitting the [request form](https://aka.ms/csdisconnectedcontainers) first, before you can use this SKU. More information on [Purchase a commitment plan to use containers in disconnected environments](https://learn.microsoft.com/en-us/azure/cognitive-services/containers/disconnected-containers?tabs=stt#purchase-a-commitment-plan-to-use-containers-in-disconnected-environments).\n"},"storages":{"type":"array","items":{"$ref":"#/types/azure:cognitive/AIServicesStorage:AIServicesStorage"},"description":"A \u003cspan pulumi-lang-nodejs=\"`storage`\" pulumi-lang-dotnet=\"`Storage`\" pulumi-lang-go=\"`storage`\" pulumi-lang-python=\"`storage`\" pulumi-lang-yaml=\"`storage`\" pulumi-lang-java=\"`storage`\"\u003e`storage`\u003c/span\u003e block as defined below.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"type":"object"}},"azure:cognitive/account:Account":{"description":"Manages a Cognitive Services Account.\n\n\u003e **Note:** The Cognitive Services Account manages the resource type for various Azure AI resource implementations, including Azure AI Foundry, Azure OpenAI, Azure Speech, Azure Vision and others. Each service shares the same control plane but exposes a different subset of developer APIs. Azure AI Foundry (kind = `AIServices`) provides the superset of capabilities. For more information, please see [Azure AI Foundry architecture](https://learn.microsoft.com/en-us/azure/ai-foundry/concepts/architecture).\n\n\u003e **Note:** The Azure Provider will attempt to Purge the Cognitive Services Account during deletion. This feature can be disabled using the \u003cspan pulumi-lang-nodejs=\"`features`\" pulumi-lang-dotnet=\"`Features`\" pulumi-lang-go=\"`features`\" pulumi-lang-python=\"`features`\" pulumi-lang-yaml=\"`features`\" pulumi-lang-java=\"`features`\"\u003e`features`\u003c/span\u003e block within the \u003cspan pulumi-lang-nodejs=\"`provider`\" pulumi-lang-dotnet=\"`Provider`\" pulumi-lang-go=\"`provider`\" pulumi-lang-python=\"`provider`\" pulumi-lang-yaml=\"`provider`\" pulumi-lang-java=\"`provider`\"\u003e`provider`\u003c/span\u003e block, see the provider documentation on the features block for more information.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleAccount = new azure.cognitive.Account(\"example\", {\n    name: \"example-account\",\n    location: example.location,\n    resourceGroupName: example.name,\n    kind: \"Face\",\n    skuName: \"S0\",\n    tags: {\n        Acceptance: \"Test\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_account = azure.cognitive.Account(\"example\",\n    name=\"example-account\",\n    location=example.location,\n    resource_group_name=example.name,\n    kind=\"Face\",\n    sku_name=\"S0\",\n    tags={\n        \"Acceptance\": \"Test\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleAccount = new Azure.Cognitive.Account(\"example\", new()\n    {\n        Name = \"example-account\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Kind = \"Face\",\n        SkuName = \"S0\",\n        Tags = \n        {\n            { \"Acceptance\", \"Test\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/cognitive\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cognitive.NewAccount(ctx, \"example\", \u0026cognitive.AccountArgs{\n\t\t\tName:              pulumi.String(\"example-account\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tKind:              pulumi.String(\"Face\"),\n\t\t\tSkuName:           pulumi.String(\"S0\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Acceptance\": pulumi.String(\"Test\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.cognitive.Account;\nimport com.pulumi.azure.cognitive.AccountArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"example-account\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .kind(\"Face\")\n            .skuName(\"S0\")\n            .tags(Map.of(\"Acceptance\", \"Test\"))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleAccount:\n    type: azure:cognitive:Account\n    name: example\n    properties:\n      name: example-account\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      kind: Face\n      skuName: S0\n      tags:\n        Acceptance: Test\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.CognitiveServices` - 2025-06-01\n\n* `Microsoft.Network` - 2025-01-01\n\n## Import\n\nCognitive Service Accounts can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:cognitive/account:Account account1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.CognitiveServices/accounts/account1\n```\n\n","properties":{"customQuestionAnsweringSearchServiceId":{"type":"string","description":"If \u003cspan pulumi-lang-nodejs=\"`kind`\" pulumi-lang-dotnet=\"`Kind`\" pulumi-lang-go=\"`kind`\" pulumi-lang-python=\"`kind`\" pulumi-lang-yaml=\"`kind`\" pulumi-lang-java=\"`kind`\"\u003e`kind`\u003c/span\u003e is `TextAnalytics` this specifies the ID of the Search service.\n"},"customQuestionAnsweringSearchServiceKey":{"type":"string","description":"If \u003cspan pulumi-lang-nodejs=\"`kind`\" pulumi-lang-dotnet=\"`Kind`\" pulumi-lang-go=\"`kind`\" pulumi-lang-python=\"`kind`\" pulumi-lang-yaml=\"`kind`\" pulumi-lang-java=\"`kind`\"\u003e`kind`\u003c/span\u003e is `TextAnalytics` this specifies the key of the Search service.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`customQuestionAnsweringSearchServiceId`\" pulumi-lang-dotnet=\"`CustomQuestionAnsweringSearchServiceId`\" pulumi-lang-go=\"`customQuestionAnsweringSearchServiceId`\" pulumi-lang-python=\"`custom_question_answering_search_service_id`\" pulumi-lang-yaml=\"`customQuestionAnsweringSearchServiceId`\" pulumi-lang-java=\"`customQuestionAnsweringSearchServiceId`\"\u003e`custom_question_answering_search_service_id`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`customQuestionAnsweringSearchServiceKey`\" pulumi-lang-dotnet=\"`CustomQuestionAnsweringSearchServiceKey`\" pulumi-lang-go=\"`customQuestionAnsweringSearchServiceKey`\" pulumi-lang-python=\"`custom_question_answering_search_service_key`\" pulumi-lang-yaml=\"`customQuestionAnsweringSearchServiceKey`\" pulumi-lang-java=\"`customQuestionAnsweringSearchServiceKey`\"\u003e`custom_question_answering_search_service_key`\u003c/span\u003e are used for [Custom Question Answering, the renamed version of QnA Maker](https://docs.microsoft.com/azure/cognitive-services/qnamaker/custom-question-answering), while \u003cspan pulumi-lang-nodejs=\"`qnaRuntimeEndpoint`\" pulumi-lang-dotnet=\"`QnaRuntimeEndpoint`\" pulumi-lang-go=\"`qnaRuntimeEndpoint`\" pulumi-lang-python=\"`qna_runtime_endpoint`\" pulumi-lang-yaml=\"`qnaRuntimeEndpoint`\" pulumi-lang-java=\"`qnaRuntimeEndpoint`\"\u003e`qna_runtime_endpoint`\u003c/span\u003e is used for [the old version of QnA Maker](https://docs.microsoft.com/azure/cognitive-services/qnamaker/overview/overview)\n","secret":true},"customSubdomainName":{"type":"string","description":"The subdomain name used for Entra ID token-based authentication. This attribute is required when \u003cspan pulumi-lang-nodejs=\"`networkAcls`\" pulumi-lang-dotnet=\"`NetworkAcls`\" pulumi-lang-go=\"`networkAcls`\" pulumi-lang-python=\"`network_acls`\" pulumi-lang-yaml=\"`networkAcls`\" pulumi-lang-java=\"`networkAcls`\"\u003e`network_acls`\u003c/span\u003e is specified. This attribute is also required when using the OpenAI service with libraries which assume the Azure OpenAI endpoint is a subdomain on `https://openai.azure.com/`, eg. `https://\u003ccustom_subdomain_name\u003e.openai.azure.com/`. This can be specified during creation or added later, but once set changing this forces a new resource to be created.\n\n\u003e **Note:** If you do not specify a \u003cspan pulumi-lang-nodejs=\"`customSubdomainName`\" pulumi-lang-dotnet=\"`CustomSubdomainName`\" pulumi-lang-go=\"`customSubdomainName`\" pulumi-lang-python=\"`custom_subdomain_name`\" pulumi-lang-yaml=\"`customSubdomainName`\" pulumi-lang-java=\"`customSubdomainName`\"\u003e`custom_subdomain_name`\u003c/span\u003e then you will not be able to attach a Private Endpoint to the resource. Moreover, functionality that requires Entra ID authentication, including Agent service, will not be accessible.\n"},"customerManagedKey":{"$ref":"#/types/azure:cognitive/AccountCustomerManagedKey:AccountCustomerManagedKey","description":"A \u003cspan pulumi-lang-nodejs=\"`customerManagedKey`\" pulumi-lang-dotnet=\"`CustomerManagedKey`\" pulumi-lang-go=\"`customerManagedKey`\" pulumi-lang-python=\"`customer_managed_key`\" pulumi-lang-yaml=\"`customerManagedKey`\" pulumi-lang-java=\"`customerManagedKey`\"\u003e`customer_managed_key`\u003c/span\u003e block as documented below.\n"},"dynamicThrottlingEnabled":{"type":"boolean","description":"Whether to enable the dynamic throttling for this Cognitive Service Account. This attribute cannot be set when the \u003cspan pulumi-lang-nodejs=\"`kind`\" pulumi-lang-dotnet=\"`Kind`\" pulumi-lang-go=\"`kind`\" pulumi-lang-python=\"`kind`\" pulumi-lang-yaml=\"`kind`\" pulumi-lang-java=\"`kind`\"\u003e`kind`\u003c/span\u003e is `OpenAI` or `AIServices`.\n"},"endpoint":{"type":"string","description":"The endpoint used to connect to the Cognitive Service Account.\n"},"fqdns":{"type":"array","items":{"type":"string"},"description":"List of FQDNs allowed for the Cognitive Account.\n"},"identity":{"$ref":"#/types/azure:cognitive/AccountIdentity:AccountIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"kind":{"type":"string","description":"Specifies the type of Cognitive Service Account that should be created. Possible values are `Academic`, `AIServices`, `AnomalyDetector`, `Bing.Autosuggest`, `Bing.Autosuggest.v7`, `Bing.CustomSearch`, `Bing.Search`, `Bing.Search.v7`, `Bing.Speech`, `Bing.SpellCheck`, `Bing.SpellCheck.v7`, `CognitiveServices`, `ComputerVision`, `ContentModerator`, `ContentSafety`, `CustomSpeech`, `CustomVision.Prediction`, `CustomVision.Training`, `Emotion`, `Face`, `FormRecognizer`, `ImmersiveReader`, `LUIS`, `LUIS.Authoring`, `MetricsAdvisor`, `OpenAI`, `Personalizer`, `QnAMaker`, `Recommendations`, `SpeakerRecognition`, `Speech`, `SpeechServices`, `SpeechTranslation`, `TextAnalytics`, `TextTranslation` and `WebLM`. Changing this forces a new resource to be created except when upgrading the Cognitive Service Account from `OpenAI` to `AIServices` or rolling back from `AIServices` to `OpenAI`. More information on [upgrade and rollback scenario](https://learn.microsoft.com/en-us/azure/ai-foundry/how-to/upgrade-azure-openai?tabs=portal).\n\n\u003e **Note:** New Bing Search resources cannot be created as their APIs are moving from Cognitive Services Platform to new surface area under Microsoft.com. Starting from October 30, 2020, existing instances of Bing Search APIs provisioned via Cognitive Services will be continuously supported for next 3 years or till the end of respective Enterprise Agreement, whichever happens first.\n\n\u003e **Note:** You must create your first Face, Text Analytics, or Computer Vision resources from the Azure portal to review and acknowledge the terms and conditions. In Azure Portal, the checkbox to accept terms and conditions is only displayed when a US region is selected. More information on [Prerequisites](https://docs.microsoft.com/azure/cognitive-services/cognitive-services-apis-create-account-cli?tabs=windows#prerequisites).\n"},"localAuthEnabled":{"type":"boolean","description":"Whether local authentication methods is enabled for the Cognitive Account. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n"},"metricsAdvisorAadClientId":{"type":"string","description":"The Azure AD Client ID (Application ID). This attribute is only set when kind is `MetricsAdvisor`. Changing this forces a new resource to be created.\n"},"metricsAdvisorAadTenantId":{"type":"string","description":"The Azure AD Tenant ID. This attribute is only set when kind is `MetricsAdvisor`. Changing this forces a new resource to be created.\n"},"metricsAdvisorSuperUserName":{"type":"string","description":"The super user of Metrics Advisor. This attribute is only set when kind is `MetricsAdvisor`. Changing this forces a new resource to be created.\n"},"metricsAdvisorWebsiteName":{"type":"string","description":"The website name of Metrics Advisor. This attribute is only set when kind is `MetricsAdvisor`. Changing this forces a new resource to be created.\n\n\u003e **Note:** This URL is mandatory if the \u003cspan pulumi-lang-nodejs=\"`kind`\" pulumi-lang-dotnet=\"`Kind`\" pulumi-lang-go=\"`kind`\" pulumi-lang-python=\"`kind`\" pulumi-lang-yaml=\"`kind`\" pulumi-lang-java=\"`kind`\"\u003e`kind`\u003c/span\u003e is set to `QnAMaker`.\n"},"name":{"type":"string","description":"Specifies the name of the Cognitive Service Account. Changing this forces a new resource to be created.\n"},"networkAcls":{"$ref":"#/types/azure:cognitive/AccountNetworkAcls:AccountNetworkAcls","description":"A \u003cspan pulumi-lang-nodejs=\"`networkAcls`\" pulumi-lang-dotnet=\"`NetworkAcls`\" pulumi-lang-go=\"`networkAcls`\" pulumi-lang-python=\"`network_acls`\" pulumi-lang-yaml=\"`networkAcls`\" pulumi-lang-java=\"`networkAcls`\"\u003e`network_acls`\u003c/span\u003e block as defined below. When this property is specified, \u003cspan pulumi-lang-nodejs=\"`customSubdomainName`\" pulumi-lang-dotnet=\"`CustomSubdomainName`\" pulumi-lang-go=\"`customSubdomainName`\" pulumi-lang-python=\"`custom_subdomain_name`\" pulumi-lang-yaml=\"`customSubdomainName`\" pulumi-lang-java=\"`customSubdomainName`\"\u003e`custom_subdomain_name`\u003c/span\u003e is also required to be set.\n"},"networkInjection":{"$ref":"#/types/azure:cognitive/AccountNetworkInjection:AccountNetworkInjection","description":"A \u003cspan pulumi-lang-nodejs=\"`networkInjection`\" pulumi-lang-dotnet=\"`NetworkInjection`\" pulumi-lang-go=\"`networkInjection`\" pulumi-lang-python=\"`network_injection`\" pulumi-lang-yaml=\"`networkInjection`\" pulumi-lang-java=\"`networkInjection`\"\u003e`network_injection`\u003c/span\u003e block as defined below. Only applicable if the \u003cspan pulumi-lang-nodejs=\"`kind`\" pulumi-lang-dotnet=\"`Kind`\" pulumi-lang-go=\"`kind`\" pulumi-lang-python=\"`kind`\" pulumi-lang-yaml=\"`kind`\" pulumi-lang-java=\"`kind`\"\u003e`kind`\u003c/span\u003e is set to `AIServices`.\n"},"outboundNetworkAccessRestricted":{"type":"boolean","description":"Whether outbound network access is restricted for the Cognitive Account. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"primaryAccessKey":{"type":"string","description":"A primary access key which can be used to connect to the Cognitive Service Account.\n","secret":true},"projectManagementEnabled":{"type":"boolean","description":"Whether project management is enabled. Can only be set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e when \u003cspan pulumi-lang-nodejs=\"`kind`\" pulumi-lang-dotnet=\"`Kind`\" pulumi-lang-go=\"`kind`\" pulumi-lang-python=\"`kind`\" pulumi-lang-yaml=\"`kind`\" pulumi-lang-java=\"`kind`\"\u003e`kind`\u003c/span\u003e is set to `AIServices`. Once enabled, disabling \u003cspan pulumi-lang-nodejs=\"`projectManagementEnabled`\" pulumi-lang-dotnet=\"`ProjectManagementEnabled`\" pulumi-lang-go=\"`projectManagementEnabled`\" pulumi-lang-python=\"`project_management_enabled`\" pulumi-lang-yaml=\"`projectManagementEnabled`\" pulumi-lang-java=\"`projectManagementEnabled`\"\u003e`project_management_enabled`\u003c/span\u003e forces a new resource to be created unless \u003cspan pulumi-lang-nodejs=\"`kind`\" pulumi-lang-dotnet=\"`Kind`\" pulumi-lang-go=\"`kind`\" pulumi-lang-python=\"`kind`\" pulumi-lang-yaml=\"`kind`\" pulumi-lang-java=\"`kind`\"\u003e`kind`\u003c/span\u003e is set to `OpenAI`. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"publicNetworkAccessEnabled":{"type":"boolean","description":"Whether public network access is allowed for the Cognitive Account. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"qnaRuntimeEndpoint":{"type":"string","description":"A URL to link a QnAMaker cognitive account to a QnA runtime.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the Cognitive Service Account is created. Changing this forces a new resource to be created.\n"},"secondaryAccessKey":{"type":"string","description":"The secondary access key which can be used to connect to the Cognitive Service Account.\n","secret":true},"skuName":{"type":"string","description":"Specifies the SKU Name for this Cognitive Service Account. Possible values are `C2`, `C3`, `C4`, `D3`, `DC0`, `E0`, `F0`, `F1`, `P0`, `P1`, `P2`, `S`, `S0`, `S1`, `S2`, `S3`, `S4`, `S5` and `S6`.\n\n\u003e **Note:** SKU `DC0` is the commitment tier for Cognitive Services containers running in disconnected environments. You must obtain approval from Microsoft by submitting the [request form](https://aka.ms/csdisconnectedcontainers) first, before you can use this SKU. More information on [Purchase a commitment plan to use containers in disconnected environments](https://learn.microsoft.com/en-us/azure/cognitive-services/containers/disconnected-containers?tabs=stt#purchase-a-commitment-plan-to-use-containers-in-disconnected-environments).\n"},"storages":{"type":"array","items":{"$ref":"#/types/azure:cognitive/AccountStorage:AccountStorage"},"description":"A \u003cspan pulumi-lang-nodejs=\"`storage`\" pulumi-lang-dotnet=\"`Storage`\" pulumi-lang-go=\"`storage`\" pulumi-lang-python=\"`storage`\" pulumi-lang-yaml=\"`storage`\" pulumi-lang-java=\"`storage`\"\u003e`storage`\u003c/span\u003e block as defined below.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"required":["endpoint","kind","location","name","primaryAccessKey","resourceGroupName","secondaryAccessKey","skuName"],"inputProperties":{"customQuestionAnsweringSearchServiceId":{"type":"string","description":"If \u003cspan pulumi-lang-nodejs=\"`kind`\" pulumi-lang-dotnet=\"`Kind`\" pulumi-lang-go=\"`kind`\" pulumi-lang-python=\"`kind`\" pulumi-lang-yaml=\"`kind`\" pulumi-lang-java=\"`kind`\"\u003e`kind`\u003c/span\u003e is `TextAnalytics` this specifies the ID of the Search service.\n"},"customQuestionAnsweringSearchServiceKey":{"type":"string","description":"If \u003cspan pulumi-lang-nodejs=\"`kind`\" pulumi-lang-dotnet=\"`Kind`\" pulumi-lang-go=\"`kind`\" pulumi-lang-python=\"`kind`\" pulumi-lang-yaml=\"`kind`\" pulumi-lang-java=\"`kind`\"\u003e`kind`\u003c/span\u003e is `TextAnalytics` this specifies the key of the Search service.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`customQuestionAnsweringSearchServiceId`\" pulumi-lang-dotnet=\"`CustomQuestionAnsweringSearchServiceId`\" pulumi-lang-go=\"`customQuestionAnsweringSearchServiceId`\" pulumi-lang-python=\"`custom_question_answering_search_service_id`\" pulumi-lang-yaml=\"`customQuestionAnsweringSearchServiceId`\" pulumi-lang-java=\"`customQuestionAnsweringSearchServiceId`\"\u003e`custom_question_answering_search_service_id`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`customQuestionAnsweringSearchServiceKey`\" pulumi-lang-dotnet=\"`CustomQuestionAnsweringSearchServiceKey`\" pulumi-lang-go=\"`customQuestionAnsweringSearchServiceKey`\" pulumi-lang-python=\"`custom_question_answering_search_service_key`\" pulumi-lang-yaml=\"`customQuestionAnsweringSearchServiceKey`\" pulumi-lang-java=\"`customQuestionAnsweringSearchServiceKey`\"\u003e`custom_question_answering_search_service_key`\u003c/span\u003e are used for [Custom Question Answering, the renamed version of QnA Maker](https://docs.microsoft.com/azure/cognitive-services/qnamaker/custom-question-answering), while \u003cspan pulumi-lang-nodejs=\"`qnaRuntimeEndpoint`\" pulumi-lang-dotnet=\"`QnaRuntimeEndpoint`\" pulumi-lang-go=\"`qnaRuntimeEndpoint`\" pulumi-lang-python=\"`qna_runtime_endpoint`\" pulumi-lang-yaml=\"`qnaRuntimeEndpoint`\" pulumi-lang-java=\"`qnaRuntimeEndpoint`\"\u003e`qna_runtime_endpoint`\u003c/span\u003e is used for [the old version of QnA Maker](https://docs.microsoft.com/azure/cognitive-services/qnamaker/overview/overview)\n","secret":true},"customSubdomainName":{"type":"string","description":"The subdomain name used for Entra ID token-based authentication. This attribute is required when \u003cspan pulumi-lang-nodejs=\"`networkAcls`\" pulumi-lang-dotnet=\"`NetworkAcls`\" pulumi-lang-go=\"`networkAcls`\" pulumi-lang-python=\"`network_acls`\" pulumi-lang-yaml=\"`networkAcls`\" pulumi-lang-java=\"`networkAcls`\"\u003e`network_acls`\u003c/span\u003e is specified. This attribute is also required when using the OpenAI service with libraries which assume the Azure OpenAI endpoint is a subdomain on `https://openai.azure.com/`, eg. `https://\u003ccustom_subdomain_name\u003e.openai.azure.com/`. This can be specified during creation or added later, but once set changing this forces a new resource to be created.\n\n\u003e **Note:** If you do not specify a \u003cspan pulumi-lang-nodejs=\"`customSubdomainName`\" pulumi-lang-dotnet=\"`CustomSubdomainName`\" pulumi-lang-go=\"`customSubdomainName`\" pulumi-lang-python=\"`custom_subdomain_name`\" pulumi-lang-yaml=\"`customSubdomainName`\" pulumi-lang-java=\"`customSubdomainName`\"\u003e`custom_subdomain_name`\u003c/span\u003e then you will not be able to attach a Private Endpoint to the resource. Moreover, functionality that requires Entra ID authentication, including Agent service, will not be accessible.\n"},"customerManagedKey":{"$ref":"#/types/azure:cognitive/AccountCustomerManagedKey:AccountCustomerManagedKey","description":"A \u003cspan pulumi-lang-nodejs=\"`customerManagedKey`\" pulumi-lang-dotnet=\"`CustomerManagedKey`\" pulumi-lang-go=\"`customerManagedKey`\" pulumi-lang-python=\"`customer_managed_key`\" pulumi-lang-yaml=\"`customerManagedKey`\" pulumi-lang-java=\"`customerManagedKey`\"\u003e`customer_managed_key`\u003c/span\u003e block as documented below.\n"},"dynamicThrottlingEnabled":{"type":"boolean","description":"Whether to enable the dynamic throttling for this Cognitive Service Account. This attribute cannot be set when the \u003cspan pulumi-lang-nodejs=\"`kind`\" pulumi-lang-dotnet=\"`Kind`\" pulumi-lang-go=\"`kind`\" pulumi-lang-python=\"`kind`\" pulumi-lang-yaml=\"`kind`\" pulumi-lang-java=\"`kind`\"\u003e`kind`\u003c/span\u003e is `OpenAI` or `AIServices`.\n"},"fqdns":{"type":"array","items":{"type":"string"},"description":"List of FQDNs allowed for the Cognitive Account.\n"},"identity":{"$ref":"#/types/azure:cognitive/AccountIdentity:AccountIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"kind":{"type":"string","description":"Specifies the type of Cognitive Service Account that should be created. Possible values are `Academic`, `AIServices`, `AnomalyDetector`, `Bing.Autosuggest`, `Bing.Autosuggest.v7`, `Bing.CustomSearch`, `Bing.Search`, `Bing.Search.v7`, `Bing.Speech`, `Bing.SpellCheck`, `Bing.SpellCheck.v7`, `CognitiveServices`, `ComputerVision`, `ContentModerator`, `ContentSafety`, `CustomSpeech`, `CustomVision.Prediction`, `CustomVision.Training`, `Emotion`, `Face`, `FormRecognizer`, `ImmersiveReader`, `LUIS`, `LUIS.Authoring`, `MetricsAdvisor`, `OpenAI`, `Personalizer`, `QnAMaker`, `Recommendations`, `SpeakerRecognition`, `Speech`, `SpeechServices`, `SpeechTranslation`, `TextAnalytics`, `TextTranslation` and `WebLM`. Changing this forces a new resource to be created except when upgrading the Cognitive Service Account from `OpenAI` to `AIServices` or rolling back from `AIServices` to `OpenAI`. More information on [upgrade and rollback scenario](https://learn.microsoft.com/en-us/azure/ai-foundry/how-to/upgrade-azure-openai?tabs=portal).\n\n\u003e **Note:** New Bing Search resources cannot be created as their APIs are moving from Cognitive Services Platform to new surface area under Microsoft.com. Starting from October 30, 2020, existing instances of Bing Search APIs provisioned via Cognitive Services will be continuously supported for next 3 years or till the end of respective Enterprise Agreement, whichever happens first.\n\n\u003e **Note:** You must create your first Face, Text Analytics, or Computer Vision resources from the Azure portal to review and acknowledge the terms and conditions. In Azure Portal, the checkbox to accept terms and conditions is only displayed when a US region is selected. More information on [Prerequisites](https://docs.microsoft.com/azure/cognitive-services/cognitive-services-apis-create-account-cli?tabs=windows#prerequisites).\n"},"localAuthEnabled":{"type":"boolean","description":"Whether local authentication methods is enabled for the Cognitive Account. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"metricsAdvisorAadClientId":{"type":"string","description":"The Azure AD Client ID (Application ID). This attribute is only set when kind is `MetricsAdvisor`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"metricsAdvisorAadTenantId":{"type":"string","description":"The Azure AD Tenant ID. This attribute is only set when kind is `MetricsAdvisor`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"metricsAdvisorSuperUserName":{"type":"string","description":"The super user of Metrics Advisor. This attribute is only set when kind is `MetricsAdvisor`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"metricsAdvisorWebsiteName":{"type":"string","description":"The website name of Metrics Advisor. This attribute is only set when kind is `MetricsAdvisor`. Changing this forces a new resource to be created.\n\n\u003e **Note:** This URL is mandatory if the \u003cspan pulumi-lang-nodejs=\"`kind`\" pulumi-lang-dotnet=\"`Kind`\" pulumi-lang-go=\"`kind`\" pulumi-lang-python=\"`kind`\" pulumi-lang-yaml=\"`kind`\" pulumi-lang-java=\"`kind`\"\u003e`kind`\u003c/span\u003e is set to `QnAMaker`.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the Cognitive Service Account. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"networkAcls":{"$ref":"#/types/azure:cognitive/AccountNetworkAcls:AccountNetworkAcls","description":"A \u003cspan pulumi-lang-nodejs=\"`networkAcls`\" pulumi-lang-dotnet=\"`NetworkAcls`\" pulumi-lang-go=\"`networkAcls`\" pulumi-lang-python=\"`network_acls`\" pulumi-lang-yaml=\"`networkAcls`\" pulumi-lang-java=\"`networkAcls`\"\u003e`network_acls`\u003c/span\u003e block as defined below. When this property is specified, \u003cspan pulumi-lang-nodejs=\"`customSubdomainName`\" pulumi-lang-dotnet=\"`CustomSubdomainName`\" pulumi-lang-go=\"`customSubdomainName`\" pulumi-lang-python=\"`custom_subdomain_name`\" pulumi-lang-yaml=\"`customSubdomainName`\" pulumi-lang-java=\"`customSubdomainName`\"\u003e`custom_subdomain_name`\u003c/span\u003e is also required to be set.\n"},"networkInjection":{"$ref":"#/types/azure:cognitive/AccountNetworkInjection:AccountNetworkInjection","description":"A \u003cspan pulumi-lang-nodejs=\"`networkInjection`\" pulumi-lang-dotnet=\"`NetworkInjection`\" pulumi-lang-go=\"`networkInjection`\" pulumi-lang-python=\"`network_injection`\" pulumi-lang-yaml=\"`networkInjection`\" pulumi-lang-java=\"`networkInjection`\"\u003e`network_injection`\u003c/span\u003e block as defined below. Only applicable if the \u003cspan pulumi-lang-nodejs=\"`kind`\" pulumi-lang-dotnet=\"`Kind`\" pulumi-lang-go=\"`kind`\" pulumi-lang-python=\"`kind`\" pulumi-lang-yaml=\"`kind`\" pulumi-lang-java=\"`kind`\"\u003e`kind`\u003c/span\u003e is set to `AIServices`.\n"},"outboundNetworkAccessRestricted":{"type":"boolean","description":"Whether outbound network access is restricted for the Cognitive Account. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"projectManagementEnabled":{"type":"boolean","description":"Whether project management is enabled. Can only be set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e when \u003cspan pulumi-lang-nodejs=\"`kind`\" pulumi-lang-dotnet=\"`Kind`\" pulumi-lang-go=\"`kind`\" pulumi-lang-python=\"`kind`\" pulumi-lang-yaml=\"`kind`\" pulumi-lang-java=\"`kind`\"\u003e`kind`\u003c/span\u003e is set to `AIServices`. Once enabled, disabling \u003cspan pulumi-lang-nodejs=\"`projectManagementEnabled`\" pulumi-lang-dotnet=\"`ProjectManagementEnabled`\" pulumi-lang-go=\"`projectManagementEnabled`\" pulumi-lang-python=\"`project_management_enabled`\" pulumi-lang-yaml=\"`projectManagementEnabled`\" pulumi-lang-java=\"`projectManagementEnabled`\"\u003e`project_management_enabled`\u003c/span\u003e forces a new resource to be created unless \u003cspan pulumi-lang-nodejs=\"`kind`\" pulumi-lang-dotnet=\"`Kind`\" pulumi-lang-go=\"`kind`\" pulumi-lang-python=\"`kind`\" pulumi-lang-yaml=\"`kind`\" pulumi-lang-java=\"`kind`\"\u003e`kind`\u003c/span\u003e is set to `OpenAI`. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"publicNetworkAccessEnabled":{"type":"boolean","description":"Whether public network access is allowed for the Cognitive Account. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"qnaRuntimeEndpoint":{"type":"string","description":"A URL to link a QnAMaker cognitive account to a QnA runtime.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the Cognitive Service Account is created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"skuName":{"type":"string","description":"Specifies the SKU Name for this Cognitive Service Account. Possible values are `C2`, `C3`, `C4`, `D3`, `DC0`, `E0`, `F0`, `F1`, `P0`, `P1`, `P2`, `S`, `S0`, `S1`, `S2`, `S3`, `S4`, `S5` and `S6`.\n\n\u003e **Note:** SKU `DC0` is the commitment tier for Cognitive Services containers running in disconnected environments. You must obtain approval from Microsoft by submitting the [request form](https://aka.ms/csdisconnectedcontainers) first, before you can use this SKU. More information on [Purchase a commitment plan to use containers in disconnected environments](https://learn.microsoft.com/en-us/azure/cognitive-services/containers/disconnected-containers?tabs=stt#purchase-a-commitment-plan-to-use-containers-in-disconnected-environments).\n"},"storages":{"type":"array","items":{"$ref":"#/types/azure:cognitive/AccountStorage:AccountStorage"},"description":"A \u003cspan pulumi-lang-nodejs=\"`storage`\" pulumi-lang-dotnet=\"`Storage`\" pulumi-lang-go=\"`storage`\" pulumi-lang-python=\"`storage`\" pulumi-lang-yaml=\"`storage`\" pulumi-lang-java=\"`storage`\"\u003e`storage`\u003c/span\u003e block as defined below.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"requiredInputs":["kind","resourceGroupName","skuName"],"stateInputs":{"description":"Input properties used for looking up and filtering Account resources.\n","properties":{"customQuestionAnsweringSearchServiceId":{"type":"string","description":"If \u003cspan pulumi-lang-nodejs=\"`kind`\" pulumi-lang-dotnet=\"`Kind`\" pulumi-lang-go=\"`kind`\" pulumi-lang-python=\"`kind`\" pulumi-lang-yaml=\"`kind`\" pulumi-lang-java=\"`kind`\"\u003e`kind`\u003c/span\u003e is `TextAnalytics` this specifies the ID of the Search service.\n"},"customQuestionAnsweringSearchServiceKey":{"type":"string","description":"If \u003cspan pulumi-lang-nodejs=\"`kind`\" pulumi-lang-dotnet=\"`Kind`\" pulumi-lang-go=\"`kind`\" pulumi-lang-python=\"`kind`\" pulumi-lang-yaml=\"`kind`\" pulumi-lang-java=\"`kind`\"\u003e`kind`\u003c/span\u003e is `TextAnalytics` this specifies the key of the Search service.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`customQuestionAnsweringSearchServiceId`\" pulumi-lang-dotnet=\"`CustomQuestionAnsweringSearchServiceId`\" pulumi-lang-go=\"`customQuestionAnsweringSearchServiceId`\" pulumi-lang-python=\"`custom_question_answering_search_service_id`\" pulumi-lang-yaml=\"`customQuestionAnsweringSearchServiceId`\" pulumi-lang-java=\"`customQuestionAnsweringSearchServiceId`\"\u003e`custom_question_answering_search_service_id`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`customQuestionAnsweringSearchServiceKey`\" pulumi-lang-dotnet=\"`CustomQuestionAnsweringSearchServiceKey`\" pulumi-lang-go=\"`customQuestionAnsweringSearchServiceKey`\" pulumi-lang-python=\"`custom_question_answering_search_service_key`\" pulumi-lang-yaml=\"`customQuestionAnsweringSearchServiceKey`\" pulumi-lang-java=\"`customQuestionAnsweringSearchServiceKey`\"\u003e`custom_question_answering_search_service_key`\u003c/span\u003e are used for [Custom Question Answering, the renamed version of QnA Maker](https://docs.microsoft.com/azure/cognitive-services/qnamaker/custom-question-answering), while \u003cspan pulumi-lang-nodejs=\"`qnaRuntimeEndpoint`\" pulumi-lang-dotnet=\"`QnaRuntimeEndpoint`\" pulumi-lang-go=\"`qnaRuntimeEndpoint`\" pulumi-lang-python=\"`qna_runtime_endpoint`\" pulumi-lang-yaml=\"`qnaRuntimeEndpoint`\" pulumi-lang-java=\"`qnaRuntimeEndpoint`\"\u003e`qna_runtime_endpoint`\u003c/span\u003e is used for [the old version of QnA Maker](https://docs.microsoft.com/azure/cognitive-services/qnamaker/overview/overview)\n","secret":true},"customSubdomainName":{"type":"string","description":"The subdomain name used for Entra ID token-based authentication. This attribute is required when \u003cspan pulumi-lang-nodejs=\"`networkAcls`\" pulumi-lang-dotnet=\"`NetworkAcls`\" pulumi-lang-go=\"`networkAcls`\" pulumi-lang-python=\"`network_acls`\" pulumi-lang-yaml=\"`networkAcls`\" pulumi-lang-java=\"`networkAcls`\"\u003e`network_acls`\u003c/span\u003e is specified. This attribute is also required when using the OpenAI service with libraries which assume the Azure OpenAI endpoint is a subdomain on `https://openai.azure.com/`, eg. `https://\u003ccustom_subdomain_name\u003e.openai.azure.com/`. This can be specified during creation or added later, but once set changing this forces a new resource to be created.\n\n\u003e **Note:** If you do not specify a \u003cspan pulumi-lang-nodejs=\"`customSubdomainName`\" pulumi-lang-dotnet=\"`CustomSubdomainName`\" pulumi-lang-go=\"`customSubdomainName`\" pulumi-lang-python=\"`custom_subdomain_name`\" pulumi-lang-yaml=\"`customSubdomainName`\" pulumi-lang-java=\"`customSubdomainName`\"\u003e`custom_subdomain_name`\u003c/span\u003e then you will not be able to attach a Private Endpoint to the resource. Moreover, functionality that requires Entra ID authentication, including Agent service, will not be accessible.\n"},"customerManagedKey":{"$ref":"#/types/azure:cognitive/AccountCustomerManagedKey:AccountCustomerManagedKey","description":"A \u003cspan pulumi-lang-nodejs=\"`customerManagedKey`\" pulumi-lang-dotnet=\"`CustomerManagedKey`\" pulumi-lang-go=\"`customerManagedKey`\" pulumi-lang-python=\"`customer_managed_key`\" pulumi-lang-yaml=\"`customerManagedKey`\" pulumi-lang-java=\"`customerManagedKey`\"\u003e`customer_managed_key`\u003c/span\u003e block as documented below.\n"},"dynamicThrottlingEnabled":{"type":"boolean","description":"Whether to enable the dynamic throttling for this Cognitive Service Account. This attribute cannot be set when the \u003cspan pulumi-lang-nodejs=\"`kind`\" pulumi-lang-dotnet=\"`Kind`\" pulumi-lang-go=\"`kind`\" pulumi-lang-python=\"`kind`\" pulumi-lang-yaml=\"`kind`\" pulumi-lang-java=\"`kind`\"\u003e`kind`\u003c/span\u003e is `OpenAI` or `AIServices`.\n"},"endpoint":{"type":"string","description":"The endpoint used to connect to the Cognitive Service Account.\n"},"fqdns":{"type":"array","items":{"type":"string"},"description":"List of FQDNs allowed for the Cognitive Account.\n"},"identity":{"$ref":"#/types/azure:cognitive/AccountIdentity:AccountIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"kind":{"type":"string","description":"Specifies the type of Cognitive Service Account that should be created. Possible values are `Academic`, `AIServices`, `AnomalyDetector`, `Bing.Autosuggest`, `Bing.Autosuggest.v7`, `Bing.CustomSearch`, `Bing.Search`, `Bing.Search.v7`, `Bing.Speech`, `Bing.SpellCheck`, `Bing.SpellCheck.v7`, `CognitiveServices`, `ComputerVision`, `ContentModerator`, `ContentSafety`, `CustomSpeech`, `CustomVision.Prediction`, `CustomVision.Training`, `Emotion`, `Face`, `FormRecognizer`, `ImmersiveReader`, `LUIS`, `LUIS.Authoring`, `MetricsAdvisor`, `OpenAI`, `Personalizer`, `QnAMaker`, `Recommendations`, `SpeakerRecognition`, `Speech`, `SpeechServices`, `SpeechTranslation`, `TextAnalytics`, `TextTranslation` and `WebLM`. Changing this forces a new resource to be created except when upgrading the Cognitive Service Account from `OpenAI` to `AIServices` or rolling back from `AIServices` to `OpenAI`. More information on [upgrade and rollback scenario](https://learn.microsoft.com/en-us/azure/ai-foundry/how-to/upgrade-azure-openai?tabs=portal).\n\n\u003e **Note:** New Bing Search resources cannot be created as their APIs are moving from Cognitive Services Platform to new surface area under Microsoft.com. Starting from October 30, 2020, existing instances of Bing Search APIs provisioned via Cognitive Services will be continuously supported for next 3 years or till the end of respective Enterprise Agreement, whichever happens first.\n\n\u003e **Note:** You must create your first Face, Text Analytics, or Computer Vision resources from the Azure portal to review and acknowledge the terms and conditions. In Azure Portal, the checkbox to accept terms and conditions is only displayed when a US region is selected. More information on [Prerequisites](https://docs.microsoft.com/azure/cognitive-services/cognitive-services-apis-create-account-cli?tabs=windows#prerequisites).\n"},"localAuthEnabled":{"type":"boolean","description":"Whether local authentication methods is enabled for the Cognitive Account. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"metricsAdvisorAadClientId":{"type":"string","description":"The Azure AD Client ID (Application ID). This attribute is only set when kind is `MetricsAdvisor`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"metricsAdvisorAadTenantId":{"type":"string","description":"The Azure AD Tenant ID. This attribute is only set when kind is `MetricsAdvisor`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"metricsAdvisorSuperUserName":{"type":"string","description":"The super user of Metrics Advisor. This attribute is only set when kind is `MetricsAdvisor`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"metricsAdvisorWebsiteName":{"type":"string","description":"The website name of Metrics Advisor. This attribute is only set when kind is `MetricsAdvisor`. Changing this forces a new resource to be created.\n\n\u003e **Note:** This URL is mandatory if the \u003cspan pulumi-lang-nodejs=\"`kind`\" pulumi-lang-dotnet=\"`Kind`\" pulumi-lang-go=\"`kind`\" pulumi-lang-python=\"`kind`\" pulumi-lang-yaml=\"`kind`\" pulumi-lang-java=\"`kind`\"\u003e`kind`\u003c/span\u003e is set to `QnAMaker`.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the Cognitive Service Account. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"networkAcls":{"$ref":"#/types/azure:cognitive/AccountNetworkAcls:AccountNetworkAcls","description":"A \u003cspan pulumi-lang-nodejs=\"`networkAcls`\" pulumi-lang-dotnet=\"`NetworkAcls`\" pulumi-lang-go=\"`networkAcls`\" pulumi-lang-python=\"`network_acls`\" pulumi-lang-yaml=\"`networkAcls`\" pulumi-lang-java=\"`networkAcls`\"\u003e`network_acls`\u003c/span\u003e block as defined below. When this property is specified, \u003cspan pulumi-lang-nodejs=\"`customSubdomainName`\" pulumi-lang-dotnet=\"`CustomSubdomainName`\" pulumi-lang-go=\"`customSubdomainName`\" pulumi-lang-python=\"`custom_subdomain_name`\" pulumi-lang-yaml=\"`customSubdomainName`\" pulumi-lang-java=\"`customSubdomainName`\"\u003e`custom_subdomain_name`\u003c/span\u003e is also required to be set.\n"},"networkInjection":{"$ref":"#/types/azure:cognitive/AccountNetworkInjection:AccountNetworkInjection","description":"A \u003cspan pulumi-lang-nodejs=\"`networkInjection`\" pulumi-lang-dotnet=\"`NetworkInjection`\" pulumi-lang-go=\"`networkInjection`\" pulumi-lang-python=\"`network_injection`\" pulumi-lang-yaml=\"`networkInjection`\" pulumi-lang-java=\"`networkInjection`\"\u003e`network_injection`\u003c/span\u003e block as defined below. Only applicable if the \u003cspan pulumi-lang-nodejs=\"`kind`\" pulumi-lang-dotnet=\"`Kind`\" pulumi-lang-go=\"`kind`\" pulumi-lang-python=\"`kind`\" pulumi-lang-yaml=\"`kind`\" pulumi-lang-java=\"`kind`\"\u003e`kind`\u003c/span\u003e is set to `AIServices`.\n"},"outboundNetworkAccessRestricted":{"type":"boolean","description":"Whether outbound network access is restricted for the Cognitive Account. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"primaryAccessKey":{"type":"string","description":"A primary access key which can be used to connect to the Cognitive Service Account.\n","secret":true},"projectManagementEnabled":{"type":"boolean","description":"Whether project management is enabled. Can only be set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e when \u003cspan pulumi-lang-nodejs=\"`kind`\" pulumi-lang-dotnet=\"`Kind`\" pulumi-lang-go=\"`kind`\" pulumi-lang-python=\"`kind`\" pulumi-lang-yaml=\"`kind`\" pulumi-lang-java=\"`kind`\"\u003e`kind`\u003c/span\u003e is set to `AIServices`. Once enabled, disabling \u003cspan pulumi-lang-nodejs=\"`projectManagementEnabled`\" pulumi-lang-dotnet=\"`ProjectManagementEnabled`\" pulumi-lang-go=\"`projectManagementEnabled`\" pulumi-lang-python=\"`project_management_enabled`\" pulumi-lang-yaml=\"`projectManagementEnabled`\" pulumi-lang-java=\"`projectManagementEnabled`\"\u003e`project_management_enabled`\u003c/span\u003e forces a new resource to be created unless \u003cspan pulumi-lang-nodejs=\"`kind`\" pulumi-lang-dotnet=\"`Kind`\" pulumi-lang-go=\"`kind`\" pulumi-lang-python=\"`kind`\" pulumi-lang-yaml=\"`kind`\" pulumi-lang-java=\"`kind`\"\u003e`kind`\u003c/span\u003e is set to `OpenAI`. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"publicNetworkAccessEnabled":{"type":"boolean","description":"Whether public network access is allowed for the Cognitive Account. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"qnaRuntimeEndpoint":{"type":"string","description":"A URL to link a QnAMaker cognitive account to a QnA runtime.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the Cognitive Service Account is created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"secondaryAccessKey":{"type":"string","description":"The secondary access key which can be used to connect to the Cognitive Service Account.\n","secret":true},"skuName":{"type":"string","description":"Specifies the SKU Name for this Cognitive Service Account. Possible values are `C2`, `C3`, `C4`, `D3`, `DC0`, `E0`, `F0`, `F1`, `P0`, `P1`, `P2`, `S`, `S0`, `S1`, `S2`, `S3`, `S4`, `S5` and `S6`.\n\n\u003e **Note:** SKU `DC0` is the commitment tier for Cognitive Services containers running in disconnected environments. You must obtain approval from Microsoft by submitting the [request form](https://aka.ms/csdisconnectedcontainers) first, before you can use this SKU. More information on [Purchase a commitment plan to use containers in disconnected environments](https://learn.microsoft.com/en-us/azure/cognitive-services/containers/disconnected-containers?tabs=stt#purchase-a-commitment-plan-to-use-containers-in-disconnected-environments).\n"},"storages":{"type":"array","items":{"$ref":"#/types/azure:cognitive/AccountStorage:AccountStorage"},"description":"A \u003cspan pulumi-lang-nodejs=\"`storage`\" pulumi-lang-dotnet=\"`Storage`\" pulumi-lang-go=\"`storage`\" pulumi-lang-python=\"`storage`\" pulumi-lang-yaml=\"`storage`\" pulumi-lang-java=\"`storage`\"\u003e`storage`\u003c/span\u003e block as defined below.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"type":"object"}},"azure:cognitive/accountCustomerManagedKey:AccountCustomerManagedKey":{"description":"Manages a Customer Managed Key for a Cognitive Services Account.\n\n\u003e **Note:** It's possible to define a Customer Managed Key both within the \u003cspan pulumi-lang-nodejs=\"`azure.cognitive.Account`\" pulumi-lang-dotnet=\"`azure.cognitive.Account`\" pulumi-lang-go=\"`cognitive.Account`\" pulumi-lang-python=\"`cognitive.Account`\" pulumi-lang-yaml=\"`azure.cognitive.Account`\" pulumi-lang-java=\"`azure.cognitive.Account`\"\u003e`azure.cognitive.Account`\u003c/span\u003e resource via the \u003cspan pulumi-lang-nodejs=\"`customerManagedKey`\" pulumi-lang-dotnet=\"`CustomerManagedKey`\" pulumi-lang-go=\"`customerManagedKey`\" pulumi-lang-python=\"`customer_managed_key`\" pulumi-lang-yaml=\"`customerManagedKey`\" pulumi-lang-java=\"`customerManagedKey`\"\u003e`customer_managed_key`\u003c/span\u003e block and by using the \u003cspan pulumi-lang-nodejs=\"`azure.cognitive.AccountCustomerManagedKey`\" pulumi-lang-dotnet=\"`azure.cognitive.AccountCustomerManagedKey`\" pulumi-lang-go=\"`cognitive.AccountCustomerManagedKey`\" pulumi-lang-python=\"`cognitive.AccountCustomerManagedKey`\" pulumi-lang-yaml=\"`azure.cognitive.AccountCustomerManagedKey`\" pulumi-lang-java=\"`azure.cognitive.AccountCustomerManagedKey`\"\u003e`azure.cognitive.AccountCustomerManagedKey`\u003c/span\u003e resource. However it's not possible to use both methods to manage a Customer Managed Key for a Cognitive Account, since there'll be conflicts.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst current = azure.core.getClientConfig({});\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West US\",\n});\nconst exampleUserAssignedIdentity = new azure.authorization.UserAssignedIdentity(\"example\", {\n    resourceGroupName: example.name,\n    location: example.location,\n    name: \"example-identity\",\n});\nconst exampleAccount = new azure.cognitive.Account(\"example\", {\n    name: \"example-account\",\n    location: example.location,\n    resourceGroupName: example.name,\n    kind: \"Face\",\n    skuName: \"E0\",\n    customSubdomainName: \"example-account\",\n    identity: {\n        type: \"SystemAssigned, UserAssigned\",\n        identityIds: [exampleUserAssignedIdentity.id],\n    },\n});\nconst exampleKeyVault = new azure.keyvault.KeyVault(\"example\", {\n    name: \"example-vault\",\n    location: example.location,\n    resourceGroupName: example.name,\n    tenantId: current.then(current =\u003e current.tenantId),\n    skuName: \"standard\",\n    purgeProtectionEnabled: true,\n    accessPolicies: [\n        {\n            tenantId: exampleAccount.identity.apply(identity =\u003e identity?.tenantId),\n            objectId: exampleAccount.identity.apply(identity =\u003e identity?.principalId),\n            keyPermissions: [\n                \"Get\",\n                \"Create\",\n                \"List\",\n                \"Restore\",\n                \"Recover\",\n                \"UnwrapKey\",\n                \"WrapKey\",\n                \"Purge\",\n                \"Encrypt\",\n                \"Decrypt\",\n                \"Sign\",\n                \"Verify\",\n            ],\n            secretPermissions: [\"Get\"],\n        },\n        {\n            tenantId: current.then(current =\u003e current.tenantId),\n            objectId: current.then(current =\u003e current.objectId),\n            keyPermissions: [\n                \"Get\",\n                \"Create\",\n                \"Delete\",\n                \"List\",\n                \"Restore\",\n                \"Recover\",\n                \"UnwrapKey\",\n                \"WrapKey\",\n                \"Purge\",\n                \"Encrypt\",\n                \"Decrypt\",\n                \"Sign\",\n                \"Verify\",\n                \"GetRotationPolicy\",\n            ],\n            secretPermissions: [\"Get\"],\n        },\n        {\n            tenantId: exampleUserAssignedIdentity.tenantId,\n            objectId: exampleUserAssignedIdentity.principalId,\n            keyPermissions: [\n                \"Get\",\n                \"Create\",\n                \"Delete\",\n                \"List\",\n                \"Restore\",\n                \"Recover\",\n                \"UnwrapKey\",\n                \"WrapKey\",\n                \"Purge\",\n                \"Encrypt\",\n                \"Decrypt\",\n                \"Sign\",\n                \"Verify\",\n            ],\n            secretPermissions: [\"Get\"],\n        },\n    ],\n});\nconst exampleKey = new azure.keyvault.Key(\"example\", {\n    name: \"example-key\",\n    keyVaultId: exampleKeyVault.id,\n    keyType: \"RSA\",\n    keySize: 2048,\n    keyOpts: [\n        \"decrypt\",\n        \"encrypt\",\n        \"sign\",\n        \"unwrapKey\",\n        \"verify\",\n        \"wrapKey\",\n    ],\n});\nconst exampleAccountCustomerManagedKey = new azure.cognitive.AccountCustomerManagedKey(\"example\", {\n    cognitiveAccountId: exampleAccount.id,\n    keyVaultKeyId: exampleKey.id,\n    identityClientId: exampleUserAssignedIdentity.clientId,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\ncurrent = azure.core.get_client_config()\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West US\")\nexample_user_assigned_identity = azure.authorization.UserAssignedIdentity(\"example\",\n    resource_group_name=example.name,\n    location=example.location,\n    name=\"example-identity\")\nexample_account = azure.cognitive.Account(\"example\",\n    name=\"example-account\",\n    location=example.location,\n    resource_group_name=example.name,\n    kind=\"Face\",\n    sku_name=\"E0\",\n    custom_subdomain_name=\"example-account\",\n    identity={\n        \"type\": \"SystemAssigned, UserAssigned\",\n        \"identity_ids\": [example_user_assigned_identity.id],\n    })\nexample_key_vault = azure.keyvault.KeyVault(\"example\",\n    name=\"example-vault\",\n    location=example.location,\n    resource_group_name=example.name,\n    tenant_id=current.tenant_id,\n    sku_name=\"standard\",\n    purge_protection_enabled=True,\n    access_policies=[\n        {\n            \"tenant_id\": example_account.identity.tenant_id,\n            \"object_id\": example_account.identity.principal_id,\n            \"key_permissions\": [\n                \"Get\",\n                \"Create\",\n                \"List\",\n                \"Restore\",\n                \"Recover\",\n                \"UnwrapKey\",\n                \"WrapKey\",\n                \"Purge\",\n                \"Encrypt\",\n                \"Decrypt\",\n                \"Sign\",\n                \"Verify\",\n            ],\n            \"secret_permissions\": [\"Get\"],\n        },\n        {\n            \"tenant_id\": current.tenant_id,\n            \"object_id\": current.object_id,\n            \"key_permissions\": [\n                \"Get\",\n                \"Create\",\n                \"Delete\",\n                \"List\",\n                \"Restore\",\n                \"Recover\",\n                \"UnwrapKey\",\n                \"WrapKey\",\n                \"Purge\",\n                \"Encrypt\",\n                \"Decrypt\",\n                \"Sign\",\n                \"Verify\",\n                \"GetRotationPolicy\",\n            ],\n            \"secret_permissions\": [\"Get\"],\n        },\n        {\n            \"tenant_id\": example_user_assigned_identity.tenant_id,\n            \"object_id\": example_user_assigned_identity.principal_id,\n            \"key_permissions\": [\n                \"Get\",\n                \"Create\",\n                \"Delete\",\n                \"List\",\n                \"Restore\",\n                \"Recover\",\n                \"UnwrapKey\",\n                \"WrapKey\",\n                \"Purge\",\n                \"Encrypt\",\n                \"Decrypt\",\n                \"Sign\",\n                \"Verify\",\n            ],\n            \"secret_permissions\": [\"Get\"],\n        },\n    ])\nexample_key = azure.keyvault.Key(\"example\",\n    name=\"example-key\",\n    key_vault_id=example_key_vault.id,\n    key_type=\"RSA\",\n    key_size=2048,\n    key_opts=[\n        \"decrypt\",\n        \"encrypt\",\n        \"sign\",\n        \"unwrapKey\",\n        \"verify\",\n        \"wrapKey\",\n    ])\nexample_account_customer_managed_key = azure.cognitive.AccountCustomerManagedKey(\"example\",\n    cognitive_account_id=example_account.id,\n    key_vault_key_id=example_key.id,\n    identity_client_id=example_user_assigned_identity.client_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var current = Azure.Core.GetClientConfig.Invoke();\n\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West US\",\n    });\n\n    var exampleUserAssignedIdentity = new Azure.Authorization.UserAssignedIdentity(\"example\", new()\n    {\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        Name = \"example-identity\",\n    });\n\n    var exampleAccount = new Azure.Cognitive.Account(\"example\", new()\n    {\n        Name = \"example-account\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Kind = \"Face\",\n        SkuName = \"E0\",\n        CustomSubdomainName = \"example-account\",\n        Identity = new Azure.Cognitive.Inputs.AccountIdentityArgs\n        {\n            Type = \"SystemAssigned, UserAssigned\",\n            IdentityIds = new[]\n            {\n                exampleUserAssignedIdentity.Id,\n            },\n        },\n    });\n\n    var exampleKeyVault = new Azure.KeyVault.KeyVault(\"example\", new()\n    {\n        Name = \"example-vault\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        TenantId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.TenantId),\n        SkuName = \"standard\",\n        PurgeProtectionEnabled = true,\n        AccessPolicies = new[]\n        {\n            new Azure.KeyVault.Inputs.KeyVaultAccessPolicyArgs\n            {\n                TenantId = exampleAccount.Identity.Apply(identity =\u003e identity?.TenantId),\n                ObjectId = exampleAccount.Identity.Apply(identity =\u003e identity?.PrincipalId),\n                KeyPermissions = new[]\n                {\n                    \"Get\",\n                    \"Create\",\n                    \"List\",\n                    \"Restore\",\n                    \"Recover\",\n                    \"UnwrapKey\",\n                    \"WrapKey\",\n                    \"Purge\",\n                    \"Encrypt\",\n                    \"Decrypt\",\n                    \"Sign\",\n                    \"Verify\",\n                },\n                SecretPermissions = new[]\n                {\n                    \"Get\",\n                },\n            },\n            new Azure.KeyVault.Inputs.KeyVaultAccessPolicyArgs\n            {\n                TenantId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.TenantId),\n                ObjectId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.ObjectId),\n                KeyPermissions = new[]\n                {\n                    \"Get\",\n                    \"Create\",\n                    \"Delete\",\n                    \"List\",\n                    \"Restore\",\n                    \"Recover\",\n                    \"UnwrapKey\",\n                    \"WrapKey\",\n                    \"Purge\",\n                    \"Encrypt\",\n                    \"Decrypt\",\n                    \"Sign\",\n                    \"Verify\",\n                    \"GetRotationPolicy\",\n                },\n                SecretPermissions = new[]\n                {\n                    \"Get\",\n                },\n            },\n            new Azure.KeyVault.Inputs.KeyVaultAccessPolicyArgs\n            {\n                TenantId = exampleUserAssignedIdentity.TenantId,\n                ObjectId = exampleUserAssignedIdentity.PrincipalId,\n                KeyPermissions = new[]\n                {\n                    \"Get\",\n                    \"Create\",\n                    \"Delete\",\n                    \"List\",\n                    \"Restore\",\n                    \"Recover\",\n                    \"UnwrapKey\",\n                    \"WrapKey\",\n                    \"Purge\",\n                    \"Encrypt\",\n                    \"Decrypt\",\n                    \"Sign\",\n                    \"Verify\",\n                },\n                SecretPermissions = new[]\n                {\n                    \"Get\",\n                },\n            },\n        },\n    });\n\n    var exampleKey = new Azure.KeyVault.Key(\"example\", new()\n    {\n        Name = \"example-key\",\n        KeyVaultId = exampleKeyVault.Id,\n        KeyType = \"RSA\",\n        KeySize = 2048,\n        KeyOpts = new[]\n        {\n            \"decrypt\",\n            \"encrypt\",\n            \"sign\",\n            \"unwrapKey\",\n            \"verify\",\n            \"wrapKey\",\n        },\n    });\n\n    var exampleAccountCustomerManagedKey = new Azure.Cognitive.AccountCustomerManagedKey(\"example\", new()\n    {\n        CognitiveAccountId = exampleAccount.Id,\n        KeyVaultKeyId = exampleKey.Id,\n        IdentityClientId = exampleUserAssignedIdentity.ClientId,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/authorization\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/cognitive\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/keyvault\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := core.GetClientConfig(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West US\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleUserAssignedIdentity, err := authorization.NewUserAssignedIdentity(ctx, \"example\", \u0026authorization.UserAssignedIdentityArgs{\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tName:              pulumi.String(\"example-identity\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := cognitive.NewAccount(ctx, \"example\", \u0026cognitive.AccountArgs{\n\t\t\tName:                pulumi.String(\"example-account\"),\n\t\t\tLocation:            example.Location,\n\t\t\tResourceGroupName:   example.Name,\n\t\t\tKind:                pulumi.String(\"Face\"),\n\t\t\tSkuName:             pulumi.String(\"E0\"),\n\t\t\tCustomSubdomainName: pulumi.String(\"example-account\"),\n\t\t\tIdentity: \u0026cognitive.AccountIdentityArgs{\n\t\t\t\tType: pulumi.String(\"SystemAssigned, UserAssigned\"),\n\t\t\t\tIdentityIds: pulumi.StringArray{\n\t\t\t\t\texampleUserAssignedIdentity.ID(),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleKeyVault, err := keyvault.NewKeyVault(ctx, \"example\", \u0026keyvault.KeyVaultArgs{\n\t\t\tName:                   pulumi.String(\"example-vault\"),\n\t\t\tLocation:               example.Location,\n\t\t\tResourceGroupName:      example.Name,\n\t\t\tTenantId:               pulumi.String(current.TenantId),\n\t\t\tSkuName:                pulumi.String(\"standard\"),\n\t\t\tPurgeProtectionEnabled: pulumi.Bool(true),\n\t\t\tAccessPolicies: keyvault.KeyVaultAccessPolicyArray{\n\t\t\t\t\u0026keyvault.KeyVaultAccessPolicyArgs{\n\t\t\t\t\tTenantId: exampleAccount.Identity.ApplyT(func(identity cognitive.AccountIdentity) (*string, error) {\n\t\t\t\t\t\treturn \u0026identity.TenantId, nil\n\t\t\t\t\t}).(pulumi.StringPtrOutput),\n\t\t\t\t\tObjectId: exampleAccount.Identity.ApplyT(func(identity cognitive.AccountIdentity) (*string, error) {\n\t\t\t\t\t\treturn \u0026identity.PrincipalId, nil\n\t\t\t\t\t}).(pulumi.StringPtrOutput),\n\t\t\t\t\tKeyPermissions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"Get\"),\n\t\t\t\t\t\tpulumi.String(\"Create\"),\n\t\t\t\t\t\tpulumi.String(\"List\"),\n\t\t\t\t\t\tpulumi.String(\"Restore\"),\n\t\t\t\t\t\tpulumi.String(\"Recover\"),\n\t\t\t\t\t\tpulumi.String(\"UnwrapKey\"),\n\t\t\t\t\t\tpulumi.String(\"WrapKey\"),\n\t\t\t\t\t\tpulumi.String(\"Purge\"),\n\t\t\t\t\t\tpulumi.String(\"Encrypt\"),\n\t\t\t\t\t\tpulumi.String(\"Decrypt\"),\n\t\t\t\t\t\tpulumi.String(\"Sign\"),\n\t\t\t\t\t\tpulumi.String(\"Verify\"),\n\t\t\t\t\t},\n\t\t\t\t\tSecretPermissions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"Get\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026keyvault.KeyVaultAccessPolicyArgs{\n\t\t\t\t\tTenantId: pulumi.String(current.TenantId),\n\t\t\t\t\tObjectId: pulumi.String(current.ObjectId),\n\t\t\t\t\tKeyPermissions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"Get\"),\n\t\t\t\t\t\tpulumi.String(\"Create\"),\n\t\t\t\t\t\tpulumi.String(\"Delete\"),\n\t\t\t\t\t\tpulumi.String(\"List\"),\n\t\t\t\t\t\tpulumi.String(\"Restore\"),\n\t\t\t\t\t\tpulumi.String(\"Recover\"),\n\t\t\t\t\t\tpulumi.String(\"UnwrapKey\"),\n\t\t\t\t\t\tpulumi.String(\"WrapKey\"),\n\t\t\t\t\t\tpulumi.String(\"Purge\"),\n\t\t\t\t\t\tpulumi.String(\"Encrypt\"),\n\t\t\t\t\t\tpulumi.String(\"Decrypt\"),\n\t\t\t\t\t\tpulumi.String(\"Sign\"),\n\t\t\t\t\t\tpulumi.String(\"Verify\"),\n\t\t\t\t\t\tpulumi.String(\"GetRotationPolicy\"),\n\t\t\t\t\t},\n\t\t\t\t\tSecretPermissions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"Get\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026keyvault.KeyVaultAccessPolicyArgs{\n\t\t\t\t\tTenantId: exampleUserAssignedIdentity.TenantId,\n\t\t\t\t\tObjectId: exampleUserAssignedIdentity.PrincipalId,\n\t\t\t\t\tKeyPermissions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"Get\"),\n\t\t\t\t\t\tpulumi.String(\"Create\"),\n\t\t\t\t\t\tpulumi.String(\"Delete\"),\n\t\t\t\t\t\tpulumi.String(\"List\"),\n\t\t\t\t\t\tpulumi.String(\"Restore\"),\n\t\t\t\t\t\tpulumi.String(\"Recover\"),\n\t\t\t\t\t\tpulumi.String(\"UnwrapKey\"),\n\t\t\t\t\t\tpulumi.String(\"WrapKey\"),\n\t\t\t\t\t\tpulumi.String(\"Purge\"),\n\t\t\t\t\t\tpulumi.String(\"Encrypt\"),\n\t\t\t\t\t\tpulumi.String(\"Decrypt\"),\n\t\t\t\t\t\tpulumi.String(\"Sign\"),\n\t\t\t\t\t\tpulumi.String(\"Verify\"),\n\t\t\t\t\t},\n\t\t\t\t\tSecretPermissions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"Get\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleKey, err := keyvault.NewKey(ctx, \"example\", \u0026keyvault.KeyArgs{\n\t\t\tName:       pulumi.String(\"example-key\"),\n\t\t\tKeyVaultId: exampleKeyVault.ID(),\n\t\t\tKeyType:    pulumi.String(\"RSA\"),\n\t\t\tKeySize:    pulumi.Int(2048),\n\t\t\tKeyOpts: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"decrypt\"),\n\t\t\t\tpulumi.String(\"encrypt\"),\n\t\t\t\tpulumi.String(\"sign\"),\n\t\t\t\tpulumi.String(\"unwrapKey\"),\n\t\t\t\tpulumi.String(\"verify\"),\n\t\t\t\tpulumi.String(\"wrapKey\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cognitive.NewAccountCustomerManagedKey(ctx, \"example\", \u0026cognitive.AccountCustomerManagedKeyArgs{\n\t\t\tCognitiveAccountId: exampleAccount.ID(),\n\t\t\tKeyVaultKeyId:      exampleKey.ID(),\n\t\t\tIdentityClientId:   exampleUserAssignedIdentity.ClientId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.authorization.UserAssignedIdentity;\nimport com.pulumi.azure.authorization.UserAssignedIdentityArgs;\nimport com.pulumi.azure.cognitive.Account;\nimport com.pulumi.azure.cognitive.AccountArgs;\nimport com.pulumi.azure.cognitive.inputs.AccountIdentityArgs;\nimport com.pulumi.azure.keyvault.KeyVault;\nimport com.pulumi.azure.keyvault.KeyVaultArgs;\nimport com.pulumi.azure.keyvault.inputs.KeyVaultAccessPolicyArgs;\nimport com.pulumi.azure.keyvault.Key;\nimport com.pulumi.azure.keyvault.KeyArgs;\nimport com.pulumi.azure.cognitive.AccountCustomerManagedKey;\nimport com.pulumi.azure.cognitive.AccountCustomerManagedKeyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var current = CoreFunctions.getClientConfig(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West US\")\n            .build());\n\n        var exampleUserAssignedIdentity = new UserAssignedIdentity(\"exampleUserAssignedIdentity\", UserAssignedIdentityArgs.builder()\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .name(\"example-identity\")\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"example-account\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .kind(\"Face\")\n            .skuName(\"E0\")\n            .customSubdomainName(\"example-account\")\n            .identity(AccountIdentityArgs.builder()\n                .type(\"SystemAssigned, UserAssigned\")\n                .identityIds(exampleUserAssignedIdentity.id())\n                .build())\n            .build());\n\n        var exampleKeyVault = new KeyVault(\"exampleKeyVault\", KeyVaultArgs.builder()\n            .name(\"example-vault\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .tenantId(current.tenantId())\n            .skuName(\"standard\")\n            .purgeProtectionEnabled(true)\n            .accessPolicies(            \n                KeyVaultAccessPolicyArgs.builder()\n                    .tenantId(exampleAccount.identity().applyValue(_identity -\u003e _identity.tenantId()))\n                    .objectId(exampleAccount.identity().applyValue(_identity -\u003e _identity.principalId()))\n                    .keyPermissions(                    \n                        \"Get\",\n                        \"Create\",\n                        \"List\",\n                        \"Restore\",\n                        \"Recover\",\n                        \"UnwrapKey\",\n                        \"WrapKey\",\n                        \"Purge\",\n                        \"Encrypt\",\n                        \"Decrypt\",\n                        \"Sign\",\n                        \"Verify\")\n                    .secretPermissions(\"Get\")\n                    .build(),\n                KeyVaultAccessPolicyArgs.builder()\n                    .tenantId(current.tenantId())\n                    .objectId(current.objectId())\n                    .keyPermissions(                    \n                        \"Get\",\n                        \"Create\",\n                        \"Delete\",\n                        \"List\",\n                        \"Restore\",\n                        \"Recover\",\n                        \"UnwrapKey\",\n                        \"WrapKey\",\n                        \"Purge\",\n                        \"Encrypt\",\n                        \"Decrypt\",\n                        \"Sign\",\n                        \"Verify\",\n                        \"GetRotationPolicy\")\n                    .secretPermissions(\"Get\")\n                    .build(),\n                KeyVaultAccessPolicyArgs.builder()\n                    .tenantId(exampleUserAssignedIdentity.tenantId())\n                    .objectId(exampleUserAssignedIdentity.principalId())\n                    .keyPermissions(                    \n                        \"Get\",\n                        \"Create\",\n                        \"Delete\",\n                        \"List\",\n                        \"Restore\",\n                        \"Recover\",\n                        \"UnwrapKey\",\n                        \"WrapKey\",\n                        \"Purge\",\n                        \"Encrypt\",\n                        \"Decrypt\",\n                        \"Sign\",\n                        \"Verify\")\n                    .secretPermissions(\"Get\")\n                    .build())\n            .build());\n\n        var exampleKey = new Key(\"exampleKey\", KeyArgs.builder()\n            .name(\"example-key\")\n            .keyVaultId(exampleKeyVault.id())\n            .keyType(\"RSA\")\n            .keySize(2048)\n            .keyOpts(            \n                \"decrypt\",\n                \"encrypt\",\n                \"sign\",\n                \"unwrapKey\",\n                \"verify\",\n                \"wrapKey\")\n            .build());\n\n        var exampleAccountCustomerManagedKey = new AccountCustomerManagedKey(\"exampleAccountCustomerManagedKey\", AccountCustomerManagedKeyArgs.builder()\n            .cognitiveAccountId(exampleAccount.id())\n            .keyVaultKeyId(exampleKey.id())\n            .identityClientId(exampleUserAssignedIdentity.clientId())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West US\n  exampleUserAssignedIdentity:\n    type: azure:authorization:UserAssignedIdentity\n    name: example\n    properties:\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      name: example-identity\n  exampleAccount:\n    type: azure:cognitive:Account\n    name: example\n    properties:\n      name: example-account\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      kind: Face\n      skuName: E0\n      customSubdomainName: example-account\n      identity:\n        type: SystemAssigned, UserAssigned\n        identityIds:\n          - ${exampleUserAssignedIdentity.id}\n  exampleKeyVault:\n    type: azure:keyvault:KeyVault\n    name: example\n    properties:\n      name: example-vault\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      tenantId: ${current.tenantId}\n      skuName: standard\n      purgeProtectionEnabled: true\n      accessPolicies:\n        - tenantId: ${exampleAccount.identity.tenantId}\n          objectId: ${exampleAccount.identity.principalId}\n          keyPermissions:\n            - Get\n            - Create\n            - List\n            - Restore\n            - Recover\n            - UnwrapKey\n            - WrapKey\n            - Purge\n            - Encrypt\n            - Decrypt\n            - Sign\n            - Verify\n          secretPermissions:\n            - Get\n        - tenantId: ${current.tenantId}\n          objectId: ${current.objectId}\n          keyPermissions:\n            - Get\n            - Create\n            - Delete\n            - List\n            - Restore\n            - Recover\n            - UnwrapKey\n            - WrapKey\n            - Purge\n            - Encrypt\n            - Decrypt\n            - Sign\n            - Verify\n            - GetRotationPolicy\n          secretPermissions:\n            - Get\n        - tenantId: ${exampleUserAssignedIdentity.tenantId}\n          objectId: ${exampleUserAssignedIdentity.principalId}\n          keyPermissions:\n            - Get\n            - Create\n            - Delete\n            - List\n            - Restore\n            - Recover\n            - UnwrapKey\n            - WrapKey\n            - Purge\n            - Encrypt\n            - Decrypt\n            - Sign\n            - Verify\n          secretPermissions:\n            - Get\n  exampleKey:\n    type: azure:keyvault:Key\n    name: example\n    properties:\n      name: example-key\n      keyVaultId: ${exampleKeyVault.id}\n      keyType: RSA\n      keySize: 2048\n      keyOpts:\n        - decrypt\n        - encrypt\n        - sign\n        - unwrapKey\n        - verify\n        - wrapKey\n  exampleAccountCustomerManagedKey:\n    type: azure:cognitive:AccountCustomerManagedKey\n    name: example\n    properties:\n      cognitiveAccountId: ${exampleAccount.id}\n      keyVaultKeyId: ${exampleKey.id}\n      identityClientId: ${exampleUserAssignedIdentity.clientId}\nvariables:\n  current:\n    fn::invoke:\n      function: azure:core:getClientConfig\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.CognitiveServices` - 2025-06-01\n\n## Import\n\nCustomer Managed Keys for a Cognitive Account can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:cognitive/accountCustomerManagedKey:AccountCustomerManagedKey example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.CognitiveServices/accounts/account1\n```\n\n","properties":{"cognitiveAccountId":{"type":"string","description":"The ID of the Cognitive Account. Changing this forces a new resource to be created.\n"},"identityClientId":{"type":"string","description":"The Client ID of the User Assigned Identity that has access to the key. This property only needs to be specified when there're multiple identities attached to the Cognitive Account.\n"},"keyVaultKeyId":{"type":"string","description":"The ID of the Key Vault Key which should be used to Encrypt the data in this Cognitive Account.\n"}},"required":["cognitiveAccountId","keyVaultKeyId"],"inputProperties":{"cognitiveAccountId":{"type":"string","description":"The ID of the Cognitive Account. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"identityClientId":{"type":"string","description":"The Client ID of the User Assigned Identity that has access to the key. This property only needs to be specified when there're multiple identities attached to the Cognitive Account.\n"},"keyVaultKeyId":{"type":"string","description":"The ID of the Key Vault Key which should be used to Encrypt the data in this Cognitive Account.\n"}},"requiredInputs":["cognitiveAccountId","keyVaultKeyId"],"stateInputs":{"description":"Input properties used for looking up and filtering AccountCustomerManagedKey resources.\n","properties":{"cognitiveAccountId":{"type":"string","description":"The ID of the Cognitive Account. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"identityClientId":{"type":"string","description":"The Client ID of the User Assigned Identity that has access to the key. This property only needs to be specified when there're multiple identities attached to the Cognitive Account.\n"},"keyVaultKeyId":{"type":"string","description":"The ID of the Key Vault Key which should be used to Encrypt the data in this Cognitive Account.\n"}},"type":"object"}},"azure:cognitive/accountProject:AccountProject":{"description":"Manages a Cognitive Account Project.\n\n\u003e **Note:** Cognitive Account Projects can only be created under a Cognitive Account that has \u003cspan pulumi-lang-nodejs=\"`projectManagementEnabled \" pulumi-lang-dotnet=\"`ProjectManagementEnabled \" pulumi-lang-go=\"`projectManagementEnabled \" pulumi-lang-python=\"`project_management_enabled \" pulumi-lang-yaml=\"`projectManagementEnabled \" pulumi-lang-java=\"`projectManagementEnabled \"\u003e`project_management_enabled \u003c/span\u003e= true`, `kind = \"AIServices\"`, a managed identity configured, and a \u003cspan pulumi-lang-nodejs=\"`customSubdomainName`\" pulumi-lang-dotnet=\"`CustomSubdomainName`\" pulumi-lang-go=\"`customSubdomainName`\" pulumi-lang-python=\"`custom_subdomain_name`\" pulumi-lang-yaml=\"`customSubdomainName`\" pulumi-lang-java=\"`customSubdomainName`\"\u003e`custom_subdomain_name`\u003c/span\u003e specified.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleAccount = new azure.cognitive.Account(\"example\", {\n    name: \"example-account\",\n    location: example.location,\n    resourceGroupName: example.name,\n    kind: \"AIServices\",\n    skuName: \"S0\",\n    projectManagementEnabled: true,\n    customSubdomainName: \"example-account-subdomain\",\n    identity: {\n        type: \"SystemAssigned\",\n    },\n});\nconst exampleAccountProject = new azure.cognitive.AccountProject(\"example\", {\n    name: \"example-project\",\n    cognitiveAccountId: exampleAccount.id,\n    location: example.location,\n    description: \"Example cognitive services project\",\n    displayName: \"Example Project\",\n    identity: {\n        type: \"SystemAssigned\",\n    },\n    tags: {\n        Environment: \"test\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_account = azure.cognitive.Account(\"example\",\n    name=\"example-account\",\n    location=example.location,\n    resource_group_name=example.name,\n    kind=\"AIServices\",\n    sku_name=\"S0\",\n    project_management_enabled=True,\n    custom_subdomain_name=\"example-account-subdomain\",\n    identity={\n        \"type\": \"SystemAssigned\",\n    })\nexample_account_project = azure.cognitive.AccountProject(\"example\",\n    name=\"example-project\",\n    cognitive_account_id=example_account.id,\n    location=example.location,\n    description=\"Example cognitive services project\",\n    display_name=\"Example Project\",\n    identity={\n        \"type\": \"SystemAssigned\",\n    },\n    tags={\n        \"Environment\": \"test\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleAccount = new Azure.Cognitive.Account(\"example\", new()\n    {\n        Name = \"example-account\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Kind = \"AIServices\",\n        SkuName = \"S0\",\n        ProjectManagementEnabled = true,\n        CustomSubdomainName = \"example-account-subdomain\",\n        Identity = new Azure.Cognitive.Inputs.AccountIdentityArgs\n        {\n            Type = \"SystemAssigned\",\n        },\n    });\n\n    var exampleAccountProject = new Azure.Cognitive.AccountProject(\"example\", new()\n    {\n        Name = \"example-project\",\n        CognitiveAccountId = exampleAccount.Id,\n        Location = example.Location,\n        Description = \"Example cognitive services project\",\n        DisplayName = \"Example Project\",\n        Identity = new Azure.Cognitive.Inputs.AccountProjectIdentityArgs\n        {\n            Type = \"SystemAssigned\",\n        },\n        Tags = \n        {\n            { \"Environment\", \"test\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/cognitive\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := cognitive.NewAccount(ctx, \"example\", \u0026cognitive.AccountArgs{\n\t\t\tName:                     pulumi.String(\"example-account\"),\n\t\t\tLocation:                 example.Location,\n\t\t\tResourceGroupName:        example.Name,\n\t\t\tKind:                     pulumi.String(\"AIServices\"),\n\t\t\tSkuName:                  pulumi.String(\"S0\"),\n\t\t\tProjectManagementEnabled: pulumi.Bool(true),\n\t\t\tCustomSubdomainName:      pulumi.String(\"example-account-subdomain\"),\n\t\t\tIdentity: \u0026cognitive.AccountIdentityArgs{\n\t\t\t\tType: pulumi.String(\"SystemAssigned\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cognitive.NewAccountProject(ctx, \"example\", \u0026cognitive.AccountProjectArgs{\n\t\t\tName:               pulumi.String(\"example-project\"),\n\t\t\tCognitiveAccountId: exampleAccount.ID(),\n\t\t\tLocation:           example.Location,\n\t\t\tDescription:        pulumi.String(\"Example cognitive services project\"),\n\t\t\tDisplayName:        pulumi.String(\"Example Project\"),\n\t\t\tIdentity: \u0026cognitive.AccountProjectIdentityArgs{\n\t\t\t\tType: pulumi.String(\"SystemAssigned\"),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Environment\": pulumi.String(\"test\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.cognitive.Account;\nimport com.pulumi.azure.cognitive.AccountArgs;\nimport com.pulumi.azure.cognitive.inputs.AccountIdentityArgs;\nimport com.pulumi.azure.cognitive.AccountProject;\nimport com.pulumi.azure.cognitive.AccountProjectArgs;\nimport com.pulumi.azure.cognitive.inputs.AccountProjectIdentityArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"example-account\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .kind(\"AIServices\")\n            .skuName(\"S0\")\n            .projectManagementEnabled(true)\n            .customSubdomainName(\"example-account-subdomain\")\n            .identity(AccountIdentityArgs.builder()\n                .type(\"SystemAssigned\")\n                .build())\n            .build());\n\n        var exampleAccountProject = new AccountProject(\"exampleAccountProject\", AccountProjectArgs.builder()\n            .name(\"example-project\")\n            .cognitiveAccountId(exampleAccount.id())\n            .location(example.location())\n            .description(\"Example cognitive services project\")\n            .displayName(\"Example Project\")\n            .identity(AccountProjectIdentityArgs.builder()\n                .type(\"SystemAssigned\")\n                .build())\n            .tags(Map.of(\"Environment\", \"test\"))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleAccount:\n    type: azure:cognitive:Account\n    name: example\n    properties:\n      name: example-account\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      kind: AIServices\n      skuName: S0\n      projectManagementEnabled: true\n      customSubdomainName: example-account-subdomain\n      identity:\n        type: SystemAssigned\n  exampleAccountProject:\n    type: azure:cognitive:AccountProject\n    name: example\n    properties:\n      name: example-project\n      cognitiveAccountId: ${exampleAccount.id}\n      location: ${example.location}\n      description: Example cognitive services project\n      displayName: Example Project\n      identity:\n        type: SystemAssigned\n      tags:\n        Environment: test\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.CognitiveServices` - 2025-06-01\n\n## Import\n\nCognitive Account Projects can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:cognitive/accountProject:AccountProject example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.CognitiveServices/accounts/account1/projects/project1\n```\n\n","properties":{"cognitiveAccountId":{"type":"string","description":"The ID of the Cognitive Account where the Project should exist. Changing this forces a new resource to be created.\n"},"default":{"type":"boolean","description":"Whether this project is the default project for the Cognitive Account.\n"},"description":{"type":"string","description":"A description of the Cognitive Account Project.\n"},"displayName":{"type":"string","description":"The display name of the Cognitive Account Project.\n"},"endpoints":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of endpoint names to endpoint URLs for the project.\n"},"identity":{"$ref":"#/types/azure:cognitive/AccountProjectIdentity:AccountProjectIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"location":{"type":"string","description":"The Azure Region where the Cognitive Account Project should exist. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"The name of the Cognitive Account Project. Changing this forces a new resource to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"required":["cognitiveAccountId","default","endpoints","identity","location","name"],"inputProperties":{"cognitiveAccountId":{"type":"string","description":"The ID of the Cognitive Account where the Project should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"description":{"type":"string","description":"A description of the Cognitive Account Project.\n"},"displayName":{"type":"string","description":"The display name of the Cognitive Account Project.\n"},"identity":{"$ref":"#/types/azure:cognitive/AccountProjectIdentity:AccountProjectIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"location":{"type":"string","description":"The Azure Region where the Cognitive Account Project should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the Cognitive Account Project. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"requiredInputs":["cognitiveAccountId","identity"],"stateInputs":{"description":"Input properties used for looking up and filtering AccountProject resources.\n","properties":{"cognitiveAccountId":{"type":"string","description":"The ID of the Cognitive Account where the Project should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"default":{"type":"boolean","description":"Whether this project is the default project for the Cognitive Account.\n"},"description":{"type":"string","description":"A description of the Cognitive Account Project.\n"},"displayName":{"type":"string","description":"The display name of the Cognitive Account Project.\n"},"endpoints":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of endpoint names to endpoint URLs for the project.\n"},"identity":{"$ref":"#/types/azure:cognitive/AccountProjectIdentity:AccountProjectIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"location":{"type":"string","description":"The Azure Region where the Cognitive Account Project should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the Cognitive Account Project. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"type":"object"}},"azure:cognitive/accountRaiBlocklist:AccountRaiBlocklist":{"description":"Manages a Cognitive Account Rai Blocklist.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"Brazil South\",\n});\nconst exampleAccount = new azure.cognitive.Account(\"example\", {\n    name: \"example-ca\",\n    location: example.location,\n    resourceGroupName: example.name,\n    kind: \"OpenAI\",\n    skuName: \"S0\",\n});\nconst exampleAccountRaiBlocklist = new azure.cognitive.AccountRaiBlocklist(\"example\", {\n    name: \"example-crb\",\n    cognitiveAccountId: exampleAccount.id,\n    description: \"Azure OpenAI Rai Blocklist\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"Brazil South\")\nexample_account = azure.cognitive.Account(\"example\",\n    name=\"example-ca\",\n    location=example.location,\n    resource_group_name=example.name,\n    kind=\"OpenAI\",\n    sku_name=\"S0\")\nexample_account_rai_blocklist = azure.cognitive.AccountRaiBlocklist(\"example\",\n    name=\"example-crb\",\n    cognitive_account_id=example_account.id,\n    description=\"Azure OpenAI Rai Blocklist\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"Brazil South\",\n    });\n\n    var exampleAccount = new Azure.Cognitive.Account(\"example\", new()\n    {\n        Name = \"example-ca\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Kind = \"OpenAI\",\n        SkuName = \"S0\",\n    });\n\n    var exampleAccountRaiBlocklist = new Azure.Cognitive.AccountRaiBlocklist(\"example\", new()\n    {\n        Name = \"example-crb\",\n        CognitiveAccountId = exampleAccount.Id,\n        Description = \"Azure OpenAI Rai Blocklist\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/cognitive\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"Brazil South\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := cognitive.NewAccount(ctx, \"example\", \u0026cognitive.AccountArgs{\n\t\t\tName:              pulumi.String(\"example-ca\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tKind:              pulumi.String(\"OpenAI\"),\n\t\t\tSkuName:           pulumi.String(\"S0\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cognitive.NewAccountRaiBlocklist(ctx, \"example\", \u0026cognitive.AccountRaiBlocklistArgs{\n\t\t\tName:               pulumi.String(\"example-crb\"),\n\t\t\tCognitiveAccountId: exampleAccount.ID(),\n\t\t\tDescription:        pulumi.String(\"Azure OpenAI Rai Blocklist\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.cognitive.Account;\nimport com.pulumi.azure.cognitive.AccountArgs;\nimport com.pulumi.azure.cognitive.AccountRaiBlocklist;\nimport com.pulumi.azure.cognitive.AccountRaiBlocklistArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"Brazil South\")\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"example-ca\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .kind(\"OpenAI\")\n            .skuName(\"S0\")\n            .build());\n\n        var exampleAccountRaiBlocklist = new AccountRaiBlocklist(\"exampleAccountRaiBlocklist\", AccountRaiBlocklistArgs.builder()\n            .name(\"example-crb\")\n            .cognitiveAccountId(exampleAccount.id())\n            .description(\"Azure OpenAI Rai Blocklist\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: Brazil South\n  exampleAccount:\n    type: azure:cognitive:Account\n    name: example\n    properties:\n      name: example-ca\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      kind: OpenAI\n      skuName: S0\n  exampleAccountRaiBlocklist:\n    type: azure:cognitive:AccountRaiBlocklist\n    name: example\n    properties:\n      name: example-crb\n      cognitiveAccountId: ${exampleAccount.id}\n      description: Azure OpenAI Rai Blocklist\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.CognitiveServices` - 2025-06-01\n\n## Import\n\nCognitive Account Rai Blocklist can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:cognitive/accountRaiBlocklist:AccountRaiBlocklist example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup1/providers/Microsoft.CognitiveServices/accounts/account1/raiBlocklists/raiblocklist1\n```\n\n","properties":{"cognitiveAccountId":{"type":"string","description":"The ID of the Cognitive Services Account. Changing this forces a new Cognitive Account Rai Blocklist to be created.\n"},"description":{"type":"string","description":"A short description for the Cognitive Account Rai Blocklist.\n"},"name":{"type":"string","description":"The name of the Cognitive Account Rai Blocklist. Changing this forces a new Cognitive Account Rai Blocklist to be created.\n"}},"required":["cognitiveAccountId","name"],"inputProperties":{"cognitiveAccountId":{"type":"string","description":"The ID of the Cognitive Services Account. Changing this forces a new Cognitive Account Rai Blocklist to be created.\n","willReplaceOnChanges":true},"description":{"type":"string","description":"A short description for the Cognitive Account Rai Blocklist.\n"},"name":{"type":"string","description":"The name of the Cognitive Account Rai Blocklist. Changing this forces a new Cognitive Account Rai Blocklist to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["cognitiveAccountId"],"stateInputs":{"description":"Input properties used for looking up and filtering AccountRaiBlocklist resources.\n","properties":{"cognitiveAccountId":{"type":"string","description":"The ID of the Cognitive Services Account. Changing this forces a new Cognitive Account Rai Blocklist to be created.\n","willReplaceOnChanges":true},"description":{"type":"string","description":"A short description for the Cognitive Account Rai Blocklist.\n"},"name":{"type":"string","description":"The name of the Cognitive Account Rai Blocklist. Changing this forces a new Cognitive Account Rai Blocklist to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:cognitive/accountRaiPolicy:AccountRaiPolicy":{"description":"Manages a Cognitive Services Account RAI Policy.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"East US\",\n});\nconst exampleAccount = new azure.cognitive.Account(\"example\", {\n    name: \"example-account\",\n    location: example.location,\n    resourceGroupName: example.name,\n    kind: \"OpenAI\",\n    skuName: \"S0\",\n});\nconst exampleAccountRaiPolicy = new azure.cognitive.AccountRaiPolicy(\"example\", {\n    name: \"example-rai-policy\",\n    cognitiveAccountId: exampleAccount.id,\n    basePolicyName: \"Microsoft.Default\",\n    contentFilters: [{\n        name: \"Hate\",\n        filterEnabled: true,\n        blockEnabled: true,\n        severityThreshold: \"High\",\n        source: \"Prompt\",\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"East US\")\nexample_account = azure.cognitive.Account(\"example\",\n    name=\"example-account\",\n    location=example.location,\n    resource_group_name=example.name,\n    kind=\"OpenAI\",\n    sku_name=\"S0\")\nexample_account_rai_policy = azure.cognitive.AccountRaiPolicy(\"example\",\n    name=\"example-rai-policy\",\n    cognitive_account_id=example_account.id,\n    base_policy_name=\"Microsoft.Default\",\n    content_filters=[{\n        \"name\": \"Hate\",\n        \"filter_enabled\": True,\n        \"block_enabled\": True,\n        \"severity_threshold\": \"High\",\n        \"source\": \"Prompt\",\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"East US\",\n    });\n\n    var exampleAccount = new Azure.Cognitive.Account(\"example\", new()\n    {\n        Name = \"example-account\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Kind = \"OpenAI\",\n        SkuName = \"S0\",\n    });\n\n    var exampleAccountRaiPolicy = new Azure.Cognitive.AccountRaiPolicy(\"example\", new()\n    {\n        Name = \"example-rai-policy\",\n        CognitiveAccountId = exampleAccount.Id,\n        BasePolicyName = \"Microsoft.Default\",\n        ContentFilters = new[]\n        {\n            new Azure.Cognitive.Inputs.AccountRaiPolicyContentFilterArgs\n            {\n                Name = \"Hate\",\n                FilterEnabled = true,\n                BlockEnabled = true,\n                SeverityThreshold = \"High\",\n                Source = \"Prompt\",\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/cognitive\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"East US\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := cognitive.NewAccount(ctx, \"example\", \u0026cognitive.AccountArgs{\n\t\t\tName:              pulumi.String(\"example-account\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tKind:              pulumi.String(\"OpenAI\"),\n\t\t\tSkuName:           pulumi.String(\"S0\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cognitive.NewAccountRaiPolicy(ctx, \"example\", \u0026cognitive.AccountRaiPolicyArgs{\n\t\t\tName:               pulumi.String(\"example-rai-policy\"),\n\t\t\tCognitiveAccountId: exampleAccount.ID(),\n\t\t\tBasePolicyName:     pulumi.String(\"Microsoft.Default\"),\n\t\t\tContentFilters: cognitive.AccountRaiPolicyContentFilterArray{\n\t\t\t\t\u0026cognitive.AccountRaiPolicyContentFilterArgs{\n\t\t\t\t\tName:              pulumi.String(\"Hate\"),\n\t\t\t\t\tFilterEnabled:     pulumi.Bool(true),\n\t\t\t\t\tBlockEnabled:      pulumi.Bool(true),\n\t\t\t\t\tSeverityThreshold: pulumi.String(\"High\"),\n\t\t\t\t\tSource:            pulumi.String(\"Prompt\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.cognitive.Account;\nimport com.pulumi.azure.cognitive.AccountArgs;\nimport com.pulumi.azure.cognitive.AccountRaiPolicy;\nimport com.pulumi.azure.cognitive.AccountRaiPolicyArgs;\nimport com.pulumi.azure.cognitive.inputs.AccountRaiPolicyContentFilterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"East US\")\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"example-account\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .kind(\"OpenAI\")\n            .skuName(\"S0\")\n            .build());\n\n        var exampleAccountRaiPolicy = new AccountRaiPolicy(\"exampleAccountRaiPolicy\", AccountRaiPolicyArgs.builder()\n            .name(\"example-rai-policy\")\n            .cognitiveAccountId(exampleAccount.id())\n            .basePolicyName(\"Microsoft.Default\")\n            .contentFilters(AccountRaiPolicyContentFilterArgs.builder()\n                .name(\"Hate\")\n                .filterEnabled(true)\n                .blockEnabled(true)\n                .severityThreshold(\"High\")\n                .source(\"Prompt\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: East US\n  exampleAccount:\n    type: azure:cognitive:Account\n    name: example\n    properties:\n      name: example-account\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      kind: OpenAI\n      skuName: S0\n  exampleAccountRaiPolicy:\n    type: azure:cognitive:AccountRaiPolicy\n    name: example\n    properties:\n      name: example-rai-policy\n      cognitiveAccountId: ${exampleAccount.id}\n      basePolicyName: Microsoft.Default\n      contentFilters:\n        - name: Hate\n          filterEnabled: true\n          blockEnabled: true\n          severityThreshold: High\n          source: Prompt\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.CognitiveServices` - 2025-06-01\n\n## Import\n\nCognitive Service Account RAI Policies can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:cognitive/accountRaiPolicy:AccountRaiPolicy policy1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.CognitiveServices/accounts/account1/raiPolicies/policy1\n```\n\n","properties":{"basePolicyName":{"type":"string","description":"The name of the base policy to use for this RAI Policy. Changing this forces a new resource to be created.\n"},"cognitiveAccountId":{"type":"string","description":"The ID of the Cognitive Service Account to which this RAI Policy should be associated. Changing this forces a new resource to be created.\n"},"contentFilters":{"type":"array","items":{"$ref":"#/types/azure:cognitive/AccountRaiPolicyContentFilter:AccountRaiPolicyContentFilter"},"description":"A \u003cspan pulumi-lang-nodejs=\"`contentFilter`\" pulumi-lang-dotnet=\"`ContentFilter`\" pulumi-lang-go=\"`contentFilter`\" pulumi-lang-python=\"`content_filter`\" pulumi-lang-yaml=\"`contentFilter`\" pulumi-lang-java=\"`contentFilter`\"\u003e`content_filter`\u003c/span\u003e block as defined below.\n"},"mode":{"type":"string","description":"The mode of the RAI Policy. Possible values are `Default`, `Deferred`, `Blocking` or `Asynchronous_filter`.\n"},"name":{"type":"string","description":"The name of the Cognitive Service Account RAI Policy. Changing this forces a new resource to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"required":["basePolicyName","cognitiveAccountId","contentFilters","name"],"inputProperties":{"basePolicyName":{"type":"string","description":"The name of the base policy to use for this RAI Policy. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"cognitiveAccountId":{"type":"string","description":"The ID of the Cognitive Service Account to which this RAI Policy should be associated. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"contentFilters":{"type":"array","items":{"$ref":"#/types/azure:cognitive/AccountRaiPolicyContentFilter:AccountRaiPolicyContentFilter"},"description":"A \u003cspan pulumi-lang-nodejs=\"`contentFilter`\" pulumi-lang-dotnet=\"`ContentFilter`\" pulumi-lang-go=\"`contentFilter`\" pulumi-lang-python=\"`content_filter`\" pulumi-lang-yaml=\"`contentFilter`\" pulumi-lang-java=\"`contentFilter`\"\u003e`content_filter`\u003c/span\u003e block as defined below.\n"},"mode":{"type":"string","description":"The mode of the RAI Policy. Possible values are `Default`, `Deferred`, `Blocking` or `Asynchronous_filter`.\n"},"name":{"type":"string","description":"The name of the Cognitive Service Account RAI Policy. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"requiredInputs":["basePolicyName","cognitiveAccountId","contentFilters"],"stateInputs":{"description":"Input properties used for looking up and filtering AccountRaiPolicy resources.\n","properties":{"basePolicyName":{"type":"string","description":"The name of the base policy to use for this RAI Policy. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"cognitiveAccountId":{"type":"string","description":"The ID of the Cognitive Service Account to which this RAI Policy should be associated. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"contentFilters":{"type":"array","items":{"$ref":"#/types/azure:cognitive/AccountRaiPolicyContentFilter:AccountRaiPolicyContentFilter"},"description":"A \u003cspan pulumi-lang-nodejs=\"`contentFilter`\" pulumi-lang-dotnet=\"`ContentFilter`\" pulumi-lang-go=\"`contentFilter`\" pulumi-lang-python=\"`content_filter`\" pulumi-lang-yaml=\"`contentFilter`\" pulumi-lang-java=\"`contentFilter`\"\u003e`content_filter`\u003c/span\u003e block as defined below.\n"},"mode":{"type":"string","description":"The mode of the RAI Policy. Possible values are `Default`, `Deferred`, `Blocking` or `Asynchronous_filter`.\n"},"name":{"type":"string","description":"The name of the Cognitive Service Account RAI Policy. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"type":"object"}},"azure:cognitive/deployment:Deployment":{"description":"Manages a Cognitive Services Account Deployment.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleAccount = new azure.cognitive.Account(\"example\", {\n    name: \"example-ca\",\n    location: example.location,\n    resourceGroupName: example.name,\n    kind: \"OpenAI\",\n    skuName: \"S0\",\n});\nconst exampleDeployment = new azure.cognitive.Deployment(\"example\", {\n    name: \"example-cd\",\n    cognitiveAccountId: exampleAccount.id,\n    model: {\n        format: \"OpenAI\",\n        name: \"text-curie-001\",\n        version: \"1\",\n    },\n    sku: {\n        name: \"Standard\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_account = azure.cognitive.Account(\"example\",\n    name=\"example-ca\",\n    location=example.location,\n    resource_group_name=example.name,\n    kind=\"OpenAI\",\n    sku_name=\"S0\")\nexample_deployment = azure.cognitive.Deployment(\"example\",\n    name=\"example-cd\",\n    cognitive_account_id=example_account.id,\n    model={\n        \"format\": \"OpenAI\",\n        \"name\": \"text-curie-001\",\n        \"version\": \"1\",\n    },\n    sku={\n        \"name\": \"Standard\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleAccount = new Azure.Cognitive.Account(\"example\", new()\n    {\n        Name = \"example-ca\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Kind = \"OpenAI\",\n        SkuName = \"S0\",\n    });\n\n    var exampleDeployment = new Azure.Cognitive.Deployment(\"example\", new()\n    {\n        Name = \"example-cd\",\n        CognitiveAccountId = exampleAccount.Id,\n        Model = new Azure.Cognitive.Inputs.DeploymentModelArgs\n        {\n            Format = \"OpenAI\",\n            Name = \"text-curie-001\",\n            Version = \"1\",\n        },\n        Sku = new Azure.Cognitive.Inputs.DeploymentSkuArgs\n        {\n            Name = \"Standard\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/cognitive\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := cognitive.NewAccount(ctx, \"example\", \u0026cognitive.AccountArgs{\n\t\t\tName:              pulumi.String(\"example-ca\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tKind:              pulumi.String(\"OpenAI\"),\n\t\t\tSkuName:           pulumi.String(\"S0\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cognitive.NewDeployment(ctx, \"example\", \u0026cognitive.DeploymentArgs{\n\t\t\tName:               pulumi.String(\"example-cd\"),\n\t\t\tCognitiveAccountId: exampleAccount.ID(),\n\t\t\tModel: \u0026cognitive.DeploymentModelArgs{\n\t\t\t\tFormat:  pulumi.String(\"OpenAI\"),\n\t\t\t\tName:    pulumi.String(\"text-curie-001\"),\n\t\t\t\tVersion: pulumi.String(\"1\"),\n\t\t\t},\n\t\t\tSku: \u0026cognitive.DeploymentSkuArgs{\n\t\t\t\tName: pulumi.String(\"Standard\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.cognitive.Account;\nimport com.pulumi.azure.cognitive.AccountArgs;\nimport com.pulumi.azure.cognitive.Deployment;\nimport com.pulumi.azure.cognitive.DeploymentArgs;\nimport com.pulumi.azure.cognitive.inputs.DeploymentModelArgs;\nimport com.pulumi.azure.cognitive.inputs.DeploymentSkuArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"example-ca\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .kind(\"OpenAI\")\n            .skuName(\"S0\")\n            .build());\n\n        var exampleDeployment = new Deployment(\"exampleDeployment\", DeploymentArgs.builder()\n            .name(\"example-cd\")\n            .cognitiveAccountId(exampleAccount.id())\n            .model(DeploymentModelArgs.builder()\n                .format(\"OpenAI\")\n                .name(\"text-curie-001\")\n                .version(\"1\")\n                .build())\n            .sku(DeploymentSkuArgs.builder()\n                .name(\"Standard\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleAccount:\n    type: azure:cognitive:Account\n    name: example\n    properties:\n      name: example-ca\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      kind: OpenAI\n      skuName: S0\n  exampleDeployment:\n    type: azure:cognitive:Deployment\n    name: example\n    properties:\n      name: example-cd\n      cognitiveAccountId: ${exampleAccount.id}\n      model:\n        format: OpenAI\n        name: text-curie-001\n        version: '1'\n      sku:\n        name: Standard\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.CognitiveServices` - 2025-06-01\n\n## Import\n\nCognitive Services Account Deployment can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:cognitive/deployment:Deployment example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup1/providers/Microsoft.CognitiveServices/accounts/account1/deployments/deployment1\n```\n\n","properties":{"cognitiveAccountId":{"type":"string","description":"The ID of the Cognitive Services Account. Changing this forces a new resource to be created.\n"},"dynamicThrottlingEnabled":{"type":"boolean","description":"Whether dynamic throttling is enabled.\n"},"model":{"$ref":"#/types/azure:cognitive/DeploymentModel:DeploymentModel","description":"A \u003cspan pulumi-lang-nodejs=\"`model`\" pulumi-lang-dotnet=\"`Model`\" pulumi-lang-go=\"`model`\" pulumi-lang-python=\"`model`\" pulumi-lang-yaml=\"`model`\" pulumi-lang-java=\"`model`\"\u003e`model`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"The name of the Cognitive Services Account Deployment. Changing this forces a new resource to be created.\n"},"raiPolicyName":{"type":"string","description":"The name of RAI policy.\n"},"sku":{"$ref":"#/types/azure:cognitive/DeploymentSku:DeploymentSku","description":"A \u003cspan pulumi-lang-nodejs=\"`sku`\" pulumi-lang-dotnet=\"`Sku`\" pulumi-lang-go=\"`sku`\" pulumi-lang-python=\"`sku`\" pulumi-lang-yaml=\"`sku`\" pulumi-lang-java=\"`sku`\"\u003e`sku`\u003c/span\u003e block as defined below.\n"},"versionUpgradeOption":{"type":"string","description":"Deployment model version upgrade option. Possible values are `OnceNewDefaultVersionAvailable`, `OnceCurrentVersionExpired`, and `NoAutoUpgrade`. Defaults to `OnceNewDefaultVersionAvailable`.\n"}},"required":["cognitiveAccountId","model","name","sku"],"inputProperties":{"cognitiveAccountId":{"type":"string","description":"The ID of the Cognitive Services Account. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"dynamicThrottlingEnabled":{"type":"boolean","description":"Whether dynamic throttling is enabled.\n"},"model":{"$ref":"#/types/azure:cognitive/DeploymentModel:DeploymentModel","description":"A \u003cspan pulumi-lang-nodejs=\"`model`\" pulumi-lang-dotnet=\"`Model`\" pulumi-lang-go=\"`model`\" pulumi-lang-python=\"`model`\" pulumi-lang-yaml=\"`model`\" pulumi-lang-java=\"`model`\"\u003e`model`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the Cognitive Services Account Deployment. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"raiPolicyName":{"type":"string","description":"The name of RAI policy.\n"},"sku":{"$ref":"#/types/azure:cognitive/DeploymentSku:DeploymentSku","description":"A \u003cspan pulumi-lang-nodejs=\"`sku`\" pulumi-lang-dotnet=\"`Sku`\" pulumi-lang-go=\"`sku`\" pulumi-lang-python=\"`sku`\" pulumi-lang-yaml=\"`sku`\" pulumi-lang-java=\"`sku`\"\u003e`sku`\u003c/span\u003e block as defined below.\n"},"versionUpgradeOption":{"type":"string","description":"Deployment model version upgrade option. Possible values are `OnceNewDefaultVersionAvailable`, `OnceCurrentVersionExpired`, and `NoAutoUpgrade`. Defaults to `OnceNewDefaultVersionAvailable`.\n"}},"requiredInputs":["cognitiveAccountId","model","sku"],"stateInputs":{"description":"Input properties used for looking up and filtering Deployment resources.\n","properties":{"cognitiveAccountId":{"type":"string","description":"The ID of the Cognitive Services Account. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"dynamicThrottlingEnabled":{"type":"boolean","description":"Whether dynamic throttling is enabled.\n"},"model":{"$ref":"#/types/azure:cognitive/DeploymentModel:DeploymentModel","description":"A \u003cspan pulumi-lang-nodejs=\"`model`\" pulumi-lang-dotnet=\"`Model`\" pulumi-lang-go=\"`model`\" pulumi-lang-python=\"`model`\" pulumi-lang-yaml=\"`model`\" pulumi-lang-java=\"`model`\"\u003e`model`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the Cognitive Services Account Deployment. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"raiPolicyName":{"type":"string","description":"The name of RAI policy.\n"},"sku":{"$ref":"#/types/azure:cognitive/DeploymentSku:DeploymentSku","description":"A \u003cspan pulumi-lang-nodejs=\"`sku`\" pulumi-lang-dotnet=\"`Sku`\" pulumi-lang-go=\"`sku`\" pulumi-lang-python=\"`sku`\" pulumi-lang-yaml=\"`sku`\" pulumi-lang-java=\"`sku`\"\u003e`sku`\u003c/span\u003e block as defined below.\n"},"versionUpgradeOption":{"type":"string","description":"Deployment model version upgrade option. Possible values are `OnceNewDefaultVersionAvailable`, `OnceCurrentVersionExpired`, and `NoAutoUpgrade`. Defaults to `OnceNewDefaultVersionAvailable`.\n"}},"type":"object"}},"azure:communication/emailService:EmailService":{"description":"Manages an Email Communication Service.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleEmailService = new azure.communication.EmailService(\"example\", {\n    name: \"example-emailcommunicationservice\",\n    resourceGroupName: example.name,\n    dataLocation: \"United States\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_email_service = azure.communication.EmailService(\"example\",\n    name=\"example-emailcommunicationservice\",\n    resource_group_name=example.name,\n    data_location=\"United States\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleEmailService = new Azure.Communication.EmailService(\"example\", new()\n    {\n        Name = \"example-emailcommunicationservice\",\n        ResourceGroupName = example.Name,\n        DataLocation = \"United States\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/communication\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = communication.NewEmailService(ctx, \"example\", \u0026communication.EmailServiceArgs{\n\t\t\tName:              pulumi.String(\"example-emailcommunicationservice\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tDataLocation:      pulumi.String(\"United States\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.communication.EmailService;\nimport com.pulumi.azure.communication.EmailServiceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleEmailService = new EmailService(\"exampleEmailService\", EmailServiceArgs.builder()\n            .name(\"example-emailcommunicationservice\")\n            .resourceGroupName(example.name())\n            .dataLocation(\"United States\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleEmailService:\n    type: azure:communication:EmailService\n    name: example\n    properties:\n      name: example-emailcommunicationservice\n      resourceGroupName: ${example.name}\n      dataLocation: United States\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Communication` - 2023-03-31\n\n## Import\n\nCommunication Services can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:communication/emailService:EmailService example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Communication/emailServices/emailCommunicationService1\n```\n\n","properties":{"dataLocation":{"type":"string","description":"The location where the Email Communication service stores its data at rest. Possible values are `Africa`, `Asia Pacific`, `Australia`, `Brazil`, `Canada`, `Europe`, `France`, `Germany`, `India`, `Japan`, `Korea`, `Norway`, `Switzerland`, `UAE`, `UK` \u003cspan pulumi-lang-nodejs=\"`usgov`\" pulumi-lang-dotnet=\"`Usgov`\" pulumi-lang-go=\"`usgov`\" pulumi-lang-python=\"`usgov`\" pulumi-lang-yaml=\"`usgov`\" pulumi-lang-java=\"`usgov`\"\u003e`usgov`\u003c/span\u003e and `United States`. Changing this forces a new Email Communication Service to be created.\n"},"name":{"type":"string","description":"The name of the Email Communication Service resource. Changing this forces a new Email Communication Service to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Email Communication Service should exist. Changing this forces a new Email Communication Service to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Email Communication Service.\n"}},"required":["dataLocation","name","resourceGroupName"],"inputProperties":{"dataLocation":{"type":"string","description":"The location where the Email Communication service stores its data at rest. Possible values are `Africa`, `Asia Pacific`, `Australia`, `Brazil`, `Canada`, `Europe`, `France`, `Germany`, `India`, `Japan`, `Korea`, `Norway`, `Switzerland`, `UAE`, `UK` \u003cspan pulumi-lang-nodejs=\"`usgov`\" pulumi-lang-dotnet=\"`Usgov`\" pulumi-lang-go=\"`usgov`\" pulumi-lang-python=\"`usgov`\" pulumi-lang-yaml=\"`usgov`\" pulumi-lang-java=\"`usgov`\"\u003e`usgov`\u003c/span\u003e and `United States`. Changing this forces a new Email Communication Service to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the Email Communication Service resource. Changing this forces a new Email Communication Service to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Email Communication Service should exist. Changing this forces a new Email Communication Service to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Email Communication Service.\n"}},"requiredInputs":["dataLocation","resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering EmailService resources.\n","properties":{"dataLocation":{"type":"string","description":"The location where the Email Communication service stores its data at rest. Possible values are `Africa`, `Asia Pacific`, `Australia`, `Brazil`, `Canada`, `Europe`, `France`, `Germany`, `India`, `Japan`, `Korea`, `Norway`, `Switzerland`, `UAE`, `UK` \u003cspan pulumi-lang-nodejs=\"`usgov`\" pulumi-lang-dotnet=\"`Usgov`\" pulumi-lang-go=\"`usgov`\" pulumi-lang-python=\"`usgov`\" pulumi-lang-yaml=\"`usgov`\" pulumi-lang-java=\"`usgov`\"\u003e`usgov`\u003c/span\u003e and `United States`. Changing this forces a new Email Communication Service to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the Email Communication Service resource. Changing this forces a new Email Communication Service to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Email Communication Service should exist. Changing this forces a new Email Communication Service to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Email Communication Service.\n"}},"type":"object"}},"azure:communication/emailServiceDomain:EmailServiceDomain":{"description":"Manages an Email Communication Service Domain.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleEmailService = new azure.communication.EmailService(\"example\", {\n    name: \"example-emailcommunicationservice\",\n    resourceGroupName: example.name,\n    dataLocation: \"United States\",\n});\nconst exampleEmailServiceDomain = new azure.communication.EmailServiceDomain(\"example\", {\n    name: \"AzureManagedDomain\",\n    emailServiceId: exampleEmailService.id,\n    domainManagement: \"AzureManaged\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_email_service = azure.communication.EmailService(\"example\",\n    name=\"example-emailcommunicationservice\",\n    resource_group_name=example.name,\n    data_location=\"United States\")\nexample_email_service_domain = azure.communication.EmailServiceDomain(\"example\",\n    name=\"AzureManagedDomain\",\n    email_service_id=example_email_service.id,\n    domain_management=\"AzureManaged\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleEmailService = new Azure.Communication.EmailService(\"example\", new()\n    {\n        Name = \"example-emailcommunicationservice\",\n        ResourceGroupName = example.Name,\n        DataLocation = \"United States\",\n    });\n\n    var exampleEmailServiceDomain = new Azure.Communication.EmailServiceDomain(\"example\", new()\n    {\n        Name = \"AzureManagedDomain\",\n        EmailServiceId = exampleEmailService.Id,\n        DomainManagement = \"AzureManaged\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/communication\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleEmailService, err := communication.NewEmailService(ctx, \"example\", \u0026communication.EmailServiceArgs{\n\t\t\tName:              pulumi.String(\"example-emailcommunicationservice\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tDataLocation:      pulumi.String(\"United States\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = communication.NewEmailServiceDomain(ctx, \"example\", \u0026communication.EmailServiceDomainArgs{\n\t\t\tName:             pulumi.String(\"AzureManagedDomain\"),\n\t\t\tEmailServiceId:   exampleEmailService.ID(),\n\t\t\tDomainManagement: pulumi.String(\"AzureManaged\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.communication.EmailService;\nimport com.pulumi.azure.communication.EmailServiceArgs;\nimport com.pulumi.azure.communication.EmailServiceDomain;\nimport com.pulumi.azure.communication.EmailServiceDomainArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleEmailService = new EmailService(\"exampleEmailService\", EmailServiceArgs.builder()\n            .name(\"example-emailcommunicationservice\")\n            .resourceGroupName(example.name())\n            .dataLocation(\"United States\")\n            .build());\n\n        var exampleEmailServiceDomain = new EmailServiceDomain(\"exampleEmailServiceDomain\", EmailServiceDomainArgs.builder()\n            .name(\"AzureManagedDomain\")\n            .emailServiceId(exampleEmailService.id())\n            .domainManagement(\"AzureManaged\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleEmailService:\n    type: azure:communication:EmailService\n    name: example\n    properties:\n      name: example-emailcommunicationservice\n      resourceGroupName: ${example.name}\n      dataLocation: United States\n  exampleEmailServiceDomain:\n    type: azure:communication:EmailServiceDomain\n    name: example\n    properties:\n      name: AzureManagedDomain\n      emailServiceId: ${exampleEmailService.id}\n      domainManagement: AzureManaged\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Communication` - 2023-03-31\n\n## Import\n\nCommunication Services can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:communication/emailServiceDomain:EmailServiceDomain example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Communication/emailServices/emailCommunicationService1/domains/domain1\n```\n\n","properties":{"domainManagement":{"type":"string","description":"Describes how a Domains resource is being managed. Possible values are `AzureManaged`, `CustomerManaged`, `CustomerManagedInExchangeOnline`. Changing this forces a new Email Communication Service to be created.\n"},"emailServiceId":{"type":"string","description":"The resource ID of the Email Communication Service where the Domain belongs to. Changing this forces a new Email Communication Service to be created.\n"},"fromSenderDomain":{"type":"string","description":"P2 sender domain that is displayed to the email recipients [RFC 5322].\n"},"mailFromSenderDomain":{"type":"string","description":"P1 sender domain that is present on the email envelope [RFC 5321].\n"},"name":{"type":"string","description":"The name of the Email Communication Service resource. If \u003cspan pulumi-lang-nodejs=\"`domainManagement`\" pulumi-lang-dotnet=\"`DomainManagement`\" pulumi-lang-go=\"`domainManagement`\" pulumi-lang-python=\"`domain_management`\" pulumi-lang-yaml=\"`domainManagement`\" pulumi-lang-java=\"`domainManagement`\"\u003e`domain_management`\u003c/span\u003e is `AzureManaged`, the name must be `AzureManagedDomain`. Changing this forces a new Email Communication Service to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Email Communication Service.\n"},"userEngagementTrackingEnabled":{"type":"boolean","description":"Describes user engagement tracking is enabled or disabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"verificationRecords":{"type":"array","items":{"$ref":"#/types/azure:communication/EmailServiceDomainVerificationRecord:EmailServiceDomainVerificationRecord"},"description":"(Optional) An \u003cspan pulumi-lang-nodejs=\"`verificationRecords`\" pulumi-lang-dotnet=\"`VerificationRecords`\" pulumi-lang-go=\"`verificationRecords`\" pulumi-lang-python=\"`verification_records`\" pulumi-lang-yaml=\"`verificationRecords`\" pulumi-lang-java=\"`verificationRecords`\"\u003e`verification_records`\u003c/span\u003e block as defined below.\n"}},"required":["domainManagement","emailServiceId","fromSenderDomain","mailFromSenderDomain","name","verificationRecords"],"inputProperties":{"domainManagement":{"type":"string","description":"Describes how a Domains resource is being managed. Possible values are `AzureManaged`, `CustomerManaged`, `CustomerManagedInExchangeOnline`. Changing this forces a new Email Communication Service to be created.\n","willReplaceOnChanges":true},"emailServiceId":{"type":"string","description":"The resource ID of the Email Communication Service where the Domain belongs to. Changing this forces a new Email Communication Service to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the Email Communication Service resource. If \u003cspan pulumi-lang-nodejs=\"`domainManagement`\" pulumi-lang-dotnet=\"`DomainManagement`\" pulumi-lang-go=\"`domainManagement`\" pulumi-lang-python=\"`domain_management`\" pulumi-lang-yaml=\"`domainManagement`\" pulumi-lang-java=\"`domainManagement`\"\u003e`domain_management`\u003c/span\u003e is `AzureManaged`, the name must be `AzureManagedDomain`. Changing this forces a new Email Communication Service to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Email Communication Service.\n"},"userEngagementTrackingEnabled":{"type":"boolean","description":"Describes user engagement tracking is enabled or disabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"}},"requiredInputs":["domainManagement","emailServiceId"],"stateInputs":{"description":"Input properties used for looking up and filtering EmailServiceDomain resources.\n","properties":{"domainManagement":{"type":"string","description":"Describes how a Domains resource is being managed. Possible values are `AzureManaged`, `CustomerManaged`, `CustomerManagedInExchangeOnline`. Changing this forces a new Email Communication Service to be created.\n","willReplaceOnChanges":true},"emailServiceId":{"type":"string","description":"The resource ID of the Email Communication Service where the Domain belongs to. Changing this forces a new Email Communication Service to be created.\n","willReplaceOnChanges":true},"fromSenderDomain":{"type":"string","description":"P2 sender domain that is displayed to the email recipients [RFC 5322].\n"},"mailFromSenderDomain":{"type":"string","description":"P1 sender domain that is present on the email envelope [RFC 5321].\n"},"name":{"type":"string","description":"The name of the Email Communication Service resource. If \u003cspan pulumi-lang-nodejs=\"`domainManagement`\" pulumi-lang-dotnet=\"`DomainManagement`\" pulumi-lang-go=\"`domainManagement`\" pulumi-lang-python=\"`domain_management`\" pulumi-lang-yaml=\"`domainManagement`\" pulumi-lang-java=\"`domainManagement`\"\u003e`domain_management`\u003c/span\u003e is `AzureManaged`, the name must be `AzureManagedDomain`. Changing this forces a new Email Communication Service to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Email Communication Service.\n"},"userEngagementTrackingEnabled":{"type":"boolean","description":"Describes user engagement tracking is enabled or disabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"verificationRecords":{"type":"array","items":{"$ref":"#/types/azure:communication/EmailServiceDomainVerificationRecord:EmailServiceDomainVerificationRecord"},"description":"(Optional) An \u003cspan pulumi-lang-nodejs=\"`verificationRecords`\" pulumi-lang-dotnet=\"`VerificationRecords`\" pulumi-lang-go=\"`verificationRecords`\" pulumi-lang-python=\"`verification_records`\" pulumi-lang-yaml=\"`verificationRecords`\" pulumi-lang-java=\"`verificationRecords`\"\u003e`verification_records`\u003c/span\u003e block as defined below.\n"}},"type":"object"}},"azure:communication/emailServiceDomainSenderUsername:EmailServiceDomainSenderUsername":{"description":"Manages an Email Communication Service Domain Sender Username.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleEmailService = new azure.communication.EmailService(\"example\", {\n    name: \"example-emailcommunicationservice\",\n    resourceGroupName: example.name,\n    dataLocation: \"United States\",\n});\nconst exampleEmailServiceDomain = new azure.communication.EmailServiceDomain(\"example\", {\n    name: \"AzureManagedDomain\",\n    emailServiceId: exampleEmailService.id,\n    domainManagement: \"AzureManaged\",\n});\nconst exampleEmailServiceDomainSenderUsername = new azure.communication.EmailServiceDomainSenderUsername(\"example\", {\n    name: \"example-su\",\n    emailServiceDomainId: exampleEmailServiceDomain.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_email_service = azure.communication.EmailService(\"example\",\n    name=\"example-emailcommunicationservice\",\n    resource_group_name=example.name,\n    data_location=\"United States\")\nexample_email_service_domain = azure.communication.EmailServiceDomain(\"example\",\n    name=\"AzureManagedDomain\",\n    email_service_id=example_email_service.id,\n    domain_management=\"AzureManaged\")\nexample_email_service_domain_sender_username = azure.communication.EmailServiceDomainSenderUsername(\"example\",\n    name=\"example-su\",\n    email_service_domain_id=example_email_service_domain.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleEmailService = new Azure.Communication.EmailService(\"example\", new()\n    {\n        Name = \"example-emailcommunicationservice\",\n        ResourceGroupName = example.Name,\n        DataLocation = \"United States\",\n    });\n\n    var exampleEmailServiceDomain = new Azure.Communication.EmailServiceDomain(\"example\", new()\n    {\n        Name = \"AzureManagedDomain\",\n        EmailServiceId = exampleEmailService.Id,\n        DomainManagement = \"AzureManaged\",\n    });\n\n    var exampleEmailServiceDomainSenderUsername = new Azure.Communication.EmailServiceDomainSenderUsername(\"example\", new()\n    {\n        Name = \"example-su\",\n        EmailServiceDomainId = exampleEmailServiceDomain.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/communication\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleEmailService, err := communication.NewEmailService(ctx, \"example\", \u0026communication.EmailServiceArgs{\n\t\t\tName:              pulumi.String(\"example-emailcommunicationservice\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tDataLocation:      pulumi.String(\"United States\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleEmailServiceDomain, err := communication.NewEmailServiceDomain(ctx, \"example\", \u0026communication.EmailServiceDomainArgs{\n\t\t\tName:             pulumi.String(\"AzureManagedDomain\"),\n\t\t\tEmailServiceId:   exampleEmailService.ID(),\n\t\t\tDomainManagement: pulumi.String(\"AzureManaged\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = communication.NewEmailServiceDomainSenderUsername(ctx, \"example\", \u0026communication.EmailServiceDomainSenderUsernameArgs{\n\t\t\tName:                 pulumi.String(\"example-su\"),\n\t\t\tEmailServiceDomainId: exampleEmailServiceDomain.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.communication.EmailService;\nimport com.pulumi.azure.communication.EmailServiceArgs;\nimport com.pulumi.azure.communication.EmailServiceDomain;\nimport com.pulumi.azure.communication.EmailServiceDomainArgs;\nimport com.pulumi.azure.communication.EmailServiceDomainSenderUsername;\nimport com.pulumi.azure.communication.EmailServiceDomainSenderUsernameArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleEmailService = new EmailService(\"exampleEmailService\", EmailServiceArgs.builder()\n            .name(\"example-emailcommunicationservice\")\n            .resourceGroupName(example.name())\n            .dataLocation(\"United States\")\n            .build());\n\n        var exampleEmailServiceDomain = new EmailServiceDomain(\"exampleEmailServiceDomain\", EmailServiceDomainArgs.builder()\n            .name(\"AzureManagedDomain\")\n            .emailServiceId(exampleEmailService.id())\n            .domainManagement(\"AzureManaged\")\n            .build());\n\n        var exampleEmailServiceDomainSenderUsername = new EmailServiceDomainSenderUsername(\"exampleEmailServiceDomainSenderUsername\", EmailServiceDomainSenderUsernameArgs.builder()\n            .name(\"example-su\")\n            .emailServiceDomainId(exampleEmailServiceDomain.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleEmailService:\n    type: azure:communication:EmailService\n    name: example\n    properties:\n      name: example-emailcommunicationservice\n      resourceGroupName: ${example.name}\n      dataLocation: United States\n  exampleEmailServiceDomain:\n    type: azure:communication:EmailServiceDomain\n    name: example\n    properties:\n      name: AzureManagedDomain\n      emailServiceId: ${exampleEmailService.id}\n      domainManagement: AzureManaged\n  exampleEmailServiceDomainSenderUsername:\n    type: azure:communication:EmailServiceDomainSenderUsername\n    name: example\n    properties:\n      name: example-su\n      emailServiceDomainId: ${exampleEmailServiceDomain.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Communication` - 2023-03-31\n\n## Import\n\nCommunication Service Domain Sender Usernames can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:communication/emailServiceDomainSenderUsername:EmailServiceDomainSenderUsername example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Communication/emailServices/service1/domains/domain1/senderUsernames/username1\n```\n\n","properties":{"displayName":{"type":"string","description":"The display name for the Email Communication Service Domain Sender Username resource.\n"},"emailServiceDomainId":{"type":"string","description":"The ID of the Email Communication Service Domain resource. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"The name of the Email Communication Service Domain Sender Username resource. Changing this forces a new resource to be created.\n"}},"required":["emailServiceDomainId","name"],"inputProperties":{"displayName":{"type":"string","description":"The display name for the Email Communication Service Domain Sender Username resource.\n"},"emailServiceDomainId":{"type":"string","description":"The ID of the Email Communication Service Domain resource. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the Email Communication Service Domain Sender Username resource. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["emailServiceDomainId"],"stateInputs":{"description":"Input properties used for looking up and filtering EmailServiceDomainSenderUsername resources.\n","properties":{"displayName":{"type":"string","description":"The display name for the Email Communication Service Domain Sender Username resource.\n"},"emailServiceDomainId":{"type":"string","description":"The ID of the Email Communication Service Domain resource. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the Email Communication Service Domain Sender Username resource. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:communication/service:Service":{"description":"Manages a Communication Service.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleService = new azure.communication.Service(\"example\", {\n    name: \"example-communicationservice\",\n    resourceGroupName: example.name,\n    dataLocation: \"United States\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_service = azure.communication.Service(\"example\",\n    name=\"example-communicationservice\",\n    resource_group_name=example.name,\n    data_location=\"United States\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleService = new Azure.Communication.Service(\"example\", new()\n    {\n        Name = \"example-communicationservice\",\n        ResourceGroupName = example.Name,\n        DataLocation = \"United States\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/communication\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = communication.NewService(ctx, \"example\", \u0026communication.ServiceArgs{\n\t\t\tName:              pulumi.String(\"example-communicationservice\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tDataLocation:      pulumi.String(\"United States\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.communication.Service;\nimport com.pulumi.azure.communication.ServiceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleService = new Service(\"exampleService\", ServiceArgs.builder()\n            .name(\"example-communicationservice\")\n            .resourceGroupName(example.name())\n            .dataLocation(\"United States\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleService:\n    type: azure:communication:Service\n    name: example\n    properties:\n      name: example-communicationservice\n      resourceGroupName: ${example.name}\n      dataLocation: United States\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Communication` - 2023-03-31\n\n## Import\n\nCommunication Services can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:communication/service:Service example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Communication/communicationServices/communicationService1\n```\n\n","properties":{"dataLocation":{"type":"string","description":"The location where the Communication service stores its data at rest. Possible values are `Africa`, `Asia Pacific`, `Australia`, `Brazil`, `Canada`, `Europe`, `France`, `Germany`, `India`, `Japan`, `Korea`, `Norway`, `Switzerland`, `UAE`, `UK`, \u003cspan pulumi-lang-nodejs=\"`usgov`\" pulumi-lang-dotnet=\"`Usgov`\" pulumi-lang-go=\"`usgov`\" pulumi-lang-python=\"`usgov`\" pulumi-lang-yaml=\"`usgov`\" pulumi-lang-java=\"`usgov`\"\u003e`usgov`\u003c/span\u003e and `United States`. Defaults to `United States`. Changing this forces a new Communication Service to be created.\n"},"hostname":{"type":"string","description":"The hostname of the Communication Service\n"},"name":{"type":"string","description":"The name of the Communication Service resource. Changing this forces a new Communication Service to be created.\n"},"primaryConnectionString":{"type":"string","description":"The primary connection string of the Communication Service.\n","secret":true},"primaryKey":{"type":"string","description":"The primary key of the Communication Service.\n","secret":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Communication Service should exist. Changing this forces a new Communication Service to be created.\n"},"secondaryConnectionString":{"type":"string","description":"The secondary connection string of the Communication Service.\n","secret":true},"secondaryKey":{"type":"string","description":"The secondary key of the Communication Service.\n","secret":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Communication Service.\n"}},"required":["hostname","name","primaryConnectionString","primaryKey","resourceGroupName","secondaryConnectionString","secondaryKey"],"inputProperties":{"dataLocation":{"type":"string","description":"The location where the Communication service stores its data at rest. Possible values are `Africa`, `Asia Pacific`, `Australia`, `Brazil`, `Canada`, `Europe`, `France`, `Germany`, `India`, `Japan`, `Korea`, `Norway`, `Switzerland`, `UAE`, `UK`, \u003cspan pulumi-lang-nodejs=\"`usgov`\" pulumi-lang-dotnet=\"`Usgov`\" pulumi-lang-go=\"`usgov`\" pulumi-lang-python=\"`usgov`\" pulumi-lang-yaml=\"`usgov`\" pulumi-lang-java=\"`usgov`\"\u003e`usgov`\u003c/span\u003e and `United States`. Defaults to `United States`. Changing this forces a new Communication Service to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the Communication Service resource. Changing this forces a new Communication Service to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Communication Service should exist. Changing this forces a new Communication Service to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Communication Service.\n"}},"requiredInputs":["resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering Service resources.\n","properties":{"dataLocation":{"type":"string","description":"The location where the Communication service stores its data at rest. Possible values are `Africa`, `Asia Pacific`, `Australia`, `Brazil`, `Canada`, `Europe`, `France`, `Germany`, `India`, `Japan`, `Korea`, `Norway`, `Switzerland`, `UAE`, `UK`, \u003cspan pulumi-lang-nodejs=\"`usgov`\" pulumi-lang-dotnet=\"`Usgov`\" pulumi-lang-go=\"`usgov`\" pulumi-lang-python=\"`usgov`\" pulumi-lang-yaml=\"`usgov`\" pulumi-lang-java=\"`usgov`\"\u003e`usgov`\u003c/span\u003e and `United States`. Defaults to `United States`. Changing this forces a new Communication Service to be created.\n","willReplaceOnChanges":true},"hostname":{"type":"string","description":"The hostname of the Communication Service\n"},"name":{"type":"string","description":"The name of the Communication Service resource. Changing this forces a new Communication Service to be created.\n","willReplaceOnChanges":true},"primaryConnectionString":{"type":"string","description":"The primary connection string of the Communication Service.\n","secret":true},"primaryKey":{"type":"string","description":"The primary key of the Communication Service.\n","secret":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Communication Service should exist. Changing this forces a new Communication Service to be created.\n","willReplaceOnChanges":true},"secondaryConnectionString":{"type":"string","description":"The secondary connection string of the Communication Service.\n","secret":true},"secondaryKey":{"type":"string","description":"The secondary key of the Communication Service.\n","secret":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Communication Service.\n"}},"type":"object"}},"azure:communication/serviceEmailDomainAssociation:ServiceEmailDomainAssociation":{"description":"Manages a communication service email domain association.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"group1\",\n    location: \"West Europe\",\n});\nconst exampleService = new azure.communication.Service(\"example\", {\n    name: \"CommunicationService1\",\n    resourceGroupName: example.name,\n    dataLocation: \"United States\",\n});\nconst exampleEmailService = new azure.communication.EmailService(\"example\", {\n    name: \"emailCommunicationService1\",\n    resourceGroupName: example.name,\n    dataLocation: \"United States\",\n});\nconst exampleEmailServiceDomain = new azure.communication.EmailServiceDomain(\"example\", {\n    name: \"AzureManagedDomain\",\n    emailServiceId: exampleEmailService.id,\n    domainManagement: \"AzureManaged\",\n});\nconst exampleServiceEmailDomainAssociation = new azure.communication.ServiceEmailDomainAssociation(\"example\", {\n    communicationServiceId: exampleService.id,\n    emailServiceDomainId: exampleEmailServiceDomain.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"group1\",\n    location=\"West Europe\")\nexample_service = azure.communication.Service(\"example\",\n    name=\"CommunicationService1\",\n    resource_group_name=example.name,\n    data_location=\"United States\")\nexample_email_service = azure.communication.EmailService(\"example\",\n    name=\"emailCommunicationService1\",\n    resource_group_name=example.name,\n    data_location=\"United States\")\nexample_email_service_domain = azure.communication.EmailServiceDomain(\"example\",\n    name=\"AzureManagedDomain\",\n    email_service_id=example_email_service.id,\n    domain_management=\"AzureManaged\")\nexample_service_email_domain_association = azure.communication.ServiceEmailDomainAssociation(\"example\",\n    communication_service_id=example_service.id,\n    email_service_domain_id=example_email_service_domain.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"group1\",\n        Location = \"West Europe\",\n    });\n\n    var exampleService = new Azure.Communication.Service(\"example\", new()\n    {\n        Name = \"CommunicationService1\",\n        ResourceGroupName = example.Name,\n        DataLocation = \"United States\",\n    });\n\n    var exampleEmailService = new Azure.Communication.EmailService(\"example\", new()\n    {\n        Name = \"emailCommunicationService1\",\n        ResourceGroupName = example.Name,\n        DataLocation = \"United States\",\n    });\n\n    var exampleEmailServiceDomain = new Azure.Communication.EmailServiceDomain(\"example\", new()\n    {\n        Name = \"AzureManagedDomain\",\n        EmailServiceId = exampleEmailService.Id,\n        DomainManagement = \"AzureManaged\",\n    });\n\n    var exampleServiceEmailDomainAssociation = new Azure.Communication.ServiceEmailDomainAssociation(\"example\", new()\n    {\n        CommunicationServiceId = exampleService.Id,\n        EmailServiceDomainId = exampleEmailServiceDomain.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/communication\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"group1\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleService, err := communication.NewService(ctx, \"example\", \u0026communication.ServiceArgs{\n\t\t\tName:              pulumi.String(\"CommunicationService1\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tDataLocation:      pulumi.String(\"United States\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleEmailService, err := communication.NewEmailService(ctx, \"example\", \u0026communication.EmailServiceArgs{\n\t\t\tName:              pulumi.String(\"emailCommunicationService1\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tDataLocation:      pulumi.String(\"United States\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleEmailServiceDomain, err := communication.NewEmailServiceDomain(ctx, \"example\", \u0026communication.EmailServiceDomainArgs{\n\t\t\tName:             pulumi.String(\"AzureManagedDomain\"),\n\t\t\tEmailServiceId:   exampleEmailService.ID(),\n\t\t\tDomainManagement: pulumi.String(\"AzureManaged\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = communication.NewServiceEmailDomainAssociation(ctx, \"example\", \u0026communication.ServiceEmailDomainAssociationArgs{\n\t\t\tCommunicationServiceId: exampleService.ID(),\n\t\t\tEmailServiceDomainId:   exampleEmailServiceDomain.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.communication.Service;\nimport com.pulumi.azure.communication.ServiceArgs;\nimport com.pulumi.azure.communication.EmailService;\nimport com.pulumi.azure.communication.EmailServiceArgs;\nimport com.pulumi.azure.communication.EmailServiceDomain;\nimport com.pulumi.azure.communication.EmailServiceDomainArgs;\nimport com.pulumi.azure.communication.ServiceEmailDomainAssociation;\nimport com.pulumi.azure.communication.ServiceEmailDomainAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"group1\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleService = new Service(\"exampleService\", ServiceArgs.builder()\n            .name(\"CommunicationService1\")\n            .resourceGroupName(example.name())\n            .dataLocation(\"United States\")\n            .build());\n\n        var exampleEmailService = new EmailService(\"exampleEmailService\", EmailServiceArgs.builder()\n            .name(\"emailCommunicationService1\")\n            .resourceGroupName(example.name())\n            .dataLocation(\"United States\")\n            .build());\n\n        var exampleEmailServiceDomain = new EmailServiceDomain(\"exampleEmailServiceDomain\", EmailServiceDomainArgs.builder()\n            .name(\"AzureManagedDomain\")\n            .emailServiceId(exampleEmailService.id())\n            .domainManagement(\"AzureManaged\")\n            .build());\n\n        var exampleServiceEmailDomainAssociation = new ServiceEmailDomainAssociation(\"exampleServiceEmailDomainAssociation\", ServiceEmailDomainAssociationArgs.builder()\n            .communicationServiceId(exampleService.id())\n            .emailServiceDomainId(exampleEmailServiceDomain.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: group1\n      location: West Europe\n  exampleService:\n    type: azure:communication:Service\n    name: example\n    properties:\n      name: CommunicationService1\n      resourceGroupName: ${example.name}\n      dataLocation: United States\n  exampleEmailService:\n    type: azure:communication:EmailService\n    name: example\n    properties:\n      name: emailCommunicationService1\n      resourceGroupName: ${example.name}\n      dataLocation: United States\n  exampleEmailServiceDomain:\n    type: azure:communication:EmailServiceDomain\n    name: example\n    properties:\n      name: AzureManagedDomain\n      emailServiceId: ${exampleEmailService.id}\n      domainManagement: AzureManaged\n  exampleServiceEmailDomainAssociation:\n    type: azure:communication:ServiceEmailDomainAssociation\n    name: example\n    properties:\n      communicationServiceId: ${exampleService.id}\n      emailServiceDomainId: ${exampleEmailServiceDomain.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Communication` - 2023-03-31\n\n## Import\n\nCommunication service email domain association can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:communication/serviceEmailDomainAssociation:ServiceEmailDomainAssociation example \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Communication/communicationServices/communicationService1|/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Communication/emailServices/emailCommunicationService1/domains/domain1\"\n```\n\n","properties":{"communicationServiceId":{"type":"string","description":"The ID of the Communication Service. Changing this forces a new communication service email domain association to be created.\n"},"emailServiceDomainId":{"type":"string","description":"The ID of the EMail Service Domain. Changing this forces a new communication service email domain association to be created.\n"}},"required":["communicationServiceId","emailServiceDomainId"],"inputProperties":{"communicationServiceId":{"type":"string","description":"The ID of the Communication Service. Changing this forces a new communication service email domain association to be created.\n","willReplaceOnChanges":true},"emailServiceDomainId":{"type":"string","description":"The ID of the EMail Service Domain. Changing this forces a new communication service email domain association to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["communicationServiceId","emailServiceDomainId"],"stateInputs":{"description":"Input properties used for looking up and filtering ServiceEmailDomainAssociation resources.\n","properties":{"communicationServiceId":{"type":"string","description":"The ID of the Communication Service. Changing this forces a new communication service email domain association to be created.\n","willReplaceOnChanges":true},"emailServiceDomainId":{"type":"string","description":"The ID of the EMail Service Domain. Changing this forces a new communication service email domain association to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:compute/automanageConfigurationAssignment:AutomanageConfigurationAssignment":{"description":"Manages a Virtual Machine Automanage Configuration Profile Assignment.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-rg\",\n    location: \"westus\",\n});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"example\", {\n    name: \"examplevnet\",\n    addressSpaces: [\"10.0.0.0/16\"],\n    location: example.location,\n    resourceGroupName: example.name,\n});\nconst exampleSubnet = new azure.network.Subnet(\"example\", {\n    name: \"internal\",\n    resourceGroupName: example.name,\n    virtualNetworkName: exampleVirtualNetwork.name,\n    addressPrefixes: [\"10.0.2.0/24\"],\n});\nconst exampleNetworkInterface = new azure.network.NetworkInterface(\"example\", {\n    name: \"exampleni\",\n    location: example.location,\n    resourceGroupName: example.name,\n    ipConfigurations: [{\n        name: \"internal\",\n        subnetId: exampleSubnet.id,\n        privateIpAddressAllocation: \"Dynamic\",\n    }],\n});\nconst exampleLinuxVirtualMachine = new azure.compute.LinuxVirtualMachine(\"example\", {\n    name: \"examplevm\",\n    resourceGroupName: example.name,\n    location: example.location,\n    size: \"Standard_F2\",\n    adminUsername: \"adminuser\",\n    adminPassword: \"P@$$w0rd1234!\",\n    disablePasswordAuthentication: false,\n    networkInterfaceIds: [exampleNetworkInterface.id],\n    osDisk: {\n        caching: \"ReadWrite\",\n        storageAccountType: \"Standard_LRS\",\n    },\n    sourceImageReference: {\n        publisher: \"Canonical\",\n        offer: \"0001-com-ubuntu-server-jammy\",\n        sku: \"22_04-lts\",\n        version: \"latest\",\n    },\n});\nconst exampleConfiguration = new azure.automanage.Configuration(\"example\", {\n    name: \"exampleconfig\",\n    resourceGroupName: example.name,\n    location: example.location,\n});\nconst exampleAutomanageConfigurationAssignment = new azure.compute.AutomanageConfigurationAssignment(\"example\", {\n    virtualMachineId: exampleLinuxVirtualMachine.id,\n    configurationId: exampleConfiguration.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-rg\",\n    location=\"westus\")\nexample_virtual_network = azure.network.VirtualNetwork(\"example\",\n    name=\"examplevnet\",\n    address_spaces=[\"10.0.0.0/16\"],\n    location=example.location,\n    resource_group_name=example.name)\nexample_subnet = azure.network.Subnet(\"example\",\n    name=\"internal\",\n    resource_group_name=example.name,\n    virtual_network_name=example_virtual_network.name,\n    address_prefixes=[\"10.0.2.0/24\"])\nexample_network_interface = azure.network.NetworkInterface(\"example\",\n    name=\"exampleni\",\n    location=example.location,\n    resource_group_name=example.name,\n    ip_configurations=[{\n        \"name\": \"internal\",\n        \"subnet_id\": example_subnet.id,\n        \"private_ip_address_allocation\": \"Dynamic\",\n    }])\nexample_linux_virtual_machine = azure.compute.LinuxVirtualMachine(\"example\",\n    name=\"examplevm\",\n    resource_group_name=example.name,\n    location=example.location,\n    size=\"Standard_F2\",\n    admin_username=\"adminuser\",\n    admin_password=\"P@$$w0rd1234!\",\n    disable_password_authentication=False,\n    network_interface_ids=[example_network_interface.id],\n    os_disk={\n        \"caching\": \"ReadWrite\",\n        \"storage_account_type\": \"Standard_LRS\",\n    },\n    source_image_reference={\n        \"publisher\": \"Canonical\",\n        \"offer\": \"0001-com-ubuntu-server-jammy\",\n        \"sku\": \"22_04-lts\",\n        \"version\": \"latest\",\n    })\nexample_configuration = azure.automanage.Configuration(\"example\",\n    name=\"exampleconfig\",\n    resource_group_name=example.name,\n    location=example.location)\nexample_automanage_configuration_assignment = azure.compute.AutomanageConfigurationAssignment(\"example\",\n    virtual_machine_id=example_linux_virtual_machine.id,\n    configuration_id=example_configuration.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-rg\",\n        Location = \"westus\",\n    });\n\n    var exampleVirtualNetwork = new Azure.Network.VirtualNetwork(\"example\", new()\n    {\n        Name = \"examplevnet\",\n        AddressSpaces = new[]\n        {\n            \"10.0.0.0/16\",\n        },\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n    });\n\n    var exampleSubnet = new Azure.Network.Subnet(\"example\", new()\n    {\n        Name = \"internal\",\n        ResourceGroupName = example.Name,\n        VirtualNetworkName = exampleVirtualNetwork.Name,\n        AddressPrefixes = new[]\n        {\n            \"10.0.2.0/24\",\n        },\n    });\n\n    var exampleNetworkInterface = new Azure.Network.NetworkInterface(\"example\", new()\n    {\n        Name = \"exampleni\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        IpConfigurations = new[]\n        {\n            new Azure.Network.Inputs.NetworkInterfaceIpConfigurationArgs\n            {\n                Name = \"internal\",\n                SubnetId = exampleSubnet.Id,\n                PrivateIpAddressAllocation = \"Dynamic\",\n            },\n        },\n    });\n\n    var exampleLinuxVirtualMachine = new Azure.Compute.LinuxVirtualMachine(\"example\", new()\n    {\n        Name = \"examplevm\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        Size = \"Standard_F2\",\n        AdminUsername = \"adminuser\",\n        AdminPassword = \"P@$$w0rd1234!\",\n        DisablePasswordAuthentication = false,\n        NetworkInterfaceIds = new[]\n        {\n            exampleNetworkInterface.Id,\n        },\n        OsDisk = new Azure.Compute.Inputs.LinuxVirtualMachineOsDiskArgs\n        {\n            Caching = \"ReadWrite\",\n            StorageAccountType = \"Standard_LRS\",\n        },\n        SourceImageReference = new Azure.Compute.Inputs.LinuxVirtualMachineSourceImageReferenceArgs\n        {\n            Publisher = \"Canonical\",\n            Offer = \"0001-com-ubuntu-server-jammy\",\n            Sku = \"22_04-lts\",\n            Version = \"latest\",\n        },\n    });\n\n    var exampleConfiguration = new Azure.Automanage.Configuration(\"example\", new()\n    {\n        Name = \"exampleconfig\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n    });\n\n    var exampleAutomanageConfigurationAssignment = new Azure.Compute.AutomanageConfigurationAssignment(\"example\", new()\n    {\n        VirtualMachineId = exampleLinuxVirtualMachine.Id,\n        ConfigurationId = exampleConfiguration.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/automanage\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/compute\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-rg\"),\n\t\t\tLocation: pulumi.String(\"westus\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, \"example\", \u0026network.VirtualNetworkArgs{\n\t\t\tName: pulumi.String(\"examplevnet\"),\n\t\t\tAddressSpaces: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.0.0/16\"),\n\t\t\t},\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSubnet, err := network.NewSubnet(ctx, \"example\", \u0026network.SubnetArgs{\n\t\t\tName:               pulumi.String(\"internal\"),\n\t\t\tResourceGroupName:  example.Name,\n\t\t\tVirtualNetworkName: exampleVirtualNetwork.Name,\n\t\t\tAddressPrefixes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.2.0/24\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNetworkInterface, err := network.NewNetworkInterface(ctx, \"example\", \u0026network.NetworkInterfaceArgs{\n\t\t\tName:              pulumi.String(\"exampleni\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tIpConfigurations: network.NetworkInterfaceIpConfigurationArray{\n\t\t\t\t\u0026network.NetworkInterfaceIpConfigurationArgs{\n\t\t\t\t\tName:                       pulumi.String(\"internal\"),\n\t\t\t\t\tSubnetId:                   exampleSubnet.ID(),\n\t\t\t\t\tPrivateIpAddressAllocation: pulumi.String(\"Dynamic\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleLinuxVirtualMachine, err := compute.NewLinuxVirtualMachine(ctx, \"example\", \u0026compute.LinuxVirtualMachineArgs{\n\t\t\tName:                          pulumi.String(\"examplevm\"),\n\t\t\tResourceGroupName:             example.Name,\n\t\t\tLocation:                      example.Location,\n\t\t\tSize:                          pulumi.String(\"Standard_F2\"),\n\t\t\tAdminUsername:                 pulumi.String(\"adminuser\"),\n\t\t\tAdminPassword:                 pulumi.String(\"P@$$w0rd1234!\"),\n\t\t\tDisablePasswordAuthentication: pulumi.Bool(false),\n\t\t\tNetworkInterfaceIds: pulumi.StringArray{\n\t\t\t\texampleNetworkInterface.ID(),\n\t\t\t},\n\t\t\tOsDisk: \u0026compute.LinuxVirtualMachineOsDiskArgs{\n\t\t\t\tCaching:            pulumi.String(\"ReadWrite\"),\n\t\t\t\tStorageAccountType: pulumi.String(\"Standard_LRS\"),\n\t\t\t},\n\t\t\tSourceImageReference: \u0026compute.LinuxVirtualMachineSourceImageReferenceArgs{\n\t\t\t\tPublisher: pulumi.String(\"Canonical\"),\n\t\t\t\tOffer:     pulumi.String(\"0001-com-ubuntu-server-jammy\"),\n\t\t\t\tSku:       pulumi.String(\"22_04-lts\"),\n\t\t\t\tVersion:   pulumi.String(\"latest\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleConfiguration, err := automanage.NewConfiguration(ctx, \"example\", \u0026automanage.ConfigurationArgs{\n\t\t\tName:              pulumi.String(\"exampleconfig\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = compute.NewAutomanageConfigurationAssignment(ctx, \"example\", \u0026compute.AutomanageConfigurationAssignmentArgs{\n\t\t\tVirtualMachineId: exampleLinuxVirtualMachine.ID(),\n\t\t\tConfigurationId:  exampleConfiguration.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.VirtualNetwork;\nimport com.pulumi.azure.network.VirtualNetworkArgs;\nimport com.pulumi.azure.network.Subnet;\nimport com.pulumi.azure.network.SubnetArgs;\nimport com.pulumi.azure.network.NetworkInterface;\nimport com.pulumi.azure.network.NetworkInterfaceArgs;\nimport com.pulumi.azure.network.inputs.NetworkInterfaceIpConfigurationArgs;\nimport com.pulumi.azure.compute.LinuxVirtualMachine;\nimport com.pulumi.azure.compute.LinuxVirtualMachineArgs;\nimport com.pulumi.azure.compute.inputs.LinuxVirtualMachineOsDiskArgs;\nimport com.pulumi.azure.compute.inputs.LinuxVirtualMachineSourceImageReferenceArgs;\nimport com.pulumi.azure.automanage.Configuration;\nimport com.pulumi.azure.automanage.ConfigurationArgs;\nimport com.pulumi.azure.compute.AutomanageConfigurationAssignment;\nimport com.pulumi.azure.compute.AutomanageConfigurationAssignmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-rg\")\n            .location(\"westus\")\n            .build());\n\n        var exampleVirtualNetwork = new VirtualNetwork(\"exampleVirtualNetwork\", VirtualNetworkArgs.builder()\n            .name(\"examplevnet\")\n            .addressSpaces(\"10.0.0.0/16\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .build());\n\n        var exampleSubnet = new Subnet(\"exampleSubnet\", SubnetArgs.builder()\n            .name(\"internal\")\n            .resourceGroupName(example.name())\n            .virtualNetworkName(exampleVirtualNetwork.name())\n            .addressPrefixes(\"10.0.2.0/24\")\n            .build());\n\n        var exampleNetworkInterface = new NetworkInterface(\"exampleNetworkInterface\", NetworkInterfaceArgs.builder()\n            .name(\"exampleni\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .ipConfigurations(NetworkInterfaceIpConfigurationArgs.builder()\n                .name(\"internal\")\n                .subnetId(exampleSubnet.id())\n                .privateIpAddressAllocation(\"Dynamic\")\n                .build())\n            .build());\n\n        var exampleLinuxVirtualMachine = new LinuxVirtualMachine(\"exampleLinuxVirtualMachine\", LinuxVirtualMachineArgs.builder()\n            .name(\"examplevm\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .size(\"Standard_F2\")\n            .adminUsername(\"adminuser\")\n            .adminPassword(\"P@$$w0rd1234!\")\n            .disablePasswordAuthentication(false)\n            .networkInterfaceIds(exampleNetworkInterface.id())\n            .osDisk(LinuxVirtualMachineOsDiskArgs.builder()\n                .caching(\"ReadWrite\")\n                .storageAccountType(\"Standard_LRS\")\n                .build())\n            .sourceImageReference(LinuxVirtualMachineSourceImageReferenceArgs.builder()\n                .publisher(\"Canonical\")\n                .offer(\"0001-com-ubuntu-server-jammy\")\n                .sku(\"22_04-lts\")\n                .version(\"latest\")\n                .build())\n            .build());\n\n        var exampleConfiguration = new Configuration(\"exampleConfiguration\", ConfigurationArgs.builder()\n            .name(\"exampleconfig\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .build());\n\n        var exampleAutomanageConfigurationAssignment = new AutomanageConfigurationAssignment(\"exampleAutomanageConfigurationAssignment\", AutomanageConfigurationAssignmentArgs.builder()\n            .virtualMachineId(exampleLinuxVirtualMachine.id())\n            .configurationId(exampleConfiguration.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-rg\n      location: westus\n  exampleVirtualNetwork:\n    type: azure:network:VirtualNetwork\n    name: example\n    properties:\n      name: examplevnet\n      addressSpaces:\n        - 10.0.0.0/16\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n  exampleSubnet:\n    type: azure:network:Subnet\n    name: example\n    properties:\n      name: internal\n      resourceGroupName: ${example.name}\n      virtualNetworkName: ${exampleVirtualNetwork.name}\n      addressPrefixes:\n        - 10.0.2.0/24\n  exampleNetworkInterface:\n    type: azure:network:NetworkInterface\n    name: example\n    properties:\n      name: exampleni\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      ipConfigurations:\n        - name: internal\n          subnetId: ${exampleSubnet.id}\n          privateIpAddressAllocation: Dynamic\n  exampleLinuxVirtualMachine:\n    type: azure:compute:LinuxVirtualMachine\n    name: example\n    properties:\n      name: examplevm\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      size: Standard_F2\n      adminUsername: adminuser\n      adminPassword: P@$$w0rd1234!\n      disablePasswordAuthentication: false\n      networkInterfaceIds:\n        - ${exampleNetworkInterface.id}\n      osDisk:\n        caching: ReadWrite\n        storageAccountType: Standard_LRS\n      sourceImageReference:\n        publisher: Canonical\n        offer: 0001-com-ubuntu-server-jammy\n        sku: 22_04-lts\n        version: latest\n  exampleConfiguration:\n    type: azure:automanage:Configuration\n    name: example\n    properties:\n      name: exampleconfig\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n  exampleAutomanageConfigurationAssignment:\n    type: azure:compute:AutomanageConfigurationAssignment\n    name: example\n    properties:\n      virtualMachineId: ${exampleLinuxVirtualMachine.id}\n      configurationId: ${exampleConfiguration.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Compute` - 2022-05-04\n\n## Import\n\nVirtual Machine Automanage Configuration Profile Assignment can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:compute/automanageConfigurationAssignment:AutomanageConfigurationAssignment example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Compute/virtualMachines/vm1/providers/Microsoft.AutoManage/configurationProfileAssignments/default\n```\n\n","properties":{"configurationId":{"type":"string","description":"The ARM resource ID of the Automanage Configuration to assign to the Virtual Machine. Changing this forces a new resource to be created.\n"},"virtualMachineId":{"type":"string","description":"The ARM resource ID of the Virtual Machine to assign the Automanage Configuration to. Changing this forces a new resource to be created.\n"}},"required":["configurationId","virtualMachineId"],"inputProperties":{"configurationId":{"type":"string","description":"The ARM resource ID of the Automanage Configuration to assign to the Virtual Machine. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"virtualMachineId":{"type":"string","description":"The ARM resource ID of the Virtual Machine to assign the Automanage Configuration to. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["configurationId","virtualMachineId"],"stateInputs":{"description":"Input properties used for looking up and filtering AutomanageConfigurationAssignment resources.\n","properties":{"configurationId":{"type":"string","description":"The ARM resource ID of the Automanage Configuration to assign to the Virtual Machine. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"virtualMachineId":{"type":"string","description":"The ARM resource ID of the Virtual Machine to assign the Automanage Configuration to. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:compute/availabilitySet:AvailabilitySet":{"description":"Manages an Availability Set for Virtual Machines.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleAvailabilitySet = new azure.compute.AvailabilitySet(\"example\", {\n    name: \"example-aset\",\n    location: example.location,\n    resourceGroupName: example.name,\n    tags: {\n        environment: \"Production\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_availability_set = azure.compute.AvailabilitySet(\"example\",\n    name=\"example-aset\",\n    location=example.location,\n    resource_group_name=example.name,\n    tags={\n        \"environment\": \"Production\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleAvailabilitySet = new Azure.Compute.AvailabilitySet(\"example\", new()\n    {\n        Name = \"example-aset\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Tags = \n        {\n            { \"environment\", \"Production\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/compute\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = compute.NewAvailabilitySet(ctx, \"example\", \u0026compute.AvailabilitySetArgs{\n\t\t\tName:              pulumi.String(\"example-aset\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"environment\": pulumi.String(\"Production\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.compute.AvailabilitySet;\nimport com.pulumi.azure.compute.AvailabilitySetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleAvailabilitySet = new AvailabilitySet(\"exampleAvailabilitySet\", AvailabilitySetArgs.builder()\n            .name(\"example-aset\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .tags(Map.of(\"environment\", \"Production\"))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleAvailabilitySet:\n    type: azure:compute:AvailabilitySet\n    name: example\n    properties:\n      name: example-aset\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      tags:\n        environment: Production\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Compute` - 2024-03-01\n\n## Import\n\nAvailability Sets can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:compute/availabilitySet:AvailabilitySet group1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Compute/availabilitySets/webAvailSet\n```\n\n","properties":{"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n"},"managed":{"type":"boolean","description":"Specifies whether the availability set is managed or not. Possible values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e (to specify aligned) or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e (to specify classic). Default is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"Specifies the name of the availability set. Changing this forces a new resource to be created.\n"},"platformFaultDomainCount":{"type":"integer","description":"Specifies the number of fault domains that are used. Defaults to \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e. Changing this forces a new resource to be created.\n\n\u003e **Note:** The number of Fault Domains varies depending on which Azure Region you're using. More information about update and fault domains and how they work can be found [here](https://learn.microsoft.com/en-us/azure/virtual-machines/availability-set-overview).\n"},"platformUpdateDomainCount":{"type":"integer","description":"Specifies the number of update domains that are used. Defaults to \u003cspan pulumi-lang-nodejs=\"`5`\" pulumi-lang-dotnet=\"`5`\" pulumi-lang-go=\"`5`\" pulumi-lang-python=\"`5`\" pulumi-lang-yaml=\"`5`\" pulumi-lang-java=\"`5`\"\u003e`5`\u003c/span\u003e. Changing this forces a new resource to be created.\n\n\u003e **Note:** The number of Update Domains varies depending on which Azure Region you're using. More information about update and fault domains and how they work can be found [here](https://learn.microsoft.com/en-us/azure/virtual-machines/availability-set-overview).\n"},"proximityPlacementGroupId":{"type":"string","description":"The ID of the Proximity Placement Group to which this Virtual Machine should be assigned. Changing this forces a new resource to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the availability set. Changing this forces a new resource to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"required":["location","name","resourceGroupName"],"inputProperties":{"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"managed":{"type":"boolean","description":"Specifies whether the availability set is managed or not. Possible values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e (to specify aligned) or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e (to specify classic). Default is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the availability set. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"platformFaultDomainCount":{"type":"integer","description":"Specifies the number of fault domains that are used. Defaults to \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e. Changing this forces a new resource to be created.\n\n\u003e **Note:** The number of Fault Domains varies depending on which Azure Region you're using. More information about update and fault domains and how they work can be found [here](https://learn.microsoft.com/en-us/azure/virtual-machines/availability-set-overview).\n","willReplaceOnChanges":true},"platformUpdateDomainCount":{"type":"integer","description":"Specifies the number of update domains that are used. Defaults to \u003cspan pulumi-lang-nodejs=\"`5`\" pulumi-lang-dotnet=\"`5`\" pulumi-lang-go=\"`5`\" pulumi-lang-python=\"`5`\" pulumi-lang-yaml=\"`5`\" pulumi-lang-java=\"`5`\"\u003e`5`\u003c/span\u003e. Changing this forces a new resource to be created.\n\n\u003e **Note:** The number of Update Domains varies depending on which Azure Region you're using. More information about update and fault domains and how they work can be found [here](https://learn.microsoft.com/en-us/azure/virtual-machines/availability-set-overview).\n","willReplaceOnChanges":true},"proximityPlacementGroupId":{"type":"string","description":"The ID of the Proximity Placement Group to which this Virtual Machine should be assigned. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the availability set. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"requiredInputs":["resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering AvailabilitySet resources.\n","properties":{"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"managed":{"type":"boolean","description":"Specifies whether the availability set is managed or not. Possible values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e (to specify aligned) or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e (to specify classic). Default is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the availability set. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"platformFaultDomainCount":{"type":"integer","description":"Specifies the number of fault domains that are used. Defaults to \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e. Changing this forces a new resource to be created.\n\n\u003e **Note:** The number of Fault Domains varies depending on which Azure Region you're using. More information about update and fault domains and how they work can be found [here](https://learn.microsoft.com/en-us/azure/virtual-machines/availability-set-overview).\n","willReplaceOnChanges":true},"platformUpdateDomainCount":{"type":"integer","description":"Specifies the number of update domains that are used. Defaults to \u003cspan pulumi-lang-nodejs=\"`5`\" pulumi-lang-dotnet=\"`5`\" pulumi-lang-go=\"`5`\" pulumi-lang-python=\"`5`\" pulumi-lang-yaml=\"`5`\" pulumi-lang-java=\"`5`\"\u003e`5`\u003c/span\u003e. Changing this forces a new resource to be created.\n\n\u003e **Note:** The number of Update Domains varies depending on which Azure Region you're using. More information about update and fault domains and how they work can be found [here](https://learn.microsoft.com/en-us/azure/virtual-machines/availability-set-overview).\n","willReplaceOnChanges":true},"proximityPlacementGroupId":{"type":"string","description":"The ID of the Proximity Placement Group to which this Virtual Machine should be assigned. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the availability set. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"type":"object"}},"azure:compute/bastionHost:BastionHost":{"description":"Manages a Bastion Host.\n\n## Example Usage\n\nThis example deploys an Azure Bastion Host Instance to a target virtual network.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"example\", {\n    name: \"examplevnet\",\n    addressSpaces: [\"192.168.1.0/24\"],\n    location: example.location,\n    resourceGroupName: example.name,\n});\nconst exampleSubnet = new azure.network.Subnet(\"example\", {\n    name: \"AzureBastionSubnet\",\n    resourceGroupName: example.name,\n    virtualNetworkName: exampleVirtualNetwork.name,\n    addressPrefixes: [\"192.168.1.224/27\"],\n});\nconst examplePublicIp = new azure.network.PublicIp(\"example\", {\n    name: \"examplepip\",\n    location: example.location,\n    resourceGroupName: example.name,\n    allocationMethod: \"Static\",\n    sku: \"Standard\",\n});\nconst exampleBastionHost = new azure.compute.BastionHost(\"example\", {\n    name: \"examplebastion\",\n    location: example.location,\n    resourceGroupName: example.name,\n    ipConfiguration: {\n        name: \"configuration\",\n        subnetId: exampleSubnet.id,\n        publicIpAddressId: examplePublicIp.id,\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_virtual_network = azure.network.VirtualNetwork(\"example\",\n    name=\"examplevnet\",\n    address_spaces=[\"192.168.1.0/24\"],\n    location=example.location,\n    resource_group_name=example.name)\nexample_subnet = azure.network.Subnet(\"example\",\n    name=\"AzureBastionSubnet\",\n    resource_group_name=example.name,\n    virtual_network_name=example_virtual_network.name,\n    address_prefixes=[\"192.168.1.224/27\"])\nexample_public_ip = azure.network.PublicIp(\"example\",\n    name=\"examplepip\",\n    location=example.location,\n    resource_group_name=example.name,\n    allocation_method=\"Static\",\n    sku=\"Standard\")\nexample_bastion_host = azure.compute.BastionHost(\"example\",\n    name=\"examplebastion\",\n    location=example.location,\n    resource_group_name=example.name,\n    ip_configuration={\n        \"name\": \"configuration\",\n        \"subnet_id\": example_subnet.id,\n        \"public_ip_address_id\": example_public_ip.id,\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleVirtualNetwork = new Azure.Network.VirtualNetwork(\"example\", new()\n    {\n        Name = \"examplevnet\",\n        AddressSpaces = new[]\n        {\n            \"192.168.1.0/24\",\n        },\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n    });\n\n    var exampleSubnet = new Azure.Network.Subnet(\"example\", new()\n    {\n        Name = \"AzureBastionSubnet\",\n        ResourceGroupName = example.Name,\n        VirtualNetworkName = exampleVirtualNetwork.Name,\n        AddressPrefixes = new[]\n        {\n            \"192.168.1.224/27\",\n        },\n    });\n\n    var examplePublicIp = new Azure.Network.PublicIp(\"example\", new()\n    {\n        Name = \"examplepip\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        AllocationMethod = \"Static\",\n        Sku = \"Standard\",\n    });\n\n    var exampleBastionHost = new Azure.Compute.BastionHost(\"example\", new()\n    {\n        Name = \"examplebastion\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        IpConfiguration = new Azure.Compute.Inputs.BastionHostIpConfigurationArgs\n        {\n            Name = \"configuration\",\n            SubnetId = exampleSubnet.Id,\n            PublicIpAddressId = examplePublicIp.Id,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/compute\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, \"example\", \u0026network.VirtualNetworkArgs{\n\t\t\tName: pulumi.String(\"examplevnet\"),\n\t\t\tAddressSpaces: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"192.168.1.0/24\"),\n\t\t\t},\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSubnet, err := network.NewSubnet(ctx, \"example\", \u0026network.SubnetArgs{\n\t\t\tName:               pulumi.String(\"AzureBastionSubnet\"),\n\t\t\tResourceGroupName:  example.Name,\n\t\t\tVirtualNetworkName: exampleVirtualNetwork.Name,\n\t\t\tAddressPrefixes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"192.168.1.224/27\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texamplePublicIp, err := network.NewPublicIp(ctx, \"example\", \u0026network.PublicIpArgs{\n\t\t\tName:              pulumi.String(\"examplepip\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tAllocationMethod:  pulumi.String(\"Static\"),\n\t\t\tSku:               pulumi.String(\"Standard\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = compute.NewBastionHost(ctx, \"example\", \u0026compute.BastionHostArgs{\n\t\t\tName:              pulumi.String(\"examplebastion\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tIpConfiguration: \u0026compute.BastionHostIpConfigurationArgs{\n\t\t\t\tName:              pulumi.String(\"configuration\"),\n\t\t\t\tSubnetId:          exampleSubnet.ID(),\n\t\t\t\tPublicIpAddressId: examplePublicIp.ID(),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.VirtualNetwork;\nimport com.pulumi.azure.network.VirtualNetworkArgs;\nimport com.pulumi.azure.network.Subnet;\nimport com.pulumi.azure.network.SubnetArgs;\nimport com.pulumi.azure.network.PublicIp;\nimport com.pulumi.azure.network.PublicIpArgs;\nimport com.pulumi.azure.compute.BastionHost;\nimport com.pulumi.azure.compute.BastionHostArgs;\nimport com.pulumi.azure.compute.inputs.BastionHostIpConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleVirtualNetwork = new VirtualNetwork(\"exampleVirtualNetwork\", VirtualNetworkArgs.builder()\n            .name(\"examplevnet\")\n            .addressSpaces(\"192.168.1.0/24\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .build());\n\n        var exampleSubnet = new Subnet(\"exampleSubnet\", SubnetArgs.builder()\n            .name(\"AzureBastionSubnet\")\n            .resourceGroupName(example.name())\n            .virtualNetworkName(exampleVirtualNetwork.name())\n            .addressPrefixes(\"192.168.1.224/27\")\n            .build());\n\n        var examplePublicIp = new PublicIp(\"examplePublicIp\", PublicIpArgs.builder()\n            .name(\"examplepip\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .allocationMethod(\"Static\")\n            .sku(\"Standard\")\n            .build());\n\n        var exampleBastionHost = new BastionHost(\"exampleBastionHost\", BastionHostArgs.builder()\n            .name(\"examplebastion\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .ipConfiguration(BastionHostIpConfigurationArgs.builder()\n                .name(\"configuration\")\n                .subnetId(exampleSubnet.id())\n                .publicIpAddressId(examplePublicIp.id())\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleVirtualNetwork:\n    type: azure:network:VirtualNetwork\n    name: example\n    properties:\n      name: examplevnet\n      addressSpaces:\n        - 192.168.1.0/24\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n  exampleSubnet:\n    type: azure:network:Subnet\n    name: example\n    properties:\n      name: AzureBastionSubnet\n      resourceGroupName: ${example.name}\n      virtualNetworkName: ${exampleVirtualNetwork.name}\n      addressPrefixes:\n        - 192.168.1.224/27\n  examplePublicIp:\n    type: azure:network:PublicIp\n    name: example\n    properties:\n      name: examplepip\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      allocationMethod: Static\n      sku: Standard\n  exampleBastionHost:\n    type: azure:compute:BastionHost\n    name: example\n    properties:\n      name: examplebastion\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      ipConfiguration:\n        name: configuration\n        subnetId: ${exampleSubnet.id}\n        publicIpAddressId: ${examplePublicIp.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2024-01-01\n\n## Import\n\nBastion Hosts can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:compute/bastionHost:BastionHost example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Network/bastionHosts/instance1\n```\n\n","properties":{"copyPasteEnabled":{"type":"boolean","description":"Is Copy/Paste feature enabled for the Bastion Host. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"dnsName":{"type":"string","description":"The FQDN for the Bastion Host.\n"},"fileCopyEnabled":{"type":"boolean","description":"Is File Copy feature enabled for the Bastion Host. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`fileCopyEnabled`\" pulumi-lang-dotnet=\"`FileCopyEnabled`\" pulumi-lang-go=\"`fileCopyEnabled`\" pulumi-lang-python=\"`file_copy_enabled`\" pulumi-lang-yaml=\"`fileCopyEnabled`\" pulumi-lang-java=\"`fileCopyEnabled`\"\u003e`file_copy_enabled`\u003c/span\u003e is only supported when \u003cspan pulumi-lang-nodejs=\"`sku`\" pulumi-lang-dotnet=\"`Sku`\" pulumi-lang-go=\"`sku`\" pulumi-lang-python=\"`sku`\" pulumi-lang-yaml=\"`sku`\" pulumi-lang-java=\"`sku`\"\u003e`sku`\u003c/span\u003e is `Standard` or `Premium`.\n"},"ipConfiguration":{"$ref":"#/types/azure:compute/BastionHostIpConfiguration:BastionHostIpConfiguration","description":"A \u003cspan pulumi-lang-nodejs=\"`ipConfiguration`\" pulumi-lang-dotnet=\"`IpConfiguration`\" pulumi-lang-go=\"`ipConfiguration`\" pulumi-lang-python=\"`ip_configuration`\" pulumi-lang-yaml=\"`ipConfiguration`\" pulumi-lang-java=\"`ipConfiguration`\"\u003e`ip_configuration`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n"},"ipConnectEnabled":{"type":"boolean","description":"Is IP Connect feature enabled for the Bastion Host. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`ipConnectEnabled`\" pulumi-lang-dotnet=\"`IpConnectEnabled`\" pulumi-lang-go=\"`ipConnectEnabled`\" pulumi-lang-python=\"`ip_connect_enabled`\" pulumi-lang-yaml=\"`ipConnectEnabled`\" pulumi-lang-java=\"`ipConnectEnabled`\"\u003e`ip_connect_enabled`\u003c/span\u003e is only supported when \u003cspan pulumi-lang-nodejs=\"`sku`\" pulumi-lang-dotnet=\"`Sku`\" pulumi-lang-go=\"`sku`\" pulumi-lang-python=\"`sku`\" pulumi-lang-yaml=\"`sku`\" pulumi-lang-java=\"`sku`\"\u003e`sku`\u003c/span\u003e is `Standard` or `Premium`.\n"},"kerberosEnabled":{"type":"boolean","description":"Is Kerberos authentication feature enabled for the Bastion Host. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`kerberosEnabled`\" pulumi-lang-dotnet=\"`KerberosEnabled`\" pulumi-lang-go=\"`kerberosEnabled`\" pulumi-lang-python=\"`kerberos_enabled`\" pulumi-lang-yaml=\"`kerberosEnabled`\" pulumi-lang-java=\"`kerberosEnabled`\"\u003e`kerberos_enabled`\u003c/span\u003e is only supported when \u003cspan pulumi-lang-nodejs=\"`sku`\" pulumi-lang-dotnet=\"`Sku`\" pulumi-lang-go=\"`sku`\" pulumi-lang-python=\"`sku`\" pulumi-lang-yaml=\"`sku`\" pulumi-lang-java=\"`sku`\"\u003e`sku`\u003c/span\u003e is `Standard` or `Premium`.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created. Review [Azure Bastion Host FAQ](https://docs.microsoft.com/azure/bastion/bastion-faq) for supported locations.\n"},"name":{"type":"string","description":"Specifies the name of the Bastion Host. Changing this forces a new resource to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the Bastion Host. Changing this forces a new resource to be created.\n"},"scaleUnits":{"type":"integer","description":"The number of scale units with which to provision the Bastion Host. Possible values are between \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`50`\" pulumi-lang-dotnet=\"`50`\" pulumi-lang-go=\"`50`\" pulumi-lang-python=\"`50`\" pulumi-lang-yaml=\"`50`\" pulumi-lang-java=\"`50`\"\u003e`50`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`scaleUnits`\" pulumi-lang-dotnet=\"`ScaleUnits`\" pulumi-lang-go=\"`scaleUnits`\" pulumi-lang-python=\"`scale_units`\" pulumi-lang-yaml=\"`scaleUnits`\" pulumi-lang-java=\"`scaleUnits`\"\u003e`scale_units`\u003c/span\u003e only can be changed when \u003cspan pulumi-lang-nodejs=\"`sku`\" pulumi-lang-dotnet=\"`Sku`\" pulumi-lang-go=\"`sku`\" pulumi-lang-python=\"`sku`\" pulumi-lang-yaml=\"`sku`\" pulumi-lang-java=\"`sku`\"\u003e`sku`\u003c/span\u003e is `Standard` or `Premium`. \u003cspan pulumi-lang-nodejs=\"`scaleUnits`\" pulumi-lang-dotnet=\"`ScaleUnits`\" pulumi-lang-go=\"`scaleUnits`\" pulumi-lang-python=\"`scale_units`\" pulumi-lang-yaml=\"`scaleUnits`\" pulumi-lang-java=\"`scaleUnits`\"\u003e`scale_units`\u003c/span\u003e is always \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e when \u003cspan pulumi-lang-nodejs=\"`sku`\" pulumi-lang-dotnet=\"`Sku`\" pulumi-lang-go=\"`sku`\" pulumi-lang-python=\"`sku`\" pulumi-lang-yaml=\"`sku`\" pulumi-lang-java=\"`sku`\"\u003e`sku`\u003c/span\u003e is `Basic`.\n"},"sessionRecordingEnabled":{"type":"boolean","description":"Is Session Recording feature enabled for the Bastion Host. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`sessionRecordingEnabled`\" pulumi-lang-dotnet=\"`SessionRecordingEnabled`\" pulumi-lang-go=\"`sessionRecordingEnabled`\" pulumi-lang-python=\"`session_recording_enabled`\" pulumi-lang-yaml=\"`sessionRecordingEnabled`\" pulumi-lang-java=\"`sessionRecordingEnabled`\"\u003e`session_recording_enabled`\u003c/span\u003e is only supported when \u003cspan pulumi-lang-nodejs=\"`sku`\" pulumi-lang-dotnet=\"`Sku`\" pulumi-lang-go=\"`sku`\" pulumi-lang-python=\"`sku`\" pulumi-lang-yaml=\"`sku`\" pulumi-lang-java=\"`sku`\"\u003e`sku`\u003c/span\u003e is `Premium`.\n"},"shareableLinkEnabled":{"type":"boolean","description":"Is Shareable Link feature enabled for the Bastion Host. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`shareableLinkEnabled`\" pulumi-lang-dotnet=\"`ShareableLinkEnabled`\" pulumi-lang-go=\"`shareableLinkEnabled`\" pulumi-lang-python=\"`shareable_link_enabled`\" pulumi-lang-yaml=\"`shareableLinkEnabled`\" pulumi-lang-java=\"`shareableLinkEnabled`\"\u003e`shareable_link_enabled`\u003c/span\u003e is only supported when \u003cspan pulumi-lang-nodejs=\"`sku`\" pulumi-lang-dotnet=\"`Sku`\" pulumi-lang-go=\"`sku`\" pulumi-lang-python=\"`sku`\" pulumi-lang-yaml=\"`sku`\" pulumi-lang-java=\"`sku`\"\u003e`sku`\u003c/span\u003e is `Standard` or `Premium`.\n"},"sku":{"type":"string","description":"The SKU of the Bastion Host. Accepted values are `Developer`, `Basic`, `Standard` and `Premium`. Defaults to `Basic`.\n\n\u003e **Note:** Downgrading the SKU will force a new resource to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"tunnelingEnabled":{"type":"boolean","description":"Is Tunneling feature enabled for the Bastion Host. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`tunnelingEnabled`\" pulumi-lang-dotnet=\"`TunnelingEnabled`\" pulumi-lang-go=\"`tunnelingEnabled`\" pulumi-lang-python=\"`tunneling_enabled`\" pulumi-lang-yaml=\"`tunnelingEnabled`\" pulumi-lang-java=\"`tunnelingEnabled`\"\u003e`tunneling_enabled`\u003c/span\u003e is only supported when \u003cspan pulumi-lang-nodejs=\"`sku`\" pulumi-lang-dotnet=\"`Sku`\" pulumi-lang-go=\"`sku`\" pulumi-lang-python=\"`sku`\" pulumi-lang-yaml=\"`sku`\" pulumi-lang-java=\"`sku`\"\u003e`sku`\u003c/span\u003e is `Standard` or `Premium`.\n"},"virtualNetworkId":{"type":"string","description":"The ID of the Virtual Network for the Developer Bastion Host. Changing this forces a new resource to be created.\n"},"zones":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Availability Zones in which this Public Bastion Host should be located. Changing this forces a new resource to be created.\n"}},"required":["dnsName","location","name","resourceGroupName"],"inputProperties":{"copyPasteEnabled":{"type":"boolean","description":"Is Copy/Paste feature enabled for the Bastion Host. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"fileCopyEnabled":{"type":"boolean","description":"Is File Copy feature enabled for the Bastion Host. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`fileCopyEnabled`\" pulumi-lang-dotnet=\"`FileCopyEnabled`\" pulumi-lang-go=\"`fileCopyEnabled`\" pulumi-lang-python=\"`file_copy_enabled`\" pulumi-lang-yaml=\"`fileCopyEnabled`\" pulumi-lang-java=\"`fileCopyEnabled`\"\u003e`file_copy_enabled`\u003c/span\u003e is only supported when \u003cspan pulumi-lang-nodejs=\"`sku`\" pulumi-lang-dotnet=\"`Sku`\" pulumi-lang-go=\"`sku`\" pulumi-lang-python=\"`sku`\" pulumi-lang-yaml=\"`sku`\" pulumi-lang-java=\"`sku`\"\u003e`sku`\u003c/span\u003e is `Standard` or `Premium`.\n"},"ipConfiguration":{"$ref":"#/types/azure:compute/BastionHostIpConfiguration:BastionHostIpConfiguration","description":"A \u003cspan pulumi-lang-nodejs=\"`ipConfiguration`\" pulumi-lang-dotnet=\"`IpConfiguration`\" pulumi-lang-go=\"`ipConfiguration`\" pulumi-lang-python=\"`ip_configuration`\" pulumi-lang-yaml=\"`ipConfiguration`\" pulumi-lang-java=\"`ipConfiguration`\"\u003e`ip_configuration`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"ipConnectEnabled":{"type":"boolean","description":"Is IP Connect feature enabled for the Bastion Host. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`ipConnectEnabled`\" pulumi-lang-dotnet=\"`IpConnectEnabled`\" pulumi-lang-go=\"`ipConnectEnabled`\" pulumi-lang-python=\"`ip_connect_enabled`\" pulumi-lang-yaml=\"`ipConnectEnabled`\" pulumi-lang-java=\"`ipConnectEnabled`\"\u003e`ip_connect_enabled`\u003c/span\u003e is only supported when \u003cspan pulumi-lang-nodejs=\"`sku`\" pulumi-lang-dotnet=\"`Sku`\" pulumi-lang-go=\"`sku`\" pulumi-lang-python=\"`sku`\" pulumi-lang-yaml=\"`sku`\" pulumi-lang-java=\"`sku`\"\u003e`sku`\u003c/span\u003e is `Standard` or `Premium`.\n"},"kerberosEnabled":{"type":"boolean","description":"Is Kerberos authentication feature enabled for the Bastion Host. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`kerberosEnabled`\" pulumi-lang-dotnet=\"`KerberosEnabled`\" pulumi-lang-go=\"`kerberosEnabled`\" pulumi-lang-python=\"`kerberos_enabled`\" pulumi-lang-yaml=\"`kerberosEnabled`\" pulumi-lang-java=\"`kerberosEnabled`\"\u003e`kerberos_enabled`\u003c/span\u003e is only supported when \u003cspan pulumi-lang-nodejs=\"`sku`\" pulumi-lang-dotnet=\"`Sku`\" pulumi-lang-go=\"`sku`\" pulumi-lang-python=\"`sku`\" pulumi-lang-yaml=\"`sku`\" pulumi-lang-java=\"`sku`\"\u003e`sku`\u003c/span\u003e is `Standard` or `Premium`.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created. Review [Azure Bastion Host FAQ](https://docs.microsoft.com/azure/bastion/bastion-faq) for supported locations.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the Bastion Host. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the Bastion Host. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"scaleUnits":{"type":"integer","description":"The number of scale units with which to provision the Bastion Host. Possible values are between \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`50`\" pulumi-lang-dotnet=\"`50`\" pulumi-lang-go=\"`50`\" pulumi-lang-python=\"`50`\" pulumi-lang-yaml=\"`50`\" pulumi-lang-java=\"`50`\"\u003e`50`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`scaleUnits`\" pulumi-lang-dotnet=\"`ScaleUnits`\" pulumi-lang-go=\"`scaleUnits`\" pulumi-lang-python=\"`scale_units`\" pulumi-lang-yaml=\"`scaleUnits`\" pulumi-lang-java=\"`scaleUnits`\"\u003e`scale_units`\u003c/span\u003e only can be changed when \u003cspan pulumi-lang-nodejs=\"`sku`\" pulumi-lang-dotnet=\"`Sku`\" pulumi-lang-go=\"`sku`\" pulumi-lang-python=\"`sku`\" pulumi-lang-yaml=\"`sku`\" pulumi-lang-java=\"`sku`\"\u003e`sku`\u003c/span\u003e is `Standard` or `Premium`. \u003cspan pulumi-lang-nodejs=\"`scaleUnits`\" pulumi-lang-dotnet=\"`ScaleUnits`\" pulumi-lang-go=\"`scaleUnits`\" pulumi-lang-python=\"`scale_units`\" pulumi-lang-yaml=\"`scaleUnits`\" pulumi-lang-java=\"`scaleUnits`\"\u003e`scale_units`\u003c/span\u003e is always \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e when \u003cspan pulumi-lang-nodejs=\"`sku`\" pulumi-lang-dotnet=\"`Sku`\" pulumi-lang-go=\"`sku`\" pulumi-lang-python=\"`sku`\" pulumi-lang-yaml=\"`sku`\" pulumi-lang-java=\"`sku`\"\u003e`sku`\u003c/span\u003e is `Basic`.\n"},"sessionRecordingEnabled":{"type":"boolean","description":"Is Session Recording feature enabled for the Bastion Host. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`sessionRecordingEnabled`\" pulumi-lang-dotnet=\"`SessionRecordingEnabled`\" pulumi-lang-go=\"`sessionRecordingEnabled`\" pulumi-lang-python=\"`session_recording_enabled`\" pulumi-lang-yaml=\"`sessionRecordingEnabled`\" pulumi-lang-java=\"`sessionRecordingEnabled`\"\u003e`session_recording_enabled`\u003c/span\u003e is only supported when \u003cspan pulumi-lang-nodejs=\"`sku`\" pulumi-lang-dotnet=\"`Sku`\" pulumi-lang-go=\"`sku`\" pulumi-lang-python=\"`sku`\" pulumi-lang-yaml=\"`sku`\" pulumi-lang-java=\"`sku`\"\u003e`sku`\u003c/span\u003e is `Premium`.\n"},"shareableLinkEnabled":{"type":"boolean","description":"Is Shareable Link feature enabled for the Bastion Host. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`shareableLinkEnabled`\" pulumi-lang-dotnet=\"`ShareableLinkEnabled`\" pulumi-lang-go=\"`shareableLinkEnabled`\" pulumi-lang-python=\"`shareable_link_enabled`\" pulumi-lang-yaml=\"`shareableLinkEnabled`\" pulumi-lang-java=\"`shareableLinkEnabled`\"\u003e`shareable_link_enabled`\u003c/span\u003e is only supported when \u003cspan pulumi-lang-nodejs=\"`sku`\" pulumi-lang-dotnet=\"`Sku`\" pulumi-lang-go=\"`sku`\" pulumi-lang-python=\"`sku`\" pulumi-lang-yaml=\"`sku`\" pulumi-lang-java=\"`sku`\"\u003e`sku`\u003c/span\u003e is `Standard` or `Premium`.\n"},"sku":{"type":"string","description":"The SKU of the Bastion Host. Accepted values are `Developer`, `Basic`, `Standard` and `Premium`. Defaults to `Basic`.\n\n\u003e **Note:** Downgrading the SKU will force a new resource to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"tunnelingEnabled":{"type":"boolean","description":"Is Tunneling feature enabled for the Bastion Host. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`tunnelingEnabled`\" pulumi-lang-dotnet=\"`TunnelingEnabled`\" pulumi-lang-go=\"`tunnelingEnabled`\" pulumi-lang-python=\"`tunneling_enabled`\" pulumi-lang-yaml=\"`tunnelingEnabled`\" pulumi-lang-java=\"`tunnelingEnabled`\"\u003e`tunneling_enabled`\u003c/span\u003e is only supported when \u003cspan pulumi-lang-nodejs=\"`sku`\" pulumi-lang-dotnet=\"`Sku`\" pulumi-lang-go=\"`sku`\" pulumi-lang-python=\"`sku`\" pulumi-lang-yaml=\"`sku`\" pulumi-lang-java=\"`sku`\"\u003e`sku`\u003c/span\u003e is `Standard` or `Premium`.\n"},"virtualNetworkId":{"type":"string","description":"The ID of the Virtual Network for the Developer Bastion Host. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"zones":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Availability Zones in which this Public Bastion Host should be located. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering BastionHost resources.\n","properties":{"copyPasteEnabled":{"type":"boolean","description":"Is Copy/Paste feature enabled for the Bastion Host. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"dnsName":{"type":"string","description":"The FQDN for the Bastion Host.\n"},"fileCopyEnabled":{"type":"boolean","description":"Is File Copy feature enabled for the Bastion Host. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`fileCopyEnabled`\" pulumi-lang-dotnet=\"`FileCopyEnabled`\" pulumi-lang-go=\"`fileCopyEnabled`\" pulumi-lang-python=\"`file_copy_enabled`\" pulumi-lang-yaml=\"`fileCopyEnabled`\" pulumi-lang-java=\"`fileCopyEnabled`\"\u003e`file_copy_enabled`\u003c/span\u003e is only supported when \u003cspan pulumi-lang-nodejs=\"`sku`\" pulumi-lang-dotnet=\"`Sku`\" pulumi-lang-go=\"`sku`\" pulumi-lang-python=\"`sku`\" pulumi-lang-yaml=\"`sku`\" pulumi-lang-java=\"`sku`\"\u003e`sku`\u003c/span\u003e is `Standard` or `Premium`.\n"},"ipConfiguration":{"$ref":"#/types/azure:compute/BastionHostIpConfiguration:BastionHostIpConfiguration","description":"A \u003cspan pulumi-lang-nodejs=\"`ipConfiguration`\" pulumi-lang-dotnet=\"`IpConfiguration`\" pulumi-lang-go=\"`ipConfiguration`\" pulumi-lang-python=\"`ip_configuration`\" pulumi-lang-yaml=\"`ipConfiguration`\" pulumi-lang-java=\"`ipConfiguration`\"\u003e`ip_configuration`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"ipConnectEnabled":{"type":"boolean","description":"Is IP Connect feature enabled for the Bastion Host. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`ipConnectEnabled`\" pulumi-lang-dotnet=\"`IpConnectEnabled`\" pulumi-lang-go=\"`ipConnectEnabled`\" pulumi-lang-python=\"`ip_connect_enabled`\" pulumi-lang-yaml=\"`ipConnectEnabled`\" pulumi-lang-java=\"`ipConnectEnabled`\"\u003e`ip_connect_enabled`\u003c/span\u003e is only supported when \u003cspan pulumi-lang-nodejs=\"`sku`\" pulumi-lang-dotnet=\"`Sku`\" pulumi-lang-go=\"`sku`\" pulumi-lang-python=\"`sku`\" pulumi-lang-yaml=\"`sku`\" pulumi-lang-java=\"`sku`\"\u003e`sku`\u003c/span\u003e is `Standard` or `Premium`.\n"},"kerberosEnabled":{"type":"boolean","description":"Is Kerberos authentication feature enabled for the Bastion Host. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`kerberosEnabled`\" pulumi-lang-dotnet=\"`KerberosEnabled`\" pulumi-lang-go=\"`kerberosEnabled`\" pulumi-lang-python=\"`kerberos_enabled`\" pulumi-lang-yaml=\"`kerberosEnabled`\" pulumi-lang-java=\"`kerberosEnabled`\"\u003e`kerberos_enabled`\u003c/span\u003e is only supported when \u003cspan pulumi-lang-nodejs=\"`sku`\" pulumi-lang-dotnet=\"`Sku`\" pulumi-lang-go=\"`sku`\" pulumi-lang-python=\"`sku`\" pulumi-lang-yaml=\"`sku`\" pulumi-lang-java=\"`sku`\"\u003e`sku`\u003c/span\u003e is `Standard` or `Premium`.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created. Review [Azure Bastion Host FAQ](https://docs.microsoft.com/azure/bastion/bastion-faq) for supported locations.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the Bastion Host. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the Bastion Host. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"scaleUnits":{"type":"integer","description":"The number of scale units with which to provision the Bastion Host. Possible values are between \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`50`\" pulumi-lang-dotnet=\"`50`\" pulumi-lang-go=\"`50`\" pulumi-lang-python=\"`50`\" pulumi-lang-yaml=\"`50`\" pulumi-lang-java=\"`50`\"\u003e`50`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`scaleUnits`\" pulumi-lang-dotnet=\"`ScaleUnits`\" pulumi-lang-go=\"`scaleUnits`\" pulumi-lang-python=\"`scale_units`\" pulumi-lang-yaml=\"`scaleUnits`\" pulumi-lang-java=\"`scaleUnits`\"\u003e`scale_units`\u003c/span\u003e only can be changed when \u003cspan pulumi-lang-nodejs=\"`sku`\" pulumi-lang-dotnet=\"`Sku`\" pulumi-lang-go=\"`sku`\" pulumi-lang-python=\"`sku`\" pulumi-lang-yaml=\"`sku`\" pulumi-lang-java=\"`sku`\"\u003e`sku`\u003c/span\u003e is `Standard` or `Premium`. \u003cspan pulumi-lang-nodejs=\"`scaleUnits`\" pulumi-lang-dotnet=\"`ScaleUnits`\" pulumi-lang-go=\"`scaleUnits`\" pulumi-lang-python=\"`scale_units`\" pulumi-lang-yaml=\"`scaleUnits`\" pulumi-lang-java=\"`scaleUnits`\"\u003e`scale_units`\u003c/span\u003e is always \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e when \u003cspan pulumi-lang-nodejs=\"`sku`\" pulumi-lang-dotnet=\"`Sku`\" pulumi-lang-go=\"`sku`\" pulumi-lang-python=\"`sku`\" pulumi-lang-yaml=\"`sku`\" pulumi-lang-java=\"`sku`\"\u003e`sku`\u003c/span\u003e is `Basic`.\n"},"sessionRecordingEnabled":{"type":"boolean","description":"Is Session Recording feature enabled for the Bastion Host. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`sessionRecordingEnabled`\" pulumi-lang-dotnet=\"`SessionRecordingEnabled`\" pulumi-lang-go=\"`sessionRecordingEnabled`\" pulumi-lang-python=\"`session_recording_enabled`\" pulumi-lang-yaml=\"`sessionRecordingEnabled`\" pulumi-lang-java=\"`sessionRecordingEnabled`\"\u003e`session_recording_enabled`\u003c/span\u003e is only supported when \u003cspan pulumi-lang-nodejs=\"`sku`\" pulumi-lang-dotnet=\"`Sku`\" pulumi-lang-go=\"`sku`\" pulumi-lang-python=\"`sku`\" pulumi-lang-yaml=\"`sku`\" pulumi-lang-java=\"`sku`\"\u003e`sku`\u003c/span\u003e is `Premium`.\n"},"shareableLinkEnabled":{"type":"boolean","description":"Is Shareable Link feature enabled for the Bastion Host. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`shareableLinkEnabled`\" pulumi-lang-dotnet=\"`ShareableLinkEnabled`\" pulumi-lang-go=\"`shareableLinkEnabled`\" pulumi-lang-python=\"`shareable_link_enabled`\" pulumi-lang-yaml=\"`shareableLinkEnabled`\" pulumi-lang-java=\"`shareableLinkEnabled`\"\u003e`shareable_link_enabled`\u003c/span\u003e is only supported when \u003cspan pulumi-lang-nodejs=\"`sku`\" pulumi-lang-dotnet=\"`Sku`\" pulumi-lang-go=\"`sku`\" pulumi-lang-python=\"`sku`\" pulumi-lang-yaml=\"`sku`\" pulumi-lang-java=\"`sku`\"\u003e`sku`\u003c/span\u003e is `Standard` or `Premium`.\n"},"sku":{"type":"string","description":"The SKU of the Bastion Host. Accepted values are `Developer`, `Basic`, `Standard` and `Premium`. Defaults to `Basic`.\n\n\u003e **Note:** Downgrading the SKU will force a new resource to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"tunnelingEnabled":{"type":"boolean","description":"Is Tunneling feature enabled for the Bastion Host. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`tunnelingEnabled`\" pulumi-lang-dotnet=\"`TunnelingEnabled`\" pulumi-lang-go=\"`tunnelingEnabled`\" pulumi-lang-python=\"`tunneling_enabled`\" pulumi-lang-yaml=\"`tunnelingEnabled`\" pulumi-lang-java=\"`tunnelingEnabled`\"\u003e`tunneling_enabled`\u003c/span\u003e is only supported when \u003cspan pulumi-lang-nodejs=\"`sku`\" pulumi-lang-dotnet=\"`Sku`\" pulumi-lang-go=\"`sku`\" pulumi-lang-python=\"`sku`\" pulumi-lang-yaml=\"`sku`\" pulumi-lang-java=\"`sku`\"\u003e`sku`\u003c/span\u003e is `Standard` or `Premium`.\n"},"virtualNetworkId":{"type":"string","description":"The ID of the Virtual Network for the Developer Bastion Host. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"zones":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Availability Zones in which this Public Bastion Host should be located. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:compute/capacityReservation:CapacityReservation":{"description":"Manages a Capacity Reservation within a Capacity Reservation Group.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-rg\",\n    location: \"West Europe\",\n});\nconst exampleCapacityReservationGroup = new azure.compute.CapacityReservationGroup(\"example\", {\n    name: \"example-capacity-reservation-group\",\n    resourceGroupName: example.name,\n    location: example.location,\n});\nconst exampleCapacityReservation = new azure.compute.CapacityReservation(\"example\", {\n    name: \"example-capacity-reservation\",\n    capacityReservationGroupId: exampleCapacityReservationGroup.id,\n    sku: {\n        name: \"Standard_D2s_v3\",\n        capacity: 1,\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-rg\",\n    location=\"West Europe\")\nexample_capacity_reservation_group = azure.compute.CapacityReservationGroup(\"example\",\n    name=\"example-capacity-reservation-group\",\n    resource_group_name=example.name,\n    location=example.location)\nexample_capacity_reservation = azure.compute.CapacityReservation(\"example\",\n    name=\"example-capacity-reservation\",\n    capacity_reservation_group_id=example_capacity_reservation_group.id,\n    sku={\n        \"name\": \"Standard_D2s_v3\",\n        \"capacity\": 1,\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-rg\",\n        Location = \"West Europe\",\n    });\n\n    var exampleCapacityReservationGroup = new Azure.Compute.CapacityReservationGroup(\"example\", new()\n    {\n        Name = \"example-capacity-reservation-group\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n    });\n\n    var exampleCapacityReservation = new Azure.Compute.CapacityReservation(\"example\", new()\n    {\n        Name = \"example-capacity-reservation\",\n        CapacityReservationGroupId = exampleCapacityReservationGroup.Id,\n        Sku = new Azure.Compute.Inputs.CapacityReservationSkuArgs\n        {\n            Name = \"Standard_D2s_v3\",\n            Capacity = 1,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/compute\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-rg\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleCapacityReservationGroup, err := compute.NewCapacityReservationGroup(ctx, \"example\", \u0026compute.CapacityReservationGroupArgs{\n\t\t\tName:              pulumi.String(\"example-capacity-reservation-group\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = compute.NewCapacityReservation(ctx, \"example\", \u0026compute.CapacityReservationArgs{\n\t\t\tName:                       pulumi.String(\"example-capacity-reservation\"),\n\t\t\tCapacityReservationGroupId: exampleCapacityReservationGroup.ID(),\n\t\t\tSku: \u0026compute.CapacityReservationSkuArgs{\n\t\t\t\tName:     pulumi.String(\"Standard_D2s_v3\"),\n\t\t\t\tCapacity: pulumi.Int(1),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.compute.CapacityReservationGroup;\nimport com.pulumi.azure.compute.CapacityReservationGroupArgs;\nimport com.pulumi.azure.compute.CapacityReservation;\nimport com.pulumi.azure.compute.CapacityReservationArgs;\nimport com.pulumi.azure.compute.inputs.CapacityReservationSkuArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-rg\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleCapacityReservationGroup = new CapacityReservationGroup(\"exampleCapacityReservationGroup\", CapacityReservationGroupArgs.builder()\n            .name(\"example-capacity-reservation-group\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .build());\n\n        var exampleCapacityReservation = new CapacityReservation(\"exampleCapacityReservation\", CapacityReservationArgs.builder()\n            .name(\"example-capacity-reservation\")\n            .capacityReservationGroupId(exampleCapacityReservationGroup.id())\n            .sku(CapacityReservationSkuArgs.builder()\n                .name(\"Standard_D2s_v3\")\n                .capacity(1)\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-rg\n      location: West Europe\n  exampleCapacityReservationGroup:\n    type: azure:compute:CapacityReservationGroup\n    name: example\n    properties:\n      name: example-capacity-reservation-group\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n  exampleCapacityReservation:\n    type: azure:compute:CapacityReservation\n    name: example\n    properties:\n      name: example-capacity-reservation\n      capacityReservationGroupId: ${exampleCapacityReservationGroup.id}\n      sku:\n        name: Standard_D2s_v3\n        capacity: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Compute` - 2022-03-01\n\n## Import\n\nCapacity Reservations can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:compute/capacityReservation:CapacityReservation example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Compute/capacityReservationGroups/capacityReservationGroup1/capacityReservations/capacityReservation1\n```\n\n","properties":{"capacityReservationGroupId":{"type":"string","description":"The ID of the Capacity Reservation Group where the Capacity Reservation exists. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"Specifies the name of this Capacity Reservation. Changing this forces a new resource to be created.\n"},"sku":{"$ref":"#/types/azure:compute/CapacityReservationSku:CapacityReservationSku","description":"A \u003cspan pulumi-lang-nodejs=\"`sku`\" pulumi-lang-dotnet=\"`Sku`\" pulumi-lang-go=\"`sku`\" pulumi-lang-python=\"`sku`\" pulumi-lang-yaml=\"`sku`\" pulumi-lang-java=\"`sku`\"\u003e`sku`\u003c/span\u003e block as defined below.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"zone":{"type":"string","description":"Specifies the Availability Zone for this Capacity Reservation. Changing this forces a new resource to be created.\n"}},"required":["capacityReservationGroupId","name","sku"],"inputProperties":{"capacityReservationGroupId":{"type":"string","description":"The ID of the Capacity Reservation Group where the Capacity Reservation exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of this Capacity Reservation. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sku":{"$ref":"#/types/azure:compute/CapacityReservationSku:CapacityReservationSku","description":"A \u003cspan pulumi-lang-nodejs=\"`sku`\" pulumi-lang-dotnet=\"`Sku`\" pulumi-lang-go=\"`sku`\" pulumi-lang-python=\"`sku`\" pulumi-lang-yaml=\"`sku`\" pulumi-lang-java=\"`sku`\"\u003e`sku`\u003c/span\u003e block as defined below.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"zone":{"type":"string","description":"Specifies the Availability Zone for this Capacity Reservation. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["capacityReservationGroupId","sku"],"stateInputs":{"description":"Input properties used for looking up and filtering CapacityReservation resources.\n","properties":{"capacityReservationGroupId":{"type":"string","description":"The ID of the Capacity Reservation Group where the Capacity Reservation exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of this Capacity Reservation. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sku":{"$ref":"#/types/azure:compute/CapacityReservationSku:CapacityReservationSku","description":"A \u003cspan pulumi-lang-nodejs=\"`sku`\" pulumi-lang-dotnet=\"`Sku`\" pulumi-lang-go=\"`sku`\" pulumi-lang-python=\"`sku`\" pulumi-lang-yaml=\"`sku`\" pulumi-lang-java=\"`sku`\"\u003e`sku`\u003c/span\u003e block as defined below.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"zone":{"type":"string","description":"Specifies the Availability Zone for this Capacity Reservation. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:compute/capacityReservationGroup:CapacityReservationGroup":{"description":"Manages a Capacity Reservation Group.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-rg\",\n    location: \"West Europe\",\n});\nconst exampleCapacityReservationGroup = new azure.compute.CapacityReservationGroup(\"example\", {\n    name: \"example-capacity-reservation-group\",\n    resourceGroupName: example.name,\n    location: example.location,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-rg\",\n    location=\"West Europe\")\nexample_capacity_reservation_group = azure.compute.CapacityReservationGroup(\"example\",\n    name=\"example-capacity-reservation-group\",\n    resource_group_name=example.name,\n    location=example.location)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-rg\",\n        Location = \"West Europe\",\n    });\n\n    var exampleCapacityReservationGroup = new Azure.Compute.CapacityReservationGroup(\"example\", new()\n    {\n        Name = \"example-capacity-reservation-group\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/compute\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-rg\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = compute.NewCapacityReservationGroup(ctx, \"example\", \u0026compute.CapacityReservationGroupArgs{\n\t\t\tName:              pulumi.String(\"example-capacity-reservation-group\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.compute.CapacityReservationGroup;\nimport com.pulumi.azure.compute.CapacityReservationGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-rg\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleCapacityReservationGroup = new CapacityReservationGroup(\"exampleCapacityReservationGroup\", CapacityReservationGroupArgs.builder()\n            .name(\"example-capacity-reservation-group\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-rg\n      location: West Europe\n  exampleCapacityReservationGroup:\n    type: azure:compute:CapacityReservationGroup\n    name: example\n    properties:\n      name: example-capacity-reservation-group\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Compute` - 2022-03-01\n\n## Import\n\nCapacity Reservation Groups can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:compute/capacityReservationGroup:CapacityReservationGroup example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Compute/capacityReservationGroups/capacityReservationGroup1\n```\n\n","properties":{"location":{"type":"string","description":"The Azure location where the Capacity Reservation Group exists. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"Specifies the name of this Capacity Reservation Group. Changing this forces a new resource to be created.\n"},"resourceGroupName":{"type":"string","description":"Specifies the name of the resource group the Capacity Reservation Group is located in. Changing this forces a new resource to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"zones":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Availability Zones for this Capacity Reservation Group. Changing this forces a new resource to be created.\n"}},"required":["location","name","resourceGroupName"],"inputProperties":{"location":{"type":"string","description":"The Azure location where the Capacity Reservation Group exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of this Capacity Reservation Group. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"Specifies the name of the resource group the Capacity Reservation Group is located in. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"zones":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Availability Zones for this Capacity Reservation Group. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering CapacityReservationGroup resources.\n","properties":{"location":{"type":"string","description":"The Azure location where the Capacity Reservation Group exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of this Capacity Reservation Group. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"Specifies the name of the resource group the Capacity Reservation Group is located in. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"zones":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Availability Zones for this Capacity Reservation Group. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:compute/dataDiskAttachment:DataDiskAttachment":{"description":"Manages attaching a Disk to a Virtual Machine.\n\n\u003e **NOTE:** Data Disks can be attached either directly on the \u003cspan pulumi-lang-nodejs=\"`azure.compute.VirtualMachine`\" pulumi-lang-dotnet=\"`azure.compute.VirtualMachine`\" pulumi-lang-go=\"`compute.VirtualMachine`\" pulumi-lang-python=\"`compute.VirtualMachine`\" pulumi-lang-yaml=\"`azure.compute.VirtualMachine`\" pulumi-lang-java=\"`azure.compute.VirtualMachine`\"\u003e`azure.compute.VirtualMachine`\u003c/span\u003e resource, or using the \u003cspan pulumi-lang-nodejs=\"`azure.compute.DataDiskAttachment`\" pulumi-lang-dotnet=\"`azure.compute.DataDiskAttachment`\" pulumi-lang-go=\"`compute.DataDiskAttachment`\" pulumi-lang-python=\"`compute.DataDiskAttachment`\" pulumi-lang-yaml=\"`azure.compute.DataDiskAttachment`\" pulumi-lang-java=\"`azure.compute.DataDiskAttachment`\"\u003e`azure.compute.DataDiskAttachment`\u003c/span\u003e resource - but the two cannot be used together. If both are used against the same Virtual Machine, spurious changes will occur.\n\n\u003e **Please Note:** only Managed Disks are supported via this separate resource, Unmanaged Disks can be attached using the \u003cspan pulumi-lang-nodejs=\"`storageDataDisk`\" pulumi-lang-dotnet=\"`StorageDataDisk`\" pulumi-lang-go=\"`storageDataDisk`\" pulumi-lang-python=\"`storage_data_disk`\" pulumi-lang-yaml=\"`storageDataDisk`\" pulumi-lang-java=\"`storageDataDisk`\"\u003e`storage_data_disk`\u003c/span\u003e block in the \u003cspan pulumi-lang-nodejs=\"`azure.compute.VirtualMachine`\" pulumi-lang-dotnet=\"`azure.compute.VirtualMachine`\" pulumi-lang-go=\"`compute.VirtualMachine`\" pulumi-lang-python=\"`compute.VirtualMachine`\" pulumi-lang-yaml=\"`azure.compute.VirtualMachine`\" pulumi-lang-java=\"`azure.compute.VirtualMachine`\"\u003e`azure.compute.VirtualMachine`\u003c/span\u003e resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst config = new pulumi.Config();\nconst prefix = config.get(\"prefix\") || \"example\";\nconst vmName = `${prefix}-vm`;\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: `${prefix}-resources`,\n    location: \"West Europe\",\n});\nconst main = new azure.network.VirtualNetwork(\"main\", {\n    name: `${prefix}-network`,\n    addressSpaces: [\"10.0.0.0/16\"],\n    location: example.location,\n    resourceGroupName: example.name,\n});\nconst internal = new azure.network.Subnet(\"internal\", {\n    name: \"internal\",\n    resourceGroupName: example.name,\n    virtualNetworkName: main.name,\n    addressPrefixes: [\"10.0.2.0/24\"],\n});\nconst mainNetworkInterface = new azure.network.NetworkInterface(\"main\", {\n    name: `${prefix}-nic`,\n    location: example.location,\n    resourceGroupName: example.name,\n    ipConfigurations: [{\n        name: \"internal\",\n        subnetId: internal.id,\n        privateIpAddressAllocation: \"Dynamic\",\n    }],\n});\nconst exampleVirtualMachine = new azure.compute.VirtualMachine(\"example\", {\n    name: vmName,\n    location: example.location,\n    resourceGroupName: example.name,\n    networkInterfaceIds: [mainNetworkInterface.id],\n    vmSize: \"Standard_F2\",\n    storageImageReference: {\n        publisher: \"Canonical\",\n        offer: \"0001-com-ubuntu-server-jammy\",\n        sku: \"22_04-lts\",\n        version: \"latest\",\n    },\n    storageOsDisk: {\n        name: \"myosdisk1\",\n        caching: \"ReadWrite\",\n        createOption: \"FromImage\",\n        managedDiskType: \"Standard_LRS\",\n    },\n    osProfile: {\n        computerName: vmName,\n        adminUsername: \"testadmin\",\n        adminPassword: \"Password1234!\",\n    },\n    osProfileLinuxConfig: {\n        disablePasswordAuthentication: false,\n    },\n});\nconst exampleManagedDisk = new azure.compute.ManagedDisk(\"example\", {\n    name: `${vmName}-disk1`,\n    location: example.location,\n    resourceGroupName: example.name,\n    storageAccountType: \"Standard_LRS\",\n    createOption: \"Empty\",\n    diskSizeGb: 10,\n});\nconst exampleDataDiskAttachment = new azure.compute.DataDiskAttachment(\"example\", {\n    managedDiskId: exampleManagedDisk.id,\n    virtualMachineId: exampleVirtualMachine.id,\n    lun: 10,\n    caching: \"ReadWrite\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nconfig = pulumi.Config()\nprefix = config.get(\"prefix\")\nif prefix is None:\n    prefix = \"example\"\nvm_name = f\"{prefix}-vm\"\nexample = azure.core.ResourceGroup(\"example\",\n    name=f\"{prefix}-resources\",\n    location=\"West Europe\")\nmain = azure.network.VirtualNetwork(\"main\",\n    name=f\"{prefix}-network\",\n    address_spaces=[\"10.0.0.0/16\"],\n    location=example.location,\n    resource_group_name=example.name)\ninternal = azure.network.Subnet(\"internal\",\n    name=\"internal\",\n    resource_group_name=example.name,\n    virtual_network_name=main.name,\n    address_prefixes=[\"10.0.2.0/24\"])\nmain_network_interface = azure.network.NetworkInterface(\"main\",\n    name=f\"{prefix}-nic\",\n    location=example.location,\n    resource_group_name=example.name,\n    ip_configurations=[{\n        \"name\": \"internal\",\n        \"subnet_id\": internal.id,\n        \"private_ip_address_allocation\": \"Dynamic\",\n    }])\nexample_virtual_machine = azure.compute.VirtualMachine(\"example\",\n    name=vm_name,\n    location=example.location,\n    resource_group_name=example.name,\n    network_interface_ids=[main_network_interface.id],\n    vm_size=\"Standard_F2\",\n    storage_image_reference={\n        \"publisher\": \"Canonical\",\n        \"offer\": \"0001-com-ubuntu-server-jammy\",\n        \"sku\": \"22_04-lts\",\n        \"version\": \"latest\",\n    },\n    storage_os_disk={\n        \"name\": \"myosdisk1\",\n        \"caching\": \"ReadWrite\",\n        \"create_option\": \"FromImage\",\n        \"managed_disk_type\": \"Standard_LRS\",\n    },\n    os_profile={\n        \"computer_name\": vm_name,\n        \"admin_username\": \"testadmin\",\n        \"admin_password\": \"Password1234!\",\n    },\n    os_profile_linux_config={\n        \"disable_password_authentication\": False,\n    })\nexample_managed_disk = azure.compute.ManagedDisk(\"example\",\n    name=f\"{vm_name}-disk1\",\n    location=example.location,\n    resource_group_name=example.name,\n    storage_account_type=\"Standard_LRS\",\n    create_option=\"Empty\",\n    disk_size_gb=10)\nexample_data_disk_attachment = azure.compute.DataDiskAttachment(\"example\",\n    managed_disk_id=example_managed_disk.id,\n    virtual_machine_id=example_virtual_machine.id,\n    lun=10,\n    caching=\"ReadWrite\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var prefix = config.Get(\"prefix\") ?? \"example\";\n    var vmName = $\"{prefix}-vm\";\n\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = $\"{prefix}-resources\",\n        Location = \"West Europe\",\n    });\n\n    var main = new Azure.Network.VirtualNetwork(\"main\", new()\n    {\n        Name = $\"{prefix}-network\",\n        AddressSpaces = new[]\n        {\n            \"10.0.0.0/16\",\n        },\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n    });\n\n    var @internal = new Azure.Network.Subnet(\"internal\", new()\n    {\n        Name = \"internal\",\n        ResourceGroupName = example.Name,\n        VirtualNetworkName = main.Name,\n        AddressPrefixes = new[]\n        {\n            \"10.0.2.0/24\",\n        },\n    });\n\n    var mainNetworkInterface = new Azure.Network.NetworkInterface(\"main\", new()\n    {\n        Name = $\"{prefix}-nic\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        IpConfigurations = new[]\n        {\n            new Azure.Network.Inputs.NetworkInterfaceIpConfigurationArgs\n            {\n                Name = \"internal\",\n                SubnetId = @internal.Id,\n                PrivateIpAddressAllocation = \"Dynamic\",\n            },\n        },\n    });\n\n    var exampleVirtualMachine = new Azure.Compute.VirtualMachine(\"example\", new()\n    {\n        Name = vmName,\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        NetworkInterfaceIds = new[]\n        {\n            mainNetworkInterface.Id,\n        },\n        VmSize = \"Standard_F2\",\n        StorageImageReference = new Azure.Compute.Inputs.VirtualMachineStorageImageReferenceArgs\n        {\n            Publisher = \"Canonical\",\n            Offer = \"0001-com-ubuntu-server-jammy\",\n            Sku = \"22_04-lts\",\n            Version = \"latest\",\n        },\n        StorageOsDisk = new Azure.Compute.Inputs.VirtualMachineStorageOsDiskArgs\n        {\n            Name = \"myosdisk1\",\n            Caching = \"ReadWrite\",\n            CreateOption = \"FromImage\",\n            ManagedDiskType = \"Standard_LRS\",\n        },\n        OsProfile = new Azure.Compute.Inputs.VirtualMachineOsProfileArgs\n        {\n            ComputerName = vmName,\n            AdminUsername = \"testadmin\",\n            AdminPassword = \"Password1234!\",\n        },\n        OsProfileLinuxConfig = new Azure.Compute.Inputs.VirtualMachineOsProfileLinuxConfigArgs\n        {\n            DisablePasswordAuthentication = false,\n        },\n    });\n\n    var exampleManagedDisk = new Azure.Compute.ManagedDisk(\"example\", new()\n    {\n        Name = $\"{vmName}-disk1\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        StorageAccountType = \"Standard_LRS\",\n        CreateOption = \"Empty\",\n        DiskSizeGb = 10,\n    });\n\n    var exampleDataDiskAttachment = new Azure.Compute.DataDiskAttachment(\"example\", new()\n    {\n        ManagedDiskId = exampleManagedDisk.Id,\n        VirtualMachineId = exampleVirtualMachine.Id,\n        Lun = 10,\n        Caching = \"ReadWrite\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/compute\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tprefix := \"example\"\n\t\tif param := cfg.Get(\"prefix\"); param != \"\" {\n\t\t\tprefix = param\n\t\t}\n\t\tvmName := fmt.Sprintf(\"%v-vm\", prefix)\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.Sprintf(\"%v-resources\", prefix),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmain, err := network.NewVirtualNetwork(ctx, \"main\", \u0026network.VirtualNetworkArgs{\n\t\t\tName: pulumi.Sprintf(\"%v-network\", prefix),\n\t\t\tAddressSpaces: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.0.0/16\"),\n\t\t\t},\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinternal, err := network.NewSubnet(ctx, \"internal\", \u0026network.SubnetArgs{\n\t\t\tName:               pulumi.String(\"internal\"),\n\t\t\tResourceGroupName:  example.Name,\n\t\t\tVirtualNetworkName: main.Name,\n\t\t\tAddressPrefixes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.2.0/24\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmainNetworkInterface, err := network.NewNetworkInterface(ctx, \"main\", \u0026network.NetworkInterfaceArgs{\n\t\t\tName:              pulumi.Sprintf(\"%v-nic\", prefix),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tIpConfigurations: network.NetworkInterfaceIpConfigurationArray{\n\t\t\t\t\u0026network.NetworkInterfaceIpConfigurationArgs{\n\t\t\t\t\tName:                       pulumi.String(\"internal\"),\n\t\t\t\t\tSubnetId:                   internal.ID(),\n\t\t\t\t\tPrivateIpAddressAllocation: pulumi.String(\"Dynamic\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualMachine, err := compute.NewVirtualMachine(ctx, \"example\", \u0026compute.VirtualMachineArgs{\n\t\t\tName:              pulumi.String(vmName),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tNetworkInterfaceIds: pulumi.StringArray{\n\t\t\t\tmainNetworkInterface.ID(),\n\t\t\t},\n\t\t\tVmSize: pulumi.String(\"Standard_F2\"),\n\t\t\tStorageImageReference: \u0026compute.VirtualMachineStorageImageReferenceArgs{\n\t\t\t\tPublisher: pulumi.String(\"Canonical\"),\n\t\t\t\tOffer:     pulumi.String(\"0001-com-ubuntu-server-jammy\"),\n\t\t\t\tSku:       pulumi.String(\"22_04-lts\"),\n\t\t\t\tVersion:   pulumi.String(\"latest\"),\n\t\t\t},\n\t\t\tStorageOsDisk: \u0026compute.VirtualMachineStorageOsDiskArgs{\n\t\t\t\tName:            pulumi.String(\"myosdisk1\"),\n\t\t\t\tCaching:         pulumi.String(\"ReadWrite\"),\n\t\t\t\tCreateOption:    pulumi.String(\"FromImage\"),\n\t\t\t\tManagedDiskType: pulumi.String(\"Standard_LRS\"),\n\t\t\t},\n\t\t\tOsProfile: \u0026compute.VirtualMachineOsProfileArgs{\n\t\t\t\tComputerName:  pulumi.String(vmName),\n\t\t\t\tAdminUsername: pulumi.String(\"testadmin\"),\n\t\t\t\tAdminPassword: pulumi.String(\"Password1234!\"),\n\t\t\t},\n\t\t\tOsProfileLinuxConfig: \u0026compute.VirtualMachineOsProfileLinuxConfigArgs{\n\t\t\t\tDisablePasswordAuthentication: pulumi.Bool(false),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleManagedDisk, err := compute.NewManagedDisk(ctx, \"example\", \u0026compute.ManagedDiskArgs{\n\t\t\tName:               pulumi.Sprintf(\"%v-disk1\", vmName),\n\t\t\tLocation:           example.Location,\n\t\t\tResourceGroupName:  example.Name,\n\t\t\tStorageAccountType: pulumi.String(\"Standard_LRS\"),\n\t\t\tCreateOption:       pulumi.String(\"Empty\"),\n\t\t\tDiskSizeGb:         pulumi.Int(10),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = compute.NewDataDiskAttachment(ctx, \"example\", \u0026compute.DataDiskAttachmentArgs{\n\t\t\tManagedDiskId:    exampleManagedDisk.ID(),\n\t\t\tVirtualMachineId: exampleVirtualMachine.ID(),\n\t\t\tLun:              pulumi.Int(10),\n\t\t\tCaching:          pulumi.String(\"ReadWrite\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.VirtualNetwork;\nimport com.pulumi.azure.network.VirtualNetworkArgs;\nimport com.pulumi.azure.network.Subnet;\nimport com.pulumi.azure.network.SubnetArgs;\nimport com.pulumi.azure.network.NetworkInterface;\nimport com.pulumi.azure.network.NetworkInterfaceArgs;\nimport com.pulumi.azure.network.inputs.NetworkInterfaceIpConfigurationArgs;\nimport com.pulumi.azure.compute.VirtualMachine;\nimport com.pulumi.azure.compute.VirtualMachineArgs;\nimport com.pulumi.azure.compute.inputs.VirtualMachineStorageImageReferenceArgs;\nimport com.pulumi.azure.compute.inputs.VirtualMachineStorageOsDiskArgs;\nimport com.pulumi.azure.compute.inputs.VirtualMachineOsProfileArgs;\nimport com.pulumi.azure.compute.inputs.VirtualMachineOsProfileLinuxConfigArgs;\nimport com.pulumi.azure.compute.ManagedDisk;\nimport com.pulumi.azure.compute.ManagedDiskArgs;\nimport com.pulumi.azure.compute.DataDiskAttachment;\nimport com.pulumi.azure.compute.DataDiskAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var prefix = config.get(\"prefix\").orElse(\"example\");\n        final var vmName = String.format(\"%s-vm\", prefix);\n\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(String.format(\"%s-resources\", prefix))\n            .location(\"West Europe\")\n            .build());\n\n        var main = new VirtualNetwork(\"main\", VirtualNetworkArgs.builder()\n            .name(String.format(\"%s-network\", prefix))\n            .addressSpaces(\"10.0.0.0/16\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .build());\n\n        var internal = new Subnet(\"internal\", SubnetArgs.builder()\n            .name(\"internal\")\n            .resourceGroupName(example.name())\n            .virtualNetworkName(main.name())\n            .addressPrefixes(\"10.0.2.0/24\")\n            .build());\n\n        var mainNetworkInterface = new NetworkInterface(\"mainNetworkInterface\", NetworkInterfaceArgs.builder()\n            .name(String.format(\"%s-nic\", prefix))\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .ipConfigurations(NetworkInterfaceIpConfigurationArgs.builder()\n                .name(\"internal\")\n                .subnetId(internal.id())\n                .privateIpAddressAllocation(\"Dynamic\")\n                .build())\n            .build());\n\n        var exampleVirtualMachine = new VirtualMachine(\"exampleVirtualMachine\", VirtualMachineArgs.builder()\n            .name(vmName)\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .networkInterfaceIds(mainNetworkInterface.id())\n            .vmSize(\"Standard_F2\")\n            .storageImageReference(VirtualMachineStorageImageReferenceArgs.builder()\n                .publisher(\"Canonical\")\n                .offer(\"0001-com-ubuntu-server-jammy\")\n                .sku(\"22_04-lts\")\n                .version(\"latest\")\n                .build())\n            .storageOsDisk(VirtualMachineStorageOsDiskArgs.builder()\n                .name(\"myosdisk1\")\n                .caching(\"ReadWrite\")\n                .createOption(\"FromImage\")\n                .managedDiskType(\"Standard_LRS\")\n                .build())\n            .osProfile(VirtualMachineOsProfileArgs.builder()\n                .computerName(vmName)\n                .adminUsername(\"testadmin\")\n                .adminPassword(\"Password1234!\")\n                .build())\n            .osProfileLinuxConfig(VirtualMachineOsProfileLinuxConfigArgs.builder()\n                .disablePasswordAuthentication(false)\n                .build())\n            .build());\n\n        var exampleManagedDisk = new ManagedDisk(\"exampleManagedDisk\", ManagedDiskArgs.builder()\n            .name(String.format(\"%s-disk1\", vmName))\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .storageAccountType(\"Standard_LRS\")\n            .createOption(\"Empty\")\n            .diskSizeGb(10)\n            .build());\n\n        var exampleDataDiskAttachment = new DataDiskAttachment(\"exampleDataDiskAttachment\", DataDiskAttachmentArgs.builder()\n            .managedDiskId(exampleManagedDisk.id())\n            .virtualMachineId(exampleVirtualMachine.id())\n            .lun(10)\n            .caching(\"ReadWrite\")\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  prefix:\n    type: string\n    default: example\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: ${prefix}-resources\n      location: West Europe\n  main:\n    type: azure:network:VirtualNetwork\n    properties:\n      name: ${prefix}-network\n      addressSpaces:\n        - 10.0.0.0/16\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n  internal:\n    type: azure:network:Subnet\n    properties:\n      name: internal\n      resourceGroupName: ${example.name}\n      virtualNetworkName: ${main.name}\n      addressPrefixes:\n        - 10.0.2.0/24\n  mainNetworkInterface:\n    type: azure:network:NetworkInterface\n    name: main\n    properties:\n      name: ${prefix}-nic\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      ipConfigurations:\n        - name: internal\n          subnetId: ${internal.id}\n          privateIpAddressAllocation: Dynamic\n  exampleVirtualMachine:\n    type: azure:compute:VirtualMachine\n    name: example\n    properties:\n      name: ${vmName}\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      networkInterfaceIds:\n        - ${mainNetworkInterface.id}\n      vmSize: Standard_F2\n      storageImageReference:\n        publisher: Canonical\n        offer: 0001-com-ubuntu-server-jammy\n        sku: 22_04-lts\n        version: latest\n      storageOsDisk:\n        name: myosdisk1\n        caching: ReadWrite\n        createOption: FromImage\n        managedDiskType: Standard_LRS\n      osProfile:\n        computerName: ${vmName}\n        adminUsername: testadmin\n        adminPassword: Password1234!\n      osProfileLinuxConfig:\n        disablePasswordAuthentication: false\n  exampleManagedDisk:\n    type: azure:compute:ManagedDisk\n    name: example\n    properties:\n      name: ${vmName}-disk1\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      storageAccountType: Standard_LRS\n      createOption: Empty\n      diskSizeGb: 10\n  exampleDataDiskAttachment:\n    type: azure:compute:DataDiskAttachment\n    name: example\n    properties:\n      managedDiskId: ${exampleManagedDisk.id}\n      virtualMachineId: ${exampleVirtualMachine.id}\n      lun: '10'\n      caching: ReadWrite\nvariables:\n  vmName: ${prefix}-vm\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Compute` - 2024-03-01, 2023-04-02\n\n## Import\n\nVirtual Machines Data Disk Attachments can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:compute/dataDiskAttachment:DataDiskAttachment example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Compute/virtualMachines/machine1/dataDisks/disk1\n```\n\n\u003e **Note:** This is provider-specific ID matching the format: `{virtualMachineID}/dataDisks/{diskName}`\n\n","properties":{"caching":{"type":"string","description":"Specifies the caching requirements for this Data Disk. Possible values include `None`, `ReadOnly` and `ReadWrite`.\n"},"createOption":{"type":"string","description":"The Create Option of the Data Disk, such as `Empty` or `Attach`. Defaults to `Attach`. Changing this forces a new resource to be created.\n"},"lun":{"type":"integer","description":"The Logical Unit Number of the Data Disk, which needs to be unique within the Virtual Machine. Changing this forces a new resource to be created.\n"},"managedDiskId":{"type":"string","description":"The ID of an existing Managed Disk which should be attached. Changing this forces a new resource to be created.\n"},"virtualMachineId":{"type":"string","description":"The ID of the Virtual Machine to which the Data Disk should be attached. Changing this forces a new resource to be created.\n"},"writeAcceleratorEnabled":{"type":"boolean","description":"Specifies if Write Accelerator is enabled on the disk. This can only be enabled on `Premium_LRS` managed disks with no caching and [M-Series VMs](https://docs.microsoft.com/azure/virtual-machines/workloads/sap/how-to-enable-write-accelerator). Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"}},"required":["caching","lun","managedDiskId","virtualMachineId"],"inputProperties":{"caching":{"type":"string","description":"Specifies the caching requirements for this Data Disk. Possible values include `None`, `ReadOnly` and `ReadWrite`.\n"},"createOption":{"type":"string","description":"The Create Option of the Data Disk, such as `Empty` or `Attach`. Defaults to `Attach`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"lun":{"type":"integer","description":"The Logical Unit Number of the Data Disk, which needs to be unique within the Virtual Machine. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"managedDiskId":{"type":"string","description":"The ID of an existing Managed Disk which should be attached. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"virtualMachineId":{"type":"string","description":"The ID of the Virtual Machine to which the Data Disk should be attached. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"writeAcceleratorEnabled":{"type":"boolean","description":"Specifies if Write Accelerator is enabled on the disk. This can only be enabled on `Premium_LRS` managed disks with no caching and [M-Series VMs](https://docs.microsoft.com/azure/virtual-machines/workloads/sap/how-to-enable-write-accelerator). Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"}},"requiredInputs":["caching","lun","managedDiskId","virtualMachineId"],"stateInputs":{"description":"Input properties used for looking up and filtering DataDiskAttachment resources.\n","properties":{"caching":{"type":"string","description":"Specifies the caching requirements for this Data Disk. Possible values include `None`, `ReadOnly` and `ReadWrite`.\n"},"createOption":{"type":"string","description":"The Create Option of the Data Disk, such as `Empty` or `Attach`. Defaults to `Attach`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"lun":{"type":"integer","description":"The Logical Unit Number of the Data Disk, which needs to be unique within the Virtual Machine. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"managedDiskId":{"type":"string","description":"The ID of an existing Managed Disk which should be attached. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"virtualMachineId":{"type":"string","description":"The ID of the Virtual Machine to which the Data Disk should be attached. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"writeAcceleratorEnabled":{"type":"boolean","description":"Specifies if Write Accelerator is enabled on the disk. This can only be enabled on `Premium_LRS` managed disks with no caching and [M-Series VMs](https://docs.microsoft.com/azure/virtual-machines/workloads/sap/how-to-enable-write-accelerator). Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"}},"type":"object"}},"azure:compute/dedicatedHost:DedicatedHost":{"description":"Manage a Dedicated Host within a Dedicated Host Group.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleDedicatedHostGroup = new azure.compute.DedicatedHostGroup(\"example\", {\n    name: \"example-host-group\",\n    resourceGroupName: example.name,\n    location: example.location,\n    platformFaultDomainCount: 2,\n});\nconst exampleDedicatedHost = new azure.compute.DedicatedHost(\"example\", {\n    name: \"example-host\",\n    location: example.location,\n    dedicatedHostGroupId: exampleDedicatedHostGroup.id,\n    skuName: \"DSv3-Type3\",\n    platformFaultDomain: 1,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_dedicated_host_group = azure.compute.DedicatedHostGroup(\"example\",\n    name=\"example-host-group\",\n    resource_group_name=example.name,\n    location=example.location,\n    platform_fault_domain_count=2)\nexample_dedicated_host = azure.compute.DedicatedHost(\"example\",\n    name=\"example-host\",\n    location=example.location,\n    dedicated_host_group_id=example_dedicated_host_group.id,\n    sku_name=\"DSv3-Type3\",\n    platform_fault_domain=1)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleDedicatedHostGroup = new Azure.Compute.DedicatedHostGroup(\"example\", new()\n    {\n        Name = \"example-host-group\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        PlatformFaultDomainCount = 2,\n    });\n\n    var exampleDedicatedHost = new Azure.Compute.DedicatedHost(\"example\", new()\n    {\n        Name = \"example-host\",\n        Location = example.Location,\n        DedicatedHostGroupId = exampleDedicatedHostGroup.Id,\n        SkuName = \"DSv3-Type3\",\n        PlatformFaultDomain = 1,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/compute\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleDedicatedHostGroup, err := compute.NewDedicatedHostGroup(ctx, \"example\", \u0026compute.DedicatedHostGroupArgs{\n\t\t\tName:                     pulumi.String(\"example-host-group\"),\n\t\t\tResourceGroupName:        example.Name,\n\t\t\tLocation:                 example.Location,\n\t\t\tPlatformFaultDomainCount: pulumi.Int(2),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = compute.NewDedicatedHost(ctx, \"example\", \u0026compute.DedicatedHostArgs{\n\t\t\tName:                 pulumi.String(\"example-host\"),\n\t\t\tLocation:             example.Location,\n\t\t\tDedicatedHostGroupId: exampleDedicatedHostGroup.ID(),\n\t\t\tSkuName:              pulumi.String(\"DSv3-Type3\"),\n\t\t\tPlatformFaultDomain:  pulumi.Int(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.compute.DedicatedHostGroup;\nimport com.pulumi.azure.compute.DedicatedHostGroupArgs;\nimport com.pulumi.azure.compute.DedicatedHost;\nimport com.pulumi.azure.compute.DedicatedHostArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleDedicatedHostGroup = new DedicatedHostGroup(\"exampleDedicatedHostGroup\", DedicatedHostGroupArgs.builder()\n            .name(\"example-host-group\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .platformFaultDomainCount(2)\n            .build());\n\n        var exampleDedicatedHost = new DedicatedHost(\"exampleDedicatedHost\", DedicatedHostArgs.builder()\n            .name(\"example-host\")\n            .location(example.location())\n            .dedicatedHostGroupId(exampleDedicatedHostGroup.id())\n            .skuName(\"DSv3-Type3\")\n            .platformFaultDomain(1)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleDedicatedHostGroup:\n    type: azure:compute:DedicatedHostGroup\n    name: example\n    properties:\n      name: example-host-group\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      platformFaultDomainCount: 2\n  exampleDedicatedHost:\n    type: azure:compute:DedicatedHost\n    name: example\n    properties:\n      name: example-host\n      location: ${example.location}\n      dedicatedHostGroupId: ${exampleDedicatedHostGroup.id}\n      skuName: DSv3-Type3\n      platformFaultDomain: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Compute` - 2024-03-01\n\n## Import\n\nDedicated Hosts can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:compute/dedicatedHost:DedicatedHost example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Compute/hostGroups/group1/hosts/host1\n```\n\n","properties":{"autoReplaceOnFailure":{"type":"boolean","description":"Should the Dedicated Host automatically be replaced in case of a Hardware Failure? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"dedicatedHostGroupId":{"type":"string","description":"Specifies the ID of the Dedicated Host Group where the Dedicated Host should exist. Changing this forces a new resource to be created.\n"},"licenseType":{"type":"string","description":"Specifies the software license type that will be applied to the VMs deployed on the Dedicated Host. Possible values are `None`, `Windows_Server_Hybrid` and `Windows_Server_Perpetual`. Defaults to `None`.\n"},"location":{"type":"string","description":"Specify the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"Specifies the name of this Dedicated Host. Changing this forces a new resource to be created.\n"},"platformFaultDomain":{"type":"integer","description":"Specify the fault domain of the Dedicated Host Group in which to create the Dedicated Host. Changing this forces a new resource to be created.\n"},"skuName":{"type":"string","description":"Specify the SKU name of the Dedicated Host. Possible values are `DADSv5-Type1`, `DASv4-Type1`, `DASv4-Type2`, `DASv5-Type1`, `DCSv2-Type1`, `DDSv4-Type1`, `DDSv4-Type2`, `DDSv5-Type1`, `DSv3-Type1`, `DSv3-Type2`, `DSv3-Type3`, `DSv3-Type4`, `DSv4-Type1`, `DSv4-Type2`, `DSv5-Type1`, `EADSv5-Type1`, `EASv4-Type1`, `EASv4-Type2`, `EASv5-Type1`, `EDSv4-Type1`, `EDSv4-Type2`, `EDSv5-Type1`, `ESv3-Type1`, `ESv3-Type2`, `ESv3-Type3`, `ESv3-Type4`, `ESv4-Type1`, `ESv4-Type2`, `ESv5-Type1`, `FSv2-Type2`, `FSv2-Type3`, `FSv2-Type4`, `FXmds-Type1`, `LSv2-Type1`, `LSv3-Type1`, `MDMSv2MedMem-Type1`, `MDSv2MedMem-Type1`, `MMSv2MedMem-Type1`, `MS-Type1`, `MSm-Type1`, `MSmv2-Type1`, `MSv2-Type1`, `MSv2MedMem-Type1`, `NVASv4-Type1` and `NVSv3-Type1`. Changing this forces a new resource to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"required":["dedicatedHostGroupId","location","name","platformFaultDomain","skuName"],"inputProperties":{"autoReplaceOnFailure":{"type":"boolean","description":"Should the Dedicated Host automatically be replaced in case of a Hardware Failure? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"dedicatedHostGroupId":{"type":"string","description":"Specifies the ID of the Dedicated Host Group where the Dedicated Host should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"licenseType":{"type":"string","description":"Specifies the software license type that will be applied to the VMs deployed on the Dedicated Host. Possible values are `None`, `Windows_Server_Hybrid` and `Windows_Server_Perpetual`. Defaults to `None`.\n"},"location":{"type":"string","description":"Specify the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of this Dedicated Host. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"platformFaultDomain":{"type":"integer","description":"Specify the fault domain of the Dedicated Host Group in which to create the Dedicated Host. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"skuName":{"type":"string","description":"Specify the SKU name of the Dedicated Host. Possible values are `DADSv5-Type1`, `DASv4-Type1`, `DASv4-Type2`, `DASv5-Type1`, `DCSv2-Type1`, `DDSv4-Type1`, `DDSv4-Type2`, `DDSv5-Type1`, `DSv3-Type1`, `DSv3-Type2`, `DSv3-Type3`, `DSv3-Type4`, `DSv4-Type1`, `DSv4-Type2`, `DSv5-Type1`, `EADSv5-Type1`, `EASv4-Type1`, `EASv4-Type2`, `EASv5-Type1`, `EDSv4-Type1`, `EDSv4-Type2`, `EDSv5-Type1`, `ESv3-Type1`, `ESv3-Type2`, `ESv3-Type3`, `ESv3-Type4`, `ESv4-Type1`, `ESv4-Type2`, `ESv5-Type1`, `FSv2-Type2`, `FSv2-Type3`, `FSv2-Type4`, `FXmds-Type1`, `LSv2-Type1`, `LSv3-Type1`, `MDMSv2MedMem-Type1`, `MDSv2MedMem-Type1`, `MMSv2MedMem-Type1`, `MS-Type1`, `MSm-Type1`, `MSmv2-Type1`, `MSv2-Type1`, `MSv2MedMem-Type1`, `NVASv4-Type1` and `NVSv3-Type1`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"requiredInputs":["dedicatedHostGroupId","platformFaultDomain","skuName"],"stateInputs":{"description":"Input properties used for looking up and filtering DedicatedHost resources.\n","properties":{"autoReplaceOnFailure":{"type":"boolean","description":"Should the Dedicated Host automatically be replaced in case of a Hardware Failure? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"dedicatedHostGroupId":{"type":"string","description":"Specifies the ID of the Dedicated Host Group where the Dedicated Host should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"licenseType":{"type":"string","description":"Specifies the software license type that will be applied to the VMs deployed on the Dedicated Host. Possible values are `None`, `Windows_Server_Hybrid` and `Windows_Server_Perpetual`. Defaults to `None`.\n"},"location":{"type":"string","description":"Specify the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of this Dedicated Host. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"platformFaultDomain":{"type":"integer","description":"Specify the fault domain of the Dedicated Host Group in which to create the Dedicated Host. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"skuName":{"type":"string","description":"Specify the SKU name of the Dedicated Host. Possible values are `DADSv5-Type1`, `DASv4-Type1`, `DASv4-Type2`, `DASv5-Type1`, `DCSv2-Type1`, `DDSv4-Type1`, `DDSv4-Type2`, `DDSv5-Type1`, `DSv3-Type1`, `DSv3-Type2`, `DSv3-Type3`, `DSv3-Type4`, `DSv4-Type1`, `DSv4-Type2`, `DSv5-Type1`, `EADSv5-Type1`, `EASv4-Type1`, `EASv4-Type2`, `EASv5-Type1`, `EDSv4-Type1`, `EDSv4-Type2`, `EDSv5-Type1`, `ESv3-Type1`, `ESv3-Type2`, `ESv3-Type3`, `ESv3-Type4`, `ESv4-Type1`, `ESv4-Type2`, `ESv5-Type1`, `FSv2-Type2`, `FSv2-Type3`, `FSv2-Type4`, `FXmds-Type1`, `LSv2-Type1`, `LSv3-Type1`, `MDMSv2MedMem-Type1`, `MDSv2MedMem-Type1`, `MMSv2MedMem-Type1`, `MS-Type1`, `MSm-Type1`, `MSmv2-Type1`, `MSv2-Type1`, `MSv2MedMem-Type1`, `NVASv4-Type1` and `NVSv3-Type1`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"type":"object"}},"azure:compute/dedicatedHostGroup:DedicatedHostGroup":{"description":"Manage a Dedicated Host Group.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-rg-compute\",\n    location: \"West Europe\",\n});\nconst exampleDedicatedHostGroup = new azure.compute.DedicatedHostGroup(\"example\", {\n    name: \"example-dedicated-host-group\",\n    resourceGroupName: example.name,\n    location: example.location,\n    platformFaultDomainCount: 1,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-rg-compute\",\n    location=\"West Europe\")\nexample_dedicated_host_group = azure.compute.DedicatedHostGroup(\"example\",\n    name=\"example-dedicated-host-group\",\n    resource_group_name=example.name,\n    location=example.location,\n    platform_fault_domain_count=1)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-rg-compute\",\n        Location = \"West Europe\",\n    });\n\n    var exampleDedicatedHostGroup = new Azure.Compute.DedicatedHostGroup(\"example\", new()\n    {\n        Name = \"example-dedicated-host-group\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        PlatformFaultDomainCount = 1,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/compute\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-rg-compute\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = compute.NewDedicatedHostGroup(ctx, \"example\", \u0026compute.DedicatedHostGroupArgs{\n\t\t\tName:                     pulumi.String(\"example-dedicated-host-group\"),\n\t\t\tResourceGroupName:        example.Name,\n\t\t\tLocation:                 example.Location,\n\t\t\tPlatformFaultDomainCount: pulumi.Int(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.compute.DedicatedHostGroup;\nimport com.pulumi.azure.compute.DedicatedHostGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-rg-compute\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleDedicatedHostGroup = new DedicatedHostGroup(\"exampleDedicatedHostGroup\", DedicatedHostGroupArgs.builder()\n            .name(\"example-dedicated-host-group\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .platformFaultDomainCount(1)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-rg-compute\n      location: West Europe\n  exampleDedicatedHostGroup:\n    type: azure:compute:DedicatedHostGroup\n    name: example\n    properties:\n      name: example-dedicated-host-group\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      platformFaultDomainCount: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Compute` - 2024-03-01\n\n## Import\n\nDedicated Host Group can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:compute/dedicatedHostGroup:DedicatedHostGroup example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/example-rg/providers/Microsoft.Compute/hostGroups/group1\n```\n\n","properties":{"automaticPlacementEnabled":{"type":"boolean","description":"Would virtual machines or virtual machine scale sets be placed automatically on this Dedicated Host Group? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Changing this forces a new resource to be created.\n"},"location":{"type":"string","description":"The Azure location where the Dedicated Host Group exists. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"Specifies the name of the Dedicated Host Group. Changing this forces a new resource to be created.\n"},"platformFaultDomainCount":{"type":"integer","description":"The number of fault domains that the Dedicated Host Group spans. Changing this forces a new resource to be created.\n"},"resourceGroupName":{"type":"string","description":"Specifies the name of the resource group the Dedicated Host Group is located in. Changing this forces a new resource to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"zone":{"type":"string","description":"Specifies the Availability Zone in which this Dedicated Host Group should be located. Changing this forces a new Dedicated Host Group to be created.\n"}},"required":["location","name","platformFaultDomainCount","resourceGroupName"],"inputProperties":{"automaticPlacementEnabled":{"type":"boolean","description":"Would virtual machines or virtual machine scale sets be placed automatically on this Dedicated Host Group? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"location":{"type":"string","description":"The Azure location where the Dedicated Host Group exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the Dedicated Host Group. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"platformFaultDomainCount":{"type":"integer","description":"The number of fault domains that the Dedicated Host Group spans. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"Specifies the name of the resource group the Dedicated Host Group is located in. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"zone":{"type":"string","description":"Specifies the Availability Zone in which this Dedicated Host Group should be located. Changing this forces a new Dedicated Host Group to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["platformFaultDomainCount","resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering DedicatedHostGroup resources.\n","properties":{"automaticPlacementEnabled":{"type":"boolean","description":"Would virtual machines or virtual machine scale sets be placed automatically on this Dedicated Host Group? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"location":{"type":"string","description":"The Azure location where the Dedicated Host Group exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the Dedicated Host Group. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"platformFaultDomainCount":{"type":"integer","description":"The number of fault domains that the Dedicated Host Group spans. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"Specifies the name of the resource group the Dedicated Host Group is located in. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"zone":{"type":"string","description":"Specifies the Availability Zone in which this Dedicated Host Group should be located. Changing this forces a new Dedicated Host Group to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:compute/diskAccess:DiskAccess":{"description":"Manages a Disk Access.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.compute.DiskAccess(\"example\", {\n    name: \"example\",\n    resourceGroupName: \"example\",\n    location: \"West Europe\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.compute.DiskAccess(\"example\",\n    name=\"example\",\n    resource_group_name=\"example\",\n    location=\"West Europe\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Compute.DiskAccess(\"example\", new()\n    {\n        Name = \"example\",\n        ResourceGroupName = \"example\",\n        Location = \"West Europe\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/compute\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := compute.NewDiskAccess(ctx, \"example\", \u0026compute.DiskAccessArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tResourceGroupName: pulumi.String(\"example\"),\n\t\t\tLocation:          pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.compute.DiskAccess;\nimport com.pulumi.azure.compute.DiskAccessArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new DiskAccess(\"example\", DiskAccessArgs.builder()\n            .name(\"example\")\n            .resourceGroupName(\"example\")\n            .location(\"West Europe\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:compute:DiskAccess\n    properties:\n      name: example\n      resourceGroupName: example\n      location: West Europe\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Compute` - 2022-03-02\n\n## Import\n\nDisk Access resource can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:compute/diskAccess:DiskAccess example /subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/resGroup1/providers/Microsoft.Compute/diskAccesses/diskAccess1\n```\n\n","properties":{"location":{"type":"string","description":"The Azure Region where the Disk Access should exist. Changing this forces a new Disk to be created.\n"},"name":{"type":"string","description":"The name which should be used for this Disk Access. Changing this forces a new Disk Access to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Disk Access should exist. Changing this forces a new Disk Access to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Disk Access.\n"}},"required":["location","name","resourceGroupName"],"inputProperties":{"location":{"type":"string","description":"The Azure Region where the Disk Access should exist. Changing this forces a new Disk to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Disk Access. Changing this forces a new Disk Access to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Disk Access should exist. Changing this forces a new Disk Access to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Disk Access.\n"}},"requiredInputs":["resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering DiskAccess resources.\n","properties":{"location":{"type":"string","description":"The Azure Region where the Disk Access should exist. Changing this forces a new Disk to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Disk Access. Changing this forces a new Disk Access to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Disk Access should exist. Changing this forces a new Disk Access to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Disk Access.\n"}},"type":"object"}},"azure:compute/diskEncryptionSet:DiskEncryptionSet":{"description":"Manages a Disk Encryption Set.\n\n\u003e **NOTE:** At this time the Key Vault used to store the Active Key for this Disk Encryption Set must have both Soft Delete \u0026 Purge Protection enabled - which are not yet supported by this provider.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst current = azure.core.getClientConfig({});\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleKeyVault = new azure.keyvault.KeyVault(\"example\", {\n    name: \"des-example-keyvault\",\n    location: example.location,\n    resourceGroupName: example.name,\n    tenantId: current.then(current =\u003e current.tenantId),\n    skuName: \"premium\",\n    enabledForDiskEncryption: true,\n    purgeProtectionEnabled: true,\n});\nconst example_user = new azure.keyvault.AccessPolicy(\"example-user\", {\n    keyVaultId: exampleKeyVault.id,\n    tenantId: current.then(current =\u003e current.tenantId),\n    objectId: current.then(current =\u003e current.objectId),\n    keyPermissions: [\n        \"Create\",\n        \"Delete\",\n        \"Get\",\n        \"Purge\",\n        \"Recover\",\n        \"Update\",\n        \"List\",\n        \"Decrypt\",\n        \"Sign\",\n        \"GetRotationPolicy\",\n    ],\n});\nconst exampleKey = new azure.keyvault.Key(\"example\", {\n    name: \"des-example-key\",\n    keyVaultId: exampleKeyVault.id,\n    keyType: \"RSA\",\n    keySize: 2048,\n    keyOpts: [\n        \"decrypt\",\n        \"encrypt\",\n        \"sign\",\n        \"unwrapKey\",\n        \"verify\",\n        \"wrapKey\",\n    ],\n}, {\n    dependsOn: [example_user],\n});\nconst exampleDiskEncryptionSet = new azure.compute.DiskEncryptionSet(\"example\", {\n    name: \"des\",\n    resourceGroupName: example.name,\n    location: example.location,\n    keyVaultKeyId: exampleKey.id,\n    identity: {\n        type: \"SystemAssigned\",\n    },\n});\nconst example_disk = new azure.keyvault.AccessPolicy(\"example-disk\", {\n    keyVaultId: exampleKeyVault.id,\n    tenantId: exampleDiskEncryptionSet.identity.apply(identity =\u003e identity.tenantId),\n    objectId: exampleDiskEncryptionSet.identity.apply(identity =\u003e identity.principalId),\n    keyPermissions: [\n        \"Create\",\n        \"Delete\",\n        \"Get\",\n        \"Purge\",\n        \"Recover\",\n        \"Update\",\n        \"List\",\n        \"Decrypt\",\n        \"Sign\",\n    ],\n});\nconst example_diskAssignment = new azure.authorization.Assignment(\"example-disk\", {\n    scope: exampleKeyVault.id,\n    roleDefinitionName: \"Key Vault Crypto Service Encryption User\",\n    principalId: exampleDiskEncryptionSet.identity.apply(identity =\u003e identity.principalId),\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\ncurrent = azure.core.get_client_config()\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_key_vault = azure.keyvault.KeyVault(\"example\",\n    name=\"des-example-keyvault\",\n    location=example.location,\n    resource_group_name=example.name,\n    tenant_id=current.tenant_id,\n    sku_name=\"premium\",\n    enabled_for_disk_encryption=True,\n    purge_protection_enabled=True)\nexample_user = azure.keyvault.AccessPolicy(\"example-user\",\n    key_vault_id=example_key_vault.id,\n    tenant_id=current.tenant_id,\n    object_id=current.object_id,\n    key_permissions=[\n        \"Create\",\n        \"Delete\",\n        \"Get\",\n        \"Purge\",\n        \"Recover\",\n        \"Update\",\n        \"List\",\n        \"Decrypt\",\n        \"Sign\",\n        \"GetRotationPolicy\",\n    ])\nexample_key = azure.keyvault.Key(\"example\",\n    name=\"des-example-key\",\n    key_vault_id=example_key_vault.id,\n    key_type=\"RSA\",\n    key_size=2048,\n    key_opts=[\n        \"decrypt\",\n        \"encrypt\",\n        \"sign\",\n        \"unwrapKey\",\n        \"verify\",\n        \"wrapKey\",\n    ],\n    opts = pulumi.ResourceOptions(depends_on=[example_user]))\nexample_disk_encryption_set = azure.compute.DiskEncryptionSet(\"example\",\n    name=\"des\",\n    resource_group_name=example.name,\n    location=example.location,\n    key_vault_key_id=example_key.id,\n    identity={\n        \"type\": \"SystemAssigned\",\n    })\nexample_disk = azure.keyvault.AccessPolicy(\"example-disk\",\n    key_vault_id=example_key_vault.id,\n    tenant_id=example_disk_encryption_set.identity.tenant_id,\n    object_id=example_disk_encryption_set.identity.principal_id,\n    key_permissions=[\n        \"Create\",\n        \"Delete\",\n        \"Get\",\n        \"Purge\",\n        \"Recover\",\n        \"Update\",\n        \"List\",\n        \"Decrypt\",\n        \"Sign\",\n    ])\nexample_disk_assignment = azure.authorization.Assignment(\"example-disk\",\n    scope=example_key_vault.id,\n    role_definition_name=\"Key Vault Crypto Service Encryption User\",\n    principal_id=example_disk_encryption_set.identity.principal_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var current = Azure.Core.GetClientConfig.Invoke();\n\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleKeyVault = new Azure.KeyVault.KeyVault(\"example\", new()\n    {\n        Name = \"des-example-keyvault\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        TenantId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.TenantId),\n        SkuName = \"premium\",\n        EnabledForDiskEncryption = true,\n        PurgeProtectionEnabled = true,\n    });\n\n    var example_user = new Azure.KeyVault.AccessPolicy(\"example-user\", new()\n    {\n        KeyVaultId = exampleKeyVault.Id,\n        TenantId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.TenantId),\n        ObjectId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.ObjectId),\n        KeyPermissions = new[]\n        {\n            \"Create\",\n            \"Delete\",\n            \"Get\",\n            \"Purge\",\n            \"Recover\",\n            \"Update\",\n            \"List\",\n            \"Decrypt\",\n            \"Sign\",\n            \"GetRotationPolicy\",\n        },\n    });\n\n    var exampleKey = new Azure.KeyVault.Key(\"example\", new()\n    {\n        Name = \"des-example-key\",\n        KeyVaultId = exampleKeyVault.Id,\n        KeyType = \"RSA\",\n        KeySize = 2048,\n        KeyOpts = new[]\n        {\n            \"decrypt\",\n            \"encrypt\",\n            \"sign\",\n            \"unwrapKey\",\n            \"verify\",\n            \"wrapKey\",\n        },\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            example_user,\n        },\n    });\n\n    var exampleDiskEncryptionSet = new Azure.Compute.DiskEncryptionSet(\"example\", new()\n    {\n        Name = \"des\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        KeyVaultKeyId = exampleKey.Id,\n        Identity = new Azure.Compute.Inputs.DiskEncryptionSetIdentityArgs\n        {\n            Type = \"SystemAssigned\",\n        },\n    });\n\n    var example_disk = new Azure.KeyVault.AccessPolicy(\"example-disk\", new()\n    {\n        KeyVaultId = exampleKeyVault.Id,\n        TenantId = exampleDiskEncryptionSet.Identity.Apply(identity =\u003e identity.TenantId),\n        ObjectId = exampleDiskEncryptionSet.Identity.Apply(identity =\u003e identity.PrincipalId),\n        KeyPermissions = new[]\n        {\n            \"Create\",\n            \"Delete\",\n            \"Get\",\n            \"Purge\",\n            \"Recover\",\n            \"Update\",\n            \"List\",\n            \"Decrypt\",\n            \"Sign\",\n        },\n    });\n\n    var example_diskAssignment = new Azure.Authorization.Assignment(\"example-disk\", new()\n    {\n        Scope = exampleKeyVault.Id,\n        RoleDefinitionName = \"Key Vault Crypto Service Encryption User\",\n        PrincipalId = exampleDiskEncryptionSet.Identity.Apply(identity =\u003e identity.PrincipalId),\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/authorization\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/compute\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/keyvault\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := core.GetClientConfig(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleKeyVault, err := keyvault.NewKeyVault(ctx, \"example\", \u0026keyvault.KeyVaultArgs{\n\t\t\tName:                     pulumi.String(\"des-example-keyvault\"),\n\t\t\tLocation:                 example.Location,\n\t\t\tResourceGroupName:        example.Name,\n\t\t\tTenantId:                 pulumi.String(current.TenantId),\n\t\t\tSkuName:                  pulumi.String(\"premium\"),\n\t\t\tEnabledForDiskEncryption: pulumi.Bool(true),\n\t\t\tPurgeProtectionEnabled:   pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample_user, err := keyvault.NewAccessPolicy(ctx, \"example-user\", \u0026keyvault.AccessPolicyArgs{\n\t\t\tKeyVaultId: exampleKeyVault.ID(),\n\t\t\tTenantId:   pulumi.String(current.TenantId),\n\t\t\tObjectId:   pulumi.String(current.ObjectId),\n\t\t\tKeyPermissions: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"Create\"),\n\t\t\t\tpulumi.String(\"Delete\"),\n\t\t\t\tpulumi.String(\"Get\"),\n\t\t\t\tpulumi.String(\"Purge\"),\n\t\t\t\tpulumi.String(\"Recover\"),\n\t\t\t\tpulumi.String(\"Update\"),\n\t\t\t\tpulumi.String(\"List\"),\n\t\t\t\tpulumi.String(\"Decrypt\"),\n\t\t\t\tpulumi.String(\"Sign\"),\n\t\t\t\tpulumi.String(\"GetRotationPolicy\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleKey, err := keyvault.NewKey(ctx, \"example\", \u0026keyvault.KeyArgs{\n\t\t\tName:       pulumi.String(\"des-example-key\"),\n\t\t\tKeyVaultId: exampleKeyVault.ID(),\n\t\t\tKeyType:    pulumi.String(\"RSA\"),\n\t\t\tKeySize:    pulumi.Int(2048),\n\t\t\tKeyOpts: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"decrypt\"),\n\t\t\t\tpulumi.String(\"encrypt\"),\n\t\t\t\tpulumi.String(\"sign\"),\n\t\t\t\tpulumi.String(\"unwrapKey\"),\n\t\t\t\tpulumi.String(\"verify\"),\n\t\t\t\tpulumi.String(\"wrapKey\"),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texample_user,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleDiskEncryptionSet, err := compute.NewDiskEncryptionSet(ctx, \"example\", \u0026compute.DiskEncryptionSetArgs{\n\t\t\tName:              pulumi.String(\"des\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tKeyVaultKeyId:     exampleKey.ID(),\n\t\t\tIdentity: \u0026compute.DiskEncryptionSetIdentityArgs{\n\t\t\t\tType: pulumi.String(\"SystemAssigned\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = keyvault.NewAccessPolicy(ctx, \"example-disk\", \u0026keyvault.AccessPolicyArgs{\n\t\t\tKeyVaultId: exampleKeyVault.ID(),\n\t\t\tTenantId: pulumi.String(exampleDiskEncryptionSet.Identity.ApplyT(func(identity compute.DiskEncryptionSetIdentity) (*string, error) {\n\t\t\t\treturn \u0026identity.TenantId, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tObjectId: pulumi.String(exampleDiskEncryptionSet.Identity.ApplyT(func(identity compute.DiskEncryptionSetIdentity) (*string, error) {\n\t\t\t\treturn \u0026identity.PrincipalId, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tKeyPermissions: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"Create\"),\n\t\t\t\tpulumi.String(\"Delete\"),\n\t\t\t\tpulumi.String(\"Get\"),\n\t\t\t\tpulumi.String(\"Purge\"),\n\t\t\t\tpulumi.String(\"Recover\"),\n\t\t\t\tpulumi.String(\"Update\"),\n\t\t\t\tpulumi.String(\"List\"),\n\t\t\t\tpulumi.String(\"Decrypt\"),\n\t\t\t\tpulumi.String(\"Sign\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = authorization.NewAssignment(ctx, \"example-disk\", \u0026authorization.AssignmentArgs{\n\t\t\tScope:              exampleKeyVault.ID(),\n\t\t\tRoleDefinitionName: pulumi.String(\"Key Vault Crypto Service Encryption User\"),\n\t\t\tPrincipalId: pulumi.String(exampleDiskEncryptionSet.Identity.ApplyT(func(identity compute.DiskEncryptionSetIdentity) (*string, error) {\n\t\t\t\treturn \u0026identity.PrincipalId, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.keyvault.KeyVault;\nimport com.pulumi.azure.keyvault.KeyVaultArgs;\nimport com.pulumi.azure.keyvault.AccessPolicy;\nimport com.pulumi.azure.keyvault.AccessPolicyArgs;\nimport com.pulumi.azure.keyvault.Key;\nimport com.pulumi.azure.keyvault.KeyArgs;\nimport com.pulumi.azure.compute.DiskEncryptionSet;\nimport com.pulumi.azure.compute.DiskEncryptionSetArgs;\nimport com.pulumi.azure.compute.inputs.DiskEncryptionSetIdentityArgs;\nimport com.pulumi.azure.authorization.Assignment;\nimport com.pulumi.azure.authorization.AssignmentArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var current = CoreFunctions.getClientConfig(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleKeyVault = new KeyVault(\"exampleKeyVault\", KeyVaultArgs.builder()\n            .name(\"des-example-keyvault\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .tenantId(current.tenantId())\n            .skuName(\"premium\")\n            .enabledForDiskEncryption(true)\n            .purgeProtectionEnabled(true)\n            .build());\n\n        var example_user = new AccessPolicy(\"example-user\", AccessPolicyArgs.builder()\n            .keyVaultId(exampleKeyVault.id())\n            .tenantId(current.tenantId())\n            .objectId(current.objectId())\n            .keyPermissions(            \n                \"Create\",\n                \"Delete\",\n                \"Get\",\n                \"Purge\",\n                \"Recover\",\n                \"Update\",\n                \"List\",\n                \"Decrypt\",\n                \"Sign\",\n                \"GetRotationPolicy\")\n            .build());\n\n        var exampleKey = new Key(\"exampleKey\", KeyArgs.builder()\n            .name(\"des-example-key\")\n            .keyVaultId(exampleKeyVault.id())\n            .keyType(\"RSA\")\n            .keySize(2048)\n            .keyOpts(            \n                \"decrypt\",\n                \"encrypt\",\n                \"sign\",\n                \"unwrapKey\",\n                \"verify\",\n                \"wrapKey\")\n            .build(), CustomResourceOptions.builder()\n                .dependsOn(example_user)\n                .build());\n\n        var exampleDiskEncryptionSet = new DiskEncryptionSet(\"exampleDiskEncryptionSet\", DiskEncryptionSetArgs.builder()\n            .name(\"des\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .keyVaultKeyId(exampleKey.id())\n            .identity(DiskEncryptionSetIdentityArgs.builder()\n                .type(\"SystemAssigned\")\n                .build())\n            .build());\n\n        var example_disk = new AccessPolicy(\"example-disk\", AccessPolicyArgs.builder()\n            .keyVaultId(exampleKeyVault.id())\n            .tenantId(exampleDiskEncryptionSet.identity().applyValue(_identity -\u003e _identity.tenantId()))\n            .objectId(exampleDiskEncryptionSet.identity().applyValue(_identity -\u003e _identity.principalId()))\n            .keyPermissions(            \n                \"Create\",\n                \"Delete\",\n                \"Get\",\n                \"Purge\",\n                \"Recover\",\n                \"Update\",\n                \"List\",\n                \"Decrypt\",\n                \"Sign\")\n            .build());\n\n        var example_diskAssignment = new Assignment(\"example-diskAssignment\", AssignmentArgs.builder()\n            .scope(exampleKeyVault.id())\n            .roleDefinitionName(\"Key Vault Crypto Service Encryption User\")\n            .principalId(exampleDiskEncryptionSet.identity().applyValue(_identity -\u003e _identity.principalId()))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleKeyVault:\n    type: azure:keyvault:KeyVault\n    name: example\n    properties:\n      name: des-example-keyvault\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      tenantId: ${current.tenantId}\n      skuName: premium\n      enabledForDiskEncryption: true\n      purgeProtectionEnabled: true\n  exampleKey:\n    type: azure:keyvault:Key\n    name: example\n    properties:\n      name: des-example-key\n      keyVaultId: ${exampleKeyVault.id}\n      keyType: RSA\n      keySize: 2048\n      keyOpts:\n        - decrypt\n        - encrypt\n        - sign\n        - unwrapKey\n        - verify\n        - wrapKey\n    options:\n      dependsOn:\n        - ${[\"example-user\"]}\n  exampleDiskEncryptionSet:\n    type: azure:compute:DiskEncryptionSet\n    name: example\n    properties:\n      name: des\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      keyVaultKeyId: ${exampleKey.id}\n      identity:\n        type: SystemAssigned\n  example-disk:\n    type: azure:keyvault:AccessPolicy\n    properties:\n      keyVaultId: ${exampleKeyVault.id}\n      tenantId: ${exampleDiskEncryptionSet.identity.tenantId}\n      objectId: ${exampleDiskEncryptionSet.identity.principalId}\n      keyPermissions:\n        - Create\n        - Delete\n        - Get\n        - Purge\n        - Recover\n        - Update\n        - List\n        - Decrypt\n        - Sign\n  example-user:\n    type: azure:keyvault:AccessPolicy\n    properties:\n      keyVaultId: ${exampleKeyVault.id}\n      tenantId: ${current.tenantId}\n      objectId: ${current.objectId}\n      keyPermissions:\n        - Create\n        - Delete\n        - Get\n        - Purge\n        - Recover\n        - Update\n        - List\n        - Decrypt\n        - Sign\n        - GetRotationPolicy\n  example-diskAssignment:\n    type: azure:authorization:Assignment\n    name: example-disk\n    properties:\n      scope: ${exampleKeyVault.id}\n      roleDefinitionName: Key Vault Crypto Service Encryption User\n      principalId: ${exampleDiskEncryptionSet.identity.principalId}\nvariables:\n  current:\n    fn::invoke:\n      function: azure:core:getClientConfig\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\n### With Automatic Key Rotation Enabled\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst current = azure.core.getClientConfig({});\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleKeyVault = new azure.keyvault.KeyVault(\"example\", {\n    name: \"des-example-keyvault\",\n    location: example.location,\n    resourceGroupName: example.name,\n    tenantId: current.then(current =\u003e current.tenantId),\n    skuName: \"premium\",\n    enabledForDiskEncryption: true,\n    purgeProtectionEnabled: true,\n});\nconst example_user = new azure.keyvault.AccessPolicy(\"example-user\", {\n    keyVaultId: exampleKeyVault.id,\n    tenantId: current.then(current =\u003e current.tenantId),\n    objectId: current.then(current =\u003e current.objectId),\n    keyPermissions: [\n        \"Create\",\n        \"Delete\",\n        \"Get\",\n        \"Purge\",\n        \"Recover\",\n        \"Update\",\n        \"List\",\n        \"Decrypt\",\n        \"Sign\",\n        \"GetRotationPolicy\",\n    ],\n});\nconst exampleKey = new azure.keyvault.Key(\"example\", {\n    name: \"des-example-key\",\n    keyVaultId: exampleKeyVault.id,\n    keyType: \"RSA\",\n    keySize: 2048,\n    keyOpts: [\n        \"decrypt\",\n        \"encrypt\",\n        \"sign\",\n        \"unwrapKey\",\n        \"verify\",\n        \"wrapKey\",\n    ],\n}, {\n    dependsOn: [example_user],\n});\nconst exampleDiskEncryptionSet = new azure.compute.DiskEncryptionSet(\"example\", {\n    name: \"des\",\n    resourceGroupName: example.name,\n    location: example.location,\n    keyVaultKeyId: exampleKey.versionlessId,\n    autoKeyRotationEnabled: true,\n    identity: {\n        type: \"SystemAssigned\",\n    },\n});\nconst example_disk = new azure.keyvault.AccessPolicy(\"example-disk\", {\n    keyVaultId: exampleKeyVault.id,\n    tenantId: exampleDiskEncryptionSet.identity.apply(identity =\u003e identity.tenantId),\n    objectId: exampleDiskEncryptionSet.identity.apply(identity =\u003e identity.principalId),\n    keyPermissions: [\n        \"Create\",\n        \"Delete\",\n        \"Get\",\n        \"Purge\",\n        \"Recover\",\n        \"Update\",\n        \"List\",\n        \"Decrypt\",\n        \"Sign\",\n    ],\n});\nconst example_diskAssignment = new azure.authorization.Assignment(\"example-disk\", {\n    scope: exampleKeyVault.id,\n    roleDefinitionName: \"Key Vault Crypto Service Encryption User\",\n    principalId: exampleDiskEncryptionSet.identity.apply(identity =\u003e identity.principalId),\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\ncurrent = azure.core.get_client_config()\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_key_vault = azure.keyvault.KeyVault(\"example\",\n    name=\"des-example-keyvault\",\n    location=example.location,\n    resource_group_name=example.name,\n    tenant_id=current.tenant_id,\n    sku_name=\"premium\",\n    enabled_for_disk_encryption=True,\n    purge_protection_enabled=True)\nexample_user = azure.keyvault.AccessPolicy(\"example-user\",\n    key_vault_id=example_key_vault.id,\n    tenant_id=current.tenant_id,\n    object_id=current.object_id,\n    key_permissions=[\n        \"Create\",\n        \"Delete\",\n        \"Get\",\n        \"Purge\",\n        \"Recover\",\n        \"Update\",\n        \"List\",\n        \"Decrypt\",\n        \"Sign\",\n        \"GetRotationPolicy\",\n    ])\nexample_key = azure.keyvault.Key(\"example\",\n    name=\"des-example-key\",\n    key_vault_id=example_key_vault.id,\n    key_type=\"RSA\",\n    key_size=2048,\n    key_opts=[\n        \"decrypt\",\n        \"encrypt\",\n        \"sign\",\n        \"unwrapKey\",\n        \"verify\",\n        \"wrapKey\",\n    ],\n    opts = pulumi.ResourceOptions(depends_on=[example_user]))\nexample_disk_encryption_set = azure.compute.DiskEncryptionSet(\"example\",\n    name=\"des\",\n    resource_group_name=example.name,\n    location=example.location,\n    key_vault_key_id=example_key.versionless_id,\n    auto_key_rotation_enabled=True,\n    identity={\n        \"type\": \"SystemAssigned\",\n    })\nexample_disk = azure.keyvault.AccessPolicy(\"example-disk\",\n    key_vault_id=example_key_vault.id,\n    tenant_id=example_disk_encryption_set.identity.tenant_id,\n    object_id=example_disk_encryption_set.identity.principal_id,\n    key_permissions=[\n        \"Create\",\n        \"Delete\",\n        \"Get\",\n        \"Purge\",\n        \"Recover\",\n        \"Update\",\n        \"List\",\n        \"Decrypt\",\n        \"Sign\",\n    ])\nexample_disk_assignment = azure.authorization.Assignment(\"example-disk\",\n    scope=example_key_vault.id,\n    role_definition_name=\"Key Vault Crypto Service Encryption User\",\n    principal_id=example_disk_encryption_set.identity.principal_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var current = Azure.Core.GetClientConfig.Invoke();\n\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleKeyVault = new Azure.KeyVault.KeyVault(\"example\", new()\n    {\n        Name = \"des-example-keyvault\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        TenantId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.TenantId),\n        SkuName = \"premium\",\n        EnabledForDiskEncryption = true,\n        PurgeProtectionEnabled = true,\n    });\n\n    var example_user = new Azure.KeyVault.AccessPolicy(\"example-user\", new()\n    {\n        KeyVaultId = exampleKeyVault.Id,\n        TenantId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.TenantId),\n        ObjectId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.ObjectId),\n        KeyPermissions = new[]\n        {\n            \"Create\",\n            \"Delete\",\n            \"Get\",\n            \"Purge\",\n            \"Recover\",\n            \"Update\",\n            \"List\",\n            \"Decrypt\",\n            \"Sign\",\n            \"GetRotationPolicy\",\n        },\n    });\n\n    var exampleKey = new Azure.KeyVault.Key(\"example\", new()\n    {\n        Name = \"des-example-key\",\n        KeyVaultId = exampleKeyVault.Id,\n        KeyType = \"RSA\",\n        KeySize = 2048,\n        KeyOpts = new[]\n        {\n            \"decrypt\",\n            \"encrypt\",\n            \"sign\",\n            \"unwrapKey\",\n            \"verify\",\n            \"wrapKey\",\n        },\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            example_user,\n        },\n    });\n\n    var exampleDiskEncryptionSet = new Azure.Compute.DiskEncryptionSet(\"example\", new()\n    {\n        Name = \"des\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        KeyVaultKeyId = exampleKey.VersionlessId,\n        AutoKeyRotationEnabled = true,\n        Identity = new Azure.Compute.Inputs.DiskEncryptionSetIdentityArgs\n        {\n            Type = \"SystemAssigned\",\n        },\n    });\n\n    var example_disk = new Azure.KeyVault.AccessPolicy(\"example-disk\", new()\n    {\n        KeyVaultId = exampleKeyVault.Id,\n        TenantId = exampleDiskEncryptionSet.Identity.Apply(identity =\u003e identity.TenantId),\n        ObjectId = exampleDiskEncryptionSet.Identity.Apply(identity =\u003e identity.PrincipalId),\n        KeyPermissions = new[]\n        {\n            \"Create\",\n            \"Delete\",\n            \"Get\",\n            \"Purge\",\n            \"Recover\",\n            \"Update\",\n            \"List\",\n            \"Decrypt\",\n            \"Sign\",\n        },\n    });\n\n    var example_diskAssignment = new Azure.Authorization.Assignment(\"example-disk\", new()\n    {\n        Scope = exampleKeyVault.Id,\n        RoleDefinitionName = \"Key Vault Crypto Service Encryption User\",\n        PrincipalId = exampleDiskEncryptionSet.Identity.Apply(identity =\u003e identity.PrincipalId),\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/authorization\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/compute\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/keyvault\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := core.GetClientConfig(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleKeyVault, err := keyvault.NewKeyVault(ctx, \"example\", \u0026keyvault.KeyVaultArgs{\n\t\t\tName:                     pulumi.String(\"des-example-keyvault\"),\n\t\t\tLocation:                 example.Location,\n\t\t\tResourceGroupName:        example.Name,\n\t\t\tTenantId:                 pulumi.String(current.TenantId),\n\t\t\tSkuName:                  pulumi.String(\"premium\"),\n\t\t\tEnabledForDiskEncryption: pulumi.Bool(true),\n\t\t\tPurgeProtectionEnabled:   pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample_user, err := keyvault.NewAccessPolicy(ctx, \"example-user\", \u0026keyvault.AccessPolicyArgs{\n\t\t\tKeyVaultId: exampleKeyVault.ID(),\n\t\t\tTenantId:   pulumi.String(current.TenantId),\n\t\t\tObjectId:   pulumi.String(current.ObjectId),\n\t\t\tKeyPermissions: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"Create\"),\n\t\t\t\tpulumi.String(\"Delete\"),\n\t\t\t\tpulumi.String(\"Get\"),\n\t\t\t\tpulumi.String(\"Purge\"),\n\t\t\t\tpulumi.String(\"Recover\"),\n\t\t\t\tpulumi.String(\"Update\"),\n\t\t\t\tpulumi.String(\"List\"),\n\t\t\t\tpulumi.String(\"Decrypt\"),\n\t\t\t\tpulumi.String(\"Sign\"),\n\t\t\t\tpulumi.String(\"GetRotationPolicy\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleKey, err := keyvault.NewKey(ctx, \"example\", \u0026keyvault.KeyArgs{\n\t\t\tName:       pulumi.String(\"des-example-key\"),\n\t\t\tKeyVaultId: exampleKeyVault.ID(),\n\t\t\tKeyType:    pulumi.String(\"RSA\"),\n\t\t\tKeySize:    pulumi.Int(2048),\n\t\t\tKeyOpts: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"decrypt\"),\n\t\t\t\tpulumi.String(\"encrypt\"),\n\t\t\t\tpulumi.String(\"sign\"),\n\t\t\t\tpulumi.String(\"unwrapKey\"),\n\t\t\t\tpulumi.String(\"verify\"),\n\t\t\t\tpulumi.String(\"wrapKey\"),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texample_user,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleDiskEncryptionSet, err := compute.NewDiskEncryptionSet(ctx, \"example\", \u0026compute.DiskEncryptionSetArgs{\n\t\t\tName:                   pulumi.String(\"des\"),\n\t\t\tResourceGroupName:      example.Name,\n\t\t\tLocation:               example.Location,\n\t\t\tKeyVaultKeyId:          exampleKey.VersionlessId,\n\t\t\tAutoKeyRotationEnabled: pulumi.Bool(true),\n\t\t\tIdentity: \u0026compute.DiskEncryptionSetIdentityArgs{\n\t\t\t\tType: pulumi.String(\"SystemAssigned\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = keyvault.NewAccessPolicy(ctx, \"example-disk\", \u0026keyvault.AccessPolicyArgs{\n\t\t\tKeyVaultId: exampleKeyVault.ID(),\n\t\t\tTenantId: pulumi.String(exampleDiskEncryptionSet.Identity.ApplyT(func(identity compute.DiskEncryptionSetIdentity) (*string, error) {\n\t\t\t\treturn \u0026identity.TenantId, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tObjectId: pulumi.String(exampleDiskEncryptionSet.Identity.ApplyT(func(identity compute.DiskEncryptionSetIdentity) (*string, error) {\n\t\t\t\treturn \u0026identity.PrincipalId, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tKeyPermissions: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"Create\"),\n\t\t\t\tpulumi.String(\"Delete\"),\n\t\t\t\tpulumi.String(\"Get\"),\n\t\t\t\tpulumi.String(\"Purge\"),\n\t\t\t\tpulumi.String(\"Recover\"),\n\t\t\t\tpulumi.String(\"Update\"),\n\t\t\t\tpulumi.String(\"List\"),\n\t\t\t\tpulumi.String(\"Decrypt\"),\n\t\t\t\tpulumi.String(\"Sign\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = authorization.NewAssignment(ctx, \"example-disk\", \u0026authorization.AssignmentArgs{\n\t\t\tScope:              exampleKeyVault.ID(),\n\t\t\tRoleDefinitionName: pulumi.String(\"Key Vault Crypto Service Encryption User\"),\n\t\t\tPrincipalId: pulumi.String(exampleDiskEncryptionSet.Identity.ApplyT(func(identity compute.DiskEncryptionSetIdentity) (*string, error) {\n\t\t\t\treturn \u0026identity.PrincipalId, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.keyvault.KeyVault;\nimport com.pulumi.azure.keyvault.KeyVaultArgs;\nimport com.pulumi.azure.keyvault.AccessPolicy;\nimport com.pulumi.azure.keyvault.AccessPolicyArgs;\nimport com.pulumi.azure.keyvault.Key;\nimport com.pulumi.azure.keyvault.KeyArgs;\nimport com.pulumi.azure.compute.DiskEncryptionSet;\nimport com.pulumi.azure.compute.DiskEncryptionSetArgs;\nimport com.pulumi.azure.compute.inputs.DiskEncryptionSetIdentityArgs;\nimport com.pulumi.azure.authorization.Assignment;\nimport com.pulumi.azure.authorization.AssignmentArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var current = CoreFunctions.getClientConfig(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleKeyVault = new KeyVault(\"exampleKeyVault\", KeyVaultArgs.builder()\n            .name(\"des-example-keyvault\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .tenantId(current.tenantId())\n            .skuName(\"premium\")\n            .enabledForDiskEncryption(true)\n            .purgeProtectionEnabled(true)\n            .build());\n\n        var example_user = new AccessPolicy(\"example-user\", AccessPolicyArgs.builder()\n            .keyVaultId(exampleKeyVault.id())\n            .tenantId(current.tenantId())\n            .objectId(current.objectId())\n            .keyPermissions(            \n                \"Create\",\n                \"Delete\",\n                \"Get\",\n                \"Purge\",\n                \"Recover\",\n                \"Update\",\n                \"List\",\n                \"Decrypt\",\n                \"Sign\",\n                \"GetRotationPolicy\")\n            .build());\n\n        var exampleKey = new Key(\"exampleKey\", KeyArgs.builder()\n            .name(\"des-example-key\")\n            .keyVaultId(exampleKeyVault.id())\n            .keyType(\"RSA\")\n            .keySize(2048)\n            .keyOpts(            \n                \"decrypt\",\n                \"encrypt\",\n                \"sign\",\n                \"unwrapKey\",\n                \"verify\",\n                \"wrapKey\")\n            .build(), CustomResourceOptions.builder()\n                .dependsOn(example_user)\n                .build());\n\n        var exampleDiskEncryptionSet = new DiskEncryptionSet(\"exampleDiskEncryptionSet\", DiskEncryptionSetArgs.builder()\n            .name(\"des\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .keyVaultKeyId(exampleKey.versionlessId())\n            .autoKeyRotationEnabled(true)\n            .identity(DiskEncryptionSetIdentityArgs.builder()\n                .type(\"SystemAssigned\")\n                .build())\n            .build());\n\n        var example_disk = new AccessPolicy(\"example-disk\", AccessPolicyArgs.builder()\n            .keyVaultId(exampleKeyVault.id())\n            .tenantId(exampleDiskEncryptionSet.identity().applyValue(_identity -\u003e _identity.tenantId()))\n            .objectId(exampleDiskEncryptionSet.identity().applyValue(_identity -\u003e _identity.principalId()))\n            .keyPermissions(            \n                \"Create\",\n                \"Delete\",\n                \"Get\",\n                \"Purge\",\n                \"Recover\",\n                \"Update\",\n                \"List\",\n                \"Decrypt\",\n                \"Sign\")\n            .build());\n\n        var example_diskAssignment = new Assignment(\"example-diskAssignment\", AssignmentArgs.builder()\n            .scope(exampleKeyVault.id())\n            .roleDefinitionName(\"Key Vault Crypto Service Encryption User\")\n            .principalId(exampleDiskEncryptionSet.identity().applyValue(_identity -\u003e _identity.principalId()))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleKeyVault:\n    type: azure:keyvault:KeyVault\n    name: example\n    properties:\n      name: des-example-keyvault\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      tenantId: ${current.tenantId}\n      skuName: premium\n      enabledForDiskEncryption: true\n      purgeProtectionEnabled: true\n  exampleKey:\n    type: azure:keyvault:Key\n    name: example\n    properties:\n      name: des-example-key\n      keyVaultId: ${exampleKeyVault.id}\n      keyType: RSA\n      keySize: 2048\n      keyOpts:\n        - decrypt\n        - encrypt\n        - sign\n        - unwrapKey\n        - verify\n        - wrapKey\n    options:\n      dependsOn:\n        - ${[\"example-user\"]}\n  exampleDiskEncryptionSet:\n    type: azure:compute:DiskEncryptionSet\n    name: example\n    properties:\n      name: des\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      keyVaultKeyId: ${exampleKey.versionlessId}\n      autoKeyRotationEnabled: true\n      identity:\n        type: SystemAssigned\n  example-disk:\n    type: azure:keyvault:AccessPolicy\n    properties:\n      keyVaultId: ${exampleKeyVault.id}\n      tenantId: ${exampleDiskEncryptionSet.identity.tenantId}\n      objectId: ${exampleDiskEncryptionSet.identity.principalId}\n      keyPermissions:\n        - Create\n        - Delete\n        - Get\n        - Purge\n        - Recover\n        - Update\n        - List\n        - Decrypt\n        - Sign\n  example-user:\n    type: azure:keyvault:AccessPolicy\n    properties:\n      keyVaultId: ${exampleKeyVault.id}\n      tenantId: ${current.tenantId}\n      objectId: ${current.objectId}\n      keyPermissions:\n        - Create\n        - Delete\n        - Get\n        - Purge\n        - Recover\n        - Update\n        - List\n        - Decrypt\n        - Sign\n        - GetRotationPolicy\n  example-diskAssignment:\n    type: azure:authorization:Assignment\n    name: example-disk\n    properties:\n      scope: ${exampleKeyVault.id}\n      roleDefinitionName: Key Vault Crypto Service Encryption User\n      principalId: ${exampleDiskEncryptionSet.identity.principalId}\nvariables:\n  current:\n    fn::invoke:\n      function: azure:core:getClientConfig\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Compute` - 2022-03-02\n\n## Import\n\nDisk Encryption Sets can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:compute/diskEncryptionSet:DiskEncryptionSet example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Compute/diskEncryptionSets/encryptionSet1\n```\n\n","properties":{"autoKeyRotationEnabled":{"type":"boolean","description":"Boolean flag to specify whether Azure Disk Encryption Set automatically rotates the encryption Key to latest version or not. Possible values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** When \u003cspan pulumi-lang-nodejs=\"`autoKeyRotationEnabled`\" pulumi-lang-dotnet=\"`AutoKeyRotationEnabled`\" pulumi-lang-go=\"`autoKeyRotationEnabled`\" pulumi-lang-python=\"`auto_key_rotation_enabled`\" pulumi-lang-yaml=\"`autoKeyRotationEnabled`\" pulumi-lang-java=\"`autoKeyRotationEnabled`\"\u003e`auto_key_rotation_enabled`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e the \u003cspan pulumi-lang-nodejs=\"`keyVaultKeyId`\" pulumi-lang-dotnet=\"`KeyVaultKeyId`\" pulumi-lang-go=\"`keyVaultKeyId`\" pulumi-lang-python=\"`key_vault_key_id`\" pulumi-lang-yaml=\"`keyVaultKeyId`\" pulumi-lang-java=\"`keyVaultKeyId`\"\u003e`key_vault_key_id`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`managedHsmKeyId`\" pulumi-lang-dotnet=\"`ManagedHsmKeyId`\" pulumi-lang-go=\"`managedHsmKeyId`\" pulumi-lang-python=\"`managed_hsm_key_id`\" pulumi-lang-yaml=\"`managedHsmKeyId`\" pulumi-lang-java=\"`managedHsmKeyId`\"\u003e`managed_hsm_key_id`\u003c/span\u003e must use the \u003cspan pulumi-lang-nodejs=\"`versionlessId`\" pulumi-lang-dotnet=\"`VersionlessId`\" pulumi-lang-go=\"`versionlessId`\" pulumi-lang-python=\"`versionless_id`\" pulumi-lang-yaml=\"`versionlessId`\" pulumi-lang-java=\"`versionlessId`\"\u003e`versionless_id`\u003c/span\u003e.\n\n\u003e **Note:** To validate which Key Vault Key version is currently being used by the service it is recommended that you use the \u003cspan pulumi-lang-nodejs=\"`azure.compute.DiskEncryptionSet`\" pulumi-lang-dotnet=\"`azure.compute.DiskEncryptionSet`\" pulumi-lang-go=\"`compute.DiskEncryptionSet`\" pulumi-lang-python=\"`compute.DiskEncryptionSet`\" pulumi-lang-yaml=\"`azure.compute.DiskEncryptionSet`\" pulumi-lang-java=\"`azure.compute.DiskEncryptionSet`\"\u003e`azure.compute.DiskEncryptionSet`\u003c/span\u003e data source or run a `terraform refresh` command and check the value of the exported \u003cspan pulumi-lang-nodejs=\"`keyVaultKeyUrl`\" pulumi-lang-dotnet=\"`KeyVaultKeyUrl`\" pulumi-lang-go=\"`keyVaultKeyUrl`\" pulumi-lang-python=\"`key_vault_key_url`\" pulumi-lang-yaml=\"`keyVaultKeyUrl`\" pulumi-lang-java=\"`keyVaultKeyUrl`\"\u003e`key_vault_key_url`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`managedHsmKeyId`\" pulumi-lang-dotnet=\"`ManagedHsmKeyId`\" pulumi-lang-go=\"`managedHsmKeyId`\" pulumi-lang-python=\"`managed_hsm_key_id`\" pulumi-lang-yaml=\"`managedHsmKeyId`\" pulumi-lang-java=\"`managedHsmKeyId`\"\u003e`managed_hsm_key_id`\u003c/span\u003e field.\n\n\u003e **Note:** It may take between 10 to 20 minutes for the service to update the Key Vault Key URL once the keys have been rotated.\n"},"encryptionType":{"type":"string","description":"The type of key used to encrypt the data of the disk. Possible values are `EncryptionAtRestWithCustomerKey`, `EncryptionAtRestWithPlatformAndCustomerKeys` and `ConfidentialVmEncryptedWithCustomerKey`. Defaults to `EncryptionAtRestWithCustomerKey`. Changing this forces a new resource to be created.\n"},"federatedClientId":{"type":"string","description":"Multi-tenant application client id to access key vault in a different tenant.\n"},"identity":{"$ref":"#/types/azure:compute/DiskEncryptionSetIdentity:DiskEncryptionSetIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"keyVaultKeyId":{"type":"string","description":"Specifies the URL to a Key Vault Key (either from a Key Vault Key, or the Key URL for the Key Vault Secret). Exactly one of \u003cspan pulumi-lang-nodejs=\"`managedHsmKeyId`\" pulumi-lang-dotnet=\"`ManagedHsmKeyId`\" pulumi-lang-go=\"`managedHsmKeyId`\" pulumi-lang-python=\"`managed_hsm_key_id`\" pulumi-lang-yaml=\"`managedHsmKeyId`\" pulumi-lang-java=\"`managedHsmKeyId`\"\u003e`managed_hsm_key_id`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`keyVaultKeyId`\" pulumi-lang-dotnet=\"`KeyVaultKeyId`\" pulumi-lang-go=\"`keyVaultKeyId`\" pulumi-lang-python=\"`key_vault_key_id`\" pulumi-lang-yaml=\"`keyVaultKeyId`\" pulumi-lang-java=\"`keyVaultKeyId`\"\u003e`key_vault_key_id`\u003c/span\u003e must be specified.\n\n\u003e **Note:** Access to the KeyVault must be granted for this Disk Encryption Set, if you want to further use this Disk Encryption Set in a Managed Disk or Virtual Machine, or Virtual Machine Scale Set. For instructions, please refer to the doc of [Server side encryption of Azure managed disks](https://docs.microsoft.com/azure/virtual-machines/linux/disk-encryption).\n\n\u003e **Note:** A KeyVault or Managed HSM using\u003cspan pulumi-lang-nodejs=\" enableRbacAuthorization \" pulumi-lang-dotnet=\" EnableRbacAuthorization \" pulumi-lang-go=\" enableRbacAuthorization \" pulumi-lang-python=\" enable_rbac_authorization \" pulumi-lang-yaml=\" enableRbacAuthorization \" pulumi-lang-java=\" enableRbacAuthorization \"\u003e enable_rbac_authorization \u003c/span\u003erequires to use \u003cspan pulumi-lang-nodejs=\"`azure.authorization.Assignment`\" pulumi-lang-dotnet=\"`azure.authorization.Assignment`\" pulumi-lang-go=\"`authorization.Assignment`\" pulumi-lang-python=\"`authorization.Assignment`\" pulumi-lang-yaml=\"`azure.authorization.Assignment`\" pulumi-lang-java=\"`azure.authorization.Assignment`\"\u003e`azure.authorization.Assignment`\u003c/span\u003e to assign the role `Key Vault Crypto Service Encryption User` to this Disk Encryption Set.\nIn this case, \u003cspan pulumi-lang-nodejs=\"`azure.keyvault.AccessPolicy`\" pulumi-lang-dotnet=\"`azure.keyvault.AccessPolicy`\" pulumi-lang-go=\"`keyvault.AccessPolicy`\" pulumi-lang-python=\"`keyvault.AccessPolicy`\" pulumi-lang-yaml=\"`azure.keyvault.AccessPolicy`\" pulumi-lang-java=\"`azure.keyvault.AccessPolicy`\"\u003e`azure.keyvault.AccessPolicy`\u003c/span\u003e is not needed.\n"},"keyVaultKeyUrl":{"type":"string","description":"The URL for the Key Vault Key or Key Vault Secret that is currently being used by the service.\n"},"location":{"type":"string","description":"Specifies the Azure Region where the Disk Encryption Set exists. Changing this forces a new resource to be created.\n"},"managedHsmKeyId":{"type":"string","description":"Key ID of a key in a managed HSM. Exactly one of \u003cspan pulumi-lang-nodejs=\"`managedHsmKeyId`\" pulumi-lang-dotnet=\"`ManagedHsmKeyId`\" pulumi-lang-go=\"`managedHsmKeyId`\" pulumi-lang-python=\"`managed_hsm_key_id`\" pulumi-lang-yaml=\"`managedHsmKeyId`\" pulumi-lang-java=\"`managedHsmKeyId`\"\u003e`managed_hsm_key_id`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`keyVaultKeyId`\" pulumi-lang-dotnet=\"`KeyVaultKeyId`\" pulumi-lang-go=\"`keyVaultKeyId`\" pulumi-lang-python=\"`key_vault_key_id`\" pulumi-lang-yaml=\"`keyVaultKeyId`\" pulumi-lang-java=\"`keyVaultKeyId`\"\u003e`key_vault_key_id`\u003c/span\u003e must be specified.\n"},"name":{"type":"string","description":"The name of the Disk Encryption Set. Changing this forces a new resource to be created.\n"},"resourceGroupName":{"type":"string","description":"Specifies the name of the Resource Group where the Disk Encryption Set should exist. Changing this forces a new resource to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the Disk Encryption Set.\n"}},"required":["identity","keyVaultKeyUrl","location","name","resourceGroupName"],"inputProperties":{"autoKeyRotationEnabled":{"type":"boolean","description":"Boolean flag to specify whether Azure Disk Encryption Set automatically rotates the encryption Key to latest version or not. Possible values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** When \u003cspan pulumi-lang-nodejs=\"`autoKeyRotationEnabled`\" pulumi-lang-dotnet=\"`AutoKeyRotationEnabled`\" pulumi-lang-go=\"`autoKeyRotationEnabled`\" pulumi-lang-python=\"`auto_key_rotation_enabled`\" pulumi-lang-yaml=\"`autoKeyRotationEnabled`\" pulumi-lang-java=\"`autoKeyRotationEnabled`\"\u003e`auto_key_rotation_enabled`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e the \u003cspan pulumi-lang-nodejs=\"`keyVaultKeyId`\" pulumi-lang-dotnet=\"`KeyVaultKeyId`\" pulumi-lang-go=\"`keyVaultKeyId`\" pulumi-lang-python=\"`key_vault_key_id`\" pulumi-lang-yaml=\"`keyVaultKeyId`\" pulumi-lang-java=\"`keyVaultKeyId`\"\u003e`key_vault_key_id`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`managedHsmKeyId`\" pulumi-lang-dotnet=\"`ManagedHsmKeyId`\" pulumi-lang-go=\"`managedHsmKeyId`\" pulumi-lang-python=\"`managed_hsm_key_id`\" pulumi-lang-yaml=\"`managedHsmKeyId`\" pulumi-lang-java=\"`managedHsmKeyId`\"\u003e`managed_hsm_key_id`\u003c/span\u003e must use the \u003cspan pulumi-lang-nodejs=\"`versionlessId`\" pulumi-lang-dotnet=\"`VersionlessId`\" pulumi-lang-go=\"`versionlessId`\" pulumi-lang-python=\"`versionless_id`\" pulumi-lang-yaml=\"`versionlessId`\" pulumi-lang-java=\"`versionlessId`\"\u003e`versionless_id`\u003c/span\u003e.\n\n\u003e **Note:** To validate which Key Vault Key version is currently being used by the service it is recommended that you use the \u003cspan pulumi-lang-nodejs=\"`azure.compute.DiskEncryptionSet`\" pulumi-lang-dotnet=\"`azure.compute.DiskEncryptionSet`\" pulumi-lang-go=\"`compute.DiskEncryptionSet`\" pulumi-lang-python=\"`compute.DiskEncryptionSet`\" pulumi-lang-yaml=\"`azure.compute.DiskEncryptionSet`\" pulumi-lang-java=\"`azure.compute.DiskEncryptionSet`\"\u003e`azure.compute.DiskEncryptionSet`\u003c/span\u003e data source or run a `terraform refresh` command and check the value of the exported \u003cspan pulumi-lang-nodejs=\"`keyVaultKeyUrl`\" pulumi-lang-dotnet=\"`KeyVaultKeyUrl`\" pulumi-lang-go=\"`keyVaultKeyUrl`\" pulumi-lang-python=\"`key_vault_key_url`\" pulumi-lang-yaml=\"`keyVaultKeyUrl`\" pulumi-lang-java=\"`keyVaultKeyUrl`\"\u003e`key_vault_key_url`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`managedHsmKeyId`\" pulumi-lang-dotnet=\"`ManagedHsmKeyId`\" pulumi-lang-go=\"`managedHsmKeyId`\" pulumi-lang-python=\"`managed_hsm_key_id`\" pulumi-lang-yaml=\"`managedHsmKeyId`\" pulumi-lang-java=\"`managedHsmKeyId`\"\u003e`managed_hsm_key_id`\u003c/span\u003e field.\n\n\u003e **Note:** It may take between 10 to 20 minutes for the service to update the Key Vault Key URL once the keys have been rotated.\n"},"encryptionType":{"type":"string","description":"The type of key used to encrypt the data of the disk. Possible values are `EncryptionAtRestWithCustomerKey`, `EncryptionAtRestWithPlatformAndCustomerKeys` and `ConfidentialVmEncryptedWithCustomerKey`. Defaults to `EncryptionAtRestWithCustomerKey`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"federatedClientId":{"type":"string","description":"Multi-tenant application client id to access key vault in a different tenant.\n"},"identity":{"$ref":"#/types/azure:compute/DiskEncryptionSetIdentity:DiskEncryptionSetIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"keyVaultKeyId":{"type":"string","description":"Specifies the URL to a Key Vault Key (either from a Key Vault Key, or the Key URL for the Key Vault Secret). Exactly one of \u003cspan pulumi-lang-nodejs=\"`managedHsmKeyId`\" pulumi-lang-dotnet=\"`ManagedHsmKeyId`\" pulumi-lang-go=\"`managedHsmKeyId`\" pulumi-lang-python=\"`managed_hsm_key_id`\" pulumi-lang-yaml=\"`managedHsmKeyId`\" pulumi-lang-java=\"`managedHsmKeyId`\"\u003e`managed_hsm_key_id`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`keyVaultKeyId`\" pulumi-lang-dotnet=\"`KeyVaultKeyId`\" pulumi-lang-go=\"`keyVaultKeyId`\" pulumi-lang-python=\"`key_vault_key_id`\" pulumi-lang-yaml=\"`keyVaultKeyId`\" pulumi-lang-java=\"`keyVaultKeyId`\"\u003e`key_vault_key_id`\u003c/span\u003e must be specified.\n\n\u003e **Note:** Access to the KeyVault must be granted for this Disk Encryption Set, if you want to further use this Disk Encryption Set in a Managed Disk or Virtual Machine, or Virtual Machine Scale Set. For instructions, please refer to the doc of [Server side encryption of Azure managed disks](https://docs.microsoft.com/azure/virtual-machines/linux/disk-encryption).\n\n\u003e **Note:** A KeyVault or Managed HSM using\u003cspan pulumi-lang-nodejs=\" enableRbacAuthorization \" pulumi-lang-dotnet=\" EnableRbacAuthorization \" pulumi-lang-go=\" enableRbacAuthorization \" pulumi-lang-python=\" enable_rbac_authorization \" pulumi-lang-yaml=\" enableRbacAuthorization \" pulumi-lang-java=\" enableRbacAuthorization \"\u003e enable_rbac_authorization \u003c/span\u003erequires to use \u003cspan pulumi-lang-nodejs=\"`azure.authorization.Assignment`\" pulumi-lang-dotnet=\"`azure.authorization.Assignment`\" pulumi-lang-go=\"`authorization.Assignment`\" pulumi-lang-python=\"`authorization.Assignment`\" pulumi-lang-yaml=\"`azure.authorization.Assignment`\" pulumi-lang-java=\"`azure.authorization.Assignment`\"\u003e`azure.authorization.Assignment`\u003c/span\u003e to assign the role `Key Vault Crypto Service Encryption User` to this Disk Encryption Set.\nIn this case, \u003cspan pulumi-lang-nodejs=\"`azure.keyvault.AccessPolicy`\" pulumi-lang-dotnet=\"`azure.keyvault.AccessPolicy`\" pulumi-lang-go=\"`keyvault.AccessPolicy`\" pulumi-lang-python=\"`keyvault.AccessPolicy`\" pulumi-lang-yaml=\"`azure.keyvault.AccessPolicy`\" pulumi-lang-java=\"`azure.keyvault.AccessPolicy`\"\u003e`azure.keyvault.AccessPolicy`\u003c/span\u003e is not needed.\n"},"location":{"type":"string","description":"Specifies the Azure Region where the Disk Encryption Set exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"managedHsmKeyId":{"type":"string","description":"Key ID of a key in a managed HSM. Exactly one of \u003cspan pulumi-lang-nodejs=\"`managedHsmKeyId`\" pulumi-lang-dotnet=\"`ManagedHsmKeyId`\" pulumi-lang-go=\"`managedHsmKeyId`\" pulumi-lang-python=\"`managed_hsm_key_id`\" pulumi-lang-yaml=\"`managedHsmKeyId`\" pulumi-lang-java=\"`managedHsmKeyId`\"\u003e`managed_hsm_key_id`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`keyVaultKeyId`\" pulumi-lang-dotnet=\"`KeyVaultKeyId`\" pulumi-lang-go=\"`keyVaultKeyId`\" pulumi-lang-python=\"`key_vault_key_id`\" pulumi-lang-yaml=\"`keyVaultKeyId`\" pulumi-lang-java=\"`keyVaultKeyId`\"\u003e`key_vault_key_id`\u003c/span\u003e must be specified.\n"},"name":{"type":"string","description":"The name of the Disk Encryption Set. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"Specifies the name of the Resource Group where the Disk Encryption Set should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the Disk Encryption Set.\n"}},"requiredInputs":["identity","resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering DiskEncryptionSet resources.\n","properties":{"autoKeyRotationEnabled":{"type":"boolean","description":"Boolean flag to specify whether Azure Disk Encryption Set automatically rotates the encryption Key to latest version or not. Possible values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** When \u003cspan pulumi-lang-nodejs=\"`autoKeyRotationEnabled`\" pulumi-lang-dotnet=\"`AutoKeyRotationEnabled`\" pulumi-lang-go=\"`autoKeyRotationEnabled`\" pulumi-lang-python=\"`auto_key_rotation_enabled`\" pulumi-lang-yaml=\"`autoKeyRotationEnabled`\" pulumi-lang-java=\"`autoKeyRotationEnabled`\"\u003e`auto_key_rotation_enabled`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e the \u003cspan pulumi-lang-nodejs=\"`keyVaultKeyId`\" pulumi-lang-dotnet=\"`KeyVaultKeyId`\" pulumi-lang-go=\"`keyVaultKeyId`\" pulumi-lang-python=\"`key_vault_key_id`\" pulumi-lang-yaml=\"`keyVaultKeyId`\" pulumi-lang-java=\"`keyVaultKeyId`\"\u003e`key_vault_key_id`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`managedHsmKeyId`\" pulumi-lang-dotnet=\"`ManagedHsmKeyId`\" pulumi-lang-go=\"`managedHsmKeyId`\" pulumi-lang-python=\"`managed_hsm_key_id`\" pulumi-lang-yaml=\"`managedHsmKeyId`\" pulumi-lang-java=\"`managedHsmKeyId`\"\u003e`managed_hsm_key_id`\u003c/span\u003e must use the \u003cspan pulumi-lang-nodejs=\"`versionlessId`\" pulumi-lang-dotnet=\"`VersionlessId`\" pulumi-lang-go=\"`versionlessId`\" pulumi-lang-python=\"`versionless_id`\" pulumi-lang-yaml=\"`versionlessId`\" pulumi-lang-java=\"`versionlessId`\"\u003e`versionless_id`\u003c/span\u003e.\n\n\u003e **Note:** To validate which Key Vault Key version is currently being used by the service it is recommended that you use the \u003cspan pulumi-lang-nodejs=\"`azure.compute.DiskEncryptionSet`\" pulumi-lang-dotnet=\"`azure.compute.DiskEncryptionSet`\" pulumi-lang-go=\"`compute.DiskEncryptionSet`\" pulumi-lang-python=\"`compute.DiskEncryptionSet`\" pulumi-lang-yaml=\"`azure.compute.DiskEncryptionSet`\" pulumi-lang-java=\"`azure.compute.DiskEncryptionSet`\"\u003e`azure.compute.DiskEncryptionSet`\u003c/span\u003e data source or run a `terraform refresh` command and check the value of the exported \u003cspan pulumi-lang-nodejs=\"`keyVaultKeyUrl`\" pulumi-lang-dotnet=\"`KeyVaultKeyUrl`\" pulumi-lang-go=\"`keyVaultKeyUrl`\" pulumi-lang-python=\"`key_vault_key_url`\" pulumi-lang-yaml=\"`keyVaultKeyUrl`\" pulumi-lang-java=\"`keyVaultKeyUrl`\"\u003e`key_vault_key_url`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`managedHsmKeyId`\" pulumi-lang-dotnet=\"`ManagedHsmKeyId`\" pulumi-lang-go=\"`managedHsmKeyId`\" pulumi-lang-python=\"`managed_hsm_key_id`\" pulumi-lang-yaml=\"`managedHsmKeyId`\" pulumi-lang-java=\"`managedHsmKeyId`\"\u003e`managed_hsm_key_id`\u003c/span\u003e field.\n\n\u003e **Note:** It may take between 10 to 20 minutes for the service to update the Key Vault Key URL once the keys have been rotated.\n"},"encryptionType":{"type":"string","description":"The type of key used to encrypt the data of the disk. Possible values are `EncryptionAtRestWithCustomerKey`, `EncryptionAtRestWithPlatformAndCustomerKeys` and `ConfidentialVmEncryptedWithCustomerKey`. Defaults to `EncryptionAtRestWithCustomerKey`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"federatedClientId":{"type":"string","description":"Multi-tenant application client id to access key vault in a different tenant.\n"},"identity":{"$ref":"#/types/azure:compute/DiskEncryptionSetIdentity:DiskEncryptionSetIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"keyVaultKeyId":{"type":"string","description":"Specifies the URL to a Key Vault Key (either from a Key Vault Key, or the Key URL for the Key Vault Secret). Exactly one of \u003cspan pulumi-lang-nodejs=\"`managedHsmKeyId`\" pulumi-lang-dotnet=\"`ManagedHsmKeyId`\" pulumi-lang-go=\"`managedHsmKeyId`\" pulumi-lang-python=\"`managed_hsm_key_id`\" pulumi-lang-yaml=\"`managedHsmKeyId`\" pulumi-lang-java=\"`managedHsmKeyId`\"\u003e`managed_hsm_key_id`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`keyVaultKeyId`\" pulumi-lang-dotnet=\"`KeyVaultKeyId`\" pulumi-lang-go=\"`keyVaultKeyId`\" pulumi-lang-python=\"`key_vault_key_id`\" pulumi-lang-yaml=\"`keyVaultKeyId`\" pulumi-lang-java=\"`keyVaultKeyId`\"\u003e`key_vault_key_id`\u003c/span\u003e must be specified.\n\n\u003e **Note:** Access to the KeyVault must be granted for this Disk Encryption Set, if you want to further use this Disk Encryption Set in a Managed Disk or Virtual Machine, or Virtual Machine Scale Set. For instructions, please refer to the doc of [Server side encryption of Azure managed disks](https://docs.microsoft.com/azure/virtual-machines/linux/disk-encryption).\n\n\u003e **Note:** A KeyVault or Managed HSM using\u003cspan pulumi-lang-nodejs=\" enableRbacAuthorization \" pulumi-lang-dotnet=\" EnableRbacAuthorization \" pulumi-lang-go=\" enableRbacAuthorization \" pulumi-lang-python=\" enable_rbac_authorization \" pulumi-lang-yaml=\" enableRbacAuthorization \" pulumi-lang-java=\" enableRbacAuthorization \"\u003e enable_rbac_authorization \u003c/span\u003erequires to use \u003cspan pulumi-lang-nodejs=\"`azure.authorization.Assignment`\" pulumi-lang-dotnet=\"`azure.authorization.Assignment`\" pulumi-lang-go=\"`authorization.Assignment`\" pulumi-lang-python=\"`authorization.Assignment`\" pulumi-lang-yaml=\"`azure.authorization.Assignment`\" pulumi-lang-java=\"`azure.authorization.Assignment`\"\u003e`azure.authorization.Assignment`\u003c/span\u003e to assign the role `Key Vault Crypto Service Encryption User` to this Disk Encryption Set.\nIn this case, \u003cspan pulumi-lang-nodejs=\"`azure.keyvault.AccessPolicy`\" pulumi-lang-dotnet=\"`azure.keyvault.AccessPolicy`\" pulumi-lang-go=\"`keyvault.AccessPolicy`\" pulumi-lang-python=\"`keyvault.AccessPolicy`\" pulumi-lang-yaml=\"`azure.keyvault.AccessPolicy`\" pulumi-lang-java=\"`azure.keyvault.AccessPolicy`\"\u003e`azure.keyvault.AccessPolicy`\u003c/span\u003e is not needed.\n"},"keyVaultKeyUrl":{"type":"string","description":"The URL for the Key Vault Key or Key Vault Secret that is currently being used by the service.\n"},"location":{"type":"string","description":"Specifies the Azure Region where the Disk Encryption Set exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"managedHsmKeyId":{"type":"string","description":"Key ID of a key in a managed HSM. Exactly one of \u003cspan pulumi-lang-nodejs=\"`managedHsmKeyId`\" pulumi-lang-dotnet=\"`ManagedHsmKeyId`\" pulumi-lang-go=\"`managedHsmKeyId`\" pulumi-lang-python=\"`managed_hsm_key_id`\" pulumi-lang-yaml=\"`managedHsmKeyId`\" pulumi-lang-java=\"`managedHsmKeyId`\"\u003e`managed_hsm_key_id`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`keyVaultKeyId`\" pulumi-lang-dotnet=\"`KeyVaultKeyId`\" pulumi-lang-go=\"`keyVaultKeyId`\" pulumi-lang-python=\"`key_vault_key_id`\" pulumi-lang-yaml=\"`keyVaultKeyId`\" pulumi-lang-java=\"`keyVaultKeyId`\"\u003e`key_vault_key_id`\u003c/span\u003e must be specified.\n"},"name":{"type":"string","description":"The name of the Disk Encryption Set. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"Specifies the name of the Resource Group where the Disk Encryption Set should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the Disk Encryption Set.\n"}},"type":"object"}},"azure:compute/extension:Extension":{"description":"Manages a Virtual Machine Extension to provide post deployment configuration\nand run automated tasks.\n\n\u003e **Note:** Custom Script Extensions for Linux \u0026 Windows require that the `commandToExecute` returns a \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e exit code to be classified as successfully deployed. You can achieve this by appending `exit 0` to the end of your `commandToExecute`.\n\n\u003e **Note:** Custom Script Extensions require that the Azure Virtual Machine Guest Agent is running on the Virtual Machine.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\nimport * as std from \"@pulumi/std\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"example\", {\n    name: \"acctvn\",\n    addressSpaces: [\"10.0.0.0/16\"],\n    location: example.location,\n    resourceGroupName: example.name,\n});\nconst exampleSubnet = new azure.network.Subnet(\"example\", {\n    name: \"acctsub\",\n    resourceGroupName: example.name,\n    virtualNetworkName: exampleVirtualNetwork.name,\n    addressPrefixes: [\"10.0.2.0/24\"],\n});\nconst exampleNetworkInterface = new azure.network.NetworkInterface(\"example\", {\n    name: \"acctni\",\n    location: example.location,\n    resourceGroupName: example.name,\n    ipConfigurations: [{\n        name: \"testconfiguration1\",\n        subnetId: exampleSubnet.id,\n        privateIpAddressAllocation: \"Dynamic\",\n    }],\n});\nconst exampleLinuxVirtualMachine = new azure.compute.LinuxVirtualMachine(\"example\", {\n    name: \"example-machine\",\n    resourceGroupName: example.name,\n    location: example.location,\n    size: \"Standard_F2\",\n    adminUsername: \"adminuser\",\n    networkInterfaceIds: [exampleNetworkInterface.id],\n    adminSshKeys: [{\n        username: \"adminuser\",\n        publicKey: std.file({\n            input: \"~/.ssh/id_rsa.pub\",\n        }).then(invoke =\u003e invoke.result),\n    }],\n    osDisk: {\n        caching: \"ReadWrite\",\n        storageAccountType: \"Standard_LRS\",\n    },\n    sourceImageReference: {\n        publisher: \"Canonical\",\n        offer: \"0001-com-ubuntu-server-jammy\",\n        sku: \"22_04-lts\",\n        version: \"latest\",\n    },\n});\nconst exampleExtension = new azure.compute.Extension(\"example\", {\n    name: \"hostname\",\n    virtualMachineId: exampleLinuxVirtualMachine.id,\n    publisher: \"Microsoft.Azure.Extensions\",\n    type: \"CustomScript\",\n    typeHandlerVersion: \"2.0\",\n    settings: ` {\n  \\\\\"commandToExecute\\\\\": \\\\\"hostname \u0026\u0026 uptime\\\\\"\n }\n`,\n    tags: {\n        environment: \"Production\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\nimport pulumi_std as std\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_virtual_network = azure.network.VirtualNetwork(\"example\",\n    name=\"acctvn\",\n    address_spaces=[\"10.0.0.0/16\"],\n    location=example.location,\n    resource_group_name=example.name)\nexample_subnet = azure.network.Subnet(\"example\",\n    name=\"acctsub\",\n    resource_group_name=example.name,\n    virtual_network_name=example_virtual_network.name,\n    address_prefixes=[\"10.0.2.0/24\"])\nexample_network_interface = azure.network.NetworkInterface(\"example\",\n    name=\"acctni\",\n    location=example.location,\n    resource_group_name=example.name,\n    ip_configurations=[{\n        \"name\": \"testconfiguration1\",\n        \"subnet_id\": example_subnet.id,\n        \"private_ip_address_allocation\": \"Dynamic\",\n    }])\nexample_linux_virtual_machine = azure.compute.LinuxVirtualMachine(\"example\",\n    name=\"example-machine\",\n    resource_group_name=example.name,\n    location=example.location,\n    size=\"Standard_F2\",\n    admin_username=\"adminuser\",\n    network_interface_ids=[example_network_interface.id],\n    admin_ssh_keys=[{\n        \"username\": \"adminuser\",\n        \"public_key\": std.file(input=\"~/.ssh/id_rsa.pub\").result,\n    }],\n    os_disk={\n        \"caching\": \"ReadWrite\",\n        \"storage_account_type\": \"Standard_LRS\",\n    },\n    source_image_reference={\n        \"publisher\": \"Canonical\",\n        \"offer\": \"0001-com-ubuntu-server-jammy\",\n        \"sku\": \"22_04-lts\",\n        \"version\": \"latest\",\n    })\nexample_extension = azure.compute.Extension(\"example\",\n    name=\"hostname\",\n    virtual_machine_id=example_linux_virtual_machine.id,\n    publisher=\"Microsoft.Azure.Extensions\",\n    type=\"CustomScript\",\n    type_handler_version=\"2.0\",\n    settings=\"\"\" {\n  \\\"commandToExecute\\\": \\\"hostname \u0026\u0026 uptime\\\"\n }\n\"\"\",\n    tags={\n        \"environment\": \"Production\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleVirtualNetwork = new Azure.Network.VirtualNetwork(\"example\", new()\n    {\n        Name = \"acctvn\",\n        AddressSpaces = new[]\n        {\n            \"10.0.0.0/16\",\n        },\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n    });\n\n    var exampleSubnet = new Azure.Network.Subnet(\"example\", new()\n    {\n        Name = \"acctsub\",\n        ResourceGroupName = example.Name,\n        VirtualNetworkName = exampleVirtualNetwork.Name,\n        AddressPrefixes = new[]\n        {\n            \"10.0.2.0/24\",\n        },\n    });\n\n    var exampleNetworkInterface = new Azure.Network.NetworkInterface(\"example\", new()\n    {\n        Name = \"acctni\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        IpConfigurations = new[]\n        {\n            new Azure.Network.Inputs.NetworkInterfaceIpConfigurationArgs\n            {\n                Name = \"testconfiguration1\",\n                SubnetId = exampleSubnet.Id,\n                PrivateIpAddressAllocation = \"Dynamic\",\n            },\n        },\n    });\n\n    var exampleLinuxVirtualMachine = new Azure.Compute.LinuxVirtualMachine(\"example\", new()\n    {\n        Name = \"example-machine\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        Size = \"Standard_F2\",\n        AdminUsername = \"adminuser\",\n        NetworkInterfaceIds = new[]\n        {\n            exampleNetworkInterface.Id,\n        },\n        AdminSshKeys = new[]\n        {\n            new Azure.Compute.Inputs.LinuxVirtualMachineAdminSshKeyArgs\n            {\n                Username = \"adminuser\",\n                PublicKey = Std.File.Invoke(new()\n                {\n                    Input = \"~/.ssh/id_rsa.pub\",\n                }).Apply(invoke =\u003e invoke.Result),\n            },\n        },\n        OsDisk = new Azure.Compute.Inputs.LinuxVirtualMachineOsDiskArgs\n        {\n            Caching = \"ReadWrite\",\n            StorageAccountType = \"Standard_LRS\",\n        },\n        SourceImageReference = new Azure.Compute.Inputs.LinuxVirtualMachineSourceImageReferenceArgs\n        {\n            Publisher = \"Canonical\",\n            Offer = \"0001-com-ubuntu-server-jammy\",\n            Sku = \"22_04-lts\",\n            Version = \"latest\",\n        },\n    });\n\n    var exampleExtension = new Azure.Compute.Extension(\"example\", new()\n    {\n        Name = \"hostname\",\n        VirtualMachineId = exampleLinuxVirtualMachine.Id,\n        Publisher = \"Microsoft.Azure.Extensions\",\n        Type = \"CustomScript\",\n        TypeHandlerVersion = \"2.0\",\n        Settings = @\" {\n  \\\"\"commandToExecute\\\"\": \\\"\"hostname \u0026\u0026 uptime\\\"\"\n }\n\",\n        Tags = \n        {\n            { \"environment\", \"Production\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/compute\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, \"example\", \u0026network.VirtualNetworkArgs{\n\t\t\tName: pulumi.String(\"acctvn\"),\n\t\t\tAddressSpaces: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.0.0/16\"),\n\t\t\t},\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSubnet, err := network.NewSubnet(ctx, \"example\", \u0026network.SubnetArgs{\n\t\t\tName:               pulumi.String(\"acctsub\"),\n\t\t\tResourceGroupName:  example.Name,\n\t\t\tVirtualNetworkName: exampleVirtualNetwork.Name,\n\t\t\tAddressPrefixes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.2.0/24\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNetworkInterface, err := network.NewNetworkInterface(ctx, \"example\", \u0026network.NetworkInterfaceArgs{\n\t\t\tName:              pulumi.String(\"acctni\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tIpConfigurations: network.NetworkInterfaceIpConfigurationArray{\n\t\t\t\t\u0026network.NetworkInterfaceIpConfigurationArgs{\n\t\t\t\t\tName:                       pulumi.String(\"testconfiguration1\"),\n\t\t\t\t\tSubnetId:                   exampleSubnet.ID(),\n\t\t\t\t\tPrivateIpAddressAllocation: pulumi.String(\"Dynamic\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"~/.ssh/id_rsa.pub\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleLinuxVirtualMachine, err := compute.NewLinuxVirtualMachine(ctx, \"example\", \u0026compute.LinuxVirtualMachineArgs{\n\t\t\tName:              pulumi.String(\"example-machine\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tSize:              pulumi.String(\"Standard_F2\"),\n\t\t\tAdminUsername:     pulumi.String(\"adminuser\"),\n\t\t\tNetworkInterfaceIds: pulumi.StringArray{\n\t\t\t\texampleNetworkInterface.ID(),\n\t\t\t},\n\t\t\tAdminSshKeys: compute.LinuxVirtualMachineAdminSshKeyArray{\n\t\t\t\t\u0026compute.LinuxVirtualMachineAdminSshKeyArgs{\n\t\t\t\t\tUsername:  pulumi.String(\"adminuser\"),\n\t\t\t\t\tPublicKey: pulumi.String(invokeFile.Result),\n\t\t\t\t},\n\t\t\t},\n\t\t\tOsDisk: \u0026compute.LinuxVirtualMachineOsDiskArgs{\n\t\t\t\tCaching:            pulumi.String(\"ReadWrite\"),\n\t\t\t\tStorageAccountType: pulumi.String(\"Standard_LRS\"),\n\t\t\t},\n\t\t\tSourceImageReference: \u0026compute.LinuxVirtualMachineSourceImageReferenceArgs{\n\t\t\t\tPublisher: pulumi.String(\"Canonical\"),\n\t\t\t\tOffer:     pulumi.String(\"0001-com-ubuntu-server-jammy\"),\n\t\t\t\tSku:       pulumi.String(\"22_04-lts\"),\n\t\t\t\tVersion:   pulumi.String(\"latest\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = compute.NewExtension(ctx, \"example\", \u0026compute.ExtensionArgs{\n\t\t\tName:               pulumi.String(\"hostname\"),\n\t\t\tVirtualMachineId:   exampleLinuxVirtualMachine.ID(),\n\t\t\tPublisher:          pulumi.String(\"Microsoft.Azure.Extensions\"),\n\t\t\tType:               pulumi.String(\"CustomScript\"),\n\t\t\tTypeHandlerVersion: pulumi.String(\"2.0\"),\n\t\t\tSettings:           pulumi.String(\" {\\n  \\\\\\\"commandToExecute\\\\\\\": \\\\\\\"hostname \u0026\u0026 uptime\\\\\\\"\\n }\\n\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"environment\": pulumi.String(\"Production\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.VirtualNetwork;\nimport com.pulumi.azure.network.VirtualNetworkArgs;\nimport com.pulumi.azure.network.Subnet;\nimport com.pulumi.azure.network.SubnetArgs;\nimport com.pulumi.azure.network.NetworkInterface;\nimport com.pulumi.azure.network.NetworkInterfaceArgs;\nimport com.pulumi.azure.network.inputs.NetworkInterfaceIpConfigurationArgs;\nimport com.pulumi.azure.compute.LinuxVirtualMachine;\nimport com.pulumi.azure.compute.LinuxVirtualMachineArgs;\nimport com.pulumi.azure.compute.inputs.LinuxVirtualMachineAdminSshKeyArgs;\nimport com.pulumi.azure.compute.inputs.LinuxVirtualMachineOsDiskArgs;\nimport com.pulumi.azure.compute.inputs.LinuxVirtualMachineSourceImageReferenceArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.FileArgs;\nimport com.pulumi.azure.compute.Extension;\nimport com.pulumi.azure.compute.ExtensionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleVirtualNetwork = new VirtualNetwork(\"exampleVirtualNetwork\", VirtualNetworkArgs.builder()\n            .name(\"acctvn\")\n            .addressSpaces(\"10.0.0.0/16\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .build());\n\n        var exampleSubnet = new Subnet(\"exampleSubnet\", SubnetArgs.builder()\n            .name(\"acctsub\")\n            .resourceGroupName(example.name())\n            .virtualNetworkName(exampleVirtualNetwork.name())\n            .addressPrefixes(\"10.0.2.0/24\")\n            .build());\n\n        var exampleNetworkInterface = new NetworkInterface(\"exampleNetworkInterface\", NetworkInterfaceArgs.builder()\n            .name(\"acctni\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .ipConfigurations(NetworkInterfaceIpConfigurationArgs.builder()\n                .name(\"testconfiguration1\")\n                .subnetId(exampleSubnet.id())\n                .privateIpAddressAllocation(\"Dynamic\")\n                .build())\n            .build());\n\n        var exampleLinuxVirtualMachine = new LinuxVirtualMachine(\"exampleLinuxVirtualMachine\", LinuxVirtualMachineArgs.builder()\n            .name(\"example-machine\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .size(\"Standard_F2\")\n            .adminUsername(\"adminuser\")\n            .networkInterfaceIds(exampleNetworkInterface.id())\n            .adminSshKeys(LinuxVirtualMachineAdminSshKeyArgs.builder()\n                .username(\"adminuser\")\n                .publicKey(StdFunctions.file(FileArgs.builder()\n                    .input(\"~/.ssh/id_rsa.pub\")\n                    .build()).result())\n                .build())\n            .osDisk(LinuxVirtualMachineOsDiskArgs.builder()\n                .caching(\"ReadWrite\")\n                .storageAccountType(\"Standard_LRS\")\n                .build())\n            .sourceImageReference(LinuxVirtualMachineSourceImageReferenceArgs.builder()\n                .publisher(\"Canonical\")\n                .offer(\"0001-com-ubuntu-server-jammy\")\n                .sku(\"22_04-lts\")\n                .version(\"latest\")\n                .build())\n            .build());\n\n        var exampleExtension = new Extension(\"exampleExtension\", ExtensionArgs.builder()\n            .name(\"hostname\")\n            .virtualMachineId(exampleLinuxVirtualMachine.id())\n            .publisher(\"Microsoft.Azure.Extensions\")\n            .type(\"CustomScript\")\n            .typeHandlerVersion(\"2.0\")\n            .settings(\"\"\"\n {\n  \\\"commandToExecute\\\": \\\"hostname \u0026\u0026 uptime\\\"\n }\n            \"\"\")\n            .tags(Map.of(\"environment\", \"Production\"))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleVirtualNetwork:\n    type: azure:network:VirtualNetwork\n    name: example\n    properties:\n      name: acctvn\n      addressSpaces:\n        - 10.0.0.0/16\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n  exampleSubnet:\n    type: azure:network:Subnet\n    name: example\n    properties:\n      name: acctsub\n      resourceGroupName: ${example.name}\n      virtualNetworkName: ${exampleVirtualNetwork.name}\n      addressPrefixes:\n        - 10.0.2.0/24\n  exampleNetworkInterface:\n    type: azure:network:NetworkInterface\n    name: example\n    properties:\n      name: acctni\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      ipConfigurations:\n        - name: testconfiguration1\n          subnetId: ${exampleSubnet.id}\n          privateIpAddressAllocation: Dynamic\n  exampleLinuxVirtualMachine:\n    type: azure:compute:LinuxVirtualMachine\n    name: example\n    properties:\n      name: example-machine\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      size: Standard_F2\n      adminUsername: adminuser\n      networkInterfaceIds:\n        - ${exampleNetworkInterface.id}\n      adminSshKeys:\n        - username: adminuser\n          publicKey:\n            fn::invoke:\n              function: std:file\n              arguments:\n                input: ~/.ssh/id_rsa.pub\n              return: result\n      osDisk:\n        caching: ReadWrite\n        storageAccountType: Standard_LRS\n      sourceImageReference:\n        publisher: Canonical\n        offer: 0001-com-ubuntu-server-jammy\n        sku: 22_04-lts\n        version: latest\n  exampleExtension:\n    type: azure:compute:Extension\n    name: example\n    properties:\n      name: hostname\n      virtualMachineId: ${exampleLinuxVirtualMachine.id}\n      publisher: Microsoft.Azure.Extensions\n      type: CustomScript\n      typeHandlerVersion: '2.0'\n      settings: |2\n         {\n          \\\"commandToExecute\\\": \\\"hostname \u0026\u0026 uptime\\\"\n         }\n      tags:\n        environment: Production\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Compute` - 2024-03-01\n\n## Import\n\nVirtual Machine Extensions can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:compute/extension:Extension example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Compute/virtualMachines/myVM/extensions/extensionName\n```\n\n","properties":{"autoUpgradeMinorVersion":{"type":"boolean","description":"Specifies if the platform deploys the latest minor version update to the \u003cspan pulumi-lang-nodejs=\"`typeHandlerVersion`\" pulumi-lang-dotnet=\"`TypeHandlerVersion`\" pulumi-lang-go=\"`typeHandlerVersion`\" pulumi-lang-python=\"`type_handler_version`\" pulumi-lang-yaml=\"`typeHandlerVersion`\" pulumi-lang-java=\"`typeHandlerVersion`\"\u003e`type_handler_version`\u003c/span\u003e specified.\n"},"automaticUpgradeEnabled":{"type":"boolean","description":"Should the Extension be automatically updated whenever the Publisher releases a new version of this VM Extension?\n"},"failureSuppressionEnabled":{"type":"boolean","description":"Should failures from the extension be suppressed? Possible values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** Operational failures such as not connecting to the VM will not be suppressed regardless of the \u003cspan pulumi-lang-nodejs=\"`failureSuppressionEnabled`\" pulumi-lang-dotnet=\"`FailureSuppressionEnabled`\" pulumi-lang-go=\"`failureSuppressionEnabled`\" pulumi-lang-python=\"`failure_suppression_enabled`\" pulumi-lang-yaml=\"`failureSuppressionEnabled`\" pulumi-lang-java=\"`failureSuppressionEnabled`\"\u003e`failure_suppression_enabled`\u003c/span\u003e value.\n"},"name":{"type":"string","description":"The name of the virtual machine extension peering. Changing this forces a new resource to be created.\n"},"protectedSettings":{"type":"string","description":"The\u003cspan pulumi-lang-nodejs=\" protectedSettings \" pulumi-lang-dotnet=\" ProtectedSettings \" pulumi-lang-go=\" protectedSettings \" pulumi-lang-python=\" protected_settings \" pulumi-lang-yaml=\" protectedSettings \" pulumi-lang-java=\" protectedSettings \"\u003e protected_settings \u003c/span\u003epassed to the extension, like settings, these are specified as a JSON object in a string.\n\n\u003e **Note:** Certain VM Extensions require that the keys in the \u003cspan pulumi-lang-nodejs=\"`protectedSettings`\" pulumi-lang-dotnet=\"`ProtectedSettings`\" pulumi-lang-go=\"`protectedSettings`\" pulumi-lang-python=\"`protected_settings`\" pulumi-lang-yaml=\"`protectedSettings`\" pulumi-lang-java=\"`protectedSettings`\"\u003e`protected_settings`\u003c/span\u003e block are case sensitive. If you're seeing unhelpful errors, please ensure the keys are consistent with how Azure is expecting them (for instance, for the `JsonADDomainExtension` extension, the keys are expected to be in `TitleCase`.)\n","secret":true},"protectedSettingsFromKeyVault":{"$ref":"#/types/azure:compute/ExtensionProtectedSettingsFromKeyVault:ExtensionProtectedSettingsFromKeyVault","description":"A \u003cspan pulumi-lang-nodejs=\"`protectedSettingsFromKeyVault`\" pulumi-lang-dotnet=\"`ProtectedSettingsFromKeyVault`\" pulumi-lang-go=\"`protectedSettingsFromKeyVault`\" pulumi-lang-python=\"`protected_settings_from_key_vault`\" pulumi-lang-yaml=\"`protectedSettingsFromKeyVault`\" pulumi-lang-java=\"`protectedSettingsFromKeyVault`\"\u003e`protected_settings_from_key_vault`\u003c/span\u003e block as defined below.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`protectedSettingsFromKeyVault`\" pulumi-lang-dotnet=\"`ProtectedSettingsFromKeyVault`\" pulumi-lang-go=\"`protectedSettingsFromKeyVault`\" pulumi-lang-python=\"`protected_settings_from_key_vault`\" pulumi-lang-yaml=\"`protectedSettingsFromKeyVault`\" pulumi-lang-java=\"`protectedSettingsFromKeyVault`\"\u003e`protected_settings_from_key_vault`\u003c/span\u003e cannot be used with \u003cspan pulumi-lang-nodejs=\"`protectedSettings`\" pulumi-lang-dotnet=\"`ProtectedSettings`\" pulumi-lang-go=\"`protectedSettings`\" pulumi-lang-python=\"`protected_settings`\" pulumi-lang-yaml=\"`protectedSettings`\" pulumi-lang-java=\"`protectedSettings`\"\u003e`protected_settings`\u003c/span\u003e\n"},"provisionAfterExtensions":{"type":"array","items":{"type":"string"},"description":"Specifies the collection of extension names after which this extension needs to be provisioned.\n"},"publisher":{"type":"string","description":"The publisher of the extension, available publishers can be found by using the Azure CLI. Changing this forces a new resource to be created.\n"},"settings":{"type":"string","description":"The settings passed to the extension, these are specified as a JSON object in a string.\n\n\u003e **Note:** Certain VM Extensions require that the keys in the \u003cspan pulumi-lang-nodejs=\"`settings`\" pulumi-lang-dotnet=\"`Settings`\" pulumi-lang-go=\"`settings`\" pulumi-lang-python=\"`settings`\" pulumi-lang-yaml=\"`settings`\" pulumi-lang-java=\"`settings`\"\u003e`settings`\u003c/span\u003e block are case sensitive. If you're seeing unhelpful errors, please ensure the keys are consistent with how Azure is expecting them (for instance, for the `JsonADDomainExtension` extension, the keys are expected to be in `TitleCase`.)\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"type":{"type":"string","description":"The type of extension, available types for a publisher can be found using the Azure CLI.\n\n\u003e **Note:** The `Publisher` and `Type` of Virtual Machine Extensions can be found using the Azure CLI, via:\n\n```shell\naz vm extension image list --location westus -o table\n```\n"},"typeHandlerVersion":{"type":"string","description":"Specifies the version of the extension to use, available versions can be found using the Azure CLI.\n"},"virtualMachineId":{"type":"string","description":"The ID of the Virtual Machine. Changing this forces a new resource to be created\n"}},"required":["name","publisher","type","typeHandlerVersion","virtualMachineId"],"inputProperties":{"autoUpgradeMinorVersion":{"type":"boolean","description":"Specifies if the platform deploys the latest minor version update to the \u003cspan pulumi-lang-nodejs=\"`typeHandlerVersion`\" pulumi-lang-dotnet=\"`TypeHandlerVersion`\" pulumi-lang-go=\"`typeHandlerVersion`\" pulumi-lang-python=\"`type_handler_version`\" pulumi-lang-yaml=\"`typeHandlerVersion`\" pulumi-lang-java=\"`typeHandlerVersion`\"\u003e`type_handler_version`\u003c/span\u003e specified.\n"},"automaticUpgradeEnabled":{"type":"boolean","description":"Should the Extension be automatically updated whenever the Publisher releases a new version of this VM Extension?\n"},"failureSuppressionEnabled":{"type":"boolean","description":"Should failures from the extension be suppressed? Possible values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** Operational failures such as not connecting to the VM will not be suppressed regardless of the \u003cspan pulumi-lang-nodejs=\"`failureSuppressionEnabled`\" pulumi-lang-dotnet=\"`FailureSuppressionEnabled`\" pulumi-lang-go=\"`failureSuppressionEnabled`\" pulumi-lang-python=\"`failure_suppression_enabled`\" pulumi-lang-yaml=\"`failureSuppressionEnabled`\" pulumi-lang-java=\"`failureSuppressionEnabled`\"\u003e`failure_suppression_enabled`\u003c/span\u003e value.\n"},"name":{"type":"string","description":"The name of the virtual machine extension peering. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"protectedSettings":{"type":"string","description":"The\u003cspan pulumi-lang-nodejs=\" protectedSettings \" pulumi-lang-dotnet=\" ProtectedSettings \" pulumi-lang-go=\" protectedSettings \" pulumi-lang-python=\" protected_settings \" pulumi-lang-yaml=\" protectedSettings \" pulumi-lang-java=\" protectedSettings \"\u003e protected_settings \u003c/span\u003epassed to the extension, like settings, these are specified as a JSON object in a string.\n\n\u003e **Note:** Certain VM Extensions require that the keys in the \u003cspan pulumi-lang-nodejs=\"`protectedSettings`\" pulumi-lang-dotnet=\"`ProtectedSettings`\" pulumi-lang-go=\"`protectedSettings`\" pulumi-lang-python=\"`protected_settings`\" pulumi-lang-yaml=\"`protectedSettings`\" pulumi-lang-java=\"`protectedSettings`\"\u003e`protected_settings`\u003c/span\u003e block are case sensitive. If you're seeing unhelpful errors, please ensure the keys are consistent with how Azure is expecting them (for instance, for the `JsonADDomainExtension` extension, the keys are expected to be in `TitleCase`.)\n","secret":true},"protectedSettingsFromKeyVault":{"$ref":"#/types/azure:compute/ExtensionProtectedSettingsFromKeyVault:ExtensionProtectedSettingsFromKeyVault","description":"A \u003cspan pulumi-lang-nodejs=\"`protectedSettingsFromKeyVault`\" pulumi-lang-dotnet=\"`ProtectedSettingsFromKeyVault`\" pulumi-lang-go=\"`protectedSettingsFromKeyVault`\" pulumi-lang-python=\"`protected_settings_from_key_vault`\" pulumi-lang-yaml=\"`protectedSettingsFromKeyVault`\" pulumi-lang-java=\"`protectedSettingsFromKeyVault`\"\u003e`protected_settings_from_key_vault`\u003c/span\u003e block as defined below.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`protectedSettingsFromKeyVault`\" pulumi-lang-dotnet=\"`ProtectedSettingsFromKeyVault`\" pulumi-lang-go=\"`protectedSettingsFromKeyVault`\" pulumi-lang-python=\"`protected_settings_from_key_vault`\" pulumi-lang-yaml=\"`protectedSettingsFromKeyVault`\" pulumi-lang-java=\"`protectedSettingsFromKeyVault`\"\u003e`protected_settings_from_key_vault`\u003c/span\u003e cannot be used with \u003cspan pulumi-lang-nodejs=\"`protectedSettings`\" pulumi-lang-dotnet=\"`ProtectedSettings`\" pulumi-lang-go=\"`protectedSettings`\" pulumi-lang-python=\"`protected_settings`\" pulumi-lang-yaml=\"`protectedSettings`\" pulumi-lang-java=\"`protectedSettings`\"\u003e`protected_settings`\u003c/span\u003e\n"},"provisionAfterExtensions":{"type":"array","items":{"type":"string"},"description":"Specifies the collection of extension names after which this extension needs to be provisioned.\n"},"publisher":{"type":"string","description":"The publisher of the extension, available publishers can be found by using the Azure CLI. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"settings":{"type":"string","description":"The settings passed to the extension, these are specified as a JSON object in a string.\n\n\u003e **Note:** Certain VM Extensions require that the keys in the \u003cspan pulumi-lang-nodejs=\"`settings`\" pulumi-lang-dotnet=\"`Settings`\" pulumi-lang-go=\"`settings`\" pulumi-lang-python=\"`settings`\" pulumi-lang-yaml=\"`settings`\" pulumi-lang-java=\"`settings`\"\u003e`settings`\u003c/span\u003e block are case sensitive. If you're seeing unhelpful errors, please ensure the keys are consistent with how Azure is expecting them (for instance, for the `JsonADDomainExtension` extension, the keys are expected to be in `TitleCase`.)\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"type":{"type":"string","description":"The type of extension, available types for a publisher can be found using the Azure CLI.\n\n\u003e **Note:** The `Publisher` and `Type` of Virtual Machine Extensions can be found using the Azure CLI, via:\n\n```shell\naz vm extension image list --location westus -o table\n```\n"},"typeHandlerVersion":{"type":"string","description":"Specifies the version of the extension to use, available versions can be found using the Azure CLI.\n"},"virtualMachineId":{"type":"string","description":"The ID of the Virtual Machine. Changing this forces a new resource to be created\n","willReplaceOnChanges":true}},"requiredInputs":["publisher","type","typeHandlerVersion","virtualMachineId"],"stateInputs":{"description":"Input properties used for looking up and filtering Extension resources.\n","properties":{"autoUpgradeMinorVersion":{"type":"boolean","description":"Specifies if the platform deploys the latest minor version update to the \u003cspan pulumi-lang-nodejs=\"`typeHandlerVersion`\" pulumi-lang-dotnet=\"`TypeHandlerVersion`\" pulumi-lang-go=\"`typeHandlerVersion`\" pulumi-lang-python=\"`type_handler_version`\" pulumi-lang-yaml=\"`typeHandlerVersion`\" pulumi-lang-java=\"`typeHandlerVersion`\"\u003e`type_handler_version`\u003c/span\u003e specified.\n"},"automaticUpgradeEnabled":{"type":"boolean","description":"Should the Extension be automatically updated whenever the Publisher releases a new version of this VM Extension?\n"},"failureSuppressionEnabled":{"type":"boolean","description":"Should failures from the extension be suppressed? Possible values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** Operational failures such as not connecting to the VM will not be suppressed regardless of the \u003cspan pulumi-lang-nodejs=\"`failureSuppressionEnabled`\" pulumi-lang-dotnet=\"`FailureSuppressionEnabled`\" pulumi-lang-go=\"`failureSuppressionEnabled`\" pulumi-lang-python=\"`failure_suppression_enabled`\" pulumi-lang-yaml=\"`failureSuppressionEnabled`\" pulumi-lang-java=\"`failureSuppressionEnabled`\"\u003e`failure_suppression_enabled`\u003c/span\u003e value.\n"},"name":{"type":"string","description":"The name of the virtual machine extension peering. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"protectedSettings":{"type":"string","description":"The\u003cspan pulumi-lang-nodejs=\" protectedSettings \" pulumi-lang-dotnet=\" ProtectedSettings \" pulumi-lang-go=\" protectedSettings \" pulumi-lang-python=\" protected_settings \" pulumi-lang-yaml=\" protectedSettings \" pulumi-lang-java=\" protectedSettings \"\u003e protected_settings \u003c/span\u003epassed to the extension, like settings, these are specified as a JSON object in a string.\n\n\u003e **Note:** Certain VM Extensions require that the keys in the \u003cspan pulumi-lang-nodejs=\"`protectedSettings`\" pulumi-lang-dotnet=\"`ProtectedSettings`\" pulumi-lang-go=\"`protectedSettings`\" pulumi-lang-python=\"`protected_settings`\" pulumi-lang-yaml=\"`protectedSettings`\" pulumi-lang-java=\"`protectedSettings`\"\u003e`protected_settings`\u003c/span\u003e block are case sensitive. If you're seeing unhelpful errors, please ensure the keys are consistent with how Azure is expecting them (for instance, for the `JsonADDomainExtension` extension, the keys are expected to be in `TitleCase`.)\n","secret":true},"protectedSettingsFromKeyVault":{"$ref":"#/types/azure:compute/ExtensionProtectedSettingsFromKeyVault:ExtensionProtectedSettingsFromKeyVault","description":"A \u003cspan pulumi-lang-nodejs=\"`protectedSettingsFromKeyVault`\" pulumi-lang-dotnet=\"`ProtectedSettingsFromKeyVault`\" pulumi-lang-go=\"`protectedSettingsFromKeyVault`\" pulumi-lang-python=\"`protected_settings_from_key_vault`\" pulumi-lang-yaml=\"`protectedSettingsFromKeyVault`\" pulumi-lang-java=\"`protectedSettingsFromKeyVault`\"\u003e`protected_settings_from_key_vault`\u003c/span\u003e block as defined below.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`protectedSettingsFromKeyVault`\" pulumi-lang-dotnet=\"`ProtectedSettingsFromKeyVault`\" pulumi-lang-go=\"`protectedSettingsFromKeyVault`\" pulumi-lang-python=\"`protected_settings_from_key_vault`\" pulumi-lang-yaml=\"`protectedSettingsFromKeyVault`\" pulumi-lang-java=\"`protectedSettingsFromKeyVault`\"\u003e`protected_settings_from_key_vault`\u003c/span\u003e cannot be used with \u003cspan pulumi-lang-nodejs=\"`protectedSettings`\" pulumi-lang-dotnet=\"`ProtectedSettings`\" pulumi-lang-go=\"`protectedSettings`\" pulumi-lang-python=\"`protected_settings`\" pulumi-lang-yaml=\"`protectedSettings`\" pulumi-lang-java=\"`protectedSettings`\"\u003e`protected_settings`\u003c/span\u003e\n"},"provisionAfterExtensions":{"type":"array","items":{"type":"string"},"description":"Specifies the collection of extension names after which this extension needs to be provisioned.\n"},"publisher":{"type":"string","description":"The publisher of the extension, available publishers can be found by using the Azure CLI. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"settings":{"type":"string","description":"The settings passed to the extension, these are specified as a JSON object in a string.\n\n\u003e **Note:** Certain VM Extensions require that the keys in the \u003cspan pulumi-lang-nodejs=\"`settings`\" pulumi-lang-dotnet=\"`Settings`\" pulumi-lang-go=\"`settings`\" pulumi-lang-python=\"`settings`\" pulumi-lang-yaml=\"`settings`\" pulumi-lang-java=\"`settings`\"\u003e`settings`\u003c/span\u003e block are case sensitive. If you're seeing unhelpful errors, please ensure the keys are consistent with how Azure is expecting them (for instance, for the `JsonADDomainExtension` extension, the keys are expected to be in `TitleCase`.)\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"type":{"type":"string","description":"The type of extension, available types for a publisher can be found using the Azure CLI.\n\n\u003e **Note:** The `Publisher` and `Type` of Virtual Machine Extensions can be found using the Azure CLI, via:\n\n```shell\naz vm extension image list --location westus -o table\n```\n"},"typeHandlerVersion":{"type":"string","description":"Specifies the version of the extension to use, available versions can be found using the Azure CLI.\n"},"virtualMachineId":{"type":"string","description":"The ID of the Virtual Machine. Changing this forces a new resource to be created\n","willReplaceOnChanges":true}},"type":"object"}},"azure:compute/galleryApplication:GalleryApplication":{"description":"Manages a Gallery Application.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-rg\",\n    location: \"West Europe\",\n});\nconst exampleSharedImageGallery = new azure.compute.SharedImageGallery(\"example\", {\n    name: \"examplegallery\",\n    resourceGroupName: example.name,\n    location: example.location,\n});\nconst exampleGalleryApplication = new azure.compute.GalleryApplication(\"example\", {\n    name: \"example-app\",\n    galleryId: exampleSharedImageGallery.id,\n    location: example.location,\n    supportedOsType: \"Linux\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-rg\",\n    location=\"West Europe\")\nexample_shared_image_gallery = azure.compute.SharedImageGallery(\"example\",\n    name=\"examplegallery\",\n    resource_group_name=example.name,\n    location=example.location)\nexample_gallery_application = azure.compute.GalleryApplication(\"example\",\n    name=\"example-app\",\n    gallery_id=example_shared_image_gallery.id,\n    location=example.location,\n    supported_os_type=\"Linux\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-rg\",\n        Location = \"West Europe\",\n    });\n\n    var exampleSharedImageGallery = new Azure.Compute.SharedImageGallery(\"example\", new()\n    {\n        Name = \"examplegallery\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n    });\n\n    var exampleGalleryApplication = new Azure.Compute.GalleryApplication(\"example\", new()\n    {\n        Name = \"example-app\",\n        GalleryId = exampleSharedImageGallery.Id,\n        Location = example.Location,\n        SupportedOsType = \"Linux\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/compute\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-rg\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSharedImageGallery, err := compute.NewSharedImageGallery(ctx, \"example\", \u0026compute.SharedImageGalleryArgs{\n\t\t\tName:              pulumi.String(\"examplegallery\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = compute.NewGalleryApplication(ctx, \"example\", \u0026compute.GalleryApplicationArgs{\n\t\t\tName:            pulumi.String(\"example-app\"),\n\t\t\tGalleryId:       exampleSharedImageGallery.ID(),\n\t\t\tLocation:        example.Location,\n\t\t\tSupportedOsType: pulumi.String(\"Linux\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.compute.SharedImageGallery;\nimport com.pulumi.azure.compute.SharedImageGalleryArgs;\nimport com.pulumi.azure.compute.GalleryApplication;\nimport com.pulumi.azure.compute.GalleryApplicationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-rg\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleSharedImageGallery = new SharedImageGallery(\"exampleSharedImageGallery\", SharedImageGalleryArgs.builder()\n            .name(\"examplegallery\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .build());\n\n        var exampleGalleryApplication = new GalleryApplication(\"exampleGalleryApplication\", GalleryApplicationArgs.builder()\n            .name(\"example-app\")\n            .galleryId(exampleSharedImageGallery.id())\n            .location(example.location())\n            .supportedOsType(\"Linux\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-rg\n      location: West Europe\n  exampleSharedImageGallery:\n    type: azure:compute:SharedImageGallery\n    name: example\n    properties:\n      name: examplegallery\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n  exampleGalleryApplication:\n    type: azure:compute:GalleryApplication\n    name: example\n    properties:\n      name: example-app\n      galleryId: ${exampleSharedImageGallery.id}\n      location: ${example.location}\n      supportedOsType: Linux\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Compute` - 2022-03-03\n\n## Import\n\nGallery Applications can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:compute/galleryApplication:GalleryApplication example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Compute/galleries/gallery1/applications/galleryApplication1\n```\n\n","properties":{"description":{"type":"string","description":"A description of the Gallery Application.\n"},"endOfLifeDate":{"type":"string","description":"The end of life date in RFC3339 format of the Gallery Application.\n"},"eula":{"type":"string","description":"The End User Licence Agreement of the Gallery Application.\n"},"galleryId":{"type":"string","description":"The ID of the Shared Image Gallery. Changing this forces a new resource to be created.\n"},"location":{"type":"string","description":"The Azure Region where the Gallery Application exists. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"The name of the Gallery Application. Changing this forces a new resource to be created.\n"},"privacyStatementUri":{"type":"string","description":"The URI containing the Privacy Statement associated with the Gallery Application.\n"},"releaseNoteUri":{"type":"string","description":"The URI containing the Release Notes associated with the Gallery Application.\n"},"supportedOsType":{"type":"string","description":"The type of the Operating System supported for the Gallery Application. Possible values are `Linux` and `Windows`. Changing this forces a new resource to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the Gallery Application.\n"}},"required":["galleryId","location","name","supportedOsType"],"inputProperties":{"description":{"type":"string","description":"A description of the Gallery Application.\n"},"endOfLifeDate":{"type":"string","description":"The end of life date in RFC3339 format of the Gallery Application.\n"},"eula":{"type":"string","description":"The End User Licence Agreement of the Gallery Application.\n"},"galleryId":{"type":"string","description":"The ID of the Shared Image Gallery. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"location":{"type":"string","description":"The Azure Region where the Gallery Application exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the Gallery Application. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"privacyStatementUri":{"type":"string","description":"The URI containing the Privacy Statement associated with the Gallery Application.\n"},"releaseNoteUri":{"type":"string","description":"The URI containing the Release Notes associated with the Gallery Application.\n"},"supportedOsType":{"type":"string","description":"The type of the Operating System supported for the Gallery Application. Possible values are `Linux` and `Windows`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the Gallery Application.\n"}},"requiredInputs":["galleryId","supportedOsType"],"stateInputs":{"description":"Input properties used for looking up and filtering GalleryApplication resources.\n","properties":{"description":{"type":"string","description":"A description of the Gallery Application.\n"},"endOfLifeDate":{"type":"string","description":"The end of life date in RFC3339 format of the Gallery Application.\n"},"eula":{"type":"string","description":"The End User Licence Agreement of the Gallery Application.\n"},"galleryId":{"type":"string","description":"The ID of the Shared Image Gallery. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"location":{"type":"string","description":"The Azure Region where the Gallery Application exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the Gallery Application. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"privacyStatementUri":{"type":"string","description":"The URI containing the Privacy Statement associated with the Gallery Application.\n"},"releaseNoteUri":{"type":"string","description":"The URI containing the Release Notes associated with the Gallery Application.\n"},"supportedOsType":{"type":"string","description":"The type of the Operating System supported for the Gallery Application. Possible values are `Linux` and `Windows`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the Gallery Application.\n"}},"type":"object"}},"azure:compute/galleryApplicationAssignment:GalleryApplicationAssignment":{"description":"Manages a Virtual Machine Gallery Application Assignment.\n\n\u003e **Note:** Gallery Application Assignments can be defined either directly on \u003cspan pulumi-lang-nodejs=\"`azure.compute.LinuxVirtualMachine`\" pulumi-lang-dotnet=\"`azure.compute.LinuxVirtualMachine`\" pulumi-lang-go=\"`compute.LinuxVirtualMachine`\" pulumi-lang-python=\"`compute.LinuxVirtualMachine`\" pulumi-lang-yaml=\"`azure.compute.LinuxVirtualMachine`\" pulumi-lang-java=\"`azure.compute.LinuxVirtualMachine`\"\u003e`azure.compute.LinuxVirtualMachine`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`azure.compute.WindowsVirtualMachine`\" pulumi-lang-dotnet=\"`azure.compute.WindowsVirtualMachine`\" pulumi-lang-go=\"`compute.WindowsVirtualMachine`\" pulumi-lang-python=\"`compute.WindowsVirtualMachine`\" pulumi-lang-yaml=\"`azure.compute.WindowsVirtualMachine`\" pulumi-lang-java=\"`azure.compute.WindowsVirtualMachine`\"\u003e`azure.compute.WindowsVirtualMachine`\u003c/span\u003e resources, or using the \u003cspan pulumi-lang-nodejs=\"`azure.compute.GalleryApplicationAssignment`\" pulumi-lang-dotnet=\"`azure.compute.GalleryApplicationAssignment`\" pulumi-lang-go=\"`compute.GalleryApplicationAssignment`\" pulumi-lang-python=\"`compute.GalleryApplicationAssignment`\" pulumi-lang-yaml=\"`azure.compute.GalleryApplicationAssignment`\" pulumi-lang-java=\"`azure.compute.GalleryApplicationAssignment`\"\u003e`azure.compute.GalleryApplicationAssignment`\u003c/span\u003e resource - but the two approaches cannot be used together. If both are used with the same Virtual Machine, spurious changes will occur. It's recommended to use \u003cspan pulumi-lang-nodejs=\"`ignoreChanges`\" pulumi-lang-dotnet=\"`IgnoreChanges`\" pulumi-lang-go=\"`ignoreChanges`\" pulumi-lang-python=\"`ignore_changes`\" pulumi-lang-yaml=\"`ignoreChanges`\" pulumi-lang-java=\"`ignoreChanges`\"\u003e`ignore_changes`\u003c/span\u003e for the \u003cspan pulumi-lang-nodejs=\"`galleryApplication`\" pulumi-lang-dotnet=\"`GalleryApplication`\" pulumi-lang-go=\"`galleryApplication`\" pulumi-lang-python=\"`gallery_application`\" pulumi-lang-yaml=\"`galleryApplication`\" pulumi-lang-java=\"`galleryApplication`\"\u003e`gallery_application`\u003c/span\u003e block on the associated virtual machine resources, to avoid a persistent diff when using this resource.\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.compute.getVirtualMachine({\n    name: \"example-vm\",\n    resourceGroupName: \"example-resources-vm\",\n});\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleSharedImageGallery = new azure.compute.SharedImageGallery(\"example\", {\n    name: \"examplegallery\",\n    resourceGroupName: exampleResourceGroup.name,\n    location: exampleResourceGroup.location,\n});\nconst exampleGalleryApplication = new azure.compute.GalleryApplication(\"example\", {\n    name: \"example-app\",\n    galleryId: exampleSharedImageGallery.id,\n    location: exampleResourceGroup.location,\n    supportedOsType: \"Linux\",\n});\nconst exampleAccount = new azure.storage.Account(\"example\", {\n    name: \"examplestorage\",\n    resourceGroupName: exampleResourceGroup.name,\n    location: exampleResourceGroup.location,\n    accountTier: \"Standard\",\n    accountReplicationType: \"LRS\",\n});\nconst exampleContainer = new azure.storage.Container(\"example\", {\n    name: \"example-container\",\n    storageAccountName: exampleAccount.name,\n    containerAccessType: \"blob\",\n});\nconst exampleBlob = new azure.storage.Blob(\"example\", {\n    name: \"scripts\",\n    storageAccountName: exampleAccount.name,\n    storageContainerName: exampleContainer.name,\n    type: \"Block\",\n    sourceContent: \"[scripts file content]\",\n});\nconst exampleGalleryApplicationVersion = new azure.compute.GalleryApplicationVersion(\"example\", {\n    name: \"0.0.1\",\n    galleryApplicationId: exampleGalleryApplication.id,\n    location: exampleGalleryApplication.location,\n    manageAction: {\n        install: \"[install command]\",\n        remove: \"[remove command]\",\n    },\n    source: {\n        mediaLink: exampleBlob.id,\n    },\n    targetRegions: [{\n        name: exampleGalleryApplication.location,\n        regionalReplicaCount: 1,\n    }],\n});\nconst exampleGalleryApplicationAssignment = new azure.compute.GalleryApplicationAssignment(\"example\", {\n    galleryApplicationVersionId: exampleGalleryApplicationVersion.id,\n    virtualMachineId: example.then(example =\u003e example.id),\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.compute.get_virtual_machine(name=\"example-vm\",\n    resource_group_name=\"example-resources-vm\")\nexample_resource_group = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_shared_image_gallery = azure.compute.SharedImageGallery(\"example\",\n    name=\"examplegallery\",\n    resource_group_name=example_resource_group.name,\n    location=example_resource_group.location)\nexample_gallery_application = azure.compute.GalleryApplication(\"example\",\n    name=\"example-app\",\n    gallery_id=example_shared_image_gallery.id,\n    location=example_resource_group.location,\n    supported_os_type=\"Linux\")\nexample_account = azure.storage.Account(\"example\",\n    name=\"examplestorage\",\n    resource_group_name=example_resource_group.name,\n    location=example_resource_group.location,\n    account_tier=\"Standard\",\n    account_replication_type=\"LRS\")\nexample_container = azure.storage.Container(\"example\",\n    name=\"example-container\",\n    storage_account_name=example_account.name,\n    container_access_type=\"blob\")\nexample_blob = azure.storage.Blob(\"example\",\n    name=\"scripts\",\n    storage_account_name=example_account.name,\n    storage_container_name=example_container.name,\n    type=\"Block\",\n    source_content=\"[scripts file content]\")\nexample_gallery_application_version = azure.compute.GalleryApplicationVersion(\"example\",\n    name=\"0.0.1\",\n    gallery_application_id=example_gallery_application.id,\n    location=example_gallery_application.location,\n    manage_action={\n        \"install\": \"[install command]\",\n        \"remove\": \"[remove command]\",\n    },\n    source={\n        \"media_link\": example_blob.id,\n    },\n    target_regions=[{\n        \"name\": example_gallery_application.location,\n        \"regional_replica_count\": 1,\n    }])\nexample_gallery_application_assignment = azure.compute.GalleryApplicationAssignment(\"example\",\n    gallery_application_version_id=example_gallery_application_version.id,\n    virtual_machine_id=example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Compute.GetVirtualMachine.Invoke(new()\n    {\n        Name = \"example-vm\",\n        ResourceGroupName = \"example-resources-vm\",\n    });\n\n    var exampleResourceGroup = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleSharedImageGallery = new Azure.Compute.SharedImageGallery(\"example\", new()\n    {\n        Name = \"examplegallery\",\n        ResourceGroupName = exampleResourceGroup.Name,\n        Location = exampleResourceGroup.Location,\n    });\n\n    var exampleGalleryApplication = new Azure.Compute.GalleryApplication(\"example\", new()\n    {\n        Name = \"example-app\",\n        GalleryId = exampleSharedImageGallery.Id,\n        Location = exampleResourceGroup.Location,\n        SupportedOsType = \"Linux\",\n    });\n\n    var exampleAccount = new Azure.Storage.Account(\"example\", new()\n    {\n        Name = \"examplestorage\",\n        ResourceGroupName = exampleResourceGroup.Name,\n        Location = exampleResourceGroup.Location,\n        AccountTier = \"Standard\",\n        AccountReplicationType = \"LRS\",\n    });\n\n    var exampleContainer = new Azure.Storage.Container(\"example\", new()\n    {\n        Name = \"example-container\",\n        StorageAccountName = exampleAccount.Name,\n        ContainerAccessType = \"blob\",\n    });\n\n    var exampleBlob = new Azure.Storage.Blob(\"example\", new()\n    {\n        Name = \"scripts\",\n        StorageAccountName = exampleAccount.Name,\n        StorageContainerName = exampleContainer.Name,\n        Type = \"Block\",\n        SourceContent = \"[scripts file content]\",\n    });\n\n    var exampleGalleryApplicationVersion = new Azure.Compute.GalleryApplicationVersion(\"example\", new()\n    {\n        Name = \"0.0.1\",\n        GalleryApplicationId = exampleGalleryApplication.Id,\n        Location = exampleGalleryApplication.Location,\n        ManageAction = new Azure.Compute.Inputs.GalleryApplicationVersionManageActionArgs\n        {\n            Install = \"[install command]\",\n            Remove = \"[remove command]\",\n        },\n        Source = new Azure.Compute.Inputs.GalleryApplicationVersionSourceArgs\n        {\n            MediaLink = exampleBlob.Id,\n        },\n        TargetRegions = new[]\n        {\n            new Azure.Compute.Inputs.GalleryApplicationVersionTargetRegionArgs\n            {\n                Name = exampleGalleryApplication.Location,\n                RegionalReplicaCount = 1,\n            },\n        },\n    });\n\n    var exampleGalleryApplicationAssignment = new Azure.Compute.GalleryApplicationAssignment(\"example\", new()\n    {\n        GalleryApplicationVersionId = exampleGalleryApplicationVersion.Id,\n        VirtualMachineId = example.Apply(getVirtualMachineResult =\u003e getVirtualMachineResult.Id),\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/compute\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := compute.LookupVirtualMachine(ctx, \u0026compute.LookupVirtualMachineArgs{\n\t\t\tName:              \"example-vm\",\n\t\t\tResourceGroupName: \"example-resources-vm\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSharedImageGallery, err := compute.NewSharedImageGallery(ctx, \"example\", \u0026compute.SharedImageGalleryArgs{\n\t\t\tName:              pulumi.String(\"examplegallery\"),\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tLocation:          exampleResourceGroup.Location,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleGalleryApplication, err := compute.NewGalleryApplication(ctx, \"example\", \u0026compute.GalleryApplicationArgs{\n\t\t\tName:            pulumi.String(\"example-app\"),\n\t\t\tGalleryId:       exampleSharedImageGallery.ID(),\n\t\t\tLocation:        exampleResourceGroup.Location,\n\t\t\tSupportedOsType: pulumi.String(\"Linux\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := storage.NewAccount(ctx, \"example\", \u0026storage.AccountArgs{\n\t\t\tName:                   pulumi.String(\"examplestorage\"),\n\t\t\tResourceGroupName:      exampleResourceGroup.Name,\n\t\t\tLocation:               exampleResourceGroup.Location,\n\t\t\tAccountTier:            pulumi.String(\"Standard\"),\n\t\t\tAccountReplicationType: pulumi.String(\"LRS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleContainer, err := storage.NewContainer(ctx, \"example\", \u0026storage.ContainerArgs{\n\t\t\tName:                pulumi.String(\"example-container\"),\n\t\t\tStorageAccountName:  exampleAccount.Name,\n\t\t\tContainerAccessType: pulumi.String(\"blob\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleBlob, err := storage.NewBlob(ctx, \"example\", \u0026storage.BlobArgs{\n\t\t\tName:                 pulumi.String(\"scripts\"),\n\t\t\tStorageAccountName:   exampleAccount.Name,\n\t\t\tStorageContainerName: exampleContainer.Name,\n\t\t\tType:                 pulumi.String(\"Block\"),\n\t\t\tSourceContent:        pulumi.String(\"[scripts file content]\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleGalleryApplicationVersion, err := compute.NewGalleryApplicationVersion(ctx, \"example\", \u0026compute.GalleryApplicationVersionArgs{\n\t\t\tName:                 pulumi.String(\"0.0.1\"),\n\t\t\tGalleryApplicationId: exampleGalleryApplication.ID(),\n\t\t\tLocation:             exampleGalleryApplication.Location,\n\t\t\tManageAction: \u0026compute.GalleryApplicationVersionManageActionArgs{\n\t\t\t\tInstall: pulumi.String(\"[install command]\"),\n\t\t\t\tRemove:  pulumi.String(\"[remove command]\"),\n\t\t\t},\n\t\t\tSource: \u0026compute.GalleryApplicationVersionSourceArgs{\n\t\t\t\tMediaLink: exampleBlob.ID(),\n\t\t\t},\n\t\t\tTargetRegions: compute.GalleryApplicationVersionTargetRegionArray{\n\t\t\t\t\u0026compute.GalleryApplicationVersionTargetRegionArgs{\n\t\t\t\t\tName:                 exampleGalleryApplication.Location,\n\t\t\t\t\tRegionalReplicaCount: pulumi.Int(1),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = compute.NewGalleryApplicationAssignment(ctx, \"example\", \u0026compute.GalleryApplicationAssignmentArgs{\n\t\t\tGalleryApplicationVersionId: exampleGalleryApplicationVersion.ID(),\n\t\t\tVirtualMachineId:            pulumi.String(example.Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.compute.ComputeFunctions;\nimport com.pulumi.azure.compute.inputs.GetVirtualMachineArgs;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.compute.SharedImageGallery;\nimport com.pulumi.azure.compute.SharedImageGalleryArgs;\nimport com.pulumi.azure.compute.GalleryApplication;\nimport com.pulumi.azure.compute.GalleryApplicationArgs;\nimport com.pulumi.azure.storage.Account;\nimport com.pulumi.azure.storage.AccountArgs;\nimport com.pulumi.azure.storage.Container;\nimport com.pulumi.azure.storage.ContainerArgs;\nimport com.pulumi.azure.storage.Blob;\nimport com.pulumi.azure.storage.BlobArgs;\nimport com.pulumi.azure.compute.GalleryApplicationVersion;\nimport com.pulumi.azure.compute.GalleryApplicationVersionArgs;\nimport com.pulumi.azure.compute.inputs.GalleryApplicationVersionManageActionArgs;\nimport com.pulumi.azure.compute.inputs.GalleryApplicationVersionSourceArgs;\nimport com.pulumi.azure.compute.inputs.GalleryApplicationVersionTargetRegionArgs;\nimport com.pulumi.azure.compute.GalleryApplicationAssignment;\nimport com.pulumi.azure.compute.GalleryApplicationAssignmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = ComputeFunctions.getVirtualMachine(GetVirtualMachineArgs.builder()\n            .name(\"example-vm\")\n            .resourceGroupName(\"example-resources-vm\")\n            .build());\n\n        var exampleResourceGroup = new ResourceGroup(\"exampleResourceGroup\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleSharedImageGallery = new SharedImageGallery(\"exampleSharedImageGallery\", SharedImageGalleryArgs.builder()\n            .name(\"examplegallery\")\n            .resourceGroupName(exampleResourceGroup.name())\n            .location(exampleResourceGroup.location())\n            .build());\n\n        var exampleGalleryApplication = new GalleryApplication(\"exampleGalleryApplication\", GalleryApplicationArgs.builder()\n            .name(\"example-app\")\n            .galleryId(exampleSharedImageGallery.id())\n            .location(exampleResourceGroup.location())\n            .supportedOsType(\"Linux\")\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"examplestorage\")\n            .resourceGroupName(exampleResourceGroup.name())\n            .location(exampleResourceGroup.location())\n            .accountTier(\"Standard\")\n            .accountReplicationType(\"LRS\")\n            .build());\n\n        var exampleContainer = new Container(\"exampleContainer\", ContainerArgs.builder()\n            .name(\"example-container\")\n            .storageAccountName(exampleAccount.name())\n            .containerAccessType(\"blob\")\n            .build());\n\n        var exampleBlob = new Blob(\"exampleBlob\", BlobArgs.builder()\n            .name(\"scripts\")\n            .storageAccountName(exampleAccount.name())\n            .storageContainerName(exampleContainer.name())\n            .type(\"Block\")\n            .sourceContent(\"[scripts file content]\")\n            .build());\n\n        var exampleGalleryApplicationVersion = new GalleryApplicationVersion(\"exampleGalleryApplicationVersion\", GalleryApplicationVersionArgs.builder()\n            .name(\"0.0.1\")\n            .galleryApplicationId(exampleGalleryApplication.id())\n            .location(exampleGalleryApplication.location())\n            .manageAction(GalleryApplicationVersionManageActionArgs.builder()\n                .install(\"[install command]\")\n                .remove(\"[remove command]\")\n                .build())\n            .source(GalleryApplicationVersionSourceArgs.builder()\n                .mediaLink(exampleBlob.id())\n                .build())\n            .targetRegions(GalleryApplicationVersionTargetRegionArgs.builder()\n                .name(exampleGalleryApplication.location())\n                .regionalReplicaCount(1)\n                .build())\n            .build());\n\n        var exampleGalleryApplicationAssignment = new GalleryApplicationAssignment(\"exampleGalleryApplicationAssignment\", GalleryApplicationAssignmentArgs.builder()\n            .galleryApplicationVersionId(exampleGalleryApplicationVersion.id())\n            .virtualMachineId(example.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleResourceGroup:\n    type: azure:core:ResourceGroup\n    name: example\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleSharedImageGallery:\n    type: azure:compute:SharedImageGallery\n    name: example\n    properties:\n      name: examplegallery\n      resourceGroupName: ${exampleResourceGroup.name}\n      location: ${exampleResourceGroup.location}\n  exampleGalleryApplication:\n    type: azure:compute:GalleryApplication\n    name: example\n    properties:\n      name: example-app\n      galleryId: ${exampleSharedImageGallery.id}\n      location: ${exampleResourceGroup.location}\n      supportedOsType: Linux\n  exampleAccount:\n    type: azure:storage:Account\n    name: example\n    properties:\n      name: examplestorage\n      resourceGroupName: ${exampleResourceGroup.name}\n      location: ${exampleResourceGroup.location}\n      accountTier: Standard\n      accountReplicationType: LRS\n  exampleContainer:\n    type: azure:storage:Container\n    name: example\n    properties:\n      name: example-container\n      storageAccountName: ${exampleAccount.name}\n      containerAccessType: blob\n  exampleBlob:\n    type: azure:storage:Blob\n    name: example\n    properties:\n      name: scripts\n      storageAccountName: ${exampleAccount.name}\n      storageContainerName: ${exampleContainer.name}\n      type: Block\n      sourceContent: '[scripts file content]'\n  exampleGalleryApplicationVersion:\n    type: azure:compute:GalleryApplicationVersion\n    name: example\n    properties:\n      name: 0.0.1\n      galleryApplicationId: ${exampleGalleryApplication.id}\n      location: ${exampleGalleryApplication.location}\n      manageAction:\n        install: '[install command]'\n        remove: '[remove command]'\n      source:\n        mediaLink: ${exampleBlob.id}\n      targetRegions:\n        - name: ${exampleGalleryApplication.location}\n          regionalReplicaCount: 1\n  exampleGalleryApplicationAssignment:\n    type: azure:compute:GalleryApplicationAssignment\n    name: example\n    properties:\n      galleryApplicationVersionId: ${exampleGalleryApplicationVersion.id}\n      virtualMachineId: ${example.id}\nvariables:\n  example:\n    fn::invoke:\n      function: azure:compute:getVirtualMachine\n      arguments:\n        name: example-vm\n        resourceGroupName: example-resources-vm\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Compute` - 2024-03-01\n\n## Import\n\nVirtual Machine Gallery Application Assignments can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:compute/galleryApplicationAssignment:GalleryApplicationAssignment example subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Compute/virtualMachines/machine1|/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Compute/galleries/gallery1/applications/galleryApplication1/versions/galleryApplicationVersion1\n```\n\n","properties":{"configurationBlobUri":{"type":"string","description":"Specifies the URI to an Azure Blob that will replace the default configuration for the package if provided. Changing this forces a new resource to be created.\n"},"galleryApplicationVersionId":{"type":"string","description":"The ID of the Gallery Application Version. Changing this forces a new resource to be created.\n"},"order":{"type":"integer","description":"Specifies the order in which the packages have to be installed. Possible values are between \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`2147483647`\" pulumi-lang-dotnet=\"`2147483647`\" pulumi-lang-go=\"`2147483647`\" pulumi-lang-python=\"`2147483647`\" pulumi-lang-yaml=\"`2147483647`\" pulumi-lang-java=\"`2147483647`\"\u003e`2147483647`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"tag":{"type":"string","description":"Specifies a passthrough value for more generic context. This field can be any valid \u003cspan pulumi-lang-nodejs=\"`string`\" pulumi-lang-dotnet=\"`String`\" pulumi-lang-go=\"`string`\" pulumi-lang-python=\"`string`\" pulumi-lang-yaml=\"`string`\" pulumi-lang-java=\"`string`\"\u003e`string`\u003c/span\u003e value. Changing this forces a new resource to be created.\n"},"virtualMachineId":{"type":"string","description":"The ID of the Virtual Machine. Changing this forces a new resource to be created.\n"}},"required":["galleryApplicationVersionId","virtualMachineId"],"inputProperties":{"configurationBlobUri":{"type":"string","description":"Specifies the URI to an Azure Blob that will replace the default configuration for the package if provided. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"galleryApplicationVersionId":{"type":"string","description":"The ID of the Gallery Application Version. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"order":{"type":"integer","description":"Specifies the order in which the packages have to be installed. Possible values are between \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`2147483647`\" pulumi-lang-dotnet=\"`2147483647`\" pulumi-lang-go=\"`2147483647`\" pulumi-lang-python=\"`2147483647`\" pulumi-lang-yaml=\"`2147483647`\" pulumi-lang-java=\"`2147483647`\"\u003e`2147483647`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"tag":{"type":"string","description":"Specifies a passthrough value for more generic context. This field can be any valid \u003cspan pulumi-lang-nodejs=\"`string`\" pulumi-lang-dotnet=\"`String`\" pulumi-lang-go=\"`string`\" pulumi-lang-python=\"`string`\" pulumi-lang-yaml=\"`string`\" pulumi-lang-java=\"`string`\"\u003e`string`\u003c/span\u003e value. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"virtualMachineId":{"type":"string","description":"The ID of the Virtual Machine. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["galleryApplicationVersionId","virtualMachineId"],"stateInputs":{"description":"Input properties used for looking up and filtering GalleryApplicationAssignment resources.\n","properties":{"configurationBlobUri":{"type":"string","description":"Specifies the URI to an Azure Blob that will replace the default configuration for the package if provided. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"galleryApplicationVersionId":{"type":"string","description":"The ID of the Gallery Application Version. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"order":{"type":"integer","description":"Specifies the order in which the packages have to be installed. Possible values are between \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`2147483647`\" pulumi-lang-dotnet=\"`2147483647`\" pulumi-lang-go=\"`2147483647`\" pulumi-lang-python=\"`2147483647`\" pulumi-lang-yaml=\"`2147483647`\" pulumi-lang-java=\"`2147483647`\"\u003e`2147483647`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"tag":{"type":"string","description":"Specifies a passthrough value for more generic context. This field can be any valid \u003cspan pulumi-lang-nodejs=\"`string`\" pulumi-lang-dotnet=\"`String`\" pulumi-lang-go=\"`string`\" pulumi-lang-python=\"`string`\" pulumi-lang-yaml=\"`string`\" pulumi-lang-java=\"`string`\"\u003e`string`\u003c/span\u003e value. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"virtualMachineId":{"type":"string","description":"The ID of the Virtual Machine. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:compute/galleryApplicationVersion:GalleryApplicationVersion":{"description":"Manages a Gallery Application Version.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-rg\",\n    location: \"West Europe\",\n});\nconst exampleSharedImageGallery = new azure.compute.SharedImageGallery(\"example\", {\n    name: \"examplegallery\",\n    resourceGroupName: example.name,\n    location: example.location,\n});\nconst exampleGalleryApplication = new azure.compute.GalleryApplication(\"example\", {\n    name: \"example-app\",\n    galleryId: exampleSharedImageGallery.id,\n    location: example.location,\n    supportedOsType: \"Linux\",\n});\nconst exampleAccount = new azure.storage.Account(\"example\", {\n    name: \"examplestorage\",\n    resourceGroupName: example.name,\n    location: example.location,\n    accountTier: \"Standard\",\n    accountReplicationType: \"LRS\",\n});\nconst exampleContainer = new azure.storage.Container(\"example\", {\n    name: \"example-container\",\n    storageAccountName: exampleAccount.name,\n    containerAccessType: \"blob\",\n});\nconst exampleBlob = new azure.storage.Blob(\"example\", {\n    name: \"scripts\",\n    storageAccountName: exampleAccount.name,\n    storageContainerName: exampleContainer.name,\n    type: \"Block\",\n    sourceContent: \"[scripts file content]\",\n});\nconst exampleGalleryApplicationVersion = new azure.compute.GalleryApplicationVersion(\"example\", {\n    name: \"0.0.1\",\n    galleryApplicationId: exampleGalleryApplication.id,\n    location: exampleGalleryApplication.location,\n    manageAction: {\n        install: \"[install command]\",\n        remove: \"[remove command]\",\n    },\n    source: {\n        mediaLink: exampleBlob.id,\n    },\n    targetRegions: [{\n        name: exampleGalleryApplication.location,\n        regionalReplicaCount: 1,\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-rg\",\n    location=\"West Europe\")\nexample_shared_image_gallery = azure.compute.SharedImageGallery(\"example\",\n    name=\"examplegallery\",\n    resource_group_name=example.name,\n    location=example.location)\nexample_gallery_application = azure.compute.GalleryApplication(\"example\",\n    name=\"example-app\",\n    gallery_id=example_shared_image_gallery.id,\n    location=example.location,\n    supported_os_type=\"Linux\")\nexample_account = azure.storage.Account(\"example\",\n    name=\"examplestorage\",\n    resource_group_name=example.name,\n    location=example.location,\n    account_tier=\"Standard\",\n    account_replication_type=\"LRS\")\nexample_container = azure.storage.Container(\"example\",\n    name=\"example-container\",\n    storage_account_name=example_account.name,\n    container_access_type=\"blob\")\nexample_blob = azure.storage.Blob(\"example\",\n    name=\"scripts\",\n    storage_account_name=example_account.name,\n    storage_container_name=example_container.name,\n    type=\"Block\",\n    source_content=\"[scripts file content]\")\nexample_gallery_application_version = azure.compute.GalleryApplicationVersion(\"example\",\n    name=\"0.0.1\",\n    gallery_application_id=example_gallery_application.id,\n    location=example_gallery_application.location,\n    manage_action={\n        \"install\": \"[install command]\",\n        \"remove\": \"[remove command]\",\n    },\n    source={\n        \"media_link\": example_blob.id,\n    },\n    target_regions=[{\n        \"name\": example_gallery_application.location,\n        \"regional_replica_count\": 1,\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-rg\",\n        Location = \"West Europe\",\n    });\n\n    var exampleSharedImageGallery = new Azure.Compute.SharedImageGallery(\"example\", new()\n    {\n        Name = \"examplegallery\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n    });\n\n    var exampleGalleryApplication = new Azure.Compute.GalleryApplication(\"example\", new()\n    {\n        Name = \"example-app\",\n        GalleryId = exampleSharedImageGallery.Id,\n        Location = example.Location,\n        SupportedOsType = \"Linux\",\n    });\n\n    var exampleAccount = new Azure.Storage.Account(\"example\", new()\n    {\n        Name = \"examplestorage\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        AccountTier = \"Standard\",\n        AccountReplicationType = \"LRS\",\n    });\n\n    var exampleContainer = new Azure.Storage.Container(\"example\", new()\n    {\n        Name = \"example-container\",\n        StorageAccountName = exampleAccount.Name,\n        ContainerAccessType = \"blob\",\n    });\n\n    var exampleBlob = new Azure.Storage.Blob(\"example\", new()\n    {\n        Name = \"scripts\",\n        StorageAccountName = exampleAccount.Name,\n        StorageContainerName = exampleContainer.Name,\n        Type = \"Block\",\n        SourceContent = \"[scripts file content]\",\n    });\n\n    var exampleGalleryApplicationVersion = new Azure.Compute.GalleryApplicationVersion(\"example\", new()\n    {\n        Name = \"0.0.1\",\n        GalleryApplicationId = exampleGalleryApplication.Id,\n        Location = exampleGalleryApplication.Location,\n        ManageAction = new Azure.Compute.Inputs.GalleryApplicationVersionManageActionArgs\n        {\n            Install = \"[install command]\",\n            Remove = \"[remove command]\",\n        },\n        Source = new Azure.Compute.Inputs.GalleryApplicationVersionSourceArgs\n        {\n            MediaLink = exampleBlob.Id,\n        },\n        TargetRegions = new[]\n        {\n            new Azure.Compute.Inputs.GalleryApplicationVersionTargetRegionArgs\n            {\n                Name = exampleGalleryApplication.Location,\n                RegionalReplicaCount = 1,\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/compute\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-rg\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSharedImageGallery, err := compute.NewSharedImageGallery(ctx, \"example\", \u0026compute.SharedImageGalleryArgs{\n\t\t\tName:              pulumi.String(\"examplegallery\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleGalleryApplication, err := compute.NewGalleryApplication(ctx, \"example\", \u0026compute.GalleryApplicationArgs{\n\t\t\tName:            pulumi.String(\"example-app\"),\n\t\t\tGalleryId:       exampleSharedImageGallery.ID(),\n\t\t\tLocation:        example.Location,\n\t\t\tSupportedOsType: pulumi.String(\"Linux\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := storage.NewAccount(ctx, \"example\", \u0026storage.AccountArgs{\n\t\t\tName:                   pulumi.String(\"examplestorage\"),\n\t\t\tResourceGroupName:      example.Name,\n\t\t\tLocation:               example.Location,\n\t\t\tAccountTier:            pulumi.String(\"Standard\"),\n\t\t\tAccountReplicationType: pulumi.String(\"LRS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleContainer, err := storage.NewContainer(ctx, \"example\", \u0026storage.ContainerArgs{\n\t\t\tName:                pulumi.String(\"example-container\"),\n\t\t\tStorageAccountName:  exampleAccount.Name,\n\t\t\tContainerAccessType: pulumi.String(\"blob\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleBlob, err := storage.NewBlob(ctx, \"example\", \u0026storage.BlobArgs{\n\t\t\tName:                 pulumi.String(\"scripts\"),\n\t\t\tStorageAccountName:   exampleAccount.Name,\n\t\t\tStorageContainerName: exampleContainer.Name,\n\t\t\tType:                 pulumi.String(\"Block\"),\n\t\t\tSourceContent:        pulumi.String(\"[scripts file content]\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = compute.NewGalleryApplicationVersion(ctx, \"example\", \u0026compute.GalleryApplicationVersionArgs{\n\t\t\tName:                 pulumi.String(\"0.0.1\"),\n\t\t\tGalleryApplicationId: exampleGalleryApplication.ID(),\n\t\t\tLocation:             exampleGalleryApplication.Location,\n\t\t\tManageAction: \u0026compute.GalleryApplicationVersionManageActionArgs{\n\t\t\t\tInstall: pulumi.String(\"[install command]\"),\n\t\t\t\tRemove:  pulumi.String(\"[remove command]\"),\n\t\t\t},\n\t\t\tSource: \u0026compute.GalleryApplicationVersionSourceArgs{\n\t\t\t\tMediaLink: exampleBlob.ID(),\n\t\t\t},\n\t\t\tTargetRegions: compute.GalleryApplicationVersionTargetRegionArray{\n\t\t\t\t\u0026compute.GalleryApplicationVersionTargetRegionArgs{\n\t\t\t\t\tName:                 exampleGalleryApplication.Location,\n\t\t\t\t\tRegionalReplicaCount: pulumi.Int(1),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.compute.SharedImageGallery;\nimport com.pulumi.azure.compute.SharedImageGalleryArgs;\nimport com.pulumi.azure.compute.GalleryApplication;\nimport com.pulumi.azure.compute.GalleryApplicationArgs;\nimport com.pulumi.azure.storage.Account;\nimport com.pulumi.azure.storage.AccountArgs;\nimport com.pulumi.azure.storage.Container;\nimport com.pulumi.azure.storage.ContainerArgs;\nimport com.pulumi.azure.storage.Blob;\nimport com.pulumi.azure.storage.BlobArgs;\nimport com.pulumi.azure.compute.GalleryApplicationVersion;\nimport com.pulumi.azure.compute.GalleryApplicationVersionArgs;\nimport com.pulumi.azure.compute.inputs.GalleryApplicationVersionManageActionArgs;\nimport com.pulumi.azure.compute.inputs.GalleryApplicationVersionSourceArgs;\nimport com.pulumi.azure.compute.inputs.GalleryApplicationVersionTargetRegionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-rg\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleSharedImageGallery = new SharedImageGallery(\"exampleSharedImageGallery\", SharedImageGalleryArgs.builder()\n            .name(\"examplegallery\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .build());\n\n        var exampleGalleryApplication = new GalleryApplication(\"exampleGalleryApplication\", GalleryApplicationArgs.builder()\n            .name(\"example-app\")\n            .galleryId(exampleSharedImageGallery.id())\n            .location(example.location())\n            .supportedOsType(\"Linux\")\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"examplestorage\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .accountTier(\"Standard\")\n            .accountReplicationType(\"LRS\")\n            .build());\n\n        var exampleContainer = new Container(\"exampleContainer\", ContainerArgs.builder()\n            .name(\"example-container\")\n            .storageAccountName(exampleAccount.name())\n            .containerAccessType(\"blob\")\n            .build());\n\n        var exampleBlob = new Blob(\"exampleBlob\", BlobArgs.builder()\n            .name(\"scripts\")\n            .storageAccountName(exampleAccount.name())\n            .storageContainerName(exampleContainer.name())\n            .type(\"Block\")\n            .sourceContent(\"[scripts file content]\")\n            .build());\n\n        var exampleGalleryApplicationVersion = new GalleryApplicationVersion(\"exampleGalleryApplicationVersion\", GalleryApplicationVersionArgs.builder()\n            .name(\"0.0.1\")\n            .galleryApplicationId(exampleGalleryApplication.id())\n            .location(exampleGalleryApplication.location())\n            .manageAction(GalleryApplicationVersionManageActionArgs.builder()\n                .install(\"[install command]\")\n                .remove(\"[remove command]\")\n                .build())\n            .source(GalleryApplicationVersionSourceArgs.builder()\n                .mediaLink(exampleBlob.id())\n                .build())\n            .targetRegions(GalleryApplicationVersionTargetRegionArgs.builder()\n                .name(exampleGalleryApplication.location())\n                .regionalReplicaCount(1)\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-rg\n      location: West Europe\n  exampleSharedImageGallery:\n    type: azure:compute:SharedImageGallery\n    name: example\n    properties:\n      name: examplegallery\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n  exampleGalleryApplication:\n    type: azure:compute:GalleryApplication\n    name: example\n    properties:\n      name: example-app\n      galleryId: ${exampleSharedImageGallery.id}\n      location: ${example.location}\n      supportedOsType: Linux\n  exampleAccount:\n    type: azure:storage:Account\n    name: example\n    properties:\n      name: examplestorage\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      accountTier: Standard\n      accountReplicationType: LRS\n  exampleContainer:\n    type: azure:storage:Container\n    name: example\n    properties:\n      name: example-container\n      storageAccountName: ${exampleAccount.name}\n      containerAccessType: blob\n  exampleBlob:\n    type: azure:storage:Blob\n    name: example\n    properties:\n      name: scripts\n      storageAccountName: ${exampleAccount.name}\n      storageContainerName: ${exampleContainer.name}\n      type: Block\n      sourceContent: '[scripts file content]'\n  exampleGalleryApplicationVersion:\n    type: azure:compute:GalleryApplicationVersion\n    name: example\n    properties:\n      name: 0.0.1\n      galleryApplicationId: ${exampleGalleryApplication.id}\n      location: ${exampleGalleryApplication.location}\n      manageAction:\n        install: '[install command]'\n        remove: '[remove command]'\n      source:\n        mediaLink: ${exampleBlob.id}\n      targetRegions:\n        - name: ${exampleGalleryApplication.location}\n          regionalReplicaCount: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Compute` - 2022-03-03\n\n## Import\n\nGallery Application Versions can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:compute/galleryApplicationVersion:GalleryApplicationVersion example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Compute/galleries/gallery1/applications/galleryApplication1/versions/galleryApplicationVersion1\n```\n\n","properties":{"configFile":{"type":"string","description":"Specifies the name of the config file on the VM. Changing this forces a new resource to be created.\n"},"enableHealthCheck":{"type":"boolean","description":"Should the Gallery Application reports health. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"endOfLifeDate":{"type":"string","description":"The end of life date in RFC3339 format of the Gallery Application Version.\n"},"excludeFromLatest":{"type":"boolean","description":"Should the Gallery Application Version be excluded from the \u003cspan pulumi-lang-nodejs=\"`latest`\" pulumi-lang-dotnet=\"`Latest`\" pulumi-lang-go=\"`latest`\" pulumi-lang-python=\"`latest`\" pulumi-lang-yaml=\"`latest`\" pulumi-lang-java=\"`latest`\"\u003e`latest`\u003c/span\u003e filter? If set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e this Gallery Application Version won't be returned for the \u003cspan pulumi-lang-nodejs=\"`latest`\" pulumi-lang-dotnet=\"`Latest`\" pulumi-lang-go=\"`latest`\" pulumi-lang-python=\"`latest`\" pulumi-lang-yaml=\"`latest`\" pulumi-lang-java=\"`latest`\"\u003e`latest`\u003c/span\u003e version. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"galleryApplicationId":{"type":"string","description":"The ID of the Gallery Application. Changing this forces a new resource to be created.\n"},"location":{"type":"string","description":"The Azure Region where the Gallery Application Version exists. Changing this forces a new resource to be created.\n"},"manageAction":{"$ref":"#/types/azure:compute/GalleryApplicationVersionManageAction:GalleryApplicationVersionManageAction","description":"A \u003cspan pulumi-lang-nodejs=\"`manageAction`\" pulumi-lang-dotnet=\"`ManageAction`\" pulumi-lang-go=\"`manageAction`\" pulumi-lang-python=\"`manage_action`\" pulumi-lang-yaml=\"`manageAction`\" pulumi-lang-java=\"`manageAction`\"\u003e`manage_action`\u003c/span\u003e block as defined below.\n"},"name":{"type":"string","description":"The version name of the Gallery Application Version, such as `1.0.0`. Changing this forces a new resource to be created.\n"},"packageFile":{"type":"string","description":"Specifies the name of the package file on the VM. Changing this forces a new resource to be created.\n"},"source":{"$ref":"#/types/azure:compute/GalleryApplicationVersionSource:GalleryApplicationVersionSource","description":"A \u003cspan pulumi-lang-nodejs=\"`source`\" pulumi-lang-dotnet=\"`Source`\" pulumi-lang-go=\"`source`\" pulumi-lang-python=\"`source`\" pulumi-lang-yaml=\"`source`\" pulumi-lang-java=\"`source`\"\u003e`source`\u003c/span\u003e block as defined below.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the Gallery Application Version.\n"},"targetRegions":{"type":"array","items":{"$ref":"#/types/azure:compute/GalleryApplicationVersionTargetRegion:GalleryApplicationVersionTargetRegion"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`targetRegion`\" pulumi-lang-dotnet=\"`TargetRegion`\" pulumi-lang-go=\"`targetRegion`\" pulumi-lang-python=\"`target_region`\" pulumi-lang-yaml=\"`targetRegion`\" pulumi-lang-java=\"`targetRegion`\"\u003e`target_region`\u003c/span\u003e blocks as defined below.\n"}},"required":["galleryApplicationId","location","manageAction","name","source","targetRegions"],"inputProperties":{"configFile":{"type":"string","description":"Specifies the name of the config file on the VM. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"enableHealthCheck":{"type":"boolean","description":"Should the Gallery Application reports health. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"endOfLifeDate":{"type":"string","description":"The end of life date in RFC3339 format of the Gallery Application Version.\n"},"excludeFromLatest":{"type":"boolean","description":"Should the Gallery Application Version be excluded from the \u003cspan pulumi-lang-nodejs=\"`latest`\" pulumi-lang-dotnet=\"`Latest`\" pulumi-lang-go=\"`latest`\" pulumi-lang-python=\"`latest`\" pulumi-lang-yaml=\"`latest`\" pulumi-lang-java=\"`latest`\"\u003e`latest`\u003c/span\u003e filter? If set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e this Gallery Application Version won't be returned for the \u003cspan pulumi-lang-nodejs=\"`latest`\" pulumi-lang-dotnet=\"`Latest`\" pulumi-lang-go=\"`latest`\" pulumi-lang-python=\"`latest`\" pulumi-lang-yaml=\"`latest`\" pulumi-lang-java=\"`latest`\"\u003e`latest`\u003c/span\u003e version. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"galleryApplicationId":{"type":"string","description":"The ID of the Gallery Application. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"location":{"type":"string","description":"The Azure Region where the Gallery Application Version exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"manageAction":{"$ref":"#/types/azure:compute/GalleryApplicationVersionManageAction:GalleryApplicationVersionManageAction","description":"A \u003cspan pulumi-lang-nodejs=\"`manageAction`\" pulumi-lang-dotnet=\"`ManageAction`\" pulumi-lang-go=\"`manageAction`\" pulumi-lang-python=\"`manage_action`\" pulumi-lang-yaml=\"`manageAction`\" pulumi-lang-java=\"`manageAction`\"\u003e`manage_action`\u003c/span\u003e block as defined below.\n"},"name":{"type":"string","description":"The version name of the Gallery Application Version, such as `1.0.0`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"packageFile":{"type":"string","description":"Specifies the name of the package file on the VM. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"source":{"$ref":"#/types/azure:compute/GalleryApplicationVersionSource:GalleryApplicationVersionSource","description":"A \u003cspan pulumi-lang-nodejs=\"`source`\" pulumi-lang-dotnet=\"`Source`\" pulumi-lang-go=\"`source`\" pulumi-lang-python=\"`source`\" pulumi-lang-yaml=\"`source`\" pulumi-lang-java=\"`source`\"\u003e`source`\u003c/span\u003e block as defined below.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the Gallery Application Version.\n"},"targetRegions":{"type":"array","items":{"$ref":"#/types/azure:compute/GalleryApplicationVersionTargetRegion:GalleryApplicationVersionTargetRegion"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`targetRegion`\" pulumi-lang-dotnet=\"`TargetRegion`\" pulumi-lang-go=\"`targetRegion`\" pulumi-lang-python=\"`target_region`\" pulumi-lang-yaml=\"`targetRegion`\" pulumi-lang-java=\"`targetRegion`\"\u003e`target_region`\u003c/span\u003e blocks as defined below.\n"}},"requiredInputs":["galleryApplicationId","manageAction","source","targetRegions"],"stateInputs":{"description":"Input properties used for looking up and filtering GalleryApplicationVersion resources.\n","properties":{"configFile":{"type":"string","description":"Specifies the name of the config file on the VM. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"enableHealthCheck":{"type":"boolean","description":"Should the Gallery Application reports health. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"endOfLifeDate":{"type":"string","description":"The end of life date in RFC3339 format of the Gallery Application Version.\n"},"excludeFromLatest":{"type":"boolean","description":"Should the Gallery Application Version be excluded from the \u003cspan pulumi-lang-nodejs=\"`latest`\" pulumi-lang-dotnet=\"`Latest`\" pulumi-lang-go=\"`latest`\" pulumi-lang-python=\"`latest`\" pulumi-lang-yaml=\"`latest`\" pulumi-lang-java=\"`latest`\"\u003e`latest`\u003c/span\u003e filter? If set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e this Gallery Application Version won't be returned for the \u003cspan pulumi-lang-nodejs=\"`latest`\" pulumi-lang-dotnet=\"`Latest`\" pulumi-lang-go=\"`latest`\" pulumi-lang-python=\"`latest`\" pulumi-lang-yaml=\"`latest`\" pulumi-lang-java=\"`latest`\"\u003e`latest`\u003c/span\u003e version. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"galleryApplicationId":{"type":"string","description":"The ID of the Gallery Application. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"location":{"type":"string","description":"The Azure Region where the Gallery Application Version exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"manageAction":{"$ref":"#/types/azure:compute/GalleryApplicationVersionManageAction:GalleryApplicationVersionManageAction","description":"A \u003cspan pulumi-lang-nodejs=\"`manageAction`\" pulumi-lang-dotnet=\"`ManageAction`\" pulumi-lang-go=\"`manageAction`\" pulumi-lang-python=\"`manage_action`\" pulumi-lang-yaml=\"`manageAction`\" pulumi-lang-java=\"`manageAction`\"\u003e`manage_action`\u003c/span\u003e block as defined below.\n"},"name":{"type":"string","description":"The version name of the Gallery Application Version, such as `1.0.0`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"packageFile":{"type":"string","description":"Specifies the name of the package file on the VM. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"source":{"$ref":"#/types/azure:compute/GalleryApplicationVersionSource:GalleryApplicationVersionSource","description":"A \u003cspan pulumi-lang-nodejs=\"`source`\" pulumi-lang-dotnet=\"`Source`\" pulumi-lang-go=\"`source`\" pulumi-lang-python=\"`source`\" pulumi-lang-yaml=\"`source`\" pulumi-lang-java=\"`source`\"\u003e`source`\u003c/span\u003e block as defined below.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the Gallery Application Version.\n"},"targetRegions":{"type":"array","items":{"$ref":"#/types/azure:compute/GalleryApplicationVersionTargetRegion:GalleryApplicationVersionTargetRegion"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`targetRegion`\" pulumi-lang-dotnet=\"`TargetRegion`\" pulumi-lang-go=\"`targetRegion`\" pulumi-lang-python=\"`target_region`\" pulumi-lang-yaml=\"`targetRegion`\" pulumi-lang-java=\"`targetRegion`\"\u003e`target_region`\u003c/span\u003e blocks as defined below.\n"}},"type":"object"}},"azure:compute/image:Image":{"description":"Manages a custom virtual machine image that can be used to create virtual machines.\n\n## Example Usage\n\n\u003e **Note:** For a more complete example, see the `examples/image` directory within the GitHub Repository.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.compute.getVirtualMachine({\n    name: \"examplevm\",\n    resourceGroupName: \"example-resources\",\n});\nconst exampleImage = new azure.compute.Image(\"example\", {\n    name: \"exampleimage\",\n    location: example.then(example =\u003e example.location),\n    resourceGroupName: example.then(example =\u003e example.name),\n    sourceVirtualMachineId: example.then(example =\u003e example.id),\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.compute.get_virtual_machine(name=\"examplevm\",\n    resource_group_name=\"example-resources\")\nexample_image = azure.compute.Image(\"example\",\n    name=\"exampleimage\",\n    location=example.location,\n    resource_group_name=example.name,\n    source_virtual_machine_id=example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Compute.GetVirtualMachine.Invoke(new()\n    {\n        Name = \"examplevm\",\n        ResourceGroupName = \"example-resources\",\n    });\n\n    var exampleImage = new Azure.Compute.Image(\"example\", new()\n    {\n        Name = \"exampleimage\",\n        Location = example.Apply(getVirtualMachineResult =\u003e getVirtualMachineResult.Location),\n        ResourceGroupName = example.Apply(getVirtualMachineResult =\u003e getVirtualMachineResult.Name),\n        SourceVirtualMachineId = example.Apply(getVirtualMachineResult =\u003e getVirtualMachineResult.Id),\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/compute\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := compute.LookupVirtualMachine(ctx, \u0026compute.LookupVirtualMachineArgs{\n\t\t\tName:              \"examplevm\",\n\t\t\tResourceGroupName: \"example-resources\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = compute.NewImage(ctx, \"example\", \u0026compute.ImageArgs{\n\t\t\tName:                   pulumi.String(\"exampleimage\"),\n\t\t\tLocation:               pulumi.String(example.Location),\n\t\t\tResourceGroupName:      pulumi.String(example.Name),\n\t\t\tSourceVirtualMachineId: pulumi.String(example.Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.compute.ComputeFunctions;\nimport com.pulumi.azure.compute.inputs.GetVirtualMachineArgs;\nimport com.pulumi.azure.compute.Image;\nimport com.pulumi.azure.compute.ImageArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = ComputeFunctions.getVirtualMachine(GetVirtualMachineArgs.builder()\n            .name(\"examplevm\")\n            .resourceGroupName(\"example-resources\")\n            .build());\n\n        var exampleImage = new Image(\"exampleImage\", ImageArgs.builder()\n            .name(\"exampleimage\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .sourceVirtualMachineId(example.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleImage:\n    type: azure:compute:Image\n    name: example\n    properties:\n      name: exampleimage\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      sourceVirtualMachineId: ${example.id}\nvariables:\n  example:\n    fn::invoke:\n      function: azure:compute:getVirtualMachine\n      arguments:\n        name: examplevm\n        resourceGroupName: example-resources\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Compute` - 2022-03-01\n\n## Import\n\nImages can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:compute/image:Image example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Compute/images/image1\n```\n\n","properties":{"dataDisks":{"type":"array","items":{"$ref":"#/types/azure:compute/ImageDataDisk:ImageDataDisk"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`dataDisk`\" pulumi-lang-dotnet=\"`DataDisk`\" pulumi-lang-go=\"`dataDisk`\" pulumi-lang-python=\"`data_disk`\" pulumi-lang-yaml=\"`dataDisk`\" pulumi-lang-java=\"`dataDisk`\"\u003e`data_disk`\u003c/span\u003e blocks as defined below.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`dataDisk`\" pulumi-lang-dotnet=\"`DataDisk`\" pulumi-lang-go=\"`dataDisk`\" pulumi-lang-python=\"`data_disk`\" pulumi-lang-yaml=\"`dataDisk`\" pulumi-lang-java=\"`dataDisk`\"\u003e`data_disk`\u003c/span\u003e cannot be set together with \u003cspan pulumi-lang-nodejs=\"`sourceVirtualMachineId`\" pulumi-lang-dotnet=\"`SourceVirtualMachineId`\" pulumi-lang-go=\"`sourceVirtualMachineId`\" pulumi-lang-python=\"`source_virtual_machine_id`\" pulumi-lang-yaml=\"`sourceVirtualMachineId`\" pulumi-lang-java=\"`sourceVirtualMachineId`\"\u003e`source_virtual_machine_id`\u003c/span\u003e.\n"},"hyperVGeneration":{"type":"string","description":"The Hyper-V Generation Type of the Virtual Machine created from the image as `V1`, `V2`. Defaults to `V1`. Changing this forces a new resource to be created.\n"},"location":{"type":"string","description":"Specified the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"Specifies the name of the image. Changing this forces a new resource to be created.\n"},"osDisk":{"$ref":"#/types/azure:compute/ImageOsDisk:ImageOsDisk","description":"One or more \u003cspan pulumi-lang-nodejs=\"`osDisk`\" pulumi-lang-dotnet=\"`OsDisk`\" pulumi-lang-go=\"`osDisk`\" pulumi-lang-python=\"`os_disk`\" pulumi-lang-yaml=\"`osDisk`\" pulumi-lang-java=\"`osDisk`\"\u003e`os_disk`\u003c/span\u003e blocks as defined below. Changing this forces a new resource to be created.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`osDisk`\" pulumi-lang-dotnet=\"`OsDisk`\" pulumi-lang-go=\"`osDisk`\" pulumi-lang-python=\"`os_disk`\" pulumi-lang-yaml=\"`osDisk`\" pulumi-lang-java=\"`osDisk`\"\u003e`os_disk`\u003c/span\u003e cannot be set together with \u003cspan pulumi-lang-nodejs=\"`sourceVirtualMachineId`\" pulumi-lang-dotnet=\"`SourceVirtualMachineId`\" pulumi-lang-go=\"`sourceVirtualMachineId`\" pulumi-lang-python=\"`source_virtual_machine_id`\" pulumi-lang-yaml=\"`sourceVirtualMachineId`\" pulumi-lang-java=\"`sourceVirtualMachineId`\"\u003e`source_virtual_machine_id`\u003c/span\u003e.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the image. Changing this forces a new resource to be created.\n"},"sourceVirtualMachineId":{"type":"string","description":"The Virtual Machine ID from which to create the image.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"zoneResilient":{"type":"boolean","description":"Is zone resiliency enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Changing this forces a new resource to be created.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`zoneResilient`\" pulumi-lang-dotnet=\"`ZoneResilient`\" pulumi-lang-go=\"`zoneResilient`\" pulumi-lang-python=\"`zone_resilient`\" pulumi-lang-yaml=\"`zoneResilient`\" pulumi-lang-java=\"`zoneResilient`\"\u003e`zone_resilient`\u003c/span\u003e can only be set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e if the image is stored in a region that supports availability zones.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`zoneResilient`\" pulumi-lang-dotnet=\"`ZoneResilient`\" pulumi-lang-go=\"`zoneResilient`\" pulumi-lang-python=\"`zone_resilient`\" pulumi-lang-yaml=\"`zoneResilient`\" pulumi-lang-java=\"`zoneResilient`\"\u003e`zone_resilient`\u003c/span\u003e cannot be set together with \u003cspan pulumi-lang-nodejs=\"`sourceVirtualMachineId`\" pulumi-lang-dotnet=\"`SourceVirtualMachineId`\" pulumi-lang-go=\"`sourceVirtualMachineId`\" pulumi-lang-python=\"`source_virtual_machine_id`\" pulumi-lang-yaml=\"`sourceVirtualMachineId`\" pulumi-lang-java=\"`sourceVirtualMachineId`\"\u003e`source_virtual_machine_id`\u003c/span\u003e.\n"}},"required":["location","name","resourceGroupName"],"inputProperties":{"dataDisks":{"type":"array","items":{"$ref":"#/types/azure:compute/ImageDataDisk:ImageDataDisk"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`dataDisk`\" pulumi-lang-dotnet=\"`DataDisk`\" pulumi-lang-go=\"`dataDisk`\" pulumi-lang-python=\"`data_disk`\" pulumi-lang-yaml=\"`dataDisk`\" pulumi-lang-java=\"`dataDisk`\"\u003e`data_disk`\u003c/span\u003e blocks as defined below.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`dataDisk`\" pulumi-lang-dotnet=\"`DataDisk`\" pulumi-lang-go=\"`dataDisk`\" pulumi-lang-python=\"`data_disk`\" pulumi-lang-yaml=\"`dataDisk`\" pulumi-lang-java=\"`dataDisk`\"\u003e`data_disk`\u003c/span\u003e cannot be set together with \u003cspan pulumi-lang-nodejs=\"`sourceVirtualMachineId`\" pulumi-lang-dotnet=\"`SourceVirtualMachineId`\" pulumi-lang-go=\"`sourceVirtualMachineId`\" pulumi-lang-python=\"`source_virtual_machine_id`\" pulumi-lang-yaml=\"`sourceVirtualMachineId`\" pulumi-lang-java=\"`sourceVirtualMachineId`\"\u003e`source_virtual_machine_id`\u003c/span\u003e.\n"},"hyperVGeneration":{"type":"string","description":"The Hyper-V Generation Type of the Virtual Machine created from the image as `V1`, `V2`. Defaults to `V1`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"location":{"type":"string","description":"Specified the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the image. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"osDisk":{"$ref":"#/types/azure:compute/ImageOsDisk:ImageOsDisk","description":"One or more \u003cspan pulumi-lang-nodejs=\"`osDisk`\" pulumi-lang-dotnet=\"`OsDisk`\" pulumi-lang-go=\"`osDisk`\" pulumi-lang-python=\"`os_disk`\" pulumi-lang-yaml=\"`osDisk`\" pulumi-lang-java=\"`osDisk`\"\u003e`os_disk`\u003c/span\u003e blocks as defined below. Changing this forces a new resource to be created.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`osDisk`\" pulumi-lang-dotnet=\"`OsDisk`\" pulumi-lang-go=\"`osDisk`\" pulumi-lang-python=\"`os_disk`\" pulumi-lang-yaml=\"`osDisk`\" pulumi-lang-java=\"`osDisk`\"\u003e`os_disk`\u003c/span\u003e cannot be set together with \u003cspan pulumi-lang-nodejs=\"`sourceVirtualMachineId`\" pulumi-lang-dotnet=\"`SourceVirtualMachineId`\" pulumi-lang-go=\"`sourceVirtualMachineId`\" pulumi-lang-python=\"`source_virtual_machine_id`\" pulumi-lang-yaml=\"`sourceVirtualMachineId`\" pulumi-lang-java=\"`sourceVirtualMachineId`\"\u003e`source_virtual_machine_id`\u003c/span\u003e.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the image. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sourceVirtualMachineId":{"type":"string","description":"The Virtual Machine ID from which to create the image.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"zoneResilient":{"type":"boolean","description":"Is zone resiliency enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Changing this forces a new resource to be created.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`zoneResilient`\" pulumi-lang-dotnet=\"`ZoneResilient`\" pulumi-lang-go=\"`zoneResilient`\" pulumi-lang-python=\"`zone_resilient`\" pulumi-lang-yaml=\"`zoneResilient`\" pulumi-lang-java=\"`zoneResilient`\"\u003e`zone_resilient`\u003c/span\u003e can only be set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e if the image is stored in a region that supports availability zones.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`zoneResilient`\" pulumi-lang-dotnet=\"`ZoneResilient`\" pulumi-lang-go=\"`zoneResilient`\" pulumi-lang-python=\"`zone_resilient`\" pulumi-lang-yaml=\"`zoneResilient`\" pulumi-lang-java=\"`zoneResilient`\"\u003e`zone_resilient`\u003c/span\u003e cannot be set together with \u003cspan pulumi-lang-nodejs=\"`sourceVirtualMachineId`\" pulumi-lang-dotnet=\"`SourceVirtualMachineId`\" pulumi-lang-go=\"`sourceVirtualMachineId`\" pulumi-lang-python=\"`source_virtual_machine_id`\" pulumi-lang-yaml=\"`sourceVirtualMachineId`\" pulumi-lang-java=\"`sourceVirtualMachineId`\"\u003e`source_virtual_machine_id`\u003c/span\u003e.\n","willReplaceOnChanges":true}},"requiredInputs":["resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering Image resources.\n","properties":{"dataDisks":{"type":"array","items":{"$ref":"#/types/azure:compute/ImageDataDisk:ImageDataDisk"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`dataDisk`\" pulumi-lang-dotnet=\"`DataDisk`\" pulumi-lang-go=\"`dataDisk`\" pulumi-lang-python=\"`data_disk`\" pulumi-lang-yaml=\"`dataDisk`\" pulumi-lang-java=\"`dataDisk`\"\u003e`data_disk`\u003c/span\u003e blocks as defined below.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`dataDisk`\" pulumi-lang-dotnet=\"`DataDisk`\" pulumi-lang-go=\"`dataDisk`\" pulumi-lang-python=\"`data_disk`\" pulumi-lang-yaml=\"`dataDisk`\" pulumi-lang-java=\"`dataDisk`\"\u003e`data_disk`\u003c/span\u003e cannot be set together with \u003cspan pulumi-lang-nodejs=\"`sourceVirtualMachineId`\" pulumi-lang-dotnet=\"`SourceVirtualMachineId`\" pulumi-lang-go=\"`sourceVirtualMachineId`\" pulumi-lang-python=\"`source_virtual_machine_id`\" pulumi-lang-yaml=\"`sourceVirtualMachineId`\" pulumi-lang-java=\"`sourceVirtualMachineId`\"\u003e`source_virtual_machine_id`\u003c/span\u003e.\n"},"hyperVGeneration":{"type":"string","description":"The Hyper-V Generation Type of the Virtual Machine created from the image as `V1`, `V2`. Defaults to `V1`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"location":{"type":"string","description":"Specified the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the image. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"osDisk":{"$ref":"#/types/azure:compute/ImageOsDisk:ImageOsDisk","description":"One or more \u003cspan pulumi-lang-nodejs=\"`osDisk`\" pulumi-lang-dotnet=\"`OsDisk`\" pulumi-lang-go=\"`osDisk`\" pulumi-lang-python=\"`os_disk`\" pulumi-lang-yaml=\"`osDisk`\" pulumi-lang-java=\"`osDisk`\"\u003e`os_disk`\u003c/span\u003e blocks as defined below. Changing this forces a new resource to be created.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`osDisk`\" pulumi-lang-dotnet=\"`OsDisk`\" pulumi-lang-go=\"`osDisk`\" pulumi-lang-python=\"`os_disk`\" pulumi-lang-yaml=\"`osDisk`\" pulumi-lang-java=\"`osDisk`\"\u003e`os_disk`\u003c/span\u003e cannot be set together with \u003cspan pulumi-lang-nodejs=\"`sourceVirtualMachineId`\" pulumi-lang-dotnet=\"`SourceVirtualMachineId`\" pulumi-lang-go=\"`sourceVirtualMachineId`\" pulumi-lang-python=\"`source_virtual_machine_id`\" pulumi-lang-yaml=\"`sourceVirtualMachineId`\" pulumi-lang-java=\"`sourceVirtualMachineId`\"\u003e`source_virtual_machine_id`\u003c/span\u003e.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the image. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sourceVirtualMachineId":{"type":"string","description":"The Virtual Machine ID from which to create the image.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"zoneResilient":{"type":"boolean","description":"Is zone resiliency enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Changing this forces a new resource to be created.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`zoneResilient`\" pulumi-lang-dotnet=\"`ZoneResilient`\" pulumi-lang-go=\"`zoneResilient`\" pulumi-lang-python=\"`zone_resilient`\" pulumi-lang-yaml=\"`zoneResilient`\" pulumi-lang-java=\"`zoneResilient`\"\u003e`zone_resilient`\u003c/span\u003e can only be set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e if the image is stored in a region that supports availability zones.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`zoneResilient`\" pulumi-lang-dotnet=\"`ZoneResilient`\" pulumi-lang-go=\"`zoneResilient`\" pulumi-lang-python=\"`zone_resilient`\" pulumi-lang-yaml=\"`zoneResilient`\" pulumi-lang-java=\"`zoneResilient`\"\u003e`zone_resilient`\u003c/span\u003e cannot be set together with \u003cspan pulumi-lang-nodejs=\"`sourceVirtualMachineId`\" pulumi-lang-dotnet=\"`SourceVirtualMachineId`\" pulumi-lang-go=\"`sourceVirtualMachineId`\" pulumi-lang-python=\"`source_virtual_machine_id`\" pulumi-lang-yaml=\"`sourceVirtualMachineId`\" pulumi-lang-java=\"`sourceVirtualMachineId`\"\u003e`source_virtual_machine_id`\u003c/span\u003e.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:compute/implicitDataDiskFromSource:ImplicitDataDiskFromSource":{"description":"Manages an implicit Data Disk of a Virtual Machine.\n\n\u003e **Note:** The Implicit Data Disk will be deleted instantly after this resource is destroyed. If you want to detach this disk only, you may set \u003cspan pulumi-lang-nodejs=\"`detachImplicitDataDiskOnDeletion`\" pulumi-lang-dotnet=\"`DetachImplicitDataDiskOnDeletion`\" pulumi-lang-go=\"`detachImplicitDataDiskOnDeletion`\" pulumi-lang-python=\"`detach_implicit_data_disk_on_deletion`\" pulumi-lang-yaml=\"`detachImplicitDataDiskOnDeletion`\" pulumi-lang-java=\"`detachImplicitDataDiskOnDeletion`\"\u003e`detach_implicit_data_disk_on_deletion`\u003c/span\u003e field to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e within the \u003cspan pulumi-lang-nodejs=\"`virtualMachine`\" pulumi-lang-dotnet=\"`VirtualMachine`\" pulumi-lang-go=\"`virtualMachine`\" pulumi-lang-python=\"`virtual_machine`\" pulumi-lang-yaml=\"`virtualMachine`\" pulumi-lang-java=\"`virtualMachine`\"\u003e`virtual_machine`\u003c/span\u003e block in the provider \u003cspan pulumi-lang-nodejs=\"`features`\" pulumi-lang-dotnet=\"`Features`\" pulumi-lang-go=\"`features`\" pulumi-lang-python=\"`features`\" pulumi-lang-yaml=\"`features`\" pulumi-lang-java=\"`features`\"\u003e`features`\u003c/span\u003e block.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst config = new pulumi.Config();\nconst prefix = config.get(\"prefix\") || \"example\";\nconst vmName = `${prefix}-vm`;\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: `${prefix}-resources`,\n    location: \"West Europe\",\n});\nconst main = new azure.network.VirtualNetwork(\"main\", {\n    name: `${prefix}-network`,\n    addressSpaces: [\"10.0.0.0/16\"],\n    location: example.location,\n    resourceGroupName: example.name,\n});\nconst internal = new azure.network.Subnet(\"internal\", {\n    name: \"internal\",\n    resourceGroupName: example.name,\n    virtualNetworkName: main.name,\n    addressPrefixes: [\"10.0.2.0/24\"],\n});\nconst mainNetworkInterface = new azure.network.NetworkInterface(\"main\", {\n    name: `${prefix}-nic`,\n    location: example.location,\n    resourceGroupName: example.name,\n    ipConfigurations: [{\n        name: \"internal\",\n        subnetId: internal.id,\n        privateIpAddressAllocation: \"Dynamic\",\n    }],\n});\nconst exampleVirtualMachine = new azure.compute.VirtualMachine(\"example\", {\n    name: vmName,\n    location: example.location,\n    resourceGroupName: example.name,\n    networkInterfaceIds: [mainNetworkInterface.id],\n    vmSize: \"Standard_F2\",\n    storageImageReference: {\n        publisher: \"Canonical\",\n        offer: \"0001-com-ubuntu-server-jammy\",\n        sku: \"22_04-lts\",\n        version: \"latest\",\n    },\n    storageOsDisk: {\n        name: \"myosdisk1\",\n        caching: \"ReadWrite\",\n        createOption: \"FromImage\",\n        managedDiskType: \"Standard_LRS\",\n    },\n    osProfile: {\n        computerName: vmName,\n        adminUsername: \"testadmin\",\n        adminPassword: \"Password1234!\",\n    },\n    osProfileLinuxConfig: {\n        disablePasswordAuthentication: false,\n    },\n});\nconst exampleManagedDisk = new azure.compute.ManagedDisk(\"example\", {\n    name: `${vmName}-disk1`,\n    location: example.location,\n    resourceGroupName: example.name,\n    storageAccountType: \"Standard_LRS\",\n    createOption: \"Empty\",\n    diskSizeGb: 10,\n});\nconst exampleSnapshot = new azure.compute.Snapshot(\"example\", {\n    name: `${vmName}-snapshot1`,\n    location: example.location,\n    resourceGroupName: example.name,\n    createOption: \"Copy\",\n    sourceUri: exampleManagedDisk.id,\n});\nconst exampleImplicitDataDiskFromSource = new azure.compute.ImplicitDataDiskFromSource(\"example\", {\n    name: `${vmName}-implicitdisk1`,\n    virtualMachineId: testAzurermVirtualMachine.id,\n    lun: 0,\n    caching: \"None\",\n    createOption: \"Copy\",\n    diskSizeGb: 20,\n    sourceResourceId: test.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nconfig = pulumi.Config()\nprefix = config.get(\"prefix\")\nif prefix is None:\n    prefix = \"example\"\nvm_name = f\"{prefix}-vm\"\nexample = azure.core.ResourceGroup(\"example\",\n    name=f\"{prefix}-resources\",\n    location=\"West Europe\")\nmain = azure.network.VirtualNetwork(\"main\",\n    name=f\"{prefix}-network\",\n    address_spaces=[\"10.0.0.0/16\"],\n    location=example.location,\n    resource_group_name=example.name)\ninternal = azure.network.Subnet(\"internal\",\n    name=\"internal\",\n    resource_group_name=example.name,\n    virtual_network_name=main.name,\n    address_prefixes=[\"10.0.2.0/24\"])\nmain_network_interface = azure.network.NetworkInterface(\"main\",\n    name=f\"{prefix}-nic\",\n    location=example.location,\n    resource_group_name=example.name,\n    ip_configurations=[{\n        \"name\": \"internal\",\n        \"subnet_id\": internal.id,\n        \"private_ip_address_allocation\": \"Dynamic\",\n    }])\nexample_virtual_machine = azure.compute.VirtualMachine(\"example\",\n    name=vm_name,\n    location=example.location,\n    resource_group_name=example.name,\n    network_interface_ids=[main_network_interface.id],\n    vm_size=\"Standard_F2\",\n    storage_image_reference={\n        \"publisher\": \"Canonical\",\n        \"offer\": \"0001-com-ubuntu-server-jammy\",\n        \"sku\": \"22_04-lts\",\n        \"version\": \"latest\",\n    },\n    storage_os_disk={\n        \"name\": \"myosdisk1\",\n        \"caching\": \"ReadWrite\",\n        \"create_option\": \"FromImage\",\n        \"managed_disk_type\": \"Standard_LRS\",\n    },\n    os_profile={\n        \"computer_name\": vm_name,\n        \"admin_username\": \"testadmin\",\n        \"admin_password\": \"Password1234!\",\n    },\n    os_profile_linux_config={\n        \"disable_password_authentication\": False,\n    })\nexample_managed_disk = azure.compute.ManagedDisk(\"example\",\n    name=f\"{vm_name}-disk1\",\n    location=example.location,\n    resource_group_name=example.name,\n    storage_account_type=\"Standard_LRS\",\n    create_option=\"Empty\",\n    disk_size_gb=10)\nexample_snapshot = azure.compute.Snapshot(\"example\",\n    name=f\"{vm_name}-snapshot1\",\n    location=example.location,\n    resource_group_name=example.name,\n    create_option=\"Copy\",\n    source_uri=example_managed_disk.id)\nexample_implicit_data_disk_from_source = azure.compute.ImplicitDataDiskFromSource(\"example\",\n    name=f\"{vm_name}-implicitdisk1\",\n    virtual_machine_id=test_azurerm_virtual_machine[\"id\"],\n    lun=0,\n    caching=\"None\",\n    create_option=\"Copy\",\n    disk_size_gb=20,\n    source_resource_id=test[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var prefix = config.Get(\"prefix\") ?? \"example\";\n    var vmName = $\"{prefix}-vm\";\n\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = $\"{prefix}-resources\",\n        Location = \"West Europe\",\n    });\n\n    var main = new Azure.Network.VirtualNetwork(\"main\", new()\n    {\n        Name = $\"{prefix}-network\",\n        AddressSpaces = new[]\n        {\n            \"10.0.0.0/16\",\n        },\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n    });\n\n    var @internal = new Azure.Network.Subnet(\"internal\", new()\n    {\n        Name = \"internal\",\n        ResourceGroupName = example.Name,\n        VirtualNetworkName = main.Name,\n        AddressPrefixes = new[]\n        {\n            \"10.0.2.0/24\",\n        },\n    });\n\n    var mainNetworkInterface = new Azure.Network.NetworkInterface(\"main\", new()\n    {\n        Name = $\"{prefix}-nic\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        IpConfigurations = new[]\n        {\n            new Azure.Network.Inputs.NetworkInterfaceIpConfigurationArgs\n            {\n                Name = \"internal\",\n                SubnetId = @internal.Id,\n                PrivateIpAddressAllocation = \"Dynamic\",\n            },\n        },\n    });\n\n    var exampleVirtualMachine = new Azure.Compute.VirtualMachine(\"example\", new()\n    {\n        Name = vmName,\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        NetworkInterfaceIds = new[]\n        {\n            mainNetworkInterface.Id,\n        },\n        VmSize = \"Standard_F2\",\n        StorageImageReference = new Azure.Compute.Inputs.VirtualMachineStorageImageReferenceArgs\n        {\n            Publisher = \"Canonical\",\n            Offer = \"0001-com-ubuntu-server-jammy\",\n            Sku = \"22_04-lts\",\n            Version = \"latest\",\n        },\n        StorageOsDisk = new Azure.Compute.Inputs.VirtualMachineStorageOsDiskArgs\n        {\n            Name = \"myosdisk1\",\n            Caching = \"ReadWrite\",\n            CreateOption = \"FromImage\",\n            ManagedDiskType = \"Standard_LRS\",\n        },\n        OsProfile = new Azure.Compute.Inputs.VirtualMachineOsProfileArgs\n        {\n            ComputerName = vmName,\n            AdminUsername = \"testadmin\",\n            AdminPassword = \"Password1234!\",\n        },\n        OsProfileLinuxConfig = new Azure.Compute.Inputs.VirtualMachineOsProfileLinuxConfigArgs\n        {\n            DisablePasswordAuthentication = false,\n        },\n    });\n\n    var exampleManagedDisk = new Azure.Compute.ManagedDisk(\"example\", new()\n    {\n        Name = $\"{vmName}-disk1\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        StorageAccountType = \"Standard_LRS\",\n        CreateOption = \"Empty\",\n        DiskSizeGb = 10,\n    });\n\n    var exampleSnapshot = new Azure.Compute.Snapshot(\"example\", new()\n    {\n        Name = $\"{vmName}-snapshot1\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        CreateOption = \"Copy\",\n        SourceUri = exampleManagedDisk.Id,\n    });\n\n    var exampleImplicitDataDiskFromSource = new Azure.Compute.ImplicitDataDiskFromSource(\"example\", new()\n    {\n        Name = $\"{vmName}-implicitdisk1\",\n        VirtualMachineId = testAzurermVirtualMachine.Id,\n        Lun = 0,\n        Caching = \"None\",\n        CreateOption = \"Copy\",\n        DiskSizeGb = 20,\n        SourceResourceId = test.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/compute\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tprefix := \"example\"\n\t\tif param := cfg.Get(\"prefix\"); param != \"\" {\n\t\t\tprefix = param\n\t\t}\n\t\tvmName := fmt.Sprintf(\"%v-vm\", prefix)\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.Sprintf(\"%v-resources\", prefix),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmain, err := network.NewVirtualNetwork(ctx, \"main\", \u0026network.VirtualNetworkArgs{\n\t\t\tName: pulumi.Sprintf(\"%v-network\", prefix),\n\t\t\tAddressSpaces: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.0.0/16\"),\n\t\t\t},\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinternal, err := network.NewSubnet(ctx, \"internal\", \u0026network.SubnetArgs{\n\t\t\tName:               pulumi.String(\"internal\"),\n\t\t\tResourceGroupName:  example.Name,\n\t\t\tVirtualNetworkName: main.Name,\n\t\t\tAddressPrefixes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.2.0/24\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmainNetworkInterface, err := network.NewNetworkInterface(ctx, \"main\", \u0026network.NetworkInterfaceArgs{\n\t\t\tName:              pulumi.Sprintf(\"%v-nic\", prefix),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tIpConfigurations: network.NetworkInterfaceIpConfigurationArray{\n\t\t\t\t\u0026network.NetworkInterfaceIpConfigurationArgs{\n\t\t\t\t\tName:                       pulumi.String(\"internal\"),\n\t\t\t\t\tSubnetId:                   internal.ID(),\n\t\t\t\t\tPrivateIpAddressAllocation: pulumi.String(\"Dynamic\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = compute.NewVirtualMachine(ctx, \"example\", \u0026compute.VirtualMachineArgs{\n\t\t\tName:              pulumi.String(vmName),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tNetworkInterfaceIds: pulumi.StringArray{\n\t\t\t\tmainNetworkInterface.ID(),\n\t\t\t},\n\t\t\tVmSize: pulumi.String(\"Standard_F2\"),\n\t\t\tStorageImageReference: \u0026compute.VirtualMachineStorageImageReferenceArgs{\n\t\t\t\tPublisher: pulumi.String(\"Canonical\"),\n\t\t\t\tOffer:     pulumi.String(\"0001-com-ubuntu-server-jammy\"),\n\t\t\t\tSku:       pulumi.String(\"22_04-lts\"),\n\t\t\t\tVersion:   pulumi.String(\"latest\"),\n\t\t\t},\n\t\t\tStorageOsDisk: \u0026compute.VirtualMachineStorageOsDiskArgs{\n\t\t\t\tName:            pulumi.String(\"myosdisk1\"),\n\t\t\t\tCaching:         pulumi.String(\"ReadWrite\"),\n\t\t\t\tCreateOption:    pulumi.String(\"FromImage\"),\n\t\t\t\tManagedDiskType: pulumi.String(\"Standard_LRS\"),\n\t\t\t},\n\t\t\tOsProfile: \u0026compute.VirtualMachineOsProfileArgs{\n\t\t\t\tComputerName:  pulumi.String(vmName),\n\t\t\t\tAdminUsername: pulumi.String(\"testadmin\"),\n\t\t\t\tAdminPassword: pulumi.String(\"Password1234!\"),\n\t\t\t},\n\t\t\tOsProfileLinuxConfig: \u0026compute.VirtualMachineOsProfileLinuxConfigArgs{\n\t\t\t\tDisablePasswordAuthentication: pulumi.Bool(false),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleManagedDisk, err := compute.NewManagedDisk(ctx, \"example\", \u0026compute.ManagedDiskArgs{\n\t\t\tName:               pulumi.Sprintf(\"%v-disk1\", vmName),\n\t\t\tLocation:           example.Location,\n\t\t\tResourceGroupName:  example.Name,\n\t\t\tStorageAccountType: pulumi.String(\"Standard_LRS\"),\n\t\t\tCreateOption:       pulumi.String(\"Empty\"),\n\t\t\tDiskSizeGb:         pulumi.Int(10),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = compute.NewSnapshot(ctx, \"example\", \u0026compute.SnapshotArgs{\n\t\t\tName:              pulumi.Sprintf(\"%v-snapshot1\", vmName),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tCreateOption:      pulumi.String(\"Copy\"),\n\t\t\tSourceUri:         exampleManagedDisk.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = compute.NewImplicitDataDiskFromSource(ctx, \"example\", \u0026compute.ImplicitDataDiskFromSourceArgs{\n\t\t\tName:             pulumi.Sprintf(\"%v-implicitdisk1\", vmName),\n\t\t\tVirtualMachineId: pulumi.Any(testAzurermVirtualMachine.Id),\n\t\t\tLun:              pulumi.Int(0),\n\t\t\tCaching:          pulumi.String(\"None\"),\n\t\t\tCreateOption:     pulumi.String(\"Copy\"),\n\t\t\tDiskSizeGb:       pulumi.Int(20),\n\t\t\tSourceResourceId: pulumi.Any(test.Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.VirtualNetwork;\nimport com.pulumi.azure.network.VirtualNetworkArgs;\nimport com.pulumi.azure.network.Subnet;\nimport com.pulumi.azure.network.SubnetArgs;\nimport com.pulumi.azure.network.NetworkInterface;\nimport com.pulumi.azure.network.NetworkInterfaceArgs;\nimport com.pulumi.azure.network.inputs.NetworkInterfaceIpConfigurationArgs;\nimport com.pulumi.azure.compute.VirtualMachine;\nimport com.pulumi.azure.compute.VirtualMachineArgs;\nimport com.pulumi.azure.compute.inputs.VirtualMachineStorageImageReferenceArgs;\nimport com.pulumi.azure.compute.inputs.VirtualMachineStorageOsDiskArgs;\nimport com.pulumi.azure.compute.inputs.VirtualMachineOsProfileArgs;\nimport com.pulumi.azure.compute.inputs.VirtualMachineOsProfileLinuxConfigArgs;\nimport com.pulumi.azure.compute.ManagedDisk;\nimport com.pulumi.azure.compute.ManagedDiskArgs;\nimport com.pulumi.azure.compute.Snapshot;\nimport com.pulumi.azure.compute.SnapshotArgs;\nimport com.pulumi.azure.compute.ImplicitDataDiskFromSource;\nimport com.pulumi.azure.compute.ImplicitDataDiskFromSourceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var prefix = config.get(\"prefix\").orElse(\"example\");\n        final var vmName = String.format(\"%s-vm\", prefix);\n\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(String.format(\"%s-resources\", prefix))\n            .location(\"West Europe\")\n            .build());\n\n        var main = new VirtualNetwork(\"main\", VirtualNetworkArgs.builder()\n            .name(String.format(\"%s-network\", prefix))\n            .addressSpaces(\"10.0.0.0/16\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .build());\n\n        var internal = new Subnet(\"internal\", SubnetArgs.builder()\n            .name(\"internal\")\n            .resourceGroupName(example.name())\n            .virtualNetworkName(main.name())\n            .addressPrefixes(\"10.0.2.0/24\")\n            .build());\n\n        var mainNetworkInterface = new NetworkInterface(\"mainNetworkInterface\", NetworkInterfaceArgs.builder()\n            .name(String.format(\"%s-nic\", prefix))\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .ipConfigurations(NetworkInterfaceIpConfigurationArgs.builder()\n                .name(\"internal\")\n                .subnetId(internal.id())\n                .privateIpAddressAllocation(\"Dynamic\")\n                .build())\n            .build());\n\n        var exampleVirtualMachine = new VirtualMachine(\"exampleVirtualMachine\", VirtualMachineArgs.builder()\n            .name(vmName)\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .networkInterfaceIds(mainNetworkInterface.id())\n            .vmSize(\"Standard_F2\")\n            .storageImageReference(VirtualMachineStorageImageReferenceArgs.builder()\n                .publisher(\"Canonical\")\n                .offer(\"0001-com-ubuntu-server-jammy\")\n                .sku(\"22_04-lts\")\n                .version(\"latest\")\n                .build())\n            .storageOsDisk(VirtualMachineStorageOsDiskArgs.builder()\n                .name(\"myosdisk1\")\n                .caching(\"ReadWrite\")\n                .createOption(\"FromImage\")\n                .managedDiskType(\"Standard_LRS\")\n                .build())\n            .osProfile(VirtualMachineOsProfileArgs.builder()\n                .computerName(vmName)\n                .adminUsername(\"testadmin\")\n                .adminPassword(\"Password1234!\")\n                .build())\n            .osProfileLinuxConfig(VirtualMachineOsProfileLinuxConfigArgs.builder()\n                .disablePasswordAuthentication(false)\n                .build())\n            .build());\n\n        var exampleManagedDisk = new ManagedDisk(\"exampleManagedDisk\", ManagedDiskArgs.builder()\n            .name(String.format(\"%s-disk1\", vmName))\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .storageAccountType(\"Standard_LRS\")\n            .createOption(\"Empty\")\n            .diskSizeGb(10)\n            .build());\n\n        var exampleSnapshot = new Snapshot(\"exampleSnapshot\", SnapshotArgs.builder()\n            .name(String.format(\"%s-snapshot1\", vmName))\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .createOption(\"Copy\")\n            .sourceUri(exampleManagedDisk.id())\n            .build());\n\n        var exampleImplicitDataDiskFromSource = new ImplicitDataDiskFromSource(\"exampleImplicitDataDiskFromSource\", ImplicitDataDiskFromSourceArgs.builder()\n            .name(String.format(\"%s-implicitdisk1\", vmName))\n            .virtualMachineId(testAzurermVirtualMachine.id())\n            .lun(0)\n            .caching(\"None\")\n            .createOption(\"Copy\")\n            .diskSizeGb(20)\n            .sourceResourceId(test.id())\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  prefix:\n    type: string\n    default: example\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: ${prefix}-resources\n      location: West Europe\n  main:\n    type: azure:network:VirtualNetwork\n    properties:\n      name: ${prefix}-network\n      addressSpaces:\n        - 10.0.0.0/16\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n  internal:\n    type: azure:network:Subnet\n    properties:\n      name: internal\n      resourceGroupName: ${example.name}\n      virtualNetworkName: ${main.name}\n      addressPrefixes:\n        - 10.0.2.0/24\n  mainNetworkInterface:\n    type: azure:network:NetworkInterface\n    name: main\n    properties:\n      name: ${prefix}-nic\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      ipConfigurations:\n        - name: internal\n          subnetId: ${internal.id}\n          privateIpAddressAllocation: Dynamic\n  exampleVirtualMachine:\n    type: azure:compute:VirtualMachine\n    name: example\n    properties:\n      name: ${vmName}\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      networkInterfaceIds:\n        - ${mainNetworkInterface.id}\n      vmSize: Standard_F2\n      storageImageReference:\n        publisher: Canonical\n        offer: 0001-com-ubuntu-server-jammy\n        sku: 22_04-lts\n        version: latest\n      storageOsDisk:\n        name: myosdisk1\n        caching: ReadWrite\n        createOption: FromImage\n        managedDiskType: Standard_LRS\n      osProfile:\n        computerName: ${vmName}\n        adminUsername: testadmin\n        adminPassword: Password1234!\n      osProfileLinuxConfig:\n        disablePasswordAuthentication: false\n  exampleManagedDisk:\n    type: azure:compute:ManagedDisk\n    name: example\n    properties:\n      name: ${vmName}-disk1\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      storageAccountType: Standard_LRS\n      createOption: Empty\n      diskSizeGb: 10\n  exampleSnapshot:\n    type: azure:compute:Snapshot\n    name: example\n    properties:\n      name: ${vmName}-snapshot1\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      createOption: Copy\n      sourceUri: ${exampleManagedDisk.id}\n  exampleImplicitDataDiskFromSource:\n    type: azure:compute:ImplicitDataDiskFromSource\n    name: example\n    properties:\n      name: ${vmName}-implicitdisk1\n      virtualMachineId: ${testAzurermVirtualMachine.id}\n      lun: '0'\n      caching: None\n      createOption: Copy\n      diskSizeGb: 20\n      sourceResourceId: ${test.id}\nvariables:\n  vmName: ${prefix}-vm\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Compute` - 2024-03-01, 2023-04-02\n\n## Import\n\nThe implicit Data Disk of the Virtual Machine can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:compute/implicitDataDiskFromSource:ImplicitDataDiskFromSource example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Compute/virtualMachines/machine1/dataDisks/disk1\n```\n\n\u003e **Note:** This is a Terraform Unique ID matching the format: `{virtualMachineID}/dataDisks/{diskName}`\n\n","properties":{"caching":{"type":"string","description":"Specifies the caching requirements for this Data Disk. Possible values are `ReadOnly` and `ReadWrite`.\n"},"createOption":{"type":"string","description":"Specifies the Create Option of the Data Disk. The only possible value is `Copy`. Changing this forces a new resource to be created.\n"},"diskSizeGb":{"type":"integer","description":"Specifies the size of the Data Disk in gigabytes.\n\n\u003e **Note:** Updating \u003cspan pulumi-lang-nodejs=\"`diskSizeGb`\" pulumi-lang-dotnet=\"`DiskSizeGb`\" pulumi-lang-go=\"`diskSizeGb`\" pulumi-lang-python=\"`disk_size_gb`\" pulumi-lang-yaml=\"`diskSizeGb`\" pulumi-lang-java=\"`diskSizeGb`\"\u003e`disk_size_gb`\u003c/span\u003e to shrink the disk size is not supported on Azure and forces a new Data Disk to be created.\n\n\u003e **Note:** In certain conditions the Data Disk size can be updated without shutting down the Virtual Machine, however only a subset of Virtual Machine SKUs/Disk combinations support this. More information can be found [for Linux Virtual Machines](https://learn.microsoft.com/en-us/azure/virtual-machines/linux/expand-disks?tabs=azure-cli%2Cubuntu#expand-without-downtime) and [Windows Virtual Machines](https://learn.microsoft.com/azure/virtual-machines/windows/expand-os-disk#expand-without-downtime) respectively.\n\n\u003e **Note:** If the VM does not meet the requirements to expand the disk without downtime, changing this value is disruptive. The VM will be shut down and deallocated as required by Azure to action the change. Terraform will attempt to start the VM again after the update if it was in a \u003cspan pulumi-lang-nodejs=\"`running`\" pulumi-lang-dotnet=\"`Running`\" pulumi-lang-go=\"`running`\" pulumi-lang-python=\"`running`\" pulumi-lang-yaml=\"`running`\" pulumi-lang-java=\"`running`\"\u003e`running`\u003c/span\u003e state prior to the change.\n\n\u003e **Note:** Expanding Ultra Disks and Premium SSD v2 disks without downtime has additional limitations. Allow up to 10 minutes for the correct size to be reflected, and a \u003cspan pulumi-lang-nodejs=\"`rescan`\" pulumi-lang-dotnet=\"`Rescan`\" pulumi-lang-go=\"`rescan`\" pulumi-lang-python=\"`rescan`\" pulumi-lang-yaml=\"`rescan`\" pulumi-lang-java=\"`rescan`\"\u003e`rescan`\u003c/span\u003e function may be required. For more details, refer to [Expand with Ultra Disks and Premium SSD v2](https://learn.microsoft.com/azure/virtual-machines/linux/expand-disks?tabs=ubuntu#expand-with-ultra-disks-and-premium-ssd-v2).\n"},"lun":{"type":"integer","description":"The Logical Unit Number of the Data Disk, which needs to be unique within the Virtual Machine. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"Specifies the name of this Data Disk. Changing this forces a new resource to be created.\n"},"sourceResourceId":{"type":"string","description":"The ID of the source resource which this Data Disk was created from. Changing this forces a new resource to be created.\n"},"virtualMachineId":{"type":"string","description":"The ID of the Virtual Machine to which the Data Disk should be attached. Changing this forces a new resource to be created.\n"},"writeAcceleratorEnabled":{"type":"boolean","description":"Specifies if Write Accelerator is enabled on the disk. This can only be enabled on `Premium_LRS` managed disks with no caching and [M-Series VMs](https://docs.microsoft.com/azure/virtual-machines/workloads/sap/how-to-enable-write-accelerator). Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"}},"required":["createOption","diskSizeGb","lun","name","sourceResourceId","virtualMachineId"],"inputProperties":{"caching":{"type":"string","description":"Specifies the caching requirements for this Data Disk. Possible values are `ReadOnly` and `ReadWrite`.\n"},"createOption":{"type":"string","description":"Specifies the Create Option of the Data Disk. The only possible value is `Copy`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"diskSizeGb":{"type":"integer","description":"Specifies the size of the Data Disk in gigabytes.\n\n\u003e **Note:** Updating \u003cspan pulumi-lang-nodejs=\"`diskSizeGb`\" pulumi-lang-dotnet=\"`DiskSizeGb`\" pulumi-lang-go=\"`diskSizeGb`\" pulumi-lang-python=\"`disk_size_gb`\" pulumi-lang-yaml=\"`diskSizeGb`\" pulumi-lang-java=\"`diskSizeGb`\"\u003e`disk_size_gb`\u003c/span\u003e to shrink the disk size is not supported on Azure and forces a new Data Disk to be created.\n\n\u003e **Note:** In certain conditions the Data Disk size can be updated without shutting down the Virtual Machine, however only a subset of Virtual Machine SKUs/Disk combinations support this. More information can be found [for Linux Virtual Machines](https://learn.microsoft.com/en-us/azure/virtual-machines/linux/expand-disks?tabs=azure-cli%2Cubuntu#expand-without-downtime) and [Windows Virtual Machines](https://learn.microsoft.com/azure/virtual-machines/windows/expand-os-disk#expand-without-downtime) respectively.\n\n\u003e **Note:** If the VM does not meet the requirements to expand the disk without downtime, changing this value is disruptive. The VM will be shut down and deallocated as required by Azure to action the change. Terraform will attempt to start the VM again after the update if it was in a \u003cspan pulumi-lang-nodejs=\"`running`\" pulumi-lang-dotnet=\"`Running`\" pulumi-lang-go=\"`running`\" pulumi-lang-python=\"`running`\" pulumi-lang-yaml=\"`running`\" pulumi-lang-java=\"`running`\"\u003e`running`\u003c/span\u003e state prior to the change.\n\n\u003e **Note:** Expanding Ultra Disks and Premium SSD v2 disks without downtime has additional limitations. Allow up to 10 minutes for the correct size to be reflected, and a \u003cspan pulumi-lang-nodejs=\"`rescan`\" pulumi-lang-dotnet=\"`Rescan`\" pulumi-lang-go=\"`rescan`\" pulumi-lang-python=\"`rescan`\" pulumi-lang-yaml=\"`rescan`\" pulumi-lang-java=\"`rescan`\"\u003e`rescan`\u003c/span\u003e function may be required. For more details, refer to [Expand with Ultra Disks and Premium SSD v2](https://learn.microsoft.com/azure/virtual-machines/linux/expand-disks?tabs=ubuntu#expand-with-ultra-disks-and-premium-ssd-v2).\n"},"lun":{"type":"integer","description":"The Logical Unit Number of the Data Disk, which needs to be unique within the Virtual Machine. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of this Data Disk. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sourceResourceId":{"type":"string","description":"The ID of the source resource which this Data Disk was created from. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"virtualMachineId":{"type":"string","description":"The ID of the Virtual Machine to which the Data Disk should be attached. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"writeAcceleratorEnabled":{"type":"boolean","description":"Specifies if Write Accelerator is enabled on the disk. This can only be enabled on `Premium_LRS` managed disks with no caching and [M-Series VMs](https://docs.microsoft.com/azure/virtual-machines/workloads/sap/how-to-enable-write-accelerator). Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"}},"requiredInputs":["createOption","diskSizeGb","lun","sourceResourceId","virtualMachineId"],"stateInputs":{"description":"Input properties used for looking up and filtering ImplicitDataDiskFromSource resources.\n","properties":{"caching":{"type":"string","description":"Specifies the caching requirements for this Data Disk. Possible values are `ReadOnly` and `ReadWrite`.\n"},"createOption":{"type":"string","description":"Specifies the Create Option of the Data Disk. The only possible value is `Copy`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"diskSizeGb":{"type":"integer","description":"Specifies the size of the Data Disk in gigabytes.\n\n\u003e **Note:** Updating \u003cspan pulumi-lang-nodejs=\"`diskSizeGb`\" pulumi-lang-dotnet=\"`DiskSizeGb`\" pulumi-lang-go=\"`diskSizeGb`\" pulumi-lang-python=\"`disk_size_gb`\" pulumi-lang-yaml=\"`diskSizeGb`\" pulumi-lang-java=\"`diskSizeGb`\"\u003e`disk_size_gb`\u003c/span\u003e to shrink the disk size is not supported on Azure and forces a new Data Disk to be created.\n\n\u003e **Note:** In certain conditions the Data Disk size can be updated without shutting down the Virtual Machine, however only a subset of Virtual Machine SKUs/Disk combinations support this. More information can be found [for Linux Virtual Machines](https://learn.microsoft.com/en-us/azure/virtual-machines/linux/expand-disks?tabs=azure-cli%2Cubuntu#expand-without-downtime) and [Windows Virtual Machines](https://learn.microsoft.com/azure/virtual-machines/windows/expand-os-disk#expand-without-downtime) respectively.\n\n\u003e **Note:** If the VM does not meet the requirements to expand the disk without downtime, changing this value is disruptive. The VM will be shut down and deallocated as required by Azure to action the change. Terraform will attempt to start the VM again after the update if it was in a \u003cspan pulumi-lang-nodejs=\"`running`\" pulumi-lang-dotnet=\"`Running`\" pulumi-lang-go=\"`running`\" pulumi-lang-python=\"`running`\" pulumi-lang-yaml=\"`running`\" pulumi-lang-java=\"`running`\"\u003e`running`\u003c/span\u003e state prior to the change.\n\n\u003e **Note:** Expanding Ultra Disks and Premium SSD v2 disks without downtime has additional limitations. Allow up to 10 minutes for the correct size to be reflected, and a \u003cspan pulumi-lang-nodejs=\"`rescan`\" pulumi-lang-dotnet=\"`Rescan`\" pulumi-lang-go=\"`rescan`\" pulumi-lang-python=\"`rescan`\" pulumi-lang-yaml=\"`rescan`\" pulumi-lang-java=\"`rescan`\"\u003e`rescan`\u003c/span\u003e function may be required. For more details, refer to [Expand with Ultra Disks and Premium SSD v2](https://learn.microsoft.com/azure/virtual-machines/linux/expand-disks?tabs=ubuntu#expand-with-ultra-disks-and-premium-ssd-v2).\n"},"lun":{"type":"integer","description":"The Logical Unit Number of the Data Disk, which needs to be unique within the Virtual Machine. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of this Data Disk. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sourceResourceId":{"type":"string","description":"The ID of the source resource which this Data Disk was created from. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"virtualMachineId":{"type":"string","description":"The ID of the Virtual Machine to which the Data Disk should be attached. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"writeAcceleratorEnabled":{"type":"boolean","description":"Specifies if Write Accelerator is enabled on the disk. This can only be enabled on `Premium_LRS` managed disks with no caching and [M-Series VMs](https://docs.microsoft.com/azure/virtual-machines/workloads/sap/how-to-enable-write-accelerator). Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"}},"type":"object"}},"azure:compute/linuxVirtualMachine:LinuxVirtualMachine":{"description":"Manages a Linux Virtual Machine.\n\n## Disclaimers\n\n\u003e **Note** This provider will automatically remove the OS Disk by default - this behaviour can be configured using the \u003cspan pulumi-lang-nodejs=\"`features`\" pulumi-lang-dotnet=\"`Features`\" pulumi-lang-go=\"`features`\" pulumi-lang-python=\"`features`\" pulumi-lang-yaml=\"`features`\" pulumi-lang-java=\"`features`\"\u003e`features`\u003c/span\u003e configuration within the Provider configuration block.\n\n\u003e **Note** All arguments including the administrator login and password will be stored in the raw state as plain-text.\n\n\u003e **Note** This resource does not support Unmanaged Disks. If you need to use Unmanaged Disks you can continue to use the \u003cspan pulumi-lang-nodejs=\"`azure.compute.VirtualMachine`\" pulumi-lang-dotnet=\"`azure.compute.VirtualMachine`\" pulumi-lang-go=\"`compute.VirtualMachine`\" pulumi-lang-python=\"`compute.VirtualMachine`\" pulumi-lang-yaml=\"`azure.compute.VirtualMachine`\" pulumi-lang-java=\"`azure.compute.VirtualMachine`\"\u003e`azure.compute.VirtualMachine`\u003c/span\u003e resource instead.\n\n\u003e **Note** This resource does not support attaching existing OS Disks. You can instead capture an image of the OS Disk or continue to use the \u003cspan pulumi-lang-nodejs=\"`azure.compute.VirtualMachine`\" pulumi-lang-dotnet=\"`azure.compute.VirtualMachine`\" pulumi-lang-go=\"`compute.VirtualMachine`\" pulumi-lang-python=\"`compute.VirtualMachine`\" pulumi-lang-yaml=\"`azure.compute.VirtualMachine`\" pulumi-lang-java=\"`azure.compute.VirtualMachine`\"\u003e`azure.compute.VirtualMachine`\u003c/span\u003e resource instead.\n\n\u003e In this release there's a known issue where the \u003cspan pulumi-lang-nodejs=\"`publicIpAddress`\" pulumi-lang-dotnet=\"`PublicIpAddress`\" pulumi-lang-go=\"`publicIpAddress`\" pulumi-lang-python=\"`public_ip_address`\" pulumi-lang-yaml=\"`publicIpAddress`\" pulumi-lang-java=\"`publicIpAddress`\"\u003e`public_ip_address`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`publicIpAddresses`\" pulumi-lang-dotnet=\"`PublicIpAddresses`\" pulumi-lang-go=\"`publicIpAddresses`\" pulumi-lang-python=\"`public_ip_addresses`\" pulumi-lang-yaml=\"`publicIpAddresses`\" pulumi-lang-java=\"`publicIpAddresses`\"\u003e`public_ip_addresses`\u003c/span\u003e fields may not be fully populated for Dynamic Public IP's.\n\n## Example Usage\n\nThis example provisions a basic Linux Virtual Machine on an internal network.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\nimport * as std from \"@pulumi/std\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"example\", {\n    name: \"example-network\",\n    addressSpaces: [\"10.0.0.0/16\"],\n    location: example.location,\n    resourceGroupName: example.name,\n});\nconst exampleSubnet = new azure.network.Subnet(\"example\", {\n    name: \"internal\",\n    resourceGroupName: example.name,\n    virtualNetworkName: exampleVirtualNetwork.name,\n    addressPrefixes: [\"10.0.2.0/24\"],\n});\nconst exampleNetworkInterface = new azure.network.NetworkInterface(\"example\", {\n    name: \"example-nic\",\n    location: example.location,\n    resourceGroupName: example.name,\n    ipConfigurations: [{\n        name: \"internal\",\n        subnetId: exampleSubnet.id,\n        privateIpAddressAllocation: \"Dynamic\",\n    }],\n});\nconst exampleLinuxVirtualMachine = new azure.compute.LinuxVirtualMachine(\"example\", {\n    name: \"example-machine\",\n    resourceGroupName: example.name,\n    location: example.location,\n    size: \"Standard_F2\",\n    adminUsername: \"adminuser\",\n    networkInterfaceIds: [exampleNetworkInterface.id],\n    adminSshKeys: [{\n        username: \"adminuser\",\n        publicKey: std.file({\n            input: \"~/.ssh/id_rsa.pub\",\n        }).then(invoke =\u003e invoke.result),\n    }],\n    osDisk: {\n        caching: \"ReadWrite\",\n        storageAccountType: \"Standard_LRS\",\n    },\n    sourceImageReference: {\n        publisher: \"Canonical\",\n        offer: \"0001-com-ubuntu-server-jammy\",\n        sku: \"22_04-lts\",\n        version: \"latest\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\nimport pulumi_std as std\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_virtual_network = azure.network.VirtualNetwork(\"example\",\n    name=\"example-network\",\n    address_spaces=[\"10.0.0.0/16\"],\n    location=example.location,\n    resource_group_name=example.name)\nexample_subnet = azure.network.Subnet(\"example\",\n    name=\"internal\",\n    resource_group_name=example.name,\n    virtual_network_name=example_virtual_network.name,\n    address_prefixes=[\"10.0.2.0/24\"])\nexample_network_interface = azure.network.NetworkInterface(\"example\",\n    name=\"example-nic\",\n    location=example.location,\n    resource_group_name=example.name,\n    ip_configurations=[{\n        \"name\": \"internal\",\n        \"subnet_id\": example_subnet.id,\n        \"private_ip_address_allocation\": \"Dynamic\",\n    }])\nexample_linux_virtual_machine = azure.compute.LinuxVirtualMachine(\"example\",\n    name=\"example-machine\",\n    resource_group_name=example.name,\n    location=example.location,\n    size=\"Standard_F2\",\n    admin_username=\"adminuser\",\n    network_interface_ids=[example_network_interface.id],\n    admin_ssh_keys=[{\n        \"username\": \"adminuser\",\n        \"public_key\": std.file(input=\"~/.ssh/id_rsa.pub\").result,\n    }],\n    os_disk={\n        \"caching\": \"ReadWrite\",\n        \"storage_account_type\": \"Standard_LRS\",\n    },\n    source_image_reference={\n        \"publisher\": \"Canonical\",\n        \"offer\": \"0001-com-ubuntu-server-jammy\",\n        \"sku\": \"22_04-lts\",\n        \"version\": \"latest\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleVirtualNetwork = new Azure.Network.VirtualNetwork(\"example\", new()\n    {\n        Name = \"example-network\",\n        AddressSpaces = new[]\n        {\n            \"10.0.0.0/16\",\n        },\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n    });\n\n    var exampleSubnet = new Azure.Network.Subnet(\"example\", new()\n    {\n        Name = \"internal\",\n        ResourceGroupName = example.Name,\n        VirtualNetworkName = exampleVirtualNetwork.Name,\n        AddressPrefixes = new[]\n        {\n            \"10.0.2.0/24\",\n        },\n    });\n\n    var exampleNetworkInterface = new Azure.Network.NetworkInterface(\"example\", new()\n    {\n        Name = \"example-nic\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        IpConfigurations = new[]\n        {\n            new Azure.Network.Inputs.NetworkInterfaceIpConfigurationArgs\n            {\n                Name = \"internal\",\n                SubnetId = exampleSubnet.Id,\n                PrivateIpAddressAllocation = \"Dynamic\",\n            },\n        },\n    });\n\n    var exampleLinuxVirtualMachine = new Azure.Compute.LinuxVirtualMachine(\"example\", new()\n    {\n        Name = \"example-machine\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        Size = \"Standard_F2\",\n        AdminUsername = \"adminuser\",\n        NetworkInterfaceIds = new[]\n        {\n            exampleNetworkInterface.Id,\n        },\n        AdminSshKeys = new[]\n        {\n            new Azure.Compute.Inputs.LinuxVirtualMachineAdminSshKeyArgs\n            {\n                Username = \"adminuser\",\n                PublicKey = Std.File.Invoke(new()\n                {\n                    Input = \"~/.ssh/id_rsa.pub\",\n                }).Apply(invoke =\u003e invoke.Result),\n            },\n        },\n        OsDisk = new Azure.Compute.Inputs.LinuxVirtualMachineOsDiskArgs\n        {\n            Caching = \"ReadWrite\",\n            StorageAccountType = \"Standard_LRS\",\n        },\n        SourceImageReference = new Azure.Compute.Inputs.LinuxVirtualMachineSourceImageReferenceArgs\n        {\n            Publisher = \"Canonical\",\n            Offer = \"0001-com-ubuntu-server-jammy\",\n            Sku = \"22_04-lts\",\n            Version = \"latest\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/compute\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, \"example\", \u0026network.VirtualNetworkArgs{\n\t\t\tName: pulumi.String(\"example-network\"),\n\t\t\tAddressSpaces: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.0.0/16\"),\n\t\t\t},\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSubnet, err := network.NewSubnet(ctx, \"example\", \u0026network.SubnetArgs{\n\t\t\tName:               pulumi.String(\"internal\"),\n\t\t\tResourceGroupName:  example.Name,\n\t\t\tVirtualNetworkName: exampleVirtualNetwork.Name,\n\t\t\tAddressPrefixes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.2.0/24\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNetworkInterface, err := network.NewNetworkInterface(ctx, \"example\", \u0026network.NetworkInterfaceArgs{\n\t\t\tName:              pulumi.String(\"example-nic\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tIpConfigurations: network.NetworkInterfaceIpConfigurationArray{\n\t\t\t\t\u0026network.NetworkInterfaceIpConfigurationArgs{\n\t\t\t\t\tName:                       pulumi.String(\"internal\"),\n\t\t\t\t\tSubnetId:                   exampleSubnet.ID(),\n\t\t\t\t\tPrivateIpAddressAllocation: pulumi.String(\"Dynamic\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"~/.ssh/id_rsa.pub\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = compute.NewLinuxVirtualMachine(ctx, \"example\", \u0026compute.LinuxVirtualMachineArgs{\n\t\t\tName:              pulumi.String(\"example-machine\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tSize:              pulumi.String(\"Standard_F2\"),\n\t\t\tAdminUsername:     pulumi.String(\"adminuser\"),\n\t\t\tNetworkInterfaceIds: pulumi.StringArray{\n\t\t\t\texampleNetworkInterface.ID(),\n\t\t\t},\n\t\t\tAdminSshKeys: compute.LinuxVirtualMachineAdminSshKeyArray{\n\t\t\t\t\u0026compute.LinuxVirtualMachineAdminSshKeyArgs{\n\t\t\t\t\tUsername:  pulumi.String(\"adminuser\"),\n\t\t\t\t\tPublicKey: pulumi.String(invokeFile.Result),\n\t\t\t\t},\n\t\t\t},\n\t\t\tOsDisk: \u0026compute.LinuxVirtualMachineOsDiskArgs{\n\t\t\t\tCaching:            pulumi.String(\"ReadWrite\"),\n\t\t\t\tStorageAccountType: pulumi.String(\"Standard_LRS\"),\n\t\t\t},\n\t\t\tSourceImageReference: \u0026compute.LinuxVirtualMachineSourceImageReferenceArgs{\n\t\t\t\tPublisher: pulumi.String(\"Canonical\"),\n\t\t\t\tOffer:     pulumi.String(\"0001-com-ubuntu-server-jammy\"),\n\t\t\t\tSku:       pulumi.String(\"22_04-lts\"),\n\t\t\t\tVersion:   pulumi.String(\"latest\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.VirtualNetwork;\nimport com.pulumi.azure.network.VirtualNetworkArgs;\nimport com.pulumi.azure.network.Subnet;\nimport com.pulumi.azure.network.SubnetArgs;\nimport com.pulumi.azure.network.NetworkInterface;\nimport com.pulumi.azure.network.NetworkInterfaceArgs;\nimport com.pulumi.azure.network.inputs.NetworkInterfaceIpConfigurationArgs;\nimport com.pulumi.azure.compute.LinuxVirtualMachine;\nimport com.pulumi.azure.compute.LinuxVirtualMachineArgs;\nimport com.pulumi.azure.compute.inputs.LinuxVirtualMachineAdminSshKeyArgs;\nimport com.pulumi.azure.compute.inputs.LinuxVirtualMachineOsDiskArgs;\nimport com.pulumi.azure.compute.inputs.LinuxVirtualMachineSourceImageReferenceArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.FileArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleVirtualNetwork = new VirtualNetwork(\"exampleVirtualNetwork\", VirtualNetworkArgs.builder()\n            .name(\"example-network\")\n            .addressSpaces(\"10.0.0.0/16\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .build());\n\n        var exampleSubnet = new Subnet(\"exampleSubnet\", SubnetArgs.builder()\n            .name(\"internal\")\n            .resourceGroupName(example.name())\n            .virtualNetworkName(exampleVirtualNetwork.name())\n            .addressPrefixes(\"10.0.2.0/24\")\n            .build());\n\n        var exampleNetworkInterface = new NetworkInterface(\"exampleNetworkInterface\", NetworkInterfaceArgs.builder()\n            .name(\"example-nic\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .ipConfigurations(NetworkInterfaceIpConfigurationArgs.builder()\n                .name(\"internal\")\n                .subnetId(exampleSubnet.id())\n                .privateIpAddressAllocation(\"Dynamic\")\n                .build())\n            .build());\n\n        var exampleLinuxVirtualMachine = new LinuxVirtualMachine(\"exampleLinuxVirtualMachine\", LinuxVirtualMachineArgs.builder()\n            .name(\"example-machine\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .size(\"Standard_F2\")\n            .adminUsername(\"adminuser\")\n            .networkInterfaceIds(exampleNetworkInterface.id())\n            .adminSshKeys(LinuxVirtualMachineAdminSshKeyArgs.builder()\n                .username(\"adminuser\")\n                .publicKey(StdFunctions.file(FileArgs.builder()\n                    .input(\"~/.ssh/id_rsa.pub\")\n                    .build()).result())\n                .build())\n            .osDisk(LinuxVirtualMachineOsDiskArgs.builder()\n                .caching(\"ReadWrite\")\n                .storageAccountType(\"Standard_LRS\")\n                .build())\n            .sourceImageReference(LinuxVirtualMachineSourceImageReferenceArgs.builder()\n                .publisher(\"Canonical\")\n                .offer(\"0001-com-ubuntu-server-jammy\")\n                .sku(\"22_04-lts\")\n                .version(\"latest\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleVirtualNetwork:\n    type: azure:network:VirtualNetwork\n    name: example\n    properties:\n      name: example-network\n      addressSpaces:\n        - 10.0.0.0/16\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n  exampleSubnet:\n    type: azure:network:Subnet\n    name: example\n    properties:\n      name: internal\n      resourceGroupName: ${example.name}\n      virtualNetworkName: ${exampleVirtualNetwork.name}\n      addressPrefixes:\n        - 10.0.2.0/24\n  exampleNetworkInterface:\n    type: azure:network:NetworkInterface\n    name: example\n    properties:\n      name: example-nic\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      ipConfigurations:\n        - name: internal\n          subnetId: ${exampleSubnet.id}\n          privateIpAddressAllocation: Dynamic\n  exampleLinuxVirtualMachine:\n    type: azure:compute:LinuxVirtualMachine\n    name: example\n    properties:\n      name: example-machine\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      size: Standard_F2\n      adminUsername: adminuser\n      networkInterfaceIds:\n        - ${exampleNetworkInterface.id}\n      adminSshKeys:\n        - username: adminuser\n          publicKey:\n            fn::invoke:\n              function: std:file\n              arguments:\n                input: ~/.ssh/id_rsa.pub\n              return: result\n      osDisk:\n        caching: ReadWrite\n        storageAccountType: Standard_LRS\n      sourceImageReference:\n        publisher: Canonical\n        offer: 0001-com-ubuntu-server-jammy\n        sku: 22_04-lts\n        version: latest\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Compute` - 2024-03-01, 2023-04-02\n\n## Import\n\nLinux Virtual Machines can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:compute/linuxVirtualMachine:LinuxVirtualMachine example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Compute/virtualMachines/machine1\n```\n\n","properties":{"additionalCapabilities":{"$ref":"#/types/azure:compute/LinuxVirtualMachineAdditionalCapabilities:LinuxVirtualMachineAdditionalCapabilities","description":"A \u003cspan pulumi-lang-nodejs=\"`additionalCapabilities`\" pulumi-lang-dotnet=\"`AdditionalCapabilities`\" pulumi-lang-go=\"`additionalCapabilities`\" pulumi-lang-python=\"`additional_capabilities`\" pulumi-lang-yaml=\"`additionalCapabilities`\" pulumi-lang-java=\"`additionalCapabilities`\"\u003e`additional_capabilities`\u003c/span\u003e block as defined below.\n"},"adminPassword":{"type":"string","description":"The Password which should be used for the local-administrator on this Virtual Machine. Changing this forces a new resource to be created.\n\n\u003e **NOTE:** When an \u003cspan pulumi-lang-nodejs=\"`adminPassword`\" pulumi-lang-dotnet=\"`AdminPassword`\" pulumi-lang-go=\"`adminPassword`\" pulumi-lang-python=\"`admin_password`\" pulumi-lang-yaml=\"`adminPassword`\" pulumi-lang-java=\"`adminPassword`\"\u003e`admin_password`\u003c/span\u003e is specified \u003cspan pulumi-lang-nodejs=\"`disablePasswordAuthentication`\" pulumi-lang-dotnet=\"`DisablePasswordAuthentication`\" pulumi-lang-go=\"`disablePasswordAuthentication`\" pulumi-lang-python=\"`disable_password_authentication`\" pulumi-lang-yaml=\"`disablePasswordAuthentication`\" pulumi-lang-java=\"`disablePasswordAuthentication`\"\u003e`disable_password_authentication`\u003c/span\u003e must be set to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\u003e **NOTE:** One of either \u003cspan pulumi-lang-nodejs=\"`adminPassword`\" pulumi-lang-dotnet=\"`AdminPassword`\" pulumi-lang-go=\"`adminPassword`\" pulumi-lang-python=\"`admin_password`\" pulumi-lang-yaml=\"`adminPassword`\" pulumi-lang-java=\"`adminPassword`\"\u003e`admin_password`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`adminSshKey`\" pulumi-lang-dotnet=\"`AdminSshKey`\" pulumi-lang-go=\"`adminSshKey`\" pulumi-lang-python=\"`admin_ssh_key`\" pulumi-lang-yaml=\"`adminSshKey`\" pulumi-lang-java=\"`adminSshKey`\"\u003e`admin_ssh_key`\u003c/span\u003e must be specified.\n","secret":true},"adminSshKeys":{"type":"array","items":{"$ref":"#/types/azure:compute/LinuxVirtualMachineAdminSshKey:LinuxVirtualMachineAdminSshKey"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`adminSshKey`\" pulumi-lang-dotnet=\"`AdminSshKey`\" pulumi-lang-go=\"`adminSshKey`\" pulumi-lang-python=\"`admin_ssh_key`\" pulumi-lang-yaml=\"`adminSshKey`\" pulumi-lang-java=\"`adminSshKey`\"\u003e`admin_ssh_key`\u003c/span\u003e blocks as defined below. Changing this forces a new resource to be created.\n\n\u003e **NOTE:** One of either \u003cspan pulumi-lang-nodejs=\"`adminPassword`\" pulumi-lang-dotnet=\"`AdminPassword`\" pulumi-lang-go=\"`adminPassword`\" pulumi-lang-python=\"`admin_password`\" pulumi-lang-yaml=\"`adminPassword`\" pulumi-lang-java=\"`adminPassword`\"\u003e`admin_password`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`adminSshKey`\" pulumi-lang-dotnet=\"`AdminSshKey`\" pulumi-lang-go=\"`adminSshKey`\" pulumi-lang-python=\"`admin_ssh_key`\" pulumi-lang-yaml=\"`adminSshKey`\" pulumi-lang-java=\"`adminSshKey`\"\u003e`admin_ssh_key`\u003c/span\u003e must be specified.\n"},"adminUsername":{"type":"string","description":"The username of the local administrator used for the Virtual Machine. Changing this forces a new resource to be created.\n\n\u003e **Note:** This is required unless using an existing OS Managed Disk by specifying \u003cspan pulumi-lang-nodejs=\"`osManagedDiskId`\" pulumi-lang-dotnet=\"`OsManagedDiskId`\" pulumi-lang-go=\"`osManagedDiskId`\" pulumi-lang-python=\"`os_managed_disk_id`\" pulumi-lang-yaml=\"`osManagedDiskId`\" pulumi-lang-java=\"`osManagedDiskId`\"\u003e`os_managed_disk_id`\u003c/span\u003e.\n"},"allowExtensionOperations":{"type":"boolean","description":"Should Extension Operations be allowed on this Virtual Machine? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"availabilitySetId":{"type":"string","description":"Specifies the ID of the Availability Set in which the Virtual Machine should exist. Changing this forces a new resource to be created.\n"},"bootDiagnostics":{"$ref":"#/types/azure:compute/LinuxVirtualMachineBootDiagnostics:LinuxVirtualMachineBootDiagnostics","description":"A \u003cspan pulumi-lang-nodejs=\"`bootDiagnostics`\" pulumi-lang-dotnet=\"`BootDiagnostics`\" pulumi-lang-go=\"`bootDiagnostics`\" pulumi-lang-python=\"`boot_diagnostics`\" pulumi-lang-yaml=\"`bootDiagnostics`\" pulumi-lang-java=\"`bootDiagnostics`\"\u003e`boot_diagnostics`\u003c/span\u003e block as defined below.\n"},"bypassPlatformSafetyChecksOnUserScheduleEnabled":{"type":"boolean","description":"Specifies whether to skip platform scheduled patching when a user schedule is associated with the VM. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **NOTE:** \u003cspan pulumi-lang-nodejs=\"`bypassPlatformSafetyChecksOnUserScheduleEnabled`\" pulumi-lang-dotnet=\"`BypassPlatformSafetyChecksOnUserScheduleEnabled`\" pulumi-lang-go=\"`bypassPlatformSafetyChecksOnUserScheduleEnabled`\" pulumi-lang-python=\"`bypass_platform_safety_checks_on_user_schedule_enabled`\" pulumi-lang-yaml=\"`bypassPlatformSafetyChecksOnUserScheduleEnabled`\" pulumi-lang-java=\"`bypassPlatformSafetyChecksOnUserScheduleEnabled`\"\u003e`bypass_platform_safety_checks_on_user_schedule_enabled`\u003c/span\u003e can only be set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e when \u003cspan pulumi-lang-nodejs=\"`patchMode`\" pulumi-lang-dotnet=\"`PatchMode`\" pulumi-lang-go=\"`patchMode`\" pulumi-lang-python=\"`patch_mode`\" pulumi-lang-yaml=\"`patchMode`\" pulumi-lang-java=\"`patchMode`\"\u003e`patch_mode`\u003c/span\u003e is set to `AutomaticByPlatform`.\n"},"capacityReservationGroupId":{"type":"string","description":"Specifies the ID of the Capacity Reservation Group which the Virtual Machine should be allocated to.\n\n\u003e **NOTE:** \u003cspan pulumi-lang-nodejs=\"`capacityReservationGroupId`\" pulumi-lang-dotnet=\"`CapacityReservationGroupId`\" pulumi-lang-go=\"`capacityReservationGroupId`\" pulumi-lang-python=\"`capacity_reservation_group_id`\" pulumi-lang-yaml=\"`capacityReservationGroupId`\" pulumi-lang-java=\"`capacityReservationGroupId`\"\u003e`capacity_reservation_group_id`\u003c/span\u003e cannot be used with \u003cspan pulumi-lang-nodejs=\"`availabilitySetId`\" pulumi-lang-dotnet=\"`AvailabilitySetId`\" pulumi-lang-go=\"`availabilitySetId`\" pulumi-lang-python=\"`availability_set_id`\" pulumi-lang-yaml=\"`availabilitySetId`\" pulumi-lang-java=\"`availabilitySetId`\"\u003e`availability_set_id`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`proximityPlacementGroupId`\" pulumi-lang-dotnet=\"`ProximityPlacementGroupId`\" pulumi-lang-go=\"`proximityPlacementGroupId`\" pulumi-lang-python=\"`proximity_placement_group_id`\" pulumi-lang-yaml=\"`proximityPlacementGroupId`\" pulumi-lang-java=\"`proximityPlacementGroupId`\"\u003e`proximity_placement_group_id`\u003c/span\u003e\n"},"computerName":{"type":"string","description":"Specifies the Hostname which should be used for this Virtual Machine. If unspecified this defaults to the value for the \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e field. If the value of the \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e field is not a valid \u003cspan pulumi-lang-nodejs=\"`computerName`\" pulumi-lang-dotnet=\"`ComputerName`\" pulumi-lang-go=\"`computerName`\" pulumi-lang-python=\"`computer_name`\" pulumi-lang-yaml=\"`computerName`\" pulumi-lang-java=\"`computerName`\"\u003e`computer_name`\u003c/span\u003e, then you must specify \u003cspan pulumi-lang-nodejs=\"`computerName`\" pulumi-lang-dotnet=\"`ComputerName`\" pulumi-lang-go=\"`computerName`\" pulumi-lang-python=\"`computer_name`\" pulumi-lang-yaml=\"`computerName`\" pulumi-lang-java=\"`computerName`\"\u003e`computer_name`\u003c/span\u003e. Changing this forces a new resource to be created.\n"},"customData":{"type":"string","description":"The Base64-Encoded Custom Data which should be used for this Virtual Machine. Changing this forces a new resource to be created.\n","secret":true},"dedicatedHostGroupId":{"type":"string","description":"The ID of a Dedicated Host Group that this Linux Virtual Machine should be run within. Conflicts with \u003cspan pulumi-lang-nodejs=\"`dedicatedHostId`\" pulumi-lang-dotnet=\"`DedicatedHostId`\" pulumi-lang-go=\"`dedicatedHostId`\" pulumi-lang-python=\"`dedicated_host_id`\" pulumi-lang-yaml=\"`dedicatedHostId`\" pulumi-lang-java=\"`dedicatedHostId`\"\u003e`dedicated_host_id`\u003c/span\u003e.\n"},"dedicatedHostId":{"type":"string","description":"The ID of a Dedicated Host where this machine should be run on. Conflicts with \u003cspan pulumi-lang-nodejs=\"`dedicatedHostGroupId`\" pulumi-lang-dotnet=\"`DedicatedHostGroupId`\" pulumi-lang-go=\"`dedicatedHostGroupId`\" pulumi-lang-python=\"`dedicated_host_group_id`\" pulumi-lang-yaml=\"`dedicatedHostGroupId`\" pulumi-lang-java=\"`dedicatedHostGroupId`\"\u003e`dedicated_host_group_id`\u003c/span\u003e.\n"},"disablePasswordAuthentication":{"type":"boolean","description":"Should Password Authentication be disabled on this Virtual Machine? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e. Changing this forces a new resource to be created.\n\n\u003e In general we'd recommend using SSH Keys for authentication rather than Passwords - but there's tradeoff's to each - please [see this thread for more information](https://security.stackexchange.com/questions/69407/why-is-using-an-ssh-key-more-secure-than-using-passwords).\n\n\u003e **NOTE:** When an \u003cspan pulumi-lang-nodejs=\"`adminPassword`\" pulumi-lang-dotnet=\"`AdminPassword`\" pulumi-lang-go=\"`adminPassword`\" pulumi-lang-python=\"`admin_password`\" pulumi-lang-yaml=\"`adminPassword`\" pulumi-lang-java=\"`adminPassword`\"\u003e`admin_password`\u003c/span\u003e is specified \u003cspan pulumi-lang-nodejs=\"`disablePasswordAuthentication`\" pulumi-lang-dotnet=\"`DisablePasswordAuthentication`\" pulumi-lang-go=\"`disablePasswordAuthentication`\" pulumi-lang-python=\"`disable_password_authentication`\" pulumi-lang-yaml=\"`disablePasswordAuthentication`\" pulumi-lang-java=\"`disablePasswordAuthentication`\"\u003e`disable_password_authentication`\u003c/span\u003e must be set to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"diskControllerType":{"type":"string","description":"Specifies the Disk Controller Type used for this Virtual Machine. Possible values are `SCSI` and `NVMe`.\n"},"edgeZone":{"type":"string","description":"Specifies the Edge Zone within the Azure Region where this Linux Virtual Machine should exist. Changing this forces a new Linux Virtual Machine to be created.\n"},"encryptionAtHostEnabled":{"type":"boolean","description":"Should all of the disks (including the temp disk) attached to this Virtual Machine be encrypted by enabling Encryption at Host?\n"},"evictionPolicy":{"type":"string","description":"Specifies what should happen when the Virtual Machine is evicted for price reasons when using a Spot instance. Possible values are `Deallocate` and `Delete`. Changing this forces a new resource to be created.\n\n\u003e **NOTE:** This can only be configured when \u003cspan pulumi-lang-nodejs=\"`priority`\" pulumi-lang-dotnet=\"`Priority`\" pulumi-lang-go=\"`priority`\" pulumi-lang-python=\"`priority`\" pulumi-lang-yaml=\"`priority`\" pulumi-lang-java=\"`priority`\"\u003e`priority`\u003c/span\u003e is set to `Spot`.\n"},"extensionsTimeBudget":{"type":"string","description":"Specifies the duration allocated for all extensions to start. The time duration should be between 15 minutes and 120 minutes (inclusive) and should be specified in ISO 8601 format. Defaults to `PT1H30M`.\n"},"galleryApplications":{"type":"array","items":{"$ref":"#/types/azure:compute/LinuxVirtualMachineGalleryApplication:LinuxVirtualMachineGalleryApplication"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`galleryApplication`\" pulumi-lang-dotnet=\"`GalleryApplication`\" pulumi-lang-go=\"`galleryApplication`\" pulumi-lang-python=\"`gallery_application`\" pulumi-lang-yaml=\"`galleryApplication`\" pulumi-lang-java=\"`galleryApplication`\"\u003e`gallery_application`\u003c/span\u003e blocks as defined below.\n\n\u003e **Note** Gallery Application Assignments can be defined either directly on \u003cspan pulumi-lang-nodejs=\"`azure.compute.LinuxVirtualMachine`\" pulumi-lang-dotnet=\"`azure.compute.LinuxVirtualMachine`\" pulumi-lang-go=\"`compute.LinuxVirtualMachine`\" pulumi-lang-python=\"`compute.LinuxVirtualMachine`\" pulumi-lang-yaml=\"`azure.compute.LinuxVirtualMachine`\" pulumi-lang-java=\"`azure.compute.LinuxVirtualMachine`\"\u003e`azure.compute.LinuxVirtualMachine`\u003c/span\u003e resource, or using the \u003cspan pulumi-lang-nodejs=\"`azure.compute.GalleryApplicationAssignment`\" pulumi-lang-dotnet=\"`azure.compute.GalleryApplicationAssignment`\" pulumi-lang-go=\"`compute.GalleryApplicationAssignment`\" pulumi-lang-python=\"`compute.GalleryApplicationAssignment`\" pulumi-lang-yaml=\"`azure.compute.GalleryApplicationAssignment`\" pulumi-lang-java=\"`azure.compute.GalleryApplicationAssignment`\"\u003e`azure.compute.GalleryApplicationAssignment`\u003c/span\u003e resource - but the two approaches cannot be used together. If both are used with the same Virtual Machine, spurious changes will occur. If \u003cspan pulumi-lang-nodejs=\"`azure.compute.GalleryApplicationAssignment`\" pulumi-lang-dotnet=\"`azure.compute.GalleryApplicationAssignment`\" pulumi-lang-go=\"`compute.GalleryApplicationAssignment`\" pulumi-lang-python=\"`compute.GalleryApplicationAssignment`\" pulumi-lang-yaml=\"`azure.compute.GalleryApplicationAssignment`\" pulumi-lang-java=\"`azure.compute.GalleryApplicationAssignment`\"\u003e`azure.compute.GalleryApplicationAssignment`\u003c/span\u003e is used, it's recommended to use \u003cspan pulumi-lang-nodejs=\"`ignoreChanges`\" pulumi-lang-dotnet=\"`IgnoreChanges`\" pulumi-lang-go=\"`ignoreChanges`\" pulumi-lang-python=\"`ignore_changes`\" pulumi-lang-yaml=\"`ignoreChanges`\" pulumi-lang-java=\"`ignoreChanges`\"\u003e`ignore_changes`\u003c/span\u003e for the \u003cspan pulumi-lang-nodejs=\"`galleryApplication`\" pulumi-lang-dotnet=\"`GalleryApplication`\" pulumi-lang-go=\"`galleryApplication`\" pulumi-lang-python=\"`gallery_application`\" pulumi-lang-yaml=\"`galleryApplication`\" pulumi-lang-java=\"`galleryApplication`\"\u003e`gallery_application`\u003c/span\u003e block on the corresponding \u003cspan pulumi-lang-nodejs=\"`azure.compute.LinuxVirtualMachine`\" pulumi-lang-dotnet=\"`azure.compute.LinuxVirtualMachine`\" pulumi-lang-go=\"`compute.LinuxVirtualMachine`\" pulumi-lang-python=\"`compute.LinuxVirtualMachine`\" pulumi-lang-yaml=\"`azure.compute.LinuxVirtualMachine`\" pulumi-lang-java=\"`azure.compute.LinuxVirtualMachine`\"\u003e`azure.compute.LinuxVirtualMachine`\u003c/span\u003e resource, to avoid a persistent diff when using this resource.\n"},"identity":{"$ref":"#/types/azure:compute/LinuxVirtualMachineIdentity:LinuxVirtualMachineIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"licenseType":{"type":"string","description":"Specifies the License Type for this Virtual Machine. Possible values are `RHEL_BYOS`, `RHEL_BASE`, `RHEL_EUS`, `RHEL_SAPAPPS`, `RHEL_SAPHA`, `RHEL_BASESAPAPPS`, `RHEL_BASESAPHA`, `SLES_BYOS`, `SLES_SAP`, `SLES_HPC`, `UBUNTU_PRO`.\n"},"location":{"type":"string","description":"The Azure location where the Linux Virtual Machine should exist. Changing this forces a new resource to be created.\n"},"maxBidPrice":{"type":"number","description":"The maximum price you're willing to pay for this Virtual Machine, in US Dollars; which must be greater than the current spot price. If this bid price falls below the current spot price the Virtual Machine will be evicted using the \u003cspan pulumi-lang-nodejs=\"`evictionPolicy`\" pulumi-lang-dotnet=\"`EvictionPolicy`\" pulumi-lang-go=\"`evictionPolicy`\" pulumi-lang-python=\"`eviction_policy`\" pulumi-lang-yaml=\"`evictionPolicy`\" pulumi-lang-java=\"`evictionPolicy`\"\u003e`eviction_policy`\u003c/span\u003e. Defaults to `-1`, which means that the Virtual Machine should not be evicted for price reasons.\n\n\u003e **NOTE:** This can only be configured when \u003cspan pulumi-lang-nodejs=\"`priority`\" pulumi-lang-dotnet=\"`Priority`\" pulumi-lang-go=\"`priority`\" pulumi-lang-python=\"`priority`\" pulumi-lang-yaml=\"`priority`\" pulumi-lang-java=\"`priority`\"\u003e`priority`\u003c/span\u003e is set to `Spot`.\n"},"name":{"type":"string","description":"The name of the Linux Virtual Machine. Changing this forces a new resource to be created.\n"},"networkInterfaceIds":{"type":"array","items":{"type":"string"},"description":". A list of Network Interface IDs which should be attached to this Virtual Machine. The first Network Interface ID in this list will be the Primary Network Interface on the Virtual Machine.\n"},"osDisk":{"$ref":"#/types/azure:compute/LinuxVirtualMachineOsDisk:LinuxVirtualMachineOsDisk","description":"A \u003cspan pulumi-lang-nodejs=\"`osDisk`\" pulumi-lang-dotnet=\"`OsDisk`\" pulumi-lang-go=\"`osDisk`\" pulumi-lang-python=\"`os_disk`\" pulumi-lang-yaml=\"`osDisk`\" pulumi-lang-java=\"`osDisk`\"\u003e`os_disk`\u003c/span\u003e block as defined below.\n"},"osImageNotification":{"$ref":"#/types/azure:compute/LinuxVirtualMachineOsImageNotification:LinuxVirtualMachineOsImageNotification","description":"A \u003cspan pulumi-lang-nodejs=\"`osImageNotification`\" pulumi-lang-dotnet=\"`OsImageNotification`\" pulumi-lang-go=\"`osImageNotification`\" pulumi-lang-python=\"`os_image_notification`\" pulumi-lang-yaml=\"`osImageNotification`\" pulumi-lang-java=\"`osImageNotification`\"\u003e`os_image_notification`\u003c/span\u003e block as defined below.\n"},"osManagedDiskId":{"type":"string","description":"The ID of an existing Managed Disk to use as the OS Disk for this Linux Virtual Machine. Changing this forces a new resource to be created.\n\n\u003e **Note:** When specifying an existing Managed Disk it is not currently possible to subsequently manage the Operating System Profile properties: \u003cspan pulumi-lang-nodejs=\"`adminUsername`\" pulumi-lang-dotnet=\"`AdminUsername`\" pulumi-lang-go=\"`adminUsername`\" pulumi-lang-python=\"`admin_username`\" pulumi-lang-yaml=\"`adminUsername`\" pulumi-lang-java=\"`adminUsername`\"\u003e`admin_username`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`adminPassword`\" pulumi-lang-dotnet=\"`AdminPassword`\" pulumi-lang-go=\"`adminPassword`\" pulumi-lang-python=\"`admin_password`\" pulumi-lang-yaml=\"`adminPassword`\" pulumi-lang-java=\"`adminPassword`\"\u003e`admin_password`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`bypassPlatformSafetyChecksOnUserScheduleEnabled`\" pulumi-lang-dotnet=\"`BypassPlatformSafetyChecksOnUserScheduleEnabled`\" pulumi-lang-go=\"`bypassPlatformSafetyChecksOnUserScheduleEnabled`\" pulumi-lang-python=\"`bypass_platform_safety_checks_on_user_schedule_enabled`\" pulumi-lang-yaml=\"`bypassPlatformSafetyChecksOnUserScheduleEnabled`\" pulumi-lang-java=\"`bypassPlatformSafetyChecksOnUserScheduleEnabled`\"\u003e`bypass_platform_safety_checks_on_user_schedule_enabled`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`computerName`\" pulumi-lang-dotnet=\"`ComputerName`\" pulumi-lang-go=\"`computerName`\" pulumi-lang-python=\"`computer_name`\" pulumi-lang-yaml=\"`computerName`\" pulumi-lang-java=\"`computerName`\"\u003e`computer_name`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`customData`\" pulumi-lang-dotnet=\"`CustomData`\" pulumi-lang-go=\"`customData`\" pulumi-lang-python=\"`custom_data`\" pulumi-lang-yaml=\"`customData`\" pulumi-lang-java=\"`customData`\"\u003e`custom_data`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`provisionVmAgent`\" pulumi-lang-dotnet=\"`ProvisionVmAgent`\" pulumi-lang-go=\"`provisionVmAgent`\" pulumi-lang-python=\"`provision_vm_agent`\" pulumi-lang-yaml=\"`provisionVmAgent`\" pulumi-lang-java=\"`provisionVmAgent`\"\u003e`provision_vm_agent`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`patchMode`\" pulumi-lang-dotnet=\"`PatchMode`\" pulumi-lang-go=\"`patchMode`\" pulumi-lang-python=\"`patch_mode`\" pulumi-lang-yaml=\"`patchMode`\" pulumi-lang-java=\"`patchMode`\"\u003e`patch_mode`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`patchAssessmentMode`\" pulumi-lang-dotnet=\"`PatchAssessmentMode`\" pulumi-lang-go=\"`patchAssessmentMode`\" pulumi-lang-python=\"`patch_assessment_mode`\" pulumi-lang-yaml=\"`patchAssessmentMode`\" pulumi-lang-java=\"`patchAssessmentMode`\"\u003e`patch_assessment_mode`\u003c/span\u003e, or \u003cspan pulumi-lang-nodejs=\"`rebootSetting`\" pulumi-lang-dotnet=\"`RebootSetting`\" pulumi-lang-go=\"`rebootSetting`\" pulumi-lang-python=\"`reboot_setting`\" pulumi-lang-yaml=\"`rebootSetting`\" pulumi-lang-java=\"`rebootSetting`\"\u003e`reboot_setting`\u003c/span\u003e.\n"},"patchAssessmentMode":{"type":"string","description":"Specifies the mode of VM Guest Patching for the Virtual Machine. Possible values are `AutomaticByPlatform` or `ImageDefault`. Defaults to `ImageDefault`.\n\n\u003e **NOTE:** If the \u003cspan pulumi-lang-nodejs=\"`patchAssessmentMode`\" pulumi-lang-dotnet=\"`PatchAssessmentMode`\" pulumi-lang-go=\"`patchAssessmentMode`\" pulumi-lang-python=\"`patch_assessment_mode`\" pulumi-lang-yaml=\"`patchAssessmentMode`\" pulumi-lang-java=\"`patchAssessmentMode`\"\u003e`patch_assessment_mode`\u003c/span\u003e is set to `AutomaticByPlatform` then the \u003cspan pulumi-lang-nodejs=\"`provisionVmAgent`\" pulumi-lang-dotnet=\"`ProvisionVmAgent`\" pulumi-lang-go=\"`provisionVmAgent`\" pulumi-lang-python=\"`provision_vm_agent`\" pulumi-lang-yaml=\"`provisionVmAgent`\" pulumi-lang-java=\"`provisionVmAgent`\"\u003e`provision_vm_agent`\u003c/span\u003e field must be set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"patchMode":{"type":"string","description":"Specifies the mode of in-guest patching to this Linux Virtual Machine. Possible values are `AutomaticByPlatform` and `ImageDefault`. Defaults to `ImageDefault`. For more information on patch modes please see the [product documentation](https://docs.microsoft.com/azure/virtual-machines/automatic-vm-guest-patching#patch-orchestration-modes).\n\n\u003e **NOTE:** If \u003cspan pulumi-lang-nodejs=\"`patchMode`\" pulumi-lang-dotnet=\"`PatchMode`\" pulumi-lang-go=\"`patchMode`\" pulumi-lang-python=\"`patch_mode`\" pulumi-lang-yaml=\"`patchMode`\" pulumi-lang-java=\"`patchMode`\"\u003e`patch_mode`\u003c/span\u003e is set to `AutomaticByPlatform` then \u003cspan pulumi-lang-nodejs=\"`provisionVmAgent`\" pulumi-lang-dotnet=\"`ProvisionVmAgent`\" pulumi-lang-go=\"`provisionVmAgent`\" pulumi-lang-python=\"`provision_vm_agent`\" pulumi-lang-yaml=\"`provisionVmAgent`\" pulumi-lang-java=\"`provisionVmAgent`\"\u003e`provision_vm_agent`\u003c/span\u003e must also be set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"plan":{"$ref":"#/types/azure:compute/LinuxVirtualMachinePlan:LinuxVirtualMachinePlan","description":"A \u003cspan pulumi-lang-nodejs=\"`plan`\" pulumi-lang-dotnet=\"`Plan`\" pulumi-lang-go=\"`plan`\" pulumi-lang-python=\"`plan`\" pulumi-lang-yaml=\"`plan`\" pulumi-lang-java=\"`plan`\"\u003e`plan`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n"},"platformFaultDomain":{"type":"integer","description":"Specifies the Platform Fault Domain in which this Linux Virtual Machine should be created. Defaults to `-1`, which means this will be automatically assigned to a fault domain that best maintains balance across the available fault domains. Changing this forces a new Linux Virtual Machine to be created.\n"},"priority":{"type":"string","description":"Specifies the priority of this Virtual Machine. Possible values are `Regular` and `Spot`. Defaults to `Regular`. Changing this forces a new resource to be created.\n"},"privateIpAddress":{"type":"string","description":"The Primary Private IP Address assigned to this Virtual Machine.\n"},"privateIpAddresses":{"type":"array","items":{"type":"string"},"description":"A list of Private IP Addresses assigned to this Virtual Machine.\n"},"provisionVmAgent":{"type":"boolean","description":"Should the Azure VM Agent be provisioned on this Virtual Machine? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e. Changing this forces a new resource to be created.\n\n\u003e **NOTE:** If \u003cspan pulumi-lang-nodejs=\"`provisionVmAgent`\" pulumi-lang-dotnet=\"`ProvisionVmAgent`\" pulumi-lang-go=\"`provisionVmAgent`\" pulumi-lang-python=\"`provision_vm_agent`\" pulumi-lang-yaml=\"`provisionVmAgent`\" pulumi-lang-java=\"`provisionVmAgent`\"\u003e`provision_vm_agent`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e then \u003cspan pulumi-lang-nodejs=\"`allowExtensionOperations`\" pulumi-lang-dotnet=\"`AllowExtensionOperations`\" pulumi-lang-go=\"`allowExtensionOperations`\" pulumi-lang-python=\"`allow_extension_operations`\" pulumi-lang-yaml=\"`allowExtensionOperations`\" pulumi-lang-java=\"`allowExtensionOperations`\"\u003e`allow_extension_operations`\u003c/span\u003e must also be set to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"proximityPlacementGroupId":{"type":"string","description":"The ID of the Proximity Placement Group which the Virtual Machine should be assigned to.\n"},"publicIpAddress":{"type":"string","description":"The Primary Public IP Address assigned to this Virtual Machine.\n"},"publicIpAddresses":{"type":"array","items":{"type":"string"},"description":"A list of the Public IP Addresses assigned to this Virtual Machine.\n"},"rebootSetting":{"type":"string","description":"Specifies the reboot setting for platform scheduled patching. Possible values are `Always`, `IfRequired` and `Never`.\n\n\u003e **NOTE:** \u003cspan pulumi-lang-nodejs=\"`rebootSetting`\" pulumi-lang-dotnet=\"`RebootSetting`\" pulumi-lang-go=\"`rebootSetting`\" pulumi-lang-python=\"`reboot_setting`\" pulumi-lang-yaml=\"`rebootSetting`\" pulumi-lang-java=\"`rebootSetting`\"\u003e`reboot_setting`\u003c/span\u003e can only be set when \u003cspan pulumi-lang-nodejs=\"`patchMode`\" pulumi-lang-dotnet=\"`PatchMode`\" pulumi-lang-go=\"`patchMode`\" pulumi-lang-python=\"`patch_mode`\" pulumi-lang-yaml=\"`patchMode`\" pulumi-lang-java=\"`patchMode`\"\u003e`patch_mode`\u003c/span\u003e is set to `AutomaticByPlatform`.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group in which the Linux Virtual Machine should be exist. Changing this forces a new resource to be created.\n"},"secrets":{"type":"array","items":{"$ref":"#/types/azure:compute/LinuxVirtualMachineSecret:LinuxVirtualMachineSecret"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`secret`\" pulumi-lang-dotnet=\"`Secret`\" pulumi-lang-go=\"`secret`\" pulumi-lang-python=\"`secret`\" pulumi-lang-yaml=\"`secret`\" pulumi-lang-java=\"`secret`\"\u003e`secret`\u003c/span\u003e blocks as defined below.\n"},"secureBootEnabled":{"type":"boolean","description":"Specifies whether secure boot should be enabled on the virtual machine. Changing this forces a new resource to be created.\n"},"size":{"type":"string","description":"The SKU which should be used for this Virtual Machine, such as `Standard_F2`.\n"},"sourceImageId":{"type":"string","description":"The ID of the Image which this Virtual Machine should be created from. Changing this forces a new resource to be created. Possible Image ID types include `Image ID`s, `Shared Image ID`s, `Shared Image Version ID`s, `Community Gallery Image ID`s, `Community Gallery Image Version ID`s, `Shared Gallery Image ID`s and `Shared Gallery Image Version ID`s.\n\n\u003e **NOTE:** One of either \u003cspan pulumi-lang-nodejs=\"`sourceImageId`\" pulumi-lang-dotnet=\"`SourceImageId`\" pulumi-lang-go=\"`sourceImageId`\" pulumi-lang-python=\"`source_image_id`\" pulumi-lang-yaml=\"`sourceImageId`\" pulumi-lang-java=\"`sourceImageId`\"\u003e`source_image_id`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`sourceImageReference`\" pulumi-lang-dotnet=\"`SourceImageReference`\" pulumi-lang-go=\"`sourceImageReference`\" pulumi-lang-python=\"`source_image_reference`\" pulumi-lang-yaml=\"`sourceImageReference`\" pulumi-lang-java=\"`sourceImageReference`\"\u003e`source_image_reference`\u003c/span\u003e must be set.\n"},"sourceImageReference":{"$ref":"#/types/azure:compute/LinuxVirtualMachineSourceImageReference:LinuxVirtualMachineSourceImageReference","description":"A \u003cspan pulumi-lang-nodejs=\"`sourceImageReference`\" pulumi-lang-dotnet=\"`SourceImageReference`\" pulumi-lang-go=\"`sourceImageReference`\" pulumi-lang-python=\"`source_image_reference`\" pulumi-lang-yaml=\"`sourceImageReference`\" pulumi-lang-java=\"`sourceImageReference`\"\u003e`source_image_reference`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n\n\u003e **NOTE:** One of either \u003cspan pulumi-lang-nodejs=\"`sourceImageId`\" pulumi-lang-dotnet=\"`SourceImageId`\" pulumi-lang-go=\"`sourceImageId`\" pulumi-lang-python=\"`source_image_id`\" pulumi-lang-yaml=\"`sourceImageId`\" pulumi-lang-java=\"`sourceImageId`\"\u003e`source_image_id`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`sourceImageReference`\" pulumi-lang-dotnet=\"`SourceImageReference`\" pulumi-lang-go=\"`sourceImageReference`\" pulumi-lang-python=\"`source_image_reference`\" pulumi-lang-yaml=\"`sourceImageReference`\" pulumi-lang-java=\"`sourceImageReference`\"\u003e`source_image_reference`\u003c/span\u003e must be set.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to this Virtual Machine.\n"},"terminationNotification":{"$ref":"#/types/azure:compute/LinuxVirtualMachineTerminationNotification:LinuxVirtualMachineTerminationNotification","description":"A \u003cspan pulumi-lang-nodejs=\"`terminationNotification`\" pulumi-lang-dotnet=\"`TerminationNotification`\" pulumi-lang-go=\"`terminationNotification`\" pulumi-lang-python=\"`termination_notification`\" pulumi-lang-yaml=\"`terminationNotification`\" pulumi-lang-java=\"`terminationNotification`\"\u003e`termination_notification`\u003c/span\u003e block as defined below.\n"},"userData":{"type":"string","description":"The Base64-Encoded User Data which should be used for this Virtual Machine.\n"},"virtualMachineId":{"type":"string","description":"A 128-bit identifier which uniquely identifies this Virtual Machine.\n"},"virtualMachineScaleSetId":{"type":"string","description":"Specifies the Orchestrated Virtual Machine Scale Set that this Virtual Machine should be created within.\n\n\u003e **NOTE:** To update \u003cspan pulumi-lang-nodejs=\"`virtualMachineScaleSetId`\" pulumi-lang-dotnet=\"`VirtualMachineScaleSetId`\" pulumi-lang-go=\"`virtualMachineScaleSetId`\" pulumi-lang-python=\"`virtual_machine_scale_set_id`\" pulumi-lang-yaml=\"`virtualMachineScaleSetId`\" pulumi-lang-java=\"`virtualMachineScaleSetId`\"\u003e`virtual_machine_scale_set_id`\u003c/span\u003e the Preview Feature `Microsoft.Compute/SingleFDAttachDetachVMToVmss` needs to be enabled, see [the documentation](https://review.learn.microsoft.com/azure/virtual-machine-scale-sets/virtual-machine-scale-sets-attach-detach-vm#enroll-in-the-preview) for more information.\n\n\u003e **NOTE:** Orchestrated Virtual Machine Scale Sets can be provisioned using [the \u003cspan pulumi-lang-nodejs=\"`azure.compute.OrchestratedVirtualMachineScaleSet`\" pulumi-lang-dotnet=\"`azure.compute.OrchestratedVirtualMachineScaleSet`\" pulumi-lang-go=\"`compute.OrchestratedVirtualMachineScaleSet`\" pulumi-lang-python=\"`compute.OrchestratedVirtualMachineScaleSet`\" pulumi-lang-yaml=\"`azure.compute.OrchestratedVirtualMachineScaleSet`\" pulumi-lang-java=\"`azure.compute.OrchestratedVirtualMachineScaleSet`\"\u003e`azure.compute.OrchestratedVirtualMachineScaleSet`\u003c/span\u003e resource](https://www.terraform.io/docs/providers/azurerm/r/orchestrated_virtual_machine_scale_set.html).\n\n\u003e **NOTE:** To attach an existing VM to a Virtual Machine Scale Set, the scale set must have \u003cspan pulumi-lang-nodejs=\"`singlePlacementGroup`\" pulumi-lang-dotnet=\"`SinglePlacementGroup`\" pulumi-lang-go=\"`singlePlacementGroup`\" pulumi-lang-python=\"`single_placement_group`\" pulumi-lang-yaml=\"`singlePlacementGroup`\" pulumi-lang-java=\"`singlePlacementGroup`\"\u003e`single_placement_group`\u003c/span\u003e set to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e, see [the documentation](https://learn.microsoft.com/azure/virtual-machine-scale-sets/virtual-machine-scale-sets-attach-detach-vm?tabs=portal-1%2Cportal-2%2Cportal-3#limitations-for-attaching-an-existing-vm-to-a-scale-set) for more information.\n"},"vmAgentPlatformUpdatesEnabled":{"type":"boolean","description":"Specifies whether VMAgent Platform Updates is enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n","deprecationMessage":"this property has been deprecated due to a breaking change introduced by the Service team, which redefined it as a read-only field within the API"},"vtpmEnabled":{"type":"boolean","description":"Specifies whether vTPM should be enabled on the virtual machine. Changing this forces a new resource to be created.\n"},"zone":{"type":"string","description":"Specifies the Availability Zones in which this Linux Virtual Machine should be located. Changing this forces a new Linux Virtual Machine to be created.\n"}},"required":["allowExtensionOperations","computerName","disablePasswordAuthentication","diskControllerType","location","name","networkInterfaceIds","osDisk","osManagedDiskId","patchAssessmentMode","patchMode","privateIpAddress","privateIpAddresses","provisionVmAgent","publicIpAddress","publicIpAddresses","resourceGroupName","size","terminationNotification","virtualMachineId","vmAgentPlatformUpdatesEnabled"],"inputProperties":{"additionalCapabilities":{"$ref":"#/types/azure:compute/LinuxVirtualMachineAdditionalCapabilities:LinuxVirtualMachineAdditionalCapabilities","description":"A \u003cspan pulumi-lang-nodejs=\"`additionalCapabilities`\" pulumi-lang-dotnet=\"`AdditionalCapabilities`\" pulumi-lang-go=\"`additionalCapabilities`\" pulumi-lang-python=\"`additional_capabilities`\" pulumi-lang-yaml=\"`additionalCapabilities`\" pulumi-lang-java=\"`additionalCapabilities`\"\u003e`additional_capabilities`\u003c/span\u003e block as defined below.\n"},"adminPassword":{"type":"string","description":"The Password which should be used for the local-administrator on this Virtual Machine. Changing this forces a new resource to be created.\n\n\u003e **NOTE:** When an \u003cspan pulumi-lang-nodejs=\"`adminPassword`\" pulumi-lang-dotnet=\"`AdminPassword`\" pulumi-lang-go=\"`adminPassword`\" pulumi-lang-python=\"`admin_password`\" pulumi-lang-yaml=\"`adminPassword`\" pulumi-lang-java=\"`adminPassword`\"\u003e`admin_password`\u003c/span\u003e is specified \u003cspan pulumi-lang-nodejs=\"`disablePasswordAuthentication`\" pulumi-lang-dotnet=\"`DisablePasswordAuthentication`\" pulumi-lang-go=\"`disablePasswordAuthentication`\" pulumi-lang-python=\"`disable_password_authentication`\" pulumi-lang-yaml=\"`disablePasswordAuthentication`\" pulumi-lang-java=\"`disablePasswordAuthentication`\"\u003e`disable_password_authentication`\u003c/span\u003e must be set to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\u003e **NOTE:** One of either \u003cspan pulumi-lang-nodejs=\"`adminPassword`\" pulumi-lang-dotnet=\"`AdminPassword`\" pulumi-lang-go=\"`adminPassword`\" pulumi-lang-python=\"`admin_password`\" pulumi-lang-yaml=\"`adminPassword`\" pulumi-lang-java=\"`adminPassword`\"\u003e`admin_password`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`adminSshKey`\" pulumi-lang-dotnet=\"`AdminSshKey`\" pulumi-lang-go=\"`adminSshKey`\" pulumi-lang-python=\"`admin_ssh_key`\" pulumi-lang-yaml=\"`adminSshKey`\" pulumi-lang-java=\"`adminSshKey`\"\u003e`admin_ssh_key`\u003c/span\u003e must be specified.\n","secret":true,"willReplaceOnChanges":true},"adminSshKeys":{"type":"array","items":{"$ref":"#/types/azure:compute/LinuxVirtualMachineAdminSshKey:LinuxVirtualMachineAdminSshKey"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`adminSshKey`\" pulumi-lang-dotnet=\"`AdminSshKey`\" pulumi-lang-go=\"`adminSshKey`\" pulumi-lang-python=\"`admin_ssh_key`\" pulumi-lang-yaml=\"`adminSshKey`\" pulumi-lang-java=\"`adminSshKey`\"\u003e`admin_ssh_key`\u003c/span\u003e blocks as defined below. Changing this forces a new resource to be created.\n\n\u003e **NOTE:** One of either \u003cspan pulumi-lang-nodejs=\"`adminPassword`\" pulumi-lang-dotnet=\"`AdminPassword`\" pulumi-lang-go=\"`adminPassword`\" pulumi-lang-python=\"`admin_password`\" pulumi-lang-yaml=\"`adminPassword`\" pulumi-lang-java=\"`adminPassword`\"\u003e`admin_password`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`adminSshKey`\" pulumi-lang-dotnet=\"`AdminSshKey`\" pulumi-lang-go=\"`adminSshKey`\" pulumi-lang-python=\"`admin_ssh_key`\" pulumi-lang-yaml=\"`adminSshKey`\" pulumi-lang-java=\"`adminSshKey`\"\u003e`admin_ssh_key`\u003c/span\u003e must be specified.\n","willReplaceOnChanges":true},"adminUsername":{"type":"string","description":"The username of the local administrator used for the Virtual Machine. Changing this forces a new resource to be created.\n\n\u003e **Note:** This is required unless using an existing OS Managed Disk by specifying \u003cspan pulumi-lang-nodejs=\"`osManagedDiskId`\" pulumi-lang-dotnet=\"`OsManagedDiskId`\" pulumi-lang-go=\"`osManagedDiskId`\" pulumi-lang-python=\"`os_managed_disk_id`\" pulumi-lang-yaml=\"`osManagedDiskId`\" pulumi-lang-java=\"`osManagedDiskId`\"\u003e`os_managed_disk_id`\u003c/span\u003e.\n","willReplaceOnChanges":true},"allowExtensionOperations":{"type":"boolean","description":"Should Extension Operations be allowed on this Virtual Machine? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"availabilitySetId":{"type":"string","description":"Specifies the ID of the Availability Set in which the Virtual Machine should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"bootDiagnostics":{"$ref":"#/types/azure:compute/LinuxVirtualMachineBootDiagnostics:LinuxVirtualMachineBootDiagnostics","description":"A \u003cspan pulumi-lang-nodejs=\"`bootDiagnostics`\" pulumi-lang-dotnet=\"`BootDiagnostics`\" pulumi-lang-go=\"`bootDiagnostics`\" pulumi-lang-python=\"`boot_diagnostics`\" pulumi-lang-yaml=\"`bootDiagnostics`\" pulumi-lang-java=\"`bootDiagnostics`\"\u003e`boot_diagnostics`\u003c/span\u003e block as defined below.\n"},"bypassPlatformSafetyChecksOnUserScheduleEnabled":{"type":"boolean","description":"Specifies whether to skip platform scheduled patching when a user schedule is associated with the VM. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **NOTE:** \u003cspan pulumi-lang-nodejs=\"`bypassPlatformSafetyChecksOnUserScheduleEnabled`\" pulumi-lang-dotnet=\"`BypassPlatformSafetyChecksOnUserScheduleEnabled`\" pulumi-lang-go=\"`bypassPlatformSafetyChecksOnUserScheduleEnabled`\" pulumi-lang-python=\"`bypass_platform_safety_checks_on_user_schedule_enabled`\" pulumi-lang-yaml=\"`bypassPlatformSafetyChecksOnUserScheduleEnabled`\" pulumi-lang-java=\"`bypassPlatformSafetyChecksOnUserScheduleEnabled`\"\u003e`bypass_platform_safety_checks_on_user_schedule_enabled`\u003c/span\u003e can only be set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e when \u003cspan pulumi-lang-nodejs=\"`patchMode`\" pulumi-lang-dotnet=\"`PatchMode`\" pulumi-lang-go=\"`patchMode`\" pulumi-lang-python=\"`patch_mode`\" pulumi-lang-yaml=\"`patchMode`\" pulumi-lang-java=\"`patchMode`\"\u003e`patch_mode`\u003c/span\u003e is set to `AutomaticByPlatform`.\n"},"capacityReservationGroupId":{"type":"string","description":"Specifies the ID of the Capacity Reservation Group which the Virtual Machine should be allocated to.\n\n\u003e **NOTE:** \u003cspan pulumi-lang-nodejs=\"`capacityReservationGroupId`\" pulumi-lang-dotnet=\"`CapacityReservationGroupId`\" pulumi-lang-go=\"`capacityReservationGroupId`\" pulumi-lang-python=\"`capacity_reservation_group_id`\" pulumi-lang-yaml=\"`capacityReservationGroupId`\" pulumi-lang-java=\"`capacityReservationGroupId`\"\u003e`capacity_reservation_group_id`\u003c/span\u003e cannot be used with \u003cspan pulumi-lang-nodejs=\"`availabilitySetId`\" pulumi-lang-dotnet=\"`AvailabilitySetId`\" pulumi-lang-go=\"`availabilitySetId`\" pulumi-lang-python=\"`availability_set_id`\" pulumi-lang-yaml=\"`availabilitySetId`\" pulumi-lang-java=\"`availabilitySetId`\"\u003e`availability_set_id`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`proximityPlacementGroupId`\" pulumi-lang-dotnet=\"`ProximityPlacementGroupId`\" pulumi-lang-go=\"`proximityPlacementGroupId`\" pulumi-lang-python=\"`proximity_placement_group_id`\" pulumi-lang-yaml=\"`proximityPlacementGroupId`\" pulumi-lang-java=\"`proximityPlacementGroupId`\"\u003e`proximity_placement_group_id`\u003c/span\u003e\n"},"computerName":{"type":"string","description":"Specifies the Hostname which should be used for this Virtual Machine. If unspecified this defaults to the value for the \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e field. If the value of the \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e field is not a valid \u003cspan pulumi-lang-nodejs=\"`computerName`\" pulumi-lang-dotnet=\"`ComputerName`\" pulumi-lang-go=\"`computerName`\" pulumi-lang-python=\"`computer_name`\" pulumi-lang-yaml=\"`computerName`\" pulumi-lang-java=\"`computerName`\"\u003e`computer_name`\u003c/span\u003e, then you must specify \u003cspan pulumi-lang-nodejs=\"`computerName`\" pulumi-lang-dotnet=\"`ComputerName`\" pulumi-lang-go=\"`computerName`\" pulumi-lang-python=\"`computer_name`\" pulumi-lang-yaml=\"`computerName`\" pulumi-lang-java=\"`computerName`\"\u003e`computer_name`\u003c/span\u003e. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"customData":{"type":"string","description":"The Base64-Encoded Custom Data which should be used for this Virtual Machine. Changing this forces a new resource to be created.\n","secret":true,"willReplaceOnChanges":true},"dedicatedHostGroupId":{"type":"string","description":"The ID of a Dedicated Host Group that this Linux Virtual Machine should be run within. Conflicts with \u003cspan pulumi-lang-nodejs=\"`dedicatedHostId`\" pulumi-lang-dotnet=\"`DedicatedHostId`\" pulumi-lang-go=\"`dedicatedHostId`\" pulumi-lang-python=\"`dedicated_host_id`\" pulumi-lang-yaml=\"`dedicatedHostId`\" pulumi-lang-java=\"`dedicatedHostId`\"\u003e`dedicated_host_id`\u003c/span\u003e.\n"},"dedicatedHostId":{"type":"string","description":"The ID of a Dedicated Host where this machine should be run on. Conflicts with \u003cspan pulumi-lang-nodejs=\"`dedicatedHostGroupId`\" pulumi-lang-dotnet=\"`DedicatedHostGroupId`\" pulumi-lang-go=\"`dedicatedHostGroupId`\" pulumi-lang-python=\"`dedicated_host_group_id`\" pulumi-lang-yaml=\"`dedicatedHostGroupId`\" pulumi-lang-java=\"`dedicatedHostGroupId`\"\u003e`dedicated_host_group_id`\u003c/span\u003e.\n"},"disablePasswordAuthentication":{"type":"boolean","description":"Should Password Authentication be disabled on this Virtual Machine? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e. Changing this forces a new resource to be created.\n\n\u003e In general we'd recommend using SSH Keys for authentication rather than Passwords - but there's tradeoff's to each - please [see this thread for more information](https://security.stackexchange.com/questions/69407/why-is-using-an-ssh-key-more-secure-than-using-passwords).\n\n\u003e **NOTE:** When an \u003cspan pulumi-lang-nodejs=\"`adminPassword`\" pulumi-lang-dotnet=\"`AdminPassword`\" pulumi-lang-go=\"`adminPassword`\" pulumi-lang-python=\"`admin_password`\" pulumi-lang-yaml=\"`adminPassword`\" pulumi-lang-java=\"`adminPassword`\"\u003e`admin_password`\u003c/span\u003e is specified \u003cspan pulumi-lang-nodejs=\"`disablePasswordAuthentication`\" pulumi-lang-dotnet=\"`DisablePasswordAuthentication`\" pulumi-lang-go=\"`disablePasswordAuthentication`\" pulumi-lang-python=\"`disable_password_authentication`\" pulumi-lang-yaml=\"`disablePasswordAuthentication`\" pulumi-lang-java=\"`disablePasswordAuthentication`\"\u003e`disable_password_authentication`\u003c/span\u003e must be set to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n","willReplaceOnChanges":true},"diskControllerType":{"type":"string","description":"Specifies the Disk Controller Type used for this Virtual Machine. Possible values are `SCSI` and `NVMe`.\n"},"edgeZone":{"type":"string","description":"Specifies the Edge Zone within the Azure Region where this Linux Virtual Machine should exist. Changing this forces a new Linux Virtual Machine to be created.\n","willReplaceOnChanges":true},"encryptionAtHostEnabled":{"type":"boolean","description":"Should all of the disks (including the temp disk) attached to this Virtual Machine be encrypted by enabling Encryption at Host?\n"},"evictionPolicy":{"type":"string","description":"Specifies what should happen when the Virtual Machine is evicted for price reasons when using a Spot instance. Possible values are `Deallocate` and `Delete`. Changing this forces a new resource to be created.\n\n\u003e **NOTE:** This can only be configured when \u003cspan pulumi-lang-nodejs=\"`priority`\" pulumi-lang-dotnet=\"`Priority`\" pulumi-lang-go=\"`priority`\" pulumi-lang-python=\"`priority`\" pulumi-lang-yaml=\"`priority`\" pulumi-lang-java=\"`priority`\"\u003e`priority`\u003c/span\u003e is set to `Spot`.\n","willReplaceOnChanges":true},"extensionsTimeBudget":{"type":"string","description":"Specifies the duration allocated for all extensions to start. The time duration should be between 15 minutes and 120 minutes (inclusive) and should be specified in ISO 8601 format. Defaults to `PT1H30M`.\n"},"galleryApplications":{"type":"array","items":{"$ref":"#/types/azure:compute/LinuxVirtualMachineGalleryApplication:LinuxVirtualMachineGalleryApplication"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`galleryApplication`\" pulumi-lang-dotnet=\"`GalleryApplication`\" pulumi-lang-go=\"`galleryApplication`\" pulumi-lang-python=\"`gallery_application`\" pulumi-lang-yaml=\"`galleryApplication`\" pulumi-lang-java=\"`galleryApplication`\"\u003e`gallery_application`\u003c/span\u003e blocks as defined below.\n\n\u003e **Note** Gallery Application Assignments can be defined either directly on \u003cspan pulumi-lang-nodejs=\"`azure.compute.LinuxVirtualMachine`\" pulumi-lang-dotnet=\"`azure.compute.LinuxVirtualMachine`\" pulumi-lang-go=\"`compute.LinuxVirtualMachine`\" pulumi-lang-python=\"`compute.LinuxVirtualMachine`\" pulumi-lang-yaml=\"`azure.compute.LinuxVirtualMachine`\" pulumi-lang-java=\"`azure.compute.LinuxVirtualMachine`\"\u003e`azure.compute.LinuxVirtualMachine`\u003c/span\u003e resource, or using the \u003cspan pulumi-lang-nodejs=\"`azure.compute.GalleryApplicationAssignment`\" pulumi-lang-dotnet=\"`azure.compute.GalleryApplicationAssignment`\" pulumi-lang-go=\"`compute.GalleryApplicationAssignment`\" pulumi-lang-python=\"`compute.GalleryApplicationAssignment`\" pulumi-lang-yaml=\"`azure.compute.GalleryApplicationAssignment`\" pulumi-lang-java=\"`azure.compute.GalleryApplicationAssignment`\"\u003e`azure.compute.GalleryApplicationAssignment`\u003c/span\u003e resource - but the two approaches cannot be used together. If both are used with the same Virtual Machine, spurious changes will occur. If \u003cspan pulumi-lang-nodejs=\"`azure.compute.GalleryApplicationAssignment`\" pulumi-lang-dotnet=\"`azure.compute.GalleryApplicationAssignment`\" pulumi-lang-go=\"`compute.GalleryApplicationAssignment`\" pulumi-lang-python=\"`compute.GalleryApplicationAssignment`\" pulumi-lang-yaml=\"`azure.compute.GalleryApplicationAssignment`\" pulumi-lang-java=\"`azure.compute.GalleryApplicationAssignment`\"\u003e`azure.compute.GalleryApplicationAssignment`\u003c/span\u003e is used, it's recommended to use \u003cspan pulumi-lang-nodejs=\"`ignoreChanges`\" pulumi-lang-dotnet=\"`IgnoreChanges`\" pulumi-lang-go=\"`ignoreChanges`\" pulumi-lang-python=\"`ignore_changes`\" pulumi-lang-yaml=\"`ignoreChanges`\" pulumi-lang-java=\"`ignoreChanges`\"\u003e`ignore_changes`\u003c/span\u003e for the \u003cspan pulumi-lang-nodejs=\"`galleryApplication`\" pulumi-lang-dotnet=\"`GalleryApplication`\" pulumi-lang-go=\"`galleryApplication`\" pulumi-lang-python=\"`gallery_application`\" pulumi-lang-yaml=\"`galleryApplication`\" pulumi-lang-java=\"`galleryApplication`\"\u003e`gallery_application`\u003c/span\u003e block on the corresponding \u003cspan pulumi-lang-nodejs=\"`azure.compute.LinuxVirtualMachine`\" pulumi-lang-dotnet=\"`azure.compute.LinuxVirtualMachine`\" pulumi-lang-go=\"`compute.LinuxVirtualMachine`\" pulumi-lang-python=\"`compute.LinuxVirtualMachine`\" pulumi-lang-yaml=\"`azure.compute.LinuxVirtualMachine`\" pulumi-lang-java=\"`azure.compute.LinuxVirtualMachine`\"\u003e`azure.compute.LinuxVirtualMachine`\u003c/span\u003e resource, to avoid a persistent diff when using this resource.\n"},"identity":{"$ref":"#/types/azure:compute/LinuxVirtualMachineIdentity:LinuxVirtualMachineIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"licenseType":{"type":"string","description":"Specifies the License Type for this Virtual Machine. Possible values are `RHEL_BYOS`, `RHEL_BASE`, `RHEL_EUS`, `RHEL_SAPAPPS`, `RHEL_SAPHA`, `RHEL_BASESAPAPPS`, `RHEL_BASESAPHA`, `SLES_BYOS`, `SLES_SAP`, `SLES_HPC`, `UBUNTU_PRO`.\n"},"location":{"type":"string","description":"The Azure location where the Linux Virtual Machine should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"maxBidPrice":{"type":"number","description":"The maximum price you're willing to pay for this Virtual Machine, in US Dollars; which must be greater than the current spot price. If this bid price falls below the current spot price the Virtual Machine will be evicted using the \u003cspan pulumi-lang-nodejs=\"`evictionPolicy`\" pulumi-lang-dotnet=\"`EvictionPolicy`\" pulumi-lang-go=\"`evictionPolicy`\" pulumi-lang-python=\"`eviction_policy`\" pulumi-lang-yaml=\"`evictionPolicy`\" pulumi-lang-java=\"`evictionPolicy`\"\u003e`eviction_policy`\u003c/span\u003e. Defaults to `-1`, which means that the Virtual Machine should not be evicted for price reasons.\n\n\u003e **NOTE:** This can only be configured when \u003cspan pulumi-lang-nodejs=\"`priority`\" pulumi-lang-dotnet=\"`Priority`\" pulumi-lang-go=\"`priority`\" pulumi-lang-python=\"`priority`\" pulumi-lang-yaml=\"`priority`\" pulumi-lang-java=\"`priority`\"\u003e`priority`\u003c/span\u003e is set to `Spot`.\n"},"name":{"type":"string","description":"The name of the Linux Virtual Machine. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"networkInterfaceIds":{"type":"array","items":{"type":"string"},"description":". A list of Network Interface IDs which should be attached to this Virtual Machine. The first Network Interface ID in this list will be the Primary Network Interface on the Virtual Machine.\n"},"osDisk":{"$ref":"#/types/azure:compute/LinuxVirtualMachineOsDisk:LinuxVirtualMachineOsDisk","description":"A \u003cspan pulumi-lang-nodejs=\"`osDisk`\" pulumi-lang-dotnet=\"`OsDisk`\" pulumi-lang-go=\"`osDisk`\" pulumi-lang-python=\"`os_disk`\" pulumi-lang-yaml=\"`osDisk`\" pulumi-lang-java=\"`osDisk`\"\u003e`os_disk`\u003c/span\u003e block as defined below.\n"},"osImageNotification":{"$ref":"#/types/azure:compute/LinuxVirtualMachineOsImageNotification:LinuxVirtualMachineOsImageNotification","description":"A \u003cspan pulumi-lang-nodejs=\"`osImageNotification`\" pulumi-lang-dotnet=\"`OsImageNotification`\" pulumi-lang-go=\"`osImageNotification`\" pulumi-lang-python=\"`os_image_notification`\" pulumi-lang-yaml=\"`osImageNotification`\" pulumi-lang-java=\"`osImageNotification`\"\u003e`os_image_notification`\u003c/span\u003e block as defined below.\n"},"osManagedDiskId":{"type":"string","description":"The ID of an existing Managed Disk to use as the OS Disk for this Linux Virtual Machine. Changing this forces a new resource to be created.\n\n\u003e **Note:** When specifying an existing Managed Disk it is not currently possible to subsequently manage the Operating System Profile properties: \u003cspan pulumi-lang-nodejs=\"`adminUsername`\" pulumi-lang-dotnet=\"`AdminUsername`\" pulumi-lang-go=\"`adminUsername`\" pulumi-lang-python=\"`admin_username`\" pulumi-lang-yaml=\"`adminUsername`\" pulumi-lang-java=\"`adminUsername`\"\u003e`admin_username`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`adminPassword`\" pulumi-lang-dotnet=\"`AdminPassword`\" pulumi-lang-go=\"`adminPassword`\" pulumi-lang-python=\"`admin_password`\" pulumi-lang-yaml=\"`adminPassword`\" pulumi-lang-java=\"`adminPassword`\"\u003e`admin_password`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`bypassPlatformSafetyChecksOnUserScheduleEnabled`\" pulumi-lang-dotnet=\"`BypassPlatformSafetyChecksOnUserScheduleEnabled`\" pulumi-lang-go=\"`bypassPlatformSafetyChecksOnUserScheduleEnabled`\" pulumi-lang-python=\"`bypass_platform_safety_checks_on_user_schedule_enabled`\" pulumi-lang-yaml=\"`bypassPlatformSafetyChecksOnUserScheduleEnabled`\" pulumi-lang-java=\"`bypassPlatformSafetyChecksOnUserScheduleEnabled`\"\u003e`bypass_platform_safety_checks_on_user_schedule_enabled`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`computerName`\" pulumi-lang-dotnet=\"`ComputerName`\" pulumi-lang-go=\"`computerName`\" pulumi-lang-python=\"`computer_name`\" pulumi-lang-yaml=\"`computerName`\" pulumi-lang-java=\"`computerName`\"\u003e`computer_name`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`customData`\" pulumi-lang-dotnet=\"`CustomData`\" pulumi-lang-go=\"`customData`\" pulumi-lang-python=\"`custom_data`\" pulumi-lang-yaml=\"`customData`\" pulumi-lang-java=\"`customData`\"\u003e`custom_data`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`provisionVmAgent`\" pulumi-lang-dotnet=\"`ProvisionVmAgent`\" pulumi-lang-go=\"`provisionVmAgent`\" pulumi-lang-python=\"`provision_vm_agent`\" pulumi-lang-yaml=\"`provisionVmAgent`\" pulumi-lang-java=\"`provisionVmAgent`\"\u003e`provision_vm_agent`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`patchMode`\" pulumi-lang-dotnet=\"`PatchMode`\" pulumi-lang-go=\"`patchMode`\" pulumi-lang-python=\"`patch_mode`\" pulumi-lang-yaml=\"`patchMode`\" pulumi-lang-java=\"`patchMode`\"\u003e`patch_mode`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`patchAssessmentMode`\" pulumi-lang-dotnet=\"`PatchAssessmentMode`\" pulumi-lang-go=\"`patchAssessmentMode`\" pulumi-lang-python=\"`patch_assessment_mode`\" pulumi-lang-yaml=\"`patchAssessmentMode`\" pulumi-lang-java=\"`patchAssessmentMode`\"\u003e`patch_assessment_mode`\u003c/span\u003e, or \u003cspan pulumi-lang-nodejs=\"`rebootSetting`\" pulumi-lang-dotnet=\"`RebootSetting`\" pulumi-lang-go=\"`rebootSetting`\" pulumi-lang-python=\"`reboot_setting`\" pulumi-lang-yaml=\"`rebootSetting`\" pulumi-lang-java=\"`rebootSetting`\"\u003e`reboot_setting`\u003c/span\u003e.\n","willReplaceOnChanges":true},"patchAssessmentMode":{"type":"string","description":"Specifies the mode of VM Guest Patching for the Virtual Machine. Possible values are `AutomaticByPlatform` or `ImageDefault`. Defaults to `ImageDefault`.\n\n\u003e **NOTE:** If the \u003cspan pulumi-lang-nodejs=\"`patchAssessmentMode`\" pulumi-lang-dotnet=\"`PatchAssessmentMode`\" pulumi-lang-go=\"`patchAssessmentMode`\" pulumi-lang-python=\"`patch_assessment_mode`\" pulumi-lang-yaml=\"`patchAssessmentMode`\" pulumi-lang-java=\"`patchAssessmentMode`\"\u003e`patch_assessment_mode`\u003c/span\u003e is set to `AutomaticByPlatform` then the \u003cspan pulumi-lang-nodejs=\"`provisionVmAgent`\" pulumi-lang-dotnet=\"`ProvisionVmAgent`\" pulumi-lang-go=\"`provisionVmAgent`\" pulumi-lang-python=\"`provision_vm_agent`\" pulumi-lang-yaml=\"`provisionVmAgent`\" pulumi-lang-java=\"`provisionVmAgent`\"\u003e`provision_vm_agent`\u003c/span\u003e field must be set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"patchMode":{"type":"string","description":"Specifies the mode of in-guest patching to this Linux Virtual Machine. Possible values are `AutomaticByPlatform` and `ImageDefault`. Defaults to `ImageDefault`. For more information on patch modes please see the [product documentation](https://docs.microsoft.com/azure/virtual-machines/automatic-vm-guest-patching#patch-orchestration-modes).\n\n\u003e **NOTE:** If \u003cspan pulumi-lang-nodejs=\"`patchMode`\" pulumi-lang-dotnet=\"`PatchMode`\" pulumi-lang-go=\"`patchMode`\" pulumi-lang-python=\"`patch_mode`\" pulumi-lang-yaml=\"`patchMode`\" pulumi-lang-java=\"`patchMode`\"\u003e`patch_mode`\u003c/span\u003e is set to `AutomaticByPlatform` then \u003cspan pulumi-lang-nodejs=\"`provisionVmAgent`\" pulumi-lang-dotnet=\"`ProvisionVmAgent`\" pulumi-lang-go=\"`provisionVmAgent`\" pulumi-lang-python=\"`provision_vm_agent`\" pulumi-lang-yaml=\"`provisionVmAgent`\" pulumi-lang-java=\"`provisionVmAgent`\"\u003e`provision_vm_agent`\u003c/span\u003e must also be set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"plan":{"$ref":"#/types/azure:compute/LinuxVirtualMachinePlan:LinuxVirtualMachinePlan","description":"A \u003cspan pulumi-lang-nodejs=\"`plan`\" pulumi-lang-dotnet=\"`Plan`\" pulumi-lang-go=\"`plan`\" pulumi-lang-python=\"`plan`\" pulumi-lang-yaml=\"`plan`\" pulumi-lang-java=\"`plan`\"\u003e`plan`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"platformFaultDomain":{"type":"integer","description":"Specifies the Platform Fault Domain in which this Linux Virtual Machine should be created. Defaults to `-1`, which means this will be automatically assigned to a fault domain that best maintains balance across the available fault domains. Changing this forces a new Linux Virtual Machine to be created.\n","willReplaceOnChanges":true},"priority":{"type":"string","description":"Specifies the priority of this Virtual Machine. Possible values are `Regular` and `Spot`. Defaults to `Regular`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"provisionVmAgent":{"type":"boolean","description":"Should the Azure VM Agent be provisioned on this Virtual Machine? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e. Changing this forces a new resource to be created.\n\n\u003e **NOTE:** If \u003cspan pulumi-lang-nodejs=\"`provisionVmAgent`\" pulumi-lang-dotnet=\"`ProvisionVmAgent`\" pulumi-lang-go=\"`provisionVmAgent`\" pulumi-lang-python=\"`provision_vm_agent`\" pulumi-lang-yaml=\"`provisionVmAgent`\" pulumi-lang-java=\"`provisionVmAgent`\"\u003e`provision_vm_agent`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e then \u003cspan pulumi-lang-nodejs=\"`allowExtensionOperations`\" pulumi-lang-dotnet=\"`AllowExtensionOperations`\" pulumi-lang-go=\"`allowExtensionOperations`\" pulumi-lang-python=\"`allow_extension_operations`\" pulumi-lang-yaml=\"`allowExtensionOperations`\" pulumi-lang-java=\"`allowExtensionOperations`\"\u003e`allow_extension_operations`\u003c/span\u003e must also be set to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n","willReplaceOnChanges":true},"proximityPlacementGroupId":{"type":"string","description":"The ID of the Proximity Placement Group which the Virtual Machine should be assigned to.\n"},"rebootSetting":{"type":"string","description":"Specifies the reboot setting for platform scheduled patching. Possible values are `Always`, `IfRequired` and `Never`.\n\n\u003e **NOTE:** \u003cspan pulumi-lang-nodejs=\"`rebootSetting`\" pulumi-lang-dotnet=\"`RebootSetting`\" pulumi-lang-go=\"`rebootSetting`\" pulumi-lang-python=\"`reboot_setting`\" pulumi-lang-yaml=\"`rebootSetting`\" pulumi-lang-java=\"`rebootSetting`\"\u003e`reboot_setting`\u003c/span\u003e can only be set when \u003cspan pulumi-lang-nodejs=\"`patchMode`\" pulumi-lang-dotnet=\"`PatchMode`\" pulumi-lang-go=\"`patchMode`\" pulumi-lang-python=\"`patch_mode`\" pulumi-lang-yaml=\"`patchMode`\" pulumi-lang-java=\"`patchMode`\"\u003e`patch_mode`\u003c/span\u003e is set to `AutomaticByPlatform`.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group in which the Linux Virtual Machine should be exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"secrets":{"type":"array","items":{"$ref":"#/types/azure:compute/LinuxVirtualMachineSecret:LinuxVirtualMachineSecret"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`secret`\" pulumi-lang-dotnet=\"`Secret`\" pulumi-lang-go=\"`secret`\" pulumi-lang-python=\"`secret`\" pulumi-lang-yaml=\"`secret`\" pulumi-lang-java=\"`secret`\"\u003e`secret`\u003c/span\u003e blocks as defined below.\n"},"secureBootEnabled":{"type":"boolean","description":"Specifies whether secure boot should be enabled on the virtual machine. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"size":{"type":"string","description":"The SKU which should be used for this Virtual Machine, such as `Standard_F2`.\n"},"sourceImageId":{"type":"string","description":"The ID of the Image which this Virtual Machine should be created from. Changing this forces a new resource to be created. Possible Image ID types include `Image ID`s, `Shared Image ID`s, `Shared Image Version ID`s, `Community Gallery Image ID`s, `Community Gallery Image Version ID`s, `Shared Gallery Image ID`s and `Shared Gallery Image Version ID`s.\n\n\u003e **NOTE:** One of either \u003cspan pulumi-lang-nodejs=\"`sourceImageId`\" pulumi-lang-dotnet=\"`SourceImageId`\" pulumi-lang-go=\"`sourceImageId`\" pulumi-lang-python=\"`source_image_id`\" pulumi-lang-yaml=\"`sourceImageId`\" pulumi-lang-java=\"`sourceImageId`\"\u003e`source_image_id`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`sourceImageReference`\" pulumi-lang-dotnet=\"`SourceImageReference`\" pulumi-lang-go=\"`sourceImageReference`\" pulumi-lang-python=\"`source_image_reference`\" pulumi-lang-yaml=\"`sourceImageReference`\" pulumi-lang-java=\"`sourceImageReference`\"\u003e`source_image_reference`\u003c/span\u003e must be set.\n","willReplaceOnChanges":true},"sourceImageReference":{"$ref":"#/types/azure:compute/LinuxVirtualMachineSourceImageReference:LinuxVirtualMachineSourceImageReference","description":"A \u003cspan pulumi-lang-nodejs=\"`sourceImageReference`\" pulumi-lang-dotnet=\"`SourceImageReference`\" pulumi-lang-go=\"`sourceImageReference`\" pulumi-lang-python=\"`source_image_reference`\" pulumi-lang-yaml=\"`sourceImageReference`\" pulumi-lang-java=\"`sourceImageReference`\"\u003e`source_image_reference`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n\n\u003e **NOTE:** One of either \u003cspan pulumi-lang-nodejs=\"`sourceImageId`\" pulumi-lang-dotnet=\"`SourceImageId`\" pulumi-lang-go=\"`sourceImageId`\" pulumi-lang-python=\"`source_image_id`\" pulumi-lang-yaml=\"`sourceImageId`\" pulumi-lang-java=\"`sourceImageId`\"\u003e`source_image_id`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`sourceImageReference`\" pulumi-lang-dotnet=\"`SourceImageReference`\" pulumi-lang-go=\"`sourceImageReference`\" pulumi-lang-python=\"`source_image_reference`\" pulumi-lang-yaml=\"`sourceImageReference`\" pulumi-lang-java=\"`sourceImageReference`\"\u003e`source_image_reference`\u003c/span\u003e must be set.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to this Virtual Machine.\n"},"terminationNotification":{"$ref":"#/types/azure:compute/LinuxVirtualMachineTerminationNotification:LinuxVirtualMachineTerminationNotification","description":"A \u003cspan pulumi-lang-nodejs=\"`terminationNotification`\" pulumi-lang-dotnet=\"`TerminationNotification`\" pulumi-lang-go=\"`terminationNotification`\" pulumi-lang-python=\"`termination_notification`\" pulumi-lang-yaml=\"`terminationNotification`\" pulumi-lang-java=\"`terminationNotification`\"\u003e`termination_notification`\u003c/span\u003e block as defined below.\n"},"userData":{"type":"string","description":"The Base64-Encoded User Data which should be used for this Virtual Machine.\n"},"virtualMachineScaleSetId":{"type":"string","description":"Specifies the Orchestrated Virtual Machine Scale Set that this Virtual Machine should be created within.\n\n\u003e **NOTE:** To update \u003cspan pulumi-lang-nodejs=\"`virtualMachineScaleSetId`\" pulumi-lang-dotnet=\"`VirtualMachineScaleSetId`\" pulumi-lang-go=\"`virtualMachineScaleSetId`\" pulumi-lang-python=\"`virtual_machine_scale_set_id`\" pulumi-lang-yaml=\"`virtualMachineScaleSetId`\" pulumi-lang-java=\"`virtualMachineScaleSetId`\"\u003e`virtual_machine_scale_set_id`\u003c/span\u003e the Preview Feature `Microsoft.Compute/SingleFDAttachDetachVMToVmss` needs to be enabled, see [the documentation](https://review.learn.microsoft.com/azure/virtual-machine-scale-sets/virtual-machine-scale-sets-attach-detach-vm#enroll-in-the-preview) for more information.\n\n\u003e **NOTE:** Orchestrated Virtual Machine Scale Sets can be provisioned using [the \u003cspan pulumi-lang-nodejs=\"`azure.compute.OrchestratedVirtualMachineScaleSet`\" pulumi-lang-dotnet=\"`azure.compute.OrchestratedVirtualMachineScaleSet`\" pulumi-lang-go=\"`compute.OrchestratedVirtualMachineScaleSet`\" pulumi-lang-python=\"`compute.OrchestratedVirtualMachineScaleSet`\" pulumi-lang-yaml=\"`azure.compute.OrchestratedVirtualMachineScaleSet`\" pulumi-lang-java=\"`azure.compute.OrchestratedVirtualMachineScaleSet`\"\u003e`azure.compute.OrchestratedVirtualMachineScaleSet`\u003c/span\u003e resource](https://www.terraform.io/docs/providers/azurerm/r/orchestrated_virtual_machine_scale_set.html).\n\n\u003e **NOTE:** To attach an existing VM to a Virtual Machine Scale Set, the scale set must have \u003cspan pulumi-lang-nodejs=\"`singlePlacementGroup`\" pulumi-lang-dotnet=\"`SinglePlacementGroup`\" pulumi-lang-go=\"`singlePlacementGroup`\" pulumi-lang-python=\"`single_placement_group`\" pulumi-lang-yaml=\"`singlePlacementGroup`\" pulumi-lang-java=\"`singlePlacementGroup`\"\u003e`single_placement_group`\u003c/span\u003e set to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e, see [the documentation](https://learn.microsoft.com/azure/virtual-machine-scale-sets/virtual-machine-scale-sets-attach-detach-vm?tabs=portal-1%2Cportal-2%2Cportal-3#limitations-for-attaching-an-existing-vm-to-a-scale-set) for more information.\n"},"vmAgentPlatformUpdatesEnabled":{"type":"boolean","description":"Specifies whether VMAgent Platform Updates is enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n","deprecationMessage":"this property has been deprecated due to a breaking change introduced by the Service team, which redefined it as a read-only field within the API"},"vtpmEnabled":{"type":"boolean","description":"Specifies whether vTPM should be enabled on the virtual machine. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"zone":{"type":"string","description":"Specifies the Availability Zones in which this Linux Virtual Machine should be located. Changing this forces a new Linux Virtual Machine to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["networkInterfaceIds","osDisk","resourceGroupName","size"],"stateInputs":{"description":"Input properties used for looking up and filtering LinuxVirtualMachine resources.\n","properties":{"additionalCapabilities":{"$ref":"#/types/azure:compute/LinuxVirtualMachineAdditionalCapabilities:LinuxVirtualMachineAdditionalCapabilities","description":"A \u003cspan pulumi-lang-nodejs=\"`additionalCapabilities`\" pulumi-lang-dotnet=\"`AdditionalCapabilities`\" pulumi-lang-go=\"`additionalCapabilities`\" pulumi-lang-python=\"`additional_capabilities`\" pulumi-lang-yaml=\"`additionalCapabilities`\" pulumi-lang-java=\"`additionalCapabilities`\"\u003e`additional_capabilities`\u003c/span\u003e block as defined below.\n"},"adminPassword":{"type":"string","description":"The Password which should be used for the local-administrator on this Virtual Machine. Changing this forces a new resource to be created.\n\n\u003e **NOTE:** When an \u003cspan pulumi-lang-nodejs=\"`adminPassword`\" pulumi-lang-dotnet=\"`AdminPassword`\" pulumi-lang-go=\"`adminPassword`\" pulumi-lang-python=\"`admin_password`\" pulumi-lang-yaml=\"`adminPassword`\" pulumi-lang-java=\"`adminPassword`\"\u003e`admin_password`\u003c/span\u003e is specified \u003cspan pulumi-lang-nodejs=\"`disablePasswordAuthentication`\" pulumi-lang-dotnet=\"`DisablePasswordAuthentication`\" pulumi-lang-go=\"`disablePasswordAuthentication`\" pulumi-lang-python=\"`disable_password_authentication`\" pulumi-lang-yaml=\"`disablePasswordAuthentication`\" pulumi-lang-java=\"`disablePasswordAuthentication`\"\u003e`disable_password_authentication`\u003c/span\u003e must be set to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\u003e **NOTE:** One of either \u003cspan pulumi-lang-nodejs=\"`adminPassword`\" pulumi-lang-dotnet=\"`AdminPassword`\" pulumi-lang-go=\"`adminPassword`\" pulumi-lang-python=\"`admin_password`\" pulumi-lang-yaml=\"`adminPassword`\" pulumi-lang-java=\"`adminPassword`\"\u003e`admin_password`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`adminSshKey`\" pulumi-lang-dotnet=\"`AdminSshKey`\" pulumi-lang-go=\"`adminSshKey`\" pulumi-lang-python=\"`admin_ssh_key`\" pulumi-lang-yaml=\"`adminSshKey`\" pulumi-lang-java=\"`adminSshKey`\"\u003e`admin_ssh_key`\u003c/span\u003e must be specified.\n","secret":true,"willReplaceOnChanges":true},"adminSshKeys":{"type":"array","items":{"$ref":"#/types/azure:compute/LinuxVirtualMachineAdminSshKey:LinuxVirtualMachineAdminSshKey"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`adminSshKey`\" pulumi-lang-dotnet=\"`AdminSshKey`\" pulumi-lang-go=\"`adminSshKey`\" pulumi-lang-python=\"`admin_ssh_key`\" pulumi-lang-yaml=\"`adminSshKey`\" pulumi-lang-java=\"`adminSshKey`\"\u003e`admin_ssh_key`\u003c/span\u003e blocks as defined below. Changing this forces a new resource to be created.\n\n\u003e **NOTE:** One of either \u003cspan pulumi-lang-nodejs=\"`adminPassword`\" pulumi-lang-dotnet=\"`AdminPassword`\" pulumi-lang-go=\"`adminPassword`\" pulumi-lang-python=\"`admin_password`\" pulumi-lang-yaml=\"`adminPassword`\" pulumi-lang-java=\"`adminPassword`\"\u003e`admin_password`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`adminSshKey`\" pulumi-lang-dotnet=\"`AdminSshKey`\" pulumi-lang-go=\"`adminSshKey`\" pulumi-lang-python=\"`admin_ssh_key`\" pulumi-lang-yaml=\"`adminSshKey`\" pulumi-lang-java=\"`adminSshKey`\"\u003e`admin_ssh_key`\u003c/span\u003e must be specified.\n","willReplaceOnChanges":true},"adminUsername":{"type":"string","description":"The username of the local administrator used for the Virtual Machine. Changing this forces a new resource to be created.\n\n\u003e **Note:** This is required unless using an existing OS Managed Disk by specifying \u003cspan pulumi-lang-nodejs=\"`osManagedDiskId`\" pulumi-lang-dotnet=\"`OsManagedDiskId`\" pulumi-lang-go=\"`osManagedDiskId`\" pulumi-lang-python=\"`os_managed_disk_id`\" pulumi-lang-yaml=\"`osManagedDiskId`\" pulumi-lang-java=\"`osManagedDiskId`\"\u003e`os_managed_disk_id`\u003c/span\u003e.\n","willReplaceOnChanges":true},"allowExtensionOperations":{"type":"boolean","description":"Should Extension Operations be allowed on this Virtual Machine? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"availabilitySetId":{"type":"string","description":"Specifies the ID of the Availability Set in which the Virtual Machine should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"bootDiagnostics":{"$ref":"#/types/azure:compute/LinuxVirtualMachineBootDiagnostics:LinuxVirtualMachineBootDiagnostics","description":"A \u003cspan pulumi-lang-nodejs=\"`bootDiagnostics`\" pulumi-lang-dotnet=\"`BootDiagnostics`\" pulumi-lang-go=\"`bootDiagnostics`\" pulumi-lang-python=\"`boot_diagnostics`\" pulumi-lang-yaml=\"`bootDiagnostics`\" pulumi-lang-java=\"`bootDiagnostics`\"\u003e`boot_diagnostics`\u003c/span\u003e block as defined below.\n"},"bypassPlatformSafetyChecksOnUserScheduleEnabled":{"type":"boolean","description":"Specifies whether to skip platform scheduled patching when a user schedule is associated with the VM. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **NOTE:** \u003cspan pulumi-lang-nodejs=\"`bypassPlatformSafetyChecksOnUserScheduleEnabled`\" pulumi-lang-dotnet=\"`BypassPlatformSafetyChecksOnUserScheduleEnabled`\" pulumi-lang-go=\"`bypassPlatformSafetyChecksOnUserScheduleEnabled`\" pulumi-lang-python=\"`bypass_platform_safety_checks_on_user_schedule_enabled`\" pulumi-lang-yaml=\"`bypassPlatformSafetyChecksOnUserScheduleEnabled`\" pulumi-lang-java=\"`bypassPlatformSafetyChecksOnUserScheduleEnabled`\"\u003e`bypass_platform_safety_checks_on_user_schedule_enabled`\u003c/span\u003e can only be set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e when \u003cspan pulumi-lang-nodejs=\"`patchMode`\" pulumi-lang-dotnet=\"`PatchMode`\" pulumi-lang-go=\"`patchMode`\" pulumi-lang-python=\"`patch_mode`\" pulumi-lang-yaml=\"`patchMode`\" pulumi-lang-java=\"`patchMode`\"\u003e`patch_mode`\u003c/span\u003e is set to `AutomaticByPlatform`.\n"},"capacityReservationGroupId":{"type":"string","description":"Specifies the ID of the Capacity Reservation Group which the Virtual Machine should be allocated to.\n\n\u003e **NOTE:** \u003cspan pulumi-lang-nodejs=\"`capacityReservationGroupId`\" pulumi-lang-dotnet=\"`CapacityReservationGroupId`\" pulumi-lang-go=\"`capacityReservationGroupId`\" pulumi-lang-python=\"`capacity_reservation_group_id`\" pulumi-lang-yaml=\"`capacityReservationGroupId`\" pulumi-lang-java=\"`capacityReservationGroupId`\"\u003e`capacity_reservation_group_id`\u003c/span\u003e cannot be used with \u003cspan pulumi-lang-nodejs=\"`availabilitySetId`\" pulumi-lang-dotnet=\"`AvailabilitySetId`\" pulumi-lang-go=\"`availabilitySetId`\" pulumi-lang-python=\"`availability_set_id`\" pulumi-lang-yaml=\"`availabilitySetId`\" pulumi-lang-java=\"`availabilitySetId`\"\u003e`availability_set_id`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`proximityPlacementGroupId`\" pulumi-lang-dotnet=\"`ProximityPlacementGroupId`\" pulumi-lang-go=\"`proximityPlacementGroupId`\" pulumi-lang-python=\"`proximity_placement_group_id`\" pulumi-lang-yaml=\"`proximityPlacementGroupId`\" pulumi-lang-java=\"`proximityPlacementGroupId`\"\u003e`proximity_placement_group_id`\u003c/span\u003e\n"},"computerName":{"type":"string","description":"Specifies the Hostname which should be used for this Virtual Machine. If unspecified this defaults to the value for the \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e field. If the value of the \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e field is not a valid \u003cspan pulumi-lang-nodejs=\"`computerName`\" pulumi-lang-dotnet=\"`ComputerName`\" pulumi-lang-go=\"`computerName`\" pulumi-lang-python=\"`computer_name`\" pulumi-lang-yaml=\"`computerName`\" pulumi-lang-java=\"`computerName`\"\u003e`computer_name`\u003c/span\u003e, then you must specify \u003cspan pulumi-lang-nodejs=\"`computerName`\" pulumi-lang-dotnet=\"`ComputerName`\" pulumi-lang-go=\"`computerName`\" pulumi-lang-python=\"`computer_name`\" pulumi-lang-yaml=\"`computerName`\" pulumi-lang-java=\"`computerName`\"\u003e`computer_name`\u003c/span\u003e. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"customData":{"type":"string","description":"The Base64-Encoded Custom Data which should be used for this Virtual Machine. Changing this forces a new resource to be created.\n","secret":true,"willReplaceOnChanges":true},"dedicatedHostGroupId":{"type":"string","description":"The ID of a Dedicated Host Group that this Linux Virtual Machine should be run within. Conflicts with \u003cspan pulumi-lang-nodejs=\"`dedicatedHostId`\" pulumi-lang-dotnet=\"`DedicatedHostId`\" pulumi-lang-go=\"`dedicatedHostId`\" pulumi-lang-python=\"`dedicated_host_id`\" pulumi-lang-yaml=\"`dedicatedHostId`\" pulumi-lang-java=\"`dedicatedHostId`\"\u003e`dedicated_host_id`\u003c/span\u003e.\n"},"dedicatedHostId":{"type":"string","description":"The ID of a Dedicated Host where this machine should be run on. Conflicts with \u003cspan pulumi-lang-nodejs=\"`dedicatedHostGroupId`\" pulumi-lang-dotnet=\"`DedicatedHostGroupId`\" pulumi-lang-go=\"`dedicatedHostGroupId`\" pulumi-lang-python=\"`dedicated_host_group_id`\" pulumi-lang-yaml=\"`dedicatedHostGroupId`\" pulumi-lang-java=\"`dedicatedHostGroupId`\"\u003e`dedicated_host_group_id`\u003c/span\u003e.\n"},"disablePasswordAuthentication":{"type":"boolean","description":"Should Password Authentication be disabled on this Virtual Machine? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e. Changing this forces a new resource to be created.\n\n\u003e In general we'd recommend using SSH Keys for authentication rather than Passwords - but there's tradeoff's to each - please [see this thread for more information](https://security.stackexchange.com/questions/69407/why-is-using-an-ssh-key-more-secure-than-using-passwords).\n\n\u003e **NOTE:** When an \u003cspan pulumi-lang-nodejs=\"`adminPassword`\" pulumi-lang-dotnet=\"`AdminPassword`\" pulumi-lang-go=\"`adminPassword`\" pulumi-lang-python=\"`admin_password`\" pulumi-lang-yaml=\"`adminPassword`\" pulumi-lang-java=\"`adminPassword`\"\u003e`admin_password`\u003c/span\u003e is specified \u003cspan pulumi-lang-nodejs=\"`disablePasswordAuthentication`\" pulumi-lang-dotnet=\"`DisablePasswordAuthentication`\" pulumi-lang-go=\"`disablePasswordAuthentication`\" pulumi-lang-python=\"`disable_password_authentication`\" pulumi-lang-yaml=\"`disablePasswordAuthentication`\" pulumi-lang-java=\"`disablePasswordAuthentication`\"\u003e`disable_password_authentication`\u003c/span\u003e must be set to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n","willReplaceOnChanges":true},"diskControllerType":{"type":"string","description":"Specifies the Disk Controller Type used for this Virtual Machine. Possible values are `SCSI` and `NVMe`.\n"},"edgeZone":{"type":"string","description":"Specifies the Edge Zone within the Azure Region where this Linux Virtual Machine should exist. Changing this forces a new Linux Virtual Machine to be created.\n","willReplaceOnChanges":true},"encryptionAtHostEnabled":{"type":"boolean","description":"Should all of the disks (including the temp disk) attached to this Virtual Machine be encrypted by enabling Encryption at Host?\n"},"evictionPolicy":{"type":"string","description":"Specifies what should happen when the Virtual Machine is evicted for price reasons when using a Spot instance. Possible values are `Deallocate` and `Delete`. Changing this forces a new resource to be created.\n\n\u003e **NOTE:** This can only be configured when \u003cspan pulumi-lang-nodejs=\"`priority`\" pulumi-lang-dotnet=\"`Priority`\" pulumi-lang-go=\"`priority`\" pulumi-lang-python=\"`priority`\" pulumi-lang-yaml=\"`priority`\" pulumi-lang-java=\"`priority`\"\u003e`priority`\u003c/span\u003e is set to `Spot`.\n","willReplaceOnChanges":true},"extensionsTimeBudget":{"type":"string","description":"Specifies the duration allocated for all extensions to start. The time duration should be between 15 minutes and 120 minutes (inclusive) and should be specified in ISO 8601 format. Defaults to `PT1H30M`.\n"},"galleryApplications":{"type":"array","items":{"$ref":"#/types/azure:compute/LinuxVirtualMachineGalleryApplication:LinuxVirtualMachineGalleryApplication"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`galleryApplication`\" pulumi-lang-dotnet=\"`GalleryApplication`\" pulumi-lang-go=\"`galleryApplication`\" pulumi-lang-python=\"`gallery_application`\" pulumi-lang-yaml=\"`galleryApplication`\" pulumi-lang-java=\"`galleryApplication`\"\u003e`gallery_application`\u003c/span\u003e blocks as defined below.\n\n\u003e **Note** Gallery Application Assignments can be defined either directly on \u003cspan pulumi-lang-nodejs=\"`azure.compute.LinuxVirtualMachine`\" pulumi-lang-dotnet=\"`azure.compute.LinuxVirtualMachine`\" pulumi-lang-go=\"`compute.LinuxVirtualMachine`\" pulumi-lang-python=\"`compute.LinuxVirtualMachine`\" pulumi-lang-yaml=\"`azure.compute.LinuxVirtualMachine`\" pulumi-lang-java=\"`azure.compute.LinuxVirtualMachine`\"\u003e`azure.compute.LinuxVirtualMachine`\u003c/span\u003e resource, or using the \u003cspan pulumi-lang-nodejs=\"`azure.compute.GalleryApplicationAssignment`\" pulumi-lang-dotnet=\"`azure.compute.GalleryApplicationAssignment`\" pulumi-lang-go=\"`compute.GalleryApplicationAssignment`\" pulumi-lang-python=\"`compute.GalleryApplicationAssignment`\" pulumi-lang-yaml=\"`azure.compute.GalleryApplicationAssignment`\" pulumi-lang-java=\"`azure.compute.GalleryApplicationAssignment`\"\u003e`azure.compute.GalleryApplicationAssignment`\u003c/span\u003e resource - but the two approaches cannot be used together. If both are used with the same Virtual Machine, spurious changes will occur. If \u003cspan pulumi-lang-nodejs=\"`azure.compute.GalleryApplicationAssignment`\" pulumi-lang-dotnet=\"`azure.compute.GalleryApplicationAssignment`\" pulumi-lang-go=\"`compute.GalleryApplicationAssignment`\" pulumi-lang-python=\"`compute.GalleryApplicationAssignment`\" pulumi-lang-yaml=\"`azure.compute.GalleryApplicationAssignment`\" pulumi-lang-java=\"`azure.compute.GalleryApplicationAssignment`\"\u003e`azure.compute.GalleryApplicationAssignment`\u003c/span\u003e is used, it's recommended to use \u003cspan pulumi-lang-nodejs=\"`ignoreChanges`\" pulumi-lang-dotnet=\"`IgnoreChanges`\" pulumi-lang-go=\"`ignoreChanges`\" pulumi-lang-python=\"`ignore_changes`\" pulumi-lang-yaml=\"`ignoreChanges`\" pulumi-lang-java=\"`ignoreChanges`\"\u003e`ignore_changes`\u003c/span\u003e for the \u003cspan pulumi-lang-nodejs=\"`galleryApplication`\" pulumi-lang-dotnet=\"`GalleryApplication`\" pulumi-lang-go=\"`galleryApplication`\" pulumi-lang-python=\"`gallery_application`\" pulumi-lang-yaml=\"`galleryApplication`\" pulumi-lang-java=\"`galleryApplication`\"\u003e`gallery_application`\u003c/span\u003e block on the corresponding \u003cspan pulumi-lang-nodejs=\"`azure.compute.LinuxVirtualMachine`\" pulumi-lang-dotnet=\"`azure.compute.LinuxVirtualMachine`\" pulumi-lang-go=\"`compute.LinuxVirtualMachine`\" pulumi-lang-python=\"`compute.LinuxVirtualMachine`\" pulumi-lang-yaml=\"`azure.compute.LinuxVirtualMachine`\" pulumi-lang-java=\"`azure.compute.LinuxVirtualMachine`\"\u003e`azure.compute.LinuxVirtualMachine`\u003c/span\u003e resource, to avoid a persistent diff when using this resource.\n"},"identity":{"$ref":"#/types/azure:compute/LinuxVirtualMachineIdentity:LinuxVirtualMachineIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"licenseType":{"type":"string","description":"Specifies the License Type for this Virtual Machine. Possible values are `RHEL_BYOS`, `RHEL_BASE`, `RHEL_EUS`, `RHEL_SAPAPPS`, `RHEL_SAPHA`, `RHEL_BASESAPAPPS`, `RHEL_BASESAPHA`, `SLES_BYOS`, `SLES_SAP`, `SLES_HPC`, `UBUNTU_PRO`.\n"},"location":{"type":"string","description":"The Azure location where the Linux Virtual Machine should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"maxBidPrice":{"type":"number","description":"The maximum price you're willing to pay for this Virtual Machine, in US Dollars; which must be greater than the current spot price. If this bid price falls below the current spot price the Virtual Machine will be evicted using the \u003cspan pulumi-lang-nodejs=\"`evictionPolicy`\" pulumi-lang-dotnet=\"`EvictionPolicy`\" pulumi-lang-go=\"`evictionPolicy`\" pulumi-lang-python=\"`eviction_policy`\" pulumi-lang-yaml=\"`evictionPolicy`\" pulumi-lang-java=\"`evictionPolicy`\"\u003e`eviction_policy`\u003c/span\u003e. Defaults to `-1`, which means that the Virtual Machine should not be evicted for price reasons.\n\n\u003e **NOTE:** This can only be configured when \u003cspan pulumi-lang-nodejs=\"`priority`\" pulumi-lang-dotnet=\"`Priority`\" pulumi-lang-go=\"`priority`\" pulumi-lang-python=\"`priority`\" pulumi-lang-yaml=\"`priority`\" pulumi-lang-java=\"`priority`\"\u003e`priority`\u003c/span\u003e is set to `Spot`.\n"},"name":{"type":"string","description":"The name of the Linux Virtual Machine. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"networkInterfaceIds":{"type":"array","items":{"type":"string"},"description":". A list of Network Interface IDs which should be attached to this Virtual Machine. The first Network Interface ID in this list will be the Primary Network Interface on the Virtual Machine.\n"},"osDisk":{"$ref":"#/types/azure:compute/LinuxVirtualMachineOsDisk:LinuxVirtualMachineOsDisk","description":"A \u003cspan pulumi-lang-nodejs=\"`osDisk`\" pulumi-lang-dotnet=\"`OsDisk`\" pulumi-lang-go=\"`osDisk`\" pulumi-lang-python=\"`os_disk`\" pulumi-lang-yaml=\"`osDisk`\" pulumi-lang-java=\"`osDisk`\"\u003e`os_disk`\u003c/span\u003e block as defined below.\n"},"osImageNotification":{"$ref":"#/types/azure:compute/LinuxVirtualMachineOsImageNotification:LinuxVirtualMachineOsImageNotification","description":"A \u003cspan pulumi-lang-nodejs=\"`osImageNotification`\" pulumi-lang-dotnet=\"`OsImageNotification`\" pulumi-lang-go=\"`osImageNotification`\" pulumi-lang-python=\"`os_image_notification`\" pulumi-lang-yaml=\"`osImageNotification`\" pulumi-lang-java=\"`osImageNotification`\"\u003e`os_image_notification`\u003c/span\u003e block as defined below.\n"},"osManagedDiskId":{"type":"string","description":"The ID of an existing Managed Disk to use as the OS Disk for this Linux Virtual Machine. Changing this forces a new resource to be created.\n\n\u003e **Note:** When specifying an existing Managed Disk it is not currently possible to subsequently manage the Operating System Profile properties: \u003cspan pulumi-lang-nodejs=\"`adminUsername`\" pulumi-lang-dotnet=\"`AdminUsername`\" pulumi-lang-go=\"`adminUsername`\" pulumi-lang-python=\"`admin_username`\" pulumi-lang-yaml=\"`adminUsername`\" pulumi-lang-java=\"`adminUsername`\"\u003e`admin_username`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`adminPassword`\" pulumi-lang-dotnet=\"`AdminPassword`\" pulumi-lang-go=\"`adminPassword`\" pulumi-lang-python=\"`admin_password`\" pulumi-lang-yaml=\"`adminPassword`\" pulumi-lang-java=\"`adminPassword`\"\u003e`admin_password`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`bypassPlatformSafetyChecksOnUserScheduleEnabled`\" pulumi-lang-dotnet=\"`BypassPlatformSafetyChecksOnUserScheduleEnabled`\" pulumi-lang-go=\"`bypassPlatformSafetyChecksOnUserScheduleEnabled`\" pulumi-lang-python=\"`bypass_platform_safety_checks_on_user_schedule_enabled`\" pulumi-lang-yaml=\"`bypassPlatformSafetyChecksOnUserScheduleEnabled`\" pulumi-lang-java=\"`bypassPlatformSafetyChecksOnUserScheduleEnabled`\"\u003e`bypass_platform_safety_checks_on_user_schedule_enabled`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`computerName`\" pulumi-lang-dotnet=\"`ComputerName`\" pulumi-lang-go=\"`computerName`\" pulumi-lang-python=\"`computer_name`\" pulumi-lang-yaml=\"`computerName`\" pulumi-lang-java=\"`computerName`\"\u003e`computer_name`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`customData`\" pulumi-lang-dotnet=\"`CustomData`\" pulumi-lang-go=\"`customData`\" pulumi-lang-python=\"`custom_data`\" pulumi-lang-yaml=\"`customData`\" pulumi-lang-java=\"`customData`\"\u003e`custom_data`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`provisionVmAgent`\" pulumi-lang-dotnet=\"`ProvisionVmAgent`\" pulumi-lang-go=\"`provisionVmAgent`\" pulumi-lang-python=\"`provision_vm_agent`\" pulumi-lang-yaml=\"`provisionVmAgent`\" pulumi-lang-java=\"`provisionVmAgent`\"\u003e`provision_vm_agent`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`patchMode`\" pulumi-lang-dotnet=\"`PatchMode`\" pulumi-lang-go=\"`patchMode`\" pulumi-lang-python=\"`patch_mode`\" pulumi-lang-yaml=\"`patchMode`\" pulumi-lang-java=\"`patchMode`\"\u003e`patch_mode`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`patchAssessmentMode`\" pulumi-lang-dotnet=\"`PatchAssessmentMode`\" pulumi-lang-go=\"`patchAssessmentMode`\" pulumi-lang-python=\"`patch_assessment_mode`\" pulumi-lang-yaml=\"`patchAssessmentMode`\" pulumi-lang-java=\"`patchAssessmentMode`\"\u003e`patch_assessment_mode`\u003c/span\u003e, or \u003cspan pulumi-lang-nodejs=\"`rebootSetting`\" pulumi-lang-dotnet=\"`RebootSetting`\" pulumi-lang-go=\"`rebootSetting`\" pulumi-lang-python=\"`reboot_setting`\" pulumi-lang-yaml=\"`rebootSetting`\" pulumi-lang-java=\"`rebootSetting`\"\u003e`reboot_setting`\u003c/span\u003e.\n","willReplaceOnChanges":true},"patchAssessmentMode":{"type":"string","description":"Specifies the mode of VM Guest Patching for the Virtual Machine. Possible values are `AutomaticByPlatform` or `ImageDefault`. Defaults to `ImageDefault`.\n\n\u003e **NOTE:** If the \u003cspan pulumi-lang-nodejs=\"`patchAssessmentMode`\" pulumi-lang-dotnet=\"`PatchAssessmentMode`\" pulumi-lang-go=\"`patchAssessmentMode`\" pulumi-lang-python=\"`patch_assessment_mode`\" pulumi-lang-yaml=\"`patchAssessmentMode`\" pulumi-lang-java=\"`patchAssessmentMode`\"\u003e`patch_assessment_mode`\u003c/span\u003e is set to `AutomaticByPlatform` then the \u003cspan pulumi-lang-nodejs=\"`provisionVmAgent`\" pulumi-lang-dotnet=\"`ProvisionVmAgent`\" pulumi-lang-go=\"`provisionVmAgent`\" pulumi-lang-python=\"`provision_vm_agent`\" pulumi-lang-yaml=\"`provisionVmAgent`\" pulumi-lang-java=\"`provisionVmAgent`\"\u003e`provision_vm_agent`\u003c/span\u003e field must be set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"patchMode":{"type":"string","description":"Specifies the mode of in-guest patching to this Linux Virtual Machine. Possible values are `AutomaticByPlatform` and `ImageDefault`. Defaults to `ImageDefault`. For more information on patch modes please see the [product documentation](https://docs.microsoft.com/azure/virtual-machines/automatic-vm-guest-patching#patch-orchestration-modes).\n\n\u003e **NOTE:** If \u003cspan pulumi-lang-nodejs=\"`patchMode`\" pulumi-lang-dotnet=\"`PatchMode`\" pulumi-lang-go=\"`patchMode`\" pulumi-lang-python=\"`patch_mode`\" pulumi-lang-yaml=\"`patchMode`\" pulumi-lang-java=\"`patchMode`\"\u003e`patch_mode`\u003c/span\u003e is set to `AutomaticByPlatform` then \u003cspan pulumi-lang-nodejs=\"`provisionVmAgent`\" pulumi-lang-dotnet=\"`ProvisionVmAgent`\" pulumi-lang-go=\"`provisionVmAgent`\" pulumi-lang-python=\"`provision_vm_agent`\" pulumi-lang-yaml=\"`provisionVmAgent`\" pulumi-lang-java=\"`provisionVmAgent`\"\u003e`provision_vm_agent`\u003c/span\u003e must also be set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"plan":{"$ref":"#/types/azure:compute/LinuxVirtualMachinePlan:LinuxVirtualMachinePlan","description":"A \u003cspan pulumi-lang-nodejs=\"`plan`\" pulumi-lang-dotnet=\"`Plan`\" pulumi-lang-go=\"`plan`\" pulumi-lang-python=\"`plan`\" pulumi-lang-yaml=\"`plan`\" pulumi-lang-java=\"`plan`\"\u003e`plan`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"platformFaultDomain":{"type":"integer","description":"Specifies the Platform Fault Domain in which this Linux Virtual Machine should be created. Defaults to `-1`, which means this will be automatically assigned to a fault domain that best maintains balance across the available fault domains. Changing this forces a new Linux Virtual Machine to be created.\n","willReplaceOnChanges":true},"priority":{"type":"string","description":"Specifies the priority of this Virtual Machine. Possible values are `Regular` and `Spot`. Defaults to `Regular`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"privateIpAddress":{"type":"string","description":"The Primary Private IP Address assigned to this Virtual Machine.\n"},"privateIpAddresses":{"type":"array","items":{"type":"string"},"description":"A list of Private IP Addresses assigned to this Virtual Machine.\n"},"provisionVmAgent":{"type":"boolean","description":"Should the Azure VM Agent be provisioned on this Virtual Machine? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e. Changing this forces a new resource to be created.\n\n\u003e **NOTE:** If \u003cspan pulumi-lang-nodejs=\"`provisionVmAgent`\" pulumi-lang-dotnet=\"`ProvisionVmAgent`\" pulumi-lang-go=\"`provisionVmAgent`\" pulumi-lang-python=\"`provision_vm_agent`\" pulumi-lang-yaml=\"`provisionVmAgent`\" pulumi-lang-java=\"`provisionVmAgent`\"\u003e`provision_vm_agent`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e then \u003cspan pulumi-lang-nodejs=\"`allowExtensionOperations`\" pulumi-lang-dotnet=\"`AllowExtensionOperations`\" pulumi-lang-go=\"`allowExtensionOperations`\" pulumi-lang-python=\"`allow_extension_operations`\" pulumi-lang-yaml=\"`allowExtensionOperations`\" pulumi-lang-java=\"`allowExtensionOperations`\"\u003e`allow_extension_operations`\u003c/span\u003e must also be set to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n","willReplaceOnChanges":true},"proximityPlacementGroupId":{"type":"string","description":"The ID of the Proximity Placement Group which the Virtual Machine should be assigned to.\n"},"publicIpAddress":{"type":"string","description":"The Primary Public IP Address assigned to this Virtual Machine.\n"},"publicIpAddresses":{"type":"array","items":{"type":"string"},"description":"A list of the Public IP Addresses assigned to this Virtual Machine.\n"},"rebootSetting":{"type":"string","description":"Specifies the reboot setting for platform scheduled patching. Possible values are `Always`, `IfRequired` and `Never`.\n\n\u003e **NOTE:** \u003cspan pulumi-lang-nodejs=\"`rebootSetting`\" pulumi-lang-dotnet=\"`RebootSetting`\" pulumi-lang-go=\"`rebootSetting`\" pulumi-lang-python=\"`reboot_setting`\" pulumi-lang-yaml=\"`rebootSetting`\" pulumi-lang-java=\"`rebootSetting`\"\u003e`reboot_setting`\u003c/span\u003e can only be set when \u003cspan pulumi-lang-nodejs=\"`patchMode`\" pulumi-lang-dotnet=\"`PatchMode`\" pulumi-lang-go=\"`patchMode`\" pulumi-lang-python=\"`patch_mode`\" pulumi-lang-yaml=\"`patchMode`\" pulumi-lang-java=\"`patchMode`\"\u003e`patch_mode`\u003c/span\u003e is set to `AutomaticByPlatform`.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group in which the Linux Virtual Machine should be exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"secrets":{"type":"array","items":{"$ref":"#/types/azure:compute/LinuxVirtualMachineSecret:LinuxVirtualMachineSecret"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`secret`\" pulumi-lang-dotnet=\"`Secret`\" pulumi-lang-go=\"`secret`\" pulumi-lang-python=\"`secret`\" pulumi-lang-yaml=\"`secret`\" pulumi-lang-java=\"`secret`\"\u003e`secret`\u003c/span\u003e blocks as defined below.\n"},"secureBootEnabled":{"type":"boolean","description":"Specifies whether secure boot should be enabled on the virtual machine. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"size":{"type":"string","description":"The SKU which should be used for this Virtual Machine, such as `Standard_F2`.\n"},"sourceImageId":{"type":"string","description":"The ID of the Image which this Virtual Machine should be created from. Changing this forces a new resource to be created. Possible Image ID types include `Image ID`s, `Shared Image ID`s, `Shared Image Version ID`s, `Community Gallery Image ID`s, `Community Gallery Image Version ID`s, `Shared Gallery Image ID`s and `Shared Gallery Image Version ID`s.\n\n\u003e **NOTE:** One of either \u003cspan pulumi-lang-nodejs=\"`sourceImageId`\" pulumi-lang-dotnet=\"`SourceImageId`\" pulumi-lang-go=\"`sourceImageId`\" pulumi-lang-python=\"`source_image_id`\" pulumi-lang-yaml=\"`sourceImageId`\" pulumi-lang-java=\"`sourceImageId`\"\u003e`source_image_id`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`sourceImageReference`\" pulumi-lang-dotnet=\"`SourceImageReference`\" pulumi-lang-go=\"`sourceImageReference`\" pulumi-lang-python=\"`source_image_reference`\" pulumi-lang-yaml=\"`sourceImageReference`\" pulumi-lang-java=\"`sourceImageReference`\"\u003e`source_image_reference`\u003c/span\u003e must be set.\n","willReplaceOnChanges":true},"sourceImageReference":{"$ref":"#/types/azure:compute/LinuxVirtualMachineSourceImageReference:LinuxVirtualMachineSourceImageReference","description":"A \u003cspan pulumi-lang-nodejs=\"`sourceImageReference`\" pulumi-lang-dotnet=\"`SourceImageReference`\" pulumi-lang-go=\"`sourceImageReference`\" pulumi-lang-python=\"`source_image_reference`\" pulumi-lang-yaml=\"`sourceImageReference`\" pulumi-lang-java=\"`sourceImageReference`\"\u003e`source_image_reference`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n\n\u003e **NOTE:** One of either \u003cspan pulumi-lang-nodejs=\"`sourceImageId`\" pulumi-lang-dotnet=\"`SourceImageId`\" pulumi-lang-go=\"`sourceImageId`\" pulumi-lang-python=\"`source_image_id`\" pulumi-lang-yaml=\"`sourceImageId`\" pulumi-lang-java=\"`sourceImageId`\"\u003e`source_image_id`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`sourceImageReference`\" pulumi-lang-dotnet=\"`SourceImageReference`\" pulumi-lang-go=\"`sourceImageReference`\" pulumi-lang-python=\"`source_image_reference`\" pulumi-lang-yaml=\"`sourceImageReference`\" pulumi-lang-java=\"`sourceImageReference`\"\u003e`source_image_reference`\u003c/span\u003e must be set.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to this Virtual Machine.\n"},"terminationNotification":{"$ref":"#/types/azure:compute/LinuxVirtualMachineTerminationNotification:LinuxVirtualMachineTerminationNotification","description":"A \u003cspan pulumi-lang-nodejs=\"`terminationNotification`\" pulumi-lang-dotnet=\"`TerminationNotification`\" pulumi-lang-go=\"`terminationNotification`\" pulumi-lang-python=\"`termination_notification`\" pulumi-lang-yaml=\"`terminationNotification`\" pulumi-lang-java=\"`terminationNotification`\"\u003e`termination_notification`\u003c/span\u003e block as defined below.\n"},"userData":{"type":"string","description":"The Base64-Encoded User Data which should be used for this Virtual Machine.\n"},"virtualMachineId":{"type":"string","description":"A 128-bit identifier which uniquely identifies this Virtual Machine.\n"},"virtualMachineScaleSetId":{"type":"string","description":"Specifies the Orchestrated Virtual Machine Scale Set that this Virtual Machine should be created within.\n\n\u003e **NOTE:** To update \u003cspan pulumi-lang-nodejs=\"`virtualMachineScaleSetId`\" pulumi-lang-dotnet=\"`VirtualMachineScaleSetId`\" pulumi-lang-go=\"`virtualMachineScaleSetId`\" pulumi-lang-python=\"`virtual_machine_scale_set_id`\" pulumi-lang-yaml=\"`virtualMachineScaleSetId`\" pulumi-lang-java=\"`virtualMachineScaleSetId`\"\u003e`virtual_machine_scale_set_id`\u003c/span\u003e the Preview Feature `Microsoft.Compute/SingleFDAttachDetachVMToVmss` needs to be enabled, see [the documentation](https://review.learn.microsoft.com/azure/virtual-machine-scale-sets/virtual-machine-scale-sets-attach-detach-vm#enroll-in-the-preview) for more information.\n\n\u003e **NOTE:** Orchestrated Virtual Machine Scale Sets can be provisioned using [the \u003cspan pulumi-lang-nodejs=\"`azure.compute.OrchestratedVirtualMachineScaleSet`\" pulumi-lang-dotnet=\"`azure.compute.OrchestratedVirtualMachineScaleSet`\" pulumi-lang-go=\"`compute.OrchestratedVirtualMachineScaleSet`\" pulumi-lang-python=\"`compute.OrchestratedVirtualMachineScaleSet`\" pulumi-lang-yaml=\"`azure.compute.OrchestratedVirtualMachineScaleSet`\" pulumi-lang-java=\"`azure.compute.OrchestratedVirtualMachineScaleSet`\"\u003e`azure.compute.OrchestratedVirtualMachineScaleSet`\u003c/span\u003e resource](https://www.terraform.io/docs/providers/azurerm/r/orchestrated_virtual_machine_scale_set.html).\n\n\u003e **NOTE:** To attach an existing VM to a Virtual Machine Scale Set, the scale set must have \u003cspan pulumi-lang-nodejs=\"`singlePlacementGroup`\" pulumi-lang-dotnet=\"`SinglePlacementGroup`\" pulumi-lang-go=\"`singlePlacementGroup`\" pulumi-lang-python=\"`single_placement_group`\" pulumi-lang-yaml=\"`singlePlacementGroup`\" pulumi-lang-java=\"`singlePlacementGroup`\"\u003e`single_placement_group`\u003c/span\u003e set to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e, see [the documentation](https://learn.microsoft.com/azure/virtual-machine-scale-sets/virtual-machine-scale-sets-attach-detach-vm?tabs=portal-1%2Cportal-2%2Cportal-3#limitations-for-attaching-an-existing-vm-to-a-scale-set) for more information.\n"},"vmAgentPlatformUpdatesEnabled":{"type":"boolean","description":"Specifies whether VMAgent Platform Updates is enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n","deprecationMessage":"this property has been deprecated due to a breaking change introduced by the Service team, which redefined it as a read-only field within the API"},"vtpmEnabled":{"type":"boolean","description":"Specifies whether vTPM should be enabled on the virtual machine. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"zone":{"type":"string","description":"Specifies the Availability Zones in which this Linux Virtual Machine should be located. Changing this forces a new Linux Virtual Machine to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:compute/linuxVirtualMachineScaleSet:LinuxVirtualMachineScaleSet":{"description":"Manages a Linux Virtual Machine Scale Set.\n\n## Disclaimers\n\n\u003e **Note:** As of the **v2.86.0** (November 19, 2021) release of the provider this resource will only create Virtual Machine Scale Sets with the **Uniform** Orchestration Mode. For Virtual Machine Scale Sets with **Flexible** orchestration mode, use \u003cspan pulumi-lang-nodejs=\"`azure.compute.OrchestratedVirtualMachineScaleSet`\" pulumi-lang-dotnet=\"`azure.compute.OrchestratedVirtualMachineScaleSet`\" pulumi-lang-go=\"`compute.OrchestratedVirtualMachineScaleSet`\" pulumi-lang-python=\"`compute.OrchestratedVirtualMachineScaleSet`\" pulumi-lang-yaml=\"`azure.compute.OrchestratedVirtualMachineScaleSet`\" pulumi-lang-java=\"`azure.compute.OrchestratedVirtualMachineScaleSet`\"\u003e`azure.compute.OrchestratedVirtualMachineScaleSet`\u003c/span\u003e. Flexible orchestration mode is recommended for workloads on Azure.\n\n## Example Usage\n\nThis example provisions a basic Linux Virtual Machine Scale Set on an internal network.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst firstPublicKey = \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC+wWK73dCr+jgQOAxNsHAnNNNMEMWOHYEccp6wJm2gotpr9katuF/ZAdou5AaW1C61slRkHRkpRRX9FA9CYBiitZgvCCz+3nWNN7l/Up54Zps/pHWGZLHNJZRYyAB6j5yVLMVHIHriY49d/GZTZVNB8GoJv9Gakwc/fuEZYYl4YDFiGMBP///TzlI4jhiJzjKnEvqPFki5p2ZRJqcbCiF4pJrxUQR/RXqVFQdbRLZgYfJ8xGB878RENq3yQ39d8dVOkq4edbkzwcUmwwwkYVPIoDGsYLaRHnG+To7FvMeyO7xDVQkMKzopTQV8AuKpyvpqu0a9pWOMaiCyDytO7GGN you@me.com\";\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"example\", {\n    name: \"example-network\",\n    resourceGroupName: example.name,\n    location: example.location,\n    addressSpaces: [\"10.0.0.0/16\"],\n});\nconst internal = new azure.network.Subnet(\"internal\", {\n    name: \"internal\",\n    resourceGroupName: example.name,\n    virtualNetworkName: exampleVirtualNetwork.name,\n    addressPrefixes: [\"10.0.2.0/24\"],\n});\nconst exampleLinuxVirtualMachineScaleSet = new azure.compute.LinuxVirtualMachineScaleSet(\"example\", {\n    name: \"example-vmss\",\n    resourceGroupName: example.name,\n    location: example.location,\n    sku: \"Standard_F2\",\n    instances: 1,\n    adminUsername: \"adminuser\",\n    adminSshKeys: [{\n        username: \"adminuser\",\n        publicKey: firstPublicKey,\n    }],\n    sourceImageReference: {\n        publisher: \"Canonical\",\n        offer: \"0001-com-ubuntu-server-jammy\",\n        sku: \"22_04-lts\",\n        version: \"latest\",\n    },\n    osDisk: {\n        storageAccountType: \"Standard_LRS\",\n        caching: \"ReadWrite\",\n    },\n    networkInterfaces: [{\n        name: \"example\",\n        primary: true,\n        ipConfigurations: [{\n            name: \"internal\",\n            primary: true,\n            subnetId: internal.id,\n        }],\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nfirst_public_key = \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC+wWK73dCr+jgQOAxNsHAnNNNMEMWOHYEccp6wJm2gotpr9katuF/ZAdou5AaW1C61slRkHRkpRRX9FA9CYBiitZgvCCz+3nWNN7l/Up54Zps/pHWGZLHNJZRYyAB6j5yVLMVHIHriY49d/GZTZVNB8GoJv9Gakwc/fuEZYYl4YDFiGMBP///TzlI4jhiJzjKnEvqPFki5p2ZRJqcbCiF4pJrxUQR/RXqVFQdbRLZgYfJ8xGB878RENq3yQ39d8dVOkq4edbkzwcUmwwwkYVPIoDGsYLaRHnG+To7FvMeyO7xDVQkMKzopTQV8AuKpyvpqu0a9pWOMaiCyDytO7GGN you@me.com\"\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_virtual_network = azure.network.VirtualNetwork(\"example\",\n    name=\"example-network\",\n    resource_group_name=example.name,\n    location=example.location,\n    address_spaces=[\"10.0.0.0/16\"])\ninternal = azure.network.Subnet(\"internal\",\n    name=\"internal\",\n    resource_group_name=example.name,\n    virtual_network_name=example_virtual_network.name,\n    address_prefixes=[\"10.0.2.0/24\"])\nexample_linux_virtual_machine_scale_set = azure.compute.LinuxVirtualMachineScaleSet(\"example\",\n    name=\"example-vmss\",\n    resource_group_name=example.name,\n    location=example.location,\n    sku=\"Standard_F2\",\n    instances=1,\n    admin_username=\"adminuser\",\n    admin_ssh_keys=[{\n        \"username\": \"adminuser\",\n        \"public_key\": first_public_key,\n    }],\n    source_image_reference={\n        \"publisher\": \"Canonical\",\n        \"offer\": \"0001-com-ubuntu-server-jammy\",\n        \"sku\": \"22_04-lts\",\n        \"version\": \"latest\",\n    },\n    os_disk={\n        \"storage_account_type\": \"Standard_LRS\",\n        \"caching\": \"ReadWrite\",\n    },\n    network_interfaces=[{\n        \"name\": \"example\",\n        \"primary\": True,\n        \"ip_configurations\": [{\n            \"name\": \"internal\",\n            \"primary\": True,\n            \"subnet_id\": internal.id,\n        }],\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var firstPublicKey = \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC+wWK73dCr+jgQOAxNsHAnNNNMEMWOHYEccp6wJm2gotpr9katuF/ZAdou5AaW1C61slRkHRkpRRX9FA9CYBiitZgvCCz+3nWNN7l/Up54Zps/pHWGZLHNJZRYyAB6j5yVLMVHIHriY49d/GZTZVNB8GoJv9Gakwc/fuEZYYl4YDFiGMBP///TzlI4jhiJzjKnEvqPFki5p2ZRJqcbCiF4pJrxUQR/RXqVFQdbRLZgYfJ8xGB878RENq3yQ39d8dVOkq4edbkzwcUmwwwkYVPIoDGsYLaRHnG+To7FvMeyO7xDVQkMKzopTQV8AuKpyvpqu0a9pWOMaiCyDytO7GGN you@me.com\";\n\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleVirtualNetwork = new Azure.Network.VirtualNetwork(\"example\", new()\n    {\n        Name = \"example-network\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        AddressSpaces = new[]\n        {\n            \"10.0.0.0/16\",\n        },\n    });\n\n    var @internal = new Azure.Network.Subnet(\"internal\", new()\n    {\n        Name = \"internal\",\n        ResourceGroupName = example.Name,\n        VirtualNetworkName = exampleVirtualNetwork.Name,\n        AddressPrefixes = new[]\n        {\n            \"10.0.2.0/24\",\n        },\n    });\n\n    var exampleLinuxVirtualMachineScaleSet = new Azure.Compute.LinuxVirtualMachineScaleSet(\"example\", new()\n    {\n        Name = \"example-vmss\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        Sku = \"Standard_F2\",\n        Instances = 1,\n        AdminUsername = \"adminuser\",\n        AdminSshKeys = new[]\n        {\n            new Azure.Compute.Inputs.LinuxVirtualMachineScaleSetAdminSshKeyArgs\n            {\n                Username = \"adminuser\",\n                PublicKey = firstPublicKey,\n            },\n        },\n        SourceImageReference = new Azure.Compute.Inputs.LinuxVirtualMachineScaleSetSourceImageReferenceArgs\n        {\n            Publisher = \"Canonical\",\n            Offer = \"0001-com-ubuntu-server-jammy\",\n            Sku = \"22_04-lts\",\n            Version = \"latest\",\n        },\n        OsDisk = new Azure.Compute.Inputs.LinuxVirtualMachineScaleSetOsDiskArgs\n        {\n            StorageAccountType = \"Standard_LRS\",\n            Caching = \"ReadWrite\",\n        },\n        NetworkInterfaces = new[]\n        {\n            new Azure.Compute.Inputs.LinuxVirtualMachineScaleSetNetworkInterfaceArgs\n            {\n                Name = \"example\",\n                Primary = true,\n                IpConfigurations = new[]\n                {\n                    new Azure.Compute.Inputs.LinuxVirtualMachineScaleSetNetworkInterfaceIpConfigurationArgs\n                    {\n                        Name = \"internal\",\n                        Primary = true,\n                        SubnetId = @internal.Id,\n                    },\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/compute\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfirstPublicKey := \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC+wWK73dCr+jgQOAxNsHAnNNNMEMWOHYEccp6wJm2gotpr9katuF/ZAdou5AaW1C61slRkHRkpRRX9FA9CYBiitZgvCCz+3nWNN7l/Up54Zps/pHWGZLHNJZRYyAB6j5yVLMVHIHriY49d/GZTZVNB8GoJv9Gakwc/fuEZYYl4YDFiGMBP///TzlI4jhiJzjKnEvqPFki5p2ZRJqcbCiF4pJrxUQR/RXqVFQdbRLZgYfJ8xGB878RENq3yQ39d8dVOkq4edbkzwcUmwwwkYVPIoDGsYLaRHnG+To7FvMeyO7xDVQkMKzopTQV8AuKpyvpqu0a9pWOMaiCyDytO7GGN you@me.com\"\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, \"example\", \u0026network.VirtualNetworkArgs{\n\t\t\tName:              pulumi.String(\"example-network\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tAddressSpaces: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.0.0/16\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinternal, err := network.NewSubnet(ctx, \"internal\", \u0026network.SubnetArgs{\n\t\t\tName:               pulumi.String(\"internal\"),\n\t\t\tResourceGroupName:  example.Name,\n\t\t\tVirtualNetworkName: exampleVirtualNetwork.Name,\n\t\t\tAddressPrefixes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.2.0/24\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = compute.NewLinuxVirtualMachineScaleSet(ctx, \"example\", \u0026compute.LinuxVirtualMachineScaleSetArgs{\n\t\t\tName:              pulumi.String(\"example-vmss\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tSku:               pulumi.String(\"Standard_F2\"),\n\t\t\tInstances:         pulumi.Int(1),\n\t\t\tAdminUsername:     pulumi.String(\"adminuser\"),\n\t\t\tAdminSshKeys: compute.LinuxVirtualMachineScaleSetAdminSshKeyArray{\n\t\t\t\t\u0026compute.LinuxVirtualMachineScaleSetAdminSshKeyArgs{\n\t\t\t\t\tUsername:  pulumi.String(\"adminuser\"),\n\t\t\t\t\tPublicKey: pulumi.String(firstPublicKey),\n\t\t\t\t},\n\t\t\t},\n\t\t\tSourceImageReference: \u0026compute.LinuxVirtualMachineScaleSetSourceImageReferenceArgs{\n\t\t\t\tPublisher: pulumi.String(\"Canonical\"),\n\t\t\t\tOffer:     pulumi.String(\"0001-com-ubuntu-server-jammy\"),\n\t\t\t\tSku:       pulumi.String(\"22_04-lts\"),\n\t\t\t\tVersion:   pulumi.String(\"latest\"),\n\t\t\t},\n\t\t\tOsDisk: \u0026compute.LinuxVirtualMachineScaleSetOsDiskArgs{\n\t\t\t\tStorageAccountType: pulumi.String(\"Standard_LRS\"),\n\t\t\t\tCaching:            pulumi.String(\"ReadWrite\"),\n\t\t\t},\n\t\t\tNetworkInterfaces: compute.LinuxVirtualMachineScaleSetNetworkInterfaceArray{\n\t\t\t\t\u0026compute.LinuxVirtualMachineScaleSetNetworkInterfaceArgs{\n\t\t\t\t\tName:    pulumi.String(\"example\"),\n\t\t\t\t\tPrimary: pulumi.Bool(true),\n\t\t\t\t\tIpConfigurations: compute.LinuxVirtualMachineScaleSetNetworkInterfaceIpConfigurationArray{\n\t\t\t\t\t\t\u0026compute.LinuxVirtualMachineScaleSetNetworkInterfaceIpConfigurationArgs{\n\t\t\t\t\t\t\tName:     pulumi.String(\"internal\"),\n\t\t\t\t\t\t\tPrimary:  pulumi.Bool(true),\n\t\t\t\t\t\t\tSubnetId: internal.ID(),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.VirtualNetwork;\nimport com.pulumi.azure.network.VirtualNetworkArgs;\nimport com.pulumi.azure.network.Subnet;\nimport com.pulumi.azure.network.SubnetArgs;\nimport com.pulumi.azure.compute.LinuxVirtualMachineScaleSet;\nimport com.pulumi.azure.compute.LinuxVirtualMachineScaleSetArgs;\nimport com.pulumi.azure.compute.inputs.LinuxVirtualMachineScaleSetAdminSshKeyArgs;\nimport com.pulumi.azure.compute.inputs.LinuxVirtualMachineScaleSetSourceImageReferenceArgs;\nimport com.pulumi.azure.compute.inputs.LinuxVirtualMachineScaleSetOsDiskArgs;\nimport com.pulumi.azure.compute.inputs.LinuxVirtualMachineScaleSetNetworkInterfaceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var firstPublicKey = \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC+wWK73dCr+jgQOAxNsHAnNNNMEMWOHYEccp6wJm2gotpr9katuF/ZAdou5AaW1C61slRkHRkpRRX9FA9CYBiitZgvCCz+3nWNN7l/Up54Zps/pHWGZLHNJZRYyAB6j5yVLMVHIHriY49d/GZTZVNB8GoJv9Gakwc/fuEZYYl4YDFiGMBP///TzlI4jhiJzjKnEvqPFki5p2ZRJqcbCiF4pJrxUQR/RXqVFQdbRLZgYfJ8xGB878RENq3yQ39d8dVOkq4edbkzwcUmwwwkYVPIoDGsYLaRHnG+To7FvMeyO7xDVQkMKzopTQV8AuKpyvpqu0a9pWOMaiCyDytO7GGN you@me.com\";\n\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleVirtualNetwork = new VirtualNetwork(\"exampleVirtualNetwork\", VirtualNetworkArgs.builder()\n            .name(\"example-network\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .addressSpaces(\"10.0.0.0/16\")\n            .build());\n\n        var internal = new Subnet(\"internal\", SubnetArgs.builder()\n            .name(\"internal\")\n            .resourceGroupName(example.name())\n            .virtualNetworkName(exampleVirtualNetwork.name())\n            .addressPrefixes(\"10.0.2.0/24\")\n            .build());\n\n        var exampleLinuxVirtualMachineScaleSet = new LinuxVirtualMachineScaleSet(\"exampleLinuxVirtualMachineScaleSet\", LinuxVirtualMachineScaleSetArgs.builder()\n            .name(\"example-vmss\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .sku(\"Standard_F2\")\n            .instances(1)\n            .adminUsername(\"adminuser\")\n            .adminSshKeys(LinuxVirtualMachineScaleSetAdminSshKeyArgs.builder()\n                .username(\"adminuser\")\n                .publicKey(firstPublicKey)\n                .build())\n            .sourceImageReference(LinuxVirtualMachineScaleSetSourceImageReferenceArgs.builder()\n                .publisher(\"Canonical\")\n                .offer(\"0001-com-ubuntu-server-jammy\")\n                .sku(\"22_04-lts\")\n                .version(\"latest\")\n                .build())\n            .osDisk(LinuxVirtualMachineScaleSetOsDiskArgs.builder()\n                .storageAccountType(\"Standard_LRS\")\n                .caching(\"ReadWrite\")\n                .build())\n            .networkInterfaces(LinuxVirtualMachineScaleSetNetworkInterfaceArgs.builder()\n                .name(\"example\")\n                .primary(true)\n                .ipConfigurations(LinuxVirtualMachineScaleSetNetworkInterfaceIpConfigurationArgs.builder()\n                    .name(\"internal\")\n                    .primary(true)\n                    .subnetId(internal.id())\n                    .build())\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleVirtualNetwork:\n    type: azure:network:VirtualNetwork\n    name: example\n    properties:\n      name: example-network\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      addressSpaces:\n        - 10.0.0.0/16\n  internal:\n    type: azure:network:Subnet\n    properties:\n      name: internal\n      resourceGroupName: ${example.name}\n      virtualNetworkName: ${exampleVirtualNetwork.name}\n      addressPrefixes:\n        - 10.0.2.0/24\n  exampleLinuxVirtualMachineScaleSet:\n    type: azure:compute:LinuxVirtualMachineScaleSet\n    name: example\n    properties:\n      name: example-vmss\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      sku: Standard_F2\n      instances: 1\n      adminUsername: adminuser\n      adminSshKeys:\n        - username: adminuser\n          publicKey: ${firstPublicKey}\n      sourceImageReference:\n        publisher: Canonical\n        offer: 0001-com-ubuntu-server-jammy\n        sku: 22_04-lts\n        version: latest\n      osDisk:\n        storageAccountType: Standard_LRS\n        caching: ReadWrite\n      networkInterfaces:\n        - name: example\n          primary: true\n          ipConfigurations:\n            - name: internal\n              primary: true\n              subnetId: ${internal.id}\nvariables:\n  firstPublicKey: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC+wWK73dCr+jgQOAxNsHAnNNNMEMWOHYEccp6wJm2gotpr9katuF/ZAdou5AaW1C61slRkHRkpRRX9FA9CYBiitZgvCCz+3nWNN7l/Up54Zps/pHWGZLHNJZRYyAB6j5yVLMVHIHriY49d/GZTZVNB8GoJv9Gakwc/fuEZYYl4YDFiGMBP///TzlI4jhiJzjKnEvqPFki5p2ZRJqcbCiF4pJrxUQR/RXqVFQdbRLZgYfJ8xGB878RENq3yQ39d8dVOkq4edbkzwcUmwwwkYVPIoDGsYLaRHnG+To7FvMeyO7xDVQkMKzopTQV8AuKpyvpqu0a9pWOMaiCyDytO7GGN you@me.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Compute` - 2024-11-01\n\n## Import\n\nLinux Virtual Machine Scale Sets can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:compute/linuxVirtualMachineScaleSet:LinuxVirtualMachineScaleSet example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Compute/virtualMachineScaleSets/scaleset1\n```\n\n","properties":{"additionalCapabilities":{"$ref":"#/types/azure:compute/LinuxVirtualMachineScaleSetAdditionalCapabilities:LinuxVirtualMachineScaleSetAdditionalCapabilities","description":"An \u003cspan pulumi-lang-nodejs=\"`additionalCapabilities`\" pulumi-lang-dotnet=\"`AdditionalCapabilities`\" pulumi-lang-go=\"`additionalCapabilities`\" pulumi-lang-python=\"`additional_capabilities`\" pulumi-lang-yaml=\"`additionalCapabilities`\" pulumi-lang-java=\"`additionalCapabilities`\"\u003e`additional_capabilities`\u003c/span\u003e block as defined below.\n"},"adminPassword":{"type":"string","description":"The Password which should be used for the local-administrator on this Virtual Machine. Changing this forces a new resource to be created.\n\n\u003e **Note:** When an \u003cspan pulumi-lang-nodejs=\"`adminPassword`\" pulumi-lang-dotnet=\"`AdminPassword`\" pulumi-lang-go=\"`adminPassword`\" pulumi-lang-python=\"`admin_password`\" pulumi-lang-yaml=\"`adminPassword`\" pulumi-lang-java=\"`adminPassword`\"\u003e`admin_password`\u003c/span\u003e is specified \u003cspan pulumi-lang-nodejs=\"`disablePasswordAuthentication`\" pulumi-lang-dotnet=\"`DisablePasswordAuthentication`\" pulumi-lang-go=\"`disablePasswordAuthentication`\" pulumi-lang-python=\"`disable_password_authentication`\" pulumi-lang-yaml=\"`disablePasswordAuthentication`\" pulumi-lang-java=\"`disablePasswordAuthentication`\"\u003e`disable_password_authentication`\u003c/span\u003e must be set to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** One of either \u003cspan pulumi-lang-nodejs=\"`adminPassword`\" pulumi-lang-dotnet=\"`AdminPassword`\" pulumi-lang-go=\"`adminPassword`\" pulumi-lang-python=\"`admin_password`\" pulumi-lang-yaml=\"`adminPassword`\" pulumi-lang-java=\"`adminPassword`\"\u003e`admin_password`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`adminSshKey`\" pulumi-lang-dotnet=\"`AdminSshKey`\" pulumi-lang-go=\"`adminSshKey`\" pulumi-lang-python=\"`admin_ssh_key`\" pulumi-lang-yaml=\"`adminSshKey`\" pulumi-lang-java=\"`adminSshKey`\"\u003e`admin_ssh_key`\u003c/span\u003e must be specified.\n","secret":true},"adminSshKeys":{"type":"array","items":{"$ref":"#/types/azure:compute/LinuxVirtualMachineScaleSetAdminSshKey:LinuxVirtualMachineScaleSetAdminSshKey"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`adminSshKey`\" pulumi-lang-dotnet=\"`AdminSshKey`\" pulumi-lang-go=\"`adminSshKey`\" pulumi-lang-python=\"`admin_ssh_key`\" pulumi-lang-yaml=\"`adminSshKey`\" pulumi-lang-java=\"`adminSshKey`\"\u003e`admin_ssh_key`\u003c/span\u003e blocks as defined below.\n\n\u003e **Note:** One of either \u003cspan pulumi-lang-nodejs=\"`adminPassword`\" pulumi-lang-dotnet=\"`AdminPassword`\" pulumi-lang-go=\"`adminPassword`\" pulumi-lang-python=\"`admin_password`\" pulumi-lang-yaml=\"`adminPassword`\" pulumi-lang-java=\"`adminPassword`\"\u003e`admin_password`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`adminSshKey`\" pulumi-lang-dotnet=\"`AdminSshKey`\" pulumi-lang-go=\"`adminSshKey`\" pulumi-lang-python=\"`admin_ssh_key`\" pulumi-lang-yaml=\"`adminSshKey`\" pulumi-lang-java=\"`adminSshKey`\"\u003e`admin_ssh_key`\u003c/span\u003e must be specified.\n"},"adminUsername":{"type":"string","description":"The username of the local administrator on each Virtual Machine Scale Set instance. Changing this forces a new resource to be created.\n"},"automaticInstanceRepair":{"$ref":"#/types/azure:compute/LinuxVirtualMachineScaleSetAutomaticInstanceRepair:LinuxVirtualMachineScaleSetAutomaticInstanceRepair","description":"An \u003cspan pulumi-lang-nodejs=\"`automaticInstanceRepair`\" pulumi-lang-dotnet=\"`AutomaticInstanceRepair`\" pulumi-lang-go=\"`automaticInstanceRepair`\" pulumi-lang-python=\"`automatic_instance_repair`\" pulumi-lang-yaml=\"`automaticInstanceRepair`\" pulumi-lang-java=\"`automaticInstanceRepair`\"\u003e`automatic_instance_repair`\u003c/span\u003e block as defined below. To enable the automatic instance repair, this Virtual Machine Scale Set must have a valid \u003cspan pulumi-lang-nodejs=\"`healthProbeId`\" pulumi-lang-dotnet=\"`HealthProbeId`\" pulumi-lang-go=\"`healthProbeId`\" pulumi-lang-python=\"`health_probe_id`\" pulumi-lang-yaml=\"`healthProbeId`\" pulumi-lang-java=\"`healthProbeId`\"\u003e`health_probe_id`\u003c/span\u003e or an [Application Health Extension](https://docs.microsoft.com/azure/virtual-machine-scale-sets/virtual-machine-scale-sets-health-extension).\n\n\u003e **Note:** For more information about Automatic Instance Repair, please refer to the [product documentation](https://docs.microsoft.com/azure/virtual-machine-scale-sets/virtual-machine-scale-sets-automatic-instance-repairs).\n"},"automaticOsUpgradePolicy":{"$ref":"#/types/azure:compute/LinuxVirtualMachineScaleSetAutomaticOsUpgradePolicy:LinuxVirtualMachineScaleSetAutomaticOsUpgradePolicy","description":"An \u003cspan pulumi-lang-nodejs=\"`automaticOsUpgradePolicy`\" pulumi-lang-dotnet=\"`AutomaticOsUpgradePolicy`\" pulumi-lang-go=\"`automaticOsUpgradePolicy`\" pulumi-lang-python=\"`automatic_os_upgrade_policy`\" pulumi-lang-yaml=\"`automaticOsUpgradePolicy`\" pulumi-lang-java=\"`automaticOsUpgradePolicy`\"\u003e`automatic_os_upgrade_policy`\u003c/span\u003e block as defined below. This can only be specified when \u003cspan pulumi-lang-nodejs=\"`upgradeMode`\" pulumi-lang-dotnet=\"`UpgradeMode`\" pulumi-lang-go=\"`upgradeMode`\" pulumi-lang-python=\"`upgrade_mode`\" pulumi-lang-yaml=\"`upgradeMode`\" pulumi-lang-java=\"`upgradeMode`\"\u003e`upgrade_mode`\u003c/span\u003e is set to either `Automatic` or `Rolling`.\n"},"bootDiagnostics":{"$ref":"#/types/azure:compute/LinuxVirtualMachineScaleSetBootDiagnostics:LinuxVirtualMachineScaleSetBootDiagnostics","description":"A \u003cspan pulumi-lang-nodejs=\"`bootDiagnostics`\" pulumi-lang-dotnet=\"`BootDiagnostics`\" pulumi-lang-go=\"`bootDiagnostics`\" pulumi-lang-python=\"`boot_diagnostics`\" pulumi-lang-yaml=\"`bootDiagnostics`\" pulumi-lang-java=\"`bootDiagnostics`\"\u003e`boot_diagnostics`\u003c/span\u003e block as defined below.\n"},"capacityReservationGroupId":{"type":"string","description":"Specifies the ID of the Capacity Reservation Group which the Virtual Machine Scale Set should be allocated to. Changing this forces a new resource to be created.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`capacityReservationGroupId`\" pulumi-lang-dotnet=\"`CapacityReservationGroupId`\" pulumi-lang-go=\"`capacityReservationGroupId`\" pulumi-lang-python=\"`capacity_reservation_group_id`\" pulumi-lang-yaml=\"`capacityReservationGroupId`\" pulumi-lang-java=\"`capacityReservationGroupId`\"\u003e`capacity_reservation_group_id`\u003c/span\u003e cannot be used with \u003cspan pulumi-lang-nodejs=\"`proximityPlacementGroupId`\" pulumi-lang-dotnet=\"`ProximityPlacementGroupId`\" pulumi-lang-go=\"`proximityPlacementGroupId`\" pulumi-lang-python=\"`proximity_placement_group_id`\" pulumi-lang-yaml=\"`proximityPlacementGroupId`\" pulumi-lang-java=\"`proximityPlacementGroupId`\"\u003e`proximity_placement_group_id`\u003c/span\u003e\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`singlePlacementGroup`\" pulumi-lang-dotnet=\"`SinglePlacementGroup`\" pulumi-lang-go=\"`singlePlacementGroup`\" pulumi-lang-python=\"`single_placement_group`\" pulumi-lang-yaml=\"`singlePlacementGroup`\" pulumi-lang-java=\"`singlePlacementGroup`\"\u003e`single_placement_group`\u003c/span\u003e must be set to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e when \u003cspan pulumi-lang-nodejs=\"`capacityReservationGroupId`\" pulumi-lang-dotnet=\"`CapacityReservationGroupId`\" pulumi-lang-go=\"`capacityReservationGroupId`\" pulumi-lang-python=\"`capacity_reservation_group_id`\" pulumi-lang-yaml=\"`capacityReservationGroupId`\" pulumi-lang-java=\"`capacityReservationGroupId`\"\u003e`capacity_reservation_group_id`\u003c/span\u003e is specified.\n"},"computerNamePrefix":{"type":"string","description":"The prefix which should be used for the name of the Virtual Machines in this Scale Set. If unspecified this defaults to the value for the \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e field. If the value of the \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e field is not a valid \u003cspan pulumi-lang-nodejs=\"`computerNamePrefix`\" pulumi-lang-dotnet=\"`ComputerNamePrefix`\" pulumi-lang-go=\"`computerNamePrefix`\" pulumi-lang-python=\"`computer_name_prefix`\" pulumi-lang-yaml=\"`computerNamePrefix`\" pulumi-lang-java=\"`computerNamePrefix`\"\u003e`computer_name_prefix`\u003c/span\u003e, then you must specify \u003cspan pulumi-lang-nodejs=\"`computerNamePrefix`\" pulumi-lang-dotnet=\"`ComputerNamePrefix`\" pulumi-lang-go=\"`computerNamePrefix`\" pulumi-lang-python=\"`computer_name_prefix`\" pulumi-lang-yaml=\"`computerNamePrefix`\" pulumi-lang-java=\"`computerNamePrefix`\"\u003e`computer_name_prefix`\u003c/span\u003e. Changing this forces a new resource to be created.\n"},"customData":{"type":"string","description":"The Base64-Encoded Custom Data which should be used for this Virtual Machine Scale Set.\n\n\u003e **Note:** When Custom Data has been configured, it's not possible to remove it without tainting the Virtual Machine Scale Set, due to a limitation of the Azure API.\n","secret":true},"dataDisks":{"type":"array","items":{"$ref":"#/types/azure:compute/LinuxVirtualMachineScaleSetDataDisk:LinuxVirtualMachineScaleSetDataDisk"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`dataDisk`\" pulumi-lang-dotnet=\"`DataDisk`\" pulumi-lang-go=\"`dataDisk`\" pulumi-lang-python=\"`data_disk`\" pulumi-lang-yaml=\"`dataDisk`\" pulumi-lang-java=\"`dataDisk`\"\u003e`data_disk`\u003c/span\u003e blocks as defined below.\n"},"disablePasswordAuthentication":{"type":"boolean","description":"Should Password Authentication be disabled on this Virtual Machine Scale Set? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n\n\u003e **Note:** In general we'd recommend using SSH Keys for authentication rather than Passwords - but there's tradeoff's to each - please [see this thread for more information](https://security.stackexchange.com/questions/69407/why-is-using-an-ssh-key-more-secure-than-using-passwords).\n\n\u003e **Note:** When a \u003cspan pulumi-lang-nodejs=\"`adminPassword`\" pulumi-lang-dotnet=\"`AdminPassword`\" pulumi-lang-go=\"`adminPassword`\" pulumi-lang-python=\"`admin_password`\" pulumi-lang-yaml=\"`adminPassword`\" pulumi-lang-java=\"`adminPassword`\"\u003e`admin_password`\u003c/span\u003e is specified \u003cspan pulumi-lang-nodejs=\"`disablePasswordAuthentication`\" pulumi-lang-dotnet=\"`DisablePasswordAuthentication`\" pulumi-lang-go=\"`disablePasswordAuthentication`\" pulumi-lang-python=\"`disable_password_authentication`\" pulumi-lang-yaml=\"`disablePasswordAuthentication`\" pulumi-lang-java=\"`disablePasswordAuthentication`\"\u003e`disable_password_authentication`\u003c/span\u003e must be set to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"doNotRunExtensionsOnOverprovisionedMachines":{"type":"boolean","description":"Should Virtual Machine Extensions be run on Overprovisioned Virtual Machines in the Scale Set? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"edgeZone":{"type":"string","description":"Specifies the Edge Zone within the Azure Region where this Linux Virtual Machine Scale Set should exist. Changing this forces a new Linux Virtual Machine Scale Set to be created.\n"},"encryptionAtHostEnabled":{"type":"boolean","description":"Should all of the disks (including the temp disk) attached to this Virtual Machine be encrypted by enabling Encryption at Host?\n"},"evictionPolicy":{"type":"string","description":"Specifies the eviction policy for Virtual Machines in this Scale Set. Possible values are `Deallocate` and `Delete`. Changing this forces a new resource to be created.\n\n\u003e **Note:** This can only be configured when \u003cspan pulumi-lang-nodejs=\"`priority`\" pulumi-lang-dotnet=\"`Priority`\" pulumi-lang-go=\"`priority`\" pulumi-lang-python=\"`priority`\" pulumi-lang-yaml=\"`priority`\" pulumi-lang-java=\"`priority`\"\u003e`priority`\u003c/span\u003e is set to `Spot`.\n"},"extensionOperationsEnabled":{"type":"boolean","description":"Should extension operations be allowed on the Virtual Machine Scale Set? Possible values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e. Changing this forces a new Linux Virtual Machine Scale Set to be created.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`extensionOperationsEnabled`\" pulumi-lang-dotnet=\"`ExtensionOperationsEnabled`\" pulumi-lang-go=\"`extensionOperationsEnabled`\" pulumi-lang-python=\"`extension_operations_enabled`\" pulumi-lang-yaml=\"`extensionOperationsEnabled`\" pulumi-lang-java=\"`extensionOperationsEnabled`\"\u003e`extension_operations_enabled`\u003c/span\u003e may only be set to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e if there are no extensions defined in the \u003cspan pulumi-lang-nodejs=\"`extension`\" pulumi-lang-dotnet=\"`Extension`\" pulumi-lang-go=\"`extension`\" pulumi-lang-python=\"`extension`\" pulumi-lang-yaml=\"`extension`\" pulumi-lang-java=\"`extension`\"\u003e`extension`\u003c/span\u003e field.\n"},"extensions":{"type":"array","items":{"$ref":"#/types/azure:compute/LinuxVirtualMachineScaleSetExtension:LinuxVirtualMachineScaleSetExtension"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`extension`\" pulumi-lang-dotnet=\"`Extension`\" pulumi-lang-go=\"`extension`\" pulumi-lang-python=\"`extension`\" pulumi-lang-yaml=\"`extension`\" pulumi-lang-java=\"`extension`\"\u003e`extension`\u003c/span\u003e blocks as defined below\n"},"extensionsTimeBudget":{"type":"string","description":"Specifies the duration allocated for all extensions to start. The time duration should be between \u003cspan pulumi-lang-nodejs=\"`15`\" pulumi-lang-dotnet=\"`15`\" pulumi-lang-go=\"`15`\" pulumi-lang-python=\"`15`\" pulumi-lang-yaml=\"`15`\" pulumi-lang-java=\"`15`\"\u003e`15`\u003c/span\u003e minutes and \u003cspan pulumi-lang-nodejs=\"`120`\" pulumi-lang-dotnet=\"`120`\" pulumi-lang-go=\"`120`\" pulumi-lang-python=\"`120`\" pulumi-lang-yaml=\"`120`\" pulumi-lang-java=\"`120`\"\u003e`120`\u003c/span\u003e minutes (inclusive) and should be specified in ISO 8601 format. Defaults to `PT1H30M`.\n"},"galleryApplications":{"type":"array","items":{"$ref":"#/types/azure:compute/LinuxVirtualMachineScaleSetGalleryApplication:LinuxVirtualMachineScaleSetGalleryApplication"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`galleryApplication`\" pulumi-lang-dotnet=\"`GalleryApplication`\" pulumi-lang-go=\"`galleryApplication`\" pulumi-lang-python=\"`gallery_application`\" pulumi-lang-yaml=\"`galleryApplication`\" pulumi-lang-java=\"`galleryApplication`\"\u003e`gallery_application`\u003c/span\u003e blocks as defined below.\n"},"healthProbeId":{"type":"string","description":"The ID of a Load Balancer Probe which should be used to determine the health of an instance. This is Required and can only be specified when \u003cspan pulumi-lang-nodejs=\"`upgradeMode`\" pulumi-lang-dotnet=\"`UpgradeMode`\" pulumi-lang-go=\"`upgradeMode`\" pulumi-lang-python=\"`upgrade_mode`\" pulumi-lang-yaml=\"`upgradeMode`\" pulumi-lang-java=\"`upgradeMode`\"\u003e`upgrade_mode`\u003c/span\u003e is set to `Automatic` or `Rolling`.\n"},"hostGroupId":{"type":"string","description":"Specifies the ID of the dedicated host group that the virtual machine scale set resides in. Changing this forces a new resource to be created.\n"},"identity":{"$ref":"#/types/azure:compute/LinuxVirtualMachineScaleSetIdentity:LinuxVirtualMachineScaleSetIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"instances":{"type":"integer","description":"The number of Virtual Machines in the Scale Set. Defaults to \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n\n\u003e **NOTE:** If you're using AutoScaling, you may wish to use [`Ignore Changes` functionality](https://www.pulumi.com/docs/intro/concepts/programming-model/#ignorechanges) to ignore changes to this field.\n"},"location":{"type":"string","description":"The Azure location where the Linux Virtual Machine Scale Set should exist. Changing this forces a new resource to be created.\n"},"maxBidPrice":{"type":"number","description":"The maximum price you're willing to pay for each Virtual Machine in this Scale Set, in US Dollars; which must be greater than the current spot price. If this bid price falls below the current spot price the Virtual Machines in the Scale Set will be evicted using the \u003cspan pulumi-lang-nodejs=\"`evictionPolicy`\" pulumi-lang-dotnet=\"`EvictionPolicy`\" pulumi-lang-go=\"`evictionPolicy`\" pulumi-lang-python=\"`eviction_policy`\" pulumi-lang-yaml=\"`evictionPolicy`\" pulumi-lang-java=\"`evictionPolicy`\"\u003e`eviction_policy`\u003c/span\u003e. Defaults to `-1`, which means that each Virtual Machine in this Scale Set should not be evicted for price reasons.\n\n\u003e **Note:** This can only be configured when \u003cspan pulumi-lang-nodejs=\"`priority`\" pulumi-lang-dotnet=\"`Priority`\" pulumi-lang-go=\"`priority`\" pulumi-lang-python=\"`priority`\" pulumi-lang-yaml=\"`priority`\" pulumi-lang-java=\"`priority`\"\u003e`priority`\u003c/span\u003e is set to `Spot`.\n"},"name":{"type":"string","description":"The name of the Linux Virtual Machine Scale Set. Changing this forces a new resource to be created.\n"},"networkInterfaces":{"type":"array","items":{"$ref":"#/types/azure:compute/LinuxVirtualMachineScaleSetNetworkInterface:LinuxVirtualMachineScaleSetNetworkInterface"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`networkInterface`\" pulumi-lang-dotnet=\"`NetworkInterface`\" pulumi-lang-go=\"`networkInterface`\" pulumi-lang-python=\"`network_interface`\" pulumi-lang-yaml=\"`networkInterface`\" pulumi-lang-java=\"`networkInterface`\"\u003e`network_interface`\u003c/span\u003e blocks as defined below.\n"},"osDisk":{"$ref":"#/types/azure:compute/LinuxVirtualMachineScaleSetOsDisk:LinuxVirtualMachineScaleSetOsDisk","description":"An \u003cspan pulumi-lang-nodejs=\"`osDisk`\" pulumi-lang-dotnet=\"`OsDisk`\" pulumi-lang-go=\"`osDisk`\" pulumi-lang-python=\"`os_disk`\" pulumi-lang-yaml=\"`osDisk`\" pulumi-lang-java=\"`osDisk`\"\u003e`os_disk`\u003c/span\u003e block as defined below.\n"},"overprovision":{"type":"boolean","description":"Should Azure over-provision Virtual Machines in this Scale Set? This means that multiple Virtual Machines will be provisioned and Azure will keep the instances which become available first - which improves provisioning success rates and improves deployment time. You're not billed for these over-provisioned VM's and they don't count towards the Subscription Quota. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"plan":{"$ref":"#/types/azure:compute/LinuxVirtualMachineScaleSetPlan:LinuxVirtualMachineScaleSetPlan","description":"A \u003cspan pulumi-lang-nodejs=\"`plan`\" pulumi-lang-dotnet=\"`Plan`\" pulumi-lang-go=\"`plan`\" pulumi-lang-python=\"`plan`\" pulumi-lang-yaml=\"`plan`\" pulumi-lang-java=\"`plan`\"\u003e`plan`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n\n\u003e **Note:** When using an image from Azure Marketplace a \u003cspan pulumi-lang-nodejs=\"`plan`\" pulumi-lang-dotnet=\"`Plan`\" pulumi-lang-go=\"`plan`\" pulumi-lang-python=\"`plan`\" pulumi-lang-yaml=\"`plan`\" pulumi-lang-java=\"`plan`\"\u003e`plan`\u003c/span\u003e must be specified.\n"},"platformFaultDomainCount":{"type":"integer","description":"Specifies the number of fault domains that are used by this Linux Virtual Machine Scale Set. Changing this forces a new resource to be created.\n"},"priority":{"type":"string","description":"The Priority of this Virtual Machine Scale Set. Possible values are `Regular` and `Spot`. Defaults to `Regular`. Changing this value forces a new resource.\n\n\u003e **Note:** When \u003cspan pulumi-lang-nodejs=\"`priority`\" pulumi-lang-dotnet=\"`Priority`\" pulumi-lang-go=\"`priority`\" pulumi-lang-python=\"`priority`\" pulumi-lang-yaml=\"`priority`\" pulumi-lang-java=\"`priority`\"\u003e`priority`\u003c/span\u003e is set to `Spot` an \u003cspan pulumi-lang-nodejs=\"`evictionPolicy`\" pulumi-lang-dotnet=\"`EvictionPolicy`\" pulumi-lang-go=\"`evictionPolicy`\" pulumi-lang-python=\"`eviction_policy`\" pulumi-lang-yaml=\"`evictionPolicy`\" pulumi-lang-java=\"`evictionPolicy`\"\u003e`eviction_policy`\u003c/span\u003e must be specified.\n"},"provisionVmAgent":{"type":"boolean","description":"Should the Azure VM Agent be provisioned on each Virtual Machine in the Scale Set? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e. Changing this value forces a new resource to be created.\n"},"proximityPlacementGroupId":{"type":"string","description":"The ID of the Proximity Placement Group in which the Virtual Machine Scale Set should be assigned to. Changing this forces a new resource to be created.\n"},"resilientVmCreationEnabled":{"type":"boolean","description":"Should resilient VM creation be enabled? When enabled, the service will attempt to create VMs in alternative fault domains or zones if the primary location fails during creation. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`resilientVmCreationEnabled`\" pulumi-lang-dotnet=\"`ResilientVmCreationEnabled`\" pulumi-lang-go=\"`resilientVmCreationEnabled`\" pulumi-lang-python=\"`resilient_vm_creation_enabled`\" pulumi-lang-yaml=\"`resilientVmCreationEnabled`\" pulumi-lang-java=\"`resilientVmCreationEnabled`\"\u003e`resilient_vm_creation_enabled`\u003c/span\u003e is currently not supported in the \u003cspan pulumi-lang-nodejs=\"`austriaeast`\" pulumi-lang-dotnet=\"`Austriaeast`\" pulumi-lang-go=\"`austriaeast`\" pulumi-lang-python=\"`austriaeast`\" pulumi-lang-yaml=\"`austriaeast`\" pulumi-lang-java=\"`austriaeast`\"\u003e`austriaeast`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`belgiumcentral`\" pulumi-lang-dotnet=\"`Belgiumcentral`\" pulumi-lang-go=\"`belgiumcentral`\" pulumi-lang-python=\"`belgiumcentral`\" pulumi-lang-yaml=\"`belgiumcentral`\" pulumi-lang-java=\"`belgiumcentral`\"\u003e`belgiumcentral`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`centraluseuap`\" pulumi-lang-dotnet=\"`Centraluseuap`\" pulumi-lang-go=\"`centraluseuap`\" pulumi-lang-python=\"`centraluseuap`\" pulumi-lang-yaml=\"`centraluseuap`\" pulumi-lang-java=\"`centraluseuap`\"\u003e`centraluseuap`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`chilecentral`\" pulumi-lang-dotnet=\"`Chilecentral`\" pulumi-lang-go=\"`chilecentral`\" pulumi-lang-python=\"`chilecentral`\" pulumi-lang-yaml=\"`chilecentral`\" pulumi-lang-java=\"`chilecentral`\"\u003e`chilecentral`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`indonesiacentral`\" pulumi-lang-dotnet=\"`Indonesiacentral`\" pulumi-lang-go=\"`indonesiacentral`\" pulumi-lang-python=\"`indonesiacentral`\" pulumi-lang-yaml=\"`indonesiacentral`\" pulumi-lang-java=\"`indonesiacentral`\"\u003e`indonesiacentral`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`israelnorthwest`\" pulumi-lang-dotnet=\"`Israelnorthwest`\" pulumi-lang-go=\"`israelnorthwest`\" pulumi-lang-python=\"`israelnorthwest`\" pulumi-lang-yaml=\"`israelnorthwest`\" pulumi-lang-java=\"`israelnorthwest`\"\u003e`israelnorthwest`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`malaysiawest`\" pulumi-lang-dotnet=\"`Malaysiawest`\" pulumi-lang-go=\"`malaysiawest`\" pulumi-lang-python=\"`malaysiawest`\" pulumi-lang-yaml=\"`malaysiawest`\" pulumi-lang-java=\"`malaysiawest`\"\u003e`malaysiawest`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`mexicocentral`\" pulumi-lang-dotnet=\"`Mexicocentral`\" pulumi-lang-go=\"`mexicocentral`\" pulumi-lang-python=\"`mexicocentral`\" pulumi-lang-yaml=\"`mexicocentral`\" pulumi-lang-java=\"`mexicocentral`\"\u003e`mexicocentral`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`newzealandnorth`\" pulumi-lang-dotnet=\"`Newzealandnorth`\" pulumi-lang-go=\"`newzealandnorth`\" pulumi-lang-python=\"`newzealandnorth`\" pulumi-lang-yaml=\"`newzealandnorth`\" pulumi-lang-java=\"`newzealandnorth`\"\u003e`newzealandnorth`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`southcentralus2`\" pulumi-lang-dotnet=\"`Southcentralus2`\" pulumi-lang-go=\"`southcentralus2`\" pulumi-lang-python=\"`southcentralus2`\" pulumi-lang-yaml=\"`southcentralus2`\" pulumi-lang-java=\"`southcentralus2`\"\u003e`southcentralus2`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`southindia`\" pulumi-lang-dotnet=\"`Southindia`\" pulumi-lang-go=\"`southindia`\" pulumi-lang-python=\"`southindia`\" pulumi-lang-yaml=\"`southindia`\" pulumi-lang-java=\"`southindia`\"\u003e`southindia`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`southeastus3`\" pulumi-lang-dotnet=\"`Southeastus3`\" pulumi-lang-go=\"`southeastus3`\" pulumi-lang-python=\"`southeastus3`\" pulumi-lang-yaml=\"`southeastus3`\" pulumi-lang-java=\"`southeastus3`\"\u003e`southeastus3`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`southwestus`\" pulumi-lang-dotnet=\"`Southwestus`\" pulumi-lang-go=\"`southwestus`\" pulumi-lang-python=\"`southwestus`\" pulumi-lang-yaml=\"`southwestus`\" pulumi-lang-java=\"`southwestus`\"\u003e`southwestus`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`eastasia`\" pulumi-lang-dotnet=\"`Eastasia`\" pulumi-lang-go=\"`eastasia`\" pulumi-lang-python=\"`eastasia`\" pulumi-lang-yaml=\"`eastasia`\" pulumi-lang-java=\"`eastasia`\"\u003e`eastasia`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`eastus`\" pulumi-lang-dotnet=\"`Eastus`\" pulumi-lang-go=\"`eastus`\" pulumi-lang-python=\"`eastus`\" pulumi-lang-yaml=\"`eastus`\" pulumi-lang-java=\"`eastus`\"\u003e`eastus`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`southcentralus`\" pulumi-lang-dotnet=\"`Southcentralus`\" pulumi-lang-go=\"`southcentralus`\" pulumi-lang-python=\"`southcentralus`\" pulumi-lang-yaml=\"`southcentralus`\" pulumi-lang-java=\"`southcentralus`\"\u003e`southcentralus`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`southeastasia`\" pulumi-lang-dotnet=\"`Southeastasia`\" pulumi-lang-go=\"`southeastasia`\" pulumi-lang-python=\"`southeastasia`\" pulumi-lang-yaml=\"`southeastasia`\" pulumi-lang-java=\"`southeastasia`\"\u003e`southeastasia`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`westeurope`\" pulumi-lang-dotnet=\"`Westeurope`\" pulumi-lang-go=\"`westeurope`\" pulumi-lang-python=\"`westeurope`\" pulumi-lang-yaml=\"`westeurope`\" pulumi-lang-java=\"`westeurope`\"\u003e`westeurope`\u003c/span\u003e regions.\n"},"resilientVmDeletionEnabled":{"type":"boolean","description":"Should resilient VM deletion be enabled? When enabled, the service will use a more resilient deletion process that attempts to gracefully handle failures during VM termination. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`resilientVmDeletionEnabled`\" pulumi-lang-dotnet=\"`ResilientVmDeletionEnabled`\" pulumi-lang-go=\"`resilientVmDeletionEnabled`\" pulumi-lang-python=\"`resilient_vm_deletion_enabled`\" pulumi-lang-yaml=\"`resilientVmDeletionEnabled`\" pulumi-lang-java=\"`resilientVmDeletionEnabled`\"\u003e`resilient_vm_deletion_enabled`\u003c/span\u003e is currently not supported in the \u003cspan pulumi-lang-nodejs=\"`austriaeast`\" pulumi-lang-dotnet=\"`Austriaeast`\" pulumi-lang-go=\"`austriaeast`\" pulumi-lang-python=\"`austriaeast`\" pulumi-lang-yaml=\"`austriaeast`\" pulumi-lang-java=\"`austriaeast`\"\u003e`austriaeast`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`belgiumcentral`\" pulumi-lang-dotnet=\"`Belgiumcentral`\" pulumi-lang-go=\"`belgiumcentral`\" pulumi-lang-python=\"`belgiumcentral`\" pulumi-lang-yaml=\"`belgiumcentral`\" pulumi-lang-java=\"`belgiumcentral`\"\u003e`belgiumcentral`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`centraluseuap`\" pulumi-lang-dotnet=\"`Centraluseuap`\" pulumi-lang-go=\"`centraluseuap`\" pulumi-lang-python=\"`centraluseuap`\" pulumi-lang-yaml=\"`centraluseuap`\" pulumi-lang-java=\"`centraluseuap`\"\u003e`centraluseuap`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`chilecentral`\" pulumi-lang-dotnet=\"`Chilecentral`\" pulumi-lang-go=\"`chilecentral`\" pulumi-lang-python=\"`chilecentral`\" pulumi-lang-yaml=\"`chilecentral`\" pulumi-lang-java=\"`chilecentral`\"\u003e`chilecentral`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`indonesiacentral`\" pulumi-lang-dotnet=\"`Indonesiacentral`\" pulumi-lang-go=\"`indonesiacentral`\" pulumi-lang-python=\"`indonesiacentral`\" pulumi-lang-yaml=\"`indonesiacentral`\" pulumi-lang-java=\"`indonesiacentral`\"\u003e`indonesiacentral`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`israelnorthwest`\" pulumi-lang-dotnet=\"`Israelnorthwest`\" pulumi-lang-go=\"`israelnorthwest`\" pulumi-lang-python=\"`israelnorthwest`\" pulumi-lang-yaml=\"`israelnorthwest`\" pulumi-lang-java=\"`israelnorthwest`\"\u003e`israelnorthwest`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`malaysiawest`\" pulumi-lang-dotnet=\"`Malaysiawest`\" pulumi-lang-go=\"`malaysiawest`\" pulumi-lang-python=\"`malaysiawest`\" pulumi-lang-yaml=\"`malaysiawest`\" pulumi-lang-java=\"`malaysiawest`\"\u003e`malaysiawest`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`mexicocentral`\" pulumi-lang-dotnet=\"`Mexicocentral`\" pulumi-lang-go=\"`mexicocentral`\" pulumi-lang-python=\"`mexicocentral`\" pulumi-lang-yaml=\"`mexicocentral`\" pulumi-lang-java=\"`mexicocentral`\"\u003e`mexicocentral`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`newzealandnorth`\" pulumi-lang-dotnet=\"`Newzealandnorth`\" pulumi-lang-go=\"`newzealandnorth`\" pulumi-lang-python=\"`newzealandnorth`\" pulumi-lang-yaml=\"`newzealandnorth`\" pulumi-lang-java=\"`newzealandnorth`\"\u003e`newzealandnorth`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`southcentralus2`\" pulumi-lang-dotnet=\"`Southcentralus2`\" pulumi-lang-go=\"`southcentralus2`\" pulumi-lang-python=\"`southcentralus2`\" pulumi-lang-yaml=\"`southcentralus2`\" pulumi-lang-java=\"`southcentralus2`\"\u003e`southcentralus2`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`southindia`\" pulumi-lang-dotnet=\"`Southindia`\" pulumi-lang-go=\"`southindia`\" pulumi-lang-python=\"`southindia`\" pulumi-lang-yaml=\"`southindia`\" pulumi-lang-java=\"`southindia`\"\u003e`southindia`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`southeastus3`\" pulumi-lang-dotnet=\"`Southeastus3`\" pulumi-lang-go=\"`southeastus3`\" pulumi-lang-python=\"`southeastus3`\" pulumi-lang-yaml=\"`southeastus3`\" pulumi-lang-java=\"`southeastus3`\"\u003e`southeastus3`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`southwestus`\" pulumi-lang-dotnet=\"`Southwestus`\" pulumi-lang-go=\"`southwestus`\" pulumi-lang-python=\"`southwestus`\" pulumi-lang-yaml=\"`southwestus`\" pulumi-lang-java=\"`southwestus`\"\u003e`southwestus`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`eastasia`\" pulumi-lang-dotnet=\"`Eastasia`\" pulumi-lang-go=\"`eastasia`\" pulumi-lang-python=\"`eastasia`\" pulumi-lang-yaml=\"`eastasia`\" pulumi-lang-java=\"`eastasia`\"\u003e`eastasia`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`eastus`\" pulumi-lang-dotnet=\"`Eastus`\" pulumi-lang-go=\"`eastus`\" pulumi-lang-python=\"`eastus`\" pulumi-lang-yaml=\"`eastus`\" pulumi-lang-java=\"`eastus`\"\u003e`eastus`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`southcentralus`\" pulumi-lang-dotnet=\"`Southcentralus`\" pulumi-lang-go=\"`southcentralus`\" pulumi-lang-python=\"`southcentralus`\" pulumi-lang-yaml=\"`southcentralus`\" pulumi-lang-java=\"`southcentralus`\"\u003e`southcentralus`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`southeastasia`\" pulumi-lang-dotnet=\"`Southeastasia`\" pulumi-lang-go=\"`southeastasia`\" pulumi-lang-python=\"`southeastasia`\" pulumi-lang-yaml=\"`southeastasia`\" pulumi-lang-java=\"`southeastasia`\"\u003e`southeastasia`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`westeurope`\" pulumi-lang-dotnet=\"`Westeurope`\" pulumi-lang-go=\"`westeurope`\" pulumi-lang-python=\"`westeurope`\" pulumi-lang-yaml=\"`westeurope`\" pulumi-lang-java=\"`westeurope`\"\u003e`westeurope`\u003c/span\u003e regions.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group in which the Linux Virtual Machine Scale Set should be exist. Changing this forces a new resource to be created.\n"},"rollingUpgradePolicy":{"$ref":"#/types/azure:compute/LinuxVirtualMachineScaleSetRollingUpgradePolicy:LinuxVirtualMachineScaleSetRollingUpgradePolicy","description":"A \u003cspan pulumi-lang-nodejs=\"`rollingUpgradePolicy`\" pulumi-lang-dotnet=\"`RollingUpgradePolicy`\" pulumi-lang-go=\"`rollingUpgradePolicy`\" pulumi-lang-python=\"`rolling_upgrade_policy`\" pulumi-lang-yaml=\"`rollingUpgradePolicy`\" pulumi-lang-java=\"`rollingUpgradePolicy`\"\u003e`rolling_upgrade_policy`\u003c/span\u003e block as defined below. This is Required and can only be specified when \u003cspan pulumi-lang-nodejs=\"`upgradeMode`\" pulumi-lang-dotnet=\"`UpgradeMode`\" pulumi-lang-go=\"`upgradeMode`\" pulumi-lang-python=\"`upgrade_mode`\" pulumi-lang-yaml=\"`upgradeMode`\" pulumi-lang-java=\"`upgradeMode`\"\u003e`upgrade_mode`\u003c/span\u003e is set to `Automatic` or `Rolling`. Changing this forces a new resource to be created.\n"},"scaleIn":{"$ref":"#/types/azure:compute/LinuxVirtualMachineScaleSetScaleIn:LinuxVirtualMachineScaleSetScaleIn","description":"A \u003cspan pulumi-lang-nodejs=\"`scaleIn`\" pulumi-lang-dotnet=\"`ScaleIn`\" pulumi-lang-go=\"`scaleIn`\" pulumi-lang-python=\"`scale_in`\" pulumi-lang-yaml=\"`scaleIn`\" pulumi-lang-java=\"`scaleIn`\"\u003e`scale_in`\u003c/span\u003e block as defined below.\n"},"secrets":{"type":"array","items":{"$ref":"#/types/azure:compute/LinuxVirtualMachineScaleSetSecret:LinuxVirtualMachineScaleSetSecret"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`secret`\" pulumi-lang-dotnet=\"`Secret`\" pulumi-lang-go=\"`secret`\" pulumi-lang-python=\"`secret`\" pulumi-lang-yaml=\"`secret`\" pulumi-lang-java=\"`secret`\"\u003e`secret`\u003c/span\u003e blocks as defined below.\n"},"secureBootEnabled":{"type":"boolean","description":"Specifies whether secure boot should be enabled on the virtual machine. Changing this forces a new resource to be created.\n"},"singlePlacementGroup":{"type":"boolean","description":"Should this Virtual Machine Scale Set be limited to a Single Placement Group, which means the number of instances will be capped at 100 Virtual Machines. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"sku":{"type":"string","description":"The Virtual Machine SKU for the Scale Set, such as `Standard_F2`.\n"},"sourceImageId":{"type":"string","description":"The ID of an Image which each Virtual Machine in this Scale Set should be based on. Possible Image ID types include `Image ID`, `Shared Image ID`, `Shared Image Version ID`, `Community Gallery Image ID`, `Community Gallery Image Version ID`, `Shared Gallery Image ID` and `Shared Gallery Image Version ID`.\n\n\u003e **Note:** One of either \u003cspan pulumi-lang-nodejs=\"`sourceImageId`\" pulumi-lang-dotnet=\"`SourceImageId`\" pulumi-lang-go=\"`sourceImageId`\" pulumi-lang-python=\"`source_image_id`\" pulumi-lang-yaml=\"`sourceImageId`\" pulumi-lang-java=\"`sourceImageId`\"\u003e`source_image_id`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`sourceImageReference`\" pulumi-lang-dotnet=\"`SourceImageReference`\" pulumi-lang-go=\"`sourceImageReference`\" pulumi-lang-python=\"`source_image_reference`\" pulumi-lang-yaml=\"`sourceImageReference`\" pulumi-lang-java=\"`sourceImageReference`\"\u003e`source_image_reference`\u003c/span\u003e must be set.\n"},"sourceImageReference":{"$ref":"#/types/azure:compute/LinuxVirtualMachineScaleSetSourceImageReference:LinuxVirtualMachineScaleSetSourceImageReference","description":"A \u003cspan pulumi-lang-nodejs=\"`sourceImageReference`\" pulumi-lang-dotnet=\"`SourceImageReference`\" pulumi-lang-go=\"`sourceImageReference`\" pulumi-lang-python=\"`source_image_reference`\" pulumi-lang-yaml=\"`sourceImageReference`\" pulumi-lang-java=\"`sourceImageReference`\"\u003e`source_image_reference`\u003c/span\u003e block as defined below.\n\n\u003e **Note:** One of either \u003cspan pulumi-lang-nodejs=\"`sourceImageId`\" pulumi-lang-dotnet=\"`SourceImageId`\" pulumi-lang-go=\"`sourceImageId`\" pulumi-lang-python=\"`source_image_id`\" pulumi-lang-yaml=\"`sourceImageId`\" pulumi-lang-java=\"`sourceImageId`\"\u003e`source_image_id`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`sourceImageReference`\" pulumi-lang-dotnet=\"`SourceImageReference`\" pulumi-lang-go=\"`sourceImageReference`\" pulumi-lang-python=\"`source_image_reference`\" pulumi-lang-yaml=\"`sourceImageReference`\" pulumi-lang-java=\"`sourceImageReference`\"\u003e`source_image_reference`\u003c/span\u003e must be set.\n"},"spotRestore":{"$ref":"#/types/azure:compute/LinuxVirtualMachineScaleSetSpotRestore:LinuxVirtualMachineScaleSetSpotRestore","description":"A \u003cspan pulumi-lang-nodejs=\"`spotRestore`\" pulumi-lang-dotnet=\"`SpotRestore`\" pulumi-lang-go=\"`spotRestore`\" pulumi-lang-python=\"`spot_restore`\" pulumi-lang-yaml=\"`spotRestore`\" pulumi-lang-java=\"`spotRestore`\"\u003e`spot_restore`\u003c/span\u003e block as defined below.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to this Virtual Machine Scale Set.\n"},"terminationNotification":{"$ref":"#/types/azure:compute/LinuxVirtualMachineScaleSetTerminationNotification:LinuxVirtualMachineScaleSetTerminationNotification","description":"A \u003cspan pulumi-lang-nodejs=\"`terminationNotification`\" pulumi-lang-dotnet=\"`TerminationNotification`\" pulumi-lang-go=\"`terminationNotification`\" pulumi-lang-python=\"`termination_notification`\" pulumi-lang-yaml=\"`terminationNotification`\" pulumi-lang-java=\"`terminationNotification`\"\u003e`termination_notification`\u003c/span\u003e block as defined below.\n"},"uniqueId":{"type":"string","description":"The Unique ID for this Linux Virtual Machine Scale Set.\n"},"upgradeMode":{"type":"string","description":"Specifies how Upgrades (e.g. changing the Image/SKU) should be performed to Virtual Machine Instances. Possible values are `Automatic`, `Manual` and `Rolling`. Defaults to `Manual`. Changing this forces a new resource to be created.\n\n\u003e **Note:** If rolling upgrades are configured and running on a Linux Virtual Machine Scale Set, they will be cancelled when Terraform tries to destroy the resource.\n"},"userData":{"type":"string","description":"The Base64-Encoded User Data which should be used for this Virtual Machine Scale Set.\n"},"vtpmEnabled":{"type":"boolean","description":"Specifies whether vTPM should be enabled on the virtual machine. Changing this forces a new resource to be created.\n"},"zoneBalance":{"type":"boolean","description":"Should the Virtual Machines in this Scale Set be strictly evenly distributed across Availability Zones? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Changing this forces a new resource to be created.\n\n\u003e **Note:** This can only be set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e when one or more \u003cspan pulumi-lang-nodejs=\"`zones`\" pulumi-lang-dotnet=\"`Zones`\" pulumi-lang-go=\"`zones`\" pulumi-lang-python=\"`zones`\" pulumi-lang-yaml=\"`zones`\" pulumi-lang-java=\"`zones`\"\u003e`zones`\u003c/span\u003e are configured.\n"},"zones":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Availability Zones in which this Linux Virtual Machine Scale Set should be located.\n\n\u003e **Note:** Updating \u003cspan pulumi-lang-nodejs=\"`zones`\" pulumi-lang-dotnet=\"`Zones`\" pulumi-lang-go=\"`zones`\" pulumi-lang-python=\"`zones`\" pulumi-lang-yaml=\"`zones`\" pulumi-lang-java=\"`zones`\"\u003e`zones`\u003c/span\u003e to remove an existing zone forces a new Virtual Machine Scale Set to be created.\n"}},"required":["adminUsername","automaticInstanceRepair","computerNamePrefix","extensions","location","name","networkInterfaces","osDisk","platformFaultDomainCount","resourceGroupName","sku","spotRestore","terminationNotification","uniqueId"],"inputProperties":{"additionalCapabilities":{"$ref":"#/types/azure:compute/LinuxVirtualMachineScaleSetAdditionalCapabilities:LinuxVirtualMachineScaleSetAdditionalCapabilities","description":"An \u003cspan pulumi-lang-nodejs=\"`additionalCapabilities`\" pulumi-lang-dotnet=\"`AdditionalCapabilities`\" pulumi-lang-go=\"`additionalCapabilities`\" pulumi-lang-python=\"`additional_capabilities`\" pulumi-lang-yaml=\"`additionalCapabilities`\" pulumi-lang-java=\"`additionalCapabilities`\"\u003e`additional_capabilities`\u003c/span\u003e block as defined below.\n"},"adminPassword":{"type":"string","description":"The Password which should be used for the local-administrator on this Virtual Machine. Changing this forces a new resource to be created.\n\n\u003e **Note:** When an \u003cspan pulumi-lang-nodejs=\"`adminPassword`\" pulumi-lang-dotnet=\"`AdminPassword`\" pulumi-lang-go=\"`adminPassword`\" pulumi-lang-python=\"`admin_password`\" pulumi-lang-yaml=\"`adminPassword`\" pulumi-lang-java=\"`adminPassword`\"\u003e`admin_password`\u003c/span\u003e is specified \u003cspan pulumi-lang-nodejs=\"`disablePasswordAuthentication`\" pulumi-lang-dotnet=\"`DisablePasswordAuthentication`\" pulumi-lang-go=\"`disablePasswordAuthentication`\" pulumi-lang-python=\"`disable_password_authentication`\" pulumi-lang-yaml=\"`disablePasswordAuthentication`\" pulumi-lang-java=\"`disablePasswordAuthentication`\"\u003e`disable_password_authentication`\u003c/span\u003e must be set to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** One of either \u003cspan pulumi-lang-nodejs=\"`adminPassword`\" pulumi-lang-dotnet=\"`AdminPassword`\" pulumi-lang-go=\"`adminPassword`\" pulumi-lang-python=\"`admin_password`\" pulumi-lang-yaml=\"`adminPassword`\" pulumi-lang-java=\"`adminPassword`\"\u003e`admin_password`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`adminSshKey`\" pulumi-lang-dotnet=\"`AdminSshKey`\" pulumi-lang-go=\"`adminSshKey`\" pulumi-lang-python=\"`admin_ssh_key`\" pulumi-lang-yaml=\"`adminSshKey`\" pulumi-lang-java=\"`adminSshKey`\"\u003e`admin_ssh_key`\u003c/span\u003e must be specified.\n","secret":true,"willReplaceOnChanges":true},"adminSshKeys":{"type":"array","items":{"$ref":"#/types/azure:compute/LinuxVirtualMachineScaleSetAdminSshKey:LinuxVirtualMachineScaleSetAdminSshKey"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`adminSshKey`\" pulumi-lang-dotnet=\"`AdminSshKey`\" pulumi-lang-go=\"`adminSshKey`\" pulumi-lang-python=\"`admin_ssh_key`\" pulumi-lang-yaml=\"`adminSshKey`\" pulumi-lang-java=\"`adminSshKey`\"\u003e`admin_ssh_key`\u003c/span\u003e blocks as defined below.\n\n\u003e **Note:** One of either \u003cspan pulumi-lang-nodejs=\"`adminPassword`\" pulumi-lang-dotnet=\"`AdminPassword`\" pulumi-lang-go=\"`adminPassword`\" pulumi-lang-python=\"`admin_password`\" pulumi-lang-yaml=\"`adminPassword`\" pulumi-lang-java=\"`adminPassword`\"\u003e`admin_password`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`adminSshKey`\" pulumi-lang-dotnet=\"`AdminSshKey`\" pulumi-lang-go=\"`adminSshKey`\" pulumi-lang-python=\"`admin_ssh_key`\" pulumi-lang-yaml=\"`adminSshKey`\" pulumi-lang-java=\"`adminSshKey`\"\u003e`admin_ssh_key`\u003c/span\u003e must be specified.\n"},"adminUsername":{"type":"string","description":"The username of the local administrator on each Virtual Machine Scale Set instance. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"automaticInstanceRepair":{"$ref":"#/types/azure:compute/LinuxVirtualMachineScaleSetAutomaticInstanceRepair:LinuxVirtualMachineScaleSetAutomaticInstanceRepair","description":"An \u003cspan pulumi-lang-nodejs=\"`automaticInstanceRepair`\" pulumi-lang-dotnet=\"`AutomaticInstanceRepair`\" pulumi-lang-go=\"`automaticInstanceRepair`\" pulumi-lang-python=\"`automatic_instance_repair`\" pulumi-lang-yaml=\"`automaticInstanceRepair`\" pulumi-lang-java=\"`automaticInstanceRepair`\"\u003e`automatic_instance_repair`\u003c/span\u003e block as defined below. To enable the automatic instance repair, this Virtual Machine Scale Set must have a valid \u003cspan pulumi-lang-nodejs=\"`healthProbeId`\" pulumi-lang-dotnet=\"`HealthProbeId`\" pulumi-lang-go=\"`healthProbeId`\" pulumi-lang-python=\"`health_probe_id`\" pulumi-lang-yaml=\"`healthProbeId`\" pulumi-lang-java=\"`healthProbeId`\"\u003e`health_probe_id`\u003c/span\u003e or an [Application Health Extension](https://docs.microsoft.com/azure/virtual-machine-scale-sets/virtual-machine-scale-sets-health-extension).\n\n\u003e **Note:** For more information about Automatic Instance Repair, please refer to the [product documentation](https://docs.microsoft.com/azure/virtual-machine-scale-sets/virtual-machine-scale-sets-automatic-instance-repairs).\n"},"automaticOsUpgradePolicy":{"$ref":"#/types/azure:compute/LinuxVirtualMachineScaleSetAutomaticOsUpgradePolicy:LinuxVirtualMachineScaleSetAutomaticOsUpgradePolicy","description":"An \u003cspan pulumi-lang-nodejs=\"`automaticOsUpgradePolicy`\" pulumi-lang-dotnet=\"`AutomaticOsUpgradePolicy`\" pulumi-lang-go=\"`automaticOsUpgradePolicy`\" pulumi-lang-python=\"`automatic_os_upgrade_policy`\" pulumi-lang-yaml=\"`automaticOsUpgradePolicy`\" pulumi-lang-java=\"`automaticOsUpgradePolicy`\"\u003e`automatic_os_upgrade_policy`\u003c/span\u003e block as defined below. This can only be specified when \u003cspan pulumi-lang-nodejs=\"`upgradeMode`\" pulumi-lang-dotnet=\"`UpgradeMode`\" pulumi-lang-go=\"`upgradeMode`\" pulumi-lang-python=\"`upgrade_mode`\" pulumi-lang-yaml=\"`upgradeMode`\" pulumi-lang-java=\"`upgradeMode`\"\u003e`upgrade_mode`\u003c/span\u003e is set to either `Automatic` or `Rolling`.\n"},"bootDiagnostics":{"$ref":"#/types/azure:compute/LinuxVirtualMachineScaleSetBootDiagnostics:LinuxVirtualMachineScaleSetBootDiagnostics","description":"A \u003cspan pulumi-lang-nodejs=\"`bootDiagnostics`\" pulumi-lang-dotnet=\"`BootDiagnostics`\" pulumi-lang-go=\"`bootDiagnostics`\" pulumi-lang-python=\"`boot_diagnostics`\" pulumi-lang-yaml=\"`bootDiagnostics`\" pulumi-lang-java=\"`bootDiagnostics`\"\u003e`boot_diagnostics`\u003c/span\u003e block as defined below.\n"},"capacityReservationGroupId":{"type":"string","description":"Specifies the ID of the Capacity Reservation Group which the Virtual Machine Scale Set should be allocated to. Changing this forces a new resource to be created.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`capacityReservationGroupId`\" pulumi-lang-dotnet=\"`CapacityReservationGroupId`\" pulumi-lang-go=\"`capacityReservationGroupId`\" pulumi-lang-python=\"`capacity_reservation_group_id`\" pulumi-lang-yaml=\"`capacityReservationGroupId`\" pulumi-lang-java=\"`capacityReservationGroupId`\"\u003e`capacity_reservation_group_id`\u003c/span\u003e cannot be used with \u003cspan pulumi-lang-nodejs=\"`proximityPlacementGroupId`\" pulumi-lang-dotnet=\"`ProximityPlacementGroupId`\" pulumi-lang-go=\"`proximityPlacementGroupId`\" pulumi-lang-python=\"`proximity_placement_group_id`\" pulumi-lang-yaml=\"`proximityPlacementGroupId`\" pulumi-lang-java=\"`proximityPlacementGroupId`\"\u003e`proximity_placement_group_id`\u003c/span\u003e\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`singlePlacementGroup`\" pulumi-lang-dotnet=\"`SinglePlacementGroup`\" pulumi-lang-go=\"`singlePlacementGroup`\" pulumi-lang-python=\"`single_placement_group`\" pulumi-lang-yaml=\"`singlePlacementGroup`\" pulumi-lang-java=\"`singlePlacementGroup`\"\u003e`single_placement_group`\u003c/span\u003e must be set to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e when \u003cspan pulumi-lang-nodejs=\"`capacityReservationGroupId`\" pulumi-lang-dotnet=\"`CapacityReservationGroupId`\" pulumi-lang-go=\"`capacityReservationGroupId`\" pulumi-lang-python=\"`capacity_reservation_group_id`\" pulumi-lang-yaml=\"`capacityReservationGroupId`\" pulumi-lang-java=\"`capacityReservationGroupId`\"\u003e`capacity_reservation_group_id`\u003c/span\u003e is specified.\n","willReplaceOnChanges":true},"computerNamePrefix":{"type":"string","description":"The prefix which should be used for the name of the Virtual Machines in this Scale Set. If unspecified this defaults to the value for the \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e field. If the value of the \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e field is not a valid \u003cspan pulumi-lang-nodejs=\"`computerNamePrefix`\" pulumi-lang-dotnet=\"`ComputerNamePrefix`\" pulumi-lang-go=\"`computerNamePrefix`\" pulumi-lang-python=\"`computer_name_prefix`\" pulumi-lang-yaml=\"`computerNamePrefix`\" pulumi-lang-java=\"`computerNamePrefix`\"\u003e`computer_name_prefix`\u003c/span\u003e, then you must specify \u003cspan pulumi-lang-nodejs=\"`computerNamePrefix`\" pulumi-lang-dotnet=\"`ComputerNamePrefix`\" pulumi-lang-go=\"`computerNamePrefix`\" pulumi-lang-python=\"`computer_name_prefix`\" pulumi-lang-yaml=\"`computerNamePrefix`\" pulumi-lang-java=\"`computerNamePrefix`\"\u003e`computer_name_prefix`\u003c/span\u003e. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"customData":{"type":"string","description":"The Base64-Encoded Custom Data which should be used for this Virtual Machine Scale Set.\n\n\u003e **Note:** When Custom Data has been configured, it's not possible to remove it without tainting the Virtual Machine Scale Set, due to a limitation of the Azure API.\n","secret":true},"dataDisks":{"type":"array","items":{"$ref":"#/types/azure:compute/LinuxVirtualMachineScaleSetDataDisk:LinuxVirtualMachineScaleSetDataDisk"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`dataDisk`\" pulumi-lang-dotnet=\"`DataDisk`\" pulumi-lang-go=\"`dataDisk`\" pulumi-lang-python=\"`data_disk`\" pulumi-lang-yaml=\"`dataDisk`\" pulumi-lang-java=\"`dataDisk`\"\u003e`data_disk`\u003c/span\u003e blocks as defined below.\n"},"disablePasswordAuthentication":{"type":"boolean","description":"Should Password Authentication be disabled on this Virtual Machine Scale Set? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n\n\u003e **Note:** In general we'd recommend using SSH Keys for authentication rather than Passwords - but there's tradeoff's to each - please [see this thread for more information](https://security.stackexchange.com/questions/69407/why-is-using-an-ssh-key-more-secure-than-using-passwords).\n\n\u003e **Note:** When a \u003cspan pulumi-lang-nodejs=\"`adminPassword`\" pulumi-lang-dotnet=\"`AdminPassword`\" pulumi-lang-go=\"`adminPassword`\" pulumi-lang-python=\"`admin_password`\" pulumi-lang-yaml=\"`adminPassword`\" pulumi-lang-java=\"`adminPassword`\"\u003e`admin_password`\u003c/span\u003e is specified \u003cspan pulumi-lang-nodejs=\"`disablePasswordAuthentication`\" pulumi-lang-dotnet=\"`DisablePasswordAuthentication`\" pulumi-lang-go=\"`disablePasswordAuthentication`\" pulumi-lang-python=\"`disable_password_authentication`\" pulumi-lang-yaml=\"`disablePasswordAuthentication`\" pulumi-lang-java=\"`disablePasswordAuthentication`\"\u003e`disable_password_authentication`\u003c/span\u003e must be set to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"doNotRunExtensionsOnOverprovisionedMachines":{"type":"boolean","description":"Should Virtual Machine Extensions be run on Overprovisioned Virtual Machines in the Scale Set? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"edgeZone":{"type":"string","description":"Specifies the Edge Zone within the Azure Region where this Linux Virtual Machine Scale Set should exist. Changing this forces a new Linux Virtual Machine Scale Set to be created.\n","willReplaceOnChanges":true},"encryptionAtHostEnabled":{"type":"boolean","description":"Should all of the disks (including the temp disk) attached to this Virtual Machine be encrypted by enabling Encryption at Host?\n"},"evictionPolicy":{"type":"string","description":"Specifies the eviction policy for Virtual Machines in this Scale Set. Possible values are `Deallocate` and `Delete`. Changing this forces a new resource to be created.\n\n\u003e **Note:** This can only be configured when \u003cspan pulumi-lang-nodejs=\"`priority`\" pulumi-lang-dotnet=\"`Priority`\" pulumi-lang-go=\"`priority`\" pulumi-lang-python=\"`priority`\" pulumi-lang-yaml=\"`priority`\" pulumi-lang-java=\"`priority`\"\u003e`priority`\u003c/span\u003e is set to `Spot`.\n","willReplaceOnChanges":true},"extensionOperationsEnabled":{"type":"boolean","description":"Should extension operations be allowed on the Virtual Machine Scale Set? Possible values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e. Changing this forces a new Linux Virtual Machine Scale Set to be created.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`extensionOperationsEnabled`\" pulumi-lang-dotnet=\"`ExtensionOperationsEnabled`\" pulumi-lang-go=\"`extensionOperationsEnabled`\" pulumi-lang-python=\"`extension_operations_enabled`\" pulumi-lang-yaml=\"`extensionOperationsEnabled`\" pulumi-lang-java=\"`extensionOperationsEnabled`\"\u003e`extension_operations_enabled`\u003c/span\u003e may only be set to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e if there are no extensions defined in the \u003cspan pulumi-lang-nodejs=\"`extension`\" pulumi-lang-dotnet=\"`Extension`\" pulumi-lang-go=\"`extension`\" pulumi-lang-python=\"`extension`\" pulumi-lang-yaml=\"`extension`\" pulumi-lang-java=\"`extension`\"\u003e`extension`\u003c/span\u003e field.\n","willReplaceOnChanges":true},"extensions":{"type":"array","items":{"$ref":"#/types/azure:compute/LinuxVirtualMachineScaleSetExtension:LinuxVirtualMachineScaleSetExtension"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`extension`\" pulumi-lang-dotnet=\"`Extension`\" pulumi-lang-go=\"`extension`\" pulumi-lang-python=\"`extension`\" pulumi-lang-yaml=\"`extension`\" pulumi-lang-java=\"`extension`\"\u003e`extension`\u003c/span\u003e blocks as defined below\n"},"extensionsTimeBudget":{"type":"string","description":"Specifies the duration allocated for all extensions to start. The time duration should be between \u003cspan pulumi-lang-nodejs=\"`15`\" pulumi-lang-dotnet=\"`15`\" pulumi-lang-go=\"`15`\" pulumi-lang-python=\"`15`\" pulumi-lang-yaml=\"`15`\" pulumi-lang-java=\"`15`\"\u003e`15`\u003c/span\u003e minutes and \u003cspan pulumi-lang-nodejs=\"`120`\" pulumi-lang-dotnet=\"`120`\" pulumi-lang-go=\"`120`\" pulumi-lang-python=\"`120`\" pulumi-lang-yaml=\"`120`\" pulumi-lang-java=\"`120`\"\u003e`120`\u003c/span\u003e minutes (inclusive) and should be specified in ISO 8601 format. Defaults to `PT1H30M`.\n"},"galleryApplications":{"type":"array","items":{"$ref":"#/types/azure:compute/LinuxVirtualMachineScaleSetGalleryApplication:LinuxVirtualMachineScaleSetGalleryApplication"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`galleryApplication`\" pulumi-lang-dotnet=\"`GalleryApplication`\" pulumi-lang-go=\"`galleryApplication`\" pulumi-lang-python=\"`gallery_application`\" pulumi-lang-yaml=\"`galleryApplication`\" pulumi-lang-java=\"`galleryApplication`\"\u003e`gallery_application`\u003c/span\u003e blocks as defined below.\n"},"healthProbeId":{"type":"string","description":"The ID of a Load Balancer Probe which should be used to determine the health of an instance. This is Required and can only be specified when \u003cspan pulumi-lang-nodejs=\"`upgradeMode`\" pulumi-lang-dotnet=\"`UpgradeMode`\" pulumi-lang-go=\"`upgradeMode`\" pulumi-lang-python=\"`upgrade_mode`\" pulumi-lang-yaml=\"`upgradeMode`\" pulumi-lang-java=\"`upgradeMode`\"\u003e`upgrade_mode`\u003c/span\u003e is set to `Automatic` or `Rolling`.\n"},"hostGroupId":{"type":"string","description":"Specifies the ID of the dedicated host group that the virtual machine scale set resides in. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"identity":{"$ref":"#/types/azure:compute/LinuxVirtualMachineScaleSetIdentity:LinuxVirtualMachineScaleSetIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"instances":{"type":"integer","description":"The number of Virtual Machines in the Scale Set. Defaults to \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n\n\u003e **NOTE:** If you're using AutoScaling, you may wish to use [`Ignore Changes` functionality](https://www.pulumi.com/docs/intro/concepts/programming-model/#ignorechanges) to ignore changes to this field.\n"},"location":{"type":"string","description":"The Azure location where the Linux Virtual Machine Scale Set should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"maxBidPrice":{"type":"number","description":"The maximum price you're willing to pay for each Virtual Machine in this Scale Set, in US Dollars; which must be greater than the current spot price. If this bid price falls below the current spot price the Virtual Machines in the Scale Set will be evicted using the \u003cspan pulumi-lang-nodejs=\"`evictionPolicy`\" pulumi-lang-dotnet=\"`EvictionPolicy`\" pulumi-lang-go=\"`evictionPolicy`\" pulumi-lang-python=\"`eviction_policy`\" pulumi-lang-yaml=\"`evictionPolicy`\" pulumi-lang-java=\"`evictionPolicy`\"\u003e`eviction_policy`\u003c/span\u003e. Defaults to `-1`, which means that each Virtual Machine in this Scale Set should not be evicted for price reasons.\n\n\u003e **Note:** This can only be configured when \u003cspan pulumi-lang-nodejs=\"`priority`\" pulumi-lang-dotnet=\"`Priority`\" pulumi-lang-go=\"`priority`\" pulumi-lang-python=\"`priority`\" pulumi-lang-yaml=\"`priority`\" pulumi-lang-java=\"`priority`\"\u003e`priority`\u003c/span\u003e is set to `Spot`.\n"},"name":{"type":"string","description":"The name of the Linux Virtual Machine Scale Set. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"networkInterfaces":{"type":"array","items":{"$ref":"#/types/azure:compute/LinuxVirtualMachineScaleSetNetworkInterface:LinuxVirtualMachineScaleSetNetworkInterface"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`networkInterface`\" pulumi-lang-dotnet=\"`NetworkInterface`\" pulumi-lang-go=\"`networkInterface`\" pulumi-lang-python=\"`network_interface`\" pulumi-lang-yaml=\"`networkInterface`\" pulumi-lang-java=\"`networkInterface`\"\u003e`network_interface`\u003c/span\u003e blocks as defined below.\n"},"osDisk":{"$ref":"#/types/azure:compute/LinuxVirtualMachineScaleSetOsDisk:LinuxVirtualMachineScaleSetOsDisk","description":"An \u003cspan pulumi-lang-nodejs=\"`osDisk`\" pulumi-lang-dotnet=\"`OsDisk`\" pulumi-lang-go=\"`osDisk`\" pulumi-lang-python=\"`os_disk`\" pulumi-lang-yaml=\"`osDisk`\" pulumi-lang-java=\"`osDisk`\"\u003e`os_disk`\u003c/span\u003e block as defined below.\n"},"overprovision":{"type":"boolean","description":"Should Azure over-provision Virtual Machines in this Scale Set? This means that multiple Virtual Machines will be provisioned and Azure will keep the instances which become available first - which improves provisioning success rates and improves deployment time. You're not billed for these over-provisioned VM's and they don't count towards the Subscription Quota. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"plan":{"$ref":"#/types/azure:compute/LinuxVirtualMachineScaleSetPlan:LinuxVirtualMachineScaleSetPlan","description":"A \u003cspan pulumi-lang-nodejs=\"`plan`\" pulumi-lang-dotnet=\"`Plan`\" pulumi-lang-go=\"`plan`\" pulumi-lang-python=\"`plan`\" pulumi-lang-yaml=\"`plan`\" pulumi-lang-java=\"`plan`\"\u003e`plan`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n\n\u003e **Note:** When using an image from Azure Marketplace a \u003cspan pulumi-lang-nodejs=\"`plan`\" pulumi-lang-dotnet=\"`Plan`\" pulumi-lang-go=\"`plan`\" pulumi-lang-python=\"`plan`\" pulumi-lang-yaml=\"`plan`\" pulumi-lang-java=\"`plan`\"\u003e`plan`\u003c/span\u003e must be specified.\n","willReplaceOnChanges":true},"platformFaultDomainCount":{"type":"integer","description":"Specifies the number of fault domains that are used by this Linux Virtual Machine Scale Set. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"priority":{"type":"string","description":"The Priority of this Virtual Machine Scale Set. Possible values are `Regular` and `Spot`. Defaults to `Regular`. Changing this value forces a new resource.\n\n\u003e **Note:** When \u003cspan pulumi-lang-nodejs=\"`priority`\" pulumi-lang-dotnet=\"`Priority`\" pulumi-lang-go=\"`priority`\" pulumi-lang-python=\"`priority`\" pulumi-lang-yaml=\"`priority`\" pulumi-lang-java=\"`priority`\"\u003e`priority`\u003c/span\u003e is set to `Spot` an \u003cspan pulumi-lang-nodejs=\"`evictionPolicy`\" pulumi-lang-dotnet=\"`EvictionPolicy`\" pulumi-lang-go=\"`evictionPolicy`\" pulumi-lang-python=\"`eviction_policy`\" pulumi-lang-yaml=\"`evictionPolicy`\" pulumi-lang-java=\"`evictionPolicy`\"\u003e`eviction_policy`\u003c/span\u003e must be specified.\n","willReplaceOnChanges":true},"provisionVmAgent":{"type":"boolean","description":"Should the Azure VM Agent be provisioned on each Virtual Machine in the Scale Set? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e. Changing this value forces a new resource to be created.\n","willReplaceOnChanges":true},"proximityPlacementGroupId":{"type":"string","description":"The ID of the Proximity Placement Group in which the Virtual Machine Scale Set should be assigned to. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resilientVmCreationEnabled":{"type":"boolean","description":"Should resilient VM creation be enabled? When enabled, the service will attempt to create VMs in alternative fault domains or zones if the primary location fails during creation. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`resilientVmCreationEnabled`\" pulumi-lang-dotnet=\"`ResilientVmCreationEnabled`\" pulumi-lang-go=\"`resilientVmCreationEnabled`\" pulumi-lang-python=\"`resilient_vm_creation_enabled`\" pulumi-lang-yaml=\"`resilientVmCreationEnabled`\" pulumi-lang-java=\"`resilientVmCreationEnabled`\"\u003e`resilient_vm_creation_enabled`\u003c/span\u003e is currently not supported in the \u003cspan pulumi-lang-nodejs=\"`austriaeast`\" pulumi-lang-dotnet=\"`Austriaeast`\" pulumi-lang-go=\"`austriaeast`\" pulumi-lang-python=\"`austriaeast`\" pulumi-lang-yaml=\"`austriaeast`\" pulumi-lang-java=\"`austriaeast`\"\u003e`austriaeast`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`belgiumcentral`\" pulumi-lang-dotnet=\"`Belgiumcentral`\" pulumi-lang-go=\"`belgiumcentral`\" pulumi-lang-python=\"`belgiumcentral`\" pulumi-lang-yaml=\"`belgiumcentral`\" pulumi-lang-java=\"`belgiumcentral`\"\u003e`belgiumcentral`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`centraluseuap`\" pulumi-lang-dotnet=\"`Centraluseuap`\" pulumi-lang-go=\"`centraluseuap`\" pulumi-lang-python=\"`centraluseuap`\" pulumi-lang-yaml=\"`centraluseuap`\" pulumi-lang-java=\"`centraluseuap`\"\u003e`centraluseuap`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`chilecentral`\" pulumi-lang-dotnet=\"`Chilecentral`\" pulumi-lang-go=\"`chilecentral`\" pulumi-lang-python=\"`chilecentral`\" pulumi-lang-yaml=\"`chilecentral`\" pulumi-lang-java=\"`chilecentral`\"\u003e`chilecentral`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`indonesiacentral`\" pulumi-lang-dotnet=\"`Indonesiacentral`\" pulumi-lang-go=\"`indonesiacentral`\" pulumi-lang-python=\"`indonesiacentral`\" pulumi-lang-yaml=\"`indonesiacentral`\" pulumi-lang-java=\"`indonesiacentral`\"\u003e`indonesiacentral`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`israelnorthwest`\" pulumi-lang-dotnet=\"`Israelnorthwest`\" pulumi-lang-go=\"`israelnorthwest`\" pulumi-lang-python=\"`israelnorthwest`\" pulumi-lang-yaml=\"`israelnorthwest`\" pulumi-lang-java=\"`israelnorthwest`\"\u003e`israelnorthwest`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`malaysiawest`\" pulumi-lang-dotnet=\"`Malaysiawest`\" pulumi-lang-go=\"`malaysiawest`\" pulumi-lang-python=\"`malaysiawest`\" pulumi-lang-yaml=\"`malaysiawest`\" pulumi-lang-java=\"`malaysiawest`\"\u003e`malaysiawest`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`mexicocentral`\" pulumi-lang-dotnet=\"`Mexicocentral`\" pulumi-lang-go=\"`mexicocentral`\" pulumi-lang-python=\"`mexicocentral`\" pulumi-lang-yaml=\"`mexicocentral`\" pulumi-lang-java=\"`mexicocentral`\"\u003e`mexicocentral`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`newzealandnorth`\" pulumi-lang-dotnet=\"`Newzealandnorth`\" pulumi-lang-go=\"`newzealandnorth`\" pulumi-lang-python=\"`newzealandnorth`\" pulumi-lang-yaml=\"`newzealandnorth`\" pulumi-lang-java=\"`newzealandnorth`\"\u003e`newzealandnorth`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`southcentralus2`\" pulumi-lang-dotnet=\"`Southcentralus2`\" pulumi-lang-go=\"`southcentralus2`\" pulumi-lang-python=\"`southcentralus2`\" pulumi-lang-yaml=\"`southcentralus2`\" pulumi-lang-java=\"`southcentralus2`\"\u003e`southcentralus2`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`southindia`\" pulumi-lang-dotnet=\"`Southindia`\" pulumi-lang-go=\"`southindia`\" pulumi-lang-python=\"`southindia`\" pulumi-lang-yaml=\"`southindia`\" pulumi-lang-java=\"`southindia`\"\u003e`southindia`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`southeastus3`\" pulumi-lang-dotnet=\"`Southeastus3`\" pulumi-lang-go=\"`southeastus3`\" pulumi-lang-python=\"`southeastus3`\" pulumi-lang-yaml=\"`southeastus3`\" pulumi-lang-java=\"`southeastus3`\"\u003e`southeastus3`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`southwestus`\" pulumi-lang-dotnet=\"`Southwestus`\" pulumi-lang-go=\"`southwestus`\" pulumi-lang-python=\"`southwestus`\" pulumi-lang-yaml=\"`southwestus`\" pulumi-lang-java=\"`southwestus`\"\u003e`southwestus`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`eastasia`\" pulumi-lang-dotnet=\"`Eastasia`\" pulumi-lang-go=\"`eastasia`\" pulumi-lang-python=\"`eastasia`\" pulumi-lang-yaml=\"`eastasia`\" pulumi-lang-java=\"`eastasia`\"\u003e`eastasia`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`eastus`\" pulumi-lang-dotnet=\"`Eastus`\" pulumi-lang-go=\"`eastus`\" pulumi-lang-python=\"`eastus`\" pulumi-lang-yaml=\"`eastus`\" pulumi-lang-java=\"`eastus`\"\u003e`eastus`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`southcentralus`\" pulumi-lang-dotnet=\"`Southcentralus`\" pulumi-lang-go=\"`southcentralus`\" pulumi-lang-python=\"`southcentralus`\" pulumi-lang-yaml=\"`southcentralus`\" pulumi-lang-java=\"`southcentralus`\"\u003e`southcentralus`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`southeastasia`\" pulumi-lang-dotnet=\"`Southeastasia`\" pulumi-lang-go=\"`southeastasia`\" pulumi-lang-python=\"`southeastasia`\" pulumi-lang-yaml=\"`southeastasia`\" pulumi-lang-java=\"`southeastasia`\"\u003e`southeastasia`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`westeurope`\" pulumi-lang-dotnet=\"`Westeurope`\" pulumi-lang-go=\"`westeurope`\" pulumi-lang-python=\"`westeurope`\" pulumi-lang-yaml=\"`westeurope`\" pulumi-lang-java=\"`westeurope`\"\u003e`westeurope`\u003c/span\u003e regions.\n"},"resilientVmDeletionEnabled":{"type":"boolean","description":"Should resilient VM deletion be enabled? When enabled, the service will use a more resilient deletion process that attempts to gracefully handle failures during VM termination. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`resilientVmDeletionEnabled`\" pulumi-lang-dotnet=\"`ResilientVmDeletionEnabled`\" pulumi-lang-go=\"`resilientVmDeletionEnabled`\" pulumi-lang-python=\"`resilient_vm_deletion_enabled`\" pulumi-lang-yaml=\"`resilientVmDeletionEnabled`\" pulumi-lang-java=\"`resilientVmDeletionEnabled`\"\u003e`resilient_vm_deletion_enabled`\u003c/span\u003e is currently not supported in the \u003cspan pulumi-lang-nodejs=\"`austriaeast`\" pulumi-lang-dotnet=\"`Austriaeast`\" pulumi-lang-go=\"`austriaeast`\" pulumi-lang-python=\"`austriaeast`\" pulumi-lang-yaml=\"`austriaeast`\" pulumi-lang-java=\"`austriaeast`\"\u003e`austriaeast`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`belgiumcentral`\" pulumi-lang-dotnet=\"`Belgiumcentral`\" pulumi-lang-go=\"`belgiumcentral`\" pulumi-lang-python=\"`belgiumcentral`\" pulumi-lang-yaml=\"`belgiumcentral`\" pulumi-lang-java=\"`belgiumcentral`\"\u003e`belgiumcentral`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`centraluseuap`\" pulumi-lang-dotnet=\"`Centraluseuap`\" pulumi-lang-go=\"`centraluseuap`\" pulumi-lang-python=\"`centraluseuap`\" pulumi-lang-yaml=\"`centraluseuap`\" pulumi-lang-java=\"`centraluseuap`\"\u003e`centraluseuap`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`chilecentral`\" pulumi-lang-dotnet=\"`Chilecentral`\" pulumi-lang-go=\"`chilecentral`\" pulumi-lang-python=\"`chilecentral`\" pulumi-lang-yaml=\"`chilecentral`\" pulumi-lang-java=\"`chilecentral`\"\u003e`chilecentral`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`indonesiacentral`\" pulumi-lang-dotnet=\"`Indonesiacentral`\" pulumi-lang-go=\"`indonesiacentral`\" pulumi-lang-python=\"`indonesiacentral`\" pulumi-lang-yaml=\"`indonesiacentral`\" pulumi-lang-java=\"`indonesiacentral`\"\u003e`indonesiacentral`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`israelnorthwest`\" pulumi-lang-dotnet=\"`Israelnorthwest`\" pulumi-lang-go=\"`israelnorthwest`\" pulumi-lang-python=\"`israelnorthwest`\" pulumi-lang-yaml=\"`israelnorthwest`\" pulumi-lang-java=\"`israelnorthwest`\"\u003e`israelnorthwest`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`malaysiawest`\" pulumi-lang-dotnet=\"`Malaysiawest`\" pulumi-lang-go=\"`malaysiawest`\" pulumi-lang-python=\"`malaysiawest`\" pulumi-lang-yaml=\"`malaysiawest`\" pulumi-lang-java=\"`malaysiawest`\"\u003e`malaysiawest`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`mexicocentral`\" pulumi-lang-dotnet=\"`Mexicocentral`\" pulumi-lang-go=\"`mexicocentral`\" pulumi-lang-python=\"`mexicocentral`\" pulumi-lang-yaml=\"`mexicocentral`\" pulumi-lang-java=\"`mexicocentral`\"\u003e`mexicocentral`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`newzealandnorth`\" pulumi-lang-dotnet=\"`Newzealandnorth`\" pulumi-lang-go=\"`newzealandnorth`\" pulumi-lang-python=\"`newzealandnorth`\" pulumi-lang-yaml=\"`newzealandnorth`\" pulumi-lang-java=\"`newzealandnorth`\"\u003e`newzealandnorth`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`southcentralus2`\" pulumi-lang-dotnet=\"`Southcentralus2`\" pulumi-lang-go=\"`southcentralus2`\" pulumi-lang-python=\"`southcentralus2`\" pulumi-lang-yaml=\"`southcentralus2`\" pulumi-lang-java=\"`southcentralus2`\"\u003e`southcentralus2`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`southindia`\" pulumi-lang-dotnet=\"`Southindia`\" pulumi-lang-go=\"`southindia`\" pulumi-lang-python=\"`southindia`\" pulumi-lang-yaml=\"`southindia`\" pulumi-lang-java=\"`southindia`\"\u003e`southindia`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`southeastus3`\" pulumi-lang-dotnet=\"`Southeastus3`\" pulumi-lang-go=\"`southeastus3`\" pulumi-lang-python=\"`southeastus3`\" pulumi-lang-yaml=\"`southeastus3`\" pulumi-lang-java=\"`southeastus3`\"\u003e`southeastus3`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`southwestus`\" pulumi-lang-dotnet=\"`Southwestus`\" pulumi-lang-go=\"`southwestus`\" pulumi-lang-python=\"`southwestus`\" pulumi-lang-yaml=\"`southwestus`\" pulumi-lang-java=\"`southwestus`\"\u003e`southwestus`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`eastasia`\" pulumi-lang-dotnet=\"`Eastasia`\" pulumi-lang-go=\"`eastasia`\" pulumi-lang-python=\"`eastasia`\" pulumi-lang-yaml=\"`eastasia`\" pulumi-lang-java=\"`eastasia`\"\u003e`eastasia`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`eastus`\" pulumi-lang-dotnet=\"`Eastus`\" pulumi-lang-go=\"`eastus`\" pulumi-lang-python=\"`eastus`\" pulumi-lang-yaml=\"`eastus`\" pulumi-lang-java=\"`eastus`\"\u003e`eastus`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`southcentralus`\" pulumi-lang-dotnet=\"`Southcentralus`\" pulumi-lang-go=\"`southcentralus`\" pulumi-lang-python=\"`southcentralus`\" pulumi-lang-yaml=\"`southcentralus`\" pulumi-lang-java=\"`southcentralus`\"\u003e`southcentralus`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`southeastasia`\" pulumi-lang-dotnet=\"`Southeastasia`\" pulumi-lang-go=\"`southeastasia`\" pulumi-lang-python=\"`southeastasia`\" pulumi-lang-yaml=\"`southeastasia`\" pulumi-lang-java=\"`southeastasia`\"\u003e`southeastasia`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`westeurope`\" pulumi-lang-dotnet=\"`Westeurope`\" pulumi-lang-go=\"`westeurope`\" pulumi-lang-python=\"`westeurope`\" pulumi-lang-yaml=\"`westeurope`\" pulumi-lang-java=\"`westeurope`\"\u003e`westeurope`\u003c/span\u003e regions.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group in which the Linux Virtual Machine Scale Set should be exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"rollingUpgradePolicy":{"$ref":"#/types/azure:compute/LinuxVirtualMachineScaleSetRollingUpgradePolicy:LinuxVirtualMachineScaleSetRollingUpgradePolicy","description":"A \u003cspan pulumi-lang-nodejs=\"`rollingUpgradePolicy`\" pulumi-lang-dotnet=\"`RollingUpgradePolicy`\" pulumi-lang-go=\"`rollingUpgradePolicy`\" pulumi-lang-python=\"`rolling_upgrade_policy`\" pulumi-lang-yaml=\"`rollingUpgradePolicy`\" pulumi-lang-java=\"`rollingUpgradePolicy`\"\u003e`rolling_upgrade_policy`\u003c/span\u003e block as defined below. This is Required and can only be specified when \u003cspan pulumi-lang-nodejs=\"`upgradeMode`\" pulumi-lang-dotnet=\"`UpgradeMode`\" pulumi-lang-go=\"`upgradeMode`\" pulumi-lang-python=\"`upgrade_mode`\" pulumi-lang-yaml=\"`upgradeMode`\" pulumi-lang-java=\"`upgradeMode`\"\u003e`upgrade_mode`\u003c/span\u003e is set to `Automatic` or `Rolling`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"scaleIn":{"$ref":"#/types/azure:compute/LinuxVirtualMachineScaleSetScaleIn:LinuxVirtualMachineScaleSetScaleIn","description":"A \u003cspan pulumi-lang-nodejs=\"`scaleIn`\" pulumi-lang-dotnet=\"`ScaleIn`\" pulumi-lang-go=\"`scaleIn`\" pulumi-lang-python=\"`scale_in`\" pulumi-lang-yaml=\"`scaleIn`\" pulumi-lang-java=\"`scaleIn`\"\u003e`scale_in`\u003c/span\u003e block as defined below.\n"},"secrets":{"type":"array","items":{"$ref":"#/types/azure:compute/LinuxVirtualMachineScaleSetSecret:LinuxVirtualMachineScaleSetSecret"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`secret`\" pulumi-lang-dotnet=\"`Secret`\" pulumi-lang-go=\"`secret`\" pulumi-lang-python=\"`secret`\" pulumi-lang-yaml=\"`secret`\" pulumi-lang-java=\"`secret`\"\u003e`secret`\u003c/span\u003e blocks as defined below.\n"},"secureBootEnabled":{"type":"boolean","description":"Specifies whether secure boot should be enabled on the virtual machine. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"singlePlacementGroup":{"type":"boolean","description":"Should this Virtual Machine Scale Set be limited to a Single Placement Group, which means the number of instances will be capped at 100 Virtual Machines. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"sku":{"type":"string","description":"The Virtual Machine SKU for the Scale Set, such as `Standard_F2`.\n"},"sourceImageId":{"type":"string","description":"The ID of an Image which each Virtual Machine in this Scale Set should be based on. Possible Image ID types include `Image ID`, `Shared Image ID`, `Shared Image Version ID`, `Community Gallery Image ID`, `Community Gallery Image Version ID`, `Shared Gallery Image ID` and `Shared Gallery Image Version ID`.\n\n\u003e **Note:** One of either \u003cspan pulumi-lang-nodejs=\"`sourceImageId`\" pulumi-lang-dotnet=\"`SourceImageId`\" pulumi-lang-go=\"`sourceImageId`\" pulumi-lang-python=\"`source_image_id`\" pulumi-lang-yaml=\"`sourceImageId`\" pulumi-lang-java=\"`sourceImageId`\"\u003e`source_image_id`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`sourceImageReference`\" pulumi-lang-dotnet=\"`SourceImageReference`\" pulumi-lang-go=\"`sourceImageReference`\" pulumi-lang-python=\"`source_image_reference`\" pulumi-lang-yaml=\"`sourceImageReference`\" pulumi-lang-java=\"`sourceImageReference`\"\u003e`source_image_reference`\u003c/span\u003e must be set.\n"},"sourceImageReference":{"$ref":"#/types/azure:compute/LinuxVirtualMachineScaleSetSourceImageReference:LinuxVirtualMachineScaleSetSourceImageReference","description":"A \u003cspan pulumi-lang-nodejs=\"`sourceImageReference`\" pulumi-lang-dotnet=\"`SourceImageReference`\" pulumi-lang-go=\"`sourceImageReference`\" pulumi-lang-python=\"`source_image_reference`\" pulumi-lang-yaml=\"`sourceImageReference`\" pulumi-lang-java=\"`sourceImageReference`\"\u003e`source_image_reference`\u003c/span\u003e block as defined below.\n\n\u003e **Note:** One of either \u003cspan pulumi-lang-nodejs=\"`sourceImageId`\" pulumi-lang-dotnet=\"`SourceImageId`\" pulumi-lang-go=\"`sourceImageId`\" pulumi-lang-python=\"`source_image_id`\" pulumi-lang-yaml=\"`sourceImageId`\" pulumi-lang-java=\"`sourceImageId`\"\u003e`source_image_id`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`sourceImageReference`\" pulumi-lang-dotnet=\"`SourceImageReference`\" pulumi-lang-go=\"`sourceImageReference`\" pulumi-lang-python=\"`source_image_reference`\" pulumi-lang-yaml=\"`sourceImageReference`\" pulumi-lang-java=\"`sourceImageReference`\"\u003e`source_image_reference`\u003c/span\u003e must be set.\n"},"spotRestore":{"$ref":"#/types/azure:compute/LinuxVirtualMachineScaleSetSpotRestore:LinuxVirtualMachineScaleSetSpotRestore","description":"A \u003cspan pulumi-lang-nodejs=\"`spotRestore`\" pulumi-lang-dotnet=\"`SpotRestore`\" pulumi-lang-go=\"`spotRestore`\" pulumi-lang-python=\"`spot_restore`\" pulumi-lang-yaml=\"`spotRestore`\" pulumi-lang-java=\"`spotRestore`\"\u003e`spot_restore`\u003c/span\u003e block as defined below.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to this Virtual Machine Scale Set.\n"},"terminationNotification":{"$ref":"#/types/azure:compute/LinuxVirtualMachineScaleSetTerminationNotification:LinuxVirtualMachineScaleSetTerminationNotification","description":"A \u003cspan pulumi-lang-nodejs=\"`terminationNotification`\" pulumi-lang-dotnet=\"`TerminationNotification`\" pulumi-lang-go=\"`terminationNotification`\" pulumi-lang-python=\"`termination_notification`\" pulumi-lang-yaml=\"`terminationNotification`\" pulumi-lang-java=\"`terminationNotification`\"\u003e`termination_notification`\u003c/span\u003e block as defined below.\n"},"upgradeMode":{"type":"string","description":"Specifies how Upgrades (e.g. changing the Image/SKU) should be performed to Virtual Machine Instances. Possible values are `Automatic`, `Manual` and `Rolling`. Defaults to `Manual`. Changing this forces a new resource to be created.\n\n\u003e **Note:** If rolling upgrades are configured and running on a Linux Virtual Machine Scale Set, they will be cancelled when Terraform tries to destroy the resource.\n","willReplaceOnChanges":true},"userData":{"type":"string","description":"The Base64-Encoded User Data which should be used for this Virtual Machine Scale Set.\n"},"vtpmEnabled":{"type":"boolean","description":"Specifies whether vTPM should be enabled on the virtual machine. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"zoneBalance":{"type":"boolean","description":"Should the Virtual Machines in this Scale Set be strictly evenly distributed across Availability Zones? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Changing this forces a new resource to be created.\n\n\u003e **Note:** This can only be set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e when one or more \u003cspan pulumi-lang-nodejs=\"`zones`\" pulumi-lang-dotnet=\"`Zones`\" pulumi-lang-go=\"`zones`\" pulumi-lang-python=\"`zones`\" pulumi-lang-yaml=\"`zones`\" pulumi-lang-java=\"`zones`\"\u003e`zones`\u003c/span\u003e are configured.\n","willReplaceOnChanges":true},"zones":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Availability Zones in which this Linux Virtual Machine Scale Set should be located.\n\n\u003e **Note:** Updating \u003cspan pulumi-lang-nodejs=\"`zones`\" pulumi-lang-dotnet=\"`Zones`\" pulumi-lang-go=\"`zones`\" pulumi-lang-python=\"`zones`\" pulumi-lang-yaml=\"`zones`\" pulumi-lang-java=\"`zones`\"\u003e`zones`\u003c/span\u003e to remove an existing zone forces a new Virtual Machine Scale Set to be created.\n"}},"requiredInputs":["adminUsername","networkInterfaces","osDisk","resourceGroupName","sku"],"stateInputs":{"description":"Input properties used for looking up and filtering LinuxVirtualMachineScaleSet resources.\n","properties":{"additionalCapabilities":{"$ref":"#/types/azure:compute/LinuxVirtualMachineScaleSetAdditionalCapabilities:LinuxVirtualMachineScaleSetAdditionalCapabilities","description":"An \u003cspan pulumi-lang-nodejs=\"`additionalCapabilities`\" pulumi-lang-dotnet=\"`AdditionalCapabilities`\" pulumi-lang-go=\"`additionalCapabilities`\" pulumi-lang-python=\"`additional_capabilities`\" pulumi-lang-yaml=\"`additionalCapabilities`\" pulumi-lang-java=\"`additionalCapabilities`\"\u003e`additional_capabilities`\u003c/span\u003e block as defined below.\n"},"adminPassword":{"type":"string","description":"The Password which should be used for the local-administrator on this Virtual Machine. Changing this forces a new resource to be created.\n\n\u003e **Note:** When an \u003cspan pulumi-lang-nodejs=\"`adminPassword`\" pulumi-lang-dotnet=\"`AdminPassword`\" pulumi-lang-go=\"`adminPassword`\" pulumi-lang-python=\"`admin_password`\" pulumi-lang-yaml=\"`adminPassword`\" pulumi-lang-java=\"`adminPassword`\"\u003e`admin_password`\u003c/span\u003e is specified \u003cspan pulumi-lang-nodejs=\"`disablePasswordAuthentication`\" pulumi-lang-dotnet=\"`DisablePasswordAuthentication`\" pulumi-lang-go=\"`disablePasswordAuthentication`\" pulumi-lang-python=\"`disable_password_authentication`\" pulumi-lang-yaml=\"`disablePasswordAuthentication`\" pulumi-lang-java=\"`disablePasswordAuthentication`\"\u003e`disable_password_authentication`\u003c/span\u003e must be set to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** One of either \u003cspan pulumi-lang-nodejs=\"`adminPassword`\" pulumi-lang-dotnet=\"`AdminPassword`\" pulumi-lang-go=\"`adminPassword`\" pulumi-lang-python=\"`admin_password`\" pulumi-lang-yaml=\"`adminPassword`\" pulumi-lang-java=\"`adminPassword`\"\u003e`admin_password`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`adminSshKey`\" pulumi-lang-dotnet=\"`AdminSshKey`\" pulumi-lang-go=\"`adminSshKey`\" pulumi-lang-python=\"`admin_ssh_key`\" pulumi-lang-yaml=\"`adminSshKey`\" pulumi-lang-java=\"`adminSshKey`\"\u003e`admin_ssh_key`\u003c/span\u003e must be specified.\n","secret":true,"willReplaceOnChanges":true},"adminSshKeys":{"type":"array","items":{"$ref":"#/types/azure:compute/LinuxVirtualMachineScaleSetAdminSshKey:LinuxVirtualMachineScaleSetAdminSshKey"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`adminSshKey`\" pulumi-lang-dotnet=\"`AdminSshKey`\" pulumi-lang-go=\"`adminSshKey`\" pulumi-lang-python=\"`admin_ssh_key`\" pulumi-lang-yaml=\"`adminSshKey`\" pulumi-lang-java=\"`adminSshKey`\"\u003e`admin_ssh_key`\u003c/span\u003e blocks as defined below.\n\n\u003e **Note:** One of either \u003cspan pulumi-lang-nodejs=\"`adminPassword`\" pulumi-lang-dotnet=\"`AdminPassword`\" pulumi-lang-go=\"`adminPassword`\" pulumi-lang-python=\"`admin_password`\" pulumi-lang-yaml=\"`adminPassword`\" pulumi-lang-java=\"`adminPassword`\"\u003e`admin_password`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`adminSshKey`\" pulumi-lang-dotnet=\"`AdminSshKey`\" pulumi-lang-go=\"`adminSshKey`\" pulumi-lang-python=\"`admin_ssh_key`\" pulumi-lang-yaml=\"`adminSshKey`\" pulumi-lang-java=\"`adminSshKey`\"\u003e`admin_ssh_key`\u003c/span\u003e must be specified.\n"},"adminUsername":{"type":"string","description":"The username of the local administrator on each Virtual Machine Scale Set instance. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"automaticInstanceRepair":{"$ref":"#/types/azure:compute/LinuxVirtualMachineScaleSetAutomaticInstanceRepair:LinuxVirtualMachineScaleSetAutomaticInstanceRepair","description":"An \u003cspan pulumi-lang-nodejs=\"`automaticInstanceRepair`\" pulumi-lang-dotnet=\"`AutomaticInstanceRepair`\" pulumi-lang-go=\"`automaticInstanceRepair`\" pulumi-lang-python=\"`automatic_instance_repair`\" pulumi-lang-yaml=\"`automaticInstanceRepair`\" pulumi-lang-java=\"`automaticInstanceRepair`\"\u003e`automatic_instance_repair`\u003c/span\u003e block as defined below. To enable the automatic instance repair, this Virtual Machine Scale Set must have a valid \u003cspan pulumi-lang-nodejs=\"`healthProbeId`\" pulumi-lang-dotnet=\"`HealthProbeId`\" pulumi-lang-go=\"`healthProbeId`\" pulumi-lang-python=\"`health_probe_id`\" pulumi-lang-yaml=\"`healthProbeId`\" pulumi-lang-java=\"`healthProbeId`\"\u003e`health_probe_id`\u003c/span\u003e or an [Application Health Extension](https://docs.microsoft.com/azure/virtual-machine-scale-sets/virtual-machine-scale-sets-health-extension).\n\n\u003e **Note:** For more information about Automatic Instance Repair, please refer to the [product documentation](https://docs.microsoft.com/azure/virtual-machine-scale-sets/virtual-machine-scale-sets-automatic-instance-repairs).\n"},"automaticOsUpgradePolicy":{"$ref":"#/types/azure:compute/LinuxVirtualMachineScaleSetAutomaticOsUpgradePolicy:LinuxVirtualMachineScaleSetAutomaticOsUpgradePolicy","description":"An \u003cspan pulumi-lang-nodejs=\"`automaticOsUpgradePolicy`\" pulumi-lang-dotnet=\"`AutomaticOsUpgradePolicy`\" pulumi-lang-go=\"`automaticOsUpgradePolicy`\" pulumi-lang-python=\"`automatic_os_upgrade_policy`\" pulumi-lang-yaml=\"`automaticOsUpgradePolicy`\" pulumi-lang-java=\"`automaticOsUpgradePolicy`\"\u003e`automatic_os_upgrade_policy`\u003c/span\u003e block as defined below. This can only be specified when \u003cspan pulumi-lang-nodejs=\"`upgradeMode`\" pulumi-lang-dotnet=\"`UpgradeMode`\" pulumi-lang-go=\"`upgradeMode`\" pulumi-lang-python=\"`upgrade_mode`\" pulumi-lang-yaml=\"`upgradeMode`\" pulumi-lang-java=\"`upgradeMode`\"\u003e`upgrade_mode`\u003c/span\u003e is set to either `Automatic` or `Rolling`.\n"},"bootDiagnostics":{"$ref":"#/types/azure:compute/LinuxVirtualMachineScaleSetBootDiagnostics:LinuxVirtualMachineScaleSetBootDiagnostics","description":"A \u003cspan pulumi-lang-nodejs=\"`bootDiagnostics`\" pulumi-lang-dotnet=\"`BootDiagnostics`\" pulumi-lang-go=\"`bootDiagnostics`\" pulumi-lang-python=\"`boot_diagnostics`\" pulumi-lang-yaml=\"`bootDiagnostics`\" pulumi-lang-java=\"`bootDiagnostics`\"\u003e`boot_diagnostics`\u003c/span\u003e block as defined below.\n"},"capacityReservationGroupId":{"type":"string","description":"Specifies the ID of the Capacity Reservation Group which the Virtual Machine Scale Set should be allocated to. Changing this forces a new resource to be created.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`capacityReservationGroupId`\" pulumi-lang-dotnet=\"`CapacityReservationGroupId`\" pulumi-lang-go=\"`capacityReservationGroupId`\" pulumi-lang-python=\"`capacity_reservation_group_id`\" pulumi-lang-yaml=\"`capacityReservationGroupId`\" pulumi-lang-java=\"`capacityReservationGroupId`\"\u003e`capacity_reservation_group_id`\u003c/span\u003e cannot be used with \u003cspan pulumi-lang-nodejs=\"`proximityPlacementGroupId`\" pulumi-lang-dotnet=\"`ProximityPlacementGroupId`\" pulumi-lang-go=\"`proximityPlacementGroupId`\" pulumi-lang-python=\"`proximity_placement_group_id`\" pulumi-lang-yaml=\"`proximityPlacementGroupId`\" pulumi-lang-java=\"`proximityPlacementGroupId`\"\u003e`proximity_placement_group_id`\u003c/span\u003e\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`singlePlacementGroup`\" pulumi-lang-dotnet=\"`SinglePlacementGroup`\" pulumi-lang-go=\"`singlePlacementGroup`\" pulumi-lang-python=\"`single_placement_group`\" pulumi-lang-yaml=\"`singlePlacementGroup`\" pulumi-lang-java=\"`singlePlacementGroup`\"\u003e`single_placement_group`\u003c/span\u003e must be set to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e when \u003cspan pulumi-lang-nodejs=\"`capacityReservationGroupId`\" pulumi-lang-dotnet=\"`CapacityReservationGroupId`\" pulumi-lang-go=\"`capacityReservationGroupId`\" pulumi-lang-python=\"`capacity_reservation_group_id`\" pulumi-lang-yaml=\"`capacityReservationGroupId`\" pulumi-lang-java=\"`capacityReservationGroupId`\"\u003e`capacity_reservation_group_id`\u003c/span\u003e is specified.\n","willReplaceOnChanges":true},"computerNamePrefix":{"type":"string","description":"The prefix which should be used for the name of the Virtual Machines in this Scale Set. If unspecified this defaults to the value for the \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e field. If the value of the \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e field is not a valid \u003cspan pulumi-lang-nodejs=\"`computerNamePrefix`\" pulumi-lang-dotnet=\"`ComputerNamePrefix`\" pulumi-lang-go=\"`computerNamePrefix`\" pulumi-lang-python=\"`computer_name_prefix`\" pulumi-lang-yaml=\"`computerNamePrefix`\" pulumi-lang-java=\"`computerNamePrefix`\"\u003e`computer_name_prefix`\u003c/span\u003e, then you must specify \u003cspan pulumi-lang-nodejs=\"`computerNamePrefix`\" pulumi-lang-dotnet=\"`ComputerNamePrefix`\" pulumi-lang-go=\"`computerNamePrefix`\" pulumi-lang-python=\"`computer_name_prefix`\" pulumi-lang-yaml=\"`computerNamePrefix`\" pulumi-lang-java=\"`computerNamePrefix`\"\u003e`computer_name_prefix`\u003c/span\u003e. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"customData":{"type":"string","description":"The Base64-Encoded Custom Data which should be used for this Virtual Machine Scale Set.\n\n\u003e **Note:** When Custom Data has been configured, it's not possible to remove it without tainting the Virtual Machine Scale Set, due to a limitation of the Azure API.\n","secret":true},"dataDisks":{"type":"array","items":{"$ref":"#/types/azure:compute/LinuxVirtualMachineScaleSetDataDisk:LinuxVirtualMachineScaleSetDataDisk"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`dataDisk`\" pulumi-lang-dotnet=\"`DataDisk`\" pulumi-lang-go=\"`dataDisk`\" pulumi-lang-python=\"`data_disk`\" pulumi-lang-yaml=\"`dataDisk`\" pulumi-lang-java=\"`dataDisk`\"\u003e`data_disk`\u003c/span\u003e blocks as defined below.\n"},"disablePasswordAuthentication":{"type":"boolean","description":"Should Password Authentication be disabled on this Virtual Machine Scale Set? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n\n\u003e **Note:** In general we'd recommend using SSH Keys for authentication rather than Passwords - but there's tradeoff's to each - please [see this thread for more information](https://security.stackexchange.com/questions/69407/why-is-using-an-ssh-key-more-secure-than-using-passwords).\n\n\u003e **Note:** When a \u003cspan pulumi-lang-nodejs=\"`adminPassword`\" pulumi-lang-dotnet=\"`AdminPassword`\" pulumi-lang-go=\"`adminPassword`\" pulumi-lang-python=\"`admin_password`\" pulumi-lang-yaml=\"`adminPassword`\" pulumi-lang-java=\"`adminPassword`\"\u003e`admin_password`\u003c/span\u003e is specified \u003cspan pulumi-lang-nodejs=\"`disablePasswordAuthentication`\" pulumi-lang-dotnet=\"`DisablePasswordAuthentication`\" pulumi-lang-go=\"`disablePasswordAuthentication`\" pulumi-lang-python=\"`disable_password_authentication`\" pulumi-lang-yaml=\"`disablePasswordAuthentication`\" pulumi-lang-java=\"`disablePasswordAuthentication`\"\u003e`disable_password_authentication`\u003c/span\u003e must be set to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"doNotRunExtensionsOnOverprovisionedMachines":{"type":"boolean","description":"Should Virtual Machine Extensions be run on Overprovisioned Virtual Machines in the Scale Set? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"edgeZone":{"type":"string","description":"Specifies the Edge Zone within the Azure Region where this Linux Virtual Machine Scale Set should exist. Changing this forces a new Linux Virtual Machine Scale Set to be created.\n","willReplaceOnChanges":true},"encryptionAtHostEnabled":{"type":"boolean","description":"Should all of the disks (including the temp disk) attached to this Virtual Machine be encrypted by enabling Encryption at Host?\n"},"evictionPolicy":{"type":"string","description":"Specifies the eviction policy for Virtual Machines in this Scale Set. Possible values are `Deallocate` and `Delete`. Changing this forces a new resource to be created.\n\n\u003e **Note:** This can only be configured when \u003cspan pulumi-lang-nodejs=\"`priority`\" pulumi-lang-dotnet=\"`Priority`\" pulumi-lang-go=\"`priority`\" pulumi-lang-python=\"`priority`\" pulumi-lang-yaml=\"`priority`\" pulumi-lang-java=\"`priority`\"\u003e`priority`\u003c/span\u003e is set to `Spot`.\n","willReplaceOnChanges":true},"extensionOperationsEnabled":{"type":"boolean","description":"Should extension operations be allowed on the Virtual Machine Scale Set? Possible values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e. Changing this forces a new Linux Virtual Machine Scale Set to be created.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`extensionOperationsEnabled`\" pulumi-lang-dotnet=\"`ExtensionOperationsEnabled`\" pulumi-lang-go=\"`extensionOperationsEnabled`\" pulumi-lang-python=\"`extension_operations_enabled`\" pulumi-lang-yaml=\"`extensionOperationsEnabled`\" pulumi-lang-java=\"`extensionOperationsEnabled`\"\u003e`extension_operations_enabled`\u003c/span\u003e may only be set to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e if there are no extensions defined in the \u003cspan pulumi-lang-nodejs=\"`extension`\" pulumi-lang-dotnet=\"`Extension`\" pulumi-lang-go=\"`extension`\" pulumi-lang-python=\"`extension`\" pulumi-lang-yaml=\"`extension`\" pulumi-lang-java=\"`extension`\"\u003e`extension`\u003c/span\u003e field.\n","willReplaceOnChanges":true},"extensions":{"type":"array","items":{"$ref":"#/types/azure:compute/LinuxVirtualMachineScaleSetExtension:LinuxVirtualMachineScaleSetExtension"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`extension`\" pulumi-lang-dotnet=\"`Extension`\" pulumi-lang-go=\"`extension`\" pulumi-lang-python=\"`extension`\" pulumi-lang-yaml=\"`extension`\" pulumi-lang-java=\"`extension`\"\u003e`extension`\u003c/span\u003e blocks as defined below\n"},"extensionsTimeBudget":{"type":"string","description":"Specifies the duration allocated for all extensions to start. The time duration should be between \u003cspan pulumi-lang-nodejs=\"`15`\" pulumi-lang-dotnet=\"`15`\" pulumi-lang-go=\"`15`\" pulumi-lang-python=\"`15`\" pulumi-lang-yaml=\"`15`\" pulumi-lang-java=\"`15`\"\u003e`15`\u003c/span\u003e minutes and \u003cspan pulumi-lang-nodejs=\"`120`\" pulumi-lang-dotnet=\"`120`\" pulumi-lang-go=\"`120`\" pulumi-lang-python=\"`120`\" pulumi-lang-yaml=\"`120`\" pulumi-lang-java=\"`120`\"\u003e`120`\u003c/span\u003e minutes (inclusive) and should be specified in ISO 8601 format. Defaults to `PT1H30M`.\n"},"galleryApplications":{"type":"array","items":{"$ref":"#/types/azure:compute/LinuxVirtualMachineScaleSetGalleryApplication:LinuxVirtualMachineScaleSetGalleryApplication"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`galleryApplication`\" pulumi-lang-dotnet=\"`GalleryApplication`\" pulumi-lang-go=\"`galleryApplication`\" pulumi-lang-python=\"`gallery_application`\" pulumi-lang-yaml=\"`galleryApplication`\" pulumi-lang-java=\"`galleryApplication`\"\u003e`gallery_application`\u003c/span\u003e blocks as defined below.\n"},"healthProbeId":{"type":"string","description":"The ID of a Load Balancer Probe which should be used to determine the health of an instance. This is Required and can only be specified when \u003cspan pulumi-lang-nodejs=\"`upgradeMode`\" pulumi-lang-dotnet=\"`UpgradeMode`\" pulumi-lang-go=\"`upgradeMode`\" pulumi-lang-python=\"`upgrade_mode`\" pulumi-lang-yaml=\"`upgradeMode`\" pulumi-lang-java=\"`upgradeMode`\"\u003e`upgrade_mode`\u003c/span\u003e is set to `Automatic` or `Rolling`.\n"},"hostGroupId":{"type":"string","description":"Specifies the ID of the dedicated host group that the virtual machine scale set resides in. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"identity":{"$ref":"#/types/azure:compute/LinuxVirtualMachineScaleSetIdentity:LinuxVirtualMachineScaleSetIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"instances":{"type":"integer","description":"The number of Virtual Machines in the Scale Set. Defaults to \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n\n\u003e **NOTE:** If you're using AutoScaling, you may wish to use [`Ignore Changes` functionality](https://www.pulumi.com/docs/intro/concepts/programming-model/#ignorechanges) to ignore changes to this field.\n"},"location":{"type":"string","description":"The Azure location where the Linux Virtual Machine Scale Set should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"maxBidPrice":{"type":"number","description":"The maximum price you're willing to pay for each Virtual Machine in this Scale Set, in US Dollars; which must be greater than the current spot price. If this bid price falls below the current spot price the Virtual Machines in the Scale Set will be evicted using the \u003cspan pulumi-lang-nodejs=\"`evictionPolicy`\" pulumi-lang-dotnet=\"`EvictionPolicy`\" pulumi-lang-go=\"`evictionPolicy`\" pulumi-lang-python=\"`eviction_policy`\" pulumi-lang-yaml=\"`evictionPolicy`\" pulumi-lang-java=\"`evictionPolicy`\"\u003e`eviction_policy`\u003c/span\u003e. Defaults to `-1`, which means that each Virtual Machine in this Scale Set should not be evicted for price reasons.\n\n\u003e **Note:** This can only be configured when \u003cspan pulumi-lang-nodejs=\"`priority`\" pulumi-lang-dotnet=\"`Priority`\" pulumi-lang-go=\"`priority`\" pulumi-lang-python=\"`priority`\" pulumi-lang-yaml=\"`priority`\" pulumi-lang-java=\"`priority`\"\u003e`priority`\u003c/span\u003e is set to `Spot`.\n"},"name":{"type":"string","description":"The name of the Linux Virtual Machine Scale Set. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"networkInterfaces":{"type":"array","items":{"$ref":"#/types/azure:compute/LinuxVirtualMachineScaleSetNetworkInterface:LinuxVirtualMachineScaleSetNetworkInterface"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`networkInterface`\" pulumi-lang-dotnet=\"`NetworkInterface`\" pulumi-lang-go=\"`networkInterface`\" pulumi-lang-python=\"`network_interface`\" pulumi-lang-yaml=\"`networkInterface`\" pulumi-lang-java=\"`networkInterface`\"\u003e`network_interface`\u003c/span\u003e blocks as defined below.\n"},"osDisk":{"$ref":"#/types/azure:compute/LinuxVirtualMachineScaleSetOsDisk:LinuxVirtualMachineScaleSetOsDisk","description":"An \u003cspan pulumi-lang-nodejs=\"`osDisk`\" pulumi-lang-dotnet=\"`OsDisk`\" pulumi-lang-go=\"`osDisk`\" pulumi-lang-python=\"`os_disk`\" pulumi-lang-yaml=\"`osDisk`\" pulumi-lang-java=\"`osDisk`\"\u003e`os_disk`\u003c/span\u003e block as defined below.\n"},"overprovision":{"type":"boolean","description":"Should Azure over-provision Virtual Machines in this Scale Set? This means that multiple Virtual Machines will be provisioned and Azure will keep the instances which become available first - which improves provisioning success rates and improves deployment time. You're not billed for these over-provisioned VM's and they don't count towards the Subscription Quota. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"plan":{"$ref":"#/types/azure:compute/LinuxVirtualMachineScaleSetPlan:LinuxVirtualMachineScaleSetPlan","description":"A \u003cspan pulumi-lang-nodejs=\"`plan`\" pulumi-lang-dotnet=\"`Plan`\" pulumi-lang-go=\"`plan`\" pulumi-lang-python=\"`plan`\" pulumi-lang-yaml=\"`plan`\" pulumi-lang-java=\"`plan`\"\u003e`plan`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n\n\u003e **Note:** When using an image from Azure Marketplace a \u003cspan pulumi-lang-nodejs=\"`plan`\" pulumi-lang-dotnet=\"`Plan`\" pulumi-lang-go=\"`plan`\" pulumi-lang-python=\"`plan`\" pulumi-lang-yaml=\"`plan`\" pulumi-lang-java=\"`plan`\"\u003e`plan`\u003c/span\u003e must be specified.\n","willReplaceOnChanges":true},"platformFaultDomainCount":{"type":"integer","description":"Specifies the number of fault domains that are used by this Linux Virtual Machine Scale Set. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"priority":{"type":"string","description":"The Priority of this Virtual Machine Scale Set. Possible values are `Regular` and `Spot`. Defaults to `Regular`. Changing this value forces a new resource.\n\n\u003e **Note:** When \u003cspan pulumi-lang-nodejs=\"`priority`\" pulumi-lang-dotnet=\"`Priority`\" pulumi-lang-go=\"`priority`\" pulumi-lang-python=\"`priority`\" pulumi-lang-yaml=\"`priority`\" pulumi-lang-java=\"`priority`\"\u003e`priority`\u003c/span\u003e is set to `Spot` an \u003cspan pulumi-lang-nodejs=\"`evictionPolicy`\" pulumi-lang-dotnet=\"`EvictionPolicy`\" pulumi-lang-go=\"`evictionPolicy`\" pulumi-lang-python=\"`eviction_policy`\" pulumi-lang-yaml=\"`evictionPolicy`\" pulumi-lang-java=\"`evictionPolicy`\"\u003e`eviction_policy`\u003c/span\u003e must be specified.\n","willReplaceOnChanges":true},"provisionVmAgent":{"type":"boolean","description":"Should the Azure VM Agent be provisioned on each Virtual Machine in the Scale Set? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e. Changing this value forces a new resource to be created.\n","willReplaceOnChanges":true},"proximityPlacementGroupId":{"type":"string","description":"The ID of the Proximity Placement Group in which the Virtual Machine Scale Set should be assigned to. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resilientVmCreationEnabled":{"type":"boolean","description":"Should resilient VM creation be enabled? When enabled, the service will attempt to create VMs in alternative fault domains or zones if the primary location fails during creation. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`resilientVmCreationEnabled`\" pulumi-lang-dotnet=\"`ResilientVmCreationEnabled`\" pulumi-lang-go=\"`resilientVmCreationEnabled`\" pulumi-lang-python=\"`resilient_vm_creation_enabled`\" pulumi-lang-yaml=\"`resilientVmCreationEnabled`\" pulumi-lang-java=\"`resilientVmCreationEnabled`\"\u003e`resilient_vm_creation_enabled`\u003c/span\u003e is currently not supported in the \u003cspan pulumi-lang-nodejs=\"`austriaeast`\" pulumi-lang-dotnet=\"`Austriaeast`\" pulumi-lang-go=\"`austriaeast`\" pulumi-lang-python=\"`austriaeast`\" pulumi-lang-yaml=\"`austriaeast`\" pulumi-lang-java=\"`austriaeast`\"\u003e`austriaeast`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`belgiumcentral`\" pulumi-lang-dotnet=\"`Belgiumcentral`\" pulumi-lang-go=\"`belgiumcentral`\" pulumi-lang-python=\"`belgiumcentral`\" pulumi-lang-yaml=\"`belgiumcentral`\" pulumi-lang-java=\"`belgiumcentral`\"\u003e`belgiumcentral`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`centraluseuap`\" pulumi-lang-dotnet=\"`Centraluseuap`\" pulumi-lang-go=\"`centraluseuap`\" pulumi-lang-python=\"`centraluseuap`\" pulumi-lang-yaml=\"`centraluseuap`\" pulumi-lang-java=\"`centraluseuap`\"\u003e`centraluseuap`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`chilecentral`\" pulumi-lang-dotnet=\"`Chilecentral`\" pulumi-lang-go=\"`chilecentral`\" pulumi-lang-python=\"`chilecentral`\" pulumi-lang-yaml=\"`chilecentral`\" pulumi-lang-java=\"`chilecentral`\"\u003e`chilecentral`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`indonesiacentral`\" pulumi-lang-dotnet=\"`Indonesiacentral`\" pulumi-lang-go=\"`indonesiacentral`\" pulumi-lang-python=\"`indonesiacentral`\" pulumi-lang-yaml=\"`indonesiacentral`\" pulumi-lang-java=\"`indonesiacentral`\"\u003e`indonesiacentral`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`israelnorthwest`\" pulumi-lang-dotnet=\"`Israelnorthwest`\" pulumi-lang-go=\"`israelnorthwest`\" pulumi-lang-python=\"`israelnorthwest`\" pulumi-lang-yaml=\"`israelnorthwest`\" pulumi-lang-java=\"`israelnorthwest`\"\u003e`israelnorthwest`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`malaysiawest`\" pulumi-lang-dotnet=\"`Malaysiawest`\" pulumi-lang-go=\"`malaysiawest`\" pulumi-lang-python=\"`malaysiawest`\" pulumi-lang-yaml=\"`malaysiawest`\" pulumi-lang-java=\"`malaysiawest`\"\u003e`malaysiawest`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`mexicocentral`\" pulumi-lang-dotnet=\"`Mexicocentral`\" pulumi-lang-go=\"`mexicocentral`\" pulumi-lang-python=\"`mexicocentral`\" pulumi-lang-yaml=\"`mexicocentral`\" pulumi-lang-java=\"`mexicocentral`\"\u003e`mexicocentral`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`newzealandnorth`\" pulumi-lang-dotnet=\"`Newzealandnorth`\" pulumi-lang-go=\"`newzealandnorth`\" pulumi-lang-python=\"`newzealandnorth`\" pulumi-lang-yaml=\"`newzealandnorth`\" pulumi-lang-java=\"`newzealandnorth`\"\u003e`newzealandnorth`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`southcentralus2`\" pulumi-lang-dotnet=\"`Southcentralus2`\" pulumi-lang-go=\"`southcentralus2`\" pulumi-lang-python=\"`southcentralus2`\" pulumi-lang-yaml=\"`southcentralus2`\" pulumi-lang-java=\"`southcentralus2`\"\u003e`southcentralus2`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`southindia`\" pulumi-lang-dotnet=\"`Southindia`\" pulumi-lang-go=\"`southindia`\" pulumi-lang-python=\"`southindia`\" pulumi-lang-yaml=\"`southindia`\" pulumi-lang-java=\"`southindia`\"\u003e`southindia`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`southeastus3`\" pulumi-lang-dotnet=\"`Southeastus3`\" pulumi-lang-go=\"`southeastus3`\" pulumi-lang-python=\"`southeastus3`\" pulumi-lang-yaml=\"`southeastus3`\" pulumi-lang-java=\"`southeastus3`\"\u003e`southeastus3`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`southwestus`\" pulumi-lang-dotnet=\"`Southwestus`\" pulumi-lang-go=\"`southwestus`\" pulumi-lang-python=\"`southwestus`\" pulumi-lang-yaml=\"`southwestus`\" pulumi-lang-java=\"`southwestus`\"\u003e`southwestus`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`eastasia`\" pulumi-lang-dotnet=\"`Eastasia`\" pulumi-lang-go=\"`eastasia`\" pulumi-lang-python=\"`eastasia`\" pulumi-lang-yaml=\"`eastasia`\" pulumi-lang-java=\"`eastasia`\"\u003e`eastasia`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`eastus`\" pulumi-lang-dotnet=\"`Eastus`\" pulumi-lang-go=\"`eastus`\" pulumi-lang-python=\"`eastus`\" pulumi-lang-yaml=\"`eastus`\" pulumi-lang-java=\"`eastus`\"\u003e`eastus`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`southcentralus`\" pulumi-lang-dotnet=\"`Southcentralus`\" pulumi-lang-go=\"`southcentralus`\" pulumi-lang-python=\"`southcentralus`\" pulumi-lang-yaml=\"`southcentralus`\" pulumi-lang-java=\"`southcentralus`\"\u003e`southcentralus`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`southeastasia`\" pulumi-lang-dotnet=\"`Southeastasia`\" pulumi-lang-go=\"`southeastasia`\" pulumi-lang-python=\"`southeastasia`\" pulumi-lang-yaml=\"`southeastasia`\" pulumi-lang-java=\"`southeastasia`\"\u003e`southeastasia`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`westeurope`\" pulumi-lang-dotnet=\"`Westeurope`\" pulumi-lang-go=\"`westeurope`\" pulumi-lang-python=\"`westeurope`\" pulumi-lang-yaml=\"`westeurope`\" pulumi-lang-java=\"`westeurope`\"\u003e`westeurope`\u003c/span\u003e regions.\n"},"resilientVmDeletionEnabled":{"type":"boolean","description":"Should resilient VM deletion be enabled? When enabled, the service will use a more resilient deletion process that attempts to gracefully handle failures during VM termination. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`resilientVmDeletionEnabled`\" pulumi-lang-dotnet=\"`ResilientVmDeletionEnabled`\" pulumi-lang-go=\"`resilientVmDeletionEnabled`\" pulumi-lang-python=\"`resilient_vm_deletion_enabled`\" pulumi-lang-yaml=\"`resilientVmDeletionEnabled`\" pulumi-lang-java=\"`resilientVmDeletionEnabled`\"\u003e`resilient_vm_deletion_enabled`\u003c/span\u003e is currently not supported in the \u003cspan pulumi-lang-nodejs=\"`austriaeast`\" pulumi-lang-dotnet=\"`Austriaeast`\" pulumi-lang-go=\"`austriaeast`\" pulumi-lang-python=\"`austriaeast`\" pulumi-lang-yaml=\"`austriaeast`\" pulumi-lang-java=\"`austriaeast`\"\u003e`austriaeast`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`belgiumcentral`\" pulumi-lang-dotnet=\"`Belgiumcentral`\" pulumi-lang-go=\"`belgiumcentral`\" pulumi-lang-python=\"`belgiumcentral`\" pulumi-lang-yaml=\"`belgiumcentral`\" pulumi-lang-java=\"`belgiumcentral`\"\u003e`belgiumcentral`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`centraluseuap`\" pulumi-lang-dotnet=\"`Centraluseuap`\" pulumi-lang-go=\"`centraluseuap`\" pulumi-lang-python=\"`centraluseuap`\" pulumi-lang-yaml=\"`centraluseuap`\" pulumi-lang-java=\"`centraluseuap`\"\u003e`centraluseuap`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`chilecentral`\" pulumi-lang-dotnet=\"`Chilecentral`\" pulumi-lang-go=\"`chilecentral`\" pulumi-lang-python=\"`chilecentral`\" pulumi-lang-yaml=\"`chilecentral`\" pulumi-lang-java=\"`chilecentral`\"\u003e`chilecentral`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`indonesiacentral`\" pulumi-lang-dotnet=\"`Indonesiacentral`\" pulumi-lang-go=\"`indonesiacentral`\" pulumi-lang-python=\"`indonesiacentral`\" pulumi-lang-yaml=\"`indonesiacentral`\" pulumi-lang-java=\"`indonesiacentral`\"\u003e`indonesiacentral`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`israelnorthwest`\" pulumi-lang-dotnet=\"`Israelnorthwest`\" pulumi-lang-go=\"`israelnorthwest`\" pulumi-lang-python=\"`israelnorthwest`\" pulumi-lang-yaml=\"`israelnorthwest`\" pulumi-lang-java=\"`israelnorthwest`\"\u003e`israelnorthwest`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`malaysiawest`\" pulumi-lang-dotnet=\"`Malaysiawest`\" pulumi-lang-go=\"`malaysiawest`\" pulumi-lang-python=\"`malaysiawest`\" pulumi-lang-yaml=\"`malaysiawest`\" pulumi-lang-java=\"`malaysiawest`\"\u003e`malaysiawest`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`mexicocentral`\" pulumi-lang-dotnet=\"`Mexicocentral`\" pulumi-lang-go=\"`mexicocentral`\" pulumi-lang-python=\"`mexicocentral`\" pulumi-lang-yaml=\"`mexicocentral`\" pulumi-lang-java=\"`mexicocentral`\"\u003e`mexicocentral`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`newzealandnorth`\" pulumi-lang-dotnet=\"`Newzealandnorth`\" pulumi-lang-go=\"`newzealandnorth`\" pulumi-lang-python=\"`newzealandnorth`\" pulumi-lang-yaml=\"`newzealandnorth`\" pulumi-lang-java=\"`newzealandnorth`\"\u003e`newzealandnorth`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`southcentralus2`\" pulumi-lang-dotnet=\"`Southcentralus2`\" pulumi-lang-go=\"`southcentralus2`\" pulumi-lang-python=\"`southcentralus2`\" pulumi-lang-yaml=\"`southcentralus2`\" pulumi-lang-java=\"`southcentralus2`\"\u003e`southcentralus2`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`southindia`\" pulumi-lang-dotnet=\"`Southindia`\" pulumi-lang-go=\"`southindia`\" pulumi-lang-python=\"`southindia`\" pulumi-lang-yaml=\"`southindia`\" pulumi-lang-java=\"`southindia`\"\u003e`southindia`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`southeastus3`\" pulumi-lang-dotnet=\"`Southeastus3`\" pulumi-lang-go=\"`southeastus3`\" pulumi-lang-python=\"`southeastus3`\" pulumi-lang-yaml=\"`southeastus3`\" pulumi-lang-java=\"`southeastus3`\"\u003e`southeastus3`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`southwestus`\" pulumi-lang-dotnet=\"`Southwestus`\" pulumi-lang-go=\"`southwestus`\" pulumi-lang-python=\"`southwestus`\" pulumi-lang-yaml=\"`southwestus`\" pulumi-lang-java=\"`southwestus`\"\u003e`southwestus`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`eastasia`\" pulumi-lang-dotnet=\"`Eastasia`\" pulumi-lang-go=\"`eastasia`\" pulumi-lang-python=\"`eastasia`\" pulumi-lang-yaml=\"`eastasia`\" pulumi-lang-java=\"`eastasia`\"\u003e`eastasia`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`eastus`\" pulumi-lang-dotnet=\"`Eastus`\" pulumi-lang-go=\"`eastus`\" pulumi-lang-python=\"`eastus`\" pulumi-lang-yaml=\"`eastus`\" pulumi-lang-java=\"`eastus`\"\u003e`eastus`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`southcentralus`\" pulumi-lang-dotnet=\"`Southcentralus`\" pulumi-lang-go=\"`southcentralus`\" pulumi-lang-python=\"`southcentralus`\" pulumi-lang-yaml=\"`southcentralus`\" pulumi-lang-java=\"`southcentralus`\"\u003e`southcentralus`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`southeastasia`\" pulumi-lang-dotnet=\"`Southeastasia`\" pulumi-lang-go=\"`southeastasia`\" pulumi-lang-python=\"`southeastasia`\" pulumi-lang-yaml=\"`southeastasia`\" pulumi-lang-java=\"`southeastasia`\"\u003e`southeastasia`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`westeurope`\" pulumi-lang-dotnet=\"`Westeurope`\" pulumi-lang-go=\"`westeurope`\" pulumi-lang-python=\"`westeurope`\" pulumi-lang-yaml=\"`westeurope`\" pulumi-lang-java=\"`westeurope`\"\u003e`westeurope`\u003c/span\u003e regions.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group in which the Linux Virtual Machine Scale Set should be exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"rollingUpgradePolicy":{"$ref":"#/types/azure:compute/LinuxVirtualMachineScaleSetRollingUpgradePolicy:LinuxVirtualMachineScaleSetRollingUpgradePolicy","description":"A \u003cspan pulumi-lang-nodejs=\"`rollingUpgradePolicy`\" pulumi-lang-dotnet=\"`RollingUpgradePolicy`\" pulumi-lang-go=\"`rollingUpgradePolicy`\" pulumi-lang-python=\"`rolling_upgrade_policy`\" pulumi-lang-yaml=\"`rollingUpgradePolicy`\" pulumi-lang-java=\"`rollingUpgradePolicy`\"\u003e`rolling_upgrade_policy`\u003c/span\u003e block as defined below. This is Required and can only be specified when \u003cspan pulumi-lang-nodejs=\"`upgradeMode`\" pulumi-lang-dotnet=\"`UpgradeMode`\" pulumi-lang-go=\"`upgradeMode`\" pulumi-lang-python=\"`upgrade_mode`\" pulumi-lang-yaml=\"`upgradeMode`\" pulumi-lang-java=\"`upgradeMode`\"\u003e`upgrade_mode`\u003c/span\u003e is set to `Automatic` or `Rolling`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"scaleIn":{"$ref":"#/types/azure:compute/LinuxVirtualMachineScaleSetScaleIn:LinuxVirtualMachineScaleSetScaleIn","description":"A \u003cspan pulumi-lang-nodejs=\"`scaleIn`\" pulumi-lang-dotnet=\"`ScaleIn`\" pulumi-lang-go=\"`scaleIn`\" pulumi-lang-python=\"`scale_in`\" pulumi-lang-yaml=\"`scaleIn`\" pulumi-lang-java=\"`scaleIn`\"\u003e`scale_in`\u003c/span\u003e block as defined below.\n"},"secrets":{"type":"array","items":{"$ref":"#/types/azure:compute/LinuxVirtualMachineScaleSetSecret:LinuxVirtualMachineScaleSetSecret"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`secret`\" pulumi-lang-dotnet=\"`Secret`\" pulumi-lang-go=\"`secret`\" pulumi-lang-python=\"`secret`\" pulumi-lang-yaml=\"`secret`\" pulumi-lang-java=\"`secret`\"\u003e`secret`\u003c/span\u003e blocks as defined below.\n"},"secureBootEnabled":{"type":"boolean","description":"Specifies whether secure boot should be enabled on the virtual machine. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"singlePlacementGroup":{"type":"boolean","description":"Should this Virtual Machine Scale Set be limited to a Single Placement Group, which means the number of instances will be capped at 100 Virtual Machines. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"sku":{"type":"string","description":"The Virtual Machine SKU for the Scale Set, such as `Standard_F2`.\n"},"sourceImageId":{"type":"string","description":"The ID of an Image which each Virtual Machine in this Scale Set should be based on. Possible Image ID types include `Image ID`, `Shared Image ID`, `Shared Image Version ID`, `Community Gallery Image ID`, `Community Gallery Image Version ID`, `Shared Gallery Image ID` and `Shared Gallery Image Version ID`.\n\n\u003e **Note:** One of either \u003cspan pulumi-lang-nodejs=\"`sourceImageId`\" pulumi-lang-dotnet=\"`SourceImageId`\" pulumi-lang-go=\"`sourceImageId`\" pulumi-lang-python=\"`source_image_id`\" pulumi-lang-yaml=\"`sourceImageId`\" pulumi-lang-java=\"`sourceImageId`\"\u003e`source_image_id`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`sourceImageReference`\" pulumi-lang-dotnet=\"`SourceImageReference`\" pulumi-lang-go=\"`sourceImageReference`\" pulumi-lang-python=\"`source_image_reference`\" pulumi-lang-yaml=\"`sourceImageReference`\" pulumi-lang-java=\"`sourceImageReference`\"\u003e`source_image_reference`\u003c/span\u003e must be set.\n"},"sourceImageReference":{"$ref":"#/types/azure:compute/LinuxVirtualMachineScaleSetSourceImageReference:LinuxVirtualMachineScaleSetSourceImageReference","description":"A \u003cspan pulumi-lang-nodejs=\"`sourceImageReference`\" pulumi-lang-dotnet=\"`SourceImageReference`\" pulumi-lang-go=\"`sourceImageReference`\" pulumi-lang-python=\"`source_image_reference`\" pulumi-lang-yaml=\"`sourceImageReference`\" pulumi-lang-java=\"`sourceImageReference`\"\u003e`source_image_reference`\u003c/span\u003e block as defined below.\n\n\u003e **Note:** One of either \u003cspan pulumi-lang-nodejs=\"`sourceImageId`\" pulumi-lang-dotnet=\"`SourceImageId`\" pulumi-lang-go=\"`sourceImageId`\" pulumi-lang-python=\"`source_image_id`\" pulumi-lang-yaml=\"`sourceImageId`\" pulumi-lang-java=\"`sourceImageId`\"\u003e`source_image_id`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`sourceImageReference`\" pulumi-lang-dotnet=\"`SourceImageReference`\" pulumi-lang-go=\"`sourceImageReference`\" pulumi-lang-python=\"`source_image_reference`\" pulumi-lang-yaml=\"`sourceImageReference`\" pulumi-lang-java=\"`sourceImageReference`\"\u003e`source_image_reference`\u003c/span\u003e must be set.\n"},"spotRestore":{"$ref":"#/types/azure:compute/LinuxVirtualMachineScaleSetSpotRestore:LinuxVirtualMachineScaleSetSpotRestore","description":"A \u003cspan pulumi-lang-nodejs=\"`spotRestore`\" pulumi-lang-dotnet=\"`SpotRestore`\" pulumi-lang-go=\"`spotRestore`\" pulumi-lang-python=\"`spot_restore`\" pulumi-lang-yaml=\"`spotRestore`\" pulumi-lang-java=\"`spotRestore`\"\u003e`spot_restore`\u003c/span\u003e block as defined below.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to this Virtual Machine Scale Set.\n"},"terminationNotification":{"$ref":"#/types/azure:compute/LinuxVirtualMachineScaleSetTerminationNotification:LinuxVirtualMachineScaleSetTerminationNotification","description":"A \u003cspan pulumi-lang-nodejs=\"`terminationNotification`\" pulumi-lang-dotnet=\"`TerminationNotification`\" pulumi-lang-go=\"`terminationNotification`\" pulumi-lang-python=\"`termination_notification`\" pulumi-lang-yaml=\"`terminationNotification`\" pulumi-lang-java=\"`terminationNotification`\"\u003e`termination_notification`\u003c/span\u003e block as defined below.\n"},"uniqueId":{"type":"string","description":"The Unique ID for this Linux Virtual Machine Scale Set.\n"},"upgradeMode":{"type":"string","description":"Specifies how Upgrades (e.g. changing the Image/SKU) should be performed to Virtual Machine Instances. Possible values are `Automatic`, `Manual` and `Rolling`. Defaults to `Manual`. Changing this forces a new resource to be created.\n\n\u003e **Note:** If rolling upgrades are configured and running on a Linux Virtual Machine Scale Set, they will be cancelled when Terraform tries to destroy the resource.\n","willReplaceOnChanges":true},"userData":{"type":"string","description":"The Base64-Encoded User Data which should be used for this Virtual Machine Scale Set.\n"},"vtpmEnabled":{"type":"boolean","description":"Specifies whether vTPM should be enabled on the virtual machine. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"zoneBalance":{"type":"boolean","description":"Should the Virtual Machines in this Scale Set be strictly evenly distributed across Availability Zones? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Changing this forces a new resource to be created.\n\n\u003e **Note:** This can only be set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e when one or more \u003cspan pulumi-lang-nodejs=\"`zones`\" pulumi-lang-dotnet=\"`Zones`\" pulumi-lang-go=\"`zones`\" pulumi-lang-python=\"`zones`\" pulumi-lang-yaml=\"`zones`\" pulumi-lang-java=\"`zones`\"\u003e`zones`\u003c/span\u003e are configured.\n","willReplaceOnChanges":true},"zones":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Availability Zones in which this Linux Virtual Machine Scale Set should be located.\n\n\u003e **Note:** Updating \u003cspan pulumi-lang-nodejs=\"`zones`\" pulumi-lang-dotnet=\"`Zones`\" pulumi-lang-go=\"`zones`\" pulumi-lang-python=\"`zones`\" pulumi-lang-yaml=\"`zones`\" pulumi-lang-java=\"`zones`\"\u003e`zones`\u003c/span\u003e to remove an existing zone forces a new Virtual Machine Scale Set to be created.\n"}},"type":"object"}},"azure:compute/managedDisk:ManagedDisk":{"description":"Manages a managed disk.\n\n## Example Usage\n\n### With Create Empty\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleManagedDisk = new azure.compute.ManagedDisk(\"example\", {\n    name: \"acctestmd\",\n    location: example.location,\n    resourceGroupName: example.name,\n    storageAccountType: \"Standard_LRS\",\n    createOption: \"Empty\",\n    diskSizeGb: 1,\n    tags: {\n        environment: \"staging\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_managed_disk = azure.compute.ManagedDisk(\"example\",\n    name=\"acctestmd\",\n    location=example.location,\n    resource_group_name=example.name,\n    storage_account_type=\"Standard_LRS\",\n    create_option=\"Empty\",\n    disk_size_gb=1,\n    tags={\n        \"environment\": \"staging\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleManagedDisk = new Azure.Compute.ManagedDisk(\"example\", new()\n    {\n        Name = \"acctestmd\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        StorageAccountType = \"Standard_LRS\",\n        CreateOption = \"Empty\",\n        DiskSizeGb = 1,\n        Tags = \n        {\n            { \"environment\", \"staging\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/compute\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = compute.NewManagedDisk(ctx, \"example\", \u0026compute.ManagedDiskArgs{\n\t\t\tName:               pulumi.String(\"acctestmd\"),\n\t\t\tLocation:           example.Location,\n\t\t\tResourceGroupName:  example.Name,\n\t\t\tStorageAccountType: pulumi.String(\"Standard_LRS\"),\n\t\t\tCreateOption:       pulumi.String(\"Empty\"),\n\t\t\tDiskSizeGb:         pulumi.Int(1),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"environment\": pulumi.String(\"staging\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.compute.ManagedDisk;\nimport com.pulumi.azure.compute.ManagedDiskArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleManagedDisk = new ManagedDisk(\"exampleManagedDisk\", ManagedDiskArgs.builder()\n            .name(\"acctestmd\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .storageAccountType(\"Standard_LRS\")\n            .createOption(\"Empty\")\n            .diskSizeGb(1)\n            .tags(Map.of(\"environment\", \"staging\"))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleManagedDisk:\n    type: azure:compute:ManagedDisk\n    name: example\n    properties:\n      name: acctestmd\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      storageAccountType: Standard_LRS\n      createOption: Empty\n      diskSizeGb: '1'\n      tags:\n        environment: staging\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\n### With Create Copy\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst source = new azure.compute.ManagedDisk(\"source\", {\n    name: \"acctestmd1\",\n    location: example.location,\n    resourceGroupName: example.name,\n    storageAccountType: \"Standard_LRS\",\n    createOption: \"Empty\",\n    diskSizeGb: 1,\n    tags: {\n        environment: \"staging\",\n    },\n});\nconst copy = new azure.compute.ManagedDisk(\"copy\", {\n    name: \"acctestmd2\",\n    location: example.location,\n    resourceGroupName: example.name,\n    storageAccountType: \"Standard_LRS\",\n    createOption: \"Copy\",\n    sourceResourceId: source.id,\n    diskSizeGb: 1,\n    tags: {\n        environment: \"staging\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nsource = azure.compute.ManagedDisk(\"source\",\n    name=\"acctestmd1\",\n    location=example.location,\n    resource_group_name=example.name,\n    storage_account_type=\"Standard_LRS\",\n    create_option=\"Empty\",\n    disk_size_gb=1,\n    tags={\n        \"environment\": \"staging\",\n    })\ncopy = azure.compute.ManagedDisk(\"copy\",\n    name=\"acctestmd2\",\n    location=example.location,\n    resource_group_name=example.name,\n    storage_account_type=\"Standard_LRS\",\n    create_option=\"Copy\",\n    source_resource_id=source.id,\n    disk_size_gb=1,\n    tags={\n        \"environment\": \"staging\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var source = new Azure.Compute.ManagedDisk(\"source\", new()\n    {\n        Name = \"acctestmd1\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        StorageAccountType = \"Standard_LRS\",\n        CreateOption = \"Empty\",\n        DiskSizeGb = 1,\n        Tags = \n        {\n            { \"environment\", \"staging\" },\n        },\n    });\n\n    var copy = new Azure.Compute.ManagedDisk(\"copy\", new()\n    {\n        Name = \"acctestmd2\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        StorageAccountType = \"Standard_LRS\",\n        CreateOption = \"Copy\",\n        SourceResourceId = source.Id,\n        DiskSizeGb = 1,\n        Tags = \n        {\n            { \"environment\", \"staging\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/compute\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsource, err := compute.NewManagedDisk(ctx, \"source\", \u0026compute.ManagedDiskArgs{\n\t\t\tName:               pulumi.String(\"acctestmd1\"),\n\t\t\tLocation:           example.Location,\n\t\t\tResourceGroupName:  example.Name,\n\t\t\tStorageAccountType: pulumi.String(\"Standard_LRS\"),\n\t\t\tCreateOption:       pulumi.String(\"Empty\"),\n\t\t\tDiskSizeGb:         pulumi.Int(1),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"environment\": pulumi.String(\"staging\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = compute.NewManagedDisk(ctx, \"copy\", \u0026compute.ManagedDiskArgs{\n\t\t\tName:               pulumi.String(\"acctestmd2\"),\n\t\t\tLocation:           example.Location,\n\t\t\tResourceGroupName:  example.Name,\n\t\t\tStorageAccountType: pulumi.String(\"Standard_LRS\"),\n\t\t\tCreateOption:       pulumi.String(\"Copy\"),\n\t\t\tSourceResourceId:   source.ID(),\n\t\t\tDiskSizeGb:         pulumi.Int(1),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"environment\": pulumi.String(\"staging\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.compute.ManagedDisk;\nimport com.pulumi.azure.compute.ManagedDiskArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var source = new ManagedDisk(\"source\", ManagedDiskArgs.builder()\n            .name(\"acctestmd1\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .storageAccountType(\"Standard_LRS\")\n            .createOption(\"Empty\")\n            .diskSizeGb(1)\n            .tags(Map.of(\"environment\", \"staging\"))\n            .build());\n\n        var copy = new ManagedDisk(\"copy\", ManagedDiskArgs.builder()\n            .name(\"acctestmd2\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .storageAccountType(\"Standard_LRS\")\n            .createOption(\"Copy\")\n            .sourceResourceId(source.id())\n            .diskSizeGb(1)\n            .tags(Map.of(\"environment\", \"staging\"))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  source:\n    type: azure:compute:ManagedDisk\n    properties:\n      name: acctestmd1\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      storageAccountType: Standard_LRS\n      createOption: Empty\n      diskSizeGb: '1'\n      tags:\n        environment: staging\n  copy:\n    type: azure:compute:ManagedDisk\n    properties:\n      name: acctestmd2\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      storageAccountType: Standard_LRS\n      createOption: Copy\n      sourceResourceId: ${source.id}\n      diskSizeGb: '1'\n      tags:\n        environment: staging\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Compute` - 2023-04-02\n\n## Import\n\nManaged Disks can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:compute/managedDisk:ManagedDisk example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Compute/disks/manageddisk1\n```\n\n","properties":{"createOption":{"type":"string","description":"The method to use when creating the managed disk. Changing this forces a new resource to be created. Possible values include:\n* `Import` - Import a VHD file in to the managed disk (VHD specified with \u003cspan pulumi-lang-nodejs=\"`sourceUri`\" pulumi-lang-dotnet=\"`SourceUri`\" pulumi-lang-go=\"`sourceUri`\" pulumi-lang-python=\"`source_uri`\" pulumi-lang-yaml=\"`sourceUri`\" pulumi-lang-java=\"`sourceUri`\"\u003e`source_uri`\u003c/span\u003e).\n* `ImportSecure` - Securely import a VHD file in to the managed disk (VHD specified with \u003cspan pulumi-lang-nodejs=\"`sourceUri`\" pulumi-lang-dotnet=\"`SourceUri`\" pulumi-lang-go=\"`sourceUri`\" pulumi-lang-python=\"`source_uri`\" pulumi-lang-yaml=\"`sourceUri`\" pulumi-lang-java=\"`sourceUri`\"\u003e`source_uri`\u003c/span\u003e).\n* `Empty` - Create an empty managed disk.\n* `Copy` - Copy an existing managed disk or snapshot (specified with \u003cspan pulumi-lang-nodejs=\"`sourceResourceId`\" pulumi-lang-dotnet=\"`SourceResourceId`\" pulumi-lang-go=\"`sourceResourceId`\" pulumi-lang-python=\"`source_resource_id`\" pulumi-lang-yaml=\"`sourceResourceId`\" pulumi-lang-java=\"`sourceResourceId`\"\u003e`source_resource_id`\u003c/span\u003e).\n* `FromImage` - Copy a Platform Image (specified with \u003cspan pulumi-lang-nodejs=\"`imageReferenceId`\" pulumi-lang-dotnet=\"`ImageReferenceId`\" pulumi-lang-go=\"`imageReferenceId`\" pulumi-lang-python=\"`image_reference_id`\" pulumi-lang-yaml=\"`imageReferenceId`\" pulumi-lang-java=\"`imageReferenceId`\"\u003e`image_reference_id`\u003c/span\u003e)\n* `Restore` - Set by Azure Backup or Site Recovery on a restored disk (specified with \u003cspan pulumi-lang-nodejs=\"`sourceResourceId`\" pulumi-lang-dotnet=\"`SourceResourceId`\" pulumi-lang-go=\"`sourceResourceId`\" pulumi-lang-python=\"`source_resource_id`\" pulumi-lang-yaml=\"`sourceResourceId`\" pulumi-lang-java=\"`sourceResourceId`\"\u003e`source_resource_id`\u003c/span\u003e).\n* `Upload` - Upload a VHD disk with the help of SAS URL (to be used with \u003cspan pulumi-lang-nodejs=\"`uploadSizeBytes`\" pulumi-lang-dotnet=\"`UploadSizeBytes`\" pulumi-lang-go=\"`uploadSizeBytes`\" pulumi-lang-python=\"`upload_size_bytes`\" pulumi-lang-yaml=\"`uploadSizeBytes`\" pulumi-lang-java=\"`uploadSizeBytes`\"\u003e`upload_size_bytes`\u003c/span\u003e).\n"},"diskAccessId":{"type":"string","description":"The ID of the disk access resource for using private endpoints on disks.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`diskAccessId`\" pulumi-lang-dotnet=\"`DiskAccessId`\" pulumi-lang-go=\"`diskAccessId`\" pulumi-lang-python=\"`disk_access_id`\" pulumi-lang-yaml=\"`diskAccessId`\" pulumi-lang-java=\"`diskAccessId`\"\u003e`disk_access_id`\u003c/span\u003e is only supported when \u003cspan pulumi-lang-nodejs=\"`networkAccessPolicy`\" pulumi-lang-dotnet=\"`NetworkAccessPolicy`\" pulumi-lang-go=\"`networkAccessPolicy`\" pulumi-lang-python=\"`network_access_policy`\" pulumi-lang-yaml=\"`networkAccessPolicy`\" pulumi-lang-java=\"`networkAccessPolicy`\"\u003e`network_access_policy`\u003c/span\u003e is set to `AllowPrivate`.\n"},"diskEncryptionSetId":{"type":"string","description":"The ID of a Disk Encryption Set which should be used to encrypt this Managed Disk. Conflicts with \u003cspan pulumi-lang-nodejs=\"`secureVmDiskEncryptionSetId`\" pulumi-lang-dotnet=\"`SecureVmDiskEncryptionSetId`\" pulumi-lang-go=\"`secureVmDiskEncryptionSetId`\" pulumi-lang-python=\"`secure_vm_disk_encryption_set_id`\" pulumi-lang-yaml=\"`secureVmDiskEncryptionSetId`\" pulumi-lang-java=\"`secureVmDiskEncryptionSetId`\"\u003e`secure_vm_disk_encryption_set_id`\u003c/span\u003e.\n\n\u003e **NOTE:** The Disk Encryption Set must have the `Reader` Role Assignment scoped on the Key Vault - in addition to an Access Policy to the Key Vault\n\n\u003e **NOTE:** Disk Encryption Sets are in Public Preview in a limited set of regions\n"},"diskIopsReadOnly":{"type":"integer","description":"The number of IOPS allowed across all VMs mounting the shared disk as read-only; only settable for UltraSSD disks and PremiumV2 disks with shared disk enabled. One operation can transfer between 4k and 256k bytes.\n"},"diskIopsReadWrite":{"type":"integer","description":"The number of IOPS allowed for this disk; only settable for UltraSSD disks and PremiumV2 disks. One operation can transfer between 4k and 256k bytes.\n"},"diskMbpsReadOnly":{"type":"integer","description":"The bandwidth allowed across all VMs mounting the shared disk as read-only; only settable for UltraSSD disks and PremiumV2 disks with shared disk enabled. MBps means millions of bytes per second.\n"},"diskMbpsReadWrite":{"type":"integer","description":"The bandwidth allowed for this disk; only settable for UltraSSD disks and PremiumV2 disks. MBps means millions of bytes per second.\n"},"diskSizeGb":{"type":"integer","description":"(Optional, Required for a new managed disk) Specifies the size of the managed disk to create in gigabytes. If \u003cspan pulumi-lang-nodejs=\"`createOption`\" pulumi-lang-dotnet=\"`CreateOption`\" pulumi-lang-go=\"`createOption`\" pulumi-lang-python=\"`create_option`\" pulumi-lang-yaml=\"`createOption`\" pulumi-lang-java=\"`createOption`\"\u003e`create_option`\u003c/span\u003e is `Copy` or `FromImage`, then the value must be equal to or greater than the source's size. The size can only be increased.\n\n\u003e **NOTE:** In certain conditions the Data Disk size can be updated without shutting down the Virtual Machine, however only a subset of Virtual Machine SKUs/Disk combinations support this. More information can be found [for Linux Virtual Machines](https://learn.microsoft.com/en-us/azure/virtual-machines/linux/expand-disks?tabs=azure-cli%2Cubuntu#expand-without-downtime) and [Windows Virtual Machines](https://learn.microsoft.com/azure/virtual-machines/windows/expand-os-disk#expand-without-downtime) respectively.\n\n\u003e **NOTE:** If No Downtime Resizing is not available, be aware that changing this value is disruptive if the disk is attached to a Virtual Machine. The VM will be shut down and de-allocated as required by Azure to action the change. The provider will attempt to start the machine again after the update if it was in a \u003cspan pulumi-lang-nodejs=\"`running`\" pulumi-lang-dotnet=\"`Running`\" pulumi-lang-go=\"`running`\" pulumi-lang-python=\"`running`\" pulumi-lang-yaml=\"`running`\" pulumi-lang-java=\"`running`\"\u003e`running`\u003c/span\u003e state when the apply was started.\n\n\u003e **NOTE:** When upgrading \u003cspan pulumi-lang-nodejs=\"`diskSizeGb`\" pulumi-lang-dotnet=\"`DiskSizeGb`\" pulumi-lang-go=\"`diskSizeGb`\" pulumi-lang-python=\"`disk_size_gb`\" pulumi-lang-yaml=\"`diskSizeGb`\" pulumi-lang-java=\"`diskSizeGb`\"\u003e`disk_size_gb`\u003c/span\u003e from a value less than 4095 to one greater than 4095, and if \u003cspan pulumi-lang-nodejs=\"`storageAccountType`\" pulumi-lang-dotnet=\"`StorageAccountType`\" pulumi-lang-go=\"`storageAccountType`\" pulumi-lang-python=\"`storage_account_type`\" pulumi-lang-yaml=\"`storageAccountType`\" pulumi-lang-java=\"`storageAccountType`\"\u003e`storage_account_type`\u003c/span\u003e is not set to `PremiumV2_LRS` or `UltraSSD_LRS`, the disk will be detached from its associated Virtual Machine as required by Azure to action the change. Terraform will attempt to reattach the disk again after the update.\n\n\u003e **Note:** Expanding Ultra Disks and Premium SSD v2 disks without downtime has additional limitations. Allow up to 10 minutes for the correct size to be reflected, and a \u003cspan pulumi-lang-nodejs=\"`rescan`\" pulumi-lang-dotnet=\"`Rescan`\" pulumi-lang-go=\"`rescan`\" pulumi-lang-python=\"`rescan`\" pulumi-lang-yaml=\"`rescan`\" pulumi-lang-java=\"`rescan`\"\u003e`rescan`\u003c/span\u003e function may be required. For more details, refer to [Expand with Ultra Disks and Premium SSD v2](https://learn.microsoft.com/azure/virtual-machines/linux/expand-disks?tabs=ubuntu#expand-with-ultra-disks-and-premium-ssd-v2).\n"},"edgeZone":{"type":"string","description":"Specifies the Edge Zone within the Azure Region where this Managed Disk should exist. Changing this forces a new Managed Disk to be created.\n"},"encryptionSettings":{"$ref":"#/types/azure:compute/ManagedDiskEncryptionSettings:ManagedDiskEncryptionSettings","description":"A \u003cspan pulumi-lang-nodejs=\"`encryptionSettings`\" pulumi-lang-dotnet=\"`EncryptionSettings`\" pulumi-lang-go=\"`encryptionSettings`\" pulumi-lang-python=\"`encryption_settings`\" pulumi-lang-yaml=\"`encryptionSettings`\" pulumi-lang-java=\"`encryptionSettings`\"\u003e`encryption_settings`\u003c/span\u003e block as defined below.\n\n\u003e **NOTE:** Removing \u003cspan pulumi-lang-nodejs=\"`encryptionSettings`\" pulumi-lang-dotnet=\"`EncryptionSettings`\" pulumi-lang-go=\"`encryptionSettings`\" pulumi-lang-python=\"`encryption_settings`\" pulumi-lang-yaml=\"`encryptionSettings`\" pulumi-lang-java=\"`encryptionSettings`\"\u003e`encryption_settings`\u003c/span\u003e forces a new resource to be created.\n"},"galleryImageReferenceId":{"type":"string","description":"ID of a Gallery Image Version to copy when \u003cspan pulumi-lang-nodejs=\"`createOption`\" pulumi-lang-dotnet=\"`CreateOption`\" pulumi-lang-go=\"`createOption`\" pulumi-lang-python=\"`create_option`\" pulumi-lang-yaml=\"`createOption`\" pulumi-lang-java=\"`createOption`\"\u003e`create_option`\u003c/span\u003e is `FromImage`. This field cannot be specified if\u003cspan pulumi-lang-nodejs=\" imageReferenceId \" pulumi-lang-dotnet=\" ImageReferenceId \" pulumi-lang-go=\" imageReferenceId \" pulumi-lang-python=\" image_reference_id \" pulumi-lang-yaml=\" imageReferenceId \" pulumi-lang-java=\" imageReferenceId \"\u003e image_reference_id \u003c/span\u003eis specified. Changing this forces a new resource to be created.\n"},"hyperVGeneration":{"type":"string","description":"The HyperV Generation of the Disk when the source of an `Import` or `Copy` operation targets a source that contains an operating system. Possible values are `V1` and `V2`. For `ImportSecure` it must be set to `V2`. Changing this forces a new resource to be created.\n"},"imageReferenceId":{"type":"string","description":"ID of an existing platform/marketplace disk image to copy when \u003cspan pulumi-lang-nodejs=\"`createOption`\" pulumi-lang-dotnet=\"`CreateOption`\" pulumi-lang-go=\"`createOption`\" pulumi-lang-python=\"`create_option`\" pulumi-lang-yaml=\"`createOption`\" pulumi-lang-java=\"`createOption`\"\u003e`create_option`\u003c/span\u003e is `FromImage`. This field cannot be specified if\u003cspan pulumi-lang-nodejs=\" galleryImageReferenceId \" pulumi-lang-dotnet=\" GalleryImageReferenceId \" pulumi-lang-go=\" galleryImageReferenceId \" pulumi-lang-python=\" gallery_image_reference_id \" pulumi-lang-yaml=\" galleryImageReferenceId \" pulumi-lang-java=\" galleryImageReferenceId \"\u003e gallery_image_reference_id \u003c/span\u003eis specified. Changing this forces a new resource to be created.\n"},"location":{"type":"string","description":"Specified the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n"},"logicalSectorSize":{"type":"integer","description":"Logical Sector Size. Possible values are: \u003cspan pulumi-lang-nodejs=\"`512`\" pulumi-lang-dotnet=\"`512`\" pulumi-lang-go=\"`512`\" pulumi-lang-python=\"`512`\" pulumi-lang-yaml=\"`512`\" pulumi-lang-java=\"`512`\"\u003e`512`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`4096`\" pulumi-lang-dotnet=\"`4096`\" pulumi-lang-go=\"`4096`\" pulumi-lang-python=\"`4096`\" pulumi-lang-yaml=\"`4096`\" pulumi-lang-java=\"`4096`\"\u003e`4096`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`4096`\" pulumi-lang-dotnet=\"`4096`\" pulumi-lang-go=\"`4096`\" pulumi-lang-python=\"`4096`\" pulumi-lang-yaml=\"`4096`\" pulumi-lang-java=\"`4096`\"\u003e`4096`\u003c/span\u003e. Changing this forces a new resource to be created.\n\n\u003e **NOTE:** Setting logical sector size is supported only with `UltraSSD_LRS` disks and `PremiumV2_LRS` disks.\n"},"maxShares":{"type":"integer","description":"The maximum number of VMs that can attach to the disk at the same time. Value greater than one indicates a disk that can be mounted on multiple VMs at the same time.\n\n\u003e **Note:** Premium SSD maxShares limit: `P15` and `P20` disks: 2. `P30`,`P40`,`P50` disks: 5. `P60`,`P70`,`P80` disks: 10. For ultra disks the \u003cspan pulumi-lang-nodejs=\"`maxShares`\" pulumi-lang-dotnet=\"`MaxShares`\" pulumi-lang-go=\"`maxShares`\" pulumi-lang-python=\"`max_shares`\" pulumi-lang-yaml=\"`maxShares`\" pulumi-lang-java=\"`maxShares`\"\u003e`max_shares`\u003c/span\u003e minimum value is 1 and the maximum is 5.\n"},"name":{"type":"string","description":"Specifies the name of the Managed Disk. Changing this forces a new resource to be created.\n"},"networkAccessPolicy":{"type":"string","description":"Policy for accessing the disk via network. Allowed values are `AllowAll`, `AllowPrivate`, and `DenyAll`. Defaults to `AllowAll`.\n"},"onDemandBurstingEnabled":{"type":"boolean","description":"Specifies if On-Demand Bursting is enabled for the Managed Disk.\n\n\u003e **Note:** Credit-Based Bursting is enabled by default on all eligible disks. More information on [Credit-Based and On-Demand Bursting can be found in the documentation](https://docs.microsoft.com/azure/virtual-machines/disk-bursting#disk-level-bursting).\n"},"optimizedFrequentAttachEnabled":{"type":"boolean","description":"Specifies whether this Managed Disk should be optimized for frequent disk attachments (where a disk is attached/detached more than 5 times in a day). Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** Setting \u003cspan pulumi-lang-nodejs=\"`optimizedFrequentAttachEnabled`\" pulumi-lang-dotnet=\"`OptimizedFrequentAttachEnabled`\" pulumi-lang-go=\"`optimizedFrequentAttachEnabled`\" pulumi-lang-python=\"`optimized_frequent_attach_enabled`\" pulumi-lang-yaml=\"`optimizedFrequentAttachEnabled`\" pulumi-lang-java=\"`optimizedFrequentAttachEnabled`\"\u003e`optimized_frequent_attach_enabled`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e causes the disks to not align with the fault domain of the Virtual Machine, which can have operational implications.\n"},"osType":{"type":"string","description":"Specify a value when the source of an `Import`, `ImportSecure` or `Copy` operation targets a source that contains an operating system. Valid values are `Linux` or `Windows`.\n"},"performancePlusEnabled":{"type":"boolean","description":"Specifies whether Performance Plus is enabled for this Managed Disk. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Changing this forces a new resource to be created.\n"},"publicNetworkAccessEnabled":{"type":"boolean","description":"Whether it is allowed to access the disk via public network. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n\nFor more information on managed disks, such as sizing options and pricing, please check out the [Azure Documentation](https://docs.microsoft.com/azure/storage/storage-managed-disks-overview).\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Managed Disk should exist. Changing this forces a new resource to be created.\n"},"secureVmDiskEncryptionSetId":{"type":"string","description":"The ID of the Disk Encryption Set which should be used to Encrypt this OS Disk when the Virtual Machine is a Confidential VM. Conflicts with \u003cspan pulumi-lang-nodejs=\"`diskEncryptionSetId`\" pulumi-lang-dotnet=\"`DiskEncryptionSetId`\" pulumi-lang-go=\"`diskEncryptionSetId`\" pulumi-lang-python=\"`disk_encryption_set_id`\" pulumi-lang-yaml=\"`diskEncryptionSetId`\" pulumi-lang-java=\"`diskEncryptionSetId`\"\u003e`disk_encryption_set_id`\u003c/span\u003e. Changing this forces a new resource to be created.\n\n\u003e **NOTE:** \u003cspan pulumi-lang-nodejs=\"`secureVmDiskEncryptionSetId`\" pulumi-lang-dotnet=\"`SecureVmDiskEncryptionSetId`\" pulumi-lang-go=\"`secureVmDiskEncryptionSetId`\" pulumi-lang-python=\"`secure_vm_disk_encryption_set_id`\" pulumi-lang-yaml=\"`secureVmDiskEncryptionSetId`\" pulumi-lang-java=\"`secureVmDiskEncryptionSetId`\"\u003e`secure_vm_disk_encryption_set_id`\u003c/span\u003e can only be specified when \u003cspan pulumi-lang-nodejs=\"`securityType`\" pulumi-lang-dotnet=\"`SecurityType`\" pulumi-lang-go=\"`securityType`\" pulumi-lang-python=\"`security_type`\" pulumi-lang-yaml=\"`securityType`\" pulumi-lang-java=\"`securityType`\"\u003e`security_type`\u003c/span\u003e is set to `ConfidentialVM_DiskEncryptedWithCustomerKey`.\n"},"securityType":{"type":"string","description":"Security Type of the Managed Disk when it is used for a Confidential VM. Possible values are `ConfidentialVM_VMGuestStateOnlyEncryptedWithPlatformKey`, `ConfidentialVM_DiskEncryptedWithPlatformKey` and `ConfidentialVM_DiskEncryptedWithCustomerKey`. Changing this forces a new resource to be created.\n\n\u003e **NOTE:** When \u003cspan pulumi-lang-nodejs=\"`securityType`\" pulumi-lang-dotnet=\"`SecurityType`\" pulumi-lang-go=\"`securityType`\" pulumi-lang-python=\"`security_type`\" pulumi-lang-yaml=\"`securityType`\" pulumi-lang-java=\"`securityType`\"\u003e`security_type`\u003c/span\u003e is set to `ConfidentialVM_DiskEncryptedWithCustomerKey` the value of \u003cspan pulumi-lang-nodejs=\"`createOption`\" pulumi-lang-dotnet=\"`CreateOption`\" pulumi-lang-go=\"`createOption`\" pulumi-lang-python=\"`create_option`\" pulumi-lang-yaml=\"`createOption`\" pulumi-lang-java=\"`createOption`\"\u003e`create_option`\u003c/span\u003e must be one of `FromImage` or `ImportSecure`.\n\n\n\u003e **NOTE:** \u003cspan pulumi-lang-nodejs=\"`securityType`\" pulumi-lang-dotnet=\"`SecurityType`\" pulumi-lang-go=\"`securityType`\" pulumi-lang-python=\"`security_type`\" pulumi-lang-yaml=\"`securityType`\" pulumi-lang-java=\"`securityType`\"\u003e`security_type`\u003c/span\u003e cannot be specified when \u003cspan pulumi-lang-nodejs=\"`trustedLaunchEnabled`\" pulumi-lang-dotnet=\"`TrustedLaunchEnabled`\" pulumi-lang-go=\"`trustedLaunchEnabled`\" pulumi-lang-python=\"`trusted_launch_enabled`\" pulumi-lang-yaml=\"`trustedLaunchEnabled`\" pulumi-lang-java=\"`trustedLaunchEnabled`\"\u003e`trusted_launch_enabled`\u003c/span\u003e is set to true.\n\n\u003e **NOTE:** \u003cspan pulumi-lang-nodejs=\"`secureVmDiskEncryptionSetId`\" pulumi-lang-dotnet=\"`SecureVmDiskEncryptionSetId`\" pulumi-lang-go=\"`secureVmDiskEncryptionSetId`\" pulumi-lang-python=\"`secure_vm_disk_encryption_set_id`\" pulumi-lang-yaml=\"`secureVmDiskEncryptionSetId`\" pulumi-lang-java=\"`secureVmDiskEncryptionSetId`\"\u003e`secure_vm_disk_encryption_set_id`\u003c/span\u003e must be specified when \u003cspan pulumi-lang-nodejs=\"`securityType`\" pulumi-lang-dotnet=\"`SecurityType`\" pulumi-lang-go=\"`securityType`\" pulumi-lang-python=\"`security_type`\" pulumi-lang-yaml=\"`securityType`\" pulumi-lang-java=\"`securityType`\"\u003e`security_type`\u003c/span\u003e is set to `ConfidentialVM_DiskEncryptedWithCustomerKey`.\n"},"sourceResourceId":{"type":"string","description":"The ID of an existing Managed Disk or Snapshot to copy when \u003cspan pulumi-lang-nodejs=\"`createOption`\" pulumi-lang-dotnet=\"`CreateOption`\" pulumi-lang-go=\"`createOption`\" pulumi-lang-python=\"`create_option`\" pulumi-lang-yaml=\"`createOption`\" pulumi-lang-java=\"`createOption`\"\u003e`create_option`\u003c/span\u003e is `Copy` or the recovery point to restore when \u003cspan pulumi-lang-nodejs=\"`createOption`\" pulumi-lang-dotnet=\"`CreateOption`\" pulumi-lang-go=\"`createOption`\" pulumi-lang-python=\"`create_option`\" pulumi-lang-yaml=\"`createOption`\" pulumi-lang-java=\"`createOption`\"\u003e`create_option`\u003c/span\u003e is `Restore`. Changing this forces a new resource to be created.\n"},"sourceUri":{"type":"string","description":"URI to a valid VHD file to be used when \u003cspan pulumi-lang-nodejs=\"`createOption`\" pulumi-lang-dotnet=\"`CreateOption`\" pulumi-lang-go=\"`createOption`\" pulumi-lang-python=\"`create_option`\" pulumi-lang-yaml=\"`createOption`\" pulumi-lang-java=\"`createOption`\"\u003e`create_option`\u003c/span\u003e is `Import` or `ImportSecure`. Changing this forces a new resource to be created.\n"},"storageAccountId":{"type":"string","description":"The ID of the Storage Account where the \u003cspan pulumi-lang-nodejs=\"`sourceUri`\" pulumi-lang-dotnet=\"`SourceUri`\" pulumi-lang-go=\"`sourceUri`\" pulumi-lang-python=\"`source_uri`\" pulumi-lang-yaml=\"`sourceUri`\" pulumi-lang-java=\"`sourceUri`\"\u003e`source_uri`\u003c/span\u003e is located. Required when \u003cspan pulumi-lang-nodejs=\"`createOption`\" pulumi-lang-dotnet=\"`CreateOption`\" pulumi-lang-go=\"`createOption`\" pulumi-lang-python=\"`create_option`\" pulumi-lang-yaml=\"`createOption`\" pulumi-lang-java=\"`createOption`\"\u003e`create_option`\u003c/span\u003e is set to `Import` or `ImportSecure`. Changing this forces a new resource to be created.\n"},"storageAccountType":{"type":"string","description":"The type of storage to use for the managed disk. Possible values are `Standard_LRS`, `StandardSSD_ZRS`, `Premium_LRS`, `PremiumV2_LRS`, `Premium_ZRS`, `StandardSSD_LRS` or `UltraSSD_LRS`.\n\n\u003e **Note:** Azure Ultra Disk Storage is only available in a region that support availability zones and can only enabled on the following VM series: `ESv3`, `DSv3`, `FSv3`, `LSv2`, `M` and `Mv2`. For more information see the `Azure Ultra Disk Storage` [product documentation](https://docs.microsoft.com/azure/virtual-machines/windows/disks-enable-ultra-ssd).\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"tier":{"type":"string","description":"The disk performance tier to use. Possible values are documented [here](https://docs.microsoft.com/azure/virtual-machines/disks-change-performance). This feature is currently supported only for premium SSDs.\n\n\u003e **NOTE:** Changing this value is disruptive if the disk is attached to a Virtual Machine. The VM will be shut down and de-allocated as required by Azure to action the change. Terraform will attempt to start the machine again after the update if it was in a \u003cspan pulumi-lang-nodejs=\"`running`\" pulumi-lang-dotnet=\"`Running`\" pulumi-lang-go=\"`running`\" pulumi-lang-python=\"`running`\" pulumi-lang-yaml=\"`running`\" pulumi-lang-java=\"`running`\"\u003e`running`\u003c/span\u003e state when the apply was started.\n"},"trustedLaunchEnabled":{"type":"boolean","description":"Specifies if Trusted Launch is enabled for the Managed Disk. Changing this forces a new resource to be created.\n\n\u003e **Note:** Trusted Launch can only be enabled when \u003cspan pulumi-lang-nodejs=\"`createOption`\" pulumi-lang-dotnet=\"`CreateOption`\" pulumi-lang-go=\"`createOption`\" pulumi-lang-python=\"`create_option`\" pulumi-lang-yaml=\"`createOption`\" pulumi-lang-java=\"`createOption`\"\u003e`create_option`\u003c/span\u003e is `FromImage` or `Import`.\n"},"uploadSizeBytes":{"type":"integer","description":"Specifies the size of the managed disk to create in bytes. Required when \u003cspan pulumi-lang-nodejs=\"`createOption`\" pulumi-lang-dotnet=\"`CreateOption`\" pulumi-lang-go=\"`createOption`\" pulumi-lang-python=\"`create_option`\" pulumi-lang-yaml=\"`createOption`\" pulumi-lang-java=\"`createOption`\"\u003e`create_option`\u003c/span\u003e is `Upload`. The value must be equal to the source disk to be copied in bytes. Source disk size could be calculated with `ls -l` or `wc -c`. More information can be found at [Copy a managed disk](https://learn.microsoft.com/en-us/azure/virtual-machines/linux/disks-upload-vhd-to-managed-disk-cli#copy-a-managed-disk). Changing this forces a new resource to be created.\n"},"zone":{"type":"string","description":"Specifies the Availability Zone in which this Managed Disk should be located. Changing this property forces a new resource to be created.\n\n\u003e **Note:** Availability Zones are [only supported in select regions at this time](https://docs.microsoft.com/azure/availability-zones/az-overview).\n"}},"required":["createOption","diskIopsReadOnly","diskIopsReadWrite","diskMbpsReadOnly","diskMbpsReadWrite","diskSizeGb","location","logicalSectorSize","maxShares","name","resourceGroupName","sourceUri","storageAccountType","tier"],"inputProperties":{"createOption":{"type":"string","description":"The method to use when creating the managed disk. Changing this forces a new resource to be created. Possible values include:\n* `Import` - Import a VHD file in to the managed disk (VHD specified with \u003cspan pulumi-lang-nodejs=\"`sourceUri`\" pulumi-lang-dotnet=\"`SourceUri`\" pulumi-lang-go=\"`sourceUri`\" pulumi-lang-python=\"`source_uri`\" pulumi-lang-yaml=\"`sourceUri`\" pulumi-lang-java=\"`sourceUri`\"\u003e`source_uri`\u003c/span\u003e).\n* `ImportSecure` - Securely import a VHD file in to the managed disk (VHD specified with \u003cspan pulumi-lang-nodejs=\"`sourceUri`\" pulumi-lang-dotnet=\"`SourceUri`\" pulumi-lang-go=\"`sourceUri`\" pulumi-lang-python=\"`source_uri`\" pulumi-lang-yaml=\"`sourceUri`\" pulumi-lang-java=\"`sourceUri`\"\u003e`source_uri`\u003c/span\u003e).\n* `Empty` - Create an empty managed disk.\n* `Copy` - Copy an existing managed disk or snapshot (specified with \u003cspan pulumi-lang-nodejs=\"`sourceResourceId`\" pulumi-lang-dotnet=\"`SourceResourceId`\" pulumi-lang-go=\"`sourceResourceId`\" pulumi-lang-python=\"`source_resource_id`\" pulumi-lang-yaml=\"`sourceResourceId`\" pulumi-lang-java=\"`sourceResourceId`\"\u003e`source_resource_id`\u003c/span\u003e).\n* `FromImage` - Copy a Platform Image (specified with \u003cspan pulumi-lang-nodejs=\"`imageReferenceId`\" pulumi-lang-dotnet=\"`ImageReferenceId`\" pulumi-lang-go=\"`imageReferenceId`\" pulumi-lang-python=\"`image_reference_id`\" pulumi-lang-yaml=\"`imageReferenceId`\" pulumi-lang-java=\"`imageReferenceId`\"\u003e`image_reference_id`\u003c/span\u003e)\n* `Restore` - Set by Azure Backup or Site Recovery on a restored disk (specified with \u003cspan pulumi-lang-nodejs=\"`sourceResourceId`\" pulumi-lang-dotnet=\"`SourceResourceId`\" pulumi-lang-go=\"`sourceResourceId`\" pulumi-lang-python=\"`source_resource_id`\" pulumi-lang-yaml=\"`sourceResourceId`\" pulumi-lang-java=\"`sourceResourceId`\"\u003e`source_resource_id`\u003c/span\u003e).\n* `Upload` - Upload a VHD disk with the help of SAS URL (to be used with \u003cspan pulumi-lang-nodejs=\"`uploadSizeBytes`\" pulumi-lang-dotnet=\"`UploadSizeBytes`\" pulumi-lang-go=\"`uploadSizeBytes`\" pulumi-lang-python=\"`upload_size_bytes`\" pulumi-lang-yaml=\"`uploadSizeBytes`\" pulumi-lang-java=\"`uploadSizeBytes`\"\u003e`upload_size_bytes`\u003c/span\u003e).\n","willReplaceOnChanges":true},"diskAccessId":{"type":"string","description":"The ID of the disk access resource for using private endpoints on disks.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`diskAccessId`\" pulumi-lang-dotnet=\"`DiskAccessId`\" pulumi-lang-go=\"`diskAccessId`\" pulumi-lang-python=\"`disk_access_id`\" pulumi-lang-yaml=\"`diskAccessId`\" pulumi-lang-java=\"`diskAccessId`\"\u003e`disk_access_id`\u003c/span\u003e is only supported when \u003cspan pulumi-lang-nodejs=\"`networkAccessPolicy`\" pulumi-lang-dotnet=\"`NetworkAccessPolicy`\" pulumi-lang-go=\"`networkAccessPolicy`\" pulumi-lang-python=\"`network_access_policy`\" pulumi-lang-yaml=\"`networkAccessPolicy`\" pulumi-lang-java=\"`networkAccessPolicy`\"\u003e`network_access_policy`\u003c/span\u003e is set to `AllowPrivate`.\n"},"diskEncryptionSetId":{"type":"string","description":"The ID of a Disk Encryption Set which should be used to encrypt this Managed Disk. Conflicts with \u003cspan pulumi-lang-nodejs=\"`secureVmDiskEncryptionSetId`\" pulumi-lang-dotnet=\"`SecureVmDiskEncryptionSetId`\" pulumi-lang-go=\"`secureVmDiskEncryptionSetId`\" pulumi-lang-python=\"`secure_vm_disk_encryption_set_id`\" pulumi-lang-yaml=\"`secureVmDiskEncryptionSetId`\" pulumi-lang-java=\"`secureVmDiskEncryptionSetId`\"\u003e`secure_vm_disk_encryption_set_id`\u003c/span\u003e.\n\n\u003e **NOTE:** The Disk Encryption Set must have the `Reader` Role Assignment scoped on the Key Vault - in addition to an Access Policy to the Key Vault\n\n\u003e **NOTE:** Disk Encryption Sets are in Public Preview in a limited set of regions\n"},"diskIopsReadOnly":{"type":"integer","description":"The number of IOPS allowed across all VMs mounting the shared disk as read-only; only settable for UltraSSD disks and PremiumV2 disks with shared disk enabled. One operation can transfer between 4k and 256k bytes.\n"},"diskIopsReadWrite":{"type":"integer","description":"The number of IOPS allowed for this disk; only settable for UltraSSD disks and PremiumV2 disks. One operation can transfer between 4k and 256k bytes.\n"},"diskMbpsReadOnly":{"type":"integer","description":"The bandwidth allowed across all VMs mounting the shared disk as read-only; only settable for UltraSSD disks and PremiumV2 disks with shared disk enabled. MBps means millions of bytes per second.\n"},"diskMbpsReadWrite":{"type":"integer","description":"The bandwidth allowed for this disk; only settable for UltraSSD disks and PremiumV2 disks. MBps means millions of bytes per second.\n"},"diskSizeGb":{"type":"integer","description":"(Optional, Required for a new managed disk) Specifies the size of the managed disk to create in gigabytes. If \u003cspan pulumi-lang-nodejs=\"`createOption`\" pulumi-lang-dotnet=\"`CreateOption`\" pulumi-lang-go=\"`createOption`\" pulumi-lang-python=\"`create_option`\" pulumi-lang-yaml=\"`createOption`\" pulumi-lang-java=\"`createOption`\"\u003e`create_option`\u003c/span\u003e is `Copy` or `FromImage`, then the value must be equal to or greater than the source's size. The size can only be increased.\n\n\u003e **NOTE:** In certain conditions the Data Disk size can be updated without shutting down the Virtual Machine, however only a subset of Virtual Machine SKUs/Disk combinations support this. More information can be found [for Linux Virtual Machines](https://learn.microsoft.com/en-us/azure/virtual-machines/linux/expand-disks?tabs=azure-cli%2Cubuntu#expand-without-downtime) and [Windows Virtual Machines](https://learn.microsoft.com/azure/virtual-machines/windows/expand-os-disk#expand-without-downtime) respectively.\n\n\u003e **NOTE:** If No Downtime Resizing is not available, be aware that changing this value is disruptive if the disk is attached to a Virtual Machine. The VM will be shut down and de-allocated as required by Azure to action the change. The provider will attempt to start the machine again after the update if it was in a \u003cspan pulumi-lang-nodejs=\"`running`\" pulumi-lang-dotnet=\"`Running`\" pulumi-lang-go=\"`running`\" pulumi-lang-python=\"`running`\" pulumi-lang-yaml=\"`running`\" pulumi-lang-java=\"`running`\"\u003e`running`\u003c/span\u003e state when the apply was started.\n\n\u003e **NOTE:** When upgrading \u003cspan pulumi-lang-nodejs=\"`diskSizeGb`\" pulumi-lang-dotnet=\"`DiskSizeGb`\" pulumi-lang-go=\"`diskSizeGb`\" pulumi-lang-python=\"`disk_size_gb`\" pulumi-lang-yaml=\"`diskSizeGb`\" pulumi-lang-java=\"`diskSizeGb`\"\u003e`disk_size_gb`\u003c/span\u003e from a value less than 4095 to one greater than 4095, and if \u003cspan pulumi-lang-nodejs=\"`storageAccountType`\" pulumi-lang-dotnet=\"`StorageAccountType`\" pulumi-lang-go=\"`storageAccountType`\" pulumi-lang-python=\"`storage_account_type`\" pulumi-lang-yaml=\"`storageAccountType`\" pulumi-lang-java=\"`storageAccountType`\"\u003e`storage_account_type`\u003c/span\u003e is not set to `PremiumV2_LRS` or `UltraSSD_LRS`, the disk will be detached from its associated Virtual Machine as required by Azure to action the change. Terraform will attempt to reattach the disk again after the update.\n\n\u003e **Note:** Expanding Ultra Disks and Premium SSD v2 disks without downtime has additional limitations. Allow up to 10 minutes for the correct size to be reflected, and a \u003cspan pulumi-lang-nodejs=\"`rescan`\" pulumi-lang-dotnet=\"`Rescan`\" pulumi-lang-go=\"`rescan`\" pulumi-lang-python=\"`rescan`\" pulumi-lang-yaml=\"`rescan`\" pulumi-lang-java=\"`rescan`\"\u003e`rescan`\u003c/span\u003e function may be required. For more details, refer to [Expand with Ultra Disks and Premium SSD v2](https://learn.microsoft.com/azure/virtual-machines/linux/expand-disks?tabs=ubuntu#expand-with-ultra-disks-and-premium-ssd-v2).\n"},"edgeZone":{"type":"string","description":"Specifies the Edge Zone within the Azure Region where this Managed Disk should exist. Changing this forces a new Managed Disk to be created.\n","willReplaceOnChanges":true},"encryptionSettings":{"$ref":"#/types/azure:compute/ManagedDiskEncryptionSettings:ManagedDiskEncryptionSettings","description":"A \u003cspan pulumi-lang-nodejs=\"`encryptionSettings`\" pulumi-lang-dotnet=\"`EncryptionSettings`\" pulumi-lang-go=\"`encryptionSettings`\" pulumi-lang-python=\"`encryption_settings`\" pulumi-lang-yaml=\"`encryptionSettings`\" pulumi-lang-java=\"`encryptionSettings`\"\u003e`encryption_settings`\u003c/span\u003e block as defined below.\n\n\u003e **NOTE:** Removing \u003cspan pulumi-lang-nodejs=\"`encryptionSettings`\" pulumi-lang-dotnet=\"`EncryptionSettings`\" pulumi-lang-go=\"`encryptionSettings`\" pulumi-lang-python=\"`encryption_settings`\" pulumi-lang-yaml=\"`encryptionSettings`\" pulumi-lang-java=\"`encryptionSettings`\"\u003e`encryption_settings`\u003c/span\u003e forces a new resource to be created.\n"},"galleryImageReferenceId":{"type":"string","description":"ID of a Gallery Image Version to copy when \u003cspan pulumi-lang-nodejs=\"`createOption`\" pulumi-lang-dotnet=\"`CreateOption`\" pulumi-lang-go=\"`createOption`\" pulumi-lang-python=\"`create_option`\" pulumi-lang-yaml=\"`createOption`\" pulumi-lang-java=\"`createOption`\"\u003e`create_option`\u003c/span\u003e is `FromImage`. This field cannot be specified if\u003cspan pulumi-lang-nodejs=\" imageReferenceId \" pulumi-lang-dotnet=\" ImageReferenceId \" pulumi-lang-go=\" imageReferenceId \" pulumi-lang-python=\" image_reference_id \" pulumi-lang-yaml=\" imageReferenceId \" pulumi-lang-java=\" imageReferenceId \"\u003e image_reference_id \u003c/span\u003eis specified. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"hyperVGeneration":{"type":"string","description":"The HyperV Generation of the Disk when the source of an `Import` or `Copy` operation targets a source that contains an operating system. Possible values are `V1` and `V2`. For `ImportSecure` it must be set to `V2`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"imageReferenceId":{"type":"string","description":"ID of an existing platform/marketplace disk image to copy when \u003cspan pulumi-lang-nodejs=\"`createOption`\" pulumi-lang-dotnet=\"`CreateOption`\" pulumi-lang-go=\"`createOption`\" pulumi-lang-python=\"`create_option`\" pulumi-lang-yaml=\"`createOption`\" pulumi-lang-java=\"`createOption`\"\u003e`create_option`\u003c/span\u003e is `FromImage`. This field cannot be specified if\u003cspan pulumi-lang-nodejs=\" galleryImageReferenceId \" pulumi-lang-dotnet=\" GalleryImageReferenceId \" pulumi-lang-go=\" galleryImageReferenceId \" pulumi-lang-python=\" gallery_image_reference_id \" pulumi-lang-yaml=\" galleryImageReferenceId \" pulumi-lang-java=\" galleryImageReferenceId \"\u003e gallery_image_reference_id \u003c/span\u003eis specified. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"location":{"type":"string","description":"Specified the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"logicalSectorSize":{"type":"integer","description":"Logical Sector Size. Possible values are: \u003cspan pulumi-lang-nodejs=\"`512`\" pulumi-lang-dotnet=\"`512`\" pulumi-lang-go=\"`512`\" pulumi-lang-python=\"`512`\" pulumi-lang-yaml=\"`512`\" pulumi-lang-java=\"`512`\"\u003e`512`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`4096`\" pulumi-lang-dotnet=\"`4096`\" pulumi-lang-go=\"`4096`\" pulumi-lang-python=\"`4096`\" pulumi-lang-yaml=\"`4096`\" pulumi-lang-java=\"`4096`\"\u003e`4096`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`4096`\" pulumi-lang-dotnet=\"`4096`\" pulumi-lang-go=\"`4096`\" pulumi-lang-python=\"`4096`\" pulumi-lang-yaml=\"`4096`\" pulumi-lang-java=\"`4096`\"\u003e`4096`\u003c/span\u003e. Changing this forces a new resource to be created.\n\n\u003e **NOTE:** Setting logical sector size is supported only with `UltraSSD_LRS` disks and `PremiumV2_LRS` disks.\n","willReplaceOnChanges":true},"maxShares":{"type":"integer","description":"The maximum number of VMs that can attach to the disk at the same time. Value greater than one indicates a disk that can be mounted on multiple VMs at the same time.\n\n\u003e **Note:** Premium SSD maxShares limit: `P15` and `P20` disks: 2. `P30`,`P40`,`P50` disks: 5. `P60`,`P70`,`P80` disks: 10. For ultra disks the \u003cspan pulumi-lang-nodejs=\"`maxShares`\" pulumi-lang-dotnet=\"`MaxShares`\" pulumi-lang-go=\"`maxShares`\" pulumi-lang-python=\"`max_shares`\" pulumi-lang-yaml=\"`maxShares`\" pulumi-lang-java=\"`maxShares`\"\u003e`max_shares`\u003c/span\u003e minimum value is 1 and the maximum is 5.\n"},"name":{"type":"string","description":"Specifies the name of the Managed Disk. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"networkAccessPolicy":{"type":"string","description":"Policy for accessing the disk via network. Allowed values are `AllowAll`, `AllowPrivate`, and `DenyAll`. Defaults to `AllowAll`.\n"},"onDemandBurstingEnabled":{"type":"boolean","description":"Specifies if On-Demand Bursting is enabled for the Managed Disk.\n\n\u003e **Note:** Credit-Based Bursting is enabled by default on all eligible disks. More information on [Credit-Based and On-Demand Bursting can be found in the documentation](https://docs.microsoft.com/azure/virtual-machines/disk-bursting#disk-level-bursting).\n"},"optimizedFrequentAttachEnabled":{"type":"boolean","description":"Specifies whether this Managed Disk should be optimized for frequent disk attachments (where a disk is attached/detached more than 5 times in a day). Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** Setting \u003cspan pulumi-lang-nodejs=\"`optimizedFrequentAttachEnabled`\" pulumi-lang-dotnet=\"`OptimizedFrequentAttachEnabled`\" pulumi-lang-go=\"`optimizedFrequentAttachEnabled`\" pulumi-lang-python=\"`optimized_frequent_attach_enabled`\" pulumi-lang-yaml=\"`optimizedFrequentAttachEnabled`\" pulumi-lang-java=\"`optimizedFrequentAttachEnabled`\"\u003e`optimized_frequent_attach_enabled`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e causes the disks to not align with the fault domain of the Virtual Machine, which can have operational implications.\n"},"osType":{"type":"string","description":"Specify a value when the source of an `Import`, `ImportSecure` or `Copy` operation targets a source that contains an operating system. Valid values are `Linux` or `Windows`.\n"},"performancePlusEnabled":{"type":"boolean","description":"Specifies whether Performance Plus is enabled for this Managed Disk. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"publicNetworkAccessEnabled":{"type":"boolean","description":"Whether it is allowed to access the disk via public network. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n\nFor more information on managed disks, such as sizing options and pricing, please check out the [Azure Documentation](https://docs.microsoft.com/azure/storage/storage-managed-disks-overview).\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Managed Disk should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"secureVmDiskEncryptionSetId":{"type":"string","description":"The ID of the Disk Encryption Set which should be used to Encrypt this OS Disk when the Virtual Machine is a Confidential VM. Conflicts with \u003cspan pulumi-lang-nodejs=\"`diskEncryptionSetId`\" pulumi-lang-dotnet=\"`DiskEncryptionSetId`\" pulumi-lang-go=\"`diskEncryptionSetId`\" pulumi-lang-python=\"`disk_encryption_set_id`\" pulumi-lang-yaml=\"`diskEncryptionSetId`\" pulumi-lang-java=\"`diskEncryptionSetId`\"\u003e`disk_encryption_set_id`\u003c/span\u003e. Changing this forces a new resource to be created.\n\n\u003e **NOTE:** \u003cspan pulumi-lang-nodejs=\"`secureVmDiskEncryptionSetId`\" pulumi-lang-dotnet=\"`SecureVmDiskEncryptionSetId`\" pulumi-lang-go=\"`secureVmDiskEncryptionSetId`\" pulumi-lang-python=\"`secure_vm_disk_encryption_set_id`\" pulumi-lang-yaml=\"`secureVmDiskEncryptionSetId`\" pulumi-lang-java=\"`secureVmDiskEncryptionSetId`\"\u003e`secure_vm_disk_encryption_set_id`\u003c/span\u003e can only be specified when \u003cspan pulumi-lang-nodejs=\"`securityType`\" pulumi-lang-dotnet=\"`SecurityType`\" pulumi-lang-go=\"`securityType`\" pulumi-lang-python=\"`security_type`\" pulumi-lang-yaml=\"`securityType`\" pulumi-lang-java=\"`securityType`\"\u003e`security_type`\u003c/span\u003e is set to `ConfidentialVM_DiskEncryptedWithCustomerKey`.\n","willReplaceOnChanges":true},"securityType":{"type":"string","description":"Security Type of the Managed Disk when it is used for a Confidential VM. Possible values are `ConfidentialVM_VMGuestStateOnlyEncryptedWithPlatformKey`, `ConfidentialVM_DiskEncryptedWithPlatformKey` and `ConfidentialVM_DiskEncryptedWithCustomerKey`. Changing this forces a new resource to be created.\n\n\u003e **NOTE:** When \u003cspan pulumi-lang-nodejs=\"`securityType`\" pulumi-lang-dotnet=\"`SecurityType`\" pulumi-lang-go=\"`securityType`\" pulumi-lang-python=\"`security_type`\" pulumi-lang-yaml=\"`securityType`\" pulumi-lang-java=\"`securityType`\"\u003e`security_type`\u003c/span\u003e is set to `ConfidentialVM_DiskEncryptedWithCustomerKey` the value of \u003cspan pulumi-lang-nodejs=\"`createOption`\" pulumi-lang-dotnet=\"`CreateOption`\" pulumi-lang-go=\"`createOption`\" pulumi-lang-python=\"`create_option`\" pulumi-lang-yaml=\"`createOption`\" pulumi-lang-java=\"`createOption`\"\u003e`create_option`\u003c/span\u003e must be one of `FromImage` or `ImportSecure`.\n\n\n\u003e **NOTE:** \u003cspan pulumi-lang-nodejs=\"`securityType`\" pulumi-lang-dotnet=\"`SecurityType`\" pulumi-lang-go=\"`securityType`\" pulumi-lang-python=\"`security_type`\" pulumi-lang-yaml=\"`securityType`\" pulumi-lang-java=\"`securityType`\"\u003e`security_type`\u003c/span\u003e cannot be specified when \u003cspan pulumi-lang-nodejs=\"`trustedLaunchEnabled`\" pulumi-lang-dotnet=\"`TrustedLaunchEnabled`\" pulumi-lang-go=\"`trustedLaunchEnabled`\" pulumi-lang-python=\"`trusted_launch_enabled`\" pulumi-lang-yaml=\"`trustedLaunchEnabled`\" pulumi-lang-java=\"`trustedLaunchEnabled`\"\u003e`trusted_launch_enabled`\u003c/span\u003e is set to true.\n\n\u003e **NOTE:** \u003cspan pulumi-lang-nodejs=\"`secureVmDiskEncryptionSetId`\" pulumi-lang-dotnet=\"`SecureVmDiskEncryptionSetId`\" pulumi-lang-go=\"`secureVmDiskEncryptionSetId`\" pulumi-lang-python=\"`secure_vm_disk_encryption_set_id`\" pulumi-lang-yaml=\"`secureVmDiskEncryptionSetId`\" pulumi-lang-java=\"`secureVmDiskEncryptionSetId`\"\u003e`secure_vm_disk_encryption_set_id`\u003c/span\u003e must be specified when \u003cspan pulumi-lang-nodejs=\"`securityType`\" pulumi-lang-dotnet=\"`SecurityType`\" pulumi-lang-go=\"`securityType`\" pulumi-lang-python=\"`security_type`\" pulumi-lang-yaml=\"`securityType`\" pulumi-lang-java=\"`securityType`\"\u003e`security_type`\u003c/span\u003e is set to `ConfidentialVM_DiskEncryptedWithCustomerKey`.\n","willReplaceOnChanges":true},"sourceResourceId":{"type":"string","description":"The ID of an existing Managed Disk or Snapshot to copy when \u003cspan pulumi-lang-nodejs=\"`createOption`\" pulumi-lang-dotnet=\"`CreateOption`\" pulumi-lang-go=\"`createOption`\" pulumi-lang-python=\"`create_option`\" pulumi-lang-yaml=\"`createOption`\" pulumi-lang-java=\"`createOption`\"\u003e`create_option`\u003c/span\u003e is `Copy` or the recovery point to restore when \u003cspan pulumi-lang-nodejs=\"`createOption`\" pulumi-lang-dotnet=\"`CreateOption`\" pulumi-lang-go=\"`createOption`\" pulumi-lang-python=\"`create_option`\" pulumi-lang-yaml=\"`createOption`\" pulumi-lang-java=\"`createOption`\"\u003e`create_option`\u003c/span\u003e is `Restore`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sourceUri":{"type":"string","description":"URI to a valid VHD file to be used when \u003cspan pulumi-lang-nodejs=\"`createOption`\" pulumi-lang-dotnet=\"`CreateOption`\" pulumi-lang-go=\"`createOption`\" pulumi-lang-python=\"`create_option`\" pulumi-lang-yaml=\"`createOption`\" pulumi-lang-java=\"`createOption`\"\u003e`create_option`\u003c/span\u003e is `Import` or `ImportSecure`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"storageAccountId":{"type":"string","description":"The ID of the Storage Account where the \u003cspan pulumi-lang-nodejs=\"`sourceUri`\" pulumi-lang-dotnet=\"`SourceUri`\" pulumi-lang-go=\"`sourceUri`\" pulumi-lang-python=\"`source_uri`\" pulumi-lang-yaml=\"`sourceUri`\" pulumi-lang-java=\"`sourceUri`\"\u003e`source_uri`\u003c/span\u003e is located. Required when \u003cspan pulumi-lang-nodejs=\"`createOption`\" pulumi-lang-dotnet=\"`CreateOption`\" pulumi-lang-go=\"`createOption`\" pulumi-lang-python=\"`create_option`\" pulumi-lang-yaml=\"`createOption`\" pulumi-lang-java=\"`createOption`\"\u003e`create_option`\u003c/span\u003e is set to `Import` or `ImportSecure`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"storageAccountType":{"type":"string","description":"The type of storage to use for the managed disk. Possible values are `Standard_LRS`, `StandardSSD_ZRS`, `Premium_LRS`, `PremiumV2_LRS`, `Premium_ZRS`, `StandardSSD_LRS` or `UltraSSD_LRS`.\n\n\u003e **Note:** Azure Ultra Disk Storage is only available in a region that support availability zones and can only enabled on the following VM series: `ESv3`, `DSv3`, `FSv3`, `LSv2`, `M` and `Mv2`. For more information see the `Azure Ultra Disk Storage` [product documentation](https://docs.microsoft.com/azure/virtual-machines/windows/disks-enable-ultra-ssd).\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"tier":{"type":"string","description":"The disk performance tier to use. Possible values are documented [here](https://docs.microsoft.com/azure/virtual-machines/disks-change-performance). This feature is currently supported only for premium SSDs.\n\n\u003e **NOTE:** Changing this value is disruptive if the disk is attached to a Virtual Machine. The VM will be shut down and de-allocated as required by Azure to action the change. Terraform will attempt to start the machine again after the update if it was in a \u003cspan pulumi-lang-nodejs=\"`running`\" pulumi-lang-dotnet=\"`Running`\" pulumi-lang-go=\"`running`\" pulumi-lang-python=\"`running`\" pulumi-lang-yaml=\"`running`\" pulumi-lang-java=\"`running`\"\u003e`running`\u003c/span\u003e state when the apply was started.\n"},"trustedLaunchEnabled":{"type":"boolean","description":"Specifies if Trusted Launch is enabled for the Managed Disk. Changing this forces a new resource to be created.\n\n\u003e **Note:** Trusted Launch can only be enabled when \u003cspan pulumi-lang-nodejs=\"`createOption`\" pulumi-lang-dotnet=\"`CreateOption`\" pulumi-lang-go=\"`createOption`\" pulumi-lang-python=\"`create_option`\" pulumi-lang-yaml=\"`createOption`\" pulumi-lang-java=\"`createOption`\"\u003e`create_option`\u003c/span\u003e is `FromImage` or `Import`.\n","willReplaceOnChanges":true},"uploadSizeBytes":{"type":"integer","description":"Specifies the size of the managed disk to create in bytes. Required when \u003cspan pulumi-lang-nodejs=\"`createOption`\" pulumi-lang-dotnet=\"`CreateOption`\" pulumi-lang-go=\"`createOption`\" pulumi-lang-python=\"`create_option`\" pulumi-lang-yaml=\"`createOption`\" pulumi-lang-java=\"`createOption`\"\u003e`create_option`\u003c/span\u003e is `Upload`. The value must be equal to the source disk to be copied in bytes. Source disk size could be calculated with `ls -l` or `wc -c`. More information can be found at [Copy a managed disk](https://learn.microsoft.com/en-us/azure/virtual-machines/linux/disks-upload-vhd-to-managed-disk-cli#copy-a-managed-disk). Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"zone":{"type":"string","description":"Specifies the Availability Zone in which this Managed Disk should be located. Changing this property forces a new resource to be created.\n\n\u003e **Note:** Availability Zones are [only supported in select regions at this time](https://docs.microsoft.com/azure/availability-zones/az-overview).\n","willReplaceOnChanges":true}},"requiredInputs":["createOption","resourceGroupName","storageAccountType"],"stateInputs":{"description":"Input properties used for looking up and filtering ManagedDisk resources.\n","properties":{"createOption":{"type":"string","description":"The method to use when creating the managed disk. Changing this forces a new resource to be created. Possible values include:\n* `Import` - Import a VHD file in to the managed disk (VHD specified with \u003cspan pulumi-lang-nodejs=\"`sourceUri`\" pulumi-lang-dotnet=\"`SourceUri`\" pulumi-lang-go=\"`sourceUri`\" pulumi-lang-python=\"`source_uri`\" pulumi-lang-yaml=\"`sourceUri`\" pulumi-lang-java=\"`sourceUri`\"\u003e`source_uri`\u003c/span\u003e).\n* `ImportSecure` - Securely import a VHD file in to the managed disk (VHD specified with \u003cspan pulumi-lang-nodejs=\"`sourceUri`\" pulumi-lang-dotnet=\"`SourceUri`\" pulumi-lang-go=\"`sourceUri`\" pulumi-lang-python=\"`source_uri`\" pulumi-lang-yaml=\"`sourceUri`\" pulumi-lang-java=\"`sourceUri`\"\u003e`source_uri`\u003c/span\u003e).\n* `Empty` - Create an empty managed disk.\n* `Copy` - Copy an existing managed disk or snapshot (specified with \u003cspan pulumi-lang-nodejs=\"`sourceResourceId`\" pulumi-lang-dotnet=\"`SourceResourceId`\" pulumi-lang-go=\"`sourceResourceId`\" pulumi-lang-python=\"`source_resource_id`\" pulumi-lang-yaml=\"`sourceResourceId`\" pulumi-lang-java=\"`sourceResourceId`\"\u003e`source_resource_id`\u003c/span\u003e).\n* `FromImage` - Copy a Platform Image (specified with \u003cspan pulumi-lang-nodejs=\"`imageReferenceId`\" pulumi-lang-dotnet=\"`ImageReferenceId`\" pulumi-lang-go=\"`imageReferenceId`\" pulumi-lang-python=\"`image_reference_id`\" pulumi-lang-yaml=\"`imageReferenceId`\" pulumi-lang-java=\"`imageReferenceId`\"\u003e`image_reference_id`\u003c/span\u003e)\n* `Restore` - Set by Azure Backup or Site Recovery on a restored disk (specified with \u003cspan pulumi-lang-nodejs=\"`sourceResourceId`\" pulumi-lang-dotnet=\"`SourceResourceId`\" pulumi-lang-go=\"`sourceResourceId`\" pulumi-lang-python=\"`source_resource_id`\" pulumi-lang-yaml=\"`sourceResourceId`\" pulumi-lang-java=\"`sourceResourceId`\"\u003e`source_resource_id`\u003c/span\u003e).\n* `Upload` - Upload a VHD disk with the help of SAS URL (to be used with \u003cspan pulumi-lang-nodejs=\"`uploadSizeBytes`\" pulumi-lang-dotnet=\"`UploadSizeBytes`\" pulumi-lang-go=\"`uploadSizeBytes`\" pulumi-lang-python=\"`upload_size_bytes`\" pulumi-lang-yaml=\"`uploadSizeBytes`\" pulumi-lang-java=\"`uploadSizeBytes`\"\u003e`upload_size_bytes`\u003c/span\u003e).\n","willReplaceOnChanges":true},"diskAccessId":{"type":"string","description":"The ID of the disk access resource for using private endpoints on disks.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`diskAccessId`\" pulumi-lang-dotnet=\"`DiskAccessId`\" pulumi-lang-go=\"`diskAccessId`\" pulumi-lang-python=\"`disk_access_id`\" pulumi-lang-yaml=\"`diskAccessId`\" pulumi-lang-java=\"`diskAccessId`\"\u003e`disk_access_id`\u003c/span\u003e is only supported when \u003cspan pulumi-lang-nodejs=\"`networkAccessPolicy`\" pulumi-lang-dotnet=\"`NetworkAccessPolicy`\" pulumi-lang-go=\"`networkAccessPolicy`\" pulumi-lang-python=\"`network_access_policy`\" pulumi-lang-yaml=\"`networkAccessPolicy`\" pulumi-lang-java=\"`networkAccessPolicy`\"\u003e`network_access_policy`\u003c/span\u003e is set to `AllowPrivate`.\n"},"diskEncryptionSetId":{"type":"string","description":"The ID of a Disk Encryption Set which should be used to encrypt this Managed Disk. Conflicts with \u003cspan pulumi-lang-nodejs=\"`secureVmDiskEncryptionSetId`\" pulumi-lang-dotnet=\"`SecureVmDiskEncryptionSetId`\" pulumi-lang-go=\"`secureVmDiskEncryptionSetId`\" pulumi-lang-python=\"`secure_vm_disk_encryption_set_id`\" pulumi-lang-yaml=\"`secureVmDiskEncryptionSetId`\" pulumi-lang-java=\"`secureVmDiskEncryptionSetId`\"\u003e`secure_vm_disk_encryption_set_id`\u003c/span\u003e.\n\n\u003e **NOTE:** The Disk Encryption Set must have the `Reader` Role Assignment scoped on the Key Vault - in addition to an Access Policy to the Key Vault\n\n\u003e **NOTE:** Disk Encryption Sets are in Public Preview in a limited set of regions\n"},"diskIopsReadOnly":{"type":"integer","description":"The number of IOPS allowed across all VMs mounting the shared disk as read-only; only settable for UltraSSD disks and PremiumV2 disks with shared disk enabled. One operation can transfer between 4k and 256k bytes.\n"},"diskIopsReadWrite":{"type":"integer","description":"The number of IOPS allowed for this disk; only settable for UltraSSD disks and PremiumV2 disks. One operation can transfer between 4k and 256k bytes.\n"},"diskMbpsReadOnly":{"type":"integer","description":"The bandwidth allowed across all VMs mounting the shared disk as read-only; only settable for UltraSSD disks and PremiumV2 disks with shared disk enabled. MBps means millions of bytes per second.\n"},"diskMbpsReadWrite":{"type":"integer","description":"The bandwidth allowed for this disk; only settable for UltraSSD disks and PremiumV2 disks. MBps means millions of bytes per second.\n"},"diskSizeGb":{"type":"integer","description":"(Optional, Required for a new managed disk) Specifies the size of the managed disk to create in gigabytes. If \u003cspan pulumi-lang-nodejs=\"`createOption`\" pulumi-lang-dotnet=\"`CreateOption`\" pulumi-lang-go=\"`createOption`\" pulumi-lang-python=\"`create_option`\" pulumi-lang-yaml=\"`createOption`\" pulumi-lang-java=\"`createOption`\"\u003e`create_option`\u003c/span\u003e is `Copy` or `FromImage`, then the value must be equal to or greater than the source's size. The size can only be increased.\n\n\u003e **NOTE:** In certain conditions the Data Disk size can be updated without shutting down the Virtual Machine, however only a subset of Virtual Machine SKUs/Disk combinations support this. More information can be found [for Linux Virtual Machines](https://learn.microsoft.com/en-us/azure/virtual-machines/linux/expand-disks?tabs=azure-cli%2Cubuntu#expand-without-downtime) and [Windows Virtual Machines](https://learn.microsoft.com/azure/virtual-machines/windows/expand-os-disk#expand-without-downtime) respectively.\n\n\u003e **NOTE:** If No Downtime Resizing is not available, be aware that changing this value is disruptive if the disk is attached to a Virtual Machine. The VM will be shut down and de-allocated as required by Azure to action the change. The provider will attempt to start the machine again after the update if it was in a \u003cspan pulumi-lang-nodejs=\"`running`\" pulumi-lang-dotnet=\"`Running`\" pulumi-lang-go=\"`running`\" pulumi-lang-python=\"`running`\" pulumi-lang-yaml=\"`running`\" pulumi-lang-java=\"`running`\"\u003e`running`\u003c/span\u003e state when the apply was started.\n\n\u003e **NOTE:** When upgrading \u003cspan pulumi-lang-nodejs=\"`diskSizeGb`\" pulumi-lang-dotnet=\"`DiskSizeGb`\" pulumi-lang-go=\"`diskSizeGb`\" pulumi-lang-python=\"`disk_size_gb`\" pulumi-lang-yaml=\"`diskSizeGb`\" pulumi-lang-java=\"`diskSizeGb`\"\u003e`disk_size_gb`\u003c/span\u003e from a value less than 4095 to one greater than 4095, and if \u003cspan pulumi-lang-nodejs=\"`storageAccountType`\" pulumi-lang-dotnet=\"`StorageAccountType`\" pulumi-lang-go=\"`storageAccountType`\" pulumi-lang-python=\"`storage_account_type`\" pulumi-lang-yaml=\"`storageAccountType`\" pulumi-lang-java=\"`storageAccountType`\"\u003e`storage_account_type`\u003c/span\u003e is not set to `PremiumV2_LRS` or `UltraSSD_LRS`, the disk will be detached from its associated Virtual Machine as required by Azure to action the change. Terraform will attempt to reattach the disk again after the update.\n\n\u003e **Note:** Expanding Ultra Disks and Premium SSD v2 disks without downtime has additional limitations. Allow up to 10 minutes for the correct size to be reflected, and a \u003cspan pulumi-lang-nodejs=\"`rescan`\" pulumi-lang-dotnet=\"`Rescan`\" pulumi-lang-go=\"`rescan`\" pulumi-lang-python=\"`rescan`\" pulumi-lang-yaml=\"`rescan`\" pulumi-lang-java=\"`rescan`\"\u003e`rescan`\u003c/span\u003e function may be required. For more details, refer to [Expand with Ultra Disks and Premium SSD v2](https://learn.microsoft.com/azure/virtual-machines/linux/expand-disks?tabs=ubuntu#expand-with-ultra-disks-and-premium-ssd-v2).\n"},"edgeZone":{"type":"string","description":"Specifies the Edge Zone within the Azure Region where this Managed Disk should exist. Changing this forces a new Managed Disk to be created.\n","willReplaceOnChanges":true},"encryptionSettings":{"$ref":"#/types/azure:compute/ManagedDiskEncryptionSettings:ManagedDiskEncryptionSettings","description":"A \u003cspan pulumi-lang-nodejs=\"`encryptionSettings`\" pulumi-lang-dotnet=\"`EncryptionSettings`\" pulumi-lang-go=\"`encryptionSettings`\" pulumi-lang-python=\"`encryption_settings`\" pulumi-lang-yaml=\"`encryptionSettings`\" pulumi-lang-java=\"`encryptionSettings`\"\u003e`encryption_settings`\u003c/span\u003e block as defined below.\n\n\u003e **NOTE:** Removing \u003cspan pulumi-lang-nodejs=\"`encryptionSettings`\" pulumi-lang-dotnet=\"`EncryptionSettings`\" pulumi-lang-go=\"`encryptionSettings`\" pulumi-lang-python=\"`encryption_settings`\" pulumi-lang-yaml=\"`encryptionSettings`\" pulumi-lang-java=\"`encryptionSettings`\"\u003e`encryption_settings`\u003c/span\u003e forces a new resource to be created.\n"},"galleryImageReferenceId":{"type":"string","description":"ID of a Gallery Image Version to copy when \u003cspan pulumi-lang-nodejs=\"`createOption`\" pulumi-lang-dotnet=\"`CreateOption`\" pulumi-lang-go=\"`createOption`\" pulumi-lang-python=\"`create_option`\" pulumi-lang-yaml=\"`createOption`\" pulumi-lang-java=\"`createOption`\"\u003e`create_option`\u003c/span\u003e is `FromImage`. This field cannot be specified if\u003cspan pulumi-lang-nodejs=\" imageReferenceId \" pulumi-lang-dotnet=\" ImageReferenceId \" pulumi-lang-go=\" imageReferenceId \" pulumi-lang-python=\" image_reference_id \" pulumi-lang-yaml=\" imageReferenceId \" pulumi-lang-java=\" imageReferenceId \"\u003e image_reference_id \u003c/span\u003eis specified. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"hyperVGeneration":{"type":"string","description":"The HyperV Generation of the Disk when the source of an `Import` or `Copy` operation targets a source that contains an operating system. Possible values are `V1` and `V2`. For `ImportSecure` it must be set to `V2`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"imageReferenceId":{"type":"string","description":"ID of an existing platform/marketplace disk image to copy when \u003cspan pulumi-lang-nodejs=\"`createOption`\" pulumi-lang-dotnet=\"`CreateOption`\" pulumi-lang-go=\"`createOption`\" pulumi-lang-python=\"`create_option`\" pulumi-lang-yaml=\"`createOption`\" pulumi-lang-java=\"`createOption`\"\u003e`create_option`\u003c/span\u003e is `FromImage`. This field cannot be specified if\u003cspan pulumi-lang-nodejs=\" galleryImageReferenceId \" pulumi-lang-dotnet=\" GalleryImageReferenceId \" pulumi-lang-go=\" galleryImageReferenceId \" pulumi-lang-python=\" gallery_image_reference_id \" pulumi-lang-yaml=\" galleryImageReferenceId \" pulumi-lang-java=\" galleryImageReferenceId \"\u003e gallery_image_reference_id \u003c/span\u003eis specified. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"location":{"type":"string","description":"Specified the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"logicalSectorSize":{"type":"integer","description":"Logical Sector Size. Possible values are: \u003cspan pulumi-lang-nodejs=\"`512`\" pulumi-lang-dotnet=\"`512`\" pulumi-lang-go=\"`512`\" pulumi-lang-python=\"`512`\" pulumi-lang-yaml=\"`512`\" pulumi-lang-java=\"`512`\"\u003e`512`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`4096`\" pulumi-lang-dotnet=\"`4096`\" pulumi-lang-go=\"`4096`\" pulumi-lang-python=\"`4096`\" pulumi-lang-yaml=\"`4096`\" pulumi-lang-java=\"`4096`\"\u003e`4096`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`4096`\" pulumi-lang-dotnet=\"`4096`\" pulumi-lang-go=\"`4096`\" pulumi-lang-python=\"`4096`\" pulumi-lang-yaml=\"`4096`\" pulumi-lang-java=\"`4096`\"\u003e`4096`\u003c/span\u003e. Changing this forces a new resource to be created.\n\n\u003e **NOTE:** Setting logical sector size is supported only with `UltraSSD_LRS` disks and `PremiumV2_LRS` disks.\n","willReplaceOnChanges":true},"maxShares":{"type":"integer","description":"The maximum number of VMs that can attach to the disk at the same time. Value greater than one indicates a disk that can be mounted on multiple VMs at the same time.\n\n\u003e **Note:** Premium SSD maxShares limit: `P15` and `P20` disks: 2. `P30`,`P40`,`P50` disks: 5. `P60`,`P70`,`P80` disks: 10. For ultra disks the \u003cspan pulumi-lang-nodejs=\"`maxShares`\" pulumi-lang-dotnet=\"`MaxShares`\" pulumi-lang-go=\"`maxShares`\" pulumi-lang-python=\"`max_shares`\" pulumi-lang-yaml=\"`maxShares`\" pulumi-lang-java=\"`maxShares`\"\u003e`max_shares`\u003c/span\u003e minimum value is 1 and the maximum is 5.\n"},"name":{"type":"string","description":"Specifies the name of the Managed Disk. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"networkAccessPolicy":{"type":"string","description":"Policy for accessing the disk via network. Allowed values are `AllowAll`, `AllowPrivate`, and `DenyAll`. Defaults to `AllowAll`.\n"},"onDemandBurstingEnabled":{"type":"boolean","description":"Specifies if On-Demand Bursting is enabled for the Managed Disk.\n\n\u003e **Note:** Credit-Based Bursting is enabled by default on all eligible disks. More information on [Credit-Based and On-Demand Bursting can be found in the documentation](https://docs.microsoft.com/azure/virtual-machines/disk-bursting#disk-level-bursting).\n"},"optimizedFrequentAttachEnabled":{"type":"boolean","description":"Specifies whether this Managed Disk should be optimized for frequent disk attachments (where a disk is attached/detached more than 5 times in a day). Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** Setting \u003cspan pulumi-lang-nodejs=\"`optimizedFrequentAttachEnabled`\" pulumi-lang-dotnet=\"`OptimizedFrequentAttachEnabled`\" pulumi-lang-go=\"`optimizedFrequentAttachEnabled`\" pulumi-lang-python=\"`optimized_frequent_attach_enabled`\" pulumi-lang-yaml=\"`optimizedFrequentAttachEnabled`\" pulumi-lang-java=\"`optimizedFrequentAttachEnabled`\"\u003e`optimized_frequent_attach_enabled`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e causes the disks to not align with the fault domain of the Virtual Machine, which can have operational implications.\n"},"osType":{"type":"string","description":"Specify a value when the source of an `Import`, `ImportSecure` or `Copy` operation targets a source that contains an operating system. Valid values are `Linux` or `Windows`.\n"},"performancePlusEnabled":{"type":"boolean","description":"Specifies whether Performance Plus is enabled for this Managed Disk. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"publicNetworkAccessEnabled":{"type":"boolean","description":"Whether it is allowed to access the disk via public network. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n\nFor more information on managed disks, such as sizing options and pricing, please check out the [Azure Documentation](https://docs.microsoft.com/azure/storage/storage-managed-disks-overview).\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Managed Disk should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"secureVmDiskEncryptionSetId":{"type":"string","description":"The ID of the Disk Encryption Set which should be used to Encrypt this OS Disk when the Virtual Machine is a Confidential VM. Conflicts with \u003cspan pulumi-lang-nodejs=\"`diskEncryptionSetId`\" pulumi-lang-dotnet=\"`DiskEncryptionSetId`\" pulumi-lang-go=\"`diskEncryptionSetId`\" pulumi-lang-python=\"`disk_encryption_set_id`\" pulumi-lang-yaml=\"`diskEncryptionSetId`\" pulumi-lang-java=\"`diskEncryptionSetId`\"\u003e`disk_encryption_set_id`\u003c/span\u003e. Changing this forces a new resource to be created.\n\n\u003e **NOTE:** \u003cspan pulumi-lang-nodejs=\"`secureVmDiskEncryptionSetId`\" pulumi-lang-dotnet=\"`SecureVmDiskEncryptionSetId`\" pulumi-lang-go=\"`secureVmDiskEncryptionSetId`\" pulumi-lang-python=\"`secure_vm_disk_encryption_set_id`\" pulumi-lang-yaml=\"`secureVmDiskEncryptionSetId`\" pulumi-lang-java=\"`secureVmDiskEncryptionSetId`\"\u003e`secure_vm_disk_encryption_set_id`\u003c/span\u003e can only be specified when \u003cspan pulumi-lang-nodejs=\"`securityType`\" pulumi-lang-dotnet=\"`SecurityType`\" pulumi-lang-go=\"`securityType`\" pulumi-lang-python=\"`security_type`\" pulumi-lang-yaml=\"`securityType`\" pulumi-lang-java=\"`securityType`\"\u003e`security_type`\u003c/span\u003e is set to `ConfidentialVM_DiskEncryptedWithCustomerKey`.\n","willReplaceOnChanges":true},"securityType":{"type":"string","description":"Security Type of the Managed Disk when it is used for a Confidential VM. Possible values are `ConfidentialVM_VMGuestStateOnlyEncryptedWithPlatformKey`, `ConfidentialVM_DiskEncryptedWithPlatformKey` and `ConfidentialVM_DiskEncryptedWithCustomerKey`. Changing this forces a new resource to be created.\n\n\u003e **NOTE:** When \u003cspan pulumi-lang-nodejs=\"`securityType`\" pulumi-lang-dotnet=\"`SecurityType`\" pulumi-lang-go=\"`securityType`\" pulumi-lang-python=\"`security_type`\" pulumi-lang-yaml=\"`securityType`\" pulumi-lang-java=\"`securityType`\"\u003e`security_type`\u003c/span\u003e is set to `ConfidentialVM_DiskEncryptedWithCustomerKey` the value of \u003cspan pulumi-lang-nodejs=\"`createOption`\" pulumi-lang-dotnet=\"`CreateOption`\" pulumi-lang-go=\"`createOption`\" pulumi-lang-python=\"`create_option`\" pulumi-lang-yaml=\"`createOption`\" pulumi-lang-java=\"`createOption`\"\u003e`create_option`\u003c/span\u003e must be one of `FromImage` or `ImportSecure`.\n\n\n\u003e **NOTE:** \u003cspan pulumi-lang-nodejs=\"`securityType`\" pulumi-lang-dotnet=\"`SecurityType`\" pulumi-lang-go=\"`securityType`\" pulumi-lang-python=\"`security_type`\" pulumi-lang-yaml=\"`securityType`\" pulumi-lang-java=\"`securityType`\"\u003e`security_type`\u003c/span\u003e cannot be specified when \u003cspan pulumi-lang-nodejs=\"`trustedLaunchEnabled`\" pulumi-lang-dotnet=\"`TrustedLaunchEnabled`\" pulumi-lang-go=\"`trustedLaunchEnabled`\" pulumi-lang-python=\"`trusted_launch_enabled`\" pulumi-lang-yaml=\"`trustedLaunchEnabled`\" pulumi-lang-java=\"`trustedLaunchEnabled`\"\u003e`trusted_launch_enabled`\u003c/span\u003e is set to true.\n\n\u003e **NOTE:** \u003cspan pulumi-lang-nodejs=\"`secureVmDiskEncryptionSetId`\" pulumi-lang-dotnet=\"`SecureVmDiskEncryptionSetId`\" pulumi-lang-go=\"`secureVmDiskEncryptionSetId`\" pulumi-lang-python=\"`secure_vm_disk_encryption_set_id`\" pulumi-lang-yaml=\"`secureVmDiskEncryptionSetId`\" pulumi-lang-java=\"`secureVmDiskEncryptionSetId`\"\u003e`secure_vm_disk_encryption_set_id`\u003c/span\u003e must be specified when \u003cspan pulumi-lang-nodejs=\"`securityType`\" pulumi-lang-dotnet=\"`SecurityType`\" pulumi-lang-go=\"`securityType`\" pulumi-lang-python=\"`security_type`\" pulumi-lang-yaml=\"`securityType`\" pulumi-lang-java=\"`securityType`\"\u003e`security_type`\u003c/span\u003e is set to `ConfidentialVM_DiskEncryptedWithCustomerKey`.\n","willReplaceOnChanges":true},"sourceResourceId":{"type":"string","description":"The ID of an existing Managed Disk or Snapshot to copy when \u003cspan pulumi-lang-nodejs=\"`createOption`\" pulumi-lang-dotnet=\"`CreateOption`\" pulumi-lang-go=\"`createOption`\" pulumi-lang-python=\"`create_option`\" pulumi-lang-yaml=\"`createOption`\" pulumi-lang-java=\"`createOption`\"\u003e`create_option`\u003c/span\u003e is `Copy` or the recovery point to restore when \u003cspan pulumi-lang-nodejs=\"`createOption`\" pulumi-lang-dotnet=\"`CreateOption`\" pulumi-lang-go=\"`createOption`\" pulumi-lang-python=\"`create_option`\" pulumi-lang-yaml=\"`createOption`\" pulumi-lang-java=\"`createOption`\"\u003e`create_option`\u003c/span\u003e is `Restore`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sourceUri":{"type":"string","description":"URI to a valid VHD file to be used when \u003cspan pulumi-lang-nodejs=\"`createOption`\" pulumi-lang-dotnet=\"`CreateOption`\" pulumi-lang-go=\"`createOption`\" pulumi-lang-python=\"`create_option`\" pulumi-lang-yaml=\"`createOption`\" pulumi-lang-java=\"`createOption`\"\u003e`create_option`\u003c/span\u003e is `Import` or `ImportSecure`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"storageAccountId":{"type":"string","description":"The ID of the Storage Account where the \u003cspan pulumi-lang-nodejs=\"`sourceUri`\" pulumi-lang-dotnet=\"`SourceUri`\" pulumi-lang-go=\"`sourceUri`\" pulumi-lang-python=\"`source_uri`\" pulumi-lang-yaml=\"`sourceUri`\" pulumi-lang-java=\"`sourceUri`\"\u003e`source_uri`\u003c/span\u003e is located. Required when \u003cspan pulumi-lang-nodejs=\"`createOption`\" pulumi-lang-dotnet=\"`CreateOption`\" pulumi-lang-go=\"`createOption`\" pulumi-lang-python=\"`create_option`\" pulumi-lang-yaml=\"`createOption`\" pulumi-lang-java=\"`createOption`\"\u003e`create_option`\u003c/span\u003e is set to `Import` or `ImportSecure`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"storageAccountType":{"type":"string","description":"The type of storage to use for the managed disk. Possible values are `Standard_LRS`, `StandardSSD_ZRS`, `Premium_LRS`, `PremiumV2_LRS`, `Premium_ZRS`, `StandardSSD_LRS` or `UltraSSD_LRS`.\n\n\u003e **Note:** Azure Ultra Disk Storage is only available in a region that support availability zones and can only enabled on the following VM series: `ESv3`, `DSv3`, `FSv3`, `LSv2`, `M` and `Mv2`. For more information see the `Azure Ultra Disk Storage` [product documentation](https://docs.microsoft.com/azure/virtual-machines/windows/disks-enable-ultra-ssd).\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"tier":{"type":"string","description":"The disk performance tier to use. Possible values are documented [here](https://docs.microsoft.com/azure/virtual-machines/disks-change-performance). This feature is currently supported only for premium SSDs.\n\n\u003e **NOTE:** Changing this value is disruptive if the disk is attached to a Virtual Machine. The VM will be shut down and de-allocated as required by Azure to action the change. Terraform will attempt to start the machine again after the update if it was in a \u003cspan pulumi-lang-nodejs=\"`running`\" pulumi-lang-dotnet=\"`Running`\" pulumi-lang-go=\"`running`\" pulumi-lang-python=\"`running`\" pulumi-lang-yaml=\"`running`\" pulumi-lang-java=\"`running`\"\u003e`running`\u003c/span\u003e state when the apply was started.\n"},"trustedLaunchEnabled":{"type":"boolean","description":"Specifies if Trusted Launch is enabled for the Managed Disk. Changing this forces a new resource to be created.\n\n\u003e **Note:** Trusted Launch can only be enabled when \u003cspan pulumi-lang-nodejs=\"`createOption`\" pulumi-lang-dotnet=\"`CreateOption`\" pulumi-lang-go=\"`createOption`\" pulumi-lang-python=\"`create_option`\" pulumi-lang-yaml=\"`createOption`\" pulumi-lang-java=\"`createOption`\"\u003e`create_option`\u003c/span\u003e is `FromImage` or `Import`.\n","willReplaceOnChanges":true},"uploadSizeBytes":{"type":"integer","description":"Specifies the size of the managed disk to create in bytes. Required when \u003cspan pulumi-lang-nodejs=\"`createOption`\" pulumi-lang-dotnet=\"`CreateOption`\" pulumi-lang-go=\"`createOption`\" pulumi-lang-python=\"`create_option`\" pulumi-lang-yaml=\"`createOption`\" pulumi-lang-java=\"`createOption`\"\u003e`create_option`\u003c/span\u003e is `Upload`. The value must be equal to the source disk to be copied in bytes. Source disk size could be calculated with `ls -l` or `wc -c`. More information can be found at [Copy a managed disk](https://learn.microsoft.com/en-us/azure/virtual-machines/linux/disks-upload-vhd-to-managed-disk-cli#copy-a-managed-disk). Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"zone":{"type":"string","description":"Specifies the Availability Zone in which this Managed Disk should be located. Changing this property forces a new resource to be created.\n\n\u003e **Note:** Availability Zones are [only supported in select regions at this time](https://docs.microsoft.com/azure/availability-zones/az-overview).\n","willReplaceOnChanges":true}},"type":"object"}},"azure:compute/managedDiskSasToken:ManagedDiskSasToken":{"description":"Manages a Disk SAS Token.\n\nUse this resource to obtain a Shared Access Signature (SAS Token) for an existing Managed Disk.\n\nShared access signatures allow fine-grained, ephemeral access control to various aspects of Managed Disk similar to blob/storage account container.\n\nWith the help of this resource, data from the disk can be copied from managed disk to a storage blob or to some other system without the need of azcopy.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst test = new azure.core.ResourceGroup(\"test\", {\n    name: \"testrg\",\n    location: \"West Europe\",\n});\nconst testManagedDisk = new azure.compute.ManagedDisk(\"test\", {\n    name: \"tst-disk-export\",\n    location: test.location,\n    resourceGroupName: test.name,\n    storageAccountType: \"Standard_LRS\",\n    createOption: \"Empty\",\n    diskSizeGb: 1,\n});\nconst testManagedDiskSasToken = new azure.compute.ManagedDiskSasToken(\"test\", {\n    managedDiskId: testManagedDisk.id,\n    durationInSeconds: 300,\n    accessLevel: \"Read\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\ntest = azure.core.ResourceGroup(\"test\",\n    name=\"testrg\",\n    location=\"West Europe\")\ntest_managed_disk = azure.compute.ManagedDisk(\"test\",\n    name=\"tst-disk-export\",\n    location=test.location,\n    resource_group_name=test.name,\n    storage_account_type=\"Standard_LRS\",\n    create_option=\"Empty\",\n    disk_size_gb=1)\ntest_managed_disk_sas_token = azure.compute.ManagedDiskSasToken(\"test\",\n    managed_disk_id=test_managed_disk.id,\n    duration_in_seconds=300,\n    access_level=\"Read\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var test = new Azure.Core.ResourceGroup(\"test\", new()\n    {\n        Name = \"testrg\",\n        Location = \"West Europe\",\n    });\n\n    var testManagedDisk = new Azure.Compute.ManagedDisk(\"test\", new()\n    {\n        Name = \"tst-disk-export\",\n        Location = test.Location,\n        ResourceGroupName = test.Name,\n        StorageAccountType = \"Standard_LRS\",\n        CreateOption = \"Empty\",\n        DiskSizeGb = 1,\n    });\n\n    var testManagedDiskSasToken = new Azure.Compute.ManagedDiskSasToken(\"test\", new()\n    {\n        ManagedDiskId = testManagedDisk.Id,\n        DurationInSeconds = 300,\n        AccessLevel = \"Read\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/compute\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttest, err := core.NewResourceGroup(ctx, \"test\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"testrg\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestManagedDisk, err := compute.NewManagedDisk(ctx, \"test\", \u0026compute.ManagedDiskArgs{\n\t\t\tName:               pulumi.String(\"tst-disk-export\"),\n\t\t\tLocation:           test.Location,\n\t\t\tResourceGroupName:  test.Name,\n\t\t\tStorageAccountType: pulumi.String(\"Standard_LRS\"),\n\t\t\tCreateOption:       pulumi.String(\"Empty\"),\n\t\t\tDiskSizeGb:         pulumi.Int(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = compute.NewManagedDiskSasToken(ctx, \"test\", \u0026compute.ManagedDiskSasTokenArgs{\n\t\t\tManagedDiskId:     testManagedDisk.ID(),\n\t\t\tDurationInSeconds: pulumi.Int(300),\n\t\t\tAccessLevel:       pulumi.String(\"Read\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.compute.ManagedDisk;\nimport com.pulumi.azure.compute.ManagedDiskArgs;\nimport com.pulumi.azure.compute.ManagedDiskSasToken;\nimport com.pulumi.azure.compute.ManagedDiskSasTokenArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var test = new ResourceGroup(\"test\", ResourceGroupArgs.builder()\n            .name(\"testrg\")\n            .location(\"West Europe\")\n            .build());\n\n        var testManagedDisk = new ManagedDisk(\"testManagedDisk\", ManagedDiskArgs.builder()\n            .name(\"tst-disk-export\")\n            .location(test.location())\n            .resourceGroupName(test.name())\n            .storageAccountType(\"Standard_LRS\")\n            .createOption(\"Empty\")\n            .diskSizeGb(1)\n            .build());\n\n        var testManagedDiskSasToken = new ManagedDiskSasToken(\"testManagedDiskSasToken\", ManagedDiskSasTokenArgs.builder()\n            .managedDiskId(testManagedDisk.id())\n            .durationInSeconds(300)\n            .accessLevel(\"Read\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  test:\n    type: azure:core:ResourceGroup\n    properties:\n      name: testrg\n      location: West Europe\n  testManagedDisk:\n    type: azure:compute:ManagedDisk\n    name: test\n    properties:\n      name: tst-disk-export\n      location: ${test.location}\n      resourceGroupName: ${test.name}\n      storageAccountType: Standard_LRS\n      createOption: Empty\n      diskSizeGb: '1'\n  testManagedDiskSasToken:\n    type: azure:compute:ManagedDiskSasToken\n    name: test\n    properties:\n      managedDiskId: ${testManagedDisk.id}\n      durationInSeconds: 300\n      accessLevel: Read\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Compute` - 2023-04-02\n\n## Import\n\nDisk SAS Token can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:compute/managedDiskSasToken:ManagedDiskSasToken example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Compute/disks/manageddisk1\n```\n\n","properties":{"accessLevel":{"type":"string","description":"The level of access required on the disk. Supported are Read, Write. Changing this forces a new resource to be created.\n\nRefer to the [SAS creation reference from Azure](https://docs.microsoft.com/rest/api/compute/disks/grant-access)\nfor additional details on the fields above.\n"},"durationInSeconds":{"type":"integer","description":"The duration for which the export should be allowed. Should be between 30 \u0026 4294967295 seconds. Changing this forces a new resource to be created.\n"},"managedDiskId":{"type":"string","description":"The ID of an existing Managed Disk which should be exported. Changing this forces a new resource to be created.\n"},"sasUrl":{"type":"string","description":"The computed Shared Access Signature (SAS) of the Managed Disk.\n","secret":true}},"required":["accessLevel","durationInSeconds","managedDiskId","sasUrl"],"inputProperties":{"accessLevel":{"type":"string","description":"The level of access required on the disk. Supported are Read, Write. Changing this forces a new resource to be created.\n\nRefer to the [SAS creation reference from Azure](https://docs.microsoft.com/rest/api/compute/disks/grant-access)\nfor additional details on the fields above.\n","willReplaceOnChanges":true},"durationInSeconds":{"type":"integer","description":"The duration for which the export should be allowed. Should be between 30 \u0026 4294967295 seconds. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"managedDiskId":{"type":"string","description":"The ID of an existing Managed Disk which should be exported. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["accessLevel","durationInSeconds","managedDiskId"],"stateInputs":{"description":"Input properties used for looking up and filtering ManagedDiskSasToken resources.\n","properties":{"accessLevel":{"type":"string","description":"The level of access required on the disk. Supported are Read, Write. Changing this forces a new resource to be created.\n\nRefer to the [SAS creation reference from Azure](https://docs.microsoft.com/rest/api/compute/disks/grant-access)\nfor additional details on the fields above.\n","willReplaceOnChanges":true},"durationInSeconds":{"type":"integer","description":"The duration for which the export should be allowed. Should be between 30 \u0026 4294967295 seconds. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"managedDiskId":{"type":"string","description":"The ID of an existing Managed Disk which should be exported. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sasUrl":{"type":"string","description":"The computed Shared Access Signature (SAS) of the Managed Disk.\n","secret":true}},"type":"object"}},"azure:compute/orchestratedVirtualMachineScaleSet:OrchestratedVirtualMachineScaleSet":{"description":"Manages an Virtual Machine Scale Set in Flexible Orchestration Mode.\n\n## Disclaimers\n\n\u003e **Note:** As of the **v2.86.0** (November 19, 2021) release of the provider this resource will only create Virtual Machine Scale Sets with the **Flexible** Orchestration Mode.\n\n\u003e **Note:** All arguments including the administrator login and password will be stored in the raw state as plain-text. [Read more about sensitive data in state](https://www.terraform.io/docs/state/sensitive-data.html).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleOrchestratedVirtualMachineScaleSet = new azure.compute.OrchestratedVirtualMachineScaleSet(\"example\", {\n    name: \"example-VMSS\",\n    location: example.location,\n    resourceGroupName: example.name,\n    platformFaultDomainCount: 1,\n    zones: [\"1\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_orchestrated_virtual_machine_scale_set = azure.compute.OrchestratedVirtualMachineScaleSet(\"example\",\n    name=\"example-VMSS\",\n    location=example.location,\n    resource_group_name=example.name,\n    platform_fault_domain_count=1,\n    zones=[\"1\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleOrchestratedVirtualMachineScaleSet = new Azure.Compute.OrchestratedVirtualMachineScaleSet(\"example\", new()\n    {\n        Name = \"example-VMSS\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        PlatformFaultDomainCount = 1,\n        Zones = new[]\n        {\n            \"1\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/compute\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = compute.NewOrchestratedVirtualMachineScaleSet(ctx, \"example\", \u0026compute.OrchestratedVirtualMachineScaleSetArgs{\n\t\t\tName:                     pulumi.String(\"example-VMSS\"),\n\t\t\tLocation:                 example.Location,\n\t\t\tResourceGroupName:        example.Name,\n\t\t\tPlatformFaultDomainCount: pulumi.Int(1),\n\t\t\tZones: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"1\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.compute.OrchestratedVirtualMachineScaleSet;\nimport com.pulumi.azure.compute.OrchestratedVirtualMachineScaleSetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleOrchestratedVirtualMachineScaleSet = new OrchestratedVirtualMachineScaleSet(\"exampleOrchestratedVirtualMachineScaleSet\", OrchestratedVirtualMachineScaleSetArgs.builder()\n            .name(\"example-VMSS\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .platformFaultDomainCount(1)\n            .zones(\"1\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleOrchestratedVirtualMachineScaleSet:\n    type: azure:compute:OrchestratedVirtualMachineScaleSet\n    name: example\n    properties:\n      name: example-VMSS\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      platformFaultDomainCount: 1\n      zones:\n        - '1'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Compute` - 2024-11-01\n\n## Import\n\nAn Virtual Machine Scale Set can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:compute/orchestratedVirtualMachineScaleSet:OrchestratedVirtualMachineScaleSet example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Compute/virtualMachineScaleSets/scaleset1\n```\n\n","properties":{"additionalCapabilities":{"$ref":"#/types/azure:compute/OrchestratedVirtualMachineScaleSetAdditionalCapabilities:OrchestratedVirtualMachineScaleSetAdditionalCapabilities","description":"An \u003cspan pulumi-lang-nodejs=\"`additionalCapabilities`\" pulumi-lang-dotnet=\"`AdditionalCapabilities`\" pulumi-lang-go=\"`additionalCapabilities`\" pulumi-lang-python=\"`additional_capabilities`\" pulumi-lang-yaml=\"`additionalCapabilities`\" pulumi-lang-java=\"`additionalCapabilities`\"\u003e`additional_capabilities`\u003c/span\u003e block as defined below.\n"},"automaticInstanceRepair":{"$ref":"#/types/azure:compute/OrchestratedVirtualMachineScaleSetAutomaticInstanceRepair:OrchestratedVirtualMachineScaleSetAutomaticInstanceRepair","description":"An \u003cspan pulumi-lang-nodejs=\"`automaticInstanceRepair`\" pulumi-lang-dotnet=\"`AutomaticInstanceRepair`\" pulumi-lang-go=\"`automaticInstanceRepair`\" pulumi-lang-python=\"`automatic_instance_repair`\" pulumi-lang-yaml=\"`automaticInstanceRepair`\" pulumi-lang-java=\"`automaticInstanceRepair`\"\u003e`automatic_instance_repair`\u003c/span\u003e block as defined below.\n\n\u003e **Note:** To enable the \u003cspan pulumi-lang-nodejs=\"`automaticInstanceRepair`\" pulumi-lang-dotnet=\"`AutomaticInstanceRepair`\" pulumi-lang-go=\"`automaticInstanceRepair`\" pulumi-lang-python=\"`automatic_instance_repair`\" pulumi-lang-yaml=\"`automaticInstanceRepair`\" pulumi-lang-java=\"`automaticInstanceRepair`\"\u003e`automatic_instance_repair`\u003c/span\u003e, the Orchestrated Virtual Machine Scale Set must have a valid [Application Health Extension](https://docs.microsoft.com/azure/virtual-machine-scale-sets/virtual-machine-scale-sets-health-extension).\n"},"bootDiagnostics":{"$ref":"#/types/azure:compute/OrchestratedVirtualMachineScaleSetBootDiagnostics:OrchestratedVirtualMachineScaleSetBootDiagnostics","description":"A \u003cspan pulumi-lang-nodejs=\"`bootDiagnostics`\" pulumi-lang-dotnet=\"`BootDiagnostics`\" pulumi-lang-go=\"`bootDiagnostics`\" pulumi-lang-python=\"`boot_diagnostics`\" pulumi-lang-yaml=\"`bootDiagnostics`\" pulumi-lang-java=\"`bootDiagnostics`\"\u003e`boot_diagnostics`\u003c/span\u003e block as defined below.\n"},"capacityReservationGroupId":{"type":"string","description":"Specifies the ID of the Capacity Reservation Group which the Virtual Machine Scale Set should be allocated to. Changing this forces a new resource to be created.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`capacityReservationGroupId`\" pulumi-lang-dotnet=\"`CapacityReservationGroupId`\" pulumi-lang-go=\"`capacityReservationGroupId`\" pulumi-lang-python=\"`capacity_reservation_group_id`\" pulumi-lang-yaml=\"`capacityReservationGroupId`\" pulumi-lang-java=\"`capacityReservationGroupId`\"\u003e`capacity_reservation_group_id`\u003c/span\u003e cannot be specified with \u003cspan pulumi-lang-nodejs=\"`proximityPlacementGroupId`\" pulumi-lang-dotnet=\"`ProximityPlacementGroupId`\" pulumi-lang-go=\"`proximityPlacementGroupId`\" pulumi-lang-python=\"`proximity_placement_group_id`\" pulumi-lang-yaml=\"`proximityPlacementGroupId`\" pulumi-lang-java=\"`proximityPlacementGroupId`\"\u003e`proximity_placement_group_id`\u003c/span\u003e\n\n\u003e **Note:** If \u003cspan pulumi-lang-nodejs=\"`capacityReservationGroupId`\" pulumi-lang-dotnet=\"`CapacityReservationGroupId`\" pulumi-lang-go=\"`capacityReservationGroupId`\" pulumi-lang-python=\"`capacity_reservation_group_id`\" pulumi-lang-yaml=\"`capacityReservationGroupId`\" pulumi-lang-java=\"`capacityReservationGroupId`\"\u003e`capacity_reservation_group_id`\u003c/span\u003e is specified the \u003cspan pulumi-lang-nodejs=\"`singlePlacementGroup`\" pulumi-lang-dotnet=\"`SinglePlacementGroup`\" pulumi-lang-go=\"`singlePlacementGroup`\" pulumi-lang-python=\"`single_placement_group`\" pulumi-lang-yaml=\"`singlePlacementGroup`\" pulumi-lang-java=\"`singlePlacementGroup`\"\u003e`single_placement_group`\u003c/span\u003e must be set to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"dataDisks":{"type":"array","items":{"$ref":"#/types/azure:compute/OrchestratedVirtualMachineScaleSetDataDisk:OrchestratedVirtualMachineScaleSetDataDisk"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`dataDisk`\" pulumi-lang-dotnet=\"`DataDisk`\" pulumi-lang-go=\"`dataDisk`\" pulumi-lang-python=\"`data_disk`\" pulumi-lang-yaml=\"`dataDisk`\" pulumi-lang-java=\"`dataDisk`\"\u003e`data_disk`\u003c/span\u003e blocks as defined below.\n"},"encryptionAtHostEnabled":{"type":"boolean","description":"Should disks attached to this Virtual Machine Scale Set be encrypted by enabling Encryption at Host?\n"},"evictionPolicy":{"type":"string","description":"The Policy which should be used by Spot Virtual Machines that are Evicted from the Scale Set. Possible values are `Deallocate` and `Delete`. Changing this forces a new resource to be created.\n"},"extensionOperationsEnabled":{"type":"boolean","description":"Should extension operations be allowed on the Virtual Machine Scale Set? Possible values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e. Changing this forces a new Virtual Machine Scale Set to be created.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`extensionOperationsEnabled`\" pulumi-lang-dotnet=\"`ExtensionOperationsEnabled`\" pulumi-lang-go=\"`extensionOperationsEnabled`\" pulumi-lang-python=\"`extension_operations_enabled`\" pulumi-lang-yaml=\"`extensionOperationsEnabled`\" pulumi-lang-java=\"`extensionOperationsEnabled`\"\u003e`extension_operations_enabled`\u003c/span\u003e may only be set to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e if there are no extensions defined in the \u003cspan pulumi-lang-nodejs=\"`extension`\" pulumi-lang-dotnet=\"`Extension`\" pulumi-lang-go=\"`extension`\" pulumi-lang-python=\"`extension`\" pulumi-lang-yaml=\"`extension`\" pulumi-lang-java=\"`extension`\"\u003e`extension`\u003c/span\u003e field.\n"},"extensions":{"type":"array","items":{"$ref":"#/types/azure:compute/OrchestratedVirtualMachineScaleSetExtension:OrchestratedVirtualMachineScaleSetExtension"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`extension`\" pulumi-lang-dotnet=\"`Extension`\" pulumi-lang-go=\"`extension`\" pulumi-lang-python=\"`extension`\" pulumi-lang-yaml=\"`extension`\" pulumi-lang-java=\"`extension`\"\u003e`extension`\u003c/span\u003e blocks as defined below\n"},"extensionsTimeBudget":{"type":"string","description":"Specifies the time alloted for all extensions to start. The time duration should be between 15 minutes and 120 minutes (inclusive) and should be specified in ISO 8601 format. Defaults to `PT1H30M`.\n"},"identity":{"$ref":"#/types/azure:compute/OrchestratedVirtualMachineScaleSetIdentity:OrchestratedVirtualMachineScaleSetIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"instances":{"type":"integer","description":"The number of Virtual Machines in the Virtual Machine Scale Set.\n"},"licenseType":{"type":"string","description":"Specifies the type of on-premise license (also known as Azure Hybrid Use Benefit) which should be used for this Virtual Machine Scale Set. Possible values are `None`, `Windows_Client` and `Windows_Server`.\n"},"location":{"type":"string","description":"The Azure location where the Virtual Machine Scale Set should exist. Changing this forces a new resource to be created.\n"},"maxBidPrice":{"type":"number","description":"The maximum price you're willing to pay for each Virtual Machine in this Scale Set, in US Dollars; which must be greater than the current spot price. If this bid price falls below the current spot price the Virtual Machines in the Scale Set will be evicted using the eviction_policy. Defaults to `-1`, which means that each Virtual Machine in the Scale Set should not be evicted for price reasons.\n"},"name":{"type":"string","description":"The name of the Virtual Machine Scale Set. Changing this forces a new resource to be created.\n"},"networkApiVersion":{"type":"string","description":"Specifies the Microsoft.Network API version used when creating networking resources in the Network Interface Configurations for Virtual Machine Scale Set. Possible values are `2020-11-01` and `2022-11-01`. Defaults to `2020-11-01`.\n"},"networkInterfaces":{"type":"array","items":{"$ref":"#/types/azure:compute/OrchestratedVirtualMachineScaleSetNetworkInterface:OrchestratedVirtualMachineScaleSetNetworkInterface"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`networkInterface`\" pulumi-lang-dotnet=\"`NetworkInterface`\" pulumi-lang-go=\"`networkInterface`\" pulumi-lang-python=\"`network_interface`\" pulumi-lang-yaml=\"`networkInterface`\" pulumi-lang-java=\"`networkInterface`\"\u003e`network_interface`\u003c/span\u003e blocks as defined below.\n"},"osDisk":{"$ref":"#/types/azure:compute/OrchestratedVirtualMachineScaleSetOsDisk:OrchestratedVirtualMachineScaleSetOsDisk","description":"An \u003cspan pulumi-lang-nodejs=\"`osDisk`\" pulumi-lang-dotnet=\"`OsDisk`\" pulumi-lang-go=\"`osDisk`\" pulumi-lang-python=\"`os_disk`\" pulumi-lang-yaml=\"`osDisk`\" pulumi-lang-java=\"`osDisk`\"\u003e`os_disk`\u003c/span\u003e block as defined below.\n"},"osProfile":{"$ref":"#/types/azure:compute/OrchestratedVirtualMachineScaleSetOsProfile:OrchestratedVirtualMachineScaleSetOsProfile","description":"An \u003cspan pulumi-lang-nodejs=\"`osProfile`\" pulumi-lang-dotnet=\"`OsProfile`\" pulumi-lang-go=\"`osProfile`\" pulumi-lang-python=\"`os_profile`\" pulumi-lang-yaml=\"`osProfile`\" pulumi-lang-java=\"`osProfile`\"\u003e`os_profile`\u003c/span\u003e block as defined below.\n"},"plan":{"$ref":"#/types/azure:compute/OrchestratedVirtualMachineScaleSetPlan:OrchestratedVirtualMachineScaleSetPlan","description":"A \u003cspan pulumi-lang-nodejs=\"`plan`\" pulumi-lang-dotnet=\"`Plan`\" pulumi-lang-go=\"`plan`\" pulumi-lang-python=\"`plan`\" pulumi-lang-yaml=\"`plan`\" pulumi-lang-java=\"`plan`\"\u003e`plan`\u003c/span\u003e block as documented below. Changing this forces a new resource to be created.\n"},"platformFaultDomainCount":{"type":"integer","description":"Specifies the number of fault domains that are used by this Virtual Machine Scale Set. Changing this forces a new resource to be created.\n\n\u003e **Note:** The number of Fault Domains varies depending on which Azure Region you're using. More information about update and fault domains and how they work can be found [here](https://learn.microsoft.com/en-us/azure/virtual-machines/availability-set-overview).\n"},"priority":{"type":"string","description":"The Priority of this Virtual Machine Scale Set. Possible values are `Regular` and `Spot`. Defaults to `Regular`. Changing this value forces a new resource.\n"},"priorityMix":{"$ref":"#/types/azure:compute/OrchestratedVirtualMachineScaleSetPriorityMix:OrchestratedVirtualMachineScaleSetPriorityMix","description":"a \u003cspan pulumi-lang-nodejs=\"`priorityMix`\" pulumi-lang-dotnet=\"`PriorityMix`\" pulumi-lang-go=\"`priorityMix`\" pulumi-lang-python=\"`priority_mix`\" pulumi-lang-yaml=\"`priorityMix`\" pulumi-lang-java=\"`priorityMix`\"\u003e`priority_mix`\u003c/span\u003e block as defined below\n"},"proximityPlacementGroupId":{"type":"string","description":"The ID of the Proximity Placement Group which the Virtual Machine should be assigned to. Changing this forces a new resource to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group in which the Virtual Machine Scale Set should exist. Changing this forces a new resource to be created.\n"},"rollingUpgradePolicy":{"$ref":"#/types/azure:compute/OrchestratedVirtualMachineScaleSetRollingUpgradePolicy:OrchestratedVirtualMachineScaleSetRollingUpgradePolicy","description":"A \u003cspan pulumi-lang-nodejs=\"`rollingUpgradePolicy`\" pulumi-lang-dotnet=\"`RollingUpgradePolicy`\" pulumi-lang-go=\"`rollingUpgradePolicy`\" pulumi-lang-python=\"`rolling_upgrade_policy`\" pulumi-lang-yaml=\"`rollingUpgradePolicy`\" pulumi-lang-java=\"`rollingUpgradePolicy`\"\u003e`rolling_upgrade_policy`\u003c/span\u003e block as defined below. This is Required when \u003cspan pulumi-lang-nodejs=\"`upgradeMode`\" pulumi-lang-dotnet=\"`UpgradeMode`\" pulumi-lang-go=\"`upgradeMode`\" pulumi-lang-python=\"`upgrade_mode`\" pulumi-lang-yaml=\"`upgradeMode`\" pulumi-lang-java=\"`upgradeMode`\"\u003e`upgrade_mode`\u003c/span\u003e is set to `Rolling` and cannot be specified when \u003cspan pulumi-lang-nodejs=\"`upgradeMode`\" pulumi-lang-dotnet=\"`UpgradeMode`\" pulumi-lang-go=\"`upgradeMode`\" pulumi-lang-python=\"`upgrade_mode`\" pulumi-lang-yaml=\"`upgradeMode`\" pulumi-lang-java=\"`upgradeMode`\"\u003e`upgrade_mode`\u003c/span\u003e is set to `Manual`. Changing this forces a new resource to be created.\n"},"singlePlacementGroup":{"type":"boolean","description":"Should this Virtual Machine Scale Set be limited to a Single Placement Group, which means the number of instances will be capped at 100 Virtual Machines. Possible values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`singlePlacementGroup`\" pulumi-lang-dotnet=\"`SinglePlacementGroup`\" pulumi-lang-go=\"`singlePlacementGroup`\" pulumi-lang-python=\"`single_placement_group`\" pulumi-lang-yaml=\"`singlePlacementGroup`\" pulumi-lang-java=\"`singlePlacementGroup`\"\u003e`single_placement_group`\u003c/span\u003e behaves differently for Flexible orchestration Virtual Machine Scale Sets than it does for Uniform orchestration Virtual Machine Scale Sets. It is recommended that you do not define the \u003cspan pulumi-lang-nodejs=\"`singlePlacementGroup`\" pulumi-lang-dotnet=\"`SinglePlacementGroup`\" pulumi-lang-go=\"`singlePlacementGroup`\" pulumi-lang-python=\"`single_placement_group`\" pulumi-lang-yaml=\"`singlePlacementGroup`\" pulumi-lang-java=\"`singlePlacementGroup`\"\u003e`single_placement_group`\u003c/span\u003e field in your configuration file as the service will determine what this value should be based off of the value contained within the \u003cspan pulumi-lang-nodejs=\"`skuName`\" pulumi-lang-dotnet=\"`SkuName`\" pulumi-lang-go=\"`skuName`\" pulumi-lang-python=\"`sku_name`\" pulumi-lang-yaml=\"`skuName`\" pulumi-lang-java=\"`skuName`\"\u003e`sku_name`\u003c/span\u003e field of your configuration file. You may set the \u003cspan pulumi-lang-nodejs=\"`singlePlacementGroup`\" pulumi-lang-dotnet=\"`SinglePlacementGroup`\" pulumi-lang-go=\"`singlePlacementGroup`\" pulumi-lang-python=\"`single_placement_group`\" pulumi-lang-yaml=\"`singlePlacementGroup`\" pulumi-lang-java=\"`singlePlacementGroup`\"\u003e`single_placement_group`\u003c/span\u003e field to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, however once you set it to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e you will not be able to revert it back to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"skuName":{"type":"string","description":"The \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e of the SKU to be used by this Virtual Machine Scale Set. Valid values include: any of the [General purpose](https://docs.microsoft.com/azure/virtual-machines/sizes-general), [Compute optimized](https://docs.microsoft.com/azure/virtual-machines/sizes-compute), [Memory optimized](https://docs.microsoft.com/azure/virtual-machines/sizes-memory), [Storage optimized](https://docs.microsoft.com/azure/virtual-machines/sizes-storage), [GPU optimized](https://docs.microsoft.com/azure/virtual-machines/sizes-gpu), [FPGA optimized](https://docs.microsoft.com/azure/virtual-machines/sizes-field-programmable-gate-arrays), [High performance](https://docs.microsoft.com/azure/virtual-machines/sizes-hpc), or [Previous generation](https://docs.microsoft.com/azure/virtual-machines/sizes-previous-gen) virtual machine SKUs.\n"},"skuProfile":{"$ref":"#/types/azure:compute/OrchestratedVirtualMachineScaleSetSkuProfile:OrchestratedVirtualMachineScaleSetSkuProfile","description":"An \u003cspan pulumi-lang-nodejs=\"`skuProfile`\" pulumi-lang-dotnet=\"`SkuProfile`\" pulumi-lang-go=\"`skuProfile`\" pulumi-lang-python=\"`sku_profile`\" pulumi-lang-yaml=\"`skuProfile`\" pulumi-lang-java=\"`skuProfile`\"\u003e`sku_profile`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n\n\u003e **Note:** If \u003cspan pulumi-lang-nodejs=\"`skuProfile`\" pulumi-lang-dotnet=\"`SkuProfile`\" pulumi-lang-go=\"`skuProfile`\" pulumi-lang-python=\"`sku_profile`\" pulumi-lang-yaml=\"`skuProfile`\" pulumi-lang-java=\"`skuProfile`\"\u003e`sku_profile`\u003c/span\u003e is specified the \u003cspan pulumi-lang-nodejs=\"`skuName`\" pulumi-lang-dotnet=\"`SkuName`\" pulumi-lang-go=\"`skuName`\" pulumi-lang-python=\"`sku_name`\" pulumi-lang-yaml=\"`skuName`\" pulumi-lang-java=\"`skuName`\"\u003e`sku_name`\u003c/span\u003e must be set to `Mix`.\n"},"sourceImageId":{"type":"string","description":"The ID of an Image which each Virtual Machine in this Scale Set should be based on. Possible Image ID types include `Image ID`s, `Shared Image ID`s, `Shared Image Version ID`s, `Community Gallery Image ID`s, `Community Gallery Image Version ID`s, `Shared Gallery Image ID`s and `Shared Gallery Image Version ID`s.\n"},"sourceImageReference":{"$ref":"#/types/azure:compute/OrchestratedVirtualMachineScaleSetSourceImageReference:OrchestratedVirtualMachineScaleSetSourceImageReference","description":"A \u003cspan pulumi-lang-nodejs=\"`sourceImageReference`\" pulumi-lang-dotnet=\"`SourceImageReference`\" pulumi-lang-go=\"`sourceImageReference`\" pulumi-lang-python=\"`source_image_reference`\" pulumi-lang-yaml=\"`sourceImageReference`\" pulumi-lang-java=\"`sourceImageReference`\"\u003e`source_image_reference`\u003c/span\u003e block as defined below.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to this Virtual Machine Scale Set.\n"},"terminationNotification":{"$ref":"#/types/azure:compute/OrchestratedVirtualMachineScaleSetTerminationNotification:OrchestratedVirtualMachineScaleSetTerminationNotification","description":"A \u003cspan pulumi-lang-nodejs=\"`terminationNotification`\" pulumi-lang-dotnet=\"`TerminationNotification`\" pulumi-lang-go=\"`terminationNotification`\" pulumi-lang-python=\"`termination_notification`\" pulumi-lang-yaml=\"`terminationNotification`\" pulumi-lang-java=\"`terminationNotification`\"\u003e`termination_notification`\u003c/span\u003e block as defined below.\n"},"uniqueId":{"type":"string","description":"The Unique ID for the Virtual Machine Scale Set.\n"},"upgradeMode":{"type":"string","description":"Specifies how upgrades (e.g. changing the Image/SKU) should be performed to Virtual Machine Instances. Possible values are `Automatic`, `Manual` and `Rolling`. Defaults to `Manual`. Changing this forces a new resource to be created.\n"},"userDataBase64":{"type":"string","description":"The Base64-Encoded User Data which should be used for this Virtual Machine Scale Set.\n","secret":true},"zoneBalance":{"type":"boolean","description":"Should the Virtual Machines in this Scale Set be strictly evenly distributed across Availability Zones? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Changing this forces a new resource to be created.\n\n\u003e **Note:** This can only be set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e when one or more \u003cspan pulumi-lang-nodejs=\"`zones`\" pulumi-lang-dotnet=\"`Zones`\" pulumi-lang-go=\"`zones`\" pulumi-lang-python=\"`zones`\" pulumi-lang-yaml=\"`zones`\" pulumi-lang-java=\"`zones`\"\u003e`zones`\u003c/span\u003e are configured.\n"},"zones":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Availability Zones across which the Virtual Machine Scale Set will create instances.\n\n\u003e **Note:** Updating \u003cspan pulumi-lang-nodejs=\"`zones`\" pulumi-lang-dotnet=\"`Zones`\" pulumi-lang-go=\"`zones`\" pulumi-lang-python=\"`zones`\" pulumi-lang-yaml=\"`zones`\" pulumi-lang-java=\"`zones`\"\u003e`zones`\u003c/span\u003e to remove an existing zone forces a new Virtual Machine Scale Set to be created.\n\n\u003e **Note:** Availability Zones are [only supported in several regions at this time](https://docs.microsoft.com/azure/availability-zones/az-overview).\n"}},"required":["automaticInstanceRepair","extensions","instances","location","name","platformFaultDomainCount","resourceGroupName","singlePlacementGroup","terminationNotification","uniqueId"],"inputProperties":{"additionalCapabilities":{"$ref":"#/types/azure:compute/OrchestratedVirtualMachineScaleSetAdditionalCapabilities:OrchestratedVirtualMachineScaleSetAdditionalCapabilities","description":"An \u003cspan pulumi-lang-nodejs=\"`additionalCapabilities`\" pulumi-lang-dotnet=\"`AdditionalCapabilities`\" pulumi-lang-go=\"`additionalCapabilities`\" pulumi-lang-python=\"`additional_capabilities`\" pulumi-lang-yaml=\"`additionalCapabilities`\" pulumi-lang-java=\"`additionalCapabilities`\"\u003e`additional_capabilities`\u003c/span\u003e block as defined below.\n"},"automaticInstanceRepair":{"$ref":"#/types/azure:compute/OrchestratedVirtualMachineScaleSetAutomaticInstanceRepair:OrchestratedVirtualMachineScaleSetAutomaticInstanceRepair","description":"An \u003cspan pulumi-lang-nodejs=\"`automaticInstanceRepair`\" pulumi-lang-dotnet=\"`AutomaticInstanceRepair`\" pulumi-lang-go=\"`automaticInstanceRepair`\" pulumi-lang-python=\"`automatic_instance_repair`\" pulumi-lang-yaml=\"`automaticInstanceRepair`\" pulumi-lang-java=\"`automaticInstanceRepair`\"\u003e`automatic_instance_repair`\u003c/span\u003e block as defined below.\n\n\u003e **Note:** To enable the \u003cspan pulumi-lang-nodejs=\"`automaticInstanceRepair`\" pulumi-lang-dotnet=\"`AutomaticInstanceRepair`\" pulumi-lang-go=\"`automaticInstanceRepair`\" pulumi-lang-python=\"`automatic_instance_repair`\" pulumi-lang-yaml=\"`automaticInstanceRepair`\" pulumi-lang-java=\"`automaticInstanceRepair`\"\u003e`automatic_instance_repair`\u003c/span\u003e, the Orchestrated Virtual Machine Scale Set must have a valid [Application Health Extension](https://docs.microsoft.com/azure/virtual-machine-scale-sets/virtual-machine-scale-sets-health-extension).\n"},"bootDiagnostics":{"$ref":"#/types/azure:compute/OrchestratedVirtualMachineScaleSetBootDiagnostics:OrchestratedVirtualMachineScaleSetBootDiagnostics","description":"A \u003cspan pulumi-lang-nodejs=\"`bootDiagnostics`\" pulumi-lang-dotnet=\"`BootDiagnostics`\" pulumi-lang-go=\"`bootDiagnostics`\" pulumi-lang-python=\"`boot_diagnostics`\" pulumi-lang-yaml=\"`bootDiagnostics`\" pulumi-lang-java=\"`bootDiagnostics`\"\u003e`boot_diagnostics`\u003c/span\u003e block as defined below.\n"},"capacityReservationGroupId":{"type":"string","description":"Specifies the ID of the Capacity Reservation Group which the Virtual Machine Scale Set should be allocated to. Changing this forces a new resource to be created.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`capacityReservationGroupId`\" pulumi-lang-dotnet=\"`CapacityReservationGroupId`\" pulumi-lang-go=\"`capacityReservationGroupId`\" pulumi-lang-python=\"`capacity_reservation_group_id`\" pulumi-lang-yaml=\"`capacityReservationGroupId`\" pulumi-lang-java=\"`capacityReservationGroupId`\"\u003e`capacity_reservation_group_id`\u003c/span\u003e cannot be specified with \u003cspan pulumi-lang-nodejs=\"`proximityPlacementGroupId`\" pulumi-lang-dotnet=\"`ProximityPlacementGroupId`\" pulumi-lang-go=\"`proximityPlacementGroupId`\" pulumi-lang-python=\"`proximity_placement_group_id`\" pulumi-lang-yaml=\"`proximityPlacementGroupId`\" pulumi-lang-java=\"`proximityPlacementGroupId`\"\u003e`proximity_placement_group_id`\u003c/span\u003e\n\n\u003e **Note:** If \u003cspan pulumi-lang-nodejs=\"`capacityReservationGroupId`\" pulumi-lang-dotnet=\"`CapacityReservationGroupId`\" pulumi-lang-go=\"`capacityReservationGroupId`\" pulumi-lang-python=\"`capacity_reservation_group_id`\" pulumi-lang-yaml=\"`capacityReservationGroupId`\" pulumi-lang-java=\"`capacityReservationGroupId`\"\u003e`capacity_reservation_group_id`\u003c/span\u003e is specified the \u003cspan pulumi-lang-nodejs=\"`singlePlacementGroup`\" pulumi-lang-dotnet=\"`SinglePlacementGroup`\" pulumi-lang-go=\"`singlePlacementGroup`\" pulumi-lang-python=\"`single_placement_group`\" pulumi-lang-yaml=\"`singlePlacementGroup`\" pulumi-lang-java=\"`singlePlacementGroup`\"\u003e`single_placement_group`\u003c/span\u003e must be set to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n","willReplaceOnChanges":true},"dataDisks":{"type":"array","items":{"$ref":"#/types/azure:compute/OrchestratedVirtualMachineScaleSetDataDisk:OrchestratedVirtualMachineScaleSetDataDisk"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`dataDisk`\" pulumi-lang-dotnet=\"`DataDisk`\" pulumi-lang-go=\"`dataDisk`\" pulumi-lang-python=\"`data_disk`\" pulumi-lang-yaml=\"`dataDisk`\" pulumi-lang-java=\"`dataDisk`\"\u003e`data_disk`\u003c/span\u003e blocks as defined below.\n"},"encryptionAtHostEnabled":{"type":"boolean","description":"Should disks attached to this Virtual Machine Scale Set be encrypted by enabling Encryption at Host?\n"},"evictionPolicy":{"type":"string","description":"The Policy which should be used by Spot Virtual Machines that are Evicted from the Scale Set. Possible values are `Deallocate` and `Delete`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"extensionOperationsEnabled":{"type":"boolean","description":"Should extension operations be allowed on the Virtual Machine Scale Set? Possible values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e. Changing this forces a new Virtual Machine Scale Set to be created.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`extensionOperationsEnabled`\" pulumi-lang-dotnet=\"`ExtensionOperationsEnabled`\" pulumi-lang-go=\"`extensionOperationsEnabled`\" pulumi-lang-python=\"`extension_operations_enabled`\" pulumi-lang-yaml=\"`extensionOperationsEnabled`\" pulumi-lang-java=\"`extensionOperationsEnabled`\"\u003e`extension_operations_enabled`\u003c/span\u003e may only be set to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e if there are no extensions defined in the \u003cspan pulumi-lang-nodejs=\"`extension`\" pulumi-lang-dotnet=\"`Extension`\" pulumi-lang-go=\"`extension`\" pulumi-lang-python=\"`extension`\" pulumi-lang-yaml=\"`extension`\" pulumi-lang-java=\"`extension`\"\u003e`extension`\u003c/span\u003e field.\n","willReplaceOnChanges":true},"extensions":{"type":"array","items":{"$ref":"#/types/azure:compute/OrchestratedVirtualMachineScaleSetExtension:OrchestratedVirtualMachineScaleSetExtension"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`extension`\" pulumi-lang-dotnet=\"`Extension`\" pulumi-lang-go=\"`extension`\" pulumi-lang-python=\"`extension`\" pulumi-lang-yaml=\"`extension`\" pulumi-lang-java=\"`extension`\"\u003e`extension`\u003c/span\u003e blocks as defined below\n"},"extensionsTimeBudget":{"type":"string","description":"Specifies the time alloted for all extensions to start. The time duration should be between 15 minutes and 120 minutes (inclusive) and should be specified in ISO 8601 format. Defaults to `PT1H30M`.\n"},"identity":{"$ref":"#/types/azure:compute/OrchestratedVirtualMachineScaleSetIdentity:OrchestratedVirtualMachineScaleSetIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"instances":{"type":"integer","description":"The number of Virtual Machines in the Virtual Machine Scale Set.\n"},"licenseType":{"type":"string","description":"Specifies the type of on-premise license (also known as Azure Hybrid Use Benefit) which should be used for this Virtual Machine Scale Set. Possible values are `None`, `Windows_Client` and `Windows_Server`.\n"},"location":{"type":"string","description":"The Azure location where the Virtual Machine Scale Set should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"maxBidPrice":{"type":"number","description":"The maximum price you're willing to pay for each Virtual Machine in this Scale Set, in US Dollars; which must be greater than the current spot price. If this bid price falls below the current spot price the Virtual Machines in the Scale Set will be evicted using the eviction_policy. Defaults to `-1`, which means that each Virtual Machine in the Scale Set should not be evicted for price reasons.\n"},"name":{"type":"string","description":"The name of the Virtual Machine Scale Set. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"networkApiVersion":{"type":"string","description":"Specifies the Microsoft.Network API version used when creating networking resources in the Network Interface Configurations for Virtual Machine Scale Set. Possible values are `2020-11-01` and `2022-11-01`. Defaults to `2020-11-01`.\n"},"networkInterfaces":{"type":"array","items":{"$ref":"#/types/azure:compute/OrchestratedVirtualMachineScaleSetNetworkInterface:OrchestratedVirtualMachineScaleSetNetworkInterface"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`networkInterface`\" pulumi-lang-dotnet=\"`NetworkInterface`\" pulumi-lang-go=\"`networkInterface`\" pulumi-lang-python=\"`network_interface`\" pulumi-lang-yaml=\"`networkInterface`\" pulumi-lang-java=\"`networkInterface`\"\u003e`network_interface`\u003c/span\u003e blocks as defined below.\n"},"osDisk":{"$ref":"#/types/azure:compute/OrchestratedVirtualMachineScaleSetOsDisk:OrchestratedVirtualMachineScaleSetOsDisk","description":"An \u003cspan pulumi-lang-nodejs=\"`osDisk`\" pulumi-lang-dotnet=\"`OsDisk`\" pulumi-lang-go=\"`osDisk`\" pulumi-lang-python=\"`os_disk`\" pulumi-lang-yaml=\"`osDisk`\" pulumi-lang-java=\"`osDisk`\"\u003e`os_disk`\u003c/span\u003e block as defined below.\n"},"osProfile":{"$ref":"#/types/azure:compute/OrchestratedVirtualMachineScaleSetOsProfile:OrchestratedVirtualMachineScaleSetOsProfile","description":"An \u003cspan pulumi-lang-nodejs=\"`osProfile`\" pulumi-lang-dotnet=\"`OsProfile`\" pulumi-lang-go=\"`osProfile`\" pulumi-lang-python=\"`os_profile`\" pulumi-lang-yaml=\"`osProfile`\" pulumi-lang-java=\"`osProfile`\"\u003e`os_profile`\u003c/span\u003e block as defined below.\n"},"plan":{"$ref":"#/types/azure:compute/OrchestratedVirtualMachineScaleSetPlan:OrchestratedVirtualMachineScaleSetPlan","description":"A \u003cspan pulumi-lang-nodejs=\"`plan`\" pulumi-lang-dotnet=\"`Plan`\" pulumi-lang-go=\"`plan`\" pulumi-lang-python=\"`plan`\" pulumi-lang-yaml=\"`plan`\" pulumi-lang-java=\"`plan`\"\u003e`plan`\u003c/span\u003e block as documented below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"platformFaultDomainCount":{"type":"integer","description":"Specifies the number of fault domains that are used by this Virtual Machine Scale Set. Changing this forces a new resource to be created.\n\n\u003e **Note:** The number of Fault Domains varies depending on which Azure Region you're using. More information about update and fault domains and how they work can be found [here](https://learn.microsoft.com/en-us/azure/virtual-machines/availability-set-overview).\n","willReplaceOnChanges":true},"priority":{"type":"string","description":"The Priority of this Virtual Machine Scale Set. Possible values are `Regular` and `Spot`. Defaults to `Regular`. Changing this value forces a new resource.\n","willReplaceOnChanges":true},"priorityMix":{"$ref":"#/types/azure:compute/OrchestratedVirtualMachineScaleSetPriorityMix:OrchestratedVirtualMachineScaleSetPriorityMix","description":"a \u003cspan pulumi-lang-nodejs=\"`priorityMix`\" pulumi-lang-dotnet=\"`PriorityMix`\" pulumi-lang-go=\"`priorityMix`\" pulumi-lang-python=\"`priority_mix`\" pulumi-lang-yaml=\"`priorityMix`\" pulumi-lang-java=\"`priorityMix`\"\u003e`priority_mix`\u003c/span\u003e block as defined below\n"},"proximityPlacementGroupId":{"type":"string","description":"The ID of the Proximity Placement Group which the Virtual Machine should be assigned to. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group in which the Virtual Machine Scale Set should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"rollingUpgradePolicy":{"$ref":"#/types/azure:compute/OrchestratedVirtualMachineScaleSetRollingUpgradePolicy:OrchestratedVirtualMachineScaleSetRollingUpgradePolicy","description":"A \u003cspan pulumi-lang-nodejs=\"`rollingUpgradePolicy`\" pulumi-lang-dotnet=\"`RollingUpgradePolicy`\" pulumi-lang-go=\"`rollingUpgradePolicy`\" pulumi-lang-python=\"`rolling_upgrade_policy`\" pulumi-lang-yaml=\"`rollingUpgradePolicy`\" pulumi-lang-java=\"`rollingUpgradePolicy`\"\u003e`rolling_upgrade_policy`\u003c/span\u003e block as defined below. This is Required when \u003cspan pulumi-lang-nodejs=\"`upgradeMode`\" pulumi-lang-dotnet=\"`UpgradeMode`\" pulumi-lang-go=\"`upgradeMode`\" pulumi-lang-python=\"`upgrade_mode`\" pulumi-lang-yaml=\"`upgradeMode`\" pulumi-lang-java=\"`upgradeMode`\"\u003e`upgrade_mode`\u003c/span\u003e is set to `Rolling` and cannot be specified when \u003cspan pulumi-lang-nodejs=\"`upgradeMode`\" pulumi-lang-dotnet=\"`UpgradeMode`\" pulumi-lang-go=\"`upgradeMode`\" pulumi-lang-python=\"`upgrade_mode`\" pulumi-lang-yaml=\"`upgradeMode`\" pulumi-lang-java=\"`upgradeMode`\"\u003e`upgrade_mode`\u003c/span\u003e is set to `Manual`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"singlePlacementGroup":{"type":"boolean","description":"Should this Virtual Machine Scale Set be limited to a Single Placement Group, which means the number of instances will be capped at 100 Virtual Machines. Possible values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`singlePlacementGroup`\" pulumi-lang-dotnet=\"`SinglePlacementGroup`\" pulumi-lang-go=\"`singlePlacementGroup`\" pulumi-lang-python=\"`single_placement_group`\" pulumi-lang-yaml=\"`singlePlacementGroup`\" pulumi-lang-java=\"`singlePlacementGroup`\"\u003e`single_placement_group`\u003c/span\u003e behaves differently for Flexible orchestration Virtual Machine Scale Sets than it does for Uniform orchestration Virtual Machine Scale Sets. It is recommended that you do not define the \u003cspan pulumi-lang-nodejs=\"`singlePlacementGroup`\" pulumi-lang-dotnet=\"`SinglePlacementGroup`\" pulumi-lang-go=\"`singlePlacementGroup`\" pulumi-lang-python=\"`single_placement_group`\" pulumi-lang-yaml=\"`singlePlacementGroup`\" pulumi-lang-java=\"`singlePlacementGroup`\"\u003e`single_placement_group`\u003c/span\u003e field in your configuration file as the service will determine what this value should be based off of the value contained within the \u003cspan pulumi-lang-nodejs=\"`skuName`\" pulumi-lang-dotnet=\"`SkuName`\" pulumi-lang-go=\"`skuName`\" pulumi-lang-python=\"`sku_name`\" pulumi-lang-yaml=\"`skuName`\" pulumi-lang-java=\"`skuName`\"\u003e`sku_name`\u003c/span\u003e field of your configuration file. You may set the \u003cspan pulumi-lang-nodejs=\"`singlePlacementGroup`\" pulumi-lang-dotnet=\"`SinglePlacementGroup`\" pulumi-lang-go=\"`singlePlacementGroup`\" pulumi-lang-python=\"`single_placement_group`\" pulumi-lang-yaml=\"`singlePlacementGroup`\" pulumi-lang-java=\"`singlePlacementGroup`\"\u003e`single_placement_group`\u003c/span\u003e field to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, however once you set it to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e you will not be able to revert it back to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"skuName":{"type":"string","description":"The \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e of the SKU to be used by this Virtual Machine Scale Set. Valid values include: any of the [General purpose](https://docs.microsoft.com/azure/virtual-machines/sizes-general), [Compute optimized](https://docs.microsoft.com/azure/virtual-machines/sizes-compute), [Memory optimized](https://docs.microsoft.com/azure/virtual-machines/sizes-memory), [Storage optimized](https://docs.microsoft.com/azure/virtual-machines/sizes-storage), [GPU optimized](https://docs.microsoft.com/azure/virtual-machines/sizes-gpu), [FPGA optimized](https://docs.microsoft.com/azure/virtual-machines/sizes-field-programmable-gate-arrays), [High performance](https://docs.microsoft.com/azure/virtual-machines/sizes-hpc), or [Previous generation](https://docs.microsoft.com/azure/virtual-machines/sizes-previous-gen) virtual machine SKUs.\n"},"skuProfile":{"$ref":"#/types/azure:compute/OrchestratedVirtualMachineScaleSetSkuProfile:OrchestratedVirtualMachineScaleSetSkuProfile","description":"An \u003cspan pulumi-lang-nodejs=\"`skuProfile`\" pulumi-lang-dotnet=\"`SkuProfile`\" pulumi-lang-go=\"`skuProfile`\" pulumi-lang-python=\"`sku_profile`\" pulumi-lang-yaml=\"`skuProfile`\" pulumi-lang-java=\"`skuProfile`\"\u003e`sku_profile`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n\n\u003e **Note:** If \u003cspan pulumi-lang-nodejs=\"`skuProfile`\" pulumi-lang-dotnet=\"`SkuProfile`\" pulumi-lang-go=\"`skuProfile`\" pulumi-lang-python=\"`sku_profile`\" pulumi-lang-yaml=\"`skuProfile`\" pulumi-lang-java=\"`skuProfile`\"\u003e`sku_profile`\u003c/span\u003e is specified the \u003cspan pulumi-lang-nodejs=\"`skuName`\" pulumi-lang-dotnet=\"`SkuName`\" pulumi-lang-go=\"`skuName`\" pulumi-lang-python=\"`sku_name`\" pulumi-lang-yaml=\"`skuName`\" pulumi-lang-java=\"`skuName`\"\u003e`sku_name`\u003c/span\u003e must be set to `Mix`.\n","willReplaceOnChanges":true},"sourceImageId":{"type":"string","description":"The ID of an Image which each Virtual Machine in this Scale Set should be based on. Possible Image ID types include `Image ID`s, `Shared Image ID`s, `Shared Image Version ID`s, `Community Gallery Image ID`s, `Community Gallery Image Version ID`s, `Shared Gallery Image ID`s and `Shared Gallery Image Version ID`s.\n"},"sourceImageReference":{"$ref":"#/types/azure:compute/OrchestratedVirtualMachineScaleSetSourceImageReference:OrchestratedVirtualMachineScaleSetSourceImageReference","description":"A \u003cspan pulumi-lang-nodejs=\"`sourceImageReference`\" pulumi-lang-dotnet=\"`SourceImageReference`\" pulumi-lang-go=\"`sourceImageReference`\" pulumi-lang-python=\"`source_image_reference`\" pulumi-lang-yaml=\"`sourceImageReference`\" pulumi-lang-java=\"`sourceImageReference`\"\u003e`source_image_reference`\u003c/span\u003e block as defined below.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to this Virtual Machine Scale Set.\n"},"terminationNotification":{"$ref":"#/types/azure:compute/OrchestratedVirtualMachineScaleSetTerminationNotification:OrchestratedVirtualMachineScaleSetTerminationNotification","description":"A \u003cspan pulumi-lang-nodejs=\"`terminationNotification`\" pulumi-lang-dotnet=\"`TerminationNotification`\" pulumi-lang-go=\"`terminationNotification`\" pulumi-lang-python=\"`termination_notification`\" pulumi-lang-yaml=\"`terminationNotification`\" pulumi-lang-java=\"`terminationNotification`\"\u003e`termination_notification`\u003c/span\u003e block as defined below.\n"},"upgradeMode":{"type":"string","description":"Specifies how upgrades (e.g. changing the Image/SKU) should be performed to Virtual Machine Instances. Possible values are `Automatic`, `Manual` and `Rolling`. Defaults to `Manual`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"userDataBase64":{"type":"string","description":"The Base64-Encoded User Data which should be used for this Virtual Machine Scale Set.\n","secret":true},"zoneBalance":{"type":"boolean","description":"Should the Virtual Machines in this Scale Set be strictly evenly distributed across Availability Zones? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Changing this forces a new resource to be created.\n\n\u003e **Note:** This can only be set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e when one or more \u003cspan pulumi-lang-nodejs=\"`zones`\" pulumi-lang-dotnet=\"`Zones`\" pulumi-lang-go=\"`zones`\" pulumi-lang-python=\"`zones`\" pulumi-lang-yaml=\"`zones`\" pulumi-lang-java=\"`zones`\"\u003e`zones`\u003c/span\u003e are configured.\n","willReplaceOnChanges":true},"zones":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Availability Zones across which the Virtual Machine Scale Set will create instances.\n\n\u003e **Note:** Updating \u003cspan pulumi-lang-nodejs=\"`zones`\" pulumi-lang-dotnet=\"`Zones`\" pulumi-lang-go=\"`zones`\" pulumi-lang-python=\"`zones`\" pulumi-lang-yaml=\"`zones`\" pulumi-lang-java=\"`zones`\"\u003e`zones`\u003c/span\u003e to remove an existing zone forces a new Virtual Machine Scale Set to be created.\n\n\u003e **Note:** Availability Zones are [only supported in several regions at this time](https://docs.microsoft.com/azure/availability-zones/az-overview).\n"}},"requiredInputs":["platformFaultDomainCount","resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering OrchestratedVirtualMachineScaleSet resources.\n","properties":{"additionalCapabilities":{"$ref":"#/types/azure:compute/OrchestratedVirtualMachineScaleSetAdditionalCapabilities:OrchestratedVirtualMachineScaleSetAdditionalCapabilities","description":"An \u003cspan pulumi-lang-nodejs=\"`additionalCapabilities`\" pulumi-lang-dotnet=\"`AdditionalCapabilities`\" pulumi-lang-go=\"`additionalCapabilities`\" pulumi-lang-python=\"`additional_capabilities`\" pulumi-lang-yaml=\"`additionalCapabilities`\" pulumi-lang-java=\"`additionalCapabilities`\"\u003e`additional_capabilities`\u003c/span\u003e block as defined below.\n"},"automaticInstanceRepair":{"$ref":"#/types/azure:compute/OrchestratedVirtualMachineScaleSetAutomaticInstanceRepair:OrchestratedVirtualMachineScaleSetAutomaticInstanceRepair","description":"An \u003cspan pulumi-lang-nodejs=\"`automaticInstanceRepair`\" pulumi-lang-dotnet=\"`AutomaticInstanceRepair`\" pulumi-lang-go=\"`automaticInstanceRepair`\" pulumi-lang-python=\"`automatic_instance_repair`\" pulumi-lang-yaml=\"`automaticInstanceRepair`\" pulumi-lang-java=\"`automaticInstanceRepair`\"\u003e`automatic_instance_repair`\u003c/span\u003e block as defined below.\n\n\u003e **Note:** To enable the \u003cspan pulumi-lang-nodejs=\"`automaticInstanceRepair`\" pulumi-lang-dotnet=\"`AutomaticInstanceRepair`\" pulumi-lang-go=\"`automaticInstanceRepair`\" pulumi-lang-python=\"`automatic_instance_repair`\" pulumi-lang-yaml=\"`automaticInstanceRepair`\" pulumi-lang-java=\"`automaticInstanceRepair`\"\u003e`automatic_instance_repair`\u003c/span\u003e, the Orchestrated Virtual Machine Scale Set must have a valid [Application Health Extension](https://docs.microsoft.com/azure/virtual-machine-scale-sets/virtual-machine-scale-sets-health-extension).\n"},"bootDiagnostics":{"$ref":"#/types/azure:compute/OrchestratedVirtualMachineScaleSetBootDiagnostics:OrchestratedVirtualMachineScaleSetBootDiagnostics","description":"A \u003cspan pulumi-lang-nodejs=\"`bootDiagnostics`\" pulumi-lang-dotnet=\"`BootDiagnostics`\" pulumi-lang-go=\"`bootDiagnostics`\" pulumi-lang-python=\"`boot_diagnostics`\" pulumi-lang-yaml=\"`bootDiagnostics`\" pulumi-lang-java=\"`bootDiagnostics`\"\u003e`boot_diagnostics`\u003c/span\u003e block as defined below.\n"},"capacityReservationGroupId":{"type":"string","description":"Specifies the ID of the Capacity Reservation Group which the Virtual Machine Scale Set should be allocated to. Changing this forces a new resource to be created.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`capacityReservationGroupId`\" pulumi-lang-dotnet=\"`CapacityReservationGroupId`\" pulumi-lang-go=\"`capacityReservationGroupId`\" pulumi-lang-python=\"`capacity_reservation_group_id`\" pulumi-lang-yaml=\"`capacityReservationGroupId`\" pulumi-lang-java=\"`capacityReservationGroupId`\"\u003e`capacity_reservation_group_id`\u003c/span\u003e cannot be specified with \u003cspan pulumi-lang-nodejs=\"`proximityPlacementGroupId`\" pulumi-lang-dotnet=\"`ProximityPlacementGroupId`\" pulumi-lang-go=\"`proximityPlacementGroupId`\" pulumi-lang-python=\"`proximity_placement_group_id`\" pulumi-lang-yaml=\"`proximityPlacementGroupId`\" pulumi-lang-java=\"`proximityPlacementGroupId`\"\u003e`proximity_placement_group_id`\u003c/span\u003e\n\n\u003e **Note:** If \u003cspan pulumi-lang-nodejs=\"`capacityReservationGroupId`\" pulumi-lang-dotnet=\"`CapacityReservationGroupId`\" pulumi-lang-go=\"`capacityReservationGroupId`\" pulumi-lang-python=\"`capacity_reservation_group_id`\" pulumi-lang-yaml=\"`capacityReservationGroupId`\" pulumi-lang-java=\"`capacityReservationGroupId`\"\u003e`capacity_reservation_group_id`\u003c/span\u003e is specified the \u003cspan pulumi-lang-nodejs=\"`singlePlacementGroup`\" pulumi-lang-dotnet=\"`SinglePlacementGroup`\" pulumi-lang-go=\"`singlePlacementGroup`\" pulumi-lang-python=\"`single_placement_group`\" pulumi-lang-yaml=\"`singlePlacementGroup`\" pulumi-lang-java=\"`singlePlacementGroup`\"\u003e`single_placement_group`\u003c/span\u003e must be set to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n","willReplaceOnChanges":true},"dataDisks":{"type":"array","items":{"$ref":"#/types/azure:compute/OrchestratedVirtualMachineScaleSetDataDisk:OrchestratedVirtualMachineScaleSetDataDisk"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`dataDisk`\" pulumi-lang-dotnet=\"`DataDisk`\" pulumi-lang-go=\"`dataDisk`\" pulumi-lang-python=\"`data_disk`\" pulumi-lang-yaml=\"`dataDisk`\" pulumi-lang-java=\"`dataDisk`\"\u003e`data_disk`\u003c/span\u003e blocks as defined below.\n"},"encryptionAtHostEnabled":{"type":"boolean","description":"Should disks attached to this Virtual Machine Scale Set be encrypted by enabling Encryption at Host?\n"},"evictionPolicy":{"type":"string","description":"The Policy which should be used by Spot Virtual Machines that are Evicted from the Scale Set. Possible values are `Deallocate` and `Delete`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"extensionOperationsEnabled":{"type":"boolean","description":"Should extension operations be allowed on the Virtual Machine Scale Set? Possible values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e. Changing this forces a new Virtual Machine Scale Set to be created.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`extensionOperationsEnabled`\" pulumi-lang-dotnet=\"`ExtensionOperationsEnabled`\" pulumi-lang-go=\"`extensionOperationsEnabled`\" pulumi-lang-python=\"`extension_operations_enabled`\" pulumi-lang-yaml=\"`extensionOperationsEnabled`\" pulumi-lang-java=\"`extensionOperationsEnabled`\"\u003e`extension_operations_enabled`\u003c/span\u003e may only be set to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e if there are no extensions defined in the \u003cspan pulumi-lang-nodejs=\"`extension`\" pulumi-lang-dotnet=\"`Extension`\" pulumi-lang-go=\"`extension`\" pulumi-lang-python=\"`extension`\" pulumi-lang-yaml=\"`extension`\" pulumi-lang-java=\"`extension`\"\u003e`extension`\u003c/span\u003e field.\n","willReplaceOnChanges":true},"extensions":{"type":"array","items":{"$ref":"#/types/azure:compute/OrchestratedVirtualMachineScaleSetExtension:OrchestratedVirtualMachineScaleSetExtension"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`extension`\" pulumi-lang-dotnet=\"`Extension`\" pulumi-lang-go=\"`extension`\" pulumi-lang-python=\"`extension`\" pulumi-lang-yaml=\"`extension`\" pulumi-lang-java=\"`extension`\"\u003e`extension`\u003c/span\u003e blocks as defined below\n"},"extensionsTimeBudget":{"type":"string","description":"Specifies the time alloted for all extensions to start. The time duration should be between 15 minutes and 120 minutes (inclusive) and should be specified in ISO 8601 format. Defaults to `PT1H30M`.\n"},"identity":{"$ref":"#/types/azure:compute/OrchestratedVirtualMachineScaleSetIdentity:OrchestratedVirtualMachineScaleSetIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"instances":{"type":"integer","description":"The number of Virtual Machines in the Virtual Machine Scale Set.\n"},"licenseType":{"type":"string","description":"Specifies the type of on-premise license (also known as Azure Hybrid Use Benefit) which should be used for this Virtual Machine Scale Set. Possible values are `None`, `Windows_Client` and `Windows_Server`.\n"},"location":{"type":"string","description":"The Azure location where the Virtual Machine Scale Set should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"maxBidPrice":{"type":"number","description":"The maximum price you're willing to pay for each Virtual Machine in this Scale Set, in US Dollars; which must be greater than the current spot price. If this bid price falls below the current spot price the Virtual Machines in the Scale Set will be evicted using the eviction_policy. Defaults to `-1`, which means that each Virtual Machine in the Scale Set should not be evicted for price reasons.\n"},"name":{"type":"string","description":"The name of the Virtual Machine Scale Set. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"networkApiVersion":{"type":"string","description":"Specifies the Microsoft.Network API version used when creating networking resources in the Network Interface Configurations for Virtual Machine Scale Set. Possible values are `2020-11-01` and `2022-11-01`. Defaults to `2020-11-01`.\n"},"networkInterfaces":{"type":"array","items":{"$ref":"#/types/azure:compute/OrchestratedVirtualMachineScaleSetNetworkInterface:OrchestratedVirtualMachineScaleSetNetworkInterface"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`networkInterface`\" pulumi-lang-dotnet=\"`NetworkInterface`\" pulumi-lang-go=\"`networkInterface`\" pulumi-lang-python=\"`network_interface`\" pulumi-lang-yaml=\"`networkInterface`\" pulumi-lang-java=\"`networkInterface`\"\u003e`network_interface`\u003c/span\u003e blocks as defined below.\n"},"osDisk":{"$ref":"#/types/azure:compute/OrchestratedVirtualMachineScaleSetOsDisk:OrchestratedVirtualMachineScaleSetOsDisk","description":"An \u003cspan pulumi-lang-nodejs=\"`osDisk`\" pulumi-lang-dotnet=\"`OsDisk`\" pulumi-lang-go=\"`osDisk`\" pulumi-lang-python=\"`os_disk`\" pulumi-lang-yaml=\"`osDisk`\" pulumi-lang-java=\"`osDisk`\"\u003e`os_disk`\u003c/span\u003e block as defined below.\n"},"osProfile":{"$ref":"#/types/azure:compute/OrchestratedVirtualMachineScaleSetOsProfile:OrchestratedVirtualMachineScaleSetOsProfile","description":"An \u003cspan pulumi-lang-nodejs=\"`osProfile`\" pulumi-lang-dotnet=\"`OsProfile`\" pulumi-lang-go=\"`osProfile`\" pulumi-lang-python=\"`os_profile`\" pulumi-lang-yaml=\"`osProfile`\" pulumi-lang-java=\"`osProfile`\"\u003e`os_profile`\u003c/span\u003e block as defined below.\n"},"plan":{"$ref":"#/types/azure:compute/OrchestratedVirtualMachineScaleSetPlan:OrchestratedVirtualMachineScaleSetPlan","description":"A \u003cspan pulumi-lang-nodejs=\"`plan`\" pulumi-lang-dotnet=\"`Plan`\" pulumi-lang-go=\"`plan`\" pulumi-lang-python=\"`plan`\" pulumi-lang-yaml=\"`plan`\" pulumi-lang-java=\"`plan`\"\u003e`plan`\u003c/span\u003e block as documented below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"platformFaultDomainCount":{"type":"integer","description":"Specifies the number of fault domains that are used by this Virtual Machine Scale Set. Changing this forces a new resource to be created.\n\n\u003e **Note:** The number of Fault Domains varies depending on which Azure Region you're using. More information about update and fault domains and how they work can be found [here](https://learn.microsoft.com/en-us/azure/virtual-machines/availability-set-overview).\n","willReplaceOnChanges":true},"priority":{"type":"string","description":"The Priority of this Virtual Machine Scale Set. Possible values are `Regular` and `Spot`. Defaults to `Regular`. Changing this value forces a new resource.\n","willReplaceOnChanges":true},"priorityMix":{"$ref":"#/types/azure:compute/OrchestratedVirtualMachineScaleSetPriorityMix:OrchestratedVirtualMachineScaleSetPriorityMix","description":"a \u003cspan pulumi-lang-nodejs=\"`priorityMix`\" pulumi-lang-dotnet=\"`PriorityMix`\" pulumi-lang-go=\"`priorityMix`\" pulumi-lang-python=\"`priority_mix`\" pulumi-lang-yaml=\"`priorityMix`\" pulumi-lang-java=\"`priorityMix`\"\u003e`priority_mix`\u003c/span\u003e block as defined below\n"},"proximityPlacementGroupId":{"type":"string","description":"The ID of the Proximity Placement Group which the Virtual Machine should be assigned to. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group in which the Virtual Machine Scale Set should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"rollingUpgradePolicy":{"$ref":"#/types/azure:compute/OrchestratedVirtualMachineScaleSetRollingUpgradePolicy:OrchestratedVirtualMachineScaleSetRollingUpgradePolicy","description":"A \u003cspan pulumi-lang-nodejs=\"`rollingUpgradePolicy`\" pulumi-lang-dotnet=\"`RollingUpgradePolicy`\" pulumi-lang-go=\"`rollingUpgradePolicy`\" pulumi-lang-python=\"`rolling_upgrade_policy`\" pulumi-lang-yaml=\"`rollingUpgradePolicy`\" pulumi-lang-java=\"`rollingUpgradePolicy`\"\u003e`rolling_upgrade_policy`\u003c/span\u003e block as defined below. This is Required when \u003cspan pulumi-lang-nodejs=\"`upgradeMode`\" pulumi-lang-dotnet=\"`UpgradeMode`\" pulumi-lang-go=\"`upgradeMode`\" pulumi-lang-python=\"`upgrade_mode`\" pulumi-lang-yaml=\"`upgradeMode`\" pulumi-lang-java=\"`upgradeMode`\"\u003e`upgrade_mode`\u003c/span\u003e is set to `Rolling` and cannot be specified when \u003cspan pulumi-lang-nodejs=\"`upgradeMode`\" pulumi-lang-dotnet=\"`UpgradeMode`\" pulumi-lang-go=\"`upgradeMode`\" pulumi-lang-python=\"`upgrade_mode`\" pulumi-lang-yaml=\"`upgradeMode`\" pulumi-lang-java=\"`upgradeMode`\"\u003e`upgrade_mode`\u003c/span\u003e is set to `Manual`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"singlePlacementGroup":{"type":"boolean","description":"Should this Virtual Machine Scale Set be limited to a Single Placement Group, which means the number of instances will be capped at 100 Virtual Machines. Possible values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`singlePlacementGroup`\" pulumi-lang-dotnet=\"`SinglePlacementGroup`\" pulumi-lang-go=\"`singlePlacementGroup`\" pulumi-lang-python=\"`single_placement_group`\" pulumi-lang-yaml=\"`singlePlacementGroup`\" pulumi-lang-java=\"`singlePlacementGroup`\"\u003e`single_placement_group`\u003c/span\u003e behaves differently for Flexible orchestration Virtual Machine Scale Sets than it does for Uniform orchestration Virtual Machine Scale Sets. It is recommended that you do not define the \u003cspan pulumi-lang-nodejs=\"`singlePlacementGroup`\" pulumi-lang-dotnet=\"`SinglePlacementGroup`\" pulumi-lang-go=\"`singlePlacementGroup`\" pulumi-lang-python=\"`single_placement_group`\" pulumi-lang-yaml=\"`singlePlacementGroup`\" pulumi-lang-java=\"`singlePlacementGroup`\"\u003e`single_placement_group`\u003c/span\u003e field in your configuration file as the service will determine what this value should be based off of the value contained within the \u003cspan pulumi-lang-nodejs=\"`skuName`\" pulumi-lang-dotnet=\"`SkuName`\" pulumi-lang-go=\"`skuName`\" pulumi-lang-python=\"`sku_name`\" pulumi-lang-yaml=\"`skuName`\" pulumi-lang-java=\"`skuName`\"\u003e`sku_name`\u003c/span\u003e field of your configuration file. You may set the \u003cspan pulumi-lang-nodejs=\"`singlePlacementGroup`\" pulumi-lang-dotnet=\"`SinglePlacementGroup`\" pulumi-lang-go=\"`singlePlacementGroup`\" pulumi-lang-python=\"`single_placement_group`\" pulumi-lang-yaml=\"`singlePlacementGroup`\" pulumi-lang-java=\"`singlePlacementGroup`\"\u003e`single_placement_group`\u003c/span\u003e field to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, however once you set it to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e you will not be able to revert it back to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"skuName":{"type":"string","description":"The \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e of the SKU to be used by this Virtual Machine Scale Set. Valid values include: any of the [General purpose](https://docs.microsoft.com/azure/virtual-machines/sizes-general), [Compute optimized](https://docs.microsoft.com/azure/virtual-machines/sizes-compute), [Memory optimized](https://docs.microsoft.com/azure/virtual-machines/sizes-memory), [Storage optimized](https://docs.microsoft.com/azure/virtual-machines/sizes-storage), [GPU optimized](https://docs.microsoft.com/azure/virtual-machines/sizes-gpu), [FPGA optimized](https://docs.microsoft.com/azure/virtual-machines/sizes-field-programmable-gate-arrays), [High performance](https://docs.microsoft.com/azure/virtual-machines/sizes-hpc), or [Previous generation](https://docs.microsoft.com/azure/virtual-machines/sizes-previous-gen) virtual machine SKUs.\n"},"skuProfile":{"$ref":"#/types/azure:compute/OrchestratedVirtualMachineScaleSetSkuProfile:OrchestratedVirtualMachineScaleSetSkuProfile","description":"An \u003cspan pulumi-lang-nodejs=\"`skuProfile`\" pulumi-lang-dotnet=\"`SkuProfile`\" pulumi-lang-go=\"`skuProfile`\" pulumi-lang-python=\"`sku_profile`\" pulumi-lang-yaml=\"`skuProfile`\" pulumi-lang-java=\"`skuProfile`\"\u003e`sku_profile`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n\n\u003e **Note:** If \u003cspan pulumi-lang-nodejs=\"`skuProfile`\" pulumi-lang-dotnet=\"`SkuProfile`\" pulumi-lang-go=\"`skuProfile`\" pulumi-lang-python=\"`sku_profile`\" pulumi-lang-yaml=\"`skuProfile`\" pulumi-lang-java=\"`skuProfile`\"\u003e`sku_profile`\u003c/span\u003e is specified the \u003cspan pulumi-lang-nodejs=\"`skuName`\" pulumi-lang-dotnet=\"`SkuName`\" pulumi-lang-go=\"`skuName`\" pulumi-lang-python=\"`sku_name`\" pulumi-lang-yaml=\"`skuName`\" pulumi-lang-java=\"`skuName`\"\u003e`sku_name`\u003c/span\u003e must be set to `Mix`.\n","willReplaceOnChanges":true},"sourceImageId":{"type":"string","description":"The ID of an Image which each Virtual Machine in this Scale Set should be based on. Possible Image ID types include `Image ID`s, `Shared Image ID`s, `Shared Image Version ID`s, `Community Gallery Image ID`s, `Community Gallery Image Version ID`s, `Shared Gallery Image ID`s and `Shared Gallery Image Version ID`s.\n"},"sourceImageReference":{"$ref":"#/types/azure:compute/OrchestratedVirtualMachineScaleSetSourceImageReference:OrchestratedVirtualMachineScaleSetSourceImageReference","description":"A \u003cspan pulumi-lang-nodejs=\"`sourceImageReference`\" pulumi-lang-dotnet=\"`SourceImageReference`\" pulumi-lang-go=\"`sourceImageReference`\" pulumi-lang-python=\"`source_image_reference`\" pulumi-lang-yaml=\"`sourceImageReference`\" pulumi-lang-java=\"`sourceImageReference`\"\u003e`source_image_reference`\u003c/span\u003e block as defined below.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to this Virtual Machine Scale Set.\n"},"terminationNotification":{"$ref":"#/types/azure:compute/OrchestratedVirtualMachineScaleSetTerminationNotification:OrchestratedVirtualMachineScaleSetTerminationNotification","description":"A \u003cspan pulumi-lang-nodejs=\"`terminationNotification`\" pulumi-lang-dotnet=\"`TerminationNotification`\" pulumi-lang-go=\"`terminationNotification`\" pulumi-lang-python=\"`termination_notification`\" pulumi-lang-yaml=\"`terminationNotification`\" pulumi-lang-java=\"`terminationNotification`\"\u003e`termination_notification`\u003c/span\u003e block as defined below.\n"},"uniqueId":{"type":"string","description":"The Unique ID for the Virtual Machine Scale Set.\n"},"upgradeMode":{"type":"string","description":"Specifies how upgrades (e.g. changing the Image/SKU) should be performed to Virtual Machine Instances. Possible values are `Automatic`, `Manual` and `Rolling`. Defaults to `Manual`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"userDataBase64":{"type":"string","description":"The Base64-Encoded User Data which should be used for this Virtual Machine Scale Set.\n","secret":true},"zoneBalance":{"type":"boolean","description":"Should the Virtual Machines in this Scale Set be strictly evenly distributed across Availability Zones? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Changing this forces a new resource to be created.\n\n\u003e **Note:** This can only be set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e when one or more \u003cspan pulumi-lang-nodejs=\"`zones`\" pulumi-lang-dotnet=\"`Zones`\" pulumi-lang-go=\"`zones`\" pulumi-lang-python=\"`zones`\" pulumi-lang-yaml=\"`zones`\" pulumi-lang-java=\"`zones`\"\u003e`zones`\u003c/span\u003e are configured.\n","willReplaceOnChanges":true},"zones":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Availability Zones across which the Virtual Machine Scale Set will create instances.\n\n\u003e **Note:** Updating \u003cspan pulumi-lang-nodejs=\"`zones`\" pulumi-lang-dotnet=\"`Zones`\" pulumi-lang-go=\"`zones`\" pulumi-lang-python=\"`zones`\" pulumi-lang-yaml=\"`zones`\" pulumi-lang-java=\"`zones`\"\u003e`zones`\u003c/span\u003e to remove an existing zone forces a new Virtual Machine Scale Set to be created.\n\n\u003e **Note:** Availability Zones are [only supported in several regions at this time](https://docs.microsoft.com/azure/availability-zones/az-overview).\n"}},"type":"object"}},"azure:compute/packetCapture:PacketCapture":{"description":"Configures Network Packet Capturing against a Virtual Machine using a Network Watcher.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleNetworkWatcher = new azure.network.NetworkWatcher(\"example\", {\n    name: \"example-nw\",\n    location: example.location,\n    resourceGroupName: example.name,\n});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"example\", {\n    name: \"example-network\",\n    addressSpaces: [\"10.0.0.0/16\"],\n    location: example.location,\n    resourceGroupName: example.name,\n});\nconst exampleSubnet = new azure.network.Subnet(\"example\", {\n    name: \"internal\",\n    resourceGroupName: example.name,\n    virtualNetworkName: exampleVirtualNetwork.name,\n    addressPrefixes: [\"10.0.2.0/24\"],\n});\nconst exampleNetworkInterface = new azure.network.NetworkInterface(\"example\", {\n    name: \"example-nic\",\n    location: example.location,\n    resourceGroupName: example.name,\n    ipConfigurations: [{\n        name: \"testconfiguration1\",\n        subnetId: exampleSubnet.id,\n        privateIpAddressAllocation: \"Dynamic\",\n    }],\n});\nconst exampleVirtualMachine = new azure.compute.VirtualMachine(\"example\", {\n    name: \"example-vm\",\n    location: example.location,\n    resourceGroupName: example.name,\n    networkInterfaceIds: [exampleNetworkInterface.id],\n    vmSize: \"Standard_F2\",\n    storageImageReference: {\n        publisher: \"Canonical\",\n        offer: \"0001-com-ubuntu-server-jammy\",\n        sku: \"22_04-lts\",\n        version: \"latest\",\n    },\n    storageOsDisk: {\n        name: \"osdisk\",\n        caching: \"ReadWrite\",\n        createOption: \"FromImage\",\n        managedDiskType: \"Standard_LRS\",\n    },\n    osProfile: {\n        computerName: \"pctest-vm\",\n        adminUsername: \"testadmin\",\n        adminPassword: \"Password1234!\",\n    },\n    osProfileLinuxConfig: {\n        disablePasswordAuthentication: false,\n    },\n});\nconst exampleExtension = new azure.compute.Extension(\"example\", {\n    name: \"network-watcher\",\n    virtualMachineId: exampleVirtualMachine.id,\n    publisher: \"Microsoft.Azure.NetworkWatcher\",\n    type: \"NetworkWatcherAgentLinux\",\n    typeHandlerVersion: \"1.4\",\n    autoUpgradeMinorVersion: true,\n});\nconst exampleAccount = new azure.storage.Account(\"example\", {\n    name: \"examplesa\",\n    resourceGroupName: example.name,\n    location: example.location,\n    accountTier: \"Standard\",\n    accountReplicationType: \"LRS\",\n});\nconst examplePacketCapture = new azure.compute.PacketCapture(\"example\", {\n    name: \"example-pc\",\n    networkWatcherId: exampleNetworkWatcher.id,\n    virtualMachineId: exampleVirtualMachine.id,\n    storageLocation: {\n        storageAccountId: exampleAccount.id,\n    },\n}, {\n    dependsOn: [exampleExtension],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_network_watcher = azure.network.NetworkWatcher(\"example\",\n    name=\"example-nw\",\n    location=example.location,\n    resource_group_name=example.name)\nexample_virtual_network = azure.network.VirtualNetwork(\"example\",\n    name=\"example-network\",\n    address_spaces=[\"10.0.0.0/16\"],\n    location=example.location,\n    resource_group_name=example.name)\nexample_subnet = azure.network.Subnet(\"example\",\n    name=\"internal\",\n    resource_group_name=example.name,\n    virtual_network_name=example_virtual_network.name,\n    address_prefixes=[\"10.0.2.0/24\"])\nexample_network_interface = azure.network.NetworkInterface(\"example\",\n    name=\"example-nic\",\n    location=example.location,\n    resource_group_name=example.name,\n    ip_configurations=[{\n        \"name\": \"testconfiguration1\",\n        \"subnet_id\": example_subnet.id,\n        \"private_ip_address_allocation\": \"Dynamic\",\n    }])\nexample_virtual_machine = azure.compute.VirtualMachine(\"example\",\n    name=\"example-vm\",\n    location=example.location,\n    resource_group_name=example.name,\n    network_interface_ids=[example_network_interface.id],\n    vm_size=\"Standard_F2\",\n    storage_image_reference={\n        \"publisher\": \"Canonical\",\n        \"offer\": \"0001-com-ubuntu-server-jammy\",\n        \"sku\": \"22_04-lts\",\n        \"version\": \"latest\",\n    },\n    storage_os_disk={\n        \"name\": \"osdisk\",\n        \"caching\": \"ReadWrite\",\n        \"create_option\": \"FromImage\",\n        \"managed_disk_type\": \"Standard_LRS\",\n    },\n    os_profile={\n        \"computer_name\": \"pctest-vm\",\n        \"admin_username\": \"testadmin\",\n        \"admin_password\": \"Password1234!\",\n    },\n    os_profile_linux_config={\n        \"disable_password_authentication\": False,\n    })\nexample_extension = azure.compute.Extension(\"example\",\n    name=\"network-watcher\",\n    virtual_machine_id=example_virtual_machine.id,\n    publisher=\"Microsoft.Azure.NetworkWatcher\",\n    type=\"NetworkWatcherAgentLinux\",\n    type_handler_version=\"1.4\",\n    auto_upgrade_minor_version=True)\nexample_account = azure.storage.Account(\"example\",\n    name=\"examplesa\",\n    resource_group_name=example.name,\n    location=example.location,\n    account_tier=\"Standard\",\n    account_replication_type=\"LRS\")\nexample_packet_capture = azure.compute.PacketCapture(\"example\",\n    name=\"example-pc\",\n    network_watcher_id=example_network_watcher.id,\n    virtual_machine_id=example_virtual_machine.id,\n    storage_location={\n        \"storage_account_id\": example_account.id,\n    },\n    opts = pulumi.ResourceOptions(depends_on=[example_extension]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleNetworkWatcher = new Azure.Network.NetworkWatcher(\"example\", new()\n    {\n        Name = \"example-nw\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n    });\n\n    var exampleVirtualNetwork = new Azure.Network.VirtualNetwork(\"example\", new()\n    {\n        Name = \"example-network\",\n        AddressSpaces = new[]\n        {\n            \"10.0.0.0/16\",\n        },\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n    });\n\n    var exampleSubnet = new Azure.Network.Subnet(\"example\", new()\n    {\n        Name = \"internal\",\n        ResourceGroupName = example.Name,\n        VirtualNetworkName = exampleVirtualNetwork.Name,\n        AddressPrefixes = new[]\n        {\n            \"10.0.2.0/24\",\n        },\n    });\n\n    var exampleNetworkInterface = new Azure.Network.NetworkInterface(\"example\", new()\n    {\n        Name = \"example-nic\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        IpConfigurations = new[]\n        {\n            new Azure.Network.Inputs.NetworkInterfaceIpConfigurationArgs\n            {\n                Name = \"testconfiguration1\",\n                SubnetId = exampleSubnet.Id,\n                PrivateIpAddressAllocation = \"Dynamic\",\n            },\n        },\n    });\n\n    var exampleVirtualMachine = new Azure.Compute.VirtualMachine(\"example\", new()\n    {\n        Name = \"example-vm\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        NetworkInterfaceIds = new[]\n        {\n            exampleNetworkInterface.Id,\n        },\n        VmSize = \"Standard_F2\",\n        StorageImageReference = new Azure.Compute.Inputs.VirtualMachineStorageImageReferenceArgs\n        {\n            Publisher = \"Canonical\",\n            Offer = \"0001-com-ubuntu-server-jammy\",\n            Sku = \"22_04-lts\",\n            Version = \"latest\",\n        },\n        StorageOsDisk = new Azure.Compute.Inputs.VirtualMachineStorageOsDiskArgs\n        {\n            Name = \"osdisk\",\n            Caching = \"ReadWrite\",\n            CreateOption = \"FromImage\",\n            ManagedDiskType = \"Standard_LRS\",\n        },\n        OsProfile = new Azure.Compute.Inputs.VirtualMachineOsProfileArgs\n        {\n            ComputerName = \"pctest-vm\",\n            AdminUsername = \"testadmin\",\n            AdminPassword = \"Password1234!\",\n        },\n        OsProfileLinuxConfig = new Azure.Compute.Inputs.VirtualMachineOsProfileLinuxConfigArgs\n        {\n            DisablePasswordAuthentication = false,\n        },\n    });\n\n    var exampleExtension = new Azure.Compute.Extension(\"example\", new()\n    {\n        Name = \"network-watcher\",\n        VirtualMachineId = exampleVirtualMachine.Id,\n        Publisher = \"Microsoft.Azure.NetworkWatcher\",\n        Type = \"NetworkWatcherAgentLinux\",\n        TypeHandlerVersion = \"1.4\",\n        AutoUpgradeMinorVersion = true,\n    });\n\n    var exampleAccount = new Azure.Storage.Account(\"example\", new()\n    {\n        Name = \"examplesa\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        AccountTier = \"Standard\",\n        AccountReplicationType = \"LRS\",\n    });\n\n    var examplePacketCapture = new Azure.Compute.PacketCapture(\"example\", new()\n    {\n        Name = \"example-pc\",\n        NetworkWatcherId = exampleNetworkWatcher.Id,\n        VirtualMachineId = exampleVirtualMachine.Id,\n        StorageLocation = new Azure.Compute.Inputs.PacketCaptureStorageLocationArgs\n        {\n            StorageAccountId = exampleAccount.Id,\n        },\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            exampleExtension,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/compute\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNetworkWatcher, err := network.NewNetworkWatcher(ctx, \"example\", \u0026network.NetworkWatcherArgs{\n\t\t\tName:              pulumi.String(\"example-nw\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, \"example\", \u0026network.VirtualNetworkArgs{\n\t\t\tName: pulumi.String(\"example-network\"),\n\t\t\tAddressSpaces: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.0.0/16\"),\n\t\t\t},\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSubnet, err := network.NewSubnet(ctx, \"example\", \u0026network.SubnetArgs{\n\t\t\tName:               pulumi.String(\"internal\"),\n\t\t\tResourceGroupName:  example.Name,\n\t\t\tVirtualNetworkName: exampleVirtualNetwork.Name,\n\t\t\tAddressPrefixes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.2.0/24\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNetworkInterface, err := network.NewNetworkInterface(ctx, \"example\", \u0026network.NetworkInterfaceArgs{\n\t\t\tName:              pulumi.String(\"example-nic\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tIpConfigurations: network.NetworkInterfaceIpConfigurationArray{\n\t\t\t\t\u0026network.NetworkInterfaceIpConfigurationArgs{\n\t\t\t\t\tName:                       pulumi.String(\"testconfiguration1\"),\n\t\t\t\t\tSubnetId:                   exampleSubnet.ID(),\n\t\t\t\t\tPrivateIpAddressAllocation: pulumi.String(\"Dynamic\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualMachine, err := compute.NewVirtualMachine(ctx, \"example\", \u0026compute.VirtualMachineArgs{\n\t\t\tName:              pulumi.String(\"example-vm\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tNetworkInterfaceIds: pulumi.StringArray{\n\t\t\t\texampleNetworkInterface.ID(),\n\t\t\t},\n\t\t\tVmSize: pulumi.String(\"Standard_F2\"),\n\t\t\tStorageImageReference: \u0026compute.VirtualMachineStorageImageReferenceArgs{\n\t\t\t\tPublisher: pulumi.String(\"Canonical\"),\n\t\t\t\tOffer:     pulumi.String(\"0001-com-ubuntu-server-jammy\"),\n\t\t\t\tSku:       pulumi.String(\"22_04-lts\"),\n\t\t\t\tVersion:   pulumi.String(\"latest\"),\n\t\t\t},\n\t\t\tStorageOsDisk: \u0026compute.VirtualMachineStorageOsDiskArgs{\n\t\t\t\tName:            pulumi.String(\"osdisk\"),\n\t\t\t\tCaching:         pulumi.String(\"ReadWrite\"),\n\t\t\t\tCreateOption:    pulumi.String(\"FromImage\"),\n\t\t\t\tManagedDiskType: pulumi.String(\"Standard_LRS\"),\n\t\t\t},\n\t\t\tOsProfile: \u0026compute.VirtualMachineOsProfileArgs{\n\t\t\t\tComputerName:  pulumi.String(\"pctest-vm\"),\n\t\t\t\tAdminUsername: pulumi.String(\"testadmin\"),\n\t\t\t\tAdminPassword: pulumi.String(\"Password1234!\"),\n\t\t\t},\n\t\t\tOsProfileLinuxConfig: \u0026compute.VirtualMachineOsProfileLinuxConfigArgs{\n\t\t\t\tDisablePasswordAuthentication: pulumi.Bool(false),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleExtension, err := compute.NewExtension(ctx, \"example\", \u0026compute.ExtensionArgs{\n\t\t\tName:                    pulumi.String(\"network-watcher\"),\n\t\t\tVirtualMachineId:        exampleVirtualMachine.ID(),\n\t\t\tPublisher:               pulumi.String(\"Microsoft.Azure.NetworkWatcher\"),\n\t\t\tType:                    pulumi.String(\"NetworkWatcherAgentLinux\"),\n\t\t\tTypeHandlerVersion:      pulumi.String(\"1.4\"),\n\t\t\tAutoUpgradeMinorVersion: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := storage.NewAccount(ctx, \"example\", \u0026storage.AccountArgs{\n\t\t\tName:                   pulumi.String(\"examplesa\"),\n\t\t\tResourceGroupName:      example.Name,\n\t\t\tLocation:               example.Location,\n\t\t\tAccountTier:            pulumi.String(\"Standard\"),\n\t\t\tAccountReplicationType: pulumi.String(\"LRS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = compute.NewPacketCapture(ctx, \"example\", \u0026compute.PacketCaptureArgs{\n\t\t\tName:             pulumi.String(\"example-pc\"),\n\t\t\tNetworkWatcherId: exampleNetworkWatcher.ID(),\n\t\t\tVirtualMachineId: exampleVirtualMachine.ID(),\n\t\t\tStorageLocation: \u0026compute.PacketCaptureStorageLocationArgs{\n\t\t\t\tStorageAccountId: exampleAccount.ID(),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleExtension,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.NetworkWatcher;\nimport com.pulumi.azure.network.NetworkWatcherArgs;\nimport com.pulumi.azure.network.VirtualNetwork;\nimport com.pulumi.azure.network.VirtualNetworkArgs;\nimport com.pulumi.azure.network.Subnet;\nimport com.pulumi.azure.network.SubnetArgs;\nimport com.pulumi.azure.network.NetworkInterface;\nimport com.pulumi.azure.network.NetworkInterfaceArgs;\nimport com.pulumi.azure.network.inputs.NetworkInterfaceIpConfigurationArgs;\nimport com.pulumi.azure.compute.VirtualMachine;\nimport com.pulumi.azure.compute.VirtualMachineArgs;\nimport com.pulumi.azure.compute.inputs.VirtualMachineStorageImageReferenceArgs;\nimport com.pulumi.azure.compute.inputs.VirtualMachineStorageOsDiskArgs;\nimport com.pulumi.azure.compute.inputs.VirtualMachineOsProfileArgs;\nimport com.pulumi.azure.compute.inputs.VirtualMachineOsProfileLinuxConfigArgs;\nimport com.pulumi.azure.compute.Extension;\nimport com.pulumi.azure.compute.ExtensionArgs;\nimport com.pulumi.azure.storage.Account;\nimport com.pulumi.azure.storage.AccountArgs;\nimport com.pulumi.azure.compute.PacketCapture;\nimport com.pulumi.azure.compute.PacketCaptureArgs;\nimport com.pulumi.azure.compute.inputs.PacketCaptureStorageLocationArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleNetworkWatcher = new NetworkWatcher(\"exampleNetworkWatcher\", NetworkWatcherArgs.builder()\n            .name(\"example-nw\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .build());\n\n        var exampleVirtualNetwork = new VirtualNetwork(\"exampleVirtualNetwork\", VirtualNetworkArgs.builder()\n            .name(\"example-network\")\n            .addressSpaces(\"10.0.0.0/16\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .build());\n\n        var exampleSubnet = new Subnet(\"exampleSubnet\", SubnetArgs.builder()\n            .name(\"internal\")\n            .resourceGroupName(example.name())\n            .virtualNetworkName(exampleVirtualNetwork.name())\n            .addressPrefixes(\"10.0.2.0/24\")\n            .build());\n\n        var exampleNetworkInterface = new NetworkInterface(\"exampleNetworkInterface\", NetworkInterfaceArgs.builder()\n            .name(\"example-nic\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .ipConfigurations(NetworkInterfaceIpConfigurationArgs.builder()\n                .name(\"testconfiguration1\")\n                .subnetId(exampleSubnet.id())\n                .privateIpAddressAllocation(\"Dynamic\")\n                .build())\n            .build());\n\n        var exampleVirtualMachine = new VirtualMachine(\"exampleVirtualMachine\", VirtualMachineArgs.builder()\n            .name(\"example-vm\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .networkInterfaceIds(exampleNetworkInterface.id())\n            .vmSize(\"Standard_F2\")\n            .storageImageReference(VirtualMachineStorageImageReferenceArgs.builder()\n                .publisher(\"Canonical\")\n                .offer(\"0001-com-ubuntu-server-jammy\")\n                .sku(\"22_04-lts\")\n                .version(\"latest\")\n                .build())\n            .storageOsDisk(VirtualMachineStorageOsDiskArgs.builder()\n                .name(\"osdisk\")\n                .caching(\"ReadWrite\")\n                .createOption(\"FromImage\")\n                .managedDiskType(\"Standard_LRS\")\n                .build())\n            .osProfile(VirtualMachineOsProfileArgs.builder()\n                .computerName(\"pctest-vm\")\n                .adminUsername(\"testadmin\")\n                .adminPassword(\"Password1234!\")\n                .build())\n            .osProfileLinuxConfig(VirtualMachineOsProfileLinuxConfigArgs.builder()\n                .disablePasswordAuthentication(false)\n                .build())\n            .build());\n\n        var exampleExtension = new Extension(\"exampleExtension\", ExtensionArgs.builder()\n            .name(\"network-watcher\")\n            .virtualMachineId(exampleVirtualMachine.id())\n            .publisher(\"Microsoft.Azure.NetworkWatcher\")\n            .type(\"NetworkWatcherAgentLinux\")\n            .typeHandlerVersion(\"1.4\")\n            .autoUpgradeMinorVersion(true)\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"examplesa\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .accountTier(\"Standard\")\n            .accountReplicationType(\"LRS\")\n            .build());\n\n        var examplePacketCapture = new PacketCapture(\"examplePacketCapture\", PacketCaptureArgs.builder()\n            .name(\"example-pc\")\n            .networkWatcherId(exampleNetworkWatcher.id())\n            .virtualMachineId(exampleVirtualMachine.id())\n            .storageLocation(PacketCaptureStorageLocationArgs.builder()\n                .storageAccountId(exampleAccount.id())\n                .build())\n            .build(), CustomResourceOptions.builder()\n                .dependsOn(exampleExtension)\n                .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleNetworkWatcher:\n    type: azure:network:NetworkWatcher\n    name: example\n    properties:\n      name: example-nw\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n  exampleVirtualNetwork:\n    type: azure:network:VirtualNetwork\n    name: example\n    properties:\n      name: example-network\n      addressSpaces:\n        - 10.0.0.0/16\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n  exampleSubnet:\n    type: azure:network:Subnet\n    name: example\n    properties:\n      name: internal\n      resourceGroupName: ${example.name}\n      virtualNetworkName: ${exampleVirtualNetwork.name}\n      addressPrefixes:\n        - 10.0.2.0/24\n  exampleNetworkInterface:\n    type: azure:network:NetworkInterface\n    name: example\n    properties:\n      name: example-nic\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      ipConfigurations:\n        - name: testconfiguration1\n          subnetId: ${exampleSubnet.id}\n          privateIpAddressAllocation: Dynamic\n  exampleVirtualMachine:\n    type: azure:compute:VirtualMachine\n    name: example\n    properties:\n      name: example-vm\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      networkInterfaceIds:\n        - ${exampleNetworkInterface.id}\n      vmSize: Standard_F2\n      storageImageReference:\n        publisher: Canonical\n        offer: 0001-com-ubuntu-server-jammy\n        sku: 22_04-lts\n        version: latest\n      storageOsDisk:\n        name: osdisk\n        caching: ReadWrite\n        createOption: FromImage\n        managedDiskType: Standard_LRS\n      osProfile:\n        computerName: pctest-vm\n        adminUsername: testadmin\n        adminPassword: Password1234!\n      osProfileLinuxConfig:\n        disablePasswordAuthentication: false\n  exampleExtension:\n    type: azure:compute:Extension\n    name: example\n    properties:\n      name: network-watcher\n      virtualMachineId: ${exampleVirtualMachine.id}\n      publisher: Microsoft.Azure.NetworkWatcher\n      type: NetworkWatcherAgentLinux\n      typeHandlerVersion: '1.4'\n      autoUpgradeMinorVersion: true\n  exampleAccount:\n    type: azure:storage:Account\n    name: example\n    properties:\n      name: examplesa\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      accountTier: Standard\n      accountReplicationType: LRS\n  examplePacketCapture:\n    type: azure:compute:PacketCapture\n    name: example\n    properties:\n      name: example-pc\n      networkWatcherId: ${exampleNetworkWatcher.id}\n      virtualMachineId: ${exampleVirtualMachine.id}\n      storageLocation:\n        storageAccountId: ${exampleAccount.id}\n    options:\n      dependsOn:\n        - ${exampleExtension}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003e **Note:** This Resource requires that [the Network Watcher Virtual Machine Extension](https://docs.microsoft.com/azure/network-watcher/network-watcher-packet-capture-manage-portal#before-you-begin) is installed on the Virtual Machine before capturing can be enabled which can be installed via the \u003cspan pulumi-lang-nodejs=\"`azure.compute.Extension`\" pulumi-lang-dotnet=\"`azure.compute.Extension`\" pulumi-lang-go=\"`compute.Extension`\" pulumi-lang-python=\"`compute.Extension`\" pulumi-lang-yaml=\"`azure.compute.Extension`\" pulumi-lang-java=\"`azure.compute.Extension`\"\u003e`azure.compute.Extension`\u003c/span\u003e resource.\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2025-01-01\n\n## Import\n\nVirtual Machine Packet Captures can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:compute/packetCapture:PacketCapture capture1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Network/networkWatchers/watcher1/packetCaptures/capture1\n```\n\n","properties":{"filters":{"type":"array","items":{"$ref":"#/types/azure:compute/PacketCaptureFilter:PacketCaptureFilter"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`filter`\" pulumi-lang-dotnet=\"`Filter`\" pulumi-lang-go=\"`filter`\" pulumi-lang-python=\"`filter`\" pulumi-lang-yaml=\"`filter`\" pulumi-lang-java=\"`filter`\"\u003e`filter`\u003c/span\u003e blocks as defined below. Changing this forces a new resource to be created.\n"},"maximumBytesPerPacket":{"type":"integer","description":"The number of bytes captured per packet. The remaining bytes are truncated. Defaults to \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e (Entire Packet Captured). Changing this forces a new resource to be created.\n"},"maximumBytesPerSession":{"type":"integer","description":"Maximum size of the capture in Bytes. Defaults to \u003cspan pulumi-lang-nodejs=\"`1073741824`\" pulumi-lang-dotnet=\"`1073741824`\" pulumi-lang-go=\"`1073741824`\" pulumi-lang-python=\"`1073741824`\" pulumi-lang-yaml=\"`1073741824`\" pulumi-lang-java=\"`1073741824`\"\u003e`1073741824`\u003c/span\u003e (1GB). Changing this forces a new resource to be created.\n"},"maximumCaptureDurationInSeconds":{"type":"integer","description":"The maximum duration of the capture session in seconds. Defaults to \u003cspan pulumi-lang-nodejs=\"`18000`\" pulumi-lang-dotnet=\"`18000`\" pulumi-lang-go=\"`18000`\" pulumi-lang-python=\"`18000`\" pulumi-lang-yaml=\"`18000`\" pulumi-lang-java=\"`18000`\"\u003e`18000`\u003c/span\u003e (5 hours). Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"The name to use for this Network Packet Capture. Changing this forces a new resource to be created.\n"},"networkWatcherId":{"type":"string","description":"The resource ID of the Network Watcher. Changing this forces a new resource to be created.\n"},"storageLocation":{"$ref":"#/types/azure:compute/PacketCaptureStorageLocation:PacketCaptureStorageLocation","description":"A \u003cspan pulumi-lang-nodejs=\"`storageLocation`\" pulumi-lang-dotnet=\"`StorageLocation`\" pulumi-lang-go=\"`storageLocation`\" pulumi-lang-python=\"`storage_location`\" pulumi-lang-yaml=\"`storageLocation`\" pulumi-lang-java=\"`storageLocation`\"\u003e`storage_location`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n"},"virtualMachineId":{"type":"string","description":"The resource ID of the target Virtual Machine to capture packets from. Changing this forces a new resource to be created.\n"}},"required":["name","networkWatcherId","storageLocation","virtualMachineId"],"inputProperties":{"filters":{"type":"array","items":{"$ref":"#/types/azure:compute/PacketCaptureFilter:PacketCaptureFilter"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`filter`\" pulumi-lang-dotnet=\"`Filter`\" pulumi-lang-go=\"`filter`\" pulumi-lang-python=\"`filter`\" pulumi-lang-yaml=\"`filter`\" pulumi-lang-java=\"`filter`\"\u003e`filter`\u003c/span\u003e blocks as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"maximumBytesPerPacket":{"type":"integer","description":"The number of bytes captured per packet. The remaining bytes are truncated. Defaults to \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e (Entire Packet Captured). Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"maximumBytesPerSession":{"type":"integer","description":"Maximum size of the capture in Bytes. Defaults to \u003cspan pulumi-lang-nodejs=\"`1073741824`\" pulumi-lang-dotnet=\"`1073741824`\" pulumi-lang-go=\"`1073741824`\" pulumi-lang-python=\"`1073741824`\" pulumi-lang-yaml=\"`1073741824`\" pulumi-lang-java=\"`1073741824`\"\u003e`1073741824`\u003c/span\u003e (1GB). Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"maximumCaptureDurationInSeconds":{"type":"integer","description":"The maximum duration of the capture session in seconds. Defaults to \u003cspan pulumi-lang-nodejs=\"`18000`\" pulumi-lang-dotnet=\"`18000`\" pulumi-lang-go=\"`18000`\" pulumi-lang-python=\"`18000`\" pulumi-lang-yaml=\"`18000`\" pulumi-lang-java=\"`18000`\"\u003e`18000`\u003c/span\u003e (5 hours). Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name to use for this Network Packet Capture. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"networkWatcherId":{"type":"string","description":"The resource ID of the Network Watcher. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"storageLocation":{"$ref":"#/types/azure:compute/PacketCaptureStorageLocation:PacketCaptureStorageLocation","description":"A \u003cspan pulumi-lang-nodejs=\"`storageLocation`\" pulumi-lang-dotnet=\"`StorageLocation`\" pulumi-lang-go=\"`storageLocation`\" pulumi-lang-python=\"`storage_location`\" pulumi-lang-yaml=\"`storageLocation`\" pulumi-lang-java=\"`storageLocation`\"\u003e`storage_location`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"virtualMachineId":{"type":"string","description":"The resource ID of the target Virtual Machine to capture packets from. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["networkWatcherId","storageLocation","virtualMachineId"],"stateInputs":{"description":"Input properties used for looking up and filtering PacketCapture resources.\n","properties":{"filters":{"type":"array","items":{"$ref":"#/types/azure:compute/PacketCaptureFilter:PacketCaptureFilter"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`filter`\" pulumi-lang-dotnet=\"`Filter`\" pulumi-lang-go=\"`filter`\" pulumi-lang-python=\"`filter`\" pulumi-lang-yaml=\"`filter`\" pulumi-lang-java=\"`filter`\"\u003e`filter`\u003c/span\u003e blocks as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"maximumBytesPerPacket":{"type":"integer","description":"The number of bytes captured per packet. The remaining bytes are truncated. Defaults to \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e (Entire Packet Captured). Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"maximumBytesPerSession":{"type":"integer","description":"Maximum size of the capture in Bytes. Defaults to \u003cspan pulumi-lang-nodejs=\"`1073741824`\" pulumi-lang-dotnet=\"`1073741824`\" pulumi-lang-go=\"`1073741824`\" pulumi-lang-python=\"`1073741824`\" pulumi-lang-yaml=\"`1073741824`\" pulumi-lang-java=\"`1073741824`\"\u003e`1073741824`\u003c/span\u003e (1GB). Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"maximumCaptureDurationInSeconds":{"type":"integer","description":"The maximum duration of the capture session in seconds. Defaults to \u003cspan pulumi-lang-nodejs=\"`18000`\" pulumi-lang-dotnet=\"`18000`\" pulumi-lang-go=\"`18000`\" pulumi-lang-python=\"`18000`\" pulumi-lang-yaml=\"`18000`\" pulumi-lang-java=\"`18000`\"\u003e`18000`\u003c/span\u003e (5 hours). Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name to use for this Network Packet Capture. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"networkWatcherId":{"type":"string","description":"The resource ID of the Network Watcher. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"storageLocation":{"$ref":"#/types/azure:compute/PacketCaptureStorageLocation:PacketCaptureStorageLocation","description":"A \u003cspan pulumi-lang-nodejs=\"`storageLocation`\" pulumi-lang-dotnet=\"`StorageLocation`\" pulumi-lang-go=\"`storageLocation`\" pulumi-lang-python=\"`storage_location`\" pulumi-lang-yaml=\"`storageLocation`\" pulumi-lang-java=\"`storageLocation`\"\u003e`storage_location`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"virtualMachineId":{"type":"string","description":"The resource ID of the target Virtual Machine to capture packets from. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:compute/restorePoint:RestorePoint":{"description":"Manages a Virtual Machine Restore Point.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\nimport * as std from \"@pulumi/std\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"example\", {\n    name: \"example-network\",\n    addressSpaces: [\"10.0.0.0/16\"],\n    location: example.location,\n    resourceGroupName: example.name,\n});\nconst exampleSubnet = new azure.network.Subnet(\"example\", {\n    name: \"internal\",\n    resourceGroupName: example.name,\n    virtualNetworkName: exampleVirtualNetwork.name,\n    addressPrefixes: [\"10.0.2.0/24\"],\n});\nconst exampleNetworkInterface = new azure.network.NetworkInterface(\"example\", {\n    name: \"example-nic\",\n    location: example.location,\n    resourceGroupName: example.name,\n    ipConfigurations: [{\n        name: \"internal\",\n        subnetId: exampleSubnet.id,\n        privateIpAddressAllocation: \"Dynamic\",\n    }],\n});\nconst exampleLinuxVirtualMachine = new azure.compute.LinuxVirtualMachine(\"example\", {\n    name: \"example-machine\",\n    resourceGroupName: example.name,\n    location: example.location,\n    size: \"Standard_F2\",\n    adminUsername: \"adminuser\",\n    networkInterfaceIds: [exampleNetworkInterface.id],\n    adminSshKeys: [{\n        username: \"adminuser\",\n        publicKey: std.file({\n            input: \"~/.ssh/id_rsa.pub\",\n        }).then(invoke =\u003e invoke.result),\n    }],\n    osDisk: {\n        caching: \"ReadWrite\",\n        storageAccountType: \"Standard_LRS\",\n    },\n    sourceImageReference: {\n        publisher: \"Canonical\",\n        offer: \"0001-com-ubuntu-server-jammy\",\n        sku: \"22_04-lts\",\n        version: \"latest\",\n    },\n});\nconst exampleRestorePointCollection = new azure.compute.RestorePointCollection(\"example\", {\n    name: \"example-collection\",\n    resourceGroupName: example.name,\n    location: exampleLinuxVirtualMachine.location,\n    sourceVirtualMachineId: exampleLinuxVirtualMachine.id,\n});\nconst exampleRestorePoint = new azure.compute.RestorePoint(\"example\", {\n    name: \"example-restore-point\",\n    virtualMachineRestorePointCollectionId: exampleRestorePointCollection.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\nimport pulumi_std as std\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_virtual_network = azure.network.VirtualNetwork(\"example\",\n    name=\"example-network\",\n    address_spaces=[\"10.0.0.0/16\"],\n    location=example.location,\n    resource_group_name=example.name)\nexample_subnet = azure.network.Subnet(\"example\",\n    name=\"internal\",\n    resource_group_name=example.name,\n    virtual_network_name=example_virtual_network.name,\n    address_prefixes=[\"10.0.2.0/24\"])\nexample_network_interface = azure.network.NetworkInterface(\"example\",\n    name=\"example-nic\",\n    location=example.location,\n    resource_group_name=example.name,\n    ip_configurations=[{\n        \"name\": \"internal\",\n        \"subnet_id\": example_subnet.id,\n        \"private_ip_address_allocation\": \"Dynamic\",\n    }])\nexample_linux_virtual_machine = azure.compute.LinuxVirtualMachine(\"example\",\n    name=\"example-machine\",\n    resource_group_name=example.name,\n    location=example.location,\n    size=\"Standard_F2\",\n    admin_username=\"adminuser\",\n    network_interface_ids=[example_network_interface.id],\n    admin_ssh_keys=[{\n        \"username\": \"adminuser\",\n        \"public_key\": std.file(input=\"~/.ssh/id_rsa.pub\").result,\n    }],\n    os_disk={\n        \"caching\": \"ReadWrite\",\n        \"storage_account_type\": \"Standard_LRS\",\n    },\n    source_image_reference={\n        \"publisher\": \"Canonical\",\n        \"offer\": \"0001-com-ubuntu-server-jammy\",\n        \"sku\": \"22_04-lts\",\n        \"version\": \"latest\",\n    })\nexample_restore_point_collection = azure.compute.RestorePointCollection(\"example\",\n    name=\"example-collection\",\n    resource_group_name=example.name,\n    location=example_linux_virtual_machine.location,\n    source_virtual_machine_id=example_linux_virtual_machine.id)\nexample_restore_point = azure.compute.RestorePoint(\"example\",\n    name=\"example-restore-point\",\n    virtual_machine_restore_point_collection_id=example_restore_point_collection.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleVirtualNetwork = new Azure.Network.VirtualNetwork(\"example\", new()\n    {\n        Name = \"example-network\",\n        AddressSpaces = new[]\n        {\n            \"10.0.0.0/16\",\n        },\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n    });\n\n    var exampleSubnet = new Azure.Network.Subnet(\"example\", new()\n    {\n        Name = \"internal\",\n        ResourceGroupName = example.Name,\n        VirtualNetworkName = exampleVirtualNetwork.Name,\n        AddressPrefixes = new[]\n        {\n            \"10.0.2.0/24\",\n        },\n    });\n\n    var exampleNetworkInterface = new Azure.Network.NetworkInterface(\"example\", new()\n    {\n        Name = \"example-nic\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        IpConfigurations = new[]\n        {\n            new Azure.Network.Inputs.NetworkInterfaceIpConfigurationArgs\n            {\n                Name = \"internal\",\n                SubnetId = exampleSubnet.Id,\n                PrivateIpAddressAllocation = \"Dynamic\",\n            },\n        },\n    });\n\n    var exampleLinuxVirtualMachine = new Azure.Compute.LinuxVirtualMachine(\"example\", new()\n    {\n        Name = \"example-machine\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        Size = \"Standard_F2\",\n        AdminUsername = \"adminuser\",\n        NetworkInterfaceIds = new[]\n        {\n            exampleNetworkInterface.Id,\n        },\n        AdminSshKeys = new[]\n        {\n            new Azure.Compute.Inputs.LinuxVirtualMachineAdminSshKeyArgs\n            {\n                Username = \"adminuser\",\n                PublicKey = Std.File.Invoke(new()\n                {\n                    Input = \"~/.ssh/id_rsa.pub\",\n                }).Apply(invoke =\u003e invoke.Result),\n            },\n        },\n        OsDisk = new Azure.Compute.Inputs.LinuxVirtualMachineOsDiskArgs\n        {\n            Caching = \"ReadWrite\",\n            StorageAccountType = \"Standard_LRS\",\n        },\n        SourceImageReference = new Azure.Compute.Inputs.LinuxVirtualMachineSourceImageReferenceArgs\n        {\n            Publisher = \"Canonical\",\n            Offer = \"0001-com-ubuntu-server-jammy\",\n            Sku = \"22_04-lts\",\n            Version = \"latest\",\n        },\n    });\n\n    var exampleRestorePointCollection = new Azure.Compute.RestorePointCollection(\"example\", new()\n    {\n        Name = \"example-collection\",\n        ResourceGroupName = example.Name,\n        Location = exampleLinuxVirtualMachine.Location,\n        SourceVirtualMachineId = exampleLinuxVirtualMachine.Id,\n    });\n\n    var exampleRestorePoint = new Azure.Compute.RestorePoint(\"example\", new()\n    {\n        Name = \"example-restore-point\",\n        VirtualMachineRestorePointCollectionId = exampleRestorePointCollection.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/compute\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, \"example\", \u0026network.VirtualNetworkArgs{\n\t\t\tName: pulumi.String(\"example-network\"),\n\t\t\tAddressSpaces: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.0.0/16\"),\n\t\t\t},\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSubnet, err := network.NewSubnet(ctx, \"example\", \u0026network.SubnetArgs{\n\t\t\tName:               pulumi.String(\"internal\"),\n\t\t\tResourceGroupName:  example.Name,\n\t\t\tVirtualNetworkName: exampleVirtualNetwork.Name,\n\t\t\tAddressPrefixes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.2.0/24\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNetworkInterface, err := network.NewNetworkInterface(ctx, \"example\", \u0026network.NetworkInterfaceArgs{\n\t\t\tName:              pulumi.String(\"example-nic\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tIpConfigurations: network.NetworkInterfaceIpConfigurationArray{\n\t\t\t\t\u0026network.NetworkInterfaceIpConfigurationArgs{\n\t\t\t\t\tName:                       pulumi.String(\"internal\"),\n\t\t\t\t\tSubnetId:                   exampleSubnet.ID(),\n\t\t\t\t\tPrivateIpAddressAllocation: pulumi.String(\"Dynamic\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"~/.ssh/id_rsa.pub\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleLinuxVirtualMachine, err := compute.NewLinuxVirtualMachine(ctx, \"example\", \u0026compute.LinuxVirtualMachineArgs{\n\t\t\tName:              pulumi.String(\"example-machine\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tSize:              pulumi.String(\"Standard_F2\"),\n\t\t\tAdminUsername:     pulumi.String(\"adminuser\"),\n\t\t\tNetworkInterfaceIds: pulumi.StringArray{\n\t\t\t\texampleNetworkInterface.ID(),\n\t\t\t},\n\t\t\tAdminSshKeys: compute.LinuxVirtualMachineAdminSshKeyArray{\n\t\t\t\t\u0026compute.LinuxVirtualMachineAdminSshKeyArgs{\n\t\t\t\t\tUsername:  pulumi.String(\"adminuser\"),\n\t\t\t\t\tPublicKey: pulumi.String(invokeFile.Result),\n\t\t\t\t},\n\t\t\t},\n\t\t\tOsDisk: \u0026compute.LinuxVirtualMachineOsDiskArgs{\n\t\t\t\tCaching:            pulumi.String(\"ReadWrite\"),\n\t\t\t\tStorageAccountType: pulumi.String(\"Standard_LRS\"),\n\t\t\t},\n\t\t\tSourceImageReference: \u0026compute.LinuxVirtualMachineSourceImageReferenceArgs{\n\t\t\t\tPublisher: pulumi.String(\"Canonical\"),\n\t\t\t\tOffer:     pulumi.String(\"0001-com-ubuntu-server-jammy\"),\n\t\t\t\tSku:       pulumi.String(\"22_04-lts\"),\n\t\t\t\tVersion:   pulumi.String(\"latest\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleRestorePointCollection, err := compute.NewRestorePointCollection(ctx, \"example\", \u0026compute.RestorePointCollectionArgs{\n\t\t\tName:                   pulumi.String(\"example-collection\"),\n\t\t\tResourceGroupName:      example.Name,\n\t\t\tLocation:               exampleLinuxVirtualMachine.Location,\n\t\t\tSourceVirtualMachineId: exampleLinuxVirtualMachine.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = compute.NewRestorePoint(ctx, \"example\", \u0026compute.RestorePointArgs{\n\t\t\tName:                                   pulumi.String(\"example-restore-point\"),\n\t\t\tVirtualMachineRestorePointCollectionId: exampleRestorePointCollection.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.VirtualNetwork;\nimport com.pulumi.azure.network.VirtualNetworkArgs;\nimport com.pulumi.azure.network.Subnet;\nimport com.pulumi.azure.network.SubnetArgs;\nimport com.pulumi.azure.network.NetworkInterface;\nimport com.pulumi.azure.network.NetworkInterfaceArgs;\nimport com.pulumi.azure.network.inputs.NetworkInterfaceIpConfigurationArgs;\nimport com.pulumi.azure.compute.LinuxVirtualMachine;\nimport com.pulumi.azure.compute.LinuxVirtualMachineArgs;\nimport com.pulumi.azure.compute.inputs.LinuxVirtualMachineAdminSshKeyArgs;\nimport com.pulumi.azure.compute.inputs.LinuxVirtualMachineOsDiskArgs;\nimport com.pulumi.azure.compute.inputs.LinuxVirtualMachineSourceImageReferenceArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.FileArgs;\nimport com.pulumi.azure.compute.RestorePointCollection;\nimport com.pulumi.azure.compute.RestorePointCollectionArgs;\nimport com.pulumi.azure.compute.RestorePoint;\nimport com.pulumi.azure.compute.RestorePointArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleVirtualNetwork = new VirtualNetwork(\"exampleVirtualNetwork\", VirtualNetworkArgs.builder()\n            .name(\"example-network\")\n            .addressSpaces(\"10.0.0.0/16\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .build());\n\n        var exampleSubnet = new Subnet(\"exampleSubnet\", SubnetArgs.builder()\n            .name(\"internal\")\n            .resourceGroupName(example.name())\n            .virtualNetworkName(exampleVirtualNetwork.name())\n            .addressPrefixes(\"10.0.2.0/24\")\n            .build());\n\n        var exampleNetworkInterface = new NetworkInterface(\"exampleNetworkInterface\", NetworkInterfaceArgs.builder()\n            .name(\"example-nic\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .ipConfigurations(NetworkInterfaceIpConfigurationArgs.builder()\n                .name(\"internal\")\n                .subnetId(exampleSubnet.id())\n                .privateIpAddressAllocation(\"Dynamic\")\n                .build())\n            .build());\n\n        var exampleLinuxVirtualMachine = new LinuxVirtualMachine(\"exampleLinuxVirtualMachine\", LinuxVirtualMachineArgs.builder()\n            .name(\"example-machine\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .size(\"Standard_F2\")\n            .adminUsername(\"adminuser\")\n            .networkInterfaceIds(exampleNetworkInterface.id())\n            .adminSshKeys(LinuxVirtualMachineAdminSshKeyArgs.builder()\n                .username(\"adminuser\")\n                .publicKey(StdFunctions.file(FileArgs.builder()\n                    .input(\"~/.ssh/id_rsa.pub\")\n                    .build()).result())\n                .build())\n            .osDisk(LinuxVirtualMachineOsDiskArgs.builder()\n                .caching(\"ReadWrite\")\n                .storageAccountType(\"Standard_LRS\")\n                .build())\n            .sourceImageReference(LinuxVirtualMachineSourceImageReferenceArgs.builder()\n                .publisher(\"Canonical\")\n                .offer(\"0001-com-ubuntu-server-jammy\")\n                .sku(\"22_04-lts\")\n                .version(\"latest\")\n                .build())\n            .build());\n\n        var exampleRestorePointCollection = new RestorePointCollection(\"exampleRestorePointCollection\", RestorePointCollectionArgs.builder()\n            .name(\"example-collection\")\n            .resourceGroupName(example.name())\n            .location(exampleLinuxVirtualMachine.location())\n            .sourceVirtualMachineId(exampleLinuxVirtualMachine.id())\n            .build());\n\n        var exampleRestorePoint = new RestorePoint(\"exampleRestorePoint\", RestorePointArgs.builder()\n            .name(\"example-restore-point\")\n            .virtualMachineRestorePointCollectionId(exampleRestorePointCollection.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleVirtualNetwork:\n    type: azure:network:VirtualNetwork\n    name: example\n    properties:\n      name: example-network\n      addressSpaces:\n        - 10.0.0.0/16\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n  exampleSubnet:\n    type: azure:network:Subnet\n    name: example\n    properties:\n      name: internal\n      resourceGroupName: ${example.name}\n      virtualNetworkName: ${exampleVirtualNetwork.name}\n      addressPrefixes:\n        - 10.0.2.0/24\n  exampleNetworkInterface:\n    type: azure:network:NetworkInterface\n    name: example\n    properties:\n      name: example-nic\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      ipConfigurations:\n        - name: internal\n          subnetId: ${exampleSubnet.id}\n          privateIpAddressAllocation: Dynamic\n  exampleLinuxVirtualMachine:\n    type: azure:compute:LinuxVirtualMachine\n    name: example\n    properties:\n      name: example-machine\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      size: Standard_F2\n      adminUsername: adminuser\n      networkInterfaceIds:\n        - ${exampleNetworkInterface.id}\n      adminSshKeys:\n        - username: adminuser\n          publicKey:\n            fn::invoke:\n              function: std:file\n              arguments:\n                input: ~/.ssh/id_rsa.pub\n              return: result\n      osDisk:\n        caching: ReadWrite\n        storageAccountType: Standard_LRS\n      sourceImageReference:\n        publisher: Canonical\n        offer: 0001-com-ubuntu-server-jammy\n        sku: 22_04-lts\n        version: latest\n  exampleRestorePointCollection:\n    type: azure:compute:RestorePointCollection\n    name: example\n    properties:\n      name: example-collection\n      resourceGroupName: ${example.name}\n      location: ${exampleLinuxVirtualMachine.location}\n      sourceVirtualMachineId: ${exampleLinuxVirtualMachine.id}\n  exampleRestorePoint:\n    type: azure:compute:RestorePoint\n    name: example\n    properties:\n      name: example-restore-point\n      virtualMachineRestorePointCollectionId: ${exampleRestorePointCollection.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Compute` - 2024-03-01\n\n## Import\n\nVirtual Machine Restore Point can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:compute/restorePoint:RestorePoint example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Compute/restorePointCollections/collection1/restorePoints/restorePoint1\n```\n\n","properties":{"crashConsistencyModeEnabled":{"type":"boolean","description":"Whether the Consistency Mode of the Virtual Machine Restore Point is set to `CrashConsistent`. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Changing this forces a new resource to be created.\n"},"excludedDisks":{"type":"array","items":{"type":"string"},"description":"A list of disks that will be excluded from the Virtual Machine Restore Point. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"Specifies the name of the Virtual Machine Restore Point. Changing this forces a new resource to be created.\n"},"virtualMachineRestorePointCollectionId":{"type":"string","description":"Specifies the ID of the Virtual Machine Restore Point Collection the Virtual Machine Restore Point will be associated with. Changing this forces a new resource to be created.\n"}},"required":["name","virtualMachineRestorePointCollectionId"],"inputProperties":{"crashConsistencyModeEnabled":{"type":"boolean","description":"Whether the Consistency Mode of the Virtual Machine Restore Point is set to `CrashConsistent`. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"excludedDisks":{"type":"array","items":{"type":"string"},"description":"A list of disks that will be excluded from the Virtual Machine Restore Point. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the Virtual Machine Restore Point. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"virtualMachineRestorePointCollectionId":{"type":"string","description":"Specifies the ID of the Virtual Machine Restore Point Collection the Virtual Machine Restore Point will be associated with. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["virtualMachineRestorePointCollectionId"],"stateInputs":{"description":"Input properties used for looking up and filtering RestorePoint resources.\n","properties":{"crashConsistencyModeEnabled":{"type":"boolean","description":"Whether the Consistency Mode of the Virtual Machine Restore Point is set to `CrashConsistent`. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"excludedDisks":{"type":"array","items":{"type":"string"},"description":"A list of disks that will be excluded from the Virtual Machine Restore Point. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the Virtual Machine Restore Point. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"virtualMachineRestorePointCollectionId":{"type":"string","description":"Specifies the ID of the Virtual Machine Restore Point Collection the Virtual Machine Restore Point will be associated with. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:compute/restorePointCollection:RestorePointCollection":{"description":"Manages a Virtual Machine Restore Point Collection.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\nimport * as std from \"@pulumi/std\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"example\", {\n    name: \"example-network\",\n    addressSpaces: [\"10.0.0.0/16\"],\n    location: example.location,\n    resourceGroupName: example.name,\n});\nconst exampleSubnet = new azure.network.Subnet(\"example\", {\n    name: \"internal\",\n    resourceGroupName: example.name,\n    virtualNetworkName: exampleVirtualNetwork.name,\n    addressPrefixes: [\"10.0.2.0/24\"],\n});\nconst exampleNetworkInterface = new azure.network.NetworkInterface(\"example\", {\n    name: \"example-nic\",\n    location: example.location,\n    resourceGroupName: example.name,\n    ipConfigurations: [{\n        name: \"internal\",\n        subnetId: exampleSubnet.id,\n        privateIpAddressAllocation: \"Dynamic\",\n    }],\n});\nconst exampleLinuxVirtualMachine = new azure.compute.LinuxVirtualMachine(\"example\", {\n    name: \"example-machine\",\n    resourceGroupName: example.name,\n    location: example.location,\n    size: \"Standard_F2\",\n    adminUsername: \"adminuser\",\n    networkInterfaceIds: [exampleNetworkInterface.id],\n    adminSshKeys: [{\n        username: \"adminuser\",\n        publicKey: std.file({\n            input: \"~/.ssh/id_rsa.pub\",\n        }).then(invoke =\u003e invoke.result),\n    }],\n    osDisk: {\n        caching: \"ReadWrite\",\n        storageAccountType: \"Standard_LRS\",\n    },\n    sourceImageReference: {\n        publisher: \"Canonical\",\n        offer: \"0001-com-ubuntu-server-jammy\",\n        sku: \"22_04-lts\",\n        version: \"latest\",\n    },\n});\nconst exampleRestorePointCollection = new azure.compute.RestorePointCollection(\"example\", {\n    name: \"example-collection\",\n    resourceGroupName: example.name,\n    location: exampleLinuxVirtualMachine.location,\n    sourceVirtualMachineId: exampleLinuxVirtualMachine.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\nimport pulumi_std as std\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_virtual_network = azure.network.VirtualNetwork(\"example\",\n    name=\"example-network\",\n    address_spaces=[\"10.0.0.0/16\"],\n    location=example.location,\n    resource_group_name=example.name)\nexample_subnet = azure.network.Subnet(\"example\",\n    name=\"internal\",\n    resource_group_name=example.name,\n    virtual_network_name=example_virtual_network.name,\n    address_prefixes=[\"10.0.2.0/24\"])\nexample_network_interface = azure.network.NetworkInterface(\"example\",\n    name=\"example-nic\",\n    location=example.location,\n    resource_group_name=example.name,\n    ip_configurations=[{\n        \"name\": \"internal\",\n        \"subnet_id\": example_subnet.id,\n        \"private_ip_address_allocation\": \"Dynamic\",\n    }])\nexample_linux_virtual_machine = azure.compute.LinuxVirtualMachine(\"example\",\n    name=\"example-machine\",\n    resource_group_name=example.name,\n    location=example.location,\n    size=\"Standard_F2\",\n    admin_username=\"adminuser\",\n    network_interface_ids=[example_network_interface.id],\n    admin_ssh_keys=[{\n        \"username\": \"adminuser\",\n        \"public_key\": std.file(input=\"~/.ssh/id_rsa.pub\").result,\n    }],\n    os_disk={\n        \"caching\": \"ReadWrite\",\n        \"storage_account_type\": \"Standard_LRS\",\n    },\n    source_image_reference={\n        \"publisher\": \"Canonical\",\n        \"offer\": \"0001-com-ubuntu-server-jammy\",\n        \"sku\": \"22_04-lts\",\n        \"version\": \"latest\",\n    })\nexample_restore_point_collection = azure.compute.RestorePointCollection(\"example\",\n    name=\"example-collection\",\n    resource_group_name=example.name,\n    location=example_linux_virtual_machine.location,\n    source_virtual_machine_id=example_linux_virtual_machine.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleVirtualNetwork = new Azure.Network.VirtualNetwork(\"example\", new()\n    {\n        Name = \"example-network\",\n        AddressSpaces = new[]\n        {\n            \"10.0.0.0/16\",\n        },\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n    });\n\n    var exampleSubnet = new Azure.Network.Subnet(\"example\", new()\n    {\n        Name = \"internal\",\n        ResourceGroupName = example.Name,\n        VirtualNetworkName = exampleVirtualNetwork.Name,\n        AddressPrefixes = new[]\n        {\n            \"10.0.2.0/24\",\n        },\n    });\n\n    var exampleNetworkInterface = new Azure.Network.NetworkInterface(\"example\", new()\n    {\n        Name = \"example-nic\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        IpConfigurations = new[]\n        {\n            new Azure.Network.Inputs.NetworkInterfaceIpConfigurationArgs\n            {\n                Name = \"internal\",\n                SubnetId = exampleSubnet.Id,\n                PrivateIpAddressAllocation = \"Dynamic\",\n            },\n        },\n    });\n\n    var exampleLinuxVirtualMachine = new Azure.Compute.LinuxVirtualMachine(\"example\", new()\n    {\n        Name = \"example-machine\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        Size = \"Standard_F2\",\n        AdminUsername = \"adminuser\",\n        NetworkInterfaceIds = new[]\n        {\n            exampleNetworkInterface.Id,\n        },\n        AdminSshKeys = new[]\n        {\n            new Azure.Compute.Inputs.LinuxVirtualMachineAdminSshKeyArgs\n            {\n                Username = \"adminuser\",\n                PublicKey = Std.File.Invoke(new()\n                {\n                    Input = \"~/.ssh/id_rsa.pub\",\n                }).Apply(invoke =\u003e invoke.Result),\n            },\n        },\n        OsDisk = new Azure.Compute.Inputs.LinuxVirtualMachineOsDiskArgs\n        {\n            Caching = \"ReadWrite\",\n            StorageAccountType = \"Standard_LRS\",\n        },\n        SourceImageReference = new Azure.Compute.Inputs.LinuxVirtualMachineSourceImageReferenceArgs\n        {\n            Publisher = \"Canonical\",\n            Offer = \"0001-com-ubuntu-server-jammy\",\n            Sku = \"22_04-lts\",\n            Version = \"latest\",\n        },\n    });\n\n    var exampleRestorePointCollection = new Azure.Compute.RestorePointCollection(\"example\", new()\n    {\n        Name = \"example-collection\",\n        ResourceGroupName = example.Name,\n        Location = exampleLinuxVirtualMachine.Location,\n        SourceVirtualMachineId = exampleLinuxVirtualMachine.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/compute\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, \"example\", \u0026network.VirtualNetworkArgs{\n\t\t\tName: pulumi.String(\"example-network\"),\n\t\t\tAddressSpaces: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.0.0/16\"),\n\t\t\t},\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSubnet, err := network.NewSubnet(ctx, \"example\", \u0026network.SubnetArgs{\n\t\t\tName:               pulumi.String(\"internal\"),\n\t\t\tResourceGroupName:  example.Name,\n\t\t\tVirtualNetworkName: exampleVirtualNetwork.Name,\n\t\t\tAddressPrefixes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.2.0/24\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNetworkInterface, err := network.NewNetworkInterface(ctx, \"example\", \u0026network.NetworkInterfaceArgs{\n\t\t\tName:              pulumi.String(\"example-nic\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tIpConfigurations: network.NetworkInterfaceIpConfigurationArray{\n\t\t\t\t\u0026network.NetworkInterfaceIpConfigurationArgs{\n\t\t\t\t\tName:                       pulumi.String(\"internal\"),\n\t\t\t\t\tSubnetId:                   exampleSubnet.ID(),\n\t\t\t\t\tPrivateIpAddressAllocation: pulumi.String(\"Dynamic\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"~/.ssh/id_rsa.pub\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleLinuxVirtualMachine, err := compute.NewLinuxVirtualMachine(ctx, \"example\", \u0026compute.LinuxVirtualMachineArgs{\n\t\t\tName:              pulumi.String(\"example-machine\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tSize:              pulumi.String(\"Standard_F2\"),\n\t\t\tAdminUsername:     pulumi.String(\"adminuser\"),\n\t\t\tNetworkInterfaceIds: pulumi.StringArray{\n\t\t\t\texampleNetworkInterface.ID(),\n\t\t\t},\n\t\t\tAdminSshKeys: compute.LinuxVirtualMachineAdminSshKeyArray{\n\t\t\t\t\u0026compute.LinuxVirtualMachineAdminSshKeyArgs{\n\t\t\t\t\tUsername:  pulumi.String(\"adminuser\"),\n\t\t\t\t\tPublicKey: pulumi.String(invokeFile.Result),\n\t\t\t\t},\n\t\t\t},\n\t\t\tOsDisk: \u0026compute.LinuxVirtualMachineOsDiskArgs{\n\t\t\t\tCaching:            pulumi.String(\"ReadWrite\"),\n\t\t\t\tStorageAccountType: pulumi.String(\"Standard_LRS\"),\n\t\t\t},\n\t\t\tSourceImageReference: \u0026compute.LinuxVirtualMachineSourceImageReferenceArgs{\n\t\t\t\tPublisher: pulumi.String(\"Canonical\"),\n\t\t\t\tOffer:     pulumi.String(\"0001-com-ubuntu-server-jammy\"),\n\t\t\t\tSku:       pulumi.String(\"22_04-lts\"),\n\t\t\t\tVersion:   pulumi.String(\"latest\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = compute.NewRestorePointCollection(ctx, \"example\", \u0026compute.RestorePointCollectionArgs{\n\t\t\tName:                   pulumi.String(\"example-collection\"),\n\t\t\tResourceGroupName:      example.Name,\n\t\t\tLocation:               exampleLinuxVirtualMachine.Location,\n\t\t\tSourceVirtualMachineId: exampleLinuxVirtualMachine.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.VirtualNetwork;\nimport com.pulumi.azure.network.VirtualNetworkArgs;\nimport com.pulumi.azure.network.Subnet;\nimport com.pulumi.azure.network.SubnetArgs;\nimport com.pulumi.azure.network.NetworkInterface;\nimport com.pulumi.azure.network.NetworkInterfaceArgs;\nimport com.pulumi.azure.network.inputs.NetworkInterfaceIpConfigurationArgs;\nimport com.pulumi.azure.compute.LinuxVirtualMachine;\nimport com.pulumi.azure.compute.LinuxVirtualMachineArgs;\nimport com.pulumi.azure.compute.inputs.LinuxVirtualMachineAdminSshKeyArgs;\nimport com.pulumi.azure.compute.inputs.LinuxVirtualMachineOsDiskArgs;\nimport com.pulumi.azure.compute.inputs.LinuxVirtualMachineSourceImageReferenceArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.FileArgs;\nimport com.pulumi.azure.compute.RestorePointCollection;\nimport com.pulumi.azure.compute.RestorePointCollectionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleVirtualNetwork = new VirtualNetwork(\"exampleVirtualNetwork\", VirtualNetworkArgs.builder()\n            .name(\"example-network\")\n            .addressSpaces(\"10.0.0.0/16\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .build());\n\n        var exampleSubnet = new Subnet(\"exampleSubnet\", SubnetArgs.builder()\n            .name(\"internal\")\n            .resourceGroupName(example.name())\n            .virtualNetworkName(exampleVirtualNetwork.name())\n            .addressPrefixes(\"10.0.2.0/24\")\n            .build());\n\n        var exampleNetworkInterface = new NetworkInterface(\"exampleNetworkInterface\", NetworkInterfaceArgs.builder()\n            .name(\"example-nic\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .ipConfigurations(NetworkInterfaceIpConfigurationArgs.builder()\n                .name(\"internal\")\n                .subnetId(exampleSubnet.id())\n                .privateIpAddressAllocation(\"Dynamic\")\n                .build())\n            .build());\n\n        var exampleLinuxVirtualMachine = new LinuxVirtualMachine(\"exampleLinuxVirtualMachine\", LinuxVirtualMachineArgs.builder()\n            .name(\"example-machine\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .size(\"Standard_F2\")\n            .adminUsername(\"adminuser\")\n            .networkInterfaceIds(exampleNetworkInterface.id())\n            .adminSshKeys(LinuxVirtualMachineAdminSshKeyArgs.builder()\n                .username(\"adminuser\")\n                .publicKey(StdFunctions.file(FileArgs.builder()\n                    .input(\"~/.ssh/id_rsa.pub\")\n                    .build()).result())\n                .build())\n            .osDisk(LinuxVirtualMachineOsDiskArgs.builder()\n                .caching(\"ReadWrite\")\n                .storageAccountType(\"Standard_LRS\")\n                .build())\n            .sourceImageReference(LinuxVirtualMachineSourceImageReferenceArgs.builder()\n                .publisher(\"Canonical\")\n                .offer(\"0001-com-ubuntu-server-jammy\")\n                .sku(\"22_04-lts\")\n                .version(\"latest\")\n                .build())\n            .build());\n\n        var exampleRestorePointCollection = new RestorePointCollection(\"exampleRestorePointCollection\", RestorePointCollectionArgs.builder()\n            .name(\"example-collection\")\n            .resourceGroupName(example.name())\n            .location(exampleLinuxVirtualMachine.location())\n            .sourceVirtualMachineId(exampleLinuxVirtualMachine.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleVirtualNetwork:\n    type: azure:network:VirtualNetwork\n    name: example\n    properties:\n      name: example-network\n      addressSpaces:\n        - 10.0.0.0/16\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n  exampleSubnet:\n    type: azure:network:Subnet\n    name: example\n    properties:\n      name: internal\n      resourceGroupName: ${example.name}\n      virtualNetworkName: ${exampleVirtualNetwork.name}\n      addressPrefixes:\n        - 10.0.2.0/24\n  exampleNetworkInterface:\n    type: azure:network:NetworkInterface\n    name: example\n    properties:\n      name: example-nic\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      ipConfigurations:\n        - name: internal\n          subnetId: ${exampleSubnet.id}\n          privateIpAddressAllocation: Dynamic\n  exampleLinuxVirtualMachine:\n    type: azure:compute:LinuxVirtualMachine\n    name: example\n    properties:\n      name: example-machine\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      size: Standard_F2\n      adminUsername: adminuser\n      networkInterfaceIds:\n        - ${exampleNetworkInterface.id}\n      adminSshKeys:\n        - username: adminuser\n          publicKey:\n            fn::invoke:\n              function: std:file\n              arguments:\n                input: ~/.ssh/id_rsa.pub\n              return: result\n      osDisk:\n        caching: ReadWrite\n        storageAccountType: Standard_LRS\n      sourceImageReference:\n        publisher: Canonical\n        offer: 0001-com-ubuntu-server-jammy\n        sku: 22_04-lts\n        version: latest\n  exampleRestorePointCollection:\n    type: azure:compute:RestorePointCollection\n    name: example\n    properties:\n      name: example-collection\n      resourceGroupName: ${example.name}\n      location: ${exampleLinuxVirtualMachine.location}\n      sourceVirtualMachineId: ${exampleLinuxVirtualMachine.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Compute` - 2024-03-01\n\n## Import\n\nVirtual Machine Restore Point Collections can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:compute/restorePointCollection:RestorePointCollection example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Compute/restorePointCollections/collection1\n```\n\n","properties":{"location":{"type":"string","description":"The Azure location where the Virtual Machine Restore Point Collection should exist. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"Specifies the name of the Virtual Machine Restore Point Collection. Changing this forces a new resource to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group in which the Virtual Machine Restore Point Collection should exist. Changing this forces a new resource to be created.\n"},"sourceVirtualMachineId":{"type":"string","description":"The ID of the virtual machine that will be associated with this Virtual Machine Restore Point Collection. Changing this forces a new resource to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to this Virtual Machine Restore Point Collection.\n"}},"required":["location","name","resourceGroupName","sourceVirtualMachineId"],"inputProperties":{"location":{"type":"string","description":"The Azure location where the Virtual Machine Restore Point Collection should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the Virtual Machine Restore Point Collection. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group in which the Virtual Machine Restore Point Collection should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sourceVirtualMachineId":{"type":"string","description":"The ID of the virtual machine that will be associated with this Virtual Machine Restore Point Collection. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to this Virtual Machine Restore Point Collection.\n"}},"requiredInputs":["resourceGroupName","sourceVirtualMachineId"],"stateInputs":{"description":"Input properties used for looking up and filtering RestorePointCollection resources.\n","properties":{"location":{"type":"string","description":"The Azure location where the Virtual Machine Restore Point Collection should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the Virtual Machine Restore Point Collection. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group in which the Virtual Machine Restore Point Collection should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sourceVirtualMachineId":{"type":"string","description":"The ID of the virtual machine that will be associated with this Virtual Machine Restore Point Collection. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to this Virtual Machine Restore Point Collection.\n"}},"type":"object"},"aliases":[{"type":"azure:compute/virtualMachineRestorePointCollection:VirtualMachineRestorePointCollection"}]},"azure:compute/runCommand:RunCommand":{"description":"Manages a Virtual Machine Run Command.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"example\", {\n    name: \"example-vnet\",\n    addressSpaces: [\"10.0.0.0/16\"],\n    location: exampleResourceGroup.location,\n    resourceGroupName: exampleResourceGroup.name,\n});\nconst exampleSubnet = new azure.network.Subnet(\"example\", {\n    name: \"internal\",\n    resourceGroupName: exampleResourceGroup.name,\n    virtualNetworkName: exampleVirtualNetwork.name,\n    addressPrefixes: [\"10.0.2.0/24\"],\n});\nconst exampleNetworkInterface = new azure.network.NetworkInterface(\"example\", {\n    name: \"example-nic\",\n    location: exampleResourceGroup.location,\n    resourceGroupName: exampleResourceGroup.name,\n    ipConfigurations: [{\n        name: \"internal\",\n        subnetId: exampleSubnet.id,\n        privateIpAddressAllocation: \"Dynamic\",\n    }],\n});\nconst exampleUserAssignedIdentity = new azure.authorization.UserAssignedIdentity(\"example\", {\n    name: \"example-uai\",\n    resourceGroupName: exampleResourceGroup.name,\n    location: exampleResourceGroup.location,\n});\nconst exampleLinuxVirtualMachine = new azure.compute.LinuxVirtualMachine(\"example\", {\n    name: \"example-VM\",\n    resourceGroupName: exampleResourceGroup.name,\n    location: exampleResourceGroup.location,\n    size: \"Standard_B2s\",\n    adminUsername: \"adminuser\",\n    adminPassword: \"P@$$w0rd1234!\",\n    disablePasswordAuthentication: false,\n    networkInterfaceIds: [exampleNetworkInterface.id],\n    osDisk: {\n        caching: \"ReadWrite\",\n        storageAccountType: \"Premium_LRS\",\n    },\n    sourceImageReference: {\n        publisher: \"Canonical\",\n        offer: \"0001-com-ubuntu-server-jammy\",\n        sku: \"22_04-lts\",\n        version: \"latest\",\n    },\n    identity: {\n        type: \"SystemAssigned, UserAssigned\",\n        identityIds: [exampleUserAssignedIdentity.id],\n    },\n});\nconst exampleAccount = new azure.storage.Account(\"example\", {\n    name: \"exampleaccount\",\n    resourceGroupName: exampleResourceGroup.name,\n    location: exampleResourceGroup.location,\n    accountTier: \"Standard\",\n    accountReplicationType: \"LRS\",\n});\nconst exampleAssignment = new azure.authorization.Assignment(\"example\", {\n    scope: exampleAccount.id,\n    roleDefinitionName: \"Storage Blob Data Contributor\",\n    principalId: exampleUserAssignedIdentity.principalId,\n});\nconst exampleContainer = new azure.storage.Container(\"example\", {\n    name: \"example-sc\",\n    storageAccountName: exampleAccount.name,\n    containerAccessType: \"blob\",\n});\nconst example1 = new azure.storage.Blob(\"example1\", {\n    name: \"script1\",\n    storageAccountName: exampleAccount.name,\n    storageContainerName: exampleContainer.name,\n    type: \"Block\",\n    sourceContent: \"echo 'hello world'\",\n});\nconst example2 = new azure.storage.Blob(\"example2\", {\n    name: \"output\",\n    storageAccountName: exampleAccount.name,\n    storageContainerName: exampleContainer.name,\n    type: \"Append\",\n});\nconst example3 = new azure.storage.Blob(\"example3\", {\n    name: \"error\",\n    storageAccountName: exampleAccount.name,\n    storageContainerName: exampleContainer.name,\n    type: \"Append\",\n});\nconst example = azure.storage.getAccountSASOutput({\n    connectionString: exampleAccount.primaryConnectionString,\n    httpsOnly: true,\n    signedVersion: \"2019-10-10\",\n    start: \"2023-04-01T00:00:00Z\",\n    expiry: \"2024-04-01T00:00:00Z\",\n    resourceTypes: {\n        service: false,\n        container: false,\n        object: true,\n    },\n    services: {\n        blob: true,\n        queue: false,\n        table: false,\n        file: false,\n    },\n    permissions: {\n        read: true,\n        write: true,\n        \"delete\": false,\n        list: false,\n        add: true,\n        create: true,\n        update: false,\n        process: false,\n        tag: false,\n        filter: false,\n    },\n});\n// basic example\nconst exampleRunCommand = new azure.compute.RunCommand(\"example\", {\n    name: \"example-vmrc\",\n    location: exampleResourceGroup.location,\n    virtualMachineId: exampleLinuxVirtualMachine.id,\n    source: {\n        script: \"echo 'hello world'\",\n    },\n});\n// authorize to storage blob using user assigned identity\nconst example2RunCommand = new azure.compute.RunCommand(\"example2\", {\n    location: exampleResourceGroup.location,\n    name: \"example2-vmrc\",\n    virtualMachineId: exampleLinuxVirtualMachine.id,\n    outputBlobUri: example2.id,\n    errorBlobUri: example3.id,\n    runAsPassword: \"P@$$w0rd1234!\",\n    runAsUser: \"adminuser\",\n    source: {\n        scriptUri: example1.id,\n        scriptUriManagedIdentity: {\n            clientId: exampleUserAssignedIdentity.clientId,\n        },\n    },\n    errorBlobManagedIdentity: {\n        clientId: exampleUserAssignedIdentity.clientId,\n    },\n    outputBlobManagedIdentity: {\n        clientId: exampleUserAssignedIdentity.clientId,\n    },\n    parameters: [{\n        name: \"examplev1\",\n        value: \"val1\",\n    }],\n    protectedParameters: [{\n        name: \"examplev2\",\n        value: \"val2\",\n    }],\n    tags: {\n        environment: \"terraform-examples\",\n        some_key: \"some-value\",\n    },\n}, {\n    dependsOn: [exampleAssignment],\n});\n// authorize to storage blob using SAS token\nconst example3RunCommand = new azure.compute.RunCommand(\"example3\", {\n    location: exampleResourceGroup.location,\n    name: \"example3-vmrc\",\n    virtualMachineId: exampleLinuxVirtualMachine.id,\n    runAsPassword: \"P@$$w0rd1234!\",\n    runAsUser: \"adminuser\",\n    errorBlobUri: pulumi.all([example3.id, example]).apply(([id, example]) =\u003e `${id}${example.sas}`),\n    outputBlobUri: pulumi.all([example2.id, example]).apply(([id, example]) =\u003e `${id}${example.sas}`),\n    source: {\n        scriptUri: pulumi.all([example1.id, example]).apply(([id, example]) =\u003e `${id}${example.sas}`),\n    },\n    parameters: [{\n        name: \"example-vm1\",\n        value: \"val1\",\n    }],\n    tags: {\n        environment: \"terraform-example-s\",\n        some_key: \"some-value\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_virtual_network = azure.network.VirtualNetwork(\"example\",\n    name=\"example-vnet\",\n    address_spaces=[\"10.0.0.0/16\"],\n    location=example_resource_group.location,\n    resource_group_name=example_resource_group.name)\nexample_subnet = azure.network.Subnet(\"example\",\n    name=\"internal\",\n    resource_group_name=example_resource_group.name,\n    virtual_network_name=example_virtual_network.name,\n    address_prefixes=[\"10.0.2.0/24\"])\nexample_network_interface = azure.network.NetworkInterface(\"example\",\n    name=\"example-nic\",\n    location=example_resource_group.location,\n    resource_group_name=example_resource_group.name,\n    ip_configurations=[{\n        \"name\": \"internal\",\n        \"subnet_id\": example_subnet.id,\n        \"private_ip_address_allocation\": \"Dynamic\",\n    }])\nexample_user_assigned_identity = azure.authorization.UserAssignedIdentity(\"example\",\n    name=\"example-uai\",\n    resource_group_name=example_resource_group.name,\n    location=example_resource_group.location)\nexample_linux_virtual_machine = azure.compute.LinuxVirtualMachine(\"example\",\n    name=\"example-VM\",\n    resource_group_name=example_resource_group.name,\n    location=example_resource_group.location,\n    size=\"Standard_B2s\",\n    admin_username=\"adminuser\",\n    admin_password=\"P@$$w0rd1234!\",\n    disable_password_authentication=False,\n    network_interface_ids=[example_network_interface.id],\n    os_disk={\n        \"caching\": \"ReadWrite\",\n        \"storage_account_type\": \"Premium_LRS\",\n    },\n    source_image_reference={\n        \"publisher\": \"Canonical\",\n        \"offer\": \"0001-com-ubuntu-server-jammy\",\n        \"sku\": \"22_04-lts\",\n        \"version\": \"latest\",\n    },\n    identity={\n        \"type\": \"SystemAssigned, UserAssigned\",\n        \"identity_ids\": [example_user_assigned_identity.id],\n    })\nexample_account = azure.storage.Account(\"example\",\n    name=\"exampleaccount\",\n    resource_group_name=example_resource_group.name,\n    location=example_resource_group.location,\n    account_tier=\"Standard\",\n    account_replication_type=\"LRS\")\nexample_assignment = azure.authorization.Assignment(\"example\",\n    scope=example_account.id,\n    role_definition_name=\"Storage Blob Data Contributor\",\n    principal_id=example_user_assigned_identity.principal_id)\nexample_container = azure.storage.Container(\"example\",\n    name=\"example-sc\",\n    storage_account_name=example_account.name,\n    container_access_type=\"blob\")\nexample1 = azure.storage.Blob(\"example1\",\n    name=\"script1\",\n    storage_account_name=example_account.name,\n    storage_container_name=example_container.name,\n    type=\"Block\",\n    source_content=\"echo 'hello world'\")\nexample2 = azure.storage.Blob(\"example2\",\n    name=\"output\",\n    storage_account_name=example_account.name,\n    storage_container_name=example_container.name,\n    type=\"Append\")\nexample3 = azure.storage.Blob(\"example3\",\n    name=\"error\",\n    storage_account_name=example_account.name,\n    storage_container_name=example_container.name,\n    type=\"Append\")\nexample = azure.storage.get_account_sas_output(connection_string=example_account.primary_connection_string,\n    https_only=True,\n    signed_version=\"2019-10-10\",\n    start=\"2023-04-01T00:00:00Z\",\n    expiry=\"2024-04-01T00:00:00Z\",\n    resource_types={\n        \"service\": False,\n        \"container\": False,\n        \"object\": True,\n    },\n    services={\n        \"blob\": True,\n        \"queue\": False,\n        \"table\": False,\n        \"file\": False,\n    },\n    permissions={\n        \"read\": True,\n        \"write\": True,\n        \"delete\": False,\n        \"list\": False,\n        \"add\": True,\n        \"create\": True,\n        \"update\": False,\n        \"process\": False,\n        \"tag\": False,\n        \"filter\": False,\n    })\n# basic example\nexample_run_command = azure.compute.RunCommand(\"example\",\n    name=\"example-vmrc\",\n    location=example_resource_group.location,\n    virtual_machine_id=example_linux_virtual_machine.id,\n    source={\n        \"script\": \"echo 'hello world'\",\n    })\n# authorize to storage blob using user assigned identity\nexample2_run_command = azure.compute.RunCommand(\"example2\",\n    location=example_resource_group.location,\n    name=\"example2-vmrc\",\n    virtual_machine_id=example_linux_virtual_machine.id,\n    output_blob_uri=example2.id,\n    error_blob_uri=example3.id,\n    run_as_password=\"P@$$w0rd1234!\",\n    run_as_user=\"adminuser\",\n    source={\n        \"script_uri\": example1.id,\n        \"script_uri_managed_identity\": {\n            \"client_id\": example_user_assigned_identity.client_id,\n        },\n    },\n    error_blob_managed_identity={\n        \"client_id\": example_user_assigned_identity.client_id,\n    },\n    output_blob_managed_identity={\n        \"client_id\": example_user_assigned_identity.client_id,\n    },\n    parameters=[{\n        \"name\": \"examplev1\",\n        \"value\": \"val1\",\n    }],\n    protected_parameters=[{\n        \"name\": \"examplev2\",\n        \"value\": \"val2\",\n    }],\n    tags={\n        \"environment\": \"terraform-examples\",\n        \"some_key\": \"some-value\",\n    },\n    opts = pulumi.ResourceOptions(depends_on=[example_assignment]))\n# authorize to storage blob using SAS token\nexample3_run_command = azure.compute.RunCommand(\"example3\",\n    location=example_resource_group.location,\n    name=\"example3-vmrc\",\n    virtual_machine_id=example_linux_virtual_machine.id,\n    run_as_password=\"P@$$w0rd1234!\",\n    run_as_user=\"adminuser\",\n    error_blob_uri=pulumi.Output.all(\n        id=example3.id,\n        example=example\n).apply(lambda resolved_outputs: f\"{resolved_outputs['id']}{example.sas}\")\n,\n    output_blob_uri=pulumi.Output.all(\n        id=example2.id,\n        example=example\n).apply(lambda resolved_outputs: f\"{resolved_outputs['id']}{example.sas}\")\n,\n    source={\n        \"script_uri\": pulumi.Output.all(\n            id=example1.id,\n            example=example\n).apply(lambda resolved_outputs: f\"{resolved_outputs['id']}{example.sas}\")\n,\n    },\n    parameters=[{\n        \"name\": \"example-vm1\",\n        \"value\": \"val1\",\n    }],\n    tags={\n        \"environment\": \"terraform-example-s\",\n        \"some_key\": \"some-value\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleResourceGroup = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleVirtualNetwork = new Azure.Network.VirtualNetwork(\"example\", new()\n    {\n        Name = \"example-vnet\",\n        AddressSpaces = new[]\n        {\n            \"10.0.0.0/16\",\n        },\n        Location = exampleResourceGroup.Location,\n        ResourceGroupName = exampleResourceGroup.Name,\n    });\n\n    var exampleSubnet = new Azure.Network.Subnet(\"example\", new()\n    {\n        Name = \"internal\",\n        ResourceGroupName = exampleResourceGroup.Name,\n        VirtualNetworkName = exampleVirtualNetwork.Name,\n        AddressPrefixes = new[]\n        {\n            \"10.0.2.0/24\",\n        },\n    });\n\n    var exampleNetworkInterface = new Azure.Network.NetworkInterface(\"example\", new()\n    {\n        Name = \"example-nic\",\n        Location = exampleResourceGroup.Location,\n        ResourceGroupName = exampleResourceGroup.Name,\n        IpConfigurations = new[]\n        {\n            new Azure.Network.Inputs.NetworkInterfaceIpConfigurationArgs\n            {\n                Name = \"internal\",\n                SubnetId = exampleSubnet.Id,\n                PrivateIpAddressAllocation = \"Dynamic\",\n            },\n        },\n    });\n\n    var exampleUserAssignedIdentity = new Azure.Authorization.UserAssignedIdentity(\"example\", new()\n    {\n        Name = \"example-uai\",\n        ResourceGroupName = exampleResourceGroup.Name,\n        Location = exampleResourceGroup.Location,\n    });\n\n    var exampleLinuxVirtualMachine = new Azure.Compute.LinuxVirtualMachine(\"example\", new()\n    {\n        Name = \"example-VM\",\n        ResourceGroupName = exampleResourceGroup.Name,\n        Location = exampleResourceGroup.Location,\n        Size = \"Standard_B2s\",\n        AdminUsername = \"adminuser\",\n        AdminPassword = \"P@$$w0rd1234!\",\n        DisablePasswordAuthentication = false,\n        NetworkInterfaceIds = new[]\n        {\n            exampleNetworkInterface.Id,\n        },\n        OsDisk = new Azure.Compute.Inputs.LinuxVirtualMachineOsDiskArgs\n        {\n            Caching = \"ReadWrite\",\n            StorageAccountType = \"Premium_LRS\",\n        },\n        SourceImageReference = new Azure.Compute.Inputs.LinuxVirtualMachineSourceImageReferenceArgs\n        {\n            Publisher = \"Canonical\",\n            Offer = \"0001-com-ubuntu-server-jammy\",\n            Sku = \"22_04-lts\",\n            Version = \"latest\",\n        },\n        Identity = new Azure.Compute.Inputs.LinuxVirtualMachineIdentityArgs\n        {\n            Type = \"SystemAssigned, UserAssigned\",\n            IdentityIds = new[]\n            {\n                exampleUserAssignedIdentity.Id,\n            },\n        },\n    });\n\n    var exampleAccount = new Azure.Storage.Account(\"example\", new()\n    {\n        Name = \"exampleaccount\",\n        ResourceGroupName = exampleResourceGroup.Name,\n        Location = exampleResourceGroup.Location,\n        AccountTier = \"Standard\",\n        AccountReplicationType = \"LRS\",\n    });\n\n    var exampleAssignment = new Azure.Authorization.Assignment(\"example\", new()\n    {\n        Scope = exampleAccount.Id,\n        RoleDefinitionName = \"Storage Blob Data Contributor\",\n        PrincipalId = exampleUserAssignedIdentity.PrincipalId,\n    });\n\n    var exampleContainer = new Azure.Storage.Container(\"example\", new()\n    {\n        Name = \"example-sc\",\n        StorageAccountName = exampleAccount.Name,\n        ContainerAccessType = \"blob\",\n    });\n\n    var example1 = new Azure.Storage.Blob(\"example1\", new()\n    {\n        Name = \"script1\",\n        StorageAccountName = exampleAccount.Name,\n        StorageContainerName = exampleContainer.Name,\n        Type = \"Block\",\n        SourceContent = \"echo 'hello world'\",\n    });\n\n    var example2 = new Azure.Storage.Blob(\"example2\", new()\n    {\n        Name = \"output\",\n        StorageAccountName = exampleAccount.Name,\n        StorageContainerName = exampleContainer.Name,\n        Type = \"Append\",\n    });\n\n    var example3 = new Azure.Storage.Blob(\"example3\", new()\n    {\n        Name = \"error\",\n        StorageAccountName = exampleAccount.Name,\n        StorageContainerName = exampleContainer.Name,\n        Type = \"Append\",\n    });\n\n    var example = Azure.Storage.GetAccountSAS.Invoke(new()\n    {\n        ConnectionString = exampleAccount.PrimaryConnectionString,\n        HttpsOnly = true,\n        SignedVersion = \"2019-10-10\",\n        Start = \"2023-04-01T00:00:00Z\",\n        Expiry = \"2024-04-01T00:00:00Z\",\n        ResourceTypes = new Azure.Storage.Inputs.GetAccountSASResourceTypesInputArgs\n        {\n            Service = false,\n            Container = false,\n            Object = true,\n        },\n        Services = new Azure.Storage.Inputs.GetAccountSASServicesInputArgs\n        {\n            Blob = true,\n            Queue = false,\n            Table = false,\n            File = false,\n        },\n        Permissions = new Azure.Storage.Inputs.GetAccountSASPermissionsInputArgs\n        {\n            Read = true,\n            Write = true,\n            Delete = false,\n            List = false,\n            Add = true,\n            Create = true,\n            Update = false,\n            Process = false,\n            Tag = false,\n            Filter = false,\n        },\n    });\n\n    // basic example\n    var exampleRunCommand = new Azure.Compute.RunCommand(\"example\", new()\n    {\n        Name = \"example-vmrc\",\n        Location = exampleResourceGroup.Location,\n        VirtualMachineId = exampleLinuxVirtualMachine.Id,\n        Source = new Azure.Compute.Inputs.RunCommandSourceArgs\n        {\n            Script = \"echo 'hello world'\",\n        },\n    });\n\n    // authorize to storage blob using user assigned identity\n    var example2RunCommand = new Azure.Compute.RunCommand(\"example2\", new()\n    {\n        Location = exampleResourceGroup.Location,\n        Name = \"example2-vmrc\",\n        VirtualMachineId = exampleLinuxVirtualMachine.Id,\n        OutputBlobUri = example2.Id,\n        ErrorBlobUri = example3.Id,\n        RunAsPassword = \"P@$$w0rd1234!\",\n        RunAsUser = \"adminuser\",\n        Source = new Azure.Compute.Inputs.RunCommandSourceArgs\n        {\n            ScriptUri = example1.Id,\n            ScriptUriManagedIdentity = new Azure.Compute.Inputs.RunCommandSourceScriptUriManagedIdentityArgs\n            {\n                ClientId = exampleUserAssignedIdentity.ClientId,\n            },\n        },\n        ErrorBlobManagedIdentity = new Azure.Compute.Inputs.RunCommandErrorBlobManagedIdentityArgs\n        {\n            ClientId = exampleUserAssignedIdentity.ClientId,\n        },\n        OutputBlobManagedIdentity = new Azure.Compute.Inputs.RunCommandOutputBlobManagedIdentityArgs\n        {\n            ClientId = exampleUserAssignedIdentity.ClientId,\n        },\n        Parameters = new[]\n        {\n            new Azure.Compute.Inputs.RunCommandParameterArgs\n            {\n                Name = \"examplev1\",\n                Value = \"val1\",\n            },\n        },\n        ProtectedParameters = new[]\n        {\n            new Azure.Compute.Inputs.RunCommandProtectedParameterArgs\n            {\n                Name = \"examplev2\",\n                Value = \"val2\",\n            },\n        },\n        Tags = \n        {\n            { \"environment\", \"terraform-examples\" },\n            { \"some_key\", \"some-value\" },\n        },\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            exampleAssignment,\n        },\n    });\n\n    // authorize to storage blob using SAS token\n    var example3RunCommand = new Azure.Compute.RunCommand(\"example3\", new()\n    {\n        Location = exampleResourceGroup.Location,\n        Name = \"example3-vmrc\",\n        VirtualMachineId = exampleLinuxVirtualMachine.Id,\n        RunAsPassword = \"P@$$w0rd1234!\",\n        RunAsUser = \"adminuser\",\n        ErrorBlobUri = Output.Tuple(example3.Id, example).Apply(values =\u003e\n        {\n            var id = values.Item1;\n            var example = values.Item2;\n            return $\"{id}{example.Apply(getAccountSASResult =\u003e getAccountSASResult.Sas)}\";\n        }),\n        OutputBlobUri = Output.Tuple(example2.Id, example).Apply(values =\u003e\n        {\n            var id = values.Item1;\n            var example = values.Item2;\n            return $\"{id}{example.Apply(getAccountSASResult =\u003e getAccountSASResult.Sas)}\";\n        }),\n        Source = new Azure.Compute.Inputs.RunCommandSourceArgs\n        {\n            ScriptUri = Output.Tuple(example1.Id, example).Apply(values =\u003e\n            {\n                var id = values.Item1;\n                var example = values.Item2;\n                return $\"{id}{example.Apply(getAccountSASResult =\u003e getAccountSASResult.Sas)}\";\n            }),\n        },\n        Parameters = new[]\n        {\n            new Azure.Compute.Inputs.RunCommandParameterArgs\n            {\n                Name = \"example-vm1\",\n                Value = \"val1\",\n            },\n        },\n        Tags = \n        {\n            { \"environment\", \"terraform-example-s\" },\n            { \"some_key\", \"some-value\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/authorization\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/compute\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, \"example\", \u0026network.VirtualNetworkArgs{\n\t\t\tName: pulumi.String(\"example-vnet\"),\n\t\t\tAddressSpaces: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.0.0/16\"),\n\t\t\t},\n\t\t\tLocation:          exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSubnet, err := network.NewSubnet(ctx, \"example\", \u0026network.SubnetArgs{\n\t\t\tName:               pulumi.String(\"internal\"),\n\t\t\tResourceGroupName:  exampleResourceGroup.Name,\n\t\t\tVirtualNetworkName: exampleVirtualNetwork.Name,\n\t\t\tAddressPrefixes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.2.0/24\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNetworkInterface, err := network.NewNetworkInterface(ctx, \"example\", \u0026network.NetworkInterfaceArgs{\n\t\t\tName:              pulumi.String(\"example-nic\"),\n\t\t\tLocation:          exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tIpConfigurations: network.NetworkInterfaceIpConfigurationArray{\n\t\t\t\t\u0026network.NetworkInterfaceIpConfigurationArgs{\n\t\t\t\t\tName:                       pulumi.String(\"internal\"),\n\t\t\t\t\tSubnetId:                   exampleSubnet.ID(),\n\t\t\t\t\tPrivateIpAddressAllocation: pulumi.String(\"Dynamic\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleUserAssignedIdentity, err := authorization.NewUserAssignedIdentity(ctx, \"example\", \u0026authorization.UserAssignedIdentityArgs{\n\t\t\tName:              pulumi.String(\"example-uai\"),\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tLocation:          exampleResourceGroup.Location,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleLinuxVirtualMachine, err := compute.NewLinuxVirtualMachine(ctx, \"example\", \u0026compute.LinuxVirtualMachineArgs{\n\t\t\tName:                          pulumi.String(\"example-VM\"),\n\t\t\tResourceGroupName:             exampleResourceGroup.Name,\n\t\t\tLocation:                      exampleResourceGroup.Location,\n\t\t\tSize:                          pulumi.String(\"Standard_B2s\"),\n\t\t\tAdminUsername:                 pulumi.String(\"adminuser\"),\n\t\t\tAdminPassword:                 pulumi.String(\"P@$$w0rd1234!\"),\n\t\t\tDisablePasswordAuthentication: pulumi.Bool(false),\n\t\t\tNetworkInterfaceIds: pulumi.StringArray{\n\t\t\t\texampleNetworkInterface.ID(),\n\t\t\t},\n\t\t\tOsDisk: \u0026compute.LinuxVirtualMachineOsDiskArgs{\n\t\t\t\tCaching:            pulumi.String(\"ReadWrite\"),\n\t\t\t\tStorageAccountType: pulumi.String(\"Premium_LRS\"),\n\t\t\t},\n\t\t\tSourceImageReference: \u0026compute.LinuxVirtualMachineSourceImageReferenceArgs{\n\t\t\t\tPublisher: pulumi.String(\"Canonical\"),\n\t\t\t\tOffer:     pulumi.String(\"0001-com-ubuntu-server-jammy\"),\n\t\t\t\tSku:       pulumi.String(\"22_04-lts\"),\n\t\t\t\tVersion:   pulumi.String(\"latest\"),\n\t\t\t},\n\t\t\tIdentity: \u0026compute.LinuxVirtualMachineIdentityArgs{\n\t\t\t\tType: pulumi.String(\"SystemAssigned, UserAssigned\"),\n\t\t\t\tIdentityIds: pulumi.StringArray{\n\t\t\t\t\texampleUserAssignedIdentity.ID(),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := storage.NewAccount(ctx, \"example\", \u0026storage.AccountArgs{\n\t\t\tName:                   pulumi.String(\"exampleaccount\"),\n\t\t\tResourceGroupName:      exampleResourceGroup.Name,\n\t\t\tLocation:               exampleResourceGroup.Location,\n\t\t\tAccountTier:            pulumi.String(\"Standard\"),\n\t\t\tAccountReplicationType: pulumi.String(\"LRS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAssignment, err := authorization.NewAssignment(ctx, \"example\", \u0026authorization.AssignmentArgs{\n\t\t\tScope:              exampleAccount.ID(),\n\t\t\tRoleDefinitionName: pulumi.String(\"Storage Blob Data Contributor\"),\n\t\t\tPrincipalId:        exampleUserAssignedIdentity.PrincipalId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleContainer, err := storage.NewContainer(ctx, \"example\", \u0026storage.ContainerArgs{\n\t\t\tName:                pulumi.String(\"example-sc\"),\n\t\t\tStorageAccountName:  exampleAccount.Name,\n\t\t\tContainerAccessType: pulumi.String(\"blob\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample1, err := storage.NewBlob(ctx, \"example1\", \u0026storage.BlobArgs{\n\t\t\tName:                 pulumi.String(\"script1\"),\n\t\t\tStorageAccountName:   exampleAccount.Name,\n\t\t\tStorageContainerName: exampleContainer.Name,\n\t\t\tType:                 pulumi.String(\"Block\"),\n\t\t\tSourceContent:        pulumi.String(\"echo 'hello world'\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample2, err := storage.NewBlob(ctx, \"example2\", \u0026storage.BlobArgs{\n\t\t\tName:                 pulumi.String(\"output\"),\n\t\t\tStorageAccountName:   exampleAccount.Name,\n\t\t\tStorageContainerName: exampleContainer.Name,\n\t\t\tType:                 pulumi.String(\"Append\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample3, err := storage.NewBlob(ctx, \"example3\", \u0026storage.BlobArgs{\n\t\t\tName:                 pulumi.String(\"error\"),\n\t\t\tStorageAccountName:   exampleAccount.Name,\n\t\t\tStorageContainerName: exampleContainer.Name,\n\t\t\tType:                 pulumi.String(\"Append\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample := storage.GetAccountSASOutput(ctx, storage.GetAccountSASOutputArgs{\n\t\t\tConnectionString: exampleAccount.PrimaryConnectionString,\n\t\t\tHttpsOnly:        pulumi.Bool(true),\n\t\t\tSignedVersion:    pulumi.String(\"2019-10-10\"),\n\t\t\tStart:            pulumi.String(\"2023-04-01T00:00:00Z\"),\n\t\t\tExpiry:           pulumi.String(\"2024-04-01T00:00:00Z\"),\n\t\t\tResourceTypes: \u0026storage.GetAccountSASResourceTypesArgs{\n\t\t\t\tService:   pulumi.Bool(false),\n\t\t\t\tContainer: pulumi.Bool(false),\n\t\t\t\tObject:    pulumi.Bool(true),\n\t\t\t},\n\t\t\tServices: \u0026storage.GetAccountSASServicesArgs{\n\t\t\t\tBlob:  pulumi.Bool(true),\n\t\t\t\tQueue: pulumi.Bool(false),\n\t\t\t\tTable: pulumi.Bool(false),\n\t\t\t\tFile:  pulumi.Bool(false),\n\t\t\t},\n\t\t\tPermissions: \u0026storage.GetAccountSASPermissionsArgs{\n\t\t\t\tRead:    pulumi.Bool(true),\n\t\t\t\tWrite:   pulumi.Bool(true),\n\t\t\t\tDelete:  pulumi.Bool(false),\n\t\t\t\tList:    pulumi.Bool(false),\n\t\t\t\tAdd:     pulumi.Bool(true),\n\t\t\t\tCreate:  pulumi.Bool(true),\n\t\t\t\tUpdate:  pulumi.Bool(false),\n\t\t\t\tProcess: pulumi.Bool(false),\n\t\t\t\tTag:     pulumi.Bool(false),\n\t\t\t\tFilter:  pulumi.Bool(false),\n\t\t\t},\n\t\t}, nil)\n\t\t// basic example\n\t\t_, err = compute.NewRunCommand(ctx, \"example\", \u0026compute.RunCommandArgs{\n\t\t\tName:             pulumi.String(\"example-vmrc\"),\n\t\t\tLocation:         exampleResourceGroup.Location,\n\t\t\tVirtualMachineId: exampleLinuxVirtualMachine.ID(),\n\t\t\tSource: \u0026compute.RunCommandSourceArgs{\n\t\t\t\tScript: pulumi.String(\"echo 'hello world'\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// authorize to storage blob using user assigned identity\n\t\t_, err = compute.NewRunCommand(ctx, \"example2\", \u0026compute.RunCommandArgs{\n\t\t\tLocation:         exampleResourceGroup.Location,\n\t\t\tName:             pulumi.String(\"example2-vmrc\"),\n\t\t\tVirtualMachineId: exampleLinuxVirtualMachine.ID(),\n\t\t\tOutputBlobUri:    example2.ID(),\n\t\t\tErrorBlobUri:     example3.ID(),\n\t\t\tRunAsPassword:    pulumi.String(\"P@$$w0rd1234!\"),\n\t\t\tRunAsUser:        pulumi.String(\"adminuser\"),\n\t\t\tSource: \u0026compute.RunCommandSourceArgs{\n\t\t\t\tScriptUri: example1.ID(),\n\t\t\t\tScriptUriManagedIdentity: \u0026compute.RunCommandSourceScriptUriManagedIdentityArgs{\n\t\t\t\t\tClientId: exampleUserAssignedIdentity.ClientId,\n\t\t\t\t},\n\t\t\t},\n\t\t\tErrorBlobManagedIdentity: \u0026compute.RunCommandErrorBlobManagedIdentityArgs{\n\t\t\t\tClientId: exampleUserAssignedIdentity.ClientId,\n\t\t\t},\n\t\t\tOutputBlobManagedIdentity: \u0026compute.RunCommandOutputBlobManagedIdentityArgs{\n\t\t\t\tClientId: exampleUserAssignedIdentity.ClientId,\n\t\t\t},\n\t\t\tParameters: compute.RunCommandParameterArray{\n\t\t\t\t\u0026compute.RunCommandParameterArgs{\n\t\t\t\t\tName:  pulumi.String(\"examplev1\"),\n\t\t\t\t\tValue: pulumi.String(\"val1\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tProtectedParameters: compute.RunCommandProtectedParameterArray{\n\t\t\t\t\u0026compute.RunCommandProtectedParameterArgs{\n\t\t\t\t\tName:  pulumi.String(\"examplev2\"),\n\t\t\t\t\tValue: pulumi.String(\"val2\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"environment\": pulumi.String(\"terraform-examples\"),\n\t\t\t\t\"some_key\":    pulumi.String(\"some-value\"),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleAssignment,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// authorize to storage blob using SAS token\n\t\t_, err = compute.NewRunCommand(ctx, \"example3\", \u0026compute.RunCommandArgs{\n\t\t\tLocation:         exampleResourceGroup.Location,\n\t\t\tName:             pulumi.String(\"example3-vmrc\"),\n\t\t\tVirtualMachineId: exampleLinuxVirtualMachine.ID(),\n\t\t\tRunAsPassword:    pulumi.String(\"P@$$w0rd1234!\"),\n\t\t\tRunAsUser:        pulumi.String(\"adminuser\"),\n\t\t\tErrorBlobUri: pulumi.All(example3.ID(), example).ApplyT(func(_args []interface{}) (string, error) {\n\t\t\t\tid := _args[0].(string)\n\t\t\t\texample := _args[1].(storage.GetAccountSASResult)\n\t\t\t\treturn fmt.Sprintf(\"%v%v\", id, example.Sas), nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t\tOutputBlobUri: pulumi.All(example2.ID(), example).ApplyT(func(_args []interface{}) (string, error) {\n\t\t\t\tid := _args[0].(string)\n\t\t\t\texample := _args[1].(storage.GetAccountSASResult)\n\t\t\t\treturn fmt.Sprintf(\"%v%v\", id, example.Sas), nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t\tSource: \u0026compute.RunCommandSourceArgs{\n\t\t\t\tScriptUri: pulumi.All(example1.ID(), example).ApplyT(func(_args []interface{}) (string, error) {\n\t\t\t\t\tid := _args[0].(string)\n\t\t\t\t\texample := _args[1].(storage.GetAccountSASResult)\n\t\t\t\t\treturn fmt.Sprintf(\"%v%v\", id, example.Sas), nil\n\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t},\n\t\t\tParameters: compute.RunCommandParameterArray{\n\t\t\t\t\u0026compute.RunCommandParameterArgs{\n\t\t\t\t\tName:  pulumi.String(\"example-vm1\"),\n\t\t\t\t\tValue: pulumi.String(\"val1\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"environment\": pulumi.String(\"terraform-example-s\"),\n\t\t\t\t\"some_key\":    pulumi.String(\"some-value\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.VirtualNetwork;\nimport com.pulumi.azure.network.VirtualNetworkArgs;\nimport com.pulumi.azure.network.Subnet;\nimport com.pulumi.azure.network.SubnetArgs;\nimport com.pulumi.azure.network.NetworkInterface;\nimport com.pulumi.azure.network.NetworkInterfaceArgs;\nimport com.pulumi.azure.network.inputs.NetworkInterfaceIpConfigurationArgs;\nimport com.pulumi.azure.authorization.UserAssignedIdentity;\nimport com.pulumi.azure.authorization.UserAssignedIdentityArgs;\nimport com.pulumi.azure.compute.LinuxVirtualMachine;\nimport com.pulumi.azure.compute.LinuxVirtualMachineArgs;\nimport com.pulumi.azure.compute.inputs.LinuxVirtualMachineOsDiskArgs;\nimport com.pulumi.azure.compute.inputs.LinuxVirtualMachineSourceImageReferenceArgs;\nimport com.pulumi.azure.compute.inputs.LinuxVirtualMachineIdentityArgs;\nimport com.pulumi.azure.storage.Account;\nimport com.pulumi.azure.storage.AccountArgs;\nimport com.pulumi.azure.authorization.Assignment;\nimport com.pulumi.azure.authorization.AssignmentArgs;\nimport com.pulumi.azure.storage.Container;\nimport com.pulumi.azure.storage.ContainerArgs;\nimport com.pulumi.azure.storage.Blob;\nimport com.pulumi.azure.storage.BlobArgs;\nimport com.pulumi.azure.storage.StorageFunctions;\nimport com.pulumi.azure.storage.inputs.GetAccountSASArgs;\nimport com.pulumi.azure.storage.inputs.GetAccountSASResourceTypesArgs;\nimport com.pulumi.azure.storage.inputs.GetAccountSASServicesArgs;\nimport com.pulumi.azure.storage.inputs.GetAccountSASPermissionsArgs;\nimport com.pulumi.azure.compute.RunCommand;\nimport com.pulumi.azure.compute.RunCommandArgs;\nimport com.pulumi.azure.compute.inputs.RunCommandSourceArgs;\nimport com.pulumi.azure.compute.inputs.RunCommandSourceScriptUriManagedIdentityArgs;\nimport com.pulumi.azure.compute.inputs.RunCommandErrorBlobManagedIdentityArgs;\nimport com.pulumi.azure.compute.inputs.RunCommandOutputBlobManagedIdentityArgs;\nimport com.pulumi.azure.compute.inputs.RunCommandParameterArgs;\nimport com.pulumi.azure.compute.inputs.RunCommandProtectedParameterArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var exampleResourceGroup = new ResourceGroup(\"exampleResourceGroup\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleVirtualNetwork = new VirtualNetwork(\"exampleVirtualNetwork\", VirtualNetworkArgs.builder()\n            .name(\"example-vnet\")\n            .addressSpaces(\"10.0.0.0/16\")\n            .location(exampleResourceGroup.location())\n            .resourceGroupName(exampleResourceGroup.name())\n            .build());\n\n        var exampleSubnet = new Subnet(\"exampleSubnet\", SubnetArgs.builder()\n            .name(\"internal\")\n            .resourceGroupName(exampleResourceGroup.name())\n            .virtualNetworkName(exampleVirtualNetwork.name())\n            .addressPrefixes(\"10.0.2.0/24\")\n            .build());\n\n        var exampleNetworkInterface = new NetworkInterface(\"exampleNetworkInterface\", NetworkInterfaceArgs.builder()\n            .name(\"example-nic\")\n            .location(exampleResourceGroup.location())\n            .resourceGroupName(exampleResourceGroup.name())\n            .ipConfigurations(NetworkInterfaceIpConfigurationArgs.builder()\n                .name(\"internal\")\n                .subnetId(exampleSubnet.id())\n                .privateIpAddressAllocation(\"Dynamic\")\n                .build())\n            .build());\n\n        var exampleUserAssignedIdentity = new UserAssignedIdentity(\"exampleUserAssignedIdentity\", UserAssignedIdentityArgs.builder()\n            .name(\"example-uai\")\n            .resourceGroupName(exampleResourceGroup.name())\n            .location(exampleResourceGroup.location())\n            .build());\n\n        var exampleLinuxVirtualMachine = new LinuxVirtualMachine(\"exampleLinuxVirtualMachine\", LinuxVirtualMachineArgs.builder()\n            .name(\"example-VM\")\n            .resourceGroupName(exampleResourceGroup.name())\n            .location(exampleResourceGroup.location())\n            .size(\"Standard_B2s\")\n            .adminUsername(\"adminuser\")\n            .adminPassword(\"P@$$w0rd1234!\")\n            .disablePasswordAuthentication(false)\n            .networkInterfaceIds(exampleNetworkInterface.id())\n            .osDisk(LinuxVirtualMachineOsDiskArgs.builder()\n                .caching(\"ReadWrite\")\n                .storageAccountType(\"Premium_LRS\")\n                .build())\n            .sourceImageReference(LinuxVirtualMachineSourceImageReferenceArgs.builder()\n                .publisher(\"Canonical\")\n                .offer(\"0001-com-ubuntu-server-jammy\")\n                .sku(\"22_04-lts\")\n                .version(\"latest\")\n                .build())\n            .identity(LinuxVirtualMachineIdentityArgs.builder()\n                .type(\"SystemAssigned, UserAssigned\")\n                .identityIds(exampleUserAssignedIdentity.id())\n                .build())\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"exampleaccount\")\n            .resourceGroupName(exampleResourceGroup.name())\n            .location(exampleResourceGroup.location())\n            .accountTier(\"Standard\")\n            .accountReplicationType(\"LRS\")\n            .build());\n\n        var exampleAssignment = new Assignment(\"exampleAssignment\", AssignmentArgs.builder()\n            .scope(exampleAccount.id())\n            .roleDefinitionName(\"Storage Blob Data Contributor\")\n            .principalId(exampleUserAssignedIdentity.principalId())\n            .build());\n\n        var exampleContainer = new Container(\"exampleContainer\", ContainerArgs.builder()\n            .name(\"example-sc\")\n            .storageAccountName(exampleAccount.name())\n            .containerAccessType(\"blob\")\n            .build());\n\n        var example1 = new Blob(\"example1\", BlobArgs.builder()\n            .name(\"script1\")\n            .storageAccountName(exampleAccount.name())\n            .storageContainerName(exampleContainer.name())\n            .type(\"Block\")\n            .sourceContent(\"echo 'hello world'\")\n            .build());\n\n        var example2 = new Blob(\"example2\", BlobArgs.builder()\n            .name(\"output\")\n            .storageAccountName(exampleAccount.name())\n            .storageContainerName(exampleContainer.name())\n            .type(\"Append\")\n            .build());\n\n        var example3 = new Blob(\"example3\", BlobArgs.builder()\n            .name(\"error\")\n            .storageAccountName(exampleAccount.name())\n            .storageContainerName(exampleContainer.name())\n            .type(\"Append\")\n            .build());\n\n        final var example = StorageFunctions.getAccountSAS(GetAccountSASArgs.builder()\n            .connectionString(exampleAccount.primaryConnectionString())\n            .httpsOnly(true)\n            .signedVersion(\"2019-10-10\")\n            .start(\"2023-04-01T00:00:00Z\")\n            .expiry(\"2024-04-01T00:00:00Z\")\n            .resourceTypes(GetAccountSASResourceTypesArgs.builder()\n                .service(false)\n                .container(false)\n                .object(true)\n                .build())\n            .services(GetAccountSASServicesArgs.builder()\n                .blob(true)\n                .queue(false)\n                .table(false)\n                .file(false)\n                .build())\n            .permissions(GetAccountSASPermissionsArgs.builder()\n                .read(true)\n                .write(true)\n                .delete(false)\n                .list(false)\n                .add(true)\n                .create(true)\n                .update(false)\n                .process(false)\n                .tag(false)\n                .filter(false)\n                .build())\n            .build());\n\n        // basic example\n        var exampleRunCommand = new RunCommand(\"exampleRunCommand\", RunCommandArgs.builder()\n            .name(\"example-vmrc\")\n            .location(exampleResourceGroup.location())\n            .virtualMachineId(exampleLinuxVirtualMachine.id())\n            .source(RunCommandSourceArgs.builder()\n                .script(\"echo 'hello world'\")\n                .build())\n            .build());\n\n        // authorize to storage blob using user assigned identity\n        var example2RunCommand = new RunCommand(\"example2RunCommand\", RunCommandArgs.builder()\n            .location(exampleResourceGroup.location())\n            .name(\"example2-vmrc\")\n            .virtualMachineId(exampleLinuxVirtualMachine.id())\n            .outputBlobUri(example2.id())\n            .errorBlobUri(example3.id())\n            .runAsPassword(\"P@$$w0rd1234!\")\n            .runAsUser(\"adminuser\")\n            .source(RunCommandSourceArgs.builder()\n                .scriptUri(example1.id())\n                .scriptUriManagedIdentity(RunCommandSourceScriptUriManagedIdentityArgs.builder()\n                    .clientId(exampleUserAssignedIdentity.clientId())\n                    .build())\n                .build())\n            .errorBlobManagedIdentity(RunCommandErrorBlobManagedIdentityArgs.builder()\n                .clientId(exampleUserAssignedIdentity.clientId())\n                .build())\n            .outputBlobManagedIdentity(RunCommandOutputBlobManagedIdentityArgs.builder()\n                .clientId(exampleUserAssignedIdentity.clientId())\n                .build())\n            .parameters(RunCommandParameterArgs.builder()\n                .name(\"examplev1\")\n                .value(\"val1\")\n                .build())\n            .protectedParameters(RunCommandProtectedParameterArgs.builder()\n                .name(\"examplev2\")\n                .value(\"val2\")\n                .build())\n            .tags(Map.ofEntries(\n                Map.entry(\"environment\", \"terraform-examples\"),\n                Map.entry(\"some_key\", \"some-value\")\n            ))\n            .build(), CustomResourceOptions.builder()\n                .dependsOn(exampleAssignment)\n                .build());\n\n        // authorize to storage blob using SAS token\n        var example3RunCommand = new RunCommand(\"example3RunCommand\", RunCommandArgs.builder()\n            .location(exampleResourceGroup.location())\n            .name(\"example3-vmrc\")\n            .virtualMachineId(exampleLinuxVirtualMachine.id())\n            .runAsPassword(\"P@$$w0rd1234!\")\n            .runAsUser(\"adminuser\")\n            .errorBlobUri(Output.tuple(example3.id(), example).applyValue(values -\u003e {\n                var id = values.t1;\n                var example = values.t2;\n                return String.format(\"%s%s\", id,example.sas());\n            }))\n            .outputBlobUri(Output.tuple(example2.id(), example).applyValue(values -\u003e {\n                var id = values.t1;\n                var example = values.t2;\n                return String.format(\"%s%s\", id,example.sas());\n            }))\n            .source(RunCommandSourceArgs.builder()\n                .scriptUri(Output.tuple(example1.id(), example).applyValue(values -\u003e {\n                    var id = values.t1;\n                    var example = values.t2;\n                    return String.format(\"%s%s\", id,example.sas());\n                }))\n                .build())\n            .parameters(RunCommandParameterArgs.builder()\n                .name(\"example-vm1\")\n                .value(\"val1\")\n                .build())\n            .tags(Map.ofEntries(\n                Map.entry(\"environment\", \"terraform-example-s\"),\n                Map.entry(\"some_key\", \"some-value\")\n            ))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleResourceGroup:\n    type: azure:core:ResourceGroup\n    name: example\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleVirtualNetwork:\n    type: azure:network:VirtualNetwork\n    name: example\n    properties:\n      name: example-vnet\n      addressSpaces:\n        - 10.0.0.0/16\n      location: ${exampleResourceGroup.location}\n      resourceGroupName: ${exampleResourceGroup.name}\n  exampleSubnet:\n    type: azure:network:Subnet\n    name: example\n    properties:\n      name: internal\n      resourceGroupName: ${exampleResourceGroup.name}\n      virtualNetworkName: ${exampleVirtualNetwork.name}\n      addressPrefixes:\n        - 10.0.2.0/24\n  exampleNetworkInterface:\n    type: azure:network:NetworkInterface\n    name: example\n    properties:\n      name: example-nic\n      location: ${exampleResourceGroup.location}\n      resourceGroupName: ${exampleResourceGroup.name}\n      ipConfigurations:\n        - name: internal\n          subnetId: ${exampleSubnet.id}\n          privateIpAddressAllocation: Dynamic\n  exampleUserAssignedIdentity:\n    type: azure:authorization:UserAssignedIdentity\n    name: example\n    properties:\n      name: example-uai\n      resourceGroupName: ${exampleResourceGroup.name}\n      location: ${exampleResourceGroup.location}\n  exampleLinuxVirtualMachine:\n    type: azure:compute:LinuxVirtualMachine\n    name: example\n    properties:\n      name: example-VM\n      resourceGroupName: ${exampleResourceGroup.name}\n      location: ${exampleResourceGroup.location}\n      size: Standard_B2s\n      adminUsername: adminuser\n      adminPassword: P@$$w0rd1234!\n      disablePasswordAuthentication: false\n      networkInterfaceIds:\n        - ${exampleNetworkInterface.id}\n      osDisk:\n        caching: ReadWrite\n        storageAccountType: Premium_LRS\n      sourceImageReference:\n        publisher: Canonical\n        offer: 0001-com-ubuntu-server-jammy\n        sku: 22_04-lts\n        version: latest\n      identity:\n        type: SystemAssigned, UserAssigned\n        identityIds:\n          - ${exampleUserAssignedIdentity.id}\n  exampleAssignment:\n    type: azure:authorization:Assignment\n    name: example\n    properties:\n      scope: ${exampleAccount.id}\n      roleDefinitionName: Storage Blob Data Contributor\n      principalId: ${exampleUserAssignedIdentity.principalId}\n  exampleAccount:\n    type: azure:storage:Account\n    name: example\n    properties:\n      name: exampleaccount\n      resourceGroupName: ${exampleResourceGroup.name}\n      location: ${exampleResourceGroup.location}\n      accountTier: Standard\n      accountReplicationType: LRS\n  exampleContainer:\n    type: azure:storage:Container\n    name: example\n    properties:\n      name: example-sc\n      storageAccountName: ${exampleAccount.name}\n      containerAccessType: blob\n  example1:\n    type: azure:storage:Blob\n    properties:\n      name: script1\n      storageAccountName: ${exampleAccount.name}\n      storageContainerName: ${exampleContainer.name}\n      type: Block\n      sourceContent: echo 'hello world'\n  example2:\n    type: azure:storage:Blob\n    properties:\n      name: output\n      storageAccountName: ${exampleAccount.name}\n      storageContainerName: ${exampleContainer.name}\n      type: Append\n  example3:\n    type: azure:storage:Blob\n    properties:\n      name: error\n      storageAccountName: ${exampleAccount.name}\n      storageContainerName: ${exampleContainer.name}\n      type: Append\n  # basic example\n  exampleRunCommand:\n    type: azure:compute:RunCommand\n    name: example\n    properties:\n      name: example-vmrc\n      location: ${exampleResourceGroup.location}\n      virtualMachineId: ${exampleLinuxVirtualMachine.id}\n      source:\n        script: echo 'hello world'\n  # authorize to storage blob using user assigned identity\n  example2RunCommand:\n    type: azure:compute:RunCommand\n    name: example2\n    properties:\n      location: ${exampleResourceGroup.location}\n      name: example2-vmrc\n      virtualMachineId: ${exampleLinuxVirtualMachine.id}\n      outputBlobUri: ${example2.id}\n      errorBlobUri: ${example3.id}\n      runAsPassword: P@$$w0rd1234!\n      runAsUser: adminuser\n      source:\n        scriptUri: ${example1.id}\n        scriptUriManagedIdentity:\n          clientId: ${exampleUserAssignedIdentity.clientId}\n      errorBlobManagedIdentity:\n        clientId: ${exampleUserAssignedIdentity.clientId}\n      outputBlobManagedIdentity:\n        clientId: ${exampleUserAssignedIdentity.clientId}\n      parameters:\n        - name: examplev1\n          value: val1\n      protectedParameters:\n        - name: examplev2\n          value: val2\n      tags:\n        environment: terraform-examples\n        some_key: some-value\n    options:\n      dependsOn:\n        - ${exampleAssignment}\n  # authorize to storage blob using SAS token\n  example3RunCommand:\n    type: azure:compute:RunCommand\n    name: example3\n    properties:\n      location: ${exampleResourceGroup.location}\n      name: example3-vmrc\n      virtualMachineId: ${exampleLinuxVirtualMachine.id}\n      runAsPassword: P@$$w0rd1234!\n      runAsUser: adminuser\n      errorBlobUri: ${example3.id}${example.sas}\n      outputBlobUri: ${example2.id}${example.sas}\n      source:\n        scriptUri: ${example1.id}${example.sas}\n      parameters:\n        - name: example-vm1\n          value: val1\n      tags:\n        environment: terraform-example-s\n        some_key: some-value\nvariables:\n  example:\n    fn::invoke:\n      function: azure:storage:getAccountSAS\n      arguments:\n        connectionString: ${exampleAccount.primaryConnectionString}\n        httpsOnly: true\n        signedVersion: 2019-10-10\n        start: 2023-04-01T00:00:00Z\n        expiry: 2024-04-01T00:00:00Z\n        resourceTypes:\n          service: false\n          container: false\n          object: true\n        services:\n          blob: true\n          queue: false\n          table: false\n          file: false\n        permissions:\n          read: true\n          write: true\n          delete: false\n          list: false\n          add: true\n          create: true\n          update: false\n          process: false\n          tag: false\n          filter: false\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Compute` - 2023-03-01\n\n## Import\n\nAn existing Virtual Machine Run Command can be imported into Pulumi using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:compute/runCommand:RunCommand example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Compute/virtualMachines/vm1/runCommands/rc1\n```\n\n","properties":{"errorBlobManagedIdentity":{"$ref":"#/types/azure:compute/RunCommandErrorBlobManagedIdentity:RunCommandErrorBlobManagedIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`errorBlobManagedIdentity`\" pulumi-lang-dotnet=\"`ErrorBlobManagedIdentity`\" pulumi-lang-go=\"`errorBlobManagedIdentity`\" pulumi-lang-python=\"`error_blob_managed_identity`\" pulumi-lang-yaml=\"`errorBlobManagedIdentity`\" pulumi-lang-java=\"`errorBlobManagedIdentity`\"\u003e`error_blob_managed_identity`\u003c/span\u003e block as defined below. User-assigned managed Identity that has access to errorBlobUri storage blob.\n","secret":true},"errorBlobUri":{"type":"string","description":"Specifies the Azure storage blob where script error stream will be uploaded.\n"},"instanceViews":{"type":"array","items":{"$ref":"#/types/azure:compute/RunCommandInstanceView:RunCommandInstanceView"}},"location":{"type":"string","description":"The Azure Region where the Virtual Machine Run Command should exist. Changing this forces a new Virtual Machine Run Command to be created.\n"},"name":{"type":"string","description":"Specifies the name of this Virtual Machine Run Command. Changing this forces a new Virtual Machine Run Command to be created.\n"},"outputBlobManagedIdentity":{"$ref":"#/types/azure:compute/RunCommandOutputBlobManagedIdentity:RunCommandOutputBlobManagedIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`outputBlobManagedIdentity`\" pulumi-lang-dotnet=\"`OutputBlobManagedIdentity`\" pulumi-lang-go=\"`outputBlobManagedIdentity`\" pulumi-lang-python=\"`output_blob_managed_identity`\" pulumi-lang-yaml=\"`outputBlobManagedIdentity`\" pulumi-lang-java=\"`outputBlobManagedIdentity`\"\u003e`output_blob_managed_identity`\u003c/span\u003e block as defined below. User-assigned managed Identity that has access to outputBlobUri storage blob.\n","secret":true},"outputBlobUri":{"type":"string","description":"Specifies the Azure storage blob where script output stream will be uploaded. It can be basic blob URI with SAS token.\n"},"parameters":{"type":"array","items":{"$ref":"#/types/azure:compute/RunCommandParameter:RunCommandParameter"},"description":"A list of \u003cspan pulumi-lang-nodejs=\"`parameter`\" pulumi-lang-dotnet=\"`Parameter`\" pulumi-lang-go=\"`parameter`\" pulumi-lang-python=\"`parameter`\" pulumi-lang-yaml=\"`parameter`\" pulumi-lang-java=\"`parameter`\"\u003e`parameter`\u003c/span\u003e blocks as defined below. The parameters used by the script.\n"},"protectedParameters":{"type":"array","items":{"$ref":"#/types/azure:compute/RunCommandProtectedParameter:RunCommandProtectedParameter"},"description":"A list of \u003cspan pulumi-lang-nodejs=\"`protectedParameter`\" pulumi-lang-dotnet=\"`ProtectedParameter`\" pulumi-lang-go=\"`protectedParameter`\" pulumi-lang-python=\"`protected_parameter`\" pulumi-lang-yaml=\"`protectedParameter`\" pulumi-lang-java=\"`protectedParameter`\"\u003e`protected_parameter`\u003c/span\u003e blocks as defined below. The protected parameters used by the script.\n","secret":true},"runAsPassword":{"type":"string","description":"Specifies the user account password on the VM when executing the Virtual Machine Run Command.\n","secret":true},"runAsUser":{"type":"string","description":"Specifies the user account on the VM when executing the Virtual Machine Run Command.\n"},"source":{"$ref":"#/types/azure:compute/RunCommandSource:RunCommandSource","description":"A \u003cspan pulumi-lang-nodejs=\"`source`\" pulumi-lang-dotnet=\"`Source`\" pulumi-lang-go=\"`source`\" pulumi-lang-python=\"`source`\" pulumi-lang-yaml=\"`source`\" pulumi-lang-java=\"`source`\"\u003e`source`\u003c/span\u003e block as defined below. The source of the run command script.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Virtual Machine Run Command.\n"},"virtualMachineId":{"type":"string","description":"Specifies the Virtual Machine ID within which this Virtual Machine Run Command should exist. Changing this forces a new Virtual Machine Run Command to be created.\n"}},"required":["instanceViews","location","name","source","virtualMachineId"],"inputProperties":{"errorBlobManagedIdentity":{"$ref":"#/types/azure:compute/RunCommandErrorBlobManagedIdentity:RunCommandErrorBlobManagedIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`errorBlobManagedIdentity`\" pulumi-lang-dotnet=\"`ErrorBlobManagedIdentity`\" pulumi-lang-go=\"`errorBlobManagedIdentity`\" pulumi-lang-python=\"`error_blob_managed_identity`\" pulumi-lang-yaml=\"`errorBlobManagedIdentity`\" pulumi-lang-java=\"`errorBlobManagedIdentity`\"\u003e`error_blob_managed_identity`\u003c/span\u003e block as defined below. User-assigned managed Identity that has access to errorBlobUri storage blob.\n","secret":true},"errorBlobUri":{"type":"string","description":"Specifies the Azure storage blob where script error stream will be uploaded.\n"},"location":{"type":"string","description":"The Azure Region where the Virtual Machine Run Command should exist. Changing this forces a new Virtual Machine Run Command to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of this Virtual Machine Run Command. Changing this forces a new Virtual Machine Run Command to be created.\n","willReplaceOnChanges":true},"outputBlobManagedIdentity":{"$ref":"#/types/azure:compute/RunCommandOutputBlobManagedIdentity:RunCommandOutputBlobManagedIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`outputBlobManagedIdentity`\" pulumi-lang-dotnet=\"`OutputBlobManagedIdentity`\" pulumi-lang-go=\"`outputBlobManagedIdentity`\" pulumi-lang-python=\"`output_blob_managed_identity`\" pulumi-lang-yaml=\"`outputBlobManagedIdentity`\" pulumi-lang-java=\"`outputBlobManagedIdentity`\"\u003e`output_blob_managed_identity`\u003c/span\u003e block as defined below. User-assigned managed Identity that has access to outputBlobUri storage blob.\n","secret":true},"outputBlobUri":{"type":"string","description":"Specifies the Azure storage blob where script output stream will be uploaded. It can be basic blob URI with SAS token.\n"},"parameters":{"type":"array","items":{"$ref":"#/types/azure:compute/RunCommandParameter:RunCommandParameter"},"description":"A list of \u003cspan pulumi-lang-nodejs=\"`parameter`\" pulumi-lang-dotnet=\"`Parameter`\" pulumi-lang-go=\"`parameter`\" pulumi-lang-python=\"`parameter`\" pulumi-lang-yaml=\"`parameter`\" pulumi-lang-java=\"`parameter`\"\u003e`parameter`\u003c/span\u003e blocks as defined below. The parameters used by the script.\n"},"protectedParameters":{"type":"array","items":{"$ref":"#/types/azure:compute/RunCommandProtectedParameter:RunCommandProtectedParameter"},"description":"A list of \u003cspan pulumi-lang-nodejs=\"`protectedParameter`\" pulumi-lang-dotnet=\"`ProtectedParameter`\" pulumi-lang-go=\"`protectedParameter`\" pulumi-lang-python=\"`protected_parameter`\" pulumi-lang-yaml=\"`protectedParameter`\" pulumi-lang-java=\"`protectedParameter`\"\u003e`protected_parameter`\u003c/span\u003e blocks as defined below. The protected parameters used by the script.\n","secret":true},"runAsPassword":{"type":"string","description":"Specifies the user account password on the VM when executing the Virtual Machine Run Command.\n","secret":true},"runAsUser":{"type":"string","description":"Specifies the user account on the VM when executing the Virtual Machine Run Command.\n"},"source":{"$ref":"#/types/azure:compute/RunCommandSource:RunCommandSource","description":"A \u003cspan pulumi-lang-nodejs=\"`source`\" pulumi-lang-dotnet=\"`Source`\" pulumi-lang-go=\"`source`\" pulumi-lang-python=\"`source`\" pulumi-lang-yaml=\"`source`\" pulumi-lang-java=\"`source`\"\u003e`source`\u003c/span\u003e block as defined below. The source of the run command script.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Virtual Machine Run Command.\n"},"virtualMachineId":{"type":"string","description":"Specifies the Virtual Machine ID within which this Virtual Machine Run Command should exist. Changing this forces a new Virtual Machine Run Command to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["source","virtualMachineId"],"stateInputs":{"description":"Input properties used for looking up and filtering RunCommand resources.\n","properties":{"errorBlobManagedIdentity":{"$ref":"#/types/azure:compute/RunCommandErrorBlobManagedIdentity:RunCommandErrorBlobManagedIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`errorBlobManagedIdentity`\" pulumi-lang-dotnet=\"`ErrorBlobManagedIdentity`\" pulumi-lang-go=\"`errorBlobManagedIdentity`\" pulumi-lang-python=\"`error_blob_managed_identity`\" pulumi-lang-yaml=\"`errorBlobManagedIdentity`\" pulumi-lang-java=\"`errorBlobManagedIdentity`\"\u003e`error_blob_managed_identity`\u003c/span\u003e block as defined below. User-assigned managed Identity that has access to errorBlobUri storage blob.\n","secret":true},"errorBlobUri":{"type":"string","description":"Specifies the Azure storage blob where script error stream will be uploaded.\n"},"instanceViews":{"type":"array","items":{"$ref":"#/types/azure:compute/RunCommandInstanceView:RunCommandInstanceView"}},"location":{"type":"string","description":"The Azure Region where the Virtual Machine Run Command should exist. Changing this forces a new Virtual Machine Run Command to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of this Virtual Machine Run Command. Changing this forces a new Virtual Machine Run Command to be created.\n","willReplaceOnChanges":true},"outputBlobManagedIdentity":{"$ref":"#/types/azure:compute/RunCommandOutputBlobManagedIdentity:RunCommandOutputBlobManagedIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`outputBlobManagedIdentity`\" pulumi-lang-dotnet=\"`OutputBlobManagedIdentity`\" pulumi-lang-go=\"`outputBlobManagedIdentity`\" pulumi-lang-python=\"`output_blob_managed_identity`\" pulumi-lang-yaml=\"`outputBlobManagedIdentity`\" pulumi-lang-java=\"`outputBlobManagedIdentity`\"\u003e`output_blob_managed_identity`\u003c/span\u003e block as defined below. User-assigned managed Identity that has access to outputBlobUri storage blob.\n","secret":true},"outputBlobUri":{"type":"string","description":"Specifies the Azure storage blob where script output stream will be uploaded. It can be basic blob URI with SAS token.\n"},"parameters":{"type":"array","items":{"$ref":"#/types/azure:compute/RunCommandParameter:RunCommandParameter"},"description":"A list of \u003cspan pulumi-lang-nodejs=\"`parameter`\" pulumi-lang-dotnet=\"`Parameter`\" pulumi-lang-go=\"`parameter`\" pulumi-lang-python=\"`parameter`\" pulumi-lang-yaml=\"`parameter`\" pulumi-lang-java=\"`parameter`\"\u003e`parameter`\u003c/span\u003e blocks as defined below. The parameters used by the script.\n"},"protectedParameters":{"type":"array","items":{"$ref":"#/types/azure:compute/RunCommandProtectedParameter:RunCommandProtectedParameter"},"description":"A list of \u003cspan pulumi-lang-nodejs=\"`protectedParameter`\" pulumi-lang-dotnet=\"`ProtectedParameter`\" pulumi-lang-go=\"`protectedParameter`\" pulumi-lang-python=\"`protected_parameter`\" pulumi-lang-yaml=\"`protectedParameter`\" pulumi-lang-java=\"`protectedParameter`\"\u003e`protected_parameter`\u003c/span\u003e blocks as defined below. The protected parameters used by the script.\n","secret":true},"runAsPassword":{"type":"string","description":"Specifies the user account password on the VM when executing the Virtual Machine Run Command.\n","secret":true},"runAsUser":{"type":"string","description":"Specifies the user account on the VM when executing the Virtual Machine Run Command.\n"},"source":{"$ref":"#/types/azure:compute/RunCommandSource:RunCommandSource","description":"A \u003cspan pulumi-lang-nodejs=\"`source`\" pulumi-lang-dotnet=\"`Source`\" pulumi-lang-go=\"`source`\" pulumi-lang-python=\"`source`\" pulumi-lang-yaml=\"`source`\" pulumi-lang-java=\"`source`\"\u003e`source`\u003c/span\u003e block as defined below. The source of the run command script.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Virtual Machine Run Command.\n"},"virtualMachineId":{"type":"string","description":"Specifies the Virtual Machine ID within which this Virtual Machine Run Command should exist. Changing this forces a new Virtual Machine Run Command to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:compute/scaleSet:ScaleSet":{"description":"Manages a virtual machine scale set.\n\n## Example Usage\n\n### With Managed Disks (Recommended)\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\nimport * as std from \"@pulumi/std\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"example\", {\n    name: \"acctvn\",\n    addressSpaces: [\"10.0.0.0/16\"],\n    location: example.location,\n    resourceGroupName: example.name,\n});\nconst exampleSubnet = new azure.network.Subnet(\"example\", {\n    name: \"acctsub\",\n    resourceGroupName: example.name,\n    virtualNetworkName: exampleVirtualNetwork.name,\n    addressPrefixes: [\"10.0.2.0/24\"],\n});\nconst examplePublicIp = new azure.network.PublicIp(\"example\", {\n    name: \"test\",\n    location: example.location,\n    resourceGroupName: example.name,\n    allocationMethod: \"Static\",\n    domainNameLabel: example.name,\n    tags: {\n        environment: \"staging\",\n    },\n});\nconst exampleLoadBalancer = new azure.lb.LoadBalancer(\"example\", {\n    name: \"test\",\n    location: example.location,\n    resourceGroupName: example.name,\n    frontendIpConfigurations: [{\n        name: \"PublicIPAddress\",\n        publicIpAddressId: examplePublicIp.id,\n    }],\n});\nconst bpepool = new azure.lb.BackendAddressPool(\"bpepool\", {\n    loadbalancerId: exampleLoadBalancer.id,\n    name: \"BackEndAddressPool\",\n});\nconst lbnatpool = new azure.lb.NatPool(\"lbnatpool\", {\n    resourceGroupName: example.name,\n    name: \"ssh\",\n    loadbalancerId: exampleLoadBalancer.id,\n    protocol: \"Tcp\",\n    frontendPortStart: 50000,\n    frontendPortEnd: 50119,\n    backendPort: 22,\n    frontendIpConfigurationName: \"PublicIPAddress\",\n});\nconst exampleProbe = new azure.lb.Probe(\"example\", {\n    loadbalancerId: exampleLoadBalancer.id,\n    name: \"http-probe\",\n    protocol: \"Http\",\n    requestPath: \"/health\",\n    port: 8080,\n});\nconst exampleScaleSet = new azure.compute.ScaleSet(\"example\", {\n    name: \"mytestscaleset-1\",\n    location: example.location,\n    resourceGroupName: example.name,\n    automaticOsUpgrade: true,\n    upgradePolicyMode: \"Rolling\",\n    rollingUpgradePolicy: {\n        maxBatchInstancePercent: 20,\n        maxUnhealthyInstancePercent: 20,\n        maxUnhealthyUpgradedInstancePercent: 5,\n        pauseTimeBetweenBatches: \"PT0S\",\n    },\n    healthProbeId: exampleProbe.id,\n    sku: {\n        name: \"Standard_F2\",\n        tier: \"Standard\",\n        capacity: 2,\n    },\n    storageProfileImageReference: {\n        publisher: \"Canonical\",\n        offer: \"0001-com-ubuntu-server-jammy\",\n        sku: \"22_04-lts\",\n        version: \"latest\",\n    },\n    storageProfileOsDisk: {\n        name: \"\",\n        caching: \"ReadWrite\",\n        createOption: \"FromImage\",\n        managedDiskType: \"Standard_LRS\",\n    },\n    storageProfileDataDisks: [{\n        lun: 0,\n        caching: \"ReadWrite\",\n        createOption: \"Empty\",\n        diskSizeGb: 10,\n    }],\n    osProfile: {\n        computerNamePrefix: \"testvm\",\n        adminUsername: \"myadmin\",\n    },\n    osProfileLinuxConfig: {\n        disablePasswordAuthentication: true,\n        sshKeys: [{\n            path: \"/home/myadmin/.ssh/authorized_keys\",\n            keyData: std.file({\n                input: \"~/.ssh/demo_key.pub\",\n            }).then(invoke =\u003e invoke.result),\n        }],\n    },\n    networkProfiles: [{\n        name: \"mynetworkprofile\",\n        primary: true,\n        ipConfigurations: [{\n            name: \"TestIPConfiguration\",\n            primary: true,\n            subnetId: exampleSubnet.id,\n            loadBalancerBackendAddressPoolIds: [bpepool.id],\n            loadBalancerInboundNatRulesIds: [lbnatpool.id],\n        }],\n    }],\n    tags: {\n        environment: \"staging\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\nimport pulumi_std as std\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_virtual_network = azure.network.VirtualNetwork(\"example\",\n    name=\"acctvn\",\n    address_spaces=[\"10.0.0.0/16\"],\n    location=example.location,\n    resource_group_name=example.name)\nexample_subnet = azure.network.Subnet(\"example\",\n    name=\"acctsub\",\n    resource_group_name=example.name,\n    virtual_network_name=example_virtual_network.name,\n    address_prefixes=[\"10.0.2.0/24\"])\nexample_public_ip = azure.network.PublicIp(\"example\",\n    name=\"test\",\n    location=example.location,\n    resource_group_name=example.name,\n    allocation_method=\"Static\",\n    domain_name_label=example.name,\n    tags={\n        \"environment\": \"staging\",\n    })\nexample_load_balancer = azure.lb.LoadBalancer(\"example\",\n    name=\"test\",\n    location=example.location,\n    resource_group_name=example.name,\n    frontend_ip_configurations=[{\n        \"name\": \"PublicIPAddress\",\n        \"public_ip_address_id\": example_public_ip.id,\n    }])\nbpepool = azure.lb.BackendAddressPool(\"bpepool\",\n    loadbalancer_id=example_load_balancer.id,\n    name=\"BackEndAddressPool\")\nlbnatpool = azure.lb.NatPool(\"lbnatpool\",\n    resource_group_name=example.name,\n    name=\"ssh\",\n    loadbalancer_id=example_load_balancer.id,\n    protocol=\"Tcp\",\n    frontend_port_start=50000,\n    frontend_port_end=50119,\n    backend_port=22,\n    frontend_ip_configuration_name=\"PublicIPAddress\")\nexample_probe = azure.lb.Probe(\"example\",\n    loadbalancer_id=example_load_balancer.id,\n    name=\"http-probe\",\n    protocol=\"Http\",\n    request_path=\"/health\",\n    port=8080)\nexample_scale_set = azure.compute.ScaleSet(\"example\",\n    name=\"mytestscaleset-1\",\n    location=example.location,\n    resource_group_name=example.name,\n    automatic_os_upgrade=True,\n    upgrade_policy_mode=\"Rolling\",\n    rolling_upgrade_policy={\n        \"max_batch_instance_percent\": 20,\n        \"max_unhealthy_instance_percent\": 20,\n        \"max_unhealthy_upgraded_instance_percent\": 5,\n        \"pause_time_between_batches\": \"PT0S\",\n    },\n    health_probe_id=example_probe.id,\n    sku={\n        \"name\": \"Standard_F2\",\n        \"tier\": \"Standard\",\n        \"capacity\": 2,\n    },\n    storage_profile_image_reference={\n        \"publisher\": \"Canonical\",\n        \"offer\": \"0001-com-ubuntu-server-jammy\",\n        \"sku\": \"22_04-lts\",\n        \"version\": \"latest\",\n    },\n    storage_profile_os_disk={\n        \"name\": \"\",\n        \"caching\": \"ReadWrite\",\n        \"create_option\": \"FromImage\",\n        \"managed_disk_type\": \"Standard_LRS\",\n    },\n    storage_profile_data_disks=[{\n        \"lun\": 0,\n        \"caching\": \"ReadWrite\",\n        \"create_option\": \"Empty\",\n        \"disk_size_gb\": 10,\n    }],\n    os_profile={\n        \"computer_name_prefix\": \"testvm\",\n        \"admin_username\": \"myadmin\",\n    },\n    os_profile_linux_config={\n        \"disable_password_authentication\": True,\n        \"ssh_keys\": [{\n            \"path\": \"/home/myadmin/.ssh/authorized_keys\",\n            \"key_data\": std.file(input=\"~/.ssh/demo_key.pub\").result,\n        }],\n    },\n    network_profiles=[{\n        \"name\": \"mynetworkprofile\",\n        \"primary\": True,\n        \"ip_configurations\": [{\n            \"name\": \"TestIPConfiguration\",\n            \"primary\": True,\n            \"subnet_id\": example_subnet.id,\n            \"load_balancer_backend_address_pool_ids\": [bpepool.id],\n            \"load_balancer_inbound_nat_rules_ids\": [lbnatpool.id],\n        }],\n    }],\n    tags={\n        \"environment\": \"staging\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleVirtualNetwork = new Azure.Network.VirtualNetwork(\"example\", new()\n    {\n        Name = \"acctvn\",\n        AddressSpaces = new[]\n        {\n            \"10.0.0.0/16\",\n        },\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n    });\n\n    var exampleSubnet = new Azure.Network.Subnet(\"example\", new()\n    {\n        Name = \"acctsub\",\n        ResourceGroupName = example.Name,\n        VirtualNetworkName = exampleVirtualNetwork.Name,\n        AddressPrefixes = new[]\n        {\n            \"10.0.2.0/24\",\n        },\n    });\n\n    var examplePublicIp = new Azure.Network.PublicIp(\"example\", new()\n    {\n        Name = \"test\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        AllocationMethod = \"Static\",\n        DomainNameLabel = example.Name,\n        Tags = \n        {\n            { \"environment\", \"staging\" },\n        },\n    });\n\n    var exampleLoadBalancer = new Azure.Lb.LoadBalancer(\"example\", new()\n    {\n        Name = \"test\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        FrontendIpConfigurations = new[]\n        {\n            new Azure.Lb.Inputs.LoadBalancerFrontendIpConfigurationArgs\n            {\n                Name = \"PublicIPAddress\",\n                PublicIpAddressId = examplePublicIp.Id,\n            },\n        },\n    });\n\n    var bpepool = new Azure.Lb.BackendAddressPool(\"bpepool\", new()\n    {\n        LoadbalancerId = exampleLoadBalancer.Id,\n        Name = \"BackEndAddressPool\",\n    });\n\n    var lbnatpool = new Azure.Lb.NatPool(\"lbnatpool\", new()\n    {\n        ResourceGroupName = example.Name,\n        Name = \"ssh\",\n        LoadbalancerId = exampleLoadBalancer.Id,\n        Protocol = \"Tcp\",\n        FrontendPortStart = 50000,\n        FrontendPortEnd = 50119,\n        BackendPort = 22,\n        FrontendIpConfigurationName = \"PublicIPAddress\",\n    });\n\n    var exampleProbe = new Azure.Lb.Probe(\"example\", new()\n    {\n        LoadbalancerId = exampleLoadBalancer.Id,\n        Name = \"http-probe\",\n        Protocol = \"Http\",\n        RequestPath = \"/health\",\n        Port = 8080,\n    });\n\n    var exampleScaleSet = new Azure.Compute.ScaleSet(\"example\", new()\n    {\n        Name = \"mytestscaleset-1\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        AutomaticOsUpgrade = true,\n        UpgradePolicyMode = \"Rolling\",\n        RollingUpgradePolicy = new Azure.Compute.Inputs.ScaleSetRollingUpgradePolicyArgs\n        {\n            MaxBatchInstancePercent = 20,\n            MaxUnhealthyInstancePercent = 20,\n            MaxUnhealthyUpgradedInstancePercent = 5,\n            PauseTimeBetweenBatches = \"PT0S\",\n        },\n        HealthProbeId = exampleProbe.Id,\n        Sku = new Azure.Compute.Inputs.ScaleSetSkuArgs\n        {\n            Name = \"Standard_F2\",\n            Tier = \"Standard\",\n            Capacity = 2,\n        },\n        StorageProfileImageReference = new Azure.Compute.Inputs.ScaleSetStorageProfileImageReferenceArgs\n        {\n            Publisher = \"Canonical\",\n            Offer = \"0001-com-ubuntu-server-jammy\",\n            Sku = \"22_04-lts\",\n            Version = \"latest\",\n        },\n        StorageProfileOsDisk = new Azure.Compute.Inputs.ScaleSetStorageProfileOsDiskArgs\n        {\n            Name = \"\",\n            Caching = \"ReadWrite\",\n            CreateOption = \"FromImage\",\n            ManagedDiskType = \"Standard_LRS\",\n        },\n        StorageProfileDataDisks = new[]\n        {\n            new Azure.Compute.Inputs.ScaleSetStorageProfileDataDiskArgs\n            {\n                Lun = 0,\n                Caching = \"ReadWrite\",\n                CreateOption = \"Empty\",\n                DiskSizeGb = 10,\n            },\n        },\n        OsProfile = new Azure.Compute.Inputs.ScaleSetOsProfileArgs\n        {\n            ComputerNamePrefix = \"testvm\",\n            AdminUsername = \"myadmin\",\n        },\n        OsProfileLinuxConfig = new Azure.Compute.Inputs.ScaleSetOsProfileLinuxConfigArgs\n        {\n            DisablePasswordAuthentication = true,\n            SshKeys = new[]\n            {\n                new Azure.Compute.Inputs.ScaleSetOsProfileLinuxConfigSshKeyArgs\n                {\n                    Path = \"/home/myadmin/.ssh/authorized_keys\",\n                    KeyData = Std.File.Invoke(new()\n                    {\n                        Input = \"~/.ssh/demo_key.pub\",\n                    }).Apply(invoke =\u003e invoke.Result),\n                },\n            },\n        },\n        NetworkProfiles = new[]\n        {\n            new Azure.Compute.Inputs.ScaleSetNetworkProfileArgs\n            {\n                Name = \"mynetworkprofile\",\n                Primary = true,\n                IpConfigurations = new[]\n                {\n                    new Azure.Compute.Inputs.ScaleSetNetworkProfileIpConfigurationArgs\n                    {\n                        Name = \"TestIPConfiguration\",\n                        Primary = true,\n                        SubnetId = exampleSubnet.Id,\n                        LoadBalancerBackendAddressPoolIds = new[]\n                        {\n                            bpepool.Id,\n                        },\n                        LoadBalancerInboundNatRulesIds = new[]\n                        {\n                            lbnatpool.Id,\n                        },\n                    },\n                },\n            },\n        },\n        Tags = \n        {\n            { \"environment\", \"staging\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/compute\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/lb\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, \"example\", \u0026network.VirtualNetworkArgs{\n\t\t\tName: pulumi.String(\"acctvn\"),\n\t\t\tAddressSpaces: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.0.0/16\"),\n\t\t\t},\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSubnet, err := network.NewSubnet(ctx, \"example\", \u0026network.SubnetArgs{\n\t\t\tName:               pulumi.String(\"acctsub\"),\n\t\t\tResourceGroupName:  example.Name,\n\t\t\tVirtualNetworkName: exampleVirtualNetwork.Name,\n\t\t\tAddressPrefixes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.2.0/24\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texamplePublicIp, err := network.NewPublicIp(ctx, \"example\", \u0026network.PublicIpArgs{\n\t\t\tName:              pulumi.String(\"test\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tAllocationMethod:  pulumi.String(\"Static\"),\n\t\t\tDomainNameLabel:   example.Name,\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"environment\": pulumi.String(\"staging\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleLoadBalancer, err := lb.NewLoadBalancer(ctx, \"example\", \u0026lb.LoadBalancerArgs{\n\t\t\tName:              pulumi.String(\"test\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tFrontendIpConfigurations: lb.LoadBalancerFrontendIpConfigurationArray{\n\t\t\t\t\u0026lb.LoadBalancerFrontendIpConfigurationArgs{\n\t\t\t\t\tName:              pulumi.String(\"PublicIPAddress\"),\n\t\t\t\t\tPublicIpAddressId: examplePublicIp.ID(),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tbpepool, err := lb.NewBackendAddressPool(ctx, \"bpepool\", \u0026lb.BackendAddressPoolArgs{\n\t\t\tLoadbalancerId: exampleLoadBalancer.ID(),\n\t\t\tName:           pulumi.String(\"BackEndAddressPool\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tlbnatpool, err := lb.NewNatPool(ctx, \"lbnatpool\", \u0026lb.NatPoolArgs{\n\t\t\tResourceGroupName:           example.Name,\n\t\t\tName:                        pulumi.String(\"ssh\"),\n\t\t\tLoadbalancerId:              exampleLoadBalancer.ID(),\n\t\t\tProtocol:                    pulumi.String(\"Tcp\"),\n\t\t\tFrontendPortStart:           pulumi.Int(50000),\n\t\t\tFrontendPortEnd:             pulumi.Int(50119),\n\t\t\tBackendPort:                 pulumi.Int(22),\n\t\t\tFrontendIpConfigurationName: pulumi.String(\"PublicIPAddress\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleProbe, err := lb.NewProbe(ctx, \"example\", \u0026lb.ProbeArgs{\n\t\t\tLoadbalancerId: exampleLoadBalancer.ID(),\n\t\t\tName:           pulumi.String(\"http-probe\"),\n\t\t\tProtocol:       pulumi.String(\"Http\"),\n\t\t\tRequestPath:    pulumi.String(\"/health\"),\n\t\t\tPort:           pulumi.Int(8080),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"~/.ssh/demo_key.pub\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = compute.NewScaleSet(ctx, \"example\", \u0026compute.ScaleSetArgs{\n\t\t\tName:               pulumi.String(\"mytestscaleset-1\"),\n\t\t\tLocation:           example.Location,\n\t\t\tResourceGroupName:  example.Name,\n\t\t\tAutomaticOsUpgrade: pulumi.Bool(true),\n\t\t\tUpgradePolicyMode:  pulumi.String(\"Rolling\"),\n\t\t\tRollingUpgradePolicy: \u0026compute.ScaleSetRollingUpgradePolicyArgs{\n\t\t\t\tMaxBatchInstancePercent:             pulumi.Int(20),\n\t\t\t\tMaxUnhealthyInstancePercent:         pulumi.Int(20),\n\t\t\t\tMaxUnhealthyUpgradedInstancePercent: pulumi.Int(5),\n\t\t\t\tPauseTimeBetweenBatches:             pulumi.String(\"PT0S\"),\n\t\t\t},\n\t\t\tHealthProbeId: exampleProbe.ID(),\n\t\t\tSku: \u0026compute.ScaleSetSkuArgs{\n\t\t\t\tName:     pulumi.String(\"Standard_F2\"),\n\t\t\t\tTier:     pulumi.String(\"Standard\"),\n\t\t\t\tCapacity: pulumi.Int(2),\n\t\t\t},\n\t\t\tStorageProfileImageReference: \u0026compute.ScaleSetStorageProfileImageReferenceArgs{\n\t\t\t\tPublisher: pulumi.String(\"Canonical\"),\n\t\t\t\tOffer:     pulumi.String(\"0001-com-ubuntu-server-jammy\"),\n\t\t\t\tSku:       pulumi.String(\"22_04-lts\"),\n\t\t\t\tVersion:   pulumi.String(\"latest\"),\n\t\t\t},\n\t\t\tStorageProfileOsDisk: \u0026compute.ScaleSetStorageProfileOsDiskArgs{\n\t\t\t\tName:            pulumi.String(\"\"),\n\t\t\t\tCaching:         pulumi.String(\"ReadWrite\"),\n\t\t\t\tCreateOption:    pulumi.String(\"FromImage\"),\n\t\t\t\tManagedDiskType: pulumi.String(\"Standard_LRS\"),\n\t\t\t},\n\t\t\tStorageProfileDataDisks: compute.ScaleSetStorageProfileDataDiskArray{\n\t\t\t\t\u0026compute.ScaleSetStorageProfileDataDiskArgs{\n\t\t\t\t\tLun:          pulumi.Int(0),\n\t\t\t\t\tCaching:      pulumi.String(\"ReadWrite\"),\n\t\t\t\t\tCreateOption: pulumi.String(\"Empty\"),\n\t\t\t\t\tDiskSizeGb:   pulumi.Int(10),\n\t\t\t\t},\n\t\t\t},\n\t\t\tOsProfile: \u0026compute.ScaleSetOsProfileArgs{\n\t\t\t\tComputerNamePrefix: pulumi.String(\"testvm\"),\n\t\t\t\tAdminUsername:      pulumi.String(\"myadmin\"),\n\t\t\t},\n\t\t\tOsProfileLinuxConfig: \u0026compute.ScaleSetOsProfileLinuxConfigArgs{\n\t\t\t\tDisablePasswordAuthentication: pulumi.Bool(true),\n\t\t\t\tSshKeys: compute.ScaleSetOsProfileLinuxConfigSshKeyArray{\n\t\t\t\t\t\u0026compute.ScaleSetOsProfileLinuxConfigSshKeyArgs{\n\t\t\t\t\t\tPath:    pulumi.String(\"/home/myadmin/.ssh/authorized_keys\"),\n\t\t\t\t\t\tKeyData: pulumi.String(invokeFile.Result),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tNetworkProfiles: compute.ScaleSetNetworkProfileArray{\n\t\t\t\t\u0026compute.ScaleSetNetworkProfileArgs{\n\t\t\t\t\tName:    pulumi.String(\"mynetworkprofile\"),\n\t\t\t\t\tPrimary: pulumi.Bool(true),\n\t\t\t\t\tIpConfigurations: compute.ScaleSetNetworkProfileIpConfigurationArray{\n\t\t\t\t\t\t\u0026compute.ScaleSetNetworkProfileIpConfigurationArgs{\n\t\t\t\t\t\t\tName:     pulumi.String(\"TestIPConfiguration\"),\n\t\t\t\t\t\t\tPrimary:  pulumi.Bool(true),\n\t\t\t\t\t\t\tSubnetId: exampleSubnet.ID(),\n\t\t\t\t\t\t\tLoadBalancerBackendAddressPoolIds: pulumi.StringArray{\n\t\t\t\t\t\t\t\tbpepool.ID(),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tLoadBalancerInboundNatRulesIds: pulumi.StringArray{\n\t\t\t\t\t\t\t\tlbnatpool.ID(),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"environment\": pulumi.String(\"staging\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.VirtualNetwork;\nimport com.pulumi.azure.network.VirtualNetworkArgs;\nimport com.pulumi.azure.network.Subnet;\nimport com.pulumi.azure.network.SubnetArgs;\nimport com.pulumi.azure.network.PublicIp;\nimport com.pulumi.azure.network.PublicIpArgs;\nimport com.pulumi.azure.lb.LoadBalancer;\nimport com.pulumi.azure.lb.LoadBalancerArgs;\nimport com.pulumi.azure.lb.inputs.LoadBalancerFrontendIpConfigurationArgs;\nimport com.pulumi.azure.lb.BackendAddressPool;\nimport com.pulumi.azure.lb.BackendAddressPoolArgs;\nimport com.pulumi.azure.lb.NatPool;\nimport com.pulumi.azure.lb.NatPoolArgs;\nimport com.pulumi.azure.lb.Probe;\nimport com.pulumi.azure.lb.ProbeArgs;\nimport com.pulumi.azure.compute.ScaleSet;\nimport com.pulumi.azure.compute.ScaleSetArgs;\nimport com.pulumi.azure.compute.inputs.ScaleSetRollingUpgradePolicyArgs;\nimport com.pulumi.azure.compute.inputs.ScaleSetSkuArgs;\nimport com.pulumi.azure.compute.inputs.ScaleSetStorageProfileImageReferenceArgs;\nimport com.pulumi.azure.compute.inputs.ScaleSetStorageProfileOsDiskArgs;\nimport com.pulumi.azure.compute.inputs.ScaleSetStorageProfileDataDiskArgs;\nimport com.pulumi.azure.compute.inputs.ScaleSetOsProfileArgs;\nimport com.pulumi.azure.compute.inputs.ScaleSetOsProfileLinuxConfigArgs;\nimport com.pulumi.azure.compute.inputs.ScaleSetNetworkProfileArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.FileArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleVirtualNetwork = new VirtualNetwork(\"exampleVirtualNetwork\", VirtualNetworkArgs.builder()\n            .name(\"acctvn\")\n            .addressSpaces(\"10.0.0.0/16\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .build());\n\n        var exampleSubnet = new Subnet(\"exampleSubnet\", SubnetArgs.builder()\n            .name(\"acctsub\")\n            .resourceGroupName(example.name())\n            .virtualNetworkName(exampleVirtualNetwork.name())\n            .addressPrefixes(\"10.0.2.0/24\")\n            .build());\n\n        var examplePublicIp = new PublicIp(\"examplePublicIp\", PublicIpArgs.builder()\n            .name(\"test\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .allocationMethod(\"Static\")\n            .domainNameLabel(example.name())\n            .tags(Map.of(\"environment\", \"staging\"))\n            .build());\n\n        var exampleLoadBalancer = new LoadBalancer(\"exampleLoadBalancer\", LoadBalancerArgs.builder()\n            .name(\"test\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .frontendIpConfigurations(LoadBalancerFrontendIpConfigurationArgs.builder()\n                .name(\"PublicIPAddress\")\n                .publicIpAddressId(examplePublicIp.id())\n                .build())\n            .build());\n\n        var bpepool = new BackendAddressPool(\"bpepool\", BackendAddressPoolArgs.builder()\n            .loadbalancerId(exampleLoadBalancer.id())\n            .name(\"BackEndAddressPool\")\n            .build());\n\n        var lbnatpool = new NatPool(\"lbnatpool\", NatPoolArgs.builder()\n            .resourceGroupName(example.name())\n            .name(\"ssh\")\n            .loadbalancerId(exampleLoadBalancer.id())\n            .protocol(\"Tcp\")\n            .frontendPortStart(50000)\n            .frontendPortEnd(50119)\n            .backendPort(22)\n            .frontendIpConfigurationName(\"PublicIPAddress\")\n            .build());\n\n        var exampleProbe = new Probe(\"exampleProbe\", ProbeArgs.builder()\n            .loadbalancerId(exampleLoadBalancer.id())\n            .name(\"http-probe\")\n            .protocol(\"Http\")\n            .requestPath(\"/health\")\n            .port(8080)\n            .build());\n\n        var exampleScaleSet = new ScaleSet(\"exampleScaleSet\", ScaleSetArgs.builder()\n            .name(\"mytestscaleset-1\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .automaticOsUpgrade(true)\n            .upgradePolicyMode(\"Rolling\")\n            .rollingUpgradePolicy(ScaleSetRollingUpgradePolicyArgs.builder()\n                .maxBatchInstancePercent(20)\n                .maxUnhealthyInstancePercent(20)\n                .maxUnhealthyUpgradedInstancePercent(5)\n                .pauseTimeBetweenBatches(\"PT0S\")\n                .build())\n            .healthProbeId(exampleProbe.id())\n            .sku(ScaleSetSkuArgs.builder()\n                .name(\"Standard_F2\")\n                .tier(\"Standard\")\n                .capacity(2)\n                .build())\n            .storageProfileImageReference(ScaleSetStorageProfileImageReferenceArgs.builder()\n                .publisher(\"Canonical\")\n                .offer(\"0001-com-ubuntu-server-jammy\")\n                .sku(\"22_04-lts\")\n                .version(\"latest\")\n                .build())\n            .storageProfileOsDisk(ScaleSetStorageProfileOsDiskArgs.builder()\n                .name(\"\")\n                .caching(\"ReadWrite\")\n                .createOption(\"FromImage\")\n                .managedDiskType(\"Standard_LRS\")\n                .build())\n            .storageProfileDataDisks(ScaleSetStorageProfileDataDiskArgs.builder()\n                .lun(0)\n                .caching(\"ReadWrite\")\n                .createOption(\"Empty\")\n                .diskSizeGb(10)\n                .build())\n            .osProfile(ScaleSetOsProfileArgs.builder()\n                .computerNamePrefix(\"testvm\")\n                .adminUsername(\"myadmin\")\n                .build())\n            .osProfileLinuxConfig(ScaleSetOsProfileLinuxConfigArgs.builder()\n                .disablePasswordAuthentication(true)\n                .sshKeys(ScaleSetOsProfileLinuxConfigSshKeyArgs.builder()\n                    .path(\"/home/myadmin/.ssh/authorized_keys\")\n                    .keyData(StdFunctions.file(FileArgs.builder()\n                        .input(\"~/.ssh/demo_key.pub\")\n                        .build()).result())\n                    .build())\n                .build())\n            .networkProfiles(ScaleSetNetworkProfileArgs.builder()\n                .name(\"mynetworkprofile\")\n                .primary(true)\n                .ipConfigurations(ScaleSetNetworkProfileIpConfigurationArgs.builder()\n                    .name(\"TestIPConfiguration\")\n                    .primary(true)\n                    .subnetId(exampleSubnet.id())\n                    .loadBalancerBackendAddressPoolIds(bpepool.id())\n                    .loadBalancerInboundNatRulesIds(lbnatpool.id())\n                    .build())\n                .build())\n            .tags(Map.of(\"environment\", \"staging\"))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleVirtualNetwork:\n    type: azure:network:VirtualNetwork\n    name: example\n    properties:\n      name: acctvn\n      addressSpaces:\n        - 10.0.0.0/16\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n  exampleSubnet:\n    type: azure:network:Subnet\n    name: example\n    properties:\n      name: acctsub\n      resourceGroupName: ${example.name}\n      virtualNetworkName: ${exampleVirtualNetwork.name}\n      addressPrefixes:\n        - 10.0.2.0/24\n  examplePublicIp:\n    type: azure:network:PublicIp\n    name: example\n    properties:\n      name: test\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      allocationMethod: Static\n      domainNameLabel: ${example.name}\n      tags:\n        environment: staging\n  exampleLoadBalancer:\n    type: azure:lb:LoadBalancer\n    name: example\n    properties:\n      name: test\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      frontendIpConfigurations:\n        - name: PublicIPAddress\n          publicIpAddressId: ${examplePublicIp.id}\n  bpepool:\n    type: azure:lb:BackendAddressPool\n    properties:\n      loadbalancerId: ${exampleLoadBalancer.id}\n      name: BackEndAddressPool\n  lbnatpool:\n    type: azure:lb:NatPool\n    properties:\n      resourceGroupName: ${example.name}\n      name: ssh\n      loadbalancerId: ${exampleLoadBalancer.id}\n      protocol: Tcp\n      frontendPortStart: 50000\n      frontendPortEnd: 50119\n      backendPort: 22\n      frontendIpConfigurationName: PublicIPAddress\n  exampleProbe:\n    type: azure:lb:Probe\n    name: example\n    properties:\n      loadbalancerId: ${exampleLoadBalancer.id}\n      name: http-probe\n      protocol: Http\n      requestPath: /health\n      port: 8080\n  exampleScaleSet:\n    type: azure:compute:ScaleSet\n    name: example\n    properties:\n      name: mytestscaleset-1\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      automaticOsUpgrade: true\n      upgradePolicyMode: Rolling\n      rollingUpgradePolicy:\n        maxBatchInstancePercent: 20\n        maxUnhealthyInstancePercent: 20\n        maxUnhealthyUpgradedInstancePercent: 5\n        pauseTimeBetweenBatches: PT0S\n      healthProbeId: ${exampleProbe.id}\n      sku:\n        name: Standard_F2\n        tier: Standard\n        capacity: 2\n      storageProfileImageReference:\n        publisher: Canonical\n        offer: 0001-com-ubuntu-server-jammy\n        sku: 22_04-lts\n        version: latest\n      storageProfileOsDisk:\n        name: \"\"\n        caching: ReadWrite\n        createOption: FromImage\n        managedDiskType: Standard_LRS\n      storageProfileDataDisks:\n        - lun: 0\n          caching: ReadWrite\n          createOption: Empty\n          diskSizeGb: 10\n      osProfile:\n        computerNamePrefix: testvm\n        adminUsername: myadmin\n      osProfileLinuxConfig:\n        disablePasswordAuthentication: true\n        sshKeys:\n          - path: /home/myadmin/.ssh/authorized_keys\n            keyData:\n              fn::invoke:\n                function: std:file\n                arguments:\n                  input: ~/.ssh/demo_key.pub\n                return: result\n      networkProfiles:\n        - name: mynetworkprofile\n          primary: true\n          ipConfigurations:\n            - name: TestIPConfiguration\n              primary: true\n              subnetId: ${exampleSubnet.id}\n              loadBalancerBackendAddressPoolIds:\n                - ${bpepool.id}\n              loadBalancerInboundNatRulesIds:\n                - ${lbnatpool.id}\n      tags:\n        environment: staging\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\n### With Unmanaged Disks\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\nimport * as std from \"@pulumi/std\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"example\", {\n    name: \"acctvn\",\n    addressSpaces: [\"10.0.0.0/16\"],\n    location: example.location,\n    resourceGroupName: example.name,\n});\nconst exampleSubnet = new azure.network.Subnet(\"example\", {\n    name: \"acctsub\",\n    resourceGroupName: example.name,\n    virtualNetworkName: exampleVirtualNetwork.name,\n    addressPrefixes: [\"10.0.2.0/24\"],\n});\nconst exampleAccount = new azure.storage.Account(\"example\", {\n    name: \"accsa\",\n    resourceGroupName: example.name,\n    location: example.location,\n    accountTier: \"Standard\",\n    accountReplicationType: \"LRS\",\n    tags: {\n        environment: \"staging\",\n    },\n});\nconst exampleContainer = new azure.storage.Container(\"example\", {\n    name: \"vhds\",\n    storageAccountName: exampleAccount.name,\n    containerAccessType: \"private\",\n});\nconst exampleScaleSet = new azure.compute.ScaleSet(\"example\", {\n    name: \"mytestscaleset-1\",\n    location: example.location,\n    resourceGroupName: example.name,\n    upgradePolicyMode: \"Manual\",\n    sku: {\n        name: \"Standard_F2\",\n        tier: \"Standard\",\n        capacity: 2,\n    },\n    osProfile: {\n        computerNamePrefix: \"testvm\",\n        adminUsername: \"myadmin\",\n    },\n    osProfileLinuxConfig: {\n        disablePasswordAuthentication: true,\n        sshKeys: [{\n            path: \"/home/myadmin/.ssh/authorized_keys\",\n            keyData: std.file({\n                input: \"~/.ssh/demo_key.pub\",\n            }).then(invoke =\u003e invoke.result),\n        }],\n    },\n    networkProfiles: [{\n        name: \"TestNetworkProfile\",\n        primary: true,\n        ipConfigurations: [{\n            name: \"TestIPConfiguration\",\n            primary: true,\n            subnetId: exampleSubnet.id,\n        }],\n    }],\n    storageProfileOsDisk: {\n        name: \"osDiskProfile\",\n        caching: \"ReadWrite\",\n        createOption: \"FromImage\",\n        vhdContainers: [pulumi.interpolate`${exampleAccount.primaryBlobEndpoint}${exampleContainer.name}`],\n    },\n    storageProfileImageReference: {\n        publisher: \"Canonical\",\n        offer: \"0001-com-ubuntu-server-jammy\",\n        sku: \"22_04-lts\",\n        version: \"latest\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\nimport pulumi_std as std\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_virtual_network = azure.network.VirtualNetwork(\"example\",\n    name=\"acctvn\",\n    address_spaces=[\"10.0.0.0/16\"],\n    location=example.location,\n    resource_group_name=example.name)\nexample_subnet = azure.network.Subnet(\"example\",\n    name=\"acctsub\",\n    resource_group_name=example.name,\n    virtual_network_name=example_virtual_network.name,\n    address_prefixes=[\"10.0.2.0/24\"])\nexample_account = azure.storage.Account(\"example\",\n    name=\"accsa\",\n    resource_group_name=example.name,\n    location=example.location,\n    account_tier=\"Standard\",\n    account_replication_type=\"LRS\",\n    tags={\n        \"environment\": \"staging\",\n    })\nexample_container = azure.storage.Container(\"example\",\n    name=\"vhds\",\n    storage_account_name=example_account.name,\n    container_access_type=\"private\")\nexample_scale_set = azure.compute.ScaleSet(\"example\",\n    name=\"mytestscaleset-1\",\n    location=example.location,\n    resource_group_name=example.name,\n    upgrade_policy_mode=\"Manual\",\n    sku={\n        \"name\": \"Standard_F2\",\n        \"tier\": \"Standard\",\n        \"capacity\": 2,\n    },\n    os_profile={\n        \"computer_name_prefix\": \"testvm\",\n        \"admin_username\": \"myadmin\",\n    },\n    os_profile_linux_config={\n        \"disable_password_authentication\": True,\n        \"ssh_keys\": [{\n            \"path\": \"/home/myadmin/.ssh/authorized_keys\",\n            \"key_data\": std.file(input=\"~/.ssh/demo_key.pub\").result,\n        }],\n    },\n    network_profiles=[{\n        \"name\": \"TestNetworkProfile\",\n        \"primary\": True,\n        \"ip_configurations\": [{\n            \"name\": \"TestIPConfiguration\",\n            \"primary\": True,\n            \"subnet_id\": example_subnet.id,\n        }],\n    }],\n    storage_profile_os_disk={\n        \"name\": \"osDiskProfile\",\n        \"caching\": \"ReadWrite\",\n        \"create_option\": \"FromImage\",\n        \"vhd_containers\": [pulumi.Output.all(\n            primary_blob_endpoint=example_account.primary_blob_endpoint,\n            name=example_container.name\n).apply(lambda resolved_outputs: f\"{resolved_outputs['primary_blob_endpoint']}{resolved_outputs['name']}\")\n],\n    },\n    storage_profile_image_reference={\n        \"publisher\": \"Canonical\",\n        \"offer\": \"0001-com-ubuntu-server-jammy\",\n        \"sku\": \"22_04-lts\",\n        \"version\": \"latest\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleVirtualNetwork = new Azure.Network.VirtualNetwork(\"example\", new()\n    {\n        Name = \"acctvn\",\n        AddressSpaces = new[]\n        {\n            \"10.0.0.0/16\",\n        },\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n    });\n\n    var exampleSubnet = new Azure.Network.Subnet(\"example\", new()\n    {\n        Name = \"acctsub\",\n        ResourceGroupName = example.Name,\n        VirtualNetworkName = exampleVirtualNetwork.Name,\n        AddressPrefixes = new[]\n        {\n            \"10.0.2.0/24\",\n        },\n    });\n\n    var exampleAccount = new Azure.Storage.Account(\"example\", new()\n    {\n        Name = \"accsa\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        AccountTier = \"Standard\",\n        AccountReplicationType = \"LRS\",\n        Tags = \n        {\n            { \"environment\", \"staging\" },\n        },\n    });\n\n    var exampleContainer = new Azure.Storage.Container(\"example\", new()\n    {\n        Name = \"vhds\",\n        StorageAccountName = exampleAccount.Name,\n        ContainerAccessType = \"private\",\n    });\n\n    var exampleScaleSet = new Azure.Compute.ScaleSet(\"example\", new()\n    {\n        Name = \"mytestscaleset-1\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        UpgradePolicyMode = \"Manual\",\n        Sku = new Azure.Compute.Inputs.ScaleSetSkuArgs\n        {\n            Name = \"Standard_F2\",\n            Tier = \"Standard\",\n            Capacity = 2,\n        },\n        OsProfile = new Azure.Compute.Inputs.ScaleSetOsProfileArgs\n        {\n            ComputerNamePrefix = \"testvm\",\n            AdminUsername = \"myadmin\",\n        },\n        OsProfileLinuxConfig = new Azure.Compute.Inputs.ScaleSetOsProfileLinuxConfigArgs\n        {\n            DisablePasswordAuthentication = true,\n            SshKeys = new[]\n            {\n                new Azure.Compute.Inputs.ScaleSetOsProfileLinuxConfigSshKeyArgs\n                {\n                    Path = \"/home/myadmin/.ssh/authorized_keys\",\n                    KeyData = Std.File.Invoke(new()\n                    {\n                        Input = \"~/.ssh/demo_key.pub\",\n                    }).Apply(invoke =\u003e invoke.Result),\n                },\n            },\n        },\n        NetworkProfiles = new[]\n        {\n            new Azure.Compute.Inputs.ScaleSetNetworkProfileArgs\n            {\n                Name = \"TestNetworkProfile\",\n                Primary = true,\n                IpConfigurations = new[]\n                {\n                    new Azure.Compute.Inputs.ScaleSetNetworkProfileIpConfigurationArgs\n                    {\n                        Name = \"TestIPConfiguration\",\n                        Primary = true,\n                        SubnetId = exampleSubnet.Id,\n                    },\n                },\n            },\n        },\n        StorageProfileOsDisk = new Azure.Compute.Inputs.ScaleSetStorageProfileOsDiskArgs\n        {\n            Name = \"osDiskProfile\",\n            Caching = \"ReadWrite\",\n            CreateOption = \"FromImage\",\n            VhdContainers = new[]\n            {\n                Output.Tuple(exampleAccount.PrimaryBlobEndpoint, exampleContainer.Name).Apply(values =\u003e\n                {\n                    var primaryBlobEndpoint = values.Item1;\n                    var name = values.Item2;\n                    return $\"{primaryBlobEndpoint}{name}\";\n                }),\n            },\n        },\n        StorageProfileImageReference = new Azure.Compute.Inputs.ScaleSetStorageProfileImageReferenceArgs\n        {\n            Publisher = \"Canonical\",\n            Offer = \"0001-com-ubuntu-server-jammy\",\n            Sku = \"22_04-lts\",\n            Version = \"latest\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/compute\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, \"example\", \u0026network.VirtualNetworkArgs{\n\t\t\tName: pulumi.String(\"acctvn\"),\n\t\t\tAddressSpaces: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.0.0/16\"),\n\t\t\t},\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSubnet, err := network.NewSubnet(ctx, \"example\", \u0026network.SubnetArgs{\n\t\t\tName:               pulumi.String(\"acctsub\"),\n\t\t\tResourceGroupName:  example.Name,\n\t\t\tVirtualNetworkName: exampleVirtualNetwork.Name,\n\t\t\tAddressPrefixes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.2.0/24\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := storage.NewAccount(ctx, \"example\", \u0026storage.AccountArgs{\n\t\t\tName:                   pulumi.String(\"accsa\"),\n\t\t\tResourceGroupName:      example.Name,\n\t\t\tLocation:               example.Location,\n\t\t\tAccountTier:            pulumi.String(\"Standard\"),\n\t\t\tAccountReplicationType: pulumi.String(\"LRS\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"environment\": pulumi.String(\"staging\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleContainer, err := storage.NewContainer(ctx, \"example\", \u0026storage.ContainerArgs{\n\t\t\tName:                pulumi.String(\"vhds\"),\n\t\t\tStorageAccountName:  exampleAccount.Name,\n\t\t\tContainerAccessType: pulumi.String(\"private\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"~/.ssh/demo_key.pub\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = compute.NewScaleSet(ctx, \"example\", \u0026compute.ScaleSetArgs{\n\t\t\tName:              pulumi.String(\"mytestscaleset-1\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tUpgradePolicyMode: pulumi.String(\"Manual\"),\n\t\t\tSku: \u0026compute.ScaleSetSkuArgs{\n\t\t\t\tName:     pulumi.String(\"Standard_F2\"),\n\t\t\t\tTier:     pulumi.String(\"Standard\"),\n\t\t\t\tCapacity: pulumi.Int(2),\n\t\t\t},\n\t\t\tOsProfile: \u0026compute.ScaleSetOsProfileArgs{\n\t\t\t\tComputerNamePrefix: pulumi.String(\"testvm\"),\n\t\t\t\tAdminUsername:      pulumi.String(\"myadmin\"),\n\t\t\t},\n\t\t\tOsProfileLinuxConfig: \u0026compute.ScaleSetOsProfileLinuxConfigArgs{\n\t\t\t\tDisablePasswordAuthentication: pulumi.Bool(true),\n\t\t\t\tSshKeys: compute.ScaleSetOsProfileLinuxConfigSshKeyArray{\n\t\t\t\t\t\u0026compute.ScaleSetOsProfileLinuxConfigSshKeyArgs{\n\t\t\t\t\t\tPath:    pulumi.String(\"/home/myadmin/.ssh/authorized_keys\"),\n\t\t\t\t\t\tKeyData: pulumi.String(invokeFile.Result),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tNetworkProfiles: compute.ScaleSetNetworkProfileArray{\n\t\t\t\t\u0026compute.ScaleSetNetworkProfileArgs{\n\t\t\t\t\tName:    pulumi.String(\"TestNetworkProfile\"),\n\t\t\t\t\tPrimary: pulumi.Bool(true),\n\t\t\t\t\tIpConfigurations: compute.ScaleSetNetworkProfileIpConfigurationArray{\n\t\t\t\t\t\t\u0026compute.ScaleSetNetworkProfileIpConfigurationArgs{\n\t\t\t\t\t\t\tName:     pulumi.String(\"TestIPConfiguration\"),\n\t\t\t\t\t\t\tPrimary:  pulumi.Bool(true),\n\t\t\t\t\t\t\tSubnetId: exampleSubnet.ID(),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tStorageProfileOsDisk: \u0026compute.ScaleSetStorageProfileOsDiskArgs{\n\t\t\t\tName:         pulumi.String(\"osDiskProfile\"),\n\t\t\t\tCaching:      pulumi.String(\"ReadWrite\"),\n\t\t\t\tCreateOption: pulumi.String(\"FromImage\"),\n\t\t\t\tVhdContainers: pulumi.StringArray{\n\t\t\t\t\tpulumi.All(exampleAccount.PrimaryBlobEndpoint, exampleContainer.Name).ApplyT(func(_args []interface{}) (string, error) {\n\t\t\t\t\t\tprimaryBlobEndpoint := _args[0].(string)\n\t\t\t\t\t\tname := _args[1].(string)\n\t\t\t\t\t\treturn fmt.Sprintf(\"%v%v\", primaryBlobEndpoint, name), nil\n\t\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\t},\n\t\t\t},\n\t\t\tStorageProfileImageReference: \u0026compute.ScaleSetStorageProfileImageReferenceArgs{\n\t\t\t\tPublisher: pulumi.String(\"Canonical\"),\n\t\t\t\tOffer:     pulumi.String(\"0001-com-ubuntu-server-jammy\"),\n\t\t\t\tSku:       pulumi.String(\"22_04-lts\"),\n\t\t\t\tVersion:   pulumi.String(\"latest\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.VirtualNetwork;\nimport com.pulumi.azure.network.VirtualNetworkArgs;\nimport com.pulumi.azure.network.Subnet;\nimport com.pulumi.azure.network.SubnetArgs;\nimport com.pulumi.azure.storage.Account;\nimport com.pulumi.azure.storage.AccountArgs;\nimport com.pulumi.azure.storage.Container;\nimport com.pulumi.azure.storage.ContainerArgs;\nimport com.pulumi.azure.compute.ScaleSet;\nimport com.pulumi.azure.compute.ScaleSetArgs;\nimport com.pulumi.azure.compute.inputs.ScaleSetSkuArgs;\nimport com.pulumi.azure.compute.inputs.ScaleSetOsProfileArgs;\nimport com.pulumi.azure.compute.inputs.ScaleSetOsProfileLinuxConfigArgs;\nimport com.pulumi.azure.compute.inputs.ScaleSetNetworkProfileArgs;\nimport com.pulumi.azure.compute.inputs.ScaleSetStorageProfileOsDiskArgs;\nimport com.pulumi.azure.compute.inputs.ScaleSetStorageProfileImageReferenceArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.FileArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleVirtualNetwork = new VirtualNetwork(\"exampleVirtualNetwork\", VirtualNetworkArgs.builder()\n            .name(\"acctvn\")\n            .addressSpaces(\"10.0.0.0/16\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .build());\n\n        var exampleSubnet = new Subnet(\"exampleSubnet\", SubnetArgs.builder()\n            .name(\"acctsub\")\n            .resourceGroupName(example.name())\n            .virtualNetworkName(exampleVirtualNetwork.name())\n            .addressPrefixes(\"10.0.2.0/24\")\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"accsa\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .accountTier(\"Standard\")\n            .accountReplicationType(\"LRS\")\n            .tags(Map.of(\"environment\", \"staging\"))\n            .build());\n\n        var exampleContainer = new Container(\"exampleContainer\", ContainerArgs.builder()\n            .name(\"vhds\")\n            .storageAccountName(exampleAccount.name())\n            .containerAccessType(\"private\")\n            .build());\n\n        var exampleScaleSet = new ScaleSet(\"exampleScaleSet\", ScaleSetArgs.builder()\n            .name(\"mytestscaleset-1\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .upgradePolicyMode(\"Manual\")\n            .sku(ScaleSetSkuArgs.builder()\n                .name(\"Standard_F2\")\n                .tier(\"Standard\")\n                .capacity(2)\n                .build())\n            .osProfile(ScaleSetOsProfileArgs.builder()\n                .computerNamePrefix(\"testvm\")\n                .adminUsername(\"myadmin\")\n                .build())\n            .osProfileLinuxConfig(ScaleSetOsProfileLinuxConfigArgs.builder()\n                .disablePasswordAuthentication(true)\n                .sshKeys(ScaleSetOsProfileLinuxConfigSshKeyArgs.builder()\n                    .path(\"/home/myadmin/.ssh/authorized_keys\")\n                    .keyData(StdFunctions.file(FileArgs.builder()\n                        .input(\"~/.ssh/demo_key.pub\")\n                        .build()).result())\n                    .build())\n                .build())\n            .networkProfiles(ScaleSetNetworkProfileArgs.builder()\n                .name(\"TestNetworkProfile\")\n                .primary(true)\n                .ipConfigurations(ScaleSetNetworkProfileIpConfigurationArgs.builder()\n                    .name(\"TestIPConfiguration\")\n                    .primary(true)\n                    .subnetId(exampleSubnet.id())\n                    .build())\n                .build())\n            .storageProfileOsDisk(ScaleSetStorageProfileOsDiskArgs.builder()\n                .name(\"osDiskProfile\")\n                .caching(\"ReadWrite\")\n                .createOption(\"FromImage\")\n                .vhdContainers(Output.tuple(exampleAccount.primaryBlobEndpoint(), exampleContainer.name()).applyValue(values -\u003e {\n                    var primaryBlobEndpoint = values.t1;\n                    var name = values.t2;\n                    return String.format(\"%s%s\", primaryBlobEndpoint,name);\n                }))\n                .build())\n            .storageProfileImageReference(ScaleSetStorageProfileImageReferenceArgs.builder()\n                .publisher(\"Canonical\")\n                .offer(\"0001-com-ubuntu-server-jammy\")\n                .sku(\"22_04-lts\")\n                .version(\"latest\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleVirtualNetwork:\n    type: azure:network:VirtualNetwork\n    name: example\n    properties:\n      name: acctvn\n      addressSpaces:\n        - 10.0.0.0/16\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n  exampleSubnet:\n    type: azure:network:Subnet\n    name: example\n    properties:\n      name: acctsub\n      resourceGroupName: ${example.name}\n      virtualNetworkName: ${exampleVirtualNetwork.name}\n      addressPrefixes:\n        - 10.0.2.0/24\n  exampleAccount:\n    type: azure:storage:Account\n    name: example\n    properties:\n      name: accsa\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      accountTier: Standard\n      accountReplicationType: LRS\n      tags:\n        environment: staging\n  exampleContainer:\n    type: azure:storage:Container\n    name: example\n    properties:\n      name: vhds\n      storageAccountName: ${exampleAccount.name}\n      containerAccessType: private\n  exampleScaleSet:\n    type: azure:compute:ScaleSet\n    name: example\n    properties:\n      name: mytestscaleset-1\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      upgradePolicyMode: Manual\n      sku:\n        name: Standard_F2\n        tier: Standard\n        capacity: 2\n      osProfile:\n        computerNamePrefix: testvm\n        adminUsername: myadmin\n      osProfileLinuxConfig:\n        disablePasswordAuthentication: true\n        sshKeys:\n          - path: /home/myadmin/.ssh/authorized_keys\n            keyData:\n              fn::invoke:\n                function: std:file\n                arguments:\n                  input: ~/.ssh/demo_key.pub\n                return: result\n      networkProfiles:\n        - name: TestNetworkProfile\n          primary: true\n          ipConfigurations:\n            - name: TestIPConfiguration\n              primary: true\n              subnetId: ${exampleSubnet.id}\n      storageProfileOsDisk:\n        name: osDiskProfile\n        caching: ReadWrite\n        createOption: FromImage\n        vhdContainers:\n          - ${exampleAccount.primaryBlobEndpoint}${exampleContainer.name}\n      storageProfileImageReference:\n        publisher: Canonical\n        offer: 0001-com-ubuntu-server-jammy\n        sku: 22_04-lts\n        version: latest\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Example of\u003cspan pulumi-lang-nodejs=\" storageProfileImageReference \" pulumi-lang-dotnet=\" StorageProfileImageReference \" pulumi-lang-go=\" storageProfileImageReference \" pulumi-lang-python=\" storage_profile_image_reference \" pulumi-lang-yaml=\" storageProfileImageReference \" pulumi-lang-java=\" storageProfileImageReference \"\u003e storage_profile_image_reference \u003c/span\u003ewith id\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.compute.Image(\"example\", {name: \"test\"});\nconst exampleScaleSet = new azure.compute.ScaleSet(\"example\", {\n    name: \"test\",\n    storageProfileImageReference: {\n        id: example.id,\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.compute.Image(\"example\", name=\"test\")\nexample_scale_set = azure.compute.ScaleSet(\"example\",\n    name=\"test\",\n    storage_profile_image_reference={\n        \"id\": example.id,\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Compute.Image(\"example\", new()\n    {\n        Name = \"test\",\n    });\n\n    var exampleScaleSet = new Azure.Compute.ScaleSet(\"example\", new()\n    {\n        Name = \"test\",\n        StorageProfileImageReference = new Azure.Compute.Inputs.ScaleSetStorageProfileImageReferenceArgs\n        {\n            Id = example.Id,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/compute\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := compute.NewImage(ctx, \"example\", \u0026compute.ImageArgs{\n\t\t\tName: pulumi.String(\"test\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = compute.NewScaleSet(ctx, \"example\", \u0026compute.ScaleSetArgs{\n\t\t\tName: pulumi.String(\"test\"),\n\t\t\tStorageProfileImageReference: \u0026compute.ScaleSetStorageProfileImageReferenceArgs{\n\t\t\t\tId: example.ID(),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.compute.Image;\nimport com.pulumi.azure.compute.ImageArgs;\nimport com.pulumi.azure.compute.ScaleSet;\nimport com.pulumi.azure.compute.ScaleSetArgs;\nimport com.pulumi.azure.compute.inputs.ScaleSetStorageProfileImageReferenceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new Image(\"example\", ImageArgs.builder()\n            .name(\"test\")\n            .build());\n\n        var exampleScaleSet = new ScaleSet(\"exampleScaleSet\", ScaleSetArgs.builder()\n            .name(\"test\")\n            .storageProfileImageReference(ScaleSetStorageProfileImageReferenceArgs.builder()\n                .id(example.id())\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:compute:Image\n    properties:\n      name: test\n  exampleScaleSet:\n    type: azure:compute:ScaleSet\n    name: example\n    properties:\n      name: test\n      storageProfileImageReference:\n        id: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Compute` - 2024-11-01\n\n## Import\n\nVirtual Machine Scale Sets can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:compute/scaleSet:ScaleSet scaleset1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Compute/virtualMachineScaleSets/scaleset1\n```\n\n","properties":{"automaticOsUpgrade":{"type":"boolean","description":"Automatic OS patches can be applied by Azure to your scaleset. This is particularly useful when \u003cspan pulumi-lang-nodejs=\"`upgradePolicyMode`\" pulumi-lang-dotnet=\"`UpgradePolicyMode`\" pulumi-lang-go=\"`upgradePolicyMode`\" pulumi-lang-python=\"`upgrade_policy_mode`\" pulumi-lang-yaml=\"`upgradePolicyMode`\" pulumi-lang-java=\"`upgradePolicyMode`\"\u003e`upgrade_policy_mode`\u003c/span\u003e is set to `Rolling`. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"bootDiagnostics":{"$ref":"#/types/azure:compute/ScaleSetBootDiagnostics:ScaleSetBootDiagnostics","description":"A \u003cspan pulumi-lang-nodejs=\"`bootDiagnostics`\" pulumi-lang-dotnet=\"`BootDiagnostics`\" pulumi-lang-go=\"`bootDiagnostics`\" pulumi-lang-python=\"`boot_diagnostics`\" pulumi-lang-yaml=\"`bootDiagnostics`\" pulumi-lang-java=\"`bootDiagnostics`\"\u003e`boot_diagnostics`\u003c/span\u003e block as referenced below.\n"},"evictionPolicy":{"type":"string","description":"Specifies the eviction policy for Virtual Machines in this Scale Set. Possible values are `Deallocate` and `Delete`. Changing this forces a new resource to be created.\n\n\u003e **NOTE:** \u003cspan pulumi-lang-nodejs=\"`evictionPolicy`\" pulumi-lang-dotnet=\"`EvictionPolicy`\" pulumi-lang-go=\"`evictionPolicy`\" pulumi-lang-python=\"`eviction_policy`\" pulumi-lang-yaml=\"`evictionPolicy`\" pulumi-lang-java=\"`evictionPolicy`\"\u003e`eviction_policy`\u003c/span\u003e can only be set when \u003cspan pulumi-lang-nodejs=\"`priority`\" pulumi-lang-dotnet=\"`Priority`\" pulumi-lang-go=\"`priority`\" pulumi-lang-python=\"`priority`\" pulumi-lang-yaml=\"`priority`\" pulumi-lang-java=\"`priority`\"\u003e`priority`\u003c/span\u003e is set to `Low`.\n"},"extensions":{"type":"array","items":{"$ref":"#/types/azure:compute/ScaleSetExtension:ScaleSetExtension"},"description":"Can be specified multiple times to add extension profiles to the scale set. Each \u003cspan pulumi-lang-nodejs=\"`extension`\" pulumi-lang-dotnet=\"`Extension`\" pulumi-lang-go=\"`extension`\" pulumi-lang-python=\"`extension`\" pulumi-lang-yaml=\"`extension`\" pulumi-lang-java=\"`extension`\"\u003e`extension`\u003c/span\u003e block supports the fields documented below.\n"},"healthProbeId":{"type":"string","description":"Specifies the identifier for the load balancer health probe. Required when using `Rolling` as your \u003cspan pulumi-lang-nodejs=\"`upgradePolicyMode`\" pulumi-lang-dotnet=\"`UpgradePolicyMode`\" pulumi-lang-go=\"`upgradePolicyMode`\" pulumi-lang-python=\"`upgrade_policy_mode`\" pulumi-lang-yaml=\"`upgradePolicyMode`\" pulumi-lang-java=\"`upgradePolicyMode`\"\u003e`upgrade_policy_mode`\u003c/span\u003e.\n"},"identity":{"$ref":"#/types/azure:compute/ScaleSetIdentity:ScaleSetIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"licenseType":{"type":"string","description":"(Optional, when a Windows machine) Specifies the Windows OS license type. If supplied, the only allowed values are `Windows_Client` and `Windows_Server`.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"Specifies the name of the virtual machine scale set resource. Changing this forces a new resource to be created.\n"},"networkProfiles":{"type":"array","items":{"$ref":"#/types/azure:compute/ScaleSetNetworkProfile:ScaleSetNetworkProfile"},"description":"A collection of \u003cspan pulumi-lang-nodejs=\"`networkProfile`\" pulumi-lang-dotnet=\"`NetworkProfile`\" pulumi-lang-go=\"`networkProfile`\" pulumi-lang-python=\"`network_profile`\" pulumi-lang-yaml=\"`networkProfile`\" pulumi-lang-java=\"`networkProfile`\"\u003e`network_profile`\u003c/span\u003e blocks as documented below.\n"},"osProfile":{"$ref":"#/types/azure:compute/ScaleSetOsProfile:ScaleSetOsProfile","description":"A \u003cspan pulumi-lang-nodejs=\"`osProfile`\" pulumi-lang-dotnet=\"`OsProfile`\" pulumi-lang-go=\"`osProfile`\" pulumi-lang-python=\"`os_profile`\" pulumi-lang-yaml=\"`osProfile`\" pulumi-lang-java=\"`osProfile`\"\u003e`os_profile`\u003c/span\u003e block as documented below.\n"},"osProfileLinuxConfig":{"$ref":"#/types/azure:compute/ScaleSetOsProfileLinuxConfig:ScaleSetOsProfileLinuxConfig","description":"A \u003cspan pulumi-lang-nodejs=\"`osProfileLinuxConfig`\" pulumi-lang-dotnet=\"`OsProfileLinuxConfig`\" pulumi-lang-go=\"`osProfileLinuxConfig`\" pulumi-lang-python=\"`os_profile_linux_config`\" pulumi-lang-yaml=\"`osProfileLinuxConfig`\" pulumi-lang-java=\"`osProfileLinuxConfig`\"\u003e`os_profile_linux_config`\u003c/span\u003e block as documented below.\n"},"osProfileSecrets":{"type":"array","items":{"$ref":"#/types/azure:compute/ScaleSetOsProfileSecret:ScaleSetOsProfileSecret"},"description":"A collection of \u003cspan pulumi-lang-nodejs=\"`osProfileSecrets`\" pulumi-lang-dotnet=\"`OsProfileSecrets`\" pulumi-lang-go=\"`osProfileSecrets`\" pulumi-lang-python=\"`os_profile_secrets`\" pulumi-lang-yaml=\"`osProfileSecrets`\" pulumi-lang-java=\"`osProfileSecrets`\"\u003e`os_profile_secrets`\u003c/span\u003e blocks as documented below.\n"},"osProfileWindowsConfig":{"$ref":"#/types/azure:compute/ScaleSetOsProfileWindowsConfig:ScaleSetOsProfileWindowsConfig","description":"A \u003cspan pulumi-lang-nodejs=\"`osProfileWindowsConfig`\" pulumi-lang-dotnet=\"`OsProfileWindowsConfig`\" pulumi-lang-go=\"`osProfileWindowsConfig`\" pulumi-lang-python=\"`os_profile_windows_config`\" pulumi-lang-yaml=\"`osProfileWindowsConfig`\" pulumi-lang-java=\"`osProfileWindowsConfig`\"\u003e`os_profile_windows_config`\u003c/span\u003e block as documented below.\n"},"overprovision":{"type":"boolean","description":"Specifies whether the virtual machine scale set should be overprovisioned. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"plan":{"$ref":"#/types/azure:compute/ScaleSetPlan:ScaleSetPlan","description":"A \u003cspan pulumi-lang-nodejs=\"`plan`\" pulumi-lang-dotnet=\"`Plan`\" pulumi-lang-go=\"`plan`\" pulumi-lang-python=\"`plan`\" pulumi-lang-yaml=\"`plan`\" pulumi-lang-java=\"`plan`\"\u003e`plan`\u003c/span\u003e block as documented below.\n"},"priority":{"type":"string","description":"Specifies the priority for the Virtual Machines in the Scale Set. Possible values are `Low` and `Regular`. Changing this forces a new resource to be created.\n"},"proximityPlacementGroupId":{"type":"string","description":"The ID of the Proximity Placement Group to which this Virtual Machine should be assigned. Changing this forces a new resource to be created\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the virtual machine scale set. Changing this forces a new resource to be created.\n"},"rollingUpgradePolicy":{"$ref":"#/types/azure:compute/ScaleSetRollingUpgradePolicy:ScaleSetRollingUpgradePolicy","description":"A \u003cspan pulumi-lang-nodejs=\"`rollingUpgradePolicy`\" pulumi-lang-dotnet=\"`RollingUpgradePolicy`\" pulumi-lang-go=\"`rollingUpgradePolicy`\" pulumi-lang-python=\"`rolling_upgrade_policy`\" pulumi-lang-yaml=\"`rollingUpgradePolicy`\" pulumi-lang-java=\"`rollingUpgradePolicy`\"\u003e`rolling_upgrade_policy`\u003c/span\u003e block as defined below. This is only applicable when the \u003cspan pulumi-lang-nodejs=\"`upgradePolicyMode`\" pulumi-lang-dotnet=\"`UpgradePolicyMode`\" pulumi-lang-go=\"`upgradePolicyMode`\" pulumi-lang-python=\"`upgrade_policy_mode`\" pulumi-lang-yaml=\"`upgradePolicyMode`\" pulumi-lang-java=\"`upgradePolicyMode`\"\u003e`upgrade_policy_mode`\u003c/span\u003e is `Rolling`.\n"},"singlePlacementGroup":{"type":"boolean","description":"Specifies whether the scale set is limited to a single placement group with a maximum size of 100 virtual machines. If set to false, managed disks must be used. Changing this forces a new resource to be created. See [documentation](https://docs.microsoft.com/azure/virtual-machine-scale-sets/virtual-machine-scale-sets-placement-groups) for more information. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"sku":{"$ref":"#/types/azure:compute/ScaleSetSku:ScaleSetSku","description":"A \u003cspan pulumi-lang-nodejs=\"`sku`\" pulumi-lang-dotnet=\"`Sku`\" pulumi-lang-go=\"`sku`\" pulumi-lang-python=\"`sku`\" pulumi-lang-yaml=\"`sku`\" pulumi-lang-java=\"`sku`\"\u003e`sku`\u003c/span\u003e block as documented below.\n"},"storageProfileDataDisks":{"type":"array","items":{"$ref":"#/types/azure:compute/ScaleSetStorageProfileDataDisk:ScaleSetStorageProfileDataDisk"},"description":"A \u003cspan pulumi-lang-nodejs=\"`storageProfileDataDisk`\" pulumi-lang-dotnet=\"`StorageProfileDataDisk`\" pulumi-lang-go=\"`storageProfileDataDisk`\" pulumi-lang-python=\"`storage_profile_data_disk`\" pulumi-lang-yaml=\"`storageProfileDataDisk`\" pulumi-lang-java=\"`storageProfileDataDisk`\"\u003e`storage_profile_data_disk`\u003c/span\u003e block as documented below.\n"},"storageProfileImageReference":{"$ref":"#/types/azure:compute/ScaleSetStorageProfileImageReference:ScaleSetStorageProfileImageReference","description":"A \u003cspan pulumi-lang-nodejs=\"`storageProfileImageReference`\" pulumi-lang-dotnet=\"`StorageProfileImageReference`\" pulumi-lang-go=\"`storageProfileImageReference`\" pulumi-lang-python=\"`storage_profile_image_reference`\" pulumi-lang-yaml=\"`storageProfileImageReference`\" pulumi-lang-java=\"`storageProfileImageReference`\"\u003e`storage_profile_image_reference`\u003c/span\u003e block as documented below.\n"},"storageProfileOsDisk":{"$ref":"#/types/azure:compute/ScaleSetStorageProfileOsDisk:ScaleSetStorageProfileOsDisk","description":"A \u003cspan pulumi-lang-nodejs=\"`storageProfileOsDisk`\" pulumi-lang-dotnet=\"`StorageProfileOsDisk`\" pulumi-lang-go=\"`storageProfileOsDisk`\" pulumi-lang-python=\"`storage_profile_os_disk`\" pulumi-lang-yaml=\"`storageProfileOsDisk`\" pulumi-lang-java=\"`storageProfileOsDisk`\"\u003e`storage_profile_os_disk`\u003c/span\u003e block as documented below.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"upgradePolicyMode":{"type":"string","description":"Specifies the mode of an upgrade to virtual machines in the scale set. Possible values, `Rolling`, `Manual`, or `Automatic`. When choosing `Rolling`, you will need to set a health probe.\n"},"zones":{"type":"array","items":{"type":"string"},"description":"A collection of availability zones to spread the Virtual Machines over. Changing this forces a new resource to be created.\n\n\u003e **NOTE:** Availability Zones are [only supported in several regions at this time](https://docs.microsoft.com/azure/availability-zones/az-overview).\n"}},"required":["licenseType","location","name","networkProfiles","osProfile","osProfileLinuxConfig","resourceGroupName","sku","storageProfileImageReference","storageProfileOsDisk","upgradePolicyMode"],"inputProperties":{"automaticOsUpgrade":{"type":"boolean","description":"Automatic OS patches can be applied by Azure to your scaleset. This is particularly useful when \u003cspan pulumi-lang-nodejs=\"`upgradePolicyMode`\" pulumi-lang-dotnet=\"`UpgradePolicyMode`\" pulumi-lang-go=\"`upgradePolicyMode`\" pulumi-lang-python=\"`upgrade_policy_mode`\" pulumi-lang-yaml=\"`upgradePolicyMode`\" pulumi-lang-java=\"`upgradePolicyMode`\"\u003e`upgrade_policy_mode`\u003c/span\u003e is set to `Rolling`. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"bootDiagnostics":{"$ref":"#/types/azure:compute/ScaleSetBootDiagnostics:ScaleSetBootDiagnostics","description":"A \u003cspan pulumi-lang-nodejs=\"`bootDiagnostics`\" pulumi-lang-dotnet=\"`BootDiagnostics`\" pulumi-lang-go=\"`bootDiagnostics`\" pulumi-lang-python=\"`boot_diagnostics`\" pulumi-lang-yaml=\"`bootDiagnostics`\" pulumi-lang-java=\"`bootDiagnostics`\"\u003e`boot_diagnostics`\u003c/span\u003e block as referenced below.\n"},"evictionPolicy":{"type":"string","description":"Specifies the eviction policy for Virtual Machines in this Scale Set. Possible values are `Deallocate` and `Delete`. Changing this forces a new resource to be created.\n\n\u003e **NOTE:** \u003cspan pulumi-lang-nodejs=\"`evictionPolicy`\" pulumi-lang-dotnet=\"`EvictionPolicy`\" pulumi-lang-go=\"`evictionPolicy`\" pulumi-lang-python=\"`eviction_policy`\" pulumi-lang-yaml=\"`evictionPolicy`\" pulumi-lang-java=\"`evictionPolicy`\"\u003e`eviction_policy`\u003c/span\u003e can only be set when \u003cspan pulumi-lang-nodejs=\"`priority`\" pulumi-lang-dotnet=\"`Priority`\" pulumi-lang-go=\"`priority`\" pulumi-lang-python=\"`priority`\" pulumi-lang-yaml=\"`priority`\" pulumi-lang-java=\"`priority`\"\u003e`priority`\u003c/span\u003e is set to `Low`.\n","willReplaceOnChanges":true},"extensions":{"type":"array","items":{"$ref":"#/types/azure:compute/ScaleSetExtension:ScaleSetExtension"},"description":"Can be specified multiple times to add extension profiles to the scale set. Each \u003cspan pulumi-lang-nodejs=\"`extension`\" pulumi-lang-dotnet=\"`Extension`\" pulumi-lang-go=\"`extension`\" pulumi-lang-python=\"`extension`\" pulumi-lang-yaml=\"`extension`\" pulumi-lang-java=\"`extension`\"\u003e`extension`\u003c/span\u003e block supports the fields documented below.\n"},"healthProbeId":{"type":"string","description":"Specifies the identifier for the load balancer health probe. Required when using `Rolling` as your \u003cspan pulumi-lang-nodejs=\"`upgradePolicyMode`\" pulumi-lang-dotnet=\"`UpgradePolicyMode`\" pulumi-lang-go=\"`upgradePolicyMode`\" pulumi-lang-python=\"`upgrade_policy_mode`\" pulumi-lang-yaml=\"`upgradePolicyMode`\" pulumi-lang-java=\"`upgradePolicyMode`\"\u003e`upgrade_policy_mode`\u003c/span\u003e.\n"},"identity":{"$ref":"#/types/azure:compute/ScaleSetIdentity:ScaleSetIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"licenseType":{"type":"string","description":"(Optional, when a Windows machine) Specifies the Windows OS license type. If supplied, the only allowed values are `Windows_Client` and `Windows_Server`.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the virtual machine scale set resource. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"networkProfiles":{"type":"array","items":{"$ref":"#/types/azure:compute/ScaleSetNetworkProfile:ScaleSetNetworkProfile"},"description":"A collection of \u003cspan pulumi-lang-nodejs=\"`networkProfile`\" pulumi-lang-dotnet=\"`NetworkProfile`\" pulumi-lang-go=\"`networkProfile`\" pulumi-lang-python=\"`network_profile`\" pulumi-lang-yaml=\"`networkProfile`\" pulumi-lang-java=\"`networkProfile`\"\u003e`network_profile`\u003c/span\u003e blocks as documented below.\n"},"osProfile":{"$ref":"#/types/azure:compute/ScaleSetOsProfile:ScaleSetOsProfile","description":"A \u003cspan pulumi-lang-nodejs=\"`osProfile`\" pulumi-lang-dotnet=\"`OsProfile`\" pulumi-lang-go=\"`osProfile`\" pulumi-lang-python=\"`os_profile`\" pulumi-lang-yaml=\"`osProfile`\" pulumi-lang-java=\"`osProfile`\"\u003e`os_profile`\u003c/span\u003e block as documented below.\n"},"osProfileLinuxConfig":{"$ref":"#/types/azure:compute/ScaleSetOsProfileLinuxConfig:ScaleSetOsProfileLinuxConfig","description":"A \u003cspan pulumi-lang-nodejs=\"`osProfileLinuxConfig`\" pulumi-lang-dotnet=\"`OsProfileLinuxConfig`\" pulumi-lang-go=\"`osProfileLinuxConfig`\" pulumi-lang-python=\"`os_profile_linux_config`\" pulumi-lang-yaml=\"`osProfileLinuxConfig`\" pulumi-lang-java=\"`osProfileLinuxConfig`\"\u003e`os_profile_linux_config`\u003c/span\u003e block as documented below.\n"},"osProfileSecrets":{"type":"array","items":{"$ref":"#/types/azure:compute/ScaleSetOsProfileSecret:ScaleSetOsProfileSecret"},"description":"A collection of \u003cspan pulumi-lang-nodejs=\"`osProfileSecrets`\" pulumi-lang-dotnet=\"`OsProfileSecrets`\" pulumi-lang-go=\"`osProfileSecrets`\" pulumi-lang-python=\"`os_profile_secrets`\" pulumi-lang-yaml=\"`osProfileSecrets`\" pulumi-lang-java=\"`osProfileSecrets`\"\u003e`os_profile_secrets`\u003c/span\u003e blocks as documented below.\n"},"osProfileWindowsConfig":{"$ref":"#/types/azure:compute/ScaleSetOsProfileWindowsConfig:ScaleSetOsProfileWindowsConfig","description":"A \u003cspan pulumi-lang-nodejs=\"`osProfileWindowsConfig`\" pulumi-lang-dotnet=\"`OsProfileWindowsConfig`\" pulumi-lang-go=\"`osProfileWindowsConfig`\" pulumi-lang-python=\"`os_profile_windows_config`\" pulumi-lang-yaml=\"`osProfileWindowsConfig`\" pulumi-lang-java=\"`osProfileWindowsConfig`\"\u003e`os_profile_windows_config`\u003c/span\u003e block as documented below.\n"},"overprovision":{"type":"boolean","description":"Specifies whether the virtual machine scale set should be overprovisioned. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"plan":{"$ref":"#/types/azure:compute/ScaleSetPlan:ScaleSetPlan","description":"A \u003cspan pulumi-lang-nodejs=\"`plan`\" pulumi-lang-dotnet=\"`Plan`\" pulumi-lang-go=\"`plan`\" pulumi-lang-python=\"`plan`\" pulumi-lang-yaml=\"`plan`\" pulumi-lang-java=\"`plan`\"\u003e`plan`\u003c/span\u003e block as documented below.\n"},"priority":{"type":"string","description":"Specifies the priority for the Virtual Machines in the Scale Set. Possible values are `Low` and `Regular`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"proximityPlacementGroupId":{"type":"string","description":"The ID of the Proximity Placement Group to which this Virtual Machine should be assigned. Changing this forces a new resource to be created\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the virtual machine scale set. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"rollingUpgradePolicy":{"$ref":"#/types/azure:compute/ScaleSetRollingUpgradePolicy:ScaleSetRollingUpgradePolicy","description":"A \u003cspan pulumi-lang-nodejs=\"`rollingUpgradePolicy`\" pulumi-lang-dotnet=\"`RollingUpgradePolicy`\" pulumi-lang-go=\"`rollingUpgradePolicy`\" pulumi-lang-python=\"`rolling_upgrade_policy`\" pulumi-lang-yaml=\"`rollingUpgradePolicy`\" pulumi-lang-java=\"`rollingUpgradePolicy`\"\u003e`rolling_upgrade_policy`\u003c/span\u003e block as defined below. This is only applicable when the \u003cspan pulumi-lang-nodejs=\"`upgradePolicyMode`\" pulumi-lang-dotnet=\"`UpgradePolicyMode`\" pulumi-lang-go=\"`upgradePolicyMode`\" pulumi-lang-python=\"`upgrade_policy_mode`\" pulumi-lang-yaml=\"`upgradePolicyMode`\" pulumi-lang-java=\"`upgradePolicyMode`\"\u003e`upgrade_policy_mode`\u003c/span\u003e is `Rolling`.\n"},"singlePlacementGroup":{"type":"boolean","description":"Specifies whether the scale set is limited to a single placement group with a maximum size of 100 virtual machines. If set to false, managed disks must be used. Changing this forces a new resource to be created. See [documentation](https://docs.microsoft.com/azure/virtual-machine-scale-sets/virtual-machine-scale-sets-placement-groups) for more information. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n","willReplaceOnChanges":true},"sku":{"$ref":"#/types/azure:compute/ScaleSetSku:ScaleSetSku","description":"A \u003cspan pulumi-lang-nodejs=\"`sku`\" pulumi-lang-dotnet=\"`Sku`\" pulumi-lang-go=\"`sku`\" pulumi-lang-python=\"`sku`\" pulumi-lang-yaml=\"`sku`\" pulumi-lang-java=\"`sku`\"\u003e`sku`\u003c/span\u003e block as documented below.\n"},"storageProfileDataDisks":{"type":"array","items":{"$ref":"#/types/azure:compute/ScaleSetStorageProfileDataDisk:ScaleSetStorageProfileDataDisk"},"description":"A \u003cspan pulumi-lang-nodejs=\"`storageProfileDataDisk`\" pulumi-lang-dotnet=\"`StorageProfileDataDisk`\" pulumi-lang-go=\"`storageProfileDataDisk`\" pulumi-lang-python=\"`storage_profile_data_disk`\" pulumi-lang-yaml=\"`storageProfileDataDisk`\" pulumi-lang-java=\"`storageProfileDataDisk`\"\u003e`storage_profile_data_disk`\u003c/span\u003e block as documented below.\n"},"storageProfileImageReference":{"$ref":"#/types/azure:compute/ScaleSetStorageProfileImageReference:ScaleSetStorageProfileImageReference","description":"A \u003cspan pulumi-lang-nodejs=\"`storageProfileImageReference`\" pulumi-lang-dotnet=\"`StorageProfileImageReference`\" pulumi-lang-go=\"`storageProfileImageReference`\" pulumi-lang-python=\"`storage_profile_image_reference`\" pulumi-lang-yaml=\"`storageProfileImageReference`\" pulumi-lang-java=\"`storageProfileImageReference`\"\u003e`storage_profile_image_reference`\u003c/span\u003e block as documented below.\n"},"storageProfileOsDisk":{"$ref":"#/types/azure:compute/ScaleSetStorageProfileOsDisk:ScaleSetStorageProfileOsDisk","description":"A \u003cspan pulumi-lang-nodejs=\"`storageProfileOsDisk`\" pulumi-lang-dotnet=\"`StorageProfileOsDisk`\" pulumi-lang-go=\"`storageProfileOsDisk`\" pulumi-lang-python=\"`storage_profile_os_disk`\" pulumi-lang-yaml=\"`storageProfileOsDisk`\" pulumi-lang-java=\"`storageProfileOsDisk`\"\u003e`storage_profile_os_disk`\u003c/span\u003e block as documented below.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"upgradePolicyMode":{"type":"string","description":"Specifies the mode of an upgrade to virtual machines in the scale set. Possible values, `Rolling`, `Manual`, or `Automatic`. When choosing `Rolling`, you will need to set a health probe.\n"},"zones":{"type":"array","items":{"type":"string"},"description":"A collection of availability zones to spread the Virtual Machines over. Changing this forces a new resource to be created.\n\n\u003e **NOTE:** Availability Zones are [only supported in several regions at this time](https://docs.microsoft.com/azure/availability-zones/az-overview).\n","willReplaceOnChanges":true}},"requiredInputs":["networkProfiles","osProfile","resourceGroupName","sku","storageProfileOsDisk","upgradePolicyMode"],"stateInputs":{"description":"Input properties used for looking up and filtering ScaleSet resources.\n","properties":{"automaticOsUpgrade":{"type":"boolean","description":"Automatic OS patches can be applied by Azure to your scaleset. This is particularly useful when \u003cspan pulumi-lang-nodejs=\"`upgradePolicyMode`\" pulumi-lang-dotnet=\"`UpgradePolicyMode`\" pulumi-lang-go=\"`upgradePolicyMode`\" pulumi-lang-python=\"`upgrade_policy_mode`\" pulumi-lang-yaml=\"`upgradePolicyMode`\" pulumi-lang-java=\"`upgradePolicyMode`\"\u003e`upgrade_policy_mode`\u003c/span\u003e is set to `Rolling`. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"bootDiagnostics":{"$ref":"#/types/azure:compute/ScaleSetBootDiagnostics:ScaleSetBootDiagnostics","description":"A \u003cspan pulumi-lang-nodejs=\"`bootDiagnostics`\" pulumi-lang-dotnet=\"`BootDiagnostics`\" pulumi-lang-go=\"`bootDiagnostics`\" pulumi-lang-python=\"`boot_diagnostics`\" pulumi-lang-yaml=\"`bootDiagnostics`\" pulumi-lang-java=\"`bootDiagnostics`\"\u003e`boot_diagnostics`\u003c/span\u003e block as referenced below.\n"},"evictionPolicy":{"type":"string","description":"Specifies the eviction policy for Virtual Machines in this Scale Set. Possible values are `Deallocate` and `Delete`. Changing this forces a new resource to be created.\n\n\u003e **NOTE:** \u003cspan pulumi-lang-nodejs=\"`evictionPolicy`\" pulumi-lang-dotnet=\"`EvictionPolicy`\" pulumi-lang-go=\"`evictionPolicy`\" pulumi-lang-python=\"`eviction_policy`\" pulumi-lang-yaml=\"`evictionPolicy`\" pulumi-lang-java=\"`evictionPolicy`\"\u003e`eviction_policy`\u003c/span\u003e can only be set when \u003cspan pulumi-lang-nodejs=\"`priority`\" pulumi-lang-dotnet=\"`Priority`\" pulumi-lang-go=\"`priority`\" pulumi-lang-python=\"`priority`\" pulumi-lang-yaml=\"`priority`\" pulumi-lang-java=\"`priority`\"\u003e`priority`\u003c/span\u003e is set to `Low`.\n","willReplaceOnChanges":true},"extensions":{"type":"array","items":{"$ref":"#/types/azure:compute/ScaleSetExtension:ScaleSetExtension"},"description":"Can be specified multiple times to add extension profiles to the scale set. Each \u003cspan pulumi-lang-nodejs=\"`extension`\" pulumi-lang-dotnet=\"`Extension`\" pulumi-lang-go=\"`extension`\" pulumi-lang-python=\"`extension`\" pulumi-lang-yaml=\"`extension`\" pulumi-lang-java=\"`extension`\"\u003e`extension`\u003c/span\u003e block supports the fields documented below.\n"},"healthProbeId":{"type":"string","description":"Specifies the identifier for the load balancer health probe. Required when using `Rolling` as your \u003cspan pulumi-lang-nodejs=\"`upgradePolicyMode`\" pulumi-lang-dotnet=\"`UpgradePolicyMode`\" pulumi-lang-go=\"`upgradePolicyMode`\" pulumi-lang-python=\"`upgrade_policy_mode`\" pulumi-lang-yaml=\"`upgradePolicyMode`\" pulumi-lang-java=\"`upgradePolicyMode`\"\u003e`upgrade_policy_mode`\u003c/span\u003e.\n"},"identity":{"$ref":"#/types/azure:compute/ScaleSetIdentity:ScaleSetIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"licenseType":{"type":"string","description":"(Optional, when a Windows machine) Specifies the Windows OS license type. If supplied, the only allowed values are `Windows_Client` and `Windows_Server`.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the virtual machine scale set resource. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"networkProfiles":{"type":"array","items":{"$ref":"#/types/azure:compute/ScaleSetNetworkProfile:ScaleSetNetworkProfile"},"description":"A collection of \u003cspan pulumi-lang-nodejs=\"`networkProfile`\" pulumi-lang-dotnet=\"`NetworkProfile`\" pulumi-lang-go=\"`networkProfile`\" pulumi-lang-python=\"`network_profile`\" pulumi-lang-yaml=\"`networkProfile`\" pulumi-lang-java=\"`networkProfile`\"\u003e`network_profile`\u003c/span\u003e blocks as documented below.\n"},"osProfile":{"$ref":"#/types/azure:compute/ScaleSetOsProfile:ScaleSetOsProfile","description":"A \u003cspan pulumi-lang-nodejs=\"`osProfile`\" pulumi-lang-dotnet=\"`OsProfile`\" pulumi-lang-go=\"`osProfile`\" pulumi-lang-python=\"`os_profile`\" pulumi-lang-yaml=\"`osProfile`\" pulumi-lang-java=\"`osProfile`\"\u003e`os_profile`\u003c/span\u003e block as documented below.\n"},"osProfileLinuxConfig":{"$ref":"#/types/azure:compute/ScaleSetOsProfileLinuxConfig:ScaleSetOsProfileLinuxConfig","description":"A \u003cspan pulumi-lang-nodejs=\"`osProfileLinuxConfig`\" pulumi-lang-dotnet=\"`OsProfileLinuxConfig`\" pulumi-lang-go=\"`osProfileLinuxConfig`\" pulumi-lang-python=\"`os_profile_linux_config`\" pulumi-lang-yaml=\"`osProfileLinuxConfig`\" pulumi-lang-java=\"`osProfileLinuxConfig`\"\u003e`os_profile_linux_config`\u003c/span\u003e block as documented below.\n"},"osProfileSecrets":{"type":"array","items":{"$ref":"#/types/azure:compute/ScaleSetOsProfileSecret:ScaleSetOsProfileSecret"},"description":"A collection of \u003cspan pulumi-lang-nodejs=\"`osProfileSecrets`\" pulumi-lang-dotnet=\"`OsProfileSecrets`\" pulumi-lang-go=\"`osProfileSecrets`\" pulumi-lang-python=\"`os_profile_secrets`\" pulumi-lang-yaml=\"`osProfileSecrets`\" pulumi-lang-java=\"`osProfileSecrets`\"\u003e`os_profile_secrets`\u003c/span\u003e blocks as documented below.\n"},"osProfileWindowsConfig":{"$ref":"#/types/azure:compute/ScaleSetOsProfileWindowsConfig:ScaleSetOsProfileWindowsConfig","description":"A \u003cspan pulumi-lang-nodejs=\"`osProfileWindowsConfig`\" pulumi-lang-dotnet=\"`OsProfileWindowsConfig`\" pulumi-lang-go=\"`osProfileWindowsConfig`\" pulumi-lang-python=\"`os_profile_windows_config`\" pulumi-lang-yaml=\"`osProfileWindowsConfig`\" pulumi-lang-java=\"`osProfileWindowsConfig`\"\u003e`os_profile_windows_config`\u003c/span\u003e block as documented below.\n"},"overprovision":{"type":"boolean","description":"Specifies whether the virtual machine scale set should be overprovisioned. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"plan":{"$ref":"#/types/azure:compute/ScaleSetPlan:ScaleSetPlan","description":"A \u003cspan pulumi-lang-nodejs=\"`plan`\" pulumi-lang-dotnet=\"`Plan`\" pulumi-lang-go=\"`plan`\" pulumi-lang-python=\"`plan`\" pulumi-lang-yaml=\"`plan`\" pulumi-lang-java=\"`plan`\"\u003e`plan`\u003c/span\u003e block as documented below.\n"},"priority":{"type":"string","description":"Specifies the priority for the Virtual Machines in the Scale Set. Possible values are `Low` and `Regular`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"proximityPlacementGroupId":{"type":"string","description":"The ID of the Proximity Placement Group to which this Virtual Machine should be assigned. Changing this forces a new resource to be created\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the virtual machine scale set. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"rollingUpgradePolicy":{"$ref":"#/types/azure:compute/ScaleSetRollingUpgradePolicy:ScaleSetRollingUpgradePolicy","description":"A \u003cspan pulumi-lang-nodejs=\"`rollingUpgradePolicy`\" pulumi-lang-dotnet=\"`RollingUpgradePolicy`\" pulumi-lang-go=\"`rollingUpgradePolicy`\" pulumi-lang-python=\"`rolling_upgrade_policy`\" pulumi-lang-yaml=\"`rollingUpgradePolicy`\" pulumi-lang-java=\"`rollingUpgradePolicy`\"\u003e`rolling_upgrade_policy`\u003c/span\u003e block as defined below. This is only applicable when the \u003cspan pulumi-lang-nodejs=\"`upgradePolicyMode`\" pulumi-lang-dotnet=\"`UpgradePolicyMode`\" pulumi-lang-go=\"`upgradePolicyMode`\" pulumi-lang-python=\"`upgrade_policy_mode`\" pulumi-lang-yaml=\"`upgradePolicyMode`\" pulumi-lang-java=\"`upgradePolicyMode`\"\u003e`upgrade_policy_mode`\u003c/span\u003e is `Rolling`.\n"},"singlePlacementGroup":{"type":"boolean","description":"Specifies whether the scale set is limited to a single placement group with a maximum size of 100 virtual machines. If set to false, managed disks must be used. Changing this forces a new resource to be created. See [documentation](https://docs.microsoft.com/azure/virtual-machine-scale-sets/virtual-machine-scale-sets-placement-groups) for more information. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n","willReplaceOnChanges":true},"sku":{"$ref":"#/types/azure:compute/ScaleSetSku:ScaleSetSku","description":"A \u003cspan pulumi-lang-nodejs=\"`sku`\" pulumi-lang-dotnet=\"`Sku`\" pulumi-lang-go=\"`sku`\" pulumi-lang-python=\"`sku`\" pulumi-lang-yaml=\"`sku`\" pulumi-lang-java=\"`sku`\"\u003e`sku`\u003c/span\u003e block as documented below.\n"},"storageProfileDataDisks":{"type":"array","items":{"$ref":"#/types/azure:compute/ScaleSetStorageProfileDataDisk:ScaleSetStorageProfileDataDisk"},"description":"A \u003cspan pulumi-lang-nodejs=\"`storageProfileDataDisk`\" pulumi-lang-dotnet=\"`StorageProfileDataDisk`\" pulumi-lang-go=\"`storageProfileDataDisk`\" pulumi-lang-python=\"`storage_profile_data_disk`\" pulumi-lang-yaml=\"`storageProfileDataDisk`\" pulumi-lang-java=\"`storageProfileDataDisk`\"\u003e`storage_profile_data_disk`\u003c/span\u003e block as documented below.\n"},"storageProfileImageReference":{"$ref":"#/types/azure:compute/ScaleSetStorageProfileImageReference:ScaleSetStorageProfileImageReference","description":"A \u003cspan pulumi-lang-nodejs=\"`storageProfileImageReference`\" pulumi-lang-dotnet=\"`StorageProfileImageReference`\" pulumi-lang-go=\"`storageProfileImageReference`\" pulumi-lang-python=\"`storage_profile_image_reference`\" pulumi-lang-yaml=\"`storageProfileImageReference`\" pulumi-lang-java=\"`storageProfileImageReference`\"\u003e`storage_profile_image_reference`\u003c/span\u003e block as documented below.\n"},"storageProfileOsDisk":{"$ref":"#/types/azure:compute/ScaleSetStorageProfileOsDisk:ScaleSetStorageProfileOsDisk","description":"A \u003cspan pulumi-lang-nodejs=\"`storageProfileOsDisk`\" pulumi-lang-dotnet=\"`StorageProfileOsDisk`\" pulumi-lang-go=\"`storageProfileOsDisk`\" pulumi-lang-python=\"`storage_profile_os_disk`\" pulumi-lang-yaml=\"`storageProfileOsDisk`\" pulumi-lang-java=\"`storageProfileOsDisk`\"\u003e`storage_profile_os_disk`\u003c/span\u003e block as documented below.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"upgradePolicyMode":{"type":"string","description":"Specifies the mode of an upgrade to virtual machines in the scale set. Possible values, `Rolling`, `Manual`, or `Automatic`. When choosing `Rolling`, you will need to set a health probe.\n"},"zones":{"type":"array","items":{"type":"string"},"description":"A collection of availability zones to spread the Virtual Machines over. Changing this forces a new resource to be created.\n\n\u003e **NOTE:** Availability Zones are [only supported in several regions at this time](https://docs.microsoft.com/azure/availability-zones/az-overview).\n","willReplaceOnChanges":true}},"type":"object"}},"azure:compute/scaleSetPacketCapture:ScaleSetPacketCapture":{"description":"Configures Network Packet Capturing against a Virtual Machine Scale Set using a Network Watcher.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleNetworkWatcher = new azure.network.NetworkWatcher(\"example\", {\n    name: \"example-nw\",\n    location: example.location,\n    resourceGroupName: example.name,\n});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"example\", {\n    name: \"example-vn\",\n    addressSpaces: [\"10.0.0.0/16\"],\n    location: example.location,\n    resourceGroupName: example.name,\n});\nconst exampleSubnet = new azure.network.Subnet(\"example\", {\n    name: \"internal\",\n    resourceGroupName: example.name,\n    virtualNetworkName: exampleVirtualNetwork.name,\n    addressPrefixes: [\"10.0.2.0/24\"],\n});\nconst exampleLinuxVirtualMachineScaleSet = new azure.compute.LinuxVirtualMachineScaleSet(\"example\", {\n    name: \"example-vmss\",\n    resourceGroupName: example.name,\n    location: example.location,\n    sku: \"Standard_F2\",\n    instances: 4,\n    adminUsername: \"adminuser\",\n    adminPassword: \"P@ssword1234!\",\n    computerNamePrefix: \"my-linux-computer-name-prefix\",\n    upgradeMode: \"Automatic\",\n    disablePasswordAuthentication: false,\n    sourceImageReference: {\n        publisher: \"Canonical\",\n        offer: \"0001-com-ubuntu-server-jammy\",\n        sku: \"22_04-lts\",\n        version: \"latest\",\n    },\n    osDisk: {\n        storageAccountType: \"Standard_LRS\",\n        caching: \"ReadWrite\",\n    },\n    networkInterfaces: [{\n        name: \"example\",\n        primary: true,\n        ipConfigurations: [{\n            name: \"internal\",\n            primary: true,\n            subnetId: exampleSubnet.id,\n        }],\n    }],\n});\nconst exampleVirtualMachineScaleSetExtension = new azure.compute.VirtualMachineScaleSetExtension(\"example\", {\n    name: \"network-watcher\",\n    virtualMachineScaleSetId: exampleLinuxVirtualMachineScaleSet.id,\n    publisher: \"Microsoft.Azure.NetworkWatcher\",\n    type: \"NetworkWatcherAgentLinux\",\n    typeHandlerVersion: \"1.4\",\n    autoUpgradeMinorVersion: true,\n    automaticUpgradeEnabled: true,\n});\nconst exampleScaleSetPacketCapture = new azure.compute.ScaleSetPacketCapture(\"example\", {\n    name: \"example-pc\",\n    networkWatcherId: exampleNetworkWatcher.id,\n    virtualMachineScaleSetId: exampleLinuxVirtualMachineScaleSet.id,\n    storageLocation: {\n        filePath: \"/var/captures/packet.cap\",\n    },\n    machineScope: {\n        includeInstanceIds: [\"0\"],\n        excludeInstanceIds: [\"1\"],\n    },\n}, {\n    dependsOn: [exampleVirtualMachineScaleSetExtension],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_network_watcher = azure.network.NetworkWatcher(\"example\",\n    name=\"example-nw\",\n    location=example.location,\n    resource_group_name=example.name)\nexample_virtual_network = azure.network.VirtualNetwork(\"example\",\n    name=\"example-vn\",\n    address_spaces=[\"10.0.0.0/16\"],\n    location=example.location,\n    resource_group_name=example.name)\nexample_subnet = azure.network.Subnet(\"example\",\n    name=\"internal\",\n    resource_group_name=example.name,\n    virtual_network_name=example_virtual_network.name,\n    address_prefixes=[\"10.0.2.0/24\"])\nexample_linux_virtual_machine_scale_set = azure.compute.LinuxVirtualMachineScaleSet(\"example\",\n    name=\"example-vmss\",\n    resource_group_name=example.name,\n    location=example.location,\n    sku=\"Standard_F2\",\n    instances=4,\n    admin_username=\"adminuser\",\n    admin_password=\"P@ssword1234!\",\n    computer_name_prefix=\"my-linux-computer-name-prefix\",\n    upgrade_mode=\"Automatic\",\n    disable_password_authentication=False,\n    source_image_reference={\n        \"publisher\": \"Canonical\",\n        \"offer\": \"0001-com-ubuntu-server-jammy\",\n        \"sku\": \"22_04-lts\",\n        \"version\": \"latest\",\n    },\n    os_disk={\n        \"storage_account_type\": \"Standard_LRS\",\n        \"caching\": \"ReadWrite\",\n    },\n    network_interfaces=[{\n        \"name\": \"example\",\n        \"primary\": True,\n        \"ip_configurations\": [{\n            \"name\": \"internal\",\n            \"primary\": True,\n            \"subnet_id\": example_subnet.id,\n        }],\n    }])\nexample_virtual_machine_scale_set_extension = azure.compute.VirtualMachineScaleSetExtension(\"example\",\n    name=\"network-watcher\",\n    virtual_machine_scale_set_id=example_linux_virtual_machine_scale_set.id,\n    publisher=\"Microsoft.Azure.NetworkWatcher\",\n    type=\"NetworkWatcherAgentLinux\",\n    type_handler_version=\"1.4\",\n    auto_upgrade_minor_version=True,\n    automatic_upgrade_enabled=True)\nexample_scale_set_packet_capture = azure.compute.ScaleSetPacketCapture(\"example\",\n    name=\"example-pc\",\n    network_watcher_id=example_network_watcher.id,\n    virtual_machine_scale_set_id=example_linux_virtual_machine_scale_set.id,\n    storage_location={\n        \"file_path\": \"/var/captures/packet.cap\",\n    },\n    machine_scope={\n        \"include_instance_ids\": [\"0\"],\n        \"exclude_instance_ids\": [\"1\"],\n    },\n    opts = pulumi.ResourceOptions(depends_on=[example_virtual_machine_scale_set_extension]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleNetworkWatcher = new Azure.Network.NetworkWatcher(\"example\", new()\n    {\n        Name = \"example-nw\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n    });\n\n    var exampleVirtualNetwork = new Azure.Network.VirtualNetwork(\"example\", new()\n    {\n        Name = \"example-vn\",\n        AddressSpaces = new[]\n        {\n            \"10.0.0.0/16\",\n        },\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n    });\n\n    var exampleSubnet = new Azure.Network.Subnet(\"example\", new()\n    {\n        Name = \"internal\",\n        ResourceGroupName = example.Name,\n        VirtualNetworkName = exampleVirtualNetwork.Name,\n        AddressPrefixes = new[]\n        {\n            \"10.0.2.0/24\",\n        },\n    });\n\n    var exampleLinuxVirtualMachineScaleSet = new Azure.Compute.LinuxVirtualMachineScaleSet(\"example\", new()\n    {\n        Name = \"example-vmss\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        Sku = \"Standard_F2\",\n        Instances = 4,\n        AdminUsername = \"adminuser\",\n        AdminPassword = \"P@ssword1234!\",\n        ComputerNamePrefix = \"my-linux-computer-name-prefix\",\n        UpgradeMode = \"Automatic\",\n        DisablePasswordAuthentication = false,\n        SourceImageReference = new Azure.Compute.Inputs.LinuxVirtualMachineScaleSetSourceImageReferenceArgs\n        {\n            Publisher = \"Canonical\",\n            Offer = \"0001-com-ubuntu-server-jammy\",\n            Sku = \"22_04-lts\",\n            Version = \"latest\",\n        },\n        OsDisk = new Azure.Compute.Inputs.LinuxVirtualMachineScaleSetOsDiskArgs\n        {\n            StorageAccountType = \"Standard_LRS\",\n            Caching = \"ReadWrite\",\n        },\n        NetworkInterfaces = new[]\n        {\n            new Azure.Compute.Inputs.LinuxVirtualMachineScaleSetNetworkInterfaceArgs\n            {\n                Name = \"example\",\n                Primary = true,\n                IpConfigurations = new[]\n                {\n                    new Azure.Compute.Inputs.LinuxVirtualMachineScaleSetNetworkInterfaceIpConfigurationArgs\n                    {\n                        Name = \"internal\",\n                        Primary = true,\n                        SubnetId = exampleSubnet.Id,\n                    },\n                },\n            },\n        },\n    });\n\n    var exampleVirtualMachineScaleSetExtension = new Azure.Compute.VirtualMachineScaleSetExtension(\"example\", new()\n    {\n        Name = \"network-watcher\",\n        VirtualMachineScaleSetId = exampleLinuxVirtualMachineScaleSet.Id,\n        Publisher = \"Microsoft.Azure.NetworkWatcher\",\n        Type = \"NetworkWatcherAgentLinux\",\n        TypeHandlerVersion = \"1.4\",\n        AutoUpgradeMinorVersion = true,\n        AutomaticUpgradeEnabled = true,\n    });\n\n    var exampleScaleSetPacketCapture = new Azure.Compute.ScaleSetPacketCapture(\"example\", new()\n    {\n        Name = \"example-pc\",\n        NetworkWatcherId = exampleNetworkWatcher.Id,\n        VirtualMachineScaleSetId = exampleLinuxVirtualMachineScaleSet.Id,\n        StorageLocation = new Azure.Compute.Inputs.ScaleSetPacketCaptureStorageLocationArgs\n        {\n            FilePath = \"/var/captures/packet.cap\",\n        },\n        MachineScope = new Azure.Compute.Inputs.ScaleSetPacketCaptureMachineScopeArgs\n        {\n            IncludeInstanceIds = new[]\n            {\n                \"0\",\n            },\n            ExcludeInstanceIds = new[]\n            {\n                \"1\",\n            },\n        },\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            exampleVirtualMachineScaleSetExtension,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/compute\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNetworkWatcher, err := network.NewNetworkWatcher(ctx, \"example\", \u0026network.NetworkWatcherArgs{\n\t\t\tName:              pulumi.String(\"example-nw\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, \"example\", \u0026network.VirtualNetworkArgs{\n\t\t\tName: pulumi.String(\"example-vn\"),\n\t\t\tAddressSpaces: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.0.0/16\"),\n\t\t\t},\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSubnet, err := network.NewSubnet(ctx, \"example\", \u0026network.SubnetArgs{\n\t\t\tName:               pulumi.String(\"internal\"),\n\t\t\tResourceGroupName:  example.Name,\n\t\t\tVirtualNetworkName: exampleVirtualNetwork.Name,\n\t\t\tAddressPrefixes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.2.0/24\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleLinuxVirtualMachineScaleSet, err := compute.NewLinuxVirtualMachineScaleSet(ctx, \"example\", \u0026compute.LinuxVirtualMachineScaleSetArgs{\n\t\t\tName:                          pulumi.String(\"example-vmss\"),\n\t\t\tResourceGroupName:             example.Name,\n\t\t\tLocation:                      example.Location,\n\t\t\tSku:                           pulumi.String(\"Standard_F2\"),\n\t\t\tInstances:                     pulumi.Int(4),\n\t\t\tAdminUsername:                 pulumi.String(\"adminuser\"),\n\t\t\tAdminPassword:                 pulumi.String(\"P@ssword1234!\"),\n\t\t\tComputerNamePrefix:            pulumi.String(\"my-linux-computer-name-prefix\"),\n\t\t\tUpgradeMode:                   pulumi.String(\"Automatic\"),\n\t\t\tDisablePasswordAuthentication: pulumi.Bool(false),\n\t\t\tSourceImageReference: \u0026compute.LinuxVirtualMachineScaleSetSourceImageReferenceArgs{\n\t\t\t\tPublisher: pulumi.String(\"Canonical\"),\n\t\t\t\tOffer:     pulumi.String(\"0001-com-ubuntu-server-jammy\"),\n\t\t\t\tSku:       pulumi.String(\"22_04-lts\"),\n\t\t\t\tVersion:   pulumi.String(\"latest\"),\n\t\t\t},\n\t\t\tOsDisk: \u0026compute.LinuxVirtualMachineScaleSetOsDiskArgs{\n\t\t\t\tStorageAccountType: pulumi.String(\"Standard_LRS\"),\n\t\t\t\tCaching:            pulumi.String(\"ReadWrite\"),\n\t\t\t},\n\t\t\tNetworkInterfaces: compute.LinuxVirtualMachineScaleSetNetworkInterfaceArray{\n\t\t\t\t\u0026compute.LinuxVirtualMachineScaleSetNetworkInterfaceArgs{\n\t\t\t\t\tName:    pulumi.String(\"example\"),\n\t\t\t\t\tPrimary: pulumi.Bool(true),\n\t\t\t\t\tIpConfigurations: compute.LinuxVirtualMachineScaleSetNetworkInterfaceIpConfigurationArray{\n\t\t\t\t\t\t\u0026compute.LinuxVirtualMachineScaleSetNetworkInterfaceIpConfigurationArgs{\n\t\t\t\t\t\t\tName:     pulumi.String(\"internal\"),\n\t\t\t\t\t\t\tPrimary:  pulumi.Bool(true),\n\t\t\t\t\t\t\tSubnetId: exampleSubnet.ID(),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualMachineScaleSetExtension, err := compute.NewVirtualMachineScaleSetExtension(ctx, \"example\", \u0026compute.VirtualMachineScaleSetExtensionArgs{\n\t\t\tName:                     pulumi.String(\"network-watcher\"),\n\t\t\tVirtualMachineScaleSetId: exampleLinuxVirtualMachineScaleSet.ID(),\n\t\t\tPublisher:                pulumi.String(\"Microsoft.Azure.NetworkWatcher\"),\n\t\t\tType:                     pulumi.String(\"NetworkWatcherAgentLinux\"),\n\t\t\tTypeHandlerVersion:       pulumi.String(\"1.4\"),\n\t\t\tAutoUpgradeMinorVersion:  pulumi.Bool(true),\n\t\t\tAutomaticUpgradeEnabled:  pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = compute.NewScaleSetPacketCapture(ctx, \"example\", \u0026compute.ScaleSetPacketCaptureArgs{\n\t\t\tName:                     pulumi.String(\"example-pc\"),\n\t\t\tNetworkWatcherId:         exampleNetworkWatcher.ID(),\n\t\t\tVirtualMachineScaleSetId: exampleLinuxVirtualMachineScaleSet.ID(),\n\t\t\tStorageLocation: \u0026compute.ScaleSetPacketCaptureStorageLocationArgs{\n\t\t\t\tFilePath: pulumi.String(\"/var/captures/packet.cap\"),\n\t\t\t},\n\t\t\tMachineScope: \u0026compute.ScaleSetPacketCaptureMachineScopeArgs{\n\t\t\t\tIncludeInstanceIds: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"0\"),\n\t\t\t\t},\n\t\t\t\tExcludeInstanceIds: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"1\"),\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleVirtualMachineScaleSetExtension,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.NetworkWatcher;\nimport com.pulumi.azure.network.NetworkWatcherArgs;\nimport com.pulumi.azure.network.VirtualNetwork;\nimport com.pulumi.azure.network.VirtualNetworkArgs;\nimport com.pulumi.azure.network.Subnet;\nimport com.pulumi.azure.network.SubnetArgs;\nimport com.pulumi.azure.compute.LinuxVirtualMachineScaleSet;\nimport com.pulumi.azure.compute.LinuxVirtualMachineScaleSetArgs;\nimport com.pulumi.azure.compute.inputs.LinuxVirtualMachineScaleSetSourceImageReferenceArgs;\nimport com.pulumi.azure.compute.inputs.LinuxVirtualMachineScaleSetOsDiskArgs;\nimport com.pulumi.azure.compute.inputs.LinuxVirtualMachineScaleSetNetworkInterfaceArgs;\nimport com.pulumi.azure.compute.VirtualMachineScaleSetExtension;\nimport com.pulumi.azure.compute.VirtualMachineScaleSetExtensionArgs;\nimport com.pulumi.azure.compute.ScaleSetPacketCapture;\nimport com.pulumi.azure.compute.ScaleSetPacketCaptureArgs;\nimport com.pulumi.azure.compute.inputs.ScaleSetPacketCaptureStorageLocationArgs;\nimport com.pulumi.azure.compute.inputs.ScaleSetPacketCaptureMachineScopeArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleNetworkWatcher = new NetworkWatcher(\"exampleNetworkWatcher\", NetworkWatcherArgs.builder()\n            .name(\"example-nw\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .build());\n\n        var exampleVirtualNetwork = new VirtualNetwork(\"exampleVirtualNetwork\", VirtualNetworkArgs.builder()\n            .name(\"example-vn\")\n            .addressSpaces(\"10.0.0.0/16\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .build());\n\n        var exampleSubnet = new Subnet(\"exampleSubnet\", SubnetArgs.builder()\n            .name(\"internal\")\n            .resourceGroupName(example.name())\n            .virtualNetworkName(exampleVirtualNetwork.name())\n            .addressPrefixes(\"10.0.2.0/24\")\n            .build());\n\n        var exampleLinuxVirtualMachineScaleSet = new LinuxVirtualMachineScaleSet(\"exampleLinuxVirtualMachineScaleSet\", LinuxVirtualMachineScaleSetArgs.builder()\n            .name(\"example-vmss\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .sku(\"Standard_F2\")\n            .instances(4)\n            .adminUsername(\"adminuser\")\n            .adminPassword(\"P@ssword1234!\")\n            .computerNamePrefix(\"my-linux-computer-name-prefix\")\n            .upgradeMode(\"Automatic\")\n            .disablePasswordAuthentication(false)\n            .sourceImageReference(LinuxVirtualMachineScaleSetSourceImageReferenceArgs.builder()\n                .publisher(\"Canonical\")\n                .offer(\"0001-com-ubuntu-server-jammy\")\n                .sku(\"22_04-lts\")\n                .version(\"latest\")\n                .build())\n            .osDisk(LinuxVirtualMachineScaleSetOsDiskArgs.builder()\n                .storageAccountType(\"Standard_LRS\")\n                .caching(\"ReadWrite\")\n                .build())\n            .networkInterfaces(LinuxVirtualMachineScaleSetNetworkInterfaceArgs.builder()\n                .name(\"example\")\n                .primary(true)\n                .ipConfigurations(LinuxVirtualMachineScaleSetNetworkInterfaceIpConfigurationArgs.builder()\n                    .name(\"internal\")\n                    .primary(true)\n                    .subnetId(exampleSubnet.id())\n                    .build())\n                .build())\n            .build());\n\n        var exampleVirtualMachineScaleSetExtension = new VirtualMachineScaleSetExtension(\"exampleVirtualMachineScaleSetExtension\", VirtualMachineScaleSetExtensionArgs.builder()\n            .name(\"network-watcher\")\n            .virtualMachineScaleSetId(exampleLinuxVirtualMachineScaleSet.id())\n            .publisher(\"Microsoft.Azure.NetworkWatcher\")\n            .type(\"NetworkWatcherAgentLinux\")\n            .typeHandlerVersion(\"1.4\")\n            .autoUpgradeMinorVersion(true)\n            .automaticUpgradeEnabled(true)\n            .build());\n\n        var exampleScaleSetPacketCapture = new ScaleSetPacketCapture(\"exampleScaleSetPacketCapture\", ScaleSetPacketCaptureArgs.builder()\n            .name(\"example-pc\")\n            .networkWatcherId(exampleNetworkWatcher.id())\n            .virtualMachineScaleSetId(exampleLinuxVirtualMachineScaleSet.id())\n            .storageLocation(ScaleSetPacketCaptureStorageLocationArgs.builder()\n                .filePath(\"/var/captures/packet.cap\")\n                .build())\n            .machineScope(ScaleSetPacketCaptureMachineScopeArgs.builder()\n                .includeInstanceIds(\"0\")\n                .excludeInstanceIds(\"1\")\n                .build())\n            .build(), CustomResourceOptions.builder()\n                .dependsOn(exampleVirtualMachineScaleSetExtension)\n                .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleNetworkWatcher:\n    type: azure:network:NetworkWatcher\n    name: example\n    properties:\n      name: example-nw\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n  exampleVirtualNetwork:\n    type: azure:network:VirtualNetwork\n    name: example\n    properties:\n      name: example-vn\n      addressSpaces:\n        - 10.0.0.0/16\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n  exampleSubnet:\n    type: azure:network:Subnet\n    name: example\n    properties:\n      name: internal\n      resourceGroupName: ${example.name}\n      virtualNetworkName: ${exampleVirtualNetwork.name}\n      addressPrefixes:\n        - 10.0.2.0/24\n  exampleLinuxVirtualMachineScaleSet:\n    type: azure:compute:LinuxVirtualMachineScaleSet\n    name: example\n    properties:\n      name: example-vmss\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      sku: Standard_F2\n      instances: 4\n      adminUsername: adminuser\n      adminPassword: P@ssword1234!\n      computerNamePrefix: my-linux-computer-name-prefix\n      upgradeMode: Automatic\n      disablePasswordAuthentication: false\n      sourceImageReference:\n        publisher: Canonical\n        offer: 0001-com-ubuntu-server-jammy\n        sku: 22_04-lts\n        version: latest\n      osDisk:\n        storageAccountType: Standard_LRS\n        caching: ReadWrite\n      networkInterfaces:\n        - name: example\n          primary: true\n          ipConfigurations:\n            - name: internal\n              primary: true\n              subnetId: ${exampleSubnet.id}\n  exampleVirtualMachineScaleSetExtension:\n    type: azure:compute:VirtualMachineScaleSetExtension\n    name: example\n    properties:\n      name: network-watcher\n      virtualMachineScaleSetId: ${exampleLinuxVirtualMachineScaleSet.id}\n      publisher: Microsoft.Azure.NetworkWatcher\n      type: NetworkWatcherAgentLinux\n      typeHandlerVersion: '1.4'\n      autoUpgradeMinorVersion: true\n      automaticUpgradeEnabled: true\n  exampleScaleSetPacketCapture:\n    type: azure:compute:ScaleSetPacketCapture\n    name: example\n    properties:\n      name: example-pc\n      networkWatcherId: ${exampleNetworkWatcher.id}\n      virtualMachineScaleSetId: ${exampleLinuxVirtualMachineScaleSet.id}\n      storageLocation:\n        filePath: /var/captures/packet.cap\n      machineScope:\n        includeInstanceIds:\n          - '0'\n        excludeInstanceIds:\n          - '1'\n    options:\n      dependsOn:\n        - ${exampleVirtualMachineScaleSetExtension}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003e **Note:** This Resource requires that [the Network Watcher Extension](https://docs.microsoft.com/azure/network-watcher/network-watcher-packet-capture-manage-portal#before-you-begin) is installed on the Virtual Machine Scale Set before capturing can be enabled which can be installed via the \u003cspan pulumi-lang-nodejs=\"`azure.compute.VirtualMachineScaleSetExtension`\" pulumi-lang-dotnet=\"`azure.compute.VirtualMachineScaleSetExtension`\" pulumi-lang-go=\"`compute.VirtualMachineScaleSetExtension`\" pulumi-lang-python=\"`compute.VirtualMachineScaleSetExtension`\" pulumi-lang-yaml=\"`azure.compute.VirtualMachineScaleSetExtension`\" pulumi-lang-java=\"`azure.compute.VirtualMachineScaleSetExtension`\"\u003e`azure.compute.VirtualMachineScaleSetExtension`\u003c/span\u003e resource.\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2025-01-01\n\n## Import\n\nVirtual Machine Scale Set Packet Captures can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:compute/scaleSetPacketCapture:ScaleSetPacketCapture capture1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Network/networkWatchers/watcher1/packetCaptures/capture1\n```\n\n","properties":{"filters":{"type":"array","items":{"$ref":"#/types/azure:compute/ScaleSetPacketCaptureFilter:ScaleSetPacketCaptureFilter"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`filter`\" pulumi-lang-dotnet=\"`Filter`\" pulumi-lang-go=\"`filter`\" pulumi-lang-python=\"`filter`\" pulumi-lang-yaml=\"`filter`\" pulumi-lang-java=\"`filter`\"\u003e`filter`\u003c/span\u003e blocks as defined below. Changing this forces a new resource to be created.\n"},"machineScope":{"$ref":"#/types/azure:compute/ScaleSetPacketCaptureMachineScope:ScaleSetPacketCaptureMachineScope","description":"A \u003cspan pulumi-lang-nodejs=\"`machineScope`\" pulumi-lang-dotnet=\"`MachineScope`\" pulumi-lang-go=\"`machineScope`\" pulumi-lang-python=\"`machine_scope`\" pulumi-lang-yaml=\"`machineScope`\" pulumi-lang-java=\"`machineScope`\"\u003e`machine_scope`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n"},"maximumBytesPerPacket":{"type":"integer","description":"The number of bytes captured per packet. The remaining bytes are truncated. Defaults to \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e (Entire Packet Captured). Changing this forces a new resource to be created.\n"},"maximumBytesPerSession":{"type":"integer","description":"Maximum size of the capture in Bytes. Defaults to \u003cspan pulumi-lang-nodejs=\"`1073741824`\" pulumi-lang-dotnet=\"`1073741824`\" pulumi-lang-go=\"`1073741824`\" pulumi-lang-python=\"`1073741824`\" pulumi-lang-yaml=\"`1073741824`\" pulumi-lang-java=\"`1073741824`\"\u003e`1073741824`\u003c/span\u003e (1GB). Changing this forces a new resource to be created.\n"},"maximumCaptureDurationInSeconds":{"type":"integer","description":"The maximum duration of the capture session in seconds. Defaults to \u003cspan pulumi-lang-nodejs=\"`18000`\" pulumi-lang-dotnet=\"`18000`\" pulumi-lang-go=\"`18000`\" pulumi-lang-python=\"`18000`\" pulumi-lang-yaml=\"`18000`\" pulumi-lang-java=\"`18000`\"\u003e`18000`\u003c/span\u003e (5 hours). Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"The name to use for this Network Packet Capture. Changing this forces a new resource to be created.\n"},"networkWatcherId":{"type":"string","description":"The resource ID of the Network Watcher. Changing this forces a new resource to be created.\n"},"storageLocation":{"$ref":"#/types/azure:compute/ScaleSetPacketCaptureStorageLocation:ScaleSetPacketCaptureStorageLocation","description":"A \u003cspan pulumi-lang-nodejs=\"`storageLocation`\" pulumi-lang-dotnet=\"`StorageLocation`\" pulumi-lang-go=\"`storageLocation`\" pulumi-lang-python=\"`storage_location`\" pulumi-lang-yaml=\"`storageLocation`\" pulumi-lang-java=\"`storageLocation`\"\u003e`storage_location`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n"},"virtualMachineScaleSetId":{"type":"string","description":"The resource ID of the Virtual Machine Scale Set to capture packets from. Changing this forces a new resource to be created.\n"}},"required":["name","networkWatcherId","storageLocation","virtualMachineScaleSetId"],"inputProperties":{"filters":{"type":"array","items":{"$ref":"#/types/azure:compute/ScaleSetPacketCaptureFilter:ScaleSetPacketCaptureFilter"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`filter`\" pulumi-lang-dotnet=\"`Filter`\" pulumi-lang-go=\"`filter`\" pulumi-lang-python=\"`filter`\" pulumi-lang-yaml=\"`filter`\" pulumi-lang-java=\"`filter`\"\u003e`filter`\u003c/span\u003e blocks as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"machineScope":{"$ref":"#/types/azure:compute/ScaleSetPacketCaptureMachineScope:ScaleSetPacketCaptureMachineScope","description":"A \u003cspan pulumi-lang-nodejs=\"`machineScope`\" pulumi-lang-dotnet=\"`MachineScope`\" pulumi-lang-go=\"`machineScope`\" pulumi-lang-python=\"`machine_scope`\" pulumi-lang-yaml=\"`machineScope`\" pulumi-lang-java=\"`machineScope`\"\u003e`machine_scope`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"maximumBytesPerPacket":{"type":"integer","description":"The number of bytes captured per packet. The remaining bytes are truncated. Defaults to \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e (Entire Packet Captured). Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"maximumBytesPerSession":{"type":"integer","description":"Maximum size of the capture in Bytes. Defaults to \u003cspan pulumi-lang-nodejs=\"`1073741824`\" pulumi-lang-dotnet=\"`1073741824`\" pulumi-lang-go=\"`1073741824`\" pulumi-lang-python=\"`1073741824`\" pulumi-lang-yaml=\"`1073741824`\" pulumi-lang-java=\"`1073741824`\"\u003e`1073741824`\u003c/span\u003e (1GB). Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"maximumCaptureDurationInSeconds":{"type":"integer","description":"The maximum duration of the capture session in seconds. Defaults to \u003cspan pulumi-lang-nodejs=\"`18000`\" pulumi-lang-dotnet=\"`18000`\" pulumi-lang-go=\"`18000`\" pulumi-lang-python=\"`18000`\" pulumi-lang-yaml=\"`18000`\" pulumi-lang-java=\"`18000`\"\u003e`18000`\u003c/span\u003e (5 hours). Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name to use for this Network Packet Capture. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"networkWatcherId":{"type":"string","description":"The resource ID of the Network Watcher. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"storageLocation":{"$ref":"#/types/azure:compute/ScaleSetPacketCaptureStorageLocation:ScaleSetPacketCaptureStorageLocation","description":"A \u003cspan pulumi-lang-nodejs=\"`storageLocation`\" pulumi-lang-dotnet=\"`StorageLocation`\" pulumi-lang-go=\"`storageLocation`\" pulumi-lang-python=\"`storage_location`\" pulumi-lang-yaml=\"`storageLocation`\" pulumi-lang-java=\"`storageLocation`\"\u003e`storage_location`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"virtualMachineScaleSetId":{"type":"string","description":"The resource ID of the Virtual Machine Scale Set to capture packets from. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["networkWatcherId","storageLocation","virtualMachineScaleSetId"],"stateInputs":{"description":"Input properties used for looking up and filtering ScaleSetPacketCapture resources.\n","properties":{"filters":{"type":"array","items":{"$ref":"#/types/azure:compute/ScaleSetPacketCaptureFilter:ScaleSetPacketCaptureFilter"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`filter`\" pulumi-lang-dotnet=\"`Filter`\" pulumi-lang-go=\"`filter`\" pulumi-lang-python=\"`filter`\" pulumi-lang-yaml=\"`filter`\" pulumi-lang-java=\"`filter`\"\u003e`filter`\u003c/span\u003e blocks as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"machineScope":{"$ref":"#/types/azure:compute/ScaleSetPacketCaptureMachineScope:ScaleSetPacketCaptureMachineScope","description":"A \u003cspan pulumi-lang-nodejs=\"`machineScope`\" pulumi-lang-dotnet=\"`MachineScope`\" pulumi-lang-go=\"`machineScope`\" pulumi-lang-python=\"`machine_scope`\" pulumi-lang-yaml=\"`machineScope`\" pulumi-lang-java=\"`machineScope`\"\u003e`machine_scope`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"maximumBytesPerPacket":{"type":"integer","description":"The number of bytes captured per packet. The remaining bytes are truncated. Defaults to \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e (Entire Packet Captured). Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"maximumBytesPerSession":{"type":"integer","description":"Maximum size of the capture in Bytes. Defaults to \u003cspan pulumi-lang-nodejs=\"`1073741824`\" pulumi-lang-dotnet=\"`1073741824`\" pulumi-lang-go=\"`1073741824`\" pulumi-lang-python=\"`1073741824`\" pulumi-lang-yaml=\"`1073741824`\" pulumi-lang-java=\"`1073741824`\"\u003e`1073741824`\u003c/span\u003e (1GB). Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"maximumCaptureDurationInSeconds":{"type":"integer","description":"The maximum duration of the capture session in seconds. Defaults to \u003cspan pulumi-lang-nodejs=\"`18000`\" pulumi-lang-dotnet=\"`18000`\" pulumi-lang-go=\"`18000`\" pulumi-lang-python=\"`18000`\" pulumi-lang-yaml=\"`18000`\" pulumi-lang-java=\"`18000`\"\u003e`18000`\u003c/span\u003e (5 hours). Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name to use for this Network Packet Capture. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"networkWatcherId":{"type":"string","description":"The resource ID of the Network Watcher. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"storageLocation":{"$ref":"#/types/azure:compute/ScaleSetPacketCaptureStorageLocation:ScaleSetPacketCaptureStorageLocation","description":"A \u003cspan pulumi-lang-nodejs=\"`storageLocation`\" pulumi-lang-dotnet=\"`StorageLocation`\" pulumi-lang-go=\"`storageLocation`\" pulumi-lang-python=\"`storage_location`\" pulumi-lang-yaml=\"`storageLocation`\" pulumi-lang-java=\"`storageLocation`\"\u003e`storage_location`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"virtualMachineScaleSetId":{"type":"string","description":"The resource ID of the Virtual Machine Scale Set to capture packets from. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:compute/scaleSetStandbyPool:ScaleSetStandbyPool":{"description":"Manages a Standby Pool for Virtual Machine Scale Sets.\n\u003e **Note:** please follow the prerequisites mentioned in this [article](https://learn.microsoft.com/azure/virtual-machine-scale-sets/standby-pools-create?tabs=portal#prerequisites) before using this resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleOrchestratedVirtualMachineScaleSet = new azure.compute.OrchestratedVirtualMachineScaleSet(\"example\", {\n    name: \"example-ovmss\",\n    location: example.location,\n    resourceGroupName: example.name,\n    platformFaultDomainCount: 1,\n    zones: [\"1\"],\n});\nconst exampleScaleSetStandbyPool = new azure.compute.ScaleSetStandbyPool(\"example\", {\n    name: \"example-spsvmp\",\n    resourceGroupName: example.name,\n    location: \"West Europe\",\n    attachedVirtualMachineScaleSetId: exampleOrchestratedVirtualMachineScaleSet.id,\n    virtualMachineState: \"Running\",\n    elasticityProfile: {\n        maxReadyCapacity: 10,\n        minReadyCapacity: 5,\n    },\n    tags: {\n        key: \"value\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_orchestrated_virtual_machine_scale_set = azure.compute.OrchestratedVirtualMachineScaleSet(\"example\",\n    name=\"example-ovmss\",\n    location=example.location,\n    resource_group_name=example.name,\n    platform_fault_domain_count=1,\n    zones=[\"1\"])\nexample_scale_set_standby_pool = azure.compute.ScaleSetStandbyPool(\"example\",\n    name=\"example-spsvmp\",\n    resource_group_name=example.name,\n    location=\"West Europe\",\n    attached_virtual_machine_scale_set_id=example_orchestrated_virtual_machine_scale_set.id,\n    virtual_machine_state=\"Running\",\n    elasticity_profile={\n        \"max_ready_capacity\": 10,\n        \"min_ready_capacity\": 5,\n    },\n    tags={\n        \"key\": \"value\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleOrchestratedVirtualMachineScaleSet = new Azure.Compute.OrchestratedVirtualMachineScaleSet(\"example\", new()\n    {\n        Name = \"example-ovmss\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        PlatformFaultDomainCount = 1,\n        Zones = new[]\n        {\n            \"1\",\n        },\n    });\n\n    var exampleScaleSetStandbyPool = new Azure.Compute.ScaleSetStandbyPool(\"example\", new()\n    {\n        Name = \"example-spsvmp\",\n        ResourceGroupName = example.Name,\n        Location = \"West Europe\",\n        AttachedVirtualMachineScaleSetId = exampleOrchestratedVirtualMachineScaleSet.Id,\n        VirtualMachineState = \"Running\",\n        ElasticityProfile = new Azure.Compute.Inputs.ScaleSetStandbyPoolElasticityProfileArgs\n        {\n            MaxReadyCapacity = 10,\n            MinReadyCapacity = 5,\n        },\n        Tags = \n        {\n            { \"key\", \"value\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/compute\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleOrchestratedVirtualMachineScaleSet, err := compute.NewOrchestratedVirtualMachineScaleSet(ctx, \"example\", \u0026compute.OrchestratedVirtualMachineScaleSetArgs{\n\t\t\tName:                     pulumi.String(\"example-ovmss\"),\n\t\t\tLocation:                 example.Location,\n\t\t\tResourceGroupName:        example.Name,\n\t\t\tPlatformFaultDomainCount: pulumi.Int(1),\n\t\t\tZones: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"1\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = compute.NewScaleSetStandbyPool(ctx, \"example\", \u0026compute.ScaleSetStandbyPoolArgs{\n\t\t\tName:                             pulumi.String(\"example-spsvmp\"),\n\t\t\tResourceGroupName:                example.Name,\n\t\t\tLocation:                         pulumi.String(\"West Europe\"),\n\t\t\tAttachedVirtualMachineScaleSetId: exampleOrchestratedVirtualMachineScaleSet.ID(),\n\t\t\tVirtualMachineState:              pulumi.String(\"Running\"),\n\t\t\tElasticityProfile: \u0026compute.ScaleSetStandbyPoolElasticityProfileArgs{\n\t\t\t\tMaxReadyCapacity: pulumi.Int(10),\n\t\t\t\tMinReadyCapacity: pulumi.Int(5),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"key\": pulumi.String(\"value\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.compute.OrchestratedVirtualMachineScaleSet;\nimport com.pulumi.azure.compute.OrchestratedVirtualMachineScaleSetArgs;\nimport com.pulumi.azure.compute.ScaleSetStandbyPool;\nimport com.pulumi.azure.compute.ScaleSetStandbyPoolArgs;\nimport com.pulumi.azure.compute.inputs.ScaleSetStandbyPoolElasticityProfileArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleOrchestratedVirtualMachineScaleSet = new OrchestratedVirtualMachineScaleSet(\"exampleOrchestratedVirtualMachineScaleSet\", OrchestratedVirtualMachineScaleSetArgs.builder()\n            .name(\"example-ovmss\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .platformFaultDomainCount(1)\n            .zones(\"1\")\n            .build());\n\n        var exampleScaleSetStandbyPool = new ScaleSetStandbyPool(\"exampleScaleSetStandbyPool\", ScaleSetStandbyPoolArgs.builder()\n            .name(\"example-spsvmp\")\n            .resourceGroupName(example.name())\n            .location(\"West Europe\")\n            .attachedVirtualMachineScaleSetId(exampleOrchestratedVirtualMachineScaleSet.id())\n            .virtualMachineState(\"Running\")\n            .elasticityProfile(ScaleSetStandbyPoolElasticityProfileArgs.builder()\n                .maxReadyCapacity(10)\n                .minReadyCapacity(5)\n                .build())\n            .tags(Map.of(\"key\", \"value\"))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleOrchestratedVirtualMachineScaleSet:\n    type: azure:compute:OrchestratedVirtualMachineScaleSet\n    name: example\n    properties:\n      name: example-ovmss\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      platformFaultDomainCount: 1\n      zones:\n        - '1'\n  exampleScaleSetStandbyPool:\n    type: azure:compute:ScaleSetStandbyPool\n    name: example\n    properties:\n      name: example-spsvmp\n      resourceGroupName: ${example.name}\n      location: West Europe\n      attachedVirtualMachineScaleSetId: ${exampleOrchestratedVirtualMachineScaleSet.id}\n      virtualMachineState: Running\n      elasticityProfile:\n        maxReadyCapacity: 10\n        minReadyCapacity: 5\n      tags:\n        key: value\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.StandbyPool` - 2025-03-01\n\n## Import\n\nStandby Pool can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:compute/scaleSetStandbyPool:ScaleSetStandbyPool example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup1/providers/Microsoft.StandbyPool/standbyVirtualMachinePools/standbyVirtualMachinePool1\n```\n\n","properties":{"attachedVirtualMachineScaleSetId":{"type":"string","description":"Specifies the fully qualified resource ID of a virtual machine scale set the pool is attached to.\n"},"elasticityProfile":{"$ref":"#/types/azure:compute/ScaleSetStandbyPoolElasticityProfile:ScaleSetStandbyPoolElasticityProfile","description":"An \u003cspan pulumi-lang-nodejs=\"`elasticityProfile`\" pulumi-lang-dotnet=\"`ElasticityProfile`\" pulumi-lang-go=\"`elasticityProfile`\" pulumi-lang-python=\"`elasticity_profile`\" pulumi-lang-yaml=\"`elasticityProfile`\" pulumi-lang-java=\"`elasticityProfile`\"\u003e`elasticity_profile`\u003c/span\u003e block as defined below.\n"},"location":{"type":"string","description":"Specifies the Azure Region where the Standby Pool should exist. Changing this forces a new Standby Pool to be created.\n"},"name":{"type":"string","description":"Specifies the name which should be used for this Standby Pool. Changing this forces a new Standby Pool to be created.\n"},"resourceGroupName":{"type":"string","description":"Specifies the name of the Resource Group where the Standby Pool should exist. Changing this forces a new Standby Pool to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Standby Pool.\n"},"virtualMachineState":{"type":"string","description":"Specifies the desired state of virtual machines in the pool. Possible values are `Deallocated`, `Hibernated` and `Running`.\n"}},"required":["attachedVirtualMachineScaleSetId","elasticityProfile","location","name","resourceGroupName","virtualMachineState"],"inputProperties":{"attachedVirtualMachineScaleSetId":{"type":"string","description":"Specifies the fully qualified resource ID of a virtual machine scale set the pool is attached to.\n"},"elasticityProfile":{"$ref":"#/types/azure:compute/ScaleSetStandbyPoolElasticityProfile:ScaleSetStandbyPoolElasticityProfile","description":"An \u003cspan pulumi-lang-nodejs=\"`elasticityProfile`\" pulumi-lang-dotnet=\"`ElasticityProfile`\" pulumi-lang-go=\"`elasticityProfile`\" pulumi-lang-python=\"`elasticity_profile`\" pulumi-lang-yaml=\"`elasticityProfile`\" pulumi-lang-java=\"`elasticityProfile`\"\u003e`elasticity_profile`\u003c/span\u003e block as defined below.\n"},"location":{"type":"string","description":"Specifies the Azure Region where the Standby Pool should exist. Changing this forces a new Standby Pool to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name which should be used for this Standby Pool. Changing this forces a new Standby Pool to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"Specifies the name of the Resource Group where the Standby Pool should exist. Changing this forces a new Standby Pool to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Standby Pool.\n"},"virtualMachineState":{"type":"string","description":"Specifies the desired state of virtual machines in the pool. Possible values are `Deallocated`, `Hibernated` and `Running`.\n"}},"requiredInputs":["attachedVirtualMachineScaleSetId","elasticityProfile","resourceGroupName","virtualMachineState"],"stateInputs":{"description":"Input properties used for looking up and filtering ScaleSetStandbyPool resources.\n","properties":{"attachedVirtualMachineScaleSetId":{"type":"string","description":"Specifies the fully qualified resource ID of a virtual machine scale set the pool is attached to.\n"},"elasticityProfile":{"$ref":"#/types/azure:compute/ScaleSetStandbyPoolElasticityProfile:ScaleSetStandbyPoolElasticityProfile","description":"An \u003cspan pulumi-lang-nodejs=\"`elasticityProfile`\" pulumi-lang-dotnet=\"`ElasticityProfile`\" pulumi-lang-go=\"`elasticityProfile`\" pulumi-lang-python=\"`elasticity_profile`\" pulumi-lang-yaml=\"`elasticityProfile`\" pulumi-lang-java=\"`elasticityProfile`\"\u003e`elasticity_profile`\u003c/span\u003e block as defined below.\n"},"location":{"type":"string","description":"Specifies the Azure Region where the Standby Pool should exist. Changing this forces a new Standby Pool to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name which should be used for this Standby Pool. Changing this forces a new Standby Pool to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"Specifies the name of the Resource Group where the Standby Pool should exist. Changing this forces a new Standby Pool to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Standby Pool.\n"},"virtualMachineState":{"type":"string","description":"Specifies the desired state of virtual machines in the pool. Possible values are `Deallocated`, `Hibernated` and `Running`.\n"}},"type":"object"}},"azure:compute/sharedImage:SharedImage":{"description":"Manages a Shared Image within a Shared Image Gallery.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleSharedImageGallery = new azure.compute.SharedImageGallery(\"example\", {\n    name: \"example_image_gallery\",\n    resourceGroupName: example.name,\n    location: example.location,\n    description: \"Shared images and things.\",\n    tags: {\n        Hello: \"There\",\n        World: \"Example\",\n    },\n});\nconst exampleSharedImage = new azure.compute.SharedImage(\"example\", {\n    name: \"my-image\",\n    galleryName: exampleSharedImageGallery.name,\n    resourceGroupName: example.name,\n    location: example.location,\n    osType: \"Linux\",\n    identifier: {\n        publisher: \"PublisherName\",\n        offer: \"OfferName\",\n        sku: \"ExampleSku\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_shared_image_gallery = azure.compute.SharedImageGallery(\"example\",\n    name=\"example_image_gallery\",\n    resource_group_name=example.name,\n    location=example.location,\n    description=\"Shared images and things.\",\n    tags={\n        \"Hello\": \"There\",\n        \"World\": \"Example\",\n    })\nexample_shared_image = azure.compute.SharedImage(\"example\",\n    name=\"my-image\",\n    gallery_name=example_shared_image_gallery.name,\n    resource_group_name=example.name,\n    location=example.location,\n    os_type=\"Linux\",\n    identifier={\n        \"publisher\": \"PublisherName\",\n        \"offer\": \"OfferName\",\n        \"sku\": \"ExampleSku\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleSharedImageGallery = new Azure.Compute.SharedImageGallery(\"example\", new()\n    {\n        Name = \"example_image_gallery\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        Description = \"Shared images and things.\",\n        Tags = \n        {\n            { \"Hello\", \"There\" },\n            { \"World\", \"Example\" },\n        },\n    });\n\n    var exampleSharedImage = new Azure.Compute.SharedImage(\"example\", new()\n    {\n        Name = \"my-image\",\n        GalleryName = exampleSharedImageGallery.Name,\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        OsType = \"Linux\",\n        Identifier = new Azure.Compute.Inputs.SharedImageIdentifierArgs\n        {\n            Publisher = \"PublisherName\",\n            Offer = \"OfferName\",\n            Sku = \"ExampleSku\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/compute\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSharedImageGallery, err := compute.NewSharedImageGallery(ctx, \"example\", \u0026compute.SharedImageGalleryArgs{\n\t\t\tName:              pulumi.String(\"example_image_gallery\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tDescription:       pulumi.String(\"Shared images and things.\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Hello\": pulumi.String(\"There\"),\n\t\t\t\t\"World\": pulumi.String(\"Example\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = compute.NewSharedImage(ctx, \"example\", \u0026compute.SharedImageArgs{\n\t\t\tName:              pulumi.String(\"my-image\"),\n\t\t\tGalleryName:       exampleSharedImageGallery.Name,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tOsType:            pulumi.String(\"Linux\"),\n\t\t\tIdentifier: \u0026compute.SharedImageIdentifierArgs{\n\t\t\t\tPublisher: pulumi.String(\"PublisherName\"),\n\t\t\t\tOffer:     pulumi.String(\"OfferName\"),\n\t\t\t\tSku:       pulumi.String(\"ExampleSku\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.compute.SharedImageGallery;\nimport com.pulumi.azure.compute.SharedImageGalleryArgs;\nimport com.pulumi.azure.compute.SharedImage;\nimport com.pulumi.azure.compute.SharedImageArgs;\nimport com.pulumi.azure.compute.inputs.SharedImageIdentifierArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleSharedImageGallery = new SharedImageGallery(\"exampleSharedImageGallery\", SharedImageGalleryArgs.builder()\n            .name(\"example_image_gallery\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .description(\"Shared images and things.\")\n            .tags(Map.ofEntries(\n                Map.entry(\"Hello\", \"There\"),\n                Map.entry(\"World\", \"Example\")\n            ))\n            .build());\n\n        var exampleSharedImage = new SharedImage(\"exampleSharedImage\", SharedImageArgs.builder()\n            .name(\"my-image\")\n            .galleryName(exampleSharedImageGallery.name())\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .osType(\"Linux\")\n            .identifier(SharedImageIdentifierArgs.builder()\n                .publisher(\"PublisherName\")\n                .offer(\"OfferName\")\n                .sku(\"ExampleSku\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleSharedImageGallery:\n    type: azure:compute:SharedImageGallery\n    name: example\n    properties:\n      name: example_image_gallery\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      description: Shared images and things.\n      tags:\n        Hello: There\n        World: Example\n  exampleSharedImage:\n    type: azure:compute:SharedImage\n    name: example\n    properties:\n      name: my-image\n      galleryName: ${exampleSharedImageGallery.name}\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      osType: Linux\n      identifier:\n        publisher: PublisherName\n        offer: OfferName\n        sku: ExampleSku\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Compute` - 2022-03-03\n\n## Import\n\nShared Images can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:compute/sharedImage:SharedImage image1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Compute/galleries/gallery1/images/image1\n```\n\n","properties":{"acceleratedNetworkSupportEnabled":{"type":"boolean","description":"Specifies if the Shared Image supports Accelerated Network. Changing this forces a new resource to be created.\n"},"architecture":{"type":"string","description":"CPU architecture supported by an OS. Possible values are \u003cspan pulumi-lang-nodejs=\"`x64`\" pulumi-lang-dotnet=\"`X64`\" pulumi-lang-go=\"`x64`\" pulumi-lang-python=\"`x64`\" pulumi-lang-yaml=\"`x64`\" pulumi-lang-java=\"`x64`\"\u003e`x64`\u003c/span\u003e and `Arm64`. Defaults to \u003cspan pulumi-lang-nodejs=\"`x64`\" pulumi-lang-dotnet=\"`X64`\" pulumi-lang-go=\"`x64`\" pulumi-lang-python=\"`x64`\" pulumi-lang-yaml=\"`x64`\" pulumi-lang-java=\"`x64`\"\u003e`x64`\u003c/span\u003e. Changing this forces a new resource to be created.\n"},"confidentialVmEnabled":{"type":"boolean","description":"Specifies if Confidential Virtual Machines enabled. It will enable all the features of trusted, with higher confidentiality features for isolate machines or encrypted data. Available for Gen2 machines. Changing this forces a new resource to be created.\n\n\u003e **Note:** Only one of \u003cspan pulumi-lang-nodejs=\"`trustedLaunchSupported`\" pulumi-lang-dotnet=\"`TrustedLaunchSupported`\" pulumi-lang-go=\"`trustedLaunchSupported`\" pulumi-lang-python=\"`trusted_launch_supported`\" pulumi-lang-yaml=\"`trustedLaunchSupported`\" pulumi-lang-java=\"`trustedLaunchSupported`\"\u003e`trusted_launch_supported`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`trustedLaunchEnabled`\" pulumi-lang-dotnet=\"`TrustedLaunchEnabled`\" pulumi-lang-go=\"`trustedLaunchEnabled`\" pulumi-lang-python=\"`trusted_launch_enabled`\" pulumi-lang-yaml=\"`trustedLaunchEnabled`\" pulumi-lang-java=\"`trustedLaunchEnabled`\"\u003e`trusted_launch_enabled`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`confidentialVmSupported`\" pulumi-lang-dotnet=\"`ConfidentialVmSupported`\" pulumi-lang-go=\"`confidentialVmSupported`\" pulumi-lang-python=\"`confidential_vm_supported`\" pulumi-lang-yaml=\"`confidentialVmSupported`\" pulumi-lang-java=\"`confidentialVmSupported`\"\u003e`confidential_vm_supported`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`confidentialVmEnabled`\" pulumi-lang-dotnet=\"`ConfidentialVmEnabled`\" pulumi-lang-go=\"`confidentialVmEnabled`\" pulumi-lang-python=\"`confidential_vm_enabled`\" pulumi-lang-yaml=\"`confidentialVmEnabled`\" pulumi-lang-java=\"`confidentialVmEnabled`\"\u003e`confidential_vm_enabled`\u003c/span\u003e can be specified.\n"},"confidentialVmSupported":{"type":"boolean","description":"Specifies if supports creation of both Confidential virtual machines and Gen2 virtual machines with standard security from a compatible Gen2 OS disk VHD or Gen2 Managed image. Changing this forces a new resource to be created.\n"},"description":{"type":"string","description":"A description of this Shared Image.\n"},"diskControllerTypeNvmeEnabled":{"type":"boolean","description":"Specifies if the Shared Image supports NVMe disks. Changing this forces a new resource to be created.\n"},"diskTypesNotAlloweds":{"type":"array","items":{"type":"string"},"description":"One or more Disk Types not allowed for the Image. Possible values include `Standard_LRS` and `Premium_LRS`.\n"},"endOfLifeDate":{"type":"string","description":"The end of life date in RFC3339 format of the Image.\n"},"eula":{"type":"string","description":"The End User Licence Agreement for the Shared Image. Changing this forces a new resource to be created.\n"},"galleryName":{"type":"string","description":"Specifies the name of the Shared Image Gallery in which this Shared Image should exist. Changing this forces a new resource to be created.\n"},"hibernationEnabled":{"type":"boolean","description":"Specifies if the Shared Image supports hibernation. Changing this forces a new resource to be created.\n"},"hyperVGeneration":{"type":"string","description":"The generation of HyperV that the Virtual Machine used to create the Shared Image is based on. Possible values are `V1` and `V2`. Defaults to `V1`. Changing this forces a new resource to be created.\n"},"identifier":{"$ref":"#/types/azure:compute/SharedImageIdentifier:SharedImageIdentifier","description":"An \u003cspan pulumi-lang-nodejs=\"`identifier`\" pulumi-lang-dotnet=\"`Identifier`\" pulumi-lang-go=\"`identifier`\" pulumi-lang-python=\"`identifier`\" pulumi-lang-yaml=\"`identifier`\" pulumi-lang-java=\"`identifier`\"\u003e`identifier`\u003c/span\u003e block as defined below.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the Shared Image Gallery exists. Changing this forces a new resource to be created.\n"},"maxRecommendedMemoryInGb":{"type":"integer","description":"Maximum memory in GB recommended for the Image.\n"},"maxRecommendedVcpuCount":{"type":"integer","description":"Maximum count of vCPUs recommended for the Image.\n"},"minRecommendedMemoryInGb":{"type":"integer","description":"Minimum memory in GB recommended for the Image.\n"},"minRecommendedVcpuCount":{"type":"integer","description":"Minimum count of vCPUs recommended for the Image.\n"},"name":{"type":"string","description":"Specifies the name of the Shared Image. Changing this forces a new resource to be created.\n"},"osType":{"type":"string","description":"The type of Operating System present in this Shared Image. Possible values are `Linux` and `Windows`. Changing this forces a new resource to be created.\n"},"privacyStatementUri":{"type":"string","description":"The URI containing the Privacy Statement associated with this Shared Image. Changing this forces a new resource to be created.\n"},"purchasePlan":{"$ref":"#/types/azure:compute/SharedImagePurchasePlan:SharedImagePurchasePlan","description":"A \u003cspan pulumi-lang-nodejs=\"`purchasePlan`\" pulumi-lang-dotnet=\"`PurchasePlan`\" pulumi-lang-go=\"`purchasePlan`\" pulumi-lang-python=\"`purchase_plan`\" pulumi-lang-yaml=\"`purchasePlan`\" pulumi-lang-java=\"`purchasePlan`\"\u003e`purchase_plan`\u003c/span\u003e block as defined below.\n"},"releaseNoteUri":{"type":"string","description":"The URI containing the Release Notes associated with this Shared Image.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the Shared Image Gallery exists. Changing this forces a new resource to be created.\n"},"specialized":{"type":"boolean","description":"Specifies that the Operating System used inside this Image has not been Generalized (for example, \u003cspan pulumi-lang-nodejs=\"`sysprep`\" pulumi-lang-dotnet=\"`Sysprep`\" pulumi-lang-go=\"`sysprep`\" pulumi-lang-python=\"`sysprep`\" pulumi-lang-yaml=\"`sysprep`\" pulumi-lang-java=\"`sysprep`\"\u003e`sysprep`\u003c/span\u003e on Windows has not been run). Changing this forces a new resource to be created.\n\n!\u003e **Note:** It's recommended to Generalize images where possible - Specialized Images reuse the same UUID internally within each Virtual Machine, which can have unintended side-effects.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the Shared Image.\n"},"trustedLaunchEnabled":{"type":"boolean","description":"Specifies if Trusted Launch has to be enabled for the Virtual Machine created from the Shared Image. Changing this forces a new resource to be created.\n"},"trustedLaunchSupported":{"type":"boolean","description":"Specifies if supports creation of both Trusted Launch virtual machines and Gen2 virtual machines with standard security created from the Shared Image. Changing this forces a new resource to be created.\n"}},"required":["galleryName","identifier","location","name","osType","resourceGroupName"],"inputProperties":{"acceleratedNetworkSupportEnabled":{"type":"boolean","description":"Specifies if the Shared Image supports Accelerated Network. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"architecture":{"type":"string","description":"CPU architecture supported by an OS. Possible values are \u003cspan pulumi-lang-nodejs=\"`x64`\" pulumi-lang-dotnet=\"`X64`\" pulumi-lang-go=\"`x64`\" pulumi-lang-python=\"`x64`\" pulumi-lang-yaml=\"`x64`\" pulumi-lang-java=\"`x64`\"\u003e`x64`\u003c/span\u003e and `Arm64`. Defaults to \u003cspan pulumi-lang-nodejs=\"`x64`\" pulumi-lang-dotnet=\"`X64`\" pulumi-lang-go=\"`x64`\" pulumi-lang-python=\"`x64`\" pulumi-lang-yaml=\"`x64`\" pulumi-lang-java=\"`x64`\"\u003e`x64`\u003c/span\u003e. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"confidentialVmEnabled":{"type":"boolean","description":"Specifies if Confidential Virtual Machines enabled. It will enable all the features of trusted, with higher confidentiality features for isolate machines or encrypted data. Available for Gen2 machines. Changing this forces a new resource to be created.\n\n\u003e **Note:** Only one of \u003cspan pulumi-lang-nodejs=\"`trustedLaunchSupported`\" pulumi-lang-dotnet=\"`TrustedLaunchSupported`\" pulumi-lang-go=\"`trustedLaunchSupported`\" pulumi-lang-python=\"`trusted_launch_supported`\" pulumi-lang-yaml=\"`trustedLaunchSupported`\" pulumi-lang-java=\"`trustedLaunchSupported`\"\u003e`trusted_launch_supported`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`trustedLaunchEnabled`\" pulumi-lang-dotnet=\"`TrustedLaunchEnabled`\" pulumi-lang-go=\"`trustedLaunchEnabled`\" pulumi-lang-python=\"`trusted_launch_enabled`\" pulumi-lang-yaml=\"`trustedLaunchEnabled`\" pulumi-lang-java=\"`trustedLaunchEnabled`\"\u003e`trusted_launch_enabled`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`confidentialVmSupported`\" pulumi-lang-dotnet=\"`ConfidentialVmSupported`\" pulumi-lang-go=\"`confidentialVmSupported`\" pulumi-lang-python=\"`confidential_vm_supported`\" pulumi-lang-yaml=\"`confidentialVmSupported`\" pulumi-lang-java=\"`confidentialVmSupported`\"\u003e`confidential_vm_supported`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`confidentialVmEnabled`\" pulumi-lang-dotnet=\"`ConfidentialVmEnabled`\" pulumi-lang-go=\"`confidentialVmEnabled`\" pulumi-lang-python=\"`confidential_vm_enabled`\" pulumi-lang-yaml=\"`confidentialVmEnabled`\" pulumi-lang-java=\"`confidentialVmEnabled`\"\u003e`confidential_vm_enabled`\u003c/span\u003e can be specified.\n","willReplaceOnChanges":true},"confidentialVmSupported":{"type":"boolean","description":"Specifies if supports creation of both Confidential virtual machines and Gen2 virtual machines with standard security from a compatible Gen2 OS disk VHD or Gen2 Managed image. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"description":{"type":"string","description":"A description of this Shared Image.\n"},"diskControllerTypeNvmeEnabled":{"type":"boolean","description":"Specifies if the Shared Image supports NVMe disks. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"diskTypesNotAlloweds":{"type":"array","items":{"type":"string"},"description":"One or more Disk Types not allowed for the Image. Possible values include `Standard_LRS` and `Premium_LRS`.\n"},"endOfLifeDate":{"type":"string","description":"The end of life date in RFC3339 format of the Image.\n"},"eula":{"type":"string","description":"The End User Licence Agreement for the Shared Image. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"galleryName":{"type":"string","description":"Specifies the name of the Shared Image Gallery in which this Shared Image should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"hibernationEnabled":{"type":"boolean","description":"Specifies if the Shared Image supports hibernation. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"hyperVGeneration":{"type":"string","description":"The generation of HyperV that the Virtual Machine used to create the Shared Image is based on. Possible values are `V1` and `V2`. Defaults to `V1`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"identifier":{"$ref":"#/types/azure:compute/SharedImageIdentifier:SharedImageIdentifier","description":"An \u003cspan pulumi-lang-nodejs=\"`identifier`\" pulumi-lang-dotnet=\"`Identifier`\" pulumi-lang-go=\"`identifier`\" pulumi-lang-python=\"`identifier`\" pulumi-lang-yaml=\"`identifier`\" pulumi-lang-java=\"`identifier`\"\u003e`identifier`\u003c/span\u003e block as defined below.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the Shared Image Gallery exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"maxRecommendedMemoryInGb":{"type":"integer","description":"Maximum memory in GB recommended for the Image.\n"},"maxRecommendedVcpuCount":{"type":"integer","description":"Maximum count of vCPUs recommended for the Image.\n"},"minRecommendedMemoryInGb":{"type":"integer","description":"Minimum memory in GB recommended for the Image.\n"},"minRecommendedVcpuCount":{"type":"integer","description":"Minimum count of vCPUs recommended for the Image.\n"},"name":{"type":"string","description":"Specifies the name of the Shared Image. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"osType":{"type":"string","description":"The type of Operating System present in this Shared Image. Possible values are `Linux` and `Windows`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"privacyStatementUri":{"type":"string","description":"The URI containing the Privacy Statement associated with this Shared Image. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"purchasePlan":{"$ref":"#/types/azure:compute/SharedImagePurchasePlan:SharedImagePurchasePlan","description":"A \u003cspan pulumi-lang-nodejs=\"`purchasePlan`\" pulumi-lang-dotnet=\"`PurchasePlan`\" pulumi-lang-go=\"`purchasePlan`\" pulumi-lang-python=\"`purchase_plan`\" pulumi-lang-yaml=\"`purchasePlan`\" pulumi-lang-java=\"`purchasePlan`\"\u003e`purchase_plan`\u003c/span\u003e block as defined below.\n"},"releaseNoteUri":{"type":"string","description":"The URI containing the Release Notes associated with this Shared Image.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the Shared Image Gallery exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"specialized":{"type":"boolean","description":"Specifies that the Operating System used inside this Image has not been Generalized (for example, \u003cspan pulumi-lang-nodejs=\"`sysprep`\" pulumi-lang-dotnet=\"`Sysprep`\" pulumi-lang-go=\"`sysprep`\" pulumi-lang-python=\"`sysprep`\" pulumi-lang-yaml=\"`sysprep`\" pulumi-lang-java=\"`sysprep`\"\u003e`sysprep`\u003c/span\u003e on Windows has not been run). Changing this forces a new resource to be created.\n\n!\u003e **Note:** It's recommended to Generalize images where possible - Specialized Images reuse the same UUID internally within each Virtual Machine, which can have unintended side-effects.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the Shared Image.\n"},"trustedLaunchEnabled":{"type":"boolean","description":"Specifies if Trusted Launch has to be enabled for the Virtual Machine created from the Shared Image. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"trustedLaunchSupported":{"type":"boolean","description":"Specifies if supports creation of both Trusted Launch virtual machines and Gen2 virtual machines with standard security created from the Shared Image. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["galleryName","identifier","osType","resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering SharedImage resources.\n","properties":{"acceleratedNetworkSupportEnabled":{"type":"boolean","description":"Specifies if the Shared Image supports Accelerated Network. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"architecture":{"type":"string","description":"CPU architecture supported by an OS. Possible values are \u003cspan pulumi-lang-nodejs=\"`x64`\" pulumi-lang-dotnet=\"`X64`\" pulumi-lang-go=\"`x64`\" pulumi-lang-python=\"`x64`\" pulumi-lang-yaml=\"`x64`\" pulumi-lang-java=\"`x64`\"\u003e`x64`\u003c/span\u003e and `Arm64`. Defaults to \u003cspan pulumi-lang-nodejs=\"`x64`\" pulumi-lang-dotnet=\"`X64`\" pulumi-lang-go=\"`x64`\" pulumi-lang-python=\"`x64`\" pulumi-lang-yaml=\"`x64`\" pulumi-lang-java=\"`x64`\"\u003e`x64`\u003c/span\u003e. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"confidentialVmEnabled":{"type":"boolean","description":"Specifies if Confidential Virtual Machines enabled. It will enable all the features of trusted, with higher confidentiality features for isolate machines or encrypted data. Available for Gen2 machines. Changing this forces a new resource to be created.\n\n\u003e **Note:** Only one of \u003cspan pulumi-lang-nodejs=\"`trustedLaunchSupported`\" pulumi-lang-dotnet=\"`TrustedLaunchSupported`\" pulumi-lang-go=\"`trustedLaunchSupported`\" pulumi-lang-python=\"`trusted_launch_supported`\" pulumi-lang-yaml=\"`trustedLaunchSupported`\" pulumi-lang-java=\"`trustedLaunchSupported`\"\u003e`trusted_launch_supported`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`trustedLaunchEnabled`\" pulumi-lang-dotnet=\"`TrustedLaunchEnabled`\" pulumi-lang-go=\"`trustedLaunchEnabled`\" pulumi-lang-python=\"`trusted_launch_enabled`\" pulumi-lang-yaml=\"`trustedLaunchEnabled`\" pulumi-lang-java=\"`trustedLaunchEnabled`\"\u003e`trusted_launch_enabled`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`confidentialVmSupported`\" pulumi-lang-dotnet=\"`ConfidentialVmSupported`\" pulumi-lang-go=\"`confidentialVmSupported`\" pulumi-lang-python=\"`confidential_vm_supported`\" pulumi-lang-yaml=\"`confidentialVmSupported`\" pulumi-lang-java=\"`confidentialVmSupported`\"\u003e`confidential_vm_supported`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`confidentialVmEnabled`\" pulumi-lang-dotnet=\"`ConfidentialVmEnabled`\" pulumi-lang-go=\"`confidentialVmEnabled`\" pulumi-lang-python=\"`confidential_vm_enabled`\" pulumi-lang-yaml=\"`confidentialVmEnabled`\" pulumi-lang-java=\"`confidentialVmEnabled`\"\u003e`confidential_vm_enabled`\u003c/span\u003e can be specified.\n","willReplaceOnChanges":true},"confidentialVmSupported":{"type":"boolean","description":"Specifies if supports creation of both Confidential virtual machines and Gen2 virtual machines with standard security from a compatible Gen2 OS disk VHD or Gen2 Managed image. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"description":{"type":"string","description":"A description of this Shared Image.\n"},"diskControllerTypeNvmeEnabled":{"type":"boolean","description":"Specifies if the Shared Image supports NVMe disks. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"diskTypesNotAlloweds":{"type":"array","items":{"type":"string"},"description":"One or more Disk Types not allowed for the Image. Possible values include `Standard_LRS` and `Premium_LRS`.\n"},"endOfLifeDate":{"type":"string","description":"The end of life date in RFC3339 format of the Image.\n"},"eula":{"type":"string","description":"The End User Licence Agreement for the Shared Image. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"galleryName":{"type":"string","description":"Specifies the name of the Shared Image Gallery in which this Shared Image should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"hibernationEnabled":{"type":"boolean","description":"Specifies if the Shared Image supports hibernation. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"hyperVGeneration":{"type":"string","description":"The generation of HyperV that the Virtual Machine used to create the Shared Image is based on. Possible values are `V1` and `V2`. Defaults to `V1`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"identifier":{"$ref":"#/types/azure:compute/SharedImageIdentifier:SharedImageIdentifier","description":"An \u003cspan pulumi-lang-nodejs=\"`identifier`\" pulumi-lang-dotnet=\"`Identifier`\" pulumi-lang-go=\"`identifier`\" pulumi-lang-python=\"`identifier`\" pulumi-lang-yaml=\"`identifier`\" pulumi-lang-java=\"`identifier`\"\u003e`identifier`\u003c/span\u003e block as defined below.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the Shared Image Gallery exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"maxRecommendedMemoryInGb":{"type":"integer","description":"Maximum memory in GB recommended for the Image.\n"},"maxRecommendedVcpuCount":{"type":"integer","description":"Maximum count of vCPUs recommended for the Image.\n"},"minRecommendedMemoryInGb":{"type":"integer","description":"Minimum memory in GB recommended for the Image.\n"},"minRecommendedVcpuCount":{"type":"integer","description":"Minimum count of vCPUs recommended for the Image.\n"},"name":{"type":"string","description":"Specifies the name of the Shared Image. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"osType":{"type":"string","description":"The type of Operating System present in this Shared Image. Possible values are `Linux` and `Windows`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"privacyStatementUri":{"type":"string","description":"The URI containing the Privacy Statement associated with this Shared Image. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"purchasePlan":{"$ref":"#/types/azure:compute/SharedImagePurchasePlan:SharedImagePurchasePlan","description":"A \u003cspan pulumi-lang-nodejs=\"`purchasePlan`\" pulumi-lang-dotnet=\"`PurchasePlan`\" pulumi-lang-go=\"`purchasePlan`\" pulumi-lang-python=\"`purchase_plan`\" pulumi-lang-yaml=\"`purchasePlan`\" pulumi-lang-java=\"`purchasePlan`\"\u003e`purchase_plan`\u003c/span\u003e block as defined below.\n"},"releaseNoteUri":{"type":"string","description":"The URI containing the Release Notes associated with this Shared Image.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the Shared Image Gallery exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"specialized":{"type":"boolean","description":"Specifies that the Operating System used inside this Image has not been Generalized (for example, \u003cspan pulumi-lang-nodejs=\"`sysprep`\" pulumi-lang-dotnet=\"`Sysprep`\" pulumi-lang-go=\"`sysprep`\" pulumi-lang-python=\"`sysprep`\" pulumi-lang-yaml=\"`sysprep`\" pulumi-lang-java=\"`sysprep`\"\u003e`sysprep`\u003c/span\u003e on Windows has not been run). Changing this forces a new resource to be created.\n\n!\u003e **Note:** It's recommended to Generalize images where possible - Specialized Images reuse the same UUID internally within each Virtual Machine, which can have unintended side-effects.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the Shared Image.\n"},"trustedLaunchEnabled":{"type":"boolean","description":"Specifies if Trusted Launch has to be enabled for the Virtual Machine created from the Shared Image. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"trustedLaunchSupported":{"type":"boolean","description":"Specifies if supports creation of both Trusted Launch virtual machines and Gen2 virtual machines with standard security created from the Shared Image. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:compute/sharedImageGallery:SharedImageGallery":{"description":"Manages a Shared Image Gallery.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleSharedImageGallery = new azure.compute.SharedImageGallery(\"example\", {\n    name: \"example_image_gallery\",\n    resourceGroupName: example.name,\n    location: example.location,\n    description: \"Shared images and things.\",\n    tags: {\n        Hello: \"There\",\n        World: \"Example\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_shared_image_gallery = azure.compute.SharedImageGallery(\"example\",\n    name=\"example_image_gallery\",\n    resource_group_name=example.name,\n    location=example.location,\n    description=\"Shared images and things.\",\n    tags={\n        \"Hello\": \"There\",\n        \"World\": \"Example\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleSharedImageGallery = new Azure.Compute.SharedImageGallery(\"example\", new()\n    {\n        Name = \"example_image_gallery\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        Description = \"Shared images and things.\",\n        Tags = \n        {\n            { \"Hello\", \"There\" },\n            { \"World\", \"Example\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/compute\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = compute.NewSharedImageGallery(ctx, \"example\", \u0026compute.SharedImageGalleryArgs{\n\t\t\tName:              pulumi.String(\"example_image_gallery\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tDescription:       pulumi.String(\"Shared images and things.\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Hello\": pulumi.String(\"There\"),\n\t\t\t\t\"World\": pulumi.String(\"Example\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.compute.SharedImageGallery;\nimport com.pulumi.azure.compute.SharedImageGalleryArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleSharedImageGallery = new SharedImageGallery(\"exampleSharedImageGallery\", SharedImageGalleryArgs.builder()\n            .name(\"example_image_gallery\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .description(\"Shared images and things.\")\n            .tags(Map.ofEntries(\n                Map.entry(\"Hello\", \"There\"),\n                Map.entry(\"World\", \"Example\")\n            ))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleSharedImageGallery:\n    type: azure:compute:SharedImageGallery\n    name: example\n    properties:\n      name: example_image_gallery\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      description: Shared images and things.\n      tags:\n        Hello: There\n        World: Example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Compute` - 2022-03-03\n\n## Import\n\nShared Image Galleries can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:compute/sharedImageGallery:SharedImageGallery gallery1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Compute/galleries/gallery1\n```\n\n","properties":{"description":{"type":"string","description":"A description for this Shared Image Gallery.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"Specifies the name of the Shared Image Gallery. Changing this forces a new resource to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the Shared Image Gallery. Changing this forces a new resource to be created.\n"},"sharing":{"$ref":"#/types/azure:compute/SharedImageGallerySharing:SharedImageGallerySharing","description":"A \u003cspan pulumi-lang-nodejs=\"`sharing`\" pulumi-lang-dotnet=\"`Sharing`\" pulumi-lang-go=\"`sharing`\" pulumi-lang-python=\"`sharing`\" pulumi-lang-yaml=\"`sharing`\" pulumi-lang-java=\"`sharing`\"\u003e`sharing`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the Shared Image Gallery.\n"},"uniqueName":{"type":"string","description":"The Unique Name for this Shared Image Gallery.\n"}},"required":["location","name","resourceGroupName","uniqueName"],"inputProperties":{"description":{"type":"string","description":"A description for this Shared Image Gallery.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the Shared Image Gallery. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the Shared Image Gallery. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sharing":{"$ref":"#/types/azure:compute/SharedImageGallerySharing:SharedImageGallerySharing","description":"A \u003cspan pulumi-lang-nodejs=\"`sharing`\" pulumi-lang-dotnet=\"`Sharing`\" pulumi-lang-go=\"`sharing`\" pulumi-lang-python=\"`sharing`\" pulumi-lang-yaml=\"`sharing`\" pulumi-lang-java=\"`sharing`\"\u003e`sharing`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the Shared Image Gallery.\n"}},"requiredInputs":["resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering SharedImageGallery resources.\n","properties":{"description":{"type":"string","description":"A description for this Shared Image Gallery.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the Shared Image Gallery. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the Shared Image Gallery. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sharing":{"$ref":"#/types/azure:compute/SharedImageGallerySharing:SharedImageGallerySharing","description":"A \u003cspan pulumi-lang-nodejs=\"`sharing`\" pulumi-lang-dotnet=\"`Sharing`\" pulumi-lang-go=\"`sharing`\" pulumi-lang-python=\"`sharing`\" pulumi-lang-yaml=\"`sharing`\" pulumi-lang-java=\"`sharing`\"\u003e`sharing`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the Shared Image Gallery.\n"},"uniqueName":{"type":"string","description":"The Unique Name for this Shared Image Gallery.\n"}},"type":"object"}},"azure:compute/sharedImageVersion:SharedImageVersion":{"description":"Manages a Version of a Shared Image within a Shared Image Gallery.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst existing = azure.compute.getImage({\n    name: \"search-api\",\n    resourceGroupName: \"packerimages\",\n});\nconst existingGetSharedImage = azure.compute.getSharedImage({\n    name: \"existing-image\",\n    galleryName: \"existing_gallery\",\n    resourceGroupName: \"existing-resources\",\n});\nconst example = new azure.compute.SharedImageVersion(\"example\", {\n    name: \"0.0.1\",\n    galleryName: existingGetSharedImage.then(existingGetSharedImage =\u003e existingGetSharedImage.galleryName),\n    imageName: existingGetSharedImage.then(existingGetSharedImage =\u003e existingGetSharedImage.name),\n    resourceGroupName: existingGetSharedImage.then(existingGetSharedImage =\u003e existingGetSharedImage.resourceGroupName),\n    location: existingGetSharedImage.then(existingGetSharedImage =\u003e existingGetSharedImage.location),\n    managedImageId: existing.then(existing =\u003e existing.id),\n    targetRegions: [{\n        name: existingGetSharedImage.then(existingGetSharedImage =\u003e existingGetSharedImage.location),\n        regionalReplicaCount: 5,\n        storageAccountType: \"Standard_LRS\",\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexisting = azure.compute.get_image(name=\"search-api\",\n    resource_group_name=\"packerimages\")\nexisting_get_shared_image = azure.compute.get_shared_image(name=\"existing-image\",\n    gallery_name=\"existing_gallery\",\n    resource_group_name=\"existing-resources\")\nexample = azure.compute.SharedImageVersion(\"example\",\n    name=\"0.0.1\",\n    gallery_name=existing_get_shared_image.gallery_name,\n    image_name=existing_get_shared_image.name,\n    resource_group_name=existing_get_shared_image.resource_group_name,\n    location=existing_get_shared_image.location,\n    managed_image_id=existing.id,\n    target_regions=[{\n        \"name\": existing_get_shared_image.location,\n        \"regional_replica_count\": 5,\n        \"storage_account_type\": \"Standard_LRS\",\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var existing = Azure.Compute.GetImage.Invoke(new()\n    {\n        Name = \"search-api\",\n        ResourceGroupName = \"packerimages\",\n    });\n\n    var existingGetSharedImage = Azure.Compute.GetSharedImage.Invoke(new()\n    {\n        Name = \"existing-image\",\n        GalleryName = \"existing_gallery\",\n        ResourceGroupName = \"existing-resources\",\n    });\n\n    var example = new Azure.Compute.SharedImageVersion(\"example\", new()\n    {\n        Name = \"0.0.1\",\n        GalleryName = existingGetSharedImage.Apply(getSharedImageResult =\u003e getSharedImageResult.GalleryName),\n        ImageName = existingGetSharedImage.Apply(getSharedImageResult =\u003e getSharedImageResult.Name),\n        ResourceGroupName = existingGetSharedImage.Apply(getSharedImageResult =\u003e getSharedImageResult.ResourceGroupName),\n        Location = existingGetSharedImage.Apply(getSharedImageResult =\u003e getSharedImageResult.Location),\n        ManagedImageId = existing.Apply(getImageResult =\u003e getImageResult.Id),\n        TargetRegions = new[]\n        {\n            new Azure.Compute.Inputs.SharedImageVersionTargetRegionArgs\n            {\n                Name = existingGetSharedImage.Apply(getSharedImageResult =\u003e getSharedImageResult.Location),\n                RegionalReplicaCount = 5,\n                StorageAccountType = \"Standard_LRS\",\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/compute\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texisting, err := compute.LookupImage(ctx, \u0026compute.LookupImageArgs{\n\t\t\tName:              pulumi.StringRef(\"search-api\"),\n\t\t\tResourceGroupName: \"packerimages\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texistingGetSharedImage, err := compute.LookupSharedImage(ctx, \u0026compute.LookupSharedImageArgs{\n\t\t\tName:              \"existing-image\",\n\t\t\tGalleryName:       \"existing_gallery\",\n\t\t\tResourceGroupName: \"existing-resources\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = compute.NewSharedImageVersion(ctx, \"example\", \u0026compute.SharedImageVersionArgs{\n\t\t\tName:              pulumi.String(\"0.0.1\"),\n\t\t\tGalleryName:       pulumi.String(existingGetSharedImage.GalleryName),\n\t\t\tImageName:         pulumi.String(existingGetSharedImage.Name),\n\t\t\tResourceGroupName: pulumi.String(existingGetSharedImage.ResourceGroupName),\n\t\t\tLocation:          pulumi.String(existingGetSharedImage.Location),\n\t\t\tManagedImageId:    pulumi.String(existing.Id),\n\t\t\tTargetRegions: compute.SharedImageVersionTargetRegionArray{\n\t\t\t\t\u0026compute.SharedImageVersionTargetRegionArgs{\n\t\t\t\t\tName:                 pulumi.String(existingGetSharedImage.Location),\n\t\t\t\t\tRegionalReplicaCount: pulumi.Int(5),\n\t\t\t\t\tStorageAccountType:   pulumi.String(\"Standard_LRS\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.compute.ComputeFunctions;\nimport com.pulumi.azure.compute.inputs.GetImageArgs;\nimport com.pulumi.azure.compute.inputs.GetSharedImageArgs;\nimport com.pulumi.azure.compute.SharedImageVersion;\nimport com.pulumi.azure.compute.SharedImageVersionArgs;\nimport com.pulumi.azure.compute.inputs.SharedImageVersionTargetRegionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var existing = ComputeFunctions.getImage(GetImageArgs.builder()\n            .name(\"search-api\")\n            .resourceGroupName(\"packerimages\")\n            .build());\n\n        final var existingGetSharedImage = ComputeFunctions.getSharedImage(GetSharedImageArgs.builder()\n            .name(\"existing-image\")\n            .galleryName(\"existing_gallery\")\n            .resourceGroupName(\"existing-resources\")\n            .build());\n\n        var example = new SharedImageVersion(\"example\", SharedImageVersionArgs.builder()\n            .name(\"0.0.1\")\n            .galleryName(existingGetSharedImage.galleryName())\n            .imageName(existingGetSharedImage.name())\n            .resourceGroupName(existingGetSharedImage.resourceGroupName())\n            .location(existingGetSharedImage.location())\n            .managedImageId(existing.id())\n            .targetRegions(SharedImageVersionTargetRegionArgs.builder()\n                .name(existingGetSharedImage.location())\n                .regionalReplicaCount(5)\n                .storageAccountType(\"Standard_LRS\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:compute:SharedImageVersion\n    properties:\n      name: 0.0.1\n      galleryName: ${existingGetSharedImage.galleryName}\n      imageName: ${existingGetSharedImage.name}\n      resourceGroupName: ${existingGetSharedImage.resourceGroupName}\n      location: ${existingGetSharedImage.location}\n      managedImageId: ${existing.id}\n      targetRegions:\n        - name: ${existingGetSharedImage.location}\n          regionalReplicaCount: 5\n          storageAccountType: Standard_LRS\nvariables:\n  existing:\n    fn::invoke:\n      function: azure:compute:getImage\n      arguments:\n        name: search-api\n        resourceGroupName: packerimages\n  existingGetSharedImage:\n    fn::invoke:\n      function: azure:compute:getSharedImage\n      arguments:\n        name: existing-image\n        galleryName: existing_gallery\n        resourceGroupName: existing-resources\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Compute` - 2023-07-03\n\n## Import\n\nShared Image Versions can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:compute/sharedImageVersion:SharedImageVersion version /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Compute/galleries/gallery1/images/image1/versions/1.2.3\n```\n\n","properties":{"blobUri":{"type":"string","description":"URI of the Azure Storage Blob used to create the Image Version. Changing this forces a new resource to be created.\n\n\u003e **NOTE:** You must specify exact one of \u003cspan pulumi-lang-nodejs=\"`blobUri`\" pulumi-lang-dotnet=\"`BlobUri`\" pulumi-lang-go=\"`blobUri`\" pulumi-lang-python=\"`blob_uri`\" pulumi-lang-yaml=\"`blobUri`\" pulumi-lang-java=\"`blobUri`\"\u003e`blob_uri`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`managedImageId`\" pulumi-lang-dotnet=\"`ManagedImageId`\" pulumi-lang-go=\"`managedImageId`\" pulumi-lang-python=\"`managed_image_id`\" pulumi-lang-yaml=\"`managedImageId`\" pulumi-lang-java=\"`managedImageId`\"\u003e`managed_image_id`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`osDiskSnapshotId`\" pulumi-lang-dotnet=\"`OsDiskSnapshotId`\" pulumi-lang-go=\"`osDiskSnapshotId`\" pulumi-lang-python=\"`os_disk_snapshot_id`\" pulumi-lang-yaml=\"`osDiskSnapshotId`\" pulumi-lang-java=\"`osDiskSnapshotId`\"\u003e`os_disk_snapshot_id`\u003c/span\u003e.\n\n\u003e **NOTE:** \u003cspan pulumi-lang-nodejs=\"`blobUri`\" pulumi-lang-dotnet=\"`BlobUri`\" pulumi-lang-go=\"`blobUri`\" pulumi-lang-python=\"`blob_uri`\" pulumi-lang-yaml=\"`blobUri`\" pulumi-lang-java=\"`blobUri`\"\u003e`blob_uri`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`storageAccountId`\" pulumi-lang-dotnet=\"`StorageAccountId`\" pulumi-lang-go=\"`storageAccountId`\" pulumi-lang-python=\"`storage_account_id`\" pulumi-lang-yaml=\"`storageAccountId`\" pulumi-lang-java=\"`storageAccountId`\"\u003e`storage_account_id`\u003c/span\u003e must be specified together\n"},"deletionOfReplicatedLocationsEnabled":{"type":"boolean","description":"Specifies whether this Shared Image Version can be deleted from the Azure Regions this is replicated to. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Changing this forces a new resource to be created.\n"},"endOfLifeDate":{"type":"string","description":"The end of life date in RFC3339 format of the Image Version.\n"},"excludeFromLatest":{"type":"boolean","description":"Should this Image Version be excluded from the \u003cspan pulumi-lang-nodejs=\"`latest`\" pulumi-lang-dotnet=\"`Latest`\" pulumi-lang-go=\"`latest`\" pulumi-lang-python=\"`latest`\" pulumi-lang-yaml=\"`latest`\" pulumi-lang-java=\"`latest`\"\u003e`latest`\u003c/span\u003e filter? If set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e this Image Version won't be returned for the \u003cspan pulumi-lang-nodejs=\"`latest`\" pulumi-lang-dotnet=\"`Latest`\" pulumi-lang-go=\"`latest`\" pulumi-lang-python=\"`latest`\" pulumi-lang-yaml=\"`latest`\" pulumi-lang-java=\"`latest`\"\u003e`latest`\u003c/span\u003e version. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"galleryName":{"type":"string","description":"The name of the Shared Image Gallery in which the Shared Image exists. Changing this forces a new resource to be created.\n"},"imageName":{"type":"string","description":"The name of the Shared Image within the Shared Image Gallery in which this Version should be created. Changing this forces a new resource to be created.\n"},"location":{"type":"string","description":"The Azure Region in which the Shared Image Gallery exists. Changing this forces a new resource to be created.\n"},"managedImageId":{"type":"string","description":"The ID of the Managed Image or Virtual Machine ID which should be used for this Shared Image Version. Changing this forces a new resource to be created.\n\n\u003e **NOTE:** The ID can be sourced from the \u003cspan pulumi-lang-nodejs=\"`azure.compute.Image`\" pulumi-lang-dotnet=\"`azure.compute.Image`\" pulumi-lang-go=\"`compute.Image`\" pulumi-lang-python=\"`compute.Image`\" pulumi-lang-yaml=\"`azure.compute.Image`\" pulumi-lang-java=\"`azure.compute.Image`\"\u003e`azure.compute.Image`\u003c/span\u003e data source or resource\n\n\u003e **NOTE:** You must specify exact one of \u003cspan pulumi-lang-nodejs=\"`blobUri`\" pulumi-lang-dotnet=\"`BlobUri`\" pulumi-lang-go=\"`blobUri`\" pulumi-lang-python=\"`blob_uri`\" pulumi-lang-yaml=\"`blobUri`\" pulumi-lang-java=\"`blobUri`\"\u003e`blob_uri`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`managedImageId`\" pulumi-lang-dotnet=\"`ManagedImageId`\" pulumi-lang-go=\"`managedImageId`\" pulumi-lang-python=\"`managed_image_id`\" pulumi-lang-yaml=\"`managedImageId`\" pulumi-lang-java=\"`managedImageId`\"\u003e`managed_image_id`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`osDiskSnapshotId`\" pulumi-lang-dotnet=\"`OsDiskSnapshotId`\" pulumi-lang-go=\"`osDiskSnapshotId`\" pulumi-lang-python=\"`os_disk_snapshot_id`\" pulumi-lang-yaml=\"`osDiskSnapshotId`\" pulumi-lang-java=\"`osDiskSnapshotId`\"\u003e`os_disk_snapshot_id`\u003c/span\u003e.\n"},"name":{"type":"string","description":"The version number for this Image Version, such as `1.0.0`. Changing this forces a new resource to be created.\n"},"osDiskSnapshotId":{"type":"string","description":"The ID of the OS disk snapshot which should be used for this Shared Image Version. Changing this forces a new resource to be created.\n\n\u003e **NOTE:** You must specify exact one of \u003cspan pulumi-lang-nodejs=\"`blobUri`\" pulumi-lang-dotnet=\"`BlobUri`\" pulumi-lang-go=\"`blobUri`\" pulumi-lang-python=\"`blob_uri`\" pulumi-lang-yaml=\"`blobUri`\" pulumi-lang-java=\"`blobUri`\"\u003e`blob_uri`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`managedImageId`\" pulumi-lang-dotnet=\"`ManagedImageId`\" pulumi-lang-go=\"`managedImageId`\" pulumi-lang-python=\"`managed_image_id`\" pulumi-lang-yaml=\"`managedImageId`\" pulumi-lang-java=\"`managedImageId`\"\u003e`managed_image_id`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`osDiskSnapshotId`\" pulumi-lang-dotnet=\"`OsDiskSnapshotId`\" pulumi-lang-go=\"`osDiskSnapshotId`\" pulumi-lang-python=\"`os_disk_snapshot_id`\" pulumi-lang-yaml=\"`osDiskSnapshotId`\" pulumi-lang-java=\"`osDiskSnapshotId`\"\u003e`os_disk_snapshot_id`\u003c/span\u003e.\n"},"replicationMode":{"type":"string","description":"Mode to be used for replication. Possible values are `Full` and `Shallow`. Defaults to `Full`. Changing this forces a new resource to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group in which the Shared Image Gallery exists. Changing this forces a new resource to be created.\n"},"storageAccountId":{"type":"string","description":"The ID of the Storage Account where the Blob exists. Changing this forces a new resource to be created.\n\n\u003e **NOTE:** \u003cspan pulumi-lang-nodejs=\"`blobUri`\" pulumi-lang-dotnet=\"`BlobUri`\" pulumi-lang-go=\"`blobUri`\" pulumi-lang-python=\"`blob_uri`\" pulumi-lang-yaml=\"`blobUri`\" pulumi-lang-java=\"`blobUri`\"\u003e`blob_uri`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`storageAccountId`\" pulumi-lang-dotnet=\"`StorageAccountId`\" pulumi-lang-go=\"`storageAccountId`\" pulumi-lang-python=\"`storage_account_id`\" pulumi-lang-yaml=\"`storageAccountId`\" pulumi-lang-java=\"`storageAccountId`\"\u003e`storage_account_id`\u003c/span\u003e must be specified together\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A collection of tags which should be applied to this resource.\n"},"targetRegions":{"type":"array","items":{"$ref":"#/types/azure:compute/SharedImageVersionTargetRegion:SharedImageVersionTargetRegion"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`targetRegion`\" pulumi-lang-dotnet=\"`TargetRegion`\" pulumi-lang-go=\"`targetRegion`\" pulumi-lang-python=\"`target_region`\" pulumi-lang-yaml=\"`targetRegion`\" pulumi-lang-java=\"`targetRegion`\"\u003e`target_region`\u003c/span\u003e blocks as documented below.\n"}},"required":["galleryName","imageName","location","name","resourceGroupName","targetRegions"],"inputProperties":{"blobUri":{"type":"string","description":"URI of the Azure Storage Blob used to create the Image Version. Changing this forces a new resource to be created.\n\n\u003e **NOTE:** You must specify exact one of \u003cspan pulumi-lang-nodejs=\"`blobUri`\" pulumi-lang-dotnet=\"`BlobUri`\" pulumi-lang-go=\"`blobUri`\" pulumi-lang-python=\"`blob_uri`\" pulumi-lang-yaml=\"`blobUri`\" pulumi-lang-java=\"`blobUri`\"\u003e`blob_uri`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`managedImageId`\" pulumi-lang-dotnet=\"`ManagedImageId`\" pulumi-lang-go=\"`managedImageId`\" pulumi-lang-python=\"`managed_image_id`\" pulumi-lang-yaml=\"`managedImageId`\" pulumi-lang-java=\"`managedImageId`\"\u003e`managed_image_id`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`osDiskSnapshotId`\" pulumi-lang-dotnet=\"`OsDiskSnapshotId`\" pulumi-lang-go=\"`osDiskSnapshotId`\" pulumi-lang-python=\"`os_disk_snapshot_id`\" pulumi-lang-yaml=\"`osDiskSnapshotId`\" pulumi-lang-java=\"`osDiskSnapshotId`\"\u003e`os_disk_snapshot_id`\u003c/span\u003e.\n\n\u003e **NOTE:** \u003cspan pulumi-lang-nodejs=\"`blobUri`\" pulumi-lang-dotnet=\"`BlobUri`\" pulumi-lang-go=\"`blobUri`\" pulumi-lang-python=\"`blob_uri`\" pulumi-lang-yaml=\"`blobUri`\" pulumi-lang-java=\"`blobUri`\"\u003e`blob_uri`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`storageAccountId`\" pulumi-lang-dotnet=\"`StorageAccountId`\" pulumi-lang-go=\"`storageAccountId`\" pulumi-lang-python=\"`storage_account_id`\" pulumi-lang-yaml=\"`storageAccountId`\" pulumi-lang-java=\"`storageAccountId`\"\u003e`storage_account_id`\u003c/span\u003e must be specified together\n","willReplaceOnChanges":true},"deletionOfReplicatedLocationsEnabled":{"type":"boolean","description":"Specifies whether this Shared Image Version can be deleted from the Azure Regions this is replicated to. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"endOfLifeDate":{"type":"string","description":"The end of life date in RFC3339 format of the Image Version.\n"},"excludeFromLatest":{"type":"boolean","description":"Should this Image Version be excluded from the \u003cspan pulumi-lang-nodejs=\"`latest`\" pulumi-lang-dotnet=\"`Latest`\" pulumi-lang-go=\"`latest`\" pulumi-lang-python=\"`latest`\" pulumi-lang-yaml=\"`latest`\" pulumi-lang-java=\"`latest`\"\u003e`latest`\u003c/span\u003e filter? If set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e this Image Version won't be returned for the \u003cspan pulumi-lang-nodejs=\"`latest`\" pulumi-lang-dotnet=\"`Latest`\" pulumi-lang-go=\"`latest`\" pulumi-lang-python=\"`latest`\" pulumi-lang-yaml=\"`latest`\" pulumi-lang-java=\"`latest`\"\u003e`latest`\u003c/span\u003e version. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"galleryName":{"type":"string","description":"The name of the Shared Image Gallery in which the Shared Image exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"imageName":{"type":"string","description":"The name of the Shared Image within the Shared Image Gallery in which this Version should be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"location":{"type":"string","description":"The Azure Region in which the Shared Image Gallery exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"managedImageId":{"type":"string","description":"The ID of the Managed Image or Virtual Machine ID which should be used for this Shared Image Version. Changing this forces a new resource to be created.\n\n\u003e **NOTE:** The ID can be sourced from the \u003cspan pulumi-lang-nodejs=\"`azure.compute.Image`\" pulumi-lang-dotnet=\"`azure.compute.Image`\" pulumi-lang-go=\"`compute.Image`\" pulumi-lang-python=\"`compute.Image`\" pulumi-lang-yaml=\"`azure.compute.Image`\" pulumi-lang-java=\"`azure.compute.Image`\"\u003e`azure.compute.Image`\u003c/span\u003e data source or resource\n\n\u003e **NOTE:** You must specify exact one of \u003cspan pulumi-lang-nodejs=\"`blobUri`\" pulumi-lang-dotnet=\"`BlobUri`\" pulumi-lang-go=\"`blobUri`\" pulumi-lang-python=\"`blob_uri`\" pulumi-lang-yaml=\"`blobUri`\" pulumi-lang-java=\"`blobUri`\"\u003e`blob_uri`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`managedImageId`\" pulumi-lang-dotnet=\"`ManagedImageId`\" pulumi-lang-go=\"`managedImageId`\" pulumi-lang-python=\"`managed_image_id`\" pulumi-lang-yaml=\"`managedImageId`\" pulumi-lang-java=\"`managedImageId`\"\u003e`managed_image_id`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`osDiskSnapshotId`\" pulumi-lang-dotnet=\"`OsDiskSnapshotId`\" pulumi-lang-go=\"`osDiskSnapshotId`\" pulumi-lang-python=\"`os_disk_snapshot_id`\" pulumi-lang-yaml=\"`osDiskSnapshotId`\" pulumi-lang-java=\"`osDiskSnapshotId`\"\u003e`os_disk_snapshot_id`\u003c/span\u003e.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The version number for this Image Version, such as `1.0.0`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"osDiskSnapshotId":{"type":"string","description":"The ID of the OS disk snapshot which should be used for this Shared Image Version. Changing this forces a new resource to be created.\n\n\u003e **NOTE:** You must specify exact one of \u003cspan pulumi-lang-nodejs=\"`blobUri`\" pulumi-lang-dotnet=\"`BlobUri`\" pulumi-lang-go=\"`blobUri`\" pulumi-lang-python=\"`blob_uri`\" pulumi-lang-yaml=\"`blobUri`\" pulumi-lang-java=\"`blobUri`\"\u003e`blob_uri`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`managedImageId`\" pulumi-lang-dotnet=\"`ManagedImageId`\" pulumi-lang-go=\"`managedImageId`\" pulumi-lang-python=\"`managed_image_id`\" pulumi-lang-yaml=\"`managedImageId`\" pulumi-lang-java=\"`managedImageId`\"\u003e`managed_image_id`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`osDiskSnapshotId`\" pulumi-lang-dotnet=\"`OsDiskSnapshotId`\" pulumi-lang-go=\"`osDiskSnapshotId`\" pulumi-lang-python=\"`os_disk_snapshot_id`\" pulumi-lang-yaml=\"`osDiskSnapshotId`\" pulumi-lang-java=\"`osDiskSnapshotId`\"\u003e`os_disk_snapshot_id`\u003c/span\u003e.\n","willReplaceOnChanges":true},"replicationMode":{"type":"string","description":"Mode to be used for replication. Possible values are `Full` and `Shallow`. Defaults to `Full`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group in which the Shared Image Gallery exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"storageAccountId":{"type":"string","description":"The ID of the Storage Account where the Blob exists. Changing this forces a new resource to be created.\n\n\u003e **NOTE:** \u003cspan pulumi-lang-nodejs=\"`blobUri`\" pulumi-lang-dotnet=\"`BlobUri`\" pulumi-lang-go=\"`blobUri`\" pulumi-lang-python=\"`blob_uri`\" pulumi-lang-yaml=\"`blobUri`\" pulumi-lang-java=\"`blobUri`\"\u003e`blob_uri`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`storageAccountId`\" pulumi-lang-dotnet=\"`StorageAccountId`\" pulumi-lang-go=\"`storageAccountId`\" pulumi-lang-python=\"`storage_account_id`\" pulumi-lang-yaml=\"`storageAccountId`\" pulumi-lang-java=\"`storageAccountId`\"\u003e`storage_account_id`\u003c/span\u003e must be specified together\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A collection of tags which should be applied to this resource.\n"},"targetRegions":{"type":"array","items":{"$ref":"#/types/azure:compute/SharedImageVersionTargetRegion:SharedImageVersionTargetRegion"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`targetRegion`\" pulumi-lang-dotnet=\"`TargetRegion`\" pulumi-lang-go=\"`targetRegion`\" pulumi-lang-python=\"`target_region`\" pulumi-lang-yaml=\"`targetRegion`\" pulumi-lang-java=\"`targetRegion`\"\u003e`target_region`\u003c/span\u003e blocks as documented below.\n"}},"requiredInputs":["galleryName","imageName","resourceGroupName","targetRegions"],"stateInputs":{"description":"Input properties used for looking up and filtering SharedImageVersion resources.\n","properties":{"blobUri":{"type":"string","description":"URI of the Azure Storage Blob used to create the Image Version. Changing this forces a new resource to be created.\n\n\u003e **NOTE:** You must specify exact one of \u003cspan pulumi-lang-nodejs=\"`blobUri`\" pulumi-lang-dotnet=\"`BlobUri`\" pulumi-lang-go=\"`blobUri`\" pulumi-lang-python=\"`blob_uri`\" pulumi-lang-yaml=\"`blobUri`\" pulumi-lang-java=\"`blobUri`\"\u003e`blob_uri`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`managedImageId`\" pulumi-lang-dotnet=\"`ManagedImageId`\" pulumi-lang-go=\"`managedImageId`\" pulumi-lang-python=\"`managed_image_id`\" pulumi-lang-yaml=\"`managedImageId`\" pulumi-lang-java=\"`managedImageId`\"\u003e`managed_image_id`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`osDiskSnapshotId`\" pulumi-lang-dotnet=\"`OsDiskSnapshotId`\" pulumi-lang-go=\"`osDiskSnapshotId`\" pulumi-lang-python=\"`os_disk_snapshot_id`\" pulumi-lang-yaml=\"`osDiskSnapshotId`\" pulumi-lang-java=\"`osDiskSnapshotId`\"\u003e`os_disk_snapshot_id`\u003c/span\u003e.\n\n\u003e **NOTE:** \u003cspan pulumi-lang-nodejs=\"`blobUri`\" pulumi-lang-dotnet=\"`BlobUri`\" pulumi-lang-go=\"`blobUri`\" pulumi-lang-python=\"`blob_uri`\" pulumi-lang-yaml=\"`blobUri`\" pulumi-lang-java=\"`blobUri`\"\u003e`blob_uri`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`storageAccountId`\" pulumi-lang-dotnet=\"`StorageAccountId`\" pulumi-lang-go=\"`storageAccountId`\" pulumi-lang-python=\"`storage_account_id`\" pulumi-lang-yaml=\"`storageAccountId`\" pulumi-lang-java=\"`storageAccountId`\"\u003e`storage_account_id`\u003c/span\u003e must be specified together\n","willReplaceOnChanges":true},"deletionOfReplicatedLocationsEnabled":{"type":"boolean","description":"Specifies whether this Shared Image Version can be deleted from the Azure Regions this is replicated to. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"endOfLifeDate":{"type":"string","description":"The end of life date in RFC3339 format of the Image Version.\n"},"excludeFromLatest":{"type":"boolean","description":"Should this Image Version be excluded from the \u003cspan pulumi-lang-nodejs=\"`latest`\" pulumi-lang-dotnet=\"`Latest`\" pulumi-lang-go=\"`latest`\" pulumi-lang-python=\"`latest`\" pulumi-lang-yaml=\"`latest`\" pulumi-lang-java=\"`latest`\"\u003e`latest`\u003c/span\u003e filter? If set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e this Image Version won't be returned for the \u003cspan pulumi-lang-nodejs=\"`latest`\" pulumi-lang-dotnet=\"`Latest`\" pulumi-lang-go=\"`latest`\" pulumi-lang-python=\"`latest`\" pulumi-lang-yaml=\"`latest`\" pulumi-lang-java=\"`latest`\"\u003e`latest`\u003c/span\u003e version. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"galleryName":{"type":"string","description":"The name of the Shared Image Gallery in which the Shared Image exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"imageName":{"type":"string","description":"The name of the Shared Image within the Shared Image Gallery in which this Version should be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"location":{"type":"string","description":"The Azure Region in which the Shared Image Gallery exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"managedImageId":{"type":"string","description":"The ID of the Managed Image or Virtual Machine ID which should be used for this Shared Image Version. Changing this forces a new resource to be created.\n\n\u003e **NOTE:** The ID can be sourced from the \u003cspan pulumi-lang-nodejs=\"`azure.compute.Image`\" pulumi-lang-dotnet=\"`azure.compute.Image`\" pulumi-lang-go=\"`compute.Image`\" pulumi-lang-python=\"`compute.Image`\" pulumi-lang-yaml=\"`azure.compute.Image`\" pulumi-lang-java=\"`azure.compute.Image`\"\u003e`azure.compute.Image`\u003c/span\u003e data source or resource\n\n\u003e **NOTE:** You must specify exact one of \u003cspan pulumi-lang-nodejs=\"`blobUri`\" pulumi-lang-dotnet=\"`BlobUri`\" pulumi-lang-go=\"`blobUri`\" pulumi-lang-python=\"`blob_uri`\" pulumi-lang-yaml=\"`blobUri`\" pulumi-lang-java=\"`blobUri`\"\u003e`blob_uri`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`managedImageId`\" pulumi-lang-dotnet=\"`ManagedImageId`\" pulumi-lang-go=\"`managedImageId`\" pulumi-lang-python=\"`managed_image_id`\" pulumi-lang-yaml=\"`managedImageId`\" pulumi-lang-java=\"`managedImageId`\"\u003e`managed_image_id`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`osDiskSnapshotId`\" pulumi-lang-dotnet=\"`OsDiskSnapshotId`\" pulumi-lang-go=\"`osDiskSnapshotId`\" pulumi-lang-python=\"`os_disk_snapshot_id`\" pulumi-lang-yaml=\"`osDiskSnapshotId`\" pulumi-lang-java=\"`osDiskSnapshotId`\"\u003e`os_disk_snapshot_id`\u003c/span\u003e.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The version number for this Image Version, such as `1.0.0`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"osDiskSnapshotId":{"type":"string","description":"The ID of the OS disk snapshot which should be used for this Shared Image Version. Changing this forces a new resource to be created.\n\n\u003e **NOTE:** You must specify exact one of \u003cspan pulumi-lang-nodejs=\"`blobUri`\" pulumi-lang-dotnet=\"`BlobUri`\" pulumi-lang-go=\"`blobUri`\" pulumi-lang-python=\"`blob_uri`\" pulumi-lang-yaml=\"`blobUri`\" pulumi-lang-java=\"`blobUri`\"\u003e`blob_uri`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`managedImageId`\" pulumi-lang-dotnet=\"`ManagedImageId`\" pulumi-lang-go=\"`managedImageId`\" pulumi-lang-python=\"`managed_image_id`\" pulumi-lang-yaml=\"`managedImageId`\" pulumi-lang-java=\"`managedImageId`\"\u003e`managed_image_id`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`osDiskSnapshotId`\" pulumi-lang-dotnet=\"`OsDiskSnapshotId`\" pulumi-lang-go=\"`osDiskSnapshotId`\" pulumi-lang-python=\"`os_disk_snapshot_id`\" pulumi-lang-yaml=\"`osDiskSnapshotId`\" pulumi-lang-java=\"`osDiskSnapshotId`\"\u003e`os_disk_snapshot_id`\u003c/span\u003e.\n","willReplaceOnChanges":true},"replicationMode":{"type":"string","description":"Mode to be used for replication. Possible values are `Full` and `Shallow`. Defaults to `Full`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group in which the Shared Image Gallery exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"storageAccountId":{"type":"string","description":"The ID of the Storage Account where the Blob exists. Changing this forces a new resource to be created.\n\n\u003e **NOTE:** \u003cspan pulumi-lang-nodejs=\"`blobUri`\" pulumi-lang-dotnet=\"`BlobUri`\" pulumi-lang-go=\"`blobUri`\" pulumi-lang-python=\"`blob_uri`\" pulumi-lang-yaml=\"`blobUri`\" pulumi-lang-java=\"`blobUri`\"\u003e`blob_uri`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`storageAccountId`\" pulumi-lang-dotnet=\"`StorageAccountId`\" pulumi-lang-go=\"`storageAccountId`\" pulumi-lang-python=\"`storage_account_id`\" pulumi-lang-yaml=\"`storageAccountId`\" pulumi-lang-java=\"`storageAccountId`\"\u003e`storage_account_id`\u003c/span\u003e must be specified together\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A collection of tags which should be applied to this resource.\n"},"targetRegions":{"type":"array","items":{"$ref":"#/types/azure:compute/SharedImageVersionTargetRegion:SharedImageVersionTargetRegion"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`targetRegion`\" pulumi-lang-dotnet=\"`TargetRegion`\" pulumi-lang-go=\"`targetRegion`\" pulumi-lang-python=\"`target_region`\" pulumi-lang-yaml=\"`targetRegion`\" pulumi-lang-java=\"`targetRegion`\"\u003e`target_region`\u003c/span\u003e blocks as documented below.\n"}},"type":"object"}},"azure:compute/snapshot:Snapshot":{"description":"Manages a Disk Snapshot.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"snapshot-rg\",\n    location: \"West Europe\",\n});\nconst exampleManagedDisk = new azure.compute.ManagedDisk(\"example\", {\n    name: \"managed-disk\",\n    location: example.location,\n    resourceGroupName: example.name,\n    storageAccountType: \"Standard_LRS\",\n    createOption: \"Empty\",\n    diskSizeGb: 10,\n});\nconst exampleSnapshot = new azure.compute.Snapshot(\"example\", {\n    name: \"snapshot\",\n    location: example.location,\n    resourceGroupName: example.name,\n    createOption: \"Copy\",\n    sourceUri: exampleManagedDisk.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"snapshot-rg\",\n    location=\"West Europe\")\nexample_managed_disk = azure.compute.ManagedDisk(\"example\",\n    name=\"managed-disk\",\n    location=example.location,\n    resource_group_name=example.name,\n    storage_account_type=\"Standard_LRS\",\n    create_option=\"Empty\",\n    disk_size_gb=10)\nexample_snapshot = azure.compute.Snapshot(\"example\",\n    name=\"snapshot\",\n    location=example.location,\n    resource_group_name=example.name,\n    create_option=\"Copy\",\n    source_uri=example_managed_disk.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"snapshot-rg\",\n        Location = \"West Europe\",\n    });\n\n    var exampleManagedDisk = new Azure.Compute.ManagedDisk(\"example\", new()\n    {\n        Name = \"managed-disk\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        StorageAccountType = \"Standard_LRS\",\n        CreateOption = \"Empty\",\n        DiskSizeGb = 10,\n    });\n\n    var exampleSnapshot = new Azure.Compute.Snapshot(\"example\", new()\n    {\n        Name = \"snapshot\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        CreateOption = \"Copy\",\n        SourceUri = exampleManagedDisk.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/compute\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"snapshot-rg\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleManagedDisk, err := compute.NewManagedDisk(ctx, \"example\", \u0026compute.ManagedDiskArgs{\n\t\t\tName:               pulumi.String(\"managed-disk\"),\n\t\t\tLocation:           example.Location,\n\t\t\tResourceGroupName:  example.Name,\n\t\t\tStorageAccountType: pulumi.String(\"Standard_LRS\"),\n\t\t\tCreateOption:       pulumi.String(\"Empty\"),\n\t\t\tDiskSizeGb:         pulumi.Int(10),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = compute.NewSnapshot(ctx, \"example\", \u0026compute.SnapshotArgs{\n\t\t\tName:              pulumi.String(\"snapshot\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tCreateOption:      pulumi.String(\"Copy\"),\n\t\t\tSourceUri:         exampleManagedDisk.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.compute.ManagedDisk;\nimport com.pulumi.azure.compute.ManagedDiskArgs;\nimport com.pulumi.azure.compute.Snapshot;\nimport com.pulumi.azure.compute.SnapshotArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"snapshot-rg\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleManagedDisk = new ManagedDisk(\"exampleManagedDisk\", ManagedDiskArgs.builder()\n            .name(\"managed-disk\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .storageAccountType(\"Standard_LRS\")\n            .createOption(\"Empty\")\n            .diskSizeGb(10)\n            .build());\n\n        var exampleSnapshot = new Snapshot(\"exampleSnapshot\", SnapshotArgs.builder()\n            .name(\"snapshot\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .createOption(\"Copy\")\n            .sourceUri(exampleManagedDisk.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: snapshot-rg\n      location: West Europe\n  exampleManagedDisk:\n    type: azure:compute:ManagedDisk\n    name: example\n    properties:\n      name: managed-disk\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      storageAccountType: Standard_LRS\n      createOption: Empty\n      diskSizeGb: '10'\n  exampleSnapshot:\n    type: azure:compute:Snapshot\n    name: example\n    properties:\n      name: snapshot\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      createOption: Copy\n      sourceUri: ${exampleManagedDisk.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Compute` - 2022-03-02\n\n## Import\n\nSnapshots can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:compute/snapshot:Snapshot example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Compute/snapshots/snapshot1\n```\n\n","properties":{"createOption":{"type":"string","description":"Indicates how the snapshot is to be created. Possible values are `Copy` or `Import`. \n\n\u003e **Note:** One of \u003cspan pulumi-lang-nodejs=\"`sourceUri`\" pulumi-lang-dotnet=\"`SourceUri`\" pulumi-lang-go=\"`sourceUri`\" pulumi-lang-python=\"`source_uri`\" pulumi-lang-yaml=\"`sourceUri`\" pulumi-lang-java=\"`sourceUri`\"\u003e`source_uri`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`sourceResourceId`\" pulumi-lang-dotnet=\"`SourceResourceId`\" pulumi-lang-go=\"`sourceResourceId`\" pulumi-lang-python=\"`source_resource_id`\" pulumi-lang-yaml=\"`sourceResourceId`\" pulumi-lang-java=\"`sourceResourceId`\"\u003e`source_resource_id`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`storageAccountId`\" pulumi-lang-dotnet=\"`StorageAccountId`\" pulumi-lang-go=\"`storageAccountId`\" pulumi-lang-python=\"`storage_account_id`\" pulumi-lang-yaml=\"`storageAccountId`\" pulumi-lang-java=\"`storageAccountId`\"\u003e`storage_account_id`\u003c/span\u003e must be specified.\n"},"diskAccessId":{"type":"string","description":"Specifies the ID of the Disk Access which should be used for this Snapshot. This is used in conjunction with setting \u003cspan pulumi-lang-nodejs=\"`networkAccessPolicy`\" pulumi-lang-dotnet=\"`NetworkAccessPolicy`\" pulumi-lang-go=\"`networkAccessPolicy`\" pulumi-lang-python=\"`network_access_policy`\" pulumi-lang-yaml=\"`networkAccessPolicy`\" pulumi-lang-java=\"`networkAccessPolicy`\"\u003e`network_access_policy`\u003c/span\u003e to `AllowPrivate`.\n"},"diskSizeGb":{"type":"integer","description":"The size of the Snapshotted Disk in GB.\n"},"encryptionSettings":{"$ref":"#/types/azure:compute/SnapshotEncryptionSettings:SnapshotEncryptionSettings","description":"A \u003cspan pulumi-lang-nodejs=\"`encryptionSettings`\" pulumi-lang-dotnet=\"`EncryptionSettings`\" pulumi-lang-go=\"`encryptionSettings`\" pulumi-lang-python=\"`encryption_settings`\" pulumi-lang-yaml=\"`encryptionSettings`\" pulumi-lang-java=\"`encryptionSettings`\"\u003e`encryption_settings`\u003c/span\u003e block as defined below.\n\n\u003e **Note:** Removing \u003cspan pulumi-lang-nodejs=\"`encryptionSettings`\" pulumi-lang-dotnet=\"`EncryptionSettings`\" pulumi-lang-go=\"`encryptionSettings`\" pulumi-lang-python=\"`encryption_settings`\" pulumi-lang-yaml=\"`encryptionSettings`\" pulumi-lang-java=\"`encryptionSettings`\"\u003e`encryption_settings`\u003c/span\u003e forces a new resource to be created.\n"},"incrementalEnabled":{"type":"boolean","description":"Specifies if the Snapshot is incremental. Changing this forces a new resource to be created.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"Specifies the name of the Snapshot resource. Changing this forces a new resource to be created.\n"},"networkAccessPolicy":{"type":"string","description":"Policy for accessing the disk via network. Possible values are `AllowAll`, `AllowPrivate`, or `DenyAll`. Defaults to `AllowAll`.\n"},"publicNetworkAccessEnabled":{"type":"boolean","description":"Policy for controlling export on the disk. Possible values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the Snapshot. Changing this forces a new resource to be created.\n"},"sourceResourceId":{"type":"string","description":"Specifies a reference to an existing snapshot, when \u003cspan pulumi-lang-nodejs=\"`createOption`\" pulumi-lang-dotnet=\"`CreateOption`\" pulumi-lang-go=\"`createOption`\" pulumi-lang-python=\"`create_option`\" pulumi-lang-yaml=\"`createOption`\" pulumi-lang-java=\"`createOption`\"\u003e`create_option`\u003c/span\u003e is `Copy`. Changing this forces a new resource to be created.\n"},"sourceUri":{"type":"string","description":"Specifies the URI to a Managed or Unmanaged Disk. Changing this forces a new resource to be created.\n"},"storageAccountId":{"type":"string","description":"Specifies the ID of an storage account. Used with \u003cspan pulumi-lang-nodejs=\"`sourceUri`\" pulumi-lang-dotnet=\"`SourceUri`\" pulumi-lang-go=\"`sourceUri`\" pulumi-lang-python=\"`source_uri`\" pulumi-lang-yaml=\"`sourceUri`\" pulumi-lang-java=\"`sourceUri`\"\u003e`source_uri`\u003c/span\u003e to allow authorization during import of unmanaged blobs from a different subscription. Changing this forces a new resource to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"trustedLaunchEnabled":{"type":"boolean","description":"Whether Trusted Launch is enabled for the Snapshot.\n"}},"required":["createOption","diskSizeGb","location","name","resourceGroupName","trustedLaunchEnabled"],"inputProperties":{"createOption":{"type":"string","description":"Indicates how the snapshot is to be created. Possible values are `Copy` or `Import`. \n\n\u003e **Note:** One of \u003cspan pulumi-lang-nodejs=\"`sourceUri`\" pulumi-lang-dotnet=\"`SourceUri`\" pulumi-lang-go=\"`sourceUri`\" pulumi-lang-python=\"`source_uri`\" pulumi-lang-yaml=\"`sourceUri`\" pulumi-lang-java=\"`sourceUri`\"\u003e`source_uri`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`sourceResourceId`\" pulumi-lang-dotnet=\"`SourceResourceId`\" pulumi-lang-go=\"`sourceResourceId`\" pulumi-lang-python=\"`source_resource_id`\" pulumi-lang-yaml=\"`sourceResourceId`\" pulumi-lang-java=\"`sourceResourceId`\"\u003e`source_resource_id`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`storageAccountId`\" pulumi-lang-dotnet=\"`StorageAccountId`\" pulumi-lang-go=\"`storageAccountId`\" pulumi-lang-python=\"`storage_account_id`\" pulumi-lang-yaml=\"`storageAccountId`\" pulumi-lang-java=\"`storageAccountId`\"\u003e`storage_account_id`\u003c/span\u003e must be specified.\n"},"diskAccessId":{"type":"string","description":"Specifies the ID of the Disk Access which should be used for this Snapshot. This is used in conjunction with setting \u003cspan pulumi-lang-nodejs=\"`networkAccessPolicy`\" pulumi-lang-dotnet=\"`NetworkAccessPolicy`\" pulumi-lang-go=\"`networkAccessPolicy`\" pulumi-lang-python=\"`network_access_policy`\" pulumi-lang-yaml=\"`networkAccessPolicy`\" pulumi-lang-java=\"`networkAccessPolicy`\"\u003e`network_access_policy`\u003c/span\u003e to `AllowPrivate`.\n"},"diskSizeGb":{"type":"integer","description":"The size of the Snapshotted Disk in GB.\n"},"encryptionSettings":{"$ref":"#/types/azure:compute/SnapshotEncryptionSettings:SnapshotEncryptionSettings","description":"A \u003cspan pulumi-lang-nodejs=\"`encryptionSettings`\" pulumi-lang-dotnet=\"`EncryptionSettings`\" pulumi-lang-go=\"`encryptionSettings`\" pulumi-lang-python=\"`encryption_settings`\" pulumi-lang-yaml=\"`encryptionSettings`\" pulumi-lang-java=\"`encryptionSettings`\"\u003e`encryption_settings`\u003c/span\u003e block as defined below.\n\n\u003e **Note:** Removing \u003cspan pulumi-lang-nodejs=\"`encryptionSettings`\" pulumi-lang-dotnet=\"`EncryptionSettings`\" pulumi-lang-go=\"`encryptionSettings`\" pulumi-lang-python=\"`encryption_settings`\" pulumi-lang-yaml=\"`encryptionSettings`\" pulumi-lang-java=\"`encryptionSettings`\"\u003e`encryption_settings`\u003c/span\u003e forces a new resource to be created.\n"},"incrementalEnabled":{"type":"boolean","description":"Specifies if the Snapshot is incremental. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the Snapshot resource. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"networkAccessPolicy":{"type":"string","description":"Policy for accessing the disk via network. Possible values are `AllowAll`, `AllowPrivate`, or `DenyAll`. Defaults to `AllowAll`.\n"},"publicNetworkAccessEnabled":{"type":"boolean","description":"Policy for controlling export on the disk. Possible values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the Snapshot. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sourceResourceId":{"type":"string","description":"Specifies a reference to an existing snapshot, when \u003cspan pulumi-lang-nodejs=\"`createOption`\" pulumi-lang-dotnet=\"`CreateOption`\" pulumi-lang-go=\"`createOption`\" pulumi-lang-python=\"`create_option`\" pulumi-lang-yaml=\"`createOption`\" pulumi-lang-java=\"`createOption`\"\u003e`create_option`\u003c/span\u003e is `Copy`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sourceUri":{"type":"string","description":"Specifies the URI to a Managed or Unmanaged Disk. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"storageAccountId":{"type":"string","description":"Specifies the ID of an storage account. Used with \u003cspan pulumi-lang-nodejs=\"`sourceUri`\" pulumi-lang-dotnet=\"`SourceUri`\" pulumi-lang-go=\"`sourceUri`\" pulumi-lang-python=\"`source_uri`\" pulumi-lang-yaml=\"`sourceUri`\" pulumi-lang-java=\"`sourceUri`\"\u003e`source_uri`\u003c/span\u003e to allow authorization during import of unmanaged blobs from a different subscription. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"requiredInputs":["createOption","resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering Snapshot resources.\n","properties":{"createOption":{"type":"string","description":"Indicates how the snapshot is to be created. Possible values are `Copy` or `Import`. \n\n\u003e **Note:** One of \u003cspan pulumi-lang-nodejs=\"`sourceUri`\" pulumi-lang-dotnet=\"`SourceUri`\" pulumi-lang-go=\"`sourceUri`\" pulumi-lang-python=\"`source_uri`\" pulumi-lang-yaml=\"`sourceUri`\" pulumi-lang-java=\"`sourceUri`\"\u003e`source_uri`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`sourceResourceId`\" pulumi-lang-dotnet=\"`SourceResourceId`\" pulumi-lang-go=\"`sourceResourceId`\" pulumi-lang-python=\"`source_resource_id`\" pulumi-lang-yaml=\"`sourceResourceId`\" pulumi-lang-java=\"`sourceResourceId`\"\u003e`source_resource_id`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`storageAccountId`\" pulumi-lang-dotnet=\"`StorageAccountId`\" pulumi-lang-go=\"`storageAccountId`\" pulumi-lang-python=\"`storage_account_id`\" pulumi-lang-yaml=\"`storageAccountId`\" pulumi-lang-java=\"`storageAccountId`\"\u003e`storage_account_id`\u003c/span\u003e must be specified.\n"},"diskAccessId":{"type":"string","description":"Specifies the ID of the Disk Access which should be used for this Snapshot. This is used in conjunction with setting \u003cspan pulumi-lang-nodejs=\"`networkAccessPolicy`\" pulumi-lang-dotnet=\"`NetworkAccessPolicy`\" pulumi-lang-go=\"`networkAccessPolicy`\" pulumi-lang-python=\"`network_access_policy`\" pulumi-lang-yaml=\"`networkAccessPolicy`\" pulumi-lang-java=\"`networkAccessPolicy`\"\u003e`network_access_policy`\u003c/span\u003e to `AllowPrivate`.\n"},"diskSizeGb":{"type":"integer","description":"The size of the Snapshotted Disk in GB.\n"},"encryptionSettings":{"$ref":"#/types/azure:compute/SnapshotEncryptionSettings:SnapshotEncryptionSettings","description":"A \u003cspan pulumi-lang-nodejs=\"`encryptionSettings`\" pulumi-lang-dotnet=\"`EncryptionSettings`\" pulumi-lang-go=\"`encryptionSettings`\" pulumi-lang-python=\"`encryption_settings`\" pulumi-lang-yaml=\"`encryptionSettings`\" pulumi-lang-java=\"`encryptionSettings`\"\u003e`encryption_settings`\u003c/span\u003e block as defined below.\n\n\u003e **Note:** Removing \u003cspan pulumi-lang-nodejs=\"`encryptionSettings`\" pulumi-lang-dotnet=\"`EncryptionSettings`\" pulumi-lang-go=\"`encryptionSettings`\" pulumi-lang-python=\"`encryption_settings`\" pulumi-lang-yaml=\"`encryptionSettings`\" pulumi-lang-java=\"`encryptionSettings`\"\u003e`encryption_settings`\u003c/span\u003e forces a new resource to be created.\n"},"incrementalEnabled":{"type":"boolean","description":"Specifies if the Snapshot is incremental. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the Snapshot resource. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"networkAccessPolicy":{"type":"string","description":"Policy for accessing the disk via network. Possible values are `AllowAll`, `AllowPrivate`, or `DenyAll`. Defaults to `AllowAll`.\n"},"publicNetworkAccessEnabled":{"type":"boolean","description":"Policy for controlling export on the disk. Possible values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the Snapshot. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sourceResourceId":{"type":"string","description":"Specifies a reference to an existing snapshot, when \u003cspan pulumi-lang-nodejs=\"`createOption`\" pulumi-lang-dotnet=\"`CreateOption`\" pulumi-lang-go=\"`createOption`\" pulumi-lang-python=\"`create_option`\" pulumi-lang-yaml=\"`createOption`\" pulumi-lang-java=\"`createOption`\"\u003e`create_option`\u003c/span\u003e is `Copy`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sourceUri":{"type":"string","description":"Specifies the URI to a Managed or Unmanaged Disk. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"storageAccountId":{"type":"string","description":"Specifies the ID of an storage account. Used with \u003cspan pulumi-lang-nodejs=\"`sourceUri`\" pulumi-lang-dotnet=\"`SourceUri`\" pulumi-lang-go=\"`sourceUri`\" pulumi-lang-python=\"`source_uri`\" pulumi-lang-yaml=\"`sourceUri`\" pulumi-lang-java=\"`sourceUri`\"\u003e`source_uri`\u003c/span\u003e to allow authorization during import of unmanaged blobs from a different subscription. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"trustedLaunchEnabled":{"type":"boolean","description":"Whether Trusted Launch is enabled for the Snapshot.\n"}},"type":"object"}},"azure:compute/sshPublicKey:SshPublicKey":{"description":"Manages a SSH Public Key.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\nimport * as std from \"@pulumi/std\";\n\nconst example = new azure.compute.SshPublicKey(\"example\", {\n    name: \"example\",\n    resourceGroupName: \"example\",\n    location: \"West Europe\",\n    publicKey: std.file({\n        input: \"~/.ssh/id_rsa.pub\",\n    }).then(invoke =\u003e invoke.result),\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\nimport pulumi_std as std\n\nexample = azure.compute.SshPublicKey(\"example\",\n    name=\"example\",\n    resource_group_name=\"example\",\n    location=\"West Europe\",\n    public_key=std.file(input=\"~/.ssh/id_rsa.pub\").result)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Compute.SshPublicKey(\"example\", new()\n    {\n        Name = \"example\",\n        ResourceGroupName = \"example\",\n        Location = \"West Europe\",\n        PublicKey = Std.File.Invoke(new()\n        {\n            Input = \"~/.ssh/id_rsa.pub\",\n        }).Apply(invoke =\u003e invoke.Result),\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/compute\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"~/.ssh/id_rsa.pub\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = compute.NewSshPublicKey(ctx, \"example\", \u0026compute.SshPublicKeyArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tResourceGroupName: pulumi.String(\"example\"),\n\t\t\tLocation:          pulumi.String(\"West Europe\"),\n\t\t\tPublicKey:         pulumi.String(invokeFile.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.compute.SshPublicKey;\nimport com.pulumi.azure.compute.SshPublicKeyArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.FileArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new SshPublicKey(\"example\", SshPublicKeyArgs.builder()\n            .name(\"example\")\n            .resourceGroupName(\"example\")\n            .location(\"West Europe\")\n            .publicKey(StdFunctions.file(FileArgs.builder()\n                .input(\"~/.ssh/id_rsa.pub\")\n                .build()).result())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:compute:SshPublicKey\n    properties:\n      name: example\n      resourceGroupName: example\n      location: West Europe\n      publicKey:\n        fn::invoke:\n          function: std:file\n          arguments:\n            input: ~/.ssh/id_rsa.pub\n          return: result\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Compute` - 2024-03-01\n\n## Import\n\nSSH Public Keys can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:compute/sshPublicKey:SshPublicKey example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Compute/sshPublicKeys/mySshPublicKeyName1\n```\n\n","properties":{"location":{"type":"string","description":"The Azure Region where the SSH Public Key should exist. Changing this forces a new SSH Public Key to be created.\n"},"name":{"type":"string","description":"The name which should be used for this SSH Public Key. Changing this forces a new SSH Public Key to be created.\n"},"publicKey":{"type":"string","description":"SSH public key used to authenticate to a virtual machine through ssh. the provided public key needs to be at least 2048-bit and in ssh-rsa format.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the SSH Public Key should exist. Changing this forces a new SSH Public Key to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the SSH Public Key.\n"}},"required":["location","name","publicKey","resourceGroupName"],"inputProperties":{"location":{"type":"string","description":"The Azure Region where the SSH Public Key should exist. Changing this forces a new SSH Public Key to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this SSH Public Key. Changing this forces a new SSH Public Key to be created.\n","willReplaceOnChanges":true},"publicKey":{"type":"string","description":"SSH public key used to authenticate to a virtual machine through ssh. the provided public key needs to be at least 2048-bit and in ssh-rsa format.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the SSH Public Key should exist. Changing this forces a new SSH Public Key to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the SSH Public Key.\n"}},"requiredInputs":["publicKey","resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering SshPublicKey resources.\n","properties":{"location":{"type":"string","description":"The Azure Region where the SSH Public Key should exist. Changing this forces a new SSH Public Key to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this SSH Public Key. Changing this forces a new SSH Public Key to be created.\n","willReplaceOnChanges":true},"publicKey":{"type":"string","description":"SSH public key used to authenticate to a virtual machine through ssh. the provided public key needs to be at least 2048-bit and in ssh-rsa format.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the SSH Public Key should exist. Changing this forces a new SSH Public Key to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the SSH Public Key.\n"}},"type":"object"}},"azure:compute/virtualMachine:VirtualMachine":{"description":"Manages a Virtual Machine.\n\n## Disclaimers\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`azure.compute.VirtualMachine`\" pulumi-lang-dotnet=\"`azure.compute.VirtualMachine`\" pulumi-lang-go=\"`compute.VirtualMachine`\" pulumi-lang-python=\"`compute.VirtualMachine`\" pulumi-lang-yaml=\"`azure.compute.VirtualMachine`\" pulumi-lang-java=\"`azure.compute.VirtualMachine`\"\u003e`azure.compute.VirtualMachine`\u003c/span\u003e resource has been superseded by the \u003cspan pulumi-lang-nodejs=\"`azure.compute.LinuxVirtualMachine`\" pulumi-lang-dotnet=\"`azure.compute.LinuxVirtualMachine`\" pulumi-lang-go=\"`compute.LinuxVirtualMachine`\" pulumi-lang-python=\"`compute.LinuxVirtualMachine`\" pulumi-lang-yaml=\"`azure.compute.LinuxVirtualMachine`\" pulumi-lang-java=\"`azure.compute.LinuxVirtualMachine`\"\u003e`azure.compute.LinuxVirtualMachine`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`azure.compute.WindowsVirtualMachine`\" pulumi-lang-dotnet=\"`azure.compute.WindowsVirtualMachine`\" pulumi-lang-go=\"`compute.WindowsVirtualMachine`\" pulumi-lang-python=\"`compute.WindowsVirtualMachine`\" pulumi-lang-yaml=\"`azure.compute.WindowsVirtualMachine`\" pulumi-lang-java=\"`azure.compute.WindowsVirtualMachine`\"\u003e`azure.compute.WindowsVirtualMachine`\u003c/span\u003e resources. The existing \u003cspan pulumi-lang-nodejs=\"`azure.compute.VirtualMachine`\" pulumi-lang-dotnet=\"`azure.compute.VirtualMachine`\" pulumi-lang-go=\"`compute.VirtualMachine`\" pulumi-lang-python=\"`compute.VirtualMachine`\" pulumi-lang-yaml=\"`azure.compute.VirtualMachine`\" pulumi-lang-java=\"`azure.compute.VirtualMachine`\"\u003e`azure.compute.VirtualMachine`\u003c/span\u003e resource will continue to be available throughout the 2.x releases however is in a feature-frozen state to maintain compatibility - new functionality will instead be added to the \u003cspan pulumi-lang-nodejs=\"`azure.compute.LinuxVirtualMachine`\" pulumi-lang-dotnet=\"`azure.compute.LinuxVirtualMachine`\" pulumi-lang-go=\"`compute.LinuxVirtualMachine`\" pulumi-lang-python=\"`compute.LinuxVirtualMachine`\" pulumi-lang-yaml=\"`azure.compute.LinuxVirtualMachine`\" pulumi-lang-java=\"`azure.compute.LinuxVirtualMachine`\"\u003e`azure.compute.LinuxVirtualMachine`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`azure.compute.WindowsVirtualMachine`\" pulumi-lang-dotnet=\"`azure.compute.WindowsVirtualMachine`\" pulumi-lang-go=\"`compute.WindowsVirtualMachine`\" pulumi-lang-python=\"`compute.WindowsVirtualMachine`\" pulumi-lang-yaml=\"`azure.compute.WindowsVirtualMachine`\" pulumi-lang-java=\"`azure.compute.WindowsVirtualMachine`\"\u003e`azure.compute.WindowsVirtualMachine`\u003c/span\u003e resources.\n\n\u003e **Note:** Data Disks can be attached either directly on the \u003cspan pulumi-lang-nodejs=\"`azure.compute.VirtualMachine`\" pulumi-lang-dotnet=\"`azure.compute.VirtualMachine`\" pulumi-lang-go=\"`compute.VirtualMachine`\" pulumi-lang-python=\"`compute.VirtualMachine`\" pulumi-lang-yaml=\"`azure.compute.VirtualMachine`\" pulumi-lang-java=\"`azure.compute.VirtualMachine`\"\u003e`azure.compute.VirtualMachine`\u003c/span\u003e resource, or using the \u003cspan pulumi-lang-nodejs=\"`azure.compute.DataDiskAttachment`\" pulumi-lang-dotnet=\"`azure.compute.DataDiskAttachment`\" pulumi-lang-go=\"`compute.DataDiskAttachment`\" pulumi-lang-python=\"`compute.DataDiskAttachment`\" pulumi-lang-yaml=\"`azure.compute.DataDiskAttachment`\" pulumi-lang-java=\"`azure.compute.DataDiskAttachment`\"\u003e`azure.compute.DataDiskAttachment`\u003c/span\u003e resource - but the two cannot be used together. If both are used against the same Virtual Machine, spurious changes will occur.\n\n## Example Usage\n\n### From An Azure Platform Image)\n\nThis example provisions a Virtual Machine with Managed Disks.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst config = new pulumi.Config();\nconst prefix = config.get(\"prefix\") || \"tfvmex\";\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: `${prefix}-resources`,\n    location: \"West Europe\",\n});\nconst main = new azure.network.VirtualNetwork(\"main\", {\n    name: `${prefix}-network`,\n    addressSpaces: [\"10.0.0.0/16\"],\n    location: example.location,\n    resourceGroupName: example.name,\n});\nconst internal = new azure.network.Subnet(\"internal\", {\n    name: \"internal\",\n    resourceGroupName: example.name,\n    virtualNetworkName: main.name,\n    addressPrefixes: [\"10.0.2.0/24\"],\n});\nconst mainNetworkInterface = new azure.network.NetworkInterface(\"main\", {\n    name: `${prefix}-nic`,\n    location: example.location,\n    resourceGroupName: example.name,\n    ipConfigurations: [{\n        name: \"testconfiguration1\",\n        subnetId: internal.id,\n        privateIpAddressAllocation: \"Dynamic\",\n    }],\n});\nconst mainVirtualMachine = new azure.compute.VirtualMachine(\"main\", {\n    name: `${prefix}-vm`,\n    location: example.location,\n    resourceGroupName: example.name,\n    networkInterfaceIds: [mainNetworkInterface.id],\n    vmSize: \"Standard_DS1_v2\",\n    storageImageReference: {\n        publisher: \"Canonical\",\n        offer: \"0001-com-ubuntu-server-jammy\",\n        sku: \"22_04-lts\",\n        version: \"latest\",\n    },\n    storageOsDisk: {\n        name: \"myosdisk1\",\n        caching: \"ReadWrite\",\n        createOption: \"FromImage\",\n        managedDiskType: \"Standard_LRS\",\n    },\n    osProfile: {\n        computerName: \"hostname\",\n        adminUsername: \"testadmin\",\n        adminPassword: \"Password1234!\",\n    },\n    osProfileLinuxConfig: {\n        disablePasswordAuthentication: false,\n    },\n    tags: {\n        environment: \"staging\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nconfig = pulumi.Config()\nprefix = config.get(\"prefix\")\nif prefix is None:\n    prefix = \"tfvmex\"\nexample = azure.core.ResourceGroup(\"example\",\n    name=f\"{prefix}-resources\",\n    location=\"West Europe\")\nmain = azure.network.VirtualNetwork(\"main\",\n    name=f\"{prefix}-network\",\n    address_spaces=[\"10.0.0.0/16\"],\n    location=example.location,\n    resource_group_name=example.name)\ninternal = azure.network.Subnet(\"internal\",\n    name=\"internal\",\n    resource_group_name=example.name,\n    virtual_network_name=main.name,\n    address_prefixes=[\"10.0.2.0/24\"])\nmain_network_interface = azure.network.NetworkInterface(\"main\",\n    name=f\"{prefix}-nic\",\n    location=example.location,\n    resource_group_name=example.name,\n    ip_configurations=[{\n        \"name\": \"testconfiguration1\",\n        \"subnet_id\": internal.id,\n        \"private_ip_address_allocation\": \"Dynamic\",\n    }])\nmain_virtual_machine = azure.compute.VirtualMachine(\"main\",\n    name=f\"{prefix}-vm\",\n    location=example.location,\n    resource_group_name=example.name,\n    network_interface_ids=[main_network_interface.id],\n    vm_size=\"Standard_DS1_v2\",\n    storage_image_reference={\n        \"publisher\": \"Canonical\",\n        \"offer\": \"0001-com-ubuntu-server-jammy\",\n        \"sku\": \"22_04-lts\",\n        \"version\": \"latest\",\n    },\n    storage_os_disk={\n        \"name\": \"myosdisk1\",\n        \"caching\": \"ReadWrite\",\n        \"create_option\": \"FromImage\",\n        \"managed_disk_type\": \"Standard_LRS\",\n    },\n    os_profile={\n        \"computer_name\": \"hostname\",\n        \"admin_username\": \"testadmin\",\n        \"admin_password\": \"Password1234!\",\n    },\n    os_profile_linux_config={\n        \"disable_password_authentication\": False,\n    },\n    tags={\n        \"environment\": \"staging\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var prefix = config.Get(\"prefix\") ?? \"tfvmex\";\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = $\"{prefix}-resources\",\n        Location = \"West Europe\",\n    });\n\n    var main = new Azure.Network.VirtualNetwork(\"main\", new()\n    {\n        Name = $\"{prefix}-network\",\n        AddressSpaces = new[]\n        {\n            \"10.0.0.0/16\",\n        },\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n    });\n\n    var @internal = new Azure.Network.Subnet(\"internal\", new()\n    {\n        Name = \"internal\",\n        ResourceGroupName = example.Name,\n        VirtualNetworkName = main.Name,\n        AddressPrefixes = new[]\n        {\n            \"10.0.2.0/24\",\n        },\n    });\n\n    var mainNetworkInterface = new Azure.Network.NetworkInterface(\"main\", new()\n    {\n        Name = $\"{prefix}-nic\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        IpConfigurations = new[]\n        {\n            new Azure.Network.Inputs.NetworkInterfaceIpConfigurationArgs\n            {\n                Name = \"testconfiguration1\",\n                SubnetId = @internal.Id,\n                PrivateIpAddressAllocation = \"Dynamic\",\n            },\n        },\n    });\n\n    var mainVirtualMachine = new Azure.Compute.VirtualMachine(\"main\", new()\n    {\n        Name = $\"{prefix}-vm\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        NetworkInterfaceIds = new[]\n        {\n            mainNetworkInterface.Id,\n        },\n        VmSize = \"Standard_DS1_v2\",\n        StorageImageReference = new Azure.Compute.Inputs.VirtualMachineStorageImageReferenceArgs\n        {\n            Publisher = \"Canonical\",\n            Offer = \"0001-com-ubuntu-server-jammy\",\n            Sku = \"22_04-lts\",\n            Version = \"latest\",\n        },\n        StorageOsDisk = new Azure.Compute.Inputs.VirtualMachineStorageOsDiskArgs\n        {\n            Name = \"myosdisk1\",\n            Caching = \"ReadWrite\",\n            CreateOption = \"FromImage\",\n            ManagedDiskType = \"Standard_LRS\",\n        },\n        OsProfile = new Azure.Compute.Inputs.VirtualMachineOsProfileArgs\n        {\n            ComputerName = \"hostname\",\n            AdminUsername = \"testadmin\",\n            AdminPassword = \"Password1234!\",\n        },\n        OsProfileLinuxConfig = new Azure.Compute.Inputs.VirtualMachineOsProfileLinuxConfigArgs\n        {\n            DisablePasswordAuthentication = false,\n        },\n        Tags = \n        {\n            { \"environment\", \"staging\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/compute\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tprefix := \"tfvmex\"\n\t\tif param := cfg.Get(\"prefix\"); param != \"\" {\n\t\t\tprefix = param\n\t\t}\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.Sprintf(\"%v-resources\", prefix),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmain, err := network.NewVirtualNetwork(ctx, \"main\", \u0026network.VirtualNetworkArgs{\n\t\t\tName: pulumi.Sprintf(\"%v-network\", prefix),\n\t\t\tAddressSpaces: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.0.0/16\"),\n\t\t\t},\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinternal, err := network.NewSubnet(ctx, \"internal\", \u0026network.SubnetArgs{\n\t\t\tName:               pulumi.String(\"internal\"),\n\t\t\tResourceGroupName:  example.Name,\n\t\t\tVirtualNetworkName: main.Name,\n\t\t\tAddressPrefixes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.2.0/24\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmainNetworkInterface, err := network.NewNetworkInterface(ctx, \"main\", \u0026network.NetworkInterfaceArgs{\n\t\t\tName:              pulumi.Sprintf(\"%v-nic\", prefix),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tIpConfigurations: network.NetworkInterfaceIpConfigurationArray{\n\t\t\t\t\u0026network.NetworkInterfaceIpConfigurationArgs{\n\t\t\t\t\tName:                       pulumi.String(\"testconfiguration1\"),\n\t\t\t\t\tSubnetId:                   internal.ID(),\n\t\t\t\t\tPrivateIpAddressAllocation: pulumi.String(\"Dynamic\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = compute.NewVirtualMachine(ctx, \"main\", \u0026compute.VirtualMachineArgs{\n\t\t\tName:              pulumi.Sprintf(\"%v-vm\", prefix),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tNetworkInterfaceIds: pulumi.StringArray{\n\t\t\t\tmainNetworkInterface.ID(),\n\t\t\t},\n\t\t\tVmSize: pulumi.String(\"Standard_DS1_v2\"),\n\t\t\tStorageImageReference: \u0026compute.VirtualMachineStorageImageReferenceArgs{\n\t\t\t\tPublisher: pulumi.String(\"Canonical\"),\n\t\t\t\tOffer:     pulumi.String(\"0001-com-ubuntu-server-jammy\"),\n\t\t\t\tSku:       pulumi.String(\"22_04-lts\"),\n\t\t\t\tVersion:   pulumi.String(\"latest\"),\n\t\t\t},\n\t\t\tStorageOsDisk: \u0026compute.VirtualMachineStorageOsDiskArgs{\n\t\t\t\tName:            pulumi.String(\"myosdisk1\"),\n\t\t\t\tCaching:         pulumi.String(\"ReadWrite\"),\n\t\t\t\tCreateOption:    pulumi.String(\"FromImage\"),\n\t\t\t\tManagedDiskType: pulumi.String(\"Standard_LRS\"),\n\t\t\t},\n\t\t\tOsProfile: \u0026compute.VirtualMachineOsProfileArgs{\n\t\t\t\tComputerName:  pulumi.String(\"hostname\"),\n\t\t\t\tAdminUsername: pulumi.String(\"testadmin\"),\n\t\t\t\tAdminPassword: pulumi.String(\"Password1234!\"),\n\t\t\t},\n\t\t\tOsProfileLinuxConfig: \u0026compute.VirtualMachineOsProfileLinuxConfigArgs{\n\t\t\t\tDisablePasswordAuthentication: pulumi.Bool(false),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"environment\": pulumi.String(\"staging\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.VirtualNetwork;\nimport com.pulumi.azure.network.VirtualNetworkArgs;\nimport com.pulumi.azure.network.Subnet;\nimport com.pulumi.azure.network.SubnetArgs;\nimport com.pulumi.azure.network.NetworkInterface;\nimport com.pulumi.azure.network.NetworkInterfaceArgs;\nimport com.pulumi.azure.network.inputs.NetworkInterfaceIpConfigurationArgs;\nimport com.pulumi.azure.compute.VirtualMachine;\nimport com.pulumi.azure.compute.VirtualMachineArgs;\nimport com.pulumi.azure.compute.inputs.VirtualMachineStorageImageReferenceArgs;\nimport com.pulumi.azure.compute.inputs.VirtualMachineStorageOsDiskArgs;\nimport com.pulumi.azure.compute.inputs.VirtualMachineOsProfileArgs;\nimport com.pulumi.azure.compute.inputs.VirtualMachineOsProfileLinuxConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var prefix = config.get(\"prefix\").orElse(\"tfvmex\");\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(String.format(\"%s-resources\", prefix))\n            .location(\"West Europe\")\n            .build());\n\n        var main = new VirtualNetwork(\"main\", VirtualNetworkArgs.builder()\n            .name(String.format(\"%s-network\", prefix))\n            .addressSpaces(\"10.0.0.0/16\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .build());\n\n        var internal = new Subnet(\"internal\", SubnetArgs.builder()\n            .name(\"internal\")\n            .resourceGroupName(example.name())\n            .virtualNetworkName(main.name())\n            .addressPrefixes(\"10.0.2.0/24\")\n            .build());\n\n        var mainNetworkInterface = new NetworkInterface(\"mainNetworkInterface\", NetworkInterfaceArgs.builder()\n            .name(String.format(\"%s-nic\", prefix))\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .ipConfigurations(NetworkInterfaceIpConfigurationArgs.builder()\n                .name(\"testconfiguration1\")\n                .subnetId(internal.id())\n                .privateIpAddressAllocation(\"Dynamic\")\n                .build())\n            .build());\n\n        var mainVirtualMachine = new VirtualMachine(\"mainVirtualMachine\", VirtualMachineArgs.builder()\n            .name(String.format(\"%s-vm\", prefix))\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .networkInterfaceIds(mainNetworkInterface.id())\n            .vmSize(\"Standard_DS1_v2\")\n            .storageImageReference(VirtualMachineStorageImageReferenceArgs.builder()\n                .publisher(\"Canonical\")\n                .offer(\"0001-com-ubuntu-server-jammy\")\n                .sku(\"22_04-lts\")\n                .version(\"latest\")\n                .build())\n            .storageOsDisk(VirtualMachineStorageOsDiskArgs.builder()\n                .name(\"myosdisk1\")\n                .caching(\"ReadWrite\")\n                .createOption(\"FromImage\")\n                .managedDiskType(\"Standard_LRS\")\n                .build())\n            .osProfile(VirtualMachineOsProfileArgs.builder()\n                .computerName(\"hostname\")\n                .adminUsername(\"testadmin\")\n                .adminPassword(\"Password1234!\")\n                .build())\n            .osProfileLinuxConfig(VirtualMachineOsProfileLinuxConfigArgs.builder()\n                .disablePasswordAuthentication(false)\n                .build())\n            .tags(Map.of(\"environment\", \"staging\"))\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  prefix:\n    type: string\n    default: tfvmex\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: ${prefix}-resources\n      location: West Europe\n  main:\n    type: azure:network:VirtualNetwork\n    properties:\n      name: ${prefix}-network\n      addressSpaces:\n        - 10.0.0.0/16\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n  internal:\n    type: azure:network:Subnet\n    properties:\n      name: internal\n      resourceGroupName: ${example.name}\n      virtualNetworkName: ${main.name}\n      addressPrefixes:\n        - 10.0.2.0/24\n  mainNetworkInterface:\n    type: azure:network:NetworkInterface\n    name: main\n    properties:\n      name: ${prefix}-nic\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      ipConfigurations:\n        - name: testconfiguration1\n          subnetId: ${internal.id}\n          privateIpAddressAllocation: Dynamic\n  mainVirtualMachine:\n    type: azure:compute:VirtualMachine\n    name: main\n    properties:\n      name: ${prefix}-vm\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      networkInterfaceIds:\n        - ${mainNetworkInterface.id}\n      vmSize: Standard_DS1_v2\n      storageImageReference:\n        publisher: Canonical\n        offer: 0001-com-ubuntu-server-jammy\n        sku: 22_04-lts\n        version: latest\n      storageOsDisk:\n        name: myosdisk1\n        caching: ReadWrite\n        createOption: FromImage\n        managedDiskType: Standard_LRS\n      osProfile:\n        computerName: hostname\n        adminUsername: testadmin\n        adminPassword: Password1234!\n      osProfileLinuxConfig:\n        disablePasswordAuthentication: false\n      tags:\n        environment: staging\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Compute` - 2024-03-01, 2023-04-02\n\n* `Microsoft.Network` - 2025-01-01\n\n## Import\n\nVirtual Machines can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:compute/virtualMachine:VirtualMachine example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Compute/virtualMachines/machine1\n```\n\n","properties":{"additionalCapabilities":{"$ref":"#/types/azure:compute/VirtualMachineAdditionalCapabilities:VirtualMachineAdditionalCapabilities","description":"An \u003cspan pulumi-lang-nodejs=\"`additionalCapabilities`\" pulumi-lang-dotnet=\"`AdditionalCapabilities`\" pulumi-lang-go=\"`additionalCapabilities`\" pulumi-lang-python=\"`additional_capabilities`\" pulumi-lang-yaml=\"`additionalCapabilities`\" pulumi-lang-java=\"`additionalCapabilities`\"\u003e`additional_capabilities`\u003c/span\u003e block as defined below.\n"},"availabilitySetId":{"type":"string","description":"The ID of the Availability Set in which the Virtual Machine should exist. Changing this forces a new resource to be created.\n"},"bootDiagnostics":{"$ref":"#/types/azure:compute/VirtualMachineBootDiagnostics:VirtualMachineBootDiagnostics","description":"A \u003cspan pulumi-lang-nodejs=\"`bootDiagnostics`\" pulumi-lang-dotnet=\"`BootDiagnostics`\" pulumi-lang-go=\"`bootDiagnostics`\" pulumi-lang-python=\"`boot_diagnostics`\" pulumi-lang-yaml=\"`bootDiagnostics`\" pulumi-lang-java=\"`bootDiagnostics`\"\u003e`boot_diagnostics`\u003c/span\u003e block as defined below.\n"},"deleteDataDisksOnTermination":{"type":"boolean","description":"Should the Data Disks (either the Managed Disks / VHD Blobs) be deleted when the Virtual Machine is destroyed? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** This setting works when instance is deleted via the provider only and don't forget to delete disks manually if you deleted VM manually. It can increase spending.\n"},"deleteOsDiskOnTermination":{"type":"boolean","description":"Should the OS Disk (either the Managed Disk / VHD Blob) be deleted when the Virtual Machine is destroyed? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** This setting works when instance is deleted via the provider only and don't forget to delete disks manually if you deleted VM manually. It can increase spending.\n"},"identity":{"$ref":"#/types/azure:compute/VirtualMachineIdentity:VirtualMachineIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"licenseType":{"type":"string","description":"Specifies the BYOL Type for this Virtual Machine. This is only applicable to Windows Virtual Machines. Possible values are `Windows_Client` and `Windows_Server`.\n"},"location":{"type":"string","description":"Specifies the Azure Region where the Virtual Machine exists. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"Specifies the name of the Virtual Machine. Changing this forces a new resource to be created.\n"},"networkInterfaceIds":{"type":"array","items":{"type":"string"},"description":"A list of Network Interface IDs which should be associated with the Virtual Machine.\n"},"osProfile":{"$ref":"#/types/azure:compute/VirtualMachineOsProfile:VirtualMachineOsProfile","description":"An \u003cspan pulumi-lang-nodejs=\"`osProfile`\" pulumi-lang-dotnet=\"`OsProfile`\" pulumi-lang-go=\"`osProfile`\" pulumi-lang-python=\"`os_profile`\" pulumi-lang-yaml=\"`osProfile`\" pulumi-lang-java=\"`osProfile`\"\u003e`os_profile`\u003c/span\u003e block as defined below. Required when \u003cspan pulumi-lang-nodejs=\"`createOption`\" pulumi-lang-dotnet=\"`CreateOption`\" pulumi-lang-go=\"`createOption`\" pulumi-lang-python=\"`create_option`\" pulumi-lang-yaml=\"`createOption`\" pulumi-lang-java=\"`createOption`\"\u003e`create_option`\u003c/span\u003e in the \u003cspan pulumi-lang-nodejs=\"`storageOsDisk`\" pulumi-lang-dotnet=\"`StorageOsDisk`\" pulumi-lang-go=\"`storageOsDisk`\" pulumi-lang-python=\"`storage_os_disk`\" pulumi-lang-yaml=\"`storageOsDisk`\" pulumi-lang-java=\"`storageOsDisk`\"\u003e`storage_os_disk`\u003c/span\u003e block is set to `FromImage`.\n"},"osProfileLinuxConfig":{"$ref":"#/types/azure:compute/VirtualMachineOsProfileLinuxConfig:VirtualMachineOsProfileLinuxConfig","description":"(Required, when a Linux machine) An \u003cspan pulumi-lang-nodejs=\"`osProfileLinuxConfig`\" pulumi-lang-dotnet=\"`OsProfileLinuxConfig`\" pulumi-lang-go=\"`osProfileLinuxConfig`\" pulumi-lang-python=\"`os_profile_linux_config`\" pulumi-lang-yaml=\"`osProfileLinuxConfig`\" pulumi-lang-java=\"`osProfileLinuxConfig`\"\u003e`os_profile_linux_config`\u003c/span\u003e block as defined below.\n"},"osProfileSecrets":{"type":"array","items":{"$ref":"#/types/azure:compute/VirtualMachineOsProfileSecret:VirtualMachineOsProfileSecret"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`osProfileSecrets`\" pulumi-lang-dotnet=\"`OsProfileSecrets`\" pulumi-lang-go=\"`osProfileSecrets`\" pulumi-lang-python=\"`os_profile_secrets`\" pulumi-lang-yaml=\"`osProfileSecrets`\" pulumi-lang-java=\"`osProfileSecrets`\"\u003e`os_profile_secrets`\u003c/span\u003e blocks as defined below.\n"},"osProfileWindowsConfig":{"$ref":"#/types/azure:compute/VirtualMachineOsProfileWindowsConfig:VirtualMachineOsProfileWindowsConfig","description":"(Required, when a Windows machine) An \u003cspan pulumi-lang-nodejs=\"`osProfileWindowsConfig`\" pulumi-lang-dotnet=\"`OsProfileWindowsConfig`\" pulumi-lang-go=\"`osProfileWindowsConfig`\" pulumi-lang-python=\"`os_profile_windows_config`\" pulumi-lang-yaml=\"`osProfileWindowsConfig`\" pulumi-lang-java=\"`osProfileWindowsConfig`\"\u003e`os_profile_windows_config`\u003c/span\u003e block as defined below.\n"},"plan":{"$ref":"#/types/azure:compute/VirtualMachinePlan:VirtualMachinePlan","description":"A \u003cspan pulumi-lang-nodejs=\"`plan`\" pulumi-lang-dotnet=\"`Plan`\" pulumi-lang-go=\"`plan`\" pulumi-lang-python=\"`plan`\" pulumi-lang-yaml=\"`plan`\" pulumi-lang-java=\"`plan`\"\u003e`plan`\u003c/span\u003e block as defined below.\n"},"primaryNetworkInterfaceId":{"type":"string","description":"The ID of the Network Interface (which must be attached to the Virtual Machine) which should be the Primary Network Interface for this Virtual Machine.\n"},"proximityPlacementGroupId":{"type":"string","description":"The ID of the Proximity Placement Group to which this Virtual Machine should be assigned. Changing this forces a new resource to be created\n"},"resourceGroupName":{"type":"string","description":"Specifies the name of the Resource Group in which the Virtual Machine should exist. Changing this forces a new resource to be created.\n"},"storageDataDisks":{"type":"array","items":{"$ref":"#/types/azure:compute/VirtualMachineStorageDataDisk:VirtualMachineStorageDataDisk"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`storageDataDisk`\" pulumi-lang-dotnet=\"`StorageDataDisk`\" pulumi-lang-go=\"`storageDataDisk`\" pulumi-lang-python=\"`storage_data_disk`\" pulumi-lang-yaml=\"`storageDataDisk`\" pulumi-lang-java=\"`storageDataDisk`\"\u003e`storage_data_disk`\u003c/span\u003e blocks as defined below.\n\n\u003e **Please Note:** Data Disks can also be attached either using this block or the \u003cspan pulumi-lang-nodejs=\"`azure.compute.DataDiskAttachment`\" pulumi-lang-dotnet=\"`azure.compute.DataDiskAttachment`\" pulumi-lang-go=\"`compute.DataDiskAttachment`\" pulumi-lang-python=\"`compute.DataDiskAttachment`\" pulumi-lang-yaml=\"`azure.compute.DataDiskAttachment`\" pulumi-lang-java=\"`azure.compute.DataDiskAttachment`\"\u003e`azure.compute.DataDiskAttachment`\u003c/span\u003e resource - but not both.\n"},"storageImageReference":{"$ref":"#/types/azure:compute/VirtualMachineStorageImageReference:VirtualMachineStorageImageReference","description":"A \u003cspan pulumi-lang-nodejs=\"`storageImageReference`\" pulumi-lang-dotnet=\"`StorageImageReference`\" pulumi-lang-go=\"`storageImageReference`\" pulumi-lang-python=\"`storage_image_reference`\" pulumi-lang-yaml=\"`storageImageReference`\" pulumi-lang-java=\"`storageImageReference`\"\u003e`storage_image_reference`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n"},"storageOsDisk":{"$ref":"#/types/azure:compute/VirtualMachineStorageOsDisk:VirtualMachineStorageOsDisk","description":"A \u003cspan pulumi-lang-nodejs=\"`storageOsDisk`\" pulumi-lang-dotnet=\"`StorageOsDisk`\" pulumi-lang-go=\"`storageOsDisk`\" pulumi-lang-python=\"`storage_os_disk`\" pulumi-lang-yaml=\"`storageOsDisk`\" pulumi-lang-java=\"`storageOsDisk`\"\u003e`storage_os_disk`\u003c/span\u003e block as defined below.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the Virtual Machine.\n"},"vmSize":{"type":"string","description":"Specifies the [size of the Virtual Machine](https://docs.microsoft.com/azure/virtual-machines/sizes-general). See also [Azure VM Naming Conventions](https://docs.microsoft.com/azure/virtual-machines/vm-naming-conventions).\n"},"zones":{"type":"string","description":"A list of a single item of the Availability Zone which the Virtual Machine should be allocated in. Changing this forces a new resource to be created.\n\n\u003e **Please Note:** Availability Zones are [only supported in several regions at this time](https://docs.microsoft.com/azure/availability-zones/az-overview).\n\nFor more information on the different example configurations, please check out the [Azure documentation](https://docs.microsoft.com/en-gb/rest/api/compute/virtualmachines/createorupdate#examples)\n"}},"required":["availabilitySetId","licenseType","location","name","networkInterfaceIds","resourceGroupName","storageDataDisks","storageImageReference","storageOsDisk","vmSize"],"inputProperties":{"additionalCapabilities":{"$ref":"#/types/azure:compute/VirtualMachineAdditionalCapabilities:VirtualMachineAdditionalCapabilities","description":"An \u003cspan pulumi-lang-nodejs=\"`additionalCapabilities`\" pulumi-lang-dotnet=\"`AdditionalCapabilities`\" pulumi-lang-go=\"`additionalCapabilities`\" pulumi-lang-python=\"`additional_capabilities`\" pulumi-lang-yaml=\"`additionalCapabilities`\" pulumi-lang-java=\"`additionalCapabilities`\"\u003e`additional_capabilities`\u003c/span\u003e block as defined below.\n"},"availabilitySetId":{"type":"string","description":"The ID of the Availability Set in which the Virtual Machine should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"bootDiagnostics":{"$ref":"#/types/azure:compute/VirtualMachineBootDiagnostics:VirtualMachineBootDiagnostics","description":"A \u003cspan pulumi-lang-nodejs=\"`bootDiagnostics`\" pulumi-lang-dotnet=\"`BootDiagnostics`\" pulumi-lang-go=\"`bootDiagnostics`\" pulumi-lang-python=\"`boot_diagnostics`\" pulumi-lang-yaml=\"`bootDiagnostics`\" pulumi-lang-java=\"`bootDiagnostics`\"\u003e`boot_diagnostics`\u003c/span\u003e block as defined below.\n"},"deleteDataDisksOnTermination":{"type":"boolean","description":"Should the Data Disks (either the Managed Disks / VHD Blobs) be deleted when the Virtual Machine is destroyed? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** This setting works when instance is deleted via the provider only and don't forget to delete disks manually if you deleted VM manually. It can increase spending.\n"},"deleteOsDiskOnTermination":{"type":"boolean","description":"Should the OS Disk (either the Managed Disk / VHD Blob) be deleted when the Virtual Machine is destroyed? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** This setting works when instance is deleted via the provider only and don't forget to delete disks manually if you deleted VM manually. It can increase spending.\n"},"identity":{"$ref":"#/types/azure:compute/VirtualMachineIdentity:VirtualMachineIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"licenseType":{"type":"string","description":"Specifies the BYOL Type for this Virtual Machine. This is only applicable to Windows Virtual Machines. Possible values are `Windows_Client` and `Windows_Server`.\n"},"location":{"type":"string","description":"Specifies the Azure Region where the Virtual Machine exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the Virtual Machine. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"networkInterfaceIds":{"type":"array","items":{"type":"string"},"description":"A list of Network Interface IDs which should be associated with the Virtual Machine.\n"},"osProfile":{"$ref":"#/types/azure:compute/VirtualMachineOsProfile:VirtualMachineOsProfile","description":"An \u003cspan pulumi-lang-nodejs=\"`osProfile`\" pulumi-lang-dotnet=\"`OsProfile`\" pulumi-lang-go=\"`osProfile`\" pulumi-lang-python=\"`os_profile`\" pulumi-lang-yaml=\"`osProfile`\" pulumi-lang-java=\"`osProfile`\"\u003e`os_profile`\u003c/span\u003e block as defined below. Required when \u003cspan pulumi-lang-nodejs=\"`createOption`\" pulumi-lang-dotnet=\"`CreateOption`\" pulumi-lang-go=\"`createOption`\" pulumi-lang-python=\"`create_option`\" pulumi-lang-yaml=\"`createOption`\" pulumi-lang-java=\"`createOption`\"\u003e`create_option`\u003c/span\u003e in the \u003cspan pulumi-lang-nodejs=\"`storageOsDisk`\" pulumi-lang-dotnet=\"`StorageOsDisk`\" pulumi-lang-go=\"`storageOsDisk`\" pulumi-lang-python=\"`storage_os_disk`\" pulumi-lang-yaml=\"`storageOsDisk`\" pulumi-lang-java=\"`storageOsDisk`\"\u003e`storage_os_disk`\u003c/span\u003e block is set to `FromImage`.\n"},"osProfileLinuxConfig":{"$ref":"#/types/azure:compute/VirtualMachineOsProfileLinuxConfig:VirtualMachineOsProfileLinuxConfig","description":"(Required, when a Linux machine) An \u003cspan pulumi-lang-nodejs=\"`osProfileLinuxConfig`\" pulumi-lang-dotnet=\"`OsProfileLinuxConfig`\" pulumi-lang-go=\"`osProfileLinuxConfig`\" pulumi-lang-python=\"`os_profile_linux_config`\" pulumi-lang-yaml=\"`osProfileLinuxConfig`\" pulumi-lang-java=\"`osProfileLinuxConfig`\"\u003e`os_profile_linux_config`\u003c/span\u003e block as defined below.\n"},"osProfileSecrets":{"type":"array","items":{"$ref":"#/types/azure:compute/VirtualMachineOsProfileSecret:VirtualMachineOsProfileSecret"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`osProfileSecrets`\" pulumi-lang-dotnet=\"`OsProfileSecrets`\" pulumi-lang-go=\"`osProfileSecrets`\" pulumi-lang-python=\"`os_profile_secrets`\" pulumi-lang-yaml=\"`osProfileSecrets`\" pulumi-lang-java=\"`osProfileSecrets`\"\u003e`os_profile_secrets`\u003c/span\u003e blocks as defined below.\n"},"osProfileWindowsConfig":{"$ref":"#/types/azure:compute/VirtualMachineOsProfileWindowsConfig:VirtualMachineOsProfileWindowsConfig","description":"(Required, when a Windows machine) An \u003cspan pulumi-lang-nodejs=\"`osProfileWindowsConfig`\" pulumi-lang-dotnet=\"`OsProfileWindowsConfig`\" pulumi-lang-go=\"`osProfileWindowsConfig`\" pulumi-lang-python=\"`os_profile_windows_config`\" pulumi-lang-yaml=\"`osProfileWindowsConfig`\" pulumi-lang-java=\"`osProfileWindowsConfig`\"\u003e`os_profile_windows_config`\u003c/span\u003e block as defined below.\n"},"plan":{"$ref":"#/types/azure:compute/VirtualMachinePlan:VirtualMachinePlan","description":"A \u003cspan pulumi-lang-nodejs=\"`plan`\" pulumi-lang-dotnet=\"`Plan`\" pulumi-lang-go=\"`plan`\" pulumi-lang-python=\"`plan`\" pulumi-lang-yaml=\"`plan`\" pulumi-lang-java=\"`plan`\"\u003e`plan`\u003c/span\u003e block as defined below.\n"},"primaryNetworkInterfaceId":{"type":"string","description":"The ID of the Network Interface (which must be attached to the Virtual Machine) which should be the Primary Network Interface for this Virtual Machine.\n"},"proximityPlacementGroupId":{"type":"string","description":"The ID of the Proximity Placement Group to which this Virtual Machine should be assigned. Changing this forces a new resource to be created\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"Specifies the name of the Resource Group in which the Virtual Machine should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"storageDataDisks":{"type":"array","items":{"$ref":"#/types/azure:compute/VirtualMachineStorageDataDisk:VirtualMachineStorageDataDisk"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`storageDataDisk`\" pulumi-lang-dotnet=\"`StorageDataDisk`\" pulumi-lang-go=\"`storageDataDisk`\" pulumi-lang-python=\"`storage_data_disk`\" pulumi-lang-yaml=\"`storageDataDisk`\" pulumi-lang-java=\"`storageDataDisk`\"\u003e`storage_data_disk`\u003c/span\u003e blocks as defined below.\n\n\u003e **Please Note:** Data Disks can also be attached either using this block or the \u003cspan pulumi-lang-nodejs=\"`azure.compute.DataDiskAttachment`\" pulumi-lang-dotnet=\"`azure.compute.DataDiskAttachment`\" pulumi-lang-go=\"`compute.DataDiskAttachment`\" pulumi-lang-python=\"`compute.DataDiskAttachment`\" pulumi-lang-yaml=\"`azure.compute.DataDiskAttachment`\" pulumi-lang-java=\"`azure.compute.DataDiskAttachment`\"\u003e`azure.compute.DataDiskAttachment`\u003c/span\u003e resource - but not both.\n"},"storageImageReference":{"$ref":"#/types/azure:compute/VirtualMachineStorageImageReference:VirtualMachineStorageImageReference","description":"A \u003cspan pulumi-lang-nodejs=\"`storageImageReference`\" pulumi-lang-dotnet=\"`StorageImageReference`\" pulumi-lang-go=\"`storageImageReference`\" pulumi-lang-python=\"`storage_image_reference`\" pulumi-lang-yaml=\"`storageImageReference`\" pulumi-lang-java=\"`storageImageReference`\"\u003e`storage_image_reference`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"storageOsDisk":{"$ref":"#/types/azure:compute/VirtualMachineStorageOsDisk:VirtualMachineStorageOsDisk","description":"A \u003cspan pulumi-lang-nodejs=\"`storageOsDisk`\" pulumi-lang-dotnet=\"`StorageOsDisk`\" pulumi-lang-go=\"`storageOsDisk`\" pulumi-lang-python=\"`storage_os_disk`\" pulumi-lang-yaml=\"`storageOsDisk`\" pulumi-lang-java=\"`storageOsDisk`\"\u003e`storage_os_disk`\u003c/span\u003e block as defined below.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the Virtual Machine.\n"},"vmSize":{"type":"string","description":"Specifies the [size of the Virtual Machine](https://docs.microsoft.com/azure/virtual-machines/sizes-general). See also [Azure VM Naming Conventions](https://docs.microsoft.com/azure/virtual-machines/vm-naming-conventions).\n"},"zones":{"type":"string","description":"A list of a single item of the Availability Zone which the Virtual Machine should be allocated in. Changing this forces a new resource to be created.\n\n\u003e **Please Note:** Availability Zones are [only supported in several regions at this time](https://docs.microsoft.com/azure/availability-zones/az-overview).\n\nFor more information on the different example configurations, please check out the [Azure documentation](https://docs.microsoft.com/en-gb/rest/api/compute/virtualmachines/createorupdate#examples)\n","willReplaceOnChanges":true}},"requiredInputs":["networkInterfaceIds","resourceGroupName","storageOsDisk","vmSize"],"stateInputs":{"description":"Input properties used for looking up and filtering VirtualMachine resources.\n","properties":{"additionalCapabilities":{"$ref":"#/types/azure:compute/VirtualMachineAdditionalCapabilities:VirtualMachineAdditionalCapabilities","description":"An \u003cspan pulumi-lang-nodejs=\"`additionalCapabilities`\" pulumi-lang-dotnet=\"`AdditionalCapabilities`\" pulumi-lang-go=\"`additionalCapabilities`\" pulumi-lang-python=\"`additional_capabilities`\" pulumi-lang-yaml=\"`additionalCapabilities`\" pulumi-lang-java=\"`additionalCapabilities`\"\u003e`additional_capabilities`\u003c/span\u003e block as defined below.\n"},"availabilitySetId":{"type":"string","description":"The ID of the Availability Set in which the Virtual Machine should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"bootDiagnostics":{"$ref":"#/types/azure:compute/VirtualMachineBootDiagnostics:VirtualMachineBootDiagnostics","description":"A \u003cspan pulumi-lang-nodejs=\"`bootDiagnostics`\" pulumi-lang-dotnet=\"`BootDiagnostics`\" pulumi-lang-go=\"`bootDiagnostics`\" pulumi-lang-python=\"`boot_diagnostics`\" pulumi-lang-yaml=\"`bootDiagnostics`\" pulumi-lang-java=\"`bootDiagnostics`\"\u003e`boot_diagnostics`\u003c/span\u003e block as defined below.\n"},"deleteDataDisksOnTermination":{"type":"boolean","description":"Should the Data Disks (either the Managed Disks / VHD Blobs) be deleted when the Virtual Machine is destroyed? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** This setting works when instance is deleted via the provider only and don't forget to delete disks manually if you deleted VM manually. It can increase spending.\n"},"deleteOsDiskOnTermination":{"type":"boolean","description":"Should the OS Disk (either the Managed Disk / VHD Blob) be deleted when the Virtual Machine is destroyed? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** This setting works when instance is deleted via the provider only and don't forget to delete disks manually if you deleted VM manually. It can increase spending.\n"},"identity":{"$ref":"#/types/azure:compute/VirtualMachineIdentity:VirtualMachineIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"licenseType":{"type":"string","description":"Specifies the BYOL Type for this Virtual Machine. This is only applicable to Windows Virtual Machines. Possible values are `Windows_Client` and `Windows_Server`.\n"},"location":{"type":"string","description":"Specifies the Azure Region where the Virtual Machine exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the Virtual Machine. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"networkInterfaceIds":{"type":"array","items":{"type":"string"},"description":"A list of Network Interface IDs which should be associated with the Virtual Machine.\n"},"osProfile":{"$ref":"#/types/azure:compute/VirtualMachineOsProfile:VirtualMachineOsProfile","description":"An \u003cspan pulumi-lang-nodejs=\"`osProfile`\" pulumi-lang-dotnet=\"`OsProfile`\" pulumi-lang-go=\"`osProfile`\" pulumi-lang-python=\"`os_profile`\" pulumi-lang-yaml=\"`osProfile`\" pulumi-lang-java=\"`osProfile`\"\u003e`os_profile`\u003c/span\u003e block as defined below. Required when \u003cspan pulumi-lang-nodejs=\"`createOption`\" pulumi-lang-dotnet=\"`CreateOption`\" pulumi-lang-go=\"`createOption`\" pulumi-lang-python=\"`create_option`\" pulumi-lang-yaml=\"`createOption`\" pulumi-lang-java=\"`createOption`\"\u003e`create_option`\u003c/span\u003e in the \u003cspan pulumi-lang-nodejs=\"`storageOsDisk`\" pulumi-lang-dotnet=\"`StorageOsDisk`\" pulumi-lang-go=\"`storageOsDisk`\" pulumi-lang-python=\"`storage_os_disk`\" pulumi-lang-yaml=\"`storageOsDisk`\" pulumi-lang-java=\"`storageOsDisk`\"\u003e`storage_os_disk`\u003c/span\u003e block is set to `FromImage`.\n"},"osProfileLinuxConfig":{"$ref":"#/types/azure:compute/VirtualMachineOsProfileLinuxConfig:VirtualMachineOsProfileLinuxConfig","description":"(Required, when a Linux machine) An \u003cspan pulumi-lang-nodejs=\"`osProfileLinuxConfig`\" pulumi-lang-dotnet=\"`OsProfileLinuxConfig`\" pulumi-lang-go=\"`osProfileLinuxConfig`\" pulumi-lang-python=\"`os_profile_linux_config`\" pulumi-lang-yaml=\"`osProfileLinuxConfig`\" pulumi-lang-java=\"`osProfileLinuxConfig`\"\u003e`os_profile_linux_config`\u003c/span\u003e block as defined below.\n"},"osProfileSecrets":{"type":"array","items":{"$ref":"#/types/azure:compute/VirtualMachineOsProfileSecret:VirtualMachineOsProfileSecret"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`osProfileSecrets`\" pulumi-lang-dotnet=\"`OsProfileSecrets`\" pulumi-lang-go=\"`osProfileSecrets`\" pulumi-lang-python=\"`os_profile_secrets`\" pulumi-lang-yaml=\"`osProfileSecrets`\" pulumi-lang-java=\"`osProfileSecrets`\"\u003e`os_profile_secrets`\u003c/span\u003e blocks as defined below.\n"},"osProfileWindowsConfig":{"$ref":"#/types/azure:compute/VirtualMachineOsProfileWindowsConfig:VirtualMachineOsProfileWindowsConfig","description":"(Required, when a Windows machine) An \u003cspan pulumi-lang-nodejs=\"`osProfileWindowsConfig`\" pulumi-lang-dotnet=\"`OsProfileWindowsConfig`\" pulumi-lang-go=\"`osProfileWindowsConfig`\" pulumi-lang-python=\"`os_profile_windows_config`\" pulumi-lang-yaml=\"`osProfileWindowsConfig`\" pulumi-lang-java=\"`osProfileWindowsConfig`\"\u003e`os_profile_windows_config`\u003c/span\u003e block as defined below.\n"},"plan":{"$ref":"#/types/azure:compute/VirtualMachinePlan:VirtualMachinePlan","description":"A \u003cspan pulumi-lang-nodejs=\"`plan`\" pulumi-lang-dotnet=\"`Plan`\" pulumi-lang-go=\"`plan`\" pulumi-lang-python=\"`plan`\" pulumi-lang-yaml=\"`plan`\" pulumi-lang-java=\"`plan`\"\u003e`plan`\u003c/span\u003e block as defined below.\n"},"primaryNetworkInterfaceId":{"type":"string","description":"The ID of the Network Interface (which must be attached to the Virtual Machine) which should be the Primary Network Interface for this Virtual Machine.\n"},"proximityPlacementGroupId":{"type":"string","description":"The ID of the Proximity Placement Group to which this Virtual Machine should be assigned. Changing this forces a new resource to be created\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"Specifies the name of the Resource Group in which the Virtual Machine should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"storageDataDisks":{"type":"array","items":{"$ref":"#/types/azure:compute/VirtualMachineStorageDataDisk:VirtualMachineStorageDataDisk"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`storageDataDisk`\" pulumi-lang-dotnet=\"`StorageDataDisk`\" pulumi-lang-go=\"`storageDataDisk`\" pulumi-lang-python=\"`storage_data_disk`\" pulumi-lang-yaml=\"`storageDataDisk`\" pulumi-lang-java=\"`storageDataDisk`\"\u003e`storage_data_disk`\u003c/span\u003e blocks as defined below.\n\n\u003e **Please Note:** Data Disks can also be attached either using this block or the \u003cspan pulumi-lang-nodejs=\"`azure.compute.DataDiskAttachment`\" pulumi-lang-dotnet=\"`azure.compute.DataDiskAttachment`\" pulumi-lang-go=\"`compute.DataDiskAttachment`\" pulumi-lang-python=\"`compute.DataDiskAttachment`\" pulumi-lang-yaml=\"`azure.compute.DataDiskAttachment`\" pulumi-lang-java=\"`azure.compute.DataDiskAttachment`\"\u003e`azure.compute.DataDiskAttachment`\u003c/span\u003e resource - but not both.\n"},"storageImageReference":{"$ref":"#/types/azure:compute/VirtualMachineStorageImageReference:VirtualMachineStorageImageReference","description":"A \u003cspan pulumi-lang-nodejs=\"`storageImageReference`\" pulumi-lang-dotnet=\"`StorageImageReference`\" pulumi-lang-go=\"`storageImageReference`\" pulumi-lang-python=\"`storage_image_reference`\" pulumi-lang-yaml=\"`storageImageReference`\" pulumi-lang-java=\"`storageImageReference`\"\u003e`storage_image_reference`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"storageOsDisk":{"$ref":"#/types/azure:compute/VirtualMachineStorageOsDisk:VirtualMachineStorageOsDisk","description":"A \u003cspan pulumi-lang-nodejs=\"`storageOsDisk`\" pulumi-lang-dotnet=\"`StorageOsDisk`\" pulumi-lang-go=\"`storageOsDisk`\" pulumi-lang-python=\"`storage_os_disk`\" pulumi-lang-yaml=\"`storageOsDisk`\" pulumi-lang-java=\"`storageOsDisk`\"\u003e`storage_os_disk`\u003c/span\u003e block as defined below.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the Virtual Machine.\n"},"vmSize":{"type":"string","description":"Specifies the [size of the Virtual Machine](https://docs.microsoft.com/azure/virtual-machines/sizes-general). See also [Azure VM Naming Conventions](https://docs.microsoft.com/azure/virtual-machines/vm-naming-conventions).\n"},"zones":{"type":"string","description":"A list of a single item of the Availability Zone which the Virtual Machine should be allocated in. Changing this forces a new resource to be created.\n\n\u003e **Please Note:** Availability Zones are [only supported in several regions at this time](https://docs.microsoft.com/azure/availability-zones/az-overview).\n\nFor more information on the different example configurations, please check out the [Azure documentation](https://docs.microsoft.com/en-gb/rest/api/compute/virtualmachines/createorupdate#examples)\n","willReplaceOnChanges":true}},"type":"object"}},"azure:compute/virtualMachineScaleSetExtension:VirtualMachineScaleSetExtension":{"description":"Manages an Extension for a Virtual Machine Scale Set.\n\n\u003e **Note:** This resource is not intended to be used with the \u003cspan pulumi-lang-nodejs=\"`azure.compute.ScaleSet`\" pulumi-lang-dotnet=\"`azure.compute.ScaleSet`\" pulumi-lang-go=\"`compute.ScaleSet`\" pulumi-lang-python=\"`compute.ScaleSet`\" pulumi-lang-yaml=\"`azure.compute.ScaleSet`\" pulumi-lang-java=\"`azure.compute.ScaleSet`\"\u003e`azure.compute.ScaleSet`\u003c/span\u003e resource - instead it's intended for this to be used with the \u003cspan pulumi-lang-nodejs=\"`azure.compute.LinuxVirtualMachineScaleSet`\" pulumi-lang-dotnet=\"`azure.compute.LinuxVirtualMachineScaleSet`\" pulumi-lang-go=\"`compute.LinuxVirtualMachineScaleSet`\" pulumi-lang-python=\"`compute.LinuxVirtualMachineScaleSet`\" pulumi-lang-yaml=\"`azure.compute.LinuxVirtualMachineScaleSet`\" pulumi-lang-java=\"`azure.compute.LinuxVirtualMachineScaleSet`\"\u003e`azure.compute.LinuxVirtualMachineScaleSet`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`azure.compute.WindowsVirtualMachineScaleSet`\" pulumi-lang-dotnet=\"`azure.compute.WindowsVirtualMachineScaleSet`\" pulumi-lang-go=\"`compute.WindowsVirtualMachineScaleSet`\" pulumi-lang-python=\"`compute.WindowsVirtualMachineScaleSet`\" pulumi-lang-yaml=\"`azure.compute.WindowsVirtualMachineScaleSet`\" pulumi-lang-java=\"`azure.compute.WindowsVirtualMachineScaleSet`\"\u003e`azure.compute.WindowsVirtualMachineScaleSet`\u003c/span\u003e resources.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example\",\n    location: \"West Europe\",\n});\nconst exampleLinuxVirtualMachineScaleSet = new azure.compute.LinuxVirtualMachineScaleSet(\"example\", {\n    name: \"example\",\n    resourceGroupName: example.name,\n    location: example.location,\n    sku: \"Standard_F2\",\n    adminUsername: \"adminuser\",\n    instances: 1,\n    sourceImageReference: {\n        publisher: \"Canonical\",\n        offer: \"0001-com-ubuntu-server-jammy\",\n        sku: \"22_04-lts\",\n        version: \"latest\",\n    },\n    networkInterfaces: [{\n        name: \"example\",\n        ipConfigurations: [{\n            name: \"internal\",\n        }],\n    }],\n    osDisk: {\n        storageAccountType: \"Standard_LRS\",\n        caching: \"ReadWrite\",\n    },\n});\nconst exampleVirtualMachineScaleSetExtension = new azure.compute.VirtualMachineScaleSetExtension(\"example\", {\n    name: \"example\",\n    virtualMachineScaleSetId: exampleLinuxVirtualMachineScaleSet.id,\n    publisher: \"Microsoft.Azure.Extensions\",\n    type: \"CustomScript\",\n    typeHandlerVersion: \"2.0\",\n    settings: JSON.stringify({\n        commandToExecute: \"echo $HOSTNAME\",\n    }),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example\",\n    location=\"West Europe\")\nexample_linux_virtual_machine_scale_set = azure.compute.LinuxVirtualMachineScaleSet(\"example\",\n    name=\"example\",\n    resource_group_name=example.name,\n    location=example.location,\n    sku=\"Standard_F2\",\n    admin_username=\"adminuser\",\n    instances=1,\n    source_image_reference={\n        \"publisher\": \"Canonical\",\n        \"offer\": \"0001-com-ubuntu-server-jammy\",\n        \"sku\": \"22_04-lts\",\n        \"version\": \"latest\",\n    },\n    network_interfaces=[{\n        \"name\": \"example\",\n        \"ip_configurations\": [{\n            \"name\": \"internal\",\n        }],\n    }],\n    os_disk={\n        \"storage_account_type\": \"Standard_LRS\",\n        \"caching\": \"ReadWrite\",\n    })\nexample_virtual_machine_scale_set_extension = azure.compute.VirtualMachineScaleSetExtension(\"example\",\n    name=\"example\",\n    virtual_machine_scale_set_id=example_linux_virtual_machine_scale_set.id,\n    publisher=\"Microsoft.Azure.Extensions\",\n    type=\"CustomScript\",\n    type_handler_version=\"2.0\",\n    settings=json.dumps({\n        \"commandToExecute\": \"echo $HOSTNAME\",\n    }))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example\",\n        Location = \"West Europe\",\n    });\n\n    var exampleLinuxVirtualMachineScaleSet = new Azure.Compute.LinuxVirtualMachineScaleSet(\"example\", new()\n    {\n        Name = \"example\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        Sku = \"Standard_F2\",\n        AdminUsername = \"adminuser\",\n        Instances = 1,\n        SourceImageReference = new Azure.Compute.Inputs.LinuxVirtualMachineScaleSetSourceImageReferenceArgs\n        {\n            Publisher = \"Canonical\",\n            Offer = \"0001-com-ubuntu-server-jammy\",\n            Sku = \"22_04-lts\",\n            Version = \"latest\",\n        },\n        NetworkInterfaces = new[]\n        {\n            new Azure.Compute.Inputs.LinuxVirtualMachineScaleSetNetworkInterfaceArgs\n            {\n                Name = \"example\",\n                IpConfigurations = new[]\n                {\n                    new Azure.Compute.Inputs.LinuxVirtualMachineScaleSetNetworkInterfaceIpConfigurationArgs\n                    {\n                        Name = \"internal\",\n                    },\n                },\n            },\n        },\n        OsDisk = new Azure.Compute.Inputs.LinuxVirtualMachineScaleSetOsDiskArgs\n        {\n            StorageAccountType = \"Standard_LRS\",\n            Caching = \"ReadWrite\",\n        },\n    });\n\n    var exampleVirtualMachineScaleSetExtension = new Azure.Compute.VirtualMachineScaleSetExtension(\"example\", new()\n    {\n        Name = \"example\",\n        VirtualMachineScaleSetId = exampleLinuxVirtualMachineScaleSet.Id,\n        Publisher = \"Microsoft.Azure.Extensions\",\n        Type = \"CustomScript\",\n        TypeHandlerVersion = \"2.0\",\n        Settings = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n        {\n            [\"commandToExecute\"] = \"echo $HOSTNAME\",\n        }),\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/compute\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleLinuxVirtualMachineScaleSet, err := compute.NewLinuxVirtualMachineScaleSet(ctx, \"example\", \u0026compute.LinuxVirtualMachineScaleSetArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tSku:               pulumi.String(\"Standard_F2\"),\n\t\t\tAdminUsername:     pulumi.String(\"adminuser\"),\n\t\t\tInstances:         pulumi.Int(1),\n\t\t\tSourceImageReference: \u0026compute.LinuxVirtualMachineScaleSetSourceImageReferenceArgs{\n\t\t\t\tPublisher: pulumi.String(\"Canonical\"),\n\t\t\t\tOffer:     pulumi.String(\"0001-com-ubuntu-server-jammy\"),\n\t\t\t\tSku:       pulumi.String(\"22_04-lts\"),\n\t\t\t\tVersion:   pulumi.String(\"latest\"),\n\t\t\t},\n\t\t\tNetworkInterfaces: compute.LinuxVirtualMachineScaleSetNetworkInterfaceArray{\n\t\t\t\t\u0026compute.LinuxVirtualMachineScaleSetNetworkInterfaceArgs{\n\t\t\t\t\tName: pulumi.String(\"example\"),\n\t\t\t\t\tIpConfigurations: compute.LinuxVirtualMachineScaleSetNetworkInterfaceIpConfigurationArray{\n\t\t\t\t\t\t\u0026compute.LinuxVirtualMachineScaleSetNetworkInterfaceIpConfigurationArgs{\n\t\t\t\t\t\t\tName: pulumi.String(\"internal\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tOsDisk: \u0026compute.LinuxVirtualMachineScaleSetOsDiskArgs{\n\t\t\t\tStorageAccountType: pulumi.String(\"Standard_LRS\"),\n\t\t\t\tCaching:            pulumi.String(\"ReadWrite\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"commandToExecute\": \"echo $HOSTNAME\",\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson0 := string(tmpJSON0)\n\t\t_, err = compute.NewVirtualMachineScaleSetExtension(ctx, \"example\", \u0026compute.VirtualMachineScaleSetExtensionArgs{\n\t\t\tName:                     pulumi.String(\"example\"),\n\t\t\tVirtualMachineScaleSetId: exampleLinuxVirtualMachineScaleSet.ID(),\n\t\t\tPublisher:                pulumi.String(\"Microsoft.Azure.Extensions\"),\n\t\t\tType:                     pulumi.String(\"CustomScript\"),\n\t\t\tTypeHandlerVersion:       pulumi.String(\"2.0\"),\n\t\t\tSettings:                 pulumi.String(json0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.compute.LinuxVirtualMachineScaleSet;\nimport com.pulumi.azure.compute.LinuxVirtualMachineScaleSetArgs;\nimport com.pulumi.azure.compute.inputs.LinuxVirtualMachineScaleSetSourceImageReferenceArgs;\nimport com.pulumi.azure.compute.inputs.LinuxVirtualMachineScaleSetNetworkInterfaceArgs;\nimport com.pulumi.azure.compute.inputs.LinuxVirtualMachineScaleSetOsDiskArgs;\nimport com.pulumi.azure.compute.VirtualMachineScaleSetExtension;\nimport com.pulumi.azure.compute.VirtualMachineScaleSetExtensionArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleLinuxVirtualMachineScaleSet = new LinuxVirtualMachineScaleSet(\"exampleLinuxVirtualMachineScaleSet\", LinuxVirtualMachineScaleSetArgs.builder()\n            .name(\"example\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .sku(\"Standard_F2\")\n            .adminUsername(\"adminuser\")\n            .instances(1)\n            .sourceImageReference(LinuxVirtualMachineScaleSetSourceImageReferenceArgs.builder()\n                .publisher(\"Canonical\")\n                .offer(\"0001-com-ubuntu-server-jammy\")\n                .sku(\"22_04-lts\")\n                .version(\"latest\")\n                .build())\n            .networkInterfaces(LinuxVirtualMachineScaleSetNetworkInterfaceArgs.builder()\n                .name(\"example\")\n                .ipConfigurations(LinuxVirtualMachineScaleSetNetworkInterfaceIpConfigurationArgs.builder()\n                    .name(\"internal\")\n                    .build())\n                .build())\n            .osDisk(LinuxVirtualMachineScaleSetOsDiskArgs.builder()\n                .storageAccountType(\"Standard_LRS\")\n                .caching(\"ReadWrite\")\n                .build())\n            .build());\n\n        var exampleVirtualMachineScaleSetExtension = new VirtualMachineScaleSetExtension(\"exampleVirtualMachineScaleSetExtension\", VirtualMachineScaleSetExtensionArgs.builder()\n            .name(\"example\")\n            .virtualMachineScaleSetId(exampleLinuxVirtualMachineScaleSet.id())\n            .publisher(\"Microsoft.Azure.Extensions\")\n            .type(\"CustomScript\")\n            .typeHandlerVersion(\"2.0\")\n            .settings(serializeJson(\n                jsonObject(\n                    jsonProperty(\"commandToExecute\", \"echo $HOSTNAME\")\n                )))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example\n      location: West Europe\n  exampleLinuxVirtualMachineScaleSet:\n    type: azure:compute:LinuxVirtualMachineScaleSet\n    name: example\n    properties:\n      name: example\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      sku: Standard_F2\n      adminUsername: adminuser\n      instances: 1\n      sourceImageReference:\n        publisher: Canonical\n        offer: 0001-com-ubuntu-server-jammy\n        sku: 22_04-lts\n        version: latest\n      networkInterfaces:\n        - name: example\n          ipConfigurations:\n            - name: internal\n      osDisk:\n        storageAccountType: Standard_LRS\n        caching: ReadWrite\n  exampleVirtualMachineScaleSetExtension:\n    type: azure:compute:VirtualMachineScaleSetExtension\n    name: example\n    properties:\n      name: example\n      virtualMachineScaleSetId: ${exampleLinuxVirtualMachineScaleSet.id}\n      publisher: Microsoft.Azure.Extensions\n      type: CustomScript\n      typeHandlerVersion: '2.0'\n      settings:\n        fn::toJSON:\n          commandToExecute: echo $HOSTNAME\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Compute` - 2024-11-01, 2024-03-01\n\n## Import\n\nVirtual Machine Scale Set Extensions can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:compute/virtualMachineScaleSetExtension:VirtualMachineScaleSetExtension test /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Compute/virtualMachineScaleSets/scaleSet1/extensions/extension1\n```\n\n","properties":{"autoUpgradeMinorVersion":{"type":"boolean","description":"Should the latest version of the Extension be used at Deployment Time, if one is available? This won't auto-update the extension on existing installation. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"automaticUpgradeEnabled":{"type":"boolean","description":"Should the Extension be automatically updated whenever the Publisher releases a new version of this VM Extension?\n"},"failureSuppressionEnabled":{"type":"boolean","description":"Should failures from the extension be suppressed? Possible values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** Operational failures such as not connecting to the VM will not be suppressed regardless of the \u003cspan pulumi-lang-nodejs=\"`failureSuppressionEnabled`\" pulumi-lang-dotnet=\"`FailureSuppressionEnabled`\" pulumi-lang-go=\"`failureSuppressionEnabled`\" pulumi-lang-python=\"`failure_suppression_enabled`\" pulumi-lang-yaml=\"`failureSuppressionEnabled`\" pulumi-lang-java=\"`failureSuppressionEnabled`\"\u003e`failure_suppression_enabled`\u003c/span\u003e value.\n"},"forceUpdateTag":{"type":"string","description":"A value which, when different to the previous value can be used to force-run the Extension even if the Extension Configuration hasn't changed.\n"},"name":{"type":"string","description":"The name for the Virtual Machine Scale Set Extension. Changing this forces a new resource to be created.\n"},"protectedSettings":{"type":"string","description":"A JSON String which specifies Sensitive Settings (such as Passwords) for the Extension.\n\n\u003e **Note:** Keys within the \u003cspan pulumi-lang-nodejs=\"`protectedSettings`\" pulumi-lang-dotnet=\"`ProtectedSettings`\" pulumi-lang-go=\"`protectedSettings`\" pulumi-lang-python=\"`protected_settings`\" pulumi-lang-yaml=\"`protectedSettings`\" pulumi-lang-java=\"`protectedSettings`\"\u003e`protected_settings`\u003c/span\u003e block are notoriously case-sensitive, where the casing required (e.g. TitleCase vs snakeCase) depends on the Extension being used. Please refer to the documentation for the specific Virtual Machine Extension you're looking to use for more information.\n","secret":true},"protectedSettingsFromKeyVault":{"$ref":"#/types/azure:compute/VirtualMachineScaleSetExtensionProtectedSettingsFromKeyVault:VirtualMachineScaleSetExtensionProtectedSettingsFromKeyVault","description":"A \u003cspan pulumi-lang-nodejs=\"`protectedSettingsFromKeyVault`\" pulumi-lang-dotnet=\"`ProtectedSettingsFromKeyVault`\" pulumi-lang-go=\"`protectedSettingsFromKeyVault`\" pulumi-lang-python=\"`protected_settings_from_key_vault`\" pulumi-lang-yaml=\"`protectedSettingsFromKeyVault`\" pulumi-lang-java=\"`protectedSettingsFromKeyVault`\"\u003e`protected_settings_from_key_vault`\u003c/span\u003e block as defined below.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`protectedSettingsFromKeyVault`\" pulumi-lang-dotnet=\"`ProtectedSettingsFromKeyVault`\" pulumi-lang-go=\"`protectedSettingsFromKeyVault`\" pulumi-lang-python=\"`protected_settings_from_key_vault`\" pulumi-lang-yaml=\"`protectedSettingsFromKeyVault`\" pulumi-lang-java=\"`protectedSettingsFromKeyVault`\"\u003e`protected_settings_from_key_vault`\u003c/span\u003e cannot be used with \u003cspan pulumi-lang-nodejs=\"`protectedSettings`\" pulumi-lang-dotnet=\"`ProtectedSettings`\" pulumi-lang-go=\"`protectedSettings`\" pulumi-lang-python=\"`protected_settings`\" pulumi-lang-yaml=\"`protectedSettings`\" pulumi-lang-java=\"`protectedSettings`\"\u003e`protected_settings`\u003c/span\u003e\n"},"provisionAfterExtensions":{"type":"array","items":{"type":"string"},"description":"An ordered list of Extension names which this should be provisioned after.\n"},"publisher":{"type":"string","description":"Specifies the Publisher of the Extension. Changing this forces a new resource to be created.\n"},"settings":{"type":"string","description":"A JSON String which specifies Settings for the Extension.\n\n\u003e **Note:** Keys within the \u003cspan pulumi-lang-nodejs=\"`settings`\" pulumi-lang-dotnet=\"`Settings`\" pulumi-lang-go=\"`settings`\" pulumi-lang-python=\"`settings`\" pulumi-lang-yaml=\"`settings`\" pulumi-lang-java=\"`settings`\"\u003e`settings`\u003c/span\u003e block are notoriously case-sensitive, where the casing required (e.g. TitleCase vs snakeCase) depends on the Extension being used. Please refer to the documentation for the specific Virtual Machine Extension you're looking to use for more information.\n"},"type":{"type":"string","description":"Specifies the Type of the Extension. Changing this forces a new resource to be created.\n"},"typeHandlerVersion":{"type":"string","description":"Specifies the version of the extension to use, available versions can be found using the Azure CLI.\n\n\u003e **Note:** The `Publisher` and `Type` of Virtual Machine Scale Set Extensions can be found using the Azure CLI, via:\n\n```shell\naz vmss extension image list --location westus -o table\n```\n"},"virtualMachineScaleSetId":{"type":"string","description":"The ID of the Virtual Machine Scale Set. Changing this forces a new resource to be created.\n\n\u003e **Note:** This should be the ID from the \u003cspan pulumi-lang-nodejs=\"`azure.compute.LinuxVirtualMachineScaleSet`\" pulumi-lang-dotnet=\"`azure.compute.LinuxVirtualMachineScaleSet`\" pulumi-lang-go=\"`compute.LinuxVirtualMachineScaleSet`\" pulumi-lang-python=\"`compute.LinuxVirtualMachineScaleSet`\" pulumi-lang-yaml=\"`azure.compute.LinuxVirtualMachineScaleSet`\" pulumi-lang-java=\"`azure.compute.LinuxVirtualMachineScaleSet`\"\u003e`azure.compute.LinuxVirtualMachineScaleSet`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`azure.compute.WindowsVirtualMachineScaleSet`\" pulumi-lang-dotnet=\"`azure.compute.WindowsVirtualMachineScaleSet`\" pulumi-lang-go=\"`compute.WindowsVirtualMachineScaleSet`\" pulumi-lang-python=\"`compute.WindowsVirtualMachineScaleSet`\" pulumi-lang-yaml=\"`azure.compute.WindowsVirtualMachineScaleSet`\" pulumi-lang-java=\"`azure.compute.WindowsVirtualMachineScaleSet`\"\u003e`azure.compute.WindowsVirtualMachineScaleSet`\u003c/span\u003e resource - when using the older \u003cspan pulumi-lang-nodejs=\"`azure.compute.ScaleSet`\" pulumi-lang-dotnet=\"`azure.compute.ScaleSet`\" pulumi-lang-go=\"`compute.ScaleSet`\" pulumi-lang-python=\"`compute.ScaleSet`\" pulumi-lang-yaml=\"`azure.compute.ScaleSet`\" pulumi-lang-java=\"`azure.compute.ScaleSet`\"\u003e`azure.compute.ScaleSet`\u003c/span\u003e resource extensions should instead be defined inline.\n"}},"required":["name","publisher","type","typeHandlerVersion","virtualMachineScaleSetId"],"inputProperties":{"autoUpgradeMinorVersion":{"type":"boolean","description":"Should the latest version of the Extension be used at Deployment Time, if one is available? This won't auto-update the extension on existing installation. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"automaticUpgradeEnabled":{"type":"boolean","description":"Should the Extension be automatically updated whenever the Publisher releases a new version of this VM Extension?\n"},"failureSuppressionEnabled":{"type":"boolean","description":"Should failures from the extension be suppressed? Possible values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** Operational failures such as not connecting to the VM will not be suppressed regardless of the \u003cspan pulumi-lang-nodejs=\"`failureSuppressionEnabled`\" pulumi-lang-dotnet=\"`FailureSuppressionEnabled`\" pulumi-lang-go=\"`failureSuppressionEnabled`\" pulumi-lang-python=\"`failure_suppression_enabled`\" pulumi-lang-yaml=\"`failureSuppressionEnabled`\" pulumi-lang-java=\"`failureSuppressionEnabled`\"\u003e`failure_suppression_enabled`\u003c/span\u003e value.\n"},"forceUpdateTag":{"type":"string","description":"A value which, when different to the previous value can be used to force-run the Extension even if the Extension Configuration hasn't changed.\n"},"name":{"type":"string","description":"The name for the Virtual Machine Scale Set Extension. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"protectedSettings":{"type":"string","description":"A JSON String which specifies Sensitive Settings (such as Passwords) for the Extension.\n\n\u003e **Note:** Keys within the \u003cspan pulumi-lang-nodejs=\"`protectedSettings`\" pulumi-lang-dotnet=\"`ProtectedSettings`\" pulumi-lang-go=\"`protectedSettings`\" pulumi-lang-python=\"`protected_settings`\" pulumi-lang-yaml=\"`protectedSettings`\" pulumi-lang-java=\"`protectedSettings`\"\u003e`protected_settings`\u003c/span\u003e block are notoriously case-sensitive, where the casing required (e.g. TitleCase vs snakeCase) depends on the Extension being used. Please refer to the documentation for the specific Virtual Machine Extension you're looking to use for more information.\n","secret":true},"protectedSettingsFromKeyVault":{"$ref":"#/types/azure:compute/VirtualMachineScaleSetExtensionProtectedSettingsFromKeyVault:VirtualMachineScaleSetExtensionProtectedSettingsFromKeyVault","description":"A \u003cspan pulumi-lang-nodejs=\"`protectedSettingsFromKeyVault`\" pulumi-lang-dotnet=\"`ProtectedSettingsFromKeyVault`\" pulumi-lang-go=\"`protectedSettingsFromKeyVault`\" pulumi-lang-python=\"`protected_settings_from_key_vault`\" pulumi-lang-yaml=\"`protectedSettingsFromKeyVault`\" pulumi-lang-java=\"`protectedSettingsFromKeyVault`\"\u003e`protected_settings_from_key_vault`\u003c/span\u003e block as defined below.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`protectedSettingsFromKeyVault`\" pulumi-lang-dotnet=\"`ProtectedSettingsFromKeyVault`\" pulumi-lang-go=\"`protectedSettingsFromKeyVault`\" pulumi-lang-python=\"`protected_settings_from_key_vault`\" pulumi-lang-yaml=\"`protectedSettingsFromKeyVault`\" pulumi-lang-java=\"`protectedSettingsFromKeyVault`\"\u003e`protected_settings_from_key_vault`\u003c/span\u003e cannot be used with \u003cspan pulumi-lang-nodejs=\"`protectedSettings`\" pulumi-lang-dotnet=\"`ProtectedSettings`\" pulumi-lang-go=\"`protectedSettings`\" pulumi-lang-python=\"`protected_settings`\" pulumi-lang-yaml=\"`protectedSettings`\" pulumi-lang-java=\"`protectedSettings`\"\u003e`protected_settings`\u003c/span\u003e\n"},"provisionAfterExtensions":{"type":"array","items":{"type":"string"},"description":"An ordered list of Extension names which this should be provisioned after.\n"},"publisher":{"type":"string","description":"Specifies the Publisher of the Extension. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"settings":{"type":"string","description":"A JSON String which specifies Settings for the Extension.\n\n\u003e **Note:** Keys within the \u003cspan pulumi-lang-nodejs=\"`settings`\" pulumi-lang-dotnet=\"`Settings`\" pulumi-lang-go=\"`settings`\" pulumi-lang-python=\"`settings`\" pulumi-lang-yaml=\"`settings`\" pulumi-lang-java=\"`settings`\"\u003e`settings`\u003c/span\u003e block are notoriously case-sensitive, where the casing required (e.g. TitleCase vs snakeCase) depends on the Extension being used. Please refer to the documentation for the specific Virtual Machine Extension you're looking to use for more information.\n"},"type":{"type":"string","description":"Specifies the Type of the Extension. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"typeHandlerVersion":{"type":"string","description":"Specifies the version of the extension to use, available versions can be found using the Azure CLI.\n\n\u003e **Note:** The `Publisher` and `Type` of Virtual Machine Scale Set Extensions can be found using the Azure CLI, via:\n\n```shell\naz vmss extension image list --location westus -o table\n```\n"},"virtualMachineScaleSetId":{"type":"string","description":"The ID of the Virtual Machine Scale Set. Changing this forces a new resource to be created.\n\n\u003e **Note:** This should be the ID from the \u003cspan pulumi-lang-nodejs=\"`azure.compute.LinuxVirtualMachineScaleSet`\" pulumi-lang-dotnet=\"`azure.compute.LinuxVirtualMachineScaleSet`\" pulumi-lang-go=\"`compute.LinuxVirtualMachineScaleSet`\" pulumi-lang-python=\"`compute.LinuxVirtualMachineScaleSet`\" pulumi-lang-yaml=\"`azure.compute.LinuxVirtualMachineScaleSet`\" pulumi-lang-java=\"`azure.compute.LinuxVirtualMachineScaleSet`\"\u003e`azure.compute.LinuxVirtualMachineScaleSet`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`azure.compute.WindowsVirtualMachineScaleSet`\" pulumi-lang-dotnet=\"`azure.compute.WindowsVirtualMachineScaleSet`\" pulumi-lang-go=\"`compute.WindowsVirtualMachineScaleSet`\" pulumi-lang-python=\"`compute.WindowsVirtualMachineScaleSet`\" pulumi-lang-yaml=\"`azure.compute.WindowsVirtualMachineScaleSet`\" pulumi-lang-java=\"`azure.compute.WindowsVirtualMachineScaleSet`\"\u003e`azure.compute.WindowsVirtualMachineScaleSet`\u003c/span\u003e resource - when using the older \u003cspan pulumi-lang-nodejs=\"`azure.compute.ScaleSet`\" pulumi-lang-dotnet=\"`azure.compute.ScaleSet`\" pulumi-lang-go=\"`compute.ScaleSet`\" pulumi-lang-python=\"`compute.ScaleSet`\" pulumi-lang-yaml=\"`azure.compute.ScaleSet`\" pulumi-lang-java=\"`azure.compute.ScaleSet`\"\u003e`azure.compute.ScaleSet`\u003c/span\u003e resource extensions should instead be defined inline.\n","willReplaceOnChanges":true}},"requiredInputs":["publisher","type","typeHandlerVersion","virtualMachineScaleSetId"],"stateInputs":{"description":"Input properties used for looking up and filtering VirtualMachineScaleSetExtension resources.\n","properties":{"autoUpgradeMinorVersion":{"type":"boolean","description":"Should the latest version of the Extension be used at Deployment Time, if one is available? This won't auto-update the extension on existing installation. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"automaticUpgradeEnabled":{"type":"boolean","description":"Should the Extension be automatically updated whenever the Publisher releases a new version of this VM Extension?\n"},"failureSuppressionEnabled":{"type":"boolean","description":"Should failures from the extension be suppressed? Possible values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** Operational failures such as not connecting to the VM will not be suppressed regardless of the \u003cspan pulumi-lang-nodejs=\"`failureSuppressionEnabled`\" pulumi-lang-dotnet=\"`FailureSuppressionEnabled`\" pulumi-lang-go=\"`failureSuppressionEnabled`\" pulumi-lang-python=\"`failure_suppression_enabled`\" pulumi-lang-yaml=\"`failureSuppressionEnabled`\" pulumi-lang-java=\"`failureSuppressionEnabled`\"\u003e`failure_suppression_enabled`\u003c/span\u003e value.\n"},"forceUpdateTag":{"type":"string","description":"A value which, when different to the previous value can be used to force-run the Extension even if the Extension Configuration hasn't changed.\n"},"name":{"type":"string","description":"The name for the Virtual Machine Scale Set Extension. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"protectedSettings":{"type":"string","description":"A JSON String which specifies Sensitive Settings (such as Passwords) for the Extension.\n\n\u003e **Note:** Keys within the \u003cspan pulumi-lang-nodejs=\"`protectedSettings`\" pulumi-lang-dotnet=\"`ProtectedSettings`\" pulumi-lang-go=\"`protectedSettings`\" pulumi-lang-python=\"`protected_settings`\" pulumi-lang-yaml=\"`protectedSettings`\" pulumi-lang-java=\"`protectedSettings`\"\u003e`protected_settings`\u003c/span\u003e block are notoriously case-sensitive, where the casing required (e.g. TitleCase vs snakeCase) depends on the Extension being used. Please refer to the documentation for the specific Virtual Machine Extension you're looking to use for more information.\n","secret":true},"protectedSettingsFromKeyVault":{"$ref":"#/types/azure:compute/VirtualMachineScaleSetExtensionProtectedSettingsFromKeyVault:VirtualMachineScaleSetExtensionProtectedSettingsFromKeyVault","description":"A \u003cspan pulumi-lang-nodejs=\"`protectedSettingsFromKeyVault`\" pulumi-lang-dotnet=\"`ProtectedSettingsFromKeyVault`\" pulumi-lang-go=\"`protectedSettingsFromKeyVault`\" pulumi-lang-python=\"`protected_settings_from_key_vault`\" pulumi-lang-yaml=\"`protectedSettingsFromKeyVault`\" pulumi-lang-java=\"`protectedSettingsFromKeyVault`\"\u003e`protected_settings_from_key_vault`\u003c/span\u003e block as defined below.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`protectedSettingsFromKeyVault`\" pulumi-lang-dotnet=\"`ProtectedSettingsFromKeyVault`\" pulumi-lang-go=\"`protectedSettingsFromKeyVault`\" pulumi-lang-python=\"`protected_settings_from_key_vault`\" pulumi-lang-yaml=\"`protectedSettingsFromKeyVault`\" pulumi-lang-java=\"`protectedSettingsFromKeyVault`\"\u003e`protected_settings_from_key_vault`\u003c/span\u003e cannot be used with \u003cspan pulumi-lang-nodejs=\"`protectedSettings`\" pulumi-lang-dotnet=\"`ProtectedSettings`\" pulumi-lang-go=\"`protectedSettings`\" pulumi-lang-python=\"`protected_settings`\" pulumi-lang-yaml=\"`protectedSettings`\" pulumi-lang-java=\"`protectedSettings`\"\u003e`protected_settings`\u003c/span\u003e\n"},"provisionAfterExtensions":{"type":"array","items":{"type":"string"},"description":"An ordered list of Extension names which this should be provisioned after.\n"},"publisher":{"type":"string","description":"Specifies the Publisher of the Extension. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"settings":{"type":"string","description":"A JSON String which specifies Settings for the Extension.\n\n\u003e **Note:** Keys within the \u003cspan pulumi-lang-nodejs=\"`settings`\" pulumi-lang-dotnet=\"`Settings`\" pulumi-lang-go=\"`settings`\" pulumi-lang-python=\"`settings`\" pulumi-lang-yaml=\"`settings`\" pulumi-lang-java=\"`settings`\"\u003e`settings`\u003c/span\u003e block are notoriously case-sensitive, where the casing required (e.g. TitleCase vs snakeCase) depends on the Extension being used. Please refer to the documentation for the specific Virtual Machine Extension you're looking to use for more information.\n"},"type":{"type":"string","description":"Specifies the Type of the Extension. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"typeHandlerVersion":{"type":"string","description":"Specifies the version of the extension to use, available versions can be found using the Azure CLI.\n\n\u003e **Note:** The `Publisher` and `Type` of Virtual Machine Scale Set Extensions can be found using the Azure CLI, via:\n\n```shell\naz vmss extension image list --location westus -o table\n```\n"},"virtualMachineScaleSetId":{"type":"string","description":"The ID of the Virtual Machine Scale Set. Changing this forces a new resource to be created.\n\n\u003e **Note:** This should be the ID from the \u003cspan pulumi-lang-nodejs=\"`azure.compute.LinuxVirtualMachineScaleSet`\" pulumi-lang-dotnet=\"`azure.compute.LinuxVirtualMachineScaleSet`\" pulumi-lang-go=\"`compute.LinuxVirtualMachineScaleSet`\" pulumi-lang-python=\"`compute.LinuxVirtualMachineScaleSet`\" pulumi-lang-yaml=\"`azure.compute.LinuxVirtualMachineScaleSet`\" pulumi-lang-java=\"`azure.compute.LinuxVirtualMachineScaleSet`\"\u003e`azure.compute.LinuxVirtualMachineScaleSet`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`azure.compute.WindowsVirtualMachineScaleSet`\" pulumi-lang-dotnet=\"`azure.compute.WindowsVirtualMachineScaleSet`\" pulumi-lang-go=\"`compute.WindowsVirtualMachineScaleSet`\" pulumi-lang-python=\"`compute.WindowsVirtualMachineScaleSet`\" pulumi-lang-yaml=\"`azure.compute.WindowsVirtualMachineScaleSet`\" pulumi-lang-java=\"`azure.compute.WindowsVirtualMachineScaleSet`\"\u003e`azure.compute.WindowsVirtualMachineScaleSet`\u003c/span\u003e resource - when using the older \u003cspan pulumi-lang-nodejs=\"`azure.compute.ScaleSet`\" pulumi-lang-dotnet=\"`azure.compute.ScaleSet`\" pulumi-lang-go=\"`compute.ScaleSet`\" pulumi-lang-python=\"`compute.ScaleSet`\" pulumi-lang-yaml=\"`azure.compute.ScaleSet`\" pulumi-lang-java=\"`azure.compute.ScaleSet`\"\u003e`azure.compute.ScaleSet`\u003c/span\u003e resource extensions should instead be defined inline.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:compute/windowsVirtualMachine:WindowsVirtualMachine":{"description":"Manages a Windows Virtual Machine.\n\n## Disclaimers\n\n\u003e **Note** This provider will automatically remove the OS Disk by default - this behaviour can be configured using the \u003cspan pulumi-lang-nodejs=\"`features`\" pulumi-lang-dotnet=\"`Features`\" pulumi-lang-go=\"`features`\" pulumi-lang-python=\"`features`\" pulumi-lang-yaml=\"`features`\" pulumi-lang-java=\"`features`\"\u003e`features`\u003c/span\u003e setting within the Provider block.\n\n\u003e **Note** All arguments including the administrator login and password will be stored in the raw state as plain-text.\n\n\u003e **Note** This resource does not support Unmanaged Disks. If you need to use Unmanaged Disks you can continue to use the \u003cspan pulumi-lang-nodejs=\"`azure.compute.VirtualMachine`\" pulumi-lang-dotnet=\"`azure.compute.VirtualMachine`\" pulumi-lang-go=\"`compute.VirtualMachine`\" pulumi-lang-python=\"`compute.VirtualMachine`\" pulumi-lang-yaml=\"`azure.compute.VirtualMachine`\" pulumi-lang-java=\"`azure.compute.VirtualMachine`\"\u003e`azure.compute.VirtualMachine`\u003c/span\u003e resource instead.\n\n\u003e **Note** This resource does not support attaching existing OS Disks. You can instead capture an image of the OS Disk or continue to use the \u003cspan pulumi-lang-nodejs=\"`azure.compute.VirtualMachine`\" pulumi-lang-dotnet=\"`azure.compute.VirtualMachine`\" pulumi-lang-go=\"`compute.VirtualMachine`\" pulumi-lang-python=\"`compute.VirtualMachine`\" pulumi-lang-yaml=\"`azure.compute.VirtualMachine`\" pulumi-lang-java=\"`azure.compute.VirtualMachine`\"\u003e`azure.compute.VirtualMachine`\u003c/span\u003e resource instead.\n\n\u003e In this release there's a known issue where the \u003cspan pulumi-lang-nodejs=\"`publicIpAddress`\" pulumi-lang-dotnet=\"`PublicIpAddress`\" pulumi-lang-go=\"`publicIpAddress`\" pulumi-lang-python=\"`public_ip_address`\" pulumi-lang-yaml=\"`publicIpAddress`\" pulumi-lang-java=\"`publicIpAddress`\"\u003e`public_ip_address`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`publicIpAddresses`\" pulumi-lang-dotnet=\"`PublicIpAddresses`\" pulumi-lang-go=\"`publicIpAddresses`\" pulumi-lang-python=\"`public_ip_addresses`\" pulumi-lang-yaml=\"`publicIpAddresses`\" pulumi-lang-java=\"`publicIpAddresses`\"\u003e`public_ip_addresses`\u003c/span\u003e fields may not be fully populated for Dynamic Public IP's.\n\n## Example Usage\n\nThis example provisions a basic Windows Virtual Machine on an internal network.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"example\", {\n    name: \"example-network\",\n    addressSpaces: [\"10.0.0.0/16\"],\n    location: example.location,\n    resourceGroupName: example.name,\n});\nconst exampleSubnet = new azure.network.Subnet(\"example\", {\n    name: \"internal\",\n    resourceGroupName: example.name,\n    virtualNetworkName: exampleVirtualNetwork.name,\n    addressPrefixes: [\"10.0.2.0/24\"],\n});\nconst exampleNetworkInterface = new azure.network.NetworkInterface(\"example\", {\n    name: \"example-nic\",\n    location: example.location,\n    resourceGroupName: example.name,\n    ipConfigurations: [{\n        name: \"internal\",\n        subnetId: exampleSubnet.id,\n        privateIpAddressAllocation: \"Dynamic\",\n    }],\n});\nconst exampleWindowsVirtualMachine = new azure.compute.WindowsVirtualMachine(\"example\", {\n    name: \"example-machine\",\n    resourceGroupName: example.name,\n    location: example.location,\n    size: \"Standard_F2\",\n    adminUsername: \"adminuser\",\n    adminPassword: \"P@$$w0rd1234!\",\n    networkInterfaceIds: [exampleNetworkInterface.id],\n    osDisk: {\n        caching: \"ReadWrite\",\n        storageAccountType: \"Standard_LRS\",\n    },\n    sourceImageReference: {\n        publisher: \"MicrosoftWindowsServer\",\n        offer: \"WindowsServer\",\n        sku: \"2016-Datacenter\",\n        version: \"latest\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_virtual_network = azure.network.VirtualNetwork(\"example\",\n    name=\"example-network\",\n    address_spaces=[\"10.0.0.0/16\"],\n    location=example.location,\n    resource_group_name=example.name)\nexample_subnet = azure.network.Subnet(\"example\",\n    name=\"internal\",\n    resource_group_name=example.name,\n    virtual_network_name=example_virtual_network.name,\n    address_prefixes=[\"10.0.2.0/24\"])\nexample_network_interface = azure.network.NetworkInterface(\"example\",\n    name=\"example-nic\",\n    location=example.location,\n    resource_group_name=example.name,\n    ip_configurations=[{\n        \"name\": \"internal\",\n        \"subnet_id\": example_subnet.id,\n        \"private_ip_address_allocation\": \"Dynamic\",\n    }])\nexample_windows_virtual_machine = azure.compute.WindowsVirtualMachine(\"example\",\n    name=\"example-machine\",\n    resource_group_name=example.name,\n    location=example.location,\n    size=\"Standard_F2\",\n    admin_username=\"adminuser\",\n    admin_password=\"P@$$w0rd1234!\",\n    network_interface_ids=[example_network_interface.id],\n    os_disk={\n        \"caching\": \"ReadWrite\",\n        \"storage_account_type\": \"Standard_LRS\",\n    },\n    source_image_reference={\n        \"publisher\": \"MicrosoftWindowsServer\",\n        \"offer\": \"WindowsServer\",\n        \"sku\": \"2016-Datacenter\",\n        \"version\": \"latest\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleVirtualNetwork = new Azure.Network.VirtualNetwork(\"example\", new()\n    {\n        Name = \"example-network\",\n        AddressSpaces = new[]\n        {\n            \"10.0.0.0/16\",\n        },\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n    });\n\n    var exampleSubnet = new Azure.Network.Subnet(\"example\", new()\n    {\n        Name = \"internal\",\n        ResourceGroupName = example.Name,\n        VirtualNetworkName = exampleVirtualNetwork.Name,\n        AddressPrefixes = new[]\n        {\n            \"10.0.2.0/24\",\n        },\n    });\n\n    var exampleNetworkInterface = new Azure.Network.NetworkInterface(\"example\", new()\n    {\n        Name = \"example-nic\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        IpConfigurations = new[]\n        {\n            new Azure.Network.Inputs.NetworkInterfaceIpConfigurationArgs\n            {\n                Name = \"internal\",\n                SubnetId = exampleSubnet.Id,\n                PrivateIpAddressAllocation = \"Dynamic\",\n            },\n        },\n    });\n\n    var exampleWindowsVirtualMachine = new Azure.Compute.WindowsVirtualMachine(\"example\", new()\n    {\n        Name = \"example-machine\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        Size = \"Standard_F2\",\n        AdminUsername = \"adminuser\",\n        AdminPassword = \"P@$$w0rd1234!\",\n        NetworkInterfaceIds = new[]\n        {\n            exampleNetworkInterface.Id,\n        },\n        OsDisk = new Azure.Compute.Inputs.WindowsVirtualMachineOsDiskArgs\n        {\n            Caching = \"ReadWrite\",\n            StorageAccountType = \"Standard_LRS\",\n        },\n        SourceImageReference = new Azure.Compute.Inputs.WindowsVirtualMachineSourceImageReferenceArgs\n        {\n            Publisher = \"MicrosoftWindowsServer\",\n            Offer = \"WindowsServer\",\n            Sku = \"2016-Datacenter\",\n            Version = \"latest\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/compute\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, \"example\", \u0026network.VirtualNetworkArgs{\n\t\t\tName: pulumi.String(\"example-network\"),\n\t\t\tAddressSpaces: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.0.0/16\"),\n\t\t\t},\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSubnet, err := network.NewSubnet(ctx, \"example\", \u0026network.SubnetArgs{\n\t\t\tName:               pulumi.String(\"internal\"),\n\t\t\tResourceGroupName:  example.Name,\n\t\t\tVirtualNetworkName: exampleVirtualNetwork.Name,\n\t\t\tAddressPrefixes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.2.0/24\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNetworkInterface, err := network.NewNetworkInterface(ctx, \"example\", \u0026network.NetworkInterfaceArgs{\n\t\t\tName:              pulumi.String(\"example-nic\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tIpConfigurations: network.NetworkInterfaceIpConfigurationArray{\n\t\t\t\t\u0026network.NetworkInterfaceIpConfigurationArgs{\n\t\t\t\t\tName:                       pulumi.String(\"internal\"),\n\t\t\t\t\tSubnetId:                   exampleSubnet.ID(),\n\t\t\t\t\tPrivateIpAddressAllocation: pulumi.String(\"Dynamic\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = compute.NewWindowsVirtualMachine(ctx, \"example\", \u0026compute.WindowsVirtualMachineArgs{\n\t\t\tName:              pulumi.String(\"example-machine\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tSize:              pulumi.String(\"Standard_F2\"),\n\t\t\tAdminUsername:     pulumi.String(\"adminuser\"),\n\t\t\tAdminPassword:     pulumi.String(\"P@$$w0rd1234!\"),\n\t\t\tNetworkInterfaceIds: pulumi.StringArray{\n\t\t\t\texampleNetworkInterface.ID(),\n\t\t\t},\n\t\t\tOsDisk: \u0026compute.WindowsVirtualMachineOsDiskArgs{\n\t\t\t\tCaching:            pulumi.String(\"ReadWrite\"),\n\t\t\t\tStorageAccountType: pulumi.String(\"Standard_LRS\"),\n\t\t\t},\n\t\t\tSourceImageReference: \u0026compute.WindowsVirtualMachineSourceImageReferenceArgs{\n\t\t\t\tPublisher: pulumi.String(\"MicrosoftWindowsServer\"),\n\t\t\t\tOffer:     pulumi.String(\"WindowsServer\"),\n\t\t\t\tSku:       pulumi.String(\"2016-Datacenter\"),\n\t\t\t\tVersion:   pulumi.String(\"latest\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.VirtualNetwork;\nimport com.pulumi.azure.network.VirtualNetworkArgs;\nimport com.pulumi.azure.network.Subnet;\nimport com.pulumi.azure.network.SubnetArgs;\nimport com.pulumi.azure.network.NetworkInterface;\nimport com.pulumi.azure.network.NetworkInterfaceArgs;\nimport com.pulumi.azure.network.inputs.NetworkInterfaceIpConfigurationArgs;\nimport com.pulumi.azure.compute.WindowsVirtualMachine;\nimport com.pulumi.azure.compute.WindowsVirtualMachineArgs;\nimport com.pulumi.azure.compute.inputs.WindowsVirtualMachineOsDiskArgs;\nimport com.pulumi.azure.compute.inputs.WindowsVirtualMachineSourceImageReferenceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleVirtualNetwork = new VirtualNetwork(\"exampleVirtualNetwork\", VirtualNetworkArgs.builder()\n            .name(\"example-network\")\n            .addressSpaces(\"10.0.0.0/16\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .build());\n\n        var exampleSubnet = new Subnet(\"exampleSubnet\", SubnetArgs.builder()\n            .name(\"internal\")\n            .resourceGroupName(example.name())\n            .virtualNetworkName(exampleVirtualNetwork.name())\n            .addressPrefixes(\"10.0.2.0/24\")\n            .build());\n\n        var exampleNetworkInterface = new NetworkInterface(\"exampleNetworkInterface\", NetworkInterfaceArgs.builder()\n            .name(\"example-nic\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .ipConfigurations(NetworkInterfaceIpConfigurationArgs.builder()\n                .name(\"internal\")\n                .subnetId(exampleSubnet.id())\n                .privateIpAddressAllocation(\"Dynamic\")\n                .build())\n            .build());\n\n        var exampleWindowsVirtualMachine = new WindowsVirtualMachine(\"exampleWindowsVirtualMachine\", WindowsVirtualMachineArgs.builder()\n            .name(\"example-machine\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .size(\"Standard_F2\")\n            .adminUsername(\"adminuser\")\n            .adminPassword(\"P@$$w0rd1234!\")\n            .networkInterfaceIds(exampleNetworkInterface.id())\n            .osDisk(WindowsVirtualMachineOsDiskArgs.builder()\n                .caching(\"ReadWrite\")\n                .storageAccountType(\"Standard_LRS\")\n                .build())\n            .sourceImageReference(WindowsVirtualMachineSourceImageReferenceArgs.builder()\n                .publisher(\"MicrosoftWindowsServer\")\n                .offer(\"WindowsServer\")\n                .sku(\"2016-Datacenter\")\n                .version(\"latest\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleVirtualNetwork:\n    type: azure:network:VirtualNetwork\n    name: example\n    properties:\n      name: example-network\n      addressSpaces:\n        - 10.0.0.0/16\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n  exampleSubnet:\n    type: azure:network:Subnet\n    name: example\n    properties:\n      name: internal\n      resourceGroupName: ${example.name}\n      virtualNetworkName: ${exampleVirtualNetwork.name}\n      addressPrefixes:\n        - 10.0.2.0/24\n  exampleNetworkInterface:\n    type: azure:network:NetworkInterface\n    name: example\n    properties:\n      name: example-nic\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      ipConfigurations:\n        - name: internal\n          subnetId: ${exampleSubnet.id}\n          privateIpAddressAllocation: Dynamic\n  exampleWindowsVirtualMachine:\n    type: azure:compute:WindowsVirtualMachine\n    name: example\n    properties:\n      name: example-machine\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      size: Standard_F2\n      adminUsername: adminuser\n      adminPassword: P@$$w0rd1234!\n      networkInterfaceIds:\n        - ${exampleNetworkInterface.id}\n      osDisk:\n        caching: ReadWrite\n        storageAccountType: Standard_LRS\n      sourceImageReference:\n        publisher: MicrosoftWindowsServer\n        offer: WindowsServer\n        sku: 2016-Datacenter\n        version: latest\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Compute` - 2024-03-01, 2023-04-02\n\n## Import\n\nWindows Virtual Machines can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:compute/windowsVirtualMachine:WindowsVirtualMachine example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Compute/virtualMachines/machine1\n```\n\n","properties":{"additionalCapabilities":{"$ref":"#/types/azure:compute/WindowsVirtualMachineAdditionalCapabilities:WindowsVirtualMachineAdditionalCapabilities","description":"A \u003cspan pulumi-lang-nodejs=\"`additionalCapabilities`\" pulumi-lang-dotnet=\"`AdditionalCapabilities`\" pulumi-lang-go=\"`additionalCapabilities`\" pulumi-lang-python=\"`additional_capabilities`\" pulumi-lang-yaml=\"`additionalCapabilities`\" pulumi-lang-java=\"`additionalCapabilities`\"\u003e`additional_capabilities`\u003c/span\u003e block as defined below.\n"},"additionalUnattendContents":{"type":"array","items":{"$ref":"#/types/azure:compute/WindowsVirtualMachineAdditionalUnattendContent:WindowsVirtualMachineAdditionalUnattendContent"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`additionalUnattendContent`\" pulumi-lang-dotnet=\"`AdditionalUnattendContent`\" pulumi-lang-go=\"`additionalUnattendContent`\" pulumi-lang-python=\"`additional_unattend_content`\" pulumi-lang-yaml=\"`additionalUnattendContent`\" pulumi-lang-java=\"`additionalUnattendContent`\"\u003e`additional_unattend_content`\u003c/span\u003e blocks as defined below. Changing this forces a new resource to be created.\n"},"adminPassword":{"type":"string","description":"The Password which should be used for the local-administrator on this Virtual Machine. Changing this forces a new resource to be created.\n\n\u003e **Note:** This is required unless using an existing OS Managed Disk by specifying \u003cspan pulumi-lang-nodejs=\"`osManagedDiskId`\" pulumi-lang-dotnet=\"`OsManagedDiskId`\" pulumi-lang-go=\"`osManagedDiskId`\" pulumi-lang-python=\"`os_managed_disk_id`\" pulumi-lang-yaml=\"`osManagedDiskId`\" pulumi-lang-java=\"`osManagedDiskId`\"\u003e`os_managed_disk_id`\u003c/span\u003e.\n","secret":true},"adminUsername":{"type":"string","description":"The username of the local administrator used for the Virtual Machine. Changing this forces a new resource to be created.\n\n\u003e **Note:** This is required unless using an existing OS Managed Disk by specifying \u003cspan pulumi-lang-nodejs=\"`osManagedDiskId`\" pulumi-lang-dotnet=\"`OsManagedDiskId`\" pulumi-lang-go=\"`osManagedDiskId`\" pulumi-lang-python=\"`os_managed_disk_id`\" pulumi-lang-yaml=\"`osManagedDiskId`\" pulumi-lang-java=\"`osManagedDiskId`\"\u003e`os_managed_disk_id`\u003c/span\u003e.\n"},"allowExtensionOperations":{"type":"boolean","description":"Should Extension Operations be allowed on this Virtual Machine? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"automaticUpdatesEnabled":{"type":"boolean","description":"Specifies if Automatic Updates are Enabled for the Windows Virtual Machine. Changing this forces a new resource to be created. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"availabilitySetId":{"type":"string","description":"Specifies the ID of the Availability Set in which the Virtual Machine should exist. Changing this forces a new resource to be created.\n"},"bootDiagnostics":{"$ref":"#/types/azure:compute/WindowsVirtualMachineBootDiagnostics:WindowsVirtualMachineBootDiagnostics","description":"A \u003cspan pulumi-lang-nodejs=\"`bootDiagnostics`\" pulumi-lang-dotnet=\"`BootDiagnostics`\" pulumi-lang-go=\"`bootDiagnostics`\" pulumi-lang-python=\"`boot_diagnostics`\" pulumi-lang-yaml=\"`bootDiagnostics`\" pulumi-lang-java=\"`bootDiagnostics`\"\u003e`boot_diagnostics`\u003c/span\u003e block as defined below.\n"},"bypassPlatformSafetyChecksOnUserScheduleEnabled":{"type":"boolean","description":"Specifies whether to skip platform scheduled patching when a user schedule is associated with the VM. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **NOTE:** \u003cspan pulumi-lang-nodejs=\"`bypassPlatformSafetyChecksOnUserScheduleEnabled`\" pulumi-lang-dotnet=\"`BypassPlatformSafetyChecksOnUserScheduleEnabled`\" pulumi-lang-go=\"`bypassPlatformSafetyChecksOnUserScheduleEnabled`\" pulumi-lang-python=\"`bypass_platform_safety_checks_on_user_schedule_enabled`\" pulumi-lang-yaml=\"`bypassPlatformSafetyChecksOnUserScheduleEnabled`\" pulumi-lang-java=\"`bypassPlatformSafetyChecksOnUserScheduleEnabled`\"\u003e`bypass_platform_safety_checks_on_user_schedule_enabled`\u003c/span\u003e can only be set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e when \u003cspan pulumi-lang-nodejs=\"`patchMode`\" pulumi-lang-dotnet=\"`PatchMode`\" pulumi-lang-go=\"`patchMode`\" pulumi-lang-python=\"`patch_mode`\" pulumi-lang-yaml=\"`patchMode`\" pulumi-lang-java=\"`patchMode`\"\u003e`patch_mode`\u003c/span\u003e is set to `AutomaticByPlatform`.\n"},"capacityReservationGroupId":{"type":"string","description":"Specifies the ID of the Capacity Reservation Group which the Virtual Machine should be allocated to.\n\n\u003e **NOTE:** \u003cspan pulumi-lang-nodejs=\"`capacityReservationGroupId`\" pulumi-lang-dotnet=\"`CapacityReservationGroupId`\" pulumi-lang-go=\"`capacityReservationGroupId`\" pulumi-lang-python=\"`capacity_reservation_group_id`\" pulumi-lang-yaml=\"`capacityReservationGroupId`\" pulumi-lang-java=\"`capacityReservationGroupId`\"\u003e`capacity_reservation_group_id`\u003c/span\u003e cannot be used with \u003cspan pulumi-lang-nodejs=\"`availabilitySetId`\" pulumi-lang-dotnet=\"`AvailabilitySetId`\" pulumi-lang-go=\"`availabilitySetId`\" pulumi-lang-python=\"`availability_set_id`\" pulumi-lang-yaml=\"`availabilitySetId`\" pulumi-lang-java=\"`availabilitySetId`\"\u003e`availability_set_id`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`proximityPlacementGroupId`\" pulumi-lang-dotnet=\"`ProximityPlacementGroupId`\" pulumi-lang-go=\"`proximityPlacementGroupId`\" pulumi-lang-python=\"`proximity_placement_group_id`\" pulumi-lang-yaml=\"`proximityPlacementGroupId`\" pulumi-lang-java=\"`proximityPlacementGroupId`\"\u003e`proximity_placement_group_id`\u003c/span\u003e\n"},"computerName":{"type":"string","description":"Specifies the Hostname which should be used for this Virtual Machine. If unspecified this defaults to the value for the \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e field. If the value of the \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e field is not a valid \u003cspan pulumi-lang-nodejs=\"`computerName`\" pulumi-lang-dotnet=\"`ComputerName`\" pulumi-lang-go=\"`computerName`\" pulumi-lang-python=\"`computer_name`\" pulumi-lang-yaml=\"`computerName`\" pulumi-lang-java=\"`computerName`\"\u003e`computer_name`\u003c/span\u003e, then you must specify \u003cspan pulumi-lang-nodejs=\"`computerName`\" pulumi-lang-dotnet=\"`ComputerName`\" pulumi-lang-go=\"`computerName`\" pulumi-lang-python=\"`computer_name`\" pulumi-lang-yaml=\"`computerName`\" pulumi-lang-java=\"`computerName`\"\u003e`computer_name`\u003c/span\u003e. Changing this forces a new resource to be created.\n"},"customData":{"type":"string","description":"The Base64-Encoded Custom Data which should be used for this Virtual Machine. Changing this forces a new resource to be created.\n","secret":true},"dedicatedHostGroupId":{"type":"string","description":"The ID of a Dedicated Host Group that this Windows Virtual Machine should be run within. Conflicts with \u003cspan pulumi-lang-nodejs=\"`dedicatedHostId`\" pulumi-lang-dotnet=\"`DedicatedHostId`\" pulumi-lang-go=\"`dedicatedHostId`\" pulumi-lang-python=\"`dedicated_host_id`\" pulumi-lang-yaml=\"`dedicatedHostId`\" pulumi-lang-java=\"`dedicatedHostId`\"\u003e`dedicated_host_id`\u003c/span\u003e.\n"},"dedicatedHostId":{"type":"string","description":"The ID of a Dedicated Host where this machine should be run on. Conflicts with \u003cspan pulumi-lang-nodejs=\"`dedicatedHostGroupId`\" pulumi-lang-dotnet=\"`DedicatedHostGroupId`\" pulumi-lang-go=\"`dedicatedHostGroupId`\" pulumi-lang-python=\"`dedicated_host_group_id`\" pulumi-lang-yaml=\"`dedicatedHostGroupId`\" pulumi-lang-java=\"`dedicatedHostGroupId`\"\u003e`dedicated_host_group_id`\u003c/span\u003e.\n"},"diskControllerType":{"type":"string","description":"Specifies the Disk Controller Type used for this Virtual Machine. Possible values are `SCSI` and `NVMe`.\n"},"edgeZone":{"type":"string","description":"Specifies the Edge Zone within the Azure Region where this Windows Virtual Machine should exist. Changing this forces a new Windows Virtual Machine to be created.\n"},"enableAutomaticUpdates":{"type":"boolean","deprecationMessage":"this property has been deprecated in favour of\u003cspan pulumi-lang-nodejs=\" automaticUpdatesEnabled \" pulumi-lang-dotnet=\" AutomaticUpdatesEnabled \" pulumi-lang-go=\" automaticUpdatesEnabled \" pulumi-lang-python=\" automatic_updates_enabled \" pulumi-lang-yaml=\" automaticUpdatesEnabled \" pulumi-lang-java=\" automaticUpdatesEnabled \"\u003e automatic_updates_enabled \u003c/span\u003eand will be removed in 5.0 of the provider."},"encryptionAtHostEnabled":{"type":"boolean","description":"Should all of the disks (including the temp disk) attached to this Virtual Machine be encrypted by enabling Encryption at Host?\n"},"evictionPolicy":{"type":"string","description":"Specifies what should happen when the Virtual Machine is evicted for price reasons when using a Spot instance. Possible values are `Deallocate` and `Delete`. Changing this forces a new resource to be created.\n\n\u003e **NOTE:** This can only be configured when \u003cspan pulumi-lang-nodejs=\"`priority`\" pulumi-lang-dotnet=\"`Priority`\" pulumi-lang-go=\"`priority`\" pulumi-lang-python=\"`priority`\" pulumi-lang-yaml=\"`priority`\" pulumi-lang-java=\"`priority`\"\u003e`priority`\u003c/span\u003e is set to `Spot`.\n"},"extensionsTimeBudget":{"type":"string","description":"Specifies the duration allocated for all extensions to start. The time duration should be between 15 minutes and 120 minutes (inclusive) and should be specified in ISO 8601 format. Defaults to `PT1H30M`.\n"},"galleryApplications":{"type":"array","items":{"$ref":"#/types/azure:compute/WindowsVirtualMachineGalleryApplication:WindowsVirtualMachineGalleryApplication"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`galleryApplication`\" pulumi-lang-dotnet=\"`GalleryApplication`\" pulumi-lang-go=\"`galleryApplication`\" pulumi-lang-python=\"`gallery_application`\" pulumi-lang-yaml=\"`galleryApplication`\" pulumi-lang-java=\"`galleryApplication`\"\u003e`gallery_application`\u003c/span\u003e blocks as defined below.\n\n\u003e **Note** Gallery Application Assignments can be defined either directly on \u003cspan pulumi-lang-nodejs=\"`azure.compute.WindowsVirtualMachine`\" pulumi-lang-dotnet=\"`azure.compute.WindowsVirtualMachine`\" pulumi-lang-go=\"`compute.WindowsVirtualMachine`\" pulumi-lang-python=\"`compute.WindowsVirtualMachine`\" pulumi-lang-yaml=\"`azure.compute.WindowsVirtualMachine`\" pulumi-lang-java=\"`azure.compute.WindowsVirtualMachine`\"\u003e`azure.compute.WindowsVirtualMachine`\u003c/span\u003e resource, or using the \u003cspan pulumi-lang-nodejs=\"`azure.compute.GalleryApplicationAssignment`\" pulumi-lang-dotnet=\"`azure.compute.GalleryApplicationAssignment`\" pulumi-lang-go=\"`compute.GalleryApplicationAssignment`\" pulumi-lang-python=\"`compute.GalleryApplicationAssignment`\" pulumi-lang-yaml=\"`azure.compute.GalleryApplicationAssignment`\" pulumi-lang-java=\"`azure.compute.GalleryApplicationAssignment`\"\u003e`azure.compute.GalleryApplicationAssignment`\u003c/span\u003e resource - but the two approaches cannot be used together. If both are used with the same Virtual Machine, spurious changes will occur. If \u003cspan pulumi-lang-nodejs=\"`azure.compute.GalleryApplicationAssignment`\" pulumi-lang-dotnet=\"`azure.compute.GalleryApplicationAssignment`\" pulumi-lang-go=\"`compute.GalleryApplicationAssignment`\" pulumi-lang-python=\"`compute.GalleryApplicationAssignment`\" pulumi-lang-yaml=\"`azure.compute.GalleryApplicationAssignment`\" pulumi-lang-java=\"`azure.compute.GalleryApplicationAssignment`\"\u003e`azure.compute.GalleryApplicationAssignment`\u003c/span\u003e is used, it's recommended to use \u003cspan pulumi-lang-nodejs=\"`ignoreChanges`\" pulumi-lang-dotnet=\"`IgnoreChanges`\" pulumi-lang-go=\"`ignoreChanges`\" pulumi-lang-python=\"`ignore_changes`\" pulumi-lang-yaml=\"`ignoreChanges`\" pulumi-lang-java=\"`ignoreChanges`\"\u003e`ignore_changes`\u003c/span\u003e for the \u003cspan pulumi-lang-nodejs=\"`galleryApplication`\" pulumi-lang-dotnet=\"`GalleryApplication`\" pulumi-lang-go=\"`galleryApplication`\" pulumi-lang-python=\"`gallery_application`\" pulumi-lang-yaml=\"`galleryApplication`\" pulumi-lang-java=\"`galleryApplication`\"\u003e`gallery_application`\u003c/span\u003e block on the corresponding \u003cspan pulumi-lang-nodejs=\"`azure.compute.WindowsVirtualMachine`\" pulumi-lang-dotnet=\"`azure.compute.WindowsVirtualMachine`\" pulumi-lang-go=\"`compute.WindowsVirtualMachine`\" pulumi-lang-python=\"`compute.WindowsVirtualMachine`\" pulumi-lang-yaml=\"`azure.compute.WindowsVirtualMachine`\" pulumi-lang-java=\"`azure.compute.WindowsVirtualMachine`\"\u003e`azure.compute.WindowsVirtualMachine`\u003c/span\u003e resource, to avoid a persistent diff when using this resource.\n"},"hotpatchingEnabled":{"type":"boolean","description":"Should the VM be patched without requiring a reboot? Possible values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. For more information about hot patching please see the [product documentation](https://docs.microsoft.com/azure/automanage/automanage-hotpatch).\n\n\u003e **NOTE:** Hotpatching can only be enabled if the \u003cspan pulumi-lang-nodejs=\"`patchMode`\" pulumi-lang-dotnet=\"`PatchMode`\" pulumi-lang-go=\"`patchMode`\" pulumi-lang-python=\"`patch_mode`\" pulumi-lang-yaml=\"`patchMode`\" pulumi-lang-java=\"`patchMode`\"\u003e`patch_mode`\u003c/span\u003e is set to `AutomaticByPlatform`, the \u003cspan pulumi-lang-nodejs=\"`provisionVmAgent`\" pulumi-lang-dotnet=\"`ProvisionVmAgent`\" pulumi-lang-go=\"`provisionVmAgent`\" pulumi-lang-python=\"`provision_vm_agent`\" pulumi-lang-yaml=\"`provisionVmAgent`\" pulumi-lang-java=\"`provisionVmAgent`\"\u003e`provision_vm_agent`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, your \u003cspan pulumi-lang-nodejs=\"`sourceImageReference`\" pulumi-lang-dotnet=\"`SourceImageReference`\" pulumi-lang-go=\"`sourceImageReference`\" pulumi-lang-python=\"`source_image_reference`\" pulumi-lang-yaml=\"`sourceImageReference`\" pulumi-lang-java=\"`sourceImageReference`\"\u003e`source_image_reference`\u003c/span\u003e references a hotpatching enabled image, and the VM's \u003cspan pulumi-lang-nodejs=\"`size`\" pulumi-lang-dotnet=\"`Size`\" pulumi-lang-go=\"`size`\" pulumi-lang-python=\"`size`\" pulumi-lang-yaml=\"`size`\" pulumi-lang-java=\"`size`\"\u003e`size`\u003c/span\u003e is set to a [Azure generation 2](https://docs.microsoft.com/azure/virtual-machines/generation-2#generation-2-vm-sizes) VM. An example of how to correctly configure a Windows Virtual Machine to use the \u003cspan pulumi-lang-nodejs=\"`hotpatchingEnabled`\" pulumi-lang-dotnet=\"`HotpatchingEnabled`\" pulumi-lang-go=\"`hotpatchingEnabled`\" pulumi-lang-python=\"`hotpatching_enabled`\" pulumi-lang-yaml=\"`hotpatchingEnabled`\" pulumi-lang-java=\"`hotpatchingEnabled`\"\u003e`hotpatching_enabled`\u003c/span\u003e field can be found in the `./examples/virtual-machines/windows/hotpatching-enabled` directory within the GitHub Repository.\n"},"identity":{"$ref":"#/types/azure:compute/WindowsVirtualMachineIdentity:WindowsVirtualMachineIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"licenseType":{"type":"string","description":"Specifies the type of on-premise license (also known as [Azure Hybrid Use Benefit](https://docs.microsoft.com/windows-server/get-started/azure-hybrid-benefit)) which should be used for this Virtual Machine. Possible values are `None`, `Windows_Client` and `Windows_Server`.\n"},"location":{"type":"string","description":"The Azure location where the Windows Virtual Machine should exist. Changing this forces a new resource to be created.\n"},"maxBidPrice":{"type":"number","description":"The maximum price you're willing to pay for this Virtual Machine, in US Dollars; which must be greater than the current spot price. If this bid price falls below the current spot price the Virtual Machine will be evicted using the \u003cspan pulumi-lang-nodejs=\"`evictionPolicy`\" pulumi-lang-dotnet=\"`EvictionPolicy`\" pulumi-lang-go=\"`evictionPolicy`\" pulumi-lang-python=\"`eviction_policy`\" pulumi-lang-yaml=\"`evictionPolicy`\" pulumi-lang-java=\"`evictionPolicy`\"\u003e`eviction_policy`\u003c/span\u003e. Defaults to `-1`, which means that the Virtual Machine should not be evicted for price reasons.\n\n\u003e **NOTE:** This can only be configured when \u003cspan pulumi-lang-nodejs=\"`priority`\" pulumi-lang-dotnet=\"`Priority`\" pulumi-lang-go=\"`priority`\" pulumi-lang-python=\"`priority`\" pulumi-lang-yaml=\"`priority`\" pulumi-lang-java=\"`priority`\"\u003e`priority`\u003c/span\u003e is set to `Spot`.\n"},"name":{"type":"string","description":"The name of the Windows Virtual Machine. Changing this forces a new resource to be created.\n"},"networkInterfaceIds":{"type":"array","items":{"type":"string"},"description":". A list of Network Interface IDs which should be attached to this Virtual Machine. The first Network Interface ID in this list will be the Primary Network Interface on the Virtual Machine.\n"},"osDisk":{"$ref":"#/types/azure:compute/WindowsVirtualMachineOsDisk:WindowsVirtualMachineOsDisk","description":"An \u003cspan pulumi-lang-nodejs=\"`osDisk`\" pulumi-lang-dotnet=\"`OsDisk`\" pulumi-lang-go=\"`osDisk`\" pulumi-lang-python=\"`os_disk`\" pulumi-lang-yaml=\"`osDisk`\" pulumi-lang-java=\"`osDisk`\"\u003e`os_disk`\u003c/span\u003e block as defined below.\n"},"osImageNotification":{"$ref":"#/types/azure:compute/WindowsVirtualMachineOsImageNotification:WindowsVirtualMachineOsImageNotification","description":"A \u003cspan pulumi-lang-nodejs=\"`osImageNotification`\" pulumi-lang-dotnet=\"`OsImageNotification`\" pulumi-lang-go=\"`osImageNotification`\" pulumi-lang-python=\"`os_image_notification`\" pulumi-lang-yaml=\"`osImageNotification`\" pulumi-lang-java=\"`osImageNotification`\"\u003e`os_image_notification`\u003c/span\u003e block as defined below.\n"},"osManagedDiskId":{"type":"string","description":"The ID of an existing Managed Disk to use as the OS Disk for this Windows Virtual Machine. Changing this forces a new resource to be created.\n\n\u003e **Note:** When specifying an existing Managed Disk it is not currently possible to subsequently manage the Operating System Profile properties: \u003cspan pulumi-lang-nodejs=\"`adminUsername`\" pulumi-lang-dotnet=\"`AdminUsername`\" pulumi-lang-go=\"`adminUsername`\" pulumi-lang-python=\"`admin_username`\" pulumi-lang-yaml=\"`adminUsername`\" pulumi-lang-java=\"`adminUsername`\"\u003e`admin_username`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`adminPassword`\" pulumi-lang-dotnet=\"`AdminPassword`\" pulumi-lang-go=\"`adminPassword`\" pulumi-lang-python=\"`admin_password`\" pulumi-lang-yaml=\"`adminPassword`\" pulumi-lang-java=\"`adminPassword`\"\u003e`admin_password`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`bypassPlatformSafetyChecksOnUserScheduleEnabled`\" pulumi-lang-dotnet=\"`BypassPlatformSafetyChecksOnUserScheduleEnabled`\" pulumi-lang-go=\"`bypassPlatformSafetyChecksOnUserScheduleEnabled`\" pulumi-lang-python=\"`bypass_platform_safety_checks_on_user_schedule_enabled`\" pulumi-lang-yaml=\"`bypassPlatformSafetyChecksOnUserScheduleEnabled`\" pulumi-lang-java=\"`bypassPlatformSafetyChecksOnUserScheduleEnabled`\"\u003e`bypass_platform_safety_checks_on_user_schedule_enabled`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`computerName`\" pulumi-lang-dotnet=\"`ComputerName`\" pulumi-lang-go=\"`computerName`\" pulumi-lang-python=\"`computer_name`\" pulumi-lang-yaml=\"`computerName`\" pulumi-lang-java=\"`computerName`\"\u003e`computer_name`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`customData`\" pulumi-lang-dotnet=\"`CustomData`\" pulumi-lang-go=\"`customData`\" pulumi-lang-python=\"`custom_data`\" pulumi-lang-yaml=\"`customData`\" pulumi-lang-java=\"`customData`\"\u003e`custom_data`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`provisionVmAgent`\" pulumi-lang-dotnet=\"`ProvisionVmAgent`\" pulumi-lang-go=\"`provisionVmAgent`\" pulumi-lang-python=\"`provision_vm_agent`\" pulumi-lang-yaml=\"`provisionVmAgent`\" pulumi-lang-java=\"`provisionVmAgent`\"\u003e`provision_vm_agent`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`patchMode`\" pulumi-lang-dotnet=\"`PatchMode`\" pulumi-lang-go=\"`patchMode`\" pulumi-lang-python=\"`patch_mode`\" pulumi-lang-yaml=\"`patchMode`\" pulumi-lang-java=\"`patchMode`\"\u003e`patch_mode`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`patchAssessmentMode`\" pulumi-lang-dotnet=\"`PatchAssessmentMode`\" pulumi-lang-go=\"`patchAssessmentMode`\" pulumi-lang-python=\"`patch_assessment_mode`\" pulumi-lang-yaml=\"`patchAssessmentMode`\" pulumi-lang-java=\"`patchAssessmentMode`\"\u003e`patch_assessment_mode`\u003c/span\u003e, or \u003cspan pulumi-lang-nodejs=\"`rebootSetting`\" pulumi-lang-dotnet=\"`RebootSetting`\" pulumi-lang-go=\"`rebootSetting`\" pulumi-lang-python=\"`reboot_setting`\" pulumi-lang-yaml=\"`rebootSetting`\" pulumi-lang-java=\"`rebootSetting`\"\u003e`reboot_setting`\u003c/span\u003e.\n"},"patchAssessmentMode":{"type":"string","description":"Specifies the mode of VM Guest Patching for the Virtual Machine. Possible values are `AutomaticByPlatform` or `ImageDefault`. Defaults to `ImageDefault`.\n\n\u003e **NOTE:** If the \u003cspan pulumi-lang-nodejs=\"`patchAssessmentMode`\" pulumi-lang-dotnet=\"`PatchAssessmentMode`\" pulumi-lang-go=\"`patchAssessmentMode`\" pulumi-lang-python=\"`patch_assessment_mode`\" pulumi-lang-yaml=\"`patchAssessmentMode`\" pulumi-lang-java=\"`patchAssessmentMode`\"\u003e`patch_assessment_mode`\u003c/span\u003e is set to `AutomaticByPlatform` then the \u003cspan pulumi-lang-nodejs=\"`provisionVmAgent`\" pulumi-lang-dotnet=\"`ProvisionVmAgent`\" pulumi-lang-go=\"`provisionVmAgent`\" pulumi-lang-python=\"`provision_vm_agent`\" pulumi-lang-yaml=\"`provisionVmAgent`\" pulumi-lang-java=\"`provisionVmAgent`\"\u003e`provision_vm_agent`\u003c/span\u003e field must be set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"patchMode":{"type":"string","description":"Specifies the mode of in-guest patching to this Windows Virtual Machine. Possible values are `Manual`, `AutomaticByOS` and `AutomaticByPlatform`. Defaults to `AutomaticByOS`. For more information on patch modes please see the [product documentation](https://docs.microsoft.com/azure/virtual-machines/automatic-vm-guest-patching#patch-orchestration-modes).\n\n\u003e **NOTE:** If \u003cspan pulumi-lang-nodejs=\"`patchMode`\" pulumi-lang-dotnet=\"`PatchMode`\" pulumi-lang-go=\"`patchMode`\" pulumi-lang-python=\"`patch_mode`\" pulumi-lang-yaml=\"`patchMode`\" pulumi-lang-java=\"`patchMode`\"\u003e`patch_mode`\u003c/span\u003e is set to `AutomaticByPlatform` then \u003cspan pulumi-lang-nodejs=\"`provisionVmAgent`\" pulumi-lang-dotnet=\"`ProvisionVmAgent`\" pulumi-lang-go=\"`provisionVmAgent`\" pulumi-lang-python=\"`provision_vm_agent`\" pulumi-lang-yaml=\"`provisionVmAgent`\" pulumi-lang-java=\"`provisionVmAgent`\"\u003e`provision_vm_agent`\u003c/span\u003e must also be set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e. If the Virtual Machine is using a hotpatching enabled image the \u003cspan pulumi-lang-nodejs=\"`patchMode`\" pulumi-lang-dotnet=\"`PatchMode`\" pulumi-lang-go=\"`patchMode`\" pulumi-lang-python=\"`patch_mode`\" pulumi-lang-yaml=\"`patchMode`\" pulumi-lang-java=\"`patchMode`\"\u003e`patch_mode`\u003c/span\u003e must always be set to `AutomaticByPlatform`.\n"},"plan":{"$ref":"#/types/azure:compute/WindowsVirtualMachinePlan:WindowsVirtualMachinePlan","description":"A \u003cspan pulumi-lang-nodejs=\"`plan`\" pulumi-lang-dotnet=\"`Plan`\" pulumi-lang-go=\"`plan`\" pulumi-lang-python=\"`plan`\" pulumi-lang-yaml=\"`plan`\" pulumi-lang-java=\"`plan`\"\u003e`plan`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n"},"platformFaultDomain":{"type":"integer","description":"Specifies the Platform Fault Domain in which this Windows Virtual Machine should be created. Defaults to `-1`, which means this will be automatically assigned to a fault domain that best maintains balance across the available fault domains. Changing this forces a new Windows Virtual Machine to be created.\n"},"priority":{"type":"string","description":"Specifies the priority of this Virtual Machine. Possible values are `Regular` and `Spot`. Defaults to `Regular`. Changing this forces a new resource to be created.\n"},"privateIpAddress":{"type":"string","description":"The Primary Private IP Address assigned to this Virtual Machine.\n"},"privateIpAddresses":{"type":"array","items":{"type":"string"},"description":"A list of Private IP Addresses assigned to this Virtual Machine.\n"},"provisionVmAgent":{"type":"boolean","description":"Should the Azure VM Agent be provisioned on this Virtual Machine? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e. Changing this forces a new resource to be created.\n\n\u003e **NOTE:** If \u003cspan pulumi-lang-nodejs=\"`provisionVmAgent`\" pulumi-lang-dotnet=\"`ProvisionVmAgent`\" pulumi-lang-go=\"`provisionVmAgent`\" pulumi-lang-python=\"`provision_vm_agent`\" pulumi-lang-yaml=\"`provisionVmAgent`\" pulumi-lang-java=\"`provisionVmAgent`\"\u003e`provision_vm_agent`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e then \u003cspan pulumi-lang-nodejs=\"`allowExtensionOperations`\" pulumi-lang-dotnet=\"`AllowExtensionOperations`\" pulumi-lang-go=\"`allowExtensionOperations`\" pulumi-lang-python=\"`allow_extension_operations`\" pulumi-lang-yaml=\"`allowExtensionOperations`\" pulumi-lang-java=\"`allowExtensionOperations`\"\u003e`allow_extension_operations`\u003c/span\u003e must also be set to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"proximityPlacementGroupId":{"type":"string","description":"The ID of the Proximity Placement Group which the Virtual Machine should be assigned to.\n"},"publicIpAddress":{"type":"string","description":"The Primary Public IP Address assigned to this Virtual Machine.\n"},"publicIpAddresses":{"type":"array","items":{"type":"string"},"description":"A list of the Public IP Addresses assigned to this Virtual Machine.\n"},"rebootSetting":{"type":"string","description":"Specifies the reboot setting for platform scheduled patching. Possible values are `Always`, `IfRequired` and `Never`.\n\n\u003e **NOTE:** \u003cspan pulumi-lang-nodejs=\"`rebootSetting`\" pulumi-lang-dotnet=\"`RebootSetting`\" pulumi-lang-go=\"`rebootSetting`\" pulumi-lang-python=\"`reboot_setting`\" pulumi-lang-yaml=\"`rebootSetting`\" pulumi-lang-java=\"`rebootSetting`\"\u003e`reboot_setting`\u003c/span\u003e can only be set when \u003cspan pulumi-lang-nodejs=\"`patchMode`\" pulumi-lang-dotnet=\"`PatchMode`\" pulumi-lang-go=\"`patchMode`\" pulumi-lang-python=\"`patch_mode`\" pulumi-lang-yaml=\"`patchMode`\" pulumi-lang-java=\"`patchMode`\"\u003e`patch_mode`\u003c/span\u003e is set to `AutomaticByPlatform`.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group in which the Windows Virtual Machine should be exist. Changing this forces a new resource to be created.\n"},"secrets":{"type":"array","items":{"$ref":"#/types/azure:compute/WindowsVirtualMachineSecret:WindowsVirtualMachineSecret"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`secret`\" pulumi-lang-dotnet=\"`Secret`\" pulumi-lang-go=\"`secret`\" pulumi-lang-python=\"`secret`\" pulumi-lang-yaml=\"`secret`\" pulumi-lang-java=\"`secret`\"\u003e`secret`\u003c/span\u003e blocks as defined below.\n"},"secureBootEnabled":{"type":"boolean","description":"Specifies if Secure Boot and Trusted Launch is enabled for the Virtual Machine. Changing this forces a new resource to be created.\n"},"size":{"type":"string","description":"The SKU which should be used for this Virtual Machine, such as `Standard_F2`.\n"},"sourceImageId":{"type":"string","description":"The ID of the Image which this Virtual Machine should be created from. Changing this forces a new resource to be created. Possible Image ID types include `Image ID`s, `Shared Image ID`s, `Shared Image Version ID`s, `Community Gallery Image ID`s, `Community Gallery Image Version ID`s, `Shared Gallery Image ID`s and `Shared Gallery Image Version ID`s.\n\n\u003e **NOTE:** One of either \u003cspan pulumi-lang-nodejs=\"`sourceImageId`\" pulumi-lang-dotnet=\"`SourceImageId`\" pulumi-lang-go=\"`sourceImageId`\" pulumi-lang-python=\"`source_image_id`\" pulumi-lang-yaml=\"`sourceImageId`\" pulumi-lang-java=\"`sourceImageId`\"\u003e`source_image_id`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`sourceImageReference`\" pulumi-lang-dotnet=\"`SourceImageReference`\" pulumi-lang-go=\"`sourceImageReference`\" pulumi-lang-python=\"`source_image_reference`\" pulumi-lang-yaml=\"`sourceImageReference`\" pulumi-lang-java=\"`sourceImageReference`\"\u003e`source_image_reference`\u003c/span\u003e must be set.\n"},"sourceImageReference":{"$ref":"#/types/azure:compute/WindowsVirtualMachineSourceImageReference:WindowsVirtualMachineSourceImageReference","description":"A \u003cspan pulumi-lang-nodejs=\"`sourceImageReference`\" pulumi-lang-dotnet=\"`SourceImageReference`\" pulumi-lang-go=\"`sourceImageReference`\" pulumi-lang-python=\"`source_image_reference`\" pulumi-lang-yaml=\"`sourceImageReference`\" pulumi-lang-java=\"`sourceImageReference`\"\u003e`source_image_reference`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n\n\u003e **NOTE:** One of either \u003cspan pulumi-lang-nodejs=\"`sourceImageId`\" pulumi-lang-dotnet=\"`SourceImageId`\" pulumi-lang-go=\"`sourceImageId`\" pulumi-lang-python=\"`source_image_id`\" pulumi-lang-yaml=\"`sourceImageId`\" pulumi-lang-java=\"`sourceImageId`\"\u003e`source_image_id`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`sourceImageReference`\" pulumi-lang-dotnet=\"`SourceImageReference`\" pulumi-lang-go=\"`sourceImageReference`\" pulumi-lang-python=\"`source_image_reference`\" pulumi-lang-yaml=\"`sourceImageReference`\" pulumi-lang-java=\"`sourceImageReference`\"\u003e`source_image_reference`\u003c/span\u003e must be set.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to this Virtual Machine.\n"},"terminationNotification":{"$ref":"#/types/azure:compute/WindowsVirtualMachineTerminationNotification:WindowsVirtualMachineTerminationNotification","description":"A \u003cspan pulumi-lang-nodejs=\"`terminationNotification`\" pulumi-lang-dotnet=\"`TerminationNotification`\" pulumi-lang-go=\"`terminationNotification`\" pulumi-lang-python=\"`termination_notification`\" pulumi-lang-yaml=\"`terminationNotification`\" pulumi-lang-java=\"`terminationNotification`\"\u003e`termination_notification`\u003c/span\u003e block as defined below.\n"},"timezone":{"type":"string","description":"Specifies the Time Zone which should be used by the Virtual Machine, [the possible values are defined here](https://jackstromberg.com/2017/01/list-of-time-zones-consumed-by-azure/). Changing this forces a new resource to be created.\n"},"userData":{"type":"string","description":"The Base64-Encoded User Data which should be used for this Virtual Machine.\n"},"virtualMachineId":{"type":"string","description":"A 128-bit identifier which uniquely identifies this Virtual Machine.\n"},"virtualMachineScaleSetId":{"type":"string","description":"Specifies the Orchestrated Virtual Machine Scale Set that this Virtual Machine should be created within.\n\n\u003e **NOTE:** To update \u003cspan pulumi-lang-nodejs=\"`virtualMachineScaleSetId`\" pulumi-lang-dotnet=\"`VirtualMachineScaleSetId`\" pulumi-lang-go=\"`virtualMachineScaleSetId`\" pulumi-lang-python=\"`virtual_machine_scale_set_id`\" pulumi-lang-yaml=\"`virtualMachineScaleSetId`\" pulumi-lang-java=\"`virtualMachineScaleSetId`\"\u003e`virtual_machine_scale_set_id`\u003c/span\u003e the Preview Feature `Microsoft.Compute/SingleFDAttachDetachVMToVmss` needs to be enabled, see [the documentation](https://review.learn.microsoft.com/azure/virtual-machine-scale-sets/virtual-machine-scale-sets-attach-detach-vm#enroll-in-the-preview) for more information.\n\n\u003e **NOTE:** Orchestrated Virtual Machine Scale Sets can be provisioned using [the \u003cspan pulumi-lang-nodejs=\"`azure.compute.OrchestratedVirtualMachineScaleSet`\" pulumi-lang-dotnet=\"`azure.compute.OrchestratedVirtualMachineScaleSet`\" pulumi-lang-go=\"`compute.OrchestratedVirtualMachineScaleSet`\" pulumi-lang-python=\"`compute.OrchestratedVirtualMachineScaleSet`\" pulumi-lang-yaml=\"`azure.compute.OrchestratedVirtualMachineScaleSet`\" pulumi-lang-java=\"`azure.compute.OrchestratedVirtualMachineScaleSet`\"\u003e`azure.compute.OrchestratedVirtualMachineScaleSet`\u003c/span\u003e resource](https://www.terraform.io/docs/providers/azurerm/r/orchestrated_virtual_machine_scale_set.html).\n\n\u003e **NOTE:** To attach an existing VM to a Virtual Machine Scale Set, the scale set must have \u003cspan pulumi-lang-nodejs=\"`singlePlacementGroup`\" pulumi-lang-dotnet=\"`SinglePlacementGroup`\" pulumi-lang-go=\"`singlePlacementGroup`\" pulumi-lang-python=\"`single_placement_group`\" pulumi-lang-yaml=\"`singlePlacementGroup`\" pulumi-lang-java=\"`singlePlacementGroup`\"\u003e`single_placement_group`\u003c/span\u003e set to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e, see [the documentation](https://learn.microsoft.com/azure/virtual-machine-scale-sets/virtual-machine-scale-sets-attach-detach-vm?tabs=portal-1%2Cportal-2%2Cportal-3#limitations-for-attaching-an-existing-vm-to-a-scale-set) for more information.\n"},"vmAgentPlatformUpdatesEnabled":{"type":"boolean","description":"Specifies whether VMAgent Platform Updates is enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n","deprecationMessage":"this property has been deprecated due to a breaking change introduced by the Service team, which redefined it as a read-only field within the API"},"vtpmEnabled":{"type":"boolean","description":"Specifies if vTPM (virtual Trusted Platform Module) and Trusted Launch is enabled for the Virtual Machine. Changing this forces a new resource to be created.\n"},"winrmListeners":{"type":"array","items":{"$ref":"#/types/azure:compute/WindowsVirtualMachineWinrmListener:WindowsVirtualMachineWinrmListener"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`winrmListener`\" pulumi-lang-dotnet=\"`WinrmListener`\" pulumi-lang-go=\"`winrmListener`\" pulumi-lang-python=\"`winrm_listener`\" pulumi-lang-yaml=\"`winrmListener`\" pulumi-lang-java=\"`winrmListener`\"\u003e`winrm_listener`\u003c/span\u003e blocks as defined below. Changing this forces a new resource to be created.\n"},"zone":{"type":"string","description":"* \u003cspan pulumi-lang-nodejs=\"`zones`\" pulumi-lang-dotnet=\"`Zones`\" pulumi-lang-go=\"`zones`\" pulumi-lang-python=\"`zones`\" pulumi-lang-yaml=\"`zones`\" pulumi-lang-java=\"`zones`\"\u003e`zones`\u003c/span\u003e - (Optional) Specifies the Availability Zone in which this Windows Virtual Machine should be located. Changing this forces a new Windows Virtual Machine to be created.\n"}},"required":["allowExtensionOperations","automaticUpdatesEnabled","computerName","diskControllerType","enableAutomaticUpdates","hotpatchingEnabled","location","name","networkInterfaceIds","osDisk","osManagedDiskId","patchAssessmentMode","patchMode","privateIpAddress","privateIpAddresses","provisionVmAgent","publicIpAddress","publicIpAddresses","resourceGroupName","size","terminationNotification","virtualMachineId","vmAgentPlatformUpdatesEnabled"],"inputProperties":{"additionalCapabilities":{"$ref":"#/types/azure:compute/WindowsVirtualMachineAdditionalCapabilities:WindowsVirtualMachineAdditionalCapabilities","description":"A \u003cspan pulumi-lang-nodejs=\"`additionalCapabilities`\" pulumi-lang-dotnet=\"`AdditionalCapabilities`\" pulumi-lang-go=\"`additionalCapabilities`\" pulumi-lang-python=\"`additional_capabilities`\" pulumi-lang-yaml=\"`additionalCapabilities`\" pulumi-lang-java=\"`additionalCapabilities`\"\u003e`additional_capabilities`\u003c/span\u003e block as defined below.\n"},"additionalUnattendContents":{"type":"array","items":{"$ref":"#/types/azure:compute/WindowsVirtualMachineAdditionalUnattendContent:WindowsVirtualMachineAdditionalUnattendContent"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`additionalUnattendContent`\" pulumi-lang-dotnet=\"`AdditionalUnattendContent`\" pulumi-lang-go=\"`additionalUnattendContent`\" pulumi-lang-python=\"`additional_unattend_content`\" pulumi-lang-yaml=\"`additionalUnattendContent`\" pulumi-lang-java=\"`additionalUnattendContent`\"\u003e`additional_unattend_content`\u003c/span\u003e blocks as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"adminPassword":{"type":"string","description":"The Password which should be used for the local-administrator on this Virtual Machine. Changing this forces a new resource to be created.\n\n\u003e **Note:** This is required unless using an existing OS Managed Disk by specifying \u003cspan pulumi-lang-nodejs=\"`osManagedDiskId`\" pulumi-lang-dotnet=\"`OsManagedDiskId`\" pulumi-lang-go=\"`osManagedDiskId`\" pulumi-lang-python=\"`os_managed_disk_id`\" pulumi-lang-yaml=\"`osManagedDiskId`\" pulumi-lang-java=\"`osManagedDiskId`\"\u003e`os_managed_disk_id`\u003c/span\u003e.\n","secret":true,"willReplaceOnChanges":true},"adminUsername":{"type":"string","description":"The username of the local administrator used for the Virtual Machine. Changing this forces a new resource to be created.\n\n\u003e **Note:** This is required unless using an existing OS Managed Disk by specifying \u003cspan pulumi-lang-nodejs=\"`osManagedDiskId`\" pulumi-lang-dotnet=\"`OsManagedDiskId`\" pulumi-lang-go=\"`osManagedDiskId`\" pulumi-lang-python=\"`os_managed_disk_id`\" pulumi-lang-yaml=\"`osManagedDiskId`\" pulumi-lang-java=\"`osManagedDiskId`\"\u003e`os_managed_disk_id`\u003c/span\u003e.\n","willReplaceOnChanges":true},"allowExtensionOperations":{"type":"boolean","description":"Should Extension Operations be allowed on this Virtual Machine? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"automaticUpdatesEnabled":{"type":"boolean","description":"Specifies if Automatic Updates are Enabled for the Windows Virtual Machine. Changing this forces a new resource to be created. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n","willReplaceOnChanges":true},"availabilitySetId":{"type":"string","description":"Specifies the ID of the Availability Set in which the Virtual Machine should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"bootDiagnostics":{"$ref":"#/types/azure:compute/WindowsVirtualMachineBootDiagnostics:WindowsVirtualMachineBootDiagnostics","description":"A \u003cspan pulumi-lang-nodejs=\"`bootDiagnostics`\" pulumi-lang-dotnet=\"`BootDiagnostics`\" pulumi-lang-go=\"`bootDiagnostics`\" pulumi-lang-python=\"`boot_diagnostics`\" pulumi-lang-yaml=\"`bootDiagnostics`\" pulumi-lang-java=\"`bootDiagnostics`\"\u003e`boot_diagnostics`\u003c/span\u003e block as defined below.\n"},"bypassPlatformSafetyChecksOnUserScheduleEnabled":{"type":"boolean","description":"Specifies whether to skip platform scheduled patching when a user schedule is associated with the VM. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **NOTE:** \u003cspan pulumi-lang-nodejs=\"`bypassPlatformSafetyChecksOnUserScheduleEnabled`\" pulumi-lang-dotnet=\"`BypassPlatformSafetyChecksOnUserScheduleEnabled`\" pulumi-lang-go=\"`bypassPlatformSafetyChecksOnUserScheduleEnabled`\" pulumi-lang-python=\"`bypass_platform_safety_checks_on_user_schedule_enabled`\" pulumi-lang-yaml=\"`bypassPlatformSafetyChecksOnUserScheduleEnabled`\" pulumi-lang-java=\"`bypassPlatformSafetyChecksOnUserScheduleEnabled`\"\u003e`bypass_platform_safety_checks_on_user_schedule_enabled`\u003c/span\u003e can only be set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e when \u003cspan pulumi-lang-nodejs=\"`patchMode`\" pulumi-lang-dotnet=\"`PatchMode`\" pulumi-lang-go=\"`patchMode`\" pulumi-lang-python=\"`patch_mode`\" pulumi-lang-yaml=\"`patchMode`\" pulumi-lang-java=\"`patchMode`\"\u003e`patch_mode`\u003c/span\u003e is set to `AutomaticByPlatform`.\n"},"capacityReservationGroupId":{"type":"string","description":"Specifies the ID of the Capacity Reservation Group which the Virtual Machine should be allocated to.\n\n\u003e **NOTE:** \u003cspan pulumi-lang-nodejs=\"`capacityReservationGroupId`\" pulumi-lang-dotnet=\"`CapacityReservationGroupId`\" pulumi-lang-go=\"`capacityReservationGroupId`\" pulumi-lang-python=\"`capacity_reservation_group_id`\" pulumi-lang-yaml=\"`capacityReservationGroupId`\" pulumi-lang-java=\"`capacityReservationGroupId`\"\u003e`capacity_reservation_group_id`\u003c/span\u003e cannot be used with \u003cspan pulumi-lang-nodejs=\"`availabilitySetId`\" pulumi-lang-dotnet=\"`AvailabilitySetId`\" pulumi-lang-go=\"`availabilitySetId`\" pulumi-lang-python=\"`availability_set_id`\" pulumi-lang-yaml=\"`availabilitySetId`\" pulumi-lang-java=\"`availabilitySetId`\"\u003e`availability_set_id`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`proximityPlacementGroupId`\" pulumi-lang-dotnet=\"`ProximityPlacementGroupId`\" pulumi-lang-go=\"`proximityPlacementGroupId`\" pulumi-lang-python=\"`proximity_placement_group_id`\" pulumi-lang-yaml=\"`proximityPlacementGroupId`\" pulumi-lang-java=\"`proximityPlacementGroupId`\"\u003e`proximity_placement_group_id`\u003c/span\u003e\n"},"computerName":{"type":"string","description":"Specifies the Hostname which should be used for this Virtual Machine. If unspecified this defaults to the value for the \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e field. If the value of the \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e field is not a valid \u003cspan pulumi-lang-nodejs=\"`computerName`\" pulumi-lang-dotnet=\"`ComputerName`\" pulumi-lang-go=\"`computerName`\" pulumi-lang-python=\"`computer_name`\" pulumi-lang-yaml=\"`computerName`\" pulumi-lang-java=\"`computerName`\"\u003e`computer_name`\u003c/span\u003e, then you must specify \u003cspan pulumi-lang-nodejs=\"`computerName`\" pulumi-lang-dotnet=\"`ComputerName`\" pulumi-lang-go=\"`computerName`\" pulumi-lang-python=\"`computer_name`\" pulumi-lang-yaml=\"`computerName`\" pulumi-lang-java=\"`computerName`\"\u003e`computer_name`\u003c/span\u003e. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"customData":{"type":"string","description":"The Base64-Encoded Custom Data which should be used for this Virtual Machine. Changing this forces a new resource to be created.\n","secret":true,"willReplaceOnChanges":true},"dedicatedHostGroupId":{"type":"string","description":"The ID of a Dedicated Host Group that this Windows Virtual Machine should be run within. Conflicts with \u003cspan pulumi-lang-nodejs=\"`dedicatedHostId`\" pulumi-lang-dotnet=\"`DedicatedHostId`\" pulumi-lang-go=\"`dedicatedHostId`\" pulumi-lang-python=\"`dedicated_host_id`\" pulumi-lang-yaml=\"`dedicatedHostId`\" pulumi-lang-java=\"`dedicatedHostId`\"\u003e`dedicated_host_id`\u003c/span\u003e.\n"},"dedicatedHostId":{"type":"string","description":"The ID of a Dedicated Host where this machine should be run on. Conflicts with \u003cspan pulumi-lang-nodejs=\"`dedicatedHostGroupId`\" pulumi-lang-dotnet=\"`DedicatedHostGroupId`\" pulumi-lang-go=\"`dedicatedHostGroupId`\" pulumi-lang-python=\"`dedicated_host_group_id`\" pulumi-lang-yaml=\"`dedicatedHostGroupId`\" pulumi-lang-java=\"`dedicatedHostGroupId`\"\u003e`dedicated_host_group_id`\u003c/span\u003e.\n"},"diskControllerType":{"type":"string","description":"Specifies the Disk Controller Type used for this Virtual Machine. Possible values are `SCSI` and `NVMe`.\n"},"edgeZone":{"type":"string","description":"Specifies the Edge Zone within the Azure Region where this Windows Virtual Machine should exist. Changing this forces a new Windows Virtual Machine to be created.\n","willReplaceOnChanges":true},"enableAutomaticUpdates":{"type":"boolean","deprecationMessage":"this property has been deprecated in favour of\u003cspan pulumi-lang-nodejs=\" automaticUpdatesEnabled \" pulumi-lang-dotnet=\" AutomaticUpdatesEnabled \" pulumi-lang-go=\" automaticUpdatesEnabled \" pulumi-lang-python=\" automatic_updates_enabled \" pulumi-lang-yaml=\" automaticUpdatesEnabled \" pulumi-lang-java=\" automaticUpdatesEnabled \"\u003e automatic_updates_enabled \u003c/span\u003eand will be removed in 5.0 of the provider.","willReplaceOnChanges":true},"encryptionAtHostEnabled":{"type":"boolean","description":"Should all of the disks (including the temp disk) attached to this Virtual Machine be encrypted by enabling Encryption at Host?\n"},"evictionPolicy":{"type":"string","description":"Specifies what should happen when the Virtual Machine is evicted for price reasons when using a Spot instance. Possible values are `Deallocate` and `Delete`. Changing this forces a new resource to be created.\n\n\u003e **NOTE:** This can only be configured when \u003cspan pulumi-lang-nodejs=\"`priority`\" pulumi-lang-dotnet=\"`Priority`\" pulumi-lang-go=\"`priority`\" pulumi-lang-python=\"`priority`\" pulumi-lang-yaml=\"`priority`\" pulumi-lang-java=\"`priority`\"\u003e`priority`\u003c/span\u003e is set to `Spot`.\n","willReplaceOnChanges":true},"extensionsTimeBudget":{"type":"string","description":"Specifies the duration allocated for all extensions to start. The time duration should be between 15 minutes and 120 minutes (inclusive) and should be specified in ISO 8601 format. Defaults to `PT1H30M`.\n"},"galleryApplications":{"type":"array","items":{"$ref":"#/types/azure:compute/WindowsVirtualMachineGalleryApplication:WindowsVirtualMachineGalleryApplication"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`galleryApplication`\" pulumi-lang-dotnet=\"`GalleryApplication`\" pulumi-lang-go=\"`galleryApplication`\" pulumi-lang-python=\"`gallery_application`\" pulumi-lang-yaml=\"`galleryApplication`\" pulumi-lang-java=\"`galleryApplication`\"\u003e`gallery_application`\u003c/span\u003e blocks as defined below.\n\n\u003e **Note** Gallery Application Assignments can be defined either directly on \u003cspan pulumi-lang-nodejs=\"`azure.compute.WindowsVirtualMachine`\" pulumi-lang-dotnet=\"`azure.compute.WindowsVirtualMachine`\" pulumi-lang-go=\"`compute.WindowsVirtualMachine`\" pulumi-lang-python=\"`compute.WindowsVirtualMachine`\" pulumi-lang-yaml=\"`azure.compute.WindowsVirtualMachine`\" pulumi-lang-java=\"`azure.compute.WindowsVirtualMachine`\"\u003e`azure.compute.WindowsVirtualMachine`\u003c/span\u003e resource, or using the \u003cspan pulumi-lang-nodejs=\"`azure.compute.GalleryApplicationAssignment`\" pulumi-lang-dotnet=\"`azure.compute.GalleryApplicationAssignment`\" pulumi-lang-go=\"`compute.GalleryApplicationAssignment`\" pulumi-lang-python=\"`compute.GalleryApplicationAssignment`\" pulumi-lang-yaml=\"`azure.compute.GalleryApplicationAssignment`\" pulumi-lang-java=\"`azure.compute.GalleryApplicationAssignment`\"\u003e`azure.compute.GalleryApplicationAssignment`\u003c/span\u003e resource - but the two approaches cannot be used together. If both are used with the same Virtual Machine, spurious changes will occur. If \u003cspan pulumi-lang-nodejs=\"`azure.compute.GalleryApplicationAssignment`\" pulumi-lang-dotnet=\"`azure.compute.GalleryApplicationAssignment`\" pulumi-lang-go=\"`compute.GalleryApplicationAssignment`\" pulumi-lang-python=\"`compute.GalleryApplicationAssignment`\" pulumi-lang-yaml=\"`azure.compute.GalleryApplicationAssignment`\" pulumi-lang-java=\"`azure.compute.GalleryApplicationAssignment`\"\u003e`azure.compute.GalleryApplicationAssignment`\u003c/span\u003e is used, it's recommended to use \u003cspan pulumi-lang-nodejs=\"`ignoreChanges`\" pulumi-lang-dotnet=\"`IgnoreChanges`\" pulumi-lang-go=\"`ignoreChanges`\" pulumi-lang-python=\"`ignore_changes`\" pulumi-lang-yaml=\"`ignoreChanges`\" pulumi-lang-java=\"`ignoreChanges`\"\u003e`ignore_changes`\u003c/span\u003e for the \u003cspan pulumi-lang-nodejs=\"`galleryApplication`\" pulumi-lang-dotnet=\"`GalleryApplication`\" pulumi-lang-go=\"`galleryApplication`\" pulumi-lang-python=\"`gallery_application`\" pulumi-lang-yaml=\"`galleryApplication`\" pulumi-lang-java=\"`galleryApplication`\"\u003e`gallery_application`\u003c/span\u003e block on the corresponding \u003cspan pulumi-lang-nodejs=\"`azure.compute.WindowsVirtualMachine`\" pulumi-lang-dotnet=\"`azure.compute.WindowsVirtualMachine`\" pulumi-lang-go=\"`compute.WindowsVirtualMachine`\" pulumi-lang-python=\"`compute.WindowsVirtualMachine`\" pulumi-lang-yaml=\"`azure.compute.WindowsVirtualMachine`\" pulumi-lang-java=\"`azure.compute.WindowsVirtualMachine`\"\u003e`azure.compute.WindowsVirtualMachine`\u003c/span\u003e resource, to avoid a persistent diff when using this resource.\n"},"hotpatchingEnabled":{"type":"boolean","description":"Should the VM be patched without requiring a reboot? Possible values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. For more information about hot patching please see the [product documentation](https://docs.microsoft.com/azure/automanage/automanage-hotpatch).\n\n\u003e **NOTE:** Hotpatching can only be enabled if the \u003cspan pulumi-lang-nodejs=\"`patchMode`\" pulumi-lang-dotnet=\"`PatchMode`\" pulumi-lang-go=\"`patchMode`\" pulumi-lang-python=\"`patch_mode`\" pulumi-lang-yaml=\"`patchMode`\" pulumi-lang-java=\"`patchMode`\"\u003e`patch_mode`\u003c/span\u003e is set to `AutomaticByPlatform`, the \u003cspan pulumi-lang-nodejs=\"`provisionVmAgent`\" pulumi-lang-dotnet=\"`ProvisionVmAgent`\" pulumi-lang-go=\"`provisionVmAgent`\" pulumi-lang-python=\"`provision_vm_agent`\" pulumi-lang-yaml=\"`provisionVmAgent`\" pulumi-lang-java=\"`provisionVmAgent`\"\u003e`provision_vm_agent`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, your \u003cspan pulumi-lang-nodejs=\"`sourceImageReference`\" pulumi-lang-dotnet=\"`SourceImageReference`\" pulumi-lang-go=\"`sourceImageReference`\" pulumi-lang-python=\"`source_image_reference`\" pulumi-lang-yaml=\"`sourceImageReference`\" pulumi-lang-java=\"`sourceImageReference`\"\u003e`source_image_reference`\u003c/span\u003e references a hotpatching enabled image, and the VM's \u003cspan pulumi-lang-nodejs=\"`size`\" pulumi-lang-dotnet=\"`Size`\" pulumi-lang-go=\"`size`\" pulumi-lang-python=\"`size`\" pulumi-lang-yaml=\"`size`\" pulumi-lang-java=\"`size`\"\u003e`size`\u003c/span\u003e is set to a [Azure generation 2](https://docs.microsoft.com/azure/virtual-machines/generation-2#generation-2-vm-sizes) VM. An example of how to correctly configure a Windows Virtual Machine to use the \u003cspan pulumi-lang-nodejs=\"`hotpatchingEnabled`\" pulumi-lang-dotnet=\"`HotpatchingEnabled`\" pulumi-lang-go=\"`hotpatchingEnabled`\" pulumi-lang-python=\"`hotpatching_enabled`\" pulumi-lang-yaml=\"`hotpatchingEnabled`\" pulumi-lang-java=\"`hotpatchingEnabled`\"\u003e`hotpatching_enabled`\u003c/span\u003e field can be found in the `./examples/virtual-machines/windows/hotpatching-enabled` directory within the GitHub Repository.\n"},"identity":{"$ref":"#/types/azure:compute/WindowsVirtualMachineIdentity:WindowsVirtualMachineIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"licenseType":{"type":"string","description":"Specifies the type of on-premise license (also known as [Azure Hybrid Use Benefit](https://docs.microsoft.com/windows-server/get-started/azure-hybrid-benefit)) which should be used for this Virtual Machine. Possible values are `None`, `Windows_Client` and `Windows_Server`.\n"},"location":{"type":"string","description":"The Azure location where the Windows Virtual Machine should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"maxBidPrice":{"type":"number","description":"The maximum price you're willing to pay for this Virtual Machine, in US Dollars; which must be greater than the current spot price. If this bid price falls below the current spot price the Virtual Machine will be evicted using the \u003cspan pulumi-lang-nodejs=\"`evictionPolicy`\" pulumi-lang-dotnet=\"`EvictionPolicy`\" pulumi-lang-go=\"`evictionPolicy`\" pulumi-lang-python=\"`eviction_policy`\" pulumi-lang-yaml=\"`evictionPolicy`\" pulumi-lang-java=\"`evictionPolicy`\"\u003e`eviction_policy`\u003c/span\u003e. Defaults to `-1`, which means that the Virtual Machine should not be evicted for price reasons.\n\n\u003e **NOTE:** This can only be configured when \u003cspan pulumi-lang-nodejs=\"`priority`\" pulumi-lang-dotnet=\"`Priority`\" pulumi-lang-go=\"`priority`\" pulumi-lang-python=\"`priority`\" pulumi-lang-yaml=\"`priority`\" pulumi-lang-java=\"`priority`\"\u003e`priority`\u003c/span\u003e is set to `Spot`.\n"},"name":{"type":"string","description":"The name of the Windows Virtual Machine. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"networkInterfaceIds":{"type":"array","items":{"type":"string"},"description":". A list of Network Interface IDs which should be attached to this Virtual Machine. The first Network Interface ID in this list will be the Primary Network Interface on the Virtual Machine.\n"},"osDisk":{"$ref":"#/types/azure:compute/WindowsVirtualMachineOsDisk:WindowsVirtualMachineOsDisk","description":"An \u003cspan pulumi-lang-nodejs=\"`osDisk`\" pulumi-lang-dotnet=\"`OsDisk`\" pulumi-lang-go=\"`osDisk`\" pulumi-lang-python=\"`os_disk`\" pulumi-lang-yaml=\"`osDisk`\" pulumi-lang-java=\"`osDisk`\"\u003e`os_disk`\u003c/span\u003e block as defined below.\n"},"osImageNotification":{"$ref":"#/types/azure:compute/WindowsVirtualMachineOsImageNotification:WindowsVirtualMachineOsImageNotification","description":"A \u003cspan pulumi-lang-nodejs=\"`osImageNotification`\" pulumi-lang-dotnet=\"`OsImageNotification`\" pulumi-lang-go=\"`osImageNotification`\" pulumi-lang-python=\"`os_image_notification`\" pulumi-lang-yaml=\"`osImageNotification`\" pulumi-lang-java=\"`osImageNotification`\"\u003e`os_image_notification`\u003c/span\u003e block as defined below.\n"},"osManagedDiskId":{"type":"string","description":"The ID of an existing Managed Disk to use as the OS Disk for this Windows Virtual Machine. Changing this forces a new resource to be created.\n\n\u003e **Note:** When specifying an existing Managed Disk it is not currently possible to subsequently manage the Operating System Profile properties: \u003cspan pulumi-lang-nodejs=\"`adminUsername`\" pulumi-lang-dotnet=\"`AdminUsername`\" pulumi-lang-go=\"`adminUsername`\" pulumi-lang-python=\"`admin_username`\" pulumi-lang-yaml=\"`adminUsername`\" pulumi-lang-java=\"`adminUsername`\"\u003e`admin_username`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`adminPassword`\" pulumi-lang-dotnet=\"`AdminPassword`\" pulumi-lang-go=\"`adminPassword`\" pulumi-lang-python=\"`admin_password`\" pulumi-lang-yaml=\"`adminPassword`\" pulumi-lang-java=\"`adminPassword`\"\u003e`admin_password`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`bypassPlatformSafetyChecksOnUserScheduleEnabled`\" pulumi-lang-dotnet=\"`BypassPlatformSafetyChecksOnUserScheduleEnabled`\" pulumi-lang-go=\"`bypassPlatformSafetyChecksOnUserScheduleEnabled`\" pulumi-lang-python=\"`bypass_platform_safety_checks_on_user_schedule_enabled`\" pulumi-lang-yaml=\"`bypassPlatformSafetyChecksOnUserScheduleEnabled`\" pulumi-lang-java=\"`bypassPlatformSafetyChecksOnUserScheduleEnabled`\"\u003e`bypass_platform_safety_checks_on_user_schedule_enabled`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`computerName`\" pulumi-lang-dotnet=\"`ComputerName`\" pulumi-lang-go=\"`computerName`\" pulumi-lang-python=\"`computer_name`\" pulumi-lang-yaml=\"`computerName`\" pulumi-lang-java=\"`computerName`\"\u003e`computer_name`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`customData`\" pulumi-lang-dotnet=\"`CustomData`\" pulumi-lang-go=\"`customData`\" pulumi-lang-python=\"`custom_data`\" pulumi-lang-yaml=\"`customData`\" pulumi-lang-java=\"`customData`\"\u003e`custom_data`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`provisionVmAgent`\" pulumi-lang-dotnet=\"`ProvisionVmAgent`\" pulumi-lang-go=\"`provisionVmAgent`\" pulumi-lang-python=\"`provision_vm_agent`\" pulumi-lang-yaml=\"`provisionVmAgent`\" pulumi-lang-java=\"`provisionVmAgent`\"\u003e`provision_vm_agent`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`patchMode`\" pulumi-lang-dotnet=\"`PatchMode`\" pulumi-lang-go=\"`patchMode`\" pulumi-lang-python=\"`patch_mode`\" pulumi-lang-yaml=\"`patchMode`\" pulumi-lang-java=\"`patchMode`\"\u003e`patch_mode`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`patchAssessmentMode`\" pulumi-lang-dotnet=\"`PatchAssessmentMode`\" pulumi-lang-go=\"`patchAssessmentMode`\" pulumi-lang-python=\"`patch_assessment_mode`\" pulumi-lang-yaml=\"`patchAssessmentMode`\" pulumi-lang-java=\"`patchAssessmentMode`\"\u003e`patch_assessment_mode`\u003c/span\u003e, or \u003cspan pulumi-lang-nodejs=\"`rebootSetting`\" pulumi-lang-dotnet=\"`RebootSetting`\" pulumi-lang-go=\"`rebootSetting`\" pulumi-lang-python=\"`reboot_setting`\" pulumi-lang-yaml=\"`rebootSetting`\" pulumi-lang-java=\"`rebootSetting`\"\u003e`reboot_setting`\u003c/span\u003e.\n","willReplaceOnChanges":true},"patchAssessmentMode":{"type":"string","description":"Specifies the mode of VM Guest Patching for the Virtual Machine. Possible values are `AutomaticByPlatform` or `ImageDefault`. Defaults to `ImageDefault`.\n\n\u003e **NOTE:** If the \u003cspan pulumi-lang-nodejs=\"`patchAssessmentMode`\" pulumi-lang-dotnet=\"`PatchAssessmentMode`\" pulumi-lang-go=\"`patchAssessmentMode`\" pulumi-lang-python=\"`patch_assessment_mode`\" pulumi-lang-yaml=\"`patchAssessmentMode`\" pulumi-lang-java=\"`patchAssessmentMode`\"\u003e`patch_assessment_mode`\u003c/span\u003e is set to `AutomaticByPlatform` then the \u003cspan pulumi-lang-nodejs=\"`provisionVmAgent`\" pulumi-lang-dotnet=\"`ProvisionVmAgent`\" pulumi-lang-go=\"`provisionVmAgent`\" pulumi-lang-python=\"`provision_vm_agent`\" pulumi-lang-yaml=\"`provisionVmAgent`\" pulumi-lang-java=\"`provisionVmAgent`\"\u003e`provision_vm_agent`\u003c/span\u003e field must be set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"patchMode":{"type":"string","description":"Specifies the mode of in-guest patching to this Windows Virtual Machine. Possible values are `Manual`, `AutomaticByOS` and `AutomaticByPlatform`. Defaults to `AutomaticByOS`. For more information on patch modes please see the [product documentation](https://docs.microsoft.com/azure/virtual-machines/automatic-vm-guest-patching#patch-orchestration-modes).\n\n\u003e **NOTE:** If \u003cspan pulumi-lang-nodejs=\"`patchMode`\" pulumi-lang-dotnet=\"`PatchMode`\" pulumi-lang-go=\"`patchMode`\" pulumi-lang-python=\"`patch_mode`\" pulumi-lang-yaml=\"`patchMode`\" pulumi-lang-java=\"`patchMode`\"\u003e`patch_mode`\u003c/span\u003e is set to `AutomaticByPlatform` then \u003cspan pulumi-lang-nodejs=\"`provisionVmAgent`\" pulumi-lang-dotnet=\"`ProvisionVmAgent`\" pulumi-lang-go=\"`provisionVmAgent`\" pulumi-lang-python=\"`provision_vm_agent`\" pulumi-lang-yaml=\"`provisionVmAgent`\" pulumi-lang-java=\"`provisionVmAgent`\"\u003e`provision_vm_agent`\u003c/span\u003e must also be set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e. If the Virtual Machine is using a hotpatching enabled image the \u003cspan pulumi-lang-nodejs=\"`patchMode`\" pulumi-lang-dotnet=\"`PatchMode`\" pulumi-lang-go=\"`patchMode`\" pulumi-lang-python=\"`patch_mode`\" pulumi-lang-yaml=\"`patchMode`\" pulumi-lang-java=\"`patchMode`\"\u003e`patch_mode`\u003c/span\u003e must always be set to `AutomaticByPlatform`.\n"},"plan":{"$ref":"#/types/azure:compute/WindowsVirtualMachinePlan:WindowsVirtualMachinePlan","description":"A \u003cspan pulumi-lang-nodejs=\"`plan`\" pulumi-lang-dotnet=\"`Plan`\" pulumi-lang-go=\"`plan`\" pulumi-lang-python=\"`plan`\" pulumi-lang-yaml=\"`plan`\" pulumi-lang-java=\"`plan`\"\u003e`plan`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"platformFaultDomain":{"type":"integer","description":"Specifies the Platform Fault Domain in which this Windows Virtual Machine should be created. Defaults to `-1`, which means this will be automatically assigned to a fault domain that best maintains balance across the available fault domains. Changing this forces a new Windows Virtual Machine to be created.\n","willReplaceOnChanges":true},"priority":{"type":"string","description":"Specifies the priority of this Virtual Machine. Possible values are `Regular` and `Spot`. Defaults to `Regular`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"provisionVmAgent":{"type":"boolean","description":"Should the Azure VM Agent be provisioned on this Virtual Machine? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e. Changing this forces a new resource to be created.\n\n\u003e **NOTE:** If \u003cspan pulumi-lang-nodejs=\"`provisionVmAgent`\" pulumi-lang-dotnet=\"`ProvisionVmAgent`\" pulumi-lang-go=\"`provisionVmAgent`\" pulumi-lang-python=\"`provision_vm_agent`\" pulumi-lang-yaml=\"`provisionVmAgent`\" pulumi-lang-java=\"`provisionVmAgent`\"\u003e`provision_vm_agent`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e then \u003cspan pulumi-lang-nodejs=\"`allowExtensionOperations`\" pulumi-lang-dotnet=\"`AllowExtensionOperations`\" pulumi-lang-go=\"`allowExtensionOperations`\" pulumi-lang-python=\"`allow_extension_operations`\" pulumi-lang-yaml=\"`allowExtensionOperations`\" pulumi-lang-java=\"`allowExtensionOperations`\"\u003e`allow_extension_operations`\u003c/span\u003e must also be set to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n","willReplaceOnChanges":true},"proximityPlacementGroupId":{"type":"string","description":"The ID of the Proximity Placement Group which the Virtual Machine should be assigned to.\n"},"rebootSetting":{"type":"string","description":"Specifies the reboot setting for platform scheduled patching. Possible values are `Always`, `IfRequired` and `Never`.\n\n\u003e **NOTE:** \u003cspan pulumi-lang-nodejs=\"`rebootSetting`\" pulumi-lang-dotnet=\"`RebootSetting`\" pulumi-lang-go=\"`rebootSetting`\" pulumi-lang-python=\"`reboot_setting`\" pulumi-lang-yaml=\"`rebootSetting`\" pulumi-lang-java=\"`rebootSetting`\"\u003e`reboot_setting`\u003c/span\u003e can only be set when \u003cspan pulumi-lang-nodejs=\"`patchMode`\" pulumi-lang-dotnet=\"`PatchMode`\" pulumi-lang-go=\"`patchMode`\" pulumi-lang-python=\"`patch_mode`\" pulumi-lang-yaml=\"`patchMode`\" pulumi-lang-java=\"`patchMode`\"\u003e`patch_mode`\u003c/span\u003e is set to `AutomaticByPlatform`.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group in which the Windows Virtual Machine should be exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"secrets":{"type":"array","items":{"$ref":"#/types/azure:compute/WindowsVirtualMachineSecret:WindowsVirtualMachineSecret"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`secret`\" pulumi-lang-dotnet=\"`Secret`\" pulumi-lang-go=\"`secret`\" pulumi-lang-python=\"`secret`\" pulumi-lang-yaml=\"`secret`\" pulumi-lang-java=\"`secret`\"\u003e`secret`\u003c/span\u003e blocks as defined below.\n"},"secureBootEnabled":{"type":"boolean","description":"Specifies if Secure Boot and Trusted Launch is enabled for the Virtual Machine. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"size":{"type":"string","description":"The SKU which should be used for this Virtual Machine, such as `Standard_F2`.\n"},"sourceImageId":{"type":"string","description":"The ID of the Image which this Virtual Machine should be created from. Changing this forces a new resource to be created. Possible Image ID types include `Image ID`s, `Shared Image ID`s, `Shared Image Version ID`s, `Community Gallery Image ID`s, `Community Gallery Image Version ID`s, `Shared Gallery Image ID`s and `Shared Gallery Image Version ID`s.\n\n\u003e **NOTE:** One of either \u003cspan pulumi-lang-nodejs=\"`sourceImageId`\" pulumi-lang-dotnet=\"`SourceImageId`\" pulumi-lang-go=\"`sourceImageId`\" pulumi-lang-python=\"`source_image_id`\" pulumi-lang-yaml=\"`sourceImageId`\" pulumi-lang-java=\"`sourceImageId`\"\u003e`source_image_id`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`sourceImageReference`\" pulumi-lang-dotnet=\"`SourceImageReference`\" pulumi-lang-go=\"`sourceImageReference`\" pulumi-lang-python=\"`source_image_reference`\" pulumi-lang-yaml=\"`sourceImageReference`\" pulumi-lang-java=\"`sourceImageReference`\"\u003e`source_image_reference`\u003c/span\u003e must be set.\n","willReplaceOnChanges":true},"sourceImageReference":{"$ref":"#/types/azure:compute/WindowsVirtualMachineSourceImageReference:WindowsVirtualMachineSourceImageReference","description":"A \u003cspan pulumi-lang-nodejs=\"`sourceImageReference`\" pulumi-lang-dotnet=\"`SourceImageReference`\" pulumi-lang-go=\"`sourceImageReference`\" pulumi-lang-python=\"`source_image_reference`\" pulumi-lang-yaml=\"`sourceImageReference`\" pulumi-lang-java=\"`sourceImageReference`\"\u003e`source_image_reference`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n\n\u003e **NOTE:** One of either \u003cspan pulumi-lang-nodejs=\"`sourceImageId`\" pulumi-lang-dotnet=\"`SourceImageId`\" pulumi-lang-go=\"`sourceImageId`\" pulumi-lang-python=\"`source_image_id`\" pulumi-lang-yaml=\"`sourceImageId`\" pulumi-lang-java=\"`sourceImageId`\"\u003e`source_image_id`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`sourceImageReference`\" pulumi-lang-dotnet=\"`SourceImageReference`\" pulumi-lang-go=\"`sourceImageReference`\" pulumi-lang-python=\"`source_image_reference`\" pulumi-lang-yaml=\"`sourceImageReference`\" pulumi-lang-java=\"`sourceImageReference`\"\u003e`source_image_reference`\u003c/span\u003e must be set.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to this Virtual Machine.\n"},"terminationNotification":{"$ref":"#/types/azure:compute/WindowsVirtualMachineTerminationNotification:WindowsVirtualMachineTerminationNotification","description":"A \u003cspan pulumi-lang-nodejs=\"`terminationNotification`\" pulumi-lang-dotnet=\"`TerminationNotification`\" pulumi-lang-go=\"`terminationNotification`\" pulumi-lang-python=\"`termination_notification`\" pulumi-lang-yaml=\"`terminationNotification`\" pulumi-lang-java=\"`terminationNotification`\"\u003e`termination_notification`\u003c/span\u003e block as defined below.\n"},"timezone":{"type":"string","description":"Specifies the Time Zone which should be used by the Virtual Machine, [the possible values are defined here](https://jackstromberg.com/2017/01/list-of-time-zones-consumed-by-azure/). Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"userData":{"type":"string","description":"The Base64-Encoded User Data which should be used for this Virtual Machine.\n"},"virtualMachineScaleSetId":{"type":"string","description":"Specifies the Orchestrated Virtual Machine Scale Set that this Virtual Machine should be created within.\n\n\u003e **NOTE:** To update \u003cspan pulumi-lang-nodejs=\"`virtualMachineScaleSetId`\" pulumi-lang-dotnet=\"`VirtualMachineScaleSetId`\" pulumi-lang-go=\"`virtualMachineScaleSetId`\" pulumi-lang-python=\"`virtual_machine_scale_set_id`\" pulumi-lang-yaml=\"`virtualMachineScaleSetId`\" pulumi-lang-java=\"`virtualMachineScaleSetId`\"\u003e`virtual_machine_scale_set_id`\u003c/span\u003e the Preview Feature `Microsoft.Compute/SingleFDAttachDetachVMToVmss` needs to be enabled, see [the documentation](https://review.learn.microsoft.com/azure/virtual-machine-scale-sets/virtual-machine-scale-sets-attach-detach-vm#enroll-in-the-preview) for more information.\n\n\u003e **NOTE:** Orchestrated Virtual Machine Scale Sets can be provisioned using [the \u003cspan pulumi-lang-nodejs=\"`azure.compute.OrchestratedVirtualMachineScaleSet`\" pulumi-lang-dotnet=\"`azure.compute.OrchestratedVirtualMachineScaleSet`\" pulumi-lang-go=\"`compute.OrchestratedVirtualMachineScaleSet`\" pulumi-lang-python=\"`compute.OrchestratedVirtualMachineScaleSet`\" pulumi-lang-yaml=\"`azure.compute.OrchestratedVirtualMachineScaleSet`\" pulumi-lang-java=\"`azure.compute.OrchestratedVirtualMachineScaleSet`\"\u003e`azure.compute.OrchestratedVirtualMachineScaleSet`\u003c/span\u003e resource](https://www.terraform.io/docs/providers/azurerm/r/orchestrated_virtual_machine_scale_set.html).\n\n\u003e **NOTE:** To attach an existing VM to a Virtual Machine Scale Set, the scale set must have \u003cspan pulumi-lang-nodejs=\"`singlePlacementGroup`\" pulumi-lang-dotnet=\"`SinglePlacementGroup`\" pulumi-lang-go=\"`singlePlacementGroup`\" pulumi-lang-python=\"`single_placement_group`\" pulumi-lang-yaml=\"`singlePlacementGroup`\" pulumi-lang-java=\"`singlePlacementGroup`\"\u003e`single_placement_group`\u003c/span\u003e set to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e, see [the documentation](https://learn.microsoft.com/azure/virtual-machine-scale-sets/virtual-machine-scale-sets-attach-detach-vm?tabs=portal-1%2Cportal-2%2Cportal-3#limitations-for-attaching-an-existing-vm-to-a-scale-set) for more information.\n"},"vmAgentPlatformUpdatesEnabled":{"type":"boolean","description":"Specifies whether VMAgent Platform Updates is enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n","deprecationMessage":"this property has been deprecated due to a breaking change introduced by the Service team, which redefined it as a read-only field within the API"},"vtpmEnabled":{"type":"boolean","description":"Specifies if vTPM (virtual Trusted Platform Module) and Trusted Launch is enabled for the Virtual Machine. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"winrmListeners":{"type":"array","items":{"$ref":"#/types/azure:compute/WindowsVirtualMachineWinrmListener:WindowsVirtualMachineWinrmListener"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`winrmListener`\" pulumi-lang-dotnet=\"`WinrmListener`\" pulumi-lang-go=\"`winrmListener`\" pulumi-lang-python=\"`winrm_listener`\" pulumi-lang-yaml=\"`winrmListener`\" pulumi-lang-java=\"`winrmListener`\"\u003e`winrm_listener`\u003c/span\u003e blocks as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"zone":{"type":"string","description":"* \u003cspan pulumi-lang-nodejs=\"`zones`\" pulumi-lang-dotnet=\"`Zones`\" pulumi-lang-go=\"`zones`\" pulumi-lang-python=\"`zones`\" pulumi-lang-yaml=\"`zones`\" pulumi-lang-java=\"`zones`\"\u003e`zones`\u003c/span\u003e - (Optional) Specifies the Availability Zone in which this Windows Virtual Machine should be located. Changing this forces a new Windows Virtual Machine to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["networkInterfaceIds","osDisk","resourceGroupName","size"],"stateInputs":{"description":"Input properties used for looking up and filtering WindowsVirtualMachine resources.\n","properties":{"additionalCapabilities":{"$ref":"#/types/azure:compute/WindowsVirtualMachineAdditionalCapabilities:WindowsVirtualMachineAdditionalCapabilities","description":"A \u003cspan pulumi-lang-nodejs=\"`additionalCapabilities`\" pulumi-lang-dotnet=\"`AdditionalCapabilities`\" pulumi-lang-go=\"`additionalCapabilities`\" pulumi-lang-python=\"`additional_capabilities`\" pulumi-lang-yaml=\"`additionalCapabilities`\" pulumi-lang-java=\"`additionalCapabilities`\"\u003e`additional_capabilities`\u003c/span\u003e block as defined below.\n"},"additionalUnattendContents":{"type":"array","items":{"$ref":"#/types/azure:compute/WindowsVirtualMachineAdditionalUnattendContent:WindowsVirtualMachineAdditionalUnattendContent"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`additionalUnattendContent`\" pulumi-lang-dotnet=\"`AdditionalUnattendContent`\" pulumi-lang-go=\"`additionalUnattendContent`\" pulumi-lang-python=\"`additional_unattend_content`\" pulumi-lang-yaml=\"`additionalUnattendContent`\" pulumi-lang-java=\"`additionalUnattendContent`\"\u003e`additional_unattend_content`\u003c/span\u003e blocks as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"adminPassword":{"type":"string","description":"The Password which should be used for the local-administrator on this Virtual Machine. Changing this forces a new resource to be created.\n\n\u003e **Note:** This is required unless using an existing OS Managed Disk by specifying \u003cspan pulumi-lang-nodejs=\"`osManagedDiskId`\" pulumi-lang-dotnet=\"`OsManagedDiskId`\" pulumi-lang-go=\"`osManagedDiskId`\" pulumi-lang-python=\"`os_managed_disk_id`\" pulumi-lang-yaml=\"`osManagedDiskId`\" pulumi-lang-java=\"`osManagedDiskId`\"\u003e`os_managed_disk_id`\u003c/span\u003e.\n","secret":true,"willReplaceOnChanges":true},"adminUsername":{"type":"string","description":"The username of the local administrator used for the Virtual Machine. Changing this forces a new resource to be created.\n\n\u003e **Note:** This is required unless using an existing OS Managed Disk by specifying \u003cspan pulumi-lang-nodejs=\"`osManagedDiskId`\" pulumi-lang-dotnet=\"`OsManagedDiskId`\" pulumi-lang-go=\"`osManagedDiskId`\" pulumi-lang-python=\"`os_managed_disk_id`\" pulumi-lang-yaml=\"`osManagedDiskId`\" pulumi-lang-java=\"`osManagedDiskId`\"\u003e`os_managed_disk_id`\u003c/span\u003e.\n","willReplaceOnChanges":true},"allowExtensionOperations":{"type":"boolean","description":"Should Extension Operations be allowed on this Virtual Machine? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"automaticUpdatesEnabled":{"type":"boolean","description":"Specifies if Automatic Updates are Enabled for the Windows Virtual Machine. Changing this forces a new resource to be created. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n","willReplaceOnChanges":true},"availabilitySetId":{"type":"string","description":"Specifies the ID of the Availability Set in which the Virtual Machine should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"bootDiagnostics":{"$ref":"#/types/azure:compute/WindowsVirtualMachineBootDiagnostics:WindowsVirtualMachineBootDiagnostics","description":"A \u003cspan pulumi-lang-nodejs=\"`bootDiagnostics`\" pulumi-lang-dotnet=\"`BootDiagnostics`\" pulumi-lang-go=\"`bootDiagnostics`\" pulumi-lang-python=\"`boot_diagnostics`\" pulumi-lang-yaml=\"`bootDiagnostics`\" pulumi-lang-java=\"`bootDiagnostics`\"\u003e`boot_diagnostics`\u003c/span\u003e block as defined below.\n"},"bypassPlatformSafetyChecksOnUserScheduleEnabled":{"type":"boolean","description":"Specifies whether to skip platform scheduled patching when a user schedule is associated with the VM. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **NOTE:** \u003cspan pulumi-lang-nodejs=\"`bypassPlatformSafetyChecksOnUserScheduleEnabled`\" pulumi-lang-dotnet=\"`BypassPlatformSafetyChecksOnUserScheduleEnabled`\" pulumi-lang-go=\"`bypassPlatformSafetyChecksOnUserScheduleEnabled`\" pulumi-lang-python=\"`bypass_platform_safety_checks_on_user_schedule_enabled`\" pulumi-lang-yaml=\"`bypassPlatformSafetyChecksOnUserScheduleEnabled`\" pulumi-lang-java=\"`bypassPlatformSafetyChecksOnUserScheduleEnabled`\"\u003e`bypass_platform_safety_checks_on_user_schedule_enabled`\u003c/span\u003e can only be set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e when \u003cspan pulumi-lang-nodejs=\"`patchMode`\" pulumi-lang-dotnet=\"`PatchMode`\" pulumi-lang-go=\"`patchMode`\" pulumi-lang-python=\"`patch_mode`\" pulumi-lang-yaml=\"`patchMode`\" pulumi-lang-java=\"`patchMode`\"\u003e`patch_mode`\u003c/span\u003e is set to `AutomaticByPlatform`.\n"},"capacityReservationGroupId":{"type":"string","description":"Specifies the ID of the Capacity Reservation Group which the Virtual Machine should be allocated to.\n\n\u003e **NOTE:** \u003cspan pulumi-lang-nodejs=\"`capacityReservationGroupId`\" pulumi-lang-dotnet=\"`CapacityReservationGroupId`\" pulumi-lang-go=\"`capacityReservationGroupId`\" pulumi-lang-python=\"`capacity_reservation_group_id`\" pulumi-lang-yaml=\"`capacityReservationGroupId`\" pulumi-lang-java=\"`capacityReservationGroupId`\"\u003e`capacity_reservation_group_id`\u003c/span\u003e cannot be used with \u003cspan pulumi-lang-nodejs=\"`availabilitySetId`\" pulumi-lang-dotnet=\"`AvailabilitySetId`\" pulumi-lang-go=\"`availabilitySetId`\" pulumi-lang-python=\"`availability_set_id`\" pulumi-lang-yaml=\"`availabilitySetId`\" pulumi-lang-java=\"`availabilitySetId`\"\u003e`availability_set_id`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`proximityPlacementGroupId`\" pulumi-lang-dotnet=\"`ProximityPlacementGroupId`\" pulumi-lang-go=\"`proximityPlacementGroupId`\" pulumi-lang-python=\"`proximity_placement_group_id`\" pulumi-lang-yaml=\"`proximityPlacementGroupId`\" pulumi-lang-java=\"`proximityPlacementGroupId`\"\u003e`proximity_placement_group_id`\u003c/span\u003e\n"},"computerName":{"type":"string","description":"Specifies the Hostname which should be used for this Virtual Machine. If unspecified this defaults to the value for the \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e field. If the value of the \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e field is not a valid \u003cspan pulumi-lang-nodejs=\"`computerName`\" pulumi-lang-dotnet=\"`ComputerName`\" pulumi-lang-go=\"`computerName`\" pulumi-lang-python=\"`computer_name`\" pulumi-lang-yaml=\"`computerName`\" pulumi-lang-java=\"`computerName`\"\u003e`computer_name`\u003c/span\u003e, then you must specify \u003cspan pulumi-lang-nodejs=\"`computerName`\" pulumi-lang-dotnet=\"`ComputerName`\" pulumi-lang-go=\"`computerName`\" pulumi-lang-python=\"`computer_name`\" pulumi-lang-yaml=\"`computerName`\" pulumi-lang-java=\"`computerName`\"\u003e`computer_name`\u003c/span\u003e. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"customData":{"type":"string","description":"The Base64-Encoded Custom Data which should be used for this Virtual Machine. Changing this forces a new resource to be created.\n","secret":true,"willReplaceOnChanges":true},"dedicatedHostGroupId":{"type":"string","description":"The ID of a Dedicated Host Group that this Windows Virtual Machine should be run within. Conflicts with \u003cspan pulumi-lang-nodejs=\"`dedicatedHostId`\" pulumi-lang-dotnet=\"`DedicatedHostId`\" pulumi-lang-go=\"`dedicatedHostId`\" pulumi-lang-python=\"`dedicated_host_id`\" pulumi-lang-yaml=\"`dedicatedHostId`\" pulumi-lang-java=\"`dedicatedHostId`\"\u003e`dedicated_host_id`\u003c/span\u003e.\n"},"dedicatedHostId":{"type":"string","description":"The ID of a Dedicated Host where this machine should be run on. Conflicts with \u003cspan pulumi-lang-nodejs=\"`dedicatedHostGroupId`\" pulumi-lang-dotnet=\"`DedicatedHostGroupId`\" pulumi-lang-go=\"`dedicatedHostGroupId`\" pulumi-lang-python=\"`dedicated_host_group_id`\" pulumi-lang-yaml=\"`dedicatedHostGroupId`\" pulumi-lang-java=\"`dedicatedHostGroupId`\"\u003e`dedicated_host_group_id`\u003c/span\u003e.\n"},"diskControllerType":{"type":"string","description":"Specifies the Disk Controller Type used for this Virtual Machine. Possible values are `SCSI` and `NVMe`.\n"},"edgeZone":{"type":"string","description":"Specifies the Edge Zone within the Azure Region where this Windows Virtual Machine should exist. Changing this forces a new Windows Virtual Machine to be created.\n","willReplaceOnChanges":true},"enableAutomaticUpdates":{"type":"boolean","deprecationMessage":"this property has been deprecated in favour of\u003cspan pulumi-lang-nodejs=\" automaticUpdatesEnabled \" pulumi-lang-dotnet=\" AutomaticUpdatesEnabled \" pulumi-lang-go=\" automaticUpdatesEnabled \" pulumi-lang-python=\" automatic_updates_enabled \" pulumi-lang-yaml=\" automaticUpdatesEnabled \" pulumi-lang-java=\" automaticUpdatesEnabled \"\u003e automatic_updates_enabled \u003c/span\u003eand will be removed in 5.0 of the provider.","willReplaceOnChanges":true},"encryptionAtHostEnabled":{"type":"boolean","description":"Should all of the disks (including the temp disk) attached to this Virtual Machine be encrypted by enabling Encryption at Host?\n"},"evictionPolicy":{"type":"string","description":"Specifies what should happen when the Virtual Machine is evicted for price reasons when using a Spot instance. Possible values are `Deallocate` and `Delete`. Changing this forces a new resource to be created.\n\n\u003e **NOTE:** This can only be configured when \u003cspan pulumi-lang-nodejs=\"`priority`\" pulumi-lang-dotnet=\"`Priority`\" pulumi-lang-go=\"`priority`\" pulumi-lang-python=\"`priority`\" pulumi-lang-yaml=\"`priority`\" pulumi-lang-java=\"`priority`\"\u003e`priority`\u003c/span\u003e is set to `Spot`.\n","willReplaceOnChanges":true},"extensionsTimeBudget":{"type":"string","description":"Specifies the duration allocated for all extensions to start. The time duration should be between 15 minutes and 120 minutes (inclusive) and should be specified in ISO 8601 format. Defaults to `PT1H30M`.\n"},"galleryApplications":{"type":"array","items":{"$ref":"#/types/azure:compute/WindowsVirtualMachineGalleryApplication:WindowsVirtualMachineGalleryApplication"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`galleryApplication`\" pulumi-lang-dotnet=\"`GalleryApplication`\" pulumi-lang-go=\"`galleryApplication`\" pulumi-lang-python=\"`gallery_application`\" pulumi-lang-yaml=\"`galleryApplication`\" pulumi-lang-java=\"`galleryApplication`\"\u003e`gallery_application`\u003c/span\u003e blocks as defined below.\n\n\u003e **Note** Gallery Application Assignments can be defined either directly on \u003cspan pulumi-lang-nodejs=\"`azure.compute.WindowsVirtualMachine`\" pulumi-lang-dotnet=\"`azure.compute.WindowsVirtualMachine`\" pulumi-lang-go=\"`compute.WindowsVirtualMachine`\" pulumi-lang-python=\"`compute.WindowsVirtualMachine`\" pulumi-lang-yaml=\"`azure.compute.WindowsVirtualMachine`\" pulumi-lang-java=\"`azure.compute.WindowsVirtualMachine`\"\u003e`azure.compute.WindowsVirtualMachine`\u003c/span\u003e resource, or using the \u003cspan pulumi-lang-nodejs=\"`azure.compute.GalleryApplicationAssignment`\" pulumi-lang-dotnet=\"`azure.compute.GalleryApplicationAssignment`\" pulumi-lang-go=\"`compute.GalleryApplicationAssignment`\" pulumi-lang-python=\"`compute.GalleryApplicationAssignment`\" pulumi-lang-yaml=\"`azure.compute.GalleryApplicationAssignment`\" pulumi-lang-java=\"`azure.compute.GalleryApplicationAssignment`\"\u003e`azure.compute.GalleryApplicationAssignment`\u003c/span\u003e resource - but the two approaches cannot be used together. If both are used with the same Virtual Machine, spurious changes will occur. If \u003cspan pulumi-lang-nodejs=\"`azure.compute.GalleryApplicationAssignment`\" pulumi-lang-dotnet=\"`azure.compute.GalleryApplicationAssignment`\" pulumi-lang-go=\"`compute.GalleryApplicationAssignment`\" pulumi-lang-python=\"`compute.GalleryApplicationAssignment`\" pulumi-lang-yaml=\"`azure.compute.GalleryApplicationAssignment`\" pulumi-lang-java=\"`azure.compute.GalleryApplicationAssignment`\"\u003e`azure.compute.GalleryApplicationAssignment`\u003c/span\u003e is used, it's recommended to use \u003cspan pulumi-lang-nodejs=\"`ignoreChanges`\" pulumi-lang-dotnet=\"`IgnoreChanges`\" pulumi-lang-go=\"`ignoreChanges`\" pulumi-lang-python=\"`ignore_changes`\" pulumi-lang-yaml=\"`ignoreChanges`\" pulumi-lang-java=\"`ignoreChanges`\"\u003e`ignore_changes`\u003c/span\u003e for the \u003cspan pulumi-lang-nodejs=\"`galleryApplication`\" pulumi-lang-dotnet=\"`GalleryApplication`\" pulumi-lang-go=\"`galleryApplication`\" pulumi-lang-python=\"`gallery_application`\" pulumi-lang-yaml=\"`galleryApplication`\" pulumi-lang-java=\"`galleryApplication`\"\u003e`gallery_application`\u003c/span\u003e block on the corresponding \u003cspan pulumi-lang-nodejs=\"`azure.compute.WindowsVirtualMachine`\" pulumi-lang-dotnet=\"`azure.compute.WindowsVirtualMachine`\" pulumi-lang-go=\"`compute.WindowsVirtualMachine`\" pulumi-lang-python=\"`compute.WindowsVirtualMachine`\" pulumi-lang-yaml=\"`azure.compute.WindowsVirtualMachine`\" pulumi-lang-java=\"`azure.compute.WindowsVirtualMachine`\"\u003e`azure.compute.WindowsVirtualMachine`\u003c/span\u003e resource, to avoid a persistent diff when using this resource.\n"},"hotpatchingEnabled":{"type":"boolean","description":"Should the VM be patched without requiring a reboot? Possible values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. For more information about hot patching please see the [product documentation](https://docs.microsoft.com/azure/automanage/automanage-hotpatch).\n\n\u003e **NOTE:** Hotpatching can only be enabled if the \u003cspan pulumi-lang-nodejs=\"`patchMode`\" pulumi-lang-dotnet=\"`PatchMode`\" pulumi-lang-go=\"`patchMode`\" pulumi-lang-python=\"`patch_mode`\" pulumi-lang-yaml=\"`patchMode`\" pulumi-lang-java=\"`patchMode`\"\u003e`patch_mode`\u003c/span\u003e is set to `AutomaticByPlatform`, the \u003cspan pulumi-lang-nodejs=\"`provisionVmAgent`\" pulumi-lang-dotnet=\"`ProvisionVmAgent`\" pulumi-lang-go=\"`provisionVmAgent`\" pulumi-lang-python=\"`provision_vm_agent`\" pulumi-lang-yaml=\"`provisionVmAgent`\" pulumi-lang-java=\"`provisionVmAgent`\"\u003e`provision_vm_agent`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, your \u003cspan pulumi-lang-nodejs=\"`sourceImageReference`\" pulumi-lang-dotnet=\"`SourceImageReference`\" pulumi-lang-go=\"`sourceImageReference`\" pulumi-lang-python=\"`source_image_reference`\" pulumi-lang-yaml=\"`sourceImageReference`\" pulumi-lang-java=\"`sourceImageReference`\"\u003e`source_image_reference`\u003c/span\u003e references a hotpatching enabled image, and the VM's \u003cspan pulumi-lang-nodejs=\"`size`\" pulumi-lang-dotnet=\"`Size`\" pulumi-lang-go=\"`size`\" pulumi-lang-python=\"`size`\" pulumi-lang-yaml=\"`size`\" pulumi-lang-java=\"`size`\"\u003e`size`\u003c/span\u003e is set to a [Azure generation 2](https://docs.microsoft.com/azure/virtual-machines/generation-2#generation-2-vm-sizes) VM. An example of how to correctly configure a Windows Virtual Machine to use the \u003cspan pulumi-lang-nodejs=\"`hotpatchingEnabled`\" pulumi-lang-dotnet=\"`HotpatchingEnabled`\" pulumi-lang-go=\"`hotpatchingEnabled`\" pulumi-lang-python=\"`hotpatching_enabled`\" pulumi-lang-yaml=\"`hotpatchingEnabled`\" pulumi-lang-java=\"`hotpatchingEnabled`\"\u003e`hotpatching_enabled`\u003c/span\u003e field can be found in the `./examples/virtual-machines/windows/hotpatching-enabled` directory within the GitHub Repository.\n"},"identity":{"$ref":"#/types/azure:compute/WindowsVirtualMachineIdentity:WindowsVirtualMachineIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"licenseType":{"type":"string","description":"Specifies the type of on-premise license (also known as [Azure Hybrid Use Benefit](https://docs.microsoft.com/windows-server/get-started/azure-hybrid-benefit)) which should be used for this Virtual Machine. Possible values are `None`, `Windows_Client` and `Windows_Server`.\n"},"location":{"type":"string","description":"The Azure location where the Windows Virtual Machine should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"maxBidPrice":{"type":"number","description":"The maximum price you're willing to pay for this Virtual Machine, in US Dollars; which must be greater than the current spot price. If this bid price falls below the current spot price the Virtual Machine will be evicted using the \u003cspan pulumi-lang-nodejs=\"`evictionPolicy`\" pulumi-lang-dotnet=\"`EvictionPolicy`\" pulumi-lang-go=\"`evictionPolicy`\" pulumi-lang-python=\"`eviction_policy`\" pulumi-lang-yaml=\"`evictionPolicy`\" pulumi-lang-java=\"`evictionPolicy`\"\u003e`eviction_policy`\u003c/span\u003e. Defaults to `-1`, which means that the Virtual Machine should not be evicted for price reasons.\n\n\u003e **NOTE:** This can only be configured when \u003cspan pulumi-lang-nodejs=\"`priority`\" pulumi-lang-dotnet=\"`Priority`\" pulumi-lang-go=\"`priority`\" pulumi-lang-python=\"`priority`\" pulumi-lang-yaml=\"`priority`\" pulumi-lang-java=\"`priority`\"\u003e`priority`\u003c/span\u003e is set to `Spot`.\n"},"name":{"type":"string","description":"The name of the Windows Virtual Machine. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"networkInterfaceIds":{"type":"array","items":{"type":"string"},"description":". A list of Network Interface IDs which should be attached to this Virtual Machine. The first Network Interface ID in this list will be the Primary Network Interface on the Virtual Machine.\n"},"osDisk":{"$ref":"#/types/azure:compute/WindowsVirtualMachineOsDisk:WindowsVirtualMachineOsDisk","description":"An \u003cspan pulumi-lang-nodejs=\"`osDisk`\" pulumi-lang-dotnet=\"`OsDisk`\" pulumi-lang-go=\"`osDisk`\" pulumi-lang-python=\"`os_disk`\" pulumi-lang-yaml=\"`osDisk`\" pulumi-lang-java=\"`osDisk`\"\u003e`os_disk`\u003c/span\u003e block as defined below.\n"},"osImageNotification":{"$ref":"#/types/azure:compute/WindowsVirtualMachineOsImageNotification:WindowsVirtualMachineOsImageNotification","description":"A \u003cspan pulumi-lang-nodejs=\"`osImageNotification`\" pulumi-lang-dotnet=\"`OsImageNotification`\" pulumi-lang-go=\"`osImageNotification`\" pulumi-lang-python=\"`os_image_notification`\" pulumi-lang-yaml=\"`osImageNotification`\" pulumi-lang-java=\"`osImageNotification`\"\u003e`os_image_notification`\u003c/span\u003e block as defined below.\n"},"osManagedDiskId":{"type":"string","description":"The ID of an existing Managed Disk to use as the OS Disk for this Windows Virtual Machine. Changing this forces a new resource to be created.\n\n\u003e **Note:** When specifying an existing Managed Disk it is not currently possible to subsequently manage the Operating System Profile properties: \u003cspan pulumi-lang-nodejs=\"`adminUsername`\" pulumi-lang-dotnet=\"`AdminUsername`\" pulumi-lang-go=\"`adminUsername`\" pulumi-lang-python=\"`admin_username`\" pulumi-lang-yaml=\"`adminUsername`\" pulumi-lang-java=\"`adminUsername`\"\u003e`admin_username`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`adminPassword`\" pulumi-lang-dotnet=\"`AdminPassword`\" pulumi-lang-go=\"`adminPassword`\" pulumi-lang-python=\"`admin_password`\" pulumi-lang-yaml=\"`adminPassword`\" pulumi-lang-java=\"`adminPassword`\"\u003e`admin_password`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`bypassPlatformSafetyChecksOnUserScheduleEnabled`\" pulumi-lang-dotnet=\"`BypassPlatformSafetyChecksOnUserScheduleEnabled`\" pulumi-lang-go=\"`bypassPlatformSafetyChecksOnUserScheduleEnabled`\" pulumi-lang-python=\"`bypass_platform_safety_checks_on_user_schedule_enabled`\" pulumi-lang-yaml=\"`bypassPlatformSafetyChecksOnUserScheduleEnabled`\" pulumi-lang-java=\"`bypassPlatformSafetyChecksOnUserScheduleEnabled`\"\u003e`bypass_platform_safety_checks_on_user_schedule_enabled`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`computerName`\" pulumi-lang-dotnet=\"`ComputerName`\" pulumi-lang-go=\"`computerName`\" pulumi-lang-python=\"`computer_name`\" pulumi-lang-yaml=\"`computerName`\" pulumi-lang-java=\"`computerName`\"\u003e`computer_name`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`customData`\" pulumi-lang-dotnet=\"`CustomData`\" pulumi-lang-go=\"`customData`\" pulumi-lang-python=\"`custom_data`\" pulumi-lang-yaml=\"`customData`\" pulumi-lang-java=\"`customData`\"\u003e`custom_data`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`provisionVmAgent`\" pulumi-lang-dotnet=\"`ProvisionVmAgent`\" pulumi-lang-go=\"`provisionVmAgent`\" pulumi-lang-python=\"`provision_vm_agent`\" pulumi-lang-yaml=\"`provisionVmAgent`\" pulumi-lang-java=\"`provisionVmAgent`\"\u003e`provision_vm_agent`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`patchMode`\" pulumi-lang-dotnet=\"`PatchMode`\" pulumi-lang-go=\"`patchMode`\" pulumi-lang-python=\"`patch_mode`\" pulumi-lang-yaml=\"`patchMode`\" pulumi-lang-java=\"`patchMode`\"\u003e`patch_mode`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`patchAssessmentMode`\" pulumi-lang-dotnet=\"`PatchAssessmentMode`\" pulumi-lang-go=\"`patchAssessmentMode`\" pulumi-lang-python=\"`patch_assessment_mode`\" pulumi-lang-yaml=\"`patchAssessmentMode`\" pulumi-lang-java=\"`patchAssessmentMode`\"\u003e`patch_assessment_mode`\u003c/span\u003e, or \u003cspan pulumi-lang-nodejs=\"`rebootSetting`\" pulumi-lang-dotnet=\"`RebootSetting`\" pulumi-lang-go=\"`rebootSetting`\" pulumi-lang-python=\"`reboot_setting`\" pulumi-lang-yaml=\"`rebootSetting`\" pulumi-lang-java=\"`rebootSetting`\"\u003e`reboot_setting`\u003c/span\u003e.\n","willReplaceOnChanges":true},"patchAssessmentMode":{"type":"string","description":"Specifies the mode of VM Guest Patching for the Virtual Machine. Possible values are `AutomaticByPlatform` or `ImageDefault`. Defaults to `ImageDefault`.\n\n\u003e **NOTE:** If the \u003cspan pulumi-lang-nodejs=\"`patchAssessmentMode`\" pulumi-lang-dotnet=\"`PatchAssessmentMode`\" pulumi-lang-go=\"`patchAssessmentMode`\" pulumi-lang-python=\"`patch_assessment_mode`\" pulumi-lang-yaml=\"`patchAssessmentMode`\" pulumi-lang-java=\"`patchAssessmentMode`\"\u003e`patch_assessment_mode`\u003c/span\u003e is set to `AutomaticByPlatform` then the \u003cspan pulumi-lang-nodejs=\"`provisionVmAgent`\" pulumi-lang-dotnet=\"`ProvisionVmAgent`\" pulumi-lang-go=\"`provisionVmAgent`\" pulumi-lang-python=\"`provision_vm_agent`\" pulumi-lang-yaml=\"`provisionVmAgent`\" pulumi-lang-java=\"`provisionVmAgent`\"\u003e`provision_vm_agent`\u003c/span\u003e field must be set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"patchMode":{"type":"string","description":"Specifies the mode of in-guest patching to this Windows Virtual Machine. Possible values are `Manual`, `AutomaticByOS` and `AutomaticByPlatform`. Defaults to `AutomaticByOS`. For more information on patch modes please see the [product documentation](https://docs.microsoft.com/azure/virtual-machines/automatic-vm-guest-patching#patch-orchestration-modes).\n\n\u003e **NOTE:** If \u003cspan pulumi-lang-nodejs=\"`patchMode`\" pulumi-lang-dotnet=\"`PatchMode`\" pulumi-lang-go=\"`patchMode`\" pulumi-lang-python=\"`patch_mode`\" pulumi-lang-yaml=\"`patchMode`\" pulumi-lang-java=\"`patchMode`\"\u003e`patch_mode`\u003c/span\u003e is set to `AutomaticByPlatform` then \u003cspan pulumi-lang-nodejs=\"`provisionVmAgent`\" pulumi-lang-dotnet=\"`ProvisionVmAgent`\" pulumi-lang-go=\"`provisionVmAgent`\" pulumi-lang-python=\"`provision_vm_agent`\" pulumi-lang-yaml=\"`provisionVmAgent`\" pulumi-lang-java=\"`provisionVmAgent`\"\u003e`provision_vm_agent`\u003c/span\u003e must also be set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e. If the Virtual Machine is using a hotpatching enabled image the \u003cspan pulumi-lang-nodejs=\"`patchMode`\" pulumi-lang-dotnet=\"`PatchMode`\" pulumi-lang-go=\"`patchMode`\" pulumi-lang-python=\"`patch_mode`\" pulumi-lang-yaml=\"`patchMode`\" pulumi-lang-java=\"`patchMode`\"\u003e`patch_mode`\u003c/span\u003e must always be set to `AutomaticByPlatform`.\n"},"plan":{"$ref":"#/types/azure:compute/WindowsVirtualMachinePlan:WindowsVirtualMachinePlan","description":"A \u003cspan pulumi-lang-nodejs=\"`plan`\" pulumi-lang-dotnet=\"`Plan`\" pulumi-lang-go=\"`plan`\" pulumi-lang-python=\"`plan`\" pulumi-lang-yaml=\"`plan`\" pulumi-lang-java=\"`plan`\"\u003e`plan`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"platformFaultDomain":{"type":"integer","description":"Specifies the Platform Fault Domain in which this Windows Virtual Machine should be created. Defaults to `-1`, which means this will be automatically assigned to a fault domain that best maintains balance across the available fault domains. Changing this forces a new Windows Virtual Machine to be created.\n","willReplaceOnChanges":true},"priority":{"type":"string","description":"Specifies the priority of this Virtual Machine. Possible values are `Regular` and `Spot`. Defaults to `Regular`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"privateIpAddress":{"type":"string","description":"The Primary Private IP Address assigned to this Virtual Machine.\n"},"privateIpAddresses":{"type":"array","items":{"type":"string"},"description":"A list of Private IP Addresses assigned to this Virtual Machine.\n"},"provisionVmAgent":{"type":"boolean","description":"Should the Azure VM Agent be provisioned on this Virtual Machine? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e. Changing this forces a new resource to be created.\n\n\u003e **NOTE:** If \u003cspan pulumi-lang-nodejs=\"`provisionVmAgent`\" pulumi-lang-dotnet=\"`ProvisionVmAgent`\" pulumi-lang-go=\"`provisionVmAgent`\" pulumi-lang-python=\"`provision_vm_agent`\" pulumi-lang-yaml=\"`provisionVmAgent`\" pulumi-lang-java=\"`provisionVmAgent`\"\u003e`provision_vm_agent`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e then \u003cspan pulumi-lang-nodejs=\"`allowExtensionOperations`\" pulumi-lang-dotnet=\"`AllowExtensionOperations`\" pulumi-lang-go=\"`allowExtensionOperations`\" pulumi-lang-python=\"`allow_extension_operations`\" pulumi-lang-yaml=\"`allowExtensionOperations`\" pulumi-lang-java=\"`allowExtensionOperations`\"\u003e`allow_extension_operations`\u003c/span\u003e must also be set to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n","willReplaceOnChanges":true},"proximityPlacementGroupId":{"type":"string","description":"The ID of the Proximity Placement Group which the Virtual Machine should be assigned to.\n"},"publicIpAddress":{"type":"string","description":"The Primary Public IP Address assigned to this Virtual Machine.\n"},"publicIpAddresses":{"type":"array","items":{"type":"string"},"description":"A list of the Public IP Addresses assigned to this Virtual Machine.\n"},"rebootSetting":{"type":"string","description":"Specifies the reboot setting for platform scheduled patching. Possible values are `Always`, `IfRequired` and `Never`.\n\n\u003e **NOTE:** \u003cspan pulumi-lang-nodejs=\"`rebootSetting`\" pulumi-lang-dotnet=\"`RebootSetting`\" pulumi-lang-go=\"`rebootSetting`\" pulumi-lang-python=\"`reboot_setting`\" pulumi-lang-yaml=\"`rebootSetting`\" pulumi-lang-java=\"`rebootSetting`\"\u003e`reboot_setting`\u003c/span\u003e can only be set when \u003cspan pulumi-lang-nodejs=\"`patchMode`\" pulumi-lang-dotnet=\"`PatchMode`\" pulumi-lang-go=\"`patchMode`\" pulumi-lang-python=\"`patch_mode`\" pulumi-lang-yaml=\"`patchMode`\" pulumi-lang-java=\"`patchMode`\"\u003e`patch_mode`\u003c/span\u003e is set to `AutomaticByPlatform`.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group in which the Windows Virtual Machine should be exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"secrets":{"type":"array","items":{"$ref":"#/types/azure:compute/WindowsVirtualMachineSecret:WindowsVirtualMachineSecret"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`secret`\" pulumi-lang-dotnet=\"`Secret`\" pulumi-lang-go=\"`secret`\" pulumi-lang-python=\"`secret`\" pulumi-lang-yaml=\"`secret`\" pulumi-lang-java=\"`secret`\"\u003e`secret`\u003c/span\u003e blocks as defined below.\n"},"secureBootEnabled":{"type":"boolean","description":"Specifies if Secure Boot and Trusted Launch is enabled for the Virtual Machine. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"size":{"type":"string","description":"The SKU which should be used for this Virtual Machine, such as `Standard_F2`.\n"},"sourceImageId":{"type":"string","description":"The ID of the Image which this Virtual Machine should be created from. Changing this forces a new resource to be created. Possible Image ID types include `Image ID`s, `Shared Image ID`s, `Shared Image Version ID`s, `Community Gallery Image ID`s, `Community Gallery Image Version ID`s, `Shared Gallery Image ID`s and `Shared Gallery Image Version ID`s.\n\n\u003e **NOTE:** One of either \u003cspan pulumi-lang-nodejs=\"`sourceImageId`\" pulumi-lang-dotnet=\"`SourceImageId`\" pulumi-lang-go=\"`sourceImageId`\" pulumi-lang-python=\"`source_image_id`\" pulumi-lang-yaml=\"`sourceImageId`\" pulumi-lang-java=\"`sourceImageId`\"\u003e`source_image_id`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`sourceImageReference`\" pulumi-lang-dotnet=\"`SourceImageReference`\" pulumi-lang-go=\"`sourceImageReference`\" pulumi-lang-python=\"`source_image_reference`\" pulumi-lang-yaml=\"`sourceImageReference`\" pulumi-lang-java=\"`sourceImageReference`\"\u003e`source_image_reference`\u003c/span\u003e must be set.\n","willReplaceOnChanges":true},"sourceImageReference":{"$ref":"#/types/azure:compute/WindowsVirtualMachineSourceImageReference:WindowsVirtualMachineSourceImageReference","description":"A \u003cspan pulumi-lang-nodejs=\"`sourceImageReference`\" pulumi-lang-dotnet=\"`SourceImageReference`\" pulumi-lang-go=\"`sourceImageReference`\" pulumi-lang-python=\"`source_image_reference`\" pulumi-lang-yaml=\"`sourceImageReference`\" pulumi-lang-java=\"`sourceImageReference`\"\u003e`source_image_reference`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n\n\u003e **NOTE:** One of either \u003cspan pulumi-lang-nodejs=\"`sourceImageId`\" pulumi-lang-dotnet=\"`SourceImageId`\" pulumi-lang-go=\"`sourceImageId`\" pulumi-lang-python=\"`source_image_id`\" pulumi-lang-yaml=\"`sourceImageId`\" pulumi-lang-java=\"`sourceImageId`\"\u003e`source_image_id`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`sourceImageReference`\" pulumi-lang-dotnet=\"`SourceImageReference`\" pulumi-lang-go=\"`sourceImageReference`\" pulumi-lang-python=\"`source_image_reference`\" pulumi-lang-yaml=\"`sourceImageReference`\" pulumi-lang-java=\"`sourceImageReference`\"\u003e`source_image_reference`\u003c/span\u003e must be set.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to this Virtual Machine.\n"},"terminationNotification":{"$ref":"#/types/azure:compute/WindowsVirtualMachineTerminationNotification:WindowsVirtualMachineTerminationNotification","description":"A \u003cspan pulumi-lang-nodejs=\"`terminationNotification`\" pulumi-lang-dotnet=\"`TerminationNotification`\" pulumi-lang-go=\"`terminationNotification`\" pulumi-lang-python=\"`termination_notification`\" pulumi-lang-yaml=\"`terminationNotification`\" pulumi-lang-java=\"`terminationNotification`\"\u003e`termination_notification`\u003c/span\u003e block as defined below.\n"},"timezone":{"type":"string","description":"Specifies the Time Zone which should be used by the Virtual Machine, [the possible values are defined here](https://jackstromberg.com/2017/01/list-of-time-zones-consumed-by-azure/). Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"userData":{"type":"string","description":"The Base64-Encoded User Data which should be used for this Virtual Machine.\n"},"virtualMachineId":{"type":"string","description":"A 128-bit identifier which uniquely identifies this Virtual Machine.\n"},"virtualMachineScaleSetId":{"type":"string","description":"Specifies the Orchestrated Virtual Machine Scale Set that this Virtual Machine should be created within.\n\n\u003e **NOTE:** To update \u003cspan pulumi-lang-nodejs=\"`virtualMachineScaleSetId`\" pulumi-lang-dotnet=\"`VirtualMachineScaleSetId`\" pulumi-lang-go=\"`virtualMachineScaleSetId`\" pulumi-lang-python=\"`virtual_machine_scale_set_id`\" pulumi-lang-yaml=\"`virtualMachineScaleSetId`\" pulumi-lang-java=\"`virtualMachineScaleSetId`\"\u003e`virtual_machine_scale_set_id`\u003c/span\u003e the Preview Feature `Microsoft.Compute/SingleFDAttachDetachVMToVmss` needs to be enabled, see [the documentation](https://review.learn.microsoft.com/azure/virtual-machine-scale-sets/virtual-machine-scale-sets-attach-detach-vm#enroll-in-the-preview) for more information.\n\n\u003e **NOTE:** Orchestrated Virtual Machine Scale Sets can be provisioned using [the \u003cspan pulumi-lang-nodejs=\"`azure.compute.OrchestratedVirtualMachineScaleSet`\" pulumi-lang-dotnet=\"`azure.compute.OrchestratedVirtualMachineScaleSet`\" pulumi-lang-go=\"`compute.OrchestratedVirtualMachineScaleSet`\" pulumi-lang-python=\"`compute.OrchestratedVirtualMachineScaleSet`\" pulumi-lang-yaml=\"`azure.compute.OrchestratedVirtualMachineScaleSet`\" pulumi-lang-java=\"`azure.compute.OrchestratedVirtualMachineScaleSet`\"\u003e`azure.compute.OrchestratedVirtualMachineScaleSet`\u003c/span\u003e resource](https://www.terraform.io/docs/providers/azurerm/r/orchestrated_virtual_machine_scale_set.html).\n\n\u003e **NOTE:** To attach an existing VM to a Virtual Machine Scale Set, the scale set must have \u003cspan pulumi-lang-nodejs=\"`singlePlacementGroup`\" pulumi-lang-dotnet=\"`SinglePlacementGroup`\" pulumi-lang-go=\"`singlePlacementGroup`\" pulumi-lang-python=\"`single_placement_group`\" pulumi-lang-yaml=\"`singlePlacementGroup`\" pulumi-lang-java=\"`singlePlacementGroup`\"\u003e`single_placement_group`\u003c/span\u003e set to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e, see [the documentation](https://learn.microsoft.com/azure/virtual-machine-scale-sets/virtual-machine-scale-sets-attach-detach-vm?tabs=portal-1%2Cportal-2%2Cportal-3#limitations-for-attaching-an-existing-vm-to-a-scale-set) for more information.\n"},"vmAgentPlatformUpdatesEnabled":{"type":"boolean","description":"Specifies whether VMAgent Platform Updates is enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n","deprecationMessage":"this property has been deprecated due to a breaking change introduced by the Service team, which redefined it as a read-only field within the API"},"vtpmEnabled":{"type":"boolean","description":"Specifies if vTPM (virtual Trusted Platform Module) and Trusted Launch is enabled for the Virtual Machine. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"winrmListeners":{"type":"array","items":{"$ref":"#/types/azure:compute/WindowsVirtualMachineWinrmListener:WindowsVirtualMachineWinrmListener"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`winrmListener`\" pulumi-lang-dotnet=\"`WinrmListener`\" pulumi-lang-go=\"`winrmListener`\" pulumi-lang-python=\"`winrm_listener`\" pulumi-lang-yaml=\"`winrmListener`\" pulumi-lang-java=\"`winrmListener`\"\u003e`winrm_listener`\u003c/span\u003e blocks as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"zone":{"type":"string","description":"* \u003cspan pulumi-lang-nodejs=\"`zones`\" pulumi-lang-dotnet=\"`Zones`\" pulumi-lang-go=\"`zones`\" pulumi-lang-python=\"`zones`\" pulumi-lang-yaml=\"`zones`\" pulumi-lang-java=\"`zones`\"\u003e`zones`\u003c/span\u003e - (Optional) Specifies the Availability Zone in which this Windows Virtual Machine should be located. Changing this forces a new Windows Virtual Machine to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:compute/windowsVirtualMachineScaleSet:WindowsVirtualMachineScaleSet":{"description":"Manages a Windows Virtual Machine Scale Set.\n\n## Disclaimers\n\n\u003e **Note:** This resource will only create Virtual Machine Scale Sets with the **Uniform** Orchestration Mode. For Virtual Machine Scale Sets with **Flexible** orchestration mode, use \u003cspan pulumi-lang-nodejs=\"`azure.compute.OrchestratedVirtualMachineScaleSet`\" pulumi-lang-dotnet=\"`azure.compute.OrchestratedVirtualMachineScaleSet`\" pulumi-lang-go=\"`compute.OrchestratedVirtualMachineScaleSet`\" pulumi-lang-python=\"`compute.OrchestratedVirtualMachineScaleSet`\" pulumi-lang-yaml=\"`azure.compute.OrchestratedVirtualMachineScaleSet`\" pulumi-lang-java=\"`azure.compute.OrchestratedVirtualMachineScaleSet`\"\u003e`azure.compute.OrchestratedVirtualMachineScaleSet`\u003c/span\u003e. Flexible orchestration mode is recommended for workloads on Azure.\n\n\u003e **Note:** All arguments including the administrator login and password will be stored in the raw state as plain-text. Read more about [sensitive data](https://www.terraform.io/docs/state/sensitive-data.html) in state.\n\n\u003e **Note:** This provider will automatically update \u0026 reimage the nodes in the Scale Set (if Required) during an Update - this behaviour can be configured using the \u003cspan pulumi-lang-nodejs=\"`features`\" pulumi-lang-dotnet=\"`Features`\" pulumi-lang-go=\"`features`\" pulumi-lang-python=\"`features`\" pulumi-lang-yaml=\"`features`\" pulumi-lang-java=\"`features`\"\u003e`features`\u003c/span\u003e setting within the Provider block.\n\n\u003e **Note:** This resource does not support Unmanaged Disks. If you need to use Unmanaged Disks you can continue to use the \u003cspan pulumi-lang-nodejs=\"`azure.compute.ScaleSet`\" pulumi-lang-dotnet=\"`azure.compute.ScaleSet`\" pulumi-lang-go=\"`compute.ScaleSet`\" pulumi-lang-python=\"`compute.ScaleSet`\" pulumi-lang-yaml=\"`azure.compute.ScaleSet`\" pulumi-lang-java=\"`azure.compute.ScaleSet`\"\u003e`azure.compute.ScaleSet`\u003c/span\u003e resource instead.\n\n## Example Usage\n\nThis example provisions a basic Windows Virtual Machine Scale Set on an internal network.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"example\", {\n    name: \"example-network\",\n    resourceGroupName: example.name,\n    location: example.location,\n    addressSpaces: [\"10.0.0.0/16\"],\n});\nconst internal = new azure.network.Subnet(\"internal\", {\n    name: \"internal\",\n    resourceGroupName: example.name,\n    virtualNetworkName: exampleVirtualNetwork.name,\n    addressPrefixes: [\"10.0.2.0/24\"],\n});\nconst exampleWindowsVirtualMachineScaleSet = new azure.compute.WindowsVirtualMachineScaleSet(\"example\", {\n    name: \"example-vmss\",\n    resourceGroupName: example.name,\n    location: example.location,\n    sku: \"Standard_F2\",\n    instances: 1,\n    adminPassword: \"P@55w0rd1234!\",\n    adminUsername: \"adminuser\",\n    computerNamePrefix: \"vm-\",\n    sourceImageReference: {\n        publisher: \"MicrosoftWindowsServer\",\n        offer: \"WindowsServer\",\n        sku: \"2016-Datacenter-Server-Core\",\n        version: \"latest\",\n    },\n    osDisk: {\n        storageAccountType: \"Standard_LRS\",\n        caching: \"ReadWrite\",\n    },\n    networkInterfaces: [{\n        name: \"example\",\n        primary: true,\n        ipConfigurations: [{\n            name: \"internal\",\n            primary: true,\n            subnetId: internal.id,\n        }],\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_virtual_network = azure.network.VirtualNetwork(\"example\",\n    name=\"example-network\",\n    resource_group_name=example.name,\n    location=example.location,\n    address_spaces=[\"10.0.0.0/16\"])\ninternal = azure.network.Subnet(\"internal\",\n    name=\"internal\",\n    resource_group_name=example.name,\n    virtual_network_name=example_virtual_network.name,\n    address_prefixes=[\"10.0.2.0/24\"])\nexample_windows_virtual_machine_scale_set = azure.compute.WindowsVirtualMachineScaleSet(\"example\",\n    name=\"example-vmss\",\n    resource_group_name=example.name,\n    location=example.location,\n    sku=\"Standard_F2\",\n    instances=1,\n    admin_password=\"P@55w0rd1234!\",\n    admin_username=\"adminuser\",\n    computer_name_prefix=\"vm-\",\n    source_image_reference={\n        \"publisher\": \"MicrosoftWindowsServer\",\n        \"offer\": \"WindowsServer\",\n        \"sku\": \"2016-Datacenter-Server-Core\",\n        \"version\": \"latest\",\n    },\n    os_disk={\n        \"storage_account_type\": \"Standard_LRS\",\n        \"caching\": \"ReadWrite\",\n    },\n    network_interfaces=[{\n        \"name\": \"example\",\n        \"primary\": True,\n        \"ip_configurations\": [{\n            \"name\": \"internal\",\n            \"primary\": True,\n            \"subnet_id\": internal.id,\n        }],\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleVirtualNetwork = new Azure.Network.VirtualNetwork(\"example\", new()\n    {\n        Name = \"example-network\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        AddressSpaces = new[]\n        {\n            \"10.0.0.0/16\",\n        },\n    });\n\n    var @internal = new Azure.Network.Subnet(\"internal\", new()\n    {\n        Name = \"internal\",\n        ResourceGroupName = example.Name,\n        VirtualNetworkName = exampleVirtualNetwork.Name,\n        AddressPrefixes = new[]\n        {\n            \"10.0.2.0/24\",\n        },\n    });\n\n    var exampleWindowsVirtualMachineScaleSet = new Azure.Compute.WindowsVirtualMachineScaleSet(\"example\", new()\n    {\n        Name = \"example-vmss\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        Sku = \"Standard_F2\",\n        Instances = 1,\n        AdminPassword = \"P@55w0rd1234!\",\n        AdminUsername = \"adminuser\",\n        ComputerNamePrefix = \"vm-\",\n        SourceImageReference = new Azure.Compute.Inputs.WindowsVirtualMachineScaleSetSourceImageReferenceArgs\n        {\n            Publisher = \"MicrosoftWindowsServer\",\n            Offer = \"WindowsServer\",\n            Sku = \"2016-Datacenter-Server-Core\",\n            Version = \"latest\",\n        },\n        OsDisk = new Azure.Compute.Inputs.WindowsVirtualMachineScaleSetOsDiskArgs\n        {\n            StorageAccountType = \"Standard_LRS\",\n            Caching = \"ReadWrite\",\n        },\n        NetworkInterfaces = new[]\n        {\n            new Azure.Compute.Inputs.WindowsVirtualMachineScaleSetNetworkInterfaceArgs\n            {\n                Name = \"example\",\n                Primary = true,\n                IpConfigurations = new[]\n                {\n                    new Azure.Compute.Inputs.WindowsVirtualMachineScaleSetNetworkInterfaceIpConfigurationArgs\n                    {\n                        Name = \"internal\",\n                        Primary = true,\n                        SubnetId = @internal.Id,\n                    },\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/compute\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, \"example\", \u0026network.VirtualNetworkArgs{\n\t\t\tName:              pulumi.String(\"example-network\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tAddressSpaces: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.0.0/16\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinternal, err := network.NewSubnet(ctx, \"internal\", \u0026network.SubnetArgs{\n\t\t\tName:               pulumi.String(\"internal\"),\n\t\t\tResourceGroupName:  example.Name,\n\t\t\tVirtualNetworkName: exampleVirtualNetwork.Name,\n\t\t\tAddressPrefixes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.2.0/24\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = compute.NewWindowsVirtualMachineScaleSet(ctx, \"example\", \u0026compute.WindowsVirtualMachineScaleSetArgs{\n\t\t\tName:               pulumi.String(\"example-vmss\"),\n\t\t\tResourceGroupName:  example.Name,\n\t\t\tLocation:           example.Location,\n\t\t\tSku:                pulumi.String(\"Standard_F2\"),\n\t\t\tInstances:          pulumi.Int(1),\n\t\t\tAdminPassword:      pulumi.String(\"P@55w0rd1234!\"),\n\t\t\tAdminUsername:      pulumi.String(\"adminuser\"),\n\t\t\tComputerNamePrefix: pulumi.String(\"vm-\"),\n\t\t\tSourceImageReference: \u0026compute.WindowsVirtualMachineScaleSetSourceImageReferenceArgs{\n\t\t\t\tPublisher: pulumi.String(\"MicrosoftWindowsServer\"),\n\t\t\t\tOffer:     pulumi.String(\"WindowsServer\"),\n\t\t\t\tSku:       pulumi.String(\"2016-Datacenter-Server-Core\"),\n\t\t\t\tVersion:   pulumi.String(\"latest\"),\n\t\t\t},\n\t\t\tOsDisk: \u0026compute.WindowsVirtualMachineScaleSetOsDiskArgs{\n\t\t\t\tStorageAccountType: pulumi.String(\"Standard_LRS\"),\n\t\t\t\tCaching:            pulumi.String(\"ReadWrite\"),\n\t\t\t},\n\t\t\tNetworkInterfaces: compute.WindowsVirtualMachineScaleSetNetworkInterfaceArray{\n\t\t\t\t\u0026compute.WindowsVirtualMachineScaleSetNetworkInterfaceArgs{\n\t\t\t\t\tName:    pulumi.String(\"example\"),\n\t\t\t\t\tPrimary: pulumi.Bool(true),\n\t\t\t\t\tIpConfigurations: compute.WindowsVirtualMachineScaleSetNetworkInterfaceIpConfigurationArray{\n\t\t\t\t\t\t\u0026compute.WindowsVirtualMachineScaleSetNetworkInterfaceIpConfigurationArgs{\n\t\t\t\t\t\t\tName:     pulumi.String(\"internal\"),\n\t\t\t\t\t\t\tPrimary:  pulumi.Bool(true),\n\t\t\t\t\t\t\tSubnetId: internal.ID(),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.VirtualNetwork;\nimport com.pulumi.azure.network.VirtualNetworkArgs;\nimport com.pulumi.azure.network.Subnet;\nimport com.pulumi.azure.network.SubnetArgs;\nimport com.pulumi.azure.compute.WindowsVirtualMachineScaleSet;\nimport com.pulumi.azure.compute.WindowsVirtualMachineScaleSetArgs;\nimport com.pulumi.azure.compute.inputs.WindowsVirtualMachineScaleSetSourceImageReferenceArgs;\nimport com.pulumi.azure.compute.inputs.WindowsVirtualMachineScaleSetOsDiskArgs;\nimport com.pulumi.azure.compute.inputs.WindowsVirtualMachineScaleSetNetworkInterfaceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleVirtualNetwork = new VirtualNetwork(\"exampleVirtualNetwork\", VirtualNetworkArgs.builder()\n            .name(\"example-network\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .addressSpaces(\"10.0.0.0/16\")\n            .build());\n\n        var internal = new Subnet(\"internal\", SubnetArgs.builder()\n            .name(\"internal\")\n            .resourceGroupName(example.name())\n            .virtualNetworkName(exampleVirtualNetwork.name())\n            .addressPrefixes(\"10.0.2.0/24\")\n            .build());\n\n        var exampleWindowsVirtualMachineScaleSet = new WindowsVirtualMachineScaleSet(\"exampleWindowsVirtualMachineScaleSet\", WindowsVirtualMachineScaleSetArgs.builder()\n            .name(\"example-vmss\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .sku(\"Standard_F2\")\n            .instances(1)\n            .adminPassword(\"P@55w0rd1234!\")\n            .adminUsername(\"adminuser\")\n            .computerNamePrefix(\"vm-\")\n            .sourceImageReference(WindowsVirtualMachineScaleSetSourceImageReferenceArgs.builder()\n                .publisher(\"MicrosoftWindowsServer\")\n                .offer(\"WindowsServer\")\n                .sku(\"2016-Datacenter-Server-Core\")\n                .version(\"latest\")\n                .build())\n            .osDisk(WindowsVirtualMachineScaleSetOsDiskArgs.builder()\n                .storageAccountType(\"Standard_LRS\")\n                .caching(\"ReadWrite\")\n                .build())\n            .networkInterfaces(WindowsVirtualMachineScaleSetNetworkInterfaceArgs.builder()\n                .name(\"example\")\n                .primary(true)\n                .ipConfigurations(WindowsVirtualMachineScaleSetNetworkInterfaceIpConfigurationArgs.builder()\n                    .name(\"internal\")\n                    .primary(true)\n                    .subnetId(internal.id())\n                    .build())\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleVirtualNetwork:\n    type: azure:network:VirtualNetwork\n    name: example\n    properties:\n      name: example-network\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      addressSpaces:\n        - 10.0.0.0/16\n  internal:\n    type: azure:network:Subnet\n    properties:\n      name: internal\n      resourceGroupName: ${example.name}\n      virtualNetworkName: ${exampleVirtualNetwork.name}\n      addressPrefixes:\n        - 10.0.2.0/24\n  exampleWindowsVirtualMachineScaleSet:\n    type: azure:compute:WindowsVirtualMachineScaleSet\n    name: example\n    properties:\n      name: example-vmss\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      sku: Standard_F2\n      instances: 1\n      adminPassword: P@55w0rd1234!\n      adminUsername: adminuser\n      computerNamePrefix: vm-\n      sourceImageReference:\n        publisher: MicrosoftWindowsServer\n        offer: WindowsServer\n        sku: 2016-Datacenter-Server-Core\n        version: latest\n      osDisk:\n        storageAccountType: Standard_LRS\n        caching: ReadWrite\n      networkInterfaces:\n        - name: example\n          primary: true\n          ipConfigurations:\n            - name: internal\n              primary: true\n              subnetId: ${internal.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Compute` - 2024-11-01\n\n## Import\n\nWindows Virtual Machine Scale Sets can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:compute/windowsVirtualMachineScaleSet:WindowsVirtualMachineScaleSet example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Compute/virtualMachineScaleSets/scaleset1\n```\n\n","properties":{"additionalCapabilities":{"$ref":"#/types/azure:compute/WindowsVirtualMachineScaleSetAdditionalCapabilities:WindowsVirtualMachineScaleSetAdditionalCapabilities","description":"An \u003cspan pulumi-lang-nodejs=\"`additionalCapabilities`\" pulumi-lang-dotnet=\"`AdditionalCapabilities`\" pulumi-lang-go=\"`additionalCapabilities`\" pulumi-lang-python=\"`additional_capabilities`\" pulumi-lang-yaml=\"`additionalCapabilities`\" pulumi-lang-java=\"`additionalCapabilities`\"\u003e`additional_capabilities`\u003c/span\u003e block as defined below.\n"},"additionalUnattendContents":{"type":"array","items":{"$ref":"#/types/azure:compute/WindowsVirtualMachineScaleSetAdditionalUnattendContent:WindowsVirtualMachineScaleSetAdditionalUnattendContent"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`additionalUnattendContent`\" pulumi-lang-dotnet=\"`AdditionalUnattendContent`\" pulumi-lang-go=\"`additionalUnattendContent`\" pulumi-lang-python=\"`additional_unattend_content`\" pulumi-lang-yaml=\"`additionalUnattendContent`\" pulumi-lang-java=\"`additionalUnattendContent`\"\u003e`additional_unattend_content`\u003c/span\u003e blocks as defined below. Changing this forces a new resource to be created.\n"},"adminPassword":{"type":"string","description":"The Password which should be used for the local-administrator on this Virtual Machine. Changing this forces a new resource to be created.\n","secret":true},"adminUsername":{"type":"string","description":"The username of the local administrator on each Virtual Machine Scale Set instance. Changing this forces a new resource to be created.\n"},"automaticInstanceRepair":{"$ref":"#/types/azure:compute/WindowsVirtualMachineScaleSetAutomaticInstanceRepair:WindowsVirtualMachineScaleSetAutomaticInstanceRepair","description":"An \u003cspan pulumi-lang-nodejs=\"`automaticInstanceRepair`\" pulumi-lang-dotnet=\"`AutomaticInstanceRepair`\" pulumi-lang-go=\"`automaticInstanceRepair`\" pulumi-lang-python=\"`automatic_instance_repair`\" pulumi-lang-yaml=\"`automaticInstanceRepair`\" pulumi-lang-java=\"`automaticInstanceRepair`\"\u003e`automatic_instance_repair`\u003c/span\u003e block as defined below. To enable the automatic instance repair, this Virtual Machine Scale Set must have a valid \u003cspan pulumi-lang-nodejs=\"`healthProbeId`\" pulumi-lang-dotnet=\"`HealthProbeId`\" pulumi-lang-go=\"`healthProbeId`\" pulumi-lang-python=\"`health_probe_id`\" pulumi-lang-yaml=\"`healthProbeId`\" pulumi-lang-java=\"`healthProbeId`\"\u003e`health_probe_id`\u003c/span\u003e or an [Application Health Extension](https://docs.microsoft.com/azure/virtual-machine-scale-sets/virtual-machine-scale-sets-health-extension).\n\n\u003e **Note:** For more information about Automatic Instance Repair, please refer to [this doc](https://docs.microsoft.com/azure/virtual-machine-scale-sets/virtual-machine-scale-sets-automatic-instance-repairs).\n"},"automaticOsUpgradePolicy":{"$ref":"#/types/azure:compute/WindowsVirtualMachineScaleSetAutomaticOsUpgradePolicy:WindowsVirtualMachineScaleSetAutomaticOsUpgradePolicy","description":"An \u003cspan pulumi-lang-nodejs=\"`automaticOsUpgradePolicy`\" pulumi-lang-dotnet=\"`AutomaticOsUpgradePolicy`\" pulumi-lang-go=\"`automaticOsUpgradePolicy`\" pulumi-lang-python=\"`automatic_os_upgrade_policy`\" pulumi-lang-yaml=\"`automaticOsUpgradePolicy`\" pulumi-lang-java=\"`automaticOsUpgradePolicy`\"\u003e`automatic_os_upgrade_policy`\u003c/span\u003e block as defined below. This can only be specified when \u003cspan pulumi-lang-nodejs=\"`upgradeMode`\" pulumi-lang-dotnet=\"`UpgradeMode`\" pulumi-lang-go=\"`upgradeMode`\" pulumi-lang-python=\"`upgrade_mode`\" pulumi-lang-yaml=\"`upgradeMode`\" pulumi-lang-java=\"`upgradeMode`\"\u003e`upgrade_mode`\u003c/span\u003e is set to either `Automatic` or `Rolling`.\n"},"bootDiagnostics":{"$ref":"#/types/azure:compute/WindowsVirtualMachineScaleSetBootDiagnostics:WindowsVirtualMachineScaleSetBootDiagnostics","description":"A \u003cspan pulumi-lang-nodejs=\"`bootDiagnostics`\" pulumi-lang-dotnet=\"`BootDiagnostics`\" pulumi-lang-go=\"`bootDiagnostics`\" pulumi-lang-python=\"`boot_diagnostics`\" pulumi-lang-yaml=\"`bootDiagnostics`\" pulumi-lang-java=\"`bootDiagnostics`\"\u003e`boot_diagnostics`\u003c/span\u003e block as defined below.\n"},"capacityReservationGroupId":{"type":"string","description":"Specifies the ID of the Capacity Reservation Group which the Virtual Machine Scale Set should be allocated to. Changing this forces a new resource to be created.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`capacityReservationGroupId`\" pulumi-lang-dotnet=\"`CapacityReservationGroupId`\" pulumi-lang-go=\"`capacityReservationGroupId`\" pulumi-lang-python=\"`capacity_reservation_group_id`\" pulumi-lang-yaml=\"`capacityReservationGroupId`\" pulumi-lang-java=\"`capacityReservationGroupId`\"\u003e`capacity_reservation_group_id`\u003c/span\u003e cannot be used with \u003cspan pulumi-lang-nodejs=\"`proximityPlacementGroupId`\" pulumi-lang-dotnet=\"`ProximityPlacementGroupId`\" pulumi-lang-go=\"`proximityPlacementGroupId`\" pulumi-lang-python=\"`proximity_placement_group_id`\" pulumi-lang-yaml=\"`proximityPlacementGroupId`\" pulumi-lang-java=\"`proximityPlacementGroupId`\"\u003e`proximity_placement_group_id`\u003c/span\u003e\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`singlePlacementGroup`\" pulumi-lang-dotnet=\"`SinglePlacementGroup`\" pulumi-lang-go=\"`singlePlacementGroup`\" pulumi-lang-python=\"`single_placement_group`\" pulumi-lang-yaml=\"`singlePlacementGroup`\" pulumi-lang-java=\"`singlePlacementGroup`\"\u003e`single_placement_group`\u003c/span\u003e must be set to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e when \u003cspan pulumi-lang-nodejs=\"`capacityReservationGroupId`\" pulumi-lang-dotnet=\"`CapacityReservationGroupId`\" pulumi-lang-go=\"`capacityReservationGroupId`\" pulumi-lang-python=\"`capacity_reservation_group_id`\" pulumi-lang-yaml=\"`capacityReservationGroupId`\" pulumi-lang-java=\"`capacityReservationGroupId`\"\u003e`capacity_reservation_group_id`\u003c/span\u003e is specified.\n"},"computerNamePrefix":{"type":"string","description":"The prefix which should be used for the name of the Virtual Machines in this Scale Set. If unspecified this defaults to the value for the \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e field. If the value of the \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e field is not a valid \u003cspan pulumi-lang-nodejs=\"`computerNamePrefix`\" pulumi-lang-dotnet=\"`ComputerNamePrefix`\" pulumi-lang-go=\"`computerNamePrefix`\" pulumi-lang-python=\"`computer_name_prefix`\" pulumi-lang-yaml=\"`computerNamePrefix`\" pulumi-lang-java=\"`computerNamePrefix`\"\u003e`computer_name_prefix`\u003c/span\u003e, then you must specify \u003cspan pulumi-lang-nodejs=\"`computerNamePrefix`\" pulumi-lang-dotnet=\"`ComputerNamePrefix`\" pulumi-lang-go=\"`computerNamePrefix`\" pulumi-lang-python=\"`computer_name_prefix`\" pulumi-lang-yaml=\"`computerNamePrefix`\" pulumi-lang-java=\"`computerNamePrefix`\"\u003e`computer_name_prefix`\u003c/span\u003e. Changing this forces a new resource to be created.\n"},"customData":{"type":"string","description":"The Base64-Encoded Custom Data which should be used for this Virtual Machine Scale Set.\n\n\u003e **Note:** When Custom Data has been configured, it's not possible to remove it without tainting the Virtual Machine Scale Set, due to a limitation of the Azure API.\n","secret":true},"dataDisks":{"type":"array","items":{"$ref":"#/types/azure:compute/WindowsVirtualMachineScaleSetDataDisk:WindowsVirtualMachineScaleSetDataDisk"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`dataDisk`\" pulumi-lang-dotnet=\"`DataDisk`\" pulumi-lang-go=\"`dataDisk`\" pulumi-lang-python=\"`data_disk`\" pulumi-lang-yaml=\"`dataDisk`\" pulumi-lang-java=\"`dataDisk`\"\u003e`data_disk`\u003c/span\u003e blocks as defined below.\n"},"doNotRunExtensionsOnOverprovisionedMachines":{"type":"boolean","description":"Should Virtual Machine Extensions be run on Overprovisioned Virtual Machines in the Scale Set? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"edgeZone":{"type":"string","description":"Specifies the Edge Zone within the Azure Region where this Windows Virtual Machine Scale Set should exist. Changing this forces a new Windows Virtual Machine Scale Set to be created.\n"},"enableAutomaticUpdates":{"type":"boolean","description":"Are automatic updates enabled for this Virtual Machine? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"encryptionAtHostEnabled":{"type":"boolean","description":"Should all of the disks (including the temp disk) attached to this Virtual Machine be encrypted by enabling Encryption at Host?\n"},"evictionPolicy":{"type":"string","description":"Specifies the eviction policy for Virtual Machines in this Scale Set. Possible values are `Deallocate` and `Delete`. Changing this forces a new resource to be created.\n\n\u003e **Note:** This can only be configured when \u003cspan pulumi-lang-nodejs=\"`priority`\" pulumi-lang-dotnet=\"`Priority`\" pulumi-lang-go=\"`priority`\" pulumi-lang-python=\"`priority`\" pulumi-lang-yaml=\"`priority`\" pulumi-lang-java=\"`priority`\"\u003e`priority`\u003c/span\u003e is set to `Spot`.\n"},"extensionOperationsEnabled":{"type":"boolean","description":"Should extension operations be allowed on the Virtual Machine Scale Set? Possible values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e. Changing this forces a new Windows Virtual Machine Scale Set to be created.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`extensionOperationsEnabled`\" pulumi-lang-dotnet=\"`ExtensionOperationsEnabled`\" pulumi-lang-go=\"`extensionOperationsEnabled`\" pulumi-lang-python=\"`extension_operations_enabled`\" pulumi-lang-yaml=\"`extensionOperationsEnabled`\" pulumi-lang-java=\"`extensionOperationsEnabled`\"\u003e`extension_operations_enabled`\u003c/span\u003e may only be set to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e if there are no extensions defined in the \u003cspan pulumi-lang-nodejs=\"`extension`\" pulumi-lang-dotnet=\"`Extension`\" pulumi-lang-go=\"`extension`\" pulumi-lang-python=\"`extension`\" pulumi-lang-yaml=\"`extension`\" pulumi-lang-java=\"`extension`\"\u003e`extension`\u003c/span\u003e field.\n"},"extensions":{"type":"array","items":{"$ref":"#/types/azure:compute/WindowsVirtualMachineScaleSetExtension:WindowsVirtualMachineScaleSetExtension"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`extension`\" pulumi-lang-dotnet=\"`Extension`\" pulumi-lang-go=\"`extension`\" pulumi-lang-python=\"`extension`\" pulumi-lang-yaml=\"`extension`\" pulumi-lang-java=\"`extension`\"\u003e`extension`\u003c/span\u003e blocks as defined below\n"},"extensionsTimeBudget":{"type":"string","description":"Specifies the duration allocated for all extensions to start. The time duration should be between \u003cspan pulumi-lang-nodejs=\"`15`\" pulumi-lang-dotnet=\"`15`\" pulumi-lang-go=\"`15`\" pulumi-lang-python=\"`15`\" pulumi-lang-yaml=\"`15`\" pulumi-lang-java=\"`15`\"\u003e`15`\u003c/span\u003e minutes and \u003cspan pulumi-lang-nodejs=\"`120`\" pulumi-lang-dotnet=\"`120`\" pulumi-lang-go=\"`120`\" pulumi-lang-python=\"`120`\" pulumi-lang-yaml=\"`120`\" pulumi-lang-java=\"`120`\"\u003e`120`\u003c/span\u003e minutes (inclusive) and should be specified in ISO 8601 format. Defaults to `PT1H30M`.\n"},"galleryApplications":{"type":"array","items":{"$ref":"#/types/azure:compute/WindowsVirtualMachineScaleSetGalleryApplication:WindowsVirtualMachineScaleSetGalleryApplication"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`galleryApplication`\" pulumi-lang-dotnet=\"`GalleryApplication`\" pulumi-lang-go=\"`galleryApplication`\" pulumi-lang-python=\"`gallery_application`\" pulumi-lang-yaml=\"`galleryApplication`\" pulumi-lang-java=\"`galleryApplication`\"\u003e`gallery_application`\u003c/span\u003e blocks as defined below.\n"},"healthProbeId":{"type":"string","description":"The ID of a Load Balancer Probe which should be used to determine the health of an instance. This is Required and can only be specified when \u003cspan pulumi-lang-nodejs=\"`upgradeMode`\" pulumi-lang-dotnet=\"`UpgradeMode`\" pulumi-lang-go=\"`upgradeMode`\" pulumi-lang-python=\"`upgrade_mode`\" pulumi-lang-yaml=\"`upgradeMode`\" pulumi-lang-java=\"`upgradeMode`\"\u003e`upgrade_mode`\u003c/span\u003e is set to `Automatic` or `Rolling`.\n"},"hostGroupId":{"type":"string","description":"Specifies the ID of the dedicated host group that the virtual machine scale set resides in. Changing this forces a new resource to be created.\n"},"identity":{"$ref":"#/types/azure:compute/WindowsVirtualMachineScaleSetIdentity:WindowsVirtualMachineScaleSetIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"instances":{"type":"integer","description":"The number of Virtual Machines in the Scale Set.\n\n\u003e **NOTE:** If you're using AutoScaling, you may wish to use [`Ignore Changes` functionality](https://www.pulumi.com/docs/intro/concepts/programming-model/#ignorechanges) to ignore changes to this field.\n"},"licenseType":{"type":"string","description":"Specifies the type of on-premise license (also known as [Azure Hybrid Use Benefit](https://docs.microsoft.com/en-gb/windows-server/get-started/azure-hybrid-benefit)) which should be used for this Virtual Machine Scale Set. Possible values are `None`, `Windows_Client` and `Windows_Server`.\n"},"location":{"type":"string","description":"The Azure location where the Windows Virtual Machine Scale Set should exist. Changing this forces a new resource to be created.\n"},"maxBidPrice":{"type":"number","description":"The maximum price you're willing to pay for each Virtual Machine in this Scale Set, in US Dollars; which must be greater than the current spot price. If this bid price falls below the current spot price the Virtual Machines in the Scale Set will be evicted using the \u003cspan pulumi-lang-nodejs=\"`evictionPolicy`\" pulumi-lang-dotnet=\"`EvictionPolicy`\" pulumi-lang-go=\"`evictionPolicy`\" pulumi-lang-python=\"`eviction_policy`\" pulumi-lang-yaml=\"`evictionPolicy`\" pulumi-lang-java=\"`evictionPolicy`\"\u003e`eviction_policy`\u003c/span\u003e. Defaults to `-1`, which means that each Virtual Machine in the Scale Set should not be evicted for price reasons.\n\n\u003e **Note:** This can only be configured when \u003cspan pulumi-lang-nodejs=\"`priority`\" pulumi-lang-dotnet=\"`Priority`\" pulumi-lang-go=\"`priority`\" pulumi-lang-python=\"`priority`\" pulumi-lang-yaml=\"`priority`\" pulumi-lang-java=\"`priority`\"\u003e`priority`\u003c/span\u003e is set to `Spot`.\n"},"name":{"type":"string","description":"The name of the Windows Virtual Machine Scale Set. Changing this forces a new resource to be created.\n"},"networkInterfaces":{"type":"array","items":{"$ref":"#/types/azure:compute/WindowsVirtualMachineScaleSetNetworkInterface:WindowsVirtualMachineScaleSetNetworkInterface"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`networkInterface`\" pulumi-lang-dotnet=\"`NetworkInterface`\" pulumi-lang-go=\"`networkInterface`\" pulumi-lang-python=\"`network_interface`\" pulumi-lang-yaml=\"`networkInterface`\" pulumi-lang-java=\"`networkInterface`\"\u003e`network_interface`\u003c/span\u003e blocks as defined below.\n"},"osDisk":{"$ref":"#/types/azure:compute/WindowsVirtualMachineScaleSetOsDisk:WindowsVirtualMachineScaleSetOsDisk","description":"An \u003cspan pulumi-lang-nodejs=\"`osDisk`\" pulumi-lang-dotnet=\"`OsDisk`\" pulumi-lang-go=\"`osDisk`\" pulumi-lang-python=\"`os_disk`\" pulumi-lang-yaml=\"`osDisk`\" pulumi-lang-java=\"`osDisk`\"\u003e`os_disk`\u003c/span\u003e block as defined below.\n"},"overprovision":{"type":"boolean","description":"Should Azure over-provision Virtual Machines in this Scale Set? This means that multiple Virtual Machines will be provisioned and Azure will keep the instances which become available first - which improves provisioning success rates and improves deployment time. You're not billed for these over-provisioned VM's and they don't count towards the Subscription Quota. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"plan":{"$ref":"#/types/azure:compute/WindowsVirtualMachineScaleSetPlan:WindowsVirtualMachineScaleSetPlan","description":"A \u003cspan pulumi-lang-nodejs=\"`plan`\" pulumi-lang-dotnet=\"`Plan`\" pulumi-lang-go=\"`plan`\" pulumi-lang-python=\"`plan`\" pulumi-lang-yaml=\"`plan`\" pulumi-lang-java=\"`plan`\"\u003e`plan`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n\n\u003e **Note:** When using an image from Azure Marketplace a \u003cspan pulumi-lang-nodejs=\"`plan`\" pulumi-lang-dotnet=\"`Plan`\" pulumi-lang-go=\"`plan`\" pulumi-lang-python=\"`plan`\" pulumi-lang-yaml=\"`plan`\" pulumi-lang-java=\"`plan`\"\u003e`plan`\u003c/span\u003e must be specified.\n"},"platformFaultDomainCount":{"type":"integer","description":"Specifies the number of fault domains that are used by this Linux Virtual Machine Scale Set. Changing this forces a new resource to be created.\n"},"priority":{"type":"string","description":"The Priority of this Virtual Machine Scale Set. Possible values are `Regular` and `Spot`. Defaults to `Regular`. Changing this value forces a new resource.\n\n\u003e **Note:** When \u003cspan pulumi-lang-nodejs=\"`priority`\" pulumi-lang-dotnet=\"`Priority`\" pulumi-lang-go=\"`priority`\" pulumi-lang-python=\"`priority`\" pulumi-lang-yaml=\"`priority`\" pulumi-lang-java=\"`priority`\"\u003e`priority`\u003c/span\u003e is set to `Spot` an \u003cspan pulumi-lang-nodejs=\"`evictionPolicy`\" pulumi-lang-dotnet=\"`EvictionPolicy`\" pulumi-lang-go=\"`evictionPolicy`\" pulumi-lang-python=\"`eviction_policy`\" pulumi-lang-yaml=\"`evictionPolicy`\" pulumi-lang-java=\"`evictionPolicy`\"\u003e`eviction_policy`\u003c/span\u003e must be specified.\n"},"provisionVmAgent":{"type":"boolean","description":"Should the Azure VM Agent be provisioned on each Virtual Machine in the Scale Set? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e. Changing this value forces a new resource to be created.\n"},"proximityPlacementGroupId":{"type":"string","description":"The ID of the Proximity Placement Group in which the Virtual Machine Scale Set should be assigned to. Changing this forces a new resource to be created.\n"},"resilientVmCreationEnabled":{"type":"boolean","description":"Should resilient VM creation be enabled? When enabled, the service will attempt to create VMs in alternative fault domains or zones if the primary location fails during creation. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`resilientVmCreationEnabled`\" pulumi-lang-dotnet=\"`ResilientVmCreationEnabled`\" pulumi-lang-go=\"`resilientVmCreationEnabled`\" pulumi-lang-python=\"`resilient_vm_creation_enabled`\" pulumi-lang-yaml=\"`resilientVmCreationEnabled`\" pulumi-lang-java=\"`resilientVmCreationEnabled`\"\u003e`resilient_vm_creation_enabled`\u003c/span\u003e is currently not supported in the \u003cspan pulumi-lang-nodejs=\"`austriaeast`\" pulumi-lang-dotnet=\"`Austriaeast`\" pulumi-lang-go=\"`austriaeast`\" pulumi-lang-python=\"`austriaeast`\" pulumi-lang-yaml=\"`austriaeast`\" pulumi-lang-java=\"`austriaeast`\"\u003e`austriaeast`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`belgiumcentral`\" pulumi-lang-dotnet=\"`Belgiumcentral`\" pulumi-lang-go=\"`belgiumcentral`\" pulumi-lang-python=\"`belgiumcentral`\" pulumi-lang-yaml=\"`belgiumcentral`\" pulumi-lang-java=\"`belgiumcentral`\"\u003e`belgiumcentral`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`centraluseuap`\" pulumi-lang-dotnet=\"`Centraluseuap`\" pulumi-lang-go=\"`centraluseuap`\" pulumi-lang-python=\"`centraluseuap`\" pulumi-lang-yaml=\"`centraluseuap`\" pulumi-lang-java=\"`centraluseuap`\"\u003e`centraluseuap`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`chilecentral`\" pulumi-lang-dotnet=\"`Chilecentral`\" pulumi-lang-go=\"`chilecentral`\" pulumi-lang-python=\"`chilecentral`\" pulumi-lang-yaml=\"`chilecentral`\" pulumi-lang-java=\"`chilecentral`\"\u003e`chilecentral`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`indonesiacentral`\" pulumi-lang-dotnet=\"`Indonesiacentral`\" pulumi-lang-go=\"`indonesiacentral`\" pulumi-lang-python=\"`indonesiacentral`\" pulumi-lang-yaml=\"`indonesiacentral`\" pulumi-lang-java=\"`indonesiacentral`\"\u003e`indonesiacentral`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`israelnorthwest`\" pulumi-lang-dotnet=\"`Israelnorthwest`\" pulumi-lang-go=\"`israelnorthwest`\" pulumi-lang-python=\"`israelnorthwest`\" pulumi-lang-yaml=\"`israelnorthwest`\" pulumi-lang-java=\"`israelnorthwest`\"\u003e`israelnorthwest`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`malaysiawest`\" pulumi-lang-dotnet=\"`Malaysiawest`\" pulumi-lang-go=\"`malaysiawest`\" pulumi-lang-python=\"`malaysiawest`\" pulumi-lang-yaml=\"`malaysiawest`\" pulumi-lang-java=\"`malaysiawest`\"\u003e`malaysiawest`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`mexicocentral`\" pulumi-lang-dotnet=\"`Mexicocentral`\" pulumi-lang-go=\"`mexicocentral`\" pulumi-lang-python=\"`mexicocentral`\" pulumi-lang-yaml=\"`mexicocentral`\" pulumi-lang-java=\"`mexicocentral`\"\u003e`mexicocentral`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`newzealandnorth`\" pulumi-lang-dotnet=\"`Newzealandnorth`\" pulumi-lang-go=\"`newzealandnorth`\" pulumi-lang-python=\"`newzealandnorth`\" pulumi-lang-yaml=\"`newzealandnorth`\" pulumi-lang-java=\"`newzealandnorth`\"\u003e`newzealandnorth`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`southcentralus2`\" pulumi-lang-dotnet=\"`Southcentralus2`\" pulumi-lang-go=\"`southcentralus2`\" pulumi-lang-python=\"`southcentralus2`\" pulumi-lang-yaml=\"`southcentralus2`\" pulumi-lang-java=\"`southcentralus2`\"\u003e`southcentralus2`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`southindia`\" pulumi-lang-dotnet=\"`Southindia`\" pulumi-lang-go=\"`southindia`\" pulumi-lang-python=\"`southindia`\" pulumi-lang-yaml=\"`southindia`\" pulumi-lang-java=\"`southindia`\"\u003e`southindia`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`southeastus3`\" pulumi-lang-dotnet=\"`Southeastus3`\" pulumi-lang-go=\"`southeastus3`\" pulumi-lang-python=\"`southeastus3`\" pulumi-lang-yaml=\"`southeastus3`\" pulumi-lang-java=\"`southeastus3`\"\u003e`southeastus3`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`southwestus`\" pulumi-lang-dotnet=\"`Southwestus`\" pulumi-lang-go=\"`southwestus`\" pulumi-lang-python=\"`southwestus`\" pulumi-lang-yaml=\"`southwestus`\" pulumi-lang-java=\"`southwestus`\"\u003e`southwestus`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`eastasia`\" pulumi-lang-dotnet=\"`Eastasia`\" pulumi-lang-go=\"`eastasia`\" pulumi-lang-python=\"`eastasia`\" pulumi-lang-yaml=\"`eastasia`\" pulumi-lang-java=\"`eastasia`\"\u003e`eastasia`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`eastus`\" pulumi-lang-dotnet=\"`Eastus`\" pulumi-lang-go=\"`eastus`\" pulumi-lang-python=\"`eastus`\" pulumi-lang-yaml=\"`eastus`\" pulumi-lang-java=\"`eastus`\"\u003e`eastus`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`southcentralus`\" pulumi-lang-dotnet=\"`Southcentralus`\" pulumi-lang-go=\"`southcentralus`\" pulumi-lang-python=\"`southcentralus`\" pulumi-lang-yaml=\"`southcentralus`\" pulumi-lang-java=\"`southcentralus`\"\u003e`southcentralus`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`southeastasia`\" pulumi-lang-dotnet=\"`Southeastasia`\" pulumi-lang-go=\"`southeastasia`\" pulumi-lang-python=\"`southeastasia`\" pulumi-lang-yaml=\"`southeastasia`\" pulumi-lang-java=\"`southeastasia`\"\u003e`southeastasia`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`westeurope`\" pulumi-lang-dotnet=\"`Westeurope`\" pulumi-lang-go=\"`westeurope`\" pulumi-lang-python=\"`westeurope`\" pulumi-lang-yaml=\"`westeurope`\" pulumi-lang-java=\"`westeurope`\"\u003e`westeurope`\u003c/span\u003e regions.\n"},"resilientVmDeletionEnabled":{"type":"boolean","description":"Should resilient VM deletion be enabled? When enabled, the service will use a more resilient deletion process that attempts to gracefully handle failures during VM termination. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`resilientVmDeletionEnabled`\" pulumi-lang-dotnet=\"`ResilientVmDeletionEnabled`\" pulumi-lang-go=\"`resilientVmDeletionEnabled`\" pulumi-lang-python=\"`resilient_vm_deletion_enabled`\" pulumi-lang-yaml=\"`resilientVmDeletionEnabled`\" pulumi-lang-java=\"`resilientVmDeletionEnabled`\"\u003e`resilient_vm_deletion_enabled`\u003c/span\u003e is currently not supported in the \u003cspan pulumi-lang-nodejs=\"`austriaeast`\" pulumi-lang-dotnet=\"`Austriaeast`\" pulumi-lang-go=\"`austriaeast`\" pulumi-lang-python=\"`austriaeast`\" pulumi-lang-yaml=\"`austriaeast`\" pulumi-lang-java=\"`austriaeast`\"\u003e`austriaeast`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`belgiumcentral`\" pulumi-lang-dotnet=\"`Belgiumcentral`\" pulumi-lang-go=\"`belgiumcentral`\" pulumi-lang-python=\"`belgiumcentral`\" pulumi-lang-yaml=\"`belgiumcentral`\" pulumi-lang-java=\"`belgiumcentral`\"\u003e`belgiumcentral`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`centraluseuap`\" pulumi-lang-dotnet=\"`Centraluseuap`\" pulumi-lang-go=\"`centraluseuap`\" pulumi-lang-python=\"`centraluseuap`\" pulumi-lang-yaml=\"`centraluseuap`\" pulumi-lang-java=\"`centraluseuap`\"\u003e`centraluseuap`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`chilecentral`\" pulumi-lang-dotnet=\"`Chilecentral`\" pulumi-lang-go=\"`chilecentral`\" pulumi-lang-python=\"`chilecentral`\" pulumi-lang-yaml=\"`chilecentral`\" pulumi-lang-java=\"`chilecentral`\"\u003e`chilecentral`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`indonesiacentral`\" pulumi-lang-dotnet=\"`Indonesiacentral`\" pulumi-lang-go=\"`indonesiacentral`\" pulumi-lang-python=\"`indonesiacentral`\" pulumi-lang-yaml=\"`indonesiacentral`\" pulumi-lang-java=\"`indonesiacentral`\"\u003e`indonesiacentral`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`israelnorthwest`\" pulumi-lang-dotnet=\"`Israelnorthwest`\" pulumi-lang-go=\"`israelnorthwest`\" pulumi-lang-python=\"`israelnorthwest`\" pulumi-lang-yaml=\"`israelnorthwest`\" pulumi-lang-java=\"`israelnorthwest`\"\u003e`israelnorthwest`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`malaysiawest`\" pulumi-lang-dotnet=\"`Malaysiawest`\" pulumi-lang-go=\"`malaysiawest`\" pulumi-lang-python=\"`malaysiawest`\" pulumi-lang-yaml=\"`malaysiawest`\" pulumi-lang-java=\"`malaysiawest`\"\u003e`malaysiawest`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`mexicocentral`\" pulumi-lang-dotnet=\"`Mexicocentral`\" pulumi-lang-go=\"`mexicocentral`\" pulumi-lang-python=\"`mexicocentral`\" pulumi-lang-yaml=\"`mexicocentral`\" pulumi-lang-java=\"`mexicocentral`\"\u003e`mexicocentral`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`newzealandnorth`\" pulumi-lang-dotnet=\"`Newzealandnorth`\" pulumi-lang-go=\"`newzealandnorth`\" pulumi-lang-python=\"`newzealandnorth`\" pulumi-lang-yaml=\"`newzealandnorth`\" pulumi-lang-java=\"`newzealandnorth`\"\u003e`newzealandnorth`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`southcentralus2`\" pulumi-lang-dotnet=\"`Southcentralus2`\" pulumi-lang-go=\"`southcentralus2`\" pulumi-lang-python=\"`southcentralus2`\" pulumi-lang-yaml=\"`southcentralus2`\" pulumi-lang-java=\"`southcentralus2`\"\u003e`southcentralus2`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`southindia`\" pulumi-lang-dotnet=\"`Southindia`\" pulumi-lang-go=\"`southindia`\" pulumi-lang-python=\"`southindia`\" pulumi-lang-yaml=\"`southindia`\" pulumi-lang-java=\"`southindia`\"\u003e`southindia`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`southeastus3`\" pulumi-lang-dotnet=\"`Southeastus3`\" pulumi-lang-go=\"`southeastus3`\" pulumi-lang-python=\"`southeastus3`\" pulumi-lang-yaml=\"`southeastus3`\" pulumi-lang-java=\"`southeastus3`\"\u003e`southeastus3`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`southwestus`\" pulumi-lang-dotnet=\"`Southwestus`\" pulumi-lang-go=\"`southwestus`\" pulumi-lang-python=\"`southwestus`\" pulumi-lang-yaml=\"`southwestus`\" pulumi-lang-java=\"`southwestus`\"\u003e`southwestus`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`eastasia`\" pulumi-lang-dotnet=\"`Eastasia`\" pulumi-lang-go=\"`eastasia`\" pulumi-lang-python=\"`eastasia`\" pulumi-lang-yaml=\"`eastasia`\" pulumi-lang-java=\"`eastasia`\"\u003e`eastasia`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`eastus`\" pulumi-lang-dotnet=\"`Eastus`\" pulumi-lang-go=\"`eastus`\" pulumi-lang-python=\"`eastus`\" pulumi-lang-yaml=\"`eastus`\" pulumi-lang-java=\"`eastus`\"\u003e`eastus`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`southcentralus`\" pulumi-lang-dotnet=\"`Southcentralus`\" pulumi-lang-go=\"`southcentralus`\" pulumi-lang-python=\"`southcentralus`\" pulumi-lang-yaml=\"`southcentralus`\" pulumi-lang-java=\"`southcentralus`\"\u003e`southcentralus`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`southeastasia`\" pulumi-lang-dotnet=\"`Southeastasia`\" pulumi-lang-go=\"`southeastasia`\" pulumi-lang-python=\"`southeastasia`\" pulumi-lang-yaml=\"`southeastasia`\" pulumi-lang-java=\"`southeastasia`\"\u003e`southeastasia`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`westeurope`\" pulumi-lang-dotnet=\"`Westeurope`\" pulumi-lang-go=\"`westeurope`\" pulumi-lang-python=\"`westeurope`\" pulumi-lang-yaml=\"`westeurope`\" pulumi-lang-java=\"`westeurope`\"\u003e`westeurope`\u003c/span\u003e regions.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group in which the Windows Virtual Machine Scale Set should be exist. Changing this forces a new resource to be created.\n"},"rollingUpgradePolicy":{"$ref":"#/types/azure:compute/WindowsVirtualMachineScaleSetRollingUpgradePolicy:WindowsVirtualMachineScaleSetRollingUpgradePolicy","description":"A \u003cspan pulumi-lang-nodejs=\"`rollingUpgradePolicy`\" pulumi-lang-dotnet=\"`RollingUpgradePolicy`\" pulumi-lang-go=\"`rollingUpgradePolicy`\" pulumi-lang-python=\"`rolling_upgrade_policy`\" pulumi-lang-yaml=\"`rollingUpgradePolicy`\" pulumi-lang-java=\"`rollingUpgradePolicy`\"\u003e`rolling_upgrade_policy`\u003c/span\u003e block as defined below. This is Required and can only be specified when \u003cspan pulumi-lang-nodejs=\"`upgradeMode`\" pulumi-lang-dotnet=\"`UpgradeMode`\" pulumi-lang-go=\"`upgradeMode`\" pulumi-lang-python=\"`upgrade_mode`\" pulumi-lang-yaml=\"`upgradeMode`\" pulumi-lang-java=\"`upgradeMode`\"\u003e`upgrade_mode`\u003c/span\u003e is set to `Automatic` or `Rolling`. Changing this forces a new resource to be created.\n"},"scaleIn":{"$ref":"#/types/azure:compute/WindowsVirtualMachineScaleSetScaleIn:WindowsVirtualMachineScaleSetScaleIn","description":"A \u003cspan pulumi-lang-nodejs=\"`scaleIn`\" pulumi-lang-dotnet=\"`ScaleIn`\" pulumi-lang-go=\"`scaleIn`\" pulumi-lang-python=\"`scale_in`\" pulumi-lang-yaml=\"`scaleIn`\" pulumi-lang-java=\"`scaleIn`\"\u003e`scale_in`\u003c/span\u003e block as defined below.\n"},"secrets":{"type":"array","items":{"$ref":"#/types/azure:compute/WindowsVirtualMachineScaleSetSecret:WindowsVirtualMachineScaleSetSecret"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`secret`\" pulumi-lang-dotnet=\"`Secret`\" pulumi-lang-go=\"`secret`\" pulumi-lang-python=\"`secret`\" pulumi-lang-yaml=\"`secret`\" pulumi-lang-java=\"`secret`\"\u003e`secret`\u003c/span\u003e blocks as defined below.\n"},"secureBootEnabled":{"type":"boolean","description":"Specifies if Secure Boot and Trusted Launch is enabled for the Virtual Machine. Changing this forces a new resource to be created.\n"},"singlePlacementGroup":{"type":"boolean","description":"Should this Virtual Machine Scale Set be limited to a Single Placement Group, which means the number of instances will be capped at 100 Virtual Machines. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"sku":{"type":"string","description":"The Virtual Machine SKU for the Scale Set, such as `Standard_F2`.\n"},"sourceImageId":{"type":"string","description":"The ID of an Image which each Virtual Machine in this Scale Set should be based on. Possible Image ID types include `Image ID`, `Shared Image ID`, `Shared Image Version ID`, `Community Gallery Image ID`, `Community Gallery Image Version ID`, `Shared Gallery Image ID` and `Shared Gallery Image Version ID`.\n\n\u003e **Note:** One of either \u003cspan pulumi-lang-nodejs=\"`sourceImageId`\" pulumi-lang-dotnet=\"`SourceImageId`\" pulumi-lang-go=\"`sourceImageId`\" pulumi-lang-python=\"`source_image_id`\" pulumi-lang-yaml=\"`sourceImageId`\" pulumi-lang-java=\"`sourceImageId`\"\u003e`source_image_id`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`sourceImageReference`\" pulumi-lang-dotnet=\"`SourceImageReference`\" pulumi-lang-go=\"`sourceImageReference`\" pulumi-lang-python=\"`source_image_reference`\" pulumi-lang-yaml=\"`sourceImageReference`\" pulumi-lang-java=\"`sourceImageReference`\"\u003e`source_image_reference`\u003c/span\u003e must be set.\n"},"sourceImageReference":{"$ref":"#/types/azure:compute/WindowsVirtualMachineScaleSetSourceImageReference:WindowsVirtualMachineScaleSetSourceImageReference","description":"A \u003cspan pulumi-lang-nodejs=\"`sourceImageReference`\" pulumi-lang-dotnet=\"`SourceImageReference`\" pulumi-lang-go=\"`sourceImageReference`\" pulumi-lang-python=\"`source_image_reference`\" pulumi-lang-yaml=\"`sourceImageReference`\" pulumi-lang-java=\"`sourceImageReference`\"\u003e`source_image_reference`\u003c/span\u003e block as defined below.\n\n\u003e **Note:** One of either \u003cspan pulumi-lang-nodejs=\"`sourceImageId`\" pulumi-lang-dotnet=\"`SourceImageId`\" pulumi-lang-go=\"`sourceImageId`\" pulumi-lang-python=\"`source_image_id`\" pulumi-lang-yaml=\"`sourceImageId`\" pulumi-lang-java=\"`sourceImageId`\"\u003e`source_image_id`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`sourceImageReference`\" pulumi-lang-dotnet=\"`SourceImageReference`\" pulumi-lang-go=\"`sourceImageReference`\" pulumi-lang-python=\"`source_image_reference`\" pulumi-lang-yaml=\"`sourceImageReference`\" pulumi-lang-java=\"`sourceImageReference`\"\u003e`source_image_reference`\u003c/span\u003e must be set.\n"},"spotRestore":{"$ref":"#/types/azure:compute/WindowsVirtualMachineScaleSetSpotRestore:WindowsVirtualMachineScaleSetSpotRestore","description":"A \u003cspan pulumi-lang-nodejs=\"`spotRestore`\" pulumi-lang-dotnet=\"`SpotRestore`\" pulumi-lang-go=\"`spotRestore`\" pulumi-lang-python=\"`spot_restore`\" pulumi-lang-yaml=\"`spotRestore`\" pulumi-lang-java=\"`spotRestore`\"\u003e`spot_restore`\u003c/span\u003e block as defined below.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to this Virtual Machine Scale Set.\n"},"terminationNotification":{"$ref":"#/types/azure:compute/WindowsVirtualMachineScaleSetTerminationNotification:WindowsVirtualMachineScaleSetTerminationNotification","description":"A \u003cspan pulumi-lang-nodejs=\"`terminationNotification`\" pulumi-lang-dotnet=\"`TerminationNotification`\" pulumi-lang-go=\"`terminationNotification`\" pulumi-lang-python=\"`termination_notification`\" pulumi-lang-yaml=\"`terminationNotification`\" pulumi-lang-java=\"`terminationNotification`\"\u003e`termination_notification`\u003c/span\u003e block as defined below.\n"},"timezone":{"type":"string","description":"Specifies the time zone of the virtual machine, [the possible values are defined here](https://jackstromberg.com/2017/01/list-of-time-zones-consumed-by-azure/).\n"},"uniqueId":{"type":"string","description":"The Unique ID for this Windows Virtual Machine Scale Set.\n"},"upgradeMode":{"type":"string","description":"Specifies how Upgrades (e.g. changing the Image/SKU) should be performed to Virtual Machine Instances. Possible values are `Automatic`, `Manual` and `Rolling`. Defaults to `Manual`. Changing this forces a new resource to be created.\n\n\u003e **Note:** If rolling upgrades are configured and running on a Linux Virtual Machine Scale Set, they will be cancelled when Terraform tries to destroy the resource.\n"},"userData":{"type":"string","description":"The Base64-Encoded User Data which should be used for this Virtual Machine Scale Set.\n"},"vtpmEnabled":{"type":"boolean","description":"Specifies if vTPM (Virtual Trusted Platform Module) and Trusted Launch is enabled for the Virtual Machine. Changing this forces a new resource to be created.\n"},"winrmListeners":{"type":"array","items":{"$ref":"#/types/azure:compute/WindowsVirtualMachineScaleSetWinrmListener:WindowsVirtualMachineScaleSetWinrmListener"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`winrmListener`\" pulumi-lang-dotnet=\"`WinrmListener`\" pulumi-lang-go=\"`winrmListener`\" pulumi-lang-python=\"`winrm_listener`\" pulumi-lang-yaml=\"`winrmListener`\" pulumi-lang-java=\"`winrmListener`\"\u003e`winrm_listener`\u003c/span\u003e blocks as defined below. Changing this forces a new resource to be created.\n"},"zoneBalance":{"type":"boolean","description":"Should the Virtual Machines in this Scale Set be strictly evenly distributed across Availability Zones? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Changing this forces a new resource to be created.\n\n\u003e **Note:** This can only be set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e when one or more \u003cspan pulumi-lang-nodejs=\"`zones`\" pulumi-lang-dotnet=\"`Zones`\" pulumi-lang-go=\"`zones`\" pulumi-lang-python=\"`zones`\" pulumi-lang-yaml=\"`zones`\" pulumi-lang-java=\"`zones`\"\u003e`zones`\u003c/span\u003e are configured.\n"},"zones":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Availability Zones in which this Windows Virtual Machine Scale Set should be located.\n\n\u003e **Note:** Updating \u003cspan pulumi-lang-nodejs=\"`zones`\" pulumi-lang-dotnet=\"`Zones`\" pulumi-lang-go=\"`zones`\" pulumi-lang-python=\"`zones`\" pulumi-lang-yaml=\"`zones`\" pulumi-lang-java=\"`zones`\"\u003e`zones`\u003c/span\u003e to remove an existing zone forces a new Virtual Machine Scale Set to be created.\n"}},"required":["adminPassword","adminUsername","automaticInstanceRepair","computerNamePrefix","extensions","instances","location","name","networkInterfaces","osDisk","platformFaultDomainCount","resourceGroupName","sku","spotRestore","terminationNotification","uniqueId"],"inputProperties":{"additionalCapabilities":{"$ref":"#/types/azure:compute/WindowsVirtualMachineScaleSetAdditionalCapabilities:WindowsVirtualMachineScaleSetAdditionalCapabilities","description":"An \u003cspan pulumi-lang-nodejs=\"`additionalCapabilities`\" pulumi-lang-dotnet=\"`AdditionalCapabilities`\" pulumi-lang-go=\"`additionalCapabilities`\" pulumi-lang-python=\"`additional_capabilities`\" pulumi-lang-yaml=\"`additionalCapabilities`\" pulumi-lang-java=\"`additionalCapabilities`\"\u003e`additional_capabilities`\u003c/span\u003e block as defined below.\n"},"additionalUnattendContents":{"type":"array","items":{"$ref":"#/types/azure:compute/WindowsVirtualMachineScaleSetAdditionalUnattendContent:WindowsVirtualMachineScaleSetAdditionalUnattendContent"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`additionalUnattendContent`\" pulumi-lang-dotnet=\"`AdditionalUnattendContent`\" pulumi-lang-go=\"`additionalUnattendContent`\" pulumi-lang-python=\"`additional_unattend_content`\" pulumi-lang-yaml=\"`additionalUnattendContent`\" pulumi-lang-java=\"`additionalUnattendContent`\"\u003e`additional_unattend_content`\u003c/span\u003e blocks as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"adminPassword":{"type":"string","description":"The Password which should be used for the local-administrator on this Virtual Machine. Changing this forces a new resource to be created.\n","secret":true,"willReplaceOnChanges":true},"adminUsername":{"type":"string","description":"The username of the local administrator on each Virtual Machine Scale Set instance. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"automaticInstanceRepair":{"$ref":"#/types/azure:compute/WindowsVirtualMachineScaleSetAutomaticInstanceRepair:WindowsVirtualMachineScaleSetAutomaticInstanceRepair","description":"An \u003cspan pulumi-lang-nodejs=\"`automaticInstanceRepair`\" pulumi-lang-dotnet=\"`AutomaticInstanceRepair`\" pulumi-lang-go=\"`automaticInstanceRepair`\" pulumi-lang-python=\"`automatic_instance_repair`\" pulumi-lang-yaml=\"`automaticInstanceRepair`\" pulumi-lang-java=\"`automaticInstanceRepair`\"\u003e`automatic_instance_repair`\u003c/span\u003e block as defined below. To enable the automatic instance repair, this Virtual Machine Scale Set must have a valid \u003cspan pulumi-lang-nodejs=\"`healthProbeId`\" pulumi-lang-dotnet=\"`HealthProbeId`\" pulumi-lang-go=\"`healthProbeId`\" pulumi-lang-python=\"`health_probe_id`\" pulumi-lang-yaml=\"`healthProbeId`\" pulumi-lang-java=\"`healthProbeId`\"\u003e`health_probe_id`\u003c/span\u003e or an [Application Health Extension](https://docs.microsoft.com/azure/virtual-machine-scale-sets/virtual-machine-scale-sets-health-extension).\n\n\u003e **Note:** For more information about Automatic Instance Repair, please refer to [this doc](https://docs.microsoft.com/azure/virtual-machine-scale-sets/virtual-machine-scale-sets-automatic-instance-repairs).\n"},"automaticOsUpgradePolicy":{"$ref":"#/types/azure:compute/WindowsVirtualMachineScaleSetAutomaticOsUpgradePolicy:WindowsVirtualMachineScaleSetAutomaticOsUpgradePolicy","description":"An \u003cspan pulumi-lang-nodejs=\"`automaticOsUpgradePolicy`\" pulumi-lang-dotnet=\"`AutomaticOsUpgradePolicy`\" pulumi-lang-go=\"`automaticOsUpgradePolicy`\" pulumi-lang-python=\"`automatic_os_upgrade_policy`\" pulumi-lang-yaml=\"`automaticOsUpgradePolicy`\" pulumi-lang-java=\"`automaticOsUpgradePolicy`\"\u003e`automatic_os_upgrade_policy`\u003c/span\u003e block as defined below. This can only be specified when \u003cspan pulumi-lang-nodejs=\"`upgradeMode`\" pulumi-lang-dotnet=\"`UpgradeMode`\" pulumi-lang-go=\"`upgradeMode`\" pulumi-lang-python=\"`upgrade_mode`\" pulumi-lang-yaml=\"`upgradeMode`\" pulumi-lang-java=\"`upgradeMode`\"\u003e`upgrade_mode`\u003c/span\u003e is set to either `Automatic` or `Rolling`.\n"},"bootDiagnostics":{"$ref":"#/types/azure:compute/WindowsVirtualMachineScaleSetBootDiagnostics:WindowsVirtualMachineScaleSetBootDiagnostics","description":"A \u003cspan pulumi-lang-nodejs=\"`bootDiagnostics`\" pulumi-lang-dotnet=\"`BootDiagnostics`\" pulumi-lang-go=\"`bootDiagnostics`\" pulumi-lang-python=\"`boot_diagnostics`\" pulumi-lang-yaml=\"`bootDiagnostics`\" pulumi-lang-java=\"`bootDiagnostics`\"\u003e`boot_diagnostics`\u003c/span\u003e block as defined below.\n"},"capacityReservationGroupId":{"type":"string","description":"Specifies the ID of the Capacity Reservation Group which the Virtual Machine Scale Set should be allocated to. Changing this forces a new resource to be created.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`capacityReservationGroupId`\" pulumi-lang-dotnet=\"`CapacityReservationGroupId`\" pulumi-lang-go=\"`capacityReservationGroupId`\" pulumi-lang-python=\"`capacity_reservation_group_id`\" pulumi-lang-yaml=\"`capacityReservationGroupId`\" pulumi-lang-java=\"`capacityReservationGroupId`\"\u003e`capacity_reservation_group_id`\u003c/span\u003e cannot be used with \u003cspan pulumi-lang-nodejs=\"`proximityPlacementGroupId`\" pulumi-lang-dotnet=\"`ProximityPlacementGroupId`\" pulumi-lang-go=\"`proximityPlacementGroupId`\" pulumi-lang-python=\"`proximity_placement_group_id`\" pulumi-lang-yaml=\"`proximityPlacementGroupId`\" pulumi-lang-java=\"`proximityPlacementGroupId`\"\u003e`proximity_placement_group_id`\u003c/span\u003e\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`singlePlacementGroup`\" pulumi-lang-dotnet=\"`SinglePlacementGroup`\" pulumi-lang-go=\"`singlePlacementGroup`\" pulumi-lang-python=\"`single_placement_group`\" pulumi-lang-yaml=\"`singlePlacementGroup`\" pulumi-lang-java=\"`singlePlacementGroup`\"\u003e`single_placement_group`\u003c/span\u003e must be set to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e when \u003cspan pulumi-lang-nodejs=\"`capacityReservationGroupId`\" pulumi-lang-dotnet=\"`CapacityReservationGroupId`\" pulumi-lang-go=\"`capacityReservationGroupId`\" pulumi-lang-python=\"`capacity_reservation_group_id`\" pulumi-lang-yaml=\"`capacityReservationGroupId`\" pulumi-lang-java=\"`capacityReservationGroupId`\"\u003e`capacity_reservation_group_id`\u003c/span\u003e is specified.\n","willReplaceOnChanges":true},"computerNamePrefix":{"type":"string","description":"The prefix which should be used for the name of the Virtual Machines in this Scale Set. If unspecified this defaults to the value for the \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e field. If the value of the \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e field is not a valid \u003cspan pulumi-lang-nodejs=\"`computerNamePrefix`\" pulumi-lang-dotnet=\"`ComputerNamePrefix`\" pulumi-lang-go=\"`computerNamePrefix`\" pulumi-lang-python=\"`computer_name_prefix`\" pulumi-lang-yaml=\"`computerNamePrefix`\" pulumi-lang-java=\"`computerNamePrefix`\"\u003e`computer_name_prefix`\u003c/span\u003e, then you must specify \u003cspan pulumi-lang-nodejs=\"`computerNamePrefix`\" pulumi-lang-dotnet=\"`ComputerNamePrefix`\" pulumi-lang-go=\"`computerNamePrefix`\" pulumi-lang-python=\"`computer_name_prefix`\" pulumi-lang-yaml=\"`computerNamePrefix`\" pulumi-lang-java=\"`computerNamePrefix`\"\u003e`computer_name_prefix`\u003c/span\u003e. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"customData":{"type":"string","description":"The Base64-Encoded Custom Data which should be used for this Virtual Machine Scale Set.\n\n\u003e **Note:** When Custom Data has been configured, it's not possible to remove it without tainting the Virtual Machine Scale Set, due to a limitation of the Azure API.\n","secret":true},"dataDisks":{"type":"array","items":{"$ref":"#/types/azure:compute/WindowsVirtualMachineScaleSetDataDisk:WindowsVirtualMachineScaleSetDataDisk"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`dataDisk`\" pulumi-lang-dotnet=\"`DataDisk`\" pulumi-lang-go=\"`dataDisk`\" pulumi-lang-python=\"`data_disk`\" pulumi-lang-yaml=\"`dataDisk`\" pulumi-lang-java=\"`dataDisk`\"\u003e`data_disk`\u003c/span\u003e blocks as defined below.\n"},"doNotRunExtensionsOnOverprovisionedMachines":{"type":"boolean","description":"Should Virtual Machine Extensions be run on Overprovisioned Virtual Machines in the Scale Set? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"edgeZone":{"type":"string","description":"Specifies the Edge Zone within the Azure Region where this Windows Virtual Machine Scale Set should exist. Changing this forces a new Windows Virtual Machine Scale Set to be created.\n","willReplaceOnChanges":true},"enableAutomaticUpdates":{"type":"boolean","description":"Are automatic updates enabled for this Virtual Machine? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"encryptionAtHostEnabled":{"type":"boolean","description":"Should all of the disks (including the temp disk) attached to this Virtual Machine be encrypted by enabling Encryption at Host?\n"},"evictionPolicy":{"type":"string","description":"Specifies the eviction policy for Virtual Machines in this Scale Set. Possible values are `Deallocate` and `Delete`. Changing this forces a new resource to be created.\n\n\u003e **Note:** This can only be configured when \u003cspan pulumi-lang-nodejs=\"`priority`\" pulumi-lang-dotnet=\"`Priority`\" pulumi-lang-go=\"`priority`\" pulumi-lang-python=\"`priority`\" pulumi-lang-yaml=\"`priority`\" pulumi-lang-java=\"`priority`\"\u003e`priority`\u003c/span\u003e is set to `Spot`.\n","willReplaceOnChanges":true},"extensionOperationsEnabled":{"type":"boolean","description":"Should extension operations be allowed on the Virtual Machine Scale Set? Possible values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e. Changing this forces a new Windows Virtual Machine Scale Set to be created.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`extensionOperationsEnabled`\" pulumi-lang-dotnet=\"`ExtensionOperationsEnabled`\" pulumi-lang-go=\"`extensionOperationsEnabled`\" pulumi-lang-python=\"`extension_operations_enabled`\" pulumi-lang-yaml=\"`extensionOperationsEnabled`\" pulumi-lang-java=\"`extensionOperationsEnabled`\"\u003e`extension_operations_enabled`\u003c/span\u003e may only be set to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e if there are no extensions defined in the \u003cspan pulumi-lang-nodejs=\"`extension`\" pulumi-lang-dotnet=\"`Extension`\" pulumi-lang-go=\"`extension`\" pulumi-lang-python=\"`extension`\" pulumi-lang-yaml=\"`extension`\" pulumi-lang-java=\"`extension`\"\u003e`extension`\u003c/span\u003e field.\n","willReplaceOnChanges":true},"extensions":{"type":"array","items":{"$ref":"#/types/azure:compute/WindowsVirtualMachineScaleSetExtension:WindowsVirtualMachineScaleSetExtension"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`extension`\" pulumi-lang-dotnet=\"`Extension`\" pulumi-lang-go=\"`extension`\" pulumi-lang-python=\"`extension`\" pulumi-lang-yaml=\"`extension`\" pulumi-lang-java=\"`extension`\"\u003e`extension`\u003c/span\u003e blocks as defined below\n"},"extensionsTimeBudget":{"type":"string","description":"Specifies the duration allocated for all extensions to start. The time duration should be between \u003cspan pulumi-lang-nodejs=\"`15`\" pulumi-lang-dotnet=\"`15`\" pulumi-lang-go=\"`15`\" pulumi-lang-python=\"`15`\" pulumi-lang-yaml=\"`15`\" pulumi-lang-java=\"`15`\"\u003e`15`\u003c/span\u003e minutes and \u003cspan pulumi-lang-nodejs=\"`120`\" pulumi-lang-dotnet=\"`120`\" pulumi-lang-go=\"`120`\" pulumi-lang-python=\"`120`\" pulumi-lang-yaml=\"`120`\" pulumi-lang-java=\"`120`\"\u003e`120`\u003c/span\u003e minutes (inclusive) and should be specified in ISO 8601 format. Defaults to `PT1H30M`.\n"},"galleryApplications":{"type":"array","items":{"$ref":"#/types/azure:compute/WindowsVirtualMachineScaleSetGalleryApplication:WindowsVirtualMachineScaleSetGalleryApplication"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`galleryApplication`\" pulumi-lang-dotnet=\"`GalleryApplication`\" pulumi-lang-go=\"`galleryApplication`\" pulumi-lang-python=\"`gallery_application`\" pulumi-lang-yaml=\"`galleryApplication`\" pulumi-lang-java=\"`galleryApplication`\"\u003e`gallery_application`\u003c/span\u003e blocks as defined below.\n"},"healthProbeId":{"type":"string","description":"The ID of a Load Balancer Probe which should be used to determine the health of an instance. This is Required and can only be specified when \u003cspan pulumi-lang-nodejs=\"`upgradeMode`\" pulumi-lang-dotnet=\"`UpgradeMode`\" pulumi-lang-go=\"`upgradeMode`\" pulumi-lang-python=\"`upgrade_mode`\" pulumi-lang-yaml=\"`upgradeMode`\" pulumi-lang-java=\"`upgradeMode`\"\u003e`upgrade_mode`\u003c/span\u003e is set to `Automatic` or `Rolling`.\n"},"hostGroupId":{"type":"string","description":"Specifies the ID of the dedicated host group that the virtual machine scale set resides in. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"identity":{"$ref":"#/types/azure:compute/WindowsVirtualMachineScaleSetIdentity:WindowsVirtualMachineScaleSetIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"instances":{"type":"integer","description":"The number of Virtual Machines in the Scale Set.\n\n\u003e **NOTE:** If you're using AutoScaling, you may wish to use [`Ignore Changes` functionality](https://www.pulumi.com/docs/intro/concepts/programming-model/#ignorechanges) to ignore changes to this field.\n"},"licenseType":{"type":"string","description":"Specifies the type of on-premise license (also known as [Azure Hybrid Use Benefit](https://docs.microsoft.com/en-gb/windows-server/get-started/azure-hybrid-benefit)) which should be used for this Virtual Machine Scale Set. Possible values are `None`, `Windows_Client` and `Windows_Server`.\n"},"location":{"type":"string","description":"The Azure location where the Windows Virtual Machine Scale Set should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"maxBidPrice":{"type":"number","description":"The maximum price you're willing to pay for each Virtual Machine in this Scale Set, in US Dollars; which must be greater than the current spot price. If this bid price falls below the current spot price the Virtual Machines in the Scale Set will be evicted using the \u003cspan pulumi-lang-nodejs=\"`evictionPolicy`\" pulumi-lang-dotnet=\"`EvictionPolicy`\" pulumi-lang-go=\"`evictionPolicy`\" pulumi-lang-python=\"`eviction_policy`\" pulumi-lang-yaml=\"`evictionPolicy`\" pulumi-lang-java=\"`evictionPolicy`\"\u003e`eviction_policy`\u003c/span\u003e. Defaults to `-1`, which means that each Virtual Machine in the Scale Set should not be evicted for price reasons.\n\n\u003e **Note:** This can only be configured when \u003cspan pulumi-lang-nodejs=\"`priority`\" pulumi-lang-dotnet=\"`Priority`\" pulumi-lang-go=\"`priority`\" pulumi-lang-python=\"`priority`\" pulumi-lang-yaml=\"`priority`\" pulumi-lang-java=\"`priority`\"\u003e`priority`\u003c/span\u003e is set to `Spot`.\n"},"name":{"type":"string","description":"The name of the Windows Virtual Machine Scale Set. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"networkInterfaces":{"type":"array","items":{"$ref":"#/types/azure:compute/WindowsVirtualMachineScaleSetNetworkInterface:WindowsVirtualMachineScaleSetNetworkInterface"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`networkInterface`\" pulumi-lang-dotnet=\"`NetworkInterface`\" pulumi-lang-go=\"`networkInterface`\" pulumi-lang-python=\"`network_interface`\" pulumi-lang-yaml=\"`networkInterface`\" pulumi-lang-java=\"`networkInterface`\"\u003e`network_interface`\u003c/span\u003e blocks as defined below.\n"},"osDisk":{"$ref":"#/types/azure:compute/WindowsVirtualMachineScaleSetOsDisk:WindowsVirtualMachineScaleSetOsDisk","description":"An \u003cspan pulumi-lang-nodejs=\"`osDisk`\" pulumi-lang-dotnet=\"`OsDisk`\" pulumi-lang-go=\"`osDisk`\" pulumi-lang-python=\"`os_disk`\" pulumi-lang-yaml=\"`osDisk`\" pulumi-lang-java=\"`osDisk`\"\u003e`os_disk`\u003c/span\u003e block as defined below.\n"},"overprovision":{"type":"boolean","description":"Should Azure over-provision Virtual Machines in this Scale Set? This means that multiple Virtual Machines will be provisioned and Azure will keep the instances which become available first - which improves provisioning success rates and improves deployment time. You're not billed for these over-provisioned VM's and they don't count towards the Subscription Quota. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"plan":{"$ref":"#/types/azure:compute/WindowsVirtualMachineScaleSetPlan:WindowsVirtualMachineScaleSetPlan","description":"A \u003cspan pulumi-lang-nodejs=\"`plan`\" pulumi-lang-dotnet=\"`Plan`\" pulumi-lang-go=\"`plan`\" pulumi-lang-python=\"`plan`\" pulumi-lang-yaml=\"`plan`\" pulumi-lang-java=\"`plan`\"\u003e`plan`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n\n\u003e **Note:** When using an image from Azure Marketplace a \u003cspan pulumi-lang-nodejs=\"`plan`\" pulumi-lang-dotnet=\"`Plan`\" pulumi-lang-go=\"`plan`\" pulumi-lang-python=\"`plan`\" pulumi-lang-yaml=\"`plan`\" pulumi-lang-java=\"`plan`\"\u003e`plan`\u003c/span\u003e must be specified.\n","willReplaceOnChanges":true},"platformFaultDomainCount":{"type":"integer","description":"Specifies the number of fault domains that are used by this Linux Virtual Machine Scale Set. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"priority":{"type":"string","description":"The Priority of this Virtual Machine Scale Set. Possible values are `Regular` and `Spot`. Defaults to `Regular`. Changing this value forces a new resource.\n\n\u003e **Note:** When \u003cspan pulumi-lang-nodejs=\"`priority`\" pulumi-lang-dotnet=\"`Priority`\" pulumi-lang-go=\"`priority`\" pulumi-lang-python=\"`priority`\" pulumi-lang-yaml=\"`priority`\" pulumi-lang-java=\"`priority`\"\u003e`priority`\u003c/span\u003e is set to `Spot` an \u003cspan pulumi-lang-nodejs=\"`evictionPolicy`\" pulumi-lang-dotnet=\"`EvictionPolicy`\" pulumi-lang-go=\"`evictionPolicy`\" pulumi-lang-python=\"`eviction_policy`\" pulumi-lang-yaml=\"`evictionPolicy`\" pulumi-lang-java=\"`evictionPolicy`\"\u003e`eviction_policy`\u003c/span\u003e must be specified.\n","willReplaceOnChanges":true},"provisionVmAgent":{"type":"boolean","description":"Should the Azure VM Agent be provisioned on each Virtual Machine in the Scale Set? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e. Changing this value forces a new resource to be created.\n","willReplaceOnChanges":true},"proximityPlacementGroupId":{"type":"string","description":"The ID of the Proximity Placement Group in which the Virtual Machine Scale Set should be assigned to. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resilientVmCreationEnabled":{"type":"boolean","description":"Should resilient VM creation be enabled? When enabled, the service will attempt to create VMs in alternative fault domains or zones if the primary location fails during creation. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`resilientVmCreationEnabled`\" pulumi-lang-dotnet=\"`ResilientVmCreationEnabled`\" pulumi-lang-go=\"`resilientVmCreationEnabled`\" pulumi-lang-python=\"`resilient_vm_creation_enabled`\" pulumi-lang-yaml=\"`resilientVmCreationEnabled`\" pulumi-lang-java=\"`resilientVmCreationEnabled`\"\u003e`resilient_vm_creation_enabled`\u003c/span\u003e is currently not supported in the \u003cspan pulumi-lang-nodejs=\"`austriaeast`\" pulumi-lang-dotnet=\"`Austriaeast`\" pulumi-lang-go=\"`austriaeast`\" pulumi-lang-python=\"`austriaeast`\" pulumi-lang-yaml=\"`austriaeast`\" pulumi-lang-java=\"`austriaeast`\"\u003e`austriaeast`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`belgiumcentral`\" pulumi-lang-dotnet=\"`Belgiumcentral`\" pulumi-lang-go=\"`belgiumcentral`\" pulumi-lang-python=\"`belgiumcentral`\" pulumi-lang-yaml=\"`belgiumcentral`\" pulumi-lang-java=\"`belgiumcentral`\"\u003e`belgiumcentral`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`centraluseuap`\" pulumi-lang-dotnet=\"`Centraluseuap`\" pulumi-lang-go=\"`centraluseuap`\" pulumi-lang-python=\"`centraluseuap`\" pulumi-lang-yaml=\"`centraluseuap`\" pulumi-lang-java=\"`centraluseuap`\"\u003e`centraluseuap`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`chilecentral`\" pulumi-lang-dotnet=\"`Chilecentral`\" pulumi-lang-go=\"`chilecentral`\" pulumi-lang-python=\"`chilecentral`\" pulumi-lang-yaml=\"`chilecentral`\" pulumi-lang-java=\"`chilecentral`\"\u003e`chilecentral`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`indonesiacentral`\" pulumi-lang-dotnet=\"`Indonesiacentral`\" pulumi-lang-go=\"`indonesiacentral`\" pulumi-lang-python=\"`indonesiacentral`\" pulumi-lang-yaml=\"`indonesiacentral`\" pulumi-lang-java=\"`indonesiacentral`\"\u003e`indonesiacentral`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`israelnorthwest`\" pulumi-lang-dotnet=\"`Israelnorthwest`\" pulumi-lang-go=\"`israelnorthwest`\" pulumi-lang-python=\"`israelnorthwest`\" pulumi-lang-yaml=\"`israelnorthwest`\" pulumi-lang-java=\"`israelnorthwest`\"\u003e`israelnorthwest`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`malaysiawest`\" pulumi-lang-dotnet=\"`Malaysiawest`\" pulumi-lang-go=\"`malaysiawest`\" pulumi-lang-python=\"`malaysiawest`\" pulumi-lang-yaml=\"`malaysiawest`\" pulumi-lang-java=\"`malaysiawest`\"\u003e`malaysiawest`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`mexicocentral`\" pulumi-lang-dotnet=\"`Mexicocentral`\" pulumi-lang-go=\"`mexicocentral`\" pulumi-lang-python=\"`mexicocentral`\" pulumi-lang-yaml=\"`mexicocentral`\" pulumi-lang-java=\"`mexicocentral`\"\u003e`mexicocentral`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`newzealandnorth`\" pulumi-lang-dotnet=\"`Newzealandnorth`\" pulumi-lang-go=\"`newzealandnorth`\" pulumi-lang-python=\"`newzealandnorth`\" pulumi-lang-yaml=\"`newzealandnorth`\" pulumi-lang-java=\"`newzealandnorth`\"\u003e`newzealandnorth`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`southcentralus2`\" pulumi-lang-dotnet=\"`Southcentralus2`\" pulumi-lang-go=\"`southcentralus2`\" pulumi-lang-python=\"`southcentralus2`\" pulumi-lang-yaml=\"`southcentralus2`\" pulumi-lang-java=\"`southcentralus2`\"\u003e`southcentralus2`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`southindia`\" pulumi-lang-dotnet=\"`Southindia`\" pulumi-lang-go=\"`southindia`\" pulumi-lang-python=\"`southindia`\" pulumi-lang-yaml=\"`southindia`\" pulumi-lang-java=\"`southindia`\"\u003e`southindia`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`southeastus3`\" pulumi-lang-dotnet=\"`Southeastus3`\" pulumi-lang-go=\"`southeastus3`\" pulumi-lang-python=\"`southeastus3`\" pulumi-lang-yaml=\"`southeastus3`\" pulumi-lang-java=\"`southeastus3`\"\u003e`southeastus3`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`southwestus`\" pulumi-lang-dotnet=\"`Southwestus`\" pulumi-lang-go=\"`southwestus`\" pulumi-lang-python=\"`southwestus`\" pulumi-lang-yaml=\"`southwestus`\" pulumi-lang-java=\"`southwestus`\"\u003e`southwestus`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`eastasia`\" pulumi-lang-dotnet=\"`Eastasia`\" pulumi-lang-go=\"`eastasia`\" pulumi-lang-python=\"`eastasia`\" pulumi-lang-yaml=\"`eastasia`\" pulumi-lang-java=\"`eastasia`\"\u003e`eastasia`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`eastus`\" pulumi-lang-dotnet=\"`Eastus`\" pulumi-lang-go=\"`eastus`\" pulumi-lang-python=\"`eastus`\" pulumi-lang-yaml=\"`eastus`\" pulumi-lang-java=\"`eastus`\"\u003e`eastus`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`southcentralus`\" pulumi-lang-dotnet=\"`Southcentralus`\" pulumi-lang-go=\"`southcentralus`\" pulumi-lang-python=\"`southcentralus`\" pulumi-lang-yaml=\"`southcentralus`\" pulumi-lang-java=\"`southcentralus`\"\u003e`southcentralus`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`southeastasia`\" pulumi-lang-dotnet=\"`Southeastasia`\" pulumi-lang-go=\"`southeastasia`\" pulumi-lang-python=\"`southeastasia`\" pulumi-lang-yaml=\"`southeastasia`\" pulumi-lang-java=\"`southeastasia`\"\u003e`southeastasia`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`westeurope`\" pulumi-lang-dotnet=\"`Westeurope`\" pulumi-lang-go=\"`westeurope`\" pulumi-lang-python=\"`westeurope`\" pulumi-lang-yaml=\"`westeurope`\" pulumi-lang-java=\"`westeurope`\"\u003e`westeurope`\u003c/span\u003e regions.\n"},"resilientVmDeletionEnabled":{"type":"boolean","description":"Should resilient VM deletion be enabled? When enabled, the service will use a more resilient deletion process that attempts to gracefully handle failures during VM termination. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`resilientVmDeletionEnabled`\" pulumi-lang-dotnet=\"`ResilientVmDeletionEnabled`\" pulumi-lang-go=\"`resilientVmDeletionEnabled`\" pulumi-lang-python=\"`resilient_vm_deletion_enabled`\" pulumi-lang-yaml=\"`resilientVmDeletionEnabled`\" pulumi-lang-java=\"`resilientVmDeletionEnabled`\"\u003e`resilient_vm_deletion_enabled`\u003c/span\u003e is currently not supported in the \u003cspan pulumi-lang-nodejs=\"`austriaeast`\" pulumi-lang-dotnet=\"`Austriaeast`\" pulumi-lang-go=\"`austriaeast`\" pulumi-lang-python=\"`austriaeast`\" pulumi-lang-yaml=\"`austriaeast`\" pulumi-lang-java=\"`austriaeast`\"\u003e`austriaeast`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`belgiumcentral`\" pulumi-lang-dotnet=\"`Belgiumcentral`\" pulumi-lang-go=\"`belgiumcentral`\" pulumi-lang-python=\"`belgiumcentral`\" pulumi-lang-yaml=\"`belgiumcentral`\" pulumi-lang-java=\"`belgiumcentral`\"\u003e`belgiumcentral`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`centraluseuap`\" pulumi-lang-dotnet=\"`Centraluseuap`\" pulumi-lang-go=\"`centraluseuap`\" pulumi-lang-python=\"`centraluseuap`\" pulumi-lang-yaml=\"`centraluseuap`\" pulumi-lang-java=\"`centraluseuap`\"\u003e`centraluseuap`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`chilecentral`\" pulumi-lang-dotnet=\"`Chilecentral`\" pulumi-lang-go=\"`chilecentral`\" pulumi-lang-python=\"`chilecentral`\" pulumi-lang-yaml=\"`chilecentral`\" pulumi-lang-java=\"`chilecentral`\"\u003e`chilecentral`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`indonesiacentral`\" pulumi-lang-dotnet=\"`Indonesiacentral`\" pulumi-lang-go=\"`indonesiacentral`\" pulumi-lang-python=\"`indonesiacentral`\" pulumi-lang-yaml=\"`indonesiacentral`\" pulumi-lang-java=\"`indonesiacentral`\"\u003e`indonesiacentral`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`israelnorthwest`\" pulumi-lang-dotnet=\"`Israelnorthwest`\" pulumi-lang-go=\"`israelnorthwest`\" pulumi-lang-python=\"`israelnorthwest`\" pulumi-lang-yaml=\"`israelnorthwest`\" pulumi-lang-java=\"`israelnorthwest`\"\u003e`israelnorthwest`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`malaysiawest`\" pulumi-lang-dotnet=\"`Malaysiawest`\" pulumi-lang-go=\"`malaysiawest`\" pulumi-lang-python=\"`malaysiawest`\" pulumi-lang-yaml=\"`malaysiawest`\" pulumi-lang-java=\"`malaysiawest`\"\u003e`malaysiawest`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`mexicocentral`\" pulumi-lang-dotnet=\"`Mexicocentral`\" pulumi-lang-go=\"`mexicocentral`\" pulumi-lang-python=\"`mexicocentral`\" pulumi-lang-yaml=\"`mexicocentral`\" pulumi-lang-java=\"`mexicocentral`\"\u003e`mexicocentral`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`newzealandnorth`\" pulumi-lang-dotnet=\"`Newzealandnorth`\" pulumi-lang-go=\"`newzealandnorth`\" pulumi-lang-python=\"`newzealandnorth`\" pulumi-lang-yaml=\"`newzealandnorth`\" pulumi-lang-java=\"`newzealandnorth`\"\u003e`newzealandnorth`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`southcentralus2`\" pulumi-lang-dotnet=\"`Southcentralus2`\" pulumi-lang-go=\"`southcentralus2`\" pulumi-lang-python=\"`southcentralus2`\" pulumi-lang-yaml=\"`southcentralus2`\" pulumi-lang-java=\"`southcentralus2`\"\u003e`southcentralus2`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`southindia`\" pulumi-lang-dotnet=\"`Southindia`\" pulumi-lang-go=\"`southindia`\" pulumi-lang-python=\"`southindia`\" pulumi-lang-yaml=\"`southindia`\" pulumi-lang-java=\"`southindia`\"\u003e`southindia`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`southeastus3`\" pulumi-lang-dotnet=\"`Southeastus3`\" pulumi-lang-go=\"`southeastus3`\" pulumi-lang-python=\"`southeastus3`\" pulumi-lang-yaml=\"`southeastus3`\" pulumi-lang-java=\"`southeastus3`\"\u003e`southeastus3`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`southwestus`\" pulumi-lang-dotnet=\"`Southwestus`\" pulumi-lang-go=\"`southwestus`\" pulumi-lang-python=\"`southwestus`\" pulumi-lang-yaml=\"`southwestus`\" pulumi-lang-java=\"`southwestus`\"\u003e`southwestus`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`eastasia`\" pulumi-lang-dotnet=\"`Eastasia`\" pulumi-lang-go=\"`eastasia`\" pulumi-lang-python=\"`eastasia`\" pulumi-lang-yaml=\"`eastasia`\" pulumi-lang-java=\"`eastasia`\"\u003e`eastasia`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`eastus`\" pulumi-lang-dotnet=\"`Eastus`\" pulumi-lang-go=\"`eastus`\" pulumi-lang-python=\"`eastus`\" pulumi-lang-yaml=\"`eastus`\" pulumi-lang-java=\"`eastus`\"\u003e`eastus`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`southcentralus`\" pulumi-lang-dotnet=\"`Southcentralus`\" pulumi-lang-go=\"`southcentralus`\" pulumi-lang-python=\"`southcentralus`\" pulumi-lang-yaml=\"`southcentralus`\" pulumi-lang-java=\"`southcentralus`\"\u003e`southcentralus`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`southeastasia`\" pulumi-lang-dotnet=\"`Southeastasia`\" pulumi-lang-go=\"`southeastasia`\" pulumi-lang-python=\"`southeastasia`\" pulumi-lang-yaml=\"`southeastasia`\" pulumi-lang-java=\"`southeastasia`\"\u003e`southeastasia`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`westeurope`\" pulumi-lang-dotnet=\"`Westeurope`\" pulumi-lang-go=\"`westeurope`\" pulumi-lang-python=\"`westeurope`\" pulumi-lang-yaml=\"`westeurope`\" pulumi-lang-java=\"`westeurope`\"\u003e`westeurope`\u003c/span\u003e regions.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group in which the Windows Virtual Machine Scale Set should be exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"rollingUpgradePolicy":{"$ref":"#/types/azure:compute/WindowsVirtualMachineScaleSetRollingUpgradePolicy:WindowsVirtualMachineScaleSetRollingUpgradePolicy","description":"A \u003cspan pulumi-lang-nodejs=\"`rollingUpgradePolicy`\" pulumi-lang-dotnet=\"`RollingUpgradePolicy`\" pulumi-lang-go=\"`rollingUpgradePolicy`\" pulumi-lang-python=\"`rolling_upgrade_policy`\" pulumi-lang-yaml=\"`rollingUpgradePolicy`\" pulumi-lang-java=\"`rollingUpgradePolicy`\"\u003e`rolling_upgrade_policy`\u003c/span\u003e block as defined below. This is Required and can only be specified when \u003cspan pulumi-lang-nodejs=\"`upgradeMode`\" pulumi-lang-dotnet=\"`UpgradeMode`\" pulumi-lang-go=\"`upgradeMode`\" pulumi-lang-python=\"`upgrade_mode`\" pulumi-lang-yaml=\"`upgradeMode`\" pulumi-lang-java=\"`upgradeMode`\"\u003e`upgrade_mode`\u003c/span\u003e is set to `Automatic` or `Rolling`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"scaleIn":{"$ref":"#/types/azure:compute/WindowsVirtualMachineScaleSetScaleIn:WindowsVirtualMachineScaleSetScaleIn","description":"A \u003cspan pulumi-lang-nodejs=\"`scaleIn`\" pulumi-lang-dotnet=\"`ScaleIn`\" pulumi-lang-go=\"`scaleIn`\" pulumi-lang-python=\"`scale_in`\" pulumi-lang-yaml=\"`scaleIn`\" pulumi-lang-java=\"`scaleIn`\"\u003e`scale_in`\u003c/span\u003e block as defined below.\n"},"secrets":{"type":"array","items":{"$ref":"#/types/azure:compute/WindowsVirtualMachineScaleSetSecret:WindowsVirtualMachineScaleSetSecret"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`secret`\" pulumi-lang-dotnet=\"`Secret`\" pulumi-lang-go=\"`secret`\" pulumi-lang-python=\"`secret`\" pulumi-lang-yaml=\"`secret`\" pulumi-lang-java=\"`secret`\"\u003e`secret`\u003c/span\u003e blocks as defined below.\n"},"secureBootEnabled":{"type":"boolean","description":"Specifies if Secure Boot and Trusted Launch is enabled for the Virtual Machine. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"singlePlacementGroup":{"type":"boolean","description":"Should this Virtual Machine Scale Set be limited to a Single Placement Group, which means the number of instances will be capped at 100 Virtual Machines. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"sku":{"type":"string","description":"The Virtual Machine SKU for the Scale Set, such as `Standard_F2`.\n"},"sourceImageId":{"type":"string","description":"The ID of an Image which each Virtual Machine in this Scale Set should be based on. Possible Image ID types include `Image ID`, `Shared Image ID`, `Shared Image Version ID`, `Community Gallery Image ID`, `Community Gallery Image Version ID`, `Shared Gallery Image ID` and `Shared Gallery Image Version ID`.\n\n\u003e **Note:** One of either \u003cspan pulumi-lang-nodejs=\"`sourceImageId`\" pulumi-lang-dotnet=\"`SourceImageId`\" pulumi-lang-go=\"`sourceImageId`\" pulumi-lang-python=\"`source_image_id`\" pulumi-lang-yaml=\"`sourceImageId`\" pulumi-lang-java=\"`sourceImageId`\"\u003e`source_image_id`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`sourceImageReference`\" pulumi-lang-dotnet=\"`SourceImageReference`\" pulumi-lang-go=\"`sourceImageReference`\" pulumi-lang-python=\"`source_image_reference`\" pulumi-lang-yaml=\"`sourceImageReference`\" pulumi-lang-java=\"`sourceImageReference`\"\u003e`source_image_reference`\u003c/span\u003e must be set.\n"},"sourceImageReference":{"$ref":"#/types/azure:compute/WindowsVirtualMachineScaleSetSourceImageReference:WindowsVirtualMachineScaleSetSourceImageReference","description":"A \u003cspan pulumi-lang-nodejs=\"`sourceImageReference`\" pulumi-lang-dotnet=\"`SourceImageReference`\" pulumi-lang-go=\"`sourceImageReference`\" pulumi-lang-python=\"`source_image_reference`\" pulumi-lang-yaml=\"`sourceImageReference`\" pulumi-lang-java=\"`sourceImageReference`\"\u003e`source_image_reference`\u003c/span\u003e block as defined below.\n\n\u003e **Note:** One of either \u003cspan pulumi-lang-nodejs=\"`sourceImageId`\" pulumi-lang-dotnet=\"`SourceImageId`\" pulumi-lang-go=\"`sourceImageId`\" pulumi-lang-python=\"`source_image_id`\" pulumi-lang-yaml=\"`sourceImageId`\" pulumi-lang-java=\"`sourceImageId`\"\u003e`source_image_id`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`sourceImageReference`\" pulumi-lang-dotnet=\"`SourceImageReference`\" pulumi-lang-go=\"`sourceImageReference`\" pulumi-lang-python=\"`source_image_reference`\" pulumi-lang-yaml=\"`sourceImageReference`\" pulumi-lang-java=\"`sourceImageReference`\"\u003e`source_image_reference`\u003c/span\u003e must be set.\n"},"spotRestore":{"$ref":"#/types/azure:compute/WindowsVirtualMachineScaleSetSpotRestore:WindowsVirtualMachineScaleSetSpotRestore","description":"A \u003cspan pulumi-lang-nodejs=\"`spotRestore`\" pulumi-lang-dotnet=\"`SpotRestore`\" pulumi-lang-go=\"`spotRestore`\" pulumi-lang-python=\"`spot_restore`\" pulumi-lang-yaml=\"`spotRestore`\" pulumi-lang-java=\"`spotRestore`\"\u003e`spot_restore`\u003c/span\u003e block as defined below.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to this Virtual Machine Scale Set.\n"},"terminationNotification":{"$ref":"#/types/azure:compute/WindowsVirtualMachineScaleSetTerminationNotification:WindowsVirtualMachineScaleSetTerminationNotification","description":"A \u003cspan pulumi-lang-nodejs=\"`terminationNotification`\" pulumi-lang-dotnet=\"`TerminationNotification`\" pulumi-lang-go=\"`terminationNotification`\" pulumi-lang-python=\"`termination_notification`\" pulumi-lang-yaml=\"`terminationNotification`\" pulumi-lang-java=\"`terminationNotification`\"\u003e`termination_notification`\u003c/span\u003e block as defined below.\n"},"timezone":{"type":"string","description":"Specifies the time zone of the virtual machine, [the possible values are defined here](https://jackstromberg.com/2017/01/list-of-time-zones-consumed-by-azure/).\n"},"upgradeMode":{"type":"string","description":"Specifies how Upgrades (e.g. changing the Image/SKU) should be performed to Virtual Machine Instances. Possible values are `Automatic`, `Manual` and `Rolling`. Defaults to `Manual`. Changing this forces a new resource to be created.\n\n\u003e **Note:** If rolling upgrades are configured and running on a Linux Virtual Machine Scale Set, they will be cancelled when Terraform tries to destroy the resource.\n","willReplaceOnChanges":true},"userData":{"type":"string","description":"The Base64-Encoded User Data which should be used for this Virtual Machine Scale Set.\n"},"vtpmEnabled":{"type":"boolean","description":"Specifies if vTPM (Virtual Trusted Platform Module) and Trusted Launch is enabled for the Virtual Machine. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"winrmListeners":{"type":"array","items":{"$ref":"#/types/azure:compute/WindowsVirtualMachineScaleSetWinrmListener:WindowsVirtualMachineScaleSetWinrmListener"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`winrmListener`\" pulumi-lang-dotnet=\"`WinrmListener`\" pulumi-lang-go=\"`winrmListener`\" pulumi-lang-python=\"`winrm_listener`\" pulumi-lang-yaml=\"`winrmListener`\" pulumi-lang-java=\"`winrmListener`\"\u003e`winrm_listener`\u003c/span\u003e blocks as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"zoneBalance":{"type":"boolean","description":"Should the Virtual Machines in this Scale Set be strictly evenly distributed across Availability Zones? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Changing this forces a new resource to be created.\n\n\u003e **Note:** This can only be set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e when one or more \u003cspan pulumi-lang-nodejs=\"`zones`\" pulumi-lang-dotnet=\"`Zones`\" pulumi-lang-go=\"`zones`\" pulumi-lang-python=\"`zones`\" pulumi-lang-yaml=\"`zones`\" pulumi-lang-java=\"`zones`\"\u003e`zones`\u003c/span\u003e are configured.\n","willReplaceOnChanges":true},"zones":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Availability Zones in which this Windows Virtual Machine Scale Set should be located.\n\n\u003e **Note:** Updating \u003cspan pulumi-lang-nodejs=\"`zones`\" pulumi-lang-dotnet=\"`Zones`\" pulumi-lang-go=\"`zones`\" pulumi-lang-python=\"`zones`\" pulumi-lang-yaml=\"`zones`\" pulumi-lang-java=\"`zones`\"\u003e`zones`\u003c/span\u003e to remove an existing zone forces a new Virtual Machine Scale Set to be created.\n"}},"requiredInputs":["adminPassword","adminUsername","instances","networkInterfaces","osDisk","resourceGroupName","sku"],"stateInputs":{"description":"Input properties used for looking up and filtering WindowsVirtualMachineScaleSet resources.\n","properties":{"additionalCapabilities":{"$ref":"#/types/azure:compute/WindowsVirtualMachineScaleSetAdditionalCapabilities:WindowsVirtualMachineScaleSetAdditionalCapabilities","description":"An \u003cspan pulumi-lang-nodejs=\"`additionalCapabilities`\" pulumi-lang-dotnet=\"`AdditionalCapabilities`\" pulumi-lang-go=\"`additionalCapabilities`\" pulumi-lang-python=\"`additional_capabilities`\" pulumi-lang-yaml=\"`additionalCapabilities`\" pulumi-lang-java=\"`additionalCapabilities`\"\u003e`additional_capabilities`\u003c/span\u003e block as defined below.\n"},"additionalUnattendContents":{"type":"array","items":{"$ref":"#/types/azure:compute/WindowsVirtualMachineScaleSetAdditionalUnattendContent:WindowsVirtualMachineScaleSetAdditionalUnattendContent"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`additionalUnattendContent`\" pulumi-lang-dotnet=\"`AdditionalUnattendContent`\" pulumi-lang-go=\"`additionalUnattendContent`\" pulumi-lang-python=\"`additional_unattend_content`\" pulumi-lang-yaml=\"`additionalUnattendContent`\" pulumi-lang-java=\"`additionalUnattendContent`\"\u003e`additional_unattend_content`\u003c/span\u003e blocks as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"adminPassword":{"type":"string","description":"The Password which should be used for the local-administrator on this Virtual Machine. Changing this forces a new resource to be created.\n","secret":true,"willReplaceOnChanges":true},"adminUsername":{"type":"string","description":"The username of the local administrator on each Virtual Machine Scale Set instance. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"automaticInstanceRepair":{"$ref":"#/types/azure:compute/WindowsVirtualMachineScaleSetAutomaticInstanceRepair:WindowsVirtualMachineScaleSetAutomaticInstanceRepair","description":"An \u003cspan pulumi-lang-nodejs=\"`automaticInstanceRepair`\" pulumi-lang-dotnet=\"`AutomaticInstanceRepair`\" pulumi-lang-go=\"`automaticInstanceRepair`\" pulumi-lang-python=\"`automatic_instance_repair`\" pulumi-lang-yaml=\"`automaticInstanceRepair`\" pulumi-lang-java=\"`automaticInstanceRepair`\"\u003e`automatic_instance_repair`\u003c/span\u003e block as defined below. To enable the automatic instance repair, this Virtual Machine Scale Set must have a valid \u003cspan pulumi-lang-nodejs=\"`healthProbeId`\" pulumi-lang-dotnet=\"`HealthProbeId`\" pulumi-lang-go=\"`healthProbeId`\" pulumi-lang-python=\"`health_probe_id`\" pulumi-lang-yaml=\"`healthProbeId`\" pulumi-lang-java=\"`healthProbeId`\"\u003e`health_probe_id`\u003c/span\u003e or an [Application Health Extension](https://docs.microsoft.com/azure/virtual-machine-scale-sets/virtual-machine-scale-sets-health-extension).\n\n\u003e **Note:** For more information about Automatic Instance Repair, please refer to [this doc](https://docs.microsoft.com/azure/virtual-machine-scale-sets/virtual-machine-scale-sets-automatic-instance-repairs).\n"},"automaticOsUpgradePolicy":{"$ref":"#/types/azure:compute/WindowsVirtualMachineScaleSetAutomaticOsUpgradePolicy:WindowsVirtualMachineScaleSetAutomaticOsUpgradePolicy","description":"An \u003cspan pulumi-lang-nodejs=\"`automaticOsUpgradePolicy`\" pulumi-lang-dotnet=\"`AutomaticOsUpgradePolicy`\" pulumi-lang-go=\"`automaticOsUpgradePolicy`\" pulumi-lang-python=\"`automatic_os_upgrade_policy`\" pulumi-lang-yaml=\"`automaticOsUpgradePolicy`\" pulumi-lang-java=\"`automaticOsUpgradePolicy`\"\u003e`automatic_os_upgrade_policy`\u003c/span\u003e block as defined below. This can only be specified when \u003cspan pulumi-lang-nodejs=\"`upgradeMode`\" pulumi-lang-dotnet=\"`UpgradeMode`\" pulumi-lang-go=\"`upgradeMode`\" pulumi-lang-python=\"`upgrade_mode`\" pulumi-lang-yaml=\"`upgradeMode`\" pulumi-lang-java=\"`upgradeMode`\"\u003e`upgrade_mode`\u003c/span\u003e is set to either `Automatic` or `Rolling`.\n"},"bootDiagnostics":{"$ref":"#/types/azure:compute/WindowsVirtualMachineScaleSetBootDiagnostics:WindowsVirtualMachineScaleSetBootDiagnostics","description":"A \u003cspan pulumi-lang-nodejs=\"`bootDiagnostics`\" pulumi-lang-dotnet=\"`BootDiagnostics`\" pulumi-lang-go=\"`bootDiagnostics`\" pulumi-lang-python=\"`boot_diagnostics`\" pulumi-lang-yaml=\"`bootDiagnostics`\" pulumi-lang-java=\"`bootDiagnostics`\"\u003e`boot_diagnostics`\u003c/span\u003e block as defined below.\n"},"capacityReservationGroupId":{"type":"string","description":"Specifies the ID of the Capacity Reservation Group which the Virtual Machine Scale Set should be allocated to. Changing this forces a new resource to be created.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`capacityReservationGroupId`\" pulumi-lang-dotnet=\"`CapacityReservationGroupId`\" pulumi-lang-go=\"`capacityReservationGroupId`\" pulumi-lang-python=\"`capacity_reservation_group_id`\" pulumi-lang-yaml=\"`capacityReservationGroupId`\" pulumi-lang-java=\"`capacityReservationGroupId`\"\u003e`capacity_reservation_group_id`\u003c/span\u003e cannot be used with \u003cspan pulumi-lang-nodejs=\"`proximityPlacementGroupId`\" pulumi-lang-dotnet=\"`ProximityPlacementGroupId`\" pulumi-lang-go=\"`proximityPlacementGroupId`\" pulumi-lang-python=\"`proximity_placement_group_id`\" pulumi-lang-yaml=\"`proximityPlacementGroupId`\" pulumi-lang-java=\"`proximityPlacementGroupId`\"\u003e`proximity_placement_group_id`\u003c/span\u003e\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`singlePlacementGroup`\" pulumi-lang-dotnet=\"`SinglePlacementGroup`\" pulumi-lang-go=\"`singlePlacementGroup`\" pulumi-lang-python=\"`single_placement_group`\" pulumi-lang-yaml=\"`singlePlacementGroup`\" pulumi-lang-java=\"`singlePlacementGroup`\"\u003e`single_placement_group`\u003c/span\u003e must be set to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e when \u003cspan pulumi-lang-nodejs=\"`capacityReservationGroupId`\" pulumi-lang-dotnet=\"`CapacityReservationGroupId`\" pulumi-lang-go=\"`capacityReservationGroupId`\" pulumi-lang-python=\"`capacity_reservation_group_id`\" pulumi-lang-yaml=\"`capacityReservationGroupId`\" pulumi-lang-java=\"`capacityReservationGroupId`\"\u003e`capacity_reservation_group_id`\u003c/span\u003e is specified.\n","willReplaceOnChanges":true},"computerNamePrefix":{"type":"string","description":"The prefix which should be used for the name of the Virtual Machines in this Scale Set. If unspecified this defaults to the value for the \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e field. If the value of the \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e field is not a valid \u003cspan pulumi-lang-nodejs=\"`computerNamePrefix`\" pulumi-lang-dotnet=\"`ComputerNamePrefix`\" pulumi-lang-go=\"`computerNamePrefix`\" pulumi-lang-python=\"`computer_name_prefix`\" pulumi-lang-yaml=\"`computerNamePrefix`\" pulumi-lang-java=\"`computerNamePrefix`\"\u003e`computer_name_prefix`\u003c/span\u003e, then you must specify \u003cspan pulumi-lang-nodejs=\"`computerNamePrefix`\" pulumi-lang-dotnet=\"`ComputerNamePrefix`\" pulumi-lang-go=\"`computerNamePrefix`\" pulumi-lang-python=\"`computer_name_prefix`\" pulumi-lang-yaml=\"`computerNamePrefix`\" pulumi-lang-java=\"`computerNamePrefix`\"\u003e`computer_name_prefix`\u003c/span\u003e. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"customData":{"type":"string","description":"The Base64-Encoded Custom Data which should be used for this Virtual Machine Scale Set.\n\n\u003e **Note:** When Custom Data has been configured, it's not possible to remove it without tainting the Virtual Machine Scale Set, due to a limitation of the Azure API.\n","secret":true},"dataDisks":{"type":"array","items":{"$ref":"#/types/azure:compute/WindowsVirtualMachineScaleSetDataDisk:WindowsVirtualMachineScaleSetDataDisk"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`dataDisk`\" pulumi-lang-dotnet=\"`DataDisk`\" pulumi-lang-go=\"`dataDisk`\" pulumi-lang-python=\"`data_disk`\" pulumi-lang-yaml=\"`dataDisk`\" pulumi-lang-java=\"`dataDisk`\"\u003e`data_disk`\u003c/span\u003e blocks as defined below.\n"},"doNotRunExtensionsOnOverprovisionedMachines":{"type":"boolean","description":"Should Virtual Machine Extensions be run on Overprovisioned Virtual Machines in the Scale Set? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"edgeZone":{"type":"string","description":"Specifies the Edge Zone within the Azure Region where this Windows Virtual Machine Scale Set should exist. Changing this forces a new Windows Virtual Machine Scale Set to be created.\n","willReplaceOnChanges":true},"enableAutomaticUpdates":{"type":"boolean","description":"Are automatic updates enabled for this Virtual Machine? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"encryptionAtHostEnabled":{"type":"boolean","description":"Should all of the disks (including the temp disk) attached to this Virtual Machine be encrypted by enabling Encryption at Host?\n"},"evictionPolicy":{"type":"string","description":"Specifies the eviction policy for Virtual Machines in this Scale Set. Possible values are `Deallocate` and `Delete`. Changing this forces a new resource to be created.\n\n\u003e **Note:** This can only be configured when \u003cspan pulumi-lang-nodejs=\"`priority`\" pulumi-lang-dotnet=\"`Priority`\" pulumi-lang-go=\"`priority`\" pulumi-lang-python=\"`priority`\" pulumi-lang-yaml=\"`priority`\" pulumi-lang-java=\"`priority`\"\u003e`priority`\u003c/span\u003e is set to `Spot`.\n","willReplaceOnChanges":true},"extensionOperationsEnabled":{"type":"boolean","description":"Should extension operations be allowed on the Virtual Machine Scale Set? Possible values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e. Changing this forces a new Windows Virtual Machine Scale Set to be created.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`extensionOperationsEnabled`\" pulumi-lang-dotnet=\"`ExtensionOperationsEnabled`\" pulumi-lang-go=\"`extensionOperationsEnabled`\" pulumi-lang-python=\"`extension_operations_enabled`\" pulumi-lang-yaml=\"`extensionOperationsEnabled`\" pulumi-lang-java=\"`extensionOperationsEnabled`\"\u003e`extension_operations_enabled`\u003c/span\u003e may only be set to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e if there are no extensions defined in the \u003cspan pulumi-lang-nodejs=\"`extension`\" pulumi-lang-dotnet=\"`Extension`\" pulumi-lang-go=\"`extension`\" pulumi-lang-python=\"`extension`\" pulumi-lang-yaml=\"`extension`\" pulumi-lang-java=\"`extension`\"\u003e`extension`\u003c/span\u003e field.\n","willReplaceOnChanges":true},"extensions":{"type":"array","items":{"$ref":"#/types/azure:compute/WindowsVirtualMachineScaleSetExtension:WindowsVirtualMachineScaleSetExtension"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`extension`\" pulumi-lang-dotnet=\"`Extension`\" pulumi-lang-go=\"`extension`\" pulumi-lang-python=\"`extension`\" pulumi-lang-yaml=\"`extension`\" pulumi-lang-java=\"`extension`\"\u003e`extension`\u003c/span\u003e blocks as defined below\n"},"extensionsTimeBudget":{"type":"string","description":"Specifies the duration allocated for all extensions to start. The time duration should be between \u003cspan pulumi-lang-nodejs=\"`15`\" pulumi-lang-dotnet=\"`15`\" pulumi-lang-go=\"`15`\" pulumi-lang-python=\"`15`\" pulumi-lang-yaml=\"`15`\" pulumi-lang-java=\"`15`\"\u003e`15`\u003c/span\u003e minutes and \u003cspan pulumi-lang-nodejs=\"`120`\" pulumi-lang-dotnet=\"`120`\" pulumi-lang-go=\"`120`\" pulumi-lang-python=\"`120`\" pulumi-lang-yaml=\"`120`\" pulumi-lang-java=\"`120`\"\u003e`120`\u003c/span\u003e minutes (inclusive) and should be specified in ISO 8601 format. Defaults to `PT1H30M`.\n"},"galleryApplications":{"type":"array","items":{"$ref":"#/types/azure:compute/WindowsVirtualMachineScaleSetGalleryApplication:WindowsVirtualMachineScaleSetGalleryApplication"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`galleryApplication`\" pulumi-lang-dotnet=\"`GalleryApplication`\" pulumi-lang-go=\"`galleryApplication`\" pulumi-lang-python=\"`gallery_application`\" pulumi-lang-yaml=\"`galleryApplication`\" pulumi-lang-java=\"`galleryApplication`\"\u003e`gallery_application`\u003c/span\u003e blocks as defined below.\n"},"healthProbeId":{"type":"string","description":"The ID of a Load Balancer Probe which should be used to determine the health of an instance. This is Required and can only be specified when \u003cspan pulumi-lang-nodejs=\"`upgradeMode`\" pulumi-lang-dotnet=\"`UpgradeMode`\" pulumi-lang-go=\"`upgradeMode`\" pulumi-lang-python=\"`upgrade_mode`\" pulumi-lang-yaml=\"`upgradeMode`\" pulumi-lang-java=\"`upgradeMode`\"\u003e`upgrade_mode`\u003c/span\u003e is set to `Automatic` or `Rolling`.\n"},"hostGroupId":{"type":"string","description":"Specifies the ID of the dedicated host group that the virtual machine scale set resides in. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"identity":{"$ref":"#/types/azure:compute/WindowsVirtualMachineScaleSetIdentity:WindowsVirtualMachineScaleSetIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"instances":{"type":"integer","description":"The number of Virtual Machines in the Scale Set.\n\n\u003e **NOTE:** If you're using AutoScaling, you may wish to use [`Ignore Changes` functionality](https://www.pulumi.com/docs/intro/concepts/programming-model/#ignorechanges) to ignore changes to this field.\n"},"licenseType":{"type":"string","description":"Specifies the type of on-premise license (also known as [Azure Hybrid Use Benefit](https://docs.microsoft.com/en-gb/windows-server/get-started/azure-hybrid-benefit)) which should be used for this Virtual Machine Scale Set. Possible values are `None`, `Windows_Client` and `Windows_Server`.\n"},"location":{"type":"string","description":"The Azure location where the Windows Virtual Machine Scale Set should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"maxBidPrice":{"type":"number","description":"The maximum price you're willing to pay for each Virtual Machine in this Scale Set, in US Dollars; which must be greater than the current spot price. If this bid price falls below the current spot price the Virtual Machines in the Scale Set will be evicted using the \u003cspan pulumi-lang-nodejs=\"`evictionPolicy`\" pulumi-lang-dotnet=\"`EvictionPolicy`\" pulumi-lang-go=\"`evictionPolicy`\" pulumi-lang-python=\"`eviction_policy`\" pulumi-lang-yaml=\"`evictionPolicy`\" pulumi-lang-java=\"`evictionPolicy`\"\u003e`eviction_policy`\u003c/span\u003e. Defaults to `-1`, which means that each Virtual Machine in the Scale Set should not be evicted for price reasons.\n\n\u003e **Note:** This can only be configured when \u003cspan pulumi-lang-nodejs=\"`priority`\" pulumi-lang-dotnet=\"`Priority`\" pulumi-lang-go=\"`priority`\" pulumi-lang-python=\"`priority`\" pulumi-lang-yaml=\"`priority`\" pulumi-lang-java=\"`priority`\"\u003e`priority`\u003c/span\u003e is set to `Spot`.\n"},"name":{"type":"string","description":"The name of the Windows Virtual Machine Scale Set. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"networkInterfaces":{"type":"array","items":{"$ref":"#/types/azure:compute/WindowsVirtualMachineScaleSetNetworkInterface:WindowsVirtualMachineScaleSetNetworkInterface"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`networkInterface`\" pulumi-lang-dotnet=\"`NetworkInterface`\" pulumi-lang-go=\"`networkInterface`\" pulumi-lang-python=\"`network_interface`\" pulumi-lang-yaml=\"`networkInterface`\" pulumi-lang-java=\"`networkInterface`\"\u003e`network_interface`\u003c/span\u003e blocks as defined below.\n"},"osDisk":{"$ref":"#/types/azure:compute/WindowsVirtualMachineScaleSetOsDisk:WindowsVirtualMachineScaleSetOsDisk","description":"An \u003cspan pulumi-lang-nodejs=\"`osDisk`\" pulumi-lang-dotnet=\"`OsDisk`\" pulumi-lang-go=\"`osDisk`\" pulumi-lang-python=\"`os_disk`\" pulumi-lang-yaml=\"`osDisk`\" pulumi-lang-java=\"`osDisk`\"\u003e`os_disk`\u003c/span\u003e block as defined below.\n"},"overprovision":{"type":"boolean","description":"Should Azure over-provision Virtual Machines in this Scale Set? This means that multiple Virtual Machines will be provisioned and Azure will keep the instances which become available first - which improves provisioning success rates and improves deployment time. You're not billed for these over-provisioned VM's and they don't count towards the Subscription Quota. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"plan":{"$ref":"#/types/azure:compute/WindowsVirtualMachineScaleSetPlan:WindowsVirtualMachineScaleSetPlan","description":"A \u003cspan pulumi-lang-nodejs=\"`plan`\" pulumi-lang-dotnet=\"`Plan`\" pulumi-lang-go=\"`plan`\" pulumi-lang-python=\"`plan`\" pulumi-lang-yaml=\"`plan`\" pulumi-lang-java=\"`plan`\"\u003e`plan`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n\n\u003e **Note:** When using an image from Azure Marketplace a \u003cspan pulumi-lang-nodejs=\"`plan`\" pulumi-lang-dotnet=\"`Plan`\" pulumi-lang-go=\"`plan`\" pulumi-lang-python=\"`plan`\" pulumi-lang-yaml=\"`plan`\" pulumi-lang-java=\"`plan`\"\u003e`plan`\u003c/span\u003e must be specified.\n","willReplaceOnChanges":true},"platformFaultDomainCount":{"type":"integer","description":"Specifies the number of fault domains that are used by this Linux Virtual Machine Scale Set. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"priority":{"type":"string","description":"The Priority of this Virtual Machine Scale Set. Possible values are `Regular` and `Spot`. Defaults to `Regular`. Changing this value forces a new resource.\n\n\u003e **Note:** When \u003cspan pulumi-lang-nodejs=\"`priority`\" pulumi-lang-dotnet=\"`Priority`\" pulumi-lang-go=\"`priority`\" pulumi-lang-python=\"`priority`\" pulumi-lang-yaml=\"`priority`\" pulumi-lang-java=\"`priority`\"\u003e`priority`\u003c/span\u003e is set to `Spot` an \u003cspan pulumi-lang-nodejs=\"`evictionPolicy`\" pulumi-lang-dotnet=\"`EvictionPolicy`\" pulumi-lang-go=\"`evictionPolicy`\" pulumi-lang-python=\"`eviction_policy`\" pulumi-lang-yaml=\"`evictionPolicy`\" pulumi-lang-java=\"`evictionPolicy`\"\u003e`eviction_policy`\u003c/span\u003e must be specified.\n","willReplaceOnChanges":true},"provisionVmAgent":{"type":"boolean","description":"Should the Azure VM Agent be provisioned on each Virtual Machine in the Scale Set? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e. Changing this value forces a new resource to be created.\n","willReplaceOnChanges":true},"proximityPlacementGroupId":{"type":"string","description":"The ID of the Proximity Placement Group in which the Virtual Machine Scale Set should be assigned to. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resilientVmCreationEnabled":{"type":"boolean","description":"Should resilient VM creation be enabled? When enabled, the service will attempt to create VMs in alternative fault domains or zones if the primary location fails during creation. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`resilientVmCreationEnabled`\" pulumi-lang-dotnet=\"`ResilientVmCreationEnabled`\" pulumi-lang-go=\"`resilientVmCreationEnabled`\" pulumi-lang-python=\"`resilient_vm_creation_enabled`\" pulumi-lang-yaml=\"`resilientVmCreationEnabled`\" pulumi-lang-java=\"`resilientVmCreationEnabled`\"\u003e`resilient_vm_creation_enabled`\u003c/span\u003e is currently not supported in the \u003cspan pulumi-lang-nodejs=\"`austriaeast`\" pulumi-lang-dotnet=\"`Austriaeast`\" pulumi-lang-go=\"`austriaeast`\" pulumi-lang-python=\"`austriaeast`\" pulumi-lang-yaml=\"`austriaeast`\" pulumi-lang-java=\"`austriaeast`\"\u003e`austriaeast`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`belgiumcentral`\" pulumi-lang-dotnet=\"`Belgiumcentral`\" pulumi-lang-go=\"`belgiumcentral`\" pulumi-lang-python=\"`belgiumcentral`\" pulumi-lang-yaml=\"`belgiumcentral`\" pulumi-lang-java=\"`belgiumcentral`\"\u003e`belgiumcentral`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`centraluseuap`\" pulumi-lang-dotnet=\"`Centraluseuap`\" pulumi-lang-go=\"`centraluseuap`\" pulumi-lang-python=\"`centraluseuap`\" pulumi-lang-yaml=\"`centraluseuap`\" pulumi-lang-java=\"`centraluseuap`\"\u003e`centraluseuap`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`chilecentral`\" pulumi-lang-dotnet=\"`Chilecentral`\" pulumi-lang-go=\"`chilecentral`\" pulumi-lang-python=\"`chilecentral`\" pulumi-lang-yaml=\"`chilecentral`\" pulumi-lang-java=\"`chilecentral`\"\u003e`chilecentral`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`indonesiacentral`\" pulumi-lang-dotnet=\"`Indonesiacentral`\" pulumi-lang-go=\"`indonesiacentral`\" pulumi-lang-python=\"`indonesiacentral`\" pulumi-lang-yaml=\"`indonesiacentral`\" pulumi-lang-java=\"`indonesiacentral`\"\u003e`indonesiacentral`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`israelnorthwest`\" pulumi-lang-dotnet=\"`Israelnorthwest`\" pulumi-lang-go=\"`israelnorthwest`\" pulumi-lang-python=\"`israelnorthwest`\" pulumi-lang-yaml=\"`israelnorthwest`\" pulumi-lang-java=\"`israelnorthwest`\"\u003e`israelnorthwest`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`malaysiawest`\" pulumi-lang-dotnet=\"`Malaysiawest`\" pulumi-lang-go=\"`malaysiawest`\" pulumi-lang-python=\"`malaysiawest`\" pulumi-lang-yaml=\"`malaysiawest`\" pulumi-lang-java=\"`malaysiawest`\"\u003e`malaysiawest`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`mexicocentral`\" pulumi-lang-dotnet=\"`Mexicocentral`\" pulumi-lang-go=\"`mexicocentral`\" pulumi-lang-python=\"`mexicocentral`\" pulumi-lang-yaml=\"`mexicocentral`\" pulumi-lang-java=\"`mexicocentral`\"\u003e`mexicocentral`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`newzealandnorth`\" pulumi-lang-dotnet=\"`Newzealandnorth`\" pulumi-lang-go=\"`newzealandnorth`\" pulumi-lang-python=\"`newzealandnorth`\" pulumi-lang-yaml=\"`newzealandnorth`\" pulumi-lang-java=\"`newzealandnorth`\"\u003e`newzealandnorth`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`southcentralus2`\" pulumi-lang-dotnet=\"`Southcentralus2`\" pulumi-lang-go=\"`southcentralus2`\" pulumi-lang-python=\"`southcentralus2`\" pulumi-lang-yaml=\"`southcentralus2`\" pulumi-lang-java=\"`southcentralus2`\"\u003e`southcentralus2`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`southindia`\" pulumi-lang-dotnet=\"`Southindia`\" pulumi-lang-go=\"`southindia`\" pulumi-lang-python=\"`southindia`\" pulumi-lang-yaml=\"`southindia`\" pulumi-lang-java=\"`southindia`\"\u003e`southindia`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`southeastus3`\" pulumi-lang-dotnet=\"`Southeastus3`\" pulumi-lang-go=\"`southeastus3`\" pulumi-lang-python=\"`southeastus3`\" pulumi-lang-yaml=\"`southeastus3`\" pulumi-lang-java=\"`southeastus3`\"\u003e`southeastus3`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`southwestus`\" pulumi-lang-dotnet=\"`Southwestus`\" pulumi-lang-go=\"`southwestus`\" pulumi-lang-python=\"`southwestus`\" pulumi-lang-yaml=\"`southwestus`\" pulumi-lang-java=\"`southwestus`\"\u003e`southwestus`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`eastasia`\" pulumi-lang-dotnet=\"`Eastasia`\" pulumi-lang-go=\"`eastasia`\" pulumi-lang-python=\"`eastasia`\" pulumi-lang-yaml=\"`eastasia`\" pulumi-lang-java=\"`eastasia`\"\u003e`eastasia`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`eastus`\" pulumi-lang-dotnet=\"`Eastus`\" pulumi-lang-go=\"`eastus`\" pulumi-lang-python=\"`eastus`\" pulumi-lang-yaml=\"`eastus`\" pulumi-lang-java=\"`eastus`\"\u003e`eastus`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`southcentralus`\" pulumi-lang-dotnet=\"`Southcentralus`\" pulumi-lang-go=\"`southcentralus`\" pulumi-lang-python=\"`southcentralus`\" pulumi-lang-yaml=\"`southcentralus`\" pulumi-lang-java=\"`southcentralus`\"\u003e`southcentralus`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`southeastasia`\" pulumi-lang-dotnet=\"`Southeastasia`\" pulumi-lang-go=\"`southeastasia`\" pulumi-lang-python=\"`southeastasia`\" pulumi-lang-yaml=\"`southeastasia`\" pulumi-lang-java=\"`southeastasia`\"\u003e`southeastasia`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`westeurope`\" pulumi-lang-dotnet=\"`Westeurope`\" pulumi-lang-go=\"`westeurope`\" pulumi-lang-python=\"`westeurope`\" pulumi-lang-yaml=\"`westeurope`\" pulumi-lang-java=\"`westeurope`\"\u003e`westeurope`\u003c/span\u003e regions.\n"},"resilientVmDeletionEnabled":{"type":"boolean","description":"Should resilient VM deletion be enabled? When enabled, the service will use a more resilient deletion process that attempts to gracefully handle failures during VM termination. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`resilientVmDeletionEnabled`\" pulumi-lang-dotnet=\"`ResilientVmDeletionEnabled`\" pulumi-lang-go=\"`resilientVmDeletionEnabled`\" pulumi-lang-python=\"`resilient_vm_deletion_enabled`\" pulumi-lang-yaml=\"`resilientVmDeletionEnabled`\" pulumi-lang-java=\"`resilientVmDeletionEnabled`\"\u003e`resilient_vm_deletion_enabled`\u003c/span\u003e is currently not supported in the \u003cspan pulumi-lang-nodejs=\"`austriaeast`\" pulumi-lang-dotnet=\"`Austriaeast`\" pulumi-lang-go=\"`austriaeast`\" pulumi-lang-python=\"`austriaeast`\" pulumi-lang-yaml=\"`austriaeast`\" pulumi-lang-java=\"`austriaeast`\"\u003e`austriaeast`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`belgiumcentral`\" pulumi-lang-dotnet=\"`Belgiumcentral`\" pulumi-lang-go=\"`belgiumcentral`\" pulumi-lang-python=\"`belgiumcentral`\" pulumi-lang-yaml=\"`belgiumcentral`\" pulumi-lang-java=\"`belgiumcentral`\"\u003e`belgiumcentral`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`centraluseuap`\" pulumi-lang-dotnet=\"`Centraluseuap`\" pulumi-lang-go=\"`centraluseuap`\" pulumi-lang-python=\"`centraluseuap`\" pulumi-lang-yaml=\"`centraluseuap`\" pulumi-lang-java=\"`centraluseuap`\"\u003e`centraluseuap`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`chilecentral`\" pulumi-lang-dotnet=\"`Chilecentral`\" pulumi-lang-go=\"`chilecentral`\" pulumi-lang-python=\"`chilecentral`\" pulumi-lang-yaml=\"`chilecentral`\" pulumi-lang-java=\"`chilecentral`\"\u003e`chilecentral`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`indonesiacentral`\" pulumi-lang-dotnet=\"`Indonesiacentral`\" pulumi-lang-go=\"`indonesiacentral`\" pulumi-lang-python=\"`indonesiacentral`\" pulumi-lang-yaml=\"`indonesiacentral`\" pulumi-lang-java=\"`indonesiacentral`\"\u003e`indonesiacentral`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`israelnorthwest`\" pulumi-lang-dotnet=\"`Israelnorthwest`\" pulumi-lang-go=\"`israelnorthwest`\" pulumi-lang-python=\"`israelnorthwest`\" pulumi-lang-yaml=\"`israelnorthwest`\" pulumi-lang-java=\"`israelnorthwest`\"\u003e`israelnorthwest`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`malaysiawest`\" pulumi-lang-dotnet=\"`Malaysiawest`\" pulumi-lang-go=\"`malaysiawest`\" pulumi-lang-python=\"`malaysiawest`\" pulumi-lang-yaml=\"`malaysiawest`\" pulumi-lang-java=\"`malaysiawest`\"\u003e`malaysiawest`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`mexicocentral`\" pulumi-lang-dotnet=\"`Mexicocentral`\" pulumi-lang-go=\"`mexicocentral`\" pulumi-lang-python=\"`mexicocentral`\" pulumi-lang-yaml=\"`mexicocentral`\" pulumi-lang-java=\"`mexicocentral`\"\u003e`mexicocentral`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`newzealandnorth`\" pulumi-lang-dotnet=\"`Newzealandnorth`\" pulumi-lang-go=\"`newzealandnorth`\" pulumi-lang-python=\"`newzealandnorth`\" pulumi-lang-yaml=\"`newzealandnorth`\" pulumi-lang-java=\"`newzealandnorth`\"\u003e`newzealandnorth`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`southcentralus2`\" pulumi-lang-dotnet=\"`Southcentralus2`\" pulumi-lang-go=\"`southcentralus2`\" pulumi-lang-python=\"`southcentralus2`\" pulumi-lang-yaml=\"`southcentralus2`\" pulumi-lang-java=\"`southcentralus2`\"\u003e`southcentralus2`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`southindia`\" pulumi-lang-dotnet=\"`Southindia`\" pulumi-lang-go=\"`southindia`\" pulumi-lang-python=\"`southindia`\" pulumi-lang-yaml=\"`southindia`\" pulumi-lang-java=\"`southindia`\"\u003e`southindia`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`southeastus3`\" pulumi-lang-dotnet=\"`Southeastus3`\" pulumi-lang-go=\"`southeastus3`\" pulumi-lang-python=\"`southeastus3`\" pulumi-lang-yaml=\"`southeastus3`\" pulumi-lang-java=\"`southeastus3`\"\u003e`southeastus3`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`southwestus`\" pulumi-lang-dotnet=\"`Southwestus`\" pulumi-lang-go=\"`southwestus`\" pulumi-lang-python=\"`southwestus`\" pulumi-lang-yaml=\"`southwestus`\" pulumi-lang-java=\"`southwestus`\"\u003e`southwestus`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`eastasia`\" pulumi-lang-dotnet=\"`Eastasia`\" pulumi-lang-go=\"`eastasia`\" pulumi-lang-python=\"`eastasia`\" pulumi-lang-yaml=\"`eastasia`\" pulumi-lang-java=\"`eastasia`\"\u003e`eastasia`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`eastus`\" pulumi-lang-dotnet=\"`Eastus`\" pulumi-lang-go=\"`eastus`\" pulumi-lang-python=\"`eastus`\" pulumi-lang-yaml=\"`eastus`\" pulumi-lang-java=\"`eastus`\"\u003e`eastus`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`southcentralus`\" pulumi-lang-dotnet=\"`Southcentralus`\" pulumi-lang-go=\"`southcentralus`\" pulumi-lang-python=\"`southcentralus`\" pulumi-lang-yaml=\"`southcentralus`\" pulumi-lang-java=\"`southcentralus`\"\u003e`southcentralus`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`southeastasia`\" pulumi-lang-dotnet=\"`Southeastasia`\" pulumi-lang-go=\"`southeastasia`\" pulumi-lang-python=\"`southeastasia`\" pulumi-lang-yaml=\"`southeastasia`\" pulumi-lang-java=\"`southeastasia`\"\u003e`southeastasia`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`westeurope`\" pulumi-lang-dotnet=\"`Westeurope`\" pulumi-lang-go=\"`westeurope`\" pulumi-lang-python=\"`westeurope`\" pulumi-lang-yaml=\"`westeurope`\" pulumi-lang-java=\"`westeurope`\"\u003e`westeurope`\u003c/span\u003e regions.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group in which the Windows Virtual Machine Scale Set should be exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"rollingUpgradePolicy":{"$ref":"#/types/azure:compute/WindowsVirtualMachineScaleSetRollingUpgradePolicy:WindowsVirtualMachineScaleSetRollingUpgradePolicy","description":"A \u003cspan pulumi-lang-nodejs=\"`rollingUpgradePolicy`\" pulumi-lang-dotnet=\"`RollingUpgradePolicy`\" pulumi-lang-go=\"`rollingUpgradePolicy`\" pulumi-lang-python=\"`rolling_upgrade_policy`\" pulumi-lang-yaml=\"`rollingUpgradePolicy`\" pulumi-lang-java=\"`rollingUpgradePolicy`\"\u003e`rolling_upgrade_policy`\u003c/span\u003e block as defined below. This is Required and can only be specified when \u003cspan pulumi-lang-nodejs=\"`upgradeMode`\" pulumi-lang-dotnet=\"`UpgradeMode`\" pulumi-lang-go=\"`upgradeMode`\" pulumi-lang-python=\"`upgrade_mode`\" pulumi-lang-yaml=\"`upgradeMode`\" pulumi-lang-java=\"`upgradeMode`\"\u003e`upgrade_mode`\u003c/span\u003e is set to `Automatic` or `Rolling`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"scaleIn":{"$ref":"#/types/azure:compute/WindowsVirtualMachineScaleSetScaleIn:WindowsVirtualMachineScaleSetScaleIn","description":"A \u003cspan pulumi-lang-nodejs=\"`scaleIn`\" pulumi-lang-dotnet=\"`ScaleIn`\" pulumi-lang-go=\"`scaleIn`\" pulumi-lang-python=\"`scale_in`\" pulumi-lang-yaml=\"`scaleIn`\" pulumi-lang-java=\"`scaleIn`\"\u003e`scale_in`\u003c/span\u003e block as defined below.\n"},"secrets":{"type":"array","items":{"$ref":"#/types/azure:compute/WindowsVirtualMachineScaleSetSecret:WindowsVirtualMachineScaleSetSecret"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`secret`\" pulumi-lang-dotnet=\"`Secret`\" pulumi-lang-go=\"`secret`\" pulumi-lang-python=\"`secret`\" pulumi-lang-yaml=\"`secret`\" pulumi-lang-java=\"`secret`\"\u003e`secret`\u003c/span\u003e blocks as defined below.\n"},"secureBootEnabled":{"type":"boolean","description":"Specifies if Secure Boot and Trusted Launch is enabled for the Virtual Machine. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"singlePlacementGroup":{"type":"boolean","description":"Should this Virtual Machine Scale Set be limited to a Single Placement Group, which means the number of instances will be capped at 100 Virtual Machines. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"sku":{"type":"string","description":"The Virtual Machine SKU for the Scale Set, such as `Standard_F2`.\n"},"sourceImageId":{"type":"string","description":"The ID of an Image which each Virtual Machine in this Scale Set should be based on. Possible Image ID types include `Image ID`, `Shared Image ID`, `Shared Image Version ID`, `Community Gallery Image ID`, `Community Gallery Image Version ID`, `Shared Gallery Image ID` and `Shared Gallery Image Version ID`.\n\n\u003e **Note:** One of either \u003cspan pulumi-lang-nodejs=\"`sourceImageId`\" pulumi-lang-dotnet=\"`SourceImageId`\" pulumi-lang-go=\"`sourceImageId`\" pulumi-lang-python=\"`source_image_id`\" pulumi-lang-yaml=\"`sourceImageId`\" pulumi-lang-java=\"`sourceImageId`\"\u003e`source_image_id`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`sourceImageReference`\" pulumi-lang-dotnet=\"`SourceImageReference`\" pulumi-lang-go=\"`sourceImageReference`\" pulumi-lang-python=\"`source_image_reference`\" pulumi-lang-yaml=\"`sourceImageReference`\" pulumi-lang-java=\"`sourceImageReference`\"\u003e`source_image_reference`\u003c/span\u003e must be set.\n"},"sourceImageReference":{"$ref":"#/types/azure:compute/WindowsVirtualMachineScaleSetSourceImageReference:WindowsVirtualMachineScaleSetSourceImageReference","description":"A \u003cspan pulumi-lang-nodejs=\"`sourceImageReference`\" pulumi-lang-dotnet=\"`SourceImageReference`\" pulumi-lang-go=\"`sourceImageReference`\" pulumi-lang-python=\"`source_image_reference`\" pulumi-lang-yaml=\"`sourceImageReference`\" pulumi-lang-java=\"`sourceImageReference`\"\u003e`source_image_reference`\u003c/span\u003e block as defined below.\n\n\u003e **Note:** One of either \u003cspan pulumi-lang-nodejs=\"`sourceImageId`\" pulumi-lang-dotnet=\"`SourceImageId`\" pulumi-lang-go=\"`sourceImageId`\" pulumi-lang-python=\"`source_image_id`\" pulumi-lang-yaml=\"`sourceImageId`\" pulumi-lang-java=\"`sourceImageId`\"\u003e`source_image_id`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`sourceImageReference`\" pulumi-lang-dotnet=\"`SourceImageReference`\" pulumi-lang-go=\"`sourceImageReference`\" pulumi-lang-python=\"`source_image_reference`\" pulumi-lang-yaml=\"`sourceImageReference`\" pulumi-lang-java=\"`sourceImageReference`\"\u003e`source_image_reference`\u003c/span\u003e must be set.\n"},"spotRestore":{"$ref":"#/types/azure:compute/WindowsVirtualMachineScaleSetSpotRestore:WindowsVirtualMachineScaleSetSpotRestore","description":"A \u003cspan pulumi-lang-nodejs=\"`spotRestore`\" pulumi-lang-dotnet=\"`SpotRestore`\" pulumi-lang-go=\"`spotRestore`\" pulumi-lang-python=\"`spot_restore`\" pulumi-lang-yaml=\"`spotRestore`\" pulumi-lang-java=\"`spotRestore`\"\u003e`spot_restore`\u003c/span\u003e block as defined below.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to this Virtual Machine Scale Set.\n"},"terminationNotification":{"$ref":"#/types/azure:compute/WindowsVirtualMachineScaleSetTerminationNotification:WindowsVirtualMachineScaleSetTerminationNotification","description":"A \u003cspan pulumi-lang-nodejs=\"`terminationNotification`\" pulumi-lang-dotnet=\"`TerminationNotification`\" pulumi-lang-go=\"`terminationNotification`\" pulumi-lang-python=\"`termination_notification`\" pulumi-lang-yaml=\"`terminationNotification`\" pulumi-lang-java=\"`terminationNotification`\"\u003e`termination_notification`\u003c/span\u003e block as defined below.\n"},"timezone":{"type":"string","description":"Specifies the time zone of the virtual machine, [the possible values are defined here](https://jackstromberg.com/2017/01/list-of-time-zones-consumed-by-azure/).\n"},"uniqueId":{"type":"string","description":"The Unique ID for this Windows Virtual Machine Scale Set.\n"},"upgradeMode":{"type":"string","description":"Specifies how Upgrades (e.g. changing the Image/SKU) should be performed to Virtual Machine Instances. Possible values are `Automatic`, `Manual` and `Rolling`. Defaults to `Manual`. Changing this forces a new resource to be created.\n\n\u003e **Note:** If rolling upgrades are configured and running on a Linux Virtual Machine Scale Set, they will be cancelled when Terraform tries to destroy the resource.\n","willReplaceOnChanges":true},"userData":{"type":"string","description":"The Base64-Encoded User Data which should be used for this Virtual Machine Scale Set.\n"},"vtpmEnabled":{"type":"boolean","description":"Specifies if vTPM (Virtual Trusted Platform Module) and Trusted Launch is enabled for the Virtual Machine. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"winrmListeners":{"type":"array","items":{"$ref":"#/types/azure:compute/WindowsVirtualMachineScaleSetWinrmListener:WindowsVirtualMachineScaleSetWinrmListener"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`winrmListener`\" pulumi-lang-dotnet=\"`WinrmListener`\" pulumi-lang-go=\"`winrmListener`\" pulumi-lang-python=\"`winrm_listener`\" pulumi-lang-yaml=\"`winrmListener`\" pulumi-lang-java=\"`winrmListener`\"\u003e`winrm_listener`\u003c/span\u003e blocks as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"zoneBalance":{"type":"boolean","description":"Should the Virtual Machines in this Scale Set be strictly evenly distributed across Availability Zones? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Changing this forces a new resource to be created.\n\n\u003e **Note:** This can only be set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e when one or more \u003cspan pulumi-lang-nodejs=\"`zones`\" pulumi-lang-dotnet=\"`Zones`\" pulumi-lang-go=\"`zones`\" pulumi-lang-python=\"`zones`\" pulumi-lang-yaml=\"`zones`\" pulumi-lang-java=\"`zones`\"\u003e`zones`\u003c/span\u003e are configured.\n","willReplaceOnChanges":true},"zones":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Availability Zones in which this Windows Virtual Machine Scale Set should be located.\n\n\u003e **Note:** Updating \u003cspan pulumi-lang-nodejs=\"`zones`\" pulumi-lang-dotnet=\"`Zones`\" pulumi-lang-go=\"`zones`\" pulumi-lang-python=\"`zones`\" pulumi-lang-yaml=\"`zones`\" pulumi-lang-java=\"`zones`\"\u003e`zones`\u003c/span\u003e to remove an existing zone forces a new Virtual Machine Scale Set to be created.\n"}},"type":"object"}},"azure:confidentialledger/ledger:Ledger":{"description":"Manages a Confidential Ledger.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst current = azure.core.getClientConfig({});\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst ledger = new azure.confidentialledger.Ledger(\"ledger\", {\n    name: \"example-ledger\",\n    resourceGroupName: example.name,\n    location: example.location,\n    ledgerType: \"Private\",\n    azureadBasedServicePrincipals: [{\n        principalId: current.then(current =\u003e current.objectId),\n        tenantId: current.then(current =\u003e current.tenantId),\n        ledgerRoleName: \"Administrator\",\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\ncurrent = azure.core.get_client_config()\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nledger = azure.confidentialledger.Ledger(\"ledger\",\n    name=\"example-ledger\",\n    resource_group_name=example.name,\n    location=example.location,\n    ledger_type=\"Private\",\n    azuread_based_service_principals=[{\n        \"principal_id\": current.object_id,\n        \"tenant_id\": current.tenant_id,\n        \"ledger_role_name\": \"Administrator\",\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var current = Azure.Core.GetClientConfig.Invoke();\n\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var ledger = new Azure.ConfidentialLedger.Ledger(\"ledger\", new()\n    {\n        Name = \"example-ledger\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        LedgerType = \"Private\",\n        AzureadBasedServicePrincipals = new[]\n        {\n            new Azure.ConfidentialLedger.Inputs.LedgerAzureadBasedServicePrincipalArgs\n            {\n                PrincipalId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.ObjectId),\n                TenantId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.TenantId),\n                LedgerRoleName = \"Administrator\",\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/confidentialledger\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := core.GetClientConfig(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = confidentialledger.NewLedger(ctx, \"ledger\", \u0026confidentialledger.LedgerArgs{\n\t\t\tName:              pulumi.String(\"example-ledger\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tLedgerType:        pulumi.String(\"Private\"),\n\t\t\tAzureadBasedServicePrincipals: confidentialledger.LedgerAzureadBasedServicePrincipalArray{\n\t\t\t\t\u0026confidentialledger.LedgerAzureadBasedServicePrincipalArgs{\n\t\t\t\t\tPrincipalId:    pulumi.String(current.ObjectId),\n\t\t\t\t\tTenantId:       pulumi.String(current.TenantId),\n\t\t\t\t\tLedgerRoleName: pulumi.String(\"Administrator\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.confidentialledger.Ledger;\nimport com.pulumi.azure.confidentialledger.LedgerArgs;\nimport com.pulumi.azure.confidentialledger.inputs.LedgerAzureadBasedServicePrincipalArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var current = CoreFunctions.getClientConfig(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var ledger = new Ledger(\"ledger\", LedgerArgs.builder()\n            .name(\"example-ledger\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .ledgerType(\"Private\")\n            .azureadBasedServicePrincipals(LedgerAzureadBasedServicePrincipalArgs.builder()\n                .principalId(current.objectId())\n                .tenantId(current.tenantId())\n                .ledgerRoleName(\"Administrator\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  ledger:\n    type: azure:confidentialledger:Ledger\n    properties:\n      name: example-ledger\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      ledgerType: Private\n      azureadBasedServicePrincipals:\n        - principalId: ${current.objectId}\n          tenantId: ${current.tenantId}\n          ledgerRoleName: Administrator\nvariables:\n  current:\n    fn::invoke:\n      function: azure:core:getClientConfig\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.ConfidentialLedger` - 2022-05-13\n\n## Import\n\nConfidential Ledgers can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:confidentialledger/ledger:Ledger example /subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/example-group/providers/Microsoft.ConfidentialLedger/ledgers/example-ledger\n```\n\n","properties":{"azureadBasedServicePrincipals":{"type":"array","items":{"$ref":"#/types/azure:confidentialledger/LedgerAzureadBasedServicePrincipal:LedgerAzureadBasedServicePrincipal"},"description":"A list of \u003cspan pulumi-lang-nodejs=\"`azureadBasedServicePrincipal`\" pulumi-lang-dotnet=\"`AzureadBasedServicePrincipal`\" pulumi-lang-go=\"`azureadBasedServicePrincipal`\" pulumi-lang-python=\"`azuread_based_service_principal`\" pulumi-lang-yaml=\"`azureadBasedServicePrincipal`\" pulumi-lang-java=\"`azureadBasedServicePrincipal`\"\u003e`azuread_based_service_principal`\u003c/span\u003e blocks as defined below.\n"},"certificateBasedSecurityPrincipals":{"type":"array","items":{"$ref":"#/types/azure:confidentialledger/LedgerCertificateBasedSecurityPrincipal:LedgerCertificateBasedSecurityPrincipal"},"description":"A list of \u003cspan pulumi-lang-nodejs=\"`certificateBasedSecurityPrincipal`\" pulumi-lang-dotnet=\"`CertificateBasedSecurityPrincipal`\" pulumi-lang-go=\"`certificateBasedSecurityPrincipal`\" pulumi-lang-python=\"`certificate_based_security_principal`\" pulumi-lang-yaml=\"`certificateBasedSecurityPrincipal`\" pulumi-lang-java=\"`certificateBasedSecurityPrincipal`\"\u003e`certificate_based_security_principal`\u003c/span\u003e blocks as defined below.\n"},"identityServiceEndpoint":{"type":"string","description":"The Identity Service Endpoint for this Confidential Ledger.\n"},"ledgerEndpoint":{"type":"string","description":"The Endpoint for this Confidential Ledger.\n"},"ledgerType":{"type":"string","description":"Specifies the type of Confidential Ledger. Possible values are `Private` and `Public`. Changing this forces a new resource to be created.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the Confidential Ledger exists. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"Specifies the name of the Confidential Ledger. Changing this forces a new resource to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Confidential Ledger exists. Changing this forces a new resource to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the Confidential Ledger.\n"}},"required":["azureadBasedServicePrincipals","identityServiceEndpoint","ledgerEndpoint","ledgerType","location","name","resourceGroupName"],"inputProperties":{"azureadBasedServicePrincipals":{"type":"array","items":{"$ref":"#/types/azure:confidentialledger/LedgerAzureadBasedServicePrincipal:LedgerAzureadBasedServicePrincipal"},"description":"A list of \u003cspan pulumi-lang-nodejs=\"`azureadBasedServicePrincipal`\" pulumi-lang-dotnet=\"`AzureadBasedServicePrincipal`\" pulumi-lang-go=\"`azureadBasedServicePrincipal`\" pulumi-lang-python=\"`azuread_based_service_principal`\" pulumi-lang-yaml=\"`azureadBasedServicePrincipal`\" pulumi-lang-java=\"`azureadBasedServicePrincipal`\"\u003e`azuread_based_service_principal`\u003c/span\u003e blocks as defined below.\n"},"certificateBasedSecurityPrincipals":{"type":"array","items":{"$ref":"#/types/azure:confidentialledger/LedgerCertificateBasedSecurityPrincipal:LedgerCertificateBasedSecurityPrincipal"},"description":"A list of \u003cspan pulumi-lang-nodejs=\"`certificateBasedSecurityPrincipal`\" pulumi-lang-dotnet=\"`CertificateBasedSecurityPrincipal`\" pulumi-lang-go=\"`certificateBasedSecurityPrincipal`\" pulumi-lang-python=\"`certificate_based_security_principal`\" pulumi-lang-yaml=\"`certificateBasedSecurityPrincipal`\" pulumi-lang-java=\"`certificateBasedSecurityPrincipal`\"\u003e`certificate_based_security_principal`\u003c/span\u003e blocks as defined below.\n"},"ledgerType":{"type":"string","description":"Specifies the type of Confidential Ledger. Possible values are `Private` and `Public`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"location":{"type":"string","description":"Specifies the supported Azure location where the Confidential Ledger exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the Confidential Ledger. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Confidential Ledger exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the Confidential Ledger.\n"}},"requiredInputs":["azureadBasedServicePrincipals","ledgerType","resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering Ledger resources.\n","properties":{"azureadBasedServicePrincipals":{"type":"array","items":{"$ref":"#/types/azure:confidentialledger/LedgerAzureadBasedServicePrincipal:LedgerAzureadBasedServicePrincipal"},"description":"A list of \u003cspan pulumi-lang-nodejs=\"`azureadBasedServicePrincipal`\" pulumi-lang-dotnet=\"`AzureadBasedServicePrincipal`\" pulumi-lang-go=\"`azureadBasedServicePrincipal`\" pulumi-lang-python=\"`azuread_based_service_principal`\" pulumi-lang-yaml=\"`azureadBasedServicePrincipal`\" pulumi-lang-java=\"`azureadBasedServicePrincipal`\"\u003e`azuread_based_service_principal`\u003c/span\u003e blocks as defined below.\n"},"certificateBasedSecurityPrincipals":{"type":"array","items":{"$ref":"#/types/azure:confidentialledger/LedgerCertificateBasedSecurityPrincipal:LedgerCertificateBasedSecurityPrincipal"},"description":"A list of \u003cspan pulumi-lang-nodejs=\"`certificateBasedSecurityPrincipal`\" pulumi-lang-dotnet=\"`CertificateBasedSecurityPrincipal`\" pulumi-lang-go=\"`certificateBasedSecurityPrincipal`\" pulumi-lang-python=\"`certificate_based_security_principal`\" pulumi-lang-yaml=\"`certificateBasedSecurityPrincipal`\" pulumi-lang-java=\"`certificateBasedSecurityPrincipal`\"\u003e`certificate_based_security_principal`\u003c/span\u003e blocks as defined below.\n"},"identityServiceEndpoint":{"type":"string","description":"The Identity Service Endpoint for this Confidential Ledger.\n"},"ledgerEndpoint":{"type":"string","description":"The Endpoint for this Confidential Ledger.\n"},"ledgerType":{"type":"string","description":"Specifies the type of Confidential Ledger. Possible values are `Private` and `Public`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"location":{"type":"string","description":"Specifies the supported Azure location where the Confidential Ledger exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the Confidential Ledger. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Confidential Ledger exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the Confidential Ledger.\n"}},"type":"object"}},"azure:connections/apiConnection:ApiConnection":{"description":"Manages an API Connection.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst example = azure.connections.getManagedApiOutput({\n    name: \"servicebus\",\n    location: exampleResourceGroup.location,\n});\nconst exampleNamespace = new azure.servicebus.Namespace(\"example\", {\n    name: \"example-namespace\",\n    location: exampleResourceGroup.location,\n    resourceGroupName: exampleResourceGroup.name,\n    sku: \"Basic\",\n});\nconst exampleApiConnection = new azure.connections.ApiConnection(\"example\", {\n    name: \"example-connection\",\n    resourceGroupName: exampleResourceGroup.name,\n    managedApiId: example.apply(example =\u003e example.id),\n    displayName: \"Example 1\",\n    parameterValues: {\n        connectionString: exampleNamespace.defaultPrimaryConnectionString,\n    },\n    tags: {\n        Hello: \"World\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample = azure.connections.get_managed_api_output(name=\"servicebus\",\n    location=example_resource_group.location)\nexample_namespace = azure.servicebus.Namespace(\"example\",\n    name=\"example-namespace\",\n    location=example_resource_group.location,\n    resource_group_name=example_resource_group.name,\n    sku=\"Basic\")\nexample_api_connection = azure.connections.ApiConnection(\"example\",\n    name=\"example-connection\",\n    resource_group_name=example_resource_group.name,\n    managed_api_id=example.id,\n    display_name=\"Example 1\",\n    parameter_values={\n        \"connectionString\": example_namespace.default_primary_connection_string,\n    },\n    tags={\n        \"Hello\": \"World\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleResourceGroup = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var example = Azure.Connections.GetManagedApi.Invoke(new()\n    {\n        Name = \"servicebus\",\n        Location = exampleResourceGroup.Location,\n    });\n\n    var exampleNamespace = new Azure.ServiceBus.Namespace(\"example\", new()\n    {\n        Name = \"example-namespace\",\n        Location = exampleResourceGroup.Location,\n        ResourceGroupName = exampleResourceGroup.Name,\n        Sku = \"Basic\",\n    });\n\n    var exampleApiConnection = new Azure.Connections.ApiConnection(\"example\", new()\n    {\n        Name = \"example-connection\",\n        ResourceGroupName = exampleResourceGroup.Name,\n        ManagedApiId = example.Apply(getManagedApiResult =\u003e getManagedApiResult.Id),\n        DisplayName = \"Example 1\",\n        ParameterValues = \n        {\n            { \"connectionString\", exampleNamespace.DefaultPrimaryConnectionString },\n        },\n        Tags = \n        {\n            { \"Hello\", \"World\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/connections\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/servicebus\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample := connections.GetManagedApiOutput(ctx, connections.GetManagedApiOutputArgs{\n\t\t\tName:     pulumi.String(\"servicebus\"),\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t}, nil)\n\t\texampleNamespace, err := servicebus.NewNamespace(ctx, \"example\", \u0026servicebus.NamespaceArgs{\n\t\t\tName:              pulumi.String(\"example-namespace\"),\n\t\t\tLocation:          exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tSku:               pulumi.String(\"Basic\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = connections.NewApiConnection(ctx, \"example\", \u0026connections.ApiConnectionArgs{\n\t\t\tName:              pulumi.String(\"example-connection\"),\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tManagedApiId: pulumi.String(example.ApplyT(func(example connections.GetManagedApiResult) (*string, error) {\n\t\t\t\treturn \u0026example.Id, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tDisplayName: pulumi.String(\"Example 1\"),\n\t\t\tParameterValues: pulumi.StringMap{\n\t\t\t\t\"connectionString\": exampleNamespace.DefaultPrimaryConnectionString,\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Hello\": pulumi.String(\"World\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.connections.ConnectionsFunctions;\nimport com.pulumi.azure.connections.inputs.GetManagedApiArgs;\nimport com.pulumi.azure.servicebus.Namespace;\nimport com.pulumi.azure.servicebus.NamespaceArgs;\nimport com.pulumi.azure.connections.ApiConnection;\nimport com.pulumi.azure.connections.ApiConnectionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var exampleResourceGroup = new ResourceGroup(\"exampleResourceGroup\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        final var example = ConnectionsFunctions.getManagedApi(GetManagedApiArgs.builder()\n            .name(\"servicebus\")\n            .location(exampleResourceGroup.location())\n            .build());\n\n        var exampleNamespace = new Namespace(\"exampleNamespace\", NamespaceArgs.builder()\n            .name(\"example-namespace\")\n            .location(exampleResourceGroup.location())\n            .resourceGroupName(exampleResourceGroup.name())\n            .sku(\"Basic\")\n            .build());\n\n        var exampleApiConnection = new ApiConnection(\"exampleApiConnection\", ApiConnectionArgs.builder()\n            .name(\"example-connection\")\n            .resourceGroupName(exampleResourceGroup.name())\n            .managedApiId(example.applyValue(_example -\u003e _example.id()))\n            .displayName(\"Example 1\")\n            .parameterValues(Map.of(\"connectionString\", exampleNamespace.defaultPrimaryConnectionString()))\n            .tags(Map.of(\"Hello\", \"World\"))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleResourceGroup:\n    type: azure:core:ResourceGroup\n    name: example\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleNamespace:\n    type: azure:servicebus:Namespace\n    name: example\n    properties:\n      name: example-namespace\n      location: ${exampleResourceGroup.location}\n      resourceGroupName: ${exampleResourceGroup.name}\n      sku: Basic\n  exampleApiConnection:\n    type: azure:connections:ApiConnection\n    name: example\n    properties:\n      name: example-connection\n      resourceGroupName: ${exampleResourceGroup.name}\n      managedApiId: ${example.id}\n      displayName: Example 1\n      parameterValues:\n        connectionString: ${exampleNamespace.defaultPrimaryConnectionString}\n      tags:\n        Hello: World\nvariables:\n  example:\n    fn::invoke:\n      function: azure:connections:getManagedApi\n      arguments:\n        name: servicebus\n        location: ${exampleResourceGroup.location}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Web` - 2016-06-01\n\n## Import\n\nAPI Connections can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:connections/apiConnection:ApiConnection example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/example/providers/Microsoft.Web/connections/example-connection\n```\n\n","properties":{"displayName":{"type":"string","description":"A display name for this API Connection.\n"},"managedApiId":{"type":"string","description":"The ID of the Managed API which this API Connection is linked to. Changing this forces a new API Connection to be created.\n"},"name":{"type":"string","description":"The Name which should be used for this API Connection. Changing this forces a new API Connection to be created.\n"},"parameterValues":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of parameter values associated with this API Connection.\n\n\u003e **Note:** The Azure API doesn't return sensitive parameters in the API response which can lead to a diff, as such you may need to use Terraform's \u003cspan pulumi-lang-nodejs=\"`ignoreChanges`\" pulumi-lang-dotnet=\"`IgnoreChanges`\" pulumi-lang-go=\"`ignoreChanges`\" pulumi-lang-python=\"`ignore_changes`\" pulumi-lang-yaml=\"`ignoreChanges`\" pulumi-lang-java=\"`ignoreChanges`\"\u003e`ignore_changes`\u003c/span\u003e functionality on this field as shown in the Example Usage above.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where this API Connection should exist. Changing this forces a new API Connection to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the API Connection.\n"}},"required":["displayName","managedApiId","name","resourceGroupName"],"inputProperties":{"displayName":{"type":"string","description":"A display name for this API Connection.\n"},"managedApiId":{"type":"string","description":"The ID of the Managed API which this API Connection is linked to. Changing this forces a new API Connection to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The Name which should be used for this API Connection. Changing this forces a new API Connection to be created.\n","willReplaceOnChanges":true},"parameterValues":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of parameter values associated with this API Connection.\n\n\u003e **Note:** The Azure API doesn't return sensitive parameters in the API response which can lead to a diff, as such you may need to use Terraform's \u003cspan pulumi-lang-nodejs=\"`ignoreChanges`\" pulumi-lang-dotnet=\"`IgnoreChanges`\" pulumi-lang-go=\"`ignoreChanges`\" pulumi-lang-python=\"`ignore_changes`\" pulumi-lang-yaml=\"`ignoreChanges`\" pulumi-lang-java=\"`ignoreChanges`\"\u003e`ignore_changes`\u003c/span\u003e functionality on this field as shown in the Example Usage above.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where this API Connection should exist. Changing this forces a new API Connection to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the API Connection.\n"}},"requiredInputs":["managedApiId","resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering ApiConnection resources.\n","properties":{"displayName":{"type":"string","description":"A display name for this API Connection.\n"},"managedApiId":{"type":"string","description":"The ID of the Managed API which this API Connection is linked to. Changing this forces a new API Connection to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The Name which should be used for this API Connection. Changing this forces a new API Connection to be created.\n","willReplaceOnChanges":true},"parameterValues":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of parameter values associated with this API Connection.\n\n\u003e **Note:** The Azure API doesn't return sensitive parameters in the API response which can lead to a diff, as such you may need to use Terraform's \u003cspan pulumi-lang-nodejs=\"`ignoreChanges`\" pulumi-lang-dotnet=\"`IgnoreChanges`\" pulumi-lang-go=\"`ignoreChanges`\" pulumi-lang-python=\"`ignore_changes`\" pulumi-lang-yaml=\"`ignoreChanges`\" pulumi-lang-java=\"`ignoreChanges`\"\u003e`ignore_changes`\u003c/span\u003e functionality on this field as shown in the Example Usage above.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where this API Connection should exist. Changing this forces a new API Connection to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the API Connection.\n"}},"type":"object"}},"azure:consumption/budgetManagementGroup:BudgetManagementGroup":{"description":"Manages a Consumption Budget for a Management Group.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.management.Group(\"example\", {displayName: \"example\"});\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"example\", {\n    name: \"example\",\n    location: \"eastus\",\n});\nconst exampleBudgetManagementGroup = new azure.consumption.BudgetManagementGroup(\"example\", {\n    name: \"example\",\n    managementGroupId: example.id,\n    amount: 1000,\n    timeGrain: \"Monthly\",\n    timePeriod: {\n        startDate: \"2022-06-01T00:00:00Z\",\n        endDate: \"2022-07-01T00:00:00Z\",\n    },\n    filter: {\n        dimensions: [{\n            name: \"ResourceGroupName\",\n            values: [exampleResourceGroup.name],\n        }],\n        tags: [{\n            name: \"foo\",\n            values: [\n                \"bar\",\n                \"baz\",\n            ],\n        }],\n    },\n    notifications: [\n        {\n            enabled: true,\n            threshold: 90,\n            operator: \"EqualTo\",\n            contactEmails: [\n                \"foo@example.com\",\n                \"bar@example.com\",\n            ],\n        },\n        {\n            enabled: false,\n            threshold: 100,\n            operator: \"GreaterThan\",\n            thresholdType: \"Forecasted\",\n            contactEmails: [\n                \"foo@example.com\",\n                \"bar@example.com\",\n            ],\n        },\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.management.Group(\"example\", display_name=\"example\")\nexample_resource_group = azure.core.ResourceGroup(\"example\",\n    name=\"example\",\n    location=\"eastus\")\nexample_budget_management_group = azure.consumption.BudgetManagementGroup(\"example\",\n    name=\"example\",\n    management_group_id=example.id,\n    amount=1000,\n    time_grain=\"Monthly\",\n    time_period={\n        \"start_date\": \"2022-06-01T00:00:00Z\",\n        \"end_date\": \"2022-07-01T00:00:00Z\",\n    },\n    filter={\n        \"dimensions\": [{\n            \"name\": \"ResourceGroupName\",\n            \"values\": [example_resource_group.name],\n        }],\n        \"tags\": [{\n            \"name\": \"foo\",\n            \"values\": [\n                \"bar\",\n                \"baz\",\n            ],\n        }],\n    },\n    notifications=[\n        {\n            \"enabled\": True,\n            \"threshold\": 90,\n            \"operator\": \"EqualTo\",\n            \"contact_emails\": [\n                \"foo@example.com\",\n                \"bar@example.com\",\n            ],\n        },\n        {\n            \"enabled\": False,\n            \"threshold\": 100,\n            \"operator\": \"GreaterThan\",\n            \"threshold_type\": \"Forecasted\",\n            \"contact_emails\": [\n                \"foo@example.com\",\n                \"bar@example.com\",\n            ],\n        },\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Management.Group(\"example\", new()\n    {\n        DisplayName = \"example\",\n    });\n\n    var exampleResourceGroup = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example\",\n        Location = \"eastus\",\n    });\n\n    var exampleBudgetManagementGroup = new Azure.Consumption.BudgetManagementGroup(\"example\", new()\n    {\n        Name = \"example\",\n        ManagementGroupId = example.Id,\n        Amount = 1000,\n        TimeGrain = \"Monthly\",\n        TimePeriod = new Azure.Consumption.Inputs.BudgetManagementGroupTimePeriodArgs\n        {\n            StartDate = \"2022-06-01T00:00:00Z\",\n            EndDate = \"2022-07-01T00:00:00Z\",\n        },\n        Filter = new Azure.Consumption.Inputs.BudgetManagementGroupFilterArgs\n        {\n            Dimensions = new[]\n            {\n                new Azure.Consumption.Inputs.BudgetManagementGroupFilterDimensionArgs\n                {\n                    Name = \"ResourceGroupName\",\n                    Values = new[]\n                    {\n                        exampleResourceGroup.Name,\n                    },\n                },\n            },\n            Tags = new[]\n            {\n                new Azure.Consumption.Inputs.BudgetManagementGroupFilterTagArgs\n                {\n                    Name = \"foo\",\n                    Values = new[]\n                    {\n                        \"bar\",\n                        \"baz\",\n                    },\n                },\n            },\n        },\n        Notifications = new[]\n        {\n            new Azure.Consumption.Inputs.BudgetManagementGroupNotificationArgs\n            {\n                Enabled = true,\n                Threshold = 90,\n                Operator = \"EqualTo\",\n                ContactEmails = new[]\n                {\n                    \"foo@example.com\",\n                    \"bar@example.com\",\n                },\n            },\n            new Azure.Consumption.Inputs.BudgetManagementGroupNotificationArgs\n            {\n                Enabled = false,\n                Threshold = 100,\n                Operator = \"GreaterThan\",\n                ThresholdType = \"Forecasted\",\n                ContactEmails = new[]\n                {\n                    \"foo@example.com\",\n                    \"bar@example.com\",\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/consumption\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/management\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := management.NewGroup(ctx, \"example\", \u0026management.GroupArgs{\n\t\t\tDisplayName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example\"),\n\t\t\tLocation: pulumi.String(\"eastus\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = consumption.NewBudgetManagementGroup(ctx, \"example\", \u0026consumption.BudgetManagementGroupArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tManagementGroupId: example.ID(),\n\t\t\tAmount:            pulumi.Float64(1000),\n\t\t\tTimeGrain:         pulumi.String(\"Monthly\"),\n\t\t\tTimePeriod: \u0026consumption.BudgetManagementGroupTimePeriodArgs{\n\t\t\t\tStartDate: pulumi.String(\"2022-06-01T00:00:00Z\"),\n\t\t\t\tEndDate:   pulumi.String(\"2022-07-01T00:00:00Z\"),\n\t\t\t},\n\t\t\tFilter: \u0026consumption.BudgetManagementGroupFilterArgs{\n\t\t\t\tDimensions: consumption.BudgetManagementGroupFilterDimensionArray{\n\t\t\t\t\t\u0026consumption.BudgetManagementGroupFilterDimensionArgs{\n\t\t\t\t\t\tName: pulumi.String(\"ResourceGroupName\"),\n\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\texampleResourceGroup.Name,\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tTags: consumption.BudgetManagementGroupFilterTagArray{\n\t\t\t\t\t\u0026consumption.BudgetManagementGroupFilterTagArgs{\n\t\t\t\t\t\tName: pulumi.String(\"foo\"),\n\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"bar\"),\n\t\t\t\t\t\t\tpulumi.String(\"baz\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tNotifications: consumption.BudgetManagementGroupNotificationArray{\n\t\t\t\t\u0026consumption.BudgetManagementGroupNotificationArgs{\n\t\t\t\t\tEnabled:   pulumi.Bool(true),\n\t\t\t\t\tThreshold: pulumi.Int(90),\n\t\t\t\t\tOperator:  pulumi.String(\"EqualTo\"),\n\t\t\t\t\tContactEmails: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"foo@example.com\"),\n\t\t\t\t\t\tpulumi.String(\"bar@example.com\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026consumption.BudgetManagementGroupNotificationArgs{\n\t\t\t\t\tEnabled:       pulumi.Bool(false),\n\t\t\t\t\tThreshold:     pulumi.Int(100),\n\t\t\t\t\tOperator:      pulumi.String(\"GreaterThan\"),\n\t\t\t\t\tThresholdType: pulumi.String(\"Forecasted\"),\n\t\t\t\t\tContactEmails: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"foo@example.com\"),\n\t\t\t\t\t\tpulumi.String(\"bar@example.com\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.management.Group;\nimport com.pulumi.azure.management.GroupArgs;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.consumption.BudgetManagementGroup;\nimport com.pulumi.azure.consumption.BudgetManagementGroupArgs;\nimport com.pulumi.azure.consumption.inputs.BudgetManagementGroupTimePeriodArgs;\nimport com.pulumi.azure.consumption.inputs.BudgetManagementGroupFilterArgs;\nimport com.pulumi.azure.consumption.inputs.BudgetManagementGroupNotificationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new Group(\"example\", GroupArgs.builder()\n            .displayName(\"example\")\n            .build());\n\n        var exampleResourceGroup = new ResourceGroup(\"exampleResourceGroup\", ResourceGroupArgs.builder()\n            .name(\"example\")\n            .location(\"eastus\")\n            .build());\n\n        var exampleBudgetManagementGroup = new BudgetManagementGroup(\"exampleBudgetManagementGroup\", BudgetManagementGroupArgs.builder()\n            .name(\"example\")\n            .managementGroupId(example.id())\n            .amount(1000.0)\n            .timeGrain(\"Monthly\")\n            .timePeriod(BudgetManagementGroupTimePeriodArgs.builder()\n                .startDate(\"2022-06-01T00:00:00Z\")\n                .endDate(\"2022-07-01T00:00:00Z\")\n                .build())\n            .filter(BudgetManagementGroupFilterArgs.builder()\n                .dimensions(BudgetManagementGroupFilterDimensionArgs.builder()\n                    .name(\"ResourceGroupName\")\n                    .values(exampleResourceGroup.name())\n                    .build())\n                .tags(BudgetManagementGroupFilterTagArgs.builder()\n                    .name(\"foo\")\n                    .values(                    \n                        \"bar\",\n                        \"baz\")\n                    .build())\n                .build())\n            .notifications(            \n                BudgetManagementGroupNotificationArgs.builder()\n                    .enabled(true)\n                    .threshold(90)\n                    .operator(\"EqualTo\")\n                    .contactEmails(                    \n                        \"foo@example.com\",\n                        \"bar@example.com\")\n                    .build(),\n                BudgetManagementGroupNotificationArgs.builder()\n                    .enabled(false)\n                    .threshold(100)\n                    .operator(\"GreaterThan\")\n                    .thresholdType(\"Forecasted\")\n                    .contactEmails(                    \n                        \"foo@example.com\",\n                        \"bar@example.com\")\n                    .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:management:Group\n    properties:\n      displayName: example\n  exampleResourceGroup:\n    type: azure:core:ResourceGroup\n    name: example\n    properties:\n      name: example\n      location: eastus\n  exampleBudgetManagementGroup:\n    type: azure:consumption:BudgetManagementGroup\n    name: example\n    properties:\n      name: example\n      managementGroupId: ${example.id}\n      amount: 1000\n      timeGrain: Monthly\n      timePeriod:\n        startDate: 2022-06-01T00:00:00Z\n        endDate: 2022-07-01T00:00:00Z\n      filter:\n        dimensions:\n          - name: ResourceGroupName\n            values:\n              - ${exampleResourceGroup.name}\n        tags:\n          - name: foo\n            values:\n              - bar\n              - baz\n      notifications:\n        - enabled: true\n          threshold: 90\n          operator: EqualTo\n          contactEmails:\n            - foo@example.com\n            - bar@example.com\n        - enabled: false\n          threshold: 100\n          operator: GreaterThan\n          thresholdType: Forecasted\n          contactEmails:\n            - foo@example.com\n            - bar@example.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Consumption` - 2019-10-01\n\n## Import\n\nManagement Group Consumption Budgets can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:consumption/budgetManagementGroup:BudgetManagementGroup example /providers/Microsoft.Management/managementGroups/00000000-0000-0000-0000-000000000000/providers/Microsoft.Consumption/budgets/budget1\n```\n\n","properties":{"amount":{"type":"number","description":"The total amount of cost to track with the budget.\n"},"etag":{"type":"string","description":"(Optional) The ETag of the Management Group Consumption Budget.\n"},"filter":{"$ref":"#/types/azure:consumption/BudgetManagementGroupFilter:BudgetManagementGroupFilter","description":"A \u003cspan pulumi-lang-nodejs=\"`filter`\" pulumi-lang-dotnet=\"`Filter`\" pulumi-lang-go=\"`filter`\" pulumi-lang-python=\"`filter`\" pulumi-lang-yaml=\"`filter`\" pulumi-lang-java=\"`filter`\"\u003e`filter`\u003c/span\u003e block as defined below.\n"},"managementGroupId":{"type":"string","description":"The ID of the Management Group. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"The name which should be used for this Management Group Consumption Budget. Changing this forces a new resource to be created.\n"},"notifications":{"type":"array","items":{"$ref":"#/types/azure:consumption/BudgetManagementGroupNotification:BudgetManagementGroupNotification"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`notification`\" pulumi-lang-dotnet=\"`Notification`\" pulumi-lang-go=\"`notification`\" pulumi-lang-python=\"`notification`\" pulumi-lang-yaml=\"`notification`\" pulumi-lang-java=\"`notification`\"\u003e`notification`\u003c/span\u003e blocks as defined below.\n"},"timeGrain":{"type":"string","description":"The time covered by a budget. Tracking of the amount will be reset based on the time grain. Must be one of `BillingAnnual`, `BillingMonth`, `BillingQuarter`, `Annually`, `Monthly` and `Quarterly`. Defaults to `Monthly`. Changing this forces a new resource to be created.\n"},"timePeriod":{"$ref":"#/types/azure:consumption/BudgetManagementGroupTimePeriod:BudgetManagementGroupTimePeriod","description":"A \u003cspan pulumi-lang-nodejs=\"`timePeriod`\" pulumi-lang-dotnet=\"`TimePeriod`\" pulumi-lang-go=\"`timePeriod`\" pulumi-lang-python=\"`time_period`\" pulumi-lang-yaml=\"`timePeriod`\" pulumi-lang-java=\"`timePeriod`\"\u003e`time_period`\u003c/span\u003e block as defined below.\n"}},"required":["amount","etag","managementGroupId","name","notifications","timePeriod"],"inputProperties":{"amount":{"type":"number","description":"The total amount of cost to track with the budget.\n"},"etag":{"type":"string","description":"(Optional) The ETag of the Management Group Consumption Budget.\n"},"filter":{"$ref":"#/types/azure:consumption/BudgetManagementGroupFilter:BudgetManagementGroupFilter","description":"A \u003cspan pulumi-lang-nodejs=\"`filter`\" pulumi-lang-dotnet=\"`Filter`\" pulumi-lang-go=\"`filter`\" pulumi-lang-python=\"`filter`\" pulumi-lang-yaml=\"`filter`\" pulumi-lang-java=\"`filter`\"\u003e`filter`\u003c/span\u003e block as defined below.\n"},"managementGroupId":{"type":"string","description":"The ID of the Management Group. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Management Group Consumption Budget. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"notifications":{"type":"array","items":{"$ref":"#/types/azure:consumption/BudgetManagementGroupNotification:BudgetManagementGroupNotification"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`notification`\" pulumi-lang-dotnet=\"`Notification`\" pulumi-lang-go=\"`notification`\" pulumi-lang-python=\"`notification`\" pulumi-lang-yaml=\"`notification`\" pulumi-lang-java=\"`notification`\"\u003e`notification`\u003c/span\u003e blocks as defined below.\n"},"timeGrain":{"type":"string","description":"The time covered by a budget. Tracking of the amount will be reset based on the time grain. Must be one of `BillingAnnual`, `BillingMonth`, `BillingQuarter`, `Annually`, `Monthly` and `Quarterly`. Defaults to `Monthly`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"timePeriod":{"$ref":"#/types/azure:consumption/BudgetManagementGroupTimePeriod:BudgetManagementGroupTimePeriod","description":"A \u003cspan pulumi-lang-nodejs=\"`timePeriod`\" pulumi-lang-dotnet=\"`TimePeriod`\" pulumi-lang-go=\"`timePeriod`\" pulumi-lang-python=\"`time_period`\" pulumi-lang-yaml=\"`timePeriod`\" pulumi-lang-java=\"`timePeriod`\"\u003e`time_period`\u003c/span\u003e block as defined below.\n"}},"requiredInputs":["amount","managementGroupId","notifications","timePeriod"],"stateInputs":{"description":"Input properties used for looking up and filtering BudgetManagementGroup resources.\n","properties":{"amount":{"type":"number","description":"The total amount of cost to track with the budget.\n"},"etag":{"type":"string","description":"(Optional) The ETag of the Management Group Consumption Budget.\n"},"filter":{"$ref":"#/types/azure:consumption/BudgetManagementGroupFilter:BudgetManagementGroupFilter","description":"A \u003cspan pulumi-lang-nodejs=\"`filter`\" pulumi-lang-dotnet=\"`Filter`\" pulumi-lang-go=\"`filter`\" pulumi-lang-python=\"`filter`\" pulumi-lang-yaml=\"`filter`\" pulumi-lang-java=\"`filter`\"\u003e`filter`\u003c/span\u003e block as defined below.\n"},"managementGroupId":{"type":"string","description":"The ID of the Management Group. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Management Group Consumption Budget. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"notifications":{"type":"array","items":{"$ref":"#/types/azure:consumption/BudgetManagementGroupNotification:BudgetManagementGroupNotification"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`notification`\" pulumi-lang-dotnet=\"`Notification`\" pulumi-lang-go=\"`notification`\" pulumi-lang-python=\"`notification`\" pulumi-lang-yaml=\"`notification`\" pulumi-lang-java=\"`notification`\"\u003e`notification`\u003c/span\u003e blocks as defined below.\n"},"timeGrain":{"type":"string","description":"The time covered by a budget. Tracking of the amount will be reset based on the time grain. Must be one of `BillingAnnual`, `BillingMonth`, `BillingQuarter`, `Annually`, `Monthly` and `Quarterly`. Defaults to `Monthly`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"timePeriod":{"$ref":"#/types/azure:consumption/BudgetManagementGroupTimePeriod:BudgetManagementGroupTimePeriod","description":"A \u003cspan pulumi-lang-nodejs=\"`timePeriod`\" pulumi-lang-dotnet=\"`TimePeriod`\" pulumi-lang-go=\"`timePeriod`\" pulumi-lang-python=\"`time_period`\" pulumi-lang-yaml=\"`timePeriod`\" pulumi-lang-java=\"`timePeriod`\"\u003e`time_period`\u003c/span\u003e block as defined below.\n"}},"type":"object"}},"azure:consumption/budgetResourceGroup:BudgetResourceGroup":{"description":"Manages a Resource Group Consumption Budget.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example\",\n    location: \"eastus\",\n});\nconst exampleActionGroup = new azure.monitoring.ActionGroup(\"example\", {\n    name: \"example\",\n    resourceGroupName: example.name,\n    shortName: \"example\",\n});\nconst exampleBudgetResourceGroup = new azure.consumption.BudgetResourceGroup(\"example\", {\n    name: \"example\",\n    resourceGroupId: example.id,\n    amount: 1000,\n    timeGrain: \"Monthly\",\n    timePeriod: {\n        startDate: \"2022-06-01T00:00:00Z\",\n        endDate: \"2022-07-01T00:00:00Z\",\n    },\n    filter: {\n        dimensions: [{\n            name: \"ResourceId\",\n            values: [exampleActionGroup.id],\n        }],\n        tags: [{\n            name: \"foo\",\n            values: [\n                \"bar\",\n                \"baz\",\n            ],\n        }],\n    },\n    notifications: [\n        {\n            enabled: true,\n            threshold: 90,\n            operator: \"EqualTo\",\n            thresholdType: \"Forecasted\",\n            contactEmails: [\n                \"foo@example.com\",\n                \"bar@example.com\",\n            ],\n            contactGroups: [exampleActionGroup.id],\n            contactRoles: [\"Owner\"],\n        },\n        {\n            enabled: false,\n            threshold: 100,\n            operator: \"GreaterThan\",\n            contactEmails: [\n                \"foo@example.com\",\n                \"bar@example.com\",\n            ],\n        },\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example\",\n    location=\"eastus\")\nexample_action_group = azure.monitoring.ActionGroup(\"example\",\n    name=\"example\",\n    resource_group_name=example.name,\n    short_name=\"example\")\nexample_budget_resource_group = azure.consumption.BudgetResourceGroup(\"example\",\n    name=\"example\",\n    resource_group_id=example.id,\n    amount=1000,\n    time_grain=\"Monthly\",\n    time_period={\n        \"start_date\": \"2022-06-01T00:00:00Z\",\n        \"end_date\": \"2022-07-01T00:00:00Z\",\n    },\n    filter={\n        \"dimensions\": [{\n            \"name\": \"ResourceId\",\n            \"values\": [example_action_group.id],\n        }],\n        \"tags\": [{\n            \"name\": \"foo\",\n            \"values\": [\n                \"bar\",\n                \"baz\",\n            ],\n        }],\n    },\n    notifications=[\n        {\n            \"enabled\": True,\n            \"threshold\": 90,\n            \"operator\": \"EqualTo\",\n            \"threshold_type\": \"Forecasted\",\n            \"contact_emails\": [\n                \"foo@example.com\",\n                \"bar@example.com\",\n            ],\n            \"contact_groups\": [example_action_group.id],\n            \"contact_roles\": [\"Owner\"],\n        },\n        {\n            \"enabled\": False,\n            \"threshold\": 100,\n            \"operator\": \"GreaterThan\",\n            \"contact_emails\": [\n                \"foo@example.com\",\n                \"bar@example.com\",\n            ],\n        },\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example\",\n        Location = \"eastus\",\n    });\n\n    var exampleActionGroup = new Azure.Monitoring.ActionGroup(\"example\", new()\n    {\n        Name = \"example\",\n        ResourceGroupName = example.Name,\n        ShortName = \"example\",\n    });\n\n    var exampleBudgetResourceGroup = new Azure.Consumption.BudgetResourceGroup(\"example\", new()\n    {\n        Name = \"example\",\n        ResourceGroupId = example.Id,\n        Amount = 1000,\n        TimeGrain = \"Monthly\",\n        TimePeriod = new Azure.Consumption.Inputs.BudgetResourceGroupTimePeriodArgs\n        {\n            StartDate = \"2022-06-01T00:00:00Z\",\n            EndDate = \"2022-07-01T00:00:00Z\",\n        },\n        Filter = new Azure.Consumption.Inputs.BudgetResourceGroupFilterArgs\n        {\n            Dimensions = new[]\n            {\n                new Azure.Consumption.Inputs.BudgetResourceGroupFilterDimensionArgs\n                {\n                    Name = \"ResourceId\",\n                    Values = new[]\n                    {\n                        exampleActionGroup.Id,\n                    },\n                },\n            },\n            Tags = new[]\n            {\n                new Azure.Consumption.Inputs.BudgetResourceGroupFilterTagArgs\n                {\n                    Name = \"foo\",\n                    Values = new[]\n                    {\n                        \"bar\",\n                        \"baz\",\n                    },\n                },\n            },\n        },\n        Notifications = new[]\n        {\n            new Azure.Consumption.Inputs.BudgetResourceGroupNotificationArgs\n            {\n                Enabled = true,\n                Threshold = 90,\n                Operator = \"EqualTo\",\n                ThresholdType = \"Forecasted\",\n                ContactEmails = new[]\n                {\n                    \"foo@example.com\",\n                    \"bar@example.com\",\n                },\n                ContactGroups = new[]\n                {\n                    exampleActionGroup.Id,\n                },\n                ContactRoles = new[]\n                {\n                    \"Owner\",\n                },\n            },\n            new Azure.Consumption.Inputs.BudgetResourceGroupNotificationArgs\n            {\n                Enabled = false,\n                Threshold = 100,\n                Operator = \"GreaterThan\",\n                ContactEmails = new[]\n                {\n                    \"foo@example.com\",\n                    \"bar@example.com\",\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/consumption\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/monitoring\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example\"),\n\t\t\tLocation: pulumi.String(\"eastus\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleActionGroup, err := monitoring.NewActionGroup(ctx, \"example\", \u0026monitoring.ActionGroupArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tShortName:         pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = consumption.NewBudgetResourceGroup(ctx, \"example\", \u0026consumption.BudgetResourceGroupArgs{\n\t\t\tName:            pulumi.String(\"example\"),\n\t\t\tResourceGroupId: example.ID(),\n\t\t\tAmount:          pulumi.Float64(1000),\n\t\t\tTimeGrain:       pulumi.String(\"Monthly\"),\n\t\t\tTimePeriod: \u0026consumption.BudgetResourceGroupTimePeriodArgs{\n\t\t\t\tStartDate: pulumi.String(\"2022-06-01T00:00:00Z\"),\n\t\t\t\tEndDate:   pulumi.String(\"2022-07-01T00:00:00Z\"),\n\t\t\t},\n\t\t\tFilter: \u0026consumption.BudgetResourceGroupFilterArgs{\n\t\t\t\tDimensions: consumption.BudgetResourceGroupFilterDimensionArray{\n\t\t\t\t\t\u0026consumption.BudgetResourceGroupFilterDimensionArgs{\n\t\t\t\t\t\tName: pulumi.String(\"ResourceId\"),\n\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\texampleActionGroup.ID(),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tTags: consumption.BudgetResourceGroupFilterTagArray{\n\t\t\t\t\t\u0026consumption.BudgetResourceGroupFilterTagArgs{\n\t\t\t\t\t\tName: pulumi.String(\"foo\"),\n\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"bar\"),\n\t\t\t\t\t\t\tpulumi.String(\"baz\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tNotifications: consumption.BudgetResourceGroupNotificationArray{\n\t\t\t\t\u0026consumption.BudgetResourceGroupNotificationArgs{\n\t\t\t\t\tEnabled:       pulumi.Bool(true),\n\t\t\t\t\tThreshold:     pulumi.Int(90),\n\t\t\t\t\tOperator:      pulumi.String(\"EqualTo\"),\n\t\t\t\t\tThresholdType: pulumi.String(\"Forecasted\"),\n\t\t\t\t\tContactEmails: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"foo@example.com\"),\n\t\t\t\t\t\tpulumi.String(\"bar@example.com\"),\n\t\t\t\t\t},\n\t\t\t\t\tContactGroups: pulumi.StringArray{\n\t\t\t\t\t\texampleActionGroup.ID(),\n\t\t\t\t\t},\n\t\t\t\t\tContactRoles: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"Owner\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026consumption.BudgetResourceGroupNotificationArgs{\n\t\t\t\t\tEnabled:   pulumi.Bool(false),\n\t\t\t\t\tThreshold: pulumi.Int(100),\n\t\t\t\t\tOperator:  pulumi.String(\"GreaterThan\"),\n\t\t\t\t\tContactEmails: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"foo@example.com\"),\n\t\t\t\t\t\tpulumi.String(\"bar@example.com\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.monitoring.ActionGroup;\nimport com.pulumi.azure.monitoring.ActionGroupArgs;\nimport com.pulumi.azure.consumption.BudgetResourceGroup;\nimport com.pulumi.azure.consumption.BudgetResourceGroupArgs;\nimport com.pulumi.azure.consumption.inputs.BudgetResourceGroupTimePeriodArgs;\nimport com.pulumi.azure.consumption.inputs.BudgetResourceGroupFilterArgs;\nimport com.pulumi.azure.consumption.inputs.BudgetResourceGroupNotificationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example\")\n            .location(\"eastus\")\n            .build());\n\n        var exampleActionGroup = new ActionGroup(\"exampleActionGroup\", ActionGroupArgs.builder()\n            .name(\"example\")\n            .resourceGroupName(example.name())\n            .shortName(\"example\")\n            .build());\n\n        var exampleBudgetResourceGroup = new BudgetResourceGroup(\"exampleBudgetResourceGroup\", BudgetResourceGroupArgs.builder()\n            .name(\"example\")\n            .resourceGroupId(example.id())\n            .amount(1000.0)\n            .timeGrain(\"Monthly\")\n            .timePeriod(BudgetResourceGroupTimePeriodArgs.builder()\n                .startDate(\"2022-06-01T00:00:00Z\")\n                .endDate(\"2022-07-01T00:00:00Z\")\n                .build())\n            .filter(BudgetResourceGroupFilterArgs.builder()\n                .dimensions(BudgetResourceGroupFilterDimensionArgs.builder()\n                    .name(\"ResourceId\")\n                    .values(exampleActionGroup.id())\n                    .build())\n                .tags(BudgetResourceGroupFilterTagArgs.builder()\n                    .name(\"foo\")\n                    .values(                    \n                        \"bar\",\n                        \"baz\")\n                    .build())\n                .build())\n            .notifications(            \n                BudgetResourceGroupNotificationArgs.builder()\n                    .enabled(true)\n                    .threshold(90)\n                    .operator(\"EqualTo\")\n                    .thresholdType(\"Forecasted\")\n                    .contactEmails(                    \n                        \"foo@example.com\",\n                        \"bar@example.com\")\n                    .contactGroups(exampleActionGroup.id())\n                    .contactRoles(\"Owner\")\n                    .build(),\n                BudgetResourceGroupNotificationArgs.builder()\n                    .enabled(false)\n                    .threshold(100)\n                    .operator(\"GreaterThan\")\n                    .contactEmails(                    \n                        \"foo@example.com\",\n                        \"bar@example.com\")\n                    .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example\n      location: eastus\n  exampleActionGroup:\n    type: azure:monitoring:ActionGroup\n    name: example\n    properties:\n      name: example\n      resourceGroupName: ${example.name}\n      shortName: example\n  exampleBudgetResourceGroup:\n    type: azure:consumption:BudgetResourceGroup\n    name: example\n    properties:\n      name: example\n      resourceGroupId: ${example.id}\n      amount: 1000\n      timeGrain: Monthly\n      timePeriod:\n        startDate: 2022-06-01T00:00:00Z\n        endDate: 2022-07-01T00:00:00Z\n      filter:\n        dimensions:\n          - name: ResourceId\n            values:\n              - ${exampleActionGroup.id}\n        tags:\n          - name: foo\n            values:\n              - bar\n              - baz\n      notifications:\n        - enabled: true\n          threshold: 90\n          operator: EqualTo\n          thresholdType: Forecasted\n          contactEmails:\n            - foo@example.com\n            - bar@example.com\n          contactGroups:\n            - ${exampleActionGroup.id}\n          contactRoles:\n            - Owner\n        - enabled: false\n          threshold: 100\n          operator: GreaterThan\n          contactEmails:\n            - foo@example.com\n            - bar@example.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Consumption` - 2019-10-01\n\n## Import\n\nResource Group Consumption Budgets can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:consumption/budgetResourceGroup:BudgetResourceGroup example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup1/providers/Microsoft.Consumption/budgets/resourceGroup1\n```\n\n","properties":{"amount":{"type":"number","description":"The total amount of cost to track with the budget.\n"},"etag":{"type":"string","description":"(Optional) The ETag of the Resource Group Consumption Budget\n"},"filter":{"$ref":"#/types/azure:consumption/BudgetResourceGroupFilter:BudgetResourceGroupFilter","description":"A \u003cspan pulumi-lang-nodejs=\"`filter`\" pulumi-lang-dotnet=\"`Filter`\" pulumi-lang-go=\"`filter`\" pulumi-lang-python=\"`filter`\" pulumi-lang-yaml=\"`filter`\" pulumi-lang-java=\"`filter`\"\u003e`filter`\u003c/span\u003e block as defined below.\n"},"name":{"type":"string","description":"The name which should be used for this Resource Group Consumption Budget. Changing this forces a new Resource Group Consumption Budget to be created.\n"},"notifications":{"type":"array","items":{"$ref":"#/types/azure:consumption/BudgetResourceGroupNotification:BudgetResourceGroupNotification"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`notification`\" pulumi-lang-dotnet=\"`Notification`\" pulumi-lang-go=\"`notification`\" pulumi-lang-python=\"`notification`\" pulumi-lang-yaml=\"`notification`\" pulumi-lang-java=\"`notification`\"\u003e`notification`\u003c/span\u003e blocks as defined below.\n"},"resourceGroupId":{"type":"string","description":"The ID of the Resource Group to create the consumption budget for in the form of /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup1. Changing this forces a new Resource Group Consumption Budget to be created.\n"},"timeGrain":{"type":"string","description":"The time covered by a budget. Tracking of the amount will be reset based on the time grain. Must be one of `BillingAnnual`, `BillingMonth`, `BillingQuarter`, `Annually`, `Monthly` and `Quarterly`. Defaults to `Monthly`. Changing this forces a new resource to be created.\n"},"timePeriod":{"$ref":"#/types/azure:consumption/BudgetResourceGroupTimePeriod:BudgetResourceGroupTimePeriod","description":"A \u003cspan pulumi-lang-nodejs=\"`timePeriod`\" pulumi-lang-dotnet=\"`TimePeriod`\" pulumi-lang-go=\"`timePeriod`\" pulumi-lang-python=\"`time_period`\" pulumi-lang-yaml=\"`timePeriod`\" pulumi-lang-java=\"`timePeriod`\"\u003e`time_period`\u003c/span\u003e block as defined below.\n"}},"required":["amount","etag","name","notifications","resourceGroupId","timePeriod"],"inputProperties":{"amount":{"type":"number","description":"The total amount of cost to track with the budget.\n"},"etag":{"type":"string","description":"(Optional) The ETag of the Resource Group Consumption Budget\n"},"filter":{"$ref":"#/types/azure:consumption/BudgetResourceGroupFilter:BudgetResourceGroupFilter","description":"A \u003cspan pulumi-lang-nodejs=\"`filter`\" pulumi-lang-dotnet=\"`Filter`\" pulumi-lang-go=\"`filter`\" pulumi-lang-python=\"`filter`\" pulumi-lang-yaml=\"`filter`\" pulumi-lang-java=\"`filter`\"\u003e`filter`\u003c/span\u003e block as defined below.\n"},"name":{"type":"string","description":"The name which should be used for this Resource Group Consumption Budget. Changing this forces a new Resource Group Consumption Budget to be created.\n","willReplaceOnChanges":true},"notifications":{"type":"array","items":{"$ref":"#/types/azure:consumption/BudgetResourceGroupNotification:BudgetResourceGroupNotification"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`notification`\" pulumi-lang-dotnet=\"`Notification`\" pulumi-lang-go=\"`notification`\" pulumi-lang-python=\"`notification`\" pulumi-lang-yaml=\"`notification`\" pulumi-lang-java=\"`notification`\"\u003e`notification`\u003c/span\u003e blocks as defined below.\n"},"resourceGroupId":{"type":"string","description":"The ID of the Resource Group to create the consumption budget for in the form of /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup1. Changing this forces a new Resource Group Consumption Budget to be created.\n","willReplaceOnChanges":true},"timeGrain":{"type":"string","description":"The time covered by a budget. Tracking of the amount will be reset based on the time grain. Must be one of `BillingAnnual`, `BillingMonth`, `BillingQuarter`, `Annually`, `Monthly` and `Quarterly`. Defaults to `Monthly`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"timePeriod":{"$ref":"#/types/azure:consumption/BudgetResourceGroupTimePeriod:BudgetResourceGroupTimePeriod","description":"A \u003cspan pulumi-lang-nodejs=\"`timePeriod`\" pulumi-lang-dotnet=\"`TimePeriod`\" pulumi-lang-go=\"`timePeriod`\" pulumi-lang-python=\"`time_period`\" pulumi-lang-yaml=\"`timePeriod`\" pulumi-lang-java=\"`timePeriod`\"\u003e`time_period`\u003c/span\u003e block as defined below.\n"}},"requiredInputs":["amount","notifications","resourceGroupId","timePeriod"],"stateInputs":{"description":"Input properties used for looking up and filtering BudgetResourceGroup resources.\n","properties":{"amount":{"type":"number","description":"The total amount of cost to track with the budget.\n"},"etag":{"type":"string","description":"(Optional) The ETag of the Resource Group Consumption Budget\n"},"filter":{"$ref":"#/types/azure:consumption/BudgetResourceGroupFilter:BudgetResourceGroupFilter","description":"A \u003cspan pulumi-lang-nodejs=\"`filter`\" pulumi-lang-dotnet=\"`Filter`\" pulumi-lang-go=\"`filter`\" pulumi-lang-python=\"`filter`\" pulumi-lang-yaml=\"`filter`\" pulumi-lang-java=\"`filter`\"\u003e`filter`\u003c/span\u003e block as defined below.\n"},"name":{"type":"string","description":"The name which should be used for this Resource Group Consumption Budget. Changing this forces a new Resource Group Consumption Budget to be created.\n","willReplaceOnChanges":true},"notifications":{"type":"array","items":{"$ref":"#/types/azure:consumption/BudgetResourceGroupNotification:BudgetResourceGroupNotification"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`notification`\" pulumi-lang-dotnet=\"`Notification`\" pulumi-lang-go=\"`notification`\" pulumi-lang-python=\"`notification`\" pulumi-lang-yaml=\"`notification`\" pulumi-lang-java=\"`notification`\"\u003e`notification`\u003c/span\u003e blocks as defined below.\n"},"resourceGroupId":{"type":"string","description":"The ID of the Resource Group to create the consumption budget for in the form of /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup1. Changing this forces a new Resource Group Consumption Budget to be created.\n","willReplaceOnChanges":true},"timeGrain":{"type":"string","description":"The time covered by a budget. Tracking of the amount will be reset based on the time grain. Must be one of `BillingAnnual`, `BillingMonth`, `BillingQuarter`, `Annually`, `Monthly` and `Quarterly`. Defaults to `Monthly`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"timePeriod":{"$ref":"#/types/azure:consumption/BudgetResourceGroupTimePeriod:BudgetResourceGroupTimePeriod","description":"A \u003cspan pulumi-lang-nodejs=\"`timePeriod`\" pulumi-lang-dotnet=\"`TimePeriod`\" pulumi-lang-go=\"`timePeriod`\" pulumi-lang-python=\"`time_period`\" pulumi-lang-yaml=\"`timePeriod`\" pulumi-lang-java=\"`timePeriod`\"\u003e`time_period`\u003c/span\u003e block as defined below.\n"}},"type":"object"}},"azure:consumption/budgetSubscription:BudgetSubscription":{"description":"Manages a Subscription Consumption Budget.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst current = azure.core.getSubscription({});\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example\",\n    location: \"eastus\",\n});\nconst exampleActionGroup = new azure.monitoring.ActionGroup(\"example\", {\n    name: \"example\",\n    resourceGroupName: example.name,\n    shortName: \"example\",\n});\nconst exampleBudgetSubscription = new azure.consumption.BudgetSubscription(\"example\", {\n    name: \"example\",\n    subscriptionId: current.then(current =\u003e current.id),\n    amount: 1000,\n    timeGrain: \"Monthly\",\n    timePeriod: {\n        startDate: \"2022-06-01T00:00:00Z\",\n        endDate: \"2022-07-01T00:00:00Z\",\n    },\n    filter: {\n        dimensions: [{\n            name: \"ResourceGroupName\",\n            values: [example.name],\n        }],\n        tags: [{\n            name: \"foo\",\n            values: [\n                \"bar\",\n                \"baz\",\n            ],\n        }],\n    },\n    notifications: [\n        {\n            enabled: true,\n            threshold: 90,\n            operator: \"EqualTo\",\n            contactEmails: [\n                \"foo@example.com\",\n                \"bar@example.com\",\n            ],\n            contactGroups: [exampleActionGroup.id],\n            contactRoles: [\"Owner\"],\n        },\n        {\n            enabled: false,\n            threshold: 100,\n            operator: \"GreaterThan\",\n            thresholdType: \"Forecasted\",\n            contactEmails: [\n                \"foo@example.com\",\n                \"bar@example.com\",\n            ],\n        },\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\ncurrent = azure.core.get_subscription()\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example\",\n    location=\"eastus\")\nexample_action_group = azure.monitoring.ActionGroup(\"example\",\n    name=\"example\",\n    resource_group_name=example.name,\n    short_name=\"example\")\nexample_budget_subscription = azure.consumption.BudgetSubscription(\"example\",\n    name=\"example\",\n    subscription_id=current.id,\n    amount=1000,\n    time_grain=\"Monthly\",\n    time_period={\n        \"start_date\": \"2022-06-01T00:00:00Z\",\n        \"end_date\": \"2022-07-01T00:00:00Z\",\n    },\n    filter={\n        \"dimensions\": [{\n            \"name\": \"ResourceGroupName\",\n            \"values\": [example.name],\n        }],\n        \"tags\": [{\n            \"name\": \"foo\",\n            \"values\": [\n                \"bar\",\n                \"baz\",\n            ],\n        }],\n    },\n    notifications=[\n        {\n            \"enabled\": True,\n            \"threshold\": 90,\n            \"operator\": \"EqualTo\",\n            \"contact_emails\": [\n                \"foo@example.com\",\n                \"bar@example.com\",\n            ],\n            \"contact_groups\": [example_action_group.id],\n            \"contact_roles\": [\"Owner\"],\n        },\n        {\n            \"enabled\": False,\n            \"threshold\": 100,\n            \"operator\": \"GreaterThan\",\n            \"threshold_type\": \"Forecasted\",\n            \"contact_emails\": [\n                \"foo@example.com\",\n                \"bar@example.com\",\n            ],\n        },\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var current = Azure.Core.GetSubscription.Invoke();\n\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example\",\n        Location = \"eastus\",\n    });\n\n    var exampleActionGroup = new Azure.Monitoring.ActionGroup(\"example\", new()\n    {\n        Name = \"example\",\n        ResourceGroupName = example.Name,\n        ShortName = \"example\",\n    });\n\n    var exampleBudgetSubscription = new Azure.Consumption.BudgetSubscription(\"example\", new()\n    {\n        Name = \"example\",\n        SubscriptionId = current.Apply(getSubscriptionResult =\u003e getSubscriptionResult.Id),\n        Amount = 1000,\n        TimeGrain = \"Monthly\",\n        TimePeriod = new Azure.Consumption.Inputs.BudgetSubscriptionTimePeriodArgs\n        {\n            StartDate = \"2022-06-01T00:00:00Z\",\n            EndDate = \"2022-07-01T00:00:00Z\",\n        },\n        Filter = new Azure.Consumption.Inputs.BudgetSubscriptionFilterArgs\n        {\n            Dimensions = new[]\n            {\n                new Azure.Consumption.Inputs.BudgetSubscriptionFilterDimensionArgs\n                {\n                    Name = \"ResourceGroupName\",\n                    Values = new[]\n                    {\n                        example.Name,\n                    },\n                },\n            },\n            Tags = new[]\n            {\n                new Azure.Consumption.Inputs.BudgetSubscriptionFilterTagArgs\n                {\n                    Name = \"foo\",\n                    Values = new[]\n                    {\n                        \"bar\",\n                        \"baz\",\n                    },\n                },\n            },\n        },\n        Notifications = new[]\n        {\n            new Azure.Consumption.Inputs.BudgetSubscriptionNotificationArgs\n            {\n                Enabled = true,\n                Threshold = 90,\n                Operator = \"EqualTo\",\n                ContactEmails = new[]\n                {\n                    \"foo@example.com\",\n                    \"bar@example.com\",\n                },\n                ContactGroups = new[]\n                {\n                    exampleActionGroup.Id,\n                },\n                ContactRoles = new[]\n                {\n                    \"Owner\",\n                },\n            },\n            new Azure.Consumption.Inputs.BudgetSubscriptionNotificationArgs\n            {\n                Enabled = false,\n                Threshold = 100,\n                Operator = \"GreaterThan\",\n                ThresholdType = \"Forecasted\",\n                ContactEmails = new[]\n                {\n                    \"foo@example.com\",\n                    \"bar@example.com\",\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/consumption\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/monitoring\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := core.LookupSubscription(ctx, \u0026core.LookupSubscriptionArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example\"),\n\t\t\tLocation: pulumi.String(\"eastus\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleActionGroup, err := monitoring.NewActionGroup(ctx, \"example\", \u0026monitoring.ActionGroupArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tShortName:         pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = consumption.NewBudgetSubscription(ctx, \"example\", \u0026consumption.BudgetSubscriptionArgs{\n\t\t\tName:           pulumi.String(\"example\"),\n\t\t\tSubscriptionId: pulumi.String(current.Id),\n\t\t\tAmount:         pulumi.Float64(1000),\n\t\t\tTimeGrain:      pulumi.String(\"Monthly\"),\n\t\t\tTimePeriod: \u0026consumption.BudgetSubscriptionTimePeriodArgs{\n\t\t\t\tStartDate: pulumi.String(\"2022-06-01T00:00:00Z\"),\n\t\t\t\tEndDate:   pulumi.String(\"2022-07-01T00:00:00Z\"),\n\t\t\t},\n\t\t\tFilter: \u0026consumption.BudgetSubscriptionFilterArgs{\n\t\t\t\tDimensions: consumption.BudgetSubscriptionFilterDimensionArray{\n\t\t\t\t\t\u0026consumption.BudgetSubscriptionFilterDimensionArgs{\n\t\t\t\t\t\tName: pulumi.String(\"ResourceGroupName\"),\n\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\texample.Name,\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tTags: consumption.BudgetSubscriptionFilterTagArray{\n\t\t\t\t\t\u0026consumption.BudgetSubscriptionFilterTagArgs{\n\t\t\t\t\t\tName: pulumi.String(\"foo\"),\n\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"bar\"),\n\t\t\t\t\t\t\tpulumi.String(\"baz\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tNotifications: consumption.BudgetSubscriptionNotificationArray{\n\t\t\t\t\u0026consumption.BudgetSubscriptionNotificationArgs{\n\t\t\t\t\tEnabled:   pulumi.Bool(true),\n\t\t\t\t\tThreshold: pulumi.Int(90),\n\t\t\t\t\tOperator:  pulumi.String(\"EqualTo\"),\n\t\t\t\t\tContactEmails: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"foo@example.com\"),\n\t\t\t\t\t\tpulumi.String(\"bar@example.com\"),\n\t\t\t\t\t},\n\t\t\t\t\tContactGroups: pulumi.StringArray{\n\t\t\t\t\t\texampleActionGroup.ID(),\n\t\t\t\t\t},\n\t\t\t\t\tContactRoles: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"Owner\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026consumption.BudgetSubscriptionNotificationArgs{\n\t\t\t\t\tEnabled:       pulumi.Bool(false),\n\t\t\t\t\tThreshold:     pulumi.Int(100),\n\t\t\t\t\tOperator:      pulumi.String(\"GreaterThan\"),\n\t\t\t\t\tThresholdType: pulumi.String(\"Forecasted\"),\n\t\t\t\t\tContactEmails: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"foo@example.com\"),\n\t\t\t\t\t\tpulumi.String(\"bar@example.com\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.core.inputs.GetSubscriptionArgs;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.monitoring.ActionGroup;\nimport com.pulumi.azure.monitoring.ActionGroupArgs;\nimport com.pulumi.azure.consumption.BudgetSubscription;\nimport com.pulumi.azure.consumption.BudgetSubscriptionArgs;\nimport com.pulumi.azure.consumption.inputs.BudgetSubscriptionTimePeriodArgs;\nimport com.pulumi.azure.consumption.inputs.BudgetSubscriptionFilterArgs;\nimport com.pulumi.azure.consumption.inputs.BudgetSubscriptionNotificationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var current = CoreFunctions.getSubscription(GetSubscriptionArgs.builder()\n            .build());\n\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example\")\n            .location(\"eastus\")\n            .build());\n\n        var exampleActionGroup = new ActionGroup(\"exampleActionGroup\", ActionGroupArgs.builder()\n            .name(\"example\")\n            .resourceGroupName(example.name())\n            .shortName(\"example\")\n            .build());\n\n        var exampleBudgetSubscription = new BudgetSubscription(\"exampleBudgetSubscription\", BudgetSubscriptionArgs.builder()\n            .name(\"example\")\n            .subscriptionId(current.id())\n            .amount(1000.0)\n            .timeGrain(\"Monthly\")\n            .timePeriod(BudgetSubscriptionTimePeriodArgs.builder()\n                .startDate(\"2022-06-01T00:00:00Z\")\n                .endDate(\"2022-07-01T00:00:00Z\")\n                .build())\n            .filter(BudgetSubscriptionFilterArgs.builder()\n                .dimensions(BudgetSubscriptionFilterDimensionArgs.builder()\n                    .name(\"ResourceGroupName\")\n                    .values(example.name())\n                    .build())\n                .tags(BudgetSubscriptionFilterTagArgs.builder()\n                    .name(\"foo\")\n                    .values(                    \n                        \"bar\",\n                        \"baz\")\n                    .build())\n                .build())\n            .notifications(            \n                BudgetSubscriptionNotificationArgs.builder()\n                    .enabled(true)\n                    .threshold(90)\n                    .operator(\"EqualTo\")\n                    .contactEmails(                    \n                        \"foo@example.com\",\n                        \"bar@example.com\")\n                    .contactGroups(exampleActionGroup.id())\n                    .contactRoles(\"Owner\")\n                    .build(),\n                BudgetSubscriptionNotificationArgs.builder()\n                    .enabled(false)\n                    .threshold(100)\n                    .operator(\"GreaterThan\")\n                    .thresholdType(\"Forecasted\")\n                    .contactEmails(                    \n                        \"foo@example.com\",\n                        \"bar@example.com\")\n                    .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example\n      location: eastus\n  exampleActionGroup:\n    type: azure:monitoring:ActionGroup\n    name: example\n    properties:\n      name: example\n      resourceGroupName: ${example.name}\n      shortName: example\n  exampleBudgetSubscription:\n    type: azure:consumption:BudgetSubscription\n    name: example\n    properties:\n      name: example\n      subscriptionId: ${current.id}\n      amount: 1000\n      timeGrain: Monthly\n      timePeriod:\n        startDate: 2022-06-01T00:00:00Z\n        endDate: 2022-07-01T00:00:00Z\n      filter:\n        dimensions:\n          - name: ResourceGroupName\n            values:\n              - ${example.name}\n        tags:\n          - name: foo\n            values:\n              - bar\n              - baz\n      notifications:\n        - enabled: true\n          threshold: 90\n          operator: EqualTo\n          contactEmails:\n            - foo@example.com\n            - bar@example.com\n          contactGroups:\n            - ${exampleActionGroup.id}\n          contactRoles:\n            - Owner\n        - enabled: false\n          threshold: 100\n          operator: GreaterThan\n          thresholdType: Forecasted\n          contactEmails:\n            - foo@example.com\n            - bar@example.com\nvariables:\n  current:\n    fn::invoke:\n      function: azure:core:getSubscription\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Consumption` - 2019-10-01\n\n## Import\n\nSubscription Consumption Budgets can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:consumption/budgetSubscription:BudgetSubscription example /subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Consumption/budgets/subscription1\n```\n\n","properties":{"amount":{"type":"number","description":"The total amount of cost to track with the budget.\n"},"etag":{"type":"string","description":"(Optional) The ETag of the Subscription Consumption Budget.\n"},"filter":{"$ref":"#/types/azure:consumption/BudgetSubscriptionFilter:BudgetSubscriptionFilter","description":"A \u003cspan pulumi-lang-nodejs=\"`filter`\" pulumi-lang-dotnet=\"`Filter`\" pulumi-lang-go=\"`filter`\" pulumi-lang-python=\"`filter`\" pulumi-lang-yaml=\"`filter`\" pulumi-lang-java=\"`filter`\"\u003e`filter`\u003c/span\u003e block as defined below.\n"},"name":{"type":"string","description":"The name which should be used for this Subscription Consumption Budget. Changing this forces a new resource to be created.\n"},"notifications":{"type":"array","items":{"$ref":"#/types/azure:consumption/BudgetSubscriptionNotification:BudgetSubscriptionNotification"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`notification`\" pulumi-lang-dotnet=\"`Notification`\" pulumi-lang-go=\"`notification`\" pulumi-lang-python=\"`notification`\" pulumi-lang-yaml=\"`notification`\" pulumi-lang-java=\"`notification`\"\u003e`notification`\u003c/span\u003e blocks as defined below.\n"},"subscriptionId":{"type":"string","description":"The ID of the Subscription for which to create a Consumption Budget. Changing this forces a new resource to be created.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`subscriptionId`\" pulumi-lang-dotnet=\"`SubscriptionId`\" pulumi-lang-go=\"`subscriptionId`\" pulumi-lang-python=\"`subscription_id`\" pulumi-lang-yaml=\"`subscriptionId`\" pulumi-lang-java=\"`subscriptionId`\"\u003e`subscription_id`\u003c/span\u003e property can accept a subscription ID e.g. `00000000-0000-0000-0000-000000000000` or the subscription resource ID e.g. `/subscriptions/00000000-0000-0000-0000-000000000000`. In version 3.0 this property will only accept the subscription resource ID.\n"},"timeGrain":{"type":"string","description":"The time covered by a budget. Tracking of the amount will be reset based on the time grain. Must be one of `BillingAnnual`, `BillingMonth`, `BillingQuarter`, `Annually`, `Monthly` and `Quarterly`. Defaults to `Monthly`. Changing this forces a new resource to be created.\n"},"timePeriod":{"$ref":"#/types/azure:consumption/BudgetSubscriptionTimePeriod:BudgetSubscriptionTimePeriod","description":"A \u003cspan pulumi-lang-nodejs=\"`timePeriod`\" pulumi-lang-dotnet=\"`TimePeriod`\" pulumi-lang-go=\"`timePeriod`\" pulumi-lang-python=\"`time_period`\" pulumi-lang-yaml=\"`timePeriod`\" pulumi-lang-java=\"`timePeriod`\"\u003e`time_period`\u003c/span\u003e block as defined below.\n"}},"required":["amount","etag","name","notifications","subscriptionId","timePeriod"],"inputProperties":{"amount":{"type":"number","description":"The total amount of cost to track with the budget.\n"},"etag":{"type":"string","description":"(Optional) The ETag of the Subscription Consumption Budget.\n"},"filter":{"$ref":"#/types/azure:consumption/BudgetSubscriptionFilter:BudgetSubscriptionFilter","description":"A \u003cspan pulumi-lang-nodejs=\"`filter`\" pulumi-lang-dotnet=\"`Filter`\" pulumi-lang-go=\"`filter`\" pulumi-lang-python=\"`filter`\" pulumi-lang-yaml=\"`filter`\" pulumi-lang-java=\"`filter`\"\u003e`filter`\u003c/span\u003e block as defined below.\n"},"name":{"type":"string","description":"The name which should be used for this Subscription Consumption Budget. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"notifications":{"type":"array","items":{"$ref":"#/types/azure:consumption/BudgetSubscriptionNotification:BudgetSubscriptionNotification"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`notification`\" pulumi-lang-dotnet=\"`Notification`\" pulumi-lang-go=\"`notification`\" pulumi-lang-python=\"`notification`\" pulumi-lang-yaml=\"`notification`\" pulumi-lang-java=\"`notification`\"\u003e`notification`\u003c/span\u003e blocks as defined below.\n"},"subscriptionId":{"type":"string","description":"The ID of the Subscription for which to create a Consumption Budget. Changing this forces a new resource to be created.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`subscriptionId`\" pulumi-lang-dotnet=\"`SubscriptionId`\" pulumi-lang-go=\"`subscriptionId`\" pulumi-lang-python=\"`subscription_id`\" pulumi-lang-yaml=\"`subscriptionId`\" pulumi-lang-java=\"`subscriptionId`\"\u003e`subscription_id`\u003c/span\u003e property can accept a subscription ID e.g. `00000000-0000-0000-0000-000000000000` or the subscription resource ID e.g. `/subscriptions/00000000-0000-0000-0000-000000000000`. In version 3.0 this property will only accept the subscription resource ID.\n","willReplaceOnChanges":true},"timeGrain":{"type":"string","description":"The time covered by a budget. Tracking of the amount will be reset based on the time grain. Must be one of `BillingAnnual`, `BillingMonth`, `BillingQuarter`, `Annually`, `Monthly` and `Quarterly`. Defaults to `Monthly`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"timePeriod":{"$ref":"#/types/azure:consumption/BudgetSubscriptionTimePeriod:BudgetSubscriptionTimePeriod","description":"A \u003cspan pulumi-lang-nodejs=\"`timePeriod`\" pulumi-lang-dotnet=\"`TimePeriod`\" pulumi-lang-go=\"`timePeriod`\" pulumi-lang-python=\"`time_period`\" pulumi-lang-yaml=\"`timePeriod`\" pulumi-lang-java=\"`timePeriod`\"\u003e`time_period`\u003c/span\u003e block as defined below.\n"}},"requiredInputs":["amount","notifications","subscriptionId","timePeriod"],"stateInputs":{"description":"Input properties used for looking up and filtering BudgetSubscription resources.\n","properties":{"amount":{"type":"number","description":"The total amount of cost to track with the budget.\n"},"etag":{"type":"string","description":"(Optional) The ETag of the Subscription Consumption Budget.\n"},"filter":{"$ref":"#/types/azure:consumption/BudgetSubscriptionFilter:BudgetSubscriptionFilter","description":"A \u003cspan pulumi-lang-nodejs=\"`filter`\" pulumi-lang-dotnet=\"`Filter`\" pulumi-lang-go=\"`filter`\" pulumi-lang-python=\"`filter`\" pulumi-lang-yaml=\"`filter`\" pulumi-lang-java=\"`filter`\"\u003e`filter`\u003c/span\u003e block as defined below.\n"},"name":{"type":"string","description":"The name which should be used for this Subscription Consumption Budget. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"notifications":{"type":"array","items":{"$ref":"#/types/azure:consumption/BudgetSubscriptionNotification:BudgetSubscriptionNotification"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`notification`\" pulumi-lang-dotnet=\"`Notification`\" pulumi-lang-go=\"`notification`\" pulumi-lang-python=\"`notification`\" pulumi-lang-yaml=\"`notification`\" pulumi-lang-java=\"`notification`\"\u003e`notification`\u003c/span\u003e blocks as defined below.\n"},"subscriptionId":{"type":"string","description":"The ID of the Subscription for which to create a Consumption Budget. Changing this forces a new resource to be created.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`subscriptionId`\" pulumi-lang-dotnet=\"`SubscriptionId`\" pulumi-lang-go=\"`subscriptionId`\" pulumi-lang-python=\"`subscription_id`\" pulumi-lang-yaml=\"`subscriptionId`\" pulumi-lang-java=\"`subscriptionId`\"\u003e`subscription_id`\u003c/span\u003e property can accept a subscription ID e.g. `00000000-0000-0000-0000-000000000000` or the subscription resource ID e.g. `/subscriptions/00000000-0000-0000-0000-000000000000`. In version 3.0 this property will only accept the subscription resource ID.\n","willReplaceOnChanges":true},"timeGrain":{"type":"string","description":"The time covered by a budget. Tracking of the amount will be reset based on the time grain. Must be one of `BillingAnnual`, `BillingMonth`, `BillingQuarter`, `Annually`, `Monthly` and `Quarterly`. Defaults to `Monthly`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"timePeriod":{"$ref":"#/types/azure:consumption/BudgetSubscriptionTimePeriod:BudgetSubscriptionTimePeriod","description":"A \u003cspan pulumi-lang-nodejs=\"`timePeriod`\" pulumi-lang-dotnet=\"`TimePeriod`\" pulumi-lang-go=\"`timePeriod`\" pulumi-lang-python=\"`time_period`\" pulumi-lang-yaml=\"`timePeriod`\" pulumi-lang-java=\"`timePeriod`\"\u003e`time_period`\u003c/span\u003e block as defined below.\n"}},"type":"object"}},"azure:containerapp/app:App":{"description":"Manages a Container App.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleAnalyticsWorkspace = new azure.operationalinsights.AnalyticsWorkspace(\"example\", {\n    name: \"acctest-01\",\n    location: example.location,\n    resourceGroupName: example.name,\n    sku: \"PerGB2018\",\n    retentionInDays: 30,\n});\nconst exampleEnvironment = new azure.containerapp.Environment(\"example\", {\n    name: \"Example-Environment\",\n    location: example.location,\n    resourceGroupName: example.name,\n    logAnalyticsWorkspaceId: exampleAnalyticsWorkspace.id,\n});\nconst exampleApp = new azure.containerapp.App(\"example\", {\n    name: \"example-app\",\n    containerAppEnvironmentId: exampleEnvironment.id,\n    resourceGroupName: example.name,\n    revisionMode: \"Single\",\n    template: {\n        containers: [{\n            name: \"examplecontainerapp\",\n            image: \"mcr.microsoft.com/k8se/quickstart:latest\",\n            cpu: 0.25,\n            memory: \"0.5Gi\",\n        }],\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_analytics_workspace = azure.operationalinsights.AnalyticsWorkspace(\"example\",\n    name=\"acctest-01\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku=\"PerGB2018\",\n    retention_in_days=30)\nexample_environment = azure.containerapp.Environment(\"example\",\n    name=\"Example-Environment\",\n    location=example.location,\n    resource_group_name=example.name,\n    log_analytics_workspace_id=example_analytics_workspace.id)\nexample_app = azure.containerapp.App(\"example\",\n    name=\"example-app\",\n    container_app_environment_id=example_environment.id,\n    resource_group_name=example.name,\n    revision_mode=\"Single\",\n    template={\n        \"containers\": [{\n            \"name\": \"examplecontainerapp\",\n            \"image\": \"mcr.microsoft.com/k8se/quickstart:latest\",\n            \"cpu\": 0.25,\n            \"memory\": \"0.5Gi\",\n        }],\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleAnalyticsWorkspace = new Azure.OperationalInsights.AnalyticsWorkspace(\"example\", new()\n    {\n        Name = \"acctest-01\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Sku = \"PerGB2018\",\n        RetentionInDays = 30,\n    });\n\n    var exampleEnvironment = new Azure.ContainerApp.Environment(\"example\", new()\n    {\n        Name = \"Example-Environment\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        LogAnalyticsWorkspaceId = exampleAnalyticsWorkspace.Id,\n    });\n\n    var exampleApp = new Azure.ContainerApp.App(\"example\", new()\n    {\n        Name = \"example-app\",\n        ContainerAppEnvironmentId = exampleEnvironment.Id,\n        ResourceGroupName = example.Name,\n        RevisionMode = \"Single\",\n        Template = new Azure.ContainerApp.Inputs.AppTemplateArgs\n        {\n            Containers = new[]\n            {\n                new Azure.ContainerApp.Inputs.AppTemplateContainerArgs\n                {\n                    Name = \"examplecontainerapp\",\n                    Image = \"mcr.microsoft.com/k8se/quickstart:latest\",\n                    Cpu = 0.25,\n                    Memory = \"0.5Gi\",\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/containerapp\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/operationalinsights\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAnalyticsWorkspace, err := operationalinsights.NewAnalyticsWorkspace(ctx, \"example\", \u0026operationalinsights.AnalyticsWorkspaceArgs{\n\t\t\tName:              pulumi.String(\"acctest-01\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSku:               pulumi.String(\"PerGB2018\"),\n\t\t\tRetentionInDays:   pulumi.Int(30),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleEnvironment, err := containerapp.NewEnvironment(ctx, \"example\", \u0026containerapp.EnvironmentArgs{\n\t\t\tName:                    pulumi.String(\"Example-Environment\"),\n\t\t\tLocation:                example.Location,\n\t\t\tResourceGroupName:       example.Name,\n\t\t\tLogAnalyticsWorkspaceId: exampleAnalyticsWorkspace.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = containerapp.NewApp(ctx, \"example\", \u0026containerapp.AppArgs{\n\t\t\tName:                      pulumi.String(\"example-app\"),\n\t\t\tContainerAppEnvironmentId: exampleEnvironment.ID(),\n\t\t\tResourceGroupName:         example.Name,\n\t\t\tRevisionMode:              pulumi.String(\"Single\"),\n\t\t\tTemplate: \u0026containerapp.AppTemplateArgs{\n\t\t\t\tContainers: containerapp.AppTemplateContainerArray{\n\t\t\t\t\t\u0026containerapp.AppTemplateContainerArgs{\n\t\t\t\t\t\tName:   pulumi.String(\"examplecontainerapp\"),\n\t\t\t\t\t\tImage:  pulumi.String(\"mcr.microsoft.com/k8se/quickstart:latest\"),\n\t\t\t\t\t\tCpu:    pulumi.Float64(0.25),\n\t\t\t\t\t\tMemory: pulumi.String(\"0.5Gi\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.operationalinsights.AnalyticsWorkspace;\nimport com.pulumi.azure.operationalinsights.AnalyticsWorkspaceArgs;\nimport com.pulumi.azure.containerapp.Environment;\nimport com.pulumi.azure.containerapp.EnvironmentArgs;\nimport com.pulumi.azure.containerapp.App;\nimport com.pulumi.azure.containerapp.AppArgs;\nimport com.pulumi.azure.containerapp.inputs.AppTemplateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleAnalyticsWorkspace = new AnalyticsWorkspace(\"exampleAnalyticsWorkspace\", AnalyticsWorkspaceArgs.builder()\n            .name(\"acctest-01\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .sku(\"PerGB2018\")\n            .retentionInDays(30)\n            .build());\n\n        var exampleEnvironment = new Environment(\"exampleEnvironment\", EnvironmentArgs.builder()\n            .name(\"Example-Environment\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .logAnalyticsWorkspaceId(exampleAnalyticsWorkspace.id())\n            .build());\n\n        var exampleApp = new App(\"exampleApp\", AppArgs.builder()\n            .name(\"example-app\")\n            .containerAppEnvironmentId(exampleEnvironment.id())\n            .resourceGroupName(example.name())\n            .revisionMode(\"Single\")\n            .template(AppTemplateArgs.builder()\n                .containers(AppTemplateContainerArgs.builder()\n                    .name(\"examplecontainerapp\")\n                    .image(\"mcr.microsoft.com/k8se/quickstart:latest\")\n                    .cpu(0.25)\n                    .memory(\"0.5Gi\")\n                    .build())\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleAnalyticsWorkspace:\n    type: azure:operationalinsights:AnalyticsWorkspace\n    name: example\n    properties:\n      name: acctest-01\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      sku: PerGB2018\n      retentionInDays: 30\n  exampleEnvironment:\n    type: azure:containerapp:Environment\n    name: example\n    properties:\n      name: Example-Environment\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      logAnalyticsWorkspaceId: ${exampleAnalyticsWorkspace.id}\n  exampleApp:\n    type: azure:containerapp:App\n    name: example\n    properties:\n      name: example-app\n      containerAppEnvironmentId: ${exampleEnvironment.id}\n      resourceGroupName: ${example.name}\n      revisionMode: Single\n      template:\n        containers:\n          - name: examplecontainerapp\n            image: mcr.microsoft.com/k8se/quickstart:latest\n            cpu: 0.25\n            memory: 0.5Gi\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.App` - 2025-07-01\n\n## Import\n\nA Container App can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:containerapp/app:App example \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resGroup1/providers/Microsoft.App/containerApps/myContainerApp\"\n```\n\n","properties":{"containerAppEnvironmentId":{"type":"string","description":"The ID of the Container App Environment within which this Container App should exist. Changing this forces a new resource to be created.\n"},"customDomainVerificationId":{"type":"string","description":"The ID of the Custom Domain Verification for this Container App.\n","secret":true},"dapr":{"$ref":"#/types/azure:containerapp/AppDapr:AppDapr","description":"A \u003cspan pulumi-lang-nodejs=\"`dapr`\" pulumi-lang-dotnet=\"`Dapr`\" pulumi-lang-go=\"`dapr`\" pulumi-lang-python=\"`dapr`\" pulumi-lang-yaml=\"`dapr`\" pulumi-lang-java=\"`dapr`\"\u003e`dapr`\u003c/span\u003e block as detailed below.\n"},"identity":{"$ref":"#/types/azure:containerapp/AppIdentity:AppIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as detailed below.\n"},"ingress":{"$ref":"#/types/azure:containerapp/AppIngress:AppIngress","description":"An \u003cspan pulumi-lang-nodejs=\"`ingress`\" pulumi-lang-dotnet=\"`Ingress`\" pulumi-lang-go=\"`ingress`\" pulumi-lang-python=\"`ingress`\" pulumi-lang-yaml=\"`ingress`\" pulumi-lang-java=\"`ingress`\"\u003e`ingress`\u003c/span\u003e block as detailed below.\n"},"latestRevisionFqdn":{"type":"string","description":"The FQDN of the Latest Revision of the Container App.\n"},"latestRevisionName":{"type":"string","description":"The name of the latest Container Revision.\n"},"location":{"type":"string","description":"The location this Container App is deployed in. This is the same as the Environment in which it is deployed.\n"},"maxInactiveRevisions":{"type":"integer","description":"The maximum of inactive revisions allowed for this Container App.\n"},"name":{"type":"string","description":"The name for this Container App. Changing this forces a new resource to be created.\n"},"outboundIpAddresses":{"type":"array","items":{"type":"string"},"description":"A list of the Public IP Addresses which the Container App uses for outbound network access.\n"},"registries":{"type":"array","items":{"$ref":"#/types/azure:containerapp/AppRegistry:AppRegistry"},"description":"A \u003cspan pulumi-lang-nodejs=\"`registry`\" pulumi-lang-dotnet=\"`Registry`\" pulumi-lang-go=\"`registry`\" pulumi-lang-python=\"`registry`\" pulumi-lang-yaml=\"`registry`\" pulumi-lang-java=\"`registry`\"\u003e`registry`\u003c/span\u003e block as detailed below.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the Container App Environment is to be created. Changing this forces a new resource to be created.\n"},"revisionMode":{"type":"string","description":"The revisions operational mode for the Container App. Possible values include `Single` and `Multiple`. In `Single` mode, a single revision is in operation at any given time. In `Multiple` mode, more than one revision can be active at a time and can be configured with load distribution via the \u003cspan pulumi-lang-nodejs=\"`trafficWeight`\" pulumi-lang-dotnet=\"`TrafficWeight`\" pulumi-lang-go=\"`trafficWeight`\" pulumi-lang-python=\"`traffic_weight`\" pulumi-lang-yaml=\"`trafficWeight`\" pulumi-lang-java=\"`trafficWeight`\"\u003e`traffic_weight`\u003c/span\u003e block in the \u003cspan pulumi-lang-nodejs=\"`ingress`\" pulumi-lang-dotnet=\"`Ingress`\" pulumi-lang-go=\"`ingress`\" pulumi-lang-python=\"`ingress`\" pulumi-lang-yaml=\"`ingress`\" pulumi-lang-java=\"`ingress`\"\u003e`ingress`\u003c/span\u003e configuration.\n"},"secrets":{"type":"array","items":{"$ref":"#/types/azure:containerapp/AppSecret:AppSecret"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`secret`\" pulumi-lang-dotnet=\"`Secret`\" pulumi-lang-go=\"`secret`\" pulumi-lang-python=\"`secret`\" pulumi-lang-yaml=\"`secret`\" pulumi-lang-java=\"`secret`\"\u003e`secret`\u003c/span\u003e block as detailed below.\n","secret":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the Container App.\n"},"template":{"$ref":"#/types/azure:containerapp/AppTemplate:AppTemplate","description":"A \u003cspan pulumi-lang-nodejs=\"`template`\" pulumi-lang-dotnet=\"`Template`\" pulumi-lang-go=\"`template`\" pulumi-lang-python=\"`template`\" pulumi-lang-yaml=\"`template`\" pulumi-lang-java=\"`template`\"\u003e`template`\u003c/span\u003e block as detailed below.\n"},"workloadProfileName":{"type":"string","description":"The name of the Workload Profile in the Container App Environment to place this Container App.\n\n\u003e **Note:** Omit this value to use the default `Consumption` Workload Profile.\n"}},"required":["containerAppEnvironmentId","customDomainVerificationId","latestRevisionFqdn","latestRevisionName","location","name","outboundIpAddresses","resourceGroupName","revisionMode","template"],"inputProperties":{"containerAppEnvironmentId":{"type":"string","description":"The ID of the Container App Environment within which this Container App should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"dapr":{"$ref":"#/types/azure:containerapp/AppDapr:AppDapr","description":"A \u003cspan pulumi-lang-nodejs=\"`dapr`\" pulumi-lang-dotnet=\"`Dapr`\" pulumi-lang-go=\"`dapr`\" pulumi-lang-python=\"`dapr`\" pulumi-lang-yaml=\"`dapr`\" pulumi-lang-java=\"`dapr`\"\u003e`dapr`\u003c/span\u003e block as detailed below.\n"},"identity":{"$ref":"#/types/azure:containerapp/AppIdentity:AppIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as detailed below.\n"},"ingress":{"$ref":"#/types/azure:containerapp/AppIngress:AppIngress","description":"An \u003cspan pulumi-lang-nodejs=\"`ingress`\" pulumi-lang-dotnet=\"`Ingress`\" pulumi-lang-go=\"`ingress`\" pulumi-lang-python=\"`ingress`\" pulumi-lang-yaml=\"`ingress`\" pulumi-lang-java=\"`ingress`\"\u003e`ingress`\u003c/span\u003e block as detailed below.\n"},"maxInactiveRevisions":{"type":"integer","description":"The maximum of inactive revisions allowed for this Container App.\n"},"name":{"type":"string","description":"The name for this Container App. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"registries":{"type":"array","items":{"$ref":"#/types/azure:containerapp/AppRegistry:AppRegistry"},"description":"A \u003cspan pulumi-lang-nodejs=\"`registry`\" pulumi-lang-dotnet=\"`Registry`\" pulumi-lang-go=\"`registry`\" pulumi-lang-python=\"`registry`\" pulumi-lang-yaml=\"`registry`\" pulumi-lang-java=\"`registry`\"\u003e`registry`\u003c/span\u003e block as detailed below.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the Container App Environment is to be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"revisionMode":{"type":"string","description":"The revisions operational mode for the Container App. Possible values include `Single` and `Multiple`. In `Single` mode, a single revision is in operation at any given time. In `Multiple` mode, more than one revision can be active at a time and can be configured with load distribution via the \u003cspan pulumi-lang-nodejs=\"`trafficWeight`\" pulumi-lang-dotnet=\"`TrafficWeight`\" pulumi-lang-go=\"`trafficWeight`\" pulumi-lang-python=\"`traffic_weight`\" pulumi-lang-yaml=\"`trafficWeight`\" pulumi-lang-java=\"`trafficWeight`\"\u003e`traffic_weight`\u003c/span\u003e block in the \u003cspan pulumi-lang-nodejs=\"`ingress`\" pulumi-lang-dotnet=\"`Ingress`\" pulumi-lang-go=\"`ingress`\" pulumi-lang-python=\"`ingress`\" pulumi-lang-yaml=\"`ingress`\" pulumi-lang-java=\"`ingress`\"\u003e`ingress`\u003c/span\u003e configuration.\n"},"secrets":{"type":"array","items":{"$ref":"#/types/azure:containerapp/AppSecret:AppSecret"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`secret`\" pulumi-lang-dotnet=\"`Secret`\" pulumi-lang-go=\"`secret`\" pulumi-lang-python=\"`secret`\" pulumi-lang-yaml=\"`secret`\" pulumi-lang-java=\"`secret`\"\u003e`secret`\u003c/span\u003e block as detailed below.\n","secret":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the Container App.\n"},"template":{"$ref":"#/types/azure:containerapp/AppTemplate:AppTemplate","description":"A \u003cspan pulumi-lang-nodejs=\"`template`\" pulumi-lang-dotnet=\"`Template`\" pulumi-lang-go=\"`template`\" pulumi-lang-python=\"`template`\" pulumi-lang-yaml=\"`template`\" pulumi-lang-java=\"`template`\"\u003e`template`\u003c/span\u003e block as detailed below.\n"},"workloadProfileName":{"type":"string","description":"The name of the Workload Profile in the Container App Environment to place this Container App.\n\n\u003e **Note:** Omit this value to use the default `Consumption` Workload Profile.\n"}},"requiredInputs":["containerAppEnvironmentId","resourceGroupName","revisionMode","template"],"stateInputs":{"description":"Input properties used for looking up and filtering App resources.\n","properties":{"containerAppEnvironmentId":{"type":"string","description":"The ID of the Container App Environment within which this Container App should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"customDomainVerificationId":{"type":"string","description":"The ID of the Custom Domain Verification for this Container App.\n","secret":true},"dapr":{"$ref":"#/types/azure:containerapp/AppDapr:AppDapr","description":"A \u003cspan pulumi-lang-nodejs=\"`dapr`\" pulumi-lang-dotnet=\"`Dapr`\" pulumi-lang-go=\"`dapr`\" pulumi-lang-python=\"`dapr`\" pulumi-lang-yaml=\"`dapr`\" pulumi-lang-java=\"`dapr`\"\u003e`dapr`\u003c/span\u003e block as detailed below.\n"},"identity":{"$ref":"#/types/azure:containerapp/AppIdentity:AppIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as detailed below.\n"},"ingress":{"$ref":"#/types/azure:containerapp/AppIngress:AppIngress","description":"An \u003cspan pulumi-lang-nodejs=\"`ingress`\" pulumi-lang-dotnet=\"`Ingress`\" pulumi-lang-go=\"`ingress`\" pulumi-lang-python=\"`ingress`\" pulumi-lang-yaml=\"`ingress`\" pulumi-lang-java=\"`ingress`\"\u003e`ingress`\u003c/span\u003e block as detailed below.\n"},"latestRevisionFqdn":{"type":"string","description":"The FQDN of the Latest Revision of the Container App.\n"},"latestRevisionName":{"type":"string","description":"The name of the latest Container Revision.\n"},"location":{"type":"string","description":"The location this Container App is deployed in. This is the same as the Environment in which it is deployed.\n"},"maxInactiveRevisions":{"type":"integer","description":"The maximum of inactive revisions allowed for this Container App.\n"},"name":{"type":"string","description":"The name for this Container App. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"outboundIpAddresses":{"type":"array","items":{"type":"string"},"description":"A list of the Public IP Addresses which the Container App uses for outbound network access.\n"},"registries":{"type":"array","items":{"$ref":"#/types/azure:containerapp/AppRegistry:AppRegistry"},"description":"A \u003cspan pulumi-lang-nodejs=\"`registry`\" pulumi-lang-dotnet=\"`Registry`\" pulumi-lang-go=\"`registry`\" pulumi-lang-python=\"`registry`\" pulumi-lang-yaml=\"`registry`\" pulumi-lang-java=\"`registry`\"\u003e`registry`\u003c/span\u003e block as detailed below.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the Container App Environment is to be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"revisionMode":{"type":"string","description":"The revisions operational mode for the Container App. Possible values include `Single` and `Multiple`. In `Single` mode, a single revision is in operation at any given time. In `Multiple` mode, more than one revision can be active at a time and can be configured with load distribution via the \u003cspan pulumi-lang-nodejs=\"`trafficWeight`\" pulumi-lang-dotnet=\"`TrafficWeight`\" pulumi-lang-go=\"`trafficWeight`\" pulumi-lang-python=\"`traffic_weight`\" pulumi-lang-yaml=\"`trafficWeight`\" pulumi-lang-java=\"`trafficWeight`\"\u003e`traffic_weight`\u003c/span\u003e block in the \u003cspan pulumi-lang-nodejs=\"`ingress`\" pulumi-lang-dotnet=\"`Ingress`\" pulumi-lang-go=\"`ingress`\" pulumi-lang-python=\"`ingress`\" pulumi-lang-yaml=\"`ingress`\" pulumi-lang-java=\"`ingress`\"\u003e`ingress`\u003c/span\u003e configuration.\n"},"secrets":{"type":"array","items":{"$ref":"#/types/azure:containerapp/AppSecret:AppSecret"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`secret`\" pulumi-lang-dotnet=\"`Secret`\" pulumi-lang-go=\"`secret`\" pulumi-lang-python=\"`secret`\" pulumi-lang-yaml=\"`secret`\" pulumi-lang-java=\"`secret`\"\u003e`secret`\u003c/span\u003e block as detailed below.\n","secret":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the Container App.\n"},"template":{"$ref":"#/types/azure:containerapp/AppTemplate:AppTemplate","description":"A \u003cspan pulumi-lang-nodejs=\"`template`\" pulumi-lang-dotnet=\"`Template`\" pulumi-lang-go=\"`template`\" pulumi-lang-python=\"`template`\" pulumi-lang-yaml=\"`template`\" pulumi-lang-java=\"`template`\"\u003e`template`\u003c/span\u003e block as detailed below.\n"},"workloadProfileName":{"type":"string","description":"The name of the Workload Profile in the Container App Environment to place this Container App.\n\n\u003e **Note:** Omit this value to use the default `Consumption` Workload Profile.\n"}},"type":"object"}},"azure:containerapp/customDomain:CustomDomain":{"description":"Manages a Container App Custom Domain.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\nimport * as std from \"@pulumi/std\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleZone = new azure.dns.Zone(\"example\", {\n    name: \"contoso.com\",\n    resourceGroupName: example.name,\n});\nconst exampleAnalyticsWorkspace = new azure.operationalinsights.AnalyticsWorkspace(\"example\", {\n    name: \"example\",\n    location: example.location,\n    resourceGroupName: example.name,\n    sku: \"PerGB2018\",\n    retentionInDays: 30,\n});\nconst exampleEnvironment = new azure.containerapp.Environment(\"example\", {\n    name: \"Example-Environment\",\n    location: example.location,\n    resourceGroupName: example.name,\n    logAnalyticsWorkspaceId: exampleAnalyticsWorkspace.id,\n});\nconst exampleApp = new azure.containerapp.App(\"example\", {\n    name: \"example-app\",\n    containerAppEnvironmentId: exampleEnvironment.id,\n    resourceGroupName: example.name,\n    revisionMode: \"Single\",\n    template: {\n        containers: [{\n            name: \"examplecontainerapp\",\n            image: \"mcr.microsoft.com/k8se/quickstart:latest\",\n            cpu: 0.25,\n            memory: \"0.5Gi\",\n        }],\n    },\n    ingress: {\n        allowInsecureConnections: false,\n        externalEnabled: true,\n        targetPort: 5000,\n        transport: \"http\",\n        trafficWeights: [{\n            latestRevision: true,\n            percentage: 100,\n        }],\n    },\n});\nconst exampleTxtRecord = new azure.dns.TxtRecord(\"example\", {\n    name: \"asuid.example\",\n    resourceGroupName: exampleZone.resourceGroupName,\n    zoneName: exampleZone.name,\n    ttl: 300,\n    records: [{\n        value: exampleApp.customDomainVerificationId,\n    }],\n});\nconst exampleEnvironmentCertificate = new azure.containerapp.EnvironmentCertificate(\"example\", {\n    name: \"myfriendlyname\",\n    containerAppEnvironmentId: exampleEnvironment.id,\n    certificateBlob: std.filebase64({\n        input: \"path/to/certificate_file.pfx\",\n    }).then(invoke =\u003e invoke.result),\n    certificatePassword: \"$3cretSqu1rreL\",\n});\nconst exampleCustomDomain = new azure.containerapp.CustomDomain(\"example\", {\n    name: std.trimprefix({\n        input: api.fqdn,\n        prefix: \"asuid.\",\n    }).then(invoke =\u003e std.trimsuffix({\n        input: invoke.result,\n        suffix: \".\",\n    })).then(invoke =\u003e invoke.result),\n    containerAppId: exampleApp.id,\n    containerAppEnvironmentCertificateId: exampleEnvironmentCertificate.id,\n    certificateBindingType: \"SniEnabled\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\nimport pulumi_std as std\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_zone = azure.dns.Zone(\"example\",\n    name=\"contoso.com\",\n    resource_group_name=example.name)\nexample_analytics_workspace = azure.operationalinsights.AnalyticsWorkspace(\"example\",\n    name=\"example\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku=\"PerGB2018\",\n    retention_in_days=30)\nexample_environment = azure.containerapp.Environment(\"example\",\n    name=\"Example-Environment\",\n    location=example.location,\n    resource_group_name=example.name,\n    log_analytics_workspace_id=example_analytics_workspace.id)\nexample_app = azure.containerapp.App(\"example\",\n    name=\"example-app\",\n    container_app_environment_id=example_environment.id,\n    resource_group_name=example.name,\n    revision_mode=\"Single\",\n    template={\n        \"containers\": [{\n            \"name\": \"examplecontainerapp\",\n            \"image\": \"mcr.microsoft.com/k8se/quickstart:latest\",\n            \"cpu\": 0.25,\n            \"memory\": \"0.5Gi\",\n        }],\n    },\n    ingress={\n        \"allow_insecure_connections\": False,\n        \"external_enabled\": True,\n        \"target_port\": 5000,\n        \"transport\": \"http\",\n        \"traffic_weights\": [{\n            \"latest_revision\": True,\n            \"percentage\": 100,\n        }],\n    })\nexample_txt_record = azure.dns.TxtRecord(\"example\",\n    name=\"asuid.example\",\n    resource_group_name=example_zone.resource_group_name,\n    zone_name=example_zone.name,\n    ttl=300,\n    records=[{\n        \"value\": example_app.custom_domain_verification_id,\n    }])\nexample_environment_certificate = azure.containerapp.EnvironmentCertificate(\"example\",\n    name=\"myfriendlyname\",\n    container_app_environment_id=example_environment.id,\n    certificate_blob=std.filebase64(input=\"path/to/certificate_file.pfx\").result,\n    certificate_password=\"$3cretSqu1rreL\")\nexample_custom_domain = azure.containerapp.CustomDomain(\"example\",\n    name=std.trimsuffix(input=std.trimprefix(input=api[\"fqdn\"],\n            prefix=\"asuid.\").result,\n        suffix=\".\").result,\n    container_app_id=example_app.id,\n    container_app_environment_certificate_id=example_environment_certificate.id,\n    certificate_binding_type=\"SniEnabled\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleZone = new Azure.Dns.Zone(\"example\", new()\n    {\n        Name = \"contoso.com\",\n        ResourceGroupName = example.Name,\n    });\n\n    var exampleAnalyticsWorkspace = new Azure.OperationalInsights.AnalyticsWorkspace(\"example\", new()\n    {\n        Name = \"example\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Sku = \"PerGB2018\",\n        RetentionInDays = 30,\n    });\n\n    var exampleEnvironment = new Azure.ContainerApp.Environment(\"example\", new()\n    {\n        Name = \"Example-Environment\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        LogAnalyticsWorkspaceId = exampleAnalyticsWorkspace.Id,\n    });\n\n    var exampleApp = new Azure.ContainerApp.App(\"example\", new()\n    {\n        Name = \"example-app\",\n        ContainerAppEnvironmentId = exampleEnvironment.Id,\n        ResourceGroupName = example.Name,\n        RevisionMode = \"Single\",\n        Template = new Azure.ContainerApp.Inputs.AppTemplateArgs\n        {\n            Containers = new[]\n            {\n                new Azure.ContainerApp.Inputs.AppTemplateContainerArgs\n                {\n                    Name = \"examplecontainerapp\",\n                    Image = \"mcr.microsoft.com/k8se/quickstart:latest\",\n                    Cpu = 0.25,\n                    Memory = \"0.5Gi\",\n                },\n            },\n        },\n        Ingress = new Azure.ContainerApp.Inputs.AppIngressArgs\n        {\n            AllowInsecureConnections = false,\n            ExternalEnabled = true,\n            TargetPort = 5000,\n            Transport = \"http\",\n            TrafficWeights = new[]\n            {\n                new Azure.ContainerApp.Inputs.AppIngressTrafficWeightArgs\n                {\n                    LatestRevision = true,\n                    Percentage = 100,\n                },\n            },\n        },\n    });\n\n    var exampleTxtRecord = new Azure.Dns.TxtRecord(\"example\", new()\n    {\n        Name = \"asuid.example\",\n        ResourceGroupName = exampleZone.ResourceGroupName,\n        ZoneName = exampleZone.Name,\n        Ttl = 300,\n        Records = new[]\n        {\n            new Azure.Dns.Inputs.TxtRecordRecordArgs\n            {\n                Value = exampleApp.CustomDomainVerificationId,\n            },\n        },\n    });\n\n    var exampleEnvironmentCertificate = new Azure.ContainerApp.EnvironmentCertificate(\"example\", new()\n    {\n        Name = \"myfriendlyname\",\n        ContainerAppEnvironmentId = exampleEnvironment.Id,\n        CertificateBlob = Std.Filebase64.Invoke(new()\n        {\n            Input = \"path/to/certificate_file.pfx\",\n        }).Apply(invoke =\u003e invoke.Result),\n        CertificatePassword = \"$3cretSqu1rreL\",\n    });\n\n    var exampleCustomDomain = new Azure.ContainerApp.CustomDomain(\"example\", new()\n    {\n        Name = Std.Trimprefix.Invoke(new()\n        {\n            Input = api.Fqdn,\n            Prefix = \"asuid.\",\n        }).Apply(invoke =\u003e Std.Trimsuffix.Invoke(new()\n        {\n            Input = invoke.Result,\n            Suffix = \".\",\n        })).Apply(invoke =\u003e invoke.Result),\n        ContainerAppId = exampleApp.Id,\n        ContainerAppEnvironmentCertificateId = exampleEnvironmentCertificate.Id,\n        CertificateBindingType = \"SniEnabled\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/containerapp\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/dns\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/operationalinsights\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleZone, err := dns.NewZone(ctx, \"example\", \u0026dns.ZoneArgs{\n\t\t\tName:              pulumi.String(\"contoso.com\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAnalyticsWorkspace, err := operationalinsights.NewAnalyticsWorkspace(ctx, \"example\", \u0026operationalinsights.AnalyticsWorkspaceArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSku:               pulumi.String(\"PerGB2018\"),\n\t\t\tRetentionInDays:   pulumi.Int(30),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleEnvironment, err := containerapp.NewEnvironment(ctx, \"example\", \u0026containerapp.EnvironmentArgs{\n\t\t\tName:                    pulumi.String(\"Example-Environment\"),\n\t\t\tLocation:                example.Location,\n\t\t\tResourceGroupName:       example.Name,\n\t\t\tLogAnalyticsWorkspaceId: exampleAnalyticsWorkspace.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleApp, err := containerapp.NewApp(ctx, \"example\", \u0026containerapp.AppArgs{\n\t\t\tName:                      pulumi.String(\"example-app\"),\n\t\t\tContainerAppEnvironmentId: exampleEnvironment.ID(),\n\t\t\tResourceGroupName:         example.Name,\n\t\t\tRevisionMode:              pulumi.String(\"Single\"),\n\t\t\tTemplate: \u0026containerapp.AppTemplateArgs{\n\t\t\t\tContainers: containerapp.AppTemplateContainerArray{\n\t\t\t\t\t\u0026containerapp.AppTemplateContainerArgs{\n\t\t\t\t\t\tName:   pulumi.String(\"examplecontainerapp\"),\n\t\t\t\t\t\tImage:  pulumi.String(\"mcr.microsoft.com/k8se/quickstart:latest\"),\n\t\t\t\t\t\tCpu:    pulumi.Float64(0.25),\n\t\t\t\t\t\tMemory: pulumi.String(\"0.5Gi\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tIngress: \u0026containerapp.AppIngressArgs{\n\t\t\t\tAllowInsecureConnections: pulumi.Bool(false),\n\t\t\t\tExternalEnabled:          pulumi.Bool(true),\n\t\t\t\tTargetPort:               pulumi.Int(5000),\n\t\t\t\tTransport:                pulumi.String(\"http\"),\n\t\t\t\tTrafficWeights: containerapp.AppIngressTrafficWeightArray{\n\t\t\t\t\t\u0026containerapp.AppIngressTrafficWeightArgs{\n\t\t\t\t\t\tLatestRevision: pulumi.Bool(true),\n\t\t\t\t\t\tPercentage:     pulumi.Int(100),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = dns.NewTxtRecord(ctx, \"example\", \u0026dns.TxtRecordArgs{\n\t\t\tName:              pulumi.String(\"asuid.example\"),\n\t\t\tResourceGroupName: exampleZone.ResourceGroupName,\n\t\t\tZoneName:          exampleZone.Name,\n\t\t\tTtl:               pulumi.Int(300),\n\t\t\tRecords: dns.TxtRecordRecordArray{\n\t\t\t\t\u0026dns.TxtRecordRecordArgs{\n\t\t\t\t\tValue: exampleApp.CustomDomainVerificationId,\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFilebase64, err := std.Filebase64(ctx, \u0026std.Filebase64Args{\n\t\t\tInput: \"path/to/certificate_file.pfx\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleEnvironmentCertificate, err := containerapp.NewEnvironmentCertificate(ctx, \"example\", \u0026containerapp.EnvironmentCertificateArgs{\n\t\t\tName:                      pulumi.String(\"myfriendlyname\"),\n\t\t\tContainerAppEnvironmentId: exampleEnvironment.ID(),\n\t\t\tCertificateBlob:           invokeFilebase64.Result,\n\t\t\tCertificatePassword:       pulumi.String(\"$3cretSqu1rreL\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeTrimsuffix1, err := std.Trimsuffix(ctx, \u0026std.TrimsuffixArgs{\n\t\t\tInput: std.Trimprefix(ctx, \u0026std.TrimprefixArgs{\n\t\t\t\tInput:  api.Fqdn,\n\t\t\t\tPrefix: \"asuid.\",\n\t\t\t}, nil).Result,\n\t\t\tSuffix: \".\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = containerapp.NewCustomDomain(ctx, \"example\", \u0026containerapp.CustomDomainArgs{\n\t\t\tName:                                 pulumi.String(invokeTrimsuffix1.Result),\n\t\t\tContainerAppId:                       exampleApp.ID(),\n\t\t\tContainerAppEnvironmentCertificateId: exampleEnvironmentCertificate.ID(),\n\t\t\tCertificateBindingType:               pulumi.String(\"SniEnabled\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.dns.Zone;\nimport com.pulumi.azure.dns.ZoneArgs;\nimport com.pulumi.azure.operationalinsights.AnalyticsWorkspace;\nimport com.pulumi.azure.operationalinsights.AnalyticsWorkspaceArgs;\nimport com.pulumi.azure.containerapp.Environment;\nimport com.pulumi.azure.containerapp.EnvironmentArgs;\nimport com.pulumi.azure.containerapp.App;\nimport com.pulumi.azure.containerapp.AppArgs;\nimport com.pulumi.azure.containerapp.inputs.AppTemplateArgs;\nimport com.pulumi.azure.containerapp.inputs.AppIngressArgs;\nimport com.pulumi.azure.dns.TxtRecord;\nimport com.pulumi.azure.dns.TxtRecordArgs;\nimport com.pulumi.azure.dns.inputs.TxtRecordRecordArgs;\nimport com.pulumi.azure.containerapp.EnvironmentCertificate;\nimport com.pulumi.azure.containerapp.EnvironmentCertificateArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.Filebase64Args;\nimport com.pulumi.azure.containerapp.CustomDomain;\nimport com.pulumi.azure.containerapp.CustomDomainArgs;\nimport com.pulumi.std.inputs.TrimprefixArgs;\nimport com.pulumi.std.inputs.TrimsuffixArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleZone = new Zone(\"exampleZone\", ZoneArgs.builder()\n            .name(\"contoso.com\")\n            .resourceGroupName(example.name())\n            .build());\n\n        var exampleAnalyticsWorkspace = new AnalyticsWorkspace(\"exampleAnalyticsWorkspace\", AnalyticsWorkspaceArgs.builder()\n            .name(\"example\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .sku(\"PerGB2018\")\n            .retentionInDays(30)\n            .build());\n\n        var exampleEnvironment = new Environment(\"exampleEnvironment\", EnvironmentArgs.builder()\n            .name(\"Example-Environment\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .logAnalyticsWorkspaceId(exampleAnalyticsWorkspace.id())\n            .build());\n\n        var exampleApp = new App(\"exampleApp\", AppArgs.builder()\n            .name(\"example-app\")\n            .containerAppEnvironmentId(exampleEnvironment.id())\n            .resourceGroupName(example.name())\n            .revisionMode(\"Single\")\n            .template(AppTemplateArgs.builder()\n                .containers(AppTemplateContainerArgs.builder()\n                    .name(\"examplecontainerapp\")\n                    .image(\"mcr.microsoft.com/k8se/quickstart:latest\")\n                    .cpu(0.25)\n                    .memory(\"0.5Gi\")\n                    .build())\n                .build())\n            .ingress(AppIngressArgs.builder()\n                .allowInsecureConnections(false)\n                .externalEnabled(true)\n                .targetPort(5000)\n                .transport(\"http\")\n                .trafficWeights(AppIngressTrafficWeightArgs.builder()\n                    .latestRevision(true)\n                    .percentage(100)\n                    .build())\n                .build())\n            .build());\n\n        var exampleTxtRecord = new TxtRecord(\"exampleTxtRecord\", TxtRecordArgs.builder()\n            .name(\"asuid.example\")\n            .resourceGroupName(exampleZone.resourceGroupName())\n            .zoneName(exampleZone.name())\n            .ttl(300)\n            .records(TxtRecordRecordArgs.builder()\n                .value(exampleApp.customDomainVerificationId())\n                .build())\n            .build());\n\n        var exampleEnvironmentCertificate = new EnvironmentCertificate(\"exampleEnvironmentCertificate\", EnvironmentCertificateArgs.builder()\n            .name(\"myfriendlyname\")\n            .containerAppEnvironmentId(exampleEnvironment.id())\n            .certificateBlob(StdFunctions.filebase64(Filebase64Args.builder()\n                .input(\"path/to/certificate_file.pfx\")\n                .build()).result())\n            .certificatePassword(\"$3cretSqu1rreL\")\n            .build());\n\n        var exampleCustomDomain = new CustomDomain(\"exampleCustomDomain\", CustomDomainArgs.builder()\n            .name(StdFunctions.trimsuffix(TrimsuffixArgs.builder()\n                .input(StdFunctions.trimprefix(TrimprefixArgs.builder()\n                    .input(api.fqdn())\n                    .prefix(\"asuid.\")\n                    .build()).result())\n                .suffix(\".\")\n                .build()).result())\n            .containerAppId(exampleApp.id())\n            .containerAppEnvironmentCertificateId(exampleEnvironmentCertificate.id())\n            .certificateBindingType(\"SniEnabled\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleZone:\n    type: azure:dns:Zone\n    name: example\n    properties:\n      name: contoso.com\n      resourceGroupName: ${example.name}\n  exampleTxtRecord:\n    type: azure:dns:TxtRecord\n    name: example\n    properties:\n      name: asuid.example\n      resourceGroupName: ${exampleZone.resourceGroupName}\n      zoneName: ${exampleZone.name}\n      ttl: 300\n      records:\n        - value: ${exampleApp.customDomainVerificationId}\n  exampleAnalyticsWorkspace:\n    type: azure:operationalinsights:AnalyticsWorkspace\n    name: example\n    properties:\n      name: example\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      sku: PerGB2018\n      retentionInDays: 30\n  exampleEnvironment:\n    type: azure:containerapp:Environment\n    name: example\n    properties:\n      name: Example-Environment\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      logAnalyticsWorkspaceId: ${exampleAnalyticsWorkspace.id}\n  exampleEnvironmentCertificate:\n    type: azure:containerapp:EnvironmentCertificate\n    name: example\n    properties:\n      name: myfriendlyname\n      containerAppEnvironmentId: ${exampleEnvironment.id}\n      certificateBlob:\n        fn::invoke:\n          function: std:filebase64\n          arguments:\n            input: path/to/certificate_file.pfx\n          return: result\n      certificatePassword: $3cretSqu1rreL\n  exampleApp:\n    type: azure:containerapp:App\n    name: example\n    properties:\n      name: example-app\n      containerAppEnvironmentId: ${exampleEnvironment.id}\n      resourceGroupName: ${example.name}\n      revisionMode: Single\n      template:\n        containers:\n          - name: examplecontainerapp\n            image: mcr.microsoft.com/k8se/quickstart:latest\n            cpu: 0.25\n            memory: 0.5Gi\n      ingress:\n        allowInsecureConnections: false\n        externalEnabled: true\n        targetPort: 5000\n        transport: http\n        trafficWeights:\n          - latestRevision: true\n            percentage: 100\n  exampleCustomDomain:\n    type: azure:containerapp:CustomDomain\n    name: example\n    properties:\n      name:\n        fn::invoke:\n          function: std:trimsuffix\n          arguments:\n            input:\n              fn::invoke:\n                function: std:trimprefix\n                arguments:\n                  input: ${api.fqdn}\n                  prefix: asuid.\n                return: result\n            suffix: .\n          return: result\n      containerAppId: ${exampleApp.id}\n      containerAppEnvironmentCertificateId: ${exampleEnvironmentCertificate.id}\n      certificateBindingType: SniEnabled\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Managed Certificate\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\nimport * as std from \"@pulumi/std\";\n\nconst example = new azure.containerapp.CustomDomain(\"example\", {\n    name: std.trimprefix({\n        input: api.fqdn,\n        prefix: \"asuid.\",\n    }).then(invoke =\u003e std.trimsuffix({\n        input: invoke.result,\n        suffix: \".\",\n    })).then(invoke =\u003e invoke.result),\n    containerAppId: exampleAzurermContainerApp.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\nimport pulumi_std as std\n\nexample = azure.containerapp.CustomDomain(\"example\",\n    name=std.trimsuffix(input=std.trimprefix(input=api[\"fqdn\"],\n            prefix=\"asuid.\").result,\n        suffix=\".\").result,\n    container_app_id=example_azurerm_container_app[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.ContainerApp.CustomDomain(\"example\", new()\n    {\n        Name = Std.Trimprefix.Invoke(new()\n        {\n            Input = api.Fqdn,\n            Prefix = \"asuid.\",\n        }).Apply(invoke =\u003e Std.Trimsuffix.Invoke(new()\n        {\n            Input = invoke.Result,\n            Suffix = \".\",\n        })).Apply(invoke =\u003e invoke.Result),\n        ContainerAppId = exampleAzurermContainerApp.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/containerapp\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinvokeTrimsuffix, err := std.Trimsuffix(ctx, \u0026std.TrimsuffixArgs{\n\t\t\tInput: std.Trimprefix(ctx, \u0026std.TrimprefixArgs{\n\t\t\t\tInput:  api.Fqdn,\n\t\t\t\tPrefix: \"asuid.\",\n\t\t\t}, nil).Result,\n\t\t\tSuffix: \".\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = containerapp.NewCustomDomain(ctx, \"example\", \u0026containerapp.CustomDomainArgs{\n\t\t\tName:           pulumi.String(invokeTrimsuffix.Result),\n\t\t\tContainerAppId: pulumi.Any(exampleAzurermContainerApp.Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.containerapp.CustomDomain;\nimport com.pulumi.azure.containerapp.CustomDomainArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.TrimprefixArgs;\nimport com.pulumi.std.inputs.TrimsuffixArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new CustomDomain(\"example\", CustomDomainArgs.builder()\n            .name(StdFunctions.trimsuffix(TrimsuffixArgs.builder()\n                .input(StdFunctions.trimprefix(TrimprefixArgs.builder()\n                    .input(api.fqdn())\n                    .prefix(\"asuid.\")\n                    .build()).result())\n                .suffix(\".\")\n                .build()).result())\n            .containerAppId(exampleAzurermContainerApp.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:containerapp:CustomDomain\n    properties:\n      name:\n        fn::invoke:\n          function: std:trimsuffix\n          arguments:\n            input:\n              fn::invoke:\n                function: std:trimprefix\n                arguments:\n                  input: ${api.fqdn}\n                  prefix: asuid.\n                return: result\n            suffix: .\n          return: result\n      containerAppId: ${exampleAzurermContainerApp.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.App` - 2025-07-01\n\n## Import\n\nA Container App Custom Domain can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:containerapp/customDomain:CustomDomain example \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resGroup1/providers/Microsoft.App/containerApps/myContainerApp/customDomainName/mycustomdomain.example.com\"\n```\n\n","properties":{"certificateBindingType":{"type":"string","description":"The Certificate Binding type. Possible values are `Auto`, `Disabled` and `SniEnabled`. Required with \u003cspan pulumi-lang-nodejs=\"`containerAppEnvironmentCertificateId`\" pulumi-lang-dotnet=\"`ContainerAppEnvironmentCertificateId`\" pulumi-lang-go=\"`containerAppEnvironmentCertificateId`\" pulumi-lang-python=\"`container_app_environment_certificate_id`\" pulumi-lang-yaml=\"`containerAppEnvironmentCertificateId`\" pulumi-lang-java=\"`containerAppEnvironmentCertificateId`\"\u003e`container_app_environment_certificate_id`\u003c/span\u003e. Changing this forces a new resource to be created.\n\n!\u003e **Note:** If using an Azure Managed Certificate \u003cspan pulumi-lang-nodejs=\"`containerAppEnvironmentCertificateId`\" pulumi-lang-dotnet=\"`ContainerAppEnvironmentCertificateId`\" pulumi-lang-go=\"`containerAppEnvironmentCertificateId`\" pulumi-lang-python=\"`container_app_environment_certificate_id`\" pulumi-lang-yaml=\"`containerAppEnvironmentCertificateId`\" pulumi-lang-java=\"`containerAppEnvironmentCertificateId`\"\u003e`container_app_environment_certificate_id`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`certificateBindingType`\" pulumi-lang-dotnet=\"`CertificateBindingType`\" pulumi-lang-go=\"`certificateBindingType`\" pulumi-lang-python=\"`certificate_binding_type`\" pulumi-lang-yaml=\"`certificateBindingType`\" pulumi-lang-java=\"`certificateBindingType`\"\u003e`certificate_binding_type`\u003c/span\u003e should be added to \u003cspan pulumi-lang-nodejs=\"`ignoreChanges`\" pulumi-lang-dotnet=\"`IgnoreChanges`\" pulumi-lang-go=\"`ignoreChanges`\" pulumi-lang-python=\"`ignore_changes`\" pulumi-lang-yaml=\"`ignoreChanges`\" pulumi-lang-java=\"`ignoreChanges`\"\u003e`ignore_changes`\u003c/span\u003e to prevent resource recreation due to these values being modified asynchronously outside of Terraform.\n"},"containerAppEnvironmentCertificateId":{"type":"string","description":"The ID of the Container App Environment Certificate to use. Changing this forces a new resource to be created.\n\n\u003e **Note:** Omit this value if you wish to use an Azure Managed certificate. You must create the relevant DNS verification steps before this process will be successful.\n"},"containerAppEnvironmentManagedCertificateId":{"type":"string","description":"The ID of the Container App Environment Managed Certificate to use.\n"},"containerAppId":{"type":"string","description":"The ID of the Container App to which this Custom Domain should be bound. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"The fully qualified name of the Custom Domain. Must be the CN or a named SAN in the certificate specified by the \u003cspan pulumi-lang-nodejs=\"`containerAppEnvironmentCertificateId`\" pulumi-lang-dotnet=\"`ContainerAppEnvironmentCertificateId`\" pulumi-lang-go=\"`containerAppEnvironmentCertificateId`\" pulumi-lang-python=\"`container_app_environment_certificate_id`\" pulumi-lang-yaml=\"`containerAppEnvironmentCertificateId`\" pulumi-lang-java=\"`containerAppEnvironmentCertificateId`\"\u003e`container_app_environment_certificate_id`\u003c/span\u003e. Changing this forces a new resource to be created.\n\n\u003e **Note:** The Custom Domain verification TXT record requires a prefix of `asuid.`, however, this must be trimmed from the \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e property here. See the [official docs](https://learn.microsoft.com/en-us/azure/container-apps/custom-domains-certificates) for more information.\n"}},"required":["containerAppEnvironmentManagedCertificateId","containerAppId","name"],"inputProperties":{"certificateBindingType":{"type":"string","description":"The Certificate Binding type. Possible values are `Auto`, `Disabled` and `SniEnabled`. Required with \u003cspan pulumi-lang-nodejs=\"`containerAppEnvironmentCertificateId`\" pulumi-lang-dotnet=\"`ContainerAppEnvironmentCertificateId`\" pulumi-lang-go=\"`containerAppEnvironmentCertificateId`\" pulumi-lang-python=\"`container_app_environment_certificate_id`\" pulumi-lang-yaml=\"`containerAppEnvironmentCertificateId`\" pulumi-lang-java=\"`containerAppEnvironmentCertificateId`\"\u003e`container_app_environment_certificate_id`\u003c/span\u003e. Changing this forces a new resource to be created.\n\n!\u003e **Note:** If using an Azure Managed Certificate \u003cspan pulumi-lang-nodejs=\"`containerAppEnvironmentCertificateId`\" pulumi-lang-dotnet=\"`ContainerAppEnvironmentCertificateId`\" pulumi-lang-go=\"`containerAppEnvironmentCertificateId`\" pulumi-lang-python=\"`container_app_environment_certificate_id`\" pulumi-lang-yaml=\"`containerAppEnvironmentCertificateId`\" pulumi-lang-java=\"`containerAppEnvironmentCertificateId`\"\u003e`container_app_environment_certificate_id`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`certificateBindingType`\" pulumi-lang-dotnet=\"`CertificateBindingType`\" pulumi-lang-go=\"`certificateBindingType`\" pulumi-lang-python=\"`certificate_binding_type`\" pulumi-lang-yaml=\"`certificateBindingType`\" pulumi-lang-java=\"`certificateBindingType`\"\u003e`certificate_binding_type`\u003c/span\u003e should be added to \u003cspan pulumi-lang-nodejs=\"`ignoreChanges`\" pulumi-lang-dotnet=\"`IgnoreChanges`\" pulumi-lang-go=\"`ignoreChanges`\" pulumi-lang-python=\"`ignore_changes`\" pulumi-lang-yaml=\"`ignoreChanges`\" pulumi-lang-java=\"`ignoreChanges`\"\u003e`ignore_changes`\u003c/span\u003e to prevent resource recreation due to these values being modified asynchronously outside of Terraform.\n","willReplaceOnChanges":true},"containerAppEnvironmentCertificateId":{"type":"string","description":"The ID of the Container App Environment Certificate to use. Changing this forces a new resource to be created.\n\n\u003e **Note:** Omit this value if you wish to use an Azure Managed certificate. You must create the relevant DNS verification steps before this process will be successful.\n","willReplaceOnChanges":true},"containerAppId":{"type":"string","description":"The ID of the Container App to which this Custom Domain should be bound. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The fully qualified name of the Custom Domain. Must be the CN or a named SAN in the certificate specified by the \u003cspan pulumi-lang-nodejs=\"`containerAppEnvironmentCertificateId`\" pulumi-lang-dotnet=\"`ContainerAppEnvironmentCertificateId`\" pulumi-lang-go=\"`containerAppEnvironmentCertificateId`\" pulumi-lang-python=\"`container_app_environment_certificate_id`\" pulumi-lang-yaml=\"`containerAppEnvironmentCertificateId`\" pulumi-lang-java=\"`containerAppEnvironmentCertificateId`\"\u003e`container_app_environment_certificate_id`\u003c/span\u003e. Changing this forces a new resource to be created.\n\n\u003e **Note:** The Custom Domain verification TXT record requires a prefix of `asuid.`, however, this must be trimmed from the \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e property here. See the [official docs](https://learn.microsoft.com/en-us/azure/container-apps/custom-domains-certificates) for more information.\n","willReplaceOnChanges":true}},"requiredInputs":["containerAppId"],"stateInputs":{"description":"Input properties used for looking up and filtering CustomDomain resources.\n","properties":{"certificateBindingType":{"type":"string","description":"The Certificate Binding type. Possible values are `Auto`, `Disabled` and `SniEnabled`. Required with \u003cspan pulumi-lang-nodejs=\"`containerAppEnvironmentCertificateId`\" pulumi-lang-dotnet=\"`ContainerAppEnvironmentCertificateId`\" pulumi-lang-go=\"`containerAppEnvironmentCertificateId`\" pulumi-lang-python=\"`container_app_environment_certificate_id`\" pulumi-lang-yaml=\"`containerAppEnvironmentCertificateId`\" pulumi-lang-java=\"`containerAppEnvironmentCertificateId`\"\u003e`container_app_environment_certificate_id`\u003c/span\u003e. Changing this forces a new resource to be created.\n\n!\u003e **Note:** If using an Azure Managed Certificate \u003cspan pulumi-lang-nodejs=\"`containerAppEnvironmentCertificateId`\" pulumi-lang-dotnet=\"`ContainerAppEnvironmentCertificateId`\" pulumi-lang-go=\"`containerAppEnvironmentCertificateId`\" pulumi-lang-python=\"`container_app_environment_certificate_id`\" pulumi-lang-yaml=\"`containerAppEnvironmentCertificateId`\" pulumi-lang-java=\"`containerAppEnvironmentCertificateId`\"\u003e`container_app_environment_certificate_id`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`certificateBindingType`\" pulumi-lang-dotnet=\"`CertificateBindingType`\" pulumi-lang-go=\"`certificateBindingType`\" pulumi-lang-python=\"`certificate_binding_type`\" pulumi-lang-yaml=\"`certificateBindingType`\" pulumi-lang-java=\"`certificateBindingType`\"\u003e`certificate_binding_type`\u003c/span\u003e should be added to \u003cspan pulumi-lang-nodejs=\"`ignoreChanges`\" pulumi-lang-dotnet=\"`IgnoreChanges`\" pulumi-lang-go=\"`ignoreChanges`\" pulumi-lang-python=\"`ignore_changes`\" pulumi-lang-yaml=\"`ignoreChanges`\" pulumi-lang-java=\"`ignoreChanges`\"\u003e`ignore_changes`\u003c/span\u003e to prevent resource recreation due to these values being modified asynchronously outside of Terraform.\n","willReplaceOnChanges":true},"containerAppEnvironmentCertificateId":{"type":"string","description":"The ID of the Container App Environment Certificate to use. Changing this forces a new resource to be created.\n\n\u003e **Note:** Omit this value if you wish to use an Azure Managed certificate. You must create the relevant DNS verification steps before this process will be successful.\n","willReplaceOnChanges":true},"containerAppEnvironmentManagedCertificateId":{"type":"string","description":"The ID of the Container App Environment Managed Certificate to use.\n"},"containerAppId":{"type":"string","description":"The ID of the Container App to which this Custom Domain should be bound. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The fully qualified name of the Custom Domain. Must be the CN or a named SAN in the certificate specified by the \u003cspan pulumi-lang-nodejs=\"`containerAppEnvironmentCertificateId`\" pulumi-lang-dotnet=\"`ContainerAppEnvironmentCertificateId`\" pulumi-lang-go=\"`containerAppEnvironmentCertificateId`\" pulumi-lang-python=\"`container_app_environment_certificate_id`\" pulumi-lang-yaml=\"`containerAppEnvironmentCertificateId`\" pulumi-lang-java=\"`containerAppEnvironmentCertificateId`\"\u003e`container_app_environment_certificate_id`\u003c/span\u003e. Changing this forces a new resource to be created.\n\n\u003e **Note:** The Custom Domain verification TXT record requires a prefix of `asuid.`, however, this must be trimmed from the \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e property here. See the [official docs](https://learn.microsoft.com/en-us/azure/container-apps/custom-domains-certificates) for more information.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:containerapp/environment:Environment":{"description":"Manages a Container App Environment.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleAnalyticsWorkspace = new azure.operationalinsights.AnalyticsWorkspace(\"example\", {\n    name: \"example-workspace\",\n    location: example.location,\n    resourceGroupName: example.name,\n    sku: \"PerGB2018\",\n    retentionInDays: 30,\n});\nconst exampleEnvironment = new azure.containerapp.Environment(\"example\", {\n    name: \"my-environment\",\n    location: example.location,\n    resourceGroupName: example.name,\n    logsDestination: \"log-analytics\",\n    logAnalyticsWorkspaceId: exampleAnalyticsWorkspace.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_analytics_workspace = azure.operationalinsights.AnalyticsWorkspace(\"example\",\n    name=\"example-workspace\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku=\"PerGB2018\",\n    retention_in_days=30)\nexample_environment = azure.containerapp.Environment(\"example\",\n    name=\"my-environment\",\n    location=example.location,\n    resource_group_name=example.name,\n    logs_destination=\"log-analytics\",\n    log_analytics_workspace_id=example_analytics_workspace.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleAnalyticsWorkspace = new Azure.OperationalInsights.AnalyticsWorkspace(\"example\", new()\n    {\n        Name = \"example-workspace\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Sku = \"PerGB2018\",\n        RetentionInDays = 30,\n    });\n\n    var exampleEnvironment = new Azure.ContainerApp.Environment(\"example\", new()\n    {\n        Name = \"my-environment\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        LogsDestination = \"log-analytics\",\n        LogAnalyticsWorkspaceId = exampleAnalyticsWorkspace.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/containerapp\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/operationalinsights\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAnalyticsWorkspace, err := operationalinsights.NewAnalyticsWorkspace(ctx, \"example\", \u0026operationalinsights.AnalyticsWorkspaceArgs{\n\t\t\tName:              pulumi.String(\"example-workspace\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSku:               pulumi.String(\"PerGB2018\"),\n\t\t\tRetentionInDays:   pulumi.Int(30),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = containerapp.NewEnvironment(ctx, \"example\", \u0026containerapp.EnvironmentArgs{\n\t\t\tName:                    pulumi.String(\"my-environment\"),\n\t\t\tLocation:                example.Location,\n\t\t\tResourceGroupName:       example.Name,\n\t\t\tLogsDestination:         pulumi.String(\"log-analytics\"),\n\t\t\tLogAnalyticsWorkspaceId: exampleAnalyticsWorkspace.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.operationalinsights.AnalyticsWorkspace;\nimport com.pulumi.azure.operationalinsights.AnalyticsWorkspaceArgs;\nimport com.pulumi.azure.containerapp.Environment;\nimport com.pulumi.azure.containerapp.EnvironmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleAnalyticsWorkspace = new AnalyticsWorkspace(\"exampleAnalyticsWorkspace\", AnalyticsWorkspaceArgs.builder()\n            .name(\"example-workspace\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .sku(\"PerGB2018\")\n            .retentionInDays(30)\n            .build());\n\n        var exampleEnvironment = new Environment(\"exampleEnvironment\", EnvironmentArgs.builder()\n            .name(\"my-environment\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .logsDestination(\"log-analytics\")\n            .logAnalyticsWorkspaceId(exampleAnalyticsWorkspace.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleAnalyticsWorkspace:\n    type: azure:operationalinsights:AnalyticsWorkspace\n    name: example\n    properties:\n      name: example-workspace\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      sku: PerGB2018\n      retentionInDays: 30\n  exampleEnvironment:\n    type: azure:containerapp:Environment\n    name: example\n    properties:\n      name: my-environment\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      logsDestination: log-analytics\n      logAnalyticsWorkspaceId: ${exampleAnalyticsWorkspace.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.App` - 2025-07-01\n\n* `Microsoft.OperationalInsights` - 2020-08-01\n\n## Import\n\nA Container App Environment can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:containerapp/environment:Environment example \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resGroup1/providers/Microsoft.App/managedEnvironments/myEnvironment\"\n```\n\n","properties":{"customDomainVerificationId":{"type":"string","description":"The ID of the Custom Domain Verification for this Container App Environment.\n"},"daprApplicationInsightsConnectionString":{"type":"string","description":"Application Insights connection string used by Dapr to export Service to Service communication telemetry. Changing this forces a new resource to be created.\n","secret":true},"defaultDomain":{"type":"string","description":"The default, publicly resolvable, name of this Container App Environment.\n"},"dockerBridgeCidr":{"type":"string","description":"The network addressing in which the Container Apps in this Container App Environment will reside in CIDR notation.\n"},"identity":{"$ref":"#/types/azure:containerapp/EnvironmentIdentity:EnvironmentIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"infrastructureResourceGroupName":{"type":"string","description":"Name of the platform-managed resource group created for the Managed Environment to host infrastructure resources. Changing this forces a new resource to be created.\n\n\u003e **Note:** Only valid if a \u003cspan pulumi-lang-nodejs=\"`workloadProfile`\" pulumi-lang-dotnet=\"`WorkloadProfile`\" pulumi-lang-go=\"`workloadProfile`\" pulumi-lang-python=\"`workload_profile`\" pulumi-lang-yaml=\"`workloadProfile`\" pulumi-lang-java=\"`workloadProfile`\"\u003e`workload_profile`\u003c/span\u003e is specified. If \u003cspan pulumi-lang-nodejs=\"`infrastructureSubnetId`\" pulumi-lang-dotnet=\"`InfrastructureSubnetId`\" pulumi-lang-go=\"`infrastructureSubnetId`\" pulumi-lang-python=\"`infrastructure_subnet_id`\" pulumi-lang-yaml=\"`infrastructureSubnetId`\" pulumi-lang-java=\"`infrastructureSubnetId`\"\u003e`infrastructure_subnet_id`\u003c/span\u003e is specified, this resource group will be created in the same subscription as \u003cspan pulumi-lang-nodejs=\"`infrastructureSubnetId`\" pulumi-lang-dotnet=\"`InfrastructureSubnetId`\" pulumi-lang-go=\"`infrastructureSubnetId`\" pulumi-lang-python=\"`infrastructure_subnet_id`\" pulumi-lang-yaml=\"`infrastructureSubnetId`\" pulumi-lang-java=\"`infrastructureSubnetId`\"\u003e`infrastructure_subnet_id`\u003c/span\u003e.\n"},"infrastructureSubnetId":{"type":"string","description":"The existing Subnet to use for the Container Apps Control Plane. Changing this forces a new resource to be created. \n\n\u003e **Note:** The Subnet must have a `/21` or larger address space.\n"},"internalLoadBalancerEnabled":{"type":"boolean","description":"Should the Container Environment operate in Internal Load Balancing Mode? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Changing this forces a new resource to be created.\n\n\u003e **Note:** can only be set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e if \u003cspan pulumi-lang-nodejs=\"`infrastructureSubnetId`\" pulumi-lang-dotnet=\"`InfrastructureSubnetId`\" pulumi-lang-go=\"`infrastructureSubnetId`\" pulumi-lang-python=\"`infrastructure_subnet_id`\" pulumi-lang-yaml=\"`infrastructureSubnetId`\" pulumi-lang-java=\"`infrastructureSubnetId`\"\u003e`infrastructure_subnet_id`\u003c/span\u003e is specified.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the Container App Environment is to exist. Changing this forces a new resource to be created.\n"},"logAnalyticsWorkspaceId":{"type":"string","description":"The ID for the Log Analytics Workspace to link this Container Apps Managed Environment to. \n\n\u003e **Note:** required if \u003cspan pulumi-lang-nodejs=\"`logsDestination`\" pulumi-lang-dotnet=\"`LogsDestination`\" pulumi-lang-go=\"`logsDestination`\" pulumi-lang-python=\"`logs_destination`\" pulumi-lang-yaml=\"`logsDestination`\" pulumi-lang-java=\"`logsDestination`\"\u003e`logs_destination`\u003c/span\u003e is set to `log-analytics`. Cannot be set if \u003cspan pulumi-lang-nodejs=\"`logsDestination`\" pulumi-lang-dotnet=\"`LogsDestination`\" pulumi-lang-go=\"`logsDestination`\" pulumi-lang-python=\"`logs_destination`\" pulumi-lang-yaml=\"`logsDestination`\" pulumi-lang-java=\"`logsDestination`\"\u003e`logs_destination`\u003c/span\u003e is set to `azure-monitor`.\n"},"logsDestination":{"type":"string","description":"Where the application logs will be saved for this Container Apps Managed Environment. Possible values include `log-analytics` and `azure-monitor`. Omitting this value will result in logs being streamed only.\n"},"mutualTlsEnabled":{"type":"boolean","description":"Should mutual transport layer security (mTLS) be enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** This feature is in public preview. Enabling mTLS for your applications may increase response latency and reduce maximum throughput in high-load scenarios.\n"},"name":{"type":"string","description":"The name of the Container Apps Managed Environment. Changing this forces a new resource to be created.\n"},"platformReservedCidr":{"type":"string","description":"The IP range, in CIDR notation, that is reserved for environment infrastructure IP addresses.\n"},"platformReservedDnsIpAddress":{"type":"string","description":"The IP address from the IP range defined by \u003cspan pulumi-lang-nodejs=\"`platformReservedCidr`\" pulumi-lang-dotnet=\"`PlatformReservedCidr`\" pulumi-lang-go=\"`platformReservedCidr`\" pulumi-lang-python=\"`platform_reserved_cidr`\" pulumi-lang-yaml=\"`platformReservedCidr`\" pulumi-lang-java=\"`platformReservedCidr`\"\u003e`platform_reserved_cidr`\u003c/span\u003e that is reserved for the internal DNS server.\n"},"publicNetworkAccess":{"type":"string","description":"The public network access setting for the Container App Environment. Possible values are `Enabled` and `Disabled`.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the Container App Environment is to be created. Changing this forces a new resource to be created.\n"},"staticIpAddress":{"type":"string","description":"The Static IP address of the Environment.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"workloadProfiles":{"type":"array","items":{"$ref":"#/types/azure:containerapp/EnvironmentWorkloadProfile:EnvironmentWorkloadProfile"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`workloadProfile`\" pulumi-lang-dotnet=\"`WorkloadProfile`\" pulumi-lang-go=\"`workloadProfile`\" pulumi-lang-python=\"`workload_profile`\" pulumi-lang-yaml=\"`workloadProfile`\" pulumi-lang-java=\"`workloadProfile`\"\u003e`workload_profile`\u003c/span\u003e blocks as defined below.\n"},"zoneRedundancyEnabled":{"type":"boolean","description":"Should the Container App Environment be created with Zone Redundancy enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Changing this forces a new resource to be created.\n\n\u003e **Note:** can only be set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e if \u003cspan pulumi-lang-nodejs=\"`infrastructureSubnetId`\" pulumi-lang-dotnet=\"`InfrastructureSubnetId`\" pulumi-lang-go=\"`infrastructureSubnetId`\" pulumi-lang-python=\"`infrastructure_subnet_id`\" pulumi-lang-yaml=\"`infrastructureSubnetId`\" pulumi-lang-java=\"`infrastructureSubnetId`\"\u003e`infrastructure_subnet_id`\u003c/span\u003e is specified.\n"}},"required":["customDomainVerificationId","defaultDomain","dockerBridgeCidr","location","logsDestination","name","platformReservedCidr","platformReservedDnsIpAddress","publicNetworkAccess","resourceGroupName","staticIpAddress"],"inputProperties":{"daprApplicationInsightsConnectionString":{"type":"string","description":"Application Insights connection string used by Dapr to export Service to Service communication telemetry. Changing this forces a new resource to be created.\n","secret":true,"willReplaceOnChanges":true},"identity":{"$ref":"#/types/azure:containerapp/EnvironmentIdentity:EnvironmentIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"infrastructureResourceGroupName":{"type":"string","description":"Name of the platform-managed resource group created for the Managed Environment to host infrastructure resources. Changing this forces a new resource to be created.\n\n\u003e **Note:** Only valid if a \u003cspan pulumi-lang-nodejs=\"`workloadProfile`\" pulumi-lang-dotnet=\"`WorkloadProfile`\" pulumi-lang-go=\"`workloadProfile`\" pulumi-lang-python=\"`workload_profile`\" pulumi-lang-yaml=\"`workloadProfile`\" pulumi-lang-java=\"`workloadProfile`\"\u003e`workload_profile`\u003c/span\u003e is specified. If \u003cspan pulumi-lang-nodejs=\"`infrastructureSubnetId`\" pulumi-lang-dotnet=\"`InfrastructureSubnetId`\" pulumi-lang-go=\"`infrastructureSubnetId`\" pulumi-lang-python=\"`infrastructure_subnet_id`\" pulumi-lang-yaml=\"`infrastructureSubnetId`\" pulumi-lang-java=\"`infrastructureSubnetId`\"\u003e`infrastructure_subnet_id`\u003c/span\u003e is specified, this resource group will be created in the same subscription as \u003cspan pulumi-lang-nodejs=\"`infrastructureSubnetId`\" pulumi-lang-dotnet=\"`InfrastructureSubnetId`\" pulumi-lang-go=\"`infrastructureSubnetId`\" pulumi-lang-python=\"`infrastructure_subnet_id`\" pulumi-lang-yaml=\"`infrastructureSubnetId`\" pulumi-lang-java=\"`infrastructureSubnetId`\"\u003e`infrastructure_subnet_id`\u003c/span\u003e.\n","willReplaceOnChanges":true},"infrastructureSubnetId":{"type":"string","description":"The existing Subnet to use for the Container Apps Control Plane. Changing this forces a new resource to be created. \n\n\u003e **Note:** The Subnet must have a `/21` or larger address space.\n","willReplaceOnChanges":true},"internalLoadBalancerEnabled":{"type":"boolean","description":"Should the Container Environment operate in Internal Load Balancing Mode? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Changing this forces a new resource to be created.\n\n\u003e **Note:** can only be set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e if \u003cspan pulumi-lang-nodejs=\"`infrastructureSubnetId`\" pulumi-lang-dotnet=\"`InfrastructureSubnetId`\" pulumi-lang-go=\"`infrastructureSubnetId`\" pulumi-lang-python=\"`infrastructure_subnet_id`\" pulumi-lang-yaml=\"`infrastructureSubnetId`\" pulumi-lang-java=\"`infrastructureSubnetId`\"\u003e`infrastructure_subnet_id`\u003c/span\u003e is specified.\n","willReplaceOnChanges":true},"location":{"type":"string","description":"Specifies the supported Azure location where the Container App Environment is to exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"logAnalyticsWorkspaceId":{"type":"string","description":"The ID for the Log Analytics Workspace to link this Container Apps Managed Environment to. \n\n\u003e **Note:** required if \u003cspan pulumi-lang-nodejs=\"`logsDestination`\" pulumi-lang-dotnet=\"`LogsDestination`\" pulumi-lang-go=\"`logsDestination`\" pulumi-lang-python=\"`logs_destination`\" pulumi-lang-yaml=\"`logsDestination`\" pulumi-lang-java=\"`logsDestination`\"\u003e`logs_destination`\u003c/span\u003e is set to `log-analytics`. Cannot be set if \u003cspan pulumi-lang-nodejs=\"`logsDestination`\" pulumi-lang-dotnet=\"`LogsDestination`\" pulumi-lang-go=\"`logsDestination`\" pulumi-lang-python=\"`logs_destination`\" pulumi-lang-yaml=\"`logsDestination`\" pulumi-lang-java=\"`logsDestination`\"\u003e`logs_destination`\u003c/span\u003e is set to `azure-monitor`.\n"},"logsDestination":{"type":"string","description":"Where the application logs will be saved for this Container Apps Managed Environment. Possible values include `log-analytics` and `azure-monitor`. Omitting this value will result in logs being streamed only.\n"},"mutualTlsEnabled":{"type":"boolean","description":"Should mutual transport layer security (mTLS) be enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** This feature is in public preview. Enabling mTLS for your applications may increase response latency and reduce maximum throughput in high-load scenarios.\n"},"name":{"type":"string","description":"The name of the Container Apps Managed Environment. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"publicNetworkAccess":{"type":"string","description":"The public network access setting for the Container App Environment. Possible values are `Enabled` and `Disabled`.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the Container App Environment is to be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"workloadProfiles":{"type":"array","items":{"$ref":"#/types/azure:containerapp/EnvironmentWorkloadProfile:EnvironmentWorkloadProfile"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`workloadProfile`\" pulumi-lang-dotnet=\"`WorkloadProfile`\" pulumi-lang-go=\"`workloadProfile`\" pulumi-lang-python=\"`workload_profile`\" pulumi-lang-yaml=\"`workloadProfile`\" pulumi-lang-java=\"`workloadProfile`\"\u003e`workload_profile`\u003c/span\u003e blocks as defined below.\n"},"zoneRedundancyEnabled":{"type":"boolean","description":"Should the Container App Environment be created with Zone Redundancy enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Changing this forces a new resource to be created.\n\n\u003e **Note:** can only be set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e if \u003cspan pulumi-lang-nodejs=\"`infrastructureSubnetId`\" pulumi-lang-dotnet=\"`InfrastructureSubnetId`\" pulumi-lang-go=\"`infrastructureSubnetId`\" pulumi-lang-python=\"`infrastructure_subnet_id`\" pulumi-lang-yaml=\"`infrastructureSubnetId`\" pulumi-lang-java=\"`infrastructureSubnetId`\"\u003e`infrastructure_subnet_id`\u003c/span\u003e is specified.\n","willReplaceOnChanges":true}},"requiredInputs":["resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering Environment resources.\n","properties":{"customDomainVerificationId":{"type":"string","description":"The ID of the Custom Domain Verification for this Container App Environment.\n"},"daprApplicationInsightsConnectionString":{"type":"string","description":"Application Insights connection string used by Dapr to export Service to Service communication telemetry. Changing this forces a new resource to be created.\n","secret":true,"willReplaceOnChanges":true},"defaultDomain":{"type":"string","description":"The default, publicly resolvable, name of this Container App Environment.\n"},"dockerBridgeCidr":{"type":"string","description":"The network addressing in which the Container Apps in this Container App Environment will reside in CIDR notation.\n"},"identity":{"$ref":"#/types/azure:containerapp/EnvironmentIdentity:EnvironmentIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"infrastructureResourceGroupName":{"type":"string","description":"Name of the platform-managed resource group created for the Managed Environment to host infrastructure resources. Changing this forces a new resource to be created.\n\n\u003e **Note:** Only valid if a \u003cspan pulumi-lang-nodejs=\"`workloadProfile`\" pulumi-lang-dotnet=\"`WorkloadProfile`\" pulumi-lang-go=\"`workloadProfile`\" pulumi-lang-python=\"`workload_profile`\" pulumi-lang-yaml=\"`workloadProfile`\" pulumi-lang-java=\"`workloadProfile`\"\u003e`workload_profile`\u003c/span\u003e is specified. If \u003cspan pulumi-lang-nodejs=\"`infrastructureSubnetId`\" pulumi-lang-dotnet=\"`InfrastructureSubnetId`\" pulumi-lang-go=\"`infrastructureSubnetId`\" pulumi-lang-python=\"`infrastructure_subnet_id`\" pulumi-lang-yaml=\"`infrastructureSubnetId`\" pulumi-lang-java=\"`infrastructureSubnetId`\"\u003e`infrastructure_subnet_id`\u003c/span\u003e is specified, this resource group will be created in the same subscription as \u003cspan pulumi-lang-nodejs=\"`infrastructureSubnetId`\" pulumi-lang-dotnet=\"`InfrastructureSubnetId`\" pulumi-lang-go=\"`infrastructureSubnetId`\" pulumi-lang-python=\"`infrastructure_subnet_id`\" pulumi-lang-yaml=\"`infrastructureSubnetId`\" pulumi-lang-java=\"`infrastructureSubnetId`\"\u003e`infrastructure_subnet_id`\u003c/span\u003e.\n","willReplaceOnChanges":true},"infrastructureSubnetId":{"type":"string","description":"The existing Subnet to use for the Container Apps Control Plane. Changing this forces a new resource to be created. \n\n\u003e **Note:** The Subnet must have a `/21` or larger address space.\n","willReplaceOnChanges":true},"internalLoadBalancerEnabled":{"type":"boolean","description":"Should the Container Environment operate in Internal Load Balancing Mode? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Changing this forces a new resource to be created.\n\n\u003e **Note:** can only be set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e if \u003cspan pulumi-lang-nodejs=\"`infrastructureSubnetId`\" pulumi-lang-dotnet=\"`InfrastructureSubnetId`\" pulumi-lang-go=\"`infrastructureSubnetId`\" pulumi-lang-python=\"`infrastructure_subnet_id`\" pulumi-lang-yaml=\"`infrastructureSubnetId`\" pulumi-lang-java=\"`infrastructureSubnetId`\"\u003e`infrastructure_subnet_id`\u003c/span\u003e is specified.\n","willReplaceOnChanges":true},"location":{"type":"string","description":"Specifies the supported Azure location where the Container App Environment is to exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"logAnalyticsWorkspaceId":{"type":"string","description":"The ID for the Log Analytics Workspace to link this Container Apps Managed Environment to. \n\n\u003e **Note:** required if \u003cspan pulumi-lang-nodejs=\"`logsDestination`\" pulumi-lang-dotnet=\"`LogsDestination`\" pulumi-lang-go=\"`logsDestination`\" pulumi-lang-python=\"`logs_destination`\" pulumi-lang-yaml=\"`logsDestination`\" pulumi-lang-java=\"`logsDestination`\"\u003e`logs_destination`\u003c/span\u003e is set to `log-analytics`. Cannot be set if \u003cspan pulumi-lang-nodejs=\"`logsDestination`\" pulumi-lang-dotnet=\"`LogsDestination`\" pulumi-lang-go=\"`logsDestination`\" pulumi-lang-python=\"`logs_destination`\" pulumi-lang-yaml=\"`logsDestination`\" pulumi-lang-java=\"`logsDestination`\"\u003e`logs_destination`\u003c/span\u003e is set to `azure-monitor`.\n"},"logsDestination":{"type":"string","description":"Where the application logs will be saved for this Container Apps Managed Environment. Possible values include `log-analytics` and `azure-monitor`. Omitting this value will result in logs being streamed only.\n"},"mutualTlsEnabled":{"type":"boolean","description":"Should mutual transport layer security (mTLS) be enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** This feature is in public preview. Enabling mTLS for your applications may increase response latency and reduce maximum throughput in high-load scenarios.\n"},"name":{"type":"string","description":"The name of the Container Apps Managed Environment. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"platformReservedCidr":{"type":"string","description":"The IP range, in CIDR notation, that is reserved for environment infrastructure IP addresses.\n"},"platformReservedDnsIpAddress":{"type":"string","description":"The IP address from the IP range defined by \u003cspan pulumi-lang-nodejs=\"`platformReservedCidr`\" pulumi-lang-dotnet=\"`PlatformReservedCidr`\" pulumi-lang-go=\"`platformReservedCidr`\" pulumi-lang-python=\"`platform_reserved_cidr`\" pulumi-lang-yaml=\"`platformReservedCidr`\" pulumi-lang-java=\"`platformReservedCidr`\"\u003e`platform_reserved_cidr`\u003c/span\u003e that is reserved for the internal DNS server.\n"},"publicNetworkAccess":{"type":"string","description":"The public network access setting for the Container App Environment. Possible values are `Enabled` and `Disabled`.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the Container App Environment is to be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"staticIpAddress":{"type":"string","description":"The Static IP address of the Environment.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"workloadProfiles":{"type":"array","items":{"$ref":"#/types/azure:containerapp/EnvironmentWorkloadProfile:EnvironmentWorkloadProfile"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`workloadProfile`\" pulumi-lang-dotnet=\"`WorkloadProfile`\" pulumi-lang-go=\"`workloadProfile`\" pulumi-lang-python=\"`workload_profile`\" pulumi-lang-yaml=\"`workloadProfile`\" pulumi-lang-java=\"`workloadProfile`\"\u003e`workload_profile`\u003c/span\u003e blocks as defined below.\n"},"zoneRedundancyEnabled":{"type":"boolean","description":"Should the Container App Environment be created with Zone Redundancy enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Changing this forces a new resource to be created.\n\n\u003e **Note:** can only be set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e if \u003cspan pulumi-lang-nodejs=\"`infrastructureSubnetId`\" pulumi-lang-dotnet=\"`InfrastructureSubnetId`\" pulumi-lang-go=\"`infrastructureSubnetId`\" pulumi-lang-python=\"`infrastructure_subnet_id`\" pulumi-lang-yaml=\"`infrastructureSubnetId`\" pulumi-lang-java=\"`infrastructureSubnetId`\"\u003e`infrastructure_subnet_id`\u003c/span\u003e is specified.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:containerapp/environmentCertificate:EnvironmentCertificate":{"description":"Manages a Container App Environment Certificate.\n\n## Example Usage\n\n### Certificate from .pfx file\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\nimport * as std from \"@pulumi/std\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleAnalyticsWorkspace = new azure.operationalinsights.AnalyticsWorkspace(\"example\", {\n    name: \"acctest-01\",\n    location: example.location,\n    resourceGroupName: example.name,\n    sku: \"PerGB2018\",\n    retentionInDays: 30,\n});\nconst exampleEnvironment = new azure.containerapp.Environment(\"example\", {\n    name: \"myEnvironment\",\n    location: example.location,\n    resourceGroupName: example.name,\n    logAnalyticsWorkspaceId: exampleAnalyticsWorkspace.id,\n});\nconst exampleEnvironmentCertificate = new azure.containerapp.EnvironmentCertificate(\"example\", {\n    name: \"myfriendlyname\",\n    containerAppEnvironmentId: exampleEnvironment.id,\n    certificateBlobBase64: std.filebase64({\n        input: \"path/to/certificate_file.pfx\",\n    }).then(invoke =\u003e invoke.result),\n    certificatePassword: \"$3cretSqu1rreL\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\nimport pulumi_std as std\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_analytics_workspace = azure.operationalinsights.AnalyticsWorkspace(\"example\",\n    name=\"acctest-01\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku=\"PerGB2018\",\n    retention_in_days=30)\nexample_environment = azure.containerapp.Environment(\"example\",\n    name=\"myEnvironment\",\n    location=example.location,\n    resource_group_name=example.name,\n    log_analytics_workspace_id=example_analytics_workspace.id)\nexample_environment_certificate = azure.containerapp.EnvironmentCertificate(\"example\",\n    name=\"myfriendlyname\",\n    container_app_environment_id=example_environment.id,\n    certificate_blob_base64=std.filebase64(input=\"path/to/certificate_file.pfx\").result,\n    certificate_password=\"$3cretSqu1rreL\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleAnalyticsWorkspace = new Azure.OperationalInsights.AnalyticsWorkspace(\"example\", new()\n    {\n        Name = \"acctest-01\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Sku = \"PerGB2018\",\n        RetentionInDays = 30,\n    });\n\n    var exampleEnvironment = new Azure.ContainerApp.Environment(\"example\", new()\n    {\n        Name = \"myEnvironment\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        LogAnalyticsWorkspaceId = exampleAnalyticsWorkspace.Id,\n    });\n\n    var exampleEnvironmentCertificate = new Azure.ContainerApp.EnvironmentCertificate(\"example\", new()\n    {\n        Name = \"myfriendlyname\",\n        ContainerAppEnvironmentId = exampleEnvironment.Id,\n        CertificateBlobBase64 = Std.Filebase64.Invoke(new()\n        {\n            Input = \"path/to/certificate_file.pfx\",\n        }).Apply(invoke =\u003e invoke.Result),\n        CertificatePassword = \"$3cretSqu1rreL\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/containerapp\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/operationalinsights\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAnalyticsWorkspace, err := operationalinsights.NewAnalyticsWorkspace(ctx, \"example\", \u0026operationalinsights.AnalyticsWorkspaceArgs{\n\t\t\tName:              pulumi.String(\"acctest-01\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSku:               pulumi.String(\"PerGB2018\"),\n\t\t\tRetentionInDays:   pulumi.Int(30),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleEnvironment, err := containerapp.NewEnvironment(ctx, \"example\", \u0026containerapp.EnvironmentArgs{\n\t\t\tName:                    pulumi.String(\"myEnvironment\"),\n\t\t\tLocation:                example.Location,\n\t\t\tResourceGroupName:       example.Name,\n\t\t\tLogAnalyticsWorkspaceId: exampleAnalyticsWorkspace.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFilebase64, err := std.Filebase64(ctx, \u0026std.Filebase64Args{\n\t\t\tInput: \"path/to/certificate_file.pfx\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = containerapp.NewEnvironmentCertificate(ctx, \"example\", \u0026containerapp.EnvironmentCertificateArgs{\n\t\t\tName:                      pulumi.String(\"myfriendlyname\"),\n\t\t\tContainerAppEnvironmentId: exampleEnvironment.ID(),\n\t\t\tCertificateBlobBase64:     pulumi.String(invokeFilebase64.Result),\n\t\t\tCertificatePassword:       pulumi.String(\"$3cretSqu1rreL\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.operationalinsights.AnalyticsWorkspace;\nimport com.pulumi.azure.operationalinsights.AnalyticsWorkspaceArgs;\nimport com.pulumi.azure.containerapp.Environment;\nimport com.pulumi.azure.containerapp.EnvironmentArgs;\nimport com.pulumi.azure.containerapp.EnvironmentCertificate;\nimport com.pulumi.azure.containerapp.EnvironmentCertificateArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.Filebase64Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleAnalyticsWorkspace = new AnalyticsWorkspace(\"exampleAnalyticsWorkspace\", AnalyticsWorkspaceArgs.builder()\n            .name(\"acctest-01\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .sku(\"PerGB2018\")\n            .retentionInDays(30)\n            .build());\n\n        var exampleEnvironment = new Environment(\"exampleEnvironment\", EnvironmentArgs.builder()\n            .name(\"myEnvironment\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .logAnalyticsWorkspaceId(exampleAnalyticsWorkspace.id())\n            .build());\n\n        var exampleEnvironmentCertificate = new EnvironmentCertificate(\"exampleEnvironmentCertificate\", EnvironmentCertificateArgs.builder()\n            .name(\"myfriendlyname\")\n            .containerAppEnvironmentId(exampleEnvironment.id())\n            .certificateBlobBase64(StdFunctions.filebase64(Filebase64Args.builder()\n                .input(\"path/to/certificate_file.pfx\")\n                .build()).result())\n            .certificatePassword(\"$3cretSqu1rreL\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleAnalyticsWorkspace:\n    type: azure:operationalinsights:AnalyticsWorkspace\n    name: example\n    properties:\n      name: acctest-01\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      sku: PerGB2018\n      retentionInDays: 30\n  exampleEnvironment:\n    type: azure:containerapp:Environment\n    name: example\n    properties:\n      name: myEnvironment\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      logAnalyticsWorkspaceId: ${exampleAnalyticsWorkspace.id}\n  exampleEnvironmentCertificate:\n    type: azure:containerapp:EnvironmentCertificate\n    name: example\n    properties:\n      name: myfriendlyname\n      containerAppEnvironmentId: ${exampleEnvironment.id}\n      certificateBlobBase64:\n        fn::invoke:\n          function: std:filebase64\n          arguments:\n            input: path/to/certificate_file.pfx\n          return: result\n      certificatePassword: $3cretSqu1rreL\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Certificate from Key Vault\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\nimport * as std from \"@pulumi/std\";\n\nconst current = azure.core.getClientConfig({});\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleAnalyticsWorkspace = new azure.operationalinsights.AnalyticsWorkspace(\"example\", {\n    name: \"example-workspace\",\n    location: example.location,\n    resourceGroupName: example.name,\n    sku: \"PerGB2018\",\n    retentionInDays: 30,\n});\nconst exampleUserAssignedIdentity = new azure.authorization.UserAssignedIdentity(\"example\", {\n    name: \"example-identity\",\n    resourceGroupName: example.name,\n    location: example.location,\n});\nconst exampleEnvironment = new azure.containerapp.Environment(\"example\", {\n    name: \"example-environment\",\n    location: example.location,\n    resourceGroupName: example.name,\n    logAnalyticsWorkspaceId: exampleAnalyticsWorkspace.id,\n    identity: {\n        type: \"UserAssigned\",\n        identityIds: [exampleUserAssignedIdentity.id],\n    },\n});\nconst exampleKeyVault = new azure.keyvault.KeyVault(\"example\", {\n    name: \"example-keyvault\",\n    location: example.location,\n    resourceGroupName: example.name,\n    tenantId: current.then(current =\u003e current.tenantId),\n    skuName: \"standard\",\n    enableRbacAuthorization: true,\n});\nconst userKeyvaultAdmin = new azure.authorization.Assignment(\"user_keyvault_admin\", {\n    scope: exampleKeyVault.id,\n    roleDefinitionName: \"Key Vault Administrator\",\n    principalId: current.then(current =\u003e current.objectId),\n});\nconst exampleAssignment = new azure.authorization.Assignment(\"example\", {\n    scope: exampleKeyVault.id,\n    roleDefinitionName: \"Key Vault Secrets User\",\n    principalId: exampleEnvironment.identity.apply(identity =\u003e identity?.principalId),\n});\nconst exampleCertificate = new azure.keyvault.Certificate(\"example\", {\n    name: \"example-certificate\",\n    keyVaultId: exampleKeyVault.id,\n    certificate: {\n        contents: std.filebase64({\n            input: \"path/to/certificate_file.pfx\",\n        }).then(invoke =\u003e invoke.result),\n        password: \"\",\n    },\n}, {\n    dependsOn: [\n        userKeyvaultAdmin,\n        exampleAssignment,\n    ],\n});\nconst exampleEnvironmentCertificate = new azure.containerapp.EnvironmentCertificate(\"example\", {\n    name: \"example-certificate\",\n    containerAppEnvironmentId: exampleEnvironment.id,\n    certificateKeyVault: {\n        identity: exampleUserAssignedIdentity.id,\n        keyVaultSecretId: exampleCertificate.versionlessSecretId,\n    },\n}, {\n    dependsOn: [exampleAssignment],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\nimport pulumi_std as std\n\ncurrent = azure.core.get_client_config()\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_analytics_workspace = azure.operationalinsights.AnalyticsWorkspace(\"example\",\n    name=\"example-workspace\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku=\"PerGB2018\",\n    retention_in_days=30)\nexample_user_assigned_identity = azure.authorization.UserAssignedIdentity(\"example\",\n    name=\"example-identity\",\n    resource_group_name=example.name,\n    location=example.location)\nexample_environment = azure.containerapp.Environment(\"example\",\n    name=\"example-environment\",\n    location=example.location,\n    resource_group_name=example.name,\n    log_analytics_workspace_id=example_analytics_workspace.id,\n    identity={\n        \"type\": \"UserAssigned\",\n        \"identity_ids\": [example_user_assigned_identity.id],\n    })\nexample_key_vault = azure.keyvault.KeyVault(\"example\",\n    name=\"example-keyvault\",\n    location=example.location,\n    resource_group_name=example.name,\n    tenant_id=current.tenant_id,\n    sku_name=\"standard\",\n    enable_rbac_authorization=True)\nuser_keyvault_admin = azure.authorization.Assignment(\"user_keyvault_admin\",\n    scope=example_key_vault.id,\n    role_definition_name=\"Key Vault Administrator\",\n    principal_id=current.object_id)\nexample_assignment = azure.authorization.Assignment(\"example\",\n    scope=example_key_vault.id,\n    role_definition_name=\"Key Vault Secrets User\",\n    principal_id=example_environment.identity.principal_id)\nexample_certificate = azure.keyvault.Certificate(\"example\",\n    name=\"example-certificate\",\n    key_vault_id=example_key_vault.id,\n    certificate={\n        \"contents\": std.filebase64(input=\"path/to/certificate_file.pfx\").result,\n        \"password\": \"\",\n    },\n    opts = pulumi.ResourceOptions(depends_on=[\n            user_keyvault_admin,\n            example_assignment,\n        ]))\nexample_environment_certificate = azure.containerapp.EnvironmentCertificate(\"example\",\n    name=\"example-certificate\",\n    container_app_environment_id=example_environment.id,\n    certificate_key_vault={\n        \"identity\": example_user_assigned_identity.id,\n        \"key_vault_secret_id\": example_certificate.versionless_secret_id,\n    },\n    opts = pulumi.ResourceOptions(depends_on=[example_assignment]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var current = Azure.Core.GetClientConfig.Invoke();\n\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleAnalyticsWorkspace = new Azure.OperationalInsights.AnalyticsWorkspace(\"example\", new()\n    {\n        Name = \"example-workspace\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Sku = \"PerGB2018\",\n        RetentionInDays = 30,\n    });\n\n    var exampleUserAssignedIdentity = new Azure.Authorization.UserAssignedIdentity(\"example\", new()\n    {\n        Name = \"example-identity\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n    });\n\n    var exampleEnvironment = new Azure.ContainerApp.Environment(\"example\", new()\n    {\n        Name = \"example-environment\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        LogAnalyticsWorkspaceId = exampleAnalyticsWorkspace.Id,\n        Identity = new Azure.ContainerApp.Inputs.EnvironmentIdentityArgs\n        {\n            Type = \"UserAssigned\",\n            IdentityIds = new[]\n            {\n                exampleUserAssignedIdentity.Id,\n            },\n        },\n    });\n\n    var exampleKeyVault = new Azure.KeyVault.KeyVault(\"example\", new()\n    {\n        Name = \"example-keyvault\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        TenantId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.TenantId),\n        SkuName = \"standard\",\n        EnableRbacAuthorization = true,\n    });\n\n    var userKeyvaultAdmin = new Azure.Authorization.Assignment(\"user_keyvault_admin\", new()\n    {\n        Scope = exampleKeyVault.Id,\n        RoleDefinitionName = \"Key Vault Administrator\",\n        PrincipalId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.ObjectId),\n    });\n\n    var exampleAssignment = new Azure.Authorization.Assignment(\"example\", new()\n    {\n        Scope = exampleKeyVault.Id,\n        RoleDefinitionName = \"Key Vault Secrets User\",\n        PrincipalId = exampleEnvironment.Identity.Apply(identity =\u003e identity?.PrincipalId),\n    });\n\n    var exampleCertificate = new Azure.KeyVault.Certificate(\"example\", new()\n    {\n        Name = \"example-certificate\",\n        KeyVaultId = exampleKeyVault.Id,\n        KeyVaultCertificate = new Azure.KeyVault.Inputs.CertificateCertificateArgs\n        {\n            Contents = Std.Filebase64.Invoke(new()\n            {\n                Input = \"path/to/certificate_file.pfx\",\n            }).Apply(invoke =\u003e invoke.Result),\n            Password = \"\",\n        },\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            userKeyvaultAdmin,\n            exampleAssignment,\n        },\n    });\n\n    var exampleEnvironmentCertificate = new Azure.ContainerApp.EnvironmentCertificate(\"example\", new()\n    {\n        Name = \"example-certificate\",\n        ContainerAppEnvironmentId = exampleEnvironment.Id,\n        CertificateKeyVault = new Azure.ContainerApp.Inputs.EnvironmentCertificateCertificateKeyVaultArgs\n        {\n            Identity = exampleUserAssignedIdentity.Id,\n            KeyVaultSecretId = exampleCertificate.VersionlessSecretId,\n        },\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            exampleAssignment,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/authorization\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/containerapp\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/keyvault\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/operationalinsights\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := core.GetClientConfig(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAnalyticsWorkspace, err := operationalinsights.NewAnalyticsWorkspace(ctx, \"example\", \u0026operationalinsights.AnalyticsWorkspaceArgs{\n\t\t\tName:              pulumi.String(\"example-workspace\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSku:               pulumi.String(\"PerGB2018\"),\n\t\t\tRetentionInDays:   pulumi.Int(30),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleUserAssignedIdentity, err := authorization.NewUserAssignedIdentity(ctx, \"example\", \u0026authorization.UserAssignedIdentityArgs{\n\t\t\tName:              pulumi.String(\"example-identity\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleEnvironment, err := containerapp.NewEnvironment(ctx, \"example\", \u0026containerapp.EnvironmentArgs{\n\t\t\tName:                    pulumi.String(\"example-environment\"),\n\t\t\tLocation:                example.Location,\n\t\t\tResourceGroupName:       example.Name,\n\t\t\tLogAnalyticsWorkspaceId: exampleAnalyticsWorkspace.ID(),\n\t\t\tIdentity: \u0026containerapp.EnvironmentIdentityArgs{\n\t\t\t\tType: pulumi.String(\"UserAssigned\"),\n\t\t\t\tIdentityIds: pulumi.StringArray{\n\t\t\t\t\texampleUserAssignedIdentity.ID(),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleKeyVault, err := keyvault.NewKeyVault(ctx, \"example\", \u0026keyvault.KeyVaultArgs{\n\t\t\tName:                    pulumi.String(\"example-keyvault\"),\n\t\t\tLocation:                example.Location,\n\t\t\tResourceGroupName:       example.Name,\n\t\t\tTenantId:                pulumi.String(current.TenantId),\n\t\t\tSkuName:                 pulumi.String(\"standard\"),\n\t\t\tEnableRbacAuthorization: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tuserKeyvaultAdmin, err := authorization.NewAssignment(ctx, \"user_keyvault_admin\", \u0026authorization.AssignmentArgs{\n\t\t\tScope:              exampleKeyVault.ID(),\n\t\t\tRoleDefinitionName: pulumi.String(\"Key Vault Administrator\"),\n\t\t\tPrincipalId:        pulumi.String(current.ObjectId),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAssignment, err := authorization.NewAssignment(ctx, \"example\", \u0026authorization.AssignmentArgs{\n\t\t\tScope:              exampleKeyVault.ID(),\n\t\t\tRoleDefinitionName: pulumi.String(\"Key Vault Secrets User\"),\n\t\t\tPrincipalId: pulumi.String(exampleEnvironment.Identity.ApplyT(func(identity containerapp.EnvironmentIdentity) (*string, error) {\n\t\t\t\treturn \u0026identity.PrincipalId, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFilebase64, err := std.Filebase64(ctx, \u0026std.Filebase64Args{\n\t\t\tInput: \"path/to/certificate_file.pfx\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleCertificate, err := keyvault.NewCertificate(ctx, \"example\", \u0026keyvault.CertificateArgs{\n\t\t\tName:       pulumi.String(\"example-certificate\"),\n\t\t\tKeyVaultId: exampleKeyVault.ID(),\n\t\t\tCertificate: \u0026keyvault.CertificateCertificateArgs{\n\t\t\t\tContents: pulumi.String(invokeFilebase64.Result),\n\t\t\t\tPassword: pulumi.String(\"\"),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tuserKeyvaultAdmin,\n\t\t\texampleAssignment,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = containerapp.NewEnvironmentCertificate(ctx, \"example\", \u0026containerapp.EnvironmentCertificateArgs{\n\t\t\tName:                      pulumi.String(\"example-certificate\"),\n\t\t\tContainerAppEnvironmentId: exampleEnvironment.ID(),\n\t\t\tCertificateKeyVault: \u0026containerapp.EnvironmentCertificateCertificateKeyVaultArgs{\n\t\t\t\tIdentity:         exampleUserAssignedIdentity.ID(),\n\t\t\t\tKeyVaultSecretId: exampleCertificate.VersionlessSecretId,\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleAssignment,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.operationalinsights.AnalyticsWorkspace;\nimport com.pulumi.azure.operationalinsights.AnalyticsWorkspaceArgs;\nimport com.pulumi.azure.authorization.UserAssignedIdentity;\nimport com.pulumi.azure.authorization.UserAssignedIdentityArgs;\nimport com.pulumi.azure.containerapp.Environment;\nimport com.pulumi.azure.containerapp.EnvironmentArgs;\nimport com.pulumi.azure.containerapp.inputs.EnvironmentIdentityArgs;\nimport com.pulumi.azure.keyvault.KeyVault;\nimport com.pulumi.azure.keyvault.KeyVaultArgs;\nimport com.pulumi.azure.authorization.Assignment;\nimport com.pulumi.azure.authorization.AssignmentArgs;\nimport com.pulumi.azure.keyvault.Certificate;\nimport com.pulumi.azure.keyvault.CertificateArgs;\nimport com.pulumi.azure.keyvault.inputs.CertificateCertificateArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.Filebase64Args;\nimport com.pulumi.azure.containerapp.EnvironmentCertificate;\nimport com.pulumi.azure.containerapp.EnvironmentCertificateArgs;\nimport com.pulumi.azure.containerapp.inputs.EnvironmentCertificateCertificateKeyVaultArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var current = CoreFunctions.getClientConfig(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleAnalyticsWorkspace = new AnalyticsWorkspace(\"exampleAnalyticsWorkspace\", AnalyticsWorkspaceArgs.builder()\n            .name(\"example-workspace\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .sku(\"PerGB2018\")\n            .retentionInDays(30)\n            .build());\n\n        var exampleUserAssignedIdentity = new UserAssignedIdentity(\"exampleUserAssignedIdentity\", UserAssignedIdentityArgs.builder()\n            .name(\"example-identity\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .build());\n\n        var exampleEnvironment = new Environment(\"exampleEnvironment\", EnvironmentArgs.builder()\n            .name(\"example-environment\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .logAnalyticsWorkspaceId(exampleAnalyticsWorkspace.id())\n            .identity(EnvironmentIdentityArgs.builder()\n                .type(\"UserAssigned\")\n                .identityIds(exampleUserAssignedIdentity.id())\n                .build())\n            .build());\n\n        var exampleKeyVault = new KeyVault(\"exampleKeyVault\", KeyVaultArgs.builder()\n            .name(\"example-keyvault\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .tenantId(current.tenantId())\n            .skuName(\"standard\")\n            .enableRbacAuthorization(true)\n            .build());\n\n        var userKeyvaultAdmin = new Assignment(\"userKeyvaultAdmin\", AssignmentArgs.builder()\n            .scope(exampleKeyVault.id())\n            .roleDefinitionName(\"Key Vault Administrator\")\n            .principalId(current.objectId())\n            .build());\n\n        var exampleAssignment = new Assignment(\"exampleAssignment\", AssignmentArgs.builder()\n            .scope(exampleKeyVault.id())\n            .roleDefinitionName(\"Key Vault Secrets User\")\n            .principalId(exampleEnvironment.identity().applyValue(_identity -\u003e _identity.principalId()))\n            .build());\n\n        var exampleCertificate = new Certificate(\"exampleCertificate\", CertificateArgs.builder()\n            .name(\"example-certificate\")\n            .keyVaultId(exampleKeyVault.id())\n            .certificate(CertificateCertificateArgs.builder()\n                .contents(StdFunctions.filebase64(Filebase64Args.builder()\n                    .input(\"path/to/certificate_file.pfx\")\n                    .build()).result())\n                .password(\"\")\n                .build())\n            .build(), CustomResourceOptions.builder()\n                .dependsOn(                \n                    userKeyvaultAdmin,\n                    exampleAssignment)\n                .build());\n\n        var exampleEnvironmentCertificate = new EnvironmentCertificate(\"exampleEnvironmentCertificate\", EnvironmentCertificateArgs.builder()\n            .name(\"example-certificate\")\n            .containerAppEnvironmentId(exampleEnvironment.id())\n            .certificateKeyVault(EnvironmentCertificateCertificateKeyVaultArgs.builder()\n                .identity(exampleUserAssignedIdentity.id())\n                .keyVaultSecretId(exampleCertificate.versionlessSecretId())\n                .build())\n            .build(), CustomResourceOptions.builder()\n                .dependsOn(exampleAssignment)\n                .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleAnalyticsWorkspace:\n    type: azure:operationalinsights:AnalyticsWorkspace\n    name: example\n    properties:\n      name: example-workspace\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      sku: PerGB2018\n      retentionInDays: 30\n  exampleUserAssignedIdentity:\n    type: azure:authorization:UserAssignedIdentity\n    name: example\n    properties:\n      name: example-identity\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n  exampleEnvironment:\n    type: azure:containerapp:Environment\n    name: example\n    properties:\n      name: example-environment\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      logAnalyticsWorkspaceId: ${exampleAnalyticsWorkspace.id}\n      identity:\n        type: UserAssigned\n        identityIds:\n          - ${exampleUserAssignedIdentity.id}\n  exampleKeyVault:\n    type: azure:keyvault:KeyVault\n    name: example\n    properties:\n      name: example-keyvault\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      tenantId: ${current.tenantId}\n      skuName: standard\n      enableRbacAuthorization: true\n  userKeyvaultAdmin:\n    type: azure:authorization:Assignment\n    name: user_keyvault_admin\n    properties:\n      scope: ${exampleKeyVault.id}\n      roleDefinitionName: Key Vault Administrator\n      principalId: ${current.objectId}\n  exampleAssignment:\n    type: azure:authorization:Assignment\n    name: example\n    properties:\n      scope: ${exampleKeyVault.id}\n      roleDefinitionName: Key Vault Secrets User\n      principalId: ${exampleEnvironment.identity.principalId}\n  exampleCertificate:\n    type: azure:keyvault:Certificate\n    name: example\n    properties:\n      name: example-certificate\n      keyVaultId: ${exampleKeyVault.id}\n      certificate:\n        contents:\n          fn::invoke:\n            function: std:filebase64\n            arguments:\n              input: path/to/certificate_file.pfx\n            return: result\n        password: \"\"\n    options:\n      dependsOn:\n        - ${userKeyvaultAdmin}\n        - ${exampleAssignment}\n  exampleEnvironmentCertificate:\n    type: azure:containerapp:EnvironmentCertificate\n    name: example\n    properties:\n      name: example-certificate\n      containerAppEnvironmentId: ${exampleEnvironment.id}\n      certificateKeyVault:\n        identity: ${exampleUserAssignedIdentity.id}\n        keyVaultSecretId: ${exampleCertificate.versionlessSecretId}\n    options:\n      dependsOn:\n        - ${exampleAssignment}\nvariables:\n  current:\n    fn::invoke:\n      function: azure:core:getClientConfig\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.App` - 2025-07-01\n\n## Import\n\nA Container App Environment Certificate can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:containerapp/environmentCertificate:EnvironmentCertificate example \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resGroup1/providers/Microsoft.App/managedEnvironments/myenv/certificates/mycertificate\"\n```\n\n","properties":{"certificateBlobBase64":{"type":"string","description":"The Certificate Private Key as a base64 encoded PFX or PEM. Changing this forces a new resource to be created.\n\n\u003e **Note:** One of \u003cspan pulumi-lang-nodejs=\"`certificateBlobBase64`\" pulumi-lang-dotnet=\"`CertificateBlobBase64`\" pulumi-lang-go=\"`certificateBlobBase64`\" pulumi-lang-python=\"`certificate_blob_base64`\" pulumi-lang-yaml=\"`certificateBlobBase64`\" pulumi-lang-java=\"`certificateBlobBase64`\"\u003e`certificate_blob_base64`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`certificateKeyVault`\" pulumi-lang-dotnet=\"`CertificateKeyVault`\" pulumi-lang-go=\"`certificateKeyVault`\" pulumi-lang-python=\"`certificate_key_vault`\" pulumi-lang-yaml=\"`certificateKeyVault`\" pulumi-lang-java=\"`certificateKeyVault`\"\u003e`certificate_key_vault`\u003c/span\u003e must be set.\n"},"certificateKeyVault":{"$ref":"#/types/azure:containerapp/EnvironmentCertificateCertificateKeyVault:EnvironmentCertificateCertificateKeyVault","description":"A \u003cspan pulumi-lang-nodejs=\"`certificateKeyVault`\" pulumi-lang-dotnet=\"`CertificateKeyVault`\" pulumi-lang-go=\"`certificateKeyVault`\" pulumi-lang-python=\"`certificate_key_vault`\" pulumi-lang-yaml=\"`certificateKeyVault`\" pulumi-lang-java=\"`certificateKeyVault`\"\u003e`certificate_key_vault`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n\n\u003e **Note:** one of \u003cspan pulumi-lang-nodejs=\"`certificateBlobBase64`\" pulumi-lang-dotnet=\"`CertificateBlobBase64`\" pulumi-lang-go=\"`certificateBlobBase64`\" pulumi-lang-python=\"`certificate_blob_base64`\" pulumi-lang-yaml=\"`certificateBlobBase64`\" pulumi-lang-java=\"`certificateBlobBase64`\"\u003e`certificate_blob_base64`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`certificateKeyVault`\" pulumi-lang-dotnet=\"`CertificateKeyVault`\" pulumi-lang-go=\"`certificateKeyVault`\" pulumi-lang-python=\"`certificate_key_vault`\" pulumi-lang-yaml=\"`certificateKeyVault`\" pulumi-lang-java=\"`certificateKeyVault`\"\u003e`certificate_key_vault`\u003c/span\u003e must be set.\n"},"certificatePassword":{"type":"string","description":"The password for the Certificate. Changing this forces a new resource to be created.\n\n\u003e **Note:** required if \u003cspan pulumi-lang-nodejs=\"`certificateBlobBase64`\" pulumi-lang-dotnet=\"`CertificateBlobBase64`\" pulumi-lang-go=\"`certificateBlobBase64`\" pulumi-lang-python=\"`certificate_blob_base64`\" pulumi-lang-yaml=\"`certificateBlobBase64`\" pulumi-lang-java=\"`certificateBlobBase64`\"\u003e`certificate_blob_base64`\u003c/span\u003e is specified.\n","secret":true},"containerAppEnvironmentId":{"type":"string","description":"The Container App Managed Environment ID to configure this Certificate on. Changing this forces a new resource to be created.\n"},"expirationDate":{"type":"string","description":"The expiration date for the Certificate.\n"},"issueDate":{"type":"string","description":"The date of issue for the Certificate.\n"},"issuer":{"type":"string","description":"The Certificate Issuer.\n"},"name":{"type":"string","description":"The name of the Container Apps Environment Certificate. Changing this forces a new resource to be created.\n"},"subjectName":{"type":"string","description":"The Subject Name for the Certificate.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"thumbprint":{"type":"string","description":"The Thumbprint of the Certificate.\n"}},"required":["containerAppEnvironmentId","expirationDate","issueDate","issuer","name","subjectName","thumbprint"],"inputProperties":{"certificateBlobBase64":{"type":"string","description":"The Certificate Private Key as a base64 encoded PFX or PEM. Changing this forces a new resource to be created.\n\n\u003e **Note:** One of \u003cspan pulumi-lang-nodejs=\"`certificateBlobBase64`\" pulumi-lang-dotnet=\"`CertificateBlobBase64`\" pulumi-lang-go=\"`certificateBlobBase64`\" pulumi-lang-python=\"`certificate_blob_base64`\" pulumi-lang-yaml=\"`certificateBlobBase64`\" pulumi-lang-java=\"`certificateBlobBase64`\"\u003e`certificate_blob_base64`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`certificateKeyVault`\" pulumi-lang-dotnet=\"`CertificateKeyVault`\" pulumi-lang-go=\"`certificateKeyVault`\" pulumi-lang-python=\"`certificate_key_vault`\" pulumi-lang-yaml=\"`certificateKeyVault`\" pulumi-lang-java=\"`certificateKeyVault`\"\u003e`certificate_key_vault`\u003c/span\u003e must be set.\n","willReplaceOnChanges":true},"certificateKeyVault":{"$ref":"#/types/azure:containerapp/EnvironmentCertificateCertificateKeyVault:EnvironmentCertificateCertificateKeyVault","description":"A \u003cspan pulumi-lang-nodejs=\"`certificateKeyVault`\" pulumi-lang-dotnet=\"`CertificateKeyVault`\" pulumi-lang-go=\"`certificateKeyVault`\" pulumi-lang-python=\"`certificate_key_vault`\" pulumi-lang-yaml=\"`certificateKeyVault`\" pulumi-lang-java=\"`certificateKeyVault`\"\u003e`certificate_key_vault`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n\n\u003e **Note:** one of \u003cspan pulumi-lang-nodejs=\"`certificateBlobBase64`\" pulumi-lang-dotnet=\"`CertificateBlobBase64`\" pulumi-lang-go=\"`certificateBlobBase64`\" pulumi-lang-python=\"`certificate_blob_base64`\" pulumi-lang-yaml=\"`certificateBlobBase64`\" pulumi-lang-java=\"`certificateBlobBase64`\"\u003e`certificate_blob_base64`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`certificateKeyVault`\" pulumi-lang-dotnet=\"`CertificateKeyVault`\" pulumi-lang-go=\"`certificateKeyVault`\" pulumi-lang-python=\"`certificate_key_vault`\" pulumi-lang-yaml=\"`certificateKeyVault`\" pulumi-lang-java=\"`certificateKeyVault`\"\u003e`certificate_key_vault`\u003c/span\u003e must be set.\n","willReplaceOnChanges":true},"certificatePassword":{"type":"string","description":"The password for the Certificate. Changing this forces a new resource to be created.\n\n\u003e **Note:** required if \u003cspan pulumi-lang-nodejs=\"`certificateBlobBase64`\" pulumi-lang-dotnet=\"`CertificateBlobBase64`\" pulumi-lang-go=\"`certificateBlobBase64`\" pulumi-lang-python=\"`certificate_blob_base64`\" pulumi-lang-yaml=\"`certificateBlobBase64`\" pulumi-lang-java=\"`certificateBlobBase64`\"\u003e`certificate_blob_base64`\u003c/span\u003e is specified.\n","secret":true,"willReplaceOnChanges":true},"containerAppEnvironmentId":{"type":"string","description":"The Container App Managed Environment ID to configure this Certificate on. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the Container Apps Environment Certificate. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"requiredInputs":["containerAppEnvironmentId"],"stateInputs":{"description":"Input properties used for looking up and filtering EnvironmentCertificate resources.\n","properties":{"certificateBlobBase64":{"type":"string","description":"The Certificate Private Key as a base64 encoded PFX or PEM. Changing this forces a new resource to be created.\n\n\u003e **Note:** One of \u003cspan pulumi-lang-nodejs=\"`certificateBlobBase64`\" pulumi-lang-dotnet=\"`CertificateBlobBase64`\" pulumi-lang-go=\"`certificateBlobBase64`\" pulumi-lang-python=\"`certificate_blob_base64`\" pulumi-lang-yaml=\"`certificateBlobBase64`\" pulumi-lang-java=\"`certificateBlobBase64`\"\u003e`certificate_blob_base64`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`certificateKeyVault`\" pulumi-lang-dotnet=\"`CertificateKeyVault`\" pulumi-lang-go=\"`certificateKeyVault`\" pulumi-lang-python=\"`certificate_key_vault`\" pulumi-lang-yaml=\"`certificateKeyVault`\" pulumi-lang-java=\"`certificateKeyVault`\"\u003e`certificate_key_vault`\u003c/span\u003e must be set.\n","willReplaceOnChanges":true},"certificateKeyVault":{"$ref":"#/types/azure:containerapp/EnvironmentCertificateCertificateKeyVault:EnvironmentCertificateCertificateKeyVault","description":"A \u003cspan pulumi-lang-nodejs=\"`certificateKeyVault`\" pulumi-lang-dotnet=\"`CertificateKeyVault`\" pulumi-lang-go=\"`certificateKeyVault`\" pulumi-lang-python=\"`certificate_key_vault`\" pulumi-lang-yaml=\"`certificateKeyVault`\" pulumi-lang-java=\"`certificateKeyVault`\"\u003e`certificate_key_vault`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n\n\u003e **Note:** one of \u003cspan pulumi-lang-nodejs=\"`certificateBlobBase64`\" pulumi-lang-dotnet=\"`CertificateBlobBase64`\" pulumi-lang-go=\"`certificateBlobBase64`\" pulumi-lang-python=\"`certificate_blob_base64`\" pulumi-lang-yaml=\"`certificateBlobBase64`\" pulumi-lang-java=\"`certificateBlobBase64`\"\u003e`certificate_blob_base64`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`certificateKeyVault`\" pulumi-lang-dotnet=\"`CertificateKeyVault`\" pulumi-lang-go=\"`certificateKeyVault`\" pulumi-lang-python=\"`certificate_key_vault`\" pulumi-lang-yaml=\"`certificateKeyVault`\" pulumi-lang-java=\"`certificateKeyVault`\"\u003e`certificate_key_vault`\u003c/span\u003e must be set.\n","willReplaceOnChanges":true},"certificatePassword":{"type":"string","description":"The password for the Certificate. Changing this forces a new resource to be created.\n\n\u003e **Note:** required if \u003cspan pulumi-lang-nodejs=\"`certificateBlobBase64`\" pulumi-lang-dotnet=\"`CertificateBlobBase64`\" pulumi-lang-go=\"`certificateBlobBase64`\" pulumi-lang-python=\"`certificate_blob_base64`\" pulumi-lang-yaml=\"`certificateBlobBase64`\" pulumi-lang-java=\"`certificateBlobBase64`\"\u003e`certificate_blob_base64`\u003c/span\u003e is specified.\n","secret":true,"willReplaceOnChanges":true},"containerAppEnvironmentId":{"type":"string","description":"The Container App Managed Environment ID to configure this Certificate on. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"expirationDate":{"type":"string","description":"The expiration date for the Certificate.\n"},"issueDate":{"type":"string","description":"The date of issue for the Certificate.\n"},"issuer":{"type":"string","description":"The Certificate Issuer.\n"},"name":{"type":"string","description":"The name of the Container Apps Environment Certificate. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"subjectName":{"type":"string","description":"The Subject Name for the Certificate.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"thumbprint":{"type":"string","description":"The Thumbprint of the Certificate.\n"}},"type":"object"}},"azure:containerapp/environmentCustomDomain:EnvironmentCustomDomain":{"description":"Manages a Container App Environment Custom Domain Suffix.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\nimport * as std from \"@pulumi/std\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleAnalyticsWorkspace = new azure.operationalinsights.AnalyticsWorkspace(\"example\", {\n    name: \"acctest-01\",\n    location: example.location,\n    resourceGroupName: example.name,\n    sku: \"PerGB2018\",\n    retentionInDays: 30,\n});\nconst exampleEnvironment = new azure.containerapp.Environment(\"example\", {\n    name: \"my-environment\",\n    location: example.location,\n    resourceGroupName: example.name,\n    logAnalyticsWorkspaceId: exampleAnalyticsWorkspace.id,\n});\nconst exampleEnvironmentCustomDomain = new azure.containerapp.EnvironmentCustomDomain(\"example\", {\n    containerAppEnvironmentId: exampleEnvironment.id,\n    certificateBlobBase64: std.filebase64({\n        input: \"testacc.pfx\",\n    }).then(invoke =\u003e invoke.result),\n    certificatePassword: \"TestAcc\",\n    dnsSuffix: \"acceptancetest.contoso.com\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\nimport pulumi_std as std\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_analytics_workspace = azure.operationalinsights.AnalyticsWorkspace(\"example\",\n    name=\"acctest-01\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku=\"PerGB2018\",\n    retention_in_days=30)\nexample_environment = azure.containerapp.Environment(\"example\",\n    name=\"my-environment\",\n    location=example.location,\n    resource_group_name=example.name,\n    log_analytics_workspace_id=example_analytics_workspace.id)\nexample_environment_custom_domain = azure.containerapp.EnvironmentCustomDomain(\"example\",\n    container_app_environment_id=example_environment.id,\n    certificate_blob_base64=std.filebase64(input=\"testacc.pfx\").result,\n    certificate_password=\"TestAcc\",\n    dns_suffix=\"acceptancetest.contoso.com\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleAnalyticsWorkspace = new Azure.OperationalInsights.AnalyticsWorkspace(\"example\", new()\n    {\n        Name = \"acctest-01\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Sku = \"PerGB2018\",\n        RetentionInDays = 30,\n    });\n\n    var exampleEnvironment = new Azure.ContainerApp.Environment(\"example\", new()\n    {\n        Name = \"my-environment\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        LogAnalyticsWorkspaceId = exampleAnalyticsWorkspace.Id,\n    });\n\n    var exampleEnvironmentCustomDomain = new Azure.ContainerApp.EnvironmentCustomDomain(\"example\", new()\n    {\n        ContainerAppEnvironmentId = exampleEnvironment.Id,\n        CertificateBlobBase64 = Std.Filebase64.Invoke(new()\n        {\n            Input = \"testacc.pfx\",\n        }).Apply(invoke =\u003e invoke.Result),\n        CertificatePassword = \"TestAcc\",\n        DnsSuffix = \"acceptancetest.contoso.com\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/containerapp\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/operationalinsights\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAnalyticsWorkspace, err := operationalinsights.NewAnalyticsWorkspace(ctx, \"example\", \u0026operationalinsights.AnalyticsWorkspaceArgs{\n\t\t\tName:              pulumi.String(\"acctest-01\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSku:               pulumi.String(\"PerGB2018\"),\n\t\t\tRetentionInDays:   pulumi.Int(30),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleEnvironment, err := containerapp.NewEnvironment(ctx, \"example\", \u0026containerapp.EnvironmentArgs{\n\t\t\tName:                    pulumi.String(\"my-environment\"),\n\t\t\tLocation:                example.Location,\n\t\t\tResourceGroupName:       example.Name,\n\t\t\tLogAnalyticsWorkspaceId: exampleAnalyticsWorkspace.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFilebase64, err := std.Filebase64(ctx, \u0026std.Filebase64Args{\n\t\t\tInput: \"testacc.pfx\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = containerapp.NewEnvironmentCustomDomain(ctx, \"example\", \u0026containerapp.EnvironmentCustomDomainArgs{\n\t\t\tContainerAppEnvironmentId: exampleEnvironment.ID(),\n\t\t\tCertificateBlobBase64:     pulumi.String(invokeFilebase64.Result),\n\t\t\tCertificatePassword:       pulumi.String(\"TestAcc\"),\n\t\t\tDnsSuffix:                 pulumi.String(\"acceptancetest.contoso.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.operationalinsights.AnalyticsWorkspace;\nimport com.pulumi.azure.operationalinsights.AnalyticsWorkspaceArgs;\nimport com.pulumi.azure.containerapp.Environment;\nimport com.pulumi.azure.containerapp.EnvironmentArgs;\nimport com.pulumi.azure.containerapp.EnvironmentCustomDomain;\nimport com.pulumi.azure.containerapp.EnvironmentCustomDomainArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.Filebase64Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleAnalyticsWorkspace = new AnalyticsWorkspace(\"exampleAnalyticsWorkspace\", AnalyticsWorkspaceArgs.builder()\n            .name(\"acctest-01\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .sku(\"PerGB2018\")\n            .retentionInDays(30)\n            .build());\n\n        var exampleEnvironment = new Environment(\"exampleEnvironment\", EnvironmentArgs.builder()\n            .name(\"my-environment\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .logAnalyticsWorkspaceId(exampleAnalyticsWorkspace.id())\n            .build());\n\n        var exampleEnvironmentCustomDomain = new EnvironmentCustomDomain(\"exampleEnvironmentCustomDomain\", EnvironmentCustomDomainArgs.builder()\n            .containerAppEnvironmentId(exampleEnvironment.id())\n            .certificateBlobBase64(StdFunctions.filebase64(Filebase64Args.builder()\n                .input(\"testacc.pfx\")\n                .build()).result())\n            .certificatePassword(\"TestAcc\")\n            .dnsSuffix(\"acceptancetest.contoso.com\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleAnalyticsWorkspace:\n    type: azure:operationalinsights:AnalyticsWorkspace\n    name: example\n    properties:\n      name: acctest-01\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      sku: PerGB2018\n      retentionInDays: 30\n  exampleEnvironment:\n    type: azure:containerapp:Environment\n    name: example\n    properties:\n      name: my-environment\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      logAnalyticsWorkspaceId: ${exampleAnalyticsWorkspace.id}\n  exampleEnvironmentCustomDomain:\n    type: azure:containerapp:EnvironmentCustomDomain\n    name: example\n    properties:\n      containerAppEnvironmentId: ${exampleEnvironment.id}\n      certificateBlobBase64:\n        fn::invoke:\n          function: std:filebase64\n          arguments:\n            input: testacc.pfx\n          return: result\n      certificatePassword: TestAcc\n      dnsSuffix: acceptancetest.contoso.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.App` - 2025-07-01\n\n* `Microsoft.OperationalInsights` - 2020-08-01\n\n## Import\n\nA Container App Environment Custom Domain Suffix can be imported using the `resource id` of its parent container App Environment, e.g.\n\n```sh\n$ pulumi import azure:containerapp/environmentCustomDomain:EnvironmentCustomDomain example \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resGroup1/providers/Microsoft.App/managedEnvironments/myEnvironment\"\n```\n\n","properties":{"certificateBlobBase64":{"type":"string","description":"The bundle of Private Key and Certificate for the Custom DNS Suffix as a base64 encoded PFX or PEM.\n"},"certificatePassword":{"type":"string","description":"The password for the Certificate bundle.\n","secret":true},"containerAppEnvironmentId":{"type":"string","description":"The ID of the Container Apps Managed Environment. Changing this forces a new resource to be created.\n"},"dnsSuffix":{"type":"string","description":"Custom DNS Suffix for the Container App Environment.\n"}},"required":["certificateBlobBase64","certificatePassword","containerAppEnvironmentId","dnsSuffix"],"inputProperties":{"certificateBlobBase64":{"type":"string","description":"The bundle of Private Key and Certificate for the Custom DNS Suffix as a base64 encoded PFX or PEM.\n"},"certificatePassword":{"type":"string","description":"The password for the Certificate bundle.\n","secret":true},"containerAppEnvironmentId":{"type":"string","description":"The ID of the Container Apps Managed Environment. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"dnsSuffix":{"type":"string","description":"Custom DNS Suffix for the Container App Environment.\n"}},"requiredInputs":["certificateBlobBase64","certificatePassword","containerAppEnvironmentId","dnsSuffix"],"stateInputs":{"description":"Input properties used for looking up and filtering EnvironmentCustomDomain resources.\n","properties":{"certificateBlobBase64":{"type":"string","description":"The bundle of Private Key and Certificate for the Custom DNS Suffix as a base64 encoded PFX or PEM.\n"},"certificatePassword":{"type":"string","description":"The password for the Certificate bundle.\n","secret":true},"containerAppEnvironmentId":{"type":"string","description":"The ID of the Container Apps Managed Environment. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"dnsSuffix":{"type":"string","description":"Custom DNS Suffix for the Container App Environment.\n"}},"type":"object"}},"azure:containerapp/environmentDaprComponent:EnvironmentDaprComponent":{"description":"Manages a Dapr Component for a Container App Environment.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleAnalyticsWorkspace = new azure.operationalinsights.AnalyticsWorkspace(\"example\", {\n    name: \"acctest-01\",\n    location: example.location,\n    resourceGroupName: example.name,\n    sku: \"PerGB2018\",\n    retentionInDays: 30,\n});\nconst exampleEnvironment = new azure.containerapp.Environment(\"example\", {\n    name: \"Example-Environment\",\n    location: example.location,\n    resourceGroupName: example.name,\n    logAnalyticsWorkspaceId: exampleAnalyticsWorkspace.id,\n});\nconst exampleEnvironmentDaprComponent = new azure.containerapp.EnvironmentDaprComponent(\"example\", {\n    name: \"example-component\",\n    containerAppEnvironmentId: exampleEnvironment.id,\n    componentType: \"state.azure.blobstorage\",\n    version: \"v1\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_analytics_workspace = azure.operationalinsights.AnalyticsWorkspace(\"example\",\n    name=\"acctest-01\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku=\"PerGB2018\",\n    retention_in_days=30)\nexample_environment = azure.containerapp.Environment(\"example\",\n    name=\"Example-Environment\",\n    location=example.location,\n    resource_group_name=example.name,\n    log_analytics_workspace_id=example_analytics_workspace.id)\nexample_environment_dapr_component = azure.containerapp.EnvironmentDaprComponent(\"example\",\n    name=\"example-component\",\n    container_app_environment_id=example_environment.id,\n    component_type=\"state.azure.blobstorage\",\n    version=\"v1\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleAnalyticsWorkspace = new Azure.OperationalInsights.AnalyticsWorkspace(\"example\", new()\n    {\n        Name = \"acctest-01\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Sku = \"PerGB2018\",\n        RetentionInDays = 30,\n    });\n\n    var exampleEnvironment = new Azure.ContainerApp.Environment(\"example\", new()\n    {\n        Name = \"Example-Environment\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        LogAnalyticsWorkspaceId = exampleAnalyticsWorkspace.Id,\n    });\n\n    var exampleEnvironmentDaprComponent = new Azure.ContainerApp.EnvironmentDaprComponent(\"example\", new()\n    {\n        Name = \"example-component\",\n        ContainerAppEnvironmentId = exampleEnvironment.Id,\n        ComponentType = \"state.azure.blobstorage\",\n        Version = \"v1\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/containerapp\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/operationalinsights\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAnalyticsWorkspace, err := operationalinsights.NewAnalyticsWorkspace(ctx, \"example\", \u0026operationalinsights.AnalyticsWorkspaceArgs{\n\t\t\tName:              pulumi.String(\"acctest-01\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSku:               pulumi.String(\"PerGB2018\"),\n\t\t\tRetentionInDays:   pulumi.Int(30),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleEnvironment, err := containerapp.NewEnvironment(ctx, \"example\", \u0026containerapp.EnvironmentArgs{\n\t\t\tName:                    pulumi.String(\"Example-Environment\"),\n\t\t\tLocation:                example.Location,\n\t\t\tResourceGroupName:       example.Name,\n\t\t\tLogAnalyticsWorkspaceId: exampleAnalyticsWorkspace.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = containerapp.NewEnvironmentDaprComponent(ctx, \"example\", \u0026containerapp.EnvironmentDaprComponentArgs{\n\t\t\tName:                      pulumi.String(\"example-component\"),\n\t\t\tContainerAppEnvironmentId: exampleEnvironment.ID(),\n\t\t\tComponentType:             pulumi.String(\"state.azure.blobstorage\"),\n\t\t\tVersion:                   pulumi.String(\"v1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.operationalinsights.AnalyticsWorkspace;\nimport com.pulumi.azure.operationalinsights.AnalyticsWorkspaceArgs;\nimport com.pulumi.azure.containerapp.Environment;\nimport com.pulumi.azure.containerapp.EnvironmentArgs;\nimport com.pulumi.azure.containerapp.EnvironmentDaprComponent;\nimport com.pulumi.azure.containerapp.EnvironmentDaprComponentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleAnalyticsWorkspace = new AnalyticsWorkspace(\"exampleAnalyticsWorkspace\", AnalyticsWorkspaceArgs.builder()\n            .name(\"acctest-01\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .sku(\"PerGB2018\")\n            .retentionInDays(30)\n            .build());\n\n        var exampleEnvironment = new Environment(\"exampleEnvironment\", EnvironmentArgs.builder()\n            .name(\"Example-Environment\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .logAnalyticsWorkspaceId(exampleAnalyticsWorkspace.id())\n            .build());\n\n        var exampleEnvironmentDaprComponent = new EnvironmentDaprComponent(\"exampleEnvironmentDaprComponent\", EnvironmentDaprComponentArgs.builder()\n            .name(\"example-component\")\n            .containerAppEnvironmentId(exampleEnvironment.id())\n            .componentType(\"state.azure.blobstorage\")\n            .version(\"v1\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleAnalyticsWorkspace:\n    type: azure:operationalinsights:AnalyticsWorkspace\n    name: example\n    properties:\n      name: acctest-01\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      sku: PerGB2018\n      retentionInDays: 30\n  exampleEnvironment:\n    type: azure:containerapp:Environment\n    name: example\n    properties:\n      name: Example-Environment\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      logAnalyticsWorkspaceId: ${exampleAnalyticsWorkspace.id}\n  exampleEnvironmentDaprComponent:\n    type: azure:containerapp:EnvironmentDaprComponent\n    name: example\n    properties:\n      name: example-component\n      containerAppEnvironmentId: ${exampleEnvironment.id}\n      componentType: state.azure.blobstorage\n      version: v1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.App` - 2025-07-01\n\n## Import\n\nA Dapr Component for a Container App Environment can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:containerapp/environmentDaprComponent:EnvironmentDaprComponent example \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resGroup1/providers/Microsoft.App/managedEnvironments/myenv/daprComponents/mydaprcomponent\"\n```\n\n","properties":{"componentType":{"type":"string","description":"The Dapr Component Type. For example `state.azure.blobstorage`. Changing this forces a new resource to be created.\n"},"containerAppEnvironmentId":{"type":"string","description":"The ID of the Container App Managed Environment for this Dapr Component. Changing this forces a new resource to be created.\n"},"ignoreErrors":{"type":"boolean","description":"Should the Dapr sidecar to continue initialisation if the component fails to load. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e\n"},"initTimeout":{"type":"string","description":"The timeout for component initialisation as a `ISO8601` formatted string. e.g. \u003cspan pulumi-lang-nodejs=\"`5s`\" pulumi-lang-dotnet=\"`5s`\" pulumi-lang-go=\"`5s`\" pulumi-lang-python=\"`5s`\" pulumi-lang-yaml=\"`5s`\" pulumi-lang-java=\"`5s`\"\u003e`5s`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`2h`\" pulumi-lang-dotnet=\"`2h`\" pulumi-lang-go=\"`2h`\" pulumi-lang-python=\"`2h`\" pulumi-lang-yaml=\"`2h`\" pulumi-lang-java=\"`2h`\"\u003e`2h`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`1m`\" pulumi-lang-dotnet=\"`1m`\" pulumi-lang-go=\"`1m`\" pulumi-lang-python=\"`1m`\" pulumi-lang-yaml=\"`1m`\" pulumi-lang-java=\"`1m`\"\u003e`1m`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`5s`\" pulumi-lang-dotnet=\"`5s`\" pulumi-lang-go=\"`5s`\" pulumi-lang-python=\"`5s`\" pulumi-lang-yaml=\"`5s`\" pulumi-lang-java=\"`5s`\"\u003e`5s`\u003c/span\u003e.\n"},"metadatas":{"type":"array","items":{"$ref":"#/types/azure:containerapp/EnvironmentDaprComponentMetadata:EnvironmentDaprComponentMetadata"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`metadata`\" pulumi-lang-dotnet=\"`Metadata`\" pulumi-lang-go=\"`metadata`\" pulumi-lang-python=\"`metadata`\" pulumi-lang-yaml=\"`metadata`\" pulumi-lang-java=\"`metadata`\"\u003e`metadata`\u003c/span\u003e blocks as detailed below.\n"},"name":{"type":"string","description":"The name for this Dapr component. Changing this forces a new resource to be created.\n"},"scopes":{"type":"array","items":{"type":"string"},"description":"A list of scopes to which this component applies.\n\n\u003e **Note:** See the official docs for more information at https://learn.microsoft.com/en-us/azure/container-apps/dapr-overview?tabs=bicep1%2Cyaml#component-scopes\n"},"secrets":{"type":"array","items":{"$ref":"#/types/azure:containerapp/EnvironmentDaprComponentSecret:EnvironmentDaprComponentSecret"},"description":"A \u003cspan pulumi-lang-nodejs=\"`secret`\" pulumi-lang-dotnet=\"`Secret`\" pulumi-lang-go=\"`secret`\" pulumi-lang-python=\"`secret`\" pulumi-lang-yaml=\"`secret`\" pulumi-lang-java=\"`secret`\"\u003e`secret`\u003c/span\u003e block as detailed below.\n","secret":true},"version":{"type":"string","description":"The version of the component.\n"}},"required":["componentType","containerAppEnvironmentId","name","version"],"inputProperties":{"componentType":{"type":"string","description":"The Dapr Component Type. For example `state.azure.blobstorage`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"containerAppEnvironmentId":{"type":"string","description":"The ID of the Container App Managed Environment for this Dapr Component. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"ignoreErrors":{"type":"boolean","description":"Should the Dapr sidecar to continue initialisation if the component fails to load. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e\n"},"initTimeout":{"type":"string","description":"The timeout for component initialisation as a `ISO8601` formatted string. e.g. \u003cspan pulumi-lang-nodejs=\"`5s`\" pulumi-lang-dotnet=\"`5s`\" pulumi-lang-go=\"`5s`\" pulumi-lang-python=\"`5s`\" pulumi-lang-yaml=\"`5s`\" pulumi-lang-java=\"`5s`\"\u003e`5s`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`2h`\" pulumi-lang-dotnet=\"`2h`\" pulumi-lang-go=\"`2h`\" pulumi-lang-python=\"`2h`\" pulumi-lang-yaml=\"`2h`\" pulumi-lang-java=\"`2h`\"\u003e`2h`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`1m`\" pulumi-lang-dotnet=\"`1m`\" pulumi-lang-go=\"`1m`\" pulumi-lang-python=\"`1m`\" pulumi-lang-yaml=\"`1m`\" pulumi-lang-java=\"`1m`\"\u003e`1m`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`5s`\" pulumi-lang-dotnet=\"`5s`\" pulumi-lang-go=\"`5s`\" pulumi-lang-python=\"`5s`\" pulumi-lang-yaml=\"`5s`\" pulumi-lang-java=\"`5s`\"\u003e`5s`\u003c/span\u003e.\n"},"metadatas":{"type":"array","items":{"$ref":"#/types/azure:containerapp/EnvironmentDaprComponentMetadata:EnvironmentDaprComponentMetadata"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`metadata`\" pulumi-lang-dotnet=\"`Metadata`\" pulumi-lang-go=\"`metadata`\" pulumi-lang-python=\"`metadata`\" pulumi-lang-yaml=\"`metadata`\" pulumi-lang-java=\"`metadata`\"\u003e`metadata`\u003c/span\u003e blocks as detailed below.\n"},"name":{"type":"string","description":"The name for this Dapr component. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"scopes":{"type":"array","items":{"type":"string"},"description":"A list of scopes to which this component applies.\n\n\u003e **Note:** See the official docs for more information at https://learn.microsoft.com/en-us/azure/container-apps/dapr-overview?tabs=bicep1%2Cyaml#component-scopes\n"},"secrets":{"type":"array","items":{"$ref":"#/types/azure:containerapp/EnvironmentDaprComponentSecret:EnvironmentDaprComponentSecret"},"description":"A \u003cspan pulumi-lang-nodejs=\"`secret`\" pulumi-lang-dotnet=\"`Secret`\" pulumi-lang-go=\"`secret`\" pulumi-lang-python=\"`secret`\" pulumi-lang-yaml=\"`secret`\" pulumi-lang-java=\"`secret`\"\u003e`secret`\u003c/span\u003e block as detailed below.\n","secret":true},"version":{"type":"string","description":"The version of the component.\n"}},"requiredInputs":["componentType","containerAppEnvironmentId","version"],"stateInputs":{"description":"Input properties used for looking up and filtering EnvironmentDaprComponent resources.\n","properties":{"componentType":{"type":"string","description":"The Dapr Component Type. For example `state.azure.blobstorage`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"containerAppEnvironmentId":{"type":"string","description":"The ID of the Container App Managed Environment for this Dapr Component. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"ignoreErrors":{"type":"boolean","description":"Should the Dapr sidecar to continue initialisation if the component fails to load. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e\n"},"initTimeout":{"type":"string","description":"The timeout for component initialisation as a `ISO8601` formatted string. e.g. \u003cspan pulumi-lang-nodejs=\"`5s`\" pulumi-lang-dotnet=\"`5s`\" pulumi-lang-go=\"`5s`\" pulumi-lang-python=\"`5s`\" pulumi-lang-yaml=\"`5s`\" pulumi-lang-java=\"`5s`\"\u003e`5s`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`2h`\" pulumi-lang-dotnet=\"`2h`\" pulumi-lang-go=\"`2h`\" pulumi-lang-python=\"`2h`\" pulumi-lang-yaml=\"`2h`\" pulumi-lang-java=\"`2h`\"\u003e`2h`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`1m`\" pulumi-lang-dotnet=\"`1m`\" pulumi-lang-go=\"`1m`\" pulumi-lang-python=\"`1m`\" pulumi-lang-yaml=\"`1m`\" pulumi-lang-java=\"`1m`\"\u003e`1m`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`5s`\" pulumi-lang-dotnet=\"`5s`\" pulumi-lang-go=\"`5s`\" pulumi-lang-python=\"`5s`\" pulumi-lang-yaml=\"`5s`\" pulumi-lang-java=\"`5s`\"\u003e`5s`\u003c/span\u003e.\n"},"metadatas":{"type":"array","items":{"$ref":"#/types/azure:containerapp/EnvironmentDaprComponentMetadata:EnvironmentDaprComponentMetadata"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`metadata`\" pulumi-lang-dotnet=\"`Metadata`\" pulumi-lang-go=\"`metadata`\" pulumi-lang-python=\"`metadata`\" pulumi-lang-yaml=\"`metadata`\" pulumi-lang-java=\"`metadata`\"\u003e`metadata`\u003c/span\u003e blocks as detailed below.\n"},"name":{"type":"string","description":"The name for this Dapr component. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"scopes":{"type":"array","items":{"type":"string"},"description":"A list of scopes to which this component applies.\n\n\u003e **Note:** See the official docs for more information at https://learn.microsoft.com/en-us/azure/container-apps/dapr-overview?tabs=bicep1%2Cyaml#component-scopes\n"},"secrets":{"type":"array","items":{"$ref":"#/types/azure:containerapp/EnvironmentDaprComponentSecret:EnvironmentDaprComponentSecret"},"description":"A \u003cspan pulumi-lang-nodejs=\"`secret`\" pulumi-lang-dotnet=\"`Secret`\" pulumi-lang-go=\"`secret`\" pulumi-lang-python=\"`secret`\" pulumi-lang-yaml=\"`secret`\" pulumi-lang-java=\"`secret`\"\u003e`secret`\u003c/span\u003e block as detailed below.\n","secret":true},"version":{"type":"string","description":"The version of the component.\n"}},"type":"object"}},"azure:containerapp/environmentStorage:EnvironmentStorage":{"description":"Manages a Container App Environment Storage.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleAnalyticsWorkspace = new azure.operationalinsights.AnalyticsWorkspace(\"example\", {\n    name: \"acctest-01\",\n    location: example.location,\n    resourceGroupName: example.name,\n    sku: \"PerGB2018\",\n    retentionInDays: 30,\n});\nconst exampleEnvironment = new azure.containerapp.Environment(\"example\", {\n    name: \"myEnvironment\",\n    location: example.location,\n    resourceGroupName: example.name,\n    logAnalyticsWorkspaceId: exampleAnalyticsWorkspace.id,\n});\nconst exampleAccount = new azure.storage.Account(\"example\", {\n    name: \"azureteststorage\",\n    resourceGroupName: example.name,\n    location: example.location,\n    accountTier: \"Standard\",\n    accountReplicationType: \"LRS\",\n});\nconst exampleShare = new azure.storage.Share(\"example\", {\n    name: \"sharename\",\n    storageAccountName: exampleAccount.name,\n    quota: 5,\n});\nconst exampleEnvironmentStorage = new azure.containerapp.EnvironmentStorage(\"example\", {\n    name: \"mycontainerappstorage\",\n    containerAppEnvironmentId: exampleEnvironment.id,\n    accountName: exampleAccount.name,\n    shareName: exampleShare.name,\n    accessKey: exampleAccount.primaryAccessKey,\n    accessMode: \"ReadOnly\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_analytics_workspace = azure.operationalinsights.AnalyticsWorkspace(\"example\",\n    name=\"acctest-01\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku=\"PerGB2018\",\n    retention_in_days=30)\nexample_environment = azure.containerapp.Environment(\"example\",\n    name=\"myEnvironment\",\n    location=example.location,\n    resource_group_name=example.name,\n    log_analytics_workspace_id=example_analytics_workspace.id)\nexample_account = azure.storage.Account(\"example\",\n    name=\"azureteststorage\",\n    resource_group_name=example.name,\n    location=example.location,\n    account_tier=\"Standard\",\n    account_replication_type=\"LRS\")\nexample_share = azure.storage.Share(\"example\",\n    name=\"sharename\",\n    storage_account_name=example_account.name,\n    quota=5)\nexample_environment_storage = azure.containerapp.EnvironmentStorage(\"example\",\n    name=\"mycontainerappstorage\",\n    container_app_environment_id=example_environment.id,\n    account_name=example_account.name,\n    share_name=example_share.name,\n    access_key=example_account.primary_access_key,\n    access_mode=\"ReadOnly\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleAnalyticsWorkspace = new Azure.OperationalInsights.AnalyticsWorkspace(\"example\", new()\n    {\n        Name = \"acctest-01\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Sku = \"PerGB2018\",\n        RetentionInDays = 30,\n    });\n\n    var exampleEnvironment = new Azure.ContainerApp.Environment(\"example\", new()\n    {\n        Name = \"myEnvironment\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        LogAnalyticsWorkspaceId = exampleAnalyticsWorkspace.Id,\n    });\n\n    var exampleAccount = new Azure.Storage.Account(\"example\", new()\n    {\n        Name = \"azureteststorage\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        AccountTier = \"Standard\",\n        AccountReplicationType = \"LRS\",\n    });\n\n    var exampleShare = new Azure.Storage.Share(\"example\", new()\n    {\n        Name = \"sharename\",\n        StorageAccountName = exampleAccount.Name,\n        Quota = 5,\n    });\n\n    var exampleEnvironmentStorage = new Azure.ContainerApp.EnvironmentStorage(\"example\", new()\n    {\n        Name = \"mycontainerappstorage\",\n        ContainerAppEnvironmentId = exampleEnvironment.Id,\n        AccountName = exampleAccount.Name,\n        ShareName = exampleShare.Name,\n        AccessKey = exampleAccount.PrimaryAccessKey,\n        AccessMode = \"ReadOnly\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/containerapp\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/operationalinsights\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAnalyticsWorkspace, err := operationalinsights.NewAnalyticsWorkspace(ctx, \"example\", \u0026operationalinsights.AnalyticsWorkspaceArgs{\n\t\t\tName:              pulumi.String(\"acctest-01\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSku:               pulumi.String(\"PerGB2018\"),\n\t\t\tRetentionInDays:   pulumi.Int(30),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleEnvironment, err := containerapp.NewEnvironment(ctx, \"example\", \u0026containerapp.EnvironmentArgs{\n\t\t\tName:                    pulumi.String(\"myEnvironment\"),\n\t\t\tLocation:                example.Location,\n\t\t\tResourceGroupName:       example.Name,\n\t\t\tLogAnalyticsWorkspaceId: exampleAnalyticsWorkspace.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := storage.NewAccount(ctx, \"example\", \u0026storage.AccountArgs{\n\t\t\tName:                   pulumi.String(\"azureteststorage\"),\n\t\t\tResourceGroupName:      example.Name,\n\t\t\tLocation:               example.Location,\n\t\t\tAccountTier:            pulumi.String(\"Standard\"),\n\t\t\tAccountReplicationType: pulumi.String(\"LRS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleShare, err := storage.NewShare(ctx, \"example\", \u0026storage.ShareArgs{\n\t\t\tName:               pulumi.String(\"sharename\"),\n\t\t\tStorageAccountName: exampleAccount.Name,\n\t\t\tQuota:              pulumi.Int(5),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = containerapp.NewEnvironmentStorage(ctx, \"example\", \u0026containerapp.EnvironmentStorageArgs{\n\t\t\tName:                      pulumi.String(\"mycontainerappstorage\"),\n\t\t\tContainerAppEnvironmentId: exampleEnvironment.ID(),\n\t\t\tAccountName:               exampleAccount.Name,\n\t\t\tShareName:                 exampleShare.Name,\n\t\t\tAccessKey:                 exampleAccount.PrimaryAccessKey,\n\t\t\tAccessMode:                pulumi.String(\"ReadOnly\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.operationalinsights.AnalyticsWorkspace;\nimport com.pulumi.azure.operationalinsights.AnalyticsWorkspaceArgs;\nimport com.pulumi.azure.containerapp.Environment;\nimport com.pulumi.azure.containerapp.EnvironmentArgs;\nimport com.pulumi.azure.storage.Account;\nimport com.pulumi.azure.storage.AccountArgs;\nimport com.pulumi.azure.storage.Share;\nimport com.pulumi.azure.storage.ShareArgs;\nimport com.pulumi.azure.containerapp.EnvironmentStorage;\nimport com.pulumi.azure.containerapp.EnvironmentStorageArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleAnalyticsWorkspace = new AnalyticsWorkspace(\"exampleAnalyticsWorkspace\", AnalyticsWorkspaceArgs.builder()\n            .name(\"acctest-01\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .sku(\"PerGB2018\")\n            .retentionInDays(30)\n            .build());\n\n        var exampleEnvironment = new Environment(\"exampleEnvironment\", EnvironmentArgs.builder()\n            .name(\"myEnvironment\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .logAnalyticsWorkspaceId(exampleAnalyticsWorkspace.id())\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"azureteststorage\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .accountTier(\"Standard\")\n            .accountReplicationType(\"LRS\")\n            .build());\n\n        var exampleShare = new Share(\"exampleShare\", ShareArgs.builder()\n            .name(\"sharename\")\n            .storageAccountName(exampleAccount.name())\n            .quota(5)\n            .build());\n\n        var exampleEnvironmentStorage = new EnvironmentStorage(\"exampleEnvironmentStorage\", EnvironmentStorageArgs.builder()\n            .name(\"mycontainerappstorage\")\n            .containerAppEnvironmentId(exampleEnvironment.id())\n            .accountName(exampleAccount.name())\n            .shareName(exampleShare.name())\n            .accessKey(exampleAccount.primaryAccessKey())\n            .accessMode(\"ReadOnly\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleAnalyticsWorkspace:\n    type: azure:operationalinsights:AnalyticsWorkspace\n    name: example\n    properties:\n      name: acctest-01\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      sku: PerGB2018\n      retentionInDays: 30\n  exampleEnvironment:\n    type: azure:containerapp:Environment\n    name: example\n    properties:\n      name: myEnvironment\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      logAnalyticsWorkspaceId: ${exampleAnalyticsWorkspace.id}\n  exampleAccount:\n    type: azure:storage:Account\n    name: example\n    properties:\n      name: azureteststorage\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      accountTier: Standard\n      accountReplicationType: LRS\n  exampleShare:\n    type: azure:storage:Share\n    name: example\n    properties:\n      name: sharename\n      storageAccountName: ${exampleAccount.name}\n      quota: 5\n  exampleEnvironmentStorage:\n    type: azure:containerapp:EnvironmentStorage\n    name: example\n    properties:\n      name: mycontainerappstorage\n      containerAppEnvironmentId: ${exampleEnvironment.id}\n      accountName: ${exampleAccount.name}\n      shareName: ${exampleShare.name}\n      accessKey: ${exampleAccount.primaryAccessKey}\n      accessMode: ReadOnly\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.App` - 2025-07-01\n\n## Import\n\nA Container App Environment Storage can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:containerapp/environmentStorage:EnvironmentStorage example \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resGroup1/providers/Microsoft.App/managedEnvironments/myEnvironment/storages/mystorage\"\n```\n\n","properties":{"accessKey":{"type":"string","description":"The Storage Account Access Key.\n","secret":true},"accessMode":{"type":"string","description":"The access mode to connect this storage to the Container App. Possible values include `ReadOnly` and `ReadWrite`. Changing this forces a new resource to be created.\n"},"accountName":{"type":"string","description":"The Azure Storage Account in which the Share to be used is located. Changing this forces a new resource to be created.\n"},"containerAppEnvironmentId":{"type":"string","description":"The ID of the Container App Environment to which this storage belongs. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"The name for this Container App Environment Storage. Changing this forces a new resource to be created.\n"},"nfsServerUrl":{"type":"string","description":"The NFS server to use for the Azure File Share, the format will be `yourstorageaccountname.file.core.windows.net`. Changing this forces a new resource to be created.\n"},"shareName":{"type":"string","description":"The name of the Azure Storage Share to use. Changing this forces a new resource to be created.\n"}},"required":["accessMode","containerAppEnvironmentId","name","shareName"],"inputProperties":{"accessKey":{"type":"string","description":"The Storage Account Access Key.\n","secret":true},"accessMode":{"type":"string","description":"The access mode to connect this storage to the Container App. Possible values include `ReadOnly` and `ReadWrite`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"accountName":{"type":"string","description":"The Azure Storage Account in which the Share to be used is located. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"containerAppEnvironmentId":{"type":"string","description":"The ID of the Container App Environment to which this storage belongs. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name for this Container App Environment Storage. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"nfsServerUrl":{"type":"string","description":"The NFS server to use for the Azure File Share, the format will be `yourstorageaccountname.file.core.windows.net`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"shareName":{"type":"string","description":"The name of the Azure Storage Share to use. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["accessMode","containerAppEnvironmentId","shareName"],"stateInputs":{"description":"Input properties used for looking up and filtering EnvironmentStorage resources.\n","properties":{"accessKey":{"type":"string","description":"The Storage Account Access Key.\n","secret":true},"accessMode":{"type":"string","description":"The access mode to connect this storage to the Container App. Possible values include `ReadOnly` and `ReadWrite`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"accountName":{"type":"string","description":"The Azure Storage Account in which the Share to be used is located. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"containerAppEnvironmentId":{"type":"string","description":"The ID of the Container App Environment to which this storage belongs. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name for this Container App Environment Storage. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"nfsServerUrl":{"type":"string","description":"The NFS server to use for the Azure File Share, the format will be `yourstorageaccountname.file.core.windows.net`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"shareName":{"type":"string","description":"The name of the Azure Storage Share to use. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:containerapp/job:Job":{"description":"Manages a Container App Job.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleAnalyticsWorkspace = new azure.operationalinsights.AnalyticsWorkspace(\"example\", {\n    name: \"example-log-analytics-workspace\",\n    location: example.location,\n    resourceGroupName: example.name,\n    sku: \"PerGB2018\",\n    retentionInDays: 30,\n});\nconst exampleEnvironment = new azure.containerapp.Environment(\"example\", {\n    name: \"example-container-app-environment\",\n    location: example.location,\n    resourceGroupName: example.name,\n    logAnalyticsWorkspaceId: exampleAnalyticsWorkspace.id,\n});\nconst exampleJob = new azure.containerapp.Job(\"example\", {\n    name: \"example-container-app-job\",\n    location: example.location,\n    resourceGroupName: example.name,\n    containerAppEnvironmentId: exampleEnvironment.id,\n    replicaTimeoutInSeconds: 10,\n    replicaRetryLimit: 10,\n    manualTriggerConfig: {\n        parallelism: 4,\n        replicaCompletionCount: 1,\n    },\n    template: {\n        containers: [{\n            image: \"repo/testcontainerAppsJob0:v1\",\n            name: \"testcontainerappsjob0\",\n            readinessProbes: [{\n                transport: \"HTTP\",\n                port: 5000,\n            }],\n            livenessProbes: [{\n                transport: \"HTTP\",\n                port: 5000,\n                path: \"/health\",\n                headers: [{\n                    name: \"Cache-Control\",\n                    value: \"no-cache\",\n                }],\n                initialDelay: 5,\n                intervalSeconds: 20,\n                timeout: 2,\n                failureCountThreshold: 1,\n            }],\n            startupProbes: [{\n                transport: \"TCP\",\n                port: 5000,\n            }],\n            cpu: 0.5,\n            memory: \"1Gi\",\n        }],\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_analytics_workspace = azure.operationalinsights.AnalyticsWorkspace(\"example\",\n    name=\"example-log-analytics-workspace\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku=\"PerGB2018\",\n    retention_in_days=30)\nexample_environment = azure.containerapp.Environment(\"example\",\n    name=\"example-container-app-environment\",\n    location=example.location,\n    resource_group_name=example.name,\n    log_analytics_workspace_id=example_analytics_workspace.id)\nexample_job = azure.containerapp.Job(\"example\",\n    name=\"example-container-app-job\",\n    location=example.location,\n    resource_group_name=example.name,\n    container_app_environment_id=example_environment.id,\n    replica_timeout_in_seconds=10,\n    replica_retry_limit=10,\n    manual_trigger_config={\n        \"parallelism\": 4,\n        \"replica_completion_count\": 1,\n    },\n    template={\n        \"containers\": [{\n            \"image\": \"repo/testcontainerAppsJob0:v1\",\n            \"name\": \"testcontainerappsjob0\",\n            \"readiness_probes\": [{\n                \"transport\": \"HTTP\",\n                \"port\": 5000,\n            }],\n            \"liveness_probes\": [{\n                \"transport\": \"HTTP\",\n                \"port\": 5000,\n                \"path\": \"/health\",\n                \"headers\": [{\n                    \"name\": \"Cache-Control\",\n                    \"value\": \"no-cache\",\n                }],\n                \"initial_delay\": 5,\n                \"interval_seconds\": 20,\n                \"timeout\": 2,\n                \"failure_count_threshold\": 1,\n            }],\n            \"startup_probes\": [{\n                \"transport\": \"TCP\",\n                \"port\": 5000,\n            }],\n            \"cpu\": 0.5,\n            \"memory\": \"1Gi\",\n        }],\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleAnalyticsWorkspace = new Azure.OperationalInsights.AnalyticsWorkspace(\"example\", new()\n    {\n        Name = \"example-log-analytics-workspace\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Sku = \"PerGB2018\",\n        RetentionInDays = 30,\n    });\n\n    var exampleEnvironment = new Azure.ContainerApp.Environment(\"example\", new()\n    {\n        Name = \"example-container-app-environment\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        LogAnalyticsWorkspaceId = exampleAnalyticsWorkspace.Id,\n    });\n\n    var exampleJob = new Azure.ContainerApp.Job(\"example\", new()\n    {\n        Name = \"example-container-app-job\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        ContainerAppEnvironmentId = exampleEnvironment.Id,\n        ReplicaTimeoutInSeconds = 10,\n        ReplicaRetryLimit = 10,\n        ManualTriggerConfig = new Azure.ContainerApp.Inputs.JobManualTriggerConfigArgs\n        {\n            Parallelism = 4,\n            ReplicaCompletionCount = 1,\n        },\n        Template = new Azure.ContainerApp.Inputs.JobTemplateArgs\n        {\n            Containers = new[]\n            {\n                new Azure.ContainerApp.Inputs.JobTemplateContainerArgs\n                {\n                    Image = \"repo/testcontainerAppsJob0:v1\",\n                    Name = \"testcontainerappsjob0\",\n                    ReadinessProbes = new[]\n                    {\n                        new Azure.ContainerApp.Inputs.JobTemplateContainerReadinessProbeArgs\n                        {\n                            Transport = \"HTTP\",\n                            Port = 5000,\n                        },\n                    },\n                    LivenessProbes = new[]\n                    {\n                        new Azure.ContainerApp.Inputs.JobTemplateContainerLivenessProbeArgs\n                        {\n                            Transport = \"HTTP\",\n                            Port = 5000,\n                            Path = \"/health\",\n                            Headers = new[]\n                            {\n                                new Azure.ContainerApp.Inputs.JobTemplateContainerLivenessProbeHeaderArgs\n                                {\n                                    Name = \"Cache-Control\",\n                                    Value = \"no-cache\",\n                                },\n                            },\n                            InitialDelay = 5,\n                            IntervalSeconds = 20,\n                            Timeout = 2,\n                            FailureCountThreshold = 1,\n                        },\n                    },\n                    StartupProbes = new[]\n                    {\n                        new Azure.ContainerApp.Inputs.JobTemplateContainerStartupProbeArgs\n                        {\n                            Transport = \"TCP\",\n                            Port = 5000,\n                        },\n                    },\n                    Cpu = 0.5,\n                    Memory = \"1Gi\",\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/containerapp\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/operationalinsights\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAnalyticsWorkspace, err := operationalinsights.NewAnalyticsWorkspace(ctx, \"example\", \u0026operationalinsights.AnalyticsWorkspaceArgs{\n\t\t\tName:              pulumi.String(\"example-log-analytics-workspace\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSku:               pulumi.String(\"PerGB2018\"),\n\t\t\tRetentionInDays:   pulumi.Int(30),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleEnvironment, err := containerapp.NewEnvironment(ctx, \"example\", \u0026containerapp.EnvironmentArgs{\n\t\t\tName:                    pulumi.String(\"example-container-app-environment\"),\n\t\t\tLocation:                example.Location,\n\t\t\tResourceGroupName:       example.Name,\n\t\t\tLogAnalyticsWorkspaceId: exampleAnalyticsWorkspace.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = containerapp.NewJob(ctx, \"example\", \u0026containerapp.JobArgs{\n\t\t\tName:                      pulumi.String(\"example-container-app-job\"),\n\t\t\tLocation:                  example.Location,\n\t\t\tResourceGroupName:         example.Name,\n\t\t\tContainerAppEnvironmentId: exampleEnvironment.ID(),\n\t\t\tReplicaTimeoutInSeconds:   pulumi.Int(10),\n\t\t\tReplicaRetryLimit:         pulumi.Int(10),\n\t\t\tManualTriggerConfig: \u0026containerapp.JobManualTriggerConfigArgs{\n\t\t\t\tParallelism:            pulumi.Int(4),\n\t\t\t\tReplicaCompletionCount: pulumi.Int(1),\n\t\t\t},\n\t\t\tTemplate: \u0026containerapp.JobTemplateArgs{\n\t\t\t\tContainers: containerapp.JobTemplateContainerArray{\n\t\t\t\t\t\u0026containerapp.JobTemplateContainerArgs{\n\t\t\t\t\t\tImage: pulumi.String(\"repo/testcontainerAppsJob0:v1\"),\n\t\t\t\t\t\tName:  pulumi.String(\"testcontainerappsjob0\"),\n\t\t\t\t\t\tReadinessProbes: containerapp.JobTemplateContainerReadinessProbeArray{\n\t\t\t\t\t\t\t\u0026containerapp.JobTemplateContainerReadinessProbeArgs{\n\t\t\t\t\t\t\t\tTransport: pulumi.String(\"HTTP\"),\n\t\t\t\t\t\t\t\tPort:      pulumi.Int(5000),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tLivenessProbes: containerapp.JobTemplateContainerLivenessProbeArray{\n\t\t\t\t\t\t\t\u0026containerapp.JobTemplateContainerLivenessProbeArgs{\n\t\t\t\t\t\t\t\tTransport: pulumi.String(\"HTTP\"),\n\t\t\t\t\t\t\t\tPort:      pulumi.Int(5000),\n\t\t\t\t\t\t\t\tPath:      pulumi.String(\"/health\"),\n\t\t\t\t\t\t\t\tHeaders: containerapp.JobTemplateContainerLivenessProbeHeaderArray{\n\t\t\t\t\t\t\t\t\t\u0026containerapp.JobTemplateContainerLivenessProbeHeaderArgs{\n\t\t\t\t\t\t\t\t\t\tName:  pulumi.String(\"Cache-Control\"),\n\t\t\t\t\t\t\t\t\t\tValue: pulumi.String(\"no-cache\"),\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tInitialDelay:          pulumi.Int(5),\n\t\t\t\t\t\t\t\tIntervalSeconds:       pulumi.Int(20),\n\t\t\t\t\t\t\t\tTimeout:               pulumi.Int(2),\n\t\t\t\t\t\t\t\tFailureCountThreshold: pulumi.Int(1),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tStartupProbes: containerapp.JobTemplateContainerStartupProbeArray{\n\t\t\t\t\t\t\t\u0026containerapp.JobTemplateContainerStartupProbeArgs{\n\t\t\t\t\t\t\t\tTransport: pulumi.String(\"TCP\"),\n\t\t\t\t\t\t\t\tPort:      pulumi.Int(5000),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tCpu:    pulumi.Float64(0.5),\n\t\t\t\t\t\tMemory: pulumi.String(\"1Gi\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.operationalinsights.AnalyticsWorkspace;\nimport com.pulumi.azure.operationalinsights.AnalyticsWorkspaceArgs;\nimport com.pulumi.azure.containerapp.Environment;\nimport com.pulumi.azure.containerapp.EnvironmentArgs;\nimport com.pulumi.azure.containerapp.Job;\nimport com.pulumi.azure.containerapp.JobArgs;\nimport com.pulumi.azure.containerapp.inputs.JobManualTriggerConfigArgs;\nimport com.pulumi.azure.containerapp.inputs.JobTemplateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleAnalyticsWorkspace = new AnalyticsWorkspace(\"exampleAnalyticsWorkspace\", AnalyticsWorkspaceArgs.builder()\n            .name(\"example-log-analytics-workspace\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .sku(\"PerGB2018\")\n            .retentionInDays(30)\n            .build());\n\n        var exampleEnvironment = new Environment(\"exampleEnvironment\", EnvironmentArgs.builder()\n            .name(\"example-container-app-environment\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .logAnalyticsWorkspaceId(exampleAnalyticsWorkspace.id())\n            .build());\n\n        var exampleJob = new Job(\"exampleJob\", JobArgs.builder()\n            .name(\"example-container-app-job\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .containerAppEnvironmentId(exampleEnvironment.id())\n            .replicaTimeoutInSeconds(10)\n            .replicaRetryLimit(10)\n            .manualTriggerConfig(JobManualTriggerConfigArgs.builder()\n                .parallelism(4)\n                .replicaCompletionCount(1)\n                .build())\n            .template(JobTemplateArgs.builder()\n                .containers(JobTemplateContainerArgs.builder()\n                    .image(\"repo/testcontainerAppsJob0:v1\")\n                    .name(\"testcontainerappsjob0\")\n                    .readinessProbes(JobTemplateContainerReadinessProbeArgs.builder()\n                        .transport(\"HTTP\")\n                        .port(5000)\n                        .build())\n                    .livenessProbes(JobTemplateContainerLivenessProbeArgs.builder()\n                        .transport(\"HTTP\")\n                        .port(5000)\n                        .path(\"/health\")\n                        .headers(JobTemplateContainerLivenessProbeHeaderArgs.builder()\n                            .name(\"Cache-Control\")\n                            .value(\"no-cache\")\n                            .build())\n                        .initialDelay(5)\n                        .intervalSeconds(20)\n                        .timeout(2)\n                        .failureCountThreshold(1)\n                        .build())\n                    .startupProbes(JobTemplateContainerStartupProbeArgs.builder()\n                        .transport(\"TCP\")\n                        .port(5000)\n                        .build())\n                    .cpu(0.5)\n                    .memory(\"1Gi\")\n                    .build())\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleAnalyticsWorkspace:\n    type: azure:operationalinsights:AnalyticsWorkspace\n    name: example\n    properties:\n      name: example-log-analytics-workspace\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      sku: PerGB2018\n      retentionInDays: 30\n  exampleEnvironment:\n    type: azure:containerapp:Environment\n    name: example\n    properties:\n      name: example-container-app-environment\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      logAnalyticsWorkspaceId: ${exampleAnalyticsWorkspace.id}\n  exampleJob:\n    type: azure:containerapp:Job\n    name: example\n    properties:\n      name: example-container-app-job\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      containerAppEnvironmentId: ${exampleEnvironment.id}\n      replicaTimeoutInSeconds: 10\n      replicaRetryLimit: 10\n      manualTriggerConfig:\n        parallelism: 4\n        replicaCompletionCount: 1\n      template:\n        containers:\n          - image: repo/testcontainerAppsJob0:v1\n            name: testcontainerappsjob0\n            readinessProbes:\n              - transport: HTTP\n                port: 5000\n            livenessProbes:\n              - transport: HTTP\n                port: 5000\n                path: /health\n                headers:\n                  - name: Cache-Control\n                    value: no-cache\n                initialDelay: 5\n                intervalSeconds: 20\n                timeout: 2\n                failureCountThreshold: 1\n            startupProbes:\n              - transport: TCP\n                port: 5000\n            cpu: 0.5\n            memory: 1Gi\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.App` - 2025-07-01\n\n## Import\n\nA Container App Job can be imported using the resource id, e.g.\n\n```sh\n$ pulumi import azure:containerapp/job:Job example \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/example-resources/providers/Microsoft.App/jobs/example-container-app-job\"\n```\n\n","properties":{"containerAppEnvironmentId":{"type":"string","description":"The ID of the Container App Environment in which to create the Container App Job. Changing this forces a new resource to be created.\n"},"eventStreamEndpoint":{"type":"string","description":"The endpoint for the Container App Job event stream.\n"},"eventTriggerConfig":{"$ref":"#/types/azure:containerapp/JobEventTriggerConfig:JobEventTriggerConfig","description":"A \u003cspan pulumi-lang-nodejs=\"`eventTriggerConfig`\" pulumi-lang-dotnet=\"`EventTriggerConfig`\" pulumi-lang-go=\"`eventTriggerConfig`\" pulumi-lang-python=\"`event_trigger_config`\" pulumi-lang-yaml=\"`eventTriggerConfig`\" pulumi-lang-java=\"`eventTriggerConfig`\"\u003e`event_trigger_config`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n"},"identity":{"$ref":"#/types/azure:containerapp/JobIdentity:JobIdentity","description":"A \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n"},"manualTriggerConfig":{"$ref":"#/types/azure:containerapp/JobManualTriggerConfig:JobManualTriggerConfig","description":"A \u003cspan pulumi-lang-nodejs=\"`manualTriggerConfig`\" pulumi-lang-dotnet=\"`ManualTriggerConfig`\" pulumi-lang-go=\"`manualTriggerConfig`\" pulumi-lang-python=\"`manual_trigger_config`\" pulumi-lang-yaml=\"`manualTriggerConfig`\" pulumi-lang-java=\"`manualTriggerConfig`\"\u003e`manual_trigger_config`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"Specifies the name of the Container App Job resource. Changing this forces a new resource to be created.\n"},"outboundIpAddresses":{"type":"array","items":{"type":"string"},"description":"A list of the Public IP Addresses which the Container App uses for outbound network access.\n"},"registries":{"type":"array","items":{"$ref":"#/types/azure:containerapp/JobRegistry:JobRegistry"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`registry`\" pulumi-lang-dotnet=\"`Registry`\" pulumi-lang-go=\"`registry`\" pulumi-lang-python=\"`registry`\" pulumi-lang-yaml=\"`registry`\" pulumi-lang-java=\"`registry`\"\u003e`registry`\u003c/span\u003e blocks as defined below.\n"},"replicaRetryLimit":{"type":"integer","description":"The maximum number of times a replica is allowed to retry.\n"},"replicaTimeoutInSeconds":{"type":"integer","description":"The maximum number of seconds a replica is allowed to run.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the Container App Job. Changing this forces a new resource to be created.\n"},"scheduleTriggerConfig":{"$ref":"#/types/azure:containerapp/JobScheduleTriggerConfig:JobScheduleTriggerConfig","description":"A \u003cspan pulumi-lang-nodejs=\"`scheduleTriggerConfig`\" pulumi-lang-dotnet=\"`ScheduleTriggerConfig`\" pulumi-lang-go=\"`scheduleTriggerConfig`\" pulumi-lang-python=\"`schedule_trigger_config`\" pulumi-lang-yaml=\"`scheduleTriggerConfig`\" pulumi-lang-java=\"`scheduleTriggerConfig`\"\u003e`schedule_trigger_config`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n\n\u003e **Note:** Only one of \u003cspan pulumi-lang-nodejs=\"`manualTriggerConfig`\" pulumi-lang-dotnet=\"`ManualTriggerConfig`\" pulumi-lang-go=\"`manualTriggerConfig`\" pulumi-lang-python=\"`manual_trigger_config`\" pulumi-lang-yaml=\"`manualTriggerConfig`\" pulumi-lang-java=\"`manualTriggerConfig`\"\u003e`manual_trigger_config`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`eventTriggerConfig`\" pulumi-lang-dotnet=\"`EventTriggerConfig`\" pulumi-lang-go=\"`eventTriggerConfig`\" pulumi-lang-python=\"`event_trigger_config`\" pulumi-lang-yaml=\"`eventTriggerConfig`\" pulumi-lang-java=\"`eventTriggerConfig`\"\u003e`event_trigger_config`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`scheduleTriggerConfig`\" pulumi-lang-dotnet=\"`ScheduleTriggerConfig`\" pulumi-lang-go=\"`scheduleTriggerConfig`\" pulumi-lang-python=\"`schedule_trigger_config`\" pulumi-lang-yaml=\"`scheduleTriggerConfig`\" pulumi-lang-java=\"`scheduleTriggerConfig`\"\u003e`schedule_trigger_config`\u003c/span\u003e can be specified.\n"},"secrets":{"type":"array","items":{"$ref":"#/types/azure:containerapp/JobSecret:JobSecret"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`secret`\" pulumi-lang-dotnet=\"`Secret`\" pulumi-lang-go=\"`secret`\" pulumi-lang-python=\"`secret`\" pulumi-lang-yaml=\"`secret`\" pulumi-lang-java=\"`secret`\"\u003e`secret`\u003c/span\u003e blocks as defined below.\n","secret":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"template":{"$ref":"#/types/azure:containerapp/JobTemplate:JobTemplate","description":"A \u003cspan pulumi-lang-nodejs=\"`template`\" pulumi-lang-dotnet=\"`Template`\" pulumi-lang-go=\"`template`\" pulumi-lang-python=\"`template`\" pulumi-lang-yaml=\"`template`\" pulumi-lang-java=\"`template`\"\u003e`template`\u003c/span\u003e block as defined below.\n"},"workloadProfileName":{"type":"string","description":"The name of the workload profile to use for the Container App Job.\n"}},"required":["containerAppEnvironmentId","eventStreamEndpoint","location","name","outboundIpAddresses","replicaTimeoutInSeconds","resourceGroupName","template"],"inputProperties":{"containerAppEnvironmentId":{"type":"string","description":"The ID of the Container App Environment in which to create the Container App Job. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"eventTriggerConfig":{"$ref":"#/types/azure:containerapp/JobEventTriggerConfig:JobEventTriggerConfig","description":"A \u003cspan pulumi-lang-nodejs=\"`eventTriggerConfig`\" pulumi-lang-dotnet=\"`EventTriggerConfig`\" pulumi-lang-go=\"`eventTriggerConfig`\" pulumi-lang-python=\"`event_trigger_config`\" pulumi-lang-yaml=\"`eventTriggerConfig`\" pulumi-lang-java=\"`eventTriggerConfig`\"\u003e`event_trigger_config`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"identity":{"$ref":"#/types/azure:containerapp/JobIdentity:JobIdentity","description":"A \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"manualTriggerConfig":{"$ref":"#/types/azure:containerapp/JobManualTriggerConfig:JobManualTriggerConfig","description":"A \u003cspan pulumi-lang-nodejs=\"`manualTriggerConfig`\" pulumi-lang-dotnet=\"`ManualTriggerConfig`\" pulumi-lang-go=\"`manualTriggerConfig`\" pulumi-lang-python=\"`manual_trigger_config`\" pulumi-lang-yaml=\"`manualTriggerConfig`\" pulumi-lang-java=\"`manualTriggerConfig`\"\u003e`manual_trigger_config`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the Container App Job resource. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"registries":{"type":"array","items":{"$ref":"#/types/azure:containerapp/JobRegistry:JobRegistry"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`registry`\" pulumi-lang-dotnet=\"`Registry`\" pulumi-lang-go=\"`registry`\" pulumi-lang-python=\"`registry`\" pulumi-lang-yaml=\"`registry`\" pulumi-lang-java=\"`registry`\"\u003e`registry`\u003c/span\u003e blocks as defined below.\n"},"replicaRetryLimit":{"type":"integer","description":"The maximum number of times a replica is allowed to retry.\n"},"replicaTimeoutInSeconds":{"type":"integer","description":"The maximum number of seconds a replica is allowed to run.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the Container App Job. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"scheduleTriggerConfig":{"$ref":"#/types/azure:containerapp/JobScheduleTriggerConfig:JobScheduleTriggerConfig","description":"A \u003cspan pulumi-lang-nodejs=\"`scheduleTriggerConfig`\" pulumi-lang-dotnet=\"`ScheduleTriggerConfig`\" pulumi-lang-go=\"`scheduleTriggerConfig`\" pulumi-lang-python=\"`schedule_trigger_config`\" pulumi-lang-yaml=\"`scheduleTriggerConfig`\" pulumi-lang-java=\"`scheduleTriggerConfig`\"\u003e`schedule_trigger_config`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n\n\u003e **Note:** Only one of \u003cspan pulumi-lang-nodejs=\"`manualTriggerConfig`\" pulumi-lang-dotnet=\"`ManualTriggerConfig`\" pulumi-lang-go=\"`manualTriggerConfig`\" pulumi-lang-python=\"`manual_trigger_config`\" pulumi-lang-yaml=\"`manualTriggerConfig`\" pulumi-lang-java=\"`manualTriggerConfig`\"\u003e`manual_trigger_config`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`eventTriggerConfig`\" pulumi-lang-dotnet=\"`EventTriggerConfig`\" pulumi-lang-go=\"`eventTriggerConfig`\" pulumi-lang-python=\"`event_trigger_config`\" pulumi-lang-yaml=\"`eventTriggerConfig`\" pulumi-lang-java=\"`eventTriggerConfig`\"\u003e`event_trigger_config`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`scheduleTriggerConfig`\" pulumi-lang-dotnet=\"`ScheduleTriggerConfig`\" pulumi-lang-go=\"`scheduleTriggerConfig`\" pulumi-lang-python=\"`schedule_trigger_config`\" pulumi-lang-yaml=\"`scheduleTriggerConfig`\" pulumi-lang-java=\"`scheduleTriggerConfig`\"\u003e`schedule_trigger_config`\u003c/span\u003e can be specified.\n","willReplaceOnChanges":true},"secrets":{"type":"array","items":{"$ref":"#/types/azure:containerapp/JobSecret:JobSecret"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`secret`\" pulumi-lang-dotnet=\"`Secret`\" pulumi-lang-go=\"`secret`\" pulumi-lang-python=\"`secret`\" pulumi-lang-yaml=\"`secret`\" pulumi-lang-java=\"`secret`\"\u003e`secret`\u003c/span\u003e blocks as defined below.\n","secret":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"template":{"$ref":"#/types/azure:containerapp/JobTemplate:JobTemplate","description":"A \u003cspan pulumi-lang-nodejs=\"`template`\" pulumi-lang-dotnet=\"`Template`\" pulumi-lang-go=\"`template`\" pulumi-lang-python=\"`template`\" pulumi-lang-yaml=\"`template`\" pulumi-lang-java=\"`template`\"\u003e`template`\u003c/span\u003e block as defined below.\n"},"workloadProfileName":{"type":"string","description":"The name of the workload profile to use for the Container App Job.\n"}},"requiredInputs":["containerAppEnvironmentId","replicaTimeoutInSeconds","resourceGroupName","template"],"stateInputs":{"description":"Input properties used for looking up and filtering Job resources.\n","properties":{"containerAppEnvironmentId":{"type":"string","description":"The ID of the Container App Environment in which to create the Container App Job. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"eventStreamEndpoint":{"type":"string","description":"The endpoint for the Container App Job event stream.\n"},"eventTriggerConfig":{"$ref":"#/types/azure:containerapp/JobEventTriggerConfig:JobEventTriggerConfig","description":"A \u003cspan pulumi-lang-nodejs=\"`eventTriggerConfig`\" pulumi-lang-dotnet=\"`EventTriggerConfig`\" pulumi-lang-go=\"`eventTriggerConfig`\" pulumi-lang-python=\"`event_trigger_config`\" pulumi-lang-yaml=\"`eventTriggerConfig`\" pulumi-lang-java=\"`eventTriggerConfig`\"\u003e`event_trigger_config`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"identity":{"$ref":"#/types/azure:containerapp/JobIdentity:JobIdentity","description":"A \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"manualTriggerConfig":{"$ref":"#/types/azure:containerapp/JobManualTriggerConfig:JobManualTriggerConfig","description":"A \u003cspan pulumi-lang-nodejs=\"`manualTriggerConfig`\" pulumi-lang-dotnet=\"`ManualTriggerConfig`\" pulumi-lang-go=\"`manualTriggerConfig`\" pulumi-lang-python=\"`manual_trigger_config`\" pulumi-lang-yaml=\"`manualTriggerConfig`\" pulumi-lang-java=\"`manualTriggerConfig`\"\u003e`manual_trigger_config`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the Container App Job resource. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"outboundIpAddresses":{"type":"array","items":{"type":"string"},"description":"A list of the Public IP Addresses which the Container App uses for outbound network access.\n"},"registries":{"type":"array","items":{"$ref":"#/types/azure:containerapp/JobRegistry:JobRegistry"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`registry`\" pulumi-lang-dotnet=\"`Registry`\" pulumi-lang-go=\"`registry`\" pulumi-lang-python=\"`registry`\" pulumi-lang-yaml=\"`registry`\" pulumi-lang-java=\"`registry`\"\u003e`registry`\u003c/span\u003e blocks as defined below.\n"},"replicaRetryLimit":{"type":"integer","description":"The maximum number of times a replica is allowed to retry.\n"},"replicaTimeoutInSeconds":{"type":"integer","description":"The maximum number of seconds a replica is allowed to run.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the Container App Job. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"scheduleTriggerConfig":{"$ref":"#/types/azure:containerapp/JobScheduleTriggerConfig:JobScheduleTriggerConfig","description":"A \u003cspan pulumi-lang-nodejs=\"`scheduleTriggerConfig`\" pulumi-lang-dotnet=\"`ScheduleTriggerConfig`\" pulumi-lang-go=\"`scheduleTriggerConfig`\" pulumi-lang-python=\"`schedule_trigger_config`\" pulumi-lang-yaml=\"`scheduleTriggerConfig`\" pulumi-lang-java=\"`scheduleTriggerConfig`\"\u003e`schedule_trigger_config`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n\n\u003e **Note:** Only one of \u003cspan pulumi-lang-nodejs=\"`manualTriggerConfig`\" pulumi-lang-dotnet=\"`ManualTriggerConfig`\" pulumi-lang-go=\"`manualTriggerConfig`\" pulumi-lang-python=\"`manual_trigger_config`\" pulumi-lang-yaml=\"`manualTriggerConfig`\" pulumi-lang-java=\"`manualTriggerConfig`\"\u003e`manual_trigger_config`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`eventTriggerConfig`\" pulumi-lang-dotnet=\"`EventTriggerConfig`\" pulumi-lang-go=\"`eventTriggerConfig`\" pulumi-lang-python=\"`event_trigger_config`\" pulumi-lang-yaml=\"`eventTriggerConfig`\" pulumi-lang-java=\"`eventTriggerConfig`\"\u003e`event_trigger_config`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`scheduleTriggerConfig`\" pulumi-lang-dotnet=\"`ScheduleTriggerConfig`\" pulumi-lang-go=\"`scheduleTriggerConfig`\" pulumi-lang-python=\"`schedule_trigger_config`\" pulumi-lang-yaml=\"`scheduleTriggerConfig`\" pulumi-lang-java=\"`scheduleTriggerConfig`\"\u003e`schedule_trigger_config`\u003c/span\u003e can be specified.\n","willReplaceOnChanges":true},"secrets":{"type":"array","items":{"$ref":"#/types/azure:containerapp/JobSecret:JobSecret"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`secret`\" pulumi-lang-dotnet=\"`Secret`\" pulumi-lang-go=\"`secret`\" pulumi-lang-python=\"`secret`\" pulumi-lang-yaml=\"`secret`\" pulumi-lang-java=\"`secret`\"\u003e`secret`\u003c/span\u003e blocks as defined below.\n","secret":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"template":{"$ref":"#/types/azure:containerapp/JobTemplate:JobTemplate","description":"A \u003cspan pulumi-lang-nodejs=\"`template`\" pulumi-lang-dotnet=\"`Template`\" pulumi-lang-go=\"`template`\" pulumi-lang-python=\"`template`\" pulumi-lang-yaml=\"`template`\" pulumi-lang-java=\"`template`\"\u003e`template`\u003c/span\u003e block as defined below.\n"},"workloadProfileName":{"type":"string","description":"The name of the workload profile to use for the Container App Job.\n"}},"type":"object"}},"azure:containerservice/clusterTrustedAccessRoleBinding:ClusterTrustedAccessRoleBinding":{"description":"## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst example = new azure.appinsights.Insights(\"example\", {\n    name: \"example\",\n    location: exampleResourceGroup.location,\n    resourceGroupName: exampleResourceGroup.name,\n    applicationType: \"example-value\",\n});\nconst test = azure.core.getClientConfig({});\nconst exampleKeyVault = new azure.keyvault.KeyVault(\"example\", {\n    name: \"example\",\n    location: exampleResourceGroup.location,\n    resourceGroupName: exampleResourceGroup.name,\n    tenantId: exampleAzurermClientConfig.tenantId,\n    skuName: \"example-value\",\n    softDeleteRetentionDays: \"example-value\",\n});\nconst exampleAccessPolicy = new azure.keyvault.AccessPolicy(\"example\", {\n    keyVaultId: exampleKeyVault.id,\n    tenantId: exampleAzurermClientConfig.tenantId,\n    objectId: exampleAzurermClientConfig.objectId,\n    keyPermissions: \"example-value\",\n});\nconst exampleKubernetesCluster = new azure.containerservice.KubernetesCluster(\"example\", {\n    name: \"example\",\n    location: exampleResourceGroup.location,\n    resourceGroupName: exampleResourceGroup.name,\n    dnsPrefix: \"acctestaksexample\",\n    defaultNodePool: {\n        name: \"example-value\",\n        nodeCount: \"example-value\",\n        vmSize: \"example-value\",\n        upgradeSettings: {\n            maxSurge: \"example-value\",\n        },\n    },\n    identity: {\n        type: \"example-value\",\n    },\n});\nconst exampleAccount = new azure.storage.Account(\"example\", {\n    name: \"example\",\n    location: exampleResourceGroup.location,\n    resourceGroupName: exampleResourceGroup.name,\n    accountTier: \"example-value\",\n    accountReplicationType: \"example-value\",\n});\nconst exampleWorkspace = new azure.machinelearning.Workspace(\"example\", {\n    name: \"example\",\n    location: exampleResourceGroup.location,\n    resourceGroupName: exampleResourceGroup.name,\n    keyVaultId: exampleKeyVault.id,\n    storageAccountId: exampleAccount.id,\n    applicationInsightsId: example.id,\n    identity: {\n        type: \"example-value\",\n    },\n});\nconst exampleClusterTrustedAccessRoleBinding = new azure.containerservice.ClusterTrustedAccessRoleBinding(\"example\", {\n    kubernetesClusterId: exampleKubernetesCluster.id,\n    name: \"example\",\n    roles: \"example-value\",\n    sourceResourceId: exampleWorkspace.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample = azure.appinsights.Insights(\"example\",\n    name=\"example\",\n    location=example_resource_group.location,\n    resource_group_name=example_resource_group.name,\n    application_type=\"example-value\")\ntest = azure.core.get_client_config()\nexample_key_vault = azure.keyvault.KeyVault(\"example\",\n    name=\"example\",\n    location=example_resource_group.location,\n    resource_group_name=example_resource_group.name,\n    tenant_id=example_azurerm_client_config[\"tenantId\"],\n    sku_name=\"example-value\",\n    soft_delete_retention_days=\"example-value\")\nexample_access_policy = azure.keyvault.AccessPolicy(\"example\",\n    key_vault_id=example_key_vault.id,\n    tenant_id=example_azurerm_client_config[\"tenantId\"],\n    object_id=example_azurerm_client_config[\"objectId\"],\n    key_permissions=\"example-value\")\nexample_kubernetes_cluster = azure.containerservice.KubernetesCluster(\"example\",\n    name=\"example\",\n    location=example_resource_group.location,\n    resource_group_name=example_resource_group.name,\n    dns_prefix=\"acctestaksexample\",\n    default_node_pool={\n        \"name\": \"example-value\",\n        \"node_count\": \"example-value\",\n        \"vm_size\": \"example-value\",\n        \"upgrade_settings\": {\n            \"max_surge\": \"example-value\",\n        },\n    },\n    identity={\n        \"type\": \"example-value\",\n    })\nexample_account = azure.storage.Account(\"example\",\n    name=\"example\",\n    location=example_resource_group.location,\n    resource_group_name=example_resource_group.name,\n    account_tier=\"example-value\",\n    account_replication_type=\"example-value\")\nexample_workspace = azure.machinelearning.Workspace(\"example\",\n    name=\"example\",\n    location=example_resource_group.location,\n    resource_group_name=example_resource_group.name,\n    key_vault_id=example_key_vault.id,\n    storage_account_id=example_account.id,\n    application_insights_id=example.id,\n    identity={\n        \"type\": \"example-value\",\n    })\nexample_cluster_trusted_access_role_binding = azure.containerservice.ClusterTrustedAccessRoleBinding(\"example\",\n    kubernetes_cluster_id=example_kubernetes_cluster.id,\n    name=\"example\",\n    roles=\"example-value\",\n    source_resource_id=example_workspace.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleResourceGroup = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var example = new Azure.AppInsights.Insights(\"example\", new()\n    {\n        Name = \"example\",\n        Location = exampleResourceGroup.Location,\n        ResourceGroupName = exampleResourceGroup.Name,\n        ApplicationType = \"example-value\",\n    });\n\n    var test = Azure.Core.GetClientConfig.Invoke();\n\n    var exampleKeyVault = new Azure.KeyVault.KeyVault(\"example\", new()\n    {\n        Name = \"example\",\n        Location = exampleResourceGroup.Location,\n        ResourceGroupName = exampleResourceGroup.Name,\n        TenantId = exampleAzurermClientConfig.TenantId,\n        SkuName = \"example-value\",\n        SoftDeleteRetentionDays = \"example-value\",\n    });\n\n    var exampleAccessPolicy = new Azure.KeyVault.AccessPolicy(\"example\", new()\n    {\n        KeyVaultId = exampleKeyVault.Id,\n        TenantId = exampleAzurermClientConfig.TenantId,\n        ObjectId = exampleAzurermClientConfig.ObjectId,\n        KeyPermissions = \"example-value\",\n    });\n\n    var exampleKubernetesCluster = new Azure.ContainerService.KubernetesCluster(\"example\", new()\n    {\n        Name = \"example\",\n        Location = exampleResourceGroup.Location,\n        ResourceGroupName = exampleResourceGroup.Name,\n        DnsPrefix = \"acctestaksexample\",\n        DefaultNodePool = new Azure.ContainerService.Inputs.KubernetesClusterDefaultNodePoolArgs\n        {\n            Name = \"example-value\",\n            NodeCount = \"example-value\",\n            VmSize = \"example-value\",\n            UpgradeSettings = new Azure.ContainerService.Inputs.KubernetesClusterDefaultNodePoolUpgradeSettingsArgs\n            {\n                MaxSurge = \"example-value\",\n            },\n        },\n        Identity = new Azure.ContainerService.Inputs.KubernetesClusterIdentityArgs\n        {\n            Type = \"example-value\",\n        },\n    });\n\n    var exampleAccount = new Azure.Storage.Account(\"example\", new()\n    {\n        Name = \"example\",\n        Location = exampleResourceGroup.Location,\n        ResourceGroupName = exampleResourceGroup.Name,\n        AccountTier = \"example-value\",\n        AccountReplicationType = \"example-value\",\n    });\n\n    var exampleWorkspace = new Azure.MachineLearning.Workspace(\"example\", new()\n    {\n        Name = \"example\",\n        Location = exampleResourceGroup.Location,\n        ResourceGroupName = exampleResourceGroup.Name,\n        KeyVaultId = exampleKeyVault.Id,\n        StorageAccountId = exampleAccount.Id,\n        ApplicationInsightsId = example.Id,\n        Identity = new Azure.MachineLearning.Inputs.WorkspaceIdentityArgs\n        {\n            Type = \"example-value\",\n        },\n    });\n\n    var exampleClusterTrustedAccessRoleBinding = new Azure.ContainerService.ClusterTrustedAccessRoleBinding(\"example\", new()\n    {\n        KubernetesClusterId = exampleKubernetesCluster.Id,\n        Name = \"example\",\n        Roles = \"example-value\",\n        SourceResourceId = exampleWorkspace.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/appinsights\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/containerservice\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/keyvault\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/machinelearning\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := appinsights.NewInsights(ctx, \"example\", \u0026appinsights.InsightsArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tLocation:          exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tApplicationType:   pulumi.String(\"example-value\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = core.GetClientConfig(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleKeyVault, err := keyvault.NewKeyVault(ctx, \"example\", \u0026keyvault.KeyVaultArgs{\n\t\t\tName:                    pulumi.String(\"example\"),\n\t\t\tLocation:                exampleResourceGroup.Location,\n\t\t\tResourceGroupName:       exampleResourceGroup.Name,\n\t\t\tTenantId:                pulumi.Any(exampleAzurermClientConfig.TenantId),\n\t\t\tSkuName:                 pulumi.String(\"example-value\"),\n\t\t\tSoftDeleteRetentionDays: pulumi.Int(\"example-value\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = keyvault.NewAccessPolicy(ctx, \"example\", \u0026keyvault.AccessPolicyArgs{\n\t\t\tKeyVaultId:     exampleKeyVault.ID(),\n\t\t\tTenantId:       pulumi.Any(exampleAzurermClientConfig.TenantId),\n\t\t\tObjectId:       pulumi.Any(exampleAzurermClientConfig.ObjectId),\n\t\t\tKeyPermissions: pulumi.StringArray(\"example-value\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleKubernetesCluster, err := containerservice.NewKubernetesCluster(ctx, \"example\", \u0026containerservice.KubernetesClusterArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tLocation:          exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tDnsPrefix:         pulumi.String(\"acctestaksexample\"),\n\t\t\tDefaultNodePool: \u0026containerservice.KubernetesClusterDefaultNodePoolArgs{\n\t\t\t\tName:      pulumi.String(\"example-value\"),\n\t\t\t\tNodeCount: pulumi.Int(\"example-value\"),\n\t\t\t\tVmSize:    pulumi.String(\"example-value\"),\n\t\t\t\tUpgradeSettings: \u0026containerservice.KubernetesClusterDefaultNodePoolUpgradeSettingsArgs{\n\t\t\t\t\tMaxSurge: pulumi.String(\"example-value\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tIdentity: \u0026containerservice.KubernetesClusterIdentityArgs{\n\t\t\t\tType: pulumi.String(\"example-value\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := storage.NewAccount(ctx, \"example\", \u0026storage.AccountArgs{\n\t\t\tName:                   pulumi.String(\"example\"),\n\t\t\tLocation:               exampleResourceGroup.Location,\n\t\t\tResourceGroupName:      exampleResourceGroup.Name,\n\t\t\tAccountTier:            pulumi.String(\"example-value\"),\n\t\t\tAccountReplicationType: pulumi.String(\"example-value\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleWorkspace, err := machinelearning.NewWorkspace(ctx, \"example\", \u0026machinelearning.WorkspaceArgs{\n\t\t\tName:                  pulumi.String(\"example\"),\n\t\t\tLocation:              exampleResourceGroup.Location,\n\t\t\tResourceGroupName:     exampleResourceGroup.Name,\n\t\t\tKeyVaultId:            exampleKeyVault.ID(),\n\t\t\tStorageAccountId:      exampleAccount.ID(),\n\t\t\tApplicationInsightsId: example.ID(),\n\t\t\tIdentity: \u0026machinelearning.WorkspaceIdentityArgs{\n\t\t\t\tType: pulumi.String(\"example-value\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = containerservice.NewClusterTrustedAccessRoleBinding(ctx, \"example\", \u0026containerservice.ClusterTrustedAccessRoleBindingArgs{\n\t\t\tKubernetesClusterId: exampleKubernetesCluster.ID(),\n\t\t\tName:                pulumi.String(\"example\"),\n\t\t\tRoles:               pulumi.StringArray(\"example-value\"),\n\t\t\tSourceResourceId:    exampleWorkspace.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.appinsights.Insights;\nimport com.pulumi.azure.appinsights.InsightsArgs;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.keyvault.KeyVault;\nimport com.pulumi.azure.keyvault.KeyVaultArgs;\nimport com.pulumi.azure.keyvault.AccessPolicy;\nimport com.pulumi.azure.keyvault.AccessPolicyArgs;\nimport com.pulumi.azure.containerservice.KubernetesCluster;\nimport com.pulumi.azure.containerservice.KubernetesClusterArgs;\nimport com.pulumi.azure.containerservice.inputs.KubernetesClusterDefaultNodePoolArgs;\nimport com.pulumi.azure.containerservice.inputs.KubernetesClusterDefaultNodePoolUpgradeSettingsArgs;\nimport com.pulumi.azure.containerservice.inputs.KubernetesClusterIdentityArgs;\nimport com.pulumi.azure.storage.Account;\nimport com.pulumi.azure.storage.AccountArgs;\nimport com.pulumi.azure.machinelearning.Workspace;\nimport com.pulumi.azure.machinelearning.WorkspaceArgs;\nimport com.pulumi.azure.machinelearning.inputs.WorkspaceIdentityArgs;\nimport com.pulumi.azure.containerservice.ClusterTrustedAccessRoleBinding;\nimport com.pulumi.azure.containerservice.ClusterTrustedAccessRoleBindingArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var exampleResourceGroup = new ResourceGroup(\"exampleResourceGroup\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var example = new Insights(\"example\", InsightsArgs.builder()\n            .name(\"example\")\n            .location(exampleResourceGroup.location())\n            .resourceGroupName(exampleResourceGroup.name())\n            .applicationType(\"example-value\")\n            .build());\n\n        final var test = CoreFunctions.getClientConfig(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n        var exampleKeyVault = new KeyVault(\"exampleKeyVault\", KeyVaultArgs.builder()\n            .name(\"example\")\n            .location(exampleResourceGroup.location())\n            .resourceGroupName(exampleResourceGroup.name())\n            .tenantId(exampleAzurermClientConfig.tenantId())\n            .skuName(\"example-value\")\n            .softDeleteRetentionDays(\"example-value\")\n            .build());\n\n        var exampleAccessPolicy = new AccessPolicy(\"exampleAccessPolicy\", AccessPolicyArgs.builder()\n            .keyVaultId(exampleKeyVault.id())\n            .tenantId(exampleAzurermClientConfig.tenantId())\n            .objectId(exampleAzurermClientConfig.objectId())\n            .keyPermissions(\"example-value\")\n            .build());\n\n        var exampleKubernetesCluster = new KubernetesCluster(\"exampleKubernetesCluster\", KubernetesClusterArgs.builder()\n            .name(\"example\")\n            .location(exampleResourceGroup.location())\n            .resourceGroupName(exampleResourceGroup.name())\n            .dnsPrefix(\"acctestaksexample\")\n            .defaultNodePool(KubernetesClusterDefaultNodePoolArgs.builder()\n                .name(\"example-value\")\n                .nodeCount(\"example-value\")\n                .vmSize(\"example-value\")\n                .upgradeSettings(KubernetesClusterDefaultNodePoolUpgradeSettingsArgs.builder()\n                    .maxSurge(\"example-value\")\n                    .build())\n                .build())\n            .identity(KubernetesClusterIdentityArgs.builder()\n                .type(\"example-value\")\n                .build())\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"example\")\n            .location(exampleResourceGroup.location())\n            .resourceGroupName(exampleResourceGroup.name())\n            .accountTier(\"example-value\")\n            .accountReplicationType(\"example-value\")\n            .build());\n\n        var exampleWorkspace = new Workspace(\"exampleWorkspace\", WorkspaceArgs.builder()\n            .name(\"example\")\n            .location(exampleResourceGroup.location())\n            .resourceGroupName(exampleResourceGroup.name())\n            .keyVaultId(exampleKeyVault.id())\n            .storageAccountId(exampleAccount.id())\n            .applicationInsightsId(example.id())\n            .identity(WorkspaceIdentityArgs.builder()\n                .type(\"example-value\")\n                .build())\n            .build());\n\n        var exampleClusterTrustedAccessRoleBinding = new ClusterTrustedAccessRoleBinding(\"exampleClusterTrustedAccessRoleBinding\", ClusterTrustedAccessRoleBindingArgs.builder()\n            .kubernetesClusterId(exampleKubernetesCluster.id())\n            .name(\"example\")\n            .roles(\"example-value\")\n            .sourceResourceId(exampleWorkspace.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:appinsights:Insights\n    properties:\n      name: example\n      location: ${exampleResourceGroup.location}\n      resourceGroupName: ${exampleResourceGroup.name}\n      applicationType: example-value\n  exampleKeyVault:\n    type: azure:keyvault:KeyVault\n    name: example\n    properties:\n      name: example\n      location: ${exampleResourceGroup.location}\n      resourceGroupName: ${exampleResourceGroup.name}\n      tenantId: ${exampleAzurermClientConfig.tenantId}\n      skuName: example-value\n      softDeleteRetentionDays: example-value\n  exampleAccessPolicy:\n    type: azure:keyvault:AccessPolicy\n    name: example\n    properties:\n      keyVaultId: ${exampleKeyVault.id}\n      tenantId: ${exampleAzurermClientConfig.tenantId}\n      objectId: ${exampleAzurermClientConfig.objectId}\n      keyPermissions: example-value\n  exampleKubernetesCluster:\n    type: azure:containerservice:KubernetesCluster\n    name: example\n    properties:\n      name: example\n      location: ${exampleResourceGroup.location}\n      resourceGroupName: ${exampleResourceGroup.name}\n      dnsPrefix: acctestaksexample\n      defaultNodePool:\n        name: example-value\n        nodeCount: example-value\n        vmSize: example-value\n        upgradeSettings:\n          maxSurge: example-value\n      identity:\n        type: example-value\n  exampleWorkspace:\n    type: azure:machinelearning:Workspace\n    name: example\n    properties:\n      name: example\n      location: ${exampleResourceGroup.location}\n      resourceGroupName: ${exampleResourceGroup.name}\n      keyVaultId: ${exampleKeyVault.id}\n      storageAccountId: ${exampleAccount.id}\n      applicationInsightsId: ${example.id}\n      identity:\n        type: example-value\n  exampleResourceGroup:\n    type: azure:core:ResourceGroup\n    name: example\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleAccount:\n    type: azure:storage:Account\n    name: example\n    properties:\n      name: example\n      location: ${exampleResourceGroup.location}\n      resourceGroupName: ${exampleResourceGroup.name}\n      accountTier: example-value\n      accountReplicationType: example-value\n  exampleClusterTrustedAccessRoleBinding:\n    type: azure:containerservice:ClusterTrustedAccessRoleBinding\n    name: example\n    properties:\n      kubernetesClusterId: ${exampleKubernetesCluster.id}\n      name: example\n      roles: example-value\n      sourceResourceId: ${exampleWorkspace.id}\nvariables:\n  test:\n    fn::invoke:\n      function: azure:core:getClientConfig\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.ContainerService` - 2025-07-01\n\n## Import\n\nAn existing Kubernetes Cluster Trusted Access Role Binding can be imported into Pulumi using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:containerservice/clusterTrustedAccessRoleBinding:ClusterTrustedAccessRoleBinding example /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{managedClusterName}/trustedAccessRoleBindings/{trustedAccessRoleBindingName}\n```\n\n* Where `{subscriptionId}` is the ID of the Azure Subscription where the Kubernetes Cluster Trusted Access Role Binding exists. For example `12345678-1234-9876-4563-123456789012`.\n* Where `{resourceGroupName}` is the name of Resource Group where this Kubernetes Cluster Trusted Access Role Binding exists. For example `example-resource-group`.\n* Where `{managedClusterName}` is the name of the Managed Cluster. For example `managedClusterValue`.\n* Where `{trustedAccessRoleBindingName}` is the name of the Trusted Access Role Binding. For example `trustedAccessRoleBindingValue`.\n\n","properties":{"kubernetesClusterId":{"type":"string","description":"Specifies the Kubernetes Cluster Id within which this Kubernetes Cluster Trusted Access Role Binding should exist. Changing this forces a new Kubernetes Cluster Trusted Access Role Binding to be created.\n"},"name":{"type":"string","description":"Specifies the name of this Kubernetes Cluster Trusted Access Role Binding. Changing this forces a new Kubernetes Cluster Trusted Access Role Binding to be created.\n"},"roles":{"type":"array","items":{"type":"string"},"description":"A list of roles to bind, each item is a resource type qualified role name.\n"},"sourceResourceId":{"type":"string","description":"The ARM resource ID of source resource that trusted access is configured for. Changing this forces a new Kubernetes Cluster Trusted Access Role Binding to be created.\n"}},"required":["kubernetesClusterId","name","roles","sourceResourceId"],"inputProperties":{"kubernetesClusterId":{"type":"string","description":"Specifies the Kubernetes Cluster Id within which this Kubernetes Cluster Trusted Access Role Binding should exist. Changing this forces a new Kubernetes Cluster Trusted Access Role Binding to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of this Kubernetes Cluster Trusted Access Role Binding. Changing this forces a new Kubernetes Cluster Trusted Access Role Binding to be created.\n","willReplaceOnChanges":true},"roles":{"type":"array","items":{"type":"string"},"description":"A list of roles to bind, each item is a resource type qualified role name.\n"},"sourceResourceId":{"type":"string","description":"The ARM resource ID of source resource that trusted access is configured for. Changing this forces a new Kubernetes Cluster Trusted Access Role Binding to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["kubernetesClusterId","roles","sourceResourceId"],"stateInputs":{"description":"Input properties used for looking up and filtering ClusterTrustedAccessRoleBinding resources.\n","properties":{"kubernetesClusterId":{"type":"string","description":"Specifies the Kubernetes Cluster Id within which this Kubernetes Cluster Trusted Access Role Binding should exist. Changing this forces a new Kubernetes Cluster Trusted Access Role Binding to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of this Kubernetes Cluster Trusted Access Role Binding. Changing this forces a new Kubernetes Cluster Trusted Access Role Binding to be created.\n","willReplaceOnChanges":true},"roles":{"type":"array","items":{"type":"string"},"description":"A list of roles to bind, each item is a resource type qualified role name.\n"},"sourceResourceId":{"type":"string","description":"The ARM resource ID of source resource that trusted access is configured for. Changing this forces a new Kubernetes Cluster Trusted Access Role Binding to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:containerservice/connectedRegistry:ConnectedRegistry":{"description":"Manages a Container Connected Registry.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-rg\",\n    location: \"West Europe\",\n});\nconst exampleRegistry = new azure.containerservice.Registry(\"example\", {\n    name: \"exampleacr\",\n    resourceGroupName: example.name,\n    location: example.location,\n    sku: \"Premium\",\n    dataEndpointEnabled: true,\n});\nconst exampleRegistryScopeMap = new azure.containerservice.RegistryScopeMap(\"example\", {\n    name: \"examplescopemap\",\n    containerRegistryName: exampleRegistry.name,\n    resourceGroupName: exampleRegistry.resourceGroupName,\n    actions: [\n        \"repositories/hello-world/content/delete\",\n        \"repositories/hello-world/content/read\",\n        \"repositories/hello-world/content/write\",\n        \"repositories/hello-world/metadata/read\",\n        \"repositories/hello-world/metadata/write\",\n        \"gateway/examplecr/config/read\",\n        \"gateway/examplecr/config/write\",\n        \"gateway/examplecr/message/read\",\n        \"gateway/examplecr/message/write\",\n    ],\n});\nconst exampleRegistryToken = new azure.containerservice.RegistryToken(\"example\", {\n    name: \"exampletoken\",\n    containerRegistryName: exampleRegistry.name,\n    resourceGroupName: exampleRegistry.resourceGroupName,\n    scopeMapId: exampleRegistryScopeMap.id,\n});\nconst exampleConnectedRegistry = new azure.containerservice.ConnectedRegistry(\"example\", {\n    name: \"examplecr\",\n    containerRegistryId: exampleRegistry.id,\n    syncTokenId: exampleRegistryToken.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-rg\",\n    location=\"West Europe\")\nexample_registry = azure.containerservice.Registry(\"example\",\n    name=\"exampleacr\",\n    resource_group_name=example.name,\n    location=example.location,\n    sku=\"Premium\",\n    data_endpoint_enabled=True)\nexample_registry_scope_map = azure.containerservice.RegistryScopeMap(\"example\",\n    name=\"examplescopemap\",\n    container_registry_name=example_registry.name,\n    resource_group_name=example_registry.resource_group_name,\n    actions=[\n        \"repositories/hello-world/content/delete\",\n        \"repositories/hello-world/content/read\",\n        \"repositories/hello-world/content/write\",\n        \"repositories/hello-world/metadata/read\",\n        \"repositories/hello-world/metadata/write\",\n        \"gateway/examplecr/config/read\",\n        \"gateway/examplecr/config/write\",\n        \"gateway/examplecr/message/read\",\n        \"gateway/examplecr/message/write\",\n    ])\nexample_registry_token = azure.containerservice.RegistryToken(\"example\",\n    name=\"exampletoken\",\n    container_registry_name=example_registry.name,\n    resource_group_name=example_registry.resource_group_name,\n    scope_map_id=example_registry_scope_map.id)\nexample_connected_registry = azure.containerservice.ConnectedRegistry(\"example\",\n    name=\"examplecr\",\n    container_registry_id=example_registry.id,\n    sync_token_id=example_registry_token.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-rg\",\n        Location = \"West Europe\",\n    });\n\n    var exampleRegistry = new Azure.ContainerService.Registry(\"example\", new()\n    {\n        Name = \"exampleacr\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        Sku = \"Premium\",\n        DataEndpointEnabled = true,\n    });\n\n    var exampleRegistryScopeMap = new Azure.ContainerService.RegistryScopeMap(\"example\", new()\n    {\n        Name = \"examplescopemap\",\n        ContainerRegistryName = exampleRegistry.Name,\n        ResourceGroupName = exampleRegistry.ResourceGroupName,\n        Actions = new[]\n        {\n            \"repositories/hello-world/content/delete\",\n            \"repositories/hello-world/content/read\",\n            \"repositories/hello-world/content/write\",\n            \"repositories/hello-world/metadata/read\",\n            \"repositories/hello-world/metadata/write\",\n            \"gateway/examplecr/config/read\",\n            \"gateway/examplecr/config/write\",\n            \"gateway/examplecr/message/read\",\n            \"gateway/examplecr/message/write\",\n        },\n    });\n\n    var exampleRegistryToken = new Azure.ContainerService.RegistryToken(\"example\", new()\n    {\n        Name = \"exampletoken\",\n        ContainerRegistryName = exampleRegistry.Name,\n        ResourceGroupName = exampleRegistry.ResourceGroupName,\n        ScopeMapId = exampleRegistryScopeMap.Id,\n    });\n\n    var exampleConnectedRegistry = new Azure.ContainerService.ConnectedRegistry(\"example\", new()\n    {\n        Name = \"examplecr\",\n        ContainerRegistryId = exampleRegistry.Id,\n        SyncTokenId = exampleRegistryToken.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/containerservice\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-rg\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleRegistry, err := containerservice.NewRegistry(ctx, \"example\", \u0026containerservice.RegistryArgs{\n\t\t\tName:                pulumi.String(\"exampleacr\"),\n\t\t\tResourceGroupName:   example.Name,\n\t\t\tLocation:            example.Location,\n\t\t\tSku:                 pulumi.String(\"Premium\"),\n\t\t\tDataEndpointEnabled: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleRegistryScopeMap, err := containerservice.NewRegistryScopeMap(ctx, \"example\", \u0026containerservice.RegistryScopeMapArgs{\n\t\t\tName:                  pulumi.String(\"examplescopemap\"),\n\t\t\tContainerRegistryName: exampleRegistry.Name,\n\t\t\tResourceGroupName:     exampleRegistry.ResourceGroupName,\n\t\t\tActions: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"repositories/hello-world/content/delete\"),\n\t\t\t\tpulumi.String(\"repositories/hello-world/content/read\"),\n\t\t\t\tpulumi.String(\"repositories/hello-world/content/write\"),\n\t\t\t\tpulumi.String(\"repositories/hello-world/metadata/read\"),\n\t\t\t\tpulumi.String(\"repositories/hello-world/metadata/write\"),\n\t\t\t\tpulumi.String(\"gateway/examplecr/config/read\"),\n\t\t\t\tpulumi.String(\"gateway/examplecr/config/write\"),\n\t\t\t\tpulumi.String(\"gateway/examplecr/message/read\"),\n\t\t\t\tpulumi.String(\"gateway/examplecr/message/write\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleRegistryToken, err := containerservice.NewRegistryToken(ctx, \"example\", \u0026containerservice.RegistryTokenArgs{\n\t\t\tName:                  pulumi.String(\"exampletoken\"),\n\t\t\tContainerRegistryName: exampleRegistry.Name,\n\t\t\tResourceGroupName:     exampleRegistry.ResourceGroupName,\n\t\t\tScopeMapId:            exampleRegistryScopeMap.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = containerservice.NewConnectedRegistry(ctx, \"example\", \u0026containerservice.ConnectedRegistryArgs{\n\t\t\tName:                pulumi.String(\"examplecr\"),\n\t\t\tContainerRegistryId: exampleRegistry.ID(),\n\t\t\tSyncTokenId:         exampleRegistryToken.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.containerservice.Registry;\nimport com.pulumi.azure.containerservice.RegistryArgs;\nimport com.pulumi.azure.containerservice.RegistryScopeMap;\nimport com.pulumi.azure.containerservice.RegistryScopeMapArgs;\nimport com.pulumi.azure.containerservice.RegistryToken;\nimport com.pulumi.azure.containerservice.RegistryTokenArgs;\nimport com.pulumi.azure.containerservice.ConnectedRegistry;\nimport com.pulumi.azure.containerservice.ConnectedRegistryArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-rg\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleRegistry = new Registry(\"exampleRegistry\", RegistryArgs.builder()\n            .name(\"exampleacr\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .sku(\"Premium\")\n            .dataEndpointEnabled(true)\n            .build());\n\n        var exampleRegistryScopeMap = new RegistryScopeMap(\"exampleRegistryScopeMap\", RegistryScopeMapArgs.builder()\n            .name(\"examplescopemap\")\n            .containerRegistryName(exampleRegistry.name())\n            .resourceGroupName(exampleRegistry.resourceGroupName())\n            .actions(            \n                \"repositories/hello-world/content/delete\",\n                \"repositories/hello-world/content/read\",\n                \"repositories/hello-world/content/write\",\n                \"repositories/hello-world/metadata/read\",\n                \"repositories/hello-world/metadata/write\",\n                \"gateway/examplecr/config/read\",\n                \"gateway/examplecr/config/write\",\n                \"gateway/examplecr/message/read\",\n                \"gateway/examplecr/message/write\")\n            .build());\n\n        var exampleRegistryToken = new RegistryToken(\"exampleRegistryToken\", RegistryTokenArgs.builder()\n            .name(\"exampletoken\")\n            .containerRegistryName(exampleRegistry.name())\n            .resourceGroupName(exampleRegistry.resourceGroupName())\n            .scopeMapId(exampleRegistryScopeMap.id())\n            .build());\n\n        var exampleConnectedRegistry = new ConnectedRegistry(\"exampleConnectedRegistry\", ConnectedRegistryArgs.builder()\n            .name(\"examplecr\")\n            .containerRegistryId(exampleRegistry.id())\n            .syncTokenId(exampleRegistryToken.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-rg\n      location: West Europe\n  exampleRegistry:\n    type: azure:containerservice:Registry\n    name: example\n    properties:\n      name: exampleacr\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      sku: Premium\n      dataEndpointEnabled: true\n  exampleRegistryScopeMap:\n    type: azure:containerservice:RegistryScopeMap\n    name: example\n    properties:\n      name: examplescopemap\n      containerRegistryName: ${exampleRegistry.name}\n      resourceGroupName: ${exampleRegistry.resourceGroupName}\n      actions:\n        - repositories/hello-world/content/delete\n        - repositories/hello-world/content/read\n        - repositories/hello-world/content/write\n        - repositories/hello-world/metadata/read\n        - repositories/hello-world/metadata/write\n        - gateway/examplecr/config/read\n        - gateway/examplecr/config/write\n        - gateway/examplecr/message/read\n        - gateway/examplecr/message/write\n  exampleRegistryToken:\n    type: azure:containerservice:RegistryToken\n    name: example\n    properties:\n      name: exampletoken\n      containerRegistryName: ${exampleRegistry.name}\n      resourceGroupName: ${exampleRegistry.resourceGroupName}\n      scopeMapId: ${exampleRegistryScopeMap.id}\n  exampleConnectedRegistry:\n    type: azure:containerservice:ConnectedRegistry\n    name: example\n    properties:\n      name: examplecr\n      containerRegistryId: ${exampleRegistry.id}\n      syncTokenId: ${exampleRegistryToken.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.ContainerRegistry` - 2025-11-01\n\n## Import\n\nContainer Connected Registries can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:containerservice/connectedRegistry:ConnectedRegistry example /subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/group1/providers/Microsoft.ContainerRegistry/registries/registry1/connectedRegistries/registry1\n```\n\n","properties":{"auditLogEnabled":{"type":"boolean","description":"Should the log auditing be enabled?\n"},"clientTokenIds":{"type":"array","items":{"type":"string"},"description":"Specifies a list of IDs of Container Registry Tokens, which are meant to be used by the clients to connect to the Connected Registry.\n"},"containerRegistryId":{"type":"string","description":"The ID of the Container Registry that this Connected Registry will reside in. Changing this forces a new Container Connected Registry to be created.\n\n\u003e **Note:** If \u003cspan pulumi-lang-nodejs=\"`parentRegistryId`\" pulumi-lang-dotnet=\"`ParentRegistryId`\" pulumi-lang-go=\"`parentRegistryId`\" pulumi-lang-python=\"`parent_registry_id`\" pulumi-lang-yaml=\"`parentRegistryId`\" pulumi-lang-java=\"`parentRegistryId`\"\u003e`parent_registry_id`\u003c/span\u003e is not specified, the Connected Registry will be connected to the Container Registry identified by \u003cspan pulumi-lang-nodejs=\"`containerRegistryId`\" pulumi-lang-dotnet=\"`ContainerRegistryId`\" pulumi-lang-go=\"`containerRegistryId`\" pulumi-lang-python=\"`container_registry_id`\" pulumi-lang-yaml=\"`containerRegistryId`\" pulumi-lang-java=\"`containerRegistryId`\"\u003e`container_registry_id`\u003c/span\u003e.\n"},"logLevel":{"type":"string","description":"The verbosity of the logs. Possible values are `None`, `Debug`, `Information`, `Warning` and `Error`. Defaults to `None`.\n"},"mode":{"type":"string","description":"The mode of the Connected Registry. Possible values are `Mirror`, `ReadOnly`, `ReadWrite` and `Registry`. Changing this forces a new Container Connected Registry to be created. Defaults to `ReadWrite`.\n"},"name":{"type":"string","description":"The name which should be used for this Container Connected Registry. Changing this forces a new Container Connected Registry to be created.\n"},"notifications":{"type":"array","items":{"$ref":"#/types/azure:containerservice/ConnectedRegistryNotification:ConnectedRegistryNotification"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`notification`\" pulumi-lang-dotnet=\"`Notification`\" pulumi-lang-go=\"`notification`\" pulumi-lang-python=\"`notification`\" pulumi-lang-yaml=\"`notification`\" pulumi-lang-java=\"`notification`\"\u003e`notification`\u003c/span\u003e blocks as defined below.\n"},"parentRegistryId":{"type":"string","description":"The ID of the parent registry. This can be either a Container Registry ID or a Connected Registry ID. Changing this forces a new Container Connected Registry to be created.\n"},"syncMessageTtl":{"type":"string","description":"The period of time (in form of ISO8601) for which a message is available to sync before it is expired. Allowed range is from `P1D` to `P90D`. Defaults to `P1D`.\n"},"syncSchedule":{"type":"string","description":"The cron expression indicating the schedule that the Connected Registry will sync with its parent. Defaults to `* * * * *`.\n"},"syncTokenId":{"type":"string","description":"The ID of the Container Registry Token which is used for synchronizing the Connected Registry. Changing this forces a new Container Connected Registry to be created.\n"},"syncWindow":{"type":"string","description":"The time window (in form of ISO8601) during which sync is enabled for each schedule occurrence. Allowed range is from `PT3H` to `P7D`.\n"}},"required":["containerRegistryId","name","syncTokenId"],"inputProperties":{"auditLogEnabled":{"type":"boolean","description":"Should the log auditing be enabled?\n"},"clientTokenIds":{"type":"array","items":{"type":"string"},"description":"Specifies a list of IDs of Container Registry Tokens, which are meant to be used by the clients to connect to the Connected Registry.\n"},"containerRegistryId":{"type":"string","description":"The ID of the Container Registry that this Connected Registry will reside in. Changing this forces a new Container Connected Registry to be created.\n\n\u003e **Note:** If \u003cspan pulumi-lang-nodejs=\"`parentRegistryId`\" pulumi-lang-dotnet=\"`ParentRegistryId`\" pulumi-lang-go=\"`parentRegistryId`\" pulumi-lang-python=\"`parent_registry_id`\" pulumi-lang-yaml=\"`parentRegistryId`\" pulumi-lang-java=\"`parentRegistryId`\"\u003e`parent_registry_id`\u003c/span\u003e is not specified, the Connected Registry will be connected to the Container Registry identified by \u003cspan pulumi-lang-nodejs=\"`containerRegistryId`\" pulumi-lang-dotnet=\"`ContainerRegistryId`\" pulumi-lang-go=\"`containerRegistryId`\" pulumi-lang-python=\"`container_registry_id`\" pulumi-lang-yaml=\"`containerRegistryId`\" pulumi-lang-java=\"`containerRegistryId`\"\u003e`container_registry_id`\u003c/span\u003e.\n","willReplaceOnChanges":true},"logLevel":{"type":"string","description":"The verbosity of the logs. Possible values are `None`, `Debug`, `Information`, `Warning` and `Error`. Defaults to `None`.\n"},"mode":{"type":"string","description":"The mode of the Connected Registry. Possible values are `Mirror`, `ReadOnly`, `ReadWrite` and `Registry`. Changing this forces a new Container Connected Registry to be created. Defaults to `ReadWrite`.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Container Connected Registry. Changing this forces a new Container Connected Registry to be created.\n","willReplaceOnChanges":true},"notifications":{"type":"array","items":{"$ref":"#/types/azure:containerservice/ConnectedRegistryNotification:ConnectedRegistryNotification"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`notification`\" pulumi-lang-dotnet=\"`Notification`\" pulumi-lang-go=\"`notification`\" pulumi-lang-python=\"`notification`\" pulumi-lang-yaml=\"`notification`\" pulumi-lang-java=\"`notification`\"\u003e`notification`\u003c/span\u003e blocks as defined below.\n"},"parentRegistryId":{"type":"string","description":"The ID of the parent registry. This can be either a Container Registry ID or a Connected Registry ID. Changing this forces a new Container Connected Registry to be created.\n","willReplaceOnChanges":true},"syncMessageTtl":{"type":"string","description":"The period of time (in form of ISO8601) for which a message is available to sync before it is expired. Allowed range is from `P1D` to `P90D`. Defaults to `P1D`.\n"},"syncSchedule":{"type":"string","description":"The cron expression indicating the schedule that the Connected Registry will sync with its parent. Defaults to `* * * * *`.\n"},"syncTokenId":{"type":"string","description":"The ID of the Container Registry Token which is used for synchronizing the Connected Registry. Changing this forces a new Container Connected Registry to be created.\n","willReplaceOnChanges":true},"syncWindow":{"type":"string","description":"The time window (in form of ISO8601) during which sync is enabled for each schedule occurrence. Allowed range is from `PT3H` to `P7D`.\n"}},"requiredInputs":["containerRegistryId","syncTokenId"],"stateInputs":{"description":"Input properties used for looking up and filtering ConnectedRegistry resources.\n","properties":{"auditLogEnabled":{"type":"boolean","description":"Should the log auditing be enabled?\n"},"clientTokenIds":{"type":"array","items":{"type":"string"},"description":"Specifies a list of IDs of Container Registry Tokens, which are meant to be used by the clients to connect to the Connected Registry.\n"},"containerRegistryId":{"type":"string","description":"The ID of the Container Registry that this Connected Registry will reside in. Changing this forces a new Container Connected Registry to be created.\n\n\u003e **Note:** If \u003cspan pulumi-lang-nodejs=\"`parentRegistryId`\" pulumi-lang-dotnet=\"`ParentRegistryId`\" pulumi-lang-go=\"`parentRegistryId`\" pulumi-lang-python=\"`parent_registry_id`\" pulumi-lang-yaml=\"`parentRegistryId`\" pulumi-lang-java=\"`parentRegistryId`\"\u003e`parent_registry_id`\u003c/span\u003e is not specified, the Connected Registry will be connected to the Container Registry identified by \u003cspan pulumi-lang-nodejs=\"`containerRegistryId`\" pulumi-lang-dotnet=\"`ContainerRegistryId`\" pulumi-lang-go=\"`containerRegistryId`\" pulumi-lang-python=\"`container_registry_id`\" pulumi-lang-yaml=\"`containerRegistryId`\" pulumi-lang-java=\"`containerRegistryId`\"\u003e`container_registry_id`\u003c/span\u003e.\n","willReplaceOnChanges":true},"logLevel":{"type":"string","description":"The verbosity of the logs. Possible values are `None`, `Debug`, `Information`, `Warning` and `Error`. Defaults to `None`.\n"},"mode":{"type":"string","description":"The mode of the Connected Registry. Possible values are `Mirror`, `ReadOnly`, `ReadWrite` and `Registry`. Changing this forces a new Container Connected Registry to be created. Defaults to `ReadWrite`.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Container Connected Registry. Changing this forces a new Container Connected Registry to be created.\n","willReplaceOnChanges":true},"notifications":{"type":"array","items":{"$ref":"#/types/azure:containerservice/ConnectedRegistryNotification:ConnectedRegistryNotification"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`notification`\" pulumi-lang-dotnet=\"`Notification`\" pulumi-lang-go=\"`notification`\" pulumi-lang-python=\"`notification`\" pulumi-lang-yaml=\"`notification`\" pulumi-lang-java=\"`notification`\"\u003e`notification`\u003c/span\u003e blocks as defined below.\n"},"parentRegistryId":{"type":"string","description":"The ID of the parent registry. This can be either a Container Registry ID or a Connected Registry ID. Changing this forces a new Container Connected Registry to be created.\n","willReplaceOnChanges":true},"syncMessageTtl":{"type":"string","description":"The period of time (in form of ISO8601) for which a message is available to sync before it is expired. Allowed range is from `P1D` to `P90D`. Defaults to `P1D`.\n"},"syncSchedule":{"type":"string","description":"The cron expression indicating the schedule that the Connected Registry will sync with its parent. Defaults to `* * * * *`.\n"},"syncTokenId":{"type":"string","description":"The ID of the Container Registry Token which is used for synchronizing the Connected Registry. Changing this forces a new Container Connected Registry to be created.\n","willReplaceOnChanges":true},"syncWindow":{"type":"string","description":"The time window (in form of ISO8601) during which sync is enabled for each schedule occurrence. Allowed range is from `PT3H` to `P7D`.\n"}},"type":"object"}},"azure:containerservice/fleetMember:FleetMember":{"description":"\u003c!-- Note: This documentation is generated. Any manual changes will be overwritten --\u003e\n\nManages a Kubernetes Fleet Member.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst example = new azure.containerservice.KubernetesCluster(\"example\", {\n    name: \"example\",\n    location: exampleResourceGroup.location,\n    resourceGroupName: exampleResourceGroup.name,\n    dnsPrefix: \"acctestaksexample\",\n    defaultNodePool: {\n        name: \"example-value\",\n        nodeCount: \"example-value\",\n        vmSize: \"example-value\",\n        upgradeSettings: {\n            maxSurge: \"example-value\",\n        },\n    },\n    identity: {\n        type: \"example-value\",\n    },\n});\nconst exampleKubernetesFleetManager = new azure.containerservice.KubernetesFleetManager(\"example\", {\n    name: \"example\",\n    location: exampleResourceGroup.location,\n    resourceGroupName: exampleResourceGroup.name,\n});\nconst exampleFleetMember = new azure.containerservice.FleetMember(\"example\", {\n    kubernetesClusterId: example.id,\n    kubernetesFleetId: exampleKubernetesFleetManager.id,\n    name: \"example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample = azure.containerservice.KubernetesCluster(\"example\",\n    name=\"example\",\n    location=example_resource_group.location,\n    resource_group_name=example_resource_group.name,\n    dns_prefix=\"acctestaksexample\",\n    default_node_pool={\n        \"name\": \"example-value\",\n        \"node_count\": \"example-value\",\n        \"vm_size\": \"example-value\",\n        \"upgrade_settings\": {\n            \"max_surge\": \"example-value\",\n        },\n    },\n    identity={\n        \"type\": \"example-value\",\n    })\nexample_kubernetes_fleet_manager = azure.containerservice.KubernetesFleetManager(\"example\",\n    name=\"example\",\n    location=example_resource_group.location,\n    resource_group_name=example_resource_group.name)\nexample_fleet_member = azure.containerservice.FleetMember(\"example\",\n    kubernetes_cluster_id=example.id,\n    kubernetes_fleet_id=example_kubernetes_fleet_manager.id,\n    name=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleResourceGroup = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var example = new Azure.ContainerService.KubernetesCluster(\"example\", new()\n    {\n        Name = \"example\",\n        Location = exampleResourceGroup.Location,\n        ResourceGroupName = exampleResourceGroup.Name,\n        DnsPrefix = \"acctestaksexample\",\n        DefaultNodePool = new Azure.ContainerService.Inputs.KubernetesClusterDefaultNodePoolArgs\n        {\n            Name = \"example-value\",\n            NodeCount = \"example-value\",\n            VmSize = \"example-value\",\n            UpgradeSettings = new Azure.ContainerService.Inputs.KubernetesClusterDefaultNodePoolUpgradeSettingsArgs\n            {\n                MaxSurge = \"example-value\",\n            },\n        },\n        Identity = new Azure.ContainerService.Inputs.KubernetesClusterIdentityArgs\n        {\n            Type = \"example-value\",\n        },\n    });\n\n    var exampleKubernetesFleetManager = new Azure.ContainerService.KubernetesFleetManager(\"example\", new()\n    {\n        Name = \"example\",\n        Location = exampleResourceGroup.Location,\n        ResourceGroupName = exampleResourceGroup.Name,\n    });\n\n    var exampleFleetMember = new Azure.ContainerService.FleetMember(\"example\", new()\n    {\n        KubernetesClusterId = example.Id,\n        KubernetesFleetId = exampleKubernetesFleetManager.Id,\n        Name = \"example\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/containerservice\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := containerservice.NewKubernetesCluster(ctx, \"example\", \u0026containerservice.KubernetesClusterArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tLocation:          exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tDnsPrefix:         pulumi.String(\"acctestaksexample\"),\n\t\t\tDefaultNodePool: \u0026containerservice.KubernetesClusterDefaultNodePoolArgs{\n\t\t\t\tName:      pulumi.String(\"example-value\"),\n\t\t\t\tNodeCount: pulumi.Int(\"example-value\"),\n\t\t\t\tVmSize:    pulumi.String(\"example-value\"),\n\t\t\t\tUpgradeSettings: \u0026containerservice.KubernetesClusterDefaultNodePoolUpgradeSettingsArgs{\n\t\t\t\t\tMaxSurge: pulumi.String(\"example-value\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tIdentity: \u0026containerservice.KubernetesClusterIdentityArgs{\n\t\t\t\tType: pulumi.String(\"example-value\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleKubernetesFleetManager, err := containerservice.NewKubernetesFleetManager(ctx, \"example\", \u0026containerservice.KubernetesFleetManagerArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tLocation:          exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = containerservice.NewFleetMember(ctx, \"example\", \u0026containerservice.FleetMemberArgs{\n\t\t\tKubernetesClusterId: example.ID(),\n\t\t\tKubernetesFleetId:   exampleKubernetesFleetManager.ID(),\n\t\t\tName:                pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.containerservice.KubernetesCluster;\nimport com.pulumi.azure.containerservice.KubernetesClusterArgs;\nimport com.pulumi.azure.containerservice.inputs.KubernetesClusterDefaultNodePoolArgs;\nimport com.pulumi.azure.containerservice.inputs.KubernetesClusterDefaultNodePoolUpgradeSettingsArgs;\nimport com.pulumi.azure.containerservice.inputs.KubernetesClusterIdentityArgs;\nimport com.pulumi.azure.containerservice.KubernetesFleetManager;\nimport com.pulumi.azure.containerservice.KubernetesFleetManagerArgs;\nimport com.pulumi.azure.containerservice.FleetMember;\nimport com.pulumi.azure.containerservice.FleetMemberArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var exampleResourceGroup = new ResourceGroup(\"exampleResourceGroup\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var example = new KubernetesCluster(\"example\", KubernetesClusterArgs.builder()\n            .name(\"example\")\n            .location(exampleResourceGroup.location())\n            .resourceGroupName(exampleResourceGroup.name())\n            .dnsPrefix(\"acctestaksexample\")\n            .defaultNodePool(KubernetesClusterDefaultNodePoolArgs.builder()\n                .name(\"example-value\")\n                .nodeCount(\"example-value\")\n                .vmSize(\"example-value\")\n                .upgradeSettings(KubernetesClusterDefaultNodePoolUpgradeSettingsArgs.builder()\n                    .maxSurge(\"example-value\")\n                    .build())\n                .build())\n            .identity(KubernetesClusterIdentityArgs.builder()\n                .type(\"example-value\")\n                .build())\n            .build());\n\n        var exampleKubernetesFleetManager = new KubernetesFleetManager(\"exampleKubernetesFleetManager\", KubernetesFleetManagerArgs.builder()\n            .name(\"example\")\n            .location(exampleResourceGroup.location())\n            .resourceGroupName(exampleResourceGroup.name())\n            .build());\n\n        var exampleFleetMember = new FleetMember(\"exampleFleetMember\", FleetMemberArgs.builder()\n            .kubernetesClusterId(example.id())\n            .kubernetesFleetId(exampleKubernetesFleetManager.id())\n            .name(\"example\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:containerservice:KubernetesCluster\n    properties:\n      name: example\n      location: ${exampleResourceGroup.location}\n      resourceGroupName: ${exampleResourceGroup.name}\n      dnsPrefix: acctestaksexample\n      defaultNodePool:\n        name: example-value\n        nodeCount: example-value\n        vmSize: example-value\n        upgradeSettings:\n          maxSurge: example-value\n      identity:\n        type: example-value\n  exampleKubernetesFleetManager:\n    type: azure:containerservice:KubernetesFleetManager\n    name: example\n    properties:\n      name: example\n      location: ${exampleResourceGroup.location}\n      resourceGroupName: ${exampleResourceGroup.name}\n  exampleResourceGroup:\n    type: azure:core:ResourceGroup\n    name: example\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleFleetMember:\n    type: azure:containerservice:FleetMember\n    name: example\n    properties:\n      kubernetesClusterId: ${example.id}\n      kubernetesFleetId: ${exampleKubernetesFleetManager.id}\n      name: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nAn existing Kubernetes Fleet Member can be imported into Pulumi using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:containerservice/fleetMember:FleetMember example /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/fleets/{fleetName}/members/{memberName}\n```\n\n* Where `{subscriptionId}` is the ID of the Azure Subscription where the Kubernetes Fleet Member exists. For example `12345678-1234-9876-4563-123456789012`.\n* Where `{resourceGroupName}` is the name of Resource Group where this Kubernetes Fleet Member exists. For example `example-resource-group`.\n* Where `{fleetName}` is the name of the Fleet. For example `fleetValue`.\n* Where `{memberName}` is the name of the Member. For example `memberValue`.\n\n","properties":{"group":{"type":"string","description":"The group this member belongs to for multi-cluster update management.\n"},"kubernetesClusterId":{"type":"string","description":"The ARM resource ID of the cluster that joins the Fleet. Changing this forces a new Kubernetes Fleet Member to be created.\n"},"kubernetesFleetId":{"type":"string","description":"Specifies the Kubernetes Fleet Id within which this Kubernetes Fleet Member should exist. Changing this forces a new Kubernetes Fleet Member to be created.\n"},"name":{"type":"string","description":"Specifies the name of this Kubernetes Fleet Member. Changing this forces a new Kubernetes Fleet Member to be created.\n"}},"required":["kubernetesClusterId","kubernetesFleetId","name"],"inputProperties":{"group":{"type":"string","description":"The group this member belongs to for multi-cluster update management.\n"},"kubernetesClusterId":{"type":"string","description":"The ARM resource ID of the cluster that joins the Fleet. Changing this forces a new Kubernetes Fleet Member to be created.\n","willReplaceOnChanges":true},"kubernetesFleetId":{"type":"string","description":"Specifies the Kubernetes Fleet Id within which this Kubernetes Fleet Member should exist. Changing this forces a new Kubernetes Fleet Member to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of this Kubernetes Fleet Member. Changing this forces a new Kubernetes Fleet Member to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["kubernetesClusterId","kubernetesFleetId"],"stateInputs":{"description":"Input properties used for looking up and filtering FleetMember resources.\n","properties":{"group":{"type":"string","description":"The group this member belongs to for multi-cluster update management.\n"},"kubernetesClusterId":{"type":"string","description":"The ARM resource ID of the cluster that joins the Fleet. Changing this forces a new Kubernetes Fleet Member to be created.\n","willReplaceOnChanges":true},"kubernetesFleetId":{"type":"string","description":"Specifies the Kubernetes Fleet Id within which this Kubernetes Fleet Member should exist. Changing this forces a new Kubernetes Fleet Member to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of this Kubernetes Fleet Member. Changing this forces a new Kubernetes Fleet Member to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:containerservice/fleetUpdateRun:FleetUpdateRun":{"description":"Manages a Kubernetes Fleet Update Run.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-rg\",\n    location: \"westeurope\",\n});\nconst exampleKubernetesFleetManager = new azure.containerservice.KubernetesFleetManager(\"example\", {\n    location: example.location,\n    name: \"example\",\n    resourceGroupName: example.name,\n});\nconst exampleKubernetesCluster = new azure.containerservice.KubernetesCluster(\"example\", {\n    name: \"example\",\n    location: example.location,\n    resourceGroupName: example.name,\n    dnsPrefix: \"example\",\n    defaultNodePool: {\n        name: \"default\",\n        nodeCount: 1,\n        vmSize: \"Standard_DS2_v2\",\n    },\n    identity: {\n        type: \"SystemAssigned\",\n    },\n});\nconst exampleFleetMember = new azure.containerservice.FleetMember(\"example\", {\n    name: \"example\",\n    kubernetesFleetId: exampleKubernetesFleetManager.id,\n    kubernetesClusterId: exampleKubernetesCluster.id,\n    group: \"example-group\",\n});\nconst exampleFleetUpdateRun = new azure.containerservice.FleetUpdateRun(\"example\", {\n    name: \"example\",\n    kubernetesFleetManagerId: exampleKubernetesFleetManager.id,\n    managedClusterUpdate: {\n        upgrade: {\n            type: \"Full\",\n            kubernetesVersion: \"1.27\",\n        },\n        nodeImageSelection: {\n            type: \"Latest\",\n        },\n    },\n    stages: [{\n        name: \"example\",\n        groups: [{\n            name: \"example-group\",\n        }],\n        afterStageWaitInSeconds: 21,\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-rg\",\n    location=\"westeurope\")\nexample_kubernetes_fleet_manager = azure.containerservice.KubernetesFleetManager(\"example\",\n    location=example.location,\n    name=\"example\",\n    resource_group_name=example.name)\nexample_kubernetes_cluster = azure.containerservice.KubernetesCluster(\"example\",\n    name=\"example\",\n    location=example.location,\n    resource_group_name=example.name,\n    dns_prefix=\"example\",\n    default_node_pool={\n        \"name\": \"default\",\n        \"node_count\": 1,\n        \"vm_size\": \"Standard_DS2_v2\",\n    },\n    identity={\n        \"type\": \"SystemAssigned\",\n    })\nexample_fleet_member = azure.containerservice.FleetMember(\"example\",\n    name=\"example\",\n    kubernetes_fleet_id=example_kubernetes_fleet_manager.id,\n    kubernetes_cluster_id=example_kubernetes_cluster.id,\n    group=\"example-group\")\nexample_fleet_update_run = azure.containerservice.FleetUpdateRun(\"example\",\n    name=\"example\",\n    kubernetes_fleet_manager_id=example_kubernetes_fleet_manager.id,\n    managed_cluster_update={\n        \"upgrade\": {\n            \"type\": \"Full\",\n            \"kubernetes_version\": \"1.27\",\n        },\n        \"node_image_selection\": {\n            \"type\": \"Latest\",\n        },\n    },\n    stages=[{\n        \"name\": \"example\",\n        \"groups\": [{\n            \"name\": \"example-group\",\n        }],\n        \"after_stage_wait_in_seconds\": 21,\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-rg\",\n        Location = \"westeurope\",\n    });\n\n    var exampleKubernetesFleetManager = new Azure.ContainerService.KubernetesFleetManager(\"example\", new()\n    {\n        Location = example.Location,\n        Name = \"example\",\n        ResourceGroupName = example.Name,\n    });\n\n    var exampleKubernetesCluster = new Azure.ContainerService.KubernetesCluster(\"example\", new()\n    {\n        Name = \"example\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        DnsPrefix = \"example\",\n        DefaultNodePool = new Azure.ContainerService.Inputs.KubernetesClusterDefaultNodePoolArgs\n        {\n            Name = \"default\",\n            NodeCount = 1,\n            VmSize = \"Standard_DS2_v2\",\n        },\n        Identity = new Azure.ContainerService.Inputs.KubernetesClusterIdentityArgs\n        {\n            Type = \"SystemAssigned\",\n        },\n    });\n\n    var exampleFleetMember = new Azure.ContainerService.FleetMember(\"example\", new()\n    {\n        Name = \"example\",\n        KubernetesFleetId = exampleKubernetesFleetManager.Id,\n        KubernetesClusterId = exampleKubernetesCluster.Id,\n        Group = \"example-group\",\n    });\n\n    var exampleFleetUpdateRun = new Azure.ContainerService.FleetUpdateRun(\"example\", new()\n    {\n        Name = \"example\",\n        KubernetesFleetManagerId = exampleKubernetesFleetManager.Id,\n        ManagedClusterUpdate = new Azure.ContainerService.Inputs.FleetUpdateRunManagedClusterUpdateArgs\n        {\n            Upgrade = new Azure.ContainerService.Inputs.FleetUpdateRunManagedClusterUpdateUpgradeArgs\n            {\n                Type = \"Full\",\n                KubernetesVersion = \"1.27\",\n            },\n            NodeImageSelection = new Azure.ContainerService.Inputs.FleetUpdateRunManagedClusterUpdateNodeImageSelectionArgs\n            {\n                Type = \"Latest\",\n            },\n        },\n        Stages = new[]\n        {\n            new Azure.ContainerService.Inputs.FleetUpdateRunStageArgs\n            {\n                Name = \"example\",\n                Groups = new[]\n                {\n                    new Azure.ContainerService.Inputs.FleetUpdateRunStageGroupArgs\n                    {\n                        Name = \"example-group\",\n                    },\n                },\n                AfterStageWaitInSeconds = 21,\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/containerservice\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-rg\"),\n\t\t\tLocation: pulumi.String(\"westeurope\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleKubernetesFleetManager, err := containerservice.NewKubernetesFleetManager(ctx, \"example\", \u0026containerservice.KubernetesFleetManagerArgs{\n\t\t\tLocation:          example.Location,\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleKubernetesCluster, err := containerservice.NewKubernetesCluster(ctx, \"example\", \u0026containerservice.KubernetesClusterArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tDnsPrefix:         pulumi.String(\"example\"),\n\t\t\tDefaultNodePool: \u0026containerservice.KubernetesClusterDefaultNodePoolArgs{\n\t\t\t\tName:      pulumi.String(\"default\"),\n\t\t\t\tNodeCount: pulumi.Int(1),\n\t\t\t\tVmSize:    pulumi.String(\"Standard_DS2_v2\"),\n\t\t\t},\n\t\t\tIdentity: \u0026containerservice.KubernetesClusterIdentityArgs{\n\t\t\t\tType: pulumi.String(\"SystemAssigned\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = containerservice.NewFleetMember(ctx, \"example\", \u0026containerservice.FleetMemberArgs{\n\t\t\tName:                pulumi.String(\"example\"),\n\t\t\tKubernetesFleetId:   exampleKubernetesFleetManager.ID(),\n\t\t\tKubernetesClusterId: exampleKubernetesCluster.ID(),\n\t\t\tGroup:               pulumi.String(\"example-group\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = containerservice.NewFleetUpdateRun(ctx, \"example\", \u0026containerservice.FleetUpdateRunArgs{\n\t\t\tName:                     pulumi.String(\"example\"),\n\t\t\tKubernetesFleetManagerId: exampleKubernetesFleetManager.ID(),\n\t\t\tManagedClusterUpdate: \u0026containerservice.FleetUpdateRunManagedClusterUpdateArgs{\n\t\t\t\tUpgrade: \u0026containerservice.FleetUpdateRunManagedClusterUpdateUpgradeArgs{\n\t\t\t\t\tType:              pulumi.String(\"Full\"),\n\t\t\t\t\tKubernetesVersion: pulumi.String(\"1.27\"),\n\t\t\t\t},\n\t\t\t\tNodeImageSelection: \u0026containerservice.FleetUpdateRunManagedClusterUpdateNodeImageSelectionArgs{\n\t\t\t\t\tType: pulumi.String(\"Latest\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tStages: containerservice.FleetUpdateRunStageArray{\n\t\t\t\t\u0026containerservice.FleetUpdateRunStageArgs{\n\t\t\t\t\tName: pulumi.String(\"example\"),\n\t\t\t\t\tGroups: containerservice.FleetUpdateRunStageGroupArray{\n\t\t\t\t\t\t\u0026containerservice.FleetUpdateRunStageGroupArgs{\n\t\t\t\t\t\t\tName: pulumi.String(\"example-group\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tAfterStageWaitInSeconds: pulumi.Int(21),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.containerservice.KubernetesFleetManager;\nimport com.pulumi.azure.containerservice.KubernetesFleetManagerArgs;\nimport com.pulumi.azure.containerservice.KubernetesCluster;\nimport com.pulumi.azure.containerservice.KubernetesClusterArgs;\nimport com.pulumi.azure.containerservice.inputs.KubernetesClusterDefaultNodePoolArgs;\nimport com.pulumi.azure.containerservice.inputs.KubernetesClusterIdentityArgs;\nimport com.pulumi.azure.containerservice.FleetMember;\nimport com.pulumi.azure.containerservice.FleetMemberArgs;\nimport com.pulumi.azure.containerservice.FleetUpdateRun;\nimport com.pulumi.azure.containerservice.FleetUpdateRunArgs;\nimport com.pulumi.azure.containerservice.inputs.FleetUpdateRunManagedClusterUpdateArgs;\nimport com.pulumi.azure.containerservice.inputs.FleetUpdateRunManagedClusterUpdateUpgradeArgs;\nimport com.pulumi.azure.containerservice.inputs.FleetUpdateRunManagedClusterUpdateNodeImageSelectionArgs;\nimport com.pulumi.azure.containerservice.inputs.FleetUpdateRunStageArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-rg\")\n            .location(\"westeurope\")\n            .build());\n\n        var exampleKubernetesFleetManager = new KubernetesFleetManager(\"exampleKubernetesFleetManager\", KubernetesFleetManagerArgs.builder()\n            .location(example.location())\n            .name(\"example\")\n            .resourceGroupName(example.name())\n            .build());\n\n        var exampleKubernetesCluster = new KubernetesCluster(\"exampleKubernetesCluster\", KubernetesClusterArgs.builder()\n            .name(\"example\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .dnsPrefix(\"example\")\n            .defaultNodePool(KubernetesClusterDefaultNodePoolArgs.builder()\n                .name(\"default\")\n                .nodeCount(1)\n                .vmSize(\"Standard_DS2_v2\")\n                .build())\n            .identity(KubernetesClusterIdentityArgs.builder()\n                .type(\"SystemAssigned\")\n                .build())\n            .build());\n\n        var exampleFleetMember = new FleetMember(\"exampleFleetMember\", FleetMemberArgs.builder()\n            .name(\"example\")\n            .kubernetesFleetId(exampleKubernetesFleetManager.id())\n            .kubernetesClusterId(exampleKubernetesCluster.id())\n            .group(\"example-group\")\n            .build());\n\n        var exampleFleetUpdateRun = new FleetUpdateRun(\"exampleFleetUpdateRun\", FleetUpdateRunArgs.builder()\n            .name(\"example\")\n            .kubernetesFleetManagerId(exampleKubernetesFleetManager.id())\n            .managedClusterUpdate(FleetUpdateRunManagedClusterUpdateArgs.builder()\n                .upgrade(FleetUpdateRunManagedClusterUpdateUpgradeArgs.builder()\n                    .type(\"Full\")\n                    .kubernetesVersion(\"1.27\")\n                    .build())\n                .nodeImageSelection(FleetUpdateRunManagedClusterUpdateNodeImageSelectionArgs.builder()\n                    .type(\"Latest\")\n                    .build())\n                .build())\n            .stages(FleetUpdateRunStageArgs.builder()\n                .name(\"example\")\n                .groups(FleetUpdateRunStageGroupArgs.builder()\n                    .name(\"example-group\")\n                    .build())\n                .afterStageWaitInSeconds(21)\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-rg\n      location: westeurope\n  exampleKubernetesFleetManager:\n    type: azure:containerservice:KubernetesFleetManager\n    name: example\n    properties:\n      location: ${example.location}\n      name: example\n      resourceGroupName: ${example.name}\n  exampleKubernetesCluster:\n    type: azure:containerservice:KubernetesCluster\n    name: example\n    properties:\n      name: example\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      dnsPrefix: example\n      defaultNodePool:\n        name: default\n        nodeCount: 1\n        vmSize: Standard_DS2_v2\n      identity:\n        type: SystemAssigned\n  exampleFleetMember:\n    type: azure:containerservice:FleetMember\n    name: example\n    properties:\n      name: example\n      kubernetesFleetId: ${exampleKubernetesFleetManager.id}\n      kubernetesClusterId: ${exampleKubernetesCluster.id}\n      group: example-group\n  exampleFleetUpdateRun:\n    type: azure:containerservice:FleetUpdateRun\n    name: example\n    properties:\n      name: example\n      kubernetesFleetManagerId: ${exampleKubernetesFleetManager.id}\n      managedClusterUpdate:\n        upgrade:\n          type: Full\n          kubernetesVersion: '1.27'\n        nodeImageSelection:\n          type: Latest\n      stages:\n        - name: example\n          groups:\n            - name: example-group\n          afterStageWaitInSeconds: 21\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.ContainerService` - 2024-04-01\n\n## Import\n\nKubernetes Fleet Update Runs can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:containerservice/fleetUpdateRun:FleetUpdateRun example /subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/resourceGroup1/providers/Microsoft.ContainerService/fleets/fleet1/updateRuns/updateRun1\n```\n\n","properties":{"fleetUpdateStrategyId":{"type":"string","description":"The ID of the Fleet Update Strategy. Only one of \u003cspan pulumi-lang-nodejs=\"`fleetUpdateStrategyId`\" pulumi-lang-dotnet=\"`FleetUpdateStrategyId`\" pulumi-lang-go=\"`fleetUpdateStrategyId`\" pulumi-lang-python=\"`fleet_update_strategy_id`\" pulumi-lang-yaml=\"`fleetUpdateStrategyId`\" pulumi-lang-java=\"`fleetUpdateStrategyId`\"\u003e`fleet_update_strategy_id`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`stage`\" pulumi-lang-dotnet=\"`Stage`\" pulumi-lang-go=\"`stage`\" pulumi-lang-python=\"`stage`\" pulumi-lang-yaml=\"`stage`\" pulumi-lang-java=\"`stage`\"\u003e`stage`\u003c/span\u003e can be specified.\n"},"kubernetesFleetManagerId":{"type":"string","description":"The ID of the Fleet Manager. Changing this forces a new Kubernetes Fleet Update Run to be created.\n"},"managedClusterUpdate":{"$ref":"#/types/azure:containerservice/FleetUpdateRunManagedClusterUpdate:FleetUpdateRunManagedClusterUpdate","description":"A \u003cspan pulumi-lang-nodejs=\"`managedClusterUpdate`\" pulumi-lang-dotnet=\"`ManagedClusterUpdate`\" pulumi-lang-go=\"`managedClusterUpdate`\" pulumi-lang-python=\"`managed_cluster_update`\" pulumi-lang-yaml=\"`managedClusterUpdate`\" pulumi-lang-java=\"`managedClusterUpdate`\"\u003e`managed_cluster_update`\u003c/span\u003e block as defined below.\n"},"name":{"type":"string","description":"The name which should be used for this Kubernetes Fleet Update Run. Changing this forces a new Kubernetes Fleet Update Run to be created.\n"},"stages":{"type":"array","items":{"$ref":"#/types/azure:containerservice/FleetUpdateRunStage:FleetUpdateRunStage"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`stage`\" pulumi-lang-dotnet=\"`Stage`\" pulumi-lang-go=\"`stage`\" pulumi-lang-python=\"`stage`\" pulumi-lang-yaml=\"`stage`\" pulumi-lang-java=\"`stage`\"\u003e`stage`\u003c/span\u003e blocks as defined below. Only one of \u003cspan pulumi-lang-nodejs=\"`stage`\" pulumi-lang-dotnet=\"`Stage`\" pulumi-lang-go=\"`stage`\" pulumi-lang-python=\"`stage`\" pulumi-lang-yaml=\"`stage`\" pulumi-lang-java=\"`stage`\"\u003e`stage`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`fleetUpdateStrategyId`\" pulumi-lang-dotnet=\"`FleetUpdateStrategyId`\" pulumi-lang-go=\"`fleetUpdateStrategyId`\" pulumi-lang-python=\"`fleet_update_strategy_id`\" pulumi-lang-yaml=\"`fleetUpdateStrategyId`\" pulumi-lang-java=\"`fleetUpdateStrategyId`\"\u003e`fleet_update_strategy_id`\u003c/span\u003e can be specified.\n"}},"required":["kubernetesFleetManagerId","managedClusterUpdate","name"],"inputProperties":{"fleetUpdateStrategyId":{"type":"string","description":"The ID of the Fleet Update Strategy. Only one of \u003cspan pulumi-lang-nodejs=\"`fleetUpdateStrategyId`\" pulumi-lang-dotnet=\"`FleetUpdateStrategyId`\" pulumi-lang-go=\"`fleetUpdateStrategyId`\" pulumi-lang-python=\"`fleet_update_strategy_id`\" pulumi-lang-yaml=\"`fleetUpdateStrategyId`\" pulumi-lang-java=\"`fleetUpdateStrategyId`\"\u003e`fleet_update_strategy_id`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`stage`\" pulumi-lang-dotnet=\"`Stage`\" pulumi-lang-go=\"`stage`\" pulumi-lang-python=\"`stage`\" pulumi-lang-yaml=\"`stage`\" pulumi-lang-java=\"`stage`\"\u003e`stage`\u003c/span\u003e can be specified.\n"},"kubernetesFleetManagerId":{"type":"string","description":"The ID of the Fleet Manager. Changing this forces a new Kubernetes Fleet Update Run to be created.\n","willReplaceOnChanges":true},"managedClusterUpdate":{"$ref":"#/types/azure:containerservice/FleetUpdateRunManagedClusterUpdate:FleetUpdateRunManagedClusterUpdate","description":"A \u003cspan pulumi-lang-nodejs=\"`managedClusterUpdate`\" pulumi-lang-dotnet=\"`ManagedClusterUpdate`\" pulumi-lang-go=\"`managedClusterUpdate`\" pulumi-lang-python=\"`managed_cluster_update`\" pulumi-lang-yaml=\"`managedClusterUpdate`\" pulumi-lang-java=\"`managedClusterUpdate`\"\u003e`managed_cluster_update`\u003c/span\u003e block as defined below.\n"},"name":{"type":"string","description":"The name which should be used for this Kubernetes Fleet Update Run. Changing this forces a new Kubernetes Fleet Update Run to be created.\n","willReplaceOnChanges":true},"stages":{"type":"array","items":{"$ref":"#/types/azure:containerservice/FleetUpdateRunStage:FleetUpdateRunStage"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`stage`\" pulumi-lang-dotnet=\"`Stage`\" pulumi-lang-go=\"`stage`\" pulumi-lang-python=\"`stage`\" pulumi-lang-yaml=\"`stage`\" pulumi-lang-java=\"`stage`\"\u003e`stage`\u003c/span\u003e blocks as defined below. Only one of \u003cspan pulumi-lang-nodejs=\"`stage`\" pulumi-lang-dotnet=\"`Stage`\" pulumi-lang-go=\"`stage`\" pulumi-lang-python=\"`stage`\" pulumi-lang-yaml=\"`stage`\" pulumi-lang-java=\"`stage`\"\u003e`stage`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`fleetUpdateStrategyId`\" pulumi-lang-dotnet=\"`FleetUpdateStrategyId`\" pulumi-lang-go=\"`fleetUpdateStrategyId`\" pulumi-lang-python=\"`fleet_update_strategy_id`\" pulumi-lang-yaml=\"`fleetUpdateStrategyId`\" pulumi-lang-java=\"`fleetUpdateStrategyId`\"\u003e`fleet_update_strategy_id`\u003c/span\u003e can be specified.\n"}},"requiredInputs":["kubernetesFleetManagerId","managedClusterUpdate"],"stateInputs":{"description":"Input properties used for looking up and filtering FleetUpdateRun resources.\n","properties":{"fleetUpdateStrategyId":{"type":"string","description":"The ID of the Fleet Update Strategy. Only one of \u003cspan pulumi-lang-nodejs=\"`fleetUpdateStrategyId`\" pulumi-lang-dotnet=\"`FleetUpdateStrategyId`\" pulumi-lang-go=\"`fleetUpdateStrategyId`\" pulumi-lang-python=\"`fleet_update_strategy_id`\" pulumi-lang-yaml=\"`fleetUpdateStrategyId`\" pulumi-lang-java=\"`fleetUpdateStrategyId`\"\u003e`fleet_update_strategy_id`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`stage`\" pulumi-lang-dotnet=\"`Stage`\" pulumi-lang-go=\"`stage`\" pulumi-lang-python=\"`stage`\" pulumi-lang-yaml=\"`stage`\" pulumi-lang-java=\"`stage`\"\u003e`stage`\u003c/span\u003e can be specified.\n"},"kubernetesFleetManagerId":{"type":"string","description":"The ID of the Fleet Manager. Changing this forces a new Kubernetes Fleet Update Run to be created.\n","willReplaceOnChanges":true},"managedClusterUpdate":{"$ref":"#/types/azure:containerservice/FleetUpdateRunManagedClusterUpdate:FleetUpdateRunManagedClusterUpdate","description":"A \u003cspan pulumi-lang-nodejs=\"`managedClusterUpdate`\" pulumi-lang-dotnet=\"`ManagedClusterUpdate`\" pulumi-lang-go=\"`managedClusterUpdate`\" pulumi-lang-python=\"`managed_cluster_update`\" pulumi-lang-yaml=\"`managedClusterUpdate`\" pulumi-lang-java=\"`managedClusterUpdate`\"\u003e`managed_cluster_update`\u003c/span\u003e block as defined below.\n"},"name":{"type":"string","description":"The name which should be used for this Kubernetes Fleet Update Run. Changing this forces a new Kubernetes Fleet Update Run to be created.\n","willReplaceOnChanges":true},"stages":{"type":"array","items":{"$ref":"#/types/azure:containerservice/FleetUpdateRunStage:FleetUpdateRunStage"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`stage`\" pulumi-lang-dotnet=\"`Stage`\" pulumi-lang-go=\"`stage`\" pulumi-lang-python=\"`stage`\" pulumi-lang-yaml=\"`stage`\" pulumi-lang-java=\"`stage`\"\u003e`stage`\u003c/span\u003e blocks as defined below. Only one of \u003cspan pulumi-lang-nodejs=\"`stage`\" pulumi-lang-dotnet=\"`Stage`\" pulumi-lang-go=\"`stage`\" pulumi-lang-python=\"`stage`\" pulumi-lang-yaml=\"`stage`\" pulumi-lang-java=\"`stage`\"\u003e`stage`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`fleetUpdateStrategyId`\" pulumi-lang-dotnet=\"`FleetUpdateStrategyId`\" pulumi-lang-go=\"`fleetUpdateStrategyId`\" pulumi-lang-python=\"`fleet_update_strategy_id`\" pulumi-lang-yaml=\"`fleetUpdateStrategyId`\" pulumi-lang-java=\"`fleetUpdateStrategyId`\"\u003e`fleet_update_strategy_id`\u003c/span\u003e can be specified.\n"}},"type":"object"}},"azure:containerservice/fleetUpdateStrategy:FleetUpdateStrategy":{"description":"Manages a Kubernetes Fleet Update Strategy.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-rg\",\n    location: \"westeurope\",\n});\nconst exampleKubernetesFleetManager = new azure.containerservice.KubernetesFleetManager(\"example\", {\n    location: example.location,\n    name: \"example\",\n    resourceGroupName: example.name,\n});\nconst exampleFleetUpdateStrategy = new azure.containerservice.FleetUpdateStrategy(\"example\", {\n    name: \"example\",\n    kubernetesFleetManagerId: exampleKubernetesFleetManager.id,\n    stages: [{\n        name: \"example-stage-1\",\n        groups: [{\n            name: \"example-group-1\",\n        }],\n        afterStageWaitInSeconds: 21,\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-rg\",\n    location=\"westeurope\")\nexample_kubernetes_fleet_manager = azure.containerservice.KubernetesFleetManager(\"example\",\n    location=example.location,\n    name=\"example\",\n    resource_group_name=example.name)\nexample_fleet_update_strategy = azure.containerservice.FleetUpdateStrategy(\"example\",\n    name=\"example\",\n    kubernetes_fleet_manager_id=example_kubernetes_fleet_manager.id,\n    stages=[{\n        \"name\": \"example-stage-1\",\n        \"groups\": [{\n            \"name\": \"example-group-1\",\n        }],\n        \"after_stage_wait_in_seconds\": 21,\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-rg\",\n        Location = \"westeurope\",\n    });\n\n    var exampleKubernetesFleetManager = new Azure.ContainerService.KubernetesFleetManager(\"example\", new()\n    {\n        Location = example.Location,\n        Name = \"example\",\n        ResourceGroupName = example.Name,\n    });\n\n    var exampleFleetUpdateStrategy = new Azure.ContainerService.FleetUpdateStrategy(\"example\", new()\n    {\n        Name = \"example\",\n        KubernetesFleetManagerId = exampleKubernetesFleetManager.Id,\n        Stages = new[]\n        {\n            new Azure.ContainerService.Inputs.FleetUpdateStrategyStageArgs\n            {\n                Name = \"example-stage-1\",\n                Groups = new[]\n                {\n                    new Azure.ContainerService.Inputs.FleetUpdateStrategyStageGroupArgs\n                    {\n                        Name = \"example-group-1\",\n                    },\n                },\n                AfterStageWaitInSeconds = 21,\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/containerservice\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-rg\"),\n\t\t\tLocation: pulumi.String(\"westeurope\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleKubernetesFleetManager, err := containerservice.NewKubernetesFleetManager(ctx, \"example\", \u0026containerservice.KubernetesFleetManagerArgs{\n\t\t\tLocation:          example.Location,\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = containerservice.NewFleetUpdateStrategy(ctx, \"example\", \u0026containerservice.FleetUpdateStrategyArgs{\n\t\t\tName:                     pulumi.String(\"example\"),\n\t\t\tKubernetesFleetManagerId: exampleKubernetesFleetManager.ID(),\n\t\t\tStages: containerservice.FleetUpdateStrategyStageArray{\n\t\t\t\t\u0026containerservice.FleetUpdateStrategyStageArgs{\n\t\t\t\t\tName: pulumi.String(\"example-stage-1\"),\n\t\t\t\t\tGroups: containerservice.FleetUpdateStrategyStageGroupArray{\n\t\t\t\t\t\t\u0026containerservice.FleetUpdateStrategyStageGroupArgs{\n\t\t\t\t\t\t\tName: pulumi.String(\"example-group-1\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tAfterStageWaitInSeconds: pulumi.Int(21),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.containerservice.KubernetesFleetManager;\nimport com.pulumi.azure.containerservice.KubernetesFleetManagerArgs;\nimport com.pulumi.azure.containerservice.FleetUpdateStrategy;\nimport com.pulumi.azure.containerservice.FleetUpdateStrategyArgs;\nimport com.pulumi.azure.containerservice.inputs.FleetUpdateStrategyStageArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-rg\")\n            .location(\"westeurope\")\n            .build());\n\n        var exampleKubernetesFleetManager = new KubernetesFleetManager(\"exampleKubernetesFleetManager\", KubernetesFleetManagerArgs.builder()\n            .location(example.location())\n            .name(\"example\")\n            .resourceGroupName(example.name())\n            .build());\n\n        var exampleFleetUpdateStrategy = new FleetUpdateStrategy(\"exampleFleetUpdateStrategy\", FleetUpdateStrategyArgs.builder()\n            .name(\"example\")\n            .kubernetesFleetManagerId(exampleKubernetesFleetManager.id())\n            .stages(FleetUpdateStrategyStageArgs.builder()\n                .name(\"example-stage-1\")\n                .groups(FleetUpdateStrategyStageGroupArgs.builder()\n                    .name(\"example-group-1\")\n                    .build())\n                .afterStageWaitInSeconds(21)\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-rg\n      location: westeurope\n  exampleKubernetesFleetManager:\n    type: azure:containerservice:KubernetesFleetManager\n    name: example\n    properties:\n      location: ${example.location}\n      name: example\n      resourceGroupName: ${example.name}\n  exampleFleetUpdateStrategy:\n    type: azure:containerservice:FleetUpdateStrategy\n    name: example\n    properties:\n      name: example\n      kubernetesFleetManagerId: ${exampleKubernetesFleetManager.id}\n      stages:\n        - name: example-stage-1\n          groups:\n            - name: example-group-1\n          afterStageWaitInSeconds: 21\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.ContainerService` - 2024-04-01\n\n## Import\n\nKubernetes Fleet Update Strategies can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:containerservice/fleetUpdateStrategy:FleetUpdateStrategy example /subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/resourceGroup1/providers/Microsoft.ContainerService/fleets/fleet1/updateStrategies/updateStrategy1\n```\n\n","properties":{"kubernetesFleetManagerId":{"type":"string","description":"The ID of the Fleet Manager. Changing this forces a new Kubernetes Fleet Update Strategy to be created.\n"},"name":{"type":"string","description":"The name which should be used for this Kubernetes Fleet Update Strategy. Changing this forces a new Kubernetes Fleet Update Strategy to be created.\n"},"stages":{"type":"array","items":{"$ref":"#/types/azure:containerservice/FleetUpdateStrategyStage:FleetUpdateStrategyStage"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`stage`\" pulumi-lang-dotnet=\"`Stage`\" pulumi-lang-go=\"`stage`\" pulumi-lang-python=\"`stage`\" pulumi-lang-yaml=\"`stage`\" pulumi-lang-java=\"`stage`\"\u003e`stage`\u003c/span\u003e blocks as defined below.\n"}},"required":["kubernetesFleetManagerId","name","stages"],"inputProperties":{"kubernetesFleetManagerId":{"type":"string","description":"The ID of the Fleet Manager. Changing this forces a new Kubernetes Fleet Update Strategy to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Kubernetes Fleet Update Strategy. Changing this forces a new Kubernetes Fleet Update Strategy to be created.\n","willReplaceOnChanges":true},"stages":{"type":"array","items":{"$ref":"#/types/azure:containerservice/FleetUpdateStrategyStage:FleetUpdateStrategyStage"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`stage`\" pulumi-lang-dotnet=\"`Stage`\" pulumi-lang-go=\"`stage`\" pulumi-lang-python=\"`stage`\" pulumi-lang-yaml=\"`stage`\" pulumi-lang-java=\"`stage`\"\u003e`stage`\u003c/span\u003e blocks as defined below.\n"}},"requiredInputs":["kubernetesFleetManagerId","stages"],"stateInputs":{"description":"Input properties used for looking up and filtering FleetUpdateStrategy resources.\n","properties":{"kubernetesFleetManagerId":{"type":"string","description":"The ID of the Fleet Manager. Changing this forces a new Kubernetes Fleet Update Strategy to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Kubernetes Fleet Update Strategy. Changing this forces a new Kubernetes Fleet Update Strategy to be created.\n","willReplaceOnChanges":true},"stages":{"type":"array","items":{"$ref":"#/types/azure:containerservice/FleetUpdateStrategyStage:FleetUpdateStrategyStage"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`stage`\" pulumi-lang-dotnet=\"`Stage`\" pulumi-lang-go=\"`stage`\" pulumi-lang-python=\"`stage`\" pulumi-lang-yaml=\"`stage`\" pulumi-lang-java=\"`stage`\"\u003e`stage`\u003c/span\u003e blocks as defined below.\n"}},"type":"object"}},"azure:containerservice/fluxConfiguration:FluxConfiguration":{"description":"Manages a Kubernetes Flux Configuration.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleKubernetesCluster = new azure.containerservice.KubernetesCluster(\"example\", {\n    name: \"example-aks\",\n    location: \"West Europe\",\n    resourceGroupName: example.name,\n    dnsPrefix: \"example-aks\",\n    defaultNodePool: {\n        name: \"default\",\n        nodeCount: 1,\n        vmSize: \"Standard_DS2_v2\",\n    },\n    identity: {\n        type: \"SystemAssigned\",\n    },\n});\nconst exampleKubernetesClusterExtension = new azure.containerservice.KubernetesClusterExtension(\"example\", {\n    name: \"example-ext\",\n    clusterId: test.id,\n    extensionType: \"microsoft.flux\",\n});\nconst exampleFluxConfiguration = new azure.containerservice.FluxConfiguration(\"example\", {\n    name: \"example-fc\",\n    clusterId: test.id,\n    namespace: \"flux\",\n    gitRepository: {\n        url: \"https://github.com/Azure/arc-k8s-demo\",\n        referenceType: \"branch\",\n        referenceValue: \"main\",\n    },\n    kustomizations: [{\n        name: \"kustomization-1\",\n        postBuild: {\n            substitute: {\n                example_var: \"substitute_with_this\",\n            },\n            substituteFroms: [{\n                kind: \"ConfigMap\",\n                name: \"example-configmap\",\n            }],\n        },\n    }],\n}, {\n    dependsOn: [exampleKubernetesClusterExtension],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_kubernetes_cluster = azure.containerservice.KubernetesCluster(\"example\",\n    name=\"example-aks\",\n    location=\"West Europe\",\n    resource_group_name=example.name,\n    dns_prefix=\"example-aks\",\n    default_node_pool={\n        \"name\": \"default\",\n        \"node_count\": 1,\n        \"vm_size\": \"Standard_DS2_v2\",\n    },\n    identity={\n        \"type\": \"SystemAssigned\",\n    })\nexample_kubernetes_cluster_extension = azure.containerservice.KubernetesClusterExtension(\"example\",\n    name=\"example-ext\",\n    cluster_id=test[\"id\"],\n    extension_type=\"microsoft.flux\")\nexample_flux_configuration = azure.containerservice.FluxConfiguration(\"example\",\n    name=\"example-fc\",\n    cluster_id=test[\"id\"],\n    namespace=\"flux\",\n    git_repository={\n        \"url\": \"https://github.com/Azure/arc-k8s-demo\",\n        \"reference_type\": \"branch\",\n        \"reference_value\": \"main\",\n    },\n    kustomizations=[{\n        \"name\": \"kustomization-1\",\n        \"post_build\": {\n            \"substitute\": {\n                \"example_var\": \"substitute_with_this\",\n            },\n            \"substitute_froms\": [{\n                \"kind\": \"ConfigMap\",\n                \"name\": \"example-configmap\",\n            }],\n        },\n    }],\n    opts = pulumi.ResourceOptions(depends_on=[example_kubernetes_cluster_extension]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleKubernetesCluster = new Azure.ContainerService.KubernetesCluster(\"example\", new()\n    {\n        Name = \"example-aks\",\n        Location = \"West Europe\",\n        ResourceGroupName = example.Name,\n        DnsPrefix = \"example-aks\",\n        DefaultNodePool = new Azure.ContainerService.Inputs.KubernetesClusterDefaultNodePoolArgs\n        {\n            Name = \"default\",\n            NodeCount = 1,\n            VmSize = \"Standard_DS2_v2\",\n        },\n        Identity = new Azure.ContainerService.Inputs.KubernetesClusterIdentityArgs\n        {\n            Type = \"SystemAssigned\",\n        },\n    });\n\n    var exampleKubernetesClusterExtension = new Azure.ContainerService.KubernetesClusterExtension(\"example\", new()\n    {\n        Name = \"example-ext\",\n        ClusterId = test.Id,\n        ExtensionType = \"microsoft.flux\",\n    });\n\n    var exampleFluxConfiguration = new Azure.ContainerService.FluxConfiguration(\"example\", new()\n    {\n        Name = \"example-fc\",\n        ClusterId = test.Id,\n        Namespace = \"flux\",\n        GitRepository = new Azure.ContainerService.Inputs.FluxConfigurationGitRepositoryArgs\n        {\n            Url = \"https://github.com/Azure/arc-k8s-demo\",\n            ReferenceType = \"branch\",\n            ReferenceValue = \"main\",\n        },\n        Kustomizations = new[]\n        {\n            new Azure.ContainerService.Inputs.FluxConfigurationKustomizationArgs\n            {\n                Name = \"kustomization-1\",\n                PostBuild = new Azure.ContainerService.Inputs.FluxConfigurationKustomizationPostBuildArgs\n                {\n                    Substitute = \n                    {\n                        { \"example_var\", \"substitute_with_this\" },\n                    },\n                    SubstituteFroms = new[]\n                    {\n                        new Azure.ContainerService.Inputs.FluxConfigurationKustomizationPostBuildSubstituteFromArgs\n                        {\n                            Kind = \"ConfigMap\",\n                            Name = \"example-configmap\",\n                        },\n                    },\n                },\n            },\n        },\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            exampleKubernetesClusterExtension,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/containerservice\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = containerservice.NewKubernetesCluster(ctx, \"example\", \u0026containerservice.KubernetesClusterArgs{\n\t\t\tName:              pulumi.String(\"example-aks\"),\n\t\t\tLocation:          pulumi.String(\"West Europe\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tDnsPrefix:         pulumi.String(\"example-aks\"),\n\t\t\tDefaultNodePool: \u0026containerservice.KubernetesClusterDefaultNodePoolArgs{\n\t\t\t\tName:      pulumi.String(\"default\"),\n\t\t\t\tNodeCount: pulumi.Int(1),\n\t\t\t\tVmSize:    pulumi.String(\"Standard_DS2_v2\"),\n\t\t\t},\n\t\t\tIdentity: \u0026containerservice.KubernetesClusterIdentityArgs{\n\t\t\t\tType: pulumi.String(\"SystemAssigned\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleKubernetesClusterExtension, err := containerservice.NewKubernetesClusterExtension(ctx, \"example\", \u0026containerservice.KubernetesClusterExtensionArgs{\n\t\t\tName:          pulumi.String(\"example-ext\"),\n\t\t\tClusterId:     pulumi.Any(test.Id),\n\t\t\tExtensionType: pulumi.String(\"microsoft.flux\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = containerservice.NewFluxConfiguration(ctx, \"example\", \u0026containerservice.FluxConfigurationArgs{\n\t\t\tName:      pulumi.String(\"example-fc\"),\n\t\t\tClusterId: pulumi.Any(test.Id),\n\t\t\tNamespace: pulumi.String(\"flux\"),\n\t\t\tGitRepository: \u0026containerservice.FluxConfigurationGitRepositoryArgs{\n\t\t\t\tUrl:            pulumi.String(\"https://github.com/Azure/arc-k8s-demo\"),\n\t\t\t\tReferenceType:  pulumi.String(\"branch\"),\n\t\t\t\tReferenceValue: pulumi.String(\"main\"),\n\t\t\t},\n\t\t\tKustomizations: containerservice.FluxConfigurationKustomizationArray{\n\t\t\t\t\u0026containerservice.FluxConfigurationKustomizationArgs{\n\t\t\t\t\tName: pulumi.String(\"kustomization-1\"),\n\t\t\t\t\tPostBuild: \u0026containerservice.FluxConfigurationKustomizationPostBuildArgs{\n\t\t\t\t\t\tSubstitute: pulumi.StringMap{\n\t\t\t\t\t\t\t\"example_var\": pulumi.String(\"substitute_with_this\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tSubstituteFroms: containerservice.FluxConfigurationKustomizationPostBuildSubstituteFromArray{\n\t\t\t\t\t\t\t\u0026containerservice.FluxConfigurationKustomizationPostBuildSubstituteFromArgs{\n\t\t\t\t\t\t\t\tKind: pulumi.String(\"ConfigMap\"),\n\t\t\t\t\t\t\t\tName: pulumi.String(\"example-configmap\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleKubernetesClusterExtension,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.containerservice.KubernetesCluster;\nimport com.pulumi.azure.containerservice.KubernetesClusterArgs;\nimport com.pulumi.azure.containerservice.inputs.KubernetesClusterDefaultNodePoolArgs;\nimport com.pulumi.azure.containerservice.inputs.KubernetesClusterIdentityArgs;\nimport com.pulumi.azure.containerservice.KubernetesClusterExtension;\nimport com.pulumi.azure.containerservice.KubernetesClusterExtensionArgs;\nimport com.pulumi.azure.containerservice.FluxConfiguration;\nimport com.pulumi.azure.containerservice.FluxConfigurationArgs;\nimport com.pulumi.azure.containerservice.inputs.FluxConfigurationGitRepositoryArgs;\nimport com.pulumi.azure.containerservice.inputs.FluxConfigurationKustomizationArgs;\nimport com.pulumi.azure.containerservice.inputs.FluxConfigurationKustomizationPostBuildArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleKubernetesCluster = new KubernetesCluster(\"exampleKubernetesCluster\", KubernetesClusterArgs.builder()\n            .name(\"example-aks\")\n            .location(\"West Europe\")\n            .resourceGroupName(example.name())\n            .dnsPrefix(\"example-aks\")\n            .defaultNodePool(KubernetesClusterDefaultNodePoolArgs.builder()\n                .name(\"default\")\n                .nodeCount(1)\n                .vmSize(\"Standard_DS2_v2\")\n                .build())\n            .identity(KubernetesClusterIdentityArgs.builder()\n                .type(\"SystemAssigned\")\n                .build())\n            .build());\n\n        var exampleKubernetesClusterExtension = new KubernetesClusterExtension(\"exampleKubernetesClusterExtension\", KubernetesClusterExtensionArgs.builder()\n            .name(\"example-ext\")\n            .clusterId(test.id())\n            .extensionType(\"microsoft.flux\")\n            .build());\n\n        var exampleFluxConfiguration = new FluxConfiguration(\"exampleFluxConfiguration\", FluxConfigurationArgs.builder()\n            .name(\"example-fc\")\n            .clusterId(test.id())\n            .namespace(\"flux\")\n            .gitRepository(FluxConfigurationGitRepositoryArgs.builder()\n                .url(\"https://github.com/Azure/arc-k8s-demo\")\n                .referenceType(\"branch\")\n                .referenceValue(\"main\")\n                .build())\n            .kustomizations(FluxConfigurationKustomizationArgs.builder()\n                .name(\"kustomization-1\")\n                .postBuild(FluxConfigurationKustomizationPostBuildArgs.builder()\n                    .substitute(Map.of(\"example_var\", \"substitute_with_this\"))\n                    .substituteFroms(FluxConfigurationKustomizationPostBuildSubstituteFromArgs.builder()\n                        .kind(\"ConfigMap\")\n                        .name(\"example-configmap\")\n                        .build())\n                    .build())\n                .build())\n            .build(), CustomResourceOptions.builder()\n                .dependsOn(exampleKubernetesClusterExtension)\n                .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleKubernetesCluster:\n    type: azure:containerservice:KubernetesCluster\n    name: example\n    properties:\n      name: example-aks\n      location: West Europe\n      resourceGroupName: ${example.name}\n      dnsPrefix: example-aks\n      defaultNodePool:\n        name: default\n        nodeCount: 1\n        vmSize: Standard_DS2_v2\n      identity:\n        type: SystemAssigned\n  exampleKubernetesClusterExtension:\n    type: azure:containerservice:KubernetesClusterExtension\n    name: example\n    properties:\n      name: example-ext\n      clusterId: ${test.id}\n      extensionType: microsoft.flux\n  exampleFluxConfiguration:\n    type: azure:containerservice:FluxConfiguration\n    name: example\n    properties:\n      name: example-fc\n      clusterId: ${test.id}\n      namespace: flux\n      gitRepository:\n        url: https://github.com/Azure/arc-k8s-demo\n        referenceType: branch\n        referenceValue: main\n      kustomizations:\n        - name: kustomization-1\n          postBuild:\n            substitute:\n              example_var: substitute_with_this\n            substituteFroms:\n              - kind: ConfigMap\n                name: example-configmap\n    options:\n      dependsOn:\n        - ${exampleKubernetesClusterExtension}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.KubernetesConfiguration` - 2024-11-01\n\n## Import\n\nKubernetes Flux Configuration can be imported using the `resource id` for different \u003cspan pulumi-lang-nodejs=\"`clusterResourceName`\" pulumi-lang-dotnet=\"`ClusterResourceName`\" pulumi-lang-go=\"`clusterResourceName`\" pulumi-lang-python=\"`cluster_resource_name`\" pulumi-lang-yaml=\"`clusterResourceName`\" pulumi-lang-java=\"`clusterResourceName`\"\u003e`cluster_resource_name`\u003c/span\u003e, e.g.\n\n```sh\n$ pulumi import azure:containerservice/fluxConfiguration:FluxConfiguration example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup1/providers/Microsoft.ContainerService/managedClusters/cluster1/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/fluxConfiguration1\n```\n\n","properties":{"blobStorage":{"$ref":"#/types/azure:containerservice/FluxConfigurationBlobStorage:FluxConfigurationBlobStorage","description":"An \u003cspan pulumi-lang-nodejs=\"`blobStorage`\" pulumi-lang-dotnet=\"`BlobStorage`\" pulumi-lang-go=\"`blobStorage`\" pulumi-lang-python=\"`blob_storage`\" pulumi-lang-yaml=\"`blobStorage`\" pulumi-lang-java=\"`blobStorage`\"\u003e`blob_storage`\u003c/span\u003e block as defined below.\n"},"bucket":{"$ref":"#/types/azure:containerservice/FluxConfigurationBucket:FluxConfigurationBucket","description":"A \u003cspan pulumi-lang-nodejs=\"`bucket`\" pulumi-lang-dotnet=\"`Bucket`\" pulumi-lang-go=\"`bucket`\" pulumi-lang-python=\"`bucket`\" pulumi-lang-yaml=\"`bucket`\" pulumi-lang-java=\"`bucket`\"\u003e`bucket`\u003c/span\u003e block as defined below.\n"},"clusterId":{"type":"string","description":"Specifies the Cluster ID. Changing this forces a new Kubernetes Cluster Extension to be created.\n"},"continuousReconciliationEnabled":{"type":"boolean","description":"Whether the configuration will keep its reconciliation of its kustomizations and sources with the repository. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"gitRepository":{"$ref":"#/types/azure:containerservice/FluxConfigurationGitRepository:FluxConfigurationGitRepository","description":"A \u003cspan pulumi-lang-nodejs=\"`gitRepository`\" pulumi-lang-dotnet=\"`GitRepository`\" pulumi-lang-go=\"`gitRepository`\" pulumi-lang-python=\"`git_repository`\" pulumi-lang-yaml=\"`gitRepository`\" pulumi-lang-java=\"`gitRepository`\"\u003e`git_repository`\u003c/span\u003e block as defined below.\n"},"kustomizations":{"type":"array","items":{"$ref":"#/types/azure:containerservice/FluxConfigurationKustomization:FluxConfigurationKustomization"},"description":"A \u003cspan pulumi-lang-nodejs=\"`kustomizations`\" pulumi-lang-dotnet=\"`Kustomizations`\" pulumi-lang-go=\"`kustomizations`\" pulumi-lang-python=\"`kustomizations`\" pulumi-lang-yaml=\"`kustomizations`\" pulumi-lang-java=\"`kustomizations`\"\u003e`kustomizations`\u003c/span\u003e block as defined below.\n"},"name":{"type":"string","description":"Specifies the name which should be used for this Kubernetes Flux Configuration. Changing this forces a new Kubernetes Flux Configuration to be created.\n"},"namespace":{"type":"string","description":"Specifies the namespace to which this configuration is installed to. Changing this forces a new Kubernetes Flux Configuration to be created.\n"},"scope":{"type":"string","description":"Specifies the scope at which the operator will be installed. Possible values are \u003cspan pulumi-lang-nodejs=\"`cluster`\" pulumi-lang-dotnet=\"`Cluster`\" pulumi-lang-go=\"`cluster`\" pulumi-lang-python=\"`cluster`\" pulumi-lang-yaml=\"`cluster`\" pulumi-lang-java=\"`cluster`\"\u003e`cluster`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`namespace`\" pulumi-lang-dotnet=\"`Namespace`\" pulumi-lang-go=\"`namespace`\" pulumi-lang-python=\"`namespace`\" pulumi-lang-yaml=\"`namespace`\" pulumi-lang-java=\"`namespace`\"\u003e`namespace`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`namespace`\" pulumi-lang-dotnet=\"`Namespace`\" pulumi-lang-go=\"`namespace`\" pulumi-lang-python=\"`namespace`\" pulumi-lang-yaml=\"`namespace`\" pulumi-lang-java=\"`namespace`\"\u003e`namespace`\u003c/span\u003e. Changing this forces a new Kubernetes Flux Configuration to be created.\n"}},"required":["clusterId","kustomizations","name","namespace"],"inputProperties":{"blobStorage":{"$ref":"#/types/azure:containerservice/FluxConfigurationBlobStorage:FluxConfigurationBlobStorage","description":"An \u003cspan pulumi-lang-nodejs=\"`blobStorage`\" pulumi-lang-dotnet=\"`BlobStorage`\" pulumi-lang-go=\"`blobStorage`\" pulumi-lang-python=\"`blob_storage`\" pulumi-lang-yaml=\"`blobStorage`\" pulumi-lang-java=\"`blobStorage`\"\u003e`blob_storage`\u003c/span\u003e block as defined below.\n"},"bucket":{"$ref":"#/types/azure:containerservice/FluxConfigurationBucket:FluxConfigurationBucket","description":"A \u003cspan pulumi-lang-nodejs=\"`bucket`\" pulumi-lang-dotnet=\"`Bucket`\" pulumi-lang-go=\"`bucket`\" pulumi-lang-python=\"`bucket`\" pulumi-lang-yaml=\"`bucket`\" pulumi-lang-java=\"`bucket`\"\u003e`bucket`\u003c/span\u003e block as defined below.\n"},"clusterId":{"type":"string","description":"Specifies the Cluster ID. Changing this forces a new Kubernetes Cluster Extension to be created.\n","willReplaceOnChanges":true},"continuousReconciliationEnabled":{"type":"boolean","description":"Whether the configuration will keep its reconciliation of its kustomizations and sources with the repository. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"gitRepository":{"$ref":"#/types/azure:containerservice/FluxConfigurationGitRepository:FluxConfigurationGitRepository","description":"A \u003cspan pulumi-lang-nodejs=\"`gitRepository`\" pulumi-lang-dotnet=\"`GitRepository`\" pulumi-lang-go=\"`gitRepository`\" pulumi-lang-python=\"`git_repository`\" pulumi-lang-yaml=\"`gitRepository`\" pulumi-lang-java=\"`gitRepository`\"\u003e`git_repository`\u003c/span\u003e block as defined below.\n"},"kustomizations":{"type":"array","items":{"$ref":"#/types/azure:containerservice/FluxConfigurationKustomization:FluxConfigurationKustomization"},"description":"A \u003cspan pulumi-lang-nodejs=\"`kustomizations`\" pulumi-lang-dotnet=\"`Kustomizations`\" pulumi-lang-go=\"`kustomizations`\" pulumi-lang-python=\"`kustomizations`\" pulumi-lang-yaml=\"`kustomizations`\" pulumi-lang-java=\"`kustomizations`\"\u003e`kustomizations`\u003c/span\u003e block as defined below.\n"},"name":{"type":"string","description":"Specifies the name which should be used for this Kubernetes Flux Configuration. Changing this forces a new Kubernetes Flux Configuration to be created.\n","willReplaceOnChanges":true},"namespace":{"type":"string","description":"Specifies the namespace to which this configuration is installed to. Changing this forces a new Kubernetes Flux Configuration to be created.\n","willReplaceOnChanges":true},"scope":{"type":"string","description":"Specifies the scope at which the operator will be installed. Possible values are \u003cspan pulumi-lang-nodejs=\"`cluster`\" pulumi-lang-dotnet=\"`Cluster`\" pulumi-lang-go=\"`cluster`\" pulumi-lang-python=\"`cluster`\" pulumi-lang-yaml=\"`cluster`\" pulumi-lang-java=\"`cluster`\"\u003e`cluster`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`namespace`\" pulumi-lang-dotnet=\"`Namespace`\" pulumi-lang-go=\"`namespace`\" pulumi-lang-python=\"`namespace`\" pulumi-lang-yaml=\"`namespace`\" pulumi-lang-java=\"`namespace`\"\u003e`namespace`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`namespace`\" pulumi-lang-dotnet=\"`Namespace`\" pulumi-lang-go=\"`namespace`\" pulumi-lang-python=\"`namespace`\" pulumi-lang-yaml=\"`namespace`\" pulumi-lang-java=\"`namespace`\"\u003e`namespace`\u003c/span\u003e. Changing this forces a new Kubernetes Flux Configuration to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["clusterId","kustomizations","namespace"],"stateInputs":{"description":"Input properties used for looking up and filtering FluxConfiguration resources.\n","properties":{"blobStorage":{"$ref":"#/types/azure:containerservice/FluxConfigurationBlobStorage:FluxConfigurationBlobStorage","description":"An \u003cspan pulumi-lang-nodejs=\"`blobStorage`\" pulumi-lang-dotnet=\"`BlobStorage`\" pulumi-lang-go=\"`blobStorage`\" pulumi-lang-python=\"`blob_storage`\" pulumi-lang-yaml=\"`blobStorage`\" pulumi-lang-java=\"`blobStorage`\"\u003e`blob_storage`\u003c/span\u003e block as defined below.\n"},"bucket":{"$ref":"#/types/azure:containerservice/FluxConfigurationBucket:FluxConfigurationBucket","description":"A \u003cspan pulumi-lang-nodejs=\"`bucket`\" pulumi-lang-dotnet=\"`Bucket`\" pulumi-lang-go=\"`bucket`\" pulumi-lang-python=\"`bucket`\" pulumi-lang-yaml=\"`bucket`\" pulumi-lang-java=\"`bucket`\"\u003e`bucket`\u003c/span\u003e block as defined below.\n"},"clusterId":{"type":"string","description":"Specifies the Cluster ID. Changing this forces a new Kubernetes Cluster Extension to be created.\n","willReplaceOnChanges":true},"continuousReconciliationEnabled":{"type":"boolean","description":"Whether the configuration will keep its reconciliation of its kustomizations and sources with the repository. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"gitRepository":{"$ref":"#/types/azure:containerservice/FluxConfigurationGitRepository:FluxConfigurationGitRepository","description":"A \u003cspan pulumi-lang-nodejs=\"`gitRepository`\" pulumi-lang-dotnet=\"`GitRepository`\" pulumi-lang-go=\"`gitRepository`\" pulumi-lang-python=\"`git_repository`\" pulumi-lang-yaml=\"`gitRepository`\" pulumi-lang-java=\"`gitRepository`\"\u003e`git_repository`\u003c/span\u003e block as defined below.\n"},"kustomizations":{"type":"array","items":{"$ref":"#/types/azure:containerservice/FluxConfigurationKustomization:FluxConfigurationKustomization"},"description":"A \u003cspan pulumi-lang-nodejs=\"`kustomizations`\" pulumi-lang-dotnet=\"`Kustomizations`\" pulumi-lang-go=\"`kustomizations`\" pulumi-lang-python=\"`kustomizations`\" pulumi-lang-yaml=\"`kustomizations`\" pulumi-lang-java=\"`kustomizations`\"\u003e`kustomizations`\u003c/span\u003e block as defined below.\n"},"name":{"type":"string","description":"Specifies the name which should be used for this Kubernetes Flux Configuration. Changing this forces a new Kubernetes Flux Configuration to be created.\n","willReplaceOnChanges":true},"namespace":{"type":"string","description":"Specifies the namespace to which this configuration is installed to. Changing this forces a new Kubernetes Flux Configuration to be created.\n","willReplaceOnChanges":true},"scope":{"type":"string","description":"Specifies the scope at which the operator will be installed. Possible values are \u003cspan pulumi-lang-nodejs=\"`cluster`\" pulumi-lang-dotnet=\"`Cluster`\" pulumi-lang-go=\"`cluster`\" pulumi-lang-python=\"`cluster`\" pulumi-lang-yaml=\"`cluster`\" pulumi-lang-java=\"`cluster`\"\u003e`cluster`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`namespace`\" pulumi-lang-dotnet=\"`Namespace`\" pulumi-lang-go=\"`namespace`\" pulumi-lang-python=\"`namespace`\" pulumi-lang-yaml=\"`namespace`\" pulumi-lang-java=\"`namespace`\"\u003e`namespace`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`namespace`\" pulumi-lang-dotnet=\"`Namespace`\" pulumi-lang-go=\"`namespace`\" pulumi-lang-python=\"`namespace`\" pulumi-lang-yaml=\"`namespace`\" pulumi-lang-java=\"`namespace`\"\u003e`namespace`\u003c/span\u003e. Changing this forces a new Kubernetes Flux Configuration to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:containerservice/group:Group":{"description":"Manages as an Azure Container Group instance.\n\n## Example Usage\n\nThis example provisions a Basic Container.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleGroup = new azure.containerservice.Group(\"example\", {\n    name: \"example-continst\",\n    location: example.location,\n    resourceGroupName: example.name,\n    ipAddressType: \"Public\",\n    dnsNameLabel: \"aci-label\",\n    osType: \"Linux\",\n    containers: [\n        {\n            name: \"hello-world\",\n            image: \"mcr.microsoft.com/azuredocs/aci-helloworld:latest\",\n            cpu: 0.5,\n            memory: 1.5,\n            ports: [{\n                port: 443,\n                protocol: \"TCP\",\n            }],\n        },\n        {\n            name: \"sidecar\",\n            image: \"mcr.microsoft.com/azuredocs/aci-tutorial-sidecar\",\n            cpu: 0.5,\n            memory: 1.5,\n        },\n    ],\n    tags: {\n        environment: \"testing\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_group = azure.containerservice.Group(\"example\",\n    name=\"example-continst\",\n    location=example.location,\n    resource_group_name=example.name,\n    ip_address_type=\"Public\",\n    dns_name_label=\"aci-label\",\n    os_type=\"Linux\",\n    containers=[\n        {\n            \"name\": \"hello-world\",\n            \"image\": \"mcr.microsoft.com/azuredocs/aci-helloworld:latest\",\n            \"cpu\": 0.5,\n            \"memory\": 1.5,\n            \"ports\": [{\n                \"port\": 443,\n                \"protocol\": \"TCP\",\n            }],\n        },\n        {\n            \"name\": \"sidecar\",\n            \"image\": \"mcr.microsoft.com/azuredocs/aci-tutorial-sidecar\",\n            \"cpu\": 0.5,\n            \"memory\": 1.5,\n        },\n    ],\n    tags={\n        \"environment\": \"testing\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleGroup = new Azure.ContainerService.Group(\"example\", new()\n    {\n        Name = \"example-continst\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        IpAddressType = \"Public\",\n        DnsNameLabel = \"aci-label\",\n        OsType = \"Linux\",\n        Containers = new[]\n        {\n            new Azure.ContainerService.Inputs.GroupContainerArgs\n            {\n                Name = \"hello-world\",\n                Image = \"mcr.microsoft.com/azuredocs/aci-helloworld:latest\",\n                Cpu = 0.5,\n                Memory = 1.5,\n                Ports = new[]\n                {\n                    new Azure.ContainerService.Inputs.GroupContainerPortArgs\n                    {\n                        Port = 443,\n                        Protocol = \"TCP\",\n                    },\n                },\n            },\n            new Azure.ContainerService.Inputs.GroupContainerArgs\n            {\n                Name = \"sidecar\",\n                Image = \"mcr.microsoft.com/azuredocs/aci-tutorial-sidecar\",\n                Cpu = 0.5,\n                Memory = 1.5,\n            },\n        },\n        Tags = \n        {\n            { \"environment\", \"testing\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/containerservice\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = containerservice.NewGroup(ctx, \"example\", \u0026containerservice.GroupArgs{\n\t\t\tName:              pulumi.String(\"example-continst\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tIpAddressType:     pulumi.String(\"Public\"),\n\t\t\tDnsNameLabel:      pulumi.String(\"aci-label\"),\n\t\t\tOsType:            pulumi.String(\"Linux\"),\n\t\t\tContainers: containerservice.GroupContainerArray{\n\t\t\t\t\u0026containerservice.GroupContainerArgs{\n\t\t\t\t\tName:   pulumi.String(\"hello-world\"),\n\t\t\t\t\tImage:  pulumi.String(\"mcr.microsoft.com/azuredocs/aci-helloworld:latest\"),\n\t\t\t\t\tCpu:    pulumi.Float64(0.5),\n\t\t\t\t\tMemory: pulumi.Float64(1.5),\n\t\t\t\t\tPorts: containerservice.GroupContainerPortArray{\n\t\t\t\t\t\t\u0026containerservice.GroupContainerPortArgs{\n\t\t\t\t\t\t\tPort:     pulumi.Int(443),\n\t\t\t\t\t\t\tProtocol: pulumi.String(\"TCP\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026containerservice.GroupContainerArgs{\n\t\t\t\t\tName:   pulumi.String(\"sidecar\"),\n\t\t\t\t\tImage:  pulumi.String(\"mcr.microsoft.com/azuredocs/aci-tutorial-sidecar\"),\n\t\t\t\t\tCpu:    pulumi.Float64(0.5),\n\t\t\t\t\tMemory: pulumi.Float64(1.5),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"environment\": pulumi.String(\"testing\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.containerservice.Group;\nimport com.pulumi.azure.containerservice.GroupArgs;\nimport com.pulumi.azure.containerservice.inputs.GroupContainerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleGroup = new Group(\"exampleGroup\", GroupArgs.builder()\n            .name(\"example-continst\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .ipAddressType(\"Public\")\n            .dnsNameLabel(\"aci-label\")\n            .osType(\"Linux\")\n            .containers(            \n                GroupContainerArgs.builder()\n                    .name(\"hello-world\")\n                    .image(\"mcr.microsoft.com/azuredocs/aci-helloworld:latest\")\n                    .cpu(0.5)\n                    .memory(1.5)\n                    .ports(GroupContainerPortArgs.builder()\n                        .port(443)\n                        .protocol(\"TCP\")\n                        .build())\n                    .build(),\n                GroupContainerArgs.builder()\n                    .name(\"sidecar\")\n                    .image(\"mcr.microsoft.com/azuredocs/aci-tutorial-sidecar\")\n                    .cpu(0.5)\n                    .memory(1.5)\n                    .build())\n            .tags(Map.of(\"environment\", \"testing\"))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleGroup:\n    type: azure:containerservice:Group\n    name: example\n    properties:\n      name: example-continst\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      ipAddressType: Public\n      dnsNameLabel: aci-label\n      osType: Linux\n      containers:\n        - name: hello-world\n          image: mcr.microsoft.com/azuredocs/aci-helloworld:latest\n          cpu: '0.5'\n          memory: '1.5'\n          ports:\n            - port: 443\n              protocol: TCP\n        - name: sidecar\n          image: mcr.microsoft.com/azuredocs/aci-tutorial-sidecar\n          cpu: '0.5'\n          memory: '1.5'\n      tags:\n        environment: testing\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.ContainerInstance` - 2025-09-01\n\n## Import\n\nContainer Group's can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:containerservice/group:Group containerGroup1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.ContainerInstance/containerGroups/myContainerGroup1\n```\n\n","properties":{"containers":{"type":"array","items":{"$ref":"#/types/azure:containerservice/GroupContainer:GroupContainer"},"description":"The definition of a container that is part of the group as documented in the \u003cspan pulumi-lang-nodejs=\"`container`\" pulumi-lang-dotnet=\"`Container`\" pulumi-lang-go=\"`container`\" pulumi-lang-python=\"`container`\" pulumi-lang-yaml=\"`container`\" pulumi-lang-java=\"`container`\"\u003e`container`\u003c/span\u003e block below. Changing this forces a new resource to be created.\n"},"diagnostics":{"$ref":"#/types/azure:containerservice/GroupDiagnostics:GroupDiagnostics","description":"A \u003cspan pulumi-lang-nodejs=\"`diagnostics`\" pulumi-lang-dotnet=\"`Diagnostics`\" pulumi-lang-go=\"`diagnostics`\" pulumi-lang-python=\"`diagnostics`\" pulumi-lang-yaml=\"`diagnostics`\" pulumi-lang-java=\"`diagnostics`\"\u003e`diagnostics`\u003c/span\u003e block as documented below. Changing this forces a new resource to be created.\n"},"dnsConfig":{"$ref":"#/types/azure:containerservice/GroupDnsConfig:GroupDnsConfig","description":"A \u003cspan pulumi-lang-nodejs=\"`dnsConfig`\" pulumi-lang-dotnet=\"`DnsConfig`\" pulumi-lang-go=\"`dnsConfig`\" pulumi-lang-python=\"`dns_config`\" pulumi-lang-yaml=\"`dnsConfig`\" pulumi-lang-java=\"`dnsConfig`\"\u003e`dns_config`\u003c/span\u003e block as documented below. Changing this forces a new resource to be created.\n"},"dnsNameLabel":{"type":"string","description":"The DNS label/name for the container group's IP. Changing this forces a new resource to be created.\n\n\u003e **Note:** DNS label/name is not supported when deploying to virtual networks.\n"},"dnsNameLabelReusePolicy":{"type":"string","description":"The value representing the security enum. `Noreuse`, `ResourceGroupReuse`, `SubscriptionReuse`, `TenantReuse` or `Unsecure`. Defaults to `Unsecure`. Changing this forces a new resource to be created.\n"},"exposedPorts":{"type":"array","items":{"$ref":"#/types/azure:containerservice/GroupExposedPort:GroupExposedPort"},"description":"Zero or more \u003cspan pulumi-lang-nodejs=\"`exposedPort`\" pulumi-lang-dotnet=\"`ExposedPort`\" pulumi-lang-go=\"`exposedPort`\" pulumi-lang-python=\"`exposed_port`\" pulumi-lang-yaml=\"`exposedPort`\" pulumi-lang-java=\"`exposedPort`\"\u003e`exposed_port`\u003c/span\u003e blocks as defined below. Changing this forces a new resource to be created.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`exposedPort`\" pulumi-lang-dotnet=\"`ExposedPort`\" pulumi-lang-go=\"`exposedPort`\" pulumi-lang-python=\"`exposed_port`\" pulumi-lang-yaml=\"`exposedPort`\" pulumi-lang-java=\"`exposedPort`\"\u003e`exposed_port`\u003c/span\u003e can only contain ports that are also exposed on one or more containers in the group.\n"},"fqdn":{"type":"string","description":"The FQDN of the container group derived from \u003cspan pulumi-lang-nodejs=\"`dnsNameLabel`\" pulumi-lang-dotnet=\"`DnsNameLabel`\" pulumi-lang-go=\"`dnsNameLabel`\" pulumi-lang-python=\"`dns_name_label`\" pulumi-lang-yaml=\"`dnsNameLabel`\" pulumi-lang-java=\"`dnsNameLabel`\"\u003e`dns_name_label`\u003c/span\u003e.\n"},"identity":{"$ref":"#/types/azure:containerservice/GroupIdentity:GroupIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"imageRegistryCredentials":{"type":"array","items":{"$ref":"#/types/azure:containerservice/GroupImageRegistryCredential:GroupImageRegistryCredential"},"description":"An \u003cspan pulumi-lang-nodejs=\"`imageRegistryCredential`\" pulumi-lang-dotnet=\"`ImageRegistryCredential`\" pulumi-lang-go=\"`imageRegistryCredential`\" pulumi-lang-python=\"`image_registry_credential`\" pulumi-lang-yaml=\"`imageRegistryCredential`\" pulumi-lang-java=\"`imageRegistryCredential`\"\u003e`image_registry_credential`\u003c/span\u003e block as documented below. Changing this forces a new resource to be created.\n"},"initContainers":{"type":"array","items":{"$ref":"#/types/azure:containerservice/GroupInitContainer:GroupInitContainer"},"description":"The definition of an init container that is part of the group as documented in the \u003cspan pulumi-lang-nodejs=\"`initContainer`\" pulumi-lang-dotnet=\"`InitContainer`\" pulumi-lang-go=\"`initContainer`\" pulumi-lang-python=\"`init_container`\" pulumi-lang-yaml=\"`initContainer`\" pulumi-lang-java=\"`initContainer`\"\u003e`init_container`\u003c/span\u003e block below. Changing this forces a new resource to be created.\n"},"ipAddress":{"type":"string","description":"The IP address allocated to the container group.\n"},"ipAddressType":{"type":"string","description":"Specifies the IP address type of the container. `Public`, `Private` or `None`. Changing this forces a new resource to be created. If set to `Private`, \u003cspan pulumi-lang-nodejs=\"`subnetIds`\" pulumi-lang-dotnet=\"`SubnetIds`\" pulumi-lang-go=\"`subnetIds`\" pulumi-lang-python=\"`subnet_ids`\" pulumi-lang-yaml=\"`subnetIds`\" pulumi-lang-java=\"`subnetIds`\"\u003e`subnet_ids`\u003c/span\u003e also needs to be set. Defaults to `Public`.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`dnsNameLabel`\" pulumi-lang-dotnet=\"`DnsNameLabel`\" pulumi-lang-go=\"`dnsNameLabel`\" pulumi-lang-python=\"`dns_name_label`\" pulumi-lang-yaml=\"`dnsNameLabel`\" pulumi-lang-java=\"`dnsNameLabel`\"\u003e`dns_name_label`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`osType`\" pulumi-lang-dotnet=\"`OsType`\" pulumi-lang-go=\"`osType`\" pulumi-lang-python=\"`os_type`\" pulumi-lang-yaml=\"`osType`\" pulumi-lang-java=\"`osType`\"\u003e`os_type`\u003c/span\u003e set to \u003cspan pulumi-lang-nodejs=\"`windows`\" pulumi-lang-dotnet=\"`Windows`\" pulumi-lang-go=\"`windows`\" pulumi-lang-python=\"`windows`\" pulumi-lang-yaml=\"`windows`\" pulumi-lang-java=\"`windows`\"\u003e`windows`\u003c/span\u003e are not compatible with `Private` \u003cspan pulumi-lang-nodejs=\"`ipAddressType`\" pulumi-lang-dotnet=\"`IpAddressType`\" pulumi-lang-go=\"`ipAddressType`\" pulumi-lang-python=\"`ip_address_type`\" pulumi-lang-yaml=\"`ipAddressType`\" pulumi-lang-java=\"`ipAddressType`\"\u003e`ip_address_type`\u003c/span\u003e\n"},"keyVaultKeyId":{"type":"string","description":"The Key Vault key URI for CMK encryption. Changing this forces a new resource to be created.\n"},"keyVaultUserAssignedIdentityId":{"type":"string","description":"The user assigned identity that has access to the Key Vault Key. If not specified, the RP principal named \"Azure Container Instance Service\" will be used instead. Make sure the identity has the proper \u003cspan pulumi-lang-nodejs=\"`keyPermissions`\" pulumi-lang-dotnet=\"`KeyPermissions`\" pulumi-lang-go=\"`keyPermissions`\" pulumi-lang-python=\"`key_permissions`\" pulumi-lang-yaml=\"`keyPermissions`\" pulumi-lang-java=\"`keyPermissions`\"\u003e`key_permissions`\u003c/span\u003e set, at least with `Get`, `UnwrapKey`, `WrapKey` and `GetRotationPolicy`.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"Specifies the name of the Container Group. Changing this forces a new resource to be created.\n"},"networkProfileId":{"type":"string","deprecationMessage":"the 'network_profile_id' has been removed from the latest versions of the container instance API and has been deprecated. It no longer functions and will be removed from the 4.0 AzureRM provider. Please use the 'subnet_ids' field instead"},"osType":{"type":"string","description":"The OS for the container group. Allowed values are `Linux` and `Windows`. Changing this forces a new resource to be created.\n\n\u003e **Note:** if \u003cspan pulumi-lang-nodejs=\"`osType`\" pulumi-lang-dotnet=\"`OsType`\" pulumi-lang-go=\"`osType`\" pulumi-lang-python=\"`os_type`\" pulumi-lang-yaml=\"`osType`\" pulumi-lang-java=\"`osType`\"\u003e`os_type`\u003c/span\u003e is set to `Windows` currently only a single \u003cspan pulumi-lang-nodejs=\"`container`\" pulumi-lang-dotnet=\"`Container`\" pulumi-lang-go=\"`container`\" pulumi-lang-python=\"`container`\" pulumi-lang-yaml=\"`container`\" pulumi-lang-java=\"`container`\"\u003e`container`\u003c/span\u003e block is supported. Windows containers are not supported in virtual networks.\n"},"priority":{"type":"string","description":"The priority of the Container Group. Possible values are `Regular` and `Spot`. Changing this forces a new resource to be created.\n\n\u003e **Note:** When \u003cspan pulumi-lang-nodejs=\"`priority`\" pulumi-lang-dotnet=\"`Priority`\" pulumi-lang-go=\"`priority`\" pulumi-lang-python=\"`priority`\" pulumi-lang-yaml=\"`priority`\" pulumi-lang-java=\"`priority`\"\u003e`priority`\u003c/span\u003e is set to `Spot`, the \u003cspan pulumi-lang-nodejs=\"`ipAddressType`\" pulumi-lang-dotnet=\"`IpAddressType`\" pulumi-lang-go=\"`ipAddressType`\" pulumi-lang-python=\"`ip_address_type`\" pulumi-lang-yaml=\"`ipAddressType`\" pulumi-lang-java=\"`ipAddressType`\"\u003e`ip_address_type`\u003c/span\u003e has to be `None`.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the Container Group. Changing this forces a new resource to be created.\n"},"restartPolicy":{"type":"string","description":"Restart policy for the container group. Allowed values are `Always`, `Never`, `OnFailure`. Defaults to `Always`. Changing this forces a new resource to be created.\n"},"sku":{"type":"string","description":"Specifies the sku of the Container Group. Possible values are `Confidential`, `Dedicated` and `Standard`. Defaults to `Standard`. Changing this forces a new resource to be created.\n"},"subnetIds":{"type":"string","description":"The subnet resource IDs for a container group. Changing this forces a new resource to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"zones":{"type":"array","items":{"type":"string"},"description":"A list of Availability Zones in which this Container Group is located. Changing this forces a new resource to be created.\n"}},"required":["containers","exposedPorts","fqdn","ipAddress","location","name","networkProfileId","osType","resourceGroupName"],"inputProperties":{"containers":{"type":"array","items":{"$ref":"#/types/azure:containerservice/GroupContainer:GroupContainer"},"description":"The definition of a container that is part of the group as documented in the \u003cspan pulumi-lang-nodejs=\"`container`\" pulumi-lang-dotnet=\"`Container`\" pulumi-lang-go=\"`container`\" pulumi-lang-python=\"`container`\" pulumi-lang-yaml=\"`container`\" pulumi-lang-java=\"`container`\"\u003e`container`\u003c/span\u003e block below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"diagnostics":{"$ref":"#/types/azure:containerservice/GroupDiagnostics:GroupDiagnostics","description":"A \u003cspan pulumi-lang-nodejs=\"`diagnostics`\" pulumi-lang-dotnet=\"`Diagnostics`\" pulumi-lang-go=\"`diagnostics`\" pulumi-lang-python=\"`diagnostics`\" pulumi-lang-yaml=\"`diagnostics`\" pulumi-lang-java=\"`diagnostics`\"\u003e`diagnostics`\u003c/span\u003e block as documented below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"dnsConfig":{"$ref":"#/types/azure:containerservice/GroupDnsConfig:GroupDnsConfig","description":"A \u003cspan pulumi-lang-nodejs=\"`dnsConfig`\" pulumi-lang-dotnet=\"`DnsConfig`\" pulumi-lang-go=\"`dnsConfig`\" pulumi-lang-python=\"`dns_config`\" pulumi-lang-yaml=\"`dnsConfig`\" pulumi-lang-java=\"`dnsConfig`\"\u003e`dns_config`\u003c/span\u003e block as documented below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"dnsNameLabel":{"type":"string","description":"The DNS label/name for the container group's IP. Changing this forces a new resource to be created.\n\n\u003e **Note:** DNS label/name is not supported when deploying to virtual networks.\n","willReplaceOnChanges":true},"dnsNameLabelReusePolicy":{"type":"string","description":"The value representing the security enum. `Noreuse`, `ResourceGroupReuse`, `SubscriptionReuse`, `TenantReuse` or `Unsecure`. Defaults to `Unsecure`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"exposedPorts":{"type":"array","items":{"$ref":"#/types/azure:containerservice/GroupExposedPort:GroupExposedPort"},"description":"Zero or more \u003cspan pulumi-lang-nodejs=\"`exposedPort`\" pulumi-lang-dotnet=\"`ExposedPort`\" pulumi-lang-go=\"`exposedPort`\" pulumi-lang-python=\"`exposed_port`\" pulumi-lang-yaml=\"`exposedPort`\" pulumi-lang-java=\"`exposedPort`\"\u003e`exposed_port`\u003c/span\u003e blocks as defined below. Changing this forces a new resource to be created.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`exposedPort`\" pulumi-lang-dotnet=\"`ExposedPort`\" pulumi-lang-go=\"`exposedPort`\" pulumi-lang-python=\"`exposed_port`\" pulumi-lang-yaml=\"`exposedPort`\" pulumi-lang-java=\"`exposedPort`\"\u003e`exposed_port`\u003c/span\u003e can only contain ports that are also exposed on one or more containers in the group.\n","willReplaceOnChanges":true},"identity":{"$ref":"#/types/azure:containerservice/GroupIdentity:GroupIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"imageRegistryCredentials":{"type":"array","items":{"$ref":"#/types/azure:containerservice/GroupImageRegistryCredential:GroupImageRegistryCredential"},"description":"An \u003cspan pulumi-lang-nodejs=\"`imageRegistryCredential`\" pulumi-lang-dotnet=\"`ImageRegistryCredential`\" pulumi-lang-go=\"`imageRegistryCredential`\" pulumi-lang-python=\"`image_registry_credential`\" pulumi-lang-yaml=\"`imageRegistryCredential`\" pulumi-lang-java=\"`imageRegistryCredential`\"\u003e`image_registry_credential`\u003c/span\u003e block as documented below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"initContainers":{"type":"array","items":{"$ref":"#/types/azure:containerservice/GroupInitContainer:GroupInitContainer"},"description":"The definition of an init container that is part of the group as documented in the \u003cspan pulumi-lang-nodejs=\"`initContainer`\" pulumi-lang-dotnet=\"`InitContainer`\" pulumi-lang-go=\"`initContainer`\" pulumi-lang-python=\"`init_container`\" pulumi-lang-yaml=\"`initContainer`\" pulumi-lang-java=\"`initContainer`\"\u003e`init_container`\u003c/span\u003e block below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"ipAddressType":{"type":"string","description":"Specifies the IP address type of the container. `Public`, `Private` or `None`. Changing this forces a new resource to be created. If set to `Private`, \u003cspan pulumi-lang-nodejs=\"`subnetIds`\" pulumi-lang-dotnet=\"`SubnetIds`\" pulumi-lang-go=\"`subnetIds`\" pulumi-lang-python=\"`subnet_ids`\" pulumi-lang-yaml=\"`subnetIds`\" pulumi-lang-java=\"`subnetIds`\"\u003e`subnet_ids`\u003c/span\u003e also needs to be set. Defaults to `Public`.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`dnsNameLabel`\" pulumi-lang-dotnet=\"`DnsNameLabel`\" pulumi-lang-go=\"`dnsNameLabel`\" pulumi-lang-python=\"`dns_name_label`\" pulumi-lang-yaml=\"`dnsNameLabel`\" pulumi-lang-java=\"`dnsNameLabel`\"\u003e`dns_name_label`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`osType`\" pulumi-lang-dotnet=\"`OsType`\" pulumi-lang-go=\"`osType`\" pulumi-lang-python=\"`os_type`\" pulumi-lang-yaml=\"`osType`\" pulumi-lang-java=\"`osType`\"\u003e`os_type`\u003c/span\u003e set to \u003cspan pulumi-lang-nodejs=\"`windows`\" pulumi-lang-dotnet=\"`Windows`\" pulumi-lang-go=\"`windows`\" pulumi-lang-python=\"`windows`\" pulumi-lang-yaml=\"`windows`\" pulumi-lang-java=\"`windows`\"\u003e`windows`\u003c/span\u003e are not compatible with `Private` \u003cspan pulumi-lang-nodejs=\"`ipAddressType`\" pulumi-lang-dotnet=\"`IpAddressType`\" pulumi-lang-go=\"`ipAddressType`\" pulumi-lang-python=\"`ip_address_type`\" pulumi-lang-yaml=\"`ipAddressType`\" pulumi-lang-java=\"`ipAddressType`\"\u003e`ip_address_type`\u003c/span\u003e\n","willReplaceOnChanges":true},"keyVaultKeyId":{"type":"string","description":"The Key Vault key URI for CMK encryption. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"keyVaultUserAssignedIdentityId":{"type":"string","description":"The user assigned identity that has access to the Key Vault Key. If not specified, the RP principal named \"Azure Container Instance Service\" will be used instead. Make sure the identity has the proper \u003cspan pulumi-lang-nodejs=\"`keyPermissions`\" pulumi-lang-dotnet=\"`KeyPermissions`\" pulumi-lang-go=\"`keyPermissions`\" pulumi-lang-python=\"`key_permissions`\" pulumi-lang-yaml=\"`keyPermissions`\" pulumi-lang-java=\"`keyPermissions`\"\u003e`key_permissions`\u003c/span\u003e set, at least with `Get`, `UnwrapKey`, `WrapKey` and `GetRotationPolicy`.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the Container Group. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"networkProfileId":{"type":"string","deprecationMessage":"the 'network_profile_id' has been removed from the latest versions of the container instance API and has been deprecated. It no longer functions and will be removed from the 4.0 AzureRM provider. Please use the 'subnet_ids' field instead"},"osType":{"type":"string","description":"The OS for the container group. Allowed values are `Linux` and `Windows`. Changing this forces a new resource to be created.\n\n\u003e **Note:** if \u003cspan pulumi-lang-nodejs=\"`osType`\" pulumi-lang-dotnet=\"`OsType`\" pulumi-lang-go=\"`osType`\" pulumi-lang-python=\"`os_type`\" pulumi-lang-yaml=\"`osType`\" pulumi-lang-java=\"`osType`\"\u003e`os_type`\u003c/span\u003e is set to `Windows` currently only a single \u003cspan pulumi-lang-nodejs=\"`container`\" pulumi-lang-dotnet=\"`Container`\" pulumi-lang-go=\"`container`\" pulumi-lang-python=\"`container`\" pulumi-lang-yaml=\"`container`\" pulumi-lang-java=\"`container`\"\u003e`container`\u003c/span\u003e block is supported. Windows containers are not supported in virtual networks.\n","willReplaceOnChanges":true},"priority":{"type":"string","description":"The priority of the Container Group. Possible values are `Regular` and `Spot`. Changing this forces a new resource to be created.\n\n\u003e **Note:** When \u003cspan pulumi-lang-nodejs=\"`priority`\" pulumi-lang-dotnet=\"`Priority`\" pulumi-lang-go=\"`priority`\" pulumi-lang-python=\"`priority`\" pulumi-lang-yaml=\"`priority`\" pulumi-lang-java=\"`priority`\"\u003e`priority`\u003c/span\u003e is set to `Spot`, the \u003cspan pulumi-lang-nodejs=\"`ipAddressType`\" pulumi-lang-dotnet=\"`IpAddressType`\" pulumi-lang-go=\"`ipAddressType`\" pulumi-lang-python=\"`ip_address_type`\" pulumi-lang-yaml=\"`ipAddressType`\" pulumi-lang-java=\"`ipAddressType`\"\u003e`ip_address_type`\u003c/span\u003e has to be `None`.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the Container Group. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"restartPolicy":{"type":"string","description":"Restart policy for the container group. Allowed values are `Always`, `Never`, `OnFailure`. Defaults to `Always`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sku":{"type":"string","description":"Specifies the sku of the Container Group. Possible values are `Confidential`, `Dedicated` and `Standard`. Defaults to `Standard`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"subnetIds":{"type":"string","description":"The subnet resource IDs for a container group. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"zones":{"type":"array","items":{"type":"string"},"description":"A list of Availability Zones in which this Container Group is located. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["containers","osType","resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering Group resources.\n","properties":{"containers":{"type":"array","items":{"$ref":"#/types/azure:containerservice/GroupContainer:GroupContainer"},"description":"The definition of a container that is part of the group as documented in the \u003cspan pulumi-lang-nodejs=\"`container`\" pulumi-lang-dotnet=\"`Container`\" pulumi-lang-go=\"`container`\" pulumi-lang-python=\"`container`\" pulumi-lang-yaml=\"`container`\" pulumi-lang-java=\"`container`\"\u003e`container`\u003c/span\u003e block below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"diagnostics":{"$ref":"#/types/azure:containerservice/GroupDiagnostics:GroupDiagnostics","description":"A \u003cspan pulumi-lang-nodejs=\"`diagnostics`\" pulumi-lang-dotnet=\"`Diagnostics`\" pulumi-lang-go=\"`diagnostics`\" pulumi-lang-python=\"`diagnostics`\" pulumi-lang-yaml=\"`diagnostics`\" pulumi-lang-java=\"`diagnostics`\"\u003e`diagnostics`\u003c/span\u003e block as documented below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"dnsConfig":{"$ref":"#/types/azure:containerservice/GroupDnsConfig:GroupDnsConfig","description":"A \u003cspan pulumi-lang-nodejs=\"`dnsConfig`\" pulumi-lang-dotnet=\"`DnsConfig`\" pulumi-lang-go=\"`dnsConfig`\" pulumi-lang-python=\"`dns_config`\" pulumi-lang-yaml=\"`dnsConfig`\" pulumi-lang-java=\"`dnsConfig`\"\u003e`dns_config`\u003c/span\u003e block as documented below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"dnsNameLabel":{"type":"string","description":"The DNS label/name for the container group's IP. Changing this forces a new resource to be created.\n\n\u003e **Note:** DNS label/name is not supported when deploying to virtual networks.\n","willReplaceOnChanges":true},"dnsNameLabelReusePolicy":{"type":"string","description":"The value representing the security enum. `Noreuse`, `ResourceGroupReuse`, `SubscriptionReuse`, `TenantReuse` or `Unsecure`. Defaults to `Unsecure`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"exposedPorts":{"type":"array","items":{"$ref":"#/types/azure:containerservice/GroupExposedPort:GroupExposedPort"},"description":"Zero or more \u003cspan pulumi-lang-nodejs=\"`exposedPort`\" pulumi-lang-dotnet=\"`ExposedPort`\" pulumi-lang-go=\"`exposedPort`\" pulumi-lang-python=\"`exposed_port`\" pulumi-lang-yaml=\"`exposedPort`\" pulumi-lang-java=\"`exposedPort`\"\u003e`exposed_port`\u003c/span\u003e blocks as defined below. Changing this forces a new resource to be created.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`exposedPort`\" pulumi-lang-dotnet=\"`ExposedPort`\" pulumi-lang-go=\"`exposedPort`\" pulumi-lang-python=\"`exposed_port`\" pulumi-lang-yaml=\"`exposedPort`\" pulumi-lang-java=\"`exposedPort`\"\u003e`exposed_port`\u003c/span\u003e can only contain ports that are also exposed on one or more containers in the group.\n","willReplaceOnChanges":true},"fqdn":{"type":"string","description":"The FQDN of the container group derived from \u003cspan pulumi-lang-nodejs=\"`dnsNameLabel`\" pulumi-lang-dotnet=\"`DnsNameLabel`\" pulumi-lang-go=\"`dnsNameLabel`\" pulumi-lang-python=\"`dns_name_label`\" pulumi-lang-yaml=\"`dnsNameLabel`\" pulumi-lang-java=\"`dnsNameLabel`\"\u003e`dns_name_label`\u003c/span\u003e.\n"},"identity":{"$ref":"#/types/azure:containerservice/GroupIdentity:GroupIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"imageRegistryCredentials":{"type":"array","items":{"$ref":"#/types/azure:containerservice/GroupImageRegistryCredential:GroupImageRegistryCredential"},"description":"An \u003cspan pulumi-lang-nodejs=\"`imageRegistryCredential`\" pulumi-lang-dotnet=\"`ImageRegistryCredential`\" pulumi-lang-go=\"`imageRegistryCredential`\" pulumi-lang-python=\"`image_registry_credential`\" pulumi-lang-yaml=\"`imageRegistryCredential`\" pulumi-lang-java=\"`imageRegistryCredential`\"\u003e`image_registry_credential`\u003c/span\u003e block as documented below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"initContainers":{"type":"array","items":{"$ref":"#/types/azure:containerservice/GroupInitContainer:GroupInitContainer"},"description":"The definition of an init container that is part of the group as documented in the \u003cspan pulumi-lang-nodejs=\"`initContainer`\" pulumi-lang-dotnet=\"`InitContainer`\" pulumi-lang-go=\"`initContainer`\" pulumi-lang-python=\"`init_container`\" pulumi-lang-yaml=\"`initContainer`\" pulumi-lang-java=\"`initContainer`\"\u003e`init_container`\u003c/span\u003e block below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"ipAddress":{"type":"string","description":"The IP address allocated to the container group.\n"},"ipAddressType":{"type":"string","description":"Specifies the IP address type of the container. `Public`, `Private` or `None`. Changing this forces a new resource to be created. If set to `Private`, \u003cspan pulumi-lang-nodejs=\"`subnetIds`\" pulumi-lang-dotnet=\"`SubnetIds`\" pulumi-lang-go=\"`subnetIds`\" pulumi-lang-python=\"`subnet_ids`\" pulumi-lang-yaml=\"`subnetIds`\" pulumi-lang-java=\"`subnetIds`\"\u003e`subnet_ids`\u003c/span\u003e also needs to be set. Defaults to `Public`.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`dnsNameLabel`\" pulumi-lang-dotnet=\"`DnsNameLabel`\" pulumi-lang-go=\"`dnsNameLabel`\" pulumi-lang-python=\"`dns_name_label`\" pulumi-lang-yaml=\"`dnsNameLabel`\" pulumi-lang-java=\"`dnsNameLabel`\"\u003e`dns_name_label`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`osType`\" pulumi-lang-dotnet=\"`OsType`\" pulumi-lang-go=\"`osType`\" pulumi-lang-python=\"`os_type`\" pulumi-lang-yaml=\"`osType`\" pulumi-lang-java=\"`osType`\"\u003e`os_type`\u003c/span\u003e set to \u003cspan pulumi-lang-nodejs=\"`windows`\" pulumi-lang-dotnet=\"`Windows`\" pulumi-lang-go=\"`windows`\" pulumi-lang-python=\"`windows`\" pulumi-lang-yaml=\"`windows`\" pulumi-lang-java=\"`windows`\"\u003e`windows`\u003c/span\u003e are not compatible with `Private` \u003cspan pulumi-lang-nodejs=\"`ipAddressType`\" pulumi-lang-dotnet=\"`IpAddressType`\" pulumi-lang-go=\"`ipAddressType`\" pulumi-lang-python=\"`ip_address_type`\" pulumi-lang-yaml=\"`ipAddressType`\" pulumi-lang-java=\"`ipAddressType`\"\u003e`ip_address_type`\u003c/span\u003e\n","willReplaceOnChanges":true},"keyVaultKeyId":{"type":"string","description":"The Key Vault key URI for CMK encryption. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"keyVaultUserAssignedIdentityId":{"type":"string","description":"The user assigned identity that has access to the Key Vault Key. If not specified, the RP principal named \"Azure Container Instance Service\" will be used instead. Make sure the identity has the proper \u003cspan pulumi-lang-nodejs=\"`keyPermissions`\" pulumi-lang-dotnet=\"`KeyPermissions`\" pulumi-lang-go=\"`keyPermissions`\" pulumi-lang-python=\"`key_permissions`\" pulumi-lang-yaml=\"`keyPermissions`\" pulumi-lang-java=\"`keyPermissions`\"\u003e`key_permissions`\u003c/span\u003e set, at least with `Get`, `UnwrapKey`, `WrapKey` and `GetRotationPolicy`.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the Container Group. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"networkProfileId":{"type":"string","deprecationMessage":"the 'network_profile_id' has been removed from the latest versions of the container instance API and has been deprecated. It no longer functions and will be removed from the 4.0 AzureRM provider. Please use the 'subnet_ids' field instead"},"osType":{"type":"string","description":"The OS for the container group. Allowed values are `Linux` and `Windows`. Changing this forces a new resource to be created.\n\n\u003e **Note:** if \u003cspan pulumi-lang-nodejs=\"`osType`\" pulumi-lang-dotnet=\"`OsType`\" pulumi-lang-go=\"`osType`\" pulumi-lang-python=\"`os_type`\" pulumi-lang-yaml=\"`osType`\" pulumi-lang-java=\"`osType`\"\u003e`os_type`\u003c/span\u003e is set to `Windows` currently only a single \u003cspan pulumi-lang-nodejs=\"`container`\" pulumi-lang-dotnet=\"`Container`\" pulumi-lang-go=\"`container`\" pulumi-lang-python=\"`container`\" pulumi-lang-yaml=\"`container`\" pulumi-lang-java=\"`container`\"\u003e`container`\u003c/span\u003e block is supported. Windows containers are not supported in virtual networks.\n","willReplaceOnChanges":true},"priority":{"type":"string","description":"The priority of the Container Group. Possible values are `Regular` and `Spot`. Changing this forces a new resource to be created.\n\n\u003e **Note:** When \u003cspan pulumi-lang-nodejs=\"`priority`\" pulumi-lang-dotnet=\"`Priority`\" pulumi-lang-go=\"`priority`\" pulumi-lang-python=\"`priority`\" pulumi-lang-yaml=\"`priority`\" pulumi-lang-java=\"`priority`\"\u003e`priority`\u003c/span\u003e is set to `Spot`, the \u003cspan pulumi-lang-nodejs=\"`ipAddressType`\" pulumi-lang-dotnet=\"`IpAddressType`\" pulumi-lang-go=\"`ipAddressType`\" pulumi-lang-python=\"`ip_address_type`\" pulumi-lang-yaml=\"`ipAddressType`\" pulumi-lang-java=\"`ipAddressType`\"\u003e`ip_address_type`\u003c/span\u003e has to be `None`.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the Container Group. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"restartPolicy":{"type":"string","description":"Restart policy for the container group. Allowed values are `Always`, `Never`, `OnFailure`. Defaults to `Always`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sku":{"type":"string","description":"Specifies the sku of the Container Group. Possible values are `Confidential`, `Dedicated` and `Standard`. Defaults to `Standard`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"subnetIds":{"type":"string","description":"The subnet resource IDs for a container group. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"zones":{"type":"array","items":{"type":"string"},"description":"A list of Availability Zones in which this Container Group is located. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:containerservice/kubernetesCluster:KubernetesCluster":{"description":"Manages a Managed Kubernetes Cluster (also known as AKS / Azure Kubernetes Service)\n\n\u003e **Note:** Due to the fast-moving nature of AKS, we recommend using the latest version of the Azure Provider when using AKS.\n\n## Example Usage\n\nThis example provisions a basic Managed Kubernetes Cluster.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleKubernetesCluster = new azure.containerservice.KubernetesCluster(\"example\", {\n    name: \"example-aks1\",\n    location: example.location,\n    resourceGroupName: example.name,\n    dnsPrefix: \"exampleaks1\",\n    defaultNodePool: {\n        name: \"default\",\n        nodeCount: 1,\n        vmSize: \"Standard_D2_v2\",\n    },\n    identity: {\n        type: \"SystemAssigned\",\n    },\n    tags: {\n        Environment: \"Production\",\n    },\n});\nexport const clientCertificate = exampleKubernetesCluster.kubeConfigs.apply(kubeConfigs =\u003e kubeConfigs[0].clientCertificate);\nexport const kubeConfig = exampleKubernetesCluster.kubeConfigRaw;\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_kubernetes_cluster = azure.containerservice.KubernetesCluster(\"example\",\n    name=\"example-aks1\",\n    location=example.location,\n    resource_group_name=example.name,\n    dns_prefix=\"exampleaks1\",\n    default_node_pool={\n        \"name\": \"default\",\n        \"node_count\": 1,\n        \"vm_size\": \"Standard_D2_v2\",\n    },\n    identity={\n        \"type\": \"SystemAssigned\",\n    },\n    tags={\n        \"Environment\": \"Production\",\n    })\npulumi.export(\"clientCertificate\", example_kubernetes_cluster.kube_configs[0].client_certificate)\npulumi.export(\"kubeConfig\", example_kubernetes_cluster.kube_config_raw)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleKubernetesCluster = new Azure.ContainerService.KubernetesCluster(\"example\", new()\n    {\n        Name = \"example-aks1\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        DnsPrefix = \"exampleaks1\",\n        DefaultNodePool = new Azure.ContainerService.Inputs.KubernetesClusterDefaultNodePoolArgs\n        {\n            Name = \"default\",\n            NodeCount = 1,\n            VmSize = \"Standard_D2_v2\",\n        },\n        Identity = new Azure.ContainerService.Inputs.KubernetesClusterIdentityArgs\n        {\n            Type = \"SystemAssigned\",\n        },\n        Tags = \n        {\n            { \"Environment\", \"Production\" },\n        },\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"clientCertificate\"] = exampleKubernetesCluster.KubeConfigs.Apply(kubeConfigs =\u003e kubeConfigs[0].ClientCertificate),\n        [\"kubeConfig\"] = exampleKubernetesCluster.KubeConfigRaw,\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/containerservice\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleKubernetesCluster, err := containerservice.NewKubernetesCluster(ctx, \"example\", \u0026containerservice.KubernetesClusterArgs{\n\t\t\tName:              pulumi.String(\"example-aks1\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tDnsPrefix:         pulumi.String(\"exampleaks1\"),\n\t\t\tDefaultNodePool: \u0026containerservice.KubernetesClusterDefaultNodePoolArgs{\n\t\t\t\tName:      pulumi.String(\"default\"),\n\t\t\t\tNodeCount: pulumi.Int(1),\n\t\t\t\tVmSize:    pulumi.String(\"Standard_D2_v2\"),\n\t\t\t},\n\t\t\tIdentity: \u0026containerservice.KubernetesClusterIdentityArgs{\n\t\t\t\tType: pulumi.String(\"SystemAssigned\"),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Environment\": pulumi.String(\"Production\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"clientCertificate\", exampleKubernetesCluster.KubeConfigs.ApplyT(func(kubeConfigs []containerservice.KubernetesClusterKubeConfig) (*string, error) {\n\t\t\treturn \u0026kubeConfigs[0].ClientCertificate, nil\n\t\t}).(pulumi.StringPtrOutput))\n\t\tctx.Export(\"kubeConfig\", exampleKubernetesCluster.KubeConfigRaw)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.containerservice.KubernetesCluster;\nimport com.pulumi.azure.containerservice.KubernetesClusterArgs;\nimport com.pulumi.azure.containerservice.inputs.KubernetesClusterDefaultNodePoolArgs;\nimport com.pulumi.azure.containerservice.inputs.KubernetesClusterIdentityArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleKubernetesCluster = new KubernetesCluster(\"exampleKubernetesCluster\", KubernetesClusterArgs.builder()\n            .name(\"example-aks1\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .dnsPrefix(\"exampleaks1\")\n            .defaultNodePool(KubernetesClusterDefaultNodePoolArgs.builder()\n                .name(\"default\")\n                .nodeCount(1)\n                .vmSize(\"Standard_D2_v2\")\n                .build())\n            .identity(KubernetesClusterIdentityArgs.builder()\n                .type(\"SystemAssigned\")\n                .build())\n            .tags(Map.of(\"Environment\", \"Production\"))\n            .build());\n\n        ctx.export(\"clientCertificate\", exampleKubernetesCluster.kubeConfigs().applyValue(_kubeConfigs -\u003e _kubeConfigs[0].clientCertificate()));\n        ctx.export(\"kubeConfig\", exampleKubernetesCluster.kubeConfigRaw());\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleKubernetesCluster:\n    type: azure:containerservice:KubernetesCluster\n    name: example\n    properties:\n      name: example-aks1\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      dnsPrefix: exampleaks1\n      defaultNodePool:\n        name: default\n        nodeCount: 1\n        vmSize: Standard_D2_v2\n      identity:\n        type: SystemAssigned\n      tags:\n        Environment: Production\noutputs:\n  clientCertificate: ${exampleKubernetesCluster.kubeConfigs[0].clientCertificate}\n  kubeConfig: ${exampleKubernetesCluster.kubeConfigRaw}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.ContainerService` - 2025-07-01\n\n## Import\n\nManaged Kubernetes Clusters can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:containerservice/kubernetesCluster:KubernetesCluster cluster1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.ContainerService/managedClusters/cluster1\n```\n\n","properties":{"aciConnectorLinux":{"$ref":"#/types/azure:containerservice/KubernetesClusterAciConnectorLinux:KubernetesClusterAciConnectorLinux","description":"A \u003cspan pulumi-lang-nodejs=\"`aciConnectorLinux`\" pulumi-lang-dotnet=\"`AciConnectorLinux`\" pulumi-lang-go=\"`aciConnectorLinux`\" pulumi-lang-python=\"`aci_connector_linux`\" pulumi-lang-yaml=\"`aciConnectorLinux`\" pulumi-lang-java=\"`aciConnectorLinux`\"\u003e`aci_connector_linux`\u003c/span\u003e block as defined below. For more details, please visit [Create and configure an AKS cluster to use virtual nodes](https://docs.microsoft.com/azure/aks/virtual-nodes-portal).\n"},"aiToolchainOperatorEnabled":{"type":"boolean","description":"Specifies whether the AI Toolchain Operator should be enabled for the Cluster. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"apiServerAccessProfile":{"$ref":"#/types/azure:containerservice/KubernetesClusterApiServerAccessProfile:KubernetesClusterApiServerAccessProfile","description":"An \u003cspan pulumi-lang-nodejs=\"`apiServerAccessProfile`\" pulumi-lang-dotnet=\"`ApiServerAccessProfile`\" pulumi-lang-go=\"`apiServerAccessProfile`\" pulumi-lang-python=\"`api_server_access_profile`\" pulumi-lang-yaml=\"`apiServerAccessProfile`\" pulumi-lang-java=\"`apiServerAccessProfile`\"\u003e`api_server_access_profile`\u003c/span\u003e block as defined below.\n"},"autoScalerProfile":{"$ref":"#/types/azure:containerservice/KubernetesClusterAutoScalerProfile:KubernetesClusterAutoScalerProfile","description":"A \u003cspan pulumi-lang-nodejs=\"`autoScalerProfile`\" pulumi-lang-dotnet=\"`AutoScalerProfile`\" pulumi-lang-go=\"`autoScalerProfile`\" pulumi-lang-python=\"`auto_scaler_profile`\" pulumi-lang-yaml=\"`autoScalerProfile`\" pulumi-lang-java=\"`autoScalerProfile`\"\u003e`auto_scaler_profile`\u003c/span\u003e block as defined below.\n"},"automaticUpgradeChannel":{"type":"string","description":"The upgrade channel for this Kubernetes Cluster. Possible values are \u003cspan pulumi-lang-nodejs=\"`patch`\" pulumi-lang-dotnet=\"`Patch`\" pulumi-lang-go=\"`patch`\" pulumi-lang-python=\"`patch`\" pulumi-lang-yaml=\"`patch`\" pulumi-lang-java=\"`patch`\"\u003e`patch`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`rapid`\" pulumi-lang-dotnet=\"`Rapid`\" pulumi-lang-go=\"`rapid`\" pulumi-lang-python=\"`rapid`\" pulumi-lang-yaml=\"`rapid`\" pulumi-lang-java=\"`rapid`\"\u003e`rapid`\u003c/span\u003e, `node-image` and \u003cspan pulumi-lang-nodejs=\"`stable`\" pulumi-lang-dotnet=\"`Stable`\" pulumi-lang-go=\"`stable`\" pulumi-lang-python=\"`stable`\" pulumi-lang-yaml=\"`stable`\" pulumi-lang-java=\"`stable`\"\u003e`stable`\u003c/span\u003e. Omitting this field sets this value to \u003cspan pulumi-lang-nodejs=\"`none`\" pulumi-lang-dotnet=\"`None`\" pulumi-lang-go=\"`none`\" pulumi-lang-python=\"`none`\" pulumi-lang-yaml=\"`none`\" pulumi-lang-java=\"`none`\"\u003e`none`\u003c/span\u003e.\n\n!\u003e **Note:** Cluster Auto-Upgrade will update the Kubernetes Cluster (and its Node Pools) to the latest GA version of Kubernetes automatically - please [see the Azure documentation for more information](https://docs.microsoft.com/azure/aks/upgrade-cluster#set-auto-upgrade-channel).\n\n\u003e **Note:** Cluster Auto-Upgrade only updates to GA versions of Kubernetes and will not update to Preview versions.\n"},"azureActiveDirectoryRoleBasedAccessControl":{"$ref":"#/types/azure:containerservice/KubernetesClusterAzureActiveDirectoryRoleBasedAccessControl:KubernetesClusterAzureActiveDirectoryRoleBasedAccessControl","description":"A \u003cspan pulumi-lang-nodejs=\"`azureActiveDirectoryRoleBasedAccessControl`\" pulumi-lang-dotnet=\"`AzureActiveDirectoryRoleBasedAccessControl`\" pulumi-lang-go=\"`azureActiveDirectoryRoleBasedAccessControl`\" pulumi-lang-python=\"`azure_active_directory_role_based_access_control`\" pulumi-lang-yaml=\"`azureActiveDirectoryRoleBasedAccessControl`\" pulumi-lang-java=\"`azureActiveDirectoryRoleBasedAccessControl`\"\u003e`azure_active_directory_role_based_access_control`\u003c/span\u003e block as defined below.\n"},"azurePolicyEnabled":{"type":"boolean","description":"Should the Azure Policy Add-On be enabled? For more details please visit [Understand Azure Policy for Azure Kubernetes Service](https://docs.microsoft.com/en-ie/azure/governance/policy/concepts/rego-for-aks)\n"},"bootstrapProfile":{"$ref":"#/types/azure:containerservice/KubernetesClusterBootstrapProfile:KubernetesClusterBootstrapProfile","description":"A \u003cspan pulumi-lang-nodejs=\"`bootstrapProfile`\" pulumi-lang-dotnet=\"`BootstrapProfile`\" pulumi-lang-go=\"`bootstrapProfile`\" pulumi-lang-python=\"`bootstrap_profile`\" pulumi-lang-yaml=\"`bootstrapProfile`\" pulumi-lang-java=\"`bootstrapProfile`\"\u003e`bootstrap_profile`\u003c/span\u003e block as defined below.\n"},"confidentialComputing":{"$ref":"#/types/azure:containerservice/KubernetesClusterConfidentialComputing:KubernetesClusterConfidentialComputing","description":"A \u003cspan pulumi-lang-nodejs=\"`confidentialComputing`\" pulumi-lang-dotnet=\"`ConfidentialComputing`\" pulumi-lang-go=\"`confidentialComputing`\" pulumi-lang-python=\"`confidential_computing`\" pulumi-lang-yaml=\"`confidentialComputing`\" pulumi-lang-java=\"`confidentialComputing`\"\u003e`confidential_computing`\u003c/span\u003e block as defined below. For more details please [the documentation](https://learn.microsoft.com/en-us/azure/confidential-computing/confidential-nodes-aks-overview)\n"},"costAnalysisEnabled":{"type":"boolean","description":"Should cost analysis be enabled for this Kubernetes Cluster? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. The \u003cspan pulumi-lang-nodejs=\"`skuTier`\" pulumi-lang-dotnet=\"`SkuTier`\" pulumi-lang-go=\"`skuTier`\" pulumi-lang-python=\"`sku_tier`\" pulumi-lang-yaml=\"`skuTier`\" pulumi-lang-java=\"`skuTier`\"\u003e`sku_tier`\u003c/span\u003e must be set to `Standard` or `Premium` to enable this feature. Enabling this will add Kubernetes Namespace and Deployment details to the Cost Analysis views in the Azure portal.\n"},"currentKubernetesVersion":{"type":"string","description":"The current version running on the Azure Kubernetes Managed Cluster.\n"},"customCaTrustCertificatesBase64s":{"type":"array","items":{"type":"string"},"description":"A list of up to 10 base64 encoded CA certificates that will be added to the trust store on nodes.\n"},"defaultNodePool":{"$ref":"#/types/azure:containerservice/KubernetesClusterDefaultNodePool:KubernetesClusterDefaultNodePool","description":"Specifies configuration for \"System\" mode node pool. A \u003cspan pulumi-lang-nodejs=\"`defaultNodePool`\" pulumi-lang-dotnet=\"`DefaultNodePool`\" pulumi-lang-go=\"`defaultNodePool`\" pulumi-lang-python=\"`default_node_pool`\" pulumi-lang-yaml=\"`defaultNodePool`\" pulumi-lang-java=\"`defaultNodePool`\"\u003e`default_node_pool`\u003c/span\u003e block as defined below.\n"},"diskEncryptionSetId":{"type":"string","description":"The ID of the Disk Encryption Set which should be used for the Nodes and Volumes. More information [can be found in the documentation](https://docs.microsoft.com/azure/aks/azure-disk-customer-managed-keys). Changing this forces a new resource to be created.\n"},"dnsPrefix":{"type":"string","description":"DNS prefix specified when creating the managed cluster. Possible values must begin and end with a letter or number, contain only letters, numbers, and hyphens and be between 1 and 54 characters in length. Changing this forces a new resource to be created.\n"},"dnsPrefixPrivateCluster":{"type":"string","description":"Specifies the DNS prefix to use with private clusters. Changing this forces a new resource to be created.\n\n\u003e **Note:** You must define either a \u003cspan pulumi-lang-nodejs=\"`dnsPrefix`\" pulumi-lang-dotnet=\"`DnsPrefix`\" pulumi-lang-go=\"`dnsPrefix`\" pulumi-lang-python=\"`dns_prefix`\" pulumi-lang-yaml=\"`dnsPrefix`\" pulumi-lang-java=\"`dnsPrefix`\"\u003e`dns_prefix`\u003c/span\u003e or a \u003cspan pulumi-lang-nodejs=\"`dnsPrefixPrivateCluster`\" pulumi-lang-dotnet=\"`DnsPrefixPrivateCluster`\" pulumi-lang-go=\"`dnsPrefixPrivateCluster`\" pulumi-lang-python=\"`dns_prefix_private_cluster`\" pulumi-lang-yaml=\"`dnsPrefixPrivateCluster`\" pulumi-lang-java=\"`dnsPrefixPrivateCluster`\"\u003e`dns_prefix_private_cluster`\u003c/span\u003e field.\n\nIn addition, one of either \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`servicePrincipal`\" pulumi-lang-dotnet=\"`ServicePrincipal`\" pulumi-lang-go=\"`servicePrincipal`\" pulumi-lang-python=\"`service_principal`\" pulumi-lang-yaml=\"`servicePrincipal`\" pulumi-lang-java=\"`servicePrincipal`\"\u003e`service_principal`\u003c/span\u003e blocks must be specified.\n"},"edgeZone":{"type":"string","description":"Specifies the Extended Zone (formerly called Edge Zone) within the Azure Region where this Managed Kubernetes Cluster should exist. Changing this forces a new resource to be created.\n"},"fqdn":{"type":"string","description":"The FQDN of the Azure Kubernetes Managed Cluster.\n"},"httpApplicationRoutingEnabled":{"type":"boolean","description":"Should HTTP Application Routing be enabled?\n\n\u003e **Note:** At this time HTTP Application Routing is not supported in Azure China or Azure US Government.\n"},"httpApplicationRoutingZoneName":{"type":"string","description":"The Zone Name of the HTTP Application Routing.\n"},"httpProxyConfig":{"$ref":"#/types/azure:containerservice/KubernetesClusterHttpProxyConfig:KubernetesClusterHttpProxyConfig","description":"A \u003cspan pulumi-lang-nodejs=\"`httpProxyConfig`\" pulumi-lang-dotnet=\"`HttpProxyConfig`\" pulumi-lang-go=\"`httpProxyConfig`\" pulumi-lang-python=\"`http_proxy_config`\" pulumi-lang-yaml=\"`httpProxyConfig`\" pulumi-lang-java=\"`httpProxyConfig`\"\u003e`http_proxy_config`\u003c/span\u003e block as defined below.\n"},"identity":{"$ref":"#/types/azure:containerservice/KubernetesClusterIdentity:KubernetesClusterIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below. One of either \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`servicePrincipal`\" pulumi-lang-dotnet=\"`ServicePrincipal`\" pulumi-lang-go=\"`servicePrincipal`\" pulumi-lang-python=\"`service_principal`\" pulumi-lang-yaml=\"`servicePrincipal`\" pulumi-lang-java=\"`servicePrincipal`\"\u003e`service_principal`\u003c/span\u003e must be specified.\n\n!\u003e **Note:** A migration scenario from \u003cspan pulumi-lang-nodejs=\"`servicePrincipal`\" pulumi-lang-dotnet=\"`ServicePrincipal`\" pulumi-lang-go=\"`servicePrincipal`\" pulumi-lang-python=\"`service_principal`\" pulumi-lang-yaml=\"`servicePrincipal`\" pulumi-lang-java=\"`servicePrincipal`\"\u003e`service_principal`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e is supported. When upgrading \u003cspan pulumi-lang-nodejs=\"`servicePrincipal`\" pulumi-lang-dotnet=\"`ServicePrincipal`\" pulumi-lang-go=\"`servicePrincipal`\" pulumi-lang-python=\"`service_principal`\" pulumi-lang-yaml=\"`servicePrincipal`\" pulumi-lang-java=\"`servicePrincipal`\"\u003e`service_principal`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e, your cluster's control plane and addon pods will switch to use managed identity, but the kubelets will keep using your configured \u003cspan pulumi-lang-nodejs=\"`servicePrincipal`\" pulumi-lang-dotnet=\"`ServicePrincipal`\" pulumi-lang-go=\"`servicePrincipal`\" pulumi-lang-python=\"`service_principal`\" pulumi-lang-yaml=\"`servicePrincipal`\" pulumi-lang-java=\"`servicePrincipal`\"\u003e`service_principal`\u003c/span\u003e until you upgrade your Node Pool.\n"},"imageCleanerEnabled":{"type":"boolean","description":"Specifies whether Image Cleaner is enabled.\n"},"imageCleanerIntervalHours":{"type":"integer","description":"Specifies the interval in hours when images should be cleaned up.\n"},"ingressApplicationGateway":{"$ref":"#/types/azure:containerservice/KubernetesClusterIngressApplicationGateway:KubernetesClusterIngressApplicationGateway","description":"A \u003cspan pulumi-lang-nodejs=\"`ingressApplicationGateway`\" pulumi-lang-dotnet=\"`IngressApplicationGateway`\" pulumi-lang-go=\"`ingressApplicationGateway`\" pulumi-lang-python=\"`ingress_application_gateway`\" pulumi-lang-yaml=\"`ingressApplicationGateway`\" pulumi-lang-java=\"`ingressApplicationGateway`\"\u003e`ingress_application_gateway`\u003c/span\u003e block as defined below.\n\n\u003e **Note:** Since the Application Gateway is deployed inside a Virtual Network, users (and Service Principals) that are operating the Application Gateway must have the `Microsoft.Network/virtualNetworks/subnets/join/action` permission on the Virtual Network or Subnet. For more details, please visit [Virtual Network Permission](https://learn.microsoft.com/en-us/azure/application-gateway/configuration-infrastructure#virtual-network-permission).\n"},"keyManagementService":{"$ref":"#/types/azure:containerservice/KubernetesClusterKeyManagementService:KubernetesClusterKeyManagementService","description":"A \u003cspan pulumi-lang-nodejs=\"`keyManagementService`\" pulumi-lang-dotnet=\"`KeyManagementService`\" pulumi-lang-go=\"`keyManagementService`\" pulumi-lang-python=\"`key_management_service`\" pulumi-lang-yaml=\"`keyManagementService`\" pulumi-lang-java=\"`keyManagementService`\"\u003e`key_management_service`\u003c/span\u003e block as defined below. For more details, please visit [Key Management Service (KMS) etcd encryption to an AKS cluster](https://learn.microsoft.com/en-us/azure/aks/use-kms-etcd-encryption).\n"},"keyVaultSecretsProvider":{"$ref":"#/types/azure:containerservice/KubernetesClusterKeyVaultSecretsProvider:KubernetesClusterKeyVaultSecretsProvider","description":"A \u003cspan pulumi-lang-nodejs=\"`keyVaultSecretsProvider`\" pulumi-lang-dotnet=\"`KeyVaultSecretsProvider`\" pulumi-lang-go=\"`keyVaultSecretsProvider`\" pulumi-lang-python=\"`key_vault_secrets_provider`\" pulumi-lang-yaml=\"`keyVaultSecretsProvider`\" pulumi-lang-java=\"`keyVaultSecretsProvider`\"\u003e`key_vault_secrets_provider`\u003c/span\u003e block as defined below. For more details, please visit [Azure Keyvault Secrets Provider for AKS](https://docs.microsoft.com/azure/aks/csi-secrets-store-driver).\n"},"kubeAdminConfigRaw":{"type":"string","description":"Raw Kubernetes config for the admin account to be used by [kubectl](https://kubernetes.io/docs/reference/kubectl/overview/) and other compatible tools. This is only available when Role Based Access Control with Azure Active Directory is enabled and local accounts enabled.\n","secret":true},"kubeAdminConfigs":{"type":"array","items":{"$ref":"#/types/azure:containerservice/KubernetesClusterKubeAdminConfig:KubernetesClusterKubeAdminConfig"},"description":"A \u003cspan pulumi-lang-nodejs=\"`kubeAdminConfig`\" pulumi-lang-dotnet=\"`KubeAdminConfig`\" pulumi-lang-go=\"`kubeAdminConfig`\" pulumi-lang-python=\"`kube_admin_config`\" pulumi-lang-yaml=\"`kubeAdminConfig`\" pulumi-lang-java=\"`kubeAdminConfig`\"\u003e`kube_admin_config`\u003c/span\u003e block as defined below. This is only available when Role Based Access Control with Azure Active Directory is enabled and local accounts enabled.\n","secret":true},"kubeConfigRaw":{"type":"string","description":"Raw Kubernetes config to be used by [kubectl](https://kubernetes.io/docs/reference/kubectl/overview/) and other compatible tools.\n","secret":true},"kubeConfigs":{"type":"array","items":{"$ref":"#/types/azure:containerservice/KubernetesClusterKubeConfig:KubernetesClusterKubeConfig"},"description":"A \u003cspan pulumi-lang-nodejs=\"`kubeConfig`\" pulumi-lang-dotnet=\"`KubeConfig`\" pulumi-lang-go=\"`kubeConfig`\" pulumi-lang-python=\"`kube_config`\" pulumi-lang-yaml=\"`kubeConfig`\" pulumi-lang-java=\"`kubeConfig`\"\u003e`kube_config`\u003c/span\u003e block as defined below.\n","secret":true},"kubeletIdentity":{"$ref":"#/types/azure:containerservice/KubernetesClusterKubeletIdentity:KubernetesClusterKubeletIdentity","description":"A \u003cspan pulumi-lang-nodejs=\"`kubeletIdentity`\" pulumi-lang-dotnet=\"`KubeletIdentity`\" pulumi-lang-go=\"`kubeletIdentity`\" pulumi-lang-python=\"`kubelet_identity`\" pulumi-lang-yaml=\"`kubeletIdentity`\" pulumi-lang-java=\"`kubeletIdentity`\"\u003e`kubelet_identity`\u003c/span\u003e block as defined below.\n"},"kubernetesVersion":{"type":"string","description":"Version of Kubernetes specified when creating the AKS managed cluster. If not specified, the latest recommended version will be used at provisioning time (but won't auto-upgrade). AKS does not require an exact patch version to be specified, minor version aliases such as `1.22` are also supported. - The minor version's latest GA patch is automatically chosen in that case. More details can be found in [the documentation](https://docs.microsoft.com/en-us/azure/aks/supported-kubernetes-versions?tabs=azure-cli#alias-minor-version).\n\n\u003e **Note:** Upgrading your cluster may take up to 10 minutes per node.\n"},"linuxProfile":{"$ref":"#/types/azure:containerservice/KubernetesClusterLinuxProfile:KubernetesClusterLinuxProfile","description":"A \u003cspan pulumi-lang-nodejs=\"`linuxProfile`\" pulumi-lang-dotnet=\"`LinuxProfile`\" pulumi-lang-go=\"`linuxProfile`\" pulumi-lang-python=\"`linux_profile`\" pulumi-lang-yaml=\"`linuxProfile`\" pulumi-lang-java=\"`linuxProfile`\"\u003e`linux_profile`\u003c/span\u003e block as defined below.\n"},"localAccountDisabled":{"type":"boolean","description":"If \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e local accounts will be disabled. See [the documentation](https://docs.microsoft.com/azure/aks/managed-aad#disable-local-accounts) for more information.\n\n\u003e **Note:** If \u003cspan pulumi-lang-nodejs=\"`localAccountDisabled`\" pulumi-lang-dotnet=\"`LocalAccountDisabled`\" pulumi-lang-go=\"`localAccountDisabled`\" pulumi-lang-python=\"`local_account_disabled`\" pulumi-lang-yaml=\"`localAccountDisabled`\" pulumi-lang-java=\"`localAccountDisabled`\"\u003e`local_account_disabled`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, it is required to enable Kubernetes RBAC and AKS-managed Azure AD integration. See [the documentation](https://docs.microsoft.com/azure/aks/managed-aad#azure-ad-authentication-overview) for more information.\n"},"location":{"type":"string","description":"The location where the Managed Kubernetes Cluster should be created. Changing this forces a new resource to be created.\n"},"maintenanceWindow":{"$ref":"#/types/azure:containerservice/KubernetesClusterMaintenanceWindow:KubernetesClusterMaintenanceWindow","description":"A \u003cspan pulumi-lang-nodejs=\"`maintenanceWindow`\" pulumi-lang-dotnet=\"`MaintenanceWindow`\" pulumi-lang-go=\"`maintenanceWindow`\" pulumi-lang-python=\"`maintenance_window`\" pulumi-lang-yaml=\"`maintenanceWindow`\" pulumi-lang-java=\"`maintenanceWindow`\"\u003e`maintenance_window`\u003c/span\u003e block as defined below.\n"},"maintenanceWindowAutoUpgrade":{"$ref":"#/types/azure:containerservice/KubernetesClusterMaintenanceWindowAutoUpgrade:KubernetesClusterMaintenanceWindowAutoUpgrade","description":"A \u003cspan pulumi-lang-nodejs=\"`maintenanceWindowAutoUpgrade`\" pulumi-lang-dotnet=\"`MaintenanceWindowAutoUpgrade`\" pulumi-lang-go=\"`maintenanceWindowAutoUpgrade`\" pulumi-lang-python=\"`maintenance_window_auto_upgrade`\" pulumi-lang-yaml=\"`maintenanceWindowAutoUpgrade`\" pulumi-lang-java=\"`maintenanceWindowAutoUpgrade`\"\u003e`maintenance_window_auto_upgrade`\u003c/span\u003e block as defined below.\n"},"maintenanceWindowNodeOs":{"$ref":"#/types/azure:containerservice/KubernetesClusterMaintenanceWindowNodeOs:KubernetesClusterMaintenanceWindowNodeOs","description":"A \u003cspan pulumi-lang-nodejs=\"`maintenanceWindowNodeOs`\" pulumi-lang-dotnet=\"`MaintenanceWindowNodeOs`\" pulumi-lang-go=\"`maintenanceWindowNodeOs`\" pulumi-lang-python=\"`maintenance_window_node_os`\" pulumi-lang-yaml=\"`maintenanceWindowNodeOs`\" pulumi-lang-java=\"`maintenanceWindowNodeOs`\"\u003e`maintenance_window_node_os`\u003c/span\u003e block as defined below.\n"},"microsoftDefender":{"$ref":"#/types/azure:containerservice/KubernetesClusterMicrosoftDefender:KubernetesClusterMicrosoftDefender","description":"A \u003cspan pulumi-lang-nodejs=\"`microsoftDefender`\" pulumi-lang-dotnet=\"`MicrosoftDefender`\" pulumi-lang-go=\"`microsoftDefender`\" pulumi-lang-python=\"`microsoft_defender`\" pulumi-lang-yaml=\"`microsoftDefender`\" pulumi-lang-java=\"`microsoftDefender`\"\u003e`microsoft_defender`\u003c/span\u003e block as defined below.\n"},"monitorMetrics":{"$ref":"#/types/azure:containerservice/KubernetesClusterMonitorMetrics:KubernetesClusterMonitorMetrics","description":"Specifies a Prometheus add-on profile for the Kubernetes Cluster. A \u003cspan pulumi-lang-nodejs=\"`monitorMetrics`\" pulumi-lang-dotnet=\"`MonitorMetrics`\" pulumi-lang-go=\"`monitorMetrics`\" pulumi-lang-python=\"`monitor_metrics`\" pulumi-lang-yaml=\"`monitorMetrics`\" pulumi-lang-java=\"`monitorMetrics`\"\u003e`monitor_metrics`\u003c/span\u003e block as defined below.\n\n\u003e **Note:** If deploying Managed Prometheus, the \u003cspan pulumi-lang-nodejs=\"`monitorMetrics`\" pulumi-lang-dotnet=\"`MonitorMetrics`\" pulumi-lang-go=\"`monitorMetrics`\" pulumi-lang-python=\"`monitor_metrics`\" pulumi-lang-yaml=\"`monitorMetrics`\" pulumi-lang-java=\"`monitorMetrics`\"\u003e`monitor_metrics`\u003c/span\u003e properties are required to configure the cluster for metrics collection. If no value is needed, set properties to \u003cspan pulumi-lang-nodejs=\"`null`\" pulumi-lang-dotnet=\"`Null`\" pulumi-lang-go=\"`null`\" pulumi-lang-python=\"`null`\" pulumi-lang-yaml=\"`null`\" pulumi-lang-java=\"`null`\"\u003e`null`\u003c/span\u003e.\n"},"name":{"type":"string","description":"The name of the Managed Kubernetes Cluster to create. Changing this forces a new resource to be created.\n"},"networkProfile":{"$ref":"#/types/azure:containerservice/KubernetesClusterNetworkProfile:KubernetesClusterNetworkProfile","description":"A \u003cspan pulumi-lang-nodejs=\"`networkProfile`\" pulumi-lang-dotnet=\"`NetworkProfile`\" pulumi-lang-go=\"`networkProfile`\" pulumi-lang-python=\"`network_profile`\" pulumi-lang-yaml=\"`networkProfile`\" pulumi-lang-java=\"`networkProfile`\"\u003e`network_profile`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n\n\u003e **Note:** If \u003cspan pulumi-lang-nodejs=\"`networkProfile`\" pulumi-lang-dotnet=\"`NetworkProfile`\" pulumi-lang-go=\"`networkProfile`\" pulumi-lang-python=\"`network_profile`\" pulumi-lang-yaml=\"`networkProfile`\" pulumi-lang-java=\"`networkProfile`\"\u003e`network_profile`\u003c/span\u003e is not defined, \u003cspan pulumi-lang-nodejs=\"`kubenet`\" pulumi-lang-dotnet=\"`Kubenet`\" pulumi-lang-go=\"`kubenet`\" pulumi-lang-python=\"`kubenet`\" pulumi-lang-yaml=\"`kubenet`\" pulumi-lang-java=\"`kubenet`\"\u003e`kubenet`\u003c/span\u003e profile will be used by default.\n"},"nodeOsUpgradeChannel":{"type":"string","description":"The upgrade channel for this Kubernetes Cluster Nodes' OS Image. Possible values are `Unmanaged`, `SecurityPatch`, `NodeImage` and `None`. Defaults to `NodeImage`.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`nodeOsUpgradeChannel`\" pulumi-lang-dotnet=\"`NodeOsUpgradeChannel`\" pulumi-lang-go=\"`nodeOsUpgradeChannel`\" pulumi-lang-python=\"`node_os_upgrade_channel`\" pulumi-lang-yaml=\"`nodeOsUpgradeChannel`\" pulumi-lang-java=\"`nodeOsUpgradeChannel`\"\u003e`node_os_upgrade_channel`\u003c/span\u003e must be set to `NodeImage` if \u003cspan pulumi-lang-nodejs=\"`automaticUpgradeChannel`\" pulumi-lang-dotnet=\"`AutomaticUpgradeChannel`\" pulumi-lang-go=\"`automaticUpgradeChannel`\" pulumi-lang-python=\"`automatic_upgrade_channel`\" pulumi-lang-yaml=\"`automaticUpgradeChannel`\" pulumi-lang-java=\"`automaticUpgradeChannel`\"\u003e`automatic_upgrade_channel`\u003c/span\u003e has been set to `node-image`\n"},"nodeProvisioningProfile":{"$ref":"#/types/azure:containerservice/KubernetesClusterNodeProvisioningProfile:KubernetesClusterNodeProvisioningProfile","description":"A \u003cspan pulumi-lang-nodejs=\"`nodeProvisioningProfile`\" pulumi-lang-dotnet=\"`NodeProvisioningProfile`\" pulumi-lang-go=\"`nodeProvisioningProfile`\" pulumi-lang-python=\"`node_provisioning_profile`\" pulumi-lang-yaml=\"`nodeProvisioningProfile`\" pulumi-lang-java=\"`nodeProvisioningProfile`\"\u003e`node_provisioning_profile`\u003c/span\u003e block as defined below.\n"},"nodeResourceGroup":{"type":"string","description":"The name of the Resource Group where the Kubernetes Nodes should exist. Changing this forces a new resource to be created.\n\n\u003e **Note:** Azure requires that a new, non-existent Resource Group is used, as otherwise, the provisioning of the Kubernetes Service will fail.\n"},"nodeResourceGroupId":{"type":"string","description":"The ID of the Resource Group containing the resources for this Managed Kubernetes Cluster.\n"},"oidcIssuerEnabled":{"type":"boolean","description":"Enable or Disable the [OIDC issuer URL](https://learn.microsoft.com/en-gb/azure/aks/use-oidc-issuer)\n"},"oidcIssuerUrl":{"type":"string","description":"The OIDC issuer URL that is associated with the cluster.\n"},"omsAgent":{"$ref":"#/types/azure:containerservice/KubernetesClusterOmsAgent:KubernetesClusterOmsAgent","description":"A \u003cspan pulumi-lang-nodejs=\"`omsAgent`\" pulumi-lang-dotnet=\"`OmsAgent`\" pulumi-lang-go=\"`omsAgent`\" pulumi-lang-python=\"`oms_agent`\" pulumi-lang-yaml=\"`omsAgent`\" pulumi-lang-java=\"`omsAgent`\"\u003e`oms_agent`\u003c/span\u003e block as defined below.\n"},"openServiceMeshEnabled":{"type":"boolean","description":"Is Open Service Mesh enabled? For more details, please visit [Open Service Mesh for AKS](https://docs.microsoft.com/azure/aks/open-service-mesh-about).\n"},"portalFqdn":{"type":"string","description":"The FQDN for the Azure Portal resources when private link has been enabled, which is only resolvable inside the Virtual Network used by the Kubernetes Cluster.\n"},"privateClusterEnabled":{"type":"boolean","description":"Should this Kubernetes Cluster have its API server only exposed on internal IP addresses? This provides a Private IP Address for the Kubernetes API on the Virtual Network where the Kubernetes Cluster is located. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Changing this forces a new resource to be created.\n"},"privateClusterPublicFqdnEnabled":{"type":"boolean","description":"Specifies whether a Public FQDN for this Private Cluster should be added. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** If you use BYO DNS Zone, the AKS cluster should either use a User Assigned Identity or a service principal (which is deprecated) with the `Private DNS Zone Contributor` role and access to this Private DNS Zone. If `UserAssigned` identity is used - to prevent improper resource order destruction - the cluster should depend on the role assignment, like in this example:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example\",\n    location: \"West Europe\",\n});\nconst exampleZone = new azure.privatedns.Zone(\"example\", {\n    name: \"privatelink.eastus2.azmk8s.io\",\n    resourceGroupName: example.name,\n});\nconst exampleUserAssignedIdentity = new azure.authorization.UserAssignedIdentity(\"example\", {\n    name: \"aks-example-identity\",\n    resourceGroupName: example.name,\n    location: example.location,\n});\nconst exampleAssignment = new azure.authorization.Assignment(\"example\", {\n    scope: exampleZone.id,\n    roleDefinitionName: \"Private DNS Zone Contributor\",\n    principalId: exampleUserAssignedIdentity.principalId,\n});\nconst exampleKubernetesCluster = new azure.containerservice.KubernetesCluster(\"example\", {\n    name: \"aksexamplewithprivatednszone1\",\n    location: example.location,\n    resourceGroupName: example.name,\n    dnsPrefix: \"aksexamplednsprefix1\",\n    privateClusterEnabled: true,\n    privateDnsZoneId: exampleZone.id,\n}, {\n    dependsOn: [exampleAssignment],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example\",\n    location=\"West Europe\")\nexample_zone = azure.privatedns.Zone(\"example\",\n    name=\"privatelink.eastus2.azmk8s.io\",\n    resource_group_name=example.name)\nexample_user_assigned_identity = azure.authorization.UserAssignedIdentity(\"example\",\n    name=\"aks-example-identity\",\n    resource_group_name=example.name,\n    location=example.location)\nexample_assignment = azure.authorization.Assignment(\"example\",\n    scope=example_zone.id,\n    role_definition_name=\"Private DNS Zone Contributor\",\n    principal_id=example_user_assigned_identity.principal_id)\nexample_kubernetes_cluster = azure.containerservice.KubernetesCluster(\"example\",\n    name=\"aksexamplewithprivatednszone1\",\n    location=example.location,\n    resource_group_name=example.name,\n    dns_prefix=\"aksexamplednsprefix1\",\n    private_cluster_enabled=True,\n    private_dns_zone_id=example_zone.id,\n    opts = pulumi.ResourceOptions(depends_on=[example_assignment]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example\",\n        Location = \"West Europe\",\n    });\n\n    var exampleZone = new Azure.PrivateDns.Zone(\"example\", new()\n    {\n        Name = \"privatelink.eastus2.azmk8s.io\",\n        ResourceGroupName = example.Name,\n    });\n\n    var exampleUserAssignedIdentity = new Azure.Authorization.UserAssignedIdentity(\"example\", new()\n    {\n        Name = \"aks-example-identity\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n    });\n\n    var exampleAssignment = new Azure.Authorization.Assignment(\"example\", new()\n    {\n        Scope = exampleZone.Id,\n        RoleDefinitionName = \"Private DNS Zone Contributor\",\n        PrincipalId = exampleUserAssignedIdentity.PrincipalId,\n    });\n\n    var exampleKubernetesCluster = new Azure.ContainerService.KubernetesCluster(\"example\", new()\n    {\n        Name = \"aksexamplewithprivatednszone1\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        DnsPrefix = \"aksexamplednsprefix1\",\n        PrivateClusterEnabled = true,\n        PrivateDnsZoneId = exampleZone.Id,\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            exampleAssignment,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/authorization\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/containerservice\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/privatedns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleZone, err := privatedns.NewZone(ctx, \"example\", \u0026privatedns.ZoneArgs{\n\t\t\tName:              pulumi.String(\"privatelink.eastus2.azmk8s.io\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleUserAssignedIdentity, err := authorization.NewUserAssignedIdentity(ctx, \"example\", \u0026authorization.UserAssignedIdentityArgs{\n\t\t\tName:              pulumi.String(\"aks-example-identity\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAssignment, err := authorization.NewAssignment(ctx, \"example\", \u0026authorization.AssignmentArgs{\n\t\t\tScope:              exampleZone.ID(),\n\t\t\tRoleDefinitionName: pulumi.String(\"Private DNS Zone Contributor\"),\n\t\t\tPrincipalId:        exampleUserAssignedIdentity.PrincipalId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = containerservice.NewKubernetesCluster(ctx, \"example\", \u0026containerservice.KubernetesClusterArgs{\n\t\t\tName:                  pulumi.String(\"aksexamplewithprivatednszone1\"),\n\t\t\tLocation:              example.Location,\n\t\t\tResourceGroupName:     example.Name,\n\t\t\tDnsPrefix:             pulumi.String(\"aksexamplednsprefix1\"),\n\t\t\tPrivateClusterEnabled: pulumi.Bool(true),\n\t\t\tPrivateDnsZoneId:      exampleZone.ID(),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleAssignment,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.privatedns.Zone;\nimport com.pulumi.azure.privatedns.ZoneArgs;\nimport com.pulumi.azure.authorization.UserAssignedIdentity;\nimport com.pulumi.azure.authorization.UserAssignedIdentityArgs;\nimport com.pulumi.azure.authorization.Assignment;\nimport com.pulumi.azure.authorization.AssignmentArgs;\nimport com.pulumi.azure.containerservice.KubernetesCluster;\nimport com.pulumi.azure.containerservice.KubernetesClusterArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleZone = new Zone(\"exampleZone\", ZoneArgs.builder()\n            .name(\"privatelink.eastus2.azmk8s.io\")\n            .resourceGroupName(example.name())\n            .build());\n\n        var exampleUserAssignedIdentity = new UserAssignedIdentity(\"exampleUserAssignedIdentity\", UserAssignedIdentityArgs.builder()\n            .name(\"aks-example-identity\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .build());\n\n        var exampleAssignment = new Assignment(\"exampleAssignment\", AssignmentArgs.builder()\n            .scope(exampleZone.id())\n            .roleDefinitionName(\"Private DNS Zone Contributor\")\n            .principalId(exampleUserAssignedIdentity.principalId())\n            .build());\n\n        var exampleKubernetesCluster = new KubernetesCluster(\"exampleKubernetesCluster\", KubernetesClusterArgs.builder()\n            .name(\"aksexamplewithprivatednszone1\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .dnsPrefix(\"aksexamplednsprefix1\")\n            .privateClusterEnabled(true)\n            .privateDnsZoneId(exampleZone.id())\n            .build(), CustomResourceOptions.builder()\n                .dependsOn(exampleAssignment)\n                .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example\n      location: West Europe\n  exampleZone:\n    type: azure:privatedns:Zone\n    name: example\n    properties:\n      name: privatelink.eastus2.azmk8s.io\n      resourceGroupName: ${example.name}\n  exampleUserAssignedIdentity:\n    type: azure:authorization:UserAssignedIdentity\n    name: example\n    properties:\n      name: aks-example-identity\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n  exampleAssignment:\n    type: azure:authorization:Assignment\n    name: example\n    properties:\n      scope: ${exampleZone.id}\n      roleDefinitionName: Private DNS Zone Contributor\n      principalId: ${exampleUserAssignedIdentity.principalId}\n  exampleKubernetesCluster:\n    type: azure:containerservice:KubernetesCluster\n    name: example\n    properties:\n      name: aksexamplewithprivatednszone1\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      dnsPrefix: aksexamplednsprefix1\n      privateClusterEnabled: true\n      privateDnsZoneId: ${exampleZone.id}\n    options:\n      dependsOn:\n        - ${exampleAssignment}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n"},"privateDnsZoneId":{"type":"string","description":"Either the ID of Private DNS Zone which should be delegated to this Cluster, `System` to have AKS manage this or `None`. In case of `None` you will need to bring your own DNS server and set up resolving, otherwise, the cluster will have issues after provisioning. Changing this forces a new resource to be created.\n"},"privateFqdn":{"type":"string","description":"The FQDN for the Kubernetes Cluster when private link has been enabled, which is only resolvable inside the Virtual Network used by the Kubernetes Cluster.\n"},"resourceGroupName":{"type":"string","description":"Specifies the Resource Group where the Managed Kubernetes Cluster should exist. Changing this forces a new resource to be created.\n"},"roleBasedAccessControlEnabled":{"type":"boolean","description":"Whether Role Based Access Control for the Kubernetes Cluster should be enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e. Changing this forces a new resource to be created.\n"},"runCommandEnabled":{"type":"boolean","description":"Whether to enable run command for the cluster or not. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"serviceMeshProfile":{"$ref":"#/types/azure:containerservice/KubernetesClusterServiceMeshProfile:KubernetesClusterServiceMeshProfile","description":"A \u003cspan pulumi-lang-nodejs=\"`serviceMeshProfile`\" pulumi-lang-dotnet=\"`ServiceMeshProfile`\" pulumi-lang-go=\"`serviceMeshProfile`\" pulumi-lang-python=\"`service_mesh_profile`\" pulumi-lang-yaml=\"`serviceMeshProfile`\" pulumi-lang-java=\"`serviceMeshProfile`\"\u003e`service_mesh_profile`\u003c/span\u003e block as defined below.\n"},"servicePrincipal":{"$ref":"#/types/azure:containerservice/KubernetesClusterServicePrincipal:KubernetesClusterServicePrincipal","description":"A \u003cspan pulumi-lang-nodejs=\"`servicePrincipal`\" pulumi-lang-dotnet=\"`ServicePrincipal`\" pulumi-lang-go=\"`servicePrincipal`\" pulumi-lang-python=\"`service_principal`\" pulumi-lang-yaml=\"`servicePrincipal`\" pulumi-lang-java=\"`servicePrincipal`\"\u003e`service_principal`\u003c/span\u003e block as documented below. One of either \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`servicePrincipal`\" pulumi-lang-dotnet=\"`ServicePrincipal`\" pulumi-lang-go=\"`servicePrincipal`\" pulumi-lang-python=\"`service_principal`\" pulumi-lang-yaml=\"`servicePrincipal`\" pulumi-lang-java=\"`servicePrincipal`\"\u003e`service_principal`\u003c/span\u003e must be specified.\n\n!\u003e **Note:** A migration scenario from \u003cspan pulumi-lang-nodejs=\"`servicePrincipal`\" pulumi-lang-dotnet=\"`ServicePrincipal`\" pulumi-lang-go=\"`servicePrincipal`\" pulumi-lang-python=\"`service_principal`\" pulumi-lang-yaml=\"`servicePrincipal`\" pulumi-lang-java=\"`servicePrincipal`\"\u003e`service_principal`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e is supported. When upgrading \u003cspan pulumi-lang-nodejs=\"`servicePrincipal`\" pulumi-lang-dotnet=\"`ServicePrincipal`\" pulumi-lang-go=\"`servicePrincipal`\" pulumi-lang-python=\"`service_principal`\" pulumi-lang-yaml=\"`servicePrincipal`\" pulumi-lang-java=\"`servicePrincipal`\"\u003e`service_principal`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e, your cluster's control plane and addon pods will switch to use managed identity, but the kubelets will keep using your configured \u003cspan pulumi-lang-nodejs=\"`servicePrincipal`\" pulumi-lang-dotnet=\"`ServicePrincipal`\" pulumi-lang-go=\"`servicePrincipal`\" pulumi-lang-python=\"`service_principal`\" pulumi-lang-yaml=\"`servicePrincipal`\" pulumi-lang-java=\"`servicePrincipal`\"\u003e`service_principal`\u003c/span\u003e until you upgrade your Node Pool.\n"},"skuTier":{"type":"string","description":"The SKU Tier that should be used for this Kubernetes Cluster. Possible values are `Free`, `Standard` (which includes the Uptime SLA) and `Premium`. Defaults to `Free`.\n\n\u003e **Note:** Whilst the AKS API previously supported the `Paid` SKU - the AKS API introduced a breaking change in API Version `2023-02-01` (used in v3.51.0 and later) where the value `Paid` must now be set to `Standard`.\n"},"storageProfile":{"$ref":"#/types/azure:containerservice/KubernetesClusterStorageProfile:KubernetesClusterStorageProfile","description":"A \u003cspan pulumi-lang-nodejs=\"`storageProfile`\" pulumi-lang-dotnet=\"`StorageProfile`\" pulumi-lang-go=\"`storageProfile`\" pulumi-lang-python=\"`storage_profile`\" pulumi-lang-yaml=\"`storageProfile`\" pulumi-lang-java=\"`storageProfile`\"\u003e`storage_profile`\u003c/span\u003e block as defined below.\n"},"supportPlan":{"type":"string","description":"Specifies the support plan which should be used for this Kubernetes Cluster. Possible values are `KubernetesOfficial` and `AKSLongTermSupport`. Defaults to `KubernetesOfficial`.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"upgradeOverride":{"$ref":"#/types/azure:containerservice/KubernetesClusterUpgradeOverride:KubernetesClusterUpgradeOverride","description":"A \u003cspan pulumi-lang-nodejs=\"`upgradeOverride`\" pulumi-lang-dotnet=\"`UpgradeOverride`\" pulumi-lang-go=\"`upgradeOverride`\" pulumi-lang-python=\"`upgrade_override`\" pulumi-lang-yaml=\"`upgradeOverride`\" pulumi-lang-java=\"`upgradeOverride`\"\u003e`upgrade_override`\u003c/span\u003e block as defined below.\n"},"webAppRouting":{"$ref":"#/types/azure:containerservice/KubernetesClusterWebAppRouting:KubernetesClusterWebAppRouting","description":"A \u003cspan pulumi-lang-nodejs=\"`webAppRouting`\" pulumi-lang-dotnet=\"`WebAppRouting`\" pulumi-lang-go=\"`webAppRouting`\" pulumi-lang-python=\"`web_app_routing`\" pulumi-lang-yaml=\"`webAppRouting`\" pulumi-lang-java=\"`webAppRouting`\"\u003e`web_app_routing`\u003c/span\u003e block as defined below.\n"},"windowsProfile":{"$ref":"#/types/azure:containerservice/KubernetesClusterWindowsProfile:KubernetesClusterWindowsProfile","description":"A \u003cspan pulumi-lang-nodejs=\"`windowsProfile`\" pulumi-lang-dotnet=\"`WindowsProfile`\" pulumi-lang-go=\"`windowsProfile`\" pulumi-lang-python=\"`windows_profile`\" pulumi-lang-yaml=\"`windowsProfile`\" pulumi-lang-java=\"`windowsProfile`\"\u003e`windows_profile`\u003c/span\u003e block as defined below.\n"},"workloadAutoscalerProfile":{"$ref":"#/types/azure:containerservice/KubernetesClusterWorkloadAutoscalerProfile:KubernetesClusterWorkloadAutoscalerProfile","description":"A \u003cspan pulumi-lang-nodejs=\"`workloadAutoscalerProfile`\" pulumi-lang-dotnet=\"`WorkloadAutoscalerProfile`\" pulumi-lang-go=\"`workloadAutoscalerProfile`\" pulumi-lang-python=\"`workload_autoscaler_profile`\" pulumi-lang-yaml=\"`workloadAutoscalerProfile`\" pulumi-lang-java=\"`workloadAutoscalerProfile`\"\u003e`workload_autoscaler_profile`\u003c/span\u003e block defined below.\n"},"workloadIdentityEnabled":{"type":"boolean","description":"Specifies whether Azure AD Workload Identity should be enabled for the Cluster. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** To enable Azure AD Workload Identity \u003cspan pulumi-lang-nodejs=\"`oidcIssuerEnabled`\" pulumi-lang-dotnet=\"`OidcIssuerEnabled`\" pulumi-lang-go=\"`oidcIssuerEnabled`\" pulumi-lang-python=\"`oidc_issuer_enabled`\" pulumi-lang-yaml=\"`oidcIssuerEnabled`\" pulumi-lang-java=\"`oidcIssuerEnabled`\"\u003e`oidc_issuer_enabled`\u003c/span\u003e must be set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n\n\u003e **Note:** Enabling this option will allocate Workload Identity resources to the `kube-system` namespace in Kubernetes. If you wish to customize the deployment of Workload Identity, you can refer to [the documentation on Azure AD Workload Identity.](https://azure.github.io/azure-workload-identity/docs/installation/mutating-admission-webhook.html) The documentation provides guidance on how to install the mutating admission webhook, which allows for the customization of Workload Identity deployment.\n"}},"required":["autoScalerProfile","bootstrapProfile","currentKubernetesVersion","defaultNodePool","fqdn","httpApplicationRoutingZoneName","kubeAdminConfigs","kubeAdminConfigRaw","kubeConfigs","kubeConfigRaw","kubeletIdentity","kubernetesVersion","location","name","networkProfile","nodeProvisioningProfile","nodeResourceGroup","nodeResourceGroupId","oidcIssuerUrl","portalFqdn","privateDnsZoneId","privateFqdn","resourceGroupName","windowsProfile"],"inputProperties":{"aciConnectorLinux":{"$ref":"#/types/azure:containerservice/KubernetesClusterAciConnectorLinux:KubernetesClusterAciConnectorLinux","description":"A \u003cspan pulumi-lang-nodejs=\"`aciConnectorLinux`\" pulumi-lang-dotnet=\"`AciConnectorLinux`\" pulumi-lang-go=\"`aciConnectorLinux`\" pulumi-lang-python=\"`aci_connector_linux`\" pulumi-lang-yaml=\"`aciConnectorLinux`\" pulumi-lang-java=\"`aciConnectorLinux`\"\u003e`aci_connector_linux`\u003c/span\u003e block as defined below. For more details, please visit [Create and configure an AKS cluster to use virtual nodes](https://docs.microsoft.com/azure/aks/virtual-nodes-portal).\n"},"aiToolchainOperatorEnabled":{"type":"boolean","description":"Specifies whether the AI Toolchain Operator should be enabled for the Cluster. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"apiServerAccessProfile":{"$ref":"#/types/azure:containerservice/KubernetesClusterApiServerAccessProfile:KubernetesClusterApiServerAccessProfile","description":"An \u003cspan pulumi-lang-nodejs=\"`apiServerAccessProfile`\" pulumi-lang-dotnet=\"`ApiServerAccessProfile`\" pulumi-lang-go=\"`apiServerAccessProfile`\" pulumi-lang-python=\"`api_server_access_profile`\" pulumi-lang-yaml=\"`apiServerAccessProfile`\" pulumi-lang-java=\"`apiServerAccessProfile`\"\u003e`api_server_access_profile`\u003c/span\u003e block as defined below.\n"},"autoScalerProfile":{"$ref":"#/types/azure:containerservice/KubernetesClusterAutoScalerProfile:KubernetesClusterAutoScalerProfile","description":"A \u003cspan pulumi-lang-nodejs=\"`autoScalerProfile`\" pulumi-lang-dotnet=\"`AutoScalerProfile`\" pulumi-lang-go=\"`autoScalerProfile`\" pulumi-lang-python=\"`auto_scaler_profile`\" pulumi-lang-yaml=\"`autoScalerProfile`\" pulumi-lang-java=\"`autoScalerProfile`\"\u003e`auto_scaler_profile`\u003c/span\u003e block as defined below.\n"},"automaticUpgradeChannel":{"type":"string","description":"The upgrade channel for this Kubernetes Cluster. Possible values are \u003cspan pulumi-lang-nodejs=\"`patch`\" pulumi-lang-dotnet=\"`Patch`\" pulumi-lang-go=\"`patch`\" pulumi-lang-python=\"`patch`\" pulumi-lang-yaml=\"`patch`\" pulumi-lang-java=\"`patch`\"\u003e`patch`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`rapid`\" pulumi-lang-dotnet=\"`Rapid`\" pulumi-lang-go=\"`rapid`\" pulumi-lang-python=\"`rapid`\" pulumi-lang-yaml=\"`rapid`\" pulumi-lang-java=\"`rapid`\"\u003e`rapid`\u003c/span\u003e, `node-image` and \u003cspan pulumi-lang-nodejs=\"`stable`\" pulumi-lang-dotnet=\"`Stable`\" pulumi-lang-go=\"`stable`\" pulumi-lang-python=\"`stable`\" pulumi-lang-yaml=\"`stable`\" pulumi-lang-java=\"`stable`\"\u003e`stable`\u003c/span\u003e. Omitting this field sets this value to \u003cspan pulumi-lang-nodejs=\"`none`\" pulumi-lang-dotnet=\"`None`\" pulumi-lang-go=\"`none`\" pulumi-lang-python=\"`none`\" pulumi-lang-yaml=\"`none`\" pulumi-lang-java=\"`none`\"\u003e`none`\u003c/span\u003e.\n\n!\u003e **Note:** Cluster Auto-Upgrade will update the Kubernetes Cluster (and its Node Pools) to the latest GA version of Kubernetes automatically - please [see the Azure documentation for more information](https://docs.microsoft.com/azure/aks/upgrade-cluster#set-auto-upgrade-channel).\n\n\u003e **Note:** Cluster Auto-Upgrade only updates to GA versions of Kubernetes and will not update to Preview versions.\n"},"azureActiveDirectoryRoleBasedAccessControl":{"$ref":"#/types/azure:containerservice/KubernetesClusterAzureActiveDirectoryRoleBasedAccessControl:KubernetesClusterAzureActiveDirectoryRoleBasedAccessControl","description":"A \u003cspan pulumi-lang-nodejs=\"`azureActiveDirectoryRoleBasedAccessControl`\" pulumi-lang-dotnet=\"`AzureActiveDirectoryRoleBasedAccessControl`\" pulumi-lang-go=\"`azureActiveDirectoryRoleBasedAccessControl`\" pulumi-lang-python=\"`azure_active_directory_role_based_access_control`\" pulumi-lang-yaml=\"`azureActiveDirectoryRoleBasedAccessControl`\" pulumi-lang-java=\"`azureActiveDirectoryRoleBasedAccessControl`\"\u003e`azure_active_directory_role_based_access_control`\u003c/span\u003e block as defined below.\n"},"azurePolicyEnabled":{"type":"boolean","description":"Should the Azure Policy Add-On be enabled? For more details please visit [Understand Azure Policy for Azure Kubernetes Service](https://docs.microsoft.com/en-ie/azure/governance/policy/concepts/rego-for-aks)\n"},"bootstrapProfile":{"$ref":"#/types/azure:containerservice/KubernetesClusterBootstrapProfile:KubernetesClusterBootstrapProfile","description":"A \u003cspan pulumi-lang-nodejs=\"`bootstrapProfile`\" pulumi-lang-dotnet=\"`BootstrapProfile`\" pulumi-lang-go=\"`bootstrapProfile`\" pulumi-lang-python=\"`bootstrap_profile`\" pulumi-lang-yaml=\"`bootstrapProfile`\" pulumi-lang-java=\"`bootstrapProfile`\"\u003e`bootstrap_profile`\u003c/span\u003e block as defined below.\n"},"confidentialComputing":{"$ref":"#/types/azure:containerservice/KubernetesClusterConfidentialComputing:KubernetesClusterConfidentialComputing","description":"A \u003cspan pulumi-lang-nodejs=\"`confidentialComputing`\" pulumi-lang-dotnet=\"`ConfidentialComputing`\" pulumi-lang-go=\"`confidentialComputing`\" pulumi-lang-python=\"`confidential_computing`\" pulumi-lang-yaml=\"`confidentialComputing`\" pulumi-lang-java=\"`confidentialComputing`\"\u003e`confidential_computing`\u003c/span\u003e block as defined below. For more details please [the documentation](https://learn.microsoft.com/en-us/azure/confidential-computing/confidential-nodes-aks-overview)\n"},"costAnalysisEnabled":{"type":"boolean","description":"Should cost analysis be enabled for this Kubernetes Cluster? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. The \u003cspan pulumi-lang-nodejs=\"`skuTier`\" pulumi-lang-dotnet=\"`SkuTier`\" pulumi-lang-go=\"`skuTier`\" pulumi-lang-python=\"`sku_tier`\" pulumi-lang-yaml=\"`skuTier`\" pulumi-lang-java=\"`skuTier`\"\u003e`sku_tier`\u003c/span\u003e must be set to `Standard` or `Premium` to enable this feature. Enabling this will add Kubernetes Namespace and Deployment details to the Cost Analysis views in the Azure portal.\n"},"customCaTrustCertificatesBase64s":{"type":"array","items":{"type":"string"},"description":"A list of up to 10 base64 encoded CA certificates that will be added to the trust store on nodes.\n"},"defaultNodePool":{"$ref":"#/types/azure:containerservice/KubernetesClusterDefaultNodePool:KubernetesClusterDefaultNodePool","description":"Specifies configuration for \"System\" mode node pool. A \u003cspan pulumi-lang-nodejs=\"`defaultNodePool`\" pulumi-lang-dotnet=\"`DefaultNodePool`\" pulumi-lang-go=\"`defaultNodePool`\" pulumi-lang-python=\"`default_node_pool`\" pulumi-lang-yaml=\"`defaultNodePool`\" pulumi-lang-java=\"`defaultNodePool`\"\u003e`default_node_pool`\u003c/span\u003e block as defined below.\n"},"diskEncryptionSetId":{"type":"string","description":"The ID of the Disk Encryption Set which should be used for the Nodes and Volumes. More information [can be found in the documentation](https://docs.microsoft.com/azure/aks/azure-disk-customer-managed-keys). Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"dnsPrefix":{"type":"string","description":"DNS prefix specified when creating the managed cluster. Possible values must begin and end with a letter or number, contain only letters, numbers, and hyphens and be between 1 and 54 characters in length. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"dnsPrefixPrivateCluster":{"type":"string","description":"Specifies the DNS prefix to use with private clusters. Changing this forces a new resource to be created.\n\n\u003e **Note:** You must define either a \u003cspan pulumi-lang-nodejs=\"`dnsPrefix`\" pulumi-lang-dotnet=\"`DnsPrefix`\" pulumi-lang-go=\"`dnsPrefix`\" pulumi-lang-python=\"`dns_prefix`\" pulumi-lang-yaml=\"`dnsPrefix`\" pulumi-lang-java=\"`dnsPrefix`\"\u003e`dns_prefix`\u003c/span\u003e or a \u003cspan pulumi-lang-nodejs=\"`dnsPrefixPrivateCluster`\" pulumi-lang-dotnet=\"`DnsPrefixPrivateCluster`\" pulumi-lang-go=\"`dnsPrefixPrivateCluster`\" pulumi-lang-python=\"`dns_prefix_private_cluster`\" pulumi-lang-yaml=\"`dnsPrefixPrivateCluster`\" pulumi-lang-java=\"`dnsPrefixPrivateCluster`\"\u003e`dns_prefix_private_cluster`\u003c/span\u003e field.\n\nIn addition, one of either \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`servicePrincipal`\" pulumi-lang-dotnet=\"`ServicePrincipal`\" pulumi-lang-go=\"`servicePrincipal`\" pulumi-lang-python=\"`service_principal`\" pulumi-lang-yaml=\"`servicePrincipal`\" pulumi-lang-java=\"`servicePrincipal`\"\u003e`service_principal`\u003c/span\u003e blocks must be specified.\n","willReplaceOnChanges":true},"edgeZone":{"type":"string","description":"Specifies the Extended Zone (formerly called Edge Zone) within the Azure Region where this Managed Kubernetes Cluster should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"httpApplicationRoutingEnabled":{"type":"boolean","description":"Should HTTP Application Routing be enabled?\n\n\u003e **Note:** At this time HTTP Application Routing is not supported in Azure China or Azure US Government.\n"},"httpProxyConfig":{"$ref":"#/types/azure:containerservice/KubernetesClusterHttpProxyConfig:KubernetesClusterHttpProxyConfig","description":"A \u003cspan pulumi-lang-nodejs=\"`httpProxyConfig`\" pulumi-lang-dotnet=\"`HttpProxyConfig`\" pulumi-lang-go=\"`httpProxyConfig`\" pulumi-lang-python=\"`http_proxy_config`\" pulumi-lang-yaml=\"`httpProxyConfig`\" pulumi-lang-java=\"`httpProxyConfig`\"\u003e`http_proxy_config`\u003c/span\u003e block as defined below.\n"},"identity":{"$ref":"#/types/azure:containerservice/KubernetesClusterIdentity:KubernetesClusterIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below. One of either \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`servicePrincipal`\" pulumi-lang-dotnet=\"`ServicePrincipal`\" pulumi-lang-go=\"`servicePrincipal`\" pulumi-lang-python=\"`service_principal`\" pulumi-lang-yaml=\"`servicePrincipal`\" pulumi-lang-java=\"`servicePrincipal`\"\u003e`service_principal`\u003c/span\u003e must be specified.\n\n!\u003e **Note:** A migration scenario from \u003cspan pulumi-lang-nodejs=\"`servicePrincipal`\" pulumi-lang-dotnet=\"`ServicePrincipal`\" pulumi-lang-go=\"`servicePrincipal`\" pulumi-lang-python=\"`service_principal`\" pulumi-lang-yaml=\"`servicePrincipal`\" pulumi-lang-java=\"`servicePrincipal`\"\u003e`service_principal`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e is supported. When upgrading \u003cspan pulumi-lang-nodejs=\"`servicePrincipal`\" pulumi-lang-dotnet=\"`ServicePrincipal`\" pulumi-lang-go=\"`servicePrincipal`\" pulumi-lang-python=\"`service_principal`\" pulumi-lang-yaml=\"`servicePrincipal`\" pulumi-lang-java=\"`servicePrincipal`\"\u003e`service_principal`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e, your cluster's control plane and addon pods will switch to use managed identity, but the kubelets will keep using your configured \u003cspan pulumi-lang-nodejs=\"`servicePrincipal`\" pulumi-lang-dotnet=\"`ServicePrincipal`\" pulumi-lang-go=\"`servicePrincipal`\" pulumi-lang-python=\"`service_principal`\" pulumi-lang-yaml=\"`servicePrincipal`\" pulumi-lang-java=\"`servicePrincipal`\"\u003e`service_principal`\u003c/span\u003e until you upgrade your Node Pool.\n"},"imageCleanerEnabled":{"type":"boolean","description":"Specifies whether Image Cleaner is enabled.\n"},"imageCleanerIntervalHours":{"type":"integer","description":"Specifies the interval in hours when images should be cleaned up.\n"},"ingressApplicationGateway":{"$ref":"#/types/azure:containerservice/KubernetesClusterIngressApplicationGateway:KubernetesClusterIngressApplicationGateway","description":"A \u003cspan pulumi-lang-nodejs=\"`ingressApplicationGateway`\" pulumi-lang-dotnet=\"`IngressApplicationGateway`\" pulumi-lang-go=\"`ingressApplicationGateway`\" pulumi-lang-python=\"`ingress_application_gateway`\" pulumi-lang-yaml=\"`ingressApplicationGateway`\" pulumi-lang-java=\"`ingressApplicationGateway`\"\u003e`ingress_application_gateway`\u003c/span\u003e block as defined below.\n\n\u003e **Note:** Since the Application Gateway is deployed inside a Virtual Network, users (and Service Principals) that are operating the Application Gateway must have the `Microsoft.Network/virtualNetworks/subnets/join/action` permission on the Virtual Network or Subnet. For more details, please visit [Virtual Network Permission](https://learn.microsoft.com/en-us/azure/application-gateway/configuration-infrastructure#virtual-network-permission).\n"},"keyManagementService":{"$ref":"#/types/azure:containerservice/KubernetesClusterKeyManagementService:KubernetesClusterKeyManagementService","description":"A \u003cspan pulumi-lang-nodejs=\"`keyManagementService`\" pulumi-lang-dotnet=\"`KeyManagementService`\" pulumi-lang-go=\"`keyManagementService`\" pulumi-lang-python=\"`key_management_service`\" pulumi-lang-yaml=\"`keyManagementService`\" pulumi-lang-java=\"`keyManagementService`\"\u003e`key_management_service`\u003c/span\u003e block as defined below. For more details, please visit [Key Management Service (KMS) etcd encryption to an AKS cluster](https://learn.microsoft.com/en-us/azure/aks/use-kms-etcd-encryption).\n"},"keyVaultSecretsProvider":{"$ref":"#/types/azure:containerservice/KubernetesClusterKeyVaultSecretsProvider:KubernetesClusterKeyVaultSecretsProvider","description":"A \u003cspan pulumi-lang-nodejs=\"`keyVaultSecretsProvider`\" pulumi-lang-dotnet=\"`KeyVaultSecretsProvider`\" pulumi-lang-go=\"`keyVaultSecretsProvider`\" pulumi-lang-python=\"`key_vault_secrets_provider`\" pulumi-lang-yaml=\"`keyVaultSecretsProvider`\" pulumi-lang-java=\"`keyVaultSecretsProvider`\"\u003e`key_vault_secrets_provider`\u003c/span\u003e block as defined below. For more details, please visit [Azure Keyvault Secrets Provider for AKS](https://docs.microsoft.com/azure/aks/csi-secrets-store-driver).\n"},"kubeletIdentity":{"$ref":"#/types/azure:containerservice/KubernetesClusterKubeletIdentity:KubernetesClusterKubeletIdentity","description":"A \u003cspan pulumi-lang-nodejs=\"`kubeletIdentity`\" pulumi-lang-dotnet=\"`KubeletIdentity`\" pulumi-lang-go=\"`kubeletIdentity`\" pulumi-lang-python=\"`kubelet_identity`\" pulumi-lang-yaml=\"`kubeletIdentity`\" pulumi-lang-java=\"`kubeletIdentity`\"\u003e`kubelet_identity`\u003c/span\u003e block as defined below.\n"},"kubernetesVersion":{"type":"string","description":"Version of Kubernetes specified when creating the AKS managed cluster. If not specified, the latest recommended version will be used at provisioning time (but won't auto-upgrade). AKS does not require an exact patch version to be specified, minor version aliases such as `1.22` are also supported. - The minor version's latest GA patch is automatically chosen in that case. More details can be found in [the documentation](https://docs.microsoft.com/en-us/azure/aks/supported-kubernetes-versions?tabs=azure-cli#alias-minor-version).\n\n\u003e **Note:** Upgrading your cluster may take up to 10 minutes per node.\n"},"linuxProfile":{"$ref":"#/types/azure:containerservice/KubernetesClusterLinuxProfile:KubernetesClusterLinuxProfile","description":"A \u003cspan pulumi-lang-nodejs=\"`linuxProfile`\" pulumi-lang-dotnet=\"`LinuxProfile`\" pulumi-lang-go=\"`linuxProfile`\" pulumi-lang-python=\"`linux_profile`\" pulumi-lang-yaml=\"`linuxProfile`\" pulumi-lang-java=\"`linuxProfile`\"\u003e`linux_profile`\u003c/span\u003e block as defined below.\n"},"localAccountDisabled":{"type":"boolean","description":"If \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e local accounts will be disabled. See [the documentation](https://docs.microsoft.com/azure/aks/managed-aad#disable-local-accounts) for more information.\n\n\u003e **Note:** If \u003cspan pulumi-lang-nodejs=\"`localAccountDisabled`\" pulumi-lang-dotnet=\"`LocalAccountDisabled`\" pulumi-lang-go=\"`localAccountDisabled`\" pulumi-lang-python=\"`local_account_disabled`\" pulumi-lang-yaml=\"`localAccountDisabled`\" pulumi-lang-java=\"`localAccountDisabled`\"\u003e`local_account_disabled`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, it is required to enable Kubernetes RBAC and AKS-managed Azure AD integration. See [the documentation](https://docs.microsoft.com/azure/aks/managed-aad#azure-ad-authentication-overview) for more information.\n"},"location":{"type":"string","description":"The location where the Managed Kubernetes Cluster should be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"maintenanceWindow":{"$ref":"#/types/azure:containerservice/KubernetesClusterMaintenanceWindow:KubernetesClusterMaintenanceWindow","description":"A \u003cspan pulumi-lang-nodejs=\"`maintenanceWindow`\" pulumi-lang-dotnet=\"`MaintenanceWindow`\" pulumi-lang-go=\"`maintenanceWindow`\" pulumi-lang-python=\"`maintenance_window`\" pulumi-lang-yaml=\"`maintenanceWindow`\" pulumi-lang-java=\"`maintenanceWindow`\"\u003e`maintenance_window`\u003c/span\u003e block as defined below.\n"},"maintenanceWindowAutoUpgrade":{"$ref":"#/types/azure:containerservice/KubernetesClusterMaintenanceWindowAutoUpgrade:KubernetesClusterMaintenanceWindowAutoUpgrade","description":"A \u003cspan pulumi-lang-nodejs=\"`maintenanceWindowAutoUpgrade`\" pulumi-lang-dotnet=\"`MaintenanceWindowAutoUpgrade`\" pulumi-lang-go=\"`maintenanceWindowAutoUpgrade`\" pulumi-lang-python=\"`maintenance_window_auto_upgrade`\" pulumi-lang-yaml=\"`maintenanceWindowAutoUpgrade`\" pulumi-lang-java=\"`maintenanceWindowAutoUpgrade`\"\u003e`maintenance_window_auto_upgrade`\u003c/span\u003e block as defined below.\n"},"maintenanceWindowNodeOs":{"$ref":"#/types/azure:containerservice/KubernetesClusterMaintenanceWindowNodeOs:KubernetesClusterMaintenanceWindowNodeOs","description":"A \u003cspan pulumi-lang-nodejs=\"`maintenanceWindowNodeOs`\" pulumi-lang-dotnet=\"`MaintenanceWindowNodeOs`\" pulumi-lang-go=\"`maintenanceWindowNodeOs`\" pulumi-lang-python=\"`maintenance_window_node_os`\" pulumi-lang-yaml=\"`maintenanceWindowNodeOs`\" pulumi-lang-java=\"`maintenanceWindowNodeOs`\"\u003e`maintenance_window_node_os`\u003c/span\u003e block as defined below.\n"},"microsoftDefender":{"$ref":"#/types/azure:containerservice/KubernetesClusterMicrosoftDefender:KubernetesClusterMicrosoftDefender","description":"A \u003cspan pulumi-lang-nodejs=\"`microsoftDefender`\" pulumi-lang-dotnet=\"`MicrosoftDefender`\" pulumi-lang-go=\"`microsoftDefender`\" pulumi-lang-python=\"`microsoft_defender`\" pulumi-lang-yaml=\"`microsoftDefender`\" pulumi-lang-java=\"`microsoftDefender`\"\u003e`microsoft_defender`\u003c/span\u003e block as defined below.\n"},"monitorMetrics":{"$ref":"#/types/azure:containerservice/KubernetesClusterMonitorMetrics:KubernetesClusterMonitorMetrics","description":"Specifies a Prometheus add-on profile for the Kubernetes Cluster. A \u003cspan pulumi-lang-nodejs=\"`monitorMetrics`\" pulumi-lang-dotnet=\"`MonitorMetrics`\" pulumi-lang-go=\"`monitorMetrics`\" pulumi-lang-python=\"`monitor_metrics`\" pulumi-lang-yaml=\"`monitorMetrics`\" pulumi-lang-java=\"`monitorMetrics`\"\u003e`monitor_metrics`\u003c/span\u003e block as defined below.\n\n\u003e **Note:** If deploying Managed Prometheus, the \u003cspan pulumi-lang-nodejs=\"`monitorMetrics`\" pulumi-lang-dotnet=\"`MonitorMetrics`\" pulumi-lang-go=\"`monitorMetrics`\" pulumi-lang-python=\"`monitor_metrics`\" pulumi-lang-yaml=\"`monitorMetrics`\" pulumi-lang-java=\"`monitorMetrics`\"\u003e`monitor_metrics`\u003c/span\u003e properties are required to configure the cluster for metrics collection. If no value is needed, set properties to \u003cspan pulumi-lang-nodejs=\"`null`\" pulumi-lang-dotnet=\"`Null`\" pulumi-lang-go=\"`null`\" pulumi-lang-python=\"`null`\" pulumi-lang-yaml=\"`null`\" pulumi-lang-java=\"`null`\"\u003e`null`\u003c/span\u003e.\n"},"name":{"type":"string","description":"The name of the Managed Kubernetes Cluster to create. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"networkProfile":{"$ref":"#/types/azure:containerservice/KubernetesClusterNetworkProfile:KubernetesClusterNetworkProfile","description":"A \u003cspan pulumi-lang-nodejs=\"`networkProfile`\" pulumi-lang-dotnet=\"`NetworkProfile`\" pulumi-lang-go=\"`networkProfile`\" pulumi-lang-python=\"`network_profile`\" pulumi-lang-yaml=\"`networkProfile`\" pulumi-lang-java=\"`networkProfile`\"\u003e`network_profile`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n\n\u003e **Note:** If \u003cspan pulumi-lang-nodejs=\"`networkProfile`\" pulumi-lang-dotnet=\"`NetworkProfile`\" pulumi-lang-go=\"`networkProfile`\" pulumi-lang-python=\"`network_profile`\" pulumi-lang-yaml=\"`networkProfile`\" pulumi-lang-java=\"`networkProfile`\"\u003e`network_profile`\u003c/span\u003e is not defined, \u003cspan pulumi-lang-nodejs=\"`kubenet`\" pulumi-lang-dotnet=\"`Kubenet`\" pulumi-lang-go=\"`kubenet`\" pulumi-lang-python=\"`kubenet`\" pulumi-lang-yaml=\"`kubenet`\" pulumi-lang-java=\"`kubenet`\"\u003e`kubenet`\u003c/span\u003e profile will be used by default.\n","willReplaceOnChanges":true},"nodeOsUpgradeChannel":{"type":"string","description":"The upgrade channel for this Kubernetes Cluster Nodes' OS Image. Possible values are `Unmanaged`, `SecurityPatch`, `NodeImage` and `None`. Defaults to `NodeImage`.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`nodeOsUpgradeChannel`\" pulumi-lang-dotnet=\"`NodeOsUpgradeChannel`\" pulumi-lang-go=\"`nodeOsUpgradeChannel`\" pulumi-lang-python=\"`node_os_upgrade_channel`\" pulumi-lang-yaml=\"`nodeOsUpgradeChannel`\" pulumi-lang-java=\"`nodeOsUpgradeChannel`\"\u003e`node_os_upgrade_channel`\u003c/span\u003e must be set to `NodeImage` if \u003cspan pulumi-lang-nodejs=\"`automaticUpgradeChannel`\" pulumi-lang-dotnet=\"`AutomaticUpgradeChannel`\" pulumi-lang-go=\"`automaticUpgradeChannel`\" pulumi-lang-python=\"`automatic_upgrade_channel`\" pulumi-lang-yaml=\"`automaticUpgradeChannel`\" pulumi-lang-java=\"`automaticUpgradeChannel`\"\u003e`automatic_upgrade_channel`\u003c/span\u003e has been set to `node-image`\n"},"nodeProvisioningProfile":{"$ref":"#/types/azure:containerservice/KubernetesClusterNodeProvisioningProfile:KubernetesClusterNodeProvisioningProfile","description":"A \u003cspan pulumi-lang-nodejs=\"`nodeProvisioningProfile`\" pulumi-lang-dotnet=\"`NodeProvisioningProfile`\" pulumi-lang-go=\"`nodeProvisioningProfile`\" pulumi-lang-python=\"`node_provisioning_profile`\" pulumi-lang-yaml=\"`nodeProvisioningProfile`\" pulumi-lang-java=\"`nodeProvisioningProfile`\"\u003e`node_provisioning_profile`\u003c/span\u003e block as defined below.\n"},"nodeResourceGroup":{"type":"string","description":"The name of the Resource Group where the Kubernetes Nodes should exist. Changing this forces a new resource to be created.\n\n\u003e **Note:** Azure requires that a new, non-existent Resource Group is used, as otherwise, the provisioning of the Kubernetes Service will fail.\n","willReplaceOnChanges":true},"oidcIssuerEnabled":{"type":"boolean","description":"Enable or Disable the [OIDC issuer URL](https://learn.microsoft.com/en-gb/azure/aks/use-oidc-issuer)\n"},"omsAgent":{"$ref":"#/types/azure:containerservice/KubernetesClusterOmsAgent:KubernetesClusterOmsAgent","description":"A \u003cspan pulumi-lang-nodejs=\"`omsAgent`\" pulumi-lang-dotnet=\"`OmsAgent`\" pulumi-lang-go=\"`omsAgent`\" pulumi-lang-python=\"`oms_agent`\" pulumi-lang-yaml=\"`omsAgent`\" pulumi-lang-java=\"`omsAgent`\"\u003e`oms_agent`\u003c/span\u003e block as defined below.\n"},"openServiceMeshEnabled":{"type":"boolean","description":"Is Open Service Mesh enabled? For more details, please visit [Open Service Mesh for AKS](https://docs.microsoft.com/azure/aks/open-service-mesh-about).\n"},"privateClusterEnabled":{"type":"boolean","description":"Should this Kubernetes Cluster have its API server only exposed on internal IP addresses? This provides a Private IP Address for the Kubernetes API on the Virtual Network where the Kubernetes Cluster is located. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"privateClusterPublicFqdnEnabled":{"type":"boolean","description":"Specifies whether a Public FQDN for this Private Cluster should be added. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** If you use BYO DNS Zone, the AKS cluster should either use a User Assigned Identity or a service principal (which is deprecated) with the `Private DNS Zone Contributor` role and access to this Private DNS Zone. If `UserAssigned` identity is used - to prevent improper resource order destruction - the cluster should depend on the role assignment, like in this example:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example\",\n    location: \"West Europe\",\n});\nconst exampleZone = new azure.privatedns.Zone(\"example\", {\n    name: \"privatelink.eastus2.azmk8s.io\",\n    resourceGroupName: example.name,\n});\nconst exampleUserAssignedIdentity = new azure.authorization.UserAssignedIdentity(\"example\", {\n    name: \"aks-example-identity\",\n    resourceGroupName: example.name,\n    location: example.location,\n});\nconst exampleAssignment = new azure.authorization.Assignment(\"example\", {\n    scope: exampleZone.id,\n    roleDefinitionName: \"Private DNS Zone Contributor\",\n    principalId: exampleUserAssignedIdentity.principalId,\n});\nconst exampleKubernetesCluster = new azure.containerservice.KubernetesCluster(\"example\", {\n    name: \"aksexamplewithprivatednszone1\",\n    location: example.location,\n    resourceGroupName: example.name,\n    dnsPrefix: \"aksexamplednsprefix1\",\n    privateClusterEnabled: true,\n    privateDnsZoneId: exampleZone.id,\n}, {\n    dependsOn: [exampleAssignment],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example\",\n    location=\"West Europe\")\nexample_zone = azure.privatedns.Zone(\"example\",\n    name=\"privatelink.eastus2.azmk8s.io\",\n    resource_group_name=example.name)\nexample_user_assigned_identity = azure.authorization.UserAssignedIdentity(\"example\",\n    name=\"aks-example-identity\",\n    resource_group_name=example.name,\n    location=example.location)\nexample_assignment = azure.authorization.Assignment(\"example\",\n    scope=example_zone.id,\n    role_definition_name=\"Private DNS Zone Contributor\",\n    principal_id=example_user_assigned_identity.principal_id)\nexample_kubernetes_cluster = azure.containerservice.KubernetesCluster(\"example\",\n    name=\"aksexamplewithprivatednszone1\",\n    location=example.location,\n    resource_group_name=example.name,\n    dns_prefix=\"aksexamplednsprefix1\",\n    private_cluster_enabled=True,\n    private_dns_zone_id=example_zone.id,\n    opts = pulumi.ResourceOptions(depends_on=[example_assignment]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example\",\n        Location = \"West Europe\",\n    });\n\n    var exampleZone = new Azure.PrivateDns.Zone(\"example\", new()\n    {\n        Name = \"privatelink.eastus2.azmk8s.io\",\n        ResourceGroupName = example.Name,\n    });\n\n    var exampleUserAssignedIdentity = new Azure.Authorization.UserAssignedIdentity(\"example\", new()\n    {\n        Name = \"aks-example-identity\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n    });\n\n    var exampleAssignment = new Azure.Authorization.Assignment(\"example\", new()\n    {\n        Scope = exampleZone.Id,\n        RoleDefinitionName = \"Private DNS Zone Contributor\",\n        PrincipalId = exampleUserAssignedIdentity.PrincipalId,\n    });\n\n    var exampleKubernetesCluster = new Azure.ContainerService.KubernetesCluster(\"example\", new()\n    {\n        Name = \"aksexamplewithprivatednszone1\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        DnsPrefix = \"aksexamplednsprefix1\",\n        PrivateClusterEnabled = true,\n        PrivateDnsZoneId = exampleZone.Id,\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            exampleAssignment,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/authorization\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/containerservice\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/privatedns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleZone, err := privatedns.NewZone(ctx, \"example\", \u0026privatedns.ZoneArgs{\n\t\t\tName:              pulumi.String(\"privatelink.eastus2.azmk8s.io\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleUserAssignedIdentity, err := authorization.NewUserAssignedIdentity(ctx, \"example\", \u0026authorization.UserAssignedIdentityArgs{\n\t\t\tName:              pulumi.String(\"aks-example-identity\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAssignment, err := authorization.NewAssignment(ctx, \"example\", \u0026authorization.AssignmentArgs{\n\t\t\tScope:              exampleZone.ID(),\n\t\t\tRoleDefinitionName: pulumi.String(\"Private DNS Zone Contributor\"),\n\t\t\tPrincipalId:        exampleUserAssignedIdentity.PrincipalId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = containerservice.NewKubernetesCluster(ctx, \"example\", \u0026containerservice.KubernetesClusterArgs{\n\t\t\tName:                  pulumi.String(\"aksexamplewithprivatednszone1\"),\n\t\t\tLocation:              example.Location,\n\t\t\tResourceGroupName:     example.Name,\n\t\t\tDnsPrefix:             pulumi.String(\"aksexamplednsprefix1\"),\n\t\t\tPrivateClusterEnabled: pulumi.Bool(true),\n\t\t\tPrivateDnsZoneId:      exampleZone.ID(),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleAssignment,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.privatedns.Zone;\nimport com.pulumi.azure.privatedns.ZoneArgs;\nimport com.pulumi.azure.authorization.UserAssignedIdentity;\nimport com.pulumi.azure.authorization.UserAssignedIdentityArgs;\nimport com.pulumi.azure.authorization.Assignment;\nimport com.pulumi.azure.authorization.AssignmentArgs;\nimport com.pulumi.azure.containerservice.KubernetesCluster;\nimport com.pulumi.azure.containerservice.KubernetesClusterArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleZone = new Zone(\"exampleZone\", ZoneArgs.builder()\n            .name(\"privatelink.eastus2.azmk8s.io\")\n            .resourceGroupName(example.name())\n            .build());\n\n        var exampleUserAssignedIdentity = new UserAssignedIdentity(\"exampleUserAssignedIdentity\", UserAssignedIdentityArgs.builder()\n            .name(\"aks-example-identity\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .build());\n\n        var exampleAssignment = new Assignment(\"exampleAssignment\", AssignmentArgs.builder()\n            .scope(exampleZone.id())\n            .roleDefinitionName(\"Private DNS Zone Contributor\")\n            .principalId(exampleUserAssignedIdentity.principalId())\n            .build());\n\n        var exampleKubernetesCluster = new KubernetesCluster(\"exampleKubernetesCluster\", KubernetesClusterArgs.builder()\n            .name(\"aksexamplewithprivatednszone1\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .dnsPrefix(\"aksexamplednsprefix1\")\n            .privateClusterEnabled(true)\n            .privateDnsZoneId(exampleZone.id())\n            .build(), CustomResourceOptions.builder()\n                .dependsOn(exampleAssignment)\n                .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example\n      location: West Europe\n  exampleZone:\n    type: azure:privatedns:Zone\n    name: example\n    properties:\n      name: privatelink.eastus2.azmk8s.io\n      resourceGroupName: ${example.name}\n  exampleUserAssignedIdentity:\n    type: azure:authorization:UserAssignedIdentity\n    name: example\n    properties:\n      name: aks-example-identity\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n  exampleAssignment:\n    type: azure:authorization:Assignment\n    name: example\n    properties:\n      scope: ${exampleZone.id}\n      roleDefinitionName: Private DNS Zone Contributor\n      principalId: ${exampleUserAssignedIdentity.principalId}\n  exampleKubernetesCluster:\n    type: azure:containerservice:KubernetesCluster\n    name: example\n    properties:\n      name: aksexamplewithprivatednszone1\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      dnsPrefix: aksexamplednsprefix1\n      privateClusterEnabled: true\n      privateDnsZoneId: ${exampleZone.id}\n    options:\n      dependsOn:\n        - ${exampleAssignment}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n"},"privateDnsZoneId":{"type":"string","description":"Either the ID of Private DNS Zone which should be delegated to this Cluster, `System` to have AKS manage this or `None`. In case of `None` you will need to bring your own DNS server and set up resolving, otherwise, the cluster will have issues after provisioning. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"Specifies the Resource Group where the Managed Kubernetes Cluster should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"roleBasedAccessControlEnabled":{"type":"boolean","description":"Whether Role Based Access Control for the Kubernetes Cluster should be enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"runCommandEnabled":{"type":"boolean","description":"Whether to enable run command for the cluster or not. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"serviceMeshProfile":{"$ref":"#/types/azure:containerservice/KubernetesClusterServiceMeshProfile:KubernetesClusterServiceMeshProfile","description":"A \u003cspan pulumi-lang-nodejs=\"`serviceMeshProfile`\" pulumi-lang-dotnet=\"`ServiceMeshProfile`\" pulumi-lang-go=\"`serviceMeshProfile`\" pulumi-lang-python=\"`service_mesh_profile`\" pulumi-lang-yaml=\"`serviceMeshProfile`\" pulumi-lang-java=\"`serviceMeshProfile`\"\u003e`service_mesh_profile`\u003c/span\u003e block as defined below.\n"},"servicePrincipal":{"$ref":"#/types/azure:containerservice/KubernetesClusterServicePrincipal:KubernetesClusterServicePrincipal","description":"A \u003cspan pulumi-lang-nodejs=\"`servicePrincipal`\" pulumi-lang-dotnet=\"`ServicePrincipal`\" pulumi-lang-go=\"`servicePrincipal`\" pulumi-lang-python=\"`service_principal`\" pulumi-lang-yaml=\"`servicePrincipal`\" pulumi-lang-java=\"`servicePrincipal`\"\u003e`service_principal`\u003c/span\u003e block as documented below. One of either \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`servicePrincipal`\" pulumi-lang-dotnet=\"`ServicePrincipal`\" pulumi-lang-go=\"`servicePrincipal`\" pulumi-lang-python=\"`service_principal`\" pulumi-lang-yaml=\"`servicePrincipal`\" pulumi-lang-java=\"`servicePrincipal`\"\u003e`service_principal`\u003c/span\u003e must be specified.\n\n!\u003e **Note:** A migration scenario from \u003cspan pulumi-lang-nodejs=\"`servicePrincipal`\" pulumi-lang-dotnet=\"`ServicePrincipal`\" pulumi-lang-go=\"`servicePrincipal`\" pulumi-lang-python=\"`service_principal`\" pulumi-lang-yaml=\"`servicePrincipal`\" pulumi-lang-java=\"`servicePrincipal`\"\u003e`service_principal`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e is supported. When upgrading \u003cspan pulumi-lang-nodejs=\"`servicePrincipal`\" pulumi-lang-dotnet=\"`ServicePrincipal`\" pulumi-lang-go=\"`servicePrincipal`\" pulumi-lang-python=\"`service_principal`\" pulumi-lang-yaml=\"`servicePrincipal`\" pulumi-lang-java=\"`servicePrincipal`\"\u003e`service_principal`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e, your cluster's control plane and addon pods will switch to use managed identity, but the kubelets will keep using your configured \u003cspan pulumi-lang-nodejs=\"`servicePrincipal`\" pulumi-lang-dotnet=\"`ServicePrincipal`\" pulumi-lang-go=\"`servicePrincipal`\" pulumi-lang-python=\"`service_principal`\" pulumi-lang-yaml=\"`servicePrincipal`\" pulumi-lang-java=\"`servicePrincipal`\"\u003e`service_principal`\u003c/span\u003e until you upgrade your Node Pool.\n"},"skuTier":{"type":"string","description":"The SKU Tier that should be used for this Kubernetes Cluster. Possible values are `Free`, `Standard` (which includes the Uptime SLA) and `Premium`. Defaults to `Free`.\n\n\u003e **Note:** Whilst the AKS API previously supported the `Paid` SKU - the AKS API introduced a breaking change in API Version `2023-02-01` (used in v3.51.0 and later) where the value `Paid` must now be set to `Standard`.\n"},"storageProfile":{"$ref":"#/types/azure:containerservice/KubernetesClusterStorageProfile:KubernetesClusterStorageProfile","description":"A \u003cspan pulumi-lang-nodejs=\"`storageProfile`\" pulumi-lang-dotnet=\"`StorageProfile`\" pulumi-lang-go=\"`storageProfile`\" pulumi-lang-python=\"`storage_profile`\" pulumi-lang-yaml=\"`storageProfile`\" pulumi-lang-java=\"`storageProfile`\"\u003e`storage_profile`\u003c/span\u003e block as defined below.\n"},"supportPlan":{"type":"string","description":"Specifies the support plan which should be used for this Kubernetes Cluster. Possible values are `KubernetesOfficial` and `AKSLongTermSupport`. Defaults to `KubernetesOfficial`.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"upgradeOverride":{"$ref":"#/types/azure:containerservice/KubernetesClusterUpgradeOverride:KubernetesClusterUpgradeOverride","description":"A \u003cspan pulumi-lang-nodejs=\"`upgradeOverride`\" pulumi-lang-dotnet=\"`UpgradeOverride`\" pulumi-lang-go=\"`upgradeOverride`\" pulumi-lang-python=\"`upgrade_override`\" pulumi-lang-yaml=\"`upgradeOverride`\" pulumi-lang-java=\"`upgradeOverride`\"\u003e`upgrade_override`\u003c/span\u003e block as defined below.\n"},"webAppRouting":{"$ref":"#/types/azure:containerservice/KubernetesClusterWebAppRouting:KubernetesClusterWebAppRouting","description":"A \u003cspan pulumi-lang-nodejs=\"`webAppRouting`\" pulumi-lang-dotnet=\"`WebAppRouting`\" pulumi-lang-go=\"`webAppRouting`\" pulumi-lang-python=\"`web_app_routing`\" pulumi-lang-yaml=\"`webAppRouting`\" pulumi-lang-java=\"`webAppRouting`\"\u003e`web_app_routing`\u003c/span\u003e block as defined below.\n"},"windowsProfile":{"$ref":"#/types/azure:containerservice/KubernetesClusterWindowsProfile:KubernetesClusterWindowsProfile","description":"A \u003cspan pulumi-lang-nodejs=\"`windowsProfile`\" pulumi-lang-dotnet=\"`WindowsProfile`\" pulumi-lang-go=\"`windowsProfile`\" pulumi-lang-python=\"`windows_profile`\" pulumi-lang-yaml=\"`windowsProfile`\" pulumi-lang-java=\"`windowsProfile`\"\u003e`windows_profile`\u003c/span\u003e block as defined below.\n"},"workloadAutoscalerProfile":{"$ref":"#/types/azure:containerservice/KubernetesClusterWorkloadAutoscalerProfile:KubernetesClusterWorkloadAutoscalerProfile","description":"A \u003cspan pulumi-lang-nodejs=\"`workloadAutoscalerProfile`\" pulumi-lang-dotnet=\"`WorkloadAutoscalerProfile`\" pulumi-lang-go=\"`workloadAutoscalerProfile`\" pulumi-lang-python=\"`workload_autoscaler_profile`\" pulumi-lang-yaml=\"`workloadAutoscalerProfile`\" pulumi-lang-java=\"`workloadAutoscalerProfile`\"\u003e`workload_autoscaler_profile`\u003c/span\u003e block defined below.\n"},"workloadIdentityEnabled":{"type":"boolean","description":"Specifies whether Azure AD Workload Identity should be enabled for the Cluster. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** To enable Azure AD Workload Identity \u003cspan pulumi-lang-nodejs=\"`oidcIssuerEnabled`\" pulumi-lang-dotnet=\"`OidcIssuerEnabled`\" pulumi-lang-go=\"`oidcIssuerEnabled`\" pulumi-lang-python=\"`oidc_issuer_enabled`\" pulumi-lang-yaml=\"`oidcIssuerEnabled`\" pulumi-lang-java=\"`oidcIssuerEnabled`\"\u003e`oidc_issuer_enabled`\u003c/span\u003e must be set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n\n\u003e **Note:** Enabling this option will allocate Workload Identity resources to the `kube-system` namespace in Kubernetes. If you wish to customize the deployment of Workload Identity, you can refer to [the documentation on Azure AD Workload Identity.](https://azure.github.io/azure-workload-identity/docs/installation/mutating-admission-webhook.html) The documentation provides guidance on how to install the mutating admission webhook, which allows for the customization of Workload Identity deployment.\n"}},"requiredInputs":["defaultNodePool","resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering KubernetesCluster resources.\n","properties":{"aciConnectorLinux":{"$ref":"#/types/azure:containerservice/KubernetesClusterAciConnectorLinux:KubernetesClusterAciConnectorLinux","description":"A \u003cspan pulumi-lang-nodejs=\"`aciConnectorLinux`\" pulumi-lang-dotnet=\"`AciConnectorLinux`\" pulumi-lang-go=\"`aciConnectorLinux`\" pulumi-lang-python=\"`aci_connector_linux`\" pulumi-lang-yaml=\"`aciConnectorLinux`\" pulumi-lang-java=\"`aciConnectorLinux`\"\u003e`aci_connector_linux`\u003c/span\u003e block as defined below. For more details, please visit [Create and configure an AKS cluster to use virtual nodes](https://docs.microsoft.com/azure/aks/virtual-nodes-portal).\n"},"aiToolchainOperatorEnabled":{"type":"boolean","description":"Specifies whether the AI Toolchain Operator should be enabled for the Cluster. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"apiServerAccessProfile":{"$ref":"#/types/azure:containerservice/KubernetesClusterApiServerAccessProfile:KubernetesClusterApiServerAccessProfile","description":"An \u003cspan pulumi-lang-nodejs=\"`apiServerAccessProfile`\" pulumi-lang-dotnet=\"`ApiServerAccessProfile`\" pulumi-lang-go=\"`apiServerAccessProfile`\" pulumi-lang-python=\"`api_server_access_profile`\" pulumi-lang-yaml=\"`apiServerAccessProfile`\" pulumi-lang-java=\"`apiServerAccessProfile`\"\u003e`api_server_access_profile`\u003c/span\u003e block as defined below.\n"},"autoScalerProfile":{"$ref":"#/types/azure:containerservice/KubernetesClusterAutoScalerProfile:KubernetesClusterAutoScalerProfile","description":"A \u003cspan pulumi-lang-nodejs=\"`autoScalerProfile`\" pulumi-lang-dotnet=\"`AutoScalerProfile`\" pulumi-lang-go=\"`autoScalerProfile`\" pulumi-lang-python=\"`auto_scaler_profile`\" pulumi-lang-yaml=\"`autoScalerProfile`\" pulumi-lang-java=\"`autoScalerProfile`\"\u003e`auto_scaler_profile`\u003c/span\u003e block as defined below.\n"},"automaticUpgradeChannel":{"type":"string","description":"The upgrade channel for this Kubernetes Cluster. Possible values are \u003cspan pulumi-lang-nodejs=\"`patch`\" pulumi-lang-dotnet=\"`Patch`\" pulumi-lang-go=\"`patch`\" pulumi-lang-python=\"`patch`\" pulumi-lang-yaml=\"`patch`\" pulumi-lang-java=\"`patch`\"\u003e`patch`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`rapid`\" pulumi-lang-dotnet=\"`Rapid`\" pulumi-lang-go=\"`rapid`\" pulumi-lang-python=\"`rapid`\" pulumi-lang-yaml=\"`rapid`\" pulumi-lang-java=\"`rapid`\"\u003e`rapid`\u003c/span\u003e, `node-image` and \u003cspan pulumi-lang-nodejs=\"`stable`\" pulumi-lang-dotnet=\"`Stable`\" pulumi-lang-go=\"`stable`\" pulumi-lang-python=\"`stable`\" pulumi-lang-yaml=\"`stable`\" pulumi-lang-java=\"`stable`\"\u003e`stable`\u003c/span\u003e. Omitting this field sets this value to \u003cspan pulumi-lang-nodejs=\"`none`\" pulumi-lang-dotnet=\"`None`\" pulumi-lang-go=\"`none`\" pulumi-lang-python=\"`none`\" pulumi-lang-yaml=\"`none`\" pulumi-lang-java=\"`none`\"\u003e`none`\u003c/span\u003e.\n\n!\u003e **Note:** Cluster Auto-Upgrade will update the Kubernetes Cluster (and its Node Pools) to the latest GA version of Kubernetes automatically - please [see the Azure documentation for more information](https://docs.microsoft.com/azure/aks/upgrade-cluster#set-auto-upgrade-channel).\n\n\u003e **Note:** Cluster Auto-Upgrade only updates to GA versions of Kubernetes and will not update to Preview versions.\n"},"azureActiveDirectoryRoleBasedAccessControl":{"$ref":"#/types/azure:containerservice/KubernetesClusterAzureActiveDirectoryRoleBasedAccessControl:KubernetesClusterAzureActiveDirectoryRoleBasedAccessControl","description":"A \u003cspan pulumi-lang-nodejs=\"`azureActiveDirectoryRoleBasedAccessControl`\" pulumi-lang-dotnet=\"`AzureActiveDirectoryRoleBasedAccessControl`\" pulumi-lang-go=\"`azureActiveDirectoryRoleBasedAccessControl`\" pulumi-lang-python=\"`azure_active_directory_role_based_access_control`\" pulumi-lang-yaml=\"`azureActiveDirectoryRoleBasedAccessControl`\" pulumi-lang-java=\"`azureActiveDirectoryRoleBasedAccessControl`\"\u003e`azure_active_directory_role_based_access_control`\u003c/span\u003e block as defined below.\n"},"azurePolicyEnabled":{"type":"boolean","description":"Should the Azure Policy Add-On be enabled? For more details please visit [Understand Azure Policy for Azure Kubernetes Service](https://docs.microsoft.com/en-ie/azure/governance/policy/concepts/rego-for-aks)\n"},"bootstrapProfile":{"$ref":"#/types/azure:containerservice/KubernetesClusterBootstrapProfile:KubernetesClusterBootstrapProfile","description":"A \u003cspan pulumi-lang-nodejs=\"`bootstrapProfile`\" pulumi-lang-dotnet=\"`BootstrapProfile`\" pulumi-lang-go=\"`bootstrapProfile`\" pulumi-lang-python=\"`bootstrap_profile`\" pulumi-lang-yaml=\"`bootstrapProfile`\" pulumi-lang-java=\"`bootstrapProfile`\"\u003e`bootstrap_profile`\u003c/span\u003e block as defined below.\n"},"confidentialComputing":{"$ref":"#/types/azure:containerservice/KubernetesClusterConfidentialComputing:KubernetesClusterConfidentialComputing","description":"A \u003cspan pulumi-lang-nodejs=\"`confidentialComputing`\" pulumi-lang-dotnet=\"`ConfidentialComputing`\" pulumi-lang-go=\"`confidentialComputing`\" pulumi-lang-python=\"`confidential_computing`\" pulumi-lang-yaml=\"`confidentialComputing`\" pulumi-lang-java=\"`confidentialComputing`\"\u003e`confidential_computing`\u003c/span\u003e block as defined below. For more details please [the documentation](https://learn.microsoft.com/en-us/azure/confidential-computing/confidential-nodes-aks-overview)\n"},"costAnalysisEnabled":{"type":"boolean","description":"Should cost analysis be enabled for this Kubernetes Cluster? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. The \u003cspan pulumi-lang-nodejs=\"`skuTier`\" pulumi-lang-dotnet=\"`SkuTier`\" pulumi-lang-go=\"`skuTier`\" pulumi-lang-python=\"`sku_tier`\" pulumi-lang-yaml=\"`skuTier`\" pulumi-lang-java=\"`skuTier`\"\u003e`sku_tier`\u003c/span\u003e must be set to `Standard` or `Premium` to enable this feature. Enabling this will add Kubernetes Namespace and Deployment details to the Cost Analysis views in the Azure portal.\n"},"currentKubernetesVersion":{"type":"string","description":"The current version running on the Azure Kubernetes Managed Cluster.\n"},"customCaTrustCertificatesBase64s":{"type":"array","items":{"type":"string"},"description":"A list of up to 10 base64 encoded CA certificates that will be added to the trust store on nodes.\n"},"defaultNodePool":{"$ref":"#/types/azure:containerservice/KubernetesClusterDefaultNodePool:KubernetesClusterDefaultNodePool","description":"Specifies configuration for \"System\" mode node pool. A \u003cspan pulumi-lang-nodejs=\"`defaultNodePool`\" pulumi-lang-dotnet=\"`DefaultNodePool`\" pulumi-lang-go=\"`defaultNodePool`\" pulumi-lang-python=\"`default_node_pool`\" pulumi-lang-yaml=\"`defaultNodePool`\" pulumi-lang-java=\"`defaultNodePool`\"\u003e`default_node_pool`\u003c/span\u003e block as defined below.\n"},"diskEncryptionSetId":{"type":"string","description":"The ID of the Disk Encryption Set which should be used for the Nodes and Volumes. More information [can be found in the documentation](https://docs.microsoft.com/azure/aks/azure-disk-customer-managed-keys). Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"dnsPrefix":{"type":"string","description":"DNS prefix specified when creating the managed cluster. Possible values must begin and end with a letter or number, contain only letters, numbers, and hyphens and be between 1 and 54 characters in length. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"dnsPrefixPrivateCluster":{"type":"string","description":"Specifies the DNS prefix to use with private clusters. Changing this forces a new resource to be created.\n\n\u003e **Note:** You must define either a \u003cspan pulumi-lang-nodejs=\"`dnsPrefix`\" pulumi-lang-dotnet=\"`DnsPrefix`\" pulumi-lang-go=\"`dnsPrefix`\" pulumi-lang-python=\"`dns_prefix`\" pulumi-lang-yaml=\"`dnsPrefix`\" pulumi-lang-java=\"`dnsPrefix`\"\u003e`dns_prefix`\u003c/span\u003e or a \u003cspan pulumi-lang-nodejs=\"`dnsPrefixPrivateCluster`\" pulumi-lang-dotnet=\"`DnsPrefixPrivateCluster`\" pulumi-lang-go=\"`dnsPrefixPrivateCluster`\" pulumi-lang-python=\"`dns_prefix_private_cluster`\" pulumi-lang-yaml=\"`dnsPrefixPrivateCluster`\" pulumi-lang-java=\"`dnsPrefixPrivateCluster`\"\u003e`dns_prefix_private_cluster`\u003c/span\u003e field.\n\nIn addition, one of either \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`servicePrincipal`\" pulumi-lang-dotnet=\"`ServicePrincipal`\" pulumi-lang-go=\"`servicePrincipal`\" pulumi-lang-python=\"`service_principal`\" pulumi-lang-yaml=\"`servicePrincipal`\" pulumi-lang-java=\"`servicePrincipal`\"\u003e`service_principal`\u003c/span\u003e blocks must be specified.\n","willReplaceOnChanges":true},"edgeZone":{"type":"string","description":"Specifies the Extended Zone (formerly called Edge Zone) within the Azure Region where this Managed Kubernetes Cluster should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"fqdn":{"type":"string","description":"The FQDN of the Azure Kubernetes Managed Cluster.\n"},"httpApplicationRoutingEnabled":{"type":"boolean","description":"Should HTTP Application Routing be enabled?\n\n\u003e **Note:** At this time HTTP Application Routing is not supported in Azure China or Azure US Government.\n"},"httpApplicationRoutingZoneName":{"type":"string","description":"The Zone Name of the HTTP Application Routing.\n"},"httpProxyConfig":{"$ref":"#/types/azure:containerservice/KubernetesClusterHttpProxyConfig:KubernetesClusterHttpProxyConfig","description":"A \u003cspan pulumi-lang-nodejs=\"`httpProxyConfig`\" pulumi-lang-dotnet=\"`HttpProxyConfig`\" pulumi-lang-go=\"`httpProxyConfig`\" pulumi-lang-python=\"`http_proxy_config`\" pulumi-lang-yaml=\"`httpProxyConfig`\" pulumi-lang-java=\"`httpProxyConfig`\"\u003e`http_proxy_config`\u003c/span\u003e block as defined below.\n"},"identity":{"$ref":"#/types/azure:containerservice/KubernetesClusterIdentity:KubernetesClusterIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below. One of either \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`servicePrincipal`\" pulumi-lang-dotnet=\"`ServicePrincipal`\" pulumi-lang-go=\"`servicePrincipal`\" pulumi-lang-python=\"`service_principal`\" pulumi-lang-yaml=\"`servicePrincipal`\" pulumi-lang-java=\"`servicePrincipal`\"\u003e`service_principal`\u003c/span\u003e must be specified.\n\n!\u003e **Note:** A migration scenario from \u003cspan pulumi-lang-nodejs=\"`servicePrincipal`\" pulumi-lang-dotnet=\"`ServicePrincipal`\" pulumi-lang-go=\"`servicePrincipal`\" pulumi-lang-python=\"`service_principal`\" pulumi-lang-yaml=\"`servicePrincipal`\" pulumi-lang-java=\"`servicePrincipal`\"\u003e`service_principal`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e is supported. When upgrading \u003cspan pulumi-lang-nodejs=\"`servicePrincipal`\" pulumi-lang-dotnet=\"`ServicePrincipal`\" pulumi-lang-go=\"`servicePrincipal`\" pulumi-lang-python=\"`service_principal`\" pulumi-lang-yaml=\"`servicePrincipal`\" pulumi-lang-java=\"`servicePrincipal`\"\u003e`service_principal`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e, your cluster's control plane and addon pods will switch to use managed identity, but the kubelets will keep using your configured \u003cspan pulumi-lang-nodejs=\"`servicePrincipal`\" pulumi-lang-dotnet=\"`ServicePrincipal`\" pulumi-lang-go=\"`servicePrincipal`\" pulumi-lang-python=\"`service_principal`\" pulumi-lang-yaml=\"`servicePrincipal`\" pulumi-lang-java=\"`servicePrincipal`\"\u003e`service_principal`\u003c/span\u003e until you upgrade your Node Pool.\n"},"imageCleanerEnabled":{"type":"boolean","description":"Specifies whether Image Cleaner is enabled.\n"},"imageCleanerIntervalHours":{"type":"integer","description":"Specifies the interval in hours when images should be cleaned up.\n"},"ingressApplicationGateway":{"$ref":"#/types/azure:containerservice/KubernetesClusterIngressApplicationGateway:KubernetesClusterIngressApplicationGateway","description":"A \u003cspan pulumi-lang-nodejs=\"`ingressApplicationGateway`\" pulumi-lang-dotnet=\"`IngressApplicationGateway`\" pulumi-lang-go=\"`ingressApplicationGateway`\" pulumi-lang-python=\"`ingress_application_gateway`\" pulumi-lang-yaml=\"`ingressApplicationGateway`\" pulumi-lang-java=\"`ingressApplicationGateway`\"\u003e`ingress_application_gateway`\u003c/span\u003e block as defined below.\n\n\u003e **Note:** Since the Application Gateway is deployed inside a Virtual Network, users (and Service Principals) that are operating the Application Gateway must have the `Microsoft.Network/virtualNetworks/subnets/join/action` permission on the Virtual Network or Subnet. For more details, please visit [Virtual Network Permission](https://learn.microsoft.com/en-us/azure/application-gateway/configuration-infrastructure#virtual-network-permission).\n"},"keyManagementService":{"$ref":"#/types/azure:containerservice/KubernetesClusterKeyManagementService:KubernetesClusterKeyManagementService","description":"A \u003cspan pulumi-lang-nodejs=\"`keyManagementService`\" pulumi-lang-dotnet=\"`KeyManagementService`\" pulumi-lang-go=\"`keyManagementService`\" pulumi-lang-python=\"`key_management_service`\" pulumi-lang-yaml=\"`keyManagementService`\" pulumi-lang-java=\"`keyManagementService`\"\u003e`key_management_service`\u003c/span\u003e block as defined below. For more details, please visit [Key Management Service (KMS) etcd encryption to an AKS cluster](https://learn.microsoft.com/en-us/azure/aks/use-kms-etcd-encryption).\n"},"keyVaultSecretsProvider":{"$ref":"#/types/azure:containerservice/KubernetesClusterKeyVaultSecretsProvider:KubernetesClusterKeyVaultSecretsProvider","description":"A \u003cspan pulumi-lang-nodejs=\"`keyVaultSecretsProvider`\" pulumi-lang-dotnet=\"`KeyVaultSecretsProvider`\" pulumi-lang-go=\"`keyVaultSecretsProvider`\" pulumi-lang-python=\"`key_vault_secrets_provider`\" pulumi-lang-yaml=\"`keyVaultSecretsProvider`\" pulumi-lang-java=\"`keyVaultSecretsProvider`\"\u003e`key_vault_secrets_provider`\u003c/span\u003e block as defined below. For more details, please visit [Azure Keyvault Secrets Provider for AKS](https://docs.microsoft.com/azure/aks/csi-secrets-store-driver).\n"},"kubeAdminConfigRaw":{"type":"string","description":"Raw Kubernetes config for the admin account to be used by [kubectl](https://kubernetes.io/docs/reference/kubectl/overview/) and other compatible tools. This is only available when Role Based Access Control with Azure Active Directory is enabled and local accounts enabled.\n","secret":true},"kubeAdminConfigs":{"type":"array","items":{"$ref":"#/types/azure:containerservice/KubernetesClusterKubeAdminConfig:KubernetesClusterKubeAdminConfig"},"description":"A \u003cspan pulumi-lang-nodejs=\"`kubeAdminConfig`\" pulumi-lang-dotnet=\"`KubeAdminConfig`\" pulumi-lang-go=\"`kubeAdminConfig`\" pulumi-lang-python=\"`kube_admin_config`\" pulumi-lang-yaml=\"`kubeAdminConfig`\" pulumi-lang-java=\"`kubeAdminConfig`\"\u003e`kube_admin_config`\u003c/span\u003e block as defined below. This is only available when Role Based Access Control with Azure Active Directory is enabled and local accounts enabled.\n","secret":true},"kubeConfigRaw":{"type":"string","description":"Raw Kubernetes config to be used by [kubectl](https://kubernetes.io/docs/reference/kubectl/overview/) and other compatible tools.\n","secret":true},"kubeConfigs":{"type":"array","items":{"$ref":"#/types/azure:containerservice/KubernetesClusterKubeConfig:KubernetesClusterKubeConfig"},"description":"A \u003cspan pulumi-lang-nodejs=\"`kubeConfig`\" pulumi-lang-dotnet=\"`KubeConfig`\" pulumi-lang-go=\"`kubeConfig`\" pulumi-lang-python=\"`kube_config`\" pulumi-lang-yaml=\"`kubeConfig`\" pulumi-lang-java=\"`kubeConfig`\"\u003e`kube_config`\u003c/span\u003e block as defined below.\n","secret":true},"kubeletIdentity":{"$ref":"#/types/azure:containerservice/KubernetesClusterKubeletIdentity:KubernetesClusterKubeletIdentity","description":"A \u003cspan pulumi-lang-nodejs=\"`kubeletIdentity`\" pulumi-lang-dotnet=\"`KubeletIdentity`\" pulumi-lang-go=\"`kubeletIdentity`\" pulumi-lang-python=\"`kubelet_identity`\" pulumi-lang-yaml=\"`kubeletIdentity`\" pulumi-lang-java=\"`kubeletIdentity`\"\u003e`kubelet_identity`\u003c/span\u003e block as defined below.\n"},"kubernetesVersion":{"type":"string","description":"Version of Kubernetes specified when creating the AKS managed cluster. If not specified, the latest recommended version will be used at provisioning time (but won't auto-upgrade). AKS does not require an exact patch version to be specified, minor version aliases such as `1.22` are also supported. - The minor version's latest GA patch is automatically chosen in that case. More details can be found in [the documentation](https://docs.microsoft.com/en-us/azure/aks/supported-kubernetes-versions?tabs=azure-cli#alias-minor-version).\n\n\u003e **Note:** Upgrading your cluster may take up to 10 minutes per node.\n"},"linuxProfile":{"$ref":"#/types/azure:containerservice/KubernetesClusterLinuxProfile:KubernetesClusterLinuxProfile","description":"A \u003cspan pulumi-lang-nodejs=\"`linuxProfile`\" pulumi-lang-dotnet=\"`LinuxProfile`\" pulumi-lang-go=\"`linuxProfile`\" pulumi-lang-python=\"`linux_profile`\" pulumi-lang-yaml=\"`linuxProfile`\" pulumi-lang-java=\"`linuxProfile`\"\u003e`linux_profile`\u003c/span\u003e block as defined below.\n"},"localAccountDisabled":{"type":"boolean","description":"If \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e local accounts will be disabled. See [the documentation](https://docs.microsoft.com/azure/aks/managed-aad#disable-local-accounts) for more information.\n\n\u003e **Note:** If \u003cspan pulumi-lang-nodejs=\"`localAccountDisabled`\" pulumi-lang-dotnet=\"`LocalAccountDisabled`\" pulumi-lang-go=\"`localAccountDisabled`\" pulumi-lang-python=\"`local_account_disabled`\" pulumi-lang-yaml=\"`localAccountDisabled`\" pulumi-lang-java=\"`localAccountDisabled`\"\u003e`local_account_disabled`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, it is required to enable Kubernetes RBAC and AKS-managed Azure AD integration. See [the documentation](https://docs.microsoft.com/azure/aks/managed-aad#azure-ad-authentication-overview) for more information.\n"},"location":{"type":"string","description":"The location where the Managed Kubernetes Cluster should be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"maintenanceWindow":{"$ref":"#/types/azure:containerservice/KubernetesClusterMaintenanceWindow:KubernetesClusterMaintenanceWindow","description":"A \u003cspan pulumi-lang-nodejs=\"`maintenanceWindow`\" pulumi-lang-dotnet=\"`MaintenanceWindow`\" pulumi-lang-go=\"`maintenanceWindow`\" pulumi-lang-python=\"`maintenance_window`\" pulumi-lang-yaml=\"`maintenanceWindow`\" pulumi-lang-java=\"`maintenanceWindow`\"\u003e`maintenance_window`\u003c/span\u003e block as defined below.\n"},"maintenanceWindowAutoUpgrade":{"$ref":"#/types/azure:containerservice/KubernetesClusterMaintenanceWindowAutoUpgrade:KubernetesClusterMaintenanceWindowAutoUpgrade","description":"A \u003cspan pulumi-lang-nodejs=\"`maintenanceWindowAutoUpgrade`\" pulumi-lang-dotnet=\"`MaintenanceWindowAutoUpgrade`\" pulumi-lang-go=\"`maintenanceWindowAutoUpgrade`\" pulumi-lang-python=\"`maintenance_window_auto_upgrade`\" pulumi-lang-yaml=\"`maintenanceWindowAutoUpgrade`\" pulumi-lang-java=\"`maintenanceWindowAutoUpgrade`\"\u003e`maintenance_window_auto_upgrade`\u003c/span\u003e block as defined below.\n"},"maintenanceWindowNodeOs":{"$ref":"#/types/azure:containerservice/KubernetesClusterMaintenanceWindowNodeOs:KubernetesClusterMaintenanceWindowNodeOs","description":"A \u003cspan pulumi-lang-nodejs=\"`maintenanceWindowNodeOs`\" pulumi-lang-dotnet=\"`MaintenanceWindowNodeOs`\" pulumi-lang-go=\"`maintenanceWindowNodeOs`\" pulumi-lang-python=\"`maintenance_window_node_os`\" pulumi-lang-yaml=\"`maintenanceWindowNodeOs`\" pulumi-lang-java=\"`maintenanceWindowNodeOs`\"\u003e`maintenance_window_node_os`\u003c/span\u003e block as defined below.\n"},"microsoftDefender":{"$ref":"#/types/azure:containerservice/KubernetesClusterMicrosoftDefender:KubernetesClusterMicrosoftDefender","description":"A \u003cspan pulumi-lang-nodejs=\"`microsoftDefender`\" pulumi-lang-dotnet=\"`MicrosoftDefender`\" pulumi-lang-go=\"`microsoftDefender`\" pulumi-lang-python=\"`microsoft_defender`\" pulumi-lang-yaml=\"`microsoftDefender`\" pulumi-lang-java=\"`microsoftDefender`\"\u003e`microsoft_defender`\u003c/span\u003e block as defined below.\n"},"monitorMetrics":{"$ref":"#/types/azure:containerservice/KubernetesClusterMonitorMetrics:KubernetesClusterMonitorMetrics","description":"Specifies a Prometheus add-on profile for the Kubernetes Cluster. A \u003cspan pulumi-lang-nodejs=\"`monitorMetrics`\" pulumi-lang-dotnet=\"`MonitorMetrics`\" pulumi-lang-go=\"`monitorMetrics`\" pulumi-lang-python=\"`monitor_metrics`\" pulumi-lang-yaml=\"`monitorMetrics`\" pulumi-lang-java=\"`monitorMetrics`\"\u003e`monitor_metrics`\u003c/span\u003e block as defined below.\n\n\u003e **Note:** If deploying Managed Prometheus, the \u003cspan pulumi-lang-nodejs=\"`monitorMetrics`\" pulumi-lang-dotnet=\"`MonitorMetrics`\" pulumi-lang-go=\"`monitorMetrics`\" pulumi-lang-python=\"`monitor_metrics`\" pulumi-lang-yaml=\"`monitorMetrics`\" pulumi-lang-java=\"`monitorMetrics`\"\u003e`monitor_metrics`\u003c/span\u003e properties are required to configure the cluster for metrics collection. If no value is needed, set properties to \u003cspan pulumi-lang-nodejs=\"`null`\" pulumi-lang-dotnet=\"`Null`\" pulumi-lang-go=\"`null`\" pulumi-lang-python=\"`null`\" pulumi-lang-yaml=\"`null`\" pulumi-lang-java=\"`null`\"\u003e`null`\u003c/span\u003e.\n"},"name":{"type":"string","description":"The name of the Managed Kubernetes Cluster to create. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"networkProfile":{"$ref":"#/types/azure:containerservice/KubernetesClusterNetworkProfile:KubernetesClusterNetworkProfile","description":"A \u003cspan pulumi-lang-nodejs=\"`networkProfile`\" pulumi-lang-dotnet=\"`NetworkProfile`\" pulumi-lang-go=\"`networkProfile`\" pulumi-lang-python=\"`network_profile`\" pulumi-lang-yaml=\"`networkProfile`\" pulumi-lang-java=\"`networkProfile`\"\u003e`network_profile`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n\n\u003e **Note:** If \u003cspan pulumi-lang-nodejs=\"`networkProfile`\" pulumi-lang-dotnet=\"`NetworkProfile`\" pulumi-lang-go=\"`networkProfile`\" pulumi-lang-python=\"`network_profile`\" pulumi-lang-yaml=\"`networkProfile`\" pulumi-lang-java=\"`networkProfile`\"\u003e`network_profile`\u003c/span\u003e is not defined, \u003cspan pulumi-lang-nodejs=\"`kubenet`\" pulumi-lang-dotnet=\"`Kubenet`\" pulumi-lang-go=\"`kubenet`\" pulumi-lang-python=\"`kubenet`\" pulumi-lang-yaml=\"`kubenet`\" pulumi-lang-java=\"`kubenet`\"\u003e`kubenet`\u003c/span\u003e profile will be used by default.\n","willReplaceOnChanges":true},"nodeOsUpgradeChannel":{"type":"string","description":"The upgrade channel for this Kubernetes Cluster Nodes' OS Image. Possible values are `Unmanaged`, `SecurityPatch`, `NodeImage` and `None`. Defaults to `NodeImage`.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`nodeOsUpgradeChannel`\" pulumi-lang-dotnet=\"`NodeOsUpgradeChannel`\" pulumi-lang-go=\"`nodeOsUpgradeChannel`\" pulumi-lang-python=\"`node_os_upgrade_channel`\" pulumi-lang-yaml=\"`nodeOsUpgradeChannel`\" pulumi-lang-java=\"`nodeOsUpgradeChannel`\"\u003e`node_os_upgrade_channel`\u003c/span\u003e must be set to `NodeImage` if \u003cspan pulumi-lang-nodejs=\"`automaticUpgradeChannel`\" pulumi-lang-dotnet=\"`AutomaticUpgradeChannel`\" pulumi-lang-go=\"`automaticUpgradeChannel`\" pulumi-lang-python=\"`automatic_upgrade_channel`\" pulumi-lang-yaml=\"`automaticUpgradeChannel`\" pulumi-lang-java=\"`automaticUpgradeChannel`\"\u003e`automatic_upgrade_channel`\u003c/span\u003e has been set to `node-image`\n"},"nodeProvisioningProfile":{"$ref":"#/types/azure:containerservice/KubernetesClusterNodeProvisioningProfile:KubernetesClusterNodeProvisioningProfile","description":"A \u003cspan pulumi-lang-nodejs=\"`nodeProvisioningProfile`\" pulumi-lang-dotnet=\"`NodeProvisioningProfile`\" pulumi-lang-go=\"`nodeProvisioningProfile`\" pulumi-lang-python=\"`node_provisioning_profile`\" pulumi-lang-yaml=\"`nodeProvisioningProfile`\" pulumi-lang-java=\"`nodeProvisioningProfile`\"\u003e`node_provisioning_profile`\u003c/span\u003e block as defined below.\n"},"nodeResourceGroup":{"type":"string","description":"The name of the Resource Group where the Kubernetes Nodes should exist. Changing this forces a new resource to be created.\n\n\u003e **Note:** Azure requires that a new, non-existent Resource Group is used, as otherwise, the provisioning of the Kubernetes Service will fail.\n","willReplaceOnChanges":true},"nodeResourceGroupId":{"type":"string","description":"The ID of the Resource Group containing the resources for this Managed Kubernetes Cluster.\n"},"oidcIssuerEnabled":{"type":"boolean","description":"Enable or Disable the [OIDC issuer URL](https://learn.microsoft.com/en-gb/azure/aks/use-oidc-issuer)\n"},"oidcIssuerUrl":{"type":"string","description":"The OIDC issuer URL that is associated with the cluster.\n"},"omsAgent":{"$ref":"#/types/azure:containerservice/KubernetesClusterOmsAgent:KubernetesClusterOmsAgent","description":"A \u003cspan pulumi-lang-nodejs=\"`omsAgent`\" pulumi-lang-dotnet=\"`OmsAgent`\" pulumi-lang-go=\"`omsAgent`\" pulumi-lang-python=\"`oms_agent`\" pulumi-lang-yaml=\"`omsAgent`\" pulumi-lang-java=\"`omsAgent`\"\u003e`oms_agent`\u003c/span\u003e block as defined below.\n"},"openServiceMeshEnabled":{"type":"boolean","description":"Is Open Service Mesh enabled? For more details, please visit [Open Service Mesh for AKS](https://docs.microsoft.com/azure/aks/open-service-mesh-about).\n"},"portalFqdn":{"type":"string","description":"The FQDN for the Azure Portal resources when private link has been enabled, which is only resolvable inside the Virtual Network used by the Kubernetes Cluster.\n"},"privateClusterEnabled":{"type":"boolean","description":"Should this Kubernetes Cluster have its API server only exposed on internal IP addresses? This provides a Private IP Address for the Kubernetes API on the Virtual Network where the Kubernetes Cluster is located. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"privateClusterPublicFqdnEnabled":{"type":"boolean","description":"Specifies whether a Public FQDN for this Private Cluster should be added. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** If you use BYO DNS Zone, the AKS cluster should either use a User Assigned Identity or a service principal (which is deprecated) with the `Private DNS Zone Contributor` role and access to this Private DNS Zone. If `UserAssigned` identity is used - to prevent improper resource order destruction - the cluster should depend on the role assignment, like in this example:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example\",\n    location: \"West Europe\",\n});\nconst exampleZone = new azure.privatedns.Zone(\"example\", {\n    name: \"privatelink.eastus2.azmk8s.io\",\n    resourceGroupName: example.name,\n});\nconst exampleUserAssignedIdentity = new azure.authorization.UserAssignedIdentity(\"example\", {\n    name: \"aks-example-identity\",\n    resourceGroupName: example.name,\n    location: example.location,\n});\nconst exampleAssignment = new azure.authorization.Assignment(\"example\", {\n    scope: exampleZone.id,\n    roleDefinitionName: \"Private DNS Zone Contributor\",\n    principalId: exampleUserAssignedIdentity.principalId,\n});\nconst exampleKubernetesCluster = new azure.containerservice.KubernetesCluster(\"example\", {\n    name: \"aksexamplewithprivatednszone1\",\n    location: example.location,\n    resourceGroupName: example.name,\n    dnsPrefix: \"aksexamplednsprefix1\",\n    privateClusterEnabled: true,\n    privateDnsZoneId: exampleZone.id,\n}, {\n    dependsOn: [exampleAssignment],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example\",\n    location=\"West Europe\")\nexample_zone = azure.privatedns.Zone(\"example\",\n    name=\"privatelink.eastus2.azmk8s.io\",\n    resource_group_name=example.name)\nexample_user_assigned_identity = azure.authorization.UserAssignedIdentity(\"example\",\n    name=\"aks-example-identity\",\n    resource_group_name=example.name,\n    location=example.location)\nexample_assignment = azure.authorization.Assignment(\"example\",\n    scope=example_zone.id,\n    role_definition_name=\"Private DNS Zone Contributor\",\n    principal_id=example_user_assigned_identity.principal_id)\nexample_kubernetes_cluster = azure.containerservice.KubernetesCluster(\"example\",\n    name=\"aksexamplewithprivatednszone1\",\n    location=example.location,\n    resource_group_name=example.name,\n    dns_prefix=\"aksexamplednsprefix1\",\n    private_cluster_enabled=True,\n    private_dns_zone_id=example_zone.id,\n    opts = pulumi.ResourceOptions(depends_on=[example_assignment]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example\",\n        Location = \"West Europe\",\n    });\n\n    var exampleZone = new Azure.PrivateDns.Zone(\"example\", new()\n    {\n        Name = \"privatelink.eastus2.azmk8s.io\",\n        ResourceGroupName = example.Name,\n    });\n\n    var exampleUserAssignedIdentity = new Azure.Authorization.UserAssignedIdentity(\"example\", new()\n    {\n        Name = \"aks-example-identity\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n    });\n\n    var exampleAssignment = new Azure.Authorization.Assignment(\"example\", new()\n    {\n        Scope = exampleZone.Id,\n        RoleDefinitionName = \"Private DNS Zone Contributor\",\n        PrincipalId = exampleUserAssignedIdentity.PrincipalId,\n    });\n\n    var exampleKubernetesCluster = new Azure.ContainerService.KubernetesCluster(\"example\", new()\n    {\n        Name = \"aksexamplewithprivatednszone1\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        DnsPrefix = \"aksexamplednsprefix1\",\n        PrivateClusterEnabled = true,\n        PrivateDnsZoneId = exampleZone.Id,\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            exampleAssignment,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/authorization\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/containerservice\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/privatedns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleZone, err := privatedns.NewZone(ctx, \"example\", \u0026privatedns.ZoneArgs{\n\t\t\tName:              pulumi.String(\"privatelink.eastus2.azmk8s.io\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleUserAssignedIdentity, err := authorization.NewUserAssignedIdentity(ctx, \"example\", \u0026authorization.UserAssignedIdentityArgs{\n\t\t\tName:              pulumi.String(\"aks-example-identity\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAssignment, err := authorization.NewAssignment(ctx, \"example\", \u0026authorization.AssignmentArgs{\n\t\t\tScope:              exampleZone.ID(),\n\t\t\tRoleDefinitionName: pulumi.String(\"Private DNS Zone Contributor\"),\n\t\t\tPrincipalId:        exampleUserAssignedIdentity.PrincipalId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = containerservice.NewKubernetesCluster(ctx, \"example\", \u0026containerservice.KubernetesClusterArgs{\n\t\t\tName:                  pulumi.String(\"aksexamplewithprivatednszone1\"),\n\t\t\tLocation:              example.Location,\n\t\t\tResourceGroupName:     example.Name,\n\t\t\tDnsPrefix:             pulumi.String(\"aksexamplednsprefix1\"),\n\t\t\tPrivateClusterEnabled: pulumi.Bool(true),\n\t\t\tPrivateDnsZoneId:      exampleZone.ID(),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleAssignment,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.privatedns.Zone;\nimport com.pulumi.azure.privatedns.ZoneArgs;\nimport com.pulumi.azure.authorization.UserAssignedIdentity;\nimport com.pulumi.azure.authorization.UserAssignedIdentityArgs;\nimport com.pulumi.azure.authorization.Assignment;\nimport com.pulumi.azure.authorization.AssignmentArgs;\nimport com.pulumi.azure.containerservice.KubernetesCluster;\nimport com.pulumi.azure.containerservice.KubernetesClusterArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleZone = new Zone(\"exampleZone\", ZoneArgs.builder()\n            .name(\"privatelink.eastus2.azmk8s.io\")\n            .resourceGroupName(example.name())\n            .build());\n\n        var exampleUserAssignedIdentity = new UserAssignedIdentity(\"exampleUserAssignedIdentity\", UserAssignedIdentityArgs.builder()\n            .name(\"aks-example-identity\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .build());\n\n        var exampleAssignment = new Assignment(\"exampleAssignment\", AssignmentArgs.builder()\n            .scope(exampleZone.id())\n            .roleDefinitionName(\"Private DNS Zone Contributor\")\n            .principalId(exampleUserAssignedIdentity.principalId())\n            .build());\n\n        var exampleKubernetesCluster = new KubernetesCluster(\"exampleKubernetesCluster\", KubernetesClusterArgs.builder()\n            .name(\"aksexamplewithprivatednszone1\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .dnsPrefix(\"aksexamplednsprefix1\")\n            .privateClusterEnabled(true)\n            .privateDnsZoneId(exampleZone.id())\n            .build(), CustomResourceOptions.builder()\n                .dependsOn(exampleAssignment)\n                .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example\n      location: West Europe\n  exampleZone:\n    type: azure:privatedns:Zone\n    name: example\n    properties:\n      name: privatelink.eastus2.azmk8s.io\n      resourceGroupName: ${example.name}\n  exampleUserAssignedIdentity:\n    type: azure:authorization:UserAssignedIdentity\n    name: example\n    properties:\n      name: aks-example-identity\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n  exampleAssignment:\n    type: azure:authorization:Assignment\n    name: example\n    properties:\n      scope: ${exampleZone.id}\n      roleDefinitionName: Private DNS Zone Contributor\n      principalId: ${exampleUserAssignedIdentity.principalId}\n  exampleKubernetesCluster:\n    type: azure:containerservice:KubernetesCluster\n    name: example\n    properties:\n      name: aksexamplewithprivatednszone1\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      dnsPrefix: aksexamplednsprefix1\n      privateClusterEnabled: true\n      privateDnsZoneId: ${exampleZone.id}\n    options:\n      dependsOn:\n        - ${exampleAssignment}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n"},"privateDnsZoneId":{"type":"string","description":"Either the ID of Private DNS Zone which should be delegated to this Cluster, `System` to have AKS manage this or `None`. In case of `None` you will need to bring your own DNS server and set up resolving, otherwise, the cluster will have issues after provisioning. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"privateFqdn":{"type":"string","description":"The FQDN for the Kubernetes Cluster when private link has been enabled, which is only resolvable inside the Virtual Network used by the Kubernetes Cluster.\n"},"resourceGroupName":{"type":"string","description":"Specifies the Resource Group where the Managed Kubernetes Cluster should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"roleBasedAccessControlEnabled":{"type":"boolean","description":"Whether Role Based Access Control for the Kubernetes Cluster should be enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"runCommandEnabled":{"type":"boolean","description":"Whether to enable run command for the cluster or not. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"serviceMeshProfile":{"$ref":"#/types/azure:containerservice/KubernetesClusterServiceMeshProfile:KubernetesClusterServiceMeshProfile","description":"A \u003cspan pulumi-lang-nodejs=\"`serviceMeshProfile`\" pulumi-lang-dotnet=\"`ServiceMeshProfile`\" pulumi-lang-go=\"`serviceMeshProfile`\" pulumi-lang-python=\"`service_mesh_profile`\" pulumi-lang-yaml=\"`serviceMeshProfile`\" pulumi-lang-java=\"`serviceMeshProfile`\"\u003e`service_mesh_profile`\u003c/span\u003e block as defined below.\n"},"servicePrincipal":{"$ref":"#/types/azure:containerservice/KubernetesClusterServicePrincipal:KubernetesClusterServicePrincipal","description":"A \u003cspan pulumi-lang-nodejs=\"`servicePrincipal`\" pulumi-lang-dotnet=\"`ServicePrincipal`\" pulumi-lang-go=\"`servicePrincipal`\" pulumi-lang-python=\"`service_principal`\" pulumi-lang-yaml=\"`servicePrincipal`\" pulumi-lang-java=\"`servicePrincipal`\"\u003e`service_principal`\u003c/span\u003e block as documented below. One of either \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`servicePrincipal`\" pulumi-lang-dotnet=\"`ServicePrincipal`\" pulumi-lang-go=\"`servicePrincipal`\" pulumi-lang-python=\"`service_principal`\" pulumi-lang-yaml=\"`servicePrincipal`\" pulumi-lang-java=\"`servicePrincipal`\"\u003e`service_principal`\u003c/span\u003e must be specified.\n\n!\u003e **Note:** A migration scenario from \u003cspan pulumi-lang-nodejs=\"`servicePrincipal`\" pulumi-lang-dotnet=\"`ServicePrincipal`\" pulumi-lang-go=\"`servicePrincipal`\" pulumi-lang-python=\"`service_principal`\" pulumi-lang-yaml=\"`servicePrincipal`\" pulumi-lang-java=\"`servicePrincipal`\"\u003e`service_principal`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e is supported. When upgrading \u003cspan pulumi-lang-nodejs=\"`servicePrincipal`\" pulumi-lang-dotnet=\"`ServicePrincipal`\" pulumi-lang-go=\"`servicePrincipal`\" pulumi-lang-python=\"`service_principal`\" pulumi-lang-yaml=\"`servicePrincipal`\" pulumi-lang-java=\"`servicePrincipal`\"\u003e`service_principal`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e, your cluster's control plane and addon pods will switch to use managed identity, but the kubelets will keep using your configured \u003cspan pulumi-lang-nodejs=\"`servicePrincipal`\" pulumi-lang-dotnet=\"`ServicePrincipal`\" pulumi-lang-go=\"`servicePrincipal`\" pulumi-lang-python=\"`service_principal`\" pulumi-lang-yaml=\"`servicePrincipal`\" pulumi-lang-java=\"`servicePrincipal`\"\u003e`service_principal`\u003c/span\u003e until you upgrade your Node Pool.\n"},"skuTier":{"type":"string","description":"The SKU Tier that should be used for this Kubernetes Cluster. Possible values are `Free`, `Standard` (which includes the Uptime SLA) and `Premium`. Defaults to `Free`.\n\n\u003e **Note:** Whilst the AKS API previously supported the `Paid` SKU - the AKS API introduced a breaking change in API Version `2023-02-01` (used in v3.51.0 and later) where the value `Paid` must now be set to `Standard`.\n"},"storageProfile":{"$ref":"#/types/azure:containerservice/KubernetesClusterStorageProfile:KubernetesClusterStorageProfile","description":"A \u003cspan pulumi-lang-nodejs=\"`storageProfile`\" pulumi-lang-dotnet=\"`StorageProfile`\" pulumi-lang-go=\"`storageProfile`\" pulumi-lang-python=\"`storage_profile`\" pulumi-lang-yaml=\"`storageProfile`\" pulumi-lang-java=\"`storageProfile`\"\u003e`storage_profile`\u003c/span\u003e block as defined below.\n"},"supportPlan":{"type":"string","description":"Specifies the support plan which should be used for this Kubernetes Cluster. Possible values are `KubernetesOfficial` and `AKSLongTermSupport`. Defaults to `KubernetesOfficial`.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"upgradeOverride":{"$ref":"#/types/azure:containerservice/KubernetesClusterUpgradeOverride:KubernetesClusterUpgradeOverride","description":"A \u003cspan pulumi-lang-nodejs=\"`upgradeOverride`\" pulumi-lang-dotnet=\"`UpgradeOverride`\" pulumi-lang-go=\"`upgradeOverride`\" pulumi-lang-python=\"`upgrade_override`\" pulumi-lang-yaml=\"`upgradeOverride`\" pulumi-lang-java=\"`upgradeOverride`\"\u003e`upgrade_override`\u003c/span\u003e block as defined below.\n"},"webAppRouting":{"$ref":"#/types/azure:containerservice/KubernetesClusterWebAppRouting:KubernetesClusterWebAppRouting","description":"A \u003cspan pulumi-lang-nodejs=\"`webAppRouting`\" pulumi-lang-dotnet=\"`WebAppRouting`\" pulumi-lang-go=\"`webAppRouting`\" pulumi-lang-python=\"`web_app_routing`\" pulumi-lang-yaml=\"`webAppRouting`\" pulumi-lang-java=\"`webAppRouting`\"\u003e`web_app_routing`\u003c/span\u003e block as defined below.\n"},"windowsProfile":{"$ref":"#/types/azure:containerservice/KubernetesClusterWindowsProfile:KubernetesClusterWindowsProfile","description":"A \u003cspan pulumi-lang-nodejs=\"`windowsProfile`\" pulumi-lang-dotnet=\"`WindowsProfile`\" pulumi-lang-go=\"`windowsProfile`\" pulumi-lang-python=\"`windows_profile`\" pulumi-lang-yaml=\"`windowsProfile`\" pulumi-lang-java=\"`windowsProfile`\"\u003e`windows_profile`\u003c/span\u003e block as defined below.\n"},"workloadAutoscalerProfile":{"$ref":"#/types/azure:containerservice/KubernetesClusterWorkloadAutoscalerProfile:KubernetesClusterWorkloadAutoscalerProfile","description":"A \u003cspan pulumi-lang-nodejs=\"`workloadAutoscalerProfile`\" pulumi-lang-dotnet=\"`WorkloadAutoscalerProfile`\" pulumi-lang-go=\"`workloadAutoscalerProfile`\" pulumi-lang-python=\"`workload_autoscaler_profile`\" pulumi-lang-yaml=\"`workloadAutoscalerProfile`\" pulumi-lang-java=\"`workloadAutoscalerProfile`\"\u003e`workload_autoscaler_profile`\u003c/span\u003e block defined below.\n"},"workloadIdentityEnabled":{"type":"boolean","description":"Specifies whether Azure AD Workload Identity should be enabled for the Cluster. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** To enable Azure AD Workload Identity \u003cspan pulumi-lang-nodejs=\"`oidcIssuerEnabled`\" pulumi-lang-dotnet=\"`OidcIssuerEnabled`\" pulumi-lang-go=\"`oidcIssuerEnabled`\" pulumi-lang-python=\"`oidc_issuer_enabled`\" pulumi-lang-yaml=\"`oidcIssuerEnabled`\" pulumi-lang-java=\"`oidcIssuerEnabled`\"\u003e`oidc_issuer_enabled`\u003c/span\u003e must be set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n\n\u003e **Note:** Enabling this option will allocate Workload Identity resources to the `kube-system` namespace in Kubernetes. If you wish to customize the deployment of Workload Identity, you can refer to [the documentation on Azure AD Workload Identity.](https://azure.github.io/azure-workload-identity/docs/installation/mutating-admission-webhook.html) The documentation provides guidance on how to install the mutating admission webhook, which allows for the customization of Workload Identity deployment.\n"}},"type":"object"}},"azure:containerservice/kubernetesClusterExtension:KubernetesClusterExtension":{"description":"Manages a Kubernetes Cluster Extension.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleKubernetesCluster = new azure.containerservice.KubernetesCluster(\"example\", {\n    name: \"example-aks\",\n    location: \"West Europe\",\n    resourceGroupName: example.name,\n    dnsPrefix: \"example-aks\",\n    defaultNodePool: {\n        name: \"default\",\n        nodeCount: 1,\n        vmSize: \"Standard_DS2_v2\",\n    },\n    identity: {\n        type: \"SystemAssigned\",\n    },\n});\nconst exampleKubernetesClusterExtension = new azure.containerservice.KubernetesClusterExtension(\"example\", {\n    name: \"example-ext\",\n    clusterId: exampleKubernetesCluster.id,\n    extensionType: \"microsoft.flux\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_kubernetes_cluster = azure.containerservice.KubernetesCluster(\"example\",\n    name=\"example-aks\",\n    location=\"West Europe\",\n    resource_group_name=example.name,\n    dns_prefix=\"example-aks\",\n    default_node_pool={\n        \"name\": \"default\",\n        \"node_count\": 1,\n        \"vm_size\": \"Standard_DS2_v2\",\n    },\n    identity={\n        \"type\": \"SystemAssigned\",\n    })\nexample_kubernetes_cluster_extension = azure.containerservice.KubernetesClusterExtension(\"example\",\n    name=\"example-ext\",\n    cluster_id=example_kubernetes_cluster.id,\n    extension_type=\"microsoft.flux\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleKubernetesCluster = new Azure.ContainerService.KubernetesCluster(\"example\", new()\n    {\n        Name = \"example-aks\",\n        Location = \"West Europe\",\n        ResourceGroupName = example.Name,\n        DnsPrefix = \"example-aks\",\n        DefaultNodePool = new Azure.ContainerService.Inputs.KubernetesClusterDefaultNodePoolArgs\n        {\n            Name = \"default\",\n            NodeCount = 1,\n            VmSize = \"Standard_DS2_v2\",\n        },\n        Identity = new Azure.ContainerService.Inputs.KubernetesClusterIdentityArgs\n        {\n            Type = \"SystemAssigned\",\n        },\n    });\n\n    var exampleKubernetesClusterExtension = new Azure.ContainerService.KubernetesClusterExtension(\"example\", new()\n    {\n        Name = \"example-ext\",\n        ClusterId = exampleKubernetesCluster.Id,\n        ExtensionType = \"microsoft.flux\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/containerservice\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleKubernetesCluster, err := containerservice.NewKubernetesCluster(ctx, \"example\", \u0026containerservice.KubernetesClusterArgs{\n\t\t\tName:              pulumi.String(\"example-aks\"),\n\t\t\tLocation:          pulumi.String(\"West Europe\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tDnsPrefix:         pulumi.String(\"example-aks\"),\n\t\t\tDefaultNodePool: \u0026containerservice.KubernetesClusterDefaultNodePoolArgs{\n\t\t\t\tName:      pulumi.String(\"default\"),\n\t\t\t\tNodeCount: pulumi.Int(1),\n\t\t\t\tVmSize:    pulumi.String(\"Standard_DS2_v2\"),\n\t\t\t},\n\t\t\tIdentity: \u0026containerservice.KubernetesClusterIdentityArgs{\n\t\t\t\tType: pulumi.String(\"SystemAssigned\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = containerservice.NewKubernetesClusterExtension(ctx, \"example\", \u0026containerservice.KubernetesClusterExtensionArgs{\n\t\t\tName:          pulumi.String(\"example-ext\"),\n\t\t\tClusterId:     exampleKubernetesCluster.ID(),\n\t\t\tExtensionType: pulumi.String(\"microsoft.flux\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.containerservice.KubernetesCluster;\nimport com.pulumi.azure.containerservice.KubernetesClusterArgs;\nimport com.pulumi.azure.containerservice.inputs.KubernetesClusterDefaultNodePoolArgs;\nimport com.pulumi.azure.containerservice.inputs.KubernetesClusterIdentityArgs;\nimport com.pulumi.azure.containerservice.KubernetesClusterExtension;\nimport com.pulumi.azure.containerservice.KubernetesClusterExtensionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleKubernetesCluster = new KubernetesCluster(\"exampleKubernetesCluster\", KubernetesClusterArgs.builder()\n            .name(\"example-aks\")\n            .location(\"West Europe\")\n            .resourceGroupName(example.name())\n            .dnsPrefix(\"example-aks\")\n            .defaultNodePool(KubernetesClusterDefaultNodePoolArgs.builder()\n                .name(\"default\")\n                .nodeCount(1)\n                .vmSize(\"Standard_DS2_v2\")\n                .build())\n            .identity(KubernetesClusterIdentityArgs.builder()\n                .type(\"SystemAssigned\")\n                .build())\n            .build());\n\n        var exampleKubernetesClusterExtension = new KubernetesClusterExtension(\"exampleKubernetesClusterExtension\", KubernetesClusterExtensionArgs.builder()\n            .name(\"example-ext\")\n            .clusterId(exampleKubernetesCluster.id())\n            .extensionType(\"microsoft.flux\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleKubernetesCluster:\n    type: azure:containerservice:KubernetesCluster\n    name: example\n    properties:\n      name: example-aks\n      location: West Europe\n      resourceGroupName: ${example.name}\n      dnsPrefix: example-aks\n      defaultNodePool:\n        name: default\n        nodeCount: 1\n        vmSize: Standard_DS2_v2\n      identity:\n        type: SystemAssigned\n  exampleKubernetesClusterExtension:\n    type: azure:containerservice:KubernetesClusterExtension\n    name: example\n    properties:\n      name: example-ext\n      clusterId: ${exampleKubernetesCluster.id}\n      extensionType: microsoft.flux\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.KubernetesConfiguration` - 2024-11-01\n\n## Import\n\nKubernetes Cluster Extension can be imported using the `resource id` for different \u003cspan pulumi-lang-nodejs=\"`clusterResourceName`\" pulumi-lang-dotnet=\"`ClusterResourceName`\" pulumi-lang-go=\"`clusterResourceName`\" pulumi-lang-python=\"`cluster_resource_name`\" pulumi-lang-yaml=\"`clusterResourceName`\" pulumi-lang-java=\"`clusterResourceName`\"\u003e`cluster_resource_name`\u003c/span\u003e, e.g.\n\n```sh\n$ pulumi import azure:containerservice/kubernetesClusterExtension:KubernetesClusterExtension example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup1/providers/Microsoft.ContainerService/managedClusters/cluster1/providers/Microsoft.KubernetesConfiguration/extensions/extension1\n```\n\n","properties":{"aksAssignedIdentities":{"type":"array","items":{"$ref":"#/types/azure:containerservice/KubernetesClusterExtensionAksAssignedIdentity:KubernetesClusterExtensionAksAssignedIdentity"},"description":"An \u003cspan pulumi-lang-nodejs=\"`aksAssignedIdentity`\" pulumi-lang-dotnet=\"`AksAssignedIdentity`\" pulumi-lang-go=\"`aksAssignedIdentity`\" pulumi-lang-python=\"`aks_assigned_identity`\" pulumi-lang-yaml=\"`aksAssignedIdentity`\" pulumi-lang-java=\"`aksAssignedIdentity`\"\u003e`aks_assigned_identity`\u003c/span\u003e block as defined below.\n"},"clusterId":{"type":"string","description":"Specifies the Cluster ID. Changing this forces a new Kubernetes Cluster Extension to be created.\n"},"configurationProtectedSettings":{"type":"object","additionalProperties":{"type":"string"},"description":"Configuration settings that are sensitive, as name-value pairs for configuring this extension.\n"},"configurationSettings":{"type":"object","additionalProperties":{"type":"string"},"description":"Configuration settings, as name-value pairs for configuring this extension.\n"},"currentVersion":{"type":"string","description":"The current version of the extension.\n"},"extensionType":{"type":"string","description":"Specifies the type of extension. It must be one of the extension types registered with Microsoft.KubernetesConfiguration by the Extension publisher. For more information, please refer to [Available Extensions for AKS](https://learn.microsoft.com/en-us/azure/aks/cluster-extensions?tabs=azure-cli#currently-available-extensions). Changing this forces a new Kubernetes Cluster Extension to be created.\n"},"name":{"type":"string","description":"Specifies the name which should be used for this Kubernetes Cluster Extension. Changing this forces a new Kubernetes Cluster Extension to be created.\n"},"plan":{"$ref":"#/types/azure:containerservice/KubernetesClusterExtensionPlan:KubernetesClusterExtensionPlan","description":"A \u003cspan pulumi-lang-nodejs=\"`plan`\" pulumi-lang-dotnet=\"`Plan`\" pulumi-lang-go=\"`plan`\" pulumi-lang-python=\"`plan`\" pulumi-lang-yaml=\"`plan`\" pulumi-lang-java=\"`plan`\"\u003e`plan`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n"},"releaseNamespace":{"type":"string","description":"Namespace where the extension release must be placed for a cluster scoped extension. If this namespace does not exist, it will be created. Changing this forces a new Kubernetes Cluster Extension to be created.\n"},"releaseTrain":{"type":"string","description":"The release train used by this extension. Possible values include but are not limited to `Stable`, `Preview`. Changing this forces a new Kubernetes Cluster Extension to be created.\n"},"targetNamespace":{"type":"string","description":"Namespace where the extension will be created for a namespace scoped extension. If this namespace does not exist, it will be created. Changing this forces a new Kubernetes Cluster Extension to be created.\n"},"version":{"type":"string","description":"User-specified version that the extension should pin to. If it is not set, Azure will use the latest version and auto upgrade it. Changing this forces a new Kubernetes Cluster Extension to be created.\n"}},"required":["aksAssignedIdentities","clusterId","currentVersion","extensionType","name","releaseNamespace","releaseTrain","targetNamespace"],"inputProperties":{"clusterId":{"type":"string","description":"Specifies the Cluster ID. Changing this forces a new Kubernetes Cluster Extension to be created.\n","willReplaceOnChanges":true},"configurationProtectedSettings":{"type":"object","additionalProperties":{"type":"string"},"description":"Configuration settings that are sensitive, as name-value pairs for configuring this extension.\n"},"configurationSettings":{"type":"object","additionalProperties":{"type":"string"},"description":"Configuration settings, as name-value pairs for configuring this extension.\n"},"extensionType":{"type":"string","description":"Specifies the type of extension. It must be one of the extension types registered with Microsoft.KubernetesConfiguration by the Extension publisher. For more information, please refer to [Available Extensions for AKS](https://learn.microsoft.com/en-us/azure/aks/cluster-extensions?tabs=azure-cli#currently-available-extensions). Changing this forces a new Kubernetes Cluster Extension to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name which should be used for this Kubernetes Cluster Extension. Changing this forces a new Kubernetes Cluster Extension to be created.\n","willReplaceOnChanges":true},"plan":{"$ref":"#/types/azure:containerservice/KubernetesClusterExtensionPlan:KubernetesClusterExtensionPlan","description":"A \u003cspan pulumi-lang-nodejs=\"`plan`\" pulumi-lang-dotnet=\"`Plan`\" pulumi-lang-go=\"`plan`\" pulumi-lang-python=\"`plan`\" pulumi-lang-yaml=\"`plan`\" pulumi-lang-java=\"`plan`\"\u003e`plan`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"releaseNamespace":{"type":"string","description":"Namespace where the extension release must be placed for a cluster scoped extension. If this namespace does not exist, it will be created. Changing this forces a new Kubernetes Cluster Extension to be created.\n","willReplaceOnChanges":true},"releaseTrain":{"type":"string","description":"The release train used by this extension. Possible values include but are not limited to `Stable`, `Preview`. Changing this forces a new Kubernetes Cluster Extension to be created.\n","willReplaceOnChanges":true},"targetNamespace":{"type":"string","description":"Namespace where the extension will be created for a namespace scoped extension. If this namespace does not exist, it will be created. Changing this forces a new Kubernetes Cluster Extension to be created.\n","willReplaceOnChanges":true},"version":{"type":"string","description":"User-specified version that the extension should pin to. If it is not set, Azure will use the latest version and auto upgrade it. Changing this forces a new Kubernetes Cluster Extension to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["clusterId","extensionType"],"stateInputs":{"description":"Input properties used for looking up and filtering KubernetesClusterExtension resources.\n","properties":{"aksAssignedIdentities":{"type":"array","items":{"$ref":"#/types/azure:containerservice/KubernetesClusterExtensionAksAssignedIdentity:KubernetesClusterExtensionAksAssignedIdentity"},"description":"An \u003cspan pulumi-lang-nodejs=\"`aksAssignedIdentity`\" pulumi-lang-dotnet=\"`AksAssignedIdentity`\" pulumi-lang-go=\"`aksAssignedIdentity`\" pulumi-lang-python=\"`aks_assigned_identity`\" pulumi-lang-yaml=\"`aksAssignedIdentity`\" pulumi-lang-java=\"`aksAssignedIdentity`\"\u003e`aks_assigned_identity`\u003c/span\u003e block as defined below.\n"},"clusterId":{"type":"string","description":"Specifies the Cluster ID. Changing this forces a new Kubernetes Cluster Extension to be created.\n","willReplaceOnChanges":true},"configurationProtectedSettings":{"type":"object","additionalProperties":{"type":"string"},"description":"Configuration settings that are sensitive, as name-value pairs for configuring this extension.\n"},"configurationSettings":{"type":"object","additionalProperties":{"type":"string"},"description":"Configuration settings, as name-value pairs for configuring this extension.\n"},"currentVersion":{"type":"string","description":"The current version of the extension.\n"},"extensionType":{"type":"string","description":"Specifies the type of extension. It must be one of the extension types registered with Microsoft.KubernetesConfiguration by the Extension publisher. For more information, please refer to [Available Extensions for AKS](https://learn.microsoft.com/en-us/azure/aks/cluster-extensions?tabs=azure-cli#currently-available-extensions). Changing this forces a new Kubernetes Cluster Extension to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name which should be used for this Kubernetes Cluster Extension. Changing this forces a new Kubernetes Cluster Extension to be created.\n","willReplaceOnChanges":true},"plan":{"$ref":"#/types/azure:containerservice/KubernetesClusterExtensionPlan:KubernetesClusterExtensionPlan","description":"A \u003cspan pulumi-lang-nodejs=\"`plan`\" pulumi-lang-dotnet=\"`Plan`\" pulumi-lang-go=\"`plan`\" pulumi-lang-python=\"`plan`\" pulumi-lang-yaml=\"`plan`\" pulumi-lang-java=\"`plan`\"\u003e`plan`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"releaseNamespace":{"type":"string","description":"Namespace where the extension release must be placed for a cluster scoped extension. If this namespace does not exist, it will be created. Changing this forces a new Kubernetes Cluster Extension to be created.\n","willReplaceOnChanges":true},"releaseTrain":{"type":"string","description":"The release train used by this extension. Possible values include but are not limited to `Stable`, `Preview`. Changing this forces a new Kubernetes Cluster Extension to be created.\n","willReplaceOnChanges":true},"targetNamespace":{"type":"string","description":"Namespace where the extension will be created for a namespace scoped extension. If this namespace does not exist, it will be created. Changing this forces a new Kubernetes Cluster Extension to be created.\n","willReplaceOnChanges":true},"version":{"type":"string","description":"User-specified version that the extension should pin to. If it is not set, Azure will use the latest version and auto upgrade it. Changing this forces a new Kubernetes Cluster Extension to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:containerservice/kubernetesClusterNodePool:KubernetesClusterNodePool":{"description":"Manages a Node Pool within a Kubernetes Cluster\n\n\u003e **NOTE:** Multiple Node Pools are only supported when the Kubernetes Cluster is using Virtual Machine Scale Sets.\n\n\u003e **Note:** Changing certain properties is done by cycling the node pool. When cycling it, it doesn’t perform cordon and drain, and it will disrupt rescheduling pods currently running on the previous node pool. \u003cspan pulumi-lang-nodejs=\"`temporaryNameForRotation`\" pulumi-lang-dotnet=\"`TemporaryNameForRotation`\" pulumi-lang-go=\"`temporaryNameForRotation`\" pulumi-lang-python=\"`temporary_name_for_rotation`\" pulumi-lang-yaml=\"`temporaryNameForRotation`\" pulumi-lang-java=\"`temporaryNameForRotation`\"\u003e`temporary_name_for_rotation`\u003c/span\u003e must be specified when changing any of the following properties: \u003cspan pulumi-lang-nodejs=\"`fipsEnabled`\" pulumi-lang-dotnet=\"`FipsEnabled`\" pulumi-lang-go=\"`fipsEnabled`\" pulumi-lang-python=\"`fips_enabled`\" pulumi-lang-yaml=\"`fipsEnabled`\" pulumi-lang-java=\"`fipsEnabled`\"\u003e`fips_enabled`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`hostEncryptionEnabled`\" pulumi-lang-dotnet=\"`HostEncryptionEnabled`\" pulumi-lang-go=\"`hostEncryptionEnabled`\" pulumi-lang-python=\"`host_encryption_enabled`\" pulumi-lang-yaml=\"`hostEncryptionEnabled`\" pulumi-lang-java=\"`hostEncryptionEnabled`\"\u003e`host_encryption_enabled`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`kubeletConfig`\" pulumi-lang-dotnet=\"`KubeletConfig`\" pulumi-lang-go=\"`kubeletConfig`\" pulumi-lang-python=\"`kubelet_config`\" pulumi-lang-yaml=\"`kubeletConfig`\" pulumi-lang-java=\"`kubeletConfig`\"\u003e`kubelet_config`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`kubeletDiskType`\" pulumi-lang-dotnet=\"`KubeletDiskType`\" pulumi-lang-go=\"`kubeletDiskType`\" pulumi-lang-python=\"`kubelet_disk_type`\" pulumi-lang-yaml=\"`kubeletDiskType`\" pulumi-lang-java=\"`kubeletDiskType`\"\u003e`kubelet_disk_type`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`linuxOsConfig`\" pulumi-lang-dotnet=\"`LinuxOsConfig`\" pulumi-lang-go=\"`linuxOsConfig`\" pulumi-lang-python=\"`linux_os_config`\" pulumi-lang-yaml=\"`linuxOsConfig`\" pulumi-lang-java=\"`linuxOsConfig`\"\u003e`linux_os_config`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`maxPods`\" pulumi-lang-dotnet=\"`MaxPods`\" pulumi-lang-go=\"`maxPods`\" pulumi-lang-python=\"`max_pods`\" pulumi-lang-yaml=\"`maxPods`\" pulumi-lang-java=\"`maxPods`\"\u003e`max_pods`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`nodePublicIpEnabled`\" pulumi-lang-dotnet=\"`NodePublicIpEnabled`\" pulumi-lang-go=\"`nodePublicIpEnabled`\" pulumi-lang-python=\"`node_public_ip_enabled`\" pulumi-lang-yaml=\"`nodePublicIpEnabled`\" pulumi-lang-java=\"`nodePublicIpEnabled`\"\u003e`node_public_ip_enabled`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`osDiskSizeGb`\" pulumi-lang-dotnet=\"`OsDiskSizeGb`\" pulumi-lang-go=\"`osDiskSizeGb`\" pulumi-lang-python=\"`os_disk_size_gb`\" pulumi-lang-yaml=\"`osDiskSizeGb`\" pulumi-lang-java=\"`osDiskSizeGb`\"\u003e`os_disk_size_gb`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`osDiskType`\" pulumi-lang-dotnet=\"`OsDiskType`\" pulumi-lang-go=\"`osDiskType`\" pulumi-lang-python=\"`os_disk_type`\" pulumi-lang-yaml=\"`osDiskType`\" pulumi-lang-java=\"`osDiskType`\"\u003e`os_disk_type`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`podSubnetId`\" pulumi-lang-dotnet=\"`PodSubnetId`\" pulumi-lang-go=\"`podSubnetId`\" pulumi-lang-python=\"`pod_subnet_id`\" pulumi-lang-yaml=\"`podSubnetId`\" pulumi-lang-java=\"`podSubnetId`\"\u003e`pod_subnet_id`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`snapshotId`\" pulumi-lang-dotnet=\"`SnapshotId`\" pulumi-lang-go=\"`snapshotId`\" pulumi-lang-python=\"`snapshot_id`\" pulumi-lang-yaml=\"`snapshotId`\" pulumi-lang-java=\"`snapshotId`\"\u003e`snapshot_id`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`ultraSsdEnabled`\" pulumi-lang-dotnet=\"`UltraSsdEnabled`\" pulumi-lang-go=\"`ultraSsdEnabled`\" pulumi-lang-python=\"`ultra_ssd_enabled`\" pulumi-lang-yaml=\"`ultraSsdEnabled`\" pulumi-lang-java=\"`ultraSsdEnabled`\"\u003e`ultra_ssd_enabled`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`vmSize`\" pulumi-lang-dotnet=\"`VmSize`\" pulumi-lang-go=\"`vmSize`\" pulumi-lang-python=\"`vm_size`\" pulumi-lang-yaml=\"`vmSize`\" pulumi-lang-java=\"`vmSize`\"\u003e`vm_size`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`vnetSubnetId`\" pulumi-lang-dotnet=\"`VnetSubnetId`\" pulumi-lang-go=\"`vnetSubnetId`\" pulumi-lang-python=\"`vnet_subnet_id`\" pulumi-lang-yaml=\"`vnetSubnetId`\" pulumi-lang-java=\"`vnetSubnetId`\"\u003e`vnet_subnet_id`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`zones`\" pulumi-lang-dotnet=\"`Zones`\" pulumi-lang-go=\"`zones`\" pulumi-lang-python=\"`zones`\" pulumi-lang-yaml=\"`zones`\" pulumi-lang-java=\"`zones`\"\u003e`zones`\u003c/span\u003e.\n\n## Example Usage\n\nThis example provisions a basic Kubernetes Node Pool.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleKubernetesCluster = new azure.containerservice.KubernetesCluster(\"example\", {\n    name: \"example-aks1\",\n    location: example.location,\n    resourceGroupName: example.name,\n    dnsPrefix: \"exampleaks1\",\n    defaultNodePool: {\n        name: \"default\",\n        nodeCount: 1,\n        vmSize: \"Standard_D2_v2\",\n    },\n    servicePrincipal: {\n        clientId: \"00000000-0000-0000-0000-000000000000\",\n        clientSecret: \"00000000000000000000000000000000\",\n    },\n});\nconst exampleKubernetesClusterNodePool = new azure.containerservice.KubernetesClusterNodePool(\"example\", {\n    name: \"internal\",\n    kubernetesClusterId: exampleKubernetesCluster.id,\n    vmSize: \"Standard_DS2_v2\",\n    nodeCount: 1,\n    tags: {\n        Environment: \"Production\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_kubernetes_cluster = azure.containerservice.KubernetesCluster(\"example\",\n    name=\"example-aks1\",\n    location=example.location,\n    resource_group_name=example.name,\n    dns_prefix=\"exampleaks1\",\n    default_node_pool={\n        \"name\": \"default\",\n        \"node_count\": 1,\n        \"vm_size\": \"Standard_D2_v2\",\n    },\n    service_principal={\n        \"client_id\": \"00000000-0000-0000-0000-000000000000\",\n        \"client_secret\": \"00000000000000000000000000000000\",\n    })\nexample_kubernetes_cluster_node_pool = azure.containerservice.KubernetesClusterNodePool(\"example\",\n    name=\"internal\",\n    kubernetes_cluster_id=example_kubernetes_cluster.id,\n    vm_size=\"Standard_DS2_v2\",\n    node_count=1,\n    tags={\n        \"Environment\": \"Production\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleKubernetesCluster = new Azure.ContainerService.KubernetesCluster(\"example\", new()\n    {\n        Name = \"example-aks1\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        DnsPrefix = \"exampleaks1\",\n        DefaultNodePool = new Azure.ContainerService.Inputs.KubernetesClusterDefaultNodePoolArgs\n        {\n            Name = \"default\",\n            NodeCount = 1,\n            VmSize = \"Standard_D2_v2\",\n        },\n        ServicePrincipal = new Azure.ContainerService.Inputs.KubernetesClusterServicePrincipalArgs\n        {\n            ClientId = \"00000000-0000-0000-0000-000000000000\",\n            ClientSecret = \"00000000000000000000000000000000\",\n        },\n    });\n\n    var exampleKubernetesClusterNodePool = new Azure.ContainerService.KubernetesClusterNodePool(\"example\", new()\n    {\n        Name = \"internal\",\n        KubernetesClusterId = exampleKubernetesCluster.Id,\n        VmSize = \"Standard_DS2_v2\",\n        NodeCount = 1,\n        Tags = \n        {\n            { \"Environment\", \"Production\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/containerservice\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleKubernetesCluster, err := containerservice.NewKubernetesCluster(ctx, \"example\", \u0026containerservice.KubernetesClusterArgs{\n\t\t\tName:              pulumi.String(\"example-aks1\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tDnsPrefix:         pulumi.String(\"exampleaks1\"),\n\t\t\tDefaultNodePool: \u0026containerservice.KubernetesClusterDefaultNodePoolArgs{\n\t\t\t\tName:      pulumi.String(\"default\"),\n\t\t\t\tNodeCount: pulumi.Int(1),\n\t\t\t\tVmSize:    pulumi.String(\"Standard_D2_v2\"),\n\t\t\t},\n\t\t\tServicePrincipal: \u0026containerservice.KubernetesClusterServicePrincipalArgs{\n\t\t\t\tClientId:     pulumi.String(\"00000000-0000-0000-0000-000000000000\"),\n\t\t\t\tClientSecret: pulumi.String(\"00000000000000000000000000000000\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = containerservice.NewKubernetesClusterNodePool(ctx, \"example\", \u0026containerservice.KubernetesClusterNodePoolArgs{\n\t\t\tName:                pulumi.String(\"internal\"),\n\t\t\tKubernetesClusterId: exampleKubernetesCluster.ID(),\n\t\t\tVmSize:              pulumi.String(\"Standard_DS2_v2\"),\n\t\t\tNodeCount:           pulumi.Int(1),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Environment\": pulumi.String(\"Production\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.containerservice.KubernetesCluster;\nimport com.pulumi.azure.containerservice.KubernetesClusterArgs;\nimport com.pulumi.azure.containerservice.inputs.KubernetesClusterDefaultNodePoolArgs;\nimport com.pulumi.azure.containerservice.inputs.KubernetesClusterServicePrincipalArgs;\nimport com.pulumi.azure.containerservice.KubernetesClusterNodePool;\nimport com.pulumi.azure.containerservice.KubernetesClusterNodePoolArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleKubernetesCluster = new KubernetesCluster(\"exampleKubernetesCluster\", KubernetesClusterArgs.builder()\n            .name(\"example-aks1\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .dnsPrefix(\"exampleaks1\")\n            .defaultNodePool(KubernetesClusterDefaultNodePoolArgs.builder()\n                .name(\"default\")\n                .nodeCount(1)\n                .vmSize(\"Standard_D2_v2\")\n                .build())\n            .servicePrincipal(KubernetesClusterServicePrincipalArgs.builder()\n                .clientId(\"00000000-0000-0000-0000-000000000000\")\n                .clientSecret(\"00000000000000000000000000000000\")\n                .build())\n            .build());\n\n        var exampleKubernetesClusterNodePool = new KubernetesClusterNodePool(\"exampleKubernetesClusterNodePool\", KubernetesClusterNodePoolArgs.builder()\n            .name(\"internal\")\n            .kubernetesClusterId(exampleKubernetesCluster.id())\n            .vmSize(\"Standard_DS2_v2\")\n            .nodeCount(1)\n            .tags(Map.of(\"Environment\", \"Production\"))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleKubernetesCluster:\n    type: azure:containerservice:KubernetesCluster\n    name: example\n    properties:\n      name: example-aks1\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      dnsPrefix: exampleaks1\n      defaultNodePool:\n        name: default\n        nodeCount: 1\n        vmSize: Standard_D2_v2\n      servicePrincipal:\n        clientId: 00000000-0000-0000-0000-000000000000\n        clientSecret: '00000000000000000000000000000000'\n  exampleKubernetesClusterNodePool:\n    type: azure:containerservice:KubernetesClusterNodePool\n    name: example\n    properties:\n      name: internal\n      kubernetesClusterId: ${exampleKubernetesCluster.id}\n      vmSize: Standard_DS2_v2\n      nodeCount: 1\n      tags:\n        Environment: Production\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.ContainerService` - 2025-07-01\n\n## Import\n\nKubernetes Cluster Node Pools can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:containerservice/kubernetesClusterNodePool:KubernetesClusterNodePool pool1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.ContainerService/managedClusters/cluster1/agentPools/pool1\n```\n\n","properties":{"autoScalingEnabled":{"type":"boolean","description":"Whether to enable [auto-scaler](https://docs.microsoft.com/azure/aks/cluster-autoscaler).\n"},"capacityReservationGroupId":{"type":"string","description":"Specifies the ID of the Capacity Reservation Group where this Node Pool should exist. Changing this forces a new resource to be created.\n"},"evictionPolicy":{"type":"string","description":"The Eviction Policy which should be used for Virtual Machines within the Virtual Machine Scale Set powering this Node Pool. Possible values are `Deallocate` and `Delete`. Changing this forces a new resource to be created.\n\n\u003e **Note:** An Eviction Policy can only be configured when \u003cspan pulumi-lang-nodejs=\"`priority`\" pulumi-lang-dotnet=\"`Priority`\" pulumi-lang-go=\"`priority`\" pulumi-lang-python=\"`priority`\" pulumi-lang-yaml=\"`priority`\" pulumi-lang-java=\"`priority`\"\u003e`priority`\u003c/span\u003e is set to `Spot` and will default to `Delete` unless otherwise specified.\n"},"fipsEnabled":{"type":"boolean","description":"Should the nodes in this Node Pool have Federal Information Processing Standard enabled? Changing this property requires specifying \u003cspan pulumi-lang-nodejs=\"`temporaryNameForRotation`\" pulumi-lang-dotnet=\"`TemporaryNameForRotation`\" pulumi-lang-go=\"`temporaryNameForRotation`\" pulumi-lang-python=\"`temporary_name_for_rotation`\" pulumi-lang-yaml=\"`temporaryNameForRotation`\" pulumi-lang-java=\"`temporaryNameForRotation`\"\u003e`temporary_name_for_rotation`\u003c/span\u003e.\n\n\u003e **Note:** FIPS support is in Public Preview - more information and details on how to opt into the Preview can be found in [this article](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#add-a-fips-enabled-node-pool-preview).\n"},"gpuDriver":{"type":"string","description":"Specifies whether to install the GPU Driver for the nodes. Possible values are `Install` and `None`. Changing this forces a new resource to be created.\n"},"gpuInstance":{"type":"string","description":"Specifies the GPU MIG instance profile for supported GPU VM SKU. The allowed values are `MIG1g`, `MIG2g`, `MIG3g`, `MIG4g` and `MIG7g`. Changing this forces a new resource to be created.\n"},"hostEncryptionEnabled":{"type":"boolean","description":"Should the nodes in this Node Pool have host encryption enabled? Changing this property requires specifying \u003cspan pulumi-lang-nodejs=\"`temporaryNameForRotation`\" pulumi-lang-dotnet=\"`TemporaryNameForRotation`\" pulumi-lang-go=\"`temporaryNameForRotation`\" pulumi-lang-python=\"`temporary_name_for_rotation`\" pulumi-lang-yaml=\"`temporaryNameForRotation`\" pulumi-lang-java=\"`temporaryNameForRotation`\"\u003e`temporary_name_for_rotation`\u003c/span\u003e.\n\n\u003e **NOTE:** Additional fields must be configured depending on the value of this field - see below.\n"},"hostGroupId":{"type":"string","description":"The fully qualified resource ID of the Dedicated Host Group to provision virtual machines from. Changing this forces a new resource to be created.\n"},"kubeletConfig":{"$ref":"#/types/azure:containerservice/KubernetesClusterNodePoolKubeletConfig:KubernetesClusterNodePoolKubeletConfig","description":"A \u003cspan pulumi-lang-nodejs=\"`kubeletConfig`\" pulumi-lang-dotnet=\"`KubeletConfig`\" pulumi-lang-go=\"`kubeletConfig`\" pulumi-lang-python=\"`kubelet_config`\" pulumi-lang-yaml=\"`kubeletConfig`\" pulumi-lang-java=\"`kubeletConfig`\"\u003e`kubelet_config`\u003c/span\u003e block as defined below. Changing this requires specifying \u003cspan pulumi-lang-nodejs=\"`temporaryNameForRotation`\" pulumi-lang-dotnet=\"`TemporaryNameForRotation`\" pulumi-lang-go=\"`temporaryNameForRotation`\" pulumi-lang-python=\"`temporary_name_for_rotation`\" pulumi-lang-yaml=\"`temporaryNameForRotation`\" pulumi-lang-java=\"`temporaryNameForRotation`\"\u003e`temporary_name_for_rotation`\u003c/span\u003e.\n"},"kubeletDiskType":{"type":"string","description":"The type of disk used by kubelet. Possible values are `OS` and `Temporary`. Changing this property requires specifying \u003cspan pulumi-lang-nodejs=\"`temporaryNameForRotation`\" pulumi-lang-dotnet=\"`TemporaryNameForRotation`\" pulumi-lang-go=\"`temporaryNameForRotation`\" pulumi-lang-python=\"`temporary_name_for_rotation`\" pulumi-lang-yaml=\"`temporaryNameForRotation`\" pulumi-lang-java=\"`temporaryNameForRotation`\"\u003e`temporary_name_for_rotation`\u003c/span\u003e.\n"},"kubernetesClusterId":{"type":"string","description":"The ID of the Kubernetes Cluster where this Node Pool should exist. Changing this forces a new resource to be created.\n\n\u003e **NOTE:** The type of Default Node Pool for the Kubernetes Cluster must be `VirtualMachineScaleSets` to attach multiple node pools.\n"},"linuxOsConfig":{"$ref":"#/types/azure:containerservice/KubernetesClusterNodePoolLinuxOsConfig:KubernetesClusterNodePoolLinuxOsConfig","description":"A \u003cspan pulumi-lang-nodejs=\"`linuxOsConfig`\" pulumi-lang-dotnet=\"`LinuxOsConfig`\" pulumi-lang-go=\"`linuxOsConfig`\" pulumi-lang-python=\"`linux_os_config`\" pulumi-lang-yaml=\"`linuxOsConfig`\" pulumi-lang-java=\"`linuxOsConfig`\"\u003e`linux_os_config`\u003c/span\u003e block as defined below. Changing this requires specifying \u003cspan pulumi-lang-nodejs=\"`temporaryNameForRotation`\" pulumi-lang-dotnet=\"`TemporaryNameForRotation`\" pulumi-lang-go=\"`temporaryNameForRotation`\" pulumi-lang-python=\"`temporary_name_for_rotation`\" pulumi-lang-yaml=\"`temporaryNameForRotation`\" pulumi-lang-java=\"`temporaryNameForRotation`\"\u003e`temporary_name_for_rotation`\u003c/span\u003e.\n"},"maxCount":{"type":"integer"},"maxPods":{"type":"integer","description":"The maximum number of pods that can run on each agent. Changing this property requires specifying \u003cspan pulumi-lang-nodejs=\"`temporaryNameForRotation`\" pulumi-lang-dotnet=\"`TemporaryNameForRotation`\" pulumi-lang-go=\"`temporaryNameForRotation`\" pulumi-lang-python=\"`temporary_name_for_rotation`\" pulumi-lang-yaml=\"`temporaryNameForRotation`\" pulumi-lang-java=\"`temporaryNameForRotation`\"\u003e`temporary_name_for_rotation`\u003c/span\u003e.\n"},"minCount":{"type":"integer"},"mode":{"type":"string","description":"Should this Node Pool be used for System or User resources? Possible values are `System` and `User`. Defaults to `User`.\n"},"name":{"type":"string","description":"The name of the Node Pool which should be created within the Kubernetes Cluster. Changing this forces a new resource to be created.\n\n\u003e **NOTE:** A Windows Node Pool cannot have a \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e longer than 6 characters.\n"},"nodeCount":{"type":"integer"},"nodeLabels":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of Kubernetes labels which should be applied to nodes in this Node Pool.\n"},"nodeNetworkProfile":{"$ref":"#/types/azure:containerservice/KubernetesClusterNodePoolNodeNetworkProfile:KubernetesClusterNodePoolNodeNetworkProfile","description":"A \u003cspan pulumi-lang-nodejs=\"`nodeNetworkProfile`\" pulumi-lang-dotnet=\"`NodeNetworkProfile`\" pulumi-lang-go=\"`nodeNetworkProfile`\" pulumi-lang-python=\"`node_network_profile`\" pulumi-lang-yaml=\"`nodeNetworkProfile`\" pulumi-lang-java=\"`nodeNetworkProfile`\"\u003e`node_network_profile`\u003c/span\u003e block as documented below.\n"},"nodePublicIpEnabled":{"type":"boolean","description":"Should each node have a Public IP Address? Changing this property requires specifying \u003cspan pulumi-lang-nodejs=\"`temporaryNameForRotation`\" pulumi-lang-dotnet=\"`TemporaryNameForRotation`\" pulumi-lang-go=\"`temporaryNameForRotation`\" pulumi-lang-python=\"`temporary_name_for_rotation`\" pulumi-lang-yaml=\"`temporaryNameForRotation`\" pulumi-lang-java=\"`temporaryNameForRotation`\"\u003e`temporary_name_for_rotation`\u003c/span\u003e.\n"},"nodePublicIpPrefixId":{"type":"string","description":"Resource ID for the Public IP Addresses Prefix for the nodes in this Node Pool. \u003cspan pulumi-lang-nodejs=\"`nodePublicIpEnabled`\" pulumi-lang-dotnet=\"`NodePublicIpEnabled`\" pulumi-lang-go=\"`nodePublicIpEnabled`\" pulumi-lang-python=\"`node_public_ip_enabled`\" pulumi-lang-yaml=\"`nodePublicIpEnabled`\" pulumi-lang-java=\"`nodePublicIpEnabled`\"\u003e`node_public_ip_enabled`\u003c/span\u003e should be \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e. Changing this forces a new resource to be created.\n"},"nodeTaints":{"type":"array","items":{"type":"string"},"description":"A list of Kubernetes taints which should be applied to nodes in the agent pool (e.g `key=value:NoSchedule`).\n"},"orchestratorVersion":{"type":"string","description":"Version of Kubernetes used for the Agents. If not specified, the latest recommended version will be used at provisioning time (but won't auto-upgrade). AKS does not require an exact patch version to be specified, minor version aliases such as `1.22` are also supported. - The minor version's latest GA patch is automatically chosen in that case. More details can be found in [the documentation](https://docs.microsoft.com/en-us/azure/aks/supported-kubernetes-versions?tabs=azure-cli#alias-minor-version).\n\n\u003e **Note:** This version must be supported by the Kubernetes Cluster - as such the version of Kubernetes used on the Cluster/Control Plane may need to be upgraded first.\n"},"osDiskSizeGb":{"type":"integer","description":"The Agent Operating System disk size in GB. Changing this property requires specifying \u003cspan pulumi-lang-nodejs=\"`temporaryNameForRotation`\" pulumi-lang-dotnet=\"`TemporaryNameForRotation`\" pulumi-lang-go=\"`temporaryNameForRotation`\" pulumi-lang-python=\"`temporary_name_for_rotation`\" pulumi-lang-yaml=\"`temporaryNameForRotation`\" pulumi-lang-java=\"`temporaryNameForRotation`\"\u003e`temporary_name_for_rotation`\u003c/span\u003e.\n"},"osDiskType":{"type":"string","description":"The type of disk which should be used for the Operating System. Possible values are `Ephemeral` and `Managed`. Defaults to `Managed`. Changing this property requires specifying \u003cspan pulumi-lang-nodejs=\"`temporaryNameForRotation`\" pulumi-lang-dotnet=\"`TemporaryNameForRotation`\" pulumi-lang-go=\"`temporaryNameForRotation`\" pulumi-lang-python=\"`temporary_name_for_rotation`\" pulumi-lang-yaml=\"`temporaryNameForRotation`\" pulumi-lang-java=\"`temporaryNameForRotation`\"\u003e`temporary_name_for_rotation`\u003c/span\u003e.\n"},"osSku":{"type":"string","description":"Specifies the OS SKU used by the agent pool. Possible values are `AzureLinux`, `AzureLinux3`, `Ubuntu`, `Ubuntu2204`, `Windows2019` and `Windows2022`. If not specified, the default is `Ubuntu` when os_type=Linux or `Windows2019` if os_type=Windows (`Windows2022` Kubernetes ≥1.33). Changing between `AzureLinux` and `Ubuntu` does not replace the resource; any other change forces a new resource to be created.\n\n\u003e **Note:** `Windows2019` is deprecated and not supported for Kubernetes version ≥1.33.\n"},"osType":{"type":"string","description":"The Operating System which should be used for this Node Pool. Changing this forces a new resource to be created. Possible values are `Linux` and `Windows`. Defaults to `Linux`.\n"},"podSubnetId":{"type":"string","description":"The ID of the Subnet where the pods in the Node Pool should exist. Changing this property requires specifying \u003cspan pulumi-lang-nodejs=\"`temporaryNameForRotation`\" pulumi-lang-dotnet=\"`TemporaryNameForRotation`\" pulumi-lang-go=\"`temporaryNameForRotation`\" pulumi-lang-python=\"`temporary_name_for_rotation`\" pulumi-lang-yaml=\"`temporaryNameForRotation`\" pulumi-lang-java=\"`temporaryNameForRotation`\"\u003e`temporary_name_for_rotation`\u003c/span\u003e.\n"},"priority":{"type":"string","description":"The Priority for Virtual Machines within the Virtual Machine Scale Set that powers this Node Pool. Possible values are `Regular` and `Spot`. Defaults to `Regular`. Changing this forces a new resource to be created.\n"},"proximityPlacementGroupId":{"type":"string","description":"The ID of the Proximity Placement Group where the Virtual Machine Scale Set that powers this Node Pool will be placed. Changing this forces a new resource to be created.\n\n\u003e **Note:** When setting \u003cspan pulumi-lang-nodejs=\"`priority`\" pulumi-lang-dotnet=\"`Priority`\" pulumi-lang-go=\"`priority`\" pulumi-lang-python=\"`priority`\" pulumi-lang-yaml=\"`priority`\" pulumi-lang-java=\"`priority`\"\u003e`priority`\u003c/span\u003e to Spot - you must configure an \u003cspan pulumi-lang-nodejs=\"`evictionPolicy`\" pulumi-lang-dotnet=\"`EvictionPolicy`\" pulumi-lang-go=\"`evictionPolicy`\" pulumi-lang-python=\"`eviction_policy`\" pulumi-lang-yaml=\"`evictionPolicy`\" pulumi-lang-java=\"`evictionPolicy`\"\u003e`eviction_policy`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`spotMaxPrice`\" pulumi-lang-dotnet=\"`SpotMaxPrice`\" pulumi-lang-go=\"`spotMaxPrice`\" pulumi-lang-python=\"`spot_max_price`\" pulumi-lang-yaml=\"`spotMaxPrice`\" pulumi-lang-java=\"`spotMaxPrice`\"\u003e`spot_max_price`\u003c/span\u003e and add the applicable \u003cspan pulumi-lang-nodejs=\"`nodeLabels`\" pulumi-lang-dotnet=\"`NodeLabels`\" pulumi-lang-go=\"`nodeLabels`\" pulumi-lang-python=\"`node_labels`\" pulumi-lang-yaml=\"`nodeLabels`\" pulumi-lang-java=\"`nodeLabels`\"\u003e`node_labels`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`nodeTaints`\" pulumi-lang-dotnet=\"`NodeTaints`\" pulumi-lang-go=\"`nodeTaints`\" pulumi-lang-python=\"`node_taints`\" pulumi-lang-yaml=\"`nodeTaints`\" pulumi-lang-java=\"`nodeTaints`\"\u003e`node_taints`\u003c/span\u003e [as per the Azure Documentation](https://docs.microsoft.com/azure/aks/spot-node-pool).\n"},"scaleDownMode":{"type":"string","description":"Specifies how the node pool should deal with scaled-down nodes. Allowed values are `Delete` and `Deallocate`. Defaults to `Delete`.\n"},"snapshotId":{"type":"string","description":"The ID of the Snapshot which should be used to create this Node Pool. Changing this property requires specifying \u003cspan pulumi-lang-nodejs=\"`temporaryNameForRotation`\" pulumi-lang-dotnet=\"`TemporaryNameForRotation`\" pulumi-lang-go=\"`temporaryNameForRotation`\" pulumi-lang-python=\"`temporary_name_for_rotation`\" pulumi-lang-yaml=\"`temporaryNameForRotation`\" pulumi-lang-java=\"`temporaryNameForRotation`\"\u003e`temporary_name_for_rotation`\u003c/span\u003e.\n"},"spotMaxPrice":{"type":"number","description":"The maximum price you're willing to pay in USD per Virtual Machine. Valid values are `-1` (the current on-demand price for a Virtual Machine) or a positive value with up to five decimal places. Changing this forces a new resource to be created.\n\n\u003e **Note:** This field can only be configured when \u003cspan pulumi-lang-nodejs=\"`priority`\" pulumi-lang-dotnet=\"`Priority`\" pulumi-lang-go=\"`priority`\" pulumi-lang-python=\"`priority`\" pulumi-lang-yaml=\"`priority`\" pulumi-lang-java=\"`priority`\"\u003e`priority`\u003c/span\u003e is set to `Spot`.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n\n\u003e At this time there's a bug in the AKS API where Tags for a Node Pool are not stored in the correct case - you may wish to use [`ignoreChanges`](https://www.pulumi.com/docs/intro/concepts/programming-model/#ignorechanges) functionality to ignore changes to the casing until this is fixed in the AKS API.\n"},"temporaryNameForRotation":{"type":"string","description":"Specifies the name of the temporary node pool used to cycle the node pool when one of the relevant properties are updated.\n"},"ultraSsdEnabled":{"type":"boolean","description":"Used to specify whether the UltraSSD is enabled in the Node Pool. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. See [the documentation](https://docs.microsoft.com/azure/aks/use-ultra-disks) for more information. Changing this property requires specifying \u003cspan pulumi-lang-nodejs=\"`temporaryNameForRotation`\" pulumi-lang-dotnet=\"`TemporaryNameForRotation`\" pulumi-lang-go=\"`temporaryNameForRotation`\" pulumi-lang-python=\"`temporary_name_for_rotation`\" pulumi-lang-yaml=\"`temporaryNameForRotation`\" pulumi-lang-java=\"`temporaryNameForRotation`\"\u003e`temporary_name_for_rotation`\u003c/span\u003e.\n"},"upgradeSettings":{"$ref":"#/types/azure:containerservice/KubernetesClusterNodePoolUpgradeSettings:KubernetesClusterNodePoolUpgradeSettings","description":"A \u003cspan pulumi-lang-nodejs=\"`upgradeSettings`\" pulumi-lang-dotnet=\"`UpgradeSettings`\" pulumi-lang-go=\"`upgradeSettings`\" pulumi-lang-python=\"`upgrade_settings`\" pulumi-lang-yaml=\"`upgradeSettings`\" pulumi-lang-java=\"`upgradeSettings`\"\u003e`upgrade_settings`\u003c/span\u003e block as documented below.\n"},"vmSize":{"type":"string","description":"The SKU which should be used for the Virtual Machines used in this Node Pool. Changing this property requires specifying \u003cspan pulumi-lang-nodejs=\"`temporaryNameForRotation`\" pulumi-lang-dotnet=\"`TemporaryNameForRotation`\" pulumi-lang-go=\"`temporaryNameForRotation`\" pulumi-lang-python=\"`temporary_name_for_rotation`\" pulumi-lang-yaml=\"`temporaryNameForRotation`\" pulumi-lang-java=\"`temporaryNameForRotation`\"\u003e`temporary_name_for_rotation`\u003c/span\u003e.\n"},"vnetSubnetId":{"type":"string","description":"The ID of the Subnet where this Node Pool should exist. Changing this property requires specifying \u003cspan pulumi-lang-nodejs=\"`temporaryNameForRotation`\" pulumi-lang-dotnet=\"`TemporaryNameForRotation`\" pulumi-lang-go=\"`temporaryNameForRotation`\" pulumi-lang-python=\"`temporary_name_for_rotation`\" pulumi-lang-yaml=\"`temporaryNameForRotation`\" pulumi-lang-java=\"`temporaryNameForRotation`\"\u003e`temporary_name_for_rotation`\u003c/span\u003e.\n\n\u003e **NOTE:** A route table must be configured on this Subnet.\n"},"windowsProfile":{"$ref":"#/types/azure:containerservice/KubernetesClusterNodePoolWindowsProfile:KubernetesClusterNodePoolWindowsProfile","description":"A \u003cspan pulumi-lang-nodejs=\"`windowsProfile`\" pulumi-lang-dotnet=\"`WindowsProfile`\" pulumi-lang-go=\"`windowsProfile`\" pulumi-lang-python=\"`windows_profile`\" pulumi-lang-yaml=\"`windowsProfile`\" pulumi-lang-java=\"`windowsProfile`\"\u003e`windows_profile`\u003c/span\u003e block as documented below. Changing this forces a new resource to be created.\n"},"workloadRuntime":{"type":"string","description":"Used to specify the workload runtime. Allowed values are `OCIContainer` and `WasmWasi`.\n\n\u003e **Note:** WebAssembly System Interface node pools are in Public Preview - more information and details on how to opt into the preview can be found in [this article](https://docs.microsoft.com/azure/aks/use-wasi-node-pools)\n"},"zones":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Availability Zones in which this Kubernetes Cluster Node Pool should be located. Changing this property requires specifying \u003cspan pulumi-lang-nodejs=\"`temporaryNameForRotation`\" pulumi-lang-dotnet=\"`TemporaryNameForRotation`\" pulumi-lang-go=\"`temporaryNameForRotation`\" pulumi-lang-python=\"`temporary_name_for_rotation`\" pulumi-lang-yaml=\"`temporaryNameForRotation`\" pulumi-lang-java=\"`temporaryNameForRotation`\"\u003e`temporary_name_for_rotation`\u003c/span\u003e.\n"}},"required":["kubeletDiskType","kubernetesClusterId","maxPods","name","nodeCount","nodeLabels","orchestratorVersion","osDiskSizeGb","osSku","vmSize"],"inputProperties":{"autoScalingEnabled":{"type":"boolean","description":"Whether to enable [auto-scaler](https://docs.microsoft.com/azure/aks/cluster-autoscaler).\n"},"capacityReservationGroupId":{"type":"string","description":"Specifies the ID of the Capacity Reservation Group where this Node Pool should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"evictionPolicy":{"type":"string","description":"The Eviction Policy which should be used for Virtual Machines within the Virtual Machine Scale Set powering this Node Pool. Possible values are `Deallocate` and `Delete`. Changing this forces a new resource to be created.\n\n\u003e **Note:** An Eviction Policy can only be configured when \u003cspan pulumi-lang-nodejs=\"`priority`\" pulumi-lang-dotnet=\"`Priority`\" pulumi-lang-go=\"`priority`\" pulumi-lang-python=\"`priority`\" pulumi-lang-yaml=\"`priority`\" pulumi-lang-java=\"`priority`\"\u003e`priority`\u003c/span\u003e is set to `Spot` and will default to `Delete` unless otherwise specified.\n","willReplaceOnChanges":true},"fipsEnabled":{"type":"boolean","description":"Should the nodes in this Node Pool have Federal Information Processing Standard enabled? Changing this property requires specifying \u003cspan pulumi-lang-nodejs=\"`temporaryNameForRotation`\" pulumi-lang-dotnet=\"`TemporaryNameForRotation`\" pulumi-lang-go=\"`temporaryNameForRotation`\" pulumi-lang-python=\"`temporary_name_for_rotation`\" pulumi-lang-yaml=\"`temporaryNameForRotation`\" pulumi-lang-java=\"`temporaryNameForRotation`\"\u003e`temporary_name_for_rotation`\u003c/span\u003e.\n\n\u003e **Note:** FIPS support is in Public Preview - more information and details on how to opt into the Preview can be found in [this article](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#add-a-fips-enabled-node-pool-preview).\n"},"gpuDriver":{"type":"string","description":"Specifies whether to install the GPU Driver for the nodes. Possible values are `Install` and `None`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"gpuInstance":{"type":"string","description":"Specifies the GPU MIG instance profile for supported GPU VM SKU. The allowed values are `MIG1g`, `MIG2g`, `MIG3g`, `MIG4g` and `MIG7g`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"hostEncryptionEnabled":{"type":"boolean","description":"Should the nodes in this Node Pool have host encryption enabled? Changing this property requires specifying \u003cspan pulumi-lang-nodejs=\"`temporaryNameForRotation`\" pulumi-lang-dotnet=\"`TemporaryNameForRotation`\" pulumi-lang-go=\"`temporaryNameForRotation`\" pulumi-lang-python=\"`temporary_name_for_rotation`\" pulumi-lang-yaml=\"`temporaryNameForRotation`\" pulumi-lang-java=\"`temporaryNameForRotation`\"\u003e`temporary_name_for_rotation`\u003c/span\u003e.\n\n\u003e **NOTE:** Additional fields must be configured depending on the value of this field - see below.\n"},"hostGroupId":{"type":"string","description":"The fully qualified resource ID of the Dedicated Host Group to provision virtual machines from. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"kubeletConfig":{"$ref":"#/types/azure:containerservice/KubernetesClusterNodePoolKubeletConfig:KubernetesClusterNodePoolKubeletConfig","description":"A \u003cspan pulumi-lang-nodejs=\"`kubeletConfig`\" pulumi-lang-dotnet=\"`KubeletConfig`\" pulumi-lang-go=\"`kubeletConfig`\" pulumi-lang-python=\"`kubelet_config`\" pulumi-lang-yaml=\"`kubeletConfig`\" pulumi-lang-java=\"`kubeletConfig`\"\u003e`kubelet_config`\u003c/span\u003e block as defined below. Changing this requires specifying \u003cspan pulumi-lang-nodejs=\"`temporaryNameForRotation`\" pulumi-lang-dotnet=\"`TemporaryNameForRotation`\" pulumi-lang-go=\"`temporaryNameForRotation`\" pulumi-lang-python=\"`temporary_name_for_rotation`\" pulumi-lang-yaml=\"`temporaryNameForRotation`\" pulumi-lang-java=\"`temporaryNameForRotation`\"\u003e`temporary_name_for_rotation`\u003c/span\u003e.\n"},"kubeletDiskType":{"type":"string","description":"The type of disk used by kubelet. Possible values are `OS` and `Temporary`. Changing this property requires specifying \u003cspan pulumi-lang-nodejs=\"`temporaryNameForRotation`\" pulumi-lang-dotnet=\"`TemporaryNameForRotation`\" pulumi-lang-go=\"`temporaryNameForRotation`\" pulumi-lang-python=\"`temporary_name_for_rotation`\" pulumi-lang-yaml=\"`temporaryNameForRotation`\" pulumi-lang-java=\"`temporaryNameForRotation`\"\u003e`temporary_name_for_rotation`\u003c/span\u003e.\n"},"kubernetesClusterId":{"type":"string","description":"The ID of the Kubernetes Cluster where this Node Pool should exist. Changing this forces a new resource to be created.\n\n\u003e **NOTE:** The type of Default Node Pool for the Kubernetes Cluster must be `VirtualMachineScaleSets` to attach multiple node pools.\n","willReplaceOnChanges":true},"linuxOsConfig":{"$ref":"#/types/azure:containerservice/KubernetesClusterNodePoolLinuxOsConfig:KubernetesClusterNodePoolLinuxOsConfig","description":"A \u003cspan pulumi-lang-nodejs=\"`linuxOsConfig`\" pulumi-lang-dotnet=\"`LinuxOsConfig`\" pulumi-lang-go=\"`linuxOsConfig`\" pulumi-lang-python=\"`linux_os_config`\" pulumi-lang-yaml=\"`linuxOsConfig`\" pulumi-lang-java=\"`linuxOsConfig`\"\u003e`linux_os_config`\u003c/span\u003e block as defined below. Changing this requires specifying \u003cspan pulumi-lang-nodejs=\"`temporaryNameForRotation`\" pulumi-lang-dotnet=\"`TemporaryNameForRotation`\" pulumi-lang-go=\"`temporaryNameForRotation`\" pulumi-lang-python=\"`temporary_name_for_rotation`\" pulumi-lang-yaml=\"`temporaryNameForRotation`\" pulumi-lang-java=\"`temporaryNameForRotation`\"\u003e`temporary_name_for_rotation`\u003c/span\u003e.\n"},"maxCount":{"type":"integer"},"maxPods":{"type":"integer","description":"The maximum number of pods that can run on each agent. Changing this property requires specifying \u003cspan pulumi-lang-nodejs=\"`temporaryNameForRotation`\" pulumi-lang-dotnet=\"`TemporaryNameForRotation`\" pulumi-lang-go=\"`temporaryNameForRotation`\" pulumi-lang-python=\"`temporary_name_for_rotation`\" pulumi-lang-yaml=\"`temporaryNameForRotation`\" pulumi-lang-java=\"`temporaryNameForRotation`\"\u003e`temporary_name_for_rotation`\u003c/span\u003e.\n"},"minCount":{"type":"integer"},"mode":{"type":"string","description":"Should this Node Pool be used for System or User resources? Possible values are `System` and `User`. Defaults to `User`.\n"},"name":{"type":"string","description":"The name of the Node Pool which should be created within the Kubernetes Cluster. Changing this forces a new resource to be created.\n\n\u003e **NOTE:** A Windows Node Pool cannot have a \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e longer than 6 characters.\n","willReplaceOnChanges":true},"nodeCount":{"type":"integer"},"nodeLabels":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of Kubernetes labels which should be applied to nodes in this Node Pool.\n"},"nodeNetworkProfile":{"$ref":"#/types/azure:containerservice/KubernetesClusterNodePoolNodeNetworkProfile:KubernetesClusterNodePoolNodeNetworkProfile","description":"A \u003cspan pulumi-lang-nodejs=\"`nodeNetworkProfile`\" pulumi-lang-dotnet=\"`NodeNetworkProfile`\" pulumi-lang-go=\"`nodeNetworkProfile`\" pulumi-lang-python=\"`node_network_profile`\" pulumi-lang-yaml=\"`nodeNetworkProfile`\" pulumi-lang-java=\"`nodeNetworkProfile`\"\u003e`node_network_profile`\u003c/span\u003e block as documented below.\n"},"nodePublicIpEnabled":{"type":"boolean","description":"Should each node have a Public IP Address? Changing this property requires specifying \u003cspan pulumi-lang-nodejs=\"`temporaryNameForRotation`\" pulumi-lang-dotnet=\"`TemporaryNameForRotation`\" pulumi-lang-go=\"`temporaryNameForRotation`\" pulumi-lang-python=\"`temporary_name_for_rotation`\" pulumi-lang-yaml=\"`temporaryNameForRotation`\" pulumi-lang-java=\"`temporaryNameForRotation`\"\u003e`temporary_name_for_rotation`\u003c/span\u003e.\n"},"nodePublicIpPrefixId":{"type":"string","description":"Resource ID for the Public IP Addresses Prefix for the nodes in this Node Pool. \u003cspan pulumi-lang-nodejs=\"`nodePublicIpEnabled`\" pulumi-lang-dotnet=\"`NodePublicIpEnabled`\" pulumi-lang-go=\"`nodePublicIpEnabled`\" pulumi-lang-python=\"`node_public_ip_enabled`\" pulumi-lang-yaml=\"`nodePublicIpEnabled`\" pulumi-lang-java=\"`nodePublicIpEnabled`\"\u003e`node_public_ip_enabled`\u003c/span\u003e should be \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"nodeTaints":{"type":"array","items":{"type":"string"},"description":"A list of Kubernetes taints which should be applied to nodes in the agent pool (e.g `key=value:NoSchedule`).\n"},"orchestratorVersion":{"type":"string","description":"Version of Kubernetes used for the Agents. If not specified, the latest recommended version will be used at provisioning time (but won't auto-upgrade). AKS does not require an exact patch version to be specified, minor version aliases such as `1.22` are also supported. - The minor version's latest GA patch is automatically chosen in that case. More details can be found in [the documentation](https://docs.microsoft.com/en-us/azure/aks/supported-kubernetes-versions?tabs=azure-cli#alias-minor-version).\n\n\u003e **Note:** This version must be supported by the Kubernetes Cluster - as such the version of Kubernetes used on the Cluster/Control Plane may need to be upgraded first.\n"},"osDiskSizeGb":{"type":"integer","description":"The Agent Operating System disk size in GB. Changing this property requires specifying \u003cspan pulumi-lang-nodejs=\"`temporaryNameForRotation`\" pulumi-lang-dotnet=\"`TemporaryNameForRotation`\" pulumi-lang-go=\"`temporaryNameForRotation`\" pulumi-lang-python=\"`temporary_name_for_rotation`\" pulumi-lang-yaml=\"`temporaryNameForRotation`\" pulumi-lang-java=\"`temporaryNameForRotation`\"\u003e`temporary_name_for_rotation`\u003c/span\u003e.\n"},"osDiskType":{"type":"string","description":"The type of disk which should be used for the Operating System. Possible values are `Ephemeral` and `Managed`. Defaults to `Managed`. Changing this property requires specifying \u003cspan pulumi-lang-nodejs=\"`temporaryNameForRotation`\" pulumi-lang-dotnet=\"`TemporaryNameForRotation`\" pulumi-lang-go=\"`temporaryNameForRotation`\" pulumi-lang-python=\"`temporary_name_for_rotation`\" pulumi-lang-yaml=\"`temporaryNameForRotation`\" pulumi-lang-java=\"`temporaryNameForRotation`\"\u003e`temporary_name_for_rotation`\u003c/span\u003e.\n"},"osSku":{"type":"string","description":"Specifies the OS SKU used by the agent pool. Possible values are `AzureLinux`, `AzureLinux3`, `Ubuntu`, `Ubuntu2204`, `Windows2019` and `Windows2022`. If not specified, the default is `Ubuntu` when os_type=Linux or `Windows2019` if os_type=Windows (`Windows2022` Kubernetes ≥1.33). Changing between `AzureLinux` and `Ubuntu` does not replace the resource; any other change forces a new resource to be created.\n\n\u003e **Note:** `Windows2019` is deprecated and not supported for Kubernetes version ≥1.33.\n"},"osType":{"type":"string","description":"The Operating System which should be used for this Node Pool. Changing this forces a new resource to be created. Possible values are `Linux` and `Windows`. Defaults to `Linux`.\n","willReplaceOnChanges":true},"podSubnetId":{"type":"string","description":"The ID of the Subnet where the pods in the Node Pool should exist. Changing this property requires specifying \u003cspan pulumi-lang-nodejs=\"`temporaryNameForRotation`\" pulumi-lang-dotnet=\"`TemporaryNameForRotation`\" pulumi-lang-go=\"`temporaryNameForRotation`\" pulumi-lang-python=\"`temporary_name_for_rotation`\" pulumi-lang-yaml=\"`temporaryNameForRotation`\" pulumi-lang-java=\"`temporaryNameForRotation`\"\u003e`temporary_name_for_rotation`\u003c/span\u003e.\n"},"priority":{"type":"string","description":"The Priority for Virtual Machines within the Virtual Machine Scale Set that powers this Node Pool. Possible values are `Regular` and `Spot`. Defaults to `Regular`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"proximityPlacementGroupId":{"type":"string","description":"The ID of the Proximity Placement Group where the Virtual Machine Scale Set that powers this Node Pool will be placed. Changing this forces a new resource to be created.\n\n\u003e **Note:** When setting \u003cspan pulumi-lang-nodejs=\"`priority`\" pulumi-lang-dotnet=\"`Priority`\" pulumi-lang-go=\"`priority`\" pulumi-lang-python=\"`priority`\" pulumi-lang-yaml=\"`priority`\" pulumi-lang-java=\"`priority`\"\u003e`priority`\u003c/span\u003e to Spot - you must configure an \u003cspan pulumi-lang-nodejs=\"`evictionPolicy`\" pulumi-lang-dotnet=\"`EvictionPolicy`\" pulumi-lang-go=\"`evictionPolicy`\" pulumi-lang-python=\"`eviction_policy`\" pulumi-lang-yaml=\"`evictionPolicy`\" pulumi-lang-java=\"`evictionPolicy`\"\u003e`eviction_policy`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`spotMaxPrice`\" pulumi-lang-dotnet=\"`SpotMaxPrice`\" pulumi-lang-go=\"`spotMaxPrice`\" pulumi-lang-python=\"`spot_max_price`\" pulumi-lang-yaml=\"`spotMaxPrice`\" pulumi-lang-java=\"`spotMaxPrice`\"\u003e`spot_max_price`\u003c/span\u003e and add the applicable \u003cspan pulumi-lang-nodejs=\"`nodeLabels`\" pulumi-lang-dotnet=\"`NodeLabels`\" pulumi-lang-go=\"`nodeLabels`\" pulumi-lang-python=\"`node_labels`\" pulumi-lang-yaml=\"`nodeLabels`\" pulumi-lang-java=\"`nodeLabels`\"\u003e`node_labels`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`nodeTaints`\" pulumi-lang-dotnet=\"`NodeTaints`\" pulumi-lang-go=\"`nodeTaints`\" pulumi-lang-python=\"`node_taints`\" pulumi-lang-yaml=\"`nodeTaints`\" pulumi-lang-java=\"`nodeTaints`\"\u003e`node_taints`\u003c/span\u003e [as per the Azure Documentation](https://docs.microsoft.com/azure/aks/spot-node-pool).\n","willReplaceOnChanges":true},"scaleDownMode":{"type":"string","description":"Specifies how the node pool should deal with scaled-down nodes. Allowed values are `Delete` and `Deallocate`. Defaults to `Delete`.\n"},"snapshotId":{"type":"string","description":"The ID of the Snapshot which should be used to create this Node Pool. Changing this property requires specifying \u003cspan pulumi-lang-nodejs=\"`temporaryNameForRotation`\" pulumi-lang-dotnet=\"`TemporaryNameForRotation`\" pulumi-lang-go=\"`temporaryNameForRotation`\" pulumi-lang-python=\"`temporary_name_for_rotation`\" pulumi-lang-yaml=\"`temporaryNameForRotation`\" pulumi-lang-java=\"`temporaryNameForRotation`\"\u003e`temporary_name_for_rotation`\u003c/span\u003e.\n"},"spotMaxPrice":{"type":"number","description":"The maximum price you're willing to pay in USD per Virtual Machine. Valid values are `-1` (the current on-demand price for a Virtual Machine) or a positive value with up to five decimal places. Changing this forces a new resource to be created.\n\n\u003e **Note:** This field can only be configured when \u003cspan pulumi-lang-nodejs=\"`priority`\" pulumi-lang-dotnet=\"`Priority`\" pulumi-lang-go=\"`priority`\" pulumi-lang-python=\"`priority`\" pulumi-lang-yaml=\"`priority`\" pulumi-lang-java=\"`priority`\"\u003e`priority`\u003c/span\u003e is set to `Spot`.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n\n\u003e At this time there's a bug in the AKS API where Tags for a Node Pool are not stored in the correct case - you may wish to use [`ignoreChanges`](https://www.pulumi.com/docs/intro/concepts/programming-model/#ignorechanges) functionality to ignore changes to the casing until this is fixed in the AKS API.\n"},"temporaryNameForRotation":{"type":"string","description":"Specifies the name of the temporary node pool used to cycle the node pool when one of the relevant properties are updated.\n"},"ultraSsdEnabled":{"type":"boolean","description":"Used to specify whether the UltraSSD is enabled in the Node Pool. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. See [the documentation](https://docs.microsoft.com/azure/aks/use-ultra-disks) for more information. Changing this property requires specifying \u003cspan pulumi-lang-nodejs=\"`temporaryNameForRotation`\" pulumi-lang-dotnet=\"`TemporaryNameForRotation`\" pulumi-lang-go=\"`temporaryNameForRotation`\" pulumi-lang-python=\"`temporary_name_for_rotation`\" pulumi-lang-yaml=\"`temporaryNameForRotation`\" pulumi-lang-java=\"`temporaryNameForRotation`\"\u003e`temporary_name_for_rotation`\u003c/span\u003e.\n"},"upgradeSettings":{"$ref":"#/types/azure:containerservice/KubernetesClusterNodePoolUpgradeSettings:KubernetesClusterNodePoolUpgradeSettings","description":"A \u003cspan pulumi-lang-nodejs=\"`upgradeSettings`\" pulumi-lang-dotnet=\"`UpgradeSettings`\" pulumi-lang-go=\"`upgradeSettings`\" pulumi-lang-python=\"`upgrade_settings`\" pulumi-lang-yaml=\"`upgradeSettings`\" pulumi-lang-java=\"`upgradeSettings`\"\u003e`upgrade_settings`\u003c/span\u003e block as documented below.\n"},"vmSize":{"type":"string","description":"The SKU which should be used for the Virtual Machines used in this Node Pool. Changing this property requires specifying \u003cspan pulumi-lang-nodejs=\"`temporaryNameForRotation`\" pulumi-lang-dotnet=\"`TemporaryNameForRotation`\" pulumi-lang-go=\"`temporaryNameForRotation`\" pulumi-lang-python=\"`temporary_name_for_rotation`\" pulumi-lang-yaml=\"`temporaryNameForRotation`\" pulumi-lang-java=\"`temporaryNameForRotation`\"\u003e`temporary_name_for_rotation`\u003c/span\u003e.\n"},"vnetSubnetId":{"type":"string","description":"The ID of the Subnet where this Node Pool should exist. Changing this property requires specifying \u003cspan pulumi-lang-nodejs=\"`temporaryNameForRotation`\" pulumi-lang-dotnet=\"`TemporaryNameForRotation`\" pulumi-lang-go=\"`temporaryNameForRotation`\" pulumi-lang-python=\"`temporary_name_for_rotation`\" pulumi-lang-yaml=\"`temporaryNameForRotation`\" pulumi-lang-java=\"`temporaryNameForRotation`\"\u003e`temporary_name_for_rotation`\u003c/span\u003e.\n\n\u003e **NOTE:** A route table must be configured on this Subnet.\n"},"windowsProfile":{"$ref":"#/types/azure:containerservice/KubernetesClusterNodePoolWindowsProfile:KubernetesClusterNodePoolWindowsProfile","description":"A \u003cspan pulumi-lang-nodejs=\"`windowsProfile`\" pulumi-lang-dotnet=\"`WindowsProfile`\" pulumi-lang-go=\"`windowsProfile`\" pulumi-lang-python=\"`windows_profile`\" pulumi-lang-yaml=\"`windowsProfile`\" pulumi-lang-java=\"`windowsProfile`\"\u003e`windows_profile`\u003c/span\u003e block as documented below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"workloadRuntime":{"type":"string","description":"Used to specify the workload runtime. Allowed values are `OCIContainer` and `WasmWasi`.\n\n\u003e **Note:** WebAssembly System Interface node pools are in Public Preview - more information and details on how to opt into the preview can be found in [this article](https://docs.microsoft.com/azure/aks/use-wasi-node-pools)\n"},"zones":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Availability Zones in which this Kubernetes Cluster Node Pool should be located. Changing this property requires specifying \u003cspan pulumi-lang-nodejs=\"`temporaryNameForRotation`\" pulumi-lang-dotnet=\"`TemporaryNameForRotation`\" pulumi-lang-go=\"`temporaryNameForRotation`\" pulumi-lang-python=\"`temporary_name_for_rotation`\" pulumi-lang-yaml=\"`temporaryNameForRotation`\" pulumi-lang-java=\"`temporaryNameForRotation`\"\u003e`temporary_name_for_rotation`\u003c/span\u003e.\n"}},"requiredInputs":["kubernetesClusterId"],"stateInputs":{"description":"Input properties used for looking up and filtering KubernetesClusterNodePool resources.\n","properties":{"autoScalingEnabled":{"type":"boolean","description":"Whether to enable [auto-scaler](https://docs.microsoft.com/azure/aks/cluster-autoscaler).\n"},"capacityReservationGroupId":{"type":"string","description":"Specifies the ID of the Capacity Reservation Group where this Node Pool should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"evictionPolicy":{"type":"string","description":"The Eviction Policy which should be used for Virtual Machines within the Virtual Machine Scale Set powering this Node Pool. Possible values are `Deallocate` and `Delete`. Changing this forces a new resource to be created.\n\n\u003e **Note:** An Eviction Policy can only be configured when \u003cspan pulumi-lang-nodejs=\"`priority`\" pulumi-lang-dotnet=\"`Priority`\" pulumi-lang-go=\"`priority`\" pulumi-lang-python=\"`priority`\" pulumi-lang-yaml=\"`priority`\" pulumi-lang-java=\"`priority`\"\u003e`priority`\u003c/span\u003e is set to `Spot` and will default to `Delete` unless otherwise specified.\n","willReplaceOnChanges":true},"fipsEnabled":{"type":"boolean","description":"Should the nodes in this Node Pool have Federal Information Processing Standard enabled? Changing this property requires specifying \u003cspan pulumi-lang-nodejs=\"`temporaryNameForRotation`\" pulumi-lang-dotnet=\"`TemporaryNameForRotation`\" pulumi-lang-go=\"`temporaryNameForRotation`\" pulumi-lang-python=\"`temporary_name_for_rotation`\" pulumi-lang-yaml=\"`temporaryNameForRotation`\" pulumi-lang-java=\"`temporaryNameForRotation`\"\u003e`temporary_name_for_rotation`\u003c/span\u003e.\n\n\u003e **Note:** FIPS support is in Public Preview - more information and details on how to opt into the Preview can be found in [this article](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#add-a-fips-enabled-node-pool-preview).\n"},"gpuDriver":{"type":"string","description":"Specifies whether to install the GPU Driver for the nodes. Possible values are `Install` and `None`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"gpuInstance":{"type":"string","description":"Specifies the GPU MIG instance profile for supported GPU VM SKU. The allowed values are `MIG1g`, `MIG2g`, `MIG3g`, `MIG4g` and `MIG7g`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"hostEncryptionEnabled":{"type":"boolean","description":"Should the nodes in this Node Pool have host encryption enabled? Changing this property requires specifying \u003cspan pulumi-lang-nodejs=\"`temporaryNameForRotation`\" pulumi-lang-dotnet=\"`TemporaryNameForRotation`\" pulumi-lang-go=\"`temporaryNameForRotation`\" pulumi-lang-python=\"`temporary_name_for_rotation`\" pulumi-lang-yaml=\"`temporaryNameForRotation`\" pulumi-lang-java=\"`temporaryNameForRotation`\"\u003e`temporary_name_for_rotation`\u003c/span\u003e.\n\n\u003e **NOTE:** Additional fields must be configured depending on the value of this field - see below.\n"},"hostGroupId":{"type":"string","description":"The fully qualified resource ID of the Dedicated Host Group to provision virtual machines from. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"kubeletConfig":{"$ref":"#/types/azure:containerservice/KubernetesClusterNodePoolKubeletConfig:KubernetesClusterNodePoolKubeletConfig","description":"A \u003cspan pulumi-lang-nodejs=\"`kubeletConfig`\" pulumi-lang-dotnet=\"`KubeletConfig`\" pulumi-lang-go=\"`kubeletConfig`\" pulumi-lang-python=\"`kubelet_config`\" pulumi-lang-yaml=\"`kubeletConfig`\" pulumi-lang-java=\"`kubeletConfig`\"\u003e`kubelet_config`\u003c/span\u003e block as defined below. Changing this requires specifying \u003cspan pulumi-lang-nodejs=\"`temporaryNameForRotation`\" pulumi-lang-dotnet=\"`TemporaryNameForRotation`\" pulumi-lang-go=\"`temporaryNameForRotation`\" pulumi-lang-python=\"`temporary_name_for_rotation`\" pulumi-lang-yaml=\"`temporaryNameForRotation`\" pulumi-lang-java=\"`temporaryNameForRotation`\"\u003e`temporary_name_for_rotation`\u003c/span\u003e.\n"},"kubeletDiskType":{"type":"string","description":"The type of disk used by kubelet. Possible values are `OS` and `Temporary`. Changing this property requires specifying \u003cspan pulumi-lang-nodejs=\"`temporaryNameForRotation`\" pulumi-lang-dotnet=\"`TemporaryNameForRotation`\" pulumi-lang-go=\"`temporaryNameForRotation`\" pulumi-lang-python=\"`temporary_name_for_rotation`\" pulumi-lang-yaml=\"`temporaryNameForRotation`\" pulumi-lang-java=\"`temporaryNameForRotation`\"\u003e`temporary_name_for_rotation`\u003c/span\u003e.\n"},"kubernetesClusterId":{"type":"string","description":"The ID of the Kubernetes Cluster where this Node Pool should exist. Changing this forces a new resource to be created.\n\n\u003e **NOTE:** The type of Default Node Pool for the Kubernetes Cluster must be `VirtualMachineScaleSets` to attach multiple node pools.\n","willReplaceOnChanges":true},"linuxOsConfig":{"$ref":"#/types/azure:containerservice/KubernetesClusterNodePoolLinuxOsConfig:KubernetesClusterNodePoolLinuxOsConfig","description":"A \u003cspan pulumi-lang-nodejs=\"`linuxOsConfig`\" pulumi-lang-dotnet=\"`LinuxOsConfig`\" pulumi-lang-go=\"`linuxOsConfig`\" pulumi-lang-python=\"`linux_os_config`\" pulumi-lang-yaml=\"`linuxOsConfig`\" pulumi-lang-java=\"`linuxOsConfig`\"\u003e`linux_os_config`\u003c/span\u003e block as defined below. Changing this requires specifying \u003cspan pulumi-lang-nodejs=\"`temporaryNameForRotation`\" pulumi-lang-dotnet=\"`TemporaryNameForRotation`\" pulumi-lang-go=\"`temporaryNameForRotation`\" pulumi-lang-python=\"`temporary_name_for_rotation`\" pulumi-lang-yaml=\"`temporaryNameForRotation`\" pulumi-lang-java=\"`temporaryNameForRotation`\"\u003e`temporary_name_for_rotation`\u003c/span\u003e.\n"},"maxCount":{"type":"integer"},"maxPods":{"type":"integer","description":"The maximum number of pods that can run on each agent. Changing this property requires specifying \u003cspan pulumi-lang-nodejs=\"`temporaryNameForRotation`\" pulumi-lang-dotnet=\"`TemporaryNameForRotation`\" pulumi-lang-go=\"`temporaryNameForRotation`\" pulumi-lang-python=\"`temporary_name_for_rotation`\" pulumi-lang-yaml=\"`temporaryNameForRotation`\" pulumi-lang-java=\"`temporaryNameForRotation`\"\u003e`temporary_name_for_rotation`\u003c/span\u003e.\n"},"minCount":{"type":"integer"},"mode":{"type":"string","description":"Should this Node Pool be used for System or User resources? Possible values are `System` and `User`. Defaults to `User`.\n"},"name":{"type":"string","description":"The name of the Node Pool which should be created within the Kubernetes Cluster. Changing this forces a new resource to be created.\n\n\u003e **NOTE:** A Windows Node Pool cannot have a \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e longer than 6 characters.\n","willReplaceOnChanges":true},"nodeCount":{"type":"integer"},"nodeLabels":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of Kubernetes labels which should be applied to nodes in this Node Pool.\n"},"nodeNetworkProfile":{"$ref":"#/types/azure:containerservice/KubernetesClusterNodePoolNodeNetworkProfile:KubernetesClusterNodePoolNodeNetworkProfile","description":"A \u003cspan pulumi-lang-nodejs=\"`nodeNetworkProfile`\" pulumi-lang-dotnet=\"`NodeNetworkProfile`\" pulumi-lang-go=\"`nodeNetworkProfile`\" pulumi-lang-python=\"`node_network_profile`\" pulumi-lang-yaml=\"`nodeNetworkProfile`\" pulumi-lang-java=\"`nodeNetworkProfile`\"\u003e`node_network_profile`\u003c/span\u003e block as documented below.\n"},"nodePublicIpEnabled":{"type":"boolean","description":"Should each node have a Public IP Address? Changing this property requires specifying \u003cspan pulumi-lang-nodejs=\"`temporaryNameForRotation`\" pulumi-lang-dotnet=\"`TemporaryNameForRotation`\" pulumi-lang-go=\"`temporaryNameForRotation`\" pulumi-lang-python=\"`temporary_name_for_rotation`\" pulumi-lang-yaml=\"`temporaryNameForRotation`\" pulumi-lang-java=\"`temporaryNameForRotation`\"\u003e`temporary_name_for_rotation`\u003c/span\u003e.\n"},"nodePublicIpPrefixId":{"type":"string","description":"Resource ID for the Public IP Addresses Prefix for the nodes in this Node Pool. \u003cspan pulumi-lang-nodejs=\"`nodePublicIpEnabled`\" pulumi-lang-dotnet=\"`NodePublicIpEnabled`\" pulumi-lang-go=\"`nodePublicIpEnabled`\" pulumi-lang-python=\"`node_public_ip_enabled`\" pulumi-lang-yaml=\"`nodePublicIpEnabled`\" pulumi-lang-java=\"`nodePublicIpEnabled`\"\u003e`node_public_ip_enabled`\u003c/span\u003e should be \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"nodeTaints":{"type":"array","items":{"type":"string"},"description":"A list of Kubernetes taints which should be applied to nodes in the agent pool (e.g `key=value:NoSchedule`).\n"},"orchestratorVersion":{"type":"string","description":"Version of Kubernetes used for the Agents. If not specified, the latest recommended version will be used at provisioning time (but won't auto-upgrade). AKS does not require an exact patch version to be specified, minor version aliases such as `1.22` are also supported. - The minor version's latest GA patch is automatically chosen in that case. More details can be found in [the documentation](https://docs.microsoft.com/en-us/azure/aks/supported-kubernetes-versions?tabs=azure-cli#alias-minor-version).\n\n\u003e **Note:** This version must be supported by the Kubernetes Cluster - as such the version of Kubernetes used on the Cluster/Control Plane may need to be upgraded first.\n"},"osDiskSizeGb":{"type":"integer","description":"The Agent Operating System disk size in GB. Changing this property requires specifying \u003cspan pulumi-lang-nodejs=\"`temporaryNameForRotation`\" pulumi-lang-dotnet=\"`TemporaryNameForRotation`\" pulumi-lang-go=\"`temporaryNameForRotation`\" pulumi-lang-python=\"`temporary_name_for_rotation`\" pulumi-lang-yaml=\"`temporaryNameForRotation`\" pulumi-lang-java=\"`temporaryNameForRotation`\"\u003e`temporary_name_for_rotation`\u003c/span\u003e.\n"},"osDiskType":{"type":"string","description":"The type of disk which should be used for the Operating System. Possible values are `Ephemeral` and `Managed`. Defaults to `Managed`. Changing this property requires specifying \u003cspan pulumi-lang-nodejs=\"`temporaryNameForRotation`\" pulumi-lang-dotnet=\"`TemporaryNameForRotation`\" pulumi-lang-go=\"`temporaryNameForRotation`\" pulumi-lang-python=\"`temporary_name_for_rotation`\" pulumi-lang-yaml=\"`temporaryNameForRotation`\" pulumi-lang-java=\"`temporaryNameForRotation`\"\u003e`temporary_name_for_rotation`\u003c/span\u003e.\n"},"osSku":{"type":"string","description":"Specifies the OS SKU used by the agent pool. Possible values are `AzureLinux`, `AzureLinux3`, `Ubuntu`, `Ubuntu2204`, `Windows2019` and `Windows2022`. If not specified, the default is `Ubuntu` when os_type=Linux or `Windows2019` if os_type=Windows (`Windows2022` Kubernetes ≥1.33). Changing between `AzureLinux` and `Ubuntu` does not replace the resource; any other change forces a new resource to be created.\n\n\u003e **Note:** `Windows2019` is deprecated and not supported for Kubernetes version ≥1.33.\n"},"osType":{"type":"string","description":"The Operating System which should be used for this Node Pool. Changing this forces a new resource to be created. Possible values are `Linux` and `Windows`. Defaults to `Linux`.\n","willReplaceOnChanges":true},"podSubnetId":{"type":"string","description":"The ID of the Subnet where the pods in the Node Pool should exist. Changing this property requires specifying \u003cspan pulumi-lang-nodejs=\"`temporaryNameForRotation`\" pulumi-lang-dotnet=\"`TemporaryNameForRotation`\" pulumi-lang-go=\"`temporaryNameForRotation`\" pulumi-lang-python=\"`temporary_name_for_rotation`\" pulumi-lang-yaml=\"`temporaryNameForRotation`\" pulumi-lang-java=\"`temporaryNameForRotation`\"\u003e`temporary_name_for_rotation`\u003c/span\u003e.\n"},"priority":{"type":"string","description":"The Priority for Virtual Machines within the Virtual Machine Scale Set that powers this Node Pool. Possible values are `Regular` and `Spot`. Defaults to `Regular`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"proximityPlacementGroupId":{"type":"string","description":"The ID of the Proximity Placement Group where the Virtual Machine Scale Set that powers this Node Pool will be placed. Changing this forces a new resource to be created.\n\n\u003e **Note:** When setting \u003cspan pulumi-lang-nodejs=\"`priority`\" pulumi-lang-dotnet=\"`Priority`\" pulumi-lang-go=\"`priority`\" pulumi-lang-python=\"`priority`\" pulumi-lang-yaml=\"`priority`\" pulumi-lang-java=\"`priority`\"\u003e`priority`\u003c/span\u003e to Spot - you must configure an \u003cspan pulumi-lang-nodejs=\"`evictionPolicy`\" pulumi-lang-dotnet=\"`EvictionPolicy`\" pulumi-lang-go=\"`evictionPolicy`\" pulumi-lang-python=\"`eviction_policy`\" pulumi-lang-yaml=\"`evictionPolicy`\" pulumi-lang-java=\"`evictionPolicy`\"\u003e`eviction_policy`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`spotMaxPrice`\" pulumi-lang-dotnet=\"`SpotMaxPrice`\" pulumi-lang-go=\"`spotMaxPrice`\" pulumi-lang-python=\"`spot_max_price`\" pulumi-lang-yaml=\"`spotMaxPrice`\" pulumi-lang-java=\"`spotMaxPrice`\"\u003e`spot_max_price`\u003c/span\u003e and add the applicable \u003cspan pulumi-lang-nodejs=\"`nodeLabels`\" pulumi-lang-dotnet=\"`NodeLabels`\" pulumi-lang-go=\"`nodeLabels`\" pulumi-lang-python=\"`node_labels`\" pulumi-lang-yaml=\"`nodeLabels`\" pulumi-lang-java=\"`nodeLabels`\"\u003e`node_labels`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`nodeTaints`\" pulumi-lang-dotnet=\"`NodeTaints`\" pulumi-lang-go=\"`nodeTaints`\" pulumi-lang-python=\"`node_taints`\" pulumi-lang-yaml=\"`nodeTaints`\" pulumi-lang-java=\"`nodeTaints`\"\u003e`node_taints`\u003c/span\u003e [as per the Azure Documentation](https://docs.microsoft.com/azure/aks/spot-node-pool).\n","willReplaceOnChanges":true},"scaleDownMode":{"type":"string","description":"Specifies how the node pool should deal with scaled-down nodes. Allowed values are `Delete` and `Deallocate`. Defaults to `Delete`.\n"},"snapshotId":{"type":"string","description":"The ID of the Snapshot which should be used to create this Node Pool. Changing this property requires specifying \u003cspan pulumi-lang-nodejs=\"`temporaryNameForRotation`\" pulumi-lang-dotnet=\"`TemporaryNameForRotation`\" pulumi-lang-go=\"`temporaryNameForRotation`\" pulumi-lang-python=\"`temporary_name_for_rotation`\" pulumi-lang-yaml=\"`temporaryNameForRotation`\" pulumi-lang-java=\"`temporaryNameForRotation`\"\u003e`temporary_name_for_rotation`\u003c/span\u003e.\n"},"spotMaxPrice":{"type":"number","description":"The maximum price you're willing to pay in USD per Virtual Machine. Valid values are `-1` (the current on-demand price for a Virtual Machine) or a positive value with up to five decimal places. Changing this forces a new resource to be created.\n\n\u003e **Note:** This field can only be configured when \u003cspan pulumi-lang-nodejs=\"`priority`\" pulumi-lang-dotnet=\"`Priority`\" pulumi-lang-go=\"`priority`\" pulumi-lang-python=\"`priority`\" pulumi-lang-yaml=\"`priority`\" pulumi-lang-java=\"`priority`\"\u003e`priority`\u003c/span\u003e is set to `Spot`.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n\n\u003e At this time there's a bug in the AKS API where Tags for a Node Pool are not stored in the correct case - you may wish to use [`ignoreChanges`](https://www.pulumi.com/docs/intro/concepts/programming-model/#ignorechanges) functionality to ignore changes to the casing until this is fixed in the AKS API.\n"},"temporaryNameForRotation":{"type":"string","description":"Specifies the name of the temporary node pool used to cycle the node pool when one of the relevant properties are updated.\n"},"ultraSsdEnabled":{"type":"boolean","description":"Used to specify whether the UltraSSD is enabled in the Node Pool. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. See [the documentation](https://docs.microsoft.com/azure/aks/use-ultra-disks) for more information. Changing this property requires specifying \u003cspan pulumi-lang-nodejs=\"`temporaryNameForRotation`\" pulumi-lang-dotnet=\"`TemporaryNameForRotation`\" pulumi-lang-go=\"`temporaryNameForRotation`\" pulumi-lang-python=\"`temporary_name_for_rotation`\" pulumi-lang-yaml=\"`temporaryNameForRotation`\" pulumi-lang-java=\"`temporaryNameForRotation`\"\u003e`temporary_name_for_rotation`\u003c/span\u003e.\n"},"upgradeSettings":{"$ref":"#/types/azure:containerservice/KubernetesClusterNodePoolUpgradeSettings:KubernetesClusterNodePoolUpgradeSettings","description":"A \u003cspan pulumi-lang-nodejs=\"`upgradeSettings`\" pulumi-lang-dotnet=\"`UpgradeSettings`\" pulumi-lang-go=\"`upgradeSettings`\" pulumi-lang-python=\"`upgrade_settings`\" pulumi-lang-yaml=\"`upgradeSettings`\" pulumi-lang-java=\"`upgradeSettings`\"\u003e`upgrade_settings`\u003c/span\u003e block as documented below.\n"},"vmSize":{"type":"string","description":"The SKU which should be used for the Virtual Machines used in this Node Pool. Changing this property requires specifying \u003cspan pulumi-lang-nodejs=\"`temporaryNameForRotation`\" pulumi-lang-dotnet=\"`TemporaryNameForRotation`\" pulumi-lang-go=\"`temporaryNameForRotation`\" pulumi-lang-python=\"`temporary_name_for_rotation`\" pulumi-lang-yaml=\"`temporaryNameForRotation`\" pulumi-lang-java=\"`temporaryNameForRotation`\"\u003e`temporary_name_for_rotation`\u003c/span\u003e.\n"},"vnetSubnetId":{"type":"string","description":"The ID of the Subnet where this Node Pool should exist. Changing this property requires specifying \u003cspan pulumi-lang-nodejs=\"`temporaryNameForRotation`\" pulumi-lang-dotnet=\"`TemporaryNameForRotation`\" pulumi-lang-go=\"`temporaryNameForRotation`\" pulumi-lang-python=\"`temporary_name_for_rotation`\" pulumi-lang-yaml=\"`temporaryNameForRotation`\" pulumi-lang-java=\"`temporaryNameForRotation`\"\u003e`temporary_name_for_rotation`\u003c/span\u003e.\n\n\u003e **NOTE:** A route table must be configured on this Subnet.\n"},"windowsProfile":{"$ref":"#/types/azure:containerservice/KubernetesClusterNodePoolWindowsProfile:KubernetesClusterNodePoolWindowsProfile","description":"A \u003cspan pulumi-lang-nodejs=\"`windowsProfile`\" pulumi-lang-dotnet=\"`WindowsProfile`\" pulumi-lang-go=\"`windowsProfile`\" pulumi-lang-python=\"`windows_profile`\" pulumi-lang-yaml=\"`windowsProfile`\" pulumi-lang-java=\"`windowsProfile`\"\u003e`windows_profile`\u003c/span\u003e block as documented below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"workloadRuntime":{"type":"string","description":"Used to specify the workload runtime. Allowed values are `OCIContainer` and `WasmWasi`.\n\n\u003e **Note:** WebAssembly System Interface node pools are in Public Preview - more information and details on how to opt into the preview can be found in [this article](https://docs.microsoft.com/azure/aks/use-wasi-node-pools)\n"},"zones":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Availability Zones in which this Kubernetes Cluster Node Pool should be located. Changing this property requires specifying \u003cspan pulumi-lang-nodejs=\"`temporaryNameForRotation`\" pulumi-lang-dotnet=\"`TemporaryNameForRotation`\" pulumi-lang-go=\"`temporaryNameForRotation`\" pulumi-lang-python=\"`temporary_name_for_rotation`\" pulumi-lang-yaml=\"`temporaryNameForRotation`\" pulumi-lang-java=\"`temporaryNameForRotation`\"\u003e`temporary_name_for_rotation`\u003c/span\u003e.\n"}},"type":"object"}},"azure:containerservice/kubernetesFleetManager:KubernetesFleetManager":{"description":"Manages a Kubernetes Fleet Manager.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleKubernetesFleetManager = new azure.containerservice.KubernetesFleetManager(\"example\", {\n    location: example.location,\n    name: \"example\",\n    resourceGroupName: example.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_kubernetes_fleet_manager = azure.containerservice.KubernetesFleetManager(\"example\",\n    location=example.location,\n    name=\"example\",\n    resource_group_name=example.name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleKubernetesFleetManager = new Azure.ContainerService.KubernetesFleetManager(\"example\", new()\n    {\n        Location = example.Location,\n        Name = \"example\",\n        ResourceGroupName = example.Name,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/containerservice\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = containerservice.NewKubernetesFleetManager(ctx, \"example\", \u0026containerservice.KubernetesFleetManagerArgs{\n\t\t\tLocation:          example.Location,\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.containerservice.KubernetesFleetManager;\nimport com.pulumi.azure.containerservice.KubernetesFleetManagerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleKubernetesFleetManager = new KubernetesFleetManager(\"exampleKubernetesFleetManager\", KubernetesFleetManagerArgs.builder()\n            .location(example.location())\n            .name(\"example\")\n            .resourceGroupName(example.name())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleKubernetesFleetManager:\n    type: azure:containerservice:KubernetesFleetManager\n    name: example\n    properties:\n      location: ${example.location}\n      name: example\n      resourceGroupName: ${example.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.ContainerService` - 2024-04-01\n\n## Import\n\nAn existing Kubernetes Fleet Manager can be imported into Pulumi using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:containerservice/kubernetesFleetManager:KubernetesFleetManager example /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/fleets/{fleetName}\n```\n\n* Where `{subscriptionId}` is the ID of the Azure Subscription where the Kubernetes Fleet Manager exists. For example `12345678-1234-9876-4563-123456789012`.\n* Where `{resourceGroupName}` is the name of Resource Group where this Kubernetes Fleet Manager exists. For example `example-resource-group`.\n* Where `{fleetName}` is the name of the Fleet. For example `fleetValue`.\n\n","properties":{"hubProfile":{"$ref":"#/types/azure:containerservice/KubernetesFleetManagerHubProfile:KubernetesFleetManagerHubProfile","deprecationMessage":"The service team has indicated this field is now deprecated and not to be used, as such we are marking it as such and no longer sending it to the API, please see url: https://learn.microsoft.com/en-us/azure/kubernetes-fleet/architectural-overview"},"location":{"type":"string","description":"The Azure Region where the Kubernetes Fleet Manager should exist. Changing this forces a new Kubernetes Fleet Manager to be created.\n"},"name":{"type":"string","description":"Specifies the name of this Kubernetes Fleet Manager. Changing this forces a new Kubernetes Fleet Manager to be created.\n"},"resourceGroupName":{"type":"string","description":"Specifies the name of the Resource Group within which this Kubernetes Fleet Manager should exist. Changing this forces a new Kubernetes Fleet Manager to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Kubernetes Fleet Manager.\n"}},"required":["location","name","resourceGroupName"],"inputProperties":{"hubProfile":{"$ref":"#/types/azure:containerservice/KubernetesFleetManagerHubProfile:KubernetesFleetManagerHubProfile","deprecationMessage":"The service team has indicated this field is now deprecated and not to be used, as such we are marking it as such and no longer sending it to the API, please see url: https://learn.microsoft.com/en-us/azure/kubernetes-fleet/architectural-overview","willReplaceOnChanges":true},"location":{"type":"string","description":"The Azure Region where the Kubernetes Fleet Manager should exist. Changing this forces a new Kubernetes Fleet Manager to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of this Kubernetes Fleet Manager. Changing this forces a new Kubernetes Fleet Manager to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"Specifies the name of the Resource Group within which this Kubernetes Fleet Manager should exist. Changing this forces a new Kubernetes Fleet Manager to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Kubernetes Fleet Manager.\n"}},"requiredInputs":["resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering KubernetesFleetManager resources.\n","properties":{"hubProfile":{"$ref":"#/types/azure:containerservice/KubernetesFleetManagerHubProfile:KubernetesFleetManagerHubProfile","deprecationMessage":"The service team has indicated this field is now deprecated and not to be used, as such we are marking it as such and no longer sending it to the API, please see url: https://learn.microsoft.com/en-us/azure/kubernetes-fleet/architectural-overview","willReplaceOnChanges":true},"location":{"type":"string","description":"The Azure Region where the Kubernetes Fleet Manager should exist. Changing this forces a new Kubernetes Fleet Manager to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of this Kubernetes Fleet Manager. Changing this forces a new Kubernetes Fleet Manager to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"Specifies the name of the Resource Group within which this Kubernetes Fleet Manager should exist. Changing this forces a new Kubernetes Fleet Manager to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Kubernetes Fleet Manager.\n"}},"type":"object"}},"azure:containerservice/registry:Registry":{"description":"Manages an Azure Container Registry.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst acr = new azure.containerservice.Registry(\"acr\", {\n    name: \"containerRegistry1\",\n    resourceGroupName: example.name,\n    location: example.location,\n    sku: \"Premium\",\n    adminEnabled: false,\n    georeplications: [\n        {\n            location: \"East US\",\n            zoneRedundancyEnabled: true,\n            tags: {},\n        },\n        {\n            location: \"North Europe\",\n            zoneRedundancyEnabled: true,\n            tags: {},\n        },\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nacr = azure.containerservice.Registry(\"acr\",\n    name=\"containerRegistry1\",\n    resource_group_name=example.name,\n    location=example.location,\n    sku=\"Premium\",\n    admin_enabled=False,\n    georeplications=[\n        {\n            \"location\": \"East US\",\n            \"zone_redundancy_enabled\": True,\n            \"tags\": {},\n        },\n        {\n            \"location\": \"North Europe\",\n            \"zone_redundancy_enabled\": True,\n            \"tags\": {},\n        },\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var acr = new Azure.ContainerService.Registry(\"acr\", new()\n    {\n        Name = \"containerRegistry1\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        Sku = \"Premium\",\n        AdminEnabled = false,\n        Georeplications = new[]\n        {\n            new Azure.ContainerService.Inputs.RegistryGeoreplicationArgs\n            {\n                Location = \"East US\",\n                ZoneRedundancyEnabled = true,\n                Tags = null,\n            },\n            new Azure.ContainerService.Inputs.RegistryGeoreplicationArgs\n            {\n                Location = \"North Europe\",\n                ZoneRedundancyEnabled = true,\n                Tags = null,\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/containerservice\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = containerservice.NewRegistry(ctx, \"acr\", \u0026containerservice.RegistryArgs{\n\t\t\tName:              pulumi.String(\"containerRegistry1\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tSku:               pulumi.String(\"Premium\"),\n\t\t\tAdminEnabled:      pulumi.Bool(false),\n\t\t\tGeoreplications: containerservice.RegistryGeoreplicationArray{\n\t\t\t\t\u0026containerservice.RegistryGeoreplicationArgs{\n\t\t\t\t\tLocation:              pulumi.String(\"East US\"),\n\t\t\t\t\tZoneRedundancyEnabled: pulumi.Bool(true),\n\t\t\t\t\tTags:                  pulumi.StringMap{},\n\t\t\t\t},\n\t\t\t\t\u0026containerservice.RegistryGeoreplicationArgs{\n\t\t\t\t\tLocation:              pulumi.String(\"North Europe\"),\n\t\t\t\t\tZoneRedundancyEnabled: pulumi.Bool(true),\n\t\t\t\t\tTags:                  pulumi.StringMap{},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.containerservice.Registry;\nimport com.pulumi.azure.containerservice.RegistryArgs;\nimport com.pulumi.azure.containerservice.inputs.RegistryGeoreplicationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var acr = new Registry(\"acr\", RegistryArgs.builder()\n            .name(\"containerRegistry1\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .sku(\"Premium\")\n            .adminEnabled(false)\n            .georeplications(            \n                RegistryGeoreplicationArgs.builder()\n                    .location(\"East US\")\n                    .zoneRedundancyEnabled(true)\n                    .tags(Map.ofEntries(\n                    ))\n                    .build(),\n                RegistryGeoreplicationArgs.builder()\n                    .location(\"North Europe\")\n                    .zoneRedundancyEnabled(true)\n                    .tags(Map.ofEntries(\n                    ))\n                    .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  acr:\n    type: azure:containerservice:Registry\n    properties:\n      name: containerRegistry1\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      sku: Premium\n      adminEnabled: false\n      georeplications:\n        - location: East US\n          zoneRedundancyEnabled: true\n          tags: {}\n        - location: North Europe\n          zoneRedundancyEnabled: true\n          tags: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\n### Encryption)\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleUserAssignedIdentity = new azure.authorization.UserAssignedIdentity(\"example\", {\n    resourceGroupName: exampleResourceGroup.name,\n    location: exampleResourceGroup.location,\n    name: \"registry-uai\",\n});\nconst example = azure.keyvault.getKey({\n    name: \"super-secret\",\n    keyVaultId: existing.id,\n});\nconst acr = new azure.containerservice.Registry(\"acr\", {\n    name: \"containerRegistry1\",\n    resourceGroupName: exampleResourceGroup.name,\n    location: exampleResourceGroup.location,\n    sku: \"Premium\",\n    identity: {\n        type: \"UserAssigned\",\n        identityIds: [exampleUserAssignedIdentity.id],\n    },\n    encryption: {\n        keyVaultKeyId: example.then(example =\u003e example.id),\n        identityClientId: exampleUserAssignedIdentity.clientId,\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_user_assigned_identity = azure.authorization.UserAssignedIdentity(\"example\",\n    resource_group_name=example_resource_group.name,\n    location=example_resource_group.location,\n    name=\"registry-uai\")\nexample = azure.keyvault.get_key(name=\"super-secret\",\n    key_vault_id=existing[\"id\"])\nacr = azure.containerservice.Registry(\"acr\",\n    name=\"containerRegistry1\",\n    resource_group_name=example_resource_group.name,\n    location=example_resource_group.location,\n    sku=\"Premium\",\n    identity={\n        \"type\": \"UserAssigned\",\n        \"identity_ids\": [example_user_assigned_identity.id],\n    },\n    encryption={\n        \"key_vault_key_id\": example.id,\n        \"identity_client_id\": example_user_assigned_identity.client_id,\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleResourceGroup = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleUserAssignedIdentity = new Azure.Authorization.UserAssignedIdentity(\"example\", new()\n    {\n        ResourceGroupName = exampleResourceGroup.Name,\n        Location = exampleResourceGroup.Location,\n        Name = \"registry-uai\",\n    });\n\n    var example = Azure.KeyVault.GetKey.Invoke(new()\n    {\n        Name = \"super-secret\",\n        KeyVaultId = existing.Id,\n    });\n\n    var acr = new Azure.ContainerService.Registry(\"acr\", new()\n    {\n        Name = \"containerRegistry1\",\n        ResourceGroupName = exampleResourceGroup.Name,\n        Location = exampleResourceGroup.Location,\n        Sku = \"Premium\",\n        Identity = new Azure.ContainerService.Inputs.RegistryIdentityArgs\n        {\n            Type = \"UserAssigned\",\n            IdentityIds = new[]\n            {\n                exampleUserAssignedIdentity.Id,\n            },\n        },\n        Encryption = new Azure.ContainerService.Inputs.RegistryEncryptionArgs\n        {\n            KeyVaultKeyId = example.Apply(getKeyResult =\u003e getKeyResult.Id),\n            IdentityClientId = exampleUserAssignedIdentity.ClientId,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/authorization\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/containerservice\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/keyvault\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleUserAssignedIdentity, err := authorization.NewUserAssignedIdentity(ctx, \"example\", \u0026authorization.UserAssignedIdentityArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tLocation:          exampleResourceGroup.Location,\n\t\t\tName:              pulumi.String(\"registry-uai\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := keyvault.LookupKey(ctx, \u0026keyvault.LookupKeyArgs{\n\t\t\tName:       \"super-secret\",\n\t\t\tKeyVaultId: existing.Id,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = containerservice.NewRegistry(ctx, \"acr\", \u0026containerservice.RegistryArgs{\n\t\t\tName:              pulumi.String(\"containerRegistry1\"),\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tLocation:          exampleResourceGroup.Location,\n\t\t\tSku:               pulumi.String(\"Premium\"),\n\t\t\tIdentity: \u0026containerservice.RegistryIdentityArgs{\n\t\t\t\tType: pulumi.String(\"UserAssigned\"),\n\t\t\t\tIdentityIds: pulumi.StringArray{\n\t\t\t\t\texampleUserAssignedIdentity.ID(),\n\t\t\t\t},\n\t\t\t},\n\t\t\tEncryption: \u0026containerservice.RegistryEncryptionArgs{\n\t\t\t\tKeyVaultKeyId:    pulumi.String(example.Id),\n\t\t\t\tIdentityClientId: exampleUserAssignedIdentity.ClientId,\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.authorization.UserAssignedIdentity;\nimport com.pulumi.azure.authorization.UserAssignedIdentityArgs;\nimport com.pulumi.azure.keyvault.KeyvaultFunctions;\nimport com.pulumi.azure.keyvault.inputs.GetKeyArgs;\nimport com.pulumi.azure.containerservice.Registry;\nimport com.pulumi.azure.containerservice.RegistryArgs;\nimport com.pulumi.azure.containerservice.inputs.RegistryIdentityArgs;\nimport com.pulumi.azure.containerservice.inputs.RegistryEncryptionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var exampleResourceGroup = new ResourceGroup(\"exampleResourceGroup\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleUserAssignedIdentity = new UserAssignedIdentity(\"exampleUserAssignedIdentity\", UserAssignedIdentityArgs.builder()\n            .resourceGroupName(exampleResourceGroup.name())\n            .location(exampleResourceGroup.location())\n            .name(\"registry-uai\")\n            .build());\n\n        final var example = KeyvaultFunctions.getKey(GetKeyArgs.builder()\n            .name(\"super-secret\")\n            .keyVaultId(existing.id())\n            .build());\n\n        var acr = new Registry(\"acr\", RegistryArgs.builder()\n            .name(\"containerRegistry1\")\n            .resourceGroupName(exampleResourceGroup.name())\n            .location(exampleResourceGroup.location())\n            .sku(\"Premium\")\n            .identity(RegistryIdentityArgs.builder()\n                .type(\"UserAssigned\")\n                .identityIds(exampleUserAssignedIdentity.id())\n                .build())\n            .encryption(RegistryEncryptionArgs.builder()\n                .keyVaultKeyId(example.id())\n                .identityClientId(exampleUserAssignedIdentity.clientId())\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleResourceGroup:\n    type: azure:core:ResourceGroup\n    name: example\n    properties:\n      name: example-resources\n      location: West Europe\n  acr:\n    type: azure:containerservice:Registry\n    properties:\n      name: containerRegistry1\n      resourceGroupName: ${exampleResourceGroup.name}\n      location: ${exampleResourceGroup.location}\n      sku: Premium\n      identity:\n        type: UserAssigned\n        identityIds:\n          - ${exampleUserAssignedIdentity.id}\n      encryption:\n        keyVaultKeyId: ${example.id}\n        identityClientId: ${exampleUserAssignedIdentity.clientId}\n  exampleUserAssignedIdentity:\n    type: azure:authorization:UserAssignedIdentity\n    name: example\n    properties:\n      resourceGroupName: ${exampleResourceGroup.name}\n      location: ${exampleResourceGroup.location}\n      name: registry-uai\nvariables:\n  example:\n    fn::invoke:\n      function: azure:keyvault:getKey\n      arguments:\n        name: super-secret\n        keyVaultId: ${existing.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\n### Attaching A Container Registry To A Kubernetes Cluster)\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleRegistry = new azure.containerservice.Registry(\"example\", {\n    name: \"containerRegistry1\",\n    resourceGroupName: example.name,\n    location: example.location,\n    sku: \"Premium\",\n});\nconst exampleKubernetesCluster = new azure.containerservice.KubernetesCluster(\"example\", {\n    name: \"example-aks1\",\n    location: example.location,\n    resourceGroupName: example.name,\n    dnsPrefix: \"exampleaks1\",\n    defaultNodePool: {\n        name: \"default\",\n        nodeCount: 1,\n        vmSize: \"Standard_D2_v2\",\n    },\n    identity: {\n        type: \"SystemAssigned\",\n    },\n    tags: {\n        Environment: \"Production\",\n    },\n});\nconst exampleAssignment = new azure.authorization.Assignment(\"example\", {\n    principalId: exampleKubernetesCluster.kubeletIdentity.apply(kubeletIdentity =\u003e kubeletIdentity.objectId),\n    roleDefinitionName: \"AcrPull\",\n    scope: exampleRegistry.id,\n    skipServicePrincipalAadCheck: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_registry = azure.containerservice.Registry(\"example\",\n    name=\"containerRegistry1\",\n    resource_group_name=example.name,\n    location=example.location,\n    sku=\"Premium\")\nexample_kubernetes_cluster = azure.containerservice.KubernetesCluster(\"example\",\n    name=\"example-aks1\",\n    location=example.location,\n    resource_group_name=example.name,\n    dns_prefix=\"exampleaks1\",\n    default_node_pool={\n        \"name\": \"default\",\n        \"node_count\": 1,\n        \"vm_size\": \"Standard_D2_v2\",\n    },\n    identity={\n        \"type\": \"SystemAssigned\",\n    },\n    tags={\n        \"Environment\": \"Production\",\n    })\nexample_assignment = azure.authorization.Assignment(\"example\",\n    principal_id=example_kubernetes_cluster.kubelet_identity.object_id,\n    role_definition_name=\"AcrPull\",\n    scope=example_registry.id,\n    skip_service_principal_aad_check=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleRegistry = new Azure.ContainerService.Registry(\"example\", new()\n    {\n        Name = \"containerRegistry1\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        Sku = \"Premium\",\n    });\n\n    var exampleKubernetesCluster = new Azure.ContainerService.KubernetesCluster(\"example\", new()\n    {\n        Name = \"example-aks1\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        DnsPrefix = \"exampleaks1\",\n        DefaultNodePool = new Azure.ContainerService.Inputs.KubernetesClusterDefaultNodePoolArgs\n        {\n            Name = \"default\",\n            NodeCount = 1,\n            VmSize = \"Standard_D2_v2\",\n        },\n        Identity = new Azure.ContainerService.Inputs.KubernetesClusterIdentityArgs\n        {\n            Type = \"SystemAssigned\",\n        },\n        Tags = \n        {\n            { \"Environment\", \"Production\" },\n        },\n    });\n\n    var exampleAssignment = new Azure.Authorization.Assignment(\"example\", new()\n    {\n        PrincipalId = exampleKubernetesCluster.KubeletIdentity.Apply(kubeletIdentity =\u003e kubeletIdentity.ObjectId),\n        RoleDefinitionName = \"AcrPull\",\n        Scope = exampleRegistry.Id,\n        SkipServicePrincipalAadCheck = true,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/authorization\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/containerservice\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleRegistry, err := containerservice.NewRegistry(ctx, \"example\", \u0026containerservice.RegistryArgs{\n\t\t\tName:              pulumi.String(\"containerRegistry1\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tSku:               pulumi.String(\"Premium\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleKubernetesCluster, err := containerservice.NewKubernetesCluster(ctx, \"example\", \u0026containerservice.KubernetesClusterArgs{\n\t\t\tName:              pulumi.String(\"example-aks1\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tDnsPrefix:         pulumi.String(\"exampleaks1\"),\n\t\t\tDefaultNodePool: \u0026containerservice.KubernetesClusterDefaultNodePoolArgs{\n\t\t\t\tName:      pulumi.String(\"default\"),\n\t\t\t\tNodeCount: pulumi.Int(1),\n\t\t\t\tVmSize:    pulumi.String(\"Standard_D2_v2\"),\n\t\t\t},\n\t\t\tIdentity: \u0026containerservice.KubernetesClusterIdentityArgs{\n\t\t\t\tType: pulumi.String(\"SystemAssigned\"),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Environment\": pulumi.String(\"Production\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = authorization.NewAssignment(ctx, \"example\", \u0026authorization.AssignmentArgs{\n\t\t\tPrincipalId: pulumi.String(exampleKubernetesCluster.KubeletIdentity.ApplyT(func(kubeletIdentity containerservice.KubernetesClusterKubeletIdentity) (*string, error) {\n\t\t\t\treturn \u0026kubeletIdentity.ObjectId, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tRoleDefinitionName:           pulumi.String(\"AcrPull\"),\n\t\t\tScope:                        exampleRegistry.ID(),\n\t\t\tSkipServicePrincipalAadCheck: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.containerservice.Registry;\nimport com.pulumi.azure.containerservice.RegistryArgs;\nimport com.pulumi.azure.containerservice.KubernetesCluster;\nimport com.pulumi.azure.containerservice.KubernetesClusterArgs;\nimport com.pulumi.azure.containerservice.inputs.KubernetesClusterDefaultNodePoolArgs;\nimport com.pulumi.azure.containerservice.inputs.KubernetesClusterIdentityArgs;\nimport com.pulumi.azure.authorization.Assignment;\nimport com.pulumi.azure.authorization.AssignmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleRegistry = new Registry(\"exampleRegistry\", RegistryArgs.builder()\n            .name(\"containerRegistry1\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .sku(\"Premium\")\n            .build());\n\n        var exampleKubernetesCluster = new KubernetesCluster(\"exampleKubernetesCluster\", KubernetesClusterArgs.builder()\n            .name(\"example-aks1\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .dnsPrefix(\"exampleaks1\")\n            .defaultNodePool(KubernetesClusterDefaultNodePoolArgs.builder()\n                .name(\"default\")\n                .nodeCount(1)\n                .vmSize(\"Standard_D2_v2\")\n                .build())\n            .identity(KubernetesClusterIdentityArgs.builder()\n                .type(\"SystemAssigned\")\n                .build())\n            .tags(Map.of(\"Environment\", \"Production\"))\n            .build());\n\n        var exampleAssignment = new Assignment(\"exampleAssignment\", AssignmentArgs.builder()\n            .principalId(exampleKubernetesCluster.kubeletIdentity().applyValue(_kubeletIdentity -\u003e _kubeletIdentity.objectId()))\n            .roleDefinitionName(\"AcrPull\")\n            .scope(exampleRegistry.id())\n            .skipServicePrincipalAadCheck(true)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleRegistry:\n    type: azure:containerservice:Registry\n    name: example\n    properties:\n      name: containerRegistry1\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      sku: Premium\n  exampleKubernetesCluster:\n    type: azure:containerservice:KubernetesCluster\n    name: example\n    properties:\n      name: example-aks1\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      dnsPrefix: exampleaks1\n      defaultNodePool:\n        name: default\n        nodeCount: 1\n        vmSize: Standard_D2_v2\n      identity:\n        type: SystemAssigned\n      tags:\n        Environment: Production\n  exampleAssignment:\n    type: azure:authorization:Assignment\n    name: example\n    properties:\n      principalId: ${exampleKubernetesCluster.kubeletIdentity.objectId}\n      roleDefinitionName: AcrPull\n      scope: ${exampleRegistry.id}\n      skipServicePrincipalAadCheck: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.ContainerRegistry` - 2025-11-01\n\n## Import\n\nContainer Registries can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:containerservice/registry:Registry example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.ContainerRegistry/registries/myregistry1\n```\n\n","properties":{"adminEnabled":{"type":"boolean","description":"Specifies whether the admin user is enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"adminPassword":{"type":"string","description":"The Password associated with the Container Registry Admin account - if the admin account is enabled.\n","secret":true},"adminUsername":{"type":"string","description":"The Username associated with the Container Registry Admin account - if the admin account is enabled.\n"},"anonymousPullEnabled":{"type":"boolean","description":"Whether to allow anonymous (unauthenticated) pull access to this Container Registry. This is only supported on resources with the `Standard` or `Premium` SKU.\n"},"dataEndpointEnabled":{"type":"boolean","description":"Whether to enable dedicated data endpoints for this Container Registry? This is only supported on resources with the `Premium` SKU.\n"},"dataEndpointHostNames":{"type":"array","items":{"type":"string"},"description":"A set of data endpoint hostnames associated with the container registry if data endpoints are enabled.\n"},"encryption":{"$ref":"#/types/azure:containerservice/RegistryEncryption:RegistryEncryption","description":"An \u003cspan pulumi-lang-nodejs=\"`encryption`\" pulumi-lang-dotnet=\"`Encryption`\" pulumi-lang-go=\"`encryption`\" pulumi-lang-python=\"`encryption`\" pulumi-lang-yaml=\"`encryption`\" pulumi-lang-java=\"`encryption`\"\u003e`encryption`\u003c/span\u003e block as documented below.\n"},"exportPolicyEnabled":{"type":"boolean","description":"Boolean value that indicates whether export policy is enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e. In order to set it to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e, make sure the \u003cspan pulumi-lang-nodejs=\"`publicNetworkAccessEnabled`\" pulumi-lang-dotnet=\"`PublicNetworkAccessEnabled`\" pulumi-lang-go=\"`publicNetworkAccessEnabled`\" pulumi-lang-python=\"`public_network_access_enabled`\" pulumi-lang-yaml=\"`publicNetworkAccessEnabled`\" pulumi-lang-java=\"`publicNetworkAccessEnabled`\"\u003e`public_network_access_enabled`\u003c/span\u003e is also set to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`quarantinePolicyEnabled`\" pulumi-lang-dotnet=\"`QuarantinePolicyEnabled`\" pulumi-lang-go=\"`quarantinePolicyEnabled`\" pulumi-lang-python=\"`quarantine_policy_enabled`\" pulumi-lang-yaml=\"`quarantinePolicyEnabled`\" pulumi-lang-java=\"`quarantinePolicyEnabled`\"\u003e`quarantine_policy_enabled`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`retentionPolicyInDays`\" pulumi-lang-dotnet=\"`RetentionPolicyInDays`\" pulumi-lang-go=\"`retentionPolicyInDays`\" pulumi-lang-python=\"`retention_policy_in_days`\" pulumi-lang-yaml=\"`retentionPolicyInDays`\" pulumi-lang-java=\"`retentionPolicyInDays`\"\u003e`retention_policy_in_days`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`trustPolicyEnabled`\" pulumi-lang-dotnet=\"`TrustPolicyEnabled`\" pulumi-lang-go=\"`trustPolicyEnabled`\" pulumi-lang-python=\"`trust_policy_enabled`\" pulumi-lang-yaml=\"`trustPolicyEnabled`\" pulumi-lang-java=\"`trustPolicyEnabled`\"\u003e`trust_policy_enabled`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`exportPolicyEnabled`\" pulumi-lang-dotnet=\"`ExportPolicyEnabled`\" pulumi-lang-go=\"`exportPolicyEnabled`\" pulumi-lang-python=\"`export_policy_enabled`\" pulumi-lang-yaml=\"`exportPolicyEnabled`\" pulumi-lang-java=\"`exportPolicyEnabled`\"\u003e`export_policy_enabled`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`zoneRedundancyEnabled`\" pulumi-lang-dotnet=\"`ZoneRedundancyEnabled`\" pulumi-lang-go=\"`zoneRedundancyEnabled`\" pulumi-lang-python=\"`zone_redundancy_enabled`\" pulumi-lang-yaml=\"`zoneRedundancyEnabled`\" pulumi-lang-java=\"`zoneRedundancyEnabled`\"\u003e`zone_redundancy_enabled`\u003c/span\u003e are only supported on resources with the `Premium` SKU.\n"},"georeplications":{"type":"array","items":{"$ref":"#/types/azure:containerservice/RegistryGeoreplication:RegistryGeoreplication"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`georeplications`\" pulumi-lang-dotnet=\"`Georeplications`\" pulumi-lang-go=\"`georeplications`\" pulumi-lang-python=\"`georeplications`\" pulumi-lang-yaml=\"`georeplications`\" pulumi-lang-java=\"`georeplications`\"\u003e`georeplications`\u003c/span\u003e blocks as documented below.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`georeplications`\" pulumi-lang-dotnet=\"`Georeplications`\" pulumi-lang-go=\"`georeplications`\" pulumi-lang-python=\"`georeplications`\" pulumi-lang-yaml=\"`georeplications`\" pulumi-lang-java=\"`georeplications`\"\u003e`georeplications`\u003c/span\u003e is only supported on new resources with the `Premium` SKU.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`georeplications`\" pulumi-lang-dotnet=\"`Georeplications`\" pulumi-lang-go=\"`georeplications`\" pulumi-lang-python=\"`georeplications`\" pulumi-lang-yaml=\"`georeplications`\" pulumi-lang-java=\"`georeplications`\"\u003e`georeplications`\u003c/span\u003e list cannot contain the location where the Container Registry exists.\n\n\u003e **Note:** If more than one \u003cspan pulumi-lang-nodejs=\"`georeplications`\" pulumi-lang-dotnet=\"`Georeplications`\" pulumi-lang-go=\"`georeplications`\" pulumi-lang-python=\"`georeplications`\" pulumi-lang-yaml=\"`georeplications`\" pulumi-lang-java=\"`georeplications`\"\u003e`georeplications`\u003c/span\u003e block is specified, they are expected to follow the alphabetic order on the \u003cspan pulumi-lang-nodejs=\"`location`\" pulumi-lang-dotnet=\"`Location`\" pulumi-lang-go=\"`location`\" pulumi-lang-python=\"`location`\" pulumi-lang-yaml=\"`location`\" pulumi-lang-java=\"`location`\"\u003e`location`\u003c/span\u003e property.\n"},"identity":{"$ref":"#/types/azure:containerservice/RegistryIdentity:RegistryIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n"},"loginServer":{"type":"string","description":"The URL that can be used to log into the container registry.\n"},"name":{"type":"string","description":"Specifies the name of the Container Registry. Only Alphanumeric characters allowed. Changing this forces a new resource to be created.\n"},"networkRuleBypassOption":{"type":"string","description":"Whether to allow trusted Azure services to access a network-restricted Container Registry? Possible values are `None` and `AzureServices`. Defaults to `AzureServices`.\n"},"networkRuleSet":{"$ref":"#/types/azure:containerservice/RegistryNetworkRuleSet:RegistryNetworkRuleSet","description":"A \u003cspan pulumi-lang-nodejs=\"`networkRuleSet`\" pulumi-lang-dotnet=\"`NetworkRuleSet`\" pulumi-lang-go=\"`networkRuleSet`\" pulumi-lang-python=\"`network_rule_set`\" pulumi-lang-yaml=\"`networkRuleSet`\" pulumi-lang-java=\"`networkRuleSet`\"\u003e`network_rule_set`\u003c/span\u003e block as documented below.\n"},"publicNetworkAccessEnabled":{"type":"boolean","description":"Whether public network access is allowed for the container registry. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"quarantinePolicyEnabled":{"type":"boolean","description":"Boolean value that indicates whether quarantine policy is enabled.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the Container Registry. Changing this forces a new resource to be created.\n"},"retentionPolicyInDays":{"type":"integer","description":"The number of days to retain and untagged manifest after which it gets purged.\n"},"sku":{"type":"string","description":"The SKU name of the container registry. Possible values are `Basic`, `Standard` and `Premium`.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"trustPolicyEnabled":{"type":"boolean","description":"Boolean value that indicated whether trust policy is enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"zoneRedundancyEnabled":{"type":"boolean","description":"Whether zone redundancy is enabled for this Container Registry? Changing this forces a new resource to be created. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"}},"required":["adminPassword","adminUsername","dataEndpointHostNames","encryption","location","loginServer","name","networkRuleSet","resourceGroupName","sku"],"inputProperties":{"adminEnabled":{"type":"boolean","description":"Specifies whether the admin user is enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"anonymousPullEnabled":{"type":"boolean","description":"Whether to allow anonymous (unauthenticated) pull access to this Container Registry. This is only supported on resources with the `Standard` or `Premium` SKU.\n"},"dataEndpointEnabled":{"type":"boolean","description":"Whether to enable dedicated data endpoints for this Container Registry? This is only supported on resources with the `Premium` SKU.\n"},"encryption":{"$ref":"#/types/azure:containerservice/RegistryEncryption:RegistryEncryption","description":"An \u003cspan pulumi-lang-nodejs=\"`encryption`\" pulumi-lang-dotnet=\"`Encryption`\" pulumi-lang-go=\"`encryption`\" pulumi-lang-python=\"`encryption`\" pulumi-lang-yaml=\"`encryption`\" pulumi-lang-java=\"`encryption`\"\u003e`encryption`\u003c/span\u003e block as documented below.\n"},"exportPolicyEnabled":{"type":"boolean","description":"Boolean value that indicates whether export policy is enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e. In order to set it to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e, make sure the \u003cspan pulumi-lang-nodejs=\"`publicNetworkAccessEnabled`\" pulumi-lang-dotnet=\"`PublicNetworkAccessEnabled`\" pulumi-lang-go=\"`publicNetworkAccessEnabled`\" pulumi-lang-python=\"`public_network_access_enabled`\" pulumi-lang-yaml=\"`publicNetworkAccessEnabled`\" pulumi-lang-java=\"`publicNetworkAccessEnabled`\"\u003e`public_network_access_enabled`\u003c/span\u003e is also set to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`quarantinePolicyEnabled`\" pulumi-lang-dotnet=\"`QuarantinePolicyEnabled`\" pulumi-lang-go=\"`quarantinePolicyEnabled`\" pulumi-lang-python=\"`quarantine_policy_enabled`\" pulumi-lang-yaml=\"`quarantinePolicyEnabled`\" pulumi-lang-java=\"`quarantinePolicyEnabled`\"\u003e`quarantine_policy_enabled`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`retentionPolicyInDays`\" pulumi-lang-dotnet=\"`RetentionPolicyInDays`\" pulumi-lang-go=\"`retentionPolicyInDays`\" pulumi-lang-python=\"`retention_policy_in_days`\" pulumi-lang-yaml=\"`retentionPolicyInDays`\" pulumi-lang-java=\"`retentionPolicyInDays`\"\u003e`retention_policy_in_days`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`trustPolicyEnabled`\" pulumi-lang-dotnet=\"`TrustPolicyEnabled`\" pulumi-lang-go=\"`trustPolicyEnabled`\" pulumi-lang-python=\"`trust_policy_enabled`\" pulumi-lang-yaml=\"`trustPolicyEnabled`\" pulumi-lang-java=\"`trustPolicyEnabled`\"\u003e`trust_policy_enabled`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`exportPolicyEnabled`\" pulumi-lang-dotnet=\"`ExportPolicyEnabled`\" pulumi-lang-go=\"`exportPolicyEnabled`\" pulumi-lang-python=\"`export_policy_enabled`\" pulumi-lang-yaml=\"`exportPolicyEnabled`\" pulumi-lang-java=\"`exportPolicyEnabled`\"\u003e`export_policy_enabled`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`zoneRedundancyEnabled`\" pulumi-lang-dotnet=\"`ZoneRedundancyEnabled`\" pulumi-lang-go=\"`zoneRedundancyEnabled`\" pulumi-lang-python=\"`zone_redundancy_enabled`\" pulumi-lang-yaml=\"`zoneRedundancyEnabled`\" pulumi-lang-java=\"`zoneRedundancyEnabled`\"\u003e`zone_redundancy_enabled`\u003c/span\u003e are only supported on resources with the `Premium` SKU.\n"},"georeplications":{"type":"array","items":{"$ref":"#/types/azure:containerservice/RegistryGeoreplication:RegistryGeoreplication"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`georeplications`\" pulumi-lang-dotnet=\"`Georeplications`\" pulumi-lang-go=\"`georeplications`\" pulumi-lang-python=\"`georeplications`\" pulumi-lang-yaml=\"`georeplications`\" pulumi-lang-java=\"`georeplications`\"\u003e`georeplications`\u003c/span\u003e blocks as documented below.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`georeplications`\" pulumi-lang-dotnet=\"`Georeplications`\" pulumi-lang-go=\"`georeplications`\" pulumi-lang-python=\"`georeplications`\" pulumi-lang-yaml=\"`georeplications`\" pulumi-lang-java=\"`georeplications`\"\u003e`georeplications`\u003c/span\u003e is only supported on new resources with the `Premium` SKU.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`georeplications`\" pulumi-lang-dotnet=\"`Georeplications`\" pulumi-lang-go=\"`georeplications`\" pulumi-lang-python=\"`georeplications`\" pulumi-lang-yaml=\"`georeplications`\" pulumi-lang-java=\"`georeplications`\"\u003e`georeplications`\u003c/span\u003e list cannot contain the location where the Container Registry exists.\n\n\u003e **Note:** If more than one \u003cspan pulumi-lang-nodejs=\"`georeplications`\" pulumi-lang-dotnet=\"`Georeplications`\" pulumi-lang-go=\"`georeplications`\" pulumi-lang-python=\"`georeplications`\" pulumi-lang-yaml=\"`georeplications`\" pulumi-lang-java=\"`georeplications`\"\u003e`georeplications`\u003c/span\u003e block is specified, they are expected to follow the alphabetic order on the \u003cspan pulumi-lang-nodejs=\"`location`\" pulumi-lang-dotnet=\"`Location`\" pulumi-lang-go=\"`location`\" pulumi-lang-python=\"`location`\" pulumi-lang-yaml=\"`location`\" pulumi-lang-java=\"`location`\"\u003e`location`\u003c/span\u003e property.\n"},"identity":{"$ref":"#/types/azure:containerservice/RegistryIdentity:RegistryIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the Container Registry. Only Alphanumeric characters allowed. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"networkRuleBypassOption":{"type":"string","description":"Whether to allow trusted Azure services to access a network-restricted Container Registry? Possible values are `None` and `AzureServices`. Defaults to `AzureServices`.\n"},"networkRuleSet":{"$ref":"#/types/azure:containerservice/RegistryNetworkRuleSet:RegistryNetworkRuleSet","description":"A \u003cspan pulumi-lang-nodejs=\"`networkRuleSet`\" pulumi-lang-dotnet=\"`NetworkRuleSet`\" pulumi-lang-go=\"`networkRuleSet`\" pulumi-lang-python=\"`network_rule_set`\" pulumi-lang-yaml=\"`networkRuleSet`\" pulumi-lang-java=\"`networkRuleSet`\"\u003e`network_rule_set`\u003c/span\u003e block as documented below.\n"},"publicNetworkAccessEnabled":{"type":"boolean","description":"Whether public network access is allowed for the container registry. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"quarantinePolicyEnabled":{"type":"boolean","description":"Boolean value that indicates whether quarantine policy is enabled.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the Container Registry. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"retentionPolicyInDays":{"type":"integer","description":"The number of days to retain and untagged manifest after which it gets purged.\n"},"sku":{"type":"string","description":"The SKU name of the container registry. Possible values are `Basic`, `Standard` and `Premium`.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"trustPolicyEnabled":{"type":"boolean","description":"Boolean value that indicated whether trust policy is enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"zoneRedundancyEnabled":{"type":"boolean","description":"Whether zone redundancy is enabled for this Container Registry? Changing this forces a new resource to be created. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n","willReplaceOnChanges":true}},"requiredInputs":["resourceGroupName","sku"],"stateInputs":{"description":"Input properties used for looking up and filtering Registry resources.\n","properties":{"adminEnabled":{"type":"boolean","description":"Specifies whether the admin user is enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"adminPassword":{"type":"string","description":"The Password associated with the Container Registry Admin account - if the admin account is enabled.\n","secret":true},"adminUsername":{"type":"string","description":"The Username associated with the Container Registry Admin account - if the admin account is enabled.\n"},"anonymousPullEnabled":{"type":"boolean","description":"Whether to allow anonymous (unauthenticated) pull access to this Container Registry. This is only supported on resources with the `Standard` or `Premium` SKU.\n"},"dataEndpointEnabled":{"type":"boolean","description":"Whether to enable dedicated data endpoints for this Container Registry? This is only supported on resources with the `Premium` SKU.\n"},"dataEndpointHostNames":{"type":"array","items":{"type":"string"},"description":"A set of data endpoint hostnames associated with the container registry if data endpoints are enabled.\n"},"encryption":{"$ref":"#/types/azure:containerservice/RegistryEncryption:RegistryEncryption","description":"An \u003cspan pulumi-lang-nodejs=\"`encryption`\" pulumi-lang-dotnet=\"`Encryption`\" pulumi-lang-go=\"`encryption`\" pulumi-lang-python=\"`encryption`\" pulumi-lang-yaml=\"`encryption`\" pulumi-lang-java=\"`encryption`\"\u003e`encryption`\u003c/span\u003e block as documented below.\n"},"exportPolicyEnabled":{"type":"boolean","description":"Boolean value that indicates whether export policy is enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e. In order to set it to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e, make sure the \u003cspan pulumi-lang-nodejs=\"`publicNetworkAccessEnabled`\" pulumi-lang-dotnet=\"`PublicNetworkAccessEnabled`\" pulumi-lang-go=\"`publicNetworkAccessEnabled`\" pulumi-lang-python=\"`public_network_access_enabled`\" pulumi-lang-yaml=\"`publicNetworkAccessEnabled`\" pulumi-lang-java=\"`publicNetworkAccessEnabled`\"\u003e`public_network_access_enabled`\u003c/span\u003e is also set to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`quarantinePolicyEnabled`\" pulumi-lang-dotnet=\"`QuarantinePolicyEnabled`\" pulumi-lang-go=\"`quarantinePolicyEnabled`\" pulumi-lang-python=\"`quarantine_policy_enabled`\" pulumi-lang-yaml=\"`quarantinePolicyEnabled`\" pulumi-lang-java=\"`quarantinePolicyEnabled`\"\u003e`quarantine_policy_enabled`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`retentionPolicyInDays`\" pulumi-lang-dotnet=\"`RetentionPolicyInDays`\" pulumi-lang-go=\"`retentionPolicyInDays`\" pulumi-lang-python=\"`retention_policy_in_days`\" pulumi-lang-yaml=\"`retentionPolicyInDays`\" pulumi-lang-java=\"`retentionPolicyInDays`\"\u003e`retention_policy_in_days`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`trustPolicyEnabled`\" pulumi-lang-dotnet=\"`TrustPolicyEnabled`\" pulumi-lang-go=\"`trustPolicyEnabled`\" pulumi-lang-python=\"`trust_policy_enabled`\" pulumi-lang-yaml=\"`trustPolicyEnabled`\" pulumi-lang-java=\"`trustPolicyEnabled`\"\u003e`trust_policy_enabled`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`exportPolicyEnabled`\" pulumi-lang-dotnet=\"`ExportPolicyEnabled`\" pulumi-lang-go=\"`exportPolicyEnabled`\" pulumi-lang-python=\"`export_policy_enabled`\" pulumi-lang-yaml=\"`exportPolicyEnabled`\" pulumi-lang-java=\"`exportPolicyEnabled`\"\u003e`export_policy_enabled`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`zoneRedundancyEnabled`\" pulumi-lang-dotnet=\"`ZoneRedundancyEnabled`\" pulumi-lang-go=\"`zoneRedundancyEnabled`\" pulumi-lang-python=\"`zone_redundancy_enabled`\" pulumi-lang-yaml=\"`zoneRedundancyEnabled`\" pulumi-lang-java=\"`zoneRedundancyEnabled`\"\u003e`zone_redundancy_enabled`\u003c/span\u003e are only supported on resources with the `Premium` SKU.\n"},"georeplications":{"type":"array","items":{"$ref":"#/types/azure:containerservice/RegistryGeoreplication:RegistryGeoreplication"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`georeplications`\" pulumi-lang-dotnet=\"`Georeplications`\" pulumi-lang-go=\"`georeplications`\" pulumi-lang-python=\"`georeplications`\" pulumi-lang-yaml=\"`georeplications`\" pulumi-lang-java=\"`georeplications`\"\u003e`georeplications`\u003c/span\u003e blocks as documented below.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`georeplications`\" pulumi-lang-dotnet=\"`Georeplications`\" pulumi-lang-go=\"`georeplications`\" pulumi-lang-python=\"`georeplications`\" pulumi-lang-yaml=\"`georeplications`\" pulumi-lang-java=\"`georeplications`\"\u003e`georeplications`\u003c/span\u003e is only supported on new resources with the `Premium` SKU.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`georeplications`\" pulumi-lang-dotnet=\"`Georeplications`\" pulumi-lang-go=\"`georeplications`\" pulumi-lang-python=\"`georeplications`\" pulumi-lang-yaml=\"`georeplications`\" pulumi-lang-java=\"`georeplications`\"\u003e`georeplications`\u003c/span\u003e list cannot contain the location where the Container Registry exists.\n\n\u003e **Note:** If more than one \u003cspan pulumi-lang-nodejs=\"`georeplications`\" pulumi-lang-dotnet=\"`Georeplications`\" pulumi-lang-go=\"`georeplications`\" pulumi-lang-python=\"`georeplications`\" pulumi-lang-yaml=\"`georeplications`\" pulumi-lang-java=\"`georeplications`\"\u003e`georeplications`\u003c/span\u003e block is specified, they are expected to follow the alphabetic order on the \u003cspan pulumi-lang-nodejs=\"`location`\" pulumi-lang-dotnet=\"`Location`\" pulumi-lang-go=\"`location`\" pulumi-lang-python=\"`location`\" pulumi-lang-yaml=\"`location`\" pulumi-lang-java=\"`location`\"\u003e`location`\u003c/span\u003e property.\n"},"identity":{"$ref":"#/types/azure:containerservice/RegistryIdentity:RegistryIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"loginServer":{"type":"string","description":"The URL that can be used to log into the container registry.\n"},"name":{"type":"string","description":"Specifies the name of the Container Registry. Only Alphanumeric characters allowed. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"networkRuleBypassOption":{"type":"string","description":"Whether to allow trusted Azure services to access a network-restricted Container Registry? Possible values are `None` and `AzureServices`. Defaults to `AzureServices`.\n"},"networkRuleSet":{"$ref":"#/types/azure:containerservice/RegistryNetworkRuleSet:RegistryNetworkRuleSet","description":"A \u003cspan pulumi-lang-nodejs=\"`networkRuleSet`\" pulumi-lang-dotnet=\"`NetworkRuleSet`\" pulumi-lang-go=\"`networkRuleSet`\" pulumi-lang-python=\"`network_rule_set`\" pulumi-lang-yaml=\"`networkRuleSet`\" pulumi-lang-java=\"`networkRuleSet`\"\u003e`network_rule_set`\u003c/span\u003e block as documented below.\n"},"publicNetworkAccessEnabled":{"type":"boolean","description":"Whether public network access is allowed for the container registry. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"quarantinePolicyEnabled":{"type":"boolean","description":"Boolean value that indicates whether quarantine policy is enabled.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the Container Registry. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"retentionPolicyInDays":{"type":"integer","description":"The number of days to retain and untagged manifest after which it gets purged.\n"},"sku":{"type":"string","description":"The SKU name of the container registry. Possible values are `Basic`, `Standard` and `Premium`.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"trustPolicyEnabled":{"type":"boolean","description":"Boolean value that indicated whether trust policy is enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"zoneRedundancyEnabled":{"type":"boolean","description":"Whether zone redundancy is enabled for this Container Registry? Changing this forces a new resource to be created. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:containerservice/registryAgentPool:RegistryAgentPool":{"description":"Manages an Azure Container Registry Agent Pool.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example\",\n    location: \"West Europ\",\n});\nconst exampleRegistry = new azure.containerservice.Registry(\"example\", {\n    name: \"example\",\n    resourceGroupName: example.name,\n    location: example.location,\n    sku: \"Premium\",\n});\nconst exampleRegistryAgentPool = new azure.containerservice.RegistryAgentPool(\"example\", {\n    name: \"example\",\n    resourceGroupName: example.name,\n    location: example.location,\n    containerRegistryName: exampleRegistry.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example\",\n    location=\"West Europ\")\nexample_registry = azure.containerservice.Registry(\"example\",\n    name=\"example\",\n    resource_group_name=example.name,\n    location=example.location,\n    sku=\"Premium\")\nexample_registry_agent_pool = azure.containerservice.RegistryAgentPool(\"example\",\n    name=\"example\",\n    resource_group_name=example.name,\n    location=example.location,\n    container_registry_name=example_registry.name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example\",\n        Location = \"West Europ\",\n    });\n\n    var exampleRegistry = new Azure.ContainerService.Registry(\"example\", new()\n    {\n        Name = \"example\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        Sku = \"Premium\",\n    });\n\n    var exampleRegistryAgentPool = new Azure.ContainerService.RegistryAgentPool(\"example\", new()\n    {\n        Name = \"example\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        ContainerRegistryName = exampleRegistry.Name,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/containerservice\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example\"),\n\t\t\tLocation: pulumi.String(\"West Europ\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleRegistry, err := containerservice.NewRegistry(ctx, \"example\", \u0026containerservice.RegistryArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tSku:               pulumi.String(\"Premium\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = containerservice.NewRegistryAgentPool(ctx, \"example\", \u0026containerservice.RegistryAgentPoolArgs{\n\t\t\tName:                  pulumi.String(\"example\"),\n\t\t\tResourceGroupName:     example.Name,\n\t\t\tLocation:              example.Location,\n\t\t\tContainerRegistryName: exampleRegistry.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.containerservice.Registry;\nimport com.pulumi.azure.containerservice.RegistryArgs;\nimport com.pulumi.azure.containerservice.RegistryAgentPool;\nimport com.pulumi.azure.containerservice.RegistryAgentPoolArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example\")\n            .location(\"West Europ\")\n            .build());\n\n        var exampleRegistry = new Registry(\"exampleRegistry\", RegistryArgs.builder()\n            .name(\"example\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .sku(\"Premium\")\n            .build());\n\n        var exampleRegistryAgentPool = new RegistryAgentPool(\"exampleRegistryAgentPool\", RegistryAgentPoolArgs.builder()\n            .name(\"example\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .containerRegistryName(exampleRegistry.name())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example\n      location: West Europ\n  exampleRegistry:\n    type: azure:containerservice:Registry\n    name: example\n    properties:\n      name: example\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      sku: Premium\n  exampleRegistryAgentPool:\n    type: azure:containerservice:RegistryAgentPool\n    name: example\n    properties:\n      name: example\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      containerRegistryName: ${exampleRegistry.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.ContainerRegistry` - 2019-06-01-preview\n\n## Import\n\nAzure Container Registry Agent Pool can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:containerservice/registryAgentPool:RegistryAgentPool example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resGroup1/providers/Microsoft.ContainerRegistry/registries/registry1/agentPools/agentpool1\n```\n\n","properties":{"containerRegistryName":{"type":"string","description":"Name of Azure Container Registry to create an Agent Pool for. Changing this forces a new Azure Container Registry Agent Pool to be created.\n"},"instanceCount":{"type":"integer","description":"VMSS instance count. Defaults to \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e.\n"},"location":{"type":"string","description":"The Azure Region where the Azure Container Registry Agent Pool should exist. Changing this forces a new Azure Container Registry Agent Pool to be created.\n"},"name":{"type":"string","description":"The name which should be used for this Azure Container Registry Agent Pool. Changing this forces a new Azure Container Registry Agent Pool to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Azure Container Registry Agent Pool should exist. Changing this forces a new Azure Container Registry Agent Pool to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Azure Container Registry Agent Pool.\n"},"tier":{"type":"string","description":"Sets the VM your agent pool will run on. Valid values are: `S1` (2 vCPUs, 3 GiB RAM), `S2` (4 vCPUs, 8 GiB RAM), `S3` (8 vCPUs, 16 GiB RAM) or `I6` (64 vCPUs, 216 GiB RAM, Isolated). Defaults to `S1`. Changing this forces a new Azure Container Registry Agent Pool to be created.\n"},"virtualNetworkSubnetId":{"type":"string","description":"The ID of the Virtual Network Subnet Resource where the agent machines will be running. Changing this forces a new Azure Container Registry Agent Pool to be created.\n"}},"required":["containerRegistryName","location","name","resourceGroupName"],"inputProperties":{"containerRegistryName":{"type":"string","description":"Name of Azure Container Registry to create an Agent Pool for. Changing this forces a new Azure Container Registry Agent Pool to be created.\n","willReplaceOnChanges":true},"instanceCount":{"type":"integer","description":"VMSS instance count. Defaults to \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e.\n"},"location":{"type":"string","description":"The Azure Region where the Azure Container Registry Agent Pool should exist. Changing this forces a new Azure Container Registry Agent Pool to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Azure Container Registry Agent Pool. Changing this forces a new Azure Container Registry Agent Pool to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Azure Container Registry Agent Pool should exist. Changing this forces a new Azure Container Registry Agent Pool to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Azure Container Registry Agent Pool.\n"},"tier":{"type":"string","description":"Sets the VM your agent pool will run on. Valid values are: `S1` (2 vCPUs, 3 GiB RAM), `S2` (4 vCPUs, 8 GiB RAM), `S3` (8 vCPUs, 16 GiB RAM) or `I6` (64 vCPUs, 216 GiB RAM, Isolated). Defaults to `S1`. Changing this forces a new Azure Container Registry Agent Pool to be created.\n","willReplaceOnChanges":true},"virtualNetworkSubnetId":{"type":"string","description":"The ID of the Virtual Network Subnet Resource where the agent machines will be running. Changing this forces a new Azure Container Registry Agent Pool to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["containerRegistryName","resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering RegistryAgentPool resources.\n","properties":{"containerRegistryName":{"type":"string","description":"Name of Azure Container Registry to create an Agent Pool for. Changing this forces a new Azure Container Registry Agent Pool to be created.\n","willReplaceOnChanges":true},"instanceCount":{"type":"integer","description":"VMSS instance count. Defaults to \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e.\n"},"location":{"type":"string","description":"The Azure Region where the Azure Container Registry Agent Pool should exist. Changing this forces a new Azure Container Registry Agent Pool to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Azure Container Registry Agent Pool. Changing this forces a new Azure Container Registry Agent Pool to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Azure Container Registry Agent Pool should exist. Changing this forces a new Azure Container Registry Agent Pool to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Azure Container Registry Agent Pool.\n"},"tier":{"type":"string","description":"Sets the VM your agent pool will run on. Valid values are: `S1` (2 vCPUs, 3 GiB RAM), `S2` (4 vCPUs, 8 GiB RAM), `S3` (8 vCPUs, 16 GiB RAM) or `I6` (64 vCPUs, 216 GiB RAM, Isolated). Defaults to `S1`. Changing this forces a new Azure Container Registry Agent Pool to be created.\n","willReplaceOnChanges":true},"virtualNetworkSubnetId":{"type":"string","description":"The ID of the Virtual Network Subnet Resource where the agent machines will be running. Changing this forces a new Azure Container Registry Agent Pool to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:containerservice/registryCacheRule:RegistryCacheRule":{"description":"Manages an Azure Container Registry Cache Rule.\n\n\u003e **Note:** All arguments including the access key will be stored in the raw state as plain-text.\n[Read more about sensitive data in state](https://www.terraform.io/docs/state/sensitive-data.html).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst acr = new azure.containerservice.Registry(\"acr\", {\n    name: \"containerRegistry1\",\n    resourceGroupName: example.name,\n    location: example.location,\n    sku: \"Basic\",\n});\nconst cacheRule = new azure.containerservice.RegistryCacheRule(\"cache_rule\", {\n    name: \"cacherule\",\n    containerRegistryId: acr.id,\n    targetRepo: \"target\",\n    sourceRepo: \"docker.io/hello-world\",\n    credentialSetId: pulumi.interpolate`${acr.id}/credentialSets/example`,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nacr = azure.containerservice.Registry(\"acr\",\n    name=\"containerRegistry1\",\n    resource_group_name=example.name,\n    location=example.location,\n    sku=\"Basic\")\ncache_rule = azure.containerservice.RegistryCacheRule(\"cache_rule\",\n    name=\"cacherule\",\n    container_registry_id=acr.id,\n    target_repo=\"target\",\n    source_repo=\"docker.io/hello-world\",\n    credential_set_id=acr.id.apply(lambda id: f\"{id}/credentialSets/example\"))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var acr = new Azure.ContainerService.Registry(\"acr\", new()\n    {\n        Name = \"containerRegistry1\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        Sku = \"Basic\",\n    });\n\n    var cacheRule = new Azure.ContainerService.RegistryCacheRule(\"cache_rule\", new()\n    {\n        Name = \"cacherule\",\n        ContainerRegistryId = acr.Id,\n        TargetRepo = \"target\",\n        SourceRepo = \"docker.io/hello-world\",\n        CredentialSetId = acr.Id.Apply(id =\u003e $\"{id}/credentialSets/example\"),\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/containerservice\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tacr, err := containerservice.NewRegistry(ctx, \"acr\", \u0026containerservice.RegistryArgs{\n\t\t\tName:              pulumi.String(\"containerRegistry1\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tSku:               pulumi.String(\"Basic\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = containerservice.NewRegistryCacheRule(ctx, \"cache_rule\", \u0026containerservice.RegistryCacheRuleArgs{\n\t\t\tName:                pulumi.String(\"cacherule\"),\n\t\t\tContainerRegistryId: acr.ID(),\n\t\t\tTargetRepo:          pulumi.String(\"target\"),\n\t\t\tSourceRepo:          pulumi.String(\"docker.io/hello-world\"),\n\t\t\tCredentialSetId: acr.ID().ApplyT(func(id string) (string, error) {\n\t\t\t\treturn fmt.Sprintf(\"%v/credentialSets/example\", id), nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.containerservice.Registry;\nimport com.pulumi.azure.containerservice.RegistryArgs;\nimport com.pulumi.azure.containerservice.RegistryCacheRule;\nimport com.pulumi.azure.containerservice.RegistryCacheRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var acr = new Registry(\"acr\", RegistryArgs.builder()\n            .name(\"containerRegistry1\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .sku(\"Basic\")\n            .build());\n\n        var cacheRule = new RegistryCacheRule(\"cacheRule\", RegistryCacheRuleArgs.builder()\n            .name(\"cacherule\")\n            .containerRegistryId(acr.id())\n            .targetRepo(\"target\")\n            .sourceRepo(\"docker.io/hello-world\")\n            .credentialSetId(acr.id().applyValue(_id -\u003e String.format(\"%s/credentialSets/example\", _id)))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  acr:\n    type: azure:containerservice:Registry\n    properties:\n      name: containerRegistry1\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      sku: Basic\n  cacheRule:\n    type: azure:containerservice:RegistryCacheRule\n    name: cache_rule\n    properties:\n      name: cacherule\n      containerRegistryId: ${acr.id}\n      targetRepo: target\n      sourceRepo: docker.io/hello-world\n      credentialSetId: ${acr.id}/credentialSets/example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.ContainerRegistry` - 2023-07-01\n\n## Import\n\nContainer Registry Cache Rules can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:containerservice/registryCacheRule:RegistryCacheRule example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/cacheRules/myCacheRule\n```\n\n","properties":{"containerRegistryId":{"type":"string","description":"The ID of the Container Registry where the Cache Rule should apply. Changing this forces a new resource to be created.\n"},"credentialSetId":{"type":"string","description":"The ARM resource ID of the Credential Store which is associated with the Cache Rule.\n"},"name":{"type":"string","description":"Specifies the name of the Container Registry Cache Rule. Only Alphanumeric characters allowed. Changing this forces a new resource to be created.\n"},"sourceRepo":{"type":"string","description":"The name of the source repository path. Changing this forces a new resource to be created.\n"},"targetRepo":{"type":"string","description":"The name of the new repository path to store artifacts. Changing this forces a new resource to be created.\n"}},"required":["containerRegistryId","name","sourceRepo","targetRepo"],"inputProperties":{"containerRegistryId":{"type":"string","description":"The ID of the Container Registry where the Cache Rule should apply. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"credentialSetId":{"type":"string","description":"The ARM resource ID of the Credential Store which is associated with the Cache Rule.\n"},"name":{"type":"string","description":"Specifies the name of the Container Registry Cache Rule. Only Alphanumeric characters allowed. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sourceRepo":{"type":"string","description":"The name of the source repository path. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"targetRepo":{"type":"string","description":"The name of the new repository path to store artifacts. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["containerRegistryId","sourceRepo","targetRepo"],"stateInputs":{"description":"Input properties used for looking up and filtering RegistryCacheRule resources.\n","properties":{"containerRegistryId":{"type":"string","description":"The ID of the Container Registry where the Cache Rule should apply. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"credentialSetId":{"type":"string","description":"The ARM resource ID of the Credential Store which is associated with the Cache Rule.\n"},"name":{"type":"string","description":"Specifies the name of the Container Registry Cache Rule. Only Alphanumeric characters allowed. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sourceRepo":{"type":"string","description":"The name of the source repository path. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"targetRepo":{"type":"string","description":"The name of the new repository path to store artifacts. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:containerservice/registryCredentialSet:RegistryCredentialSet":{"description":"Manages a Container Registry Credential Set.\n\n## Example Usage\n\n### Minimal)\n\n\u003e **Note:** Be aware that you will need to permit the Identity that is created for the Container Registry to have \u003cspan pulumi-lang-nodejs=\"`get`\" pulumi-lang-dotnet=\"`Get`\" pulumi-lang-go=\"`get`\" pulumi-lang-python=\"`get`\" pulumi-lang-yaml=\"`get`\" pulumi-lang-java=\"`get`\"\u003e`get`\u003c/span\u003e on secrets to the Key Vault, e.g. using the \u003cspan pulumi-lang-nodejs=\"`azure.keyvault.AccessPolicy`\" pulumi-lang-dotnet=\"`azure.keyvault.AccessPolicy`\" pulumi-lang-go=\"`keyvault.AccessPolicy`\" pulumi-lang-python=\"`keyvault.AccessPolicy`\" pulumi-lang-yaml=\"`azure.keyvault.AccessPolicy`\" pulumi-lang-java=\"`azure.keyvault.AccessPolicy`\"\u003e`azure.keyvault.AccessPolicy`\u003c/span\u003e resource.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleRegistry = new azure.containerservice.Registry(\"example\", {\n    name: \"exampleContainerRegistry\",\n    resourceGroupName: example.name,\n    location: example.location,\n    sku: \"Basic\",\n});\nconst exampleRegistryCredentialSet = new azure.containerservice.RegistryCredentialSet(\"example\", {\n    name: \"exampleCredentialSet\",\n    containerRegistryId: exampleRegistry.id,\n    loginServer: \"docker.io\",\n    identity: {\n        type: \"SystemAssigned\",\n    },\n    authenticationCredentials: {\n        usernameSecretId: \"https://example-keyvault.vault.azure.net/secrets/example-user-name\",\n        passwordSecretId: \"https://example-keyvault.vault.azure.net/secrets/example-user-password\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_registry = azure.containerservice.Registry(\"example\",\n    name=\"exampleContainerRegistry\",\n    resource_group_name=example.name,\n    location=example.location,\n    sku=\"Basic\")\nexample_registry_credential_set = azure.containerservice.RegistryCredentialSet(\"example\",\n    name=\"exampleCredentialSet\",\n    container_registry_id=example_registry.id,\n    login_server=\"docker.io\",\n    identity={\n        \"type\": \"SystemAssigned\",\n    },\n    authentication_credentials={\n        \"username_secret_id\": \"https://example-keyvault.vault.azure.net/secrets/example-user-name\",\n        \"password_secret_id\": \"https://example-keyvault.vault.azure.net/secrets/example-user-password\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleRegistry = new Azure.ContainerService.Registry(\"example\", new()\n    {\n        Name = \"exampleContainerRegistry\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        Sku = \"Basic\",\n    });\n\n    var exampleRegistryCredentialSet = new Azure.ContainerService.RegistryCredentialSet(\"example\", new()\n    {\n        Name = \"exampleCredentialSet\",\n        ContainerRegistryId = exampleRegistry.Id,\n        LoginServer = \"docker.io\",\n        Identity = new Azure.ContainerService.Inputs.RegistryCredentialSetIdentityArgs\n        {\n            Type = \"SystemAssigned\",\n        },\n        AuthenticationCredentials = new Azure.ContainerService.Inputs.RegistryCredentialSetAuthenticationCredentialsArgs\n        {\n            UsernameSecretId = \"https://example-keyvault.vault.azure.net/secrets/example-user-name\",\n            PasswordSecretId = \"https://example-keyvault.vault.azure.net/secrets/example-user-password\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/containerservice\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleRegistry, err := containerservice.NewRegistry(ctx, \"example\", \u0026containerservice.RegistryArgs{\n\t\t\tName:              pulumi.String(\"exampleContainerRegistry\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tSku:               pulumi.String(\"Basic\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = containerservice.NewRegistryCredentialSet(ctx, \"example\", \u0026containerservice.RegistryCredentialSetArgs{\n\t\t\tName:                pulumi.String(\"exampleCredentialSet\"),\n\t\t\tContainerRegistryId: exampleRegistry.ID(),\n\t\t\tLoginServer:         pulumi.String(\"docker.io\"),\n\t\t\tIdentity: \u0026containerservice.RegistryCredentialSetIdentityArgs{\n\t\t\t\tType: pulumi.String(\"SystemAssigned\"),\n\t\t\t},\n\t\t\tAuthenticationCredentials: \u0026containerservice.RegistryCredentialSetAuthenticationCredentialsArgs{\n\t\t\t\tUsernameSecretId: pulumi.String(\"https://example-keyvault.vault.azure.net/secrets/example-user-name\"),\n\t\t\t\tPasswordSecretId: pulumi.String(\"https://example-keyvault.vault.azure.net/secrets/example-user-password\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.containerservice.Registry;\nimport com.pulumi.azure.containerservice.RegistryArgs;\nimport com.pulumi.azure.containerservice.RegistryCredentialSet;\nimport com.pulumi.azure.containerservice.RegistryCredentialSetArgs;\nimport com.pulumi.azure.containerservice.inputs.RegistryCredentialSetIdentityArgs;\nimport com.pulumi.azure.containerservice.inputs.RegistryCredentialSetAuthenticationCredentialsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleRegistry = new Registry(\"exampleRegistry\", RegistryArgs.builder()\n            .name(\"exampleContainerRegistry\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .sku(\"Basic\")\n            .build());\n\n        var exampleRegistryCredentialSet = new RegistryCredentialSet(\"exampleRegistryCredentialSet\", RegistryCredentialSetArgs.builder()\n            .name(\"exampleCredentialSet\")\n            .containerRegistryId(exampleRegistry.id())\n            .loginServer(\"docker.io\")\n            .identity(RegistryCredentialSetIdentityArgs.builder()\n                .type(\"SystemAssigned\")\n                .build())\n            .authenticationCredentials(RegistryCredentialSetAuthenticationCredentialsArgs.builder()\n                .usernameSecretId(\"https://example-keyvault.vault.azure.net/secrets/example-user-name\")\n                .passwordSecretId(\"https://example-keyvault.vault.azure.net/secrets/example-user-password\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleRegistry:\n    type: azure:containerservice:Registry\n    name: example\n    properties:\n      name: exampleContainerRegistry\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      sku: Basic\n  exampleRegistryCredentialSet:\n    type: azure:containerservice:RegistryCredentialSet\n    name: example\n    properties:\n      name: exampleCredentialSet\n      containerRegistryId: ${exampleRegistry.id}\n      loginServer: docker.io\n      identity:\n        type: SystemAssigned\n      authenticationCredentials:\n        usernameSecretId: https://example-keyvault.vault.azure.net/secrets/example-user-name\n        passwordSecretId: https://example-keyvault.vault.azure.net/secrets/example-user-password\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\n### Full)\n\nThis example provisions a key vault with two secrets, a container registry, a container registry credential set, and an access policy to allow the container registry to read the secrets from the key vault.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst current = azure.core.getClientConfig({});\nconst exampleKeyVault = new azure.keyvault.KeyVault(\"example\", {\n    name: \"examplekeyvault\",\n    location: example.location,\n    resourceGroupName: example.name,\n    tenantId: current.then(current =\u003e current.tenantId),\n    skuName: \"standard\",\n    softDeleteRetentionDays: 7,\n    accessPolicies: [{\n        tenantId: current.then(current =\u003e current.tenantId),\n        objectId: current.then(current =\u003e current.objectId),\n        certificatePermissions: [],\n        keyPermissions: [],\n        secretPermissions: [\n            \"Get\",\n            \"Set\",\n            \"Delete\",\n            \"Purge\",\n        ],\n    }],\n});\nconst exampleUser = new azure.keyvault.Secret(\"example_user\", {\n    keyVaultId: exampleKeyVault.id,\n    name: \"example-user-name\",\n    value: \"name\",\n});\nconst examplePassword = new azure.keyvault.Secret(\"example_password\", {\n    keyVaultId: exampleKeyVault.id,\n    name: \"example-user-password\",\n    value: \"password\",\n});\nconst exampleRegistry = new azure.containerservice.Registry(\"example\", {\n    name: \"exampleContainerRegistry\",\n    resourceGroupName: example.name,\n    location: example.location,\n    sku: \"Basic\",\n});\nconst exampleRegistryCredentialSet = new azure.containerservice.RegistryCredentialSet(\"example\", {\n    name: \"exampleCredentialSet\",\n    containerRegistryId: exampleRegistry.id,\n    loginServer: \"docker.io\",\n    identity: {\n        type: \"SystemAssigned\",\n    },\n    authenticationCredentials: {\n        usernameSecretId: exampleUser.versionlessId,\n        passwordSecretId: examplePassword.versionlessId,\n    },\n});\nconst readSecrets = new azure.keyvault.AccessPolicy(\"read_secrets\", {\n    keyVaultId: exampleKeyVault.id,\n    tenantId: exampleRegistryCredentialSet.identity.apply(identity =\u003e identity.tenantId),\n    objectId: exampleRegistryCredentialSet.identity.apply(identity =\u003e identity.principalId),\n    secretPermissions: [\"Get\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\ncurrent = azure.core.get_client_config()\nexample_key_vault = azure.keyvault.KeyVault(\"example\",\n    name=\"examplekeyvault\",\n    location=example.location,\n    resource_group_name=example.name,\n    tenant_id=current.tenant_id,\n    sku_name=\"standard\",\n    soft_delete_retention_days=7,\n    access_policies=[{\n        \"tenant_id\": current.tenant_id,\n        \"object_id\": current.object_id,\n        \"certificate_permissions\": [],\n        \"key_permissions\": [],\n        \"secret_permissions\": [\n            \"Get\",\n            \"Set\",\n            \"Delete\",\n            \"Purge\",\n        ],\n    }])\nexample_user = azure.keyvault.Secret(\"example_user\",\n    key_vault_id=example_key_vault.id,\n    name=\"example-user-name\",\n    value=\"name\")\nexample_password = azure.keyvault.Secret(\"example_password\",\n    key_vault_id=example_key_vault.id,\n    name=\"example-user-password\",\n    value=\"password\")\nexample_registry = azure.containerservice.Registry(\"example\",\n    name=\"exampleContainerRegistry\",\n    resource_group_name=example.name,\n    location=example.location,\n    sku=\"Basic\")\nexample_registry_credential_set = azure.containerservice.RegistryCredentialSet(\"example\",\n    name=\"exampleCredentialSet\",\n    container_registry_id=example_registry.id,\n    login_server=\"docker.io\",\n    identity={\n        \"type\": \"SystemAssigned\",\n    },\n    authentication_credentials={\n        \"username_secret_id\": example_user.versionless_id,\n        \"password_secret_id\": example_password.versionless_id,\n    })\nread_secrets = azure.keyvault.AccessPolicy(\"read_secrets\",\n    key_vault_id=example_key_vault.id,\n    tenant_id=example_registry_credential_set.identity.tenant_id,\n    object_id=example_registry_credential_set.identity.principal_id,\n    secret_permissions=[\"Get\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var current = Azure.Core.GetClientConfig.Invoke();\n\n    var exampleKeyVault = new Azure.KeyVault.KeyVault(\"example\", new()\n    {\n        Name = \"examplekeyvault\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        TenantId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.TenantId),\n        SkuName = \"standard\",\n        SoftDeleteRetentionDays = 7,\n        AccessPolicies = new[]\n        {\n            new Azure.KeyVault.Inputs.KeyVaultAccessPolicyArgs\n            {\n                TenantId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.TenantId),\n                ObjectId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.ObjectId),\n                CertificatePermissions = new() { },\n                KeyPermissions = new() { },\n                SecretPermissions = new[]\n                {\n                    \"Get\",\n                    \"Set\",\n                    \"Delete\",\n                    \"Purge\",\n                },\n            },\n        },\n    });\n\n    var exampleUser = new Azure.KeyVault.Secret(\"example_user\", new()\n    {\n        KeyVaultId = exampleKeyVault.Id,\n        Name = \"example-user-name\",\n        Value = \"name\",\n    });\n\n    var examplePassword = new Azure.KeyVault.Secret(\"example_password\", new()\n    {\n        KeyVaultId = exampleKeyVault.Id,\n        Name = \"example-user-password\",\n        Value = \"password\",\n    });\n\n    var exampleRegistry = new Azure.ContainerService.Registry(\"example\", new()\n    {\n        Name = \"exampleContainerRegistry\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        Sku = \"Basic\",\n    });\n\n    var exampleRegistryCredentialSet = new Azure.ContainerService.RegistryCredentialSet(\"example\", new()\n    {\n        Name = \"exampleCredentialSet\",\n        ContainerRegistryId = exampleRegistry.Id,\n        LoginServer = \"docker.io\",\n        Identity = new Azure.ContainerService.Inputs.RegistryCredentialSetIdentityArgs\n        {\n            Type = \"SystemAssigned\",\n        },\n        AuthenticationCredentials = new Azure.ContainerService.Inputs.RegistryCredentialSetAuthenticationCredentialsArgs\n        {\n            UsernameSecretId = exampleUser.VersionlessId,\n            PasswordSecretId = examplePassword.VersionlessId,\n        },\n    });\n\n    var readSecrets = new Azure.KeyVault.AccessPolicy(\"read_secrets\", new()\n    {\n        KeyVaultId = exampleKeyVault.Id,\n        TenantId = exampleRegistryCredentialSet.Identity.Apply(identity =\u003e identity.TenantId),\n        ObjectId = exampleRegistryCredentialSet.Identity.Apply(identity =\u003e identity.PrincipalId),\n        SecretPermissions = new[]\n        {\n            \"Get\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/containerservice\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/keyvault\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrent, err := core.GetClientConfig(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleKeyVault, err := keyvault.NewKeyVault(ctx, \"example\", \u0026keyvault.KeyVaultArgs{\n\t\t\tName:                    pulumi.String(\"examplekeyvault\"),\n\t\t\tLocation:                example.Location,\n\t\t\tResourceGroupName:       example.Name,\n\t\t\tTenantId:                pulumi.String(current.TenantId),\n\t\t\tSkuName:                 pulumi.String(\"standard\"),\n\t\t\tSoftDeleteRetentionDays: pulumi.Int(7),\n\t\t\tAccessPolicies: keyvault.KeyVaultAccessPolicyArray{\n\t\t\t\t\u0026keyvault.KeyVaultAccessPolicyArgs{\n\t\t\t\t\tTenantId:               pulumi.String(current.TenantId),\n\t\t\t\t\tObjectId:               pulumi.String(current.ObjectId),\n\t\t\t\t\tCertificatePermissions: pulumi.StringArray{},\n\t\t\t\t\tKeyPermissions:         pulumi.StringArray{},\n\t\t\t\t\tSecretPermissions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"Get\"),\n\t\t\t\t\t\tpulumi.String(\"Set\"),\n\t\t\t\t\t\tpulumi.String(\"Delete\"),\n\t\t\t\t\t\tpulumi.String(\"Purge\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleUser, err := keyvault.NewSecret(ctx, \"example_user\", \u0026keyvault.SecretArgs{\n\t\t\tKeyVaultId: exampleKeyVault.ID(),\n\t\t\tName:       pulumi.String(\"example-user-name\"),\n\t\t\tValue:      pulumi.String(\"name\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texamplePassword, err := keyvault.NewSecret(ctx, \"example_password\", \u0026keyvault.SecretArgs{\n\t\t\tKeyVaultId: exampleKeyVault.ID(),\n\t\t\tName:       pulumi.String(\"example-user-password\"),\n\t\t\tValue:      pulumi.String(\"password\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleRegistry, err := containerservice.NewRegistry(ctx, \"example\", \u0026containerservice.RegistryArgs{\n\t\t\tName:              pulumi.String(\"exampleContainerRegistry\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tSku:               pulumi.String(\"Basic\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleRegistryCredentialSet, err := containerservice.NewRegistryCredentialSet(ctx, \"example\", \u0026containerservice.RegistryCredentialSetArgs{\n\t\t\tName:                pulumi.String(\"exampleCredentialSet\"),\n\t\t\tContainerRegistryId: exampleRegistry.ID(),\n\t\t\tLoginServer:         pulumi.String(\"docker.io\"),\n\t\t\tIdentity: \u0026containerservice.RegistryCredentialSetIdentityArgs{\n\t\t\t\tType: pulumi.String(\"SystemAssigned\"),\n\t\t\t},\n\t\t\tAuthenticationCredentials: \u0026containerservice.RegistryCredentialSetAuthenticationCredentialsArgs{\n\t\t\t\tUsernameSecretId: exampleUser.VersionlessId,\n\t\t\t\tPasswordSecretId: examplePassword.VersionlessId,\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = keyvault.NewAccessPolicy(ctx, \"read_secrets\", \u0026keyvault.AccessPolicyArgs{\n\t\t\tKeyVaultId: exampleKeyVault.ID(),\n\t\t\tTenantId: pulumi.String(exampleRegistryCredentialSet.Identity.ApplyT(func(identity containerservice.RegistryCredentialSetIdentity) (*string, error) {\n\t\t\t\treturn \u0026identity.TenantId, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tObjectId: pulumi.String(exampleRegistryCredentialSet.Identity.ApplyT(func(identity containerservice.RegistryCredentialSetIdentity) (*string, error) {\n\t\t\t\treturn \u0026identity.PrincipalId, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tSecretPermissions: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"Get\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.keyvault.KeyVault;\nimport com.pulumi.azure.keyvault.KeyVaultArgs;\nimport com.pulumi.azure.keyvault.inputs.KeyVaultAccessPolicyArgs;\nimport com.pulumi.azure.keyvault.Secret;\nimport com.pulumi.azure.keyvault.SecretArgs;\nimport com.pulumi.azure.containerservice.Registry;\nimport com.pulumi.azure.containerservice.RegistryArgs;\nimport com.pulumi.azure.containerservice.RegistryCredentialSet;\nimport com.pulumi.azure.containerservice.RegistryCredentialSetArgs;\nimport com.pulumi.azure.containerservice.inputs.RegistryCredentialSetIdentityArgs;\nimport com.pulumi.azure.containerservice.inputs.RegistryCredentialSetAuthenticationCredentialsArgs;\nimport com.pulumi.azure.keyvault.AccessPolicy;\nimport com.pulumi.azure.keyvault.AccessPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        final var current = CoreFunctions.getClientConfig(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n        var exampleKeyVault = new KeyVault(\"exampleKeyVault\", KeyVaultArgs.builder()\n            .name(\"examplekeyvault\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .tenantId(current.tenantId())\n            .skuName(\"standard\")\n            .softDeleteRetentionDays(7)\n            .accessPolicies(KeyVaultAccessPolicyArgs.builder()\n                .tenantId(current.tenantId())\n                .objectId(current.objectId())\n                .certificatePermissions()\n                .keyPermissions()\n                .secretPermissions(                \n                    \"Get\",\n                    \"Set\",\n                    \"Delete\",\n                    \"Purge\")\n                .build())\n            .build());\n\n        var exampleUser = new Secret(\"exampleUser\", SecretArgs.builder()\n            .keyVaultId(exampleKeyVault.id())\n            .name(\"example-user-name\")\n            .value(\"name\")\n            .build());\n\n        var examplePassword = new Secret(\"examplePassword\", SecretArgs.builder()\n            .keyVaultId(exampleKeyVault.id())\n            .name(\"example-user-password\")\n            .value(\"password\")\n            .build());\n\n        var exampleRegistry = new Registry(\"exampleRegistry\", RegistryArgs.builder()\n            .name(\"exampleContainerRegistry\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .sku(\"Basic\")\n            .build());\n\n        var exampleRegistryCredentialSet = new RegistryCredentialSet(\"exampleRegistryCredentialSet\", RegistryCredentialSetArgs.builder()\n            .name(\"exampleCredentialSet\")\n            .containerRegistryId(exampleRegistry.id())\n            .loginServer(\"docker.io\")\n            .identity(RegistryCredentialSetIdentityArgs.builder()\n                .type(\"SystemAssigned\")\n                .build())\n            .authenticationCredentials(RegistryCredentialSetAuthenticationCredentialsArgs.builder()\n                .usernameSecretId(exampleUser.versionlessId())\n                .passwordSecretId(examplePassword.versionlessId())\n                .build())\n            .build());\n\n        var readSecrets = new AccessPolicy(\"readSecrets\", AccessPolicyArgs.builder()\n            .keyVaultId(exampleKeyVault.id())\n            .tenantId(exampleRegistryCredentialSet.identity().applyValue(_identity -\u003e _identity.tenantId()))\n            .objectId(exampleRegistryCredentialSet.identity().applyValue(_identity -\u003e _identity.principalId()))\n            .secretPermissions(\"Get\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleKeyVault:\n    type: azure:keyvault:KeyVault\n    name: example\n    properties:\n      name: examplekeyvault\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      tenantId: ${current.tenantId}\n      skuName: standard\n      softDeleteRetentionDays: 7\n      accessPolicies:\n        - tenantId: ${current.tenantId}\n          objectId: ${current.objectId}\n          certificatePermissions: []\n          keyPermissions: []\n          secretPermissions:\n            - Get\n            - Set\n            - Delete\n            - Purge\n  exampleUser:\n    type: azure:keyvault:Secret\n    name: example_user\n    properties:\n      keyVaultId: ${exampleKeyVault.id}\n      name: example-user-name\n      value: name\n  examplePassword:\n    type: azure:keyvault:Secret\n    name: example_password\n    properties:\n      keyVaultId: ${exampleKeyVault.id}\n      name: example-user-password\n      value: password\n  exampleRegistry:\n    type: azure:containerservice:Registry\n    name: example\n    properties:\n      name: exampleContainerRegistry\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      sku: Basic\n  exampleRegistryCredentialSet:\n    type: azure:containerservice:RegistryCredentialSet\n    name: example\n    properties:\n      name: exampleCredentialSet\n      containerRegistryId: ${exampleRegistry.id}\n      loginServer: docker.io\n      identity:\n        type: SystemAssigned\n      authenticationCredentials:\n        usernameSecretId: ${exampleUser.versionlessId}\n        passwordSecretId: ${examplePassword.versionlessId}\n  readSecrets:\n    type: azure:keyvault:AccessPolicy\n    name: read_secrets\n    properties:\n      keyVaultId: ${exampleKeyVault.id}\n      tenantId: ${exampleRegistryCredentialSet.identity.tenantId}\n      objectId: ${exampleRegistryCredentialSet.identity.principalId}\n      secretPermissions:\n        - Get\nvariables:\n  current:\n    fn::invoke:\n      function: azure:core:getClientConfig\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.ContainerRegistry` - 2023-07-01\n\n## Import\n\nContainer Registry Credential Sets can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:containerservice/registryCredentialSet:RegistryCredentialSet example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.ContainerRegistry/registries/registry1/credentialSets/credentialSet1\n```\n\n","properties":{"authenticationCredentials":{"$ref":"#/types/azure:containerservice/RegistryCredentialSetAuthenticationCredentials:RegistryCredentialSetAuthenticationCredentials","description":"A \u003cspan pulumi-lang-nodejs=\"`authenticationCredentials`\" pulumi-lang-dotnet=\"`AuthenticationCredentials`\" pulumi-lang-go=\"`authenticationCredentials`\" pulumi-lang-python=\"`authentication_credentials`\" pulumi-lang-yaml=\"`authenticationCredentials`\" pulumi-lang-java=\"`authenticationCredentials`\"\u003e`authentication_credentials`\u003c/span\u003e block as defined below.\n"},"containerRegistryId":{"type":"string","description":"The ID of the Container Registry. Changing this forces a new Container Registry Credential Set to be created.\n"},"identity":{"$ref":"#/types/azure:containerservice/RegistryCredentialSetIdentity:RegistryCredentialSetIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"loginServer":{"type":"string","description":"The login server for the Credential Set. Changing this forces a new Container Registry Credential Set to be created.\n"},"name":{"type":"string","description":"The name which should be used for this Container Registry Credential Set. Changing this forces a new Container Registry Credential Set to be created.\n"}},"required":["authenticationCredentials","containerRegistryId","identity","loginServer","name"],"inputProperties":{"authenticationCredentials":{"$ref":"#/types/azure:containerservice/RegistryCredentialSetAuthenticationCredentials:RegistryCredentialSetAuthenticationCredentials","description":"A \u003cspan pulumi-lang-nodejs=\"`authenticationCredentials`\" pulumi-lang-dotnet=\"`AuthenticationCredentials`\" pulumi-lang-go=\"`authenticationCredentials`\" pulumi-lang-python=\"`authentication_credentials`\" pulumi-lang-yaml=\"`authenticationCredentials`\" pulumi-lang-java=\"`authenticationCredentials`\"\u003e`authentication_credentials`\u003c/span\u003e block as defined below.\n"},"containerRegistryId":{"type":"string","description":"The ID of the Container Registry. Changing this forces a new Container Registry Credential Set to be created.\n","willReplaceOnChanges":true},"identity":{"$ref":"#/types/azure:containerservice/RegistryCredentialSetIdentity:RegistryCredentialSetIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"loginServer":{"type":"string","description":"The login server for the Credential Set. Changing this forces a new Container Registry Credential Set to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Container Registry Credential Set. Changing this forces a new Container Registry Credential Set to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["authenticationCredentials","containerRegistryId","identity","loginServer"],"stateInputs":{"description":"Input properties used for looking up and filtering RegistryCredentialSet resources.\n","properties":{"authenticationCredentials":{"$ref":"#/types/azure:containerservice/RegistryCredentialSetAuthenticationCredentials:RegistryCredentialSetAuthenticationCredentials","description":"A \u003cspan pulumi-lang-nodejs=\"`authenticationCredentials`\" pulumi-lang-dotnet=\"`AuthenticationCredentials`\" pulumi-lang-go=\"`authenticationCredentials`\" pulumi-lang-python=\"`authentication_credentials`\" pulumi-lang-yaml=\"`authenticationCredentials`\" pulumi-lang-java=\"`authenticationCredentials`\"\u003e`authentication_credentials`\u003c/span\u003e block as defined below.\n"},"containerRegistryId":{"type":"string","description":"The ID of the Container Registry. Changing this forces a new Container Registry Credential Set to be created.\n","willReplaceOnChanges":true},"identity":{"$ref":"#/types/azure:containerservice/RegistryCredentialSetIdentity:RegistryCredentialSetIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"loginServer":{"type":"string","description":"The login server for the Credential Set. Changing this forces a new Container Registry Credential Set to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Container Registry Credential Set. Changing this forces a new Container Registry Credential Set to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:containerservice/registryScopeMap:RegistryScopeMap":{"description":"Manages an Azure Container Registry scope map.  For more information on scope maps see the [product documentation](https://learn.microsoft.com/en-us/azure/container-registry/container-registry-repository-scoped-permissions).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resource-group\",\n    location: \"West Europe\",\n});\nconst exampleRegistry = new azure.containerservice.Registry(\"example\", {\n    name: \"exampleregistry\",\n    resourceGroupName: example.name,\n    location: example.location,\n    sku: \"Basic\",\n    adminEnabled: false,\n    georeplications: [\n        {\n            location: \"East US\",\n        },\n        {\n            location: \"West Europe\",\n        },\n    ],\n});\nconst exampleRegistryScopeMap = new azure.containerservice.RegistryScopeMap(\"example\", {\n    name: \"example-scope-map\",\n    containerRegistryName: exampleRegistry.name,\n    resourceGroupName: example.name,\n    actions: [\n        \"repositories/repo1/content/read\",\n        \"repositories/repo1/content/write\",\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resource-group\",\n    location=\"West Europe\")\nexample_registry = azure.containerservice.Registry(\"example\",\n    name=\"exampleregistry\",\n    resource_group_name=example.name,\n    location=example.location,\n    sku=\"Basic\",\n    admin_enabled=False,\n    georeplications=[\n        {\n            \"location\": \"East US\",\n        },\n        {\n            \"location\": \"West Europe\",\n        },\n    ])\nexample_registry_scope_map = azure.containerservice.RegistryScopeMap(\"example\",\n    name=\"example-scope-map\",\n    container_registry_name=example_registry.name,\n    resource_group_name=example.name,\n    actions=[\n        \"repositories/repo1/content/read\",\n        \"repositories/repo1/content/write\",\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resource-group\",\n        Location = \"West Europe\",\n    });\n\n    var exampleRegistry = new Azure.ContainerService.Registry(\"example\", new()\n    {\n        Name = \"exampleregistry\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        Sku = \"Basic\",\n        AdminEnabled = false,\n        Georeplications = new[]\n        {\n            new Azure.ContainerService.Inputs.RegistryGeoreplicationArgs\n            {\n                Location = \"East US\",\n            },\n            new Azure.ContainerService.Inputs.RegistryGeoreplicationArgs\n            {\n                Location = \"West Europe\",\n            },\n        },\n    });\n\n    var exampleRegistryScopeMap = new Azure.ContainerService.RegistryScopeMap(\"example\", new()\n    {\n        Name = \"example-scope-map\",\n        ContainerRegistryName = exampleRegistry.Name,\n        ResourceGroupName = example.Name,\n        Actions = new[]\n        {\n            \"repositories/repo1/content/read\",\n            \"repositories/repo1/content/write\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/containerservice\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resource-group\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleRegistry, err := containerservice.NewRegistry(ctx, \"example\", \u0026containerservice.RegistryArgs{\n\t\t\tName:              pulumi.String(\"exampleregistry\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tSku:               pulumi.String(\"Basic\"),\n\t\t\tAdminEnabled:      pulumi.Bool(false),\n\t\t\tGeoreplications: containerservice.RegistryGeoreplicationArray{\n\t\t\t\t\u0026containerservice.RegistryGeoreplicationArgs{\n\t\t\t\t\tLocation: pulumi.String(\"East US\"),\n\t\t\t\t},\n\t\t\t\t\u0026containerservice.RegistryGeoreplicationArgs{\n\t\t\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = containerservice.NewRegistryScopeMap(ctx, \"example\", \u0026containerservice.RegistryScopeMapArgs{\n\t\t\tName:                  pulumi.String(\"example-scope-map\"),\n\t\t\tContainerRegistryName: exampleRegistry.Name,\n\t\t\tResourceGroupName:     example.Name,\n\t\t\tActions: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"repositories/repo1/content/read\"),\n\t\t\t\tpulumi.String(\"repositories/repo1/content/write\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.containerservice.Registry;\nimport com.pulumi.azure.containerservice.RegistryArgs;\nimport com.pulumi.azure.containerservice.inputs.RegistryGeoreplicationArgs;\nimport com.pulumi.azure.containerservice.RegistryScopeMap;\nimport com.pulumi.azure.containerservice.RegistryScopeMapArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resource-group\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleRegistry = new Registry(\"exampleRegistry\", RegistryArgs.builder()\n            .name(\"exampleregistry\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .sku(\"Basic\")\n            .adminEnabled(false)\n            .georeplications(            \n                RegistryGeoreplicationArgs.builder()\n                    .location(\"East US\")\n                    .build(),\n                RegistryGeoreplicationArgs.builder()\n                    .location(\"West Europe\")\n                    .build())\n            .build());\n\n        var exampleRegistryScopeMap = new RegistryScopeMap(\"exampleRegistryScopeMap\", RegistryScopeMapArgs.builder()\n            .name(\"example-scope-map\")\n            .containerRegistryName(exampleRegistry.name())\n            .resourceGroupName(example.name())\n            .actions(            \n                \"repositories/repo1/content/read\",\n                \"repositories/repo1/content/write\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resource-group\n      location: West Europe\n  exampleRegistry:\n    type: azure:containerservice:Registry\n    name: example\n    properties:\n      name: exampleregistry\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      sku: Basic\n      adminEnabled: false\n      georeplications:\n        - location: East US\n        - location: West Europe\n  exampleRegistryScopeMap:\n    type: azure:containerservice:RegistryScopeMap\n    name: example\n    properties:\n      name: example-scope-map\n      containerRegistryName: ${exampleRegistry.name}\n      resourceGroupName: ${example.name}\n      actions:\n        - repositories/repo1/content/read\n        - repositories/repo1/content/write\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.ContainerRegistry` - 2025-11-01\n\n## Import\n\nContainer Registries can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:containerservice/registryScopeMap:RegistryScopeMap example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.ContainerRegistry/registries/myregistry1/scopeMaps/scopemap1\n```\n\n","properties":{"actions":{"type":"array","items":{"type":"string"},"description":"A list of actions to attach to the scope map (e.g. `repo/content/read`, `repo2/content/delete`).\n"},"containerRegistryName":{"type":"string","description":"The name of the Container Registry. Changing this forces a new resource to be created.\n"},"description":{"type":"string","description":"The description of the Container Registry.\n"},"name":{"type":"string","description":"Specifies the name of the scope map. Changing this forces a new resource to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the Container Registry token. Changing this forces a new resource to be created.\n"}},"required":["actions","containerRegistryName","name","resourceGroupName"],"inputProperties":{"actions":{"type":"array","items":{"type":"string"},"description":"A list of actions to attach to the scope map (e.g. `repo/content/read`, `repo2/content/delete`).\n"},"containerRegistryName":{"type":"string","description":"The name of the Container Registry. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"description":{"type":"string","description":"The description of the Container Registry.\n"},"name":{"type":"string","description":"Specifies the name of the scope map. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the Container Registry token. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["actions","containerRegistryName","resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering RegistryScopeMap resources.\n","properties":{"actions":{"type":"array","items":{"type":"string"},"description":"A list of actions to attach to the scope map (e.g. `repo/content/read`, `repo2/content/delete`).\n"},"containerRegistryName":{"type":"string","description":"The name of the Container Registry. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"description":{"type":"string","description":"The description of the Container Registry.\n"},"name":{"type":"string","description":"Specifies the name of the scope map. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the Container Registry token. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:containerservice/registryTask:RegistryTask":{"description":"Manages a Container Registry Task.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-rg\",\n    location: \"West Europe\",\n});\nconst exampleRegistry = new azure.containerservice.Registry(\"example\", {\n    name: \"example\",\n    resourceGroupName: example.name,\n    location: example.location,\n    sku: \"Basic\",\n});\nconst exampleRegistryTask = new azure.containerservice.RegistryTask(\"example\", {\n    name: \"example-task\",\n    containerRegistryId: exampleRegistry.id,\n    platform: {\n        os: \"Linux\",\n    },\n    dockerStep: {\n        dockerfilePath: \"Dockerfile\",\n        contextPath: \"https://github.com/\u003cusername\u003e/\u003crepository\u003e#\u003cbranch\u003e:\u003cfolder\u003e\",\n        contextAccessToken: \"\u003cgithub personal access token\u003e\",\n        imageNames: [\"helloworld:{{.Run.ID}}\"],\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-rg\",\n    location=\"West Europe\")\nexample_registry = azure.containerservice.Registry(\"example\",\n    name=\"example\",\n    resource_group_name=example.name,\n    location=example.location,\n    sku=\"Basic\")\nexample_registry_task = azure.containerservice.RegistryTask(\"example\",\n    name=\"example-task\",\n    container_registry_id=example_registry.id,\n    platform={\n        \"os\": \"Linux\",\n    },\n    docker_step={\n        \"dockerfile_path\": \"Dockerfile\",\n        \"context_path\": \"https://github.com/\u003cusername\u003e/\u003crepository\u003e#\u003cbranch\u003e:\u003cfolder\u003e\",\n        \"context_access_token\": \"\u003cgithub personal access token\u003e\",\n        \"image_names\": [\"helloworld:{{.Run.ID}}\"],\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-rg\",\n        Location = \"West Europe\",\n    });\n\n    var exampleRegistry = new Azure.ContainerService.Registry(\"example\", new()\n    {\n        Name = \"example\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        Sku = \"Basic\",\n    });\n\n    var exampleRegistryTask = new Azure.ContainerService.RegistryTask(\"example\", new()\n    {\n        Name = \"example-task\",\n        ContainerRegistryId = exampleRegistry.Id,\n        Platform = new Azure.ContainerService.Inputs.RegistryTaskPlatformArgs\n        {\n            Os = \"Linux\",\n        },\n        DockerStep = new Azure.ContainerService.Inputs.RegistryTaskDockerStepArgs\n        {\n            DockerfilePath = \"Dockerfile\",\n            ContextPath = \"https://github.com/\u003cusername\u003e/\u003crepository\u003e#\u003cbranch\u003e:\u003cfolder\u003e\",\n            ContextAccessToken = \"\u003cgithub personal access token\u003e\",\n            ImageNames = new[]\n            {\n                \"helloworld:{{.Run.ID}}\",\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/containerservice\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-rg\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleRegistry, err := containerservice.NewRegistry(ctx, \"example\", \u0026containerservice.RegistryArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tSku:               pulumi.String(\"Basic\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = containerservice.NewRegistryTask(ctx, \"example\", \u0026containerservice.RegistryTaskArgs{\n\t\t\tName:                pulumi.String(\"example-task\"),\n\t\t\tContainerRegistryId: exampleRegistry.ID(),\n\t\t\tPlatform: \u0026containerservice.RegistryTaskPlatformArgs{\n\t\t\t\tOs: pulumi.String(\"Linux\"),\n\t\t\t},\n\t\t\tDockerStep: \u0026containerservice.RegistryTaskDockerStepArgs{\n\t\t\t\tDockerfilePath:     pulumi.String(\"Dockerfile\"),\n\t\t\t\tContextPath:        pulumi.String(\"https://github.com/\u003cusername\u003e/\u003crepository\u003e#\u003cbranch\u003e:\u003cfolder\u003e\"),\n\t\t\t\tContextAccessToken: pulumi.String(\"\u003cgithub personal access token\u003e\"),\n\t\t\t\tImageNames: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"helloworld:{{.Run.ID}}\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.containerservice.Registry;\nimport com.pulumi.azure.containerservice.RegistryArgs;\nimport com.pulumi.azure.containerservice.RegistryTask;\nimport com.pulumi.azure.containerservice.RegistryTaskArgs;\nimport com.pulumi.azure.containerservice.inputs.RegistryTaskPlatformArgs;\nimport com.pulumi.azure.containerservice.inputs.RegistryTaskDockerStepArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-rg\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleRegistry = new Registry(\"exampleRegistry\", RegistryArgs.builder()\n            .name(\"example\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .sku(\"Basic\")\n            .build());\n\n        var exampleRegistryTask = new RegistryTask(\"exampleRegistryTask\", RegistryTaskArgs.builder()\n            .name(\"example-task\")\n            .containerRegistryId(exampleRegistry.id())\n            .platform(RegistryTaskPlatformArgs.builder()\n                .os(\"Linux\")\n                .build())\n            .dockerStep(RegistryTaskDockerStepArgs.builder()\n                .dockerfilePath(\"Dockerfile\")\n                .contextPath(\"https://github.com/\u003cusername\u003e/\u003crepository\u003e#\u003cbranch\u003e:\u003cfolder\u003e\")\n                .contextAccessToken(\"\u003cgithub personal access token\u003e\")\n                .imageNames(\"helloworld:{{.Run.ID}}\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-rg\n      location: West Europe\n  exampleRegistry:\n    type: azure:containerservice:Registry\n    name: example\n    properties:\n      name: example\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      sku: Basic\n  exampleRegistryTask:\n    type: azure:containerservice:RegistryTask\n    name: example\n    properties:\n      name: example-task\n      containerRegistryId: ${exampleRegistry.id}\n      platform:\n        os: Linux\n      dockerStep:\n        dockerfilePath: Dockerfile\n        contextPath: https://github.com/\u003cusername\u003e/\u003crepository\u003e#\u003cbranch\u003e:\u003cfolder\u003e\n        contextAccessToken: \u003cgithub personal access token\u003e\n        imageNames:\n          - helloworld:{{.Run.ID}}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.ContainerRegistry` - 2025-11-01, 2019-06-01-preview\n\n## Import\n\nContainer Registry Tasks can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:containerservice/registryTask:RegistryTask example /subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/group1/providers/Microsoft.ContainerRegistry/registries/registry1/tasks/task1\n```\n\n","properties":{"agentPoolName":{"type":"string","description":"The name of the dedicated Container Registry Agent Pool for this Container Registry Task.\n"},"agentSetting":{"$ref":"#/types/azure:containerservice/RegistryTaskAgentSetting:RegistryTaskAgentSetting","description":"A \u003cspan pulumi-lang-nodejs=\"`agentSetting`\" pulumi-lang-dotnet=\"`AgentSetting`\" pulumi-lang-go=\"`agentSetting`\" pulumi-lang-python=\"`agent_setting`\" pulumi-lang-yaml=\"`agentSetting`\" pulumi-lang-java=\"`agentSetting`\"\u003e`agent_setting`\u003c/span\u003e block as defined below.\n\n\u003e **Note:** Only one of \u003cspan pulumi-lang-nodejs=\"`agentPoolName`\" pulumi-lang-dotnet=\"`AgentPoolName`\" pulumi-lang-go=\"`agentPoolName`\" pulumi-lang-python=\"`agent_pool_name`\" pulumi-lang-yaml=\"`agentPoolName`\" pulumi-lang-java=\"`agentPoolName`\"\u003e`agent_pool_name`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`agentSetting`\" pulumi-lang-dotnet=\"`AgentSetting`\" pulumi-lang-go=\"`agentSetting`\" pulumi-lang-python=\"`agent_setting`\" pulumi-lang-yaml=\"`agentSetting`\" pulumi-lang-java=\"`agentSetting`\"\u003e`agent_setting`\u003c/span\u003e can be specified.\n"},"baseImageTrigger":{"$ref":"#/types/azure:containerservice/RegistryTaskBaseImageTrigger:RegistryTaskBaseImageTrigger","description":"A \u003cspan pulumi-lang-nodejs=\"`baseImageTrigger`\" pulumi-lang-dotnet=\"`BaseImageTrigger`\" pulumi-lang-go=\"`baseImageTrigger`\" pulumi-lang-python=\"`base_image_trigger`\" pulumi-lang-yaml=\"`baseImageTrigger`\" pulumi-lang-java=\"`baseImageTrigger`\"\u003e`base_image_trigger`\u003c/span\u003e block as defined below.\n"},"containerRegistryId":{"type":"string","description":"The ID of the Container Registry that this Container Registry Task resides in. Changing this forces a new Container Registry Task to be created.\n"},"dockerStep":{"$ref":"#/types/azure:containerservice/RegistryTaskDockerStep:RegistryTaskDockerStep","description":"A \u003cspan pulumi-lang-nodejs=\"`dockerStep`\" pulumi-lang-dotnet=\"`DockerStep`\" pulumi-lang-go=\"`dockerStep`\" pulumi-lang-python=\"`docker_step`\" pulumi-lang-yaml=\"`dockerStep`\" pulumi-lang-java=\"`dockerStep`\"\u003e`docker_step`\u003c/span\u003e block as defined below.\n"},"enabled":{"type":"boolean","description":"Should this Container Registry Task be enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"encodedStep":{"$ref":"#/types/azure:containerservice/RegistryTaskEncodedStep:RegistryTaskEncodedStep","description":"A \u003cspan pulumi-lang-nodejs=\"`encodedStep`\" pulumi-lang-dotnet=\"`EncodedStep`\" pulumi-lang-go=\"`encodedStep`\" pulumi-lang-python=\"`encoded_step`\" pulumi-lang-yaml=\"`encodedStep`\" pulumi-lang-java=\"`encodedStep`\"\u003e`encoded_step`\u003c/span\u003e block as defined below.\n"},"fileStep":{"$ref":"#/types/azure:containerservice/RegistryTaskFileStep:RegistryTaskFileStep","description":"A \u003cspan pulumi-lang-nodejs=\"`fileStep`\" pulumi-lang-dotnet=\"`FileStep`\" pulumi-lang-go=\"`fileStep`\" pulumi-lang-python=\"`file_step`\" pulumi-lang-yaml=\"`fileStep`\" pulumi-lang-java=\"`fileStep`\"\u003e`file_step`\u003c/span\u003e block as defined below.\n\n\u003e **Note:** For non-system task (when \u003cspan pulumi-lang-nodejs=\"`isSystemTask`\" pulumi-lang-dotnet=\"`IsSystemTask`\" pulumi-lang-go=\"`isSystemTask`\" pulumi-lang-python=\"`is_system_task`\" pulumi-lang-yaml=\"`isSystemTask`\" pulumi-lang-java=\"`isSystemTask`\"\u003e`is_system_task`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e), one and only one of the \u003cspan pulumi-lang-nodejs=\"`dockerStep`\" pulumi-lang-dotnet=\"`DockerStep`\" pulumi-lang-go=\"`dockerStep`\" pulumi-lang-python=\"`docker_step`\" pulumi-lang-yaml=\"`dockerStep`\" pulumi-lang-java=\"`dockerStep`\"\u003e`docker_step`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`encodedStep`\" pulumi-lang-dotnet=\"`EncodedStep`\" pulumi-lang-go=\"`encodedStep`\" pulumi-lang-python=\"`encoded_step`\" pulumi-lang-yaml=\"`encodedStep`\" pulumi-lang-java=\"`encodedStep`\"\u003e`encoded_step`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`fileStep`\" pulumi-lang-dotnet=\"`FileStep`\" pulumi-lang-go=\"`fileStep`\" pulumi-lang-python=\"`file_step`\" pulumi-lang-yaml=\"`fileStep`\" pulumi-lang-java=\"`fileStep`\"\u003e`file_step`\u003c/span\u003e should be specified.\n"},"identity":{"$ref":"#/types/azure:containerservice/RegistryTaskIdentity:RegistryTaskIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"isSystemTask":{"type":"boolean","description":"Whether this Container Registry Task is a system task. Changing this forces a new Container Registry Task to be created. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"logTemplate":{"type":"string"},"name":{"type":"string","description":"The name which should be used for this Container Registry Task. Changing this forces a new Container Registry Task to be created.\n"},"platform":{"$ref":"#/types/azure:containerservice/RegistryTaskPlatform:RegistryTaskPlatform","description":"A \u003cspan pulumi-lang-nodejs=\"`platform`\" pulumi-lang-dotnet=\"`Platform`\" pulumi-lang-go=\"`platform`\" pulumi-lang-python=\"`platform`\" pulumi-lang-yaml=\"`platform`\" pulumi-lang-java=\"`platform`\"\u003e`platform`\u003c/span\u003e block as defined below.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`platform`\" pulumi-lang-dotnet=\"`Platform`\" pulumi-lang-go=\"`platform`\" pulumi-lang-python=\"`platform`\" pulumi-lang-yaml=\"`platform`\" pulumi-lang-java=\"`platform`\"\u003e`platform`\u003c/span\u003e is required for non-system task (when \u003cspan pulumi-lang-nodejs=\"`isSystemTask`\" pulumi-lang-dotnet=\"`IsSystemTask`\" pulumi-lang-go=\"`isSystemTask`\" pulumi-lang-python=\"`is_system_task`\" pulumi-lang-yaml=\"`isSystemTask`\" pulumi-lang-java=\"`isSystemTask`\"\u003e`is_system_task`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e).\n"},"registryCredential":{"$ref":"#/types/azure:containerservice/RegistryTaskRegistryCredential:RegistryTaskRegistryCredential"},"sourceTriggers":{"type":"array","items":{"$ref":"#/types/azure:containerservice/RegistryTaskSourceTrigger:RegistryTaskSourceTrigger"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`sourceTrigger`\" pulumi-lang-dotnet=\"`SourceTrigger`\" pulumi-lang-go=\"`sourceTrigger`\" pulumi-lang-python=\"`source_trigger`\" pulumi-lang-yaml=\"`sourceTrigger`\" pulumi-lang-java=\"`sourceTrigger`\"\u003e`source_trigger`\u003c/span\u003e blocks as defined below.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"}},"timeoutInSeconds":{"type":"integer"},"timerTriggers":{"type":"array","items":{"$ref":"#/types/azure:containerservice/RegistryTaskTimerTrigger:RegistryTaskTimerTrigger"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`timerTrigger`\" pulumi-lang-dotnet=\"`TimerTrigger`\" pulumi-lang-go=\"`timerTrigger`\" pulumi-lang-python=\"`timer_trigger`\" pulumi-lang-yaml=\"`timerTrigger`\" pulumi-lang-java=\"`timerTrigger`\"\u003e`timer_trigger`\u003c/span\u003e blocks as defined below.\n"}},"required":["containerRegistryId","name"],"inputProperties":{"agentPoolName":{"type":"string","description":"The name of the dedicated Container Registry Agent Pool for this Container Registry Task.\n"},"agentSetting":{"$ref":"#/types/azure:containerservice/RegistryTaskAgentSetting:RegistryTaskAgentSetting","description":"A \u003cspan pulumi-lang-nodejs=\"`agentSetting`\" pulumi-lang-dotnet=\"`AgentSetting`\" pulumi-lang-go=\"`agentSetting`\" pulumi-lang-python=\"`agent_setting`\" pulumi-lang-yaml=\"`agentSetting`\" pulumi-lang-java=\"`agentSetting`\"\u003e`agent_setting`\u003c/span\u003e block as defined below.\n\n\u003e **Note:** Only one of \u003cspan pulumi-lang-nodejs=\"`agentPoolName`\" pulumi-lang-dotnet=\"`AgentPoolName`\" pulumi-lang-go=\"`agentPoolName`\" pulumi-lang-python=\"`agent_pool_name`\" pulumi-lang-yaml=\"`agentPoolName`\" pulumi-lang-java=\"`agentPoolName`\"\u003e`agent_pool_name`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`agentSetting`\" pulumi-lang-dotnet=\"`AgentSetting`\" pulumi-lang-go=\"`agentSetting`\" pulumi-lang-python=\"`agent_setting`\" pulumi-lang-yaml=\"`agentSetting`\" pulumi-lang-java=\"`agentSetting`\"\u003e`agent_setting`\u003c/span\u003e can be specified.\n"},"baseImageTrigger":{"$ref":"#/types/azure:containerservice/RegistryTaskBaseImageTrigger:RegistryTaskBaseImageTrigger","description":"A \u003cspan pulumi-lang-nodejs=\"`baseImageTrigger`\" pulumi-lang-dotnet=\"`BaseImageTrigger`\" pulumi-lang-go=\"`baseImageTrigger`\" pulumi-lang-python=\"`base_image_trigger`\" pulumi-lang-yaml=\"`baseImageTrigger`\" pulumi-lang-java=\"`baseImageTrigger`\"\u003e`base_image_trigger`\u003c/span\u003e block as defined below.\n"},"containerRegistryId":{"type":"string","description":"The ID of the Container Registry that this Container Registry Task resides in. Changing this forces a new Container Registry Task to be created.\n","willReplaceOnChanges":true},"dockerStep":{"$ref":"#/types/azure:containerservice/RegistryTaskDockerStep:RegistryTaskDockerStep","description":"A \u003cspan pulumi-lang-nodejs=\"`dockerStep`\" pulumi-lang-dotnet=\"`DockerStep`\" pulumi-lang-go=\"`dockerStep`\" pulumi-lang-python=\"`docker_step`\" pulumi-lang-yaml=\"`dockerStep`\" pulumi-lang-java=\"`dockerStep`\"\u003e`docker_step`\u003c/span\u003e block as defined below.\n"},"enabled":{"type":"boolean","description":"Should this Container Registry Task be enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"encodedStep":{"$ref":"#/types/azure:containerservice/RegistryTaskEncodedStep:RegistryTaskEncodedStep","description":"A \u003cspan pulumi-lang-nodejs=\"`encodedStep`\" pulumi-lang-dotnet=\"`EncodedStep`\" pulumi-lang-go=\"`encodedStep`\" pulumi-lang-python=\"`encoded_step`\" pulumi-lang-yaml=\"`encodedStep`\" pulumi-lang-java=\"`encodedStep`\"\u003e`encoded_step`\u003c/span\u003e block as defined below.\n"},"fileStep":{"$ref":"#/types/azure:containerservice/RegistryTaskFileStep:RegistryTaskFileStep","description":"A \u003cspan pulumi-lang-nodejs=\"`fileStep`\" pulumi-lang-dotnet=\"`FileStep`\" pulumi-lang-go=\"`fileStep`\" pulumi-lang-python=\"`file_step`\" pulumi-lang-yaml=\"`fileStep`\" pulumi-lang-java=\"`fileStep`\"\u003e`file_step`\u003c/span\u003e block as defined below.\n\n\u003e **Note:** For non-system task (when \u003cspan pulumi-lang-nodejs=\"`isSystemTask`\" pulumi-lang-dotnet=\"`IsSystemTask`\" pulumi-lang-go=\"`isSystemTask`\" pulumi-lang-python=\"`is_system_task`\" pulumi-lang-yaml=\"`isSystemTask`\" pulumi-lang-java=\"`isSystemTask`\"\u003e`is_system_task`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e), one and only one of the \u003cspan pulumi-lang-nodejs=\"`dockerStep`\" pulumi-lang-dotnet=\"`DockerStep`\" pulumi-lang-go=\"`dockerStep`\" pulumi-lang-python=\"`docker_step`\" pulumi-lang-yaml=\"`dockerStep`\" pulumi-lang-java=\"`dockerStep`\"\u003e`docker_step`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`encodedStep`\" pulumi-lang-dotnet=\"`EncodedStep`\" pulumi-lang-go=\"`encodedStep`\" pulumi-lang-python=\"`encoded_step`\" pulumi-lang-yaml=\"`encodedStep`\" pulumi-lang-java=\"`encodedStep`\"\u003e`encoded_step`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`fileStep`\" pulumi-lang-dotnet=\"`FileStep`\" pulumi-lang-go=\"`fileStep`\" pulumi-lang-python=\"`file_step`\" pulumi-lang-yaml=\"`fileStep`\" pulumi-lang-java=\"`fileStep`\"\u003e`file_step`\u003c/span\u003e should be specified.\n"},"identity":{"$ref":"#/types/azure:containerservice/RegistryTaskIdentity:RegistryTaskIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"isSystemTask":{"type":"boolean","description":"Whether this Container Registry Task is a system task. Changing this forces a new Container Registry Task to be created. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n","willReplaceOnChanges":true},"logTemplate":{"type":"string"},"name":{"type":"string","description":"The name which should be used for this Container Registry Task. Changing this forces a new Container Registry Task to be created.\n","willReplaceOnChanges":true},"platform":{"$ref":"#/types/azure:containerservice/RegistryTaskPlatform:RegistryTaskPlatform","description":"A \u003cspan pulumi-lang-nodejs=\"`platform`\" pulumi-lang-dotnet=\"`Platform`\" pulumi-lang-go=\"`platform`\" pulumi-lang-python=\"`platform`\" pulumi-lang-yaml=\"`platform`\" pulumi-lang-java=\"`platform`\"\u003e`platform`\u003c/span\u003e block as defined below.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`platform`\" pulumi-lang-dotnet=\"`Platform`\" pulumi-lang-go=\"`platform`\" pulumi-lang-python=\"`platform`\" pulumi-lang-yaml=\"`platform`\" pulumi-lang-java=\"`platform`\"\u003e`platform`\u003c/span\u003e is required for non-system task (when \u003cspan pulumi-lang-nodejs=\"`isSystemTask`\" pulumi-lang-dotnet=\"`IsSystemTask`\" pulumi-lang-go=\"`isSystemTask`\" pulumi-lang-python=\"`is_system_task`\" pulumi-lang-yaml=\"`isSystemTask`\" pulumi-lang-java=\"`isSystemTask`\"\u003e`is_system_task`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e).\n"},"registryCredential":{"$ref":"#/types/azure:containerservice/RegistryTaskRegistryCredential:RegistryTaskRegistryCredential"},"sourceTriggers":{"type":"array","items":{"$ref":"#/types/azure:containerservice/RegistryTaskSourceTrigger:RegistryTaskSourceTrigger"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`sourceTrigger`\" pulumi-lang-dotnet=\"`SourceTrigger`\" pulumi-lang-go=\"`sourceTrigger`\" pulumi-lang-python=\"`source_trigger`\" pulumi-lang-yaml=\"`sourceTrigger`\" pulumi-lang-java=\"`sourceTrigger`\"\u003e`source_trigger`\u003c/span\u003e blocks as defined below.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"}},"timeoutInSeconds":{"type":"integer"},"timerTriggers":{"type":"array","items":{"$ref":"#/types/azure:containerservice/RegistryTaskTimerTrigger:RegistryTaskTimerTrigger"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`timerTrigger`\" pulumi-lang-dotnet=\"`TimerTrigger`\" pulumi-lang-go=\"`timerTrigger`\" pulumi-lang-python=\"`timer_trigger`\" pulumi-lang-yaml=\"`timerTrigger`\" pulumi-lang-java=\"`timerTrigger`\"\u003e`timer_trigger`\u003c/span\u003e blocks as defined below.\n"}},"requiredInputs":["containerRegistryId"],"stateInputs":{"description":"Input properties used for looking up and filtering RegistryTask resources.\n","properties":{"agentPoolName":{"type":"string","description":"The name of the dedicated Container Registry Agent Pool for this Container Registry Task.\n"},"agentSetting":{"$ref":"#/types/azure:containerservice/RegistryTaskAgentSetting:RegistryTaskAgentSetting","description":"A \u003cspan pulumi-lang-nodejs=\"`agentSetting`\" pulumi-lang-dotnet=\"`AgentSetting`\" pulumi-lang-go=\"`agentSetting`\" pulumi-lang-python=\"`agent_setting`\" pulumi-lang-yaml=\"`agentSetting`\" pulumi-lang-java=\"`agentSetting`\"\u003e`agent_setting`\u003c/span\u003e block as defined below.\n\n\u003e **Note:** Only one of \u003cspan pulumi-lang-nodejs=\"`agentPoolName`\" pulumi-lang-dotnet=\"`AgentPoolName`\" pulumi-lang-go=\"`agentPoolName`\" pulumi-lang-python=\"`agent_pool_name`\" pulumi-lang-yaml=\"`agentPoolName`\" pulumi-lang-java=\"`agentPoolName`\"\u003e`agent_pool_name`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`agentSetting`\" pulumi-lang-dotnet=\"`AgentSetting`\" pulumi-lang-go=\"`agentSetting`\" pulumi-lang-python=\"`agent_setting`\" pulumi-lang-yaml=\"`agentSetting`\" pulumi-lang-java=\"`agentSetting`\"\u003e`agent_setting`\u003c/span\u003e can be specified.\n"},"baseImageTrigger":{"$ref":"#/types/azure:containerservice/RegistryTaskBaseImageTrigger:RegistryTaskBaseImageTrigger","description":"A \u003cspan pulumi-lang-nodejs=\"`baseImageTrigger`\" pulumi-lang-dotnet=\"`BaseImageTrigger`\" pulumi-lang-go=\"`baseImageTrigger`\" pulumi-lang-python=\"`base_image_trigger`\" pulumi-lang-yaml=\"`baseImageTrigger`\" pulumi-lang-java=\"`baseImageTrigger`\"\u003e`base_image_trigger`\u003c/span\u003e block as defined below.\n"},"containerRegistryId":{"type":"string","description":"The ID of the Container Registry that this Container Registry Task resides in. Changing this forces a new Container Registry Task to be created.\n","willReplaceOnChanges":true},"dockerStep":{"$ref":"#/types/azure:containerservice/RegistryTaskDockerStep:RegistryTaskDockerStep","description":"A \u003cspan pulumi-lang-nodejs=\"`dockerStep`\" pulumi-lang-dotnet=\"`DockerStep`\" pulumi-lang-go=\"`dockerStep`\" pulumi-lang-python=\"`docker_step`\" pulumi-lang-yaml=\"`dockerStep`\" pulumi-lang-java=\"`dockerStep`\"\u003e`docker_step`\u003c/span\u003e block as defined below.\n"},"enabled":{"type":"boolean","description":"Should this Container Registry Task be enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"encodedStep":{"$ref":"#/types/azure:containerservice/RegistryTaskEncodedStep:RegistryTaskEncodedStep","description":"A \u003cspan pulumi-lang-nodejs=\"`encodedStep`\" pulumi-lang-dotnet=\"`EncodedStep`\" pulumi-lang-go=\"`encodedStep`\" pulumi-lang-python=\"`encoded_step`\" pulumi-lang-yaml=\"`encodedStep`\" pulumi-lang-java=\"`encodedStep`\"\u003e`encoded_step`\u003c/span\u003e block as defined below.\n"},"fileStep":{"$ref":"#/types/azure:containerservice/RegistryTaskFileStep:RegistryTaskFileStep","description":"A \u003cspan pulumi-lang-nodejs=\"`fileStep`\" pulumi-lang-dotnet=\"`FileStep`\" pulumi-lang-go=\"`fileStep`\" pulumi-lang-python=\"`file_step`\" pulumi-lang-yaml=\"`fileStep`\" pulumi-lang-java=\"`fileStep`\"\u003e`file_step`\u003c/span\u003e block as defined below.\n\n\u003e **Note:** For non-system task (when \u003cspan pulumi-lang-nodejs=\"`isSystemTask`\" pulumi-lang-dotnet=\"`IsSystemTask`\" pulumi-lang-go=\"`isSystemTask`\" pulumi-lang-python=\"`is_system_task`\" pulumi-lang-yaml=\"`isSystemTask`\" pulumi-lang-java=\"`isSystemTask`\"\u003e`is_system_task`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e), one and only one of the \u003cspan pulumi-lang-nodejs=\"`dockerStep`\" pulumi-lang-dotnet=\"`DockerStep`\" pulumi-lang-go=\"`dockerStep`\" pulumi-lang-python=\"`docker_step`\" pulumi-lang-yaml=\"`dockerStep`\" pulumi-lang-java=\"`dockerStep`\"\u003e`docker_step`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`encodedStep`\" pulumi-lang-dotnet=\"`EncodedStep`\" pulumi-lang-go=\"`encodedStep`\" pulumi-lang-python=\"`encoded_step`\" pulumi-lang-yaml=\"`encodedStep`\" pulumi-lang-java=\"`encodedStep`\"\u003e`encoded_step`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`fileStep`\" pulumi-lang-dotnet=\"`FileStep`\" pulumi-lang-go=\"`fileStep`\" pulumi-lang-python=\"`file_step`\" pulumi-lang-yaml=\"`fileStep`\" pulumi-lang-java=\"`fileStep`\"\u003e`file_step`\u003c/span\u003e should be specified.\n"},"identity":{"$ref":"#/types/azure:containerservice/RegistryTaskIdentity:RegistryTaskIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"isSystemTask":{"type":"boolean","description":"Whether this Container Registry Task is a system task. Changing this forces a new Container Registry Task to be created. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n","willReplaceOnChanges":true},"logTemplate":{"type":"string"},"name":{"type":"string","description":"The name which should be used for this Container Registry Task. Changing this forces a new Container Registry Task to be created.\n","willReplaceOnChanges":true},"platform":{"$ref":"#/types/azure:containerservice/RegistryTaskPlatform:RegistryTaskPlatform","description":"A \u003cspan pulumi-lang-nodejs=\"`platform`\" pulumi-lang-dotnet=\"`Platform`\" pulumi-lang-go=\"`platform`\" pulumi-lang-python=\"`platform`\" pulumi-lang-yaml=\"`platform`\" pulumi-lang-java=\"`platform`\"\u003e`platform`\u003c/span\u003e block as defined below.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`platform`\" pulumi-lang-dotnet=\"`Platform`\" pulumi-lang-go=\"`platform`\" pulumi-lang-python=\"`platform`\" pulumi-lang-yaml=\"`platform`\" pulumi-lang-java=\"`platform`\"\u003e`platform`\u003c/span\u003e is required for non-system task (when \u003cspan pulumi-lang-nodejs=\"`isSystemTask`\" pulumi-lang-dotnet=\"`IsSystemTask`\" pulumi-lang-go=\"`isSystemTask`\" pulumi-lang-python=\"`is_system_task`\" pulumi-lang-yaml=\"`isSystemTask`\" pulumi-lang-java=\"`isSystemTask`\"\u003e`is_system_task`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e).\n"},"registryCredential":{"$ref":"#/types/azure:containerservice/RegistryTaskRegistryCredential:RegistryTaskRegistryCredential"},"sourceTriggers":{"type":"array","items":{"$ref":"#/types/azure:containerservice/RegistryTaskSourceTrigger:RegistryTaskSourceTrigger"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`sourceTrigger`\" pulumi-lang-dotnet=\"`SourceTrigger`\" pulumi-lang-go=\"`sourceTrigger`\" pulumi-lang-python=\"`source_trigger`\" pulumi-lang-yaml=\"`sourceTrigger`\" pulumi-lang-java=\"`sourceTrigger`\"\u003e`source_trigger`\u003c/span\u003e blocks as defined below.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"}},"timeoutInSeconds":{"type":"integer"},"timerTriggers":{"type":"array","items":{"$ref":"#/types/azure:containerservice/RegistryTaskTimerTrigger:RegistryTaskTimerTrigger"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`timerTrigger`\" pulumi-lang-dotnet=\"`TimerTrigger`\" pulumi-lang-go=\"`timerTrigger`\" pulumi-lang-python=\"`timer_trigger`\" pulumi-lang-yaml=\"`timerTrigger`\" pulumi-lang-java=\"`timerTrigger`\"\u003e`timer_trigger`\u003c/span\u003e blocks as defined below.\n"}},"type":"object"}},"azure:containerservice/registryTaskScheduleRunNow:RegistryTaskScheduleRunNow":{"description":"Runs a Container Registry Task Schedule.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-rg\",\n    location: \"West Europe\",\n});\nconst exampleRegistry = new azure.containerservice.Registry(\"example\", {\n    name: \"example-acr\",\n    resourceGroupName: example.name,\n    location: example.location,\n    sku: \"Basic\",\n});\nconst exampleRegistryTask = new azure.containerservice.RegistryTask(\"example\", {\n    name: \"example-task\",\n    containerRegistryId: exampleRegistry.id,\n    platform: {\n        os: \"Linux\",\n    },\n    dockerStep: {\n        dockerfilePath: \"Dockerfile\",\n        contextPath: \"https://github.com/\u003cuser name\u003e/acr-build-helloworld-node#main\",\n        contextAccessToken: \"\u003cgithub personal access token\u003e\",\n        imageNames: [\"helloworld:{{.Run.ID}}\"],\n    },\n});\nconst exampleRegistryTaskScheduleRunNow = new azure.containerservice.RegistryTaskScheduleRunNow(\"example\", {containerRegistryTaskId: exampleRegistryTask.id});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-rg\",\n    location=\"West Europe\")\nexample_registry = azure.containerservice.Registry(\"example\",\n    name=\"example-acr\",\n    resource_group_name=example.name,\n    location=example.location,\n    sku=\"Basic\")\nexample_registry_task = azure.containerservice.RegistryTask(\"example\",\n    name=\"example-task\",\n    container_registry_id=example_registry.id,\n    platform={\n        \"os\": \"Linux\",\n    },\n    docker_step={\n        \"dockerfile_path\": \"Dockerfile\",\n        \"context_path\": \"https://github.com/\u003cuser name\u003e/acr-build-helloworld-node#main\",\n        \"context_access_token\": \"\u003cgithub personal access token\u003e\",\n        \"image_names\": [\"helloworld:{{.Run.ID}}\"],\n    })\nexample_registry_task_schedule_run_now = azure.containerservice.RegistryTaskScheduleRunNow(\"example\", container_registry_task_id=example_registry_task.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-rg\",\n        Location = \"West Europe\",\n    });\n\n    var exampleRegistry = new Azure.ContainerService.Registry(\"example\", new()\n    {\n        Name = \"example-acr\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        Sku = \"Basic\",\n    });\n\n    var exampleRegistryTask = new Azure.ContainerService.RegistryTask(\"example\", new()\n    {\n        Name = \"example-task\",\n        ContainerRegistryId = exampleRegistry.Id,\n        Platform = new Azure.ContainerService.Inputs.RegistryTaskPlatformArgs\n        {\n            Os = \"Linux\",\n        },\n        DockerStep = new Azure.ContainerService.Inputs.RegistryTaskDockerStepArgs\n        {\n            DockerfilePath = \"Dockerfile\",\n            ContextPath = \"https://github.com/\u003cuser name\u003e/acr-build-helloworld-node#main\",\n            ContextAccessToken = \"\u003cgithub personal access token\u003e\",\n            ImageNames = new[]\n            {\n                \"helloworld:{{.Run.ID}}\",\n            },\n        },\n    });\n\n    var exampleRegistryTaskScheduleRunNow = new Azure.ContainerService.RegistryTaskScheduleRunNow(\"example\", new()\n    {\n        ContainerRegistryTaskId = exampleRegistryTask.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/containerservice\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-rg\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleRegistry, err := containerservice.NewRegistry(ctx, \"example\", \u0026containerservice.RegistryArgs{\n\t\t\tName:              pulumi.String(\"example-acr\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tSku:               pulumi.String(\"Basic\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleRegistryTask, err := containerservice.NewRegistryTask(ctx, \"example\", \u0026containerservice.RegistryTaskArgs{\n\t\t\tName:                pulumi.String(\"example-task\"),\n\t\t\tContainerRegistryId: exampleRegistry.ID(),\n\t\t\tPlatform: \u0026containerservice.RegistryTaskPlatformArgs{\n\t\t\t\tOs: pulumi.String(\"Linux\"),\n\t\t\t},\n\t\t\tDockerStep: \u0026containerservice.RegistryTaskDockerStepArgs{\n\t\t\t\tDockerfilePath:     pulumi.String(\"Dockerfile\"),\n\t\t\t\tContextPath:        pulumi.String(\"https://github.com/\u003cuser name\u003e/acr-build-helloworld-node#main\"),\n\t\t\t\tContextAccessToken: pulumi.String(\"\u003cgithub personal access token\u003e\"),\n\t\t\t\tImageNames: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"helloworld:{{.Run.ID}}\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = containerservice.NewRegistryTaskScheduleRunNow(ctx, \"example\", \u0026containerservice.RegistryTaskScheduleRunNowArgs{\n\t\t\tContainerRegistryTaskId: exampleRegistryTask.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.containerservice.Registry;\nimport com.pulumi.azure.containerservice.RegistryArgs;\nimport com.pulumi.azure.containerservice.RegistryTask;\nimport com.pulumi.azure.containerservice.RegistryTaskArgs;\nimport com.pulumi.azure.containerservice.inputs.RegistryTaskPlatformArgs;\nimport com.pulumi.azure.containerservice.inputs.RegistryTaskDockerStepArgs;\nimport com.pulumi.azure.containerservice.RegistryTaskScheduleRunNow;\nimport com.pulumi.azure.containerservice.RegistryTaskScheduleRunNowArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-rg\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleRegistry = new Registry(\"exampleRegistry\", RegistryArgs.builder()\n            .name(\"example-acr\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .sku(\"Basic\")\n            .build());\n\n        var exampleRegistryTask = new RegistryTask(\"exampleRegistryTask\", RegistryTaskArgs.builder()\n            .name(\"example-task\")\n            .containerRegistryId(exampleRegistry.id())\n            .platform(RegistryTaskPlatformArgs.builder()\n                .os(\"Linux\")\n                .build())\n            .dockerStep(RegistryTaskDockerStepArgs.builder()\n                .dockerfilePath(\"Dockerfile\")\n                .contextPath(\"https://github.com/\u003cuser name\u003e/acr-build-helloworld-node#main\")\n                .contextAccessToken(\"\u003cgithub personal access token\u003e\")\n                .imageNames(\"helloworld:{{.Run.ID}}\")\n                .build())\n            .build());\n\n        var exampleRegistryTaskScheduleRunNow = new RegistryTaskScheduleRunNow(\"exampleRegistryTaskScheduleRunNow\", RegistryTaskScheduleRunNowArgs.builder()\n            .containerRegistryTaskId(exampleRegistryTask.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-rg\n      location: West Europe\n  exampleRegistry:\n    type: azure:containerservice:Registry\n    name: example\n    properties:\n      name: example-acr\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      sku: Basic\n  exampleRegistryTask:\n    type: azure:containerservice:RegistryTask\n    name: example\n    properties:\n      name: example-task\n      containerRegistryId: ${exampleRegistry.id}\n      platform:\n        os: Linux\n      dockerStep:\n        dockerfilePath: Dockerfile\n        contextPath: https://github.com/\u003cuser name\u003e/acr-build-helloworld-node#main\n        contextAccessToken: \u003cgithub personal access token\u003e\n        imageNames:\n          - helloworld:{{.Run.ID}}\n  exampleRegistryTaskScheduleRunNow:\n    type: azure:containerservice:RegistryTaskScheduleRunNow\n    name: example\n    properties:\n      containerRegistryTaskId: ${exampleRegistryTask.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.ContainerRegistry` - 2019-06-01-preview\n","properties":{"containerRegistryTaskId":{"type":"string","description":"The ID of the Container Registry Task that to be scheduled. Changing this forces a new Container Registry Task Schedule to be created.\n"}},"required":["containerRegistryTaskId"],"inputProperties":{"containerRegistryTaskId":{"type":"string","description":"The ID of the Container Registry Task that to be scheduled. Changing this forces a new Container Registry Task Schedule to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["containerRegistryTaskId"],"stateInputs":{"description":"Input properties used for looking up and filtering RegistryTaskScheduleRunNow resources.\n","properties":{"containerRegistryTaskId":{"type":"string","description":"The ID of the Container Registry Task that to be scheduled. Changing this forces a new Container Registry Task Schedule to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:containerservice/registryToken:RegistryToken":{"description":"Manages an Azure Container Registry token associated to a scope map. For more information on scope maps and their tokens see the [product documentation](https://learn.microsoft.com/en-us/azure/container-registry/container-registry-repository-scoped-permissions).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resource-group\",\n    location: \"West Europe\",\n});\nconst exampleRegistry = new azure.containerservice.Registry(\"example\", {\n    name: \"example\",\n    resourceGroupName: example.name,\n    location: example.location,\n    sku: \"Basic\",\n    adminEnabled: false,\n    georeplications: [\n        {\n            location: \"East US\",\n        },\n        {\n            location: \"West Europe\",\n        },\n    ],\n});\nconst exampleRegistryScopeMap = new azure.containerservice.RegistryScopeMap(\"example\", {\n    name: \"example-scope-map\",\n    containerRegistryName: exampleRegistry.name,\n    resourceGroupName: example.name,\n    actions: [\n        \"repositories/repo1/content/read\",\n        \"repositories/repo1/content/write\",\n    ],\n});\nconst exampleRegistryToken = new azure.containerservice.RegistryToken(\"example\", {\n    name: \"exampletoken\",\n    containerRegistryName: exampleRegistry.name,\n    resourceGroupName: example.name,\n    scopeMapId: exampleRegistryScopeMap.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resource-group\",\n    location=\"West Europe\")\nexample_registry = azure.containerservice.Registry(\"example\",\n    name=\"example\",\n    resource_group_name=example.name,\n    location=example.location,\n    sku=\"Basic\",\n    admin_enabled=False,\n    georeplications=[\n        {\n            \"location\": \"East US\",\n        },\n        {\n            \"location\": \"West Europe\",\n        },\n    ])\nexample_registry_scope_map = azure.containerservice.RegistryScopeMap(\"example\",\n    name=\"example-scope-map\",\n    container_registry_name=example_registry.name,\n    resource_group_name=example.name,\n    actions=[\n        \"repositories/repo1/content/read\",\n        \"repositories/repo1/content/write\",\n    ])\nexample_registry_token = azure.containerservice.RegistryToken(\"example\",\n    name=\"exampletoken\",\n    container_registry_name=example_registry.name,\n    resource_group_name=example.name,\n    scope_map_id=example_registry_scope_map.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resource-group\",\n        Location = \"West Europe\",\n    });\n\n    var exampleRegistry = new Azure.ContainerService.Registry(\"example\", new()\n    {\n        Name = \"example\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        Sku = \"Basic\",\n        AdminEnabled = false,\n        Georeplications = new[]\n        {\n            new Azure.ContainerService.Inputs.RegistryGeoreplicationArgs\n            {\n                Location = \"East US\",\n            },\n            new Azure.ContainerService.Inputs.RegistryGeoreplicationArgs\n            {\n                Location = \"West Europe\",\n            },\n        },\n    });\n\n    var exampleRegistryScopeMap = new Azure.ContainerService.RegistryScopeMap(\"example\", new()\n    {\n        Name = \"example-scope-map\",\n        ContainerRegistryName = exampleRegistry.Name,\n        ResourceGroupName = example.Name,\n        Actions = new[]\n        {\n            \"repositories/repo1/content/read\",\n            \"repositories/repo1/content/write\",\n        },\n    });\n\n    var exampleRegistryToken = new Azure.ContainerService.RegistryToken(\"example\", new()\n    {\n        Name = \"exampletoken\",\n        ContainerRegistryName = exampleRegistry.Name,\n        ResourceGroupName = example.Name,\n        ScopeMapId = exampleRegistryScopeMap.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/containerservice\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resource-group\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleRegistry, err := containerservice.NewRegistry(ctx, \"example\", \u0026containerservice.RegistryArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tSku:               pulumi.String(\"Basic\"),\n\t\t\tAdminEnabled:      pulumi.Bool(false),\n\t\t\tGeoreplications: containerservice.RegistryGeoreplicationArray{\n\t\t\t\t\u0026containerservice.RegistryGeoreplicationArgs{\n\t\t\t\t\tLocation: pulumi.String(\"East US\"),\n\t\t\t\t},\n\t\t\t\t\u0026containerservice.RegistryGeoreplicationArgs{\n\t\t\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleRegistryScopeMap, err := containerservice.NewRegistryScopeMap(ctx, \"example\", \u0026containerservice.RegistryScopeMapArgs{\n\t\t\tName:                  pulumi.String(\"example-scope-map\"),\n\t\t\tContainerRegistryName: exampleRegistry.Name,\n\t\t\tResourceGroupName:     example.Name,\n\t\t\tActions: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"repositories/repo1/content/read\"),\n\t\t\t\tpulumi.String(\"repositories/repo1/content/write\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = containerservice.NewRegistryToken(ctx, \"example\", \u0026containerservice.RegistryTokenArgs{\n\t\t\tName:                  pulumi.String(\"exampletoken\"),\n\t\t\tContainerRegistryName: exampleRegistry.Name,\n\t\t\tResourceGroupName:     example.Name,\n\t\t\tScopeMapId:            exampleRegistryScopeMap.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.containerservice.Registry;\nimport com.pulumi.azure.containerservice.RegistryArgs;\nimport com.pulumi.azure.containerservice.inputs.RegistryGeoreplicationArgs;\nimport com.pulumi.azure.containerservice.RegistryScopeMap;\nimport com.pulumi.azure.containerservice.RegistryScopeMapArgs;\nimport com.pulumi.azure.containerservice.RegistryToken;\nimport com.pulumi.azure.containerservice.RegistryTokenArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resource-group\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleRegistry = new Registry(\"exampleRegistry\", RegistryArgs.builder()\n            .name(\"example\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .sku(\"Basic\")\n            .adminEnabled(false)\n            .georeplications(            \n                RegistryGeoreplicationArgs.builder()\n                    .location(\"East US\")\n                    .build(),\n                RegistryGeoreplicationArgs.builder()\n                    .location(\"West Europe\")\n                    .build())\n            .build());\n\n        var exampleRegistryScopeMap = new RegistryScopeMap(\"exampleRegistryScopeMap\", RegistryScopeMapArgs.builder()\n            .name(\"example-scope-map\")\n            .containerRegistryName(exampleRegistry.name())\n            .resourceGroupName(example.name())\n            .actions(            \n                \"repositories/repo1/content/read\",\n                \"repositories/repo1/content/write\")\n            .build());\n\n        var exampleRegistryToken = new RegistryToken(\"exampleRegistryToken\", RegistryTokenArgs.builder()\n            .name(\"exampletoken\")\n            .containerRegistryName(exampleRegistry.name())\n            .resourceGroupName(example.name())\n            .scopeMapId(exampleRegistryScopeMap.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resource-group\n      location: West Europe\n  exampleRegistry:\n    type: azure:containerservice:Registry\n    name: example\n    properties:\n      name: example\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      sku: Basic\n      adminEnabled: false\n      georeplications:\n        - location: East US\n        - location: West Europe\n  exampleRegistryScopeMap:\n    type: azure:containerservice:RegistryScopeMap\n    name: example\n    properties:\n      name: example-scope-map\n      containerRegistryName: ${exampleRegistry.name}\n      resourceGroupName: ${example.name}\n      actions:\n        - repositories/repo1/content/read\n        - repositories/repo1/content/write\n  exampleRegistryToken:\n    type: azure:containerservice:RegistryToken\n    name: example\n    properties:\n      name: exampletoken\n      containerRegistryName: ${exampleRegistry.name}\n      resourceGroupName: ${example.name}\n      scopeMapId: ${exampleRegistryScopeMap.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.ContainerRegistry` - 2025-11-01\n\n## Import\n\nContainer Registries can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:containerservice/registryToken:RegistryToken example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.ContainerRegistry/registries/myregistry1/tokens/token1\n```\n\n","properties":{"containerRegistryName":{"type":"string","description":"The name of the Container Registry. Changing this forces a new resource to be created.\n"},"enabled":{"type":"boolean","description":"Should the Container Registry token be enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"name":{"type":"string","description":"Specifies the name of the token. Changing this forces a new resource to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the Container Registry token. Changing this forces a new resource to be created.\n"},"scopeMapId":{"type":"string","description":"The ID of the Container Registry Scope Map associated with the token.\n"}},"required":["containerRegistryName","name","resourceGroupName","scopeMapId"],"inputProperties":{"containerRegistryName":{"type":"string","description":"The name of the Container Registry. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"enabled":{"type":"boolean","description":"Should the Container Registry token be enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"name":{"type":"string","description":"Specifies the name of the token. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the Container Registry token. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"scopeMapId":{"type":"string","description":"The ID of the Container Registry Scope Map associated with the token.\n"}},"requiredInputs":["containerRegistryName","resourceGroupName","scopeMapId"],"stateInputs":{"description":"Input properties used for looking up and filtering RegistryToken resources.\n","properties":{"containerRegistryName":{"type":"string","description":"The name of the Container Registry. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"enabled":{"type":"boolean","description":"Should the Container Registry token be enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"name":{"type":"string","description":"Specifies the name of the token. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the Container Registry token. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"scopeMapId":{"type":"string","description":"The ID of the Container Registry Scope Map associated with the token.\n"}},"type":"object"}},"azure:containerservice/registryWebhook:RegistryWebhook":{"description":"Manages an Azure Container Registry Webhook.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst acr = new azure.containerservice.Registry(\"acr\", {\n    name: \"containerRegistry1\",\n    resourceGroupName: example.name,\n    location: example.location,\n    sku: \"Standard\",\n    adminEnabled: false,\n});\nconst webhook = new azure.containerservice.RegistryWebhook(\"webhook\", {\n    name: \"mywebhook\",\n    resourceGroupName: example.name,\n    registryName: acr.name,\n    location: example.location,\n    serviceUri: \"https://mywebhookreceiver.example/mytag\",\n    status: \"enabled\",\n    scope: \"mytag:*\",\n    actions: [\"push\"],\n    customHeaders: {\n        \"Content-Type\": \"application/json\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nacr = azure.containerservice.Registry(\"acr\",\n    name=\"containerRegistry1\",\n    resource_group_name=example.name,\n    location=example.location,\n    sku=\"Standard\",\n    admin_enabled=False)\nwebhook = azure.containerservice.RegistryWebhook(\"webhook\",\n    name=\"mywebhook\",\n    resource_group_name=example.name,\n    registry_name=acr.name,\n    location=example.location,\n    service_uri=\"https://mywebhookreceiver.example/mytag\",\n    status=\"enabled\",\n    scope=\"mytag:*\",\n    actions=[\"push\"],\n    custom_headers={\n        \"Content-Type\": \"application/json\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var acr = new Azure.ContainerService.Registry(\"acr\", new()\n    {\n        Name = \"containerRegistry1\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        Sku = \"Standard\",\n        AdminEnabled = false,\n    });\n\n    var webhook = new Azure.ContainerService.RegistryWebhook(\"webhook\", new()\n    {\n        Name = \"mywebhook\",\n        ResourceGroupName = example.Name,\n        RegistryName = acr.Name,\n        Location = example.Location,\n        ServiceUri = \"https://mywebhookreceiver.example/mytag\",\n        Status = \"enabled\",\n        Scope = \"mytag:*\",\n        Actions = new[]\n        {\n            \"push\",\n        },\n        CustomHeaders = \n        {\n            { \"Content-Type\", \"application/json\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/containerservice\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tacr, err := containerservice.NewRegistry(ctx, \"acr\", \u0026containerservice.RegistryArgs{\n\t\t\tName:              pulumi.String(\"containerRegistry1\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tSku:               pulumi.String(\"Standard\"),\n\t\t\tAdminEnabled:      pulumi.Bool(false),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = containerservice.NewRegistryWebhook(ctx, \"webhook\", \u0026containerservice.RegistryWebhookArgs{\n\t\t\tName:              pulumi.String(\"mywebhook\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tRegistryName:      acr.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tServiceUri:        pulumi.String(\"https://mywebhookreceiver.example/mytag\"),\n\t\t\tStatus:            pulumi.String(\"enabled\"),\n\t\t\tScope:             pulumi.String(\"mytag:*\"),\n\t\t\tActions: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"push\"),\n\t\t\t},\n\t\t\tCustomHeaders: pulumi.StringMap{\n\t\t\t\t\"Content-Type\": pulumi.String(\"application/json\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.containerservice.Registry;\nimport com.pulumi.azure.containerservice.RegistryArgs;\nimport com.pulumi.azure.containerservice.RegistryWebhook;\nimport com.pulumi.azure.containerservice.RegistryWebhookArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var acr = new Registry(\"acr\", RegistryArgs.builder()\n            .name(\"containerRegistry1\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .sku(\"Standard\")\n            .adminEnabled(false)\n            .build());\n\n        var webhook = new RegistryWebhook(\"webhook\", RegistryWebhookArgs.builder()\n            .name(\"mywebhook\")\n            .resourceGroupName(example.name())\n            .registryName(acr.name())\n            .location(example.location())\n            .serviceUri(\"https://mywebhookreceiver.example/mytag\")\n            .status(\"enabled\")\n            .scope(\"mytag:*\")\n            .actions(\"push\")\n            .customHeaders(Map.of(\"Content-Type\", \"application/json\"))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  acr:\n    type: azure:containerservice:Registry\n    properties:\n      name: containerRegistry1\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      sku: Standard\n      adminEnabled: false\n  webhook:\n    type: azure:containerservice:RegistryWebhook\n    properties:\n      name: mywebhook\n      resourceGroupName: ${example.name}\n      registryName: ${acr.name}\n      location: ${example.location}\n      serviceUri: https://mywebhookreceiver.example/mytag\n      status: enabled\n      scope: mytag:*\n      actions:\n        - push\n      customHeaders:\n        Content-Type: application/json\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.ContainerRegistry` - 2025-11-01\n\n## Import\n\nContainer Registry Webhooks can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:containerservice/registryWebhook:RegistryWebhook example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.ContainerRegistry/registries/myregistry1/webHooks/mywebhook1\n```\n\n","properties":{"actions":{"type":"array","items":{"type":"string"},"description":"A list of actions that trigger the Webhook to post notifications. At least one action needs to be specified. Valid values are: \u003cspan pulumi-lang-nodejs=\"`push`\" pulumi-lang-dotnet=\"`Push`\" pulumi-lang-go=\"`push`\" pulumi-lang-python=\"`push`\" pulumi-lang-yaml=\"`push`\" pulumi-lang-java=\"`push`\"\u003e`push`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`delete`\" pulumi-lang-dotnet=\"`Delete`\" pulumi-lang-go=\"`delete`\" pulumi-lang-python=\"`delete`\" pulumi-lang-yaml=\"`delete`\" pulumi-lang-java=\"`delete`\"\u003e`delete`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`quarantine`\" pulumi-lang-dotnet=\"`Quarantine`\" pulumi-lang-go=\"`quarantine`\" pulumi-lang-python=\"`quarantine`\" pulumi-lang-yaml=\"`quarantine`\" pulumi-lang-java=\"`quarantine`\"\u003e`quarantine`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`chartPush`\" pulumi-lang-dotnet=\"`ChartPush`\" pulumi-lang-go=\"`chartPush`\" pulumi-lang-python=\"`chart_push`\" pulumi-lang-yaml=\"`chartPush`\" pulumi-lang-java=\"`chartPush`\"\u003e`chart_push`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`chartDelete`\" pulumi-lang-dotnet=\"`ChartDelete`\" pulumi-lang-go=\"`chartDelete`\" pulumi-lang-python=\"`chart_delete`\" pulumi-lang-yaml=\"`chartDelete`\" pulumi-lang-java=\"`chartDelete`\"\u003e`chart_delete`\u003c/span\u003e\n"},"customHeaders":{"type":"object","additionalProperties":{"type":"string"},"description":"Custom headers that will be added to the webhook notifications request.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"Specifies the name of the Container Registry Webhook. Only Alphanumeric characters allowed. Changing this forces a new resource to be created.\n"},"registryName":{"type":"string","description":"The Name of Container registry this Webhook belongs to. Changing this forces a new resource to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the Container Registry Webhook. Changing this forces a new resource to be created.\n"},"scope":{"type":"string","description":"Specifies the scope of repositories that can trigger an event. For example, `foo:*` means events for all tags under repository \u003cspan pulumi-lang-nodejs=\"`foo`\" pulumi-lang-dotnet=\"`Foo`\" pulumi-lang-go=\"`foo`\" pulumi-lang-python=\"`foo`\" pulumi-lang-yaml=\"`foo`\" pulumi-lang-java=\"`foo`\"\u003e`foo`\u003c/span\u003e. `foo:bar` means events for 'foo:bar' only. \u003cspan pulumi-lang-nodejs=\"`foo`\" pulumi-lang-dotnet=\"`Foo`\" pulumi-lang-go=\"`foo`\" pulumi-lang-python=\"`foo`\" pulumi-lang-yaml=\"`foo`\" pulumi-lang-java=\"`foo`\"\u003e`foo`\u003c/span\u003e is equivalent to `foo:latest`. Empty means all events. Defaults to `\"\"`.\n"},"serviceUri":{"type":"string","description":"Specifies the service URI for the Webhook to post notifications.\n"},"status":{"type":"string","description":"Specifies if this Webhook triggers notifications or not. Valid values: \u003cspan pulumi-lang-nodejs=\"`enabled`\" pulumi-lang-dotnet=\"`Enabled`\" pulumi-lang-go=\"`enabled`\" pulumi-lang-python=\"`enabled`\" pulumi-lang-yaml=\"`enabled`\" pulumi-lang-java=\"`enabled`\"\u003e`enabled`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`disabled`\" pulumi-lang-dotnet=\"`Disabled`\" pulumi-lang-go=\"`disabled`\" pulumi-lang-python=\"`disabled`\" pulumi-lang-yaml=\"`disabled`\" pulumi-lang-java=\"`disabled`\"\u003e`disabled`\u003c/span\u003e. Default is \u003cspan pulumi-lang-nodejs=\"`enabled`\" pulumi-lang-dotnet=\"`Enabled`\" pulumi-lang-go=\"`enabled`\" pulumi-lang-python=\"`enabled`\" pulumi-lang-yaml=\"`enabled`\" pulumi-lang-java=\"`enabled`\"\u003e`enabled`\u003c/span\u003e.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"required":["actions","location","name","registryName","resourceGroupName","serviceUri"],"inputProperties":{"actions":{"type":"array","items":{"type":"string"},"description":"A list of actions that trigger the Webhook to post notifications. At least one action needs to be specified. Valid values are: \u003cspan pulumi-lang-nodejs=\"`push`\" pulumi-lang-dotnet=\"`Push`\" pulumi-lang-go=\"`push`\" pulumi-lang-python=\"`push`\" pulumi-lang-yaml=\"`push`\" pulumi-lang-java=\"`push`\"\u003e`push`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`delete`\" pulumi-lang-dotnet=\"`Delete`\" pulumi-lang-go=\"`delete`\" pulumi-lang-python=\"`delete`\" pulumi-lang-yaml=\"`delete`\" pulumi-lang-java=\"`delete`\"\u003e`delete`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`quarantine`\" pulumi-lang-dotnet=\"`Quarantine`\" pulumi-lang-go=\"`quarantine`\" pulumi-lang-python=\"`quarantine`\" pulumi-lang-yaml=\"`quarantine`\" pulumi-lang-java=\"`quarantine`\"\u003e`quarantine`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`chartPush`\" pulumi-lang-dotnet=\"`ChartPush`\" pulumi-lang-go=\"`chartPush`\" pulumi-lang-python=\"`chart_push`\" pulumi-lang-yaml=\"`chartPush`\" pulumi-lang-java=\"`chartPush`\"\u003e`chart_push`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`chartDelete`\" pulumi-lang-dotnet=\"`ChartDelete`\" pulumi-lang-go=\"`chartDelete`\" pulumi-lang-python=\"`chart_delete`\" pulumi-lang-yaml=\"`chartDelete`\" pulumi-lang-java=\"`chartDelete`\"\u003e`chart_delete`\u003c/span\u003e\n"},"customHeaders":{"type":"object","additionalProperties":{"type":"string"},"description":"Custom headers that will be added to the webhook notifications request.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the Container Registry Webhook. Only Alphanumeric characters allowed. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"registryName":{"type":"string","description":"The Name of Container registry this Webhook belongs to. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the Container Registry Webhook. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"scope":{"type":"string","description":"Specifies the scope of repositories that can trigger an event. For example, `foo:*` means events for all tags under repository \u003cspan pulumi-lang-nodejs=\"`foo`\" pulumi-lang-dotnet=\"`Foo`\" pulumi-lang-go=\"`foo`\" pulumi-lang-python=\"`foo`\" pulumi-lang-yaml=\"`foo`\" pulumi-lang-java=\"`foo`\"\u003e`foo`\u003c/span\u003e. `foo:bar` means events for 'foo:bar' only. \u003cspan pulumi-lang-nodejs=\"`foo`\" pulumi-lang-dotnet=\"`Foo`\" pulumi-lang-go=\"`foo`\" pulumi-lang-python=\"`foo`\" pulumi-lang-yaml=\"`foo`\" pulumi-lang-java=\"`foo`\"\u003e`foo`\u003c/span\u003e is equivalent to `foo:latest`. Empty means all events. Defaults to `\"\"`.\n"},"serviceUri":{"type":"string","description":"Specifies the service URI for the Webhook to post notifications.\n"},"status":{"type":"string","description":"Specifies if this Webhook triggers notifications or not. Valid values: \u003cspan pulumi-lang-nodejs=\"`enabled`\" pulumi-lang-dotnet=\"`Enabled`\" pulumi-lang-go=\"`enabled`\" pulumi-lang-python=\"`enabled`\" pulumi-lang-yaml=\"`enabled`\" pulumi-lang-java=\"`enabled`\"\u003e`enabled`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`disabled`\" pulumi-lang-dotnet=\"`Disabled`\" pulumi-lang-go=\"`disabled`\" pulumi-lang-python=\"`disabled`\" pulumi-lang-yaml=\"`disabled`\" pulumi-lang-java=\"`disabled`\"\u003e`disabled`\u003c/span\u003e. Default is \u003cspan pulumi-lang-nodejs=\"`enabled`\" pulumi-lang-dotnet=\"`Enabled`\" pulumi-lang-go=\"`enabled`\" pulumi-lang-python=\"`enabled`\" pulumi-lang-yaml=\"`enabled`\" pulumi-lang-java=\"`enabled`\"\u003e`enabled`\u003c/span\u003e.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"requiredInputs":["actions","registryName","resourceGroupName","serviceUri"],"stateInputs":{"description":"Input properties used for looking up and filtering RegistryWebhook resources.\n","properties":{"actions":{"type":"array","items":{"type":"string"},"description":"A list of actions that trigger the Webhook to post notifications. At least one action needs to be specified. Valid values are: \u003cspan pulumi-lang-nodejs=\"`push`\" pulumi-lang-dotnet=\"`Push`\" pulumi-lang-go=\"`push`\" pulumi-lang-python=\"`push`\" pulumi-lang-yaml=\"`push`\" pulumi-lang-java=\"`push`\"\u003e`push`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`delete`\" pulumi-lang-dotnet=\"`Delete`\" pulumi-lang-go=\"`delete`\" pulumi-lang-python=\"`delete`\" pulumi-lang-yaml=\"`delete`\" pulumi-lang-java=\"`delete`\"\u003e`delete`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`quarantine`\" pulumi-lang-dotnet=\"`Quarantine`\" pulumi-lang-go=\"`quarantine`\" pulumi-lang-python=\"`quarantine`\" pulumi-lang-yaml=\"`quarantine`\" pulumi-lang-java=\"`quarantine`\"\u003e`quarantine`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`chartPush`\" pulumi-lang-dotnet=\"`ChartPush`\" pulumi-lang-go=\"`chartPush`\" pulumi-lang-python=\"`chart_push`\" pulumi-lang-yaml=\"`chartPush`\" pulumi-lang-java=\"`chartPush`\"\u003e`chart_push`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`chartDelete`\" pulumi-lang-dotnet=\"`ChartDelete`\" pulumi-lang-go=\"`chartDelete`\" pulumi-lang-python=\"`chart_delete`\" pulumi-lang-yaml=\"`chartDelete`\" pulumi-lang-java=\"`chartDelete`\"\u003e`chart_delete`\u003c/span\u003e\n"},"customHeaders":{"type":"object","additionalProperties":{"type":"string"},"description":"Custom headers that will be added to the webhook notifications request.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the Container Registry Webhook. Only Alphanumeric characters allowed. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"registryName":{"type":"string","description":"The Name of Container registry this Webhook belongs to. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the Container Registry Webhook. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"scope":{"type":"string","description":"Specifies the scope of repositories that can trigger an event. For example, `foo:*` means events for all tags under repository \u003cspan pulumi-lang-nodejs=\"`foo`\" pulumi-lang-dotnet=\"`Foo`\" pulumi-lang-go=\"`foo`\" pulumi-lang-python=\"`foo`\" pulumi-lang-yaml=\"`foo`\" pulumi-lang-java=\"`foo`\"\u003e`foo`\u003c/span\u003e. `foo:bar` means events for 'foo:bar' only. \u003cspan pulumi-lang-nodejs=\"`foo`\" pulumi-lang-dotnet=\"`Foo`\" pulumi-lang-go=\"`foo`\" pulumi-lang-python=\"`foo`\" pulumi-lang-yaml=\"`foo`\" pulumi-lang-java=\"`foo`\"\u003e`foo`\u003c/span\u003e is equivalent to `foo:latest`. Empty means all events. Defaults to `\"\"`.\n"},"serviceUri":{"type":"string","description":"Specifies the service URI for the Webhook to post notifications.\n"},"status":{"type":"string","description":"Specifies if this Webhook triggers notifications or not. Valid values: \u003cspan pulumi-lang-nodejs=\"`enabled`\" pulumi-lang-dotnet=\"`Enabled`\" pulumi-lang-go=\"`enabled`\" pulumi-lang-python=\"`enabled`\" pulumi-lang-yaml=\"`enabled`\" pulumi-lang-java=\"`enabled`\"\u003e`enabled`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`disabled`\" pulumi-lang-dotnet=\"`Disabled`\" pulumi-lang-go=\"`disabled`\" pulumi-lang-python=\"`disabled`\" pulumi-lang-yaml=\"`disabled`\" pulumi-lang-java=\"`disabled`\"\u003e`disabled`\u003c/span\u003e. Default is \u003cspan pulumi-lang-nodejs=\"`enabled`\" pulumi-lang-dotnet=\"`Enabled`\" pulumi-lang-go=\"`enabled`\" pulumi-lang-python=\"`enabled`\" pulumi-lang-yaml=\"`enabled`\" pulumi-lang-java=\"`enabled`\"\u003e`enabled`\u003c/span\u003e.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"type":"object"},"aliases":[{"type":"azure:containerservice/registryWebook:RegistryWebook"}]},"azure:containerservice/registryWebook:RegistryWebook":{"description":"Manages an Azure Container Registry Webhook.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst acr = new azure.containerservice.Registry(\"acr\", {\n    name: \"containerRegistry1\",\n    resourceGroupName: example.name,\n    location: example.location,\n    sku: \"Standard\",\n    adminEnabled: false,\n});\nconst webhook = new azure.containerservice.RegistryWebhook(\"webhook\", {\n    name: \"mywebhook\",\n    resourceGroupName: example.name,\n    registryName: acr.name,\n    location: example.location,\n    serviceUri: \"https://mywebhookreceiver.example/mytag\",\n    status: \"enabled\",\n    scope: \"mytag:*\",\n    actions: [\"push\"],\n    customHeaders: {\n        \"Content-Type\": \"application/json\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nacr = azure.containerservice.Registry(\"acr\",\n    name=\"containerRegistry1\",\n    resource_group_name=example.name,\n    location=example.location,\n    sku=\"Standard\",\n    admin_enabled=False)\nwebhook = azure.containerservice.RegistryWebhook(\"webhook\",\n    name=\"mywebhook\",\n    resource_group_name=example.name,\n    registry_name=acr.name,\n    location=example.location,\n    service_uri=\"https://mywebhookreceiver.example/mytag\",\n    status=\"enabled\",\n    scope=\"mytag:*\",\n    actions=[\"push\"],\n    custom_headers={\n        \"Content-Type\": \"application/json\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var acr = new Azure.ContainerService.Registry(\"acr\", new()\n    {\n        Name = \"containerRegistry1\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        Sku = \"Standard\",\n        AdminEnabled = false,\n    });\n\n    var webhook = new Azure.ContainerService.RegistryWebhook(\"webhook\", new()\n    {\n        Name = \"mywebhook\",\n        ResourceGroupName = example.Name,\n        RegistryName = acr.Name,\n        Location = example.Location,\n        ServiceUri = \"https://mywebhookreceiver.example/mytag\",\n        Status = \"enabled\",\n        Scope = \"mytag:*\",\n        Actions = new[]\n        {\n            \"push\",\n        },\n        CustomHeaders = \n        {\n            { \"Content-Type\", \"application/json\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/containerservice\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tacr, err := containerservice.NewRegistry(ctx, \"acr\", \u0026containerservice.RegistryArgs{\n\t\t\tName:              pulumi.String(\"containerRegistry1\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tSku:               pulumi.String(\"Standard\"),\n\t\t\tAdminEnabled:      pulumi.Bool(false),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = containerservice.NewRegistryWebhook(ctx, \"webhook\", \u0026containerservice.RegistryWebhookArgs{\n\t\t\tName:              pulumi.String(\"mywebhook\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tRegistryName:      acr.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tServiceUri:        pulumi.String(\"https://mywebhookreceiver.example/mytag\"),\n\t\t\tStatus:            pulumi.String(\"enabled\"),\n\t\t\tScope:             pulumi.String(\"mytag:*\"),\n\t\t\tActions: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"push\"),\n\t\t\t},\n\t\t\tCustomHeaders: pulumi.StringMap{\n\t\t\t\t\"Content-Type\": pulumi.String(\"application/json\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.containerservice.Registry;\nimport com.pulumi.azure.containerservice.RegistryArgs;\nimport com.pulumi.azure.containerservice.RegistryWebhook;\nimport com.pulumi.azure.containerservice.RegistryWebhookArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var acr = new Registry(\"acr\", RegistryArgs.builder()\n            .name(\"containerRegistry1\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .sku(\"Standard\")\n            .adminEnabled(false)\n            .build());\n\n        var webhook = new RegistryWebhook(\"webhook\", RegistryWebhookArgs.builder()\n            .name(\"mywebhook\")\n            .resourceGroupName(example.name())\n            .registryName(acr.name())\n            .location(example.location())\n            .serviceUri(\"https://mywebhookreceiver.example/mytag\")\n            .status(\"enabled\")\n            .scope(\"mytag:*\")\n            .actions(\"push\")\n            .customHeaders(Map.of(\"Content-Type\", \"application/json\"))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  acr:\n    type: azure:containerservice:Registry\n    properties:\n      name: containerRegistry1\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      sku: Standard\n      adminEnabled: false\n  webhook:\n    type: azure:containerservice:RegistryWebhook\n    properties:\n      name: mywebhook\n      resourceGroupName: ${example.name}\n      registryName: ${acr.name}\n      location: ${example.location}\n      serviceUri: https://mywebhookreceiver.example/mytag\n      status: enabled\n      scope: mytag:*\n      actions:\n        - push\n      customHeaders:\n        Content-Type: application/json\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.ContainerRegistry` - 2025-11-01\n\n## Import\n\nContainer Registry Webhooks can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:containerservice/registryWebook:RegistryWebook example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.ContainerRegistry/registries/myregistry1/webHooks/mywebhook1\n```\n\n","properties":{"actions":{"type":"array","items":{"type":"string"},"description":"A list of actions that trigger the Webhook to post notifications. At least one action needs to be specified. Valid values are: \u003cspan pulumi-lang-nodejs=\"`push`\" pulumi-lang-dotnet=\"`Push`\" pulumi-lang-go=\"`push`\" pulumi-lang-python=\"`push`\" pulumi-lang-yaml=\"`push`\" pulumi-lang-java=\"`push`\"\u003e`push`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`delete`\" pulumi-lang-dotnet=\"`Delete`\" pulumi-lang-go=\"`delete`\" pulumi-lang-python=\"`delete`\" pulumi-lang-yaml=\"`delete`\" pulumi-lang-java=\"`delete`\"\u003e`delete`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`quarantine`\" pulumi-lang-dotnet=\"`Quarantine`\" pulumi-lang-go=\"`quarantine`\" pulumi-lang-python=\"`quarantine`\" pulumi-lang-yaml=\"`quarantine`\" pulumi-lang-java=\"`quarantine`\"\u003e`quarantine`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`chartPush`\" pulumi-lang-dotnet=\"`ChartPush`\" pulumi-lang-go=\"`chartPush`\" pulumi-lang-python=\"`chart_push`\" pulumi-lang-yaml=\"`chartPush`\" pulumi-lang-java=\"`chartPush`\"\u003e`chart_push`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`chartDelete`\" pulumi-lang-dotnet=\"`ChartDelete`\" pulumi-lang-go=\"`chartDelete`\" pulumi-lang-python=\"`chart_delete`\" pulumi-lang-yaml=\"`chartDelete`\" pulumi-lang-java=\"`chartDelete`\"\u003e`chart_delete`\u003c/span\u003e\n"},"customHeaders":{"type":"object","additionalProperties":{"type":"string"},"description":"Custom headers that will be added to the webhook notifications request.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"Specifies the name of the Container Registry Webhook. Only Alphanumeric characters allowed. Changing this forces a new resource to be created.\n"},"registryName":{"type":"string","description":"The Name of Container registry this Webhook belongs to. Changing this forces a new resource to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the Container Registry Webhook. Changing this forces a new resource to be created.\n"},"scope":{"type":"string","description":"Specifies the scope of repositories that can trigger an event. For example, `foo:*` means events for all tags under repository \u003cspan pulumi-lang-nodejs=\"`foo`\" pulumi-lang-dotnet=\"`Foo`\" pulumi-lang-go=\"`foo`\" pulumi-lang-python=\"`foo`\" pulumi-lang-yaml=\"`foo`\" pulumi-lang-java=\"`foo`\"\u003e`foo`\u003c/span\u003e. `foo:bar` means events for 'foo:bar' only. \u003cspan pulumi-lang-nodejs=\"`foo`\" pulumi-lang-dotnet=\"`Foo`\" pulumi-lang-go=\"`foo`\" pulumi-lang-python=\"`foo`\" pulumi-lang-yaml=\"`foo`\" pulumi-lang-java=\"`foo`\"\u003e`foo`\u003c/span\u003e is equivalent to `foo:latest`. Empty means all events. Defaults to `\"\"`.\n"},"serviceUri":{"type":"string","description":"Specifies the service URI for the Webhook to post notifications.\n"},"status":{"type":"string","description":"Specifies if this Webhook triggers notifications or not. Valid values: \u003cspan pulumi-lang-nodejs=\"`enabled`\" pulumi-lang-dotnet=\"`Enabled`\" pulumi-lang-go=\"`enabled`\" pulumi-lang-python=\"`enabled`\" pulumi-lang-yaml=\"`enabled`\" pulumi-lang-java=\"`enabled`\"\u003e`enabled`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`disabled`\" pulumi-lang-dotnet=\"`Disabled`\" pulumi-lang-go=\"`disabled`\" pulumi-lang-python=\"`disabled`\" pulumi-lang-yaml=\"`disabled`\" pulumi-lang-java=\"`disabled`\"\u003e`disabled`\u003c/span\u003e. Default is \u003cspan pulumi-lang-nodejs=\"`enabled`\" pulumi-lang-dotnet=\"`Enabled`\" pulumi-lang-go=\"`enabled`\" pulumi-lang-python=\"`enabled`\" pulumi-lang-yaml=\"`enabled`\" pulumi-lang-java=\"`enabled`\"\u003e`enabled`\u003c/span\u003e.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"required":["actions","location","name","registryName","resourceGroupName","serviceUri"],"inputProperties":{"actions":{"type":"array","items":{"type":"string"},"description":"A list of actions that trigger the Webhook to post notifications. At least one action needs to be specified. Valid values are: \u003cspan pulumi-lang-nodejs=\"`push`\" pulumi-lang-dotnet=\"`Push`\" pulumi-lang-go=\"`push`\" pulumi-lang-python=\"`push`\" pulumi-lang-yaml=\"`push`\" pulumi-lang-java=\"`push`\"\u003e`push`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`delete`\" pulumi-lang-dotnet=\"`Delete`\" pulumi-lang-go=\"`delete`\" pulumi-lang-python=\"`delete`\" pulumi-lang-yaml=\"`delete`\" pulumi-lang-java=\"`delete`\"\u003e`delete`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`quarantine`\" pulumi-lang-dotnet=\"`Quarantine`\" pulumi-lang-go=\"`quarantine`\" pulumi-lang-python=\"`quarantine`\" pulumi-lang-yaml=\"`quarantine`\" pulumi-lang-java=\"`quarantine`\"\u003e`quarantine`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`chartPush`\" pulumi-lang-dotnet=\"`ChartPush`\" pulumi-lang-go=\"`chartPush`\" pulumi-lang-python=\"`chart_push`\" pulumi-lang-yaml=\"`chartPush`\" pulumi-lang-java=\"`chartPush`\"\u003e`chart_push`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`chartDelete`\" pulumi-lang-dotnet=\"`ChartDelete`\" pulumi-lang-go=\"`chartDelete`\" pulumi-lang-python=\"`chart_delete`\" pulumi-lang-yaml=\"`chartDelete`\" pulumi-lang-java=\"`chartDelete`\"\u003e`chart_delete`\u003c/span\u003e\n"},"customHeaders":{"type":"object","additionalProperties":{"type":"string"},"description":"Custom headers that will be added to the webhook notifications request.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the Container Registry Webhook. Only Alphanumeric characters allowed. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"registryName":{"type":"string","description":"The Name of Container registry this Webhook belongs to. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the Container Registry Webhook. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"scope":{"type":"string","description":"Specifies the scope of repositories that can trigger an event. For example, `foo:*` means events for all tags under repository \u003cspan pulumi-lang-nodejs=\"`foo`\" pulumi-lang-dotnet=\"`Foo`\" pulumi-lang-go=\"`foo`\" pulumi-lang-python=\"`foo`\" pulumi-lang-yaml=\"`foo`\" pulumi-lang-java=\"`foo`\"\u003e`foo`\u003c/span\u003e. `foo:bar` means events for 'foo:bar' only. \u003cspan pulumi-lang-nodejs=\"`foo`\" pulumi-lang-dotnet=\"`Foo`\" pulumi-lang-go=\"`foo`\" pulumi-lang-python=\"`foo`\" pulumi-lang-yaml=\"`foo`\" pulumi-lang-java=\"`foo`\"\u003e`foo`\u003c/span\u003e is equivalent to `foo:latest`. Empty means all events. Defaults to `\"\"`.\n"},"serviceUri":{"type":"string","description":"Specifies the service URI for the Webhook to post notifications.\n"},"status":{"type":"string","description":"Specifies if this Webhook triggers notifications or not. Valid values: \u003cspan pulumi-lang-nodejs=\"`enabled`\" pulumi-lang-dotnet=\"`Enabled`\" pulumi-lang-go=\"`enabled`\" pulumi-lang-python=\"`enabled`\" pulumi-lang-yaml=\"`enabled`\" pulumi-lang-java=\"`enabled`\"\u003e`enabled`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`disabled`\" pulumi-lang-dotnet=\"`Disabled`\" pulumi-lang-go=\"`disabled`\" pulumi-lang-python=\"`disabled`\" pulumi-lang-yaml=\"`disabled`\" pulumi-lang-java=\"`disabled`\"\u003e`disabled`\u003c/span\u003e. Default is \u003cspan pulumi-lang-nodejs=\"`enabled`\" pulumi-lang-dotnet=\"`Enabled`\" pulumi-lang-go=\"`enabled`\" pulumi-lang-python=\"`enabled`\" pulumi-lang-yaml=\"`enabled`\" pulumi-lang-java=\"`enabled`\"\u003e`enabled`\u003c/span\u003e.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"requiredInputs":["actions","registryName","resourceGroupName","serviceUri"],"stateInputs":{"description":"Input properties used for looking up and filtering RegistryWebook resources.\n","properties":{"actions":{"type":"array","items":{"type":"string"},"description":"A list of actions that trigger the Webhook to post notifications. At least one action needs to be specified. Valid values are: \u003cspan pulumi-lang-nodejs=\"`push`\" pulumi-lang-dotnet=\"`Push`\" pulumi-lang-go=\"`push`\" pulumi-lang-python=\"`push`\" pulumi-lang-yaml=\"`push`\" pulumi-lang-java=\"`push`\"\u003e`push`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`delete`\" pulumi-lang-dotnet=\"`Delete`\" pulumi-lang-go=\"`delete`\" pulumi-lang-python=\"`delete`\" pulumi-lang-yaml=\"`delete`\" pulumi-lang-java=\"`delete`\"\u003e`delete`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`quarantine`\" pulumi-lang-dotnet=\"`Quarantine`\" pulumi-lang-go=\"`quarantine`\" pulumi-lang-python=\"`quarantine`\" pulumi-lang-yaml=\"`quarantine`\" pulumi-lang-java=\"`quarantine`\"\u003e`quarantine`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`chartPush`\" pulumi-lang-dotnet=\"`ChartPush`\" pulumi-lang-go=\"`chartPush`\" pulumi-lang-python=\"`chart_push`\" pulumi-lang-yaml=\"`chartPush`\" pulumi-lang-java=\"`chartPush`\"\u003e`chart_push`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`chartDelete`\" pulumi-lang-dotnet=\"`ChartDelete`\" pulumi-lang-go=\"`chartDelete`\" pulumi-lang-python=\"`chart_delete`\" pulumi-lang-yaml=\"`chartDelete`\" pulumi-lang-java=\"`chartDelete`\"\u003e`chart_delete`\u003c/span\u003e\n"},"customHeaders":{"type":"object","additionalProperties":{"type":"string"},"description":"Custom headers that will be added to the webhook notifications request.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the Container Registry Webhook. Only Alphanumeric characters allowed. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"registryName":{"type":"string","description":"The Name of Container registry this Webhook belongs to. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the Container Registry Webhook. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"scope":{"type":"string","description":"Specifies the scope of repositories that can trigger an event. For example, `foo:*` means events for all tags under repository \u003cspan pulumi-lang-nodejs=\"`foo`\" pulumi-lang-dotnet=\"`Foo`\" pulumi-lang-go=\"`foo`\" pulumi-lang-python=\"`foo`\" pulumi-lang-yaml=\"`foo`\" pulumi-lang-java=\"`foo`\"\u003e`foo`\u003c/span\u003e. `foo:bar` means events for 'foo:bar' only. \u003cspan pulumi-lang-nodejs=\"`foo`\" pulumi-lang-dotnet=\"`Foo`\" pulumi-lang-go=\"`foo`\" pulumi-lang-python=\"`foo`\" pulumi-lang-yaml=\"`foo`\" pulumi-lang-java=\"`foo`\"\u003e`foo`\u003c/span\u003e is equivalent to `foo:latest`. Empty means all events. Defaults to `\"\"`.\n"},"serviceUri":{"type":"string","description":"Specifies the service URI for the Webhook to post notifications.\n"},"status":{"type":"string","description":"Specifies if this Webhook triggers notifications or not. Valid values: \u003cspan pulumi-lang-nodejs=\"`enabled`\" pulumi-lang-dotnet=\"`Enabled`\" pulumi-lang-go=\"`enabled`\" pulumi-lang-python=\"`enabled`\" pulumi-lang-yaml=\"`enabled`\" pulumi-lang-java=\"`enabled`\"\u003e`enabled`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`disabled`\" pulumi-lang-dotnet=\"`Disabled`\" pulumi-lang-go=\"`disabled`\" pulumi-lang-python=\"`disabled`\" pulumi-lang-yaml=\"`disabled`\" pulumi-lang-java=\"`disabled`\"\u003e`disabled`\u003c/span\u003e. Default is \u003cspan pulumi-lang-nodejs=\"`enabled`\" pulumi-lang-dotnet=\"`Enabled`\" pulumi-lang-go=\"`enabled`\" pulumi-lang-python=\"`enabled`\" pulumi-lang-yaml=\"`enabled`\" pulumi-lang-java=\"`enabled`\"\u003e`enabled`\u003c/span\u003e.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"type":"object"},"deprecationMessage":"azure.containerservice.RegistryWebook has been deprecated in favor of azure.containerservice.RegistryWebhook"},"azure:containerservice/tokenPassword:TokenPassword":{"description":"Manages a Container Registry Token Password associated with a scope map.  For more information on scope maps and their tokens see the [product documentation](https://learn.microsoft.com/en-us/azure/container-registry/container-registry-repository-scoped-permissions).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resource-group\",\n    location: \"West Europe\",\n});\nconst exampleRegistry = new azure.containerservice.Registry(\"example\", {\n    name: \"example-registry\",\n    resourceGroupName: example.name,\n    location: example.location,\n    sku: \"Basic\",\n    adminEnabled: false,\n    georeplicationLocations: [\n        \"East US\",\n        \"West Europe\",\n    ],\n});\nconst exampleRegistryScopeMap = new azure.containerservice.RegistryScopeMap(\"example\", {\n    name: \"example-scope-map\",\n    containerRegistryName: exampleRegistry.name,\n    resourceGroupName: example.name,\n    actions: [\n        \"repositories/repo1/content/read\",\n        \"repositories/repo1/content/write\",\n    ],\n});\nconst exampleRegistryToken = new azure.containerservice.RegistryToken(\"example\", {\n    name: \"exampletoken\",\n    containerRegistryName: exampleRegistry.name,\n    resourceGroupName: example.name,\n    scopeMapId: exampleRegistryScopeMap.id,\n});\nconst exampleTokenPassword = new azure.containerservice.TokenPassword(\"example\", {\n    containerRegistryTokenId: exampleRegistryToken.id,\n    password1: {\n        expiry: \"2023-03-22T17:57:36+08:00\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resource-group\",\n    location=\"West Europe\")\nexample_registry = azure.containerservice.Registry(\"example\",\n    name=\"example-registry\",\n    resource_group_name=example.name,\n    location=example.location,\n    sku=\"Basic\",\n    admin_enabled=False,\n    georeplication_locations=[\n        \"East US\",\n        \"West Europe\",\n    ])\nexample_registry_scope_map = azure.containerservice.RegistryScopeMap(\"example\",\n    name=\"example-scope-map\",\n    container_registry_name=example_registry.name,\n    resource_group_name=example.name,\n    actions=[\n        \"repositories/repo1/content/read\",\n        \"repositories/repo1/content/write\",\n    ])\nexample_registry_token = azure.containerservice.RegistryToken(\"example\",\n    name=\"exampletoken\",\n    container_registry_name=example_registry.name,\n    resource_group_name=example.name,\n    scope_map_id=example_registry_scope_map.id)\nexample_token_password = azure.containerservice.TokenPassword(\"example\",\n    container_registry_token_id=example_registry_token.id,\n    password1={\n        \"expiry\": \"2023-03-22T17:57:36+08:00\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resource-group\",\n        Location = \"West Europe\",\n    });\n\n    var exampleRegistry = new Azure.ContainerService.Registry(\"example\", new()\n    {\n        Name = \"example-registry\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        Sku = \"Basic\",\n        AdminEnabled = false,\n        GeoreplicationLocations = new[]\n        {\n            \"East US\",\n            \"West Europe\",\n        },\n    });\n\n    var exampleRegistryScopeMap = new Azure.ContainerService.RegistryScopeMap(\"example\", new()\n    {\n        Name = \"example-scope-map\",\n        ContainerRegistryName = exampleRegistry.Name,\n        ResourceGroupName = example.Name,\n        Actions = new[]\n        {\n            \"repositories/repo1/content/read\",\n            \"repositories/repo1/content/write\",\n        },\n    });\n\n    var exampleRegistryToken = new Azure.ContainerService.RegistryToken(\"example\", new()\n    {\n        Name = \"exampletoken\",\n        ContainerRegistryName = exampleRegistry.Name,\n        ResourceGroupName = example.Name,\n        ScopeMapId = exampleRegistryScopeMap.Id,\n    });\n\n    var exampleTokenPassword = new Azure.ContainerService.TokenPassword(\"example\", new()\n    {\n        ContainerRegistryTokenId = exampleRegistryToken.Id,\n        Password1 = new Azure.ContainerService.Inputs.TokenPasswordPassword1Args\n        {\n            Expiry = \"2023-03-22T17:57:36+08:00\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/containerservice\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resource-group\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleRegistry, err := containerservice.NewRegistry(ctx, \"example\", \u0026containerservice.RegistryArgs{\n\t\t\tName:              pulumi.String(\"example-registry\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tSku:               pulumi.String(\"Basic\"),\n\t\t\tAdminEnabled:      pulumi.Bool(false),\n\t\t\tGeoreplicationLocations: []string{\n\t\t\t\t\"East US\",\n\t\t\t\t\"West Europe\",\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleRegistryScopeMap, err := containerservice.NewRegistryScopeMap(ctx, \"example\", \u0026containerservice.RegistryScopeMapArgs{\n\t\t\tName:                  pulumi.String(\"example-scope-map\"),\n\t\t\tContainerRegistryName: exampleRegistry.Name,\n\t\t\tResourceGroupName:     example.Name,\n\t\t\tActions: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"repositories/repo1/content/read\"),\n\t\t\t\tpulumi.String(\"repositories/repo1/content/write\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleRegistryToken, err := containerservice.NewRegistryToken(ctx, \"example\", \u0026containerservice.RegistryTokenArgs{\n\t\t\tName:                  pulumi.String(\"exampletoken\"),\n\t\t\tContainerRegistryName: exampleRegistry.Name,\n\t\t\tResourceGroupName:     example.Name,\n\t\t\tScopeMapId:            exampleRegistryScopeMap.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = containerservice.NewTokenPassword(ctx, \"example\", \u0026containerservice.TokenPasswordArgs{\n\t\t\tContainerRegistryTokenId: exampleRegistryToken.ID(),\n\t\t\tPassword1: \u0026containerservice.TokenPasswordPassword1Args{\n\t\t\t\tExpiry: pulumi.String(\"2023-03-22T17:57:36+08:00\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.containerservice.Registry;\nimport com.pulumi.azure.containerservice.RegistryArgs;\nimport com.pulumi.azure.containerservice.RegistryScopeMap;\nimport com.pulumi.azure.containerservice.RegistryScopeMapArgs;\nimport com.pulumi.azure.containerservice.RegistryToken;\nimport com.pulumi.azure.containerservice.RegistryTokenArgs;\nimport com.pulumi.azure.containerservice.TokenPassword;\nimport com.pulumi.azure.containerservice.TokenPasswordArgs;\nimport com.pulumi.azure.containerservice.inputs.TokenPasswordPassword1Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resource-group\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleRegistry = new Registry(\"exampleRegistry\", RegistryArgs.builder()\n            .name(\"example-registry\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .sku(\"Basic\")\n            .adminEnabled(false)\n            .georeplicationLocations(List.of(            \n                \"East US\",\n                \"West Europe\"))\n            .build());\n\n        var exampleRegistryScopeMap = new RegistryScopeMap(\"exampleRegistryScopeMap\", RegistryScopeMapArgs.builder()\n            .name(\"example-scope-map\")\n            .containerRegistryName(exampleRegistry.name())\n            .resourceGroupName(example.name())\n            .actions(            \n                \"repositories/repo1/content/read\",\n                \"repositories/repo1/content/write\")\n            .build());\n\n        var exampleRegistryToken = new RegistryToken(\"exampleRegistryToken\", RegistryTokenArgs.builder()\n            .name(\"exampletoken\")\n            .containerRegistryName(exampleRegistry.name())\n            .resourceGroupName(example.name())\n            .scopeMapId(exampleRegistryScopeMap.id())\n            .build());\n\n        var exampleTokenPassword = new TokenPassword(\"exampleTokenPassword\", TokenPasswordArgs.builder()\n            .containerRegistryTokenId(exampleRegistryToken.id())\n            .password1(TokenPasswordPassword1Args.builder()\n                .expiry(\"2023-03-22T17:57:36+08:00\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resource-group\n      location: West Europe\n  exampleRegistry:\n    type: azure:containerservice:Registry\n    name: example\n    properties:\n      name: example-registry\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      sku: Basic\n      adminEnabled: false\n      georeplicationLocations:\n        - East US\n        - West Europe\n  exampleRegistryScopeMap:\n    type: azure:containerservice:RegistryScopeMap\n    name: example\n    properties:\n      name: example-scope-map\n      containerRegistryName: ${exampleRegistry.name}\n      resourceGroupName: ${example.name}\n      actions:\n        - repositories/repo1/content/read\n        - repositories/repo1/content/write\n  exampleRegistryToken:\n    type: azure:containerservice:RegistryToken\n    name: example\n    properties:\n      name: exampletoken\n      containerRegistryName: ${exampleRegistry.name}\n      resourceGroupName: ${example.name}\n      scopeMapId: ${exampleRegistryScopeMap.id}\n  exampleTokenPassword:\n    type: azure:containerservice:TokenPassword\n    name: example\n    properties:\n      containerRegistryTokenId: ${exampleRegistryToken.id}\n      password1:\n        expiry: 2023-03-22T17:57:36+08:00\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.ContainerRegistry` - 2025-11-01\n\n## Import\n\nContainer Registry Token Passwords can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:containerservice/tokenPassword:TokenPassword example /subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/group1/providers/Microsoft.ContainerRegistry/registries/registry1/tokens/token1/passwords/password\n```\n\n","properties":{"containerRegistryTokenId":{"type":"string","description":"The ID of the Container Registry Token that this Container Registry Token Password resides in. Changing this forces a new Container Registry Token Password to be created.\n"},"password1":{"$ref":"#/types/azure:containerservice/TokenPasswordPassword1:TokenPasswordPassword1","description":"One \u003cspan pulumi-lang-nodejs=\"`password`\" pulumi-lang-dotnet=\"`Password`\" pulumi-lang-go=\"`password`\" pulumi-lang-python=\"`password`\" pulumi-lang-yaml=\"`password`\" pulumi-lang-java=\"`password`\"\u003e`password`\u003c/span\u003e block as defined below.\n"},"password2":{"$ref":"#/types/azure:containerservice/TokenPasswordPassword2:TokenPasswordPassword2","description":"One \u003cspan pulumi-lang-nodejs=\"`password`\" pulumi-lang-dotnet=\"`Password`\" pulumi-lang-go=\"`password`\" pulumi-lang-python=\"`password`\" pulumi-lang-yaml=\"`password`\" pulumi-lang-java=\"`password`\"\u003e`password`\u003c/span\u003e block as defined below.\n"}},"required":["containerRegistryTokenId","password1"],"inputProperties":{"containerRegistryTokenId":{"type":"string","description":"The ID of the Container Registry Token that this Container Registry Token Password resides in. Changing this forces a new Container Registry Token Password to be created.\n","willReplaceOnChanges":true},"password1":{"$ref":"#/types/azure:containerservice/TokenPasswordPassword1:TokenPasswordPassword1","description":"One \u003cspan pulumi-lang-nodejs=\"`password`\" pulumi-lang-dotnet=\"`Password`\" pulumi-lang-go=\"`password`\" pulumi-lang-python=\"`password`\" pulumi-lang-yaml=\"`password`\" pulumi-lang-java=\"`password`\"\u003e`password`\u003c/span\u003e block as defined below.\n"},"password2":{"$ref":"#/types/azure:containerservice/TokenPasswordPassword2:TokenPasswordPassword2","description":"One \u003cspan pulumi-lang-nodejs=\"`password`\" pulumi-lang-dotnet=\"`Password`\" pulumi-lang-go=\"`password`\" pulumi-lang-python=\"`password`\" pulumi-lang-yaml=\"`password`\" pulumi-lang-java=\"`password`\"\u003e`password`\u003c/span\u003e block as defined below.\n"}},"requiredInputs":["containerRegistryTokenId","password1"],"stateInputs":{"description":"Input properties used for looking up and filtering TokenPassword resources.\n","properties":{"containerRegistryTokenId":{"type":"string","description":"The ID of the Container Registry Token that this Container Registry Token Password resides in. Changing this forces a new Container Registry Token Password to be created.\n","willReplaceOnChanges":true},"password1":{"$ref":"#/types/azure:containerservice/TokenPasswordPassword1:TokenPasswordPassword1","description":"One \u003cspan pulumi-lang-nodejs=\"`password`\" pulumi-lang-dotnet=\"`Password`\" pulumi-lang-go=\"`password`\" pulumi-lang-python=\"`password`\" pulumi-lang-yaml=\"`password`\" pulumi-lang-java=\"`password`\"\u003e`password`\u003c/span\u003e block as defined below.\n"},"password2":{"$ref":"#/types/azure:containerservice/TokenPasswordPassword2:TokenPasswordPassword2","description":"One \u003cspan pulumi-lang-nodejs=\"`password`\" pulumi-lang-dotnet=\"`Password`\" pulumi-lang-go=\"`password`\" pulumi-lang-python=\"`password`\" pulumi-lang-yaml=\"`password`\" pulumi-lang-java=\"`password`\"\u003e`password`\u003c/span\u003e block as defined below.\n"}},"type":"object"}},"azure:core/customProvider:CustomProvider":{"description":"Manages an Azure Custom Provider.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleCustomProvider = new azure.core.CustomProvider(\"example\", {\n    name: \"example_provider\",\n    location: example.location,\n    resourceGroupName: example.name,\n    resourceTypes: [{\n        name: \"dEf1\",\n        endpoint: \"https://testendpoint.com/\",\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_custom_provider = azure.core.CustomProvider(\"example\",\n    name=\"example_provider\",\n    location=example.location,\n    resource_group_name=example.name,\n    resource_types=[{\n        \"name\": \"dEf1\",\n        \"endpoint\": \"https://testendpoint.com/\",\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleCustomProvider = new Azure.Core.CustomProvider(\"example\", new()\n    {\n        Name = \"example_provider\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        ResourceTypes = new[]\n        {\n            new Azure.Core.Inputs.CustomProviderResourceTypeArgs\n            {\n                Name = \"dEf1\",\n                Endpoint = \"https://testendpoint.com/\",\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = core.NewCustomProvider(ctx, \"example\", \u0026core.CustomProviderArgs{\n\t\t\tName:              pulumi.String(\"example_provider\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tResourceTypes: core.CustomProviderResourceTypeArray{\n\t\t\t\t\u0026core.CustomProviderResourceTypeArgs{\n\t\t\t\t\tName:     pulumi.String(\"dEf1\"),\n\t\t\t\t\tEndpoint: pulumi.String(\"https://testendpoint.com/\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.core.CustomProvider;\nimport com.pulumi.azure.core.CustomProviderArgs;\nimport com.pulumi.azure.core.inputs.CustomProviderResourceTypeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleCustomProvider = new CustomProvider(\"exampleCustomProvider\", CustomProviderArgs.builder()\n            .name(\"example_provider\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .resourceTypes(CustomProviderResourceTypeArgs.builder()\n                .name(\"dEf1\")\n                .endpoint(\"https://testendpoint.com/\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleCustomProvider:\n    type: azure:core:CustomProvider\n    name: example\n    properties:\n      name: example_provider\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      resourceTypes:\n        - name: dEf1\n          endpoint: https://testendpoint.com/\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.CustomProviders` - 2018-09-01-preview\n\n## Import\n\nCustom Provider can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:core/customProvider:CustomProvider example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/example/providers/Microsoft.CustomProviders/resourceProviders/example\n```\n\n","properties":{"actions":{"type":"array","items":{"$ref":"#/types/azure:core/CustomProviderAction:CustomProviderAction"},"description":"Any number of \u003cspan pulumi-lang-nodejs=\"`action`\" pulumi-lang-dotnet=\"`Action`\" pulumi-lang-go=\"`action`\" pulumi-lang-python=\"`action`\" pulumi-lang-yaml=\"`action`\" pulumi-lang-java=\"`action`\"\u003e`action`\u003c/span\u003e block as defined below. One of \u003cspan pulumi-lang-nodejs=\"`resourceType`\" pulumi-lang-dotnet=\"`ResourceType`\" pulumi-lang-go=\"`resourceType`\" pulumi-lang-python=\"`resource_type`\" pulumi-lang-yaml=\"`resourceType`\" pulumi-lang-java=\"`resourceType`\"\u003e`resource_type`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`action`\" pulumi-lang-dotnet=\"`Action`\" pulumi-lang-go=\"`action`\" pulumi-lang-python=\"`action`\" pulumi-lang-yaml=\"`action`\" pulumi-lang-java=\"`action`\"\u003e`action`\u003c/span\u003e must be specified.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"Specifies the name of the Custom Provider. Changing this forces a new resource to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the Custom Provider. Changing this forces a new resource to be created.\n"},"resourceTypes":{"type":"array","items":{"$ref":"#/types/azure:core/CustomProviderResourceType:CustomProviderResourceType"},"description":"Any number of \u003cspan pulumi-lang-nodejs=\"`resourceType`\" pulumi-lang-dotnet=\"`ResourceType`\" pulumi-lang-go=\"`resourceType`\" pulumi-lang-python=\"`resource_type`\" pulumi-lang-yaml=\"`resourceType`\" pulumi-lang-java=\"`resourceType`\"\u003e`resource_type`\u003c/span\u003e block as defined below. One of \u003cspan pulumi-lang-nodejs=\"`resourceType`\" pulumi-lang-dotnet=\"`ResourceType`\" pulumi-lang-go=\"`resourceType`\" pulumi-lang-python=\"`resource_type`\" pulumi-lang-yaml=\"`resourceType`\" pulumi-lang-java=\"`resourceType`\"\u003e`resource_type`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`action`\" pulumi-lang-dotnet=\"`Action`\" pulumi-lang-go=\"`action`\" pulumi-lang-python=\"`action`\" pulumi-lang-yaml=\"`action`\" pulumi-lang-java=\"`action`\"\u003e`action`\u003c/span\u003e must be specified.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource. Changing this forces a new resource to be created.\n"},"validations":{"type":"array","items":{"$ref":"#/types/azure:core/CustomProviderValidation:CustomProviderValidation"},"description":"Any number of \u003cspan pulumi-lang-nodejs=\"`validation`\" pulumi-lang-dotnet=\"`Validation`\" pulumi-lang-go=\"`validation`\" pulumi-lang-python=\"`validation`\" pulumi-lang-yaml=\"`validation`\" pulumi-lang-java=\"`validation`\"\u003e`validation`\u003c/span\u003e block as defined below.\n"}},"required":["location","name","resourceGroupName"],"inputProperties":{"actions":{"type":"array","items":{"$ref":"#/types/azure:core/CustomProviderAction:CustomProviderAction"},"description":"Any number of \u003cspan pulumi-lang-nodejs=\"`action`\" pulumi-lang-dotnet=\"`Action`\" pulumi-lang-go=\"`action`\" pulumi-lang-python=\"`action`\" pulumi-lang-yaml=\"`action`\" pulumi-lang-java=\"`action`\"\u003e`action`\u003c/span\u003e block as defined below. One of \u003cspan pulumi-lang-nodejs=\"`resourceType`\" pulumi-lang-dotnet=\"`ResourceType`\" pulumi-lang-go=\"`resourceType`\" pulumi-lang-python=\"`resource_type`\" pulumi-lang-yaml=\"`resourceType`\" pulumi-lang-java=\"`resourceType`\"\u003e`resource_type`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`action`\" pulumi-lang-dotnet=\"`Action`\" pulumi-lang-go=\"`action`\" pulumi-lang-python=\"`action`\" pulumi-lang-yaml=\"`action`\" pulumi-lang-java=\"`action`\"\u003e`action`\u003c/span\u003e must be specified.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the Custom Provider. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the Custom Provider. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceTypes":{"type":"array","items":{"$ref":"#/types/azure:core/CustomProviderResourceType:CustomProviderResourceType"},"description":"Any number of \u003cspan pulumi-lang-nodejs=\"`resourceType`\" pulumi-lang-dotnet=\"`ResourceType`\" pulumi-lang-go=\"`resourceType`\" pulumi-lang-python=\"`resource_type`\" pulumi-lang-yaml=\"`resourceType`\" pulumi-lang-java=\"`resourceType`\"\u003e`resource_type`\u003c/span\u003e block as defined below. One of \u003cspan pulumi-lang-nodejs=\"`resourceType`\" pulumi-lang-dotnet=\"`ResourceType`\" pulumi-lang-go=\"`resourceType`\" pulumi-lang-python=\"`resource_type`\" pulumi-lang-yaml=\"`resourceType`\" pulumi-lang-java=\"`resourceType`\"\u003e`resource_type`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`action`\" pulumi-lang-dotnet=\"`Action`\" pulumi-lang-go=\"`action`\" pulumi-lang-python=\"`action`\" pulumi-lang-yaml=\"`action`\" pulumi-lang-java=\"`action`\"\u003e`action`\u003c/span\u003e must be specified.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"validations":{"type":"array","items":{"$ref":"#/types/azure:core/CustomProviderValidation:CustomProviderValidation"},"description":"Any number of \u003cspan pulumi-lang-nodejs=\"`validation`\" pulumi-lang-dotnet=\"`Validation`\" pulumi-lang-go=\"`validation`\" pulumi-lang-python=\"`validation`\" pulumi-lang-yaml=\"`validation`\" pulumi-lang-java=\"`validation`\"\u003e`validation`\u003c/span\u003e block as defined below.\n"}},"requiredInputs":["resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering CustomProvider resources.\n","properties":{"actions":{"type":"array","items":{"$ref":"#/types/azure:core/CustomProviderAction:CustomProviderAction"},"description":"Any number of \u003cspan pulumi-lang-nodejs=\"`action`\" pulumi-lang-dotnet=\"`Action`\" pulumi-lang-go=\"`action`\" pulumi-lang-python=\"`action`\" pulumi-lang-yaml=\"`action`\" pulumi-lang-java=\"`action`\"\u003e`action`\u003c/span\u003e block as defined below. One of \u003cspan pulumi-lang-nodejs=\"`resourceType`\" pulumi-lang-dotnet=\"`ResourceType`\" pulumi-lang-go=\"`resourceType`\" pulumi-lang-python=\"`resource_type`\" pulumi-lang-yaml=\"`resourceType`\" pulumi-lang-java=\"`resourceType`\"\u003e`resource_type`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`action`\" pulumi-lang-dotnet=\"`Action`\" pulumi-lang-go=\"`action`\" pulumi-lang-python=\"`action`\" pulumi-lang-yaml=\"`action`\" pulumi-lang-java=\"`action`\"\u003e`action`\u003c/span\u003e must be specified.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the Custom Provider. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the Custom Provider. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceTypes":{"type":"array","items":{"$ref":"#/types/azure:core/CustomProviderResourceType:CustomProviderResourceType"},"description":"Any number of \u003cspan pulumi-lang-nodejs=\"`resourceType`\" pulumi-lang-dotnet=\"`ResourceType`\" pulumi-lang-go=\"`resourceType`\" pulumi-lang-python=\"`resource_type`\" pulumi-lang-yaml=\"`resourceType`\" pulumi-lang-java=\"`resourceType`\"\u003e`resource_type`\u003c/span\u003e block as defined below. One of \u003cspan pulumi-lang-nodejs=\"`resourceType`\" pulumi-lang-dotnet=\"`ResourceType`\" pulumi-lang-go=\"`resourceType`\" pulumi-lang-python=\"`resource_type`\" pulumi-lang-yaml=\"`resourceType`\" pulumi-lang-java=\"`resourceType`\"\u003e`resource_type`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`action`\" pulumi-lang-dotnet=\"`Action`\" pulumi-lang-go=\"`action`\" pulumi-lang-python=\"`action`\" pulumi-lang-yaml=\"`action`\" pulumi-lang-java=\"`action`\"\u003e`action`\u003c/span\u003e must be specified.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"validations":{"type":"array","items":{"$ref":"#/types/azure:core/CustomProviderValidation:CustomProviderValidation"},"description":"Any number of \u003cspan pulumi-lang-nodejs=\"`validation`\" pulumi-lang-dotnet=\"`Validation`\" pulumi-lang-go=\"`validation`\" pulumi-lang-python=\"`validation`\" pulumi-lang-yaml=\"`validation`\" pulumi-lang-java=\"`validation`\"\u003e`validation`\u003c/span\u003e block as defined below.\n"}},"type":"object"}},"azure:core/portalTenantConfiguration:PortalTenantConfiguration":{"description":"Manages Portal Tenant Configuration.\n\n\u003e **Note:** User has to be `Contributor` or `Owner` at scope `/` for managing this resource.\n\n\u003e **Note:** The Service Principal with Tenant Admin can be created by `az ad sp create-for-rbac --name \"\u003csp name\u003e\" --role=\"Contributor\" --scopes=\"/\"`.\n\n\u003e **Note:** The Service Principal can be granted Tenant Admin permission by `az role assignment create --assignee \"\u003capp id\u003e\" --role \"Contributor\" --scope \"/\"`.\n\n\u003e **Note:** While assigning the role to the existing/new Service Principal at the Tenant Scope, the user assigning role must already have the `Owner` role assigned at the Tenant Scope.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.PortalTenantConfiguration(\"example\", {privateMarkdownStorageEnforced: true});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.PortalTenantConfiguration(\"example\", private_markdown_storage_enforced=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.PortalTenantConfiguration(\"example\", new()\n    {\n        PrivateMarkdownStorageEnforced = true,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := core.NewPortalTenantConfiguration(ctx, \"example\", \u0026core.PortalTenantConfigurationArgs{\n\t\t\tPrivateMarkdownStorageEnforced: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.PortalTenantConfiguration;\nimport com.pulumi.azure.core.PortalTenantConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new PortalTenantConfiguration(\"example\", PortalTenantConfigurationArgs.builder()\n            .privateMarkdownStorageEnforced(true)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:PortalTenantConfiguration\n    properties:\n      privateMarkdownStorageEnforced: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Portal` - 2019-01-01-preview\n\n## Import\n\nPortal Tenant Configurations can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:core/portalTenantConfiguration:PortalTenantConfiguration example /providers/Microsoft.Portal/tenantConfigurations/default\n```\n\n","properties":{"privateMarkdownStorageEnforced":{"type":"boolean","description":"Is the private tile markdown storage which used to display custom dynamic and static content enabled?\n\n\u003e **Note:** When \u003cspan pulumi-lang-nodejs=\"`privateMarkdownStorageEnforced`\" pulumi-lang-dotnet=\"`PrivateMarkdownStorageEnforced`\" pulumi-lang-go=\"`privateMarkdownStorageEnforced`\" pulumi-lang-python=\"`private_markdown_storage_enforced`\" pulumi-lang-yaml=\"`privateMarkdownStorageEnforced`\" pulumi-lang-java=\"`privateMarkdownStorageEnforced`\"\u003e`private_markdown_storage_enforced`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, only external storage configuration (URI) is allowed for Markdown tiles. Inline content configuration will be prohibited.\n"}},"required":["privateMarkdownStorageEnforced"],"inputProperties":{"privateMarkdownStorageEnforced":{"type":"boolean","description":"Is the private tile markdown storage which used to display custom dynamic and static content enabled?\n\n\u003e **Note:** When \u003cspan pulumi-lang-nodejs=\"`privateMarkdownStorageEnforced`\" pulumi-lang-dotnet=\"`PrivateMarkdownStorageEnforced`\" pulumi-lang-go=\"`privateMarkdownStorageEnforced`\" pulumi-lang-python=\"`private_markdown_storage_enforced`\" pulumi-lang-yaml=\"`privateMarkdownStorageEnforced`\" pulumi-lang-java=\"`privateMarkdownStorageEnforced`\"\u003e`private_markdown_storage_enforced`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, only external storage configuration (URI) is allowed for Markdown tiles. Inline content configuration will be prohibited.\n"}},"requiredInputs":["privateMarkdownStorageEnforced"],"stateInputs":{"description":"Input properties used for looking up and filtering PortalTenantConfiguration resources.\n","properties":{"privateMarkdownStorageEnforced":{"type":"boolean","description":"Is the private tile markdown storage which used to display custom dynamic and static content enabled?\n\n\u003e **Note:** When \u003cspan pulumi-lang-nodejs=\"`privateMarkdownStorageEnforced`\" pulumi-lang-dotnet=\"`PrivateMarkdownStorageEnforced`\" pulumi-lang-go=\"`privateMarkdownStorageEnforced`\" pulumi-lang-python=\"`private_markdown_storage_enforced`\" pulumi-lang-yaml=\"`privateMarkdownStorageEnforced`\" pulumi-lang-java=\"`privateMarkdownStorageEnforced`\"\u003e`private_markdown_storage_enforced`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, only external storage configuration (URI) is allowed for Markdown tiles. Inline content configuration will be prohibited.\n"}},"type":"object"}},"azure:core/resourceDeploymentScriptAzureCli:ResourceDeploymentScriptAzureCli":{"description":"Manages a Resource Deployment Script of Azure Cli.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleUserAssignedIdentity = new azure.authorization.UserAssignedIdentity(\"example\", {\n    name: \"example-uai\",\n    location: example.location,\n    resourceGroupName: example.name,\n});\nconst exampleResourceDeploymentScriptAzureCli = new azure.core.ResourceDeploymentScriptAzureCli(\"example\", {\n    name: \"example-rdsac\",\n    resourceGroupName: example.name,\n    location: \"West Europe\",\n    version: \"2.40.0\",\n    retentionInterval: \"P1D\",\n    commandLine: \"'foo' 'bar'\",\n    cleanupPreference: \"OnSuccess\",\n    forceUpdateTag: \"1\",\n    timeout: \"PT30M\",\n    scriptContent: \"            echo \\\\\\\"{\\\\\\\\\\\\\\\"name\\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\\"displayName\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\"$1 $2\\\\\\\\\\\\\\\"}}\\\\\\\" \u003e $AZ_SCRIPTS_OUTPUT_PATH\\n\",\n    identity: {\n        type: \"UserAssigned\",\n        identityIds: [exampleUserAssignedIdentity.id],\n    },\n    tags: {\n        key: \"value\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_user_assigned_identity = azure.authorization.UserAssignedIdentity(\"example\",\n    name=\"example-uai\",\n    location=example.location,\n    resource_group_name=example.name)\nexample_resource_deployment_script_azure_cli = azure.core.ResourceDeploymentScriptAzureCli(\"example\",\n    name=\"example-rdsac\",\n    resource_group_name=example.name,\n    location=\"West Europe\",\n    version=\"2.40.0\",\n    retention_interval=\"P1D\",\n    command_line=\"'foo' 'bar'\",\n    cleanup_preference=\"OnSuccess\",\n    force_update_tag=\"1\",\n    timeout=\"PT30M\",\n    script_content=\"            echo \\\\\\\"{\\\\\\\\\\\\\\\"name\\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\\"displayName\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\"$1 $2\\\\\\\\\\\\\\\"}}\\\\\\\" \u003e $AZ_SCRIPTS_OUTPUT_PATH\\n\",\n    identity={\n        \"type\": \"UserAssigned\",\n        \"identity_ids\": [example_user_assigned_identity.id],\n    },\n    tags={\n        \"key\": \"value\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleUserAssignedIdentity = new Azure.Authorization.UserAssignedIdentity(\"example\", new()\n    {\n        Name = \"example-uai\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n    });\n\n    var exampleResourceDeploymentScriptAzureCli = new Azure.Core.ResourceDeploymentScriptAzureCli(\"example\", new()\n    {\n        Name = \"example-rdsac\",\n        ResourceGroupName = example.Name,\n        Location = \"West Europe\",\n        Version = \"2.40.0\",\n        RetentionInterval = \"P1D\",\n        CommandLine = \"'foo' 'bar'\",\n        CleanupPreference = \"OnSuccess\",\n        ForceUpdateTag = \"1\",\n        Timeout = \"PT30M\",\n        ScriptContent = @\"            echo \\\"\"{\\\\\\\"\"name\\\\\\\"\":{\\\\\\\"\"displayName\\\\\\\"\":\\\\\\\"\"$1 $2\\\\\\\"\"}}\\\"\" \u003e $AZ_SCRIPTS_OUTPUT_PATH\n\",\n        Identity = new Azure.Core.Inputs.ResourceDeploymentScriptAzureCliIdentityArgs\n        {\n            Type = \"UserAssigned\",\n            IdentityIds = new[]\n            {\n                exampleUserAssignedIdentity.Id,\n            },\n        },\n        Tags = \n        {\n            { \"key\", \"value\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/authorization\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleUserAssignedIdentity, err := authorization.NewUserAssignedIdentity(ctx, \"example\", \u0026authorization.UserAssignedIdentityArgs{\n\t\t\tName:              pulumi.String(\"example-uai\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = core.NewResourceDeploymentScriptAzureCli(ctx, \"example\", \u0026core.ResourceDeploymentScriptAzureCliArgs{\n\t\t\tName:              pulumi.String(\"example-rdsac\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          pulumi.String(\"West Europe\"),\n\t\t\tVersion:           pulumi.String(\"2.40.0\"),\n\t\t\tRetentionInterval: pulumi.String(\"P1D\"),\n\t\t\tCommandLine:       pulumi.String(\"'foo' 'bar'\"),\n\t\t\tCleanupPreference: pulumi.String(\"OnSuccess\"),\n\t\t\tForceUpdateTag:    pulumi.String(\"1\"),\n\t\t\tTimeout:           pulumi.String(\"PT30M\"),\n\t\t\tScriptContent:     pulumi.String(\"            echo \\\\\\\"{\\\\\\\\\\\\\\\"name\\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\\"displayName\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\"$1 $2\\\\\\\\\\\\\\\"}}\\\\\\\" \u003e $AZ_SCRIPTS_OUTPUT_PATH\\n\"),\n\t\t\tIdentity: \u0026core.ResourceDeploymentScriptAzureCliIdentityArgs{\n\t\t\t\tType: pulumi.String(\"UserAssigned\"),\n\t\t\t\tIdentityIds: pulumi.StringArray{\n\t\t\t\t\texampleUserAssignedIdentity.ID(),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"key\": pulumi.String(\"value\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.authorization.UserAssignedIdentity;\nimport com.pulumi.azure.authorization.UserAssignedIdentityArgs;\nimport com.pulumi.azure.core.ResourceDeploymentScriptAzureCli;\nimport com.pulumi.azure.core.ResourceDeploymentScriptAzureCliArgs;\nimport com.pulumi.azure.core.inputs.ResourceDeploymentScriptAzureCliIdentityArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleUserAssignedIdentity = new UserAssignedIdentity(\"exampleUserAssignedIdentity\", UserAssignedIdentityArgs.builder()\n            .name(\"example-uai\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .build());\n\n        var exampleResourceDeploymentScriptAzureCli = new ResourceDeploymentScriptAzureCli(\"exampleResourceDeploymentScriptAzureCli\", ResourceDeploymentScriptAzureCliArgs.builder()\n            .name(\"example-rdsac\")\n            .resourceGroupName(example.name())\n            .location(\"West Europe\")\n            .version(\"2.40.0\")\n            .retentionInterval(\"P1D\")\n            .commandLine(\"'foo' 'bar'\")\n            .cleanupPreference(\"OnSuccess\")\n            .forceUpdateTag(\"1\")\n            .timeout(\"PT30M\")\n            .scriptContent(\"\"\"\n            echo \\\"{\\\\\\\"name\\\\\\\":{\\\\\\\"displayName\\\\\\\":\\\\\\\"$1 $2\\\\\\\"}}\\\" \u003e $AZ_SCRIPTS_OUTPUT_PATH\n            \"\"\")\n            .identity(ResourceDeploymentScriptAzureCliIdentityArgs.builder()\n                .type(\"UserAssigned\")\n                .identityIds(exampleUserAssignedIdentity.id())\n                .build())\n            .tags(Map.of(\"key\", \"value\"))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleUserAssignedIdentity:\n    type: azure:authorization:UserAssignedIdentity\n    name: example\n    properties:\n      name: example-uai\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n  exampleResourceDeploymentScriptAzureCli:\n    type: azure:core:ResourceDeploymentScriptAzureCli\n    name: example\n    properties:\n      name: example-rdsac\n      resourceGroupName: ${example.name}\n      location: West Europe\n      version: 2.40.0\n      retentionInterval: P1D\n      commandLine: '''foo'' ''bar'''\n      cleanupPreference: OnSuccess\n      forceUpdateTag: '1'\n      timeout: PT30M\n      scriptContent: |2\n                    echo \\\"{\\\\\\\"name\\\\\\\":{\\\\\\\"displayName\\\\\\\":\\\\\\\"$1 $2\\\\\\\"}}\\\" \u003e $AZ_SCRIPTS_OUTPUT_PATH\n      identity:\n        type: UserAssigned\n        identityIds:\n          - ${exampleUserAssignedIdentity.id}\n      tags:\n        key: value\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Resources` - 2020-10-01\n\n## Import\n\nResource Deployment Script can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:core/resourceDeploymentScriptAzureCli:ResourceDeploymentScriptAzureCli example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup1/providers/Microsoft.Resources/deploymentScripts/script1\n```\n\n","properties":{"cleanupPreference":{"type":"string","description":"Specifies the cleanup preference when the script execution gets in a terminal state. Possible values are `Always`, `OnExpiration`, `OnSuccess`. Defaults to `Always`. Changing this forces a new Resource Deployment Script to be created.\n"},"commandLine":{"type":"string","description":"Command line arguments to pass to the script. Changing this forces a new Resource Deployment Script to be created.\n"},"container":{"$ref":"#/types/azure:core/ResourceDeploymentScriptAzureCliContainer:ResourceDeploymentScriptAzureCliContainer","description":"A \u003cspan pulumi-lang-nodejs=\"`container`\" pulumi-lang-dotnet=\"`Container`\" pulumi-lang-go=\"`container`\" pulumi-lang-python=\"`container`\" pulumi-lang-yaml=\"`container`\" pulumi-lang-java=\"`container`\"\u003e`container`\u003c/span\u003e block as defined below. Changing this forces a new Resource Deployment Script to be created.\n"},"environmentVariables":{"type":"array","items":{"$ref":"#/types/azure:core/ResourceDeploymentScriptAzureCliEnvironmentVariable:ResourceDeploymentScriptAzureCliEnvironmentVariable"},"description":"An \u003cspan pulumi-lang-nodejs=\"`environmentVariable`\" pulumi-lang-dotnet=\"`EnvironmentVariable`\" pulumi-lang-go=\"`environmentVariable`\" pulumi-lang-python=\"`environment_variable`\" pulumi-lang-yaml=\"`environmentVariable`\" pulumi-lang-java=\"`environmentVariable`\"\u003e`environment_variable`\u003c/span\u003e block as defined below. Changing this forces a new Resource Deployment Script to be created.\n"},"forceUpdateTag":{"type":"string","description":"Gets or sets how the deployment script should be forced to execute even if the script resource has not changed. Can be current time stamp or a GUID. Changing this forces a new Resource Deployment Script to be created.\n"},"identity":{"$ref":"#/types/azure:core/ResourceDeploymentScriptAzureCliIdentity:ResourceDeploymentScriptAzureCliIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below. Changing this forces a new Resource Deployment Script to be created.\n"},"location":{"type":"string","description":"Specifies the Azure Region where the Resource Deployment Script should exist. Changing this forces a new Resource Deployment Script to be created.\n"},"name":{"type":"string","description":"Specifies the name which should be used for this Resource Deployment Script. The name length must be from 1 to 260 characters. The name can only contain alphanumeric, underscore, parentheses, hyphen and period, and it cannot end with a period. Changing this forces a new Resource Deployment Script to be created.\n"},"outputs":{"type":"string","description":"List of script outputs.\n"},"primaryScriptUri":{"type":"string","description":"Uri for the script. This is the entry point for the external script. Changing this forces a new Resource Deployment Script to be created.\n"},"resourceGroupName":{"type":"string","description":"Specifies the name of the Resource Group where the Resource Deployment Script should exist. Changing this forces a new Resource Deployment Script to be created.\n"},"retentionInterval":{"type":"string","description":"Interval for which the service retains the script resource after it reaches a terminal state. Resource will be deleted when this duration expires. The time duration should be between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e hour and \u003cspan pulumi-lang-nodejs=\"`26`\" pulumi-lang-dotnet=\"`26`\" pulumi-lang-go=\"`26`\" pulumi-lang-python=\"`26`\" pulumi-lang-yaml=\"`26`\" pulumi-lang-java=\"`26`\"\u003e`26`\u003c/span\u003e hours (inclusive) and should be specified in ISO 8601 format. Changing this forces a new Resource Deployment Script to be created.\n"},"scriptContent":{"type":"string","description":"Script body. Changing this forces a new Resource Deployment Script to be created.\n"},"storageAccount":{"$ref":"#/types/azure:core/ResourceDeploymentScriptAzureCliStorageAccount:ResourceDeploymentScriptAzureCliStorageAccount","description":"A \u003cspan pulumi-lang-nodejs=\"`storageAccount`\" pulumi-lang-dotnet=\"`StorageAccount`\" pulumi-lang-go=\"`storageAccount`\" pulumi-lang-python=\"`storage_account`\" pulumi-lang-yaml=\"`storageAccount`\" pulumi-lang-java=\"`storageAccount`\"\u003e`storage_account`\u003c/span\u003e block as defined below. Changing this forces a new Resource Deployment Script to be created.\n"},"supportingScriptUris":{"type":"array","items":{"type":"string"},"description":"Supporting files for the external script. Changing this forces a new Resource Deployment Script to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Resource Deployment Script.\n"},"timeout":{"type":"string","description":"Maximum allowed script execution time specified in ISO 8601 format. Needs to be greater than 0 and smaller than 1 day. Defaults to `P1D`. Changing this forces a new Resource Deployment Script to be created.\n"},"version":{"type":"string","description":"Specifies the version of the Azure CLI that should be used in the format `X.Y.Z` (e.g. `2.30.0`). A canonical list of versions [is available from the Microsoft Container Registry API](https://mcr.microsoft.com/v2/azure-cli/tags/list). Changing this forces a new Resource Deployment Script to be created.\n"}},"required":["location","name","outputs","resourceGroupName","retentionInterval","version"],"inputProperties":{"cleanupPreference":{"type":"string","description":"Specifies the cleanup preference when the script execution gets in a terminal state. Possible values are `Always`, `OnExpiration`, `OnSuccess`. Defaults to `Always`. Changing this forces a new Resource Deployment Script to be created.\n","willReplaceOnChanges":true},"commandLine":{"type":"string","description":"Command line arguments to pass to the script. Changing this forces a new Resource Deployment Script to be created.\n","willReplaceOnChanges":true},"container":{"$ref":"#/types/azure:core/ResourceDeploymentScriptAzureCliContainer:ResourceDeploymentScriptAzureCliContainer","description":"A \u003cspan pulumi-lang-nodejs=\"`container`\" pulumi-lang-dotnet=\"`Container`\" pulumi-lang-go=\"`container`\" pulumi-lang-python=\"`container`\" pulumi-lang-yaml=\"`container`\" pulumi-lang-java=\"`container`\"\u003e`container`\u003c/span\u003e block as defined below. Changing this forces a new Resource Deployment Script to be created.\n","willReplaceOnChanges":true},"environmentVariables":{"type":"array","items":{"$ref":"#/types/azure:core/ResourceDeploymentScriptAzureCliEnvironmentVariable:ResourceDeploymentScriptAzureCliEnvironmentVariable"},"description":"An \u003cspan pulumi-lang-nodejs=\"`environmentVariable`\" pulumi-lang-dotnet=\"`EnvironmentVariable`\" pulumi-lang-go=\"`environmentVariable`\" pulumi-lang-python=\"`environment_variable`\" pulumi-lang-yaml=\"`environmentVariable`\" pulumi-lang-java=\"`environmentVariable`\"\u003e`environment_variable`\u003c/span\u003e block as defined below. Changing this forces a new Resource Deployment Script to be created.\n","willReplaceOnChanges":true},"forceUpdateTag":{"type":"string","description":"Gets or sets how the deployment script should be forced to execute even if the script resource has not changed. Can be current time stamp or a GUID. Changing this forces a new Resource Deployment Script to be created.\n","willReplaceOnChanges":true},"identity":{"$ref":"#/types/azure:core/ResourceDeploymentScriptAzureCliIdentity:ResourceDeploymentScriptAzureCliIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below. Changing this forces a new Resource Deployment Script to be created.\n","willReplaceOnChanges":true},"location":{"type":"string","description":"Specifies the Azure Region where the Resource Deployment Script should exist. Changing this forces a new Resource Deployment Script to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name which should be used for this Resource Deployment Script. The name length must be from 1 to 260 characters. The name can only contain alphanumeric, underscore, parentheses, hyphen and period, and it cannot end with a period. Changing this forces a new Resource Deployment Script to be created.\n","willReplaceOnChanges":true},"primaryScriptUri":{"type":"string","description":"Uri for the script. This is the entry point for the external script. Changing this forces a new Resource Deployment Script to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"Specifies the name of the Resource Group where the Resource Deployment Script should exist. Changing this forces a new Resource Deployment Script to be created.\n","willReplaceOnChanges":true},"retentionInterval":{"type":"string","description":"Interval for which the service retains the script resource after it reaches a terminal state. Resource will be deleted when this duration expires. The time duration should be between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e hour and \u003cspan pulumi-lang-nodejs=\"`26`\" pulumi-lang-dotnet=\"`26`\" pulumi-lang-go=\"`26`\" pulumi-lang-python=\"`26`\" pulumi-lang-yaml=\"`26`\" pulumi-lang-java=\"`26`\"\u003e`26`\u003c/span\u003e hours (inclusive) and should be specified in ISO 8601 format. Changing this forces a new Resource Deployment Script to be created.\n","willReplaceOnChanges":true},"scriptContent":{"type":"string","description":"Script body. Changing this forces a new Resource Deployment Script to be created.\n","willReplaceOnChanges":true},"storageAccount":{"$ref":"#/types/azure:core/ResourceDeploymentScriptAzureCliStorageAccount:ResourceDeploymentScriptAzureCliStorageAccount","description":"A \u003cspan pulumi-lang-nodejs=\"`storageAccount`\" pulumi-lang-dotnet=\"`StorageAccount`\" pulumi-lang-go=\"`storageAccount`\" pulumi-lang-python=\"`storage_account`\" pulumi-lang-yaml=\"`storageAccount`\" pulumi-lang-java=\"`storageAccount`\"\u003e`storage_account`\u003c/span\u003e block as defined below. Changing this forces a new Resource Deployment Script to be created.\n","willReplaceOnChanges":true},"supportingScriptUris":{"type":"array","items":{"type":"string"},"description":"Supporting files for the external script. Changing this forces a new Resource Deployment Script to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Resource Deployment Script.\n"},"timeout":{"type":"string","description":"Maximum allowed script execution time specified in ISO 8601 format. Needs to be greater than 0 and smaller than 1 day. Defaults to `P1D`. Changing this forces a new Resource Deployment Script to be created.\n","willReplaceOnChanges":true},"version":{"type":"string","description":"Specifies the version of the Azure CLI that should be used in the format `X.Y.Z` (e.g. `2.30.0`). A canonical list of versions [is available from the Microsoft Container Registry API](https://mcr.microsoft.com/v2/azure-cli/tags/list). Changing this forces a new Resource Deployment Script to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["resourceGroupName","retentionInterval","version"],"stateInputs":{"description":"Input properties used for looking up and filtering ResourceDeploymentScriptAzureCli resources.\n","properties":{"cleanupPreference":{"type":"string","description":"Specifies the cleanup preference when the script execution gets in a terminal state. Possible values are `Always`, `OnExpiration`, `OnSuccess`. Defaults to `Always`. Changing this forces a new Resource Deployment Script to be created.\n","willReplaceOnChanges":true},"commandLine":{"type":"string","description":"Command line arguments to pass to the script. Changing this forces a new Resource Deployment Script to be created.\n","willReplaceOnChanges":true},"container":{"$ref":"#/types/azure:core/ResourceDeploymentScriptAzureCliContainer:ResourceDeploymentScriptAzureCliContainer","description":"A \u003cspan pulumi-lang-nodejs=\"`container`\" pulumi-lang-dotnet=\"`Container`\" pulumi-lang-go=\"`container`\" pulumi-lang-python=\"`container`\" pulumi-lang-yaml=\"`container`\" pulumi-lang-java=\"`container`\"\u003e`container`\u003c/span\u003e block as defined below. Changing this forces a new Resource Deployment Script to be created.\n","willReplaceOnChanges":true},"environmentVariables":{"type":"array","items":{"$ref":"#/types/azure:core/ResourceDeploymentScriptAzureCliEnvironmentVariable:ResourceDeploymentScriptAzureCliEnvironmentVariable"},"description":"An \u003cspan pulumi-lang-nodejs=\"`environmentVariable`\" pulumi-lang-dotnet=\"`EnvironmentVariable`\" pulumi-lang-go=\"`environmentVariable`\" pulumi-lang-python=\"`environment_variable`\" pulumi-lang-yaml=\"`environmentVariable`\" pulumi-lang-java=\"`environmentVariable`\"\u003e`environment_variable`\u003c/span\u003e block as defined below. Changing this forces a new Resource Deployment Script to be created.\n","willReplaceOnChanges":true},"forceUpdateTag":{"type":"string","description":"Gets or sets how the deployment script should be forced to execute even if the script resource has not changed. Can be current time stamp or a GUID. Changing this forces a new Resource Deployment Script to be created.\n","willReplaceOnChanges":true},"identity":{"$ref":"#/types/azure:core/ResourceDeploymentScriptAzureCliIdentity:ResourceDeploymentScriptAzureCliIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below. Changing this forces a new Resource Deployment Script to be created.\n","willReplaceOnChanges":true},"location":{"type":"string","description":"Specifies the Azure Region where the Resource Deployment Script should exist. Changing this forces a new Resource Deployment Script to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name which should be used for this Resource Deployment Script. The name length must be from 1 to 260 characters. The name can only contain alphanumeric, underscore, parentheses, hyphen and period, and it cannot end with a period. Changing this forces a new Resource Deployment Script to be created.\n","willReplaceOnChanges":true},"outputs":{"type":"string","description":"List of script outputs.\n"},"primaryScriptUri":{"type":"string","description":"Uri for the script. This is the entry point for the external script. Changing this forces a new Resource Deployment Script to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"Specifies the name of the Resource Group where the Resource Deployment Script should exist. Changing this forces a new Resource Deployment Script to be created.\n","willReplaceOnChanges":true},"retentionInterval":{"type":"string","description":"Interval for which the service retains the script resource after it reaches a terminal state. Resource will be deleted when this duration expires. The time duration should be between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e hour and \u003cspan pulumi-lang-nodejs=\"`26`\" pulumi-lang-dotnet=\"`26`\" pulumi-lang-go=\"`26`\" pulumi-lang-python=\"`26`\" pulumi-lang-yaml=\"`26`\" pulumi-lang-java=\"`26`\"\u003e`26`\u003c/span\u003e hours (inclusive) and should be specified in ISO 8601 format. Changing this forces a new Resource Deployment Script to be created.\n","willReplaceOnChanges":true},"scriptContent":{"type":"string","description":"Script body. Changing this forces a new Resource Deployment Script to be created.\n","willReplaceOnChanges":true},"storageAccount":{"$ref":"#/types/azure:core/ResourceDeploymentScriptAzureCliStorageAccount:ResourceDeploymentScriptAzureCliStorageAccount","description":"A \u003cspan pulumi-lang-nodejs=\"`storageAccount`\" pulumi-lang-dotnet=\"`StorageAccount`\" pulumi-lang-go=\"`storageAccount`\" pulumi-lang-python=\"`storage_account`\" pulumi-lang-yaml=\"`storageAccount`\" pulumi-lang-java=\"`storageAccount`\"\u003e`storage_account`\u003c/span\u003e block as defined below. Changing this forces a new Resource Deployment Script to be created.\n","willReplaceOnChanges":true},"supportingScriptUris":{"type":"array","items":{"type":"string"},"description":"Supporting files for the external script. Changing this forces a new Resource Deployment Script to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Resource Deployment Script.\n"},"timeout":{"type":"string","description":"Maximum allowed script execution time specified in ISO 8601 format. Needs to be greater than 0 and smaller than 1 day. Defaults to `P1D`. Changing this forces a new Resource Deployment Script to be created.\n","willReplaceOnChanges":true},"version":{"type":"string","description":"Specifies the version of the Azure CLI that should be used in the format `X.Y.Z` (e.g. `2.30.0`). A canonical list of versions [is available from the Microsoft Container Registry API](https://mcr.microsoft.com/v2/azure-cli/tags/list). Changing this forces a new Resource Deployment Script to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:core/resourceDeploymentScriptPowerShell:ResourceDeploymentScriptPowerShell":{"description":"Manages a Resource Deployment Script of Azure PowerShell.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleUserAssignedIdentity = new azure.authorization.UserAssignedIdentity(\"example\", {\n    name: \"example-uai\",\n    location: example.location,\n    resourceGroupName: example.name,\n});\nconst exampleResourceDeploymentScriptPowerShell = new azure.core.ResourceDeploymentScriptPowerShell(\"example\", {\n    name: \"example-rdsaps\",\n    resourceGroupName: example.name,\n    location: \"West Europe\",\n    version: \"8.3\",\n    retentionInterval: \"P1D\",\n    commandLine: \"-name \\\"John Dole\\\"\",\n    cleanupPreference: \"OnSuccess\",\n    forceUpdateTag: \"1\",\n    timeout: \"PT30M\",\n    scriptContent: `          param([string] name)\n            output = 'Hello {0}.' -f name\n            Write-Output output\n            DeploymentScriptOutputs = @{}\n            DeploymentScriptOutputs['text'] = output\n`,\n    identity: {\n        type: \"UserAssigned\",\n        identityIds: [exampleUserAssignedIdentity.id],\n    },\n    tags: {\n        key: \"value\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_user_assigned_identity = azure.authorization.UserAssignedIdentity(\"example\",\n    name=\"example-uai\",\n    location=example.location,\n    resource_group_name=example.name)\nexample_resource_deployment_script_power_shell = azure.core.ResourceDeploymentScriptPowerShell(\"example\",\n    name=\"example-rdsaps\",\n    resource_group_name=example.name,\n    location=\"West Europe\",\n    version=\"8.3\",\n    retention_interval=\"P1D\",\n    command_line=\"-name \\\"John Dole\\\"\",\n    cleanup_preference=\"OnSuccess\",\n    force_update_tag=\"1\",\n    timeout=\"PT30M\",\n    script_content=\"\"\"          param([string] $name)\n            $output = 'Hello {0}.' -f $name\n            Write-Output $output\n            $DeploymentScriptOutputs = @{}\n            $DeploymentScriptOutputs['text'] = $output\n\"\"\",\n    identity={\n        \"type\": \"UserAssigned\",\n        \"identity_ids\": [example_user_assigned_identity.id],\n    },\n    tags={\n        \"key\": \"value\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleUserAssignedIdentity = new Azure.Authorization.UserAssignedIdentity(\"example\", new()\n    {\n        Name = \"example-uai\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n    });\n\n    var exampleResourceDeploymentScriptPowerShell = new Azure.Core.ResourceDeploymentScriptPowerShell(\"example\", new()\n    {\n        Name = \"example-rdsaps\",\n        ResourceGroupName = example.Name,\n        Location = \"West Europe\",\n        Version = \"8.3\",\n        RetentionInterval = \"P1D\",\n        CommandLine = \"-name \\\"John Dole\\\"\",\n        CleanupPreference = \"OnSuccess\",\n        ForceUpdateTag = \"1\",\n        Timeout = \"PT30M\",\n        ScriptContent = @\"          param([string] $name)\n            $output = 'Hello {0}.' -f $name\n            Write-Output $output\n            $DeploymentScriptOutputs = @{}\n            $DeploymentScriptOutputs['text'] = $output\n\",\n        Identity = new Azure.Core.Inputs.ResourceDeploymentScriptPowerShellIdentityArgs\n        {\n            Type = \"UserAssigned\",\n            IdentityIds = new[]\n            {\n                exampleUserAssignedIdentity.Id,\n            },\n        },\n        Tags = \n        {\n            { \"key\", \"value\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/authorization\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleUserAssignedIdentity, err := authorization.NewUserAssignedIdentity(ctx, \"example\", \u0026authorization.UserAssignedIdentityArgs{\n\t\t\tName:              pulumi.String(\"example-uai\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = core.NewResourceDeploymentScriptPowerShell(ctx, \"example\", \u0026core.ResourceDeploymentScriptPowerShellArgs{\n\t\t\tName:              pulumi.String(\"example-rdsaps\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          pulumi.String(\"West Europe\"),\n\t\t\tVersion:           pulumi.String(\"8.3\"),\n\t\t\tRetentionInterval: pulumi.String(\"P1D\"),\n\t\t\tCommandLine:       pulumi.String(\"-name \\\"John Dole\\\"\"),\n\t\t\tCleanupPreference: pulumi.String(\"OnSuccess\"),\n\t\t\tForceUpdateTag:    pulumi.String(\"1\"),\n\t\t\tTimeout:           pulumi.String(\"PT30M\"),\n\t\t\tScriptContent: pulumi.String(`          param([string] $name)\n            $output = 'Hello {0}.' -f $name\n            Write-Output $output\n            $DeploymentScriptOutputs = @{}\n            $DeploymentScriptOutputs['text'] = $output\n`),\n\t\t\tIdentity: \u0026core.ResourceDeploymentScriptPowerShellIdentityArgs{\n\t\t\t\tType: pulumi.String(\"UserAssigned\"),\n\t\t\t\tIdentityIds: pulumi.StringArray{\n\t\t\t\t\texampleUserAssignedIdentity.ID(),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"key\": pulumi.String(\"value\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.authorization.UserAssignedIdentity;\nimport com.pulumi.azure.authorization.UserAssignedIdentityArgs;\nimport com.pulumi.azure.core.ResourceDeploymentScriptPowerShell;\nimport com.pulumi.azure.core.ResourceDeploymentScriptPowerShellArgs;\nimport com.pulumi.azure.core.inputs.ResourceDeploymentScriptPowerShellIdentityArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleUserAssignedIdentity = new UserAssignedIdentity(\"exampleUserAssignedIdentity\", UserAssignedIdentityArgs.builder()\n            .name(\"example-uai\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .build());\n\n        var exampleResourceDeploymentScriptPowerShell = new ResourceDeploymentScriptPowerShell(\"exampleResourceDeploymentScriptPowerShell\", ResourceDeploymentScriptPowerShellArgs.builder()\n            .name(\"example-rdsaps\")\n            .resourceGroupName(example.name())\n            .location(\"West Europe\")\n            .version(\"8.3\")\n            .retentionInterval(\"P1D\")\n            .commandLine(\"-name \\\"John Dole\\\"\")\n            .cleanupPreference(\"OnSuccess\")\n            .forceUpdateTag(\"1\")\n            .timeout(\"PT30M\")\n            .scriptContent(\"\"\"\n          param([string] $name)\n            $output = 'Hello {0}.' -f $name\n            Write-Output $output\n            $DeploymentScriptOutputs = @{}\n            $DeploymentScriptOutputs['text'] = $output\n            \"\"\")\n            .identity(ResourceDeploymentScriptPowerShellIdentityArgs.builder()\n                .type(\"UserAssigned\")\n                .identityIds(exampleUserAssignedIdentity.id())\n                .build())\n            .tags(Map.of(\"key\", \"value\"))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleUserAssignedIdentity:\n    type: azure:authorization:UserAssignedIdentity\n    name: example\n    properties:\n      name: example-uai\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n  exampleResourceDeploymentScriptPowerShell:\n    type: azure:core:ResourceDeploymentScriptPowerShell\n    name: example\n    properties:\n      name: example-rdsaps\n      resourceGroupName: ${example.name}\n      location: West Europe\n      version: '8.3'\n      retentionInterval: P1D\n      commandLine: -name \"John Dole\"\n      cleanupPreference: OnSuccess\n      forceUpdateTag: '1'\n      timeout: PT30M\n      scriptContent: |2\n                  param([string] $name)\n                    $output = 'Hello {0}.' -f $name\n                    Write-Output $output\n                    $DeploymentScriptOutputs = @{}\n                    $DeploymentScriptOutputs['text'] = $output\n      identity:\n        type: UserAssigned\n        identityIds:\n          - ${exampleUserAssignedIdentity.id}\n      tags:\n        key: value\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Resources` - 2020-10-01\n\n## Import\n\nResource Deployment Script can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:core/resourceDeploymentScriptPowerShell:ResourceDeploymentScriptPowerShell example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup1/providers/Microsoft.Resources/deploymentScripts/script1\n```\n\n","properties":{"cleanupPreference":{"type":"string","description":"Specifies the cleanup preference when the script execution gets in a terminal state. Possible values are `Always`, `OnExpiration`, `OnSuccess`. Defaults to `Always`. Changing this forces a new Resource Deployment Script to be created.\n"},"commandLine":{"type":"string","description":"Command line arguments to pass to the script. Changing this forces a new Resource Deployment Script to be created.\n"},"container":{"$ref":"#/types/azure:core/ResourceDeploymentScriptPowerShellContainer:ResourceDeploymentScriptPowerShellContainer","description":"A \u003cspan pulumi-lang-nodejs=\"`container`\" pulumi-lang-dotnet=\"`Container`\" pulumi-lang-go=\"`container`\" pulumi-lang-python=\"`container`\" pulumi-lang-yaml=\"`container`\" pulumi-lang-java=\"`container`\"\u003e`container`\u003c/span\u003e block as defined below. Changing this forces a new Resource Deployment Script to be created.\n"},"environmentVariables":{"type":"array","items":{"$ref":"#/types/azure:core/ResourceDeploymentScriptPowerShellEnvironmentVariable:ResourceDeploymentScriptPowerShellEnvironmentVariable"},"description":"An \u003cspan pulumi-lang-nodejs=\"`environmentVariable`\" pulumi-lang-dotnet=\"`EnvironmentVariable`\" pulumi-lang-go=\"`environmentVariable`\" pulumi-lang-python=\"`environment_variable`\" pulumi-lang-yaml=\"`environmentVariable`\" pulumi-lang-java=\"`environmentVariable`\"\u003e`environment_variable`\u003c/span\u003e block as defined below. Changing this forces a new Resource Deployment Script to be created.\n"},"forceUpdateTag":{"type":"string","description":"Gets or sets how the deployment script should be forced to execute even if the script resource has not changed. Can be current time stamp or a GUID. Changing this forces a new Resource Deployment Script to be created.\n"},"identity":{"$ref":"#/types/azure:core/ResourceDeploymentScriptPowerShellIdentity:ResourceDeploymentScriptPowerShellIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below. Changing this forces a new Resource Deployment Script to be created.\n"},"location":{"type":"string","description":"Specifies the Azure Region where the Resource Deployment Script should exist. Changing this forces a new Resource Deployment Script to be created.\n"},"name":{"type":"string","description":"Specifies the name which should be used for this Resource Deployment Script. The name length must be from 1 to 260 characters. The name can only contain alphanumeric, underscore, parentheses, hyphen and period, and it cannot end with a period. Changing this forces a new Resource Deployment Script to be created.\n"},"outputs":{"type":"string","description":"List of script outputs.\n"},"primaryScriptUri":{"type":"string","description":"Uri for the script. This is the entry point for the external script. Changing this forces a new Resource Deployment Script to be created.\n"},"resourceGroupName":{"type":"string","description":"Specifies the name of the Resource Group where the Resource Deployment Script should exist. Changing this forces a new Resource Deployment Script to be created.\n"},"retentionInterval":{"type":"string","description":"Interval for which the service retains the script resource after it reaches a terminal state. Resource will be deleted when this duration expires. The time duration should be between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e hour and \u003cspan pulumi-lang-nodejs=\"`26`\" pulumi-lang-dotnet=\"`26`\" pulumi-lang-go=\"`26`\" pulumi-lang-python=\"`26`\" pulumi-lang-yaml=\"`26`\" pulumi-lang-java=\"`26`\"\u003e`26`\u003c/span\u003e hours (inclusive) and should be specified in ISO 8601 format. Changing this forces a new Resource Deployment Script to be created.\n"},"scriptContent":{"type":"string","description":"Script body. Changing this forces a new Resource Deployment Script to be created.\n"},"storageAccount":{"$ref":"#/types/azure:core/ResourceDeploymentScriptPowerShellStorageAccount:ResourceDeploymentScriptPowerShellStorageAccount","description":"A \u003cspan pulumi-lang-nodejs=\"`storageAccount`\" pulumi-lang-dotnet=\"`StorageAccount`\" pulumi-lang-go=\"`storageAccount`\" pulumi-lang-python=\"`storage_account`\" pulumi-lang-yaml=\"`storageAccount`\" pulumi-lang-java=\"`storageAccount`\"\u003e`storage_account`\u003c/span\u003e block as defined below. Changing this forces a new Resource Deployment Script to be created.\n"},"supportingScriptUris":{"type":"array","items":{"type":"string"},"description":"Supporting files for the external script. Changing this forces a new Resource Deployment Script to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Resource Deployment Script.\n"},"timeout":{"type":"string","description":"Maximum allowed script execution time specified in ISO 8601 format. Needs to be greater than 0 and smaller than 1 day. Defaults to `P1D`. Changing this forces a new Resource Deployment Script to be created.\n"},"version":{"type":"string","description":"Specifies the version of the Azure PowerShell that should be used in the format `X.Y` (e.g. `9.7`). A canonical list of versions [is available from the Microsoft Container Registry API](https://mcr.microsoft.com/v2/azure-powershell/tags/list). Changing this forces a new Resource Deployment Script to be created.\n"}},"required":["location","name","outputs","resourceGroupName","retentionInterval","version"],"inputProperties":{"cleanupPreference":{"type":"string","description":"Specifies the cleanup preference when the script execution gets in a terminal state. Possible values are `Always`, `OnExpiration`, `OnSuccess`. Defaults to `Always`. Changing this forces a new Resource Deployment Script to be created.\n","willReplaceOnChanges":true},"commandLine":{"type":"string","description":"Command line arguments to pass to the script. Changing this forces a new Resource Deployment Script to be created.\n","willReplaceOnChanges":true},"container":{"$ref":"#/types/azure:core/ResourceDeploymentScriptPowerShellContainer:ResourceDeploymentScriptPowerShellContainer","description":"A \u003cspan pulumi-lang-nodejs=\"`container`\" pulumi-lang-dotnet=\"`Container`\" pulumi-lang-go=\"`container`\" pulumi-lang-python=\"`container`\" pulumi-lang-yaml=\"`container`\" pulumi-lang-java=\"`container`\"\u003e`container`\u003c/span\u003e block as defined below. Changing this forces a new Resource Deployment Script to be created.\n","willReplaceOnChanges":true},"environmentVariables":{"type":"array","items":{"$ref":"#/types/azure:core/ResourceDeploymentScriptPowerShellEnvironmentVariable:ResourceDeploymentScriptPowerShellEnvironmentVariable"},"description":"An \u003cspan pulumi-lang-nodejs=\"`environmentVariable`\" pulumi-lang-dotnet=\"`EnvironmentVariable`\" pulumi-lang-go=\"`environmentVariable`\" pulumi-lang-python=\"`environment_variable`\" pulumi-lang-yaml=\"`environmentVariable`\" pulumi-lang-java=\"`environmentVariable`\"\u003e`environment_variable`\u003c/span\u003e block as defined below. Changing this forces a new Resource Deployment Script to be created.\n","willReplaceOnChanges":true},"forceUpdateTag":{"type":"string","description":"Gets or sets how the deployment script should be forced to execute even if the script resource has not changed. Can be current time stamp or a GUID. Changing this forces a new Resource Deployment Script to be created.\n","willReplaceOnChanges":true},"identity":{"$ref":"#/types/azure:core/ResourceDeploymentScriptPowerShellIdentity:ResourceDeploymentScriptPowerShellIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below. Changing this forces a new Resource Deployment Script to be created.\n","willReplaceOnChanges":true},"location":{"type":"string","description":"Specifies the Azure Region where the Resource Deployment Script should exist. Changing this forces a new Resource Deployment Script to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name which should be used for this Resource Deployment Script. The name length must be from 1 to 260 characters. The name can only contain alphanumeric, underscore, parentheses, hyphen and period, and it cannot end with a period. Changing this forces a new Resource Deployment Script to be created.\n","willReplaceOnChanges":true},"primaryScriptUri":{"type":"string","description":"Uri for the script. This is the entry point for the external script. Changing this forces a new Resource Deployment Script to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"Specifies the name of the Resource Group where the Resource Deployment Script should exist. Changing this forces a new Resource Deployment Script to be created.\n","willReplaceOnChanges":true},"retentionInterval":{"type":"string","description":"Interval for which the service retains the script resource after it reaches a terminal state. Resource will be deleted when this duration expires. The time duration should be between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e hour and \u003cspan pulumi-lang-nodejs=\"`26`\" pulumi-lang-dotnet=\"`26`\" pulumi-lang-go=\"`26`\" pulumi-lang-python=\"`26`\" pulumi-lang-yaml=\"`26`\" pulumi-lang-java=\"`26`\"\u003e`26`\u003c/span\u003e hours (inclusive) and should be specified in ISO 8601 format. Changing this forces a new Resource Deployment Script to be created.\n","willReplaceOnChanges":true},"scriptContent":{"type":"string","description":"Script body. Changing this forces a new Resource Deployment Script to be created.\n","willReplaceOnChanges":true},"storageAccount":{"$ref":"#/types/azure:core/ResourceDeploymentScriptPowerShellStorageAccount:ResourceDeploymentScriptPowerShellStorageAccount","description":"A \u003cspan pulumi-lang-nodejs=\"`storageAccount`\" pulumi-lang-dotnet=\"`StorageAccount`\" pulumi-lang-go=\"`storageAccount`\" pulumi-lang-python=\"`storage_account`\" pulumi-lang-yaml=\"`storageAccount`\" pulumi-lang-java=\"`storageAccount`\"\u003e`storage_account`\u003c/span\u003e block as defined below. Changing this forces a new Resource Deployment Script to be created.\n","willReplaceOnChanges":true},"supportingScriptUris":{"type":"array","items":{"type":"string"},"description":"Supporting files for the external script. Changing this forces a new Resource Deployment Script to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Resource Deployment Script.\n"},"timeout":{"type":"string","description":"Maximum allowed script execution time specified in ISO 8601 format. Needs to be greater than 0 and smaller than 1 day. Defaults to `P1D`. Changing this forces a new Resource Deployment Script to be created.\n","willReplaceOnChanges":true},"version":{"type":"string","description":"Specifies the version of the Azure PowerShell that should be used in the format `X.Y` (e.g. `9.7`). A canonical list of versions [is available from the Microsoft Container Registry API](https://mcr.microsoft.com/v2/azure-powershell/tags/list). Changing this forces a new Resource Deployment Script to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["resourceGroupName","retentionInterval","version"],"stateInputs":{"description":"Input properties used for looking up and filtering ResourceDeploymentScriptPowerShell resources.\n","properties":{"cleanupPreference":{"type":"string","description":"Specifies the cleanup preference when the script execution gets in a terminal state. Possible values are `Always`, `OnExpiration`, `OnSuccess`. Defaults to `Always`. Changing this forces a new Resource Deployment Script to be created.\n","willReplaceOnChanges":true},"commandLine":{"type":"string","description":"Command line arguments to pass to the script. Changing this forces a new Resource Deployment Script to be created.\n","willReplaceOnChanges":true},"container":{"$ref":"#/types/azure:core/ResourceDeploymentScriptPowerShellContainer:ResourceDeploymentScriptPowerShellContainer","description":"A \u003cspan pulumi-lang-nodejs=\"`container`\" pulumi-lang-dotnet=\"`Container`\" pulumi-lang-go=\"`container`\" pulumi-lang-python=\"`container`\" pulumi-lang-yaml=\"`container`\" pulumi-lang-java=\"`container`\"\u003e`container`\u003c/span\u003e block as defined below. Changing this forces a new Resource Deployment Script to be created.\n","willReplaceOnChanges":true},"environmentVariables":{"type":"array","items":{"$ref":"#/types/azure:core/ResourceDeploymentScriptPowerShellEnvironmentVariable:ResourceDeploymentScriptPowerShellEnvironmentVariable"},"description":"An \u003cspan pulumi-lang-nodejs=\"`environmentVariable`\" pulumi-lang-dotnet=\"`EnvironmentVariable`\" pulumi-lang-go=\"`environmentVariable`\" pulumi-lang-python=\"`environment_variable`\" pulumi-lang-yaml=\"`environmentVariable`\" pulumi-lang-java=\"`environmentVariable`\"\u003e`environment_variable`\u003c/span\u003e block as defined below. Changing this forces a new Resource Deployment Script to be created.\n","willReplaceOnChanges":true},"forceUpdateTag":{"type":"string","description":"Gets or sets how the deployment script should be forced to execute even if the script resource has not changed. Can be current time stamp or a GUID. Changing this forces a new Resource Deployment Script to be created.\n","willReplaceOnChanges":true},"identity":{"$ref":"#/types/azure:core/ResourceDeploymentScriptPowerShellIdentity:ResourceDeploymentScriptPowerShellIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below. Changing this forces a new Resource Deployment Script to be created.\n","willReplaceOnChanges":true},"location":{"type":"string","description":"Specifies the Azure Region where the Resource Deployment Script should exist. Changing this forces a new Resource Deployment Script to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name which should be used for this Resource Deployment Script. The name length must be from 1 to 260 characters. The name can only contain alphanumeric, underscore, parentheses, hyphen and period, and it cannot end with a period. Changing this forces a new Resource Deployment Script to be created.\n","willReplaceOnChanges":true},"outputs":{"type":"string","description":"List of script outputs.\n"},"primaryScriptUri":{"type":"string","description":"Uri for the script. This is the entry point for the external script. Changing this forces a new Resource Deployment Script to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"Specifies the name of the Resource Group where the Resource Deployment Script should exist. Changing this forces a new Resource Deployment Script to be created.\n","willReplaceOnChanges":true},"retentionInterval":{"type":"string","description":"Interval for which the service retains the script resource after it reaches a terminal state. Resource will be deleted when this duration expires. The time duration should be between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e hour and \u003cspan pulumi-lang-nodejs=\"`26`\" pulumi-lang-dotnet=\"`26`\" pulumi-lang-go=\"`26`\" pulumi-lang-python=\"`26`\" pulumi-lang-yaml=\"`26`\" pulumi-lang-java=\"`26`\"\u003e`26`\u003c/span\u003e hours (inclusive) and should be specified in ISO 8601 format. Changing this forces a new Resource Deployment Script to be created.\n","willReplaceOnChanges":true},"scriptContent":{"type":"string","description":"Script body. Changing this forces a new Resource Deployment Script to be created.\n","willReplaceOnChanges":true},"storageAccount":{"$ref":"#/types/azure:core/ResourceDeploymentScriptPowerShellStorageAccount:ResourceDeploymentScriptPowerShellStorageAccount","description":"A \u003cspan pulumi-lang-nodejs=\"`storageAccount`\" pulumi-lang-dotnet=\"`StorageAccount`\" pulumi-lang-go=\"`storageAccount`\" pulumi-lang-python=\"`storage_account`\" pulumi-lang-yaml=\"`storageAccount`\" pulumi-lang-java=\"`storageAccount`\"\u003e`storage_account`\u003c/span\u003e block as defined below. Changing this forces a new Resource Deployment Script to be created.\n","willReplaceOnChanges":true},"supportingScriptUris":{"type":"array","items":{"type":"string"},"description":"Supporting files for the external script. Changing this forces a new Resource Deployment Script to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Resource Deployment Script.\n"},"timeout":{"type":"string","description":"Maximum allowed script execution time specified in ISO 8601 format. Needs to be greater than 0 and smaller than 1 day. Defaults to `P1D`. Changing this forces a new Resource Deployment Script to be created.\n","willReplaceOnChanges":true},"version":{"type":"string","description":"Specifies the version of the Azure PowerShell that should be used in the format `X.Y` (e.g. `9.7`). A canonical list of versions [is available from the Microsoft Container Registry API](https://mcr.microsoft.com/v2/azure-powershell/tags/list). Changing this forces a new Resource Deployment Script to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:core/resourceGroup:ResourceGroup":{"description":"Manages a Resource Group.\n\n\u003e **Note:** Azure automatically deletes any Resources nested within the Resource Group when a Resource Group is deleted.\n\n\u003e **Note:** Version 2.72 and later of the Azure Provider include a Feature Toggle which can error if there are any Resources left within the Resource Group at deletion time. This Feature Toggle is disabled in 2.x but enabled by default from 3.0 onwards, and is intended to avoid the unintentional destruction of resources managed outside of Terraform (for example, provisioned by an ARM Template). See the Features block documentation for more information on Feature Toggles within Terraform.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example\",\n    location: \"West Europe\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example\",\n    location=\"West Europe\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example\",\n        Location = \"West Europe\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example\")\n            .location(\"West Europe\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example\n      location: West Europe\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nResource Groups can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:core/resourceGroup:ResourceGroup example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1\n```\n\n","properties":{"location":{"type":"string","description":"The Azure Region where the Resource Group should exist. Changing this forces a new Resource Group to be created.\n"},"managedBy":{"type":"string","description":"The ID of the resource or application that manages this Resource Group.\n"},"name":{"type":"string","description":"The Name which should be used for this Resource Group. Changing this forces a new Resource Group to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Resource Group.\n"}},"required":["location","name"],"inputProperties":{"location":{"type":"string","description":"The Azure Region where the Resource Group should exist. Changing this forces a new Resource Group to be created.\n","willReplaceOnChanges":true},"managedBy":{"type":"string","description":"The ID of the resource or application that manages this Resource Group.\n"},"name":{"type":"string","description":"The Name which should be used for this Resource Group. Changing this forces a new Resource Group to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Resource Group.\n"}},"stateInputs":{"description":"Input properties used for looking up and filtering ResourceGroup resources.\n","properties":{"location":{"type":"string","description":"The Azure Region where the Resource Group should exist. Changing this forces a new Resource Group to be created.\n","willReplaceOnChanges":true},"managedBy":{"type":"string","description":"The ID of the resource or application that manages this Resource Group.\n"},"name":{"type":"string","description":"The Name which should be used for this Resource Group. Changing this forces a new Resource Group to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Resource Group.\n"}},"type":"object"}},"azure:core/resourceGroupCostManagementExport:ResourceGroupCostManagementExport":{"description":"Manages a Cost Management Export for a Resource Group.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleAccount = new azure.storage.Account(\"example\", {\n    name: \"example\",\n    resourceGroupName: example.name,\n    location: example.location,\n    accountTier: \"Standard\",\n    accountReplicationType: \"LRS\",\n});\nconst exampleContainer = new azure.storage.Container(\"example\", {\n    name: \"examplecontainer\",\n    storageAccountName: exampleAccount.name,\n});\nconst exampleResourceGroupCostManagementExport = new azure.core.ResourceGroupCostManagementExport(\"example\", {\n    name: \"example\",\n    resourceGroupId: example.id,\n    recurrenceType: \"Monthly\",\n    recurrencePeriodStartDate: \"2020-08-18T00:00:00Z\",\n    recurrencePeriodEndDate: \"2020-09-18T00:00:00Z\",\n    fileFormat: \"Csv\",\n    exportDataStorageLocation: {\n        containerId: exampleContainer.id,\n        rootFolderPath: \"/root/updated\",\n    },\n    exportDataOptions: {\n        type: \"Usage\",\n        timeFrame: \"WeekToDate\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_account = azure.storage.Account(\"example\",\n    name=\"example\",\n    resource_group_name=example.name,\n    location=example.location,\n    account_tier=\"Standard\",\n    account_replication_type=\"LRS\")\nexample_container = azure.storage.Container(\"example\",\n    name=\"examplecontainer\",\n    storage_account_name=example_account.name)\nexample_resource_group_cost_management_export = azure.core.ResourceGroupCostManagementExport(\"example\",\n    name=\"example\",\n    resource_group_id=example.id,\n    recurrence_type=\"Monthly\",\n    recurrence_period_start_date=\"2020-08-18T00:00:00Z\",\n    recurrence_period_end_date=\"2020-09-18T00:00:00Z\",\n    file_format=\"Csv\",\n    export_data_storage_location={\n        \"container_id\": example_container.id,\n        \"root_folder_path\": \"/root/updated\",\n    },\n    export_data_options={\n        \"type\": \"Usage\",\n        \"time_frame\": \"WeekToDate\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleAccount = new Azure.Storage.Account(\"example\", new()\n    {\n        Name = \"example\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        AccountTier = \"Standard\",\n        AccountReplicationType = \"LRS\",\n    });\n\n    var exampleContainer = new Azure.Storage.Container(\"example\", new()\n    {\n        Name = \"examplecontainer\",\n        StorageAccountName = exampleAccount.Name,\n    });\n\n    var exampleResourceGroupCostManagementExport = new Azure.Core.ResourceGroupCostManagementExport(\"example\", new()\n    {\n        Name = \"example\",\n        ResourceGroupId = example.Id,\n        RecurrenceType = \"Monthly\",\n        RecurrencePeriodStartDate = \"2020-08-18T00:00:00Z\",\n        RecurrencePeriodEndDate = \"2020-09-18T00:00:00Z\",\n        FileFormat = \"Csv\",\n        ExportDataStorageLocation = new Azure.Core.Inputs.ResourceGroupCostManagementExportExportDataStorageLocationArgs\n        {\n            ContainerId = exampleContainer.Id,\n            RootFolderPath = \"/root/updated\",\n        },\n        ExportDataOptions = new Azure.Core.Inputs.ResourceGroupCostManagementExportExportDataOptionsArgs\n        {\n            Type = \"Usage\",\n            TimeFrame = \"WeekToDate\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := storage.NewAccount(ctx, \"example\", \u0026storage.AccountArgs{\n\t\t\tName:                   pulumi.String(\"example\"),\n\t\t\tResourceGroupName:      example.Name,\n\t\t\tLocation:               example.Location,\n\t\t\tAccountTier:            pulumi.String(\"Standard\"),\n\t\t\tAccountReplicationType: pulumi.String(\"LRS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleContainer, err := storage.NewContainer(ctx, \"example\", \u0026storage.ContainerArgs{\n\t\t\tName:               pulumi.String(\"examplecontainer\"),\n\t\t\tStorageAccountName: exampleAccount.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = core.NewResourceGroupCostManagementExport(ctx, \"example\", \u0026core.ResourceGroupCostManagementExportArgs{\n\t\t\tName:                      pulumi.String(\"example\"),\n\t\t\tResourceGroupId:           example.ID(),\n\t\t\tRecurrenceType:            pulumi.String(\"Monthly\"),\n\t\t\tRecurrencePeriodStartDate: pulumi.String(\"2020-08-18T00:00:00Z\"),\n\t\t\tRecurrencePeriodEndDate:   pulumi.String(\"2020-09-18T00:00:00Z\"),\n\t\t\tFileFormat:                pulumi.String(\"Csv\"),\n\t\t\tExportDataStorageLocation: \u0026core.ResourceGroupCostManagementExportExportDataStorageLocationArgs{\n\t\t\t\tContainerId:    exampleContainer.ID(),\n\t\t\t\tRootFolderPath: pulumi.String(\"/root/updated\"),\n\t\t\t},\n\t\t\tExportDataOptions: \u0026core.ResourceGroupCostManagementExportExportDataOptionsArgs{\n\t\t\t\tType:      pulumi.String(\"Usage\"),\n\t\t\t\tTimeFrame: pulumi.String(\"WeekToDate\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.storage.Account;\nimport com.pulumi.azure.storage.AccountArgs;\nimport com.pulumi.azure.storage.Container;\nimport com.pulumi.azure.storage.ContainerArgs;\nimport com.pulumi.azure.core.ResourceGroupCostManagementExport;\nimport com.pulumi.azure.core.ResourceGroupCostManagementExportArgs;\nimport com.pulumi.azure.core.inputs.ResourceGroupCostManagementExportExportDataStorageLocationArgs;\nimport com.pulumi.azure.core.inputs.ResourceGroupCostManagementExportExportDataOptionsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"example\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .accountTier(\"Standard\")\n            .accountReplicationType(\"LRS\")\n            .build());\n\n        var exampleContainer = new Container(\"exampleContainer\", ContainerArgs.builder()\n            .name(\"examplecontainer\")\n            .storageAccountName(exampleAccount.name())\n            .build());\n\n        var exampleResourceGroupCostManagementExport = new ResourceGroupCostManagementExport(\"exampleResourceGroupCostManagementExport\", ResourceGroupCostManagementExportArgs.builder()\n            .name(\"example\")\n            .resourceGroupId(example.id())\n            .recurrenceType(\"Monthly\")\n            .recurrencePeriodStartDate(\"2020-08-18T00:00:00Z\")\n            .recurrencePeriodEndDate(\"2020-09-18T00:00:00Z\")\n            .fileFormat(\"Csv\")\n            .exportDataStorageLocation(ResourceGroupCostManagementExportExportDataStorageLocationArgs.builder()\n                .containerId(exampleContainer.id())\n                .rootFolderPath(\"/root/updated\")\n                .build())\n            .exportDataOptions(ResourceGroupCostManagementExportExportDataOptionsArgs.builder()\n                .type(\"Usage\")\n                .timeFrame(\"WeekToDate\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleAccount:\n    type: azure:storage:Account\n    name: example\n    properties:\n      name: example\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      accountTier: Standard\n      accountReplicationType: LRS\n  exampleContainer:\n    type: azure:storage:Container\n    name: example\n    properties:\n      name: examplecontainer\n      storageAccountName: ${exampleAccount.name}\n  exampleResourceGroupCostManagementExport:\n    type: azure:core:ResourceGroupCostManagementExport\n    name: example\n    properties:\n      name: example\n      resourceGroupId: ${example.id}\n      recurrenceType: Monthly\n      recurrencePeriodStartDate: 2020-08-18T00:00:00Z\n      recurrencePeriodEndDate: 2020-09-18T00:00:00Z\n      fileFormat: Csv\n      exportDataStorageLocation:\n        containerId: ${exampleContainer.id}\n        rootFolderPath: /root/updated\n      exportDataOptions:\n        type: Usage\n        timeFrame: WeekToDate\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.CostManagement` - 2023-08-01\n\n## Import\n\nCost Management Export for a Resource Group can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:core/resourceGroupCostManagementExport:ResourceGroupCostManagementExport example /subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/resGroup1/providers/Microsoft.CostManagement/exports/export1\n```\n\n","properties":{"active":{"type":"boolean","description":"Is the cost management export active? Default is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"exportDataOptions":{"$ref":"#/types/azure:core/ResourceGroupCostManagementExportExportDataOptions:ResourceGroupCostManagementExportExportDataOptions","description":"A \u003cspan pulumi-lang-nodejs=\"`exportDataOptions`\" pulumi-lang-dotnet=\"`ExportDataOptions`\" pulumi-lang-go=\"`exportDataOptions`\" pulumi-lang-python=\"`export_data_options`\" pulumi-lang-yaml=\"`exportDataOptions`\" pulumi-lang-java=\"`exportDataOptions`\"\u003e`export_data_options`\u003c/span\u003e block as defined below.\n"},"exportDataStorageLocation":{"$ref":"#/types/azure:core/ResourceGroupCostManagementExportExportDataStorageLocation:ResourceGroupCostManagementExportExportDataStorageLocation","description":"A \u003cspan pulumi-lang-nodejs=\"`exportDataStorageLocation`\" pulumi-lang-dotnet=\"`ExportDataStorageLocation`\" pulumi-lang-go=\"`exportDataStorageLocation`\" pulumi-lang-python=\"`export_data_storage_location`\" pulumi-lang-yaml=\"`exportDataStorageLocation`\" pulumi-lang-java=\"`exportDataStorageLocation`\"\u003e`export_data_storage_location`\u003c/span\u003e block as defined below.\n"},"fileFormat":{"type":"string","description":"Format for export. Valid values are `Csv` only. Default is `Csv`.\n"},"name":{"type":"string","description":"Specifies the name of the Cost Management Export. Changing this forces a new resource to be created.\n"},"recurrencePeriodEndDate":{"type":"string","description":"The date the export will stop capturing information.\n"},"recurrencePeriodStartDate":{"type":"string","description":"The date the export will start capturing information.\n"},"recurrenceType":{"type":"string","description":"How often the requested information will be exported. Valid values include `Annually`, `Daily`, `Monthly`, `Weekly`.\n"},"resourceGroupId":{"type":"string","description":"The id of the resource group on which to create an export. Changing this forces a new resource to be created.\n"}},"required":["exportDataOptions","exportDataStorageLocation","name","recurrencePeriodEndDate","recurrencePeriodStartDate","recurrenceType","resourceGroupId"],"inputProperties":{"active":{"type":"boolean","description":"Is the cost management export active? Default is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"exportDataOptions":{"$ref":"#/types/azure:core/ResourceGroupCostManagementExportExportDataOptions:ResourceGroupCostManagementExportExportDataOptions","description":"A \u003cspan pulumi-lang-nodejs=\"`exportDataOptions`\" pulumi-lang-dotnet=\"`ExportDataOptions`\" pulumi-lang-go=\"`exportDataOptions`\" pulumi-lang-python=\"`export_data_options`\" pulumi-lang-yaml=\"`exportDataOptions`\" pulumi-lang-java=\"`exportDataOptions`\"\u003e`export_data_options`\u003c/span\u003e block as defined below.\n"},"exportDataStorageLocation":{"$ref":"#/types/azure:core/ResourceGroupCostManagementExportExportDataStorageLocation:ResourceGroupCostManagementExportExportDataStorageLocation","description":"A \u003cspan pulumi-lang-nodejs=\"`exportDataStorageLocation`\" pulumi-lang-dotnet=\"`ExportDataStorageLocation`\" pulumi-lang-go=\"`exportDataStorageLocation`\" pulumi-lang-python=\"`export_data_storage_location`\" pulumi-lang-yaml=\"`exportDataStorageLocation`\" pulumi-lang-java=\"`exportDataStorageLocation`\"\u003e`export_data_storage_location`\u003c/span\u003e block as defined below.\n"},"fileFormat":{"type":"string","description":"Format for export. Valid values are `Csv` only. Default is `Csv`.\n"},"name":{"type":"string","description":"Specifies the name of the Cost Management Export. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"recurrencePeriodEndDate":{"type":"string","description":"The date the export will stop capturing information.\n"},"recurrencePeriodStartDate":{"type":"string","description":"The date the export will start capturing information.\n"},"recurrenceType":{"type":"string","description":"How often the requested information will be exported. Valid values include `Annually`, `Daily`, `Monthly`, `Weekly`.\n"},"resourceGroupId":{"type":"string","description":"The id of the resource group on which to create an export. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["exportDataOptions","exportDataStorageLocation","recurrencePeriodEndDate","recurrencePeriodStartDate","recurrenceType","resourceGroupId"],"stateInputs":{"description":"Input properties used for looking up and filtering ResourceGroupCostManagementExport resources.\n","properties":{"active":{"type":"boolean","description":"Is the cost management export active? Default is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"exportDataOptions":{"$ref":"#/types/azure:core/ResourceGroupCostManagementExportExportDataOptions:ResourceGroupCostManagementExportExportDataOptions","description":"A \u003cspan pulumi-lang-nodejs=\"`exportDataOptions`\" pulumi-lang-dotnet=\"`ExportDataOptions`\" pulumi-lang-go=\"`exportDataOptions`\" pulumi-lang-python=\"`export_data_options`\" pulumi-lang-yaml=\"`exportDataOptions`\" pulumi-lang-java=\"`exportDataOptions`\"\u003e`export_data_options`\u003c/span\u003e block as defined below.\n"},"exportDataStorageLocation":{"$ref":"#/types/azure:core/ResourceGroupCostManagementExportExportDataStorageLocation:ResourceGroupCostManagementExportExportDataStorageLocation","description":"A \u003cspan pulumi-lang-nodejs=\"`exportDataStorageLocation`\" pulumi-lang-dotnet=\"`ExportDataStorageLocation`\" pulumi-lang-go=\"`exportDataStorageLocation`\" pulumi-lang-python=\"`export_data_storage_location`\" pulumi-lang-yaml=\"`exportDataStorageLocation`\" pulumi-lang-java=\"`exportDataStorageLocation`\"\u003e`export_data_storage_location`\u003c/span\u003e block as defined below.\n"},"fileFormat":{"type":"string","description":"Format for export. Valid values are `Csv` only. Default is `Csv`.\n"},"name":{"type":"string","description":"Specifies the name of the Cost Management Export. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"recurrencePeriodEndDate":{"type":"string","description":"The date the export will stop capturing information.\n"},"recurrencePeriodStartDate":{"type":"string","description":"The date the export will start capturing information.\n"},"recurrenceType":{"type":"string","description":"How often the requested information will be exported. Valid values include `Annually`, `Daily`, `Monthly`, `Weekly`.\n"},"resourceGroupId":{"type":"string","description":"The id of the resource group on which to create an export. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:core/resourceGroupCostManagementView:ResourceGroupCostManagementView":{"description":"Manages an Azure Cost Management View for a Resource Group.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleResourceGroupCostManagementView = new azure.core.ResourceGroupCostManagementView(\"example\", {\n    name: \"example\",\n    displayName: \"Cost View per Month\",\n    chartType: \"StackedColumn\",\n    accumulated: false,\n    resourceGroupId: example.id,\n    reportType: \"Usage\",\n    timeframe: \"MonthToDate\",\n    dataset: {\n        granularity: \"Monthly\",\n        aggregations: [{\n            name: \"totalCost\",\n            columnName: \"Cost\",\n        }],\n    },\n    pivots: [\n        {\n            type: \"Dimension\",\n            name: \"ServiceName\",\n        },\n        {\n            type: \"Dimension\",\n            name: \"ResourceLocation\",\n        },\n        {\n            type: \"Dimension\",\n            name: \"ResourceGroupName\",\n        },\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_resource_group_cost_management_view = azure.core.ResourceGroupCostManagementView(\"example\",\n    name=\"example\",\n    display_name=\"Cost View per Month\",\n    chart_type=\"StackedColumn\",\n    accumulated=False,\n    resource_group_id=example.id,\n    report_type=\"Usage\",\n    timeframe=\"MonthToDate\",\n    dataset={\n        \"granularity\": \"Monthly\",\n        \"aggregations\": [{\n            \"name\": \"totalCost\",\n            \"column_name\": \"Cost\",\n        }],\n    },\n    pivots=[\n        {\n            \"type\": \"Dimension\",\n            \"name\": \"ServiceName\",\n        },\n        {\n            \"type\": \"Dimension\",\n            \"name\": \"ResourceLocation\",\n        },\n        {\n            \"type\": \"Dimension\",\n            \"name\": \"ResourceGroupName\",\n        },\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleResourceGroupCostManagementView = new Azure.Core.ResourceGroupCostManagementView(\"example\", new()\n    {\n        Name = \"example\",\n        DisplayName = \"Cost View per Month\",\n        ChartType = \"StackedColumn\",\n        Accumulated = false,\n        ResourceGroupId = example.Id,\n        ReportType = \"Usage\",\n        Timeframe = \"MonthToDate\",\n        Dataset = new Azure.Core.Inputs.ResourceGroupCostManagementViewDatasetArgs\n        {\n            Granularity = \"Monthly\",\n            Aggregations = new[]\n            {\n                new Azure.Core.Inputs.ResourceGroupCostManagementViewDatasetAggregationArgs\n                {\n                    Name = \"totalCost\",\n                    ColumnName = \"Cost\",\n                },\n            },\n        },\n        Pivots = new[]\n        {\n            new Azure.Core.Inputs.ResourceGroupCostManagementViewPivotArgs\n            {\n                Type = \"Dimension\",\n                Name = \"ServiceName\",\n            },\n            new Azure.Core.Inputs.ResourceGroupCostManagementViewPivotArgs\n            {\n                Type = \"Dimension\",\n                Name = \"ResourceLocation\",\n            },\n            new Azure.Core.Inputs.ResourceGroupCostManagementViewPivotArgs\n            {\n                Type = \"Dimension\",\n                Name = \"ResourceGroupName\",\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = core.NewResourceGroupCostManagementView(ctx, \"example\", \u0026core.ResourceGroupCostManagementViewArgs{\n\t\t\tName:            pulumi.String(\"example\"),\n\t\t\tDisplayName:     pulumi.String(\"Cost View per Month\"),\n\t\t\tChartType:       pulumi.String(\"StackedColumn\"),\n\t\t\tAccumulated:     pulumi.Bool(false),\n\t\t\tResourceGroupId: example.ID(),\n\t\t\tReportType:      pulumi.String(\"Usage\"),\n\t\t\tTimeframe:       pulumi.String(\"MonthToDate\"),\n\t\t\tDataset: \u0026core.ResourceGroupCostManagementViewDatasetArgs{\n\t\t\t\tGranularity: pulumi.String(\"Monthly\"),\n\t\t\t\tAggregations: core.ResourceGroupCostManagementViewDatasetAggregationArray{\n\t\t\t\t\t\u0026core.ResourceGroupCostManagementViewDatasetAggregationArgs{\n\t\t\t\t\t\tName:       pulumi.String(\"totalCost\"),\n\t\t\t\t\t\tColumnName: pulumi.String(\"Cost\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tPivots: core.ResourceGroupCostManagementViewPivotArray{\n\t\t\t\t\u0026core.ResourceGroupCostManagementViewPivotArgs{\n\t\t\t\t\tType: pulumi.String(\"Dimension\"),\n\t\t\t\t\tName: pulumi.String(\"ServiceName\"),\n\t\t\t\t},\n\t\t\t\t\u0026core.ResourceGroupCostManagementViewPivotArgs{\n\t\t\t\t\tType: pulumi.String(\"Dimension\"),\n\t\t\t\t\tName: pulumi.String(\"ResourceLocation\"),\n\t\t\t\t},\n\t\t\t\t\u0026core.ResourceGroupCostManagementViewPivotArgs{\n\t\t\t\t\tType: pulumi.String(\"Dimension\"),\n\t\t\t\t\tName: pulumi.String(\"ResourceGroupName\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.core.ResourceGroupCostManagementView;\nimport com.pulumi.azure.core.ResourceGroupCostManagementViewArgs;\nimport com.pulumi.azure.core.inputs.ResourceGroupCostManagementViewDatasetArgs;\nimport com.pulumi.azure.core.inputs.ResourceGroupCostManagementViewPivotArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleResourceGroupCostManagementView = new ResourceGroupCostManagementView(\"exampleResourceGroupCostManagementView\", ResourceGroupCostManagementViewArgs.builder()\n            .name(\"example\")\n            .displayName(\"Cost View per Month\")\n            .chartType(\"StackedColumn\")\n            .accumulated(false)\n            .resourceGroupId(example.id())\n            .reportType(\"Usage\")\n            .timeframe(\"MonthToDate\")\n            .dataset(ResourceGroupCostManagementViewDatasetArgs.builder()\n                .granularity(\"Monthly\")\n                .aggregations(ResourceGroupCostManagementViewDatasetAggregationArgs.builder()\n                    .name(\"totalCost\")\n                    .columnName(\"Cost\")\n                    .build())\n                .build())\n            .pivots(            \n                ResourceGroupCostManagementViewPivotArgs.builder()\n                    .type(\"Dimension\")\n                    .name(\"ServiceName\")\n                    .build(),\n                ResourceGroupCostManagementViewPivotArgs.builder()\n                    .type(\"Dimension\")\n                    .name(\"ResourceLocation\")\n                    .build(),\n                ResourceGroupCostManagementViewPivotArgs.builder()\n                    .type(\"Dimension\")\n                    .name(\"ResourceGroupName\")\n                    .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleResourceGroupCostManagementView:\n    type: azure:core:ResourceGroupCostManagementView\n    name: example\n    properties:\n      name: example\n      displayName: Cost View per Month\n      chartType: StackedColumn\n      accumulated: false\n      resourceGroupId: ${example.id}\n      reportType: Usage\n      timeframe: MonthToDate\n      dataset:\n        granularity: Monthly\n        aggregations:\n          - name: totalCost\n            columnName: Cost\n      pivots:\n        - type: Dimension\n          name: ServiceName\n        - type: Dimension\n          name: ResourceLocation\n        - type: Dimension\n          name: ResourceGroupName\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.CostManagement` - 2023-08-01\n\n## Import\n\nCost Management View for a Resource Groups can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:core/resourceGroupCostManagementView:ResourceGroupCostManagementView example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resGroup1/providers/Microsoft.CostManagement/views/costmanagementview\n```\n\n","properties":{"accumulated":{"type":"boolean","description":"Whether the costs data in the Cost Management View are accumulated over time. Changing this forces a new Cost Management View for a Resource Group to be created.\n"},"chartType":{"type":"string","description":"Chart type of the main view in Cost Analysis. Possible values are `Area`, `GroupedColumn`, `Line`, `StackedColumn` and `Table`.\n"},"dataset":{"$ref":"#/types/azure:core/ResourceGroupCostManagementViewDataset:ResourceGroupCostManagementViewDataset","description":"A \u003cspan pulumi-lang-nodejs=\"`dataset`\" pulumi-lang-dotnet=\"`Dataset`\" pulumi-lang-go=\"`dataset`\" pulumi-lang-python=\"`dataset`\" pulumi-lang-yaml=\"`dataset`\" pulumi-lang-java=\"`dataset`\"\u003e`dataset`\u003c/span\u003e block as defined below.\n"},"displayName":{"type":"string","description":"User visible input name of the Cost Management View.\n"},"kpis":{"type":"array","items":{"$ref":"#/types/azure:core/ResourceGroupCostManagementViewKpi:ResourceGroupCostManagementViewKpi"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`kpi`\" pulumi-lang-dotnet=\"`Kpi`\" pulumi-lang-go=\"`kpi`\" pulumi-lang-python=\"`kpi`\" pulumi-lang-yaml=\"`kpi`\" pulumi-lang-java=\"`kpi`\"\u003e`kpi`\u003c/span\u003e blocks as defined below, to show in Cost Analysis UI.\n"},"name":{"type":"string","description":"The name which should be used for this Cost Management View for a Resource Group. Changing this forces a new Cost Management View for a Resource Group to be created.\n"},"pivots":{"type":"array","items":{"$ref":"#/types/azure:core/ResourceGroupCostManagementViewPivot:ResourceGroupCostManagementViewPivot"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`pivot`\" pulumi-lang-dotnet=\"`Pivot`\" pulumi-lang-go=\"`pivot`\" pulumi-lang-python=\"`pivot`\" pulumi-lang-yaml=\"`pivot`\" pulumi-lang-java=\"`pivot`\"\u003e`pivot`\u003c/span\u003e blocks as defined below, containing the configuration of 3 sub-views in the Cost Analysis UI. Non table views should have three pivots.\n"},"reportType":{"type":"string","description":"The type of the report. The only possible value is `Usage`.\n"},"resourceGroupId":{"type":"string","description":"The ID of the Resource Group this View is scoped to. Changing this forces a new Cost Management View for a Resource Group to be created.\n"},"timeframe":{"type":"string","description":"The time frame for pulling data for the report. Possible values are `Custom`, `MonthToDate`, `WeekToDate` and `YearToDate`.\n"}},"required":["accumulated","chartType","dataset","displayName","name","reportType","resourceGroupId","timeframe"],"inputProperties":{"accumulated":{"type":"boolean","description":"Whether the costs data in the Cost Management View are accumulated over time. Changing this forces a new Cost Management View for a Resource Group to be created.\n","willReplaceOnChanges":true},"chartType":{"type":"string","description":"Chart type of the main view in Cost Analysis. Possible values are `Area`, `GroupedColumn`, `Line`, `StackedColumn` and `Table`.\n"},"dataset":{"$ref":"#/types/azure:core/ResourceGroupCostManagementViewDataset:ResourceGroupCostManagementViewDataset","description":"A \u003cspan pulumi-lang-nodejs=\"`dataset`\" pulumi-lang-dotnet=\"`Dataset`\" pulumi-lang-go=\"`dataset`\" pulumi-lang-python=\"`dataset`\" pulumi-lang-yaml=\"`dataset`\" pulumi-lang-java=\"`dataset`\"\u003e`dataset`\u003c/span\u003e block as defined below.\n"},"displayName":{"type":"string","description":"User visible input name of the Cost Management View.\n"},"kpis":{"type":"array","items":{"$ref":"#/types/azure:core/ResourceGroupCostManagementViewKpi:ResourceGroupCostManagementViewKpi"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`kpi`\" pulumi-lang-dotnet=\"`Kpi`\" pulumi-lang-go=\"`kpi`\" pulumi-lang-python=\"`kpi`\" pulumi-lang-yaml=\"`kpi`\" pulumi-lang-java=\"`kpi`\"\u003e`kpi`\u003c/span\u003e blocks as defined below, to show in Cost Analysis UI.\n"},"name":{"type":"string","description":"The name which should be used for this Cost Management View for a Resource Group. Changing this forces a new Cost Management View for a Resource Group to be created.\n","willReplaceOnChanges":true},"pivots":{"type":"array","items":{"$ref":"#/types/azure:core/ResourceGroupCostManagementViewPivot:ResourceGroupCostManagementViewPivot"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`pivot`\" pulumi-lang-dotnet=\"`Pivot`\" pulumi-lang-go=\"`pivot`\" pulumi-lang-python=\"`pivot`\" pulumi-lang-yaml=\"`pivot`\" pulumi-lang-java=\"`pivot`\"\u003e`pivot`\u003c/span\u003e blocks as defined below, containing the configuration of 3 sub-views in the Cost Analysis UI. Non table views should have three pivots.\n"},"reportType":{"type":"string","description":"The type of the report. The only possible value is `Usage`.\n"},"resourceGroupId":{"type":"string","description":"The ID of the Resource Group this View is scoped to. Changing this forces a new Cost Management View for a Resource Group to be created.\n","willReplaceOnChanges":true},"timeframe":{"type":"string","description":"The time frame for pulling data for the report. Possible values are `Custom`, `MonthToDate`, `WeekToDate` and `YearToDate`.\n"}},"requiredInputs":["accumulated","chartType","dataset","displayName","reportType","resourceGroupId","timeframe"],"stateInputs":{"description":"Input properties used for looking up and filtering ResourceGroupCostManagementView resources.\n","properties":{"accumulated":{"type":"boolean","description":"Whether the costs data in the Cost Management View are accumulated over time. Changing this forces a new Cost Management View for a Resource Group to be created.\n","willReplaceOnChanges":true},"chartType":{"type":"string","description":"Chart type of the main view in Cost Analysis. Possible values are `Area`, `GroupedColumn`, `Line`, `StackedColumn` and `Table`.\n"},"dataset":{"$ref":"#/types/azure:core/ResourceGroupCostManagementViewDataset:ResourceGroupCostManagementViewDataset","description":"A \u003cspan pulumi-lang-nodejs=\"`dataset`\" pulumi-lang-dotnet=\"`Dataset`\" pulumi-lang-go=\"`dataset`\" pulumi-lang-python=\"`dataset`\" pulumi-lang-yaml=\"`dataset`\" pulumi-lang-java=\"`dataset`\"\u003e`dataset`\u003c/span\u003e block as defined below.\n"},"displayName":{"type":"string","description":"User visible input name of the Cost Management View.\n"},"kpis":{"type":"array","items":{"$ref":"#/types/azure:core/ResourceGroupCostManagementViewKpi:ResourceGroupCostManagementViewKpi"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`kpi`\" pulumi-lang-dotnet=\"`Kpi`\" pulumi-lang-go=\"`kpi`\" pulumi-lang-python=\"`kpi`\" pulumi-lang-yaml=\"`kpi`\" pulumi-lang-java=\"`kpi`\"\u003e`kpi`\u003c/span\u003e blocks as defined below, to show in Cost Analysis UI.\n"},"name":{"type":"string","description":"The name which should be used for this Cost Management View for a Resource Group. Changing this forces a new Cost Management View for a Resource Group to be created.\n","willReplaceOnChanges":true},"pivots":{"type":"array","items":{"$ref":"#/types/azure:core/ResourceGroupCostManagementViewPivot:ResourceGroupCostManagementViewPivot"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`pivot`\" pulumi-lang-dotnet=\"`Pivot`\" pulumi-lang-go=\"`pivot`\" pulumi-lang-python=\"`pivot`\" pulumi-lang-yaml=\"`pivot`\" pulumi-lang-java=\"`pivot`\"\u003e`pivot`\u003c/span\u003e blocks as defined below, containing the configuration of 3 sub-views in the Cost Analysis UI. Non table views should have three pivots.\n"},"reportType":{"type":"string","description":"The type of the report. The only possible value is `Usage`.\n"},"resourceGroupId":{"type":"string","description":"The ID of the Resource Group this View is scoped to. Changing this forces a new Cost Management View for a Resource Group to be created.\n","willReplaceOnChanges":true},"timeframe":{"type":"string","description":"The time frame for pulling data for the report. Possible values are `Custom`, `MonthToDate`, `WeekToDate` and `YearToDate`.\n"}},"type":"object"}},"azure:core/resourceGroupPolicyAssignment:ResourceGroupPolicyAssignment":{"description":"Manages a Resource Group Policy Assignment.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleDefinition = new azure.policy.Definition(\"example\", {\n    name: \"only-deploy-in-westeurope\",\n    policyType: \"Custom\",\n    mode: \"All\",\n    displayName: \"my-policy-definition\",\n    policyRule: ` {\n    \"if\": {\n      \"not\": {\n        \"field\": \"location\",\n        \"equals\": \"westeurope\"\n      }\n    },\n    \"then\": {\n      \"effect\": \"Deny\"\n    }\n  }\n`,\n});\nconst exampleResourceGroupPolicyAssignment = new azure.core.ResourceGroupPolicyAssignment(\"example\", {\n    name: \"example\",\n    resourceGroupId: example.id,\n    policyDefinitionId: exampleDefinition.id,\n    parameters: `    {\n      \\\\\"tagName\\\\\": {\n        \\\\\"value\\\\\": \\\\\"Business Unit\\\\\"\n      },\n      \\\\\"tagValue\\\\\": {\n        \\\\\"value\\\\\": \\\\\"BU\\\\\"\n      }\n    }\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_definition = azure.policy.Definition(\"example\",\n    name=\"only-deploy-in-westeurope\",\n    policy_type=\"Custom\",\n    mode=\"All\",\n    display_name=\"my-policy-definition\",\n    policy_rule=\"\"\" {\n    \"if\": {\n      \"not\": {\n        \"field\": \"location\",\n        \"equals\": \"westeurope\"\n      }\n    },\n    \"then\": {\n      \"effect\": \"Deny\"\n    }\n  }\n\"\"\")\nexample_resource_group_policy_assignment = azure.core.ResourceGroupPolicyAssignment(\"example\",\n    name=\"example\",\n    resource_group_id=example.id,\n    policy_definition_id=example_definition.id,\n    parameters=\"\"\"    {\n      \\\"tagName\\\": {\n        \\\"value\\\": \\\"Business Unit\\\"\n      },\n      \\\"tagValue\\\": {\n        \\\"value\\\": \\\"BU\\\"\n      }\n    }\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleDefinition = new Azure.Policy.Definition(\"example\", new()\n    {\n        Name = \"only-deploy-in-westeurope\",\n        PolicyType = \"Custom\",\n        Mode = \"All\",\n        DisplayName = \"my-policy-definition\",\n        PolicyRule = @\" {\n    \"\"if\"\": {\n      \"\"not\"\": {\n        \"\"field\"\": \"\"location\"\",\n        \"\"equals\"\": \"\"westeurope\"\"\n      }\n    },\n    \"\"then\"\": {\n      \"\"effect\"\": \"\"Deny\"\"\n    }\n  }\n\",\n    });\n\n    var exampleResourceGroupPolicyAssignment = new Azure.Core.ResourceGroupPolicyAssignment(\"example\", new()\n    {\n        Name = \"example\",\n        ResourceGroupId = example.Id,\n        PolicyDefinitionId = exampleDefinition.Id,\n        Parameters = @\"    {\n      \\\"\"tagName\\\"\": {\n        \\\"\"value\\\"\": \\\"\"Business Unit\\\"\"\n      },\n      \\\"\"tagValue\\\"\": {\n        \\\"\"value\\\"\": \\\"\"BU\\\"\"\n      }\n    }\n\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/policy\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleDefinition, err := policy.NewDefinition(ctx, \"example\", \u0026policy.DefinitionArgs{\n\t\t\tName:        pulumi.String(\"only-deploy-in-westeurope\"),\n\t\t\tPolicyType:  pulumi.String(\"Custom\"),\n\t\t\tMode:        pulumi.String(\"All\"),\n\t\t\tDisplayName: pulumi.String(\"my-policy-definition\"),\n\t\t\tPolicyRule: pulumi.String(` {\n    \"if\": {\n      \"not\": {\n        \"field\": \"location\",\n        \"equals\": \"westeurope\"\n      }\n    },\n    \"then\": {\n      \"effect\": \"Deny\"\n    }\n  }\n`),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = core.NewResourceGroupPolicyAssignment(ctx, \"example\", \u0026core.ResourceGroupPolicyAssignmentArgs{\n\t\t\tName:               pulumi.String(\"example\"),\n\t\t\tResourceGroupId:    example.ID(),\n\t\t\tPolicyDefinitionId: exampleDefinition.ID(),\n\t\t\tParameters: pulumi.String(`    {\n      \\\"tagName\\\": {\n        \\\"value\\\": \\\"Business Unit\\\"\n      },\n      \\\"tagValue\\\": {\n        \\\"value\\\": \\\"BU\\\"\n      }\n    }\n`),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.policy.Definition;\nimport com.pulumi.azure.policy.DefinitionArgs;\nimport com.pulumi.azure.core.ResourceGroupPolicyAssignment;\nimport com.pulumi.azure.core.ResourceGroupPolicyAssignmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleDefinition = new Definition(\"exampleDefinition\", DefinitionArgs.builder()\n            .name(\"only-deploy-in-westeurope\")\n            .policyType(\"Custom\")\n            .mode(\"All\")\n            .displayName(\"my-policy-definition\")\n            .policyRule(\"\"\"\n {\n    \"if\": {\n      \"not\": {\n        \"field\": \"location\",\n        \"equals\": \"westeurope\"\n      }\n    },\n    \"then\": {\n      \"effect\": \"Deny\"\n    }\n  }\n            \"\"\")\n            .build());\n\n        var exampleResourceGroupPolicyAssignment = new ResourceGroupPolicyAssignment(\"exampleResourceGroupPolicyAssignment\", ResourceGroupPolicyAssignmentArgs.builder()\n            .name(\"example\")\n            .resourceGroupId(example.id())\n            .policyDefinitionId(exampleDefinition.id())\n            .parameters(\"\"\"\n    {\n      \\\"tagName\\\": {\n        \\\"value\\\": \\\"Business Unit\\\"\n      },\n      \\\"tagValue\\\": {\n        \\\"value\\\": \\\"BU\\\"\n      }\n    }\n            \"\"\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleDefinition:\n    type: azure:policy:Definition\n    name: example\n    properties:\n      name: only-deploy-in-westeurope\n      policyType: Custom\n      mode: All\n      displayName: my-policy-definition\n      policyRule: |2\n         {\n            \"if\": {\n              \"not\": {\n                \"field\": \"location\",\n                \"equals\": \"westeurope\"\n              }\n            },\n            \"then\": {\n              \"effect\": \"Deny\"\n            }\n          }\n  exampleResourceGroupPolicyAssignment:\n    type: azure:core:ResourceGroupPolicyAssignment\n    name: example\n    properties:\n      name: example\n      resourceGroupId: ${example.id}\n      policyDefinitionId: ${exampleDefinition.id}\n      parameters: |2\n            {\n              \\\"tagName\\\": {\n                \\\"value\\\": \\\"Business Unit\\\"\n              },\n              \\\"tagValue\\\": {\n                \\\"value\\\": \\\"BU\\\"\n              }\n            }\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Authorization` - 2022-06-01\n\n## Import\n\nResource Group Policy Assignments can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:core/resourceGroupPolicyAssignment:ResourceGroupPolicyAssignment example /subscriptions/00000000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Authorization/policyAssignments/assignment1\n```\n\n","properties":{"description":{"type":"string","description":"A description which should be used for this Policy Assignment.\n"},"displayName":{"type":"string","description":"The Display Name for this Policy Assignment.\n"},"enforce":{"type":"boolean","description":"Specifies if this Policy should be enforced or not? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"identity":{"$ref":"#/types/azure:core/ResourceGroupPolicyAssignmentIdentity:ResourceGroupPolicyAssignmentIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`location`\" pulumi-lang-dotnet=\"`Location`\" pulumi-lang-go=\"`location`\" pulumi-lang-python=\"`location`\" pulumi-lang-yaml=\"`location`\" pulumi-lang-java=\"`location`\"\u003e`location`\u003c/span\u003e field must also be specified when \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e is specified.\n"},"location":{"type":"string","description":"The Azure Region where the Policy Assignment should exist. Changing this forces a new Policy Assignment to be created.\n"},"metadata":{"type":"string","description":"A JSON mapping of any Metadata for this Policy.\n"},"name":{"type":"string","description":"The name which should be used for this Policy Assignment. Changing this forces a new Policy Assignment to be created. Cannot exceed 64 characters in length.\n"},"nonComplianceMessages":{"type":"array","items":{"$ref":"#/types/azure:core/ResourceGroupPolicyAssignmentNonComplianceMessage:ResourceGroupPolicyAssignmentNonComplianceMessage"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`nonComplianceMessage`\" pulumi-lang-dotnet=\"`NonComplianceMessage`\" pulumi-lang-go=\"`nonComplianceMessage`\" pulumi-lang-python=\"`non_compliance_message`\" pulumi-lang-yaml=\"`nonComplianceMessage`\" pulumi-lang-java=\"`nonComplianceMessage`\"\u003e`non_compliance_message`\u003c/span\u003e blocks as defined below.\n"},"notScopes":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Resource Scopes (for example a Subscription, or a Resource Group) within this Management Group which are excluded from this Policy.\n"},"overrides":{"type":"array","items":{"$ref":"#/types/azure:core/ResourceGroupPolicyAssignmentOverride:ResourceGroupPolicyAssignmentOverride"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`overrides`\" pulumi-lang-dotnet=\"`Overrides`\" pulumi-lang-go=\"`overrides`\" pulumi-lang-python=\"`overrides`\" pulumi-lang-yaml=\"`overrides`\" pulumi-lang-java=\"`overrides`\"\u003e`overrides`\u003c/span\u003e blocks as defined below. More detail about \u003cspan pulumi-lang-nodejs=\"`overrides`\" pulumi-lang-dotnet=\"`Overrides`\" pulumi-lang-go=\"`overrides`\" pulumi-lang-python=\"`overrides`\" pulumi-lang-yaml=\"`overrides`\" pulumi-lang-java=\"`overrides`\"\u003e`overrides`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`resourceSelectors`\" pulumi-lang-dotnet=\"`ResourceSelectors`\" pulumi-lang-go=\"`resourceSelectors`\" pulumi-lang-python=\"`resource_selectors`\" pulumi-lang-yaml=\"`resourceSelectors`\" pulumi-lang-java=\"`resourceSelectors`\"\u003e`resource_selectors`\u003c/span\u003e see [policy assignment structure](https://learn.microsoft.com/en-us/azure/governance/policy/concepts/assignment-structure)\n"},"parameters":{"type":"string","description":"A JSON mapping of any Parameters for this Policy.\n"},"policyDefinitionId":{"type":"string","description":"The ID of the Policy Definition or Policy Definition Set. Changing this forces a new Policy Assignment to be created.\n"},"resourceGroupId":{"type":"string","description":"The ID of the Resource Group where this Policy Assignment should be created. Changing this forces a new Policy Assignment to be created.\n"},"resourceSelectors":{"type":"array","items":{"$ref":"#/types/azure:core/ResourceGroupPolicyAssignmentResourceSelector:ResourceGroupPolicyAssignmentResourceSelector"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`resourceSelectors`\" pulumi-lang-dotnet=\"`ResourceSelectors`\" pulumi-lang-go=\"`resourceSelectors`\" pulumi-lang-python=\"`resource_selectors`\" pulumi-lang-yaml=\"`resourceSelectors`\" pulumi-lang-java=\"`resourceSelectors`\"\u003e`resource_selectors`\u003c/span\u003e blocks as defined below to filter polices by resource properties.\n"}},"required":["location","metadata","name","policyDefinitionId","resourceGroupId"],"inputProperties":{"description":{"type":"string","description":"A description which should be used for this Policy Assignment.\n"},"displayName":{"type":"string","description":"The Display Name for this Policy Assignment.\n"},"enforce":{"type":"boolean","description":"Specifies if this Policy should be enforced or not? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"identity":{"$ref":"#/types/azure:core/ResourceGroupPolicyAssignmentIdentity:ResourceGroupPolicyAssignmentIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`location`\" pulumi-lang-dotnet=\"`Location`\" pulumi-lang-go=\"`location`\" pulumi-lang-python=\"`location`\" pulumi-lang-yaml=\"`location`\" pulumi-lang-java=\"`location`\"\u003e`location`\u003c/span\u003e field must also be specified when \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e is specified.\n"},"location":{"type":"string","description":"The Azure Region where the Policy Assignment should exist. Changing this forces a new Policy Assignment to be created.\n","willReplaceOnChanges":true},"metadata":{"type":"string","description":"A JSON mapping of any Metadata for this Policy.\n"},"name":{"type":"string","description":"The name which should be used for this Policy Assignment. Changing this forces a new Policy Assignment to be created. Cannot exceed 64 characters in length.\n","willReplaceOnChanges":true},"nonComplianceMessages":{"type":"array","items":{"$ref":"#/types/azure:core/ResourceGroupPolicyAssignmentNonComplianceMessage:ResourceGroupPolicyAssignmentNonComplianceMessage"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`nonComplianceMessage`\" pulumi-lang-dotnet=\"`NonComplianceMessage`\" pulumi-lang-go=\"`nonComplianceMessage`\" pulumi-lang-python=\"`non_compliance_message`\" pulumi-lang-yaml=\"`nonComplianceMessage`\" pulumi-lang-java=\"`nonComplianceMessage`\"\u003e`non_compliance_message`\u003c/span\u003e blocks as defined below.\n"},"notScopes":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Resource Scopes (for example a Subscription, or a Resource Group) within this Management Group which are excluded from this Policy.\n"},"overrides":{"type":"array","items":{"$ref":"#/types/azure:core/ResourceGroupPolicyAssignmentOverride:ResourceGroupPolicyAssignmentOverride"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`overrides`\" pulumi-lang-dotnet=\"`Overrides`\" pulumi-lang-go=\"`overrides`\" pulumi-lang-python=\"`overrides`\" pulumi-lang-yaml=\"`overrides`\" pulumi-lang-java=\"`overrides`\"\u003e`overrides`\u003c/span\u003e blocks as defined below. More detail about \u003cspan pulumi-lang-nodejs=\"`overrides`\" pulumi-lang-dotnet=\"`Overrides`\" pulumi-lang-go=\"`overrides`\" pulumi-lang-python=\"`overrides`\" pulumi-lang-yaml=\"`overrides`\" pulumi-lang-java=\"`overrides`\"\u003e`overrides`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`resourceSelectors`\" pulumi-lang-dotnet=\"`ResourceSelectors`\" pulumi-lang-go=\"`resourceSelectors`\" pulumi-lang-python=\"`resource_selectors`\" pulumi-lang-yaml=\"`resourceSelectors`\" pulumi-lang-java=\"`resourceSelectors`\"\u003e`resource_selectors`\u003c/span\u003e see [policy assignment structure](https://learn.microsoft.com/en-us/azure/governance/policy/concepts/assignment-structure)\n"},"parameters":{"type":"string","description":"A JSON mapping of any Parameters for this Policy.\n"},"policyDefinitionId":{"type":"string","description":"The ID of the Policy Definition or Policy Definition Set. Changing this forces a new Policy Assignment to be created.\n","willReplaceOnChanges":true},"resourceGroupId":{"type":"string","description":"The ID of the Resource Group where this Policy Assignment should be created. Changing this forces a new Policy Assignment to be created.\n","willReplaceOnChanges":true},"resourceSelectors":{"type":"array","items":{"$ref":"#/types/azure:core/ResourceGroupPolicyAssignmentResourceSelector:ResourceGroupPolicyAssignmentResourceSelector"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`resourceSelectors`\" pulumi-lang-dotnet=\"`ResourceSelectors`\" pulumi-lang-go=\"`resourceSelectors`\" pulumi-lang-python=\"`resource_selectors`\" pulumi-lang-yaml=\"`resourceSelectors`\" pulumi-lang-java=\"`resourceSelectors`\"\u003e`resource_selectors`\u003c/span\u003e blocks as defined below to filter polices by resource properties.\n"}},"requiredInputs":["policyDefinitionId","resourceGroupId"],"stateInputs":{"description":"Input properties used for looking up and filtering ResourceGroupPolicyAssignment resources.\n","properties":{"description":{"type":"string","description":"A description which should be used for this Policy Assignment.\n"},"displayName":{"type":"string","description":"The Display Name for this Policy Assignment.\n"},"enforce":{"type":"boolean","description":"Specifies if this Policy should be enforced or not? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"identity":{"$ref":"#/types/azure:core/ResourceGroupPolicyAssignmentIdentity:ResourceGroupPolicyAssignmentIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`location`\" pulumi-lang-dotnet=\"`Location`\" pulumi-lang-go=\"`location`\" pulumi-lang-python=\"`location`\" pulumi-lang-yaml=\"`location`\" pulumi-lang-java=\"`location`\"\u003e`location`\u003c/span\u003e field must also be specified when \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e is specified.\n"},"location":{"type":"string","description":"The Azure Region where the Policy Assignment should exist. Changing this forces a new Policy Assignment to be created.\n","willReplaceOnChanges":true},"metadata":{"type":"string","description":"A JSON mapping of any Metadata for this Policy.\n"},"name":{"type":"string","description":"The name which should be used for this Policy Assignment. Changing this forces a new Policy Assignment to be created. Cannot exceed 64 characters in length.\n","willReplaceOnChanges":true},"nonComplianceMessages":{"type":"array","items":{"$ref":"#/types/azure:core/ResourceGroupPolicyAssignmentNonComplianceMessage:ResourceGroupPolicyAssignmentNonComplianceMessage"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`nonComplianceMessage`\" pulumi-lang-dotnet=\"`NonComplianceMessage`\" pulumi-lang-go=\"`nonComplianceMessage`\" pulumi-lang-python=\"`non_compliance_message`\" pulumi-lang-yaml=\"`nonComplianceMessage`\" pulumi-lang-java=\"`nonComplianceMessage`\"\u003e`non_compliance_message`\u003c/span\u003e blocks as defined below.\n"},"notScopes":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Resource Scopes (for example a Subscription, or a Resource Group) within this Management Group which are excluded from this Policy.\n"},"overrides":{"type":"array","items":{"$ref":"#/types/azure:core/ResourceGroupPolicyAssignmentOverride:ResourceGroupPolicyAssignmentOverride"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`overrides`\" pulumi-lang-dotnet=\"`Overrides`\" pulumi-lang-go=\"`overrides`\" pulumi-lang-python=\"`overrides`\" pulumi-lang-yaml=\"`overrides`\" pulumi-lang-java=\"`overrides`\"\u003e`overrides`\u003c/span\u003e blocks as defined below. More detail about \u003cspan pulumi-lang-nodejs=\"`overrides`\" pulumi-lang-dotnet=\"`Overrides`\" pulumi-lang-go=\"`overrides`\" pulumi-lang-python=\"`overrides`\" pulumi-lang-yaml=\"`overrides`\" pulumi-lang-java=\"`overrides`\"\u003e`overrides`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`resourceSelectors`\" pulumi-lang-dotnet=\"`ResourceSelectors`\" pulumi-lang-go=\"`resourceSelectors`\" pulumi-lang-python=\"`resource_selectors`\" pulumi-lang-yaml=\"`resourceSelectors`\" pulumi-lang-java=\"`resourceSelectors`\"\u003e`resource_selectors`\u003c/span\u003e see [policy assignment structure](https://learn.microsoft.com/en-us/azure/governance/policy/concepts/assignment-structure)\n"},"parameters":{"type":"string","description":"A JSON mapping of any Parameters for this Policy.\n"},"policyDefinitionId":{"type":"string","description":"The ID of the Policy Definition or Policy Definition Set. Changing this forces a new Policy Assignment to be created.\n","willReplaceOnChanges":true},"resourceGroupId":{"type":"string","description":"The ID of the Resource Group where this Policy Assignment should be created. Changing this forces a new Policy Assignment to be created.\n","willReplaceOnChanges":true},"resourceSelectors":{"type":"array","items":{"$ref":"#/types/azure:core/ResourceGroupPolicyAssignmentResourceSelector:ResourceGroupPolicyAssignmentResourceSelector"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`resourceSelectors`\" pulumi-lang-dotnet=\"`ResourceSelectors`\" pulumi-lang-go=\"`resourceSelectors`\" pulumi-lang-python=\"`resource_selectors`\" pulumi-lang-yaml=\"`resourceSelectors`\" pulumi-lang-java=\"`resourceSelectors`\"\u003e`resource_selectors`\u003c/span\u003e blocks as defined below to filter polices by resource properties.\n"}},"type":"object"}},"azure:core/resourceGroupPolicyExemption:ResourceGroupPolicyExemption":{"description":"Manages a Resource Group Policy Exemption.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"example\", {\n    name: \"resourceGroup1\",\n    location: \"westus\",\n});\nconst example = azure.policy.getPolicyDefintion({\n    displayName: \"Allowed locations\",\n});\nconst exampleResourceGroupPolicyAssignment = new azure.core.ResourceGroupPolicyAssignment(\"example\", {\n    name: \"exampleAssignment\",\n    resourceGroupId: exampleResourceGroup.id,\n    policyDefinitionId: example.then(example =\u003e example.id),\n    parameters: pulumi.jsonStringify({\n        listOfAllowedLocations: {\n            value: [exampleResourceGroup.location],\n        },\n    }),\n});\nconst exampleResourceGroupPolicyExemption = new azure.core.ResourceGroupPolicyExemption(\"example\", {\n    name: \"exampleExemption\",\n    resourceGroupId: exampleResourceGroup.id,\n    policyAssignmentId: exampleResourceGroupPolicyAssignment.id,\n    exemptionCategory: \"Mitigated\",\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"example\",\n    name=\"resourceGroup1\",\n    location=\"westus\")\nexample = azure.policy.get_policy_defintion(display_name=\"Allowed locations\")\nexample_resource_group_policy_assignment = azure.core.ResourceGroupPolicyAssignment(\"example\",\n    name=\"exampleAssignment\",\n    resource_group_id=example_resource_group.id,\n    policy_definition_id=example.id,\n    parameters=pulumi.Output.json_dumps({\n        \"listOfAllowedLocations\": {\n            \"value\": [example_resource_group.location],\n        },\n    }))\nexample_resource_group_policy_exemption = azure.core.ResourceGroupPolicyExemption(\"example\",\n    name=\"exampleExemption\",\n    resource_group_id=example_resource_group.id,\n    policy_assignment_id=example_resource_group_policy_assignment.id,\n    exemption_category=\"Mitigated\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleResourceGroup = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"resourceGroup1\",\n        Location = \"westus\",\n    });\n\n    var example = Azure.Policy.GetPolicyDefintion.Invoke(new()\n    {\n        DisplayName = \"Allowed locations\",\n    });\n\n    var exampleResourceGroupPolicyAssignment = new Azure.Core.ResourceGroupPolicyAssignment(\"example\", new()\n    {\n        Name = \"exampleAssignment\",\n        ResourceGroupId = exampleResourceGroup.Id,\n        PolicyDefinitionId = example.Apply(getPolicyDefintionResult =\u003e getPolicyDefintionResult.Id),\n        Parameters = Output.JsonSerialize(Output.Create(new Dictionary\u003cstring, object?\u003e\n        {\n            [\"listOfAllowedLocations\"] = new Dictionary\u003cstring, object?\u003e\n            {\n                [\"value\"] = new[]\n                {\n                    exampleResourceGroup.Location,\n                },\n            },\n        })),\n    });\n\n    var exampleResourceGroupPolicyExemption = new Azure.Core.ResourceGroupPolicyExemption(\"example\", new()\n    {\n        Name = \"exampleExemption\",\n        ResourceGroupId = exampleResourceGroup.Id,\n        PolicyAssignmentId = exampleResourceGroupPolicyAssignment.Id,\n        ExemptionCategory = \"Mitigated\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/policy\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"resourceGroup1\"),\n\t\t\tLocation: pulumi.String(\"westus\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := policy.GetPolicyDefintion(ctx, \u0026policy.GetPolicyDefintionArgs{\n\t\t\tDisplayName: pulumi.StringRef(\"Allowed locations\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleResourceGroupPolicyAssignment, err := core.NewResourceGroupPolicyAssignment(ctx, \"example\", \u0026core.ResourceGroupPolicyAssignmentArgs{\n\t\t\tName:               pulumi.String(\"exampleAssignment\"),\n\t\t\tResourceGroupId:    exampleResourceGroup.ID(),\n\t\t\tPolicyDefinitionId: pulumi.String(example.Id),\n\t\t\tParameters: exampleResourceGroup.Location.ApplyT(func(location string) (pulumi.String, error) {\n\t\t\t\tvar _zero pulumi.String\n\t\t\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\t\t\"listOfAllowedLocations\": map[string]interface{}{\n\t\t\t\t\t\t\"value\": []string{\n\t\t\t\t\t\t\tlocation,\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t})\n\t\t\t\tif err != nil {\n\t\t\t\t\treturn _zero, err\n\t\t\t\t}\n\t\t\t\tjson0 := string(tmpJSON0)\n\t\t\t\treturn pulumi.String(json0), nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = core.NewResourceGroupPolicyExemption(ctx, \"example\", \u0026core.ResourceGroupPolicyExemptionArgs{\n\t\t\tName:               pulumi.String(\"exampleExemption\"),\n\t\t\tResourceGroupId:    exampleResourceGroup.ID(),\n\t\t\tPolicyAssignmentId: exampleResourceGroupPolicyAssignment.ID(),\n\t\t\tExemptionCategory:  pulumi.String(\"Mitigated\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.policy.PolicyFunctions;\nimport com.pulumi.azure.policy.inputs.GetPolicyDefintionArgs;\nimport com.pulumi.azure.core.ResourceGroupPolicyAssignment;\nimport com.pulumi.azure.core.ResourceGroupPolicyAssignmentArgs;\nimport com.pulumi.azure.core.ResourceGroupPolicyExemption;\nimport com.pulumi.azure.core.ResourceGroupPolicyExemptionArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var exampleResourceGroup = new ResourceGroup(\"exampleResourceGroup\", ResourceGroupArgs.builder()\n            .name(\"resourceGroup1\")\n            .location(\"westus\")\n            .build());\n\n        final var example = PolicyFunctions.getPolicyDefintion(GetPolicyDefintionArgs.builder()\n            .displayName(\"Allowed locations\")\n            .build());\n\n        var exampleResourceGroupPolicyAssignment = new ResourceGroupPolicyAssignment(\"exampleResourceGroupPolicyAssignment\", ResourceGroupPolicyAssignmentArgs.builder()\n            .name(\"exampleAssignment\")\n            .resourceGroupId(exampleResourceGroup.id())\n            .policyDefinitionId(example.id())\n            .parameters(exampleResourceGroup.location().applyValue(_location -\u003e serializeJson(\n                jsonObject(\n                    jsonProperty(\"listOfAllowedLocations\", jsonObject(\n                        jsonProperty(\"value\", jsonArray(_location))\n                    ))\n                ))))\n            .build());\n\n        var exampleResourceGroupPolicyExemption = new ResourceGroupPolicyExemption(\"exampleResourceGroupPolicyExemption\", ResourceGroupPolicyExemptionArgs.builder()\n            .name(\"exampleExemption\")\n            .resourceGroupId(exampleResourceGroup.id())\n            .policyAssignmentId(exampleResourceGroupPolicyAssignment.id())\n            .exemptionCategory(\"Mitigated\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleResourceGroup:\n    type: azure:core:ResourceGroup\n    name: example\n    properties:\n      name: resourceGroup1\n      location: westus\n  exampleResourceGroupPolicyAssignment:\n    type: azure:core:ResourceGroupPolicyAssignment\n    name: example\n    properties:\n      name: exampleAssignment\n      resourceGroupId: ${exampleResourceGroup.id}\n      policyDefinitionId: ${example.id}\n      parameters:\n        fn::toJSON:\n          listOfAllowedLocations:\n            value:\n              - ${exampleResourceGroup.location}\n  exampleResourceGroupPolicyExemption:\n    type: azure:core:ResourceGroupPolicyExemption\n    name: example\n    properties:\n      name: exampleExemption\n      resourceGroupId: ${exampleResourceGroup.id}\n      policyAssignmentId: ${exampleResourceGroupPolicyAssignment.id}\n      exemptionCategory: Mitigated\nvariables:\n  example:\n    fn::invoke:\n      function: azure:policy:getPolicyDefintion\n      arguments:\n        displayName: Allowed locations\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nPolicy Exemptions can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:core/resourceGroupPolicyExemption:ResourceGroupPolicyExemption exemption1 /subscriptions/00000000-0000-0000-000000000000/resourceGroups/resGroup1/providers/Microsoft.Authorization/policyExemptions/exemption1\n```\n\n","properties":{"description":{"type":"string","description":"A description to use for this Policy Exemption.\n"},"displayName":{"type":"string","description":"A friendly display name to use for this Policy Exemption.\n"},"exemptionCategory":{"type":"string","description":"The category of this policy exemption. Possible values are `Waiver` and `Mitigated`.\n"},"expiresOn":{"type":"string","description":"The expiration date and time in UTC ISO 8601 format of this policy exemption.\n"},"metadata":{"type":"string","description":"The metadata for this policy exemption. This is a JSON string representing additional metadata that should be stored with the policy exemption.\n"},"name":{"type":"string","description":"The name of the Policy Exemption. Changing this forces a new resource to be created.\n"},"policyAssignmentId":{"type":"string","description":"The ID of the Policy Assignment to be exempted at the specified Scope. Changing this forces a new resource to be created.\n"},"policyDefinitionReferenceIds":{"type":"array","items":{"type":"string"},"description":"The policy definition reference ID list when the associated policy assignment is an assignment of a policy set definition.\n"},"resourceGroupId":{"type":"string","description":"The Resource Group ID where the Policy Exemption should be applied. Changing this forces a new resource to be created.\n"}},"required":["exemptionCategory","metadata","name","policyAssignmentId","resourceGroupId"],"inputProperties":{"description":{"type":"string","description":"A description to use for this Policy Exemption.\n"},"displayName":{"type":"string","description":"A friendly display name to use for this Policy Exemption.\n"},"exemptionCategory":{"type":"string","description":"The category of this policy exemption. Possible values are `Waiver` and `Mitigated`.\n"},"expiresOn":{"type":"string","description":"The expiration date and time in UTC ISO 8601 format of this policy exemption.\n"},"metadata":{"type":"string","description":"The metadata for this policy exemption. This is a JSON string representing additional metadata that should be stored with the policy exemption.\n"},"name":{"type":"string","description":"The name of the Policy Exemption. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"policyAssignmentId":{"type":"string","description":"The ID of the Policy Assignment to be exempted at the specified Scope. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"policyDefinitionReferenceIds":{"type":"array","items":{"type":"string"},"description":"The policy definition reference ID list when the associated policy assignment is an assignment of a policy set definition.\n"},"resourceGroupId":{"type":"string","description":"The Resource Group ID where the Policy Exemption should be applied. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["exemptionCategory","policyAssignmentId","resourceGroupId"],"stateInputs":{"description":"Input properties used for looking up and filtering ResourceGroupPolicyExemption resources.\n","properties":{"description":{"type":"string","description":"A description to use for this Policy Exemption.\n"},"displayName":{"type":"string","description":"A friendly display name to use for this Policy Exemption.\n"},"exemptionCategory":{"type":"string","description":"The category of this policy exemption. Possible values are `Waiver` and `Mitigated`.\n"},"expiresOn":{"type":"string","description":"The expiration date and time in UTC ISO 8601 format of this policy exemption.\n"},"metadata":{"type":"string","description":"The metadata for this policy exemption. This is a JSON string representing additional metadata that should be stored with the policy exemption.\n"},"name":{"type":"string","description":"The name of the Policy Exemption. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"policyAssignmentId":{"type":"string","description":"The ID of the Policy Assignment to be exempted at the specified Scope. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"policyDefinitionReferenceIds":{"type":"array","items":{"type":"string"},"description":"The policy definition reference ID list when the associated policy assignment is an assignment of a policy set definition.\n"},"resourceGroupId":{"type":"string","description":"The Resource Group ID where the Policy Exemption should be applied. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:core/resourceGroupPolicyRemediation:ResourceGroupPolicyRemediation":{"description":"Manages an Azure Resource Group Policy Remediation.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleDefinition = new azure.policy.Definition(\"example\", {\n    name: \"my-policy-definition\",\n    policyType: \"Custom\",\n    mode: \"All\",\n    displayName: \"my-policy-definition\",\n    policyRule: `    {\n    \"if\": {\n      \"not\": {\n        \"field\": \"location\",\n        \"in\": \"[parameters('allowedLocations')]\"\n      }\n    },\n    \"then\": {\n      \"effect\": \"audit\"\n    }\n  }\n`,\n    parameters: `    {\n    \\\\\"allowedLocations\\\\\": {\n      \\\\\"type\\\\\": \\\\\"Array\\\\\",\n      \\\\\"metadata\\\\\": {\n        \\\\\"description\\\\\": \\\\\"The list of allowed locations for resources.\\\\\",\n        \\\\\"displayName\\\\\": \\\\\"Allowed locations\\\\\",\n        \\\\\"strongType\\\\\": \\\\\"location\\\\\"\n      }\n    }\n  }\n`,\n});\nconst exampleResourceGroupPolicyAssignment = new azure.core.ResourceGroupPolicyAssignment(\"example\", {\n    name: \"example\",\n    resourceGroupId: example.id,\n    policyDefinitionId: exampleDefinition.id,\n});\nconst exampleResourceGroupPolicyRemediation = new azure.core.ResourceGroupPolicyRemediation(\"example\", {\n    name: \"example-policy-remediation\",\n    resourceGroupId: example.id,\n    policyAssignmentId: exampleResourceGroupPolicyAssignment.id,\n    locationFilters: [\"West Europe\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_definition = azure.policy.Definition(\"example\",\n    name=\"my-policy-definition\",\n    policy_type=\"Custom\",\n    mode=\"All\",\n    display_name=\"my-policy-definition\",\n    policy_rule=\"\"\"    {\n    \"if\": {\n      \"not\": {\n        \"field\": \"location\",\n        \"in\": \"[parameters('allowedLocations')]\"\n      }\n    },\n    \"then\": {\n      \"effect\": \"audit\"\n    }\n  }\n\"\"\",\n    parameters=\"\"\"    {\n    \\\"allowedLocations\\\": {\n      \\\"type\\\": \\\"Array\\\",\n      \\\"metadata\\\": {\n        \\\"description\\\": \\\"The list of allowed locations for resources.\\\",\n        \\\"displayName\\\": \\\"Allowed locations\\\",\n        \\\"strongType\\\": \\\"location\\\"\n      }\n    }\n  }\n\"\"\")\nexample_resource_group_policy_assignment = azure.core.ResourceGroupPolicyAssignment(\"example\",\n    name=\"example\",\n    resource_group_id=example.id,\n    policy_definition_id=example_definition.id)\nexample_resource_group_policy_remediation = azure.core.ResourceGroupPolicyRemediation(\"example\",\n    name=\"example-policy-remediation\",\n    resource_group_id=example.id,\n    policy_assignment_id=example_resource_group_policy_assignment.id,\n    location_filters=[\"West Europe\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleDefinition = new Azure.Policy.Definition(\"example\", new()\n    {\n        Name = \"my-policy-definition\",\n        PolicyType = \"Custom\",\n        Mode = \"All\",\n        DisplayName = \"my-policy-definition\",\n        PolicyRule = @\"    {\n    \"\"if\"\": {\n      \"\"not\"\": {\n        \"\"field\"\": \"\"location\"\",\n        \"\"in\"\": \"\"[parameters('allowedLocations')]\"\"\n      }\n    },\n    \"\"then\"\": {\n      \"\"effect\"\": \"\"audit\"\"\n    }\n  }\n\",\n        Parameters = @\"    {\n    \\\"\"allowedLocations\\\"\": {\n      \\\"\"type\\\"\": \\\"\"Array\\\"\",\n      \\\"\"metadata\\\"\": {\n        \\\"\"description\\\"\": \\\"\"The list of allowed locations for resources.\\\"\",\n        \\\"\"displayName\\\"\": \\\"\"Allowed locations\\\"\",\n        \\\"\"strongType\\\"\": \\\"\"location\\\"\"\n      }\n    }\n  }\n\",\n    });\n\n    var exampleResourceGroupPolicyAssignment = new Azure.Core.ResourceGroupPolicyAssignment(\"example\", new()\n    {\n        Name = \"example\",\n        ResourceGroupId = example.Id,\n        PolicyDefinitionId = exampleDefinition.Id,\n    });\n\n    var exampleResourceGroupPolicyRemediation = new Azure.Core.ResourceGroupPolicyRemediation(\"example\", new()\n    {\n        Name = \"example-policy-remediation\",\n        ResourceGroupId = example.Id,\n        PolicyAssignmentId = exampleResourceGroupPolicyAssignment.Id,\n        LocationFilters = new[]\n        {\n            \"West Europe\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/policy\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleDefinition, err := policy.NewDefinition(ctx, \"example\", \u0026policy.DefinitionArgs{\n\t\t\tName:        pulumi.String(\"my-policy-definition\"),\n\t\t\tPolicyType:  pulumi.String(\"Custom\"),\n\t\t\tMode:        pulumi.String(\"All\"),\n\t\t\tDisplayName: pulumi.String(\"my-policy-definition\"),\n\t\t\tPolicyRule: pulumi.String(`    {\n    \"if\": {\n      \"not\": {\n        \"field\": \"location\",\n        \"in\": \"[parameters('allowedLocations')]\"\n      }\n    },\n    \"then\": {\n      \"effect\": \"audit\"\n    }\n  }\n`),\n\t\t\tParameters: pulumi.String(`    {\n    \\\"allowedLocations\\\": {\n      \\\"type\\\": \\\"Array\\\",\n      \\\"metadata\\\": {\n        \\\"description\\\": \\\"The list of allowed locations for resources.\\\",\n        \\\"displayName\\\": \\\"Allowed locations\\\",\n        \\\"strongType\\\": \\\"location\\\"\n      }\n    }\n  }\n`),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleResourceGroupPolicyAssignment, err := core.NewResourceGroupPolicyAssignment(ctx, \"example\", \u0026core.ResourceGroupPolicyAssignmentArgs{\n\t\t\tName:               pulumi.String(\"example\"),\n\t\t\tResourceGroupId:    example.ID(),\n\t\t\tPolicyDefinitionId: exampleDefinition.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = core.NewResourceGroupPolicyRemediation(ctx, \"example\", \u0026core.ResourceGroupPolicyRemediationArgs{\n\t\t\tName:               pulumi.String(\"example-policy-remediation\"),\n\t\t\tResourceGroupId:    example.ID(),\n\t\t\tPolicyAssignmentId: exampleResourceGroupPolicyAssignment.ID(),\n\t\t\tLocationFilters: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"West Europe\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.policy.Definition;\nimport com.pulumi.azure.policy.DefinitionArgs;\nimport com.pulumi.azure.core.ResourceGroupPolicyAssignment;\nimport com.pulumi.azure.core.ResourceGroupPolicyAssignmentArgs;\nimport com.pulumi.azure.core.ResourceGroupPolicyRemediation;\nimport com.pulumi.azure.core.ResourceGroupPolicyRemediationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleDefinition = new Definition(\"exampleDefinition\", DefinitionArgs.builder()\n            .name(\"my-policy-definition\")\n            .policyType(\"Custom\")\n            .mode(\"All\")\n            .displayName(\"my-policy-definition\")\n            .policyRule(\"\"\"\n    {\n    \"if\": {\n      \"not\": {\n        \"field\": \"location\",\n        \"in\": \"[parameters('allowedLocations')]\"\n      }\n    },\n    \"then\": {\n      \"effect\": \"audit\"\n    }\n  }\n            \"\"\")\n            .parameters(\"\"\"\n    {\n    \\\"allowedLocations\\\": {\n      \\\"type\\\": \\\"Array\\\",\n      \\\"metadata\\\": {\n        \\\"description\\\": \\\"The list of allowed locations for resources.\\\",\n        \\\"displayName\\\": \\\"Allowed locations\\\",\n        \\\"strongType\\\": \\\"location\\\"\n      }\n    }\n  }\n            \"\"\")\n            .build());\n\n        var exampleResourceGroupPolicyAssignment = new ResourceGroupPolicyAssignment(\"exampleResourceGroupPolicyAssignment\", ResourceGroupPolicyAssignmentArgs.builder()\n            .name(\"example\")\n            .resourceGroupId(example.id())\n            .policyDefinitionId(exampleDefinition.id())\n            .build());\n\n        var exampleResourceGroupPolicyRemediation = new ResourceGroupPolicyRemediation(\"exampleResourceGroupPolicyRemediation\", ResourceGroupPolicyRemediationArgs.builder()\n            .name(\"example-policy-remediation\")\n            .resourceGroupId(example.id())\n            .policyAssignmentId(exampleResourceGroupPolicyAssignment.id())\n            .locationFilters(\"West Europe\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleDefinition:\n    type: azure:policy:Definition\n    name: example\n    properties:\n      name: my-policy-definition\n      policyType: Custom\n      mode: All\n      displayName: my-policy-definition\n      policyRule: |2\n            {\n            \"if\": {\n              \"not\": {\n                \"field\": \"location\",\n                \"in\": \"[parameters('allowedLocations')]\"\n              }\n            },\n            \"then\": {\n              \"effect\": \"audit\"\n            }\n          }\n      parameters: |2\n            {\n            \\\"allowedLocations\\\": {\n              \\\"type\\\": \\\"Array\\\",\n              \\\"metadata\\\": {\n                \\\"description\\\": \\\"The list of allowed locations for resources.\\\",\n                \\\"displayName\\\": \\\"Allowed locations\\\",\n                \\\"strongType\\\": \\\"location\\\"\n              }\n            }\n          }\n  exampleResourceGroupPolicyAssignment:\n    type: azure:core:ResourceGroupPolicyAssignment\n    name: example\n    properties:\n      name: example\n      resourceGroupId: ${example.id}\n      policyDefinitionId: ${exampleDefinition.id}\n  exampleResourceGroupPolicyRemediation:\n    type: azure:core:ResourceGroupPolicyRemediation\n    name: example\n    properties:\n      name: example-policy-remediation\n      resourceGroupId: ${example.id}\n      policyAssignmentId: ${exampleResourceGroupPolicyAssignment.id}\n      locationFilters:\n        - West Europe\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.PolicyInsights` - 2021-10-01\n\n## Import\n\nPolicy Remediations can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:core/resourceGroupPolicyRemediation:ResourceGroupPolicyRemediation example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.PolicyInsights/remediations/remediation1\n```\n\n","properties":{"failurePercentage":{"type":"number","description":"A number between 0.0 to 1.0 representing the percentage failure threshold. The remediation will fail if the percentage of failed remediation operations (i.e. failed deployments) exceeds this threshold.\n"},"locationFilters":{"type":"array","items":{"type":"string"},"description":"A list of the resource locations that will be remediated.\n"},"name":{"type":"string","description":"The name of the Policy Remediation. Changing this forces a new resource to be created.\n"},"parallelDeployments":{"type":"integer","description":"Determines how many resources to remediate at any given time. Can be used to increase or reduce the pace of the remediation. If not provided, the default parallel deployments value is used.\n"},"policyAssignmentId":{"type":"string","description":"The ID of the Policy Assignment that should be remediated.\n"},"policyDefinitionReferenceId":{"type":"string","description":"The unique ID for the policy definition reference within the policy set definition that should be remediated. Required when the policy assignment being remediated assigns a policy set definition.\n"},"resourceCount":{"type":"integer","description":"Determines the max number of resources that can be remediated by the remediation job. If not provided, the default resource count is used.\n"},"resourceDiscoveryMode":{"type":"string","description":"The way that resources to remediate are discovered. Possible values are `ExistingNonCompliant`, `ReEvaluateCompliance`. Defaults to `ExistingNonCompliant`.\n"},"resourceGroupId":{"type":"string","description":"The Resource Group ID at which the Policy Remediation should be applied. Changing this forces a new resource to be created.\n"}},"required":["name","policyAssignmentId","resourceGroupId"],"inputProperties":{"failurePercentage":{"type":"number","description":"A number between 0.0 to 1.0 representing the percentage failure threshold. The remediation will fail if the percentage of failed remediation operations (i.e. failed deployments) exceeds this threshold.\n"},"locationFilters":{"type":"array","items":{"type":"string"},"description":"A list of the resource locations that will be remediated.\n"},"name":{"type":"string","description":"The name of the Policy Remediation. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"parallelDeployments":{"type":"integer","description":"Determines how many resources to remediate at any given time. Can be used to increase or reduce the pace of the remediation. If not provided, the default parallel deployments value is used.\n"},"policyAssignmentId":{"type":"string","description":"The ID of the Policy Assignment that should be remediated.\n"},"policyDefinitionReferenceId":{"type":"string","description":"The unique ID for the policy definition reference within the policy set definition that should be remediated. Required when the policy assignment being remediated assigns a policy set definition.\n"},"resourceCount":{"type":"integer","description":"Determines the max number of resources that can be remediated by the remediation job. If not provided, the default resource count is used.\n"},"resourceDiscoveryMode":{"type":"string","description":"The way that resources to remediate are discovered. Possible values are `ExistingNonCompliant`, `ReEvaluateCompliance`. Defaults to `ExistingNonCompliant`.\n"},"resourceGroupId":{"type":"string","description":"The Resource Group ID at which the Policy Remediation should be applied. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["policyAssignmentId","resourceGroupId"],"stateInputs":{"description":"Input properties used for looking up and filtering ResourceGroupPolicyRemediation resources.\n","properties":{"failurePercentage":{"type":"number","description":"A number between 0.0 to 1.0 representing the percentage failure threshold. The remediation will fail if the percentage of failed remediation operations (i.e. failed deployments) exceeds this threshold.\n"},"locationFilters":{"type":"array","items":{"type":"string"},"description":"A list of the resource locations that will be remediated.\n"},"name":{"type":"string","description":"The name of the Policy Remediation. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"parallelDeployments":{"type":"integer","description":"Determines how many resources to remediate at any given time. Can be used to increase or reduce the pace of the remediation. If not provided, the default parallel deployments value is used.\n"},"policyAssignmentId":{"type":"string","description":"The ID of the Policy Assignment that should be remediated.\n"},"policyDefinitionReferenceId":{"type":"string","description":"The unique ID for the policy definition reference within the policy set definition that should be remediated. Required when the policy assignment being remediated assigns a policy set definition.\n"},"resourceCount":{"type":"integer","description":"Determines the max number of resources that can be remediated by the remediation job. If not provided, the default resource count is used.\n"},"resourceDiscoveryMode":{"type":"string","description":"The way that resources to remediate are discovered. Possible values are `ExistingNonCompliant`, `ReEvaluateCompliance`. Defaults to `ExistingNonCompliant`.\n"},"resourceGroupId":{"type":"string","description":"The Resource Group ID at which the Policy Remediation should be applied. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:core/resourceGroupTemplateDeployment:ResourceGroupTemplateDeployment":{"description":"Manages a Resource Group Template Deployment.\n\n\u003e **Note:** This resource will automatically attempt to delete resources deployed by the ARM Template when it is deleted. This behavior can be disabled in the provider \u003cspan pulumi-lang-nodejs=\"`features`\" pulumi-lang-dotnet=\"`Features`\" pulumi-lang-go=\"`features`\" pulumi-lang-python=\"`features`\" pulumi-lang-yaml=\"`features`\" pulumi-lang-java=\"`features`\"\u003e`features`\u003c/span\u003e block by setting the \u003cspan pulumi-lang-nodejs=\"`deleteNestedItemsDuringDeletion`\" pulumi-lang-dotnet=\"`DeleteNestedItemsDuringDeletion`\" pulumi-lang-go=\"`deleteNestedItemsDuringDeletion`\" pulumi-lang-python=\"`delete_nested_items_during_deletion`\" pulumi-lang-yaml=\"`deleteNestedItemsDuringDeletion`\" pulumi-lang-java=\"`deleteNestedItemsDuringDeletion`\"\u003e`delete_nested_items_during_deletion`\u003c/span\u003e field to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e within the \u003cspan pulumi-lang-nodejs=\"`templateDeployment`\" pulumi-lang-dotnet=\"`TemplateDeployment`\" pulumi-lang-go=\"`templateDeployment`\" pulumi-lang-python=\"`template_deployment`\" pulumi-lang-yaml=\"`templateDeployment`\" pulumi-lang-java=\"`templateDeployment`\"\u003e`template_deployment`\u003c/span\u003e block.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\nimport * as std from \"@pulumi/std\";\n\nconst vnetName = \"example-vnet\";\nconst example = new azure.core.ResourceGroupTemplateDeployment(\"example\", {\n    name: \"example-deploy\",\n    resourceGroupName: \"example-group\",\n    deploymentMode: \"Incremental\",\n    parametersContent: JSON.stringify({\n        vnetName: {\n            value: vnetName,\n        },\n    }),\n    templateContent: `{\n    \\\\\"schema\\\\\": \\\\\"https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#\\\\\",\n    \\\\\"contentVersion\\\\\": \\\\\"1.0.0.0\\\\\",\n    \\\\\"parameters\\\\\": {\n        \\\\\"vnetName\\\\\": {\n            \\\\\"type\\\\\": \\\\\"string\\\\\",\n            \\\\\"metadata\\\\\": {\n                \\\\\"description\\\\\": \\\\\"Name of the VNET\\\\\"\n            }\n        }\n    },\n    \\\\\"variables\\\\\": {},\n    \\\\\"resources\\\\\": [\n        {\n            \\\\\"type\\\\\": \\\\\"Microsoft.Network/virtualNetworks\\\\\",\n            \\\\\"apiVersion\\\\\": \\\\\"2020-05-01\\\\\",\n            \\\\\"name\\\\\": \\\\\"[parameters('vnetName')]\\\\\",\n            \\\\\"location\\\\\": \\\\\"[resourceGroup().location]\\\\\",\n            \\\\\"properties\\\\\": {\n                \\\\\"addressSpace\\\\\": {\n                    \\\\\"addressPrefixes\\\\\": [\n                        \\\\\"10.0.0.0/16\\\\\"\n                    ]\n                }\n            }\n        }\n    ],\n    \\\\\"outputs\\\\\": {\n      \\\\\"exampleOutput\\\\\": {\n        \\\\\"type\\\\\": \\\\\"string\\\\\",\n        \\\\\"value\\\\\": \\\\\"someoutput\\\\\"\n      }\n    }\n}\n`,\n});\nexport const armExampleOutput = std.jsondecodeOutput({\n    input: example.outputContent,\n}).apply(invoke =\u003e invoke.result?.exampleOutput?.value);\n```\n```python\nimport pulumi\nimport json\nimport pulumi_azure as azure\nimport pulumi_std as std\n\nvnet_name = \"example-vnet\"\nexample = azure.core.ResourceGroupTemplateDeployment(\"example\",\n    name=\"example-deploy\",\n    resource_group_name=\"example-group\",\n    deployment_mode=\"Incremental\",\n    parameters_content=json.dumps({\n        \"vnetName\": {\n            \"value\": vnet_name,\n        },\n    }),\n    template_content=\"\"\"{\n    \\\"$schema\\\": \\\"https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#\\\",\n    \\\"contentVersion\\\": \\\"1.0.0.0\\\",\n    \\\"parameters\\\": {\n        \\\"vnetName\\\": {\n            \\\"type\\\": \\\"string\\\",\n            \\\"metadata\\\": {\n                \\\"description\\\": \\\"Name of the VNET\\\"\n            }\n        }\n    },\n    \\\"variables\\\": {},\n    \\\"resources\\\": [\n        {\n            \\\"type\\\": \\\"Microsoft.Network/virtualNetworks\\\",\n            \\\"apiVersion\\\": \\\"2020-05-01\\\",\n            \\\"name\\\": \\\"[parameters('vnetName')]\\\",\n            \\\"location\\\": \\\"[resourceGroup().location]\\\",\n            \\\"properties\\\": {\n                \\\"addressSpace\\\": {\n                    \\\"addressPrefixes\\\": [\n                        \\\"10.0.0.0/16\\\"\n                    ]\n                }\n            }\n        }\n    ],\n    \\\"outputs\\\": {\n      \\\"exampleOutput\\\": {\n        \\\"type\\\": \\\"string\\\",\n        \\\"value\\\": \\\"someoutput\\\"\n      }\n    }\n}\n\"\"\")\npulumi.export(\"armExampleOutput\", std.jsondecode_output(input=example.output_content).apply(lambda invoke: invoke.result[\"exampleOutput\"][\"value\"]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var vnetName = \"example-vnet\";\n\n    var example = new Azure.Core.ResourceGroupTemplateDeployment(\"example\", new()\n    {\n        Name = \"example-deploy\",\n        ResourceGroupName = \"example-group\",\n        DeploymentMode = \"Incremental\",\n        ParametersContent = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n        {\n            [\"vnetName\"] = new Dictionary\u003cstring, object?\u003e\n            {\n                [\"value\"] = vnetName,\n            },\n        }),\n        TemplateContent = @\"{\n    \\\"\"$schema\\\"\": \\\"\"https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#\\\"\",\n    \\\"\"contentVersion\\\"\": \\\"\"1.0.0.0\\\"\",\n    \\\"\"parameters\\\"\": {\n        \\\"\"vnetName\\\"\": {\n            \\\"\"type\\\"\": \\\"\"string\\\"\",\n            \\\"\"metadata\\\"\": {\n                \\\"\"description\\\"\": \\\"\"Name of the VNET\\\"\"\n            }\n        }\n    },\n    \\\"\"variables\\\"\": {},\n    \\\"\"resources\\\"\": [\n        {\n            \\\"\"type\\\"\": \\\"\"Microsoft.Network/virtualNetworks\\\"\",\n            \\\"\"apiVersion\\\"\": \\\"\"2020-05-01\\\"\",\n            \\\"\"name\\\"\": \\\"\"[parameters('vnetName')]\\\"\",\n            \\\"\"location\\\"\": \\\"\"[resourceGroup().location]\\\"\",\n            \\\"\"properties\\\"\": {\n                \\\"\"addressSpace\\\"\": {\n                    \\\"\"addressPrefixes\\\"\": [\n                        \\\"\"10.0.0.0/16\\\"\"\n                    ]\n                }\n            }\n        }\n    ],\n    \\\"\"outputs\\\"\": {\n      \\\"\"exampleOutput\\\"\": {\n        \\\"\"type\\\"\": \\\"\"string\\\"\",\n        \\\"\"value\\\"\": \\\"\"someoutput\\\"\"\n      }\n    }\n}\n\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"armExampleOutput\"] = Std.Jsondecode.Invoke(new()\n        {\n            Input = example.OutputContent,\n        }).Apply(invoke =\u003e invoke.Result?.ExampleOutput?.Value),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\nvnetName := \"example-vnet\";\ntmpJSON0, err := json.Marshal(map[string]interface{}{\n\"vnetName\": map[string]interface{}{\n\"value\": vnetName,\n},\n})\nif err != nil {\nreturn err\n}\njson0 := string(tmpJSON0)\nexample, err := core.NewResourceGroupTemplateDeployment(ctx, \"example\", \u0026core.ResourceGroupTemplateDeploymentArgs{\nName: pulumi.String(\"example-deploy\"),\nResourceGroupName: pulumi.String(\"example-group\"),\nDeploymentMode: pulumi.String(\"Incremental\"),\nParametersContent: pulumi.String(json0),\nTemplateContent: pulumi.String(`{\n    \\\"$schema\\\": \\\"https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#\\\",\n    \\\"contentVersion\\\": \\\"1.0.0.0\\\",\n    \\\"parameters\\\": {\n        \\\"vnetName\\\": {\n            \\\"type\\\": \\\"string\\\",\n            \\\"metadata\\\": {\n                \\\"description\\\": \\\"Name of the VNET\\\"\n            }\n        }\n    },\n    \\\"variables\\\": {},\n    \\\"resources\\\": [\n        {\n            \\\"type\\\": \\\"Microsoft.Network/virtualNetworks\\\",\n            \\\"apiVersion\\\": \\\"2020-05-01\\\",\n            \\\"name\\\": \\\"[parameters('vnetName')]\\\",\n            \\\"location\\\": \\\"[resourceGroup().location]\\\",\n            \\\"properties\\\": {\n                \\\"addressSpace\\\": {\n                    \\\"addressPrefixes\\\": [\n                        \\\"10.0.0.0/16\\\"\n                    ]\n                }\n            }\n        }\n    ],\n    \\\"outputs\\\": {\n      \\\"exampleOutput\\\": {\n        \\\"type\\\": \\\"string\\\",\n        \\\"value\\\": \\\"someoutput\\\"\n      }\n    }\n}\n`),\n})\nif err != nil {\nreturn err\n}\nctx.Export(\"armExampleOutput\", std.JsondecodeOutput(ctx, std.JsondecodeOutputArgs{\nInput: example.OutputContent,\n}, nil).ApplyT(func(invoke std.JsondecodeResult) (*interface{}, error) {\nreturn invoke.Result.ExampleOutput.Value, nil\n}).(pulumi.Interface{}PtrOutput))\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroupTemplateDeployment;\nimport com.pulumi.azure.core.ResourceGroupTemplateDeploymentArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.JsondecodeArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var vnetName = \"example-vnet\";\n\n        var example = new ResourceGroupTemplateDeployment(\"example\", ResourceGroupTemplateDeploymentArgs.builder()\n            .name(\"example-deploy\")\n            .resourceGroupName(\"example-group\")\n            .deploymentMode(\"Incremental\")\n            .parametersContent(serializeJson(\n                jsonObject(\n                    jsonProperty(\"vnetName\", jsonObject(\n                        jsonProperty(\"value\", vnetName)\n                    ))\n                )))\n            .templateContent(\"\"\"\n{\n    \\\"$schema\\\": \\\"https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#\\\",\n    \\\"contentVersion\\\": \\\"1.0.0.0\\\",\n    \\\"parameters\\\": {\n        \\\"vnetName\\\": {\n            \\\"type\\\": \\\"string\\\",\n            \\\"metadata\\\": {\n                \\\"description\\\": \\\"Name of the VNET\\\"\n            }\n        }\n    },\n    \\\"variables\\\": {},\n    \\\"resources\\\": [\n        {\n            \\\"type\\\": \\\"Microsoft.Network/virtualNetworks\\\",\n            \\\"apiVersion\\\": \\\"2020-05-01\\\",\n            \\\"name\\\": \\\"[parameters('vnetName')]\\\",\n            \\\"location\\\": \\\"[resourceGroup().location]\\\",\n            \\\"properties\\\": {\n                \\\"addressSpace\\\": {\n                    \\\"addressPrefixes\\\": [\n                        \\\"10.0.0.0/16\\\"\n                    ]\n                }\n            }\n        }\n    ],\n    \\\"outputs\\\": {\n      \\\"exampleOutput\\\": {\n        \\\"type\\\": \\\"string\\\",\n        \\\"value\\\": \\\"someoutput\\\"\n      }\n    }\n}\n            \"\"\")\n            .build());\n\n        ctx.export(\"armExampleOutput\", StdFunctions.jsondecode(JsondecodeArgs.builder()\n            .input(example.outputContent())\n            .build()).applyValue(_invoke -\u003e _invoke.result().exampleOutput().value()));\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroupTemplateDeployment\n    properties:\n      name: example-deploy\n      resourceGroupName: example-group\n      deploymentMode: Incremental\n      parametersContent:\n        fn::toJSON:\n          vnetName:\n            value: ${vnetName}\n      templateContent: |\n        {\n            \\\"$schema\\\": \\\"https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#\\\",\n            \\\"contentVersion\\\": \\\"1.0.0.0\\\",\n            \\\"parameters\\\": {\n                \\\"vnetName\\\": {\n                    \\\"type\\\": \\\"string\\\",\n                    \\\"metadata\\\": {\n                        \\\"description\\\": \\\"Name of the VNET\\\"\n                    }\n                }\n            },\n            \\\"variables\\\": {},\n            \\\"resources\\\": [\n                {\n                    \\\"type\\\": \\\"Microsoft.Network/virtualNetworks\\\",\n                    \\\"apiVersion\\\": \\\"2020-05-01\\\",\n                    \\\"name\\\": \\\"[parameters('vnetName')]\\\",\n                    \\\"location\\\": \\\"[resourceGroup().location]\\\",\n                    \\\"properties\\\": {\n                        \\\"addressSpace\\\": {\n                            \\\"addressPrefixes\\\": [\n                                \\\"10.0.0.0/16\\\"\n                            ]\n                        }\n                    }\n                }\n            ],\n            \\\"outputs\\\": {\n              \\\"exampleOutput\\\": {\n                \\\"type\\\": \\\"string\\\",\n                \\\"value\\\": \\\"someoutput\\\"\n              }\n            }\n        }\nvariables:\n  vnetName: example-vnet\noutputs:\n  armExampleOutput:\n    fn::invoke:\n      function: std:jsondecode\n      arguments:\n        input: ${example.outputContent}\n      return: result.exampleOutput.value\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.core.getTemplateSpecVersion({\n    name: \"myTemplateForResourceGroup\",\n    resourceGroupName: \"myResourceGroup\",\n    version: \"v3.4.0\",\n});\nconst exampleResourceGroupTemplateDeployment = new azure.core.ResourceGroupTemplateDeployment(\"example\", {\n    name: \"example-deploy\",\n    resourceGroupName: \"example-group\",\n    deploymentMode: \"Incremental\",\n    templateSpecVersionId: example.then(example =\u003e example.id),\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.get_template_spec_version(name=\"myTemplateForResourceGroup\",\n    resource_group_name=\"myResourceGroup\",\n    version=\"v3.4.0\")\nexample_resource_group_template_deployment = azure.core.ResourceGroupTemplateDeployment(\"example\",\n    name=\"example-deploy\",\n    resource_group_name=\"example-group\",\n    deployment_mode=\"Incremental\",\n    template_spec_version_id=example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Core.GetTemplateSpecVersion.Invoke(new()\n    {\n        Name = \"myTemplateForResourceGroup\",\n        ResourceGroupName = \"myResourceGroup\",\n        Version = \"v3.4.0\",\n    });\n\n    var exampleResourceGroupTemplateDeployment = new Azure.Core.ResourceGroupTemplateDeployment(\"example\", new()\n    {\n        Name = \"example-deploy\",\n        ResourceGroupName = \"example-group\",\n        DeploymentMode = \"Incremental\",\n        TemplateSpecVersionId = example.Apply(getTemplateSpecVersionResult =\u003e getTemplateSpecVersionResult.Id),\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.GetTemplateSpecVersion(ctx, \u0026core.GetTemplateSpecVersionArgs{\n\t\t\tName:              \"myTemplateForResourceGroup\",\n\t\t\tResourceGroupName: \"myResourceGroup\",\n\t\t\tVersion:           \"v3.4.0\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = core.NewResourceGroupTemplateDeployment(ctx, \"example\", \u0026core.ResourceGroupTemplateDeploymentArgs{\n\t\t\tName:                  pulumi.String(\"example-deploy\"),\n\t\t\tResourceGroupName:     pulumi.String(\"example-group\"),\n\t\t\tDeploymentMode:        pulumi.String(\"Incremental\"),\n\t\t\tTemplateSpecVersionId: pulumi.String(example.Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.core.inputs.GetTemplateSpecVersionArgs;\nimport com.pulumi.azure.core.ResourceGroupTemplateDeployment;\nimport com.pulumi.azure.core.ResourceGroupTemplateDeploymentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = CoreFunctions.getTemplateSpecVersion(GetTemplateSpecVersionArgs.builder()\n            .name(\"myTemplateForResourceGroup\")\n            .resourceGroupName(\"myResourceGroup\")\n            .version(\"v3.4.0\")\n            .build());\n\n        var exampleResourceGroupTemplateDeployment = new ResourceGroupTemplateDeployment(\"exampleResourceGroupTemplateDeployment\", ResourceGroupTemplateDeploymentArgs.builder()\n            .name(\"example-deploy\")\n            .resourceGroupName(\"example-group\")\n            .deploymentMode(\"Incremental\")\n            .templateSpecVersionId(example.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleResourceGroupTemplateDeployment:\n    type: azure:core:ResourceGroupTemplateDeployment\n    name: example\n    properties:\n      name: example-deploy\n      resourceGroupName: example-group\n      deploymentMode: Incremental\n      templateSpecVersionId: ${example.id}\nvariables:\n  example:\n    fn::invoke:\n      function: azure:core:getTemplateSpecVersion\n      arguments:\n        name: myTemplateForResourceGroup\n        resourceGroupName: myResourceGroup\n        version: v3.4.0\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nResource Group Template Deployments can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:core/resourceGroupTemplateDeployment:ResourceGroupTemplateDeployment example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Resources/deployments/template1\n```\n\n","properties":{"debugLevel":{"type":"string","description":"The Debug Level which should be used for this Resource Group Template Deployment. Possible values are \u003cspan pulumi-lang-nodejs=\"`none`\" pulumi-lang-dotnet=\"`None`\" pulumi-lang-go=\"`none`\" pulumi-lang-python=\"`none`\" pulumi-lang-yaml=\"`none`\" pulumi-lang-java=\"`none`\"\u003e`none`\u003c/span\u003e, `requestContent`, `responseContent` and `requestContent, responseContent`.\n"},"deploymentMode":{"type":"string","description":"The Deployment Mode for this Resource Group Template Deployment. Possible values are `Complete` (where resources in the Resource Group not specified in the ARM Template will be destroyed) and `Incremental` (where resources are additive only).\n\n\u003e **Note:** If \u003cspan pulumi-lang-nodejs=\"`deploymentMode`\" pulumi-lang-dotnet=\"`DeploymentMode`\" pulumi-lang-go=\"`deploymentMode`\" pulumi-lang-python=\"`deployment_mode`\" pulumi-lang-yaml=\"`deploymentMode`\" pulumi-lang-java=\"`deploymentMode`\"\u003e`deployment_mode`\u003c/span\u003e is set to `Complete` then resources within this Resource Group which are not defined in the ARM Template will be deleted.\n"},"name":{"type":"string","description":"The name which should be used for this Resource Group Template Deployment. Changing this forces a new Resource Group Template Deployment to be created.\n"},"outputContent":{"type":"string","description":"The JSON Content of the Outputs of the ARM Template Deployment.\n"},"parametersContent":{"type":"string","description":"The contents of the ARM Template parameters file - containing a JSON list of parameters.\n\n\u003e An example of how to pass variables into an ARM Template can be seen in the example.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Resource Group Template Deployment should exist. Changing this forces a new Resource Group Template Deployment to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Resource Group Template Deployment.\n"},"templateContent":{"type":"string","description":"The contents of the ARM Template which should be deployed into this Resource Group. Cannot be specified with \u003cspan pulumi-lang-nodejs=\"`templateSpecVersionId`\" pulumi-lang-dotnet=\"`TemplateSpecVersionId`\" pulumi-lang-go=\"`templateSpecVersionId`\" pulumi-lang-python=\"`template_spec_version_id`\" pulumi-lang-yaml=\"`templateSpecVersionId`\" pulumi-lang-java=\"`templateSpecVersionId`\"\u003e`template_spec_version_id`\u003c/span\u003e.\n"},"templateSpecVersionId":{"type":"string","description":"The ID of the Template Spec Version to deploy. Cannot be specified with \u003cspan pulumi-lang-nodejs=\"`templateContent`\" pulumi-lang-dotnet=\"`TemplateContent`\" pulumi-lang-go=\"`templateContent`\" pulumi-lang-python=\"`template_content`\" pulumi-lang-yaml=\"`templateContent`\" pulumi-lang-java=\"`templateContent`\"\u003e`template_content`\u003c/span\u003e.\n"}},"required":["deploymentMode","name","outputContent","parametersContent","resourceGroupName","templateContent"],"inputProperties":{"debugLevel":{"type":"string","description":"The Debug Level which should be used for this Resource Group Template Deployment. Possible values are \u003cspan pulumi-lang-nodejs=\"`none`\" pulumi-lang-dotnet=\"`None`\" pulumi-lang-go=\"`none`\" pulumi-lang-python=\"`none`\" pulumi-lang-yaml=\"`none`\" pulumi-lang-java=\"`none`\"\u003e`none`\u003c/span\u003e, `requestContent`, `responseContent` and `requestContent, responseContent`.\n"},"deploymentMode":{"type":"string","description":"The Deployment Mode for this Resource Group Template Deployment. Possible values are `Complete` (where resources in the Resource Group not specified in the ARM Template will be destroyed) and `Incremental` (where resources are additive only).\n\n\u003e **Note:** If \u003cspan pulumi-lang-nodejs=\"`deploymentMode`\" pulumi-lang-dotnet=\"`DeploymentMode`\" pulumi-lang-go=\"`deploymentMode`\" pulumi-lang-python=\"`deployment_mode`\" pulumi-lang-yaml=\"`deploymentMode`\" pulumi-lang-java=\"`deploymentMode`\"\u003e`deployment_mode`\u003c/span\u003e is set to `Complete` then resources within this Resource Group which are not defined in the ARM Template will be deleted.\n"},"name":{"type":"string","description":"The name which should be used for this Resource Group Template Deployment. Changing this forces a new Resource Group Template Deployment to be created.\n","willReplaceOnChanges":true},"parametersContent":{"type":"string","description":"The contents of the ARM Template parameters file - containing a JSON list of parameters.\n\n\u003e An example of how to pass variables into an ARM Template can be seen in the example.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Resource Group Template Deployment should exist. Changing this forces a new Resource Group Template Deployment to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Resource Group Template Deployment.\n"},"templateContent":{"type":"string","description":"The contents of the ARM Template which should be deployed into this Resource Group. Cannot be specified with \u003cspan pulumi-lang-nodejs=\"`templateSpecVersionId`\" pulumi-lang-dotnet=\"`TemplateSpecVersionId`\" pulumi-lang-go=\"`templateSpecVersionId`\" pulumi-lang-python=\"`template_spec_version_id`\" pulumi-lang-yaml=\"`templateSpecVersionId`\" pulumi-lang-java=\"`templateSpecVersionId`\"\u003e`template_spec_version_id`\u003c/span\u003e.\n"},"templateSpecVersionId":{"type":"string","description":"The ID of the Template Spec Version to deploy. Cannot be specified with \u003cspan pulumi-lang-nodejs=\"`templateContent`\" pulumi-lang-dotnet=\"`TemplateContent`\" pulumi-lang-go=\"`templateContent`\" pulumi-lang-python=\"`template_content`\" pulumi-lang-yaml=\"`templateContent`\" pulumi-lang-java=\"`templateContent`\"\u003e`template_content`\u003c/span\u003e.\n"}},"requiredInputs":["deploymentMode","resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering ResourceGroupTemplateDeployment resources.\n","properties":{"debugLevel":{"type":"string","description":"The Debug Level which should be used for this Resource Group Template Deployment. Possible values are \u003cspan pulumi-lang-nodejs=\"`none`\" pulumi-lang-dotnet=\"`None`\" pulumi-lang-go=\"`none`\" pulumi-lang-python=\"`none`\" pulumi-lang-yaml=\"`none`\" pulumi-lang-java=\"`none`\"\u003e`none`\u003c/span\u003e, `requestContent`, `responseContent` and `requestContent, responseContent`.\n"},"deploymentMode":{"type":"string","description":"The Deployment Mode for this Resource Group Template Deployment. Possible values are `Complete` (where resources in the Resource Group not specified in the ARM Template will be destroyed) and `Incremental` (where resources are additive only).\n\n\u003e **Note:** If \u003cspan pulumi-lang-nodejs=\"`deploymentMode`\" pulumi-lang-dotnet=\"`DeploymentMode`\" pulumi-lang-go=\"`deploymentMode`\" pulumi-lang-python=\"`deployment_mode`\" pulumi-lang-yaml=\"`deploymentMode`\" pulumi-lang-java=\"`deploymentMode`\"\u003e`deployment_mode`\u003c/span\u003e is set to `Complete` then resources within this Resource Group which are not defined in the ARM Template will be deleted.\n"},"name":{"type":"string","description":"The name which should be used for this Resource Group Template Deployment. Changing this forces a new Resource Group Template Deployment to be created.\n","willReplaceOnChanges":true},"outputContent":{"type":"string","description":"The JSON Content of the Outputs of the ARM Template Deployment.\n"},"parametersContent":{"type":"string","description":"The contents of the ARM Template parameters file - containing a JSON list of parameters.\n\n\u003e An example of how to pass variables into an ARM Template can be seen in the example.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Resource Group Template Deployment should exist. Changing this forces a new Resource Group Template Deployment to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Resource Group Template Deployment.\n"},"templateContent":{"type":"string","description":"The contents of the ARM Template which should be deployed into this Resource Group. Cannot be specified with \u003cspan pulumi-lang-nodejs=\"`templateSpecVersionId`\" pulumi-lang-dotnet=\"`TemplateSpecVersionId`\" pulumi-lang-go=\"`templateSpecVersionId`\" pulumi-lang-python=\"`template_spec_version_id`\" pulumi-lang-yaml=\"`templateSpecVersionId`\" pulumi-lang-java=\"`templateSpecVersionId`\"\u003e`template_spec_version_id`\u003c/span\u003e.\n"},"templateSpecVersionId":{"type":"string","description":"The ID of the Template Spec Version to deploy. Cannot be specified with \u003cspan pulumi-lang-nodejs=\"`templateContent`\" pulumi-lang-dotnet=\"`TemplateContent`\" pulumi-lang-go=\"`templateContent`\" pulumi-lang-python=\"`template_content`\" pulumi-lang-yaml=\"`templateContent`\" pulumi-lang-java=\"`templateContent`\"\u003e`template_content`\u003c/span\u003e.\n"}},"type":"object"},"aliases":[{"type":"azure:core/templateDeployment:TemplateDeployment"}]},"azure:core/resourcePolicyAssignment:ResourcePolicyAssignment":{"description":"Manages a Policy Assignment to a Resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.network.getVirtualNetwork({\n    name: \"production\",\n    resourceGroupName: \"networking\",\n});\nconst exampleDefinition = new azure.policy.Definition(\"example\", {\n    name: \"only-deploy-in-westeurope\",\n    policyType: \"Custom\",\n    mode: \"All\",\n    displayName: \"my-policy-definition\",\n    policyRule: ` {\n    \"if\": {\n      \"not\": {\n        \"field\": \"location\",\n        \"equals\": \"westeurope\"\n      }\n    },\n    \"then\": {\n      \"effect\": \"Deny\"\n    }\n  }\n`,\n});\nconst exampleResourcePolicyAssignment = new azure.core.ResourcePolicyAssignment(\"example\", {\n    name: \"example-policy-assignment\",\n    resourceId: example.then(example =\u003e example.id),\n    policyDefinitionId: exampleDefinition.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.network.get_virtual_network(name=\"production\",\n    resource_group_name=\"networking\")\nexample_definition = azure.policy.Definition(\"example\",\n    name=\"only-deploy-in-westeurope\",\n    policy_type=\"Custom\",\n    mode=\"All\",\n    display_name=\"my-policy-definition\",\n    policy_rule=\"\"\" {\n    \"if\": {\n      \"not\": {\n        \"field\": \"location\",\n        \"equals\": \"westeurope\"\n      }\n    },\n    \"then\": {\n      \"effect\": \"Deny\"\n    }\n  }\n\"\"\")\nexample_resource_policy_assignment = azure.core.ResourcePolicyAssignment(\"example\",\n    name=\"example-policy-assignment\",\n    resource_id=example.id,\n    policy_definition_id=example_definition.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Network.GetVirtualNetwork.Invoke(new()\n    {\n        Name = \"production\",\n        ResourceGroupName = \"networking\",\n    });\n\n    var exampleDefinition = new Azure.Policy.Definition(\"example\", new()\n    {\n        Name = \"only-deploy-in-westeurope\",\n        PolicyType = \"Custom\",\n        Mode = \"All\",\n        DisplayName = \"my-policy-definition\",\n        PolicyRule = @\" {\n    \"\"if\"\": {\n      \"\"not\"\": {\n        \"\"field\"\": \"\"location\"\",\n        \"\"equals\"\": \"\"westeurope\"\"\n      }\n    },\n    \"\"then\"\": {\n      \"\"effect\"\": \"\"Deny\"\"\n    }\n  }\n\",\n    });\n\n    var exampleResourcePolicyAssignment = new Azure.Core.ResourcePolicyAssignment(\"example\", new()\n    {\n        Name = \"example-policy-assignment\",\n        ResourceId = example.Apply(getVirtualNetworkResult =\u003e getVirtualNetworkResult.Id),\n        PolicyDefinitionId = exampleDefinition.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/policy\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := network.LookupVirtualNetwork(ctx, \u0026network.LookupVirtualNetworkArgs{\n\t\t\tName:              \"production\",\n\t\t\tResourceGroupName: \"networking\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleDefinition, err := policy.NewDefinition(ctx, \"example\", \u0026policy.DefinitionArgs{\n\t\t\tName:        pulumi.String(\"only-deploy-in-westeurope\"),\n\t\t\tPolicyType:  pulumi.String(\"Custom\"),\n\t\t\tMode:        pulumi.String(\"All\"),\n\t\t\tDisplayName: pulumi.String(\"my-policy-definition\"),\n\t\t\tPolicyRule: pulumi.String(` {\n    \"if\": {\n      \"not\": {\n        \"field\": \"location\",\n        \"equals\": \"westeurope\"\n      }\n    },\n    \"then\": {\n      \"effect\": \"Deny\"\n    }\n  }\n`),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = core.NewResourcePolicyAssignment(ctx, \"example\", \u0026core.ResourcePolicyAssignmentArgs{\n\t\t\tName:               pulumi.String(\"example-policy-assignment\"),\n\t\t\tResourceId:         pulumi.String(example.Id),\n\t\t\tPolicyDefinitionId: exampleDefinition.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.network.NetworkFunctions;\nimport com.pulumi.azure.network.inputs.GetVirtualNetworkArgs;\nimport com.pulumi.azure.policy.Definition;\nimport com.pulumi.azure.policy.DefinitionArgs;\nimport com.pulumi.azure.core.ResourcePolicyAssignment;\nimport com.pulumi.azure.core.ResourcePolicyAssignmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = NetworkFunctions.getVirtualNetwork(GetVirtualNetworkArgs.builder()\n            .name(\"production\")\n            .resourceGroupName(\"networking\")\n            .build());\n\n        var exampleDefinition = new Definition(\"exampleDefinition\", DefinitionArgs.builder()\n            .name(\"only-deploy-in-westeurope\")\n            .policyType(\"Custom\")\n            .mode(\"All\")\n            .displayName(\"my-policy-definition\")\n            .policyRule(\"\"\"\n {\n    \"if\": {\n      \"not\": {\n        \"field\": \"location\",\n        \"equals\": \"westeurope\"\n      }\n    },\n    \"then\": {\n      \"effect\": \"Deny\"\n    }\n  }\n            \"\"\")\n            .build());\n\n        var exampleResourcePolicyAssignment = new ResourcePolicyAssignment(\"exampleResourcePolicyAssignment\", ResourcePolicyAssignmentArgs.builder()\n            .name(\"example-policy-assignment\")\n            .resourceId(example.id())\n            .policyDefinitionId(exampleDefinition.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleDefinition:\n    type: azure:policy:Definition\n    name: example\n    properties:\n      name: only-deploy-in-westeurope\n      policyType: Custom\n      mode: All\n      displayName: my-policy-definition\n      policyRule: |2\n         {\n            \"if\": {\n              \"not\": {\n                \"field\": \"location\",\n                \"equals\": \"westeurope\"\n              }\n            },\n            \"then\": {\n              \"effect\": \"Deny\"\n            }\n          }\n  exampleResourcePolicyAssignment:\n    type: azure:core:ResourcePolicyAssignment\n    name: example\n    properties:\n      name: example-policy-assignment\n      resourceId: ${example.id}\n      policyDefinitionId: ${exampleDefinition.id}\nvariables:\n  example:\n    fn::invoke:\n      function: azure:network:getVirtualNetwork\n      arguments:\n        name: production\n        resourceGroupName: networking\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Authorization` - 2022-06-01\n\n## Import\n\nResource Policy Assignments can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:core/resourcePolicyAssignment:ResourcePolicyAssignment example \"{resource}/providers/Microsoft.Authorization/policyAssignments/assignment1\"\n```\n\nwhere `{resource}` is a Resource ID in the form `/subscriptions/00000000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Network/virtualNetworks/network1`.\n\n","properties":{"description":{"type":"string","description":"A description which should be used for this Policy Assignment.\n"},"displayName":{"type":"string","description":"The Display Name for this Policy Assignment.\n"},"enforce":{"type":"boolean","description":"Specifies if this Policy should be enforced or not? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"identity":{"$ref":"#/types/azure:core/ResourcePolicyAssignmentIdentity:ResourcePolicyAssignmentIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`location`\" pulumi-lang-dotnet=\"`Location`\" pulumi-lang-go=\"`location`\" pulumi-lang-python=\"`location`\" pulumi-lang-yaml=\"`location`\" pulumi-lang-java=\"`location`\"\u003e`location`\u003c/span\u003e field must also be specified when \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e is specified.\n"},"location":{"type":"string","description":"The Azure Region where the Policy Assignment should exist. Changing this forces a new Policy Assignment to be created.\n"},"metadata":{"type":"string","description":"A JSON mapping of any Metadata for this Policy.\n"},"name":{"type":"string","description":"The name which should be used for this Policy Assignment. Changing this forces a new Resource Policy Assignment to be created. Cannot exceed 64 characters in length.\n"},"nonComplianceMessages":{"type":"array","items":{"$ref":"#/types/azure:core/ResourcePolicyAssignmentNonComplianceMessage:ResourcePolicyAssignmentNonComplianceMessage"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`nonComplianceMessage`\" pulumi-lang-dotnet=\"`NonComplianceMessage`\" pulumi-lang-go=\"`nonComplianceMessage`\" pulumi-lang-python=\"`non_compliance_message`\" pulumi-lang-yaml=\"`nonComplianceMessage`\" pulumi-lang-java=\"`nonComplianceMessage`\"\u003e`non_compliance_message`\u003c/span\u003e blocks as defined below.\n"},"notScopes":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Resource Scopes (for example a Subscription, or a Resource Group) within this Management Group which are excluded from this Policy.\n"},"overrides":{"type":"array","items":{"$ref":"#/types/azure:core/ResourcePolicyAssignmentOverride:ResourcePolicyAssignmentOverride"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`overrides`\" pulumi-lang-dotnet=\"`Overrides`\" pulumi-lang-go=\"`overrides`\" pulumi-lang-python=\"`overrides`\" pulumi-lang-yaml=\"`overrides`\" pulumi-lang-java=\"`overrides`\"\u003e`overrides`\u003c/span\u003e blocks as defined below. More detail about \u003cspan pulumi-lang-nodejs=\"`overrides`\" pulumi-lang-dotnet=\"`Overrides`\" pulumi-lang-go=\"`overrides`\" pulumi-lang-python=\"`overrides`\" pulumi-lang-yaml=\"`overrides`\" pulumi-lang-java=\"`overrides`\"\u003e`overrides`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`resourceSelectors`\" pulumi-lang-dotnet=\"`ResourceSelectors`\" pulumi-lang-go=\"`resourceSelectors`\" pulumi-lang-python=\"`resource_selectors`\" pulumi-lang-yaml=\"`resourceSelectors`\" pulumi-lang-java=\"`resourceSelectors`\"\u003e`resource_selectors`\u003c/span\u003e see [policy assignment structure](https://learn.microsoft.com/en-us/azure/governance/policy/concepts/assignment-structure)\n"},"parameters":{"type":"string","description":"A JSON mapping of any Parameters for this Policy.\n"},"policyDefinitionId":{"type":"string","description":"The ID of the Policy Definition or Policy Definition Set. Changing this forces a new Policy Assignment to be created.\n"},"resourceId":{"type":"string","description":"The ID of the Resource (or Resource Scope) where this should be applied. Changing this forces a new Resource Policy Assignment to be created.\n\n\u003e **Note:** To create a Policy Assignment at a Management Group use the \u003cspan pulumi-lang-nodejs=\"`azure.management.GroupPolicyAssignment`\" pulumi-lang-dotnet=\"`azure.management.GroupPolicyAssignment`\" pulumi-lang-go=\"`management.GroupPolicyAssignment`\" pulumi-lang-python=\"`management.GroupPolicyAssignment`\" pulumi-lang-yaml=\"`azure.management.GroupPolicyAssignment`\" pulumi-lang-java=\"`azure.management.GroupPolicyAssignment`\"\u003e`azure.management.GroupPolicyAssignment`\u003c/span\u003e resource, for a Resource Group use the \u003cspan pulumi-lang-nodejs=\"`azure.core.ResourceGroupPolicyAssignment`\" pulumi-lang-dotnet=\"`azure.core.ResourceGroupPolicyAssignment`\" pulumi-lang-go=\"`core.ResourceGroupPolicyAssignment`\" pulumi-lang-python=\"`core.ResourceGroupPolicyAssignment`\" pulumi-lang-yaml=\"`azure.core.ResourceGroupPolicyAssignment`\" pulumi-lang-java=\"`azure.core.ResourceGroupPolicyAssignment`\"\u003e`azure.core.ResourceGroupPolicyAssignment`\u003c/span\u003e and for a Subscription use the \u003cspan pulumi-lang-nodejs=\"`azure.core.SubscriptionPolicyAssignment`\" pulumi-lang-dotnet=\"`azure.core.SubscriptionPolicyAssignment`\" pulumi-lang-go=\"`core.SubscriptionPolicyAssignment`\" pulumi-lang-python=\"`core.SubscriptionPolicyAssignment`\" pulumi-lang-yaml=\"`azure.core.SubscriptionPolicyAssignment`\" pulumi-lang-java=\"`azure.core.SubscriptionPolicyAssignment`\"\u003e`azure.core.SubscriptionPolicyAssignment`\u003c/span\u003e resource.\n"},"resourceSelectors":{"type":"array","items":{"$ref":"#/types/azure:core/ResourcePolicyAssignmentResourceSelector:ResourcePolicyAssignmentResourceSelector"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`resourceSelectors`\" pulumi-lang-dotnet=\"`ResourceSelectors`\" pulumi-lang-go=\"`resourceSelectors`\" pulumi-lang-python=\"`resource_selectors`\" pulumi-lang-yaml=\"`resourceSelectors`\" pulumi-lang-java=\"`resourceSelectors`\"\u003e`resource_selectors`\u003c/span\u003e blocks as defined below to filter polices by resource properties.\n"}},"required":["location","metadata","name","policyDefinitionId","resourceId"],"inputProperties":{"description":{"type":"string","description":"A description which should be used for this Policy Assignment.\n"},"displayName":{"type":"string","description":"The Display Name for this Policy Assignment.\n"},"enforce":{"type":"boolean","description":"Specifies if this Policy should be enforced or not? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"identity":{"$ref":"#/types/azure:core/ResourcePolicyAssignmentIdentity:ResourcePolicyAssignmentIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`location`\" pulumi-lang-dotnet=\"`Location`\" pulumi-lang-go=\"`location`\" pulumi-lang-python=\"`location`\" pulumi-lang-yaml=\"`location`\" pulumi-lang-java=\"`location`\"\u003e`location`\u003c/span\u003e field must also be specified when \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e is specified.\n"},"location":{"type":"string","description":"The Azure Region where the Policy Assignment should exist. Changing this forces a new Policy Assignment to be created.\n","willReplaceOnChanges":true},"metadata":{"type":"string","description":"A JSON mapping of any Metadata for this Policy.\n"},"name":{"type":"string","description":"The name which should be used for this Policy Assignment. Changing this forces a new Resource Policy Assignment to be created. Cannot exceed 64 characters in length.\n","willReplaceOnChanges":true},"nonComplianceMessages":{"type":"array","items":{"$ref":"#/types/azure:core/ResourcePolicyAssignmentNonComplianceMessage:ResourcePolicyAssignmentNonComplianceMessage"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`nonComplianceMessage`\" pulumi-lang-dotnet=\"`NonComplianceMessage`\" pulumi-lang-go=\"`nonComplianceMessage`\" pulumi-lang-python=\"`non_compliance_message`\" pulumi-lang-yaml=\"`nonComplianceMessage`\" pulumi-lang-java=\"`nonComplianceMessage`\"\u003e`non_compliance_message`\u003c/span\u003e blocks as defined below.\n"},"notScopes":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Resource Scopes (for example a Subscription, or a Resource Group) within this Management Group which are excluded from this Policy.\n"},"overrides":{"type":"array","items":{"$ref":"#/types/azure:core/ResourcePolicyAssignmentOverride:ResourcePolicyAssignmentOverride"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`overrides`\" pulumi-lang-dotnet=\"`Overrides`\" pulumi-lang-go=\"`overrides`\" pulumi-lang-python=\"`overrides`\" pulumi-lang-yaml=\"`overrides`\" pulumi-lang-java=\"`overrides`\"\u003e`overrides`\u003c/span\u003e blocks as defined below. More detail about \u003cspan pulumi-lang-nodejs=\"`overrides`\" pulumi-lang-dotnet=\"`Overrides`\" pulumi-lang-go=\"`overrides`\" pulumi-lang-python=\"`overrides`\" pulumi-lang-yaml=\"`overrides`\" pulumi-lang-java=\"`overrides`\"\u003e`overrides`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`resourceSelectors`\" pulumi-lang-dotnet=\"`ResourceSelectors`\" pulumi-lang-go=\"`resourceSelectors`\" pulumi-lang-python=\"`resource_selectors`\" pulumi-lang-yaml=\"`resourceSelectors`\" pulumi-lang-java=\"`resourceSelectors`\"\u003e`resource_selectors`\u003c/span\u003e see [policy assignment structure](https://learn.microsoft.com/en-us/azure/governance/policy/concepts/assignment-structure)\n"},"parameters":{"type":"string","description":"A JSON mapping of any Parameters for this Policy.\n"},"policyDefinitionId":{"type":"string","description":"The ID of the Policy Definition or Policy Definition Set. Changing this forces a new Policy Assignment to be created.\n","willReplaceOnChanges":true},"resourceId":{"type":"string","description":"The ID of the Resource (or Resource Scope) where this should be applied. Changing this forces a new Resource Policy Assignment to be created.\n\n\u003e **Note:** To create a Policy Assignment at a Management Group use the \u003cspan pulumi-lang-nodejs=\"`azure.management.GroupPolicyAssignment`\" pulumi-lang-dotnet=\"`azure.management.GroupPolicyAssignment`\" pulumi-lang-go=\"`management.GroupPolicyAssignment`\" pulumi-lang-python=\"`management.GroupPolicyAssignment`\" pulumi-lang-yaml=\"`azure.management.GroupPolicyAssignment`\" pulumi-lang-java=\"`azure.management.GroupPolicyAssignment`\"\u003e`azure.management.GroupPolicyAssignment`\u003c/span\u003e resource, for a Resource Group use the \u003cspan pulumi-lang-nodejs=\"`azure.core.ResourceGroupPolicyAssignment`\" pulumi-lang-dotnet=\"`azure.core.ResourceGroupPolicyAssignment`\" pulumi-lang-go=\"`core.ResourceGroupPolicyAssignment`\" pulumi-lang-python=\"`core.ResourceGroupPolicyAssignment`\" pulumi-lang-yaml=\"`azure.core.ResourceGroupPolicyAssignment`\" pulumi-lang-java=\"`azure.core.ResourceGroupPolicyAssignment`\"\u003e`azure.core.ResourceGroupPolicyAssignment`\u003c/span\u003e and for a Subscription use the \u003cspan pulumi-lang-nodejs=\"`azure.core.SubscriptionPolicyAssignment`\" pulumi-lang-dotnet=\"`azure.core.SubscriptionPolicyAssignment`\" pulumi-lang-go=\"`core.SubscriptionPolicyAssignment`\" pulumi-lang-python=\"`core.SubscriptionPolicyAssignment`\" pulumi-lang-yaml=\"`azure.core.SubscriptionPolicyAssignment`\" pulumi-lang-java=\"`azure.core.SubscriptionPolicyAssignment`\"\u003e`azure.core.SubscriptionPolicyAssignment`\u003c/span\u003e resource.\n","willReplaceOnChanges":true},"resourceSelectors":{"type":"array","items":{"$ref":"#/types/azure:core/ResourcePolicyAssignmentResourceSelector:ResourcePolicyAssignmentResourceSelector"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`resourceSelectors`\" pulumi-lang-dotnet=\"`ResourceSelectors`\" pulumi-lang-go=\"`resourceSelectors`\" pulumi-lang-python=\"`resource_selectors`\" pulumi-lang-yaml=\"`resourceSelectors`\" pulumi-lang-java=\"`resourceSelectors`\"\u003e`resource_selectors`\u003c/span\u003e blocks as defined below to filter polices by resource properties.\n"}},"requiredInputs":["policyDefinitionId","resourceId"],"stateInputs":{"description":"Input properties used for looking up and filtering ResourcePolicyAssignment resources.\n","properties":{"description":{"type":"string","description":"A description which should be used for this Policy Assignment.\n"},"displayName":{"type":"string","description":"The Display Name for this Policy Assignment.\n"},"enforce":{"type":"boolean","description":"Specifies if this Policy should be enforced or not? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"identity":{"$ref":"#/types/azure:core/ResourcePolicyAssignmentIdentity:ResourcePolicyAssignmentIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`location`\" pulumi-lang-dotnet=\"`Location`\" pulumi-lang-go=\"`location`\" pulumi-lang-python=\"`location`\" pulumi-lang-yaml=\"`location`\" pulumi-lang-java=\"`location`\"\u003e`location`\u003c/span\u003e field must also be specified when \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e is specified.\n"},"location":{"type":"string","description":"The Azure Region where the Policy Assignment should exist. Changing this forces a new Policy Assignment to be created.\n","willReplaceOnChanges":true},"metadata":{"type":"string","description":"A JSON mapping of any Metadata for this Policy.\n"},"name":{"type":"string","description":"The name which should be used for this Policy Assignment. Changing this forces a new Resource Policy Assignment to be created. Cannot exceed 64 characters in length.\n","willReplaceOnChanges":true},"nonComplianceMessages":{"type":"array","items":{"$ref":"#/types/azure:core/ResourcePolicyAssignmentNonComplianceMessage:ResourcePolicyAssignmentNonComplianceMessage"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`nonComplianceMessage`\" pulumi-lang-dotnet=\"`NonComplianceMessage`\" pulumi-lang-go=\"`nonComplianceMessage`\" pulumi-lang-python=\"`non_compliance_message`\" pulumi-lang-yaml=\"`nonComplianceMessage`\" pulumi-lang-java=\"`nonComplianceMessage`\"\u003e`non_compliance_message`\u003c/span\u003e blocks as defined below.\n"},"notScopes":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Resource Scopes (for example a Subscription, or a Resource Group) within this Management Group which are excluded from this Policy.\n"},"overrides":{"type":"array","items":{"$ref":"#/types/azure:core/ResourcePolicyAssignmentOverride:ResourcePolicyAssignmentOverride"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`overrides`\" pulumi-lang-dotnet=\"`Overrides`\" pulumi-lang-go=\"`overrides`\" pulumi-lang-python=\"`overrides`\" pulumi-lang-yaml=\"`overrides`\" pulumi-lang-java=\"`overrides`\"\u003e`overrides`\u003c/span\u003e blocks as defined below. More detail about \u003cspan pulumi-lang-nodejs=\"`overrides`\" pulumi-lang-dotnet=\"`Overrides`\" pulumi-lang-go=\"`overrides`\" pulumi-lang-python=\"`overrides`\" pulumi-lang-yaml=\"`overrides`\" pulumi-lang-java=\"`overrides`\"\u003e`overrides`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`resourceSelectors`\" pulumi-lang-dotnet=\"`ResourceSelectors`\" pulumi-lang-go=\"`resourceSelectors`\" pulumi-lang-python=\"`resource_selectors`\" pulumi-lang-yaml=\"`resourceSelectors`\" pulumi-lang-java=\"`resourceSelectors`\"\u003e`resource_selectors`\u003c/span\u003e see [policy assignment structure](https://learn.microsoft.com/en-us/azure/governance/policy/concepts/assignment-structure)\n"},"parameters":{"type":"string","description":"A JSON mapping of any Parameters for this Policy.\n"},"policyDefinitionId":{"type":"string","description":"The ID of the Policy Definition or Policy Definition Set. Changing this forces a new Policy Assignment to be created.\n","willReplaceOnChanges":true},"resourceId":{"type":"string","description":"The ID of the Resource (or Resource Scope) where this should be applied. Changing this forces a new Resource Policy Assignment to be created.\n\n\u003e **Note:** To create a Policy Assignment at a Management Group use the \u003cspan pulumi-lang-nodejs=\"`azure.management.GroupPolicyAssignment`\" pulumi-lang-dotnet=\"`azure.management.GroupPolicyAssignment`\" pulumi-lang-go=\"`management.GroupPolicyAssignment`\" pulumi-lang-python=\"`management.GroupPolicyAssignment`\" pulumi-lang-yaml=\"`azure.management.GroupPolicyAssignment`\" pulumi-lang-java=\"`azure.management.GroupPolicyAssignment`\"\u003e`azure.management.GroupPolicyAssignment`\u003c/span\u003e resource, for a Resource Group use the \u003cspan pulumi-lang-nodejs=\"`azure.core.ResourceGroupPolicyAssignment`\" pulumi-lang-dotnet=\"`azure.core.ResourceGroupPolicyAssignment`\" pulumi-lang-go=\"`core.ResourceGroupPolicyAssignment`\" pulumi-lang-python=\"`core.ResourceGroupPolicyAssignment`\" pulumi-lang-yaml=\"`azure.core.ResourceGroupPolicyAssignment`\" pulumi-lang-java=\"`azure.core.ResourceGroupPolicyAssignment`\"\u003e`azure.core.ResourceGroupPolicyAssignment`\u003c/span\u003e and for a Subscription use the \u003cspan pulumi-lang-nodejs=\"`azure.core.SubscriptionPolicyAssignment`\" pulumi-lang-dotnet=\"`azure.core.SubscriptionPolicyAssignment`\" pulumi-lang-go=\"`core.SubscriptionPolicyAssignment`\" pulumi-lang-python=\"`core.SubscriptionPolicyAssignment`\" pulumi-lang-yaml=\"`azure.core.SubscriptionPolicyAssignment`\" pulumi-lang-java=\"`azure.core.SubscriptionPolicyAssignment`\"\u003e`azure.core.SubscriptionPolicyAssignment`\u003c/span\u003e resource.\n","willReplaceOnChanges":true},"resourceSelectors":{"type":"array","items":{"$ref":"#/types/azure:core/ResourcePolicyAssignmentResourceSelector:ResourcePolicyAssignmentResourceSelector"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`resourceSelectors`\" pulumi-lang-dotnet=\"`ResourceSelectors`\" pulumi-lang-go=\"`resourceSelectors`\" pulumi-lang-python=\"`resource_selectors`\" pulumi-lang-yaml=\"`resourceSelectors`\" pulumi-lang-java=\"`resourceSelectors`\"\u003e`resource_selectors`\u003c/span\u003e blocks as defined below to filter polices by resource properties.\n"}},"type":"object"}},"azure:core/resourcePolicyExemption:ResourcePolicyExemption":{"description":"Manages a Resource Policy Exemption.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"example\", {\n    name: \"group1\",\n    location: \"westus\",\n});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"example\", {\n    name: \"network1\",\n    resourceGroupName: exampleResourceGroup.name,\n    location: exampleResourceGroup.location,\n    addressSpaces: [\"10.0.0.0/16\"],\n});\nconst example = azure.policy.getPolicySetDefinition({\n    displayName: \"Audit machines with insecure password security settings\",\n});\nconst exampleResourcePolicyAssignment = new azure.core.ResourcePolicyAssignment(\"example\", {\n    name: \"assignment1\",\n    resourceId: exampleVirtualNetwork.id,\n    policyDefinitionId: example.then(example =\u003e example.id),\n    location: exampleResourceGroup.location,\n    identity: {\n        type: \"SystemAssigned\",\n    },\n});\nconst exampleResourcePolicyExemption = new azure.core.ResourcePolicyExemption(\"example\", {\n    name: \"exemption1\",\n    resourceId: exampleResourcePolicyAssignment.resourceId,\n    policyAssignmentId: exampleResourcePolicyAssignment.id,\n    exemptionCategory: \"Mitigated\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"example\",\n    name=\"group1\",\n    location=\"westus\")\nexample_virtual_network = azure.network.VirtualNetwork(\"example\",\n    name=\"network1\",\n    resource_group_name=example_resource_group.name,\n    location=example_resource_group.location,\n    address_spaces=[\"10.0.0.0/16\"])\nexample = azure.policy.get_policy_set_definition(display_name=\"Audit machines with insecure password security settings\")\nexample_resource_policy_assignment = azure.core.ResourcePolicyAssignment(\"example\",\n    name=\"assignment1\",\n    resource_id=example_virtual_network.id,\n    policy_definition_id=example.id,\n    location=example_resource_group.location,\n    identity={\n        \"type\": \"SystemAssigned\",\n    })\nexample_resource_policy_exemption = azure.core.ResourcePolicyExemption(\"example\",\n    name=\"exemption1\",\n    resource_id=example_resource_policy_assignment.resource_id,\n    policy_assignment_id=example_resource_policy_assignment.id,\n    exemption_category=\"Mitigated\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleResourceGroup = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"group1\",\n        Location = \"westus\",\n    });\n\n    var exampleVirtualNetwork = new Azure.Network.VirtualNetwork(\"example\", new()\n    {\n        Name = \"network1\",\n        ResourceGroupName = exampleResourceGroup.Name,\n        Location = exampleResourceGroup.Location,\n        AddressSpaces = new[]\n        {\n            \"10.0.0.0/16\",\n        },\n    });\n\n    var example = Azure.Policy.GetPolicySetDefinition.Invoke(new()\n    {\n        DisplayName = \"Audit machines with insecure password security settings\",\n    });\n\n    var exampleResourcePolicyAssignment = new Azure.Core.ResourcePolicyAssignment(\"example\", new()\n    {\n        Name = \"assignment1\",\n        ResourceId = exampleVirtualNetwork.Id,\n        PolicyDefinitionId = example.Apply(getPolicySetDefinitionResult =\u003e getPolicySetDefinitionResult.Id),\n        Location = exampleResourceGroup.Location,\n        Identity = new Azure.Core.Inputs.ResourcePolicyAssignmentIdentityArgs\n        {\n            Type = \"SystemAssigned\",\n        },\n    });\n\n    var exampleResourcePolicyExemption = new Azure.Core.ResourcePolicyExemption(\"example\", new()\n    {\n        Name = \"exemption1\",\n        ResourceId = exampleResourcePolicyAssignment.ResourceId,\n        PolicyAssignmentId = exampleResourcePolicyAssignment.Id,\n        ExemptionCategory = \"Mitigated\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/policy\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"group1\"),\n\t\t\tLocation: pulumi.String(\"westus\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, \"example\", \u0026network.VirtualNetworkArgs{\n\t\t\tName:              pulumi.String(\"network1\"),\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tLocation:          exampleResourceGroup.Location,\n\t\t\tAddressSpaces: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.0.0/16\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := policy.LookupPolicySetDefinition(ctx, \u0026policy.LookupPolicySetDefinitionArgs{\n\t\t\tDisplayName: pulumi.StringRef(\"Audit machines with insecure password security settings\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleResourcePolicyAssignment, err := core.NewResourcePolicyAssignment(ctx, \"example\", \u0026core.ResourcePolicyAssignmentArgs{\n\t\t\tName:               pulumi.String(\"assignment1\"),\n\t\t\tResourceId:         exampleVirtualNetwork.ID(),\n\t\t\tPolicyDefinitionId: pulumi.String(example.Id),\n\t\t\tLocation:           exampleResourceGroup.Location,\n\t\t\tIdentity: \u0026core.ResourcePolicyAssignmentIdentityArgs{\n\t\t\t\tType: pulumi.String(\"SystemAssigned\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = core.NewResourcePolicyExemption(ctx, \"example\", \u0026core.ResourcePolicyExemptionArgs{\n\t\t\tName:               pulumi.String(\"exemption1\"),\n\t\t\tResourceId:         exampleResourcePolicyAssignment.ResourceId,\n\t\t\tPolicyAssignmentId: exampleResourcePolicyAssignment.ID(),\n\t\t\tExemptionCategory:  pulumi.String(\"Mitigated\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.VirtualNetwork;\nimport com.pulumi.azure.network.VirtualNetworkArgs;\nimport com.pulumi.azure.policy.PolicyFunctions;\nimport com.pulumi.azure.policy.inputs.GetPolicySetDefinitionArgs;\nimport com.pulumi.azure.core.ResourcePolicyAssignment;\nimport com.pulumi.azure.core.ResourcePolicyAssignmentArgs;\nimport com.pulumi.azure.core.inputs.ResourcePolicyAssignmentIdentityArgs;\nimport com.pulumi.azure.core.ResourcePolicyExemption;\nimport com.pulumi.azure.core.ResourcePolicyExemptionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var exampleResourceGroup = new ResourceGroup(\"exampleResourceGroup\", ResourceGroupArgs.builder()\n            .name(\"group1\")\n            .location(\"westus\")\n            .build());\n\n        var exampleVirtualNetwork = new VirtualNetwork(\"exampleVirtualNetwork\", VirtualNetworkArgs.builder()\n            .name(\"network1\")\n            .resourceGroupName(exampleResourceGroup.name())\n            .location(exampleResourceGroup.location())\n            .addressSpaces(\"10.0.0.0/16\")\n            .build());\n\n        final var example = PolicyFunctions.getPolicySetDefinition(GetPolicySetDefinitionArgs.builder()\n            .displayName(\"Audit machines with insecure password security settings\")\n            .build());\n\n        var exampleResourcePolicyAssignment = new ResourcePolicyAssignment(\"exampleResourcePolicyAssignment\", ResourcePolicyAssignmentArgs.builder()\n            .name(\"assignment1\")\n            .resourceId(exampleVirtualNetwork.id())\n            .policyDefinitionId(example.id())\n            .location(exampleResourceGroup.location())\n            .identity(ResourcePolicyAssignmentIdentityArgs.builder()\n                .type(\"SystemAssigned\")\n                .build())\n            .build());\n\n        var exampleResourcePolicyExemption = new ResourcePolicyExemption(\"exampleResourcePolicyExemption\", ResourcePolicyExemptionArgs.builder()\n            .name(\"exemption1\")\n            .resourceId(exampleResourcePolicyAssignment.resourceId())\n            .policyAssignmentId(exampleResourcePolicyAssignment.id())\n            .exemptionCategory(\"Mitigated\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleResourceGroup:\n    type: azure:core:ResourceGroup\n    name: example\n    properties:\n      name: group1\n      location: westus\n  exampleVirtualNetwork:\n    type: azure:network:VirtualNetwork\n    name: example\n    properties:\n      name: network1\n      resourceGroupName: ${exampleResourceGroup.name}\n      location: ${exampleResourceGroup.location}\n      addressSpaces:\n        - 10.0.0.0/16\n  exampleResourcePolicyAssignment:\n    type: azure:core:ResourcePolicyAssignment\n    name: example\n    properties:\n      name: assignment1\n      resourceId: ${exampleVirtualNetwork.id}\n      policyDefinitionId: ${example.id}\n      location: ${exampleResourceGroup.location}\n      identity:\n        type: SystemAssigned\n  exampleResourcePolicyExemption:\n    type: azure:core:ResourcePolicyExemption\n    name: example\n    properties:\n      name: exemption1\n      resourceId: ${exampleResourcePolicyAssignment.resourceId}\n      policyAssignmentId: ${exampleResourcePolicyAssignment.id}\n      exemptionCategory: Mitigated\nvariables:\n  example:\n    fn::invoke:\n      function: azure:policy:getPolicySetDefinition\n      arguments:\n        displayName: Audit machines with insecure password security settings\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nPolicy Exemptions can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:core/resourcePolicyExemption:ResourcePolicyExemption exemption1 /subscriptions/00000000-0000-0000-000000000000/resourceGroups/resGroup1/providers/Microsoft.Authorization/policyExemptions/exemption1\n```\n\n","properties":{"description":{"type":"string","description":"A description to use for this Policy Exemption.\n"},"displayName":{"type":"string","description":"A friendly display name to use for this Policy Exemption.\n"},"exemptionCategory":{"type":"string","description":"The category of this policy exemption. Possible values are `Waiver` and `Mitigated`.\n"},"expiresOn":{"type":"string","description":"The expiration date and time in UTC ISO 8601 format of this policy exemption.\n"},"metadata":{"type":"string","description":"The metadata for this policy exemption. This is a JSON string representing additional metadata that should be stored with the policy exemption.\n"},"name":{"type":"string","description":"The name of the Policy Exemption. Changing this forces a new resource to be created.\n"},"policyAssignmentId":{"type":"string","description":"The ID of the Policy Assignment to be exempted at the specified Scope. Changing this forces a new resource to be created.\n"},"policyDefinitionReferenceIds":{"type":"array","items":{"type":"string"},"description":"The policy definition reference ID list when the associated policy assignment is an assignment of a policy set definition.\n"},"resourceId":{"type":"string","description":"The Resource ID where the Policy Exemption should be applied. Changing this forces a new resource to be created.\n"}},"required":["exemptionCategory","metadata","name","policyAssignmentId","resourceId"],"inputProperties":{"description":{"type":"string","description":"A description to use for this Policy Exemption.\n"},"displayName":{"type":"string","description":"A friendly display name to use for this Policy Exemption.\n"},"exemptionCategory":{"type":"string","description":"The category of this policy exemption. Possible values are `Waiver` and `Mitigated`.\n"},"expiresOn":{"type":"string","description":"The expiration date and time in UTC ISO 8601 format of this policy exemption.\n"},"metadata":{"type":"string","description":"The metadata for this policy exemption. This is a JSON string representing additional metadata that should be stored with the policy exemption.\n"},"name":{"type":"string","description":"The name of the Policy Exemption. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"policyAssignmentId":{"type":"string","description":"The ID of the Policy Assignment to be exempted at the specified Scope. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"policyDefinitionReferenceIds":{"type":"array","items":{"type":"string"},"description":"The policy definition reference ID list when the associated policy assignment is an assignment of a policy set definition.\n"},"resourceId":{"type":"string","description":"The Resource ID where the Policy Exemption should be applied. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["exemptionCategory","policyAssignmentId","resourceId"],"stateInputs":{"description":"Input properties used for looking up and filtering ResourcePolicyExemption resources.\n","properties":{"description":{"type":"string","description":"A description to use for this Policy Exemption.\n"},"displayName":{"type":"string","description":"A friendly display name to use for this Policy Exemption.\n"},"exemptionCategory":{"type":"string","description":"The category of this policy exemption. Possible values are `Waiver` and `Mitigated`.\n"},"expiresOn":{"type":"string","description":"The expiration date and time in UTC ISO 8601 format of this policy exemption.\n"},"metadata":{"type":"string","description":"The metadata for this policy exemption. This is a JSON string representing additional metadata that should be stored with the policy exemption.\n"},"name":{"type":"string","description":"The name of the Policy Exemption. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"policyAssignmentId":{"type":"string","description":"The ID of the Policy Assignment to be exempted at the specified Scope. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"policyDefinitionReferenceIds":{"type":"array","items":{"type":"string"},"description":"The policy definition reference ID list when the associated policy assignment is an assignment of a policy set definition.\n"},"resourceId":{"type":"string","description":"The Resource ID where the Policy Exemption should be applied. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:core/resourcePolicyRemediation:ResourcePolicyRemediation":{"description":"Manages an Azure Resource Policy Remediation.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"resourcegroup1\",\n    location: \"West US\",\n});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"example\", {\n    name: \"vnet1\",\n    resourceGroupName: example.name,\n    location: example.location,\n    addressSpaces: [\"10.0.0.0/16\"],\n});\nconst exampleDefinition = new azure.policy.Definition(\"example\", {\n    name: \"only-deploy-in-westeurope\",\n    policyType: \"Custom\",\n    mode: \"All\",\n    displayName: \"my-policy-definition\",\n});\nconst exampleResourcePolicyAssignment = new azure.core.ResourcePolicyAssignment(\"example\", {\n    name: \"assignment1\",\n    resourceId: exampleVirtualNetwork.id,\n    policyDefinitionId: exampleDefinition.id,\n    parameters: pulumi.jsonStringify({\n        listOfAllowedLocations: {\n            value: [\n                example.location,\n                \"East US\",\n            ],\n        },\n    }),\n});\nconst exampleResourceGroupPolicyAssignment = new azure.core.ResourceGroupPolicyAssignment(\"example\", {\n    name: \"example\",\n    resourceGroupId: example.id,\n    policyDefinitionId: exampleDefinition.id,\n});\nconst exampleResourcePolicyRemediation = new azure.core.ResourcePolicyRemediation(\"example\", {\n    name: \"remediation1\",\n    resourceId: exampleVirtualNetwork.id,\n    policyAssignmentId: exampleResourceGroupPolicyAssignment.id,\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"resourcegroup1\",\n    location=\"West US\")\nexample_virtual_network = azure.network.VirtualNetwork(\"example\",\n    name=\"vnet1\",\n    resource_group_name=example.name,\n    location=example.location,\n    address_spaces=[\"10.0.0.0/16\"])\nexample_definition = azure.policy.Definition(\"example\",\n    name=\"only-deploy-in-westeurope\",\n    policy_type=\"Custom\",\n    mode=\"All\",\n    display_name=\"my-policy-definition\")\nexample_resource_policy_assignment = azure.core.ResourcePolicyAssignment(\"example\",\n    name=\"assignment1\",\n    resource_id=example_virtual_network.id,\n    policy_definition_id=example_definition.id,\n    parameters=pulumi.Output.json_dumps({\n        \"listOfAllowedLocations\": {\n            \"value\": [\n                example.location,\n                \"East US\",\n            ],\n        },\n    }))\nexample_resource_group_policy_assignment = azure.core.ResourceGroupPolicyAssignment(\"example\",\n    name=\"example\",\n    resource_group_id=example.id,\n    policy_definition_id=example_definition.id)\nexample_resource_policy_remediation = azure.core.ResourcePolicyRemediation(\"example\",\n    name=\"remediation1\",\n    resource_id=example_virtual_network.id,\n    policy_assignment_id=example_resource_group_policy_assignment.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"resourcegroup1\",\n        Location = \"West US\",\n    });\n\n    var exampleVirtualNetwork = new Azure.Network.VirtualNetwork(\"example\", new()\n    {\n        Name = \"vnet1\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        AddressSpaces = new[]\n        {\n            \"10.0.0.0/16\",\n        },\n    });\n\n    var exampleDefinition = new Azure.Policy.Definition(\"example\", new()\n    {\n        Name = \"only-deploy-in-westeurope\",\n        PolicyType = \"Custom\",\n        Mode = \"All\",\n        DisplayName = \"my-policy-definition\",\n    });\n\n    var exampleResourcePolicyAssignment = new Azure.Core.ResourcePolicyAssignment(\"example\", new()\n    {\n        Name = \"assignment1\",\n        ResourceId = exampleVirtualNetwork.Id,\n        PolicyDefinitionId = exampleDefinition.Id,\n        Parameters = Output.JsonSerialize(Output.Create(new Dictionary\u003cstring, object?\u003e\n        {\n            [\"listOfAllowedLocations\"] = new Dictionary\u003cstring, object?\u003e\n            {\n                [\"value\"] = new object?[]\n                {\n                    example.Location,\n                    \"East US\",\n                },\n            },\n        })),\n    });\n\n    var exampleResourceGroupPolicyAssignment = new Azure.Core.ResourceGroupPolicyAssignment(\"example\", new()\n    {\n        Name = \"example\",\n        ResourceGroupId = example.Id,\n        PolicyDefinitionId = exampleDefinition.Id,\n    });\n\n    var exampleResourcePolicyRemediation = new Azure.Core.ResourcePolicyRemediation(\"example\", new()\n    {\n        Name = \"remediation1\",\n        ResourceId = exampleVirtualNetwork.Id,\n        PolicyAssignmentId = exampleResourceGroupPolicyAssignment.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/policy\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"resourcegroup1\"),\n\t\t\tLocation: pulumi.String(\"West US\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, \"example\", \u0026network.VirtualNetworkArgs{\n\t\t\tName:              pulumi.String(\"vnet1\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tAddressSpaces: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.0.0/16\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleDefinition, err := policy.NewDefinition(ctx, \"example\", \u0026policy.DefinitionArgs{\n\t\t\tName:        pulumi.String(\"only-deploy-in-westeurope\"),\n\t\t\tPolicyType:  pulumi.String(\"Custom\"),\n\t\t\tMode:        pulumi.String(\"All\"),\n\t\t\tDisplayName: pulumi.String(\"my-policy-definition\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = core.NewResourcePolicyAssignment(ctx, \"example\", \u0026core.ResourcePolicyAssignmentArgs{\n\t\t\tName:               pulumi.String(\"assignment1\"),\n\t\t\tResourceId:         exampleVirtualNetwork.ID(),\n\t\t\tPolicyDefinitionId: exampleDefinition.ID(),\n\t\t\tParameters: example.Location.ApplyT(func(location string) (pulumi.String, error) {\n\t\t\t\tvar _zero pulumi.String\n\t\t\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\t\t\"listOfAllowedLocations\": map[string]interface{}{\n\t\t\t\t\t\t\"value\": []string{\n\t\t\t\t\t\t\tlocation,\n\t\t\t\t\t\t\t\"East US\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t})\n\t\t\t\tif err != nil {\n\t\t\t\t\treturn _zero, err\n\t\t\t\t}\n\t\t\t\tjson0 := string(tmpJSON0)\n\t\t\t\treturn pulumi.String(json0), nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleResourceGroupPolicyAssignment, err := core.NewResourceGroupPolicyAssignment(ctx, \"example\", \u0026core.ResourceGroupPolicyAssignmentArgs{\n\t\t\tName:               pulumi.String(\"example\"),\n\t\t\tResourceGroupId:    example.ID(),\n\t\t\tPolicyDefinitionId: exampleDefinition.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = core.NewResourcePolicyRemediation(ctx, \"example\", \u0026core.ResourcePolicyRemediationArgs{\n\t\t\tName:               pulumi.String(\"remediation1\"),\n\t\t\tResourceId:         exampleVirtualNetwork.ID(),\n\t\t\tPolicyAssignmentId: exampleResourceGroupPolicyAssignment.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.VirtualNetwork;\nimport com.pulumi.azure.network.VirtualNetworkArgs;\nimport com.pulumi.azure.policy.Definition;\nimport com.pulumi.azure.policy.DefinitionArgs;\nimport com.pulumi.azure.core.ResourcePolicyAssignment;\nimport com.pulumi.azure.core.ResourcePolicyAssignmentArgs;\nimport com.pulumi.azure.core.ResourceGroupPolicyAssignment;\nimport com.pulumi.azure.core.ResourceGroupPolicyAssignmentArgs;\nimport com.pulumi.azure.core.ResourcePolicyRemediation;\nimport com.pulumi.azure.core.ResourcePolicyRemediationArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"resourcegroup1\")\n            .location(\"West US\")\n            .build());\n\n        var exampleVirtualNetwork = new VirtualNetwork(\"exampleVirtualNetwork\", VirtualNetworkArgs.builder()\n            .name(\"vnet1\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .addressSpaces(\"10.0.0.0/16\")\n            .build());\n\n        var exampleDefinition = new Definition(\"exampleDefinition\", DefinitionArgs.builder()\n            .name(\"only-deploy-in-westeurope\")\n            .policyType(\"Custom\")\n            .mode(\"All\")\n            .displayName(\"my-policy-definition\")\n            .build());\n\n        var exampleResourcePolicyAssignment = new ResourcePolicyAssignment(\"exampleResourcePolicyAssignment\", ResourcePolicyAssignmentArgs.builder()\n            .name(\"assignment1\")\n            .resourceId(exampleVirtualNetwork.id())\n            .policyDefinitionId(exampleDefinition.id())\n            .parameters(example.location().applyValue(_location -\u003e serializeJson(\n                jsonObject(\n                    jsonProperty(\"listOfAllowedLocations\", jsonObject(\n                        jsonProperty(\"value\", jsonArray(\n                            _location, \n                            \"East US\"\n                        ))\n                    ))\n                ))))\n            .build());\n\n        var exampleResourceGroupPolicyAssignment = new ResourceGroupPolicyAssignment(\"exampleResourceGroupPolicyAssignment\", ResourceGroupPolicyAssignmentArgs.builder()\n            .name(\"example\")\n            .resourceGroupId(example.id())\n            .policyDefinitionId(exampleDefinition.id())\n            .build());\n\n        var exampleResourcePolicyRemediation = new ResourcePolicyRemediation(\"exampleResourcePolicyRemediation\", ResourcePolicyRemediationArgs.builder()\n            .name(\"remediation1\")\n            .resourceId(exampleVirtualNetwork.id())\n            .policyAssignmentId(exampleResourceGroupPolicyAssignment.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: resourcegroup1\n      location: West US\n  exampleVirtualNetwork:\n    type: azure:network:VirtualNetwork\n    name: example\n    properties:\n      name: vnet1\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      addressSpaces:\n        - 10.0.0.0/16\n  exampleDefinition:\n    type: azure:policy:Definition\n    name: example\n    properties:\n      name: only-deploy-in-westeurope\n      policyType: Custom\n      mode: All\n      displayName: my-policy-definition\n  exampleResourcePolicyAssignment:\n    type: azure:core:ResourcePolicyAssignment\n    name: example\n    properties:\n      name: assignment1\n      resourceId: ${exampleVirtualNetwork.id}\n      policyDefinitionId: ${exampleDefinition.id}\n      parameters:\n        fn::toJSON:\n          listOfAllowedLocations:\n            value:\n              - ${example.location}\n              - East US\n  exampleResourceGroupPolicyAssignment:\n    type: azure:core:ResourceGroupPolicyAssignment\n    name: example\n    properties:\n      name: example\n      resourceGroupId: ${example.id}\n      policyDefinitionId: ${exampleDefinition.id}\n  exampleResourcePolicyRemediation:\n    type: azure:core:ResourcePolicyRemediation\n    name: example\n    properties:\n      name: remediation1\n      resourceId: ${exampleVirtualNetwork.id}\n      policyAssignmentId: ${exampleResourceGroupPolicyAssignment.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.PolicyInsights` - 2021-10-01\n\n## Import\n\nPolicy Remediations can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:core/resourcePolicyRemediation:ResourcePolicyRemediation example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Compute/virtualMachines/vm1/providers/Microsoft.PolicyInsights/remediations/remediation1\n```\n\n","properties":{"failurePercentage":{"type":"number","description":"A number between 0.0 to 1.0 representing the percentage failure threshold. The remediation will fail if the percentage of failed remediation operations (i.e. failed deployments) exceeds this threshold.\n"},"locationFilters":{"type":"array","items":{"type":"string"},"description":"A list of the resource locations that will be remediated.\n"},"name":{"type":"string","description":"The name of the Policy Remediation. Changing this forces a new resource to be created.\n"},"parallelDeployments":{"type":"integer","description":"Determines how many resources to remediate at any given time. Can be used to increase or reduce the pace of the remediation. If not provided, the default parallel deployments value is used.\n"},"policyAssignmentId":{"type":"string","description":"The ID of the Policy Assignment that should be remediated.\n"},"policyDefinitionReferenceId":{"type":"string","description":"The unique ID for the policy definition reference within the policy set definition that should be remediated. Required when the policy assignment being remediated assigns a policy set definition.\n"},"resourceCount":{"type":"integer","description":"Determines the max number of resources that can be remediated by the remediation job. If not provided, the default resource count is used.\n"},"resourceDiscoveryMode":{"type":"string","description":"The way that resources to remediate are discovered. Possible values are `ExistingNonCompliant`, `ReEvaluateCompliance`. Defaults to `ExistingNonCompliant`.\n"},"resourceId":{"type":"string","description":"The Resource ID at which the Policy Remediation should be applied. Changing this forces a new resource to be created.\n"}},"required":["name","policyAssignmentId","resourceId"],"inputProperties":{"failurePercentage":{"type":"number","description":"A number between 0.0 to 1.0 representing the percentage failure threshold. The remediation will fail if the percentage of failed remediation operations (i.e. failed deployments) exceeds this threshold.\n"},"locationFilters":{"type":"array","items":{"type":"string"},"description":"A list of the resource locations that will be remediated.\n"},"name":{"type":"string","description":"The name of the Policy Remediation. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"parallelDeployments":{"type":"integer","description":"Determines how many resources to remediate at any given time. Can be used to increase or reduce the pace of the remediation. If not provided, the default parallel deployments value is used.\n"},"policyAssignmentId":{"type":"string","description":"The ID of the Policy Assignment that should be remediated.\n"},"policyDefinitionReferenceId":{"type":"string","description":"The unique ID for the policy definition reference within the policy set definition that should be remediated. Required when the policy assignment being remediated assigns a policy set definition.\n"},"resourceCount":{"type":"integer","description":"Determines the max number of resources that can be remediated by the remediation job. If not provided, the default resource count is used.\n"},"resourceDiscoveryMode":{"type":"string","description":"The way that resources to remediate are discovered. Possible values are `ExistingNonCompliant`, `ReEvaluateCompliance`. Defaults to `ExistingNonCompliant`.\n"},"resourceId":{"type":"string","description":"The Resource ID at which the Policy Remediation should be applied. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["policyAssignmentId","resourceId"],"stateInputs":{"description":"Input properties used for looking up and filtering ResourcePolicyRemediation resources.\n","properties":{"failurePercentage":{"type":"number","description":"A number between 0.0 to 1.0 representing the percentage failure threshold. The remediation will fail if the percentage of failed remediation operations (i.e. failed deployments) exceeds this threshold.\n"},"locationFilters":{"type":"array","items":{"type":"string"},"description":"A list of the resource locations that will be remediated.\n"},"name":{"type":"string","description":"The name of the Policy Remediation. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"parallelDeployments":{"type":"integer","description":"Determines how many resources to remediate at any given time. Can be used to increase or reduce the pace of the remediation. If not provided, the default parallel deployments value is used.\n"},"policyAssignmentId":{"type":"string","description":"The ID of the Policy Assignment that should be remediated.\n"},"policyDefinitionReferenceId":{"type":"string","description":"The unique ID for the policy definition reference within the policy set definition that should be remediated. Required when the policy assignment being remediated assigns a policy set definition.\n"},"resourceCount":{"type":"integer","description":"Determines the max number of resources that can be remediated by the remediation job. If not provided, the default resource count is used.\n"},"resourceDiscoveryMode":{"type":"string","description":"The way that resources to remediate are discovered. Possible values are `ExistingNonCompliant`, `ReEvaluateCompliance`. Defaults to `ExistingNonCompliant`.\n"},"resourceId":{"type":"string","description":"The Resource ID at which the Policy Remediation should be applied. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:core/resourceProviderRegistration:ResourceProviderRegistration":{"description":"Manages the registration of a Resource Provider - which allows access to the API's supported by this Resource Provider.\n\n\u003e **Note:** The Azure Provider will automatically register all of the Resource Providers which it supports on launch (unless opted-out using the \u003cspan pulumi-lang-nodejs=\"`skipProviderRegistration`\" pulumi-lang-dotnet=\"`SkipProviderRegistration`\" pulumi-lang-go=\"`skipProviderRegistration`\" pulumi-lang-python=\"`skip_provider_registration`\" pulumi-lang-yaml=\"`skipProviderRegistration`\" pulumi-lang-java=\"`skipProviderRegistration`\"\u003e`skip_provider_registration`\u003c/span\u003e field within the provider block).\n\n!\u003e **Note:** The errors returned from the Azure API when a Resource Provider is unregistered are unclear (example `API version '2019-01-01' was not found for 'Microsoft.Foo'`) - please ensure that all of the necessary Resource Providers you're using are registered - if in doubt **we strongly recommend letting the provider register these for you**.\n\n\u003e **Note:** Adding or Removing a Preview Feature will re-register the Resource Provider.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceProviderRegistration(\"example\", {name: \"Microsoft.PolicyInsights\"});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceProviderRegistration(\"example\", name=\"Microsoft.PolicyInsights\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceProviderRegistration(\"example\", new()\n    {\n        Name = \"Microsoft.PolicyInsights\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := core.NewResourceProviderRegistration(ctx, \"example\", \u0026core.ResourceProviderRegistrationArgs{\n\t\t\tName: pulumi.String(\"Microsoft.PolicyInsights\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceProviderRegistration;\nimport com.pulumi.azure.core.ResourceProviderRegistrationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceProviderRegistration(\"example\", ResourceProviderRegistrationArgs.builder()\n            .name(\"Microsoft.PolicyInsights\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceProviderRegistration\n    properties:\n      name: Microsoft.PolicyInsights\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\n### Registering A Preview Feature)\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceProviderRegistration(\"example\", {\n    name: \"Microsoft.ContainerService\",\n    features: [{\n        name: \"AKS-DataPlaneAutoApprove\",\n        registered: true,\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceProviderRegistration(\"example\",\n    name=\"Microsoft.ContainerService\",\n    features=[{\n        \"name\": \"AKS-DataPlaneAutoApprove\",\n        \"registered\": True,\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceProviderRegistration(\"example\", new()\n    {\n        Name = \"Microsoft.ContainerService\",\n        Features = new[]\n        {\n            new Azure.Core.Inputs.ResourceProviderRegistrationFeatureArgs\n            {\n                Name = \"AKS-DataPlaneAutoApprove\",\n                Registered = true,\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := core.NewResourceProviderRegistration(ctx, \"example\", \u0026core.ResourceProviderRegistrationArgs{\n\t\t\tName: pulumi.String(\"Microsoft.ContainerService\"),\n\t\t\tFeatures: core.ResourceProviderRegistrationFeatureArray{\n\t\t\t\t\u0026core.ResourceProviderRegistrationFeatureArgs{\n\t\t\t\t\tName:       pulumi.String(\"AKS-DataPlaneAutoApprove\"),\n\t\t\t\t\tRegistered: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceProviderRegistration;\nimport com.pulumi.azure.core.ResourceProviderRegistrationArgs;\nimport com.pulumi.azure.core.inputs.ResourceProviderRegistrationFeatureArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceProviderRegistration(\"example\", ResourceProviderRegistrationArgs.builder()\n            .name(\"Microsoft.ContainerService\")\n            .features(ResourceProviderRegistrationFeatureArgs.builder()\n                .name(\"AKS-DataPlaneAutoApprove\")\n                .registered(true)\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceProviderRegistration\n    properties:\n      name: Microsoft.ContainerService\n      features:\n        - name: AKS-DataPlaneAutoApprove\n          registered: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Features` - 2021-07-01\n\n## Import\n\nResource Provider Registrations can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:core/resourceProviderRegistration:ResourceProviderRegistration example /subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.PolicyInsights\n```\n\n","properties":{"features":{"type":"array","items":{"$ref":"#/types/azure:core/ResourceProviderRegistrationFeature:ResourceProviderRegistrationFeature"},"description":"A list of \u003cspan pulumi-lang-nodejs=\"`feature`\" pulumi-lang-dotnet=\"`Feature`\" pulumi-lang-go=\"`feature`\" pulumi-lang-python=\"`feature`\" pulumi-lang-yaml=\"`feature`\" pulumi-lang-java=\"`feature`\"\u003e`feature`\u003c/span\u003e blocks as defined below.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`feature`\" pulumi-lang-dotnet=\"`Feature`\" pulumi-lang-go=\"`feature`\" pulumi-lang-python=\"`feature`\" pulumi-lang-yaml=\"`feature`\" pulumi-lang-java=\"`feature`\"\u003e`feature`\u003c/span\u003e block allows a Preview Feature to be explicitly Registered or Unregistered for this Resource Provider - once a Feature has been explicitly Registered or Unregistered, it must be specified in the Terraform Configuration (it's not possible to reset this to the default, unspecified, state).\n"},"name":{"type":"string","description":"The namespace of the Resource Provider which should be registered. Changing this forces a new resource to be created.\n"}},"required":["name"],"inputProperties":{"features":{"type":"array","items":{"$ref":"#/types/azure:core/ResourceProviderRegistrationFeature:ResourceProviderRegistrationFeature"},"description":"A list of \u003cspan pulumi-lang-nodejs=\"`feature`\" pulumi-lang-dotnet=\"`Feature`\" pulumi-lang-go=\"`feature`\" pulumi-lang-python=\"`feature`\" pulumi-lang-yaml=\"`feature`\" pulumi-lang-java=\"`feature`\"\u003e`feature`\u003c/span\u003e blocks as defined below.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`feature`\" pulumi-lang-dotnet=\"`Feature`\" pulumi-lang-go=\"`feature`\" pulumi-lang-python=\"`feature`\" pulumi-lang-yaml=\"`feature`\" pulumi-lang-java=\"`feature`\"\u003e`feature`\u003c/span\u003e block allows a Preview Feature to be explicitly Registered or Unregistered for this Resource Provider - once a Feature has been explicitly Registered or Unregistered, it must be specified in the Terraform Configuration (it's not possible to reset this to the default, unspecified, state).\n"},"name":{"type":"string","description":"The namespace of the Resource Provider which should be registered. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"stateInputs":{"description":"Input properties used for looking up and filtering ResourceProviderRegistration resources.\n","properties":{"features":{"type":"array","items":{"$ref":"#/types/azure:core/ResourceProviderRegistrationFeature:ResourceProviderRegistrationFeature"},"description":"A list of \u003cspan pulumi-lang-nodejs=\"`feature`\" pulumi-lang-dotnet=\"`Feature`\" pulumi-lang-go=\"`feature`\" pulumi-lang-python=\"`feature`\" pulumi-lang-yaml=\"`feature`\" pulumi-lang-java=\"`feature`\"\u003e`feature`\u003c/span\u003e blocks as defined below.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`feature`\" pulumi-lang-dotnet=\"`Feature`\" pulumi-lang-go=\"`feature`\" pulumi-lang-python=\"`feature`\" pulumi-lang-yaml=\"`feature`\" pulumi-lang-java=\"`feature`\"\u003e`feature`\u003c/span\u003e block allows a Preview Feature to be explicitly Registered or Unregistered for this Resource Provider - once a Feature has been explicitly Registered or Unregistered, it must be specified in the Terraform Configuration (it's not possible to reset this to the default, unspecified, state).\n"},"name":{"type":"string","description":"The namespace of the Resource Provider which should be registered. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:core/subscription:Subscription":{"description":"Manages an Alias for a Subscription - which adds an Alias to an existing Subscription, allowing it to be managed in the provider - or create a new Subscription with a new Alias.\n\n\u003e **NOTE:** Destroying a Subscription controlled by this resource will place the Subscription into a cancelled state. It is possible to re-activate a subscription within 90-days of cancellation, after which time the Subscription is irrevocably deleted, and the Subscription ID cannot be re-used. For further information see [here](https://docs.microsoft.com/azure/cost-management-billing/manage/cancel-azure-subscription#what-happens-after-subscription-cancellation). Users can optionally delete a Subscription once 72 hours have passed, however, this functionality is not suitable for this provider. A `Deleted` subscription cannot be reactivated.\n\n\u003e **NOTE:** It is not possible to destroy (cancel) a subscription if it contains resources. If resources are present that are not managed by the provider then these will need to be removed before the Subscription can be destroyed.\n\n\u003e **Note:** This resource will automatically attempt to cancel a subscription when it is deleted. This behavior can be disabled in the provider \u003cspan pulumi-lang-nodejs=\"`features`\" pulumi-lang-dotnet=\"`Features`\" pulumi-lang-go=\"`features`\" pulumi-lang-python=\"`features`\" pulumi-lang-yaml=\"`features`\" pulumi-lang-java=\"`features`\"\u003e`features`\u003c/span\u003e block by setting the \u003cspan pulumi-lang-nodejs=\"`preventCancellationOnDestroy`\" pulumi-lang-dotnet=\"`PreventCancellationOnDestroy`\" pulumi-lang-go=\"`preventCancellationOnDestroy`\" pulumi-lang-python=\"`prevent_cancellation_on_destroy`\" pulumi-lang-yaml=\"`preventCancellationOnDestroy`\" pulumi-lang-java=\"`preventCancellationOnDestroy`\"\u003e`prevent_cancellation_on_destroy`\u003c/span\u003e field to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e within the \u003cspan pulumi-lang-nodejs=\"`subscription`\" pulumi-lang-dotnet=\"`Subscription`\" pulumi-lang-go=\"`subscription`\" pulumi-lang-python=\"`subscription`\" pulumi-lang-yaml=\"`subscription`\" pulumi-lang-java=\"`subscription`\"\u003e`subscription`\u003c/span\u003e block.\n\n\u003e **NOTE:** Azure supports Multiple Aliases per Subscription, however, to reliably manage this resource in Terraform only a single Alias is supported.\n\n\u003e **NOTE:** Subscription Aliases have their own RBAC scope, separate from the underlying Subscription. If an Alias already exists and the Service Principal lacks read/write permissions on that Alias, you may encounter a `401 Unauthorized` error. To resolve this, the Alias creator or a Global Administrator must assign the `Owner` role on the Alias scope to the Service Principal. Global Administrators may need to [elevate access](https://learn.microsoft.com/en-us/azure/role-based-access-control/elevate-access-global-admin) to gain visibility over all subscriptions before performing the role assignment.\n\n\u003e **NOTE:** When using this resource across tenants the \u003cspan pulumi-lang-nodejs=\"`clientId`\" pulumi-lang-dotnet=\"`ClientId`\" pulumi-lang-go=\"`clientId`\" pulumi-lang-python=\"`client_id`\" pulumi-lang-yaml=\"`clientId`\" pulumi-lang-java=\"`clientId`\"\u003e`client_id`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`tenantId`\" pulumi-lang-dotnet=\"`TenantId`\" pulumi-lang-go=\"`tenantId`\" pulumi-lang-python=\"`tenant_id`\" pulumi-lang-yaml=\"`tenantId`\" pulumi-lang-java=\"`tenantId`\"\u003e`tenant_id`\u003c/span\u003e of the \u003cspan pulumi-lang-nodejs=\"`provider`\" pulumi-lang-dotnet=\"`Provider`\" pulumi-lang-go=\"`provider`\" pulumi-lang-python=\"`provider`\" pulumi-lang-yaml=\"`provider`\" pulumi-lang-java=\"`provider`\"\u003e`provider`\u003c/span\u003e config block should be for the home tenant details for the SPN / User or a permissions error will likely be encountered. See [the official documentation](https://learn.microsoft.com/en-us/azure/cost-management-billing/manage/programmatically-create-subscription) for more details.\n\n## Example Usage\n\n### Creating A New Alias And Subscription For An Enrollment Account\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.billing.getEnrollmentAccountScope({\n    billingAccountName: \"1234567890\",\n    enrollmentAccountName: \"0123456\",\n});\nconst exampleSubscription = new azure.core.Subscription(\"example\", {\n    subscriptionName: \"My Example EA Subscription\",\n    billingScopeId: example.then(example =\u003e example.id),\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.billing.get_enrollment_account_scope(billing_account_name=\"1234567890\",\n    enrollment_account_name=\"0123456\")\nexample_subscription = azure.core.Subscription(\"example\",\n    subscription_name=\"My Example EA Subscription\",\n    billing_scope_id=example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Billing.GetEnrollmentAccountScope.Invoke(new()\n    {\n        BillingAccountName = \"1234567890\",\n        EnrollmentAccountName = \"0123456\",\n    });\n\n    var exampleSubscription = new Azure.Core.Subscription(\"example\", new()\n    {\n        SubscriptionName = \"My Example EA Subscription\",\n        BillingScopeId = example.Apply(getEnrollmentAccountScopeResult =\u003e getEnrollmentAccountScopeResult.Id),\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/billing\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := billing.GetEnrollmentAccountScope(ctx, \u0026billing.GetEnrollmentAccountScopeArgs{\n\t\t\tBillingAccountName:    \"1234567890\",\n\t\t\tEnrollmentAccountName: \"0123456\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = core.NewSubscription(ctx, \"example\", \u0026core.SubscriptionArgs{\n\t\t\tSubscriptionName: pulumi.String(\"My Example EA Subscription\"),\n\t\t\tBillingScopeId:   pulumi.String(example.Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.billing.BillingFunctions;\nimport com.pulumi.azure.billing.inputs.GetEnrollmentAccountScopeArgs;\nimport com.pulumi.azure.core.Subscription;\nimport com.pulumi.azure.core.SubscriptionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = BillingFunctions.getEnrollmentAccountScope(GetEnrollmentAccountScopeArgs.builder()\n            .billingAccountName(\"1234567890\")\n            .enrollmentAccountName(\"0123456\")\n            .build());\n\n        var exampleSubscription = new Subscription(\"exampleSubscription\", SubscriptionArgs.builder()\n            .subscriptionName(\"My Example EA Subscription\")\n            .billingScopeId(example.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleSubscription:\n    type: azure:core:Subscription\n    name: example\n    properties:\n      subscriptionName: My Example EA Subscription\n      billingScopeId: ${example.id}\nvariables:\n  example:\n    fn::invoke:\n      function: azure:billing:getEnrollmentAccountScope\n      arguments:\n        billingAccountName: '1234567890'\n        enrollmentAccountName: '0123456'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Creating A New Alias And Subscription For A Microsoft Customer Account\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.billing.getMcaAccountScope({\n    billingAccountName: \"e879cf0f-2b4d-5431-109a-f72fc9868693:024cabf4-7321-4cf9-be59-df0c77ca51de_2019-05-31\",\n    billingProfileName: \"PE2Q-NOIT-BG7-TGB\",\n    invoiceSectionName: \"MTT4-OBS7-PJA-TGB\",\n});\nconst exampleSubscription = new azure.core.Subscription(\"example\", {\n    subscriptionName: \"My Example MCA Subscription\",\n    billingScopeId: example.then(example =\u003e example.id),\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.billing.get_mca_account_scope(billing_account_name=\"e879cf0f-2b4d-5431-109a-f72fc9868693:024cabf4-7321-4cf9-be59-df0c77ca51de_2019-05-31\",\n    billing_profile_name=\"PE2Q-NOIT-BG7-TGB\",\n    invoice_section_name=\"MTT4-OBS7-PJA-TGB\")\nexample_subscription = azure.core.Subscription(\"example\",\n    subscription_name=\"My Example MCA Subscription\",\n    billing_scope_id=example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Billing.GetMcaAccountScope.Invoke(new()\n    {\n        BillingAccountName = \"e879cf0f-2b4d-5431-109a-f72fc9868693:024cabf4-7321-4cf9-be59-df0c77ca51de_2019-05-31\",\n        BillingProfileName = \"PE2Q-NOIT-BG7-TGB\",\n        InvoiceSectionName = \"MTT4-OBS7-PJA-TGB\",\n    });\n\n    var exampleSubscription = new Azure.Core.Subscription(\"example\", new()\n    {\n        SubscriptionName = \"My Example MCA Subscription\",\n        BillingScopeId = example.Apply(getMcaAccountScopeResult =\u003e getMcaAccountScopeResult.Id),\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/billing\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := billing.GetMcaAccountScope(ctx, \u0026billing.GetMcaAccountScopeArgs{\n\t\t\tBillingAccountName: \"e879cf0f-2b4d-5431-109a-f72fc9868693:024cabf4-7321-4cf9-be59-df0c77ca51de_2019-05-31\",\n\t\t\tBillingProfileName: \"PE2Q-NOIT-BG7-TGB\",\n\t\t\tInvoiceSectionName: \"MTT4-OBS7-PJA-TGB\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = core.NewSubscription(ctx, \"example\", \u0026core.SubscriptionArgs{\n\t\t\tSubscriptionName: pulumi.String(\"My Example MCA Subscription\"),\n\t\t\tBillingScopeId:   pulumi.String(example.Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.billing.BillingFunctions;\nimport com.pulumi.azure.billing.inputs.GetMcaAccountScopeArgs;\nimport com.pulumi.azure.core.Subscription;\nimport com.pulumi.azure.core.SubscriptionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = BillingFunctions.getMcaAccountScope(GetMcaAccountScopeArgs.builder()\n            .billingAccountName(\"e879cf0f-2b4d-5431-109a-f72fc9868693:024cabf4-7321-4cf9-be59-df0c77ca51de_2019-05-31\")\n            .billingProfileName(\"PE2Q-NOIT-BG7-TGB\")\n            .invoiceSectionName(\"MTT4-OBS7-PJA-TGB\")\n            .build());\n\n        var exampleSubscription = new Subscription(\"exampleSubscription\", SubscriptionArgs.builder()\n            .subscriptionName(\"My Example MCA Subscription\")\n            .billingScopeId(example.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleSubscription:\n    type: azure:core:Subscription\n    name: example\n    properties:\n      subscriptionName: My Example MCA Subscription\n      billingScopeId: ${example.id}\nvariables:\n  example:\n    fn::invoke:\n      function: azure:billing:getMcaAccountScope\n      arguments:\n        billingAccountName: e879cf0f-2b4d-5431-109a-f72fc9868693:024cabf4-7321-4cf9-be59-df0c77ca51de_2019-05-31\n        billingProfileName: PE2Q-NOIT-BG7-TGB\n        invoiceSectionName: MTT4-OBS7-PJA-TGB\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Creating A New Alias And Subscription For A Microsoft Partner Account\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.billing.getMpaAccountScope({\n    billingAccountName: \"e879cf0f-2b4d-5431-109a-f72fc9868693:024cabf4-7321-4cf9-be59-df0c77ca51de_2019-05-31\",\n    customerName: \"2281f543-7321-4cf9-1e23-edb4Oc31a31c\",\n});\nconst exampleSubscription = new azure.core.Subscription(\"example\", {\n    subscriptionName: \"My Example MPA Subscription\",\n    billingScopeId: example.then(example =\u003e example.id),\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.billing.get_mpa_account_scope(billing_account_name=\"e879cf0f-2b4d-5431-109a-f72fc9868693:024cabf4-7321-4cf9-be59-df0c77ca51de_2019-05-31\",\n    customer_name=\"2281f543-7321-4cf9-1e23-edb4Oc31a31c\")\nexample_subscription = azure.core.Subscription(\"example\",\n    subscription_name=\"My Example MPA Subscription\",\n    billing_scope_id=example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Billing.GetMpaAccountScope.Invoke(new()\n    {\n        BillingAccountName = \"e879cf0f-2b4d-5431-109a-f72fc9868693:024cabf4-7321-4cf9-be59-df0c77ca51de_2019-05-31\",\n        CustomerName = \"2281f543-7321-4cf9-1e23-edb4Oc31a31c\",\n    });\n\n    var exampleSubscription = new Azure.Core.Subscription(\"example\", new()\n    {\n        SubscriptionName = \"My Example MPA Subscription\",\n        BillingScopeId = example.Apply(getMpaAccountScopeResult =\u003e getMpaAccountScopeResult.Id),\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/billing\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := billing.GetMpaAccountScope(ctx, \u0026billing.GetMpaAccountScopeArgs{\n\t\t\tBillingAccountName: \"e879cf0f-2b4d-5431-109a-f72fc9868693:024cabf4-7321-4cf9-be59-df0c77ca51de_2019-05-31\",\n\t\t\tCustomerName:       \"2281f543-7321-4cf9-1e23-edb4Oc31a31c\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = core.NewSubscription(ctx, \"example\", \u0026core.SubscriptionArgs{\n\t\t\tSubscriptionName: pulumi.String(\"My Example MPA Subscription\"),\n\t\t\tBillingScopeId:   pulumi.String(example.Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.billing.BillingFunctions;\nimport com.pulumi.azure.billing.inputs.GetMpaAccountScopeArgs;\nimport com.pulumi.azure.core.Subscription;\nimport com.pulumi.azure.core.SubscriptionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = BillingFunctions.getMpaAccountScope(GetMpaAccountScopeArgs.builder()\n            .billingAccountName(\"e879cf0f-2b4d-5431-109a-f72fc9868693:024cabf4-7321-4cf9-be59-df0c77ca51de_2019-05-31\")\n            .customerName(\"2281f543-7321-4cf9-1e23-edb4Oc31a31c\")\n            .build());\n\n        var exampleSubscription = new Subscription(\"exampleSubscription\", SubscriptionArgs.builder()\n            .subscriptionName(\"My Example MPA Subscription\")\n            .billingScopeId(example.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleSubscription:\n    type: azure:core:Subscription\n    name: example\n    properties:\n      subscriptionName: My Example MPA Subscription\n      billingScopeId: ${example.id}\nvariables:\n  example:\n    fn::invoke:\n      function: azure:billing:getMpaAccountScope\n      arguments:\n        billingAccountName: e879cf0f-2b4d-5431-109a-f72fc9868693:024cabf4-7321-4cf9-be59-df0c77ca51de_2019-05-31\n        customerName: 2281f543-7321-4cf9-1e23-edb4Oc31a31c\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Adding An Alias To An Existing Subscription\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.Subscription(\"example\", {\n    alias: \"examplesub\",\n    subscriptionName: \"My Example Subscription\",\n    subscriptionId: \"12345678-12234-5678-9012-123456789012\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.Subscription(\"example\",\n    alias=\"examplesub\",\n    subscription_name=\"My Example Subscription\",\n    subscription_id=\"12345678-12234-5678-9012-123456789012\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.Subscription(\"example\", new()\n    {\n        Alias = \"examplesub\",\n        SubscriptionName = \"My Example Subscription\",\n        SubscriptionId = \"12345678-12234-5678-9012-123456789012\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := core.NewSubscription(ctx, \"example\", \u0026core.SubscriptionArgs{\n\t\t\tAlias:            pulumi.String(\"examplesub\"),\n\t\t\tSubscriptionName: pulumi.String(\"My Example Subscription\"),\n\t\t\tSubscriptionId:   pulumi.String(\"12345678-12234-5678-9012-123456789012\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.Subscription;\nimport com.pulumi.azure.core.SubscriptionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new Subscription(\"example\", SubscriptionArgs.builder()\n            .alias(\"examplesub\")\n            .subscriptionName(\"My Example Subscription\")\n            .subscriptionId(\"12345678-12234-5678-9012-123456789012\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:Subscription\n    properties:\n      alias: examplesub\n      subscriptionName: My Example Subscription\n      subscriptionId: 12345678-12234-5678-9012-123456789012\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Resources` - 2023-07-01\n\n## Import\n\nSubscriptions can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:core/subscription:Subscription example \"/providers/Microsoft.Subscription/aliases/subscription1\"\n```\n\n!\u003e **Note:** When importing a Subscription that was not created programmatically, either via this resource or using the Alias API, it will have no Alias ID to import via `pulumi import`. In this scenario, the \u003cspan pulumi-lang-nodejs=\"`subscriptionId`\" pulumi-lang-dotnet=\"`SubscriptionId`\" pulumi-lang-go=\"`subscriptionId`\" pulumi-lang-python=\"`subscription_id`\" pulumi-lang-yaml=\"`subscriptionId`\" pulumi-lang-java=\"`subscriptionId`\"\u003e`subscription_id`\u003c/span\u003e property can be completed and the resource will assume control of the existing subscription by creating an Alias. See the `adding an Alias to an existing Subscription` above. An alias is required to correctly manage Subscription resources due to Azure Subscription API design.\n\n","properties":{"alias":{"type":"string","description":"The Alias name for the subscription. This provider will generate a new GUID if this is not supplied. Changing this forces a new Subscription to be created.\n"},"billingScopeId":{"type":"string","description":"The Azure Billing Scope ID. Can be a Microsoft Customer Account Billing Scope ID, a Microsoft Partner Account Billing Scope ID or an Enrollment Billing Scope ID.\n"},"subscriptionId":{"type":"string","description":"The ID of the Subscription. Changing this forces a new Subscription to be created.\n\n\u003e **NOTE:** This value can be specified only for adopting control of an existing Subscription, it cannot be used to provide a custom Subscription ID.\n\n\u003e **NOTE:** Either \u003cspan pulumi-lang-nodejs=\"`billingScopeId`\" pulumi-lang-dotnet=\"`BillingScopeId`\" pulumi-lang-go=\"`billingScopeId`\" pulumi-lang-python=\"`billing_scope_id`\" pulumi-lang-yaml=\"`billingScopeId`\" pulumi-lang-java=\"`billingScopeId`\"\u003e`billing_scope_id`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`subscriptionId`\" pulumi-lang-dotnet=\"`SubscriptionId`\" pulumi-lang-go=\"`subscriptionId`\" pulumi-lang-python=\"`subscription_id`\" pulumi-lang-yaml=\"`subscriptionId`\" pulumi-lang-java=\"`subscriptionId`\"\u003e`subscription_id`\u003c/span\u003e has to be specified.\n"},"subscriptionName":{"type":"string","description":"The Name of the Subscription. This is the Display Name in the portal.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the Subscription.\n"},"tenantId":{"type":"string","description":"The ID of the Tenant to which the subscription belongs.\n"},"workload":{"type":"string","description":"The workload type of the Subscription. Possible values are `Production` (default) and `DevTest`. Changing this forces a new Subscription to be created.\n"}},"required":["alias","subscriptionId","subscriptionName","tenantId"],"inputProperties":{"alias":{"type":"string","description":"The Alias name for the subscription. This provider will generate a new GUID if this is not supplied. Changing this forces a new Subscription to be created.\n","willReplaceOnChanges":true},"billingScopeId":{"type":"string","description":"The Azure Billing Scope ID. Can be a Microsoft Customer Account Billing Scope ID, a Microsoft Partner Account Billing Scope ID or an Enrollment Billing Scope ID.\n"},"subscriptionId":{"type":"string","description":"The ID of the Subscription. Changing this forces a new Subscription to be created.\n\n\u003e **NOTE:** This value can be specified only for adopting control of an existing Subscription, it cannot be used to provide a custom Subscription ID.\n\n\u003e **NOTE:** Either \u003cspan pulumi-lang-nodejs=\"`billingScopeId`\" pulumi-lang-dotnet=\"`BillingScopeId`\" pulumi-lang-go=\"`billingScopeId`\" pulumi-lang-python=\"`billing_scope_id`\" pulumi-lang-yaml=\"`billingScopeId`\" pulumi-lang-java=\"`billingScopeId`\"\u003e`billing_scope_id`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`subscriptionId`\" pulumi-lang-dotnet=\"`SubscriptionId`\" pulumi-lang-go=\"`subscriptionId`\" pulumi-lang-python=\"`subscription_id`\" pulumi-lang-yaml=\"`subscriptionId`\" pulumi-lang-java=\"`subscriptionId`\"\u003e`subscription_id`\u003c/span\u003e has to be specified.\n","willReplaceOnChanges":true},"subscriptionName":{"type":"string","description":"The Name of the Subscription. This is the Display Name in the portal.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the Subscription.\n"},"workload":{"type":"string","description":"The workload type of the Subscription. Possible values are `Production` (default) and `DevTest`. Changing this forces a new Subscription to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["subscriptionName"],"stateInputs":{"description":"Input properties used for looking up and filtering Subscription resources.\n","properties":{"alias":{"type":"string","description":"The Alias name for the subscription. This provider will generate a new GUID if this is not supplied. Changing this forces a new Subscription to be created.\n","willReplaceOnChanges":true},"billingScopeId":{"type":"string","description":"The Azure Billing Scope ID. Can be a Microsoft Customer Account Billing Scope ID, a Microsoft Partner Account Billing Scope ID or an Enrollment Billing Scope ID.\n"},"subscriptionId":{"type":"string","description":"The ID of the Subscription. Changing this forces a new Subscription to be created.\n\n\u003e **NOTE:** This value can be specified only for adopting control of an existing Subscription, it cannot be used to provide a custom Subscription ID.\n\n\u003e **NOTE:** Either \u003cspan pulumi-lang-nodejs=\"`billingScopeId`\" pulumi-lang-dotnet=\"`BillingScopeId`\" pulumi-lang-go=\"`billingScopeId`\" pulumi-lang-python=\"`billing_scope_id`\" pulumi-lang-yaml=\"`billingScopeId`\" pulumi-lang-java=\"`billingScopeId`\"\u003e`billing_scope_id`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`subscriptionId`\" pulumi-lang-dotnet=\"`SubscriptionId`\" pulumi-lang-go=\"`subscriptionId`\" pulumi-lang-python=\"`subscription_id`\" pulumi-lang-yaml=\"`subscriptionId`\" pulumi-lang-java=\"`subscriptionId`\"\u003e`subscription_id`\u003c/span\u003e has to be specified.\n","willReplaceOnChanges":true},"subscriptionName":{"type":"string","description":"The Name of the Subscription. This is the Display Name in the portal.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the Subscription.\n"},"tenantId":{"type":"string","description":"The ID of the Tenant to which the subscription belongs.\n"},"workload":{"type":"string","description":"The workload type of the Subscription. Possible values are `Production` (default) and `DevTest`. Changing this forces a new Subscription to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:core/subscriptionCostManagementExport:SubscriptionCostManagementExport":{"description":"Manages a Cost Management Export for a Subscription.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.core.getSubscription({});\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleAccount = new azure.storage.Account(\"example\", {\n    name: \"example\",\n    resourceGroupName: exampleResourceGroup.name,\n    location: exampleResourceGroup.location,\n    accountTier: \"Standard\",\n    accountReplicationType: \"LRS\",\n});\nconst exampleContainer = new azure.storage.Container(\"example\", {\n    name: \"examplecontainer\",\n    storageAccountName: exampleAccount.name,\n});\nconst exampleSubscriptionCostManagementExport = new azure.core.SubscriptionCostManagementExport(\"example\", {\n    name: \"example\",\n    subscriptionId: example.then(example =\u003e example.id),\n    recurrenceType: \"Monthly\",\n    recurrencePeriodStartDate: \"2020-08-18T00:00:00Z\",\n    recurrencePeriodEndDate: \"2020-09-18T00:00:00Z\",\n    fileFormat: \"Csv\",\n    exportDataStorageLocation: {\n        containerId: exampleContainer.id,\n        rootFolderPath: \"/root/updated\",\n    },\n    exportDataOptions: {\n        type: \"Usage\",\n        timeFrame: \"WeekToDate\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.get_subscription()\nexample_resource_group = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_account = azure.storage.Account(\"example\",\n    name=\"example\",\n    resource_group_name=example_resource_group.name,\n    location=example_resource_group.location,\n    account_tier=\"Standard\",\n    account_replication_type=\"LRS\")\nexample_container = azure.storage.Container(\"example\",\n    name=\"examplecontainer\",\n    storage_account_name=example_account.name)\nexample_subscription_cost_management_export = azure.core.SubscriptionCostManagementExport(\"example\",\n    name=\"example\",\n    subscription_id=example.id,\n    recurrence_type=\"Monthly\",\n    recurrence_period_start_date=\"2020-08-18T00:00:00Z\",\n    recurrence_period_end_date=\"2020-09-18T00:00:00Z\",\n    file_format=\"Csv\",\n    export_data_storage_location={\n        \"container_id\": example_container.id,\n        \"root_folder_path\": \"/root/updated\",\n    },\n    export_data_options={\n        \"type\": \"Usage\",\n        \"time_frame\": \"WeekToDate\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Core.GetSubscription.Invoke();\n\n    var exampleResourceGroup = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleAccount = new Azure.Storage.Account(\"example\", new()\n    {\n        Name = \"example\",\n        ResourceGroupName = exampleResourceGroup.Name,\n        Location = exampleResourceGroup.Location,\n        AccountTier = \"Standard\",\n        AccountReplicationType = \"LRS\",\n    });\n\n    var exampleContainer = new Azure.Storage.Container(\"example\", new()\n    {\n        Name = \"examplecontainer\",\n        StorageAccountName = exampleAccount.Name,\n    });\n\n    var exampleSubscriptionCostManagementExport = new Azure.Core.SubscriptionCostManagementExport(\"example\", new()\n    {\n        Name = \"example\",\n        SubscriptionId = example.Apply(getSubscriptionResult =\u003e getSubscriptionResult.Id),\n        RecurrenceType = \"Monthly\",\n        RecurrencePeriodStartDate = \"2020-08-18T00:00:00Z\",\n        RecurrencePeriodEndDate = \"2020-09-18T00:00:00Z\",\n        FileFormat = \"Csv\",\n        ExportDataStorageLocation = new Azure.Core.Inputs.SubscriptionCostManagementExportExportDataStorageLocationArgs\n        {\n            ContainerId = exampleContainer.Id,\n            RootFolderPath = \"/root/updated\",\n        },\n        ExportDataOptions = new Azure.Core.Inputs.SubscriptionCostManagementExportExportDataOptionsArgs\n        {\n            Type = \"Usage\",\n            TimeFrame = \"WeekToDate\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.LookupSubscription(ctx, \u0026core.LookupSubscriptionArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := storage.NewAccount(ctx, \"example\", \u0026storage.AccountArgs{\n\t\t\tName:                   pulumi.String(\"example\"),\n\t\t\tResourceGroupName:      exampleResourceGroup.Name,\n\t\t\tLocation:               exampleResourceGroup.Location,\n\t\t\tAccountTier:            pulumi.String(\"Standard\"),\n\t\t\tAccountReplicationType: pulumi.String(\"LRS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleContainer, err := storage.NewContainer(ctx, \"example\", \u0026storage.ContainerArgs{\n\t\t\tName:               pulumi.String(\"examplecontainer\"),\n\t\t\tStorageAccountName: exampleAccount.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = core.NewSubscriptionCostManagementExport(ctx, \"example\", \u0026core.SubscriptionCostManagementExportArgs{\n\t\t\tName:                      pulumi.String(\"example\"),\n\t\t\tSubscriptionId:            pulumi.String(example.Id),\n\t\t\tRecurrenceType:            pulumi.String(\"Monthly\"),\n\t\t\tRecurrencePeriodStartDate: pulumi.String(\"2020-08-18T00:00:00Z\"),\n\t\t\tRecurrencePeriodEndDate:   pulumi.String(\"2020-09-18T00:00:00Z\"),\n\t\t\tFileFormat:                pulumi.String(\"Csv\"),\n\t\t\tExportDataStorageLocation: \u0026core.SubscriptionCostManagementExportExportDataStorageLocationArgs{\n\t\t\t\tContainerId:    exampleContainer.ID(),\n\t\t\t\tRootFolderPath: pulumi.String(\"/root/updated\"),\n\t\t\t},\n\t\t\tExportDataOptions: \u0026core.SubscriptionCostManagementExportExportDataOptionsArgs{\n\t\t\t\tType:      pulumi.String(\"Usage\"),\n\t\t\t\tTimeFrame: pulumi.String(\"WeekToDate\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.core.inputs.GetSubscriptionArgs;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.storage.Account;\nimport com.pulumi.azure.storage.AccountArgs;\nimport com.pulumi.azure.storage.Container;\nimport com.pulumi.azure.storage.ContainerArgs;\nimport com.pulumi.azure.core.SubscriptionCostManagementExport;\nimport com.pulumi.azure.core.SubscriptionCostManagementExportArgs;\nimport com.pulumi.azure.core.inputs.SubscriptionCostManagementExportExportDataStorageLocationArgs;\nimport com.pulumi.azure.core.inputs.SubscriptionCostManagementExportExportDataOptionsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = CoreFunctions.getSubscription(GetSubscriptionArgs.builder()\n            .build());\n\n        var exampleResourceGroup = new ResourceGroup(\"exampleResourceGroup\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"example\")\n            .resourceGroupName(exampleResourceGroup.name())\n            .location(exampleResourceGroup.location())\n            .accountTier(\"Standard\")\n            .accountReplicationType(\"LRS\")\n            .build());\n\n        var exampleContainer = new Container(\"exampleContainer\", ContainerArgs.builder()\n            .name(\"examplecontainer\")\n            .storageAccountName(exampleAccount.name())\n            .build());\n\n        var exampleSubscriptionCostManagementExport = new SubscriptionCostManagementExport(\"exampleSubscriptionCostManagementExport\", SubscriptionCostManagementExportArgs.builder()\n            .name(\"example\")\n            .subscriptionId(example.id())\n            .recurrenceType(\"Monthly\")\n            .recurrencePeriodStartDate(\"2020-08-18T00:00:00Z\")\n            .recurrencePeriodEndDate(\"2020-09-18T00:00:00Z\")\n            .fileFormat(\"Csv\")\n            .exportDataStorageLocation(SubscriptionCostManagementExportExportDataStorageLocationArgs.builder()\n                .containerId(exampleContainer.id())\n                .rootFolderPath(\"/root/updated\")\n                .build())\n            .exportDataOptions(SubscriptionCostManagementExportExportDataOptionsArgs.builder()\n                .type(\"Usage\")\n                .timeFrame(\"WeekToDate\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleResourceGroup:\n    type: azure:core:ResourceGroup\n    name: example\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleAccount:\n    type: azure:storage:Account\n    name: example\n    properties:\n      name: example\n      resourceGroupName: ${exampleResourceGroup.name}\n      location: ${exampleResourceGroup.location}\n      accountTier: Standard\n      accountReplicationType: LRS\n  exampleContainer:\n    type: azure:storage:Container\n    name: example\n    properties:\n      name: examplecontainer\n      storageAccountName: ${exampleAccount.name}\n  exampleSubscriptionCostManagementExport:\n    type: azure:core:SubscriptionCostManagementExport\n    name: example\n    properties:\n      name: example\n      subscriptionId: ${example.id}\n      recurrenceType: Monthly\n      recurrencePeriodStartDate: 2020-08-18T00:00:00Z\n      recurrencePeriodEndDate: 2020-09-18T00:00:00Z\n      fileFormat: Csv\n      exportDataStorageLocation:\n        containerId: ${exampleContainer.id}\n        rootFolderPath: /root/updated\n      exportDataOptions:\n        type: Usage\n        timeFrame: WeekToDate\nvariables:\n  example:\n    fn::invoke:\n      function: azure:core:getSubscription\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.CostManagement` - 2023-08-01\n\n## Import\n\nSubscription Cost Management Exports can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:core/subscriptionCostManagementExport:SubscriptionCostManagementExport example /subscriptions/12345678-1234-9876-4563-123456789012/providers/Microsoft.CostManagement/exports/export1\n```\n\n","properties":{"active":{"type":"boolean","description":"Is the cost management export active? Default is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"exportDataOptions":{"$ref":"#/types/azure:core/SubscriptionCostManagementExportExportDataOptions:SubscriptionCostManagementExportExportDataOptions","description":"A \u003cspan pulumi-lang-nodejs=\"`exportDataOptions`\" pulumi-lang-dotnet=\"`ExportDataOptions`\" pulumi-lang-go=\"`exportDataOptions`\" pulumi-lang-python=\"`export_data_options`\" pulumi-lang-yaml=\"`exportDataOptions`\" pulumi-lang-java=\"`exportDataOptions`\"\u003e`export_data_options`\u003c/span\u003e block as defined below.\n"},"exportDataStorageLocation":{"$ref":"#/types/azure:core/SubscriptionCostManagementExportExportDataStorageLocation:SubscriptionCostManagementExportExportDataStorageLocation","description":"A \u003cspan pulumi-lang-nodejs=\"`exportDataStorageLocation`\" pulumi-lang-dotnet=\"`ExportDataStorageLocation`\" pulumi-lang-go=\"`exportDataStorageLocation`\" pulumi-lang-python=\"`export_data_storage_location`\" pulumi-lang-yaml=\"`exportDataStorageLocation`\" pulumi-lang-java=\"`exportDataStorageLocation`\"\u003e`export_data_storage_location`\u003c/span\u003e block as defined below.\n"},"fileFormat":{"type":"string","description":"Format for export. Valid values are `Csv` only. Default is `Csv`.\n"},"name":{"type":"string","description":"Specifies the name of the Cost Management Export. Changing this forces a new resource to be created.\n"},"recurrencePeriodEndDate":{"type":"string","description":"The date the export will stop capturing information.\n"},"recurrencePeriodStartDate":{"type":"string","description":"The date the export will start capturing information.\n"},"recurrenceType":{"type":"string","description":"How often the requested information will be exported. Valid values include `Annually`, `Daily`, `Monthly`, `Weekly`.\n"},"subscriptionId":{"type":"string","description":"The id of the subscription on which to create an export. Changing this forces a new resource to be created.\n"}},"required":["exportDataOptions","exportDataStorageLocation","name","recurrencePeriodEndDate","recurrencePeriodStartDate","recurrenceType","subscriptionId"],"inputProperties":{"active":{"type":"boolean","description":"Is the cost management export active? Default is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"exportDataOptions":{"$ref":"#/types/azure:core/SubscriptionCostManagementExportExportDataOptions:SubscriptionCostManagementExportExportDataOptions","description":"A \u003cspan pulumi-lang-nodejs=\"`exportDataOptions`\" pulumi-lang-dotnet=\"`ExportDataOptions`\" pulumi-lang-go=\"`exportDataOptions`\" pulumi-lang-python=\"`export_data_options`\" pulumi-lang-yaml=\"`exportDataOptions`\" pulumi-lang-java=\"`exportDataOptions`\"\u003e`export_data_options`\u003c/span\u003e block as defined below.\n"},"exportDataStorageLocation":{"$ref":"#/types/azure:core/SubscriptionCostManagementExportExportDataStorageLocation:SubscriptionCostManagementExportExportDataStorageLocation","description":"A \u003cspan pulumi-lang-nodejs=\"`exportDataStorageLocation`\" pulumi-lang-dotnet=\"`ExportDataStorageLocation`\" pulumi-lang-go=\"`exportDataStorageLocation`\" pulumi-lang-python=\"`export_data_storage_location`\" pulumi-lang-yaml=\"`exportDataStorageLocation`\" pulumi-lang-java=\"`exportDataStorageLocation`\"\u003e`export_data_storage_location`\u003c/span\u003e block as defined below.\n"},"fileFormat":{"type":"string","description":"Format for export. Valid values are `Csv` only. Default is `Csv`.\n"},"name":{"type":"string","description":"Specifies the name of the Cost Management Export. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"recurrencePeriodEndDate":{"type":"string","description":"The date the export will stop capturing information.\n"},"recurrencePeriodStartDate":{"type":"string","description":"The date the export will start capturing information.\n"},"recurrenceType":{"type":"string","description":"How often the requested information will be exported. Valid values include `Annually`, `Daily`, `Monthly`, `Weekly`.\n"},"subscriptionId":{"type":"string","description":"The id of the subscription on which to create an export. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["exportDataOptions","exportDataStorageLocation","recurrencePeriodEndDate","recurrencePeriodStartDate","recurrenceType","subscriptionId"],"stateInputs":{"description":"Input properties used for looking up and filtering SubscriptionCostManagementExport resources.\n","properties":{"active":{"type":"boolean","description":"Is the cost management export active? Default is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"exportDataOptions":{"$ref":"#/types/azure:core/SubscriptionCostManagementExportExportDataOptions:SubscriptionCostManagementExportExportDataOptions","description":"A \u003cspan pulumi-lang-nodejs=\"`exportDataOptions`\" pulumi-lang-dotnet=\"`ExportDataOptions`\" pulumi-lang-go=\"`exportDataOptions`\" pulumi-lang-python=\"`export_data_options`\" pulumi-lang-yaml=\"`exportDataOptions`\" pulumi-lang-java=\"`exportDataOptions`\"\u003e`export_data_options`\u003c/span\u003e block as defined below.\n"},"exportDataStorageLocation":{"$ref":"#/types/azure:core/SubscriptionCostManagementExportExportDataStorageLocation:SubscriptionCostManagementExportExportDataStorageLocation","description":"A \u003cspan pulumi-lang-nodejs=\"`exportDataStorageLocation`\" pulumi-lang-dotnet=\"`ExportDataStorageLocation`\" pulumi-lang-go=\"`exportDataStorageLocation`\" pulumi-lang-python=\"`export_data_storage_location`\" pulumi-lang-yaml=\"`exportDataStorageLocation`\" pulumi-lang-java=\"`exportDataStorageLocation`\"\u003e`export_data_storage_location`\u003c/span\u003e block as defined below.\n"},"fileFormat":{"type":"string","description":"Format for export. Valid values are `Csv` only. Default is `Csv`.\n"},"name":{"type":"string","description":"Specifies the name of the Cost Management Export. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"recurrencePeriodEndDate":{"type":"string","description":"The date the export will stop capturing information.\n"},"recurrencePeriodStartDate":{"type":"string","description":"The date the export will start capturing information.\n"},"recurrenceType":{"type":"string","description":"How often the requested information will be exported. Valid values include `Annually`, `Daily`, `Monthly`, `Weekly`.\n"},"subscriptionId":{"type":"string","description":"The id of the subscription on which to create an export. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:core/subscriptionCostManagementView:SubscriptionCostManagementView":{"description":"Manages an Azure Cost Management View for a Subscription.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.SubscriptionCostManagementView(\"example\", {\n    name: \"example\",\n    displayName: \"Cost View per Month\",\n    chartType: \"StackedColumn\",\n    accumulated: false,\n    subscriptionId: \"/subscription/00000000-0000-0000-0000-000000000000\",\n    reportType: \"Usage\",\n    timeframe: \"MonthToDate\",\n    dataset: {\n        granularity: \"Monthly\",\n        aggregations: [{\n            name: \"totalCost\",\n            columnName: \"Cost\",\n        }],\n    },\n    pivots: [\n        {\n            type: \"Dimension\",\n            name: \"ServiceName\",\n        },\n        {\n            type: \"Dimension\",\n            name: \"ResourceLocation\",\n        },\n        {\n            type: \"Dimension\",\n            name: \"ResourceGroupName\",\n        },\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.SubscriptionCostManagementView(\"example\",\n    name=\"example\",\n    display_name=\"Cost View per Month\",\n    chart_type=\"StackedColumn\",\n    accumulated=False,\n    subscription_id=\"/subscription/00000000-0000-0000-0000-000000000000\",\n    report_type=\"Usage\",\n    timeframe=\"MonthToDate\",\n    dataset={\n        \"granularity\": \"Monthly\",\n        \"aggregations\": [{\n            \"name\": \"totalCost\",\n            \"column_name\": \"Cost\",\n        }],\n    },\n    pivots=[\n        {\n            \"type\": \"Dimension\",\n            \"name\": \"ServiceName\",\n        },\n        {\n            \"type\": \"Dimension\",\n            \"name\": \"ResourceLocation\",\n        },\n        {\n            \"type\": \"Dimension\",\n            \"name\": \"ResourceGroupName\",\n        },\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.SubscriptionCostManagementView(\"example\", new()\n    {\n        Name = \"example\",\n        DisplayName = \"Cost View per Month\",\n        ChartType = \"StackedColumn\",\n        Accumulated = false,\n        SubscriptionId = \"/subscription/00000000-0000-0000-0000-000000000000\",\n        ReportType = \"Usage\",\n        Timeframe = \"MonthToDate\",\n        Dataset = new Azure.Core.Inputs.SubscriptionCostManagementViewDatasetArgs\n        {\n            Granularity = \"Monthly\",\n            Aggregations = new[]\n            {\n                new Azure.Core.Inputs.SubscriptionCostManagementViewDatasetAggregationArgs\n                {\n                    Name = \"totalCost\",\n                    ColumnName = \"Cost\",\n                },\n            },\n        },\n        Pivots = new[]\n        {\n            new Azure.Core.Inputs.SubscriptionCostManagementViewPivotArgs\n            {\n                Type = \"Dimension\",\n                Name = \"ServiceName\",\n            },\n            new Azure.Core.Inputs.SubscriptionCostManagementViewPivotArgs\n            {\n                Type = \"Dimension\",\n                Name = \"ResourceLocation\",\n            },\n            new Azure.Core.Inputs.SubscriptionCostManagementViewPivotArgs\n            {\n                Type = \"Dimension\",\n                Name = \"ResourceGroupName\",\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := core.NewSubscriptionCostManagementView(ctx, \"example\", \u0026core.SubscriptionCostManagementViewArgs{\n\t\t\tName:           pulumi.String(\"example\"),\n\t\t\tDisplayName:    pulumi.String(\"Cost View per Month\"),\n\t\t\tChartType:      pulumi.String(\"StackedColumn\"),\n\t\t\tAccumulated:    pulumi.Bool(false),\n\t\t\tSubscriptionId: pulumi.String(\"/subscription/00000000-0000-0000-0000-000000000000\"),\n\t\t\tReportType:     pulumi.String(\"Usage\"),\n\t\t\tTimeframe:      pulumi.String(\"MonthToDate\"),\n\t\t\tDataset: \u0026core.SubscriptionCostManagementViewDatasetArgs{\n\t\t\t\tGranularity: pulumi.String(\"Monthly\"),\n\t\t\t\tAggregations: core.SubscriptionCostManagementViewDatasetAggregationArray{\n\t\t\t\t\t\u0026core.SubscriptionCostManagementViewDatasetAggregationArgs{\n\t\t\t\t\t\tName:       pulumi.String(\"totalCost\"),\n\t\t\t\t\t\tColumnName: pulumi.String(\"Cost\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tPivots: core.SubscriptionCostManagementViewPivotArray{\n\t\t\t\t\u0026core.SubscriptionCostManagementViewPivotArgs{\n\t\t\t\t\tType: pulumi.String(\"Dimension\"),\n\t\t\t\t\tName: pulumi.String(\"ServiceName\"),\n\t\t\t\t},\n\t\t\t\t\u0026core.SubscriptionCostManagementViewPivotArgs{\n\t\t\t\t\tType: pulumi.String(\"Dimension\"),\n\t\t\t\t\tName: pulumi.String(\"ResourceLocation\"),\n\t\t\t\t},\n\t\t\t\t\u0026core.SubscriptionCostManagementViewPivotArgs{\n\t\t\t\t\tType: pulumi.String(\"Dimension\"),\n\t\t\t\t\tName: pulumi.String(\"ResourceGroupName\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.SubscriptionCostManagementView;\nimport com.pulumi.azure.core.SubscriptionCostManagementViewArgs;\nimport com.pulumi.azure.core.inputs.SubscriptionCostManagementViewDatasetArgs;\nimport com.pulumi.azure.core.inputs.SubscriptionCostManagementViewPivotArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new SubscriptionCostManagementView(\"example\", SubscriptionCostManagementViewArgs.builder()\n            .name(\"example\")\n            .displayName(\"Cost View per Month\")\n            .chartType(\"StackedColumn\")\n            .accumulated(false)\n            .subscriptionId(\"/subscription/00000000-0000-0000-0000-000000000000\")\n            .reportType(\"Usage\")\n            .timeframe(\"MonthToDate\")\n            .dataset(SubscriptionCostManagementViewDatasetArgs.builder()\n                .granularity(\"Monthly\")\n                .aggregations(SubscriptionCostManagementViewDatasetAggregationArgs.builder()\n                    .name(\"totalCost\")\n                    .columnName(\"Cost\")\n                    .build())\n                .build())\n            .pivots(            \n                SubscriptionCostManagementViewPivotArgs.builder()\n                    .type(\"Dimension\")\n                    .name(\"ServiceName\")\n                    .build(),\n                SubscriptionCostManagementViewPivotArgs.builder()\n                    .type(\"Dimension\")\n                    .name(\"ResourceLocation\")\n                    .build(),\n                SubscriptionCostManagementViewPivotArgs.builder()\n                    .type(\"Dimension\")\n                    .name(\"ResourceGroupName\")\n                    .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:SubscriptionCostManagementView\n    properties:\n      name: example\n      displayName: Cost View per Month\n      chartType: StackedColumn\n      accumulated: false\n      subscriptionId: /subscription/00000000-0000-0000-0000-000000000000\n      reportType: Usage\n      timeframe: MonthToDate\n      dataset:\n        granularity: Monthly\n        aggregations:\n          - name: totalCost\n            columnName: Cost\n      pivots:\n        - type: Dimension\n          name: ServiceName\n        - type: Dimension\n          name: ResourceLocation\n        - type: Dimension\n          name: ResourceGroupName\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.CostManagement` - 2023-08-01\n\n## Import\n\nCost Management View for a Subscriptions can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:core/subscriptionCostManagementView:SubscriptionCostManagementView example /subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CostManagement/views/costmanagementview\n```\n\n","properties":{"accumulated":{"type":"boolean","description":"Whether the costs data in the Cost Management View are accumulated over time. Changing this forces a new Cost Management View for a Subscription to be created.\n"},"chartType":{"type":"string","description":"Chart type of the main view in Cost Analysis. Possible values are `Area`, `GroupedColumn`, `Line`, `StackedColumn` and `Table`.\n"},"dataset":{"$ref":"#/types/azure:core/SubscriptionCostManagementViewDataset:SubscriptionCostManagementViewDataset","description":"A \u003cspan pulumi-lang-nodejs=\"`dataset`\" pulumi-lang-dotnet=\"`Dataset`\" pulumi-lang-go=\"`dataset`\" pulumi-lang-python=\"`dataset`\" pulumi-lang-yaml=\"`dataset`\" pulumi-lang-java=\"`dataset`\"\u003e`dataset`\u003c/span\u003e block as defined below.\n"},"displayName":{"type":"string","description":"User visible input name of the Cost Management View.\n"},"kpis":{"type":"array","items":{"$ref":"#/types/azure:core/SubscriptionCostManagementViewKpi:SubscriptionCostManagementViewKpi"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`kpi`\" pulumi-lang-dotnet=\"`Kpi`\" pulumi-lang-go=\"`kpi`\" pulumi-lang-python=\"`kpi`\" pulumi-lang-yaml=\"`kpi`\" pulumi-lang-java=\"`kpi`\"\u003e`kpi`\u003c/span\u003e blocks as defined below, to show in Cost Analysis UI.\n"},"name":{"type":"string","description":"The name which should be used for this Cost Management View for a Subscription. Changing this forces a new Cost Management View for a Subscription to be created.\n"},"pivots":{"type":"array","items":{"$ref":"#/types/azure:core/SubscriptionCostManagementViewPivot:SubscriptionCostManagementViewPivot"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`pivot`\" pulumi-lang-dotnet=\"`Pivot`\" pulumi-lang-go=\"`pivot`\" pulumi-lang-python=\"`pivot`\" pulumi-lang-yaml=\"`pivot`\" pulumi-lang-java=\"`pivot`\"\u003e`pivot`\u003c/span\u003e blocks as defined below, containing the configuration of 3 sub-views in the Cost Analysis UI. Non table views should have three pivots.\n"},"reportType":{"type":"string","description":"The type of the report. The only possible value is `Usage`.\n"},"subscriptionId":{"type":"string","description":"The ID of the Subscription this View is scoped to. Changing this forces a new Cost Management View for a Subscription to be created.\n"},"timeframe":{"type":"string","description":"The time frame for pulling data for the report. Possible values are `Custom`, `MonthToDate`, `WeekToDate` and `YearToDate`.\n"}},"required":["accumulated","chartType","dataset","displayName","name","reportType","subscriptionId","timeframe"],"inputProperties":{"accumulated":{"type":"boolean","description":"Whether the costs data in the Cost Management View are accumulated over time. Changing this forces a new Cost Management View for a Subscription to be created.\n","willReplaceOnChanges":true},"chartType":{"type":"string","description":"Chart type of the main view in Cost Analysis. Possible values are `Area`, `GroupedColumn`, `Line`, `StackedColumn` and `Table`.\n"},"dataset":{"$ref":"#/types/azure:core/SubscriptionCostManagementViewDataset:SubscriptionCostManagementViewDataset","description":"A \u003cspan pulumi-lang-nodejs=\"`dataset`\" pulumi-lang-dotnet=\"`Dataset`\" pulumi-lang-go=\"`dataset`\" pulumi-lang-python=\"`dataset`\" pulumi-lang-yaml=\"`dataset`\" pulumi-lang-java=\"`dataset`\"\u003e`dataset`\u003c/span\u003e block as defined below.\n"},"displayName":{"type":"string","description":"User visible input name of the Cost Management View.\n"},"kpis":{"type":"array","items":{"$ref":"#/types/azure:core/SubscriptionCostManagementViewKpi:SubscriptionCostManagementViewKpi"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`kpi`\" pulumi-lang-dotnet=\"`Kpi`\" pulumi-lang-go=\"`kpi`\" pulumi-lang-python=\"`kpi`\" pulumi-lang-yaml=\"`kpi`\" pulumi-lang-java=\"`kpi`\"\u003e`kpi`\u003c/span\u003e blocks as defined below, to show in Cost Analysis UI.\n"},"name":{"type":"string","description":"The name which should be used for this Cost Management View for a Subscription. Changing this forces a new Cost Management View for a Subscription to be created.\n","willReplaceOnChanges":true},"pivots":{"type":"array","items":{"$ref":"#/types/azure:core/SubscriptionCostManagementViewPivot:SubscriptionCostManagementViewPivot"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`pivot`\" pulumi-lang-dotnet=\"`Pivot`\" pulumi-lang-go=\"`pivot`\" pulumi-lang-python=\"`pivot`\" pulumi-lang-yaml=\"`pivot`\" pulumi-lang-java=\"`pivot`\"\u003e`pivot`\u003c/span\u003e blocks as defined below, containing the configuration of 3 sub-views in the Cost Analysis UI. Non table views should have three pivots.\n"},"reportType":{"type":"string","description":"The type of the report. The only possible value is `Usage`.\n"},"subscriptionId":{"type":"string","description":"The ID of the Subscription this View is scoped to. Changing this forces a new Cost Management View for a Subscription to be created.\n","willReplaceOnChanges":true},"timeframe":{"type":"string","description":"The time frame for pulling data for the report. Possible values are `Custom`, `MonthToDate`, `WeekToDate` and `YearToDate`.\n"}},"requiredInputs":["accumulated","chartType","dataset","displayName","reportType","subscriptionId","timeframe"],"stateInputs":{"description":"Input properties used for looking up and filtering SubscriptionCostManagementView resources.\n","properties":{"accumulated":{"type":"boolean","description":"Whether the costs data in the Cost Management View are accumulated over time. Changing this forces a new Cost Management View for a Subscription to be created.\n","willReplaceOnChanges":true},"chartType":{"type":"string","description":"Chart type of the main view in Cost Analysis. Possible values are `Area`, `GroupedColumn`, `Line`, `StackedColumn` and `Table`.\n"},"dataset":{"$ref":"#/types/azure:core/SubscriptionCostManagementViewDataset:SubscriptionCostManagementViewDataset","description":"A \u003cspan pulumi-lang-nodejs=\"`dataset`\" pulumi-lang-dotnet=\"`Dataset`\" pulumi-lang-go=\"`dataset`\" pulumi-lang-python=\"`dataset`\" pulumi-lang-yaml=\"`dataset`\" pulumi-lang-java=\"`dataset`\"\u003e`dataset`\u003c/span\u003e block as defined below.\n"},"displayName":{"type":"string","description":"User visible input name of the Cost Management View.\n"},"kpis":{"type":"array","items":{"$ref":"#/types/azure:core/SubscriptionCostManagementViewKpi:SubscriptionCostManagementViewKpi"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`kpi`\" pulumi-lang-dotnet=\"`Kpi`\" pulumi-lang-go=\"`kpi`\" pulumi-lang-python=\"`kpi`\" pulumi-lang-yaml=\"`kpi`\" pulumi-lang-java=\"`kpi`\"\u003e`kpi`\u003c/span\u003e blocks as defined below, to show in Cost Analysis UI.\n"},"name":{"type":"string","description":"The name which should be used for this Cost Management View for a Subscription. Changing this forces a new Cost Management View for a Subscription to be created.\n","willReplaceOnChanges":true},"pivots":{"type":"array","items":{"$ref":"#/types/azure:core/SubscriptionCostManagementViewPivot:SubscriptionCostManagementViewPivot"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`pivot`\" pulumi-lang-dotnet=\"`Pivot`\" pulumi-lang-go=\"`pivot`\" pulumi-lang-python=\"`pivot`\" pulumi-lang-yaml=\"`pivot`\" pulumi-lang-java=\"`pivot`\"\u003e`pivot`\u003c/span\u003e blocks as defined below, containing the configuration of 3 sub-views in the Cost Analysis UI. Non table views should have three pivots.\n"},"reportType":{"type":"string","description":"The type of the report. The only possible value is `Usage`.\n"},"subscriptionId":{"type":"string","description":"The ID of the Subscription this View is scoped to. Changing this forces a new Cost Management View for a Subscription to be created.\n","willReplaceOnChanges":true},"timeframe":{"type":"string","description":"The time frame for pulling data for the report. Possible values are `Custom`, `MonthToDate`, `WeekToDate` and `YearToDate`.\n"}},"type":"object"}},"azure:core/subscriptionPolicyAssignment:SubscriptionPolicyAssignment":{"description":"Manages a Subscription Policy Assignment.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst current = azure.core.getSubscription({});\nconst example = new azure.policy.Definition(\"example\", {\n    name: \"only-deploy-in-westeurope\",\n    policyType: \"Custom\",\n    mode: \"All\",\n    displayName: \"Allowed resource types\",\n    policyRule: ` {\n    \"if\": {\n      \"not\": {\n        \"field\": \"location\",\n        \"equals\": \"westeurope\"\n      }\n    },\n    \"then\": {\n      \"effect\": \"Deny\"\n    }\n  }\n`,\n});\nconst exampleSubscriptionPolicyAssignment = new azure.core.SubscriptionPolicyAssignment(\"example\", {\n    name: \"example\",\n    policyDefinitionId: example.id,\n    subscriptionId: current.then(current =\u003e current.id),\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\ncurrent = azure.core.get_subscription()\nexample = azure.policy.Definition(\"example\",\n    name=\"only-deploy-in-westeurope\",\n    policy_type=\"Custom\",\n    mode=\"All\",\n    display_name=\"Allowed resource types\",\n    policy_rule=\"\"\" {\n    \"if\": {\n      \"not\": {\n        \"field\": \"location\",\n        \"equals\": \"westeurope\"\n      }\n    },\n    \"then\": {\n      \"effect\": \"Deny\"\n    }\n  }\n\"\"\")\nexample_subscription_policy_assignment = azure.core.SubscriptionPolicyAssignment(\"example\",\n    name=\"example\",\n    policy_definition_id=example.id,\n    subscription_id=current.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var current = Azure.Core.GetSubscription.Invoke();\n\n    var example = new Azure.Policy.Definition(\"example\", new()\n    {\n        Name = \"only-deploy-in-westeurope\",\n        PolicyType = \"Custom\",\n        Mode = \"All\",\n        DisplayName = \"Allowed resource types\",\n        PolicyRule = @\" {\n    \"\"if\"\": {\n      \"\"not\"\": {\n        \"\"field\"\": \"\"location\"\",\n        \"\"equals\"\": \"\"westeurope\"\"\n      }\n    },\n    \"\"then\"\": {\n      \"\"effect\"\": \"\"Deny\"\"\n    }\n  }\n\",\n    });\n\n    var exampleSubscriptionPolicyAssignment = new Azure.Core.SubscriptionPolicyAssignment(\"example\", new()\n    {\n        Name = \"example\",\n        PolicyDefinitionId = example.Id,\n        SubscriptionId = current.Apply(getSubscriptionResult =\u003e getSubscriptionResult.Id),\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/policy\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := core.LookupSubscription(ctx, \u0026core.LookupSubscriptionArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := policy.NewDefinition(ctx, \"example\", \u0026policy.DefinitionArgs{\n\t\t\tName:        pulumi.String(\"only-deploy-in-westeurope\"),\n\t\t\tPolicyType:  pulumi.String(\"Custom\"),\n\t\t\tMode:        pulumi.String(\"All\"),\n\t\t\tDisplayName: pulumi.String(\"Allowed resource types\"),\n\t\t\tPolicyRule: pulumi.String(` {\n    \"if\": {\n      \"not\": {\n        \"field\": \"location\",\n        \"equals\": \"westeurope\"\n      }\n    },\n    \"then\": {\n      \"effect\": \"Deny\"\n    }\n  }\n`),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = core.NewSubscriptionPolicyAssignment(ctx, \"example\", \u0026core.SubscriptionPolicyAssignmentArgs{\n\t\t\tName:               pulumi.String(\"example\"),\n\t\t\tPolicyDefinitionId: example.ID(),\n\t\t\tSubscriptionId:     pulumi.String(current.Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.core.inputs.GetSubscriptionArgs;\nimport com.pulumi.azure.policy.Definition;\nimport com.pulumi.azure.policy.DefinitionArgs;\nimport com.pulumi.azure.core.SubscriptionPolicyAssignment;\nimport com.pulumi.azure.core.SubscriptionPolicyAssignmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var current = CoreFunctions.getSubscription(GetSubscriptionArgs.builder()\n            .build());\n\n        var example = new Definition(\"example\", DefinitionArgs.builder()\n            .name(\"only-deploy-in-westeurope\")\n            .policyType(\"Custom\")\n            .mode(\"All\")\n            .displayName(\"Allowed resource types\")\n            .policyRule(\"\"\"\n {\n    \"if\": {\n      \"not\": {\n        \"field\": \"location\",\n        \"equals\": \"westeurope\"\n      }\n    },\n    \"then\": {\n      \"effect\": \"Deny\"\n    }\n  }\n            \"\"\")\n            .build());\n\n        var exampleSubscriptionPolicyAssignment = new SubscriptionPolicyAssignment(\"exampleSubscriptionPolicyAssignment\", SubscriptionPolicyAssignmentArgs.builder()\n            .name(\"example\")\n            .policyDefinitionId(example.id())\n            .subscriptionId(current.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:policy:Definition\n    properties:\n      name: only-deploy-in-westeurope\n      policyType: Custom\n      mode: All\n      displayName: Allowed resource types\n      policyRule: |2\n         {\n            \"if\": {\n              \"not\": {\n                \"field\": \"location\",\n                \"equals\": \"westeurope\"\n              }\n            },\n            \"then\": {\n              \"effect\": \"Deny\"\n            }\n          }\n  exampleSubscriptionPolicyAssignment:\n    type: azure:core:SubscriptionPolicyAssignment\n    name: example\n    properties:\n      name: example\n      policyDefinitionId: ${example.id}\n      subscriptionId: ${current.id}\nvariables:\n  current:\n    fn::invoke:\n      function: azure:core:getSubscription\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Authorization` - 2022-06-01\n\n## Import\n\nSubscription Policy Assignments can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:core/subscriptionPolicyAssignment:SubscriptionPolicyAssignment example /subscriptions/00000000-0000-0000-000000000000/providers/Microsoft.Authorization/policyAssignments/assignment1\n```\n\n","properties":{"description":{"type":"string","description":"A description which should be used for this Policy Assignment.\n"},"displayName":{"type":"string","description":"The Display Name for this Policy Assignment.\n"},"enforce":{"type":"boolean","description":"Specifies if this Policy should be enforced or not? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"identity":{"$ref":"#/types/azure:core/SubscriptionPolicyAssignmentIdentity:SubscriptionPolicyAssignmentIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`location`\" pulumi-lang-dotnet=\"`Location`\" pulumi-lang-go=\"`location`\" pulumi-lang-python=\"`location`\" pulumi-lang-yaml=\"`location`\" pulumi-lang-java=\"`location`\"\u003e`location`\u003c/span\u003e field must also be specified when \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e is specified.\n"},"location":{"type":"string","description":"The Azure Region where the Policy Assignment should exist. Changing this forces a new Policy Assignment to be created.\n"},"metadata":{"type":"string","description":"A JSON mapping of any Metadata for this Policy.\n"},"name":{"type":"string","description":"The name which should be used for this Policy Assignment. Changing this forces a new Policy Assignment to be created. Cannot exceed 64 characters in length.\n"},"nonComplianceMessages":{"type":"array","items":{"$ref":"#/types/azure:core/SubscriptionPolicyAssignmentNonComplianceMessage:SubscriptionPolicyAssignmentNonComplianceMessage"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`nonComplianceMessage`\" pulumi-lang-dotnet=\"`NonComplianceMessage`\" pulumi-lang-go=\"`nonComplianceMessage`\" pulumi-lang-python=\"`non_compliance_message`\" pulumi-lang-yaml=\"`nonComplianceMessage`\" pulumi-lang-java=\"`nonComplianceMessage`\"\u003e`non_compliance_message`\u003c/span\u003e blocks as defined below.\n"},"notScopes":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Resource Scopes (for example a Subscription, or a Resource Group) within this Management Group which are excluded from this Policy.\n"},"overrides":{"type":"array","items":{"$ref":"#/types/azure:core/SubscriptionPolicyAssignmentOverride:SubscriptionPolicyAssignmentOverride"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`overrides`\" pulumi-lang-dotnet=\"`Overrides`\" pulumi-lang-go=\"`overrides`\" pulumi-lang-python=\"`overrides`\" pulumi-lang-yaml=\"`overrides`\" pulumi-lang-java=\"`overrides`\"\u003e`overrides`\u003c/span\u003e blocks as defined below. More detail about \u003cspan pulumi-lang-nodejs=\"`overrides`\" pulumi-lang-dotnet=\"`Overrides`\" pulumi-lang-go=\"`overrides`\" pulumi-lang-python=\"`overrides`\" pulumi-lang-yaml=\"`overrides`\" pulumi-lang-java=\"`overrides`\"\u003e`overrides`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`resourceSelectors`\" pulumi-lang-dotnet=\"`ResourceSelectors`\" pulumi-lang-go=\"`resourceSelectors`\" pulumi-lang-python=\"`resource_selectors`\" pulumi-lang-yaml=\"`resourceSelectors`\" pulumi-lang-java=\"`resourceSelectors`\"\u003e`resource_selectors`\u003c/span\u003e see [policy assignment structure](https://learn.microsoft.com/en-us/azure/governance/policy/concepts/assignment-structure)\n"},"parameters":{"type":"string","description":"A JSON mapping of any Parameters for this Policy.\n"},"policyDefinitionId":{"type":"string","description":"The ID of the Policy Definition or Policy Definition Set. Changing this forces a new Policy Assignment to be created.\n"},"resourceSelectors":{"type":"array","items":{"$ref":"#/types/azure:core/SubscriptionPolicyAssignmentResourceSelector:SubscriptionPolicyAssignmentResourceSelector"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`resourceSelectors`\" pulumi-lang-dotnet=\"`ResourceSelectors`\" pulumi-lang-go=\"`resourceSelectors`\" pulumi-lang-python=\"`resource_selectors`\" pulumi-lang-yaml=\"`resourceSelectors`\" pulumi-lang-java=\"`resourceSelectors`\"\u003e`resource_selectors`\u003c/span\u003e blocks as defined below to filter polices by resource properties.\n"},"subscriptionId":{"type":"string","description":"The ID of the Subscription where this Policy Assignment should be created. Changing this forces a new Policy Assignment to be created.\n"}},"required":["location","metadata","name","policyDefinitionId","subscriptionId"],"inputProperties":{"description":{"type":"string","description":"A description which should be used for this Policy Assignment.\n"},"displayName":{"type":"string","description":"The Display Name for this Policy Assignment.\n"},"enforce":{"type":"boolean","description":"Specifies if this Policy should be enforced or not? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"identity":{"$ref":"#/types/azure:core/SubscriptionPolicyAssignmentIdentity:SubscriptionPolicyAssignmentIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`location`\" pulumi-lang-dotnet=\"`Location`\" pulumi-lang-go=\"`location`\" pulumi-lang-python=\"`location`\" pulumi-lang-yaml=\"`location`\" pulumi-lang-java=\"`location`\"\u003e`location`\u003c/span\u003e field must also be specified when \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e is specified.\n"},"location":{"type":"string","description":"The Azure Region where the Policy Assignment should exist. Changing this forces a new Policy Assignment to be created.\n","willReplaceOnChanges":true},"metadata":{"type":"string","description":"A JSON mapping of any Metadata for this Policy.\n"},"name":{"type":"string","description":"The name which should be used for this Policy Assignment. Changing this forces a new Policy Assignment to be created. Cannot exceed 64 characters in length.\n","willReplaceOnChanges":true},"nonComplianceMessages":{"type":"array","items":{"$ref":"#/types/azure:core/SubscriptionPolicyAssignmentNonComplianceMessage:SubscriptionPolicyAssignmentNonComplianceMessage"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`nonComplianceMessage`\" pulumi-lang-dotnet=\"`NonComplianceMessage`\" pulumi-lang-go=\"`nonComplianceMessage`\" pulumi-lang-python=\"`non_compliance_message`\" pulumi-lang-yaml=\"`nonComplianceMessage`\" pulumi-lang-java=\"`nonComplianceMessage`\"\u003e`non_compliance_message`\u003c/span\u003e blocks as defined below.\n"},"notScopes":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Resource Scopes (for example a Subscription, or a Resource Group) within this Management Group which are excluded from this Policy.\n"},"overrides":{"type":"array","items":{"$ref":"#/types/azure:core/SubscriptionPolicyAssignmentOverride:SubscriptionPolicyAssignmentOverride"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`overrides`\" pulumi-lang-dotnet=\"`Overrides`\" pulumi-lang-go=\"`overrides`\" pulumi-lang-python=\"`overrides`\" pulumi-lang-yaml=\"`overrides`\" pulumi-lang-java=\"`overrides`\"\u003e`overrides`\u003c/span\u003e blocks as defined below. More detail about \u003cspan pulumi-lang-nodejs=\"`overrides`\" pulumi-lang-dotnet=\"`Overrides`\" pulumi-lang-go=\"`overrides`\" pulumi-lang-python=\"`overrides`\" pulumi-lang-yaml=\"`overrides`\" pulumi-lang-java=\"`overrides`\"\u003e`overrides`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`resourceSelectors`\" pulumi-lang-dotnet=\"`ResourceSelectors`\" pulumi-lang-go=\"`resourceSelectors`\" pulumi-lang-python=\"`resource_selectors`\" pulumi-lang-yaml=\"`resourceSelectors`\" pulumi-lang-java=\"`resourceSelectors`\"\u003e`resource_selectors`\u003c/span\u003e see [policy assignment structure](https://learn.microsoft.com/en-us/azure/governance/policy/concepts/assignment-structure)\n"},"parameters":{"type":"string","description":"A JSON mapping of any Parameters for this Policy.\n"},"policyDefinitionId":{"type":"string","description":"The ID of the Policy Definition or Policy Definition Set. Changing this forces a new Policy Assignment to be created.\n","willReplaceOnChanges":true},"resourceSelectors":{"type":"array","items":{"$ref":"#/types/azure:core/SubscriptionPolicyAssignmentResourceSelector:SubscriptionPolicyAssignmentResourceSelector"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`resourceSelectors`\" pulumi-lang-dotnet=\"`ResourceSelectors`\" pulumi-lang-go=\"`resourceSelectors`\" pulumi-lang-python=\"`resource_selectors`\" pulumi-lang-yaml=\"`resourceSelectors`\" pulumi-lang-java=\"`resourceSelectors`\"\u003e`resource_selectors`\u003c/span\u003e blocks as defined below to filter polices by resource properties.\n"},"subscriptionId":{"type":"string","description":"The ID of the Subscription where this Policy Assignment should be created. Changing this forces a new Policy Assignment to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["policyDefinitionId","subscriptionId"],"stateInputs":{"description":"Input properties used for looking up and filtering SubscriptionPolicyAssignment resources.\n","properties":{"description":{"type":"string","description":"A description which should be used for this Policy Assignment.\n"},"displayName":{"type":"string","description":"The Display Name for this Policy Assignment.\n"},"enforce":{"type":"boolean","description":"Specifies if this Policy should be enforced or not? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"identity":{"$ref":"#/types/azure:core/SubscriptionPolicyAssignmentIdentity:SubscriptionPolicyAssignmentIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`location`\" pulumi-lang-dotnet=\"`Location`\" pulumi-lang-go=\"`location`\" pulumi-lang-python=\"`location`\" pulumi-lang-yaml=\"`location`\" pulumi-lang-java=\"`location`\"\u003e`location`\u003c/span\u003e field must also be specified when \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e is specified.\n"},"location":{"type":"string","description":"The Azure Region where the Policy Assignment should exist. Changing this forces a new Policy Assignment to be created.\n","willReplaceOnChanges":true},"metadata":{"type":"string","description":"A JSON mapping of any Metadata for this Policy.\n"},"name":{"type":"string","description":"The name which should be used for this Policy Assignment. Changing this forces a new Policy Assignment to be created. Cannot exceed 64 characters in length.\n","willReplaceOnChanges":true},"nonComplianceMessages":{"type":"array","items":{"$ref":"#/types/azure:core/SubscriptionPolicyAssignmentNonComplianceMessage:SubscriptionPolicyAssignmentNonComplianceMessage"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`nonComplianceMessage`\" pulumi-lang-dotnet=\"`NonComplianceMessage`\" pulumi-lang-go=\"`nonComplianceMessage`\" pulumi-lang-python=\"`non_compliance_message`\" pulumi-lang-yaml=\"`nonComplianceMessage`\" pulumi-lang-java=\"`nonComplianceMessage`\"\u003e`non_compliance_message`\u003c/span\u003e blocks as defined below.\n"},"notScopes":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Resource Scopes (for example a Subscription, or a Resource Group) within this Management Group which are excluded from this Policy.\n"},"overrides":{"type":"array","items":{"$ref":"#/types/azure:core/SubscriptionPolicyAssignmentOverride:SubscriptionPolicyAssignmentOverride"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`overrides`\" pulumi-lang-dotnet=\"`Overrides`\" pulumi-lang-go=\"`overrides`\" pulumi-lang-python=\"`overrides`\" pulumi-lang-yaml=\"`overrides`\" pulumi-lang-java=\"`overrides`\"\u003e`overrides`\u003c/span\u003e blocks as defined below. More detail about \u003cspan pulumi-lang-nodejs=\"`overrides`\" pulumi-lang-dotnet=\"`Overrides`\" pulumi-lang-go=\"`overrides`\" pulumi-lang-python=\"`overrides`\" pulumi-lang-yaml=\"`overrides`\" pulumi-lang-java=\"`overrides`\"\u003e`overrides`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`resourceSelectors`\" pulumi-lang-dotnet=\"`ResourceSelectors`\" pulumi-lang-go=\"`resourceSelectors`\" pulumi-lang-python=\"`resource_selectors`\" pulumi-lang-yaml=\"`resourceSelectors`\" pulumi-lang-java=\"`resourceSelectors`\"\u003e`resource_selectors`\u003c/span\u003e see [policy assignment structure](https://learn.microsoft.com/en-us/azure/governance/policy/concepts/assignment-structure)\n"},"parameters":{"type":"string","description":"A JSON mapping of any Parameters for this Policy.\n"},"policyDefinitionId":{"type":"string","description":"The ID of the Policy Definition or Policy Definition Set. Changing this forces a new Policy Assignment to be created.\n","willReplaceOnChanges":true},"resourceSelectors":{"type":"array","items":{"$ref":"#/types/azure:core/SubscriptionPolicyAssignmentResourceSelector:SubscriptionPolicyAssignmentResourceSelector"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`resourceSelectors`\" pulumi-lang-dotnet=\"`ResourceSelectors`\" pulumi-lang-go=\"`resourceSelectors`\" pulumi-lang-python=\"`resource_selectors`\" pulumi-lang-yaml=\"`resourceSelectors`\" pulumi-lang-java=\"`resourceSelectors`\"\u003e`resource_selectors`\u003c/span\u003e blocks as defined below to filter polices by resource properties.\n"},"subscriptionId":{"type":"string","description":"The ID of the Subscription where this Policy Assignment should be created. Changing this forces a new Policy Assignment to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:core/subscriptionPolicyExemption:SubscriptionPolicyExemption":{"description":"Manages a Subscription Policy Exemption.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.core.getSubscription({});\nconst exampleGetPolicySetDefinition = azure.policy.getPolicySetDefinition({\n    displayName: \"Audit machines with insecure password security settings\",\n});\nconst exampleSubscriptionPolicyAssignment = new azure.core.SubscriptionPolicyAssignment(\"example\", {\n    name: \"exampleAssignment\",\n    subscriptionId: example.then(example =\u003e example.id),\n    policyDefinitionId: exampleGetPolicySetDefinition.then(exampleGetPolicySetDefinition =\u003e exampleGetPolicySetDefinition.id),\n    location: \"westus\",\n    identity: {\n        type: \"SystemAssigned\",\n    },\n});\nconst exampleSubscriptionPolicyExemption = new azure.core.SubscriptionPolicyExemption(\"example\", {\n    name: \"exampleExemption\",\n    subscriptionId: example.then(example =\u003e example.id),\n    policyAssignmentId: exampleSubscriptionPolicyAssignment.id,\n    exemptionCategory: \"Mitigated\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.get_subscription()\nexample_get_policy_set_definition = azure.policy.get_policy_set_definition(display_name=\"Audit machines with insecure password security settings\")\nexample_subscription_policy_assignment = azure.core.SubscriptionPolicyAssignment(\"example\",\n    name=\"exampleAssignment\",\n    subscription_id=example.id,\n    policy_definition_id=example_get_policy_set_definition.id,\n    location=\"westus\",\n    identity={\n        \"type\": \"SystemAssigned\",\n    })\nexample_subscription_policy_exemption = azure.core.SubscriptionPolicyExemption(\"example\",\n    name=\"exampleExemption\",\n    subscription_id=example.id,\n    policy_assignment_id=example_subscription_policy_assignment.id,\n    exemption_category=\"Mitigated\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Core.GetSubscription.Invoke();\n\n    var exampleGetPolicySetDefinition = Azure.Policy.GetPolicySetDefinition.Invoke(new()\n    {\n        DisplayName = \"Audit machines with insecure password security settings\",\n    });\n\n    var exampleSubscriptionPolicyAssignment = new Azure.Core.SubscriptionPolicyAssignment(\"example\", new()\n    {\n        Name = \"exampleAssignment\",\n        SubscriptionId = example.Apply(getSubscriptionResult =\u003e getSubscriptionResult.Id),\n        PolicyDefinitionId = exampleGetPolicySetDefinition.Apply(getPolicySetDefinitionResult =\u003e getPolicySetDefinitionResult.Id),\n        Location = \"westus\",\n        Identity = new Azure.Core.Inputs.SubscriptionPolicyAssignmentIdentityArgs\n        {\n            Type = \"SystemAssigned\",\n        },\n    });\n\n    var exampleSubscriptionPolicyExemption = new Azure.Core.SubscriptionPolicyExemption(\"example\", new()\n    {\n        Name = \"exampleExemption\",\n        SubscriptionId = example.Apply(getSubscriptionResult =\u003e getSubscriptionResult.Id),\n        PolicyAssignmentId = exampleSubscriptionPolicyAssignment.Id,\n        ExemptionCategory = \"Mitigated\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/policy\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.LookupSubscription(ctx, \u0026core.LookupSubscriptionArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleGetPolicySetDefinition, err := policy.LookupPolicySetDefinition(ctx, \u0026policy.LookupPolicySetDefinitionArgs{\n\t\t\tDisplayName: pulumi.StringRef(\"Audit machines with insecure password security settings\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSubscriptionPolicyAssignment, err := core.NewSubscriptionPolicyAssignment(ctx, \"example\", \u0026core.SubscriptionPolicyAssignmentArgs{\n\t\t\tName:               pulumi.String(\"exampleAssignment\"),\n\t\t\tSubscriptionId:     pulumi.String(example.Id),\n\t\t\tPolicyDefinitionId: pulumi.String(exampleGetPolicySetDefinition.Id),\n\t\t\tLocation:           pulumi.String(\"westus\"),\n\t\t\tIdentity: \u0026core.SubscriptionPolicyAssignmentIdentityArgs{\n\t\t\t\tType: pulumi.String(\"SystemAssigned\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = core.NewSubscriptionPolicyExemption(ctx, \"example\", \u0026core.SubscriptionPolicyExemptionArgs{\n\t\t\tName:               pulumi.String(\"exampleExemption\"),\n\t\t\tSubscriptionId:     pulumi.String(example.Id),\n\t\t\tPolicyAssignmentId: exampleSubscriptionPolicyAssignment.ID(),\n\t\t\tExemptionCategory:  pulumi.String(\"Mitigated\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.core.inputs.GetSubscriptionArgs;\nimport com.pulumi.azure.policy.PolicyFunctions;\nimport com.pulumi.azure.policy.inputs.GetPolicySetDefinitionArgs;\nimport com.pulumi.azure.core.SubscriptionPolicyAssignment;\nimport com.pulumi.azure.core.SubscriptionPolicyAssignmentArgs;\nimport com.pulumi.azure.core.inputs.SubscriptionPolicyAssignmentIdentityArgs;\nimport com.pulumi.azure.core.SubscriptionPolicyExemption;\nimport com.pulumi.azure.core.SubscriptionPolicyExemptionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = CoreFunctions.getSubscription(GetSubscriptionArgs.builder()\n            .build());\n\n        final var exampleGetPolicySetDefinition = PolicyFunctions.getPolicySetDefinition(GetPolicySetDefinitionArgs.builder()\n            .displayName(\"Audit machines with insecure password security settings\")\n            .build());\n\n        var exampleSubscriptionPolicyAssignment = new SubscriptionPolicyAssignment(\"exampleSubscriptionPolicyAssignment\", SubscriptionPolicyAssignmentArgs.builder()\n            .name(\"exampleAssignment\")\n            .subscriptionId(example.id())\n            .policyDefinitionId(exampleGetPolicySetDefinition.id())\n            .location(\"westus\")\n            .identity(SubscriptionPolicyAssignmentIdentityArgs.builder()\n                .type(\"SystemAssigned\")\n                .build())\n            .build());\n\n        var exampleSubscriptionPolicyExemption = new SubscriptionPolicyExemption(\"exampleSubscriptionPolicyExemption\", SubscriptionPolicyExemptionArgs.builder()\n            .name(\"exampleExemption\")\n            .subscriptionId(example.id())\n            .policyAssignmentId(exampleSubscriptionPolicyAssignment.id())\n            .exemptionCategory(\"Mitigated\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleSubscriptionPolicyAssignment:\n    type: azure:core:SubscriptionPolicyAssignment\n    name: example\n    properties:\n      name: exampleAssignment\n      subscriptionId: ${example.id}\n      policyDefinitionId: ${exampleGetPolicySetDefinition.id}\n      location: westus\n      identity:\n        type: SystemAssigned\n  exampleSubscriptionPolicyExemption:\n    type: azure:core:SubscriptionPolicyExemption\n    name: example\n    properties:\n      name: exampleExemption\n      subscriptionId: ${example.id}\n      policyAssignmentId: ${exampleSubscriptionPolicyAssignment.id}\n      exemptionCategory: Mitigated\nvariables:\n  example:\n    fn::invoke:\n      function: azure:core:getSubscription\n      arguments: {}\n  exampleGetPolicySetDefinition:\n    fn::invoke:\n      function: azure:policy:getPolicySetDefinition\n      arguments:\n        displayName: Audit machines with insecure password security settings\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nPolicy Exemptions can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:core/subscriptionPolicyExemption:SubscriptionPolicyExemption exemption1 /subscriptions/00000000-0000-0000-000000000000/providers/Microsoft.Authorization/policyExemptions/exemption1\n```\n\n","properties":{"description":{"type":"string","description":"A description to use for this Policy Exemption.\n"},"displayName":{"type":"string","description":"A friendly display name to use for this Policy Exemption.\n"},"exemptionCategory":{"type":"string","description":"The category of this policy exemption. Possible values are `Waiver` and `Mitigated`.\n"},"expiresOn":{"type":"string","description":"The expiration date and time in UTC ISO 8601 format of this policy exemption.\n"},"metadata":{"type":"string","description":"The metadata for this policy exemption. This is a JSON string representing additional metadata that should be stored with the policy exemption.\n"},"name":{"type":"string","description":"The name of the Policy Exemption. Changing this forces a new resource to be created.\n"},"policyAssignmentId":{"type":"string","description":"The ID of the Policy Assignment to be exempted at the specified Scope. Changing this forces a new resource to be created.\n"},"policyDefinitionReferenceIds":{"type":"array","items":{"type":"string"},"description":"The policy definition reference ID list when the associated policy assignment is an assignment of a policy set definition.\n"},"subscriptionId":{"type":"string","description":"The Subscription ID where the Policy Exemption should be applied. Changing this forces a new resource to be created.\n"}},"required":["exemptionCategory","metadata","name","policyAssignmentId","subscriptionId"],"inputProperties":{"description":{"type":"string","description":"A description to use for this Policy Exemption.\n"},"displayName":{"type":"string","description":"A friendly display name to use for this Policy Exemption.\n"},"exemptionCategory":{"type":"string","description":"The category of this policy exemption. Possible values are `Waiver` and `Mitigated`.\n"},"expiresOn":{"type":"string","description":"The expiration date and time in UTC ISO 8601 format of this policy exemption.\n"},"metadata":{"type":"string","description":"The metadata for this policy exemption. This is a JSON string representing additional metadata that should be stored with the policy exemption.\n"},"name":{"type":"string","description":"The name of the Policy Exemption. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"policyAssignmentId":{"type":"string","description":"The ID of the Policy Assignment to be exempted at the specified Scope. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"policyDefinitionReferenceIds":{"type":"array","items":{"type":"string"},"description":"The policy definition reference ID list when the associated policy assignment is an assignment of a policy set definition.\n"},"subscriptionId":{"type":"string","description":"The Subscription ID where the Policy Exemption should be applied. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["exemptionCategory","policyAssignmentId","subscriptionId"],"stateInputs":{"description":"Input properties used for looking up and filtering SubscriptionPolicyExemption resources.\n","properties":{"description":{"type":"string","description":"A description to use for this Policy Exemption.\n"},"displayName":{"type":"string","description":"A friendly display name to use for this Policy Exemption.\n"},"exemptionCategory":{"type":"string","description":"The category of this policy exemption. Possible values are `Waiver` and `Mitigated`.\n"},"expiresOn":{"type":"string","description":"The expiration date and time in UTC ISO 8601 format of this policy exemption.\n"},"metadata":{"type":"string","description":"The metadata for this policy exemption. This is a JSON string representing additional metadata that should be stored with the policy exemption.\n"},"name":{"type":"string","description":"The name of the Policy Exemption. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"policyAssignmentId":{"type":"string","description":"The ID of the Policy Assignment to be exempted at the specified Scope. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"policyDefinitionReferenceIds":{"type":"array","items":{"type":"string"},"description":"The policy definition reference ID list when the associated policy assignment is an assignment of a policy set definition.\n"},"subscriptionId":{"type":"string","description":"The Subscription ID where the Policy Exemption should be applied. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:core/subscriptionPolicyRemediation:SubscriptionPolicyRemediation":{"description":"Manages an Azure Subscription Policy Remediation.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.core.getSubscription({});\nconst exampleGetPolicyDefintion = azure.policy.getPolicyDefintion({\n    displayName: \"Allowed resource types\",\n});\nconst exampleSubscriptionPolicyAssignment = new azure.core.SubscriptionPolicyAssignment(\"example\", {\n    name: \"exampleAssignment\",\n    subscriptionId: example.then(example =\u003e example.id),\n    policyDefinitionId: exampleGetPolicyDefintion.then(exampleGetPolicyDefintion =\u003e exampleGetPolicyDefintion.id),\n    parameters: JSON.stringify({\n        listOfAllowedLocations: {\n            value: [\n                \"West Europe\",\n                \"East US\",\n            ],\n        },\n    }),\n});\nconst exampleSubscriptionPolicyRemediation = new azure.core.SubscriptionPolicyRemediation(\"example\", {\n    name: \"example\",\n    subscriptionId: example.then(example =\u003e example.id),\n    policyAssignmentId: exampleSubscriptionPolicyAssignment.id,\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_azure as azure\n\nexample = azure.core.get_subscription()\nexample_get_policy_defintion = azure.policy.get_policy_defintion(display_name=\"Allowed resource types\")\nexample_subscription_policy_assignment = azure.core.SubscriptionPolicyAssignment(\"example\",\n    name=\"exampleAssignment\",\n    subscription_id=example.id,\n    policy_definition_id=example_get_policy_defintion.id,\n    parameters=json.dumps({\n        \"listOfAllowedLocations\": {\n            \"value\": [\n                \"West Europe\",\n                \"East US\",\n            ],\n        },\n    }))\nexample_subscription_policy_remediation = azure.core.SubscriptionPolicyRemediation(\"example\",\n    name=\"example\",\n    subscription_id=example.id,\n    policy_assignment_id=example_subscription_policy_assignment.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Core.GetSubscription.Invoke();\n\n    var exampleGetPolicyDefintion = Azure.Policy.GetPolicyDefintion.Invoke(new()\n    {\n        DisplayName = \"Allowed resource types\",\n    });\n\n    var exampleSubscriptionPolicyAssignment = new Azure.Core.SubscriptionPolicyAssignment(\"example\", new()\n    {\n        Name = \"exampleAssignment\",\n        SubscriptionId = example.Apply(getSubscriptionResult =\u003e getSubscriptionResult.Id),\n        PolicyDefinitionId = exampleGetPolicyDefintion.Apply(getPolicyDefintionResult =\u003e getPolicyDefintionResult.Id),\n        Parameters = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n        {\n            [\"listOfAllowedLocations\"] = new Dictionary\u003cstring, object?\u003e\n            {\n                [\"value\"] = new[]\n                {\n                    \"West Europe\",\n                    \"East US\",\n                },\n            },\n        }),\n    });\n\n    var exampleSubscriptionPolicyRemediation = new Azure.Core.SubscriptionPolicyRemediation(\"example\", new()\n    {\n        Name = \"example\",\n        SubscriptionId = example.Apply(getSubscriptionResult =\u003e getSubscriptionResult.Id),\n        PolicyAssignmentId = exampleSubscriptionPolicyAssignment.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/policy\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.LookupSubscription(ctx, \u0026core.LookupSubscriptionArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleGetPolicyDefintion, err := policy.GetPolicyDefintion(ctx, \u0026policy.GetPolicyDefintionArgs{\n\t\t\tDisplayName: pulumi.StringRef(\"Allowed resource types\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"listOfAllowedLocations\": map[string]interface{}{\n\t\t\t\t\"value\": []string{\n\t\t\t\t\t\"West Europe\",\n\t\t\t\t\t\"East US\",\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson0 := string(tmpJSON0)\n\t\texampleSubscriptionPolicyAssignment, err := core.NewSubscriptionPolicyAssignment(ctx, \"example\", \u0026core.SubscriptionPolicyAssignmentArgs{\n\t\t\tName:               pulumi.String(\"exampleAssignment\"),\n\t\t\tSubscriptionId:     pulumi.String(example.Id),\n\t\t\tPolicyDefinitionId: pulumi.String(exampleGetPolicyDefintion.Id),\n\t\t\tParameters:         pulumi.String(json0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = core.NewSubscriptionPolicyRemediation(ctx, \"example\", \u0026core.SubscriptionPolicyRemediationArgs{\n\t\t\tName:               pulumi.String(\"example\"),\n\t\t\tSubscriptionId:     pulumi.String(example.Id),\n\t\t\tPolicyAssignmentId: exampleSubscriptionPolicyAssignment.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.core.inputs.GetSubscriptionArgs;\nimport com.pulumi.azure.policy.PolicyFunctions;\nimport com.pulumi.azure.policy.inputs.GetPolicyDefintionArgs;\nimport com.pulumi.azure.core.SubscriptionPolicyAssignment;\nimport com.pulumi.azure.core.SubscriptionPolicyAssignmentArgs;\nimport com.pulumi.azure.core.SubscriptionPolicyRemediation;\nimport com.pulumi.azure.core.SubscriptionPolicyRemediationArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = CoreFunctions.getSubscription(GetSubscriptionArgs.builder()\n            .build());\n\n        final var exampleGetPolicyDefintion = PolicyFunctions.getPolicyDefintion(GetPolicyDefintionArgs.builder()\n            .displayName(\"Allowed resource types\")\n            .build());\n\n        var exampleSubscriptionPolicyAssignment = new SubscriptionPolicyAssignment(\"exampleSubscriptionPolicyAssignment\", SubscriptionPolicyAssignmentArgs.builder()\n            .name(\"exampleAssignment\")\n            .subscriptionId(example.id())\n            .policyDefinitionId(exampleGetPolicyDefintion.id())\n            .parameters(serializeJson(\n                jsonObject(\n                    jsonProperty(\"listOfAllowedLocations\", jsonObject(\n                        jsonProperty(\"value\", jsonArray(\n                            \"West Europe\", \n                            \"East US\"\n                        ))\n                    ))\n                )))\n            .build());\n\n        var exampleSubscriptionPolicyRemediation = new SubscriptionPolicyRemediation(\"exampleSubscriptionPolicyRemediation\", SubscriptionPolicyRemediationArgs.builder()\n            .name(\"example\")\n            .subscriptionId(example.id())\n            .policyAssignmentId(exampleSubscriptionPolicyAssignment.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleSubscriptionPolicyAssignment:\n    type: azure:core:SubscriptionPolicyAssignment\n    name: example\n    properties:\n      name: exampleAssignment\n      subscriptionId: ${example.id}\n      policyDefinitionId: ${exampleGetPolicyDefintion.id}\n      parameters:\n        fn::toJSON:\n          listOfAllowedLocations:\n            value:\n              - West Europe\n              - East US\n  exampleSubscriptionPolicyRemediation:\n    type: azure:core:SubscriptionPolicyRemediation\n    name: example\n    properties:\n      name: example\n      subscriptionId: ${example.id}\n      policyAssignmentId: ${exampleSubscriptionPolicyAssignment.id}\nvariables:\n  example:\n    fn::invoke:\n      function: azure:core:getSubscription\n      arguments: {}\n  exampleGetPolicyDefintion:\n    fn::invoke:\n      function: azure:policy:getPolicyDefintion\n      arguments:\n        displayName: Allowed resource types\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.PolicyInsights` - 2021-10-01\n\n## Import\n\nPolicy Remediations can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:core/subscriptionPolicyRemediation:SubscriptionPolicyRemediation example /subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.PolicyInsights/remediations/remediation1\n```\n\n","properties":{"failurePercentage":{"type":"number","description":"A number between 0.0 to 1.0 representing the percentage failure threshold. The remediation will fail if the percentage of failed remediation operations (i.e. failed deployments) exceeds this threshold.\n"},"locationFilters":{"type":"array","items":{"type":"string"},"description":"A list of the resource locations that will be remediated.\n"},"name":{"type":"string","description":"The name of the Policy Remediation. Changing this forces a new resource to be created.\n"},"parallelDeployments":{"type":"integer","description":"Determines how many resources to remediate at any given time. Can be used to increase or reduce the pace of the remediation. If not provided, the default parallel deployments value is used.\n"},"policyAssignmentId":{"type":"string","description":"The ID of the Policy Assignment that should be remediated.\n"},"policyDefinitionReferenceId":{"type":"string","description":"The unique ID for the policy definition reference within the policy set definition that should be remediated. Required when the policy assignment being remediated assigns a policy set definition.\n"},"resourceCount":{"type":"integer","description":"Determines the max number of resources that can be remediated by the remediation job. If not provided, the default resource count is used.\n"},"resourceDiscoveryMode":{"type":"string","description":"The way that resources to remediate are discovered. Possible values are `ExistingNonCompliant`, `ReEvaluateCompliance`. Defaults to `ExistingNonCompliant`.\n"},"subscriptionId":{"type":"string","description":"The Subscription ID at which the Policy Remediation should be applied. Changing this forces a new resource to be created.\n"}},"required":["name","policyAssignmentId","subscriptionId"],"inputProperties":{"failurePercentage":{"type":"number","description":"A number between 0.0 to 1.0 representing the percentage failure threshold. The remediation will fail if the percentage of failed remediation operations (i.e. failed deployments) exceeds this threshold.\n"},"locationFilters":{"type":"array","items":{"type":"string"},"description":"A list of the resource locations that will be remediated.\n"},"name":{"type":"string","description":"The name of the Policy Remediation. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"parallelDeployments":{"type":"integer","description":"Determines how many resources to remediate at any given time. Can be used to increase or reduce the pace of the remediation. If not provided, the default parallel deployments value is used.\n"},"policyAssignmentId":{"type":"string","description":"The ID of the Policy Assignment that should be remediated.\n"},"policyDefinitionReferenceId":{"type":"string","description":"The unique ID for the policy definition reference within the policy set definition that should be remediated. Required when the policy assignment being remediated assigns a policy set definition.\n"},"resourceCount":{"type":"integer","description":"Determines the max number of resources that can be remediated by the remediation job. If not provided, the default resource count is used.\n"},"resourceDiscoveryMode":{"type":"string","description":"The way that resources to remediate are discovered. Possible values are `ExistingNonCompliant`, `ReEvaluateCompliance`. Defaults to `ExistingNonCompliant`.\n"},"subscriptionId":{"type":"string","description":"The Subscription ID at which the Policy Remediation should be applied. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["policyAssignmentId","subscriptionId"],"stateInputs":{"description":"Input properties used for looking up and filtering SubscriptionPolicyRemediation resources.\n","properties":{"failurePercentage":{"type":"number","description":"A number between 0.0 to 1.0 representing the percentage failure threshold. The remediation will fail if the percentage of failed remediation operations (i.e. failed deployments) exceeds this threshold.\n"},"locationFilters":{"type":"array","items":{"type":"string"},"description":"A list of the resource locations that will be remediated.\n"},"name":{"type":"string","description":"The name of the Policy Remediation. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"parallelDeployments":{"type":"integer","description":"Determines how many resources to remediate at any given time. Can be used to increase or reduce the pace of the remediation. If not provided, the default parallel deployments value is used.\n"},"policyAssignmentId":{"type":"string","description":"The ID of the Policy Assignment that should be remediated.\n"},"policyDefinitionReferenceId":{"type":"string","description":"The unique ID for the policy definition reference within the policy set definition that should be remediated. Required when the policy assignment being remediated assigns a policy set definition.\n"},"resourceCount":{"type":"integer","description":"Determines the max number of resources that can be remediated by the remediation job. If not provided, the default resource count is used.\n"},"resourceDiscoveryMode":{"type":"string","description":"The way that resources to remediate are discovered. Possible values are `ExistingNonCompliant`, `ReEvaluateCompliance`. Defaults to `ExistingNonCompliant`.\n"},"subscriptionId":{"type":"string","description":"The Subscription ID at which the Policy Remediation should be applied. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:core/subscriptionTemplateDeployment:SubscriptionTemplateDeployment":{"description":"Manages a Subscription Template Deployment.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.SubscriptionTemplateDeployment(\"example\", {\n    name: \"example-deployment\",\n    location: \"West Europe\",\n    templateContent: ` {\n   \\\\\"schema\\\\\": \\\\\"https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#\\\\\",\n   \\\\\"contentVersion\\\\\": \\\\\"1.0.0.0\\\\\",\n   \\\\\"parameters\\\\\": {},\n   \\\\\"variables\\\\\": {},\n   \\\\\"resources\\\\\": [\n     {\n       \\\\\"type\\\\\": \\\\\"Microsoft.Resources/resourceGroups\\\\\",\n       \\\\\"apiVersion\\\\\": \\\\\"2018-05-01\\\\\",\n       \\\\\"location\\\\\": \\\\\"West Europe\\\\\",\n       \\\\\"name\\\\\": \\\\\"some-resource-group\\\\\",\n       \\\\\"properties\\\\\": {}\n     }\n   ]\n }\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.SubscriptionTemplateDeployment(\"example\",\n    name=\"example-deployment\",\n    location=\"West Europe\",\n    template_content=\"\"\" {\n   \\\"$schema\\\": \\\"https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#\\\",\n   \\\"contentVersion\\\": \\\"1.0.0.0\\\",\n   \\\"parameters\\\": {},\n   \\\"variables\\\": {},\n   \\\"resources\\\": [\n     {\n       \\\"type\\\": \\\"Microsoft.Resources/resourceGroups\\\",\n       \\\"apiVersion\\\": \\\"2018-05-01\\\",\n       \\\"location\\\": \\\"West Europe\\\",\n       \\\"name\\\": \\\"some-resource-group\\\",\n       \\\"properties\\\": {}\n     }\n   ]\n }\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.SubscriptionTemplateDeployment(\"example\", new()\n    {\n        Name = \"example-deployment\",\n        Location = \"West Europe\",\n        TemplateContent = @\" {\n   \\\"\"$schema\\\"\": \\\"\"https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#\\\"\",\n   \\\"\"contentVersion\\\"\": \\\"\"1.0.0.0\\\"\",\n   \\\"\"parameters\\\"\": {},\n   \\\"\"variables\\\"\": {},\n   \\\"\"resources\\\"\": [\n     {\n       \\\"\"type\\\"\": \\\"\"Microsoft.Resources/resourceGroups\\\"\",\n       \\\"\"apiVersion\\\"\": \\\"\"2018-05-01\\\"\",\n       \\\"\"location\\\"\": \\\"\"West Europe\\\"\",\n       \\\"\"name\\\"\": \\\"\"some-resource-group\\\"\",\n       \\\"\"properties\\\"\": {}\n     }\n   ]\n }\n\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := core.NewSubscriptionTemplateDeployment(ctx, \"example\", \u0026core.SubscriptionTemplateDeploymentArgs{\n\t\t\tName:     pulumi.String(\"example-deployment\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t\tTemplateContent: pulumi.String(` {\n   \\\"$schema\\\": \\\"https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#\\\",\n   \\\"contentVersion\\\": \\\"1.0.0.0\\\",\n   \\\"parameters\\\": {},\n   \\\"variables\\\": {},\n   \\\"resources\\\": [\n     {\n       \\\"type\\\": \\\"Microsoft.Resources/resourceGroups\\\",\n       \\\"apiVersion\\\": \\\"2018-05-01\\\",\n       \\\"location\\\": \\\"West Europe\\\",\n       \\\"name\\\": \\\"some-resource-group\\\",\n       \\\"properties\\\": {}\n     }\n   ]\n }\n`),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.SubscriptionTemplateDeployment;\nimport com.pulumi.azure.core.SubscriptionTemplateDeploymentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new SubscriptionTemplateDeployment(\"example\", SubscriptionTemplateDeploymentArgs.builder()\n            .name(\"example-deployment\")\n            .location(\"West Europe\")\n            .templateContent(\"\"\"\n {\n   \\\"$schema\\\": \\\"https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#\\\",\n   \\\"contentVersion\\\": \\\"1.0.0.0\\\",\n   \\\"parameters\\\": {},\n   \\\"variables\\\": {},\n   \\\"resources\\\": [\n     {\n       \\\"type\\\": \\\"Microsoft.Resources/resourceGroups\\\",\n       \\\"apiVersion\\\": \\\"2018-05-01\\\",\n       \\\"location\\\": \\\"West Europe\\\",\n       \\\"name\\\": \\\"some-resource-group\\\",\n       \\\"properties\\\": {}\n     }\n   ]\n }\n            \"\"\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:SubscriptionTemplateDeployment\n    properties:\n      name: example-deployment\n      location: West Europe\n      templateContent: |2\n         {\n           \\\"$schema\\\": \\\"https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#\\\",\n           \\\"contentVersion\\\": \\\"1.0.0.0\\\",\n           \\\"parameters\\\": {},\n           \\\"variables\\\": {},\n           \\\"resources\\\": [\n             {\n               \\\"type\\\": \\\"Microsoft.Resources/resourceGroups\\\",\n               \\\"apiVersion\\\": \\\"2018-05-01\\\",\n               \\\"location\\\": \\\"West Europe\\\",\n               \\\"name\\\": \\\"some-resource-group\\\",\n               \\\"properties\\\": {}\n             }\n           ]\n         }\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nSubscription Template Deployments can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:core/subscriptionTemplateDeployment:SubscriptionTemplateDeployment example /subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Resources/deployments/template1\n```\n\n","properties":{"debugLevel":{"type":"string","description":"The Debug Level which should be used for this Subscription Template Deployment. Possible values are \u003cspan pulumi-lang-nodejs=\"`none`\" pulumi-lang-dotnet=\"`None`\" pulumi-lang-go=\"`none`\" pulumi-lang-python=\"`none`\" pulumi-lang-yaml=\"`none`\" pulumi-lang-java=\"`none`\"\u003e`none`\u003c/span\u003e, `requestContent`, `responseContent` and `requestContent, responseContent`.\n"},"location":{"type":"string","description":"The Azure Region where the Subscription Template Deployment should exist. Changing this forces a new Subscription Template Deployment to be created.\n"},"name":{"type":"string","description":"The name which should be used for this Subscription Template Deployment. Changing this forces a new Subscription Template Deployment to be created.\n"},"outputContent":{"type":"string","description":"The JSON Content of the Outputs of the ARM Template Deployment.\n"},"parametersContent":{"type":"string","description":"The contents of the ARM Template parameters file - containing a JSON list of parameters.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Subscription Template Deployment.\n"},"templateContent":{"type":"string","description":"The contents of the ARM Template which should be deployed into this Subscription.\n"},"templateSpecVersionId":{"type":"string","description":"The ID of the Template Spec Version to deploy into the Subscription. Cannot be specified with \u003cspan pulumi-lang-nodejs=\"`templateContent`\" pulumi-lang-dotnet=\"`TemplateContent`\" pulumi-lang-go=\"`templateContent`\" pulumi-lang-python=\"`template_content`\" pulumi-lang-yaml=\"`templateContent`\" pulumi-lang-java=\"`templateContent`\"\u003e`template_content`\u003c/span\u003e.\n"}},"required":["location","name","outputContent","parametersContent","templateContent"],"inputProperties":{"debugLevel":{"type":"string","description":"The Debug Level which should be used for this Subscription Template Deployment. Possible values are \u003cspan pulumi-lang-nodejs=\"`none`\" pulumi-lang-dotnet=\"`None`\" pulumi-lang-go=\"`none`\" pulumi-lang-python=\"`none`\" pulumi-lang-yaml=\"`none`\" pulumi-lang-java=\"`none`\"\u003e`none`\u003c/span\u003e, `requestContent`, `responseContent` and `requestContent, responseContent`.\n"},"location":{"type":"string","description":"The Azure Region where the Subscription Template Deployment should exist. Changing this forces a new Subscription Template Deployment to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Subscription Template Deployment. Changing this forces a new Subscription Template Deployment to be created.\n","willReplaceOnChanges":true},"parametersContent":{"type":"string","description":"The contents of the ARM Template parameters file - containing a JSON list of parameters.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Subscription Template Deployment.\n"},"templateContent":{"type":"string","description":"The contents of the ARM Template which should be deployed into this Subscription.\n"},"templateSpecVersionId":{"type":"string","description":"The ID of the Template Spec Version to deploy into the Subscription. Cannot be specified with \u003cspan pulumi-lang-nodejs=\"`templateContent`\" pulumi-lang-dotnet=\"`TemplateContent`\" pulumi-lang-go=\"`templateContent`\" pulumi-lang-python=\"`template_content`\" pulumi-lang-yaml=\"`templateContent`\" pulumi-lang-java=\"`templateContent`\"\u003e`template_content`\u003c/span\u003e.\n"}},"stateInputs":{"description":"Input properties used for looking up and filtering SubscriptionTemplateDeployment resources.\n","properties":{"debugLevel":{"type":"string","description":"The Debug Level which should be used for this Subscription Template Deployment. Possible values are \u003cspan pulumi-lang-nodejs=\"`none`\" pulumi-lang-dotnet=\"`None`\" pulumi-lang-go=\"`none`\" pulumi-lang-python=\"`none`\" pulumi-lang-yaml=\"`none`\" pulumi-lang-java=\"`none`\"\u003e`none`\u003c/span\u003e, `requestContent`, `responseContent` and `requestContent, responseContent`.\n"},"location":{"type":"string","description":"The Azure Region where the Subscription Template Deployment should exist. Changing this forces a new Subscription Template Deployment to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Subscription Template Deployment. Changing this forces a new Subscription Template Deployment to be created.\n","willReplaceOnChanges":true},"outputContent":{"type":"string","description":"The JSON Content of the Outputs of the ARM Template Deployment.\n"},"parametersContent":{"type":"string","description":"The contents of the ARM Template parameters file - containing a JSON list of parameters.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Subscription Template Deployment.\n"},"templateContent":{"type":"string","description":"The contents of the ARM Template which should be deployed into this Subscription.\n"},"templateSpecVersionId":{"type":"string","description":"The ID of the Template Spec Version to deploy into the Subscription. Cannot be specified with \u003cspan pulumi-lang-nodejs=\"`templateContent`\" pulumi-lang-dotnet=\"`TemplateContent`\" pulumi-lang-go=\"`templateContent`\" pulumi-lang-python=\"`template_content`\" pulumi-lang-yaml=\"`templateContent`\" pulumi-lang-java=\"`templateContent`\"\u003e`template_content`\u003c/span\u003e.\n"}},"type":"object"}},"azure:core/tenantTemplateDeployment:TenantTemplateDeployment":{"description":"Manages a Template Deployment at the Tenant Scope.\n\n\u003e **Note:** Deleting a Deployment at the Tenant Scope will not delete any resources created by the deployment.\n\n\u003e **Note:** Deployments to a Tenant are always Incrementally applied. Existing resources that are not part of the template will not be removed.\n\n\u003e **Note:** Tenant Template Deployments are always targeted at the Tenant in which the current User, Managed Identity, or Service Principal being used by Terraform is homed.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.core.getTemplateSpecVersion({\n    name: \"myTemplateForTenant\",\n    resourceGroupName: \"myResourceGroup\",\n    version: \"v0.1\",\n});\nconst exampleTenantTemplateDeployment = new azure.core.TenantTemplateDeployment(\"example\", {\n    name: \"example\",\n    location: \"West Europe\",\n    templateSpecVersionId: example.then(example =\u003e example.id),\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.get_template_spec_version(name=\"myTemplateForTenant\",\n    resource_group_name=\"myResourceGroup\",\n    version=\"v0.1\")\nexample_tenant_template_deployment = azure.core.TenantTemplateDeployment(\"example\",\n    name=\"example\",\n    location=\"West Europe\",\n    template_spec_version_id=example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Core.GetTemplateSpecVersion.Invoke(new()\n    {\n        Name = \"myTemplateForTenant\",\n        ResourceGroupName = \"myResourceGroup\",\n        Version = \"v0.1\",\n    });\n\n    var exampleTenantTemplateDeployment = new Azure.Core.TenantTemplateDeployment(\"example\", new()\n    {\n        Name = \"example\",\n        Location = \"West Europe\",\n        TemplateSpecVersionId = example.Apply(getTemplateSpecVersionResult =\u003e getTemplateSpecVersionResult.Id),\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.GetTemplateSpecVersion(ctx, \u0026core.GetTemplateSpecVersionArgs{\n\t\t\tName:              \"myTemplateForTenant\",\n\t\t\tResourceGroupName: \"myResourceGroup\",\n\t\t\tVersion:           \"v0.1\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = core.NewTenantTemplateDeployment(ctx, \"example\", \u0026core.TenantTemplateDeploymentArgs{\n\t\t\tName:                  pulumi.String(\"example\"),\n\t\t\tLocation:              pulumi.String(\"West Europe\"),\n\t\t\tTemplateSpecVersionId: pulumi.String(example.Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.core.inputs.GetTemplateSpecVersionArgs;\nimport com.pulumi.azure.core.TenantTemplateDeployment;\nimport com.pulumi.azure.core.TenantTemplateDeploymentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = CoreFunctions.getTemplateSpecVersion(GetTemplateSpecVersionArgs.builder()\n            .name(\"myTemplateForTenant\")\n            .resourceGroupName(\"myResourceGroup\")\n            .version(\"v0.1\")\n            .build());\n\n        var exampleTenantTemplateDeployment = new TenantTemplateDeployment(\"exampleTenantTemplateDeployment\", TenantTemplateDeploymentArgs.builder()\n            .name(\"example\")\n            .location(\"West Europe\")\n            .templateSpecVersionId(example.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleTenantTemplateDeployment:\n    type: azure:core:TenantTemplateDeployment\n    name: example\n    properties:\n      name: example\n      location: West Europe\n      templateSpecVersionId: ${example.id}\nvariables:\n  example:\n    fn::invoke:\n      function: azure:core:getTemplateSpecVersion\n      arguments:\n        name: myTemplateForTenant\n        resourceGroupName: myResourceGroup\n        version: v0.1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nTenant Template Deployments can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:core/tenantTemplateDeployment:TenantTemplateDeployment example /providers/Microsoft.Resources/deployments/deploy1\n```\n\n","properties":{"debugLevel":{"type":"string","description":"The Debug Level which should be used for this Resource Group Template Deployment. Possible values are \u003cspan pulumi-lang-nodejs=\"`none`\" pulumi-lang-dotnet=\"`None`\" pulumi-lang-go=\"`none`\" pulumi-lang-python=\"`none`\" pulumi-lang-yaml=\"`none`\" pulumi-lang-java=\"`none`\"\u003e`none`\u003c/span\u003e, `requestContent`, `responseContent` and `requestContent, responseContent`.\n"},"location":{"type":"string","description":"The Azure Region where the Template should exist. Changing this forces a new Template to be created.\n"},"name":{"type":"string","description":"The name which should be used for this Template. Changing this forces a new Template to be created.\n"},"outputContent":{"type":"string","description":"The JSON Content of the Outputs of the ARM Template Deployment.\n"},"parametersContent":{"type":"string","description":"The contents of the ARM Template parameters file - containing a JSON list of parameters.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Template.\n"},"templateContent":{"type":"string","description":"The contents of the ARM Template which should be deployed into this Resource Group. Cannot be specified with \u003cspan pulumi-lang-nodejs=\"`templateSpecVersionId`\" pulumi-lang-dotnet=\"`TemplateSpecVersionId`\" pulumi-lang-go=\"`templateSpecVersionId`\" pulumi-lang-python=\"`template_spec_version_id`\" pulumi-lang-yaml=\"`templateSpecVersionId`\" pulumi-lang-java=\"`templateSpecVersionId`\"\u003e`template_spec_version_id`\u003c/span\u003e.\n"},"templateSpecVersionId":{"type":"string","description":"The ID of the Template Spec Version to deploy. Cannot be specified with \u003cspan pulumi-lang-nodejs=\"`templateContent`\" pulumi-lang-dotnet=\"`TemplateContent`\" pulumi-lang-go=\"`templateContent`\" pulumi-lang-python=\"`template_content`\" pulumi-lang-yaml=\"`templateContent`\" pulumi-lang-java=\"`templateContent`\"\u003e`template_content`\u003c/span\u003e.\n"}},"required":["location","name","outputContent","parametersContent","templateContent"],"inputProperties":{"debugLevel":{"type":"string","description":"The Debug Level which should be used for this Resource Group Template Deployment. Possible values are \u003cspan pulumi-lang-nodejs=\"`none`\" pulumi-lang-dotnet=\"`None`\" pulumi-lang-go=\"`none`\" pulumi-lang-python=\"`none`\" pulumi-lang-yaml=\"`none`\" pulumi-lang-java=\"`none`\"\u003e`none`\u003c/span\u003e, `requestContent`, `responseContent` and `requestContent, responseContent`.\n"},"location":{"type":"string","description":"The Azure Region where the Template should exist. Changing this forces a new Template to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Template. Changing this forces a new Template to be created.\n","willReplaceOnChanges":true},"parametersContent":{"type":"string","description":"The contents of the ARM Template parameters file - containing a JSON list of parameters.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Template.\n"},"templateContent":{"type":"string","description":"The contents of the ARM Template which should be deployed into this Resource Group. Cannot be specified with \u003cspan pulumi-lang-nodejs=\"`templateSpecVersionId`\" pulumi-lang-dotnet=\"`TemplateSpecVersionId`\" pulumi-lang-go=\"`templateSpecVersionId`\" pulumi-lang-python=\"`template_spec_version_id`\" pulumi-lang-yaml=\"`templateSpecVersionId`\" pulumi-lang-java=\"`templateSpecVersionId`\"\u003e`template_spec_version_id`\u003c/span\u003e.\n"},"templateSpecVersionId":{"type":"string","description":"The ID of the Template Spec Version to deploy. Cannot be specified with \u003cspan pulumi-lang-nodejs=\"`templateContent`\" pulumi-lang-dotnet=\"`TemplateContent`\" pulumi-lang-go=\"`templateContent`\" pulumi-lang-python=\"`template_content`\" pulumi-lang-yaml=\"`templateContent`\" pulumi-lang-java=\"`templateContent`\"\u003e`template_content`\u003c/span\u003e.\n"}},"stateInputs":{"description":"Input properties used for looking up and filtering TenantTemplateDeployment resources.\n","properties":{"debugLevel":{"type":"string","description":"The Debug Level which should be used for this Resource Group Template Deployment. Possible values are \u003cspan pulumi-lang-nodejs=\"`none`\" pulumi-lang-dotnet=\"`None`\" pulumi-lang-go=\"`none`\" pulumi-lang-python=\"`none`\" pulumi-lang-yaml=\"`none`\" pulumi-lang-java=\"`none`\"\u003e`none`\u003c/span\u003e, `requestContent`, `responseContent` and `requestContent, responseContent`.\n"},"location":{"type":"string","description":"The Azure Region where the Template should exist. Changing this forces a new Template to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Template. Changing this forces a new Template to be created.\n","willReplaceOnChanges":true},"outputContent":{"type":"string","description":"The JSON Content of the Outputs of the ARM Template Deployment.\n"},"parametersContent":{"type":"string","description":"The contents of the ARM Template parameters file - containing a JSON list of parameters.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Template.\n"},"templateContent":{"type":"string","description":"The contents of the ARM Template which should be deployed into this Resource Group. Cannot be specified with \u003cspan pulumi-lang-nodejs=\"`templateSpecVersionId`\" pulumi-lang-dotnet=\"`TemplateSpecVersionId`\" pulumi-lang-go=\"`templateSpecVersionId`\" pulumi-lang-python=\"`template_spec_version_id`\" pulumi-lang-yaml=\"`templateSpecVersionId`\" pulumi-lang-java=\"`templateSpecVersionId`\"\u003e`template_spec_version_id`\u003c/span\u003e.\n"},"templateSpecVersionId":{"type":"string","description":"The ID of the Template Spec Version to deploy. Cannot be specified with \u003cspan pulumi-lang-nodejs=\"`templateContent`\" pulumi-lang-dotnet=\"`TemplateContent`\" pulumi-lang-go=\"`templateContent`\" pulumi-lang-python=\"`template_content`\" pulumi-lang-yaml=\"`templateContent`\" pulumi-lang-java=\"`templateContent`\"\u003e`template_content`\u003c/span\u003e.\n"}},"type":"object"}},"azure:cosmosdb/account:Account":{"description":"Manages a CosmosDB (formally DocumentDB) Account.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\nimport * as random from \"@pulumi/random\";\n\nconst rg = new azure.core.ResourceGroup(\"rg\", {\n    name: \"sample-rg\",\n    location: \"westus\",\n});\nconst ri = new random.index.Integer(\"ri\", {\n    min: 10000,\n    max: 99999,\n});\nconst db = new azure.cosmosdb.Account(\"db\", {\n    name: `tfex-cosmos-db-${ri.result}`,\n    location: example.location,\n    resourceGroupName: example.name,\n    offerType: \"Standard\",\n    kind: \"MongoDB\",\n    automaticFailoverEnabled: true,\n    capabilities: [\n        {\n            name: \"EnableAggregationPipeline\",\n        },\n        {\n            name: \"mongoEnableDocLevelTTL\",\n        },\n        {\n            name: \"MongoDBv3.4\",\n        },\n        {\n            name: \"EnableMongo\",\n        },\n    ],\n    consistencyPolicy: {\n        consistencyLevel: \"BoundedStaleness\",\n        maxIntervalInSeconds: 300,\n        maxStalenessPrefix: 100000,\n    },\n    geoLocations: [\n        {\n            location: \"eastus\",\n            failoverPriority: 1,\n        },\n        {\n            location: \"westus\",\n            failoverPriority: 0,\n        },\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\nimport pulumi_random as random\n\nrg = azure.core.ResourceGroup(\"rg\",\n    name=\"sample-rg\",\n    location=\"westus\")\nri = random.index.Integer(\"ri\",\n    min=10000,\n    max=99999)\ndb = azure.cosmosdb.Account(\"db\",\n    name=f\"tfex-cosmos-db-{ri['result']}\",\n    location=example[\"location\"],\n    resource_group_name=example[\"name\"],\n    offer_type=\"Standard\",\n    kind=\"MongoDB\",\n    automatic_failover_enabled=True,\n    capabilities=[\n        {\n            \"name\": \"EnableAggregationPipeline\",\n        },\n        {\n            \"name\": \"mongoEnableDocLevelTTL\",\n        },\n        {\n            \"name\": \"MongoDBv3.4\",\n        },\n        {\n            \"name\": \"EnableMongo\",\n        },\n    ],\n    consistency_policy={\n        \"consistency_level\": \"BoundedStaleness\",\n        \"max_interval_in_seconds\": 300,\n        \"max_staleness_prefix\": 100000,\n    },\n    geo_locations=[\n        {\n            \"location\": \"eastus\",\n            \"failover_priority\": 1,\n        },\n        {\n            \"location\": \"westus\",\n            \"failover_priority\": 0,\n        },\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var rg = new Azure.Core.ResourceGroup(\"rg\", new()\n    {\n        Name = \"sample-rg\",\n        Location = \"westus\",\n    });\n\n    var ri = new Random.Index.Integer(\"ri\", new()\n    {\n        Min = 10000,\n        Max = 99999,\n    });\n\n    var db = new Azure.CosmosDB.Account(\"db\", new()\n    {\n        Name = $\"tfex-cosmos-db-{ri.Result}\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        OfferType = \"Standard\",\n        Kind = \"MongoDB\",\n        AutomaticFailoverEnabled = true,\n        Capabilities = new[]\n        {\n            new Azure.CosmosDB.Inputs.AccountCapabilityArgs\n            {\n                Name = \"EnableAggregationPipeline\",\n            },\n            new Azure.CosmosDB.Inputs.AccountCapabilityArgs\n            {\n                Name = \"mongoEnableDocLevelTTL\",\n            },\n            new Azure.CosmosDB.Inputs.AccountCapabilityArgs\n            {\n                Name = \"MongoDBv3.4\",\n            },\n            new Azure.CosmosDB.Inputs.AccountCapabilityArgs\n            {\n                Name = \"EnableMongo\",\n            },\n        },\n        ConsistencyPolicy = new Azure.CosmosDB.Inputs.AccountConsistencyPolicyArgs\n        {\n            ConsistencyLevel = \"BoundedStaleness\",\n            MaxIntervalInSeconds = 300,\n            MaxStalenessPrefix = 100000,\n        },\n        GeoLocations = new[]\n        {\n            new Azure.CosmosDB.Inputs.AccountGeoLocationArgs\n            {\n                Location = \"eastus\",\n                FailoverPriority = 1,\n            },\n            new Azure.CosmosDB.Inputs.AccountGeoLocationArgs\n            {\n                Location = \"westus\",\n                FailoverPriority = 0,\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/cosmosdb\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := core.NewResourceGroup(ctx, \"rg\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"sample-rg\"),\n\t\t\tLocation: pulumi.String(\"westus\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tri, err := random.NewInteger(ctx, \"ri\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cosmosdb.NewAccount(ctx, \"db\", \u0026cosmosdb.AccountArgs{\n\t\t\tName:                     pulumi.Sprintf(\"tfex-cosmos-db-%v\", ri.Result),\n\t\t\tLocation:                 pulumi.Any(example.Location),\n\t\t\tResourceGroupName:        pulumi.Any(example.Name),\n\t\t\tOfferType:                pulumi.String(\"Standard\"),\n\t\t\tKind:                     pulumi.String(\"MongoDB\"),\n\t\t\tAutomaticFailoverEnabled: pulumi.Bool(true),\n\t\t\tCapabilities: cosmosdb.AccountCapabilityArray{\n\t\t\t\t\u0026cosmosdb.AccountCapabilityArgs{\n\t\t\t\t\tName: pulumi.String(\"EnableAggregationPipeline\"),\n\t\t\t\t},\n\t\t\t\t\u0026cosmosdb.AccountCapabilityArgs{\n\t\t\t\t\tName: pulumi.String(\"mongoEnableDocLevelTTL\"),\n\t\t\t\t},\n\t\t\t\t\u0026cosmosdb.AccountCapabilityArgs{\n\t\t\t\t\tName: pulumi.String(\"MongoDBv3.4\"),\n\t\t\t\t},\n\t\t\t\t\u0026cosmosdb.AccountCapabilityArgs{\n\t\t\t\t\tName: pulumi.String(\"EnableMongo\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tConsistencyPolicy: \u0026cosmosdb.AccountConsistencyPolicyArgs{\n\t\t\t\tConsistencyLevel:     pulumi.String(\"BoundedStaleness\"),\n\t\t\t\tMaxIntervalInSeconds: pulumi.Int(300),\n\t\t\t\tMaxStalenessPrefix:   pulumi.Int(100000),\n\t\t\t},\n\t\t\tGeoLocations: cosmosdb.AccountGeoLocationArray{\n\t\t\t\t\u0026cosmosdb.AccountGeoLocationArgs{\n\t\t\t\t\tLocation:         pulumi.String(\"eastus\"),\n\t\t\t\t\tFailoverPriority: pulumi.Int(1),\n\t\t\t\t},\n\t\t\t\t\u0026cosmosdb.AccountGeoLocationArgs{\n\t\t\t\t\tLocation:         pulumi.String(\"westus\"),\n\t\t\t\t\tFailoverPriority: pulumi.Int(0),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.azure.cosmosdb.Account;\nimport com.pulumi.azure.cosmosdb.AccountArgs;\nimport com.pulumi.azure.cosmosdb.inputs.AccountCapabilityArgs;\nimport com.pulumi.azure.cosmosdb.inputs.AccountConsistencyPolicyArgs;\nimport com.pulumi.azure.cosmosdb.inputs.AccountGeoLocationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var rg = new ResourceGroup(\"rg\", ResourceGroupArgs.builder()\n            .name(\"sample-rg\")\n            .location(\"westus\")\n            .build());\n\n        var ri = new Integer(\"ri\", IntegerArgs.builder()\n            .min(10000)\n            .max(99999)\n            .build());\n\n        var db = new Account(\"db\", AccountArgs.builder()\n            .name(String.format(\"tfex-cosmos-db-%s\", ri.result()))\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .offerType(\"Standard\")\n            .kind(\"MongoDB\")\n            .automaticFailoverEnabled(true)\n            .capabilities(            \n                AccountCapabilityArgs.builder()\n                    .name(\"EnableAggregationPipeline\")\n                    .build(),\n                AccountCapabilityArgs.builder()\n                    .name(\"mongoEnableDocLevelTTL\")\n                    .build(),\n                AccountCapabilityArgs.builder()\n                    .name(\"MongoDBv3.4\")\n                    .build(),\n                AccountCapabilityArgs.builder()\n                    .name(\"EnableMongo\")\n                    .build())\n            .consistencyPolicy(AccountConsistencyPolicyArgs.builder()\n                .consistencyLevel(\"BoundedStaleness\")\n                .maxIntervalInSeconds(300)\n                .maxStalenessPrefix(100000)\n                .build())\n            .geoLocations(            \n                AccountGeoLocationArgs.builder()\n                    .location(\"eastus\")\n                    .failoverPriority(1)\n                    .build(),\n                AccountGeoLocationArgs.builder()\n                    .location(\"westus\")\n                    .failoverPriority(0)\n                    .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  rg:\n    type: azure:core:ResourceGroup\n    properties:\n      name: sample-rg\n      location: westus\n  ri:\n    type: random:Integer\n    properties:\n      min: 10000\n      max: 99999\n  db:\n    type: azure:cosmosdb:Account\n    properties:\n      name: tfex-cosmos-db-${ri.result}\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      offerType: Standard\n      kind: MongoDB\n      automaticFailoverEnabled: true\n      capabilities:\n        - name: EnableAggregationPipeline\n        - name: mongoEnableDocLevelTTL\n        - name: MongoDBv3.4\n        - name: EnableMongo\n      consistencyPolicy:\n        consistencyLevel: BoundedStaleness\n        maxIntervalInSeconds: 300\n        maxStalenessPrefix: 100000\n      geoLocations:\n        - location: eastus\n          failoverPriority: 1\n        - location: westus\n          failoverPriority: 0\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## User Assigned Identity Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\nimport * as std from \"@pulumi/std\";\n\nconst example = new azure.authorization.UserAssignedIdentity(\"example\", {\n    resourceGroupName: exampleAzurermResourceGroup.name,\n    location: exampleAzurermResourceGroup.location,\n    name: \"example-resource\",\n});\nconst exampleAccount = new azure.cosmosdb.Account(\"example\", {\n    name: \"example-resource\",\n    location: exampleAzurermResourceGroup.location,\n    resourceGroupName: exampleAzurermResourceGroup.name,\n    defaultIdentityType: std.joinOutput({\n        separator: \"=\",\n        input: [\n            \"UserAssignedIdentity\",\n            example.id,\n        ],\n    }).apply(invoke =\u003e invoke.result),\n    offerType: \"Standard\",\n    kind: \"MongoDB\",\n    capabilities: [{\n        name: \"EnableMongo\",\n    }],\n    consistencyPolicy: {\n        consistencyLevel: \"Strong\",\n    },\n    geoLocations: [{\n        location: \"westus\",\n        failoverPriority: 0,\n    }],\n    identity: {\n        type: \"UserAssigned\",\n        identityIds: [example.id],\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\nimport pulumi_std as std\n\nexample = azure.authorization.UserAssignedIdentity(\"example\",\n    resource_group_name=example_azurerm_resource_group[\"name\"],\n    location=example_azurerm_resource_group[\"location\"],\n    name=\"example-resource\")\nexample_account = azure.cosmosdb.Account(\"example\",\n    name=\"example-resource\",\n    location=example_azurerm_resource_group[\"location\"],\n    resource_group_name=example_azurerm_resource_group[\"name\"],\n    default_identity_type=std.join_output(separator=\"=\",\n        input=[\n            \"UserAssignedIdentity\",\n            example.id,\n        ]).apply(lambda invoke: invoke.result),\n    offer_type=\"Standard\",\n    kind=\"MongoDB\",\n    capabilities=[{\n        \"name\": \"EnableMongo\",\n    }],\n    consistency_policy={\n        \"consistency_level\": \"Strong\",\n    },\n    geo_locations=[{\n        \"location\": \"westus\",\n        \"failover_priority\": 0,\n    }],\n    identity={\n        \"type\": \"UserAssigned\",\n        \"identity_ids\": [example.id],\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Authorization.UserAssignedIdentity(\"example\", new()\n    {\n        ResourceGroupName = exampleAzurermResourceGroup.Name,\n        Location = exampleAzurermResourceGroup.Location,\n        Name = \"example-resource\",\n    });\n\n    var exampleAccount = new Azure.CosmosDB.Account(\"example\", new()\n    {\n        Name = \"example-resource\",\n        Location = exampleAzurermResourceGroup.Location,\n        ResourceGroupName = exampleAzurermResourceGroup.Name,\n        DefaultIdentityType = Std.Join.Invoke(new()\n        {\n            Separator = \"=\",\n            Input = new[]\n            {\n                \"UserAssignedIdentity\",\n                example.Id,\n            },\n        }).Apply(invoke =\u003e invoke.Result),\n        OfferType = \"Standard\",\n        Kind = \"MongoDB\",\n        Capabilities = new[]\n        {\n            new Azure.CosmosDB.Inputs.AccountCapabilityArgs\n            {\n                Name = \"EnableMongo\",\n            },\n        },\n        ConsistencyPolicy = new Azure.CosmosDB.Inputs.AccountConsistencyPolicyArgs\n        {\n            ConsistencyLevel = \"Strong\",\n        },\n        GeoLocations = new[]\n        {\n            new Azure.CosmosDB.Inputs.AccountGeoLocationArgs\n            {\n                Location = \"westus\",\n                FailoverPriority = 0,\n            },\n        },\n        Identity = new Azure.CosmosDB.Inputs.AccountIdentityArgs\n        {\n            Type = \"UserAssigned\",\n            IdentityIds = new[]\n            {\n                example.Id,\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/authorization\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/cosmosdb\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := authorization.NewUserAssignedIdentity(ctx, \"example\", \u0026authorization.UserAssignedIdentityArgs{\n\t\t\tResourceGroupName: pulumi.Any(exampleAzurermResourceGroup.Name),\n\t\t\tLocation:          pulumi.Any(exampleAzurermResourceGroup.Location),\n\t\t\tName:              pulumi.String(\"example-resource\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cosmosdb.NewAccount(ctx, \"example\", \u0026cosmosdb.AccountArgs{\n\t\t\tName:              pulumi.String(\"example-resource\"),\n\t\t\tLocation:          pulumi.Any(exampleAzurermResourceGroup.Location),\n\t\t\tResourceGroupName: pulumi.Any(exampleAzurermResourceGroup.Name),\n\t\t\tDefaultIdentityType: pulumi.String(std.JoinOutput(ctx, std.JoinOutputArgs{\n\t\t\t\tSeparator: pulumi.String(\"=\"),\n\t\t\t\tInput: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"UserAssignedIdentity\"),\n\t\t\t\t\texample.ID(),\n\t\t\t\t},\n\t\t\t}, nil).ApplyT(func(invoke std.JoinResult) (*string, error) {\n\t\t\t\treturn invoke.Result, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tOfferType: pulumi.String(\"Standard\"),\n\t\t\tKind:      pulumi.String(\"MongoDB\"),\n\t\t\tCapabilities: cosmosdb.AccountCapabilityArray{\n\t\t\t\t\u0026cosmosdb.AccountCapabilityArgs{\n\t\t\t\t\tName: pulumi.String(\"EnableMongo\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tConsistencyPolicy: \u0026cosmosdb.AccountConsistencyPolicyArgs{\n\t\t\t\tConsistencyLevel: pulumi.String(\"Strong\"),\n\t\t\t},\n\t\t\tGeoLocations: cosmosdb.AccountGeoLocationArray{\n\t\t\t\t\u0026cosmosdb.AccountGeoLocationArgs{\n\t\t\t\t\tLocation:         pulumi.String(\"westus\"),\n\t\t\t\t\tFailoverPriority: pulumi.Int(0),\n\t\t\t\t},\n\t\t\t},\n\t\t\tIdentity: \u0026cosmosdb.AccountIdentityArgs{\n\t\t\t\tType: pulumi.String(\"UserAssigned\"),\n\t\t\t\tIdentityIds: pulumi.StringArray{\n\t\t\t\t\texample.ID(),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.authorization.UserAssignedIdentity;\nimport com.pulumi.azure.authorization.UserAssignedIdentityArgs;\nimport com.pulumi.azure.cosmosdb.Account;\nimport com.pulumi.azure.cosmosdb.AccountArgs;\nimport com.pulumi.azure.cosmosdb.inputs.AccountCapabilityArgs;\nimport com.pulumi.azure.cosmosdb.inputs.AccountConsistencyPolicyArgs;\nimport com.pulumi.azure.cosmosdb.inputs.AccountGeoLocationArgs;\nimport com.pulumi.azure.cosmosdb.inputs.AccountIdentityArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.JoinArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new UserAssignedIdentity(\"example\", UserAssignedIdentityArgs.builder()\n            .resourceGroupName(exampleAzurermResourceGroup.name())\n            .location(exampleAzurermResourceGroup.location())\n            .name(\"example-resource\")\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"example-resource\")\n            .location(exampleAzurermResourceGroup.location())\n            .resourceGroupName(exampleAzurermResourceGroup.name())\n            .defaultIdentityType(StdFunctions.join(JoinArgs.builder()\n                .separator(\"=\")\n                .input(                \n                    \"UserAssignedIdentity\",\n                    example.id())\n                .build()).applyValue(_invoke -\u003e _invoke.result()))\n            .offerType(\"Standard\")\n            .kind(\"MongoDB\")\n            .capabilities(AccountCapabilityArgs.builder()\n                .name(\"EnableMongo\")\n                .build())\n            .consistencyPolicy(AccountConsistencyPolicyArgs.builder()\n                .consistencyLevel(\"Strong\")\n                .build())\n            .geoLocations(AccountGeoLocationArgs.builder()\n                .location(\"westus\")\n                .failoverPriority(0)\n                .build())\n            .identity(AccountIdentityArgs.builder()\n                .type(\"UserAssigned\")\n                .identityIds(example.id())\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:authorization:UserAssignedIdentity\n    properties:\n      resourceGroupName: ${exampleAzurermResourceGroup.name}\n      location: ${exampleAzurermResourceGroup.location}\n      name: example-resource\n  exampleAccount:\n    type: azure:cosmosdb:Account\n    name: example\n    properties:\n      name: example-resource\n      location: ${exampleAzurermResourceGroup.location}\n      resourceGroupName: ${exampleAzurermResourceGroup.name}\n      defaultIdentityType:\n        fn::invoke:\n          function: std:join\n          arguments:\n            separator: =\n            input:\n              - UserAssignedIdentity\n              - ${example.id}\n          return: result\n      offerType: Standard\n      kind: MongoDB\n      capabilities:\n        - name: EnableMongo\n      consistencyPolicy:\n        consistencyLevel: Strong\n      geoLocations:\n        - location: westus\n          failoverPriority: 0\n      identity:\n        type: UserAssigned\n        identityIds:\n          - ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.DocumentDB` - 2024-08-15\n\n## Import\n\nCosmosDB Accounts can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:cosmosdb/account:Account account1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.DocumentDB/databaseAccounts/account1\n```\n\n","properties":{"accessKeyMetadataWritesEnabled":{"type":"boolean"},"analyticalStorage":{"$ref":"#/types/azure:cosmosdb/AccountAnalyticalStorage:AccountAnalyticalStorage","description":"An \u003cspan pulumi-lang-nodejs=\"`analyticalStorage`\" pulumi-lang-dotnet=\"`AnalyticalStorage`\" pulumi-lang-go=\"`analyticalStorage`\" pulumi-lang-python=\"`analytical_storage`\" pulumi-lang-yaml=\"`analyticalStorage`\" pulumi-lang-java=\"`analyticalStorage`\"\u003e`analytical_storage`\u003c/span\u003e block as defined below.\n"},"analyticalStorageEnabled":{"type":"boolean"},"automaticFailoverEnabled":{"type":"boolean"},"backup":{"$ref":"#/types/azure:cosmosdb/AccountBackup:AccountBackup"},"burstCapacityEnabled":{"type":"boolean"},"capabilities":{"type":"array","items":{"$ref":"#/types/azure:cosmosdb/AccountCapability:AccountCapability"}},"capacity":{"$ref":"#/types/azure:cosmosdb/AccountCapacity:AccountCapacity","description":"A \u003cspan pulumi-lang-nodejs=\"`capacity`\" pulumi-lang-dotnet=\"`Capacity`\" pulumi-lang-go=\"`capacity`\" pulumi-lang-python=\"`capacity`\" pulumi-lang-yaml=\"`capacity`\" pulumi-lang-java=\"`capacity`\"\u003e`capacity`\u003c/span\u003e block as defined below.\n"},"consistencyPolicy":{"$ref":"#/types/azure:cosmosdb/AccountConsistencyPolicy:AccountConsistencyPolicy"},"corsRule":{"$ref":"#/types/azure:cosmosdb/AccountCorsRule:AccountCorsRule"},"createMode":{"type":"string","description":"The creation mode for the CosmosDB Account. Possible values are `Default` and `Restore`. Changing this forces a new resource to be created.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`createMode`\" pulumi-lang-dotnet=\"`CreateMode`\" pulumi-lang-go=\"`createMode`\" pulumi-lang-python=\"`create_mode`\" pulumi-lang-yaml=\"`createMode`\" pulumi-lang-java=\"`createMode`\"\u003e`create_mode`\u003c/span\u003e can only be defined when the `backup.type` is set to `Continuous`.\n"},"defaultIdentityType":{"type":"string","description":"The default identity for accessing Key Vault. Possible values are `FirstPartyIdentity`, `SystemAssignedIdentity` or `UserAssignedIdentity`. Defaults to `FirstPartyIdentity`.\n"},"endpoint":{"type":"string","description":"The endpoint used to connect to the CosmosDB account.\n"},"freeTierEnabled":{"type":"boolean"},"geoLocations":{"type":"array","items":{"$ref":"#/types/azure:cosmosdb/AccountGeoLocation:AccountGeoLocation"}},"identity":{"$ref":"#/types/azure:cosmosdb/AccountIdentity:AccountIdentity"},"ipRangeFilters":{"type":"array","items":{"type":"string"}},"isVirtualNetworkFilterEnabled":{"type":"boolean"},"keyVaultKeyId":{"type":"string"},"kind":{"type":"string"},"localAuthenticationDisabled":{"type":"boolean"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n"},"managedHsmKeyId":{"type":"string"},"minimalTlsVersion":{"type":"string","description":"Specifies the minimal TLS version for the CosmosDB account. Possible values are: `Tls`, `Tls11`, and `Tls12`. Defaults to `Tls12`.\n\n\u003e **Note:** Azure Services will require TLS 1.2+ by August 2025, please see this [announcement](https://azure.microsoft.com/en-us/updates/v2/update-retirement-tls1-0-tls1-1-versions-azure-services/) for more details.\n"},"mongoServerVersion":{"type":"string"},"multipleWriteLocationsEnabled":{"type":"boolean"},"name":{"type":"string","description":"Specifies the name of the CosmosDB Account. Changing this forces a new resource to be created.\n"},"networkAclBypassForAzureServices":{"type":"boolean"},"networkAclBypassIds":{"type":"array","items":{"type":"string"}},"offerType":{"type":"string","description":"Specifies the Offer Type to use for this CosmosDB Account; currently, this can only be set to `Standard`.\n"},"partitionMergeEnabled":{"type":"boolean"},"primaryKey":{"type":"string","description":"The Primary key for the CosmosDB Account.\n","secret":true},"primaryMongodbConnectionString":{"type":"string","description":"Primary Mongodb connection string for the CosmosDB Account.\n","secret":true},"primaryReadonlyKey":{"type":"string","description":"The Primary read-only Key for the CosmosDB Account.\n","secret":true},"primaryReadonlyMongodbConnectionString":{"type":"string","description":"Primary readonly Mongodb connection string for the CosmosDB Account.\n","secret":true},"primaryReadonlySqlConnectionString":{"type":"string","description":"Primary readonly SQL connection string for the CosmosDB Account.\n","secret":true},"primarySqlConnectionString":{"type":"string","description":"Primary SQL connection string for the CosmosDB Account.\n","secret":true},"publicNetworkAccessEnabled":{"type":"boolean"},"readEndpoints":{"type":"array","items":{"type":"string"},"description":"A list of read endpoints available for this CosmosDB account.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the CosmosDB Account is created. Changing this forces a new resource to be created.\n"},"restore":{"$ref":"#/types/azure:cosmosdb/AccountRestore:AccountRestore"},"secondaryKey":{"type":"string","description":"The Secondary key for the CosmosDB Account.\n","secret":true},"secondaryMongodbConnectionString":{"type":"string","description":"Secondary Mongodb connection string for the CosmosDB Account.\n","secret":true},"secondaryReadonlyKey":{"type":"string","description":"The Secondary read-only key for the CosmosDB Account.\n","secret":true},"secondaryReadonlyMongodbConnectionString":{"type":"string","description":"Secondary readonly Mongodb connection string for the CosmosDB Account.\n","secret":true},"secondaryReadonlySqlConnectionString":{"type":"string","description":"Secondary readonly SQL connection string for the CosmosDB Account.\n","secret":true},"secondarySqlConnectionString":{"type":"string","description":"Secondary SQL connection string for the CosmosDB Account.\n","secret":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"virtualNetworkRules":{"type":"array","items":{"$ref":"#/types/azure:cosmosdb/AccountVirtualNetworkRule:AccountVirtualNetworkRule"}},"writeEndpoints":{"type":"array","items":{"type":"string"},"description":"A list of write endpoints available for this CosmosDB account.\n"}},"required":["analyticalStorage","backup","capabilities","capacity","consistencyPolicy","createMode","endpoint","geoLocations","location","mongoServerVersion","name","offerType","primaryKey","primaryMongodbConnectionString","primaryReadonlyKey","primaryReadonlyMongodbConnectionString","primaryReadonlySqlConnectionString","primarySqlConnectionString","readEndpoints","resourceGroupName","secondaryKey","secondaryMongodbConnectionString","secondaryReadonlyKey","secondaryReadonlyMongodbConnectionString","secondaryReadonlySqlConnectionString","secondarySqlConnectionString","writeEndpoints"],"inputProperties":{"accessKeyMetadataWritesEnabled":{"type":"boolean"},"analyticalStorage":{"$ref":"#/types/azure:cosmosdb/AccountAnalyticalStorage:AccountAnalyticalStorage","description":"An \u003cspan pulumi-lang-nodejs=\"`analyticalStorage`\" pulumi-lang-dotnet=\"`AnalyticalStorage`\" pulumi-lang-go=\"`analyticalStorage`\" pulumi-lang-python=\"`analytical_storage`\" pulumi-lang-yaml=\"`analyticalStorage`\" pulumi-lang-java=\"`analyticalStorage`\"\u003e`analytical_storage`\u003c/span\u003e block as defined below.\n"},"analyticalStorageEnabled":{"type":"boolean"},"automaticFailoverEnabled":{"type":"boolean"},"backup":{"$ref":"#/types/azure:cosmosdb/AccountBackup:AccountBackup"},"burstCapacityEnabled":{"type":"boolean"},"capabilities":{"type":"array","items":{"$ref":"#/types/azure:cosmosdb/AccountCapability:AccountCapability"}},"capacity":{"$ref":"#/types/azure:cosmosdb/AccountCapacity:AccountCapacity","description":"A \u003cspan pulumi-lang-nodejs=\"`capacity`\" pulumi-lang-dotnet=\"`Capacity`\" pulumi-lang-go=\"`capacity`\" pulumi-lang-python=\"`capacity`\" pulumi-lang-yaml=\"`capacity`\" pulumi-lang-java=\"`capacity`\"\u003e`capacity`\u003c/span\u003e block as defined below.\n"},"consistencyPolicy":{"$ref":"#/types/azure:cosmosdb/AccountConsistencyPolicy:AccountConsistencyPolicy"},"corsRule":{"$ref":"#/types/azure:cosmosdb/AccountCorsRule:AccountCorsRule"},"createMode":{"type":"string","description":"The creation mode for the CosmosDB Account. Possible values are `Default` and `Restore`. Changing this forces a new resource to be created.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`createMode`\" pulumi-lang-dotnet=\"`CreateMode`\" pulumi-lang-go=\"`createMode`\" pulumi-lang-python=\"`create_mode`\" pulumi-lang-yaml=\"`createMode`\" pulumi-lang-java=\"`createMode`\"\u003e`create_mode`\u003c/span\u003e can only be defined when the `backup.type` is set to `Continuous`.\n","willReplaceOnChanges":true},"defaultIdentityType":{"type":"string","description":"The default identity for accessing Key Vault. Possible values are `FirstPartyIdentity`, `SystemAssignedIdentity` or `UserAssignedIdentity`. Defaults to `FirstPartyIdentity`.\n"},"freeTierEnabled":{"type":"boolean","willReplaceOnChanges":true},"geoLocations":{"type":"array","items":{"$ref":"#/types/azure:cosmosdb/AccountGeoLocation:AccountGeoLocation"}},"identity":{"$ref":"#/types/azure:cosmosdb/AccountIdentity:AccountIdentity"},"ipRangeFilters":{"type":"array","items":{"type":"string"}},"isVirtualNetworkFilterEnabled":{"type":"boolean"},"keyVaultKeyId":{"type":"string","willReplaceOnChanges":true},"kind":{"type":"string","willReplaceOnChanges":true},"localAuthenticationDisabled":{"type":"boolean"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"managedHsmKeyId":{"type":"string","willReplaceOnChanges":true},"minimalTlsVersion":{"type":"string","description":"Specifies the minimal TLS version for the CosmosDB account. Possible values are: `Tls`, `Tls11`, and `Tls12`. Defaults to `Tls12`.\n\n\u003e **Note:** Azure Services will require TLS 1.2+ by August 2025, please see this [announcement](https://azure.microsoft.com/en-us/updates/v2/update-retirement-tls1-0-tls1-1-versions-azure-services/) for more details.\n"},"mongoServerVersion":{"type":"string"},"multipleWriteLocationsEnabled":{"type":"boolean"},"name":{"type":"string","description":"Specifies the name of the CosmosDB Account. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"networkAclBypassForAzureServices":{"type":"boolean"},"networkAclBypassIds":{"type":"array","items":{"type":"string"}},"offerType":{"type":"string","description":"Specifies the Offer Type to use for this CosmosDB Account; currently, this can only be set to `Standard`.\n"},"partitionMergeEnabled":{"type":"boolean"},"publicNetworkAccessEnabled":{"type":"boolean"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the CosmosDB Account is created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"restore":{"$ref":"#/types/azure:cosmosdb/AccountRestore:AccountRestore"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"virtualNetworkRules":{"type":"array","items":{"$ref":"#/types/azure:cosmosdb/AccountVirtualNetworkRule:AccountVirtualNetworkRule"}}},"requiredInputs":["consistencyPolicy","geoLocations","offerType","resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering Account resources.\n","properties":{"accessKeyMetadataWritesEnabled":{"type":"boolean"},"analyticalStorage":{"$ref":"#/types/azure:cosmosdb/AccountAnalyticalStorage:AccountAnalyticalStorage","description":"An \u003cspan pulumi-lang-nodejs=\"`analyticalStorage`\" pulumi-lang-dotnet=\"`AnalyticalStorage`\" pulumi-lang-go=\"`analyticalStorage`\" pulumi-lang-python=\"`analytical_storage`\" pulumi-lang-yaml=\"`analyticalStorage`\" pulumi-lang-java=\"`analyticalStorage`\"\u003e`analytical_storage`\u003c/span\u003e block as defined below.\n"},"analyticalStorageEnabled":{"type":"boolean"},"automaticFailoverEnabled":{"type":"boolean"},"backup":{"$ref":"#/types/azure:cosmosdb/AccountBackup:AccountBackup"},"burstCapacityEnabled":{"type":"boolean"},"capabilities":{"type":"array","items":{"$ref":"#/types/azure:cosmosdb/AccountCapability:AccountCapability"}},"capacity":{"$ref":"#/types/azure:cosmosdb/AccountCapacity:AccountCapacity","description":"A \u003cspan pulumi-lang-nodejs=\"`capacity`\" pulumi-lang-dotnet=\"`Capacity`\" pulumi-lang-go=\"`capacity`\" pulumi-lang-python=\"`capacity`\" pulumi-lang-yaml=\"`capacity`\" pulumi-lang-java=\"`capacity`\"\u003e`capacity`\u003c/span\u003e block as defined below.\n"},"consistencyPolicy":{"$ref":"#/types/azure:cosmosdb/AccountConsistencyPolicy:AccountConsistencyPolicy"},"corsRule":{"$ref":"#/types/azure:cosmosdb/AccountCorsRule:AccountCorsRule"},"createMode":{"type":"string","description":"The creation mode for the CosmosDB Account. Possible values are `Default` and `Restore`. Changing this forces a new resource to be created.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`createMode`\" pulumi-lang-dotnet=\"`CreateMode`\" pulumi-lang-go=\"`createMode`\" pulumi-lang-python=\"`create_mode`\" pulumi-lang-yaml=\"`createMode`\" pulumi-lang-java=\"`createMode`\"\u003e`create_mode`\u003c/span\u003e can only be defined when the `backup.type` is set to `Continuous`.\n","willReplaceOnChanges":true},"defaultIdentityType":{"type":"string","description":"The default identity for accessing Key Vault. Possible values are `FirstPartyIdentity`, `SystemAssignedIdentity` or `UserAssignedIdentity`. Defaults to `FirstPartyIdentity`.\n"},"endpoint":{"type":"string","description":"The endpoint used to connect to the CosmosDB account.\n"},"freeTierEnabled":{"type":"boolean","willReplaceOnChanges":true},"geoLocations":{"type":"array","items":{"$ref":"#/types/azure:cosmosdb/AccountGeoLocation:AccountGeoLocation"}},"identity":{"$ref":"#/types/azure:cosmosdb/AccountIdentity:AccountIdentity"},"ipRangeFilters":{"type":"array","items":{"type":"string"}},"isVirtualNetworkFilterEnabled":{"type":"boolean"},"keyVaultKeyId":{"type":"string","willReplaceOnChanges":true},"kind":{"type":"string","willReplaceOnChanges":true},"localAuthenticationDisabled":{"type":"boolean"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"managedHsmKeyId":{"type":"string","willReplaceOnChanges":true},"minimalTlsVersion":{"type":"string","description":"Specifies the minimal TLS version for the CosmosDB account. Possible values are: `Tls`, `Tls11`, and `Tls12`. Defaults to `Tls12`.\n\n\u003e **Note:** Azure Services will require TLS 1.2+ by August 2025, please see this [announcement](https://azure.microsoft.com/en-us/updates/v2/update-retirement-tls1-0-tls1-1-versions-azure-services/) for more details.\n"},"mongoServerVersion":{"type":"string"},"multipleWriteLocationsEnabled":{"type":"boolean"},"name":{"type":"string","description":"Specifies the name of the CosmosDB Account. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"networkAclBypassForAzureServices":{"type":"boolean"},"networkAclBypassIds":{"type":"array","items":{"type":"string"}},"offerType":{"type":"string","description":"Specifies the Offer Type to use for this CosmosDB Account; currently, this can only be set to `Standard`.\n"},"partitionMergeEnabled":{"type":"boolean"},"primaryKey":{"type":"string","description":"The Primary key for the CosmosDB Account.\n","secret":true},"primaryMongodbConnectionString":{"type":"string","description":"Primary Mongodb connection string for the CosmosDB Account.\n","secret":true},"primaryReadonlyKey":{"type":"string","description":"The Primary read-only Key for the CosmosDB Account.\n","secret":true},"primaryReadonlyMongodbConnectionString":{"type":"string","description":"Primary readonly Mongodb connection string for the CosmosDB Account.\n","secret":true},"primaryReadonlySqlConnectionString":{"type":"string","description":"Primary readonly SQL connection string for the CosmosDB Account.\n","secret":true},"primarySqlConnectionString":{"type":"string","description":"Primary SQL connection string for the CosmosDB Account.\n","secret":true},"publicNetworkAccessEnabled":{"type":"boolean"},"readEndpoints":{"type":"array","items":{"type":"string"},"description":"A list of read endpoints available for this CosmosDB account.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the CosmosDB Account is created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"restore":{"$ref":"#/types/azure:cosmosdb/AccountRestore:AccountRestore"},"secondaryKey":{"type":"string","description":"The Secondary key for the CosmosDB Account.\n","secret":true},"secondaryMongodbConnectionString":{"type":"string","description":"Secondary Mongodb connection string for the CosmosDB Account.\n","secret":true},"secondaryReadonlyKey":{"type":"string","description":"The Secondary read-only key for the CosmosDB Account.\n","secret":true},"secondaryReadonlyMongodbConnectionString":{"type":"string","description":"Secondary readonly Mongodb connection string for the CosmosDB Account.\n","secret":true},"secondaryReadonlySqlConnectionString":{"type":"string","description":"Secondary readonly SQL connection string for the CosmosDB Account.\n","secret":true},"secondarySqlConnectionString":{"type":"string","description":"Secondary SQL connection string for the CosmosDB Account.\n","secret":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"virtualNetworkRules":{"type":"array","items":{"$ref":"#/types/azure:cosmosdb/AccountVirtualNetworkRule:AccountVirtualNetworkRule"}},"writeEndpoints":{"type":"array","items":{"type":"string"},"description":"A list of write endpoints available for this CosmosDB account.\n"}},"type":"object"}},"azure:cosmosdb/cassandraCluster:CassandraCluster":{"description":"Manages a Cassandra Cluster.\n\n\u003e **Note:** In order for the `Azure Managed Instances for Apache Cassandra` to work properly the product requires the `Azure Cosmos DB` Application ID to be present and working in your tenant. If the `Azure Cosmos DB` Application ID is missing in your environment you will need to have an administrator of your tenant run the following command to add the `Azure Cosmos DB` Application ID to your tenant:\n\n```powershell\nNew-AzADServicePrincipal -ApplicationId a232010e-820c-4083-83bb-3ace5fc29d0b\n```\n\n## Import\n\nCassandra Clusters can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:cosmosdb/cassandraCluster:CassandraCluster example /subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/resGroup1/providers/Microsoft.DocumentDB/cassandraClusters/cluster1\n```\n\n","properties":{"authenticationMethod":{"type":"string","description":"The authentication method that is used to authenticate clients. Possible values are `None` and `Cassandra`. Defaults to `Cassandra`.\n"},"clientCertificatePems":{"type":"array","items":{"type":"string"},"description":"A list of TLS certificates that is used to authorize client connecting to the Cassandra Cluster.\n"},"defaultAdminPassword":{"type":"string","description":"The initial admin password for this Cassandra Cluster. Changing this forces a new resource to be created.\n","secret":true},"delegatedManagementSubnetId":{"type":"string","description":"The ID of the delegated management subnet for this Cassandra Cluster. Changing this forces a new Cassandra Cluster to be created.\n"},"externalGossipCertificatePems":{"type":"array","items":{"type":"string"},"description":"A list of TLS certificates that is used to authorize gossip from unmanaged Cassandra Data Center.\n"},"externalSeedNodeIpAddresses":{"type":"array","items":{"type":"string"},"description":"A list of IP Addresses of the seed nodes in unmanaged the Cassandra Data Center which will be added to the seed node lists of all managed nodes.\n"},"hoursBetweenBackups":{"type":"integer","description":"The number of hours to wait between taking a backup of the Cassandra Cluster. Defaults to \u003cspan pulumi-lang-nodejs=\"`24`\" pulumi-lang-dotnet=\"`24`\" pulumi-lang-go=\"`24`\" pulumi-lang-python=\"`24`\" pulumi-lang-yaml=\"`24`\" pulumi-lang-java=\"`24`\"\u003e`24`\u003c/span\u003e.\n\n\u003e **Note:** To disable this feature, set this property to \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"identity":{"$ref":"#/types/azure:cosmosdb/CassandraClusterIdentity:CassandraClusterIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"location":{"type":"string","description":"The Azure Region where the Cassandra Cluster should exist. Changing this forces a new Cassandra Cluster to be created.\n"},"name":{"type":"string","description":"The name which should be used for this Cassandra Cluster. Changing this forces a new Cassandra Cluster to be created.\n"},"repairEnabled":{"type":"boolean","description":"Is the automatic repair enabled on the Cassandra Cluster? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Cassandra Cluster should exist. Changing this forces a new Cassandra Cluster to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags assigned to the resource.\n"},"version":{"type":"string","description":"The version of Cassandra what the Cluster converges to run. Possible values are `3.11`, `4.0`, `4.1` and `5.0`. Defaults to `3.11`. Changing this forces a new Cassandra Cluster to be created.\n"}},"required":["defaultAdminPassword","delegatedManagementSubnetId","location","name","resourceGroupName"],"inputProperties":{"authenticationMethod":{"type":"string","description":"The authentication method that is used to authenticate clients. Possible values are `None` and `Cassandra`. Defaults to `Cassandra`.\n"},"clientCertificatePems":{"type":"array","items":{"type":"string"},"description":"A list of TLS certificates that is used to authorize client connecting to the Cassandra Cluster.\n"},"defaultAdminPassword":{"type":"string","description":"The initial admin password for this Cassandra Cluster. Changing this forces a new resource to be created.\n","secret":true,"willReplaceOnChanges":true},"delegatedManagementSubnetId":{"type":"string","description":"The ID of the delegated management subnet for this Cassandra Cluster. Changing this forces a new Cassandra Cluster to be created.\n","willReplaceOnChanges":true},"externalGossipCertificatePems":{"type":"array","items":{"type":"string"},"description":"A list of TLS certificates that is used to authorize gossip from unmanaged Cassandra Data Center.\n"},"externalSeedNodeIpAddresses":{"type":"array","items":{"type":"string"},"description":"A list of IP Addresses of the seed nodes in unmanaged the Cassandra Data Center which will be added to the seed node lists of all managed nodes.\n"},"hoursBetweenBackups":{"type":"integer","description":"The number of hours to wait between taking a backup of the Cassandra Cluster. Defaults to \u003cspan pulumi-lang-nodejs=\"`24`\" pulumi-lang-dotnet=\"`24`\" pulumi-lang-go=\"`24`\" pulumi-lang-python=\"`24`\" pulumi-lang-yaml=\"`24`\" pulumi-lang-java=\"`24`\"\u003e`24`\u003c/span\u003e.\n\n\u003e **Note:** To disable this feature, set this property to \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"identity":{"$ref":"#/types/azure:cosmosdb/CassandraClusterIdentity:CassandraClusterIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"location":{"type":"string","description":"The Azure Region where the Cassandra Cluster should exist. Changing this forces a new Cassandra Cluster to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Cassandra Cluster. Changing this forces a new Cassandra Cluster to be created.\n","willReplaceOnChanges":true},"repairEnabled":{"type":"boolean","description":"Is the automatic repair enabled on the Cassandra Cluster? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Cassandra Cluster should exist. Changing this forces a new Cassandra Cluster to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags assigned to the resource.\n"},"version":{"type":"string","description":"The version of Cassandra what the Cluster converges to run. Possible values are `3.11`, `4.0`, `4.1` and `5.0`. Defaults to `3.11`. Changing this forces a new Cassandra Cluster to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["defaultAdminPassword","delegatedManagementSubnetId","resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering CassandraCluster resources.\n","properties":{"authenticationMethod":{"type":"string","description":"The authentication method that is used to authenticate clients. Possible values are `None` and `Cassandra`. Defaults to `Cassandra`.\n"},"clientCertificatePems":{"type":"array","items":{"type":"string"},"description":"A list of TLS certificates that is used to authorize client connecting to the Cassandra Cluster.\n"},"defaultAdminPassword":{"type":"string","description":"The initial admin password for this Cassandra Cluster. Changing this forces a new resource to be created.\n","secret":true,"willReplaceOnChanges":true},"delegatedManagementSubnetId":{"type":"string","description":"The ID of the delegated management subnet for this Cassandra Cluster. Changing this forces a new Cassandra Cluster to be created.\n","willReplaceOnChanges":true},"externalGossipCertificatePems":{"type":"array","items":{"type":"string"},"description":"A list of TLS certificates that is used to authorize gossip from unmanaged Cassandra Data Center.\n"},"externalSeedNodeIpAddresses":{"type":"array","items":{"type":"string"},"description":"A list of IP Addresses of the seed nodes in unmanaged the Cassandra Data Center which will be added to the seed node lists of all managed nodes.\n"},"hoursBetweenBackups":{"type":"integer","description":"The number of hours to wait between taking a backup of the Cassandra Cluster. Defaults to \u003cspan pulumi-lang-nodejs=\"`24`\" pulumi-lang-dotnet=\"`24`\" pulumi-lang-go=\"`24`\" pulumi-lang-python=\"`24`\" pulumi-lang-yaml=\"`24`\" pulumi-lang-java=\"`24`\"\u003e`24`\u003c/span\u003e.\n\n\u003e **Note:** To disable this feature, set this property to \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"identity":{"$ref":"#/types/azure:cosmosdb/CassandraClusterIdentity:CassandraClusterIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"location":{"type":"string","description":"The Azure Region where the Cassandra Cluster should exist. Changing this forces a new Cassandra Cluster to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Cassandra Cluster. Changing this forces a new Cassandra Cluster to be created.\n","willReplaceOnChanges":true},"repairEnabled":{"type":"boolean","description":"Is the automatic repair enabled on the Cassandra Cluster? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Cassandra Cluster should exist. Changing this forces a new Cassandra Cluster to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags assigned to the resource.\n"},"version":{"type":"string","description":"The version of Cassandra what the Cluster converges to run. Possible values are `3.11`, `4.0`, `4.1` and `5.0`. Defaults to `3.11`. Changing this forces a new Cassandra Cluster to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:cosmosdb/cassandraDatacenter:CassandraDatacenter":{"description":"Manages a Cassandra Datacenter.\n\n\u003e **Note:** In order for the `Azure Managed Instances for Apache Cassandra` to work properly the product requires the `Azure Cosmos DB` Application ID to be present and working in your tenant. If the `Azure Cosmos DB` Application ID is missing in your environment you will need to have an administrator of your tenant run the following command to add the `Azure Cosmos DB` Application ID to your tenant:\n\n```powershell\nNew-AzADServicePrincipal -ApplicationId a232010e-820c-4083-83bb-3ace5fc29d0b\n```\n\n## Import\n\nCassandra Datacenters can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:cosmosdb/cassandraDatacenter:CassandraDatacenter example /subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/resGroup1/providers/Microsoft.DocumentDB/cassandraClusters/cluster1/dataCenters/dc1\n```\n\n","properties":{"availabilityZonesEnabled":{"type":"boolean","description":"Determines whether availability zones are enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"backupStorageCustomerKeyUri":{"type":"string","description":"The key URI of the customer key to use for the encryption of the backup Storage Account.\n"},"base64EncodedYamlFragment":{"type":"string","description":"The fragment of the cassandra.yaml configuration file to be included in the cassandra.yaml for all nodes in this Cassandra Datacenter. The fragment should be Base64 encoded and only a subset of keys is allowed.\n"},"cassandraClusterId":{"type":"string","description":"The ID of the Cassandra Cluster. Changing this forces a new Cassandra Datacenter to be created.\n"},"delegatedManagementSubnetId":{"type":"string","description":"The ID of the delegated management subnet for this Cassandra Datacenter. Changing this forces a new Cassandra Datacenter to be created.\n"},"diskCount":{"type":"integer","description":"Determines the number of p30 disks that are attached to each node.\n"},"diskSku":{"type":"string","description":"The Disk SKU that is used for this Cassandra Datacenter. Defaults to `P30`.\n"},"location":{"type":"string","description":"The Azure Region where the Cassandra Datacenter should exist. Changing this forces a new Cassandra Datacenter to be created.\n"},"managedDiskCustomerKeyUri":{"type":"string","description":"The key URI of the customer key to use for the encryption of the Managed Disk.\n"},"name":{"type":"string","description":"The name which should be used for this Cassandra Datacenter. Changing this forces a new Cassandra Datacenter to be created.\n"},"nodeCount":{"type":"integer","description":"The number of nodes the Cassandra Datacenter should have. The number should be equal or greater than \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e.\n"},"seedNodeIpAddresses":{"type":"array","items":{"type":"string"},"description":"A list of IP Address for the seed nodes in this Cassandra Datacenter.\n"},"skuName":{"type":"string","description":"Determines the selected sku. Defaults to `Standard_E16s_v5`.\n\n\u003e **Note:** In v4.0 of the provider the \u003cspan pulumi-lang-nodejs=\"`skuName`\" pulumi-lang-dotnet=\"`SkuName`\" pulumi-lang-go=\"`skuName`\" pulumi-lang-python=\"`sku_name`\" pulumi-lang-yaml=\"`skuName`\" pulumi-lang-java=\"`skuName`\"\u003e`sku_name`\u003c/span\u003e will have a default value of `Standard_E16s_v5`.\n"}},"required":["cassandraClusterId","delegatedManagementSubnetId","location","name","seedNodeIpAddresses"],"inputProperties":{"availabilityZonesEnabled":{"type":"boolean","description":"Determines whether availability zones are enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"backupStorageCustomerKeyUri":{"type":"string","description":"The key URI of the customer key to use for the encryption of the backup Storage Account.\n"},"base64EncodedYamlFragment":{"type":"string","description":"The fragment of the cassandra.yaml configuration file to be included in the cassandra.yaml for all nodes in this Cassandra Datacenter. The fragment should be Base64 encoded and only a subset of keys is allowed.\n"},"cassandraClusterId":{"type":"string","description":"The ID of the Cassandra Cluster. Changing this forces a new Cassandra Datacenter to be created.\n","willReplaceOnChanges":true},"delegatedManagementSubnetId":{"type":"string","description":"The ID of the delegated management subnet for this Cassandra Datacenter. Changing this forces a new Cassandra Datacenter to be created.\n","willReplaceOnChanges":true},"diskCount":{"type":"integer","description":"Determines the number of p30 disks that are attached to each node.\n"},"diskSku":{"type":"string","description":"The Disk SKU that is used for this Cassandra Datacenter. Defaults to `P30`.\n"},"location":{"type":"string","description":"The Azure Region where the Cassandra Datacenter should exist. Changing this forces a new Cassandra Datacenter to be created.\n","willReplaceOnChanges":true},"managedDiskCustomerKeyUri":{"type":"string","description":"The key URI of the customer key to use for the encryption of the Managed Disk.\n"},"name":{"type":"string","description":"The name which should be used for this Cassandra Datacenter. Changing this forces a new Cassandra Datacenter to be created.\n","willReplaceOnChanges":true},"nodeCount":{"type":"integer","description":"The number of nodes the Cassandra Datacenter should have. The number should be equal or greater than \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e.\n"},"skuName":{"type":"string","description":"Determines the selected sku. Defaults to `Standard_E16s_v5`.\n\n\u003e **Note:** In v4.0 of the provider the \u003cspan pulumi-lang-nodejs=\"`skuName`\" pulumi-lang-dotnet=\"`SkuName`\" pulumi-lang-go=\"`skuName`\" pulumi-lang-python=\"`sku_name`\" pulumi-lang-yaml=\"`skuName`\" pulumi-lang-java=\"`skuName`\"\u003e`sku_name`\u003c/span\u003e will have a default value of `Standard_E16s_v5`.\n"}},"requiredInputs":["cassandraClusterId","delegatedManagementSubnetId"],"stateInputs":{"description":"Input properties used for looking up and filtering CassandraDatacenter resources.\n","properties":{"availabilityZonesEnabled":{"type":"boolean","description":"Determines whether availability zones are enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"backupStorageCustomerKeyUri":{"type":"string","description":"The key URI of the customer key to use for the encryption of the backup Storage Account.\n"},"base64EncodedYamlFragment":{"type":"string","description":"The fragment of the cassandra.yaml configuration file to be included in the cassandra.yaml for all nodes in this Cassandra Datacenter. The fragment should be Base64 encoded and only a subset of keys is allowed.\n"},"cassandraClusterId":{"type":"string","description":"The ID of the Cassandra Cluster. Changing this forces a new Cassandra Datacenter to be created.\n","willReplaceOnChanges":true},"delegatedManagementSubnetId":{"type":"string","description":"The ID of the delegated management subnet for this Cassandra Datacenter. Changing this forces a new Cassandra Datacenter to be created.\n","willReplaceOnChanges":true},"diskCount":{"type":"integer","description":"Determines the number of p30 disks that are attached to each node.\n"},"diskSku":{"type":"string","description":"The Disk SKU that is used for this Cassandra Datacenter. Defaults to `P30`.\n"},"location":{"type":"string","description":"The Azure Region where the Cassandra Datacenter should exist. Changing this forces a new Cassandra Datacenter to be created.\n","willReplaceOnChanges":true},"managedDiskCustomerKeyUri":{"type":"string","description":"The key URI of the customer key to use for the encryption of the Managed Disk.\n"},"name":{"type":"string","description":"The name which should be used for this Cassandra Datacenter. Changing this forces a new Cassandra Datacenter to be created.\n","willReplaceOnChanges":true},"nodeCount":{"type":"integer","description":"The number of nodes the Cassandra Datacenter should have. The number should be equal or greater than \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e.\n"},"seedNodeIpAddresses":{"type":"array","items":{"type":"string"},"description":"A list of IP Address for the seed nodes in this Cassandra Datacenter.\n"},"skuName":{"type":"string","description":"Determines the selected sku. Defaults to `Standard_E16s_v5`.\n\n\u003e **Note:** In v4.0 of the provider the \u003cspan pulumi-lang-nodejs=\"`skuName`\" pulumi-lang-dotnet=\"`SkuName`\" pulumi-lang-go=\"`skuName`\" pulumi-lang-python=\"`sku_name`\" pulumi-lang-yaml=\"`skuName`\" pulumi-lang-java=\"`skuName`\"\u003e`sku_name`\u003c/span\u003e will have a default value of `Standard_E16s_v5`.\n"}},"type":"object"}},"azure:cosmosdb/cassandraKeyspace:CassandraKeyspace":{"description":"Manages a Cassandra KeySpace within a Cosmos DB Account.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"tflex-cosmosdb-account-rg\",\n    location: \"West Europe\",\n});\nconst exampleAccount = new azure.cosmosdb.Account(\"example\", {\n    name: \"tfex-cosmosdb-account\",\n    resourceGroupName: example.name,\n    location: example.location,\n    offerType: \"Standard\",\n    capabilities: [{\n        name: \"EnableCassandra\",\n    }],\n    consistencyPolicy: {\n        consistencyLevel: \"Strong\",\n    },\n    geoLocations: [{\n        location: example.location,\n        failoverPriority: 0,\n    }],\n});\nconst exampleCassandraKeyspace = new azure.cosmosdb.CassandraKeyspace(\"example\", {\n    name: \"tfex-cosmos-cassandra-keyspace\",\n    resourceGroupName: exampleAccount.resourceGroupName,\n    accountName: exampleAccount.name,\n    throughput: 400,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"tflex-cosmosdb-account-rg\",\n    location=\"West Europe\")\nexample_account = azure.cosmosdb.Account(\"example\",\n    name=\"tfex-cosmosdb-account\",\n    resource_group_name=example.name,\n    location=example.location,\n    offer_type=\"Standard\",\n    capabilities=[{\n        \"name\": \"EnableCassandra\",\n    }],\n    consistency_policy={\n        \"consistency_level\": \"Strong\",\n    },\n    geo_locations=[{\n        \"location\": example.location,\n        \"failover_priority\": 0,\n    }])\nexample_cassandra_keyspace = azure.cosmosdb.CassandraKeyspace(\"example\",\n    name=\"tfex-cosmos-cassandra-keyspace\",\n    resource_group_name=example_account.resource_group_name,\n    account_name=example_account.name,\n    throughput=400)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"tflex-cosmosdb-account-rg\",\n        Location = \"West Europe\",\n    });\n\n    var exampleAccount = new Azure.CosmosDB.Account(\"example\", new()\n    {\n        Name = \"tfex-cosmosdb-account\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        OfferType = \"Standard\",\n        Capabilities = new[]\n        {\n            new Azure.CosmosDB.Inputs.AccountCapabilityArgs\n            {\n                Name = \"EnableCassandra\",\n            },\n        },\n        ConsistencyPolicy = new Azure.CosmosDB.Inputs.AccountConsistencyPolicyArgs\n        {\n            ConsistencyLevel = \"Strong\",\n        },\n        GeoLocations = new[]\n        {\n            new Azure.CosmosDB.Inputs.AccountGeoLocationArgs\n            {\n                Location = example.Location,\n                FailoverPriority = 0,\n            },\n        },\n    });\n\n    var exampleCassandraKeyspace = new Azure.CosmosDB.CassandraKeyspace(\"example\", new()\n    {\n        Name = \"tfex-cosmos-cassandra-keyspace\",\n        ResourceGroupName = exampleAccount.ResourceGroupName,\n        AccountName = exampleAccount.Name,\n        Throughput = 400,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/cosmosdb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"tflex-cosmosdb-account-rg\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := cosmosdb.NewAccount(ctx, \"example\", \u0026cosmosdb.AccountArgs{\n\t\t\tName:              pulumi.String(\"tfex-cosmosdb-account\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tOfferType:         pulumi.String(\"Standard\"),\n\t\t\tCapabilities: cosmosdb.AccountCapabilityArray{\n\t\t\t\t\u0026cosmosdb.AccountCapabilityArgs{\n\t\t\t\t\tName: pulumi.String(\"EnableCassandra\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tConsistencyPolicy: \u0026cosmosdb.AccountConsistencyPolicyArgs{\n\t\t\t\tConsistencyLevel: pulumi.String(\"Strong\"),\n\t\t\t},\n\t\t\tGeoLocations: cosmosdb.AccountGeoLocationArray{\n\t\t\t\t\u0026cosmosdb.AccountGeoLocationArgs{\n\t\t\t\t\tLocation:         example.Location,\n\t\t\t\t\tFailoverPriority: pulumi.Int(0),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cosmosdb.NewCassandraKeyspace(ctx, \"example\", \u0026cosmosdb.CassandraKeyspaceArgs{\n\t\t\tName:              pulumi.String(\"tfex-cosmos-cassandra-keyspace\"),\n\t\t\tResourceGroupName: exampleAccount.ResourceGroupName,\n\t\t\tAccountName:       exampleAccount.Name,\n\t\t\tThroughput:        pulumi.Int(400),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.cosmosdb.Account;\nimport com.pulumi.azure.cosmosdb.AccountArgs;\nimport com.pulumi.azure.cosmosdb.inputs.AccountCapabilityArgs;\nimport com.pulumi.azure.cosmosdb.inputs.AccountConsistencyPolicyArgs;\nimport com.pulumi.azure.cosmosdb.inputs.AccountGeoLocationArgs;\nimport com.pulumi.azure.cosmosdb.CassandraKeyspace;\nimport com.pulumi.azure.cosmosdb.CassandraKeyspaceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"tflex-cosmosdb-account-rg\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"tfex-cosmosdb-account\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .offerType(\"Standard\")\n            .capabilities(AccountCapabilityArgs.builder()\n                .name(\"EnableCassandra\")\n                .build())\n            .consistencyPolicy(AccountConsistencyPolicyArgs.builder()\n                .consistencyLevel(\"Strong\")\n                .build())\n            .geoLocations(AccountGeoLocationArgs.builder()\n                .location(example.location())\n                .failoverPriority(0)\n                .build())\n            .build());\n\n        var exampleCassandraKeyspace = new CassandraKeyspace(\"exampleCassandraKeyspace\", CassandraKeyspaceArgs.builder()\n            .name(\"tfex-cosmos-cassandra-keyspace\")\n            .resourceGroupName(exampleAccount.resourceGroupName())\n            .accountName(exampleAccount.name())\n            .throughput(400)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: tflex-cosmosdb-account-rg\n      location: West Europe\n  exampleAccount:\n    type: azure:cosmosdb:Account\n    name: example\n    properties:\n      name: tfex-cosmosdb-account\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      offerType: Standard\n      capabilities:\n        - name: EnableCassandra\n      consistencyPolicy:\n        consistencyLevel: Strong\n      geoLocations:\n        - location: ${example.location}\n          failoverPriority: 0\n  exampleCassandraKeyspace:\n    type: azure:cosmosdb:CassandraKeyspace\n    name: example\n    properties:\n      name: tfex-cosmos-cassandra-keyspace\n      resourceGroupName: ${exampleAccount.resourceGroupName}\n      accountName: ${exampleAccount.name}\n      throughput: 400\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCosmos Cassandra KeySpace can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:cosmosdb/cassandraKeyspace:CassandraKeyspace ks1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/account1/cassandraKeyspaces/ks1\n```\n\n","properties":{"accountName":{"type":"string","description":"The name of the Cosmos DB Cassandra KeySpace to create the table within. Changing this forces a new resource to be created.\n"},"autoscaleSettings":{"$ref":"#/types/azure:cosmosdb/CassandraKeyspaceAutoscaleSettings:CassandraKeyspaceAutoscaleSettings","description":"An \u003cspan pulumi-lang-nodejs=\"`autoscaleSettings`\" pulumi-lang-dotnet=\"`AutoscaleSettings`\" pulumi-lang-go=\"`autoscaleSettings`\" pulumi-lang-python=\"`autoscale_settings`\" pulumi-lang-yaml=\"`autoscaleSettings`\" pulumi-lang-java=\"`autoscaleSettings`\"\u003e`autoscale_settings`\u003c/span\u003e block as defined below. This must be set upon database creation otherwise it cannot be updated without a manual destroy-apply.\n\n\u003e **Note:** Switching between autoscale and manual throughput is not supported via this provider and must be completed via the Azure Portal and refreshed.\n"},"name":{"type":"string","description":"Specifies the name of the Cosmos DB Cassandra KeySpace. Changing this forces a new resource to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the Cosmos DB Cassandra KeySpace is created. Changing this forces a new resource to be created.\n"},"throughput":{"type":"integer","description":"The throughput of Cassandra KeySpace (RU/s). Must be set in increments of \u003cspan pulumi-lang-nodejs=\"`100`\" pulumi-lang-dotnet=\"`100`\" pulumi-lang-go=\"`100`\" pulumi-lang-python=\"`100`\" pulumi-lang-yaml=\"`100`\" pulumi-lang-java=\"`100`\"\u003e`100`\u003c/span\u003e. The minimum value is \u003cspan pulumi-lang-nodejs=\"`400`\" pulumi-lang-dotnet=\"`400`\" pulumi-lang-go=\"`400`\" pulumi-lang-python=\"`400`\" pulumi-lang-yaml=\"`400`\" pulumi-lang-java=\"`400`\"\u003e`400`\u003c/span\u003e. This must be set upon database creation otherwise it cannot be updated without a manual resource destroy-apply.\n"}},"required":["accountName","name","resourceGroupName","throughput"],"inputProperties":{"accountName":{"type":"string","description":"The name of the Cosmos DB Cassandra KeySpace to create the table within. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"autoscaleSettings":{"$ref":"#/types/azure:cosmosdb/CassandraKeyspaceAutoscaleSettings:CassandraKeyspaceAutoscaleSettings","description":"An \u003cspan pulumi-lang-nodejs=\"`autoscaleSettings`\" pulumi-lang-dotnet=\"`AutoscaleSettings`\" pulumi-lang-go=\"`autoscaleSettings`\" pulumi-lang-python=\"`autoscale_settings`\" pulumi-lang-yaml=\"`autoscaleSettings`\" pulumi-lang-java=\"`autoscaleSettings`\"\u003e`autoscale_settings`\u003c/span\u003e block as defined below. This must be set upon database creation otherwise it cannot be updated without a manual destroy-apply.\n\n\u003e **Note:** Switching between autoscale and manual throughput is not supported via this provider and must be completed via the Azure Portal and refreshed.\n"},"name":{"type":"string","description":"Specifies the name of the Cosmos DB Cassandra KeySpace. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the Cosmos DB Cassandra KeySpace is created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"throughput":{"type":"integer","description":"The throughput of Cassandra KeySpace (RU/s). Must be set in increments of \u003cspan pulumi-lang-nodejs=\"`100`\" pulumi-lang-dotnet=\"`100`\" pulumi-lang-go=\"`100`\" pulumi-lang-python=\"`100`\" pulumi-lang-yaml=\"`100`\" pulumi-lang-java=\"`100`\"\u003e`100`\u003c/span\u003e. The minimum value is \u003cspan pulumi-lang-nodejs=\"`400`\" pulumi-lang-dotnet=\"`400`\" pulumi-lang-go=\"`400`\" pulumi-lang-python=\"`400`\" pulumi-lang-yaml=\"`400`\" pulumi-lang-java=\"`400`\"\u003e`400`\u003c/span\u003e. This must be set upon database creation otherwise it cannot be updated without a manual resource destroy-apply.\n"}},"requiredInputs":["accountName","resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering CassandraKeyspace resources.\n","properties":{"accountName":{"type":"string","description":"The name of the Cosmos DB Cassandra KeySpace to create the table within. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"autoscaleSettings":{"$ref":"#/types/azure:cosmosdb/CassandraKeyspaceAutoscaleSettings:CassandraKeyspaceAutoscaleSettings","description":"An \u003cspan pulumi-lang-nodejs=\"`autoscaleSettings`\" pulumi-lang-dotnet=\"`AutoscaleSettings`\" pulumi-lang-go=\"`autoscaleSettings`\" pulumi-lang-python=\"`autoscale_settings`\" pulumi-lang-yaml=\"`autoscaleSettings`\" pulumi-lang-java=\"`autoscaleSettings`\"\u003e`autoscale_settings`\u003c/span\u003e block as defined below. This must be set upon database creation otherwise it cannot be updated without a manual destroy-apply.\n\n\u003e **Note:** Switching between autoscale and manual throughput is not supported via this provider and must be completed via the Azure Portal and refreshed.\n"},"name":{"type":"string","description":"Specifies the name of the Cosmos DB Cassandra KeySpace. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the Cosmos DB Cassandra KeySpace is created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"throughput":{"type":"integer","description":"The throughput of Cassandra KeySpace (RU/s). Must be set in increments of \u003cspan pulumi-lang-nodejs=\"`100`\" pulumi-lang-dotnet=\"`100`\" pulumi-lang-go=\"`100`\" pulumi-lang-python=\"`100`\" pulumi-lang-yaml=\"`100`\" pulumi-lang-java=\"`100`\"\u003e`100`\u003c/span\u003e. The minimum value is \u003cspan pulumi-lang-nodejs=\"`400`\" pulumi-lang-dotnet=\"`400`\" pulumi-lang-go=\"`400`\" pulumi-lang-python=\"`400`\" pulumi-lang-yaml=\"`400`\" pulumi-lang-java=\"`400`\"\u003e`400`\u003c/span\u003e. This must be set upon database creation otherwise it cannot be updated without a manual resource destroy-apply.\n"}},"type":"object"}},"azure:cosmosdb/cassandraTable:CassandraTable":{"description":"Manages a Cassandra Table within a Cosmos DB Cassandra Keyspace.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"tflex-cosmosdb-account-rg\",\n    location: \"West Europe\",\n});\nconst exampleAccount = new azure.cosmosdb.Account(\"example\", {\n    name: \"tfex-cosmosdb-account\",\n    resourceGroupName: example.name,\n    location: example.location,\n    offerType: \"Standard\",\n    capabilities: [{\n        name: \"EnableCassandra\",\n    }],\n    consistencyPolicy: {\n        consistencyLevel: \"Strong\",\n    },\n    geoLocations: [{\n        location: example.location,\n        failoverPriority: 0,\n    }],\n});\nconst exampleCassandraKeyspace = new azure.cosmosdb.CassandraKeyspace(\"example\", {\n    name: \"tfex-cosmos-cassandra-keyspace\",\n    resourceGroupName: exampleAccount.resourceGroupName,\n    accountName: exampleAccount.name,\n    throughput: 400,\n});\nconst exampleCassandraTable = new azure.cosmosdb.CassandraTable(\"example\", {\n    name: \"testtable\",\n    cassandraKeyspaceId: exampleCassandraKeyspace.id,\n    schema: {\n        columns: [\n            {\n                name: \"test1\",\n                type: \"ascii\",\n            },\n            {\n                name: \"test2\",\n                type: \"int\",\n            },\n        ],\n        partitionKeys: [{\n            name: \"test1\",\n        }],\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"tflex-cosmosdb-account-rg\",\n    location=\"West Europe\")\nexample_account = azure.cosmosdb.Account(\"example\",\n    name=\"tfex-cosmosdb-account\",\n    resource_group_name=example.name,\n    location=example.location,\n    offer_type=\"Standard\",\n    capabilities=[{\n        \"name\": \"EnableCassandra\",\n    }],\n    consistency_policy={\n        \"consistency_level\": \"Strong\",\n    },\n    geo_locations=[{\n        \"location\": example.location,\n        \"failover_priority\": 0,\n    }])\nexample_cassandra_keyspace = azure.cosmosdb.CassandraKeyspace(\"example\",\n    name=\"tfex-cosmos-cassandra-keyspace\",\n    resource_group_name=example_account.resource_group_name,\n    account_name=example_account.name,\n    throughput=400)\nexample_cassandra_table = azure.cosmosdb.CassandraTable(\"example\",\n    name=\"testtable\",\n    cassandra_keyspace_id=example_cassandra_keyspace.id,\n    schema={\n        \"columns\": [\n            {\n                \"name\": \"test1\",\n                \"type\": \"ascii\",\n            },\n            {\n                \"name\": \"test2\",\n                \"type\": \"int\",\n            },\n        ],\n        \"partition_keys\": [{\n            \"name\": \"test1\",\n        }],\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"tflex-cosmosdb-account-rg\",\n        Location = \"West Europe\",\n    });\n\n    var exampleAccount = new Azure.CosmosDB.Account(\"example\", new()\n    {\n        Name = \"tfex-cosmosdb-account\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        OfferType = \"Standard\",\n        Capabilities = new[]\n        {\n            new Azure.CosmosDB.Inputs.AccountCapabilityArgs\n            {\n                Name = \"EnableCassandra\",\n            },\n        },\n        ConsistencyPolicy = new Azure.CosmosDB.Inputs.AccountConsistencyPolicyArgs\n        {\n            ConsistencyLevel = \"Strong\",\n        },\n        GeoLocations = new[]\n        {\n            new Azure.CosmosDB.Inputs.AccountGeoLocationArgs\n            {\n                Location = example.Location,\n                FailoverPriority = 0,\n            },\n        },\n    });\n\n    var exampleCassandraKeyspace = new Azure.CosmosDB.CassandraKeyspace(\"example\", new()\n    {\n        Name = \"tfex-cosmos-cassandra-keyspace\",\n        ResourceGroupName = exampleAccount.ResourceGroupName,\n        AccountName = exampleAccount.Name,\n        Throughput = 400,\n    });\n\n    var exampleCassandraTable = new Azure.CosmosDB.CassandraTable(\"example\", new()\n    {\n        Name = \"testtable\",\n        CassandraKeyspaceId = exampleCassandraKeyspace.Id,\n        Schema = new Azure.CosmosDB.Inputs.CassandraTableSchemaArgs\n        {\n            Columns = new[]\n            {\n                new Azure.CosmosDB.Inputs.CassandraTableSchemaColumnArgs\n                {\n                    Name = \"test1\",\n                    Type = \"ascii\",\n                },\n                new Azure.CosmosDB.Inputs.CassandraTableSchemaColumnArgs\n                {\n                    Name = \"test2\",\n                    Type = \"int\",\n                },\n            },\n            PartitionKeys = new[]\n            {\n                new Azure.CosmosDB.Inputs.CassandraTableSchemaPartitionKeyArgs\n                {\n                    Name = \"test1\",\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/cosmosdb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"tflex-cosmosdb-account-rg\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := cosmosdb.NewAccount(ctx, \"example\", \u0026cosmosdb.AccountArgs{\n\t\t\tName:              pulumi.String(\"tfex-cosmosdb-account\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tOfferType:         pulumi.String(\"Standard\"),\n\t\t\tCapabilities: cosmosdb.AccountCapabilityArray{\n\t\t\t\t\u0026cosmosdb.AccountCapabilityArgs{\n\t\t\t\t\tName: pulumi.String(\"EnableCassandra\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tConsistencyPolicy: \u0026cosmosdb.AccountConsistencyPolicyArgs{\n\t\t\t\tConsistencyLevel: pulumi.String(\"Strong\"),\n\t\t\t},\n\t\t\tGeoLocations: cosmosdb.AccountGeoLocationArray{\n\t\t\t\t\u0026cosmosdb.AccountGeoLocationArgs{\n\t\t\t\t\tLocation:         example.Location,\n\t\t\t\t\tFailoverPriority: pulumi.Int(0),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleCassandraKeyspace, err := cosmosdb.NewCassandraKeyspace(ctx, \"example\", \u0026cosmosdb.CassandraKeyspaceArgs{\n\t\t\tName:              pulumi.String(\"tfex-cosmos-cassandra-keyspace\"),\n\t\t\tResourceGroupName: exampleAccount.ResourceGroupName,\n\t\t\tAccountName:       exampleAccount.Name,\n\t\t\tThroughput:        pulumi.Int(400),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cosmosdb.NewCassandraTable(ctx, \"example\", \u0026cosmosdb.CassandraTableArgs{\n\t\t\tName:                pulumi.String(\"testtable\"),\n\t\t\tCassandraKeyspaceId: exampleCassandraKeyspace.ID(),\n\t\t\tSchema: \u0026cosmosdb.CassandraTableSchemaArgs{\n\t\t\t\tColumns: cosmosdb.CassandraTableSchemaColumnArray{\n\t\t\t\t\t\u0026cosmosdb.CassandraTableSchemaColumnArgs{\n\t\t\t\t\t\tName: pulumi.String(\"test1\"),\n\t\t\t\t\t\tType: pulumi.String(\"ascii\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026cosmosdb.CassandraTableSchemaColumnArgs{\n\t\t\t\t\t\tName: pulumi.String(\"test2\"),\n\t\t\t\t\t\tType: pulumi.String(\"int\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tPartitionKeys: cosmosdb.CassandraTableSchemaPartitionKeyArray{\n\t\t\t\t\t\u0026cosmosdb.CassandraTableSchemaPartitionKeyArgs{\n\t\t\t\t\t\tName: pulumi.String(\"test1\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.cosmosdb.Account;\nimport com.pulumi.azure.cosmosdb.AccountArgs;\nimport com.pulumi.azure.cosmosdb.inputs.AccountCapabilityArgs;\nimport com.pulumi.azure.cosmosdb.inputs.AccountConsistencyPolicyArgs;\nimport com.pulumi.azure.cosmosdb.inputs.AccountGeoLocationArgs;\nimport com.pulumi.azure.cosmosdb.CassandraKeyspace;\nimport com.pulumi.azure.cosmosdb.CassandraKeyspaceArgs;\nimport com.pulumi.azure.cosmosdb.CassandraTable;\nimport com.pulumi.azure.cosmosdb.CassandraTableArgs;\nimport com.pulumi.azure.cosmosdb.inputs.CassandraTableSchemaArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"tflex-cosmosdb-account-rg\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"tfex-cosmosdb-account\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .offerType(\"Standard\")\n            .capabilities(AccountCapabilityArgs.builder()\n                .name(\"EnableCassandra\")\n                .build())\n            .consistencyPolicy(AccountConsistencyPolicyArgs.builder()\n                .consistencyLevel(\"Strong\")\n                .build())\n            .geoLocations(AccountGeoLocationArgs.builder()\n                .location(example.location())\n                .failoverPriority(0)\n                .build())\n            .build());\n\n        var exampleCassandraKeyspace = new CassandraKeyspace(\"exampleCassandraKeyspace\", CassandraKeyspaceArgs.builder()\n            .name(\"tfex-cosmos-cassandra-keyspace\")\n            .resourceGroupName(exampleAccount.resourceGroupName())\n            .accountName(exampleAccount.name())\n            .throughput(400)\n            .build());\n\n        var exampleCassandraTable = new CassandraTable(\"exampleCassandraTable\", CassandraTableArgs.builder()\n            .name(\"testtable\")\n            .cassandraKeyspaceId(exampleCassandraKeyspace.id())\n            .schema(CassandraTableSchemaArgs.builder()\n                .columns(                \n                    CassandraTableSchemaColumnArgs.builder()\n                        .name(\"test1\")\n                        .type(\"ascii\")\n                        .build(),\n                    CassandraTableSchemaColumnArgs.builder()\n                        .name(\"test2\")\n                        .type(\"int\")\n                        .build())\n                .partitionKeys(CassandraTableSchemaPartitionKeyArgs.builder()\n                    .name(\"test1\")\n                    .build())\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: tflex-cosmosdb-account-rg\n      location: West Europe\n  exampleAccount:\n    type: azure:cosmosdb:Account\n    name: example\n    properties:\n      name: tfex-cosmosdb-account\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      offerType: Standard\n      capabilities:\n        - name: EnableCassandra\n      consistencyPolicy:\n        consistencyLevel: Strong\n      geoLocations:\n        - location: ${example.location}\n          failoverPriority: 0\n  exampleCassandraKeyspace:\n    type: azure:cosmosdb:CassandraKeyspace\n    name: example\n    properties:\n      name: tfex-cosmos-cassandra-keyspace\n      resourceGroupName: ${exampleAccount.resourceGroupName}\n      accountName: ${exampleAccount.name}\n      throughput: 400\n  exampleCassandraTable:\n    type: azure:cosmosdb:CassandraTable\n    name: example\n    properties:\n      name: testtable\n      cassandraKeyspaceId: ${exampleCassandraKeyspace.id}\n      schema:\n        columns:\n          - name: test1\n            type: ascii\n          - name: test2\n            type: int\n        partitionKeys:\n          - name: test1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCosmos Cassandra Table can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:cosmosdb/cassandraTable:CassandraTable ks1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/account1/cassandraKeyspaces/ks1/tables/table1\n```\n\n","properties":{"analyticalStorageTtl":{"type":"integer","description":"Time to live of the Analytical Storage. Possible values are between `-1` and \u003cspan pulumi-lang-nodejs=\"`2147483647`\" pulumi-lang-dotnet=\"`2147483647`\" pulumi-lang-go=\"`2147483647`\" pulumi-lang-python=\"`2147483647`\" pulumi-lang-yaml=\"`2147483647`\" pulumi-lang-java=\"`2147483647`\"\u003e`2147483647`\u003c/span\u003e except \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e. `-1` means the Analytical Storage never expires. Changing this forces a new resource to be created.\n\n\u003e **Note:** throughput has a maximum value of \u003cspan pulumi-lang-nodejs=\"`1000000`\" pulumi-lang-dotnet=\"`1000000`\" pulumi-lang-go=\"`1000000`\" pulumi-lang-python=\"`1000000`\" pulumi-lang-yaml=\"`1000000`\" pulumi-lang-java=\"`1000000`\"\u003e`1000000`\u003c/span\u003e unless a higher limit is requested via Azure Support\n"},"autoscaleSettings":{"$ref":"#/types/azure:cosmosdb/CassandraTableAutoscaleSettings:CassandraTableAutoscaleSettings","description":"An \u003cspan pulumi-lang-nodejs=\"`autoscaleSettings`\" pulumi-lang-dotnet=\"`AutoscaleSettings`\" pulumi-lang-go=\"`autoscaleSettings`\" pulumi-lang-python=\"`autoscale_settings`\" pulumi-lang-yaml=\"`autoscaleSettings`\" pulumi-lang-java=\"`autoscaleSettings`\"\u003e`autoscale_settings`\u003c/span\u003e block as defined below. This must be set upon database creation otherwise it cannot be updated without a manual terraform destroy-apply.\n\n\u003e **Note:** Switching between autoscale and manual throughput is not supported via this provider and must be completed via the Azure Portal and refreshed.\n"},"cassandraKeyspaceId":{"type":"string","description":"The ID of the Cosmos DB Cassandra Keyspace to create the table within. Changing this forces a new resource to be created.\n"},"defaultTtl":{"type":"integer","description":"Time to live of the Cosmos DB Cassandra table. Possible values are at least `-1`. `-1` means the Cassandra table never expires.\n"},"name":{"type":"string","description":"Specifies the name of the Cosmos DB Cassandra Table. Changing this forces a new resource to be created.\n"},"schema":{"$ref":"#/types/azure:cosmosdb/CassandraTableSchema:CassandraTableSchema","description":"A \u003cspan pulumi-lang-nodejs=\"`schema`\" pulumi-lang-dotnet=\"`Schema`\" pulumi-lang-go=\"`schema`\" pulumi-lang-python=\"`schema`\" pulumi-lang-yaml=\"`schema`\" pulumi-lang-java=\"`schema`\"\u003e`schema`\u003c/span\u003e block as defined below.\n"},"throughput":{"type":"integer","description":"The throughput of Cassandra KeySpace (RU/s). Must be set in increments of \u003cspan pulumi-lang-nodejs=\"`100`\" pulumi-lang-dotnet=\"`100`\" pulumi-lang-go=\"`100`\" pulumi-lang-python=\"`100`\" pulumi-lang-yaml=\"`100`\" pulumi-lang-java=\"`100`\"\u003e`100`\u003c/span\u003e. The minimum value is \u003cspan pulumi-lang-nodejs=\"`400`\" pulumi-lang-dotnet=\"`400`\" pulumi-lang-go=\"`400`\" pulumi-lang-python=\"`400`\" pulumi-lang-yaml=\"`400`\" pulumi-lang-java=\"`400`\"\u003e`400`\u003c/span\u003e. This must be set upon database creation otherwise it cannot be updated without a manual terraform destroy-apply.\n"}},"required":["cassandraKeyspaceId","name","schema","throughput"],"inputProperties":{"analyticalStorageTtl":{"type":"integer","description":"Time to live of the Analytical Storage. Possible values are between `-1` and \u003cspan pulumi-lang-nodejs=\"`2147483647`\" pulumi-lang-dotnet=\"`2147483647`\" pulumi-lang-go=\"`2147483647`\" pulumi-lang-python=\"`2147483647`\" pulumi-lang-yaml=\"`2147483647`\" pulumi-lang-java=\"`2147483647`\"\u003e`2147483647`\u003c/span\u003e except \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e. `-1` means the Analytical Storage never expires. Changing this forces a new resource to be created.\n\n\u003e **Note:** throughput has a maximum value of \u003cspan pulumi-lang-nodejs=\"`1000000`\" pulumi-lang-dotnet=\"`1000000`\" pulumi-lang-go=\"`1000000`\" pulumi-lang-python=\"`1000000`\" pulumi-lang-yaml=\"`1000000`\" pulumi-lang-java=\"`1000000`\"\u003e`1000000`\u003c/span\u003e unless a higher limit is requested via Azure Support\n","willReplaceOnChanges":true},"autoscaleSettings":{"$ref":"#/types/azure:cosmosdb/CassandraTableAutoscaleSettings:CassandraTableAutoscaleSettings","description":"An \u003cspan pulumi-lang-nodejs=\"`autoscaleSettings`\" pulumi-lang-dotnet=\"`AutoscaleSettings`\" pulumi-lang-go=\"`autoscaleSettings`\" pulumi-lang-python=\"`autoscale_settings`\" pulumi-lang-yaml=\"`autoscaleSettings`\" pulumi-lang-java=\"`autoscaleSettings`\"\u003e`autoscale_settings`\u003c/span\u003e block as defined below. This must be set upon database creation otherwise it cannot be updated without a manual terraform destroy-apply.\n\n\u003e **Note:** Switching between autoscale and manual throughput is not supported via this provider and must be completed via the Azure Portal and refreshed.\n"},"cassandraKeyspaceId":{"type":"string","description":"The ID of the Cosmos DB Cassandra Keyspace to create the table within. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"defaultTtl":{"type":"integer","description":"Time to live of the Cosmos DB Cassandra table. Possible values are at least `-1`. `-1` means the Cassandra table never expires.\n"},"name":{"type":"string","description":"Specifies the name of the Cosmos DB Cassandra Table. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"schema":{"$ref":"#/types/azure:cosmosdb/CassandraTableSchema:CassandraTableSchema","description":"A \u003cspan pulumi-lang-nodejs=\"`schema`\" pulumi-lang-dotnet=\"`Schema`\" pulumi-lang-go=\"`schema`\" pulumi-lang-python=\"`schema`\" pulumi-lang-yaml=\"`schema`\" pulumi-lang-java=\"`schema`\"\u003e`schema`\u003c/span\u003e block as defined below.\n"},"throughput":{"type":"integer","description":"The throughput of Cassandra KeySpace (RU/s). Must be set in increments of \u003cspan pulumi-lang-nodejs=\"`100`\" pulumi-lang-dotnet=\"`100`\" pulumi-lang-go=\"`100`\" pulumi-lang-python=\"`100`\" pulumi-lang-yaml=\"`100`\" pulumi-lang-java=\"`100`\"\u003e`100`\u003c/span\u003e. The minimum value is \u003cspan pulumi-lang-nodejs=\"`400`\" pulumi-lang-dotnet=\"`400`\" pulumi-lang-go=\"`400`\" pulumi-lang-python=\"`400`\" pulumi-lang-yaml=\"`400`\" pulumi-lang-java=\"`400`\"\u003e`400`\u003c/span\u003e. This must be set upon database creation otherwise it cannot be updated without a manual terraform destroy-apply.\n"}},"requiredInputs":["cassandraKeyspaceId","schema"],"stateInputs":{"description":"Input properties used for looking up and filtering CassandraTable resources.\n","properties":{"analyticalStorageTtl":{"type":"integer","description":"Time to live of the Analytical Storage. Possible values are between `-1` and \u003cspan pulumi-lang-nodejs=\"`2147483647`\" pulumi-lang-dotnet=\"`2147483647`\" pulumi-lang-go=\"`2147483647`\" pulumi-lang-python=\"`2147483647`\" pulumi-lang-yaml=\"`2147483647`\" pulumi-lang-java=\"`2147483647`\"\u003e`2147483647`\u003c/span\u003e except \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e. `-1` means the Analytical Storage never expires. Changing this forces a new resource to be created.\n\n\u003e **Note:** throughput has a maximum value of \u003cspan pulumi-lang-nodejs=\"`1000000`\" pulumi-lang-dotnet=\"`1000000`\" pulumi-lang-go=\"`1000000`\" pulumi-lang-python=\"`1000000`\" pulumi-lang-yaml=\"`1000000`\" pulumi-lang-java=\"`1000000`\"\u003e`1000000`\u003c/span\u003e unless a higher limit is requested via Azure Support\n","willReplaceOnChanges":true},"autoscaleSettings":{"$ref":"#/types/azure:cosmosdb/CassandraTableAutoscaleSettings:CassandraTableAutoscaleSettings","description":"An \u003cspan pulumi-lang-nodejs=\"`autoscaleSettings`\" pulumi-lang-dotnet=\"`AutoscaleSettings`\" pulumi-lang-go=\"`autoscaleSettings`\" pulumi-lang-python=\"`autoscale_settings`\" pulumi-lang-yaml=\"`autoscaleSettings`\" pulumi-lang-java=\"`autoscaleSettings`\"\u003e`autoscale_settings`\u003c/span\u003e block as defined below. This must be set upon database creation otherwise it cannot be updated without a manual terraform destroy-apply.\n\n\u003e **Note:** Switching between autoscale and manual throughput is not supported via this provider and must be completed via the Azure Portal and refreshed.\n"},"cassandraKeyspaceId":{"type":"string","description":"The ID of the Cosmos DB Cassandra Keyspace to create the table within. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"defaultTtl":{"type":"integer","description":"Time to live of the Cosmos DB Cassandra table. Possible values are at least `-1`. `-1` means the Cassandra table never expires.\n"},"name":{"type":"string","description":"Specifies the name of the Cosmos DB Cassandra Table. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"schema":{"$ref":"#/types/azure:cosmosdb/CassandraTableSchema:CassandraTableSchema","description":"A \u003cspan pulumi-lang-nodejs=\"`schema`\" pulumi-lang-dotnet=\"`Schema`\" pulumi-lang-go=\"`schema`\" pulumi-lang-python=\"`schema`\" pulumi-lang-yaml=\"`schema`\" pulumi-lang-java=\"`schema`\"\u003e`schema`\u003c/span\u003e block as defined below.\n"},"throughput":{"type":"integer","description":"The throughput of Cassandra KeySpace (RU/s). Must be set in increments of \u003cspan pulumi-lang-nodejs=\"`100`\" pulumi-lang-dotnet=\"`100`\" pulumi-lang-go=\"`100`\" pulumi-lang-python=\"`100`\" pulumi-lang-yaml=\"`100`\" pulumi-lang-java=\"`100`\"\u003e`100`\u003c/span\u003e. The minimum value is \u003cspan pulumi-lang-nodejs=\"`400`\" pulumi-lang-dotnet=\"`400`\" pulumi-lang-go=\"`400`\" pulumi-lang-python=\"`400`\" pulumi-lang-yaml=\"`400`\" pulumi-lang-java=\"`400`\"\u003e`400`\u003c/span\u003e. This must be set upon database creation otherwise it cannot be updated without a manual terraform destroy-apply.\n"}},"type":"object"}},"azure:cosmosdb/gremlinDatabase:GremlinDatabase":{"description":"Manages a Gremlin Database within a Cosmos DB Account.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.cosmosdb.getAccount({\n    name: \"tfex-cosmosdb-account\",\n    resourceGroupName: \"tfex-cosmosdb-account-rg\",\n});\nconst exampleGremlinDatabase = new azure.cosmosdb.GremlinDatabase(\"example\", {\n    name: \"tfex-cosmos-gremlin-db\",\n    resourceGroupName: example.then(example =\u003e example.resourceGroupName),\n    accountName: example.then(example =\u003e example.name),\n    throughput: 400,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.cosmosdb.get_account(name=\"tfex-cosmosdb-account\",\n    resource_group_name=\"tfex-cosmosdb-account-rg\")\nexample_gremlin_database = azure.cosmosdb.GremlinDatabase(\"example\",\n    name=\"tfex-cosmos-gremlin-db\",\n    resource_group_name=example.resource_group_name,\n    account_name=example.name,\n    throughput=400)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.CosmosDB.GetAccount.Invoke(new()\n    {\n        Name = \"tfex-cosmosdb-account\",\n        ResourceGroupName = \"tfex-cosmosdb-account-rg\",\n    });\n\n    var exampleGremlinDatabase = new Azure.CosmosDB.GremlinDatabase(\"example\", new()\n    {\n        Name = \"tfex-cosmos-gremlin-db\",\n        ResourceGroupName = example.Apply(getAccountResult =\u003e getAccountResult.ResourceGroupName),\n        AccountName = example.Apply(getAccountResult =\u003e getAccountResult.Name),\n        Throughput = 400,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/cosmosdb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := cosmosdb.LookupAccount(ctx, \u0026cosmosdb.LookupAccountArgs{\n\t\t\tName:              \"tfex-cosmosdb-account\",\n\t\t\tResourceGroupName: \"tfex-cosmosdb-account-rg\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cosmosdb.NewGremlinDatabase(ctx, \"example\", \u0026cosmosdb.GremlinDatabaseArgs{\n\t\t\tName:              pulumi.String(\"tfex-cosmos-gremlin-db\"),\n\t\t\tResourceGroupName: pulumi.String(example.ResourceGroupName),\n\t\t\tAccountName:       pulumi.String(example.Name),\n\t\t\tThroughput:        pulumi.Int(400),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.cosmosdb.CosmosdbFunctions;\nimport com.pulumi.azure.cosmosdb.inputs.GetAccountArgs;\nimport com.pulumi.azure.cosmosdb.GremlinDatabase;\nimport com.pulumi.azure.cosmosdb.GremlinDatabaseArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = CosmosdbFunctions.getAccount(GetAccountArgs.builder()\n            .name(\"tfex-cosmosdb-account\")\n            .resourceGroupName(\"tfex-cosmosdb-account-rg\")\n            .build());\n\n        var exampleGremlinDatabase = new GremlinDatabase(\"exampleGremlinDatabase\", GremlinDatabaseArgs.builder()\n            .name(\"tfex-cosmos-gremlin-db\")\n            .resourceGroupName(example.resourceGroupName())\n            .accountName(example.name())\n            .throughput(400)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleGremlinDatabase:\n    type: azure:cosmosdb:GremlinDatabase\n    name: example\n    properties:\n      name: tfex-cosmos-gremlin-db\n      resourceGroupName: ${example.resourceGroupName}\n      accountName: ${example.name}\n      throughput: 400\nvariables:\n  example:\n    fn::invoke:\n      function: azure:cosmosdb:getAccount\n      arguments:\n        name: tfex-cosmosdb-account\n        resourceGroupName: tfex-cosmosdb-account-rg\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.DocumentDB` - 2024-08-15\n\n## Import\n\nCosmosDB Gremlin Databases can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:cosmosdb/gremlinDatabase:GremlinDatabase db1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/account1/gremlinDatabases/db1\n```\n\n","properties":{"accountName":{"type":"string","description":"The name of the CosmosDB Account to create the Gremlin Database within. Changing this forces a new resource to be created.\n"},"autoscaleSettings":{"$ref":"#/types/azure:cosmosdb/GremlinDatabaseAutoscaleSettings:GremlinDatabaseAutoscaleSettings","description":"An \u003cspan pulumi-lang-nodejs=\"`autoscaleSettings`\" pulumi-lang-dotnet=\"`AutoscaleSettings`\" pulumi-lang-go=\"`autoscaleSettings`\" pulumi-lang-python=\"`autoscale_settings`\" pulumi-lang-yaml=\"`autoscaleSettings`\" pulumi-lang-java=\"`autoscaleSettings`\"\u003e`autoscale_settings`\u003c/span\u003e block as defined below. This must be set upon database creation otherwise it cannot be updated without a manual destroy-apply.\n\n\u003e **Note:** Switching between autoscale and manual throughput is not supported via this provider and must be completed via the Azure Portal and refreshed.\n"},"name":{"type":"string","description":"Specifies the name of the Cosmos DB Gremlin Database. Changing this forces a new resource to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the Cosmos DB Gremlin Database is created. Changing this forces a new resource to be created.\n"},"throughput":{"type":"integer","description":"The throughput of the Gremlin database (RU/s). Must be set in increments of \u003cspan pulumi-lang-nodejs=\"`100`\" pulumi-lang-dotnet=\"`100`\" pulumi-lang-go=\"`100`\" pulumi-lang-python=\"`100`\" pulumi-lang-yaml=\"`100`\" pulumi-lang-java=\"`100`\"\u003e`100`\u003c/span\u003e. The minimum value is \u003cspan pulumi-lang-nodejs=\"`400`\" pulumi-lang-dotnet=\"`400`\" pulumi-lang-go=\"`400`\" pulumi-lang-python=\"`400`\" pulumi-lang-yaml=\"`400`\" pulumi-lang-java=\"`400`\"\u003e`400`\u003c/span\u003e. This must be set upon database creation otherwise it cannot be updated without a manual resource destroy-apply.\n\n\u003e **Note:** throughput has a maximum value of \u003cspan pulumi-lang-nodejs=\"`1000000`\" pulumi-lang-dotnet=\"`1000000`\" pulumi-lang-go=\"`1000000`\" pulumi-lang-python=\"`1000000`\" pulumi-lang-yaml=\"`1000000`\" pulumi-lang-java=\"`1000000`\"\u003e`1000000`\u003c/span\u003e unless a higher limit is requested via Azure Support\n"}},"required":["accountName","name","resourceGroupName","throughput"],"inputProperties":{"accountName":{"type":"string","description":"The name of the CosmosDB Account to create the Gremlin Database within. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"autoscaleSettings":{"$ref":"#/types/azure:cosmosdb/GremlinDatabaseAutoscaleSettings:GremlinDatabaseAutoscaleSettings","description":"An \u003cspan pulumi-lang-nodejs=\"`autoscaleSettings`\" pulumi-lang-dotnet=\"`AutoscaleSettings`\" pulumi-lang-go=\"`autoscaleSettings`\" pulumi-lang-python=\"`autoscale_settings`\" pulumi-lang-yaml=\"`autoscaleSettings`\" pulumi-lang-java=\"`autoscaleSettings`\"\u003e`autoscale_settings`\u003c/span\u003e block as defined below. This must be set upon database creation otherwise it cannot be updated without a manual destroy-apply.\n\n\u003e **Note:** Switching between autoscale and manual throughput is not supported via this provider and must be completed via the Azure Portal and refreshed.\n"},"name":{"type":"string","description":"Specifies the name of the Cosmos DB Gremlin Database. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the Cosmos DB Gremlin Database is created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"throughput":{"type":"integer","description":"The throughput of the Gremlin database (RU/s). Must be set in increments of \u003cspan pulumi-lang-nodejs=\"`100`\" pulumi-lang-dotnet=\"`100`\" pulumi-lang-go=\"`100`\" pulumi-lang-python=\"`100`\" pulumi-lang-yaml=\"`100`\" pulumi-lang-java=\"`100`\"\u003e`100`\u003c/span\u003e. The minimum value is \u003cspan pulumi-lang-nodejs=\"`400`\" pulumi-lang-dotnet=\"`400`\" pulumi-lang-go=\"`400`\" pulumi-lang-python=\"`400`\" pulumi-lang-yaml=\"`400`\" pulumi-lang-java=\"`400`\"\u003e`400`\u003c/span\u003e. This must be set upon database creation otherwise it cannot be updated without a manual resource destroy-apply.\n\n\u003e **Note:** throughput has a maximum value of \u003cspan pulumi-lang-nodejs=\"`1000000`\" pulumi-lang-dotnet=\"`1000000`\" pulumi-lang-go=\"`1000000`\" pulumi-lang-python=\"`1000000`\" pulumi-lang-yaml=\"`1000000`\" pulumi-lang-java=\"`1000000`\"\u003e`1000000`\u003c/span\u003e unless a higher limit is requested via Azure Support\n"}},"requiredInputs":["accountName","resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering GremlinDatabase resources.\n","properties":{"accountName":{"type":"string","description":"The name of the CosmosDB Account to create the Gremlin Database within. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"autoscaleSettings":{"$ref":"#/types/azure:cosmosdb/GremlinDatabaseAutoscaleSettings:GremlinDatabaseAutoscaleSettings","description":"An \u003cspan pulumi-lang-nodejs=\"`autoscaleSettings`\" pulumi-lang-dotnet=\"`AutoscaleSettings`\" pulumi-lang-go=\"`autoscaleSettings`\" pulumi-lang-python=\"`autoscale_settings`\" pulumi-lang-yaml=\"`autoscaleSettings`\" pulumi-lang-java=\"`autoscaleSettings`\"\u003e`autoscale_settings`\u003c/span\u003e block as defined below. This must be set upon database creation otherwise it cannot be updated without a manual destroy-apply.\n\n\u003e **Note:** Switching between autoscale and manual throughput is not supported via this provider and must be completed via the Azure Portal and refreshed.\n"},"name":{"type":"string","description":"Specifies the name of the Cosmos DB Gremlin Database. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the Cosmos DB Gremlin Database is created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"throughput":{"type":"integer","description":"The throughput of the Gremlin database (RU/s). Must be set in increments of \u003cspan pulumi-lang-nodejs=\"`100`\" pulumi-lang-dotnet=\"`100`\" pulumi-lang-go=\"`100`\" pulumi-lang-python=\"`100`\" pulumi-lang-yaml=\"`100`\" pulumi-lang-java=\"`100`\"\u003e`100`\u003c/span\u003e. The minimum value is \u003cspan pulumi-lang-nodejs=\"`400`\" pulumi-lang-dotnet=\"`400`\" pulumi-lang-go=\"`400`\" pulumi-lang-python=\"`400`\" pulumi-lang-yaml=\"`400`\" pulumi-lang-java=\"`400`\"\u003e`400`\u003c/span\u003e. This must be set upon database creation otherwise it cannot be updated without a manual resource destroy-apply.\n\n\u003e **Note:** throughput has a maximum value of \u003cspan pulumi-lang-nodejs=\"`1000000`\" pulumi-lang-dotnet=\"`1000000`\" pulumi-lang-go=\"`1000000`\" pulumi-lang-python=\"`1000000`\" pulumi-lang-yaml=\"`1000000`\" pulumi-lang-java=\"`1000000`\"\u003e`1000000`\u003c/span\u003e unless a higher limit is requested via Azure Support\n"}},"type":"object"}},"azure:cosmosdb/gremlinGraph:GremlinGraph":{"description":"Manages a Gremlin Graph within a Cosmos DB Account.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.cosmosdb.getAccount({\n    name: \"tfex-cosmosdb-account\",\n    resourceGroupName: \"tfex-cosmosdb-account-rg\",\n});\nconst exampleGremlinDatabase = new azure.cosmosdb.GremlinDatabase(\"example\", {\n    name: \"tfex-cosmos-gremlin-db\",\n    resourceGroupName: example.then(example =\u003e example.resourceGroupName),\n    accountName: example.then(example =\u003e example.name),\n});\nconst exampleGremlinGraph = new azure.cosmosdb.GremlinGraph(\"example\", {\n    name: \"tfex-cosmos-gremlin-graph\",\n    resourceGroupName: example.then(example =\u003e example.resourceGroupName),\n    accountName: example.then(example =\u003e example.name),\n    databaseName: exampleGremlinDatabase.name,\n    partitionKeyPath: \"/Example\",\n    throughput: 400,\n    indexPolicy: {\n        automatic: true,\n        indexingMode: \"consistent\",\n        includedPaths: [\"/*\"],\n        excludedPaths: [\"/\\\"_etag\\\"/?\"],\n    },\n    conflictResolutionPolicy: {\n        mode: \"LastWriterWins\",\n        conflictResolutionPath: \"/_ts\",\n    },\n    uniqueKeys: [{\n        paths: [\n            \"/definition/id1\",\n            \"/definition/id2\",\n        ],\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.cosmosdb.get_account(name=\"tfex-cosmosdb-account\",\n    resource_group_name=\"tfex-cosmosdb-account-rg\")\nexample_gremlin_database = azure.cosmosdb.GremlinDatabase(\"example\",\n    name=\"tfex-cosmos-gremlin-db\",\n    resource_group_name=example.resource_group_name,\n    account_name=example.name)\nexample_gremlin_graph = azure.cosmosdb.GremlinGraph(\"example\",\n    name=\"tfex-cosmos-gremlin-graph\",\n    resource_group_name=example.resource_group_name,\n    account_name=example.name,\n    database_name=example_gremlin_database.name,\n    partition_key_path=\"/Example\",\n    throughput=400,\n    index_policy={\n        \"automatic\": True,\n        \"indexing_mode\": \"consistent\",\n        \"included_paths\": [\"/*\"],\n        \"excluded_paths\": [\"/\\\"_etag\\\"/?\"],\n    },\n    conflict_resolution_policy={\n        \"mode\": \"LastWriterWins\",\n        \"conflict_resolution_path\": \"/_ts\",\n    },\n    unique_keys=[{\n        \"paths\": [\n            \"/definition/id1\",\n            \"/definition/id2\",\n        ],\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.CosmosDB.GetAccount.Invoke(new()\n    {\n        Name = \"tfex-cosmosdb-account\",\n        ResourceGroupName = \"tfex-cosmosdb-account-rg\",\n    });\n\n    var exampleGremlinDatabase = new Azure.CosmosDB.GremlinDatabase(\"example\", new()\n    {\n        Name = \"tfex-cosmos-gremlin-db\",\n        ResourceGroupName = example.Apply(getAccountResult =\u003e getAccountResult.ResourceGroupName),\n        AccountName = example.Apply(getAccountResult =\u003e getAccountResult.Name),\n    });\n\n    var exampleGremlinGraph = new Azure.CosmosDB.GremlinGraph(\"example\", new()\n    {\n        Name = \"tfex-cosmos-gremlin-graph\",\n        ResourceGroupName = example.Apply(getAccountResult =\u003e getAccountResult.ResourceGroupName),\n        AccountName = example.Apply(getAccountResult =\u003e getAccountResult.Name),\n        DatabaseName = exampleGremlinDatabase.Name,\n        PartitionKeyPath = \"/Example\",\n        Throughput = 400,\n        IndexPolicy = new Azure.CosmosDB.Inputs.GremlinGraphIndexPolicyArgs\n        {\n            Automatic = true,\n            IndexingMode = \"consistent\",\n            IncludedPaths = new[]\n            {\n                \"/*\",\n            },\n            ExcludedPaths = new[]\n            {\n                \"/\\\"_etag\\\"/?\",\n            },\n        },\n        ConflictResolutionPolicy = new Azure.CosmosDB.Inputs.GremlinGraphConflictResolutionPolicyArgs\n        {\n            Mode = \"LastWriterWins\",\n            ConflictResolutionPath = \"/_ts\",\n        },\n        UniqueKeys = new[]\n        {\n            new Azure.CosmosDB.Inputs.GremlinGraphUniqueKeyArgs\n            {\n                Paths = new[]\n                {\n                    \"/definition/id1\",\n                    \"/definition/id2\",\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/cosmosdb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := cosmosdb.LookupAccount(ctx, \u0026cosmosdb.LookupAccountArgs{\n\t\t\tName:              \"tfex-cosmosdb-account\",\n\t\t\tResourceGroupName: \"tfex-cosmosdb-account-rg\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleGremlinDatabase, err := cosmosdb.NewGremlinDatabase(ctx, \"example\", \u0026cosmosdb.GremlinDatabaseArgs{\n\t\t\tName:              pulumi.String(\"tfex-cosmos-gremlin-db\"),\n\t\t\tResourceGroupName: pulumi.String(example.ResourceGroupName),\n\t\t\tAccountName:       pulumi.String(example.Name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cosmosdb.NewGremlinGraph(ctx, \"example\", \u0026cosmosdb.GremlinGraphArgs{\n\t\t\tName:              pulumi.String(\"tfex-cosmos-gremlin-graph\"),\n\t\t\tResourceGroupName: pulumi.String(example.ResourceGroupName),\n\t\t\tAccountName:       pulumi.String(example.Name),\n\t\t\tDatabaseName:      exampleGremlinDatabase.Name,\n\t\t\tPartitionKeyPath:  pulumi.String(\"/Example\"),\n\t\t\tThroughput:        pulumi.Int(400),\n\t\t\tIndexPolicy: \u0026cosmosdb.GremlinGraphIndexPolicyArgs{\n\t\t\t\tAutomatic:    pulumi.Bool(true),\n\t\t\t\tIndexingMode: pulumi.String(\"consistent\"),\n\t\t\t\tIncludedPaths: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"/*\"),\n\t\t\t\t},\n\t\t\t\tExcludedPaths: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"/\\\"_etag\\\"/?\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tConflictResolutionPolicy: \u0026cosmosdb.GremlinGraphConflictResolutionPolicyArgs{\n\t\t\t\tMode:                   pulumi.String(\"LastWriterWins\"),\n\t\t\t\tConflictResolutionPath: pulumi.String(\"/_ts\"),\n\t\t\t},\n\t\t\tUniqueKeys: cosmosdb.GremlinGraphUniqueKeyArray{\n\t\t\t\t\u0026cosmosdb.GremlinGraphUniqueKeyArgs{\n\t\t\t\t\tPaths: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"/definition/id1\"),\n\t\t\t\t\t\tpulumi.String(\"/definition/id2\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.cosmosdb.CosmosdbFunctions;\nimport com.pulumi.azure.cosmosdb.inputs.GetAccountArgs;\nimport com.pulumi.azure.cosmosdb.GremlinDatabase;\nimport com.pulumi.azure.cosmosdb.GremlinDatabaseArgs;\nimport com.pulumi.azure.cosmosdb.GremlinGraph;\nimport com.pulumi.azure.cosmosdb.GremlinGraphArgs;\nimport com.pulumi.azure.cosmosdb.inputs.GremlinGraphIndexPolicyArgs;\nimport com.pulumi.azure.cosmosdb.inputs.GremlinGraphConflictResolutionPolicyArgs;\nimport com.pulumi.azure.cosmosdb.inputs.GremlinGraphUniqueKeyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = CosmosdbFunctions.getAccount(GetAccountArgs.builder()\n            .name(\"tfex-cosmosdb-account\")\n            .resourceGroupName(\"tfex-cosmosdb-account-rg\")\n            .build());\n\n        var exampleGremlinDatabase = new GremlinDatabase(\"exampleGremlinDatabase\", GremlinDatabaseArgs.builder()\n            .name(\"tfex-cosmos-gremlin-db\")\n            .resourceGroupName(example.resourceGroupName())\n            .accountName(example.name())\n            .build());\n\n        var exampleGremlinGraph = new GremlinGraph(\"exampleGremlinGraph\", GremlinGraphArgs.builder()\n            .name(\"tfex-cosmos-gremlin-graph\")\n            .resourceGroupName(example.resourceGroupName())\n            .accountName(example.name())\n            .databaseName(exampleGremlinDatabase.name())\n            .partitionKeyPath(\"/Example\")\n            .throughput(400)\n            .indexPolicy(GremlinGraphIndexPolicyArgs.builder()\n                .automatic(true)\n                .indexingMode(\"consistent\")\n                .includedPaths(\"/*\")\n                .excludedPaths(\"/\\\"_etag\\\"/?\")\n                .build())\n            .conflictResolutionPolicy(GremlinGraphConflictResolutionPolicyArgs.builder()\n                .mode(\"LastWriterWins\")\n                .conflictResolutionPath(\"/_ts\")\n                .build())\n            .uniqueKeys(GremlinGraphUniqueKeyArgs.builder()\n                .paths(                \n                    \"/definition/id1\",\n                    \"/definition/id2\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleGremlinDatabase:\n    type: azure:cosmosdb:GremlinDatabase\n    name: example\n    properties:\n      name: tfex-cosmos-gremlin-db\n      resourceGroupName: ${example.resourceGroupName}\n      accountName: ${example.name}\n  exampleGremlinGraph:\n    type: azure:cosmosdb:GremlinGraph\n    name: example\n    properties:\n      name: tfex-cosmos-gremlin-graph\n      resourceGroupName: ${example.resourceGroupName}\n      accountName: ${example.name}\n      databaseName: ${exampleGremlinDatabase.name}\n      partitionKeyPath: /Example\n      throughput: 400\n      indexPolicy:\n        automatic: true\n        indexingMode: consistent\n        includedPaths:\n          - /*\n        excludedPaths:\n          - /\"_etag\"/?\n      conflictResolutionPolicy:\n        mode: LastWriterWins\n        conflictResolutionPath: /_ts\n      uniqueKeys:\n        - paths:\n            - /definition/id1\n            - /definition/id2\nvariables:\n  example:\n    fn::invoke:\n      function: azure:cosmosdb:getAccount\n      arguments:\n        name: tfex-cosmosdb-account\n        resourceGroupName: tfex-cosmosdb-account-rg\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003e **Note:** The CosmosDB Account needs to have the `EnableGremlin` capability enabled to use this resource - which can be done by adding this to the \u003cspan pulumi-lang-nodejs=\"`capabilities`\" pulumi-lang-dotnet=\"`Capabilities`\" pulumi-lang-go=\"`capabilities`\" pulumi-lang-python=\"`capabilities`\" pulumi-lang-yaml=\"`capabilities`\" pulumi-lang-java=\"`capabilities`\"\u003e`capabilities`\u003c/span\u003e list within the \u003cspan pulumi-lang-nodejs=\"`azure.cosmosdb.Account`\" pulumi-lang-dotnet=\"`azure.cosmosdb.Account`\" pulumi-lang-go=\"`cosmosdb.Account`\" pulumi-lang-python=\"`cosmosdb.Account`\" pulumi-lang-yaml=\"`azure.cosmosdb.Account`\" pulumi-lang-java=\"`azure.cosmosdb.Account`\"\u003e`azure.cosmosdb.Account`\u003c/span\u003e resource.\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.DocumentDB` - 2024-08-15\n\n## Import\n\nCosmos Gremlin Graphs can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:cosmosdb/gremlinGraph:GremlinGraph example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/account1/gremlinDatabases/db1/graphs/graphs1\n```\n\n","properties":{"accountName":{"type":"string","description":"The name of the CosmosDB Account to create the Gremlin Graph within. Changing this forces a new resource to be created.\n"},"analyticalStorageTtl":{"type":"integer","description":"The time to live of Analytical Storage for this Cosmos DB Gremlin Graph. Possible values are between `-1` to \u003cspan pulumi-lang-nodejs=\"`2147483647`\" pulumi-lang-dotnet=\"`2147483647`\" pulumi-lang-go=\"`2147483647`\" pulumi-lang-python=\"`2147483647`\" pulumi-lang-yaml=\"`2147483647`\" pulumi-lang-java=\"`2147483647`\"\u003e`2147483647`\u003c/span\u003e not including \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e. If present and the value is set to `-1`, it means never expire.\n\n\u003e **Note:** Disabling \u003cspan pulumi-lang-nodejs=\"`analyticalStorageTtl`\" pulumi-lang-dotnet=\"`AnalyticalStorageTtl`\" pulumi-lang-go=\"`analyticalStorageTtl`\" pulumi-lang-python=\"`analytical_storage_ttl`\" pulumi-lang-yaml=\"`analyticalStorageTtl`\" pulumi-lang-java=\"`analyticalStorageTtl`\"\u003e`analytical_storage_ttl`\u003c/span\u003e will force a new resource to be created since it can't be disabled once it's enabled.\n"},"autoscaleSettings":{"$ref":"#/types/azure:cosmosdb/GremlinGraphAutoscaleSettings:GremlinGraphAutoscaleSettings","description":"An \u003cspan pulumi-lang-nodejs=\"`autoscaleSettings`\" pulumi-lang-dotnet=\"`AutoscaleSettings`\" pulumi-lang-go=\"`autoscaleSettings`\" pulumi-lang-python=\"`autoscale_settings`\" pulumi-lang-yaml=\"`autoscaleSettings`\" pulumi-lang-java=\"`autoscaleSettings`\"\u003e`autoscale_settings`\u003c/span\u003e block as defined below. This must be set upon database creation otherwise it cannot be updated without a manual terraform destroy-apply. Requires \u003cspan pulumi-lang-nodejs=\"`partitionKeyPath`\" pulumi-lang-dotnet=\"`PartitionKeyPath`\" pulumi-lang-go=\"`partitionKeyPath`\" pulumi-lang-python=\"`partition_key_path`\" pulumi-lang-yaml=\"`partitionKeyPath`\" pulumi-lang-java=\"`partitionKeyPath`\"\u003e`partition_key_path`\u003c/span\u003e to be set.\n\n\u003e **Note:** Switching between autoscale and manual throughput is not supported via this provider and must be completed via the Azure Portal and refreshed.\n"},"conflictResolutionPolicy":{"$ref":"#/types/azure:cosmosdb/GremlinGraphConflictResolutionPolicy:GremlinGraphConflictResolutionPolicy","description":"A \u003cspan pulumi-lang-nodejs=\"`conflictResolutionPolicy`\" pulumi-lang-dotnet=\"`ConflictResolutionPolicy`\" pulumi-lang-go=\"`conflictResolutionPolicy`\" pulumi-lang-python=\"`conflict_resolution_policy`\" pulumi-lang-yaml=\"`conflictResolutionPolicy`\" pulumi-lang-java=\"`conflictResolutionPolicy`\"\u003e`conflict_resolution_policy`\u003c/span\u003e blocks as defined below. Changing this forces a new resource to be created.\n"},"databaseName":{"type":"string","description":"The name of the Cosmos DB Graph Database in which the Cosmos DB Gremlin Graph is created. Changing this forces a new resource to be created.\n"},"defaultTtl":{"type":"integer","description":"The default time to live (TTL) of the Gremlin graph. If the value is missing or set to \"-1\", items don’t expire.\n"},"indexPolicy":{"$ref":"#/types/azure:cosmosdb/GremlinGraphIndexPolicy:GremlinGraphIndexPolicy","description":"The configuration of the indexing policy. One or more \u003cspan pulumi-lang-nodejs=\"`indexPolicy`\" pulumi-lang-dotnet=\"`IndexPolicy`\" pulumi-lang-go=\"`indexPolicy`\" pulumi-lang-python=\"`index_policy`\" pulumi-lang-yaml=\"`indexPolicy`\" pulumi-lang-java=\"`indexPolicy`\"\u003e`index_policy`\u003c/span\u003e blocks as defined below.\n"},"name":{"type":"string","description":"Specifies the name of the Cosmos DB Gremlin Graph. Changing this forces a new resource to be created.\n"},"partitionKeyPath":{"type":"string","description":"Define a partition key. Changing this forces a new resource to be created.\n"},"partitionKeyVersion":{"type":"integer","description":"Define a partition key version. Changing this forces a new resource to be created. Possible values are \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003eand \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e. This should be set to \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e in order to use large partition keys.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the Cosmos DB Gremlin Graph is created. Changing this forces a new resource to be created.\n"},"throughput":{"type":"integer","description":"The throughput of the Gremlin graph (RU/s). Must be set in increments of \u003cspan pulumi-lang-nodejs=\"`100`\" pulumi-lang-dotnet=\"`100`\" pulumi-lang-go=\"`100`\" pulumi-lang-python=\"`100`\" pulumi-lang-yaml=\"`100`\" pulumi-lang-java=\"`100`\"\u003e`100`\u003c/span\u003e. The minimum value is \u003cspan pulumi-lang-nodejs=\"`400`\" pulumi-lang-dotnet=\"`400`\" pulumi-lang-go=\"`400`\" pulumi-lang-python=\"`400`\" pulumi-lang-yaml=\"`400`\" pulumi-lang-java=\"`400`\"\u003e`400`\u003c/span\u003e. This must be set upon database creation otherwise it cannot be updated without a manual destroy-apply.\n"},"uniqueKeys":{"type":"array","items":{"$ref":"#/types/azure:cosmosdb/GremlinGraphUniqueKey:GremlinGraphUniqueKey"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`uniqueKey`\" pulumi-lang-dotnet=\"`UniqueKey`\" pulumi-lang-go=\"`uniqueKey`\" pulumi-lang-python=\"`unique_key`\" pulumi-lang-yaml=\"`uniqueKey`\" pulumi-lang-java=\"`uniqueKey`\"\u003e`unique_key`\u003c/span\u003e blocks as defined below. Changing this forces a new resource to be created.\n"}},"required":["accountName","conflictResolutionPolicy","databaseName","indexPolicy","name","partitionKeyPath","resourceGroupName","throughput"],"inputProperties":{"accountName":{"type":"string","description":"The name of the CosmosDB Account to create the Gremlin Graph within. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"analyticalStorageTtl":{"type":"integer","description":"The time to live of Analytical Storage for this Cosmos DB Gremlin Graph. Possible values are between `-1` to \u003cspan pulumi-lang-nodejs=\"`2147483647`\" pulumi-lang-dotnet=\"`2147483647`\" pulumi-lang-go=\"`2147483647`\" pulumi-lang-python=\"`2147483647`\" pulumi-lang-yaml=\"`2147483647`\" pulumi-lang-java=\"`2147483647`\"\u003e`2147483647`\u003c/span\u003e not including \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e. If present and the value is set to `-1`, it means never expire.\n\n\u003e **Note:** Disabling \u003cspan pulumi-lang-nodejs=\"`analyticalStorageTtl`\" pulumi-lang-dotnet=\"`AnalyticalStorageTtl`\" pulumi-lang-go=\"`analyticalStorageTtl`\" pulumi-lang-python=\"`analytical_storage_ttl`\" pulumi-lang-yaml=\"`analyticalStorageTtl`\" pulumi-lang-java=\"`analyticalStorageTtl`\"\u003e`analytical_storage_ttl`\u003c/span\u003e will force a new resource to be created since it can't be disabled once it's enabled.\n"},"autoscaleSettings":{"$ref":"#/types/azure:cosmosdb/GremlinGraphAutoscaleSettings:GremlinGraphAutoscaleSettings","description":"An \u003cspan pulumi-lang-nodejs=\"`autoscaleSettings`\" pulumi-lang-dotnet=\"`AutoscaleSettings`\" pulumi-lang-go=\"`autoscaleSettings`\" pulumi-lang-python=\"`autoscale_settings`\" pulumi-lang-yaml=\"`autoscaleSettings`\" pulumi-lang-java=\"`autoscaleSettings`\"\u003e`autoscale_settings`\u003c/span\u003e block as defined below. This must be set upon database creation otherwise it cannot be updated without a manual terraform destroy-apply. Requires \u003cspan pulumi-lang-nodejs=\"`partitionKeyPath`\" pulumi-lang-dotnet=\"`PartitionKeyPath`\" pulumi-lang-go=\"`partitionKeyPath`\" pulumi-lang-python=\"`partition_key_path`\" pulumi-lang-yaml=\"`partitionKeyPath`\" pulumi-lang-java=\"`partitionKeyPath`\"\u003e`partition_key_path`\u003c/span\u003e to be set.\n\n\u003e **Note:** Switching between autoscale and manual throughput is not supported via this provider and must be completed via the Azure Portal and refreshed.\n"},"conflictResolutionPolicy":{"$ref":"#/types/azure:cosmosdb/GremlinGraphConflictResolutionPolicy:GremlinGraphConflictResolutionPolicy","description":"A \u003cspan pulumi-lang-nodejs=\"`conflictResolutionPolicy`\" pulumi-lang-dotnet=\"`ConflictResolutionPolicy`\" pulumi-lang-go=\"`conflictResolutionPolicy`\" pulumi-lang-python=\"`conflict_resolution_policy`\" pulumi-lang-yaml=\"`conflictResolutionPolicy`\" pulumi-lang-java=\"`conflictResolutionPolicy`\"\u003e`conflict_resolution_policy`\u003c/span\u003e blocks as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"databaseName":{"type":"string","description":"The name of the Cosmos DB Graph Database in which the Cosmos DB Gremlin Graph is created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"defaultTtl":{"type":"integer","description":"The default time to live (TTL) of the Gremlin graph. If the value is missing or set to \"-1\", items don’t expire.\n"},"indexPolicy":{"$ref":"#/types/azure:cosmosdb/GremlinGraphIndexPolicy:GremlinGraphIndexPolicy","description":"The configuration of the indexing policy. One or more \u003cspan pulumi-lang-nodejs=\"`indexPolicy`\" pulumi-lang-dotnet=\"`IndexPolicy`\" pulumi-lang-go=\"`indexPolicy`\" pulumi-lang-python=\"`index_policy`\" pulumi-lang-yaml=\"`indexPolicy`\" pulumi-lang-java=\"`indexPolicy`\"\u003e`index_policy`\u003c/span\u003e blocks as defined below.\n"},"name":{"type":"string","description":"Specifies the name of the Cosmos DB Gremlin Graph. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"partitionKeyPath":{"type":"string","description":"Define a partition key. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"partitionKeyVersion":{"type":"integer","description":"Define a partition key version. Changing this forces a new resource to be created. Possible values are \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003eand \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e. This should be set to \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e in order to use large partition keys.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the Cosmos DB Gremlin Graph is created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"throughput":{"type":"integer","description":"The throughput of the Gremlin graph (RU/s). Must be set in increments of \u003cspan pulumi-lang-nodejs=\"`100`\" pulumi-lang-dotnet=\"`100`\" pulumi-lang-go=\"`100`\" pulumi-lang-python=\"`100`\" pulumi-lang-yaml=\"`100`\" pulumi-lang-java=\"`100`\"\u003e`100`\u003c/span\u003e. The minimum value is \u003cspan pulumi-lang-nodejs=\"`400`\" pulumi-lang-dotnet=\"`400`\" pulumi-lang-go=\"`400`\" pulumi-lang-python=\"`400`\" pulumi-lang-yaml=\"`400`\" pulumi-lang-java=\"`400`\"\u003e`400`\u003c/span\u003e. This must be set upon database creation otherwise it cannot be updated without a manual destroy-apply.\n"},"uniqueKeys":{"type":"array","items":{"$ref":"#/types/azure:cosmosdb/GremlinGraphUniqueKey:GremlinGraphUniqueKey"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`uniqueKey`\" pulumi-lang-dotnet=\"`UniqueKey`\" pulumi-lang-go=\"`uniqueKey`\" pulumi-lang-python=\"`unique_key`\" pulumi-lang-yaml=\"`uniqueKey`\" pulumi-lang-java=\"`uniqueKey`\"\u003e`unique_key`\u003c/span\u003e blocks as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["accountName","databaseName","partitionKeyPath","resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering GremlinGraph resources.\n","properties":{"accountName":{"type":"string","description":"The name of the CosmosDB Account to create the Gremlin Graph within. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"analyticalStorageTtl":{"type":"integer","description":"The time to live of Analytical Storage for this Cosmos DB Gremlin Graph. Possible values are between `-1` to \u003cspan pulumi-lang-nodejs=\"`2147483647`\" pulumi-lang-dotnet=\"`2147483647`\" pulumi-lang-go=\"`2147483647`\" pulumi-lang-python=\"`2147483647`\" pulumi-lang-yaml=\"`2147483647`\" pulumi-lang-java=\"`2147483647`\"\u003e`2147483647`\u003c/span\u003e not including \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e. If present and the value is set to `-1`, it means never expire.\n\n\u003e **Note:** Disabling \u003cspan pulumi-lang-nodejs=\"`analyticalStorageTtl`\" pulumi-lang-dotnet=\"`AnalyticalStorageTtl`\" pulumi-lang-go=\"`analyticalStorageTtl`\" pulumi-lang-python=\"`analytical_storage_ttl`\" pulumi-lang-yaml=\"`analyticalStorageTtl`\" pulumi-lang-java=\"`analyticalStorageTtl`\"\u003e`analytical_storage_ttl`\u003c/span\u003e will force a new resource to be created since it can't be disabled once it's enabled.\n"},"autoscaleSettings":{"$ref":"#/types/azure:cosmosdb/GremlinGraphAutoscaleSettings:GremlinGraphAutoscaleSettings","description":"An \u003cspan pulumi-lang-nodejs=\"`autoscaleSettings`\" pulumi-lang-dotnet=\"`AutoscaleSettings`\" pulumi-lang-go=\"`autoscaleSettings`\" pulumi-lang-python=\"`autoscale_settings`\" pulumi-lang-yaml=\"`autoscaleSettings`\" pulumi-lang-java=\"`autoscaleSettings`\"\u003e`autoscale_settings`\u003c/span\u003e block as defined below. This must be set upon database creation otherwise it cannot be updated without a manual terraform destroy-apply. Requires \u003cspan pulumi-lang-nodejs=\"`partitionKeyPath`\" pulumi-lang-dotnet=\"`PartitionKeyPath`\" pulumi-lang-go=\"`partitionKeyPath`\" pulumi-lang-python=\"`partition_key_path`\" pulumi-lang-yaml=\"`partitionKeyPath`\" pulumi-lang-java=\"`partitionKeyPath`\"\u003e`partition_key_path`\u003c/span\u003e to be set.\n\n\u003e **Note:** Switching between autoscale and manual throughput is not supported via this provider and must be completed via the Azure Portal and refreshed.\n"},"conflictResolutionPolicy":{"$ref":"#/types/azure:cosmosdb/GremlinGraphConflictResolutionPolicy:GremlinGraphConflictResolutionPolicy","description":"A \u003cspan pulumi-lang-nodejs=\"`conflictResolutionPolicy`\" pulumi-lang-dotnet=\"`ConflictResolutionPolicy`\" pulumi-lang-go=\"`conflictResolutionPolicy`\" pulumi-lang-python=\"`conflict_resolution_policy`\" pulumi-lang-yaml=\"`conflictResolutionPolicy`\" pulumi-lang-java=\"`conflictResolutionPolicy`\"\u003e`conflict_resolution_policy`\u003c/span\u003e blocks as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"databaseName":{"type":"string","description":"The name of the Cosmos DB Graph Database in which the Cosmos DB Gremlin Graph is created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"defaultTtl":{"type":"integer","description":"The default time to live (TTL) of the Gremlin graph. If the value is missing or set to \"-1\", items don’t expire.\n"},"indexPolicy":{"$ref":"#/types/azure:cosmosdb/GremlinGraphIndexPolicy:GremlinGraphIndexPolicy","description":"The configuration of the indexing policy. One or more \u003cspan pulumi-lang-nodejs=\"`indexPolicy`\" pulumi-lang-dotnet=\"`IndexPolicy`\" pulumi-lang-go=\"`indexPolicy`\" pulumi-lang-python=\"`index_policy`\" pulumi-lang-yaml=\"`indexPolicy`\" pulumi-lang-java=\"`indexPolicy`\"\u003e`index_policy`\u003c/span\u003e blocks as defined below.\n"},"name":{"type":"string","description":"Specifies the name of the Cosmos DB Gremlin Graph. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"partitionKeyPath":{"type":"string","description":"Define a partition key. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"partitionKeyVersion":{"type":"integer","description":"Define a partition key version. Changing this forces a new resource to be created. Possible values are \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003eand \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e. This should be set to \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e in order to use large partition keys.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the Cosmos DB Gremlin Graph is created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"throughput":{"type":"integer","description":"The throughput of the Gremlin graph (RU/s). Must be set in increments of \u003cspan pulumi-lang-nodejs=\"`100`\" pulumi-lang-dotnet=\"`100`\" pulumi-lang-go=\"`100`\" pulumi-lang-python=\"`100`\" pulumi-lang-yaml=\"`100`\" pulumi-lang-java=\"`100`\"\u003e`100`\u003c/span\u003e. The minimum value is \u003cspan pulumi-lang-nodejs=\"`400`\" pulumi-lang-dotnet=\"`400`\" pulumi-lang-go=\"`400`\" pulumi-lang-python=\"`400`\" pulumi-lang-yaml=\"`400`\" pulumi-lang-java=\"`400`\"\u003e`400`\u003c/span\u003e. This must be set upon database creation otherwise it cannot be updated without a manual destroy-apply.\n"},"uniqueKeys":{"type":"array","items":{"$ref":"#/types/azure:cosmosdb/GremlinGraphUniqueKey:GremlinGraphUniqueKey"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`uniqueKey`\" pulumi-lang-dotnet=\"`UniqueKey`\" pulumi-lang-go=\"`uniqueKey`\" pulumi-lang-python=\"`unique_key`\" pulumi-lang-yaml=\"`uniqueKey`\" pulumi-lang-java=\"`uniqueKey`\"\u003e`unique_key`\u003c/span\u003e blocks as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:cosmosdb/mongoCluster:MongoCluster":{"description":"Manages a MongoDB Cluster using vCore Architecture.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-rg\",\n    location: \"East US\",\n});\nconst exampleMongoCluster = new azure.mongocluster.MongoCluster(\"example\", {\n    name: \"example-mc\",\n    resourceGroupName: example.name,\n    location: example.location,\n    administratorUsername: \"adminTerraform\",\n    administratorPassword: \"QAZwsx123\",\n    shardCount: 1,\n    computeTier: \"Free\",\n    highAvailabilityMode: \"Disabled\",\n    storageSizeInGb: 32,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-rg\",\n    location=\"East US\")\nexample_mongo_cluster = azure.mongocluster.MongoCluster(\"example\",\n    name=\"example-mc\",\n    resource_group_name=example.name,\n    location=example.location,\n    administrator_username=\"adminTerraform\",\n    administrator_password=\"QAZwsx123\",\n    shard_count=1,\n    compute_tier=\"Free\",\n    high_availability_mode=\"Disabled\",\n    storage_size_in_gb=32)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-rg\",\n        Location = \"East US\",\n    });\n\n    var exampleMongoCluster = new Azure.MongoCluster.MongoCluster(\"example\", new()\n    {\n        Name = \"example-mc\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        AdministratorUsername = \"adminTerraform\",\n        AdministratorPassword = \"QAZwsx123\",\n        ShardCount = 1,\n        ComputeTier = \"Free\",\n        HighAvailabilityMode = \"Disabled\",\n        StorageSizeInGb = 32,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/mongocluster\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-rg\"),\n\t\t\tLocation: pulumi.String(\"East US\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = mongocluster.NewMongoCluster(ctx, \"example\", \u0026mongocluster.MongoClusterArgs{\n\t\t\tName:                  pulumi.String(\"example-mc\"),\n\t\t\tResourceGroupName:     example.Name,\n\t\t\tLocation:              example.Location,\n\t\t\tAdministratorUsername: pulumi.String(\"adminTerraform\"),\n\t\t\tAdministratorPassword: pulumi.String(\"QAZwsx123\"),\n\t\t\tShardCount:            pulumi.Int(1),\n\t\t\tComputeTier:           pulumi.String(\"Free\"),\n\t\t\tHighAvailabilityMode:  pulumi.String(\"Disabled\"),\n\t\t\tStorageSizeInGb:       pulumi.Int(32),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.mongocluster.MongoCluster;\nimport com.pulumi.azure.mongocluster.MongoClusterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-rg\")\n            .location(\"East US\")\n            .build());\n\n        var exampleMongoCluster = new MongoCluster(\"exampleMongoCluster\", MongoClusterArgs.builder()\n            .name(\"example-mc\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .administratorUsername(\"adminTerraform\")\n            .administratorPassword(\"QAZwsx123\")\n            .shardCount(1)\n            .computeTier(\"Free\")\n            .highAvailabilityMode(\"Disabled\")\n            .storageSizeInGb(32)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-rg\n      location: East US\n  exampleMongoCluster:\n    type: azure:mongocluster:MongoCluster\n    name: example\n    properties:\n      name: example-mc\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      administratorUsername: adminTerraform\n      administratorPassword: QAZwsx123\n      shardCount: '1'\n      computeTier: Free\n      highAvailabilityMode: Disabled\n      storageSizeInGb: '32'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\n### Preview Feature GeoReplicas)\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-rg\",\n    location: \"East US\",\n});\nconst exampleMongoCluster = new azure.mongocluster.MongoCluster(\"example\", {\n    name: \"example-mc\",\n    resourceGroupName: example.name,\n    location: example.location,\n    administratorUsername: \"adminTerraform\",\n    administratorPassword: \"QAZwsx123\",\n    shardCount: 1,\n    computeTier: \"M30\",\n    highAvailabilityMode: \"ZoneRedundantPreferred\",\n    storageSizeInGb: 64,\n    previewFeatures: [\"GeoReplicas\"],\n});\nconst exampleGeoReplica = new azure.mongocluster.MongoCluster(\"example_geo_replica\", {\n    name: \"example-mc-geo\",\n    resourceGroupName: example.name,\n    location: \"Central US\",\n    sourceServerId: exampleMongoCluster.id,\n    sourceLocation: exampleMongoCluster.location,\n    createMode: \"GeoReplica\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-rg\",\n    location=\"East US\")\nexample_mongo_cluster = azure.mongocluster.MongoCluster(\"example\",\n    name=\"example-mc\",\n    resource_group_name=example.name,\n    location=example.location,\n    administrator_username=\"adminTerraform\",\n    administrator_password=\"QAZwsx123\",\n    shard_count=1,\n    compute_tier=\"M30\",\n    high_availability_mode=\"ZoneRedundantPreferred\",\n    storage_size_in_gb=64,\n    preview_features=[\"GeoReplicas\"])\nexample_geo_replica = azure.mongocluster.MongoCluster(\"example_geo_replica\",\n    name=\"example-mc-geo\",\n    resource_group_name=example.name,\n    location=\"Central US\",\n    source_server_id=example_mongo_cluster.id,\n    source_location=example_mongo_cluster.location,\n    create_mode=\"GeoReplica\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-rg\",\n        Location = \"East US\",\n    });\n\n    var exampleMongoCluster = new Azure.MongoCluster.MongoCluster(\"example\", new()\n    {\n        Name = \"example-mc\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        AdministratorUsername = \"adminTerraform\",\n        AdministratorPassword = \"QAZwsx123\",\n        ShardCount = 1,\n        ComputeTier = \"M30\",\n        HighAvailabilityMode = \"ZoneRedundantPreferred\",\n        StorageSizeInGb = 64,\n        PreviewFeatures = new[]\n        {\n            \"GeoReplicas\",\n        },\n    });\n\n    var exampleGeoReplica = new Azure.MongoCluster.MongoCluster(\"example_geo_replica\", new()\n    {\n        Name = \"example-mc-geo\",\n        ResourceGroupName = example.Name,\n        Location = \"Central US\",\n        SourceServerId = exampleMongoCluster.Id,\n        SourceLocation = exampleMongoCluster.Location,\n        CreateMode = \"GeoReplica\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/mongocluster\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-rg\"),\n\t\t\tLocation: pulumi.String(\"East US\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleMongoCluster, err := mongocluster.NewMongoCluster(ctx, \"example\", \u0026mongocluster.MongoClusterArgs{\n\t\t\tName:                  pulumi.String(\"example-mc\"),\n\t\t\tResourceGroupName:     example.Name,\n\t\t\tLocation:              example.Location,\n\t\t\tAdministratorUsername: pulumi.String(\"adminTerraform\"),\n\t\t\tAdministratorPassword: pulumi.String(\"QAZwsx123\"),\n\t\t\tShardCount:            pulumi.Int(1),\n\t\t\tComputeTier:           pulumi.String(\"M30\"),\n\t\t\tHighAvailabilityMode:  pulumi.String(\"ZoneRedundantPreferred\"),\n\t\t\tStorageSizeInGb:       pulumi.Int(64),\n\t\t\tPreviewFeatures: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"GeoReplicas\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = mongocluster.NewMongoCluster(ctx, \"example_geo_replica\", \u0026mongocluster.MongoClusterArgs{\n\t\t\tName:              pulumi.String(\"example-mc-geo\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          pulumi.String(\"Central US\"),\n\t\t\tSourceServerId:    exampleMongoCluster.ID(),\n\t\t\tSourceLocation:    exampleMongoCluster.Location,\n\t\t\tCreateMode:        pulumi.String(\"GeoReplica\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.mongocluster.MongoCluster;\nimport com.pulumi.azure.mongocluster.MongoClusterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-rg\")\n            .location(\"East US\")\n            .build());\n\n        var exampleMongoCluster = new MongoCluster(\"exampleMongoCluster\", MongoClusterArgs.builder()\n            .name(\"example-mc\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .administratorUsername(\"adminTerraform\")\n            .administratorPassword(\"QAZwsx123\")\n            .shardCount(1)\n            .computeTier(\"M30\")\n            .highAvailabilityMode(\"ZoneRedundantPreferred\")\n            .storageSizeInGb(64)\n            .previewFeatures(\"GeoReplicas\")\n            .build());\n\n        var exampleGeoReplica = new MongoCluster(\"exampleGeoReplica\", MongoClusterArgs.builder()\n            .name(\"example-mc-geo\")\n            .resourceGroupName(example.name())\n            .location(\"Central US\")\n            .sourceServerId(exampleMongoCluster.id())\n            .sourceLocation(exampleMongoCluster.location())\n            .createMode(\"GeoReplica\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-rg\n      location: East US\n  exampleMongoCluster:\n    type: azure:mongocluster:MongoCluster\n    name: example\n    properties:\n      name: example-mc\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      administratorUsername: adminTerraform\n      administratorPassword: QAZwsx123\n      shardCount: '1'\n      computeTier: M30\n      highAvailabilityMode: ZoneRedundantPreferred\n      storageSizeInGb: '64'\n      previewFeatures:\n        - GeoReplicas\n  exampleGeoReplica:\n    type: azure:mongocluster:MongoCluster\n    name: example_geo_replica\n    properties:\n      name: example-mc-geo\n      resourceGroupName: ${example.name}\n      location: Central US\n      sourceServerId: ${exampleMongoCluster.id}\n      sourceLocation: ${exampleMongoCluster.location}\n      createMode: GeoReplica\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.DocumentDB` - 2025-09-01\n\n## Import\n\nMongoDB Clusters can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:cosmosdb/mongoCluster:MongoCluster example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.DocumentDB/mongoClusters/myMongoCluster\n```\n\n","properties":{"administratorPassword":{"type":"string","description":"The Password associated with the \u003cspan pulumi-lang-nodejs=\"`administratorUsername`\" pulumi-lang-dotnet=\"`AdministratorUsername`\" pulumi-lang-go=\"`administratorUsername`\" pulumi-lang-python=\"`administrator_username`\" pulumi-lang-yaml=\"`administratorUsername`\" pulumi-lang-java=\"`administratorUsername`\"\u003e`administrator_username`\u003c/span\u003e for the MongoDB Cluster.\n","secret":true},"administratorUsername":{"type":"string","description":"The administrator username of the MongoDB Cluster. Changing this forces a new resource to be created.\n"},"authenticationMethods":{"type":"array","items":{"type":"string"},"description":"A list of allowed authentication modes for the MongoDB Cluster. Possible values are `NativeAuth` and `MicrosoftEntraID`.\n"},"computeTier":{"type":"string","description":"The compute tier to assign to the MongoDB Cluster. Possible values are `Free`, `M10`, `M20`, `M25`, `M30`, `M40`, `M50`, `M60`, `M80`, and `M200`.\n"},"connectionStrings":{"type":"array","items":{"$ref":"#/types/azure:cosmosdb/MongoClusterConnectionString:MongoClusterConnectionString"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`connectionStrings`\" pulumi-lang-dotnet=\"`ConnectionStrings`\" pulumi-lang-go=\"`connectionStrings`\" pulumi-lang-python=\"`connection_strings`\" pulumi-lang-yaml=\"`connectionStrings`\" pulumi-lang-java=\"`connectionStrings`\"\u003e`connection_strings`\u003c/span\u003e blocks as defined below.\n","secret":true},"createMode":{"type":"string","description":"The creation mode for the MongoDB Cluster. Possible values are `Default`, `GeoReplica` and `PointInTimeRestore`. Defaults to `Default`. Changing this forces a new resource to be created.\n"},"customerManagedKey":{"$ref":"#/types/azure:cosmosdb/MongoClusterCustomerManagedKey:MongoClusterCustomerManagedKey","description":"A \u003cspan pulumi-lang-nodejs=\"`customerManagedKey`\" pulumi-lang-dotnet=\"`CustomerManagedKey`\" pulumi-lang-go=\"`customerManagedKey`\" pulumi-lang-python=\"`customer_managed_key`\" pulumi-lang-yaml=\"`customerManagedKey`\" pulumi-lang-java=\"`customerManagedKey`\"\u003e`customer_managed_key`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n"},"dataApiModeEnabled":{"type":"boolean","description":"Is the Data API for the MongoDB Cluster enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`dataApiModeEnabled`\" pulumi-lang-dotnet=\"`DataApiModeEnabled`\" pulumi-lang-go=\"`dataApiModeEnabled`\" pulumi-lang-python=\"`data_api_mode_enabled`\" pulumi-lang-yaml=\"`dataApiModeEnabled`\" pulumi-lang-java=\"`dataApiModeEnabled`\"\u003e`data_api_mode_enabled`\u003c/span\u003e can only be set when \u003cspan pulumi-lang-nodejs=\"`createMode`\" pulumi-lang-dotnet=\"`CreateMode`\" pulumi-lang-go=\"`createMode`\" pulumi-lang-python=\"`create_mode`\" pulumi-lang-yaml=\"`createMode`\" pulumi-lang-java=\"`createMode`\"\u003e`create_mode`\u003c/span\u003e is `Default`. Once enabled, it can only be disabled by recreating the resource.\n"},"highAvailabilityMode":{"type":"string","description":"The high availability mode for the MongoDB Cluster. Possibles values are `Disabled` and `ZoneRedundantPreferred`.\n"},"identity":{"$ref":"#/types/azure:cosmosdb/MongoClusterIdentity:MongoClusterIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as detailed below.\n\n\u003e **Note:** When adding or removing \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e, a resource recreation will be triggered.\n"},"location":{"type":"string","description":"The supported Azure location where the MongoDB Cluster exists. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"The name which should be used for the MongoDB Cluster. Changing this forces a new resource to be created.\n"},"previewFeatures":{"type":"array","items":{"type":"string"},"description":"The preview features that can be enabled on the MongoDB Cluster. Changing this forces a new resource to be created.\n"},"publicNetworkAccess":{"type":"string","description":"The Public Network Access setting for the MongoDB Cluster. Possibles values are `Disabled` and `Enabled`. Defaults to `Enabled`.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the MongoDB Cluster. Changing this forces a new resource to be created.\n"},"restore":{"$ref":"#/types/azure:cosmosdb/MongoClusterRestore:MongoClusterRestore","description":"A \u003cspan pulumi-lang-nodejs=\"`restore`\" pulumi-lang-dotnet=\"`Restore`\" pulumi-lang-go=\"`restore`\" pulumi-lang-python=\"`restore`\" pulumi-lang-yaml=\"`restore`\" pulumi-lang-java=\"`restore`\"\u003e`restore`\u003c/span\u003e block as defined below. Required when \u003cspan pulumi-lang-nodejs=\"`createMode`\" pulumi-lang-dotnet=\"`CreateMode`\" pulumi-lang-go=\"`createMode`\" pulumi-lang-python=\"`create_mode`\" pulumi-lang-yaml=\"`createMode`\" pulumi-lang-java=\"`createMode`\"\u003e`create_mode`\u003c/span\u003e is set to `PointInTimeRestore`. Changing this forces a new resource to be created.\n\n\u003e **Note:** When `PointInTimeRestore` is enabled, service API will also assign a value to \u003cspan pulumi-lang-nodejs=\"`sourceServerId`\" pulumi-lang-dotnet=\"`SourceServerId`\" pulumi-lang-go=\"`sourceServerId`\" pulumi-lang-python=\"`source_server_id`\" pulumi-lang-yaml=\"`sourceServerId`\" pulumi-lang-java=\"`sourceServerId`\"\u003e`source_server_id`\u003c/span\u003e. The user has to explicitly set this property in the Terraform configuration or handle it using \u003cspan pulumi-lang-nodejs=\"`ignoreChanges`\" pulumi-lang-dotnet=\"`IgnoreChanges`\" pulumi-lang-go=\"`ignoreChanges`\" pulumi-lang-python=\"`ignore_changes`\" pulumi-lang-yaml=\"`ignoreChanges`\" pulumi-lang-java=\"`ignoreChanges`\"\u003e`ignore_changes`\u003c/span\u003e.\n"},"shardCount":{"type":"integer","description":"The Number of shards to provision on the MongoDB Cluster. Changing this forces a new resource to be created.\n"},"sourceLocation":{"type":"string","description":"The location of the source MongoDB Cluster. Changing this forces a new resource to be created.\n"},"sourceServerId":{"type":"string","description":"The ID of the replication source MongoDB Cluster. Changing this forces a new resource to be created.\n"},"storageSizeInGb":{"type":"integer","description":"The size of the data disk space for the MongoDB Cluster.\n"},"storageType":{"type":"string","description":"The storage type for the MongoDB Cluster. Possible values are `PremiumSSD` and `PremiumSSDv2`. Defaults to `PremiumSSD`. Changing this forces a new resource to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the MongoDB Cluster.\n"},"version":{"type":"string","description":"The version for the MongoDB Cluster. Possibles values are `5.0`, `6.0`, `7.0` and `8.0`.\n"}},"required":["authenticationMethods","connectionStrings","location","name","resourceGroupName"],"inputProperties":{"administratorPassword":{"type":"string","description":"The Password associated with the \u003cspan pulumi-lang-nodejs=\"`administratorUsername`\" pulumi-lang-dotnet=\"`AdministratorUsername`\" pulumi-lang-go=\"`administratorUsername`\" pulumi-lang-python=\"`administrator_username`\" pulumi-lang-yaml=\"`administratorUsername`\" pulumi-lang-java=\"`administratorUsername`\"\u003e`administrator_username`\u003c/span\u003e for the MongoDB Cluster.\n","secret":true},"administratorUsername":{"type":"string","description":"The administrator username of the MongoDB Cluster. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"authenticationMethods":{"type":"array","items":{"type":"string"},"description":"A list of allowed authentication modes for the MongoDB Cluster. Possible values are `NativeAuth` and `MicrosoftEntraID`.\n"},"computeTier":{"type":"string","description":"The compute tier to assign to the MongoDB Cluster. Possible values are `Free`, `M10`, `M20`, `M25`, `M30`, `M40`, `M50`, `M60`, `M80`, and `M200`.\n"},"createMode":{"type":"string","description":"The creation mode for the MongoDB Cluster. Possible values are `Default`, `GeoReplica` and `PointInTimeRestore`. Defaults to `Default`. Changing this forces a new resource to be created.\n"},"customerManagedKey":{"$ref":"#/types/azure:cosmosdb/MongoClusterCustomerManagedKey:MongoClusterCustomerManagedKey","description":"A \u003cspan pulumi-lang-nodejs=\"`customerManagedKey`\" pulumi-lang-dotnet=\"`CustomerManagedKey`\" pulumi-lang-go=\"`customerManagedKey`\" pulumi-lang-python=\"`customer_managed_key`\" pulumi-lang-yaml=\"`customerManagedKey`\" pulumi-lang-java=\"`customerManagedKey`\"\u003e`customer_managed_key`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"dataApiModeEnabled":{"type":"boolean","description":"Is the Data API for the MongoDB Cluster enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`dataApiModeEnabled`\" pulumi-lang-dotnet=\"`DataApiModeEnabled`\" pulumi-lang-go=\"`dataApiModeEnabled`\" pulumi-lang-python=\"`data_api_mode_enabled`\" pulumi-lang-yaml=\"`dataApiModeEnabled`\" pulumi-lang-java=\"`dataApiModeEnabled`\"\u003e`data_api_mode_enabled`\u003c/span\u003e can only be set when \u003cspan pulumi-lang-nodejs=\"`createMode`\" pulumi-lang-dotnet=\"`CreateMode`\" pulumi-lang-go=\"`createMode`\" pulumi-lang-python=\"`create_mode`\" pulumi-lang-yaml=\"`createMode`\" pulumi-lang-java=\"`createMode`\"\u003e`create_mode`\u003c/span\u003e is `Default`. Once enabled, it can only be disabled by recreating the resource.\n"},"highAvailabilityMode":{"type":"string","description":"The high availability mode for the MongoDB Cluster. Possibles values are `Disabled` and `ZoneRedundantPreferred`.\n"},"identity":{"$ref":"#/types/azure:cosmosdb/MongoClusterIdentity:MongoClusterIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as detailed below.\n\n\u003e **Note:** When adding or removing \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e, a resource recreation will be triggered.\n"},"location":{"type":"string","description":"The supported Azure location where the MongoDB Cluster exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for the MongoDB Cluster. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"previewFeatures":{"type":"array","items":{"type":"string"},"description":"The preview features that can be enabled on the MongoDB Cluster. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"publicNetworkAccess":{"type":"string","description":"The Public Network Access setting for the MongoDB Cluster. Possibles values are `Disabled` and `Enabled`. Defaults to `Enabled`.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the MongoDB Cluster. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"restore":{"$ref":"#/types/azure:cosmosdb/MongoClusterRestore:MongoClusterRestore","description":"A \u003cspan pulumi-lang-nodejs=\"`restore`\" pulumi-lang-dotnet=\"`Restore`\" pulumi-lang-go=\"`restore`\" pulumi-lang-python=\"`restore`\" pulumi-lang-yaml=\"`restore`\" pulumi-lang-java=\"`restore`\"\u003e`restore`\u003c/span\u003e block as defined below. Required when \u003cspan pulumi-lang-nodejs=\"`createMode`\" pulumi-lang-dotnet=\"`CreateMode`\" pulumi-lang-go=\"`createMode`\" pulumi-lang-python=\"`create_mode`\" pulumi-lang-yaml=\"`createMode`\" pulumi-lang-java=\"`createMode`\"\u003e`create_mode`\u003c/span\u003e is set to `PointInTimeRestore`. Changing this forces a new resource to be created.\n\n\u003e **Note:** When `PointInTimeRestore` is enabled, service API will also assign a value to \u003cspan pulumi-lang-nodejs=\"`sourceServerId`\" pulumi-lang-dotnet=\"`SourceServerId`\" pulumi-lang-go=\"`sourceServerId`\" pulumi-lang-python=\"`source_server_id`\" pulumi-lang-yaml=\"`sourceServerId`\" pulumi-lang-java=\"`sourceServerId`\"\u003e`source_server_id`\u003c/span\u003e. The user has to explicitly set this property in the Terraform configuration or handle it using \u003cspan pulumi-lang-nodejs=\"`ignoreChanges`\" pulumi-lang-dotnet=\"`IgnoreChanges`\" pulumi-lang-go=\"`ignoreChanges`\" pulumi-lang-python=\"`ignore_changes`\" pulumi-lang-yaml=\"`ignoreChanges`\" pulumi-lang-java=\"`ignoreChanges`\"\u003e`ignore_changes`\u003c/span\u003e.\n","willReplaceOnChanges":true},"shardCount":{"type":"integer","description":"The Number of shards to provision on the MongoDB Cluster. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sourceLocation":{"type":"string","description":"The location of the source MongoDB Cluster. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sourceServerId":{"type":"string","description":"The ID of the replication source MongoDB Cluster. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"storageSizeInGb":{"type":"integer","description":"The size of the data disk space for the MongoDB Cluster.\n"},"storageType":{"type":"string","description":"The storage type for the MongoDB Cluster. Possible values are `PremiumSSD` and `PremiumSSDv2`. Defaults to `PremiumSSD`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the MongoDB Cluster.\n"},"version":{"type":"string","description":"The version for the MongoDB Cluster. Possibles values are `5.0`, `6.0`, `7.0` and `8.0`.\n"}},"requiredInputs":["resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering MongoCluster resources.\n","properties":{"administratorPassword":{"type":"string","description":"The Password associated with the \u003cspan pulumi-lang-nodejs=\"`administratorUsername`\" pulumi-lang-dotnet=\"`AdministratorUsername`\" pulumi-lang-go=\"`administratorUsername`\" pulumi-lang-python=\"`administrator_username`\" pulumi-lang-yaml=\"`administratorUsername`\" pulumi-lang-java=\"`administratorUsername`\"\u003e`administrator_username`\u003c/span\u003e for the MongoDB Cluster.\n","secret":true},"administratorUsername":{"type":"string","description":"The administrator username of the MongoDB Cluster. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"authenticationMethods":{"type":"array","items":{"type":"string"},"description":"A list of allowed authentication modes for the MongoDB Cluster. Possible values are `NativeAuth` and `MicrosoftEntraID`.\n"},"computeTier":{"type":"string","description":"The compute tier to assign to the MongoDB Cluster. Possible values are `Free`, `M10`, `M20`, `M25`, `M30`, `M40`, `M50`, `M60`, `M80`, and `M200`.\n"},"connectionStrings":{"type":"array","items":{"$ref":"#/types/azure:cosmosdb/MongoClusterConnectionString:MongoClusterConnectionString"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`connectionStrings`\" pulumi-lang-dotnet=\"`ConnectionStrings`\" pulumi-lang-go=\"`connectionStrings`\" pulumi-lang-python=\"`connection_strings`\" pulumi-lang-yaml=\"`connectionStrings`\" pulumi-lang-java=\"`connectionStrings`\"\u003e`connection_strings`\u003c/span\u003e blocks as defined below.\n","secret":true},"createMode":{"type":"string","description":"The creation mode for the MongoDB Cluster. Possible values are `Default`, `GeoReplica` and `PointInTimeRestore`. Defaults to `Default`. Changing this forces a new resource to be created.\n"},"customerManagedKey":{"$ref":"#/types/azure:cosmosdb/MongoClusterCustomerManagedKey:MongoClusterCustomerManagedKey","description":"A \u003cspan pulumi-lang-nodejs=\"`customerManagedKey`\" pulumi-lang-dotnet=\"`CustomerManagedKey`\" pulumi-lang-go=\"`customerManagedKey`\" pulumi-lang-python=\"`customer_managed_key`\" pulumi-lang-yaml=\"`customerManagedKey`\" pulumi-lang-java=\"`customerManagedKey`\"\u003e`customer_managed_key`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"dataApiModeEnabled":{"type":"boolean","description":"Is the Data API for the MongoDB Cluster enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`dataApiModeEnabled`\" pulumi-lang-dotnet=\"`DataApiModeEnabled`\" pulumi-lang-go=\"`dataApiModeEnabled`\" pulumi-lang-python=\"`data_api_mode_enabled`\" pulumi-lang-yaml=\"`dataApiModeEnabled`\" pulumi-lang-java=\"`dataApiModeEnabled`\"\u003e`data_api_mode_enabled`\u003c/span\u003e can only be set when \u003cspan pulumi-lang-nodejs=\"`createMode`\" pulumi-lang-dotnet=\"`CreateMode`\" pulumi-lang-go=\"`createMode`\" pulumi-lang-python=\"`create_mode`\" pulumi-lang-yaml=\"`createMode`\" pulumi-lang-java=\"`createMode`\"\u003e`create_mode`\u003c/span\u003e is `Default`. Once enabled, it can only be disabled by recreating the resource.\n"},"highAvailabilityMode":{"type":"string","description":"The high availability mode for the MongoDB Cluster. Possibles values are `Disabled` and `ZoneRedundantPreferred`.\n"},"identity":{"$ref":"#/types/azure:cosmosdb/MongoClusterIdentity:MongoClusterIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as detailed below.\n\n\u003e **Note:** When adding or removing \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e, a resource recreation will be triggered.\n"},"location":{"type":"string","description":"The supported Azure location where the MongoDB Cluster exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for the MongoDB Cluster. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"previewFeatures":{"type":"array","items":{"type":"string"},"description":"The preview features that can be enabled on the MongoDB Cluster. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"publicNetworkAccess":{"type":"string","description":"The Public Network Access setting for the MongoDB Cluster. Possibles values are `Disabled` and `Enabled`. Defaults to `Enabled`.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the MongoDB Cluster. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"restore":{"$ref":"#/types/azure:cosmosdb/MongoClusterRestore:MongoClusterRestore","description":"A \u003cspan pulumi-lang-nodejs=\"`restore`\" pulumi-lang-dotnet=\"`Restore`\" pulumi-lang-go=\"`restore`\" pulumi-lang-python=\"`restore`\" pulumi-lang-yaml=\"`restore`\" pulumi-lang-java=\"`restore`\"\u003e`restore`\u003c/span\u003e block as defined below. Required when \u003cspan pulumi-lang-nodejs=\"`createMode`\" pulumi-lang-dotnet=\"`CreateMode`\" pulumi-lang-go=\"`createMode`\" pulumi-lang-python=\"`create_mode`\" pulumi-lang-yaml=\"`createMode`\" pulumi-lang-java=\"`createMode`\"\u003e`create_mode`\u003c/span\u003e is set to `PointInTimeRestore`. Changing this forces a new resource to be created.\n\n\u003e **Note:** When `PointInTimeRestore` is enabled, service API will also assign a value to \u003cspan pulumi-lang-nodejs=\"`sourceServerId`\" pulumi-lang-dotnet=\"`SourceServerId`\" pulumi-lang-go=\"`sourceServerId`\" pulumi-lang-python=\"`source_server_id`\" pulumi-lang-yaml=\"`sourceServerId`\" pulumi-lang-java=\"`sourceServerId`\"\u003e`source_server_id`\u003c/span\u003e. The user has to explicitly set this property in the Terraform configuration or handle it using \u003cspan pulumi-lang-nodejs=\"`ignoreChanges`\" pulumi-lang-dotnet=\"`IgnoreChanges`\" pulumi-lang-go=\"`ignoreChanges`\" pulumi-lang-python=\"`ignore_changes`\" pulumi-lang-yaml=\"`ignoreChanges`\" pulumi-lang-java=\"`ignoreChanges`\"\u003e`ignore_changes`\u003c/span\u003e.\n","willReplaceOnChanges":true},"shardCount":{"type":"integer","description":"The Number of shards to provision on the MongoDB Cluster. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sourceLocation":{"type":"string","description":"The location of the source MongoDB Cluster. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sourceServerId":{"type":"string","description":"The ID of the replication source MongoDB Cluster. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"storageSizeInGb":{"type":"integer","description":"The size of the data disk space for the MongoDB Cluster.\n"},"storageType":{"type":"string","description":"The storage type for the MongoDB Cluster. Possible values are `PremiumSSD` and `PremiumSSDv2`. Defaults to `PremiumSSD`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the MongoDB Cluster.\n"},"version":{"type":"string","description":"The version for the MongoDB Cluster. Possibles values are `5.0`, `6.0`, `7.0` and `8.0`.\n"}},"type":"object"},"aliases":[{"type":"azure:cosmosdb/mongoCluster:MongoCluster"}],"deprecationMessage":"azure.cosmosdb/mongocluster.MongoCluster has been deprecated in favor of azure.mongocluster/mongocluster.MongoCluster"},"azure:cosmosdb/mongoCollection:MongoCollection":{"description":"Manages a Mongo Collection within a Cosmos DB Account.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.cosmosdb.getAccount({\n    name: \"tfex-cosmosdb-account\",\n    resourceGroupName: \"tfex-cosmosdb-account-rg\",\n});\nconst exampleMongoDatabase = new azure.cosmosdb.MongoDatabase(\"example\", {\n    name: \"tfex-cosmos-mongo-db\",\n    resourceGroupName: example.then(example =\u003e example.resourceGroupName),\n    accountName: example.then(example =\u003e example.name),\n});\nconst exampleMongoCollection = new azure.cosmosdb.MongoCollection(\"example\", {\n    name: \"tfex-cosmos-mongo-db\",\n    resourceGroupName: example.then(example =\u003e example.resourceGroupName),\n    accountName: example.then(example =\u003e example.name),\n    databaseName: exampleMongoDatabase.name,\n    defaultTtlSeconds: 777,\n    shardKey: \"uniqueKey\",\n    throughput: 400,\n    indices: [{\n        keys: [\"_id\"],\n        unique: true,\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.cosmosdb.get_account(name=\"tfex-cosmosdb-account\",\n    resource_group_name=\"tfex-cosmosdb-account-rg\")\nexample_mongo_database = azure.cosmosdb.MongoDatabase(\"example\",\n    name=\"tfex-cosmos-mongo-db\",\n    resource_group_name=example.resource_group_name,\n    account_name=example.name)\nexample_mongo_collection = azure.cosmosdb.MongoCollection(\"example\",\n    name=\"tfex-cosmos-mongo-db\",\n    resource_group_name=example.resource_group_name,\n    account_name=example.name,\n    database_name=example_mongo_database.name,\n    default_ttl_seconds=777,\n    shard_key=\"uniqueKey\",\n    throughput=400,\n    indices=[{\n        \"keys\": [\"_id\"],\n        \"unique\": True,\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.CosmosDB.GetAccount.Invoke(new()\n    {\n        Name = \"tfex-cosmosdb-account\",\n        ResourceGroupName = \"tfex-cosmosdb-account-rg\",\n    });\n\n    var exampleMongoDatabase = new Azure.CosmosDB.MongoDatabase(\"example\", new()\n    {\n        Name = \"tfex-cosmos-mongo-db\",\n        ResourceGroupName = example.Apply(getAccountResult =\u003e getAccountResult.ResourceGroupName),\n        AccountName = example.Apply(getAccountResult =\u003e getAccountResult.Name),\n    });\n\n    var exampleMongoCollection = new Azure.CosmosDB.MongoCollection(\"example\", new()\n    {\n        Name = \"tfex-cosmos-mongo-db\",\n        ResourceGroupName = example.Apply(getAccountResult =\u003e getAccountResult.ResourceGroupName),\n        AccountName = example.Apply(getAccountResult =\u003e getAccountResult.Name),\n        DatabaseName = exampleMongoDatabase.Name,\n        DefaultTtlSeconds = 777,\n        ShardKey = \"uniqueKey\",\n        Throughput = 400,\n        Indices = new[]\n        {\n            new Azure.CosmosDB.Inputs.MongoCollectionIndexArgs\n            {\n                Keys = new[]\n                {\n                    \"_id\",\n                },\n                Unique = true,\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/cosmosdb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := cosmosdb.LookupAccount(ctx, \u0026cosmosdb.LookupAccountArgs{\n\t\t\tName:              \"tfex-cosmosdb-account\",\n\t\t\tResourceGroupName: \"tfex-cosmosdb-account-rg\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleMongoDatabase, err := cosmosdb.NewMongoDatabase(ctx, \"example\", \u0026cosmosdb.MongoDatabaseArgs{\n\t\t\tName:              pulumi.String(\"tfex-cosmos-mongo-db\"),\n\t\t\tResourceGroupName: pulumi.String(example.ResourceGroupName),\n\t\t\tAccountName:       pulumi.String(example.Name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cosmosdb.NewMongoCollection(ctx, \"example\", \u0026cosmosdb.MongoCollectionArgs{\n\t\t\tName:              pulumi.String(\"tfex-cosmos-mongo-db\"),\n\t\t\tResourceGroupName: pulumi.String(example.ResourceGroupName),\n\t\t\tAccountName:       pulumi.String(example.Name),\n\t\t\tDatabaseName:      exampleMongoDatabase.Name,\n\t\t\tDefaultTtlSeconds: pulumi.Int(777),\n\t\t\tShardKey:          pulumi.String(\"uniqueKey\"),\n\t\t\tThroughput:        pulumi.Int(400),\n\t\t\tIndices: cosmosdb.MongoCollectionIndexArray{\n\t\t\t\t\u0026cosmosdb.MongoCollectionIndexArgs{\n\t\t\t\t\tKeys: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"_id\"),\n\t\t\t\t\t},\n\t\t\t\t\tUnique: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.cosmosdb.CosmosdbFunctions;\nimport com.pulumi.azure.cosmosdb.inputs.GetAccountArgs;\nimport com.pulumi.azure.cosmosdb.MongoDatabase;\nimport com.pulumi.azure.cosmosdb.MongoDatabaseArgs;\nimport com.pulumi.azure.cosmosdb.MongoCollection;\nimport com.pulumi.azure.cosmosdb.MongoCollectionArgs;\nimport com.pulumi.azure.cosmosdb.inputs.MongoCollectionIndexArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = CosmosdbFunctions.getAccount(GetAccountArgs.builder()\n            .name(\"tfex-cosmosdb-account\")\n            .resourceGroupName(\"tfex-cosmosdb-account-rg\")\n            .build());\n\n        var exampleMongoDatabase = new MongoDatabase(\"exampleMongoDatabase\", MongoDatabaseArgs.builder()\n            .name(\"tfex-cosmos-mongo-db\")\n            .resourceGroupName(example.resourceGroupName())\n            .accountName(example.name())\n            .build());\n\n        var exampleMongoCollection = new MongoCollection(\"exampleMongoCollection\", MongoCollectionArgs.builder()\n            .name(\"tfex-cosmos-mongo-db\")\n            .resourceGroupName(example.resourceGroupName())\n            .accountName(example.name())\n            .databaseName(exampleMongoDatabase.name())\n            .defaultTtlSeconds(777)\n            .shardKey(\"uniqueKey\")\n            .throughput(400)\n            .indices(MongoCollectionIndexArgs.builder()\n                .keys(\"_id\")\n                .unique(true)\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleMongoDatabase:\n    type: azure:cosmosdb:MongoDatabase\n    name: example\n    properties:\n      name: tfex-cosmos-mongo-db\n      resourceGroupName: ${example.resourceGroupName}\n      accountName: ${example.name}\n  exampleMongoCollection:\n    type: azure:cosmosdb:MongoCollection\n    name: example\n    properties:\n      name: tfex-cosmos-mongo-db\n      resourceGroupName: ${example.resourceGroupName}\n      accountName: ${example.name}\n      databaseName: ${exampleMongoDatabase.name}\n      defaultTtlSeconds: '777'\n      shardKey: uniqueKey\n      throughput: 400\n      indices:\n        - keys:\n            - _id\n          unique: true\nvariables:\n  example:\n    fn::invoke:\n      function: azure:cosmosdb:getAccount\n      arguments:\n        name: tfex-cosmosdb-account\n        resourceGroupName: tfex-cosmosdb-account-rg\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCosmosDB Mongo Collection can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:cosmosdb/mongoCollection:MongoCollection collection1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/account1/mongodbDatabases/db1/collections/collection1\n```\n\n","properties":{"accountName":{"type":"string","description":"The name of the Cosmos DB Account in which the Cosmos DB Mongo Collection is created. Changing this forces a new resource to be created.\n"},"analyticalStorageTtl":{"type":"integer","description":"The default time to live of Analytical Storage for this Mongo Collection. If present and the value is set to `-1`, it is equal to infinity, and items don’t expire by default. If present and the value is set to some number \u003cspan pulumi-lang-nodejs=\"`n`\" pulumi-lang-dotnet=\"`N`\" pulumi-lang-go=\"`n`\" pulumi-lang-python=\"`n`\" pulumi-lang-yaml=\"`n`\" pulumi-lang-java=\"`n`\"\u003e`n`\u003c/span\u003e – items will expire \u003cspan pulumi-lang-nodejs=\"`n`\" pulumi-lang-dotnet=\"`N`\" pulumi-lang-go=\"`n`\" pulumi-lang-python=\"`n`\" pulumi-lang-yaml=\"`n`\" pulumi-lang-java=\"`n`\"\u003e`n`\u003c/span\u003e seconds after their last modified time.\n"},"autoscaleSettings":{"$ref":"#/types/azure:cosmosdb/MongoCollectionAutoscaleSettings:MongoCollectionAutoscaleSettings","description":"An \u003cspan pulumi-lang-nodejs=\"`autoscaleSettings`\" pulumi-lang-dotnet=\"`AutoscaleSettings`\" pulumi-lang-go=\"`autoscaleSettings`\" pulumi-lang-python=\"`autoscale_settings`\" pulumi-lang-yaml=\"`autoscaleSettings`\" pulumi-lang-java=\"`autoscaleSettings`\"\u003e`autoscale_settings`\u003c/span\u003e block as defined below. This must be set upon database creation otherwise it cannot be updated without a manual terraform destroy-apply.\n\n\u003e **Note:** Switching between autoscale and manual throughput is not supported via this provider and must be completed via the Azure Portal and refreshed.\n"},"databaseName":{"type":"string","description":"The name of the Cosmos DB Mongo Database in which the Cosmos DB Mongo Collection is created. Changing this forces a new resource to be created.\n"},"defaultTtlSeconds":{"type":"integer","description":"The default Time To Live in seconds. If the value is `-1`, items are not automatically expired.\n"},"indices":{"type":"array","items":{"$ref":"#/types/azure:cosmosdb/MongoCollectionIndex:MongoCollectionIndex"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`index`\" pulumi-lang-dotnet=\"`Index`\" pulumi-lang-go=\"`index`\" pulumi-lang-python=\"`index`\" pulumi-lang-yaml=\"`index`\" pulumi-lang-java=\"`index`\"\u003e`index`\u003c/span\u003e blocks as defined below.\n"},"name":{"type":"string","description":"Specifies the name of the Cosmos DB Mongo Collection. Changing this forces a new resource to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the Cosmos DB Mongo Collection is created. Changing this forces a new resource to be created.\n"},"shardKey":{"type":"string","description":"The name of the key to partition on for sharding. There must not be any other unique index keys. Changing this forces a new resource to be created.\n"},"systemIndexes":{"type":"array","items":{"$ref":"#/types/azure:cosmosdb/MongoCollectionSystemIndex:MongoCollectionSystemIndex"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`systemIndexes`\" pulumi-lang-dotnet=\"`SystemIndexes`\" pulumi-lang-go=\"`systemIndexes`\" pulumi-lang-python=\"`system_indexes`\" pulumi-lang-yaml=\"`systemIndexes`\" pulumi-lang-java=\"`systemIndexes`\"\u003e`system_indexes`\u003c/span\u003e blocks as defined below.\n"},"throughput":{"type":"integer","description":"The throughput of the MongoDB collection (RU/s). Must be set in increments of \u003cspan pulumi-lang-nodejs=\"`100`\" pulumi-lang-dotnet=\"`100`\" pulumi-lang-go=\"`100`\" pulumi-lang-python=\"`100`\" pulumi-lang-yaml=\"`100`\" pulumi-lang-java=\"`100`\"\u003e`100`\u003c/span\u003e. The minimum value is \u003cspan pulumi-lang-nodejs=\"`400`\" pulumi-lang-dotnet=\"`400`\" pulumi-lang-go=\"`400`\" pulumi-lang-python=\"`400`\" pulumi-lang-yaml=\"`400`\" pulumi-lang-java=\"`400`\"\u003e`400`\u003c/span\u003e. This must be set upon database creation otherwise it cannot be updated without a manual terraform destroy-apply.\n"}},"required":["accountName","databaseName","name","resourceGroupName","systemIndexes","throughput"],"inputProperties":{"accountName":{"type":"string","description":"The name of the Cosmos DB Account in which the Cosmos DB Mongo Collection is created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"analyticalStorageTtl":{"type":"integer","description":"The default time to live of Analytical Storage for this Mongo Collection. If present and the value is set to `-1`, it is equal to infinity, and items don’t expire by default. If present and the value is set to some number \u003cspan pulumi-lang-nodejs=\"`n`\" pulumi-lang-dotnet=\"`N`\" pulumi-lang-go=\"`n`\" pulumi-lang-python=\"`n`\" pulumi-lang-yaml=\"`n`\" pulumi-lang-java=\"`n`\"\u003e`n`\u003c/span\u003e – items will expire \u003cspan pulumi-lang-nodejs=\"`n`\" pulumi-lang-dotnet=\"`N`\" pulumi-lang-go=\"`n`\" pulumi-lang-python=\"`n`\" pulumi-lang-yaml=\"`n`\" pulumi-lang-java=\"`n`\"\u003e`n`\u003c/span\u003e seconds after their last modified time.\n"},"autoscaleSettings":{"$ref":"#/types/azure:cosmosdb/MongoCollectionAutoscaleSettings:MongoCollectionAutoscaleSettings","description":"An \u003cspan pulumi-lang-nodejs=\"`autoscaleSettings`\" pulumi-lang-dotnet=\"`AutoscaleSettings`\" pulumi-lang-go=\"`autoscaleSettings`\" pulumi-lang-python=\"`autoscale_settings`\" pulumi-lang-yaml=\"`autoscaleSettings`\" pulumi-lang-java=\"`autoscaleSettings`\"\u003e`autoscale_settings`\u003c/span\u003e block as defined below. This must be set upon database creation otherwise it cannot be updated without a manual terraform destroy-apply.\n\n\u003e **Note:** Switching between autoscale and manual throughput is not supported via this provider and must be completed via the Azure Portal and refreshed.\n"},"databaseName":{"type":"string","description":"The name of the Cosmos DB Mongo Database in which the Cosmos DB Mongo Collection is created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"defaultTtlSeconds":{"type":"integer","description":"The default Time To Live in seconds. If the value is `-1`, items are not automatically expired.\n"},"indices":{"type":"array","items":{"$ref":"#/types/azure:cosmosdb/MongoCollectionIndex:MongoCollectionIndex"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`index`\" pulumi-lang-dotnet=\"`Index`\" pulumi-lang-go=\"`index`\" pulumi-lang-python=\"`index`\" pulumi-lang-yaml=\"`index`\" pulumi-lang-java=\"`index`\"\u003e`index`\u003c/span\u003e blocks as defined below.\n"},"name":{"type":"string","description":"Specifies the name of the Cosmos DB Mongo Collection. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the Cosmos DB Mongo Collection is created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"shardKey":{"type":"string","description":"The name of the key to partition on for sharding. There must not be any other unique index keys. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"throughput":{"type":"integer","description":"The throughput of the MongoDB collection (RU/s). Must be set in increments of \u003cspan pulumi-lang-nodejs=\"`100`\" pulumi-lang-dotnet=\"`100`\" pulumi-lang-go=\"`100`\" pulumi-lang-python=\"`100`\" pulumi-lang-yaml=\"`100`\" pulumi-lang-java=\"`100`\"\u003e`100`\u003c/span\u003e. The minimum value is \u003cspan pulumi-lang-nodejs=\"`400`\" pulumi-lang-dotnet=\"`400`\" pulumi-lang-go=\"`400`\" pulumi-lang-python=\"`400`\" pulumi-lang-yaml=\"`400`\" pulumi-lang-java=\"`400`\"\u003e`400`\u003c/span\u003e. This must be set upon database creation otherwise it cannot be updated without a manual terraform destroy-apply.\n"}},"requiredInputs":["accountName","databaseName","resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering MongoCollection resources.\n","properties":{"accountName":{"type":"string","description":"The name of the Cosmos DB Account in which the Cosmos DB Mongo Collection is created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"analyticalStorageTtl":{"type":"integer","description":"The default time to live of Analytical Storage for this Mongo Collection. If present and the value is set to `-1`, it is equal to infinity, and items don’t expire by default. If present and the value is set to some number \u003cspan pulumi-lang-nodejs=\"`n`\" pulumi-lang-dotnet=\"`N`\" pulumi-lang-go=\"`n`\" pulumi-lang-python=\"`n`\" pulumi-lang-yaml=\"`n`\" pulumi-lang-java=\"`n`\"\u003e`n`\u003c/span\u003e – items will expire \u003cspan pulumi-lang-nodejs=\"`n`\" pulumi-lang-dotnet=\"`N`\" pulumi-lang-go=\"`n`\" pulumi-lang-python=\"`n`\" pulumi-lang-yaml=\"`n`\" pulumi-lang-java=\"`n`\"\u003e`n`\u003c/span\u003e seconds after their last modified time.\n"},"autoscaleSettings":{"$ref":"#/types/azure:cosmosdb/MongoCollectionAutoscaleSettings:MongoCollectionAutoscaleSettings","description":"An \u003cspan pulumi-lang-nodejs=\"`autoscaleSettings`\" pulumi-lang-dotnet=\"`AutoscaleSettings`\" pulumi-lang-go=\"`autoscaleSettings`\" pulumi-lang-python=\"`autoscale_settings`\" pulumi-lang-yaml=\"`autoscaleSettings`\" pulumi-lang-java=\"`autoscaleSettings`\"\u003e`autoscale_settings`\u003c/span\u003e block as defined below. This must be set upon database creation otherwise it cannot be updated without a manual terraform destroy-apply.\n\n\u003e **Note:** Switching between autoscale and manual throughput is not supported via this provider and must be completed via the Azure Portal and refreshed.\n"},"databaseName":{"type":"string","description":"The name of the Cosmos DB Mongo Database in which the Cosmos DB Mongo Collection is created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"defaultTtlSeconds":{"type":"integer","description":"The default Time To Live in seconds. If the value is `-1`, items are not automatically expired.\n"},"indices":{"type":"array","items":{"$ref":"#/types/azure:cosmosdb/MongoCollectionIndex:MongoCollectionIndex"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`index`\" pulumi-lang-dotnet=\"`Index`\" pulumi-lang-go=\"`index`\" pulumi-lang-python=\"`index`\" pulumi-lang-yaml=\"`index`\" pulumi-lang-java=\"`index`\"\u003e`index`\u003c/span\u003e blocks as defined below.\n"},"name":{"type":"string","description":"Specifies the name of the Cosmos DB Mongo Collection. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the Cosmos DB Mongo Collection is created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"shardKey":{"type":"string","description":"The name of the key to partition on for sharding. There must not be any other unique index keys. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"systemIndexes":{"type":"array","items":{"$ref":"#/types/azure:cosmosdb/MongoCollectionSystemIndex:MongoCollectionSystemIndex"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`systemIndexes`\" pulumi-lang-dotnet=\"`SystemIndexes`\" pulumi-lang-go=\"`systemIndexes`\" pulumi-lang-python=\"`system_indexes`\" pulumi-lang-yaml=\"`systemIndexes`\" pulumi-lang-java=\"`systemIndexes`\"\u003e`system_indexes`\u003c/span\u003e blocks as defined below.\n"},"throughput":{"type":"integer","description":"The throughput of the MongoDB collection (RU/s). Must be set in increments of \u003cspan pulumi-lang-nodejs=\"`100`\" pulumi-lang-dotnet=\"`100`\" pulumi-lang-go=\"`100`\" pulumi-lang-python=\"`100`\" pulumi-lang-yaml=\"`100`\" pulumi-lang-java=\"`100`\"\u003e`100`\u003c/span\u003e. The minimum value is \u003cspan pulumi-lang-nodejs=\"`400`\" pulumi-lang-dotnet=\"`400`\" pulumi-lang-go=\"`400`\" pulumi-lang-python=\"`400`\" pulumi-lang-yaml=\"`400`\" pulumi-lang-java=\"`400`\"\u003e`400`\u003c/span\u003e. This must be set upon database creation otherwise it cannot be updated without a manual terraform destroy-apply.\n"}},"type":"object"}},"azure:cosmosdb/mongoDatabase:MongoDatabase":{"description":"Manages a Mongo Database within a Cosmos DB Account.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.cosmosdb.getAccount({\n    name: \"tfex-cosmosdb-account\",\n    resourceGroupName: \"tfex-cosmosdb-account-rg\",\n});\nconst exampleMongoDatabase = new azure.cosmosdb.MongoDatabase(\"example\", {\n    name: \"tfex-cosmos-mongo-db\",\n    resourceGroupName: example.then(example =\u003e example.resourceGroupName),\n    accountName: example.then(example =\u003e example.name),\n    throughput: 400,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.cosmosdb.get_account(name=\"tfex-cosmosdb-account\",\n    resource_group_name=\"tfex-cosmosdb-account-rg\")\nexample_mongo_database = azure.cosmosdb.MongoDatabase(\"example\",\n    name=\"tfex-cosmos-mongo-db\",\n    resource_group_name=example.resource_group_name,\n    account_name=example.name,\n    throughput=400)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.CosmosDB.GetAccount.Invoke(new()\n    {\n        Name = \"tfex-cosmosdb-account\",\n        ResourceGroupName = \"tfex-cosmosdb-account-rg\",\n    });\n\n    var exampleMongoDatabase = new Azure.CosmosDB.MongoDatabase(\"example\", new()\n    {\n        Name = \"tfex-cosmos-mongo-db\",\n        ResourceGroupName = example.Apply(getAccountResult =\u003e getAccountResult.ResourceGroupName),\n        AccountName = example.Apply(getAccountResult =\u003e getAccountResult.Name),\n        Throughput = 400,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/cosmosdb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := cosmosdb.LookupAccount(ctx, \u0026cosmosdb.LookupAccountArgs{\n\t\t\tName:              \"tfex-cosmosdb-account\",\n\t\t\tResourceGroupName: \"tfex-cosmosdb-account-rg\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cosmosdb.NewMongoDatabase(ctx, \"example\", \u0026cosmosdb.MongoDatabaseArgs{\n\t\t\tName:              pulumi.String(\"tfex-cosmos-mongo-db\"),\n\t\t\tResourceGroupName: pulumi.String(example.ResourceGroupName),\n\t\t\tAccountName:       pulumi.String(example.Name),\n\t\t\tThroughput:        pulumi.Int(400),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.cosmosdb.CosmosdbFunctions;\nimport com.pulumi.azure.cosmosdb.inputs.GetAccountArgs;\nimport com.pulumi.azure.cosmosdb.MongoDatabase;\nimport com.pulumi.azure.cosmosdb.MongoDatabaseArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = CosmosdbFunctions.getAccount(GetAccountArgs.builder()\n            .name(\"tfex-cosmosdb-account\")\n            .resourceGroupName(\"tfex-cosmosdb-account-rg\")\n            .build());\n\n        var exampleMongoDatabase = new MongoDatabase(\"exampleMongoDatabase\", MongoDatabaseArgs.builder()\n            .name(\"tfex-cosmos-mongo-db\")\n            .resourceGroupName(example.resourceGroupName())\n            .accountName(example.name())\n            .throughput(400)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleMongoDatabase:\n    type: azure:cosmosdb:MongoDatabase\n    name: example\n    properties:\n      name: tfex-cosmos-mongo-db\n      resourceGroupName: ${example.resourceGroupName}\n      accountName: ${example.name}\n      throughput: 400\nvariables:\n  example:\n    fn::invoke:\n      function: azure:cosmosdb:getAccount\n      arguments:\n        name: tfex-cosmosdb-account\n        resourceGroupName: tfex-cosmosdb-account-rg\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCosmos Mongo Database can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:cosmosdb/mongoDatabase:MongoDatabase db1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/account1/mongodbDatabases/db1\n```\n\n","properties":{"accountName":{"type":"string","description":"The name of the Cosmos DB Mongo Database to create the table within. Changing this forces a new resource to be created.\n"},"autoscaleSettings":{"$ref":"#/types/azure:cosmosdb/MongoDatabaseAutoscaleSettings:MongoDatabaseAutoscaleSettings","description":"An \u003cspan pulumi-lang-nodejs=\"`autoscaleSettings`\" pulumi-lang-dotnet=\"`AutoscaleSettings`\" pulumi-lang-go=\"`autoscaleSettings`\" pulumi-lang-python=\"`autoscale_settings`\" pulumi-lang-yaml=\"`autoscaleSettings`\" pulumi-lang-java=\"`autoscaleSettings`\"\u003e`autoscale_settings`\u003c/span\u003e block as defined below. This must be set upon database creation otherwise it cannot be updated without a manual destroy-apply.\n\n\u003e **Note:** Switching between autoscale and manual throughput is not supported via this provider and must be completed via the Azure Portal and refreshed.\n"},"name":{"type":"string","description":"Specifies the name of the Cosmos DB Mongo Database. Changing this forces a new resource to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the Cosmos DB Mongo Database is created. Changing this forces a new resource to be created.\n"},"throughput":{"type":"integer","description":"The throughput of the MongoDB collection (RU/s). Must be set in increments of \u003cspan pulumi-lang-nodejs=\"`100`\" pulumi-lang-dotnet=\"`100`\" pulumi-lang-go=\"`100`\" pulumi-lang-python=\"`100`\" pulumi-lang-yaml=\"`100`\" pulumi-lang-java=\"`100`\"\u003e`100`\u003c/span\u003e. The minimum value is \u003cspan pulumi-lang-nodejs=\"`400`\" pulumi-lang-dotnet=\"`400`\" pulumi-lang-go=\"`400`\" pulumi-lang-python=\"`400`\" pulumi-lang-yaml=\"`400`\" pulumi-lang-java=\"`400`\"\u003e`400`\u003c/span\u003e. This must be set upon database creation otherwise it cannot be updated without a manual resource destroy-apply.\n\n\u003e **Note:** throughput has a maximum value of \u003cspan pulumi-lang-nodejs=\"`1000000`\" pulumi-lang-dotnet=\"`1000000`\" pulumi-lang-go=\"`1000000`\" pulumi-lang-python=\"`1000000`\" pulumi-lang-yaml=\"`1000000`\" pulumi-lang-java=\"`1000000`\"\u003e`1000000`\u003c/span\u003e unless a higher limit is requested via Azure Support.\n"}},"required":["accountName","name","resourceGroupName","throughput"],"inputProperties":{"accountName":{"type":"string","description":"The name of the Cosmos DB Mongo Database to create the table within. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"autoscaleSettings":{"$ref":"#/types/azure:cosmosdb/MongoDatabaseAutoscaleSettings:MongoDatabaseAutoscaleSettings","description":"An \u003cspan pulumi-lang-nodejs=\"`autoscaleSettings`\" pulumi-lang-dotnet=\"`AutoscaleSettings`\" pulumi-lang-go=\"`autoscaleSettings`\" pulumi-lang-python=\"`autoscale_settings`\" pulumi-lang-yaml=\"`autoscaleSettings`\" pulumi-lang-java=\"`autoscaleSettings`\"\u003e`autoscale_settings`\u003c/span\u003e block as defined below. This must be set upon database creation otherwise it cannot be updated without a manual destroy-apply.\n\n\u003e **Note:** Switching between autoscale and manual throughput is not supported via this provider and must be completed via the Azure Portal and refreshed.\n"},"name":{"type":"string","description":"Specifies the name of the Cosmos DB Mongo Database. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the Cosmos DB Mongo Database is created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"throughput":{"type":"integer","description":"The throughput of the MongoDB collection (RU/s). Must be set in increments of \u003cspan pulumi-lang-nodejs=\"`100`\" pulumi-lang-dotnet=\"`100`\" pulumi-lang-go=\"`100`\" pulumi-lang-python=\"`100`\" pulumi-lang-yaml=\"`100`\" pulumi-lang-java=\"`100`\"\u003e`100`\u003c/span\u003e. The minimum value is \u003cspan pulumi-lang-nodejs=\"`400`\" pulumi-lang-dotnet=\"`400`\" pulumi-lang-go=\"`400`\" pulumi-lang-python=\"`400`\" pulumi-lang-yaml=\"`400`\" pulumi-lang-java=\"`400`\"\u003e`400`\u003c/span\u003e. This must be set upon database creation otherwise it cannot be updated without a manual resource destroy-apply.\n\n\u003e **Note:** throughput has a maximum value of \u003cspan pulumi-lang-nodejs=\"`1000000`\" pulumi-lang-dotnet=\"`1000000`\" pulumi-lang-go=\"`1000000`\" pulumi-lang-python=\"`1000000`\" pulumi-lang-yaml=\"`1000000`\" pulumi-lang-java=\"`1000000`\"\u003e`1000000`\u003c/span\u003e unless a higher limit is requested via Azure Support.\n"}},"requiredInputs":["accountName","resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering MongoDatabase resources.\n","properties":{"accountName":{"type":"string","description":"The name of the Cosmos DB Mongo Database to create the table within. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"autoscaleSettings":{"$ref":"#/types/azure:cosmosdb/MongoDatabaseAutoscaleSettings:MongoDatabaseAutoscaleSettings","description":"An \u003cspan pulumi-lang-nodejs=\"`autoscaleSettings`\" pulumi-lang-dotnet=\"`AutoscaleSettings`\" pulumi-lang-go=\"`autoscaleSettings`\" pulumi-lang-python=\"`autoscale_settings`\" pulumi-lang-yaml=\"`autoscaleSettings`\" pulumi-lang-java=\"`autoscaleSettings`\"\u003e`autoscale_settings`\u003c/span\u003e block as defined below. This must be set upon database creation otherwise it cannot be updated without a manual destroy-apply.\n\n\u003e **Note:** Switching between autoscale and manual throughput is not supported via this provider and must be completed via the Azure Portal and refreshed.\n"},"name":{"type":"string","description":"Specifies the name of the Cosmos DB Mongo Database. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the Cosmos DB Mongo Database is created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"throughput":{"type":"integer","description":"The throughput of the MongoDB collection (RU/s). Must be set in increments of \u003cspan pulumi-lang-nodejs=\"`100`\" pulumi-lang-dotnet=\"`100`\" pulumi-lang-go=\"`100`\" pulumi-lang-python=\"`100`\" pulumi-lang-yaml=\"`100`\" pulumi-lang-java=\"`100`\"\u003e`100`\u003c/span\u003e. The minimum value is \u003cspan pulumi-lang-nodejs=\"`400`\" pulumi-lang-dotnet=\"`400`\" pulumi-lang-go=\"`400`\" pulumi-lang-python=\"`400`\" pulumi-lang-yaml=\"`400`\" pulumi-lang-java=\"`400`\"\u003e`400`\u003c/span\u003e. This must be set upon database creation otherwise it cannot be updated without a manual resource destroy-apply.\n\n\u003e **Note:** throughput has a maximum value of \u003cspan pulumi-lang-nodejs=\"`1000000`\" pulumi-lang-dotnet=\"`1000000`\" pulumi-lang-go=\"`1000000`\" pulumi-lang-python=\"`1000000`\" pulumi-lang-yaml=\"`1000000`\" pulumi-lang-java=\"`1000000`\"\u003e`1000000`\u003c/span\u003e unless a higher limit is requested via Azure Support.\n"}},"type":"object"}},"azure:cosmosdb/mongoRoleDefinition:MongoRoleDefinition":{"description":"Manages a Cosmos DB Mongo Role Definition.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleAccount = new azure.cosmosdb.Account(\"example\", {\n    name: \"example-ca\",\n    location: example.location,\n    resourceGroupName: example.name,\n    offerType: \"Standard\",\n    kind: \"MongoDB\",\n    capabilities: [\n        {\n            name: \"EnableMongo\",\n        },\n        {\n            name: \"EnableMongoRoleBasedAccessControl\",\n        },\n    ],\n    consistencyPolicy: {\n        consistencyLevel: \"Strong\",\n    },\n    geoLocations: [{\n        location: example.location,\n        failoverPriority: 0,\n    }],\n});\nconst exampleMongoDatabase = new azure.cosmosdb.MongoDatabase(\"example\", {\n    name: \"example-mongodb\",\n    resourceGroupName: exampleAccount.resourceGroupName,\n    accountName: exampleAccount.name,\n});\nconst exampleMongoRoleDefinition = new azure.cosmosdb.MongoRoleDefinition(\"example\", {\n    cosmosMongoDatabaseId: exampleMongoDatabase.id,\n    roleName: \"example-roledefinition\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_account = azure.cosmosdb.Account(\"example\",\n    name=\"example-ca\",\n    location=example.location,\n    resource_group_name=example.name,\n    offer_type=\"Standard\",\n    kind=\"MongoDB\",\n    capabilities=[\n        {\n            \"name\": \"EnableMongo\",\n        },\n        {\n            \"name\": \"EnableMongoRoleBasedAccessControl\",\n        },\n    ],\n    consistency_policy={\n        \"consistency_level\": \"Strong\",\n    },\n    geo_locations=[{\n        \"location\": example.location,\n        \"failover_priority\": 0,\n    }])\nexample_mongo_database = azure.cosmosdb.MongoDatabase(\"example\",\n    name=\"example-mongodb\",\n    resource_group_name=example_account.resource_group_name,\n    account_name=example_account.name)\nexample_mongo_role_definition = azure.cosmosdb.MongoRoleDefinition(\"example\",\n    cosmos_mongo_database_id=example_mongo_database.id,\n    role_name=\"example-roledefinition\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleAccount = new Azure.CosmosDB.Account(\"example\", new()\n    {\n        Name = \"example-ca\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        OfferType = \"Standard\",\n        Kind = \"MongoDB\",\n        Capabilities = new[]\n        {\n            new Azure.CosmosDB.Inputs.AccountCapabilityArgs\n            {\n                Name = \"EnableMongo\",\n            },\n            new Azure.CosmosDB.Inputs.AccountCapabilityArgs\n            {\n                Name = \"EnableMongoRoleBasedAccessControl\",\n            },\n        },\n        ConsistencyPolicy = new Azure.CosmosDB.Inputs.AccountConsistencyPolicyArgs\n        {\n            ConsistencyLevel = \"Strong\",\n        },\n        GeoLocations = new[]\n        {\n            new Azure.CosmosDB.Inputs.AccountGeoLocationArgs\n            {\n                Location = example.Location,\n                FailoverPriority = 0,\n            },\n        },\n    });\n\n    var exampleMongoDatabase = new Azure.CosmosDB.MongoDatabase(\"example\", new()\n    {\n        Name = \"example-mongodb\",\n        ResourceGroupName = exampleAccount.ResourceGroupName,\n        AccountName = exampleAccount.Name,\n    });\n\n    var exampleMongoRoleDefinition = new Azure.CosmosDB.MongoRoleDefinition(\"example\", new()\n    {\n        CosmosMongoDatabaseId = exampleMongoDatabase.Id,\n        RoleName = \"example-roledefinition\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/cosmosdb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := cosmosdb.NewAccount(ctx, \"example\", \u0026cosmosdb.AccountArgs{\n\t\t\tName:              pulumi.String(\"example-ca\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tOfferType:         pulumi.String(\"Standard\"),\n\t\t\tKind:              pulumi.String(\"MongoDB\"),\n\t\t\tCapabilities: cosmosdb.AccountCapabilityArray{\n\t\t\t\t\u0026cosmosdb.AccountCapabilityArgs{\n\t\t\t\t\tName: pulumi.String(\"EnableMongo\"),\n\t\t\t\t},\n\t\t\t\t\u0026cosmosdb.AccountCapabilityArgs{\n\t\t\t\t\tName: pulumi.String(\"EnableMongoRoleBasedAccessControl\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tConsistencyPolicy: \u0026cosmosdb.AccountConsistencyPolicyArgs{\n\t\t\t\tConsistencyLevel: pulumi.String(\"Strong\"),\n\t\t\t},\n\t\t\tGeoLocations: cosmosdb.AccountGeoLocationArray{\n\t\t\t\t\u0026cosmosdb.AccountGeoLocationArgs{\n\t\t\t\t\tLocation:         example.Location,\n\t\t\t\t\tFailoverPriority: pulumi.Int(0),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleMongoDatabase, err := cosmosdb.NewMongoDatabase(ctx, \"example\", \u0026cosmosdb.MongoDatabaseArgs{\n\t\t\tName:              pulumi.String(\"example-mongodb\"),\n\t\t\tResourceGroupName: exampleAccount.ResourceGroupName,\n\t\t\tAccountName:       exampleAccount.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cosmosdb.NewMongoRoleDefinition(ctx, \"example\", \u0026cosmosdb.MongoRoleDefinitionArgs{\n\t\t\tCosmosMongoDatabaseId: exampleMongoDatabase.ID(),\n\t\t\tRoleName:              pulumi.String(\"example-roledefinition\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.cosmosdb.Account;\nimport com.pulumi.azure.cosmosdb.AccountArgs;\nimport com.pulumi.azure.cosmosdb.inputs.AccountCapabilityArgs;\nimport com.pulumi.azure.cosmosdb.inputs.AccountConsistencyPolicyArgs;\nimport com.pulumi.azure.cosmosdb.inputs.AccountGeoLocationArgs;\nimport com.pulumi.azure.cosmosdb.MongoDatabase;\nimport com.pulumi.azure.cosmosdb.MongoDatabaseArgs;\nimport com.pulumi.azure.cosmosdb.MongoRoleDefinition;\nimport com.pulumi.azure.cosmosdb.MongoRoleDefinitionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"example-ca\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .offerType(\"Standard\")\n            .kind(\"MongoDB\")\n            .capabilities(            \n                AccountCapabilityArgs.builder()\n                    .name(\"EnableMongo\")\n                    .build(),\n                AccountCapabilityArgs.builder()\n                    .name(\"EnableMongoRoleBasedAccessControl\")\n                    .build())\n            .consistencyPolicy(AccountConsistencyPolicyArgs.builder()\n                .consistencyLevel(\"Strong\")\n                .build())\n            .geoLocations(AccountGeoLocationArgs.builder()\n                .location(example.location())\n                .failoverPriority(0)\n                .build())\n            .build());\n\n        var exampleMongoDatabase = new MongoDatabase(\"exampleMongoDatabase\", MongoDatabaseArgs.builder()\n            .name(\"example-mongodb\")\n            .resourceGroupName(exampleAccount.resourceGroupName())\n            .accountName(exampleAccount.name())\n            .build());\n\n        var exampleMongoRoleDefinition = new MongoRoleDefinition(\"exampleMongoRoleDefinition\", MongoRoleDefinitionArgs.builder()\n            .cosmosMongoDatabaseId(exampleMongoDatabase.id())\n            .roleName(\"example-roledefinition\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleAccount:\n    type: azure:cosmosdb:Account\n    name: example\n    properties:\n      name: example-ca\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      offerType: Standard\n      kind: MongoDB\n      capabilities:\n        - name: EnableMongo\n        - name: EnableMongoRoleBasedAccessControl\n      consistencyPolicy:\n        consistencyLevel: Strong\n      geoLocations:\n        - location: ${example.location}\n          failoverPriority: 0\n  exampleMongoDatabase:\n    type: azure:cosmosdb:MongoDatabase\n    name: example\n    properties:\n      name: example-mongodb\n      resourceGroupName: ${exampleAccount.resourceGroupName}\n      accountName: ${exampleAccount.name}\n  exampleMongoRoleDefinition:\n    type: azure:cosmosdb:MongoRoleDefinition\n    name: example\n    properties:\n      cosmosMongoDatabaseId: ${exampleMongoDatabase.id}\n      roleName: example-roledefinition\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.DocumentDB` - 2022-11-15\n\n## Import\n\nCosmos DB Mongo Role Definitions can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:cosmosdb/mongoRoleDefinition:MongoRoleDefinition example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.DocumentDB/databaseAccounts/account1/mongodbRoleDefinitions/dbname1.rolename1\n```\n\n","properties":{"cosmosMongoDatabaseId":{"type":"string","description":"The resource ID of the Mongo DB. Changing this forces a new resource to be created.\n"},"inheritedRoleNames":{"type":"array","items":{"type":"string"},"description":"A list of Mongo Roles which are inherited to the Mongo Role Definition.\n\n\u003e **Note:** The role that needs to be inherited should exist in the Mongo DB of \u003cspan pulumi-lang-nodejs=\"`cosmosMongoDatabaseId`\" pulumi-lang-dotnet=\"`CosmosMongoDatabaseId`\" pulumi-lang-go=\"`cosmosMongoDatabaseId`\" pulumi-lang-python=\"`cosmos_mongo_database_id`\" pulumi-lang-yaml=\"`cosmosMongoDatabaseId`\" pulumi-lang-java=\"`cosmosMongoDatabaseId`\"\u003e`cosmos_mongo_database_id`\u003c/span\u003e.\n"},"privileges":{"type":"array","items":{"$ref":"#/types/azure:cosmosdb/MongoRoleDefinitionPrivilege:MongoRoleDefinitionPrivilege"},"description":"A \u003cspan pulumi-lang-nodejs=\"`privilege`\" pulumi-lang-dotnet=\"`Privilege`\" pulumi-lang-go=\"`privilege`\" pulumi-lang-python=\"`privilege`\" pulumi-lang-yaml=\"`privilege`\" pulumi-lang-java=\"`privilege`\"\u003e`privilege`\u003c/span\u003e block as defined below.\n"},"roleName":{"type":"string","description":"The user-friendly name for the Mongo Role Definition. It must be unique for the database account. Changing this forces a new resource to be created.\n"}},"required":["cosmosMongoDatabaseId","roleName"],"inputProperties":{"cosmosMongoDatabaseId":{"type":"string","description":"The resource ID of the Mongo DB. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"inheritedRoleNames":{"type":"array","items":{"type":"string"},"description":"A list of Mongo Roles which are inherited to the Mongo Role Definition.\n\n\u003e **Note:** The role that needs to be inherited should exist in the Mongo DB of \u003cspan pulumi-lang-nodejs=\"`cosmosMongoDatabaseId`\" pulumi-lang-dotnet=\"`CosmosMongoDatabaseId`\" pulumi-lang-go=\"`cosmosMongoDatabaseId`\" pulumi-lang-python=\"`cosmos_mongo_database_id`\" pulumi-lang-yaml=\"`cosmosMongoDatabaseId`\" pulumi-lang-java=\"`cosmosMongoDatabaseId`\"\u003e`cosmos_mongo_database_id`\u003c/span\u003e.\n"},"privileges":{"type":"array","items":{"$ref":"#/types/azure:cosmosdb/MongoRoleDefinitionPrivilege:MongoRoleDefinitionPrivilege"},"description":"A \u003cspan pulumi-lang-nodejs=\"`privilege`\" pulumi-lang-dotnet=\"`Privilege`\" pulumi-lang-go=\"`privilege`\" pulumi-lang-python=\"`privilege`\" pulumi-lang-yaml=\"`privilege`\" pulumi-lang-java=\"`privilege`\"\u003e`privilege`\u003c/span\u003e block as defined below.\n"},"roleName":{"type":"string","description":"The user-friendly name for the Mongo Role Definition. It must be unique for the database account. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["cosmosMongoDatabaseId","roleName"],"stateInputs":{"description":"Input properties used for looking up and filtering MongoRoleDefinition resources.\n","properties":{"cosmosMongoDatabaseId":{"type":"string","description":"The resource ID of the Mongo DB. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"inheritedRoleNames":{"type":"array","items":{"type":"string"},"description":"A list of Mongo Roles which are inherited to the Mongo Role Definition.\n\n\u003e **Note:** The role that needs to be inherited should exist in the Mongo DB of \u003cspan pulumi-lang-nodejs=\"`cosmosMongoDatabaseId`\" pulumi-lang-dotnet=\"`CosmosMongoDatabaseId`\" pulumi-lang-go=\"`cosmosMongoDatabaseId`\" pulumi-lang-python=\"`cosmos_mongo_database_id`\" pulumi-lang-yaml=\"`cosmosMongoDatabaseId`\" pulumi-lang-java=\"`cosmosMongoDatabaseId`\"\u003e`cosmos_mongo_database_id`\u003c/span\u003e.\n"},"privileges":{"type":"array","items":{"$ref":"#/types/azure:cosmosdb/MongoRoleDefinitionPrivilege:MongoRoleDefinitionPrivilege"},"description":"A \u003cspan pulumi-lang-nodejs=\"`privilege`\" pulumi-lang-dotnet=\"`Privilege`\" pulumi-lang-go=\"`privilege`\" pulumi-lang-python=\"`privilege`\" pulumi-lang-yaml=\"`privilege`\" pulumi-lang-java=\"`privilege`\"\u003e`privilege`\u003c/span\u003e block as defined below.\n"},"roleName":{"type":"string","description":"The user-friendly name for the Mongo Role Definition. It must be unique for the database account. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:cosmosdb/mongoUserDefinition:MongoUserDefinition":{"description":"Manages a Cosmos DB Mongo User Definition.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleAccount = new azure.cosmosdb.Account(\"example\", {\n    name: \"example-ca\",\n    location: example.location,\n    resourceGroupName: example.name,\n    offerType: \"Standard\",\n    kind: \"MongoDB\",\n    capabilities: [\n        {\n            name: \"EnableMongo\",\n        },\n        {\n            name: \"EnableMongoRoleBasedAccessControl\",\n        },\n    ],\n    consistencyPolicy: {\n        consistencyLevel: \"Strong\",\n    },\n    geoLocations: [{\n        location: example.location,\n        failoverPriority: 0,\n    }],\n});\nconst exampleMongoDatabase = new azure.cosmosdb.MongoDatabase(\"example\", {\n    name: \"example-mongodb\",\n    resourceGroupName: exampleAccount.resourceGroupName,\n    accountName: exampleAccount.name,\n});\nconst exampleMongoUserDefinition = new azure.cosmosdb.MongoUserDefinition(\"example\", {\n    cosmosMongoDatabaseId: exampleMongoDatabase.id,\n    username: \"myUserName\",\n    password: \"myPassword\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_account = azure.cosmosdb.Account(\"example\",\n    name=\"example-ca\",\n    location=example.location,\n    resource_group_name=example.name,\n    offer_type=\"Standard\",\n    kind=\"MongoDB\",\n    capabilities=[\n        {\n            \"name\": \"EnableMongo\",\n        },\n        {\n            \"name\": \"EnableMongoRoleBasedAccessControl\",\n        },\n    ],\n    consistency_policy={\n        \"consistency_level\": \"Strong\",\n    },\n    geo_locations=[{\n        \"location\": example.location,\n        \"failover_priority\": 0,\n    }])\nexample_mongo_database = azure.cosmosdb.MongoDatabase(\"example\",\n    name=\"example-mongodb\",\n    resource_group_name=example_account.resource_group_name,\n    account_name=example_account.name)\nexample_mongo_user_definition = azure.cosmosdb.MongoUserDefinition(\"example\",\n    cosmos_mongo_database_id=example_mongo_database.id,\n    username=\"myUserName\",\n    password=\"myPassword\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleAccount = new Azure.CosmosDB.Account(\"example\", new()\n    {\n        Name = \"example-ca\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        OfferType = \"Standard\",\n        Kind = \"MongoDB\",\n        Capabilities = new[]\n        {\n            new Azure.CosmosDB.Inputs.AccountCapabilityArgs\n            {\n                Name = \"EnableMongo\",\n            },\n            new Azure.CosmosDB.Inputs.AccountCapabilityArgs\n            {\n                Name = \"EnableMongoRoleBasedAccessControl\",\n            },\n        },\n        ConsistencyPolicy = new Azure.CosmosDB.Inputs.AccountConsistencyPolicyArgs\n        {\n            ConsistencyLevel = \"Strong\",\n        },\n        GeoLocations = new[]\n        {\n            new Azure.CosmosDB.Inputs.AccountGeoLocationArgs\n            {\n                Location = example.Location,\n                FailoverPriority = 0,\n            },\n        },\n    });\n\n    var exampleMongoDatabase = new Azure.CosmosDB.MongoDatabase(\"example\", new()\n    {\n        Name = \"example-mongodb\",\n        ResourceGroupName = exampleAccount.ResourceGroupName,\n        AccountName = exampleAccount.Name,\n    });\n\n    var exampleMongoUserDefinition = new Azure.CosmosDB.MongoUserDefinition(\"example\", new()\n    {\n        CosmosMongoDatabaseId = exampleMongoDatabase.Id,\n        Username = \"myUserName\",\n        Password = \"myPassword\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/cosmosdb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := cosmosdb.NewAccount(ctx, \"example\", \u0026cosmosdb.AccountArgs{\n\t\t\tName:              pulumi.String(\"example-ca\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tOfferType:         pulumi.String(\"Standard\"),\n\t\t\tKind:              pulumi.String(\"MongoDB\"),\n\t\t\tCapabilities: cosmosdb.AccountCapabilityArray{\n\t\t\t\t\u0026cosmosdb.AccountCapabilityArgs{\n\t\t\t\t\tName: pulumi.String(\"EnableMongo\"),\n\t\t\t\t},\n\t\t\t\t\u0026cosmosdb.AccountCapabilityArgs{\n\t\t\t\t\tName: pulumi.String(\"EnableMongoRoleBasedAccessControl\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tConsistencyPolicy: \u0026cosmosdb.AccountConsistencyPolicyArgs{\n\t\t\t\tConsistencyLevel: pulumi.String(\"Strong\"),\n\t\t\t},\n\t\t\tGeoLocations: cosmosdb.AccountGeoLocationArray{\n\t\t\t\t\u0026cosmosdb.AccountGeoLocationArgs{\n\t\t\t\t\tLocation:         example.Location,\n\t\t\t\t\tFailoverPriority: pulumi.Int(0),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleMongoDatabase, err := cosmosdb.NewMongoDatabase(ctx, \"example\", \u0026cosmosdb.MongoDatabaseArgs{\n\t\t\tName:              pulumi.String(\"example-mongodb\"),\n\t\t\tResourceGroupName: exampleAccount.ResourceGroupName,\n\t\t\tAccountName:       exampleAccount.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cosmosdb.NewMongoUserDefinition(ctx, \"example\", \u0026cosmosdb.MongoUserDefinitionArgs{\n\t\t\tCosmosMongoDatabaseId: exampleMongoDatabase.ID(),\n\t\t\tUsername:              pulumi.String(\"myUserName\"),\n\t\t\tPassword:              pulumi.String(\"myPassword\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.cosmosdb.Account;\nimport com.pulumi.azure.cosmosdb.AccountArgs;\nimport com.pulumi.azure.cosmosdb.inputs.AccountCapabilityArgs;\nimport com.pulumi.azure.cosmosdb.inputs.AccountConsistencyPolicyArgs;\nimport com.pulumi.azure.cosmosdb.inputs.AccountGeoLocationArgs;\nimport com.pulumi.azure.cosmosdb.MongoDatabase;\nimport com.pulumi.azure.cosmosdb.MongoDatabaseArgs;\nimport com.pulumi.azure.cosmosdb.MongoUserDefinition;\nimport com.pulumi.azure.cosmosdb.MongoUserDefinitionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"example-ca\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .offerType(\"Standard\")\n            .kind(\"MongoDB\")\n            .capabilities(            \n                AccountCapabilityArgs.builder()\n                    .name(\"EnableMongo\")\n                    .build(),\n                AccountCapabilityArgs.builder()\n                    .name(\"EnableMongoRoleBasedAccessControl\")\n                    .build())\n            .consistencyPolicy(AccountConsistencyPolicyArgs.builder()\n                .consistencyLevel(\"Strong\")\n                .build())\n            .geoLocations(AccountGeoLocationArgs.builder()\n                .location(example.location())\n                .failoverPriority(0)\n                .build())\n            .build());\n\n        var exampleMongoDatabase = new MongoDatabase(\"exampleMongoDatabase\", MongoDatabaseArgs.builder()\n            .name(\"example-mongodb\")\n            .resourceGroupName(exampleAccount.resourceGroupName())\n            .accountName(exampleAccount.name())\n            .build());\n\n        var exampleMongoUserDefinition = new MongoUserDefinition(\"exampleMongoUserDefinition\", MongoUserDefinitionArgs.builder()\n            .cosmosMongoDatabaseId(exampleMongoDatabase.id())\n            .username(\"myUserName\")\n            .password(\"myPassword\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleAccount:\n    type: azure:cosmosdb:Account\n    name: example\n    properties:\n      name: example-ca\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      offerType: Standard\n      kind: MongoDB\n      capabilities:\n        - name: EnableMongo\n        - name: EnableMongoRoleBasedAccessControl\n      consistencyPolicy:\n        consistencyLevel: Strong\n      geoLocations:\n        - location: ${example.location}\n          failoverPriority: 0\n  exampleMongoDatabase:\n    type: azure:cosmosdb:MongoDatabase\n    name: example\n    properties:\n      name: example-mongodb\n      resourceGroupName: ${exampleAccount.resourceGroupName}\n      accountName: ${exampleAccount.name}\n  exampleMongoUserDefinition:\n    type: azure:cosmosdb:MongoUserDefinition\n    name: example\n    properties:\n      cosmosMongoDatabaseId: ${exampleMongoDatabase.id}\n      username: myUserName\n      password: myPassword\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.DocumentDB` - 2022-11-15\n\n## Import\n\nCosmos DB Mongo User Definitions can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:cosmosdb/mongoUserDefinition:MongoUserDefinition example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.DocumentDB/databaseAccounts/account1/mongodbUserDefinitions/dbname1.username1\n```\n\n","properties":{"cosmosMongoDatabaseId":{"type":"string","description":"The resource ID of the Mongo DB. Changing this forces a new resource to be created.\n"},"inheritedRoleNames":{"type":"array","items":{"type":"string"},"description":"A list of Mongo Roles that are inherited to the Mongo User Definition.\n\n\u003e **Note:** The role that needs to be inherited should exist in the Mongo DB of \u003cspan pulumi-lang-nodejs=\"`cosmosMongoDatabaseId`\" pulumi-lang-dotnet=\"`CosmosMongoDatabaseId`\" pulumi-lang-go=\"`cosmosMongoDatabaseId`\" pulumi-lang-python=\"`cosmos_mongo_database_id`\" pulumi-lang-yaml=\"`cosmosMongoDatabaseId`\" pulumi-lang-java=\"`cosmosMongoDatabaseId`\"\u003e`cosmos_mongo_database_id`\u003c/span\u003e.\n"},"password":{"type":"string","description":"The password for the Mongo User Definition.\n","secret":true},"username":{"type":"string","description":"The username for the Mongo User Definition. Changing this forces a new resource to be created.\n"}},"required":["cosmosMongoDatabaseId","password","username"],"inputProperties":{"cosmosMongoDatabaseId":{"type":"string","description":"The resource ID of the Mongo DB. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"inheritedRoleNames":{"type":"array","items":{"type":"string"},"description":"A list of Mongo Roles that are inherited to the Mongo User Definition.\n\n\u003e **Note:** The role that needs to be inherited should exist in the Mongo DB of \u003cspan pulumi-lang-nodejs=\"`cosmosMongoDatabaseId`\" pulumi-lang-dotnet=\"`CosmosMongoDatabaseId`\" pulumi-lang-go=\"`cosmosMongoDatabaseId`\" pulumi-lang-python=\"`cosmos_mongo_database_id`\" pulumi-lang-yaml=\"`cosmosMongoDatabaseId`\" pulumi-lang-java=\"`cosmosMongoDatabaseId`\"\u003e`cosmos_mongo_database_id`\u003c/span\u003e.\n"},"password":{"type":"string","description":"The password for the Mongo User Definition.\n","secret":true},"username":{"type":"string","description":"The username for the Mongo User Definition. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["cosmosMongoDatabaseId","password","username"],"stateInputs":{"description":"Input properties used for looking up and filtering MongoUserDefinition resources.\n","properties":{"cosmosMongoDatabaseId":{"type":"string","description":"The resource ID of the Mongo DB. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"inheritedRoleNames":{"type":"array","items":{"type":"string"},"description":"A list of Mongo Roles that are inherited to the Mongo User Definition.\n\n\u003e **Note:** The role that needs to be inherited should exist in the Mongo DB of \u003cspan pulumi-lang-nodejs=\"`cosmosMongoDatabaseId`\" pulumi-lang-dotnet=\"`CosmosMongoDatabaseId`\" pulumi-lang-go=\"`cosmosMongoDatabaseId`\" pulumi-lang-python=\"`cosmos_mongo_database_id`\" pulumi-lang-yaml=\"`cosmosMongoDatabaseId`\" pulumi-lang-java=\"`cosmosMongoDatabaseId`\"\u003e`cosmos_mongo_database_id`\u003c/span\u003e.\n"},"password":{"type":"string","description":"The password for the Mongo User Definition.\n","secret":true},"username":{"type":"string","description":"The username for the Mongo User Definition. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:cosmosdb/postgresqlCluster:PostgresqlCluster":{"description":"Manages an Azure Cosmos DB for PostgreSQL Cluster.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst examplePostgresqlCluster = new azure.cosmosdb.PostgresqlCluster(\"example\", {\n    name: \"example-cluster\",\n    resourceGroupName: example.name,\n    location: example.location,\n    administratorLoginPassword: \"H@Sh1CoR3!\",\n    coordinatorStorageQuotaInMb: 131072,\n    coordinatorVcoreCount: 2,\n    nodeCount: 0,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_postgresql_cluster = azure.cosmosdb.PostgresqlCluster(\"example\",\n    name=\"example-cluster\",\n    resource_group_name=example.name,\n    location=example.location,\n    administrator_login_password=\"H@Sh1CoR3!\",\n    coordinator_storage_quota_in_mb=131072,\n    coordinator_vcore_count=2,\n    node_count=0)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var examplePostgresqlCluster = new Azure.CosmosDB.PostgresqlCluster(\"example\", new()\n    {\n        Name = \"example-cluster\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        AdministratorLoginPassword = \"H@Sh1CoR3!\",\n        CoordinatorStorageQuotaInMb = 131072,\n        CoordinatorVcoreCount = 2,\n        NodeCount = 0,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/cosmosdb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cosmosdb.NewPostgresqlCluster(ctx, \"example\", \u0026cosmosdb.PostgresqlClusterArgs{\n\t\t\tName:                        pulumi.String(\"example-cluster\"),\n\t\t\tResourceGroupName:           example.Name,\n\t\t\tLocation:                    example.Location,\n\t\t\tAdministratorLoginPassword:  pulumi.String(\"H@Sh1CoR3!\"),\n\t\t\tCoordinatorStorageQuotaInMb: pulumi.Int(131072),\n\t\t\tCoordinatorVcoreCount:       pulumi.Int(2),\n\t\t\tNodeCount:                   pulumi.Int(0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.cosmosdb.PostgresqlCluster;\nimport com.pulumi.azure.cosmosdb.PostgresqlClusterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var examplePostgresqlCluster = new PostgresqlCluster(\"examplePostgresqlCluster\", PostgresqlClusterArgs.builder()\n            .name(\"example-cluster\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .administratorLoginPassword(\"H@Sh1CoR3!\")\n            .coordinatorStorageQuotaInMb(131072)\n            .coordinatorVcoreCount(2)\n            .nodeCount(0)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  examplePostgresqlCluster:\n    type: azure:cosmosdb:PostgresqlCluster\n    name: example\n    properties:\n      name: example-cluster\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      administratorLoginPassword: H@Sh1CoR3!\n      coordinatorStorageQuotaInMb: 131072\n      coordinatorVcoreCount: 2\n      nodeCount: 0\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.DBforPostgreSQL` - 2022-11-08\n\n## Import\n\nAzure Cosmos DB for PostgreSQL Clusters can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:cosmosdb/postgresqlCluster:PostgresqlCluster example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup1/providers/Microsoft.DBforPostgreSQL/serverGroupsv2/cluster1\n```\n\n","properties":{"administratorLoginPassword":{"type":"string","description":"The password of the administrator login. This is required when \u003cspan pulumi-lang-nodejs=\"`sourceResourceId`\" pulumi-lang-dotnet=\"`SourceResourceId`\" pulumi-lang-go=\"`sourceResourceId`\" pulumi-lang-python=\"`source_resource_id`\" pulumi-lang-yaml=\"`sourceResourceId`\" pulumi-lang-java=\"`sourceResourceId`\"\u003e`source_resource_id`\u003c/span\u003e is not set.\n","secret":true},"citusVersion":{"type":"string","description":"The citus extension version on the Azure Cosmos DB for PostgreSQL Cluster. Possible values are `8.3`, `9.0`, `9.1`, `9.2`, `9.3`, `9.4`, `9.5`, `10.0`, `10.1`, `10.2`, `11.0`, `11.1`, `11.2`, `11.3` and `12.1`.\n"},"coordinatorPublicIpAccessEnabled":{"type":"boolean","description":"Is public access enabled on coordinator? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"coordinatorServerEdition":{"type":"string","description":"The edition of the coordinator server. Possible values are `BurstableGeneralPurpose`, `BurstableMemoryOptimized`, `GeneralPurpose`, and `MemoryOptimized`. Defaults to `GeneralPurpose`.\n\n\u003e **Note:** When using `BurstableGeneralPurpose`, the minimum supported value for \u003cspan pulumi-lang-nodejs=\"`coordinatorVcoreCount`\" pulumi-lang-dotnet=\"`CoordinatorVcoreCount`\" pulumi-lang-go=\"`coordinatorVcoreCount`\" pulumi-lang-python=\"`coordinator_vcore_count`\" pulumi-lang-yaml=\"`coordinatorVcoreCount`\" pulumi-lang-java=\"`coordinatorVcoreCount`\"\u003e`coordinator_vcore_count`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e. Setting \u003cspan pulumi-lang-nodejs=\"`coordinatorVcoreCount \" pulumi-lang-dotnet=\"`CoordinatorVcoreCount \" pulumi-lang-go=\"`coordinatorVcoreCount \" pulumi-lang-python=\"`coordinator_vcore_count \" pulumi-lang-yaml=\"`coordinatorVcoreCount \" pulumi-lang-java=\"`coordinatorVcoreCount \"\u003e`coordinator_vcore_count \u003c/span\u003e= 1` with this edition will result in an error from the Azure API. See [Azure Cosmos DB for PostgreSQL compute documentation](https://learn.microsoft.com/azure/cosmos-db/postgresql/resources-compute) for more details.\n"},"coordinatorStorageQuotaInMb":{"type":"integer","description":"The coordinator storage allowed for the Azure Cosmos DB for PostgreSQL Cluster. Possible values are \u003cspan pulumi-lang-nodejs=\"`32768`\" pulumi-lang-dotnet=\"`32768`\" pulumi-lang-go=\"`32768`\" pulumi-lang-python=\"`32768`\" pulumi-lang-yaml=\"`32768`\" pulumi-lang-java=\"`32768`\"\u003e`32768`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`65536`\" pulumi-lang-dotnet=\"`65536`\" pulumi-lang-go=\"`65536`\" pulumi-lang-python=\"`65536`\" pulumi-lang-yaml=\"`65536`\" pulumi-lang-java=\"`65536`\"\u003e`65536`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`131072`\" pulumi-lang-dotnet=\"`131072`\" pulumi-lang-go=\"`131072`\" pulumi-lang-python=\"`131072`\" pulumi-lang-yaml=\"`131072`\" pulumi-lang-java=\"`131072`\"\u003e`131072`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`262144`\" pulumi-lang-dotnet=\"`262144`\" pulumi-lang-go=\"`262144`\" pulumi-lang-python=\"`262144`\" pulumi-lang-yaml=\"`262144`\" pulumi-lang-java=\"`262144`\"\u003e`262144`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`524288`\" pulumi-lang-dotnet=\"`524288`\" pulumi-lang-go=\"`524288`\" pulumi-lang-python=\"`524288`\" pulumi-lang-yaml=\"`524288`\" pulumi-lang-java=\"`524288`\"\u003e`524288`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`1048576`\" pulumi-lang-dotnet=\"`1048576`\" pulumi-lang-go=\"`1048576`\" pulumi-lang-python=\"`1048576`\" pulumi-lang-yaml=\"`1048576`\" pulumi-lang-java=\"`1048576`\"\u003e`1048576`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`2097152`\" pulumi-lang-dotnet=\"`2097152`\" pulumi-lang-go=\"`2097152`\" pulumi-lang-python=\"`2097152`\" pulumi-lang-yaml=\"`2097152`\" pulumi-lang-java=\"`2097152`\"\u003e`2097152`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`4194304`\" pulumi-lang-dotnet=\"`4194304`\" pulumi-lang-go=\"`4194304`\" pulumi-lang-python=\"`4194304`\" pulumi-lang-yaml=\"`4194304`\" pulumi-lang-java=\"`4194304`\"\u003e`4194304`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`8388608`\" pulumi-lang-dotnet=\"`8388608`\" pulumi-lang-go=\"`8388608`\" pulumi-lang-python=\"`8388608`\" pulumi-lang-yaml=\"`8388608`\" pulumi-lang-java=\"`8388608`\"\u003e`8388608`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`16777216`\" pulumi-lang-dotnet=\"`16777216`\" pulumi-lang-go=\"`16777216`\" pulumi-lang-python=\"`16777216`\" pulumi-lang-yaml=\"`16777216`\" pulumi-lang-java=\"`16777216`\"\u003e`16777216`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`33554432`\" pulumi-lang-dotnet=\"`33554432`\" pulumi-lang-go=\"`33554432`\" pulumi-lang-python=\"`33554432`\" pulumi-lang-yaml=\"`33554432`\" pulumi-lang-java=\"`33554432`\"\u003e`33554432`\u003c/span\u003e.\n\n\u003e **Note:** More information on [the types of compute resources available for CosmosDB can be found in the product documentation](https://learn.microsoft.com/azure/cosmos-db/postgresql/resources-compute)\n"},"coordinatorVcoreCount":{"type":"integer","description":"The coordinator vCore count for the Azure Cosmos DB for PostgreSQL Cluster. Possible values are \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`4`\" pulumi-lang-dotnet=\"`4`\" pulumi-lang-go=\"`4`\" pulumi-lang-python=\"`4`\" pulumi-lang-yaml=\"`4`\" pulumi-lang-java=\"`4`\"\u003e`4`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`8`\" pulumi-lang-dotnet=\"`8`\" pulumi-lang-go=\"`8`\" pulumi-lang-python=\"`8`\" pulumi-lang-yaml=\"`8`\" pulumi-lang-java=\"`8`\"\u003e`8`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`16`\" pulumi-lang-dotnet=\"`16`\" pulumi-lang-go=\"`16`\" pulumi-lang-python=\"`16`\" pulumi-lang-yaml=\"`16`\" pulumi-lang-java=\"`16`\"\u003e`16`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`32`\" pulumi-lang-dotnet=\"`32`\" pulumi-lang-go=\"`32`\" pulumi-lang-python=\"`32`\" pulumi-lang-yaml=\"`32`\" pulumi-lang-java=\"`32`\"\u003e`32`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`64`\" pulumi-lang-dotnet=\"`64`\" pulumi-lang-go=\"`64`\" pulumi-lang-python=\"`64`\" pulumi-lang-yaml=\"`64`\" pulumi-lang-java=\"`64`\"\u003e`64`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`96`\" pulumi-lang-dotnet=\"`96`\" pulumi-lang-go=\"`96`\" pulumi-lang-python=\"`96`\" pulumi-lang-yaml=\"`96`\" pulumi-lang-java=\"`96`\"\u003e`96`\u003c/span\u003e.\n"},"earliestRestoreTime":{"type":"string","description":"The earliest restore point time (ISO8601 format) for the Azure Cosmos DB for PostgreSQL Cluster.\n"},"haEnabled":{"type":"boolean","description":"Is high availability enabled for the Azure Cosmos DB for PostgreSQL cluster? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"location":{"type":"string","description":"The Azure Region where the Azure Cosmos DB for PostgreSQL Cluster should exist. Changing this forces a new resource to be created.\n"},"maintenanceWindow":{"$ref":"#/types/azure:cosmosdb/PostgresqlClusterMaintenanceWindow:PostgresqlClusterMaintenanceWindow","description":"A \u003cspan pulumi-lang-nodejs=\"`maintenanceWindow`\" pulumi-lang-dotnet=\"`MaintenanceWindow`\" pulumi-lang-go=\"`maintenanceWindow`\" pulumi-lang-python=\"`maintenance_window`\" pulumi-lang-yaml=\"`maintenanceWindow`\" pulumi-lang-java=\"`maintenanceWindow`\"\u003e`maintenance_window`\u003c/span\u003e block as defined below.\n"},"name":{"type":"string","description":"The name which should be used for this Azure Cosmos DB for PostgreSQL Cluster. Changing this forces a new resource to be created.\n"},"nodeCount":{"type":"integer","description":"The worker node count of the Azure Cosmos DB for PostgreSQL Cluster. Possible value is between \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`20`\" pulumi-lang-dotnet=\"`20`\" pulumi-lang-go=\"`20`\" pulumi-lang-python=\"`20`\" pulumi-lang-yaml=\"`20`\" pulumi-lang-java=\"`20`\"\u003e`20`\u003c/span\u003e except \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e.\n"},"nodePublicIpAccessEnabled":{"type":"boolean","description":"Is public access enabled on worker nodes. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"nodeServerEdition":{"type":"string","description":"The edition of the node server. Possible values are `BurstableGeneralPurpose`, `BurstableMemoryOptimized`, `GeneralPurpose` and `MemoryOptimized`. Defaults to `MemoryOptimized`.\n"},"nodeStorageQuotaInMb":{"type":"integer","description":"The storage quota in MB on each worker node. Possible values are \u003cspan pulumi-lang-nodejs=\"`32768`\" pulumi-lang-dotnet=\"`32768`\" pulumi-lang-go=\"`32768`\" pulumi-lang-python=\"`32768`\" pulumi-lang-yaml=\"`32768`\" pulumi-lang-java=\"`32768`\"\u003e`32768`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`65536`\" pulumi-lang-dotnet=\"`65536`\" pulumi-lang-go=\"`65536`\" pulumi-lang-python=\"`65536`\" pulumi-lang-yaml=\"`65536`\" pulumi-lang-java=\"`65536`\"\u003e`65536`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`131072`\" pulumi-lang-dotnet=\"`131072`\" pulumi-lang-go=\"`131072`\" pulumi-lang-python=\"`131072`\" pulumi-lang-yaml=\"`131072`\" pulumi-lang-java=\"`131072`\"\u003e`131072`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`262144`\" pulumi-lang-dotnet=\"`262144`\" pulumi-lang-go=\"`262144`\" pulumi-lang-python=\"`262144`\" pulumi-lang-yaml=\"`262144`\" pulumi-lang-java=\"`262144`\"\u003e`262144`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`524288`\" pulumi-lang-dotnet=\"`524288`\" pulumi-lang-go=\"`524288`\" pulumi-lang-python=\"`524288`\" pulumi-lang-yaml=\"`524288`\" pulumi-lang-java=\"`524288`\"\u003e`524288`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`1048576`\" pulumi-lang-dotnet=\"`1048576`\" pulumi-lang-go=\"`1048576`\" pulumi-lang-python=\"`1048576`\" pulumi-lang-yaml=\"`1048576`\" pulumi-lang-java=\"`1048576`\"\u003e`1048576`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`2097152`\" pulumi-lang-dotnet=\"`2097152`\" pulumi-lang-go=\"`2097152`\" pulumi-lang-python=\"`2097152`\" pulumi-lang-yaml=\"`2097152`\" pulumi-lang-java=\"`2097152`\"\u003e`2097152`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`4194304`\" pulumi-lang-dotnet=\"`4194304`\" pulumi-lang-go=\"`4194304`\" pulumi-lang-python=\"`4194304`\" pulumi-lang-yaml=\"`4194304`\" pulumi-lang-java=\"`4194304`\"\u003e`4194304`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`8388608`\" pulumi-lang-dotnet=\"`8388608`\" pulumi-lang-go=\"`8388608`\" pulumi-lang-python=\"`8388608`\" pulumi-lang-yaml=\"`8388608`\" pulumi-lang-java=\"`8388608`\"\u003e`8388608`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`16777216`\" pulumi-lang-dotnet=\"`16777216`\" pulumi-lang-go=\"`16777216`\" pulumi-lang-python=\"`16777216`\" pulumi-lang-yaml=\"`16777216`\" pulumi-lang-java=\"`16777216`\"\u003e`16777216`\u003c/span\u003e.\n"},"nodeVcores":{"type":"integer","description":"The vCores count on each worker node. Possible values are \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`4`\" pulumi-lang-dotnet=\"`4`\" pulumi-lang-go=\"`4`\" pulumi-lang-python=\"`4`\" pulumi-lang-yaml=\"`4`\" pulumi-lang-java=\"`4`\"\u003e`4`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`8`\" pulumi-lang-dotnet=\"`8`\" pulumi-lang-go=\"`8`\" pulumi-lang-python=\"`8`\" pulumi-lang-yaml=\"`8`\" pulumi-lang-java=\"`8`\"\u003e`8`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`16`\" pulumi-lang-dotnet=\"`16`\" pulumi-lang-go=\"`16`\" pulumi-lang-python=\"`16`\" pulumi-lang-yaml=\"`16`\" pulumi-lang-java=\"`16`\"\u003e`16`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`32`\" pulumi-lang-dotnet=\"`32`\" pulumi-lang-go=\"`32`\" pulumi-lang-python=\"`32`\" pulumi-lang-yaml=\"`32`\" pulumi-lang-java=\"`32`\"\u003e`32`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`64`\" pulumi-lang-dotnet=\"`64`\" pulumi-lang-go=\"`64`\" pulumi-lang-python=\"`64`\" pulumi-lang-yaml=\"`64`\" pulumi-lang-java=\"`64`\"\u003e`64`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`96`\" pulumi-lang-dotnet=\"`96`\" pulumi-lang-go=\"`96`\" pulumi-lang-python=\"`96`\" pulumi-lang-yaml=\"`96`\" pulumi-lang-java=\"`96`\"\u003e`96`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`104`\" pulumi-lang-dotnet=\"`104`\" pulumi-lang-go=\"`104`\" pulumi-lang-python=\"`104`\" pulumi-lang-yaml=\"`104`\" pulumi-lang-java=\"`104`\"\u003e`104`\u003c/span\u003e.\n"},"pointInTimeInUtc":{"type":"string","description":"The date and time in UTC (ISO8601 format) for the Azure Cosmos DB for PostgreSQL cluster restore. Changing this forces a new resource to be created.\n"},"preferredPrimaryZone":{"type":"string","description":"The preferred primary availability zone for the Azure Cosmos DB for PostgreSQL cluster.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Azure Cosmos DB for PostgreSQL Cluster should exist. Changing this forces a new resource to be created.\n"},"servers":{"type":"array","items":{"$ref":"#/types/azure:cosmosdb/PostgresqlClusterServer:PostgresqlClusterServer"},"description":"A \u003cspan pulumi-lang-nodejs=\"`servers`\" pulumi-lang-dotnet=\"`Servers`\" pulumi-lang-go=\"`servers`\" pulumi-lang-python=\"`servers`\" pulumi-lang-yaml=\"`servers`\" pulumi-lang-java=\"`servers`\"\u003e`servers`\u003c/span\u003e block as defined below.\n"},"shardsOnCoordinatorEnabled":{"type":"boolean","description":"Is shards on coordinator enabled for the Azure Cosmos DB for PostgreSQL cluster.\n"},"sourceLocation":{"type":"string","description":"The Azure region of the source Azure Cosmos DB for PostgreSQL cluster for read replica clusters. Changing this forces a new resource to be created.\n"},"sourceResourceId":{"type":"string","description":"The resource ID of the source Azure Cosmos DB for PostgreSQL cluster for read replica clusters. Changing this forces a new resource to be created.\n"},"sqlVersion":{"type":"string","description":"The major PostgreSQL version on the Azure Cosmos DB for PostgreSQL cluster. Possible values are \u003cspan pulumi-lang-nodejs=\"`11`\" pulumi-lang-dotnet=\"`11`\" pulumi-lang-go=\"`11`\" pulumi-lang-python=\"`11`\" pulumi-lang-yaml=\"`11`\" pulumi-lang-java=\"`11`\"\u003e`11`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`12`\" pulumi-lang-dotnet=\"`12`\" pulumi-lang-go=\"`12`\" pulumi-lang-python=\"`12`\" pulumi-lang-yaml=\"`12`\" pulumi-lang-java=\"`12`\"\u003e`12`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`13`\" pulumi-lang-dotnet=\"`13`\" pulumi-lang-go=\"`13`\" pulumi-lang-python=\"`13`\" pulumi-lang-yaml=\"`13`\" pulumi-lang-java=\"`13`\"\u003e`13`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`14`\" pulumi-lang-dotnet=\"`14`\" pulumi-lang-go=\"`14`\" pulumi-lang-python=\"`14`\" pulumi-lang-yaml=\"`14`\" pulumi-lang-java=\"`14`\"\u003e`14`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`15`\" pulumi-lang-dotnet=\"`15`\" pulumi-lang-go=\"`15`\" pulumi-lang-python=\"`15`\" pulumi-lang-yaml=\"`15`\" pulumi-lang-java=\"`15`\"\u003e`15`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`16`\" pulumi-lang-dotnet=\"`16`\" pulumi-lang-go=\"`16`\" pulumi-lang-python=\"`16`\" pulumi-lang-yaml=\"`16`\" pulumi-lang-java=\"`16`\"\u003e`16`\u003c/span\u003e.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Azure Cosmos DB for PostgreSQL Cluster.\n"}},"required":["citusVersion","earliestRestoreTime","location","name","nodeCount","nodeStorageQuotaInMb","nodeVcores","resourceGroupName","servers","shardsOnCoordinatorEnabled","sqlVersion"],"inputProperties":{"administratorLoginPassword":{"type":"string","description":"The password of the administrator login. This is required when \u003cspan pulumi-lang-nodejs=\"`sourceResourceId`\" pulumi-lang-dotnet=\"`SourceResourceId`\" pulumi-lang-go=\"`sourceResourceId`\" pulumi-lang-python=\"`source_resource_id`\" pulumi-lang-yaml=\"`sourceResourceId`\" pulumi-lang-java=\"`sourceResourceId`\"\u003e`source_resource_id`\u003c/span\u003e is not set.\n","secret":true},"citusVersion":{"type":"string","description":"The citus extension version on the Azure Cosmos DB for PostgreSQL Cluster. Possible values are `8.3`, `9.0`, `9.1`, `9.2`, `9.3`, `9.4`, `9.5`, `10.0`, `10.1`, `10.2`, `11.0`, `11.1`, `11.2`, `11.3` and `12.1`.\n"},"coordinatorPublicIpAccessEnabled":{"type":"boolean","description":"Is public access enabled on coordinator? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"coordinatorServerEdition":{"type":"string","description":"The edition of the coordinator server. Possible values are `BurstableGeneralPurpose`, `BurstableMemoryOptimized`, `GeneralPurpose`, and `MemoryOptimized`. Defaults to `GeneralPurpose`.\n\n\u003e **Note:** When using `BurstableGeneralPurpose`, the minimum supported value for \u003cspan pulumi-lang-nodejs=\"`coordinatorVcoreCount`\" pulumi-lang-dotnet=\"`CoordinatorVcoreCount`\" pulumi-lang-go=\"`coordinatorVcoreCount`\" pulumi-lang-python=\"`coordinator_vcore_count`\" pulumi-lang-yaml=\"`coordinatorVcoreCount`\" pulumi-lang-java=\"`coordinatorVcoreCount`\"\u003e`coordinator_vcore_count`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e. Setting \u003cspan pulumi-lang-nodejs=\"`coordinatorVcoreCount \" pulumi-lang-dotnet=\"`CoordinatorVcoreCount \" pulumi-lang-go=\"`coordinatorVcoreCount \" pulumi-lang-python=\"`coordinator_vcore_count \" pulumi-lang-yaml=\"`coordinatorVcoreCount \" pulumi-lang-java=\"`coordinatorVcoreCount \"\u003e`coordinator_vcore_count \u003c/span\u003e= 1` with this edition will result in an error from the Azure API. See [Azure Cosmos DB for PostgreSQL compute documentation](https://learn.microsoft.com/azure/cosmos-db/postgresql/resources-compute) for more details.\n"},"coordinatorStorageQuotaInMb":{"type":"integer","description":"The coordinator storage allowed for the Azure Cosmos DB for PostgreSQL Cluster. Possible values are \u003cspan pulumi-lang-nodejs=\"`32768`\" pulumi-lang-dotnet=\"`32768`\" pulumi-lang-go=\"`32768`\" pulumi-lang-python=\"`32768`\" pulumi-lang-yaml=\"`32768`\" pulumi-lang-java=\"`32768`\"\u003e`32768`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`65536`\" pulumi-lang-dotnet=\"`65536`\" pulumi-lang-go=\"`65536`\" pulumi-lang-python=\"`65536`\" pulumi-lang-yaml=\"`65536`\" pulumi-lang-java=\"`65536`\"\u003e`65536`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`131072`\" pulumi-lang-dotnet=\"`131072`\" pulumi-lang-go=\"`131072`\" pulumi-lang-python=\"`131072`\" pulumi-lang-yaml=\"`131072`\" pulumi-lang-java=\"`131072`\"\u003e`131072`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`262144`\" pulumi-lang-dotnet=\"`262144`\" pulumi-lang-go=\"`262144`\" pulumi-lang-python=\"`262144`\" pulumi-lang-yaml=\"`262144`\" pulumi-lang-java=\"`262144`\"\u003e`262144`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`524288`\" pulumi-lang-dotnet=\"`524288`\" pulumi-lang-go=\"`524288`\" pulumi-lang-python=\"`524288`\" pulumi-lang-yaml=\"`524288`\" pulumi-lang-java=\"`524288`\"\u003e`524288`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`1048576`\" pulumi-lang-dotnet=\"`1048576`\" pulumi-lang-go=\"`1048576`\" pulumi-lang-python=\"`1048576`\" pulumi-lang-yaml=\"`1048576`\" pulumi-lang-java=\"`1048576`\"\u003e`1048576`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`2097152`\" pulumi-lang-dotnet=\"`2097152`\" pulumi-lang-go=\"`2097152`\" pulumi-lang-python=\"`2097152`\" pulumi-lang-yaml=\"`2097152`\" pulumi-lang-java=\"`2097152`\"\u003e`2097152`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`4194304`\" pulumi-lang-dotnet=\"`4194304`\" pulumi-lang-go=\"`4194304`\" pulumi-lang-python=\"`4194304`\" pulumi-lang-yaml=\"`4194304`\" pulumi-lang-java=\"`4194304`\"\u003e`4194304`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`8388608`\" pulumi-lang-dotnet=\"`8388608`\" pulumi-lang-go=\"`8388608`\" pulumi-lang-python=\"`8388608`\" pulumi-lang-yaml=\"`8388608`\" pulumi-lang-java=\"`8388608`\"\u003e`8388608`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`16777216`\" pulumi-lang-dotnet=\"`16777216`\" pulumi-lang-go=\"`16777216`\" pulumi-lang-python=\"`16777216`\" pulumi-lang-yaml=\"`16777216`\" pulumi-lang-java=\"`16777216`\"\u003e`16777216`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`33554432`\" pulumi-lang-dotnet=\"`33554432`\" pulumi-lang-go=\"`33554432`\" pulumi-lang-python=\"`33554432`\" pulumi-lang-yaml=\"`33554432`\" pulumi-lang-java=\"`33554432`\"\u003e`33554432`\u003c/span\u003e.\n\n\u003e **Note:** More information on [the types of compute resources available for CosmosDB can be found in the product documentation](https://learn.microsoft.com/azure/cosmos-db/postgresql/resources-compute)\n"},"coordinatorVcoreCount":{"type":"integer","description":"The coordinator vCore count for the Azure Cosmos DB for PostgreSQL Cluster. Possible values are \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`4`\" pulumi-lang-dotnet=\"`4`\" pulumi-lang-go=\"`4`\" pulumi-lang-python=\"`4`\" pulumi-lang-yaml=\"`4`\" pulumi-lang-java=\"`4`\"\u003e`4`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`8`\" pulumi-lang-dotnet=\"`8`\" pulumi-lang-go=\"`8`\" pulumi-lang-python=\"`8`\" pulumi-lang-yaml=\"`8`\" pulumi-lang-java=\"`8`\"\u003e`8`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`16`\" pulumi-lang-dotnet=\"`16`\" pulumi-lang-go=\"`16`\" pulumi-lang-python=\"`16`\" pulumi-lang-yaml=\"`16`\" pulumi-lang-java=\"`16`\"\u003e`16`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`32`\" pulumi-lang-dotnet=\"`32`\" pulumi-lang-go=\"`32`\" pulumi-lang-python=\"`32`\" pulumi-lang-yaml=\"`32`\" pulumi-lang-java=\"`32`\"\u003e`32`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`64`\" pulumi-lang-dotnet=\"`64`\" pulumi-lang-go=\"`64`\" pulumi-lang-python=\"`64`\" pulumi-lang-yaml=\"`64`\" pulumi-lang-java=\"`64`\"\u003e`64`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`96`\" pulumi-lang-dotnet=\"`96`\" pulumi-lang-go=\"`96`\" pulumi-lang-python=\"`96`\" pulumi-lang-yaml=\"`96`\" pulumi-lang-java=\"`96`\"\u003e`96`\u003c/span\u003e.\n"},"haEnabled":{"type":"boolean","description":"Is high availability enabled for the Azure Cosmos DB for PostgreSQL cluster? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"location":{"type":"string","description":"The Azure Region where the Azure Cosmos DB for PostgreSQL Cluster should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"maintenanceWindow":{"$ref":"#/types/azure:cosmosdb/PostgresqlClusterMaintenanceWindow:PostgresqlClusterMaintenanceWindow","description":"A \u003cspan pulumi-lang-nodejs=\"`maintenanceWindow`\" pulumi-lang-dotnet=\"`MaintenanceWindow`\" pulumi-lang-go=\"`maintenanceWindow`\" pulumi-lang-python=\"`maintenance_window`\" pulumi-lang-yaml=\"`maintenanceWindow`\" pulumi-lang-java=\"`maintenanceWindow`\"\u003e`maintenance_window`\u003c/span\u003e block as defined below.\n"},"name":{"type":"string","description":"The name which should be used for this Azure Cosmos DB for PostgreSQL Cluster. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"nodeCount":{"type":"integer","description":"The worker node count of the Azure Cosmos DB for PostgreSQL Cluster. Possible value is between \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`20`\" pulumi-lang-dotnet=\"`20`\" pulumi-lang-go=\"`20`\" pulumi-lang-python=\"`20`\" pulumi-lang-yaml=\"`20`\" pulumi-lang-java=\"`20`\"\u003e`20`\u003c/span\u003e except \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e.\n"},"nodePublicIpAccessEnabled":{"type":"boolean","description":"Is public access enabled on worker nodes. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"nodeServerEdition":{"type":"string","description":"The edition of the node server. Possible values are `BurstableGeneralPurpose`, `BurstableMemoryOptimized`, `GeneralPurpose` and `MemoryOptimized`. Defaults to `MemoryOptimized`.\n"},"nodeStorageQuotaInMb":{"type":"integer","description":"The storage quota in MB on each worker node. Possible values are \u003cspan pulumi-lang-nodejs=\"`32768`\" pulumi-lang-dotnet=\"`32768`\" pulumi-lang-go=\"`32768`\" pulumi-lang-python=\"`32768`\" pulumi-lang-yaml=\"`32768`\" pulumi-lang-java=\"`32768`\"\u003e`32768`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`65536`\" pulumi-lang-dotnet=\"`65536`\" pulumi-lang-go=\"`65536`\" pulumi-lang-python=\"`65536`\" pulumi-lang-yaml=\"`65536`\" pulumi-lang-java=\"`65536`\"\u003e`65536`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`131072`\" pulumi-lang-dotnet=\"`131072`\" pulumi-lang-go=\"`131072`\" pulumi-lang-python=\"`131072`\" pulumi-lang-yaml=\"`131072`\" pulumi-lang-java=\"`131072`\"\u003e`131072`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`262144`\" pulumi-lang-dotnet=\"`262144`\" pulumi-lang-go=\"`262144`\" pulumi-lang-python=\"`262144`\" pulumi-lang-yaml=\"`262144`\" pulumi-lang-java=\"`262144`\"\u003e`262144`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`524288`\" pulumi-lang-dotnet=\"`524288`\" pulumi-lang-go=\"`524288`\" pulumi-lang-python=\"`524288`\" pulumi-lang-yaml=\"`524288`\" pulumi-lang-java=\"`524288`\"\u003e`524288`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`1048576`\" pulumi-lang-dotnet=\"`1048576`\" pulumi-lang-go=\"`1048576`\" pulumi-lang-python=\"`1048576`\" pulumi-lang-yaml=\"`1048576`\" pulumi-lang-java=\"`1048576`\"\u003e`1048576`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`2097152`\" pulumi-lang-dotnet=\"`2097152`\" pulumi-lang-go=\"`2097152`\" pulumi-lang-python=\"`2097152`\" pulumi-lang-yaml=\"`2097152`\" pulumi-lang-java=\"`2097152`\"\u003e`2097152`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`4194304`\" pulumi-lang-dotnet=\"`4194304`\" pulumi-lang-go=\"`4194304`\" pulumi-lang-python=\"`4194304`\" pulumi-lang-yaml=\"`4194304`\" pulumi-lang-java=\"`4194304`\"\u003e`4194304`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`8388608`\" pulumi-lang-dotnet=\"`8388608`\" pulumi-lang-go=\"`8388608`\" pulumi-lang-python=\"`8388608`\" pulumi-lang-yaml=\"`8388608`\" pulumi-lang-java=\"`8388608`\"\u003e`8388608`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`16777216`\" pulumi-lang-dotnet=\"`16777216`\" pulumi-lang-go=\"`16777216`\" pulumi-lang-python=\"`16777216`\" pulumi-lang-yaml=\"`16777216`\" pulumi-lang-java=\"`16777216`\"\u003e`16777216`\u003c/span\u003e.\n"},"nodeVcores":{"type":"integer","description":"The vCores count on each worker node. Possible values are \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`4`\" pulumi-lang-dotnet=\"`4`\" pulumi-lang-go=\"`4`\" pulumi-lang-python=\"`4`\" pulumi-lang-yaml=\"`4`\" pulumi-lang-java=\"`4`\"\u003e`4`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`8`\" pulumi-lang-dotnet=\"`8`\" pulumi-lang-go=\"`8`\" pulumi-lang-python=\"`8`\" pulumi-lang-yaml=\"`8`\" pulumi-lang-java=\"`8`\"\u003e`8`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`16`\" pulumi-lang-dotnet=\"`16`\" pulumi-lang-go=\"`16`\" pulumi-lang-python=\"`16`\" pulumi-lang-yaml=\"`16`\" pulumi-lang-java=\"`16`\"\u003e`16`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`32`\" pulumi-lang-dotnet=\"`32`\" pulumi-lang-go=\"`32`\" pulumi-lang-python=\"`32`\" pulumi-lang-yaml=\"`32`\" pulumi-lang-java=\"`32`\"\u003e`32`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`64`\" pulumi-lang-dotnet=\"`64`\" pulumi-lang-go=\"`64`\" pulumi-lang-python=\"`64`\" pulumi-lang-yaml=\"`64`\" pulumi-lang-java=\"`64`\"\u003e`64`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`96`\" pulumi-lang-dotnet=\"`96`\" pulumi-lang-go=\"`96`\" pulumi-lang-python=\"`96`\" pulumi-lang-yaml=\"`96`\" pulumi-lang-java=\"`96`\"\u003e`96`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`104`\" pulumi-lang-dotnet=\"`104`\" pulumi-lang-go=\"`104`\" pulumi-lang-python=\"`104`\" pulumi-lang-yaml=\"`104`\" pulumi-lang-java=\"`104`\"\u003e`104`\u003c/span\u003e.\n"},"pointInTimeInUtc":{"type":"string","description":"The date and time in UTC (ISO8601 format) for the Azure Cosmos DB for PostgreSQL cluster restore. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"preferredPrimaryZone":{"type":"string","description":"The preferred primary availability zone for the Azure Cosmos DB for PostgreSQL cluster.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Azure Cosmos DB for PostgreSQL Cluster should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"shardsOnCoordinatorEnabled":{"type":"boolean","description":"Is shards on coordinator enabled for the Azure Cosmos DB for PostgreSQL cluster.\n"},"sourceLocation":{"type":"string","description":"The Azure region of the source Azure Cosmos DB for PostgreSQL cluster for read replica clusters. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sourceResourceId":{"type":"string","description":"The resource ID of the source Azure Cosmos DB for PostgreSQL cluster for read replica clusters. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sqlVersion":{"type":"string","description":"The major PostgreSQL version on the Azure Cosmos DB for PostgreSQL cluster. Possible values are \u003cspan pulumi-lang-nodejs=\"`11`\" pulumi-lang-dotnet=\"`11`\" pulumi-lang-go=\"`11`\" pulumi-lang-python=\"`11`\" pulumi-lang-yaml=\"`11`\" pulumi-lang-java=\"`11`\"\u003e`11`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`12`\" pulumi-lang-dotnet=\"`12`\" pulumi-lang-go=\"`12`\" pulumi-lang-python=\"`12`\" pulumi-lang-yaml=\"`12`\" pulumi-lang-java=\"`12`\"\u003e`12`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`13`\" pulumi-lang-dotnet=\"`13`\" pulumi-lang-go=\"`13`\" pulumi-lang-python=\"`13`\" pulumi-lang-yaml=\"`13`\" pulumi-lang-java=\"`13`\"\u003e`13`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`14`\" pulumi-lang-dotnet=\"`14`\" pulumi-lang-go=\"`14`\" pulumi-lang-python=\"`14`\" pulumi-lang-yaml=\"`14`\" pulumi-lang-java=\"`14`\"\u003e`14`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`15`\" pulumi-lang-dotnet=\"`15`\" pulumi-lang-go=\"`15`\" pulumi-lang-python=\"`15`\" pulumi-lang-yaml=\"`15`\" pulumi-lang-java=\"`15`\"\u003e`15`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`16`\" pulumi-lang-dotnet=\"`16`\" pulumi-lang-go=\"`16`\" pulumi-lang-python=\"`16`\" pulumi-lang-yaml=\"`16`\" pulumi-lang-java=\"`16`\"\u003e`16`\u003c/span\u003e.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Azure Cosmos DB for PostgreSQL Cluster.\n"}},"requiredInputs":["nodeCount","resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering PostgresqlCluster resources.\n","properties":{"administratorLoginPassword":{"type":"string","description":"The password of the administrator login. This is required when \u003cspan pulumi-lang-nodejs=\"`sourceResourceId`\" pulumi-lang-dotnet=\"`SourceResourceId`\" pulumi-lang-go=\"`sourceResourceId`\" pulumi-lang-python=\"`source_resource_id`\" pulumi-lang-yaml=\"`sourceResourceId`\" pulumi-lang-java=\"`sourceResourceId`\"\u003e`source_resource_id`\u003c/span\u003e is not set.\n","secret":true},"citusVersion":{"type":"string","description":"The citus extension version on the Azure Cosmos DB for PostgreSQL Cluster. Possible values are `8.3`, `9.0`, `9.1`, `9.2`, `9.3`, `9.4`, `9.5`, `10.0`, `10.1`, `10.2`, `11.0`, `11.1`, `11.2`, `11.3` and `12.1`.\n"},"coordinatorPublicIpAccessEnabled":{"type":"boolean","description":"Is public access enabled on coordinator? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"coordinatorServerEdition":{"type":"string","description":"The edition of the coordinator server. Possible values are `BurstableGeneralPurpose`, `BurstableMemoryOptimized`, `GeneralPurpose`, and `MemoryOptimized`. Defaults to `GeneralPurpose`.\n\n\u003e **Note:** When using `BurstableGeneralPurpose`, the minimum supported value for \u003cspan pulumi-lang-nodejs=\"`coordinatorVcoreCount`\" pulumi-lang-dotnet=\"`CoordinatorVcoreCount`\" pulumi-lang-go=\"`coordinatorVcoreCount`\" pulumi-lang-python=\"`coordinator_vcore_count`\" pulumi-lang-yaml=\"`coordinatorVcoreCount`\" pulumi-lang-java=\"`coordinatorVcoreCount`\"\u003e`coordinator_vcore_count`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e. Setting \u003cspan pulumi-lang-nodejs=\"`coordinatorVcoreCount \" pulumi-lang-dotnet=\"`CoordinatorVcoreCount \" pulumi-lang-go=\"`coordinatorVcoreCount \" pulumi-lang-python=\"`coordinator_vcore_count \" pulumi-lang-yaml=\"`coordinatorVcoreCount \" pulumi-lang-java=\"`coordinatorVcoreCount \"\u003e`coordinator_vcore_count \u003c/span\u003e= 1` with this edition will result in an error from the Azure API. See [Azure Cosmos DB for PostgreSQL compute documentation](https://learn.microsoft.com/azure/cosmos-db/postgresql/resources-compute) for more details.\n"},"coordinatorStorageQuotaInMb":{"type":"integer","description":"The coordinator storage allowed for the Azure Cosmos DB for PostgreSQL Cluster. Possible values are \u003cspan pulumi-lang-nodejs=\"`32768`\" pulumi-lang-dotnet=\"`32768`\" pulumi-lang-go=\"`32768`\" pulumi-lang-python=\"`32768`\" pulumi-lang-yaml=\"`32768`\" pulumi-lang-java=\"`32768`\"\u003e`32768`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`65536`\" pulumi-lang-dotnet=\"`65536`\" pulumi-lang-go=\"`65536`\" pulumi-lang-python=\"`65536`\" pulumi-lang-yaml=\"`65536`\" pulumi-lang-java=\"`65536`\"\u003e`65536`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`131072`\" pulumi-lang-dotnet=\"`131072`\" pulumi-lang-go=\"`131072`\" pulumi-lang-python=\"`131072`\" pulumi-lang-yaml=\"`131072`\" pulumi-lang-java=\"`131072`\"\u003e`131072`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`262144`\" pulumi-lang-dotnet=\"`262144`\" pulumi-lang-go=\"`262144`\" pulumi-lang-python=\"`262144`\" pulumi-lang-yaml=\"`262144`\" pulumi-lang-java=\"`262144`\"\u003e`262144`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`524288`\" pulumi-lang-dotnet=\"`524288`\" pulumi-lang-go=\"`524288`\" pulumi-lang-python=\"`524288`\" pulumi-lang-yaml=\"`524288`\" pulumi-lang-java=\"`524288`\"\u003e`524288`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`1048576`\" pulumi-lang-dotnet=\"`1048576`\" pulumi-lang-go=\"`1048576`\" pulumi-lang-python=\"`1048576`\" pulumi-lang-yaml=\"`1048576`\" pulumi-lang-java=\"`1048576`\"\u003e`1048576`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`2097152`\" pulumi-lang-dotnet=\"`2097152`\" pulumi-lang-go=\"`2097152`\" pulumi-lang-python=\"`2097152`\" pulumi-lang-yaml=\"`2097152`\" pulumi-lang-java=\"`2097152`\"\u003e`2097152`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`4194304`\" pulumi-lang-dotnet=\"`4194304`\" pulumi-lang-go=\"`4194304`\" pulumi-lang-python=\"`4194304`\" pulumi-lang-yaml=\"`4194304`\" pulumi-lang-java=\"`4194304`\"\u003e`4194304`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`8388608`\" pulumi-lang-dotnet=\"`8388608`\" pulumi-lang-go=\"`8388608`\" pulumi-lang-python=\"`8388608`\" pulumi-lang-yaml=\"`8388608`\" pulumi-lang-java=\"`8388608`\"\u003e`8388608`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`16777216`\" pulumi-lang-dotnet=\"`16777216`\" pulumi-lang-go=\"`16777216`\" pulumi-lang-python=\"`16777216`\" pulumi-lang-yaml=\"`16777216`\" pulumi-lang-java=\"`16777216`\"\u003e`16777216`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`33554432`\" pulumi-lang-dotnet=\"`33554432`\" pulumi-lang-go=\"`33554432`\" pulumi-lang-python=\"`33554432`\" pulumi-lang-yaml=\"`33554432`\" pulumi-lang-java=\"`33554432`\"\u003e`33554432`\u003c/span\u003e.\n\n\u003e **Note:** More information on [the types of compute resources available for CosmosDB can be found in the product documentation](https://learn.microsoft.com/azure/cosmos-db/postgresql/resources-compute)\n"},"coordinatorVcoreCount":{"type":"integer","description":"The coordinator vCore count for the Azure Cosmos DB for PostgreSQL Cluster. Possible values are \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`4`\" pulumi-lang-dotnet=\"`4`\" pulumi-lang-go=\"`4`\" pulumi-lang-python=\"`4`\" pulumi-lang-yaml=\"`4`\" pulumi-lang-java=\"`4`\"\u003e`4`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`8`\" pulumi-lang-dotnet=\"`8`\" pulumi-lang-go=\"`8`\" pulumi-lang-python=\"`8`\" pulumi-lang-yaml=\"`8`\" pulumi-lang-java=\"`8`\"\u003e`8`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`16`\" pulumi-lang-dotnet=\"`16`\" pulumi-lang-go=\"`16`\" pulumi-lang-python=\"`16`\" pulumi-lang-yaml=\"`16`\" pulumi-lang-java=\"`16`\"\u003e`16`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`32`\" pulumi-lang-dotnet=\"`32`\" pulumi-lang-go=\"`32`\" pulumi-lang-python=\"`32`\" pulumi-lang-yaml=\"`32`\" pulumi-lang-java=\"`32`\"\u003e`32`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`64`\" pulumi-lang-dotnet=\"`64`\" pulumi-lang-go=\"`64`\" pulumi-lang-python=\"`64`\" pulumi-lang-yaml=\"`64`\" pulumi-lang-java=\"`64`\"\u003e`64`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`96`\" pulumi-lang-dotnet=\"`96`\" pulumi-lang-go=\"`96`\" pulumi-lang-python=\"`96`\" pulumi-lang-yaml=\"`96`\" pulumi-lang-java=\"`96`\"\u003e`96`\u003c/span\u003e.\n"},"earliestRestoreTime":{"type":"string","description":"The earliest restore point time (ISO8601 format) for the Azure Cosmos DB for PostgreSQL Cluster.\n"},"haEnabled":{"type":"boolean","description":"Is high availability enabled for the Azure Cosmos DB for PostgreSQL cluster? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"location":{"type":"string","description":"The Azure Region where the Azure Cosmos DB for PostgreSQL Cluster should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"maintenanceWindow":{"$ref":"#/types/azure:cosmosdb/PostgresqlClusterMaintenanceWindow:PostgresqlClusterMaintenanceWindow","description":"A \u003cspan pulumi-lang-nodejs=\"`maintenanceWindow`\" pulumi-lang-dotnet=\"`MaintenanceWindow`\" pulumi-lang-go=\"`maintenanceWindow`\" pulumi-lang-python=\"`maintenance_window`\" pulumi-lang-yaml=\"`maintenanceWindow`\" pulumi-lang-java=\"`maintenanceWindow`\"\u003e`maintenance_window`\u003c/span\u003e block as defined below.\n"},"name":{"type":"string","description":"The name which should be used for this Azure Cosmos DB for PostgreSQL Cluster. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"nodeCount":{"type":"integer","description":"The worker node count of the Azure Cosmos DB for PostgreSQL Cluster. Possible value is between \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`20`\" pulumi-lang-dotnet=\"`20`\" pulumi-lang-go=\"`20`\" pulumi-lang-python=\"`20`\" pulumi-lang-yaml=\"`20`\" pulumi-lang-java=\"`20`\"\u003e`20`\u003c/span\u003e except \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e.\n"},"nodePublicIpAccessEnabled":{"type":"boolean","description":"Is public access enabled on worker nodes. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"nodeServerEdition":{"type":"string","description":"The edition of the node server. Possible values are `BurstableGeneralPurpose`, `BurstableMemoryOptimized`, `GeneralPurpose` and `MemoryOptimized`. Defaults to `MemoryOptimized`.\n"},"nodeStorageQuotaInMb":{"type":"integer","description":"The storage quota in MB on each worker node. Possible values are \u003cspan pulumi-lang-nodejs=\"`32768`\" pulumi-lang-dotnet=\"`32768`\" pulumi-lang-go=\"`32768`\" pulumi-lang-python=\"`32768`\" pulumi-lang-yaml=\"`32768`\" pulumi-lang-java=\"`32768`\"\u003e`32768`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`65536`\" pulumi-lang-dotnet=\"`65536`\" pulumi-lang-go=\"`65536`\" pulumi-lang-python=\"`65536`\" pulumi-lang-yaml=\"`65536`\" pulumi-lang-java=\"`65536`\"\u003e`65536`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`131072`\" pulumi-lang-dotnet=\"`131072`\" pulumi-lang-go=\"`131072`\" pulumi-lang-python=\"`131072`\" pulumi-lang-yaml=\"`131072`\" pulumi-lang-java=\"`131072`\"\u003e`131072`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`262144`\" pulumi-lang-dotnet=\"`262144`\" pulumi-lang-go=\"`262144`\" pulumi-lang-python=\"`262144`\" pulumi-lang-yaml=\"`262144`\" pulumi-lang-java=\"`262144`\"\u003e`262144`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`524288`\" pulumi-lang-dotnet=\"`524288`\" pulumi-lang-go=\"`524288`\" pulumi-lang-python=\"`524288`\" pulumi-lang-yaml=\"`524288`\" pulumi-lang-java=\"`524288`\"\u003e`524288`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`1048576`\" pulumi-lang-dotnet=\"`1048576`\" pulumi-lang-go=\"`1048576`\" pulumi-lang-python=\"`1048576`\" pulumi-lang-yaml=\"`1048576`\" pulumi-lang-java=\"`1048576`\"\u003e`1048576`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`2097152`\" pulumi-lang-dotnet=\"`2097152`\" pulumi-lang-go=\"`2097152`\" pulumi-lang-python=\"`2097152`\" pulumi-lang-yaml=\"`2097152`\" pulumi-lang-java=\"`2097152`\"\u003e`2097152`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`4194304`\" pulumi-lang-dotnet=\"`4194304`\" pulumi-lang-go=\"`4194304`\" pulumi-lang-python=\"`4194304`\" pulumi-lang-yaml=\"`4194304`\" pulumi-lang-java=\"`4194304`\"\u003e`4194304`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`8388608`\" pulumi-lang-dotnet=\"`8388608`\" pulumi-lang-go=\"`8388608`\" pulumi-lang-python=\"`8388608`\" pulumi-lang-yaml=\"`8388608`\" pulumi-lang-java=\"`8388608`\"\u003e`8388608`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`16777216`\" pulumi-lang-dotnet=\"`16777216`\" pulumi-lang-go=\"`16777216`\" pulumi-lang-python=\"`16777216`\" pulumi-lang-yaml=\"`16777216`\" pulumi-lang-java=\"`16777216`\"\u003e`16777216`\u003c/span\u003e.\n"},"nodeVcores":{"type":"integer","description":"The vCores count on each worker node. Possible values are \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`4`\" pulumi-lang-dotnet=\"`4`\" pulumi-lang-go=\"`4`\" pulumi-lang-python=\"`4`\" pulumi-lang-yaml=\"`4`\" pulumi-lang-java=\"`4`\"\u003e`4`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`8`\" pulumi-lang-dotnet=\"`8`\" pulumi-lang-go=\"`8`\" pulumi-lang-python=\"`8`\" pulumi-lang-yaml=\"`8`\" pulumi-lang-java=\"`8`\"\u003e`8`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`16`\" pulumi-lang-dotnet=\"`16`\" pulumi-lang-go=\"`16`\" pulumi-lang-python=\"`16`\" pulumi-lang-yaml=\"`16`\" pulumi-lang-java=\"`16`\"\u003e`16`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`32`\" pulumi-lang-dotnet=\"`32`\" pulumi-lang-go=\"`32`\" pulumi-lang-python=\"`32`\" pulumi-lang-yaml=\"`32`\" pulumi-lang-java=\"`32`\"\u003e`32`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`64`\" pulumi-lang-dotnet=\"`64`\" pulumi-lang-go=\"`64`\" pulumi-lang-python=\"`64`\" pulumi-lang-yaml=\"`64`\" pulumi-lang-java=\"`64`\"\u003e`64`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`96`\" pulumi-lang-dotnet=\"`96`\" pulumi-lang-go=\"`96`\" pulumi-lang-python=\"`96`\" pulumi-lang-yaml=\"`96`\" pulumi-lang-java=\"`96`\"\u003e`96`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`104`\" pulumi-lang-dotnet=\"`104`\" pulumi-lang-go=\"`104`\" pulumi-lang-python=\"`104`\" pulumi-lang-yaml=\"`104`\" pulumi-lang-java=\"`104`\"\u003e`104`\u003c/span\u003e.\n"},"pointInTimeInUtc":{"type":"string","description":"The date and time in UTC (ISO8601 format) for the Azure Cosmos DB for PostgreSQL cluster restore. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"preferredPrimaryZone":{"type":"string","description":"The preferred primary availability zone for the Azure Cosmos DB for PostgreSQL cluster.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Azure Cosmos DB for PostgreSQL Cluster should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"servers":{"type":"array","items":{"$ref":"#/types/azure:cosmosdb/PostgresqlClusterServer:PostgresqlClusterServer"},"description":"A \u003cspan pulumi-lang-nodejs=\"`servers`\" pulumi-lang-dotnet=\"`Servers`\" pulumi-lang-go=\"`servers`\" pulumi-lang-python=\"`servers`\" pulumi-lang-yaml=\"`servers`\" pulumi-lang-java=\"`servers`\"\u003e`servers`\u003c/span\u003e block as defined below.\n"},"shardsOnCoordinatorEnabled":{"type":"boolean","description":"Is shards on coordinator enabled for the Azure Cosmos DB for PostgreSQL cluster.\n"},"sourceLocation":{"type":"string","description":"The Azure region of the source Azure Cosmos DB for PostgreSQL cluster for read replica clusters. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sourceResourceId":{"type":"string","description":"The resource ID of the source Azure Cosmos DB for PostgreSQL cluster for read replica clusters. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sqlVersion":{"type":"string","description":"The major PostgreSQL version on the Azure Cosmos DB for PostgreSQL cluster. Possible values are \u003cspan pulumi-lang-nodejs=\"`11`\" pulumi-lang-dotnet=\"`11`\" pulumi-lang-go=\"`11`\" pulumi-lang-python=\"`11`\" pulumi-lang-yaml=\"`11`\" pulumi-lang-java=\"`11`\"\u003e`11`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`12`\" pulumi-lang-dotnet=\"`12`\" pulumi-lang-go=\"`12`\" pulumi-lang-python=\"`12`\" pulumi-lang-yaml=\"`12`\" pulumi-lang-java=\"`12`\"\u003e`12`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`13`\" pulumi-lang-dotnet=\"`13`\" pulumi-lang-go=\"`13`\" pulumi-lang-python=\"`13`\" pulumi-lang-yaml=\"`13`\" pulumi-lang-java=\"`13`\"\u003e`13`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`14`\" pulumi-lang-dotnet=\"`14`\" pulumi-lang-go=\"`14`\" pulumi-lang-python=\"`14`\" pulumi-lang-yaml=\"`14`\" pulumi-lang-java=\"`14`\"\u003e`14`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`15`\" pulumi-lang-dotnet=\"`15`\" pulumi-lang-go=\"`15`\" pulumi-lang-python=\"`15`\" pulumi-lang-yaml=\"`15`\" pulumi-lang-java=\"`15`\"\u003e`15`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`16`\" pulumi-lang-dotnet=\"`16`\" pulumi-lang-go=\"`16`\" pulumi-lang-python=\"`16`\" pulumi-lang-yaml=\"`16`\" pulumi-lang-java=\"`16`\"\u003e`16`\u003c/span\u003e.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Azure Cosmos DB for PostgreSQL Cluster.\n"}},"type":"object"}},"azure:cosmosdb/postgresqlCoordinatorConfiguration:PostgresqlCoordinatorConfiguration":{"description":"Sets a Coordinator Configuration value on Azure Cosmos DB for PostgreSQL Cluster.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst test = new azure.core.ResourceGroup(\"test\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst example = new azure.cosmosdb.PostgresqlCluster(\"example\", {\n    name: \"examplecluster\",\n    resourceGroupName: exampleAzurermResourceGroup.name,\n    location: exampleAzurermResourceGroup.location,\n    administratorLoginPassword: \"H@Sh1CoR3!\",\n    coordinatorStorageQuotaInMb: 131072,\n    coordinatorVcoreCount: 2,\n    nodeCount: 2,\n    nodeStorageQuotaInMb: 131072,\n    nodeVcores: 2,\n});\nconst examplePostgresqlCoordinatorConfiguration = new azure.cosmosdb.PostgresqlCoordinatorConfiguration(\"example\", {\n    name: \"array_nulls\",\n    clusterId: example.id,\n    value: \"on\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\ntest = azure.core.ResourceGroup(\"test\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample = azure.cosmosdb.PostgresqlCluster(\"example\",\n    name=\"examplecluster\",\n    resource_group_name=example_azurerm_resource_group[\"name\"],\n    location=example_azurerm_resource_group[\"location\"],\n    administrator_login_password=\"H@Sh1CoR3!\",\n    coordinator_storage_quota_in_mb=131072,\n    coordinator_vcore_count=2,\n    node_count=2,\n    node_storage_quota_in_mb=131072,\n    node_vcores=2)\nexample_postgresql_coordinator_configuration = azure.cosmosdb.PostgresqlCoordinatorConfiguration(\"example\",\n    name=\"array_nulls\",\n    cluster_id=example.id,\n    value=\"on\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var test = new Azure.Core.ResourceGroup(\"test\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var example = new Azure.CosmosDB.PostgresqlCluster(\"example\", new()\n    {\n        Name = \"examplecluster\",\n        ResourceGroupName = exampleAzurermResourceGroup.Name,\n        Location = exampleAzurermResourceGroup.Location,\n        AdministratorLoginPassword = \"H@Sh1CoR3!\",\n        CoordinatorStorageQuotaInMb = 131072,\n        CoordinatorVcoreCount = 2,\n        NodeCount = 2,\n        NodeStorageQuotaInMb = 131072,\n        NodeVcores = 2,\n    });\n\n    var examplePostgresqlCoordinatorConfiguration = new Azure.CosmosDB.PostgresqlCoordinatorConfiguration(\"example\", new()\n    {\n        Name = \"array_nulls\",\n        ClusterId = example.Id,\n        Value = \"on\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/cosmosdb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := core.NewResourceGroup(ctx, \"test\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := cosmosdb.NewPostgresqlCluster(ctx, \"example\", \u0026cosmosdb.PostgresqlClusterArgs{\n\t\t\tName:                        pulumi.String(\"examplecluster\"),\n\t\t\tResourceGroupName:           pulumi.Any(exampleAzurermResourceGroup.Name),\n\t\t\tLocation:                    pulumi.Any(exampleAzurermResourceGroup.Location),\n\t\t\tAdministratorLoginPassword:  pulumi.String(\"H@Sh1CoR3!\"),\n\t\t\tCoordinatorStorageQuotaInMb: pulumi.Int(131072),\n\t\t\tCoordinatorVcoreCount:       pulumi.Int(2),\n\t\t\tNodeCount:                   pulumi.Int(2),\n\t\t\tNodeStorageQuotaInMb:        pulumi.Int(131072),\n\t\t\tNodeVcores:                  pulumi.Int(2),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cosmosdb.NewPostgresqlCoordinatorConfiguration(ctx, \"example\", \u0026cosmosdb.PostgresqlCoordinatorConfigurationArgs{\n\t\t\tName:      pulumi.String(\"array_nulls\"),\n\t\t\tClusterId: example.ID(),\n\t\t\tValue:     pulumi.String(\"on\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.cosmosdb.PostgresqlCluster;\nimport com.pulumi.azure.cosmosdb.PostgresqlClusterArgs;\nimport com.pulumi.azure.cosmosdb.PostgresqlCoordinatorConfiguration;\nimport com.pulumi.azure.cosmosdb.PostgresqlCoordinatorConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var test = new ResourceGroup(\"test\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var example = new PostgresqlCluster(\"example\", PostgresqlClusterArgs.builder()\n            .name(\"examplecluster\")\n            .resourceGroupName(exampleAzurermResourceGroup.name())\n            .location(exampleAzurermResourceGroup.location())\n            .administratorLoginPassword(\"H@Sh1CoR3!\")\n            .coordinatorStorageQuotaInMb(131072)\n            .coordinatorVcoreCount(2)\n            .nodeCount(2)\n            .nodeStorageQuotaInMb(131072)\n            .nodeVcores(2)\n            .build());\n\n        var examplePostgresqlCoordinatorConfiguration = new PostgresqlCoordinatorConfiguration(\"examplePostgresqlCoordinatorConfiguration\", PostgresqlCoordinatorConfigurationArgs.builder()\n            .name(\"array_nulls\")\n            .clusterId(example.id())\n            .value(\"on\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  test:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  example:\n    type: azure:cosmosdb:PostgresqlCluster\n    properties:\n      name: examplecluster\n      resourceGroupName: ${exampleAzurermResourceGroup.name}\n      location: ${exampleAzurermResourceGroup.location}\n      administratorLoginPassword: H@Sh1CoR3!\n      coordinatorStorageQuotaInMb: 131072\n      coordinatorVcoreCount: 2\n      nodeCount: 2\n      nodeStorageQuotaInMb: 131072\n      nodeVcores: 2\n  examplePostgresqlCoordinatorConfiguration:\n    type: azure:cosmosdb:PostgresqlCoordinatorConfiguration\n    name: example\n    properties:\n      name: array_nulls\n      clusterId: ${example.id}\n      value: on\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.DBforPostgreSQL` - 2022-11-08\n\n## Import\n\nCoordinator Configurations on Azure Cosmos DB for PostgreSQL Clusters can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:cosmosdb/postgresqlCoordinatorConfiguration:PostgresqlCoordinatorConfiguration example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.DBforPostgreSQL/serverGroupsv2/cluster1/coordinatorConfigurations/array_nulls\n```\n\n","properties":{"clusterId":{"type":"string","description":"The resource ID of the Azure Cosmos DB for PostgreSQL Cluster where we want to change configuration. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"The name of the Coordinator Configuration on Azure Cosmos DB for PostgreSQL Cluster. Changing this forces a new resource to be created.\n"},"value":{"type":"string","description":"The value of the Coordinator Configuration on Azure Cosmos DB for PostgreSQL Cluster.\n"}},"required":["clusterId","name","value"],"inputProperties":{"clusterId":{"type":"string","description":"The resource ID of the Azure Cosmos DB for PostgreSQL Cluster where we want to change configuration. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the Coordinator Configuration on Azure Cosmos DB for PostgreSQL Cluster. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"value":{"type":"string","description":"The value of the Coordinator Configuration on Azure Cosmos DB for PostgreSQL Cluster.\n"}},"requiredInputs":["clusterId","value"],"stateInputs":{"description":"Input properties used for looking up and filtering PostgresqlCoordinatorConfiguration resources.\n","properties":{"clusterId":{"type":"string","description":"The resource ID of the Azure Cosmos DB for PostgreSQL Cluster where we want to change configuration. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the Coordinator Configuration on Azure Cosmos DB for PostgreSQL Cluster. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"value":{"type":"string","description":"The value of the Coordinator Configuration on Azure Cosmos DB for PostgreSQL Cluster.\n"}},"type":"object"}},"azure:cosmosdb/postgresqlFirewallRule:PostgresqlFirewallRule":{"description":"Manages an Azure Cosmos DB for PostgreSQL Firewall Rule.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst examplePostgresqlCluster = new azure.cosmosdb.PostgresqlCluster(\"example\", {\n    name: \"examplecluster\",\n    resourceGroupName: example.name,\n    location: example.location,\n    administratorLoginPassword: \"H@Sh1CoR3!\",\n    coordinatorStorageQuotaInMb: 131072,\n    coordinatorVcoreCount: 2,\n    nodeCount: 0,\n});\nconst examplePostgresqlFirewallRule = new azure.cosmosdb.PostgresqlFirewallRule(\"example\", {\n    name: \"example-firewallrule\",\n    clusterId: examplePostgresqlCluster.id,\n    startIpAddress: \"10.0.17.62\",\n    endIpAddress: \"10.0.17.64\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_postgresql_cluster = azure.cosmosdb.PostgresqlCluster(\"example\",\n    name=\"examplecluster\",\n    resource_group_name=example.name,\n    location=example.location,\n    administrator_login_password=\"H@Sh1CoR3!\",\n    coordinator_storage_quota_in_mb=131072,\n    coordinator_vcore_count=2,\n    node_count=0)\nexample_postgresql_firewall_rule = azure.cosmosdb.PostgresqlFirewallRule(\"example\",\n    name=\"example-firewallrule\",\n    cluster_id=example_postgresql_cluster.id,\n    start_ip_address=\"10.0.17.62\",\n    end_ip_address=\"10.0.17.64\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var examplePostgresqlCluster = new Azure.CosmosDB.PostgresqlCluster(\"example\", new()\n    {\n        Name = \"examplecluster\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        AdministratorLoginPassword = \"H@Sh1CoR3!\",\n        CoordinatorStorageQuotaInMb = 131072,\n        CoordinatorVcoreCount = 2,\n        NodeCount = 0,\n    });\n\n    var examplePostgresqlFirewallRule = new Azure.CosmosDB.PostgresqlFirewallRule(\"example\", new()\n    {\n        Name = \"example-firewallrule\",\n        ClusterId = examplePostgresqlCluster.Id,\n        StartIpAddress = \"10.0.17.62\",\n        EndIpAddress = \"10.0.17.64\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/cosmosdb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texamplePostgresqlCluster, err := cosmosdb.NewPostgresqlCluster(ctx, \"example\", \u0026cosmosdb.PostgresqlClusterArgs{\n\t\t\tName:                        pulumi.String(\"examplecluster\"),\n\t\t\tResourceGroupName:           example.Name,\n\t\t\tLocation:                    example.Location,\n\t\t\tAdministratorLoginPassword:  pulumi.String(\"H@Sh1CoR3!\"),\n\t\t\tCoordinatorStorageQuotaInMb: pulumi.Int(131072),\n\t\t\tCoordinatorVcoreCount:       pulumi.Int(2),\n\t\t\tNodeCount:                   pulumi.Int(0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cosmosdb.NewPostgresqlFirewallRule(ctx, \"example\", \u0026cosmosdb.PostgresqlFirewallRuleArgs{\n\t\t\tName:           pulumi.String(\"example-firewallrule\"),\n\t\t\tClusterId:      examplePostgresqlCluster.ID(),\n\t\t\tStartIpAddress: pulumi.String(\"10.0.17.62\"),\n\t\t\tEndIpAddress:   pulumi.String(\"10.0.17.64\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.cosmosdb.PostgresqlCluster;\nimport com.pulumi.azure.cosmosdb.PostgresqlClusterArgs;\nimport com.pulumi.azure.cosmosdb.PostgresqlFirewallRule;\nimport com.pulumi.azure.cosmosdb.PostgresqlFirewallRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var examplePostgresqlCluster = new PostgresqlCluster(\"examplePostgresqlCluster\", PostgresqlClusterArgs.builder()\n            .name(\"examplecluster\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .administratorLoginPassword(\"H@Sh1CoR3!\")\n            .coordinatorStorageQuotaInMb(131072)\n            .coordinatorVcoreCount(2)\n            .nodeCount(0)\n            .build());\n\n        var examplePostgresqlFirewallRule = new PostgresqlFirewallRule(\"examplePostgresqlFirewallRule\", PostgresqlFirewallRuleArgs.builder()\n            .name(\"example-firewallrule\")\n            .clusterId(examplePostgresqlCluster.id())\n            .startIpAddress(\"10.0.17.62\")\n            .endIpAddress(\"10.0.17.64\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  examplePostgresqlCluster:\n    type: azure:cosmosdb:PostgresqlCluster\n    name: example\n    properties:\n      name: examplecluster\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      administratorLoginPassword: H@Sh1CoR3!\n      coordinatorStorageQuotaInMb: 131072\n      coordinatorVcoreCount: 2\n      nodeCount: 0\n  examplePostgresqlFirewallRule:\n    type: azure:cosmosdb:PostgresqlFirewallRule\n    name: example\n    properties:\n      name: example-firewallrule\n      clusterId: ${examplePostgresqlCluster.id}\n      startIpAddress: 10.0.17.62\n      endIpAddress: 10.0.17.64\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.DBforPostgreSQL` - 2022-11-08\n\n## Import\n\nAzure Cosmos DB for PostgreSQL Firewall Rules can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:cosmosdb/postgresqlFirewallRule:PostgresqlFirewallRule example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup1/providers/Microsoft.DBforPostgreSQL/serverGroupsv2/cluster1/firewallRules/firewallRule1\n```\n\n","properties":{"clusterId":{"type":"string","description":"The resource ID of the Azure Cosmos DB for PostgreSQL Cluster. Changing this forces a new resource to be created.\n"},"endIpAddress":{"type":"string","description":"The end IP address of the Azure Cosmos DB for PostgreSQL Firewall Rule.\n"},"name":{"type":"string","description":"The name which should be used for the Azure Cosmos DB for PostgreSQL Firewall Rule. Changing this forces a new resource to be created.\n"},"startIpAddress":{"type":"string","description":"The start IP address of the Azure Cosmos DB for PostgreSQL Firewall Rule.\n"}},"required":["clusterId","endIpAddress","name","startIpAddress"],"inputProperties":{"clusterId":{"type":"string","description":"The resource ID of the Azure Cosmos DB for PostgreSQL Cluster. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"endIpAddress":{"type":"string","description":"The end IP address of the Azure Cosmos DB for PostgreSQL Firewall Rule.\n"},"name":{"type":"string","description":"The name which should be used for the Azure Cosmos DB for PostgreSQL Firewall Rule. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"startIpAddress":{"type":"string","description":"The start IP address of the Azure Cosmos DB for PostgreSQL Firewall Rule.\n"}},"requiredInputs":["clusterId","endIpAddress","startIpAddress"],"stateInputs":{"description":"Input properties used for looking up and filtering PostgresqlFirewallRule resources.\n","properties":{"clusterId":{"type":"string","description":"The resource ID of the Azure Cosmos DB for PostgreSQL Cluster. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"endIpAddress":{"type":"string","description":"The end IP address of the Azure Cosmos DB for PostgreSQL Firewall Rule.\n"},"name":{"type":"string","description":"The name which should be used for the Azure Cosmos DB for PostgreSQL Firewall Rule. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"startIpAddress":{"type":"string","description":"The start IP address of the Azure Cosmos DB for PostgreSQL Firewall Rule.\n"}},"type":"object"}},"azure:cosmosdb/postgresqlNodeConfiguration:PostgresqlNodeConfiguration":{"description":"Sets a Node Configuration value on Azure Cosmos DB for PostgreSQL Cluster.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst examplePostgresqlCluster = new azure.cosmosdb.PostgresqlCluster(\"example\", {\n    name: \"examplecluster\",\n    resourceGroupName: example.name,\n    location: example.location,\n    administratorLoginPassword: \"H@Sh1CoR3!\",\n    coordinatorStorageQuotaInMb: 131072,\n    coordinatorVcoreCount: 2,\n    nodeCount: 2,\n    nodeStorageQuotaInMb: 131072,\n    nodeVcores: 2,\n});\nconst examplePostgresqlNodeConfiguration = new azure.cosmosdb.PostgresqlNodeConfiguration(\"example\", {\n    name: \"array_nulls\",\n    clusterId: examplePostgresqlCluster.id,\n    value: \"on\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_postgresql_cluster = azure.cosmosdb.PostgresqlCluster(\"example\",\n    name=\"examplecluster\",\n    resource_group_name=example.name,\n    location=example.location,\n    administrator_login_password=\"H@Sh1CoR3!\",\n    coordinator_storage_quota_in_mb=131072,\n    coordinator_vcore_count=2,\n    node_count=2,\n    node_storage_quota_in_mb=131072,\n    node_vcores=2)\nexample_postgresql_node_configuration = azure.cosmosdb.PostgresqlNodeConfiguration(\"example\",\n    name=\"array_nulls\",\n    cluster_id=example_postgresql_cluster.id,\n    value=\"on\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var examplePostgresqlCluster = new Azure.CosmosDB.PostgresqlCluster(\"example\", new()\n    {\n        Name = \"examplecluster\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        AdministratorLoginPassword = \"H@Sh1CoR3!\",\n        CoordinatorStorageQuotaInMb = 131072,\n        CoordinatorVcoreCount = 2,\n        NodeCount = 2,\n        NodeStorageQuotaInMb = 131072,\n        NodeVcores = 2,\n    });\n\n    var examplePostgresqlNodeConfiguration = new Azure.CosmosDB.PostgresqlNodeConfiguration(\"example\", new()\n    {\n        Name = \"array_nulls\",\n        ClusterId = examplePostgresqlCluster.Id,\n        Value = \"on\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/cosmosdb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texamplePostgresqlCluster, err := cosmosdb.NewPostgresqlCluster(ctx, \"example\", \u0026cosmosdb.PostgresqlClusterArgs{\n\t\t\tName:                        pulumi.String(\"examplecluster\"),\n\t\t\tResourceGroupName:           example.Name,\n\t\t\tLocation:                    example.Location,\n\t\t\tAdministratorLoginPassword:  pulumi.String(\"H@Sh1CoR3!\"),\n\t\t\tCoordinatorStorageQuotaInMb: pulumi.Int(131072),\n\t\t\tCoordinatorVcoreCount:       pulumi.Int(2),\n\t\t\tNodeCount:                   pulumi.Int(2),\n\t\t\tNodeStorageQuotaInMb:        pulumi.Int(131072),\n\t\t\tNodeVcores:                  pulumi.Int(2),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cosmosdb.NewPostgresqlNodeConfiguration(ctx, \"example\", \u0026cosmosdb.PostgresqlNodeConfigurationArgs{\n\t\t\tName:      pulumi.String(\"array_nulls\"),\n\t\t\tClusterId: examplePostgresqlCluster.ID(),\n\t\t\tValue:     pulumi.String(\"on\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.cosmosdb.PostgresqlCluster;\nimport com.pulumi.azure.cosmosdb.PostgresqlClusterArgs;\nimport com.pulumi.azure.cosmosdb.PostgresqlNodeConfiguration;\nimport com.pulumi.azure.cosmosdb.PostgresqlNodeConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var examplePostgresqlCluster = new PostgresqlCluster(\"examplePostgresqlCluster\", PostgresqlClusterArgs.builder()\n            .name(\"examplecluster\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .administratorLoginPassword(\"H@Sh1CoR3!\")\n            .coordinatorStorageQuotaInMb(131072)\n            .coordinatorVcoreCount(2)\n            .nodeCount(2)\n            .nodeStorageQuotaInMb(131072)\n            .nodeVcores(2)\n            .build());\n\n        var examplePostgresqlNodeConfiguration = new PostgresqlNodeConfiguration(\"examplePostgresqlNodeConfiguration\", PostgresqlNodeConfigurationArgs.builder()\n            .name(\"array_nulls\")\n            .clusterId(examplePostgresqlCluster.id())\n            .value(\"on\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  examplePostgresqlCluster:\n    type: azure:cosmosdb:PostgresqlCluster\n    name: example\n    properties:\n      name: examplecluster\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      administratorLoginPassword: H@Sh1CoR3!\n      coordinatorStorageQuotaInMb: 131072\n      coordinatorVcoreCount: 2\n      nodeCount: 2\n      nodeStorageQuotaInMb: 131072\n      nodeVcores: 2\n  examplePostgresqlNodeConfiguration:\n    type: azure:cosmosdb:PostgresqlNodeConfiguration\n    name: example\n    properties:\n      name: array_nulls\n      clusterId: ${examplePostgresqlCluster.id}\n      value: on\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.DBforPostgreSQL` - 2022-11-08\n\n## Import\n\nNode Configurations on Azure Cosmos DB for PostgreSQL Clusters can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:cosmosdb/postgresqlNodeConfiguration:PostgresqlNodeConfiguration example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.DBforPostgreSQL/serverGroupsv2/cluster1/nodeConfigurations/array_nulls\n```\n\n","properties":{"clusterId":{"type":"string","description":"The resource ID of the Azure Cosmos DB for PostgreSQL Cluster where we want to change configuration. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"The name of the Node Configuration on Azure Cosmos DB for PostgreSQL Cluster. Changing this forces a new resource to be created.\n"},"value":{"type":"string","description":"The value of the Node Configuration on Azure Cosmos DB for PostgreSQL Cluster.\n"}},"required":["clusterId","name","value"],"inputProperties":{"clusterId":{"type":"string","description":"The resource ID of the Azure Cosmos DB for PostgreSQL Cluster where we want to change configuration. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the Node Configuration on Azure Cosmos DB for PostgreSQL Cluster. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"value":{"type":"string","description":"The value of the Node Configuration on Azure Cosmos DB for PostgreSQL Cluster.\n"}},"requiredInputs":["clusterId","value"],"stateInputs":{"description":"Input properties used for looking up and filtering PostgresqlNodeConfiguration resources.\n","properties":{"clusterId":{"type":"string","description":"The resource ID of the Azure Cosmos DB for PostgreSQL Cluster where we want to change configuration. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the Node Configuration on Azure Cosmos DB for PostgreSQL Cluster. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"value":{"type":"string","description":"The value of the Node Configuration on Azure Cosmos DB for PostgreSQL Cluster.\n"}},"type":"object"}},"azure:cosmosdb/postgresqlRole:PostgresqlRole":{"description":"Manages an Azure Cosmos DB for PostgreSQL Role.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst examplePostgresqlCluster = new azure.cosmosdb.PostgresqlCluster(\"example\", {\n    name: \"examplecluster\",\n    resourceGroupName: example.name,\n    location: example.location,\n    administratorLoginPassword: \"H@Sh1CoR3!\",\n    coordinatorStorageQuotaInMb: 131072,\n    coordinatorVcoreCount: 2,\n    nodeCount: 0,\n});\nconst examplePostgresqlRole = new azure.cosmosdb.PostgresqlRole(\"example\", {\n    name: \"examplerole\",\n    clusterId: examplePostgresqlCluster.id,\n    password: \"H@Sh1CoR3!\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_postgresql_cluster = azure.cosmosdb.PostgresqlCluster(\"example\",\n    name=\"examplecluster\",\n    resource_group_name=example.name,\n    location=example.location,\n    administrator_login_password=\"H@Sh1CoR3!\",\n    coordinator_storage_quota_in_mb=131072,\n    coordinator_vcore_count=2,\n    node_count=0)\nexample_postgresql_role = azure.cosmosdb.PostgresqlRole(\"example\",\n    name=\"examplerole\",\n    cluster_id=example_postgresql_cluster.id,\n    password=\"H@Sh1CoR3!\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var examplePostgresqlCluster = new Azure.CosmosDB.PostgresqlCluster(\"example\", new()\n    {\n        Name = \"examplecluster\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        AdministratorLoginPassword = \"H@Sh1CoR3!\",\n        CoordinatorStorageQuotaInMb = 131072,\n        CoordinatorVcoreCount = 2,\n        NodeCount = 0,\n    });\n\n    var examplePostgresqlRole = new Azure.CosmosDB.PostgresqlRole(\"example\", new()\n    {\n        Name = \"examplerole\",\n        ClusterId = examplePostgresqlCluster.Id,\n        Password = \"H@Sh1CoR3!\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/cosmosdb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texamplePostgresqlCluster, err := cosmosdb.NewPostgresqlCluster(ctx, \"example\", \u0026cosmosdb.PostgresqlClusterArgs{\n\t\t\tName:                        pulumi.String(\"examplecluster\"),\n\t\t\tResourceGroupName:           example.Name,\n\t\t\tLocation:                    example.Location,\n\t\t\tAdministratorLoginPassword:  pulumi.String(\"H@Sh1CoR3!\"),\n\t\t\tCoordinatorStorageQuotaInMb: pulumi.Int(131072),\n\t\t\tCoordinatorVcoreCount:       pulumi.Int(2),\n\t\t\tNodeCount:                   pulumi.Int(0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cosmosdb.NewPostgresqlRole(ctx, \"example\", \u0026cosmosdb.PostgresqlRoleArgs{\n\t\t\tName:      pulumi.String(\"examplerole\"),\n\t\t\tClusterId: examplePostgresqlCluster.ID(),\n\t\t\tPassword:  pulumi.String(\"H@Sh1CoR3!\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.cosmosdb.PostgresqlCluster;\nimport com.pulumi.azure.cosmosdb.PostgresqlClusterArgs;\nimport com.pulumi.azure.cosmosdb.PostgresqlRole;\nimport com.pulumi.azure.cosmosdb.PostgresqlRoleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var examplePostgresqlCluster = new PostgresqlCluster(\"examplePostgresqlCluster\", PostgresqlClusterArgs.builder()\n            .name(\"examplecluster\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .administratorLoginPassword(\"H@Sh1CoR3!\")\n            .coordinatorStorageQuotaInMb(131072)\n            .coordinatorVcoreCount(2)\n            .nodeCount(0)\n            .build());\n\n        var examplePostgresqlRole = new PostgresqlRole(\"examplePostgresqlRole\", PostgresqlRoleArgs.builder()\n            .name(\"examplerole\")\n            .clusterId(examplePostgresqlCluster.id())\n            .password(\"H@Sh1CoR3!\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  examplePostgresqlCluster:\n    type: azure:cosmosdb:PostgresqlCluster\n    name: example\n    properties:\n      name: examplecluster\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      administratorLoginPassword: H@Sh1CoR3!\n      coordinatorStorageQuotaInMb: 131072\n      coordinatorVcoreCount: 2\n      nodeCount: 0\n  examplePostgresqlRole:\n    type: azure:cosmosdb:PostgresqlRole\n    name: example\n    properties:\n      name: examplerole\n      clusterId: ${examplePostgresqlCluster.id}\n      password: H@Sh1CoR3!\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.DBforPostgreSQL` - 2022-11-08\n\n## Import\n\nAzure Cosmos DB for PostgreSQL Roles can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:cosmosdb/postgresqlRole:PostgresqlRole example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup1/providers/Microsoft.DBforPostgreSQL/serverGroupsv2/cluster1/roles/role1\n```\n\n","properties":{"clusterId":{"type":"string","description":"The resource ID of the Azure Cosmos DB for PostgreSQL Cluster. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"The name which should be used for this Azure Cosmos DB for PostgreSQL Role. Changing this forces a new resource to be created.\n"},"password":{"type":"string","description":"The password of the Azure Cosmos DB for PostgreSQL Role. Changing this forces a new resource to be created.\n","secret":true}},"required":["clusterId","name","password"],"inputProperties":{"clusterId":{"type":"string","description":"The resource ID of the Azure Cosmos DB for PostgreSQL Cluster. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Azure Cosmos DB for PostgreSQL Role. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"password":{"type":"string","description":"The password of the Azure Cosmos DB for PostgreSQL Role. Changing this forces a new resource to be created.\n","secret":true,"willReplaceOnChanges":true}},"requiredInputs":["clusterId","password"],"stateInputs":{"description":"Input properties used for looking up and filtering PostgresqlRole resources.\n","properties":{"clusterId":{"type":"string","description":"The resource ID of the Azure Cosmos DB for PostgreSQL Cluster. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Azure Cosmos DB for PostgreSQL Role. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"password":{"type":"string","description":"The password of the Azure Cosmos DB for PostgreSQL Role. Changing this forces a new resource to be created.\n","secret":true,"willReplaceOnChanges":true}},"type":"object"}},"azure:cosmosdb/sqlContainer:SqlContainer":{"description":"Manages a SQL Container within a Cosmos DB Account.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.cosmosdb.getAccount({\n    name: \"tfex-cosmosdb-account\",\n    resourceGroupName: \"tfex-cosmosdb-account-rg\",\n});\nconst exampleSqlDatabase = new azure.cosmosdb.SqlDatabase(\"example\", {\n    name: \"example-acsd\",\n    resourceGroupName: example.then(example =\u003e example.resourceGroupName),\n    accountName: example.then(example =\u003e example.name),\n});\nconst exampleSqlContainer = new azure.cosmosdb.SqlContainer(\"example\", {\n    name: \"example-container\",\n    resourceGroupName: example.then(example =\u003e example.resourceGroupName),\n    accountName: example.then(example =\u003e example.name),\n    databaseName: exampleSqlDatabase.name,\n    partitionKeyPaths: [\"/definition/id\"],\n    partitionKeyVersion: 1,\n    throughput: 400,\n    indexingPolicy: {\n        indexingMode: \"consistent\",\n        includedPaths: [\n            {\n                path: \"/*\",\n            },\n            {\n                path: \"/included/?\",\n            },\n        ],\n        excludedPaths: [{\n            path: \"/excluded/?\",\n        }],\n    },\n    uniqueKeys: [{\n        paths: [\n            \"/definition/idlong\",\n            \"/definition/idshort\",\n        ],\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.cosmosdb.get_account(name=\"tfex-cosmosdb-account\",\n    resource_group_name=\"tfex-cosmosdb-account-rg\")\nexample_sql_database = azure.cosmosdb.SqlDatabase(\"example\",\n    name=\"example-acsd\",\n    resource_group_name=example.resource_group_name,\n    account_name=example.name)\nexample_sql_container = azure.cosmosdb.SqlContainer(\"example\",\n    name=\"example-container\",\n    resource_group_name=example.resource_group_name,\n    account_name=example.name,\n    database_name=example_sql_database.name,\n    partition_key_paths=[\"/definition/id\"],\n    partition_key_version=1,\n    throughput=400,\n    indexing_policy={\n        \"indexing_mode\": \"consistent\",\n        \"included_paths\": [\n            {\n                \"path\": \"/*\",\n            },\n            {\n                \"path\": \"/included/?\",\n            },\n        ],\n        \"excluded_paths\": [{\n            \"path\": \"/excluded/?\",\n        }],\n    },\n    unique_keys=[{\n        \"paths\": [\n            \"/definition/idlong\",\n            \"/definition/idshort\",\n        ],\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.CosmosDB.GetAccount.Invoke(new()\n    {\n        Name = \"tfex-cosmosdb-account\",\n        ResourceGroupName = \"tfex-cosmosdb-account-rg\",\n    });\n\n    var exampleSqlDatabase = new Azure.CosmosDB.SqlDatabase(\"example\", new()\n    {\n        Name = \"example-acsd\",\n        ResourceGroupName = example.Apply(getAccountResult =\u003e getAccountResult.ResourceGroupName),\n        AccountName = example.Apply(getAccountResult =\u003e getAccountResult.Name),\n    });\n\n    var exampleSqlContainer = new Azure.CosmosDB.SqlContainer(\"example\", new()\n    {\n        Name = \"example-container\",\n        ResourceGroupName = example.Apply(getAccountResult =\u003e getAccountResult.ResourceGroupName),\n        AccountName = example.Apply(getAccountResult =\u003e getAccountResult.Name),\n        DatabaseName = exampleSqlDatabase.Name,\n        PartitionKeyPaths = new[]\n        {\n            \"/definition/id\",\n        },\n        PartitionKeyVersion = 1,\n        Throughput = 400,\n        IndexingPolicy = new Azure.CosmosDB.Inputs.SqlContainerIndexingPolicyArgs\n        {\n            IndexingMode = \"consistent\",\n            IncludedPaths = new[]\n            {\n                new Azure.CosmosDB.Inputs.SqlContainerIndexingPolicyIncludedPathArgs\n                {\n                    Path = \"/*\",\n                },\n                new Azure.CosmosDB.Inputs.SqlContainerIndexingPolicyIncludedPathArgs\n                {\n                    Path = \"/included/?\",\n                },\n            },\n            ExcludedPaths = new[]\n            {\n                new Azure.CosmosDB.Inputs.SqlContainerIndexingPolicyExcludedPathArgs\n                {\n                    Path = \"/excluded/?\",\n                },\n            },\n        },\n        UniqueKeys = new[]\n        {\n            new Azure.CosmosDB.Inputs.SqlContainerUniqueKeyArgs\n            {\n                Paths = new[]\n                {\n                    \"/definition/idlong\",\n                    \"/definition/idshort\",\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/cosmosdb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := cosmosdb.LookupAccount(ctx, \u0026cosmosdb.LookupAccountArgs{\n\t\t\tName:              \"tfex-cosmosdb-account\",\n\t\t\tResourceGroupName: \"tfex-cosmosdb-account-rg\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSqlDatabase, err := cosmosdb.NewSqlDatabase(ctx, \"example\", \u0026cosmosdb.SqlDatabaseArgs{\n\t\t\tName:              pulumi.String(\"example-acsd\"),\n\t\t\tResourceGroupName: pulumi.String(example.ResourceGroupName),\n\t\t\tAccountName:       pulumi.String(example.Name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cosmosdb.NewSqlContainer(ctx, \"example\", \u0026cosmosdb.SqlContainerArgs{\n\t\t\tName:              pulumi.String(\"example-container\"),\n\t\t\tResourceGroupName: pulumi.String(example.ResourceGroupName),\n\t\t\tAccountName:       pulumi.String(example.Name),\n\t\t\tDatabaseName:      exampleSqlDatabase.Name,\n\t\t\tPartitionKeyPaths: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"/definition/id\"),\n\t\t\t},\n\t\t\tPartitionKeyVersion: pulumi.Int(1),\n\t\t\tThroughput:          pulumi.Int(400),\n\t\t\tIndexingPolicy: \u0026cosmosdb.SqlContainerIndexingPolicyArgs{\n\t\t\t\tIndexingMode: pulumi.String(\"consistent\"),\n\t\t\t\tIncludedPaths: cosmosdb.SqlContainerIndexingPolicyIncludedPathArray{\n\t\t\t\t\t\u0026cosmosdb.SqlContainerIndexingPolicyIncludedPathArgs{\n\t\t\t\t\t\tPath: pulumi.String(\"/*\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026cosmosdb.SqlContainerIndexingPolicyIncludedPathArgs{\n\t\t\t\t\t\tPath: pulumi.String(\"/included/?\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tExcludedPaths: cosmosdb.SqlContainerIndexingPolicyExcludedPathArray{\n\t\t\t\t\t\u0026cosmosdb.SqlContainerIndexingPolicyExcludedPathArgs{\n\t\t\t\t\t\tPath: pulumi.String(\"/excluded/?\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tUniqueKeys: cosmosdb.SqlContainerUniqueKeyArray{\n\t\t\t\t\u0026cosmosdb.SqlContainerUniqueKeyArgs{\n\t\t\t\t\tPaths: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"/definition/idlong\"),\n\t\t\t\t\t\tpulumi.String(\"/definition/idshort\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.cosmosdb.CosmosdbFunctions;\nimport com.pulumi.azure.cosmosdb.inputs.GetAccountArgs;\nimport com.pulumi.azure.cosmosdb.SqlDatabase;\nimport com.pulumi.azure.cosmosdb.SqlDatabaseArgs;\nimport com.pulumi.azure.cosmosdb.SqlContainer;\nimport com.pulumi.azure.cosmosdb.SqlContainerArgs;\nimport com.pulumi.azure.cosmosdb.inputs.SqlContainerIndexingPolicyArgs;\nimport com.pulumi.azure.cosmosdb.inputs.SqlContainerUniqueKeyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = CosmosdbFunctions.getAccount(GetAccountArgs.builder()\n            .name(\"tfex-cosmosdb-account\")\n            .resourceGroupName(\"tfex-cosmosdb-account-rg\")\n            .build());\n\n        var exampleSqlDatabase = new SqlDatabase(\"exampleSqlDatabase\", SqlDatabaseArgs.builder()\n            .name(\"example-acsd\")\n            .resourceGroupName(example.resourceGroupName())\n            .accountName(example.name())\n            .build());\n\n        var exampleSqlContainer = new SqlContainer(\"exampleSqlContainer\", SqlContainerArgs.builder()\n            .name(\"example-container\")\n            .resourceGroupName(example.resourceGroupName())\n            .accountName(example.name())\n            .databaseName(exampleSqlDatabase.name())\n            .partitionKeyPaths(\"/definition/id\")\n            .partitionKeyVersion(1)\n            .throughput(400)\n            .indexingPolicy(SqlContainerIndexingPolicyArgs.builder()\n                .indexingMode(\"consistent\")\n                .includedPaths(                \n                    SqlContainerIndexingPolicyIncludedPathArgs.builder()\n                        .path(\"/*\")\n                        .build(),\n                    SqlContainerIndexingPolicyIncludedPathArgs.builder()\n                        .path(\"/included/?\")\n                        .build())\n                .excludedPaths(SqlContainerIndexingPolicyExcludedPathArgs.builder()\n                    .path(\"/excluded/?\")\n                    .build())\n                .build())\n            .uniqueKeys(SqlContainerUniqueKeyArgs.builder()\n                .paths(                \n                    \"/definition/idlong\",\n                    \"/definition/idshort\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleSqlDatabase:\n    type: azure:cosmosdb:SqlDatabase\n    name: example\n    properties:\n      name: example-acsd\n      resourceGroupName: ${example.resourceGroupName}\n      accountName: ${example.name}\n  exampleSqlContainer:\n    type: azure:cosmosdb:SqlContainer\n    name: example\n    properties:\n      name: example-container\n      resourceGroupName: ${example.resourceGroupName}\n      accountName: ${example.name}\n      databaseName: ${exampleSqlDatabase.name}\n      partitionKeyPaths:\n        - /definition/id\n      partitionKeyVersion: 1\n      throughput: 400\n      indexingPolicy:\n        indexingMode: consistent\n        includedPaths:\n          - path: /*\n          - path: /included/?\n        excludedPaths:\n          - path: /excluded/?\n      uniqueKeys:\n        - paths:\n            - /definition/idlong\n            - /definition/idshort\nvariables:\n  example:\n    fn::invoke:\n      function: azure:cosmosdb:getAccount\n      arguments:\n        name: tfex-cosmosdb-account\n        resourceGroupName: tfex-cosmosdb-account-rg\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.DocumentDB` - 2024-08-15\n\n## Import\n\nCosmos SQL Containers can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:cosmosdb/sqlContainer:SqlContainer example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.DocumentDB/databaseAccounts/account1/sqlDatabases/database1/containers/container1\n```\n\n","properties":{"accountName":{"type":"string","description":"The name of the Cosmos DB Account to create the container within. Changing this forces a new resource to be created.\n"},"analyticalStorageTtl":{"type":"integer","description":"The default time to live of Analytical Storage for this SQL container. If present and the value is set to `-1`, it is equal to infinity, and items don’t expire by default. If present and the value is set to some number \u003cspan pulumi-lang-nodejs=\"`n`\" pulumi-lang-dotnet=\"`N`\" pulumi-lang-go=\"`n`\" pulumi-lang-python=\"`n`\" pulumi-lang-yaml=\"`n`\" pulumi-lang-java=\"`n`\"\u003e`n`\u003c/span\u003e – items will expire \u003cspan pulumi-lang-nodejs=\"`n`\" pulumi-lang-dotnet=\"`N`\" pulumi-lang-go=\"`n`\" pulumi-lang-python=\"`n`\" pulumi-lang-yaml=\"`n`\" pulumi-lang-java=\"`n`\"\u003e`n`\u003c/span\u003e seconds after their last modified time.\n"},"autoscaleSettings":{"$ref":"#/types/azure:cosmosdb/SqlContainerAutoscaleSettings:SqlContainerAutoscaleSettings","description":"An \u003cspan pulumi-lang-nodejs=\"`autoscaleSettings`\" pulumi-lang-dotnet=\"`AutoscaleSettings`\" pulumi-lang-go=\"`autoscaleSettings`\" pulumi-lang-python=\"`autoscale_settings`\" pulumi-lang-yaml=\"`autoscaleSettings`\" pulumi-lang-java=\"`autoscaleSettings`\"\u003e`autoscale_settings`\u003c/span\u003e block as defined below. This must be set upon database creation otherwise it cannot be updated without a manual destroy-apply.\n\n\u003e **Note:** Switching between autoscale and manual throughput is not supported via this provider and must be completed via the Azure Portal and refreshed.\n"},"conflictResolutionPolicy":{"$ref":"#/types/azure:cosmosdb/SqlContainerConflictResolutionPolicy:SqlContainerConflictResolutionPolicy","description":"A \u003cspan pulumi-lang-nodejs=\"`conflictResolutionPolicy`\" pulumi-lang-dotnet=\"`ConflictResolutionPolicy`\" pulumi-lang-go=\"`conflictResolutionPolicy`\" pulumi-lang-python=\"`conflict_resolution_policy`\" pulumi-lang-yaml=\"`conflictResolutionPolicy`\" pulumi-lang-java=\"`conflictResolutionPolicy`\"\u003e`conflict_resolution_policy`\u003c/span\u003e blocks as defined below. Changing this forces a new resource to be created.\n"},"databaseName":{"type":"string","description":"The name of the Cosmos DB SQL Database to create the container within. Changing this forces a new resource to be created.\n"},"defaultTtl":{"type":"integer","description":"The default time to live of SQL container. If missing, items are not expired automatically. If present and the value is set to `-1`, it is equal to infinity, and items don’t expire by default. If present and the value is set to some number \u003cspan pulumi-lang-nodejs=\"`n`\" pulumi-lang-dotnet=\"`N`\" pulumi-lang-go=\"`n`\" pulumi-lang-python=\"`n`\" pulumi-lang-yaml=\"`n`\" pulumi-lang-java=\"`n`\"\u003e`n`\u003c/span\u003e – items will expire \u003cspan pulumi-lang-nodejs=\"`n`\" pulumi-lang-dotnet=\"`N`\" pulumi-lang-go=\"`n`\" pulumi-lang-python=\"`n`\" pulumi-lang-yaml=\"`n`\" pulumi-lang-java=\"`n`\"\u003e`n`\u003c/span\u003e seconds after their last modified time.\n"},"indexingPolicy":{"$ref":"#/types/azure:cosmosdb/SqlContainerIndexingPolicy:SqlContainerIndexingPolicy","description":"An \u003cspan pulumi-lang-nodejs=\"`indexingPolicy`\" pulumi-lang-dotnet=\"`IndexingPolicy`\" pulumi-lang-go=\"`indexingPolicy`\" pulumi-lang-python=\"`indexing_policy`\" pulumi-lang-yaml=\"`indexingPolicy`\" pulumi-lang-java=\"`indexingPolicy`\"\u003e`indexing_policy`\u003c/span\u003e block as defined below.\n"},"name":{"type":"string","description":"Specifies the name of the Cosmos DB SQL Container. Changing this forces a new resource to be created.\n"},"partitionKeyKind":{"type":"string","description":"Define a partition key kind. Possible values are `Hash` and `MultiHash`. Defaults to `Hash`. Changing this forces a new resource to be created.\n"},"partitionKeyPaths":{"type":"array","items":{"type":"string"},"description":"A list of partition key paths. Changing this forces a new resource to be created.\n"},"partitionKeyVersion":{"type":"integer","description":"Define a partition key version. Possible values are \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003eand \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e. This should be set to \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e in order to use large partition keys.\n\n\u003e **Note:** If \u003cspan pulumi-lang-nodejs=\"`partitionKeyVersion`\" pulumi-lang-dotnet=\"`PartitionKeyVersion`\" pulumi-lang-go=\"`partitionKeyVersion`\" pulumi-lang-python=\"`partition_key_version`\" pulumi-lang-yaml=\"`partitionKeyVersion`\" pulumi-lang-java=\"`partitionKeyVersion`\"\u003e`partition_key_version`\u003c/span\u003e is not specified when creating a new resource, you can update \u003cspan pulumi-lang-nodejs=\"`partitionKeyVersion`\" pulumi-lang-dotnet=\"`PartitionKeyVersion`\" pulumi-lang-go=\"`partitionKeyVersion`\" pulumi-lang-python=\"`partition_key_version`\" pulumi-lang-yaml=\"`partitionKeyVersion`\" pulumi-lang-java=\"`partitionKeyVersion`\"\u003e`partition_key_version`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e, updating to \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e forces a new resource to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the Cosmos DB SQL Container is created. Changing this forces a new resource to be created.\n"},"throughput":{"type":"integer","description":"The throughput of SQL container (RU/s). Must be set in increments of \u003cspan pulumi-lang-nodejs=\"`100`\" pulumi-lang-dotnet=\"`100`\" pulumi-lang-go=\"`100`\" pulumi-lang-python=\"`100`\" pulumi-lang-yaml=\"`100`\" pulumi-lang-java=\"`100`\"\u003e`100`\u003c/span\u003e. The minimum value is \u003cspan pulumi-lang-nodejs=\"`400`\" pulumi-lang-dotnet=\"`400`\" pulumi-lang-go=\"`400`\" pulumi-lang-python=\"`400`\" pulumi-lang-yaml=\"`400`\" pulumi-lang-java=\"`400`\"\u003e`400`\u003c/span\u003e. This must be set upon container creation otherwise it cannot be updated without a manual resource destroy-apply.\n"},"uniqueKeys":{"type":"array","items":{"$ref":"#/types/azure:cosmosdb/SqlContainerUniqueKey:SqlContainerUniqueKey"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`uniqueKey`\" pulumi-lang-dotnet=\"`UniqueKey`\" pulumi-lang-go=\"`uniqueKey`\" pulumi-lang-python=\"`unique_key`\" pulumi-lang-yaml=\"`uniqueKey`\" pulumi-lang-java=\"`uniqueKey`\"\u003e`unique_key`\u003c/span\u003e blocks as defined below. Changing this forces a new resource to be created.\n"}},"required":["accountName","conflictResolutionPolicy","databaseName","indexingPolicy","name","partitionKeyPaths","resourceGroupName","throughput"],"inputProperties":{"accountName":{"type":"string","description":"The name of the Cosmos DB Account to create the container within. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"analyticalStorageTtl":{"type":"integer","description":"The default time to live of Analytical Storage for this SQL container. If present and the value is set to `-1`, it is equal to infinity, and items don’t expire by default. If present and the value is set to some number \u003cspan pulumi-lang-nodejs=\"`n`\" pulumi-lang-dotnet=\"`N`\" pulumi-lang-go=\"`n`\" pulumi-lang-python=\"`n`\" pulumi-lang-yaml=\"`n`\" pulumi-lang-java=\"`n`\"\u003e`n`\u003c/span\u003e – items will expire \u003cspan pulumi-lang-nodejs=\"`n`\" pulumi-lang-dotnet=\"`N`\" pulumi-lang-go=\"`n`\" pulumi-lang-python=\"`n`\" pulumi-lang-yaml=\"`n`\" pulumi-lang-java=\"`n`\"\u003e`n`\u003c/span\u003e seconds after their last modified time.\n"},"autoscaleSettings":{"$ref":"#/types/azure:cosmosdb/SqlContainerAutoscaleSettings:SqlContainerAutoscaleSettings","description":"An \u003cspan pulumi-lang-nodejs=\"`autoscaleSettings`\" pulumi-lang-dotnet=\"`AutoscaleSettings`\" pulumi-lang-go=\"`autoscaleSettings`\" pulumi-lang-python=\"`autoscale_settings`\" pulumi-lang-yaml=\"`autoscaleSettings`\" pulumi-lang-java=\"`autoscaleSettings`\"\u003e`autoscale_settings`\u003c/span\u003e block as defined below. This must be set upon database creation otherwise it cannot be updated without a manual destroy-apply.\n\n\u003e **Note:** Switching between autoscale and manual throughput is not supported via this provider and must be completed via the Azure Portal and refreshed.\n"},"conflictResolutionPolicy":{"$ref":"#/types/azure:cosmosdb/SqlContainerConflictResolutionPolicy:SqlContainerConflictResolutionPolicy","description":"A \u003cspan pulumi-lang-nodejs=\"`conflictResolutionPolicy`\" pulumi-lang-dotnet=\"`ConflictResolutionPolicy`\" pulumi-lang-go=\"`conflictResolutionPolicy`\" pulumi-lang-python=\"`conflict_resolution_policy`\" pulumi-lang-yaml=\"`conflictResolutionPolicy`\" pulumi-lang-java=\"`conflictResolutionPolicy`\"\u003e`conflict_resolution_policy`\u003c/span\u003e blocks as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"databaseName":{"type":"string","description":"The name of the Cosmos DB SQL Database to create the container within. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"defaultTtl":{"type":"integer","description":"The default time to live of SQL container. If missing, items are not expired automatically. If present and the value is set to `-1`, it is equal to infinity, and items don’t expire by default. If present and the value is set to some number \u003cspan pulumi-lang-nodejs=\"`n`\" pulumi-lang-dotnet=\"`N`\" pulumi-lang-go=\"`n`\" pulumi-lang-python=\"`n`\" pulumi-lang-yaml=\"`n`\" pulumi-lang-java=\"`n`\"\u003e`n`\u003c/span\u003e – items will expire \u003cspan pulumi-lang-nodejs=\"`n`\" pulumi-lang-dotnet=\"`N`\" pulumi-lang-go=\"`n`\" pulumi-lang-python=\"`n`\" pulumi-lang-yaml=\"`n`\" pulumi-lang-java=\"`n`\"\u003e`n`\u003c/span\u003e seconds after their last modified time.\n"},"indexingPolicy":{"$ref":"#/types/azure:cosmosdb/SqlContainerIndexingPolicy:SqlContainerIndexingPolicy","description":"An \u003cspan pulumi-lang-nodejs=\"`indexingPolicy`\" pulumi-lang-dotnet=\"`IndexingPolicy`\" pulumi-lang-go=\"`indexingPolicy`\" pulumi-lang-python=\"`indexing_policy`\" pulumi-lang-yaml=\"`indexingPolicy`\" pulumi-lang-java=\"`indexingPolicy`\"\u003e`indexing_policy`\u003c/span\u003e block as defined below.\n"},"name":{"type":"string","description":"Specifies the name of the Cosmos DB SQL Container. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"partitionKeyKind":{"type":"string","description":"Define a partition key kind. Possible values are `Hash` and `MultiHash`. Defaults to `Hash`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"partitionKeyPaths":{"type":"array","items":{"type":"string"},"description":"A list of partition key paths. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"partitionKeyVersion":{"type":"integer","description":"Define a partition key version. Possible values are \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003eand \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e. This should be set to \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e in order to use large partition keys.\n\n\u003e **Note:** If \u003cspan pulumi-lang-nodejs=\"`partitionKeyVersion`\" pulumi-lang-dotnet=\"`PartitionKeyVersion`\" pulumi-lang-go=\"`partitionKeyVersion`\" pulumi-lang-python=\"`partition_key_version`\" pulumi-lang-yaml=\"`partitionKeyVersion`\" pulumi-lang-java=\"`partitionKeyVersion`\"\u003e`partition_key_version`\u003c/span\u003e is not specified when creating a new resource, you can update \u003cspan pulumi-lang-nodejs=\"`partitionKeyVersion`\" pulumi-lang-dotnet=\"`PartitionKeyVersion`\" pulumi-lang-go=\"`partitionKeyVersion`\" pulumi-lang-python=\"`partition_key_version`\" pulumi-lang-yaml=\"`partitionKeyVersion`\" pulumi-lang-java=\"`partitionKeyVersion`\"\u003e`partition_key_version`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e, updating to \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e forces a new resource to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the Cosmos DB SQL Container is created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"throughput":{"type":"integer","description":"The throughput of SQL container (RU/s). Must be set in increments of \u003cspan pulumi-lang-nodejs=\"`100`\" pulumi-lang-dotnet=\"`100`\" pulumi-lang-go=\"`100`\" pulumi-lang-python=\"`100`\" pulumi-lang-yaml=\"`100`\" pulumi-lang-java=\"`100`\"\u003e`100`\u003c/span\u003e. The minimum value is \u003cspan pulumi-lang-nodejs=\"`400`\" pulumi-lang-dotnet=\"`400`\" pulumi-lang-go=\"`400`\" pulumi-lang-python=\"`400`\" pulumi-lang-yaml=\"`400`\" pulumi-lang-java=\"`400`\"\u003e`400`\u003c/span\u003e. This must be set upon container creation otherwise it cannot be updated without a manual resource destroy-apply.\n"},"uniqueKeys":{"type":"array","items":{"$ref":"#/types/azure:cosmosdb/SqlContainerUniqueKey:SqlContainerUniqueKey"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`uniqueKey`\" pulumi-lang-dotnet=\"`UniqueKey`\" pulumi-lang-go=\"`uniqueKey`\" pulumi-lang-python=\"`unique_key`\" pulumi-lang-yaml=\"`uniqueKey`\" pulumi-lang-java=\"`uniqueKey`\"\u003e`unique_key`\u003c/span\u003e blocks as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["accountName","databaseName","partitionKeyPaths","resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering SqlContainer resources.\n","properties":{"accountName":{"type":"string","description":"The name of the Cosmos DB Account to create the container within. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"analyticalStorageTtl":{"type":"integer","description":"The default time to live of Analytical Storage for this SQL container. If present and the value is set to `-1`, it is equal to infinity, and items don’t expire by default. If present and the value is set to some number \u003cspan pulumi-lang-nodejs=\"`n`\" pulumi-lang-dotnet=\"`N`\" pulumi-lang-go=\"`n`\" pulumi-lang-python=\"`n`\" pulumi-lang-yaml=\"`n`\" pulumi-lang-java=\"`n`\"\u003e`n`\u003c/span\u003e – items will expire \u003cspan pulumi-lang-nodejs=\"`n`\" pulumi-lang-dotnet=\"`N`\" pulumi-lang-go=\"`n`\" pulumi-lang-python=\"`n`\" pulumi-lang-yaml=\"`n`\" pulumi-lang-java=\"`n`\"\u003e`n`\u003c/span\u003e seconds after their last modified time.\n"},"autoscaleSettings":{"$ref":"#/types/azure:cosmosdb/SqlContainerAutoscaleSettings:SqlContainerAutoscaleSettings","description":"An \u003cspan pulumi-lang-nodejs=\"`autoscaleSettings`\" pulumi-lang-dotnet=\"`AutoscaleSettings`\" pulumi-lang-go=\"`autoscaleSettings`\" pulumi-lang-python=\"`autoscale_settings`\" pulumi-lang-yaml=\"`autoscaleSettings`\" pulumi-lang-java=\"`autoscaleSettings`\"\u003e`autoscale_settings`\u003c/span\u003e block as defined below. This must be set upon database creation otherwise it cannot be updated without a manual destroy-apply.\n\n\u003e **Note:** Switching between autoscale and manual throughput is not supported via this provider and must be completed via the Azure Portal and refreshed.\n"},"conflictResolutionPolicy":{"$ref":"#/types/azure:cosmosdb/SqlContainerConflictResolutionPolicy:SqlContainerConflictResolutionPolicy","description":"A \u003cspan pulumi-lang-nodejs=\"`conflictResolutionPolicy`\" pulumi-lang-dotnet=\"`ConflictResolutionPolicy`\" pulumi-lang-go=\"`conflictResolutionPolicy`\" pulumi-lang-python=\"`conflict_resolution_policy`\" pulumi-lang-yaml=\"`conflictResolutionPolicy`\" pulumi-lang-java=\"`conflictResolutionPolicy`\"\u003e`conflict_resolution_policy`\u003c/span\u003e blocks as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"databaseName":{"type":"string","description":"The name of the Cosmos DB SQL Database to create the container within. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"defaultTtl":{"type":"integer","description":"The default time to live of SQL container. If missing, items are not expired automatically. If present and the value is set to `-1`, it is equal to infinity, and items don’t expire by default. If present and the value is set to some number \u003cspan pulumi-lang-nodejs=\"`n`\" pulumi-lang-dotnet=\"`N`\" pulumi-lang-go=\"`n`\" pulumi-lang-python=\"`n`\" pulumi-lang-yaml=\"`n`\" pulumi-lang-java=\"`n`\"\u003e`n`\u003c/span\u003e – items will expire \u003cspan pulumi-lang-nodejs=\"`n`\" pulumi-lang-dotnet=\"`N`\" pulumi-lang-go=\"`n`\" pulumi-lang-python=\"`n`\" pulumi-lang-yaml=\"`n`\" pulumi-lang-java=\"`n`\"\u003e`n`\u003c/span\u003e seconds after their last modified time.\n"},"indexingPolicy":{"$ref":"#/types/azure:cosmosdb/SqlContainerIndexingPolicy:SqlContainerIndexingPolicy","description":"An \u003cspan pulumi-lang-nodejs=\"`indexingPolicy`\" pulumi-lang-dotnet=\"`IndexingPolicy`\" pulumi-lang-go=\"`indexingPolicy`\" pulumi-lang-python=\"`indexing_policy`\" pulumi-lang-yaml=\"`indexingPolicy`\" pulumi-lang-java=\"`indexingPolicy`\"\u003e`indexing_policy`\u003c/span\u003e block as defined below.\n"},"name":{"type":"string","description":"Specifies the name of the Cosmos DB SQL Container. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"partitionKeyKind":{"type":"string","description":"Define a partition key kind. Possible values are `Hash` and `MultiHash`. Defaults to `Hash`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"partitionKeyPaths":{"type":"array","items":{"type":"string"},"description":"A list of partition key paths. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"partitionKeyVersion":{"type":"integer","description":"Define a partition key version. Possible values are \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003eand \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e. This should be set to \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e in order to use large partition keys.\n\n\u003e **Note:** If \u003cspan pulumi-lang-nodejs=\"`partitionKeyVersion`\" pulumi-lang-dotnet=\"`PartitionKeyVersion`\" pulumi-lang-go=\"`partitionKeyVersion`\" pulumi-lang-python=\"`partition_key_version`\" pulumi-lang-yaml=\"`partitionKeyVersion`\" pulumi-lang-java=\"`partitionKeyVersion`\"\u003e`partition_key_version`\u003c/span\u003e is not specified when creating a new resource, you can update \u003cspan pulumi-lang-nodejs=\"`partitionKeyVersion`\" pulumi-lang-dotnet=\"`PartitionKeyVersion`\" pulumi-lang-go=\"`partitionKeyVersion`\" pulumi-lang-python=\"`partition_key_version`\" pulumi-lang-yaml=\"`partitionKeyVersion`\" pulumi-lang-java=\"`partitionKeyVersion`\"\u003e`partition_key_version`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e, updating to \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e forces a new resource to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the Cosmos DB SQL Container is created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"throughput":{"type":"integer","description":"The throughput of SQL container (RU/s). Must be set in increments of \u003cspan pulumi-lang-nodejs=\"`100`\" pulumi-lang-dotnet=\"`100`\" pulumi-lang-go=\"`100`\" pulumi-lang-python=\"`100`\" pulumi-lang-yaml=\"`100`\" pulumi-lang-java=\"`100`\"\u003e`100`\u003c/span\u003e. The minimum value is \u003cspan pulumi-lang-nodejs=\"`400`\" pulumi-lang-dotnet=\"`400`\" pulumi-lang-go=\"`400`\" pulumi-lang-python=\"`400`\" pulumi-lang-yaml=\"`400`\" pulumi-lang-java=\"`400`\"\u003e`400`\u003c/span\u003e. This must be set upon container creation otherwise it cannot be updated without a manual resource destroy-apply.\n"},"uniqueKeys":{"type":"array","items":{"$ref":"#/types/azure:cosmosdb/SqlContainerUniqueKey:SqlContainerUniqueKey"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`uniqueKey`\" pulumi-lang-dotnet=\"`UniqueKey`\" pulumi-lang-go=\"`uniqueKey`\" pulumi-lang-python=\"`unique_key`\" pulumi-lang-yaml=\"`uniqueKey`\" pulumi-lang-java=\"`uniqueKey`\"\u003e`unique_key`\u003c/span\u003e blocks as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:cosmosdb/sqlDatabase:SqlDatabase":{"description":"Manages a SQL Database within a Cosmos DB Account.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.cosmosdb.getAccount({\n    name: \"tfex-cosmosdb-account\",\n    resourceGroupName: \"tfex-cosmosdb-account-rg\",\n});\nconst exampleSqlDatabase = new azure.cosmosdb.SqlDatabase(\"example\", {\n    name: \"tfex-cosmos-sql-db\",\n    resourceGroupName: example.then(example =\u003e example.resourceGroupName),\n    accountName: example.then(example =\u003e example.name),\n    throughput: 400,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.cosmosdb.get_account(name=\"tfex-cosmosdb-account\",\n    resource_group_name=\"tfex-cosmosdb-account-rg\")\nexample_sql_database = azure.cosmosdb.SqlDatabase(\"example\",\n    name=\"tfex-cosmos-sql-db\",\n    resource_group_name=example.resource_group_name,\n    account_name=example.name,\n    throughput=400)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.CosmosDB.GetAccount.Invoke(new()\n    {\n        Name = \"tfex-cosmosdb-account\",\n        ResourceGroupName = \"tfex-cosmosdb-account-rg\",\n    });\n\n    var exampleSqlDatabase = new Azure.CosmosDB.SqlDatabase(\"example\", new()\n    {\n        Name = \"tfex-cosmos-sql-db\",\n        ResourceGroupName = example.Apply(getAccountResult =\u003e getAccountResult.ResourceGroupName),\n        AccountName = example.Apply(getAccountResult =\u003e getAccountResult.Name),\n        Throughput = 400,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/cosmosdb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := cosmosdb.LookupAccount(ctx, \u0026cosmosdb.LookupAccountArgs{\n\t\t\tName:              \"tfex-cosmosdb-account\",\n\t\t\tResourceGroupName: \"tfex-cosmosdb-account-rg\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cosmosdb.NewSqlDatabase(ctx, \"example\", \u0026cosmosdb.SqlDatabaseArgs{\n\t\t\tName:              pulumi.String(\"tfex-cosmos-sql-db\"),\n\t\t\tResourceGroupName: pulumi.String(example.ResourceGroupName),\n\t\t\tAccountName:       pulumi.String(example.Name),\n\t\t\tThroughput:        pulumi.Int(400),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.cosmosdb.CosmosdbFunctions;\nimport com.pulumi.azure.cosmosdb.inputs.GetAccountArgs;\nimport com.pulumi.azure.cosmosdb.SqlDatabase;\nimport com.pulumi.azure.cosmosdb.SqlDatabaseArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = CosmosdbFunctions.getAccount(GetAccountArgs.builder()\n            .name(\"tfex-cosmosdb-account\")\n            .resourceGroupName(\"tfex-cosmosdb-account-rg\")\n            .build());\n\n        var exampleSqlDatabase = new SqlDatabase(\"exampleSqlDatabase\", SqlDatabaseArgs.builder()\n            .name(\"tfex-cosmos-sql-db\")\n            .resourceGroupName(example.resourceGroupName())\n            .accountName(example.name())\n            .throughput(400)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleSqlDatabase:\n    type: azure:cosmosdb:SqlDatabase\n    name: example\n    properties:\n      name: tfex-cosmos-sql-db\n      resourceGroupName: ${example.resourceGroupName}\n      accountName: ${example.name}\n      throughput: 400\nvariables:\n  example:\n    fn::invoke:\n      function: azure:cosmosdb:getAccount\n      arguments:\n        name: tfex-cosmosdb-account\n        resourceGroupName: tfex-cosmosdb-account-rg\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCosmos SQL Database can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:cosmosdb/sqlDatabase:SqlDatabase db1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/account1/sqlDatabases/db1\n```\n\n","properties":{"accountName":{"type":"string","description":"The name of the Cosmos DB SQL Database to create the table within. Changing this forces a new resource to be created.\n"},"autoscaleSettings":{"$ref":"#/types/azure:cosmosdb/SqlDatabaseAutoscaleSettings:SqlDatabaseAutoscaleSettings","description":"An \u003cspan pulumi-lang-nodejs=\"`autoscaleSettings`\" pulumi-lang-dotnet=\"`AutoscaleSettings`\" pulumi-lang-go=\"`autoscaleSettings`\" pulumi-lang-python=\"`autoscale_settings`\" pulumi-lang-yaml=\"`autoscaleSettings`\" pulumi-lang-java=\"`autoscaleSettings`\"\u003e`autoscale_settings`\u003c/span\u003e block as defined below. This must be set upon database creation otherwise it cannot be updated without a manual destroy-apply.\n\n\u003e **Note:** Switching between autoscale and manual throughput is not supported via this provider and must be completed via the Azure Portal and refreshed.\n"},"name":{"type":"string","description":"Specifies the name of the Cosmos DB SQL Database. Changing this forces a new resource to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the Cosmos DB SQL Database is created. Changing this forces a new resource to be created.\n"},"throughput":{"type":"integer","description":"The throughput of SQL database (RU/s). Must be set in increments of \u003cspan pulumi-lang-nodejs=\"`100`\" pulumi-lang-dotnet=\"`100`\" pulumi-lang-go=\"`100`\" pulumi-lang-python=\"`100`\" pulumi-lang-yaml=\"`100`\" pulumi-lang-java=\"`100`\"\u003e`100`\u003c/span\u003e. The minimum value is \u003cspan pulumi-lang-nodejs=\"`400`\" pulumi-lang-dotnet=\"`400`\" pulumi-lang-go=\"`400`\" pulumi-lang-python=\"`400`\" pulumi-lang-yaml=\"`400`\" pulumi-lang-java=\"`400`\"\u003e`400`\u003c/span\u003e. This must be set upon database creation otherwise it cannot be updated without a manual terraform destroy-apply. Do not set when \u003cspan pulumi-lang-nodejs=\"`azure.cosmosdb.Account`\" pulumi-lang-dotnet=\"`azure.cosmosdb.Account`\" pulumi-lang-go=\"`cosmosdb.Account`\" pulumi-lang-python=\"`cosmosdb.Account`\" pulumi-lang-yaml=\"`azure.cosmosdb.Account`\" pulumi-lang-java=\"`azure.cosmosdb.Account`\"\u003e`azure.cosmosdb.Account`\u003c/span\u003e is configured with `EnableServerless` capability.\n\n\u003e **Note:** Throughput has a maximum value of \u003cspan pulumi-lang-nodejs=\"`1000000`\" pulumi-lang-dotnet=\"`1000000`\" pulumi-lang-go=\"`1000000`\" pulumi-lang-python=\"`1000000`\" pulumi-lang-yaml=\"`1000000`\" pulumi-lang-java=\"`1000000`\"\u003e`1000000`\u003c/span\u003e unless a higher limit is requested via Azure Support\n"}},"required":["accountName","name","resourceGroupName","throughput"],"inputProperties":{"accountName":{"type":"string","description":"The name of the Cosmos DB SQL Database to create the table within. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"autoscaleSettings":{"$ref":"#/types/azure:cosmosdb/SqlDatabaseAutoscaleSettings:SqlDatabaseAutoscaleSettings","description":"An \u003cspan pulumi-lang-nodejs=\"`autoscaleSettings`\" pulumi-lang-dotnet=\"`AutoscaleSettings`\" pulumi-lang-go=\"`autoscaleSettings`\" pulumi-lang-python=\"`autoscale_settings`\" pulumi-lang-yaml=\"`autoscaleSettings`\" pulumi-lang-java=\"`autoscaleSettings`\"\u003e`autoscale_settings`\u003c/span\u003e block as defined below. This must be set upon database creation otherwise it cannot be updated without a manual destroy-apply.\n\n\u003e **Note:** Switching between autoscale and manual throughput is not supported via this provider and must be completed via the Azure Portal and refreshed.\n"},"name":{"type":"string","description":"Specifies the name of the Cosmos DB SQL Database. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the Cosmos DB SQL Database is created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"throughput":{"type":"integer","description":"The throughput of SQL database (RU/s). Must be set in increments of \u003cspan pulumi-lang-nodejs=\"`100`\" pulumi-lang-dotnet=\"`100`\" pulumi-lang-go=\"`100`\" pulumi-lang-python=\"`100`\" pulumi-lang-yaml=\"`100`\" pulumi-lang-java=\"`100`\"\u003e`100`\u003c/span\u003e. The minimum value is \u003cspan pulumi-lang-nodejs=\"`400`\" pulumi-lang-dotnet=\"`400`\" pulumi-lang-go=\"`400`\" pulumi-lang-python=\"`400`\" pulumi-lang-yaml=\"`400`\" pulumi-lang-java=\"`400`\"\u003e`400`\u003c/span\u003e. This must be set upon database creation otherwise it cannot be updated without a manual terraform destroy-apply. Do not set when \u003cspan pulumi-lang-nodejs=\"`azure.cosmosdb.Account`\" pulumi-lang-dotnet=\"`azure.cosmosdb.Account`\" pulumi-lang-go=\"`cosmosdb.Account`\" pulumi-lang-python=\"`cosmosdb.Account`\" pulumi-lang-yaml=\"`azure.cosmosdb.Account`\" pulumi-lang-java=\"`azure.cosmosdb.Account`\"\u003e`azure.cosmosdb.Account`\u003c/span\u003e is configured with `EnableServerless` capability.\n\n\u003e **Note:** Throughput has a maximum value of \u003cspan pulumi-lang-nodejs=\"`1000000`\" pulumi-lang-dotnet=\"`1000000`\" pulumi-lang-go=\"`1000000`\" pulumi-lang-python=\"`1000000`\" pulumi-lang-yaml=\"`1000000`\" pulumi-lang-java=\"`1000000`\"\u003e`1000000`\u003c/span\u003e unless a higher limit is requested via Azure Support\n"}},"requiredInputs":["accountName","resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering SqlDatabase resources.\n","properties":{"accountName":{"type":"string","description":"The name of the Cosmos DB SQL Database to create the table within. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"autoscaleSettings":{"$ref":"#/types/azure:cosmosdb/SqlDatabaseAutoscaleSettings:SqlDatabaseAutoscaleSettings","description":"An \u003cspan pulumi-lang-nodejs=\"`autoscaleSettings`\" pulumi-lang-dotnet=\"`AutoscaleSettings`\" pulumi-lang-go=\"`autoscaleSettings`\" pulumi-lang-python=\"`autoscale_settings`\" pulumi-lang-yaml=\"`autoscaleSettings`\" pulumi-lang-java=\"`autoscaleSettings`\"\u003e`autoscale_settings`\u003c/span\u003e block as defined below. This must be set upon database creation otherwise it cannot be updated without a manual destroy-apply.\n\n\u003e **Note:** Switching between autoscale and manual throughput is not supported via this provider and must be completed via the Azure Portal and refreshed.\n"},"name":{"type":"string","description":"Specifies the name of the Cosmos DB SQL Database. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the Cosmos DB SQL Database is created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"throughput":{"type":"integer","description":"The throughput of SQL database (RU/s). Must be set in increments of \u003cspan pulumi-lang-nodejs=\"`100`\" pulumi-lang-dotnet=\"`100`\" pulumi-lang-go=\"`100`\" pulumi-lang-python=\"`100`\" pulumi-lang-yaml=\"`100`\" pulumi-lang-java=\"`100`\"\u003e`100`\u003c/span\u003e. The minimum value is \u003cspan pulumi-lang-nodejs=\"`400`\" pulumi-lang-dotnet=\"`400`\" pulumi-lang-go=\"`400`\" pulumi-lang-python=\"`400`\" pulumi-lang-yaml=\"`400`\" pulumi-lang-java=\"`400`\"\u003e`400`\u003c/span\u003e. This must be set upon database creation otherwise it cannot be updated without a manual terraform destroy-apply. Do not set when \u003cspan pulumi-lang-nodejs=\"`azure.cosmosdb.Account`\" pulumi-lang-dotnet=\"`azure.cosmosdb.Account`\" pulumi-lang-go=\"`cosmosdb.Account`\" pulumi-lang-python=\"`cosmosdb.Account`\" pulumi-lang-yaml=\"`azure.cosmosdb.Account`\" pulumi-lang-java=\"`azure.cosmosdb.Account`\"\u003e`azure.cosmosdb.Account`\u003c/span\u003e is configured with `EnableServerless` capability.\n\n\u003e **Note:** Throughput has a maximum value of \u003cspan pulumi-lang-nodejs=\"`1000000`\" pulumi-lang-dotnet=\"`1000000`\" pulumi-lang-go=\"`1000000`\" pulumi-lang-python=\"`1000000`\" pulumi-lang-yaml=\"`1000000`\" pulumi-lang-java=\"`1000000`\"\u003e`1000000`\u003c/span\u003e unless a higher limit is requested via Azure Support\n"}},"type":"object"}},"azure:cosmosdb/sqlDedicatedGateway:SqlDedicatedGateway":{"description":"Manages a SQL Dedicated Gateway within a Cosmos DB Account.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resource-group\",\n    location: \"West Europe\",\n});\nconst exampleAccount = new azure.cosmosdb.Account(\"example\", {\n    name: \"example-ca\",\n    location: example.location,\n    resourceGroupName: example.name,\n    offerType: \"Standard\",\n    kind: \"GlobalDocumentDB\",\n    consistencyPolicy: {\n        consistencyLevel: \"BoundedStaleness\",\n    },\n    geoLocations: [{\n        location: example.location,\n        failoverPriority: 0,\n    }],\n});\nconst exampleSqlDedicatedGateway = new azure.cosmosdb.SqlDedicatedGateway(\"example\", {\n    cosmosdbAccountId: exampleAccount.id,\n    instanceCount: 1,\n    instanceSize: \"Cosmos.D4s\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resource-group\",\n    location=\"West Europe\")\nexample_account = azure.cosmosdb.Account(\"example\",\n    name=\"example-ca\",\n    location=example.location,\n    resource_group_name=example.name,\n    offer_type=\"Standard\",\n    kind=\"GlobalDocumentDB\",\n    consistency_policy={\n        \"consistency_level\": \"BoundedStaleness\",\n    },\n    geo_locations=[{\n        \"location\": example.location,\n        \"failover_priority\": 0,\n    }])\nexample_sql_dedicated_gateway = azure.cosmosdb.SqlDedicatedGateway(\"example\",\n    cosmosdb_account_id=example_account.id,\n    instance_count=1,\n    instance_size=\"Cosmos.D4s\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resource-group\",\n        Location = \"West Europe\",\n    });\n\n    var exampleAccount = new Azure.CosmosDB.Account(\"example\", new()\n    {\n        Name = \"example-ca\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        OfferType = \"Standard\",\n        Kind = \"GlobalDocumentDB\",\n        ConsistencyPolicy = new Azure.CosmosDB.Inputs.AccountConsistencyPolicyArgs\n        {\n            ConsistencyLevel = \"BoundedStaleness\",\n        },\n        GeoLocations = new[]\n        {\n            new Azure.CosmosDB.Inputs.AccountGeoLocationArgs\n            {\n                Location = example.Location,\n                FailoverPriority = 0,\n            },\n        },\n    });\n\n    var exampleSqlDedicatedGateway = new Azure.CosmosDB.SqlDedicatedGateway(\"example\", new()\n    {\n        CosmosdbAccountId = exampleAccount.Id,\n        InstanceCount = 1,\n        InstanceSize = \"Cosmos.D4s\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/cosmosdb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resource-group\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := cosmosdb.NewAccount(ctx, \"example\", \u0026cosmosdb.AccountArgs{\n\t\t\tName:              pulumi.String(\"example-ca\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tOfferType:         pulumi.String(\"Standard\"),\n\t\t\tKind:              pulumi.String(\"GlobalDocumentDB\"),\n\t\t\tConsistencyPolicy: \u0026cosmosdb.AccountConsistencyPolicyArgs{\n\t\t\t\tConsistencyLevel: pulumi.String(\"BoundedStaleness\"),\n\t\t\t},\n\t\t\tGeoLocations: cosmosdb.AccountGeoLocationArray{\n\t\t\t\t\u0026cosmosdb.AccountGeoLocationArgs{\n\t\t\t\t\tLocation:         example.Location,\n\t\t\t\t\tFailoverPriority: pulumi.Int(0),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cosmosdb.NewSqlDedicatedGateway(ctx, \"example\", \u0026cosmosdb.SqlDedicatedGatewayArgs{\n\t\t\tCosmosdbAccountId: exampleAccount.ID(),\n\t\t\tInstanceCount:     pulumi.Int(1),\n\t\t\tInstanceSize:      pulumi.String(\"Cosmos.D4s\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.cosmosdb.Account;\nimport com.pulumi.azure.cosmosdb.AccountArgs;\nimport com.pulumi.azure.cosmosdb.inputs.AccountConsistencyPolicyArgs;\nimport com.pulumi.azure.cosmosdb.inputs.AccountGeoLocationArgs;\nimport com.pulumi.azure.cosmosdb.SqlDedicatedGateway;\nimport com.pulumi.azure.cosmosdb.SqlDedicatedGatewayArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resource-group\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"example-ca\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .offerType(\"Standard\")\n            .kind(\"GlobalDocumentDB\")\n            .consistencyPolicy(AccountConsistencyPolicyArgs.builder()\n                .consistencyLevel(\"BoundedStaleness\")\n                .build())\n            .geoLocations(AccountGeoLocationArgs.builder()\n                .location(example.location())\n                .failoverPriority(0)\n                .build())\n            .build());\n\n        var exampleSqlDedicatedGateway = new SqlDedicatedGateway(\"exampleSqlDedicatedGateway\", SqlDedicatedGatewayArgs.builder()\n            .cosmosdbAccountId(exampleAccount.id())\n            .instanceCount(1)\n            .instanceSize(\"Cosmos.D4s\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resource-group\n      location: West Europe\n  exampleAccount:\n    type: azure:cosmosdb:Account\n    name: example\n    properties:\n      name: example-ca\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      offerType: Standard\n      kind: GlobalDocumentDB\n      consistencyPolicy:\n        consistencyLevel: BoundedStaleness\n      geoLocations:\n        - location: ${example.location}\n          failoverPriority: 0\n  exampleSqlDedicatedGateway:\n    type: azure:cosmosdb:SqlDedicatedGateway\n    name: example\n    properties:\n      cosmosdbAccountId: ${exampleAccount.id}\n      instanceCount: 1\n      instanceSize: Cosmos.D4s\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.DocumentDB` - 2022-05-15\n\n## Import\n\nCosmosDB SQL Dedicated Gateways can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:cosmosdb/sqlDedicatedGateway:SqlDedicatedGateway example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup1/providers/Microsoft.DocumentDB/databaseAccounts/account1/services/SqlDedicatedGateway\n```\n\n","properties":{"cosmosdbAccountId":{"type":"string","description":"The resource ID of the CosmosDB Account. Changing this forces a new resource to be created.\n"},"instanceCount":{"type":"integer","description":"The instance count for the CosmosDB SQL Dedicated Gateway. Possible value is between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`5`\" pulumi-lang-dotnet=\"`5`\" pulumi-lang-go=\"`5`\" pulumi-lang-python=\"`5`\" pulumi-lang-yaml=\"`5`\" pulumi-lang-java=\"`5`\"\u003e`5`\u003c/span\u003e.\n"},"instanceSize":{"type":"string","description":"The instance size for the CosmosDB SQL Dedicated Gateway. Changing this forces a new resource to be created. Possible values are `Cosmos.D4s`, `Cosmos.D8s` and `Cosmos.D16s`.\n"}},"required":["cosmosdbAccountId","instanceCount","instanceSize"],"inputProperties":{"cosmosdbAccountId":{"type":"string","description":"The resource ID of the CosmosDB Account. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"instanceCount":{"type":"integer","description":"The instance count for the CosmosDB SQL Dedicated Gateway. Possible value is between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`5`\" pulumi-lang-dotnet=\"`5`\" pulumi-lang-go=\"`5`\" pulumi-lang-python=\"`5`\" pulumi-lang-yaml=\"`5`\" pulumi-lang-java=\"`5`\"\u003e`5`\u003c/span\u003e.\n"},"instanceSize":{"type":"string","description":"The instance size for the CosmosDB SQL Dedicated Gateway. Changing this forces a new resource to be created. Possible values are `Cosmos.D4s`, `Cosmos.D8s` and `Cosmos.D16s`.\n","willReplaceOnChanges":true}},"requiredInputs":["cosmosdbAccountId","instanceCount","instanceSize"],"stateInputs":{"description":"Input properties used for looking up and filtering SqlDedicatedGateway resources.\n","properties":{"cosmosdbAccountId":{"type":"string","description":"The resource ID of the CosmosDB Account. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"instanceCount":{"type":"integer","description":"The instance count for the CosmosDB SQL Dedicated Gateway. Possible value is between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`5`\" pulumi-lang-dotnet=\"`5`\" pulumi-lang-go=\"`5`\" pulumi-lang-python=\"`5`\" pulumi-lang-yaml=\"`5`\" pulumi-lang-java=\"`5`\"\u003e`5`\u003c/span\u003e.\n"},"instanceSize":{"type":"string","description":"The instance size for the CosmosDB SQL Dedicated Gateway. Changing this forces a new resource to be created. Possible values are `Cosmos.D4s`, `Cosmos.D8s` and `Cosmos.D16s`.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:cosmosdb/sqlFunction:SqlFunction":{"description":"Manages an SQL User Defined Function.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.cosmosdb.getAccount({\n    name: \"tfex-cosmosdb-account\",\n    resourceGroupName: \"tfex-cosmosdb-account-rg\",\n});\nconst exampleSqlDatabase = new azure.cosmosdb.SqlDatabase(\"example\", {\n    name: \"tfex-cosmos-db\",\n    resourceGroupName: example.then(example =\u003e example.resourceGroupName),\n    accountName: example.then(example =\u003e example.name),\n    throughput: 400,\n});\nconst exampleSqlContainer = new azure.cosmosdb.SqlContainer(\"example\", {\n    name: \"example-container\",\n    resourceGroupName: example.then(example =\u003e example.resourceGroupName),\n    accountName: example.then(example =\u003e example.name),\n    databaseName: exampleSqlDatabase.name,\n    partitionKeyPath: \"/id\",\n});\nconst exampleSqlFunction = new azure.cosmosdb.SqlFunction(\"example\", {\n    name: \"test-function\",\n    containerId: exampleSqlContainer.id,\n    body: \"function trigger(){}\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.cosmosdb.get_account(name=\"tfex-cosmosdb-account\",\n    resource_group_name=\"tfex-cosmosdb-account-rg\")\nexample_sql_database = azure.cosmosdb.SqlDatabase(\"example\",\n    name=\"tfex-cosmos-db\",\n    resource_group_name=example.resource_group_name,\n    account_name=example.name,\n    throughput=400)\nexample_sql_container = azure.cosmosdb.SqlContainer(\"example\",\n    name=\"example-container\",\n    resource_group_name=example.resource_group_name,\n    account_name=example.name,\n    database_name=example_sql_database.name,\n    partition_key_path=\"/id\")\nexample_sql_function = azure.cosmosdb.SqlFunction(\"example\",\n    name=\"test-function\",\n    container_id=example_sql_container.id,\n    body=\"function trigger(){}\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.CosmosDB.GetAccount.Invoke(new()\n    {\n        Name = \"tfex-cosmosdb-account\",\n        ResourceGroupName = \"tfex-cosmosdb-account-rg\",\n    });\n\n    var exampleSqlDatabase = new Azure.CosmosDB.SqlDatabase(\"example\", new()\n    {\n        Name = \"tfex-cosmos-db\",\n        ResourceGroupName = example.Apply(getAccountResult =\u003e getAccountResult.ResourceGroupName),\n        AccountName = example.Apply(getAccountResult =\u003e getAccountResult.Name),\n        Throughput = 400,\n    });\n\n    var exampleSqlContainer = new Azure.CosmosDB.SqlContainer(\"example\", new()\n    {\n        Name = \"example-container\",\n        ResourceGroupName = example.Apply(getAccountResult =\u003e getAccountResult.ResourceGroupName),\n        AccountName = example.Apply(getAccountResult =\u003e getAccountResult.Name),\n        DatabaseName = exampleSqlDatabase.Name,\n        PartitionKeyPath = \"/id\",\n    });\n\n    var exampleSqlFunction = new Azure.CosmosDB.SqlFunction(\"example\", new()\n    {\n        Name = \"test-function\",\n        ContainerId = exampleSqlContainer.Id,\n        Body = \"function trigger(){}\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/cosmosdb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := cosmosdb.LookupAccount(ctx, \u0026cosmosdb.LookupAccountArgs{\n\t\t\tName:              \"tfex-cosmosdb-account\",\n\t\t\tResourceGroupName: \"tfex-cosmosdb-account-rg\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSqlDatabase, err := cosmosdb.NewSqlDatabase(ctx, \"example\", \u0026cosmosdb.SqlDatabaseArgs{\n\t\t\tName:              pulumi.String(\"tfex-cosmos-db\"),\n\t\t\tResourceGroupName: pulumi.String(example.ResourceGroupName),\n\t\t\tAccountName:       pulumi.String(example.Name),\n\t\t\tThroughput:        pulumi.Int(400),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSqlContainer, err := cosmosdb.NewSqlContainer(ctx, \"example\", \u0026cosmosdb.SqlContainerArgs{\n\t\t\tName:              pulumi.String(\"example-container\"),\n\t\t\tResourceGroupName: pulumi.String(example.ResourceGroupName),\n\t\t\tAccountName:       pulumi.String(example.Name),\n\t\t\tDatabaseName:      exampleSqlDatabase.Name,\n\t\t\tPartitionKeyPath:  \"/id\",\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cosmosdb.NewSqlFunction(ctx, \"example\", \u0026cosmosdb.SqlFunctionArgs{\n\t\t\tName:        pulumi.String(\"test-function\"),\n\t\t\tContainerId: exampleSqlContainer.ID(),\n\t\t\tBody:        pulumi.String(\"function trigger(){}\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.cosmosdb.CosmosdbFunctions;\nimport com.pulumi.azure.cosmosdb.inputs.GetAccountArgs;\nimport com.pulumi.azure.cosmosdb.SqlDatabase;\nimport com.pulumi.azure.cosmosdb.SqlDatabaseArgs;\nimport com.pulumi.azure.cosmosdb.SqlContainer;\nimport com.pulumi.azure.cosmosdb.SqlContainerArgs;\nimport com.pulumi.azure.cosmosdb.SqlFunction;\nimport com.pulumi.azure.cosmosdb.SqlFunctionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = CosmosdbFunctions.getAccount(GetAccountArgs.builder()\n            .name(\"tfex-cosmosdb-account\")\n            .resourceGroupName(\"tfex-cosmosdb-account-rg\")\n            .build());\n\n        var exampleSqlDatabase = new SqlDatabase(\"exampleSqlDatabase\", SqlDatabaseArgs.builder()\n            .name(\"tfex-cosmos-db\")\n            .resourceGroupName(example.resourceGroupName())\n            .accountName(example.name())\n            .throughput(400)\n            .build());\n\n        var exampleSqlContainer = new SqlContainer(\"exampleSqlContainer\", SqlContainerArgs.builder()\n            .name(\"example-container\")\n            .resourceGroupName(example.resourceGroupName())\n            .accountName(example.name())\n            .databaseName(exampleSqlDatabase.name())\n            .partitionKeyPath(\"/id\")\n            .build());\n\n        var exampleSqlFunction = new SqlFunction(\"exampleSqlFunction\", SqlFunctionArgs.builder()\n            .name(\"test-function\")\n            .containerId(exampleSqlContainer.id())\n            .body(\"function trigger(){}\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleSqlDatabase:\n    type: azure:cosmosdb:SqlDatabase\n    name: example\n    properties:\n      name: tfex-cosmos-db\n      resourceGroupName: ${example.resourceGroupName}\n      accountName: ${example.name}\n      throughput: 400\n  exampleSqlContainer:\n    type: azure:cosmosdb:SqlContainer\n    name: example\n    properties:\n      name: example-container\n      resourceGroupName: ${example.resourceGroupName}\n      accountName: ${example.name}\n      databaseName: ${exampleSqlDatabase.name}\n      partitionKeyPath: /id\n  exampleSqlFunction:\n    type: azure:cosmosdb:SqlFunction\n    name: example\n    properties:\n      name: test-function\n      containerId: ${exampleSqlContainer.id}\n      body: function trigger(){}\nvariables:\n  example:\n    fn::invoke:\n      function: azure:cosmosdb:getAccount\n      arguments:\n        name: tfex-cosmosdb-account\n        resourceGroupName: tfex-cosmosdb-account-rg\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nSQL User Defined Functions can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:cosmosdb/sqlFunction:SqlFunction example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.DocumentDB/databaseAccounts/account1/sqlDatabases/database1/containers/container1/userDefinedFunctions/userDefinedFunction1\n```\n\n","properties":{"body":{"type":"string","description":"Body of the User Defined Function.\n"},"containerId":{"type":"string","description":"The id of the Cosmos DB SQL Container to create the SQL User Defined Function within. Changing this forces a new SQL User Defined Function to be created.\n"},"name":{"type":"string","description":"The name which should be used for this SQL User Defined Function. Changing this forces a new SQL User Defined Function to be created.\n"}},"required":["body","containerId","name"],"inputProperties":{"body":{"type":"string","description":"Body of the User Defined Function.\n"},"containerId":{"type":"string","description":"The id of the Cosmos DB SQL Container to create the SQL User Defined Function within. Changing this forces a new SQL User Defined Function to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this SQL User Defined Function. Changing this forces a new SQL User Defined Function to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["body","containerId"],"stateInputs":{"description":"Input properties used for looking up and filtering SqlFunction resources.\n","properties":{"body":{"type":"string","description":"Body of the User Defined Function.\n"},"containerId":{"type":"string","description":"The id of the Cosmos DB SQL Container to create the SQL User Defined Function within. Changing this forces a new SQL User Defined Function to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this SQL User Defined Function. Changing this forces a new SQL User Defined Function to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:cosmosdb/sqlRoleAssignment:SqlRoleAssignment":{"description":"Manages a Cosmos DB SQL Role Assignment.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst current = azure.core.getClientConfig({});\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleAccount = new azure.cosmosdb.Account(\"example\", {\n    name: \"example-cosmosdb\",\n    location: example.location,\n    resourceGroupName: example.name,\n    offerType: \"Standard\",\n    kind: \"GlobalDocumentDB\",\n    consistencyPolicy: {\n        consistencyLevel: \"Strong\",\n    },\n    geoLocations: [{\n        location: example.location,\n        failoverPriority: 0,\n    }],\n});\nconst exampleSqlRoleDefinition = new azure.cosmosdb.SqlRoleDefinition(\"example\", {\n    name: \"examplesqlroledef\",\n    resourceGroupName: example.name,\n    accountName: exampleAccount.name,\n    type: \"CustomRole\",\n    assignableScopes: [exampleAccount.id],\n    permissions: [{\n        dataActions: [\"Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/items/read\"],\n    }],\n});\nconst exampleSqlRoleAssignment = new azure.cosmosdb.SqlRoleAssignment(\"example\", {\n    name: \"736180af-7fbc-4c7f-9004-22735173c1c3\",\n    resourceGroupName: example.name,\n    accountName: exampleAccount.name,\n    roleDefinitionId: exampleSqlRoleDefinition.id,\n    principalId: current.then(current =\u003e current.objectId),\n    scope: exampleAccount.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\ncurrent = azure.core.get_client_config()\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_account = azure.cosmosdb.Account(\"example\",\n    name=\"example-cosmosdb\",\n    location=example.location,\n    resource_group_name=example.name,\n    offer_type=\"Standard\",\n    kind=\"GlobalDocumentDB\",\n    consistency_policy={\n        \"consistency_level\": \"Strong\",\n    },\n    geo_locations=[{\n        \"location\": example.location,\n        \"failover_priority\": 0,\n    }])\nexample_sql_role_definition = azure.cosmosdb.SqlRoleDefinition(\"example\",\n    name=\"examplesqlroledef\",\n    resource_group_name=example.name,\n    account_name=example_account.name,\n    type=\"CustomRole\",\n    assignable_scopes=[example_account.id],\n    permissions=[{\n        \"data_actions\": [\"Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/items/read\"],\n    }])\nexample_sql_role_assignment = azure.cosmosdb.SqlRoleAssignment(\"example\",\n    name=\"736180af-7fbc-4c7f-9004-22735173c1c3\",\n    resource_group_name=example.name,\n    account_name=example_account.name,\n    role_definition_id=example_sql_role_definition.id,\n    principal_id=current.object_id,\n    scope=example_account.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var current = Azure.Core.GetClientConfig.Invoke();\n\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleAccount = new Azure.CosmosDB.Account(\"example\", new()\n    {\n        Name = \"example-cosmosdb\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        OfferType = \"Standard\",\n        Kind = \"GlobalDocumentDB\",\n        ConsistencyPolicy = new Azure.CosmosDB.Inputs.AccountConsistencyPolicyArgs\n        {\n            ConsistencyLevel = \"Strong\",\n        },\n        GeoLocations = new[]\n        {\n            new Azure.CosmosDB.Inputs.AccountGeoLocationArgs\n            {\n                Location = example.Location,\n                FailoverPriority = 0,\n            },\n        },\n    });\n\n    var exampleSqlRoleDefinition = new Azure.CosmosDB.SqlRoleDefinition(\"example\", new()\n    {\n        Name = \"examplesqlroledef\",\n        ResourceGroupName = example.Name,\n        AccountName = exampleAccount.Name,\n        Type = \"CustomRole\",\n        AssignableScopes = new[]\n        {\n            exampleAccount.Id,\n        },\n        Permissions = new[]\n        {\n            new Azure.CosmosDB.Inputs.SqlRoleDefinitionPermissionArgs\n            {\n                DataActions = new[]\n                {\n                    \"Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/items/read\",\n                },\n            },\n        },\n    });\n\n    var exampleSqlRoleAssignment = new Azure.CosmosDB.SqlRoleAssignment(\"example\", new()\n    {\n        Name = \"736180af-7fbc-4c7f-9004-22735173c1c3\",\n        ResourceGroupName = example.Name,\n        AccountName = exampleAccount.Name,\n        RoleDefinitionId = exampleSqlRoleDefinition.Id,\n        PrincipalId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.ObjectId),\n        Scope = exampleAccount.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/cosmosdb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := core.GetClientConfig(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := cosmosdb.NewAccount(ctx, \"example\", \u0026cosmosdb.AccountArgs{\n\t\t\tName:              pulumi.String(\"example-cosmosdb\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tOfferType:         pulumi.String(\"Standard\"),\n\t\t\tKind:              pulumi.String(\"GlobalDocumentDB\"),\n\t\t\tConsistencyPolicy: \u0026cosmosdb.AccountConsistencyPolicyArgs{\n\t\t\t\tConsistencyLevel: pulumi.String(\"Strong\"),\n\t\t\t},\n\t\t\tGeoLocations: cosmosdb.AccountGeoLocationArray{\n\t\t\t\t\u0026cosmosdb.AccountGeoLocationArgs{\n\t\t\t\t\tLocation:         example.Location,\n\t\t\t\t\tFailoverPriority: pulumi.Int(0),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSqlRoleDefinition, err := cosmosdb.NewSqlRoleDefinition(ctx, \"example\", \u0026cosmosdb.SqlRoleDefinitionArgs{\n\t\t\tName:              pulumi.String(\"examplesqlroledef\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tAccountName:       exampleAccount.Name,\n\t\t\tType:              pulumi.String(\"CustomRole\"),\n\t\t\tAssignableScopes: pulumi.StringArray{\n\t\t\t\texampleAccount.ID(),\n\t\t\t},\n\t\t\tPermissions: cosmosdb.SqlRoleDefinitionPermissionArray{\n\t\t\t\t\u0026cosmosdb.SqlRoleDefinitionPermissionArgs{\n\t\t\t\t\tDataActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/items/read\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cosmosdb.NewSqlRoleAssignment(ctx, \"example\", \u0026cosmosdb.SqlRoleAssignmentArgs{\n\t\t\tName:              pulumi.String(\"736180af-7fbc-4c7f-9004-22735173c1c3\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tAccountName:       exampleAccount.Name,\n\t\t\tRoleDefinitionId:  exampleSqlRoleDefinition.ID(),\n\t\t\tPrincipalId:       pulumi.String(current.ObjectId),\n\t\t\tScope:             exampleAccount.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.cosmosdb.Account;\nimport com.pulumi.azure.cosmosdb.AccountArgs;\nimport com.pulumi.azure.cosmosdb.inputs.AccountConsistencyPolicyArgs;\nimport com.pulumi.azure.cosmosdb.inputs.AccountGeoLocationArgs;\nimport com.pulumi.azure.cosmosdb.SqlRoleDefinition;\nimport com.pulumi.azure.cosmosdb.SqlRoleDefinitionArgs;\nimport com.pulumi.azure.cosmosdb.inputs.SqlRoleDefinitionPermissionArgs;\nimport com.pulumi.azure.cosmosdb.SqlRoleAssignment;\nimport com.pulumi.azure.cosmosdb.SqlRoleAssignmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var current = CoreFunctions.getClientConfig(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"example-cosmosdb\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .offerType(\"Standard\")\n            .kind(\"GlobalDocumentDB\")\n            .consistencyPolicy(AccountConsistencyPolicyArgs.builder()\n                .consistencyLevel(\"Strong\")\n                .build())\n            .geoLocations(AccountGeoLocationArgs.builder()\n                .location(example.location())\n                .failoverPriority(0)\n                .build())\n            .build());\n\n        var exampleSqlRoleDefinition = new SqlRoleDefinition(\"exampleSqlRoleDefinition\", SqlRoleDefinitionArgs.builder()\n            .name(\"examplesqlroledef\")\n            .resourceGroupName(example.name())\n            .accountName(exampleAccount.name())\n            .type(\"CustomRole\")\n            .assignableScopes(exampleAccount.id())\n            .permissions(SqlRoleDefinitionPermissionArgs.builder()\n                .dataActions(\"Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/items/read\")\n                .build())\n            .build());\n\n        var exampleSqlRoleAssignment = new SqlRoleAssignment(\"exampleSqlRoleAssignment\", SqlRoleAssignmentArgs.builder()\n            .name(\"736180af-7fbc-4c7f-9004-22735173c1c3\")\n            .resourceGroupName(example.name())\n            .accountName(exampleAccount.name())\n            .roleDefinitionId(exampleSqlRoleDefinition.id())\n            .principalId(current.objectId())\n            .scope(exampleAccount.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleAccount:\n    type: azure:cosmosdb:Account\n    name: example\n    properties:\n      name: example-cosmosdb\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      offerType: Standard\n      kind: GlobalDocumentDB\n      consistencyPolicy:\n        consistencyLevel: Strong\n      geoLocations:\n        - location: ${example.location}\n          failoverPriority: 0\n  exampleSqlRoleDefinition:\n    type: azure:cosmosdb:SqlRoleDefinition\n    name: example\n    properties:\n      name: examplesqlroledef\n      resourceGroupName: ${example.name}\n      accountName: ${exampleAccount.name}\n      type: CustomRole\n      assignableScopes:\n        - ${exampleAccount.id}\n      permissions:\n        - dataActions:\n            - Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/items/read\n  exampleSqlRoleAssignment:\n    type: azure:cosmosdb:SqlRoleAssignment\n    name: example\n    properties:\n      name: 736180af-7fbc-4c7f-9004-22735173c1c3\n      resourceGroupName: ${example.name}\n      accountName: ${exampleAccount.name}\n      roleDefinitionId: ${exampleSqlRoleDefinition.id}\n      principalId: ${current.objectId}\n      scope: ${exampleAccount.id}\nvariables:\n  current:\n    fn::invoke:\n      function: azure:core:getClientConfig\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCosmos DB SQL Role Assignments can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:cosmosdb/sqlRoleAssignment:SqlRoleAssignment example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.DocumentDB/databaseAccounts/account1/sqlRoleAssignments/9e007587-dbcd-4190-84cb-fcab5a09ca39\n```\n\n","properties":{"accountName":{"type":"string","description":"The name of the Cosmos DB Account. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"The GUID as the name of the Cosmos DB SQL Role Assignment - one will be generated if not specified. Changing this forces a new resource to be created.\n"},"principalId":{"type":"string","description":"The ID of the Principal (Client) in Azure Active Directory. Changing this forces a new resource to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group in which the Cosmos DB SQL Role Assignment is created. Changing this forces a new resource to be created.\n"},"roleDefinitionId":{"type":"string","description":"The resource ID of the Cosmos DB SQL Role Definition.\n"},"scope":{"type":"string","description":"The data plane resource path for which access is being granted through this Cosmos DB SQL Role Assignment. Changing this forces a new resource to be created.\n"}},"required":["accountName","name","principalId","resourceGroupName","roleDefinitionId","scope"],"inputProperties":{"accountName":{"type":"string","description":"The name of the Cosmos DB Account. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The GUID as the name of the Cosmos DB SQL Role Assignment - one will be generated if not specified. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"principalId":{"type":"string","description":"The ID of the Principal (Client) in Azure Active Directory. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group in which the Cosmos DB SQL Role Assignment is created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"roleDefinitionId":{"type":"string","description":"The resource ID of the Cosmos DB SQL Role Definition.\n"},"scope":{"type":"string","description":"The data plane resource path for which access is being granted through this Cosmos DB SQL Role Assignment. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["accountName","principalId","resourceGroupName","roleDefinitionId","scope"],"stateInputs":{"description":"Input properties used for looking up and filtering SqlRoleAssignment resources.\n","properties":{"accountName":{"type":"string","description":"The name of the Cosmos DB Account. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The GUID as the name of the Cosmos DB SQL Role Assignment - one will be generated if not specified. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"principalId":{"type":"string","description":"The ID of the Principal (Client) in Azure Active Directory. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group in which the Cosmos DB SQL Role Assignment is created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"roleDefinitionId":{"type":"string","description":"The resource ID of the Cosmos DB SQL Role Definition.\n"},"scope":{"type":"string","description":"The data plane resource path for which access is being granted through this Cosmos DB SQL Role Assignment. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:cosmosdb/sqlRoleDefinition:SqlRoleDefinition":{"description":"Manages a Cosmos DB SQL Role Definition.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst current = azure.core.getClientConfig({});\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleAccount = new azure.cosmosdb.Account(\"example\", {\n    name: \"example-cosmosdb\",\n    location: example.location,\n    resourceGroupName: example.name,\n    offerType: \"Standard\",\n    kind: \"GlobalDocumentDB\",\n    consistencyPolicy: {\n        consistencyLevel: \"Strong\",\n    },\n    geoLocations: [{\n        location: example.location,\n        failoverPriority: 0,\n    }],\n});\nconst exampleSqlRoleDefinition = new azure.cosmosdb.SqlRoleDefinition(\"example\", {\n    roleDefinitionId: \"84cf3a8b-4122-4448-bce2-fa423cfe0a15\",\n    resourceGroupName: example.name,\n    accountName: exampleAccount.name,\n    name: \"acctestsqlrole\",\n    assignableScopes: [pulumi.interpolate`${exampleAccount.id}/dbs/sales`],\n    permissions: [{\n        dataActions: [\"Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/items/read\"],\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\ncurrent = azure.core.get_client_config()\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_account = azure.cosmosdb.Account(\"example\",\n    name=\"example-cosmosdb\",\n    location=example.location,\n    resource_group_name=example.name,\n    offer_type=\"Standard\",\n    kind=\"GlobalDocumentDB\",\n    consistency_policy={\n        \"consistency_level\": \"Strong\",\n    },\n    geo_locations=[{\n        \"location\": example.location,\n        \"failover_priority\": 0,\n    }])\nexample_sql_role_definition = azure.cosmosdb.SqlRoleDefinition(\"example\",\n    role_definition_id=\"84cf3a8b-4122-4448-bce2-fa423cfe0a15\",\n    resource_group_name=example.name,\n    account_name=example_account.name,\n    name=\"acctestsqlrole\",\n    assignable_scopes=[example_account.id.apply(lambda id: f\"{id}/dbs/sales\")],\n    permissions=[{\n        \"data_actions\": [\"Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/items/read\"],\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var current = Azure.Core.GetClientConfig.Invoke();\n\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleAccount = new Azure.CosmosDB.Account(\"example\", new()\n    {\n        Name = \"example-cosmosdb\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        OfferType = \"Standard\",\n        Kind = \"GlobalDocumentDB\",\n        ConsistencyPolicy = new Azure.CosmosDB.Inputs.AccountConsistencyPolicyArgs\n        {\n            ConsistencyLevel = \"Strong\",\n        },\n        GeoLocations = new[]\n        {\n            new Azure.CosmosDB.Inputs.AccountGeoLocationArgs\n            {\n                Location = example.Location,\n                FailoverPriority = 0,\n            },\n        },\n    });\n\n    var exampleSqlRoleDefinition = new Azure.CosmosDB.SqlRoleDefinition(\"example\", new()\n    {\n        RoleDefinitionId = \"84cf3a8b-4122-4448-bce2-fa423cfe0a15\",\n        ResourceGroupName = example.Name,\n        AccountName = exampleAccount.Name,\n        Name = \"acctestsqlrole\",\n        AssignableScopes = new[]\n        {\n            exampleAccount.Id.Apply(id =\u003e $\"{id}/dbs/sales\"),\n        },\n        Permissions = new[]\n        {\n            new Azure.CosmosDB.Inputs.SqlRoleDefinitionPermissionArgs\n            {\n                DataActions = new[]\n                {\n                    \"Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/items/read\",\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/cosmosdb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := core.GetClientConfig(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := cosmosdb.NewAccount(ctx, \"example\", \u0026cosmosdb.AccountArgs{\n\t\t\tName:              pulumi.String(\"example-cosmosdb\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tOfferType:         pulumi.String(\"Standard\"),\n\t\t\tKind:              pulumi.String(\"GlobalDocumentDB\"),\n\t\t\tConsistencyPolicy: \u0026cosmosdb.AccountConsistencyPolicyArgs{\n\t\t\t\tConsistencyLevel: pulumi.String(\"Strong\"),\n\t\t\t},\n\t\t\tGeoLocations: cosmosdb.AccountGeoLocationArray{\n\t\t\t\t\u0026cosmosdb.AccountGeoLocationArgs{\n\t\t\t\t\tLocation:         example.Location,\n\t\t\t\t\tFailoverPriority: pulumi.Int(0),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cosmosdb.NewSqlRoleDefinition(ctx, \"example\", \u0026cosmosdb.SqlRoleDefinitionArgs{\n\t\t\tRoleDefinitionId:  pulumi.String(\"84cf3a8b-4122-4448-bce2-fa423cfe0a15\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tAccountName:       exampleAccount.Name,\n\t\t\tName:              pulumi.String(\"acctestsqlrole\"),\n\t\t\tAssignableScopes: pulumi.StringArray{\n\t\t\t\texampleAccount.ID().ApplyT(func(id string) (string, error) {\n\t\t\t\t\treturn fmt.Sprintf(\"%v/dbs/sales\", id), nil\n\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t},\n\t\t\tPermissions: cosmosdb.SqlRoleDefinitionPermissionArray{\n\t\t\t\t\u0026cosmosdb.SqlRoleDefinitionPermissionArgs{\n\t\t\t\t\tDataActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/items/read\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.cosmosdb.Account;\nimport com.pulumi.azure.cosmosdb.AccountArgs;\nimport com.pulumi.azure.cosmosdb.inputs.AccountConsistencyPolicyArgs;\nimport com.pulumi.azure.cosmosdb.inputs.AccountGeoLocationArgs;\nimport com.pulumi.azure.cosmosdb.SqlRoleDefinition;\nimport com.pulumi.azure.cosmosdb.SqlRoleDefinitionArgs;\nimport com.pulumi.azure.cosmosdb.inputs.SqlRoleDefinitionPermissionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var current = CoreFunctions.getClientConfig(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"example-cosmosdb\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .offerType(\"Standard\")\n            .kind(\"GlobalDocumentDB\")\n            .consistencyPolicy(AccountConsistencyPolicyArgs.builder()\n                .consistencyLevel(\"Strong\")\n                .build())\n            .geoLocations(AccountGeoLocationArgs.builder()\n                .location(example.location())\n                .failoverPriority(0)\n                .build())\n            .build());\n\n        var exampleSqlRoleDefinition = new SqlRoleDefinition(\"exampleSqlRoleDefinition\", SqlRoleDefinitionArgs.builder()\n            .roleDefinitionId(\"84cf3a8b-4122-4448-bce2-fa423cfe0a15\")\n            .resourceGroupName(example.name())\n            .accountName(exampleAccount.name())\n            .name(\"acctestsqlrole\")\n            .assignableScopes(exampleAccount.id().applyValue(_id -\u003e String.format(\"%s/dbs/sales\", _id)))\n            .permissions(SqlRoleDefinitionPermissionArgs.builder()\n                .dataActions(\"Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/items/read\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleAccount:\n    type: azure:cosmosdb:Account\n    name: example\n    properties:\n      name: example-cosmosdb\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      offerType: Standard\n      kind: GlobalDocumentDB\n      consistencyPolicy:\n        consistencyLevel: Strong\n      geoLocations:\n        - location: ${example.location}\n          failoverPriority: 0\n  exampleSqlRoleDefinition:\n    type: azure:cosmosdb:SqlRoleDefinition\n    name: example\n    properties:\n      roleDefinitionId: 84cf3a8b-4122-4448-bce2-fa423cfe0a15\n      resourceGroupName: ${example.name}\n      accountName: ${exampleAccount.name}\n      name: acctestsqlrole\n      assignableScopes:\n        - ${exampleAccount.id}/dbs/sales\n      permissions:\n        - dataActions:\n            - Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/items/read\nvariables:\n  current:\n    fn::invoke:\n      function: azure:core:getClientConfig\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCosmos DB SQL Role Definitions can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:cosmosdb/sqlRoleDefinition:SqlRoleDefinition example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.DocumentDB/databaseAccounts/account1/sqlRoleDefinitions/28b3c337-f436-482b-a167-c2618dc52033\n```\n\n","properties":{"accountName":{"type":"string","description":"The name of the Cosmos DB Account. Changing this forces a new resource to be created.\n"},"assignableScopes":{"type":"array","items":{"type":"string"},"description":"A list of fully qualified scopes at or below which Role Assignments may be created using this Cosmos DB SQL Role Definition. It will allow application of this Cosmos DB SQL Role Definition on the entire Database Account or any underlying Database/Collection. Scopes higher than Database Account are not enforceable as assignable scopes.\n\n\u003e **Note:** The resources referenced in assignable scopes need not exist.\n"},"name":{"type":"string","description":"An user-friendly name for the Cosmos DB SQL Role Definition which must be unique for the Database Account.\n"},"permissions":{"type":"array","items":{"$ref":"#/types/azure:cosmosdb/SqlRoleDefinitionPermission:SqlRoleDefinitionPermission"},"description":"A \u003cspan pulumi-lang-nodejs=\"`permissions`\" pulumi-lang-dotnet=\"`Permissions`\" pulumi-lang-go=\"`permissions`\" pulumi-lang-python=\"`permissions`\" pulumi-lang-yaml=\"`permissions`\" pulumi-lang-java=\"`permissions`\"\u003e`permissions`\u003c/span\u003e block as defined below.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group in which the Cosmos DB SQL Role Definition is created. Changing this forces a new resource to be created.\n"},"roleDefinitionId":{"type":"string","description":"The GUID as the name of the Cosmos DB SQL Role Definition - one will be generated if not specified. Changing this forces a new resource to be created.\n"},"type":{"type":"string","description":"The type of the Cosmos DB SQL Role Definition. Possible values are `BuiltInRole` and `CustomRole`. Defaults to `CustomRole`. Changing this forces a new resource to be created.\n"}},"required":["accountName","assignableScopes","name","permissions","resourceGroupName","roleDefinitionId"],"inputProperties":{"accountName":{"type":"string","description":"The name of the Cosmos DB Account. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"assignableScopes":{"type":"array","items":{"type":"string"},"description":"A list of fully qualified scopes at or below which Role Assignments may be created using this Cosmos DB SQL Role Definition. It will allow application of this Cosmos DB SQL Role Definition on the entire Database Account or any underlying Database/Collection. Scopes higher than Database Account are not enforceable as assignable scopes.\n\n\u003e **Note:** The resources referenced in assignable scopes need not exist.\n"},"name":{"type":"string","description":"An user-friendly name for the Cosmos DB SQL Role Definition which must be unique for the Database Account.\n"},"permissions":{"type":"array","items":{"$ref":"#/types/azure:cosmosdb/SqlRoleDefinitionPermission:SqlRoleDefinitionPermission"},"description":"A \u003cspan pulumi-lang-nodejs=\"`permissions`\" pulumi-lang-dotnet=\"`Permissions`\" pulumi-lang-go=\"`permissions`\" pulumi-lang-python=\"`permissions`\" pulumi-lang-yaml=\"`permissions`\" pulumi-lang-java=\"`permissions`\"\u003e`permissions`\u003c/span\u003e block as defined below.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group in which the Cosmos DB SQL Role Definition is created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"roleDefinitionId":{"type":"string","description":"The GUID as the name of the Cosmos DB SQL Role Definition - one will be generated if not specified. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"type":{"type":"string","description":"The type of the Cosmos DB SQL Role Definition. Possible values are `BuiltInRole` and `CustomRole`. Defaults to `CustomRole`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["accountName","assignableScopes","permissions","resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering SqlRoleDefinition resources.\n","properties":{"accountName":{"type":"string","description":"The name of the Cosmos DB Account. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"assignableScopes":{"type":"array","items":{"type":"string"},"description":"A list of fully qualified scopes at or below which Role Assignments may be created using this Cosmos DB SQL Role Definition. It will allow application of this Cosmos DB SQL Role Definition on the entire Database Account or any underlying Database/Collection. Scopes higher than Database Account are not enforceable as assignable scopes.\n\n\u003e **Note:** The resources referenced in assignable scopes need not exist.\n"},"name":{"type":"string","description":"An user-friendly name for the Cosmos DB SQL Role Definition which must be unique for the Database Account.\n"},"permissions":{"type":"array","items":{"$ref":"#/types/azure:cosmosdb/SqlRoleDefinitionPermission:SqlRoleDefinitionPermission"},"description":"A \u003cspan pulumi-lang-nodejs=\"`permissions`\" pulumi-lang-dotnet=\"`Permissions`\" pulumi-lang-go=\"`permissions`\" pulumi-lang-python=\"`permissions`\" pulumi-lang-yaml=\"`permissions`\" pulumi-lang-java=\"`permissions`\"\u003e`permissions`\u003c/span\u003e block as defined below.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group in which the Cosmos DB SQL Role Definition is created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"roleDefinitionId":{"type":"string","description":"The GUID as the name of the Cosmos DB SQL Role Definition - one will be generated if not specified. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"type":{"type":"string","description":"The type of the Cosmos DB SQL Role Definition. Possible values are `BuiltInRole` and `CustomRole`. Defaults to `CustomRole`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:cosmosdb/sqlStoredProcedure:SqlStoredProcedure":{"description":"Manages a SQL Stored Procedure within a Cosmos DB Account SQL Database.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.cosmosdb.getAccount({\n    name: \"tfex-cosmosdb-account\",\n    resourceGroupName: \"tfex-cosmosdb-account-rg\",\n});\nconst exampleSqlDatabase = new azure.cosmosdb.SqlDatabase(\"example\", {\n    name: \"tfex-cosmos-db\",\n    resourceGroupName: example.then(example =\u003e example.resourceGroupName),\n    accountName: example.then(example =\u003e example.name),\n    throughput: 400,\n});\nconst exampleSqlContainer = new azure.cosmosdb.SqlContainer(\"example\", {\n    name: \"example-container\",\n    resourceGroupName: example.then(example =\u003e example.resourceGroupName),\n    accountName: example.then(example =\u003e example.name),\n    databaseName: exampleSqlDatabase.name,\n    partitionKeyPath: \"/id\",\n});\nconst exampleSqlStoredProcedure = new azure.cosmosdb.SqlStoredProcedure(\"example\", {\n    name: \"test-stored-proc\",\n    resourceGroupName: example.then(example =\u003e example.resourceGroupName),\n    accountName: example.then(example =\u003e example.name),\n    databaseName: exampleSqlDatabase.name,\n    containerName: exampleSqlContainer.name,\n    body: \"   function () { var context = getContext(); var response = context.getResponse(); response.setBody('Hello, World'); }\\n\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.cosmosdb.get_account(name=\"tfex-cosmosdb-account\",\n    resource_group_name=\"tfex-cosmosdb-account-rg\")\nexample_sql_database = azure.cosmosdb.SqlDatabase(\"example\",\n    name=\"tfex-cosmos-db\",\n    resource_group_name=example.resource_group_name,\n    account_name=example.name,\n    throughput=400)\nexample_sql_container = azure.cosmosdb.SqlContainer(\"example\",\n    name=\"example-container\",\n    resource_group_name=example.resource_group_name,\n    account_name=example.name,\n    database_name=example_sql_database.name,\n    partition_key_path=\"/id\")\nexample_sql_stored_procedure = azure.cosmosdb.SqlStoredProcedure(\"example\",\n    name=\"test-stored-proc\",\n    resource_group_name=example.resource_group_name,\n    account_name=example.name,\n    database_name=example_sql_database.name,\n    container_name=example_sql_container.name,\n    body=\"   function () { var context = getContext(); var response = context.getResponse(); response.setBody('Hello, World'); }\\n\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.CosmosDB.GetAccount.Invoke(new()\n    {\n        Name = \"tfex-cosmosdb-account\",\n        ResourceGroupName = \"tfex-cosmosdb-account-rg\",\n    });\n\n    var exampleSqlDatabase = new Azure.CosmosDB.SqlDatabase(\"example\", new()\n    {\n        Name = \"tfex-cosmos-db\",\n        ResourceGroupName = example.Apply(getAccountResult =\u003e getAccountResult.ResourceGroupName),\n        AccountName = example.Apply(getAccountResult =\u003e getAccountResult.Name),\n        Throughput = 400,\n    });\n\n    var exampleSqlContainer = new Azure.CosmosDB.SqlContainer(\"example\", new()\n    {\n        Name = \"example-container\",\n        ResourceGroupName = example.Apply(getAccountResult =\u003e getAccountResult.ResourceGroupName),\n        AccountName = example.Apply(getAccountResult =\u003e getAccountResult.Name),\n        DatabaseName = exampleSqlDatabase.Name,\n        PartitionKeyPath = \"/id\",\n    });\n\n    var exampleSqlStoredProcedure = new Azure.CosmosDB.SqlStoredProcedure(\"example\", new()\n    {\n        Name = \"test-stored-proc\",\n        ResourceGroupName = example.Apply(getAccountResult =\u003e getAccountResult.ResourceGroupName),\n        AccountName = example.Apply(getAccountResult =\u003e getAccountResult.Name),\n        DatabaseName = exampleSqlDatabase.Name,\n        ContainerName = exampleSqlContainer.Name,\n        Body = @\"   function () { var context = getContext(); var response = context.getResponse(); response.setBody('Hello, World'); }\n\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/cosmosdb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := cosmosdb.LookupAccount(ctx, \u0026cosmosdb.LookupAccountArgs{\n\t\t\tName:              \"tfex-cosmosdb-account\",\n\t\t\tResourceGroupName: \"tfex-cosmosdb-account-rg\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSqlDatabase, err := cosmosdb.NewSqlDatabase(ctx, \"example\", \u0026cosmosdb.SqlDatabaseArgs{\n\t\t\tName:              pulumi.String(\"tfex-cosmos-db\"),\n\t\t\tResourceGroupName: pulumi.String(example.ResourceGroupName),\n\t\t\tAccountName:       pulumi.String(example.Name),\n\t\t\tThroughput:        pulumi.Int(400),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSqlContainer, err := cosmosdb.NewSqlContainer(ctx, \"example\", \u0026cosmosdb.SqlContainerArgs{\n\t\t\tName:              pulumi.String(\"example-container\"),\n\t\t\tResourceGroupName: pulumi.String(example.ResourceGroupName),\n\t\t\tAccountName:       pulumi.String(example.Name),\n\t\t\tDatabaseName:      exampleSqlDatabase.Name,\n\t\t\tPartitionKeyPath:  \"/id\",\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cosmosdb.NewSqlStoredProcedure(ctx, \"example\", \u0026cosmosdb.SqlStoredProcedureArgs{\n\t\t\tName:              pulumi.String(\"test-stored-proc\"),\n\t\t\tResourceGroupName: pulumi.String(example.ResourceGroupName),\n\t\t\tAccountName:       pulumi.String(example.Name),\n\t\t\tDatabaseName:      exampleSqlDatabase.Name,\n\t\t\tContainerName:     exampleSqlContainer.Name,\n\t\t\tBody:              pulumi.String(\"   function () { var context = getContext(); var response = context.getResponse(); response.setBody('Hello, World'); }\\n\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.cosmosdb.CosmosdbFunctions;\nimport com.pulumi.azure.cosmosdb.inputs.GetAccountArgs;\nimport com.pulumi.azure.cosmosdb.SqlDatabase;\nimport com.pulumi.azure.cosmosdb.SqlDatabaseArgs;\nimport com.pulumi.azure.cosmosdb.SqlContainer;\nimport com.pulumi.azure.cosmosdb.SqlContainerArgs;\nimport com.pulumi.azure.cosmosdb.SqlStoredProcedure;\nimport com.pulumi.azure.cosmosdb.SqlStoredProcedureArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = CosmosdbFunctions.getAccount(GetAccountArgs.builder()\n            .name(\"tfex-cosmosdb-account\")\n            .resourceGroupName(\"tfex-cosmosdb-account-rg\")\n            .build());\n\n        var exampleSqlDatabase = new SqlDatabase(\"exampleSqlDatabase\", SqlDatabaseArgs.builder()\n            .name(\"tfex-cosmos-db\")\n            .resourceGroupName(example.resourceGroupName())\n            .accountName(example.name())\n            .throughput(400)\n            .build());\n\n        var exampleSqlContainer = new SqlContainer(\"exampleSqlContainer\", SqlContainerArgs.builder()\n            .name(\"example-container\")\n            .resourceGroupName(example.resourceGroupName())\n            .accountName(example.name())\n            .databaseName(exampleSqlDatabase.name())\n            .partitionKeyPath(\"/id\")\n            .build());\n\n        var exampleSqlStoredProcedure = new SqlStoredProcedure(\"exampleSqlStoredProcedure\", SqlStoredProcedureArgs.builder()\n            .name(\"test-stored-proc\")\n            .resourceGroupName(example.resourceGroupName())\n            .accountName(example.name())\n            .databaseName(exampleSqlDatabase.name())\n            .containerName(exampleSqlContainer.name())\n            .body(\"\"\"\n   function () { var context = getContext(); var response = context.getResponse(); response.setBody('Hello, World'); }\n            \"\"\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleSqlDatabase:\n    type: azure:cosmosdb:SqlDatabase\n    name: example\n    properties:\n      name: tfex-cosmos-db\n      resourceGroupName: ${example.resourceGroupName}\n      accountName: ${example.name}\n      throughput: 400\n  exampleSqlContainer:\n    type: azure:cosmosdb:SqlContainer\n    name: example\n    properties:\n      name: example-container\n      resourceGroupName: ${example.resourceGroupName}\n      accountName: ${example.name}\n      databaseName: ${exampleSqlDatabase.name}\n      partitionKeyPath: /id\n  exampleSqlStoredProcedure:\n    type: azure:cosmosdb:SqlStoredProcedure\n    name: example\n    properties:\n      name: test-stored-proc\n      resourceGroupName: ${example.resourceGroupName}\n      accountName: ${example.name}\n      databaseName: ${exampleSqlDatabase.name}\n      containerName: ${exampleSqlContainer.name}\n      body: |2\n           function () { var context = getContext(); var response = context.getResponse(); response.setBody('Hello, World'); }\nvariables:\n  example:\n    fn::invoke:\n      function: azure:cosmosdb:getAccount\n      arguments:\n        name: tfex-cosmosdb-account\n        resourceGroupName: tfex-cosmosdb-account-rg\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCosmosDB SQL Stored Procedures can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:cosmosdb/sqlStoredProcedure:SqlStoredProcedure db1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/account1/sqlDatabases/db1/containers/c1/storedProcedures/sp1\n```\n\n","properties":{"accountName":{"type":"string","description":"The name of the Cosmos DB Account to create the stored procedure within. Changing this forces a new resource to be created.\n"},"body":{"type":"string","description":"The body of the stored procedure.\n"},"containerName":{"type":"string","description":"The name of the Cosmos DB SQL Container to create the stored procedure within. Changing this forces a new resource to be created.\n"},"databaseName":{"type":"string","description":"The name of the Cosmos DB SQL Database to create the stored procedure within. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"Specifies the name of the Cosmos DB SQL Stored Procedure. Changing this forces a new resource to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the Cosmos DB SQL Database is created. Changing this forces a new resource to be created.\n"}},"required":["accountName","body","containerName","databaseName","name","resourceGroupName"],"inputProperties":{"accountName":{"type":"string","description":"The name of the Cosmos DB Account to create the stored procedure within. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"body":{"type":"string","description":"The body of the stored procedure.\n"},"containerName":{"type":"string","description":"The name of the Cosmos DB SQL Container to create the stored procedure within. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"databaseName":{"type":"string","description":"The name of the Cosmos DB SQL Database to create the stored procedure within. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the Cosmos DB SQL Stored Procedure. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the Cosmos DB SQL Database is created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["accountName","body","containerName","databaseName","resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering SqlStoredProcedure resources.\n","properties":{"accountName":{"type":"string","description":"The name of the Cosmos DB Account to create the stored procedure within. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"body":{"type":"string","description":"The body of the stored procedure.\n"},"containerName":{"type":"string","description":"The name of the Cosmos DB SQL Container to create the stored procedure within. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"databaseName":{"type":"string","description":"The name of the Cosmos DB SQL Database to create the stored procedure within. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the Cosmos DB SQL Stored Procedure. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the Cosmos DB SQL Database is created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:cosmosdb/sqlTrigger:SqlTrigger":{"description":"Manages an SQL Trigger.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.cosmosdb.getAccount({\n    name: \"tfex-cosmosdb-account\",\n    resourceGroupName: \"tfex-cosmosdb-account-rg\",\n});\nconst exampleSqlDatabase = new azure.cosmosdb.SqlDatabase(\"example\", {\n    name: \"tfex-cosmos-db\",\n    resourceGroupName: example.then(example =\u003e example.resourceGroupName),\n    accountName: example.then(example =\u003e example.name),\n    throughput: 400,\n});\nconst exampleSqlContainer = new azure.cosmosdb.SqlContainer(\"example\", {\n    name: \"example-container\",\n    resourceGroupName: example.then(example =\u003e example.resourceGroupName),\n    accountName: example.then(example =\u003e example.name),\n    databaseName: exampleSqlDatabase.name,\n    partitionKeyPath: \"/id\",\n});\nconst exampleSqlTrigger = new azure.cosmosdb.SqlTrigger(\"example\", {\n    name: \"test-trigger\",\n    containerId: exampleSqlContainer.id,\n    body: \"function trigger(){}\",\n    operation: \"Delete\",\n    type: \"Post\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.cosmosdb.get_account(name=\"tfex-cosmosdb-account\",\n    resource_group_name=\"tfex-cosmosdb-account-rg\")\nexample_sql_database = azure.cosmosdb.SqlDatabase(\"example\",\n    name=\"tfex-cosmos-db\",\n    resource_group_name=example.resource_group_name,\n    account_name=example.name,\n    throughput=400)\nexample_sql_container = azure.cosmosdb.SqlContainer(\"example\",\n    name=\"example-container\",\n    resource_group_name=example.resource_group_name,\n    account_name=example.name,\n    database_name=example_sql_database.name,\n    partition_key_path=\"/id\")\nexample_sql_trigger = azure.cosmosdb.SqlTrigger(\"example\",\n    name=\"test-trigger\",\n    container_id=example_sql_container.id,\n    body=\"function trigger(){}\",\n    operation=\"Delete\",\n    type=\"Post\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.CosmosDB.GetAccount.Invoke(new()\n    {\n        Name = \"tfex-cosmosdb-account\",\n        ResourceGroupName = \"tfex-cosmosdb-account-rg\",\n    });\n\n    var exampleSqlDatabase = new Azure.CosmosDB.SqlDatabase(\"example\", new()\n    {\n        Name = \"tfex-cosmos-db\",\n        ResourceGroupName = example.Apply(getAccountResult =\u003e getAccountResult.ResourceGroupName),\n        AccountName = example.Apply(getAccountResult =\u003e getAccountResult.Name),\n        Throughput = 400,\n    });\n\n    var exampleSqlContainer = new Azure.CosmosDB.SqlContainer(\"example\", new()\n    {\n        Name = \"example-container\",\n        ResourceGroupName = example.Apply(getAccountResult =\u003e getAccountResult.ResourceGroupName),\n        AccountName = example.Apply(getAccountResult =\u003e getAccountResult.Name),\n        DatabaseName = exampleSqlDatabase.Name,\n        PartitionKeyPath = \"/id\",\n    });\n\n    var exampleSqlTrigger = new Azure.CosmosDB.SqlTrigger(\"example\", new()\n    {\n        Name = \"test-trigger\",\n        ContainerId = exampleSqlContainer.Id,\n        Body = \"function trigger(){}\",\n        Operation = \"Delete\",\n        Type = \"Post\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/cosmosdb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := cosmosdb.LookupAccount(ctx, \u0026cosmosdb.LookupAccountArgs{\n\t\t\tName:              \"tfex-cosmosdb-account\",\n\t\t\tResourceGroupName: \"tfex-cosmosdb-account-rg\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSqlDatabase, err := cosmosdb.NewSqlDatabase(ctx, \"example\", \u0026cosmosdb.SqlDatabaseArgs{\n\t\t\tName:              pulumi.String(\"tfex-cosmos-db\"),\n\t\t\tResourceGroupName: pulumi.String(example.ResourceGroupName),\n\t\t\tAccountName:       pulumi.String(example.Name),\n\t\t\tThroughput:        pulumi.Int(400),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSqlContainer, err := cosmosdb.NewSqlContainer(ctx, \"example\", \u0026cosmosdb.SqlContainerArgs{\n\t\t\tName:              pulumi.String(\"example-container\"),\n\t\t\tResourceGroupName: pulumi.String(example.ResourceGroupName),\n\t\t\tAccountName:       pulumi.String(example.Name),\n\t\t\tDatabaseName:      exampleSqlDatabase.Name,\n\t\t\tPartitionKeyPath:  \"/id\",\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cosmosdb.NewSqlTrigger(ctx, \"example\", \u0026cosmosdb.SqlTriggerArgs{\n\t\t\tName:        pulumi.String(\"test-trigger\"),\n\t\t\tContainerId: exampleSqlContainer.ID(),\n\t\t\tBody:        pulumi.String(\"function trigger(){}\"),\n\t\t\tOperation:   pulumi.String(\"Delete\"),\n\t\t\tType:        pulumi.String(\"Post\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.cosmosdb.CosmosdbFunctions;\nimport com.pulumi.azure.cosmosdb.inputs.GetAccountArgs;\nimport com.pulumi.azure.cosmosdb.SqlDatabase;\nimport com.pulumi.azure.cosmosdb.SqlDatabaseArgs;\nimport com.pulumi.azure.cosmosdb.SqlContainer;\nimport com.pulumi.azure.cosmosdb.SqlContainerArgs;\nimport com.pulumi.azure.cosmosdb.SqlTrigger;\nimport com.pulumi.azure.cosmosdb.SqlTriggerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = CosmosdbFunctions.getAccount(GetAccountArgs.builder()\n            .name(\"tfex-cosmosdb-account\")\n            .resourceGroupName(\"tfex-cosmosdb-account-rg\")\n            .build());\n\n        var exampleSqlDatabase = new SqlDatabase(\"exampleSqlDatabase\", SqlDatabaseArgs.builder()\n            .name(\"tfex-cosmos-db\")\n            .resourceGroupName(example.resourceGroupName())\n            .accountName(example.name())\n            .throughput(400)\n            .build());\n\n        var exampleSqlContainer = new SqlContainer(\"exampleSqlContainer\", SqlContainerArgs.builder()\n            .name(\"example-container\")\n            .resourceGroupName(example.resourceGroupName())\n            .accountName(example.name())\n            .databaseName(exampleSqlDatabase.name())\n            .partitionKeyPath(\"/id\")\n            .build());\n\n        var exampleSqlTrigger = new SqlTrigger(\"exampleSqlTrigger\", SqlTriggerArgs.builder()\n            .name(\"test-trigger\")\n            .containerId(exampleSqlContainer.id())\n            .body(\"function trigger(){}\")\n            .operation(\"Delete\")\n            .type(\"Post\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleSqlDatabase:\n    type: azure:cosmosdb:SqlDatabase\n    name: example\n    properties:\n      name: tfex-cosmos-db\n      resourceGroupName: ${example.resourceGroupName}\n      accountName: ${example.name}\n      throughput: 400\n  exampleSqlContainer:\n    type: azure:cosmosdb:SqlContainer\n    name: example\n    properties:\n      name: example-container\n      resourceGroupName: ${example.resourceGroupName}\n      accountName: ${example.name}\n      databaseName: ${exampleSqlDatabase.name}\n      partitionKeyPath: /id\n  exampleSqlTrigger:\n    type: azure:cosmosdb:SqlTrigger\n    name: example\n    properties:\n      name: test-trigger\n      containerId: ${exampleSqlContainer.id}\n      body: function trigger(){}\n      operation: Delete\n      type: Post\nvariables:\n  example:\n    fn::invoke:\n      function: azure:cosmosdb:getAccount\n      arguments:\n        name: tfex-cosmosdb-account\n        resourceGroupName: tfex-cosmosdb-account-rg\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nSQL Triggers can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:cosmosdb/sqlTrigger:SqlTrigger example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.DocumentDB/databaseAccounts/account1/sqlDatabases/database1/containers/container1/triggers/trigger1\n```\n\n","properties":{"body":{"type":"string","description":"Body of the Trigger.\n"},"containerId":{"type":"string","description":"The id of the Cosmos DB SQL Container to create the SQL Trigger within. Changing this forces a new SQL Trigger to be created.\n"},"name":{"type":"string","description":"The name which should be used for this SQL Trigger. Changing this forces a new SQL Trigger to be created.\n"},"operation":{"type":"string","description":"The operation the trigger is associated with. Possible values are `All`, `Create`, `Update`, `Delete` and `Replace`.\n"},"type":{"type":"string","description":"Type of the Trigger. Possible values are `Pre` and `Post`.\n"}},"required":["body","containerId","name","operation","type"],"inputProperties":{"body":{"type":"string","description":"Body of the Trigger.\n"},"containerId":{"type":"string","description":"The id of the Cosmos DB SQL Container to create the SQL Trigger within. Changing this forces a new SQL Trigger to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this SQL Trigger. Changing this forces a new SQL Trigger to be created.\n","willReplaceOnChanges":true},"operation":{"type":"string","description":"The operation the trigger is associated with. Possible values are `All`, `Create`, `Update`, `Delete` and `Replace`.\n"},"type":{"type":"string","description":"Type of the Trigger. Possible values are `Pre` and `Post`.\n"}},"requiredInputs":["body","containerId","operation","type"],"stateInputs":{"description":"Input properties used for looking up and filtering SqlTrigger resources.\n","properties":{"body":{"type":"string","description":"Body of the Trigger.\n"},"containerId":{"type":"string","description":"The id of the Cosmos DB SQL Container to create the SQL Trigger within. Changing this forces a new SQL Trigger to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this SQL Trigger. Changing this forces a new SQL Trigger to be created.\n","willReplaceOnChanges":true},"operation":{"type":"string","description":"The operation the trigger is associated with. Possible values are `All`, `Create`, `Update`, `Delete` and `Replace`.\n"},"type":{"type":"string","description":"Type of the Trigger. Possible values are `Pre` and `Post`.\n"}},"type":"object"}},"azure:cosmosdb/table:Table":{"description":"Manages a Table within a Cosmos DB Account.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.cosmosdb.getAccount({\n    name: \"tfex-cosmosdb-account\",\n    resourceGroupName: \"tfex-cosmosdb-account-rg\",\n});\nconst exampleTable = new azure.cosmosdb.Table(\"example\", {\n    name: \"tfex-cosmos-table\",\n    resourceGroupName: example.then(example =\u003e example.resourceGroupName),\n    accountName: example.then(example =\u003e example.name),\n    throughput: 400,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.cosmosdb.get_account(name=\"tfex-cosmosdb-account\",\n    resource_group_name=\"tfex-cosmosdb-account-rg\")\nexample_table = azure.cosmosdb.Table(\"example\",\n    name=\"tfex-cosmos-table\",\n    resource_group_name=example.resource_group_name,\n    account_name=example.name,\n    throughput=400)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.CosmosDB.GetAccount.Invoke(new()\n    {\n        Name = \"tfex-cosmosdb-account\",\n        ResourceGroupName = \"tfex-cosmosdb-account-rg\",\n    });\n\n    var exampleTable = new Azure.CosmosDB.Table(\"example\", new()\n    {\n        Name = \"tfex-cosmos-table\",\n        ResourceGroupName = example.Apply(getAccountResult =\u003e getAccountResult.ResourceGroupName),\n        AccountName = example.Apply(getAccountResult =\u003e getAccountResult.Name),\n        Throughput = 400,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/cosmosdb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := cosmosdb.LookupAccount(ctx, \u0026cosmosdb.LookupAccountArgs{\n\t\t\tName:              \"tfex-cosmosdb-account\",\n\t\t\tResourceGroupName: \"tfex-cosmosdb-account-rg\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cosmosdb.NewTable(ctx, \"example\", \u0026cosmosdb.TableArgs{\n\t\t\tName:              pulumi.String(\"tfex-cosmos-table\"),\n\t\t\tResourceGroupName: pulumi.String(example.ResourceGroupName),\n\t\t\tAccountName:       pulumi.String(example.Name),\n\t\t\tThroughput:        pulumi.Int(400),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.cosmosdb.CosmosdbFunctions;\nimport com.pulumi.azure.cosmosdb.inputs.GetAccountArgs;\nimport com.pulumi.azure.cosmosdb.Table;\nimport com.pulumi.azure.cosmosdb.TableArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = CosmosdbFunctions.getAccount(GetAccountArgs.builder()\n            .name(\"tfex-cosmosdb-account\")\n            .resourceGroupName(\"tfex-cosmosdb-account-rg\")\n            .build());\n\n        var exampleTable = new Table(\"exampleTable\", TableArgs.builder()\n            .name(\"tfex-cosmos-table\")\n            .resourceGroupName(example.resourceGroupName())\n            .accountName(example.name())\n            .throughput(400)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleTable:\n    type: azure:cosmosdb:Table\n    name: example\n    properties:\n      name: tfex-cosmos-table\n      resourceGroupName: ${example.resourceGroupName}\n      accountName: ${example.name}\n      throughput: 400\nvariables:\n  example:\n    fn::invoke:\n      function: azure:cosmosdb:getAccount\n      arguments:\n        name: tfex-cosmosdb-account\n        resourceGroupName: tfex-cosmosdb-account-rg\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCosmosDB Tables can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:cosmosdb/table:Table table1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/account1/tables/table1\n```\n\n","properties":{"accountName":{"type":"string","description":"The name of the Cosmos DB Table to create the table within. Changing this forces a new resource to be created.\n"},"autoscaleSettings":{"$ref":"#/types/azure:cosmosdb/TableAutoscaleSettings:TableAutoscaleSettings","description":"An \u003cspan pulumi-lang-nodejs=\"`autoscaleSettings`\" pulumi-lang-dotnet=\"`AutoscaleSettings`\" pulumi-lang-go=\"`autoscaleSettings`\" pulumi-lang-python=\"`autoscale_settings`\" pulumi-lang-yaml=\"`autoscaleSettings`\" pulumi-lang-java=\"`autoscaleSettings`\"\u003e`autoscale_settings`\u003c/span\u003e block as defined below. This must be set upon database creation otherwise it cannot be updated without a manual destroy-apply.\n\n\u003e **Note:** Switching between autoscale and manual throughput is not supported via this provider and must be completed via the Azure Portal and refreshed.\n"},"name":{"type":"string","description":"Specifies the name of the Cosmos DB Table. Changing this forces a new resource to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the Cosmos DB Table is created. Changing this forces a new resource to be created.\n"},"throughput":{"type":"integer","description":"The throughput of Table (RU/s). Must be set in increments of \u003cspan pulumi-lang-nodejs=\"`100`\" pulumi-lang-dotnet=\"`100`\" pulumi-lang-go=\"`100`\" pulumi-lang-python=\"`100`\" pulumi-lang-yaml=\"`100`\" pulumi-lang-java=\"`100`\"\u003e`100`\u003c/span\u003e. The minimum value is \u003cspan pulumi-lang-nodejs=\"`400`\" pulumi-lang-dotnet=\"`400`\" pulumi-lang-go=\"`400`\" pulumi-lang-python=\"`400`\" pulumi-lang-yaml=\"`400`\" pulumi-lang-java=\"`400`\"\u003e`400`\u003c/span\u003e. This must be set upon database creation otherwise it cannot be updated without a manual resource destroy-apply.\n\n\u003e **Note:** throughput has a maximum value of \u003cspan pulumi-lang-nodejs=\"`1000000`\" pulumi-lang-dotnet=\"`1000000`\" pulumi-lang-go=\"`1000000`\" pulumi-lang-python=\"`1000000`\" pulumi-lang-yaml=\"`1000000`\" pulumi-lang-java=\"`1000000`\"\u003e`1000000`\u003c/span\u003e unless a higher limit is requested via Azure Support\n"}},"required":["accountName","name","resourceGroupName","throughput"],"inputProperties":{"accountName":{"type":"string","description":"The name of the Cosmos DB Table to create the table within. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"autoscaleSettings":{"$ref":"#/types/azure:cosmosdb/TableAutoscaleSettings:TableAutoscaleSettings","description":"An \u003cspan pulumi-lang-nodejs=\"`autoscaleSettings`\" pulumi-lang-dotnet=\"`AutoscaleSettings`\" pulumi-lang-go=\"`autoscaleSettings`\" pulumi-lang-python=\"`autoscale_settings`\" pulumi-lang-yaml=\"`autoscaleSettings`\" pulumi-lang-java=\"`autoscaleSettings`\"\u003e`autoscale_settings`\u003c/span\u003e block as defined below. This must be set upon database creation otherwise it cannot be updated without a manual destroy-apply.\n\n\u003e **Note:** Switching between autoscale and manual throughput is not supported via this provider and must be completed via the Azure Portal and refreshed.\n"},"name":{"type":"string","description":"Specifies the name of the Cosmos DB Table. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the Cosmos DB Table is created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"throughput":{"type":"integer","description":"The throughput of Table (RU/s). Must be set in increments of \u003cspan pulumi-lang-nodejs=\"`100`\" pulumi-lang-dotnet=\"`100`\" pulumi-lang-go=\"`100`\" pulumi-lang-python=\"`100`\" pulumi-lang-yaml=\"`100`\" pulumi-lang-java=\"`100`\"\u003e`100`\u003c/span\u003e. The minimum value is \u003cspan pulumi-lang-nodejs=\"`400`\" pulumi-lang-dotnet=\"`400`\" pulumi-lang-go=\"`400`\" pulumi-lang-python=\"`400`\" pulumi-lang-yaml=\"`400`\" pulumi-lang-java=\"`400`\"\u003e`400`\u003c/span\u003e. This must be set upon database creation otherwise it cannot be updated without a manual resource destroy-apply.\n\n\u003e **Note:** throughput has a maximum value of \u003cspan pulumi-lang-nodejs=\"`1000000`\" pulumi-lang-dotnet=\"`1000000`\" pulumi-lang-go=\"`1000000`\" pulumi-lang-python=\"`1000000`\" pulumi-lang-yaml=\"`1000000`\" pulumi-lang-java=\"`1000000`\"\u003e`1000000`\u003c/span\u003e unless a higher limit is requested via Azure Support\n"}},"requiredInputs":["accountName","resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering Table resources.\n","properties":{"accountName":{"type":"string","description":"The name of the Cosmos DB Table to create the table within. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"autoscaleSettings":{"$ref":"#/types/azure:cosmosdb/TableAutoscaleSettings:TableAutoscaleSettings","description":"An \u003cspan pulumi-lang-nodejs=\"`autoscaleSettings`\" pulumi-lang-dotnet=\"`AutoscaleSettings`\" pulumi-lang-go=\"`autoscaleSettings`\" pulumi-lang-python=\"`autoscale_settings`\" pulumi-lang-yaml=\"`autoscaleSettings`\" pulumi-lang-java=\"`autoscaleSettings`\"\u003e`autoscale_settings`\u003c/span\u003e block as defined below. This must be set upon database creation otherwise it cannot be updated without a manual destroy-apply.\n\n\u003e **Note:** Switching between autoscale and manual throughput is not supported via this provider and must be completed via the Azure Portal and refreshed.\n"},"name":{"type":"string","description":"Specifies the name of the Cosmos DB Table. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the Cosmos DB Table is created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"throughput":{"type":"integer","description":"The throughput of Table (RU/s). Must be set in increments of \u003cspan pulumi-lang-nodejs=\"`100`\" pulumi-lang-dotnet=\"`100`\" pulumi-lang-go=\"`100`\" pulumi-lang-python=\"`100`\" pulumi-lang-yaml=\"`100`\" pulumi-lang-java=\"`100`\"\u003e`100`\u003c/span\u003e. The minimum value is \u003cspan pulumi-lang-nodejs=\"`400`\" pulumi-lang-dotnet=\"`400`\" pulumi-lang-go=\"`400`\" pulumi-lang-python=\"`400`\" pulumi-lang-yaml=\"`400`\" pulumi-lang-java=\"`400`\"\u003e`400`\u003c/span\u003e. This must be set upon database creation otherwise it cannot be updated without a manual resource destroy-apply.\n\n\u003e **Note:** throughput has a maximum value of \u003cspan pulumi-lang-nodejs=\"`1000000`\" pulumi-lang-dotnet=\"`1000000`\" pulumi-lang-go=\"`1000000`\" pulumi-lang-python=\"`1000000`\" pulumi-lang-yaml=\"`1000000`\" pulumi-lang-java=\"`1000000`\"\u003e`1000000`\u003c/span\u003e unless a higher limit is requested via Azure Support\n"}},"type":"object"}},"azure:costmanagement/anomalyAlert:AnomalyAlert":{"description":"Manages a Cost Anomaly Alert.\n\n\u003e **Note:** Anomaly alerts are sent based on the current access of the rule creator at the time that the email is sent. Learn more [here](https://learn.microsoft.com/en-us/azure/cost-management-billing/understand/analyze-unexpected-charges#create-an-anomaly-alert).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.costmanagement.AnomalyAlert(\"example\", {\n    name: \"alertname\",\n    displayName: \"Alert DisplayName\",\n    subscriptionId: \"/subscriptions/00000000-0000-0000-0000-000000000000\",\n    emailSubject: \"My Test Anomaly Alert\",\n    emailAddresses: [\"example@test.net\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.costmanagement.AnomalyAlert(\"example\",\n    name=\"alertname\",\n    display_name=\"Alert DisplayName\",\n    subscription_id=\"/subscriptions/00000000-0000-0000-0000-000000000000\",\n    email_subject=\"My Test Anomaly Alert\",\n    email_addresses=[\"example@test.net\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.CostManagement.AnomalyAlert(\"example\", new()\n    {\n        Name = \"alertname\",\n        DisplayName = \"Alert DisplayName\",\n        SubscriptionId = \"/subscriptions/00000000-0000-0000-0000-000000000000\",\n        EmailSubject = \"My Test Anomaly Alert\",\n        EmailAddresses = new[]\n        {\n            \"example@test.net\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/costmanagement\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := costmanagement.NewAnomalyAlert(ctx, \"example\", \u0026costmanagement.AnomalyAlertArgs{\n\t\t\tName:           pulumi.String(\"alertname\"),\n\t\t\tDisplayName:    pulumi.String(\"Alert DisplayName\"),\n\t\t\tSubscriptionId: pulumi.String(\"/subscriptions/00000000-0000-0000-0000-000000000000\"),\n\t\t\tEmailSubject:   pulumi.String(\"My Test Anomaly Alert\"),\n\t\t\tEmailAddresses: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"example@test.net\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.costmanagement.AnomalyAlert;\nimport com.pulumi.azure.costmanagement.AnomalyAlertArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new AnomalyAlert(\"example\", AnomalyAlertArgs.builder()\n            .name(\"alertname\")\n            .displayName(\"Alert DisplayName\")\n            .subscriptionId(\"/subscriptions/00000000-0000-0000-0000-000000000000\")\n            .emailSubject(\"My Test Anomaly Alert\")\n            .emailAddresses(\"example@test.net\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:costmanagement:AnomalyAlert\n    properties:\n      name: alertname\n      displayName: Alert DisplayName\n      subscriptionId: /subscriptions/00000000-0000-0000-0000-000000000000\n      emailSubject: My Test Anomaly Alert\n      emailAddresses:\n        - example@test.net\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.CostManagement` - 2023-08-01\n\n## Import\n\nCost Anomaly Alerts can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:costmanagement/anomalyAlert:AnomalyAlert example /subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CostManagement/scheduledActions/dailyanomalybyresourcegroup\n```\n\n","properties":{"displayName":{"type":"string","description":"The display name which should be used for this Cost Anomaly Alert.\n"},"emailAddresses":{"type":"array","items":{"type":"string"},"description":"Specifies a list of email addresses which the Anomaly Alerts are send to.\n"},"emailSubject":{"type":"string","description":"The email subject of the Cost Anomaly Alerts. Maximum length of the subject is 70.\n"},"message":{"type":"string","description":"The message of the Cost Anomaly Alert. Maximum length of the message is 250.\n"},"name":{"type":"string","description":"The name which should be used for this Cost Anomaly Alert. Changing this forces a new resource to be created. The name can contain only lowercase letters, numbers and hyphens.\n"},"notificationEmail":{"type":"string","description":"The email address of the point of contact that should get the unsubscribe requests and notification emails.\n"},"subscriptionId":{"type":"string","description":"The ID of the Subscription this Cost Anomaly Alert is scoped to. Changing this forces a new resource to be created. When not supplied this defaults to the subscription configured in the provider.\n"}},"required":["displayName","emailAddresses","emailSubject","name","notificationEmail","subscriptionId"],"inputProperties":{"displayName":{"type":"string","description":"The display name which should be used for this Cost Anomaly Alert.\n"},"emailAddresses":{"type":"array","items":{"type":"string"},"description":"Specifies a list of email addresses which the Anomaly Alerts are send to.\n"},"emailSubject":{"type":"string","description":"The email subject of the Cost Anomaly Alerts. Maximum length of the subject is 70.\n"},"message":{"type":"string","description":"The message of the Cost Anomaly Alert. Maximum length of the message is 250.\n"},"name":{"type":"string","description":"The name which should be used for this Cost Anomaly Alert. Changing this forces a new resource to be created. The name can contain only lowercase letters, numbers and hyphens.\n","willReplaceOnChanges":true},"notificationEmail":{"type":"string","description":"The email address of the point of contact that should get the unsubscribe requests and notification emails.\n"},"subscriptionId":{"type":"string","description":"The ID of the Subscription this Cost Anomaly Alert is scoped to. Changing this forces a new resource to be created. When not supplied this defaults to the subscription configured in the provider.\n","willReplaceOnChanges":true}},"requiredInputs":["displayName","emailAddresses","emailSubject"],"stateInputs":{"description":"Input properties used for looking up and filtering AnomalyAlert resources.\n","properties":{"displayName":{"type":"string","description":"The display name which should be used for this Cost Anomaly Alert.\n"},"emailAddresses":{"type":"array","items":{"type":"string"},"description":"Specifies a list of email addresses which the Anomaly Alerts are send to.\n"},"emailSubject":{"type":"string","description":"The email subject of the Cost Anomaly Alerts. Maximum length of the subject is 70.\n"},"message":{"type":"string","description":"The message of the Cost Anomaly Alert. Maximum length of the message is 250.\n"},"name":{"type":"string","description":"The name which should be used for this Cost Anomaly Alert. Changing this forces a new resource to be created. The name can contain only lowercase letters, numbers and hyphens.\n","willReplaceOnChanges":true},"notificationEmail":{"type":"string","description":"The email address of the point of contact that should get the unsubscribe requests and notification emails.\n"},"subscriptionId":{"type":"string","description":"The ID of the Subscription this Cost Anomaly Alert is scoped to. Changing this forces a new resource to be created. When not supplied this defaults to the subscription configured in the provider.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:costmanagement/scheduledAction:ScheduledAction":{"description":"Manages an Azure Cost Management Scheduled Action.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.costmanagement.ScheduledAction(\"example\", {\n    name: \"examplescheduledaction\",\n    displayName: \"Report Last 6 Months\",\n    viewId: \"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CostManagement/views/ms:CostByService\",\n    emailAddressSender: \"platformteam@test.com\",\n    emailSubject: \"Cost Management Report\",\n    emailAddresses: [\"example@example.com\"],\n    message: \"Hi all, take a look at last 6 months spending!\",\n    frequency: \"Daily\",\n    startDate: \"2023-01-02T00:00:00Z\",\n    endDate: \"2023-02-02T00:00:00Z\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.costmanagement.ScheduledAction(\"example\",\n    name=\"examplescheduledaction\",\n    display_name=\"Report Last 6 Months\",\n    view_id=\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CostManagement/views/ms:CostByService\",\n    email_address_sender=\"platformteam@test.com\",\n    email_subject=\"Cost Management Report\",\n    email_addresses=[\"example@example.com\"],\n    message=\"Hi all, take a look at last 6 months spending!\",\n    frequency=\"Daily\",\n    start_date=\"2023-01-02T00:00:00Z\",\n    end_date=\"2023-02-02T00:00:00Z\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.CostManagement.ScheduledAction(\"example\", new()\n    {\n        Name = \"examplescheduledaction\",\n        DisplayName = \"Report Last 6 Months\",\n        ViewId = \"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CostManagement/views/ms:CostByService\",\n        EmailAddressSender = \"platformteam@test.com\",\n        EmailSubject = \"Cost Management Report\",\n        EmailAddresses = new[]\n        {\n            \"example@example.com\",\n        },\n        Message = \"Hi all, take a look at last 6 months spending!\",\n        Frequency = \"Daily\",\n        StartDate = \"2023-01-02T00:00:00Z\",\n        EndDate = \"2023-02-02T00:00:00Z\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/costmanagement\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := costmanagement.NewScheduledAction(ctx, \"example\", \u0026costmanagement.ScheduledActionArgs{\n\t\t\tName:               pulumi.String(\"examplescheduledaction\"),\n\t\t\tDisplayName:        pulumi.String(\"Report Last 6 Months\"),\n\t\t\tViewId:             pulumi.String(\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CostManagement/views/ms:CostByService\"),\n\t\t\tEmailAddressSender: pulumi.String(\"platformteam@test.com\"),\n\t\t\tEmailSubject:       pulumi.String(\"Cost Management Report\"),\n\t\t\tEmailAddresses: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"example@example.com\"),\n\t\t\t},\n\t\t\tMessage:   pulumi.String(\"Hi all, take a look at last 6 months spending!\"),\n\t\t\tFrequency: pulumi.String(\"Daily\"),\n\t\t\tStartDate: pulumi.String(\"2023-01-02T00:00:00Z\"),\n\t\t\tEndDate:   pulumi.String(\"2023-02-02T00:00:00Z\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.costmanagement.ScheduledAction;\nimport com.pulumi.azure.costmanagement.ScheduledActionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ScheduledAction(\"example\", ScheduledActionArgs.builder()\n            .name(\"examplescheduledaction\")\n            .displayName(\"Report Last 6 Months\")\n            .viewId(\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CostManagement/views/ms:CostByService\")\n            .emailAddressSender(\"platformteam@test.com\")\n            .emailSubject(\"Cost Management Report\")\n            .emailAddresses(\"example@example.com\")\n            .message(\"Hi all, take a look at last 6 months spending!\")\n            .frequency(\"Daily\")\n            .startDate(\"2023-01-02T00:00:00Z\")\n            .endDate(\"2023-02-02T00:00:00Z\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:costmanagement:ScheduledAction\n    properties:\n      name: examplescheduledaction\n      displayName: Report Last 6 Months\n      viewId: /subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CostManagement/views/ms:CostByService\n      emailAddressSender: platformteam@test.com\n      emailSubject: Cost Management Report\n      emailAddresses:\n        - example@example.com\n      message: Hi all, take a look at last 6 months spending!\n      frequency: Daily\n      startDate: 2023-01-02T00:00:00Z\n      endDate: 2023-02-02T00:00:00Z\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.CostManagement` - 2023-08-01\n\n## Import\n\nAzure Cost Management Scheduled Actions can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:costmanagement/scheduledAction:ScheduledAction example /subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CostManagement/scheduledActions/scheduledaction1\n```\n\n","properties":{"dayOfMonth":{"type":"integer","description":"UTC day on which cost analysis data will be emailed. Must be between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`31`\" pulumi-lang-dotnet=\"`31`\" pulumi-lang-go=\"`31`\" pulumi-lang-python=\"`31`\" pulumi-lang-yaml=\"`31`\" pulumi-lang-java=\"`31`\"\u003e`31`\u003c/span\u003e. This property is applicable when \u003cspan pulumi-lang-nodejs=\"`frequency`\" pulumi-lang-dotnet=\"`Frequency`\" pulumi-lang-go=\"`frequency`\" pulumi-lang-python=\"`frequency`\" pulumi-lang-yaml=\"`frequency`\" pulumi-lang-java=\"`frequency`\"\u003e`frequency`\u003c/span\u003e is `Monthly`.\n"},"daysOfWeeks":{"type":"array","items":{"type":"string"},"description":"Specifies a list of day names on which cost analysis data will be emailed. This property is applicable when frequency is `Weekly` or `Monthly`. Possible values are `Friday`, `Monday`, `Saturday`, `Sunday`, `Thursday`, `Tuesday` and `Wednesday`.\n"},"displayName":{"type":"string","description":"User visible input name of the Cost Management Scheduled Action.\n"},"emailAddressSender":{"type":"string","description":"Email address of the point of contact that should get the unsubscribe requests of Scheduled Action notification emails.\n"},"emailAddresses":{"type":"array","items":{"type":"string"},"description":"Specifies a list of email addresses that will receive the Scheduled Action.\n"},"emailSubject":{"type":"string","description":"Subject of the email. Length is limited to 70 characters.\n"},"endDate":{"type":"string","description":"The end date and time of the Scheduled Action (UTC).\n"},"frequency":{"type":"string","description":"Frequency of the schedule. Possible values are `Daily`, `Monthly` and `Weekly`. Value `Monthly` requires either \u003cspan pulumi-lang-nodejs=\"`weeksOfMonth`\" pulumi-lang-dotnet=\"`WeeksOfMonth`\" pulumi-lang-go=\"`weeksOfMonth`\" pulumi-lang-python=\"`weeks_of_month`\" pulumi-lang-yaml=\"`weeksOfMonth`\" pulumi-lang-java=\"`weeksOfMonth`\"\u003e`weeks_of_month`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`daysOfWeek`\" pulumi-lang-dotnet=\"`DaysOfWeek`\" pulumi-lang-go=\"`daysOfWeek`\" pulumi-lang-python=\"`days_of_week`\" pulumi-lang-yaml=\"`daysOfWeek`\" pulumi-lang-java=\"`daysOfWeek`\"\u003e`days_of_week`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`dayOfMonth`\" pulumi-lang-dotnet=\"`DayOfMonth`\" pulumi-lang-go=\"`dayOfMonth`\" pulumi-lang-python=\"`day_of_month`\" pulumi-lang-yaml=\"`dayOfMonth`\" pulumi-lang-java=\"`dayOfMonth`\"\u003e`day_of_month`\u003c/span\u003e to be specified. Value `Weekly` requires \u003cspan pulumi-lang-nodejs=\"`daysOfWeek`\" pulumi-lang-dotnet=\"`DaysOfWeek`\" pulumi-lang-go=\"`daysOfWeek`\" pulumi-lang-python=\"`days_of_week`\" pulumi-lang-yaml=\"`daysOfWeek`\" pulumi-lang-java=\"`daysOfWeek`\"\u003e`days_of_week`\u003c/span\u003e to be specified.\n"},"hourOfDay":{"type":"integer","description":"UTC time at which cost analysis data will be emailed. Must be between \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`23`\" pulumi-lang-dotnet=\"`23`\" pulumi-lang-go=\"`23`\" pulumi-lang-python=\"`23`\" pulumi-lang-yaml=\"`23`\" pulumi-lang-java=\"`23`\"\u003e`23`\u003c/span\u003e.\n"},"message":{"type":"string","description":"Message to be added in the email. Length is limited to 250 characters.\n"},"name":{"type":"string","description":"The name which should be used for this Azure Cost Management Scheduled Action. Changing this forces a new Azure Cost Management Scheduled Action to be created.\n"},"startDate":{"type":"string","description":"The start date and time of the Scheduled Action (UTC).\n"},"viewId":{"type":"string","description":"The ID of the Cost Management View that is used by the Scheduled Action. Changing this forces a new resource to be created.\n"},"weeksOfMonths":{"type":"array","items":{"type":"string"},"description":"Specifies a list of weeks in which cost analysis data will be emailed. This property is applicable when \u003cspan pulumi-lang-nodejs=\"`frequency`\" pulumi-lang-dotnet=\"`Frequency`\" pulumi-lang-go=\"`frequency`\" pulumi-lang-python=\"`frequency`\" pulumi-lang-yaml=\"`frequency`\" pulumi-lang-java=\"`frequency`\"\u003e`frequency`\u003c/span\u003e is `Monthly` and used in combination with \u003cspan pulumi-lang-nodejs=\"`daysOfWeek`\" pulumi-lang-dotnet=\"`DaysOfWeek`\" pulumi-lang-go=\"`daysOfWeek`\" pulumi-lang-python=\"`days_of_week`\" pulumi-lang-yaml=\"`daysOfWeek`\" pulumi-lang-java=\"`daysOfWeek`\"\u003e`days_of_week`\u003c/span\u003e. Possible values are `First`, `Fourth`, `Last`, `Second` and `Third`.\n"}},"required":["displayName","emailAddressSender","emailAddresses","emailSubject","endDate","frequency","name","startDate","viewId"],"inputProperties":{"dayOfMonth":{"type":"integer","description":"UTC day on which cost analysis data will be emailed. Must be between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`31`\" pulumi-lang-dotnet=\"`31`\" pulumi-lang-go=\"`31`\" pulumi-lang-python=\"`31`\" pulumi-lang-yaml=\"`31`\" pulumi-lang-java=\"`31`\"\u003e`31`\u003c/span\u003e. This property is applicable when \u003cspan pulumi-lang-nodejs=\"`frequency`\" pulumi-lang-dotnet=\"`Frequency`\" pulumi-lang-go=\"`frequency`\" pulumi-lang-python=\"`frequency`\" pulumi-lang-yaml=\"`frequency`\" pulumi-lang-java=\"`frequency`\"\u003e`frequency`\u003c/span\u003e is `Monthly`.\n"},"daysOfWeeks":{"type":"array","items":{"type":"string"},"description":"Specifies a list of day names on which cost analysis data will be emailed. This property is applicable when frequency is `Weekly` or `Monthly`. Possible values are `Friday`, `Monday`, `Saturday`, `Sunday`, `Thursday`, `Tuesday` and `Wednesday`.\n"},"displayName":{"type":"string","description":"User visible input name of the Cost Management Scheduled Action.\n"},"emailAddressSender":{"type":"string","description":"Email address of the point of contact that should get the unsubscribe requests of Scheduled Action notification emails.\n"},"emailAddresses":{"type":"array","items":{"type":"string"},"description":"Specifies a list of email addresses that will receive the Scheduled Action.\n"},"emailSubject":{"type":"string","description":"Subject of the email. Length is limited to 70 characters.\n"},"endDate":{"type":"string","description":"The end date and time of the Scheduled Action (UTC).\n"},"frequency":{"type":"string","description":"Frequency of the schedule. Possible values are `Daily`, `Monthly` and `Weekly`. Value `Monthly` requires either \u003cspan pulumi-lang-nodejs=\"`weeksOfMonth`\" pulumi-lang-dotnet=\"`WeeksOfMonth`\" pulumi-lang-go=\"`weeksOfMonth`\" pulumi-lang-python=\"`weeks_of_month`\" pulumi-lang-yaml=\"`weeksOfMonth`\" pulumi-lang-java=\"`weeksOfMonth`\"\u003e`weeks_of_month`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`daysOfWeek`\" pulumi-lang-dotnet=\"`DaysOfWeek`\" pulumi-lang-go=\"`daysOfWeek`\" pulumi-lang-python=\"`days_of_week`\" pulumi-lang-yaml=\"`daysOfWeek`\" pulumi-lang-java=\"`daysOfWeek`\"\u003e`days_of_week`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`dayOfMonth`\" pulumi-lang-dotnet=\"`DayOfMonth`\" pulumi-lang-go=\"`dayOfMonth`\" pulumi-lang-python=\"`day_of_month`\" pulumi-lang-yaml=\"`dayOfMonth`\" pulumi-lang-java=\"`dayOfMonth`\"\u003e`day_of_month`\u003c/span\u003e to be specified. Value `Weekly` requires \u003cspan pulumi-lang-nodejs=\"`daysOfWeek`\" pulumi-lang-dotnet=\"`DaysOfWeek`\" pulumi-lang-go=\"`daysOfWeek`\" pulumi-lang-python=\"`days_of_week`\" pulumi-lang-yaml=\"`daysOfWeek`\" pulumi-lang-java=\"`daysOfWeek`\"\u003e`days_of_week`\u003c/span\u003e to be specified.\n"},"hourOfDay":{"type":"integer","description":"UTC time at which cost analysis data will be emailed. Must be between \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`23`\" pulumi-lang-dotnet=\"`23`\" pulumi-lang-go=\"`23`\" pulumi-lang-python=\"`23`\" pulumi-lang-yaml=\"`23`\" pulumi-lang-java=\"`23`\"\u003e`23`\u003c/span\u003e.\n"},"message":{"type":"string","description":"Message to be added in the email. Length is limited to 250 characters.\n"},"name":{"type":"string","description":"The name which should be used for this Azure Cost Management Scheduled Action. Changing this forces a new Azure Cost Management Scheduled Action to be created.\n","willReplaceOnChanges":true},"startDate":{"type":"string","description":"The start date and time of the Scheduled Action (UTC).\n"},"viewId":{"type":"string","description":"The ID of the Cost Management View that is used by the Scheduled Action. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"weeksOfMonths":{"type":"array","items":{"type":"string"},"description":"Specifies a list of weeks in which cost analysis data will be emailed. This property is applicable when \u003cspan pulumi-lang-nodejs=\"`frequency`\" pulumi-lang-dotnet=\"`Frequency`\" pulumi-lang-go=\"`frequency`\" pulumi-lang-python=\"`frequency`\" pulumi-lang-yaml=\"`frequency`\" pulumi-lang-java=\"`frequency`\"\u003e`frequency`\u003c/span\u003e is `Monthly` and used in combination with \u003cspan pulumi-lang-nodejs=\"`daysOfWeek`\" pulumi-lang-dotnet=\"`DaysOfWeek`\" pulumi-lang-go=\"`daysOfWeek`\" pulumi-lang-python=\"`days_of_week`\" pulumi-lang-yaml=\"`daysOfWeek`\" pulumi-lang-java=\"`daysOfWeek`\"\u003e`days_of_week`\u003c/span\u003e. Possible values are `First`, `Fourth`, `Last`, `Second` and `Third`.\n"}},"requiredInputs":["displayName","emailAddressSender","emailAddresses","emailSubject","endDate","frequency","startDate","viewId"],"stateInputs":{"description":"Input properties used for looking up and filtering ScheduledAction resources.\n","properties":{"dayOfMonth":{"type":"integer","description":"UTC day on which cost analysis data will be emailed. Must be between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`31`\" pulumi-lang-dotnet=\"`31`\" pulumi-lang-go=\"`31`\" pulumi-lang-python=\"`31`\" pulumi-lang-yaml=\"`31`\" pulumi-lang-java=\"`31`\"\u003e`31`\u003c/span\u003e. This property is applicable when \u003cspan pulumi-lang-nodejs=\"`frequency`\" pulumi-lang-dotnet=\"`Frequency`\" pulumi-lang-go=\"`frequency`\" pulumi-lang-python=\"`frequency`\" pulumi-lang-yaml=\"`frequency`\" pulumi-lang-java=\"`frequency`\"\u003e`frequency`\u003c/span\u003e is `Monthly`.\n"},"daysOfWeeks":{"type":"array","items":{"type":"string"},"description":"Specifies a list of day names on which cost analysis data will be emailed. This property is applicable when frequency is `Weekly` or `Monthly`. Possible values are `Friday`, `Monday`, `Saturday`, `Sunday`, `Thursday`, `Tuesday` and `Wednesday`.\n"},"displayName":{"type":"string","description":"User visible input name of the Cost Management Scheduled Action.\n"},"emailAddressSender":{"type":"string","description":"Email address of the point of contact that should get the unsubscribe requests of Scheduled Action notification emails.\n"},"emailAddresses":{"type":"array","items":{"type":"string"},"description":"Specifies a list of email addresses that will receive the Scheduled Action.\n"},"emailSubject":{"type":"string","description":"Subject of the email. Length is limited to 70 characters.\n"},"endDate":{"type":"string","description":"The end date and time of the Scheduled Action (UTC).\n"},"frequency":{"type":"string","description":"Frequency of the schedule. Possible values are `Daily`, `Monthly` and `Weekly`. Value `Monthly` requires either \u003cspan pulumi-lang-nodejs=\"`weeksOfMonth`\" pulumi-lang-dotnet=\"`WeeksOfMonth`\" pulumi-lang-go=\"`weeksOfMonth`\" pulumi-lang-python=\"`weeks_of_month`\" pulumi-lang-yaml=\"`weeksOfMonth`\" pulumi-lang-java=\"`weeksOfMonth`\"\u003e`weeks_of_month`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`daysOfWeek`\" pulumi-lang-dotnet=\"`DaysOfWeek`\" pulumi-lang-go=\"`daysOfWeek`\" pulumi-lang-python=\"`days_of_week`\" pulumi-lang-yaml=\"`daysOfWeek`\" pulumi-lang-java=\"`daysOfWeek`\"\u003e`days_of_week`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`dayOfMonth`\" pulumi-lang-dotnet=\"`DayOfMonth`\" pulumi-lang-go=\"`dayOfMonth`\" pulumi-lang-python=\"`day_of_month`\" pulumi-lang-yaml=\"`dayOfMonth`\" pulumi-lang-java=\"`dayOfMonth`\"\u003e`day_of_month`\u003c/span\u003e to be specified. Value `Weekly` requires \u003cspan pulumi-lang-nodejs=\"`daysOfWeek`\" pulumi-lang-dotnet=\"`DaysOfWeek`\" pulumi-lang-go=\"`daysOfWeek`\" pulumi-lang-python=\"`days_of_week`\" pulumi-lang-yaml=\"`daysOfWeek`\" pulumi-lang-java=\"`daysOfWeek`\"\u003e`days_of_week`\u003c/span\u003e to be specified.\n"},"hourOfDay":{"type":"integer","description":"UTC time at which cost analysis data will be emailed. Must be between \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`23`\" pulumi-lang-dotnet=\"`23`\" pulumi-lang-go=\"`23`\" pulumi-lang-python=\"`23`\" pulumi-lang-yaml=\"`23`\" pulumi-lang-java=\"`23`\"\u003e`23`\u003c/span\u003e.\n"},"message":{"type":"string","description":"Message to be added in the email. Length is limited to 250 characters.\n"},"name":{"type":"string","description":"The name which should be used for this Azure Cost Management Scheduled Action. Changing this forces a new Azure Cost Management Scheduled Action to be created.\n","willReplaceOnChanges":true},"startDate":{"type":"string","description":"The start date and time of the Scheduled Action (UTC).\n"},"viewId":{"type":"string","description":"The ID of the Cost Management View that is used by the Scheduled Action. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"weeksOfMonths":{"type":"array","items":{"type":"string"},"description":"Specifies a list of weeks in which cost analysis data will be emailed. This property is applicable when \u003cspan pulumi-lang-nodejs=\"`frequency`\" pulumi-lang-dotnet=\"`Frequency`\" pulumi-lang-go=\"`frequency`\" pulumi-lang-python=\"`frequency`\" pulumi-lang-yaml=\"`frequency`\" pulumi-lang-java=\"`frequency`\"\u003e`frequency`\u003c/span\u003e is `Monthly` and used in combination with \u003cspan pulumi-lang-nodejs=\"`daysOfWeek`\" pulumi-lang-dotnet=\"`DaysOfWeek`\" pulumi-lang-go=\"`daysOfWeek`\" pulumi-lang-python=\"`days_of_week`\" pulumi-lang-yaml=\"`daysOfWeek`\" pulumi-lang-java=\"`daysOfWeek`\"\u003e`days_of_week`\u003c/span\u003e. Possible values are `First`, `Fourth`, `Last`, `Second` and `Third`.\n"}},"type":"object"}},"azure:customip/prefix:Prefix":{"description":"Manages a custom IPv4 prefix or custom IPv6 prefix.\n\n## Example Usage\n\n*IPv4 custom prefix*\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst examplePrefix = new azure.customip.Prefix(\"example\", {\n    name: \"example-CustomIPPrefix\",\n    location: example.location,\n    resourceGroupName: example.name,\n    cidr: \"1.2.3.4/22\",\n    zones: [\n        \"1\",\n        \"2\",\n        \"3\",\n    ],\n    commissioningEnabled: true,\n    roaValidityEndDate: \"2099-12-12\",\n    wanValidationSignedMessage: \"signed message for WAN validation\",\n    tags: {\n        env: \"test\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_prefix = azure.customip.Prefix(\"example\",\n    name=\"example-CustomIPPrefix\",\n    location=example.location,\n    resource_group_name=example.name,\n    cidr=\"1.2.3.4/22\",\n    zones=[\n        \"1\",\n        \"2\",\n        \"3\",\n    ],\n    commissioning_enabled=True,\n    roa_validity_end_date=\"2099-12-12\",\n    wan_validation_signed_message=\"signed message for WAN validation\",\n    tags={\n        \"env\": \"test\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var examplePrefix = new Azure.CustomIp.Prefix(\"example\", new()\n    {\n        Name = \"example-CustomIPPrefix\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Cidr = \"1.2.3.4/22\",\n        Zones = new[]\n        {\n            \"1\",\n            \"2\",\n            \"3\",\n        },\n        CommissioningEnabled = true,\n        RoaValidityEndDate = \"2099-12-12\",\n        WanValidationSignedMessage = \"signed message for WAN validation\",\n        Tags = \n        {\n            { \"env\", \"test\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/customip\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = customip.NewPrefix(ctx, \"example\", \u0026customip.PrefixArgs{\n\t\t\tName:              pulumi.String(\"example-CustomIPPrefix\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tCidr:              pulumi.String(\"1.2.3.4/22\"),\n\t\t\tZones: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"1\"),\n\t\t\t\tpulumi.String(\"2\"),\n\t\t\t\tpulumi.String(\"3\"),\n\t\t\t},\n\t\t\tCommissioningEnabled:       pulumi.Bool(true),\n\t\t\tRoaValidityEndDate:         pulumi.String(\"2099-12-12\"),\n\t\t\tWanValidationSignedMessage: pulumi.String(\"signed message for WAN validation\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"env\": pulumi.String(\"test\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.customip.Prefix;\nimport com.pulumi.azure.customip.PrefixArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var examplePrefix = new Prefix(\"examplePrefix\", PrefixArgs.builder()\n            .name(\"example-CustomIPPrefix\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .cidr(\"1.2.3.4/22\")\n            .zones(            \n                \"1\",\n                \"2\",\n                \"3\")\n            .commissioningEnabled(true)\n            .roaValidityEndDate(\"2099-12-12\")\n            .wanValidationSignedMessage(\"signed message for WAN validation\")\n            .tags(Map.of(\"env\", \"test\"))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  examplePrefix:\n    type: azure:customip:Prefix\n    name: example\n    properties:\n      name: example-CustomIPPrefix\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      cidr: 1.2.3.4/22\n      zones:\n        - '1'\n        - '2'\n        - '3'\n      commissioningEnabled: true\n      roaValidityEndDate: 2099-12-12\n      wanValidationSignedMessage: signed message for WAN validation\n      tags:\n        env: test\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n*IPv6 custom prefix*\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\nimport * as std from \"@pulumi/std\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst global = new azure.customip.Prefix(\"global\", {\n    name: \"example-Global-CustomIPPrefix\",\n    location: test.location,\n    resourceGroupName: test.name,\n    cidr: \"2001:db8:1::/48\",\n    roaValidityEndDate: \"2199-12-12\",\n    wanValidationSignedMessage: \"signed message for WAN validation\",\n});\nconst regional = new azure.customip.Prefix(\"regional\", {\n    name: \"example-Regional-CustomIPPrefix\",\n    location: test.location,\n    resourceGroupName: test.name,\n    parentCustomIpPrefixId: global.id,\n    cidr: global.cidr.apply(cidr =\u003e std.cidrsubnetOutput({\n        input: cidr,\n        newbits: 16,\n        netnum: 1,\n    })).apply(invoke =\u003e invoke.result),\n    zones: [\"1\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\nimport pulumi_std as std\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nglobal_ = azure.customip.Prefix(\"global\",\n    name=\"example-Global-CustomIPPrefix\",\n    location=test[\"location\"],\n    resource_group_name=test[\"name\"],\n    cidr=\"2001:db8:1::/48\",\n    roa_validity_end_date=\"2199-12-12\",\n    wan_validation_signed_message=\"signed message for WAN validation\")\nregional = azure.customip.Prefix(\"regional\",\n    name=\"example-Regional-CustomIPPrefix\",\n    location=test[\"location\"],\n    resource_group_name=test[\"name\"],\n    parent_custom_ip_prefix_id=global_.id,\n    cidr=global_.cidr.apply(lambda cidr: std.cidrsubnet_output(input=cidr,\n        newbits=16,\n        netnum=1)).apply(lambda invoke: invoke.result),\n    zones=[\"1\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var @global = new Azure.CustomIp.Prefix(\"global\", new()\n    {\n        Name = \"example-Global-CustomIPPrefix\",\n        Location = test.Location,\n        ResourceGroupName = test.Name,\n        Cidr = \"2001:db8:1::/48\",\n        RoaValidityEndDate = \"2199-12-12\",\n        WanValidationSignedMessage = \"signed message for WAN validation\",\n    });\n\n    var regional = new Azure.CustomIp.Prefix(\"regional\", new()\n    {\n        Name = \"example-Regional-CustomIPPrefix\",\n        Location = test.Location,\n        ResourceGroupName = test.Name,\n        ParentCustomIpPrefixId = @global.Id,\n        Cidr = @global.Cidr.Apply(cidr =\u003e Std.Cidrsubnet.Invoke(new()\n        {\n            Input = cidr,\n            Newbits = 16,\n            Netnum = 1,\n        })).Apply(invoke =\u003e invoke.Result),\n        Zones = new[]\n        {\n            \"1\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/customip\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\n_, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\nName: pulumi.String(\"example-resources\"),\nLocation: pulumi.String(\"West Europe\"),\n})\nif err != nil {\nreturn err\n}\nglobal, err := customip.NewPrefix(ctx, \"global\", \u0026customip.PrefixArgs{\nName: pulumi.String(\"example-Global-CustomIPPrefix\"),\nLocation: pulumi.Any(test.Location),\nResourceGroupName: pulumi.Any(test.Name),\nCidr: pulumi.String(\"2001:db8:1::/48\"),\nRoaValidityEndDate: pulumi.String(\"2199-12-12\"),\nWanValidationSignedMessage: pulumi.String(\"signed message for WAN validation\"),\n})\nif err != nil {\nreturn err\n}\ninvokeCidrsubnet, err := std.Cidrsubnet(ctx, \u0026std.CidrsubnetArgs{\nInput: cidr,\nNewbits: 16,\nNetnum: 1,\n}, nil)\nif err != nil {\nreturn err\n}\n_, err = customip.NewPrefix(ctx, \"regional\", \u0026customip.PrefixArgs{\nName: pulumi.String(\"example-Regional-CustomIPPrefix\"),\nLocation: pulumi.Any(test.Location),\nResourceGroupName: pulumi.Any(test.Name),\nParentCustomIpPrefixId: global.ID(),\nCidr: pulumi.String(global.Cidr.ApplyT(func(cidr string) (std.CidrsubnetResult, error) {\n%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference)).(std.CidrsubnetResultOutput).ApplyT(func(invoke std.CidrsubnetResult) (*string, error) {\nreturn invoke.Result, nil\n}).(pulumi.StringPtrOutput)),\nZones: pulumi.StringArray{\npulumi.String(\"1\"),\n},\n})\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.customip.Prefix;\nimport com.pulumi.azure.customip.PrefixArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.CidrsubnetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var global = new Prefix(\"global\", PrefixArgs.builder()\n            .name(\"example-Global-CustomIPPrefix\")\n            .location(test.location())\n            .resourceGroupName(test.name())\n            .cidr(\"2001:db8:1::/48\")\n            .roaValidityEndDate(\"2199-12-12\")\n            .wanValidationSignedMessage(\"signed message for WAN validation\")\n            .build());\n\n        var regional = new Prefix(\"regional\", PrefixArgs.builder()\n            .name(\"example-Regional-CustomIPPrefix\")\n            .location(test.location())\n            .resourceGroupName(test.name())\n            .parentCustomIpPrefixId(global.id())\n            .cidr(global.cidr().applyValue(_cidr -\u003e StdFunctions.cidrsubnet(CidrsubnetArgs.builder()\n                .input(_cidr)\n                .newbits(16)\n                .netnum(1)\n                .build())).applyValue(_invoke -\u003e _invoke.result()))\n            .zones(\"1\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  global:\n    type: azure:customip:Prefix\n    properties:\n      name: example-Global-CustomIPPrefix\n      location: ${test.location}\n      resourceGroupName: ${test.name}\n      cidr: 2001:db8:1::/48\n      roaValidityEndDate: 2199-12-12\n      wanValidationSignedMessage: signed message for WAN validation\n  regional:\n    type: azure:customip:Prefix\n    properties:\n      name: example-Regional-CustomIPPrefix\n      location: ${test.location}\n      resourceGroupName: ${test.name}\n      parentCustomIpPrefixId: ${global.id}\n      cidr:\n        fn::invoke:\n          function: std:cidrsubnet\n          arguments:\n            input: ${global.cidr}\n            newbits: 16\n            netnum: 1\n          return: result\n      zones:\n        - '1'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nA Custom IP Prefix can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:customip/prefix:Prefix example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Network/customIPPrefixes/customIPPrefix1\n```\n\n","properties":{"cidr":{"type":"string","description":"The \u003cspan pulumi-lang-nodejs=\"`cidr`\" pulumi-lang-dotnet=\"`Cidr`\" pulumi-lang-go=\"`cidr`\" pulumi-lang-python=\"`cidr`\" pulumi-lang-yaml=\"`cidr`\" pulumi-lang-java=\"`cidr`\"\u003e`cidr`\u003c/span\u003e of the Custom IP Prefix, either IPv4 or IPv6. Changing this forces a new resource to be created.\n"},"commissioningEnabled":{"type":"boolean","description":"Specifies that the custom IP prefix should be commissioned after provisioning in Azure. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n!\u003e **Note:** Changing the value of \u003cspan pulumi-lang-nodejs=\"`commissioningEnabled`\" pulumi-lang-dotnet=\"`CommissioningEnabled`\" pulumi-lang-go=\"`commissioningEnabled`\" pulumi-lang-python=\"`commissioning_enabled`\" pulumi-lang-yaml=\"`commissioningEnabled`\" pulumi-lang-java=\"`commissioningEnabled`\"\u003e`commissioning_enabled`\u003c/span\u003e from \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e causes the IP prefix to stop being advertised by Azure and is functionally equivalent to deleting it when used in a production setting.\n"},"internetAdvertisingDisabled":{"type":"boolean","description":"Specifies that the custom IP prefix should not be publicly advertised on the Internet when commissioned (regional commissioning feature). Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n!\u003e **Note:** Changing the value of \u003cspan pulumi-lang-nodejs=\"`internetAdvertisingDisabled`\" pulumi-lang-dotnet=\"`InternetAdvertisingDisabled`\" pulumi-lang-go=\"`internetAdvertisingDisabled`\" pulumi-lang-python=\"`internet_advertising_disabled`\" pulumi-lang-yaml=\"`internetAdvertisingDisabled`\" pulumi-lang-java=\"`internetAdvertisingDisabled`\"\u003e`internet_advertising_disabled`\u003c/span\u003e from \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e causes the IP prefix to stop being advertised by Azure and is functionally equivalent to deleting it when used in a production setting.\n"},"location":{"type":"string","description":"The location where the Custom IP Prefix should exist. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"The name of the Custom IP Prefix. Changing this forces a new resource to be created.\n"},"parentCustomIpPrefixId":{"type":"string","description":"Specifies the ID of the parent prefix. Only needed when creating a regional/child IPv6 prefix. Changing this forces a new resource to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group in which to create the Custom IP Prefix. Changing this forces a new resource to be created.\n"},"roaValidityEndDate":{"type":"string","description":"The expiration date of the Route Origin Authorization (ROA) document which has been filed with the Routing Internet Registry (RIR) for this prefix. The expected format is `YYYY-MM-DD`. Required when provisioning an IPv4 prefix or IPv6 global prefix. Changing this forces a new resource to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the Custom IP Prefix.\n"},"wanValidationSignedMessage":{"type":"string","description":"The signed base64-encoded authorization message, which will be sent to Microsoft for WAN verification. Required when provisioning an IPv4 prefix or IPv6 global prefix. Refer to [Azure documentation](https://learn.microsoft.com/en-us/azure/virtual-network/ip-services/create-custom-ip-address-prefix-cli#certificate-readiness) for more details about the process for your RIR. Changing this forces a new resource to be created.\n"},"zones":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Availability Zones in which this Custom IP Prefix should be located. Should not be specified when creating an IPv6 global prefix. Changing this forces a new resource to be created.\n\n\u003e **Note:** In regions with [availability zones](https://docs.microsoft.com/en-us/azure/availability-zones/az-overview), the Custom IP Prefix must be specified as either `Zone-redundant` or assigned to a specific zone. It can't be created with no zone specified in these regions. All IPs from the prefix must have the same zonal properties.\n"}},"required":["cidr","location","name","resourceGroupName"],"inputProperties":{"cidr":{"type":"string","description":"The \u003cspan pulumi-lang-nodejs=\"`cidr`\" pulumi-lang-dotnet=\"`Cidr`\" pulumi-lang-go=\"`cidr`\" pulumi-lang-python=\"`cidr`\" pulumi-lang-yaml=\"`cidr`\" pulumi-lang-java=\"`cidr`\"\u003e`cidr`\u003c/span\u003e of the Custom IP Prefix, either IPv4 or IPv6. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"commissioningEnabled":{"type":"boolean","description":"Specifies that the custom IP prefix should be commissioned after provisioning in Azure. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n!\u003e **Note:** Changing the value of \u003cspan pulumi-lang-nodejs=\"`commissioningEnabled`\" pulumi-lang-dotnet=\"`CommissioningEnabled`\" pulumi-lang-go=\"`commissioningEnabled`\" pulumi-lang-python=\"`commissioning_enabled`\" pulumi-lang-yaml=\"`commissioningEnabled`\" pulumi-lang-java=\"`commissioningEnabled`\"\u003e`commissioning_enabled`\u003c/span\u003e from \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e causes the IP prefix to stop being advertised by Azure and is functionally equivalent to deleting it when used in a production setting.\n"},"internetAdvertisingDisabled":{"type":"boolean","description":"Specifies that the custom IP prefix should not be publicly advertised on the Internet when commissioned (regional commissioning feature). Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n!\u003e **Note:** Changing the value of \u003cspan pulumi-lang-nodejs=\"`internetAdvertisingDisabled`\" pulumi-lang-dotnet=\"`InternetAdvertisingDisabled`\" pulumi-lang-go=\"`internetAdvertisingDisabled`\" pulumi-lang-python=\"`internet_advertising_disabled`\" pulumi-lang-yaml=\"`internetAdvertisingDisabled`\" pulumi-lang-java=\"`internetAdvertisingDisabled`\"\u003e`internet_advertising_disabled`\u003c/span\u003e from \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e causes the IP prefix to stop being advertised by Azure and is functionally equivalent to deleting it when used in a production setting.\n"},"location":{"type":"string","description":"The location where the Custom IP Prefix should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the Custom IP Prefix. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"parentCustomIpPrefixId":{"type":"string","description":"Specifies the ID of the parent prefix. Only needed when creating a regional/child IPv6 prefix. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group in which to create the Custom IP Prefix. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"roaValidityEndDate":{"type":"string","description":"The expiration date of the Route Origin Authorization (ROA) document which has been filed with the Routing Internet Registry (RIR) for this prefix. The expected format is `YYYY-MM-DD`. Required when provisioning an IPv4 prefix or IPv6 global prefix. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the Custom IP Prefix.\n"},"wanValidationSignedMessage":{"type":"string","description":"The signed base64-encoded authorization message, which will be sent to Microsoft for WAN verification. Required when provisioning an IPv4 prefix or IPv6 global prefix. Refer to [Azure documentation](https://learn.microsoft.com/en-us/azure/virtual-network/ip-services/create-custom-ip-address-prefix-cli#certificate-readiness) for more details about the process for your RIR. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"zones":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Availability Zones in which this Custom IP Prefix should be located. Should not be specified when creating an IPv6 global prefix. Changing this forces a new resource to be created.\n\n\u003e **Note:** In regions with [availability zones](https://docs.microsoft.com/en-us/azure/availability-zones/az-overview), the Custom IP Prefix must be specified as either `Zone-redundant` or assigned to a specific zone. It can't be created with no zone specified in these regions. All IPs from the prefix must have the same zonal properties.\n","willReplaceOnChanges":true}},"requiredInputs":["cidr","resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering Prefix resources.\n","properties":{"cidr":{"type":"string","description":"The \u003cspan pulumi-lang-nodejs=\"`cidr`\" pulumi-lang-dotnet=\"`Cidr`\" pulumi-lang-go=\"`cidr`\" pulumi-lang-python=\"`cidr`\" pulumi-lang-yaml=\"`cidr`\" pulumi-lang-java=\"`cidr`\"\u003e`cidr`\u003c/span\u003e of the Custom IP Prefix, either IPv4 or IPv6. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"commissioningEnabled":{"type":"boolean","description":"Specifies that the custom IP prefix should be commissioned after provisioning in Azure. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n!\u003e **Note:** Changing the value of \u003cspan pulumi-lang-nodejs=\"`commissioningEnabled`\" pulumi-lang-dotnet=\"`CommissioningEnabled`\" pulumi-lang-go=\"`commissioningEnabled`\" pulumi-lang-python=\"`commissioning_enabled`\" pulumi-lang-yaml=\"`commissioningEnabled`\" pulumi-lang-java=\"`commissioningEnabled`\"\u003e`commissioning_enabled`\u003c/span\u003e from \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e causes the IP prefix to stop being advertised by Azure and is functionally equivalent to deleting it when used in a production setting.\n"},"internetAdvertisingDisabled":{"type":"boolean","description":"Specifies that the custom IP prefix should not be publicly advertised on the Internet when commissioned (regional commissioning feature). Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n!\u003e **Note:** Changing the value of \u003cspan pulumi-lang-nodejs=\"`internetAdvertisingDisabled`\" pulumi-lang-dotnet=\"`InternetAdvertisingDisabled`\" pulumi-lang-go=\"`internetAdvertisingDisabled`\" pulumi-lang-python=\"`internet_advertising_disabled`\" pulumi-lang-yaml=\"`internetAdvertisingDisabled`\" pulumi-lang-java=\"`internetAdvertisingDisabled`\"\u003e`internet_advertising_disabled`\u003c/span\u003e from \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e causes the IP prefix to stop being advertised by Azure and is functionally equivalent to deleting it when used in a production setting.\n"},"location":{"type":"string","description":"The location where the Custom IP Prefix should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the Custom IP Prefix. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"parentCustomIpPrefixId":{"type":"string","description":"Specifies the ID of the parent prefix. Only needed when creating a regional/child IPv6 prefix. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group in which to create the Custom IP Prefix. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"roaValidityEndDate":{"type":"string","description":"The expiration date of the Route Origin Authorization (ROA) document which has been filed with the Routing Internet Registry (RIR) for this prefix. The expected format is `YYYY-MM-DD`. Required when provisioning an IPv4 prefix or IPv6 global prefix. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the Custom IP Prefix.\n"},"wanValidationSignedMessage":{"type":"string","description":"The signed base64-encoded authorization message, which will be sent to Microsoft for WAN verification. Required when provisioning an IPv4 prefix or IPv6 global prefix. Refer to [Azure documentation](https://learn.microsoft.com/en-us/azure/virtual-network/ip-services/create-custom-ip-address-prefix-cli#certificate-readiness) for more details about the process for your RIR. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"zones":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Availability Zones in which this Custom IP Prefix should be located. Should not be specified when creating an IPv6 global prefix. Changing this forces a new resource to be created.\n\n\u003e **Note:** In regions with [availability zones](https://docs.microsoft.com/en-us/azure/availability-zones/az-overview), the Custom IP Prefix must be specified as either `Zone-redundant` or assigned to a specific zone. It can't be created with no zone specified in these regions. All IPs from the prefix must have the same zonal properties.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:dashboard/grafana:Grafana":{"description":"Manages a Dashboard Grafana.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleGrafana = new azure.dashboard.Grafana(\"example\", {\n    name: \"example-dg\",\n    resourceGroupName: example.name,\n    location: \"West Europe\",\n    grafanaMajorVersion: \"11\",\n    apiKeyEnabled: true,\n    deterministicOutboundIpEnabled: true,\n    publicNetworkAccessEnabled: false,\n    identity: {\n        type: \"SystemAssigned\",\n    },\n    tags: {\n        key: \"value\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_grafana = azure.dashboard.Grafana(\"example\",\n    name=\"example-dg\",\n    resource_group_name=example.name,\n    location=\"West Europe\",\n    grafana_major_version=\"11\",\n    api_key_enabled=True,\n    deterministic_outbound_ip_enabled=True,\n    public_network_access_enabled=False,\n    identity={\n        \"type\": \"SystemAssigned\",\n    },\n    tags={\n        \"key\": \"value\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleGrafana = new Azure.Dashboard.Grafana(\"example\", new()\n    {\n        Name = \"example-dg\",\n        ResourceGroupName = example.Name,\n        Location = \"West Europe\",\n        GrafanaMajorVersion = \"11\",\n        ApiKeyEnabled = true,\n        DeterministicOutboundIpEnabled = true,\n        PublicNetworkAccessEnabled = false,\n        Identity = new Azure.Dashboard.Inputs.GrafanaIdentityArgs\n        {\n            Type = \"SystemAssigned\",\n        },\n        Tags = \n        {\n            { \"key\", \"value\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/dashboard\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = dashboard.NewGrafana(ctx, \"example\", \u0026dashboard.GrafanaArgs{\n\t\t\tName:                           pulumi.String(\"example-dg\"),\n\t\t\tResourceGroupName:              example.Name,\n\t\t\tLocation:                       pulumi.String(\"West Europe\"),\n\t\t\tGrafanaMajorVersion:            pulumi.String(\"11\"),\n\t\t\tApiKeyEnabled:                  pulumi.Bool(true),\n\t\t\tDeterministicOutboundIpEnabled: pulumi.Bool(true),\n\t\t\tPublicNetworkAccessEnabled:     pulumi.Bool(false),\n\t\t\tIdentity: \u0026dashboard.GrafanaIdentityArgs{\n\t\t\t\tType: pulumi.String(\"SystemAssigned\"),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"key\": pulumi.String(\"value\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.dashboard.Grafana;\nimport com.pulumi.azure.dashboard.GrafanaArgs;\nimport com.pulumi.azure.dashboard.inputs.GrafanaIdentityArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleGrafana = new Grafana(\"exampleGrafana\", GrafanaArgs.builder()\n            .name(\"example-dg\")\n            .resourceGroupName(example.name())\n            .location(\"West Europe\")\n            .grafanaMajorVersion(\"11\")\n            .apiKeyEnabled(true)\n            .deterministicOutboundIpEnabled(true)\n            .publicNetworkAccessEnabled(false)\n            .identity(GrafanaIdentityArgs.builder()\n                .type(\"SystemAssigned\")\n                .build())\n            .tags(Map.of(\"key\", \"value\"))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleGrafana:\n    type: azure:dashboard:Grafana\n    name: example\n    properties:\n      name: example-dg\n      resourceGroupName: ${example.name}\n      location: West Europe\n      grafanaMajorVersion: 11\n      apiKeyEnabled: true\n      deterministicOutboundIpEnabled: true\n      publicNetworkAccessEnabled: false\n      identity:\n        type: SystemAssigned\n      tags:\n        key: value\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Dashboard` - 2025-08-01\n\n## Import\n\nDashboard Grafana can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:dashboard/grafana:Grafana example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup1/providers/Microsoft.Dashboard/grafana/workspace1\n```\n\n","properties":{"apiKeyEnabled":{"type":"boolean","description":"Whether to enable the api key setting of the Grafana instance. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"autoGeneratedDomainNameLabelScope":{"type":"string","description":"Scope for dns deterministic name hash calculation. The only possible value is `TenantReuse`. Defaults to `TenantReuse`.\n"},"azureMonitorWorkspaceIntegrations":{"type":"array","items":{"$ref":"#/types/azure:dashboard/GrafanaAzureMonitorWorkspaceIntegration:GrafanaAzureMonitorWorkspaceIntegration"},"description":"A \u003cspan pulumi-lang-nodejs=\"`azureMonitorWorkspaceIntegrations`\" pulumi-lang-dotnet=\"`AzureMonitorWorkspaceIntegrations`\" pulumi-lang-go=\"`azureMonitorWorkspaceIntegrations`\" pulumi-lang-python=\"`azure_monitor_workspace_integrations`\" pulumi-lang-yaml=\"`azureMonitorWorkspaceIntegrations`\" pulumi-lang-java=\"`azureMonitorWorkspaceIntegrations`\"\u003e`azure_monitor_workspace_integrations`\u003c/span\u003e block as defined below.\n"},"deterministicOutboundIpEnabled":{"type":"boolean","description":"Whether to enable the Grafana instance to use deterministic outbound IPs. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"endpoint":{"type":"string","description":"The endpoint of the Grafana instance.\n"},"grafanaMajorVersion":{"type":"string","description":"Which major version of Grafana to deploy. Possible values are \u003cspan pulumi-lang-nodejs=\"`10`\" pulumi-lang-dotnet=\"`10`\" pulumi-lang-go=\"`10`\" pulumi-lang-python=\"`10`\" pulumi-lang-yaml=\"`10`\" pulumi-lang-java=\"`10`\"\u003e`10`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`11`\" pulumi-lang-dotnet=\"`11`\" pulumi-lang-go=\"`11`\" pulumi-lang-python=\"`11`\" pulumi-lang-yaml=\"`11`\" pulumi-lang-java=\"`11`\"\u003e`11`\u003c/span\u003e.\n"},"grafanaVersion":{"type":"string","description":"The full Grafana software semantic version deployed.\n"},"identity":{"$ref":"#/types/azure:dashboard/GrafanaIdentity:GrafanaIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below. Changing this forces a new Dashboard Grafana to be created.\n"},"location":{"type":"string","description":"Specifies the Azure Region where the Dashboard Grafana should exist. Changing this forces a new Dashboard Grafana to be created.\n"},"name":{"type":"string","description":"Specifies the name which should be used for this Dashboard Grafana. Changing this forces a new Dashboard Grafana to be created.\n"},"outboundIps":{"type":"array","items":{"type":"string"},"description":"List of outbound IPs if deterministicOutboundIP is enabled.\n"},"publicNetworkAccessEnabled":{"type":"boolean","description":"Whether to enable traffic over the public interface. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"resourceGroupName":{"type":"string","description":"Specifies the name of the Resource Group where the Dashboard Grafana should exist. Changing this forces a new Dashboard Grafana to be created.\n"},"sku":{"type":"string","description":"The name of the SKU used for the Grafana instance. Possible values are `Standard` and `Essential`. Defaults to `Standard`. Changing this forces a new Dashboard Grafana to be created.\n"},"smtp":{"$ref":"#/types/azure:dashboard/GrafanaSmtp:GrafanaSmtp","description":"A \u003cspan pulumi-lang-nodejs=\"`smtp`\" pulumi-lang-dotnet=\"`Smtp`\" pulumi-lang-go=\"`smtp`\" pulumi-lang-python=\"`smtp`\" pulumi-lang-yaml=\"`smtp`\" pulumi-lang-java=\"`smtp`\"\u003e`smtp`\u003c/span\u003e block as defined below.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Dashboard Grafana.\n"},"zoneRedundancyEnabled":{"type":"boolean","description":"Whether to enable the zone redundancy setting of the Grafana instance. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Changing this forces a new Dashboard Grafana to be created.\n"}},"required":["endpoint","grafanaMajorVersion","grafanaVersion","location","name","outboundIps","resourceGroupName"],"inputProperties":{"apiKeyEnabled":{"type":"boolean","description":"Whether to enable the api key setting of the Grafana instance. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"autoGeneratedDomainNameLabelScope":{"type":"string","description":"Scope for dns deterministic name hash calculation. The only possible value is `TenantReuse`. Defaults to `TenantReuse`.\n"},"azureMonitorWorkspaceIntegrations":{"type":"array","items":{"$ref":"#/types/azure:dashboard/GrafanaAzureMonitorWorkspaceIntegration:GrafanaAzureMonitorWorkspaceIntegration"},"description":"A \u003cspan pulumi-lang-nodejs=\"`azureMonitorWorkspaceIntegrations`\" pulumi-lang-dotnet=\"`AzureMonitorWorkspaceIntegrations`\" pulumi-lang-go=\"`azureMonitorWorkspaceIntegrations`\" pulumi-lang-python=\"`azure_monitor_workspace_integrations`\" pulumi-lang-yaml=\"`azureMonitorWorkspaceIntegrations`\" pulumi-lang-java=\"`azureMonitorWorkspaceIntegrations`\"\u003e`azure_monitor_workspace_integrations`\u003c/span\u003e block as defined below.\n"},"deterministicOutboundIpEnabled":{"type":"boolean","description":"Whether to enable the Grafana instance to use deterministic outbound IPs. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"grafanaMajorVersion":{"type":"string","description":"Which major version of Grafana to deploy. Possible values are \u003cspan pulumi-lang-nodejs=\"`10`\" pulumi-lang-dotnet=\"`10`\" pulumi-lang-go=\"`10`\" pulumi-lang-python=\"`10`\" pulumi-lang-yaml=\"`10`\" pulumi-lang-java=\"`10`\"\u003e`10`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`11`\" pulumi-lang-dotnet=\"`11`\" pulumi-lang-go=\"`11`\" pulumi-lang-python=\"`11`\" pulumi-lang-yaml=\"`11`\" pulumi-lang-java=\"`11`\"\u003e`11`\u003c/span\u003e.\n"},"identity":{"$ref":"#/types/azure:dashboard/GrafanaIdentity:GrafanaIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below. Changing this forces a new Dashboard Grafana to be created.\n","willReplaceOnChanges":true},"location":{"type":"string","description":"Specifies the Azure Region where the Dashboard Grafana should exist. Changing this forces a new Dashboard Grafana to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name which should be used for this Dashboard Grafana. Changing this forces a new Dashboard Grafana to be created.\n","willReplaceOnChanges":true},"publicNetworkAccessEnabled":{"type":"boolean","description":"Whether to enable traffic over the public interface. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"resourceGroupName":{"type":"string","description":"Specifies the name of the Resource Group where the Dashboard Grafana should exist. Changing this forces a new Dashboard Grafana to be created.\n","willReplaceOnChanges":true},"sku":{"type":"string","description":"The name of the SKU used for the Grafana instance. Possible values are `Standard` and `Essential`. Defaults to `Standard`. Changing this forces a new Dashboard Grafana to be created.\n","willReplaceOnChanges":true},"smtp":{"$ref":"#/types/azure:dashboard/GrafanaSmtp:GrafanaSmtp","description":"A \u003cspan pulumi-lang-nodejs=\"`smtp`\" pulumi-lang-dotnet=\"`Smtp`\" pulumi-lang-go=\"`smtp`\" pulumi-lang-python=\"`smtp`\" pulumi-lang-yaml=\"`smtp`\" pulumi-lang-java=\"`smtp`\"\u003e`smtp`\u003c/span\u003e block as defined below.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Dashboard Grafana.\n"},"zoneRedundancyEnabled":{"type":"boolean","description":"Whether to enable the zone redundancy setting of the Grafana instance. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Changing this forces a new Dashboard Grafana to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["grafanaMajorVersion","resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering Grafana resources.\n","properties":{"apiKeyEnabled":{"type":"boolean","description":"Whether to enable the api key setting of the Grafana instance. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"autoGeneratedDomainNameLabelScope":{"type":"string","description":"Scope for dns deterministic name hash calculation. The only possible value is `TenantReuse`. Defaults to `TenantReuse`.\n"},"azureMonitorWorkspaceIntegrations":{"type":"array","items":{"$ref":"#/types/azure:dashboard/GrafanaAzureMonitorWorkspaceIntegration:GrafanaAzureMonitorWorkspaceIntegration"},"description":"A \u003cspan pulumi-lang-nodejs=\"`azureMonitorWorkspaceIntegrations`\" pulumi-lang-dotnet=\"`AzureMonitorWorkspaceIntegrations`\" pulumi-lang-go=\"`azureMonitorWorkspaceIntegrations`\" pulumi-lang-python=\"`azure_monitor_workspace_integrations`\" pulumi-lang-yaml=\"`azureMonitorWorkspaceIntegrations`\" pulumi-lang-java=\"`azureMonitorWorkspaceIntegrations`\"\u003e`azure_monitor_workspace_integrations`\u003c/span\u003e block as defined below.\n"},"deterministicOutboundIpEnabled":{"type":"boolean","description":"Whether to enable the Grafana instance to use deterministic outbound IPs. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"endpoint":{"type":"string","description":"The endpoint of the Grafana instance.\n"},"grafanaMajorVersion":{"type":"string","description":"Which major version of Grafana to deploy. Possible values are \u003cspan pulumi-lang-nodejs=\"`10`\" pulumi-lang-dotnet=\"`10`\" pulumi-lang-go=\"`10`\" pulumi-lang-python=\"`10`\" pulumi-lang-yaml=\"`10`\" pulumi-lang-java=\"`10`\"\u003e`10`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`11`\" pulumi-lang-dotnet=\"`11`\" pulumi-lang-go=\"`11`\" pulumi-lang-python=\"`11`\" pulumi-lang-yaml=\"`11`\" pulumi-lang-java=\"`11`\"\u003e`11`\u003c/span\u003e.\n"},"grafanaVersion":{"type":"string","description":"The full Grafana software semantic version deployed.\n"},"identity":{"$ref":"#/types/azure:dashboard/GrafanaIdentity:GrafanaIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below. Changing this forces a new Dashboard Grafana to be created.\n","willReplaceOnChanges":true},"location":{"type":"string","description":"Specifies the Azure Region where the Dashboard Grafana should exist. Changing this forces a new Dashboard Grafana to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name which should be used for this Dashboard Grafana. Changing this forces a new Dashboard Grafana to be created.\n","willReplaceOnChanges":true},"outboundIps":{"type":"array","items":{"type":"string"},"description":"List of outbound IPs if deterministicOutboundIP is enabled.\n"},"publicNetworkAccessEnabled":{"type":"boolean","description":"Whether to enable traffic over the public interface. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"resourceGroupName":{"type":"string","description":"Specifies the name of the Resource Group where the Dashboard Grafana should exist. Changing this forces a new Dashboard Grafana to be created.\n","willReplaceOnChanges":true},"sku":{"type":"string","description":"The name of the SKU used for the Grafana instance. Possible values are `Standard` and `Essential`. Defaults to `Standard`. Changing this forces a new Dashboard Grafana to be created.\n","willReplaceOnChanges":true},"smtp":{"$ref":"#/types/azure:dashboard/GrafanaSmtp:GrafanaSmtp","description":"A \u003cspan pulumi-lang-nodejs=\"`smtp`\" pulumi-lang-dotnet=\"`Smtp`\" pulumi-lang-go=\"`smtp`\" pulumi-lang-python=\"`smtp`\" pulumi-lang-yaml=\"`smtp`\" pulumi-lang-java=\"`smtp`\"\u003e`smtp`\u003c/span\u003e block as defined below.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Dashboard Grafana.\n"},"zoneRedundancyEnabled":{"type":"boolean","description":"Whether to enable the zone redundancy setting of the Grafana instance. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Changing this forces a new Dashboard Grafana to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:dashboard/grafanaManagedPrivateEndpoint:GrafanaManagedPrivateEndpoint":{"description":"Manages a Dashboard Grafana Managed Private Endpoint.\n\n\u003e **Note:** This resource will _not_ approve the managed private endpoint connection on the linked resource. This will need to be done manually via Azure CLI, PowerShell, or AzAPI resources. See here for an example that uses AzAPI.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"Canada Central\",\n});\nconst exampleWorkspace = new azure.monitoring.Workspace(\"example\", {\n    name: \"example-mamw\",\n    resourceGroupName: example.name,\n    location: example.location,\n    publicNetworkAccessEnabled: false,\n});\nconst exampleGrafana = new azure.dashboard.Grafana(\"example\", {\n    name: \"example-dg\",\n    resourceGroupName: example.name,\n    location: example.location,\n    grafanaMajorVersion: \"11\",\n    publicNetworkAccessEnabled: false,\n    azureMonitorWorkspaceIntegrations: [{\n        resourceId: exampleWorkspace.id,\n    }],\n});\nconst exampleGrafanaManagedPrivateEndpoint = new azure.dashboard.GrafanaManagedPrivateEndpoint(\"example\", {\n    grafanaId: exampleGrafana.id,\n    name: \"example-mpe\",\n    location: exampleGrafana.location,\n    privateLinkResourceId: exampleWorkspace.id,\n    groupIds: [\"prometheusMetrics\"],\n    privateLinkResourceRegion: exampleGrafana.location,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"Canada Central\")\nexample_workspace = azure.monitoring.Workspace(\"example\",\n    name=\"example-mamw\",\n    resource_group_name=example.name,\n    location=example.location,\n    public_network_access_enabled=False)\nexample_grafana = azure.dashboard.Grafana(\"example\",\n    name=\"example-dg\",\n    resource_group_name=example.name,\n    location=example.location,\n    grafana_major_version=\"11\",\n    public_network_access_enabled=False,\n    azure_monitor_workspace_integrations=[{\n        \"resource_id\": example_workspace.id,\n    }])\nexample_grafana_managed_private_endpoint = azure.dashboard.GrafanaManagedPrivateEndpoint(\"example\",\n    grafana_id=example_grafana.id,\n    name=\"example-mpe\",\n    location=example_grafana.location,\n    private_link_resource_id=example_workspace.id,\n    group_ids=[\"prometheusMetrics\"],\n    private_link_resource_region=example_grafana.location)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"Canada Central\",\n    });\n\n    var exampleWorkspace = new Azure.Monitoring.Workspace(\"example\", new()\n    {\n        Name = \"example-mamw\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        PublicNetworkAccessEnabled = false,\n    });\n\n    var exampleGrafana = new Azure.Dashboard.Grafana(\"example\", new()\n    {\n        Name = \"example-dg\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        GrafanaMajorVersion = \"11\",\n        PublicNetworkAccessEnabled = false,\n        AzureMonitorWorkspaceIntegrations = new[]\n        {\n            new Azure.Dashboard.Inputs.GrafanaAzureMonitorWorkspaceIntegrationArgs\n            {\n                ResourceId = exampleWorkspace.Id,\n            },\n        },\n    });\n\n    var exampleGrafanaManagedPrivateEndpoint = new Azure.Dashboard.GrafanaManagedPrivateEndpoint(\"example\", new()\n    {\n        GrafanaId = exampleGrafana.Id,\n        Name = \"example-mpe\",\n        Location = exampleGrafana.Location,\n        PrivateLinkResourceId = exampleWorkspace.Id,\n        GroupIds = new[]\n        {\n            \"prometheusMetrics\",\n        },\n        PrivateLinkResourceRegion = exampleGrafana.Location,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/dashboard\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/monitoring\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"Canada Central\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleWorkspace, err := monitoring.NewWorkspace(ctx, \"example\", \u0026monitoring.WorkspaceArgs{\n\t\t\tName:                       pulumi.String(\"example-mamw\"),\n\t\t\tResourceGroupName:          example.Name,\n\t\t\tLocation:                   example.Location,\n\t\t\tPublicNetworkAccessEnabled: pulumi.Bool(false),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleGrafana, err := dashboard.NewGrafana(ctx, \"example\", \u0026dashboard.GrafanaArgs{\n\t\t\tName:                       pulumi.String(\"example-dg\"),\n\t\t\tResourceGroupName:          example.Name,\n\t\t\tLocation:                   example.Location,\n\t\t\tGrafanaMajorVersion:        pulumi.String(\"11\"),\n\t\t\tPublicNetworkAccessEnabled: pulumi.Bool(false),\n\t\t\tAzureMonitorWorkspaceIntegrations: dashboard.GrafanaAzureMonitorWorkspaceIntegrationArray{\n\t\t\t\t\u0026dashboard.GrafanaAzureMonitorWorkspaceIntegrationArgs{\n\t\t\t\t\tResourceId: exampleWorkspace.ID(),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = dashboard.NewGrafanaManagedPrivateEndpoint(ctx, \"example\", \u0026dashboard.GrafanaManagedPrivateEndpointArgs{\n\t\t\tGrafanaId:             exampleGrafana.ID(),\n\t\t\tName:                  pulumi.String(\"example-mpe\"),\n\t\t\tLocation:              exampleGrafana.Location,\n\t\t\tPrivateLinkResourceId: exampleWorkspace.ID(),\n\t\t\tGroupIds: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"prometheusMetrics\"),\n\t\t\t},\n\t\t\tPrivateLinkResourceRegion: exampleGrafana.Location,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.monitoring.Workspace;\nimport com.pulumi.azure.monitoring.WorkspaceArgs;\nimport com.pulumi.azure.dashboard.Grafana;\nimport com.pulumi.azure.dashboard.GrafanaArgs;\nimport com.pulumi.azure.dashboard.inputs.GrafanaAzureMonitorWorkspaceIntegrationArgs;\nimport com.pulumi.azure.dashboard.GrafanaManagedPrivateEndpoint;\nimport com.pulumi.azure.dashboard.GrafanaManagedPrivateEndpointArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"Canada Central\")\n            .build());\n\n        var exampleWorkspace = new Workspace(\"exampleWorkspace\", WorkspaceArgs.builder()\n            .name(\"example-mamw\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .publicNetworkAccessEnabled(false)\n            .build());\n\n        var exampleGrafana = new Grafana(\"exampleGrafana\", GrafanaArgs.builder()\n            .name(\"example-dg\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .grafanaMajorVersion(\"11\")\n            .publicNetworkAccessEnabled(false)\n            .azureMonitorWorkspaceIntegrations(GrafanaAzureMonitorWorkspaceIntegrationArgs.builder()\n                .resourceId(exampleWorkspace.id())\n                .build())\n            .build());\n\n        var exampleGrafanaManagedPrivateEndpoint = new GrafanaManagedPrivateEndpoint(\"exampleGrafanaManagedPrivateEndpoint\", GrafanaManagedPrivateEndpointArgs.builder()\n            .grafanaId(exampleGrafana.id())\n            .name(\"example-mpe\")\n            .location(exampleGrafana.location())\n            .privateLinkResourceId(exampleWorkspace.id())\n            .groupIds(\"prometheusMetrics\")\n            .privateLinkResourceRegion(exampleGrafana.location())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: Canada Central\n  exampleWorkspace:\n    type: azure:monitoring:Workspace\n    name: example\n    properties:\n      name: example-mamw\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      publicNetworkAccessEnabled: false\n  exampleGrafana:\n    type: azure:dashboard:Grafana\n    name: example\n    properties:\n      name: example-dg\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      grafanaMajorVersion: 11\n      publicNetworkAccessEnabled: false\n      azureMonitorWorkspaceIntegrations:\n        - resourceId: ${exampleWorkspace.id}\n  exampleGrafanaManagedPrivateEndpoint:\n    type: azure:dashboard:GrafanaManagedPrivateEndpoint\n    name: example\n    properties:\n      grafanaId: ${exampleGrafana.id}\n      name: example-mpe\n      location: ${exampleGrafana.location}\n      privateLinkResourceId: ${exampleWorkspace.id}\n      groupIds:\n        - prometheusMetrics\n      privateLinkResourceRegion: ${exampleGrafana.location}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Dashboard` - 2025-08-01\n\n## Import\n\nDashboard Grafana Managed Private Endpoint Examples can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:dashboard/grafanaManagedPrivateEndpoint:GrafanaManagedPrivateEndpoint example /subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/resGroup1/providers/Microsoft.Dashboard/grafana/workspace1/managedPrivateEndpoints/endpoint1\n```\n\n","properties":{"grafanaId":{"type":"string","description":"The id of the associated managed Grafana. Changing this forces a new Dashboard Grafana Managed Private Endpoint to be created.\n"},"groupIds":{"type":"array","items":{"type":"string"},"description":"Specifies a list of private link group IDs. The value of this will depend on the private link resource to which you are connecting. Changing this forces a new Dashboard Grafana Managed Private Endpoint to be created.\n"},"location":{"type":"string","description":"The Azure Region where the Dashboard Grafana Managed Private Endpoint should exist. Changing this forces a new Dashboard Grafana Managed Private Endpoint to be created.\n"},"name":{"type":"string","description":"The name which should be used for this Dashboard Grafana Managed Private Endpoint. Must be between 2 and 20 alphanumeric characters or dashes, must begin with letter and end with a letter or number. Changing this forces a new Dashboard Grafana Managed Private Endpoint to be created.\n"},"privateLinkResourceId":{"type":"string","description":"The ID of the resource to which this Dashboard Grafana Managed Private Endpoint will connect. Changing this forces a new Dashboard Grafana Managed Private Endpoint to be created.\n"},"privateLinkResourceRegion":{"type":"string","description":"The region in which to create the private link. Changing this forces a new Dashboard Grafana Managed Private Endpoint to be created.\n"},"privateLinkServiceUrl":{"type":"string","description":"A domain name for this endpoint to be used within Grafana. Must be just a domain, without schema, and with at least three parts.\n"},"requestMessage":{"type":"string","description":"A message to provide in the request which will be seen by approvers.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Dashboard Grafana Managed Private Endpoint.\n"}},"required":["grafanaId","location","name","privateLinkResourceId"],"inputProperties":{"grafanaId":{"type":"string","description":"The id of the associated managed Grafana. Changing this forces a new Dashboard Grafana Managed Private Endpoint to be created.\n","willReplaceOnChanges":true},"groupIds":{"type":"array","items":{"type":"string"},"description":"Specifies a list of private link group IDs. The value of this will depend on the private link resource to which you are connecting. Changing this forces a new Dashboard Grafana Managed Private Endpoint to be created.\n","willReplaceOnChanges":true},"location":{"type":"string","description":"The Azure Region where the Dashboard Grafana Managed Private Endpoint should exist. Changing this forces a new Dashboard Grafana Managed Private Endpoint to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Dashboard Grafana Managed Private Endpoint. Must be between 2 and 20 alphanumeric characters or dashes, must begin with letter and end with a letter or number. Changing this forces a new Dashboard Grafana Managed Private Endpoint to be created.\n","willReplaceOnChanges":true},"privateLinkResourceId":{"type":"string","description":"The ID of the resource to which this Dashboard Grafana Managed Private Endpoint will connect. Changing this forces a new Dashboard Grafana Managed Private Endpoint to be created.\n","willReplaceOnChanges":true},"privateLinkResourceRegion":{"type":"string","description":"The region in which to create the private link. Changing this forces a new Dashboard Grafana Managed Private Endpoint to be created.\n","willReplaceOnChanges":true},"privateLinkServiceUrl":{"type":"string","description":"A domain name for this endpoint to be used within Grafana. Must be just a domain, without schema, and with at least three parts.\n"},"requestMessage":{"type":"string","description":"A message to provide in the request which will be seen by approvers.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Dashboard Grafana Managed Private Endpoint.\n"}},"requiredInputs":["grafanaId","privateLinkResourceId"],"stateInputs":{"description":"Input properties used for looking up and filtering GrafanaManagedPrivateEndpoint resources.\n","properties":{"grafanaId":{"type":"string","description":"The id of the associated managed Grafana. Changing this forces a new Dashboard Grafana Managed Private Endpoint to be created.\n","willReplaceOnChanges":true},"groupIds":{"type":"array","items":{"type":"string"},"description":"Specifies a list of private link group IDs. The value of this will depend on the private link resource to which you are connecting. Changing this forces a new Dashboard Grafana Managed Private Endpoint to be created.\n","willReplaceOnChanges":true},"location":{"type":"string","description":"The Azure Region where the Dashboard Grafana Managed Private Endpoint should exist. Changing this forces a new Dashboard Grafana Managed Private Endpoint to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Dashboard Grafana Managed Private Endpoint. Must be between 2 and 20 alphanumeric characters or dashes, must begin with letter and end with a letter or number. Changing this forces a new Dashboard Grafana Managed Private Endpoint to be created.\n","willReplaceOnChanges":true},"privateLinkResourceId":{"type":"string","description":"The ID of the resource to which this Dashboard Grafana Managed Private Endpoint will connect. Changing this forces a new Dashboard Grafana Managed Private Endpoint to be created.\n","willReplaceOnChanges":true},"privateLinkResourceRegion":{"type":"string","description":"The region in which to create the private link. Changing this forces a new Dashboard Grafana Managed Private Endpoint to be created.\n","willReplaceOnChanges":true},"privateLinkServiceUrl":{"type":"string","description":"A domain name for this endpoint to be used within Grafana. Must be just a domain, without schema, and with at least three parts.\n"},"requestMessage":{"type":"string","description":"A message to provide in the request which will be seen by approvers.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Dashboard Grafana Managed Private Endpoint.\n"}},"type":"object"}},"azure:databasemigration/project:Project":{"description":"Manage a Azure Database Migration Project.\n\n\u003e **NOTE:** Destroying a Database Migration Project will leave any outstanding tasks untouched. This is to avoid unexpectedly deleting any tasks managed outside of this provider.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-rg\",\n    location: \"West Europe\",\n});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"example\", {\n    name: \"example-vnet\",\n    addressSpaces: [\"10.0.0.0/16\"],\n    location: example.location,\n    resourceGroupName: example.name,\n});\nconst exampleSubnet = new azure.network.Subnet(\"example\", {\n    name: \"example-subnet\",\n    resourceGroupName: example.name,\n    virtualNetworkName: exampleVirtualNetwork.name,\n    addressPrefixes: [\"10.0.1.0/24\"],\n});\nconst exampleService = new azure.databasemigration.Service(\"example\", {\n    name: \"example-dbms\",\n    location: example.location,\n    resourceGroupName: example.name,\n    subnetId: exampleSubnet.id,\n    skuName: \"Standard_1vCores\",\n});\nconst exampleProject = new azure.databasemigration.Project(\"example\", {\n    name: \"example-dbms-project\",\n    serviceName: exampleService.name,\n    resourceGroupName: example.name,\n    location: example.location,\n    sourcePlatform: \"SQL\",\n    targetPlatform: \"SQLDB\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-rg\",\n    location=\"West Europe\")\nexample_virtual_network = azure.network.VirtualNetwork(\"example\",\n    name=\"example-vnet\",\n    address_spaces=[\"10.0.0.0/16\"],\n    location=example.location,\n    resource_group_name=example.name)\nexample_subnet = azure.network.Subnet(\"example\",\n    name=\"example-subnet\",\n    resource_group_name=example.name,\n    virtual_network_name=example_virtual_network.name,\n    address_prefixes=[\"10.0.1.0/24\"])\nexample_service = azure.databasemigration.Service(\"example\",\n    name=\"example-dbms\",\n    location=example.location,\n    resource_group_name=example.name,\n    subnet_id=example_subnet.id,\n    sku_name=\"Standard_1vCores\")\nexample_project = azure.databasemigration.Project(\"example\",\n    name=\"example-dbms-project\",\n    service_name=example_service.name,\n    resource_group_name=example.name,\n    location=example.location,\n    source_platform=\"SQL\",\n    target_platform=\"SQLDB\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-rg\",\n        Location = \"West Europe\",\n    });\n\n    var exampleVirtualNetwork = new Azure.Network.VirtualNetwork(\"example\", new()\n    {\n        Name = \"example-vnet\",\n        AddressSpaces = new[]\n        {\n            \"10.0.0.0/16\",\n        },\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n    });\n\n    var exampleSubnet = new Azure.Network.Subnet(\"example\", new()\n    {\n        Name = \"example-subnet\",\n        ResourceGroupName = example.Name,\n        VirtualNetworkName = exampleVirtualNetwork.Name,\n        AddressPrefixes = new[]\n        {\n            \"10.0.1.0/24\",\n        },\n    });\n\n    var exampleService = new Azure.DatabaseMigration.Service(\"example\", new()\n    {\n        Name = \"example-dbms\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        SubnetId = exampleSubnet.Id,\n        SkuName = \"Standard_1vCores\",\n    });\n\n    var exampleProject = new Azure.DatabaseMigration.Project(\"example\", new()\n    {\n        Name = \"example-dbms-project\",\n        ServiceName = exampleService.Name,\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        SourcePlatform = \"SQL\",\n        TargetPlatform = \"SQLDB\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/databasemigration\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-rg\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, \"example\", \u0026network.VirtualNetworkArgs{\n\t\t\tName: pulumi.String(\"example-vnet\"),\n\t\t\tAddressSpaces: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.0.0/16\"),\n\t\t\t},\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSubnet, err := network.NewSubnet(ctx, \"example\", \u0026network.SubnetArgs{\n\t\t\tName:               pulumi.String(\"example-subnet\"),\n\t\t\tResourceGroupName:  example.Name,\n\t\t\tVirtualNetworkName: exampleVirtualNetwork.Name,\n\t\t\tAddressPrefixes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.1.0/24\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleService, err := databasemigration.NewService(ctx, \"example\", \u0026databasemigration.ServiceArgs{\n\t\t\tName:              pulumi.String(\"example-dbms\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSubnetId:          exampleSubnet.ID(),\n\t\t\tSkuName:           pulumi.String(\"Standard_1vCores\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = databasemigration.NewProject(ctx, \"example\", \u0026databasemigration.ProjectArgs{\n\t\t\tName:              pulumi.String(\"example-dbms-project\"),\n\t\t\tServiceName:       exampleService.Name,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tSourcePlatform:    pulumi.String(\"SQL\"),\n\t\t\tTargetPlatform:    pulumi.String(\"SQLDB\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.VirtualNetwork;\nimport com.pulumi.azure.network.VirtualNetworkArgs;\nimport com.pulumi.azure.network.Subnet;\nimport com.pulumi.azure.network.SubnetArgs;\nimport com.pulumi.azure.databasemigration.Service;\nimport com.pulumi.azure.databasemigration.ServiceArgs;\nimport com.pulumi.azure.databasemigration.Project;\nimport com.pulumi.azure.databasemigration.ProjectArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-rg\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleVirtualNetwork = new VirtualNetwork(\"exampleVirtualNetwork\", VirtualNetworkArgs.builder()\n            .name(\"example-vnet\")\n            .addressSpaces(\"10.0.0.0/16\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .build());\n\n        var exampleSubnet = new Subnet(\"exampleSubnet\", SubnetArgs.builder()\n            .name(\"example-subnet\")\n            .resourceGroupName(example.name())\n            .virtualNetworkName(exampleVirtualNetwork.name())\n            .addressPrefixes(\"10.0.1.0/24\")\n            .build());\n\n        var exampleService = new Service(\"exampleService\", ServiceArgs.builder()\n            .name(\"example-dbms\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .subnetId(exampleSubnet.id())\n            .skuName(\"Standard_1vCores\")\n            .build());\n\n        var exampleProject = new Project(\"exampleProject\", ProjectArgs.builder()\n            .name(\"example-dbms-project\")\n            .serviceName(exampleService.name())\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .sourcePlatform(\"SQL\")\n            .targetPlatform(\"SQLDB\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-rg\n      location: West Europe\n  exampleVirtualNetwork:\n    type: azure:network:VirtualNetwork\n    name: example\n    properties:\n      name: example-vnet\n      addressSpaces:\n        - 10.0.0.0/16\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n  exampleSubnet:\n    type: azure:network:Subnet\n    name: example\n    properties:\n      name: example-subnet\n      resourceGroupName: ${example.name}\n      virtualNetworkName: ${exampleVirtualNetwork.name}\n      addressPrefixes:\n        - 10.0.1.0/24\n  exampleService:\n    type: azure:databasemigration:Service\n    name: example\n    properties:\n      name: example-dbms\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      subnetId: ${exampleSubnet.id}\n      skuName: Standard_1vCores\n  exampleProject:\n    type: azure:databasemigration:Project\n    name: example\n    properties:\n      name: example-dbms-project\n      serviceName: ${exampleService.name}\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      sourcePlatform: SQL\n      targetPlatform: SQLDB\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.DataMigration` - 2021-06-30\n\n## Import\n\nDatabase Migration Projects can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:databasemigration/project:Project example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/example-rg/providers/Microsoft.DataMigration/services/example-dms/projects/project1\n```\n\n","properties":{"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"Specify the name of the database migration project. Changing this forces a new resource to be created.\n"},"resourceGroupName":{"type":"string","description":"Name of the resource group in which to create the database migration project. Changing this forces a new resource to be created.\n"},"serviceName":{"type":"string","description":"Name of the database migration service where resource belongs to. Changing this forces a new resource to be created.\n"},"sourcePlatform":{"type":"string","description":"The platform type of the migration source. Possible values are `MongoDb`, `MySQL`, `PostgreSql`, `SQL` and `Unknown`. Changing this forces a new resource to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assigned to the resource.\n"},"targetPlatform":{"type":"string","description":"The platform type of the migration target. Possible values are `AzureDbForMySql`, `AzureDbForPostgreSql`, `MongoDb`, `SQLDB`, `SQLMI` and `Unknown`. Changing this forces a new resource to be created.\n"}},"required":["location","name","resourceGroupName","serviceName","sourcePlatform","targetPlatform"],"inputProperties":{"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specify the name of the database migration project. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"Name of the resource group in which to create the database migration project. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"serviceName":{"type":"string","description":"Name of the database migration service where resource belongs to. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sourcePlatform":{"type":"string","description":"The platform type of the migration source. Possible values are `MongoDb`, `MySQL`, `PostgreSql`, `SQL` and `Unknown`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assigned to the resource.\n"},"targetPlatform":{"type":"string","description":"The platform type of the migration target. Possible values are `AzureDbForMySql`, `AzureDbForPostgreSql`, `MongoDb`, `SQLDB`, `SQLMI` and `Unknown`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["resourceGroupName","serviceName","sourcePlatform","targetPlatform"],"stateInputs":{"description":"Input properties used for looking up and filtering Project resources.\n","properties":{"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specify the name of the database migration project. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"Name of the resource group in which to create the database migration project. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"serviceName":{"type":"string","description":"Name of the database migration service where resource belongs to. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sourcePlatform":{"type":"string","description":"The platform type of the migration source. Possible values are `MongoDb`, `MySQL`, `PostgreSql`, `SQL` and `Unknown`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assigned to the resource.\n"},"targetPlatform":{"type":"string","description":"The platform type of the migration target. Possible values are `AzureDbForMySql`, `AzureDbForPostgreSql`, `MongoDb`, `SQLDB`, `SQLMI` and `Unknown`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:databasemigration/service:Service":{"description":"Manages a Azure Database Migration Service.\n\n\u003e **NOTE:** Destroying a Database Migration Service will leave any outstanding tasks untouched. This is to avoid unexpectedly deleting any tasks managed outside of this provide.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-rg\",\n    location: \"West Europe\",\n});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"example\", {\n    name: \"example-vnet\",\n    addressSpaces: [\"10.0.0.0/16\"],\n    location: example.location,\n    resourceGroupName: example.name,\n});\nconst exampleSubnet = new azure.network.Subnet(\"example\", {\n    name: \"example-subnet\",\n    resourceGroupName: example.name,\n    virtualNetworkName: exampleVirtualNetwork.name,\n    addressPrefixes: [\"10.0.1.0/24\"],\n});\nconst exampleService = new azure.databasemigration.Service(\"example\", {\n    name: \"example-dms\",\n    location: example.location,\n    resourceGroupName: example.name,\n    subnetId: exampleSubnet.id,\n    skuName: \"Standard_1vCores\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-rg\",\n    location=\"West Europe\")\nexample_virtual_network = azure.network.VirtualNetwork(\"example\",\n    name=\"example-vnet\",\n    address_spaces=[\"10.0.0.0/16\"],\n    location=example.location,\n    resource_group_name=example.name)\nexample_subnet = azure.network.Subnet(\"example\",\n    name=\"example-subnet\",\n    resource_group_name=example.name,\n    virtual_network_name=example_virtual_network.name,\n    address_prefixes=[\"10.0.1.0/24\"])\nexample_service = azure.databasemigration.Service(\"example\",\n    name=\"example-dms\",\n    location=example.location,\n    resource_group_name=example.name,\n    subnet_id=example_subnet.id,\n    sku_name=\"Standard_1vCores\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-rg\",\n        Location = \"West Europe\",\n    });\n\n    var exampleVirtualNetwork = new Azure.Network.VirtualNetwork(\"example\", new()\n    {\n        Name = \"example-vnet\",\n        AddressSpaces = new[]\n        {\n            \"10.0.0.0/16\",\n        },\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n    });\n\n    var exampleSubnet = new Azure.Network.Subnet(\"example\", new()\n    {\n        Name = \"example-subnet\",\n        ResourceGroupName = example.Name,\n        VirtualNetworkName = exampleVirtualNetwork.Name,\n        AddressPrefixes = new[]\n        {\n            \"10.0.1.0/24\",\n        },\n    });\n\n    var exampleService = new Azure.DatabaseMigration.Service(\"example\", new()\n    {\n        Name = \"example-dms\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        SubnetId = exampleSubnet.Id,\n        SkuName = \"Standard_1vCores\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/databasemigration\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-rg\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, \"example\", \u0026network.VirtualNetworkArgs{\n\t\t\tName: pulumi.String(\"example-vnet\"),\n\t\t\tAddressSpaces: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.0.0/16\"),\n\t\t\t},\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSubnet, err := network.NewSubnet(ctx, \"example\", \u0026network.SubnetArgs{\n\t\t\tName:               pulumi.String(\"example-subnet\"),\n\t\t\tResourceGroupName:  example.Name,\n\t\t\tVirtualNetworkName: exampleVirtualNetwork.Name,\n\t\t\tAddressPrefixes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.1.0/24\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = databasemigration.NewService(ctx, \"example\", \u0026databasemigration.ServiceArgs{\n\t\t\tName:              pulumi.String(\"example-dms\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSubnetId:          exampleSubnet.ID(),\n\t\t\tSkuName:           pulumi.String(\"Standard_1vCores\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.VirtualNetwork;\nimport com.pulumi.azure.network.VirtualNetworkArgs;\nimport com.pulumi.azure.network.Subnet;\nimport com.pulumi.azure.network.SubnetArgs;\nimport com.pulumi.azure.databasemigration.Service;\nimport com.pulumi.azure.databasemigration.ServiceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-rg\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleVirtualNetwork = new VirtualNetwork(\"exampleVirtualNetwork\", VirtualNetworkArgs.builder()\n            .name(\"example-vnet\")\n            .addressSpaces(\"10.0.0.0/16\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .build());\n\n        var exampleSubnet = new Subnet(\"exampleSubnet\", SubnetArgs.builder()\n            .name(\"example-subnet\")\n            .resourceGroupName(example.name())\n            .virtualNetworkName(exampleVirtualNetwork.name())\n            .addressPrefixes(\"10.0.1.0/24\")\n            .build());\n\n        var exampleService = new Service(\"exampleService\", ServiceArgs.builder()\n            .name(\"example-dms\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .subnetId(exampleSubnet.id())\n            .skuName(\"Standard_1vCores\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-rg\n      location: West Europe\n  exampleVirtualNetwork:\n    type: azure:network:VirtualNetwork\n    name: example\n    properties:\n      name: example-vnet\n      addressSpaces:\n        - 10.0.0.0/16\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n  exampleSubnet:\n    type: azure:network:Subnet\n    name: example\n    properties:\n      name: example-subnet\n      resourceGroupName: ${example.name}\n      virtualNetworkName: ${exampleVirtualNetwork.name}\n      addressPrefixes:\n        - 10.0.1.0/24\n  exampleService:\n    type: azure:databasemigration:Service\n    name: example\n    properties:\n      name: example-dms\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      subnetId: ${exampleSubnet.id}\n      skuName: Standard_1vCores\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.DataMigration` - 2021-06-30\n\n## Import\n\nDatabase Migration Services can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:databasemigration/service:Service example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/example-rg/providers/Microsoft.DataMigration/services/database_migration_service1\n```\n\n","properties":{"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"Specify the name of the database migration service. Changing this forces a new resource to be created.\n"},"resourceGroupName":{"type":"string","description":"Name of the resource group in which to create the database migration service. Changing this forces a new resource to be created.\n"},"skuName":{"type":"string","description":"The SKU name of the database migration service. Possible values are `Premium_4vCores`, `Standard_1vCores`, `Standard_2vCores` and `Standard_4vCores`. Changing this forces a new resource to be created.\n"},"subnetId":{"type":"string","description":"The ID of the virtual subnet resource to which the database migration service should be joined. Changing this forces a new resource to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assigned to the resource.\n"}},"required":["location","name","resourceGroupName","skuName","subnetId"],"inputProperties":{"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specify the name of the database migration service. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"Name of the resource group in which to create the database migration service. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"skuName":{"type":"string","description":"The SKU name of the database migration service. Possible values are `Premium_4vCores`, `Standard_1vCores`, `Standard_2vCores` and `Standard_4vCores`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"subnetId":{"type":"string","description":"The ID of the virtual subnet resource to which the database migration service should be joined. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assigned to the resource.\n"}},"requiredInputs":["resourceGroupName","skuName","subnetId"],"stateInputs":{"description":"Input properties used for looking up and filtering Service resources.\n","properties":{"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specify the name of the database migration service. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"Name of the resource group in which to create the database migration service. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"skuName":{"type":"string","description":"The SKU name of the database migration service. Possible values are `Premium_4vCores`, `Standard_1vCores`, `Standard_2vCores` and `Standard_4vCores`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"subnetId":{"type":"string","description":"The ID of the virtual subnet resource to which the database migration service should be joined. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assigned to the resource.\n"}},"type":"object"}},"azure:databoxedge/device:Device":{"description":"Manages a Databox Edge Device.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-databoxedge\",\n    location: \"West Europe\",\n});\nconst exampleDevice = new azure.databoxedge.Device(\"example\", {\n    name: \"example-device\",\n    resourceGroupName: example.name,\n    location: example.location,\n    skuName: \"EdgeP_Base-Standard\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-databoxedge\",\n    location=\"West Europe\")\nexample_device = azure.databoxedge.Device(\"example\",\n    name=\"example-device\",\n    resource_group_name=example.name,\n    location=example.location,\n    sku_name=\"EdgeP_Base-Standard\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-databoxedge\",\n        Location = \"West Europe\",\n    });\n\n    var exampleDevice = new Azure.DataboxEdge.Device(\"example\", new()\n    {\n        Name = \"example-device\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        SkuName = \"EdgeP_Base-Standard\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/databoxedge\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-databoxedge\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = databoxedge.NewDevice(ctx, \"example\", \u0026databoxedge.DeviceArgs{\n\t\t\tName:              pulumi.String(\"example-device\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tSkuName:           pulumi.String(\"EdgeP_Base-Standard\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.databoxedge.Device;\nimport com.pulumi.azure.databoxedge.DeviceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-databoxedge\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleDevice = new Device(\"exampleDevice\", DeviceArgs.builder()\n            .name(\"example-device\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .skuName(\"EdgeP_Base-Standard\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-databoxedge\n      location: West Europe\n  exampleDevice:\n    type: azure:databoxedge:Device\n    name: example\n    properties:\n      name: example-device\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      skuName: EdgeP_Base-Standard\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.DataBoxEdge` - 2022-03-01\n\n## Import\n\nDatabox Edge Devices can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:databoxedge/device:Device example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/device1\n```\n\n","properties":{"deviceProperties":{"type":"array","items":{"$ref":"#/types/azure:databoxedge/DeviceDeviceProperty:DeviceDeviceProperty"},"description":"A \u003cspan pulumi-lang-nodejs=\"`deviceProperties`\" pulumi-lang-dotnet=\"`DeviceProperties`\" pulumi-lang-go=\"`deviceProperties`\" pulumi-lang-python=\"`device_properties`\" pulumi-lang-yaml=\"`deviceProperties`\" pulumi-lang-java=\"`deviceProperties`\"\u003e`device_properties`\u003c/span\u003e block as defined below.\n"},"location":{"type":"string","description":"The Azure Region where the Databox Edge Device should exist. Changing this forces a new Databox Edge Device to be created.\n"},"name":{"type":"string","description":"The name which should be used for this Databox Edge Device. Changing this forces a new Databox Edge Device to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Databox Edge Device should exist. Changing this forces a new Databox Edge Device to be created.\n"},"skuName":{"type":"string","description":"The \u003cspan pulumi-lang-nodejs=\"`skuName`\" pulumi-lang-dotnet=\"`SkuName`\" pulumi-lang-go=\"`skuName`\" pulumi-lang-python=\"`sku_name`\" pulumi-lang-yaml=\"`skuName`\" pulumi-lang-java=\"`skuName`\"\u003e`sku_name`\u003c/span\u003e is comprised of two segments separated by a hyphen (e.g. `TEA_1Node_UPS_Heater-Standard`). The first segment of the \u003cspan pulumi-lang-nodejs=\"`skuName`\" pulumi-lang-dotnet=\"`SkuName`\" pulumi-lang-go=\"`skuName`\" pulumi-lang-python=\"`sku_name`\" pulumi-lang-yaml=\"`skuName`\" pulumi-lang-java=\"`skuName`\"\u003e`sku_name`\u003c/span\u003e defines the \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e of the SKU, possible values are `Gateway`, `EdgeMR_Mini`, `EdgeP_Base`, `EdgeP_High`, `EdgePR_Base`, `EdgePR_Base_UPS`, `GPU`, `RCA_Large`, `RCA_Small`, `RDC`, `TCA_Large`, `TCA_Small`, `TDC`, `TEA_1Node`, `TEA_1Node_UPS`, `TEA_1Node_Heater`, `TEA_1Node_UPS_Heater`, `TEA_4Node_Heater`, `TEA_4Node_UPS_Heater` or `TMA`. The second segment defines the \u003cspan pulumi-lang-nodejs=\"`tier`\" pulumi-lang-dotnet=\"`Tier`\" pulumi-lang-go=\"`tier`\" pulumi-lang-python=\"`tier`\" pulumi-lang-yaml=\"`tier`\" pulumi-lang-java=\"`tier`\"\u003e`tier`\u003c/span\u003e of the \u003cspan pulumi-lang-nodejs=\"`skuName`\" pulumi-lang-dotnet=\"`SkuName`\" pulumi-lang-go=\"`skuName`\" pulumi-lang-python=\"`sku_name`\" pulumi-lang-yaml=\"`skuName`\" pulumi-lang-java=\"`skuName`\"\u003e`sku_name`\u003c/span\u003e, possible values are `Standard`. For more information see the product documentation. Changing this forces a new Databox Edge Device to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Databox Edge Device.\n"}},"required":["deviceProperties","location","name","resourceGroupName","skuName"],"inputProperties":{"location":{"type":"string","description":"The Azure Region where the Databox Edge Device should exist. Changing this forces a new Databox Edge Device to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Databox Edge Device. Changing this forces a new Databox Edge Device to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Databox Edge Device should exist. Changing this forces a new Databox Edge Device to be created.\n","willReplaceOnChanges":true},"skuName":{"type":"string","description":"The \u003cspan pulumi-lang-nodejs=\"`skuName`\" pulumi-lang-dotnet=\"`SkuName`\" pulumi-lang-go=\"`skuName`\" pulumi-lang-python=\"`sku_name`\" pulumi-lang-yaml=\"`skuName`\" pulumi-lang-java=\"`skuName`\"\u003e`sku_name`\u003c/span\u003e is comprised of two segments separated by a hyphen (e.g. `TEA_1Node_UPS_Heater-Standard`). The first segment of the \u003cspan pulumi-lang-nodejs=\"`skuName`\" pulumi-lang-dotnet=\"`SkuName`\" pulumi-lang-go=\"`skuName`\" pulumi-lang-python=\"`sku_name`\" pulumi-lang-yaml=\"`skuName`\" pulumi-lang-java=\"`skuName`\"\u003e`sku_name`\u003c/span\u003e defines the \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e of the SKU, possible values are `Gateway`, `EdgeMR_Mini`, `EdgeP_Base`, `EdgeP_High`, `EdgePR_Base`, `EdgePR_Base_UPS`, `GPU`, `RCA_Large`, `RCA_Small`, `RDC`, `TCA_Large`, `TCA_Small`, `TDC`, `TEA_1Node`, `TEA_1Node_UPS`, `TEA_1Node_Heater`, `TEA_1Node_UPS_Heater`, `TEA_4Node_Heater`, `TEA_4Node_UPS_Heater` or `TMA`. The second segment defines the \u003cspan pulumi-lang-nodejs=\"`tier`\" pulumi-lang-dotnet=\"`Tier`\" pulumi-lang-go=\"`tier`\" pulumi-lang-python=\"`tier`\" pulumi-lang-yaml=\"`tier`\" pulumi-lang-java=\"`tier`\"\u003e`tier`\u003c/span\u003e of the \u003cspan pulumi-lang-nodejs=\"`skuName`\" pulumi-lang-dotnet=\"`SkuName`\" pulumi-lang-go=\"`skuName`\" pulumi-lang-python=\"`sku_name`\" pulumi-lang-yaml=\"`skuName`\" pulumi-lang-java=\"`skuName`\"\u003e`sku_name`\u003c/span\u003e, possible values are `Standard`. For more information see the product documentation. Changing this forces a new Databox Edge Device to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Databox Edge Device.\n"}},"requiredInputs":["resourceGroupName","skuName"],"stateInputs":{"description":"Input properties used for looking up and filtering Device resources.\n","properties":{"deviceProperties":{"type":"array","items":{"$ref":"#/types/azure:databoxedge/DeviceDeviceProperty:DeviceDeviceProperty"},"description":"A \u003cspan pulumi-lang-nodejs=\"`deviceProperties`\" pulumi-lang-dotnet=\"`DeviceProperties`\" pulumi-lang-go=\"`deviceProperties`\" pulumi-lang-python=\"`device_properties`\" pulumi-lang-yaml=\"`deviceProperties`\" pulumi-lang-java=\"`deviceProperties`\"\u003e`device_properties`\u003c/span\u003e block as defined below.\n"},"location":{"type":"string","description":"The Azure Region where the Databox Edge Device should exist. Changing this forces a new Databox Edge Device to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Databox Edge Device. Changing this forces a new Databox Edge Device to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Databox Edge Device should exist. Changing this forces a new Databox Edge Device to be created.\n","willReplaceOnChanges":true},"skuName":{"type":"string","description":"The \u003cspan pulumi-lang-nodejs=\"`skuName`\" pulumi-lang-dotnet=\"`SkuName`\" pulumi-lang-go=\"`skuName`\" pulumi-lang-python=\"`sku_name`\" pulumi-lang-yaml=\"`skuName`\" pulumi-lang-java=\"`skuName`\"\u003e`sku_name`\u003c/span\u003e is comprised of two segments separated by a hyphen (e.g. `TEA_1Node_UPS_Heater-Standard`). The first segment of the \u003cspan pulumi-lang-nodejs=\"`skuName`\" pulumi-lang-dotnet=\"`SkuName`\" pulumi-lang-go=\"`skuName`\" pulumi-lang-python=\"`sku_name`\" pulumi-lang-yaml=\"`skuName`\" pulumi-lang-java=\"`skuName`\"\u003e`sku_name`\u003c/span\u003e defines the \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e of the SKU, possible values are `Gateway`, `EdgeMR_Mini`, `EdgeP_Base`, `EdgeP_High`, `EdgePR_Base`, `EdgePR_Base_UPS`, `GPU`, `RCA_Large`, `RCA_Small`, `RDC`, `TCA_Large`, `TCA_Small`, `TDC`, `TEA_1Node`, `TEA_1Node_UPS`, `TEA_1Node_Heater`, `TEA_1Node_UPS_Heater`, `TEA_4Node_Heater`, `TEA_4Node_UPS_Heater` or `TMA`. The second segment defines the \u003cspan pulumi-lang-nodejs=\"`tier`\" pulumi-lang-dotnet=\"`Tier`\" pulumi-lang-go=\"`tier`\" pulumi-lang-python=\"`tier`\" pulumi-lang-yaml=\"`tier`\" pulumi-lang-java=\"`tier`\"\u003e`tier`\u003c/span\u003e of the \u003cspan pulumi-lang-nodejs=\"`skuName`\" pulumi-lang-dotnet=\"`SkuName`\" pulumi-lang-go=\"`skuName`\" pulumi-lang-python=\"`sku_name`\" pulumi-lang-yaml=\"`skuName`\" pulumi-lang-java=\"`skuName`\"\u003e`sku_name`\u003c/span\u003e, possible values are `Standard`. For more information see the product documentation. Changing this forces a new Databox Edge Device to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Databox Edge Device.\n"}},"type":"object"}},"azure:databricks/accessConnector:AccessConnector":{"description":"Manages a Databricks Access Connector\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleAccessConnector = new azure.databricks.AccessConnector(\"example\", {\n    name: \"example-resource\",\n    resourceGroupName: example.name,\n    location: example.location,\n    identity: {\n        type: \"SystemAssigned\",\n    },\n    tags: {\n        Environment: \"Production\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_access_connector = azure.databricks.AccessConnector(\"example\",\n    name=\"example-resource\",\n    resource_group_name=example.name,\n    location=example.location,\n    identity={\n        \"type\": \"SystemAssigned\",\n    },\n    tags={\n        \"Environment\": \"Production\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleAccessConnector = new Azure.DataBricks.AccessConnector(\"example\", new()\n    {\n        Name = \"example-resource\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        Identity = new Azure.DataBricks.Inputs.AccessConnectorIdentityArgs\n        {\n            Type = \"SystemAssigned\",\n        },\n        Tags = \n        {\n            { \"Environment\", \"Production\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/databricks\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = databricks.NewAccessConnector(ctx, \"example\", \u0026databricks.AccessConnectorArgs{\n\t\t\tName:              pulumi.String(\"example-resource\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tIdentity: \u0026databricks.AccessConnectorIdentityArgs{\n\t\t\t\tType: pulumi.String(\"SystemAssigned\"),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Environment\": pulumi.String(\"Production\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.databricks.AccessConnector;\nimport com.pulumi.azure.databricks.AccessConnectorArgs;\nimport com.pulumi.azure.databricks.inputs.AccessConnectorIdentityArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleAccessConnector = new AccessConnector(\"exampleAccessConnector\", AccessConnectorArgs.builder()\n            .name(\"example-resource\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .identity(AccessConnectorIdentityArgs.builder()\n                .type(\"SystemAssigned\")\n                .build())\n            .tags(Map.of(\"Environment\", \"Production\"))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleAccessConnector:\n    type: azure:databricks:AccessConnector\n    name: example\n    properties:\n      name: example-resource\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      identity:\n        type: SystemAssigned\n      tags:\n        Environment: Production\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Databricks` - 2022-10-01-preview\n\n## Import\n\nDatabricks Access Connectors can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:databricks/accessConnector:AccessConnector connector1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Databricks/accessConnectors/connector1\n```\n\n","properties":{"identity":{"$ref":"#/types/azure:databricks/AccessConnectorIdentity:AccessConnectorIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource has to be created. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"Specifies the name of the Databricks Access Connector resource. Changing this forces a new resource to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group in which the Databricks Access Connector should exist. Changing this forces a new resource to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"required":["location","name","resourceGroupName"],"inputProperties":{"identity":{"$ref":"#/types/azure:databricks/AccessConnectorIdentity:AccessConnectorIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource has to be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the Databricks Access Connector resource. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group in which the Databricks Access Connector should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"requiredInputs":["resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering AccessConnector resources.\n","properties":{"identity":{"$ref":"#/types/azure:databricks/AccessConnectorIdentity:AccessConnectorIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource has to be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the Databricks Access Connector resource. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group in which the Databricks Access Connector should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"type":"object"}},"azure:databricks/virtualNetworkPeering:VirtualNetworkPeering":{"description":"Manages a Databricks Virtual Network Peering\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst remote = new azure.network.VirtualNetwork(\"remote\", {\n    name: \"remote-vnet\",\n    resourceGroupName: example.name,\n    addressSpaces: [\"10.0.1.0/24\"],\n    location: example.location,\n});\nconst exampleWorkspace = new azure.databricks.Workspace(\"example\", {\n    name: \"example-workspace\",\n    resourceGroupName: example.name,\n    location: example.location,\n    sku: \"standard\",\n});\nconst exampleVirtualNetworkPeering = new azure.databricks.VirtualNetworkPeering(\"example\", {\n    name: \"databricks-vnet-peer\",\n    resourceGroupName: example.name,\n    workspaceId: exampleWorkspace.id,\n    remoteAddressSpacePrefixes: remote.addressSpaces,\n    remoteVirtualNetworkId: remote.id,\n    allowVirtualNetworkAccess: true,\n});\nconst remoteVirtualNetworkPeering = new azure.network.VirtualNetworkPeering(\"remote\", {\n    name: \"peer-to-databricks\",\n    resourceGroupName: example.name,\n    virtualNetworkName: remote.name,\n    remoteVirtualNetworkId: exampleVirtualNetworkPeering.virtualNetworkId,\n    allowVirtualNetworkAccess: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nremote = azure.network.VirtualNetwork(\"remote\",\n    name=\"remote-vnet\",\n    resource_group_name=example.name,\n    address_spaces=[\"10.0.1.0/24\"],\n    location=example.location)\nexample_workspace = azure.databricks.Workspace(\"example\",\n    name=\"example-workspace\",\n    resource_group_name=example.name,\n    location=example.location,\n    sku=\"standard\")\nexample_virtual_network_peering = azure.databricks.VirtualNetworkPeering(\"example\",\n    name=\"databricks-vnet-peer\",\n    resource_group_name=example.name,\n    workspace_id=example_workspace.id,\n    remote_address_space_prefixes=remote.address_spaces,\n    remote_virtual_network_id=remote.id,\n    allow_virtual_network_access=True)\nremote_virtual_network_peering = azure.network.VirtualNetworkPeering(\"remote\",\n    name=\"peer-to-databricks\",\n    resource_group_name=example.name,\n    virtual_network_name=remote.name,\n    remote_virtual_network_id=example_virtual_network_peering.virtual_network_id,\n    allow_virtual_network_access=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var remote = new Azure.Network.VirtualNetwork(\"remote\", new()\n    {\n        Name = \"remote-vnet\",\n        ResourceGroupName = example.Name,\n        AddressSpaces = new[]\n        {\n            \"10.0.1.0/24\",\n        },\n        Location = example.Location,\n    });\n\n    var exampleWorkspace = new Azure.DataBricks.Workspace(\"example\", new()\n    {\n        Name = \"example-workspace\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        Sku = \"standard\",\n    });\n\n    var exampleVirtualNetworkPeering = new Azure.DataBricks.VirtualNetworkPeering(\"example\", new()\n    {\n        Name = \"databricks-vnet-peer\",\n        ResourceGroupName = example.Name,\n        WorkspaceId = exampleWorkspace.Id,\n        RemoteAddressSpacePrefixes = remote.AddressSpaces,\n        RemoteVirtualNetworkId = remote.Id,\n        AllowVirtualNetworkAccess = true,\n    });\n\n    var remoteVirtualNetworkPeering = new Azure.Network.VirtualNetworkPeering(\"remote\", new()\n    {\n        Name = \"peer-to-databricks\",\n        ResourceGroupName = example.Name,\n        VirtualNetworkName = remote.Name,\n        RemoteVirtualNetworkId = exampleVirtualNetworkPeering.VirtualNetworkId,\n        AllowVirtualNetworkAccess = true,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/databricks\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tremote, err := network.NewVirtualNetwork(ctx, \"remote\", \u0026network.VirtualNetworkArgs{\n\t\t\tName:              pulumi.String(\"remote-vnet\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tAddressSpaces: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.1.0/24\"),\n\t\t\t},\n\t\t\tLocation: example.Location,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleWorkspace, err := databricks.NewWorkspace(ctx, \"example\", \u0026databricks.WorkspaceArgs{\n\t\t\tName:              pulumi.String(\"example-workspace\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tSku:               pulumi.String(\"standard\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualNetworkPeering, err := databricks.NewVirtualNetworkPeering(ctx, \"example\", \u0026databricks.VirtualNetworkPeeringArgs{\n\t\t\tName:                       pulumi.String(\"databricks-vnet-peer\"),\n\t\t\tResourceGroupName:          example.Name,\n\t\t\tWorkspaceId:                exampleWorkspace.ID(),\n\t\t\tRemoteAddressSpacePrefixes: remote.AddressSpaces,\n\t\t\tRemoteVirtualNetworkId:     remote.ID(),\n\t\t\tAllowVirtualNetworkAccess:  pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = network.NewVirtualNetworkPeering(ctx, \"remote\", \u0026network.VirtualNetworkPeeringArgs{\n\t\t\tName:                      pulumi.String(\"peer-to-databricks\"),\n\t\t\tResourceGroupName:         example.Name,\n\t\t\tVirtualNetworkName:        remote.Name,\n\t\t\tRemoteVirtualNetworkId:    exampleVirtualNetworkPeering.VirtualNetworkId,\n\t\t\tAllowVirtualNetworkAccess: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.VirtualNetwork;\nimport com.pulumi.azure.network.VirtualNetworkArgs;\nimport com.pulumi.azure.databricks.Workspace;\nimport com.pulumi.azure.databricks.WorkspaceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var remote = new VirtualNetwork(\"remote\", VirtualNetworkArgs.builder()\n            .name(\"remote-vnet\")\n            .resourceGroupName(example.name())\n            .addressSpaces(\"10.0.1.0/24\")\n            .location(example.location())\n            .build());\n\n        var exampleWorkspace = new Workspace(\"exampleWorkspace\", WorkspaceArgs.builder()\n            .name(\"example-workspace\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .sku(\"standard\")\n            .build());\n\n        var exampleVirtualNetworkPeering = new com.pulumi.azure.databricks.VirtualNetworkPeering(\"exampleVirtualNetworkPeering\", com.pulumi.azure.databricks.VirtualNetworkPeeringArgs.builder()\n            .name(\"databricks-vnet-peer\")\n            .resourceGroupName(example.name())\n            .workspaceId(exampleWorkspace.id())\n            .remoteAddressSpacePrefixes(remote.addressSpaces())\n            .remoteVirtualNetworkId(remote.id())\n            .allowVirtualNetworkAccess(true)\n            .build());\n\n        var remoteVirtualNetworkPeering = new com.pulumi.azure.network.VirtualNetworkPeering(\"remoteVirtualNetworkPeering\", com.pulumi.azure.network.VirtualNetworkPeeringArgs.builder()\n            .name(\"peer-to-databricks\")\n            .resourceGroupName(example.name())\n            .virtualNetworkName(remote.name())\n            .remoteVirtualNetworkId(exampleVirtualNetworkPeering.virtualNetworkId())\n            .allowVirtualNetworkAccess(true)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  remote:\n    type: azure:network:VirtualNetwork\n    properties:\n      name: remote-vnet\n      resourceGroupName: ${example.name}\n      addressSpaces:\n        - 10.0.1.0/24\n      location: ${example.location}\n  exampleWorkspace:\n    type: azure:databricks:Workspace\n    name: example\n    properties:\n      name: example-workspace\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      sku: standard\n  exampleVirtualNetworkPeering:\n    type: azure:databricks:VirtualNetworkPeering\n    name: example\n    properties:\n      name: databricks-vnet-peer\n      resourceGroupName: ${example.name}\n      workspaceId: ${exampleWorkspace.id}\n      remoteAddressSpacePrefixes: ${remote.addressSpaces}\n      remoteVirtualNetworkId: ${remote.id}\n      allowVirtualNetworkAccess: true\n  remoteVirtualNetworkPeering:\n    type: azure:network:VirtualNetworkPeering\n    name: remote\n    properties:\n      name: peer-to-databricks\n      resourceGroupName: ${example.name}\n      virtualNetworkName: ${remote.name}\n      remoteVirtualNetworkId: ${exampleVirtualNetworkPeering.virtualNetworkId}\n      allowVirtualNetworkAccess: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Databricks` - 2024-05-01\n\n## Import\n\nDatabrick Virtual Network Peerings can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:databricks/virtualNetworkPeering:VirtualNetworkPeering example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Databricks/workspaces/workspace1/virtualNetworkPeerings/peering1\n```\n\n","properties":{"addressSpacePrefixes":{"type":"array","items":{"type":"string"},"description":"A list of address blocks reserved for this virtual network in CIDR notation.\n"},"allowForwardedTraffic":{"type":"boolean","description":"Can the forwarded traffic from the VMs in the local virtual network be forwarded to the remote virtual network? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"allowGatewayTransit":{"type":"boolean","description":"Can the gateway links be used in the remote virtual network to link to the Databricks virtual network? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"allowVirtualNetworkAccess":{"type":"boolean","description":"Can the VMs in the local virtual network space access the VMs in the remote virtual network space? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"name":{"type":"string","description":"Specifies the name of the Databricks Virtual Network Peering resource. Changing this forces a new resource to be created.\n"},"remoteAddressSpacePrefixes":{"type":"array","items":{"type":"string"},"description":"A list of address blocks reserved for the remote virtual network in CIDR notation. Changing this forces a new resource to be created.\n"},"remoteVirtualNetworkId":{"type":"string","description":"The ID of the remote virtual network. Changing this forces a new resource to be created.\n\n\u003e **Note:** The remote virtual network should be in the same region as the databricks workspace. Please see the [product documentation](https://learn.microsoft.com/azure/databricks/administration-guide/cloud-configurations/azure/vnet-peering) for more information.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group in which the Databricks Virtual Network Peering should exist. Changing this forces a new resource to be created.\n"},"useRemoteGateways":{"type":"boolean","description":"Can remote gateways be used on the Databricks virtual network? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** If the \u003cspan pulumi-lang-nodejs=\"`useRemoteGateways`\" pulumi-lang-dotnet=\"`UseRemoteGateways`\" pulumi-lang-go=\"`useRemoteGateways`\" pulumi-lang-python=\"`use_remote_gateways`\" pulumi-lang-yaml=\"`useRemoteGateways`\" pulumi-lang-java=\"`useRemoteGateways`\"\u003e`use_remote_gateways`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`allowGatewayTransit`\" pulumi-lang-dotnet=\"`AllowGatewayTransit`\" pulumi-lang-go=\"`allowGatewayTransit`\" pulumi-lang-python=\"`allow_gateway_transit`\" pulumi-lang-yaml=\"`allowGatewayTransit`\" pulumi-lang-java=\"`allowGatewayTransit`\"\u003e`allow_gateway_transit`\u003c/span\u003e on the remote peering is also \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, the virtual network will use the gateways of the remote virtual network for transit. Only one peering can have this flag set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e. \u003cspan pulumi-lang-nodejs=\"`useRemoteGateways`\" pulumi-lang-dotnet=\"`UseRemoteGateways`\" pulumi-lang-go=\"`useRemoteGateways`\" pulumi-lang-python=\"`use_remote_gateways`\" pulumi-lang-yaml=\"`useRemoteGateways`\" pulumi-lang-java=\"`useRemoteGateways`\"\u003e`use_remote_gateways`\u003c/span\u003e cannot be set if the virtual network already has a gateway.\n"},"virtualNetworkId":{"type":"string","description":"The ID of the internal Virtual Network used by the DataBricks Workspace.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`virtualNetworkId`\" pulumi-lang-dotnet=\"`VirtualNetworkId`\" pulumi-lang-go=\"`virtualNetworkId`\" pulumi-lang-python=\"`virtual_network_id`\" pulumi-lang-yaml=\"`virtualNetworkId`\" pulumi-lang-java=\"`virtualNetworkId`\"\u003e`virtual_network_id`\u003c/span\u003e field is the value you must supply to the \u003cspan pulumi-lang-nodejs=\"`azure.network.VirtualNetworkPeering`\" pulumi-lang-dotnet=\"`azure.network.VirtualNetworkPeering`\" pulumi-lang-go=\"`network.VirtualNetworkPeering`\" pulumi-lang-python=\"`network.VirtualNetworkPeering`\" pulumi-lang-yaml=\"`azure.network.VirtualNetworkPeering`\" pulumi-lang-java=\"`azure.network.VirtualNetworkPeering`\"\u003e`azure.network.VirtualNetworkPeering`\u003c/span\u003e resources \u003cspan pulumi-lang-nodejs=\"`remoteVirtualNetworkId`\" pulumi-lang-dotnet=\"`RemoteVirtualNetworkId`\" pulumi-lang-go=\"`remoteVirtualNetworkId`\" pulumi-lang-python=\"`remote_virtual_network_id`\" pulumi-lang-yaml=\"`remoteVirtualNetworkId`\" pulumi-lang-java=\"`remoteVirtualNetworkId`\"\u003e`remote_virtual_network_id`\u003c/span\u003e field to successfully peer the Databricks Virtual Network with the remote virtual network.\n"},"workspaceId":{"type":"string","description":"The ID of the Databricks Workspace that this Databricks Virtual Network Peering is bound. Changing this forces a new resource to be created.\n"}},"required":["addressSpacePrefixes","name","remoteAddressSpacePrefixes","remoteVirtualNetworkId","resourceGroupName","virtualNetworkId","workspaceId"],"inputProperties":{"allowForwardedTraffic":{"type":"boolean","description":"Can the forwarded traffic from the VMs in the local virtual network be forwarded to the remote virtual network? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"allowGatewayTransit":{"type":"boolean","description":"Can the gateway links be used in the remote virtual network to link to the Databricks virtual network? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"allowVirtualNetworkAccess":{"type":"boolean","description":"Can the VMs in the local virtual network space access the VMs in the remote virtual network space? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"name":{"type":"string","description":"Specifies the name of the Databricks Virtual Network Peering resource. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"remoteAddressSpacePrefixes":{"type":"array","items":{"type":"string"},"description":"A list of address blocks reserved for the remote virtual network in CIDR notation. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"remoteVirtualNetworkId":{"type":"string","description":"The ID of the remote virtual network. Changing this forces a new resource to be created.\n\n\u003e **Note:** The remote virtual network should be in the same region as the databricks workspace. Please see the [product documentation](https://learn.microsoft.com/azure/databricks/administration-guide/cloud-configurations/azure/vnet-peering) for more information.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group in which the Databricks Virtual Network Peering should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"useRemoteGateways":{"type":"boolean","description":"Can remote gateways be used on the Databricks virtual network? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** If the \u003cspan pulumi-lang-nodejs=\"`useRemoteGateways`\" pulumi-lang-dotnet=\"`UseRemoteGateways`\" pulumi-lang-go=\"`useRemoteGateways`\" pulumi-lang-python=\"`use_remote_gateways`\" pulumi-lang-yaml=\"`useRemoteGateways`\" pulumi-lang-java=\"`useRemoteGateways`\"\u003e`use_remote_gateways`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`allowGatewayTransit`\" pulumi-lang-dotnet=\"`AllowGatewayTransit`\" pulumi-lang-go=\"`allowGatewayTransit`\" pulumi-lang-python=\"`allow_gateway_transit`\" pulumi-lang-yaml=\"`allowGatewayTransit`\" pulumi-lang-java=\"`allowGatewayTransit`\"\u003e`allow_gateway_transit`\u003c/span\u003e on the remote peering is also \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, the virtual network will use the gateways of the remote virtual network for transit. Only one peering can have this flag set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e. \u003cspan pulumi-lang-nodejs=\"`useRemoteGateways`\" pulumi-lang-dotnet=\"`UseRemoteGateways`\" pulumi-lang-go=\"`useRemoteGateways`\" pulumi-lang-python=\"`use_remote_gateways`\" pulumi-lang-yaml=\"`useRemoteGateways`\" pulumi-lang-java=\"`useRemoteGateways`\"\u003e`use_remote_gateways`\u003c/span\u003e cannot be set if the virtual network already has a gateway.\n"},"workspaceId":{"type":"string","description":"The ID of the Databricks Workspace that this Databricks Virtual Network Peering is bound. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["remoteAddressSpacePrefixes","remoteVirtualNetworkId","resourceGroupName","workspaceId"],"stateInputs":{"description":"Input properties used for looking up and filtering VirtualNetworkPeering resources.\n","properties":{"addressSpacePrefixes":{"type":"array","items":{"type":"string"},"description":"A list of address blocks reserved for this virtual network in CIDR notation.\n"},"allowForwardedTraffic":{"type":"boolean","description":"Can the forwarded traffic from the VMs in the local virtual network be forwarded to the remote virtual network? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"allowGatewayTransit":{"type":"boolean","description":"Can the gateway links be used in the remote virtual network to link to the Databricks virtual network? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"allowVirtualNetworkAccess":{"type":"boolean","description":"Can the VMs in the local virtual network space access the VMs in the remote virtual network space? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"name":{"type":"string","description":"Specifies the name of the Databricks Virtual Network Peering resource. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"remoteAddressSpacePrefixes":{"type":"array","items":{"type":"string"},"description":"A list of address blocks reserved for the remote virtual network in CIDR notation. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"remoteVirtualNetworkId":{"type":"string","description":"The ID of the remote virtual network. Changing this forces a new resource to be created.\n\n\u003e **Note:** The remote virtual network should be in the same region as the databricks workspace. Please see the [product documentation](https://learn.microsoft.com/azure/databricks/administration-guide/cloud-configurations/azure/vnet-peering) for more information.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group in which the Databricks Virtual Network Peering should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"useRemoteGateways":{"type":"boolean","description":"Can remote gateways be used on the Databricks virtual network? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** If the \u003cspan pulumi-lang-nodejs=\"`useRemoteGateways`\" pulumi-lang-dotnet=\"`UseRemoteGateways`\" pulumi-lang-go=\"`useRemoteGateways`\" pulumi-lang-python=\"`use_remote_gateways`\" pulumi-lang-yaml=\"`useRemoteGateways`\" pulumi-lang-java=\"`useRemoteGateways`\"\u003e`use_remote_gateways`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`allowGatewayTransit`\" pulumi-lang-dotnet=\"`AllowGatewayTransit`\" pulumi-lang-go=\"`allowGatewayTransit`\" pulumi-lang-python=\"`allow_gateway_transit`\" pulumi-lang-yaml=\"`allowGatewayTransit`\" pulumi-lang-java=\"`allowGatewayTransit`\"\u003e`allow_gateway_transit`\u003c/span\u003e on the remote peering is also \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, the virtual network will use the gateways of the remote virtual network for transit. Only one peering can have this flag set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e. \u003cspan pulumi-lang-nodejs=\"`useRemoteGateways`\" pulumi-lang-dotnet=\"`UseRemoteGateways`\" pulumi-lang-go=\"`useRemoteGateways`\" pulumi-lang-python=\"`use_remote_gateways`\" pulumi-lang-yaml=\"`useRemoteGateways`\" pulumi-lang-java=\"`useRemoteGateways`\"\u003e`use_remote_gateways`\u003c/span\u003e cannot be set if the virtual network already has a gateway.\n"},"virtualNetworkId":{"type":"string","description":"The ID of the internal Virtual Network used by the DataBricks Workspace.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`virtualNetworkId`\" pulumi-lang-dotnet=\"`VirtualNetworkId`\" pulumi-lang-go=\"`virtualNetworkId`\" pulumi-lang-python=\"`virtual_network_id`\" pulumi-lang-yaml=\"`virtualNetworkId`\" pulumi-lang-java=\"`virtualNetworkId`\"\u003e`virtual_network_id`\u003c/span\u003e field is the value you must supply to the \u003cspan pulumi-lang-nodejs=\"`azure.network.VirtualNetworkPeering`\" pulumi-lang-dotnet=\"`azure.network.VirtualNetworkPeering`\" pulumi-lang-go=\"`network.VirtualNetworkPeering`\" pulumi-lang-python=\"`network.VirtualNetworkPeering`\" pulumi-lang-yaml=\"`azure.network.VirtualNetworkPeering`\" pulumi-lang-java=\"`azure.network.VirtualNetworkPeering`\"\u003e`azure.network.VirtualNetworkPeering`\u003c/span\u003e resources \u003cspan pulumi-lang-nodejs=\"`remoteVirtualNetworkId`\" pulumi-lang-dotnet=\"`RemoteVirtualNetworkId`\" pulumi-lang-go=\"`remoteVirtualNetworkId`\" pulumi-lang-python=\"`remote_virtual_network_id`\" pulumi-lang-yaml=\"`remoteVirtualNetworkId`\" pulumi-lang-java=\"`remoteVirtualNetworkId`\"\u003e`remote_virtual_network_id`\u003c/span\u003e field to successfully peer the Databricks Virtual Network with the remote virtual network.\n"},"workspaceId":{"type":"string","description":"The ID of the Databricks Workspace that this Databricks Virtual Network Peering is bound. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:databricks/workspace:Workspace":{"description":"Manages a Databricks Workspace\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleWorkspace = new azure.databricks.Workspace(\"example\", {\n    name: \"databricks-test\",\n    resourceGroupName: example.name,\n    location: example.location,\n    sku: \"standard\",\n    tags: {\n        Environment: \"Production\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_workspace = azure.databricks.Workspace(\"example\",\n    name=\"databricks-test\",\n    resource_group_name=example.name,\n    location=example.location,\n    sku=\"standard\",\n    tags={\n        \"Environment\": \"Production\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleWorkspace = new Azure.DataBricks.Workspace(\"example\", new()\n    {\n        Name = \"databricks-test\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        Sku = \"standard\",\n        Tags = \n        {\n            { \"Environment\", \"Production\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/databricks\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = databricks.NewWorkspace(ctx, \"example\", \u0026databricks.WorkspaceArgs{\n\t\t\tName:              pulumi.String(\"databricks-test\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tSku:               pulumi.String(\"standard\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Environment\": pulumi.String(\"Production\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.databricks.Workspace;\nimport com.pulumi.azure.databricks.WorkspaceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleWorkspace = new Workspace(\"exampleWorkspace\", WorkspaceArgs.builder()\n            .name(\"databricks-test\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .sku(\"standard\")\n            .tags(Map.of(\"Environment\", \"Production\"))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleWorkspace:\n    type: azure:databricks:Workspace\n    name: example\n    properties:\n      name: databricks-test\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      sku: standard\n      tags:\n        Environment: Production\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003e **Note:** You can use the Databricks Terraform Provider to manage resources within the Databricks Workspace.\n\n## Example HCL Configurations\n\n* Databricks Workspace Secure Connectivity Cluster with Load Balancer\n* Databricks Workspace Secure Connectivity Cluster without Load Balancer\n* Databricks Workspace with Private Endpoint\n* Databricks Workspace with Private Endpoint, Customer Managed Keys for Managed Services and Databricks File System Customer Managed Keys\n* Databricks Workspace with Root Databricks File System Customer Managed Keys\n* Databricks Workspace with Root Databricks File System Customer Managed Keys in a Different Subscription\n* Databricks Workspace with Customer Managed Keys for Managed Services\n* Databricks Workspace with Customer Managed Keys for Managed Services with Key Vault and Key in a Different Subscription\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Databricks` - 2024-05-01, 2022-10-01-preview\n\n* `Microsoft.Network` - 2025-01-01, 2023-09-01\n\n## Import\n\nDatabrick Workspaces can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:databricks/workspace:Workspace workspace1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Databricks/workspaces/workspace1\n```\n\n","properties":{"accessConnectorId":{"type":"string","description":"Access Connector ID to use when default storage account firewall is enabled. \n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`accessConnectorId`\" pulumi-lang-dotnet=\"`AccessConnectorId`\" pulumi-lang-go=\"`accessConnectorId`\" pulumi-lang-python=\"`access_connector_id`\" pulumi-lang-yaml=\"`accessConnectorId`\" pulumi-lang-java=\"`accessConnectorId`\"\u003e`access_connector_id`\u003c/span\u003e field is only required if \u003cspan pulumi-lang-nodejs=\"`defaultStorageFirewallEnabled`\" pulumi-lang-dotnet=\"`DefaultStorageFirewallEnabled`\" pulumi-lang-go=\"`defaultStorageFirewallEnabled`\" pulumi-lang-python=\"`default_storage_firewall_enabled`\" pulumi-lang-yaml=\"`defaultStorageFirewallEnabled`\" pulumi-lang-java=\"`defaultStorageFirewallEnabled`\"\u003e`default_storage_firewall_enabled`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"customParameters":{"$ref":"#/types/azure:databricks/WorkspaceCustomParameters:WorkspaceCustomParameters","description":"A \u003cspan pulumi-lang-nodejs=\"`customParameters`\" pulumi-lang-dotnet=\"`CustomParameters`\" pulumi-lang-go=\"`customParameters`\" pulumi-lang-python=\"`custom_parameters`\" pulumi-lang-yaml=\"`customParameters`\" pulumi-lang-java=\"`customParameters`\"\u003e`custom_parameters`\u003c/span\u003e block as documented below.\n"},"customerManagedKeyEnabled":{"type":"boolean","description":"Is the workspace enabled for customer managed key encryption? If \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e this enables the Managed Identity for the managed storage account. Possible values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. This field is only valid if the Databricks Workspace \u003cspan pulumi-lang-nodejs=\"`sku`\" pulumi-lang-dotnet=\"`Sku`\" pulumi-lang-go=\"`sku`\" pulumi-lang-python=\"`sku`\" pulumi-lang-yaml=\"`sku`\" pulumi-lang-java=\"`sku`\"\u003e`sku`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`premium`\" pulumi-lang-dotnet=\"`Premium`\" pulumi-lang-go=\"`premium`\" pulumi-lang-python=\"`premium`\" pulumi-lang-yaml=\"`premium`\" pulumi-lang-java=\"`premium`\"\u003e`premium`\u003c/span\u003e.\n"},"defaultStorageFirewallEnabled":{"type":"boolean","description":"Disallow public access to default storage account. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"diskEncryptionSetId":{"type":"string","description":"The ID of Managed Disk Encryption Set created by the Databricks Workspace.\n"},"enhancedSecurityCompliance":{"$ref":"#/types/azure:databricks/WorkspaceEnhancedSecurityCompliance:WorkspaceEnhancedSecurityCompliance","description":"An \u003cspan pulumi-lang-nodejs=\"`enhancedSecurityCompliance`\" pulumi-lang-dotnet=\"`EnhancedSecurityCompliance`\" pulumi-lang-go=\"`enhancedSecurityCompliance`\" pulumi-lang-python=\"`enhanced_security_compliance`\" pulumi-lang-yaml=\"`enhancedSecurityCompliance`\" pulumi-lang-java=\"`enhancedSecurityCompliance`\"\u003e`enhanced_security_compliance`\u003c/span\u003e block as documented below. This feature is only valid if \u003cspan pulumi-lang-nodejs=\"`sku`\" pulumi-lang-dotnet=\"`Sku`\" pulumi-lang-go=\"`sku`\" pulumi-lang-python=\"`sku`\" pulumi-lang-yaml=\"`sku`\" pulumi-lang-java=\"`sku`\"\u003e`sku`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`premium`\" pulumi-lang-dotnet=\"`Premium`\" pulumi-lang-go=\"`premium`\" pulumi-lang-python=\"`premium`\" pulumi-lang-yaml=\"`premium`\" pulumi-lang-java=\"`premium`\"\u003e`premium`\u003c/span\u003e.\n"},"infrastructureEncryptionEnabled":{"type":"boolean","description":"Is the Databricks File System root file system enabled with a secondary layer of encryption with platform managed keys? Possible values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. This field is only valid if the Databricks Workspace \u003cspan pulumi-lang-nodejs=\"`sku`\" pulumi-lang-dotnet=\"`Sku`\" pulumi-lang-go=\"`sku`\" pulumi-lang-python=\"`sku`\" pulumi-lang-yaml=\"`sku`\" pulumi-lang-java=\"`sku`\"\u003e`sku`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`premium`\" pulumi-lang-dotnet=\"`Premium`\" pulumi-lang-go=\"`premium`\" pulumi-lang-python=\"`premium`\" pulumi-lang-yaml=\"`premium`\" pulumi-lang-java=\"`premium`\"\u003e`premium`\u003c/span\u003e. Changing this forces a new resource to be created.\n"},"loadBalancerBackendAddressPoolId":{"type":"string","description":"Resource ID of the Outbound Load balancer Backend Address Pool for Secure Cluster Connectivity (No Public IP) workspace with managed virtual network. Changing this forces a new resource to be created.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource has to be created. Changing this forces a new resource to be created.\n"},"managedDiskCmkKeyVaultId":{"type":"string","description":"Resource ID of the Key Vault which contains the \u003cspan pulumi-lang-nodejs=\"`managedDiskCmkKeyVaultKeyId`\" pulumi-lang-dotnet=\"`ManagedDiskCmkKeyVaultKeyId`\" pulumi-lang-go=\"`managedDiskCmkKeyVaultKeyId`\" pulumi-lang-python=\"`managed_disk_cmk_key_vault_key_id`\" pulumi-lang-yaml=\"`managedDiskCmkKeyVaultKeyId`\" pulumi-lang-java=\"`managedDiskCmkKeyVaultKeyId`\"\u003e`managed_disk_cmk_key_vault_key_id`\u003c/span\u003e key.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`managedDiskCmkKeyVaultId`\" pulumi-lang-dotnet=\"`ManagedDiskCmkKeyVaultId`\" pulumi-lang-go=\"`managedDiskCmkKeyVaultId`\" pulumi-lang-python=\"`managed_disk_cmk_key_vault_id`\" pulumi-lang-yaml=\"`managedDiskCmkKeyVaultId`\" pulumi-lang-java=\"`managedDiskCmkKeyVaultId`\"\u003e`managed_disk_cmk_key_vault_id`\u003c/span\u003e field is only required if the Key Vault exists in a different subscription than the Databricks Workspace. If the \u003cspan pulumi-lang-nodejs=\"`managedDiskCmkKeyVaultId`\" pulumi-lang-dotnet=\"`ManagedDiskCmkKeyVaultId`\" pulumi-lang-go=\"`managedDiskCmkKeyVaultId`\" pulumi-lang-python=\"`managed_disk_cmk_key_vault_id`\" pulumi-lang-yaml=\"`managedDiskCmkKeyVaultId`\" pulumi-lang-java=\"`managedDiskCmkKeyVaultId`\"\u003e`managed_disk_cmk_key_vault_id`\u003c/span\u003e field is not specified it is assumed that the \u003cspan pulumi-lang-nodejs=\"`managedDiskCmkKeyVaultKeyId`\" pulumi-lang-dotnet=\"`ManagedDiskCmkKeyVaultKeyId`\" pulumi-lang-go=\"`managedDiskCmkKeyVaultKeyId`\" pulumi-lang-python=\"`managed_disk_cmk_key_vault_key_id`\" pulumi-lang-yaml=\"`managedDiskCmkKeyVaultKeyId`\" pulumi-lang-java=\"`managedDiskCmkKeyVaultKeyId`\"\u003e`managed_disk_cmk_key_vault_key_id`\u003c/span\u003e is hosted in the same subscriptioin as the Databricks Workspace.\n\n\u003e **Note:** If you are using multiple service principals to execute Terraform across subscriptions you will need to add an additional \u003cspan pulumi-lang-nodejs=\"`azure.keyvault.AccessPolicy`\" pulumi-lang-dotnet=\"`azure.keyvault.AccessPolicy`\" pulumi-lang-go=\"`keyvault.AccessPolicy`\" pulumi-lang-python=\"`keyvault.AccessPolicy`\" pulumi-lang-yaml=\"`azure.keyvault.AccessPolicy`\" pulumi-lang-java=\"`azure.keyvault.AccessPolicy`\"\u003e`azure.keyvault.AccessPolicy`\u003c/span\u003e resource granting the service principal access to the key vault in that subscription.\n"},"managedDiskCmkKeyVaultKeyId":{"type":"string","description":"Customer managed encryption properties for the Databricks Workspace managed disks.\n"},"managedDiskCmkRotationToLatestVersionEnabled":{"type":"boolean","description":"Whether customer managed keys for disk encryption will automatically be rotated to the latest version.\n"},"managedDiskIdentities":{"type":"array","items":{"$ref":"#/types/azure:databricks/WorkspaceManagedDiskIdentity:WorkspaceManagedDiskIdentity"},"description":"A \u003cspan pulumi-lang-nodejs=\"`managedDiskIdentity`\" pulumi-lang-dotnet=\"`ManagedDiskIdentity`\" pulumi-lang-go=\"`managedDiskIdentity`\" pulumi-lang-python=\"`managed_disk_identity`\" pulumi-lang-yaml=\"`managedDiskIdentity`\" pulumi-lang-java=\"`managedDiskIdentity`\"\u003e`managed_disk_identity`\u003c/span\u003e block as documented below.\n"},"managedResourceGroupId":{"type":"string","description":"The ID of the Managed Resource Group created by the Databricks Workspace.\n"},"managedResourceGroupName":{"type":"string","description":"The name of the resource group where Azure should place the managed Databricks resources. Changing this forces a new resource to be created.\n\n\u003e **Note:** Make sure that this field is unique if you have multiple Databrick Workspaces deployed in your subscription and choose to not have the \u003cspan pulumi-lang-nodejs=\"`managedResourceGroupName`\" pulumi-lang-dotnet=\"`ManagedResourceGroupName`\" pulumi-lang-go=\"`managedResourceGroupName`\" pulumi-lang-python=\"`managed_resource_group_name`\" pulumi-lang-yaml=\"`managedResourceGroupName`\" pulumi-lang-java=\"`managedResourceGroupName`\"\u003e`managed_resource_group_name`\u003c/span\u003e auto generated by the Azure Resource Provider. Having multiple Databrick Workspaces deployed in the same subscription with the same \u003cspan pulumi-lang-nodejs=\"`manageResourceGroupName`\" pulumi-lang-dotnet=\"`ManageResourceGroupName`\" pulumi-lang-go=\"`manageResourceGroupName`\" pulumi-lang-python=\"`manage_resource_group_name`\" pulumi-lang-yaml=\"`manageResourceGroupName`\" pulumi-lang-java=\"`manageResourceGroupName`\"\u003e`manage_resource_group_name`\u003c/span\u003e may result in some resources that cannot be deleted.\n"},"managedServicesCmkKeyVaultId":{"type":"string","description":"Resource ID of the Key Vault which contains the \u003cspan pulumi-lang-nodejs=\"`managedServicesCmkKeyVaultKeyId`\" pulumi-lang-dotnet=\"`ManagedServicesCmkKeyVaultKeyId`\" pulumi-lang-go=\"`managedServicesCmkKeyVaultKeyId`\" pulumi-lang-python=\"`managed_services_cmk_key_vault_key_id`\" pulumi-lang-yaml=\"`managedServicesCmkKeyVaultKeyId`\" pulumi-lang-java=\"`managedServicesCmkKeyVaultKeyId`\"\u003e`managed_services_cmk_key_vault_key_id`\u003c/span\u003e key.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`managedServicesCmkKeyVaultId`\" pulumi-lang-dotnet=\"`ManagedServicesCmkKeyVaultId`\" pulumi-lang-go=\"`managedServicesCmkKeyVaultId`\" pulumi-lang-python=\"`managed_services_cmk_key_vault_id`\" pulumi-lang-yaml=\"`managedServicesCmkKeyVaultId`\" pulumi-lang-java=\"`managedServicesCmkKeyVaultId`\"\u003e`managed_services_cmk_key_vault_id`\u003c/span\u003e field is only required if the Key Vault exists in a different subscription than the Databricks Workspace. If the \u003cspan pulumi-lang-nodejs=\"`managedServicesCmkKeyVaultId`\" pulumi-lang-dotnet=\"`ManagedServicesCmkKeyVaultId`\" pulumi-lang-go=\"`managedServicesCmkKeyVaultId`\" pulumi-lang-python=\"`managed_services_cmk_key_vault_id`\" pulumi-lang-yaml=\"`managedServicesCmkKeyVaultId`\" pulumi-lang-java=\"`managedServicesCmkKeyVaultId`\"\u003e`managed_services_cmk_key_vault_id`\u003c/span\u003e field is not specified it is assumed that the \u003cspan pulumi-lang-nodejs=\"`managedServicesCmkKeyVaultKeyId`\" pulumi-lang-dotnet=\"`ManagedServicesCmkKeyVaultKeyId`\" pulumi-lang-go=\"`managedServicesCmkKeyVaultKeyId`\" pulumi-lang-python=\"`managed_services_cmk_key_vault_key_id`\" pulumi-lang-yaml=\"`managedServicesCmkKeyVaultKeyId`\" pulumi-lang-java=\"`managedServicesCmkKeyVaultKeyId`\"\u003e`managed_services_cmk_key_vault_key_id`\u003c/span\u003e is hosted in the same subscriptioin as the Databricks Workspace.\n\n\u003e **Note:** If you are using multiple service principals to execute Terraform across subscriptions you will need to add an additional \u003cspan pulumi-lang-nodejs=\"`azure.keyvault.AccessPolicy`\" pulumi-lang-dotnet=\"`azure.keyvault.AccessPolicy`\" pulumi-lang-go=\"`keyvault.AccessPolicy`\" pulumi-lang-python=\"`keyvault.AccessPolicy`\" pulumi-lang-yaml=\"`azure.keyvault.AccessPolicy`\" pulumi-lang-java=\"`azure.keyvault.AccessPolicy`\"\u003e`azure.keyvault.AccessPolicy`\u003c/span\u003e resource granting the service principal access to the key vault in that subscription.\n"},"managedServicesCmkKeyVaultKeyId":{"type":"string","description":"Customer managed encryption properties for the Databricks Workspace managed resources(e.g. Notebooks and Artifacts).\n"},"name":{"type":"string","description":"Specifies the name of the Databricks Workspace resource. Changing this forces a new resource to be created.\n"},"networkSecurityGroupRulesRequired":{"type":"string","description":"Does the data plane (clusters) to control plane communication happen over private link endpoint only or publicly? Possible values `AllRules`, `NoAzureDatabricksRules` or `NoAzureServiceRules`. Required when \u003cspan pulumi-lang-nodejs=\"`publicNetworkAccessEnabled`\" pulumi-lang-dotnet=\"`PublicNetworkAccessEnabled`\" pulumi-lang-go=\"`publicNetworkAccessEnabled`\" pulumi-lang-python=\"`public_network_access_enabled`\" pulumi-lang-yaml=\"`publicNetworkAccessEnabled`\" pulumi-lang-java=\"`publicNetworkAccessEnabled`\"\u003e`public_network_access_enabled`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"publicNetworkAccessEnabled":{"type":"boolean","description":"Allow public access for accessing workspace. Set value to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e to access workspace only via private link endpoint. Possible values include \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group in which the Databricks Workspace should exist. Changing this forces a new resource to be created.\n"},"sku":{"type":"string","description":"The \u003cspan pulumi-lang-nodejs=\"`sku`\" pulumi-lang-dotnet=\"`Sku`\" pulumi-lang-go=\"`sku`\" pulumi-lang-python=\"`sku`\" pulumi-lang-yaml=\"`sku`\" pulumi-lang-java=\"`sku`\"\u003e`sku`\u003c/span\u003e to use for the Databricks Workspace. Possible values are \u003cspan pulumi-lang-nodejs=\"`standard`\" pulumi-lang-dotnet=\"`Standard`\" pulumi-lang-go=\"`standard`\" pulumi-lang-python=\"`standard`\" pulumi-lang-yaml=\"`standard`\" pulumi-lang-java=\"`standard`\"\u003e`standard`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`premium`\" pulumi-lang-dotnet=\"`Premium`\" pulumi-lang-go=\"`premium`\" pulumi-lang-python=\"`premium`\" pulumi-lang-yaml=\"`premium`\" pulumi-lang-java=\"`premium`\"\u003e`premium`\u003c/span\u003e, or \u003cspan pulumi-lang-nodejs=\"`trial`\" pulumi-lang-dotnet=\"`Trial`\" pulumi-lang-go=\"`trial`\" pulumi-lang-python=\"`trial`\" pulumi-lang-yaml=\"`trial`\" pulumi-lang-java=\"`trial`\"\u003e`trial`\u003c/span\u003e.\n\n\u003e **Note:** Downgrading to a `trial sku` from a \u003cspan pulumi-lang-nodejs=\"`standard`\" pulumi-lang-dotnet=\"`Standard`\" pulumi-lang-go=\"`standard`\" pulumi-lang-python=\"`standard`\" pulumi-lang-yaml=\"`standard`\" pulumi-lang-java=\"`standard`\"\u003e`standard`\u003c/span\u003e or `premium sku` will force a new resource to be created.\n"},"storageAccountIdentities":{"type":"array","items":{"$ref":"#/types/azure:databricks/WorkspaceStorageAccountIdentity:WorkspaceStorageAccountIdentity"},"description":"A \u003cspan pulumi-lang-nodejs=\"`storageAccountIdentity`\" pulumi-lang-dotnet=\"`StorageAccountIdentity`\" pulumi-lang-go=\"`storageAccountIdentity`\" pulumi-lang-python=\"`storage_account_identity`\" pulumi-lang-yaml=\"`storageAccountIdentity`\" pulumi-lang-java=\"`storageAccountIdentity`\"\u003e`storage_account_identity`\u003c/span\u003e block as documented below.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"workspaceId":{"type":"string","description":"The unique identifier of the databricks workspace in Databricks control plane.\n"},"workspaceUrl":{"type":"string","description":"The workspace URL which is of the format 'adb-{workspaceId}.{random}.azuredatabricks.net'\n"}},"required":["customParameters","diskEncryptionSetId","location","managedDiskIdentities","managedResourceGroupId","managedResourceGroupName","name","resourceGroupName","sku","storageAccountIdentities","workspaceId","workspaceUrl"],"inputProperties":{"accessConnectorId":{"type":"string","description":"Access Connector ID to use when default storage account firewall is enabled. \n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`accessConnectorId`\" pulumi-lang-dotnet=\"`AccessConnectorId`\" pulumi-lang-go=\"`accessConnectorId`\" pulumi-lang-python=\"`access_connector_id`\" pulumi-lang-yaml=\"`accessConnectorId`\" pulumi-lang-java=\"`accessConnectorId`\"\u003e`access_connector_id`\u003c/span\u003e field is only required if \u003cspan pulumi-lang-nodejs=\"`defaultStorageFirewallEnabled`\" pulumi-lang-dotnet=\"`DefaultStorageFirewallEnabled`\" pulumi-lang-go=\"`defaultStorageFirewallEnabled`\" pulumi-lang-python=\"`default_storage_firewall_enabled`\" pulumi-lang-yaml=\"`defaultStorageFirewallEnabled`\" pulumi-lang-java=\"`defaultStorageFirewallEnabled`\"\u003e`default_storage_firewall_enabled`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"customParameters":{"$ref":"#/types/azure:databricks/WorkspaceCustomParameters:WorkspaceCustomParameters","description":"A \u003cspan pulumi-lang-nodejs=\"`customParameters`\" pulumi-lang-dotnet=\"`CustomParameters`\" pulumi-lang-go=\"`customParameters`\" pulumi-lang-python=\"`custom_parameters`\" pulumi-lang-yaml=\"`customParameters`\" pulumi-lang-java=\"`customParameters`\"\u003e`custom_parameters`\u003c/span\u003e block as documented below.\n"},"customerManagedKeyEnabled":{"type":"boolean","description":"Is the workspace enabled for customer managed key encryption? If \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e this enables the Managed Identity for the managed storage account. Possible values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. This field is only valid if the Databricks Workspace \u003cspan pulumi-lang-nodejs=\"`sku`\" pulumi-lang-dotnet=\"`Sku`\" pulumi-lang-go=\"`sku`\" pulumi-lang-python=\"`sku`\" pulumi-lang-yaml=\"`sku`\" pulumi-lang-java=\"`sku`\"\u003e`sku`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`premium`\" pulumi-lang-dotnet=\"`Premium`\" pulumi-lang-go=\"`premium`\" pulumi-lang-python=\"`premium`\" pulumi-lang-yaml=\"`premium`\" pulumi-lang-java=\"`premium`\"\u003e`premium`\u003c/span\u003e.\n"},"defaultStorageFirewallEnabled":{"type":"boolean","description":"Disallow public access to default storage account. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"enhancedSecurityCompliance":{"$ref":"#/types/azure:databricks/WorkspaceEnhancedSecurityCompliance:WorkspaceEnhancedSecurityCompliance","description":"An \u003cspan pulumi-lang-nodejs=\"`enhancedSecurityCompliance`\" pulumi-lang-dotnet=\"`EnhancedSecurityCompliance`\" pulumi-lang-go=\"`enhancedSecurityCompliance`\" pulumi-lang-python=\"`enhanced_security_compliance`\" pulumi-lang-yaml=\"`enhancedSecurityCompliance`\" pulumi-lang-java=\"`enhancedSecurityCompliance`\"\u003e`enhanced_security_compliance`\u003c/span\u003e block as documented below. This feature is only valid if \u003cspan pulumi-lang-nodejs=\"`sku`\" pulumi-lang-dotnet=\"`Sku`\" pulumi-lang-go=\"`sku`\" pulumi-lang-python=\"`sku`\" pulumi-lang-yaml=\"`sku`\" pulumi-lang-java=\"`sku`\"\u003e`sku`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`premium`\" pulumi-lang-dotnet=\"`Premium`\" pulumi-lang-go=\"`premium`\" pulumi-lang-python=\"`premium`\" pulumi-lang-yaml=\"`premium`\" pulumi-lang-java=\"`premium`\"\u003e`premium`\u003c/span\u003e.\n"},"infrastructureEncryptionEnabled":{"type":"boolean","description":"Is the Databricks File System root file system enabled with a secondary layer of encryption with platform managed keys? Possible values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. This field is only valid if the Databricks Workspace \u003cspan pulumi-lang-nodejs=\"`sku`\" pulumi-lang-dotnet=\"`Sku`\" pulumi-lang-go=\"`sku`\" pulumi-lang-python=\"`sku`\" pulumi-lang-yaml=\"`sku`\" pulumi-lang-java=\"`sku`\"\u003e`sku`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`premium`\" pulumi-lang-dotnet=\"`Premium`\" pulumi-lang-go=\"`premium`\" pulumi-lang-python=\"`premium`\" pulumi-lang-yaml=\"`premium`\" pulumi-lang-java=\"`premium`\"\u003e`premium`\u003c/span\u003e. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"loadBalancerBackendAddressPoolId":{"type":"string","description":"Resource ID of the Outbound Load balancer Backend Address Pool for Secure Cluster Connectivity (No Public IP) workspace with managed virtual network. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"location":{"type":"string","description":"Specifies the supported Azure location where the resource has to be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"managedDiskCmkKeyVaultId":{"type":"string","description":"Resource ID of the Key Vault which contains the \u003cspan pulumi-lang-nodejs=\"`managedDiskCmkKeyVaultKeyId`\" pulumi-lang-dotnet=\"`ManagedDiskCmkKeyVaultKeyId`\" pulumi-lang-go=\"`managedDiskCmkKeyVaultKeyId`\" pulumi-lang-python=\"`managed_disk_cmk_key_vault_key_id`\" pulumi-lang-yaml=\"`managedDiskCmkKeyVaultKeyId`\" pulumi-lang-java=\"`managedDiskCmkKeyVaultKeyId`\"\u003e`managed_disk_cmk_key_vault_key_id`\u003c/span\u003e key.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`managedDiskCmkKeyVaultId`\" pulumi-lang-dotnet=\"`ManagedDiskCmkKeyVaultId`\" pulumi-lang-go=\"`managedDiskCmkKeyVaultId`\" pulumi-lang-python=\"`managed_disk_cmk_key_vault_id`\" pulumi-lang-yaml=\"`managedDiskCmkKeyVaultId`\" pulumi-lang-java=\"`managedDiskCmkKeyVaultId`\"\u003e`managed_disk_cmk_key_vault_id`\u003c/span\u003e field is only required if the Key Vault exists in a different subscription than the Databricks Workspace. If the \u003cspan pulumi-lang-nodejs=\"`managedDiskCmkKeyVaultId`\" pulumi-lang-dotnet=\"`ManagedDiskCmkKeyVaultId`\" pulumi-lang-go=\"`managedDiskCmkKeyVaultId`\" pulumi-lang-python=\"`managed_disk_cmk_key_vault_id`\" pulumi-lang-yaml=\"`managedDiskCmkKeyVaultId`\" pulumi-lang-java=\"`managedDiskCmkKeyVaultId`\"\u003e`managed_disk_cmk_key_vault_id`\u003c/span\u003e field is not specified it is assumed that the \u003cspan pulumi-lang-nodejs=\"`managedDiskCmkKeyVaultKeyId`\" pulumi-lang-dotnet=\"`ManagedDiskCmkKeyVaultKeyId`\" pulumi-lang-go=\"`managedDiskCmkKeyVaultKeyId`\" pulumi-lang-python=\"`managed_disk_cmk_key_vault_key_id`\" pulumi-lang-yaml=\"`managedDiskCmkKeyVaultKeyId`\" pulumi-lang-java=\"`managedDiskCmkKeyVaultKeyId`\"\u003e`managed_disk_cmk_key_vault_key_id`\u003c/span\u003e is hosted in the same subscriptioin as the Databricks Workspace.\n\n\u003e **Note:** If you are using multiple service principals to execute Terraform across subscriptions you will need to add an additional \u003cspan pulumi-lang-nodejs=\"`azure.keyvault.AccessPolicy`\" pulumi-lang-dotnet=\"`azure.keyvault.AccessPolicy`\" pulumi-lang-go=\"`keyvault.AccessPolicy`\" pulumi-lang-python=\"`keyvault.AccessPolicy`\" pulumi-lang-yaml=\"`azure.keyvault.AccessPolicy`\" pulumi-lang-java=\"`azure.keyvault.AccessPolicy`\"\u003e`azure.keyvault.AccessPolicy`\u003c/span\u003e resource granting the service principal access to the key vault in that subscription.\n"},"managedDiskCmkKeyVaultKeyId":{"type":"string","description":"Customer managed encryption properties for the Databricks Workspace managed disks.\n"},"managedDiskCmkRotationToLatestVersionEnabled":{"type":"boolean","description":"Whether customer managed keys for disk encryption will automatically be rotated to the latest version.\n"},"managedResourceGroupName":{"type":"string","description":"The name of the resource group where Azure should place the managed Databricks resources. Changing this forces a new resource to be created.\n\n\u003e **Note:** Make sure that this field is unique if you have multiple Databrick Workspaces deployed in your subscription and choose to not have the \u003cspan pulumi-lang-nodejs=\"`managedResourceGroupName`\" pulumi-lang-dotnet=\"`ManagedResourceGroupName`\" pulumi-lang-go=\"`managedResourceGroupName`\" pulumi-lang-python=\"`managed_resource_group_name`\" pulumi-lang-yaml=\"`managedResourceGroupName`\" pulumi-lang-java=\"`managedResourceGroupName`\"\u003e`managed_resource_group_name`\u003c/span\u003e auto generated by the Azure Resource Provider. Having multiple Databrick Workspaces deployed in the same subscription with the same \u003cspan pulumi-lang-nodejs=\"`manageResourceGroupName`\" pulumi-lang-dotnet=\"`ManageResourceGroupName`\" pulumi-lang-go=\"`manageResourceGroupName`\" pulumi-lang-python=\"`manage_resource_group_name`\" pulumi-lang-yaml=\"`manageResourceGroupName`\" pulumi-lang-java=\"`manageResourceGroupName`\"\u003e`manage_resource_group_name`\u003c/span\u003e may result in some resources that cannot be deleted.\n","willReplaceOnChanges":true},"managedServicesCmkKeyVaultId":{"type":"string","description":"Resource ID of the Key Vault which contains the \u003cspan pulumi-lang-nodejs=\"`managedServicesCmkKeyVaultKeyId`\" pulumi-lang-dotnet=\"`ManagedServicesCmkKeyVaultKeyId`\" pulumi-lang-go=\"`managedServicesCmkKeyVaultKeyId`\" pulumi-lang-python=\"`managed_services_cmk_key_vault_key_id`\" pulumi-lang-yaml=\"`managedServicesCmkKeyVaultKeyId`\" pulumi-lang-java=\"`managedServicesCmkKeyVaultKeyId`\"\u003e`managed_services_cmk_key_vault_key_id`\u003c/span\u003e key.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`managedServicesCmkKeyVaultId`\" pulumi-lang-dotnet=\"`ManagedServicesCmkKeyVaultId`\" pulumi-lang-go=\"`managedServicesCmkKeyVaultId`\" pulumi-lang-python=\"`managed_services_cmk_key_vault_id`\" pulumi-lang-yaml=\"`managedServicesCmkKeyVaultId`\" pulumi-lang-java=\"`managedServicesCmkKeyVaultId`\"\u003e`managed_services_cmk_key_vault_id`\u003c/span\u003e field is only required if the Key Vault exists in a different subscription than the Databricks Workspace. If the \u003cspan pulumi-lang-nodejs=\"`managedServicesCmkKeyVaultId`\" pulumi-lang-dotnet=\"`ManagedServicesCmkKeyVaultId`\" pulumi-lang-go=\"`managedServicesCmkKeyVaultId`\" pulumi-lang-python=\"`managed_services_cmk_key_vault_id`\" pulumi-lang-yaml=\"`managedServicesCmkKeyVaultId`\" pulumi-lang-java=\"`managedServicesCmkKeyVaultId`\"\u003e`managed_services_cmk_key_vault_id`\u003c/span\u003e field is not specified it is assumed that the \u003cspan pulumi-lang-nodejs=\"`managedServicesCmkKeyVaultKeyId`\" pulumi-lang-dotnet=\"`ManagedServicesCmkKeyVaultKeyId`\" pulumi-lang-go=\"`managedServicesCmkKeyVaultKeyId`\" pulumi-lang-python=\"`managed_services_cmk_key_vault_key_id`\" pulumi-lang-yaml=\"`managedServicesCmkKeyVaultKeyId`\" pulumi-lang-java=\"`managedServicesCmkKeyVaultKeyId`\"\u003e`managed_services_cmk_key_vault_key_id`\u003c/span\u003e is hosted in the same subscriptioin as the Databricks Workspace.\n\n\u003e **Note:** If you are using multiple service principals to execute Terraform across subscriptions you will need to add an additional \u003cspan pulumi-lang-nodejs=\"`azure.keyvault.AccessPolicy`\" pulumi-lang-dotnet=\"`azure.keyvault.AccessPolicy`\" pulumi-lang-go=\"`keyvault.AccessPolicy`\" pulumi-lang-python=\"`keyvault.AccessPolicy`\" pulumi-lang-yaml=\"`azure.keyvault.AccessPolicy`\" pulumi-lang-java=\"`azure.keyvault.AccessPolicy`\"\u003e`azure.keyvault.AccessPolicy`\u003c/span\u003e resource granting the service principal access to the key vault in that subscription.\n"},"managedServicesCmkKeyVaultKeyId":{"type":"string","description":"Customer managed encryption properties for the Databricks Workspace managed resources(e.g. Notebooks and Artifacts).\n"},"name":{"type":"string","description":"Specifies the name of the Databricks Workspace resource. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"networkSecurityGroupRulesRequired":{"type":"string","description":"Does the data plane (clusters) to control plane communication happen over private link endpoint only or publicly? Possible values `AllRules`, `NoAzureDatabricksRules` or `NoAzureServiceRules`. Required when \u003cspan pulumi-lang-nodejs=\"`publicNetworkAccessEnabled`\" pulumi-lang-dotnet=\"`PublicNetworkAccessEnabled`\" pulumi-lang-go=\"`publicNetworkAccessEnabled`\" pulumi-lang-python=\"`public_network_access_enabled`\" pulumi-lang-yaml=\"`publicNetworkAccessEnabled`\" pulumi-lang-java=\"`publicNetworkAccessEnabled`\"\u003e`public_network_access_enabled`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"publicNetworkAccessEnabled":{"type":"boolean","description":"Allow public access for accessing workspace. Set value to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e to access workspace only via private link endpoint. Possible values include \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group in which the Databricks Workspace should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sku":{"type":"string","description":"The \u003cspan pulumi-lang-nodejs=\"`sku`\" pulumi-lang-dotnet=\"`Sku`\" pulumi-lang-go=\"`sku`\" pulumi-lang-python=\"`sku`\" pulumi-lang-yaml=\"`sku`\" pulumi-lang-java=\"`sku`\"\u003e`sku`\u003c/span\u003e to use for the Databricks Workspace. Possible values are \u003cspan pulumi-lang-nodejs=\"`standard`\" pulumi-lang-dotnet=\"`Standard`\" pulumi-lang-go=\"`standard`\" pulumi-lang-python=\"`standard`\" pulumi-lang-yaml=\"`standard`\" pulumi-lang-java=\"`standard`\"\u003e`standard`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`premium`\" pulumi-lang-dotnet=\"`Premium`\" pulumi-lang-go=\"`premium`\" pulumi-lang-python=\"`premium`\" pulumi-lang-yaml=\"`premium`\" pulumi-lang-java=\"`premium`\"\u003e`premium`\u003c/span\u003e, or \u003cspan pulumi-lang-nodejs=\"`trial`\" pulumi-lang-dotnet=\"`Trial`\" pulumi-lang-go=\"`trial`\" pulumi-lang-python=\"`trial`\" pulumi-lang-yaml=\"`trial`\" pulumi-lang-java=\"`trial`\"\u003e`trial`\u003c/span\u003e.\n\n\u003e **Note:** Downgrading to a `trial sku` from a \u003cspan pulumi-lang-nodejs=\"`standard`\" pulumi-lang-dotnet=\"`Standard`\" pulumi-lang-go=\"`standard`\" pulumi-lang-python=\"`standard`\" pulumi-lang-yaml=\"`standard`\" pulumi-lang-java=\"`standard`\"\u003e`standard`\u003c/span\u003e or `premium sku` will force a new resource to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"requiredInputs":["resourceGroupName","sku"],"stateInputs":{"description":"Input properties used for looking up and filtering Workspace resources.\n","properties":{"accessConnectorId":{"type":"string","description":"Access Connector ID to use when default storage account firewall is enabled. \n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`accessConnectorId`\" pulumi-lang-dotnet=\"`AccessConnectorId`\" pulumi-lang-go=\"`accessConnectorId`\" pulumi-lang-python=\"`access_connector_id`\" pulumi-lang-yaml=\"`accessConnectorId`\" pulumi-lang-java=\"`accessConnectorId`\"\u003e`access_connector_id`\u003c/span\u003e field is only required if \u003cspan pulumi-lang-nodejs=\"`defaultStorageFirewallEnabled`\" pulumi-lang-dotnet=\"`DefaultStorageFirewallEnabled`\" pulumi-lang-go=\"`defaultStorageFirewallEnabled`\" pulumi-lang-python=\"`default_storage_firewall_enabled`\" pulumi-lang-yaml=\"`defaultStorageFirewallEnabled`\" pulumi-lang-java=\"`defaultStorageFirewallEnabled`\"\u003e`default_storage_firewall_enabled`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"customParameters":{"$ref":"#/types/azure:databricks/WorkspaceCustomParameters:WorkspaceCustomParameters","description":"A \u003cspan pulumi-lang-nodejs=\"`customParameters`\" pulumi-lang-dotnet=\"`CustomParameters`\" pulumi-lang-go=\"`customParameters`\" pulumi-lang-python=\"`custom_parameters`\" pulumi-lang-yaml=\"`customParameters`\" pulumi-lang-java=\"`customParameters`\"\u003e`custom_parameters`\u003c/span\u003e block as documented below.\n"},"customerManagedKeyEnabled":{"type":"boolean","description":"Is the workspace enabled for customer managed key encryption? If \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e this enables the Managed Identity for the managed storage account. Possible values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. This field is only valid if the Databricks Workspace \u003cspan pulumi-lang-nodejs=\"`sku`\" pulumi-lang-dotnet=\"`Sku`\" pulumi-lang-go=\"`sku`\" pulumi-lang-python=\"`sku`\" pulumi-lang-yaml=\"`sku`\" pulumi-lang-java=\"`sku`\"\u003e`sku`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`premium`\" pulumi-lang-dotnet=\"`Premium`\" pulumi-lang-go=\"`premium`\" pulumi-lang-python=\"`premium`\" pulumi-lang-yaml=\"`premium`\" pulumi-lang-java=\"`premium`\"\u003e`premium`\u003c/span\u003e.\n"},"defaultStorageFirewallEnabled":{"type":"boolean","description":"Disallow public access to default storage account. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"diskEncryptionSetId":{"type":"string","description":"The ID of Managed Disk Encryption Set created by the Databricks Workspace.\n"},"enhancedSecurityCompliance":{"$ref":"#/types/azure:databricks/WorkspaceEnhancedSecurityCompliance:WorkspaceEnhancedSecurityCompliance","description":"An \u003cspan pulumi-lang-nodejs=\"`enhancedSecurityCompliance`\" pulumi-lang-dotnet=\"`EnhancedSecurityCompliance`\" pulumi-lang-go=\"`enhancedSecurityCompliance`\" pulumi-lang-python=\"`enhanced_security_compliance`\" pulumi-lang-yaml=\"`enhancedSecurityCompliance`\" pulumi-lang-java=\"`enhancedSecurityCompliance`\"\u003e`enhanced_security_compliance`\u003c/span\u003e block as documented below. This feature is only valid if \u003cspan pulumi-lang-nodejs=\"`sku`\" pulumi-lang-dotnet=\"`Sku`\" pulumi-lang-go=\"`sku`\" pulumi-lang-python=\"`sku`\" pulumi-lang-yaml=\"`sku`\" pulumi-lang-java=\"`sku`\"\u003e`sku`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`premium`\" pulumi-lang-dotnet=\"`Premium`\" pulumi-lang-go=\"`premium`\" pulumi-lang-python=\"`premium`\" pulumi-lang-yaml=\"`premium`\" pulumi-lang-java=\"`premium`\"\u003e`premium`\u003c/span\u003e.\n"},"infrastructureEncryptionEnabled":{"type":"boolean","description":"Is the Databricks File System root file system enabled with a secondary layer of encryption with platform managed keys? Possible values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. This field is only valid if the Databricks Workspace \u003cspan pulumi-lang-nodejs=\"`sku`\" pulumi-lang-dotnet=\"`Sku`\" pulumi-lang-go=\"`sku`\" pulumi-lang-python=\"`sku`\" pulumi-lang-yaml=\"`sku`\" pulumi-lang-java=\"`sku`\"\u003e`sku`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`premium`\" pulumi-lang-dotnet=\"`Premium`\" pulumi-lang-go=\"`premium`\" pulumi-lang-python=\"`premium`\" pulumi-lang-yaml=\"`premium`\" pulumi-lang-java=\"`premium`\"\u003e`premium`\u003c/span\u003e. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"loadBalancerBackendAddressPoolId":{"type":"string","description":"Resource ID of the Outbound Load balancer Backend Address Pool for Secure Cluster Connectivity (No Public IP) workspace with managed virtual network. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"location":{"type":"string","description":"Specifies the supported Azure location where the resource has to be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"managedDiskCmkKeyVaultId":{"type":"string","description":"Resource ID of the Key Vault which contains the \u003cspan pulumi-lang-nodejs=\"`managedDiskCmkKeyVaultKeyId`\" pulumi-lang-dotnet=\"`ManagedDiskCmkKeyVaultKeyId`\" pulumi-lang-go=\"`managedDiskCmkKeyVaultKeyId`\" pulumi-lang-python=\"`managed_disk_cmk_key_vault_key_id`\" pulumi-lang-yaml=\"`managedDiskCmkKeyVaultKeyId`\" pulumi-lang-java=\"`managedDiskCmkKeyVaultKeyId`\"\u003e`managed_disk_cmk_key_vault_key_id`\u003c/span\u003e key.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`managedDiskCmkKeyVaultId`\" pulumi-lang-dotnet=\"`ManagedDiskCmkKeyVaultId`\" pulumi-lang-go=\"`managedDiskCmkKeyVaultId`\" pulumi-lang-python=\"`managed_disk_cmk_key_vault_id`\" pulumi-lang-yaml=\"`managedDiskCmkKeyVaultId`\" pulumi-lang-java=\"`managedDiskCmkKeyVaultId`\"\u003e`managed_disk_cmk_key_vault_id`\u003c/span\u003e field is only required if the Key Vault exists in a different subscription than the Databricks Workspace. If the \u003cspan pulumi-lang-nodejs=\"`managedDiskCmkKeyVaultId`\" pulumi-lang-dotnet=\"`ManagedDiskCmkKeyVaultId`\" pulumi-lang-go=\"`managedDiskCmkKeyVaultId`\" pulumi-lang-python=\"`managed_disk_cmk_key_vault_id`\" pulumi-lang-yaml=\"`managedDiskCmkKeyVaultId`\" pulumi-lang-java=\"`managedDiskCmkKeyVaultId`\"\u003e`managed_disk_cmk_key_vault_id`\u003c/span\u003e field is not specified it is assumed that the \u003cspan pulumi-lang-nodejs=\"`managedDiskCmkKeyVaultKeyId`\" pulumi-lang-dotnet=\"`ManagedDiskCmkKeyVaultKeyId`\" pulumi-lang-go=\"`managedDiskCmkKeyVaultKeyId`\" pulumi-lang-python=\"`managed_disk_cmk_key_vault_key_id`\" pulumi-lang-yaml=\"`managedDiskCmkKeyVaultKeyId`\" pulumi-lang-java=\"`managedDiskCmkKeyVaultKeyId`\"\u003e`managed_disk_cmk_key_vault_key_id`\u003c/span\u003e is hosted in the same subscriptioin as the Databricks Workspace.\n\n\u003e **Note:** If you are using multiple service principals to execute Terraform across subscriptions you will need to add an additional \u003cspan pulumi-lang-nodejs=\"`azure.keyvault.AccessPolicy`\" pulumi-lang-dotnet=\"`azure.keyvault.AccessPolicy`\" pulumi-lang-go=\"`keyvault.AccessPolicy`\" pulumi-lang-python=\"`keyvault.AccessPolicy`\" pulumi-lang-yaml=\"`azure.keyvault.AccessPolicy`\" pulumi-lang-java=\"`azure.keyvault.AccessPolicy`\"\u003e`azure.keyvault.AccessPolicy`\u003c/span\u003e resource granting the service principal access to the key vault in that subscription.\n"},"managedDiskCmkKeyVaultKeyId":{"type":"string","description":"Customer managed encryption properties for the Databricks Workspace managed disks.\n"},"managedDiskCmkRotationToLatestVersionEnabled":{"type":"boolean","description":"Whether customer managed keys for disk encryption will automatically be rotated to the latest version.\n"},"managedDiskIdentities":{"type":"array","items":{"$ref":"#/types/azure:databricks/WorkspaceManagedDiskIdentity:WorkspaceManagedDiskIdentity"},"description":"A \u003cspan pulumi-lang-nodejs=\"`managedDiskIdentity`\" pulumi-lang-dotnet=\"`ManagedDiskIdentity`\" pulumi-lang-go=\"`managedDiskIdentity`\" pulumi-lang-python=\"`managed_disk_identity`\" pulumi-lang-yaml=\"`managedDiskIdentity`\" pulumi-lang-java=\"`managedDiskIdentity`\"\u003e`managed_disk_identity`\u003c/span\u003e block as documented below.\n"},"managedResourceGroupId":{"type":"string","description":"The ID of the Managed Resource Group created by the Databricks Workspace.\n"},"managedResourceGroupName":{"type":"string","description":"The name of the resource group where Azure should place the managed Databricks resources. Changing this forces a new resource to be created.\n\n\u003e **Note:** Make sure that this field is unique if you have multiple Databrick Workspaces deployed in your subscription and choose to not have the \u003cspan pulumi-lang-nodejs=\"`managedResourceGroupName`\" pulumi-lang-dotnet=\"`ManagedResourceGroupName`\" pulumi-lang-go=\"`managedResourceGroupName`\" pulumi-lang-python=\"`managed_resource_group_name`\" pulumi-lang-yaml=\"`managedResourceGroupName`\" pulumi-lang-java=\"`managedResourceGroupName`\"\u003e`managed_resource_group_name`\u003c/span\u003e auto generated by the Azure Resource Provider. Having multiple Databrick Workspaces deployed in the same subscription with the same \u003cspan pulumi-lang-nodejs=\"`manageResourceGroupName`\" pulumi-lang-dotnet=\"`ManageResourceGroupName`\" pulumi-lang-go=\"`manageResourceGroupName`\" pulumi-lang-python=\"`manage_resource_group_name`\" pulumi-lang-yaml=\"`manageResourceGroupName`\" pulumi-lang-java=\"`manageResourceGroupName`\"\u003e`manage_resource_group_name`\u003c/span\u003e may result in some resources that cannot be deleted.\n","willReplaceOnChanges":true},"managedServicesCmkKeyVaultId":{"type":"string","description":"Resource ID of the Key Vault which contains the \u003cspan pulumi-lang-nodejs=\"`managedServicesCmkKeyVaultKeyId`\" pulumi-lang-dotnet=\"`ManagedServicesCmkKeyVaultKeyId`\" pulumi-lang-go=\"`managedServicesCmkKeyVaultKeyId`\" pulumi-lang-python=\"`managed_services_cmk_key_vault_key_id`\" pulumi-lang-yaml=\"`managedServicesCmkKeyVaultKeyId`\" pulumi-lang-java=\"`managedServicesCmkKeyVaultKeyId`\"\u003e`managed_services_cmk_key_vault_key_id`\u003c/span\u003e key.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`managedServicesCmkKeyVaultId`\" pulumi-lang-dotnet=\"`ManagedServicesCmkKeyVaultId`\" pulumi-lang-go=\"`managedServicesCmkKeyVaultId`\" pulumi-lang-python=\"`managed_services_cmk_key_vault_id`\" pulumi-lang-yaml=\"`managedServicesCmkKeyVaultId`\" pulumi-lang-java=\"`managedServicesCmkKeyVaultId`\"\u003e`managed_services_cmk_key_vault_id`\u003c/span\u003e field is only required if the Key Vault exists in a different subscription than the Databricks Workspace. If the \u003cspan pulumi-lang-nodejs=\"`managedServicesCmkKeyVaultId`\" pulumi-lang-dotnet=\"`ManagedServicesCmkKeyVaultId`\" pulumi-lang-go=\"`managedServicesCmkKeyVaultId`\" pulumi-lang-python=\"`managed_services_cmk_key_vault_id`\" pulumi-lang-yaml=\"`managedServicesCmkKeyVaultId`\" pulumi-lang-java=\"`managedServicesCmkKeyVaultId`\"\u003e`managed_services_cmk_key_vault_id`\u003c/span\u003e field is not specified it is assumed that the \u003cspan pulumi-lang-nodejs=\"`managedServicesCmkKeyVaultKeyId`\" pulumi-lang-dotnet=\"`ManagedServicesCmkKeyVaultKeyId`\" pulumi-lang-go=\"`managedServicesCmkKeyVaultKeyId`\" pulumi-lang-python=\"`managed_services_cmk_key_vault_key_id`\" pulumi-lang-yaml=\"`managedServicesCmkKeyVaultKeyId`\" pulumi-lang-java=\"`managedServicesCmkKeyVaultKeyId`\"\u003e`managed_services_cmk_key_vault_key_id`\u003c/span\u003e is hosted in the same subscriptioin as the Databricks Workspace.\n\n\u003e **Note:** If you are using multiple service principals to execute Terraform across subscriptions you will need to add an additional \u003cspan pulumi-lang-nodejs=\"`azure.keyvault.AccessPolicy`\" pulumi-lang-dotnet=\"`azure.keyvault.AccessPolicy`\" pulumi-lang-go=\"`keyvault.AccessPolicy`\" pulumi-lang-python=\"`keyvault.AccessPolicy`\" pulumi-lang-yaml=\"`azure.keyvault.AccessPolicy`\" pulumi-lang-java=\"`azure.keyvault.AccessPolicy`\"\u003e`azure.keyvault.AccessPolicy`\u003c/span\u003e resource granting the service principal access to the key vault in that subscription.\n"},"managedServicesCmkKeyVaultKeyId":{"type":"string","description":"Customer managed encryption properties for the Databricks Workspace managed resources(e.g. Notebooks and Artifacts).\n"},"name":{"type":"string","description":"Specifies the name of the Databricks Workspace resource. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"networkSecurityGroupRulesRequired":{"type":"string","description":"Does the data plane (clusters) to control plane communication happen over private link endpoint only or publicly? Possible values `AllRules`, `NoAzureDatabricksRules` or `NoAzureServiceRules`. Required when \u003cspan pulumi-lang-nodejs=\"`publicNetworkAccessEnabled`\" pulumi-lang-dotnet=\"`PublicNetworkAccessEnabled`\" pulumi-lang-go=\"`publicNetworkAccessEnabled`\" pulumi-lang-python=\"`public_network_access_enabled`\" pulumi-lang-yaml=\"`publicNetworkAccessEnabled`\" pulumi-lang-java=\"`publicNetworkAccessEnabled`\"\u003e`public_network_access_enabled`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"publicNetworkAccessEnabled":{"type":"boolean","description":"Allow public access for accessing workspace. Set value to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e to access workspace only via private link endpoint. Possible values include \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group in which the Databricks Workspace should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sku":{"type":"string","description":"The \u003cspan pulumi-lang-nodejs=\"`sku`\" pulumi-lang-dotnet=\"`Sku`\" pulumi-lang-go=\"`sku`\" pulumi-lang-python=\"`sku`\" pulumi-lang-yaml=\"`sku`\" pulumi-lang-java=\"`sku`\"\u003e`sku`\u003c/span\u003e to use for the Databricks Workspace. Possible values are \u003cspan pulumi-lang-nodejs=\"`standard`\" pulumi-lang-dotnet=\"`Standard`\" pulumi-lang-go=\"`standard`\" pulumi-lang-python=\"`standard`\" pulumi-lang-yaml=\"`standard`\" pulumi-lang-java=\"`standard`\"\u003e`standard`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`premium`\" pulumi-lang-dotnet=\"`Premium`\" pulumi-lang-go=\"`premium`\" pulumi-lang-python=\"`premium`\" pulumi-lang-yaml=\"`premium`\" pulumi-lang-java=\"`premium`\"\u003e`premium`\u003c/span\u003e, or \u003cspan pulumi-lang-nodejs=\"`trial`\" pulumi-lang-dotnet=\"`Trial`\" pulumi-lang-go=\"`trial`\" pulumi-lang-python=\"`trial`\" pulumi-lang-yaml=\"`trial`\" pulumi-lang-java=\"`trial`\"\u003e`trial`\u003c/span\u003e.\n\n\u003e **Note:** Downgrading to a `trial sku` from a \u003cspan pulumi-lang-nodejs=\"`standard`\" pulumi-lang-dotnet=\"`Standard`\" pulumi-lang-go=\"`standard`\" pulumi-lang-python=\"`standard`\" pulumi-lang-yaml=\"`standard`\" pulumi-lang-java=\"`standard`\"\u003e`standard`\u003c/span\u003e or `premium sku` will force a new resource to be created.\n"},"storageAccountIdentities":{"type":"array","items":{"$ref":"#/types/azure:databricks/WorkspaceStorageAccountIdentity:WorkspaceStorageAccountIdentity"},"description":"A \u003cspan pulumi-lang-nodejs=\"`storageAccountIdentity`\" pulumi-lang-dotnet=\"`StorageAccountIdentity`\" pulumi-lang-go=\"`storageAccountIdentity`\" pulumi-lang-python=\"`storage_account_identity`\" pulumi-lang-yaml=\"`storageAccountIdentity`\" pulumi-lang-java=\"`storageAccountIdentity`\"\u003e`storage_account_identity`\u003c/span\u003e block as documented below.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"workspaceId":{"type":"string","description":"The unique identifier of the databricks workspace in Databricks control plane.\n"},"workspaceUrl":{"type":"string","description":"The workspace URL which is of the format 'adb-{workspaceId}.{random}.azuredatabricks.net'\n"}},"type":"object"}},"azure:databricks/workspaceCustomerManagedKey:WorkspaceCustomerManagedKey":{"description":"Manages a Databricks Workspace\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleWorkspace = new azure.databricks.Workspace(\"example\", {\n    name: \"databricks-test\",\n    resourceGroupName: example.name,\n    location: example.location,\n    sku: \"standard\",\n    tags: {\n        Environment: \"Production\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_workspace = azure.databricks.Workspace(\"example\",\n    name=\"databricks-test\",\n    resource_group_name=example.name,\n    location=example.location,\n    sku=\"standard\",\n    tags={\n        \"Environment\": \"Production\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleWorkspace = new Azure.DataBricks.Workspace(\"example\", new()\n    {\n        Name = \"databricks-test\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        Sku = \"standard\",\n        Tags = \n        {\n            { \"Environment\", \"Production\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/databricks\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = databricks.NewWorkspace(ctx, \"example\", \u0026databricks.WorkspaceArgs{\n\t\t\tName:              pulumi.String(\"databricks-test\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tSku:               pulumi.String(\"standard\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Environment\": pulumi.String(\"Production\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.databricks.Workspace;\nimport com.pulumi.azure.databricks.WorkspaceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleWorkspace = new Workspace(\"exampleWorkspace\", WorkspaceArgs.builder()\n            .name(\"databricks-test\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .sku(\"standard\")\n            .tags(Map.of(\"Environment\", \"Production\"))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleWorkspace:\n    type: azure:databricks:Workspace\n    name: example\n    properties:\n      name: databricks-test\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      sku: standard\n      tags:\n        Environment: Production\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003e **Note:** You can use the Databricks Terraform Provider to manage resources within the Databricks Workspace.\n\n## Example HCL Configurations\n\n* Databricks Workspace Secure Connectivity Cluster with Load Balancer\n* Databricks Workspace Secure Connectivity Cluster without Load Balancer\n* Databricks Workspace with Private Endpoint\n* Databricks Workspace with Private Endpoint, Customer Managed Keys for Managed Services and Databricks File System Customer Managed Keys\n* Databricks Workspace with Root Databricks File System Customer Managed Keys\n* Databricks Workspace with Root Databricks File System Customer Managed Keys in a Different Subscription\n* Databricks Workspace with Customer Managed Keys for Managed Services\n* Databricks Workspace with Customer Managed Keys for Managed Services with Key Vault and Key in a Different Subscription\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Databricks` - 2024-05-01, 2022-10-01-preview\n\n* `Microsoft.Network` - 2025-01-01, 2023-09-01\n\n## Import\n\nDatabrick Workspaces can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:databricks/workspaceCustomerManagedKey:WorkspaceCustomerManagedKey workspace1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Databricks/workspaces/workspace1\n```\n\n","properties":{"keyVaultKeyId":{"type":"string"},"workspaceId":{"type":"string","description":"The unique identifier of the databricks workspace in Databricks control plane.\n"}},"required":["keyVaultKeyId","workspaceId"],"inputProperties":{"keyVaultKeyId":{"type":"string"},"workspaceId":{"type":"string","description":"The unique identifier of the databricks workspace in Databricks control plane.\n"}},"requiredInputs":["keyVaultKeyId","workspaceId"],"stateInputs":{"description":"Input properties used for looking up and filtering WorkspaceCustomerManagedKey resources.\n","properties":{"keyVaultKeyId":{"type":"string"},"workspaceId":{"type":"string","description":"The unique identifier of the databricks workspace in Databricks control plane.\n"}},"type":"object"}},"azure:databricks/workspaceRootDbfsCustomerManagedKey:WorkspaceRootDbfsCustomerManagedKey":{"description":"Manages a Customer Managed Key for the Databricks Workspaces Root Databricks File System (DBFS)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst current = azure.core.getClientConfig({});\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleKeyVault = new azure.keyvault.KeyVault(\"example\", {\n    name: \"examplekeyvault\",\n    location: example.location,\n    resourceGroupName: example.name,\n    tenantId: current.then(current =\u003e current.tenantId),\n    skuName: \"premium\",\n    purgeProtectionEnabled: true,\n    softDeleteRetentionDays: 7,\n});\nconst terraform = new azure.keyvault.AccessPolicy(\"terraform\", {\n    keyVaultId: exampleKeyVault.id,\n    tenantId: exampleKeyVault.tenantId,\n    objectId: current.then(current =\u003e current.objectId),\n    keyPermissions: [\n        \"Create\",\n        \"Delete\",\n        \"Get\",\n        \"Purge\",\n        \"Recover\",\n        \"Update\",\n        \"List\",\n        \"Decrypt\",\n        \"Sign\",\n        \"GetRotationPolicy\",\n    ],\n});\nconst exampleKey = new azure.keyvault.Key(\"example\", {\n    name: \"example-certificate\",\n    keyVaultId: exampleKeyVault.id,\n    keyType: \"RSA\",\n    keySize: 2048,\n    keyOpts: [\n        \"decrypt\",\n        \"encrypt\",\n        \"sign\",\n        \"unwrapKey\",\n        \"verify\",\n        \"wrapKey\",\n    ],\n}, {\n    dependsOn: [terraform],\n});\nconst exampleWorkspace = new azure.databricks.Workspace(\"example\", {\n    name: \"example-workspace\",\n    resourceGroupName: example.name,\n    location: example.location,\n    sku: \"premium\",\n    customerManagedKeyEnabled: true,\n});\nconst databricks = new azure.keyvault.AccessPolicy(\"databricks\", {\n    keyVaultId: exampleKeyVault.id,\n    tenantId: exampleWorkspace.storageAccountIdentities.apply(storageAccountIdentities =\u003e storageAccountIdentities[0].tenantId),\n    objectId: exampleWorkspace.storageAccountIdentities.apply(storageAccountIdentities =\u003e storageAccountIdentities[0].principalId),\n    keyPermissions: [\n        \"Create\",\n        \"Delete\",\n        \"Get\",\n        \"Purge\",\n        \"Recover\",\n        \"Update\",\n        \"List\",\n        \"Decrypt\",\n        \"Sign\",\n    ],\n}, {\n    dependsOn: [exampleWorkspace],\n});\nconst exampleWorkspaceRootDbfsCustomerManagedKey = new azure.databricks.WorkspaceRootDbfsCustomerManagedKey(\"example\", {\n    workspaceId: exampleWorkspace.id,\n    keyVaultKeyId: exampleKey.id,\n}, {\n    dependsOn: [databricks],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\ncurrent = azure.core.get_client_config()\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_key_vault = azure.keyvault.KeyVault(\"example\",\n    name=\"examplekeyvault\",\n    location=example.location,\n    resource_group_name=example.name,\n    tenant_id=current.tenant_id,\n    sku_name=\"premium\",\n    purge_protection_enabled=True,\n    soft_delete_retention_days=7)\nterraform = azure.keyvault.AccessPolicy(\"terraform\",\n    key_vault_id=example_key_vault.id,\n    tenant_id=example_key_vault.tenant_id,\n    object_id=current.object_id,\n    key_permissions=[\n        \"Create\",\n        \"Delete\",\n        \"Get\",\n        \"Purge\",\n        \"Recover\",\n        \"Update\",\n        \"List\",\n        \"Decrypt\",\n        \"Sign\",\n        \"GetRotationPolicy\",\n    ])\nexample_key = azure.keyvault.Key(\"example\",\n    name=\"example-certificate\",\n    key_vault_id=example_key_vault.id,\n    key_type=\"RSA\",\n    key_size=2048,\n    key_opts=[\n        \"decrypt\",\n        \"encrypt\",\n        \"sign\",\n        \"unwrapKey\",\n        \"verify\",\n        \"wrapKey\",\n    ],\n    opts = pulumi.ResourceOptions(depends_on=[terraform]))\nexample_workspace = azure.databricks.Workspace(\"example\",\n    name=\"example-workspace\",\n    resource_group_name=example.name,\n    location=example.location,\n    sku=\"premium\",\n    customer_managed_key_enabled=True)\ndatabricks = azure.keyvault.AccessPolicy(\"databricks\",\n    key_vault_id=example_key_vault.id,\n    tenant_id=example_workspace.storage_account_identities[0].tenant_id,\n    object_id=example_workspace.storage_account_identities[0].principal_id,\n    key_permissions=[\n        \"Create\",\n        \"Delete\",\n        \"Get\",\n        \"Purge\",\n        \"Recover\",\n        \"Update\",\n        \"List\",\n        \"Decrypt\",\n        \"Sign\",\n    ],\n    opts = pulumi.ResourceOptions(depends_on=[example_workspace]))\nexample_workspace_root_dbfs_customer_managed_key = azure.databricks.WorkspaceRootDbfsCustomerManagedKey(\"example\",\n    workspace_id=example_workspace.id,\n    key_vault_key_id=example_key.id,\n    opts = pulumi.ResourceOptions(depends_on=[databricks]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var current = Azure.Core.GetClientConfig.Invoke();\n\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleKeyVault = new Azure.KeyVault.KeyVault(\"example\", new()\n    {\n        Name = \"examplekeyvault\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        TenantId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.TenantId),\n        SkuName = \"premium\",\n        PurgeProtectionEnabled = true,\n        SoftDeleteRetentionDays = 7,\n    });\n\n    var terraform = new Azure.KeyVault.AccessPolicy(\"terraform\", new()\n    {\n        KeyVaultId = exampleKeyVault.Id,\n        TenantId = exampleKeyVault.TenantId,\n        ObjectId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.ObjectId),\n        KeyPermissions = new[]\n        {\n            \"Create\",\n            \"Delete\",\n            \"Get\",\n            \"Purge\",\n            \"Recover\",\n            \"Update\",\n            \"List\",\n            \"Decrypt\",\n            \"Sign\",\n            \"GetRotationPolicy\",\n        },\n    });\n\n    var exampleKey = new Azure.KeyVault.Key(\"example\", new()\n    {\n        Name = \"example-certificate\",\n        KeyVaultId = exampleKeyVault.Id,\n        KeyType = \"RSA\",\n        KeySize = 2048,\n        KeyOpts = new[]\n        {\n            \"decrypt\",\n            \"encrypt\",\n            \"sign\",\n            \"unwrapKey\",\n            \"verify\",\n            \"wrapKey\",\n        },\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            terraform,\n        },\n    });\n\n    var exampleWorkspace = new Azure.DataBricks.Workspace(\"example\", new()\n    {\n        Name = \"example-workspace\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        Sku = \"premium\",\n        CustomerManagedKeyEnabled = true,\n    });\n\n    var databricks = new Azure.KeyVault.AccessPolicy(\"databricks\", new()\n    {\n        KeyVaultId = exampleKeyVault.Id,\n        TenantId = exampleWorkspace.StorageAccountIdentities.Apply(storageAccountIdentities =\u003e storageAccountIdentities[0].TenantId),\n        ObjectId = exampleWorkspace.StorageAccountIdentities.Apply(storageAccountIdentities =\u003e storageAccountIdentities[0].PrincipalId),\n        KeyPermissions = new[]\n        {\n            \"Create\",\n            \"Delete\",\n            \"Get\",\n            \"Purge\",\n            \"Recover\",\n            \"Update\",\n            \"List\",\n            \"Decrypt\",\n            \"Sign\",\n        },\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            exampleWorkspace,\n        },\n    });\n\n    var exampleWorkspaceRootDbfsCustomerManagedKey = new Azure.DataBricks.WorkspaceRootDbfsCustomerManagedKey(\"example\", new()\n    {\n        WorkspaceId = exampleWorkspace.Id,\n        KeyVaultKeyId = exampleKey.Id,\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            databricks,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/databricks\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/keyvault\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := core.GetClientConfig(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleKeyVault, err := keyvault.NewKeyVault(ctx, \"example\", \u0026keyvault.KeyVaultArgs{\n\t\t\tName:                    pulumi.String(\"examplekeyvault\"),\n\t\t\tLocation:                example.Location,\n\t\t\tResourceGroupName:       example.Name,\n\t\t\tTenantId:                pulumi.String(current.TenantId),\n\t\t\tSkuName:                 pulumi.String(\"premium\"),\n\t\t\tPurgeProtectionEnabled:  pulumi.Bool(true),\n\t\t\tSoftDeleteRetentionDays: pulumi.Int(7),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tterraform, err := keyvault.NewAccessPolicy(ctx, \"terraform\", \u0026keyvault.AccessPolicyArgs{\n\t\t\tKeyVaultId: exampleKeyVault.ID(),\n\t\t\tTenantId:   exampleKeyVault.TenantId,\n\t\t\tObjectId:   pulumi.String(current.ObjectId),\n\t\t\tKeyPermissions: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"Create\"),\n\t\t\t\tpulumi.String(\"Delete\"),\n\t\t\t\tpulumi.String(\"Get\"),\n\t\t\t\tpulumi.String(\"Purge\"),\n\t\t\t\tpulumi.String(\"Recover\"),\n\t\t\t\tpulumi.String(\"Update\"),\n\t\t\t\tpulumi.String(\"List\"),\n\t\t\t\tpulumi.String(\"Decrypt\"),\n\t\t\t\tpulumi.String(\"Sign\"),\n\t\t\t\tpulumi.String(\"GetRotationPolicy\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleKey, err := keyvault.NewKey(ctx, \"example\", \u0026keyvault.KeyArgs{\n\t\t\tName:       pulumi.String(\"example-certificate\"),\n\t\t\tKeyVaultId: exampleKeyVault.ID(),\n\t\t\tKeyType:    pulumi.String(\"RSA\"),\n\t\t\tKeySize:    pulumi.Int(2048),\n\t\t\tKeyOpts: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"decrypt\"),\n\t\t\t\tpulumi.String(\"encrypt\"),\n\t\t\t\tpulumi.String(\"sign\"),\n\t\t\t\tpulumi.String(\"unwrapKey\"),\n\t\t\t\tpulumi.String(\"verify\"),\n\t\t\t\tpulumi.String(\"wrapKey\"),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tterraform,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleWorkspace, err := databricks.NewWorkspace(ctx, \"example\", \u0026databricks.WorkspaceArgs{\n\t\t\tName:                      pulumi.String(\"example-workspace\"),\n\t\t\tResourceGroupName:         example.Name,\n\t\t\tLocation:                  example.Location,\n\t\t\tSku:                       pulumi.String(\"premium\"),\n\t\t\tCustomerManagedKeyEnabled: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdatabricks, err := keyvault.NewAccessPolicy(ctx, \"databricks\", \u0026keyvault.AccessPolicyArgs{\n\t\t\tKeyVaultId: exampleKeyVault.ID(),\n\t\t\tTenantId: pulumi.String(exampleWorkspace.StorageAccountIdentities.ApplyT(func(storageAccountIdentities []databricks.WorkspaceStorageAccountIdentity) (*string, error) {\n\t\t\t\treturn \u0026storageAccountIdentities[0].TenantId, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tObjectId: pulumi.String(exampleWorkspace.StorageAccountIdentities.ApplyT(func(storageAccountIdentities []databricks.WorkspaceStorageAccountIdentity) (*string, error) {\n\t\t\t\treturn \u0026storageAccountIdentities[0].PrincipalId, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tKeyPermissions: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"Create\"),\n\t\t\t\tpulumi.String(\"Delete\"),\n\t\t\t\tpulumi.String(\"Get\"),\n\t\t\t\tpulumi.String(\"Purge\"),\n\t\t\t\tpulumi.String(\"Recover\"),\n\t\t\t\tpulumi.String(\"Update\"),\n\t\t\t\tpulumi.String(\"List\"),\n\t\t\t\tpulumi.String(\"Decrypt\"),\n\t\t\t\tpulumi.String(\"Sign\"),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleWorkspace,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = databricks.NewWorkspaceRootDbfsCustomerManagedKey(ctx, \"example\", \u0026databricks.WorkspaceRootDbfsCustomerManagedKeyArgs{\n\t\t\tWorkspaceId:   exampleWorkspace.ID(),\n\t\t\tKeyVaultKeyId: exampleKey.ID(),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tdatabricks,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.keyvault.KeyVault;\nimport com.pulumi.azure.keyvault.KeyVaultArgs;\nimport com.pulumi.azure.keyvault.AccessPolicy;\nimport com.pulumi.azure.keyvault.AccessPolicyArgs;\nimport com.pulumi.azure.keyvault.Key;\nimport com.pulumi.azure.keyvault.KeyArgs;\nimport com.pulumi.azure.databricks.Workspace;\nimport com.pulumi.azure.databricks.WorkspaceArgs;\nimport com.pulumi.azure.databricks.WorkspaceRootDbfsCustomerManagedKey;\nimport com.pulumi.azure.databricks.WorkspaceRootDbfsCustomerManagedKeyArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var current = CoreFunctions.getClientConfig(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleKeyVault = new KeyVault(\"exampleKeyVault\", KeyVaultArgs.builder()\n            .name(\"examplekeyvault\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .tenantId(current.tenantId())\n            .skuName(\"premium\")\n            .purgeProtectionEnabled(true)\n            .softDeleteRetentionDays(7)\n            .build());\n\n        var terraform = new AccessPolicy(\"terraform\", AccessPolicyArgs.builder()\n            .keyVaultId(exampleKeyVault.id())\n            .tenantId(exampleKeyVault.tenantId())\n            .objectId(current.objectId())\n            .keyPermissions(            \n                \"Create\",\n                \"Delete\",\n                \"Get\",\n                \"Purge\",\n                \"Recover\",\n                \"Update\",\n                \"List\",\n                \"Decrypt\",\n                \"Sign\",\n                \"GetRotationPolicy\")\n            .build());\n\n        var exampleKey = new Key(\"exampleKey\", KeyArgs.builder()\n            .name(\"example-certificate\")\n            .keyVaultId(exampleKeyVault.id())\n            .keyType(\"RSA\")\n            .keySize(2048)\n            .keyOpts(            \n                \"decrypt\",\n                \"encrypt\",\n                \"sign\",\n                \"unwrapKey\",\n                \"verify\",\n                \"wrapKey\")\n            .build(), CustomResourceOptions.builder()\n                .dependsOn(terraform)\n                .build());\n\n        var exampleWorkspace = new Workspace(\"exampleWorkspace\", WorkspaceArgs.builder()\n            .name(\"example-workspace\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .sku(\"premium\")\n            .customerManagedKeyEnabled(true)\n            .build());\n\n        var databricks = new AccessPolicy(\"databricks\", AccessPolicyArgs.builder()\n            .keyVaultId(exampleKeyVault.id())\n            .tenantId(exampleWorkspace.storageAccountIdentities().applyValue(_storageAccountIdentities -\u003e _storageAccountIdentities[0].tenantId()))\n            .objectId(exampleWorkspace.storageAccountIdentities().applyValue(_storageAccountIdentities -\u003e _storageAccountIdentities[0].principalId()))\n            .keyPermissions(            \n                \"Create\",\n                \"Delete\",\n                \"Get\",\n                \"Purge\",\n                \"Recover\",\n                \"Update\",\n                \"List\",\n                \"Decrypt\",\n                \"Sign\")\n            .build(), CustomResourceOptions.builder()\n                .dependsOn(exampleWorkspace)\n                .build());\n\n        var exampleWorkspaceRootDbfsCustomerManagedKey = new WorkspaceRootDbfsCustomerManagedKey(\"exampleWorkspaceRootDbfsCustomerManagedKey\", WorkspaceRootDbfsCustomerManagedKeyArgs.builder()\n            .workspaceId(exampleWorkspace.id())\n            .keyVaultKeyId(exampleKey.id())\n            .build(), CustomResourceOptions.builder()\n                .dependsOn(databricks)\n                .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleKeyVault:\n    type: azure:keyvault:KeyVault\n    name: example\n    properties:\n      name: examplekeyvault\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      tenantId: ${current.tenantId}\n      skuName: premium\n      purgeProtectionEnabled: true\n      softDeleteRetentionDays: 7\n  exampleKey:\n    type: azure:keyvault:Key\n    name: example\n    properties:\n      name: example-certificate\n      keyVaultId: ${exampleKeyVault.id}\n      keyType: RSA\n      keySize: 2048\n      keyOpts:\n        - decrypt\n        - encrypt\n        - sign\n        - unwrapKey\n        - verify\n        - wrapKey\n    options:\n      dependsOn:\n        - ${terraform}\n  terraform:\n    type: azure:keyvault:AccessPolicy\n    properties:\n      keyVaultId: ${exampleKeyVault.id}\n      tenantId: ${exampleKeyVault.tenantId}\n      objectId: ${current.objectId}\n      keyPermissions:\n        - Create\n        - Delete\n        - Get\n        - Purge\n        - Recover\n        - Update\n        - List\n        - Decrypt\n        - Sign\n        - GetRotationPolicy\n  databricks:\n    type: azure:keyvault:AccessPolicy\n    properties:\n      keyVaultId: ${exampleKeyVault.id}\n      tenantId: ${exampleWorkspace.storageAccountIdentities[0].tenantId}\n      objectId: ${exampleWorkspace.storageAccountIdentities[0].principalId}\n      keyPermissions:\n        - Create\n        - Delete\n        - Get\n        - Purge\n        - Recover\n        - Update\n        - List\n        - Decrypt\n        - Sign\n    options:\n      dependsOn:\n        - ${exampleWorkspace}\n  exampleWorkspace:\n    type: azure:databricks:Workspace\n    name: example\n    properties:\n      name: example-workspace\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      sku: premium\n      customerManagedKeyEnabled: true\n  exampleWorkspaceRootDbfsCustomerManagedKey:\n    type: azure:databricks:WorkspaceRootDbfsCustomerManagedKey\n    name: example\n    properties:\n      workspaceId: ${exampleWorkspace.id}\n      keyVaultKeyId: ${exampleKey.id}\n    options:\n      dependsOn:\n        - ${databricks}\nvariables:\n  current:\n    fn::invoke:\n      function: azure:core:getClientConfig\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Example HCL Configurations\n\n* Databricks Workspace with Root Databricks File System Customer Managed Keys\n* Databricks Workspace with Root Databricks File System Customer Managed Keys in a Different Subscription\n* Databricks Workspace with Private Endpoint, Customer Managed Keys for Managed Services and Root Databricks File System Customer Managed Keys\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Databricks` - 2024-05-01\n\n## Import\n\nDatabricks Workspace Root DBFS Customer Managed Key can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:databricks/workspaceRootDbfsCustomerManagedKey:WorkspaceRootDbfsCustomerManagedKey workspace1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Databricks/workspaces/workspace1\n```\n\n","properties":{"keyVaultId":{"type":"string","description":"Specifies the Resource ID of the Key Vault which contains the \u003cspan pulumi-lang-nodejs=\"`keyVaultKeyId`\" pulumi-lang-dotnet=\"`KeyVaultKeyId`\" pulumi-lang-go=\"`keyVaultKeyId`\" pulumi-lang-python=\"`key_vault_key_id`\" pulumi-lang-yaml=\"`keyVaultKeyId`\" pulumi-lang-java=\"`keyVaultKeyId`\"\u003e`key_vault_key_id`\u003c/span\u003e.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`keyVaultId`\" pulumi-lang-dotnet=\"`KeyVaultId`\" pulumi-lang-go=\"`keyVaultId`\" pulumi-lang-python=\"`key_vault_id`\" pulumi-lang-yaml=\"`keyVaultId`\" pulumi-lang-java=\"`keyVaultId`\"\u003e`key_vault_id`\u003c/span\u003e field only needs to be specified if the Key Vault which contains the \u003cspan pulumi-lang-nodejs=\"`keyVaultKeyId`\" pulumi-lang-dotnet=\"`KeyVaultKeyId`\" pulumi-lang-go=\"`keyVaultKeyId`\" pulumi-lang-python=\"`key_vault_key_id`\" pulumi-lang-yaml=\"`keyVaultKeyId`\" pulumi-lang-java=\"`keyVaultKeyId`\"\u003e`key_vault_key_id`\u003c/span\u003e exists in a different subscription than the Databricks Workspace. If the \u003cspan pulumi-lang-nodejs=\"`keyVaultId`\" pulumi-lang-dotnet=\"`KeyVaultId`\" pulumi-lang-go=\"`keyVaultId`\" pulumi-lang-python=\"`key_vault_id`\" pulumi-lang-yaml=\"`keyVaultId`\" pulumi-lang-java=\"`keyVaultId`\"\u003e`key_vault_id`\u003c/span\u003e field is not specified it is assumed that the \u003cspan pulumi-lang-nodejs=\"`keyVaultKeyId`\" pulumi-lang-dotnet=\"`KeyVaultKeyId`\" pulumi-lang-go=\"`keyVaultKeyId`\" pulumi-lang-python=\"`key_vault_key_id`\" pulumi-lang-yaml=\"`keyVaultKeyId`\" pulumi-lang-java=\"`keyVaultKeyId`\"\u003e`key_vault_key_id`\u003c/span\u003e is hosted in the same subscription as the Databricks Workspace. Does not apply to managed HSM vaults.\n\n\u003e **Note:** If you are using multiple service principals to execute Terraform across subscriptions you will need to add an additional \u003cspan pulumi-lang-nodejs=\"`azure.keyvault.AccessPolicy`\" pulumi-lang-dotnet=\"`azure.keyvault.AccessPolicy`\" pulumi-lang-go=\"`keyvault.AccessPolicy`\" pulumi-lang-python=\"`keyvault.AccessPolicy`\" pulumi-lang-yaml=\"`azure.keyvault.AccessPolicy`\" pulumi-lang-java=\"`azure.keyvault.AccessPolicy`\"\u003e`azure.keyvault.AccessPolicy`\u003c/span\u003e resource granting the service principal access to the key vault in that subscription.\n"},"keyVaultKeyId":{"type":"string","description":"The ID of the Key Vault Key to be used.\n"},"workspaceId":{"type":"string","description":"The Resource ID of the Databricks Workspace.\n"}},"required":["keyVaultKeyId","workspaceId"],"inputProperties":{"keyVaultId":{"type":"string","description":"Specifies the Resource ID of the Key Vault which contains the \u003cspan pulumi-lang-nodejs=\"`keyVaultKeyId`\" pulumi-lang-dotnet=\"`KeyVaultKeyId`\" pulumi-lang-go=\"`keyVaultKeyId`\" pulumi-lang-python=\"`key_vault_key_id`\" pulumi-lang-yaml=\"`keyVaultKeyId`\" pulumi-lang-java=\"`keyVaultKeyId`\"\u003e`key_vault_key_id`\u003c/span\u003e.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`keyVaultId`\" pulumi-lang-dotnet=\"`KeyVaultId`\" pulumi-lang-go=\"`keyVaultId`\" pulumi-lang-python=\"`key_vault_id`\" pulumi-lang-yaml=\"`keyVaultId`\" pulumi-lang-java=\"`keyVaultId`\"\u003e`key_vault_id`\u003c/span\u003e field only needs to be specified if the Key Vault which contains the \u003cspan pulumi-lang-nodejs=\"`keyVaultKeyId`\" pulumi-lang-dotnet=\"`KeyVaultKeyId`\" pulumi-lang-go=\"`keyVaultKeyId`\" pulumi-lang-python=\"`key_vault_key_id`\" pulumi-lang-yaml=\"`keyVaultKeyId`\" pulumi-lang-java=\"`keyVaultKeyId`\"\u003e`key_vault_key_id`\u003c/span\u003e exists in a different subscription than the Databricks Workspace. If the \u003cspan pulumi-lang-nodejs=\"`keyVaultId`\" pulumi-lang-dotnet=\"`KeyVaultId`\" pulumi-lang-go=\"`keyVaultId`\" pulumi-lang-python=\"`key_vault_id`\" pulumi-lang-yaml=\"`keyVaultId`\" pulumi-lang-java=\"`keyVaultId`\"\u003e`key_vault_id`\u003c/span\u003e field is not specified it is assumed that the \u003cspan pulumi-lang-nodejs=\"`keyVaultKeyId`\" pulumi-lang-dotnet=\"`KeyVaultKeyId`\" pulumi-lang-go=\"`keyVaultKeyId`\" pulumi-lang-python=\"`key_vault_key_id`\" pulumi-lang-yaml=\"`keyVaultKeyId`\" pulumi-lang-java=\"`keyVaultKeyId`\"\u003e`key_vault_key_id`\u003c/span\u003e is hosted in the same subscription as the Databricks Workspace. Does not apply to managed HSM vaults.\n\n\u003e **Note:** If you are using multiple service principals to execute Terraform across subscriptions you will need to add an additional \u003cspan pulumi-lang-nodejs=\"`azure.keyvault.AccessPolicy`\" pulumi-lang-dotnet=\"`azure.keyvault.AccessPolicy`\" pulumi-lang-go=\"`keyvault.AccessPolicy`\" pulumi-lang-python=\"`keyvault.AccessPolicy`\" pulumi-lang-yaml=\"`azure.keyvault.AccessPolicy`\" pulumi-lang-java=\"`azure.keyvault.AccessPolicy`\"\u003e`azure.keyvault.AccessPolicy`\u003c/span\u003e resource granting the service principal access to the key vault in that subscription.\n"},"keyVaultKeyId":{"type":"string","description":"The ID of the Key Vault Key to be used.\n"},"workspaceId":{"type":"string","description":"The Resource ID of the Databricks Workspace.\n"}},"requiredInputs":["keyVaultKeyId","workspaceId"],"stateInputs":{"description":"Input properties used for looking up and filtering WorkspaceRootDbfsCustomerManagedKey resources.\n","properties":{"keyVaultId":{"type":"string","description":"Specifies the Resource ID of the Key Vault which contains the \u003cspan pulumi-lang-nodejs=\"`keyVaultKeyId`\" pulumi-lang-dotnet=\"`KeyVaultKeyId`\" pulumi-lang-go=\"`keyVaultKeyId`\" pulumi-lang-python=\"`key_vault_key_id`\" pulumi-lang-yaml=\"`keyVaultKeyId`\" pulumi-lang-java=\"`keyVaultKeyId`\"\u003e`key_vault_key_id`\u003c/span\u003e.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`keyVaultId`\" pulumi-lang-dotnet=\"`KeyVaultId`\" pulumi-lang-go=\"`keyVaultId`\" pulumi-lang-python=\"`key_vault_id`\" pulumi-lang-yaml=\"`keyVaultId`\" pulumi-lang-java=\"`keyVaultId`\"\u003e`key_vault_id`\u003c/span\u003e field only needs to be specified if the Key Vault which contains the \u003cspan pulumi-lang-nodejs=\"`keyVaultKeyId`\" pulumi-lang-dotnet=\"`KeyVaultKeyId`\" pulumi-lang-go=\"`keyVaultKeyId`\" pulumi-lang-python=\"`key_vault_key_id`\" pulumi-lang-yaml=\"`keyVaultKeyId`\" pulumi-lang-java=\"`keyVaultKeyId`\"\u003e`key_vault_key_id`\u003c/span\u003e exists in a different subscription than the Databricks Workspace. If the \u003cspan pulumi-lang-nodejs=\"`keyVaultId`\" pulumi-lang-dotnet=\"`KeyVaultId`\" pulumi-lang-go=\"`keyVaultId`\" pulumi-lang-python=\"`key_vault_id`\" pulumi-lang-yaml=\"`keyVaultId`\" pulumi-lang-java=\"`keyVaultId`\"\u003e`key_vault_id`\u003c/span\u003e field is not specified it is assumed that the \u003cspan pulumi-lang-nodejs=\"`keyVaultKeyId`\" pulumi-lang-dotnet=\"`KeyVaultKeyId`\" pulumi-lang-go=\"`keyVaultKeyId`\" pulumi-lang-python=\"`key_vault_key_id`\" pulumi-lang-yaml=\"`keyVaultKeyId`\" pulumi-lang-java=\"`keyVaultKeyId`\"\u003e`key_vault_key_id`\u003c/span\u003e is hosted in the same subscription as the Databricks Workspace. Does not apply to managed HSM vaults.\n\n\u003e **Note:** If you are using multiple service principals to execute Terraform across subscriptions you will need to add an additional \u003cspan pulumi-lang-nodejs=\"`azure.keyvault.AccessPolicy`\" pulumi-lang-dotnet=\"`azure.keyvault.AccessPolicy`\" pulumi-lang-go=\"`keyvault.AccessPolicy`\" pulumi-lang-python=\"`keyvault.AccessPolicy`\" pulumi-lang-yaml=\"`azure.keyvault.AccessPolicy`\" pulumi-lang-java=\"`azure.keyvault.AccessPolicy`\"\u003e`azure.keyvault.AccessPolicy`\u003c/span\u003e resource granting the service principal access to the key vault in that subscription.\n"},"keyVaultKeyId":{"type":"string","description":"The ID of the Key Vault Key to be used.\n"},"workspaceId":{"type":"string","description":"The Resource ID of the Databricks Workspace.\n"}},"type":"object"},"aliases":[{"type":"azure:databricks/workspaceCustomerManagedKey:WorkspaceCustomerManagedKey"}]},"azure:datadog/monitor:Monitor":{"description":"Manages a datadog Monitor.\n\n## Example Usage\n\n### Monitor creation with linking to Datadog organization\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-datadog\",\n    location: \"West US 2\",\n});\nconst exampleMonitor = new azure.datadog.Monitor(\"example\", {\n    name: \"example-monitor\",\n    resourceGroupName: example.name,\n    location: example.location,\n    datadogOrganization: {\n        apiKey: \"XXXX\",\n        applicationKey: \"XXXX\",\n    },\n    user: {\n        name: \"Example\",\n        email: \"abc@xyz.com\",\n    },\n    skuName: \"Linked\",\n    identity: {\n        type: \"SystemAssigned\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-datadog\",\n    location=\"West US 2\")\nexample_monitor = azure.datadog.Monitor(\"example\",\n    name=\"example-monitor\",\n    resource_group_name=example.name,\n    location=example.location,\n    datadog_organization={\n        \"api_key\": \"XXXX\",\n        \"application_key\": \"XXXX\",\n    },\n    user={\n        \"name\": \"Example\",\n        \"email\": \"abc@xyz.com\",\n    },\n    sku_name=\"Linked\",\n    identity={\n        \"type\": \"SystemAssigned\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-datadog\",\n        Location = \"West US 2\",\n    });\n\n    var exampleMonitor = new Azure.Datadog.Monitor(\"example\", new()\n    {\n        Name = \"example-monitor\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        DatadogOrganization = new Azure.Datadog.Inputs.MonitorDatadogOrganizationArgs\n        {\n            ApiKey = \"XXXX\",\n            ApplicationKey = \"XXXX\",\n        },\n        User = new Azure.Datadog.Inputs.MonitorUserArgs\n        {\n            Name = \"Example\",\n            Email = \"abc@xyz.com\",\n        },\n        SkuName = \"Linked\",\n        Identity = new Azure.Datadog.Inputs.MonitorIdentityArgs\n        {\n            Type = \"SystemAssigned\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/datadog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-datadog\"),\n\t\t\tLocation: pulumi.String(\"West US 2\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = datadog.NewMonitor(ctx, \"example\", \u0026datadog.MonitorArgs{\n\t\t\tName:              pulumi.String(\"example-monitor\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tDatadogOrganization: \u0026datadog.MonitorDatadogOrganizationArgs{\n\t\t\t\tApiKey:         pulumi.String(\"XXXX\"),\n\t\t\t\tApplicationKey: pulumi.String(\"XXXX\"),\n\t\t\t},\n\t\t\tUser: \u0026datadog.MonitorUserArgs{\n\t\t\t\tName:  pulumi.String(\"Example\"),\n\t\t\t\tEmail: pulumi.String(\"abc@xyz.com\"),\n\t\t\t},\n\t\t\tSkuName: pulumi.String(\"Linked\"),\n\t\t\tIdentity: \u0026datadog.MonitorIdentityArgs{\n\t\t\t\tType: pulumi.String(\"SystemAssigned\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.datadog.Monitor;\nimport com.pulumi.azure.datadog.MonitorArgs;\nimport com.pulumi.azure.datadog.inputs.MonitorDatadogOrganizationArgs;\nimport com.pulumi.azure.datadog.inputs.MonitorUserArgs;\nimport com.pulumi.azure.datadog.inputs.MonitorIdentityArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-datadog\")\n            .location(\"West US 2\")\n            .build());\n\n        var exampleMonitor = new Monitor(\"exampleMonitor\", MonitorArgs.builder()\n            .name(\"example-monitor\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .datadogOrganization(MonitorDatadogOrganizationArgs.builder()\n                .apiKey(\"XXXX\")\n                .applicationKey(\"XXXX\")\n                .build())\n            .user(MonitorUserArgs.builder()\n                .name(\"Example\")\n                .email(\"abc@xyz.com\")\n                .build())\n            .skuName(\"Linked\")\n            .identity(MonitorIdentityArgs.builder()\n                .type(\"SystemAssigned\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-datadog\n      location: West US 2\n  exampleMonitor:\n    type: azure:datadog:Monitor\n    name: example\n    properties:\n      name: example-monitor\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      datadogOrganization:\n        apiKey: XXXX\n        applicationKey: XXXX\n      user:\n        name: Example\n        email: abc@xyz.com\n      skuName: Linked\n      identity:\n        type: SystemAssigned\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Role Assignment\n\nTo enable metrics flow, perform role assignment on the identity created above. `Monitoring reader(43d0d8ad-25c7-4714-9337-8ba259a9fe05)` role is required .\n\n### Role assignment on the monitor created\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst primary = azure.core.getSubscription({});\nconst monitoringReader = azure.authorization.getRoleDefinition({\n    name: \"Monitoring Reader\",\n});\nconst example = new azure.authorization.Assignment(\"example\", {\n    scope: primary.then(primary =\u003e primary.id),\n    roleDefinitionId: monitoringReader.then(monitoringReader =\u003e monitoringReader.roleDefinitionId),\n    principalId: exampleAzurermDatadogMonitor.identity[0].principalId,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nprimary = azure.core.get_subscription()\nmonitoring_reader = azure.authorization.get_role_definition(name=\"Monitoring Reader\")\nexample = azure.authorization.Assignment(\"example\",\n    scope=primary.id,\n    role_definition_id=monitoring_reader.role_definition_id,\n    principal_id=example_azurerm_datadog_monitor[\"identity\"][0][\"principalId\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var primary = Azure.Core.GetSubscription.Invoke();\n\n    var monitoringReader = Azure.Authorization.GetRoleDefinition.Invoke(new()\n    {\n        Name = \"Monitoring Reader\",\n    });\n\n    var example = new Azure.Authorization.Assignment(\"example\", new()\n    {\n        Scope = primary.Apply(getSubscriptionResult =\u003e getSubscriptionResult.Id),\n        RoleDefinitionId = monitoringReader.Apply(getRoleDefinitionResult =\u003e getRoleDefinitionResult.RoleDefinitionId),\n        PrincipalId = exampleAzurermDatadogMonitor.Identity[0].PrincipalId,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/authorization\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tprimary, err := core.LookupSubscription(ctx, \u0026core.LookupSubscriptionArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmonitoringReader, err := authorization.LookupRoleDefinition(ctx, \u0026authorization.LookupRoleDefinitionArgs{\n\t\t\tName: pulumi.StringRef(\"Monitoring Reader\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = authorization.NewAssignment(ctx, \"example\", \u0026authorization.AssignmentArgs{\n\t\t\tScope:            pulumi.String(primary.Id),\n\t\t\tRoleDefinitionId: pulumi.String(monitoringReader.RoleDefinitionId),\n\t\t\tPrincipalId:      pulumi.Any(exampleAzurermDatadogMonitor.Identity[0].PrincipalId),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.core.inputs.GetSubscriptionArgs;\nimport com.pulumi.azure.authorization.AuthorizationFunctions;\nimport com.pulumi.azure.authorization.inputs.GetRoleDefinitionArgs;\nimport com.pulumi.azure.authorization.Assignment;\nimport com.pulumi.azure.authorization.AssignmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var primary = CoreFunctions.getSubscription(GetSubscriptionArgs.builder()\n            .build());\n\n        final var monitoringReader = AuthorizationFunctions.getRoleDefinition(GetRoleDefinitionArgs.builder()\n            .name(\"Monitoring Reader\")\n            .build());\n\n        var example = new Assignment(\"example\", AssignmentArgs.builder()\n            .scope(primary.id())\n            .roleDefinitionId(monitoringReader.roleDefinitionId())\n            .principalId(exampleAzurermDatadogMonitor.identity()[0].principalId())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:authorization:Assignment\n    properties:\n      scope: ${primary.id}\n      roleDefinitionId: ${monitoringReader.roleDefinitionId}\n      principalId: ${exampleAzurermDatadogMonitor.identity[0].principalId}\nvariables:\n  primary:\n    fn::invoke:\n      function: azure:core:getSubscription\n      arguments: {}\n  monitoringReader:\n    fn::invoke:\n      function: azure:authorization:getRoleDefinition\n      arguments:\n        name: Monitoring Reader\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Datadog` - 2021-03-01\n\n## Import\n\nDatadog Monitors can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:datadog/monitor:Monitor example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Datadog/monitors/monitor1\n```\n\n","properties":{"datadogOrganization":{"$ref":"#/types/azure:datadog/MonitorDatadogOrganization:MonitorDatadogOrganization","description":"A \u003cspan pulumi-lang-nodejs=\"`datadogOrganization`\" pulumi-lang-dotnet=\"`DatadogOrganization`\" pulumi-lang-go=\"`datadogOrganization`\" pulumi-lang-python=\"`datadog_organization`\" pulumi-lang-yaml=\"`datadogOrganization`\" pulumi-lang-java=\"`datadogOrganization`\"\u003e`datadog_organization`\u003c/span\u003e block as defined below.\n"},"identity":{"$ref":"#/types/azure:datadog/MonitorIdentity:MonitorIdentity","description":"A \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"location":{"type":"string","description":"The Azure Region where the Datadog Monitor should exist. Changing this forces a new Datadog Monitor to be created.\n"},"marketplaceSubscriptionStatus":{"type":"string","description":"Flag specifying the Marketplace Subscription Status of the resource. If payment is not made in time, the resource will go in Suspended state.\n"},"monitoringEnabled":{"type":"boolean","description":"Is monitoring enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"name":{"type":"string","description":"The name of the user that will be associated with the Datadog Monitor. Changing this forces a new Datadog Monitor to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Datadog Monitor should exist. Changing this forces a new Datadog Monitor to be created.\n"},"skuName":{"type":"string","description":"The name which should be used for this sku.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Datadog Monitor.\n"},"user":{"$ref":"#/types/azure:datadog/MonitorUser:MonitorUser","description":"A \u003cspan pulumi-lang-nodejs=\"`user`\" pulumi-lang-dotnet=\"`User`\" pulumi-lang-go=\"`user`\" pulumi-lang-python=\"`user`\" pulumi-lang-yaml=\"`user`\" pulumi-lang-java=\"`user`\"\u003e`user`\u003c/span\u003e block as defined below.\n"}},"required":["datadogOrganization","location","marketplaceSubscriptionStatus","name","resourceGroupName","skuName","user"],"inputProperties":{"datadogOrganization":{"$ref":"#/types/azure:datadog/MonitorDatadogOrganization:MonitorDatadogOrganization","description":"A \u003cspan pulumi-lang-nodejs=\"`datadogOrganization`\" pulumi-lang-dotnet=\"`DatadogOrganization`\" pulumi-lang-go=\"`datadogOrganization`\" pulumi-lang-python=\"`datadog_organization`\" pulumi-lang-yaml=\"`datadogOrganization`\" pulumi-lang-java=\"`datadogOrganization`\"\u003e`datadog_organization`\u003c/span\u003e block as defined below.\n"},"identity":{"$ref":"#/types/azure:datadog/MonitorIdentity:MonitorIdentity","description":"A \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"location":{"type":"string","description":"The Azure Region where the Datadog Monitor should exist. Changing this forces a new Datadog Monitor to be created.\n","willReplaceOnChanges":true},"monitoringEnabled":{"type":"boolean","description":"Is monitoring enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"name":{"type":"string","description":"The name of the user that will be associated with the Datadog Monitor. Changing this forces a new Datadog Monitor to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Datadog Monitor should exist. Changing this forces a new Datadog Monitor to be created.\n","willReplaceOnChanges":true},"skuName":{"type":"string","description":"The name which should be used for this sku.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Datadog Monitor.\n"},"user":{"$ref":"#/types/azure:datadog/MonitorUser:MonitorUser","description":"A \u003cspan pulumi-lang-nodejs=\"`user`\" pulumi-lang-dotnet=\"`User`\" pulumi-lang-go=\"`user`\" pulumi-lang-python=\"`user`\" pulumi-lang-yaml=\"`user`\" pulumi-lang-java=\"`user`\"\u003e`user`\u003c/span\u003e block as defined below.\n"}},"requiredInputs":["datadogOrganization","resourceGroupName","skuName","user"],"stateInputs":{"description":"Input properties used for looking up and filtering Monitor resources.\n","properties":{"datadogOrganization":{"$ref":"#/types/azure:datadog/MonitorDatadogOrganization:MonitorDatadogOrganization","description":"A \u003cspan pulumi-lang-nodejs=\"`datadogOrganization`\" pulumi-lang-dotnet=\"`DatadogOrganization`\" pulumi-lang-go=\"`datadogOrganization`\" pulumi-lang-python=\"`datadog_organization`\" pulumi-lang-yaml=\"`datadogOrganization`\" pulumi-lang-java=\"`datadogOrganization`\"\u003e`datadog_organization`\u003c/span\u003e block as defined below.\n"},"identity":{"$ref":"#/types/azure:datadog/MonitorIdentity:MonitorIdentity","description":"A \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"location":{"type":"string","description":"The Azure Region where the Datadog Monitor should exist. Changing this forces a new Datadog Monitor to be created.\n","willReplaceOnChanges":true},"marketplaceSubscriptionStatus":{"type":"string","description":"Flag specifying the Marketplace Subscription Status of the resource. If payment is not made in time, the resource will go in Suspended state.\n"},"monitoringEnabled":{"type":"boolean","description":"Is monitoring enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"name":{"type":"string","description":"The name of the user that will be associated with the Datadog Monitor. Changing this forces a new Datadog Monitor to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Datadog Monitor should exist. Changing this forces a new Datadog Monitor to be created.\n","willReplaceOnChanges":true},"skuName":{"type":"string","description":"The name which should be used for this sku.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Datadog Monitor.\n"},"user":{"$ref":"#/types/azure:datadog/MonitorUser:MonitorUser","description":"A \u003cspan pulumi-lang-nodejs=\"`user`\" pulumi-lang-dotnet=\"`User`\" pulumi-lang-go=\"`user`\" pulumi-lang-python=\"`user`\" pulumi-lang-yaml=\"`user`\" pulumi-lang-java=\"`user`\"\u003e`user`\u003c/span\u003e block as defined below.\n"}},"type":"object"}},"azure:datadog/monitorSsoConfiguration:MonitorSsoConfiguration":{"description":"Manages SingleSignOn on the datadog Monitor.\n\n## Example Usage\n\n### Enabling SSO on monitor\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-datadog\",\n    location: \"West US 2\",\n});\nconst exampleMonitor = new azure.datadog.Monitor(\"example\", {\n    name: \"example-monitor\",\n    resourceGroupName: example.name,\n    location: example.location,\n    datadogOrganization: {\n        apiKey: \"XXXX\",\n        applicationKey: \"XXXX\",\n    },\n    user: {\n        name: \"Example\",\n        email: \"abc@xyz.com\",\n    },\n    skuName: \"Linked\",\n    identity: {\n        type: \"SystemAssigned\",\n    },\n});\nconst exampleMonitorSsoConfiguration = new azure.datadog.MonitorSsoConfiguration(\"example\", {\n    datadogMonitorId: exampleMonitor.id,\n    singleSignOn: \"Enable\",\n    enterpriseApplicationId: \"00000000-0000-0000-0000-000000000000\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-datadog\",\n    location=\"West US 2\")\nexample_monitor = azure.datadog.Monitor(\"example\",\n    name=\"example-monitor\",\n    resource_group_name=example.name,\n    location=example.location,\n    datadog_organization={\n        \"api_key\": \"XXXX\",\n        \"application_key\": \"XXXX\",\n    },\n    user={\n        \"name\": \"Example\",\n        \"email\": \"abc@xyz.com\",\n    },\n    sku_name=\"Linked\",\n    identity={\n        \"type\": \"SystemAssigned\",\n    })\nexample_monitor_sso_configuration = azure.datadog.MonitorSsoConfiguration(\"example\",\n    datadog_monitor_id=example_monitor.id,\n    single_sign_on=\"Enable\",\n    enterprise_application_id=\"00000000-0000-0000-0000-000000000000\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-datadog\",\n        Location = \"West US 2\",\n    });\n\n    var exampleMonitor = new Azure.Datadog.Monitor(\"example\", new()\n    {\n        Name = \"example-monitor\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        DatadogOrganization = new Azure.Datadog.Inputs.MonitorDatadogOrganizationArgs\n        {\n            ApiKey = \"XXXX\",\n            ApplicationKey = \"XXXX\",\n        },\n        User = new Azure.Datadog.Inputs.MonitorUserArgs\n        {\n            Name = \"Example\",\n            Email = \"abc@xyz.com\",\n        },\n        SkuName = \"Linked\",\n        Identity = new Azure.Datadog.Inputs.MonitorIdentityArgs\n        {\n            Type = \"SystemAssigned\",\n        },\n    });\n\n    var exampleMonitorSsoConfiguration = new Azure.Datadog.MonitorSsoConfiguration(\"example\", new()\n    {\n        DatadogMonitorId = exampleMonitor.Id,\n        SingleSignOn = \"Enable\",\n        EnterpriseApplicationId = \"00000000-0000-0000-0000-000000000000\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/datadog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-datadog\"),\n\t\t\tLocation: pulumi.String(\"West US 2\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleMonitor, err := datadog.NewMonitor(ctx, \"example\", \u0026datadog.MonitorArgs{\n\t\t\tName:              pulumi.String(\"example-monitor\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tDatadogOrganization: \u0026datadog.MonitorDatadogOrganizationArgs{\n\t\t\t\tApiKey:         pulumi.String(\"XXXX\"),\n\t\t\t\tApplicationKey: pulumi.String(\"XXXX\"),\n\t\t\t},\n\t\t\tUser: \u0026datadog.MonitorUserArgs{\n\t\t\t\tName:  pulumi.String(\"Example\"),\n\t\t\t\tEmail: pulumi.String(\"abc@xyz.com\"),\n\t\t\t},\n\t\t\tSkuName: pulumi.String(\"Linked\"),\n\t\t\tIdentity: \u0026datadog.MonitorIdentityArgs{\n\t\t\t\tType: pulumi.String(\"SystemAssigned\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = datadog.NewMonitorSsoConfiguration(ctx, \"example\", \u0026datadog.MonitorSsoConfigurationArgs{\n\t\t\tDatadogMonitorId:        exampleMonitor.ID(),\n\t\t\tSingleSignOn:            pulumi.String(\"Enable\"),\n\t\t\tEnterpriseApplicationId: pulumi.String(\"00000000-0000-0000-0000-000000000000\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.datadog.Monitor;\nimport com.pulumi.azure.datadog.MonitorArgs;\nimport com.pulumi.azure.datadog.inputs.MonitorDatadogOrganizationArgs;\nimport com.pulumi.azure.datadog.inputs.MonitorUserArgs;\nimport com.pulumi.azure.datadog.inputs.MonitorIdentityArgs;\nimport com.pulumi.azure.datadog.MonitorSsoConfiguration;\nimport com.pulumi.azure.datadog.MonitorSsoConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-datadog\")\n            .location(\"West US 2\")\n            .build());\n\n        var exampleMonitor = new Monitor(\"exampleMonitor\", MonitorArgs.builder()\n            .name(\"example-monitor\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .datadogOrganization(MonitorDatadogOrganizationArgs.builder()\n                .apiKey(\"XXXX\")\n                .applicationKey(\"XXXX\")\n                .build())\n            .user(MonitorUserArgs.builder()\n                .name(\"Example\")\n                .email(\"abc@xyz.com\")\n                .build())\n            .skuName(\"Linked\")\n            .identity(MonitorIdentityArgs.builder()\n                .type(\"SystemAssigned\")\n                .build())\n            .build());\n\n        var exampleMonitorSsoConfiguration = new MonitorSsoConfiguration(\"exampleMonitorSsoConfiguration\", MonitorSsoConfigurationArgs.builder()\n            .datadogMonitorId(exampleMonitor.id())\n            .singleSignOn(\"Enable\")\n            .enterpriseApplicationId(\"00000000-0000-0000-0000-000000000000\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-datadog\n      location: West US 2\n  exampleMonitor:\n    type: azure:datadog:Monitor\n    name: example\n    properties:\n      name: example-monitor\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      datadogOrganization:\n        apiKey: XXXX\n        applicationKey: XXXX\n      user:\n        name: Example\n        email: abc@xyz.com\n      skuName: Linked\n      identity:\n        type: SystemAssigned\n  exampleMonitorSsoConfiguration:\n    type: azure:datadog:MonitorSsoConfiguration\n    name: example\n    properties:\n      datadogMonitorId: ${exampleMonitor.id}\n      singleSignOn: Enable\n      enterpriseApplicationId: 00000000-0000-0000-0000-000000000000\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Datadog` - 2021-03-01\n\n## Import\n\nSingleSignOn on the Datadog Monitor can be imported using the `signle sign on resource id`, e.g.\n\n```sh\n$ pulumi import azure:datadog/monitorSsoConfiguration:MonitorSsoConfiguration example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Datadog/monitors/monitor1/singleSignOnConfigurations/default\n```\n\n","properties":{"datadogMonitorId":{"type":"string","description":"The Datadog Monitor Id which should be used for this Datadog Monitor SSO Configuration. Changing this forces a new Datadog Monitor SSO Configuration to be created.\n"},"enterpriseApplicationId":{"type":"string","description":"The application Id to perform SSO operation.\n"},"loginUrl":{"type":"string","description":"The SingleSignOn URL to login to Datadog org.\n"},"name":{"type":"string","description":"The name of the SingleSignOn configuration. Defaults to \u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\"\u003e`default`\u003c/span\u003e.\n"},"singleSignOn":{"type":"string","description":"The state of SingleSignOn configuration. Possible values are `Enable`, `Disable`, `Initial` and `Existing`.\n"},"singleSignOnEnabled":{"type":"string","deprecationMessage":"\u003cspan pulumi-lang-nodejs=\"`singleSignOnEnabled`\" pulumi-lang-dotnet=\"`SingleSignOnEnabled`\" pulumi-lang-go=\"`singleSignOnEnabled`\" pulumi-lang-python=\"`single_sign_on_enabled`\" pulumi-lang-yaml=\"`singleSignOnEnabled`\" pulumi-lang-java=\"`singleSignOnEnabled`\"\u003e`single_sign_on_enabled`\u003c/span\u003e has been deprecated in favour of the \u003cspan pulumi-lang-nodejs=\"`singleSignOn`\" pulumi-lang-dotnet=\"`SingleSignOn`\" pulumi-lang-go=\"`singleSignOn`\" pulumi-lang-python=\"`single_sign_on`\" pulumi-lang-yaml=\"`singleSignOn`\" pulumi-lang-java=\"`singleSignOn`\"\u003e`single_sign_on`\u003c/span\u003e property and will be removed in v5.0 of the AzureRM Provider."}},"required":["datadogMonitorId","enterpriseApplicationId","loginUrl","name","singleSignOn","singleSignOnEnabled"],"inputProperties":{"datadogMonitorId":{"type":"string","description":"The Datadog Monitor Id which should be used for this Datadog Monitor SSO Configuration. Changing this forces a new Datadog Monitor SSO Configuration to be created.\n","willReplaceOnChanges":true},"enterpriseApplicationId":{"type":"string","description":"The application Id to perform SSO operation.\n"},"name":{"type":"string","description":"The name of the SingleSignOn configuration. Defaults to \u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\"\u003e`default`\u003c/span\u003e.\n"},"singleSignOn":{"type":"string","description":"The state of SingleSignOn configuration. Possible values are `Enable`, `Disable`, `Initial` and `Existing`.\n"},"singleSignOnEnabled":{"type":"string","deprecationMessage":"\u003cspan pulumi-lang-nodejs=\"`singleSignOnEnabled`\" pulumi-lang-dotnet=\"`SingleSignOnEnabled`\" pulumi-lang-go=\"`singleSignOnEnabled`\" pulumi-lang-python=\"`single_sign_on_enabled`\" pulumi-lang-yaml=\"`singleSignOnEnabled`\" pulumi-lang-java=\"`singleSignOnEnabled`\"\u003e`single_sign_on_enabled`\u003c/span\u003e has been deprecated in favour of the \u003cspan pulumi-lang-nodejs=\"`singleSignOn`\" pulumi-lang-dotnet=\"`SingleSignOn`\" pulumi-lang-go=\"`singleSignOn`\" pulumi-lang-python=\"`single_sign_on`\" pulumi-lang-yaml=\"`singleSignOn`\" pulumi-lang-java=\"`singleSignOn`\"\u003e`single_sign_on`\u003c/span\u003e property and will be removed in v5.0 of the AzureRM Provider."}},"requiredInputs":["datadogMonitorId","enterpriseApplicationId"],"stateInputs":{"description":"Input properties used for looking up and filtering MonitorSsoConfiguration resources.\n","properties":{"datadogMonitorId":{"type":"string","description":"The Datadog Monitor Id which should be used for this Datadog Monitor SSO Configuration. Changing this forces a new Datadog Monitor SSO Configuration to be created.\n","willReplaceOnChanges":true},"enterpriseApplicationId":{"type":"string","description":"The application Id to perform SSO operation.\n"},"loginUrl":{"type":"string","description":"The SingleSignOn URL to login to Datadog org.\n"},"name":{"type":"string","description":"The name of the SingleSignOn configuration. Defaults to \u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\"\u003e`default`\u003c/span\u003e.\n"},"singleSignOn":{"type":"string","description":"The state of SingleSignOn configuration. Possible values are `Enable`, `Disable`, `Initial` and `Existing`.\n"},"singleSignOnEnabled":{"type":"string","deprecationMessage":"\u003cspan pulumi-lang-nodejs=\"`singleSignOnEnabled`\" pulumi-lang-dotnet=\"`SingleSignOnEnabled`\" pulumi-lang-go=\"`singleSignOnEnabled`\" pulumi-lang-python=\"`single_sign_on_enabled`\" pulumi-lang-yaml=\"`singleSignOnEnabled`\" pulumi-lang-java=\"`singleSignOnEnabled`\"\u003e`single_sign_on_enabled`\u003c/span\u003e has been deprecated in favour of the \u003cspan pulumi-lang-nodejs=\"`singleSignOn`\" pulumi-lang-dotnet=\"`SingleSignOn`\" pulumi-lang-go=\"`singleSignOn`\" pulumi-lang-python=\"`single_sign_on`\" pulumi-lang-yaml=\"`singleSignOn`\" pulumi-lang-java=\"`singleSignOn`\"\u003e`single_sign_on`\u003c/span\u003e property and will be removed in v5.0 of the AzureRM Provider."}},"type":"object"}},"azure:datadog/monitorTagRule:MonitorTagRule":{"description":"Manages TagRules on the datadog Monitor.\n\n## Example Usage\n\n### Adding TagRules on monitor\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-datadog\",\n    location: \"West US 2\",\n});\nconst exampleMonitor = new azure.datadog.Monitor(\"example\", {\n    name: \"example-monitor\",\n    resourceGroupName: example.name,\n    location: example.location,\n    datadogOrganization: {\n        apiKey: \"XXXX\",\n        applicationKey: \"XXXX\",\n    },\n    user: {\n        name: \"Example\",\n        email: \"abc@xyz.com\",\n    },\n    skuName: \"Linked\",\n    identity: {\n        type: \"SystemAssigned\",\n    },\n});\nconst exampleMonitorTagRule = new azure.datadog.MonitorTagRule(\"example\", {\n    datadogMonitorId: exampleMonitor.id,\n    logs: [{\n        subscriptionLogEnabled: true,\n    }],\n    metrics: [{\n        filters: [{\n            name: \"Test\",\n            value: \"Logs\",\n            action: \"Include\",\n        }],\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-datadog\",\n    location=\"West US 2\")\nexample_monitor = azure.datadog.Monitor(\"example\",\n    name=\"example-monitor\",\n    resource_group_name=example.name,\n    location=example.location,\n    datadog_organization={\n        \"api_key\": \"XXXX\",\n        \"application_key\": \"XXXX\",\n    },\n    user={\n        \"name\": \"Example\",\n        \"email\": \"abc@xyz.com\",\n    },\n    sku_name=\"Linked\",\n    identity={\n        \"type\": \"SystemAssigned\",\n    })\nexample_monitor_tag_rule = azure.datadog.MonitorTagRule(\"example\",\n    datadog_monitor_id=example_monitor.id,\n    logs=[{\n        \"subscription_log_enabled\": True,\n    }],\n    metrics=[{\n        \"filters\": [{\n            \"name\": \"Test\",\n            \"value\": \"Logs\",\n            \"action\": \"Include\",\n        }],\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-datadog\",\n        Location = \"West US 2\",\n    });\n\n    var exampleMonitor = new Azure.Datadog.Monitor(\"example\", new()\n    {\n        Name = \"example-monitor\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        DatadogOrganization = new Azure.Datadog.Inputs.MonitorDatadogOrganizationArgs\n        {\n            ApiKey = \"XXXX\",\n            ApplicationKey = \"XXXX\",\n        },\n        User = new Azure.Datadog.Inputs.MonitorUserArgs\n        {\n            Name = \"Example\",\n            Email = \"abc@xyz.com\",\n        },\n        SkuName = \"Linked\",\n        Identity = new Azure.Datadog.Inputs.MonitorIdentityArgs\n        {\n            Type = \"SystemAssigned\",\n        },\n    });\n\n    var exampleMonitorTagRule = new Azure.Datadog.MonitorTagRule(\"example\", new()\n    {\n        DatadogMonitorId = exampleMonitor.Id,\n        Logs = new[]\n        {\n            new Azure.Datadog.Inputs.MonitorTagRuleLogArgs\n            {\n                SubscriptionLogEnabled = true,\n            },\n        },\n        Metrics = new[]\n        {\n            new Azure.Datadog.Inputs.MonitorTagRuleMetricArgs\n            {\n                Filters = new[]\n                {\n                    new Azure.Datadog.Inputs.MonitorTagRuleMetricFilterArgs\n                    {\n                        Name = \"Test\",\n                        Value = \"Logs\",\n                        Action = \"Include\",\n                    },\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/datadog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-datadog\"),\n\t\t\tLocation: pulumi.String(\"West US 2\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleMonitor, err := datadog.NewMonitor(ctx, \"example\", \u0026datadog.MonitorArgs{\n\t\t\tName:              pulumi.String(\"example-monitor\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tDatadogOrganization: \u0026datadog.MonitorDatadogOrganizationArgs{\n\t\t\t\tApiKey:         pulumi.String(\"XXXX\"),\n\t\t\t\tApplicationKey: pulumi.String(\"XXXX\"),\n\t\t\t},\n\t\t\tUser: \u0026datadog.MonitorUserArgs{\n\t\t\t\tName:  pulumi.String(\"Example\"),\n\t\t\t\tEmail: pulumi.String(\"abc@xyz.com\"),\n\t\t\t},\n\t\t\tSkuName: pulumi.String(\"Linked\"),\n\t\t\tIdentity: \u0026datadog.MonitorIdentityArgs{\n\t\t\t\tType: pulumi.String(\"SystemAssigned\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = datadog.NewMonitorTagRule(ctx, \"example\", \u0026datadog.MonitorTagRuleArgs{\n\t\t\tDatadogMonitorId: exampleMonitor.ID(),\n\t\t\tLogs: datadog.MonitorTagRuleLogArray{\n\t\t\t\t\u0026datadog.MonitorTagRuleLogArgs{\n\t\t\t\t\tSubscriptionLogEnabled: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t},\n\t\t\tMetrics: datadog.MonitorTagRuleMetricArray{\n\t\t\t\t\u0026datadog.MonitorTagRuleMetricArgs{\n\t\t\t\t\tFilters: datadog.MonitorTagRuleMetricFilterArray{\n\t\t\t\t\t\t\u0026datadog.MonitorTagRuleMetricFilterArgs{\n\t\t\t\t\t\t\tName:   pulumi.String(\"Test\"),\n\t\t\t\t\t\t\tValue:  pulumi.String(\"Logs\"),\n\t\t\t\t\t\t\tAction: pulumi.String(\"Include\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.datadog.Monitor;\nimport com.pulumi.azure.datadog.MonitorArgs;\nimport com.pulumi.azure.datadog.inputs.MonitorDatadogOrganizationArgs;\nimport com.pulumi.azure.datadog.inputs.MonitorUserArgs;\nimport com.pulumi.azure.datadog.inputs.MonitorIdentityArgs;\nimport com.pulumi.azure.datadog.MonitorTagRule;\nimport com.pulumi.azure.datadog.MonitorTagRuleArgs;\nimport com.pulumi.azure.datadog.inputs.MonitorTagRuleLogArgs;\nimport com.pulumi.azure.datadog.inputs.MonitorTagRuleMetricArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-datadog\")\n            .location(\"West US 2\")\n            .build());\n\n        var exampleMonitor = new Monitor(\"exampleMonitor\", MonitorArgs.builder()\n            .name(\"example-monitor\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .datadogOrganization(MonitorDatadogOrganizationArgs.builder()\n                .apiKey(\"XXXX\")\n                .applicationKey(\"XXXX\")\n                .build())\n            .user(MonitorUserArgs.builder()\n                .name(\"Example\")\n                .email(\"abc@xyz.com\")\n                .build())\n            .skuName(\"Linked\")\n            .identity(MonitorIdentityArgs.builder()\n                .type(\"SystemAssigned\")\n                .build())\n            .build());\n\n        var exampleMonitorTagRule = new MonitorTagRule(\"exampleMonitorTagRule\", MonitorTagRuleArgs.builder()\n            .datadogMonitorId(exampleMonitor.id())\n            .logs(MonitorTagRuleLogArgs.builder()\n                .subscriptionLogEnabled(true)\n                .build())\n            .metrics(MonitorTagRuleMetricArgs.builder()\n                .filters(MonitorTagRuleMetricFilterArgs.builder()\n                    .name(\"Test\")\n                    .value(\"Logs\")\n                    .action(\"Include\")\n                    .build())\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-datadog\n      location: West US 2\n  exampleMonitor:\n    type: azure:datadog:Monitor\n    name: example\n    properties:\n      name: example-monitor\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      datadogOrganization:\n        apiKey: XXXX\n        applicationKey: XXXX\n      user:\n        name: Example\n        email: abc@xyz.com\n      skuName: Linked\n      identity:\n        type: SystemAssigned\n  exampleMonitorTagRule:\n    type: azure:datadog:MonitorTagRule\n    name: example\n    properties:\n      datadogMonitorId: ${exampleMonitor.id}\n      logs:\n        - subscriptionLogEnabled: true\n      metrics:\n        - filters:\n            - name: Test\n              value: Logs\n              action: Include\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Datadog` - 2021-03-01\n\n## Import\n\nTag Rules on the Datadog Monitor can be imported using the `tag rule resource id`, e.g.\n\n```sh\n$ pulumi import azure:datadog/monitorTagRule:MonitorTagRule example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Datadog/monitors/monitor1/tagRules/default\n```\n\n","properties":{"datadogMonitorId":{"type":"string","description":"The Datadog Monitor Id which should be used for this Datadog Monitor Tag Rule. Changing this forces a new Datadog Monitor Tag Rule to be created.\n"},"logs":{"type":"array","items":{"$ref":"#/types/azure:datadog/MonitorTagRuleLog:MonitorTagRuleLog"},"description":"A \u003cspan pulumi-lang-nodejs=\"`log`\" pulumi-lang-dotnet=\"`Log`\" pulumi-lang-go=\"`log`\" pulumi-lang-python=\"`log`\" pulumi-lang-yaml=\"`log`\" pulumi-lang-java=\"`log`\"\u003e`log`\u003c/span\u003e block as defined below.\n"},"metrics":{"type":"array","items":{"$ref":"#/types/azure:datadog/MonitorTagRuleMetric:MonitorTagRuleMetric"},"description":"A \u003cspan pulumi-lang-nodejs=\"`metric`\" pulumi-lang-dotnet=\"`Metric`\" pulumi-lang-go=\"`metric`\" pulumi-lang-python=\"`metric`\" pulumi-lang-yaml=\"`metric`\" pulumi-lang-java=\"`metric`\"\u003e`metric`\u003c/span\u003e block as defined below.\n"},"name":{"type":"string","description":"The name of the Tag Rules configuration. The allowed value is \u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\"\u003e`default`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\"\u003e`default`\u003c/span\u003e.\n"}},"required":["datadogMonitorId","name"],"inputProperties":{"datadogMonitorId":{"type":"string","description":"The Datadog Monitor Id which should be used for this Datadog Monitor Tag Rule. Changing this forces a new Datadog Monitor Tag Rule to be created.\n","willReplaceOnChanges":true},"logs":{"type":"array","items":{"$ref":"#/types/azure:datadog/MonitorTagRuleLog:MonitorTagRuleLog"},"description":"A \u003cspan pulumi-lang-nodejs=\"`log`\" pulumi-lang-dotnet=\"`Log`\" pulumi-lang-go=\"`log`\" pulumi-lang-python=\"`log`\" pulumi-lang-yaml=\"`log`\" pulumi-lang-java=\"`log`\"\u003e`log`\u003c/span\u003e block as defined below.\n"},"metrics":{"type":"array","items":{"$ref":"#/types/azure:datadog/MonitorTagRuleMetric:MonitorTagRuleMetric"},"description":"A \u003cspan pulumi-lang-nodejs=\"`metric`\" pulumi-lang-dotnet=\"`Metric`\" pulumi-lang-go=\"`metric`\" pulumi-lang-python=\"`metric`\" pulumi-lang-yaml=\"`metric`\" pulumi-lang-java=\"`metric`\"\u003e`metric`\u003c/span\u003e block as defined below.\n"},"name":{"type":"string","description":"The name of the Tag Rules configuration. The allowed value is \u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\"\u003e`default`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\"\u003e`default`\u003c/span\u003e.\n"}},"requiredInputs":["datadogMonitorId"],"stateInputs":{"description":"Input properties used for looking up and filtering MonitorTagRule resources.\n","properties":{"datadogMonitorId":{"type":"string","description":"The Datadog Monitor Id which should be used for this Datadog Monitor Tag Rule. Changing this forces a new Datadog Monitor Tag Rule to be created.\n","willReplaceOnChanges":true},"logs":{"type":"array","items":{"$ref":"#/types/azure:datadog/MonitorTagRuleLog:MonitorTagRuleLog"},"description":"A \u003cspan pulumi-lang-nodejs=\"`log`\" pulumi-lang-dotnet=\"`Log`\" pulumi-lang-go=\"`log`\" pulumi-lang-python=\"`log`\" pulumi-lang-yaml=\"`log`\" pulumi-lang-java=\"`log`\"\u003e`log`\u003c/span\u003e block as defined below.\n"},"metrics":{"type":"array","items":{"$ref":"#/types/azure:datadog/MonitorTagRuleMetric:MonitorTagRuleMetric"},"description":"A \u003cspan pulumi-lang-nodejs=\"`metric`\" pulumi-lang-dotnet=\"`Metric`\" pulumi-lang-go=\"`metric`\" pulumi-lang-python=\"`metric`\" pulumi-lang-yaml=\"`metric`\" pulumi-lang-java=\"`metric`\"\u003e`metric`\u003c/span\u003e block as defined below.\n"},"name":{"type":"string","description":"The name of the Tag Rules configuration. The allowed value is \u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\"\u003e`default`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\"\u003e`default`\u003c/span\u003e.\n"}},"type":"object"}},"azure:datafactory/credentialServicePrincipal:CredentialServicePrincipal":{"description":"Manage a Data Factory Service Principal credential resource. These resources are used by Data Factory to access data sources.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst current = azure.core.getClientConfig({});\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"westeurope\",\n});\nconst exampleFactory = new azure.datafactory.Factory(\"example\", {\n    name: \"example\",\n    location: example.location,\n    resourceGroupName: example.name,\n});\nconst exampleKeyVault = new azure.keyvault.KeyVault(\"example\", {\n    name: \"example\",\n    location: example.location,\n    resourceGroupName: example.name,\n    tenantId: current.then(current =\u003e current.tenantId),\n    skuName: \"premium\",\n    softDeleteRetentionDays: 7,\n    accessPolicies: [{\n        tenantId: current.then(current =\u003e current.tenantId),\n        objectId: current.then(current =\u003e current.objectId),\n        keyPermissions: [\n            \"Create\",\n            \"Get\",\n        ],\n        secretPermissions: [\n            \"Set\",\n            \"Get\",\n            \"Delete\",\n            \"Purge\",\n            \"Recover\",\n        ],\n    }],\n});\nconst exampleSecret = new azure.keyvault.Secret(\"example\", {\n    name: \"example\",\n    value: \"example-secret\",\n    keyVaultId: exampleKeyVault.id,\n});\nconst exampleLinkedServiceKeyVault = new azure.datafactory.LinkedServiceKeyVault(\"example\", {\n    name: \"example\",\n    dataFactoryId: exampleFactory.id,\n    keyVaultId: exampleKeyVault.id,\n});\nconst exampleCredentialServicePrincipal = new azure.datafactory.CredentialServicePrincipal(\"example\", {\n    name: \"example\",\n    description: \"example description\",\n    dataFactoryId: exampleFactory.id,\n    tenantId: current.then(current =\u003e current.tenantId),\n    servicePrincipalId: current.then(current =\u003e current.clientId),\n    servicePrincipalKey: {\n        linkedServiceName: exampleLinkedServiceKeyVault.name,\n        secretName: exampleSecret.name,\n        secretVersion: exampleSecret.version,\n    },\n    annotations: [\n        \"1\",\n        \"2\",\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\ncurrent = azure.core.get_client_config()\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"westeurope\")\nexample_factory = azure.datafactory.Factory(\"example\",\n    name=\"example\",\n    location=example.location,\n    resource_group_name=example.name)\nexample_key_vault = azure.keyvault.KeyVault(\"example\",\n    name=\"example\",\n    location=example.location,\n    resource_group_name=example.name,\n    tenant_id=current.tenant_id,\n    sku_name=\"premium\",\n    soft_delete_retention_days=7,\n    access_policies=[{\n        \"tenant_id\": current.tenant_id,\n        \"object_id\": current.object_id,\n        \"key_permissions\": [\n            \"Create\",\n            \"Get\",\n        ],\n        \"secret_permissions\": [\n            \"Set\",\n            \"Get\",\n            \"Delete\",\n            \"Purge\",\n            \"Recover\",\n        ],\n    }])\nexample_secret = azure.keyvault.Secret(\"example\",\n    name=\"example\",\n    value=\"example-secret\",\n    key_vault_id=example_key_vault.id)\nexample_linked_service_key_vault = azure.datafactory.LinkedServiceKeyVault(\"example\",\n    name=\"example\",\n    data_factory_id=example_factory.id,\n    key_vault_id=example_key_vault.id)\nexample_credential_service_principal = azure.datafactory.CredentialServicePrincipal(\"example\",\n    name=\"example\",\n    description=\"example description\",\n    data_factory_id=example_factory.id,\n    tenant_id=current.tenant_id,\n    service_principal_id=current.client_id,\n    service_principal_key={\n        \"linked_service_name\": example_linked_service_key_vault.name,\n        \"secret_name\": example_secret.name,\n        \"secret_version\": example_secret.version,\n    },\n    annotations=[\n        \"1\",\n        \"2\",\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var current = Azure.Core.GetClientConfig.Invoke();\n\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"westeurope\",\n    });\n\n    var exampleFactory = new Azure.DataFactory.Factory(\"example\", new()\n    {\n        Name = \"example\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n    });\n\n    var exampleKeyVault = new Azure.KeyVault.KeyVault(\"example\", new()\n    {\n        Name = \"example\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        TenantId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.TenantId),\n        SkuName = \"premium\",\n        SoftDeleteRetentionDays = 7,\n        AccessPolicies = new[]\n        {\n            new Azure.KeyVault.Inputs.KeyVaultAccessPolicyArgs\n            {\n                TenantId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.TenantId),\n                ObjectId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.ObjectId),\n                KeyPermissions = new[]\n                {\n                    \"Create\",\n                    \"Get\",\n                },\n                SecretPermissions = new[]\n                {\n                    \"Set\",\n                    \"Get\",\n                    \"Delete\",\n                    \"Purge\",\n                    \"Recover\",\n                },\n            },\n        },\n    });\n\n    var exampleSecret = new Azure.KeyVault.Secret(\"example\", new()\n    {\n        Name = \"example\",\n        Value = \"example-secret\",\n        KeyVaultId = exampleKeyVault.Id,\n    });\n\n    var exampleLinkedServiceKeyVault = new Azure.DataFactory.LinkedServiceKeyVault(\"example\", new()\n    {\n        Name = \"example\",\n        DataFactoryId = exampleFactory.Id,\n        KeyVaultId = exampleKeyVault.Id,\n    });\n\n    var exampleCredentialServicePrincipal = new Azure.DataFactory.CredentialServicePrincipal(\"example\", new()\n    {\n        Name = \"example\",\n        Description = \"example description\",\n        DataFactoryId = exampleFactory.Id,\n        TenantId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.TenantId),\n        ServicePrincipalId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.ClientId),\n        ServicePrincipalKey = new Azure.DataFactory.Inputs.CredentialServicePrincipalServicePrincipalKeyArgs\n        {\n            LinkedServiceName = exampleLinkedServiceKeyVault.Name,\n            SecretName = exampleSecret.Name,\n            SecretVersion = exampleSecret.Version,\n        },\n        Annotations = new[]\n        {\n            \"1\",\n            \"2\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/datafactory\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/keyvault\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := core.GetClientConfig(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"westeurope\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleFactory, err := datafactory.NewFactory(ctx, \"example\", \u0026datafactory.FactoryArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleKeyVault, err := keyvault.NewKeyVault(ctx, \"example\", \u0026keyvault.KeyVaultArgs{\n\t\t\tName:                    pulumi.String(\"example\"),\n\t\t\tLocation:                example.Location,\n\t\t\tResourceGroupName:       example.Name,\n\t\t\tTenantId:                pulumi.String(current.TenantId),\n\t\t\tSkuName:                 pulumi.String(\"premium\"),\n\t\t\tSoftDeleteRetentionDays: pulumi.Int(7),\n\t\t\tAccessPolicies: keyvault.KeyVaultAccessPolicyArray{\n\t\t\t\t\u0026keyvault.KeyVaultAccessPolicyArgs{\n\t\t\t\t\tTenantId: pulumi.String(current.TenantId),\n\t\t\t\t\tObjectId: pulumi.String(current.ObjectId),\n\t\t\t\t\tKeyPermissions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"Create\"),\n\t\t\t\t\t\tpulumi.String(\"Get\"),\n\t\t\t\t\t},\n\t\t\t\t\tSecretPermissions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"Set\"),\n\t\t\t\t\t\tpulumi.String(\"Get\"),\n\t\t\t\t\t\tpulumi.String(\"Delete\"),\n\t\t\t\t\t\tpulumi.String(\"Purge\"),\n\t\t\t\t\t\tpulumi.String(\"Recover\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSecret, err := keyvault.NewSecret(ctx, \"example\", \u0026keyvault.SecretArgs{\n\t\t\tName:       pulumi.String(\"example\"),\n\t\t\tValue:      pulumi.String(\"example-secret\"),\n\t\t\tKeyVaultId: exampleKeyVault.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleLinkedServiceKeyVault, err := datafactory.NewLinkedServiceKeyVault(ctx, \"example\", \u0026datafactory.LinkedServiceKeyVaultArgs{\n\t\t\tName:          pulumi.String(\"example\"),\n\t\t\tDataFactoryId: exampleFactory.ID(),\n\t\t\tKeyVaultId:    exampleKeyVault.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = datafactory.NewCredentialServicePrincipal(ctx, \"example\", \u0026datafactory.CredentialServicePrincipalArgs{\n\t\t\tName:               pulumi.String(\"example\"),\n\t\t\tDescription:        pulumi.String(\"example description\"),\n\t\t\tDataFactoryId:      exampleFactory.ID(),\n\t\t\tTenantId:           pulumi.String(current.TenantId),\n\t\t\tServicePrincipalId: pulumi.String(current.ClientId),\n\t\t\tServicePrincipalKey: \u0026datafactory.CredentialServicePrincipalServicePrincipalKeyArgs{\n\t\t\t\tLinkedServiceName: exampleLinkedServiceKeyVault.Name,\n\t\t\t\tSecretName:        exampleSecret.Name,\n\t\t\t\tSecretVersion:     exampleSecret.Version,\n\t\t\t},\n\t\t\tAnnotations: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"1\"),\n\t\t\t\tpulumi.String(\"2\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.datafactory.Factory;\nimport com.pulumi.azure.datafactory.FactoryArgs;\nimport com.pulumi.azure.keyvault.KeyVault;\nimport com.pulumi.azure.keyvault.KeyVaultArgs;\nimport com.pulumi.azure.keyvault.inputs.KeyVaultAccessPolicyArgs;\nimport com.pulumi.azure.keyvault.Secret;\nimport com.pulumi.azure.keyvault.SecretArgs;\nimport com.pulumi.azure.datafactory.LinkedServiceKeyVault;\nimport com.pulumi.azure.datafactory.LinkedServiceKeyVaultArgs;\nimport com.pulumi.azure.datafactory.CredentialServicePrincipal;\nimport com.pulumi.azure.datafactory.CredentialServicePrincipalArgs;\nimport com.pulumi.azure.datafactory.inputs.CredentialServicePrincipalServicePrincipalKeyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var current = CoreFunctions.getClientConfig(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"westeurope\")\n            .build());\n\n        var exampleFactory = new Factory(\"exampleFactory\", FactoryArgs.builder()\n            .name(\"example\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .build());\n\n        var exampleKeyVault = new KeyVault(\"exampleKeyVault\", KeyVaultArgs.builder()\n            .name(\"example\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .tenantId(current.tenantId())\n            .skuName(\"premium\")\n            .softDeleteRetentionDays(7)\n            .accessPolicies(KeyVaultAccessPolicyArgs.builder()\n                .tenantId(current.tenantId())\n                .objectId(current.objectId())\n                .keyPermissions(                \n                    \"Create\",\n                    \"Get\")\n                .secretPermissions(                \n                    \"Set\",\n                    \"Get\",\n                    \"Delete\",\n                    \"Purge\",\n                    \"Recover\")\n                .build())\n            .build());\n\n        var exampleSecret = new Secret(\"exampleSecret\", SecretArgs.builder()\n            .name(\"example\")\n            .value(\"example-secret\")\n            .keyVaultId(exampleKeyVault.id())\n            .build());\n\n        var exampleLinkedServiceKeyVault = new LinkedServiceKeyVault(\"exampleLinkedServiceKeyVault\", LinkedServiceKeyVaultArgs.builder()\n            .name(\"example\")\n            .dataFactoryId(exampleFactory.id())\n            .keyVaultId(exampleKeyVault.id())\n            .build());\n\n        var exampleCredentialServicePrincipal = new CredentialServicePrincipal(\"exampleCredentialServicePrincipal\", CredentialServicePrincipalArgs.builder()\n            .name(\"example\")\n            .description(\"example description\")\n            .dataFactoryId(exampleFactory.id())\n            .tenantId(current.tenantId())\n            .servicePrincipalId(current.clientId())\n            .servicePrincipalKey(CredentialServicePrincipalServicePrincipalKeyArgs.builder()\n                .linkedServiceName(exampleLinkedServiceKeyVault.name())\n                .secretName(exampleSecret.name())\n                .secretVersion(exampleSecret.version())\n                .build())\n            .annotations(            \n                \"1\",\n                \"2\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: westeurope\n  exampleFactory:\n    type: azure:datafactory:Factory\n    name: example\n    properties:\n      name: example\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n  exampleKeyVault:\n    type: azure:keyvault:KeyVault\n    name: example\n    properties:\n      name: example\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      tenantId: ${current.tenantId}\n      skuName: premium\n      softDeleteRetentionDays: 7\n      accessPolicies:\n        - tenantId: ${current.tenantId}\n          objectId: ${current.objectId}\n          keyPermissions:\n            - Create\n            - Get\n          secretPermissions:\n            - Set\n            - Get\n            - Delete\n            - Purge\n            - Recover\n  exampleSecret:\n    type: azure:keyvault:Secret\n    name: example\n    properties:\n      name: example\n      value: example-secret\n      keyVaultId: ${exampleKeyVault.id}\n  exampleLinkedServiceKeyVault:\n    type: azure:datafactory:LinkedServiceKeyVault\n    name: example\n    properties:\n      name: example\n      dataFactoryId: ${exampleFactory.id}\n      keyVaultId: ${exampleKeyVault.id}\n  exampleCredentialServicePrincipal:\n    type: azure:datafactory:CredentialServicePrincipal\n    name: example\n    properties:\n      name: example\n      description: example description\n      dataFactoryId: ${exampleFactory.id}\n      tenantId: ${current.tenantId}\n      servicePrincipalId: ${current.clientId}\n      servicePrincipalKey:\n        linkedServiceName: ${exampleLinkedServiceKeyVault.name}\n        secretName: ${exampleSecret.name}\n        secretVersion: ${exampleSecret.version}\n      annotations:\n        - '1'\n        - '2'\nvariables:\n  current:\n    fn::invoke:\n      function: azure:core:getClientConfig\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.DataFactory` - 2018-06-01\n\n## Import\n\nData Factory Credentials can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:datafactory/credentialServicePrincipal:CredentialServicePrincipal example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/example-resources/providers/Microsoft.DataFactory/factories/example/credentials/credential1\n```\n\n","properties":{"annotations":{"type":"array","items":{"type":"string"},"description":"List of tags that can be used for describing the Data Factory Credential.\n"},"dataFactoryId":{"type":"string","description":"The Data Factory ID in which to associate the Credential with. Changing this forces a new resource.\n"},"description":{"type":"string","description":"The description for the Data Factory Credential.\n"},"name":{"type":"string","description":"Specifies the name of the Credential. Changing this forces a new resource to be created.\n"},"servicePrincipalId":{"type":"string","description":"The Client ID of the Service Principal.\n"},"servicePrincipalKey":{"$ref":"#/types/azure:datafactory/CredentialServicePrincipalServicePrincipalKey:CredentialServicePrincipalServicePrincipalKey","description":"A \u003cspan pulumi-lang-nodejs=\"`servicePrincipalKey`\" pulumi-lang-dotnet=\"`ServicePrincipalKey`\" pulumi-lang-go=\"`servicePrincipalKey`\" pulumi-lang-python=\"`service_principal_key`\" pulumi-lang-yaml=\"`servicePrincipalKey`\" pulumi-lang-java=\"`servicePrincipalKey`\"\u003e`service_principal_key`\u003c/span\u003e block as defined below.\n"},"tenantId":{"type":"string","description":"The Tenant ID of the Service Principal.\n"}},"required":["dataFactoryId","name","servicePrincipalId","tenantId"],"inputProperties":{"annotations":{"type":"array","items":{"type":"string"},"description":"List of tags that can be used for describing the Data Factory Credential.\n"},"dataFactoryId":{"type":"string","description":"The Data Factory ID in which to associate the Credential with. Changing this forces a new resource.\n","willReplaceOnChanges":true},"description":{"type":"string","description":"The description for the Data Factory Credential.\n"},"name":{"type":"string","description":"Specifies the name of the Credential. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"servicePrincipalId":{"type":"string","description":"The Client ID of the Service Principal.\n"},"servicePrincipalKey":{"$ref":"#/types/azure:datafactory/CredentialServicePrincipalServicePrincipalKey:CredentialServicePrincipalServicePrincipalKey","description":"A \u003cspan pulumi-lang-nodejs=\"`servicePrincipalKey`\" pulumi-lang-dotnet=\"`ServicePrincipalKey`\" pulumi-lang-go=\"`servicePrincipalKey`\" pulumi-lang-python=\"`service_principal_key`\" pulumi-lang-yaml=\"`servicePrincipalKey`\" pulumi-lang-java=\"`servicePrincipalKey`\"\u003e`service_principal_key`\u003c/span\u003e block as defined below.\n"},"tenantId":{"type":"string","description":"The Tenant ID of the Service Principal.\n"}},"requiredInputs":["dataFactoryId","servicePrincipalId","tenantId"],"stateInputs":{"description":"Input properties used for looking up and filtering CredentialServicePrincipal resources.\n","properties":{"annotations":{"type":"array","items":{"type":"string"},"description":"List of tags that can be used for describing the Data Factory Credential.\n"},"dataFactoryId":{"type":"string","description":"The Data Factory ID in which to associate the Credential with. Changing this forces a new resource.\n","willReplaceOnChanges":true},"description":{"type":"string","description":"The description for the Data Factory Credential.\n"},"name":{"type":"string","description":"Specifies the name of the Credential. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"servicePrincipalId":{"type":"string","description":"The Client ID of the Service Principal.\n"},"servicePrincipalKey":{"$ref":"#/types/azure:datafactory/CredentialServicePrincipalServicePrincipalKey:CredentialServicePrincipalServicePrincipalKey","description":"A \u003cspan pulumi-lang-nodejs=\"`servicePrincipalKey`\" pulumi-lang-dotnet=\"`ServicePrincipalKey`\" pulumi-lang-go=\"`servicePrincipalKey`\" pulumi-lang-python=\"`service_principal_key`\" pulumi-lang-yaml=\"`servicePrincipalKey`\" pulumi-lang-java=\"`servicePrincipalKey`\"\u003e`service_principal_key`\u003c/span\u003e block as defined below.\n"},"tenantId":{"type":"string","description":"The Tenant ID of the Service Principal.\n"}},"type":"object"}},"azure:datafactory/credentialUserManagedIdentity:CredentialUserManagedIdentity":{"description":"Manage a Data Factory User Assigned Managed Identity credential resource. These resources are used by Data Factory to access data sources.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"westus\",\n});\nconst exampleUserAssignedIdentity = new azure.authorization.UserAssignedIdentity(\"example\", {\n    location: example.location,\n    name: \"my-user\",\n    resourceGroupName: example.name,\n});\nconst exampleFactory = new azure.datafactory.Factory(\"example\", {\n    name: \"example\",\n    location: example.location,\n    resourceGroupName: example.name,\n    identity: {\n        type: \"UserAssigned\",\n        identityIds: [exampleUserAssignedIdentity.id],\n    },\n});\nconst test = new azure.datafactory.CredentialUserManagedIdentity(\"test\", {\n    name: exampleUserAssignedIdentity.name,\n    description: \"Short description of this credential\",\n    dataFactoryId: exampleFactory.id,\n    identityId: exampleUserAssignedIdentity.id,\n    annotations: [\n        \"example\",\n        \"example2\",\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"westus\")\nexample_user_assigned_identity = azure.authorization.UserAssignedIdentity(\"example\",\n    location=example.location,\n    name=\"my-user\",\n    resource_group_name=example.name)\nexample_factory = azure.datafactory.Factory(\"example\",\n    name=\"example\",\n    location=example.location,\n    resource_group_name=example.name,\n    identity={\n        \"type\": \"UserAssigned\",\n        \"identity_ids\": [example_user_assigned_identity.id],\n    })\ntest = azure.datafactory.CredentialUserManagedIdentity(\"test\",\n    name=example_user_assigned_identity.name,\n    description=\"Short description of this credential\",\n    data_factory_id=example_factory.id,\n    identity_id=example_user_assigned_identity.id,\n    annotations=[\n        \"example\",\n        \"example2\",\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"westus\",\n    });\n\n    var exampleUserAssignedIdentity = new Azure.Authorization.UserAssignedIdentity(\"example\", new()\n    {\n        Location = example.Location,\n        Name = \"my-user\",\n        ResourceGroupName = example.Name,\n    });\n\n    var exampleFactory = new Azure.DataFactory.Factory(\"example\", new()\n    {\n        Name = \"example\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Identity = new Azure.DataFactory.Inputs.FactoryIdentityArgs\n        {\n            Type = \"UserAssigned\",\n            IdentityIds = new[]\n            {\n                exampleUserAssignedIdentity.Id,\n            },\n        },\n    });\n\n    var test = new Azure.DataFactory.CredentialUserManagedIdentity(\"test\", new()\n    {\n        Name = exampleUserAssignedIdentity.Name,\n        Description = \"Short description of this credential\",\n        DataFactoryId = exampleFactory.Id,\n        IdentityId = exampleUserAssignedIdentity.Id,\n        Annotations = new[]\n        {\n            \"example\",\n            \"example2\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/authorization\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/datafactory\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"westus\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleUserAssignedIdentity, err := authorization.NewUserAssignedIdentity(ctx, \"example\", \u0026authorization.UserAssignedIdentityArgs{\n\t\t\tLocation:          example.Location,\n\t\t\tName:              pulumi.String(\"my-user\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleFactory, err := datafactory.NewFactory(ctx, \"example\", \u0026datafactory.FactoryArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tIdentity: \u0026datafactory.FactoryIdentityArgs{\n\t\t\t\tType: pulumi.String(\"UserAssigned\"),\n\t\t\t\tIdentityIds: pulumi.StringArray{\n\t\t\t\t\texampleUserAssignedIdentity.ID(),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = datafactory.NewCredentialUserManagedIdentity(ctx, \"test\", \u0026datafactory.CredentialUserManagedIdentityArgs{\n\t\t\tName:          exampleUserAssignedIdentity.Name,\n\t\t\tDescription:   pulumi.String(\"Short description of this credential\"),\n\t\t\tDataFactoryId: exampleFactory.ID(),\n\t\t\tIdentityId:    exampleUserAssignedIdentity.ID(),\n\t\t\tAnnotations: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"example\"),\n\t\t\t\tpulumi.String(\"example2\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.authorization.UserAssignedIdentity;\nimport com.pulumi.azure.authorization.UserAssignedIdentityArgs;\nimport com.pulumi.azure.datafactory.Factory;\nimport com.pulumi.azure.datafactory.FactoryArgs;\nimport com.pulumi.azure.datafactory.inputs.FactoryIdentityArgs;\nimport com.pulumi.azure.datafactory.CredentialUserManagedIdentity;\nimport com.pulumi.azure.datafactory.CredentialUserManagedIdentityArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"westus\")\n            .build());\n\n        var exampleUserAssignedIdentity = new UserAssignedIdentity(\"exampleUserAssignedIdentity\", UserAssignedIdentityArgs.builder()\n            .location(example.location())\n            .name(\"my-user\")\n            .resourceGroupName(example.name())\n            .build());\n\n        var exampleFactory = new Factory(\"exampleFactory\", FactoryArgs.builder()\n            .name(\"example\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .identity(FactoryIdentityArgs.builder()\n                .type(\"UserAssigned\")\n                .identityIds(exampleUserAssignedIdentity.id())\n                .build())\n            .build());\n\n        var test = new CredentialUserManagedIdentity(\"test\", CredentialUserManagedIdentityArgs.builder()\n            .name(exampleUserAssignedIdentity.name())\n            .description(\"Short description of this credential\")\n            .dataFactoryId(exampleFactory.id())\n            .identityId(exampleUserAssignedIdentity.id())\n            .annotations(            \n                \"example\",\n                \"example2\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: westus\n  exampleFactory:\n    type: azure:datafactory:Factory\n    name: example\n    properties:\n      name: example\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      identity:\n        type: UserAssigned\n        identityIds:\n          - ${exampleUserAssignedIdentity.id}\n  exampleUserAssignedIdentity:\n    type: azure:authorization:UserAssignedIdentity\n    name: example\n    properties:\n      location: ${example.location}\n      name: my-user\n      resourceGroupName: ${example.name}\n  test:\n    type: azure:datafactory:CredentialUserManagedIdentity\n    properties:\n      name: ${exampleUserAssignedIdentity.name}\n      description: Short description of this credential\n      dataFactoryId: ${exampleFactory.id}\n      identityId: ${exampleUserAssignedIdentity.id}\n      annotations:\n        - example\n        - example2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.DataFactory` - 2018-06-01\n\n## Import\n\nData Factory Credentials can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:datafactory/credentialUserManagedIdentity:CredentialUserManagedIdentity example /subscriptions/1f3d6e58-feed-4bb6-87e5-a52305ad3375/resourceGroups/example-resources/providers/Microsoft.DataFactory/factories/example/credentials/credential1\n```\n\n","properties":{"annotations":{"type":"array","items":{"type":"string"},"description":"List of tags that can be used for describing the Data Factory Credential.\n\n\u003e **Note:** Manually altering a Credential resource will cause annotations to be lost, resulting in a change being detected on the next run.\n"},"dataFactoryId":{"type":"string","description":"The Data Factory ID in which to associate the Credential with. Changing this forces a new resource.\n"},"description":{"type":"string","description":"The description for the Data Factory Credential.\n"},"identityId":{"type":"string","description":"The Resouce ID of an existing User Assigned Managed Identity. This can be changed without recreating the resource. Changing this forces a new resource to be created.\n\n\u003e **Note:** Attempting to create a Credential resource without first assigning the identity to the parent Data Factory will result in an Azure API error.\n"},"name":{"type":"string","description":"Specifies the name of the Credential. Changing this forces a new resource to be created.\n"}},"required":["dataFactoryId","identityId","name"],"inputProperties":{"annotations":{"type":"array","items":{"type":"string"},"description":"List of tags that can be used for describing the Data Factory Credential.\n\n\u003e **Note:** Manually altering a Credential resource will cause annotations to be lost, resulting in a change being detected on the next run.\n"},"dataFactoryId":{"type":"string","description":"The Data Factory ID in which to associate the Credential with. Changing this forces a new resource.\n","willReplaceOnChanges":true},"description":{"type":"string","description":"The description for the Data Factory Credential.\n"},"identityId":{"type":"string","description":"The Resouce ID of an existing User Assigned Managed Identity. This can be changed without recreating the resource. Changing this forces a new resource to be created.\n\n\u003e **Note:** Attempting to create a Credential resource without first assigning the identity to the parent Data Factory will result in an Azure API error.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the Credential. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["dataFactoryId","identityId"],"stateInputs":{"description":"Input properties used for looking up and filtering CredentialUserManagedIdentity resources.\n","properties":{"annotations":{"type":"array","items":{"type":"string"},"description":"List of tags that can be used for describing the Data Factory Credential.\n\n\u003e **Note:** Manually altering a Credential resource will cause annotations to be lost, resulting in a change being detected on the next run.\n"},"dataFactoryId":{"type":"string","description":"The Data Factory ID in which to associate the Credential with. Changing this forces a new resource.\n","willReplaceOnChanges":true},"description":{"type":"string","description":"The description for the Data Factory Credential.\n"},"identityId":{"type":"string","description":"The Resouce ID of an existing User Assigned Managed Identity. This can be changed without recreating the resource. Changing this forces a new resource to be created.\n\n\u003e **Note:** Attempting to create a Credential resource without first assigning the identity to the parent Data Factory will result in an Azure API error.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the Credential. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:datafactory/customDataset:CustomDataset":{"description":"Manages a Dataset inside an Azure Data Factory. This is a generic resource that supports all different Dataset Types.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleFactory = new azure.datafactory.Factory(\"example\", {\n    name: \"example\",\n    location: example.location,\n    resourceGroupName: example.name,\n    identity: {\n        type: \"SystemAssigned\",\n    },\n});\nconst exampleAccount = new azure.storage.Account(\"example\", {\n    name: \"example\",\n    resourceGroupName: example.name,\n    location: example.location,\n    accountKind: \"BlobStorage\",\n    accountTier: \"Standard\",\n    accountReplicationType: \"LRS\",\n});\nconst exampleLinkedCustomService = new azure.datafactory.LinkedCustomService(\"example\", {\n    name: \"example\",\n    dataFactoryId: exampleFactory.id,\n    type: \"AzureBlobStorage\",\n    typePropertiesJson: pulumi.interpolate`{\n  \\\"connectionString\\\":\\\"${exampleAccount.primaryConnectionString}\\\"\n}\n`,\n});\nconst exampleContainer = new azure.storage.Container(\"example\", {\n    name: \"content\",\n    storageAccountName: exampleAccount.name,\n    containerAccessType: \"private\",\n});\nconst exampleCustomDataset = new azure.datafactory.CustomDataset(\"example\", {\n    name: \"example\",\n    dataFactoryId: exampleFactory.id,\n    type: \"Json\",\n    linkedService: {\n        name: exampleLinkedCustomService.name,\n        parameters: {\n            key1: \"value1\",\n        },\n    },\n    typePropertiesJson: pulumi.interpolate`{\n  \\\"location\\\": {\n    \\\"container\\\":\\\"${exampleContainer.name}\\\",\n    \\\"fileName\\\":\\\"foo.txt\\\",\n    \\\"folderPath\\\": \\\"foo/bar/\\\",\n    \\\"type\\\":\\\"AzureBlobStorageLocation\\\"\n  },\n  \\\"encodingName\\\":\\\"UTF-8\\\"\n}\n`,\n    description: \"test description\",\n    annotations: [\n        \"test1\",\n        \"test2\",\n        \"test3\",\n    ],\n    folder: \"testFolder\",\n    parameters: {\n        foo: \"test1\",\n        Bar: \"Test2\",\n    },\n    additionalProperties: {\n        foo: \"test1\",\n        bar: \"test2\",\n    },\n    schemaJson: `{\n  \\\\\"type\\\\\": \\\\\"object\\\\\",\n  \\\\\"properties\\\\\": {\n    \\\\\"name\\\\\": {\n      \\\\\"type\\\\\": \\\\\"object\\\\\",\n      \\\\\"properties\\\\\": {\n        \\\\\"firstName\\\\\": {\n          \\\\\"type\\\\\": \\\\\"string\\\\\"\n        },\n        \\\\\"lastName\\\\\": {\n          \\\\\"type\\\\\": \\\\\"string\\\\\"\n        }\n      }\n    },\n    \\\\\"age\\\\\": {\n      \\\\\"type\\\\\": \\\\\"integer\\\\\"\n    }\n  }\n}\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_factory = azure.datafactory.Factory(\"example\",\n    name=\"example\",\n    location=example.location,\n    resource_group_name=example.name,\n    identity={\n        \"type\": \"SystemAssigned\",\n    })\nexample_account = azure.storage.Account(\"example\",\n    name=\"example\",\n    resource_group_name=example.name,\n    location=example.location,\n    account_kind=\"BlobStorage\",\n    account_tier=\"Standard\",\n    account_replication_type=\"LRS\")\nexample_linked_custom_service = azure.datafactory.LinkedCustomService(\"example\",\n    name=\"example\",\n    data_factory_id=example_factory.id,\n    type=\"AzureBlobStorage\",\n    type_properties_json=example_account.primary_connection_string.apply(lambda primary_connection_string: f\"\"\"{{\n  \\\"connectionString\\\":\\\"{primary_connection_string}\\\"\n}}\n\"\"\"))\nexample_container = azure.storage.Container(\"example\",\n    name=\"content\",\n    storage_account_name=example_account.name,\n    container_access_type=\"private\")\nexample_custom_dataset = azure.datafactory.CustomDataset(\"example\",\n    name=\"example\",\n    data_factory_id=example_factory.id,\n    type=\"Json\",\n    linked_service={\n        \"name\": example_linked_custom_service.name,\n        \"parameters\": {\n            \"key1\": \"value1\",\n        },\n    },\n    type_properties_json=example_container.name.apply(lambda name: f\"\"\"{{\n  \\\"location\\\": {{\n    \\\"container\\\":\\\"{name}\\\",\n    \\\"fileName\\\":\\\"foo.txt\\\",\n    \\\"folderPath\\\": \\\"foo/bar/\\\",\n    \\\"type\\\":\\\"AzureBlobStorageLocation\\\"\n  }},\n  \\\"encodingName\\\":\\\"UTF-8\\\"\n}}\n\"\"\"),\n    description=\"test description\",\n    annotations=[\n        \"test1\",\n        \"test2\",\n        \"test3\",\n    ],\n    folder=\"testFolder\",\n    parameters={\n        \"foo\": \"test1\",\n        \"Bar\": \"Test2\",\n    },\n    additional_properties={\n        \"foo\": \"test1\",\n        \"bar\": \"test2\",\n    },\n    schema_json=\"\"\"{\n  \\\"type\\\": \\\"object\\\",\n  \\\"properties\\\": {\n    \\\"name\\\": {\n      \\\"type\\\": \\\"object\\\",\n      \\\"properties\\\": {\n        \\\"firstName\\\": {\n          \\\"type\\\": \\\"string\\\"\n        },\n        \\\"lastName\\\": {\n          \\\"type\\\": \\\"string\\\"\n        }\n      }\n    },\n    \\\"age\\\": {\n      \\\"type\\\": \\\"integer\\\"\n    }\n  }\n}\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleFactory = new Azure.DataFactory.Factory(\"example\", new()\n    {\n        Name = \"example\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Identity = new Azure.DataFactory.Inputs.FactoryIdentityArgs\n        {\n            Type = \"SystemAssigned\",\n        },\n    });\n\n    var exampleAccount = new Azure.Storage.Account(\"example\", new()\n    {\n        Name = \"example\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        AccountKind = \"BlobStorage\",\n        AccountTier = \"Standard\",\n        AccountReplicationType = \"LRS\",\n    });\n\n    var exampleLinkedCustomService = new Azure.DataFactory.LinkedCustomService(\"example\", new()\n    {\n        Name = \"example\",\n        DataFactoryId = exampleFactory.Id,\n        Type = \"AzureBlobStorage\",\n        TypePropertiesJson = exampleAccount.PrimaryConnectionString.Apply(primaryConnectionString =\u003e @$\"{{\n  \\\"\"connectionString\\\"\":\\\"\"{primaryConnectionString}\\\"\"\n}}\n\"),\n    });\n\n    var exampleContainer = new Azure.Storage.Container(\"example\", new()\n    {\n        Name = \"content\",\n        StorageAccountName = exampleAccount.Name,\n        ContainerAccessType = \"private\",\n    });\n\n    var exampleCustomDataset = new Azure.DataFactory.CustomDataset(\"example\", new()\n    {\n        Name = \"example\",\n        DataFactoryId = exampleFactory.Id,\n        Type = \"Json\",\n        LinkedService = new Azure.DataFactory.Inputs.CustomDatasetLinkedServiceArgs\n        {\n            Name = exampleLinkedCustomService.Name,\n            Parameters = \n            {\n                { \"key1\", \"value1\" },\n            },\n        },\n        TypePropertiesJson = exampleContainer.Name.Apply(name =\u003e @$\"{{\n  \\\"\"location\\\"\": {{\n    \\\"\"container\\\"\":\\\"\"{name}\\\"\",\n    \\\"\"fileName\\\"\":\\\"\"foo.txt\\\"\",\n    \\\"\"folderPath\\\"\": \\\"\"foo/bar/\\\"\",\n    \\\"\"type\\\"\":\\\"\"AzureBlobStorageLocation\\\"\"\n  }},\n  \\\"\"encodingName\\\"\":\\\"\"UTF-8\\\"\"\n}}\n\"),\n        Description = \"test description\",\n        Annotations = new[]\n        {\n            \"test1\",\n            \"test2\",\n            \"test3\",\n        },\n        Folder = \"testFolder\",\n        Parameters = \n        {\n            { \"foo\", \"test1\" },\n            { \"Bar\", \"Test2\" },\n        },\n        AdditionalProperties = \n        {\n            { \"foo\", \"test1\" },\n            { \"bar\", \"test2\" },\n        },\n        SchemaJson = @\"{\n  \\\"\"type\\\"\": \\\"\"object\\\"\",\n  \\\"\"properties\\\"\": {\n    \\\"\"name\\\"\": {\n      \\\"\"type\\\"\": \\\"\"object\\\"\",\n      \\\"\"properties\\\"\": {\n        \\\"\"firstName\\\"\": {\n          \\\"\"type\\\"\": \\\"\"string\\\"\"\n        },\n        \\\"\"lastName\\\"\": {\n          \\\"\"type\\\"\": \\\"\"string\\\"\"\n        }\n      }\n    },\n    \\\"\"age\\\"\": {\n      \\\"\"type\\\"\": \\\"\"integer\\\"\"\n    }\n  }\n}\n\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/datafactory\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleFactory, err := datafactory.NewFactory(ctx, \"example\", \u0026datafactory.FactoryArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tIdentity: \u0026datafactory.FactoryIdentityArgs{\n\t\t\t\tType: pulumi.String(\"SystemAssigned\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := storage.NewAccount(ctx, \"example\", \u0026storage.AccountArgs{\n\t\t\tName:                   pulumi.String(\"example\"),\n\t\t\tResourceGroupName:      example.Name,\n\t\t\tLocation:               example.Location,\n\t\t\tAccountKind:            pulumi.String(\"BlobStorage\"),\n\t\t\tAccountTier:            pulumi.String(\"Standard\"),\n\t\t\tAccountReplicationType: pulumi.String(\"LRS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleLinkedCustomService, err := datafactory.NewLinkedCustomService(ctx, \"example\", \u0026datafactory.LinkedCustomServiceArgs{\n\t\t\tName:          pulumi.String(\"example\"),\n\t\t\tDataFactoryId: exampleFactory.ID(),\n\t\t\tType:          pulumi.String(\"AzureBlobStorage\"),\n\t\t\tTypePropertiesJson: exampleAccount.PrimaryConnectionString.ApplyT(func(primaryConnectionString string) (string, error) {\n\t\t\t\treturn fmt.Sprintf(\"{\\n  \\\\\\\"connectionString\\\\\\\":\\\\\\\"%v\\\\\\\"\\n}\\n\", primaryConnectionString), nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleContainer, err := storage.NewContainer(ctx, \"example\", \u0026storage.ContainerArgs{\n\t\t\tName:                pulumi.String(\"content\"),\n\t\t\tStorageAccountName:  exampleAccount.Name,\n\t\t\tContainerAccessType: pulumi.String(\"private\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = datafactory.NewCustomDataset(ctx, \"example\", \u0026datafactory.CustomDatasetArgs{\n\t\t\tName:          pulumi.String(\"example\"),\n\t\t\tDataFactoryId: exampleFactory.ID(),\n\t\t\tType:          pulumi.String(\"Json\"),\n\t\t\tLinkedService: \u0026datafactory.CustomDatasetLinkedServiceArgs{\n\t\t\t\tName: exampleLinkedCustomService.Name,\n\t\t\t\tParameters: pulumi.StringMap{\n\t\t\t\t\t\"key1\": pulumi.String(\"value1\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTypePropertiesJson: exampleContainer.Name.ApplyT(func(name string) (string, error) {\n\t\t\t\treturn fmt.Sprintf(`{\n  \\\"location\\\": {\n    \\\"container\\\":\\\"%v\\\",\n    \\\"fileName\\\":\\\"foo.txt\\\",\n    \\\"folderPath\\\": \\\"foo/bar/\\\",\n    \\\"type\\\":\\\"AzureBlobStorageLocation\\\"\n  },\n  \\\"encodingName\\\":\\\"UTF-8\\\"\n}\n`, name), nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t\tDescription: pulumi.String(\"test description\"),\n\t\t\tAnnotations: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"test1\"),\n\t\t\t\tpulumi.String(\"test2\"),\n\t\t\t\tpulumi.String(\"test3\"),\n\t\t\t},\n\t\t\tFolder: pulumi.String(\"testFolder\"),\n\t\t\tParameters: pulumi.StringMap{\n\t\t\t\t\"foo\": pulumi.String(\"test1\"),\n\t\t\t\t\"Bar\": pulumi.String(\"Test2\"),\n\t\t\t},\n\t\t\tAdditionalProperties: pulumi.StringMap{\n\t\t\t\t\"foo\": pulumi.String(\"test1\"),\n\t\t\t\t\"bar\": pulumi.String(\"test2\"),\n\t\t\t},\n\t\t\tSchemaJson: pulumi.String(`{\n  \\\"type\\\": \\\"object\\\",\n  \\\"properties\\\": {\n    \\\"name\\\": {\n      \\\"type\\\": \\\"object\\\",\n      \\\"properties\\\": {\n        \\\"firstName\\\": {\n          \\\"type\\\": \\\"string\\\"\n        },\n        \\\"lastName\\\": {\n          \\\"type\\\": \\\"string\\\"\n        }\n      }\n    },\n    \\\"age\\\": {\n      \\\"type\\\": \\\"integer\\\"\n    }\n  }\n}\n`),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.datafactory.Factory;\nimport com.pulumi.azure.datafactory.FactoryArgs;\nimport com.pulumi.azure.datafactory.inputs.FactoryIdentityArgs;\nimport com.pulumi.azure.storage.Account;\nimport com.pulumi.azure.storage.AccountArgs;\nimport com.pulumi.azure.datafactory.LinkedCustomService;\nimport com.pulumi.azure.datafactory.LinkedCustomServiceArgs;\nimport com.pulumi.azure.storage.Container;\nimport com.pulumi.azure.storage.ContainerArgs;\nimport com.pulumi.azure.datafactory.CustomDataset;\nimport com.pulumi.azure.datafactory.CustomDatasetArgs;\nimport com.pulumi.azure.datafactory.inputs.CustomDatasetLinkedServiceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleFactory = new Factory(\"exampleFactory\", FactoryArgs.builder()\n            .name(\"example\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .identity(FactoryIdentityArgs.builder()\n                .type(\"SystemAssigned\")\n                .build())\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"example\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .accountKind(\"BlobStorage\")\n            .accountTier(\"Standard\")\n            .accountReplicationType(\"LRS\")\n            .build());\n\n        var exampleLinkedCustomService = new LinkedCustomService(\"exampleLinkedCustomService\", LinkedCustomServiceArgs.builder()\n            .name(\"example\")\n            .dataFactoryId(exampleFactory.id())\n            .type(\"AzureBlobStorage\")\n            .typePropertiesJson(exampleAccount.primaryConnectionString().applyValue(_primaryConnectionString -\u003e \"\"\"\n{\n  \\\"connectionString\\\":\\\"%s\\\"\n}\n\", _primaryConnectionString)))\n            .build());\n\n        var exampleContainer = new Container(\"exampleContainer\", ContainerArgs.builder()\n            .name(\"content\")\n            .storageAccountName(exampleAccount.name())\n            .containerAccessType(\"private\")\n            .build());\n\n        var exampleCustomDataset = new CustomDataset(\"exampleCustomDataset\", CustomDatasetArgs.builder()\n            .name(\"example\")\n            .dataFactoryId(exampleFactory.id())\n            .type(\"Json\")\n            .linkedService(CustomDatasetLinkedServiceArgs.builder()\n                .name(exampleLinkedCustomService.name())\n                .parameters(Map.of(\"key1\", \"value1\"))\n                .build())\n            .typePropertiesJson(exampleContainer.name().applyValue(_name -\u003e \"\"\"\n{\n  \\\"location\\\": {\n    \\\"container\\\":\\\"%s\\\",\n    \\\"fileName\\\":\\\"foo.txt\\\",\n    \\\"folderPath\\\": \\\"foo/bar/\\\",\n    \\\"type\\\":\\\"AzureBlobStorageLocation\\\"\n  },\n  \\\"encodingName\\\":\\\"UTF-8\\\"\n}\n\", _name)))\n            .description(\"test description\")\n            .annotations(            \n                \"test1\",\n                \"test2\",\n                \"test3\")\n            .folder(\"testFolder\")\n            .parameters(Map.ofEntries(\n                Map.entry(\"foo\", \"test1\"),\n                Map.entry(\"Bar\", \"Test2\")\n            ))\n            .additionalProperties(Map.ofEntries(\n                Map.entry(\"foo\", \"test1\"),\n                Map.entry(\"bar\", \"test2\")\n            ))\n            .schemaJson(\"\"\"\n{\n  \\\"type\\\": \\\"object\\\",\n  \\\"properties\\\": {\n    \\\"name\\\": {\n      \\\"type\\\": \\\"object\\\",\n      \\\"properties\\\": {\n        \\\"firstName\\\": {\n          \\\"type\\\": \\\"string\\\"\n        },\n        \\\"lastName\\\": {\n          \\\"type\\\": \\\"string\\\"\n        }\n      }\n    },\n    \\\"age\\\": {\n      \\\"type\\\": \\\"integer\\\"\n    }\n  }\n}\n            \"\"\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleFactory:\n    type: azure:datafactory:Factory\n    name: example\n    properties:\n      name: example\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      identity:\n        type: SystemAssigned\n  exampleAccount:\n    type: azure:storage:Account\n    name: example\n    properties:\n      name: example\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      accountKind: BlobStorage\n      accountTier: Standard\n      accountReplicationType: LRS\n  exampleLinkedCustomService:\n    type: azure:datafactory:LinkedCustomService\n    name: example\n    properties:\n      name: example\n      dataFactoryId: ${exampleFactory.id}\n      type: AzureBlobStorage\n      typePropertiesJson: |\n        {\n          \\\"connectionString\\\":\\\"${exampleAccount.primaryConnectionString}\\\"\n        }\n  exampleContainer:\n    type: azure:storage:Container\n    name: example\n    properties:\n      name: content\n      storageAccountName: ${exampleAccount.name}\n      containerAccessType: private\n  exampleCustomDataset:\n    type: azure:datafactory:CustomDataset\n    name: example\n    properties:\n      name: example\n      dataFactoryId: ${exampleFactory.id}\n      type: Json\n      linkedService:\n        name: ${exampleLinkedCustomService.name}\n        parameters:\n          key1: value1\n      typePropertiesJson: |\n        {\n          \\\"location\\\": {\n            \\\"container\\\":\\\"${exampleContainer.name}\\\",\n            \\\"fileName\\\":\\\"foo.txt\\\",\n            \\\"folderPath\\\": \\\"foo/bar/\\\",\n            \\\"type\\\":\\\"AzureBlobStorageLocation\\\"\n          },\n          \\\"encodingName\\\":\\\"UTF-8\\\"\n        }\n      description: test description\n      annotations:\n        - test1\n        - test2\n        - test3\n      folder: testFolder\n      parameters:\n        foo: test1\n        Bar: Test2\n      additionalProperties:\n        foo: test1\n        bar: test2\n      schemaJson: |\n        {\n          \\\"type\\\": \\\"object\\\",\n          \\\"properties\\\": {\n            \\\"name\\\": {\n              \\\"type\\\": \\\"object\\\",\n              \\\"properties\\\": {\n                \\\"firstName\\\": {\n                  \\\"type\\\": \\\"string\\\"\n                },\n                \\\"lastName\\\": {\n                  \\\"type\\\": \\\"string\\\"\n                }\n              }\n            },\n            \\\"age\\\": {\n              \\\"type\\\": \\\"integer\\\"\n            }\n          }\n        }\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nData Factory Datasets can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:datafactory/customDataset:CustomDataset example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/example/providers/Microsoft.DataFactory/factories/example/datasets/example\n```\n\n","properties":{"additionalProperties":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of additional properties to associate with the Data Factory Dataset.\n"},"annotations":{"type":"array","items":{"type":"string"},"description":"List of tags that can be used for describing the Data Factory Dataset.\n"},"dataFactoryId":{"type":"string","description":"The Data Factory ID in which to associate the Dataset with. Changing this forces a new resource.\n"},"description":{"type":"string","description":"The description for the Data Factory Dataset.\n"},"folder":{"type":"string","description":"The folder that this Dataset is in. If not specified, the Dataset will appear at the root level.\n"},"linkedService":{"$ref":"#/types/azure:datafactory/CustomDatasetLinkedService:CustomDatasetLinkedService","description":"A \u003cspan pulumi-lang-nodejs=\"`linkedService`\" pulumi-lang-dotnet=\"`LinkedService`\" pulumi-lang-go=\"`linkedService`\" pulumi-lang-python=\"`linked_service`\" pulumi-lang-yaml=\"`linkedService`\" pulumi-lang-java=\"`linkedService`\"\u003e`linked_service`\u003c/span\u003e block as defined below.\n"},"name":{"type":"string","description":"Specifies the name of the Data Factory Dataset. Changing this forces a new resource to be created. Must be globally unique. See the [Microsoft documentation](https://docs.microsoft.com/azure/data-factory/naming-rules) for all restrictions.\n"},"parameters":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of parameters to associate with the Data Factory Dataset.\n"},"schemaJson":{"type":"string","description":"A JSON object that contains the schema of the Data Factory Dataset.\n"},"type":{"type":"string","description":"The type of dataset that will be associated with Data Factory. Changing this forces a new resource to be created.\n"},"typePropertiesJson":{"type":"string","description":"A JSON object that contains the properties of the Data Factory Dataset. Refer to\ndatafactory/models.go for the shape of the expected JSON. For example, the JSON object for `AzureBlob`-typed Dataset will be unmarshaled into `AzureBlobDatasetTypeProperties struct`.\n"}},"required":["dataFactoryId","linkedService","name","type","typePropertiesJson"],"inputProperties":{"additionalProperties":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of additional properties to associate with the Data Factory Dataset.\n"},"annotations":{"type":"array","items":{"type":"string"},"description":"List of tags that can be used for describing the Data Factory Dataset.\n"},"dataFactoryId":{"type":"string","description":"The Data Factory ID in which to associate the Dataset with. Changing this forces a new resource.\n","willReplaceOnChanges":true},"description":{"type":"string","description":"The description for the Data Factory Dataset.\n"},"folder":{"type":"string","description":"The folder that this Dataset is in. If not specified, the Dataset will appear at the root level.\n"},"linkedService":{"$ref":"#/types/azure:datafactory/CustomDatasetLinkedService:CustomDatasetLinkedService","description":"A \u003cspan pulumi-lang-nodejs=\"`linkedService`\" pulumi-lang-dotnet=\"`LinkedService`\" pulumi-lang-go=\"`linkedService`\" pulumi-lang-python=\"`linked_service`\" pulumi-lang-yaml=\"`linkedService`\" pulumi-lang-java=\"`linkedService`\"\u003e`linked_service`\u003c/span\u003e block as defined below.\n"},"name":{"type":"string","description":"Specifies the name of the Data Factory Dataset. Changing this forces a new resource to be created. Must be globally unique. See the [Microsoft documentation](https://docs.microsoft.com/azure/data-factory/naming-rules) for all restrictions.\n","willReplaceOnChanges":true},"parameters":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of parameters to associate with the Data Factory Dataset.\n"},"schemaJson":{"type":"string","description":"A JSON object that contains the schema of the Data Factory Dataset.\n"},"type":{"type":"string","description":"The type of dataset that will be associated with Data Factory. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"typePropertiesJson":{"type":"string","description":"A JSON object that contains the properties of the Data Factory Dataset. Refer to\ndatafactory/models.go for the shape of the expected JSON. For example, the JSON object for `AzureBlob`-typed Dataset will be unmarshaled into `AzureBlobDatasetTypeProperties struct`.\n"}},"requiredInputs":["dataFactoryId","linkedService","type","typePropertiesJson"],"stateInputs":{"description":"Input properties used for looking up and filtering CustomDataset resources.\n","properties":{"additionalProperties":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of additional properties to associate with the Data Factory Dataset.\n"},"annotations":{"type":"array","items":{"type":"string"},"description":"List of tags that can be used for describing the Data Factory Dataset.\n"},"dataFactoryId":{"type":"string","description":"The Data Factory ID in which to associate the Dataset with. Changing this forces a new resource.\n","willReplaceOnChanges":true},"description":{"type":"string","description":"The description for the Data Factory Dataset.\n"},"folder":{"type":"string","description":"The folder that this Dataset is in. If not specified, the Dataset will appear at the root level.\n"},"linkedService":{"$ref":"#/types/azure:datafactory/CustomDatasetLinkedService:CustomDatasetLinkedService","description":"A \u003cspan pulumi-lang-nodejs=\"`linkedService`\" pulumi-lang-dotnet=\"`LinkedService`\" pulumi-lang-go=\"`linkedService`\" pulumi-lang-python=\"`linked_service`\" pulumi-lang-yaml=\"`linkedService`\" pulumi-lang-java=\"`linkedService`\"\u003e`linked_service`\u003c/span\u003e block as defined below.\n"},"name":{"type":"string","description":"Specifies the name of the Data Factory Dataset. Changing this forces a new resource to be created. Must be globally unique. See the [Microsoft documentation](https://docs.microsoft.com/azure/data-factory/naming-rules) for all restrictions.\n","willReplaceOnChanges":true},"parameters":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of parameters to associate with the Data Factory Dataset.\n"},"schemaJson":{"type":"string","description":"A JSON object that contains the schema of the Data Factory Dataset.\n"},"type":{"type":"string","description":"The type of dataset that will be associated with Data Factory. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"typePropertiesJson":{"type":"string","description":"A JSON object that contains the properties of the Data Factory Dataset. Refer to\ndatafactory/models.go for the shape of the expected JSON. For example, the JSON object for `AzureBlob`-typed Dataset will be unmarshaled into `AzureBlobDatasetTypeProperties struct`.\n"}},"type":"object"}},"azure:datafactory/customerManagedKey:CustomerManagedKey":{"description":"Manages a Customer Managed Key for a Data Factory.\n\n\u003e **Note:** The Customer Managed Key cannot be removed from the Data Factory once added. To remove the Customer Managed Key delete and recreate the parent Data Factory.\n\n## Example Usage\n\n### With System Assigned Identity\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst current = azure.core.getClientConfig({});\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleKeyVault = new azure.keyvault.KeyVault(\"example\", {\n    name: \"example-key-vault\",\n    location: example.location,\n    resourceGroupName: example.name,\n    tenantId: current.then(current =\u003e current.tenantId),\n    skuName: \"standard\",\n    purgeProtectionEnabled: true,\n});\nconst exampleKey = new azure.keyvault.Key(\"example\", {\n    name: \"examplekey\",\n    keyVaultId: exampleKeyVault.id,\n    keyType: \"RSA\",\n    keySize: 2048,\n    keyOpts: [\n        \"unwrapKey\",\n        \"wrapKey\",\n    ],\n});\nconst currentClientPolicy = new azure.keyvault.AccessPolicy(\"current_client_policy\", {\n    keyVaultId: exampleKeyVault.id,\n    tenantId: current.then(current =\u003e current.tenantId),\n    objectId: current.then(current =\u003e current.objectId),\n    keyPermissions: [\n        \"Create\",\n        \"Delete\",\n        \"Get\",\n        \"Purge\",\n        \"Recover\",\n        \"Update\",\n        \"GetRotationPolicy\",\n    ],\n    secretPermissions: [\n        \"Delete\",\n        \"Get\",\n        \"Set\",\n    ],\n});\nconst exampleFactory = new azure.datafactory.Factory(\"example\", {\n    name: \"example_data_factory\",\n    location: example.location,\n    resourceGroupName: example.name,\n    identity: {\n        type: \"SystemAssigned\",\n        identityIds: [exampleAzurermUserAssignedIdentity.id],\n    },\n});\nconst datafactory = new azure.keyvault.AccessPolicy(\"datafactory\", {\n    keyVaultId: exampleKeyVault.id,\n    tenantId: exampleFactory.identity.apply(identity =\u003e identity?.tenantId),\n    objectId: exampleFactory.identity.apply(identity =\u003e identity?.principalId),\n    keyPermissions: [\n        \"Create\",\n        \"Delete\",\n        \"Get\",\n        \"Purge\",\n        \"Recover\",\n        \"Update\",\n        \"GetRotationPolicy\",\n        \"WrapKey\",\n        \"UnwrapKey\",\n    ],\n    secretPermissions: [\n        \"Delete\",\n        \"Get\",\n        \"Set\",\n    ],\n});\nconst exampleCustomerManagedKey = new azure.datafactory.CustomerManagedKey(\"example\", {\n    dataFactoryId: exampleFactory.id,\n    customerManagedKeyId: exampleKey.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\ncurrent = azure.core.get_client_config()\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_key_vault = azure.keyvault.KeyVault(\"example\",\n    name=\"example-key-vault\",\n    location=example.location,\n    resource_group_name=example.name,\n    tenant_id=current.tenant_id,\n    sku_name=\"standard\",\n    purge_protection_enabled=True)\nexample_key = azure.keyvault.Key(\"example\",\n    name=\"examplekey\",\n    key_vault_id=example_key_vault.id,\n    key_type=\"RSA\",\n    key_size=2048,\n    key_opts=[\n        \"unwrapKey\",\n        \"wrapKey\",\n    ])\ncurrent_client_policy = azure.keyvault.AccessPolicy(\"current_client_policy\",\n    key_vault_id=example_key_vault.id,\n    tenant_id=current.tenant_id,\n    object_id=current.object_id,\n    key_permissions=[\n        \"Create\",\n        \"Delete\",\n        \"Get\",\n        \"Purge\",\n        \"Recover\",\n        \"Update\",\n        \"GetRotationPolicy\",\n    ],\n    secret_permissions=[\n        \"Delete\",\n        \"Get\",\n        \"Set\",\n    ])\nexample_factory = azure.datafactory.Factory(\"example\",\n    name=\"example_data_factory\",\n    location=example.location,\n    resource_group_name=example.name,\n    identity={\n        \"type\": \"SystemAssigned\",\n        \"identity_ids\": [example_azurerm_user_assigned_identity[\"id\"]],\n    })\ndatafactory = azure.keyvault.AccessPolicy(\"datafactory\",\n    key_vault_id=example_key_vault.id,\n    tenant_id=example_factory.identity.tenant_id,\n    object_id=example_factory.identity.principal_id,\n    key_permissions=[\n        \"Create\",\n        \"Delete\",\n        \"Get\",\n        \"Purge\",\n        \"Recover\",\n        \"Update\",\n        \"GetRotationPolicy\",\n        \"WrapKey\",\n        \"UnwrapKey\",\n    ],\n    secret_permissions=[\n        \"Delete\",\n        \"Get\",\n        \"Set\",\n    ])\nexample_customer_managed_key = azure.datafactory.CustomerManagedKey(\"example\",\n    data_factory_id=example_factory.id,\n    customer_managed_key_id=example_key.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var current = Azure.Core.GetClientConfig.Invoke();\n\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleKeyVault = new Azure.KeyVault.KeyVault(\"example\", new()\n    {\n        Name = \"example-key-vault\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        TenantId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.TenantId),\n        SkuName = \"standard\",\n        PurgeProtectionEnabled = true,\n    });\n\n    var exampleKey = new Azure.KeyVault.Key(\"example\", new()\n    {\n        Name = \"examplekey\",\n        KeyVaultId = exampleKeyVault.Id,\n        KeyType = \"RSA\",\n        KeySize = 2048,\n        KeyOpts = new[]\n        {\n            \"unwrapKey\",\n            \"wrapKey\",\n        },\n    });\n\n    var currentClientPolicy = new Azure.KeyVault.AccessPolicy(\"current_client_policy\", new()\n    {\n        KeyVaultId = exampleKeyVault.Id,\n        TenantId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.TenantId),\n        ObjectId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.ObjectId),\n        KeyPermissions = new[]\n        {\n            \"Create\",\n            \"Delete\",\n            \"Get\",\n            \"Purge\",\n            \"Recover\",\n            \"Update\",\n            \"GetRotationPolicy\",\n        },\n        SecretPermissions = new[]\n        {\n            \"Delete\",\n            \"Get\",\n            \"Set\",\n        },\n    });\n\n    var exampleFactory = new Azure.DataFactory.Factory(\"example\", new()\n    {\n        Name = \"example_data_factory\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Identity = new Azure.DataFactory.Inputs.FactoryIdentityArgs\n        {\n            Type = \"SystemAssigned\",\n            IdentityIds = new[]\n            {\n                exampleAzurermUserAssignedIdentity.Id,\n            },\n        },\n    });\n\n    var datafactory = new Azure.KeyVault.AccessPolicy(\"datafactory\", new()\n    {\n        KeyVaultId = exampleKeyVault.Id,\n        TenantId = exampleFactory.Identity.Apply(identity =\u003e identity?.TenantId),\n        ObjectId = exampleFactory.Identity.Apply(identity =\u003e identity?.PrincipalId),\n        KeyPermissions = new[]\n        {\n            \"Create\",\n            \"Delete\",\n            \"Get\",\n            \"Purge\",\n            \"Recover\",\n            \"Update\",\n            \"GetRotationPolicy\",\n            \"WrapKey\",\n            \"UnwrapKey\",\n        },\n        SecretPermissions = new[]\n        {\n            \"Delete\",\n            \"Get\",\n            \"Set\",\n        },\n    });\n\n    var exampleCustomerManagedKey = new Azure.DataFactory.CustomerManagedKey(\"example\", new()\n    {\n        DataFactoryId = exampleFactory.Id,\n        CustomerManagedKeyId = exampleKey.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/datafactory\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/keyvault\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := core.GetClientConfig(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleKeyVault, err := keyvault.NewKeyVault(ctx, \"example\", \u0026keyvault.KeyVaultArgs{\n\t\t\tName:                   pulumi.String(\"example-key-vault\"),\n\t\t\tLocation:               example.Location,\n\t\t\tResourceGroupName:      example.Name,\n\t\t\tTenantId:               pulumi.String(current.TenantId),\n\t\t\tSkuName:                pulumi.String(\"standard\"),\n\t\t\tPurgeProtectionEnabled: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleKey, err := keyvault.NewKey(ctx, \"example\", \u0026keyvault.KeyArgs{\n\t\t\tName:       pulumi.String(\"examplekey\"),\n\t\t\tKeyVaultId: exampleKeyVault.ID(),\n\t\t\tKeyType:    pulumi.String(\"RSA\"),\n\t\t\tKeySize:    pulumi.Int(2048),\n\t\t\tKeyOpts: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"unwrapKey\"),\n\t\t\t\tpulumi.String(\"wrapKey\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = keyvault.NewAccessPolicy(ctx, \"current_client_policy\", \u0026keyvault.AccessPolicyArgs{\n\t\t\tKeyVaultId: exampleKeyVault.ID(),\n\t\t\tTenantId:   pulumi.String(current.TenantId),\n\t\t\tObjectId:   pulumi.String(current.ObjectId),\n\t\t\tKeyPermissions: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"Create\"),\n\t\t\t\tpulumi.String(\"Delete\"),\n\t\t\t\tpulumi.String(\"Get\"),\n\t\t\t\tpulumi.String(\"Purge\"),\n\t\t\t\tpulumi.String(\"Recover\"),\n\t\t\t\tpulumi.String(\"Update\"),\n\t\t\t\tpulumi.String(\"GetRotationPolicy\"),\n\t\t\t},\n\t\t\tSecretPermissions: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"Delete\"),\n\t\t\t\tpulumi.String(\"Get\"),\n\t\t\t\tpulumi.String(\"Set\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleFactory, err := datafactory.NewFactory(ctx, \"example\", \u0026datafactory.FactoryArgs{\n\t\t\tName:              pulumi.String(\"example_data_factory\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tIdentity: \u0026datafactory.FactoryIdentityArgs{\n\t\t\t\tType: pulumi.String(\"SystemAssigned\"),\n\t\t\t\tIdentityIds: pulumi.StringArray{\n\t\t\t\t\texampleAzurermUserAssignedIdentity.Id,\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = keyvault.NewAccessPolicy(ctx, \"datafactory\", \u0026keyvault.AccessPolicyArgs{\n\t\t\tKeyVaultId: exampleKeyVault.ID(),\n\t\t\tTenantId: pulumi.String(exampleFactory.Identity.ApplyT(func(identity datafactory.FactoryIdentity) (*string, error) {\n\t\t\t\treturn \u0026identity.TenantId, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tObjectId: pulumi.String(exampleFactory.Identity.ApplyT(func(identity datafactory.FactoryIdentity) (*string, error) {\n\t\t\t\treturn \u0026identity.PrincipalId, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tKeyPermissions: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"Create\"),\n\t\t\t\tpulumi.String(\"Delete\"),\n\t\t\t\tpulumi.String(\"Get\"),\n\t\t\t\tpulumi.String(\"Purge\"),\n\t\t\t\tpulumi.String(\"Recover\"),\n\t\t\t\tpulumi.String(\"Update\"),\n\t\t\t\tpulumi.String(\"GetRotationPolicy\"),\n\t\t\t\tpulumi.String(\"WrapKey\"),\n\t\t\t\tpulumi.String(\"UnwrapKey\"),\n\t\t\t},\n\t\t\tSecretPermissions: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"Delete\"),\n\t\t\t\tpulumi.String(\"Get\"),\n\t\t\t\tpulumi.String(\"Set\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = datafactory.NewCustomerManagedKey(ctx, \"example\", \u0026datafactory.CustomerManagedKeyArgs{\n\t\t\tDataFactoryId:        exampleFactory.ID(),\n\t\t\tCustomerManagedKeyId: exampleKey.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.keyvault.KeyVault;\nimport com.pulumi.azure.keyvault.KeyVaultArgs;\nimport com.pulumi.azure.keyvault.Key;\nimport com.pulumi.azure.keyvault.KeyArgs;\nimport com.pulumi.azure.keyvault.AccessPolicy;\nimport com.pulumi.azure.keyvault.AccessPolicyArgs;\nimport com.pulumi.azure.datafactory.Factory;\nimport com.pulumi.azure.datafactory.FactoryArgs;\nimport com.pulumi.azure.datafactory.inputs.FactoryIdentityArgs;\nimport com.pulumi.azure.datafactory.CustomerManagedKey;\nimport com.pulumi.azure.datafactory.CustomerManagedKeyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var current = CoreFunctions.getClientConfig(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleKeyVault = new KeyVault(\"exampleKeyVault\", KeyVaultArgs.builder()\n            .name(\"example-key-vault\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .tenantId(current.tenantId())\n            .skuName(\"standard\")\n            .purgeProtectionEnabled(true)\n            .build());\n\n        var exampleKey = new Key(\"exampleKey\", KeyArgs.builder()\n            .name(\"examplekey\")\n            .keyVaultId(exampleKeyVault.id())\n            .keyType(\"RSA\")\n            .keySize(2048)\n            .keyOpts(            \n                \"unwrapKey\",\n                \"wrapKey\")\n            .build());\n\n        var currentClientPolicy = new AccessPolicy(\"currentClientPolicy\", AccessPolicyArgs.builder()\n            .keyVaultId(exampleKeyVault.id())\n            .tenantId(current.tenantId())\n            .objectId(current.objectId())\n            .keyPermissions(            \n                \"Create\",\n                \"Delete\",\n                \"Get\",\n                \"Purge\",\n                \"Recover\",\n                \"Update\",\n                \"GetRotationPolicy\")\n            .secretPermissions(            \n                \"Delete\",\n                \"Get\",\n                \"Set\")\n            .build());\n\n        var exampleFactory = new Factory(\"exampleFactory\", FactoryArgs.builder()\n            .name(\"example_data_factory\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .identity(FactoryIdentityArgs.builder()\n                .type(\"SystemAssigned\")\n                .identityIds(exampleAzurermUserAssignedIdentity.id())\n                .build())\n            .build());\n\n        var datafactory = new AccessPolicy(\"datafactory\", AccessPolicyArgs.builder()\n            .keyVaultId(exampleKeyVault.id())\n            .tenantId(exampleFactory.identity().applyValue(_identity -\u003e _identity.tenantId()))\n            .objectId(exampleFactory.identity().applyValue(_identity -\u003e _identity.principalId()))\n            .keyPermissions(            \n                \"Create\",\n                \"Delete\",\n                \"Get\",\n                \"Purge\",\n                \"Recover\",\n                \"Update\",\n                \"GetRotationPolicy\",\n                \"WrapKey\",\n                \"UnwrapKey\")\n            .secretPermissions(            \n                \"Delete\",\n                \"Get\",\n                \"Set\")\n            .build());\n\n        var exampleCustomerManagedKey = new CustomerManagedKey(\"exampleCustomerManagedKey\", CustomerManagedKeyArgs.builder()\n            .dataFactoryId(exampleFactory.id())\n            .customerManagedKeyId(exampleKey.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleKeyVault:\n    type: azure:keyvault:KeyVault\n    name: example\n    properties:\n      name: example-key-vault\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      tenantId: ${current.tenantId}\n      skuName: standard\n      purgeProtectionEnabled: true\n  exampleKey:\n    type: azure:keyvault:Key\n    name: example\n    properties:\n      name: examplekey\n      keyVaultId: ${exampleKeyVault.id}\n      keyType: RSA\n      keySize: 2048\n      keyOpts:\n        - unwrapKey\n        - wrapKey\n  currentClientPolicy:\n    type: azure:keyvault:AccessPolicy\n    name: current_client_policy\n    properties:\n      keyVaultId: ${exampleKeyVault.id}\n      tenantId: ${current.tenantId}\n      objectId: ${current.objectId}\n      keyPermissions:\n        - Create\n        - Delete\n        - Get\n        - Purge\n        - Recover\n        - Update\n        - GetRotationPolicy\n      secretPermissions:\n        - Delete\n        - Get\n        - Set\n  exampleFactory:\n    type: azure:datafactory:Factory\n    name: example\n    properties:\n      name: example_data_factory\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      identity:\n        type: SystemAssigned\n        identityIds:\n          - ${exampleAzurermUserAssignedIdentity.id}\n  datafactory:\n    type: azure:keyvault:AccessPolicy\n    properties:\n      keyVaultId: ${exampleKeyVault.id}\n      tenantId: ${exampleFactory.identity.tenantId}\n      objectId: ${exampleFactory.identity.principalId}\n      keyPermissions:\n        - Create\n        - Delete\n        - Get\n        - Purge\n        - Recover\n        - Update\n        - GetRotationPolicy\n        - WrapKey\n        - UnwrapKey\n      secretPermissions:\n        - Delete\n        - Get\n        - Set\n  exampleCustomerManagedKey:\n    type: azure:datafactory:CustomerManagedKey\n    name: example\n    properties:\n      dataFactoryId: ${exampleFactory.id}\n      customerManagedKeyId: ${exampleKey.id}\nvariables:\n  current:\n    fn::invoke:\n      function: azure:core:getClientConfig\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.DataFactory` - 2018-06-01\n\n## Import\n\nData Factory Customer Managed Keys can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:datafactory/customerManagedKey:CustomerManagedKey example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/example/providers/Microsoft.DataFactory/factories/example\n```\n\n","properties":{"customerManagedKeyId":{"type":"string","description":"The ID the of the Customer Managed Key to associate with the Data Factory.\n"},"dataFactoryId":{"type":"string","description":"The ID of the Data Factory Resource the Customer Managed Key will be associated with. Changing this forces a new resource to be created.\n"},"userAssignedIdentityId":{"type":"string","description":"The User Assigned Identity ID that will be used to access Key Vaults that contain the encryption keys.\n"}},"required":["customerManagedKeyId","dataFactoryId"],"inputProperties":{"customerManagedKeyId":{"type":"string","description":"The ID the of the Customer Managed Key to associate with the Data Factory.\n"},"dataFactoryId":{"type":"string","description":"The ID of the Data Factory Resource the Customer Managed Key will be associated with. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"userAssignedIdentityId":{"type":"string","description":"The User Assigned Identity ID that will be used to access Key Vaults that contain the encryption keys.\n"}},"requiredInputs":["customerManagedKeyId","dataFactoryId"],"stateInputs":{"description":"Input properties used for looking up and filtering CustomerManagedKey resources.\n","properties":{"customerManagedKeyId":{"type":"string","description":"The ID the of the Customer Managed Key to associate with the Data Factory.\n"},"dataFactoryId":{"type":"string","description":"The ID of the Data Factory Resource the Customer Managed Key will be associated with. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"userAssignedIdentityId":{"type":"string","description":"The User Assigned Identity ID that will be used to access Key Vaults that contain the encryption keys.\n"}},"type":"object"}},"azure:datafactory/dataFlow:DataFlow":{"description":"Manages a Data Flow inside an Azure Data Factory.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleAccount = new azure.storage.Account(\"example\", {\n    name: \"example\",\n    location: example.location,\n    resourceGroupName: example.name,\n    accountTier: \"Standard\",\n    accountReplicationType: \"LRS\",\n});\nconst exampleFactory = new azure.datafactory.Factory(\"example\", {\n    name: \"example\",\n    location: example.location,\n    resourceGroupName: example.name,\n});\nconst exampleLinkedCustomService = new azure.datafactory.LinkedCustomService(\"example\", {\n    name: \"linked_service\",\n    dataFactoryId: exampleFactory.id,\n    type: \"AzureBlobStorage\",\n    typePropertiesJson: pulumi.interpolate`{\n  \\\"connectionString\\\": \\\"${exampleAccount.primaryConnectionString}\\\"\n}\n`,\n});\nconst example1 = new azure.datafactory.DatasetJson(\"example1\", {\n    name: \"dataset1\",\n    dataFactoryId: exampleFactory.id,\n    linkedServiceName: exampleLinkedCustomService.name,\n    azureBlobStorageLocation: {\n        container: \"container\",\n        path: \"foo/bar/\",\n        filename: \"foo.txt\",\n    },\n    encoding: \"UTF-8\",\n});\nconst example2 = new azure.datafactory.DatasetJson(\"example2\", {\n    name: \"dataset2\",\n    dataFactoryId: exampleFactory.id,\n    linkedServiceName: exampleLinkedCustomService.name,\n    azureBlobStorageLocation: {\n        container: \"container\",\n        path: \"foo/bar/\",\n        filename: \"bar.txt\",\n    },\n    encoding: \"UTF-8\",\n});\nconst example1FlowletDataFlow = new azure.datafactory.FlowletDataFlow(\"example1\", {\n    name: \"example\",\n    dataFactoryId: exampleFactory.id,\n    sources: [{\n        name: \"source1\",\n        linkedService: {\n            name: exampleLinkedCustomService.name,\n        },\n    }],\n    sinks: [{\n        name: \"sink1\",\n        linkedService: {\n            name: exampleLinkedCustomService.name,\n        },\n    }],\n    script: `source(\n  allowSchemaDrift: true, \n  validateSchema: false, \n  limit: 100, \n  ignoreNoFilesFound: false, \n  documentForm: 'documentPerLine') ~\u003e source1 \nsource1 sink(\n  allowSchemaDrift: true, \n  validateSchema: false, \n  skipDuplicateMapInputs: true, \n  skipDuplicateMapOutputs: true) ~\u003e sink1\n`,\n});\nconst example2FlowletDataFlow = new azure.datafactory.FlowletDataFlow(\"example2\", {\n    name: \"example\",\n    dataFactoryId: exampleFactory.id,\n    sources: [{\n        name: \"source1\",\n        linkedService: {\n            name: exampleLinkedCustomService.name,\n        },\n    }],\n    sinks: [{\n        name: \"sink1\",\n        linkedService: {\n            name: exampleLinkedCustomService.name,\n        },\n    }],\n    script: `source(\n  allowSchemaDrift: true, \n  validateSchema: false, \n  limit: 100, \n  ignoreNoFilesFound: false, \n  documentForm: 'documentPerLine') ~\u003e source1 \nsource1 sink(\n  allowSchemaDrift: true, \n  validateSchema: false, \n  skipDuplicateMapInputs: true, \n  skipDuplicateMapOutputs: true) ~\u003e sink1\n`,\n});\nconst exampleDataFlow = new azure.datafactory.DataFlow(\"example\", {\n    name: \"example\",\n    dataFactoryId: exampleFactory.id,\n    sources: [{\n        name: \"source1\",\n        flowlet: {\n            name: example1FlowletDataFlow.name,\n            parameters: {\n                Key1: \"value1\",\n            },\n        },\n        dataset: {\n            name: example1.name,\n        },\n    }],\n    sinks: [{\n        name: \"sink1\",\n        flowlet: {\n            name: example2FlowletDataFlow.name,\n            parameters: {\n                Key1: \"value1\",\n            },\n        },\n        dataset: {\n            name: example2.name,\n        },\n    }],\n    script: `source(\n  allowSchemaDrift: true, \n  validateSchema: false, \n  limit: 100, \n  ignoreNoFilesFound: false, \n  documentForm: 'documentPerLine') ~\u003e source1 \nsource1 sink(\n  allowSchemaDrift: true, \n  validateSchema: false, \n  skipDuplicateMapInputs: true, \n  skipDuplicateMapOutputs: true) ~\u003e sink1\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_account = azure.storage.Account(\"example\",\n    name=\"example\",\n    location=example.location,\n    resource_group_name=example.name,\n    account_tier=\"Standard\",\n    account_replication_type=\"LRS\")\nexample_factory = azure.datafactory.Factory(\"example\",\n    name=\"example\",\n    location=example.location,\n    resource_group_name=example.name)\nexample_linked_custom_service = azure.datafactory.LinkedCustomService(\"example\",\n    name=\"linked_service\",\n    data_factory_id=example_factory.id,\n    type=\"AzureBlobStorage\",\n    type_properties_json=example_account.primary_connection_string.apply(lambda primary_connection_string: f\"\"\"{{\n  \\\"connectionString\\\": \\\"{primary_connection_string}\\\"\n}}\n\"\"\"))\nexample1 = azure.datafactory.DatasetJson(\"example1\",\n    name=\"dataset1\",\n    data_factory_id=example_factory.id,\n    linked_service_name=example_linked_custom_service.name,\n    azure_blob_storage_location={\n        \"container\": \"container\",\n        \"path\": \"foo/bar/\",\n        \"filename\": \"foo.txt\",\n    },\n    encoding=\"UTF-8\")\nexample2 = azure.datafactory.DatasetJson(\"example2\",\n    name=\"dataset2\",\n    data_factory_id=example_factory.id,\n    linked_service_name=example_linked_custom_service.name,\n    azure_blob_storage_location={\n        \"container\": \"container\",\n        \"path\": \"foo/bar/\",\n        \"filename\": \"bar.txt\",\n    },\n    encoding=\"UTF-8\")\nexample1_flowlet_data_flow = azure.datafactory.FlowletDataFlow(\"example1\",\n    name=\"example\",\n    data_factory_id=example_factory.id,\n    sources=[{\n        \"name\": \"source1\",\n        \"linked_service\": {\n            \"name\": example_linked_custom_service.name,\n        },\n    }],\n    sinks=[{\n        \"name\": \"sink1\",\n        \"linked_service\": {\n            \"name\": example_linked_custom_service.name,\n        },\n    }],\n    script=\"\"\"source(\n  allowSchemaDrift: true, \n  validateSchema: false, \n  limit: 100, \n  ignoreNoFilesFound: false, \n  documentForm: 'documentPerLine') ~\u003e source1 \nsource1 sink(\n  allowSchemaDrift: true, \n  validateSchema: false, \n  skipDuplicateMapInputs: true, \n  skipDuplicateMapOutputs: true) ~\u003e sink1\n\"\"\")\nexample2_flowlet_data_flow = azure.datafactory.FlowletDataFlow(\"example2\",\n    name=\"example\",\n    data_factory_id=example_factory.id,\n    sources=[{\n        \"name\": \"source1\",\n        \"linked_service\": {\n            \"name\": example_linked_custom_service.name,\n        },\n    }],\n    sinks=[{\n        \"name\": \"sink1\",\n        \"linked_service\": {\n            \"name\": example_linked_custom_service.name,\n        },\n    }],\n    script=\"\"\"source(\n  allowSchemaDrift: true, \n  validateSchema: false, \n  limit: 100, \n  ignoreNoFilesFound: false, \n  documentForm: 'documentPerLine') ~\u003e source1 \nsource1 sink(\n  allowSchemaDrift: true, \n  validateSchema: false, \n  skipDuplicateMapInputs: true, \n  skipDuplicateMapOutputs: true) ~\u003e sink1\n\"\"\")\nexample_data_flow = azure.datafactory.DataFlow(\"example\",\n    name=\"example\",\n    data_factory_id=example_factory.id,\n    sources=[{\n        \"name\": \"source1\",\n        \"flowlet\": {\n            \"name\": example1_flowlet_data_flow.name,\n            \"parameters\": {\n                \"Key1\": \"value1\",\n            },\n        },\n        \"dataset\": {\n            \"name\": example1.name,\n        },\n    }],\n    sinks=[{\n        \"name\": \"sink1\",\n        \"flowlet\": {\n            \"name\": example2_flowlet_data_flow.name,\n            \"parameters\": {\n                \"Key1\": \"value1\",\n            },\n        },\n        \"dataset\": {\n            \"name\": example2.name,\n        },\n    }],\n    script=\"\"\"source(\n  allowSchemaDrift: true, \n  validateSchema: false, \n  limit: 100, \n  ignoreNoFilesFound: false, \n  documentForm: 'documentPerLine') ~\u003e source1 \nsource1 sink(\n  allowSchemaDrift: true, \n  validateSchema: false, \n  skipDuplicateMapInputs: true, \n  skipDuplicateMapOutputs: true) ~\u003e sink1\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleAccount = new Azure.Storage.Account(\"example\", new()\n    {\n        Name = \"example\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        AccountTier = \"Standard\",\n        AccountReplicationType = \"LRS\",\n    });\n\n    var exampleFactory = new Azure.DataFactory.Factory(\"example\", new()\n    {\n        Name = \"example\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n    });\n\n    var exampleLinkedCustomService = new Azure.DataFactory.LinkedCustomService(\"example\", new()\n    {\n        Name = \"linked_service\",\n        DataFactoryId = exampleFactory.Id,\n        Type = \"AzureBlobStorage\",\n        TypePropertiesJson = exampleAccount.PrimaryConnectionString.Apply(primaryConnectionString =\u003e @$\"{{\n  \\\"\"connectionString\\\"\": \\\"\"{primaryConnectionString}\\\"\"\n}}\n\"),\n    });\n\n    var example1 = new Azure.DataFactory.DatasetJson(\"example1\", new()\n    {\n        Name = \"dataset1\",\n        DataFactoryId = exampleFactory.Id,\n        LinkedServiceName = exampleLinkedCustomService.Name,\n        AzureBlobStorageLocation = new Azure.DataFactory.Inputs.DatasetJsonAzureBlobStorageLocationArgs\n        {\n            Container = \"container\",\n            Path = \"foo/bar/\",\n            Filename = \"foo.txt\",\n        },\n        Encoding = \"UTF-8\",\n    });\n\n    var example2 = new Azure.DataFactory.DatasetJson(\"example2\", new()\n    {\n        Name = \"dataset2\",\n        DataFactoryId = exampleFactory.Id,\n        LinkedServiceName = exampleLinkedCustomService.Name,\n        AzureBlobStorageLocation = new Azure.DataFactory.Inputs.DatasetJsonAzureBlobStorageLocationArgs\n        {\n            Container = \"container\",\n            Path = \"foo/bar/\",\n            Filename = \"bar.txt\",\n        },\n        Encoding = \"UTF-8\",\n    });\n\n    var example1FlowletDataFlow = new Azure.DataFactory.FlowletDataFlow(\"example1\", new()\n    {\n        Name = \"example\",\n        DataFactoryId = exampleFactory.Id,\n        Sources = new[]\n        {\n            new Azure.DataFactory.Inputs.FlowletDataFlowSourceArgs\n            {\n                Name = \"source1\",\n                LinkedService = new Azure.DataFactory.Inputs.FlowletDataFlowSourceLinkedServiceArgs\n                {\n                    Name = exampleLinkedCustomService.Name,\n                },\n            },\n        },\n        Sinks = new[]\n        {\n            new Azure.DataFactory.Inputs.FlowletDataFlowSinkArgs\n            {\n                Name = \"sink1\",\n                LinkedService = new Azure.DataFactory.Inputs.FlowletDataFlowSinkLinkedServiceArgs\n                {\n                    Name = exampleLinkedCustomService.Name,\n                },\n            },\n        },\n        Script = @\"source(\n  allowSchemaDrift: true, \n  validateSchema: false, \n  limit: 100, \n  ignoreNoFilesFound: false, \n  documentForm: 'documentPerLine') ~\u003e source1 \nsource1 sink(\n  allowSchemaDrift: true, \n  validateSchema: false, \n  skipDuplicateMapInputs: true, \n  skipDuplicateMapOutputs: true) ~\u003e sink1\n\",\n    });\n\n    var example2FlowletDataFlow = new Azure.DataFactory.FlowletDataFlow(\"example2\", new()\n    {\n        Name = \"example\",\n        DataFactoryId = exampleFactory.Id,\n        Sources = new[]\n        {\n            new Azure.DataFactory.Inputs.FlowletDataFlowSourceArgs\n            {\n                Name = \"source1\",\n                LinkedService = new Azure.DataFactory.Inputs.FlowletDataFlowSourceLinkedServiceArgs\n                {\n                    Name = exampleLinkedCustomService.Name,\n                },\n            },\n        },\n        Sinks = new[]\n        {\n            new Azure.DataFactory.Inputs.FlowletDataFlowSinkArgs\n            {\n                Name = \"sink1\",\n                LinkedService = new Azure.DataFactory.Inputs.FlowletDataFlowSinkLinkedServiceArgs\n                {\n                    Name = exampleLinkedCustomService.Name,\n                },\n            },\n        },\n        Script = @\"source(\n  allowSchemaDrift: true, \n  validateSchema: false, \n  limit: 100, \n  ignoreNoFilesFound: false, \n  documentForm: 'documentPerLine') ~\u003e source1 \nsource1 sink(\n  allowSchemaDrift: true, \n  validateSchema: false, \n  skipDuplicateMapInputs: true, \n  skipDuplicateMapOutputs: true) ~\u003e sink1\n\",\n    });\n\n    var exampleDataFlow = new Azure.DataFactory.DataFlow(\"example\", new()\n    {\n        Name = \"example\",\n        DataFactoryId = exampleFactory.Id,\n        Sources = new[]\n        {\n            new Azure.DataFactory.Inputs.DataFlowSourceArgs\n            {\n                Name = \"source1\",\n                Flowlet = new Azure.DataFactory.Inputs.DataFlowSourceFlowletArgs\n                {\n                    Name = example1FlowletDataFlow.Name,\n                    Parameters = \n                    {\n                        { \"Key1\", \"value1\" },\n                    },\n                },\n                Dataset = new Azure.DataFactory.Inputs.DataFlowSourceDatasetArgs\n                {\n                    Name = example1.Name,\n                },\n            },\n        },\n        Sinks = new[]\n        {\n            new Azure.DataFactory.Inputs.DataFlowSinkArgs\n            {\n                Name = \"sink1\",\n                Flowlet = new Azure.DataFactory.Inputs.DataFlowSinkFlowletArgs\n                {\n                    Name = example2FlowletDataFlow.Name,\n                    Parameters = \n                    {\n                        { \"Key1\", \"value1\" },\n                    },\n                },\n                Dataset = new Azure.DataFactory.Inputs.DataFlowSinkDatasetArgs\n                {\n                    Name = example2.Name,\n                },\n            },\n        },\n        Script = @\"source(\n  allowSchemaDrift: true, \n  validateSchema: false, \n  limit: 100, \n  ignoreNoFilesFound: false, \n  documentForm: 'documentPerLine') ~\u003e source1 \nsource1 sink(\n  allowSchemaDrift: true, \n  validateSchema: false, \n  skipDuplicateMapInputs: true, \n  skipDuplicateMapOutputs: true) ~\u003e sink1\n\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/datafactory\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := storage.NewAccount(ctx, \"example\", \u0026storage.AccountArgs{\n\t\t\tName:                   pulumi.String(\"example\"),\n\t\t\tLocation:               example.Location,\n\t\t\tResourceGroupName:      example.Name,\n\t\t\tAccountTier:            pulumi.String(\"Standard\"),\n\t\t\tAccountReplicationType: pulumi.String(\"LRS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleFactory, err := datafactory.NewFactory(ctx, \"example\", \u0026datafactory.FactoryArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleLinkedCustomService, err := datafactory.NewLinkedCustomService(ctx, \"example\", \u0026datafactory.LinkedCustomServiceArgs{\n\t\t\tName:          pulumi.String(\"linked_service\"),\n\t\t\tDataFactoryId: exampleFactory.ID(),\n\t\t\tType:          pulumi.String(\"AzureBlobStorage\"),\n\t\t\tTypePropertiesJson: exampleAccount.PrimaryConnectionString.ApplyT(func(primaryConnectionString string) (string, error) {\n\t\t\t\treturn fmt.Sprintf(\"{\\n  \\\\\\\"connectionString\\\\\\\": \\\\\\\"%v\\\\\\\"\\n}\\n\", primaryConnectionString), nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample1, err := datafactory.NewDatasetJson(ctx, \"example1\", \u0026datafactory.DatasetJsonArgs{\n\t\t\tName:              pulumi.String(\"dataset1\"),\n\t\t\tDataFactoryId:     exampleFactory.ID(),\n\t\t\tLinkedServiceName: exampleLinkedCustomService.Name,\n\t\t\tAzureBlobStorageLocation: \u0026datafactory.DatasetJsonAzureBlobStorageLocationArgs{\n\t\t\t\tContainer: pulumi.String(\"container\"),\n\t\t\t\tPath:      pulumi.String(\"foo/bar/\"),\n\t\t\t\tFilename:  pulumi.String(\"foo.txt\"),\n\t\t\t},\n\t\t\tEncoding: pulumi.String(\"UTF-8\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample2, err := datafactory.NewDatasetJson(ctx, \"example2\", \u0026datafactory.DatasetJsonArgs{\n\t\t\tName:              pulumi.String(\"dataset2\"),\n\t\t\tDataFactoryId:     exampleFactory.ID(),\n\t\t\tLinkedServiceName: exampleLinkedCustomService.Name,\n\t\t\tAzureBlobStorageLocation: \u0026datafactory.DatasetJsonAzureBlobStorageLocationArgs{\n\t\t\t\tContainer: pulumi.String(\"container\"),\n\t\t\t\tPath:      pulumi.String(\"foo/bar/\"),\n\t\t\t\tFilename:  pulumi.String(\"bar.txt\"),\n\t\t\t},\n\t\t\tEncoding: pulumi.String(\"UTF-8\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample1FlowletDataFlow, err := datafactory.NewFlowletDataFlow(ctx, \"example1\", \u0026datafactory.FlowletDataFlowArgs{\n\t\t\tName:          pulumi.String(\"example\"),\n\t\t\tDataFactoryId: exampleFactory.ID(),\n\t\t\tSources: datafactory.FlowletDataFlowSourceArray{\n\t\t\t\t\u0026datafactory.FlowletDataFlowSourceArgs{\n\t\t\t\t\tName: pulumi.String(\"source1\"),\n\t\t\t\t\tLinkedService: \u0026datafactory.FlowletDataFlowSourceLinkedServiceArgs{\n\t\t\t\t\t\tName: exampleLinkedCustomService.Name,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tSinks: datafactory.FlowletDataFlowSinkArray{\n\t\t\t\t\u0026datafactory.FlowletDataFlowSinkArgs{\n\t\t\t\t\tName: pulumi.String(\"sink1\"),\n\t\t\t\t\tLinkedService: \u0026datafactory.FlowletDataFlowSinkLinkedServiceArgs{\n\t\t\t\t\t\tName: exampleLinkedCustomService.Name,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tScript: pulumi.String(`source(\n  allowSchemaDrift: true, \n  validateSchema: false, \n  limit: 100, \n  ignoreNoFilesFound: false, \n  documentForm: 'documentPerLine') ~\u003e source1 \nsource1 sink(\n  allowSchemaDrift: true, \n  validateSchema: false, \n  skipDuplicateMapInputs: true, \n  skipDuplicateMapOutputs: true) ~\u003e sink1\n`),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample2FlowletDataFlow, err := datafactory.NewFlowletDataFlow(ctx, \"example2\", \u0026datafactory.FlowletDataFlowArgs{\n\t\t\tName:          pulumi.String(\"example\"),\n\t\t\tDataFactoryId: exampleFactory.ID(),\n\t\t\tSources: datafactory.FlowletDataFlowSourceArray{\n\t\t\t\t\u0026datafactory.FlowletDataFlowSourceArgs{\n\t\t\t\t\tName: pulumi.String(\"source1\"),\n\t\t\t\t\tLinkedService: \u0026datafactory.FlowletDataFlowSourceLinkedServiceArgs{\n\t\t\t\t\t\tName: exampleLinkedCustomService.Name,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tSinks: datafactory.FlowletDataFlowSinkArray{\n\t\t\t\t\u0026datafactory.FlowletDataFlowSinkArgs{\n\t\t\t\t\tName: pulumi.String(\"sink1\"),\n\t\t\t\t\tLinkedService: \u0026datafactory.FlowletDataFlowSinkLinkedServiceArgs{\n\t\t\t\t\t\tName: exampleLinkedCustomService.Name,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tScript: pulumi.String(`source(\n  allowSchemaDrift: true, \n  validateSchema: false, \n  limit: 100, \n  ignoreNoFilesFound: false, \n  documentForm: 'documentPerLine') ~\u003e source1 \nsource1 sink(\n  allowSchemaDrift: true, \n  validateSchema: false, \n  skipDuplicateMapInputs: true, \n  skipDuplicateMapOutputs: true) ~\u003e sink1\n`),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = datafactory.NewDataFlow(ctx, \"example\", \u0026datafactory.DataFlowArgs{\n\t\t\tName:          pulumi.String(\"example\"),\n\t\t\tDataFactoryId: exampleFactory.ID(),\n\t\t\tSources: datafactory.DataFlowSourceArray{\n\t\t\t\t\u0026datafactory.DataFlowSourceArgs{\n\t\t\t\t\tName: pulumi.String(\"source1\"),\n\t\t\t\t\tFlowlet: \u0026datafactory.DataFlowSourceFlowletArgs{\n\t\t\t\t\t\tName: example1FlowletDataFlow.Name,\n\t\t\t\t\t\tParameters: pulumi.StringMap{\n\t\t\t\t\t\t\t\"Key1\": pulumi.String(\"value1\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tDataset: \u0026datafactory.DataFlowSourceDatasetArgs{\n\t\t\t\t\t\tName: example1.Name,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tSinks: datafactory.DataFlowSinkArray{\n\t\t\t\t\u0026datafactory.DataFlowSinkArgs{\n\t\t\t\t\tName: pulumi.String(\"sink1\"),\n\t\t\t\t\tFlowlet: \u0026datafactory.DataFlowSinkFlowletArgs{\n\t\t\t\t\t\tName: example2FlowletDataFlow.Name,\n\t\t\t\t\t\tParameters: pulumi.StringMap{\n\t\t\t\t\t\t\t\"Key1\": pulumi.String(\"value1\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tDataset: \u0026datafactory.DataFlowSinkDatasetArgs{\n\t\t\t\t\t\tName: example2.Name,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tScript: pulumi.String(`source(\n  allowSchemaDrift: true, \n  validateSchema: false, \n  limit: 100, \n  ignoreNoFilesFound: false, \n  documentForm: 'documentPerLine') ~\u003e source1 \nsource1 sink(\n  allowSchemaDrift: true, \n  validateSchema: false, \n  skipDuplicateMapInputs: true, \n  skipDuplicateMapOutputs: true) ~\u003e sink1\n`),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.storage.Account;\nimport com.pulumi.azure.storage.AccountArgs;\nimport com.pulumi.azure.datafactory.Factory;\nimport com.pulumi.azure.datafactory.FactoryArgs;\nimport com.pulumi.azure.datafactory.LinkedCustomService;\nimport com.pulumi.azure.datafactory.LinkedCustomServiceArgs;\nimport com.pulumi.azure.datafactory.DatasetJson;\nimport com.pulumi.azure.datafactory.DatasetJsonArgs;\nimport com.pulumi.azure.datafactory.inputs.DatasetJsonAzureBlobStorageLocationArgs;\nimport com.pulumi.azure.datafactory.FlowletDataFlow;\nimport com.pulumi.azure.datafactory.FlowletDataFlowArgs;\nimport com.pulumi.azure.datafactory.inputs.FlowletDataFlowSourceArgs;\nimport com.pulumi.azure.datafactory.inputs.FlowletDataFlowSourceLinkedServiceArgs;\nimport com.pulumi.azure.datafactory.inputs.FlowletDataFlowSinkArgs;\nimport com.pulumi.azure.datafactory.inputs.FlowletDataFlowSinkLinkedServiceArgs;\nimport com.pulumi.azure.datafactory.DataFlow;\nimport com.pulumi.azure.datafactory.DataFlowArgs;\nimport com.pulumi.azure.datafactory.inputs.DataFlowSourceArgs;\nimport com.pulumi.azure.datafactory.inputs.DataFlowSourceFlowletArgs;\nimport com.pulumi.azure.datafactory.inputs.DataFlowSourceDatasetArgs;\nimport com.pulumi.azure.datafactory.inputs.DataFlowSinkArgs;\nimport com.pulumi.azure.datafactory.inputs.DataFlowSinkFlowletArgs;\nimport com.pulumi.azure.datafactory.inputs.DataFlowSinkDatasetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"example\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .accountTier(\"Standard\")\n            .accountReplicationType(\"LRS\")\n            .build());\n\n        var exampleFactory = new Factory(\"exampleFactory\", FactoryArgs.builder()\n            .name(\"example\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .build());\n\n        var exampleLinkedCustomService = new LinkedCustomService(\"exampleLinkedCustomService\", LinkedCustomServiceArgs.builder()\n            .name(\"linked_service\")\n            .dataFactoryId(exampleFactory.id())\n            .type(\"AzureBlobStorage\")\n            .typePropertiesJson(exampleAccount.primaryConnectionString().applyValue(_primaryConnectionString -\u003e \"\"\"\n{\n  \\\"connectionString\\\": \\\"%s\\\"\n}\n\", _primaryConnectionString)))\n            .build());\n\n        var example1 = new DatasetJson(\"example1\", DatasetJsonArgs.builder()\n            .name(\"dataset1\")\n            .dataFactoryId(exampleFactory.id())\n            .linkedServiceName(exampleLinkedCustomService.name())\n            .azureBlobStorageLocation(DatasetJsonAzureBlobStorageLocationArgs.builder()\n                .container(\"container\")\n                .path(\"foo/bar/\")\n                .filename(\"foo.txt\")\n                .build())\n            .encoding(\"UTF-8\")\n            .build());\n\n        var example2 = new DatasetJson(\"example2\", DatasetJsonArgs.builder()\n            .name(\"dataset2\")\n            .dataFactoryId(exampleFactory.id())\n            .linkedServiceName(exampleLinkedCustomService.name())\n            .azureBlobStorageLocation(DatasetJsonAzureBlobStorageLocationArgs.builder()\n                .container(\"container\")\n                .path(\"foo/bar/\")\n                .filename(\"bar.txt\")\n                .build())\n            .encoding(\"UTF-8\")\n            .build());\n\n        var example1FlowletDataFlow = new FlowletDataFlow(\"example1FlowletDataFlow\", FlowletDataFlowArgs.builder()\n            .name(\"example\")\n            .dataFactoryId(exampleFactory.id())\n            .sources(FlowletDataFlowSourceArgs.builder()\n                .name(\"source1\")\n                .linkedService(FlowletDataFlowSourceLinkedServiceArgs.builder()\n                    .name(exampleLinkedCustomService.name())\n                    .build())\n                .build())\n            .sinks(FlowletDataFlowSinkArgs.builder()\n                .name(\"sink1\")\n                .linkedService(FlowletDataFlowSinkLinkedServiceArgs.builder()\n                    .name(exampleLinkedCustomService.name())\n                    .build())\n                .build())\n            .script(\"\"\"\nsource(\n  allowSchemaDrift: true, \n  validateSchema: false, \n  limit: 100, \n  ignoreNoFilesFound: false, \n  documentForm: 'documentPerLine') ~\u003e source1 \nsource1 sink(\n  allowSchemaDrift: true, \n  validateSchema: false, \n  skipDuplicateMapInputs: true, \n  skipDuplicateMapOutputs: true) ~\u003e sink1\n            \"\"\")\n            .build());\n\n        var example2FlowletDataFlow = new FlowletDataFlow(\"example2FlowletDataFlow\", FlowletDataFlowArgs.builder()\n            .name(\"example\")\n            .dataFactoryId(exampleFactory.id())\n            .sources(FlowletDataFlowSourceArgs.builder()\n                .name(\"source1\")\n                .linkedService(FlowletDataFlowSourceLinkedServiceArgs.builder()\n                    .name(exampleLinkedCustomService.name())\n                    .build())\n                .build())\n            .sinks(FlowletDataFlowSinkArgs.builder()\n                .name(\"sink1\")\n                .linkedService(FlowletDataFlowSinkLinkedServiceArgs.builder()\n                    .name(exampleLinkedCustomService.name())\n                    .build())\n                .build())\n            .script(\"\"\"\nsource(\n  allowSchemaDrift: true, \n  validateSchema: false, \n  limit: 100, \n  ignoreNoFilesFound: false, \n  documentForm: 'documentPerLine') ~\u003e source1 \nsource1 sink(\n  allowSchemaDrift: true, \n  validateSchema: false, \n  skipDuplicateMapInputs: true, \n  skipDuplicateMapOutputs: true) ~\u003e sink1\n            \"\"\")\n            .build());\n\n        var exampleDataFlow = new DataFlow(\"exampleDataFlow\", DataFlowArgs.builder()\n            .name(\"example\")\n            .dataFactoryId(exampleFactory.id())\n            .sources(DataFlowSourceArgs.builder()\n                .name(\"source1\")\n                .flowlet(DataFlowSourceFlowletArgs.builder()\n                    .name(example1FlowletDataFlow.name())\n                    .parameters(Map.of(\"Key1\", \"value1\"))\n                    .build())\n                .dataset(DataFlowSourceDatasetArgs.builder()\n                    .name(example1.name())\n                    .build())\n                .build())\n            .sinks(DataFlowSinkArgs.builder()\n                .name(\"sink1\")\n                .flowlet(DataFlowSinkFlowletArgs.builder()\n                    .name(example2FlowletDataFlow.name())\n                    .parameters(Map.of(\"Key1\", \"value1\"))\n                    .build())\n                .dataset(DataFlowSinkDatasetArgs.builder()\n                    .name(example2.name())\n                    .build())\n                .build())\n            .script(\"\"\"\nsource(\n  allowSchemaDrift: true, \n  validateSchema: false, \n  limit: 100, \n  ignoreNoFilesFound: false, \n  documentForm: 'documentPerLine') ~\u003e source1 \nsource1 sink(\n  allowSchemaDrift: true, \n  validateSchema: false, \n  skipDuplicateMapInputs: true, \n  skipDuplicateMapOutputs: true) ~\u003e sink1\n            \"\"\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleAccount:\n    type: azure:storage:Account\n    name: example\n    properties:\n      name: example\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      accountTier: Standard\n      accountReplicationType: LRS\n  exampleFactory:\n    type: azure:datafactory:Factory\n    name: example\n    properties:\n      name: example\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n  exampleLinkedCustomService:\n    type: azure:datafactory:LinkedCustomService\n    name: example\n    properties:\n      name: linked_service\n      dataFactoryId: ${exampleFactory.id}\n      type: AzureBlobStorage\n      typePropertiesJson: |\n        {\n          \\\"connectionString\\\": \\\"${exampleAccount.primaryConnectionString}\\\"\n        }\n  example1:\n    type: azure:datafactory:DatasetJson\n    properties:\n      name: dataset1\n      dataFactoryId: ${exampleFactory.id}\n      linkedServiceName: ${exampleLinkedCustomService.name}\n      azureBlobStorageLocation:\n        container: container\n        path: foo/bar/\n        filename: foo.txt\n      encoding: UTF-8\n  example2:\n    type: azure:datafactory:DatasetJson\n    properties:\n      name: dataset2\n      dataFactoryId: ${exampleFactory.id}\n      linkedServiceName: ${exampleLinkedCustomService.name}\n      azureBlobStorageLocation:\n        container: container\n        path: foo/bar/\n        filename: bar.txt\n      encoding: UTF-8\n  exampleDataFlow:\n    type: azure:datafactory:DataFlow\n    name: example\n    properties:\n      name: example\n      dataFactoryId: ${exampleFactory.id}\n      sources:\n        - name: source1\n          flowlet:\n            name: ${example1FlowletDataFlow.name}\n            parameters:\n              Key1: value1\n          dataset:\n            name: ${example1.name}\n      sinks:\n        - name: sink1\n          flowlet:\n            name: ${example2FlowletDataFlow.name}\n            parameters:\n              Key1: value1\n          dataset:\n            name: ${example2.name}\n      script: \"source(\\n  allowSchemaDrift: true, \\n  validateSchema: false, \\n  limit: 100, \\n  ignoreNoFilesFound: false, \\n  documentForm: 'documentPerLine') ~\u003e source1 \\nsource1 sink(\\n  allowSchemaDrift: true, \\n  validateSchema: false, \\n  skipDuplicateMapInputs: true, \\n  skipDuplicateMapOutputs: true) ~\u003e sink1\\n\"\n  example1FlowletDataFlow:\n    type: azure:datafactory:FlowletDataFlow\n    name: example1\n    properties:\n      name: example\n      dataFactoryId: ${exampleFactory.id}\n      sources:\n        - name: source1\n          linkedService:\n            name: ${exampleLinkedCustomService.name}\n      sinks:\n        - name: sink1\n          linkedService:\n            name: ${exampleLinkedCustomService.name}\n      script: \"source(\\n  allowSchemaDrift: true, \\n  validateSchema: false, \\n  limit: 100, \\n  ignoreNoFilesFound: false, \\n  documentForm: 'documentPerLine') ~\u003e source1 \\nsource1 sink(\\n  allowSchemaDrift: true, \\n  validateSchema: false, \\n  skipDuplicateMapInputs: true, \\n  skipDuplicateMapOutputs: true) ~\u003e sink1\\n\"\n  example2FlowletDataFlow:\n    type: azure:datafactory:FlowletDataFlow\n    name: example2\n    properties:\n      name: example\n      dataFactoryId: ${exampleFactory.id}\n      sources:\n        - name: source1\n          linkedService:\n            name: ${exampleLinkedCustomService.name}\n      sinks:\n        - name: sink1\n          linkedService:\n            name: ${exampleLinkedCustomService.name}\n      script: \"source(\\n  allowSchemaDrift: true, \\n  validateSchema: false, \\n  limit: 100, \\n  ignoreNoFilesFound: false, \\n  documentForm: 'documentPerLine') ~\u003e source1 \\nsource1 sink(\\n  allowSchemaDrift: true, \\n  validateSchema: false, \\n  skipDuplicateMapInputs: true, \\n  skipDuplicateMapOutputs: true) ~\u003e sink1\\n\"\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.DataFactory` - 2018-06-01\n\n## Import\n\nData Factory Data Flow can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:datafactory/dataFlow:DataFlow example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/example/providers/Microsoft.DataFactory/factories/example/dataflows/example\n```\n\n","properties":{"annotations":{"type":"array","items":{"type":"string"},"description":"List of tags that can be used for describing the Data Factory Data Flow.\n"},"dataFactoryId":{"type":"string","description":"The ID of Data Factory in which to associate the Data Flow with. Changing this forces a new resource.\n"},"description":{"type":"string","description":"The description for the Data Factory Data Flow.\n"},"folder":{"type":"string","description":"The folder that this Data Flow is in. If not specified, the Data Flow will appear at the root level.\n"},"name":{"type":"string","description":"Specifies the name of the Data Factory Data Flow. Changing this forces a new resource to be created.\n"},"script":{"type":"string","description":"The script for the Data Factory Data Flow.\n"},"scriptLines":{"type":"array","items":{"type":"string"},"description":"The script lines for the Data Factory Data Flow.\n"},"sinks":{"type":"array","items":{"$ref":"#/types/azure:datafactory/DataFlowSink:DataFlowSink"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`sink`\" pulumi-lang-dotnet=\"`Sink`\" pulumi-lang-go=\"`sink`\" pulumi-lang-python=\"`sink`\" pulumi-lang-yaml=\"`sink`\" pulumi-lang-java=\"`sink`\"\u003e`sink`\u003c/span\u003e blocks as defined below.\n"},"sources":{"type":"array","items":{"$ref":"#/types/azure:datafactory/DataFlowSource:DataFlowSource"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`source`\" pulumi-lang-dotnet=\"`Source`\" pulumi-lang-go=\"`source`\" pulumi-lang-python=\"`source`\" pulumi-lang-yaml=\"`source`\" pulumi-lang-java=\"`source`\"\u003e`source`\u003c/span\u003e blocks as defined below.\n"},"transformations":{"type":"array","items":{"$ref":"#/types/azure:datafactory/DataFlowTransformation:DataFlowTransformation"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`transformation`\" pulumi-lang-dotnet=\"`Transformation`\" pulumi-lang-go=\"`transformation`\" pulumi-lang-python=\"`transformation`\" pulumi-lang-yaml=\"`transformation`\" pulumi-lang-java=\"`transformation`\"\u003e`transformation`\u003c/span\u003e blocks as defined below.\n"}},"required":["dataFactoryId","name","sinks","sources"],"inputProperties":{"annotations":{"type":"array","items":{"type":"string"},"description":"List of tags that can be used for describing the Data Factory Data Flow.\n"},"dataFactoryId":{"type":"string","description":"The ID of Data Factory in which to associate the Data Flow with. Changing this forces a new resource.\n","willReplaceOnChanges":true},"description":{"type":"string","description":"The description for the Data Factory Data Flow.\n"},"folder":{"type":"string","description":"The folder that this Data Flow is in. If not specified, the Data Flow will appear at the root level.\n"},"name":{"type":"string","description":"Specifies the name of the Data Factory Data Flow. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"script":{"type":"string","description":"The script for the Data Factory Data Flow.\n"},"scriptLines":{"type":"array","items":{"type":"string"},"description":"The script lines for the Data Factory Data Flow.\n"},"sinks":{"type":"array","items":{"$ref":"#/types/azure:datafactory/DataFlowSink:DataFlowSink"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`sink`\" pulumi-lang-dotnet=\"`Sink`\" pulumi-lang-go=\"`sink`\" pulumi-lang-python=\"`sink`\" pulumi-lang-yaml=\"`sink`\" pulumi-lang-java=\"`sink`\"\u003e`sink`\u003c/span\u003e blocks as defined below.\n"},"sources":{"type":"array","items":{"$ref":"#/types/azure:datafactory/DataFlowSource:DataFlowSource"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`source`\" pulumi-lang-dotnet=\"`Source`\" pulumi-lang-go=\"`source`\" pulumi-lang-python=\"`source`\" pulumi-lang-yaml=\"`source`\" pulumi-lang-java=\"`source`\"\u003e`source`\u003c/span\u003e blocks as defined below.\n"},"transformations":{"type":"array","items":{"$ref":"#/types/azure:datafactory/DataFlowTransformation:DataFlowTransformation"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`transformation`\" pulumi-lang-dotnet=\"`Transformation`\" pulumi-lang-go=\"`transformation`\" pulumi-lang-python=\"`transformation`\" pulumi-lang-yaml=\"`transformation`\" pulumi-lang-java=\"`transformation`\"\u003e`transformation`\u003c/span\u003e blocks as defined below.\n"}},"requiredInputs":["dataFactoryId","sinks","sources"],"stateInputs":{"description":"Input properties used for looking up and filtering DataFlow resources.\n","properties":{"annotations":{"type":"array","items":{"type":"string"},"description":"List of tags that can be used for describing the Data Factory Data Flow.\n"},"dataFactoryId":{"type":"string","description":"The ID of Data Factory in which to associate the Data Flow with. Changing this forces a new resource.\n","willReplaceOnChanges":true},"description":{"type":"string","description":"The description for the Data Factory Data Flow.\n"},"folder":{"type":"string","description":"The folder that this Data Flow is in. If not specified, the Data Flow will appear at the root level.\n"},"name":{"type":"string","description":"Specifies the name of the Data Factory Data Flow. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"script":{"type":"string","description":"The script for the Data Factory Data Flow.\n"},"scriptLines":{"type":"array","items":{"type":"string"},"description":"The script lines for the Data Factory Data Flow.\n"},"sinks":{"type":"array","items":{"$ref":"#/types/azure:datafactory/DataFlowSink:DataFlowSink"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`sink`\" pulumi-lang-dotnet=\"`Sink`\" pulumi-lang-go=\"`sink`\" pulumi-lang-python=\"`sink`\" pulumi-lang-yaml=\"`sink`\" pulumi-lang-java=\"`sink`\"\u003e`sink`\u003c/span\u003e blocks as defined below.\n"},"sources":{"type":"array","items":{"$ref":"#/types/azure:datafactory/DataFlowSource:DataFlowSource"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`source`\" pulumi-lang-dotnet=\"`Source`\" pulumi-lang-go=\"`source`\" pulumi-lang-python=\"`source`\" pulumi-lang-yaml=\"`source`\" pulumi-lang-java=\"`source`\"\u003e`source`\u003c/span\u003e blocks as defined below.\n"},"transformations":{"type":"array","items":{"$ref":"#/types/azure:datafactory/DataFlowTransformation:DataFlowTransformation"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`transformation`\" pulumi-lang-dotnet=\"`Transformation`\" pulumi-lang-go=\"`transformation`\" pulumi-lang-python=\"`transformation`\" pulumi-lang-yaml=\"`transformation`\" pulumi-lang-java=\"`transformation`\"\u003e`transformation`\u003c/span\u003e blocks as defined below.\n"}},"type":"object"}},"azure:datafactory/datasetAzureBlob:DatasetAzureBlob":{"description":"Manages an Azure Blob Dataset inside an Azure Data Factory.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst example = azure.storage.getAccountOutput({\n    name: \"storageaccountname\",\n    resourceGroupName: exampleResourceGroup.name,\n});\nconst exampleFactory = new azure.datafactory.Factory(\"example\", {\n    name: \"example\",\n    location: exampleResourceGroup.location,\n    resourceGroupName: exampleResourceGroup.name,\n});\nconst exampleLinkedServiceAzureBlobStorage = new azure.datafactory.LinkedServiceAzureBlobStorage(\"example\", {\n    name: \"example\",\n    dataFactoryId: exampleFactory.id,\n    connectionString: example.apply(example =\u003e example.primaryConnectionString),\n});\nconst exampleDatasetAzureBlob = new azure.datafactory.DatasetAzureBlob(\"example\", {\n    name: \"example\",\n    dataFactoryId: exampleFactory.id,\n    linkedServiceName: exampleLinkedServiceAzureBlobStorage.name,\n    path: \"foo\",\n    filename: \"bar.png\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample = azure.storage.get_account_output(name=\"storageaccountname\",\n    resource_group_name=example_resource_group.name)\nexample_factory = azure.datafactory.Factory(\"example\",\n    name=\"example\",\n    location=example_resource_group.location,\n    resource_group_name=example_resource_group.name)\nexample_linked_service_azure_blob_storage = azure.datafactory.LinkedServiceAzureBlobStorage(\"example\",\n    name=\"example\",\n    data_factory_id=example_factory.id,\n    connection_string=example.primary_connection_string)\nexample_dataset_azure_blob = azure.datafactory.DatasetAzureBlob(\"example\",\n    name=\"example\",\n    data_factory_id=example_factory.id,\n    linked_service_name=example_linked_service_azure_blob_storage.name,\n    path=\"foo\",\n    filename=\"bar.png\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleResourceGroup = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var example = Azure.Storage.GetAccount.Invoke(new()\n    {\n        Name = \"storageaccountname\",\n        ResourceGroupName = exampleResourceGroup.Name,\n    });\n\n    var exampleFactory = new Azure.DataFactory.Factory(\"example\", new()\n    {\n        Name = \"example\",\n        Location = exampleResourceGroup.Location,\n        ResourceGroupName = exampleResourceGroup.Name,\n    });\n\n    var exampleLinkedServiceAzureBlobStorage = new Azure.DataFactory.LinkedServiceAzureBlobStorage(\"example\", new()\n    {\n        Name = \"example\",\n        DataFactoryId = exampleFactory.Id,\n        ConnectionString = example.Apply(getAccountResult =\u003e getAccountResult.PrimaryConnectionString),\n    });\n\n    var exampleDatasetAzureBlob = new Azure.DataFactory.DatasetAzureBlob(\"example\", new()\n    {\n        Name = \"example\",\n        DataFactoryId = exampleFactory.Id,\n        LinkedServiceName = exampleLinkedServiceAzureBlobStorage.Name,\n        Path = \"foo\",\n        Filename = \"bar.png\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/datafactory\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample := storage.LookupAccountOutput(ctx, storage.GetAccountOutputArgs{\n\t\t\tName:              pulumi.String(\"storageaccountname\"),\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t}, nil)\n\t\texampleFactory, err := datafactory.NewFactory(ctx, \"example\", \u0026datafactory.FactoryArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tLocation:          exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleLinkedServiceAzureBlobStorage, err := datafactory.NewLinkedServiceAzureBlobStorage(ctx, \"example\", \u0026datafactory.LinkedServiceAzureBlobStorageArgs{\n\t\t\tName:          pulumi.String(\"example\"),\n\t\t\tDataFactoryId: exampleFactory.ID(),\n\t\t\tConnectionString: pulumi.String(example.ApplyT(func(example storage.GetAccountResult) (*string, error) {\n\t\t\t\treturn \u0026example.PrimaryConnectionString, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = datafactory.NewDatasetAzureBlob(ctx, \"example\", \u0026datafactory.DatasetAzureBlobArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tDataFactoryId:     exampleFactory.ID(),\n\t\t\tLinkedServiceName: exampleLinkedServiceAzureBlobStorage.Name,\n\t\t\tPath:              pulumi.String(\"foo\"),\n\t\t\tFilename:          pulumi.String(\"bar.png\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.storage.StorageFunctions;\nimport com.pulumi.azure.storage.inputs.GetAccountArgs;\nimport com.pulumi.azure.datafactory.Factory;\nimport com.pulumi.azure.datafactory.FactoryArgs;\nimport com.pulumi.azure.datafactory.LinkedServiceAzureBlobStorage;\nimport com.pulumi.azure.datafactory.LinkedServiceAzureBlobStorageArgs;\nimport com.pulumi.azure.datafactory.DatasetAzureBlob;\nimport com.pulumi.azure.datafactory.DatasetAzureBlobArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var exampleResourceGroup = new ResourceGroup(\"exampleResourceGroup\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        final var example = StorageFunctions.getAccount(GetAccountArgs.builder()\n            .name(\"storageaccountname\")\n            .resourceGroupName(exampleResourceGroup.name())\n            .build());\n\n        var exampleFactory = new Factory(\"exampleFactory\", FactoryArgs.builder()\n            .name(\"example\")\n            .location(exampleResourceGroup.location())\n            .resourceGroupName(exampleResourceGroup.name())\n            .build());\n\n        var exampleLinkedServiceAzureBlobStorage = new LinkedServiceAzureBlobStorage(\"exampleLinkedServiceAzureBlobStorage\", LinkedServiceAzureBlobStorageArgs.builder()\n            .name(\"example\")\n            .dataFactoryId(exampleFactory.id())\n            .connectionString(example.applyValue(_example -\u003e _example.primaryConnectionString()))\n            .build());\n\n        var exampleDatasetAzureBlob = new DatasetAzureBlob(\"exampleDatasetAzureBlob\", DatasetAzureBlobArgs.builder()\n            .name(\"example\")\n            .dataFactoryId(exampleFactory.id())\n            .linkedServiceName(exampleLinkedServiceAzureBlobStorage.name())\n            .path(\"foo\")\n            .filename(\"bar.png\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleResourceGroup:\n    type: azure:core:ResourceGroup\n    name: example\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleFactory:\n    type: azure:datafactory:Factory\n    name: example\n    properties:\n      name: example\n      location: ${exampleResourceGroup.location}\n      resourceGroupName: ${exampleResourceGroup.name}\n  exampleLinkedServiceAzureBlobStorage:\n    type: azure:datafactory:LinkedServiceAzureBlobStorage\n    name: example\n    properties:\n      name: example\n      dataFactoryId: ${exampleFactory.id}\n      connectionString: ${example.primaryConnectionString}\n  exampleDatasetAzureBlob:\n    type: azure:datafactory:DatasetAzureBlob\n    name: example\n    properties:\n      name: example\n      dataFactoryId: ${exampleFactory.id}\n      linkedServiceName: ${exampleLinkedServiceAzureBlobStorage.name}\n      path: foo\n      filename: bar.png\nvariables:\n  example:\n    fn::invoke:\n      function: azure:storage:getAccount\n      arguments:\n        name: storageaccountname\n        resourceGroupName: ${exampleResourceGroup.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nData Factory Datasets can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:datafactory/datasetAzureBlob:DatasetAzureBlob example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/example/providers/Microsoft.DataFactory/factories/example/datasets/example\n```\n\n","properties":{"additionalProperties":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of additional properties to associate with the Data Factory Dataset.\n\nThe following supported arguments are specific to Azure Blob Dataset:\n"},"annotations":{"type":"array","items":{"type":"string"},"description":"List of tags that can be used for describing the Data Factory Dataset.\n"},"dataFactoryId":{"type":"string","description":"The Data Factory ID in which to associate the Linked Service with. Changing this forces a new resource.\n"},"description":{"type":"string","description":"The description for the Data Factory Dataset.\n"},"dynamicFilenameEnabled":{"type":"boolean","description":"Is the \u003cspan pulumi-lang-nodejs=\"`filename`\" pulumi-lang-dotnet=\"`Filename`\" pulumi-lang-go=\"`filename`\" pulumi-lang-python=\"`filename`\" pulumi-lang-yaml=\"`filename`\" pulumi-lang-java=\"`filename`\"\u003e`filename`\u003c/span\u003e using dynamic expression, function or system variables? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"dynamicPathEnabled":{"type":"boolean","description":"Is the \u003cspan pulumi-lang-nodejs=\"`path`\" pulumi-lang-dotnet=\"`Path`\" pulumi-lang-go=\"`path`\" pulumi-lang-python=\"`path`\" pulumi-lang-yaml=\"`path`\" pulumi-lang-java=\"`path`\"\u003e`path`\u003c/span\u003e using dynamic expression, function or system variables? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"filename":{"type":"string","description":"The filename of the Azure Blob.\n"},"folder":{"type":"string","description":"The folder that this Dataset is in. If not specified, the Dataset will appear at the root level.\n"},"linkedServiceName":{"type":"string","description":"The Data Factory Linked Service name in which to associate the Dataset with.\n"},"name":{"type":"string","description":"Specifies the name of the Data Factory Dataset. Changing this forces a new resource to be created. Must be globally unique. See the [Microsoft documentation](https://docs.microsoft.com/azure/data-factory/naming-rules) for all restrictions.\n"},"parameters":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of parameters to associate with the Data Factory Dataset.\n"},"path":{"type":"string","description":"The path of the Azure Blob.\n"},"schemaColumns":{"type":"array","items":{"$ref":"#/types/azure:datafactory/DatasetAzureBlobSchemaColumn:DatasetAzureBlobSchemaColumn"},"description":"A \u003cspan pulumi-lang-nodejs=\"`schemaColumn`\" pulumi-lang-dotnet=\"`SchemaColumn`\" pulumi-lang-go=\"`schemaColumn`\" pulumi-lang-python=\"`schema_column`\" pulumi-lang-yaml=\"`schemaColumn`\" pulumi-lang-java=\"`schemaColumn`\"\u003e`schema_column`\u003c/span\u003e block as defined below.\n"}},"required":["dataFactoryId","linkedServiceName","name"],"inputProperties":{"additionalProperties":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of additional properties to associate with the Data Factory Dataset.\n\nThe following supported arguments are specific to Azure Blob Dataset:\n"},"annotations":{"type":"array","items":{"type":"string"},"description":"List of tags that can be used for describing the Data Factory Dataset.\n"},"dataFactoryId":{"type":"string","description":"The Data Factory ID in which to associate the Linked Service with. Changing this forces a new resource.\n","willReplaceOnChanges":true},"description":{"type":"string","description":"The description for the Data Factory Dataset.\n"},"dynamicFilenameEnabled":{"type":"boolean","description":"Is the \u003cspan pulumi-lang-nodejs=\"`filename`\" pulumi-lang-dotnet=\"`Filename`\" pulumi-lang-go=\"`filename`\" pulumi-lang-python=\"`filename`\" pulumi-lang-yaml=\"`filename`\" pulumi-lang-java=\"`filename`\"\u003e`filename`\u003c/span\u003e using dynamic expression, function or system variables? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"dynamicPathEnabled":{"type":"boolean","description":"Is the \u003cspan pulumi-lang-nodejs=\"`path`\" pulumi-lang-dotnet=\"`Path`\" pulumi-lang-go=\"`path`\" pulumi-lang-python=\"`path`\" pulumi-lang-yaml=\"`path`\" pulumi-lang-java=\"`path`\"\u003e`path`\u003c/span\u003e using dynamic expression, function or system variables? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"filename":{"type":"string","description":"The filename of the Azure Blob.\n"},"folder":{"type":"string","description":"The folder that this Dataset is in. If not specified, the Dataset will appear at the root level.\n"},"linkedServiceName":{"type":"string","description":"The Data Factory Linked Service name in which to associate the Dataset with.\n"},"name":{"type":"string","description":"Specifies the name of the Data Factory Dataset. Changing this forces a new resource to be created. Must be globally unique. See the [Microsoft documentation](https://docs.microsoft.com/azure/data-factory/naming-rules) for all restrictions.\n","willReplaceOnChanges":true},"parameters":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of parameters to associate with the Data Factory Dataset.\n"},"path":{"type":"string","description":"The path of the Azure Blob.\n"},"schemaColumns":{"type":"array","items":{"$ref":"#/types/azure:datafactory/DatasetAzureBlobSchemaColumn:DatasetAzureBlobSchemaColumn"},"description":"A \u003cspan pulumi-lang-nodejs=\"`schemaColumn`\" pulumi-lang-dotnet=\"`SchemaColumn`\" pulumi-lang-go=\"`schemaColumn`\" pulumi-lang-python=\"`schema_column`\" pulumi-lang-yaml=\"`schemaColumn`\" pulumi-lang-java=\"`schemaColumn`\"\u003e`schema_column`\u003c/span\u003e block as defined below.\n"}},"requiredInputs":["dataFactoryId","linkedServiceName"],"stateInputs":{"description":"Input properties used for looking up and filtering DatasetAzureBlob resources.\n","properties":{"additionalProperties":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of additional properties to associate with the Data Factory Dataset.\n\nThe following supported arguments are specific to Azure Blob Dataset:\n"},"annotations":{"type":"array","items":{"type":"string"},"description":"List of tags that can be used for describing the Data Factory Dataset.\n"},"dataFactoryId":{"type":"string","description":"The Data Factory ID in which to associate the Linked Service with. Changing this forces a new resource.\n","willReplaceOnChanges":true},"description":{"type":"string","description":"The description for the Data Factory Dataset.\n"},"dynamicFilenameEnabled":{"type":"boolean","description":"Is the \u003cspan pulumi-lang-nodejs=\"`filename`\" pulumi-lang-dotnet=\"`Filename`\" pulumi-lang-go=\"`filename`\" pulumi-lang-python=\"`filename`\" pulumi-lang-yaml=\"`filename`\" pulumi-lang-java=\"`filename`\"\u003e`filename`\u003c/span\u003e using dynamic expression, function or system variables? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"dynamicPathEnabled":{"type":"boolean","description":"Is the \u003cspan pulumi-lang-nodejs=\"`path`\" pulumi-lang-dotnet=\"`Path`\" pulumi-lang-go=\"`path`\" pulumi-lang-python=\"`path`\" pulumi-lang-yaml=\"`path`\" pulumi-lang-java=\"`path`\"\u003e`path`\u003c/span\u003e using dynamic expression, function or system variables? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"filename":{"type":"string","description":"The filename of the Azure Blob.\n"},"folder":{"type":"string","description":"The folder that this Dataset is in. If not specified, the Dataset will appear at the root level.\n"},"linkedServiceName":{"type":"string","description":"The Data Factory Linked Service name in which to associate the Dataset with.\n"},"name":{"type":"string","description":"Specifies the name of the Data Factory Dataset. Changing this forces a new resource to be created. Must be globally unique. See the [Microsoft documentation](https://docs.microsoft.com/azure/data-factory/naming-rules) for all restrictions.\n","willReplaceOnChanges":true},"parameters":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of parameters to associate with the Data Factory Dataset.\n"},"path":{"type":"string","description":"The path of the Azure Blob.\n"},"schemaColumns":{"type":"array","items":{"$ref":"#/types/azure:datafactory/DatasetAzureBlobSchemaColumn:DatasetAzureBlobSchemaColumn"},"description":"A \u003cspan pulumi-lang-nodejs=\"`schemaColumn`\" pulumi-lang-dotnet=\"`SchemaColumn`\" pulumi-lang-go=\"`schemaColumn`\" pulumi-lang-python=\"`schema_column`\" pulumi-lang-yaml=\"`schemaColumn`\" pulumi-lang-java=\"`schemaColumn`\"\u003e`schema_column`\u003c/span\u003e block as defined below.\n"}},"type":"object"}},"azure:datafactory/datasetAzureSqlTable:DatasetAzureSqlTable":{"description":"Manages an Azure SQL Table Dataset inside an Azure Data Factory.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleFactory = new azure.datafactory.Factory(\"example\", {\n    name: \"example\",\n    location: example.location,\n    resourceGroupName: example.name,\n});\nconst exampleLinkedServiceAzureSqlDatabase = new azure.datafactory.LinkedServiceAzureSqlDatabase(\"example\", {\n    name: \"example\",\n    dataFactoryId: exampleFactory.id,\n    connectionString: \"Integrated Security=False;Data Source=test;Initial Catalog=test;Initial Catalog=test;User ID=test;Password=test\",\n});\nconst exampleDatasetAzureSqlTable = new azure.datafactory.DatasetAzureSqlTable(\"example\", {\n    name: \"example\",\n    dataFactoryId: exampleFactory.id,\n    linkedServiceId: exampleLinkedServiceAzureSqlDatabase.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_factory = azure.datafactory.Factory(\"example\",\n    name=\"example\",\n    location=example.location,\n    resource_group_name=example.name)\nexample_linked_service_azure_sql_database = azure.datafactory.LinkedServiceAzureSqlDatabase(\"example\",\n    name=\"example\",\n    data_factory_id=example_factory.id,\n    connection_string=\"Integrated Security=False;Data Source=test;Initial Catalog=test;Initial Catalog=test;User ID=test;Password=test\")\nexample_dataset_azure_sql_table = azure.datafactory.DatasetAzureSqlTable(\"example\",\n    name=\"example\",\n    data_factory_id=example_factory.id,\n    linked_service_id=example_linked_service_azure_sql_database.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleFactory = new Azure.DataFactory.Factory(\"example\", new()\n    {\n        Name = \"example\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n    });\n\n    var exampleLinkedServiceAzureSqlDatabase = new Azure.DataFactory.LinkedServiceAzureSqlDatabase(\"example\", new()\n    {\n        Name = \"example\",\n        DataFactoryId = exampleFactory.Id,\n        ConnectionString = \"Integrated Security=False;Data Source=test;Initial Catalog=test;Initial Catalog=test;User ID=test;Password=test\",\n    });\n\n    var exampleDatasetAzureSqlTable = new Azure.DataFactory.DatasetAzureSqlTable(\"example\", new()\n    {\n        Name = \"example\",\n        DataFactoryId = exampleFactory.Id,\n        LinkedServiceId = exampleLinkedServiceAzureSqlDatabase.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/datafactory\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleFactory, err := datafactory.NewFactory(ctx, \"example\", \u0026datafactory.FactoryArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleLinkedServiceAzureSqlDatabase, err := datafactory.NewLinkedServiceAzureSqlDatabase(ctx, \"example\", \u0026datafactory.LinkedServiceAzureSqlDatabaseArgs{\n\t\t\tName:             pulumi.String(\"example\"),\n\t\t\tDataFactoryId:    exampleFactory.ID(),\n\t\t\tConnectionString: pulumi.String(\"Integrated Security=False;Data Source=test;Initial Catalog=test;Initial Catalog=test;User ID=test;Password=test\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = datafactory.NewDatasetAzureSqlTable(ctx, \"example\", \u0026datafactory.DatasetAzureSqlTableArgs{\n\t\t\tName:            pulumi.String(\"example\"),\n\t\t\tDataFactoryId:   exampleFactory.ID(),\n\t\t\tLinkedServiceId: exampleLinkedServiceAzureSqlDatabase.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.datafactory.Factory;\nimport com.pulumi.azure.datafactory.FactoryArgs;\nimport com.pulumi.azure.datafactory.LinkedServiceAzureSqlDatabase;\nimport com.pulumi.azure.datafactory.LinkedServiceAzureSqlDatabaseArgs;\nimport com.pulumi.azure.datafactory.DatasetAzureSqlTable;\nimport com.pulumi.azure.datafactory.DatasetAzureSqlTableArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleFactory = new Factory(\"exampleFactory\", FactoryArgs.builder()\n            .name(\"example\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .build());\n\n        var exampleLinkedServiceAzureSqlDatabase = new LinkedServiceAzureSqlDatabase(\"exampleLinkedServiceAzureSqlDatabase\", LinkedServiceAzureSqlDatabaseArgs.builder()\n            .name(\"example\")\n            .dataFactoryId(exampleFactory.id())\n            .connectionString(\"Integrated Security=False;Data Source=test;Initial Catalog=test;Initial Catalog=test;User ID=test;Password=test\")\n            .build());\n\n        var exampleDatasetAzureSqlTable = new DatasetAzureSqlTable(\"exampleDatasetAzureSqlTable\", DatasetAzureSqlTableArgs.builder()\n            .name(\"example\")\n            .dataFactoryId(exampleFactory.id())\n            .linkedServiceId(exampleLinkedServiceAzureSqlDatabase.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleFactory:\n    type: azure:datafactory:Factory\n    name: example\n    properties:\n      name: example\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n  exampleLinkedServiceAzureSqlDatabase:\n    type: azure:datafactory:LinkedServiceAzureSqlDatabase\n    name: example\n    properties:\n      name: example\n      dataFactoryId: ${exampleFactory.id}\n      connectionString: Integrated Security=False;Data Source=test;Initial Catalog=test;Initial Catalog=test;User ID=test;Password=test\n  exampleDatasetAzureSqlTable:\n    type: azure:datafactory:DatasetAzureSqlTable\n    name: example\n    properties:\n      name: example\n      dataFactoryId: ${exampleFactory.id}\n      linkedServiceId: ${exampleLinkedServiceAzureSqlDatabase.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nData Factory Azure SQL Table Datasets can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:datafactory/datasetAzureSqlTable:DatasetAzureSqlTable example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/example/providers/Microsoft.DataFactory/factories/example/datasets/example\n```\n\n","properties":{"additionalProperties":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of additional properties to associate with the Data Factory Dataset Azure SQL Table.\n"},"annotations":{"type":"array","items":{"type":"string"},"description":"List of tags that can be used for describing the Data Factory Dataset Azure SQL Table.\n"},"dataFactoryId":{"type":"string","description":"The Data Factory ID in which to associate the Linked Service with. Changing this forces a new resource.\n"},"description":{"type":"string","description":"The description for the Data Factory Dataset Azure SQL Table.\n"},"folder":{"type":"string","description":"The folder that this Dataset is in. If not specified, the Dataset will appear at the root level.\n"},"linkedServiceId":{"type":"string","description":"The Data Factory Linked Service ID in which to associate the Dataset with.\n"},"name":{"type":"string","description":"Specifies the name of the Data Factory Dataset Azure SQL Table. Changing this forces a new resource to be created. Must be globally unique. See the [Microsoft documentation](https://docs.microsoft.com/azure/data-factory/naming-rules) for all restrictions.\n"},"parameters":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of parameters to associate with the Data Factory Dataset Azure SQL Table.\n"},"schema":{"type":"string","description":"The schema name of the table in the Azure SQL Database.\n"},"schemaColumns":{"type":"array","items":{"$ref":"#/types/azure:datafactory/DatasetAzureSqlTableSchemaColumn:DatasetAzureSqlTableSchemaColumn"},"description":"A \u003cspan pulumi-lang-nodejs=\"`schemaColumn`\" pulumi-lang-dotnet=\"`SchemaColumn`\" pulumi-lang-go=\"`schemaColumn`\" pulumi-lang-python=\"`schema_column`\" pulumi-lang-yaml=\"`schemaColumn`\" pulumi-lang-java=\"`schemaColumn`\"\u003e`schema_column`\u003c/span\u003e block as defined below.\n"},"table":{"type":"string","description":"The table name of the table in the Azure SQL Database.\n"}},"required":["dataFactoryId","linkedServiceId","name"],"inputProperties":{"additionalProperties":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of additional properties to associate with the Data Factory Dataset Azure SQL Table.\n"},"annotations":{"type":"array","items":{"type":"string"},"description":"List of tags that can be used for describing the Data Factory Dataset Azure SQL Table.\n"},"dataFactoryId":{"type":"string","description":"The Data Factory ID in which to associate the Linked Service with. Changing this forces a new resource.\n","willReplaceOnChanges":true},"description":{"type":"string","description":"The description for the Data Factory Dataset Azure SQL Table.\n"},"folder":{"type":"string","description":"The folder that this Dataset is in. If not specified, the Dataset will appear at the root level.\n"},"linkedServiceId":{"type":"string","description":"The Data Factory Linked Service ID in which to associate the Dataset with.\n"},"name":{"type":"string","description":"Specifies the name of the Data Factory Dataset Azure SQL Table. Changing this forces a new resource to be created. Must be globally unique. See the [Microsoft documentation](https://docs.microsoft.com/azure/data-factory/naming-rules) for all restrictions.\n","willReplaceOnChanges":true},"parameters":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of parameters to associate with the Data Factory Dataset Azure SQL Table.\n"},"schema":{"type":"string","description":"The schema name of the table in the Azure SQL Database.\n"},"schemaColumns":{"type":"array","items":{"$ref":"#/types/azure:datafactory/DatasetAzureSqlTableSchemaColumn:DatasetAzureSqlTableSchemaColumn"},"description":"A \u003cspan pulumi-lang-nodejs=\"`schemaColumn`\" pulumi-lang-dotnet=\"`SchemaColumn`\" pulumi-lang-go=\"`schemaColumn`\" pulumi-lang-python=\"`schema_column`\" pulumi-lang-yaml=\"`schemaColumn`\" pulumi-lang-java=\"`schemaColumn`\"\u003e`schema_column`\u003c/span\u003e block as defined below.\n"},"table":{"type":"string","description":"The table name of the table in the Azure SQL Database.\n"}},"requiredInputs":["dataFactoryId","linkedServiceId"],"stateInputs":{"description":"Input properties used for looking up and filtering DatasetAzureSqlTable resources.\n","properties":{"additionalProperties":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of additional properties to associate with the Data Factory Dataset Azure SQL Table.\n"},"annotations":{"type":"array","items":{"type":"string"},"description":"List of tags that can be used for describing the Data Factory Dataset Azure SQL Table.\n"},"dataFactoryId":{"type":"string","description":"The Data Factory ID in which to associate the Linked Service with. Changing this forces a new resource.\n","willReplaceOnChanges":true},"description":{"type":"string","description":"The description for the Data Factory Dataset Azure SQL Table.\n"},"folder":{"type":"string","description":"The folder that this Dataset is in. If not specified, the Dataset will appear at the root level.\n"},"linkedServiceId":{"type":"string","description":"The Data Factory Linked Service ID in which to associate the Dataset with.\n"},"name":{"type":"string","description":"Specifies the name of the Data Factory Dataset Azure SQL Table. Changing this forces a new resource to be created. Must be globally unique. See the [Microsoft documentation](https://docs.microsoft.com/azure/data-factory/naming-rules) for all restrictions.\n","willReplaceOnChanges":true},"parameters":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of parameters to associate with the Data Factory Dataset Azure SQL Table.\n"},"schema":{"type":"string","description":"The schema name of the table in the Azure SQL Database.\n"},"schemaColumns":{"type":"array","items":{"$ref":"#/types/azure:datafactory/DatasetAzureSqlTableSchemaColumn:DatasetAzureSqlTableSchemaColumn"},"description":"A \u003cspan pulumi-lang-nodejs=\"`schemaColumn`\" pulumi-lang-dotnet=\"`SchemaColumn`\" pulumi-lang-go=\"`schemaColumn`\" pulumi-lang-python=\"`schema_column`\" pulumi-lang-yaml=\"`schemaColumn`\" pulumi-lang-java=\"`schemaColumn`\"\u003e`schema_column`\u003c/span\u003e block as defined below.\n"},"table":{"type":"string","description":"The table name of the table in the Azure SQL Database.\n"}},"type":"object"}},"azure:datafactory/datasetBinary:DatasetBinary":{"description":"Manages a Data Factory Binary Dataset inside an Azure Data Factory.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example\",\n    location: \"West Europe\",\n});\nconst exampleFactory = new azure.datafactory.Factory(\"example\", {\n    name: \"example\",\n    location: example.location,\n    resourceGroupName: example.name,\n});\nconst exampleLinkedServiceSftp = new azure.datafactory.LinkedServiceSftp(\"example\", {\n    name: \"example\",\n    dataFactoryId: exampleFactory.id,\n    authenticationType: \"Basic\",\n    host: \"http://www.bing.com\",\n    port: 22,\n    username: \"foo\",\n    password: \"bar\",\n});\nconst exampleDatasetBinary = new azure.datafactory.DatasetBinary(\"example\", {\n    name: \"example\",\n    dataFactoryId: exampleFactory.id,\n    linkedServiceName: exampleLinkedServiceSftp.name,\n    sftpServerLocation: {\n        path: \"/test/\",\n        filename: \"**\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example\",\n    location=\"West Europe\")\nexample_factory = azure.datafactory.Factory(\"example\",\n    name=\"example\",\n    location=example.location,\n    resource_group_name=example.name)\nexample_linked_service_sftp = azure.datafactory.LinkedServiceSftp(\"example\",\n    name=\"example\",\n    data_factory_id=example_factory.id,\n    authentication_type=\"Basic\",\n    host=\"http://www.bing.com\",\n    port=22,\n    username=\"foo\",\n    password=\"bar\")\nexample_dataset_binary = azure.datafactory.DatasetBinary(\"example\",\n    name=\"example\",\n    data_factory_id=example_factory.id,\n    linked_service_name=example_linked_service_sftp.name,\n    sftp_server_location={\n        \"path\": \"/test/\",\n        \"filename\": \"**\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example\",\n        Location = \"West Europe\",\n    });\n\n    var exampleFactory = new Azure.DataFactory.Factory(\"example\", new()\n    {\n        Name = \"example\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n    });\n\n    var exampleLinkedServiceSftp = new Azure.DataFactory.LinkedServiceSftp(\"example\", new()\n    {\n        Name = \"example\",\n        DataFactoryId = exampleFactory.Id,\n        AuthenticationType = \"Basic\",\n        Host = \"http://www.bing.com\",\n        Port = 22,\n        Username = \"foo\",\n        Password = \"bar\",\n    });\n\n    var exampleDatasetBinary = new Azure.DataFactory.DatasetBinary(\"example\", new()\n    {\n        Name = \"example\",\n        DataFactoryId = exampleFactory.Id,\n        LinkedServiceName = exampleLinkedServiceSftp.Name,\n        SftpServerLocation = new Azure.DataFactory.Inputs.DatasetBinarySftpServerLocationArgs\n        {\n            Path = \"/test/\",\n            Filename = \"**\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/datafactory\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleFactory, err := datafactory.NewFactory(ctx, \"example\", \u0026datafactory.FactoryArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleLinkedServiceSftp, err := datafactory.NewLinkedServiceSftp(ctx, \"example\", \u0026datafactory.LinkedServiceSftpArgs{\n\t\t\tName:               pulumi.String(\"example\"),\n\t\t\tDataFactoryId:      exampleFactory.ID(),\n\t\t\tAuthenticationType: pulumi.String(\"Basic\"),\n\t\t\tHost:               pulumi.String(\"http://www.bing.com\"),\n\t\t\tPort:               pulumi.Int(22),\n\t\t\tUsername:           pulumi.String(\"foo\"),\n\t\t\tPassword:           pulumi.String(\"bar\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = datafactory.NewDatasetBinary(ctx, \"example\", \u0026datafactory.DatasetBinaryArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tDataFactoryId:     exampleFactory.ID(),\n\t\t\tLinkedServiceName: exampleLinkedServiceSftp.Name,\n\t\t\tSftpServerLocation: \u0026datafactory.DatasetBinarySftpServerLocationArgs{\n\t\t\t\tPath:     pulumi.String(\"/test/\"),\n\t\t\t\tFilename: pulumi.String(\"**\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.datafactory.Factory;\nimport com.pulumi.azure.datafactory.FactoryArgs;\nimport com.pulumi.azure.datafactory.LinkedServiceSftp;\nimport com.pulumi.azure.datafactory.LinkedServiceSftpArgs;\nimport com.pulumi.azure.datafactory.DatasetBinary;\nimport com.pulumi.azure.datafactory.DatasetBinaryArgs;\nimport com.pulumi.azure.datafactory.inputs.DatasetBinarySftpServerLocationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleFactory = new Factory(\"exampleFactory\", FactoryArgs.builder()\n            .name(\"example\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .build());\n\n        var exampleLinkedServiceSftp = new LinkedServiceSftp(\"exampleLinkedServiceSftp\", LinkedServiceSftpArgs.builder()\n            .name(\"example\")\n            .dataFactoryId(exampleFactory.id())\n            .authenticationType(\"Basic\")\n            .host(\"http://www.bing.com\")\n            .port(22)\n            .username(\"foo\")\n            .password(\"bar\")\n            .build());\n\n        var exampleDatasetBinary = new DatasetBinary(\"exampleDatasetBinary\", DatasetBinaryArgs.builder()\n            .name(\"example\")\n            .dataFactoryId(exampleFactory.id())\n            .linkedServiceName(exampleLinkedServiceSftp.name())\n            .sftpServerLocation(DatasetBinarySftpServerLocationArgs.builder()\n                .path(\"/test/\")\n                .filename(\"**\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example\n      location: West Europe\n  exampleFactory:\n    type: azure:datafactory:Factory\n    name: example\n    properties:\n      name: example\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n  exampleLinkedServiceSftp:\n    type: azure:datafactory:LinkedServiceSftp\n    name: example\n    properties:\n      name: example\n      dataFactoryId: ${exampleFactory.id}\n      authenticationType: Basic\n      host: http://www.bing.com\n      port: 22\n      username: foo\n      password: bar\n  exampleDatasetBinary:\n    type: azure:datafactory:DatasetBinary\n    name: example\n    properties:\n      name: example\n      dataFactoryId: ${exampleFactory.id}\n      linkedServiceName: ${exampleLinkedServiceSftp.name}\n      sftpServerLocation:\n        path: /test/\n        filename: '**'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nData Factory Binary Datasets can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:datafactory/datasetBinary:DatasetBinary example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/example/providers/Microsoft.DataFactory/factories/example/datasets/example\n```\n\n","properties":{"additionalProperties":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of additional properties to associate with the Data Factory Binary Dataset.\n"},"annotations":{"type":"array","items":{"type":"string"},"description":"List of tags that can be used for describing the Data Factory Binary Dataset.\n"},"azureBlobStorageLocation":{"$ref":"#/types/azure:datafactory/DatasetBinaryAzureBlobStorageLocation:DatasetBinaryAzureBlobStorageLocation","description":"A \u003cspan pulumi-lang-nodejs=\"`azureBlobStorageLocation`\" pulumi-lang-dotnet=\"`AzureBlobStorageLocation`\" pulumi-lang-go=\"`azureBlobStorageLocation`\" pulumi-lang-python=\"`azure_blob_storage_location`\" pulumi-lang-yaml=\"`azureBlobStorageLocation`\" pulumi-lang-java=\"`azureBlobStorageLocation`\"\u003e`azure_blob_storage_location`\u003c/span\u003e block as defined below.\n"},"compression":{"$ref":"#/types/azure:datafactory/DatasetBinaryCompression:DatasetBinaryCompression","description":"A \u003cspan pulumi-lang-nodejs=\"`compression`\" pulumi-lang-dotnet=\"`Compression`\" pulumi-lang-go=\"`compression`\" pulumi-lang-python=\"`compression`\" pulumi-lang-yaml=\"`compression`\" pulumi-lang-java=\"`compression`\"\u003e`compression`\u003c/span\u003e block as defined below.\n"},"dataFactoryId":{"type":"string","description":"The Data Factory ID in which to associate the Linked Service with. Changing this forces a new resource.\n"},"description":{"type":"string","description":"The description for the Data Factory Dataset.\n"},"folder":{"type":"string","description":"The folder that this Dataset is in. If not specified, the Dataset will appear at the root level.\n"},"httpServerLocation":{"$ref":"#/types/azure:datafactory/DatasetBinaryHttpServerLocation:DatasetBinaryHttpServerLocation","description":"A \u003cspan pulumi-lang-nodejs=\"`httpServerLocation`\" pulumi-lang-dotnet=\"`HttpServerLocation`\" pulumi-lang-go=\"`httpServerLocation`\" pulumi-lang-python=\"`http_server_location`\" pulumi-lang-yaml=\"`httpServerLocation`\" pulumi-lang-java=\"`httpServerLocation`\"\u003e`http_server_location`\u003c/span\u003e block as defined below.\n"},"linkedServiceName":{"type":"string","description":"The Data Factory Linked Service name in which to associate the Binary Dataset with.\n"},"name":{"type":"string","description":"Specifies the name of the Data Factory Binary Dataset. Changing this forces a new resource to be created. Must be globally unique. See the [Microsoft documentation](https://docs.microsoft.com/azure/data-factory/naming-rules) for all restrictions.\n"},"parameters":{"type":"object","additionalProperties":{"type":"string"},"description":"Specifies a list of parameters to associate with the Data Factory Binary Dataset.\n\nThe following supported locations for a Binary Dataset. One of these should be specified:\n"},"sftpServerLocation":{"$ref":"#/types/azure:datafactory/DatasetBinarySftpServerLocation:DatasetBinarySftpServerLocation","description":"A \u003cspan pulumi-lang-nodejs=\"`sftpServerLocation`\" pulumi-lang-dotnet=\"`SftpServerLocation`\" pulumi-lang-go=\"`sftpServerLocation`\" pulumi-lang-python=\"`sftp_server_location`\" pulumi-lang-yaml=\"`sftpServerLocation`\" pulumi-lang-java=\"`sftpServerLocation`\"\u003e`sftp_server_location`\u003c/span\u003e block as defined below.\n"}},"required":["dataFactoryId","linkedServiceName","name"],"inputProperties":{"additionalProperties":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of additional properties to associate with the Data Factory Binary Dataset.\n"},"annotations":{"type":"array","items":{"type":"string"},"description":"List of tags that can be used for describing the Data Factory Binary Dataset.\n"},"azureBlobStorageLocation":{"$ref":"#/types/azure:datafactory/DatasetBinaryAzureBlobStorageLocation:DatasetBinaryAzureBlobStorageLocation","description":"A \u003cspan pulumi-lang-nodejs=\"`azureBlobStorageLocation`\" pulumi-lang-dotnet=\"`AzureBlobStorageLocation`\" pulumi-lang-go=\"`azureBlobStorageLocation`\" pulumi-lang-python=\"`azure_blob_storage_location`\" pulumi-lang-yaml=\"`azureBlobStorageLocation`\" pulumi-lang-java=\"`azureBlobStorageLocation`\"\u003e`azure_blob_storage_location`\u003c/span\u003e block as defined below.\n"},"compression":{"$ref":"#/types/azure:datafactory/DatasetBinaryCompression:DatasetBinaryCompression","description":"A \u003cspan pulumi-lang-nodejs=\"`compression`\" pulumi-lang-dotnet=\"`Compression`\" pulumi-lang-go=\"`compression`\" pulumi-lang-python=\"`compression`\" pulumi-lang-yaml=\"`compression`\" pulumi-lang-java=\"`compression`\"\u003e`compression`\u003c/span\u003e block as defined below.\n"},"dataFactoryId":{"type":"string","description":"The Data Factory ID in which to associate the Linked Service with. Changing this forces a new resource.\n","willReplaceOnChanges":true},"description":{"type":"string","description":"The description for the Data Factory Dataset.\n"},"folder":{"type":"string","description":"The folder that this Dataset is in. If not specified, the Dataset will appear at the root level.\n"},"httpServerLocation":{"$ref":"#/types/azure:datafactory/DatasetBinaryHttpServerLocation:DatasetBinaryHttpServerLocation","description":"A \u003cspan pulumi-lang-nodejs=\"`httpServerLocation`\" pulumi-lang-dotnet=\"`HttpServerLocation`\" pulumi-lang-go=\"`httpServerLocation`\" pulumi-lang-python=\"`http_server_location`\" pulumi-lang-yaml=\"`httpServerLocation`\" pulumi-lang-java=\"`httpServerLocation`\"\u003e`http_server_location`\u003c/span\u003e block as defined below.\n"},"linkedServiceName":{"type":"string","description":"The Data Factory Linked Service name in which to associate the Binary Dataset with.\n"},"name":{"type":"string","description":"Specifies the name of the Data Factory Binary Dataset. Changing this forces a new resource to be created. Must be globally unique. See the [Microsoft documentation](https://docs.microsoft.com/azure/data-factory/naming-rules) for all restrictions.\n","willReplaceOnChanges":true},"parameters":{"type":"object","additionalProperties":{"type":"string"},"description":"Specifies a list of parameters to associate with the Data Factory Binary Dataset.\n\nThe following supported locations for a Binary Dataset. One of these should be specified:\n"},"sftpServerLocation":{"$ref":"#/types/azure:datafactory/DatasetBinarySftpServerLocation:DatasetBinarySftpServerLocation","description":"A \u003cspan pulumi-lang-nodejs=\"`sftpServerLocation`\" pulumi-lang-dotnet=\"`SftpServerLocation`\" pulumi-lang-go=\"`sftpServerLocation`\" pulumi-lang-python=\"`sftp_server_location`\" pulumi-lang-yaml=\"`sftpServerLocation`\" pulumi-lang-java=\"`sftpServerLocation`\"\u003e`sftp_server_location`\u003c/span\u003e block as defined below.\n"}},"requiredInputs":["dataFactoryId","linkedServiceName"],"stateInputs":{"description":"Input properties used for looking up and filtering DatasetBinary resources.\n","properties":{"additionalProperties":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of additional properties to associate with the Data Factory Binary Dataset.\n"},"annotations":{"type":"array","items":{"type":"string"},"description":"List of tags that can be used for describing the Data Factory Binary Dataset.\n"},"azureBlobStorageLocation":{"$ref":"#/types/azure:datafactory/DatasetBinaryAzureBlobStorageLocation:DatasetBinaryAzureBlobStorageLocation","description":"A \u003cspan pulumi-lang-nodejs=\"`azureBlobStorageLocation`\" pulumi-lang-dotnet=\"`AzureBlobStorageLocation`\" pulumi-lang-go=\"`azureBlobStorageLocation`\" pulumi-lang-python=\"`azure_blob_storage_location`\" pulumi-lang-yaml=\"`azureBlobStorageLocation`\" pulumi-lang-java=\"`azureBlobStorageLocation`\"\u003e`azure_blob_storage_location`\u003c/span\u003e block as defined below.\n"},"compression":{"$ref":"#/types/azure:datafactory/DatasetBinaryCompression:DatasetBinaryCompression","description":"A \u003cspan pulumi-lang-nodejs=\"`compression`\" pulumi-lang-dotnet=\"`Compression`\" pulumi-lang-go=\"`compression`\" pulumi-lang-python=\"`compression`\" pulumi-lang-yaml=\"`compression`\" pulumi-lang-java=\"`compression`\"\u003e`compression`\u003c/span\u003e block as defined below.\n"},"dataFactoryId":{"type":"string","description":"The Data Factory ID in which to associate the Linked Service with. Changing this forces a new resource.\n","willReplaceOnChanges":true},"description":{"type":"string","description":"The description for the Data Factory Dataset.\n"},"folder":{"type":"string","description":"The folder that this Dataset is in. If not specified, the Dataset will appear at the root level.\n"},"httpServerLocation":{"$ref":"#/types/azure:datafactory/DatasetBinaryHttpServerLocation:DatasetBinaryHttpServerLocation","description":"A \u003cspan pulumi-lang-nodejs=\"`httpServerLocation`\" pulumi-lang-dotnet=\"`HttpServerLocation`\" pulumi-lang-go=\"`httpServerLocation`\" pulumi-lang-python=\"`http_server_location`\" pulumi-lang-yaml=\"`httpServerLocation`\" pulumi-lang-java=\"`httpServerLocation`\"\u003e`http_server_location`\u003c/span\u003e block as defined below.\n"},"linkedServiceName":{"type":"string","description":"The Data Factory Linked Service name in which to associate the Binary Dataset with.\n"},"name":{"type":"string","description":"Specifies the name of the Data Factory Binary Dataset. Changing this forces a new resource to be created. Must be globally unique. See the [Microsoft documentation](https://docs.microsoft.com/azure/data-factory/naming-rules) for all restrictions.\n","willReplaceOnChanges":true},"parameters":{"type":"object","additionalProperties":{"type":"string"},"description":"Specifies a list of parameters to associate with the Data Factory Binary Dataset.\n\nThe following supported locations for a Binary Dataset. One of these should be specified:\n"},"sftpServerLocation":{"$ref":"#/types/azure:datafactory/DatasetBinarySftpServerLocation:DatasetBinarySftpServerLocation","description":"A \u003cspan pulumi-lang-nodejs=\"`sftpServerLocation`\" pulumi-lang-dotnet=\"`SftpServerLocation`\" pulumi-lang-go=\"`sftpServerLocation`\" pulumi-lang-python=\"`sftp_server_location`\" pulumi-lang-yaml=\"`sftpServerLocation`\" pulumi-lang-java=\"`sftpServerLocation`\"\u003e`sftp_server_location`\u003c/span\u003e block as defined below.\n"}},"type":"object"}},"azure:datafactory/datasetCosmosDBApi:DatasetCosmosDBApi":{"description":"Manages an Azure Cosmos DB SQL API Dataset inside an Azure Data Factory.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst example = azure.cosmosdb.getAccount({\n    name: \"tfex-cosmosdb-account\",\n    resourceGroupName: \"tfex-cosmosdb-account-rg\",\n});\nconst exampleFactory = new azure.datafactory.Factory(\"example\", {\n    name: \"example\",\n    location: exampleResourceGroup.location,\n    resourceGroupName: exampleResourceGroup.name,\n});\nconst exampleLinkedServiceCosmosDb = new azure.datafactory.LinkedServiceCosmosDb(\"example\", {\n    name: \"example\",\n    dataFactoryId: exampleFactory.id,\n    accountEndpoint: example.then(example =\u003e example.endpoint),\n    database: \"foo\",\n});\nconst exampleDatasetCosmosDBApi = new azure.datafactory.DatasetCosmosDBApi(\"example\", {\n    name: \"example\",\n    dataFactoryId: exampleFactory.id,\n    linkedServiceName: exampleLinkedServiceCosmosDb.name,\n    collectionName: \"bar\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample = azure.cosmosdb.get_account(name=\"tfex-cosmosdb-account\",\n    resource_group_name=\"tfex-cosmosdb-account-rg\")\nexample_factory = azure.datafactory.Factory(\"example\",\n    name=\"example\",\n    location=example_resource_group.location,\n    resource_group_name=example_resource_group.name)\nexample_linked_service_cosmos_db = azure.datafactory.LinkedServiceCosmosDb(\"example\",\n    name=\"example\",\n    data_factory_id=example_factory.id,\n    account_endpoint=example.endpoint,\n    database=\"foo\")\nexample_dataset_cosmos_db_api = azure.datafactory.DatasetCosmosDBApi(\"example\",\n    name=\"example\",\n    data_factory_id=example_factory.id,\n    linked_service_name=example_linked_service_cosmos_db.name,\n    collection_name=\"bar\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleResourceGroup = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var example = Azure.CosmosDB.GetAccount.Invoke(new()\n    {\n        Name = \"tfex-cosmosdb-account\",\n        ResourceGroupName = \"tfex-cosmosdb-account-rg\",\n    });\n\n    var exampleFactory = new Azure.DataFactory.Factory(\"example\", new()\n    {\n        Name = \"example\",\n        Location = exampleResourceGroup.Location,\n        ResourceGroupName = exampleResourceGroup.Name,\n    });\n\n    var exampleLinkedServiceCosmosDb = new Azure.DataFactory.LinkedServiceCosmosDb(\"example\", new()\n    {\n        Name = \"example\",\n        DataFactoryId = exampleFactory.Id,\n        AccountEndpoint = example.Apply(getAccountResult =\u003e getAccountResult.Endpoint),\n        Database = \"foo\",\n    });\n\n    var exampleDatasetCosmosDBApi = new Azure.DataFactory.DatasetCosmosDBApi(\"example\", new()\n    {\n        Name = \"example\",\n        DataFactoryId = exampleFactory.Id,\n        LinkedServiceName = exampleLinkedServiceCosmosDb.Name,\n        CollectionName = \"bar\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/cosmosdb\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/datafactory\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := cosmosdb.LookupAccount(ctx, \u0026cosmosdb.LookupAccountArgs{\n\t\t\tName:              \"tfex-cosmosdb-account\",\n\t\t\tResourceGroupName: \"tfex-cosmosdb-account-rg\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleFactory, err := datafactory.NewFactory(ctx, \"example\", \u0026datafactory.FactoryArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tLocation:          exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleLinkedServiceCosmosDb, err := datafactory.NewLinkedServiceCosmosDb(ctx, \"example\", \u0026datafactory.LinkedServiceCosmosDbArgs{\n\t\t\tName:            pulumi.String(\"example\"),\n\t\t\tDataFactoryId:   exampleFactory.ID(),\n\t\t\tAccountEndpoint: pulumi.String(example.Endpoint),\n\t\t\tDatabase:        pulumi.String(\"foo\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = datafactory.NewDatasetCosmosDBApi(ctx, \"example\", \u0026datafactory.DatasetCosmosDBApiArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tDataFactoryId:     exampleFactory.ID(),\n\t\t\tLinkedServiceName: exampleLinkedServiceCosmosDb.Name,\n\t\t\tCollectionName:    pulumi.String(\"bar\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.cosmosdb.CosmosdbFunctions;\nimport com.pulumi.azure.cosmosdb.inputs.GetAccountArgs;\nimport com.pulumi.azure.datafactory.Factory;\nimport com.pulumi.azure.datafactory.FactoryArgs;\nimport com.pulumi.azure.datafactory.LinkedServiceCosmosDb;\nimport com.pulumi.azure.datafactory.LinkedServiceCosmosDbArgs;\nimport com.pulumi.azure.datafactory.DatasetCosmosDBApi;\nimport com.pulumi.azure.datafactory.DatasetCosmosDBApiArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var exampleResourceGroup = new ResourceGroup(\"exampleResourceGroup\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        final var example = CosmosdbFunctions.getAccount(GetAccountArgs.builder()\n            .name(\"tfex-cosmosdb-account\")\n            .resourceGroupName(\"tfex-cosmosdb-account-rg\")\n            .build());\n\n        var exampleFactory = new Factory(\"exampleFactory\", FactoryArgs.builder()\n            .name(\"example\")\n            .location(exampleResourceGroup.location())\n            .resourceGroupName(exampleResourceGroup.name())\n            .build());\n\n        var exampleLinkedServiceCosmosDb = new LinkedServiceCosmosDb(\"exampleLinkedServiceCosmosDb\", LinkedServiceCosmosDbArgs.builder()\n            .name(\"example\")\n            .dataFactoryId(exampleFactory.id())\n            .accountEndpoint(example.endpoint())\n            .database(\"foo\")\n            .build());\n\n        var exampleDatasetCosmosDBApi = new DatasetCosmosDBApi(\"exampleDatasetCosmosDBApi\", DatasetCosmosDBApiArgs.builder()\n            .name(\"example\")\n            .dataFactoryId(exampleFactory.id())\n            .linkedServiceName(exampleLinkedServiceCosmosDb.name())\n            .collectionName(\"bar\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleResourceGroup:\n    type: azure:core:ResourceGroup\n    name: example\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleFactory:\n    type: azure:datafactory:Factory\n    name: example\n    properties:\n      name: example\n      location: ${exampleResourceGroup.location}\n      resourceGroupName: ${exampleResourceGroup.name}\n  exampleLinkedServiceCosmosDb:\n    type: azure:datafactory:LinkedServiceCosmosDb\n    name: example\n    properties:\n      name: example\n      dataFactoryId: ${exampleFactory.id}\n      accountEndpoint: ${example.endpoint}\n      database: foo\n  exampleDatasetCosmosDBApi:\n    type: azure:datafactory:DatasetCosmosDBApi\n    name: example\n    properties:\n      name: example\n      dataFactoryId: ${exampleFactory.id}\n      linkedServiceName: ${exampleLinkedServiceCosmosDb.name}\n      collectionName: bar\nvariables:\n  example:\n    fn::invoke:\n      function: azure:cosmosdb:getAccount\n      arguments:\n        name: tfex-cosmosdb-account\n        resourceGroupName: tfex-cosmosdb-account-rg\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nData Factory Datasets can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:datafactory/datasetCosmosDBApi:DatasetCosmosDBApi example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/example/providers/Microsoft.DataFactory/factories/example/datasets/example\n```\n\n","properties":{"additionalProperties":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of additional properties to associate with the Data Factory Dataset.\n\nThe following supported arguments are specific to Azure Cosmos DB SQL API Dataset:\n"},"annotations":{"type":"array","items":{"type":"string"},"description":"List of tags that can be used for describing the Data Factory Dataset.\n"},"collectionName":{"type":"string","description":"The collection name of the Data Factory Dataset Azure Cosmos DB SQL API.\n"},"dataFactoryId":{"type":"string","description":"The Data Factory ID in which to associate the Linked Service with. Changing this forces a new resource.\n"},"description":{"type":"string","description":"The description for the Data Factory Dataset.\n"},"folder":{"type":"string","description":"The folder that this Dataset is in. If not specified, the Dataset will appear at the root level.\n"},"linkedServiceName":{"type":"string","description":"The Data Factory Linked Service name in which to associate the Dataset with.\n"},"name":{"type":"string","description":"Specifies the name of the Data Factory Dataset. Changing this forces a new resource to be created. Must be globally unique. See the [Microsoft documentation](https://docs.microsoft.com/azure/data-factory/naming-rules) for all restrictions.\n"},"parameters":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of parameters to associate with the Data Factory Dataset.\n"},"schemaColumns":{"type":"array","items":{"$ref":"#/types/azure:datafactory/DatasetCosmosDBApiSchemaColumn:DatasetCosmosDBApiSchemaColumn"},"description":"A \u003cspan pulumi-lang-nodejs=\"`schemaColumn`\" pulumi-lang-dotnet=\"`SchemaColumn`\" pulumi-lang-go=\"`schemaColumn`\" pulumi-lang-python=\"`schema_column`\" pulumi-lang-yaml=\"`schemaColumn`\" pulumi-lang-java=\"`schemaColumn`\"\u003e`schema_column`\u003c/span\u003e block as defined below.\n"}},"required":["dataFactoryId","linkedServiceName","name"],"inputProperties":{"additionalProperties":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of additional properties to associate with the Data Factory Dataset.\n\nThe following supported arguments are specific to Azure Cosmos DB SQL API Dataset:\n"},"annotations":{"type":"array","items":{"type":"string"},"description":"List of tags that can be used for describing the Data Factory Dataset.\n"},"collectionName":{"type":"string","description":"The collection name of the Data Factory Dataset Azure Cosmos DB SQL API.\n"},"dataFactoryId":{"type":"string","description":"The Data Factory ID in which to associate the Linked Service with. Changing this forces a new resource.\n","willReplaceOnChanges":true},"description":{"type":"string","description":"The description for the Data Factory Dataset.\n"},"folder":{"type":"string","description":"The folder that this Dataset is in. If not specified, the Dataset will appear at the root level.\n"},"linkedServiceName":{"type":"string","description":"The Data Factory Linked Service name in which to associate the Dataset with.\n"},"name":{"type":"string","description":"Specifies the name of the Data Factory Dataset. Changing this forces a new resource to be created. Must be globally unique. See the [Microsoft documentation](https://docs.microsoft.com/azure/data-factory/naming-rules) for all restrictions.\n","willReplaceOnChanges":true},"parameters":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of parameters to associate with the Data Factory Dataset.\n"},"schemaColumns":{"type":"array","items":{"$ref":"#/types/azure:datafactory/DatasetCosmosDBApiSchemaColumn:DatasetCosmosDBApiSchemaColumn"},"description":"A \u003cspan pulumi-lang-nodejs=\"`schemaColumn`\" pulumi-lang-dotnet=\"`SchemaColumn`\" pulumi-lang-go=\"`schemaColumn`\" pulumi-lang-python=\"`schema_column`\" pulumi-lang-yaml=\"`schemaColumn`\" pulumi-lang-java=\"`schemaColumn`\"\u003e`schema_column`\u003c/span\u003e block as defined below.\n"}},"requiredInputs":["dataFactoryId","linkedServiceName"],"stateInputs":{"description":"Input properties used for looking up and filtering DatasetCosmosDBApi resources.\n","properties":{"additionalProperties":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of additional properties to associate with the Data Factory Dataset.\n\nThe following supported arguments are specific to Azure Cosmos DB SQL API Dataset:\n"},"annotations":{"type":"array","items":{"type":"string"},"description":"List of tags that can be used for describing the Data Factory Dataset.\n"},"collectionName":{"type":"string","description":"The collection name of the Data Factory Dataset Azure Cosmos DB SQL API.\n"},"dataFactoryId":{"type":"string","description":"The Data Factory ID in which to associate the Linked Service with. Changing this forces a new resource.\n","willReplaceOnChanges":true},"description":{"type":"string","description":"The description for the Data Factory Dataset.\n"},"folder":{"type":"string","description":"The folder that this Dataset is in. If not specified, the Dataset will appear at the root level.\n"},"linkedServiceName":{"type":"string","description":"The Data Factory Linked Service name in which to associate the Dataset with.\n"},"name":{"type":"string","description":"Specifies the name of the Data Factory Dataset. Changing this forces a new resource to be created. Must be globally unique. See the [Microsoft documentation](https://docs.microsoft.com/azure/data-factory/naming-rules) for all restrictions.\n","willReplaceOnChanges":true},"parameters":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of parameters to associate with the Data Factory Dataset.\n"},"schemaColumns":{"type":"array","items":{"$ref":"#/types/azure:datafactory/DatasetCosmosDBApiSchemaColumn:DatasetCosmosDBApiSchemaColumn"},"description":"A \u003cspan pulumi-lang-nodejs=\"`schemaColumn`\" pulumi-lang-dotnet=\"`SchemaColumn`\" pulumi-lang-go=\"`schemaColumn`\" pulumi-lang-python=\"`schema_column`\" pulumi-lang-yaml=\"`schemaColumn`\" pulumi-lang-java=\"`schemaColumn`\"\u003e`schema_column`\u003c/span\u003e block as defined below.\n"}},"type":"object"}},"azure:datafactory/datasetDelimitedText:DatasetDelimitedText":{"description":"Manages an Azure Delimited Text Dataset inside an Azure Data Factory.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleFactory = new azure.datafactory.Factory(\"example\", {\n    name: \"example\",\n    location: example.location,\n    resourceGroupName: example.name,\n});\nconst exampleLinkedServiceWeb = new azure.datafactory.LinkedServiceWeb(\"example\", {\n    name: \"example\",\n    dataFactoryId: exampleFactory.id,\n    authenticationType: \"Anonymous\",\n    url: \"https://www.bing.com\",\n});\nconst exampleDatasetDelimitedText = new azure.datafactory.DatasetDelimitedText(\"example\", {\n    name: \"example\",\n    dataFactoryId: exampleFactory.id,\n    linkedServiceName: exampleLinkedServiceWeb.name,\n    httpServerLocation: {\n        relativeUrl: \"http://www.bing.com\",\n        path: \"foo/bar/\",\n        filename: \"fizz.txt\",\n    },\n    columnDelimiter: \",\",\n    rowDelimiter: \"NEW\",\n    encoding: \"UTF-8\",\n    quoteCharacter: \"x\",\n    escapeCharacter: \"f\",\n    firstRowAsHeader: true,\n    nullValue: \"NULL\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_factory = azure.datafactory.Factory(\"example\",\n    name=\"example\",\n    location=example.location,\n    resource_group_name=example.name)\nexample_linked_service_web = azure.datafactory.LinkedServiceWeb(\"example\",\n    name=\"example\",\n    data_factory_id=example_factory.id,\n    authentication_type=\"Anonymous\",\n    url=\"https://www.bing.com\")\nexample_dataset_delimited_text = azure.datafactory.DatasetDelimitedText(\"example\",\n    name=\"example\",\n    data_factory_id=example_factory.id,\n    linked_service_name=example_linked_service_web.name,\n    http_server_location={\n        \"relative_url\": \"http://www.bing.com\",\n        \"path\": \"foo/bar/\",\n        \"filename\": \"fizz.txt\",\n    },\n    column_delimiter=\",\",\n    row_delimiter=\"NEW\",\n    encoding=\"UTF-8\",\n    quote_character=\"x\",\n    escape_character=\"f\",\n    first_row_as_header=True,\n    null_value=\"NULL\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleFactory = new Azure.DataFactory.Factory(\"example\", new()\n    {\n        Name = \"example\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n    });\n\n    var exampleLinkedServiceWeb = new Azure.DataFactory.LinkedServiceWeb(\"example\", new()\n    {\n        Name = \"example\",\n        DataFactoryId = exampleFactory.Id,\n        AuthenticationType = \"Anonymous\",\n        Url = \"https://www.bing.com\",\n    });\n\n    var exampleDatasetDelimitedText = new Azure.DataFactory.DatasetDelimitedText(\"example\", new()\n    {\n        Name = \"example\",\n        DataFactoryId = exampleFactory.Id,\n        LinkedServiceName = exampleLinkedServiceWeb.Name,\n        HttpServerLocation = new Azure.DataFactory.Inputs.DatasetDelimitedTextHttpServerLocationArgs\n        {\n            RelativeUrl = \"http://www.bing.com\",\n            Path = \"foo/bar/\",\n            Filename = \"fizz.txt\",\n        },\n        ColumnDelimiter = \",\",\n        RowDelimiter = \"NEW\",\n        Encoding = \"UTF-8\",\n        QuoteCharacter = \"x\",\n        EscapeCharacter = \"f\",\n        FirstRowAsHeader = true,\n        NullValue = \"NULL\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/datafactory\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleFactory, err := datafactory.NewFactory(ctx, \"example\", \u0026datafactory.FactoryArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleLinkedServiceWeb, err := datafactory.NewLinkedServiceWeb(ctx, \"example\", \u0026datafactory.LinkedServiceWebArgs{\n\t\t\tName:               pulumi.String(\"example\"),\n\t\t\tDataFactoryId:      exampleFactory.ID(),\n\t\t\tAuthenticationType: pulumi.String(\"Anonymous\"),\n\t\t\tUrl:                pulumi.String(\"https://www.bing.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = datafactory.NewDatasetDelimitedText(ctx, \"example\", \u0026datafactory.DatasetDelimitedTextArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tDataFactoryId:     exampleFactory.ID(),\n\t\t\tLinkedServiceName: exampleLinkedServiceWeb.Name,\n\t\t\tHttpServerLocation: \u0026datafactory.DatasetDelimitedTextHttpServerLocationArgs{\n\t\t\t\tRelativeUrl: pulumi.String(\"http://www.bing.com\"),\n\t\t\t\tPath:        pulumi.String(\"foo/bar/\"),\n\t\t\t\tFilename:    pulumi.String(\"fizz.txt\"),\n\t\t\t},\n\t\t\tColumnDelimiter:  pulumi.String(\",\"),\n\t\t\tRowDelimiter:     pulumi.String(\"NEW\"),\n\t\t\tEncoding:         pulumi.String(\"UTF-8\"),\n\t\t\tQuoteCharacter:   pulumi.String(\"x\"),\n\t\t\tEscapeCharacter:  pulumi.String(\"f\"),\n\t\t\tFirstRowAsHeader: pulumi.Bool(true),\n\t\t\tNullValue:        pulumi.String(\"NULL\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.datafactory.Factory;\nimport com.pulumi.azure.datafactory.FactoryArgs;\nimport com.pulumi.azure.datafactory.LinkedServiceWeb;\nimport com.pulumi.azure.datafactory.LinkedServiceWebArgs;\nimport com.pulumi.azure.datafactory.DatasetDelimitedText;\nimport com.pulumi.azure.datafactory.DatasetDelimitedTextArgs;\nimport com.pulumi.azure.datafactory.inputs.DatasetDelimitedTextHttpServerLocationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleFactory = new Factory(\"exampleFactory\", FactoryArgs.builder()\n            .name(\"example\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .build());\n\n        var exampleLinkedServiceWeb = new LinkedServiceWeb(\"exampleLinkedServiceWeb\", LinkedServiceWebArgs.builder()\n            .name(\"example\")\n            .dataFactoryId(exampleFactory.id())\n            .authenticationType(\"Anonymous\")\n            .url(\"https://www.bing.com\")\n            .build());\n\n        var exampleDatasetDelimitedText = new DatasetDelimitedText(\"exampleDatasetDelimitedText\", DatasetDelimitedTextArgs.builder()\n            .name(\"example\")\n            .dataFactoryId(exampleFactory.id())\n            .linkedServiceName(exampleLinkedServiceWeb.name())\n            .httpServerLocation(DatasetDelimitedTextHttpServerLocationArgs.builder()\n                .relativeUrl(\"http://www.bing.com\")\n                .path(\"foo/bar/\")\n                .filename(\"fizz.txt\")\n                .build())\n            .columnDelimiter(\",\")\n            .rowDelimiter(\"NEW\")\n            .encoding(\"UTF-8\")\n            .quoteCharacter(\"x\")\n            .escapeCharacter(\"f\")\n            .firstRowAsHeader(true)\n            .nullValue(\"NULL\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleFactory:\n    type: azure:datafactory:Factory\n    name: example\n    properties:\n      name: example\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n  exampleLinkedServiceWeb:\n    type: azure:datafactory:LinkedServiceWeb\n    name: example\n    properties:\n      name: example\n      dataFactoryId: ${exampleFactory.id}\n      authenticationType: Anonymous\n      url: https://www.bing.com\n  exampleDatasetDelimitedText:\n    type: azure:datafactory:DatasetDelimitedText\n    name: example\n    properties:\n      name: example\n      dataFactoryId: ${exampleFactory.id}\n      linkedServiceName: ${exampleLinkedServiceWeb.name}\n      httpServerLocation:\n        relativeUrl: http://www.bing.com\n        path: foo/bar/\n        filename: fizz.txt\n      columnDelimiter: ','\n      rowDelimiter: NEW\n      encoding: UTF-8\n      quoteCharacter: x\n      escapeCharacter: f\n      firstRowAsHeader: true\n      nullValue: NULL\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nData Factory Datasets can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:datafactory/datasetDelimitedText:DatasetDelimitedText example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/example/providers/Microsoft.DataFactory/factories/example/datasets/example\n```\n\n","properties":{"additionalProperties":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of additional properties to associate with the Data Factory Dataset.\n\nThe following supported locations for a Delimited Text Dataset (exactly one of them must be set):\n"},"annotations":{"type":"array","items":{"type":"string"},"description":"List of tags that can be used for describing the Data Factory Dataset.\n"},"azureBlobFsLocation":{"$ref":"#/types/azure:datafactory/DatasetDelimitedTextAzureBlobFsLocation:DatasetDelimitedTextAzureBlobFsLocation","description":"An \u003cspan pulumi-lang-nodejs=\"`azureBlobFsLocation`\" pulumi-lang-dotnet=\"`AzureBlobFsLocation`\" pulumi-lang-go=\"`azureBlobFsLocation`\" pulumi-lang-python=\"`azure_blob_fs_location`\" pulumi-lang-yaml=\"`azureBlobFsLocation`\" pulumi-lang-java=\"`azureBlobFsLocation`\"\u003e`azure_blob_fs_location`\u003c/span\u003e block as defined below.\n"},"azureBlobStorageLocation":{"$ref":"#/types/azure:datafactory/DatasetDelimitedTextAzureBlobStorageLocation:DatasetDelimitedTextAzureBlobStorageLocation","description":"An \u003cspan pulumi-lang-nodejs=\"`azureBlobStorageLocation`\" pulumi-lang-dotnet=\"`AzureBlobStorageLocation`\" pulumi-lang-go=\"`azureBlobStorageLocation`\" pulumi-lang-python=\"`azure_blob_storage_location`\" pulumi-lang-yaml=\"`azureBlobStorageLocation`\" pulumi-lang-java=\"`azureBlobStorageLocation`\"\u003e`azure_blob_storage_location`\u003c/span\u003e block as defined below.\n"},"columnDelimiter":{"type":"string","description":"The column delimiter. Defaults to `,`.\n"},"compressionCodec":{"type":"string","description":"The compression codec used to read/write text files. Valid values are `None`, \u003cspan pulumi-lang-nodejs=\"`bzip2`\" pulumi-lang-dotnet=\"`Bzip2`\" pulumi-lang-go=\"`bzip2`\" pulumi-lang-python=\"`bzip2`\" pulumi-lang-yaml=\"`bzip2`\" pulumi-lang-java=\"`bzip2`\"\u003e`bzip2`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`gzip`\" pulumi-lang-dotnet=\"`Gzip`\" pulumi-lang-go=\"`gzip`\" pulumi-lang-python=\"`gzip`\" pulumi-lang-yaml=\"`gzip`\" pulumi-lang-java=\"`gzip`\"\u003e`gzip`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`deflate`\" pulumi-lang-dotnet=\"`Deflate`\" pulumi-lang-go=\"`deflate`\" pulumi-lang-python=\"`deflate`\" pulumi-lang-yaml=\"`deflate`\" pulumi-lang-java=\"`deflate`\"\u003e`deflate`\u003c/span\u003e, `ZipDeflate`, `TarGzip`, `Tar`, \u003cspan pulumi-lang-nodejs=\"`snappy`\" pulumi-lang-dotnet=\"`Snappy`\" pulumi-lang-go=\"`snappy`\" pulumi-lang-python=\"`snappy`\" pulumi-lang-yaml=\"`snappy`\" pulumi-lang-java=\"`snappy`\"\u003e`snappy`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`lz4`\" pulumi-lang-dotnet=\"`Lz4`\" pulumi-lang-go=\"`lz4`\" pulumi-lang-python=\"`lz4`\" pulumi-lang-yaml=\"`lz4`\" pulumi-lang-java=\"`lz4`\"\u003e`lz4`\u003c/span\u003e. Please note these values are case sensitive.\n"},"compressionLevel":{"type":"string","description":"The compression ratio for the Data Factory Dataset. Valid values are `Fastest` or `Optimal`. Please note these values are case sensitive.\n"},"dataFactoryId":{"type":"string","description":"The Data Factory ID in which to associate the Linked Service with. Changing this forces a new resource.\n"},"description":{"type":"string","description":"The description for the Data Factory Dataset.\n"},"encoding":{"type":"string","description":"The encoding format for the file.\n"},"escapeCharacter":{"type":"string","description":"The escape character. Defaults to `\\`.\n"},"firstRowAsHeader":{"type":"boolean","description":"When used as input, treat the first row of data as headers. When used as output, write the headers into the output as the first row of data. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"folder":{"type":"string","description":"The folder that this Dataset is in. If not specified, the Dataset will appear at the root level.\n"},"httpServerLocation":{"$ref":"#/types/azure:datafactory/DatasetDelimitedTextHttpServerLocation:DatasetDelimitedTextHttpServerLocation","description":"A \u003cspan pulumi-lang-nodejs=\"`httpServerLocation`\" pulumi-lang-dotnet=\"`HttpServerLocation`\" pulumi-lang-go=\"`httpServerLocation`\" pulumi-lang-python=\"`http_server_location`\" pulumi-lang-yaml=\"`httpServerLocation`\" pulumi-lang-java=\"`httpServerLocation`\"\u003e`http_server_location`\u003c/span\u003e block as defined below.\n\nThe following supported arguments are specific to Delimited Text Dataset:\n"},"linkedServiceName":{"type":"string","description":"The Data Factory Linked Service name in which to associate the Dataset with.\n"},"name":{"type":"string","description":"Specifies the name of the Data Factory Dataset. Changing this forces a new resource to be created. Must be globally unique. See the [Microsoft documentation](https://docs.microsoft.com/azure/data-factory/naming-rules) for all restrictions.\n"},"nullValue":{"type":"string","description":"The null value string. Defaults to `\"\"`.\n"},"parameters":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of parameters to associate with the Data Factory Dataset.\n"},"quoteCharacter":{"type":"string","description":"The quote character. Defaults to `\"`.\n"},"rowDelimiter":{"type":"string","description":"The row delimiter. Defaults to any of the following values on read: `\\r\\n`, `\\r`, `\\n`, and `\\n` or `\\r\\n` on write by mapping data flow and Copy activity respectively.\n"},"schemaColumns":{"type":"array","items":{"$ref":"#/types/azure:datafactory/DatasetDelimitedTextSchemaColumn:DatasetDelimitedTextSchemaColumn"},"description":"A \u003cspan pulumi-lang-nodejs=\"`schemaColumn`\" pulumi-lang-dotnet=\"`SchemaColumn`\" pulumi-lang-go=\"`schemaColumn`\" pulumi-lang-python=\"`schema_column`\" pulumi-lang-yaml=\"`schemaColumn`\" pulumi-lang-java=\"`schemaColumn`\"\u003e`schema_column`\u003c/span\u003e block as defined below.\n"}},"required":["dataFactoryId","linkedServiceName","name"],"inputProperties":{"additionalProperties":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of additional properties to associate with the Data Factory Dataset.\n\nThe following supported locations for a Delimited Text Dataset (exactly one of them must be set):\n"},"annotations":{"type":"array","items":{"type":"string"},"description":"List of tags that can be used for describing the Data Factory Dataset.\n"},"azureBlobFsLocation":{"$ref":"#/types/azure:datafactory/DatasetDelimitedTextAzureBlobFsLocation:DatasetDelimitedTextAzureBlobFsLocation","description":"An \u003cspan pulumi-lang-nodejs=\"`azureBlobFsLocation`\" pulumi-lang-dotnet=\"`AzureBlobFsLocation`\" pulumi-lang-go=\"`azureBlobFsLocation`\" pulumi-lang-python=\"`azure_blob_fs_location`\" pulumi-lang-yaml=\"`azureBlobFsLocation`\" pulumi-lang-java=\"`azureBlobFsLocation`\"\u003e`azure_blob_fs_location`\u003c/span\u003e block as defined below.\n"},"azureBlobStorageLocation":{"$ref":"#/types/azure:datafactory/DatasetDelimitedTextAzureBlobStorageLocation:DatasetDelimitedTextAzureBlobStorageLocation","description":"An \u003cspan pulumi-lang-nodejs=\"`azureBlobStorageLocation`\" pulumi-lang-dotnet=\"`AzureBlobStorageLocation`\" pulumi-lang-go=\"`azureBlobStorageLocation`\" pulumi-lang-python=\"`azure_blob_storage_location`\" pulumi-lang-yaml=\"`azureBlobStorageLocation`\" pulumi-lang-java=\"`azureBlobStorageLocation`\"\u003e`azure_blob_storage_location`\u003c/span\u003e block as defined below.\n"},"columnDelimiter":{"type":"string","description":"The column delimiter. Defaults to `,`.\n"},"compressionCodec":{"type":"string","description":"The compression codec used to read/write text files. Valid values are `None`, \u003cspan pulumi-lang-nodejs=\"`bzip2`\" pulumi-lang-dotnet=\"`Bzip2`\" pulumi-lang-go=\"`bzip2`\" pulumi-lang-python=\"`bzip2`\" pulumi-lang-yaml=\"`bzip2`\" pulumi-lang-java=\"`bzip2`\"\u003e`bzip2`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`gzip`\" pulumi-lang-dotnet=\"`Gzip`\" pulumi-lang-go=\"`gzip`\" pulumi-lang-python=\"`gzip`\" pulumi-lang-yaml=\"`gzip`\" pulumi-lang-java=\"`gzip`\"\u003e`gzip`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`deflate`\" pulumi-lang-dotnet=\"`Deflate`\" pulumi-lang-go=\"`deflate`\" pulumi-lang-python=\"`deflate`\" pulumi-lang-yaml=\"`deflate`\" pulumi-lang-java=\"`deflate`\"\u003e`deflate`\u003c/span\u003e, `ZipDeflate`, `TarGzip`, `Tar`, \u003cspan pulumi-lang-nodejs=\"`snappy`\" pulumi-lang-dotnet=\"`Snappy`\" pulumi-lang-go=\"`snappy`\" pulumi-lang-python=\"`snappy`\" pulumi-lang-yaml=\"`snappy`\" pulumi-lang-java=\"`snappy`\"\u003e`snappy`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`lz4`\" pulumi-lang-dotnet=\"`Lz4`\" pulumi-lang-go=\"`lz4`\" pulumi-lang-python=\"`lz4`\" pulumi-lang-yaml=\"`lz4`\" pulumi-lang-java=\"`lz4`\"\u003e`lz4`\u003c/span\u003e. Please note these values are case sensitive.\n"},"compressionLevel":{"type":"string","description":"The compression ratio for the Data Factory Dataset. Valid values are `Fastest` or `Optimal`. Please note these values are case sensitive.\n"},"dataFactoryId":{"type":"string","description":"The Data Factory ID in which to associate the Linked Service with. Changing this forces a new resource.\n","willReplaceOnChanges":true},"description":{"type":"string","description":"The description for the Data Factory Dataset.\n"},"encoding":{"type":"string","description":"The encoding format for the file.\n"},"escapeCharacter":{"type":"string","description":"The escape character. Defaults to `\\`.\n"},"firstRowAsHeader":{"type":"boolean","description":"When used as input, treat the first row of data as headers. When used as output, write the headers into the output as the first row of data. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"folder":{"type":"string","description":"The folder that this Dataset is in. If not specified, the Dataset will appear at the root level.\n"},"httpServerLocation":{"$ref":"#/types/azure:datafactory/DatasetDelimitedTextHttpServerLocation:DatasetDelimitedTextHttpServerLocation","description":"A \u003cspan pulumi-lang-nodejs=\"`httpServerLocation`\" pulumi-lang-dotnet=\"`HttpServerLocation`\" pulumi-lang-go=\"`httpServerLocation`\" pulumi-lang-python=\"`http_server_location`\" pulumi-lang-yaml=\"`httpServerLocation`\" pulumi-lang-java=\"`httpServerLocation`\"\u003e`http_server_location`\u003c/span\u003e block as defined below.\n\nThe following supported arguments are specific to Delimited Text Dataset:\n"},"linkedServiceName":{"type":"string","description":"The Data Factory Linked Service name in which to associate the Dataset with.\n"},"name":{"type":"string","description":"Specifies the name of the Data Factory Dataset. Changing this forces a new resource to be created. Must be globally unique. See the [Microsoft documentation](https://docs.microsoft.com/azure/data-factory/naming-rules) for all restrictions.\n","willReplaceOnChanges":true},"nullValue":{"type":"string","description":"The null value string. Defaults to `\"\"`.\n"},"parameters":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of parameters to associate with the Data Factory Dataset.\n"},"quoteCharacter":{"type":"string","description":"The quote character. Defaults to `\"`.\n"},"rowDelimiter":{"type":"string","description":"The row delimiter. Defaults to any of the following values on read: `\\r\\n`, `\\r`, `\\n`, and `\\n` or `\\r\\n` on write by mapping data flow and Copy activity respectively.\n"},"schemaColumns":{"type":"array","items":{"$ref":"#/types/azure:datafactory/DatasetDelimitedTextSchemaColumn:DatasetDelimitedTextSchemaColumn"},"description":"A \u003cspan pulumi-lang-nodejs=\"`schemaColumn`\" pulumi-lang-dotnet=\"`SchemaColumn`\" pulumi-lang-go=\"`schemaColumn`\" pulumi-lang-python=\"`schema_column`\" pulumi-lang-yaml=\"`schemaColumn`\" pulumi-lang-java=\"`schemaColumn`\"\u003e`schema_column`\u003c/span\u003e block as defined below.\n"}},"requiredInputs":["dataFactoryId","linkedServiceName"],"stateInputs":{"description":"Input properties used for looking up and filtering DatasetDelimitedText resources.\n","properties":{"additionalProperties":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of additional properties to associate with the Data Factory Dataset.\n\nThe following supported locations for a Delimited Text Dataset (exactly one of them must be set):\n"},"annotations":{"type":"array","items":{"type":"string"},"description":"List of tags that can be used for describing the Data Factory Dataset.\n"},"azureBlobFsLocation":{"$ref":"#/types/azure:datafactory/DatasetDelimitedTextAzureBlobFsLocation:DatasetDelimitedTextAzureBlobFsLocation","description":"An \u003cspan pulumi-lang-nodejs=\"`azureBlobFsLocation`\" pulumi-lang-dotnet=\"`AzureBlobFsLocation`\" pulumi-lang-go=\"`azureBlobFsLocation`\" pulumi-lang-python=\"`azure_blob_fs_location`\" pulumi-lang-yaml=\"`azureBlobFsLocation`\" pulumi-lang-java=\"`azureBlobFsLocation`\"\u003e`azure_blob_fs_location`\u003c/span\u003e block as defined below.\n"},"azureBlobStorageLocation":{"$ref":"#/types/azure:datafactory/DatasetDelimitedTextAzureBlobStorageLocation:DatasetDelimitedTextAzureBlobStorageLocation","description":"An \u003cspan pulumi-lang-nodejs=\"`azureBlobStorageLocation`\" pulumi-lang-dotnet=\"`AzureBlobStorageLocation`\" pulumi-lang-go=\"`azureBlobStorageLocation`\" pulumi-lang-python=\"`azure_blob_storage_location`\" pulumi-lang-yaml=\"`azureBlobStorageLocation`\" pulumi-lang-java=\"`azureBlobStorageLocation`\"\u003e`azure_blob_storage_location`\u003c/span\u003e block as defined below.\n"},"columnDelimiter":{"type":"string","description":"The column delimiter. Defaults to `,`.\n"},"compressionCodec":{"type":"string","description":"The compression codec used to read/write text files. Valid values are `None`, \u003cspan pulumi-lang-nodejs=\"`bzip2`\" pulumi-lang-dotnet=\"`Bzip2`\" pulumi-lang-go=\"`bzip2`\" pulumi-lang-python=\"`bzip2`\" pulumi-lang-yaml=\"`bzip2`\" pulumi-lang-java=\"`bzip2`\"\u003e`bzip2`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`gzip`\" pulumi-lang-dotnet=\"`Gzip`\" pulumi-lang-go=\"`gzip`\" pulumi-lang-python=\"`gzip`\" pulumi-lang-yaml=\"`gzip`\" pulumi-lang-java=\"`gzip`\"\u003e`gzip`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`deflate`\" pulumi-lang-dotnet=\"`Deflate`\" pulumi-lang-go=\"`deflate`\" pulumi-lang-python=\"`deflate`\" pulumi-lang-yaml=\"`deflate`\" pulumi-lang-java=\"`deflate`\"\u003e`deflate`\u003c/span\u003e, `ZipDeflate`, `TarGzip`, `Tar`, \u003cspan pulumi-lang-nodejs=\"`snappy`\" pulumi-lang-dotnet=\"`Snappy`\" pulumi-lang-go=\"`snappy`\" pulumi-lang-python=\"`snappy`\" pulumi-lang-yaml=\"`snappy`\" pulumi-lang-java=\"`snappy`\"\u003e`snappy`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`lz4`\" pulumi-lang-dotnet=\"`Lz4`\" pulumi-lang-go=\"`lz4`\" pulumi-lang-python=\"`lz4`\" pulumi-lang-yaml=\"`lz4`\" pulumi-lang-java=\"`lz4`\"\u003e`lz4`\u003c/span\u003e. Please note these values are case sensitive.\n"},"compressionLevel":{"type":"string","description":"The compression ratio for the Data Factory Dataset. Valid values are `Fastest` or `Optimal`. Please note these values are case sensitive.\n"},"dataFactoryId":{"type":"string","description":"The Data Factory ID in which to associate the Linked Service with. Changing this forces a new resource.\n","willReplaceOnChanges":true},"description":{"type":"string","description":"The description for the Data Factory Dataset.\n"},"encoding":{"type":"string","description":"The encoding format for the file.\n"},"escapeCharacter":{"type":"string","description":"The escape character. Defaults to `\\`.\n"},"firstRowAsHeader":{"type":"boolean","description":"When used as input, treat the first row of data as headers. When used as output, write the headers into the output as the first row of data. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"folder":{"type":"string","description":"The folder that this Dataset is in. If not specified, the Dataset will appear at the root level.\n"},"httpServerLocation":{"$ref":"#/types/azure:datafactory/DatasetDelimitedTextHttpServerLocation:DatasetDelimitedTextHttpServerLocation","description":"A \u003cspan pulumi-lang-nodejs=\"`httpServerLocation`\" pulumi-lang-dotnet=\"`HttpServerLocation`\" pulumi-lang-go=\"`httpServerLocation`\" pulumi-lang-python=\"`http_server_location`\" pulumi-lang-yaml=\"`httpServerLocation`\" pulumi-lang-java=\"`httpServerLocation`\"\u003e`http_server_location`\u003c/span\u003e block as defined below.\n\nThe following supported arguments are specific to Delimited Text Dataset:\n"},"linkedServiceName":{"type":"string","description":"The Data Factory Linked Service name in which to associate the Dataset with.\n"},"name":{"type":"string","description":"Specifies the name of the Data Factory Dataset. Changing this forces a new resource to be created. Must be globally unique. See the [Microsoft documentation](https://docs.microsoft.com/azure/data-factory/naming-rules) for all restrictions.\n","willReplaceOnChanges":true},"nullValue":{"type":"string","description":"The null value string. Defaults to `\"\"`.\n"},"parameters":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of parameters to associate with the Data Factory Dataset.\n"},"quoteCharacter":{"type":"string","description":"The quote character. Defaults to `\"`.\n"},"rowDelimiter":{"type":"string","description":"The row delimiter. Defaults to any of the following values on read: `\\r\\n`, `\\r`, `\\n`, and `\\n` or `\\r\\n` on write by mapping data flow and Copy activity respectively.\n"},"schemaColumns":{"type":"array","items":{"$ref":"#/types/azure:datafactory/DatasetDelimitedTextSchemaColumn:DatasetDelimitedTextSchemaColumn"},"description":"A \u003cspan pulumi-lang-nodejs=\"`schemaColumn`\" pulumi-lang-dotnet=\"`SchemaColumn`\" pulumi-lang-go=\"`schemaColumn`\" pulumi-lang-python=\"`schema_column`\" pulumi-lang-yaml=\"`schemaColumn`\" pulumi-lang-java=\"`schemaColumn`\"\u003e`schema_column`\u003c/span\u003e block as defined below.\n"}},"type":"object"}},"azure:datafactory/datasetHttp:DatasetHttp":{"description":"Manages an Azure HTTP Dataset inside an Azure Data Factory.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleFactory = new azure.datafactory.Factory(\"example\", {\n    name: \"example\",\n    location: example.location,\n    resourceGroupName: example.name,\n});\nconst exampleLinkedServiceWeb = new azure.datafactory.LinkedServiceWeb(\"example\", {\n    name: \"example\",\n    dataFactoryId: exampleFactory.id,\n    authenticationType: \"Anonymous\",\n    url: \"https://www.bing.com\",\n});\nconst exampleDatasetHttp = new azure.datafactory.DatasetHttp(\"example\", {\n    name: \"example\",\n    dataFactoryId: exampleFactory.id,\n    linkedServiceName: exampleLinkedServiceWeb.name,\n    relativeUrl: \"http://www.bing.com\",\n    requestBody: \"foo=bar\",\n    requestMethod: \"POST\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_factory = azure.datafactory.Factory(\"example\",\n    name=\"example\",\n    location=example.location,\n    resource_group_name=example.name)\nexample_linked_service_web = azure.datafactory.LinkedServiceWeb(\"example\",\n    name=\"example\",\n    data_factory_id=example_factory.id,\n    authentication_type=\"Anonymous\",\n    url=\"https://www.bing.com\")\nexample_dataset_http = azure.datafactory.DatasetHttp(\"example\",\n    name=\"example\",\n    data_factory_id=example_factory.id,\n    linked_service_name=example_linked_service_web.name,\n    relative_url=\"http://www.bing.com\",\n    request_body=\"foo=bar\",\n    request_method=\"POST\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleFactory = new Azure.DataFactory.Factory(\"example\", new()\n    {\n        Name = \"example\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n    });\n\n    var exampleLinkedServiceWeb = new Azure.DataFactory.LinkedServiceWeb(\"example\", new()\n    {\n        Name = \"example\",\n        DataFactoryId = exampleFactory.Id,\n        AuthenticationType = \"Anonymous\",\n        Url = \"https://www.bing.com\",\n    });\n\n    var exampleDatasetHttp = new Azure.DataFactory.DatasetHttp(\"example\", new()\n    {\n        Name = \"example\",\n        DataFactoryId = exampleFactory.Id,\n        LinkedServiceName = exampleLinkedServiceWeb.Name,\n        RelativeUrl = \"http://www.bing.com\",\n        RequestBody = \"foo=bar\",\n        RequestMethod = \"POST\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/datafactory\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleFactory, err := datafactory.NewFactory(ctx, \"example\", \u0026datafactory.FactoryArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleLinkedServiceWeb, err := datafactory.NewLinkedServiceWeb(ctx, \"example\", \u0026datafactory.LinkedServiceWebArgs{\n\t\t\tName:               pulumi.String(\"example\"),\n\t\t\tDataFactoryId:      exampleFactory.ID(),\n\t\t\tAuthenticationType: pulumi.String(\"Anonymous\"),\n\t\t\tUrl:                pulumi.String(\"https://www.bing.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = datafactory.NewDatasetHttp(ctx, \"example\", \u0026datafactory.DatasetHttpArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tDataFactoryId:     exampleFactory.ID(),\n\t\t\tLinkedServiceName: exampleLinkedServiceWeb.Name,\n\t\t\tRelativeUrl:       pulumi.String(\"http://www.bing.com\"),\n\t\t\tRequestBody:       pulumi.String(\"foo=bar\"),\n\t\t\tRequestMethod:     pulumi.String(\"POST\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.datafactory.Factory;\nimport com.pulumi.azure.datafactory.FactoryArgs;\nimport com.pulumi.azure.datafactory.LinkedServiceWeb;\nimport com.pulumi.azure.datafactory.LinkedServiceWebArgs;\nimport com.pulumi.azure.datafactory.DatasetHttp;\nimport com.pulumi.azure.datafactory.DatasetHttpArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleFactory = new Factory(\"exampleFactory\", FactoryArgs.builder()\n            .name(\"example\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .build());\n\n        var exampleLinkedServiceWeb = new LinkedServiceWeb(\"exampleLinkedServiceWeb\", LinkedServiceWebArgs.builder()\n            .name(\"example\")\n            .dataFactoryId(exampleFactory.id())\n            .authenticationType(\"Anonymous\")\n            .url(\"https://www.bing.com\")\n            .build());\n\n        var exampleDatasetHttp = new DatasetHttp(\"exampleDatasetHttp\", DatasetHttpArgs.builder()\n            .name(\"example\")\n            .dataFactoryId(exampleFactory.id())\n            .linkedServiceName(exampleLinkedServiceWeb.name())\n            .relativeUrl(\"http://www.bing.com\")\n            .requestBody(\"foo=bar\")\n            .requestMethod(\"POST\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleFactory:\n    type: azure:datafactory:Factory\n    name: example\n    properties:\n      name: example\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n  exampleLinkedServiceWeb:\n    type: azure:datafactory:LinkedServiceWeb\n    name: example\n    properties:\n      name: example\n      dataFactoryId: ${exampleFactory.id}\n      authenticationType: Anonymous\n      url: https://www.bing.com\n  exampleDatasetHttp:\n    type: azure:datafactory:DatasetHttp\n    name: example\n    properties:\n      name: example\n      dataFactoryId: ${exampleFactory.id}\n      linkedServiceName: ${exampleLinkedServiceWeb.name}\n      relativeUrl: http://www.bing.com\n      requestBody: foo=bar\n      requestMethod: POST\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nData Factory Datasets can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:datafactory/datasetHttp:DatasetHttp example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/example/providers/Microsoft.DataFactory/factories/example/datasets/example\n```\n\n","properties":{"additionalProperties":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of additional properties to associate with the Data Factory Dataset.\n\nThe following supported arguments are specific to HTTP Dataset:\n"},"annotations":{"type":"array","items":{"type":"string"},"description":"List of tags that can be used for describing the Data Factory Dataset.\n"},"dataFactoryId":{"type":"string","description":"The Data Factory ID in which to associate the Linked Service with. Changing this forces a new resource.\n"},"description":{"type":"string","description":"The description for the Data Factory Dataset.\n"},"folder":{"type":"string","description":"The folder that this Dataset is in. If not specified, the Dataset will appear at the root level.\n"},"linkedServiceName":{"type":"string","description":"The Data Factory Linked Service name in which to associate the Dataset with.\n"},"name":{"type":"string","description":"Specifies the name of the Data Factory Dataset. Changing this forces a new resource to be created. Must be globally unique. See the [Microsoft documentation](https://docs.microsoft.com/azure/data-factory/naming-rules) for all restrictions.\n"},"parameters":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of parameters to associate with the Data Factory Dataset.\n"},"relativeUrl":{"type":"string","description":"The relative URL based on the URL in the HTTP Linked Service.\n"},"requestBody":{"type":"string","description":"The body for the HTTP request.\n"},"requestMethod":{"type":"string","description":"The HTTP method for the HTTP request. (e.g. GET, POST)\n"},"schemaColumns":{"type":"array","items":{"$ref":"#/types/azure:datafactory/DatasetHttpSchemaColumn:DatasetHttpSchemaColumn"},"description":"A \u003cspan pulumi-lang-nodejs=\"`schemaColumn`\" pulumi-lang-dotnet=\"`SchemaColumn`\" pulumi-lang-go=\"`schemaColumn`\" pulumi-lang-python=\"`schema_column`\" pulumi-lang-yaml=\"`schemaColumn`\" pulumi-lang-java=\"`schemaColumn`\"\u003e`schema_column`\u003c/span\u003e block as defined below.\n"}},"required":["dataFactoryId","linkedServiceName","name"],"inputProperties":{"additionalProperties":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of additional properties to associate with the Data Factory Dataset.\n\nThe following supported arguments are specific to HTTP Dataset:\n"},"annotations":{"type":"array","items":{"type":"string"},"description":"List of tags that can be used for describing the Data Factory Dataset.\n"},"dataFactoryId":{"type":"string","description":"The Data Factory ID in which to associate the Linked Service with. Changing this forces a new resource.\n","willReplaceOnChanges":true},"description":{"type":"string","description":"The description for the Data Factory Dataset.\n"},"folder":{"type":"string","description":"The folder that this Dataset is in. If not specified, the Dataset will appear at the root level.\n"},"linkedServiceName":{"type":"string","description":"The Data Factory Linked Service name in which to associate the Dataset with.\n"},"name":{"type":"string","description":"Specifies the name of the Data Factory Dataset. Changing this forces a new resource to be created. Must be globally unique. See the [Microsoft documentation](https://docs.microsoft.com/azure/data-factory/naming-rules) for all restrictions.\n","willReplaceOnChanges":true},"parameters":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of parameters to associate with the Data Factory Dataset.\n"},"relativeUrl":{"type":"string","description":"The relative URL based on the URL in the HTTP Linked Service.\n"},"requestBody":{"type":"string","description":"The body for the HTTP request.\n"},"requestMethod":{"type":"string","description":"The HTTP method for the HTTP request. (e.g. GET, POST)\n"},"schemaColumns":{"type":"array","items":{"$ref":"#/types/azure:datafactory/DatasetHttpSchemaColumn:DatasetHttpSchemaColumn"},"description":"A \u003cspan pulumi-lang-nodejs=\"`schemaColumn`\" pulumi-lang-dotnet=\"`SchemaColumn`\" pulumi-lang-go=\"`schemaColumn`\" pulumi-lang-python=\"`schema_column`\" pulumi-lang-yaml=\"`schemaColumn`\" pulumi-lang-java=\"`schemaColumn`\"\u003e`schema_column`\u003c/span\u003e block as defined below.\n"}},"requiredInputs":["dataFactoryId","linkedServiceName"],"stateInputs":{"description":"Input properties used for looking up and filtering DatasetHttp resources.\n","properties":{"additionalProperties":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of additional properties to associate with the Data Factory Dataset.\n\nThe following supported arguments are specific to HTTP Dataset:\n"},"annotations":{"type":"array","items":{"type":"string"},"description":"List of tags that can be used for describing the Data Factory Dataset.\n"},"dataFactoryId":{"type":"string","description":"The Data Factory ID in which to associate the Linked Service with. Changing this forces a new resource.\n","willReplaceOnChanges":true},"description":{"type":"string","description":"The description for the Data Factory Dataset.\n"},"folder":{"type":"string","description":"The folder that this Dataset is in. If not specified, the Dataset will appear at the root level.\n"},"linkedServiceName":{"type":"string","description":"The Data Factory Linked Service name in which to associate the Dataset with.\n"},"name":{"type":"string","description":"Specifies the name of the Data Factory Dataset. Changing this forces a new resource to be created. Must be globally unique. See the [Microsoft documentation](https://docs.microsoft.com/azure/data-factory/naming-rules) for all restrictions.\n","willReplaceOnChanges":true},"parameters":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of parameters to associate with the Data Factory Dataset.\n"},"relativeUrl":{"type":"string","description":"The relative URL based on the URL in the HTTP Linked Service.\n"},"requestBody":{"type":"string","description":"The body for the HTTP request.\n"},"requestMethod":{"type":"string","description":"The HTTP method for the HTTP request. (e.g. GET, POST)\n"},"schemaColumns":{"type":"array","items":{"$ref":"#/types/azure:datafactory/DatasetHttpSchemaColumn:DatasetHttpSchemaColumn"},"description":"A \u003cspan pulumi-lang-nodejs=\"`schemaColumn`\" pulumi-lang-dotnet=\"`SchemaColumn`\" pulumi-lang-go=\"`schemaColumn`\" pulumi-lang-python=\"`schema_column`\" pulumi-lang-yaml=\"`schemaColumn`\" pulumi-lang-java=\"`schemaColumn`\"\u003e`schema_column`\u003c/span\u003e block as defined below.\n"}},"type":"object"}},"azure:datafactory/datasetJson:DatasetJson":{"description":"Manages an Azure JSON Dataset inside an Azure Data Factory.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleFactory = new azure.datafactory.Factory(\"example\", {\n    name: \"example\",\n    location: example.location,\n    resourceGroupName: example.name,\n});\nconst exampleLinkedServiceWeb = new azure.datafactory.LinkedServiceWeb(\"example\", {\n    name: \"example\",\n    dataFactoryId: exampleFactory.id,\n    authenticationType: \"Anonymous\",\n    url: \"https://www.bing.com\",\n});\nconst exampleDatasetJson = new azure.datafactory.DatasetJson(\"example\", {\n    name: \"example\",\n    dataFactoryId: exampleFactory.id,\n    linkedServiceName: exampleLinkedServiceWeb.name,\n    httpServerLocation: {\n        relativeUrl: \"/fizz/buzz/\",\n        path: \"foo/bar/\",\n        filename: \"foo.txt\",\n    },\n    encoding: \"UTF-8\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_factory = azure.datafactory.Factory(\"example\",\n    name=\"example\",\n    location=example.location,\n    resource_group_name=example.name)\nexample_linked_service_web = azure.datafactory.LinkedServiceWeb(\"example\",\n    name=\"example\",\n    data_factory_id=example_factory.id,\n    authentication_type=\"Anonymous\",\n    url=\"https://www.bing.com\")\nexample_dataset_json = azure.datafactory.DatasetJson(\"example\",\n    name=\"example\",\n    data_factory_id=example_factory.id,\n    linked_service_name=example_linked_service_web.name,\n    http_server_location={\n        \"relative_url\": \"/fizz/buzz/\",\n        \"path\": \"foo/bar/\",\n        \"filename\": \"foo.txt\",\n    },\n    encoding=\"UTF-8\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleFactory = new Azure.DataFactory.Factory(\"example\", new()\n    {\n        Name = \"example\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n    });\n\n    var exampleLinkedServiceWeb = new Azure.DataFactory.LinkedServiceWeb(\"example\", new()\n    {\n        Name = \"example\",\n        DataFactoryId = exampleFactory.Id,\n        AuthenticationType = \"Anonymous\",\n        Url = \"https://www.bing.com\",\n    });\n\n    var exampleDatasetJson = new Azure.DataFactory.DatasetJson(\"example\", new()\n    {\n        Name = \"example\",\n        DataFactoryId = exampleFactory.Id,\n        LinkedServiceName = exampleLinkedServiceWeb.Name,\n        HttpServerLocation = new Azure.DataFactory.Inputs.DatasetJsonHttpServerLocationArgs\n        {\n            RelativeUrl = \"/fizz/buzz/\",\n            Path = \"foo/bar/\",\n            Filename = \"foo.txt\",\n        },\n        Encoding = \"UTF-8\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/datafactory\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleFactory, err := datafactory.NewFactory(ctx, \"example\", \u0026datafactory.FactoryArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleLinkedServiceWeb, err := datafactory.NewLinkedServiceWeb(ctx, \"example\", \u0026datafactory.LinkedServiceWebArgs{\n\t\t\tName:               pulumi.String(\"example\"),\n\t\t\tDataFactoryId:      exampleFactory.ID(),\n\t\t\tAuthenticationType: pulumi.String(\"Anonymous\"),\n\t\t\tUrl:                pulumi.String(\"https://www.bing.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = datafactory.NewDatasetJson(ctx, \"example\", \u0026datafactory.DatasetJsonArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tDataFactoryId:     exampleFactory.ID(),\n\t\t\tLinkedServiceName: exampleLinkedServiceWeb.Name,\n\t\t\tHttpServerLocation: \u0026datafactory.DatasetJsonHttpServerLocationArgs{\n\t\t\t\tRelativeUrl: pulumi.String(\"/fizz/buzz/\"),\n\t\t\t\tPath:        pulumi.String(\"foo/bar/\"),\n\t\t\t\tFilename:    pulumi.String(\"foo.txt\"),\n\t\t\t},\n\t\t\tEncoding: pulumi.String(\"UTF-8\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.datafactory.Factory;\nimport com.pulumi.azure.datafactory.FactoryArgs;\nimport com.pulumi.azure.datafactory.LinkedServiceWeb;\nimport com.pulumi.azure.datafactory.LinkedServiceWebArgs;\nimport com.pulumi.azure.datafactory.DatasetJson;\nimport com.pulumi.azure.datafactory.DatasetJsonArgs;\nimport com.pulumi.azure.datafactory.inputs.DatasetJsonHttpServerLocationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleFactory = new Factory(\"exampleFactory\", FactoryArgs.builder()\n            .name(\"example\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .build());\n\n        var exampleLinkedServiceWeb = new LinkedServiceWeb(\"exampleLinkedServiceWeb\", LinkedServiceWebArgs.builder()\n            .name(\"example\")\n            .dataFactoryId(exampleFactory.id())\n            .authenticationType(\"Anonymous\")\n            .url(\"https://www.bing.com\")\n            .build());\n\n        var exampleDatasetJson = new DatasetJson(\"exampleDatasetJson\", DatasetJsonArgs.builder()\n            .name(\"example\")\n            .dataFactoryId(exampleFactory.id())\n            .linkedServiceName(exampleLinkedServiceWeb.name())\n            .httpServerLocation(DatasetJsonHttpServerLocationArgs.builder()\n                .relativeUrl(\"/fizz/buzz/\")\n                .path(\"foo/bar/\")\n                .filename(\"foo.txt\")\n                .build())\n            .encoding(\"UTF-8\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleFactory:\n    type: azure:datafactory:Factory\n    name: example\n    properties:\n      name: example\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n  exampleLinkedServiceWeb:\n    type: azure:datafactory:LinkedServiceWeb\n    name: example\n    properties:\n      name: example\n      dataFactoryId: ${exampleFactory.id}\n      authenticationType: Anonymous\n      url: https://www.bing.com\n  exampleDatasetJson:\n    type: azure:datafactory:DatasetJson\n    name: example\n    properties:\n      name: example\n      dataFactoryId: ${exampleFactory.id}\n      linkedServiceName: ${exampleLinkedServiceWeb.name}\n      httpServerLocation:\n        relativeUrl: /fizz/buzz/\n        path: foo/bar/\n        filename: foo.txt\n      encoding: UTF-8\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nData Factory Datasets can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:datafactory/datasetJson:DatasetJson example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/example/providers/Microsoft.DataFactory/factories/example/datasets/example\n```\n\n","properties":{"additionalProperties":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of additional properties to associate with the Data Factory Dataset.\n\nThe following supported arguments are specific to JSON Dataset:\n"},"annotations":{"type":"array","items":{"type":"string"},"description":"List of tags that can be used for describing the Data Factory Dataset.\n"},"azureBlobStorageLocation":{"$ref":"#/types/azure:datafactory/DatasetJsonAzureBlobStorageLocation:DatasetJsonAzureBlobStorageLocation","description":"A \u003cspan pulumi-lang-nodejs=\"`azureBlobStorageLocation`\" pulumi-lang-dotnet=\"`AzureBlobStorageLocation`\" pulumi-lang-go=\"`azureBlobStorageLocation`\" pulumi-lang-python=\"`azure_blob_storage_location`\" pulumi-lang-yaml=\"`azureBlobStorageLocation`\" pulumi-lang-java=\"`azureBlobStorageLocation`\"\u003e`azure_blob_storage_location`\u003c/span\u003e block as defined below.\n\nThe following supported arguments are specific to Delimited Text Dataset:\n"},"dataFactoryId":{"type":"string","description":"The Data Factory ID in which to associate the Linked Service with. Changing this forces a new resource.\n"},"description":{"type":"string","description":"The description for the Data Factory Dataset.\n"},"encoding":{"type":"string","description":"The encoding format for the file.\n"},"folder":{"type":"string","description":"The folder that this Dataset is in. If not specified, the Dataset will appear at the root level.\n"},"httpServerLocation":{"$ref":"#/types/azure:datafactory/DatasetJsonHttpServerLocation:DatasetJsonHttpServerLocation","description":"A \u003cspan pulumi-lang-nodejs=\"`httpServerLocation`\" pulumi-lang-dotnet=\"`HttpServerLocation`\" pulumi-lang-go=\"`httpServerLocation`\" pulumi-lang-python=\"`http_server_location`\" pulumi-lang-yaml=\"`httpServerLocation`\" pulumi-lang-java=\"`httpServerLocation`\"\u003e`http_server_location`\u003c/span\u003e block as defined below.\n"},"linkedServiceName":{"type":"string","description":"The Data Factory Linked Service name in which to associate the Dataset with.\n"},"name":{"type":"string","description":"Specifies the name of the Data Factory Dataset. Changing this forces a new resource to be created. Must be globally unique. See the [Microsoft documentation](https://docs.microsoft.com/azure/data-factory/naming-rules) for all restrictions.\n"},"parameters":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of parameters to associate with the Data Factory Dataset.\n"},"schemaColumns":{"type":"array","items":{"$ref":"#/types/azure:datafactory/DatasetJsonSchemaColumn:DatasetJsonSchemaColumn"},"description":"A \u003cspan pulumi-lang-nodejs=\"`schemaColumn`\" pulumi-lang-dotnet=\"`SchemaColumn`\" pulumi-lang-go=\"`schemaColumn`\" pulumi-lang-python=\"`schema_column`\" pulumi-lang-yaml=\"`schemaColumn`\" pulumi-lang-java=\"`schemaColumn`\"\u003e`schema_column`\u003c/span\u003e block as defined below.\n"}},"required":["dataFactoryId","linkedServiceName","name"],"inputProperties":{"additionalProperties":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of additional properties to associate with the Data Factory Dataset.\n\nThe following supported arguments are specific to JSON Dataset:\n"},"annotations":{"type":"array","items":{"type":"string"},"description":"List of tags that can be used for describing the Data Factory Dataset.\n"},"azureBlobStorageLocation":{"$ref":"#/types/azure:datafactory/DatasetJsonAzureBlobStorageLocation:DatasetJsonAzureBlobStorageLocation","description":"A \u003cspan pulumi-lang-nodejs=\"`azureBlobStorageLocation`\" pulumi-lang-dotnet=\"`AzureBlobStorageLocation`\" pulumi-lang-go=\"`azureBlobStorageLocation`\" pulumi-lang-python=\"`azure_blob_storage_location`\" pulumi-lang-yaml=\"`azureBlobStorageLocation`\" pulumi-lang-java=\"`azureBlobStorageLocation`\"\u003e`azure_blob_storage_location`\u003c/span\u003e block as defined below.\n\nThe following supported arguments are specific to Delimited Text Dataset:\n"},"dataFactoryId":{"type":"string","description":"The Data Factory ID in which to associate the Linked Service with. Changing this forces a new resource.\n","willReplaceOnChanges":true},"description":{"type":"string","description":"The description for the Data Factory Dataset.\n"},"encoding":{"type":"string","description":"The encoding format for the file.\n"},"folder":{"type":"string","description":"The folder that this Dataset is in. If not specified, the Dataset will appear at the root level.\n"},"httpServerLocation":{"$ref":"#/types/azure:datafactory/DatasetJsonHttpServerLocation:DatasetJsonHttpServerLocation","description":"A \u003cspan pulumi-lang-nodejs=\"`httpServerLocation`\" pulumi-lang-dotnet=\"`HttpServerLocation`\" pulumi-lang-go=\"`httpServerLocation`\" pulumi-lang-python=\"`http_server_location`\" pulumi-lang-yaml=\"`httpServerLocation`\" pulumi-lang-java=\"`httpServerLocation`\"\u003e`http_server_location`\u003c/span\u003e block as defined below.\n"},"linkedServiceName":{"type":"string","description":"The Data Factory Linked Service name in which to associate the Dataset with.\n"},"name":{"type":"string","description":"Specifies the name of the Data Factory Dataset. Changing this forces a new resource to be created. Must be globally unique. See the [Microsoft documentation](https://docs.microsoft.com/azure/data-factory/naming-rules) for all restrictions.\n","willReplaceOnChanges":true},"parameters":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of parameters to associate with the Data Factory Dataset.\n"},"schemaColumns":{"type":"array","items":{"$ref":"#/types/azure:datafactory/DatasetJsonSchemaColumn:DatasetJsonSchemaColumn"},"description":"A \u003cspan pulumi-lang-nodejs=\"`schemaColumn`\" pulumi-lang-dotnet=\"`SchemaColumn`\" pulumi-lang-go=\"`schemaColumn`\" pulumi-lang-python=\"`schema_column`\" pulumi-lang-yaml=\"`schemaColumn`\" pulumi-lang-java=\"`schemaColumn`\"\u003e`schema_column`\u003c/span\u003e block as defined below.\n"}},"requiredInputs":["dataFactoryId","linkedServiceName"],"stateInputs":{"description":"Input properties used for looking up and filtering DatasetJson resources.\n","properties":{"additionalProperties":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of additional properties to associate with the Data Factory Dataset.\n\nThe following supported arguments are specific to JSON Dataset:\n"},"annotations":{"type":"array","items":{"type":"string"},"description":"List of tags that can be used for describing the Data Factory Dataset.\n"},"azureBlobStorageLocation":{"$ref":"#/types/azure:datafactory/DatasetJsonAzureBlobStorageLocation:DatasetJsonAzureBlobStorageLocation","description":"A \u003cspan pulumi-lang-nodejs=\"`azureBlobStorageLocation`\" pulumi-lang-dotnet=\"`AzureBlobStorageLocation`\" pulumi-lang-go=\"`azureBlobStorageLocation`\" pulumi-lang-python=\"`azure_blob_storage_location`\" pulumi-lang-yaml=\"`azureBlobStorageLocation`\" pulumi-lang-java=\"`azureBlobStorageLocation`\"\u003e`azure_blob_storage_location`\u003c/span\u003e block as defined below.\n\nThe following supported arguments are specific to Delimited Text Dataset:\n"},"dataFactoryId":{"type":"string","description":"The Data Factory ID in which to associate the Linked Service with. Changing this forces a new resource.\n","willReplaceOnChanges":true},"description":{"type":"string","description":"The description for the Data Factory Dataset.\n"},"encoding":{"type":"string","description":"The encoding format for the file.\n"},"folder":{"type":"string","description":"The folder that this Dataset is in. If not specified, the Dataset will appear at the root level.\n"},"httpServerLocation":{"$ref":"#/types/azure:datafactory/DatasetJsonHttpServerLocation:DatasetJsonHttpServerLocation","description":"A \u003cspan pulumi-lang-nodejs=\"`httpServerLocation`\" pulumi-lang-dotnet=\"`HttpServerLocation`\" pulumi-lang-go=\"`httpServerLocation`\" pulumi-lang-python=\"`http_server_location`\" pulumi-lang-yaml=\"`httpServerLocation`\" pulumi-lang-java=\"`httpServerLocation`\"\u003e`http_server_location`\u003c/span\u003e block as defined below.\n"},"linkedServiceName":{"type":"string","description":"The Data Factory Linked Service name in which to associate the Dataset with.\n"},"name":{"type":"string","description":"Specifies the name of the Data Factory Dataset. Changing this forces a new resource to be created. Must be globally unique. See the [Microsoft documentation](https://docs.microsoft.com/azure/data-factory/naming-rules) for all restrictions.\n","willReplaceOnChanges":true},"parameters":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of parameters to associate with the Data Factory Dataset.\n"},"schemaColumns":{"type":"array","items":{"$ref":"#/types/azure:datafactory/DatasetJsonSchemaColumn:DatasetJsonSchemaColumn"},"description":"A \u003cspan pulumi-lang-nodejs=\"`schemaColumn`\" pulumi-lang-dotnet=\"`SchemaColumn`\" pulumi-lang-go=\"`schemaColumn`\" pulumi-lang-python=\"`schema_column`\" pulumi-lang-yaml=\"`schemaColumn`\" pulumi-lang-java=\"`schemaColumn`\"\u003e`schema_column`\u003c/span\u003e block as defined below.\n"}},"type":"object"}},"azure:datafactory/datasetMysql:DatasetMysql":{"description":"Manages a MySQL Dataset inside a Azure Data Factory.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleFactory = new azure.datafactory.Factory(\"example\", {\n    name: \"example\",\n    location: example.location,\n    resourceGroupName: example.name,\n});\nconst exampleLinkedServiceMysql = new azure.datafactory.LinkedServiceMysql(\"example\", {\n    name: \"example\",\n    dataFactoryId: exampleFactory.id,\n    connectionString: \"Server=test;Port=3306;Database=test;User=test;SSLMode=1;UseSystemTrustStore=0;Password=test\",\n});\nconst exampleDatasetMysql = new azure.datafactory.DatasetMysql(\"example\", {\n    name: \"example\",\n    dataFactoryId: exampleFactory.id,\n    linkedServiceName: exampleLinkedServiceMysql.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_factory = azure.datafactory.Factory(\"example\",\n    name=\"example\",\n    location=example.location,\n    resource_group_name=example.name)\nexample_linked_service_mysql = azure.datafactory.LinkedServiceMysql(\"example\",\n    name=\"example\",\n    data_factory_id=example_factory.id,\n    connection_string=\"Server=test;Port=3306;Database=test;User=test;SSLMode=1;UseSystemTrustStore=0;Password=test\")\nexample_dataset_mysql = azure.datafactory.DatasetMysql(\"example\",\n    name=\"example\",\n    data_factory_id=example_factory.id,\n    linked_service_name=example_linked_service_mysql.name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleFactory = new Azure.DataFactory.Factory(\"example\", new()\n    {\n        Name = \"example\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n    });\n\n    var exampleLinkedServiceMysql = new Azure.DataFactory.LinkedServiceMysql(\"example\", new()\n    {\n        Name = \"example\",\n        DataFactoryId = exampleFactory.Id,\n        ConnectionString = \"Server=test;Port=3306;Database=test;User=test;SSLMode=1;UseSystemTrustStore=0;Password=test\",\n    });\n\n    var exampleDatasetMysql = new Azure.DataFactory.DatasetMysql(\"example\", new()\n    {\n        Name = \"example\",\n        DataFactoryId = exampleFactory.Id,\n        LinkedServiceName = exampleLinkedServiceMysql.Name,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/datafactory\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleFactory, err := datafactory.NewFactory(ctx, \"example\", \u0026datafactory.FactoryArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleLinkedServiceMysql, err := datafactory.NewLinkedServiceMysql(ctx, \"example\", \u0026datafactory.LinkedServiceMysqlArgs{\n\t\t\tName:             pulumi.String(\"example\"),\n\t\t\tDataFactoryId:    exampleFactory.ID(),\n\t\t\tConnectionString: pulumi.String(\"Server=test;Port=3306;Database=test;User=test;SSLMode=1;UseSystemTrustStore=0;Password=test\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = datafactory.NewDatasetMysql(ctx, \"example\", \u0026datafactory.DatasetMysqlArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tDataFactoryId:     exampleFactory.ID(),\n\t\t\tLinkedServiceName: exampleLinkedServiceMysql.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.datafactory.Factory;\nimport com.pulumi.azure.datafactory.FactoryArgs;\nimport com.pulumi.azure.datafactory.LinkedServiceMysql;\nimport com.pulumi.azure.datafactory.LinkedServiceMysqlArgs;\nimport com.pulumi.azure.datafactory.DatasetMysql;\nimport com.pulumi.azure.datafactory.DatasetMysqlArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleFactory = new Factory(\"exampleFactory\", FactoryArgs.builder()\n            .name(\"example\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .build());\n\n        var exampleLinkedServiceMysql = new LinkedServiceMysql(\"exampleLinkedServiceMysql\", LinkedServiceMysqlArgs.builder()\n            .name(\"example\")\n            .dataFactoryId(exampleFactory.id())\n            .connectionString(\"Server=test;Port=3306;Database=test;User=test;SSLMode=1;UseSystemTrustStore=0;Password=test\")\n            .build());\n\n        var exampleDatasetMysql = new DatasetMysql(\"exampleDatasetMysql\", DatasetMysqlArgs.builder()\n            .name(\"example\")\n            .dataFactoryId(exampleFactory.id())\n            .linkedServiceName(exampleLinkedServiceMysql.name())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleFactory:\n    type: azure:datafactory:Factory\n    name: example\n    properties:\n      name: example\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n  exampleLinkedServiceMysql:\n    type: azure:datafactory:LinkedServiceMysql\n    name: example\n    properties:\n      name: example\n      dataFactoryId: ${exampleFactory.id}\n      connectionString: Server=test;Port=3306;Database=test;User=test;SSLMode=1;UseSystemTrustStore=0;Password=test\n  exampleDatasetMysql:\n    type: azure:datafactory:DatasetMysql\n    name: example\n    properties:\n      name: example\n      dataFactoryId: ${exampleFactory.id}\n      linkedServiceName: ${exampleLinkedServiceMysql.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nData Factory MySQL Datasets can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:datafactory/datasetMysql:DatasetMysql example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/example/providers/Microsoft.DataFactory/factories/example/datasets/example\n```\n\n","properties":{"additionalProperties":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of additional properties to associate with the Data Factory Dataset MySQL.\n\nThe following supported arguments are specific to MySQL Dataset:\n"},"annotations":{"type":"array","items":{"type":"string"},"description":"List of tags that can be used for describing the Data Factory Dataset MySQL.\n"},"dataFactoryId":{"type":"string","description":"The Data Factory ID in which to associate the Linked Service with. Changing this forces a new resource.\n"},"description":{"type":"string","description":"The description for the Data Factory Dataset MySQL.\n"},"folder":{"type":"string","description":"The folder that this Dataset is in. If not specified, the Dataset will appear at the root level.\n"},"linkedServiceName":{"type":"string","description":"The Data Factory Linked Service name in which to associate the Dataset with.\n"},"name":{"type":"string","description":"Specifies the name of the Data Factory Dataset MySQL. Changing this forces a new resource to be created. Must be globally unique. See the [Microsoft documentation](https://docs.microsoft.com/azure/data-factory/naming-rules) for all restrictions.\n"},"parameters":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of parameters to associate with the Data Factory Dataset MySQL.\n"},"schemaColumns":{"type":"array","items":{"$ref":"#/types/azure:datafactory/DatasetMysqlSchemaColumn:DatasetMysqlSchemaColumn"},"description":"A \u003cspan pulumi-lang-nodejs=\"`schemaColumn`\" pulumi-lang-dotnet=\"`SchemaColumn`\" pulumi-lang-go=\"`schemaColumn`\" pulumi-lang-python=\"`schema_column`\" pulumi-lang-yaml=\"`schemaColumn`\" pulumi-lang-java=\"`schemaColumn`\"\u003e`schema_column`\u003c/span\u003e block as defined below.\n"},"tableName":{"type":"string","description":"The table name of the Data Factory Dataset MySQL.\n"}},"required":["dataFactoryId","linkedServiceName","name"],"inputProperties":{"additionalProperties":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of additional properties to associate with the Data Factory Dataset MySQL.\n\nThe following supported arguments are specific to MySQL Dataset:\n"},"annotations":{"type":"array","items":{"type":"string"},"description":"List of tags that can be used for describing the Data Factory Dataset MySQL.\n"},"dataFactoryId":{"type":"string","description":"The Data Factory ID in which to associate the Linked Service with. Changing this forces a new resource.\n","willReplaceOnChanges":true},"description":{"type":"string","description":"The description for the Data Factory Dataset MySQL.\n"},"folder":{"type":"string","description":"The folder that this Dataset is in. If not specified, the Dataset will appear at the root level.\n"},"linkedServiceName":{"type":"string","description":"The Data Factory Linked Service name in which to associate the Dataset with.\n"},"name":{"type":"string","description":"Specifies the name of the Data Factory Dataset MySQL. Changing this forces a new resource to be created. Must be globally unique. See the [Microsoft documentation](https://docs.microsoft.com/azure/data-factory/naming-rules) for all restrictions.\n","willReplaceOnChanges":true},"parameters":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of parameters to associate with the Data Factory Dataset MySQL.\n"},"schemaColumns":{"type":"array","items":{"$ref":"#/types/azure:datafactory/DatasetMysqlSchemaColumn:DatasetMysqlSchemaColumn"},"description":"A \u003cspan pulumi-lang-nodejs=\"`schemaColumn`\" pulumi-lang-dotnet=\"`SchemaColumn`\" pulumi-lang-go=\"`schemaColumn`\" pulumi-lang-python=\"`schema_column`\" pulumi-lang-yaml=\"`schemaColumn`\" pulumi-lang-java=\"`schemaColumn`\"\u003e`schema_column`\u003c/span\u003e block as defined below.\n"},"tableName":{"type":"string","description":"The table name of the Data Factory Dataset MySQL.\n"}},"requiredInputs":["dataFactoryId","linkedServiceName"],"stateInputs":{"description":"Input properties used for looking up and filtering DatasetMysql resources.\n","properties":{"additionalProperties":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of additional properties to associate with the Data Factory Dataset MySQL.\n\nThe following supported arguments are specific to MySQL Dataset:\n"},"annotations":{"type":"array","items":{"type":"string"},"description":"List of tags that can be used for describing the Data Factory Dataset MySQL.\n"},"dataFactoryId":{"type":"string","description":"The Data Factory ID in which to associate the Linked Service with. Changing this forces a new resource.\n","willReplaceOnChanges":true},"description":{"type":"string","description":"The description for the Data Factory Dataset MySQL.\n"},"folder":{"type":"string","description":"The folder that this Dataset is in. If not specified, the Dataset will appear at the root level.\n"},"linkedServiceName":{"type":"string","description":"The Data Factory Linked Service name in which to associate the Dataset with.\n"},"name":{"type":"string","description":"Specifies the name of the Data Factory Dataset MySQL. Changing this forces a new resource to be created. Must be globally unique. See the [Microsoft documentation](https://docs.microsoft.com/azure/data-factory/naming-rules) for all restrictions.\n","willReplaceOnChanges":true},"parameters":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of parameters to associate with the Data Factory Dataset MySQL.\n"},"schemaColumns":{"type":"array","items":{"$ref":"#/types/azure:datafactory/DatasetMysqlSchemaColumn:DatasetMysqlSchemaColumn"},"description":"A \u003cspan pulumi-lang-nodejs=\"`schemaColumn`\" pulumi-lang-dotnet=\"`SchemaColumn`\" pulumi-lang-go=\"`schemaColumn`\" pulumi-lang-python=\"`schema_column`\" pulumi-lang-yaml=\"`schemaColumn`\" pulumi-lang-java=\"`schemaColumn`\"\u003e`schema_column`\u003c/span\u003e block as defined below.\n"},"tableName":{"type":"string","description":"The table name of the Data Factory Dataset MySQL.\n"}},"type":"object"}},"azure:datafactory/datasetParquet:DatasetParquet":{"description":"Manages an Azure Parquet Dataset inside an Azure Data Factory.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleFactory = new azure.datafactory.Factory(\"example\", {\n    name: \"example\",\n    location: example.location,\n    resourceGroupName: example.name,\n});\nconst exampleLinkedServiceWeb = new azure.datafactory.LinkedServiceWeb(\"example\", {\n    name: \"example\",\n    dataFactoryId: exampleFactory.id,\n    authenticationType: \"Anonymous\",\n    url: \"https://www.bing.com\",\n});\nconst exampleDatasetParquet = new azure.datafactory.DatasetParquet(\"example\", {\n    name: \"example\",\n    dataFactoryId: exampleFactory.id,\n    linkedServiceName: exampleLinkedServiceWeb.name,\n    httpServerLocation: {\n        relativeUrl: \"http://www.bing.com\",\n        path: \"foo/bar/\",\n        filename: \"fizz.txt\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_factory = azure.datafactory.Factory(\"example\",\n    name=\"example\",\n    location=example.location,\n    resource_group_name=example.name)\nexample_linked_service_web = azure.datafactory.LinkedServiceWeb(\"example\",\n    name=\"example\",\n    data_factory_id=example_factory.id,\n    authentication_type=\"Anonymous\",\n    url=\"https://www.bing.com\")\nexample_dataset_parquet = azure.datafactory.DatasetParquet(\"example\",\n    name=\"example\",\n    data_factory_id=example_factory.id,\n    linked_service_name=example_linked_service_web.name,\n    http_server_location={\n        \"relative_url\": \"http://www.bing.com\",\n        \"path\": \"foo/bar/\",\n        \"filename\": \"fizz.txt\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleFactory = new Azure.DataFactory.Factory(\"example\", new()\n    {\n        Name = \"example\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n    });\n\n    var exampleLinkedServiceWeb = new Azure.DataFactory.LinkedServiceWeb(\"example\", new()\n    {\n        Name = \"example\",\n        DataFactoryId = exampleFactory.Id,\n        AuthenticationType = \"Anonymous\",\n        Url = \"https://www.bing.com\",\n    });\n\n    var exampleDatasetParquet = new Azure.DataFactory.DatasetParquet(\"example\", new()\n    {\n        Name = \"example\",\n        DataFactoryId = exampleFactory.Id,\n        LinkedServiceName = exampleLinkedServiceWeb.Name,\n        HttpServerLocation = new Azure.DataFactory.Inputs.DatasetParquetHttpServerLocationArgs\n        {\n            RelativeUrl = \"http://www.bing.com\",\n            Path = \"foo/bar/\",\n            Filename = \"fizz.txt\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/datafactory\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleFactory, err := datafactory.NewFactory(ctx, \"example\", \u0026datafactory.FactoryArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleLinkedServiceWeb, err := datafactory.NewLinkedServiceWeb(ctx, \"example\", \u0026datafactory.LinkedServiceWebArgs{\n\t\t\tName:               pulumi.String(\"example\"),\n\t\t\tDataFactoryId:      exampleFactory.ID(),\n\t\t\tAuthenticationType: pulumi.String(\"Anonymous\"),\n\t\t\tUrl:                pulumi.String(\"https://www.bing.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = datafactory.NewDatasetParquet(ctx, \"example\", \u0026datafactory.DatasetParquetArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tDataFactoryId:     exampleFactory.ID(),\n\t\t\tLinkedServiceName: exampleLinkedServiceWeb.Name,\n\t\t\tHttpServerLocation: \u0026datafactory.DatasetParquetHttpServerLocationArgs{\n\t\t\t\tRelativeUrl: pulumi.String(\"http://www.bing.com\"),\n\t\t\t\tPath:        pulumi.String(\"foo/bar/\"),\n\t\t\t\tFilename:    pulumi.String(\"fizz.txt\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.datafactory.Factory;\nimport com.pulumi.azure.datafactory.FactoryArgs;\nimport com.pulumi.azure.datafactory.LinkedServiceWeb;\nimport com.pulumi.azure.datafactory.LinkedServiceWebArgs;\nimport com.pulumi.azure.datafactory.DatasetParquet;\nimport com.pulumi.azure.datafactory.DatasetParquetArgs;\nimport com.pulumi.azure.datafactory.inputs.DatasetParquetHttpServerLocationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleFactory = new Factory(\"exampleFactory\", FactoryArgs.builder()\n            .name(\"example\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .build());\n\n        var exampleLinkedServiceWeb = new LinkedServiceWeb(\"exampleLinkedServiceWeb\", LinkedServiceWebArgs.builder()\n            .name(\"example\")\n            .dataFactoryId(exampleFactory.id())\n            .authenticationType(\"Anonymous\")\n            .url(\"https://www.bing.com\")\n            .build());\n\n        var exampleDatasetParquet = new DatasetParquet(\"exampleDatasetParquet\", DatasetParquetArgs.builder()\n            .name(\"example\")\n            .dataFactoryId(exampleFactory.id())\n            .linkedServiceName(exampleLinkedServiceWeb.name())\n            .httpServerLocation(DatasetParquetHttpServerLocationArgs.builder()\n                .relativeUrl(\"http://www.bing.com\")\n                .path(\"foo/bar/\")\n                .filename(\"fizz.txt\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleFactory:\n    type: azure:datafactory:Factory\n    name: example\n    properties:\n      name: example\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n  exampleLinkedServiceWeb:\n    type: azure:datafactory:LinkedServiceWeb\n    name: example\n    properties:\n      name: example\n      dataFactoryId: ${exampleFactory.id}\n      authenticationType: Anonymous\n      url: https://www.bing.com\n  exampleDatasetParquet:\n    type: azure:datafactory:DatasetParquet\n    name: example\n    properties:\n      name: example\n      dataFactoryId: ${exampleFactory.id}\n      linkedServiceName: ${exampleLinkedServiceWeb.name}\n      httpServerLocation:\n        relativeUrl: http://www.bing.com\n        path: foo/bar/\n        filename: fizz.txt\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nData Factory Datasets can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:datafactory/datasetParquet:DatasetParquet example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/example/providers/Microsoft.DataFactory/factories/example/datasets/example\n```\n\n","properties":{"additionalProperties":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of additional properties to associate with the Data Factory Dataset.\n\nThe following supported locations for a Parquet Dataset:\n"},"annotations":{"type":"array","items":{"type":"string"},"description":"List of tags that can be used for describing the Data Factory Dataset.\n"},"azureBlobFsLocation":{"$ref":"#/types/azure:datafactory/DatasetParquetAzureBlobFsLocation:DatasetParquetAzureBlobFsLocation","description":"A \u003cspan pulumi-lang-nodejs=\"`azureBlobFsLocation`\" pulumi-lang-dotnet=\"`AzureBlobFsLocation`\" pulumi-lang-go=\"`azureBlobFsLocation`\" pulumi-lang-python=\"`azure_blob_fs_location`\" pulumi-lang-yaml=\"`azureBlobFsLocation`\" pulumi-lang-java=\"`azureBlobFsLocation`\"\u003e`azure_blob_fs_location`\u003c/span\u003e block as defined below.\n"},"azureBlobStorageLocation":{"$ref":"#/types/azure:datafactory/DatasetParquetAzureBlobStorageLocation:DatasetParquetAzureBlobStorageLocation","description":"A \u003cspan pulumi-lang-nodejs=\"`azureBlobStorageLocation`\" pulumi-lang-dotnet=\"`AzureBlobStorageLocation`\" pulumi-lang-go=\"`azureBlobStorageLocation`\" pulumi-lang-python=\"`azure_blob_storage_location`\" pulumi-lang-yaml=\"`azureBlobStorageLocation`\" pulumi-lang-java=\"`azureBlobStorageLocation`\"\u003e`azure_blob_storage_location`\u003c/span\u003e block as defined below.\n\nThe following supported arguments are specific to Parquet Dataset:\n"},"compressionCodec":{"type":"string","description":"The compression codec used to read/write text files. Valid values are \u003cspan pulumi-lang-nodejs=\"`bzip2`\" pulumi-lang-dotnet=\"`Bzip2`\" pulumi-lang-go=\"`bzip2`\" pulumi-lang-python=\"`bzip2`\" pulumi-lang-yaml=\"`bzip2`\" pulumi-lang-java=\"`bzip2`\"\u003e`bzip2`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`gzip`\" pulumi-lang-dotnet=\"`Gzip`\" pulumi-lang-go=\"`gzip`\" pulumi-lang-python=\"`gzip`\" pulumi-lang-yaml=\"`gzip`\" pulumi-lang-java=\"`gzip`\"\u003e`gzip`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`deflate`\" pulumi-lang-dotnet=\"`Deflate`\" pulumi-lang-go=\"`deflate`\" pulumi-lang-python=\"`deflate`\" pulumi-lang-yaml=\"`deflate`\" pulumi-lang-java=\"`deflate`\"\u003e`deflate`\u003c/span\u003e, `ZipDeflate`, `TarGzip`, `Tar`, \u003cspan pulumi-lang-nodejs=\"`snappy`\" pulumi-lang-dotnet=\"`Snappy`\" pulumi-lang-go=\"`snappy`\" pulumi-lang-python=\"`snappy`\" pulumi-lang-yaml=\"`snappy`\" pulumi-lang-java=\"`snappy`\"\u003e`snappy`\u003c/span\u003e, or \u003cspan pulumi-lang-nodejs=\"`lz4`\" pulumi-lang-dotnet=\"`Lz4`\" pulumi-lang-go=\"`lz4`\" pulumi-lang-python=\"`lz4`\" pulumi-lang-yaml=\"`lz4`\" pulumi-lang-java=\"`lz4`\"\u003e`lz4`\u003c/span\u003e. Please note these values are case-sensitive.\n"},"compressionLevel":{"type":"string","description":"Specifies the compression level. Possible values are `Optimal` and `Fastest`,\n"},"dataFactoryId":{"type":"string","description":"The Data Factory ID in which to associate the Dataset with. Changing this forces a new resource.\n"},"description":{"type":"string","description":"The description for the Data Factory Dataset.\n"},"folder":{"type":"string","description":"The folder that this Dataset is in. If not specified, the Dataset will appear at the root level.\n"},"httpServerLocation":{"$ref":"#/types/azure:datafactory/DatasetParquetHttpServerLocation:DatasetParquetHttpServerLocation","description":"A \u003cspan pulumi-lang-nodejs=\"`httpServerLocation`\" pulumi-lang-dotnet=\"`HttpServerLocation`\" pulumi-lang-go=\"`httpServerLocation`\" pulumi-lang-python=\"`http_server_location`\" pulumi-lang-yaml=\"`httpServerLocation`\" pulumi-lang-java=\"`httpServerLocation`\"\u003e`http_server_location`\u003c/span\u003e block as defined below.\n"},"linkedServiceName":{"type":"string","description":"The Data Factory Linked Service name in which to associate the Dataset with.\n"},"name":{"type":"string","description":"Specifies the name of the Data Factory Dataset. Changing this forces a new resource to be created. Must be globally unique. See the [Microsoft documentation](https://docs.microsoft.com/azure/data-factory/naming-rules) for all restrictions.\n"},"parameters":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of parameters to associate with the Data Factory Dataset.\n"},"schemaColumns":{"type":"array","items":{"$ref":"#/types/azure:datafactory/DatasetParquetSchemaColumn:DatasetParquetSchemaColumn"},"description":"A \u003cspan pulumi-lang-nodejs=\"`schemaColumn`\" pulumi-lang-dotnet=\"`SchemaColumn`\" pulumi-lang-go=\"`schemaColumn`\" pulumi-lang-python=\"`schema_column`\" pulumi-lang-yaml=\"`schemaColumn`\" pulumi-lang-java=\"`schemaColumn`\"\u003e`schema_column`\u003c/span\u003e block as defined below.\n"}},"required":["dataFactoryId","linkedServiceName","name"],"inputProperties":{"additionalProperties":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of additional properties to associate with the Data Factory Dataset.\n\nThe following supported locations for a Parquet Dataset:\n"},"annotations":{"type":"array","items":{"type":"string"},"description":"List of tags that can be used for describing the Data Factory Dataset.\n"},"azureBlobFsLocation":{"$ref":"#/types/azure:datafactory/DatasetParquetAzureBlobFsLocation:DatasetParquetAzureBlobFsLocation","description":"A \u003cspan pulumi-lang-nodejs=\"`azureBlobFsLocation`\" pulumi-lang-dotnet=\"`AzureBlobFsLocation`\" pulumi-lang-go=\"`azureBlobFsLocation`\" pulumi-lang-python=\"`azure_blob_fs_location`\" pulumi-lang-yaml=\"`azureBlobFsLocation`\" pulumi-lang-java=\"`azureBlobFsLocation`\"\u003e`azure_blob_fs_location`\u003c/span\u003e block as defined below.\n"},"azureBlobStorageLocation":{"$ref":"#/types/azure:datafactory/DatasetParquetAzureBlobStorageLocation:DatasetParquetAzureBlobStorageLocation","description":"A \u003cspan pulumi-lang-nodejs=\"`azureBlobStorageLocation`\" pulumi-lang-dotnet=\"`AzureBlobStorageLocation`\" pulumi-lang-go=\"`azureBlobStorageLocation`\" pulumi-lang-python=\"`azure_blob_storage_location`\" pulumi-lang-yaml=\"`azureBlobStorageLocation`\" pulumi-lang-java=\"`azureBlobStorageLocation`\"\u003e`azure_blob_storage_location`\u003c/span\u003e block as defined below.\n\nThe following supported arguments are specific to Parquet Dataset:\n"},"compressionCodec":{"type":"string","description":"The compression codec used to read/write text files. Valid values are \u003cspan pulumi-lang-nodejs=\"`bzip2`\" pulumi-lang-dotnet=\"`Bzip2`\" pulumi-lang-go=\"`bzip2`\" pulumi-lang-python=\"`bzip2`\" pulumi-lang-yaml=\"`bzip2`\" pulumi-lang-java=\"`bzip2`\"\u003e`bzip2`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`gzip`\" pulumi-lang-dotnet=\"`Gzip`\" pulumi-lang-go=\"`gzip`\" pulumi-lang-python=\"`gzip`\" pulumi-lang-yaml=\"`gzip`\" pulumi-lang-java=\"`gzip`\"\u003e`gzip`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`deflate`\" pulumi-lang-dotnet=\"`Deflate`\" pulumi-lang-go=\"`deflate`\" pulumi-lang-python=\"`deflate`\" pulumi-lang-yaml=\"`deflate`\" pulumi-lang-java=\"`deflate`\"\u003e`deflate`\u003c/span\u003e, `ZipDeflate`, `TarGzip`, `Tar`, \u003cspan pulumi-lang-nodejs=\"`snappy`\" pulumi-lang-dotnet=\"`Snappy`\" pulumi-lang-go=\"`snappy`\" pulumi-lang-python=\"`snappy`\" pulumi-lang-yaml=\"`snappy`\" pulumi-lang-java=\"`snappy`\"\u003e`snappy`\u003c/span\u003e, or \u003cspan pulumi-lang-nodejs=\"`lz4`\" pulumi-lang-dotnet=\"`Lz4`\" pulumi-lang-go=\"`lz4`\" pulumi-lang-python=\"`lz4`\" pulumi-lang-yaml=\"`lz4`\" pulumi-lang-java=\"`lz4`\"\u003e`lz4`\u003c/span\u003e. Please note these values are case-sensitive.\n"},"compressionLevel":{"type":"string","description":"Specifies the compression level. Possible values are `Optimal` and `Fastest`,\n"},"dataFactoryId":{"type":"string","description":"The Data Factory ID in which to associate the Dataset with. Changing this forces a new resource.\n","willReplaceOnChanges":true},"description":{"type":"string","description":"The description for the Data Factory Dataset.\n"},"folder":{"type":"string","description":"The folder that this Dataset is in. If not specified, the Dataset will appear at the root level.\n"},"httpServerLocation":{"$ref":"#/types/azure:datafactory/DatasetParquetHttpServerLocation:DatasetParquetHttpServerLocation","description":"A \u003cspan pulumi-lang-nodejs=\"`httpServerLocation`\" pulumi-lang-dotnet=\"`HttpServerLocation`\" pulumi-lang-go=\"`httpServerLocation`\" pulumi-lang-python=\"`http_server_location`\" pulumi-lang-yaml=\"`httpServerLocation`\" pulumi-lang-java=\"`httpServerLocation`\"\u003e`http_server_location`\u003c/span\u003e block as defined below.\n"},"linkedServiceName":{"type":"string","description":"The Data Factory Linked Service name in which to associate the Dataset with.\n"},"name":{"type":"string","description":"Specifies the name of the Data Factory Dataset. Changing this forces a new resource to be created. Must be globally unique. See the [Microsoft documentation](https://docs.microsoft.com/azure/data-factory/naming-rules) for all restrictions.\n","willReplaceOnChanges":true},"parameters":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of parameters to associate with the Data Factory Dataset.\n"},"schemaColumns":{"type":"array","items":{"$ref":"#/types/azure:datafactory/DatasetParquetSchemaColumn:DatasetParquetSchemaColumn"},"description":"A \u003cspan pulumi-lang-nodejs=\"`schemaColumn`\" pulumi-lang-dotnet=\"`SchemaColumn`\" pulumi-lang-go=\"`schemaColumn`\" pulumi-lang-python=\"`schema_column`\" pulumi-lang-yaml=\"`schemaColumn`\" pulumi-lang-java=\"`schemaColumn`\"\u003e`schema_column`\u003c/span\u003e block as defined below.\n"}},"requiredInputs":["dataFactoryId","linkedServiceName"],"stateInputs":{"description":"Input properties used for looking up and filtering DatasetParquet resources.\n","properties":{"additionalProperties":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of additional properties to associate with the Data Factory Dataset.\n\nThe following supported locations for a Parquet Dataset:\n"},"annotations":{"type":"array","items":{"type":"string"},"description":"List of tags that can be used for describing the Data Factory Dataset.\n"},"azureBlobFsLocation":{"$ref":"#/types/azure:datafactory/DatasetParquetAzureBlobFsLocation:DatasetParquetAzureBlobFsLocation","description":"A \u003cspan pulumi-lang-nodejs=\"`azureBlobFsLocation`\" pulumi-lang-dotnet=\"`AzureBlobFsLocation`\" pulumi-lang-go=\"`azureBlobFsLocation`\" pulumi-lang-python=\"`azure_blob_fs_location`\" pulumi-lang-yaml=\"`azureBlobFsLocation`\" pulumi-lang-java=\"`azureBlobFsLocation`\"\u003e`azure_blob_fs_location`\u003c/span\u003e block as defined below.\n"},"azureBlobStorageLocation":{"$ref":"#/types/azure:datafactory/DatasetParquetAzureBlobStorageLocation:DatasetParquetAzureBlobStorageLocation","description":"A \u003cspan pulumi-lang-nodejs=\"`azureBlobStorageLocation`\" pulumi-lang-dotnet=\"`AzureBlobStorageLocation`\" pulumi-lang-go=\"`azureBlobStorageLocation`\" pulumi-lang-python=\"`azure_blob_storage_location`\" pulumi-lang-yaml=\"`azureBlobStorageLocation`\" pulumi-lang-java=\"`azureBlobStorageLocation`\"\u003e`azure_blob_storage_location`\u003c/span\u003e block as defined below.\n\nThe following supported arguments are specific to Parquet Dataset:\n"},"compressionCodec":{"type":"string","description":"The compression codec used to read/write text files. Valid values are \u003cspan pulumi-lang-nodejs=\"`bzip2`\" pulumi-lang-dotnet=\"`Bzip2`\" pulumi-lang-go=\"`bzip2`\" pulumi-lang-python=\"`bzip2`\" pulumi-lang-yaml=\"`bzip2`\" pulumi-lang-java=\"`bzip2`\"\u003e`bzip2`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`gzip`\" pulumi-lang-dotnet=\"`Gzip`\" pulumi-lang-go=\"`gzip`\" pulumi-lang-python=\"`gzip`\" pulumi-lang-yaml=\"`gzip`\" pulumi-lang-java=\"`gzip`\"\u003e`gzip`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`deflate`\" pulumi-lang-dotnet=\"`Deflate`\" pulumi-lang-go=\"`deflate`\" pulumi-lang-python=\"`deflate`\" pulumi-lang-yaml=\"`deflate`\" pulumi-lang-java=\"`deflate`\"\u003e`deflate`\u003c/span\u003e, `ZipDeflate`, `TarGzip`, `Tar`, \u003cspan pulumi-lang-nodejs=\"`snappy`\" pulumi-lang-dotnet=\"`Snappy`\" pulumi-lang-go=\"`snappy`\" pulumi-lang-python=\"`snappy`\" pulumi-lang-yaml=\"`snappy`\" pulumi-lang-java=\"`snappy`\"\u003e`snappy`\u003c/span\u003e, or \u003cspan pulumi-lang-nodejs=\"`lz4`\" pulumi-lang-dotnet=\"`Lz4`\" pulumi-lang-go=\"`lz4`\" pulumi-lang-python=\"`lz4`\" pulumi-lang-yaml=\"`lz4`\" pulumi-lang-java=\"`lz4`\"\u003e`lz4`\u003c/span\u003e. Please note these values are case-sensitive.\n"},"compressionLevel":{"type":"string","description":"Specifies the compression level. Possible values are `Optimal` and `Fastest`,\n"},"dataFactoryId":{"type":"string","description":"The Data Factory ID in which to associate the Dataset with. Changing this forces a new resource.\n","willReplaceOnChanges":true},"description":{"type":"string","description":"The description for the Data Factory Dataset.\n"},"folder":{"type":"string","description":"The folder that this Dataset is in. If not specified, the Dataset will appear at the root level.\n"},"httpServerLocation":{"$ref":"#/types/azure:datafactory/DatasetParquetHttpServerLocation:DatasetParquetHttpServerLocation","description":"A \u003cspan pulumi-lang-nodejs=\"`httpServerLocation`\" pulumi-lang-dotnet=\"`HttpServerLocation`\" pulumi-lang-go=\"`httpServerLocation`\" pulumi-lang-python=\"`http_server_location`\" pulumi-lang-yaml=\"`httpServerLocation`\" pulumi-lang-java=\"`httpServerLocation`\"\u003e`http_server_location`\u003c/span\u003e block as defined below.\n"},"linkedServiceName":{"type":"string","description":"The Data Factory Linked Service name in which to associate the Dataset with.\n"},"name":{"type":"string","description":"Specifies the name of the Data Factory Dataset. Changing this forces a new resource to be created. Must be globally unique. See the [Microsoft documentation](https://docs.microsoft.com/azure/data-factory/naming-rules) for all restrictions.\n","willReplaceOnChanges":true},"parameters":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of parameters to associate with the Data Factory Dataset.\n"},"schemaColumns":{"type":"array","items":{"$ref":"#/types/azure:datafactory/DatasetParquetSchemaColumn:DatasetParquetSchemaColumn"},"description":"A \u003cspan pulumi-lang-nodejs=\"`schemaColumn`\" pulumi-lang-dotnet=\"`SchemaColumn`\" pulumi-lang-go=\"`schemaColumn`\" pulumi-lang-python=\"`schema_column`\" pulumi-lang-yaml=\"`schemaColumn`\" pulumi-lang-java=\"`schemaColumn`\"\u003e`schema_column`\u003c/span\u003e block as defined below.\n"}},"type":"object"}},"azure:datafactory/datasetPostgresql:DatasetPostgresql":{"description":"Manages a PostgreSQL Dataset inside a Azure Data Factory.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleFactory = new azure.datafactory.Factory(\"example\", {\n    name: \"example\",\n    location: example.location,\n    resourceGroupName: example.name,\n});\nconst exampleLinkedServicePostgresql = new azure.datafactory.LinkedServicePostgresql(\"example\", {\n    name: \"example\",\n    dataFactoryId: exampleFactory.id,\n    connectionString: \"Host=example;Port=5432;Database=example;UID=example;EncryptionMethod=0;Password=example\",\n});\nconst exampleDatasetPostgresql = new azure.datafactory.DatasetPostgresql(\"example\", {\n    name: \"example\",\n    dataFactoryId: exampleFactory.id,\n    linkedServiceName: exampleLinkedServicePostgresql.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_factory = azure.datafactory.Factory(\"example\",\n    name=\"example\",\n    location=example.location,\n    resource_group_name=example.name)\nexample_linked_service_postgresql = azure.datafactory.LinkedServicePostgresql(\"example\",\n    name=\"example\",\n    data_factory_id=example_factory.id,\n    connection_string=\"Host=example;Port=5432;Database=example;UID=example;EncryptionMethod=0;Password=example\")\nexample_dataset_postgresql = azure.datafactory.DatasetPostgresql(\"example\",\n    name=\"example\",\n    data_factory_id=example_factory.id,\n    linked_service_name=example_linked_service_postgresql.name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleFactory = new Azure.DataFactory.Factory(\"example\", new()\n    {\n        Name = \"example\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n    });\n\n    var exampleLinkedServicePostgresql = new Azure.DataFactory.LinkedServicePostgresql(\"example\", new()\n    {\n        Name = \"example\",\n        DataFactoryId = exampleFactory.Id,\n        ConnectionString = \"Host=example;Port=5432;Database=example;UID=example;EncryptionMethod=0;Password=example\",\n    });\n\n    var exampleDatasetPostgresql = new Azure.DataFactory.DatasetPostgresql(\"example\", new()\n    {\n        Name = \"example\",\n        DataFactoryId = exampleFactory.Id,\n        LinkedServiceName = exampleLinkedServicePostgresql.Name,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/datafactory\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleFactory, err := datafactory.NewFactory(ctx, \"example\", \u0026datafactory.FactoryArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleLinkedServicePostgresql, err := datafactory.NewLinkedServicePostgresql(ctx, \"example\", \u0026datafactory.LinkedServicePostgresqlArgs{\n\t\t\tName:             pulumi.String(\"example\"),\n\t\t\tDataFactoryId:    exampleFactory.ID(),\n\t\t\tConnectionString: pulumi.String(\"Host=example;Port=5432;Database=example;UID=example;EncryptionMethod=0;Password=example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = datafactory.NewDatasetPostgresql(ctx, \"example\", \u0026datafactory.DatasetPostgresqlArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tDataFactoryId:     exampleFactory.ID(),\n\t\t\tLinkedServiceName: exampleLinkedServicePostgresql.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.datafactory.Factory;\nimport com.pulumi.azure.datafactory.FactoryArgs;\nimport com.pulumi.azure.datafactory.LinkedServicePostgresql;\nimport com.pulumi.azure.datafactory.LinkedServicePostgresqlArgs;\nimport com.pulumi.azure.datafactory.DatasetPostgresql;\nimport com.pulumi.azure.datafactory.DatasetPostgresqlArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleFactory = new Factory(\"exampleFactory\", FactoryArgs.builder()\n            .name(\"example\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .build());\n\n        var exampleLinkedServicePostgresql = new LinkedServicePostgresql(\"exampleLinkedServicePostgresql\", LinkedServicePostgresqlArgs.builder()\n            .name(\"example\")\n            .dataFactoryId(exampleFactory.id())\n            .connectionString(\"Host=example;Port=5432;Database=example;UID=example;EncryptionMethod=0;Password=example\")\n            .build());\n\n        var exampleDatasetPostgresql = new DatasetPostgresql(\"exampleDatasetPostgresql\", DatasetPostgresqlArgs.builder()\n            .name(\"example\")\n            .dataFactoryId(exampleFactory.id())\n            .linkedServiceName(exampleLinkedServicePostgresql.name())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleFactory:\n    type: azure:datafactory:Factory\n    name: example\n    properties:\n      name: example\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n  exampleLinkedServicePostgresql:\n    type: azure:datafactory:LinkedServicePostgresql\n    name: example\n    properties:\n      name: example\n      dataFactoryId: ${exampleFactory.id}\n      connectionString: Host=example;Port=5432;Database=example;UID=example;EncryptionMethod=0;Password=example\n  exampleDatasetPostgresql:\n    type: azure:datafactory:DatasetPostgresql\n    name: example\n    properties:\n      name: example\n      dataFactoryId: ${exampleFactory.id}\n      linkedServiceName: ${exampleLinkedServicePostgresql.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nData Factory PostgreSQL Datasets can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:datafactory/datasetPostgresql:DatasetPostgresql example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/example/providers/Microsoft.DataFactory/factories/example/datasets/example\n```\n\n","properties":{"additionalProperties":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of additional properties to associate with the Data Factory Dataset PostgreSQL.\n"},"annotations":{"type":"array","items":{"type":"string"},"description":"List of tags that can be used for describing the Data Factory Dataset PostgreSQL.\n"},"dataFactoryId":{"type":"string","description":"The Data Factory ID in which to associate the Linked Service with. Changing this forces a new resource.\n"},"description":{"type":"string","description":"The description for the Data Factory Dataset PostgreSQL.\n"},"folder":{"type":"string","description":"The folder that this Dataset is in. If not specified, the Dataset will appear at the root level.\n"},"linkedServiceName":{"type":"string","description":"The Data Factory Linked Service name in which to associate the Dataset with.\n"},"name":{"type":"string","description":"Specifies the name of the Data Factory Dataset PostgreSQL. Changing this forces a new resource to be created. Must be globally unique. See the [Microsoft documentation](https://docs.microsoft.com/azure/data-factory/naming-rules) for all restrictions.\n"},"parameters":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of parameters to associate with the Data Factory Dataset PostgreSQL.\n"},"schemaColumns":{"type":"array","items":{"$ref":"#/types/azure:datafactory/DatasetPostgresqlSchemaColumn:DatasetPostgresqlSchemaColumn"},"description":"A \u003cspan pulumi-lang-nodejs=\"`schemaColumn`\" pulumi-lang-dotnet=\"`SchemaColumn`\" pulumi-lang-go=\"`schemaColumn`\" pulumi-lang-python=\"`schema_column`\" pulumi-lang-yaml=\"`schemaColumn`\" pulumi-lang-java=\"`schemaColumn`\"\u003e`schema_column`\u003c/span\u003e block as defined below.\n"},"tableName":{"type":"string","description":"The table name of the Data Factory Dataset PostgreSQL.\n"}},"required":["dataFactoryId","linkedServiceName","name"],"inputProperties":{"additionalProperties":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of additional properties to associate with the Data Factory Dataset PostgreSQL.\n"},"annotations":{"type":"array","items":{"type":"string"},"description":"List of tags that can be used for describing the Data Factory Dataset PostgreSQL.\n"},"dataFactoryId":{"type":"string","description":"The Data Factory ID in which to associate the Linked Service with. Changing this forces a new resource.\n","willReplaceOnChanges":true},"description":{"type":"string","description":"The description for the Data Factory Dataset PostgreSQL.\n"},"folder":{"type":"string","description":"The folder that this Dataset is in. If not specified, the Dataset will appear at the root level.\n"},"linkedServiceName":{"type":"string","description":"The Data Factory Linked Service name in which to associate the Dataset with.\n"},"name":{"type":"string","description":"Specifies the name of the Data Factory Dataset PostgreSQL. Changing this forces a new resource to be created. Must be globally unique. See the [Microsoft documentation](https://docs.microsoft.com/azure/data-factory/naming-rules) for all restrictions.\n","willReplaceOnChanges":true},"parameters":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of parameters to associate with the Data Factory Dataset PostgreSQL.\n"},"schemaColumns":{"type":"array","items":{"$ref":"#/types/azure:datafactory/DatasetPostgresqlSchemaColumn:DatasetPostgresqlSchemaColumn"},"description":"A \u003cspan pulumi-lang-nodejs=\"`schemaColumn`\" pulumi-lang-dotnet=\"`SchemaColumn`\" pulumi-lang-go=\"`schemaColumn`\" pulumi-lang-python=\"`schema_column`\" pulumi-lang-yaml=\"`schemaColumn`\" pulumi-lang-java=\"`schemaColumn`\"\u003e`schema_column`\u003c/span\u003e block as defined below.\n"},"tableName":{"type":"string","description":"The table name of the Data Factory Dataset PostgreSQL.\n"}},"requiredInputs":["dataFactoryId","linkedServiceName"],"stateInputs":{"description":"Input properties used for looking up and filtering DatasetPostgresql resources.\n","properties":{"additionalProperties":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of additional properties to associate with the Data Factory Dataset PostgreSQL.\n"},"annotations":{"type":"array","items":{"type":"string"},"description":"List of tags that can be used for describing the Data Factory Dataset PostgreSQL.\n"},"dataFactoryId":{"type":"string","description":"The Data Factory ID in which to associate the Linked Service with. Changing this forces a new resource.\n","willReplaceOnChanges":true},"description":{"type":"string","description":"The description for the Data Factory Dataset PostgreSQL.\n"},"folder":{"type":"string","description":"The folder that this Dataset is in. If not specified, the Dataset will appear at the root level.\n"},"linkedServiceName":{"type":"string","description":"The Data Factory Linked Service name in which to associate the Dataset with.\n"},"name":{"type":"string","description":"Specifies the name of the Data Factory Dataset PostgreSQL. Changing this forces a new resource to be created. Must be globally unique. See the [Microsoft documentation](https://docs.microsoft.com/azure/data-factory/naming-rules) for all restrictions.\n","willReplaceOnChanges":true},"parameters":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of parameters to associate with the Data Factory Dataset PostgreSQL.\n"},"schemaColumns":{"type":"array","items":{"$ref":"#/types/azure:datafactory/DatasetPostgresqlSchemaColumn:DatasetPostgresqlSchemaColumn"},"description":"A \u003cspan pulumi-lang-nodejs=\"`schemaColumn`\" pulumi-lang-dotnet=\"`SchemaColumn`\" pulumi-lang-go=\"`schemaColumn`\" pulumi-lang-python=\"`schema_column`\" pulumi-lang-yaml=\"`schemaColumn`\" pulumi-lang-java=\"`schemaColumn`\"\u003e`schema_column`\u003c/span\u003e block as defined below.\n"},"tableName":{"type":"string","description":"The table name of the Data Factory Dataset PostgreSQL.\n"}},"type":"object"}},"azure:datafactory/datasetSnowflake:DatasetSnowflake":{"description":"Manages a Snowflake Dataset inside an Azure Data Factory.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleFactory = new azure.datafactory.Factory(\"example\", {\n    name: \"example\",\n    location: example.location,\n    resourceGroupName: example.name,\n});\nconst exampleLinkedServiceSnowflake = new azure.datafactory.LinkedServiceSnowflake(\"example\", {\n    name: \"example\",\n    dataFactoryId: exampleFactory.id,\n    connectionString: \"jdbc:snowflake://account.region.snowflakecomputing.com/?user=user\u0026db=db\u0026warehouse=wh\",\n});\nconst exampleDatasetSnowflake = new azure.datafactory.DatasetSnowflake(\"example\", {\n    name: \"example\",\n    dataFactoryId: exampleFactory.id,\n    linkedServiceName: exampleLinkedServiceSnowflake.name,\n    schemaName: \"foo_schema\",\n    tableName: \"foo_table\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_factory = azure.datafactory.Factory(\"example\",\n    name=\"example\",\n    location=example.location,\n    resource_group_name=example.name)\nexample_linked_service_snowflake = azure.datafactory.LinkedServiceSnowflake(\"example\",\n    name=\"example\",\n    data_factory_id=example_factory.id,\n    connection_string=\"jdbc:snowflake://account.region.snowflakecomputing.com/?user=user\u0026db=db\u0026warehouse=wh\")\nexample_dataset_snowflake = azure.datafactory.DatasetSnowflake(\"example\",\n    name=\"example\",\n    data_factory_id=example_factory.id,\n    linked_service_name=example_linked_service_snowflake.name,\n    schema_name=\"foo_schema\",\n    table_name=\"foo_table\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleFactory = new Azure.DataFactory.Factory(\"example\", new()\n    {\n        Name = \"example\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n    });\n\n    var exampleLinkedServiceSnowflake = new Azure.DataFactory.LinkedServiceSnowflake(\"example\", new()\n    {\n        Name = \"example\",\n        DataFactoryId = exampleFactory.Id,\n        ConnectionString = \"jdbc:snowflake://account.region.snowflakecomputing.com/?user=user\u0026db=db\u0026warehouse=wh\",\n    });\n\n    var exampleDatasetSnowflake = new Azure.DataFactory.DatasetSnowflake(\"example\", new()\n    {\n        Name = \"example\",\n        DataFactoryId = exampleFactory.Id,\n        LinkedServiceName = exampleLinkedServiceSnowflake.Name,\n        SchemaName = \"foo_schema\",\n        TableName = \"foo_table\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/datafactory\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleFactory, err := datafactory.NewFactory(ctx, \"example\", \u0026datafactory.FactoryArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleLinkedServiceSnowflake, err := datafactory.NewLinkedServiceSnowflake(ctx, \"example\", \u0026datafactory.LinkedServiceSnowflakeArgs{\n\t\t\tName:             pulumi.String(\"example\"),\n\t\t\tDataFactoryId:    exampleFactory.ID(),\n\t\t\tConnectionString: pulumi.String(\"jdbc:snowflake://account.region.snowflakecomputing.com/?user=user\u0026db=db\u0026warehouse=wh\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = datafactory.NewDatasetSnowflake(ctx, \"example\", \u0026datafactory.DatasetSnowflakeArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tDataFactoryId:     exampleFactory.ID(),\n\t\t\tLinkedServiceName: exampleLinkedServiceSnowflake.Name,\n\t\t\tSchemaName:        pulumi.String(\"foo_schema\"),\n\t\t\tTableName:         pulumi.String(\"foo_table\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.datafactory.Factory;\nimport com.pulumi.azure.datafactory.FactoryArgs;\nimport com.pulumi.azure.datafactory.LinkedServiceSnowflake;\nimport com.pulumi.azure.datafactory.LinkedServiceSnowflakeArgs;\nimport com.pulumi.azure.datafactory.DatasetSnowflake;\nimport com.pulumi.azure.datafactory.DatasetSnowflakeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleFactory = new Factory(\"exampleFactory\", FactoryArgs.builder()\n            .name(\"example\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .build());\n\n        var exampleLinkedServiceSnowflake = new LinkedServiceSnowflake(\"exampleLinkedServiceSnowflake\", LinkedServiceSnowflakeArgs.builder()\n            .name(\"example\")\n            .dataFactoryId(exampleFactory.id())\n            .connectionString(\"jdbc:snowflake://account.region.snowflakecomputing.com/?user=user\u0026db=db\u0026warehouse=wh\")\n            .build());\n\n        var exampleDatasetSnowflake = new DatasetSnowflake(\"exampleDatasetSnowflake\", DatasetSnowflakeArgs.builder()\n            .name(\"example\")\n            .dataFactoryId(exampleFactory.id())\n            .linkedServiceName(exampleLinkedServiceSnowflake.name())\n            .schemaName(\"foo_schema\")\n            .tableName(\"foo_table\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleFactory:\n    type: azure:datafactory:Factory\n    name: example\n    properties:\n      name: example\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n  exampleLinkedServiceSnowflake:\n    type: azure:datafactory:LinkedServiceSnowflake\n    name: example\n    properties:\n      name: example\n      dataFactoryId: ${exampleFactory.id}\n      connectionString: jdbc:snowflake://account.region.snowflakecomputing.com/?user=user\u0026db=db\u0026warehouse=wh\n  exampleDatasetSnowflake:\n    type: azure:datafactory:DatasetSnowflake\n    name: example\n    properties:\n      name: example\n      dataFactoryId: ${exampleFactory.id}\n      linkedServiceName: ${exampleLinkedServiceSnowflake.name}\n      schemaName: foo_schema\n      tableName: foo_table\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nData Factory Snowflake Datasets can be imported using the `resource id`,  e.g.\n\n```sh\n$ pulumi import azure:datafactory/datasetSnowflake:DatasetSnowflake example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/example/providers/Microsoft.DataFactory/factories/example/datasets/example\n```\n\n","properties":{"additionalProperties":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of additional properties to associate with the Data Factory Dataset Snowflake.\n"},"annotations":{"type":"array","items":{"type":"string"},"description":"List of tags that can be used for describing the Data Factory Dataset Snowflake.\n"},"dataFactoryId":{"type":"string","description":"The Data Factory ID in which to associate the Linked Service with. Changing this forces a new resource.\n"},"description":{"type":"string","description":"The description for the Data Factory Dataset Snowflake.\n"},"folder":{"type":"string","description":"The folder that this Dataset is in. If not specified, the Dataset will appear at the root level.\n"},"linkedServiceName":{"type":"string","description":"The Data Factory Linked Service name in which to associate the Dataset with.\n"},"name":{"type":"string","description":"Specifies the name of the Data Factory Dataset Snowflake. Changing this forces a new resource to be created. Must be globally unique. See the [Microsoft documentation](https://docs.microsoft.com/azure/data-factory/naming-rules) for all restrictions.\n"},"parameters":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of parameters to associate with the Data Factory Dataset Snowflake.\n"},"schemaColumns":{"type":"array","items":{"$ref":"#/types/azure:datafactory/DatasetSnowflakeSchemaColumn:DatasetSnowflakeSchemaColumn"},"description":"A \u003cspan pulumi-lang-nodejs=\"`schemaColumn`\" pulumi-lang-dotnet=\"`SchemaColumn`\" pulumi-lang-go=\"`schemaColumn`\" pulumi-lang-python=\"`schema_column`\" pulumi-lang-yaml=\"`schemaColumn`\" pulumi-lang-java=\"`schemaColumn`\"\u003e`schema_column`\u003c/span\u003e block as defined below.\n"},"schemaName":{"type":"string","description":"The schema name of the Data Factory Dataset Snowflake.\n"},"tableName":{"type":"string","description":"The table name of the Data Factory Dataset Snowflake.\n"}},"required":["dataFactoryId","linkedServiceName","name"],"inputProperties":{"additionalProperties":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of additional properties to associate with the Data Factory Dataset Snowflake.\n"},"annotations":{"type":"array","items":{"type":"string"},"description":"List of tags that can be used for describing the Data Factory Dataset Snowflake.\n"},"dataFactoryId":{"type":"string","description":"The Data Factory ID in which to associate the Linked Service with. Changing this forces a new resource.\n","willReplaceOnChanges":true},"description":{"type":"string","description":"The description for the Data Factory Dataset Snowflake.\n"},"folder":{"type":"string","description":"The folder that this Dataset is in. If not specified, the Dataset will appear at the root level.\n"},"linkedServiceName":{"type":"string","description":"The Data Factory Linked Service name in which to associate the Dataset with.\n"},"name":{"type":"string","description":"Specifies the name of the Data Factory Dataset Snowflake. Changing this forces a new resource to be created. Must be globally unique. See the [Microsoft documentation](https://docs.microsoft.com/azure/data-factory/naming-rules) for all restrictions.\n","willReplaceOnChanges":true},"parameters":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of parameters to associate with the Data Factory Dataset Snowflake.\n"},"schemaColumns":{"type":"array","items":{"$ref":"#/types/azure:datafactory/DatasetSnowflakeSchemaColumn:DatasetSnowflakeSchemaColumn"},"description":"A \u003cspan pulumi-lang-nodejs=\"`schemaColumn`\" pulumi-lang-dotnet=\"`SchemaColumn`\" pulumi-lang-go=\"`schemaColumn`\" pulumi-lang-python=\"`schema_column`\" pulumi-lang-yaml=\"`schemaColumn`\" pulumi-lang-java=\"`schemaColumn`\"\u003e`schema_column`\u003c/span\u003e block as defined below.\n"},"schemaName":{"type":"string","description":"The schema name of the Data Factory Dataset Snowflake.\n"},"tableName":{"type":"string","description":"The table name of the Data Factory Dataset Snowflake.\n"}},"requiredInputs":["dataFactoryId","linkedServiceName"],"stateInputs":{"description":"Input properties used for looking up and filtering DatasetSnowflake resources.\n","properties":{"additionalProperties":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of additional properties to associate with the Data Factory Dataset Snowflake.\n"},"annotations":{"type":"array","items":{"type":"string"},"description":"List of tags that can be used for describing the Data Factory Dataset Snowflake.\n"},"dataFactoryId":{"type":"string","description":"The Data Factory ID in which to associate the Linked Service with. Changing this forces a new resource.\n","willReplaceOnChanges":true},"description":{"type":"string","description":"The description for the Data Factory Dataset Snowflake.\n"},"folder":{"type":"string","description":"The folder that this Dataset is in. If not specified, the Dataset will appear at the root level.\n"},"linkedServiceName":{"type":"string","description":"The Data Factory Linked Service name in which to associate the Dataset with.\n"},"name":{"type":"string","description":"Specifies the name of the Data Factory Dataset Snowflake. Changing this forces a new resource to be created. Must be globally unique. See the [Microsoft documentation](https://docs.microsoft.com/azure/data-factory/naming-rules) for all restrictions.\n","willReplaceOnChanges":true},"parameters":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of parameters to associate with the Data Factory Dataset Snowflake.\n"},"schemaColumns":{"type":"array","items":{"$ref":"#/types/azure:datafactory/DatasetSnowflakeSchemaColumn:DatasetSnowflakeSchemaColumn"},"description":"A \u003cspan pulumi-lang-nodejs=\"`schemaColumn`\" pulumi-lang-dotnet=\"`SchemaColumn`\" pulumi-lang-go=\"`schemaColumn`\" pulumi-lang-python=\"`schema_column`\" pulumi-lang-yaml=\"`schemaColumn`\" pulumi-lang-java=\"`schemaColumn`\"\u003e`schema_column`\u003c/span\u003e block as defined below.\n"},"schemaName":{"type":"string","description":"The schema name of the Data Factory Dataset Snowflake.\n"},"tableName":{"type":"string","description":"The table name of the Data Factory Dataset Snowflake.\n"}},"type":"object"}},"azure:datafactory/datasetSqlServerTable:DatasetSqlServerTable":{"description":"Manages a SQL Server Table Dataset inside a Azure Data Factory.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleFactory = new azure.datafactory.Factory(\"example\", {\n    name: \"example\",\n    location: example.location,\n    resourceGroupName: example.name,\n});\nconst exampleLinkedServiceSqlServer = new azure.datafactory.LinkedServiceSqlServer(\"example\", {\n    name: \"example\",\n    dataFactoryId: exampleFactory.id,\n    connectionString: \"Integrated Security=False;Data Source=test;Initial Catalog=test;User ID=test;Password=test\",\n});\nconst exampleDatasetSqlServerTable = new azure.datafactory.DatasetSqlServerTable(\"example\", {\n    name: \"example\",\n    dataFactoryId: exampleFactory.id,\n    linkedServiceName: exampleLinkedServiceSqlServer.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_factory = azure.datafactory.Factory(\"example\",\n    name=\"example\",\n    location=example.location,\n    resource_group_name=example.name)\nexample_linked_service_sql_server = azure.datafactory.LinkedServiceSqlServer(\"example\",\n    name=\"example\",\n    data_factory_id=example_factory.id,\n    connection_string=\"Integrated Security=False;Data Source=test;Initial Catalog=test;User ID=test;Password=test\")\nexample_dataset_sql_server_table = azure.datafactory.DatasetSqlServerTable(\"example\",\n    name=\"example\",\n    data_factory_id=example_factory.id,\n    linked_service_name=example_linked_service_sql_server.name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleFactory = new Azure.DataFactory.Factory(\"example\", new()\n    {\n        Name = \"example\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n    });\n\n    var exampleLinkedServiceSqlServer = new Azure.DataFactory.LinkedServiceSqlServer(\"example\", new()\n    {\n        Name = \"example\",\n        DataFactoryId = exampleFactory.Id,\n        ConnectionString = \"Integrated Security=False;Data Source=test;Initial Catalog=test;User ID=test;Password=test\",\n    });\n\n    var exampleDatasetSqlServerTable = new Azure.DataFactory.DatasetSqlServerTable(\"example\", new()\n    {\n        Name = \"example\",\n        DataFactoryId = exampleFactory.Id,\n        LinkedServiceName = exampleLinkedServiceSqlServer.Name,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/datafactory\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleFactory, err := datafactory.NewFactory(ctx, \"example\", \u0026datafactory.FactoryArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleLinkedServiceSqlServer, err := datafactory.NewLinkedServiceSqlServer(ctx, \"example\", \u0026datafactory.LinkedServiceSqlServerArgs{\n\t\t\tName:             pulumi.String(\"example\"),\n\t\t\tDataFactoryId:    exampleFactory.ID(),\n\t\t\tConnectionString: pulumi.String(\"Integrated Security=False;Data Source=test;Initial Catalog=test;User ID=test;Password=test\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = datafactory.NewDatasetSqlServerTable(ctx, \"example\", \u0026datafactory.DatasetSqlServerTableArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tDataFactoryId:     exampleFactory.ID(),\n\t\t\tLinkedServiceName: exampleLinkedServiceSqlServer.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.datafactory.Factory;\nimport com.pulumi.azure.datafactory.FactoryArgs;\nimport com.pulumi.azure.datafactory.LinkedServiceSqlServer;\nimport com.pulumi.azure.datafactory.LinkedServiceSqlServerArgs;\nimport com.pulumi.azure.datafactory.DatasetSqlServerTable;\nimport com.pulumi.azure.datafactory.DatasetSqlServerTableArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleFactory = new Factory(\"exampleFactory\", FactoryArgs.builder()\n            .name(\"example\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .build());\n\n        var exampleLinkedServiceSqlServer = new LinkedServiceSqlServer(\"exampleLinkedServiceSqlServer\", LinkedServiceSqlServerArgs.builder()\n            .name(\"example\")\n            .dataFactoryId(exampleFactory.id())\n            .connectionString(\"Integrated Security=False;Data Source=test;Initial Catalog=test;User ID=test;Password=test\")\n            .build());\n\n        var exampleDatasetSqlServerTable = new DatasetSqlServerTable(\"exampleDatasetSqlServerTable\", DatasetSqlServerTableArgs.builder()\n            .name(\"example\")\n            .dataFactoryId(exampleFactory.id())\n            .linkedServiceName(exampleLinkedServiceSqlServer.name())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleFactory:\n    type: azure:datafactory:Factory\n    name: example\n    properties:\n      name: example\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n  exampleLinkedServiceSqlServer:\n    type: azure:datafactory:LinkedServiceSqlServer\n    name: example\n    properties:\n      name: example\n      dataFactoryId: ${exampleFactory.id}\n      connectionString: Integrated Security=False;Data Source=test;Initial Catalog=test;User ID=test;Password=test\n  exampleDatasetSqlServerTable:\n    type: azure:datafactory:DatasetSqlServerTable\n    name: example\n    properties:\n      name: example\n      dataFactoryId: ${exampleFactory.id}\n      linkedServiceName: ${exampleLinkedServiceSqlServer.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nData Factory SQL Server Table Datasets can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:datafactory/datasetSqlServerTable:DatasetSqlServerTable example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/example/providers/Microsoft.DataFactory/factories/example/datasets/example\n```\n\n","properties":{"additionalProperties":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of additional properties to associate with the Data Factory Dataset SQL Server Table.\n"},"annotations":{"type":"array","items":{"type":"string"},"description":"List of tags that can be used for describing the Data Factory Dataset SQL Server Table.\n"},"dataFactoryId":{"type":"string","description":"The Data Factory ID in which to associate the Linked Service with. Changing this forces a new resource.\n"},"description":{"type":"string","description":"The description for the Data Factory Dataset SQL Server Table.\n"},"folder":{"type":"string","description":"The folder that this Dataset is in. If not specified, the Dataset will appear at the root level.\n"},"linkedServiceName":{"type":"string","description":"The Data Factory Linked Service name in which to associate the Dataset with.\n"},"name":{"type":"string","description":"Specifies the name of the Data Factory Dataset SQL Server Table. Changing this forces a new resource to be created. Must be globally unique. See the [Microsoft documentation](https://docs.microsoft.com/azure/data-factory/naming-rules) for all restrictions.\n"},"parameters":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of parameters to associate with the Data Factory Dataset SQL Server Table.\n"},"schemaColumns":{"type":"array","items":{"$ref":"#/types/azure:datafactory/DatasetSqlServerTableSchemaColumn:DatasetSqlServerTableSchemaColumn"},"description":"A \u003cspan pulumi-lang-nodejs=\"`schemaColumn`\" pulumi-lang-dotnet=\"`SchemaColumn`\" pulumi-lang-go=\"`schemaColumn`\" pulumi-lang-python=\"`schema_column`\" pulumi-lang-yaml=\"`schemaColumn`\" pulumi-lang-java=\"`schemaColumn`\"\u003e`schema_column`\u003c/span\u003e block as defined below.\n"},"tableName":{"type":"string","description":"The table name of the Data Factory Dataset SQL Server Table.\n"}},"required":["dataFactoryId","linkedServiceName","name"],"inputProperties":{"additionalProperties":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of additional properties to associate with the Data Factory Dataset SQL Server Table.\n"},"annotations":{"type":"array","items":{"type":"string"},"description":"List of tags that can be used for describing the Data Factory Dataset SQL Server Table.\n"},"dataFactoryId":{"type":"string","description":"The Data Factory ID in which to associate the Linked Service with. Changing this forces a new resource.\n","willReplaceOnChanges":true},"description":{"type":"string","description":"The description for the Data Factory Dataset SQL Server Table.\n"},"folder":{"type":"string","description":"The folder that this Dataset is in. If not specified, the Dataset will appear at the root level.\n"},"linkedServiceName":{"type":"string","description":"The Data Factory Linked Service name in which to associate the Dataset with.\n"},"name":{"type":"string","description":"Specifies the name of the Data Factory Dataset SQL Server Table. Changing this forces a new resource to be created. Must be globally unique. See the [Microsoft documentation](https://docs.microsoft.com/azure/data-factory/naming-rules) for all restrictions.\n","willReplaceOnChanges":true},"parameters":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of parameters to associate with the Data Factory Dataset SQL Server Table.\n"},"schemaColumns":{"type":"array","items":{"$ref":"#/types/azure:datafactory/DatasetSqlServerTableSchemaColumn:DatasetSqlServerTableSchemaColumn"},"description":"A \u003cspan pulumi-lang-nodejs=\"`schemaColumn`\" pulumi-lang-dotnet=\"`SchemaColumn`\" pulumi-lang-go=\"`schemaColumn`\" pulumi-lang-python=\"`schema_column`\" pulumi-lang-yaml=\"`schemaColumn`\" pulumi-lang-java=\"`schemaColumn`\"\u003e`schema_column`\u003c/span\u003e block as defined below.\n"},"tableName":{"type":"string","description":"The table name of the Data Factory Dataset SQL Server Table.\n"}},"requiredInputs":["dataFactoryId","linkedServiceName"],"stateInputs":{"description":"Input properties used for looking up and filtering DatasetSqlServerTable resources.\n","properties":{"additionalProperties":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of additional properties to associate with the Data Factory Dataset SQL Server Table.\n"},"annotations":{"type":"array","items":{"type":"string"},"description":"List of tags that can be used for describing the Data Factory Dataset SQL Server Table.\n"},"dataFactoryId":{"type":"string","description":"The Data Factory ID in which to associate the Linked Service with. Changing this forces a new resource.\n","willReplaceOnChanges":true},"description":{"type":"string","description":"The description for the Data Factory Dataset SQL Server Table.\n"},"folder":{"type":"string","description":"The folder that this Dataset is in. If not specified, the Dataset will appear at the root level.\n"},"linkedServiceName":{"type":"string","description":"The Data Factory Linked Service name in which to associate the Dataset with.\n"},"name":{"type":"string","description":"Specifies the name of the Data Factory Dataset SQL Server Table. Changing this forces a new resource to be created. Must be globally unique. See the [Microsoft documentation](https://docs.microsoft.com/azure/data-factory/naming-rules) for all restrictions.\n","willReplaceOnChanges":true},"parameters":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of parameters to associate with the Data Factory Dataset SQL Server Table.\n"},"schemaColumns":{"type":"array","items":{"$ref":"#/types/azure:datafactory/DatasetSqlServerTableSchemaColumn:DatasetSqlServerTableSchemaColumn"},"description":"A \u003cspan pulumi-lang-nodejs=\"`schemaColumn`\" pulumi-lang-dotnet=\"`SchemaColumn`\" pulumi-lang-go=\"`schemaColumn`\" pulumi-lang-python=\"`schema_column`\" pulumi-lang-yaml=\"`schemaColumn`\" pulumi-lang-java=\"`schemaColumn`\"\u003e`schema_column`\u003c/span\u003e block as defined below.\n"},"tableName":{"type":"string","description":"The table name of the Data Factory Dataset SQL Server Table.\n"}},"type":"object"}},"azure:datafactory/factory:Factory":{"description":"Manages an Azure Data Factory (Version 2).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleFactory = new azure.datafactory.Factory(\"example\", {\n    name: \"example\",\n    location: example.location,\n    resourceGroupName: example.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_factory = azure.datafactory.Factory(\"example\",\n    name=\"example\",\n    location=example.location,\n    resource_group_name=example.name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleFactory = new Azure.DataFactory.Factory(\"example\", new()\n    {\n        Name = \"example\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/datafactory\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = datafactory.NewFactory(ctx, \"example\", \u0026datafactory.FactoryArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.datafactory.Factory;\nimport com.pulumi.azure.datafactory.FactoryArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleFactory = new Factory(\"exampleFactory\", FactoryArgs.builder()\n            .name(\"example\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleFactory:\n    type: azure:datafactory:Factory\n    name: example\n    properties:\n      name: example\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.DataFactory` - 2018-06-01\n\n## Import\n\nData Factory can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:datafactory/factory:Factory example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/example/providers/Microsoft.DataFactory/factories/example\n```\n\n","properties":{"customerManagedKeyId":{"type":"string","description":"Specifies the Azure Key Vault Key ID to be used as the Customer Managed Key (CMK) for double encryption. Required with user assigned identity.\n"},"customerManagedKeyIdentityId":{"type":"string","description":"Specifies the ID of the user assigned identity associated with the Customer Managed Key. Must be supplied at factory creation if \u003cspan pulumi-lang-nodejs=\"`customerManagedKeyId`\" pulumi-lang-dotnet=\"`CustomerManagedKeyId`\" pulumi-lang-go=\"`customerManagedKeyId`\" pulumi-lang-python=\"`customer_managed_key_id`\" pulumi-lang-yaml=\"`customerManagedKeyId`\" pulumi-lang-java=\"`customerManagedKeyId`\"\u003e`customer_managed_key_id`\u003c/span\u003e is set. Can be left empty once factory is created to use the system assigned identity. See the [Microsoft documentation](https://learn.microsoft.com/en-us/azure/data-factory/enable-customer-managed-key) for more information.\n"},"githubConfiguration":{"$ref":"#/types/azure:datafactory/FactoryGithubConfiguration:FactoryGithubConfiguration","description":"A \u003cspan pulumi-lang-nodejs=\"`githubConfiguration`\" pulumi-lang-dotnet=\"`GithubConfiguration`\" pulumi-lang-go=\"`githubConfiguration`\" pulumi-lang-python=\"`github_configuration`\" pulumi-lang-yaml=\"`githubConfiguration`\" pulumi-lang-java=\"`githubConfiguration`\"\u003e`github_configuration`\u003c/span\u003e block as defined below.\n"},"globalParameters":{"type":"array","items":{"$ref":"#/types/azure:datafactory/FactoryGlobalParameter:FactoryGlobalParameter"},"description":"A list of \u003cspan pulumi-lang-nodejs=\"`globalParameter`\" pulumi-lang-dotnet=\"`GlobalParameter`\" pulumi-lang-go=\"`globalParameter`\" pulumi-lang-python=\"`global_parameter`\" pulumi-lang-yaml=\"`globalParameter`\" pulumi-lang-java=\"`globalParameter`\"\u003e`global_parameter`\u003c/span\u003e blocks as defined above.\n"},"identity":{"$ref":"#/types/azure:datafactory/FactoryIdentity:FactoryIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n"},"managedVirtualNetworkEnabled":{"type":"boolean","description":"Is Managed Virtual Network enabled?\n"},"name":{"type":"string","description":"Specifies the name of the Data Factory. Changing this forces a new resource to be created. Must be globally unique. See the [Microsoft documentation](https://docs.microsoft.com/azure/data-factory/naming-rules) for all restrictions.\n"},"publicNetworkEnabled":{"type":"boolean","description":"Is the Data Factory visible to the public network? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"purviewId":{"type":"string","description":"Specifies the ID of the purview account resource associated with the Data Factory.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the Data Factory. Changing this forces a new resource to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"vstsConfiguration":{"$ref":"#/types/azure:datafactory/FactoryVstsConfiguration:FactoryVstsConfiguration","description":"A \u003cspan pulumi-lang-nodejs=\"`vstsConfiguration`\" pulumi-lang-dotnet=\"`VstsConfiguration`\" pulumi-lang-go=\"`vstsConfiguration`\" pulumi-lang-python=\"`vsts_configuration`\" pulumi-lang-yaml=\"`vstsConfiguration`\" pulumi-lang-java=\"`vstsConfiguration`\"\u003e`vsts_configuration`\u003c/span\u003e block as defined below.\n"}},"required":["customerManagedKeyId","customerManagedKeyIdentityId","location","name","resourceGroupName"],"inputProperties":{"customerManagedKeyId":{"type":"string","description":"Specifies the Azure Key Vault Key ID to be used as the Customer Managed Key (CMK) for double encryption. Required with user assigned identity.\n"},"customerManagedKeyIdentityId":{"type":"string","description":"Specifies the ID of the user assigned identity associated with the Customer Managed Key. Must be supplied at factory creation if \u003cspan pulumi-lang-nodejs=\"`customerManagedKeyId`\" pulumi-lang-dotnet=\"`CustomerManagedKeyId`\" pulumi-lang-go=\"`customerManagedKeyId`\" pulumi-lang-python=\"`customer_managed_key_id`\" pulumi-lang-yaml=\"`customerManagedKeyId`\" pulumi-lang-java=\"`customerManagedKeyId`\"\u003e`customer_managed_key_id`\u003c/span\u003e is set. Can be left empty once factory is created to use the system assigned identity. See the [Microsoft documentation](https://learn.microsoft.com/en-us/azure/data-factory/enable-customer-managed-key) for more information.\n"},"githubConfiguration":{"$ref":"#/types/azure:datafactory/FactoryGithubConfiguration:FactoryGithubConfiguration","description":"A \u003cspan pulumi-lang-nodejs=\"`githubConfiguration`\" pulumi-lang-dotnet=\"`GithubConfiguration`\" pulumi-lang-go=\"`githubConfiguration`\" pulumi-lang-python=\"`github_configuration`\" pulumi-lang-yaml=\"`githubConfiguration`\" pulumi-lang-java=\"`githubConfiguration`\"\u003e`github_configuration`\u003c/span\u003e block as defined below.\n"},"globalParameters":{"type":"array","items":{"$ref":"#/types/azure:datafactory/FactoryGlobalParameter:FactoryGlobalParameter"},"description":"A list of \u003cspan pulumi-lang-nodejs=\"`globalParameter`\" pulumi-lang-dotnet=\"`GlobalParameter`\" pulumi-lang-go=\"`globalParameter`\" pulumi-lang-python=\"`global_parameter`\" pulumi-lang-yaml=\"`globalParameter`\" pulumi-lang-java=\"`globalParameter`\"\u003e`global_parameter`\u003c/span\u003e blocks as defined above.\n"},"identity":{"$ref":"#/types/azure:datafactory/FactoryIdentity:FactoryIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"managedVirtualNetworkEnabled":{"type":"boolean","description":"Is Managed Virtual Network enabled?\n"},"name":{"type":"string","description":"Specifies the name of the Data Factory. Changing this forces a new resource to be created. Must be globally unique. See the [Microsoft documentation](https://docs.microsoft.com/azure/data-factory/naming-rules) for all restrictions.\n","willReplaceOnChanges":true},"publicNetworkEnabled":{"type":"boolean","description":"Is the Data Factory visible to the public network? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"purviewId":{"type":"string","description":"Specifies the ID of the purview account resource associated with the Data Factory.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the Data Factory. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"vstsConfiguration":{"$ref":"#/types/azure:datafactory/FactoryVstsConfiguration:FactoryVstsConfiguration","description":"A \u003cspan pulumi-lang-nodejs=\"`vstsConfiguration`\" pulumi-lang-dotnet=\"`VstsConfiguration`\" pulumi-lang-go=\"`vstsConfiguration`\" pulumi-lang-python=\"`vsts_configuration`\" pulumi-lang-yaml=\"`vstsConfiguration`\" pulumi-lang-java=\"`vstsConfiguration`\"\u003e`vsts_configuration`\u003c/span\u003e block as defined below.\n"}},"requiredInputs":["resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering Factory resources.\n","properties":{"customerManagedKeyId":{"type":"string","description":"Specifies the Azure Key Vault Key ID to be used as the Customer Managed Key (CMK) for double encryption. Required with user assigned identity.\n"},"customerManagedKeyIdentityId":{"type":"string","description":"Specifies the ID of the user assigned identity associated with the Customer Managed Key. Must be supplied at factory creation if \u003cspan pulumi-lang-nodejs=\"`customerManagedKeyId`\" pulumi-lang-dotnet=\"`CustomerManagedKeyId`\" pulumi-lang-go=\"`customerManagedKeyId`\" pulumi-lang-python=\"`customer_managed_key_id`\" pulumi-lang-yaml=\"`customerManagedKeyId`\" pulumi-lang-java=\"`customerManagedKeyId`\"\u003e`customer_managed_key_id`\u003c/span\u003e is set. Can be left empty once factory is created to use the system assigned identity. See the [Microsoft documentation](https://learn.microsoft.com/en-us/azure/data-factory/enable-customer-managed-key) for more information.\n"},"githubConfiguration":{"$ref":"#/types/azure:datafactory/FactoryGithubConfiguration:FactoryGithubConfiguration","description":"A \u003cspan pulumi-lang-nodejs=\"`githubConfiguration`\" pulumi-lang-dotnet=\"`GithubConfiguration`\" pulumi-lang-go=\"`githubConfiguration`\" pulumi-lang-python=\"`github_configuration`\" pulumi-lang-yaml=\"`githubConfiguration`\" pulumi-lang-java=\"`githubConfiguration`\"\u003e`github_configuration`\u003c/span\u003e block as defined below.\n"},"globalParameters":{"type":"array","items":{"$ref":"#/types/azure:datafactory/FactoryGlobalParameter:FactoryGlobalParameter"},"description":"A list of \u003cspan pulumi-lang-nodejs=\"`globalParameter`\" pulumi-lang-dotnet=\"`GlobalParameter`\" pulumi-lang-go=\"`globalParameter`\" pulumi-lang-python=\"`global_parameter`\" pulumi-lang-yaml=\"`globalParameter`\" pulumi-lang-java=\"`globalParameter`\"\u003e`global_parameter`\u003c/span\u003e blocks as defined above.\n"},"identity":{"$ref":"#/types/azure:datafactory/FactoryIdentity:FactoryIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"managedVirtualNetworkEnabled":{"type":"boolean","description":"Is Managed Virtual Network enabled?\n"},"name":{"type":"string","description":"Specifies the name of the Data Factory. Changing this forces a new resource to be created. Must be globally unique. See the [Microsoft documentation](https://docs.microsoft.com/azure/data-factory/naming-rules) for all restrictions.\n","willReplaceOnChanges":true},"publicNetworkEnabled":{"type":"boolean","description":"Is the Data Factory visible to the public network? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"purviewId":{"type":"string","description":"Specifies the ID of the purview account resource associated with the Data Factory.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the Data Factory. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"vstsConfiguration":{"$ref":"#/types/azure:datafactory/FactoryVstsConfiguration:FactoryVstsConfiguration","description":"A \u003cspan pulumi-lang-nodejs=\"`vstsConfiguration`\" pulumi-lang-dotnet=\"`VstsConfiguration`\" pulumi-lang-go=\"`vstsConfiguration`\" pulumi-lang-python=\"`vsts_configuration`\" pulumi-lang-yaml=\"`vstsConfiguration`\" pulumi-lang-java=\"`vstsConfiguration`\"\u003e`vsts_configuration`\u003c/span\u003e block as defined below.\n"}},"type":"object"}},"azure:datafactory/flowletDataFlow:FlowletDataFlow":{"description":"Manages a Flowlet Data Flow inside an Azure Data Factory.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleAccount = new azure.storage.Account(\"example\", {\n    name: \"example\",\n    location: example.location,\n    resourceGroupName: example.name,\n    accountTier: \"Standard\",\n    accountReplicationType: \"LRS\",\n});\nconst exampleFactory = new azure.datafactory.Factory(\"example\", {\n    name: \"example\",\n    location: example.location,\n    resourceGroupName: example.name,\n});\nconst exampleLinkedCustomService = new azure.datafactory.LinkedCustomService(\"example\", {\n    name: \"linked_service\",\n    dataFactoryId: exampleFactory.id,\n    type: \"AzureBlobStorage\",\n    typePropertiesJson: pulumi.interpolate`{\n  \\\"connectionString\\\": \\\"${exampleAccount.primaryConnectionString}\\\"\n}\n`,\n});\nconst example1 = new azure.datafactory.DatasetJson(\"example1\", {\n    name: \"dataset1\",\n    dataFactoryId: exampleFactory.id,\n    linkedServiceName: exampleLinkedCustomService.name,\n    azureBlobStorageLocation: {\n        container: \"container\",\n        path: \"foo/bar/\",\n        filename: \"foo.txt\",\n    },\n    encoding: \"UTF-8\",\n});\nconst example2 = new azure.datafactory.DatasetJson(\"example2\", {\n    name: \"dataset2\",\n    dataFactoryId: exampleFactory.id,\n    linkedServiceName: exampleLinkedCustomService.name,\n    azureBlobStorageLocation: {\n        container: \"container\",\n        path: \"foo/bar/\",\n        filename: \"bar.txt\",\n    },\n    encoding: \"UTF-8\",\n});\nconst example1FlowletDataFlow = new azure.datafactory.FlowletDataFlow(\"example1\", {\n    name: \"example\",\n    dataFactoryId: exampleFactory.id,\n    sources: [{\n        name: \"source1\",\n        linkedService: {\n            name: exampleLinkedCustomService.name,\n        },\n    }],\n    sinks: [{\n        name: \"sink1\",\n        linkedService: {\n            name: exampleLinkedCustomService.name,\n        },\n    }],\n    script: `source(\n  allowSchemaDrift: true, \n  validateSchema: false, \n  limit: 100, \n  ignoreNoFilesFound: false, \n  documentForm: 'documentPerLine') ~\u003e source1 \nsource1 sink(\n  allowSchemaDrift: true, \n  validateSchema: false, \n  skipDuplicateMapInputs: true, \n  skipDuplicateMapOutputs: true) ~\u003e sink1\n`,\n});\nconst example2FlowletDataFlow = new azure.datafactory.FlowletDataFlow(\"example2\", {\n    name: \"example\",\n    dataFactoryId: exampleFactory.id,\n    sources: [{\n        name: \"source1\",\n        linkedService: {\n            name: exampleLinkedCustomService.name,\n        },\n    }],\n    sinks: [{\n        name: \"sink1\",\n        linkedService: {\n            name: exampleLinkedCustomService.name,\n        },\n    }],\n    script: `source(\n  allowSchemaDrift: true, \n  validateSchema: false, \n  limit: 100, \n  ignoreNoFilesFound: false, \n  documentForm: 'documentPerLine') ~\u003e source1 \nsource1 sink(\n  allowSchemaDrift: true, \n  validateSchema: false, \n  skipDuplicateMapInputs: true, \n  skipDuplicateMapOutputs: true) ~\u003e sink1\n`,\n});\nconst exampleFlowletDataFlow = new azure.datafactory.FlowletDataFlow(\"example\", {\n    name: \"example\",\n    dataFactoryId: exampleFactory.id,\n    sources: [{\n        name: \"source1\",\n        flowlet: {\n            name: example1FlowletDataFlow.name,\n        },\n        linkedService: {\n            name: exampleLinkedCustomService.name,\n        },\n    }],\n    sinks: [{\n        name: \"sink1\",\n        flowlet: {\n            name: example2FlowletDataFlow.name,\n        },\n        linkedService: {\n            name: exampleLinkedCustomService.name,\n        },\n    }],\n    script: `source(\n  allowSchemaDrift: true, \n  validateSchema: false, \n  limit: 100, \n  ignoreNoFilesFound: false, \n  documentForm: 'documentPerLine') ~\u003e source1 \nsource1 sink(\n  allowSchemaDrift: true, \n  validateSchema: false, \n  skipDuplicateMapInputs: true, \n  skipDuplicateMapOutputs: true) ~\u003e sink1\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_account = azure.storage.Account(\"example\",\n    name=\"example\",\n    location=example.location,\n    resource_group_name=example.name,\n    account_tier=\"Standard\",\n    account_replication_type=\"LRS\")\nexample_factory = azure.datafactory.Factory(\"example\",\n    name=\"example\",\n    location=example.location,\n    resource_group_name=example.name)\nexample_linked_custom_service = azure.datafactory.LinkedCustomService(\"example\",\n    name=\"linked_service\",\n    data_factory_id=example_factory.id,\n    type=\"AzureBlobStorage\",\n    type_properties_json=example_account.primary_connection_string.apply(lambda primary_connection_string: f\"\"\"{{\n  \\\"connectionString\\\": \\\"{primary_connection_string}\\\"\n}}\n\"\"\"))\nexample1 = azure.datafactory.DatasetJson(\"example1\",\n    name=\"dataset1\",\n    data_factory_id=example_factory.id,\n    linked_service_name=example_linked_custom_service.name,\n    azure_blob_storage_location={\n        \"container\": \"container\",\n        \"path\": \"foo/bar/\",\n        \"filename\": \"foo.txt\",\n    },\n    encoding=\"UTF-8\")\nexample2 = azure.datafactory.DatasetJson(\"example2\",\n    name=\"dataset2\",\n    data_factory_id=example_factory.id,\n    linked_service_name=example_linked_custom_service.name,\n    azure_blob_storage_location={\n        \"container\": \"container\",\n        \"path\": \"foo/bar/\",\n        \"filename\": \"bar.txt\",\n    },\n    encoding=\"UTF-8\")\nexample1_flowlet_data_flow = azure.datafactory.FlowletDataFlow(\"example1\",\n    name=\"example\",\n    data_factory_id=example_factory.id,\n    sources=[{\n        \"name\": \"source1\",\n        \"linked_service\": {\n            \"name\": example_linked_custom_service.name,\n        },\n    }],\n    sinks=[{\n        \"name\": \"sink1\",\n        \"linked_service\": {\n            \"name\": example_linked_custom_service.name,\n        },\n    }],\n    script=\"\"\"source(\n  allowSchemaDrift: true, \n  validateSchema: false, \n  limit: 100, \n  ignoreNoFilesFound: false, \n  documentForm: 'documentPerLine') ~\u003e source1 \nsource1 sink(\n  allowSchemaDrift: true, \n  validateSchema: false, \n  skipDuplicateMapInputs: true, \n  skipDuplicateMapOutputs: true) ~\u003e sink1\n\"\"\")\nexample2_flowlet_data_flow = azure.datafactory.FlowletDataFlow(\"example2\",\n    name=\"example\",\n    data_factory_id=example_factory.id,\n    sources=[{\n        \"name\": \"source1\",\n        \"linked_service\": {\n            \"name\": example_linked_custom_service.name,\n        },\n    }],\n    sinks=[{\n        \"name\": \"sink1\",\n        \"linked_service\": {\n            \"name\": example_linked_custom_service.name,\n        },\n    }],\n    script=\"\"\"source(\n  allowSchemaDrift: true, \n  validateSchema: false, \n  limit: 100, \n  ignoreNoFilesFound: false, \n  documentForm: 'documentPerLine') ~\u003e source1 \nsource1 sink(\n  allowSchemaDrift: true, \n  validateSchema: false, \n  skipDuplicateMapInputs: true, \n  skipDuplicateMapOutputs: true) ~\u003e sink1\n\"\"\")\nexample_flowlet_data_flow = azure.datafactory.FlowletDataFlow(\"example\",\n    name=\"example\",\n    data_factory_id=example_factory.id,\n    sources=[{\n        \"name\": \"source1\",\n        \"flowlet\": {\n            \"name\": example1_flowlet_data_flow.name,\n        },\n        \"linked_service\": {\n            \"name\": example_linked_custom_service.name,\n        },\n    }],\n    sinks=[{\n        \"name\": \"sink1\",\n        \"flowlet\": {\n            \"name\": example2_flowlet_data_flow.name,\n        },\n        \"linked_service\": {\n            \"name\": example_linked_custom_service.name,\n        },\n    }],\n    script=\"\"\"source(\n  allowSchemaDrift: true, \n  validateSchema: false, \n  limit: 100, \n  ignoreNoFilesFound: false, \n  documentForm: 'documentPerLine') ~\u003e source1 \nsource1 sink(\n  allowSchemaDrift: true, \n  validateSchema: false, \n  skipDuplicateMapInputs: true, \n  skipDuplicateMapOutputs: true) ~\u003e sink1\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleAccount = new Azure.Storage.Account(\"example\", new()\n    {\n        Name = \"example\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        AccountTier = \"Standard\",\n        AccountReplicationType = \"LRS\",\n    });\n\n    var exampleFactory = new Azure.DataFactory.Factory(\"example\", new()\n    {\n        Name = \"example\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n    });\n\n    var exampleLinkedCustomService = new Azure.DataFactory.LinkedCustomService(\"example\", new()\n    {\n        Name = \"linked_service\",\n        DataFactoryId = exampleFactory.Id,\n        Type = \"AzureBlobStorage\",\n        TypePropertiesJson = exampleAccount.PrimaryConnectionString.Apply(primaryConnectionString =\u003e @$\"{{\n  \\\"\"connectionString\\\"\": \\\"\"{primaryConnectionString}\\\"\"\n}}\n\"),\n    });\n\n    var example1 = new Azure.DataFactory.DatasetJson(\"example1\", new()\n    {\n        Name = \"dataset1\",\n        DataFactoryId = exampleFactory.Id,\n        LinkedServiceName = exampleLinkedCustomService.Name,\n        AzureBlobStorageLocation = new Azure.DataFactory.Inputs.DatasetJsonAzureBlobStorageLocationArgs\n        {\n            Container = \"container\",\n            Path = \"foo/bar/\",\n            Filename = \"foo.txt\",\n        },\n        Encoding = \"UTF-8\",\n    });\n\n    var example2 = new Azure.DataFactory.DatasetJson(\"example2\", new()\n    {\n        Name = \"dataset2\",\n        DataFactoryId = exampleFactory.Id,\n        LinkedServiceName = exampleLinkedCustomService.Name,\n        AzureBlobStorageLocation = new Azure.DataFactory.Inputs.DatasetJsonAzureBlobStorageLocationArgs\n        {\n            Container = \"container\",\n            Path = \"foo/bar/\",\n            Filename = \"bar.txt\",\n        },\n        Encoding = \"UTF-8\",\n    });\n\n    var example1FlowletDataFlow = new Azure.DataFactory.FlowletDataFlow(\"example1\", new()\n    {\n        Name = \"example\",\n        DataFactoryId = exampleFactory.Id,\n        Sources = new[]\n        {\n            new Azure.DataFactory.Inputs.FlowletDataFlowSourceArgs\n            {\n                Name = \"source1\",\n                LinkedService = new Azure.DataFactory.Inputs.FlowletDataFlowSourceLinkedServiceArgs\n                {\n                    Name = exampleLinkedCustomService.Name,\n                },\n            },\n        },\n        Sinks = new[]\n        {\n            new Azure.DataFactory.Inputs.FlowletDataFlowSinkArgs\n            {\n                Name = \"sink1\",\n                LinkedService = new Azure.DataFactory.Inputs.FlowletDataFlowSinkLinkedServiceArgs\n                {\n                    Name = exampleLinkedCustomService.Name,\n                },\n            },\n        },\n        Script = @\"source(\n  allowSchemaDrift: true, \n  validateSchema: false, \n  limit: 100, \n  ignoreNoFilesFound: false, \n  documentForm: 'documentPerLine') ~\u003e source1 \nsource1 sink(\n  allowSchemaDrift: true, \n  validateSchema: false, \n  skipDuplicateMapInputs: true, \n  skipDuplicateMapOutputs: true) ~\u003e sink1\n\",\n    });\n\n    var example2FlowletDataFlow = new Azure.DataFactory.FlowletDataFlow(\"example2\", new()\n    {\n        Name = \"example\",\n        DataFactoryId = exampleFactory.Id,\n        Sources = new[]\n        {\n            new Azure.DataFactory.Inputs.FlowletDataFlowSourceArgs\n            {\n                Name = \"source1\",\n                LinkedService = new Azure.DataFactory.Inputs.FlowletDataFlowSourceLinkedServiceArgs\n                {\n                    Name = exampleLinkedCustomService.Name,\n                },\n            },\n        },\n        Sinks = new[]\n        {\n            new Azure.DataFactory.Inputs.FlowletDataFlowSinkArgs\n            {\n                Name = \"sink1\",\n                LinkedService = new Azure.DataFactory.Inputs.FlowletDataFlowSinkLinkedServiceArgs\n                {\n                    Name = exampleLinkedCustomService.Name,\n                },\n            },\n        },\n        Script = @\"source(\n  allowSchemaDrift: true, \n  validateSchema: false, \n  limit: 100, \n  ignoreNoFilesFound: false, \n  documentForm: 'documentPerLine') ~\u003e source1 \nsource1 sink(\n  allowSchemaDrift: true, \n  validateSchema: false, \n  skipDuplicateMapInputs: true, \n  skipDuplicateMapOutputs: true) ~\u003e sink1\n\",\n    });\n\n    var exampleFlowletDataFlow = new Azure.DataFactory.FlowletDataFlow(\"example\", new()\n    {\n        Name = \"example\",\n        DataFactoryId = exampleFactory.Id,\n        Sources = new[]\n        {\n            new Azure.DataFactory.Inputs.FlowletDataFlowSourceArgs\n            {\n                Name = \"source1\",\n                Flowlet = new Azure.DataFactory.Inputs.FlowletDataFlowSourceFlowletArgs\n                {\n                    Name = example1FlowletDataFlow.Name,\n                },\n                LinkedService = new Azure.DataFactory.Inputs.FlowletDataFlowSourceLinkedServiceArgs\n                {\n                    Name = exampleLinkedCustomService.Name,\n                },\n            },\n        },\n        Sinks = new[]\n        {\n            new Azure.DataFactory.Inputs.FlowletDataFlowSinkArgs\n            {\n                Name = \"sink1\",\n                Flowlet = new Azure.DataFactory.Inputs.FlowletDataFlowSinkFlowletArgs\n                {\n                    Name = example2FlowletDataFlow.Name,\n                },\n                LinkedService = new Azure.DataFactory.Inputs.FlowletDataFlowSinkLinkedServiceArgs\n                {\n                    Name = exampleLinkedCustomService.Name,\n                },\n            },\n        },\n        Script = @\"source(\n  allowSchemaDrift: true, \n  validateSchema: false, \n  limit: 100, \n  ignoreNoFilesFound: false, \n  documentForm: 'documentPerLine') ~\u003e source1 \nsource1 sink(\n  allowSchemaDrift: true, \n  validateSchema: false, \n  skipDuplicateMapInputs: true, \n  skipDuplicateMapOutputs: true) ~\u003e sink1\n\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/datafactory\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := storage.NewAccount(ctx, \"example\", \u0026storage.AccountArgs{\n\t\t\tName:                   pulumi.String(\"example\"),\n\t\t\tLocation:               example.Location,\n\t\t\tResourceGroupName:      example.Name,\n\t\t\tAccountTier:            pulumi.String(\"Standard\"),\n\t\t\tAccountReplicationType: pulumi.String(\"LRS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleFactory, err := datafactory.NewFactory(ctx, \"example\", \u0026datafactory.FactoryArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleLinkedCustomService, err := datafactory.NewLinkedCustomService(ctx, \"example\", \u0026datafactory.LinkedCustomServiceArgs{\n\t\t\tName:          pulumi.String(\"linked_service\"),\n\t\t\tDataFactoryId: exampleFactory.ID(),\n\t\t\tType:          pulumi.String(\"AzureBlobStorage\"),\n\t\t\tTypePropertiesJson: exampleAccount.PrimaryConnectionString.ApplyT(func(primaryConnectionString string) (string, error) {\n\t\t\t\treturn fmt.Sprintf(\"{\\n  \\\\\\\"connectionString\\\\\\\": \\\\\\\"%v\\\\\\\"\\n}\\n\", primaryConnectionString), nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = datafactory.NewDatasetJson(ctx, \"example1\", \u0026datafactory.DatasetJsonArgs{\n\t\t\tName:              pulumi.String(\"dataset1\"),\n\t\t\tDataFactoryId:     exampleFactory.ID(),\n\t\t\tLinkedServiceName: exampleLinkedCustomService.Name,\n\t\t\tAzureBlobStorageLocation: \u0026datafactory.DatasetJsonAzureBlobStorageLocationArgs{\n\t\t\t\tContainer: pulumi.String(\"container\"),\n\t\t\t\tPath:      pulumi.String(\"foo/bar/\"),\n\t\t\t\tFilename:  pulumi.String(\"foo.txt\"),\n\t\t\t},\n\t\t\tEncoding: pulumi.String(\"UTF-8\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = datafactory.NewDatasetJson(ctx, \"example2\", \u0026datafactory.DatasetJsonArgs{\n\t\t\tName:              pulumi.String(\"dataset2\"),\n\t\t\tDataFactoryId:     exampleFactory.ID(),\n\t\t\tLinkedServiceName: exampleLinkedCustomService.Name,\n\t\t\tAzureBlobStorageLocation: \u0026datafactory.DatasetJsonAzureBlobStorageLocationArgs{\n\t\t\t\tContainer: pulumi.String(\"container\"),\n\t\t\t\tPath:      pulumi.String(\"foo/bar/\"),\n\t\t\t\tFilename:  pulumi.String(\"bar.txt\"),\n\t\t\t},\n\t\t\tEncoding: pulumi.String(\"UTF-8\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample1FlowletDataFlow, err := datafactory.NewFlowletDataFlow(ctx, \"example1\", \u0026datafactory.FlowletDataFlowArgs{\n\t\t\tName:          pulumi.String(\"example\"),\n\t\t\tDataFactoryId: exampleFactory.ID(),\n\t\t\tSources: datafactory.FlowletDataFlowSourceArray{\n\t\t\t\t\u0026datafactory.FlowletDataFlowSourceArgs{\n\t\t\t\t\tName: pulumi.String(\"source1\"),\n\t\t\t\t\tLinkedService: \u0026datafactory.FlowletDataFlowSourceLinkedServiceArgs{\n\t\t\t\t\t\tName: exampleLinkedCustomService.Name,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tSinks: datafactory.FlowletDataFlowSinkArray{\n\t\t\t\t\u0026datafactory.FlowletDataFlowSinkArgs{\n\t\t\t\t\tName: pulumi.String(\"sink1\"),\n\t\t\t\t\tLinkedService: \u0026datafactory.FlowletDataFlowSinkLinkedServiceArgs{\n\t\t\t\t\t\tName: exampleLinkedCustomService.Name,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tScript: pulumi.String(`source(\n  allowSchemaDrift: true, \n  validateSchema: false, \n  limit: 100, \n  ignoreNoFilesFound: false, \n  documentForm: 'documentPerLine') ~\u003e source1 \nsource1 sink(\n  allowSchemaDrift: true, \n  validateSchema: false, \n  skipDuplicateMapInputs: true, \n  skipDuplicateMapOutputs: true) ~\u003e sink1\n`),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample2FlowletDataFlow, err := datafactory.NewFlowletDataFlow(ctx, \"example2\", \u0026datafactory.FlowletDataFlowArgs{\n\t\t\tName:          pulumi.String(\"example\"),\n\t\t\tDataFactoryId: exampleFactory.ID(),\n\t\t\tSources: datafactory.FlowletDataFlowSourceArray{\n\t\t\t\t\u0026datafactory.FlowletDataFlowSourceArgs{\n\t\t\t\t\tName: pulumi.String(\"source1\"),\n\t\t\t\t\tLinkedService: \u0026datafactory.FlowletDataFlowSourceLinkedServiceArgs{\n\t\t\t\t\t\tName: exampleLinkedCustomService.Name,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tSinks: datafactory.FlowletDataFlowSinkArray{\n\t\t\t\t\u0026datafactory.FlowletDataFlowSinkArgs{\n\t\t\t\t\tName: pulumi.String(\"sink1\"),\n\t\t\t\t\tLinkedService: \u0026datafactory.FlowletDataFlowSinkLinkedServiceArgs{\n\t\t\t\t\t\tName: exampleLinkedCustomService.Name,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tScript: pulumi.String(`source(\n  allowSchemaDrift: true, \n  validateSchema: false, \n  limit: 100, \n  ignoreNoFilesFound: false, \n  documentForm: 'documentPerLine') ~\u003e source1 \nsource1 sink(\n  allowSchemaDrift: true, \n  validateSchema: false, \n  skipDuplicateMapInputs: true, \n  skipDuplicateMapOutputs: true) ~\u003e sink1\n`),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = datafactory.NewFlowletDataFlow(ctx, \"example\", \u0026datafactory.FlowletDataFlowArgs{\n\t\t\tName:          pulumi.String(\"example\"),\n\t\t\tDataFactoryId: exampleFactory.ID(),\n\t\t\tSources: datafactory.FlowletDataFlowSourceArray{\n\t\t\t\t\u0026datafactory.FlowletDataFlowSourceArgs{\n\t\t\t\t\tName: pulumi.String(\"source1\"),\n\t\t\t\t\tFlowlet: \u0026datafactory.FlowletDataFlowSourceFlowletArgs{\n\t\t\t\t\t\tName: example1FlowletDataFlow.Name,\n\t\t\t\t\t},\n\t\t\t\t\tLinkedService: \u0026datafactory.FlowletDataFlowSourceLinkedServiceArgs{\n\t\t\t\t\t\tName: exampleLinkedCustomService.Name,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tSinks: datafactory.FlowletDataFlowSinkArray{\n\t\t\t\t\u0026datafactory.FlowletDataFlowSinkArgs{\n\t\t\t\t\tName: pulumi.String(\"sink1\"),\n\t\t\t\t\tFlowlet: \u0026datafactory.FlowletDataFlowSinkFlowletArgs{\n\t\t\t\t\t\tName: example2FlowletDataFlow.Name,\n\t\t\t\t\t},\n\t\t\t\t\tLinkedService: \u0026datafactory.FlowletDataFlowSinkLinkedServiceArgs{\n\t\t\t\t\t\tName: exampleLinkedCustomService.Name,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tScript: pulumi.String(`source(\n  allowSchemaDrift: true, \n  validateSchema: false, \n  limit: 100, \n  ignoreNoFilesFound: false, \n  documentForm: 'documentPerLine') ~\u003e source1 \nsource1 sink(\n  allowSchemaDrift: true, \n  validateSchema: false, \n  skipDuplicateMapInputs: true, \n  skipDuplicateMapOutputs: true) ~\u003e sink1\n`),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.storage.Account;\nimport com.pulumi.azure.storage.AccountArgs;\nimport com.pulumi.azure.datafactory.Factory;\nimport com.pulumi.azure.datafactory.FactoryArgs;\nimport com.pulumi.azure.datafactory.LinkedCustomService;\nimport com.pulumi.azure.datafactory.LinkedCustomServiceArgs;\nimport com.pulumi.azure.datafactory.DatasetJson;\nimport com.pulumi.azure.datafactory.DatasetJsonArgs;\nimport com.pulumi.azure.datafactory.inputs.DatasetJsonAzureBlobStorageLocationArgs;\nimport com.pulumi.azure.datafactory.FlowletDataFlow;\nimport com.pulumi.azure.datafactory.FlowletDataFlowArgs;\nimport com.pulumi.azure.datafactory.inputs.FlowletDataFlowSourceArgs;\nimport com.pulumi.azure.datafactory.inputs.FlowletDataFlowSourceLinkedServiceArgs;\nimport com.pulumi.azure.datafactory.inputs.FlowletDataFlowSinkArgs;\nimport com.pulumi.azure.datafactory.inputs.FlowletDataFlowSinkLinkedServiceArgs;\nimport com.pulumi.azure.datafactory.inputs.FlowletDataFlowSourceFlowletArgs;\nimport com.pulumi.azure.datafactory.inputs.FlowletDataFlowSinkFlowletArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"example\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .accountTier(\"Standard\")\n            .accountReplicationType(\"LRS\")\n            .build());\n\n        var exampleFactory = new Factory(\"exampleFactory\", FactoryArgs.builder()\n            .name(\"example\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .build());\n\n        var exampleLinkedCustomService = new LinkedCustomService(\"exampleLinkedCustomService\", LinkedCustomServiceArgs.builder()\n            .name(\"linked_service\")\n            .dataFactoryId(exampleFactory.id())\n            .type(\"AzureBlobStorage\")\n            .typePropertiesJson(exampleAccount.primaryConnectionString().applyValue(_primaryConnectionString -\u003e \"\"\"\n{\n  \\\"connectionString\\\": \\\"%s\\\"\n}\n\", _primaryConnectionString)))\n            .build());\n\n        var example1 = new DatasetJson(\"example1\", DatasetJsonArgs.builder()\n            .name(\"dataset1\")\n            .dataFactoryId(exampleFactory.id())\n            .linkedServiceName(exampleLinkedCustomService.name())\n            .azureBlobStorageLocation(DatasetJsonAzureBlobStorageLocationArgs.builder()\n                .container(\"container\")\n                .path(\"foo/bar/\")\n                .filename(\"foo.txt\")\n                .build())\n            .encoding(\"UTF-8\")\n            .build());\n\n        var example2 = new DatasetJson(\"example2\", DatasetJsonArgs.builder()\n            .name(\"dataset2\")\n            .dataFactoryId(exampleFactory.id())\n            .linkedServiceName(exampleLinkedCustomService.name())\n            .azureBlobStorageLocation(DatasetJsonAzureBlobStorageLocationArgs.builder()\n                .container(\"container\")\n                .path(\"foo/bar/\")\n                .filename(\"bar.txt\")\n                .build())\n            .encoding(\"UTF-8\")\n            .build());\n\n        var example1FlowletDataFlow = new FlowletDataFlow(\"example1FlowletDataFlow\", FlowletDataFlowArgs.builder()\n            .name(\"example\")\n            .dataFactoryId(exampleFactory.id())\n            .sources(FlowletDataFlowSourceArgs.builder()\n                .name(\"source1\")\n                .linkedService(FlowletDataFlowSourceLinkedServiceArgs.builder()\n                    .name(exampleLinkedCustomService.name())\n                    .build())\n                .build())\n            .sinks(FlowletDataFlowSinkArgs.builder()\n                .name(\"sink1\")\n                .linkedService(FlowletDataFlowSinkLinkedServiceArgs.builder()\n                    .name(exampleLinkedCustomService.name())\n                    .build())\n                .build())\n            .script(\"\"\"\nsource(\n  allowSchemaDrift: true, \n  validateSchema: false, \n  limit: 100, \n  ignoreNoFilesFound: false, \n  documentForm: 'documentPerLine') ~\u003e source1 \nsource1 sink(\n  allowSchemaDrift: true, \n  validateSchema: false, \n  skipDuplicateMapInputs: true, \n  skipDuplicateMapOutputs: true) ~\u003e sink1\n            \"\"\")\n            .build());\n\n        var example2FlowletDataFlow = new FlowletDataFlow(\"example2FlowletDataFlow\", FlowletDataFlowArgs.builder()\n            .name(\"example\")\n            .dataFactoryId(exampleFactory.id())\n            .sources(FlowletDataFlowSourceArgs.builder()\n                .name(\"source1\")\n                .linkedService(FlowletDataFlowSourceLinkedServiceArgs.builder()\n                    .name(exampleLinkedCustomService.name())\n                    .build())\n                .build())\n            .sinks(FlowletDataFlowSinkArgs.builder()\n                .name(\"sink1\")\n                .linkedService(FlowletDataFlowSinkLinkedServiceArgs.builder()\n                    .name(exampleLinkedCustomService.name())\n                    .build())\n                .build())\n            .script(\"\"\"\nsource(\n  allowSchemaDrift: true, \n  validateSchema: false, \n  limit: 100, \n  ignoreNoFilesFound: false, \n  documentForm: 'documentPerLine') ~\u003e source1 \nsource1 sink(\n  allowSchemaDrift: true, \n  validateSchema: false, \n  skipDuplicateMapInputs: true, \n  skipDuplicateMapOutputs: true) ~\u003e sink1\n            \"\"\")\n            .build());\n\n        var exampleFlowletDataFlow = new FlowletDataFlow(\"exampleFlowletDataFlow\", FlowletDataFlowArgs.builder()\n            .name(\"example\")\n            .dataFactoryId(exampleFactory.id())\n            .sources(FlowletDataFlowSourceArgs.builder()\n                .name(\"source1\")\n                .flowlet(FlowletDataFlowSourceFlowletArgs.builder()\n                    .name(example1FlowletDataFlow.name())\n                    .build())\n                .linkedService(FlowletDataFlowSourceLinkedServiceArgs.builder()\n                    .name(exampleLinkedCustomService.name())\n                    .build())\n                .build())\n            .sinks(FlowletDataFlowSinkArgs.builder()\n                .name(\"sink1\")\n                .flowlet(FlowletDataFlowSinkFlowletArgs.builder()\n                    .name(example2FlowletDataFlow.name())\n                    .build())\n                .linkedService(FlowletDataFlowSinkLinkedServiceArgs.builder()\n                    .name(exampleLinkedCustomService.name())\n                    .build())\n                .build())\n            .script(\"\"\"\nsource(\n  allowSchemaDrift: true, \n  validateSchema: false, \n  limit: 100, \n  ignoreNoFilesFound: false, \n  documentForm: 'documentPerLine') ~\u003e source1 \nsource1 sink(\n  allowSchemaDrift: true, \n  validateSchema: false, \n  skipDuplicateMapInputs: true, \n  skipDuplicateMapOutputs: true) ~\u003e sink1\n            \"\"\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleAccount:\n    type: azure:storage:Account\n    name: example\n    properties:\n      name: example\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      accountTier: Standard\n      accountReplicationType: LRS\n  exampleFactory:\n    type: azure:datafactory:Factory\n    name: example\n    properties:\n      name: example\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n  exampleLinkedCustomService:\n    type: azure:datafactory:LinkedCustomService\n    name: example\n    properties:\n      name: linked_service\n      dataFactoryId: ${exampleFactory.id}\n      type: AzureBlobStorage\n      typePropertiesJson: |\n        {\n          \\\"connectionString\\\": \\\"${exampleAccount.primaryConnectionString}\\\"\n        }\n  example1:\n    type: azure:datafactory:DatasetJson\n    properties:\n      name: dataset1\n      dataFactoryId: ${exampleFactory.id}\n      linkedServiceName: ${exampleLinkedCustomService.name}\n      azureBlobStorageLocation:\n        container: container\n        path: foo/bar/\n        filename: foo.txt\n      encoding: UTF-8\n  example2:\n    type: azure:datafactory:DatasetJson\n    properties:\n      name: dataset2\n      dataFactoryId: ${exampleFactory.id}\n      linkedServiceName: ${exampleLinkedCustomService.name}\n      azureBlobStorageLocation:\n        container: container\n        path: foo/bar/\n        filename: bar.txt\n      encoding: UTF-8\n  exampleFlowletDataFlow:\n    type: azure:datafactory:FlowletDataFlow\n    name: example\n    properties:\n      name: example\n      dataFactoryId: ${exampleFactory.id}\n      sources:\n        - name: source1\n          flowlet:\n            name: ${example1FlowletDataFlow.name}\n          linkedService:\n            name: ${exampleLinkedCustomService.name}\n      sinks:\n        - name: sink1\n          flowlet:\n            name: ${example2FlowletDataFlow.name}\n          linkedService:\n            name: ${exampleLinkedCustomService.name}\n      script: \"source(\\n  allowSchemaDrift: true, \\n  validateSchema: false, \\n  limit: 100, \\n  ignoreNoFilesFound: false, \\n  documentForm: 'documentPerLine') ~\u003e source1 \\nsource1 sink(\\n  allowSchemaDrift: true, \\n  validateSchema: false, \\n  skipDuplicateMapInputs: true, \\n  skipDuplicateMapOutputs: true) ~\u003e sink1\\n\"\n  example1FlowletDataFlow:\n    type: azure:datafactory:FlowletDataFlow\n    name: example1\n    properties:\n      name: example\n      dataFactoryId: ${exampleFactory.id}\n      sources:\n        - name: source1\n          linkedService:\n            name: ${exampleLinkedCustomService.name}\n      sinks:\n        - name: sink1\n          linkedService:\n            name: ${exampleLinkedCustomService.name}\n      script: \"source(\\n  allowSchemaDrift: true, \\n  validateSchema: false, \\n  limit: 100, \\n  ignoreNoFilesFound: false, \\n  documentForm: 'documentPerLine') ~\u003e source1 \\nsource1 sink(\\n  allowSchemaDrift: true, \\n  validateSchema: false, \\n  skipDuplicateMapInputs: true, \\n  skipDuplicateMapOutputs: true) ~\u003e sink1\\n\"\n  example2FlowletDataFlow:\n    type: azure:datafactory:FlowletDataFlow\n    name: example2\n    properties:\n      name: example\n      dataFactoryId: ${exampleFactory.id}\n      sources:\n        - name: source1\n          linkedService:\n            name: ${exampleLinkedCustomService.name}\n      sinks:\n        - name: sink1\n          linkedService:\n            name: ${exampleLinkedCustomService.name}\n      script: \"source(\\n  allowSchemaDrift: true, \\n  validateSchema: false, \\n  limit: 100, \\n  ignoreNoFilesFound: false, \\n  documentForm: 'documentPerLine') ~\u003e source1 \\nsource1 sink(\\n  allowSchemaDrift: true, \\n  validateSchema: false, \\n  skipDuplicateMapInputs: true, \\n  skipDuplicateMapOutputs: true) ~\u003e sink1\\n\"\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.DataFactory` - 2018-06-01\n\n## Import\n\nData Factory Flowlet Data Flow can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:datafactory/flowletDataFlow:FlowletDataFlow example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/example/providers/Microsoft.DataFactory/factories/example/dataflows/example\n```\n\n","properties":{"annotations":{"type":"array","items":{"type":"string"},"description":"List of tags that can be used for describing the Data Factory Flowlet Data Flow.\n"},"dataFactoryId":{"type":"string","description":"The ID of Data Factory in which to associate the Data Flow with. Changing this forces a new resource.\n"},"description":{"type":"string","description":"The description for the Data Factory Flowlet Data Flow.\n"},"folder":{"type":"string","description":"The folder that this Data Flow is in. If not specified, the Data Flow will appear at the root level.\n"},"name":{"type":"string","description":"Specifies the name of the Data Factory Flowlet Data Flow. Changing this forces a new resource to be created.\n"},"script":{"type":"string","description":"The script for the Data Factory Flowlet Data Flow.\n"},"scriptLines":{"type":"array","items":{"type":"string"},"description":"The script lines for the Data Factory Flowlet Data Flow.\n"},"sinks":{"type":"array","items":{"$ref":"#/types/azure:datafactory/FlowletDataFlowSink:FlowletDataFlowSink"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`sink`\" pulumi-lang-dotnet=\"`Sink`\" pulumi-lang-go=\"`sink`\" pulumi-lang-python=\"`sink`\" pulumi-lang-yaml=\"`sink`\" pulumi-lang-java=\"`sink`\"\u003e`sink`\u003c/span\u003e blocks as defined below.\n"},"sources":{"type":"array","items":{"$ref":"#/types/azure:datafactory/FlowletDataFlowSource:FlowletDataFlowSource"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`source`\" pulumi-lang-dotnet=\"`Source`\" pulumi-lang-go=\"`source`\" pulumi-lang-python=\"`source`\" pulumi-lang-yaml=\"`source`\" pulumi-lang-java=\"`source`\"\u003e`source`\u003c/span\u003e blocks as defined below.\n"},"transformations":{"type":"array","items":{"$ref":"#/types/azure:datafactory/FlowletDataFlowTransformation:FlowletDataFlowTransformation"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`transformation`\" pulumi-lang-dotnet=\"`Transformation`\" pulumi-lang-go=\"`transformation`\" pulumi-lang-python=\"`transformation`\" pulumi-lang-yaml=\"`transformation`\" pulumi-lang-java=\"`transformation`\"\u003e`transformation`\u003c/span\u003e blocks as defined below.\n"}},"required":["dataFactoryId","name"],"inputProperties":{"annotations":{"type":"array","items":{"type":"string"},"description":"List of tags that can be used for describing the Data Factory Flowlet Data Flow.\n"},"dataFactoryId":{"type":"string","description":"The ID of Data Factory in which to associate the Data Flow with. Changing this forces a new resource.\n","willReplaceOnChanges":true},"description":{"type":"string","description":"The description for the Data Factory Flowlet Data Flow.\n"},"folder":{"type":"string","description":"The folder that this Data Flow is in. If not specified, the Data Flow will appear at the root level.\n"},"name":{"type":"string","description":"Specifies the name of the Data Factory Flowlet Data Flow. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"script":{"type":"string","description":"The script for the Data Factory Flowlet Data Flow.\n"},"scriptLines":{"type":"array","items":{"type":"string"},"description":"The script lines for the Data Factory Flowlet Data Flow.\n"},"sinks":{"type":"array","items":{"$ref":"#/types/azure:datafactory/FlowletDataFlowSink:FlowletDataFlowSink"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`sink`\" pulumi-lang-dotnet=\"`Sink`\" pulumi-lang-go=\"`sink`\" pulumi-lang-python=\"`sink`\" pulumi-lang-yaml=\"`sink`\" pulumi-lang-java=\"`sink`\"\u003e`sink`\u003c/span\u003e blocks as defined below.\n"},"sources":{"type":"array","items":{"$ref":"#/types/azure:datafactory/FlowletDataFlowSource:FlowletDataFlowSource"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`source`\" pulumi-lang-dotnet=\"`Source`\" pulumi-lang-go=\"`source`\" pulumi-lang-python=\"`source`\" pulumi-lang-yaml=\"`source`\" pulumi-lang-java=\"`source`\"\u003e`source`\u003c/span\u003e blocks as defined below.\n"},"transformations":{"type":"array","items":{"$ref":"#/types/azure:datafactory/FlowletDataFlowTransformation:FlowletDataFlowTransformation"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`transformation`\" pulumi-lang-dotnet=\"`Transformation`\" pulumi-lang-go=\"`transformation`\" pulumi-lang-python=\"`transformation`\" pulumi-lang-yaml=\"`transformation`\" pulumi-lang-java=\"`transformation`\"\u003e`transformation`\u003c/span\u003e blocks as defined below.\n"}},"requiredInputs":["dataFactoryId"],"stateInputs":{"description":"Input properties used for looking up and filtering FlowletDataFlow resources.\n","properties":{"annotations":{"type":"array","items":{"type":"string"},"description":"List of tags that can be used for describing the Data Factory Flowlet Data Flow.\n"},"dataFactoryId":{"type":"string","description":"The ID of Data Factory in which to associate the Data Flow with. Changing this forces a new resource.\n","willReplaceOnChanges":true},"description":{"type":"string","description":"The description for the Data Factory Flowlet Data Flow.\n"},"folder":{"type":"string","description":"The folder that this Data Flow is in. If not specified, the Data Flow will appear at the root level.\n"},"name":{"type":"string","description":"Specifies the name of the Data Factory Flowlet Data Flow. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"script":{"type":"string","description":"The script for the Data Factory Flowlet Data Flow.\n"},"scriptLines":{"type":"array","items":{"type":"string"},"description":"The script lines for the Data Factory Flowlet Data Flow.\n"},"sinks":{"type":"array","items":{"$ref":"#/types/azure:datafactory/FlowletDataFlowSink:FlowletDataFlowSink"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`sink`\" pulumi-lang-dotnet=\"`Sink`\" pulumi-lang-go=\"`sink`\" pulumi-lang-python=\"`sink`\" pulumi-lang-yaml=\"`sink`\" pulumi-lang-java=\"`sink`\"\u003e`sink`\u003c/span\u003e blocks as defined below.\n"},"sources":{"type":"array","items":{"$ref":"#/types/azure:datafactory/FlowletDataFlowSource:FlowletDataFlowSource"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`source`\" pulumi-lang-dotnet=\"`Source`\" pulumi-lang-go=\"`source`\" pulumi-lang-python=\"`source`\" pulumi-lang-yaml=\"`source`\" pulumi-lang-java=\"`source`\"\u003e`source`\u003c/span\u003e blocks as defined below.\n"},"transformations":{"type":"array","items":{"$ref":"#/types/azure:datafactory/FlowletDataFlowTransformation:FlowletDataFlowTransformation"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`transformation`\" pulumi-lang-dotnet=\"`Transformation`\" pulumi-lang-go=\"`transformation`\" pulumi-lang-python=\"`transformation`\" pulumi-lang-yaml=\"`transformation`\" pulumi-lang-java=\"`transformation`\"\u003e`transformation`\u003c/span\u003e blocks as defined below.\n"}},"type":"object"}},"azure:datafactory/integrationRuntimeRule:IntegrationRuntimeRule":{"description":"Manages a Data Factory Azure Integration Runtime.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleFactory = new azure.datafactory.Factory(\"example\", {\n    name: \"example\",\n    location: example.location,\n    resourceGroupName: example.name,\n});\nconst exampleIntegrationRuntimeRule = new azure.datafactory.IntegrationRuntimeRule(\"example\", {\n    name: \"example\",\n    dataFactoryId: exampleFactory.id,\n    location: example.location,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_factory = azure.datafactory.Factory(\"example\",\n    name=\"example\",\n    location=example.location,\n    resource_group_name=example.name)\nexample_integration_runtime_rule = azure.datafactory.IntegrationRuntimeRule(\"example\",\n    name=\"example\",\n    data_factory_id=example_factory.id,\n    location=example.location)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleFactory = new Azure.DataFactory.Factory(\"example\", new()\n    {\n        Name = \"example\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n    });\n\n    var exampleIntegrationRuntimeRule = new Azure.DataFactory.IntegrationRuntimeRule(\"example\", new()\n    {\n        Name = \"example\",\n        DataFactoryId = exampleFactory.Id,\n        Location = example.Location,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/datafactory\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleFactory, err := datafactory.NewFactory(ctx, \"example\", \u0026datafactory.FactoryArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = datafactory.NewIntegrationRuntimeRule(ctx, \"example\", \u0026datafactory.IntegrationRuntimeRuleArgs{\n\t\t\tName:          pulumi.String(\"example\"),\n\t\t\tDataFactoryId: exampleFactory.ID(),\n\t\t\tLocation:      example.Location,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.datafactory.Factory;\nimport com.pulumi.azure.datafactory.FactoryArgs;\nimport com.pulumi.azure.datafactory.IntegrationRuntimeRule;\nimport com.pulumi.azure.datafactory.IntegrationRuntimeRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleFactory = new Factory(\"exampleFactory\", FactoryArgs.builder()\n            .name(\"example\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .build());\n\n        var exampleIntegrationRuntimeRule = new IntegrationRuntimeRule(\"exampleIntegrationRuntimeRule\", IntegrationRuntimeRuleArgs.builder()\n            .name(\"example\")\n            .dataFactoryId(exampleFactory.id())\n            .location(example.location())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleFactory:\n    type: azure:datafactory:Factory\n    name: example\n    properties:\n      name: example\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n  exampleIntegrationRuntimeRule:\n    type: azure:datafactory:IntegrationRuntimeRule\n    name: example\n    properties:\n      name: example\n      dataFactoryId: ${exampleFactory.id}\n      location: ${example.location}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.DataFactory` - 2018-06-01\n\n## Import\n\nData Factory Azure Integration Runtimes can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:datafactory/integrationRuntimeRule:IntegrationRuntimeRule example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/example/providers/Microsoft.DataFactory/factories/example/integrationRuntimes/example\n```\n\n","properties":{"cleanupEnabled":{"type":"boolean","description":"Cluster will not be recycled and it will be used in next data flow activity run until TTL (time to live) is reached if this is set as \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"computeType":{"type":"string","description":"Compute type of the cluster which will execute data flow job. Valid values are `General`, `ComputeOptimized` and `MemoryOptimized`. Defaults to `General`.\n"},"coreCount":{"type":"integer","description":"Core count of the cluster which will execute data flow job. Valid values are \u003cspan pulumi-lang-nodejs=\"`8`\" pulumi-lang-dotnet=\"`8`\" pulumi-lang-go=\"`8`\" pulumi-lang-python=\"`8`\" pulumi-lang-yaml=\"`8`\" pulumi-lang-java=\"`8`\"\u003e`8`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`16`\" pulumi-lang-dotnet=\"`16`\" pulumi-lang-go=\"`16`\" pulumi-lang-python=\"`16`\" pulumi-lang-yaml=\"`16`\" pulumi-lang-java=\"`16`\"\u003e`16`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`32`\" pulumi-lang-dotnet=\"`32`\" pulumi-lang-go=\"`32`\" pulumi-lang-python=\"`32`\" pulumi-lang-yaml=\"`32`\" pulumi-lang-java=\"`32`\"\u003e`32`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`48`\" pulumi-lang-dotnet=\"`48`\" pulumi-lang-go=\"`48`\" pulumi-lang-python=\"`48`\" pulumi-lang-yaml=\"`48`\" pulumi-lang-java=\"`48`\"\u003e`48`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`80`\" pulumi-lang-dotnet=\"`80`\" pulumi-lang-go=\"`80`\" pulumi-lang-python=\"`80`\" pulumi-lang-yaml=\"`80`\" pulumi-lang-java=\"`80`\"\u003e`80`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`144`\" pulumi-lang-dotnet=\"`144`\" pulumi-lang-go=\"`144`\" pulumi-lang-python=\"`144`\" pulumi-lang-yaml=\"`144`\" pulumi-lang-java=\"`144`\"\u003e`144`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`272`\" pulumi-lang-dotnet=\"`272`\" pulumi-lang-go=\"`272`\" pulumi-lang-python=\"`272`\" pulumi-lang-yaml=\"`272`\" pulumi-lang-java=\"`272`\"\u003e`272`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`8`\" pulumi-lang-dotnet=\"`8`\" pulumi-lang-go=\"`8`\" pulumi-lang-python=\"`8`\" pulumi-lang-yaml=\"`8`\" pulumi-lang-java=\"`8`\"\u003e`8`\u003c/span\u003e.\n"},"dataFactoryId":{"type":"string","description":"The Data Factory ID in which to associate the Linked Service with. Changing this forces a new resource to be created.\n"},"description":{"type":"string","description":"Integration runtime description.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Use `AutoResolve` to create an auto-resolve integration runtime. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"Specifies the name of the Managed Integration Runtime. Changing this forces a new resource to be created. Must be globally unique. See the [Microsoft documentation](https://docs.microsoft.com/azure/data-factory/naming-rules) for all restrictions.\n"},"timeToLiveMin":{"type":"integer","description":"Time to live (in minutes) setting of the cluster which will execute data flow job. Defaults to \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"virtualNetworkEnabled":{"type":"boolean","description":"Is Integration Runtime compute provisioned within Managed Virtual Network? Changing this forces a new resource to be created.\n"}},"required":["dataFactoryId","location","name"],"inputProperties":{"cleanupEnabled":{"type":"boolean","description":"Cluster will not be recycled and it will be used in next data flow activity run until TTL (time to live) is reached if this is set as \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"computeType":{"type":"string","description":"Compute type of the cluster which will execute data flow job. Valid values are `General`, `ComputeOptimized` and `MemoryOptimized`. Defaults to `General`.\n"},"coreCount":{"type":"integer","description":"Core count of the cluster which will execute data flow job. Valid values are \u003cspan pulumi-lang-nodejs=\"`8`\" pulumi-lang-dotnet=\"`8`\" pulumi-lang-go=\"`8`\" pulumi-lang-python=\"`8`\" pulumi-lang-yaml=\"`8`\" pulumi-lang-java=\"`8`\"\u003e`8`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`16`\" pulumi-lang-dotnet=\"`16`\" pulumi-lang-go=\"`16`\" pulumi-lang-python=\"`16`\" pulumi-lang-yaml=\"`16`\" pulumi-lang-java=\"`16`\"\u003e`16`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`32`\" pulumi-lang-dotnet=\"`32`\" pulumi-lang-go=\"`32`\" pulumi-lang-python=\"`32`\" pulumi-lang-yaml=\"`32`\" pulumi-lang-java=\"`32`\"\u003e`32`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`48`\" pulumi-lang-dotnet=\"`48`\" pulumi-lang-go=\"`48`\" pulumi-lang-python=\"`48`\" pulumi-lang-yaml=\"`48`\" pulumi-lang-java=\"`48`\"\u003e`48`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`80`\" pulumi-lang-dotnet=\"`80`\" pulumi-lang-go=\"`80`\" pulumi-lang-python=\"`80`\" pulumi-lang-yaml=\"`80`\" pulumi-lang-java=\"`80`\"\u003e`80`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`144`\" pulumi-lang-dotnet=\"`144`\" pulumi-lang-go=\"`144`\" pulumi-lang-python=\"`144`\" pulumi-lang-yaml=\"`144`\" pulumi-lang-java=\"`144`\"\u003e`144`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`272`\" pulumi-lang-dotnet=\"`272`\" pulumi-lang-go=\"`272`\" pulumi-lang-python=\"`272`\" pulumi-lang-yaml=\"`272`\" pulumi-lang-java=\"`272`\"\u003e`272`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`8`\" pulumi-lang-dotnet=\"`8`\" pulumi-lang-go=\"`8`\" pulumi-lang-python=\"`8`\" pulumi-lang-yaml=\"`8`\" pulumi-lang-java=\"`8`\"\u003e`8`\u003c/span\u003e.\n"},"dataFactoryId":{"type":"string","description":"The Data Factory ID in which to associate the Linked Service with. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"description":{"type":"string","description":"Integration runtime description.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Use `AutoResolve` to create an auto-resolve integration runtime. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the Managed Integration Runtime. Changing this forces a new resource to be created. Must be globally unique. See the [Microsoft documentation](https://docs.microsoft.com/azure/data-factory/naming-rules) for all restrictions.\n","willReplaceOnChanges":true},"timeToLiveMin":{"type":"integer","description":"Time to live (in minutes) setting of the cluster which will execute data flow job. Defaults to \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"virtualNetworkEnabled":{"type":"boolean","description":"Is Integration Runtime compute provisioned within Managed Virtual Network? Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["dataFactoryId"],"stateInputs":{"description":"Input properties used for looking up and filtering IntegrationRuntimeRule resources.\n","properties":{"cleanupEnabled":{"type":"boolean","description":"Cluster will not be recycled and it will be used in next data flow activity run until TTL (time to live) is reached if this is set as \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"computeType":{"type":"string","description":"Compute type of the cluster which will execute data flow job. Valid values are `General`, `ComputeOptimized` and `MemoryOptimized`. Defaults to `General`.\n"},"coreCount":{"type":"integer","description":"Core count of the cluster which will execute data flow job. Valid values are \u003cspan pulumi-lang-nodejs=\"`8`\" pulumi-lang-dotnet=\"`8`\" pulumi-lang-go=\"`8`\" pulumi-lang-python=\"`8`\" pulumi-lang-yaml=\"`8`\" pulumi-lang-java=\"`8`\"\u003e`8`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`16`\" pulumi-lang-dotnet=\"`16`\" pulumi-lang-go=\"`16`\" pulumi-lang-python=\"`16`\" pulumi-lang-yaml=\"`16`\" pulumi-lang-java=\"`16`\"\u003e`16`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`32`\" pulumi-lang-dotnet=\"`32`\" pulumi-lang-go=\"`32`\" pulumi-lang-python=\"`32`\" pulumi-lang-yaml=\"`32`\" pulumi-lang-java=\"`32`\"\u003e`32`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`48`\" pulumi-lang-dotnet=\"`48`\" pulumi-lang-go=\"`48`\" pulumi-lang-python=\"`48`\" pulumi-lang-yaml=\"`48`\" pulumi-lang-java=\"`48`\"\u003e`48`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`80`\" pulumi-lang-dotnet=\"`80`\" pulumi-lang-go=\"`80`\" pulumi-lang-python=\"`80`\" pulumi-lang-yaml=\"`80`\" pulumi-lang-java=\"`80`\"\u003e`80`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`144`\" pulumi-lang-dotnet=\"`144`\" pulumi-lang-go=\"`144`\" pulumi-lang-python=\"`144`\" pulumi-lang-yaml=\"`144`\" pulumi-lang-java=\"`144`\"\u003e`144`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`272`\" pulumi-lang-dotnet=\"`272`\" pulumi-lang-go=\"`272`\" pulumi-lang-python=\"`272`\" pulumi-lang-yaml=\"`272`\" pulumi-lang-java=\"`272`\"\u003e`272`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`8`\" pulumi-lang-dotnet=\"`8`\" pulumi-lang-go=\"`8`\" pulumi-lang-python=\"`8`\" pulumi-lang-yaml=\"`8`\" pulumi-lang-java=\"`8`\"\u003e`8`\u003c/span\u003e.\n"},"dataFactoryId":{"type":"string","description":"The Data Factory ID in which to associate the Linked Service with. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"description":{"type":"string","description":"Integration runtime description.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Use `AutoResolve` to create an auto-resolve integration runtime. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the Managed Integration Runtime. Changing this forces a new resource to be created. Must be globally unique. See the [Microsoft documentation](https://docs.microsoft.com/azure/data-factory/naming-rules) for all restrictions.\n","willReplaceOnChanges":true},"timeToLiveMin":{"type":"integer","description":"Time to live (in minutes) setting of the cluster which will execute data flow job. Defaults to \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"virtualNetworkEnabled":{"type":"boolean","description":"Is Integration Runtime compute provisioned within Managed Virtual Network? Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:datafactory/integrationRuntimeSelfHosted:IntegrationRuntimeSelfHosted":{"description":"Manages a Data Factory Self-hosted Integration Runtime.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleFactory = new azure.datafactory.Factory(\"example\", {\n    name: \"example\",\n    location: example.location,\n    resourceGroupName: example.name,\n});\nconst exampleIntegrationRuntimeSelfHosted = new azure.datafactory.IntegrationRuntimeSelfHosted(\"example\", {\n    name: \"example\",\n    dataFactoryId: exampleFactory.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_factory = azure.datafactory.Factory(\"example\",\n    name=\"example\",\n    location=example.location,\n    resource_group_name=example.name)\nexample_integration_runtime_self_hosted = azure.datafactory.IntegrationRuntimeSelfHosted(\"example\",\n    name=\"example\",\n    data_factory_id=example_factory.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleFactory = new Azure.DataFactory.Factory(\"example\", new()\n    {\n        Name = \"example\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n    });\n\n    var exampleIntegrationRuntimeSelfHosted = new Azure.DataFactory.IntegrationRuntimeSelfHosted(\"example\", new()\n    {\n        Name = \"example\",\n        DataFactoryId = exampleFactory.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/datafactory\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleFactory, err := datafactory.NewFactory(ctx, \"example\", \u0026datafactory.FactoryArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = datafactory.NewIntegrationRuntimeSelfHosted(ctx, \"example\", \u0026datafactory.IntegrationRuntimeSelfHostedArgs{\n\t\t\tName:          pulumi.String(\"example\"),\n\t\t\tDataFactoryId: exampleFactory.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.datafactory.Factory;\nimport com.pulumi.azure.datafactory.FactoryArgs;\nimport com.pulumi.azure.datafactory.IntegrationRuntimeSelfHosted;\nimport com.pulumi.azure.datafactory.IntegrationRuntimeSelfHostedArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleFactory = new Factory(\"exampleFactory\", FactoryArgs.builder()\n            .name(\"example\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .build());\n\n        var exampleIntegrationRuntimeSelfHosted = new IntegrationRuntimeSelfHosted(\"exampleIntegrationRuntimeSelfHosted\", IntegrationRuntimeSelfHostedArgs.builder()\n            .name(\"example\")\n            .dataFactoryId(exampleFactory.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleFactory:\n    type: azure:datafactory:Factory\n    name: example\n    properties:\n      name: example\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n  exampleIntegrationRuntimeSelfHosted:\n    type: azure:datafactory:IntegrationRuntimeSelfHosted\n    name: example\n    properties:\n      name: example\n      dataFactoryId: ${exampleFactory.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.DataFactory` - 2018-06-01\n\n## Import\n\nData Factories can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:datafactory/integrationRuntimeSelfHosted:IntegrationRuntimeSelfHosted example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/example/providers/Microsoft.DataFactory/factories/example/integrationRuntimes/example\n```\n\n","properties":{"dataFactoryId":{"type":"string","description":"The Data Factory ID in which to associate the Linked Service with. Changing this forces a new resource.\n"},"description":{"type":"string","description":"Integration runtime description.\n"},"name":{"type":"string","description":"The name which should be used for this Data Factory. Changing this forces a new Data Factory Self-hosted Integration Runtime to be created.\n"},"primaryAuthorizationKey":{"type":"string","description":"The primary integration runtime authentication key.\n"},"rbacAuthorizations":{"type":"array","items":{"$ref":"#/types/azure:datafactory/IntegrationRuntimeSelfHostedRbacAuthorization:IntegrationRuntimeSelfHostedRbacAuthorization"},"description":"A \u003cspan pulumi-lang-nodejs=\"`rbacAuthorization`\" pulumi-lang-dotnet=\"`RbacAuthorization`\" pulumi-lang-go=\"`rbacAuthorization`\" pulumi-lang-python=\"`rbac_authorization`\" pulumi-lang-yaml=\"`rbacAuthorization`\" pulumi-lang-java=\"`rbacAuthorization`\"\u003e`rbac_authorization`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n"},"secondaryAuthorizationKey":{"type":"string","description":"The secondary integration runtime authentication key.\n"},"selfContainedInteractiveAuthoringEnabled":{"type":"boolean","description":"Specifies whether enable interactive authoring function when your self-hosted integration runtime is unable to establish a connection with Azure Relay.\n"}},"required":["dataFactoryId","name","primaryAuthorizationKey","secondaryAuthorizationKey"],"inputProperties":{"dataFactoryId":{"type":"string","description":"The Data Factory ID in which to associate the Linked Service with. Changing this forces a new resource.\n","willReplaceOnChanges":true},"description":{"type":"string","description":"Integration runtime description.\n"},"name":{"type":"string","description":"The name which should be used for this Data Factory. Changing this forces a new Data Factory Self-hosted Integration Runtime to be created.\n","willReplaceOnChanges":true},"rbacAuthorizations":{"type":"array","items":{"$ref":"#/types/azure:datafactory/IntegrationRuntimeSelfHostedRbacAuthorization:IntegrationRuntimeSelfHostedRbacAuthorization"},"description":"A \u003cspan pulumi-lang-nodejs=\"`rbacAuthorization`\" pulumi-lang-dotnet=\"`RbacAuthorization`\" pulumi-lang-go=\"`rbacAuthorization`\" pulumi-lang-python=\"`rbac_authorization`\" pulumi-lang-yaml=\"`rbacAuthorization`\" pulumi-lang-java=\"`rbacAuthorization`\"\u003e`rbac_authorization`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"selfContainedInteractiveAuthoringEnabled":{"type":"boolean","description":"Specifies whether enable interactive authoring function when your self-hosted integration runtime is unable to establish a connection with Azure Relay.\n"}},"requiredInputs":["dataFactoryId"],"stateInputs":{"description":"Input properties used for looking up and filtering IntegrationRuntimeSelfHosted resources.\n","properties":{"dataFactoryId":{"type":"string","description":"The Data Factory ID in which to associate the Linked Service with. Changing this forces a new resource.\n","willReplaceOnChanges":true},"description":{"type":"string","description":"Integration runtime description.\n"},"name":{"type":"string","description":"The name which should be used for this Data Factory. Changing this forces a new Data Factory Self-hosted Integration Runtime to be created.\n","willReplaceOnChanges":true},"primaryAuthorizationKey":{"type":"string","description":"The primary integration runtime authentication key.\n"},"rbacAuthorizations":{"type":"array","items":{"$ref":"#/types/azure:datafactory/IntegrationRuntimeSelfHostedRbacAuthorization:IntegrationRuntimeSelfHostedRbacAuthorization"},"description":"A \u003cspan pulumi-lang-nodejs=\"`rbacAuthorization`\" pulumi-lang-dotnet=\"`RbacAuthorization`\" pulumi-lang-go=\"`rbacAuthorization`\" pulumi-lang-python=\"`rbac_authorization`\" pulumi-lang-yaml=\"`rbacAuthorization`\" pulumi-lang-java=\"`rbacAuthorization`\"\u003e`rbac_authorization`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"secondaryAuthorizationKey":{"type":"string","description":"The secondary integration runtime authentication key.\n"},"selfContainedInteractiveAuthoringEnabled":{"type":"boolean","description":"Specifies whether enable interactive authoring function when your self-hosted integration runtime is unable to establish a connection with Azure Relay.\n"}},"type":"object"}},"azure:datafactory/integrationRuntimeSsis:IntegrationRuntimeSsis":{"description":"Manages a Data Factory Azure-SSIS Integration Runtime.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleFactory = new azure.datafactory.Factory(\"example\", {\n    name: \"example\",\n    location: example.location,\n    resourceGroupName: example.name,\n});\nconst exampleIntegrationRuntimeSsis = new azure.datafactory.IntegrationRuntimeSsis(\"example\", {\n    name: \"example\",\n    dataFactoryId: exampleFactory.id,\n    location: example.location,\n    nodeSize: \"Standard_D8_v3\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_factory = azure.datafactory.Factory(\"example\",\n    name=\"example\",\n    location=example.location,\n    resource_group_name=example.name)\nexample_integration_runtime_ssis = azure.datafactory.IntegrationRuntimeSsis(\"example\",\n    name=\"example\",\n    data_factory_id=example_factory.id,\n    location=example.location,\n    node_size=\"Standard_D8_v3\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleFactory = new Azure.DataFactory.Factory(\"example\", new()\n    {\n        Name = \"example\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n    });\n\n    var exampleIntegrationRuntimeSsis = new Azure.DataFactory.IntegrationRuntimeSsis(\"example\", new()\n    {\n        Name = \"example\",\n        DataFactoryId = exampleFactory.Id,\n        Location = example.Location,\n        NodeSize = \"Standard_D8_v3\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/datafactory\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleFactory, err := datafactory.NewFactory(ctx, \"example\", \u0026datafactory.FactoryArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = datafactory.NewIntegrationRuntimeSsis(ctx, \"example\", \u0026datafactory.IntegrationRuntimeSsisArgs{\n\t\t\tName:          pulumi.String(\"example\"),\n\t\t\tDataFactoryId: exampleFactory.ID(),\n\t\t\tLocation:      example.Location,\n\t\t\tNodeSize:      pulumi.String(\"Standard_D8_v3\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.datafactory.Factory;\nimport com.pulumi.azure.datafactory.FactoryArgs;\nimport com.pulumi.azure.datafactory.IntegrationRuntimeSsis;\nimport com.pulumi.azure.datafactory.IntegrationRuntimeSsisArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleFactory = new Factory(\"exampleFactory\", FactoryArgs.builder()\n            .name(\"example\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .build());\n\n        var exampleIntegrationRuntimeSsis = new IntegrationRuntimeSsis(\"exampleIntegrationRuntimeSsis\", IntegrationRuntimeSsisArgs.builder()\n            .name(\"example\")\n            .dataFactoryId(exampleFactory.id())\n            .location(example.location())\n            .nodeSize(\"Standard_D8_v3\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleFactory:\n    type: azure:datafactory:Factory\n    name: example\n    properties:\n      name: example\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n  exampleIntegrationRuntimeSsis:\n    type: azure:datafactory:IntegrationRuntimeSsis\n    name: example\n    properties:\n      name: example\n      dataFactoryId: ${exampleFactory.id}\n      location: ${example.location}\n      nodeSize: Standard_D8_v3\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.DataFactory` - 2018-06-01\n\n## Import\n\nData Factory Azure-SSIS Integration Runtimes can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:datafactory/integrationRuntimeSsis:IntegrationRuntimeSsis example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/example/providers/Microsoft.DataFactory/factories/example/integrationRuntimes/example\n```\n\n","properties":{"catalogInfo":{"$ref":"#/types/azure:datafactory/IntegrationRuntimeSsisCatalogInfo:IntegrationRuntimeSsisCatalogInfo","description":"A \u003cspan pulumi-lang-nodejs=\"`catalogInfo`\" pulumi-lang-dotnet=\"`CatalogInfo`\" pulumi-lang-go=\"`catalogInfo`\" pulumi-lang-python=\"`catalog_info`\" pulumi-lang-yaml=\"`catalogInfo`\" pulumi-lang-java=\"`catalogInfo`\"\u003e`catalog_info`\u003c/span\u003e block as defined below.\n"},"copyComputeScale":{"$ref":"#/types/azure:datafactory/IntegrationRuntimeSsisCopyComputeScale:IntegrationRuntimeSsisCopyComputeScale","description":"One \u003cspan pulumi-lang-nodejs=\"`copyComputeScale`\" pulumi-lang-dotnet=\"`CopyComputeScale`\" pulumi-lang-go=\"`copyComputeScale`\" pulumi-lang-python=\"`copy_compute_scale`\" pulumi-lang-yaml=\"`copyComputeScale`\" pulumi-lang-java=\"`copyComputeScale`\"\u003e`copy_compute_scale`\u003c/span\u003e block as defined below.\n"},"credentialName":{"type":"string","description":"The name of a Data Factory Credential that the SSIS integration will use to access data sources. For example, \u003cspan pulumi-lang-nodejs=\"`azure.datafactory.CredentialUserManagedIdentity`\" pulumi-lang-dotnet=\"`azure.datafactory.CredentialUserManagedIdentity`\" pulumi-lang-go=\"`datafactory.CredentialUserManagedIdentity`\" pulumi-lang-python=\"`datafactory.CredentialUserManagedIdentity`\" pulumi-lang-yaml=\"`azure.datafactory.CredentialUserManagedIdentity`\" pulumi-lang-java=\"`azure.datafactory.CredentialUserManagedIdentity`\"\u003e`azure.datafactory.CredentialUserManagedIdentity`\u003c/span\u003e\n\n\u003e **Note:** If \u003cspan pulumi-lang-nodejs=\"`credentialName`\" pulumi-lang-dotnet=\"`CredentialName`\" pulumi-lang-go=\"`credentialName`\" pulumi-lang-python=\"`credential_name`\" pulumi-lang-yaml=\"`credentialName`\" pulumi-lang-java=\"`credentialName`\"\u003e`credential_name`\u003c/span\u003e is omitted, the integration runtime will use the Data Factory assigned identity.\n"},"customSetupScript":{"$ref":"#/types/azure:datafactory/IntegrationRuntimeSsisCustomSetupScript:IntegrationRuntimeSsisCustomSetupScript","description":"A \u003cspan pulumi-lang-nodejs=\"`customSetupScript`\" pulumi-lang-dotnet=\"`CustomSetupScript`\" pulumi-lang-go=\"`customSetupScript`\" pulumi-lang-python=\"`custom_setup_script`\" pulumi-lang-yaml=\"`customSetupScript`\" pulumi-lang-java=\"`customSetupScript`\"\u003e`custom_setup_script`\u003c/span\u003e block as defined below.\n"},"dataFactoryId":{"type":"string","description":"The Data Factory ID in which to associate the Linked Service with. Changing this forces a new resource.\n"},"description":{"type":"string","description":"Integration runtime description.\n"},"edition":{"type":"string","description":"The Azure-SSIS Integration Runtime edition. Valid values are `Standard` and `Enterprise`. Defaults to `Standard`.\n"},"expressCustomSetup":{"$ref":"#/types/azure:datafactory/IntegrationRuntimeSsisExpressCustomSetup:IntegrationRuntimeSsisExpressCustomSetup","description":"An \u003cspan pulumi-lang-nodejs=\"`expressCustomSetup`\" pulumi-lang-dotnet=\"`ExpressCustomSetup`\" pulumi-lang-go=\"`expressCustomSetup`\" pulumi-lang-python=\"`express_custom_setup`\" pulumi-lang-yaml=\"`expressCustomSetup`\" pulumi-lang-java=\"`expressCustomSetup`\"\u003e`express_custom_setup`\u003c/span\u003e block as defined below.\n"},"expressVnetIntegration":{"$ref":"#/types/azure:datafactory/IntegrationRuntimeSsisExpressVnetIntegration:IntegrationRuntimeSsisExpressVnetIntegration","description":"A \u003cspan pulumi-lang-nodejs=\"`expressVnetIntegration`\" pulumi-lang-dotnet=\"`ExpressVnetIntegration`\" pulumi-lang-go=\"`expressVnetIntegration`\" pulumi-lang-python=\"`express_vnet_integration`\" pulumi-lang-yaml=\"`expressVnetIntegration`\" pulumi-lang-java=\"`expressVnetIntegration`\"\u003e`express_vnet_integration`\u003c/span\u003e block as defined below.\n"},"licenseType":{"type":"string","description":"The type of the license that is used. Valid values are `LicenseIncluded` and `BasePrice`. Defaults to `LicenseIncluded`.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n"},"maxParallelExecutionsPerNode":{"type":"integer","description":"Defines the maximum parallel executions per node. Defaults to \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e. Max is \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e.\n"},"name":{"type":"string","description":"Specifies the name of the Azure-SSIS Integration Runtime. Changing this forces a new resource to be created. Must be globally unique. See the [Microsoft documentation](https://docs.microsoft.com/azure/data-factory/naming-rules) for all restrictions.\n"},"nodeSize":{"type":"string","description":"The size of the nodes on which the Azure-SSIS Integration Runtime runs. Valid values are: `Standard_D2_v3`, `Standard_D4_v3`, `Standard_D8_v3`, `Standard_D16_v3`, `Standard_D32_v3`, `Standard_D64_v3`, `Standard_E2_v3`, `Standard_E4_v3`, `Standard_E8_v3`, `Standard_E16_v3`, `Standard_E32_v3`, `Standard_E64_v3`, `Standard_D1_v2`, `Standard_D2_v2`, `Standard_D3_v2`, `Standard_D4_v2`, `Standard_A4_v2` and `Standard_A8_v2`\n"},"numberOfNodes":{"type":"integer","description":"Number of nodes for the Azure-SSIS Integration Runtime. Max is \u003cspan pulumi-lang-nodejs=\"`10`\" pulumi-lang-dotnet=\"`10`\" pulumi-lang-go=\"`10`\" pulumi-lang-python=\"`10`\" pulumi-lang-yaml=\"`10`\" pulumi-lang-java=\"`10`\"\u003e`10`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e.\n"},"packageStores":{"type":"array","items":{"$ref":"#/types/azure:datafactory/IntegrationRuntimeSsisPackageStore:IntegrationRuntimeSsisPackageStore"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`packageStore`\" pulumi-lang-dotnet=\"`PackageStore`\" pulumi-lang-go=\"`packageStore`\" pulumi-lang-python=\"`package_store`\" pulumi-lang-yaml=\"`packageStore`\" pulumi-lang-java=\"`packageStore`\"\u003e`package_store`\u003c/span\u003e block as defined below.\n"},"pipelineExternalComputeScale":{"$ref":"#/types/azure:datafactory/IntegrationRuntimeSsisPipelineExternalComputeScale:IntegrationRuntimeSsisPipelineExternalComputeScale","description":"One \u003cspan pulumi-lang-nodejs=\"`pipelineExternalComputeScale`\" pulumi-lang-dotnet=\"`PipelineExternalComputeScale`\" pulumi-lang-go=\"`pipelineExternalComputeScale`\" pulumi-lang-python=\"`pipeline_external_compute_scale`\" pulumi-lang-yaml=\"`pipelineExternalComputeScale`\" pulumi-lang-java=\"`pipelineExternalComputeScale`\"\u003e`pipeline_external_compute_scale`\u003c/span\u003e block as defined below.\n"},"proxy":{"$ref":"#/types/azure:datafactory/IntegrationRuntimeSsisProxy:IntegrationRuntimeSsisProxy","description":"A \u003cspan pulumi-lang-nodejs=\"`proxy`\" pulumi-lang-dotnet=\"`Proxy`\" pulumi-lang-go=\"`proxy`\" pulumi-lang-python=\"`proxy`\" pulumi-lang-yaml=\"`proxy`\" pulumi-lang-java=\"`proxy`\"\u003e`proxy`\u003c/span\u003e block as defined below.\n"},"vnetIntegration":{"$ref":"#/types/azure:datafactory/IntegrationRuntimeSsisVnetIntegration:IntegrationRuntimeSsisVnetIntegration","description":"A \u003cspan pulumi-lang-nodejs=\"`vnetIntegration`\" pulumi-lang-dotnet=\"`VnetIntegration`\" pulumi-lang-go=\"`vnetIntegration`\" pulumi-lang-python=\"`vnet_integration`\" pulumi-lang-yaml=\"`vnetIntegration`\" pulumi-lang-java=\"`vnetIntegration`\"\u003e`vnet_integration`\u003c/span\u003e block as defined below.\n"}},"required":["dataFactoryId","location","name","nodeSize"],"inputProperties":{"catalogInfo":{"$ref":"#/types/azure:datafactory/IntegrationRuntimeSsisCatalogInfo:IntegrationRuntimeSsisCatalogInfo","description":"A \u003cspan pulumi-lang-nodejs=\"`catalogInfo`\" pulumi-lang-dotnet=\"`CatalogInfo`\" pulumi-lang-go=\"`catalogInfo`\" pulumi-lang-python=\"`catalog_info`\" pulumi-lang-yaml=\"`catalogInfo`\" pulumi-lang-java=\"`catalogInfo`\"\u003e`catalog_info`\u003c/span\u003e block as defined below.\n"},"copyComputeScale":{"$ref":"#/types/azure:datafactory/IntegrationRuntimeSsisCopyComputeScale:IntegrationRuntimeSsisCopyComputeScale","description":"One \u003cspan pulumi-lang-nodejs=\"`copyComputeScale`\" pulumi-lang-dotnet=\"`CopyComputeScale`\" pulumi-lang-go=\"`copyComputeScale`\" pulumi-lang-python=\"`copy_compute_scale`\" pulumi-lang-yaml=\"`copyComputeScale`\" pulumi-lang-java=\"`copyComputeScale`\"\u003e`copy_compute_scale`\u003c/span\u003e block as defined below.\n"},"credentialName":{"type":"string","description":"The name of a Data Factory Credential that the SSIS integration will use to access data sources. For example, \u003cspan pulumi-lang-nodejs=\"`azure.datafactory.CredentialUserManagedIdentity`\" pulumi-lang-dotnet=\"`azure.datafactory.CredentialUserManagedIdentity`\" pulumi-lang-go=\"`datafactory.CredentialUserManagedIdentity`\" pulumi-lang-python=\"`datafactory.CredentialUserManagedIdentity`\" pulumi-lang-yaml=\"`azure.datafactory.CredentialUserManagedIdentity`\" pulumi-lang-java=\"`azure.datafactory.CredentialUserManagedIdentity`\"\u003e`azure.datafactory.CredentialUserManagedIdentity`\u003c/span\u003e\n\n\u003e **Note:** If \u003cspan pulumi-lang-nodejs=\"`credentialName`\" pulumi-lang-dotnet=\"`CredentialName`\" pulumi-lang-go=\"`credentialName`\" pulumi-lang-python=\"`credential_name`\" pulumi-lang-yaml=\"`credentialName`\" pulumi-lang-java=\"`credentialName`\"\u003e`credential_name`\u003c/span\u003e is omitted, the integration runtime will use the Data Factory assigned identity.\n"},"customSetupScript":{"$ref":"#/types/azure:datafactory/IntegrationRuntimeSsisCustomSetupScript:IntegrationRuntimeSsisCustomSetupScript","description":"A \u003cspan pulumi-lang-nodejs=\"`customSetupScript`\" pulumi-lang-dotnet=\"`CustomSetupScript`\" pulumi-lang-go=\"`customSetupScript`\" pulumi-lang-python=\"`custom_setup_script`\" pulumi-lang-yaml=\"`customSetupScript`\" pulumi-lang-java=\"`customSetupScript`\"\u003e`custom_setup_script`\u003c/span\u003e block as defined below.\n"},"dataFactoryId":{"type":"string","description":"The Data Factory ID in which to associate the Linked Service with. Changing this forces a new resource.\n","willReplaceOnChanges":true},"description":{"type":"string","description":"Integration runtime description.\n"},"edition":{"type":"string","description":"The Azure-SSIS Integration Runtime edition. Valid values are `Standard` and `Enterprise`. Defaults to `Standard`.\n"},"expressCustomSetup":{"$ref":"#/types/azure:datafactory/IntegrationRuntimeSsisExpressCustomSetup:IntegrationRuntimeSsisExpressCustomSetup","description":"An \u003cspan pulumi-lang-nodejs=\"`expressCustomSetup`\" pulumi-lang-dotnet=\"`ExpressCustomSetup`\" pulumi-lang-go=\"`expressCustomSetup`\" pulumi-lang-python=\"`express_custom_setup`\" pulumi-lang-yaml=\"`expressCustomSetup`\" pulumi-lang-java=\"`expressCustomSetup`\"\u003e`express_custom_setup`\u003c/span\u003e block as defined below.\n"},"expressVnetIntegration":{"$ref":"#/types/azure:datafactory/IntegrationRuntimeSsisExpressVnetIntegration:IntegrationRuntimeSsisExpressVnetIntegration","description":"A \u003cspan pulumi-lang-nodejs=\"`expressVnetIntegration`\" pulumi-lang-dotnet=\"`ExpressVnetIntegration`\" pulumi-lang-go=\"`expressVnetIntegration`\" pulumi-lang-python=\"`express_vnet_integration`\" pulumi-lang-yaml=\"`expressVnetIntegration`\" pulumi-lang-java=\"`expressVnetIntegration`\"\u003e`express_vnet_integration`\u003c/span\u003e block as defined below.\n"},"licenseType":{"type":"string","description":"The type of the license that is used. Valid values are `LicenseIncluded` and `BasePrice`. Defaults to `LicenseIncluded`.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"maxParallelExecutionsPerNode":{"type":"integer","description":"Defines the maximum parallel executions per node. Defaults to \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e. Max is \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e.\n"},"name":{"type":"string","description":"Specifies the name of the Azure-SSIS Integration Runtime. Changing this forces a new resource to be created. Must be globally unique. See the [Microsoft documentation](https://docs.microsoft.com/azure/data-factory/naming-rules) for all restrictions.\n","willReplaceOnChanges":true},"nodeSize":{"type":"string","description":"The size of the nodes on which the Azure-SSIS Integration Runtime runs. Valid values are: `Standard_D2_v3`, `Standard_D4_v3`, `Standard_D8_v3`, `Standard_D16_v3`, `Standard_D32_v3`, `Standard_D64_v3`, `Standard_E2_v3`, `Standard_E4_v3`, `Standard_E8_v3`, `Standard_E16_v3`, `Standard_E32_v3`, `Standard_E64_v3`, `Standard_D1_v2`, `Standard_D2_v2`, `Standard_D3_v2`, `Standard_D4_v2`, `Standard_A4_v2` and `Standard_A8_v2`\n"},"numberOfNodes":{"type":"integer","description":"Number of nodes for the Azure-SSIS Integration Runtime. Max is \u003cspan pulumi-lang-nodejs=\"`10`\" pulumi-lang-dotnet=\"`10`\" pulumi-lang-go=\"`10`\" pulumi-lang-python=\"`10`\" pulumi-lang-yaml=\"`10`\" pulumi-lang-java=\"`10`\"\u003e`10`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e.\n"},"packageStores":{"type":"array","items":{"$ref":"#/types/azure:datafactory/IntegrationRuntimeSsisPackageStore:IntegrationRuntimeSsisPackageStore"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`packageStore`\" pulumi-lang-dotnet=\"`PackageStore`\" pulumi-lang-go=\"`packageStore`\" pulumi-lang-python=\"`package_store`\" pulumi-lang-yaml=\"`packageStore`\" pulumi-lang-java=\"`packageStore`\"\u003e`package_store`\u003c/span\u003e block as defined below.\n"},"pipelineExternalComputeScale":{"$ref":"#/types/azure:datafactory/IntegrationRuntimeSsisPipelineExternalComputeScale:IntegrationRuntimeSsisPipelineExternalComputeScale","description":"One \u003cspan pulumi-lang-nodejs=\"`pipelineExternalComputeScale`\" pulumi-lang-dotnet=\"`PipelineExternalComputeScale`\" pulumi-lang-go=\"`pipelineExternalComputeScale`\" pulumi-lang-python=\"`pipeline_external_compute_scale`\" pulumi-lang-yaml=\"`pipelineExternalComputeScale`\" pulumi-lang-java=\"`pipelineExternalComputeScale`\"\u003e`pipeline_external_compute_scale`\u003c/span\u003e block as defined below.\n"},"proxy":{"$ref":"#/types/azure:datafactory/IntegrationRuntimeSsisProxy:IntegrationRuntimeSsisProxy","description":"A \u003cspan pulumi-lang-nodejs=\"`proxy`\" pulumi-lang-dotnet=\"`Proxy`\" pulumi-lang-go=\"`proxy`\" pulumi-lang-python=\"`proxy`\" pulumi-lang-yaml=\"`proxy`\" pulumi-lang-java=\"`proxy`\"\u003e`proxy`\u003c/span\u003e block as defined below.\n"},"vnetIntegration":{"$ref":"#/types/azure:datafactory/IntegrationRuntimeSsisVnetIntegration:IntegrationRuntimeSsisVnetIntegration","description":"A \u003cspan pulumi-lang-nodejs=\"`vnetIntegration`\" pulumi-lang-dotnet=\"`VnetIntegration`\" pulumi-lang-go=\"`vnetIntegration`\" pulumi-lang-python=\"`vnet_integration`\" pulumi-lang-yaml=\"`vnetIntegration`\" pulumi-lang-java=\"`vnetIntegration`\"\u003e`vnet_integration`\u003c/span\u003e block as defined below.\n"}},"requiredInputs":["dataFactoryId","nodeSize"],"stateInputs":{"description":"Input properties used for looking up and filtering IntegrationRuntimeSsis resources.\n","properties":{"catalogInfo":{"$ref":"#/types/azure:datafactory/IntegrationRuntimeSsisCatalogInfo:IntegrationRuntimeSsisCatalogInfo","description":"A \u003cspan pulumi-lang-nodejs=\"`catalogInfo`\" pulumi-lang-dotnet=\"`CatalogInfo`\" pulumi-lang-go=\"`catalogInfo`\" pulumi-lang-python=\"`catalog_info`\" pulumi-lang-yaml=\"`catalogInfo`\" pulumi-lang-java=\"`catalogInfo`\"\u003e`catalog_info`\u003c/span\u003e block as defined below.\n"},"copyComputeScale":{"$ref":"#/types/azure:datafactory/IntegrationRuntimeSsisCopyComputeScale:IntegrationRuntimeSsisCopyComputeScale","description":"One \u003cspan pulumi-lang-nodejs=\"`copyComputeScale`\" pulumi-lang-dotnet=\"`CopyComputeScale`\" pulumi-lang-go=\"`copyComputeScale`\" pulumi-lang-python=\"`copy_compute_scale`\" pulumi-lang-yaml=\"`copyComputeScale`\" pulumi-lang-java=\"`copyComputeScale`\"\u003e`copy_compute_scale`\u003c/span\u003e block as defined below.\n"},"credentialName":{"type":"string","description":"The name of a Data Factory Credential that the SSIS integration will use to access data sources. For example, \u003cspan pulumi-lang-nodejs=\"`azure.datafactory.CredentialUserManagedIdentity`\" pulumi-lang-dotnet=\"`azure.datafactory.CredentialUserManagedIdentity`\" pulumi-lang-go=\"`datafactory.CredentialUserManagedIdentity`\" pulumi-lang-python=\"`datafactory.CredentialUserManagedIdentity`\" pulumi-lang-yaml=\"`azure.datafactory.CredentialUserManagedIdentity`\" pulumi-lang-java=\"`azure.datafactory.CredentialUserManagedIdentity`\"\u003e`azure.datafactory.CredentialUserManagedIdentity`\u003c/span\u003e\n\n\u003e **Note:** If \u003cspan pulumi-lang-nodejs=\"`credentialName`\" pulumi-lang-dotnet=\"`CredentialName`\" pulumi-lang-go=\"`credentialName`\" pulumi-lang-python=\"`credential_name`\" pulumi-lang-yaml=\"`credentialName`\" pulumi-lang-java=\"`credentialName`\"\u003e`credential_name`\u003c/span\u003e is omitted, the integration runtime will use the Data Factory assigned identity.\n"},"customSetupScript":{"$ref":"#/types/azure:datafactory/IntegrationRuntimeSsisCustomSetupScript:IntegrationRuntimeSsisCustomSetupScript","description":"A \u003cspan pulumi-lang-nodejs=\"`customSetupScript`\" pulumi-lang-dotnet=\"`CustomSetupScript`\" pulumi-lang-go=\"`customSetupScript`\" pulumi-lang-python=\"`custom_setup_script`\" pulumi-lang-yaml=\"`customSetupScript`\" pulumi-lang-java=\"`customSetupScript`\"\u003e`custom_setup_script`\u003c/span\u003e block as defined below.\n"},"dataFactoryId":{"type":"string","description":"The Data Factory ID in which to associate the Linked Service with. Changing this forces a new resource.\n","willReplaceOnChanges":true},"description":{"type":"string","description":"Integration runtime description.\n"},"edition":{"type":"string","description":"The Azure-SSIS Integration Runtime edition. Valid values are `Standard` and `Enterprise`. Defaults to `Standard`.\n"},"expressCustomSetup":{"$ref":"#/types/azure:datafactory/IntegrationRuntimeSsisExpressCustomSetup:IntegrationRuntimeSsisExpressCustomSetup","description":"An \u003cspan pulumi-lang-nodejs=\"`expressCustomSetup`\" pulumi-lang-dotnet=\"`ExpressCustomSetup`\" pulumi-lang-go=\"`expressCustomSetup`\" pulumi-lang-python=\"`express_custom_setup`\" pulumi-lang-yaml=\"`expressCustomSetup`\" pulumi-lang-java=\"`expressCustomSetup`\"\u003e`express_custom_setup`\u003c/span\u003e block as defined below.\n"},"expressVnetIntegration":{"$ref":"#/types/azure:datafactory/IntegrationRuntimeSsisExpressVnetIntegration:IntegrationRuntimeSsisExpressVnetIntegration","description":"A \u003cspan pulumi-lang-nodejs=\"`expressVnetIntegration`\" pulumi-lang-dotnet=\"`ExpressVnetIntegration`\" pulumi-lang-go=\"`expressVnetIntegration`\" pulumi-lang-python=\"`express_vnet_integration`\" pulumi-lang-yaml=\"`expressVnetIntegration`\" pulumi-lang-java=\"`expressVnetIntegration`\"\u003e`express_vnet_integration`\u003c/span\u003e block as defined below.\n"},"licenseType":{"type":"string","description":"The type of the license that is used. Valid values are `LicenseIncluded` and `BasePrice`. Defaults to `LicenseIncluded`.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"maxParallelExecutionsPerNode":{"type":"integer","description":"Defines the maximum parallel executions per node. Defaults to \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e. Max is \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e.\n"},"name":{"type":"string","description":"Specifies the name of the Azure-SSIS Integration Runtime. Changing this forces a new resource to be created. Must be globally unique. See the [Microsoft documentation](https://docs.microsoft.com/azure/data-factory/naming-rules) for all restrictions.\n","willReplaceOnChanges":true},"nodeSize":{"type":"string","description":"The size of the nodes on which the Azure-SSIS Integration Runtime runs. Valid values are: `Standard_D2_v3`, `Standard_D4_v3`, `Standard_D8_v3`, `Standard_D16_v3`, `Standard_D32_v3`, `Standard_D64_v3`, `Standard_E2_v3`, `Standard_E4_v3`, `Standard_E8_v3`, `Standard_E16_v3`, `Standard_E32_v3`, `Standard_E64_v3`, `Standard_D1_v2`, `Standard_D2_v2`, `Standard_D3_v2`, `Standard_D4_v2`, `Standard_A4_v2` and `Standard_A8_v2`\n"},"numberOfNodes":{"type":"integer","description":"Number of nodes for the Azure-SSIS Integration Runtime. Max is \u003cspan pulumi-lang-nodejs=\"`10`\" pulumi-lang-dotnet=\"`10`\" pulumi-lang-go=\"`10`\" pulumi-lang-python=\"`10`\" pulumi-lang-yaml=\"`10`\" pulumi-lang-java=\"`10`\"\u003e`10`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e.\n"},"packageStores":{"type":"array","items":{"$ref":"#/types/azure:datafactory/IntegrationRuntimeSsisPackageStore:IntegrationRuntimeSsisPackageStore"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`packageStore`\" pulumi-lang-dotnet=\"`PackageStore`\" pulumi-lang-go=\"`packageStore`\" pulumi-lang-python=\"`package_store`\" pulumi-lang-yaml=\"`packageStore`\" pulumi-lang-java=\"`packageStore`\"\u003e`package_store`\u003c/span\u003e block as defined below.\n"},"pipelineExternalComputeScale":{"$ref":"#/types/azure:datafactory/IntegrationRuntimeSsisPipelineExternalComputeScale:IntegrationRuntimeSsisPipelineExternalComputeScale","description":"One \u003cspan pulumi-lang-nodejs=\"`pipelineExternalComputeScale`\" pulumi-lang-dotnet=\"`PipelineExternalComputeScale`\" pulumi-lang-go=\"`pipelineExternalComputeScale`\" pulumi-lang-python=\"`pipeline_external_compute_scale`\" pulumi-lang-yaml=\"`pipelineExternalComputeScale`\" pulumi-lang-java=\"`pipelineExternalComputeScale`\"\u003e`pipeline_external_compute_scale`\u003c/span\u003e block as defined below.\n"},"proxy":{"$ref":"#/types/azure:datafactory/IntegrationRuntimeSsisProxy:IntegrationRuntimeSsisProxy","description":"A \u003cspan pulumi-lang-nodejs=\"`proxy`\" pulumi-lang-dotnet=\"`Proxy`\" pulumi-lang-go=\"`proxy`\" pulumi-lang-python=\"`proxy`\" pulumi-lang-yaml=\"`proxy`\" pulumi-lang-java=\"`proxy`\"\u003e`proxy`\u003c/span\u003e block as defined below.\n"},"vnetIntegration":{"$ref":"#/types/azure:datafactory/IntegrationRuntimeSsisVnetIntegration:IntegrationRuntimeSsisVnetIntegration","description":"A \u003cspan pulumi-lang-nodejs=\"`vnetIntegration`\" pulumi-lang-dotnet=\"`VnetIntegration`\" pulumi-lang-go=\"`vnetIntegration`\" pulumi-lang-python=\"`vnet_integration`\" pulumi-lang-yaml=\"`vnetIntegration`\" pulumi-lang-java=\"`vnetIntegration`\"\u003e`vnet_integration`\u003c/span\u003e block as defined below.\n"}},"type":"object"},"aliases":[{"type":"azure:datafactory/integrationRuntimeManaged:IntegrationRuntimeManaged"}]},"azure:datafactory/linkedCustomService:LinkedCustomService":{"description":"Manages a Linked Service (connection) between a resource and Azure Data Factory. This is a generic resource that supports all different Linked Service Types.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleFactory = new azure.datafactory.Factory(\"example\", {\n    name: \"example\",\n    location: example.location,\n    resourceGroupName: example.name,\n    identity: {\n        type: \"SystemAssigned\",\n    },\n});\nconst exampleAccount = new azure.storage.Account(\"example\", {\n    name: \"example\",\n    resourceGroupName: example.name,\n    location: example.location,\n    accountKind: \"BlobStorage\",\n    accountTier: \"Standard\",\n    accountReplicationType: \"LRS\",\n});\nconst exampleLinkedCustomService = new azure.datafactory.LinkedCustomService(\"example\", {\n    name: \"example\",\n    dataFactoryId: exampleFactory.id,\n    type: \"AzureBlobStorage\",\n    description: \"test description\",\n    typePropertiesJson: pulumi.interpolate`{\n  \\\"connectionString\\\":\\\"${exampleAccount.primaryConnectionString}\\\"\n}\n`,\n    parameters: {\n        foo: \"bar\",\n        Env: \"Test\",\n    },\n    annotations: [\n        \"test1\",\n        \"test2\",\n        \"test3\",\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_factory = azure.datafactory.Factory(\"example\",\n    name=\"example\",\n    location=example.location,\n    resource_group_name=example.name,\n    identity={\n        \"type\": \"SystemAssigned\",\n    })\nexample_account = azure.storage.Account(\"example\",\n    name=\"example\",\n    resource_group_name=example.name,\n    location=example.location,\n    account_kind=\"BlobStorage\",\n    account_tier=\"Standard\",\n    account_replication_type=\"LRS\")\nexample_linked_custom_service = azure.datafactory.LinkedCustomService(\"example\",\n    name=\"example\",\n    data_factory_id=example_factory.id,\n    type=\"AzureBlobStorage\",\n    description=\"test description\",\n    type_properties_json=example_account.primary_connection_string.apply(lambda primary_connection_string: f\"\"\"{{\n  \\\"connectionString\\\":\\\"{primary_connection_string}\\\"\n}}\n\"\"\"),\n    parameters={\n        \"foo\": \"bar\",\n        \"Env\": \"Test\",\n    },\n    annotations=[\n        \"test1\",\n        \"test2\",\n        \"test3\",\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleFactory = new Azure.DataFactory.Factory(\"example\", new()\n    {\n        Name = \"example\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Identity = new Azure.DataFactory.Inputs.FactoryIdentityArgs\n        {\n            Type = \"SystemAssigned\",\n        },\n    });\n\n    var exampleAccount = new Azure.Storage.Account(\"example\", new()\n    {\n        Name = \"example\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        AccountKind = \"BlobStorage\",\n        AccountTier = \"Standard\",\n        AccountReplicationType = \"LRS\",\n    });\n\n    var exampleLinkedCustomService = new Azure.DataFactory.LinkedCustomService(\"example\", new()\n    {\n        Name = \"example\",\n        DataFactoryId = exampleFactory.Id,\n        Type = \"AzureBlobStorage\",\n        Description = \"test description\",\n        TypePropertiesJson = exampleAccount.PrimaryConnectionString.Apply(primaryConnectionString =\u003e @$\"{{\n  \\\"\"connectionString\\\"\":\\\"\"{primaryConnectionString}\\\"\"\n}}\n\"),\n        Parameters = \n        {\n            { \"foo\", \"bar\" },\n            { \"Env\", \"Test\" },\n        },\n        Annotations = new[]\n        {\n            \"test1\",\n            \"test2\",\n            \"test3\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/datafactory\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleFactory, err := datafactory.NewFactory(ctx, \"example\", \u0026datafactory.FactoryArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tIdentity: \u0026datafactory.FactoryIdentityArgs{\n\t\t\t\tType: pulumi.String(\"SystemAssigned\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := storage.NewAccount(ctx, \"example\", \u0026storage.AccountArgs{\n\t\t\tName:                   pulumi.String(\"example\"),\n\t\t\tResourceGroupName:      example.Name,\n\t\t\tLocation:               example.Location,\n\t\t\tAccountKind:            pulumi.String(\"BlobStorage\"),\n\t\t\tAccountTier:            pulumi.String(\"Standard\"),\n\t\t\tAccountReplicationType: pulumi.String(\"LRS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = datafactory.NewLinkedCustomService(ctx, \"example\", \u0026datafactory.LinkedCustomServiceArgs{\n\t\t\tName:          pulumi.String(\"example\"),\n\t\t\tDataFactoryId: exampleFactory.ID(),\n\t\t\tType:          pulumi.String(\"AzureBlobStorage\"),\n\t\t\tDescription:   pulumi.String(\"test description\"),\n\t\t\tTypePropertiesJson: exampleAccount.PrimaryConnectionString.ApplyT(func(primaryConnectionString string) (string, error) {\n\t\t\t\treturn fmt.Sprintf(\"{\\n  \\\\\\\"connectionString\\\\\\\":\\\\\\\"%v\\\\\\\"\\n}\\n\", primaryConnectionString), nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t\tParameters: pulumi.StringMap{\n\t\t\t\t\"foo\": pulumi.String(\"bar\"),\n\t\t\t\t\"Env\": pulumi.String(\"Test\"),\n\t\t\t},\n\t\t\tAnnotations: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"test1\"),\n\t\t\t\tpulumi.String(\"test2\"),\n\t\t\t\tpulumi.String(\"test3\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.datafactory.Factory;\nimport com.pulumi.azure.datafactory.FactoryArgs;\nimport com.pulumi.azure.datafactory.inputs.FactoryIdentityArgs;\nimport com.pulumi.azure.storage.Account;\nimport com.pulumi.azure.storage.AccountArgs;\nimport com.pulumi.azure.datafactory.LinkedCustomService;\nimport com.pulumi.azure.datafactory.LinkedCustomServiceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleFactory = new Factory(\"exampleFactory\", FactoryArgs.builder()\n            .name(\"example\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .identity(FactoryIdentityArgs.builder()\n                .type(\"SystemAssigned\")\n                .build())\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"example\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .accountKind(\"BlobStorage\")\n            .accountTier(\"Standard\")\n            .accountReplicationType(\"LRS\")\n            .build());\n\n        var exampleLinkedCustomService = new LinkedCustomService(\"exampleLinkedCustomService\", LinkedCustomServiceArgs.builder()\n            .name(\"example\")\n            .dataFactoryId(exampleFactory.id())\n            .type(\"AzureBlobStorage\")\n            .description(\"test description\")\n            .typePropertiesJson(exampleAccount.primaryConnectionString().applyValue(_primaryConnectionString -\u003e \"\"\"\n{\n  \\\"connectionString\\\":\\\"%s\\\"\n}\n\", _primaryConnectionString)))\n            .parameters(Map.ofEntries(\n                Map.entry(\"foo\", \"bar\"),\n                Map.entry(\"Env\", \"Test\")\n            ))\n            .annotations(            \n                \"test1\",\n                \"test2\",\n                \"test3\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleFactory:\n    type: azure:datafactory:Factory\n    name: example\n    properties:\n      name: example\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      identity:\n        type: SystemAssigned\n  exampleAccount:\n    type: azure:storage:Account\n    name: example\n    properties:\n      name: example\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      accountKind: BlobStorage\n      accountTier: Standard\n      accountReplicationType: LRS\n  exampleLinkedCustomService:\n    type: azure:datafactory:LinkedCustomService\n    name: example\n    properties:\n      name: example\n      dataFactoryId: ${exampleFactory.id}\n      type: AzureBlobStorage\n      description: test description\n      typePropertiesJson: |\n        {\n          \\\"connectionString\\\":\\\"${exampleAccount.primaryConnectionString}\\\"\n        }\n      parameters:\n        foo: bar\n        Env: Test\n      annotations:\n        - test1\n        - test2\n        - test3\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nData Factory Linked Service's can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:datafactory/linkedCustomService:LinkedCustomService example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/example/providers/Microsoft.DataFactory/factories/example/linkedservices/example\n```\n\n","properties":{"additionalProperties":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of additional properties to associate with the Data Factory Linked Service.\n"},"annotations":{"type":"array","items":{"type":"string"},"description":"List of tags that can be used for describing the Data Factory Linked Service.\n"},"dataFactoryId":{"type":"string","description":"The Data Factory ID in which to associate the Linked Service with. Changing this forces a new resource.\n"},"description":{"type":"string","description":"The description for the Data Factory Linked Service.\n"},"integrationRuntime":{"$ref":"#/types/azure:datafactory/LinkedCustomServiceIntegrationRuntime:LinkedCustomServiceIntegrationRuntime","description":"An \u003cspan pulumi-lang-nodejs=\"`integrationRuntime`\" pulumi-lang-dotnet=\"`IntegrationRuntime`\" pulumi-lang-go=\"`integrationRuntime`\" pulumi-lang-python=\"`integration_runtime`\" pulumi-lang-yaml=\"`integrationRuntime`\" pulumi-lang-java=\"`integrationRuntime`\"\u003e`integration_runtime`\u003c/span\u003e block as defined below.\n"},"name":{"type":"string","description":"Specifies the name of the Data Factory Linked Service. Changing this forces a new resource to be created. Must be unique within a data factory. See the [Microsoft documentation](https://docs.microsoft.com/azure/data-factory/naming-rules) for all restrictions.\n"},"parameters":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of parameters to associate with the Data Factory Linked Service.\n"},"type":{"type":"string","description":"The type of data stores that will be connected to Data Factory. For full list of supported data stores, please refer to [Azure Data Factory connector](https://docs.microsoft.com/azure/data-factory/connector-overview). Please refer to Microsoft.DataFactory factories/linkedservices for the type values syntax. Changing this forces a new resource to be created.\n"},"typePropertiesJson":{"type":"string","description":"A JSON object that contains the properties of the Data Factory Linked Service. Refer to\ndatafactory/models.go for the shape of the expected JSON. For example, the JSON object for `AzureBlobStorage`-typed Linked Service will be unmarshaled into `AzureBlobStorageLinkedServiceTypeProperties struct`.\n"}},"required":["dataFactoryId","name","type","typePropertiesJson"],"inputProperties":{"additionalProperties":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of additional properties to associate with the Data Factory Linked Service.\n"},"annotations":{"type":"array","items":{"type":"string"},"description":"List of tags that can be used for describing the Data Factory Linked Service.\n"},"dataFactoryId":{"type":"string","description":"The Data Factory ID in which to associate the Linked Service with. Changing this forces a new resource.\n","willReplaceOnChanges":true},"description":{"type":"string","description":"The description for the Data Factory Linked Service.\n"},"integrationRuntime":{"$ref":"#/types/azure:datafactory/LinkedCustomServiceIntegrationRuntime:LinkedCustomServiceIntegrationRuntime","description":"An \u003cspan pulumi-lang-nodejs=\"`integrationRuntime`\" pulumi-lang-dotnet=\"`IntegrationRuntime`\" pulumi-lang-go=\"`integrationRuntime`\" pulumi-lang-python=\"`integration_runtime`\" pulumi-lang-yaml=\"`integrationRuntime`\" pulumi-lang-java=\"`integrationRuntime`\"\u003e`integration_runtime`\u003c/span\u003e block as defined below.\n"},"name":{"type":"string","description":"Specifies the name of the Data Factory Linked Service. Changing this forces a new resource to be created. Must be unique within a data factory. See the [Microsoft documentation](https://docs.microsoft.com/azure/data-factory/naming-rules) for all restrictions.\n","willReplaceOnChanges":true},"parameters":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of parameters to associate with the Data Factory Linked Service.\n"},"type":{"type":"string","description":"The type of data stores that will be connected to Data Factory. For full list of supported data stores, please refer to [Azure Data Factory connector](https://docs.microsoft.com/azure/data-factory/connector-overview). Please refer to Microsoft.DataFactory factories/linkedservices for the type values syntax. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"typePropertiesJson":{"type":"string","description":"A JSON object that contains the properties of the Data Factory Linked Service. Refer to\ndatafactory/models.go for the shape of the expected JSON. For example, the JSON object for `AzureBlobStorage`-typed Linked Service will be unmarshaled into `AzureBlobStorageLinkedServiceTypeProperties struct`.\n"}},"requiredInputs":["dataFactoryId","type","typePropertiesJson"],"stateInputs":{"description":"Input properties used for looking up and filtering LinkedCustomService resources.\n","properties":{"additionalProperties":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of additional properties to associate with the Data Factory Linked Service.\n"},"annotations":{"type":"array","items":{"type":"string"},"description":"List of tags that can be used for describing the Data Factory Linked Service.\n"},"dataFactoryId":{"type":"string","description":"The Data Factory ID in which to associate the Linked Service with. Changing this forces a new resource.\n","willReplaceOnChanges":true},"description":{"type":"string","description":"The description for the Data Factory Linked Service.\n"},"integrationRuntime":{"$ref":"#/types/azure:datafactory/LinkedCustomServiceIntegrationRuntime:LinkedCustomServiceIntegrationRuntime","description":"An \u003cspan pulumi-lang-nodejs=\"`integrationRuntime`\" pulumi-lang-dotnet=\"`IntegrationRuntime`\" pulumi-lang-go=\"`integrationRuntime`\" pulumi-lang-python=\"`integration_runtime`\" pulumi-lang-yaml=\"`integrationRuntime`\" pulumi-lang-java=\"`integrationRuntime`\"\u003e`integration_runtime`\u003c/span\u003e block as defined below.\n"},"name":{"type":"string","description":"Specifies the name of the Data Factory Linked Service. Changing this forces a new resource to be created. Must be unique within a data factory. See the [Microsoft documentation](https://docs.microsoft.com/azure/data-factory/naming-rules) for all restrictions.\n","willReplaceOnChanges":true},"parameters":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of parameters to associate with the Data Factory Linked Service.\n"},"type":{"type":"string","description":"The type of data stores that will be connected to Data Factory. For full list of supported data stores, please refer to [Azure Data Factory connector](https://docs.microsoft.com/azure/data-factory/connector-overview). Please refer to Microsoft.DataFactory factories/linkedservices for the type values syntax. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"typePropertiesJson":{"type":"string","description":"A JSON object that contains the properties of the Data Factory Linked Service. Refer to\ndatafactory/models.go for the shape of the expected JSON. For example, the JSON object for `AzureBlobStorage`-typed Linked Service will be unmarshaled into `AzureBlobStorageLinkedServiceTypeProperties struct`.\n"}},"type":"object"}},"azure:datafactory/linkedServiceAzureBlobStorage:LinkedServiceAzureBlobStorage":{"description":"Manages a Linked Service (connection) between an Azure Blob Storage Account and Azure Data Factory.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst example = azure.storage.getAccountOutput({\n    name: \"storageaccountname\",\n    resourceGroupName: exampleResourceGroup.name,\n});\nconst exampleFactory = new azure.datafactory.Factory(\"example\", {\n    name: \"example\",\n    location: exampleResourceGroup.location,\n    resourceGroupName: exampleResourceGroup.name,\n});\nconst exampleLinkedServiceAzureBlobStorage = new azure.datafactory.LinkedServiceAzureBlobStorage(\"example\", {\n    name: \"example\",\n    dataFactoryId: exampleFactory.id,\n    connectionString: example.apply(example =\u003e example.primaryConnectionString),\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample = azure.storage.get_account_output(name=\"storageaccountname\",\n    resource_group_name=example_resource_group.name)\nexample_factory = azure.datafactory.Factory(\"example\",\n    name=\"example\",\n    location=example_resource_group.location,\n    resource_group_name=example_resource_group.name)\nexample_linked_service_azure_blob_storage = azure.datafactory.LinkedServiceAzureBlobStorage(\"example\",\n    name=\"example\",\n    data_factory_id=example_factory.id,\n    connection_string=example.primary_connection_string)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleResourceGroup = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var example = Azure.Storage.GetAccount.Invoke(new()\n    {\n        Name = \"storageaccountname\",\n        ResourceGroupName = exampleResourceGroup.Name,\n    });\n\n    var exampleFactory = new Azure.DataFactory.Factory(\"example\", new()\n    {\n        Name = \"example\",\n        Location = exampleResourceGroup.Location,\n        ResourceGroupName = exampleResourceGroup.Name,\n    });\n\n    var exampleLinkedServiceAzureBlobStorage = new Azure.DataFactory.LinkedServiceAzureBlobStorage(\"example\", new()\n    {\n        Name = \"example\",\n        DataFactoryId = exampleFactory.Id,\n        ConnectionString = example.Apply(getAccountResult =\u003e getAccountResult.PrimaryConnectionString),\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/datafactory\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample := storage.LookupAccountOutput(ctx, storage.GetAccountOutputArgs{\n\t\t\tName:              pulumi.String(\"storageaccountname\"),\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t}, nil)\n\t\texampleFactory, err := datafactory.NewFactory(ctx, \"example\", \u0026datafactory.FactoryArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tLocation:          exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = datafactory.NewLinkedServiceAzureBlobStorage(ctx, \"example\", \u0026datafactory.LinkedServiceAzureBlobStorageArgs{\n\t\t\tName:          pulumi.String(\"example\"),\n\t\t\tDataFactoryId: exampleFactory.ID(),\n\t\t\tConnectionString: pulumi.String(example.ApplyT(func(example storage.GetAccountResult) (*string, error) {\n\t\t\t\treturn \u0026example.PrimaryConnectionString, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.storage.StorageFunctions;\nimport com.pulumi.azure.storage.inputs.GetAccountArgs;\nimport com.pulumi.azure.datafactory.Factory;\nimport com.pulumi.azure.datafactory.FactoryArgs;\nimport com.pulumi.azure.datafactory.LinkedServiceAzureBlobStorage;\nimport com.pulumi.azure.datafactory.LinkedServiceAzureBlobStorageArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var exampleResourceGroup = new ResourceGroup(\"exampleResourceGroup\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        final var example = StorageFunctions.getAccount(GetAccountArgs.builder()\n            .name(\"storageaccountname\")\n            .resourceGroupName(exampleResourceGroup.name())\n            .build());\n\n        var exampleFactory = new Factory(\"exampleFactory\", FactoryArgs.builder()\n            .name(\"example\")\n            .location(exampleResourceGroup.location())\n            .resourceGroupName(exampleResourceGroup.name())\n            .build());\n\n        var exampleLinkedServiceAzureBlobStorage = new LinkedServiceAzureBlobStorage(\"exampleLinkedServiceAzureBlobStorage\", LinkedServiceAzureBlobStorageArgs.builder()\n            .name(\"example\")\n            .dataFactoryId(exampleFactory.id())\n            .connectionString(example.applyValue(_example -\u003e _example.primaryConnectionString()))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleResourceGroup:\n    type: azure:core:ResourceGroup\n    name: example\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleFactory:\n    type: azure:datafactory:Factory\n    name: example\n    properties:\n      name: example\n      location: ${exampleResourceGroup.location}\n      resourceGroupName: ${exampleResourceGroup.name}\n  exampleLinkedServiceAzureBlobStorage:\n    type: azure:datafactory:LinkedServiceAzureBlobStorage\n    name: example\n    properties:\n      name: example\n      dataFactoryId: ${exampleFactory.id}\n      connectionString: ${example.primaryConnectionString}\nvariables:\n  example:\n    fn::invoke:\n      function: azure:storage:getAccount\n      arguments:\n        name: storageaccountname\n        resourceGroupName: ${exampleResourceGroup.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\n## Import\n\nData Factory Linked Service's can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:datafactory/linkedServiceAzureBlobStorage:LinkedServiceAzureBlobStorage example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/example/providers/Microsoft.DataFactory/factories/example/linkedservices/example\n```\n\n","properties":{"additionalProperties":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of additional properties to associate with the Data Factory Linked Service.\n\nThe following supported arguments are specific to Azure Blob Storage Linked Service:\n"},"annotations":{"type":"array","items":{"type":"string"},"description":"List of tags that can be used for describing the Data Factory Linked Service.\n"},"connectionString":{"type":"string","description":"The connection string. Conflicts with \u003cspan pulumi-lang-nodejs=\"`connectionStringInsecure`\" pulumi-lang-dotnet=\"`ConnectionStringInsecure`\" pulumi-lang-go=\"`connectionStringInsecure`\" pulumi-lang-python=\"`connection_string_insecure`\" pulumi-lang-yaml=\"`connectionStringInsecure`\" pulumi-lang-java=\"`connectionStringInsecure`\"\u003e`connection_string_insecure`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`sasUri`\" pulumi-lang-dotnet=\"`SasUri`\" pulumi-lang-go=\"`sasUri`\" pulumi-lang-python=\"`sas_uri`\" pulumi-lang-yaml=\"`sasUri`\" pulumi-lang-java=\"`sasUri`\"\u003e`sas_uri`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`serviceEndpoint`\" pulumi-lang-dotnet=\"`ServiceEndpoint`\" pulumi-lang-go=\"`serviceEndpoint`\" pulumi-lang-python=\"`service_endpoint`\" pulumi-lang-yaml=\"`serviceEndpoint`\" pulumi-lang-java=\"`serviceEndpoint`\"\u003e`service_endpoint`\u003c/span\u003e.\n","secret":true},"connectionStringInsecure":{"type":"string","description":"The connection string sent insecurely. Conflicts with \u003cspan pulumi-lang-nodejs=\"`connectionString`\" pulumi-lang-dotnet=\"`ConnectionString`\" pulumi-lang-go=\"`connectionString`\" pulumi-lang-python=\"`connection_string`\" pulumi-lang-yaml=\"`connectionString`\" pulumi-lang-java=\"`connectionString`\"\u003e`connection_string`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`sasUri`\" pulumi-lang-dotnet=\"`SasUri`\" pulumi-lang-go=\"`sasUri`\" pulumi-lang-python=\"`sas_uri`\" pulumi-lang-yaml=\"`sasUri`\" pulumi-lang-java=\"`sasUri`\"\u003e`sas_uri`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`serviceEndpoint`\" pulumi-lang-dotnet=\"`ServiceEndpoint`\" pulumi-lang-go=\"`serviceEndpoint`\" pulumi-lang-python=\"`service_endpoint`\" pulumi-lang-yaml=\"`serviceEndpoint`\" pulumi-lang-java=\"`serviceEndpoint`\"\u003e`service_endpoint`\u003c/span\u003e.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`connectionString`\" pulumi-lang-dotnet=\"`ConnectionString`\" pulumi-lang-go=\"`connectionString`\" pulumi-lang-python=\"`connection_string`\" pulumi-lang-yaml=\"`connectionString`\" pulumi-lang-java=\"`connectionString`\"\u003e`connection_string`\u003c/span\u003e uses the Azure [SecureString](https://learn.microsoft.com/en-us/dotnet/api/microsoft.azure.management.datafactory.models.securestring) to encrypt the contents within the REST payload sent to Azure whilst the \u003cspan pulumi-lang-nodejs=\"`connectionStringInsecure`\" pulumi-lang-dotnet=\"`ConnectionStringInsecure`\" pulumi-lang-go=\"`connectionStringInsecure`\" pulumi-lang-python=\"`connection_string_insecure`\" pulumi-lang-yaml=\"`connectionStringInsecure`\" pulumi-lang-java=\"`connectionStringInsecure`\"\u003e`connection_string_insecure`\u003c/span\u003e is sent as a regular string. Both properties are still sent using SSL/HTTPS. At this time the portal will not decrypt Secure Strings so the \u003cspan pulumi-lang-nodejs=\"`connectionString`\" pulumi-lang-dotnet=\"`ConnectionString`\" pulumi-lang-go=\"`connectionString`\" pulumi-lang-python=\"`connection_string`\" pulumi-lang-yaml=\"`connectionString`\" pulumi-lang-java=\"`connectionString`\"\u003e`connection_string`\u003c/span\u003e property in the portal will show as `******` whilst \u003cspan pulumi-lang-nodejs=\"`connectionStringInsecure`\" pulumi-lang-dotnet=\"`ConnectionStringInsecure`\" pulumi-lang-go=\"`connectionStringInsecure`\" pulumi-lang-python=\"`connection_string_insecure`\" pulumi-lang-yaml=\"`connectionStringInsecure`\" pulumi-lang-java=\"`connectionStringInsecure`\"\u003e`connection_string_insecure`\u003c/span\u003e will be viewable in the portal.\n"},"dataFactoryId":{"type":"string","description":"The Data Factory ID in which to associate the Linked Service with. Changing this forces a new resource.\n"},"description":{"type":"string","description":"The description for the Data Factory Linked Service.\n"},"integrationRuntimeName":{"type":"string","description":"The integration runtime reference to associate with the Data Factory Linked Service.\n"},"keyVaultSasToken":{"$ref":"#/types/azure:datafactory/LinkedServiceAzureBlobStorageKeyVaultSasToken:LinkedServiceAzureBlobStorageKeyVaultSasToken","deprecationMessage":"the \u003cspan pulumi-lang-nodejs=\"`keyVaultSasToken`\" pulumi-lang-dotnet=\"`KeyVaultSasToken`\" pulumi-lang-go=\"`keyVaultSasToken`\" pulumi-lang-python=\"`key_vault_sas_token`\" pulumi-lang-yaml=\"`keyVaultSasToken`\" pulumi-lang-java=\"`keyVaultSasToken`\"\u003e`key_vault_sas_token`\u003c/span\u003e property has been deprecated in favour of the \u003cspan pulumi-lang-nodejs=\"`sasTokenLinkedKeyVaultKey`\" pulumi-lang-dotnet=\"`SasTokenLinkedKeyVaultKey`\" pulumi-lang-go=\"`sasTokenLinkedKeyVaultKey`\" pulumi-lang-python=\"`sas_token_linked_key_vault_key`\" pulumi-lang-yaml=\"`sasTokenLinkedKeyVaultKey`\" pulumi-lang-java=\"`sasTokenLinkedKeyVaultKey`\"\u003e`sas_token_linked_key_vault_key`\u003c/span\u003e property and will be removed in v5.0 of the AzureRM Provider"},"name":{"type":"string","description":"Specifies the name of the Data Factory Linked Service. Changing this forces a new resource to be created. Must be unique within a data factory. See the [Microsoft documentation](https://docs.microsoft.com/azure/data-factory/naming-rules) for all restrictions.\n"},"parameters":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of parameters to associate with the Data Factory Linked Service.\n"},"sasTokenLinkedKeyVaultKey":{"$ref":"#/types/azure:datafactory/LinkedServiceAzureBlobStorageSasTokenLinkedKeyVaultKey:LinkedServiceAzureBlobStorageSasTokenLinkedKeyVaultKey","description":"A \u003cspan pulumi-lang-nodejs=\"`sasTokenLinkedKeyVaultKey`\" pulumi-lang-dotnet=\"`SasTokenLinkedKeyVaultKey`\" pulumi-lang-go=\"`sasTokenLinkedKeyVaultKey`\" pulumi-lang-python=\"`sas_token_linked_key_vault_key`\" pulumi-lang-yaml=\"`sasTokenLinkedKeyVaultKey`\" pulumi-lang-java=\"`sasTokenLinkedKeyVaultKey`\"\u003e`sas_token_linked_key_vault_key`\u003c/span\u003e block as defined below. Use this argument to store SAS Token in an existing Key Vault. It needs an existing Key Vault Data Factory Linked Service. A \u003cspan pulumi-lang-nodejs=\"`sasUri`\" pulumi-lang-dotnet=\"`SasUri`\" pulumi-lang-go=\"`sasUri`\" pulumi-lang-python=\"`sas_uri`\" pulumi-lang-yaml=\"`sasUri`\" pulumi-lang-java=\"`sasUri`\"\u003e`sas_uri`\u003c/span\u003e is required.\n"},"sasUri":{"type":"string","description":"The SAS URI. Conflicts with \u003cspan pulumi-lang-nodejs=\"`connectionStringInsecure`\" pulumi-lang-dotnet=\"`ConnectionStringInsecure`\" pulumi-lang-go=\"`connectionStringInsecure`\" pulumi-lang-python=\"`connection_string_insecure`\" pulumi-lang-yaml=\"`connectionStringInsecure`\" pulumi-lang-java=\"`connectionStringInsecure`\"\u003e`connection_string_insecure`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`connectionString`\" pulumi-lang-dotnet=\"`ConnectionString`\" pulumi-lang-go=\"`connectionString`\" pulumi-lang-python=\"`connection_string`\" pulumi-lang-yaml=\"`connectionString`\" pulumi-lang-java=\"`connectionString`\"\u003e`connection_string`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`serviceEndpoint`\" pulumi-lang-dotnet=\"`ServiceEndpoint`\" pulumi-lang-go=\"`serviceEndpoint`\" pulumi-lang-python=\"`service_endpoint`\" pulumi-lang-yaml=\"`serviceEndpoint`\" pulumi-lang-java=\"`serviceEndpoint`\"\u003e`service_endpoint`\u003c/span\u003e.\n","secret":true},"serviceEndpoint":{"type":"string","secret":true},"servicePrincipalId":{"type":"string"},"servicePrincipalKey":{"type":"string"},"servicePrincipalLinkedKeyVaultKey":{"$ref":"#/types/azure:datafactory/LinkedServiceAzureBlobStorageServicePrincipalLinkedKeyVaultKey:LinkedServiceAzureBlobStorageServicePrincipalLinkedKeyVaultKey"},"storageKind":{"type":"string"},"tenantId":{"type":"string"},"useManagedIdentity":{"type":"boolean"}},"required":["dataFactoryId","keyVaultSasToken","name","sasTokenLinkedKeyVaultKey"],"inputProperties":{"additionalProperties":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of additional properties to associate with the Data Factory Linked Service.\n\nThe following supported arguments are specific to Azure Blob Storage Linked Service:\n"},"annotations":{"type":"array","items":{"type":"string"},"description":"List of tags that can be used for describing the Data Factory Linked Service.\n"},"connectionString":{"type":"string","description":"The connection string. Conflicts with \u003cspan pulumi-lang-nodejs=\"`connectionStringInsecure`\" pulumi-lang-dotnet=\"`ConnectionStringInsecure`\" pulumi-lang-go=\"`connectionStringInsecure`\" pulumi-lang-python=\"`connection_string_insecure`\" pulumi-lang-yaml=\"`connectionStringInsecure`\" pulumi-lang-java=\"`connectionStringInsecure`\"\u003e`connection_string_insecure`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`sasUri`\" pulumi-lang-dotnet=\"`SasUri`\" pulumi-lang-go=\"`sasUri`\" pulumi-lang-python=\"`sas_uri`\" pulumi-lang-yaml=\"`sasUri`\" pulumi-lang-java=\"`sasUri`\"\u003e`sas_uri`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`serviceEndpoint`\" pulumi-lang-dotnet=\"`ServiceEndpoint`\" pulumi-lang-go=\"`serviceEndpoint`\" pulumi-lang-python=\"`service_endpoint`\" pulumi-lang-yaml=\"`serviceEndpoint`\" pulumi-lang-java=\"`serviceEndpoint`\"\u003e`service_endpoint`\u003c/span\u003e.\n","secret":true},"connectionStringInsecure":{"type":"string","description":"The connection string sent insecurely. Conflicts with \u003cspan pulumi-lang-nodejs=\"`connectionString`\" pulumi-lang-dotnet=\"`ConnectionString`\" pulumi-lang-go=\"`connectionString`\" pulumi-lang-python=\"`connection_string`\" pulumi-lang-yaml=\"`connectionString`\" pulumi-lang-java=\"`connectionString`\"\u003e`connection_string`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`sasUri`\" pulumi-lang-dotnet=\"`SasUri`\" pulumi-lang-go=\"`sasUri`\" pulumi-lang-python=\"`sas_uri`\" pulumi-lang-yaml=\"`sasUri`\" pulumi-lang-java=\"`sasUri`\"\u003e`sas_uri`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`serviceEndpoint`\" pulumi-lang-dotnet=\"`ServiceEndpoint`\" pulumi-lang-go=\"`serviceEndpoint`\" pulumi-lang-python=\"`service_endpoint`\" pulumi-lang-yaml=\"`serviceEndpoint`\" pulumi-lang-java=\"`serviceEndpoint`\"\u003e`service_endpoint`\u003c/span\u003e.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`connectionString`\" pulumi-lang-dotnet=\"`ConnectionString`\" pulumi-lang-go=\"`connectionString`\" pulumi-lang-python=\"`connection_string`\" pulumi-lang-yaml=\"`connectionString`\" pulumi-lang-java=\"`connectionString`\"\u003e`connection_string`\u003c/span\u003e uses the Azure [SecureString](https://learn.microsoft.com/en-us/dotnet/api/microsoft.azure.management.datafactory.models.securestring) to encrypt the contents within the REST payload sent to Azure whilst the \u003cspan pulumi-lang-nodejs=\"`connectionStringInsecure`\" pulumi-lang-dotnet=\"`ConnectionStringInsecure`\" pulumi-lang-go=\"`connectionStringInsecure`\" pulumi-lang-python=\"`connection_string_insecure`\" pulumi-lang-yaml=\"`connectionStringInsecure`\" pulumi-lang-java=\"`connectionStringInsecure`\"\u003e`connection_string_insecure`\u003c/span\u003e is sent as a regular string. Both properties are still sent using SSL/HTTPS. At this time the portal will not decrypt Secure Strings so the \u003cspan pulumi-lang-nodejs=\"`connectionString`\" pulumi-lang-dotnet=\"`ConnectionString`\" pulumi-lang-go=\"`connectionString`\" pulumi-lang-python=\"`connection_string`\" pulumi-lang-yaml=\"`connectionString`\" pulumi-lang-java=\"`connectionString`\"\u003e`connection_string`\u003c/span\u003e property in the portal will show as `******` whilst \u003cspan pulumi-lang-nodejs=\"`connectionStringInsecure`\" pulumi-lang-dotnet=\"`ConnectionStringInsecure`\" pulumi-lang-go=\"`connectionStringInsecure`\" pulumi-lang-python=\"`connection_string_insecure`\" pulumi-lang-yaml=\"`connectionStringInsecure`\" pulumi-lang-java=\"`connectionStringInsecure`\"\u003e`connection_string_insecure`\u003c/span\u003e will be viewable in the portal.\n"},"dataFactoryId":{"type":"string","description":"The Data Factory ID in which to associate the Linked Service with. Changing this forces a new resource.\n","willReplaceOnChanges":true},"description":{"type":"string","description":"The description for the Data Factory Linked Service.\n"},"integrationRuntimeName":{"type":"string","description":"The integration runtime reference to associate with the Data Factory Linked Service.\n"},"keyVaultSasToken":{"$ref":"#/types/azure:datafactory/LinkedServiceAzureBlobStorageKeyVaultSasToken:LinkedServiceAzureBlobStorageKeyVaultSasToken","deprecationMessage":"the \u003cspan pulumi-lang-nodejs=\"`keyVaultSasToken`\" pulumi-lang-dotnet=\"`KeyVaultSasToken`\" pulumi-lang-go=\"`keyVaultSasToken`\" pulumi-lang-python=\"`key_vault_sas_token`\" pulumi-lang-yaml=\"`keyVaultSasToken`\" pulumi-lang-java=\"`keyVaultSasToken`\"\u003e`key_vault_sas_token`\u003c/span\u003e property has been deprecated in favour of the \u003cspan pulumi-lang-nodejs=\"`sasTokenLinkedKeyVaultKey`\" pulumi-lang-dotnet=\"`SasTokenLinkedKeyVaultKey`\" pulumi-lang-go=\"`sasTokenLinkedKeyVaultKey`\" pulumi-lang-python=\"`sas_token_linked_key_vault_key`\" pulumi-lang-yaml=\"`sasTokenLinkedKeyVaultKey`\" pulumi-lang-java=\"`sasTokenLinkedKeyVaultKey`\"\u003e`sas_token_linked_key_vault_key`\u003c/span\u003e property and will be removed in v5.0 of the AzureRM Provider"},"name":{"type":"string","description":"Specifies the name of the Data Factory Linked Service. Changing this forces a new resource to be created. Must be unique within a data factory. See the [Microsoft documentation](https://docs.microsoft.com/azure/data-factory/naming-rules) for all restrictions.\n","willReplaceOnChanges":true},"parameters":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of parameters to associate with the Data Factory Linked Service.\n"},"sasTokenLinkedKeyVaultKey":{"$ref":"#/types/azure:datafactory/LinkedServiceAzureBlobStorageSasTokenLinkedKeyVaultKey:LinkedServiceAzureBlobStorageSasTokenLinkedKeyVaultKey","description":"A \u003cspan pulumi-lang-nodejs=\"`sasTokenLinkedKeyVaultKey`\" pulumi-lang-dotnet=\"`SasTokenLinkedKeyVaultKey`\" pulumi-lang-go=\"`sasTokenLinkedKeyVaultKey`\" pulumi-lang-python=\"`sas_token_linked_key_vault_key`\" pulumi-lang-yaml=\"`sasTokenLinkedKeyVaultKey`\" pulumi-lang-java=\"`sasTokenLinkedKeyVaultKey`\"\u003e`sas_token_linked_key_vault_key`\u003c/span\u003e block as defined below. Use this argument to store SAS Token in an existing Key Vault. It needs an existing Key Vault Data Factory Linked Service. A \u003cspan pulumi-lang-nodejs=\"`sasUri`\" pulumi-lang-dotnet=\"`SasUri`\" pulumi-lang-go=\"`sasUri`\" pulumi-lang-python=\"`sas_uri`\" pulumi-lang-yaml=\"`sasUri`\" pulumi-lang-java=\"`sasUri`\"\u003e`sas_uri`\u003c/span\u003e is required.\n"},"sasUri":{"type":"string","description":"The SAS URI. Conflicts with \u003cspan pulumi-lang-nodejs=\"`connectionStringInsecure`\" pulumi-lang-dotnet=\"`ConnectionStringInsecure`\" pulumi-lang-go=\"`connectionStringInsecure`\" pulumi-lang-python=\"`connection_string_insecure`\" pulumi-lang-yaml=\"`connectionStringInsecure`\" pulumi-lang-java=\"`connectionStringInsecure`\"\u003e`connection_string_insecure`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`connectionString`\" pulumi-lang-dotnet=\"`ConnectionString`\" pulumi-lang-go=\"`connectionString`\" pulumi-lang-python=\"`connection_string`\" pulumi-lang-yaml=\"`connectionString`\" pulumi-lang-java=\"`connectionString`\"\u003e`connection_string`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`serviceEndpoint`\" pulumi-lang-dotnet=\"`ServiceEndpoint`\" pulumi-lang-go=\"`serviceEndpoint`\" pulumi-lang-python=\"`service_endpoint`\" pulumi-lang-yaml=\"`serviceEndpoint`\" pulumi-lang-java=\"`serviceEndpoint`\"\u003e`service_endpoint`\u003c/span\u003e.\n","secret":true},"serviceEndpoint":{"type":"string","secret":true},"servicePrincipalId":{"type":"string"},"servicePrincipalKey":{"type":"string"},"servicePrincipalLinkedKeyVaultKey":{"$ref":"#/types/azure:datafactory/LinkedServiceAzureBlobStorageServicePrincipalLinkedKeyVaultKey:LinkedServiceAzureBlobStorageServicePrincipalLinkedKeyVaultKey"},"storageKind":{"type":"string"},"tenantId":{"type":"string"},"useManagedIdentity":{"type":"boolean"}},"requiredInputs":["dataFactoryId"],"stateInputs":{"description":"Input properties used for looking up and filtering LinkedServiceAzureBlobStorage resources.\n","properties":{"additionalProperties":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of additional properties to associate with the Data Factory Linked Service.\n\nThe following supported arguments are specific to Azure Blob Storage Linked Service:\n"},"annotations":{"type":"array","items":{"type":"string"},"description":"List of tags that can be used for describing the Data Factory Linked Service.\n"},"connectionString":{"type":"string","description":"The connection string. Conflicts with \u003cspan pulumi-lang-nodejs=\"`connectionStringInsecure`\" pulumi-lang-dotnet=\"`ConnectionStringInsecure`\" pulumi-lang-go=\"`connectionStringInsecure`\" pulumi-lang-python=\"`connection_string_insecure`\" pulumi-lang-yaml=\"`connectionStringInsecure`\" pulumi-lang-java=\"`connectionStringInsecure`\"\u003e`connection_string_insecure`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`sasUri`\" pulumi-lang-dotnet=\"`SasUri`\" pulumi-lang-go=\"`sasUri`\" pulumi-lang-python=\"`sas_uri`\" pulumi-lang-yaml=\"`sasUri`\" pulumi-lang-java=\"`sasUri`\"\u003e`sas_uri`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`serviceEndpoint`\" pulumi-lang-dotnet=\"`ServiceEndpoint`\" pulumi-lang-go=\"`serviceEndpoint`\" pulumi-lang-python=\"`service_endpoint`\" pulumi-lang-yaml=\"`serviceEndpoint`\" pulumi-lang-java=\"`serviceEndpoint`\"\u003e`service_endpoint`\u003c/span\u003e.\n","secret":true},"connectionStringInsecure":{"type":"string","description":"The connection string sent insecurely. Conflicts with \u003cspan pulumi-lang-nodejs=\"`connectionString`\" pulumi-lang-dotnet=\"`ConnectionString`\" pulumi-lang-go=\"`connectionString`\" pulumi-lang-python=\"`connection_string`\" pulumi-lang-yaml=\"`connectionString`\" pulumi-lang-java=\"`connectionString`\"\u003e`connection_string`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`sasUri`\" pulumi-lang-dotnet=\"`SasUri`\" pulumi-lang-go=\"`sasUri`\" pulumi-lang-python=\"`sas_uri`\" pulumi-lang-yaml=\"`sasUri`\" pulumi-lang-java=\"`sasUri`\"\u003e`sas_uri`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`serviceEndpoint`\" pulumi-lang-dotnet=\"`ServiceEndpoint`\" pulumi-lang-go=\"`serviceEndpoint`\" pulumi-lang-python=\"`service_endpoint`\" pulumi-lang-yaml=\"`serviceEndpoint`\" pulumi-lang-java=\"`serviceEndpoint`\"\u003e`service_endpoint`\u003c/span\u003e.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`connectionString`\" pulumi-lang-dotnet=\"`ConnectionString`\" pulumi-lang-go=\"`connectionString`\" pulumi-lang-python=\"`connection_string`\" pulumi-lang-yaml=\"`connectionString`\" pulumi-lang-java=\"`connectionString`\"\u003e`connection_string`\u003c/span\u003e uses the Azure [SecureString](https://learn.microsoft.com/en-us/dotnet/api/microsoft.azure.management.datafactory.models.securestring) to encrypt the contents within the REST payload sent to Azure whilst the \u003cspan pulumi-lang-nodejs=\"`connectionStringInsecure`\" pulumi-lang-dotnet=\"`ConnectionStringInsecure`\" pulumi-lang-go=\"`connectionStringInsecure`\" pulumi-lang-python=\"`connection_string_insecure`\" pulumi-lang-yaml=\"`connectionStringInsecure`\" pulumi-lang-java=\"`connectionStringInsecure`\"\u003e`connection_string_insecure`\u003c/span\u003e is sent as a regular string. Both properties are still sent using SSL/HTTPS. At this time the portal will not decrypt Secure Strings so the \u003cspan pulumi-lang-nodejs=\"`connectionString`\" pulumi-lang-dotnet=\"`ConnectionString`\" pulumi-lang-go=\"`connectionString`\" pulumi-lang-python=\"`connection_string`\" pulumi-lang-yaml=\"`connectionString`\" pulumi-lang-java=\"`connectionString`\"\u003e`connection_string`\u003c/span\u003e property in the portal will show as `******` whilst \u003cspan pulumi-lang-nodejs=\"`connectionStringInsecure`\" pulumi-lang-dotnet=\"`ConnectionStringInsecure`\" pulumi-lang-go=\"`connectionStringInsecure`\" pulumi-lang-python=\"`connection_string_insecure`\" pulumi-lang-yaml=\"`connectionStringInsecure`\" pulumi-lang-java=\"`connectionStringInsecure`\"\u003e`connection_string_insecure`\u003c/span\u003e will be viewable in the portal.\n"},"dataFactoryId":{"type":"string","description":"The Data Factory ID in which to associate the Linked Service with. Changing this forces a new resource.\n","willReplaceOnChanges":true},"description":{"type":"string","description":"The description for the Data Factory Linked Service.\n"},"integrationRuntimeName":{"type":"string","description":"The integration runtime reference to associate with the Data Factory Linked Service.\n"},"keyVaultSasToken":{"$ref":"#/types/azure:datafactory/LinkedServiceAzureBlobStorageKeyVaultSasToken:LinkedServiceAzureBlobStorageKeyVaultSasToken","deprecationMessage":"the \u003cspan pulumi-lang-nodejs=\"`keyVaultSasToken`\" pulumi-lang-dotnet=\"`KeyVaultSasToken`\" pulumi-lang-go=\"`keyVaultSasToken`\" pulumi-lang-python=\"`key_vault_sas_token`\" pulumi-lang-yaml=\"`keyVaultSasToken`\" pulumi-lang-java=\"`keyVaultSasToken`\"\u003e`key_vault_sas_token`\u003c/span\u003e property has been deprecated in favour of the \u003cspan pulumi-lang-nodejs=\"`sasTokenLinkedKeyVaultKey`\" pulumi-lang-dotnet=\"`SasTokenLinkedKeyVaultKey`\" pulumi-lang-go=\"`sasTokenLinkedKeyVaultKey`\" pulumi-lang-python=\"`sas_token_linked_key_vault_key`\" pulumi-lang-yaml=\"`sasTokenLinkedKeyVaultKey`\" pulumi-lang-java=\"`sasTokenLinkedKeyVaultKey`\"\u003e`sas_token_linked_key_vault_key`\u003c/span\u003e property and will be removed in v5.0 of the AzureRM Provider"},"name":{"type":"string","description":"Specifies the name of the Data Factory Linked Service. Changing this forces a new resource to be created. Must be unique within a data factory. See the [Microsoft documentation](https://docs.microsoft.com/azure/data-factory/naming-rules) for all restrictions.\n","willReplaceOnChanges":true},"parameters":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of parameters to associate with the Data Factory Linked Service.\n"},"sasTokenLinkedKeyVaultKey":{"$ref":"#/types/azure:datafactory/LinkedServiceAzureBlobStorageSasTokenLinkedKeyVaultKey:LinkedServiceAzureBlobStorageSasTokenLinkedKeyVaultKey","description":"A \u003cspan pulumi-lang-nodejs=\"`sasTokenLinkedKeyVaultKey`\" pulumi-lang-dotnet=\"`SasTokenLinkedKeyVaultKey`\" pulumi-lang-go=\"`sasTokenLinkedKeyVaultKey`\" pulumi-lang-python=\"`sas_token_linked_key_vault_key`\" pulumi-lang-yaml=\"`sasTokenLinkedKeyVaultKey`\" pulumi-lang-java=\"`sasTokenLinkedKeyVaultKey`\"\u003e`sas_token_linked_key_vault_key`\u003c/span\u003e block as defined below. Use this argument to store SAS Token in an existing Key Vault. It needs an existing Key Vault Data Factory Linked Service. A \u003cspan pulumi-lang-nodejs=\"`sasUri`\" pulumi-lang-dotnet=\"`SasUri`\" pulumi-lang-go=\"`sasUri`\" pulumi-lang-python=\"`sas_uri`\" pulumi-lang-yaml=\"`sasUri`\" pulumi-lang-java=\"`sasUri`\"\u003e`sas_uri`\u003c/span\u003e is required.\n"},"sasUri":{"type":"string","description":"The SAS URI. Conflicts with \u003cspan pulumi-lang-nodejs=\"`connectionStringInsecure`\" pulumi-lang-dotnet=\"`ConnectionStringInsecure`\" pulumi-lang-go=\"`connectionStringInsecure`\" pulumi-lang-python=\"`connection_string_insecure`\" pulumi-lang-yaml=\"`connectionStringInsecure`\" pulumi-lang-java=\"`connectionStringInsecure`\"\u003e`connection_string_insecure`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`connectionString`\" pulumi-lang-dotnet=\"`ConnectionString`\" pulumi-lang-go=\"`connectionString`\" pulumi-lang-python=\"`connection_string`\" pulumi-lang-yaml=\"`connectionString`\" pulumi-lang-java=\"`connectionString`\"\u003e`connection_string`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`serviceEndpoint`\" pulumi-lang-dotnet=\"`ServiceEndpoint`\" pulumi-lang-go=\"`serviceEndpoint`\" pulumi-lang-python=\"`service_endpoint`\" pulumi-lang-yaml=\"`serviceEndpoint`\" pulumi-lang-java=\"`serviceEndpoint`\"\u003e`service_endpoint`\u003c/span\u003e.\n","secret":true},"serviceEndpoint":{"type":"string","secret":true},"servicePrincipalId":{"type":"string"},"servicePrincipalKey":{"type":"string"},"servicePrincipalLinkedKeyVaultKey":{"$ref":"#/types/azure:datafactory/LinkedServiceAzureBlobStorageServicePrincipalLinkedKeyVaultKey:LinkedServiceAzureBlobStorageServicePrincipalLinkedKeyVaultKey"},"storageKind":{"type":"string"},"tenantId":{"type":"string"},"useManagedIdentity":{"type":"boolean"}},"type":"object"}},"azure:datafactory/linkedServiceAzureDatabricks:LinkedServiceAzureDatabricks":{"description":"Manages a Linked Service (connection) between Azure Databricks and Azure Data Factory.\n\n## Example Usage\n\n### With Managed Identity \u0026 New Cluster\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example\",\n    location: \"East US\",\n});\n//Create a Linked Service using managed identity and new cluster config\nconst exampleFactory = new azure.datafactory.Factory(\"example\", {\n    name: \"TestDtaFactory92783401247\",\n    location: example.location,\n    resourceGroupName: example.name,\n    identity: {\n        type: \"SystemAssigned\",\n    },\n});\n//Create a databricks instance\nconst exampleWorkspace = new azure.databricks.Workspace(\"example\", {\n    name: \"databricks-test\",\n    resourceGroupName: example.name,\n    location: example.location,\n    sku: \"standard\",\n});\nconst msiLinked = new azure.datafactory.LinkedServiceAzureDatabricks(\"msi_linked\", {\n    name: \"ADBLinkedServiceViaMSI\",\n    dataFactoryId: exampleFactory.id,\n    description: \"ADB Linked Service via MSI\",\n    adbDomain: pulumi.interpolate`https://${exampleWorkspace.workspaceUrl}`,\n    msiWorkspaceId: exampleWorkspace.id,\n    newClusterConfig: {\n        nodeType: \"Standard_NC12\",\n        clusterVersion: \"5.5.x-gpu-scala2.11\",\n        minNumberOfWorkers: 1,\n        maxNumberOfWorkers: 5,\n        driverNodeType: \"Standard_NC12\",\n        logDestination: \"dbfs:/logs\",\n        customTags: {\n            custom_tag1: \"sct_value_1\",\n            custom_tag2: \"sct_value_2\",\n        },\n        sparkConfig: {\n            config1: \"value1\",\n            config2: \"value2\",\n        },\n        sparkEnvironmentVariables: {\n            envVar1: \"value1\",\n            envVar2: \"value2\",\n        },\n        initScripts: [\n            \"init.sh\",\n            \"init2.sh\",\n        ],\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example\",\n    location=\"East US\")\n#Create a Linked Service using managed identity and new cluster config\nexample_factory = azure.datafactory.Factory(\"example\",\n    name=\"TestDtaFactory92783401247\",\n    location=example.location,\n    resource_group_name=example.name,\n    identity={\n        \"type\": \"SystemAssigned\",\n    })\n#Create a databricks instance\nexample_workspace = azure.databricks.Workspace(\"example\",\n    name=\"databricks-test\",\n    resource_group_name=example.name,\n    location=example.location,\n    sku=\"standard\")\nmsi_linked = azure.datafactory.LinkedServiceAzureDatabricks(\"msi_linked\",\n    name=\"ADBLinkedServiceViaMSI\",\n    data_factory_id=example_factory.id,\n    description=\"ADB Linked Service via MSI\",\n    adb_domain=example_workspace.workspace_url.apply(lambda workspace_url: f\"https://{workspace_url}\"),\n    msi_workspace_id=example_workspace.id,\n    new_cluster_config={\n        \"node_type\": \"Standard_NC12\",\n        \"cluster_version\": \"5.5.x-gpu-scala2.11\",\n        \"min_number_of_workers\": 1,\n        \"max_number_of_workers\": 5,\n        \"driver_node_type\": \"Standard_NC12\",\n        \"log_destination\": \"dbfs:/logs\",\n        \"custom_tags\": {\n            \"custom_tag1\": \"sct_value_1\",\n            \"custom_tag2\": \"sct_value_2\",\n        },\n        \"spark_config\": {\n            \"config1\": \"value1\",\n            \"config2\": \"value2\",\n        },\n        \"spark_environment_variables\": {\n            \"envVar1\": \"value1\",\n            \"envVar2\": \"value2\",\n        },\n        \"init_scripts\": [\n            \"init.sh\",\n            \"init2.sh\",\n        ],\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example\",\n        Location = \"East US\",\n    });\n\n    //Create a Linked Service using managed identity and new cluster config\n    var exampleFactory = new Azure.DataFactory.Factory(\"example\", new()\n    {\n        Name = \"TestDtaFactory92783401247\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Identity = new Azure.DataFactory.Inputs.FactoryIdentityArgs\n        {\n            Type = \"SystemAssigned\",\n        },\n    });\n\n    //Create a databricks instance\n    var exampleWorkspace = new Azure.DataBricks.Workspace(\"example\", new()\n    {\n        Name = \"databricks-test\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        Sku = \"standard\",\n    });\n\n    var msiLinked = new Azure.DataFactory.LinkedServiceAzureDatabricks(\"msi_linked\", new()\n    {\n        Name = \"ADBLinkedServiceViaMSI\",\n        DataFactoryId = exampleFactory.Id,\n        Description = \"ADB Linked Service via MSI\",\n        AdbDomain = exampleWorkspace.WorkspaceUrl.Apply(workspaceUrl =\u003e $\"https://{workspaceUrl}\"),\n        MsiWorkspaceId = exampleWorkspace.Id,\n        NewClusterConfig = new Azure.DataFactory.Inputs.LinkedServiceAzureDatabricksNewClusterConfigArgs\n        {\n            NodeType = \"Standard_NC12\",\n            ClusterVersion = \"5.5.x-gpu-scala2.11\",\n            MinNumberOfWorkers = 1,\n            MaxNumberOfWorkers = 5,\n            DriverNodeType = \"Standard_NC12\",\n            LogDestination = \"dbfs:/logs\",\n            CustomTags = \n            {\n                { \"custom_tag1\", \"sct_value_1\" },\n                { \"custom_tag2\", \"sct_value_2\" },\n            },\n            SparkConfig = \n            {\n                { \"config1\", \"value1\" },\n                { \"config2\", \"value2\" },\n            },\n            SparkEnvironmentVariables = \n            {\n                { \"envVar1\", \"value1\" },\n                { \"envVar2\", \"value2\" },\n            },\n            InitScripts = new[]\n            {\n                \"init.sh\",\n                \"init2.sh\",\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/databricks\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/datafactory\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example\"),\n\t\t\tLocation: pulumi.String(\"East US\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create a Linked Service using managed identity and new cluster config\n\t\texampleFactory, err := datafactory.NewFactory(ctx, \"example\", \u0026datafactory.FactoryArgs{\n\t\t\tName:              pulumi.String(\"TestDtaFactory92783401247\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tIdentity: \u0026datafactory.FactoryIdentityArgs{\n\t\t\t\tType: pulumi.String(\"SystemAssigned\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create a databricks instance\n\t\texampleWorkspace, err := databricks.NewWorkspace(ctx, \"example\", \u0026databricks.WorkspaceArgs{\n\t\t\tName:              pulumi.String(\"databricks-test\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tSku:               pulumi.String(\"standard\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = datafactory.NewLinkedServiceAzureDatabricks(ctx, \"msi_linked\", \u0026datafactory.LinkedServiceAzureDatabricksArgs{\n\t\t\tName:          pulumi.String(\"ADBLinkedServiceViaMSI\"),\n\t\t\tDataFactoryId: exampleFactory.ID(),\n\t\t\tDescription:   pulumi.String(\"ADB Linked Service via MSI\"),\n\t\t\tAdbDomain: exampleWorkspace.WorkspaceUrl.ApplyT(func(workspaceUrl string) (string, error) {\n\t\t\t\treturn fmt.Sprintf(\"https://%v\", workspaceUrl), nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t\tMsiWorkspaceId: exampleWorkspace.ID(),\n\t\t\tNewClusterConfig: \u0026datafactory.LinkedServiceAzureDatabricksNewClusterConfigArgs{\n\t\t\t\tNodeType:           pulumi.String(\"Standard_NC12\"),\n\t\t\t\tClusterVersion:     pulumi.String(\"5.5.x-gpu-scala2.11\"),\n\t\t\t\tMinNumberOfWorkers: pulumi.Int(1),\n\t\t\t\tMaxNumberOfWorkers: pulumi.Int(5),\n\t\t\t\tDriverNodeType:     pulumi.String(\"Standard_NC12\"),\n\t\t\t\tLogDestination:     pulumi.String(\"dbfs:/logs\"),\n\t\t\t\tCustomTags: pulumi.StringMap{\n\t\t\t\t\t\"custom_tag1\": pulumi.String(\"sct_value_1\"),\n\t\t\t\t\t\"custom_tag2\": pulumi.String(\"sct_value_2\"),\n\t\t\t\t},\n\t\t\t\tSparkConfig: pulumi.StringMap{\n\t\t\t\t\t\"config1\": pulumi.String(\"value1\"),\n\t\t\t\t\t\"config2\": pulumi.String(\"value2\"),\n\t\t\t\t},\n\t\t\t\tSparkEnvironmentVariables: pulumi.StringMap{\n\t\t\t\t\t\"envVar1\": pulumi.String(\"value1\"),\n\t\t\t\t\t\"envVar2\": pulumi.String(\"value2\"),\n\t\t\t\t},\n\t\t\t\tInitScripts: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"init.sh\"),\n\t\t\t\t\tpulumi.String(\"init2.sh\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.datafactory.Factory;\nimport com.pulumi.azure.datafactory.FactoryArgs;\nimport com.pulumi.azure.datafactory.inputs.FactoryIdentityArgs;\nimport com.pulumi.azure.databricks.Workspace;\nimport com.pulumi.azure.databricks.WorkspaceArgs;\nimport com.pulumi.azure.datafactory.LinkedServiceAzureDatabricks;\nimport com.pulumi.azure.datafactory.LinkedServiceAzureDatabricksArgs;\nimport com.pulumi.azure.datafactory.inputs.LinkedServiceAzureDatabricksNewClusterConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example\")\n            .location(\"East US\")\n            .build());\n\n        //Create a Linked Service using managed identity and new cluster config\n        var exampleFactory = new Factory(\"exampleFactory\", FactoryArgs.builder()\n            .name(\"TestDtaFactory92783401247\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .identity(FactoryIdentityArgs.builder()\n                .type(\"SystemAssigned\")\n                .build())\n            .build());\n\n        //Create a databricks instance\n        var exampleWorkspace = new Workspace(\"exampleWorkspace\", WorkspaceArgs.builder()\n            .name(\"databricks-test\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .sku(\"standard\")\n            .build());\n\n        var msiLinked = new LinkedServiceAzureDatabricks(\"msiLinked\", LinkedServiceAzureDatabricksArgs.builder()\n            .name(\"ADBLinkedServiceViaMSI\")\n            .dataFactoryId(exampleFactory.id())\n            .description(\"ADB Linked Service via MSI\")\n            .adbDomain(exampleWorkspace.workspaceUrl().applyValue(_workspaceUrl -\u003e String.format(\"https://%s\", _workspaceUrl)))\n            .msiWorkspaceId(exampleWorkspace.id())\n            .newClusterConfig(LinkedServiceAzureDatabricksNewClusterConfigArgs.builder()\n                .nodeType(\"Standard_NC12\")\n                .clusterVersion(\"5.5.x-gpu-scala2.11\")\n                .minNumberOfWorkers(1)\n                .maxNumberOfWorkers(5)\n                .driverNodeType(\"Standard_NC12\")\n                .logDestination(\"dbfs:/logs\")\n                .customTags(Map.ofEntries(\n                    Map.entry(\"custom_tag1\", \"sct_value_1\"),\n                    Map.entry(\"custom_tag2\", \"sct_value_2\")\n                ))\n                .sparkConfig(Map.ofEntries(\n                    Map.entry(\"config1\", \"value1\"),\n                    Map.entry(\"config2\", \"value2\")\n                ))\n                .sparkEnvironmentVariables(Map.ofEntries(\n                    Map.entry(\"envVar1\", \"value1\"),\n                    Map.entry(\"envVar2\", \"value2\")\n                ))\n                .initScripts(                \n                    \"init.sh\",\n                    \"init2.sh\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example\n      location: East US\n  #Create a Linked Service using managed identity and new cluster config\n  exampleFactory:\n    type: azure:datafactory:Factory\n    name: example\n    properties:\n      name: TestDtaFactory92783401247\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      identity:\n        type: SystemAssigned\n  #Create a databricks instance\n  exampleWorkspace:\n    type: azure:databricks:Workspace\n    name: example\n    properties:\n      name: databricks-test\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      sku: standard\n  msiLinked:\n    type: azure:datafactory:LinkedServiceAzureDatabricks\n    name: msi_linked\n    properties:\n      name: ADBLinkedServiceViaMSI\n      dataFactoryId: ${exampleFactory.id}\n      description: ADB Linked Service via MSI\n      adbDomain: https://${exampleWorkspace.workspaceUrl}\n      msiWorkspaceId: ${exampleWorkspace.id}\n      newClusterConfig:\n        nodeType: Standard_NC12\n        clusterVersion: 5.5.x-gpu-scala2.11\n        minNumberOfWorkers: 1\n        maxNumberOfWorkers: 5\n        driverNodeType: Standard_NC12\n        logDestination: dbfs:/logs\n        customTags:\n          custom_tag1: sct_value_1\n          custom_tag2: sct_value_2\n        sparkConfig:\n          config1: value1\n          config2: value2\n        sparkEnvironmentVariables:\n          envVar1: value1\n          envVar2: value2\n        initScripts:\n          - init.sh\n          - init2.sh\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\n### With Access Token \u0026 Existing Cluster\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example\",\n    location: \"East US\",\n});\n//Link to an existing cluster via access token\nconst exampleFactory = new azure.datafactory.Factory(\"example\", {\n    name: \"TestDtaFactory92783401247\",\n    location: example.location,\n    resourceGroupName: example.name,\n});\n//Create a databricks instance\nconst exampleWorkspace = new azure.databricks.Workspace(\"example\", {\n    name: \"databricks-test\",\n    resourceGroupName: example.name,\n    location: example.location,\n    sku: \"standard\",\n});\nconst atLinked = new azure.datafactory.LinkedServiceAzureDatabricks(\"at_linked\", {\n    name: \"ADBLinkedServiceViaAccessToken\",\n    dataFactoryId: exampleFactory.id,\n    description: \"ADB Linked Service via Access Token\",\n    existingClusterId: \"0308-201146-sly615\",\n    accessToken: \"SomeDatabricksAccessToken\",\n    adbDomain: pulumi.interpolate`https://${exampleWorkspace.workspaceUrl}`,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example\",\n    location=\"East US\")\n#Link to an existing cluster via access token\nexample_factory = azure.datafactory.Factory(\"example\",\n    name=\"TestDtaFactory92783401247\",\n    location=example.location,\n    resource_group_name=example.name)\n#Create a databricks instance\nexample_workspace = azure.databricks.Workspace(\"example\",\n    name=\"databricks-test\",\n    resource_group_name=example.name,\n    location=example.location,\n    sku=\"standard\")\nat_linked = azure.datafactory.LinkedServiceAzureDatabricks(\"at_linked\",\n    name=\"ADBLinkedServiceViaAccessToken\",\n    data_factory_id=example_factory.id,\n    description=\"ADB Linked Service via Access Token\",\n    existing_cluster_id=\"0308-201146-sly615\",\n    access_token=\"SomeDatabricksAccessToken\",\n    adb_domain=example_workspace.workspace_url.apply(lambda workspace_url: f\"https://{workspace_url}\"))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example\",\n        Location = \"East US\",\n    });\n\n    //Link to an existing cluster via access token\n    var exampleFactory = new Azure.DataFactory.Factory(\"example\", new()\n    {\n        Name = \"TestDtaFactory92783401247\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n    });\n\n    //Create a databricks instance\n    var exampleWorkspace = new Azure.DataBricks.Workspace(\"example\", new()\n    {\n        Name = \"databricks-test\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        Sku = \"standard\",\n    });\n\n    var atLinked = new Azure.DataFactory.LinkedServiceAzureDatabricks(\"at_linked\", new()\n    {\n        Name = \"ADBLinkedServiceViaAccessToken\",\n        DataFactoryId = exampleFactory.Id,\n        Description = \"ADB Linked Service via Access Token\",\n        ExistingClusterId = \"0308-201146-sly615\",\n        AccessToken = \"SomeDatabricksAccessToken\",\n        AdbDomain = exampleWorkspace.WorkspaceUrl.Apply(workspaceUrl =\u003e $\"https://{workspaceUrl}\"),\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/databricks\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/datafactory\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example\"),\n\t\t\tLocation: pulumi.String(\"East US\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Link to an existing cluster via access token\n\t\texampleFactory, err := datafactory.NewFactory(ctx, \"example\", \u0026datafactory.FactoryArgs{\n\t\t\tName:              pulumi.String(\"TestDtaFactory92783401247\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create a databricks instance\n\t\texampleWorkspace, err := databricks.NewWorkspace(ctx, \"example\", \u0026databricks.WorkspaceArgs{\n\t\t\tName:              pulumi.String(\"databricks-test\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tSku:               pulumi.String(\"standard\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = datafactory.NewLinkedServiceAzureDatabricks(ctx, \"at_linked\", \u0026datafactory.LinkedServiceAzureDatabricksArgs{\n\t\t\tName:              pulumi.String(\"ADBLinkedServiceViaAccessToken\"),\n\t\t\tDataFactoryId:     exampleFactory.ID(),\n\t\t\tDescription:       pulumi.String(\"ADB Linked Service via Access Token\"),\n\t\t\tExistingClusterId: pulumi.String(\"0308-201146-sly615\"),\n\t\t\tAccessToken:       pulumi.String(\"SomeDatabricksAccessToken\"),\n\t\t\tAdbDomain: exampleWorkspace.WorkspaceUrl.ApplyT(func(workspaceUrl string) (string, error) {\n\t\t\t\treturn fmt.Sprintf(\"https://%v\", workspaceUrl), nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.datafactory.Factory;\nimport com.pulumi.azure.datafactory.FactoryArgs;\nimport com.pulumi.azure.databricks.Workspace;\nimport com.pulumi.azure.databricks.WorkspaceArgs;\nimport com.pulumi.azure.datafactory.LinkedServiceAzureDatabricks;\nimport com.pulumi.azure.datafactory.LinkedServiceAzureDatabricksArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example\")\n            .location(\"East US\")\n            .build());\n\n        //Link to an existing cluster via access token\n        var exampleFactory = new Factory(\"exampleFactory\", FactoryArgs.builder()\n            .name(\"TestDtaFactory92783401247\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .build());\n\n        //Create a databricks instance\n        var exampleWorkspace = new Workspace(\"exampleWorkspace\", WorkspaceArgs.builder()\n            .name(\"databricks-test\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .sku(\"standard\")\n            .build());\n\n        var atLinked = new LinkedServiceAzureDatabricks(\"atLinked\", LinkedServiceAzureDatabricksArgs.builder()\n            .name(\"ADBLinkedServiceViaAccessToken\")\n            .dataFactoryId(exampleFactory.id())\n            .description(\"ADB Linked Service via Access Token\")\n            .existingClusterId(\"0308-201146-sly615\")\n            .accessToken(\"SomeDatabricksAccessToken\")\n            .adbDomain(exampleWorkspace.workspaceUrl().applyValue(_workspaceUrl -\u003e String.format(\"https://%s\", _workspaceUrl)))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example\n      location: East US\n  #Link to an existing cluster via access token\n  exampleFactory:\n    type: azure:datafactory:Factory\n    name: example\n    properties:\n      name: TestDtaFactory92783401247\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n  #Create a databricks instance\n  exampleWorkspace:\n    type: azure:databricks:Workspace\n    name: example\n    properties:\n      name: databricks-test\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      sku: standard\n  atLinked:\n    type: azure:datafactory:LinkedServiceAzureDatabricks\n    name: at_linked\n    properties:\n      name: ADBLinkedServiceViaAccessToken\n      dataFactoryId: ${exampleFactory.id}\n      description: ADB Linked Service via Access Token\n      existingClusterId: 0308-201146-sly615\n      accessToken: SomeDatabricksAccessToken\n      adbDomain: https://${exampleWorkspace.workspaceUrl}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nData Factory Linked Services can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:datafactory/linkedServiceAzureDatabricks:LinkedServiceAzureDatabricks example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/example/providers/Microsoft.DataFactory/factories/example/linkedservices/example\n```\n\n","properties":{"accessToken":{"type":"string","description":"Authenticate to ADB via an access token.\n","secret":true},"adbDomain":{"type":"string","description":"The domain URL of the databricks instance.\n"},"additionalProperties":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of additional properties to associate with the Data Factory Linked Service.\n"},"annotations":{"type":"array","items":{"type":"string"},"description":"List of tags that can be used for describing the Data Factory Linked Service.\n"},"dataFactoryId":{"type":"string","description":"The Data Factory ID in which to associate the Linked Service with. Changing this forces a new resource.\n"},"description":{"type":"string","description":"The description for the Data Factory Linked Service.\n"},"existingClusterId":{"type":"string","description":"The\u003cspan pulumi-lang-nodejs=\" clusterId \" pulumi-lang-dotnet=\" ClusterId \" pulumi-lang-go=\" clusterId \" pulumi-lang-python=\" cluster_id \" pulumi-lang-yaml=\" clusterId \" pulumi-lang-java=\" clusterId \"\u003e cluster_id \u003c/span\u003eof an existing cluster within the linked ADB instance.\n"},"instancePool":{"$ref":"#/types/azure:datafactory/LinkedServiceAzureDatabricksInstancePool:LinkedServiceAzureDatabricksInstancePool","description":"Leverages an instance pool within the linked ADB instance as one \u003cspan pulumi-lang-nodejs=\"`instancePool`\" pulumi-lang-dotnet=\"`InstancePool`\" pulumi-lang-go=\"`instancePool`\" pulumi-lang-python=\"`instance_pool`\" pulumi-lang-yaml=\"`instancePool`\" pulumi-lang-java=\"`instancePool`\"\u003e`instance_pool`\u003c/span\u003e block defined below.\n"},"integrationRuntimeName":{"type":"string","description":"The integration runtime reference to associate with the Data Factory Linked Service.\n"},"keyVaultPassword":{"$ref":"#/types/azure:datafactory/LinkedServiceAzureDatabricksKeyVaultPassword:LinkedServiceAzureDatabricksKeyVaultPassword","description":"Authenticate to ADB via Azure Key Vault Linked Service as defined in the \u003cspan pulumi-lang-nodejs=\"`keyVaultPassword`\" pulumi-lang-dotnet=\"`KeyVaultPassword`\" pulumi-lang-go=\"`keyVaultPassword`\" pulumi-lang-python=\"`key_vault_password`\" pulumi-lang-yaml=\"`keyVaultPassword`\" pulumi-lang-java=\"`keyVaultPassword`\"\u003e`key_vault_password`\u003c/span\u003e block below.\n"},"msiWorkSpaceResourceId":{"type":"string","deprecationMessage":"The \u003cspan pulumi-lang-nodejs=\"`msiWorkSpaceResourceId`\" pulumi-lang-dotnet=\"`MsiWorkSpaceResourceId`\" pulumi-lang-go=\"`msiWorkSpaceResourceId`\" pulumi-lang-python=\"`msi_work_space_resource_id`\" pulumi-lang-yaml=\"`msiWorkSpaceResourceId`\" pulumi-lang-java=\"`msiWorkSpaceResourceId`\"\u003e`msi_work_space_resource_id`\u003c/span\u003e property is deprecated in favour of the \u003cspan pulumi-lang-nodejs=\"`msiWorkspaceId`\" pulumi-lang-dotnet=\"`MsiWorkspaceId`\" pulumi-lang-go=\"`msiWorkspaceId`\" pulumi-lang-python=\"`msi_workspace_id`\" pulumi-lang-yaml=\"`msiWorkspaceId`\" pulumi-lang-java=\"`msiWorkspaceId`\"\u003e`msi_workspace_id`\u003c/span\u003e property and will be removed in v5.0 of the AzureRM Provider"},"msiWorkspaceId":{"type":"string","description":"Authenticate to ADB via managed service identity.\n"},"name":{"type":"string","description":"Specifies the name of the Data Factory Linked Service. Changing this forces a new resource to be created. Must be unique within a data factory. See the [Microsoft documentation](https://docs.microsoft.com/azure/data-factory/naming-rules) for all restrictions.\n"},"newClusterConfig":{"$ref":"#/types/azure:datafactory/LinkedServiceAzureDatabricksNewClusterConfig:LinkedServiceAzureDatabricksNewClusterConfig","description":"Creates new clusters within the linked ADB instance as defined in the \u003cspan pulumi-lang-nodejs=\"`newClusterConfig`\" pulumi-lang-dotnet=\"`NewClusterConfig`\" pulumi-lang-go=\"`newClusterConfig`\" pulumi-lang-python=\"`new_cluster_config`\" pulumi-lang-yaml=\"`newClusterConfig`\" pulumi-lang-java=\"`newClusterConfig`\"\u003e`new_cluster_config`\u003c/span\u003e block below.\n"},"parameters":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of parameters to associate with the Data Factory Linked Service.\n"}},"required":["adbDomain","dataFactoryId","msiWorkSpaceResourceId","msiWorkspaceId","name"],"inputProperties":{"accessToken":{"type":"string","description":"Authenticate to ADB via an access token.\n","secret":true},"adbDomain":{"type":"string","description":"The domain URL of the databricks instance.\n"},"additionalProperties":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of additional properties to associate with the Data Factory Linked Service.\n"},"annotations":{"type":"array","items":{"type":"string"},"description":"List of tags that can be used for describing the Data Factory Linked Service.\n"},"dataFactoryId":{"type":"string","description":"The Data Factory ID in which to associate the Linked Service with. Changing this forces a new resource.\n","willReplaceOnChanges":true},"description":{"type":"string","description":"The description for the Data Factory Linked Service.\n"},"existingClusterId":{"type":"string","description":"The\u003cspan pulumi-lang-nodejs=\" clusterId \" pulumi-lang-dotnet=\" ClusterId \" pulumi-lang-go=\" clusterId \" pulumi-lang-python=\" cluster_id \" pulumi-lang-yaml=\" clusterId \" pulumi-lang-java=\" clusterId \"\u003e cluster_id \u003c/span\u003eof an existing cluster within the linked ADB instance.\n"},"instancePool":{"$ref":"#/types/azure:datafactory/LinkedServiceAzureDatabricksInstancePool:LinkedServiceAzureDatabricksInstancePool","description":"Leverages an instance pool within the linked ADB instance as one \u003cspan pulumi-lang-nodejs=\"`instancePool`\" pulumi-lang-dotnet=\"`InstancePool`\" pulumi-lang-go=\"`instancePool`\" pulumi-lang-python=\"`instance_pool`\" pulumi-lang-yaml=\"`instancePool`\" pulumi-lang-java=\"`instancePool`\"\u003e`instance_pool`\u003c/span\u003e block defined below.\n"},"integrationRuntimeName":{"type":"string","description":"The integration runtime reference to associate with the Data Factory Linked Service.\n"},"keyVaultPassword":{"$ref":"#/types/azure:datafactory/LinkedServiceAzureDatabricksKeyVaultPassword:LinkedServiceAzureDatabricksKeyVaultPassword","description":"Authenticate to ADB via Azure Key Vault Linked Service as defined in the \u003cspan pulumi-lang-nodejs=\"`keyVaultPassword`\" pulumi-lang-dotnet=\"`KeyVaultPassword`\" pulumi-lang-go=\"`keyVaultPassword`\" pulumi-lang-python=\"`key_vault_password`\" pulumi-lang-yaml=\"`keyVaultPassword`\" pulumi-lang-java=\"`keyVaultPassword`\"\u003e`key_vault_password`\u003c/span\u003e block below.\n"},"msiWorkSpaceResourceId":{"type":"string","deprecationMessage":"The \u003cspan pulumi-lang-nodejs=\"`msiWorkSpaceResourceId`\" pulumi-lang-dotnet=\"`MsiWorkSpaceResourceId`\" pulumi-lang-go=\"`msiWorkSpaceResourceId`\" pulumi-lang-python=\"`msi_work_space_resource_id`\" pulumi-lang-yaml=\"`msiWorkSpaceResourceId`\" pulumi-lang-java=\"`msiWorkSpaceResourceId`\"\u003e`msi_work_space_resource_id`\u003c/span\u003e property is deprecated in favour of the \u003cspan pulumi-lang-nodejs=\"`msiWorkspaceId`\" pulumi-lang-dotnet=\"`MsiWorkspaceId`\" pulumi-lang-go=\"`msiWorkspaceId`\" pulumi-lang-python=\"`msi_workspace_id`\" pulumi-lang-yaml=\"`msiWorkspaceId`\" pulumi-lang-java=\"`msiWorkspaceId`\"\u003e`msi_workspace_id`\u003c/span\u003e property and will be removed in v5.0 of the AzureRM Provider"},"msiWorkspaceId":{"type":"string","description":"Authenticate to ADB via managed service identity.\n"},"name":{"type":"string","description":"Specifies the name of the Data Factory Linked Service. Changing this forces a new resource to be created. Must be unique within a data factory. See the [Microsoft documentation](https://docs.microsoft.com/azure/data-factory/naming-rules) for all restrictions.\n","willReplaceOnChanges":true},"newClusterConfig":{"$ref":"#/types/azure:datafactory/LinkedServiceAzureDatabricksNewClusterConfig:LinkedServiceAzureDatabricksNewClusterConfig","description":"Creates new clusters within the linked ADB instance as defined in the \u003cspan pulumi-lang-nodejs=\"`newClusterConfig`\" pulumi-lang-dotnet=\"`NewClusterConfig`\" pulumi-lang-go=\"`newClusterConfig`\" pulumi-lang-python=\"`new_cluster_config`\" pulumi-lang-yaml=\"`newClusterConfig`\" pulumi-lang-java=\"`newClusterConfig`\"\u003e`new_cluster_config`\u003c/span\u003e block below.\n"},"parameters":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of parameters to associate with the Data Factory Linked Service.\n"}},"requiredInputs":["adbDomain","dataFactoryId"],"stateInputs":{"description":"Input properties used for looking up and filtering LinkedServiceAzureDatabricks resources.\n","properties":{"accessToken":{"type":"string","description":"Authenticate to ADB via an access token.\n","secret":true},"adbDomain":{"type":"string","description":"The domain URL of the databricks instance.\n"},"additionalProperties":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of additional properties to associate with the Data Factory Linked Service.\n"},"annotations":{"type":"array","items":{"type":"string"},"description":"List of tags that can be used for describing the Data Factory Linked Service.\n"},"dataFactoryId":{"type":"string","description":"The Data Factory ID in which to associate the Linked Service with. Changing this forces a new resource.\n","willReplaceOnChanges":true},"description":{"type":"string","description":"The description for the Data Factory Linked Service.\n"},"existingClusterId":{"type":"string","description":"The\u003cspan pulumi-lang-nodejs=\" clusterId \" pulumi-lang-dotnet=\" ClusterId \" pulumi-lang-go=\" clusterId \" pulumi-lang-python=\" cluster_id \" pulumi-lang-yaml=\" clusterId \" pulumi-lang-java=\" clusterId \"\u003e cluster_id \u003c/span\u003eof an existing cluster within the linked ADB instance.\n"},"instancePool":{"$ref":"#/types/azure:datafactory/LinkedServiceAzureDatabricksInstancePool:LinkedServiceAzureDatabricksInstancePool","description":"Leverages an instance pool within the linked ADB instance as one \u003cspan pulumi-lang-nodejs=\"`instancePool`\" pulumi-lang-dotnet=\"`InstancePool`\" pulumi-lang-go=\"`instancePool`\" pulumi-lang-python=\"`instance_pool`\" pulumi-lang-yaml=\"`instancePool`\" pulumi-lang-java=\"`instancePool`\"\u003e`instance_pool`\u003c/span\u003e block defined below.\n"},"integrationRuntimeName":{"type":"string","description":"The integration runtime reference to associate with the Data Factory Linked Service.\n"},"keyVaultPassword":{"$ref":"#/types/azure:datafactory/LinkedServiceAzureDatabricksKeyVaultPassword:LinkedServiceAzureDatabricksKeyVaultPassword","description":"Authenticate to ADB via Azure Key Vault Linked Service as defined in the \u003cspan pulumi-lang-nodejs=\"`keyVaultPassword`\" pulumi-lang-dotnet=\"`KeyVaultPassword`\" pulumi-lang-go=\"`keyVaultPassword`\" pulumi-lang-python=\"`key_vault_password`\" pulumi-lang-yaml=\"`keyVaultPassword`\" pulumi-lang-java=\"`keyVaultPassword`\"\u003e`key_vault_password`\u003c/span\u003e block below.\n"},"msiWorkSpaceResourceId":{"type":"string","deprecationMessage":"The \u003cspan pulumi-lang-nodejs=\"`msiWorkSpaceResourceId`\" pulumi-lang-dotnet=\"`MsiWorkSpaceResourceId`\" pulumi-lang-go=\"`msiWorkSpaceResourceId`\" pulumi-lang-python=\"`msi_work_space_resource_id`\" pulumi-lang-yaml=\"`msiWorkSpaceResourceId`\" pulumi-lang-java=\"`msiWorkSpaceResourceId`\"\u003e`msi_work_space_resource_id`\u003c/span\u003e property is deprecated in favour of the \u003cspan pulumi-lang-nodejs=\"`msiWorkspaceId`\" pulumi-lang-dotnet=\"`MsiWorkspaceId`\" pulumi-lang-go=\"`msiWorkspaceId`\" pulumi-lang-python=\"`msi_workspace_id`\" pulumi-lang-yaml=\"`msiWorkspaceId`\" pulumi-lang-java=\"`msiWorkspaceId`\"\u003e`msi_workspace_id`\u003c/span\u003e property and will be removed in v5.0 of the AzureRM Provider"},"msiWorkspaceId":{"type":"string","description":"Authenticate to ADB via managed service identity.\n"},"name":{"type":"string","description":"Specifies the name of the Data Factory Linked Service. Changing this forces a new resource to be created. Must be unique within a data factory. See the [Microsoft documentation](https://docs.microsoft.com/azure/data-factory/naming-rules) for all restrictions.\n","willReplaceOnChanges":true},"newClusterConfig":{"$ref":"#/types/azure:datafactory/LinkedServiceAzureDatabricksNewClusterConfig:LinkedServiceAzureDatabricksNewClusterConfig","description":"Creates new clusters within the linked ADB instance as defined in the \u003cspan pulumi-lang-nodejs=\"`newClusterConfig`\" pulumi-lang-dotnet=\"`NewClusterConfig`\" pulumi-lang-go=\"`newClusterConfig`\" pulumi-lang-python=\"`new_cluster_config`\" pulumi-lang-yaml=\"`newClusterConfig`\" pulumi-lang-java=\"`newClusterConfig`\"\u003e`new_cluster_config`\u003c/span\u003e block below.\n"},"parameters":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of parameters to associate with the Data Factory Linked Service.\n"}},"type":"object"}},"azure:datafactory/linkedServiceAzureFileStorage:LinkedServiceAzureFileStorage":{"description":"Manages a Linked Service (connection) between a SFTP Server and Azure Data Factory.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst example = azure.storage.getAccountOutput({\n    name: \"storageaccountname\",\n    resourceGroupName: exampleResourceGroup.name,\n});\nconst exampleFactory = new azure.datafactory.Factory(\"example\", {\n    name: \"example\",\n    location: exampleResourceGroup.location,\n    resourceGroupName: exampleResourceGroup.name,\n});\nconst exampleLinkedServiceAzureFileStorage = new azure.datafactory.LinkedServiceAzureFileStorage(\"example\", {\n    name: \"example\",\n    dataFactoryId: exampleFactory.id,\n    connectionString: example.apply(example =\u003e example.primaryConnectionString),\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample = azure.storage.get_account_output(name=\"storageaccountname\",\n    resource_group_name=example_resource_group.name)\nexample_factory = azure.datafactory.Factory(\"example\",\n    name=\"example\",\n    location=example_resource_group.location,\n    resource_group_name=example_resource_group.name)\nexample_linked_service_azure_file_storage = azure.datafactory.LinkedServiceAzureFileStorage(\"example\",\n    name=\"example\",\n    data_factory_id=example_factory.id,\n    connection_string=example.primary_connection_string)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleResourceGroup = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var example = Azure.Storage.GetAccount.Invoke(new()\n    {\n        Name = \"storageaccountname\",\n        ResourceGroupName = exampleResourceGroup.Name,\n    });\n\n    var exampleFactory = new Azure.DataFactory.Factory(\"example\", new()\n    {\n        Name = \"example\",\n        Location = exampleResourceGroup.Location,\n        ResourceGroupName = exampleResourceGroup.Name,\n    });\n\n    var exampleLinkedServiceAzureFileStorage = new Azure.DataFactory.LinkedServiceAzureFileStorage(\"example\", new()\n    {\n        Name = \"example\",\n        DataFactoryId = exampleFactory.Id,\n        ConnectionString = example.Apply(getAccountResult =\u003e getAccountResult.PrimaryConnectionString),\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/datafactory\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample := storage.LookupAccountOutput(ctx, storage.GetAccountOutputArgs{\n\t\t\tName:              pulumi.String(\"storageaccountname\"),\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t}, nil)\n\t\texampleFactory, err := datafactory.NewFactory(ctx, \"example\", \u0026datafactory.FactoryArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tLocation:          exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = datafactory.NewLinkedServiceAzureFileStorage(ctx, \"example\", \u0026datafactory.LinkedServiceAzureFileStorageArgs{\n\t\t\tName:          pulumi.String(\"example\"),\n\t\t\tDataFactoryId: exampleFactory.ID(),\n\t\t\tConnectionString: pulumi.String(example.ApplyT(func(example storage.GetAccountResult) (*string, error) {\n\t\t\t\treturn \u0026example.PrimaryConnectionString, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.storage.StorageFunctions;\nimport com.pulumi.azure.storage.inputs.GetAccountArgs;\nimport com.pulumi.azure.datafactory.Factory;\nimport com.pulumi.azure.datafactory.FactoryArgs;\nimport com.pulumi.azure.datafactory.LinkedServiceAzureFileStorage;\nimport com.pulumi.azure.datafactory.LinkedServiceAzureFileStorageArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var exampleResourceGroup = new ResourceGroup(\"exampleResourceGroup\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        final var example = StorageFunctions.getAccount(GetAccountArgs.builder()\n            .name(\"storageaccountname\")\n            .resourceGroupName(exampleResourceGroup.name())\n            .build());\n\n        var exampleFactory = new Factory(\"exampleFactory\", FactoryArgs.builder()\n            .name(\"example\")\n            .location(exampleResourceGroup.location())\n            .resourceGroupName(exampleResourceGroup.name())\n            .build());\n\n        var exampleLinkedServiceAzureFileStorage = new LinkedServiceAzureFileStorage(\"exampleLinkedServiceAzureFileStorage\", LinkedServiceAzureFileStorageArgs.builder()\n            .name(\"example\")\n            .dataFactoryId(exampleFactory.id())\n            .connectionString(example.applyValue(_example -\u003e _example.primaryConnectionString()))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleResourceGroup:\n    type: azure:core:ResourceGroup\n    name: example\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleFactory:\n    type: azure:datafactory:Factory\n    name: example\n    properties:\n      name: example\n      location: ${exampleResourceGroup.location}\n      resourceGroupName: ${exampleResourceGroup.name}\n  exampleLinkedServiceAzureFileStorage:\n    type: azure:datafactory:LinkedServiceAzureFileStorage\n    name: example\n    properties:\n      name: example\n      dataFactoryId: ${exampleFactory.id}\n      connectionString: ${example.primaryConnectionString}\nvariables:\n  example:\n    fn::invoke:\n      function: azure:storage:getAccount\n      arguments:\n        name: storageaccountname\n        resourceGroupName: ${exampleResourceGroup.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nData Factory Linked Service's can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:datafactory/linkedServiceAzureFileStorage:LinkedServiceAzureFileStorage example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/example/providers/Microsoft.DataFactory/factories/example/linkedservices/example\n```\n\n","properties":{"additionalProperties":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of additional properties to associate with the Data Factory Linked Service.\n\nThe following supported arguments are specific to Azure File Storage Linked Service:\n"},"annotations":{"type":"array","items":{"type":"string"},"description":"List of tags that can be used for describing the Data Factory Linked Service.\n"},"connectionString":{"type":"string","description":"The connection string.\n","secret":true},"dataFactoryId":{"type":"string","description":"The Data Factory ID in which to associate the Linked Service with. Changing this forces a new resource.\n"},"description":{"type":"string","description":"The description for the Data Factory Linked Service.\n"},"fileShare":{"type":"string","description":"The name of the file share.\n"},"host":{"type":"string","description":"The Host name of the server.\n"},"integrationRuntimeName":{"type":"string","description":"The integration runtime reference to associate with the Data Factory Linked Service.\n"},"keyVaultPassword":{"$ref":"#/types/azure:datafactory/LinkedServiceAzureFileStorageKeyVaultPassword:LinkedServiceAzureFileStorageKeyVaultPassword","description":"A \u003cspan pulumi-lang-nodejs=\"`keyVaultPassword`\" pulumi-lang-dotnet=\"`KeyVaultPassword`\" pulumi-lang-go=\"`keyVaultPassword`\" pulumi-lang-python=\"`key_vault_password`\" pulumi-lang-yaml=\"`keyVaultPassword`\" pulumi-lang-java=\"`keyVaultPassword`\"\u003e`key_vault_password`\u003c/span\u003e block as defined below. Use this argument to store Azure File Storage password in an existing Key Vault. It needs an existing Key Vault Data Factory Linked Service.\n"},"name":{"type":"string","description":"Specifies the name of the Data Factory Linked Service. Changing this forces a new resource to be created. Must be unique within a data factory. See the [Microsoft documentation](https://docs.microsoft.com/azure/data-factory/naming-rules) for all restrictions.\n"},"parameters":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of parameters to associate with the Data Factory Linked Service.\n"},"password":{"type":"string","description":"The password to log in the server.\n","secret":true},"userId":{"type":"string","description":"The user ID to log in the server.\n"}},"required":["connectionString","dataFactoryId","name"],"inputProperties":{"additionalProperties":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of additional properties to associate with the Data Factory Linked Service.\n\nThe following supported arguments are specific to Azure File Storage Linked Service:\n"},"annotations":{"type":"array","items":{"type":"string"},"description":"List of tags that can be used for describing the Data Factory Linked Service.\n"},"connectionString":{"type":"string","description":"The connection string.\n","secret":true},"dataFactoryId":{"type":"string","description":"The Data Factory ID in which to associate the Linked Service with. Changing this forces a new resource.\n","willReplaceOnChanges":true},"description":{"type":"string","description":"The description for the Data Factory Linked Service.\n"},"fileShare":{"type":"string","description":"The name of the file share.\n"},"host":{"type":"string","description":"The Host name of the server.\n"},"integrationRuntimeName":{"type":"string","description":"The integration runtime reference to associate with the Data Factory Linked Service.\n"},"keyVaultPassword":{"$ref":"#/types/azure:datafactory/LinkedServiceAzureFileStorageKeyVaultPassword:LinkedServiceAzureFileStorageKeyVaultPassword","description":"A \u003cspan pulumi-lang-nodejs=\"`keyVaultPassword`\" pulumi-lang-dotnet=\"`KeyVaultPassword`\" pulumi-lang-go=\"`keyVaultPassword`\" pulumi-lang-python=\"`key_vault_password`\" pulumi-lang-yaml=\"`keyVaultPassword`\" pulumi-lang-java=\"`keyVaultPassword`\"\u003e`key_vault_password`\u003c/span\u003e block as defined below. Use this argument to store Azure File Storage password in an existing Key Vault. It needs an existing Key Vault Data Factory Linked Service.\n"},"name":{"type":"string","description":"Specifies the name of the Data Factory Linked Service. Changing this forces a new resource to be created. Must be unique within a data factory. See the [Microsoft documentation](https://docs.microsoft.com/azure/data-factory/naming-rules) for all restrictions.\n","willReplaceOnChanges":true},"parameters":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of parameters to associate with the Data Factory Linked Service.\n"},"password":{"type":"string","description":"The password to log in the server.\n","secret":true},"userId":{"type":"string","description":"The user ID to log in the server.\n"}},"requiredInputs":["connectionString","dataFactoryId"],"stateInputs":{"description":"Input properties used for looking up and filtering LinkedServiceAzureFileStorage resources.\n","properties":{"additionalProperties":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of additional properties to associate with the Data Factory Linked Service.\n\nThe following supported arguments are specific to Azure File Storage Linked Service:\n"},"annotations":{"type":"array","items":{"type":"string"},"description":"List of tags that can be used for describing the Data Factory Linked Service.\n"},"connectionString":{"type":"string","description":"The connection string.\n","secret":true},"dataFactoryId":{"type":"string","description":"The Data Factory ID in which to associate the Linked Service with. Changing this forces a new resource.\n","willReplaceOnChanges":true},"description":{"type":"string","description":"The description for the Data Factory Linked Service.\n"},"fileShare":{"type":"string","description":"The name of the file share.\n"},"host":{"type":"string","description":"The Host name of the server.\n"},"integrationRuntimeName":{"type":"string","description":"The integration runtime reference to associate with the Data Factory Linked Service.\n"},"keyVaultPassword":{"$ref":"#/types/azure:datafactory/LinkedServiceAzureFileStorageKeyVaultPassword:LinkedServiceAzureFileStorageKeyVaultPassword","description":"A \u003cspan pulumi-lang-nodejs=\"`keyVaultPassword`\" pulumi-lang-dotnet=\"`KeyVaultPassword`\" pulumi-lang-go=\"`keyVaultPassword`\" pulumi-lang-python=\"`key_vault_password`\" pulumi-lang-yaml=\"`keyVaultPassword`\" pulumi-lang-java=\"`keyVaultPassword`\"\u003e`key_vault_password`\u003c/span\u003e block as defined below. Use this argument to store Azure File Storage password in an existing Key Vault. It needs an existing Key Vault Data Factory Linked Service.\n"},"name":{"type":"string","description":"Specifies the name of the Data Factory Linked Service. Changing this forces a new resource to be created. Must be unique within a data factory. See the [Microsoft documentation](https://docs.microsoft.com/azure/data-factory/naming-rules) for all restrictions.\n","willReplaceOnChanges":true},"parameters":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of parameters to associate with the Data Factory Linked Service.\n"},"password":{"type":"string","description":"The password to log in the server.\n","secret":true},"userId":{"type":"string","description":"The user ID to log in the server.\n"}},"type":"object"}},"azure:datafactory/linkedServiceAzureFunction:LinkedServiceAzureFunction":{"description":"Manages a Linked Service (connection) between an Azure Function and Azure Data Factory.\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst example = azure.appservice.getFunctionAppOutput({\n    name: \"test-azure-functions\",\n    resourceGroupName: exampleResourceGroup.name,\n});\nconst exampleFactory = new azure.datafactory.Factory(\"example\", {\n    name: \"example\",\n    location: exampleResourceGroup.location,\n    resourceGroupName: exampleResourceGroup.name,\n});\nconst exampleLinkedServiceAzureFunction = new azure.datafactory.LinkedServiceAzureFunction(\"example\", {\n    name: \"example\",\n    dataFactoryId: exampleFactory.id,\n    url: example.apply(example =\u003e `https://${example.defaultHostname}`),\n    key: \"foo\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample = azure.appservice.get_function_app_output(name=\"test-azure-functions\",\n    resource_group_name=example_resource_group.name)\nexample_factory = azure.datafactory.Factory(\"example\",\n    name=\"example\",\n    location=example_resource_group.location,\n    resource_group_name=example_resource_group.name)\nexample_linked_service_azure_function = azure.datafactory.LinkedServiceAzureFunction(\"example\",\n    name=\"example\",\n    data_factory_id=example_factory.id,\n    url=example.apply(lambda example: f\"https://{example.default_hostname}\"),\n    key=\"foo\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleResourceGroup = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var example = Azure.AppService.GetFunctionApp.Invoke(new()\n    {\n        Name = \"test-azure-functions\",\n        ResourceGroupName = exampleResourceGroup.Name,\n    });\n\n    var exampleFactory = new Azure.DataFactory.Factory(\"example\", new()\n    {\n        Name = \"example\",\n        Location = exampleResourceGroup.Location,\n        ResourceGroupName = exampleResourceGroup.Name,\n    });\n\n    var exampleLinkedServiceAzureFunction = new Azure.DataFactory.LinkedServiceAzureFunction(\"example\", new()\n    {\n        Name = \"example\",\n        DataFactoryId = exampleFactory.Id,\n        Url = $\"https://{example.Apply(getFunctionAppResult =\u003e getFunctionAppResult.DefaultHostname)}\",\n        Key = \"foo\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/appservice\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/datafactory\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample := appservice.LookupFunctionAppOutput(ctx, appservice.GetFunctionAppOutputArgs{\n\t\t\tName:              pulumi.String(\"test-azure-functions\"),\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t}, nil)\n\t\texampleFactory, err := datafactory.NewFactory(ctx, \"example\", \u0026datafactory.FactoryArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tLocation:          exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = datafactory.NewLinkedServiceAzureFunction(ctx, \"example\", \u0026datafactory.LinkedServiceAzureFunctionArgs{\n\t\t\tName:          pulumi.String(\"example\"),\n\t\t\tDataFactoryId: exampleFactory.ID(),\n\t\t\tUrl: example.ApplyT(func(example appservice.GetFunctionAppResult) (string, error) {\n\t\t\t\treturn fmt.Sprintf(\"https://%v\", example.DefaultHostname), nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t\tKey: pulumi.String(\"foo\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.appservice.AppserviceFunctions;\nimport com.pulumi.azure.appservice.inputs.GetFunctionAppArgs;\nimport com.pulumi.azure.datafactory.Factory;\nimport com.pulumi.azure.datafactory.FactoryArgs;\nimport com.pulumi.azure.datafactory.LinkedServiceAzureFunction;\nimport com.pulumi.azure.datafactory.LinkedServiceAzureFunctionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var exampleResourceGroup = new ResourceGroup(\"exampleResourceGroup\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        final var example = AppserviceFunctions.getFunctionApp(GetFunctionAppArgs.builder()\n            .name(\"test-azure-functions\")\n            .resourceGroupName(exampleResourceGroup.name())\n            .build());\n\n        var exampleFactory = new Factory(\"exampleFactory\", FactoryArgs.builder()\n            .name(\"example\")\n            .location(exampleResourceGroup.location())\n            .resourceGroupName(exampleResourceGroup.name())\n            .build());\n\n        var exampleLinkedServiceAzureFunction = new LinkedServiceAzureFunction(\"exampleLinkedServiceAzureFunction\", LinkedServiceAzureFunctionArgs.builder()\n            .name(\"example\")\n            .dataFactoryId(exampleFactory.id())\n            .url(example.applyValue(_example -\u003e String.format(\"https://%s\", _example.defaultHostname())))\n            .key(\"foo\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleResourceGroup:\n    type: azure:core:ResourceGroup\n    name: example\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleFactory:\n    type: azure:datafactory:Factory\n    name: example\n    properties:\n      name: example\n      location: ${exampleResourceGroup.location}\n      resourceGroupName: ${exampleResourceGroup.name}\n  exampleLinkedServiceAzureFunction:\n    type: azure:datafactory:LinkedServiceAzureFunction\n    name: example\n    properties:\n      name: example\n      dataFactoryId: ${exampleFactory.id}\n      url: https://${example.defaultHostname}\n      key: foo\nvariables:\n  example:\n    fn::invoke:\n      function: azure:appservice:getFunctionApp\n      arguments:\n        name: test-azure-functions\n        resourceGroupName: ${exampleResourceGroup.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nData Factory Linked Service's can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:datafactory/linkedServiceAzureFunction:LinkedServiceAzureFunction example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/example/providers/Microsoft.DataFactory/factories/example/linkedservices/example\n```\n\n","properties":{"additionalProperties":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of additional properties to associate with the Data Factory Linked Service.\n\nThe following supported arguments are specific to Azure Function Linked Service:\n"},"annotations":{"type":"array","items":{"type":"string"},"description":"List of tags that can be used for describing the Data Factory Linked Service.\n"},"dataFactoryId":{"type":"string","description":"The Data Factory ID in which to associate the Linked Service with. Changing this forces a new resource.\n"},"description":{"type":"string","description":"The description for the Data Factory Linked Service.\n"},"integrationRuntimeName":{"type":"string","description":"The integration runtime reference to associate with the Data Factory Linked Service.\n"},"key":{"type":"string","description":"The system key of the Azure Function. Exactly one of either \u003cspan pulumi-lang-nodejs=\"`key`\" pulumi-lang-dotnet=\"`Key`\" pulumi-lang-go=\"`key`\" pulumi-lang-python=\"`key`\" pulumi-lang-yaml=\"`key`\" pulumi-lang-java=\"`key`\"\u003e`key`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`keyVaultKey`\" pulumi-lang-dotnet=\"`KeyVaultKey`\" pulumi-lang-go=\"`keyVaultKey`\" pulumi-lang-python=\"`key_vault_key`\" pulumi-lang-yaml=\"`keyVaultKey`\" pulumi-lang-java=\"`keyVaultKey`\"\u003e`key_vault_key`\u003c/span\u003e is required\n","secret":true},"keyVaultKey":{"$ref":"#/types/azure:datafactory/LinkedServiceAzureFunctionKeyVaultKey:LinkedServiceAzureFunctionKeyVaultKey","description":"A \u003cspan pulumi-lang-nodejs=\"`keyVaultKey`\" pulumi-lang-dotnet=\"`KeyVaultKey`\" pulumi-lang-go=\"`keyVaultKey`\" pulumi-lang-python=\"`key_vault_key`\" pulumi-lang-yaml=\"`keyVaultKey`\" pulumi-lang-java=\"`keyVaultKey`\"\u003e`key_vault_key`\u003c/span\u003e block as defined below. Use this Argument to store the system key of the Azure Function in an existing Key Vault. It needs an existing Key Vault Data Factory Linked Service. Exactly one of either \u003cspan pulumi-lang-nodejs=\"`key`\" pulumi-lang-dotnet=\"`Key`\" pulumi-lang-go=\"`key`\" pulumi-lang-python=\"`key`\" pulumi-lang-yaml=\"`key`\" pulumi-lang-java=\"`key`\"\u003e`key`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`keyVaultKey`\" pulumi-lang-dotnet=\"`KeyVaultKey`\" pulumi-lang-go=\"`keyVaultKey`\" pulumi-lang-python=\"`key_vault_key`\" pulumi-lang-yaml=\"`keyVaultKey`\" pulumi-lang-java=\"`keyVaultKey`\"\u003e`key_vault_key`\u003c/span\u003e is required.\n"},"name":{"type":"string","description":"Specifies the name of the Data Factory Linked Service. Changing this forces a new resource to be created. Must be unique within a data factory. See the [Microsoft documentation](https://docs.microsoft.com/azure/data-factory/naming-rules) for all restrictions.\n"},"parameters":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of parameters to associate with the Data Factory Linked Service.\n"},"url":{"type":"string","description":"The url of the Azure Function.\n"}},"required":["dataFactoryId","name","url"],"inputProperties":{"additionalProperties":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of additional properties to associate with the Data Factory Linked Service.\n\nThe following supported arguments are specific to Azure Function Linked Service:\n"},"annotations":{"type":"array","items":{"type":"string"},"description":"List of tags that can be used for describing the Data Factory Linked Service.\n"},"dataFactoryId":{"type":"string","description":"The Data Factory ID in which to associate the Linked Service with. Changing this forces a new resource.\n","willReplaceOnChanges":true},"description":{"type":"string","description":"The description for the Data Factory Linked Service.\n"},"integrationRuntimeName":{"type":"string","description":"The integration runtime reference to associate with the Data Factory Linked Service.\n"},"key":{"type":"string","description":"The system key of the Azure Function. Exactly one of either \u003cspan pulumi-lang-nodejs=\"`key`\" pulumi-lang-dotnet=\"`Key`\" pulumi-lang-go=\"`key`\" pulumi-lang-python=\"`key`\" pulumi-lang-yaml=\"`key`\" pulumi-lang-java=\"`key`\"\u003e`key`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`keyVaultKey`\" pulumi-lang-dotnet=\"`KeyVaultKey`\" pulumi-lang-go=\"`keyVaultKey`\" pulumi-lang-python=\"`key_vault_key`\" pulumi-lang-yaml=\"`keyVaultKey`\" pulumi-lang-java=\"`keyVaultKey`\"\u003e`key_vault_key`\u003c/span\u003e is required\n","secret":true},"keyVaultKey":{"$ref":"#/types/azure:datafactory/LinkedServiceAzureFunctionKeyVaultKey:LinkedServiceAzureFunctionKeyVaultKey","description":"A \u003cspan pulumi-lang-nodejs=\"`keyVaultKey`\" pulumi-lang-dotnet=\"`KeyVaultKey`\" pulumi-lang-go=\"`keyVaultKey`\" pulumi-lang-python=\"`key_vault_key`\" pulumi-lang-yaml=\"`keyVaultKey`\" pulumi-lang-java=\"`keyVaultKey`\"\u003e`key_vault_key`\u003c/span\u003e block as defined below. Use this Argument to store the system key of the Azure Function in an existing Key Vault. It needs an existing Key Vault Data Factory Linked Service. Exactly one of either \u003cspan pulumi-lang-nodejs=\"`key`\" pulumi-lang-dotnet=\"`Key`\" pulumi-lang-go=\"`key`\" pulumi-lang-python=\"`key`\" pulumi-lang-yaml=\"`key`\" pulumi-lang-java=\"`key`\"\u003e`key`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`keyVaultKey`\" pulumi-lang-dotnet=\"`KeyVaultKey`\" pulumi-lang-go=\"`keyVaultKey`\" pulumi-lang-python=\"`key_vault_key`\" pulumi-lang-yaml=\"`keyVaultKey`\" pulumi-lang-java=\"`keyVaultKey`\"\u003e`key_vault_key`\u003c/span\u003e is required.\n"},"name":{"type":"string","description":"Specifies the name of the Data Factory Linked Service. Changing this forces a new resource to be created. Must be unique within a data factory. See the [Microsoft documentation](https://docs.microsoft.com/azure/data-factory/naming-rules) for all restrictions.\n","willReplaceOnChanges":true},"parameters":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of parameters to associate with the Data Factory Linked Service.\n"},"url":{"type":"string","description":"The url of the Azure Function.\n"}},"requiredInputs":["dataFactoryId","url"],"stateInputs":{"description":"Input properties used for looking up and filtering LinkedServiceAzureFunction resources.\n","properties":{"additionalProperties":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of additional properties to associate with the Data Factory Linked Service.\n\nThe following supported arguments are specific to Azure Function Linked Service:\n"},"annotations":{"type":"array","items":{"type":"string"},"description":"List of tags that can be used for describing the Data Factory Linked Service.\n"},"dataFactoryId":{"type":"string","description":"The Data Factory ID in which to associate the Linked Service with. Changing this forces a new resource.\n","willReplaceOnChanges":true},"description":{"type":"string","description":"The description for the Data Factory Linked Service.\n"},"integrationRuntimeName":{"type":"string","description":"The integration runtime reference to associate with the Data Factory Linked Service.\n"},"key":{"type":"string","description":"The system key of the Azure Function. Exactly one of either \u003cspan pulumi-lang-nodejs=\"`key`\" pulumi-lang-dotnet=\"`Key`\" pulumi-lang-go=\"`key`\" pulumi-lang-python=\"`key`\" pulumi-lang-yaml=\"`key`\" pulumi-lang-java=\"`key`\"\u003e`key`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`keyVaultKey`\" pulumi-lang-dotnet=\"`KeyVaultKey`\" pulumi-lang-go=\"`keyVaultKey`\" pulumi-lang-python=\"`key_vault_key`\" pulumi-lang-yaml=\"`keyVaultKey`\" pulumi-lang-java=\"`keyVaultKey`\"\u003e`key_vault_key`\u003c/span\u003e is required\n","secret":true},"keyVaultKey":{"$ref":"#/types/azure:datafactory/LinkedServiceAzureFunctionKeyVaultKey:LinkedServiceAzureFunctionKeyVaultKey","description":"A \u003cspan pulumi-lang-nodejs=\"`keyVaultKey`\" pulumi-lang-dotnet=\"`KeyVaultKey`\" pulumi-lang-go=\"`keyVaultKey`\" pulumi-lang-python=\"`key_vault_key`\" pulumi-lang-yaml=\"`keyVaultKey`\" pulumi-lang-java=\"`keyVaultKey`\"\u003e`key_vault_key`\u003c/span\u003e block as defined below. Use this Argument to store the system key of the Azure Function in an existing Key Vault. It needs an existing Key Vault Data Factory Linked Service. Exactly one of either \u003cspan pulumi-lang-nodejs=\"`key`\" pulumi-lang-dotnet=\"`Key`\" pulumi-lang-go=\"`key`\" pulumi-lang-python=\"`key`\" pulumi-lang-yaml=\"`key`\" pulumi-lang-java=\"`key`\"\u003e`key`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`keyVaultKey`\" pulumi-lang-dotnet=\"`KeyVaultKey`\" pulumi-lang-go=\"`keyVaultKey`\" pulumi-lang-python=\"`key_vault_key`\" pulumi-lang-yaml=\"`keyVaultKey`\" pulumi-lang-java=\"`keyVaultKey`\"\u003e`key_vault_key`\u003c/span\u003e is required.\n"},"name":{"type":"string","description":"Specifies the name of the Data Factory Linked Service. Changing this forces a new resource to be created. Must be unique within a data factory. See the [Microsoft documentation](https://docs.microsoft.com/azure/data-factory/naming-rules) for all restrictions.\n","willReplaceOnChanges":true},"parameters":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of parameters to associate with the Data Factory Linked Service.\n"},"url":{"type":"string","description":"The url of the Azure Function.\n"}},"type":"object"}},"azure:datafactory/linkedServiceAzureSearch:LinkedServiceAzureSearch":{"description":"Manages a Linked Service (connection) between Azure Search Service and Azure Data Factory.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\nimport * as std from \"@pulumi/std\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleFactory = new azure.datafactory.Factory(\"example\", {\n    name: \"example\",\n    location: example.location,\n    resourceGroupName: example.name,\n});\nconst exampleService = new azure.search.Service(\"example\", {\n    name: \"example-search-service\",\n    resourceGroupName: example.name,\n    location: example.location,\n    sku: \"standard\",\n});\nconst test = new azure.datafactory.LinkedServiceAzureSearch(\"test\", {\n    name: \"example\",\n    dataFactoryId: exampleFactory.id,\n    url: std.joinOutput({\n        separator: \"\",\n        input: [\n            \"https://\",\n            exampleService.name,\n            \".search.windows.net\",\n        ],\n    }).apply(invoke =\u003e invoke.result),\n    searchServiceKey: exampleService.primaryKey,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\nimport pulumi_std as std\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_factory = azure.datafactory.Factory(\"example\",\n    name=\"example\",\n    location=example.location,\n    resource_group_name=example.name)\nexample_service = azure.search.Service(\"example\",\n    name=\"example-search-service\",\n    resource_group_name=example.name,\n    location=example.location,\n    sku=\"standard\")\ntest = azure.datafactory.LinkedServiceAzureSearch(\"test\",\n    name=\"example\",\n    data_factory_id=example_factory.id,\n    url=std.join_output(separator=\"\",\n        input=[\n            \"https://\",\n            example_service.name,\n            \".search.windows.net\",\n        ]).apply(lambda invoke: invoke.result),\n    search_service_key=example_service.primary_key)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleFactory = new Azure.DataFactory.Factory(\"example\", new()\n    {\n        Name = \"example\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n    });\n\n    var exampleService = new Azure.Search.Service(\"example\", new()\n    {\n        Name = \"example-search-service\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        Sku = \"standard\",\n    });\n\n    var test = new Azure.DataFactory.LinkedServiceAzureSearch(\"test\", new()\n    {\n        Name = \"example\",\n        DataFactoryId = exampleFactory.Id,\n        Url = Std.Join.Invoke(new()\n        {\n            Separator = \"\",\n            Input = new[]\n            {\n                \"https://\",\n                exampleService.Name,\n                \".search.windows.net\",\n            },\n        }).Apply(invoke =\u003e invoke.Result),\n        SearchServiceKey = exampleService.PrimaryKey,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/datafactory\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/search\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleFactory, err := datafactory.NewFactory(ctx, \"example\", \u0026datafactory.FactoryArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleService, err := search.NewService(ctx, \"example\", \u0026search.ServiceArgs{\n\t\t\tName:              pulumi.String(\"example-search-service\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tSku:               pulumi.String(\"standard\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = datafactory.NewLinkedServiceAzureSearch(ctx, \"test\", \u0026datafactory.LinkedServiceAzureSearchArgs{\n\t\t\tName:          pulumi.String(\"example\"),\n\t\t\tDataFactoryId: exampleFactory.ID(),\n\t\t\tUrl: pulumi.String(std.JoinOutput(ctx, std.JoinOutputArgs{\n\t\t\t\tSeparator: pulumi.String(\"\"),\n\t\t\t\tInput: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"https://\"),\n\t\t\t\t\texampleService.Name,\n\t\t\t\t\tpulumi.String(\".search.windows.net\"),\n\t\t\t\t},\n\t\t\t}, nil).ApplyT(func(invoke std.JoinResult) (*string, error) {\n\t\t\t\treturn invoke.Result, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tSearchServiceKey: exampleService.PrimaryKey,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.datafactory.Factory;\nimport com.pulumi.azure.datafactory.FactoryArgs;\nimport com.pulumi.azure.search.Service;\nimport com.pulumi.azure.search.ServiceArgs;\nimport com.pulumi.azure.datafactory.LinkedServiceAzureSearch;\nimport com.pulumi.azure.datafactory.LinkedServiceAzureSearchArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.JoinArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleFactory = new Factory(\"exampleFactory\", FactoryArgs.builder()\n            .name(\"example\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .build());\n\n        var exampleService = new Service(\"exampleService\", ServiceArgs.builder()\n            .name(\"example-search-service\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .sku(\"standard\")\n            .build());\n\n        var test = new LinkedServiceAzureSearch(\"test\", LinkedServiceAzureSearchArgs.builder()\n            .name(\"example\")\n            .dataFactoryId(exampleFactory.id())\n            .url(StdFunctions.join(JoinArgs.builder()\n                .separator(\"\")\n                .input(                \n                    \"https://\",\n                    exampleService.name(),\n                    \".search.windows.net\")\n                .build()).applyValue(_invoke -\u003e _invoke.result()))\n            .searchServiceKey(exampleService.primaryKey())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleFactory:\n    type: azure:datafactory:Factory\n    name: example\n    properties:\n      name: example\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n  exampleService:\n    type: azure:search:Service\n    name: example\n    properties:\n      name: example-search-service\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      sku: standard\n  test:\n    type: azure:datafactory:LinkedServiceAzureSearch\n    properties:\n      name: example\n      dataFactoryId: ${exampleFactory.id}\n      url:\n        fn::invoke:\n          function: std:join\n          arguments:\n            separator: \"\"\n            input:\n              - https://\n              - ${exampleService.name}\n              - .search.windows.net\n          return: result\n      searchServiceKey: ${exampleService.primaryKey}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nData Factory Linked Service's can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:datafactory/linkedServiceAzureSearch:LinkedServiceAzureSearch example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/example/providers/Microsoft.DataFactory/factories/example/linkedservices/example\n```\n\n","properties":{"additionalProperties":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of additional properties to associate with the Data Factory Linked Service.\n\nThe following supported arguments are specific to Azure Search Linked Service:\n"},"annotations":{"type":"array","items":{"type":"string"},"description":"List of tags that can be used for describing the Data Factory Linked Service.\n"},"dataFactoryId":{"type":"string","description":"The Data Factory ID in which to associate the Linked Service with. Changing this forces a new resource.\n"},"description":{"type":"string","description":"The description for the Data Factory Linked Service.\n"},"encryptedCredential":{"type":"string","description":"The encrypted credential to connect to Azure Search Service.\n"},"integrationRuntimeName":{"type":"string","description":"The integration runtime reference to associate with the Data Factory Linked Service.\n"},"name":{"type":"string","description":"Specifies the name of the Data Factory Linked Service. Changing this forces a new resource to be created. Must be unique within a data factory. See the [Microsoft documentation](https://docs.microsoft.com/azure/data-factory/naming-rules) for all restrictions.\n"},"parameters":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of parameters to associate with the Data Factory Linked Service.\n"},"searchServiceKey":{"type":"string","description":"The key of the Azure Search Service.\n"},"url":{"type":"string","description":"The URL of the Search Service endpoint (e.g. \u003chttps://{searchServiceName}.search.windows.net\u003e).\n"}},"required":["dataFactoryId","encryptedCredential","name","searchServiceKey","url"],"inputProperties":{"additionalProperties":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of additional properties to associate with the Data Factory Linked Service.\n\nThe following supported arguments are specific to Azure Search Linked Service:\n"},"annotations":{"type":"array","items":{"type":"string"},"description":"List of tags that can be used for describing the Data Factory Linked Service.\n"},"dataFactoryId":{"type":"string","description":"The Data Factory ID in which to associate the Linked Service with. Changing this forces a new resource.\n","willReplaceOnChanges":true},"description":{"type":"string","description":"The description for the Data Factory Linked Service.\n"},"integrationRuntimeName":{"type":"string","description":"The integration runtime reference to associate with the Data Factory Linked Service.\n"},"name":{"type":"string","description":"Specifies the name of the Data Factory Linked Service. Changing this forces a new resource to be created. Must be unique within a data factory. See the [Microsoft documentation](https://docs.microsoft.com/azure/data-factory/naming-rules) for all restrictions.\n","willReplaceOnChanges":true},"parameters":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of parameters to associate with the Data Factory Linked Service.\n"},"searchServiceKey":{"type":"string","description":"The key of the Azure Search Service.\n"},"url":{"type":"string","description":"The URL of the Search Service endpoint (e.g. \u003chttps://{searchServiceName}.search.windows.net\u003e).\n"}},"requiredInputs":["dataFactoryId","searchServiceKey","url"],"stateInputs":{"description":"Input properties used for looking up and filtering LinkedServiceAzureSearch resources.\n","properties":{"additionalProperties":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of additional properties to associate with the Data Factory Linked Service.\n\nThe following supported arguments are specific to Azure Search Linked Service:\n"},"annotations":{"type":"array","items":{"type":"string"},"description":"List of tags that can be used for describing the Data Factory Linked Service.\n"},"dataFactoryId":{"type":"string","description":"The Data Factory ID in which to associate the Linked Service with. Changing this forces a new resource.\n","willReplaceOnChanges":true},"description":{"type":"string","description":"The description for the Data Factory Linked Service.\n"},"encryptedCredential":{"type":"string","description":"The encrypted credential to connect to Azure Search Service.\n"},"integrationRuntimeName":{"type":"string","description":"The integration runtime reference to associate with the Data Factory Linked Service.\n"},"name":{"type":"string","description":"Specifies the name of the Data Factory Linked Service. Changing this forces a new resource to be created. Must be unique within a data factory. See the [Microsoft documentation](https://docs.microsoft.com/azure/data-factory/naming-rules) for all restrictions.\n","willReplaceOnChanges":true},"parameters":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of parameters to associate with the Data Factory Linked Service.\n"},"searchServiceKey":{"type":"string","description":"The key of the Azure Search Service.\n"},"url":{"type":"string","description":"The URL of the Search Service endpoint (e.g. \u003chttps://{searchServiceName}.search.windows.net\u003e).\n"}},"type":"object"}},"azure:datafactory/linkedServiceAzureSqlDatabase:LinkedServiceAzureSqlDatabase":{"description":"Manages a Linked Service (connection) between Azure SQL Database and Azure Data Factory.\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleFactory = new azure.datafactory.Factory(\"example\", {\n    name: \"example\",\n    location: example.location,\n    resourceGroupName: example.name,\n});\nconst exampleLinkedServiceAzureSqlDatabase = new azure.datafactory.LinkedServiceAzureSqlDatabase(\"example\", {\n    name: \"example\",\n    dataFactoryId: exampleFactory.id,\n    connectionString: \"data source=serverhostname;initial catalog=master;user id=testUser;Password=test;integrated security=False;encrypt=True;connection timeout=30\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_factory = azure.datafactory.Factory(\"example\",\n    name=\"example\",\n    location=example.location,\n    resource_group_name=example.name)\nexample_linked_service_azure_sql_database = azure.datafactory.LinkedServiceAzureSqlDatabase(\"example\",\n    name=\"example\",\n    data_factory_id=example_factory.id,\n    connection_string=\"data source=serverhostname;initial catalog=master;user id=testUser;Password=test;integrated security=False;encrypt=True;connection timeout=30\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleFactory = new Azure.DataFactory.Factory(\"example\", new()\n    {\n        Name = \"example\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n    });\n\n    var exampleLinkedServiceAzureSqlDatabase = new Azure.DataFactory.LinkedServiceAzureSqlDatabase(\"example\", new()\n    {\n        Name = \"example\",\n        DataFactoryId = exampleFactory.Id,\n        ConnectionString = \"data source=serverhostname;initial catalog=master;user id=testUser;Password=test;integrated security=False;encrypt=True;connection timeout=30\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/datafactory\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleFactory, err := datafactory.NewFactory(ctx, \"example\", \u0026datafactory.FactoryArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = datafactory.NewLinkedServiceAzureSqlDatabase(ctx, \"example\", \u0026datafactory.LinkedServiceAzureSqlDatabaseArgs{\n\t\t\tName:             pulumi.String(\"example\"),\n\t\t\tDataFactoryId:    exampleFactory.ID(),\n\t\t\tConnectionString: pulumi.String(\"data source=serverhostname;initial catalog=master;user id=testUser;Password=test;integrated security=False;encrypt=True;connection timeout=30\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.datafactory.Factory;\nimport com.pulumi.azure.datafactory.FactoryArgs;\nimport com.pulumi.azure.datafactory.LinkedServiceAzureSqlDatabase;\nimport com.pulumi.azure.datafactory.LinkedServiceAzureSqlDatabaseArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleFactory = new Factory(\"exampleFactory\", FactoryArgs.builder()\n            .name(\"example\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .build());\n\n        var exampleLinkedServiceAzureSqlDatabase = new LinkedServiceAzureSqlDatabase(\"exampleLinkedServiceAzureSqlDatabase\", LinkedServiceAzureSqlDatabaseArgs.builder()\n            .name(\"example\")\n            .dataFactoryId(exampleFactory.id())\n            .connectionString(\"data source=serverhostname;initial catalog=master;user id=testUser;Password=test;integrated security=False;encrypt=True;connection timeout=30\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleFactory:\n    type: azure:datafactory:Factory\n    name: example\n    properties:\n      name: example\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n  exampleLinkedServiceAzureSqlDatabase:\n    type: azure:datafactory:LinkedServiceAzureSqlDatabase\n    name: example\n    properties:\n      name: example\n      dataFactoryId: ${exampleFactory.id}\n      connectionString: data source=serverhostname;initial catalog=master;user id=testUser;Password=test;integrated security=False;encrypt=True;connection timeout=30\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nData Factory Azure SQL Database Linked Service's can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:datafactory/linkedServiceAzureSqlDatabase:LinkedServiceAzureSqlDatabase example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/example/providers/Microsoft.DataFactory/factories/example/linkedservices/example\n```\n\n","properties":{"additionalProperties":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of additional properties to associate with the Data Factory Linked Service Azure SQL Database.\n"},"annotations":{"type":"array","items":{"type":"string"},"description":"List of tags that can be used for describing the Data Factory Linked Service Azure SQL Database.\n"},"connectionString":{"type":"string","description":"The connection string in which to authenticate with Azure SQL Database. Exactly one of either \u003cspan pulumi-lang-nodejs=\"`connectionString`\" pulumi-lang-dotnet=\"`ConnectionString`\" pulumi-lang-go=\"`connectionString`\" pulumi-lang-python=\"`connection_string`\" pulumi-lang-yaml=\"`connectionString`\" pulumi-lang-java=\"`connectionString`\"\u003e`connection_string`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`keyVaultConnectionString`\" pulumi-lang-dotnet=\"`KeyVaultConnectionString`\" pulumi-lang-go=\"`keyVaultConnectionString`\" pulumi-lang-python=\"`key_vault_connection_string`\" pulumi-lang-yaml=\"`keyVaultConnectionString`\" pulumi-lang-java=\"`keyVaultConnectionString`\"\u003e`key_vault_connection_string`\u003c/span\u003e is required.\n"},"credentialName":{"type":"string","description":"The name of a User-assigned Managed Identity. Use this argument to authenticate against the linked resource using a User-assigned Managed Identity.\n"},"dataFactoryId":{"type":"string","description":"The Data Factory ID in which to associate the Linked Service with. Changing this forces a new resource.\n"},"description":{"type":"string","description":"The description for the Data Factory Linked Service Azure SQL Database.\n"},"integrationRuntimeName":{"type":"string","description":"The integration runtime reference to associate with the Data Factory Linked Service Azure SQL Database.\n"},"keyVaultConnectionString":{"$ref":"#/types/azure:datafactory/LinkedServiceAzureSqlDatabaseKeyVaultConnectionString:LinkedServiceAzureSqlDatabaseKeyVaultConnectionString","description":"A \u003cspan pulumi-lang-nodejs=\"`keyVaultConnectionString`\" pulumi-lang-dotnet=\"`KeyVaultConnectionString`\" pulumi-lang-go=\"`keyVaultConnectionString`\" pulumi-lang-python=\"`key_vault_connection_string`\" pulumi-lang-yaml=\"`keyVaultConnectionString`\" pulumi-lang-java=\"`keyVaultConnectionString`\"\u003e`key_vault_connection_string`\u003c/span\u003e block as defined below. Use this argument to store Azure SQL Database connection string in an existing Key Vault. It needs an existing Key Vault Data Factory Linked Service. Exactly one of either \u003cspan pulumi-lang-nodejs=\"`connectionString`\" pulumi-lang-dotnet=\"`ConnectionString`\" pulumi-lang-go=\"`connectionString`\" pulumi-lang-python=\"`connection_string`\" pulumi-lang-yaml=\"`connectionString`\" pulumi-lang-java=\"`connectionString`\"\u003e`connection_string`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`keyVaultConnectionString`\" pulumi-lang-dotnet=\"`KeyVaultConnectionString`\" pulumi-lang-go=\"`keyVaultConnectionString`\" pulumi-lang-python=\"`key_vault_connection_string`\" pulumi-lang-yaml=\"`keyVaultConnectionString`\" pulumi-lang-java=\"`keyVaultConnectionString`\"\u003e`key_vault_connection_string`\u003c/span\u003e is required.\n"},"keyVaultPassword":{"$ref":"#/types/azure:datafactory/LinkedServiceAzureSqlDatabaseKeyVaultPassword:LinkedServiceAzureSqlDatabaseKeyVaultPassword","description":"A \u003cspan pulumi-lang-nodejs=\"`keyVaultPassword`\" pulumi-lang-dotnet=\"`KeyVaultPassword`\" pulumi-lang-go=\"`keyVaultPassword`\" pulumi-lang-python=\"`key_vault_password`\" pulumi-lang-yaml=\"`keyVaultPassword`\" pulumi-lang-java=\"`keyVaultPassword`\"\u003e`key_vault_password`\u003c/span\u003e block as defined below. Use this argument to store SQL Server password in an existing Key Vault. It needs an existing Key Vault Data Factory Linked Service.\n"},"name":{"type":"string","description":"Specifies the name of the Data Factory Linked Service Azure SQL Database. Changing this forces a new resource to be created. Must be unique within a data factory. See the [Microsoft documentation](https://docs.microsoft.com/azure/data-factory/naming-rules) for all restrictions.\n"},"parameters":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of parameters to associate with the Data Factory Linked Service Azure SQL Database.\n"},"servicePrincipalId":{"type":"string","description":"The service principal id in which to authenticate against the Azure SQL Database. Required if \u003cspan pulumi-lang-nodejs=\"`servicePrincipalKey`\" pulumi-lang-dotnet=\"`ServicePrincipalKey`\" pulumi-lang-go=\"`servicePrincipalKey`\" pulumi-lang-python=\"`service_principal_key`\" pulumi-lang-yaml=\"`servicePrincipalKey`\" pulumi-lang-java=\"`servicePrincipalKey`\"\u003e`service_principal_key`\u003c/span\u003e is set.\n"},"servicePrincipalKey":{"type":"string","description":"The service principal key in which to authenticate against the Azure SQL Database. Required if \u003cspan pulumi-lang-nodejs=\"`servicePrincipalId`\" pulumi-lang-dotnet=\"`ServicePrincipalId`\" pulumi-lang-go=\"`servicePrincipalId`\" pulumi-lang-python=\"`service_principal_id`\" pulumi-lang-yaml=\"`servicePrincipalId`\" pulumi-lang-java=\"`servicePrincipalId`\"\u003e`service_principal_id`\u003c/span\u003e is set.\n"},"tenantId":{"type":"string","description":"The tenant id or name in which to authenticate against the Azure SQL Database.\n"},"useManagedIdentity":{"type":"boolean","description":"Whether to use the Data Factory's managed identity to authenticate against the Azure SQL Database. Incompatible with \u003cspan pulumi-lang-nodejs=\"`servicePrincipalId`\" pulumi-lang-dotnet=\"`ServicePrincipalId`\" pulumi-lang-go=\"`servicePrincipalId`\" pulumi-lang-python=\"`service_principal_id`\" pulumi-lang-yaml=\"`servicePrincipalId`\" pulumi-lang-java=\"`servicePrincipalId`\"\u003e`service_principal_id`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`servicePrincipalKey`\" pulumi-lang-dotnet=\"`ServicePrincipalKey`\" pulumi-lang-go=\"`servicePrincipalKey`\" pulumi-lang-python=\"`service_principal_key`\" pulumi-lang-yaml=\"`servicePrincipalKey`\" pulumi-lang-java=\"`servicePrincipalKey`\"\u003e`service_principal_key`\u003c/span\u003e\n"}},"required":["dataFactoryId","name"],"inputProperties":{"additionalProperties":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of additional properties to associate with the Data Factory Linked Service Azure SQL Database.\n"},"annotations":{"type":"array","items":{"type":"string"},"description":"List of tags that can be used for describing the Data Factory Linked Service Azure SQL Database.\n"},"connectionString":{"type":"string","description":"The connection string in which to authenticate with Azure SQL Database. Exactly one of either \u003cspan pulumi-lang-nodejs=\"`connectionString`\" pulumi-lang-dotnet=\"`ConnectionString`\" pulumi-lang-go=\"`connectionString`\" pulumi-lang-python=\"`connection_string`\" pulumi-lang-yaml=\"`connectionString`\" pulumi-lang-java=\"`connectionString`\"\u003e`connection_string`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`keyVaultConnectionString`\" pulumi-lang-dotnet=\"`KeyVaultConnectionString`\" pulumi-lang-go=\"`keyVaultConnectionString`\" pulumi-lang-python=\"`key_vault_connection_string`\" pulumi-lang-yaml=\"`keyVaultConnectionString`\" pulumi-lang-java=\"`keyVaultConnectionString`\"\u003e`key_vault_connection_string`\u003c/span\u003e is required.\n"},"credentialName":{"type":"string","description":"The name of a User-assigned Managed Identity. Use this argument to authenticate against the linked resource using a User-assigned Managed Identity.\n"},"dataFactoryId":{"type":"string","description":"The Data Factory ID in which to associate the Linked Service with. Changing this forces a new resource.\n","willReplaceOnChanges":true},"description":{"type":"string","description":"The description for the Data Factory Linked Service Azure SQL Database.\n"},"integrationRuntimeName":{"type":"string","description":"The integration runtime reference to associate with the Data Factory Linked Service Azure SQL Database.\n"},"keyVaultConnectionString":{"$ref":"#/types/azure:datafactory/LinkedServiceAzureSqlDatabaseKeyVaultConnectionString:LinkedServiceAzureSqlDatabaseKeyVaultConnectionString","description":"A \u003cspan pulumi-lang-nodejs=\"`keyVaultConnectionString`\" pulumi-lang-dotnet=\"`KeyVaultConnectionString`\" pulumi-lang-go=\"`keyVaultConnectionString`\" pulumi-lang-python=\"`key_vault_connection_string`\" pulumi-lang-yaml=\"`keyVaultConnectionString`\" pulumi-lang-java=\"`keyVaultConnectionString`\"\u003e`key_vault_connection_string`\u003c/span\u003e block as defined below. Use this argument to store Azure SQL Database connection string in an existing Key Vault. It needs an existing Key Vault Data Factory Linked Service. Exactly one of either \u003cspan pulumi-lang-nodejs=\"`connectionString`\" pulumi-lang-dotnet=\"`ConnectionString`\" pulumi-lang-go=\"`connectionString`\" pulumi-lang-python=\"`connection_string`\" pulumi-lang-yaml=\"`connectionString`\" pulumi-lang-java=\"`connectionString`\"\u003e`connection_string`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`keyVaultConnectionString`\" pulumi-lang-dotnet=\"`KeyVaultConnectionString`\" pulumi-lang-go=\"`keyVaultConnectionString`\" pulumi-lang-python=\"`key_vault_connection_string`\" pulumi-lang-yaml=\"`keyVaultConnectionString`\" pulumi-lang-java=\"`keyVaultConnectionString`\"\u003e`key_vault_connection_string`\u003c/span\u003e is required.\n"},"keyVaultPassword":{"$ref":"#/types/azure:datafactory/LinkedServiceAzureSqlDatabaseKeyVaultPassword:LinkedServiceAzureSqlDatabaseKeyVaultPassword","description":"A \u003cspan pulumi-lang-nodejs=\"`keyVaultPassword`\" pulumi-lang-dotnet=\"`KeyVaultPassword`\" pulumi-lang-go=\"`keyVaultPassword`\" pulumi-lang-python=\"`key_vault_password`\" pulumi-lang-yaml=\"`keyVaultPassword`\" pulumi-lang-java=\"`keyVaultPassword`\"\u003e`key_vault_password`\u003c/span\u003e block as defined below. Use this argument to store SQL Server password in an existing Key Vault. It needs an existing Key Vault Data Factory Linked Service.\n"},"name":{"type":"string","description":"Specifies the name of the Data Factory Linked Service Azure SQL Database. Changing this forces a new resource to be created. Must be unique within a data factory. See the [Microsoft documentation](https://docs.microsoft.com/azure/data-factory/naming-rules) for all restrictions.\n","willReplaceOnChanges":true},"parameters":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of parameters to associate with the Data Factory Linked Service Azure SQL Database.\n"},"servicePrincipalId":{"type":"string","description":"The service principal id in which to authenticate against the Azure SQL Database. Required if \u003cspan pulumi-lang-nodejs=\"`servicePrincipalKey`\" pulumi-lang-dotnet=\"`ServicePrincipalKey`\" pulumi-lang-go=\"`servicePrincipalKey`\" pulumi-lang-python=\"`service_principal_key`\" pulumi-lang-yaml=\"`servicePrincipalKey`\" pulumi-lang-java=\"`servicePrincipalKey`\"\u003e`service_principal_key`\u003c/span\u003e is set.\n"},"servicePrincipalKey":{"type":"string","description":"The service principal key in which to authenticate against the Azure SQL Database. Required if \u003cspan pulumi-lang-nodejs=\"`servicePrincipalId`\" pulumi-lang-dotnet=\"`ServicePrincipalId`\" pulumi-lang-go=\"`servicePrincipalId`\" pulumi-lang-python=\"`service_principal_id`\" pulumi-lang-yaml=\"`servicePrincipalId`\" pulumi-lang-java=\"`servicePrincipalId`\"\u003e`service_principal_id`\u003c/span\u003e is set.\n"},"tenantId":{"type":"string","description":"The tenant id or name in which to authenticate against the Azure SQL Database.\n"},"useManagedIdentity":{"type":"boolean","description":"Whether to use the Data Factory's managed identity to authenticate against the Azure SQL Database. Incompatible with \u003cspan pulumi-lang-nodejs=\"`servicePrincipalId`\" pulumi-lang-dotnet=\"`ServicePrincipalId`\" pulumi-lang-go=\"`servicePrincipalId`\" pulumi-lang-python=\"`service_principal_id`\" pulumi-lang-yaml=\"`servicePrincipalId`\" pulumi-lang-java=\"`servicePrincipalId`\"\u003e`service_principal_id`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`servicePrincipalKey`\" pulumi-lang-dotnet=\"`ServicePrincipalKey`\" pulumi-lang-go=\"`servicePrincipalKey`\" pulumi-lang-python=\"`service_principal_key`\" pulumi-lang-yaml=\"`servicePrincipalKey`\" pulumi-lang-java=\"`servicePrincipalKey`\"\u003e`service_principal_key`\u003c/span\u003e\n"}},"requiredInputs":["dataFactoryId"],"stateInputs":{"description":"Input properties used for looking up and filtering LinkedServiceAzureSqlDatabase resources.\n","properties":{"additionalProperties":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of additional properties to associate with the Data Factory Linked Service Azure SQL Database.\n"},"annotations":{"type":"array","items":{"type":"string"},"description":"List of tags that can be used for describing the Data Factory Linked Service Azure SQL Database.\n"},"connectionString":{"type":"string","description":"The connection string in which to authenticate with Azure SQL Database. Exactly one of either \u003cspan pulumi-lang-nodejs=\"`connectionString`\" pulumi-lang-dotnet=\"`ConnectionString`\" pulumi-lang-go=\"`connectionString`\" pulumi-lang-python=\"`connection_string`\" pulumi-lang-yaml=\"`connectionString`\" pulumi-lang-java=\"`connectionString`\"\u003e`connection_string`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`keyVaultConnectionString`\" pulumi-lang-dotnet=\"`KeyVaultConnectionString`\" pulumi-lang-go=\"`keyVaultConnectionString`\" pulumi-lang-python=\"`key_vault_connection_string`\" pulumi-lang-yaml=\"`keyVaultConnectionString`\" pulumi-lang-java=\"`keyVaultConnectionString`\"\u003e`key_vault_connection_string`\u003c/span\u003e is required.\n"},"credentialName":{"type":"string","description":"The name of a User-assigned Managed Identity. Use this argument to authenticate against the linked resource using a User-assigned Managed Identity.\n"},"dataFactoryId":{"type":"string","description":"The Data Factory ID in which to associate the Linked Service with. Changing this forces a new resource.\n","willReplaceOnChanges":true},"description":{"type":"string","description":"The description for the Data Factory Linked Service Azure SQL Database.\n"},"integrationRuntimeName":{"type":"string","description":"The integration runtime reference to associate with the Data Factory Linked Service Azure SQL Database.\n"},"keyVaultConnectionString":{"$ref":"#/types/azure:datafactory/LinkedServiceAzureSqlDatabaseKeyVaultConnectionString:LinkedServiceAzureSqlDatabaseKeyVaultConnectionString","description":"A \u003cspan pulumi-lang-nodejs=\"`keyVaultConnectionString`\" pulumi-lang-dotnet=\"`KeyVaultConnectionString`\" pulumi-lang-go=\"`keyVaultConnectionString`\" pulumi-lang-python=\"`key_vault_connection_string`\" pulumi-lang-yaml=\"`keyVaultConnectionString`\" pulumi-lang-java=\"`keyVaultConnectionString`\"\u003e`key_vault_connection_string`\u003c/span\u003e block as defined below. Use this argument to store Azure SQL Database connection string in an existing Key Vault. It needs an existing Key Vault Data Factory Linked Service. Exactly one of either \u003cspan pulumi-lang-nodejs=\"`connectionString`\" pulumi-lang-dotnet=\"`ConnectionString`\" pulumi-lang-go=\"`connectionString`\" pulumi-lang-python=\"`connection_string`\" pulumi-lang-yaml=\"`connectionString`\" pulumi-lang-java=\"`connectionString`\"\u003e`connection_string`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`keyVaultConnectionString`\" pulumi-lang-dotnet=\"`KeyVaultConnectionString`\" pulumi-lang-go=\"`keyVaultConnectionString`\" pulumi-lang-python=\"`key_vault_connection_string`\" pulumi-lang-yaml=\"`keyVaultConnectionString`\" pulumi-lang-java=\"`keyVaultConnectionString`\"\u003e`key_vault_connection_string`\u003c/span\u003e is required.\n"},"keyVaultPassword":{"$ref":"#/types/azure:datafactory/LinkedServiceAzureSqlDatabaseKeyVaultPassword:LinkedServiceAzureSqlDatabaseKeyVaultPassword","description":"A \u003cspan pulumi-lang-nodejs=\"`keyVaultPassword`\" pulumi-lang-dotnet=\"`KeyVaultPassword`\" pulumi-lang-go=\"`keyVaultPassword`\" pulumi-lang-python=\"`key_vault_password`\" pulumi-lang-yaml=\"`keyVaultPassword`\" pulumi-lang-java=\"`keyVaultPassword`\"\u003e`key_vault_password`\u003c/span\u003e block as defined below. Use this argument to store SQL Server password in an existing Key Vault. It needs an existing Key Vault Data Factory Linked Service.\n"},"name":{"type":"string","description":"Specifies the name of the Data Factory Linked Service Azure SQL Database. Changing this forces a new resource to be created. Must be unique within a data factory. See the [Microsoft documentation](https://docs.microsoft.com/azure/data-factory/naming-rules) for all restrictions.\n","willReplaceOnChanges":true},"parameters":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of parameters to associate with the Data Factory Linked Service Azure SQL Database.\n"},"servicePrincipalId":{"type":"string","description":"The service principal id in which to authenticate against the Azure SQL Database. Required if \u003cspan pulumi-lang-nodejs=\"`servicePrincipalKey`\" pulumi-lang-dotnet=\"`ServicePrincipalKey`\" pulumi-lang-go=\"`servicePrincipalKey`\" pulumi-lang-python=\"`service_principal_key`\" pulumi-lang-yaml=\"`servicePrincipalKey`\" pulumi-lang-java=\"`servicePrincipalKey`\"\u003e`service_principal_key`\u003c/span\u003e is set.\n"},"servicePrincipalKey":{"type":"string","description":"The service principal key in which to authenticate against the Azure SQL Database. Required if \u003cspan pulumi-lang-nodejs=\"`servicePrincipalId`\" pulumi-lang-dotnet=\"`ServicePrincipalId`\" pulumi-lang-go=\"`servicePrincipalId`\" pulumi-lang-python=\"`service_principal_id`\" pulumi-lang-yaml=\"`servicePrincipalId`\" pulumi-lang-java=\"`servicePrincipalId`\"\u003e`service_principal_id`\u003c/span\u003e is set.\n"},"tenantId":{"type":"string","description":"The tenant id or name in which to authenticate against the Azure SQL Database.\n"},"useManagedIdentity":{"type":"boolean","description":"Whether to use the Data Factory's managed identity to authenticate against the Azure SQL Database. Incompatible with \u003cspan pulumi-lang-nodejs=\"`servicePrincipalId`\" pulumi-lang-dotnet=\"`ServicePrincipalId`\" pulumi-lang-go=\"`servicePrincipalId`\" pulumi-lang-python=\"`service_principal_id`\" pulumi-lang-yaml=\"`servicePrincipalId`\" pulumi-lang-java=\"`servicePrincipalId`\"\u003e`service_principal_id`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`servicePrincipalKey`\" pulumi-lang-dotnet=\"`ServicePrincipalKey`\" pulumi-lang-go=\"`servicePrincipalKey`\" pulumi-lang-python=\"`service_principal_key`\" pulumi-lang-yaml=\"`servicePrincipalKey`\" pulumi-lang-java=\"`servicePrincipalKey`\"\u003e`service_principal_key`\u003c/span\u003e\n"}},"type":"object"}},"azure:datafactory/linkedServiceAzureTableStorage:LinkedServiceAzureTableStorage":{"description":"Manages a Linked Service (connection) between an Azure Table Storage and Azure Data Factory.\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst example = azure.storage.getAccountOutput({\n    name: \"storageaccountname\",\n    resourceGroupName: exampleResourceGroup.name,\n});\nconst exampleFactory = new azure.datafactory.Factory(\"example\", {\n    name: \"example\",\n    location: exampleResourceGroup.location,\n    resourceGroupName: exampleResourceGroup.name,\n});\nconst exampleLinkedServiceAzureTableStorage = new azure.datafactory.LinkedServiceAzureTableStorage(\"example\", {\n    name: \"example\",\n    dataFactoryId: exampleFactory.id,\n    connectionString: example.apply(example =\u003e example.primaryConnectionString),\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample = azure.storage.get_account_output(name=\"storageaccountname\",\n    resource_group_name=example_resource_group.name)\nexample_factory = azure.datafactory.Factory(\"example\",\n    name=\"example\",\n    location=example_resource_group.location,\n    resource_group_name=example_resource_group.name)\nexample_linked_service_azure_table_storage = azure.datafactory.LinkedServiceAzureTableStorage(\"example\",\n    name=\"example\",\n    data_factory_id=example_factory.id,\n    connection_string=example.primary_connection_string)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleResourceGroup = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var example = Azure.Storage.GetAccount.Invoke(new()\n    {\n        Name = \"storageaccountname\",\n        ResourceGroupName = exampleResourceGroup.Name,\n    });\n\n    var exampleFactory = new Azure.DataFactory.Factory(\"example\", new()\n    {\n        Name = \"example\",\n        Location = exampleResourceGroup.Location,\n        ResourceGroupName = exampleResourceGroup.Name,\n    });\n\n    var exampleLinkedServiceAzureTableStorage = new Azure.DataFactory.LinkedServiceAzureTableStorage(\"example\", new()\n    {\n        Name = \"example\",\n        DataFactoryId = exampleFactory.Id,\n        ConnectionString = example.Apply(getAccountResult =\u003e getAccountResult.PrimaryConnectionString),\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/datafactory\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample := storage.LookupAccountOutput(ctx, storage.GetAccountOutputArgs{\n\t\t\tName:              pulumi.String(\"storageaccountname\"),\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t}, nil)\n\t\texampleFactory, err := datafactory.NewFactory(ctx, \"example\", \u0026datafactory.FactoryArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tLocation:          exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = datafactory.NewLinkedServiceAzureTableStorage(ctx, \"example\", \u0026datafactory.LinkedServiceAzureTableStorageArgs{\n\t\t\tName:          pulumi.String(\"example\"),\n\t\t\tDataFactoryId: exampleFactory.ID(),\n\t\t\tConnectionString: pulumi.String(example.ApplyT(func(example storage.GetAccountResult) (*string, error) {\n\t\t\t\treturn \u0026example.PrimaryConnectionString, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.storage.StorageFunctions;\nimport com.pulumi.azure.storage.inputs.GetAccountArgs;\nimport com.pulumi.azure.datafactory.Factory;\nimport com.pulumi.azure.datafactory.FactoryArgs;\nimport com.pulumi.azure.datafactory.LinkedServiceAzureTableStorage;\nimport com.pulumi.azure.datafactory.LinkedServiceAzureTableStorageArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var exampleResourceGroup = new ResourceGroup(\"exampleResourceGroup\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        final var example = StorageFunctions.getAccount(GetAccountArgs.builder()\n            .name(\"storageaccountname\")\n            .resourceGroupName(exampleResourceGroup.name())\n            .build());\n\n        var exampleFactory = new Factory(\"exampleFactory\", FactoryArgs.builder()\n            .name(\"example\")\n            .location(exampleResourceGroup.location())\n            .resourceGroupName(exampleResourceGroup.name())\n            .build());\n\n        var exampleLinkedServiceAzureTableStorage = new LinkedServiceAzureTableStorage(\"exampleLinkedServiceAzureTableStorage\", LinkedServiceAzureTableStorageArgs.builder()\n            .name(\"example\")\n            .dataFactoryId(exampleFactory.id())\n            .connectionString(example.applyValue(_example -\u003e _example.primaryConnectionString()))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleResourceGroup:\n    type: azure:core:ResourceGroup\n    name: example\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleFactory:\n    type: azure:datafactory:Factory\n    name: example\n    properties:\n      name: example\n      location: ${exampleResourceGroup.location}\n      resourceGroupName: ${exampleResourceGroup.name}\n  exampleLinkedServiceAzureTableStorage:\n    type: azure:datafactory:LinkedServiceAzureTableStorage\n    name: example\n    properties:\n      name: example\n      dataFactoryId: ${exampleFactory.id}\n      connectionString: ${example.primaryConnectionString}\nvariables:\n  example:\n    fn::invoke:\n      function: azure:storage:getAccount\n      arguments:\n        name: storageaccountname\n        resourceGroupName: ${exampleResourceGroup.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nData Factory Linked Service's can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:datafactory/linkedServiceAzureTableStorage:LinkedServiceAzureTableStorage example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/example/providers/Microsoft.DataFactory/factories/example/linkedservices/example\n```\n\n","properties":{"additionalProperties":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of additional properties to associate with the Data Factory Linked Service.\n\nThe following supported arguments are specific to Azure Table Storage Linked Service:\n"},"annotations":{"type":"array","items":{"type":"string"},"description":"List of tags that can be used for describing the Data Factory Linked Service.\n"},"connectionString":{"type":"string","description":"The connection string to an Azure Storage Account.\n","secret":true},"dataFactoryId":{"type":"string","description":"The Data Factory ID in which to associate the Linked Service with. Changing this forces a new resource.\n"},"description":{"type":"string","description":"The description for the Data Factory Linked Service.\n"},"integrationRuntimeName":{"type":"string","description":"The integration runtime reference to associate with the Data Factory Linked Service.\n"},"name":{"type":"string","description":"Specifies the name of the Data Factory Linked Service. Changing this forces a new resource to be created. Must be unique within a data factory. See the [Microsoft documentation](https://docs.microsoft.com/azure/data-factory/naming-rules) for all restrictions.\n"},"parameters":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of parameters to associate with the Data Factory Linked Service.\n"}},"required":["connectionString","dataFactoryId","name"],"inputProperties":{"additionalProperties":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of additional properties to associate with the Data Factory Linked Service.\n\nThe following supported arguments are specific to Azure Table Storage Linked Service:\n"},"annotations":{"type":"array","items":{"type":"string"},"description":"List of tags that can be used for describing the Data Factory Linked Service.\n"},"connectionString":{"type":"string","description":"The connection string to an Azure Storage Account.\n","secret":true},"dataFactoryId":{"type":"string","description":"The Data Factory ID in which to associate the Linked Service with. Changing this forces a new resource.\n","willReplaceOnChanges":true},"description":{"type":"string","description":"The description for the Data Factory Linked Service.\n"},"integrationRuntimeName":{"type":"string","description":"The integration runtime reference to associate with the Data Factory Linked Service.\n"},"name":{"type":"string","description":"Specifies the name of the Data Factory Linked Service. Changing this forces a new resource to be created. Must be unique within a data factory. See the [Microsoft documentation](https://docs.microsoft.com/azure/data-factory/naming-rules) for all restrictions.\n","willReplaceOnChanges":true},"parameters":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of parameters to associate with the Data Factory Linked Service.\n"}},"requiredInputs":["connectionString","dataFactoryId"],"stateInputs":{"description":"Input properties used for looking up and filtering LinkedServiceAzureTableStorage resources.\n","properties":{"additionalProperties":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of additional properties to associate with the Data Factory Linked Service.\n\nThe following supported arguments are specific to Azure Table Storage Linked Service:\n"},"annotations":{"type":"array","items":{"type":"string"},"description":"List of tags that can be used for describing the Data Factory Linked Service.\n"},"connectionString":{"type":"string","description":"The connection string to an Azure Storage Account.\n","secret":true},"dataFactoryId":{"type":"string","description":"The Data Factory ID in which to associate the Linked Service with. Changing this forces a new resource.\n","willReplaceOnChanges":true},"description":{"type":"string","description":"The description for the Data Factory Linked Service.\n"},"integrationRuntimeName":{"type":"string","description":"The integration runtime reference to associate with the Data Factory Linked Service.\n"},"name":{"type":"string","description":"Specifies the name of the Data Factory Linked Service. Changing this forces a new resource to be created. Must be unique within a data factory. See the [Microsoft documentation](https://docs.microsoft.com/azure/data-factory/naming-rules) for all restrictions.\n","willReplaceOnChanges":true},"parameters":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of parameters to associate with the Data Factory Linked Service.\n"}},"type":"object"}},"azure:datafactory/linkedServiceCosmosDb:LinkedServiceCosmosDb":{"description":"Manages a Linked Service (connection) between a CosmosDB and Azure Data Factory using SQL API.\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst example = azure.cosmosdb.getAccount({\n    name: \"tfex-cosmosdb-account\",\n    resourceGroupName: \"tfex-cosmosdb-account-rg\",\n});\nconst exampleFactory = new azure.datafactory.Factory(\"example\", {\n    name: \"example\",\n    location: exampleResourceGroup.location,\n    resourceGroupName: exampleResourceGroup.name,\n});\nconst exampleLinkedServiceCosmosDb = new azure.datafactory.LinkedServiceCosmosDb(\"example\", {\n    name: \"example\",\n    dataFactoryId: exampleFactory.id,\n    accountEndpoint: example.then(example =\u003e example.endpoint),\n    accountKey: example.then(example =\u003e example.primaryKey),\n    database: \"foo\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample = azure.cosmosdb.get_account(name=\"tfex-cosmosdb-account\",\n    resource_group_name=\"tfex-cosmosdb-account-rg\")\nexample_factory = azure.datafactory.Factory(\"example\",\n    name=\"example\",\n    location=example_resource_group.location,\n    resource_group_name=example_resource_group.name)\nexample_linked_service_cosmos_db = azure.datafactory.LinkedServiceCosmosDb(\"example\",\n    name=\"example\",\n    data_factory_id=example_factory.id,\n    account_endpoint=example.endpoint,\n    account_key=example.primary_key,\n    database=\"foo\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleResourceGroup = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var example = Azure.CosmosDB.GetAccount.Invoke(new()\n    {\n        Name = \"tfex-cosmosdb-account\",\n        ResourceGroupName = \"tfex-cosmosdb-account-rg\",\n    });\n\n    var exampleFactory = new Azure.DataFactory.Factory(\"example\", new()\n    {\n        Name = \"example\",\n        Location = exampleResourceGroup.Location,\n        ResourceGroupName = exampleResourceGroup.Name,\n    });\n\n    var exampleLinkedServiceCosmosDb = new Azure.DataFactory.LinkedServiceCosmosDb(\"example\", new()\n    {\n        Name = \"example\",\n        DataFactoryId = exampleFactory.Id,\n        AccountEndpoint = example.Apply(getAccountResult =\u003e getAccountResult.Endpoint),\n        AccountKey = example.Apply(getAccountResult =\u003e getAccountResult.PrimaryKey),\n        Database = \"foo\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/cosmosdb\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/datafactory\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := cosmosdb.LookupAccount(ctx, \u0026cosmosdb.LookupAccountArgs{\n\t\t\tName:              \"tfex-cosmosdb-account\",\n\t\t\tResourceGroupName: \"tfex-cosmosdb-account-rg\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleFactory, err := datafactory.NewFactory(ctx, \"example\", \u0026datafactory.FactoryArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tLocation:          exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = datafactory.NewLinkedServiceCosmosDb(ctx, \"example\", \u0026datafactory.LinkedServiceCosmosDbArgs{\n\t\t\tName:            pulumi.String(\"example\"),\n\t\t\tDataFactoryId:   exampleFactory.ID(),\n\t\t\tAccountEndpoint: pulumi.String(example.Endpoint),\n\t\t\tAccountKey:      pulumi.String(example.PrimaryKey),\n\t\t\tDatabase:        pulumi.String(\"foo\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.cosmosdb.CosmosdbFunctions;\nimport com.pulumi.azure.cosmosdb.inputs.GetAccountArgs;\nimport com.pulumi.azure.datafactory.Factory;\nimport com.pulumi.azure.datafactory.FactoryArgs;\nimport com.pulumi.azure.datafactory.LinkedServiceCosmosDb;\nimport com.pulumi.azure.datafactory.LinkedServiceCosmosDbArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var exampleResourceGroup = new ResourceGroup(\"exampleResourceGroup\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        final var example = CosmosdbFunctions.getAccount(GetAccountArgs.builder()\n            .name(\"tfex-cosmosdb-account\")\n            .resourceGroupName(\"tfex-cosmosdb-account-rg\")\n            .build());\n\n        var exampleFactory = new Factory(\"exampleFactory\", FactoryArgs.builder()\n            .name(\"example\")\n            .location(exampleResourceGroup.location())\n            .resourceGroupName(exampleResourceGroup.name())\n            .build());\n\n        var exampleLinkedServiceCosmosDb = new LinkedServiceCosmosDb(\"exampleLinkedServiceCosmosDb\", LinkedServiceCosmosDbArgs.builder()\n            .name(\"example\")\n            .dataFactoryId(exampleFactory.id())\n            .accountEndpoint(example.endpoint())\n            .accountKey(example.primaryKey())\n            .database(\"foo\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleResourceGroup:\n    type: azure:core:ResourceGroup\n    name: example\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleFactory:\n    type: azure:datafactory:Factory\n    name: example\n    properties:\n      name: example\n      location: ${exampleResourceGroup.location}\n      resourceGroupName: ${exampleResourceGroup.name}\n  exampleLinkedServiceCosmosDb:\n    type: azure:datafactory:LinkedServiceCosmosDb\n    name: example\n    properties:\n      name: example\n      dataFactoryId: ${exampleFactory.id}\n      accountEndpoint: ${example.endpoint}\n      accountKey: ${example.primaryKey}\n      database: foo\nvariables:\n  example:\n    fn::invoke:\n      function: azure:cosmosdb:getAccount\n      arguments:\n        name: tfex-cosmosdb-account\n        resourceGroupName: tfex-cosmosdb-account-rg\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nData Factory Linked Service's can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:datafactory/linkedServiceCosmosDb:LinkedServiceCosmosDb example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/example/providers/Microsoft.DataFactory/factories/example/linkedservices/example\n```\n\n","properties":{"accountEndpoint":{"type":"string","description":"The endpoint of the Azure CosmosDB account. Required if \u003cspan pulumi-lang-nodejs=\"`connectionString`\" pulumi-lang-dotnet=\"`ConnectionString`\" pulumi-lang-go=\"`connectionString`\" pulumi-lang-python=\"`connection_string`\" pulumi-lang-yaml=\"`connectionString`\" pulumi-lang-java=\"`connectionString`\"\u003e`connection_string`\u003c/span\u003e is unspecified.\n"},"accountKey":{"type":"string","description":"The account key of the Azure Cosmos DB account. Required if \u003cspan pulumi-lang-nodejs=\"`connectionString`\" pulumi-lang-dotnet=\"`ConnectionString`\" pulumi-lang-go=\"`connectionString`\" pulumi-lang-python=\"`connection_string`\" pulumi-lang-yaml=\"`connectionString`\" pulumi-lang-java=\"`connectionString`\"\u003e`connection_string`\u003c/span\u003e is unspecified.\n","secret":true},"additionalProperties":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of additional properties to associate with the Data Factory Linked Service.\n\nThe following supported arguments are specific to CosmosDB Linked Service:\n"},"annotations":{"type":"array","items":{"type":"string"},"description":"List of tags that can be used for describing the Data Factory Linked Service.\n"},"connectionString":{"type":"string","description":"The connection string. Required if \u003cspan pulumi-lang-nodejs=\"`accountEndpoint`\" pulumi-lang-dotnet=\"`AccountEndpoint`\" pulumi-lang-go=\"`accountEndpoint`\" pulumi-lang-python=\"`account_endpoint`\" pulumi-lang-yaml=\"`accountEndpoint`\" pulumi-lang-java=\"`accountEndpoint`\"\u003e`account_endpoint`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`accountKey`\" pulumi-lang-dotnet=\"`AccountKey`\" pulumi-lang-go=\"`accountKey`\" pulumi-lang-python=\"`account_key`\" pulumi-lang-yaml=\"`accountKey`\" pulumi-lang-java=\"`accountKey`\"\u003e`account_key`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`database`\" pulumi-lang-dotnet=\"`Database`\" pulumi-lang-go=\"`database`\" pulumi-lang-python=\"`database`\" pulumi-lang-yaml=\"`database`\" pulumi-lang-java=\"`database`\"\u003e`database`\u003c/span\u003e are unspecified.\n","secret":true},"dataFactoryId":{"type":"string","description":"The Data Factory ID in which to associate the Linked Service with. Changing this forces a new resource.\n"},"database":{"type":"string","description":"The name of the database. Required if \u003cspan pulumi-lang-nodejs=\"`connectionString`\" pulumi-lang-dotnet=\"`ConnectionString`\" pulumi-lang-go=\"`connectionString`\" pulumi-lang-python=\"`connection_string`\" pulumi-lang-yaml=\"`connectionString`\" pulumi-lang-java=\"`connectionString`\"\u003e`connection_string`\u003c/span\u003e is unspecified.\n"},"description":{"type":"string","description":"The description for the Data Factory Linked Service.\n"},"integrationRuntimeName":{"type":"string","description":"The integration runtime reference to associate with the Data Factory Linked Service.\n"},"name":{"type":"string","description":"Specifies the name of the Data Factory Linked Service. Changing this forces a new resource to be created. Must be unique within a data factory. See the [Microsoft documentation](https://docs.microsoft.com/azure/data-factory/naming-rules) for all restrictions.\n"},"parameters":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of parameters to associate with the Data Factory Linked Service.\n"}},"required":["dataFactoryId","name"],"inputProperties":{"accountEndpoint":{"type":"string","description":"The endpoint of the Azure CosmosDB account. Required if \u003cspan pulumi-lang-nodejs=\"`connectionString`\" pulumi-lang-dotnet=\"`ConnectionString`\" pulumi-lang-go=\"`connectionString`\" pulumi-lang-python=\"`connection_string`\" pulumi-lang-yaml=\"`connectionString`\" pulumi-lang-java=\"`connectionString`\"\u003e`connection_string`\u003c/span\u003e is unspecified.\n"},"accountKey":{"type":"string","description":"The account key of the Azure Cosmos DB account. Required if \u003cspan pulumi-lang-nodejs=\"`connectionString`\" pulumi-lang-dotnet=\"`ConnectionString`\" pulumi-lang-go=\"`connectionString`\" pulumi-lang-python=\"`connection_string`\" pulumi-lang-yaml=\"`connectionString`\" pulumi-lang-java=\"`connectionString`\"\u003e`connection_string`\u003c/span\u003e is unspecified.\n","secret":true},"additionalProperties":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of additional properties to associate with the Data Factory Linked Service.\n\nThe following supported arguments are specific to CosmosDB Linked Service:\n"},"annotations":{"type":"array","items":{"type":"string"},"description":"List of tags that can be used for describing the Data Factory Linked Service.\n"},"connectionString":{"type":"string","description":"The connection string. Required if \u003cspan pulumi-lang-nodejs=\"`accountEndpoint`\" pulumi-lang-dotnet=\"`AccountEndpoint`\" pulumi-lang-go=\"`accountEndpoint`\" pulumi-lang-python=\"`account_endpoint`\" pulumi-lang-yaml=\"`accountEndpoint`\" pulumi-lang-java=\"`accountEndpoint`\"\u003e`account_endpoint`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`accountKey`\" pulumi-lang-dotnet=\"`AccountKey`\" pulumi-lang-go=\"`accountKey`\" pulumi-lang-python=\"`account_key`\" pulumi-lang-yaml=\"`accountKey`\" pulumi-lang-java=\"`accountKey`\"\u003e`account_key`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`database`\" pulumi-lang-dotnet=\"`Database`\" pulumi-lang-go=\"`database`\" pulumi-lang-python=\"`database`\" pulumi-lang-yaml=\"`database`\" pulumi-lang-java=\"`database`\"\u003e`database`\u003c/span\u003e are unspecified.\n","secret":true},"dataFactoryId":{"type":"string","description":"The Data Factory ID in which to associate the Linked Service with. Changing this forces a new resource.\n","willReplaceOnChanges":true},"database":{"type":"string","description":"The name of the database. Required if \u003cspan pulumi-lang-nodejs=\"`connectionString`\" pulumi-lang-dotnet=\"`ConnectionString`\" pulumi-lang-go=\"`connectionString`\" pulumi-lang-python=\"`connection_string`\" pulumi-lang-yaml=\"`connectionString`\" pulumi-lang-java=\"`connectionString`\"\u003e`connection_string`\u003c/span\u003e is unspecified.\n"},"description":{"type":"string","description":"The description for the Data Factory Linked Service.\n"},"integrationRuntimeName":{"type":"string","description":"The integration runtime reference to associate with the Data Factory Linked Service.\n"},"name":{"type":"string","description":"Specifies the name of the Data Factory Linked Service. Changing this forces a new resource to be created. Must be unique within a data factory. See the [Microsoft documentation](https://docs.microsoft.com/azure/data-factory/naming-rules) for all restrictions.\n","willReplaceOnChanges":true},"parameters":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of parameters to associate with the Data Factory Linked Service.\n"}},"requiredInputs":["dataFactoryId"],"stateInputs":{"description":"Input properties used for looking up and filtering LinkedServiceCosmosDb resources.\n","properties":{"accountEndpoint":{"type":"string","description":"The endpoint of the Azure CosmosDB account. Required if \u003cspan pulumi-lang-nodejs=\"`connectionString`\" pulumi-lang-dotnet=\"`ConnectionString`\" pulumi-lang-go=\"`connectionString`\" pulumi-lang-python=\"`connection_string`\" pulumi-lang-yaml=\"`connectionString`\" pulumi-lang-java=\"`connectionString`\"\u003e`connection_string`\u003c/span\u003e is unspecified.\n"},"accountKey":{"type":"string","description":"The account key of the Azure Cosmos DB account. Required if \u003cspan pulumi-lang-nodejs=\"`connectionString`\" pulumi-lang-dotnet=\"`ConnectionString`\" pulumi-lang-go=\"`connectionString`\" pulumi-lang-python=\"`connection_string`\" pulumi-lang-yaml=\"`connectionString`\" pulumi-lang-java=\"`connectionString`\"\u003e`connection_string`\u003c/span\u003e is unspecified.\n","secret":true},"additionalProperties":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of additional properties to associate with the Data Factory Linked Service.\n\nThe following supported arguments are specific to CosmosDB Linked Service:\n"},"annotations":{"type":"array","items":{"type":"string"},"description":"List of tags that can be used for describing the Data Factory Linked Service.\n"},"connectionString":{"type":"string","description":"The connection string. Required if \u003cspan pulumi-lang-nodejs=\"`accountEndpoint`\" pulumi-lang-dotnet=\"`AccountEndpoint`\" pulumi-lang-go=\"`accountEndpoint`\" pulumi-lang-python=\"`account_endpoint`\" pulumi-lang-yaml=\"`accountEndpoint`\" pulumi-lang-java=\"`accountEndpoint`\"\u003e`account_endpoint`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`accountKey`\" pulumi-lang-dotnet=\"`AccountKey`\" pulumi-lang-go=\"`accountKey`\" pulumi-lang-python=\"`account_key`\" pulumi-lang-yaml=\"`accountKey`\" pulumi-lang-java=\"`accountKey`\"\u003e`account_key`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`database`\" pulumi-lang-dotnet=\"`Database`\" pulumi-lang-go=\"`database`\" pulumi-lang-python=\"`database`\" pulumi-lang-yaml=\"`database`\" pulumi-lang-java=\"`database`\"\u003e`database`\u003c/span\u003e are unspecified.\n","secret":true},"dataFactoryId":{"type":"string","description":"The Data Factory ID in which to associate the Linked Service with. Changing this forces a new resource.\n","willReplaceOnChanges":true},"database":{"type":"string","description":"The name of the database. Required if \u003cspan pulumi-lang-nodejs=\"`connectionString`\" pulumi-lang-dotnet=\"`ConnectionString`\" pulumi-lang-go=\"`connectionString`\" pulumi-lang-python=\"`connection_string`\" pulumi-lang-yaml=\"`connectionString`\" pulumi-lang-java=\"`connectionString`\"\u003e`connection_string`\u003c/span\u003e is unspecified.\n"},"description":{"type":"string","description":"The description for the Data Factory Linked Service.\n"},"integrationRuntimeName":{"type":"string","description":"The integration runtime reference to associate with the Data Factory Linked Service.\n"},"name":{"type":"string","description":"Specifies the name of the Data Factory Linked Service. Changing this forces a new resource to be created. Must be unique within a data factory. See the [Microsoft documentation](https://docs.microsoft.com/azure/data-factory/naming-rules) for all restrictions.\n","willReplaceOnChanges":true},"parameters":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of parameters to associate with the Data Factory Linked Service.\n"}},"type":"object"}},"azure:datafactory/linkedServiceCosmosDbMongoApi:LinkedServiceCosmosDbMongoApi":{"description":"Manages a Linked Service (connection) between a CosmosDB and Azure Data Factory using Mongo API.\n\n\u003e **Note:** All arguments including the client secret will be stored in the raw state as plain-text. [Read more about sensitive data in state](https://www.terraform.io/docs/state/sensitive-data.html).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleFactory = new azure.datafactory.Factory(\"example\", {\n    name: \"example\",\n    location: example.location,\n    resourceGroupName: example.name,\n});\nconst exampleLinkedServiceCosmosDbMongoApi = new azure.datafactory.LinkedServiceCosmosDbMongoApi(\"example\", {\n    name: \"example\",\n    dataFactoryId: exampleFactory.id,\n    connectionString: \"mongodb://testinstance:testkey@testinstance.documents.azure.com:10255/?ssl=true\",\n    database: \"foo\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_factory = azure.datafactory.Factory(\"example\",\n    name=\"example\",\n    location=example.location,\n    resource_group_name=example.name)\nexample_linked_service_cosmos_db_mongo_api = azure.datafactory.LinkedServiceCosmosDbMongoApi(\"example\",\n    name=\"example\",\n    data_factory_id=example_factory.id,\n    connection_string=\"mongodb://testinstance:testkey@testinstance.documents.azure.com:10255/?ssl=true\",\n    database=\"foo\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleFactory = new Azure.DataFactory.Factory(\"example\", new()\n    {\n        Name = \"example\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n    });\n\n    var exampleLinkedServiceCosmosDbMongoApi = new Azure.DataFactory.LinkedServiceCosmosDbMongoApi(\"example\", new()\n    {\n        Name = \"example\",\n        DataFactoryId = exampleFactory.Id,\n        ConnectionString = \"mongodb://testinstance:testkey@testinstance.documents.azure.com:10255/?ssl=true\",\n        Database = \"foo\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/datafactory\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleFactory, err := datafactory.NewFactory(ctx, \"example\", \u0026datafactory.FactoryArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = datafactory.NewLinkedServiceCosmosDbMongoApi(ctx, \"example\", \u0026datafactory.LinkedServiceCosmosDbMongoApiArgs{\n\t\t\tName:             pulumi.String(\"example\"),\n\t\t\tDataFactoryId:    exampleFactory.ID(),\n\t\t\tConnectionString: pulumi.String(\"mongodb://testinstance:testkey@testinstance.documents.azure.com:10255/?ssl=true\"),\n\t\t\tDatabase:         pulumi.String(\"foo\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.datafactory.Factory;\nimport com.pulumi.azure.datafactory.FactoryArgs;\nimport com.pulumi.azure.datafactory.LinkedServiceCosmosDbMongoApi;\nimport com.pulumi.azure.datafactory.LinkedServiceCosmosDbMongoApiArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleFactory = new Factory(\"exampleFactory\", FactoryArgs.builder()\n            .name(\"example\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .build());\n\n        var exampleLinkedServiceCosmosDbMongoApi = new LinkedServiceCosmosDbMongoApi(\"exampleLinkedServiceCosmosDbMongoApi\", LinkedServiceCosmosDbMongoApiArgs.builder()\n            .name(\"example\")\n            .dataFactoryId(exampleFactory.id())\n            .connectionString(\"mongodb://testinstance:testkey@testinstance.documents.azure.com:10255/?ssl=true\")\n            .database(\"foo\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleFactory:\n    type: azure:datafactory:Factory\n    name: example\n    properties:\n      name: example\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n  exampleLinkedServiceCosmosDbMongoApi:\n    type: azure:datafactory:LinkedServiceCosmosDbMongoApi\n    name: example\n    properties:\n      name: example\n      dataFactoryId: ${exampleFactory.id}\n      connectionString: mongodb://testinstance:testkey@testinstance.documents.azure.com:10255/?ssl=true\n      database: foo\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nData Factory Linked Service's can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:datafactory/linkedServiceCosmosDbMongoApi:LinkedServiceCosmosDbMongoApi example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/example/providers/Microsoft.DataFactory/factories/example/linkedservices/example\n```\n\n","properties":{"additionalProperties":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of additional properties to associate with the Data Factory Linked Service.\n\nThe following supported arguments are specific to CosmosDB Linked Service:\n"},"annotations":{"type":"array","items":{"type":"string"},"description":"List of tags that can be used for describing the Data Factory Linked Service.\n"},"connectionString":{"type":"string","description":"The connection string.\n","secret":true},"dataFactoryId":{"type":"string","description":"The Data Factory ID in which to associate the Linked Service with. Changing this forces a new resource.\n"},"database":{"type":"string","description":"The name of the database.\n"},"description":{"type":"string","description":"The description for the Data Factory Linked Service.\n"},"integrationRuntimeName":{"type":"string","description":"The integration runtime reference to associate with the Data Factory Linked Service.\n"},"name":{"type":"string","description":"Specifies the name of the Data Factory Linked Service. Changing this forces a new resource to be created. Must be unique within a data factory. See the [Microsoft documentation](https://docs.microsoft.com/azure/data-factory/naming-rules) for all restrictions.\n"},"parameters":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of parameters to associate with the Data Factory Linked Service.\n"},"serverVersionIs32OrHigher":{"type":"boolean","description":"Whether API server version is 3.2 or higher. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"}},"required":["dataFactoryId","name"],"inputProperties":{"additionalProperties":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of additional properties to associate with the Data Factory Linked Service.\n\nThe following supported arguments are specific to CosmosDB Linked Service:\n"},"annotations":{"type":"array","items":{"type":"string"},"description":"List of tags that can be used for describing the Data Factory Linked Service.\n"},"connectionString":{"type":"string","description":"The connection string.\n","secret":true},"dataFactoryId":{"type":"string","description":"The Data Factory ID in which to associate the Linked Service with. Changing this forces a new resource.\n","willReplaceOnChanges":true},"database":{"type":"string","description":"The name of the database.\n"},"description":{"type":"string","description":"The description for the Data Factory Linked Service.\n"},"integrationRuntimeName":{"type":"string","description":"The integration runtime reference to associate with the Data Factory Linked Service.\n"},"name":{"type":"string","description":"Specifies the name of the Data Factory Linked Service. Changing this forces a new resource to be created. Must be unique within a data factory. See the [Microsoft documentation](https://docs.microsoft.com/azure/data-factory/naming-rules) for all restrictions.\n","willReplaceOnChanges":true},"parameters":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of parameters to associate with the Data Factory Linked Service.\n"},"serverVersionIs32OrHigher":{"type":"boolean","description":"Whether API server version is 3.2 or higher. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"}},"requiredInputs":["dataFactoryId"],"stateInputs":{"description":"Input properties used for looking up and filtering LinkedServiceCosmosDbMongoApi resources.\n","properties":{"additionalProperties":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of additional properties to associate with the Data Factory Linked Service.\n\nThe following supported arguments are specific to CosmosDB Linked Service:\n"},"annotations":{"type":"array","items":{"type":"string"},"description":"List of tags that can be used for describing the Data Factory Linked Service.\n"},"connectionString":{"type":"string","description":"The connection string.\n","secret":true},"dataFactoryId":{"type":"string","description":"The Data Factory ID in which to associate the Linked Service with. Changing this forces a new resource.\n","willReplaceOnChanges":true},"database":{"type":"string","description":"The name of the database.\n"},"description":{"type":"string","description":"The description for the Data Factory Linked Service.\n"},"integrationRuntimeName":{"type":"string","description":"The integration runtime reference to associate with the Data Factory Linked Service.\n"},"name":{"type":"string","description":"Specifies the name of the Data Factory Linked Service. Changing this forces a new resource to be created. Must be unique within a data factory. See the [Microsoft documentation](https://docs.microsoft.com/azure/data-factory/naming-rules) for all restrictions.\n","willReplaceOnChanges":true},"parameters":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of parameters to associate with the Data Factory Linked Service.\n"},"serverVersionIs32OrHigher":{"type":"boolean","description":"Whether API server version is 3.2 or higher. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"}},"type":"object"}},"azure:datafactory/linkedServiceDataLakeStorageGen2:LinkedServiceDataLakeStorageGen2":{"description":"Manages a Linked Service (connection) between Data Lake Storage Gen2 and Azure Data Factory.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleFactory = new azure.datafactory.Factory(\"example\", {\n    name: \"example\",\n    location: example.location,\n    resourceGroupName: example.name,\n});\nconst current = azure.core.getClientConfig({});\nconst exampleLinkedServiceDataLakeStorageGen2 = new azure.datafactory.LinkedServiceDataLakeStorageGen2(\"example\", {\n    name: \"example\",\n    dataFactoryId: exampleFactory.id,\n    servicePrincipalId: current.then(current =\u003e current.clientId),\n    servicePrincipalKey: \"exampleKey\",\n    tenant: \"11111111-1111-1111-1111-111111111111\",\n    url: \"https://datalakestoragegen2\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_factory = azure.datafactory.Factory(\"example\",\n    name=\"example\",\n    location=example.location,\n    resource_group_name=example.name)\ncurrent = azure.core.get_client_config()\nexample_linked_service_data_lake_storage_gen2 = azure.datafactory.LinkedServiceDataLakeStorageGen2(\"example\",\n    name=\"example\",\n    data_factory_id=example_factory.id,\n    service_principal_id=current.client_id,\n    service_principal_key=\"exampleKey\",\n    tenant=\"11111111-1111-1111-1111-111111111111\",\n    url=\"https://datalakestoragegen2\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleFactory = new Azure.DataFactory.Factory(\"example\", new()\n    {\n        Name = \"example\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n    });\n\n    var current = Azure.Core.GetClientConfig.Invoke();\n\n    var exampleLinkedServiceDataLakeStorageGen2 = new Azure.DataFactory.LinkedServiceDataLakeStorageGen2(\"example\", new()\n    {\n        Name = \"example\",\n        DataFactoryId = exampleFactory.Id,\n        ServicePrincipalId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.ClientId),\n        ServicePrincipalKey = \"exampleKey\",\n        Tenant = \"11111111-1111-1111-1111-111111111111\",\n        Url = \"https://datalakestoragegen2\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/datafactory\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleFactory, err := datafactory.NewFactory(ctx, \"example\", \u0026datafactory.FactoryArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrent, err := core.GetClientConfig(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = datafactory.NewLinkedServiceDataLakeStorageGen2(ctx, \"example\", \u0026datafactory.LinkedServiceDataLakeStorageGen2Args{\n\t\t\tName:                pulumi.String(\"example\"),\n\t\t\tDataFactoryId:       exampleFactory.ID(),\n\t\t\tServicePrincipalId:  pulumi.String(current.ClientId),\n\t\t\tServicePrincipalKey: pulumi.String(\"exampleKey\"),\n\t\t\tTenant:              pulumi.String(\"11111111-1111-1111-1111-111111111111\"),\n\t\t\tUrl:                 pulumi.String(\"https://datalakestoragegen2\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.datafactory.Factory;\nimport com.pulumi.azure.datafactory.FactoryArgs;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.datafactory.LinkedServiceDataLakeStorageGen2;\nimport com.pulumi.azure.datafactory.LinkedServiceDataLakeStorageGen2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleFactory = new Factory(\"exampleFactory\", FactoryArgs.builder()\n            .name(\"example\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .build());\n\n        final var current = CoreFunctions.getClientConfig(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n        var exampleLinkedServiceDataLakeStorageGen2 = new LinkedServiceDataLakeStorageGen2(\"exampleLinkedServiceDataLakeStorageGen2\", LinkedServiceDataLakeStorageGen2Args.builder()\n            .name(\"example\")\n            .dataFactoryId(exampleFactory.id())\n            .servicePrincipalId(current.clientId())\n            .servicePrincipalKey(\"exampleKey\")\n            .tenant(\"11111111-1111-1111-1111-111111111111\")\n            .url(\"https://datalakestoragegen2\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleFactory:\n    type: azure:datafactory:Factory\n    name: example\n    properties:\n      name: example\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n  exampleLinkedServiceDataLakeStorageGen2:\n    type: azure:datafactory:LinkedServiceDataLakeStorageGen2\n    name: example\n    properties:\n      name: example\n      dataFactoryId: ${exampleFactory.id}\n      servicePrincipalId: ${current.clientId}\n      servicePrincipalKey: exampleKey\n      tenant: 11111111-1111-1111-1111-111111111111\n      url: https://datalakestoragegen2\nvariables:\n  current:\n    fn::invoke:\n      function: azure:core:getClientConfig\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nData Factory Data Lake Storage Gen2 Linked Services can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:datafactory/linkedServiceDataLakeStorageGen2:LinkedServiceDataLakeStorageGen2 example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/example/providers/Microsoft.DataFactory/factories/example/linkedservices/example\n```\n\n","properties":{"additionalProperties":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of additional properties to associate with the Data Factory Linked Service.\n\nThe following supported arguments are specific to Data Lake Storage Gen2 Linked Service:\n"},"annotations":{"type":"array","items":{"type":"string"},"description":"List of tags that can be used for describing the Data Factory Linked Service.\n"},"dataFactoryId":{"type":"string","description":"The Data Factory ID in which to associate the Linked Service with. Changing this forces a new resource.\n"},"description":{"type":"string","description":"The description for the Data Factory Linked Service.\n"},"integrationRuntimeName":{"type":"string","description":"The integration runtime reference to associate with the Data Factory Linked Service.\n"},"name":{"type":"string","description":"Specifies the name of the Data Factory Linked Service. Changing this forces a new resource to be created. Must be unique within a data factory. See the [Microsoft documentation](https://docs.microsoft.com/azure/data-factory/naming-rules) for all restrictions.\n"},"parameters":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of parameters to associate with the Data Factory Linked Service.\n"},"servicePrincipalId":{"type":"string","description":"The service principal id with which to authenticate against the Azure Data Lake Storage Gen2 account. Incompatible with \u003cspan pulumi-lang-nodejs=\"`storageAccountKey`\" pulumi-lang-dotnet=\"`StorageAccountKey`\" pulumi-lang-go=\"`storageAccountKey`\" pulumi-lang-python=\"`storage_account_key`\" pulumi-lang-yaml=\"`storageAccountKey`\" pulumi-lang-java=\"`storageAccountKey`\"\u003e`storage_account_key`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`useManagedIdentity`\" pulumi-lang-dotnet=\"`UseManagedIdentity`\" pulumi-lang-go=\"`useManagedIdentity`\" pulumi-lang-python=\"`use_managed_identity`\" pulumi-lang-yaml=\"`useManagedIdentity`\" pulumi-lang-java=\"`useManagedIdentity`\"\u003e`use_managed_identity`\u003c/span\u003e.\n"},"servicePrincipalKey":{"type":"string","description":"The service principal key with which to authenticate against the Azure Data Lake Storage Gen2 account.\n"},"storageAccountKey":{"type":"string","description":"The Storage Account Key with which to authenticate against the Azure Data Lake Storage Gen2 account. Incompatible with \u003cspan pulumi-lang-nodejs=\"`servicePrincipalId`\" pulumi-lang-dotnet=\"`ServicePrincipalId`\" pulumi-lang-go=\"`servicePrincipalId`\" pulumi-lang-python=\"`service_principal_id`\" pulumi-lang-yaml=\"`servicePrincipalId`\" pulumi-lang-java=\"`servicePrincipalId`\"\u003e`service_principal_id`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`servicePrincipalKey`\" pulumi-lang-dotnet=\"`ServicePrincipalKey`\" pulumi-lang-go=\"`servicePrincipalKey`\" pulumi-lang-python=\"`service_principal_key`\" pulumi-lang-yaml=\"`servicePrincipalKey`\" pulumi-lang-java=\"`servicePrincipalKey`\"\u003e`service_principal_key`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`tenant`\" pulumi-lang-dotnet=\"`Tenant`\" pulumi-lang-go=\"`tenant`\" pulumi-lang-python=\"`tenant`\" pulumi-lang-yaml=\"`tenant`\" pulumi-lang-java=\"`tenant`\"\u003e`tenant`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`useManagedIdentity`\" pulumi-lang-dotnet=\"`UseManagedIdentity`\" pulumi-lang-go=\"`useManagedIdentity`\" pulumi-lang-python=\"`use_managed_identity`\" pulumi-lang-yaml=\"`useManagedIdentity`\" pulumi-lang-java=\"`useManagedIdentity`\"\u003e`use_managed_identity`\u003c/span\u003e.\n"},"tenant":{"type":"string","description":"The tenant id or name in which the service principal exists to authenticate against the Azure Data Lake Storage Gen2 account.\n\n\u003e **Note:** If \u003cspan pulumi-lang-nodejs=\"`servicePrincipalId`\" pulumi-lang-dotnet=\"`ServicePrincipalId`\" pulumi-lang-go=\"`servicePrincipalId`\" pulumi-lang-python=\"`service_principal_id`\" pulumi-lang-yaml=\"`servicePrincipalId`\" pulumi-lang-java=\"`servicePrincipalId`\"\u003e`service_principal_id`\u003c/span\u003e is used, \u003cspan pulumi-lang-nodejs=\"`servicePrincipalKey`\" pulumi-lang-dotnet=\"`ServicePrincipalKey`\" pulumi-lang-go=\"`servicePrincipalKey`\" pulumi-lang-python=\"`service_principal_key`\" pulumi-lang-yaml=\"`servicePrincipalKey`\" pulumi-lang-java=\"`servicePrincipalKey`\"\u003e`service_principal_key`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`tenant`\" pulumi-lang-dotnet=\"`Tenant`\" pulumi-lang-go=\"`tenant`\" pulumi-lang-python=\"`tenant`\" pulumi-lang-yaml=\"`tenant`\" pulumi-lang-java=\"`tenant`\"\u003e`tenant`\u003c/span\u003e are also required.\n"},"url":{"type":"string","description":"The endpoint for the Azure Data Lake Storage Gen2 service.\n\n\u003e **Note:** Users should specify only one of the following three authentication strategies: storage account key, managed identity, service principal.\n"},"useManagedIdentity":{"type":"boolean","description":"Whether to use the Data Factory's managed identity to authenticate against the Azure Data Lake Storage Gen2 account. Incompatible with \u003cspan pulumi-lang-nodejs=\"`servicePrincipalId`\" pulumi-lang-dotnet=\"`ServicePrincipalId`\" pulumi-lang-go=\"`servicePrincipalId`\" pulumi-lang-python=\"`service_principal_id`\" pulumi-lang-yaml=\"`servicePrincipalId`\" pulumi-lang-java=\"`servicePrincipalId`\"\u003e`service_principal_id`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`servicePrincipalKey`\" pulumi-lang-dotnet=\"`ServicePrincipalKey`\" pulumi-lang-go=\"`servicePrincipalKey`\" pulumi-lang-python=\"`service_principal_key`\" pulumi-lang-yaml=\"`servicePrincipalKey`\" pulumi-lang-java=\"`servicePrincipalKey`\"\u003e`service_principal_key`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`tenant`\" pulumi-lang-dotnet=\"`Tenant`\" pulumi-lang-go=\"`tenant`\" pulumi-lang-python=\"`tenant`\" pulumi-lang-yaml=\"`tenant`\" pulumi-lang-java=\"`tenant`\"\u003e`tenant`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`storageAccountKey`\" pulumi-lang-dotnet=\"`StorageAccountKey`\" pulumi-lang-go=\"`storageAccountKey`\" pulumi-lang-python=\"`storage_account_key`\" pulumi-lang-yaml=\"`storageAccountKey`\" pulumi-lang-java=\"`storageAccountKey`\"\u003e`storage_account_key`\u003c/span\u003e.\n"}},"required":["dataFactoryId","name","url"],"inputProperties":{"additionalProperties":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of additional properties to associate with the Data Factory Linked Service.\n\nThe following supported arguments are specific to Data Lake Storage Gen2 Linked Service:\n"},"annotations":{"type":"array","items":{"type":"string"},"description":"List of tags that can be used for describing the Data Factory Linked Service.\n"},"dataFactoryId":{"type":"string","description":"The Data Factory ID in which to associate the Linked Service with. Changing this forces a new resource.\n","willReplaceOnChanges":true},"description":{"type":"string","description":"The description for the Data Factory Linked Service.\n"},"integrationRuntimeName":{"type":"string","description":"The integration runtime reference to associate with the Data Factory Linked Service.\n"},"name":{"type":"string","description":"Specifies the name of the Data Factory Linked Service. Changing this forces a new resource to be created. Must be unique within a data factory. See the [Microsoft documentation](https://docs.microsoft.com/azure/data-factory/naming-rules) for all restrictions.\n","willReplaceOnChanges":true},"parameters":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of parameters to associate with the Data Factory Linked Service.\n"},"servicePrincipalId":{"type":"string","description":"The service principal id with which to authenticate against the Azure Data Lake Storage Gen2 account. Incompatible with \u003cspan pulumi-lang-nodejs=\"`storageAccountKey`\" pulumi-lang-dotnet=\"`StorageAccountKey`\" pulumi-lang-go=\"`storageAccountKey`\" pulumi-lang-python=\"`storage_account_key`\" pulumi-lang-yaml=\"`storageAccountKey`\" pulumi-lang-java=\"`storageAccountKey`\"\u003e`storage_account_key`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`useManagedIdentity`\" pulumi-lang-dotnet=\"`UseManagedIdentity`\" pulumi-lang-go=\"`useManagedIdentity`\" pulumi-lang-python=\"`use_managed_identity`\" pulumi-lang-yaml=\"`useManagedIdentity`\" pulumi-lang-java=\"`useManagedIdentity`\"\u003e`use_managed_identity`\u003c/span\u003e.\n"},"servicePrincipalKey":{"type":"string","description":"The service principal key with which to authenticate against the Azure Data Lake Storage Gen2 account.\n"},"storageAccountKey":{"type":"string","description":"The Storage Account Key with which to authenticate against the Azure Data Lake Storage Gen2 account. Incompatible with \u003cspan pulumi-lang-nodejs=\"`servicePrincipalId`\" pulumi-lang-dotnet=\"`ServicePrincipalId`\" pulumi-lang-go=\"`servicePrincipalId`\" pulumi-lang-python=\"`service_principal_id`\" pulumi-lang-yaml=\"`servicePrincipalId`\" pulumi-lang-java=\"`servicePrincipalId`\"\u003e`service_principal_id`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`servicePrincipalKey`\" pulumi-lang-dotnet=\"`ServicePrincipalKey`\" pulumi-lang-go=\"`servicePrincipalKey`\" pulumi-lang-python=\"`service_principal_key`\" pulumi-lang-yaml=\"`servicePrincipalKey`\" pulumi-lang-java=\"`servicePrincipalKey`\"\u003e`service_principal_key`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`tenant`\" pulumi-lang-dotnet=\"`Tenant`\" pulumi-lang-go=\"`tenant`\" pulumi-lang-python=\"`tenant`\" pulumi-lang-yaml=\"`tenant`\" pulumi-lang-java=\"`tenant`\"\u003e`tenant`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`useManagedIdentity`\" pulumi-lang-dotnet=\"`UseManagedIdentity`\" pulumi-lang-go=\"`useManagedIdentity`\" pulumi-lang-python=\"`use_managed_identity`\" pulumi-lang-yaml=\"`useManagedIdentity`\" pulumi-lang-java=\"`useManagedIdentity`\"\u003e`use_managed_identity`\u003c/span\u003e.\n"},"tenant":{"type":"string","description":"The tenant id or name in which the service principal exists to authenticate against the Azure Data Lake Storage Gen2 account.\n\n\u003e **Note:** If \u003cspan pulumi-lang-nodejs=\"`servicePrincipalId`\" pulumi-lang-dotnet=\"`ServicePrincipalId`\" pulumi-lang-go=\"`servicePrincipalId`\" pulumi-lang-python=\"`service_principal_id`\" pulumi-lang-yaml=\"`servicePrincipalId`\" pulumi-lang-java=\"`servicePrincipalId`\"\u003e`service_principal_id`\u003c/span\u003e is used, \u003cspan pulumi-lang-nodejs=\"`servicePrincipalKey`\" pulumi-lang-dotnet=\"`ServicePrincipalKey`\" pulumi-lang-go=\"`servicePrincipalKey`\" pulumi-lang-python=\"`service_principal_key`\" pulumi-lang-yaml=\"`servicePrincipalKey`\" pulumi-lang-java=\"`servicePrincipalKey`\"\u003e`service_principal_key`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`tenant`\" pulumi-lang-dotnet=\"`Tenant`\" pulumi-lang-go=\"`tenant`\" pulumi-lang-python=\"`tenant`\" pulumi-lang-yaml=\"`tenant`\" pulumi-lang-java=\"`tenant`\"\u003e`tenant`\u003c/span\u003e are also required.\n"},"url":{"type":"string","description":"The endpoint for the Azure Data Lake Storage Gen2 service.\n\n\u003e **Note:** Users should specify only one of the following three authentication strategies: storage account key, managed identity, service principal.\n"},"useManagedIdentity":{"type":"boolean","description":"Whether to use the Data Factory's managed identity to authenticate against the Azure Data Lake Storage Gen2 account. Incompatible with \u003cspan pulumi-lang-nodejs=\"`servicePrincipalId`\" pulumi-lang-dotnet=\"`ServicePrincipalId`\" pulumi-lang-go=\"`servicePrincipalId`\" pulumi-lang-python=\"`service_principal_id`\" pulumi-lang-yaml=\"`servicePrincipalId`\" pulumi-lang-java=\"`servicePrincipalId`\"\u003e`service_principal_id`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`servicePrincipalKey`\" pulumi-lang-dotnet=\"`ServicePrincipalKey`\" pulumi-lang-go=\"`servicePrincipalKey`\" pulumi-lang-python=\"`service_principal_key`\" pulumi-lang-yaml=\"`servicePrincipalKey`\" pulumi-lang-java=\"`servicePrincipalKey`\"\u003e`service_principal_key`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`tenant`\" pulumi-lang-dotnet=\"`Tenant`\" pulumi-lang-go=\"`tenant`\" pulumi-lang-python=\"`tenant`\" pulumi-lang-yaml=\"`tenant`\" pulumi-lang-java=\"`tenant`\"\u003e`tenant`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`storageAccountKey`\" pulumi-lang-dotnet=\"`StorageAccountKey`\" pulumi-lang-go=\"`storageAccountKey`\" pulumi-lang-python=\"`storage_account_key`\" pulumi-lang-yaml=\"`storageAccountKey`\" pulumi-lang-java=\"`storageAccountKey`\"\u003e`storage_account_key`\u003c/span\u003e.\n"}},"requiredInputs":["dataFactoryId","url"],"stateInputs":{"description":"Input properties used for looking up and filtering LinkedServiceDataLakeStorageGen2 resources.\n","properties":{"additionalProperties":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of additional properties to associate with the Data Factory Linked Service.\n\nThe following supported arguments are specific to Data Lake Storage Gen2 Linked Service:\n"},"annotations":{"type":"array","items":{"type":"string"},"description":"List of tags that can be used for describing the Data Factory Linked Service.\n"},"dataFactoryId":{"type":"string","description":"The Data Factory ID in which to associate the Linked Service with. Changing this forces a new resource.\n","willReplaceOnChanges":true},"description":{"type":"string","description":"The description for the Data Factory Linked Service.\n"},"integrationRuntimeName":{"type":"string","description":"The integration runtime reference to associate with the Data Factory Linked Service.\n"},"name":{"type":"string","description":"Specifies the name of the Data Factory Linked Service. Changing this forces a new resource to be created. Must be unique within a data factory. See the [Microsoft documentation](https://docs.microsoft.com/azure/data-factory/naming-rules) for all restrictions.\n","willReplaceOnChanges":true},"parameters":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of parameters to associate with the Data Factory Linked Service.\n"},"servicePrincipalId":{"type":"string","description":"The service principal id with which to authenticate against the Azure Data Lake Storage Gen2 account. Incompatible with \u003cspan pulumi-lang-nodejs=\"`storageAccountKey`\" pulumi-lang-dotnet=\"`StorageAccountKey`\" pulumi-lang-go=\"`storageAccountKey`\" pulumi-lang-python=\"`storage_account_key`\" pulumi-lang-yaml=\"`storageAccountKey`\" pulumi-lang-java=\"`storageAccountKey`\"\u003e`storage_account_key`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`useManagedIdentity`\" pulumi-lang-dotnet=\"`UseManagedIdentity`\" pulumi-lang-go=\"`useManagedIdentity`\" pulumi-lang-python=\"`use_managed_identity`\" pulumi-lang-yaml=\"`useManagedIdentity`\" pulumi-lang-java=\"`useManagedIdentity`\"\u003e`use_managed_identity`\u003c/span\u003e.\n"},"servicePrincipalKey":{"type":"string","description":"The service principal key with which to authenticate against the Azure Data Lake Storage Gen2 account.\n"},"storageAccountKey":{"type":"string","description":"The Storage Account Key with which to authenticate against the Azure Data Lake Storage Gen2 account. Incompatible with \u003cspan pulumi-lang-nodejs=\"`servicePrincipalId`\" pulumi-lang-dotnet=\"`ServicePrincipalId`\" pulumi-lang-go=\"`servicePrincipalId`\" pulumi-lang-python=\"`service_principal_id`\" pulumi-lang-yaml=\"`servicePrincipalId`\" pulumi-lang-java=\"`servicePrincipalId`\"\u003e`service_principal_id`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`servicePrincipalKey`\" pulumi-lang-dotnet=\"`ServicePrincipalKey`\" pulumi-lang-go=\"`servicePrincipalKey`\" pulumi-lang-python=\"`service_principal_key`\" pulumi-lang-yaml=\"`servicePrincipalKey`\" pulumi-lang-java=\"`servicePrincipalKey`\"\u003e`service_principal_key`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`tenant`\" pulumi-lang-dotnet=\"`Tenant`\" pulumi-lang-go=\"`tenant`\" pulumi-lang-python=\"`tenant`\" pulumi-lang-yaml=\"`tenant`\" pulumi-lang-java=\"`tenant`\"\u003e`tenant`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`useManagedIdentity`\" pulumi-lang-dotnet=\"`UseManagedIdentity`\" pulumi-lang-go=\"`useManagedIdentity`\" pulumi-lang-python=\"`use_managed_identity`\" pulumi-lang-yaml=\"`useManagedIdentity`\" pulumi-lang-java=\"`useManagedIdentity`\"\u003e`use_managed_identity`\u003c/span\u003e.\n"},"tenant":{"type":"string","description":"The tenant id or name in which the service principal exists to authenticate against the Azure Data Lake Storage Gen2 account.\n\n\u003e **Note:** If \u003cspan pulumi-lang-nodejs=\"`servicePrincipalId`\" pulumi-lang-dotnet=\"`ServicePrincipalId`\" pulumi-lang-go=\"`servicePrincipalId`\" pulumi-lang-python=\"`service_principal_id`\" pulumi-lang-yaml=\"`servicePrincipalId`\" pulumi-lang-java=\"`servicePrincipalId`\"\u003e`service_principal_id`\u003c/span\u003e is used, \u003cspan pulumi-lang-nodejs=\"`servicePrincipalKey`\" pulumi-lang-dotnet=\"`ServicePrincipalKey`\" pulumi-lang-go=\"`servicePrincipalKey`\" pulumi-lang-python=\"`service_principal_key`\" pulumi-lang-yaml=\"`servicePrincipalKey`\" pulumi-lang-java=\"`servicePrincipalKey`\"\u003e`service_principal_key`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`tenant`\" pulumi-lang-dotnet=\"`Tenant`\" pulumi-lang-go=\"`tenant`\" pulumi-lang-python=\"`tenant`\" pulumi-lang-yaml=\"`tenant`\" pulumi-lang-java=\"`tenant`\"\u003e`tenant`\u003c/span\u003e are also required.\n"},"url":{"type":"string","description":"The endpoint for the Azure Data Lake Storage Gen2 service.\n\n\u003e **Note:** Users should specify only one of the following three authentication strategies: storage account key, managed identity, service principal.\n"},"useManagedIdentity":{"type":"boolean","description":"Whether to use the Data Factory's managed identity to authenticate against the Azure Data Lake Storage Gen2 account. Incompatible with \u003cspan pulumi-lang-nodejs=\"`servicePrincipalId`\" pulumi-lang-dotnet=\"`ServicePrincipalId`\" pulumi-lang-go=\"`servicePrincipalId`\" pulumi-lang-python=\"`service_principal_id`\" pulumi-lang-yaml=\"`servicePrincipalId`\" pulumi-lang-java=\"`servicePrincipalId`\"\u003e`service_principal_id`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`servicePrincipalKey`\" pulumi-lang-dotnet=\"`ServicePrincipalKey`\" pulumi-lang-go=\"`servicePrincipalKey`\" pulumi-lang-python=\"`service_principal_key`\" pulumi-lang-yaml=\"`servicePrincipalKey`\" pulumi-lang-java=\"`servicePrincipalKey`\"\u003e`service_principal_key`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`tenant`\" pulumi-lang-dotnet=\"`Tenant`\" pulumi-lang-go=\"`tenant`\" pulumi-lang-python=\"`tenant`\" pulumi-lang-yaml=\"`tenant`\" pulumi-lang-java=\"`tenant`\"\u003e`tenant`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`storageAccountKey`\" pulumi-lang-dotnet=\"`StorageAccountKey`\" pulumi-lang-go=\"`storageAccountKey`\" pulumi-lang-python=\"`storage_account_key`\" pulumi-lang-yaml=\"`storageAccountKey`\" pulumi-lang-java=\"`storageAccountKey`\"\u003e`storage_account_key`\u003c/span\u003e.\n"}},"type":"object"}},"azure:datafactory/linkedServiceKeyVault:LinkedServiceKeyVault":{"description":"Manages a Linked Service (connection) between Key Vault and Azure Data Factory.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst current = azure.core.getClientConfig({});\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleKeyVault = new azure.keyvault.KeyVault(\"example\", {\n    name: \"example\",\n    location: example.location,\n    resourceGroupName: example.name,\n    tenantId: current.then(current =\u003e current.tenantId),\n    skuName: \"standard\",\n});\nconst exampleFactory = new azure.datafactory.Factory(\"example\", {\n    name: \"example\",\n    location: example.location,\n    resourceGroupName: example.name,\n});\nconst exampleLinkedServiceKeyVault = new azure.datafactory.LinkedServiceKeyVault(\"example\", {\n    name: \"example\",\n    dataFactoryId: exampleFactory.id,\n    keyVaultId: exampleKeyVault.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\ncurrent = azure.core.get_client_config()\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_key_vault = azure.keyvault.KeyVault(\"example\",\n    name=\"example\",\n    location=example.location,\n    resource_group_name=example.name,\n    tenant_id=current.tenant_id,\n    sku_name=\"standard\")\nexample_factory = azure.datafactory.Factory(\"example\",\n    name=\"example\",\n    location=example.location,\n    resource_group_name=example.name)\nexample_linked_service_key_vault = azure.datafactory.LinkedServiceKeyVault(\"example\",\n    name=\"example\",\n    data_factory_id=example_factory.id,\n    key_vault_id=example_key_vault.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var current = Azure.Core.GetClientConfig.Invoke();\n\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleKeyVault = new Azure.KeyVault.KeyVault(\"example\", new()\n    {\n        Name = \"example\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        TenantId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.TenantId),\n        SkuName = \"standard\",\n    });\n\n    var exampleFactory = new Azure.DataFactory.Factory(\"example\", new()\n    {\n        Name = \"example\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n    });\n\n    var exampleLinkedServiceKeyVault = new Azure.DataFactory.LinkedServiceKeyVault(\"example\", new()\n    {\n        Name = \"example\",\n        DataFactoryId = exampleFactory.Id,\n        KeyVaultId = exampleKeyVault.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/datafactory\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/keyvault\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := core.GetClientConfig(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleKeyVault, err := keyvault.NewKeyVault(ctx, \"example\", \u0026keyvault.KeyVaultArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tTenantId:          pulumi.String(current.TenantId),\n\t\t\tSkuName:           pulumi.String(\"standard\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleFactory, err := datafactory.NewFactory(ctx, \"example\", \u0026datafactory.FactoryArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = datafactory.NewLinkedServiceKeyVault(ctx, \"example\", \u0026datafactory.LinkedServiceKeyVaultArgs{\n\t\t\tName:          pulumi.String(\"example\"),\n\t\t\tDataFactoryId: exampleFactory.ID(),\n\t\t\tKeyVaultId:    exampleKeyVault.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.keyvault.KeyVault;\nimport com.pulumi.azure.keyvault.KeyVaultArgs;\nimport com.pulumi.azure.datafactory.Factory;\nimport com.pulumi.azure.datafactory.FactoryArgs;\nimport com.pulumi.azure.datafactory.LinkedServiceKeyVault;\nimport com.pulumi.azure.datafactory.LinkedServiceKeyVaultArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var current = CoreFunctions.getClientConfig(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleKeyVault = new KeyVault(\"exampleKeyVault\", KeyVaultArgs.builder()\n            .name(\"example\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .tenantId(current.tenantId())\n            .skuName(\"standard\")\n            .build());\n\n        var exampleFactory = new Factory(\"exampleFactory\", FactoryArgs.builder()\n            .name(\"example\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .build());\n\n        var exampleLinkedServiceKeyVault = new LinkedServiceKeyVault(\"exampleLinkedServiceKeyVault\", LinkedServiceKeyVaultArgs.builder()\n            .name(\"example\")\n            .dataFactoryId(exampleFactory.id())\n            .keyVaultId(exampleKeyVault.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleKeyVault:\n    type: azure:keyvault:KeyVault\n    name: example\n    properties:\n      name: example\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      tenantId: ${current.tenantId}\n      skuName: standard\n  exampleFactory:\n    type: azure:datafactory:Factory\n    name: example\n    properties:\n      name: example\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n  exampleLinkedServiceKeyVault:\n    type: azure:datafactory:LinkedServiceKeyVault\n    name: example\n    properties:\n      name: example\n      dataFactoryId: ${exampleFactory.id}\n      keyVaultId: ${exampleKeyVault.id}\nvariables:\n  current:\n    fn::invoke:\n      function: azure:core:getClientConfig\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nData Factory Key Vault Linked Service's can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:datafactory/linkedServiceKeyVault:LinkedServiceKeyVault example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/example/providers/Microsoft.DataFactory/factories/example/linkedservices/example\n```\n\n","properties":{"additionalProperties":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of additional properties to associate with the Data Factory Linked Service Key Vault.\n"},"annotations":{"type":"array","items":{"type":"string"},"description":"List of tags that can be used for describing the Data Factory Linked Service Key Vault.\n"},"dataFactoryId":{"type":"string","description":"The Data Factory ID in which to associate the Linked Service with. Changing this forces a new resource.\n"},"description":{"type":"string","description":"The description for the Data Factory Linked Service Key Vault.\n"},"integrationRuntimeName":{"type":"string","description":"The integration runtime reference to associate with the Data Factory Linked Service Key Vault.\n"},"keyVaultId":{"type":"string","description":"The ID the Azure Key Vault resource.\n"},"name":{"type":"string","description":"Specifies the name of the Data Factory Linked Service Key Vault. Changing this forces a new resource to be created. Must be unique within a data factory. See the [Microsoft documentation](https://docs.microsoft.com/azure/data-factory/naming-rules) for all restrictions.\n"},"parameters":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of parameters to associate with the Data Factory Linked Service Key Vault.\n"}},"required":["dataFactoryId","keyVaultId","name"],"inputProperties":{"additionalProperties":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of additional properties to associate with the Data Factory Linked Service Key Vault.\n"},"annotations":{"type":"array","items":{"type":"string"},"description":"List of tags that can be used for describing the Data Factory Linked Service Key Vault.\n"},"dataFactoryId":{"type":"string","description":"The Data Factory ID in which to associate the Linked Service with. Changing this forces a new resource.\n","willReplaceOnChanges":true},"description":{"type":"string","description":"The description for the Data Factory Linked Service Key Vault.\n"},"integrationRuntimeName":{"type":"string","description":"The integration runtime reference to associate with the Data Factory Linked Service Key Vault.\n"},"keyVaultId":{"type":"string","description":"The ID the Azure Key Vault resource.\n"},"name":{"type":"string","description":"Specifies the name of the Data Factory Linked Service Key Vault. Changing this forces a new resource to be created. Must be unique within a data factory. See the [Microsoft documentation](https://docs.microsoft.com/azure/data-factory/naming-rules) for all restrictions.\n","willReplaceOnChanges":true},"parameters":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of parameters to associate with the Data Factory Linked Service Key Vault.\n"}},"requiredInputs":["dataFactoryId","keyVaultId"],"stateInputs":{"description":"Input properties used for looking up and filtering LinkedServiceKeyVault resources.\n","properties":{"additionalProperties":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of additional properties to associate with the Data Factory Linked Service Key Vault.\n"},"annotations":{"type":"array","items":{"type":"string"},"description":"List of tags that can be used for describing the Data Factory Linked Service Key Vault.\n"},"dataFactoryId":{"type":"string","description":"The Data Factory ID in which to associate the Linked Service with. Changing this forces a new resource.\n","willReplaceOnChanges":true},"description":{"type":"string","description":"The description for the Data Factory Linked Service Key Vault.\n"},"integrationRuntimeName":{"type":"string","description":"The integration runtime reference to associate with the Data Factory Linked Service Key Vault.\n"},"keyVaultId":{"type":"string","description":"The ID the Azure Key Vault resource.\n"},"name":{"type":"string","description":"Specifies the name of the Data Factory Linked Service Key Vault. Changing this forces a new resource to be created. Must be unique within a data factory. See the [Microsoft documentation](https://docs.microsoft.com/azure/data-factory/naming-rules) for all restrictions.\n","willReplaceOnChanges":true},"parameters":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of parameters to associate with the Data Factory Linked Service Key Vault.\n"}},"type":"object"}},"azure:datafactory/linkedServiceKusto:LinkedServiceKusto":{"description":"Manages a Linked Service (connection) between a Kusto Cluster and Azure Data Factory.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleFactory = new azure.datafactory.Factory(\"example\", {\n    name: \"example\",\n    location: example.location,\n    resourceGroupName: example.name,\n    identity: {\n        type: \"SystemAssigned\",\n    },\n});\nconst exampleCluster = new azure.kusto.Cluster(\"example\", {\n    name: \"kustocluster\",\n    location: example.location,\n    resourceGroupName: example.name,\n    sku: {\n        name: \"Standard_D13_v2\",\n        capacity: 2,\n    },\n});\nconst exampleDatabase = new azure.kusto.Database(\"example\", {\n    name: \"my-kusto-database\",\n    resourceGroupName: example.name,\n    location: example.location,\n    clusterName: exampleCluster.name,\n});\nconst exampleLinkedServiceKusto = new azure.datafactory.LinkedServiceKusto(\"example\", {\n    name: \"example\",\n    dataFactoryId: exampleFactory.id,\n    kustoEndpoint: exampleCluster.uri,\n    kustoDatabaseName: exampleDatabase.name,\n    useManagedIdentity: true,\n});\nconst exampleDatabasePrincipalAssignment = new azure.kusto.DatabasePrincipalAssignment(\"example\", {\n    name: \"KustoPrincipalAssignment\",\n    resourceGroupName: example.name,\n    clusterName: exampleCluster.name,\n    databaseName: exampleDatabase.name,\n    tenantId: exampleFactory.identity.apply(identity =\u003e identity?.tenantId),\n    principalId: exampleFactory.identity.apply(identity =\u003e identity?.principalId),\n    principalType: \"App\",\n    role: \"Viewer\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_factory = azure.datafactory.Factory(\"example\",\n    name=\"example\",\n    location=example.location,\n    resource_group_name=example.name,\n    identity={\n        \"type\": \"SystemAssigned\",\n    })\nexample_cluster = azure.kusto.Cluster(\"example\",\n    name=\"kustocluster\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku={\n        \"name\": \"Standard_D13_v2\",\n        \"capacity\": 2,\n    })\nexample_database = azure.kusto.Database(\"example\",\n    name=\"my-kusto-database\",\n    resource_group_name=example.name,\n    location=example.location,\n    cluster_name=example_cluster.name)\nexample_linked_service_kusto = azure.datafactory.LinkedServiceKusto(\"example\",\n    name=\"example\",\n    data_factory_id=example_factory.id,\n    kusto_endpoint=example_cluster.uri,\n    kusto_database_name=example_database.name,\n    use_managed_identity=True)\nexample_database_principal_assignment = azure.kusto.DatabasePrincipalAssignment(\"example\",\n    name=\"KustoPrincipalAssignment\",\n    resource_group_name=example.name,\n    cluster_name=example_cluster.name,\n    database_name=example_database.name,\n    tenant_id=example_factory.identity.tenant_id,\n    principal_id=example_factory.identity.principal_id,\n    principal_type=\"App\",\n    role=\"Viewer\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleFactory = new Azure.DataFactory.Factory(\"example\", new()\n    {\n        Name = \"example\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Identity = new Azure.DataFactory.Inputs.FactoryIdentityArgs\n        {\n            Type = \"SystemAssigned\",\n        },\n    });\n\n    var exampleCluster = new Azure.Kusto.Cluster(\"example\", new()\n    {\n        Name = \"kustocluster\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Sku = new Azure.Kusto.Inputs.ClusterSkuArgs\n        {\n            Name = \"Standard_D13_v2\",\n            Capacity = 2,\n        },\n    });\n\n    var exampleDatabase = new Azure.Kusto.Database(\"example\", new()\n    {\n        Name = \"my-kusto-database\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        ClusterName = exampleCluster.Name,\n    });\n\n    var exampleLinkedServiceKusto = new Azure.DataFactory.LinkedServiceKusto(\"example\", new()\n    {\n        Name = \"example\",\n        DataFactoryId = exampleFactory.Id,\n        KustoEndpoint = exampleCluster.Uri,\n        KustoDatabaseName = exampleDatabase.Name,\n        UseManagedIdentity = true,\n    });\n\n    var exampleDatabasePrincipalAssignment = new Azure.Kusto.DatabasePrincipalAssignment(\"example\", new()\n    {\n        Name = \"KustoPrincipalAssignment\",\n        ResourceGroupName = example.Name,\n        ClusterName = exampleCluster.Name,\n        DatabaseName = exampleDatabase.Name,\n        TenantId = exampleFactory.Identity.Apply(identity =\u003e identity?.TenantId),\n        PrincipalId = exampleFactory.Identity.Apply(identity =\u003e identity?.PrincipalId),\n        PrincipalType = \"App\",\n        Role = \"Viewer\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/datafactory\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/kusto\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleFactory, err := datafactory.NewFactory(ctx, \"example\", \u0026datafactory.FactoryArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tIdentity: \u0026datafactory.FactoryIdentityArgs{\n\t\t\t\tType: pulumi.String(\"SystemAssigned\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleCluster, err := kusto.NewCluster(ctx, \"example\", \u0026kusto.ClusterArgs{\n\t\t\tName:              pulumi.String(\"kustocluster\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSku: \u0026kusto.ClusterSkuArgs{\n\t\t\t\tName:     pulumi.String(\"Standard_D13_v2\"),\n\t\t\t\tCapacity: pulumi.Int(2),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleDatabase, err := kusto.NewDatabase(ctx, \"example\", \u0026kusto.DatabaseArgs{\n\t\t\tName:              pulumi.String(\"my-kusto-database\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tClusterName:       exampleCluster.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = datafactory.NewLinkedServiceKusto(ctx, \"example\", \u0026datafactory.LinkedServiceKustoArgs{\n\t\t\tName:               pulumi.String(\"example\"),\n\t\t\tDataFactoryId:      exampleFactory.ID(),\n\t\t\tKustoEndpoint:      exampleCluster.Uri,\n\t\t\tKustoDatabaseName:  exampleDatabase.Name,\n\t\t\tUseManagedIdentity: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = kusto.NewDatabasePrincipalAssignment(ctx, \"example\", \u0026kusto.DatabasePrincipalAssignmentArgs{\n\t\t\tName:              pulumi.String(\"KustoPrincipalAssignment\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tClusterName:       exampleCluster.Name,\n\t\t\tDatabaseName:      exampleDatabase.Name,\n\t\t\tTenantId: pulumi.String(exampleFactory.Identity.ApplyT(func(identity datafactory.FactoryIdentity) (*string, error) {\n\t\t\t\treturn \u0026identity.TenantId, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tPrincipalId: pulumi.String(exampleFactory.Identity.ApplyT(func(identity datafactory.FactoryIdentity) (*string, error) {\n\t\t\t\treturn \u0026identity.PrincipalId, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tPrincipalType: pulumi.String(\"App\"),\n\t\t\tRole:          pulumi.String(\"Viewer\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.datafactory.Factory;\nimport com.pulumi.azure.datafactory.FactoryArgs;\nimport com.pulumi.azure.datafactory.inputs.FactoryIdentityArgs;\nimport com.pulumi.azure.kusto.Cluster;\nimport com.pulumi.azure.kusto.ClusterArgs;\nimport com.pulumi.azure.kusto.inputs.ClusterSkuArgs;\nimport com.pulumi.azure.kusto.Database;\nimport com.pulumi.azure.kusto.DatabaseArgs;\nimport com.pulumi.azure.datafactory.LinkedServiceKusto;\nimport com.pulumi.azure.datafactory.LinkedServiceKustoArgs;\nimport com.pulumi.azure.kusto.DatabasePrincipalAssignment;\nimport com.pulumi.azure.kusto.DatabasePrincipalAssignmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleFactory = new Factory(\"exampleFactory\", FactoryArgs.builder()\n            .name(\"example\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .identity(FactoryIdentityArgs.builder()\n                .type(\"SystemAssigned\")\n                .build())\n            .build());\n\n        var exampleCluster = new Cluster(\"exampleCluster\", ClusterArgs.builder()\n            .name(\"kustocluster\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .sku(ClusterSkuArgs.builder()\n                .name(\"Standard_D13_v2\")\n                .capacity(2)\n                .build())\n            .build());\n\n        var exampleDatabase = new Database(\"exampleDatabase\", DatabaseArgs.builder()\n            .name(\"my-kusto-database\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .clusterName(exampleCluster.name())\n            .build());\n\n        var exampleLinkedServiceKusto = new LinkedServiceKusto(\"exampleLinkedServiceKusto\", LinkedServiceKustoArgs.builder()\n            .name(\"example\")\n            .dataFactoryId(exampleFactory.id())\n            .kustoEndpoint(exampleCluster.uri())\n            .kustoDatabaseName(exampleDatabase.name())\n            .useManagedIdentity(true)\n            .build());\n\n        var exampleDatabasePrincipalAssignment = new DatabasePrincipalAssignment(\"exampleDatabasePrincipalAssignment\", DatabasePrincipalAssignmentArgs.builder()\n            .name(\"KustoPrincipalAssignment\")\n            .resourceGroupName(example.name())\n            .clusterName(exampleCluster.name())\n            .databaseName(exampleDatabase.name())\n            .tenantId(exampleFactory.identity().applyValue(_identity -\u003e _identity.tenantId()))\n            .principalId(exampleFactory.identity().applyValue(_identity -\u003e _identity.principalId()))\n            .principalType(\"App\")\n            .role(\"Viewer\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleFactory:\n    type: azure:datafactory:Factory\n    name: example\n    properties:\n      name: example\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      identity:\n        type: SystemAssigned\n  exampleCluster:\n    type: azure:kusto:Cluster\n    name: example\n    properties:\n      name: kustocluster\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      sku:\n        name: Standard_D13_v2\n        capacity: 2\n  exampleDatabase:\n    type: azure:kusto:Database\n    name: example\n    properties:\n      name: my-kusto-database\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      clusterName: ${exampleCluster.name}\n  exampleLinkedServiceKusto:\n    type: azure:datafactory:LinkedServiceKusto\n    name: example\n    properties:\n      name: example\n      dataFactoryId: ${exampleFactory.id}\n      kustoEndpoint: ${exampleCluster.uri}\n      kustoDatabaseName: ${exampleDatabase.name}\n      useManagedIdentity: true\n  exampleDatabasePrincipalAssignment:\n    type: azure:kusto:DatabasePrincipalAssignment\n    name: example\n    properties:\n      name: KustoPrincipalAssignment\n      resourceGroupName: ${example.name}\n      clusterName: ${exampleCluster.name}\n      databaseName: ${exampleDatabase.name}\n      tenantId: ${exampleFactory.identity.tenantId}\n      principalId: ${exampleFactory.identity.principalId}\n      principalType: App\n      role: Viewer\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nData Factory Linked Service's can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:datafactory/linkedServiceKusto:LinkedServiceKusto example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/example/providers/Microsoft.DataFactory/factories/example/linkedservices/example\n```\n\n","properties":{"additionalProperties":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of additional properties to associate with the Data Factory Linked Service.\n\nThe following supported arguments are specific to Azure Kusto Linked Service:\n"},"annotations":{"type":"array","items":{"type":"string"},"description":"List of tags that can be used for describing the Data Factory Linked Service.\n"},"dataFactoryId":{"type":"string","description":"The Data Factory ID in which to associate the Linked Service with. Changing this forces a new resource.\n"},"description":{"type":"string","description":"The description for the Data Factory Linked Service.\n"},"integrationRuntimeName":{"type":"string","description":"The integration runtime reference to associate with the Data Factory Linked Service.\n"},"kustoDatabaseName":{"type":"string","description":"The Kusto Database Name.\n"},"kustoEndpoint":{"type":"string","description":"The URI of the Kusto Cluster endpoint.\n"},"name":{"type":"string","description":"Specifies the name of the Data Factory Linked Service. Changing this forces a new resource to be created. Must be unique within a data factory. See the [Microsoft documentation](https://docs.microsoft.com/azure/data-factory/naming-rules) for all restrictions.\n"},"parameters":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of parameters to associate with the Data Factory Linked Service.\n"},"servicePrincipalId":{"type":"string","description":"The service principal id in which to authenticate against the Kusto Database.\n"},"servicePrincipalKey":{"type":"string","description":"The service principal key in which to authenticate against the Kusto Database.\n","secret":true},"tenant":{"type":"string","description":"The service principal tenant id or name in which to authenticate against the Kusto Database.\n\n\u003e **Note:** If \u003cspan pulumi-lang-nodejs=\"`servicePrincipalId`\" pulumi-lang-dotnet=\"`ServicePrincipalId`\" pulumi-lang-go=\"`servicePrincipalId`\" pulumi-lang-python=\"`service_principal_id`\" pulumi-lang-yaml=\"`servicePrincipalId`\" pulumi-lang-java=\"`servicePrincipalId`\"\u003e`service_principal_id`\u003c/span\u003e is used, \u003cspan pulumi-lang-nodejs=\"`servicePrincipalKey`\" pulumi-lang-dotnet=\"`ServicePrincipalKey`\" pulumi-lang-go=\"`servicePrincipalKey`\" pulumi-lang-python=\"`service_principal_key`\" pulumi-lang-yaml=\"`servicePrincipalKey`\" pulumi-lang-java=\"`servicePrincipalKey`\"\u003e`service_principal_key`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`tenant`\" pulumi-lang-dotnet=\"`Tenant`\" pulumi-lang-go=\"`tenant`\" pulumi-lang-python=\"`tenant`\" pulumi-lang-yaml=\"`tenant`\" pulumi-lang-java=\"`tenant`\"\u003e`tenant`\u003c/span\u003e is also required.\n\n\u003e **Note:** One of Managed Identity authentication and Service Principal authentication must be set.\n"},"useManagedIdentity":{"type":"boolean","description":"Whether to use the Data Factory's managed identity to authenticate against the Kusto Database.\n"}},"required":["dataFactoryId","kustoDatabaseName","kustoEndpoint","name"],"inputProperties":{"additionalProperties":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of additional properties to associate with the Data Factory Linked Service.\n\nThe following supported arguments are specific to Azure Kusto Linked Service:\n"},"annotations":{"type":"array","items":{"type":"string"},"description":"List of tags that can be used for describing the Data Factory Linked Service.\n"},"dataFactoryId":{"type":"string","description":"The Data Factory ID in which to associate the Linked Service with. Changing this forces a new resource.\n","willReplaceOnChanges":true},"description":{"type":"string","description":"The description for the Data Factory Linked Service.\n"},"integrationRuntimeName":{"type":"string","description":"The integration runtime reference to associate with the Data Factory Linked Service.\n"},"kustoDatabaseName":{"type":"string","description":"The Kusto Database Name.\n"},"kustoEndpoint":{"type":"string","description":"The URI of the Kusto Cluster endpoint.\n"},"name":{"type":"string","description":"Specifies the name of the Data Factory Linked Service. Changing this forces a new resource to be created. Must be unique within a data factory. See the [Microsoft documentation](https://docs.microsoft.com/azure/data-factory/naming-rules) for all restrictions.\n","willReplaceOnChanges":true},"parameters":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of parameters to associate with the Data Factory Linked Service.\n"},"servicePrincipalId":{"type":"string","description":"The service principal id in which to authenticate against the Kusto Database.\n"},"servicePrincipalKey":{"type":"string","description":"The service principal key in which to authenticate against the Kusto Database.\n","secret":true},"tenant":{"type":"string","description":"The service principal tenant id or name in which to authenticate against the Kusto Database.\n\n\u003e **Note:** If \u003cspan pulumi-lang-nodejs=\"`servicePrincipalId`\" pulumi-lang-dotnet=\"`ServicePrincipalId`\" pulumi-lang-go=\"`servicePrincipalId`\" pulumi-lang-python=\"`service_principal_id`\" pulumi-lang-yaml=\"`servicePrincipalId`\" pulumi-lang-java=\"`servicePrincipalId`\"\u003e`service_principal_id`\u003c/span\u003e is used, \u003cspan pulumi-lang-nodejs=\"`servicePrincipalKey`\" pulumi-lang-dotnet=\"`ServicePrincipalKey`\" pulumi-lang-go=\"`servicePrincipalKey`\" pulumi-lang-python=\"`service_principal_key`\" pulumi-lang-yaml=\"`servicePrincipalKey`\" pulumi-lang-java=\"`servicePrincipalKey`\"\u003e`service_principal_key`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`tenant`\" pulumi-lang-dotnet=\"`Tenant`\" pulumi-lang-go=\"`tenant`\" pulumi-lang-python=\"`tenant`\" pulumi-lang-yaml=\"`tenant`\" pulumi-lang-java=\"`tenant`\"\u003e`tenant`\u003c/span\u003e is also required.\n\n\u003e **Note:** One of Managed Identity authentication and Service Principal authentication must be set.\n"},"useManagedIdentity":{"type":"boolean","description":"Whether to use the Data Factory's managed identity to authenticate against the Kusto Database.\n"}},"requiredInputs":["dataFactoryId","kustoDatabaseName","kustoEndpoint"],"stateInputs":{"description":"Input properties used for looking up and filtering LinkedServiceKusto resources.\n","properties":{"additionalProperties":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of additional properties to associate with the Data Factory Linked Service.\n\nThe following supported arguments are specific to Azure Kusto Linked Service:\n"},"annotations":{"type":"array","items":{"type":"string"},"description":"List of tags that can be used for describing the Data Factory Linked Service.\n"},"dataFactoryId":{"type":"string","description":"The Data Factory ID in which to associate the Linked Service with. Changing this forces a new resource.\n","willReplaceOnChanges":true},"description":{"type":"string","description":"The description for the Data Factory Linked Service.\n"},"integrationRuntimeName":{"type":"string","description":"The integration runtime reference to associate with the Data Factory Linked Service.\n"},"kustoDatabaseName":{"type":"string","description":"The Kusto Database Name.\n"},"kustoEndpoint":{"type":"string","description":"The URI of the Kusto Cluster endpoint.\n"},"name":{"type":"string","description":"Specifies the name of the Data Factory Linked Service. Changing this forces a new resource to be created. Must be unique within a data factory. See the [Microsoft documentation](https://docs.microsoft.com/azure/data-factory/naming-rules) for all restrictions.\n","willReplaceOnChanges":true},"parameters":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of parameters to associate with the Data Factory Linked Service.\n"},"servicePrincipalId":{"type":"string","description":"The service principal id in which to authenticate against the Kusto Database.\n"},"servicePrincipalKey":{"type":"string","description":"The service principal key in which to authenticate against the Kusto Database.\n","secret":true},"tenant":{"type":"string","description":"The service principal tenant id or name in which to authenticate against the Kusto Database.\n\n\u003e **Note:** If \u003cspan pulumi-lang-nodejs=\"`servicePrincipalId`\" pulumi-lang-dotnet=\"`ServicePrincipalId`\" pulumi-lang-go=\"`servicePrincipalId`\" pulumi-lang-python=\"`service_principal_id`\" pulumi-lang-yaml=\"`servicePrincipalId`\" pulumi-lang-java=\"`servicePrincipalId`\"\u003e`service_principal_id`\u003c/span\u003e is used, \u003cspan pulumi-lang-nodejs=\"`servicePrincipalKey`\" pulumi-lang-dotnet=\"`ServicePrincipalKey`\" pulumi-lang-go=\"`servicePrincipalKey`\" pulumi-lang-python=\"`service_principal_key`\" pulumi-lang-yaml=\"`servicePrincipalKey`\" pulumi-lang-java=\"`servicePrincipalKey`\"\u003e`service_principal_key`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`tenant`\" pulumi-lang-dotnet=\"`Tenant`\" pulumi-lang-go=\"`tenant`\" pulumi-lang-python=\"`tenant`\" pulumi-lang-yaml=\"`tenant`\" pulumi-lang-java=\"`tenant`\"\u003e`tenant`\u003c/span\u003e is also required.\n\n\u003e **Note:** One of Managed Identity authentication and Service Principal authentication must be set.\n"},"useManagedIdentity":{"type":"boolean","description":"Whether to use the Data Factory's managed identity to authenticate against the Kusto Database.\n"}},"type":"object"}},"azure:datafactory/linkedServiceMysql:LinkedServiceMysql":{"description":"Manages a Linked Service (connection) between MySQL and Azure Data Factory.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleFactory = new azure.datafactory.Factory(\"example\", {\n    name: \"example\",\n    location: example.location,\n    resourceGroupName: example.name,\n});\nconst exampleLinkedServiceMysql = new azure.datafactory.LinkedServiceMysql(\"example\", {\n    name: \"example\",\n    dataFactoryId: exampleFactory.id,\n    connectionString: \"Server=test;Port=3306;Database=test;User=test;SSLMode=1;UseSystemTrustStore=0;Password=test\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_factory = azure.datafactory.Factory(\"example\",\n    name=\"example\",\n    location=example.location,\n    resource_group_name=example.name)\nexample_linked_service_mysql = azure.datafactory.LinkedServiceMysql(\"example\",\n    name=\"example\",\n    data_factory_id=example_factory.id,\n    connection_string=\"Server=test;Port=3306;Database=test;User=test;SSLMode=1;UseSystemTrustStore=0;Password=test\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleFactory = new Azure.DataFactory.Factory(\"example\", new()\n    {\n        Name = \"example\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n    });\n\n    var exampleLinkedServiceMysql = new Azure.DataFactory.LinkedServiceMysql(\"example\", new()\n    {\n        Name = \"example\",\n        DataFactoryId = exampleFactory.Id,\n        ConnectionString = \"Server=test;Port=3306;Database=test;User=test;SSLMode=1;UseSystemTrustStore=0;Password=test\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/datafactory\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleFactory, err := datafactory.NewFactory(ctx, \"example\", \u0026datafactory.FactoryArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = datafactory.NewLinkedServiceMysql(ctx, \"example\", \u0026datafactory.LinkedServiceMysqlArgs{\n\t\t\tName:             pulumi.String(\"example\"),\n\t\t\tDataFactoryId:    exampleFactory.ID(),\n\t\t\tConnectionString: pulumi.String(\"Server=test;Port=3306;Database=test;User=test;SSLMode=1;UseSystemTrustStore=0;Password=test\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.datafactory.Factory;\nimport com.pulumi.azure.datafactory.FactoryArgs;\nimport com.pulumi.azure.datafactory.LinkedServiceMysql;\nimport com.pulumi.azure.datafactory.LinkedServiceMysqlArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleFactory = new Factory(\"exampleFactory\", FactoryArgs.builder()\n            .name(\"example\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .build());\n\n        var exampleLinkedServiceMysql = new LinkedServiceMysql(\"exampleLinkedServiceMysql\", LinkedServiceMysqlArgs.builder()\n            .name(\"example\")\n            .dataFactoryId(exampleFactory.id())\n            .connectionString(\"Server=test;Port=3306;Database=test;User=test;SSLMode=1;UseSystemTrustStore=0;Password=test\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleFactory:\n    type: azure:datafactory:Factory\n    name: example\n    properties:\n      name: example\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n  exampleLinkedServiceMysql:\n    type: azure:datafactory:LinkedServiceMysql\n    name: example\n    properties:\n      name: example\n      dataFactoryId: ${exampleFactory.id}\n      connectionString: Server=test;Port=3306;Database=test;User=test;SSLMode=1;UseSystemTrustStore=0;Password=test\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nData Factory MySQL Linked Service's can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:datafactory/linkedServiceMysql:LinkedServiceMysql example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/example/providers/Microsoft.DataFactory/factories/example/linkedservices/example\n```\n\n","properties":{"additionalProperties":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of additional properties to associate with the Data Factory Linked Service MySQL.\n"},"annotations":{"type":"array","items":{"type":"string"},"description":"List of tags that can be used for describing the Data Factory Linked Service MySQL.\n"},"connectionString":{"type":"string","description":"The connection string in which to authenticate with MySQL.\n"},"dataFactoryId":{"type":"string","description":"The Data Factory ID in which to associate the Linked Service with. Changing this forces a new resource.\n"},"description":{"type":"string","description":"The description for the Data Factory Linked Service MySQL.\n"},"integrationRuntimeName":{"type":"string","description":"The integration runtime reference to associate with the Data Factory Linked Service MySQL.\n"},"name":{"type":"string","description":"Specifies the name of the Data Factory Linked Service MySQL. Changing this forces a new resource to be created. Must be unique within a data factory. See the [Microsoft documentation](https://docs.microsoft.com/azure/data-factory/naming-rules) for all restrictions.\n"},"parameters":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of parameters to associate with the Data Factory Linked Service MySQL.\n"}},"required":["connectionString","dataFactoryId","name"],"inputProperties":{"additionalProperties":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of additional properties to associate with the Data Factory Linked Service MySQL.\n"},"annotations":{"type":"array","items":{"type":"string"},"description":"List of tags that can be used for describing the Data Factory Linked Service MySQL.\n"},"connectionString":{"type":"string","description":"The connection string in which to authenticate with MySQL.\n"},"dataFactoryId":{"type":"string","description":"The Data Factory ID in which to associate the Linked Service with. Changing this forces a new resource.\n","willReplaceOnChanges":true},"description":{"type":"string","description":"The description for the Data Factory Linked Service MySQL.\n"},"integrationRuntimeName":{"type":"string","description":"The integration runtime reference to associate with the Data Factory Linked Service MySQL.\n"},"name":{"type":"string","description":"Specifies the name of the Data Factory Linked Service MySQL. Changing this forces a new resource to be created. Must be unique within a data factory. See the [Microsoft documentation](https://docs.microsoft.com/azure/data-factory/naming-rules) for all restrictions.\n","willReplaceOnChanges":true},"parameters":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of parameters to associate with the Data Factory Linked Service MySQL.\n"}},"requiredInputs":["connectionString","dataFactoryId"],"stateInputs":{"description":"Input properties used for looking up and filtering LinkedServiceMysql resources.\n","properties":{"additionalProperties":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of additional properties to associate with the Data Factory Linked Service MySQL.\n"},"annotations":{"type":"array","items":{"type":"string"},"description":"List of tags that can be used for describing the Data Factory Linked Service MySQL.\n"},"connectionString":{"type":"string","description":"The connection string in which to authenticate with MySQL.\n"},"dataFactoryId":{"type":"string","description":"The Data Factory ID in which to associate the Linked Service with. Changing this forces a new resource.\n","willReplaceOnChanges":true},"description":{"type":"string","description":"The description for the Data Factory Linked Service MySQL.\n"},"integrationRuntimeName":{"type":"string","description":"The integration runtime reference to associate with the Data Factory Linked Service MySQL.\n"},"name":{"type":"string","description":"Specifies the name of the Data Factory Linked Service MySQL. Changing this forces a new resource to be created. Must be unique within a data factory. See the [Microsoft documentation](https://docs.microsoft.com/azure/data-factory/naming-rules) for all restrictions.\n","willReplaceOnChanges":true},"parameters":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of parameters to associate with the Data Factory Linked Service MySQL.\n"}},"type":"object"}},"azure:datafactory/linkedServiceOdata:LinkedServiceOdata":{"description":"Manages a Linked Service (connection) between a Database and Azure Data Factory through OData protocol.\n\n\u003e **Note:** All arguments including the\u003cspan pulumi-lang-nodejs=\" connectionString \" pulumi-lang-dotnet=\" ConnectionString \" pulumi-lang-go=\" connectionString \" pulumi-lang-python=\" connection_string \" pulumi-lang-yaml=\" connectionString \" pulumi-lang-java=\" connectionString \"\u003e connection_string \u003c/span\u003ewill be stored in the raw state as plain-text. [Read more about sensitive data in state](https://www.terraform.io/docs/state/sensitive-data.html).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleFactory = new azure.datafactory.Factory(\"example\", {\n    name: \"example\",\n    location: example.location,\n    resourceGroupName: example.name,\n});\nconst anonymous = new azure.datafactory.LinkedServiceOdata(\"anonymous\", {\n    name: \"anonymous\",\n    dataFactoryId: exampleFactory.id,\n    url: \"https://services.odata.org/v4/TripPinServiceRW/People\",\n});\nconst basicAuth = new azure.datafactory.LinkedServiceOdata(\"basic_auth\", {\n    name: \"basic_auth\",\n    dataFactoryId: exampleFactory.id,\n    url: \"https://services.odata.org/v4/TripPinServiceRW/People\",\n    basicAuthentication: {\n        username: \"emma\",\n        password: \"Ch4ngeM3!\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_factory = azure.datafactory.Factory(\"example\",\n    name=\"example\",\n    location=example.location,\n    resource_group_name=example.name)\nanonymous = azure.datafactory.LinkedServiceOdata(\"anonymous\",\n    name=\"anonymous\",\n    data_factory_id=example_factory.id,\n    url=\"https://services.odata.org/v4/TripPinServiceRW/People\")\nbasic_auth = azure.datafactory.LinkedServiceOdata(\"basic_auth\",\n    name=\"basic_auth\",\n    data_factory_id=example_factory.id,\n    url=\"https://services.odata.org/v4/TripPinServiceRW/People\",\n    basic_authentication={\n        \"username\": \"emma\",\n        \"password\": \"Ch4ngeM3!\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleFactory = new Azure.DataFactory.Factory(\"example\", new()\n    {\n        Name = \"example\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n    });\n\n    var anonymous = new Azure.DataFactory.LinkedServiceOdata(\"anonymous\", new()\n    {\n        Name = \"anonymous\",\n        DataFactoryId = exampleFactory.Id,\n        Url = \"https://services.odata.org/v4/TripPinServiceRW/People\",\n    });\n\n    var basicAuth = new Azure.DataFactory.LinkedServiceOdata(\"basic_auth\", new()\n    {\n        Name = \"basic_auth\",\n        DataFactoryId = exampleFactory.Id,\n        Url = \"https://services.odata.org/v4/TripPinServiceRW/People\",\n        BasicAuthentication = new Azure.DataFactory.Inputs.LinkedServiceOdataBasicAuthenticationArgs\n        {\n            Username = \"emma\",\n            Password = \"Ch4ngeM3!\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/datafactory\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleFactory, err := datafactory.NewFactory(ctx, \"example\", \u0026datafactory.FactoryArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = datafactory.NewLinkedServiceOdata(ctx, \"anonymous\", \u0026datafactory.LinkedServiceOdataArgs{\n\t\t\tName:          pulumi.String(\"anonymous\"),\n\t\t\tDataFactoryId: exampleFactory.ID(),\n\t\t\tUrl:           pulumi.String(\"https://services.odata.org/v4/TripPinServiceRW/People\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = datafactory.NewLinkedServiceOdata(ctx, \"basic_auth\", \u0026datafactory.LinkedServiceOdataArgs{\n\t\t\tName:          pulumi.String(\"basic_auth\"),\n\t\t\tDataFactoryId: exampleFactory.ID(),\n\t\t\tUrl:           pulumi.String(\"https://services.odata.org/v4/TripPinServiceRW/People\"),\n\t\t\tBasicAuthentication: \u0026datafactory.LinkedServiceOdataBasicAuthenticationArgs{\n\t\t\t\tUsername: pulumi.String(\"emma\"),\n\t\t\t\tPassword: pulumi.String(\"Ch4ngeM3!\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.datafactory.Factory;\nimport com.pulumi.azure.datafactory.FactoryArgs;\nimport com.pulumi.azure.datafactory.LinkedServiceOdata;\nimport com.pulumi.azure.datafactory.LinkedServiceOdataArgs;\nimport com.pulumi.azure.datafactory.inputs.LinkedServiceOdataBasicAuthenticationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleFactory = new Factory(\"exampleFactory\", FactoryArgs.builder()\n            .name(\"example\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .build());\n\n        var anonymous = new LinkedServiceOdata(\"anonymous\", LinkedServiceOdataArgs.builder()\n            .name(\"anonymous\")\n            .dataFactoryId(exampleFactory.id())\n            .url(\"https://services.odata.org/v4/TripPinServiceRW/People\")\n            .build());\n\n        var basicAuth = new LinkedServiceOdata(\"basicAuth\", LinkedServiceOdataArgs.builder()\n            .name(\"basic_auth\")\n            .dataFactoryId(exampleFactory.id())\n            .url(\"https://services.odata.org/v4/TripPinServiceRW/People\")\n            .basicAuthentication(LinkedServiceOdataBasicAuthenticationArgs.builder()\n                .username(\"emma\")\n                .password(\"Ch4ngeM3!\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleFactory:\n    type: azure:datafactory:Factory\n    name: example\n    properties:\n      name: example\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n  anonymous:\n    type: azure:datafactory:LinkedServiceOdata\n    properties:\n      name: anonymous\n      dataFactoryId: ${exampleFactory.id}\n      url: https://services.odata.org/v4/TripPinServiceRW/People\n  basicAuth:\n    type: azure:datafactory:LinkedServiceOdata\n    name: basic_auth\n    properties:\n      name: basic_auth\n      dataFactoryId: ${exampleFactory.id}\n      url: https://services.odata.org/v4/TripPinServiceRW/People\n      basicAuthentication:\n        username: emma\n        password: Ch4ngeM3!\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nData Factory OData Linked Service's can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:datafactory/linkedServiceOdata:LinkedServiceOdata example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/example/providers/Microsoft.DataFactory/factories/example/linkedservices/example\n```\n\n","properties":{"additionalProperties":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of additional properties to associate with the Data Factory Linked Service OData.\n"},"annotations":{"type":"array","items":{"type":"string"},"description":"List of tags that can be used for describing the Data Factory Linked Service OData.\n"},"basicAuthentication":{"$ref":"#/types/azure:datafactory/LinkedServiceOdataBasicAuthentication:LinkedServiceOdataBasicAuthentication","description":"A \u003cspan pulumi-lang-nodejs=\"`basicAuthentication`\" pulumi-lang-dotnet=\"`BasicAuthentication`\" pulumi-lang-go=\"`basicAuthentication`\" pulumi-lang-python=\"`basic_authentication`\" pulumi-lang-yaml=\"`basicAuthentication`\" pulumi-lang-java=\"`basicAuthentication`\"\u003e`basic_authentication`\u003c/span\u003e block as defined below.\n"},"dataFactoryId":{"type":"string","description":"The Data Factory ID in which to associate the Linked Service with. Changing this forces a new resource.\n"},"description":{"type":"string","description":"The description for the Data Factory Linked Service OData.\n"},"integrationRuntimeName":{"type":"string","description":"The integration runtime reference to associate with the Data Factory Linked Service OData.\n"},"name":{"type":"string","description":"Specifies the name of the Data Factory Linked Service OData. Changing this forces a new resource to be created. Must be unique within a data factory. See the [Microsoft documentation](https://docs.microsoft.com/azure/data-factory/naming-rules) for all restrictions.\n"},"parameters":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of parameters to associate with the Data Factory Linked Service OData.\n"},"url":{"type":"string","description":"The URL of the OData service endpoint.\n"}},"required":["dataFactoryId","name","url"],"inputProperties":{"additionalProperties":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of additional properties to associate with the Data Factory Linked Service OData.\n"},"annotations":{"type":"array","items":{"type":"string"},"description":"List of tags that can be used for describing the Data Factory Linked Service OData.\n"},"basicAuthentication":{"$ref":"#/types/azure:datafactory/LinkedServiceOdataBasicAuthentication:LinkedServiceOdataBasicAuthentication","description":"A \u003cspan pulumi-lang-nodejs=\"`basicAuthentication`\" pulumi-lang-dotnet=\"`BasicAuthentication`\" pulumi-lang-go=\"`basicAuthentication`\" pulumi-lang-python=\"`basic_authentication`\" pulumi-lang-yaml=\"`basicAuthentication`\" pulumi-lang-java=\"`basicAuthentication`\"\u003e`basic_authentication`\u003c/span\u003e block as defined below.\n"},"dataFactoryId":{"type":"string","description":"The Data Factory ID in which to associate the Linked Service with. Changing this forces a new resource.\n","willReplaceOnChanges":true},"description":{"type":"string","description":"The description for the Data Factory Linked Service OData.\n"},"integrationRuntimeName":{"type":"string","description":"The integration runtime reference to associate with the Data Factory Linked Service OData.\n"},"name":{"type":"string","description":"Specifies the name of the Data Factory Linked Service OData. Changing this forces a new resource to be created. Must be unique within a data factory. See the [Microsoft documentation](https://docs.microsoft.com/azure/data-factory/naming-rules) for all restrictions.\n","willReplaceOnChanges":true},"parameters":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of parameters to associate with the Data Factory Linked Service OData.\n"},"url":{"type":"string","description":"The URL of the OData service endpoint.\n"}},"requiredInputs":["dataFactoryId","url"],"stateInputs":{"description":"Input properties used for looking up and filtering LinkedServiceOdata resources.\n","properties":{"additionalProperties":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of additional properties to associate with the Data Factory Linked Service OData.\n"},"annotations":{"type":"array","items":{"type":"string"},"description":"List of tags that can be used for describing the Data Factory Linked Service OData.\n"},"basicAuthentication":{"$ref":"#/types/azure:datafactory/LinkedServiceOdataBasicAuthentication:LinkedServiceOdataBasicAuthentication","description":"A \u003cspan pulumi-lang-nodejs=\"`basicAuthentication`\" pulumi-lang-dotnet=\"`BasicAuthentication`\" pulumi-lang-go=\"`basicAuthentication`\" pulumi-lang-python=\"`basic_authentication`\" pulumi-lang-yaml=\"`basicAuthentication`\" pulumi-lang-java=\"`basicAuthentication`\"\u003e`basic_authentication`\u003c/span\u003e block as defined below.\n"},"dataFactoryId":{"type":"string","description":"The Data Factory ID in which to associate the Linked Service with. Changing this forces a new resource.\n","willReplaceOnChanges":true},"description":{"type":"string","description":"The description for the Data Factory Linked Service OData.\n"},"integrationRuntimeName":{"type":"string","description":"The integration runtime reference to associate with the Data Factory Linked Service OData.\n"},"name":{"type":"string","description":"Specifies the name of the Data Factory Linked Service OData. Changing this forces a new resource to be created. Must be unique within a data factory. See the [Microsoft documentation](https://docs.microsoft.com/azure/data-factory/naming-rules) for all restrictions.\n","willReplaceOnChanges":true},"parameters":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of parameters to associate with the Data Factory Linked Service OData.\n"},"url":{"type":"string","description":"The URL of the OData service endpoint.\n"}},"type":"object"}},"azure:datafactory/linkedServiceOdbc:LinkedServiceOdbc":{"description":"Manages a Linked Service (connection) between a Database and Azure Data Factory through ODBC protocol.\n\n\u003e **Note:** All arguments including the\u003cspan pulumi-lang-nodejs=\" connectionString \" pulumi-lang-dotnet=\" ConnectionString \" pulumi-lang-go=\" connectionString \" pulumi-lang-python=\" connection_string \" pulumi-lang-yaml=\" connectionString \" pulumi-lang-java=\" connectionString \"\u003e connection_string \u003c/span\u003ewill be stored in the raw state as plain-text. [Read more about sensitive data in state](https://www.terraform.io/docs/state/sensitive-data.html).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleFactory = new azure.datafactory.Factory(\"example\", {\n    name: \"example\",\n    location: example.location,\n    resourceGroupName: example.name,\n});\nconst anonymous = new azure.datafactory.LinkedServiceOdbc(\"anonymous\", {\n    name: \"anonymous\",\n    dataFactoryId: exampleFactory.id,\n    connectionString: \"Driver={SQL Server};Server=test;Database=test;Uid=test;Pwd=test;\",\n});\nconst basicAuth = new azure.datafactory.LinkedServiceOdbc(\"basic_auth\", {\n    name: \"basic_auth\",\n    dataFactoryId: exampleFactory.id,\n    connectionString: \"Driver={SQL Server};Server=test;Database=test;Uid=test;Pwd=test;\",\n    basicAuthentication: {\n        username: \"onrylmz\",\n        password: \"Ch4ngeM3!\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_factory = azure.datafactory.Factory(\"example\",\n    name=\"example\",\n    location=example.location,\n    resource_group_name=example.name)\nanonymous = azure.datafactory.LinkedServiceOdbc(\"anonymous\",\n    name=\"anonymous\",\n    data_factory_id=example_factory.id,\n    connection_string=\"Driver={SQL Server};Server=test;Database=test;Uid=test;Pwd=test;\")\nbasic_auth = azure.datafactory.LinkedServiceOdbc(\"basic_auth\",\n    name=\"basic_auth\",\n    data_factory_id=example_factory.id,\n    connection_string=\"Driver={SQL Server};Server=test;Database=test;Uid=test;Pwd=test;\",\n    basic_authentication={\n        \"username\": \"onrylmz\",\n        \"password\": \"Ch4ngeM3!\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleFactory = new Azure.DataFactory.Factory(\"example\", new()\n    {\n        Name = \"example\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n    });\n\n    var anonymous = new Azure.DataFactory.LinkedServiceOdbc(\"anonymous\", new()\n    {\n        Name = \"anonymous\",\n        DataFactoryId = exampleFactory.Id,\n        ConnectionString = \"Driver={SQL Server};Server=test;Database=test;Uid=test;Pwd=test;\",\n    });\n\n    var basicAuth = new Azure.DataFactory.LinkedServiceOdbc(\"basic_auth\", new()\n    {\n        Name = \"basic_auth\",\n        DataFactoryId = exampleFactory.Id,\n        ConnectionString = \"Driver={SQL Server};Server=test;Database=test;Uid=test;Pwd=test;\",\n        BasicAuthentication = new Azure.DataFactory.Inputs.LinkedServiceOdbcBasicAuthenticationArgs\n        {\n            Username = \"onrylmz\",\n            Password = \"Ch4ngeM3!\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/datafactory\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleFactory, err := datafactory.NewFactory(ctx, \"example\", \u0026datafactory.FactoryArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = datafactory.NewLinkedServiceOdbc(ctx, \"anonymous\", \u0026datafactory.LinkedServiceOdbcArgs{\n\t\t\tName:             pulumi.String(\"anonymous\"),\n\t\t\tDataFactoryId:    exampleFactory.ID(),\n\t\t\tConnectionString: pulumi.String(\"Driver={SQL Server};Server=test;Database=test;Uid=test;Pwd=test;\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = datafactory.NewLinkedServiceOdbc(ctx, \"basic_auth\", \u0026datafactory.LinkedServiceOdbcArgs{\n\t\t\tName:             pulumi.String(\"basic_auth\"),\n\t\t\tDataFactoryId:    exampleFactory.ID(),\n\t\t\tConnectionString: pulumi.String(\"Driver={SQL Server};Server=test;Database=test;Uid=test;Pwd=test;\"),\n\t\t\tBasicAuthentication: \u0026datafactory.LinkedServiceOdbcBasicAuthenticationArgs{\n\t\t\t\tUsername: pulumi.String(\"onrylmz\"),\n\t\t\t\tPassword: pulumi.String(\"Ch4ngeM3!\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.datafactory.Factory;\nimport com.pulumi.azure.datafactory.FactoryArgs;\nimport com.pulumi.azure.datafactory.LinkedServiceOdbc;\nimport com.pulumi.azure.datafactory.LinkedServiceOdbcArgs;\nimport com.pulumi.azure.datafactory.inputs.LinkedServiceOdbcBasicAuthenticationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleFactory = new Factory(\"exampleFactory\", FactoryArgs.builder()\n            .name(\"example\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .build());\n\n        var anonymous = new LinkedServiceOdbc(\"anonymous\", LinkedServiceOdbcArgs.builder()\n            .name(\"anonymous\")\n            .dataFactoryId(exampleFactory.id())\n            .connectionString(\"Driver={SQL Server};Server=test;Database=test;Uid=test;Pwd=test;\")\n            .build());\n\n        var basicAuth = new LinkedServiceOdbc(\"basicAuth\", LinkedServiceOdbcArgs.builder()\n            .name(\"basic_auth\")\n            .dataFactoryId(exampleFactory.id())\n            .connectionString(\"Driver={SQL Server};Server=test;Database=test;Uid=test;Pwd=test;\")\n            .basicAuthentication(LinkedServiceOdbcBasicAuthenticationArgs.builder()\n                .username(\"onrylmz\")\n                .password(\"Ch4ngeM3!\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleFactory:\n    type: azure:datafactory:Factory\n    name: example\n    properties:\n      name: example\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n  anonymous:\n    type: azure:datafactory:LinkedServiceOdbc\n    properties:\n      name: anonymous\n      dataFactoryId: ${exampleFactory.id}\n      connectionString: Driver={SQL Server};Server=test;Database=test;Uid=test;Pwd=test;\n  basicAuth:\n    type: azure:datafactory:LinkedServiceOdbc\n    name: basic_auth\n    properties:\n      name: basic_auth\n      dataFactoryId: ${exampleFactory.id}\n      connectionString: Driver={SQL Server};Server=test;Database=test;Uid=test;Pwd=test;\n      basicAuthentication:\n        username: onrylmz\n        password: Ch4ngeM3!\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nData Factory ODBC Linked Service's can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:datafactory/linkedServiceOdbc:LinkedServiceOdbc example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/example/providers/Microsoft.DataFactory/factories/example/linkedservices/example\n```\n\n","properties":{"additionalProperties":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of additional properties to associate with the Data Factory Linked Service ODBC.\n"},"annotations":{"type":"array","items":{"type":"string"},"description":"List of tags that can be used for describing the Data Factory Linked Service ODBC.\n"},"basicAuthentication":{"$ref":"#/types/azure:datafactory/LinkedServiceOdbcBasicAuthentication:LinkedServiceOdbcBasicAuthentication","description":"A \u003cspan pulumi-lang-nodejs=\"`basicAuthentication`\" pulumi-lang-dotnet=\"`BasicAuthentication`\" pulumi-lang-go=\"`basicAuthentication`\" pulumi-lang-python=\"`basic_authentication`\" pulumi-lang-yaml=\"`basicAuthentication`\" pulumi-lang-java=\"`basicAuthentication`\"\u003e`basic_authentication`\u003c/span\u003e block as defined below.\n"},"connectionString":{"type":"string","description":"The connection string in which to authenticate with ODBC.\n"},"dataFactoryId":{"type":"string","description":"The Data Factory ID in which to associate the Linked Service with. Changing this forces a new resource.\n"},"description":{"type":"string","description":"The description for the Data Factory Linked Service ODBC.\n"},"integrationRuntimeName":{"type":"string","description":"The integration runtime reference to associate with the Data Factory Linked Service ODBC.\n"},"name":{"type":"string","description":"Specifies the name of the Data Factory Linked Service ODBC. Changing this forces a new resource to be created. Must be unique within a data factory. See the [Microsoft documentation](https://docs.microsoft.com/azure/data-factory/naming-rules) for all restrictions.\n"},"parameters":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of parameters to associate with the Data Factory Linked Service ODBC.\n"}},"required":["connectionString","dataFactoryId","name"],"inputProperties":{"additionalProperties":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of additional properties to associate with the Data Factory Linked Service ODBC.\n"},"annotations":{"type":"array","items":{"type":"string"},"description":"List of tags that can be used for describing the Data Factory Linked Service ODBC.\n"},"basicAuthentication":{"$ref":"#/types/azure:datafactory/LinkedServiceOdbcBasicAuthentication:LinkedServiceOdbcBasicAuthentication","description":"A \u003cspan pulumi-lang-nodejs=\"`basicAuthentication`\" pulumi-lang-dotnet=\"`BasicAuthentication`\" pulumi-lang-go=\"`basicAuthentication`\" pulumi-lang-python=\"`basic_authentication`\" pulumi-lang-yaml=\"`basicAuthentication`\" pulumi-lang-java=\"`basicAuthentication`\"\u003e`basic_authentication`\u003c/span\u003e block as defined below.\n"},"connectionString":{"type":"string","description":"The connection string in which to authenticate with ODBC.\n"},"dataFactoryId":{"type":"string","description":"The Data Factory ID in which to associate the Linked Service with. Changing this forces a new resource.\n","willReplaceOnChanges":true},"description":{"type":"string","description":"The description for the Data Factory Linked Service ODBC.\n"},"integrationRuntimeName":{"type":"string","description":"The integration runtime reference to associate with the Data Factory Linked Service ODBC.\n"},"name":{"type":"string","description":"Specifies the name of the Data Factory Linked Service ODBC. Changing this forces a new resource to be created. Must be unique within a data factory. See the [Microsoft documentation](https://docs.microsoft.com/azure/data-factory/naming-rules) for all restrictions.\n","willReplaceOnChanges":true},"parameters":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of parameters to associate with the Data Factory Linked Service ODBC.\n"}},"requiredInputs":["connectionString","dataFactoryId"],"stateInputs":{"description":"Input properties used for looking up and filtering LinkedServiceOdbc resources.\n","properties":{"additionalProperties":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of additional properties to associate with the Data Factory Linked Service ODBC.\n"},"annotations":{"type":"array","items":{"type":"string"},"description":"List of tags that can be used for describing the Data Factory Linked Service ODBC.\n"},"basicAuthentication":{"$ref":"#/types/azure:datafactory/LinkedServiceOdbcBasicAuthentication:LinkedServiceOdbcBasicAuthentication","description":"A \u003cspan pulumi-lang-nodejs=\"`basicAuthentication`\" pulumi-lang-dotnet=\"`BasicAuthentication`\" pulumi-lang-go=\"`basicAuthentication`\" pulumi-lang-python=\"`basic_authentication`\" pulumi-lang-yaml=\"`basicAuthentication`\" pulumi-lang-java=\"`basicAuthentication`\"\u003e`basic_authentication`\u003c/span\u003e block as defined below.\n"},"connectionString":{"type":"string","description":"The connection string in which to authenticate with ODBC.\n"},"dataFactoryId":{"type":"string","description":"The Data Factory ID in which to associate the Linked Service with. Changing this forces a new resource.\n","willReplaceOnChanges":true},"description":{"type":"string","description":"The description for the Data Factory Linked Service ODBC.\n"},"integrationRuntimeName":{"type":"string","description":"The integration runtime reference to associate with the Data Factory Linked Service ODBC.\n"},"name":{"type":"string","description":"Specifies the name of the Data Factory Linked Service ODBC. Changing this forces a new resource to be created. Must be unique within a data factory. See the [Microsoft documentation](https://docs.microsoft.com/azure/data-factory/naming-rules) for all restrictions.\n","willReplaceOnChanges":true},"parameters":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of parameters to associate with the Data Factory Linked Service ODBC.\n"}},"type":"object"}},"azure:datafactory/linkedServicePostgresql:LinkedServicePostgresql":{"description":"Manages a Linked Service (connection) between PostgreSQL and Azure Data Factory.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleFactory = new azure.datafactory.Factory(\"example\", {\n    name: \"example\",\n    location: example.location,\n    resourceGroupName: example.name,\n});\nconst exampleLinkedServicePostgresql = new azure.datafactory.LinkedServicePostgresql(\"example\", {\n    name: \"example\",\n    dataFactoryId: exampleFactory.id,\n    connectionString: \"Host=example;Port=5432;Database=example;UID=example;EncryptionMethod=0;Password=example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_factory = azure.datafactory.Factory(\"example\",\n    name=\"example\",\n    location=example.location,\n    resource_group_name=example.name)\nexample_linked_service_postgresql = azure.datafactory.LinkedServicePostgresql(\"example\",\n    name=\"example\",\n    data_factory_id=example_factory.id,\n    connection_string=\"Host=example;Port=5432;Database=example;UID=example;EncryptionMethod=0;Password=example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleFactory = new Azure.DataFactory.Factory(\"example\", new()\n    {\n        Name = \"example\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n    });\n\n    var exampleLinkedServicePostgresql = new Azure.DataFactory.LinkedServicePostgresql(\"example\", new()\n    {\n        Name = \"example\",\n        DataFactoryId = exampleFactory.Id,\n        ConnectionString = \"Host=example;Port=5432;Database=example;UID=example;EncryptionMethod=0;Password=example\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/datafactory\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleFactory, err := datafactory.NewFactory(ctx, \"example\", \u0026datafactory.FactoryArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = datafactory.NewLinkedServicePostgresql(ctx, \"example\", \u0026datafactory.LinkedServicePostgresqlArgs{\n\t\t\tName:             pulumi.String(\"example\"),\n\t\t\tDataFactoryId:    exampleFactory.ID(),\n\t\t\tConnectionString: pulumi.String(\"Host=example;Port=5432;Database=example;UID=example;EncryptionMethod=0;Password=example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.datafactory.Factory;\nimport com.pulumi.azure.datafactory.FactoryArgs;\nimport com.pulumi.azure.datafactory.LinkedServicePostgresql;\nimport com.pulumi.azure.datafactory.LinkedServicePostgresqlArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleFactory = new Factory(\"exampleFactory\", FactoryArgs.builder()\n            .name(\"example\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .build());\n\n        var exampleLinkedServicePostgresql = new LinkedServicePostgresql(\"exampleLinkedServicePostgresql\", LinkedServicePostgresqlArgs.builder()\n            .name(\"example\")\n            .dataFactoryId(exampleFactory.id())\n            .connectionString(\"Host=example;Port=5432;Database=example;UID=example;EncryptionMethod=0;Password=example\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleFactory:\n    type: azure:datafactory:Factory\n    name: example\n    properties:\n      name: example\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n  exampleLinkedServicePostgresql:\n    type: azure:datafactory:LinkedServicePostgresql\n    name: example\n    properties:\n      name: example\n      dataFactoryId: ${exampleFactory.id}\n      connectionString: Host=example;Port=5432;Database=example;UID=example;EncryptionMethod=0;Password=example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nData Factory PostgreSQL Linked Service's can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:datafactory/linkedServicePostgresql:LinkedServicePostgresql example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/example/providers/Microsoft.DataFactory/factories/example/linkedservices/example\n```\n\n","properties":{"additionalProperties":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of additional properties to associate with the Data Factory Linked Service PostgreSQL.\n"},"annotations":{"type":"array","items":{"type":"string"},"description":"List of tags that can be used for describing the Data Factory Linked Service PostgreSQL.\n"},"connectionString":{"type":"string","description":"The connection string in which to authenticate with PostgreSQL.\n"},"dataFactoryId":{"type":"string","description":"The Data Factory ID in which to associate the Linked Service with. Changing this forces a new resource.\n"},"description":{"type":"string","description":"The description for the Data Factory Linked Service PostgreSQL.\n"},"integrationRuntimeName":{"type":"string","description":"The integration runtime reference to associate with the Data Factory Linked Service PostgreSQL.\n"},"name":{"type":"string","description":"Specifies the name of the Data Factory Linked Service PostgreSQL. Changing this forces a new resource to be created. Must be unique within a data factory. See the [Microsoft documentation](https://docs.microsoft.com/azure/data-factory/naming-rules) for all restrictions.\n"},"parameters":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of parameters to associate with the Data Factory Linked Service PostgreSQL.\n"}},"required":["connectionString","dataFactoryId","name"],"inputProperties":{"additionalProperties":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of additional properties to associate with the Data Factory Linked Service PostgreSQL.\n"},"annotations":{"type":"array","items":{"type":"string"},"description":"List of tags that can be used for describing the Data Factory Linked Service PostgreSQL.\n"},"connectionString":{"type":"string","description":"The connection string in which to authenticate with PostgreSQL.\n"},"dataFactoryId":{"type":"string","description":"The Data Factory ID in which to associate the Linked Service with. Changing this forces a new resource.\n","willReplaceOnChanges":true},"description":{"type":"string","description":"The description for the Data Factory Linked Service PostgreSQL.\n"},"integrationRuntimeName":{"type":"string","description":"The integration runtime reference to associate with the Data Factory Linked Service PostgreSQL.\n"},"name":{"type":"string","description":"Specifies the name of the Data Factory Linked Service PostgreSQL. Changing this forces a new resource to be created. Must be unique within a data factory. See the [Microsoft documentation](https://docs.microsoft.com/azure/data-factory/naming-rules) for all restrictions.\n","willReplaceOnChanges":true},"parameters":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of parameters to associate with the Data Factory Linked Service PostgreSQL.\n"}},"requiredInputs":["connectionString","dataFactoryId"],"stateInputs":{"description":"Input properties used for looking up and filtering LinkedServicePostgresql resources.\n","properties":{"additionalProperties":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of additional properties to associate with the Data Factory Linked Service PostgreSQL.\n"},"annotations":{"type":"array","items":{"type":"string"},"description":"List of tags that can be used for describing the Data Factory Linked Service PostgreSQL.\n"},"connectionString":{"type":"string","description":"The connection string in which to authenticate with PostgreSQL.\n"},"dataFactoryId":{"type":"string","description":"The Data Factory ID in which to associate the Linked Service with. Changing this forces a new resource.\n","willReplaceOnChanges":true},"description":{"type":"string","description":"The description for the Data Factory Linked Service PostgreSQL.\n"},"integrationRuntimeName":{"type":"string","description":"The integration runtime reference to associate with the Data Factory Linked Service PostgreSQL.\n"},"name":{"type":"string","description":"Specifies the name of the Data Factory Linked Service PostgreSQL. Changing this forces a new resource to be created. Must be unique within a data factory. See the [Microsoft documentation](https://docs.microsoft.com/azure/data-factory/naming-rules) for all restrictions.\n","willReplaceOnChanges":true},"parameters":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of parameters to associate with the Data Factory Linked Service PostgreSQL.\n"}},"type":"object"}},"azure:datafactory/linkedServiceSftp:LinkedServiceSftp":{"description":"Manages a Linked Service (connection) between a SFTP Server and Azure Data Factory.\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleFactory = new azure.datafactory.Factory(\"example\", {\n    name: \"example\",\n    location: example.location,\n    resourceGroupName: example.name,\n});\nconst exampleLinkedServiceSftp = new azure.datafactory.LinkedServiceSftp(\"example\", {\n    name: \"example\",\n    dataFactoryId: exampleFactory.id,\n    authenticationType: \"Basic\",\n    host: \"http://www.bing.com\",\n    port: 22,\n    username: \"foo\",\n    password: \"bar\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_factory = azure.datafactory.Factory(\"example\",\n    name=\"example\",\n    location=example.location,\n    resource_group_name=example.name)\nexample_linked_service_sftp = azure.datafactory.LinkedServiceSftp(\"example\",\n    name=\"example\",\n    data_factory_id=example_factory.id,\n    authentication_type=\"Basic\",\n    host=\"http://www.bing.com\",\n    port=22,\n    username=\"foo\",\n    password=\"bar\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleFactory = new Azure.DataFactory.Factory(\"example\", new()\n    {\n        Name = \"example\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n    });\n\n    var exampleLinkedServiceSftp = new Azure.DataFactory.LinkedServiceSftp(\"example\", new()\n    {\n        Name = \"example\",\n        DataFactoryId = exampleFactory.Id,\n        AuthenticationType = \"Basic\",\n        Host = \"http://www.bing.com\",\n        Port = 22,\n        Username = \"foo\",\n        Password = \"bar\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/datafactory\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleFactory, err := datafactory.NewFactory(ctx, \"example\", \u0026datafactory.FactoryArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = datafactory.NewLinkedServiceSftp(ctx, \"example\", \u0026datafactory.LinkedServiceSftpArgs{\n\t\t\tName:               pulumi.String(\"example\"),\n\t\t\tDataFactoryId:      exampleFactory.ID(),\n\t\t\tAuthenticationType: pulumi.String(\"Basic\"),\n\t\t\tHost:               pulumi.String(\"http://www.bing.com\"),\n\t\t\tPort:               pulumi.Int(22),\n\t\t\tUsername:           pulumi.String(\"foo\"),\n\t\t\tPassword:           pulumi.String(\"bar\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.datafactory.Factory;\nimport com.pulumi.azure.datafactory.FactoryArgs;\nimport com.pulumi.azure.datafactory.LinkedServiceSftp;\nimport com.pulumi.azure.datafactory.LinkedServiceSftpArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleFactory = new Factory(\"exampleFactory\", FactoryArgs.builder()\n            .name(\"example\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .build());\n\n        var exampleLinkedServiceSftp = new LinkedServiceSftp(\"exampleLinkedServiceSftp\", LinkedServiceSftpArgs.builder()\n            .name(\"example\")\n            .dataFactoryId(exampleFactory.id())\n            .authenticationType(\"Basic\")\n            .host(\"http://www.bing.com\")\n            .port(22)\n            .username(\"foo\")\n            .password(\"bar\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleFactory:\n    type: azure:datafactory:Factory\n    name: example\n    properties:\n      name: example\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n  exampleLinkedServiceSftp:\n    type: azure:datafactory:LinkedServiceSftp\n    name: example\n    properties:\n      name: example\n      dataFactoryId: ${exampleFactory.id}\n      authenticationType: Basic\n      host: http://www.bing.com\n      port: 22\n      username: foo\n      password: bar\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nData Factory Linked Service's can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:datafactory/linkedServiceSftp:LinkedServiceSftp example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/example/providers/Microsoft.DataFactory/factories/example/linkedservices/example\n```\n\n","properties":{"additionalProperties":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of additional properties to associate with the Data Factory Linked Service.\n\nThe following supported arguments are specific to SFTP Linked Service:\n"},"annotations":{"type":"array","items":{"type":"string"},"description":"List of tags that can be used for describing the Data Factory Linked Service.\n"},"authenticationType":{"type":"string","description":"The type of authentication used to connect to the SFTP server. Valid options are `MultiFactor`, `Basic` and `SshPublicKey`.\n"},"dataFactoryId":{"type":"string","description":"The Data Factory ID in which to associate the Linked Service with. Changing this forces a new resource.\n"},"description":{"type":"string","description":"The description for the Data Factory Linked Service.\n"},"host":{"type":"string","description":"The SFTP server hostname.\n"},"hostKeyFingerprint":{"type":"string","description":"The host key fingerprint of the SFTP server.\n"},"integrationRuntimeName":{"type":"string","description":"The name of the integration runtime to associate with the Data Factory Linked Service.\n"},"keyVaultPasswords":{"type":"array","items":{"$ref":"#/types/azure:datafactory/LinkedServiceSftpKeyVaultPassword:LinkedServiceSftpKeyVaultPassword"},"description":"A \u003cspan pulumi-lang-nodejs=\"`keyVaultPassword`\" pulumi-lang-dotnet=\"`KeyVaultPassword`\" pulumi-lang-go=\"`keyVaultPassword`\" pulumi-lang-python=\"`key_vault_password`\" pulumi-lang-yaml=\"`keyVaultPassword`\" pulumi-lang-java=\"`keyVaultPassword`\"\u003e`key_vault_password`\u003c/span\u003e block as defined below.\n\n\u003e **Note:** Either \u003cspan pulumi-lang-nodejs=\"`password`\" pulumi-lang-dotnet=\"`Password`\" pulumi-lang-go=\"`password`\" pulumi-lang-python=\"`password`\" pulumi-lang-yaml=\"`password`\" pulumi-lang-java=\"`password`\"\u003e`password`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`keyVaultPassword`\" pulumi-lang-dotnet=\"`KeyVaultPassword`\" pulumi-lang-go=\"`keyVaultPassword`\" pulumi-lang-python=\"`key_vault_password`\" pulumi-lang-yaml=\"`keyVaultPassword`\" pulumi-lang-java=\"`keyVaultPassword`\"\u003e`key_vault_password`\u003c/span\u003e is required when \u003cspan pulumi-lang-nodejs=\"`authenticationType`\" pulumi-lang-dotnet=\"`AuthenticationType`\" pulumi-lang-go=\"`authenticationType`\" pulumi-lang-python=\"`authentication_type`\" pulumi-lang-yaml=\"`authenticationType`\" pulumi-lang-java=\"`authenticationType`\"\u003e`authentication_type`\u003c/span\u003e is set to `Basic`.\n"},"keyVaultPrivateKeyContentBase64":{"$ref":"#/types/azure:datafactory/LinkedServiceSftpKeyVaultPrivateKeyContentBase64:LinkedServiceSftpKeyVaultPrivateKeyContentBase64","description":"A \u003cspan pulumi-lang-nodejs=\"`keyVaultPrivateKeyContentBase64`\" pulumi-lang-dotnet=\"`KeyVaultPrivateKeyContentBase64`\" pulumi-lang-go=\"`keyVaultPrivateKeyContentBase64`\" pulumi-lang-python=\"`key_vault_private_key_content_base64`\" pulumi-lang-yaml=\"`keyVaultPrivateKeyContentBase64`\" pulumi-lang-java=\"`keyVaultPrivateKeyContentBase64`\"\u003e`key_vault_private_key_content_base64`\u003c/span\u003e block as defined below.\n"},"keyVaultPrivateKeyPassphrase":{"$ref":"#/types/azure:datafactory/LinkedServiceSftpKeyVaultPrivateKeyPassphrase:LinkedServiceSftpKeyVaultPrivateKeyPassphrase","description":"A \u003cspan pulumi-lang-nodejs=\"`keyVaultPrivateKeyPassphrase`\" pulumi-lang-dotnet=\"`KeyVaultPrivateKeyPassphrase`\" pulumi-lang-go=\"`keyVaultPrivateKeyPassphrase`\" pulumi-lang-python=\"`key_vault_private_key_passphrase`\" pulumi-lang-yaml=\"`keyVaultPrivateKeyPassphrase`\" pulumi-lang-java=\"`keyVaultPrivateKeyPassphrase`\"\u003e`key_vault_private_key_passphrase`\u003c/span\u003e block as defined below.\n\n\u003e **Note:** One of \u003cspan pulumi-lang-nodejs=\"`privateKeyContentBase64`\" pulumi-lang-dotnet=\"`PrivateKeyContentBase64`\" pulumi-lang-go=\"`privateKeyContentBase64`\" pulumi-lang-python=\"`private_key_content_base64`\" pulumi-lang-yaml=\"`privateKeyContentBase64`\" pulumi-lang-java=\"`privateKeyContentBase64`\"\u003e`private_key_content_base64`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`privateKeyPath`\" pulumi-lang-dotnet=\"`PrivateKeyPath`\" pulumi-lang-go=\"`privateKeyPath`\" pulumi-lang-python=\"`private_key_path`\" pulumi-lang-yaml=\"`privateKeyPath`\" pulumi-lang-java=\"`privateKeyPath`\"\u003e`private_key_path`\u003c/span\u003e (or their Key Vault equivalent) is required when \u003cspan pulumi-lang-nodejs=\"`authenticationType`\" pulumi-lang-dotnet=\"`AuthenticationType`\" pulumi-lang-go=\"`authenticationType`\" pulumi-lang-python=\"`authentication_type`\" pulumi-lang-yaml=\"`authenticationType`\" pulumi-lang-java=\"`authenticationType`\"\u003e`authentication_type`\u003c/span\u003e is set to `SshPublicKey`.\n"},"name":{"type":"string","description":"Specifies the name of the Data Factory Linked Service. Changing this forces a new resource to be created. Must be unique within a data factory. See the [Microsoft documentation](https://docs.microsoft.com/azure/data-factory/naming-rules) for all restrictions.\n"},"parameters":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of parameters to associate with the Data Factory Linked Service.\n"},"password":{"type":"string","description":"Password to log on to the SFTP Server for Basic Authentication.\n","secret":true},"port":{"type":"integer","description":"The TCP port number that the SFTP server uses to listen for client connection. Default value is 22.\n"},"privateKeyContentBase64":{"type":"string","description":"The Base64 encoded private key content in OpenSSH format used to log on to the SFTP server.\n","secret":true},"privateKeyPassphrase":{"type":"string","description":"The passphrase for the private key if the key is encrypted.\n","secret":true},"privateKeyPath":{"type":"string","description":"The absolute path to the private key file that the self-hosted integration runtime can access.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`privateKeyPath`\" pulumi-lang-dotnet=\"`PrivateKeyPath`\" pulumi-lang-go=\"`privateKeyPath`\" pulumi-lang-python=\"`private_key_path`\" pulumi-lang-yaml=\"`privateKeyPath`\" pulumi-lang-java=\"`privateKeyPath`\"\u003e`private_key_path`\u003c/span\u003e only applies when using a self-hosted integration runtime (instead of the default Azure provided runtime), as indicated by supplying a value for \u003cspan pulumi-lang-nodejs=\"`integrationRuntimeName`\" pulumi-lang-dotnet=\"`IntegrationRuntimeName`\" pulumi-lang-go=\"`integrationRuntimeName`\" pulumi-lang-python=\"`integration_runtime_name`\" pulumi-lang-yaml=\"`integrationRuntimeName`\" pulumi-lang-java=\"`integrationRuntimeName`\"\u003e`integration_runtime_name`\u003c/span\u003e.\n"},"skipHostKeyValidation":{"type":"boolean","description":"Whether to validate host key fingerprint while connecting. If set to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`hostKeyFingerprint`\" pulumi-lang-dotnet=\"`HostKeyFingerprint`\" pulumi-lang-go=\"`hostKeyFingerprint`\" pulumi-lang-python=\"`host_key_fingerprint`\" pulumi-lang-yaml=\"`hostKeyFingerprint`\" pulumi-lang-java=\"`hostKeyFingerprint`\"\u003e`host_key_fingerprint`\u003c/span\u003e must also be set.\n"},"username":{"type":"string","description":"The username used to log on to the SFTP server.\n"}},"required":["authenticationType","dataFactoryId","host","name","port","username"],"inputProperties":{"additionalProperties":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of additional properties to associate with the Data Factory Linked Service.\n\nThe following supported arguments are specific to SFTP Linked Service:\n"},"annotations":{"type":"array","items":{"type":"string"},"description":"List of tags that can be used for describing the Data Factory Linked Service.\n"},"authenticationType":{"type":"string","description":"The type of authentication used to connect to the SFTP server. Valid options are `MultiFactor`, `Basic` and `SshPublicKey`.\n"},"dataFactoryId":{"type":"string","description":"The Data Factory ID in which to associate the Linked Service with. Changing this forces a new resource.\n","willReplaceOnChanges":true},"description":{"type":"string","description":"The description for the Data Factory Linked Service.\n"},"host":{"type":"string","description":"The SFTP server hostname.\n"},"hostKeyFingerprint":{"type":"string","description":"The host key fingerprint of the SFTP server.\n"},"integrationRuntimeName":{"type":"string","description":"The name of the integration runtime to associate with the Data Factory Linked Service.\n"},"keyVaultPasswords":{"type":"array","items":{"$ref":"#/types/azure:datafactory/LinkedServiceSftpKeyVaultPassword:LinkedServiceSftpKeyVaultPassword"},"description":"A \u003cspan pulumi-lang-nodejs=\"`keyVaultPassword`\" pulumi-lang-dotnet=\"`KeyVaultPassword`\" pulumi-lang-go=\"`keyVaultPassword`\" pulumi-lang-python=\"`key_vault_password`\" pulumi-lang-yaml=\"`keyVaultPassword`\" pulumi-lang-java=\"`keyVaultPassword`\"\u003e`key_vault_password`\u003c/span\u003e block as defined below.\n\n\u003e **Note:** Either \u003cspan pulumi-lang-nodejs=\"`password`\" pulumi-lang-dotnet=\"`Password`\" pulumi-lang-go=\"`password`\" pulumi-lang-python=\"`password`\" pulumi-lang-yaml=\"`password`\" pulumi-lang-java=\"`password`\"\u003e`password`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`keyVaultPassword`\" pulumi-lang-dotnet=\"`KeyVaultPassword`\" pulumi-lang-go=\"`keyVaultPassword`\" pulumi-lang-python=\"`key_vault_password`\" pulumi-lang-yaml=\"`keyVaultPassword`\" pulumi-lang-java=\"`keyVaultPassword`\"\u003e`key_vault_password`\u003c/span\u003e is required when \u003cspan pulumi-lang-nodejs=\"`authenticationType`\" pulumi-lang-dotnet=\"`AuthenticationType`\" pulumi-lang-go=\"`authenticationType`\" pulumi-lang-python=\"`authentication_type`\" pulumi-lang-yaml=\"`authenticationType`\" pulumi-lang-java=\"`authenticationType`\"\u003e`authentication_type`\u003c/span\u003e is set to `Basic`.\n"},"keyVaultPrivateKeyContentBase64":{"$ref":"#/types/azure:datafactory/LinkedServiceSftpKeyVaultPrivateKeyContentBase64:LinkedServiceSftpKeyVaultPrivateKeyContentBase64","description":"A \u003cspan pulumi-lang-nodejs=\"`keyVaultPrivateKeyContentBase64`\" pulumi-lang-dotnet=\"`KeyVaultPrivateKeyContentBase64`\" pulumi-lang-go=\"`keyVaultPrivateKeyContentBase64`\" pulumi-lang-python=\"`key_vault_private_key_content_base64`\" pulumi-lang-yaml=\"`keyVaultPrivateKeyContentBase64`\" pulumi-lang-java=\"`keyVaultPrivateKeyContentBase64`\"\u003e`key_vault_private_key_content_base64`\u003c/span\u003e block as defined below.\n"},"keyVaultPrivateKeyPassphrase":{"$ref":"#/types/azure:datafactory/LinkedServiceSftpKeyVaultPrivateKeyPassphrase:LinkedServiceSftpKeyVaultPrivateKeyPassphrase","description":"A \u003cspan pulumi-lang-nodejs=\"`keyVaultPrivateKeyPassphrase`\" pulumi-lang-dotnet=\"`KeyVaultPrivateKeyPassphrase`\" pulumi-lang-go=\"`keyVaultPrivateKeyPassphrase`\" pulumi-lang-python=\"`key_vault_private_key_passphrase`\" pulumi-lang-yaml=\"`keyVaultPrivateKeyPassphrase`\" pulumi-lang-java=\"`keyVaultPrivateKeyPassphrase`\"\u003e`key_vault_private_key_passphrase`\u003c/span\u003e block as defined below.\n\n\u003e **Note:** One of \u003cspan pulumi-lang-nodejs=\"`privateKeyContentBase64`\" pulumi-lang-dotnet=\"`PrivateKeyContentBase64`\" pulumi-lang-go=\"`privateKeyContentBase64`\" pulumi-lang-python=\"`private_key_content_base64`\" pulumi-lang-yaml=\"`privateKeyContentBase64`\" pulumi-lang-java=\"`privateKeyContentBase64`\"\u003e`private_key_content_base64`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`privateKeyPath`\" pulumi-lang-dotnet=\"`PrivateKeyPath`\" pulumi-lang-go=\"`privateKeyPath`\" pulumi-lang-python=\"`private_key_path`\" pulumi-lang-yaml=\"`privateKeyPath`\" pulumi-lang-java=\"`privateKeyPath`\"\u003e`private_key_path`\u003c/span\u003e (or their Key Vault equivalent) is required when \u003cspan pulumi-lang-nodejs=\"`authenticationType`\" pulumi-lang-dotnet=\"`AuthenticationType`\" pulumi-lang-go=\"`authenticationType`\" pulumi-lang-python=\"`authentication_type`\" pulumi-lang-yaml=\"`authenticationType`\" pulumi-lang-java=\"`authenticationType`\"\u003e`authentication_type`\u003c/span\u003e is set to `SshPublicKey`.\n"},"name":{"type":"string","description":"Specifies the name of the Data Factory Linked Service. Changing this forces a new resource to be created. Must be unique within a data factory. See the [Microsoft documentation](https://docs.microsoft.com/azure/data-factory/naming-rules) for all restrictions.\n","willReplaceOnChanges":true},"parameters":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of parameters to associate with the Data Factory Linked Service.\n"},"password":{"type":"string","description":"Password to log on to the SFTP Server for Basic Authentication.\n","secret":true},"port":{"type":"integer","description":"The TCP port number that the SFTP server uses to listen for client connection. Default value is 22.\n"},"privateKeyContentBase64":{"type":"string","description":"The Base64 encoded private key content in OpenSSH format used to log on to the SFTP server.\n","secret":true},"privateKeyPassphrase":{"type":"string","description":"The passphrase for the private key if the key is encrypted.\n","secret":true},"privateKeyPath":{"type":"string","description":"The absolute path to the private key file that the self-hosted integration runtime can access.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`privateKeyPath`\" pulumi-lang-dotnet=\"`PrivateKeyPath`\" pulumi-lang-go=\"`privateKeyPath`\" pulumi-lang-python=\"`private_key_path`\" pulumi-lang-yaml=\"`privateKeyPath`\" pulumi-lang-java=\"`privateKeyPath`\"\u003e`private_key_path`\u003c/span\u003e only applies when using a self-hosted integration runtime (instead of the default Azure provided runtime), as indicated by supplying a value for \u003cspan pulumi-lang-nodejs=\"`integrationRuntimeName`\" pulumi-lang-dotnet=\"`IntegrationRuntimeName`\" pulumi-lang-go=\"`integrationRuntimeName`\" pulumi-lang-python=\"`integration_runtime_name`\" pulumi-lang-yaml=\"`integrationRuntimeName`\" pulumi-lang-java=\"`integrationRuntimeName`\"\u003e`integration_runtime_name`\u003c/span\u003e.\n"},"skipHostKeyValidation":{"type":"boolean","description":"Whether to validate host key fingerprint while connecting. If set to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`hostKeyFingerprint`\" pulumi-lang-dotnet=\"`HostKeyFingerprint`\" pulumi-lang-go=\"`hostKeyFingerprint`\" pulumi-lang-python=\"`host_key_fingerprint`\" pulumi-lang-yaml=\"`hostKeyFingerprint`\" pulumi-lang-java=\"`hostKeyFingerprint`\"\u003e`host_key_fingerprint`\u003c/span\u003e must also be set.\n"},"username":{"type":"string","description":"The username used to log on to the SFTP server.\n"}},"requiredInputs":["authenticationType","dataFactoryId","host","port","username"],"stateInputs":{"description":"Input properties used for looking up and filtering LinkedServiceSftp resources.\n","properties":{"additionalProperties":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of additional properties to associate with the Data Factory Linked Service.\n\nThe following supported arguments are specific to SFTP Linked Service:\n"},"annotations":{"type":"array","items":{"type":"string"},"description":"List of tags that can be used for describing the Data Factory Linked Service.\n"},"authenticationType":{"type":"string","description":"The type of authentication used to connect to the SFTP server. Valid options are `MultiFactor`, `Basic` and `SshPublicKey`.\n"},"dataFactoryId":{"type":"string","description":"The Data Factory ID in which to associate the Linked Service with. Changing this forces a new resource.\n","willReplaceOnChanges":true},"description":{"type":"string","description":"The description for the Data Factory Linked Service.\n"},"host":{"type":"string","description":"The SFTP server hostname.\n"},"hostKeyFingerprint":{"type":"string","description":"The host key fingerprint of the SFTP server.\n"},"integrationRuntimeName":{"type":"string","description":"The name of the integration runtime to associate with the Data Factory Linked Service.\n"},"keyVaultPasswords":{"type":"array","items":{"$ref":"#/types/azure:datafactory/LinkedServiceSftpKeyVaultPassword:LinkedServiceSftpKeyVaultPassword"},"description":"A \u003cspan pulumi-lang-nodejs=\"`keyVaultPassword`\" pulumi-lang-dotnet=\"`KeyVaultPassword`\" pulumi-lang-go=\"`keyVaultPassword`\" pulumi-lang-python=\"`key_vault_password`\" pulumi-lang-yaml=\"`keyVaultPassword`\" pulumi-lang-java=\"`keyVaultPassword`\"\u003e`key_vault_password`\u003c/span\u003e block as defined below.\n\n\u003e **Note:** Either \u003cspan pulumi-lang-nodejs=\"`password`\" pulumi-lang-dotnet=\"`Password`\" pulumi-lang-go=\"`password`\" pulumi-lang-python=\"`password`\" pulumi-lang-yaml=\"`password`\" pulumi-lang-java=\"`password`\"\u003e`password`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`keyVaultPassword`\" pulumi-lang-dotnet=\"`KeyVaultPassword`\" pulumi-lang-go=\"`keyVaultPassword`\" pulumi-lang-python=\"`key_vault_password`\" pulumi-lang-yaml=\"`keyVaultPassword`\" pulumi-lang-java=\"`keyVaultPassword`\"\u003e`key_vault_password`\u003c/span\u003e is required when \u003cspan pulumi-lang-nodejs=\"`authenticationType`\" pulumi-lang-dotnet=\"`AuthenticationType`\" pulumi-lang-go=\"`authenticationType`\" pulumi-lang-python=\"`authentication_type`\" pulumi-lang-yaml=\"`authenticationType`\" pulumi-lang-java=\"`authenticationType`\"\u003e`authentication_type`\u003c/span\u003e is set to `Basic`.\n"},"keyVaultPrivateKeyContentBase64":{"$ref":"#/types/azure:datafactory/LinkedServiceSftpKeyVaultPrivateKeyContentBase64:LinkedServiceSftpKeyVaultPrivateKeyContentBase64","description":"A \u003cspan pulumi-lang-nodejs=\"`keyVaultPrivateKeyContentBase64`\" pulumi-lang-dotnet=\"`KeyVaultPrivateKeyContentBase64`\" pulumi-lang-go=\"`keyVaultPrivateKeyContentBase64`\" pulumi-lang-python=\"`key_vault_private_key_content_base64`\" pulumi-lang-yaml=\"`keyVaultPrivateKeyContentBase64`\" pulumi-lang-java=\"`keyVaultPrivateKeyContentBase64`\"\u003e`key_vault_private_key_content_base64`\u003c/span\u003e block as defined below.\n"},"keyVaultPrivateKeyPassphrase":{"$ref":"#/types/azure:datafactory/LinkedServiceSftpKeyVaultPrivateKeyPassphrase:LinkedServiceSftpKeyVaultPrivateKeyPassphrase","description":"A \u003cspan pulumi-lang-nodejs=\"`keyVaultPrivateKeyPassphrase`\" pulumi-lang-dotnet=\"`KeyVaultPrivateKeyPassphrase`\" pulumi-lang-go=\"`keyVaultPrivateKeyPassphrase`\" pulumi-lang-python=\"`key_vault_private_key_passphrase`\" pulumi-lang-yaml=\"`keyVaultPrivateKeyPassphrase`\" pulumi-lang-java=\"`keyVaultPrivateKeyPassphrase`\"\u003e`key_vault_private_key_passphrase`\u003c/span\u003e block as defined below.\n\n\u003e **Note:** One of \u003cspan pulumi-lang-nodejs=\"`privateKeyContentBase64`\" pulumi-lang-dotnet=\"`PrivateKeyContentBase64`\" pulumi-lang-go=\"`privateKeyContentBase64`\" pulumi-lang-python=\"`private_key_content_base64`\" pulumi-lang-yaml=\"`privateKeyContentBase64`\" pulumi-lang-java=\"`privateKeyContentBase64`\"\u003e`private_key_content_base64`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`privateKeyPath`\" pulumi-lang-dotnet=\"`PrivateKeyPath`\" pulumi-lang-go=\"`privateKeyPath`\" pulumi-lang-python=\"`private_key_path`\" pulumi-lang-yaml=\"`privateKeyPath`\" pulumi-lang-java=\"`privateKeyPath`\"\u003e`private_key_path`\u003c/span\u003e (or their Key Vault equivalent) is required when \u003cspan pulumi-lang-nodejs=\"`authenticationType`\" pulumi-lang-dotnet=\"`AuthenticationType`\" pulumi-lang-go=\"`authenticationType`\" pulumi-lang-python=\"`authentication_type`\" pulumi-lang-yaml=\"`authenticationType`\" pulumi-lang-java=\"`authenticationType`\"\u003e`authentication_type`\u003c/span\u003e is set to `SshPublicKey`.\n"},"name":{"type":"string","description":"Specifies the name of the Data Factory Linked Service. Changing this forces a new resource to be created. Must be unique within a data factory. See the [Microsoft documentation](https://docs.microsoft.com/azure/data-factory/naming-rules) for all restrictions.\n","willReplaceOnChanges":true},"parameters":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of parameters to associate with the Data Factory Linked Service.\n"},"password":{"type":"string","description":"Password to log on to the SFTP Server for Basic Authentication.\n","secret":true},"port":{"type":"integer","description":"The TCP port number that the SFTP server uses to listen for client connection. Default value is 22.\n"},"privateKeyContentBase64":{"type":"string","description":"The Base64 encoded private key content in OpenSSH format used to log on to the SFTP server.\n","secret":true},"privateKeyPassphrase":{"type":"string","description":"The passphrase for the private key if the key is encrypted.\n","secret":true},"privateKeyPath":{"type":"string","description":"The absolute path to the private key file that the self-hosted integration runtime can access.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`privateKeyPath`\" pulumi-lang-dotnet=\"`PrivateKeyPath`\" pulumi-lang-go=\"`privateKeyPath`\" pulumi-lang-python=\"`private_key_path`\" pulumi-lang-yaml=\"`privateKeyPath`\" pulumi-lang-java=\"`privateKeyPath`\"\u003e`private_key_path`\u003c/span\u003e only applies when using a self-hosted integration runtime (instead of the default Azure provided runtime), as indicated by supplying a value for \u003cspan pulumi-lang-nodejs=\"`integrationRuntimeName`\" pulumi-lang-dotnet=\"`IntegrationRuntimeName`\" pulumi-lang-go=\"`integrationRuntimeName`\" pulumi-lang-python=\"`integration_runtime_name`\" pulumi-lang-yaml=\"`integrationRuntimeName`\" pulumi-lang-java=\"`integrationRuntimeName`\"\u003e`integration_runtime_name`\u003c/span\u003e.\n"},"skipHostKeyValidation":{"type":"boolean","description":"Whether to validate host key fingerprint while connecting. If set to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`hostKeyFingerprint`\" pulumi-lang-dotnet=\"`HostKeyFingerprint`\" pulumi-lang-go=\"`hostKeyFingerprint`\" pulumi-lang-python=\"`host_key_fingerprint`\" pulumi-lang-yaml=\"`hostKeyFingerprint`\" pulumi-lang-java=\"`hostKeyFingerprint`\"\u003e`host_key_fingerprint`\u003c/span\u003e must also be set.\n"},"username":{"type":"string","description":"The username used to log on to the SFTP server.\n"}},"type":"object"}},"azure:datafactory/linkedServiceSnowflake:LinkedServiceSnowflake":{"description":"Manages a Linked Service (connection) between Snowflake and Azure Data Factory.\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleFactory = new azure.datafactory.Factory(\"example\", {\n    name: \"example\",\n    location: example.location,\n    resourceGroupName: example.name,\n});\nconst exampleLinkedServiceSnowflake = new azure.datafactory.LinkedServiceSnowflake(\"example\", {\n    name: \"example\",\n    dataFactoryId: exampleFactory.id,\n    connectionString: \"jdbc:snowflake://account.region.snowflakecomputing.com/?user=user\u0026db=db\u0026warehouse=wh\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_factory = azure.datafactory.Factory(\"example\",\n    name=\"example\",\n    location=example.location,\n    resource_group_name=example.name)\nexample_linked_service_snowflake = azure.datafactory.LinkedServiceSnowflake(\"example\",\n    name=\"example\",\n    data_factory_id=example_factory.id,\n    connection_string=\"jdbc:snowflake://account.region.snowflakecomputing.com/?user=user\u0026db=db\u0026warehouse=wh\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleFactory = new Azure.DataFactory.Factory(\"example\", new()\n    {\n        Name = \"example\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n    });\n\n    var exampleLinkedServiceSnowflake = new Azure.DataFactory.LinkedServiceSnowflake(\"example\", new()\n    {\n        Name = \"example\",\n        DataFactoryId = exampleFactory.Id,\n        ConnectionString = \"jdbc:snowflake://account.region.snowflakecomputing.com/?user=user\u0026db=db\u0026warehouse=wh\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/datafactory\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleFactory, err := datafactory.NewFactory(ctx, \"example\", \u0026datafactory.FactoryArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = datafactory.NewLinkedServiceSnowflake(ctx, \"example\", \u0026datafactory.LinkedServiceSnowflakeArgs{\n\t\t\tName:             pulumi.String(\"example\"),\n\t\t\tDataFactoryId:    exampleFactory.ID(),\n\t\t\tConnectionString: pulumi.String(\"jdbc:snowflake://account.region.snowflakecomputing.com/?user=user\u0026db=db\u0026warehouse=wh\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.datafactory.Factory;\nimport com.pulumi.azure.datafactory.FactoryArgs;\nimport com.pulumi.azure.datafactory.LinkedServiceSnowflake;\nimport com.pulumi.azure.datafactory.LinkedServiceSnowflakeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleFactory = new Factory(\"exampleFactory\", FactoryArgs.builder()\n            .name(\"example\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .build());\n\n        var exampleLinkedServiceSnowflake = new LinkedServiceSnowflake(\"exampleLinkedServiceSnowflake\", LinkedServiceSnowflakeArgs.builder()\n            .name(\"example\")\n            .dataFactoryId(exampleFactory.id())\n            .connectionString(\"jdbc:snowflake://account.region.snowflakecomputing.com/?user=user\u0026db=db\u0026warehouse=wh\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleFactory:\n    type: azure:datafactory:Factory\n    name: example\n    properties:\n      name: example\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n  exampleLinkedServiceSnowflake:\n    type: azure:datafactory:LinkedServiceSnowflake\n    name: example\n    properties:\n      name: example\n      dataFactoryId: ${exampleFactory.id}\n      connectionString: jdbc:snowflake://account.region.snowflakecomputing.com/?user=user\u0026db=db\u0026warehouse=wh\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\n### With Password In Key Vault\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst current = azure.core.getClientConfig({});\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleKeyVault = new azure.keyvault.KeyVault(\"example\", {\n    name: \"example\",\n    location: example.location,\n    resourceGroupName: example.name,\n    tenantId: current.then(current =\u003e current.tenantId),\n    skuName: \"standard\",\n});\nconst exampleFactory = new azure.datafactory.Factory(\"example\", {\n    name: \"example\",\n    location: example.location,\n    resourceGroupName: example.name,\n});\nconst exampleLinkedServiceKeyVault = new azure.datafactory.LinkedServiceKeyVault(\"example\", {\n    name: \"kvlink\",\n    dataFactoryId: exampleFactory.id,\n    keyVaultId: exampleKeyVault.id,\n});\nconst exampleLinkedServiceSnowflake = new azure.datafactory.LinkedServiceSnowflake(\"example\", {\n    name: \"example\",\n    dataFactoryId: exampleFactory.id,\n    connectionString: \"jdbc:snowflake://account.region.snowflakecomputing.com/?user=user\u0026db=db\u0026warehouse=wh\",\n    keyVaultPassword: {\n        linkedServiceName: exampleLinkedServiceKeyVault.name,\n        secretName: \"secret\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\ncurrent = azure.core.get_client_config()\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_key_vault = azure.keyvault.KeyVault(\"example\",\n    name=\"example\",\n    location=example.location,\n    resource_group_name=example.name,\n    tenant_id=current.tenant_id,\n    sku_name=\"standard\")\nexample_factory = azure.datafactory.Factory(\"example\",\n    name=\"example\",\n    location=example.location,\n    resource_group_name=example.name)\nexample_linked_service_key_vault = azure.datafactory.LinkedServiceKeyVault(\"example\",\n    name=\"kvlink\",\n    data_factory_id=example_factory.id,\n    key_vault_id=example_key_vault.id)\nexample_linked_service_snowflake = azure.datafactory.LinkedServiceSnowflake(\"example\",\n    name=\"example\",\n    data_factory_id=example_factory.id,\n    connection_string=\"jdbc:snowflake://account.region.snowflakecomputing.com/?user=user\u0026db=db\u0026warehouse=wh\",\n    key_vault_password={\n        \"linked_service_name\": example_linked_service_key_vault.name,\n        \"secret_name\": \"secret\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var current = Azure.Core.GetClientConfig.Invoke();\n\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleKeyVault = new Azure.KeyVault.KeyVault(\"example\", new()\n    {\n        Name = \"example\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        TenantId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.TenantId),\n        SkuName = \"standard\",\n    });\n\n    var exampleFactory = new Azure.DataFactory.Factory(\"example\", new()\n    {\n        Name = \"example\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n    });\n\n    var exampleLinkedServiceKeyVault = new Azure.DataFactory.LinkedServiceKeyVault(\"example\", new()\n    {\n        Name = \"kvlink\",\n        DataFactoryId = exampleFactory.Id,\n        KeyVaultId = exampleKeyVault.Id,\n    });\n\n    var exampleLinkedServiceSnowflake = new Azure.DataFactory.LinkedServiceSnowflake(\"example\", new()\n    {\n        Name = \"example\",\n        DataFactoryId = exampleFactory.Id,\n        ConnectionString = \"jdbc:snowflake://account.region.snowflakecomputing.com/?user=user\u0026db=db\u0026warehouse=wh\",\n        KeyVaultPassword = new Azure.DataFactory.Inputs.LinkedServiceSnowflakeKeyVaultPasswordArgs\n        {\n            LinkedServiceName = exampleLinkedServiceKeyVault.Name,\n            SecretName = \"secret\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/datafactory\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/keyvault\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := core.GetClientConfig(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleKeyVault, err := keyvault.NewKeyVault(ctx, \"example\", \u0026keyvault.KeyVaultArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tTenantId:          pulumi.String(current.TenantId),\n\t\t\tSkuName:           pulumi.String(\"standard\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleFactory, err := datafactory.NewFactory(ctx, \"example\", \u0026datafactory.FactoryArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleLinkedServiceKeyVault, err := datafactory.NewLinkedServiceKeyVault(ctx, \"example\", \u0026datafactory.LinkedServiceKeyVaultArgs{\n\t\t\tName:          pulumi.String(\"kvlink\"),\n\t\t\tDataFactoryId: exampleFactory.ID(),\n\t\t\tKeyVaultId:    exampleKeyVault.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = datafactory.NewLinkedServiceSnowflake(ctx, \"example\", \u0026datafactory.LinkedServiceSnowflakeArgs{\n\t\t\tName:             pulumi.String(\"example\"),\n\t\t\tDataFactoryId:    exampleFactory.ID(),\n\t\t\tConnectionString: pulumi.String(\"jdbc:snowflake://account.region.snowflakecomputing.com/?user=user\u0026db=db\u0026warehouse=wh\"),\n\t\t\tKeyVaultPassword: \u0026datafactory.LinkedServiceSnowflakeKeyVaultPasswordArgs{\n\t\t\t\tLinkedServiceName: exampleLinkedServiceKeyVault.Name,\n\t\t\t\tSecretName:        pulumi.String(\"secret\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.keyvault.KeyVault;\nimport com.pulumi.azure.keyvault.KeyVaultArgs;\nimport com.pulumi.azure.datafactory.Factory;\nimport com.pulumi.azure.datafactory.FactoryArgs;\nimport com.pulumi.azure.datafactory.LinkedServiceKeyVault;\nimport com.pulumi.azure.datafactory.LinkedServiceKeyVaultArgs;\nimport com.pulumi.azure.datafactory.LinkedServiceSnowflake;\nimport com.pulumi.azure.datafactory.LinkedServiceSnowflakeArgs;\nimport com.pulumi.azure.datafactory.inputs.LinkedServiceSnowflakeKeyVaultPasswordArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var current = CoreFunctions.getClientConfig(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleKeyVault = new KeyVault(\"exampleKeyVault\", KeyVaultArgs.builder()\n            .name(\"example\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .tenantId(current.tenantId())\n            .skuName(\"standard\")\n            .build());\n\n        var exampleFactory = new Factory(\"exampleFactory\", FactoryArgs.builder()\n            .name(\"example\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .build());\n\n        var exampleLinkedServiceKeyVault = new LinkedServiceKeyVault(\"exampleLinkedServiceKeyVault\", LinkedServiceKeyVaultArgs.builder()\n            .name(\"kvlink\")\n            .dataFactoryId(exampleFactory.id())\n            .keyVaultId(exampleKeyVault.id())\n            .build());\n\n        var exampleLinkedServiceSnowflake = new LinkedServiceSnowflake(\"exampleLinkedServiceSnowflake\", LinkedServiceSnowflakeArgs.builder()\n            .name(\"example\")\n            .dataFactoryId(exampleFactory.id())\n            .connectionString(\"jdbc:snowflake://account.region.snowflakecomputing.com/?user=user\u0026db=db\u0026warehouse=wh\")\n            .keyVaultPassword(LinkedServiceSnowflakeKeyVaultPasswordArgs.builder()\n                .linkedServiceName(exampleLinkedServiceKeyVault.name())\n                .secretName(\"secret\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleKeyVault:\n    type: azure:keyvault:KeyVault\n    name: example\n    properties:\n      name: example\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      tenantId: ${current.tenantId}\n      skuName: standard\n  exampleFactory:\n    type: azure:datafactory:Factory\n    name: example\n    properties:\n      name: example\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n  exampleLinkedServiceKeyVault:\n    type: azure:datafactory:LinkedServiceKeyVault\n    name: example\n    properties:\n      name: kvlink\n      dataFactoryId: ${exampleFactory.id}\n      keyVaultId: ${exampleKeyVault.id}\n  exampleLinkedServiceSnowflake:\n    type: azure:datafactory:LinkedServiceSnowflake\n    name: example\n    properties:\n      name: example\n      dataFactoryId: ${exampleFactory.id}\n      connectionString: jdbc:snowflake://account.region.snowflakecomputing.com/?user=user\u0026db=db\u0026warehouse=wh\n      keyVaultPassword:\n        linkedServiceName: ${exampleLinkedServiceKeyVault.name}\n        secretName: secret\nvariables:\n  current:\n    fn::invoke:\n      function: azure:core:getClientConfig\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nData Factory Snowflake Linked Service's can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:datafactory/linkedServiceSnowflake:LinkedServiceSnowflake example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/example/providers/Microsoft.DataFactory/factories/example/linkedservices/example\n```\n\n","properties":{"additionalProperties":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of additional properties to associate with the Data Factory Linked Service.\n"},"annotations":{"type":"array","items":{"type":"string"},"description":"List of tags that can be used for describing the Data Factory Linked Service.\n"},"connectionString":{"type":"string","description":"The connection string in which to authenticate with Snowflake.\n"},"dataFactoryId":{"type":"string","description":"The Data Factory ID in which to associate the Linked Service with. Changing this forces a new resource.\n"},"description":{"type":"string","description":"The description for the Data Factory Linked Service.\n"},"integrationRuntimeName":{"type":"string","description":"The integration runtime reference to associate with the Data Factory Linked Service.\n"},"keyVaultPassword":{"$ref":"#/types/azure:datafactory/LinkedServiceSnowflakeKeyVaultPassword:LinkedServiceSnowflakeKeyVaultPassword","description":"A \u003cspan pulumi-lang-nodejs=\"`keyVaultPassword`\" pulumi-lang-dotnet=\"`KeyVaultPassword`\" pulumi-lang-go=\"`keyVaultPassword`\" pulumi-lang-python=\"`key_vault_password`\" pulumi-lang-yaml=\"`keyVaultPassword`\" pulumi-lang-java=\"`keyVaultPassword`\"\u003e`key_vault_password`\u003c/span\u003e block as defined below. Use this argument to store Snowflake password in an existing Key Vault. It needs an existing Key Vault Data Factory Linked Service.\n"},"name":{"type":"string","description":"Specifies the name of the Data Factory Linked Service. Changing this forces a new resource to be created. Must be unique within a data factory. See the [Microsoft documentation](https://docs.microsoft.com/azure/data-factory/naming-rules) for all restrictions.\n"},"parameters":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of parameters to associate with the Data Factory Linked Service.\n"}},"required":["connectionString","dataFactoryId","name"],"inputProperties":{"additionalProperties":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of additional properties to associate with the Data Factory Linked Service.\n"},"annotations":{"type":"array","items":{"type":"string"},"description":"List of tags that can be used for describing the Data Factory Linked Service.\n"},"connectionString":{"type":"string","description":"The connection string in which to authenticate with Snowflake.\n"},"dataFactoryId":{"type":"string","description":"The Data Factory ID in which to associate the Linked Service with. Changing this forces a new resource.\n","willReplaceOnChanges":true},"description":{"type":"string","description":"The description for the Data Factory Linked Service.\n"},"integrationRuntimeName":{"type":"string","description":"The integration runtime reference to associate with the Data Factory Linked Service.\n"},"keyVaultPassword":{"$ref":"#/types/azure:datafactory/LinkedServiceSnowflakeKeyVaultPassword:LinkedServiceSnowflakeKeyVaultPassword","description":"A \u003cspan pulumi-lang-nodejs=\"`keyVaultPassword`\" pulumi-lang-dotnet=\"`KeyVaultPassword`\" pulumi-lang-go=\"`keyVaultPassword`\" pulumi-lang-python=\"`key_vault_password`\" pulumi-lang-yaml=\"`keyVaultPassword`\" pulumi-lang-java=\"`keyVaultPassword`\"\u003e`key_vault_password`\u003c/span\u003e block as defined below. Use this argument to store Snowflake password in an existing Key Vault. It needs an existing Key Vault Data Factory Linked Service.\n"},"name":{"type":"string","description":"Specifies the name of the Data Factory Linked Service. Changing this forces a new resource to be created. Must be unique within a data factory. See the [Microsoft documentation](https://docs.microsoft.com/azure/data-factory/naming-rules) for all restrictions.\n","willReplaceOnChanges":true},"parameters":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of parameters to associate with the Data Factory Linked Service.\n"}},"requiredInputs":["connectionString","dataFactoryId"],"stateInputs":{"description":"Input properties used for looking up and filtering LinkedServiceSnowflake resources.\n","properties":{"additionalProperties":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of additional properties to associate with the Data Factory Linked Service.\n"},"annotations":{"type":"array","items":{"type":"string"},"description":"List of tags that can be used for describing the Data Factory Linked Service.\n"},"connectionString":{"type":"string","description":"The connection string in which to authenticate with Snowflake.\n"},"dataFactoryId":{"type":"string","description":"The Data Factory ID in which to associate the Linked Service with. Changing this forces a new resource.\n","willReplaceOnChanges":true},"description":{"type":"string","description":"The description for the Data Factory Linked Service.\n"},"integrationRuntimeName":{"type":"string","description":"The integration runtime reference to associate with the Data Factory Linked Service.\n"},"keyVaultPassword":{"$ref":"#/types/azure:datafactory/LinkedServiceSnowflakeKeyVaultPassword:LinkedServiceSnowflakeKeyVaultPassword","description":"A \u003cspan pulumi-lang-nodejs=\"`keyVaultPassword`\" pulumi-lang-dotnet=\"`KeyVaultPassword`\" pulumi-lang-go=\"`keyVaultPassword`\" pulumi-lang-python=\"`key_vault_password`\" pulumi-lang-yaml=\"`keyVaultPassword`\" pulumi-lang-java=\"`keyVaultPassword`\"\u003e`key_vault_password`\u003c/span\u003e block as defined below. Use this argument to store Snowflake password in an existing Key Vault. It needs an existing Key Vault Data Factory Linked Service.\n"},"name":{"type":"string","description":"Specifies the name of the Data Factory Linked Service. Changing this forces a new resource to be created. Must be unique within a data factory. See the [Microsoft documentation](https://docs.microsoft.com/azure/data-factory/naming-rules) for all restrictions.\n","willReplaceOnChanges":true},"parameters":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of parameters to associate with the Data Factory Linked Service.\n"}},"type":"object"}},"azure:datafactory/linkedServiceSqlManagedInstance:LinkedServiceSqlManagedInstance":{"description":"Manages a Linked Service (connection) between Azure SQL Managed Instance and Azure Data Factory.\n\n\u003e **Note:** All arguments including the\u003cspan pulumi-lang-nodejs=\" connectionString \" pulumi-lang-dotnet=\" ConnectionString \" pulumi-lang-go=\" connectionString \" pulumi-lang-python=\" connection_string \" pulumi-lang-yaml=\" connectionString \" pulumi-lang-java=\" connectionString \"\u003e connection_string \u003c/span\u003ewill be stored in the raw state as plain-text. [Read more about sensitive data in state](https://www.terraform.io/docs/state/sensitive-data.html).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleFactory = new azure.datafactory.Factory(\"example\", {\n    name: \"example\",\n    location: example.location,\n    resourceGroupName: example.name,\n});\nconst exampleLinkedServiceSqlManagedInstance = new azure.datafactory.LinkedServiceSqlManagedInstance(\"example\", {\n    name: \"example\",\n    dataFactoryId: exampleFactory.id,\n    connectionString: \"Server=myserver.database.windows.net;Database=mydatabase;User ID=myuser;Password=mypassword;\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_factory = azure.datafactory.Factory(\"example\",\n    name=\"example\",\n    location=example.location,\n    resource_group_name=example.name)\nexample_linked_service_sql_managed_instance = azure.datafactory.LinkedServiceSqlManagedInstance(\"example\",\n    name=\"example\",\n    data_factory_id=example_factory.id,\n    connection_string=\"Server=myserver.database.windows.net;Database=mydatabase;User ID=myuser;Password=mypassword;\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleFactory = new Azure.DataFactory.Factory(\"example\", new()\n    {\n        Name = \"example\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n    });\n\n    var exampleLinkedServiceSqlManagedInstance = new Azure.DataFactory.LinkedServiceSqlManagedInstance(\"example\", new()\n    {\n        Name = \"example\",\n        DataFactoryId = exampleFactory.Id,\n        ConnectionString = \"Server=myserver.database.windows.net;Database=mydatabase;User ID=myuser;Password=mypassword;\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/datafactory\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleFactory, err := datafactory.NewFactory(ctx, \"example\", \u0026datafactory.FactoryArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = datafactory.NewLinkedServiceSqlManagedInstance(ctx, \"example\", \u0026datafactory.LinkedServiceSqlManagedInstanceArgs{\n\t\t\tName:             pulumi.String(\"example\"),\n\t\t\tDataFactoryId:    exampleFactory.ID(),\n\t\t\tConnectionString: pulumi.String(\"Server=myserver.database.windows.net;Database=mydatabase;User ID=myuser;Password=mypassword;\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.datafactory.Factory;\nimport com.pulumi.azure.datafactory.FactoryArgs;\nimport com.pulumi.azure.datafactory.LinkedServiceSqlManagedInstance;\nimport com.pulumi.azure.datafactory.LinkedServiceSqlManagedInstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleFactory = new Factory(\"exampleFactory\", FactoryArgs.builder()\n            .name(\"example\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .build());\n\n        var exampleLinkedServiceSqlManagedInstance = new LinkedServiceSqlManagedInstance(\"exampleLinkedServiceSqlManagedInstance\", LinkedServiceSqlManagedInstanceArgs.builder()\n            .name(\"example\")\n            .dataFactoryId(exampleFactory.id())\n            .connectionString(\"Server=myserver.database.windows.net;Database=mydatabase;User ID=myuser;Password=mypassword;\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleFactory:\n    type: azure:datafactory:Factory\n    name: example\n    properties:\n      name: example\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n  exampleLinkedServiceSqlManagedInstance:\n    type: azure:datafactory:LinkedServiceSqlManagedInstance\n    name: example\n    properties:\n      name: example\n      dataFactoryId: ${exampleFactory.id}\n      connectionString: Server=myserver.database.windows.net;Database=mydatabase;User ID=myuser;Password=mypassword;\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.DataFactory` - 2018-06-01\n\n## Import\n\nData Factory Linked Service SQL Managed Instances can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:datafactory/linkedServiceSqlManagedInstance:LinkedServiceSqlManagedInstance example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/example-resources/providers/Microsoft.DataFactory/factories/example/linkedServices/example\n```\n\n","properties":{"annotations":{"type":"array","items":{"type":"string"},"description":"List of tags that can be used for describing the Data Factory Linked Service SQL Managed Instance.\n"},"connectionString":{"type":"string","description":"The connection string in which to authenticate with the SQL Managed Instance. Exactly one of either \u003cspan pulumi-lang-nodejs=\"`connectionString`\" pulumi-lang-dotnet=\"`ConnectionString`\" pulumi-lang-go=\"`connectionString`\" pulumi-lang-python=\"`connection_string`\" pulumi-lang-yaml=\"`connectionString`\" pulumi-lang-java=\"`connectionString`\"\u003e`connection_string`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`keyVaultConnectionString`\" pulumi-lang-dotnet=\"`KeyVaultConnectionString`\" pulumi-lang-go=\"`keyVaultConnectionString`\" pulumi-lang-python=\"`key_vault_connection_string`\" pulumi-lang-yaml=\"`keyVaultConnectionString`\" pulumi-lang-java=\"`keyVaultConnectionString`\"\u003e`key_vault_connection_string`\u003c/span\u003e is required.\n\n\u003e **Note:** When using service principal authentication, the connection string must not contain authentication values like `User Id`.\n","secret":true},"dataFactoryId":{"type":"string","description":"The Data Factory ID in which to associate the Linked Service with. Changing this forces a new resource to be created.\n"},"description":{"type":"string","description":"The description for the Data Factory Linked Service SQL Managed Instance.\n"},"integrationRuntimeName":{"type":"string","description":"The integration runtime reference to associate with the Data Factory Linked Service SQL Managed Instance.\n"},"keyVaultConnectionString":{"$ref":"#/types/azure:datafactory/LinkedServiceSqlManagedInstanceKeyVaultConnectionString:LinkedServiceSqlManagedInstanceKeyVaultConnectionString","description":"A \u003cspan pulumi-lang-nodejs=\"`keyVaultConnectionString`\" pulumi-lang-dotnet=\"`KeyVaultConnectionString`\" pulumi-lang-go=\"`keyVaultConnectionString`\" pulumi-lang-python=\"`key_vault_connection_string`\" pulumi-lang-yaml=\"`keyVaultConnectionString`\" pulumi-lang-java=\"`keyVaultConnectionString`\"\u003e`key_vault_connection_string`\u003c/span\u003e block as defined below. Use this argument to store SQL Managed Instance connection string in an existing Key Vault. It needs an existing Key Vault Data Factory Linked Service. Exactly one of either \u003cspan pulumi-lang-nodejs=\"`connectionString`\" pulumi-lang-dotnet=\"`ConnectionString`\" pulumi-lang-go=\"`connectionString`\" pulumi-lang-python=\"`connection_string`\" pulumi-lang-yaml=\"`connectionString`\" pulumi-lang-java=\"`connectionString`\"\u003e`connection_string`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`keyVaultConnectionString`\" pulumi-lang-dotnet=\"`KeyVaultConnectionString`\" pulumi-lang-go=\"`keyVaultConnectionString`\" pulumi-lang-python=\"`key_vault_connection_string`\" pulumi-lang-yaml=\"`keyVaultConnectionString`\" pulumi-lang-java=\"`keyVaultConnectionString`\"\u003e`key_vault_connection_string`\u003c/span\u003e is required.\n"},"keyVaultPassword":{"$ref":"#/types/azure:datafactory/LinkedServiceSqlManagedInstanceKeyVaultPassword:LinkedServiceSqlManagedInstanceKeyVaultPassword","description":"A \u003cspan pulumi-lang-nodejs=\"`keyVaultPassword`\" pulumi-lang-dotnet=\"`KeyVaultPassword`\" pulumi-lang-go=\"`keyVaultPassword`\" pulumi-lang-python=\"`key_vault_password`\" pulumi-lang-yaml=\"`keyVaultPassword`\" pulumi-lang-java=\"`keyVaultPassword`\"\u003e`key_vault_password`\u003c/span\u003e block as defined below. Use this argument to store SQL Managed Instance password in an existing Key Vault. It needs an existing Key Vault Data Factory Linked Service.\n"},"name":{"type":"string","description":"Specifies the name of the Data Factory Linked Service SQL Managed Instance. Changing this forces a new resource to be created. Must be unique within a data factory. See the [Microsoft documentation](https://docs.microsoft.com/azure/data-factory/naming-rules) for all restrictions.\n"},"parameters":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of parameters to associate with the Data Factory Linked Service SQL Managed Instance.\n"},"servicePrincipalId":{"type":"string","description":"The service principal id in which to authenticate against the Azure SQL Managed Instance.\n"},"servicePrincipalKey":{"type":"string","description":"The service principal key in which to authenticate against the Azure SQL Managed Instance.\n","secret":true},"tenant":{"type":"string","description":"The tenant id or name in which to authenticate against the Azure SQL Managed Instance.\n"}},"required":["dataFactoryId","name"],"inputProperties":{"annotations":{"type":"array","items":{"type":"string"},"description":"List of tags that can be used for describing the Data Factory Linked Service SQL Managed Instance.\n"},"connectionString":{"type":"string","description":"The connection string in which to authenticate with the SQL Managed Instance. Exactly one of either \u003cspan pulumi-lang-nodejs=\"`connectionString`\" pulumi-lang-dotnet=\"`ConnectionString`\" pulumi-lang-go=\"`connectionString`\" pulumi-lang-python=\"`connection_string`\" pulumi-lang-yaml=\"`connectionString`\" pulumi-lang-java=\"`connectionString`\"\u003e`connection_string`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`keyVaultConnectionString`\" pulumi-lang-dotnet=\"`KeyVaultConnectionString`\" pulumi-lang-go=\"`keyVaultConnectionString`\" pulumi-lang-python=\"`key_vault_connection_string`\" pulumi-lang-yaml=\"`keyVaultConnectionString`\" pulumi-lang-java=\"`keyVaultConnectionString`\"\u003e`key_vault_connection_string`\u003c/span\u003e is required.\n\n\u003e **Note:** When using service principal authentication, the connection string must not contain authentication values like `User Id`.\n","secret":true},"dataFactoryId":{"type":"string","description":"The Data Factory ID in which to associate the Linked Service with. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"description":{"type":"string","description":"The description for the Data Factory Linked Service SQL Managed Instance.\n"},"integrationRuntimeName":{"type":"string","description":"The integration runtime reference to associate with the Data Factory Linked Service SQL Managed Instance.\n"},"keyVaultConnectionString":{"$ref":"#/types/azure:datafactory/LinkedServiceSqlManagedInstanceKeyVaultConnectionString:LinkedServiceSqlManagedInstanceKeyVaultConnectionString","description":"A \u003cspan pulumi-lang-nodejs=\"`keyVaultConnectionString`\" pulumi-lang-dotnet=\"`KeyVaultConnectionString`\" pulumi-lang-go=\"`keyVaultConnectionString`\" pulumi-lang-python=\"`key_vault_connection_string`\" pulumi-lang-yaml=\"`keyVaultConnectionString`\" pulumi-lang-java=\"`keyVaultConnectionString`\"\u003e`key_vault_connection_string`\u003c/span\u003e block as defined below. Use this argument to store SQL Managed Instance connection string in an existing Key Vault. It needs an existing Key Vault Data Factory Linked Service. Exactly one of either \u003cspan pulumi-lang-nodejs=\"`connectionString`\" pulumi-lang-dotnet=\"`ConnectionString`\" pulumi-lang-go=\"`connectionString`\" pulumi-lang-python=\"`connection_string`\" pulumi-lang-yaml=\"`connectionString`\" pulumi-lang-java=\"`connectionString`\"\u003e`connection_string`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`keyVaultConnectionString`\" pulumi-lang-dotnet=\"`KeyVaultConnectionString`\" pulumi-lang-go=\"`keyVaultConnectionString`\" pulumi-lang-python=\"`key_vault_connection_string`\" pulumi-lang-yaml=\"`keyVaultConnectionString`\" pulumi-lang-java=\"`keyVaultConnectionString`\"\u003e`key_vault_connection_string`\u003c/span\u003e is required.\n"},"keyVaultPassword":{"$ref":"#/types/azure:datafactory/LinkedServiceSqlManagedInstanceKeyVaultPassword:LinkedServiceSqlManagedInstanceKeyVaultPassword","description":"A \u003cspan pulumi-lang-nodejs=\"`keyVaultPassword`\" pulumi-lang-dotnet=\"`KeyVaultPassword`\" pulumi-lang-go=\"`keyVaultPassword`\" pulumi-lang-python=\"`key_vault_password`\" pulumi-lang-yaml=\"`keyVaultPassword`\" pulumi-lang-java=\"`keyVaultPassword`\"\u003e`key_vault_password`\u003c/span\u003e block as defined below. Use this argument to store SQL Managed Instance password in an existing Key Vault. It needs an existing Key Vault Data Factory Linked Service.\n"},"name":{"type":"string","description":"Specifies the name of the Data Factory Linked Service SQL Managed Instance. Changing this forces a new resource to be created. Must be unique within a data factory. See the [Microsoft documentation](https://docs.microsoft.com/azure/data-factory/naming-rules) for all restrictions.\n","willReplaceOnChanges":true},"parameters":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of parameters to associate with the Data Factory Linked Service SQL Managed Instance.\n"},"servicePrincipalId":{"type":"string","description":"The service principal id in which to authenticate against the Azure SQL Managed Instance.\n"},"servicePrincipalKey":{"type":"string","description":"The service principal key in which to authenticate against the Azure SQL Managed Instance.\n","secret":true},"tenant":{"type":"string","description":"The tenant id or name in which to authenticate against the Azure SQL Managed Instance.\n"}},"requiredInputs":["dataFactoryId"],"stateInputs":{"description":"Input properties used for looking up and filtering LinkedServiceSqlManagedInstance resources.\n","properties":{"annotations":{"type":"array","items":{"type":"string"},"description":"List of tags that can be used for describing the Data Factory Linked Service SQL Managed Instance.\n"},"connectionString":{"type":"string","description":"The connection string in which to authenticate with the SQL Managed Instance. Exactly one of either \u003cspan pulumi-lang-nodejs=\"`connectionString`\" pulumi-lang-dotnet=\"`ConnectionString`\" pulumi-lang-go=\"`connectionString`\" pulumi-lang-python=\"`connection_string`\" pulumi-lang-yaml=\"`connectionString`\" pulumi-lang-java=\"`connectionString`\"\u003e`connection_string`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`keyVaultConnectionString`\" pulumi-lang-dotnet=\"`KeyVaultConnectionString`\" pulumi-lang-go=\"`keyVaultConnectionString`\" pulumi-lang-python=\"`key_vault_connection_string`\" pulumi-lang-yaml=\"`keyVaultConnectionString`\" pulumi-lang-java=\"`keyVaultConnectionString`\"\u003e`key_vault_connection_string`\u003c/span\u003e is required.\n\n\u003e **Note:** When using service principal authentication, the connection string must not contain authentication values like `User Id`.\n","secret":true},"dataFactoryId":{"type":"string","description":"The Data Factory ID in which to associate the Linked Service with. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"description":{"type":"string","description":"The description for the Data Factory Linked Service SQL Managed Instance.\n"},"integrationRuntimeName":{"type":"string","description":"The integration runtime reference to associate with the Data Factory Linked Service SQL Managed Instance.\n"},"keyVaultConnectionString":{"$ref":"#/types/azure:datafactory/LinkedServiceSqlManagedInstanceKeyVaultConnectionString:LinkedServiceSqlManagedInstanceKeyVaultConnectionString","description":"A \u003cspan pulumi-lang-nodejs=\"`keyVaultConnectionString`\" pulumi-lang-dotnet=\"`KeyVaultConnectionString`\" pulumi-lang-go=\"`keyVaultConnectionString`\" pulumi-lang-python=\"`key_vault_connection_string`\" pulumi-lang-yaml=\"`keyVaultConnectionString`\" pulumi-lang-java=\"`keyVaultConnectionString`\"\u003e`key_vault_connection_string`\u003c/span\u003e block as defined below. Use this argument to store SQL Managed Instance connection string in an existing Key Vault. It needs an existing Key Vault Data Factory Linked Service. Exactly one of either \u003cspan pulumi-lang-nodejs=\"`connectionString`\" pulumi-lang-dotnet=\"`ConnectionString`\" pulumi-lang-go=\"`connectionString`\" pulumi-lang-python=\"`connection_string`\" pulumi-lang-yaml=\"`connectionString`\" pulumi-lang-java=\"`connectionString`\"\u003e`connection_string`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`keyVaultConnectionString`\" pulumi-lang-dotnet=\"`KeyVaultConnectionString`\" pulumi-lang-go=\"`keyVaultConnectionString`\" pulumi-lang-python=\"`key_vault_connection_string`\" pulumi-lang-yaml=\"`keyVaultConnectionString`\" pulumi-lang-java=\"`keyVaultConnectionString`\"\u003e`key_vault_connection_string`\u003c/span\u003e is required.\n"},"keyVaultPassword":{"$ref":"#/types/azure:datafactory/LinkedServiceSqlManagedInstanceKeyVaultPassword:LinkedServiceSqlManagedInstanceKeyVaultPassword","description":"A \u003cspan pulumi-lang-nodejs=\"`keyVaultPassword`\" pulumi-lang-dotnet=\"`KeyVaultPassword`\" pulumi-lang-go=\"`keyVaultPassword`\" pulumi-lang-python=\"`key_vault_password`\" pulumi-lang-yaml=\"`keyVaultPassword`\" pulumi-lang-java=\"`keyVaultPassword`\"\u003e`key_vault_password`\u003c/span\u003e block as defined below. Use this argument to store SQL Managed Instance password in an existing Key Vault. It needs an existing Key Vault Data Factory Linked Service.\n"},"name":{"type":"string","description":"Specifies the name of the Data Factory Linked Service SQL Managed Instance. Changing this forces a new resource to be created. Must be unique within a data factory. See the [Microsoft documentation](https://docs.microsoft.com/azure/data-factory/naming-rules) for all restrictions.\n","willReplaceOnChanges":true},"parameters":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of parameters to associate with the Data Factory Linked Service SQL Managed Instance.\n"},"servicePrincipalId":{"type":"string","description":"The service principal id in which to authenticate against the Azure SQL Managed Instance.\n"},"servicePrincipalKey":{"type":"string","description":"The service principal key in which to authenticate against the Azure SQL Managed Instance.\n","secret":true},"tenant":{"type":"string","description":"The tenant id or name in which to authenticate against the Azure SQL Managed Instance.\n"}},"type":"object"}},"azure:datafactory/linkedServiceSqlServer:LinkedServiceSqlServer":{"description":"Manages a Linked Service (connection) between a SQL Server and Azure Data Factory.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleFactory = new azure.datafactory.Factory(\"example\", {\n    name: \"example\",\n    location: example.location,\n    resourceGroupName: example.name,\n});\nconst exampleLinkedServiceSqlServer = new azure.datafactory.LinkedServiceSqlServer(\"example\", {\n    name: \"example\",\n    dataFactoryId: exampleFactory.id,\n    connectionString: \"Integrated Security=False;Data Source=test;Initial Catalog=test;User ID=test;Password=test\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_factory = azure.datafactory.Factory(\"example\",\n    name=\"example\",\n    location=example.location,\n    resource_group_name=example.name)\nexample_linked_service_sql_server = azure.datafactory.LinkedServiceSqlServer(\"example\",\n    name=\"example\",\n    data_factory_id=example_factory.id,\n    connection_string=\"Integrated Security=False;Data Source=test;Initial Catalog=test;User ID=test;Password=test\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleFactory = new Azure.DataFactory.Factory(\"example\", new()\n    {\n        Name = \"example\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n    });\n\n    var exampleLinkedServiceSqlServer = new Azure.DataFactory.LinkedServiceSqlServer(\"example\", new()\n    {\n        Name = \"example\",\n        DataFactoryId = exampleFactory.Id,\n        ConnectionString = \"Integrated Security=False;Data Source=test;Initial Catalog=test;User ID=test;Password=test\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/datafactory\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleFactory, err := datafactory.NewFactory(ctx, \"example\", \u0026datafactory.FactoryArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = datafactory.NewLinkedServiceSqlServer(ctx, \"example\", \u0026datafactory.LinkedServiceSqlServerArgs{\n\t\t\tName:             pulumi.String(\"example\"),\n\t\t\tDataFactoryId:    exampleFactory.ID(),\n\t\t\tConnectionString: pulumi.String(\"Integrated Security=False;Data Source=test;Initial Catalog=test;User ID=test;Password=test\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.datafactory.Factory;\nimport com.pulumi.azure.datafactory.FactoryArgs;\nimport com.pulumi.azure.datafactory.LinkedServiceSqlServer;\nimport com.pulumi.azure.datafactory.LinkedServiceSqlServerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleFactory = new Factory(\"exampleFactory\", FactoryArgs.builder()\n            .name(\"example\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .build());\n\n        var exampleLinkedServiceSqlServer = new LinkedServiceSqlServer(\"exampleLinkedServiceSqlServer\", LinkedServiceSqlServerArgs.builder()\n            .name(\"example\")\n            .dataFactoryId(exampleFactory.id())\n            .connectionString(\"Integrated Security=False;Data Source=test;Initial Catalog=test;User ID=test;Password=test\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleFactory:\n    type: azure:datafactory:Factory\n    name: example\n    properties:\n      name: example\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n  exampleLinkedServiceSqlServer:\n    type: azure:datafactory:LinkedServiceSqlServer\n    name: example\n    properties:\n      name: example\n      dataFactoryId: ${exampleFactory.id}\n      connectionString: Integrated Security=False;Data Source=test;Initial Catalog=test;User ID=test;Password=test\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\n### With Password In Key Vault\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst current = azure.core.getClientConfig({});\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleKeyVault = new azure.keyvault.KeyVault(\"example\", {\n    name: \"example\",\n    location: example.location,\n    resourceGroupName: example.name,\n    tenantId: current.then(current =\u003e current.tenantId),\n    skuName: \"standard\",\n});\nconst exampleFactory = new azure.datafactory.Factory(\"example\", {\n    name: \"example\",\n    location: example.location,\n    resourceGroupName: example.name,\n});\nconst exampleLinkedServiceKeyVault = new azure.datafactory.LinkedServiceKeyVault(\"example\", {\n    name: \"kvlink\",\n    dataFactoryId: exampleFactory.id,\n    keyVaultId: exampleKeyVault.id,\n});\nconst exampleLinkedServiceSqlServer = new azure.datafactory.LinkedServiceSqlServer(\"example\", {\n    name: \"example\",\n    dataFactoryId: exampleFactory.id,\n    connectionString: \"Integrated Security=False;Data Source=test;Initial Catalog=test;User ID=test;\",\n    keyVaultPassword: {\n        linkedServiceName: exampleLinkedServiceKeyVault.name,\n        secretName: \"secret\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\ncurrent = azure.core.get_client_config()\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_key_vault = azure.keyvault.KeyVault(\"example\",\n    name=\"example\",\n    location=example.location,\n    resource_group_name=example.name,\n    tenant_id=current.tenant_id,\n    sku_name=\"standard\")\nexample_factory = azure.datafactory.Factory(\"example\",\n    name=\"example\",\n    location=example.location,\n    resource_group_name=example.name)\nexample_linked_service_key_vault = azure.datafactory.LinkedServiceKeyVault(\"example\",\n    name=\"kvlink\",\n    data_factory_id=example_factory.id,\n    key_vault_id=example_key_vault.id)\nexample_linked_service_sql_server = azure.datafactory.LinkedServiceSqlServer(\"example\",\n    name=\"example\",\n    data_factory_id=example_factory.id,\n    connection_string=\"Integrated Security=False;Data Source=test;Initial Catalog=test;User ID=test;\",\n    key_vault_password={\n        \"linked_service_name\": example_linked_service_key_vault.name,\n        \"secret_name\": \"secret\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var current = Azure.Core.GetClientConfig.Invoke();\n\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleKeyVault = new Azure.KeyVault.KeyVault(\"example\", new()\n    {\n        Name = \"example\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        TenantId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.TenantId),\n        SkuName = \"standard\",\n    });\n\n    var exampleFactory = new Azure.DataFactory.Factory(\"example\", new()\n    {\n        Name = \"example\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n    });\n\n    var exampleLinkedServiceKeyVault = new Azure.DataFactory.LinkedServiceKeyVault(\"example\", new()\n    {\n        Name = \"kvlink\",\n        DataFactoryId = exampleFactory.Id,\n        KeyVaultId = exampleKeyVault.Id,\n    });\n\n    var exampleLinkedServiceSqlServer = new Azure.DataFactory.LinkedServiceSqlServer(\"example\", new()\n    {\n        Name = \"example\",\n        DataFactoryId = exampleFactory.Id,\n        ConnectionString = \"Integrated Security=False;Data Source=test;Initial Catalog=test;User ID=test;\",\n        KeyVaultPassword = new Azure.DataFactory.Inputs.LinkedServiceSqlServerKeyVaultPasswordArgs\n        {\n            LinkedServiceName = exampleLinkedServiceKeyVault.Name,\n            SecretName = \"secret\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/datafactory\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/keyvault\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := core.GetClientConfig(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleKeyVault, err := keyvault.NewKeyVault(ctx, \"example\", \u0026keyvault.KeyVaultArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tTenantId:          pulumi.String(current.TenantId),\n\t\t\tSkuName:           pulumi.String(\"standard\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleFactory, err := datafactory.NewFactory(ctx, \"example\", \u0026datafactory.FactoryArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleLinkedServiceKeyVault, err := datafactory.NewLinkedServiceKeyVault(ctx, \"example\", \u0026datafactory.LinkedServiceKeyVaultArgs{\n\t\t\tName:          pulumi.String(\"kvlink\"),\n\t\t\tDataFactoryId: exampleFactory.ID(),\n\t\t\tKeyVaultId:    exampleKeyVault.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = datafactory.NewLinkedServiceSqlServer(ctx, \"example\", \u0026datafactory.LinkedServiceSqlServerArgs{\n\t\t\tName:             pulumi.String(\"example\"),\n\t\t\tDataFactoryId:    exampleFactory.ID(),\n\t\t\tConnectionString: pulumi.String(\"Integrated Security=False;Data Source=test;Initial Catalog=test;User ID=test;\"),\n\t\t\tKeyVaultPassword: \u0026datafactory.LinkedServiceSqlServerKeyVaultPasswordArgs{\n\t\t\t\tLinkedServiceName: exampleLinkedServiceKeyVault.Name,\n\t\t\t\tSecretName:        pulumi.String(\"secret\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.keyvault.KeyVault;\nimport com.pulumi.azure.keyvault.KeyVaultArgs;\nimport com.pulumi.azure.datafactory.Factory;\nimport com.pulumi.azure.datafactory.FactoryArgs;\nimport com.pulumi.azure.datafactory.LinkedServiceKeyVault;\nimport com.pulumi.azure.datafactory.LinkedServiceKeyVaultArgs;\nimport com.pulumi.azure.datafactory.LinkedServiceSqlServer;\nimport com.pulumi.azure.datafactory.LinkedServiceSqlServerArgs;\nimport com.pulumi.azure.datafactory.inputs.LinkedServiceSqlServerKeyVaultPasswordArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var current = CoreFunctions.getClientConfig(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleKeyVault = new KeyVault(\"exampleKeyVault\", KeyVaultArgs.builder()\n            .name(\"example\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .tenantId(current.tenantId())\n            .skuName(\"standard\")\n            .build());\n\n        var exampleFactory = new Factory(\"exampleFactory\", FactoryArgs.builder()\n            .name(\"example\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .build());\n\n        var exampleLinkedServiceKeyVault = new LinkedServiceKeyVault(\"exampleLinkedServiceKeyVault\", LinkedServiceKeyVaultArgs.builder()\n            .name(\"kvlink\")\n            .dataFactoryId(exampleFactory.id())\n            .keyVaultId(exampleKeyVault.id())\n            .build());\n\n        var exampleLinkedServiceSqlServer = new LinkedServiceSqlServer(\"exampleLinkedServiceSqlServer\", LinkedServiceSqlServerArgs.builder()\n            .name(\"example\")\n            .dataFactoryId(exampleFactory.id())\n            .connectionString(\"Integrated Security=False;Data Source=test;Initial Catalog=test;User ID=test;\")\n            .keyVaultPassword(LinkedServiceSqlServerKeyVaultPasswordArgs.builder()\n                .linkedServiceName(exampleLinkedServiceKeyVault.name())\n                .secretName(\"secret\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleKeyVault:\n    type: azure:keyvault:KeyVault\n    name: example\n    properties:\n      name: example\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      tenantId: ${current.tenantId}\n      skuName: standard\n  exampleFactory:\n    type: azure:datafactory:Factory\n    name: example\n    properties:\n      name: example\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n  exampleLinkedServiceKeyVault:\n    type: azure:datafactory:LinkedServiceKeyVault\n    name: example\n    properties:\n      name: kvlink\n      dataFactoryId: ${exampleFactory.id}\n      keyVaultId: ${exampleKeyVault.id}\n  exampleLinkedServiceSqlServer:\n    type: azure:datafactory:LinkedServiceSqlServer\n    name: example\n    properties:\n      name: example\n      dataFactoryId: ${exampleFactory.id}\n      connectionString: Integrated Security=False;Data Source=test;Initial Catalog=test;User ID=test;\n      keyVaultPassword:\n        linkedServiceName: ${exampleLinkedServiceKeyVault.name}\n        secretName: secret\nvariables:\n  current:\n    fn::invoke:\n      function: azure:core:getClientConfig\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nData Factory SQL Server Linked Service's can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:datafactory/linkedServiceSqlServer:LinkedServiceSqlServer example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/example/providers/Microsoft.DataFactory/factories/example/linkedservices/example\n```\n\n","properties":{"additionalProperties":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of additional properties to associate with the Data Factory Linked Service SQL Server.\n"},"annotations":{"type":"array","items":{"type":"string"},"description":"List of tags that can be used for describing the Data Factory Linked Service SQL Server.\n"},"connectionString":{"type":"string","description":"The connection string in which to authenticate with the SQL Server. Exactly one of either \u003cspan pulumi-lang-nodejs=\"`connectionString`\" pulumi-lang-dotnet=\"`ConnectionString`\" pulumi-lang-go=\"`connectionString`\" pulumi-lang-python=\"`connection_string`\" pulumi-lang-yaml=\"`connectionString`\" pulumi-lang-java=\"`connectionString`\"\u003e`connection_string`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`keyVaultConnectionString`\" pulumi-lang-dotnet=\"`KeyVaultConnectionString`\" pulumi-lang-go=\"`keyVaultConnectionString`\" pulumi-lang-python=\"`key_vault_connection_string`\" pulumi-lang-yaml=\"`keyVaultConnectionString`\" pulumi-lang-java=\"`keyVaultConnectionString`\"\u003e`key_vault_connection_string`\u003c/span\u003e is required.\n"},"dataFactoryId":{"type":"string","description":"The Data Factory ID in which to associate the Linked Service with. Changing this forces a new resource.\n"},"description":{"type":"string","description":"The description for the Data Factory Linked Service SQL Server.\n"},"integrationRuntimeName":{"type":"string","description":"The integration runtime reference to associate with the Data Factory Linked Service SQL Server.\n"},"keyVaultConnectionString":{"$ref":"#/types/azure:datafactory/LinkedServiceSqlServerKeyVaultConnectionString:LinkedServiceSqlServerKeyVaultConnectionString","description":"A \u003cspan pulumi-lang-nodejs=\"`keyVaultConnectionString`\" pulumi-lang-dotnet=\"`KeyVaultConnectionString`\" pulumi-lang-go=\"`keyVaultConnectionString`\" pulumi-lang-python=\"`key_vault_connection_string`\" pulumi-lang-yaml=\"`keyVaultConnectionString`\" pulumi-lang-java=\"`keyVaultConnectionString`\"\u003e`key_vault_connection_string`\u003c/span\u003e block as defined below. Use this argument to store SQL Server connection string in an existing Key Vault. It needs an existing Key Vault Data Factory Linked Service. Exactly one of either \u003cspan pulumi-lang-nodejs=\"`connectionString`\" pulumi-lang-dotnet=\"`ConnectionString`\" pulumi-lang-go=\"`connectionString`\" pulumi-lang-python=\"`connection_string`\" pulumi-lang-yaml=\"`connectionString`\" pulumi-lang-java=\"`connectionString`\"\u003e`connection_string`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`keyVaultConnectionString`\" pulumi-lang-dotnet=\"`KeyVaultConnectionString`\" pulumi-lang-go=\"`keyVaultConnectionString`\" pulumi-lang-python=\"`key_vault_connection_string`\" pulumi-lang-yaml=\"`keyVaultConnectionString`\" pulumi-lang-java=\"`keyVaultConnectionString`\"\u003e`key_vault_connection_string`\u003c/span\u003e is required.\n"},"keyVaultPassword":{"$ref":"#/types/azure:datafactory/LinkedServiceSqlServerKeyVaultPassword:LinkedServiceSqlServerKeyVaultPassword","description":"A \u003cspan pulumi-lang-nodejs=\"`keyVaultPassword`\" pulumi-lang-dotnet=\"`KeyVaultPassword`\" pulumi-lang-go=\"`keyVaultPassword`\" pulumi-lang-python=\"`key_vault_password`\" pulumi-lang-yaml=\"`keyVaultPassword`\" pulumi-lang-java=\"`keyVaultPassword`\"\u003e`key_vault_password`\u003c/span\u003e block as defined below. Use this argument to store SQL Server password in an existing Key Vault. It needs an existing Key Vault Data Factory Linked Service.\n"},"name":{"type":"string","description":"Specifies the name of the Data Factory Linked Service SQL Server. Changing this forces a new resource to be created. Must be unique within a data factory. See the [Microsoft documentation](https://docs.microsoft.com/azure/data-factory/naming-rules) for all restrictions.\n"},"parameters":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of parameters to associate with the Data Factory Linked Service SQL Server.\n"},"userName":{"type":"string","description":"The on-premises Windows authentication user name.\n"}},"required":["dataFactoryId","name"],"inputProperties":{"additionalProperties":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of additional properties to associate with the Data Factory Linked Service SQL Server.\n"},"annotations":{"type":"array","items":{"type":"string"},"description":"List of tags that can be used for describing the Data Factory Linked Service SQL Server.\n"},"connectionString":{"type":"string","description":"The connection string in which to authenticate with the SQL Server. Exactly one of either \u003cspan pulumi-lang-nodejs=\"`connectionString`\" pulumi-lang-dotnet=\"`ConnectionString`\" pulumi-lang-go=\"`connectionString`\" pulumi-lang-python=\"`connection_string`\" pulumi-lang-yaml=\"`connectionString`\" pulumi-lang-java=\"`connectionString`\"\u003e`connection_string`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`keyVaultConnectionString`\" pulumi-lang-dotnet=\"`KeyVaultConnectionString`\" pulumi-lang-go=\"`keyVaultConnectionString`\" pulumi-lang-python=\"`key_vault_connection_string`\" pulumi-lang-yaml=\"`keyVaultConnectionString`\" pulumi-lang-java=\"`keyVaultConnectionString`\"\u003e`key_vault_connection_string`\u003c/span\u003e is required.\n"},"dataFactoryId":{"type":"string","description":"The Data Factory ID in which to associate the Linked Service with. Changing this forces a new resource.\n","willReplaceOnChanges":true},"description":{"type":"string","description":"The description for the Data Factory Linked Service SQL Server.\n"},"integrationRuntimeName":{"type":"string","description":"The integration runtime reference to associate with the Data Factory Linked Service SQL Server.\n"},"keyVaultConnectionString":{"$ref":"#/types/azure:datafactory/LinkedServiceSqlServerKeyVaultConnectionString:LinkedServiceSqlServerKeyVaultConnectionString","description":"A \u003cspan pulumi-lang-nodejs=\"`keyVaultConnectionString`\" pulumi-lang-dotnet=\"`KeyVaultConnectionString`\" pulumi-lang-go=\"`keyVaultConnectionString`\" pulumi-lang-python=\"`key_vault_connection_string`\" pulumi-lang-yaml=\"`keyVaultConnectionString`\" pulumi-lang-java=\"`keyVaultConnectionString`\"\u003e`key_vault_connection_string`\u003c/span\u003e block as defined below. Use this argument to store SQL Server connection string in an existing Key Vault. It needs an existing Key Vault Data Factory Linked Service. Exactly one of either \u003cspan pulumi-lang-nodejs=\"`connectionString`\" pulumi-lang-dotnet=\"`ConnectionString`\" pulumi-lang-go=\"`connectionString`\" pulumi-lang-python=\"`connection_string`\" pulumi-lang-yaml=\"`connectionString`\" pulumi-lang-java=\"`connectionString`\"\u003e`connection_string`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`keyVaultConnectionString`\" pulumi-lang-dotnet=\"`KeyVaultConnectionString`\" pulumi-lang-go=\"`keyVaultConnectionString`\" pulumi-lang-python=\"`key_vault_connection_string`\" pulumi-lang-yaml=\"`keyVaultConnectionString`\" pulumi-lang-java=\"`keyVaultConnectionString`\"\u003e`key_vault_connection_string`\u003c/span\u003e is required.\n"},"keyVaultPassword":{"$ref":"#/types/azure:datafactory/LinkedServiceSqlServerKeyVaultPassword:LinkedServiceSqlServerKeyVaultPassword","description":"A \u003cspan pulumi-lang-nodejs=\"`keyVaultPassword`\" pulumi-lang-dotnet=\"`KeyVaultPassword`\" pulumi-lang-go=\"`keyVaultPassword`\" pulumi-lang-python=\"`key_vault_password`\" pulumi-lang-yaml=\"`keyVaultPassword`\" pulumi-lang-java=\"`keyVaultPassword`\"\u003e`key_vault_password`\u003c/span\u003e block as defined below. Use this argument to store SQL Server password in an existing Key Vault. It needs an existing Key Vault Data Factory Linked Service.\n"},"name":{"type":"string","description":"Specifies the name of the Data Factory Linked Service SQL Server. Changing this forces a new resource to be created. Must be unique within a data factory. See the [Microsoft documentation](https://docs.microsoft.com/azure/data-factory/naming-rules) for all restrictions.\n","willReplaceOnChanges":true},"parameters":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of parameters to associate with the Data Factory Linked Service SQL Server.\n"},"userName":{"type":"string","description":"The on-premises Windows authentication user name.\n"}},"requiredInputs":["dataFactoryId"],"stateInputs":{"description":"Input properties used for looking up and filtering LinkedServiceSqlServer resources.\n","properties":{"additionalProperties":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of additional properties to associate with the Data Factory Linked Service SQL Server.\n"},"annotations":{"type":"array","items":{"type":"string"},"description":"List of tags that can be used for describing the Data Factory Linked Service SQL Server.\n"},"connectionString":{"type":"string","description":"The connection string in which to authenticate with the SQL Server. Exactly one of either \u003cspan pulumi-lang-nodejs=\"`connectionString`\" pulumi-lang-dotnet=\"`ConnectionString`\" pulumi-lang-go=\"`connectionString`\" pulumi-lang-python=\"`connection_string`\" pulumi-lang-yaml=\"`connectionString`\" pulumi-lang-java=\"`connectionString`\"\u003e`connection_string`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`keyVaultConnectionString`\" pulumi-lang-dotnet=\"`KeyVaultConnectionString`\" pulumi-lang-go=\"`keyVaultConnectionString`\" pulumi-lang-python=\"`key_vault_connection_string`\" pulumi-lang-yaml=\"`keyVaultConnectionString`\" pulumi-lang-java=\"`keyVaultConnectionString`\"\u003e`key_vault_connection_string`\u003c/span\u003e is required.\n"},"dataFactoryId":{"type":"string","description":"The Data Factory ID in which to associate the Linked Service with. Changing this forces a new resource.\n","willReplaceOnChanges":true},"description":{"type":"string","description":"The description for the Data Factory Linked Service SQL Server.\n"},"integrationRuntimeName":{"type":"string","description":"The integration runtime reference to associate with the Data Factory Linked Service SQL Server.\n"},"keyVaultConnectionString":{"$ref":"#/types/azure:datafactory/LinkedServiceSqlServerKeyVaultConnectionString:LinkedServiceSqlServerKeyVaultConnectionString","description":"A \u003cspan pulumi-lang-nodejs=\"`keyVaultConnectionString`\" pulumi-lang-dotnet=\"`KeyVaultConnectionString`\" pulumi-lang-go=\"`keyVaultConnectionString`\" pulumi-lang-python=\"`key_vault_connection_string`\" pulumi-lang-yaml=\"`keyVaultConnectionString`\" pulumi-lang-java=\"`keyVaultConnectionString`\"\u003e`key_vault_connection_string`\u003c/span\u003e block as defined below. Use this argument to store SQL Server connection string in an existing Key Vault. It needs an existing Key Vault Data Factory Linked Service. Exactly one of either \u003cspan pulumi-lang-nodejs=\"`connectionString`\" pulumi-lang-dotnet=\"`ConnectionString`\" pulumi-lang-go=\"`connectionString`\" pulumi-lang-python=\"`connection_string`\" pulumi-lang-yaml=\"`connectionString`\" pulumi-lang-java=\"`connectionString`\"\u003e`connection_string`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`keyVaultConnectionString`\" pulumi-lang-dotnet=\"`KeyVaultConnectionString`\" pulumi-lang-go=\"`keyVaultConnectionString`\" pulumi-lang-python=\"`key_vault_connection_string`\" pulumi-lang-yaml=\"`keyVaultConnectionString`\" pulumi-lang-java=\"`keyVaultConnectionString`\"\u003e`key_vault_connection_string`\u003c/span\u003e is required.\n"},"keyVaultPassword":{"$ref":"#/types/azure:datafactory/LinkedServiceSqlServerKeyVaultPassword:LinkedServiceSqlServerKeyVaultPassword","description":"A \u003cspan pulumi-lang-nodejs=\"`keyVaultPassword`\" pulumi-lang-dotnet=\"`KeyVaultPassword`\" pulumi-lang-go=\"`keyVaultPassword`\" pulumi-lang-python=\"`key_vault_password`\" pulumi-lang-yaml=\"`keyVaultPassword`\" pulumi-lang-java=\"`keyVaultPassword`\"\u003e`key_vault_password`\u003c/span\u003e block as defined below. Use this argument to store SQL Server password in an existing Key Vault. It needs an existing Key Vault Data Factory Linked Service.\n"},"name":{"type":"string","description":"Specifies the name of the Data Factory Linked Service SQL Server. Changing this forces a new resource to be created. Must be unique within a data factory. See the [Microsoft documentation](https://docs.microsoft.com/azure/data-factory/naming-rules) for all restrictions.\n","willReplaceOnChanges":true},"parameters":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of parameters to associate with the Data Factory Linked Service SQL Server.\n"},"userName":{"type":"string","description":"The on-premises Windows authentication user name.\n"}},"type":"object"}},"azure:datafactory/linkedServiceSynapse:LinkedServiceSynapse":{"description":"Manages a Linked Service (connection) between Synapse and Azure Data Factory.\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleFactory = new azure.datafactory.Factory(\"example\", {\n    name: \"example\",\n    location: example.location,\n    resourceGroupName: example.name,\n});\nconst exampleLinkedServiceSynapse = new azure.datafactory.LinkedServiceSynapse(\"example\", {\n    name: \"example\",\n    dataFactoryId: exampleFactory.id,\n    connectionString: \"Integrated Security=False;Data Source=test;Initial Catalog=test;User ID=test;Password=test\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_factory = azure.datafactory.Factory(\"example\",\n    name=\"example\",\n    location=example.location,\n    resource_group_name=example.name)\nexample_linked_service_synapse = azure.datafactory.LinkedServiceSynapse(\"example\",\n    name=\"example\",\n    data_factory_id=example_factory.id,\n    connection_string=\"Integrated Security=False;Data Source=test;Initial Catalog=test;User ID=test;Password=test\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleFactory = new Azure.DataFactory.Factory(\"example\", new()\n    {\n        Name = \"example\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n    });\n\n    var exampleLinkedServiceSynapse = new Azure.DataFactory.LinkedServiceSynapse(\"example\", new()\n    {\n        Name = \"example\",\n        DataFactoryId = exampleFactory.Id,\n        ConnectionString = \"Integrated Security=False;Data Source=test;Initial Catalog=test;User ID=test;Password=test\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/datafactory\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleFactory, err := datafactory.NewFactory(ctx, \"example\", \u0026datafactory.FactoryArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = datafactory.NewLinkedServiceSynapse(ctx, \"example\", \u0026datafactory.LinkedServiceSynapseArgs{\n\t\t\tName:             pulumi.String(\"example\"),\n\t\t\tDataFactoryId:    exampleFactory.ID(),\n\t\t\tConnectionString: pulumi.String(\"Integrated Security=False;Data Source=test;Initial Catalog=test;User ID=test;Password=test\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.datafactory.Factory;\nimport com.pulumi.azure.datafactory.FactoryArgs;\nimport com.pulumi.azure.datafactory.LinkedServiceSynapse;\nimport com.pulumi.azure.datafactory.LinkedServiceSynapseArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleFactory = new Factory(\"exampleFactory\", FactoryArgs.builder()\n            .name(\"example\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .build());\n\n        var exampleLinkedServiceSynapse = new LinkedServiceSynapse(\"exampleLinkedServiceSynapse\", LinkedServiceSynapseArgs.builder()\n            .name(\"example\")\n            .dataFactoryId(exampleFactory.id())\n            .connectionString(\"Integrated Security=False;Data Source=test;Initial Catalog=test;User ID=test;Password=test\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleFactory:\n    type: azure:datafactory:Factory\n    name: example\n    properties:\n      name: example\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n  exampleLinkedServiceSynapse:\n    type: azure:datafactory:LinkedServiceSynapse\n    name: example\n    properties:\n      name: example\n      dataFactoryId: ${exampleFactory.id}\n      connectionString: Integrated Security=False;Data Source=test;Initial Catalog=test;User ID=test;Password=test\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\n### With Password In Key Vault\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst current = azure.core.getClientConfig({});\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleKeyVault = new azure.keyvault.KeyVault(\"example\", {\n    name: \"example\",\n    location: example.location,\n    resourceGroupName: example.name,\n    tenantId: current.then(current =\u003e current.tenantId),\n    skuName: \"standard\",\n});\nconst exampleFactory = new azure.datafactory.Factory(\"example\", {\n    name: \"example\",\n    location: example.location,\n    resourceGroupName: example.name,\n});\nconst exampleLinkedServiceKeyVault = new azure.datafactory.LinkedServiceKeyVault(\"example\", {\n    name: \"kvlink\",\n    dataFactoryId: exampleFactory.id,\n    keyVaultId: exampleKeyVault.id,\n});\nconst exampleLinkedServiceSynapse = new azure.datafactory.LinkedServiceSynapse(\"example\", {\n    name: \"example\",\n    dataFactoryId: exampleFactory.id,\n    connectionString: \"Integrated Security=False;Data Source=test;Initial Catalog=test;User ID=test;\",\n    keyVaultPassword: {\n        linkedServiceName: exampleLinkedServiceKeyVault.name,\n        secretName: \"secret\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\ncurrent = azure.core.get_client_config()\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_key_vault = azure.keyvault.KeyVault(\"example\",\n    name=\"example\",\n    location=example.location,\n    resource_group_name=example.name,\n    tenant_id=current.tenant_id,\n    sku_name=\"standard\")\nexample_factory = azure.datafactory.Factory(\"example\",\n    name=\"example\",\n    location=example.location,\n    resource_group_name=example.name)\nexample_linked_service_key_vault = azure.datafactory.LinkedServiceKeyVault(\"example\",\n    name=\"kvlink\",\n    data_factory_id=example_factory.id,\n    key_vault_id=example_key_vault.id)\nexample_linked_service_synapse = azure.datafactory.LinkedServiceSynapse(\"example\",\n    name=\"example\",\n    data_factory_id=example_factory.id,\n    connection_string=\"Integrated Security=False;Data Source=test;Initial Catalog=test;User ID=test;\",\n    key_vault_password={\n        \"linked_service_name\": example_linked_service_key_vault.name,\n        \"secret_name\": \"secret\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var current = Azure.Core.GetClientConfig.Invoke();\n\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleKeyVault = new Azure.KeyVault.KeyVault(\"example\", new()\n    {\n        Name = \"example\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        TenantId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.TenantId),\n        SkuName = \"standard\",\n    });\n\n    var exampleFactory = new Azure.DataFactory.Factory(\"example\", new()\n    {\n        Name = \"example\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n    });\n\n    var exampleLinkedServiceKeyVault = new Azure.DataFactory.LinkedServiceKeyVault(\"example\", new()\n    {\n        Name = \"kvlink\",\n        DataFactoryId = exampleFactory.Id,\n        KeyVaultId = exampleKeyVault.Id,\n    });\n\n    var exampleLinkedServiceSynapse = new Azure.DataFactory.LinkedServiceSynapse(\"example\", new()\n    {\n        Name = \"example\",\n        DataFactoryId = exampleFactory.Id,\n        ConnectionString = \"Integrated Security=False;Data Source=test;Initial Catalog=test;User ID=test;\",\n        KeyVaultPassword = new Azure.DataFactory.Inputs.LinkedServiceSynapseKeyVaultPasswordArgs\n        {\n            LinkedServiceName = exampleLinkedServiceKeyVault.Name,\n            SecretName = \"secret\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/datafactory\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/keyvault\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := core.GetClientConfig(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleKeyVault, err := keyvault.NewKeyVault(ctx, \"example\", \u0026keyvault.KeyVaultArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tTenantId:          pulumi.String(current.TenantId),\n\t\t\tSkuName:           pulumi.String(\"standard\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleFactory, err := datafactory.NewFactory(ctx, \"example\", \u0026datafactory.FactoryArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleLinkedServiceKeyVault, err := datafactory.NewLinkedServiceKeyVault(ctx, \"example\", \u0026datafactory.LinkedServiceKeyVaultArgs{\n\t\t\tName:          pulumi.String(\"kvlink\"),\n\t\t\tDataFactoryId: exampleFactory.ID(),\n\t\t\tKeyVaultId:    exampleKeyVault.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = datafactory.NewLinkedServiceSynapse(ctx, \"example\", \u0026datafactory.LinkedServiceSynapseArgs{\n\t\t\tName:             pulumi.String(\"example\"),\n\t\t\tDataFactoryId:    exampleFactory.ID(),\n\t\t\tConnectionString: pulumi.String(\"Integrated Security=False;Data Source=test;Initial Catalog=test;User ID=test;\"),\n\t\t\tKeyVaultPassword: \u0026datafactory.LinkedServiceSynapseKeyVaultPasswordArgs{\n\t\t\t\tLinkedServiceName: exampleLinkedServiceKeyVault.Name,\n\t\t\t\tSecretName:        pulumi.String(\"secret\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.keyvault.KeyVault;\nimport com.pulumi.azure.keyvault.KeyVaultArgs;\nimport com.pulumi.azure.datafactory.Factory;\nimport com.pulumi.azure.datafactory.FactoryArgs;\nimport com.pulumi.azure.datafactory.LinkedServiceKeyVault;\nimport com.pulumi.azure.datafactory.LinkedServiceKeyVaultArgs;\nimport com.pulumi.azure.datafactory.LinkedServiceSynapse;\nimport com.pulumi.azure.datafactory.LinkedServiceSynapseArgs;\nimport com.pulumi.azure.datafactory.inputs.LinkedServiceSynapseKeyVaultPasswordArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var current = CoreFunctions.getClientConfig(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleKeyVault = new KeyVault(\"exampleKeyVault\", KeyVaultArgs.builder()\n            .name(\"example\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .tenantId(current.tenantId())\n            .skuName(\"standard\")\n            .build());\n\n        var exampleFactory = new Factory(\"exampleFactory\", FactoryArgs.builder()\n            .name(\"example\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .build());\n\n        var exampleLinkedServiceKeyVault = new LinkedServiceKeyVault(\"exampleLinkedServiceKeyVault\", LinkedServiceKeyVaultArgs.builder()\n            .name(\"kvlink\")\n            .dataFactoryId(exampleFactory.id())\n            .keyVaultId(exampleKeyVault.id())\n            .build());\n\n        var exampleLinkedServiceSynapse = new LinkedServiceSynapse(\"exampleLinkedServiceSynapse\", LinkedServiceSynapseArgs.builder()\n            .name(\"example\")\n            .dataFactoryId(exampleFactory.id())\n            .connectionString(\"Integrated Security=False;Data Source=test;Initial Catalog=test;User ID=test;\")\n            .keyVaultPassword(LinkedServiceSynapseKeyVaultPasswordArgs.builder()\n                .linkedServiceName(exampleLinkedServiceKeyVault.name())\n                .secretName(\"secret\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleKeyVault:\n    type: azure:keyvault:KeyVault\n    name: example\n    properties:\n      name: example\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      tenantId: ${current.tenantId}\n      skuName: standard\n  exampleFactory:\n    type: azure:datafactory:Factory\n    name: example\n    properties:\n      name: example\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n  exampleLinkedServiceKeyVault:\n    type: azure:datafactory:LinkedServiceKeyVault\n    name: example\n    properties:\n      name: kvlink\n      dataFactoryId: ${exampleFactory.id}\n      keyVaultId: ${exampleKeyVault.id}\n  exampleLinkedServiceSynapse:\n    type: azure:datafactory:LinkedServiceSynapse\n    name: example\n    properties:\n      name: example\n      dataFactoryId: ${exampleFactory.id}\n      connectionString: Integrated Security=False;Data Source=test;Initial Catalog=test;User ID=test;\n      keyVaultPassword:\n        linkedServiceName: ${exampleLinkedServiceKeyVault.name}\n        secretName: secret\nvariables:\n  current:\n    fn::invoke:\n      function: azure:core:getClientConfig\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nData Factory Synapse Linked Service's can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:datafactory/linkedServiceSynapse:LinkedServiceSynapse example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/example/providers/Microsoft.DataFactory/factories/example/linkedservices/example\n```\n\n","properties":{"additionalProperties":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of additional properties to associate with the Data Factory Linked Service Synapse.\n\nThe following supported arguments are specific to Data Factory Synapse Linked Service:\n"},"annotations":{"type":"array","items":{"type":"string"},"description":"List of tags that can be used for describing the Data Factory Linked Service Synapse.\n"},"connectionString":{"type":"string","description":"The connection string in which to authenticate with the Synapse.\n"},"dataFactoryId":{"type":"string","description":"The Data Factory ID in which to associate the Linked Service with. Changing this forces a new resource.\n"},"description":{"type":"string","description":"The description for the Data Factory Linked Service Synapse.\n"},"integrationRuntimeName":{"type":"string","description":"The integration runtime reference to associate with the Data Factory Linked Service Synapse.\n"},"keyVaultPassword":{"$ref":"#/types/azure:datafactory/LinkedServiceSynapseKeyVaultPassword:LinkedServiceSynapseKeyVaultPassword","description":"A \u003cspan pulumi-lang-nodejs=\"`keyVaultPassword`\" pulumi-lang-dotnet=\"`KeyVaultPassword`\" pulumi-lang-go=\"`keyVaultPassword`\" pulumi-lang-python=\"`key_vault_password`\" pulumi-lang-yaml=\"`keyVaultPassword`\" pulumi-lang-java=\"`keyVaultPassword`\"\u003e`key_vault_password`\u003c/span\u003e block as defined below. Use this argument to store Synapse password in an existing Key Vault. It needs an existing Key Vault Data Factory Linked Service.\n"},"name":{"type":"string","description":"Specifies the name of the Data Factory Linked Service Synapse. Changing this forces a new resource to be created. Must be unique within a data factory. See the [Microsoft documentation](https://docs.microsoft.com/azure/data-factory/naming-rules) for all restrictions.\n"},"parameters":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of parameters to associate with the Data Factory Linked Service Synapse.\n"}},"required":["connectionString","dataFactoryId","name"],"inputProperties":{"additionalProperties":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of additional properties to associate with the Data Factory Linked Service Synapse.\n\nThe following supported arguments are specific to Data Factory Synapse Linked Service:\n"},"annotations":{"type":"array","items":{"type":"string"},"description":"List of tags that can be used for describing the Data Factory Linked Service Synapse.\n"},"connectionString":{"type":"string","description":"The connection string in which to authenticate with the Synapse.\n"},"dataFactoryId":{"type":"string","description":"The Data Factory ID in which to associate the Linked Service with. Changing this forces a new resource.\n","willReplaceOnChanges":true},"description":{"type":"string","description":"The description for the Data Factory Linked Service Synapse.\n"},"integrationRuntimeName":{"type":"string","description":"The integration runtime reference to associate with the Data Factory Linked Service Synapse.\n"},"keyVaultPassword":{"$ref":"#/types/azure:datafactory/LinkedServiceSynapseKeyVaultPassword:LinkedServiceSynapseKeyVaultPassword","description":"A \u003cspan pulumi-lang-nodejs=\"`keyVaultPassword`\" pulumi-lang-dotnet=\"`KeyVaultPassword`\" pulumi-lang-go=\"`keyVaultPassword`\" pulumi-lang-python=\"`key_vault_password`\" pulumi-lang-yaml=\"`keyVaultPassword`\" pulumi-lang-java=\"`keyVaultPassword`\"\u003e`key_vault_password`\u003c/span\u003e block as defined below. Use this argument to store Synapse password in an existing Key Vault. It needs an existing Key Vault Data Factory Linked Service.\n"},"name":{"type":"string","description":"Specifies the name of the Data Factory Linked Service Synapse. Changing this forces a new resource to be created. Must be unique within a data factory. See the [Microsoft documentation](https://docs.microsoft.com/azure/data-factory/naming-rules) for all restrictions.\n","willReplaceOnChanges":true},"parameters":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of parameters to associate with the Data Factory Linked Service Synapse.\n"}},"requiredInputs":["connectionString","dataFactoryId"],"stateInputs":{"description":"Input properties used for looking up and filtering LinkedServiceSynapse resources.\n","properties":{"additionalProperties":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of additional properties to associate with the Data Factory Linked Service Synapse.\n\nThe following supported arguments are specific to Data Factory Synapse Linked Service:\n"},"annotations":{"type":"array","items":{"type":"string"},"description":"List of tags that can be used for describing the Data Factory Linked Service Synapse.\n"},"connectionString":{"type":"string","description":"The connection string in which to authenticate with the Synapse.\n"},"dataFactoryId":{"type":"string","description":"The Data Factory ID in which to associate the Linked Service with. Changing this forces a new resource.\n","willReplaceOnChanges":true},"description":{"type":"string","description":"The description for the Data Factory Linked Service Synapse.\n"},"integrationRuntimeName":{"type":"string","description":"The integration runtime reference to associate with the Data Factory Linked Service Synapse.\n"},"keyVaultPassword":{"$ref":"#/types/azure:datafactory/LinkedServiceSynapseKeyVaultPassword:LinkedServiceSynapseKeyVaultPassword","description":"A \u003cspan pulumi-lang-nodejs=\"`keyVaultPassword`\" pulumi-lang-dotnet=\"`KeyVaultPassword`\" pulumi-lang-go=\"`keyVaultPassword`\" pulumi-lang-python=\"`key_vault_password`\" pulumi-lang-yaml=\"`keyVaultPassword`\" pulumi-lang-java=\"`keyVaultPassword`\"\u003e`key_vault_password`\u003c/span\u003e block as defined below. Use this argument to store Synapse password in an existing Key Vault. It needs an existing Key Vault Data Factory Linked Service.\n"},"name":{"type":"string","description":"Specifies the name of the Data Factory Linked Service Synapse. Changing this forces a new resource to be created. Must be unique within a data factory. See the [Microsoft documentation](https://docs.microsoft.com/azure/data-factory/naming-rules) for all restrictions.\n","willReplaceOnChanges":true},"parameters":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of parameters to associate with the Data Factory Linked Service Synapse.\n"}},"type":"object"}},"azure:datafactory/linkedServiceWeb:LinkedServiceWeb":{"description":"Manages a Linked Service (connection) between a Web Server and Azure Data Factory.\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleFactory = new azure.datafactory.Factory(\"example\", {\n    name: \"example\",\n    location: example.location,\n    resourceGroupName: example.name,\n});\nconst exampleLinkedServiceWeb = new azure.datafactory.LinkedServiceWeb(\"example\", {\n    name: \"example\",\n    dataFactoryId: exampleFactory.id,\n    authenticationType: \"Anonymous\",\n    url: \"http://www.bing.com\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_factory = azure.datafactory.Factory(\"example\",\n    name=\"example\",\n    location=example.location,\n    resource_group_name=example.name)\nexample_linked_service_web = azure.datafactory.LinkedServiceWeb(\"example\",\n    name=\"example\",\n    data_factory_id=example_factory.id,\n    authentication_type=\"Anonymous\",\n    url=\"http://www.bing.com\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleFactory = new Azure.DataFactory.Factory(\"example\", new()\n    {\n        Name = \"example\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n    });\n\n    var exampleLinkedServiceWeb = new Azure.DataFactory.LinkedServiceWeb(\"example\", new()\n    {\n        Name = \"example\",\n        DataFactoryId = exampleFactory.Id,\n        AuthenticationType = \"Anonymous\",\n        Url = \"http://www.bing.com\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/datafactory\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleFactory, err := datafactory.NewFactory(ctx, \"example\", \u0026datafactory.FactoryArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = datafactory.NewLinkedServiceWeb(ctx, \"example\", \u0026datafactory.LinkedServiceWebArgs{\n\t\t\tName:               pulumi.String(\"example\"),\n\t\t\tDataFactoryId:      exampleFactory.ID(),\n\t\t\tAuthenticationType: pulumi.String(\"Anonymous\"),\n\t\t\tUrl:                pulumi.String(\"http://www.bing.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.datafactory.Factory;\nimport com.pulumi.azure.datafactory.FactoryArgs;\nimport com.pulumi.azure.datafactory.LinkedServiceWeb;\nimport com.pulumi.azure.datafactory.LinkedServiceWebArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleFactory = new Factory(\"exampleFactory\", FactoryArgs.builder()\n            .name(\"example\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .build());\n\n        var exampleLinkedServiceWeb = new LinkedServiceWeb(\"exampleLinkedServiceWeb\", LinkedServiceWebArgs.builder()\n            .name(\"example\")\n            .dataFactoryId(exampleFactory.id())\n            .authenticationType(\"Anonymous\")\n            .url(\"http://www.bing.com\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleFactory:\n    type: azure:datafactory:Factory\n    name: example\n    properties:\n      name: example\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n  exampleLinkedServiceWeb:\n    type: azure:datafactory:LinkedServiceWeb\n    name: example\n    properties:\n      name: example\n      dataFactoryId: ${exampleFactory.id}\n      authenticationType: Anonymous\n      url: http://www.bing.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nData Factory Linked Service's can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:datafactory/linkedServiceWeb:LinkedServiceWeb example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/example/providers/Microsoft.DataFactory/factories/example/linkedservices/example\n```\n\n","properties":{"additionalProperties":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of additional properties to associate with the Data Factory Linked Service.\n\nThe following supported arguments are specific to Web Linked Service:\n"},"annotations":{"type":"array","items":{"type":"string"},"description":"List of tags that can be used for describing the Data Factory Linked Service.\n"},"authenticationType":{"type":"string","description":"The type of authentication used to connect to the web table source. Valid options are `Anonymous`, `Basic` and `ClientCertificate`.\n"},"dataFactoryId":{"type":"string","description":"The Data Factory ID in which to associate the Linked Service with. Changing this forces a new resource.\n"},"description":{"type":"string","description":"The description for the Data Factory Linked Service.\n"},"integrationRuntimeName":{"type":"string","description":"The integration runtime reference to associate with the Data Factory Linked Service.\n"},"name":{"type":"string","description":"Specifies the name of the Data Factory Linked Service. Changing this forces a new resource to be created. Must be unique within a data factory. See the [Microsoft documentation](https://docs.microsoft.com/azure/data-factory/naming-rules) for all restrictions.\n"},"parameters":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of parameters to associate with the Data Factory Linked Service.\n"},"password":{"type":"string","description":"The password for Basic authentication. Required if \u003cspan pulumi-lang-nodejs=\"`authenticationType`\" pulumi-lang-dotnet=\"`AuthenticationType`\" pulumi-lang-go=\"`authenticationType`\" pulumi-lang-python=\"`authentication_type`\" pulumi-lang-yaml=\"`authenticationType`\" pulumi-lang-java=\"`authenticationType`\"\u003e`authentication_type`\u003c/span\u003e sets to `Basic`.\n","secret":true},"url":{"type":"string","description":"The URL of the web service endpoint (e.g. \u003chttps://www.microsoft.com\u003e).\n"},"username":{"type":"string","description":"The username for Basic authentication. Required if \u003cspan pulumi-lang-nodejs=\"`authenticationType`\" pulumi-lang-dotnet=\"`AuthenticationType`\" pulumi-lang-go=\"`authenticationType`\" pulumi-lang-python=\"`authentication_type`\" pulumi-lang-yaml=\"`authenticationType`\" pulumi-lang-java=\"`authenticationType`\"\u003e`authentication_type`\u003c/span\u003e sets to `Basic`.\n"}},"required":["authenticationType","dataFactoryId","name","url"],"inputProperties":{"additionalProperties":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of additional properties to associate with the Data Factory Linked Service.\n\nThe following supported arguments are specific to Web Linked Service:\n"},"annotations":{"type":"array","items":{"type":"string"},"description":"List of tags that can be used for describing the Data Factory Linked Service.\n"},"authenticationType":{"type":"string","description":"The type of authentication used to connect to the web table source. Valid options are `Anonymous`, `Basic` and `ClientCertificate`.\n"},"dataFactoryId":{"type":"string","description":"The Data Factory ID in which to associate the Linked Service with. Changing this forces a new resource.\n","willReplaceOnChanges":true},"description":{"type":"string","description":"The description for the Data Factory Linked Service.\n"},"integrationRuntimeName":{"type":"string","description":"The integration runtime reference to associate with the Data Factory Linked Service.\n"},"name":{"type":"string","description":"Specifies the name of the Data Factory Linked Service. Changing this forces a new resource to be created. Must be unique within a data factory. See the [Microsoft documentation](https://docs.microsoft.com/azure/data-factory/naming-rules) for all restrictions.\n","willReplaceOnChanges":true},"parameters":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of parameters to associate with the Data Factory Linked Service.\n"},"password":{"type":"string","description":"The password for Basic authentication. Required if \u003cspan pulumi-lang-nodejs=\"`authenticationType`\" pulumi-lang-dotnet=\"`AuthenticationType`\" pulumi-lang-go=\"`authenticationType`\" pulumi-lang-python=\"`authentication_type`\" pulumi-lang-yaml=\"`authenticationType`\" pulumi-lang-java=\"`authenticationType`\"\u003e`authentication_type`\u003c/span\u003e sets to `Basic`.\n","secret":true},"url":{"type":"string","description":"The URL of the web service endpoint (e.g. \u003chttps://www.microsoft.com\u003e).\n"},"username":{"type":"string","description":"The username for Basic authentication. Required if \u003cspan pulumi-lang-nodejs=\"`authenticationType`\" pulumi-lang-dotnet=\"`AuthenticationType`\" pulumi-lang-go=\"`authenticationType`\" pulumi-lang-python=\"`authentication_type`\" pulumi-lang-yaml=\"`authenticationType`\" pulumi-lang-java=\"`authenticationType`\"\u003e`authentication_type`\u003c/span\u003e sets to `Basic`.\n"}},"requiredInputs":["authenticationType","dataFactoryId","url"],"stateInputs":{"description":"Input properties used for looking up and filtering LinkedServiceWeb resources.\n","properties":{"additionalProperties":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of additional properties to associate with the Data Factory Linked Service.\n\nThe following supported arguments are specific to Web Linked Service:\n"},"annotations":{"type":"array","items":{"type":"string"},"description":"List of tags that can be used for describing the Data Factory Linked Service.\n"},"authenticationType":{"type":"string","description":"The type of authentication used to connect to the web table source. Valid options are `Anonymous`, `Basic` and `ClientCertificate`.\n"},"dataFactoryId":{"type":"string","description":"The Data Factory ID in which to associate the Linked Service with. Changing this forces a new resource.\n","willReplaceOnChanges":true},"description":{"type":"string","description":"The description for the Data Factory Linked Service.\n"},"integrationRuntimeName":{"type":"string","description":"The integration runtime reference to associate with the Data Factory Linked Service.\n"},"name":{"type":"string","description":"Specifies the name of the Data Factory Linked Service. Changing this forces a new resource to be created. Must be unique within a data factory. See the [Microsoft documentation](https://docs.microsoft.com/azure/data-factory/naming-rules) for all restrictions.\n","willReplaceOnChanges":true},"parameters":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of parameters to associate with the Data Factory Linked Service.\n"},"password":{"type":"string","description":"The password for Basic authentication. Required if \u003cspan pulumi-lang-nodejs=\"`authenticationType`\" pulumi-lang-dotnet=\"`AuthenticationType`\" pulumi-lang-go=\"`authenticationType`\" pulumi-lang-python=\"`authentication_type`\" pulumi-lang-yaml=\"`authenticationType`\" pulumi-lang-java=\"`authenticationType`\"\u003e`authentication_type`\u003c/span\u003e sets to `Basic`.\n","secret":true},"url":{"type":"string","description":"The URL of the web service endpoint (e.g. \u003chttps://www.microsoft.com\u003e).\n"},"username":{"type":"string","description":"The username for Basic authentication. Required if \u003cspan pulumi-lang-nodejs=\"`authenticationType`\" pulumi-lang-dotnet=\"`AuthenticationType`\" pulumi-lang-go=\"`authenticationType`\" pulumi-lang-python=\"`authentication_type`\" pulumi-lang-yaml=\"`authenticationType`\" pulumi-lang-java=\"`authenticationType`\"\u003e`authentication_type`\u003c/span\u003e sets to `Basic`.\n"}},"type":"object"}},"azure:datafactory/managedPrivateEndpoint:ManagedPrivateEndpoint":{"description":"Manages a Data Factory Managed Private Endpoint.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleFactory = new azure.datafactory.Factory(\"example\", {\n    name: \"example\",\n    location: example.location,\n    resourceGroupName: example.name,\n    managedVirtualNetworkEnabled: true,\n});\nconst exampleAccount = new azure.storage.Account(\"example\", {\n    name: \"example\",\n    resourceGroupName: example.name,\n    location: example.location,\n    accountKind: \"BlobStorage\",\n    accountTier: \"Standard\",\n    accountReplicationType: \"LRS\",\n});\nconst exampleManagedPrivateEndpoint = new azure.datafactory.ManagedPrivateEndpoint(\"example\", {\n    name: \"example\",\n    dataFactoryId: exampleFactory.id,\n    targetResourceId: exampleAccount.id,\n    subresourceName: \"blob\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_factory = azure.datafactory.Factory(\"example\",\n    name=\"example\",\n    location=example.location,\n    resource_group_name=example.name,\n    managed_virtual_network_enabled=True)\nexample_account = azure.storage.Account(\"example\",\n    name=\"example\",\n    resource_group_name=example.name,\n    location=example.location,\n    account_kind=\"BlobStorage\",\n    account_tier=\"Standard\",\n    account_replication_type=\"LRS\")\nexample_managed_private_endpoint = azure.datafactory.ManagedPrivateEndpoint(\"example\",\n    name=\"example\",\n    data_factory_id=example_factory.id,\n    target_resource_id=example_account.id,\n    subresource_name=\"blob\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleFactory = new Azure.DataFactory.Factory(\"example\", new()\n    {\n        Name = \"example\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        ManagedVirtualNetworkEnabled = true,\n    });\n\n    var exampleAccount = new Azure.Storage.Account(\"example\", new()\n    {\n        Name = \"example\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        AccountKind = \"BlobStorage\",\n        AccountTier = \"Standard\",\n        AccountReplicationType = \"LRS\",\n    });\n\n    var exampleManagedPrivateEndpoint = new Azure.DataFactory.ManagedPrivateEndpoint(\"example\", new()\n    {\n        Name = \"example\",\n        DataFactoryId = exampleFactory.Id,\n        TargetResourceId = exampleAccount.Id,\n        SubresourceName = \"blob\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/datafactory\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleFactory, err := datafactory.NewFactory(ctx, \"example\", \u0026datafactory.FactoryArgs{\n\t\t\tName:                         pulumi.String(\"example\"),\n\t\t\tLocation:                     example.Location,\n\t\t\tResourceGroupName:            example.Name,\n\t\t\tManagedVirtualNetworkEnabled: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := storage.NewAccount(ctx, \"example\", \u0026storage.AccountArgs{\n\t\t\tName:                   pulumi.String(\"example\"),\n\t\t\tResourceGroupName:      example.Name,\n\t\t\tLocation:               example.Location,\n\t\t\tAccountKind:            pulumi.String(\"BlobStorage\"),\n\t\t\tAccountTier:            pulumi.String(\"Standard\"),\n\t\t\tAccountReplicationType: pulumi.String(\"LRS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = datafactory.NewManagedPrivateEndpoint(ctx, \"example\", \u0026datafactory.ManagedPrivateEndpointArgs{\n\t\t\tName:             pulumi.String(\"example\"),\n\t\t\tDataFactoryId:    exampleFactory.ID(),\n\t\t\tTargetResourceId: exampleAccount.ID(),\n\t\t\tSubresourceName:  pulumi.String(\"blob\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.datafactory.Factory;\nimport com.pulumi.azure.datafactory.FactoryArgs;\nimport com.pulumi.azure.storage.Account;\nimport com.pulumi.azure.storage.AccountArgs;\nimport com.pulumi.azure.datafactory.ManagedPrivateEndpoint;\nimport com.pulumi.azure.datafactory.ManagedPrivateEndpointArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleFactory = new Factory(\"exampleFactory\", FactoryArgs.builder()\n            .name(\"example\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .managedVirtualNetworkEnabled(true)\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"example\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .accountKind(\"BlobStorage\")\n            .accountTier(\"Standard\")\n            .accountReplicationType(\"LRS\")\n            .build());\n\n        var exampleManagedPrivateEndpoint = new ManagedPrivateEndpoint(\"exampleManagedPrivateEndpoint\", ManagedPrivateEndpointArgs.builder()\n            .name(\"example\")\n            .dataFactoryId(exampleFactory.id())\n            .targetResourceId(exampleAccount.id())\n            .subresourceName(\"blob\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleFactory:\n    type: azure:datafactory:Factory\n    name: example\n    properties:\n      name: example\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      managedVirtualNetworkEnabled: true\n  exampleAccount:\n    type: azure:storage:Account\n    name: example\n    properties:\n      name: example\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      accountKind: BlobStorage\n      accountTier: Standard\n      accountReplicationType: LRS\n  exampleManagedPrivateEndpoint:\n    type: azure:datafactory:ManagedPrivateEndpoint\n    name: example\n    properties:\n      name: example\n      dataFactoryId: ${exampleFactory.id}\n      targetResourceId: ${exampleAccount.id}\n      subresourceName: blob\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.DataFactory` - 2018-06-01\n\n## Import\n\nData Factory Managed Private Endpoint can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:datafactory/managedPrivateEndpoint:ManagedPrivateEndpoint example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/example/providers/Microsoft.DataFactory/factories/example/managedVirtualNetworks/default/managedPrivateEndpoints/endpoint1\n```\n\n","properties":{"dataFactoryId":{"type":"string","description":"The ID of the Data Factory on which to create the Managed Private Endpoint. Changing this forces a new resource to be created.\n"},"fqdns":{"type":"array","items":{"type":"string"},"description":"Fully qualified domain names. Changing this forces a new resource to be created.\n\n\u003e **Note:** Possible values are listed in [documentation](https://docs.microsoft.com/azure/private-link/private-endpoint-overview#dns-configuration).\n"},"name":{"type":"string","description":"Specifies the name which should be used for this Managed Private Endpoint. Changing this forces a new resource to be created.\n"},"subresourceName":{"type":"string","description":"Specifies the sub resource name which the Data Factory Private Endpoint is able to connect to. Changing this forces a new resource to be created.\n"},"targetResourceId":{"type":"string","description":"The ID of the Private Link Enabled Remote Resource which this Data Factory Private Endpoint should be connected to. Changing this forces a new resource to be created.\n"}},"required":["dataFactoryId","fqdns","name","targetResourceId"],"inputProperties":{"dataFactoryId":{"type":"string","description":"The ID of the Data Factory on which to create the Managed Private Endpoint. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"fqdns":{"type":"array","items":{"type":"string"},"description":"Fully qualified domain names. Changing this forces a new resource to be created.\n\n\u003e **Note:** Possible values are listed in [documentation](https://docs.microsoft.com/azure/private-link/private-endpoint-overview#dns-configuration).\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name which should be used for this Managed Private Endpoint. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"subresourceName":{"type":"string","description":"Specifies the sub resource name which the Data Factory Private Endpoint is able to connect to. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"targetResourceId":{"type":"string","description":"The ID of the Private Link Enabled Remote Resource which this Data Factory Private Endpoint should be connected to. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["dataFactoryId","targetResourceId"],"stateInputs":{"description":"Input properties used for looking up and filtering ManagedPrivateEndpoint resources.\n","properties":{"dataFactoryId":{"type":"string","description":"The ID of the Data Factory on which to create the Managed Private Endpoint. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"fqdns":{"type":"array","items":{"type":"string"},"description":"Fully qualified domain names. Changing this forces a new resource to be created.\n\n\u003e **Note:** Possible values are listed in [documentation](https://docs.microsoft.com/azure/private-link/private-endpoint-overview#dns-configuration).\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name which should be used for this Managed Private Endpoint. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"subresourceName":{"type":"string","description":"Specifies the sub resource name which the Data Factory Private Endpoint is able to connect to. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"targetResourceId":{"type":"string","description":"The ID of the Private Link Enabled Remote Resource which this Data Factory Private Endpoint should be connected to. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:datafactory/pipeline:Pipeline":{"description":"Manages a Pipeline inside a Azure Data Factory.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleFactory = new azure.datafactory.Factory(\"example\", {\n    name: \"example\",\n    location: example.location,\n    resourceGroupName: example.name,\n});\nconst examplePipeline = new azure.datafactory.Pipeline(\"example\", {\n    name: \"example\",\n    dataFactoryId: exampleFactory.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_factory = azure.datafactory.Factory(\"example\",\n    name=\"example\",\n    location=example.location,\n    resource_group_name=example.name)\nexample_pipeline = azure.datafactory.Pipeline(\"example\",\n    name=\"example\",\n    data_factory_id=example_factory.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleFactory = new Azure.DataFactory.Factory(\"example\", new()\n    {\n        Name = \"example\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n    });\n\n    var examplePipeline = new Azure.DataFactory.Pipeline(\"example\", new()\n    {\n        Name = \"example\",\n        DataFactoryId = exampleFactory.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/datafactory\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleFactory, err := datafactory.NewFactory(ctx, \"example\", \u0026datafactory.FactoryArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = datafactory.NewPipeline(ctx, \"example\", \u0026datafactory.PipelineArgs{\n\t\t\tName:          pulumi.String(\"example\"),\n\t\t\tDataFactoryId: exampleFactory.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.datafactory.Factory;\nimport com.pulumi.azure.datafactory.FactoryArgs;\nimport com.pulumi.azure.datafactory.Pipeline;\nimport com.pulumi.azure.datafactory.PipelineArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleFactory = new Factory(\"exampleFactory\", FactoryArgs.builder()\n            .name(\"example\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .build());\n\n        var examplePipeline = new Pipeline(\"examplePipeline\", PipelineArgs.builder()\n            .name(\"example\")\n            .dataFactoryId(exampleFactory.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleFactory:\n    type: azure:datafactory:Factory\n    name: example\n    properties:\n      name: example\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n  examplePipeline:\n    type: azure:datafactory:Pipeline\n    name: example\n    properties:\n      name: example\n      dataFactoryId: ${exampleFactory.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\n### With Activities\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst test = new azure.datafactory.Pipeline(\"test\", {\n    name: \"example\",\n    dataFactoryId: testAzurermDataFactory.id,\n    variables: {\n        bob: \"item1\",\n    },\n    activitiesJson: `[\n    {\n        \\\\\"name\\\\\": \\\\\"Append variable1\\\\\",\n        \\\\\"type\\\\\": \\\\\"AppendVariable\\\\\",\n        \\\\\"dependsOn\\\\\": [],\n        \\\\\"userProperties\\\\\": [],\n        \\\\\"typeProperties\\\\\": {\n          \\\\\"variableName\\\\\": \\\\\"bob\\\\\",\n          \\\\\"value\\\\\": \\\\\"something\\\\\"\n        }\n    }\n]\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\ntest = azure.datafactory.Pipeline(\"test\",\n    name=\"example\",\n    data_factory_id=test_azurerm_data_factory[\"id\"],\n    variables={\n        \"bob\": \"item1\",\n    },\n    activities_json=\"\"\"[\n    {\n        \\\"name\\\": \\\"Append variable1\\\",\n        \\\"type\\\": \\\"AppendVariable\\\",\n        \\\"dependsOn\\\": [],\n        \\\"userProperties\\\": [],\n        \\\"typeProperties\\\": {\n          \\\"variableName\\\": \\\"bob\\\",\n          \\\"value\\\": \\\"something\\\"\n        }\n    }\n]\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var test = new Azure.DataFactory.Pipeline(\"test\", new()\n    {\n        Name = \"example\",\n        DataFactoryId = testAzurermDataFactory.Id,\n        Variables = \n        {\n            { \"bob\", \"item1\" },\n        },\n        ActivitiesJson = @\"[\n    {\n        \\\"\"name\\\"\": \\\"\"Append variable1\\\"\",\n        \\\"\"type\\\"\": \\\"\"AppendVariable\\\"\",\n        \\\"\"dependsOn\\\"\": [],\n        \\\"\"userProperties\\\"\": [],\n        \\\"\"typeProperties\\\"\": {\n          \\\"\"variableName\\\"\": \\\"\"bob\\\"\",\n          \\\"\"value\\\"\": \\\"\"something\\\"\"\n        }\n    }\n]\n\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/datafactory\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := datafactory.NewPipeline(ctx, \"test\", \u0026datafactory.PipelineArgs{\n\t\t\tName:          pulumi.String(\"example\"),\n\t\t\tDataFactoryId: pulumi.Any(testAzurermDataFactory.Id),\n\t\t\tVariables: pulumi.StringMap{\n\t\t\t\t\"bob\": pulumi.String(\"item1\"),\n\t\t\t},\n\t\t\tActivitiesJson: pulumi.String(`[\n    {\n        \\\"name\\\": \\\"Append variable1\\\",\n        \\\"type\\\": \\\"AppendVariable\\\",\n        \\\"dependsOn\\\": [],\n        \\\"userProperties\\\": [],\n        \\\"typeProperties\\\": {\n          \\\"variableName\\\": \\\"bob\\\",\n          \\\"value\\\": \\\"something\\\"\n        }\n    }\n]\n`),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.datafactory.Pipeline;\nimport com.pulumi.azure.datafactory.PipelineArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var test = new Pipeline(\"test\", PipelineArgs.builder()\n            .name(\"example\")\n            .dataFactoryId(testAzurermDataFactory.id())\n            .variables(Map.of(\"bob\", \"item1\"))\n            .activitiesJson(\"\"\"\n[\n    {\n        \\\"name\\\": \\\"Append variable1\\\",\n        \\\"type\\\": \\\"AppendVariable\\\",\n        \\\"dependsOn\\\": [],\n        \\\"userProperties\\\": [],\n        \\\"typeProperties\\\": {\n          \\\"variableName\\\": \\\"bob\\\",\n          \\\"value\\\": \\\"something\\\"\n        }\n    }\n]\n            \"\"\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  test:\n    type: azure:datafactory:Pipeline\n    properties:\n      name: example\n      dataFactoryId: ${testAzurermDataFactory.id}\n      variables:\n        bob: item1\n      activitiesJson: |\n        [\n            {\n                \\\"name\\\": \\\"Append variable1\\\",\n                \\\"type\\\": \\\"AppendVariable\\\",\n                \\\"dependsOn\\\": [],\n                \\\"userProperties\\\": [],\n                \\\"typeProperties\\\": {\n                  \\\"variableName\\\": \\\"bob\\\",\n                  \\\"value\\\": \\\"something\\\"\n                }\n            }\n        ]\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.DataFactory` - 2018-06-01\n\n## Import\n\nData Factory Pipeline's can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:datafactory/pipeline:Pipeline example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/example/providers/Microsoft.DataFactory/factories/example/pipelines/example\n```\n\n","properties":{"activitiesJson":{"type":"string","description":"A JSON object that contains the activities that will be associated with the Data Factory Pipeline.\n"},"annotations":{"type":"array","items":{"type":"string"},"description":"List of tags that can be used for describing the Data Factory Pipeline.\n"},"concurrency":{"type":"integer","description":"The max number of concurrent runs for the Data Factory Pipeline. Must be between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`50`\" pulumi-lang-dotnet=\"`50`\" pulumi-lang-go=\"`50`\" pulumi-lang-python=\"`50`\" pulumi-lang-yaml=\"`50`\" pulumi-lang-java=\"`50`\"\u003e`50`\u003c/span\u003e.\n"},"dataFactoryId":{"type":"string","description":"The Data Factory ID in which to associate the Linked Service with. Changing this forces a new resource.\n"},"description":{"type":"string","description":"The description for the Data Factory Pipeline.\n"},"folder":{"type":"string","description":"The folder that this Pipeline is in. If not specified, the Pipeline will appear at the root level.\n"},"moniterMetricsAfterDuration":{"type":"string","description":"The TimeSpan value after which an Azure Monitoring Metric is fired.\n"},"name":{"type":"string","description":"Specifies the name of the Data Factory Pipeline. Changing this forces a new resource to be created. Must be globally unique. See the [Microsoft documentation](https://docs.microsoft.com/azure/data-factory/naming-rules) for all restrictions.\n"},"parameters":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of parameters to associate with the Data Factory Pipeline.\n"},"variables":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of variables to associate with the Data Factory Pipeline.\n"}},"required":["dataFactoryId","name"],"inputProperties":{"activitiesJson":{"type":"string","description":"A JSON object that contains the activities that will be associated with the Data Factory Pipeline.\n"},"annotations":{"type":"array","items":{"type":"string"},"description":"List of tags that can be used for describing the Data Factory Pipeline.\n"},"concurrency":{"type":"integer","description":"The max number of concurrent runs for the Data Factory Pipeline. Must be between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`50`\" pulumi-lang-dotnet=\"`50`\" pulumi-lang-go=\"`50`\" pulumi-lang-python=\"`50`\" pulumi-lang-yaml=\"`50`\" pulumi-lang-java=\"`50`\"\u003e`50`\u003c/span\u003e.\n"},"dataFactoryId":{"type":"string","description":"The Data Factory ID in which to associate the Linked Service with. Changing this forces a new resource.\n","willReplaceOnChanges":true},"description":{"type":"string","description":"The description for the Data Factory Pipeline.\n"},"folder":{"type":"string","description":"The folder that this Pipeline is in. If not specified, the Pipeline will appear at the root level.\n"},"moniterMetricsAfterDuration":{"type":"string","description":"The TimeSpan value after which an Azure Monitoring Metric is fired.\n"},"name":{"type":"string","description":"Specifies the name of the Data Factory Pipeline. Changing this forces a new resource to be created. Must be globally unique. See the [Microsoft documentation](https://docs.microsoft.com/azure/data-factory/naming-rules) for all restrictions.\n","willReplaceOnChanges":true},"parameters":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of parameters to associate with the Data Factory Pipeline.\n"},"variables":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of variables to associate with the Data Factory Pipeline.\n"}},"requiredInputs":["dataFactoryId"],"stateInputs":{"description":"Input properties used for looking up and filtering Pipeline resources.\n","properties":{"activitiesJson":{"type":"string","description":"A JSON object that contains the activities that will be associated with the Data Factory Pipeline.\n"},"annotations":{"type":"array","items":{"type":"string"},"description":"List of tags that can be used for describing the Data Factory Pipeline.\n"},"concurrency":{"type":"integer","description":"The max number of concurrent runs for the Data Factory Pipeline. Must be between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`50`\" pulumi-lang-dotnet=\"`50`\" pulumi-lang-go=\"`50`\" pulumi-lang-python=\"`50`\" pulumi-lang-yaml=\"`50`\" pulumi-lang-java=\"`50`\"\u003e`50`\u003c/span\u003e.\n"},"dataFactoryId":{"type":"string","description":"The Data Factory ID in which to associate the Linked Service with. Changing this forces a new resource.\n","willReplaceOnChanges":true},"description":{"type":"string","description":"The description for the Data Factory Pipeline.\n"},"folder":{"type":"string","description":"The folder that this Pipeline is in. If not specified, the Pipeline will appear at the root level.\n"},"moniterMetricsAfterDuration":{"type":"string","description":"The TimeSpan value after which an Azure Monitoring Metric is fired.\n"},"name":{"type":"string","description":"Specifies the name of the Data Factory Pipeline. Changing this forces a new resource to be created. Must be globally unique. See the [Microsoft documentation](https://docs.microsoft.com/azure/data-factory/naming-rules) for all restrictions.\n","willReplaceOnChanges":true},"parameters":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of parameters to associate with the Data Factory Pipeline.\n"},"variables":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of variables to associate with the Data Factory Pipeline.\n"}},"type":"object"}},"azure:datafactory/triggerBlobEvent:TriggerBlobEvent":{"description":"Manages a Blob Event Trigger inside an Azure Data Factory.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleFactory = new azure.datafactory.Factory(\"example\", {\n    name: \"example\",\n    location: example.location,\n    resourceGroupName: example.name,\n});\nconst examplePipeline = new azure.datafactory.Pipeline(\"example\", {\n    name: \"example\",\n    dataFactoryId: exampleFactory.id,\n});\nconst exampleAccount = new azure.storage.Account(\"example\", {\n    name: \"example\",\n    resourceGroupName: example.name,\n    location: example.location,\n    accountTier: \"Standard\",\n    accountReplicationType: \"LRS\",\n});\nconst exampleTriggerBlobEvent = new azure.datafactory.TriggerBlobEvent(\"example\", {\n    name: \"example\",\n    dataFactoryId: exampleFactory.id,\n    storageAccountId: exampleAccount.id,\n    events: [\n        \"Microsoft.Storage.BlobCreated\",\n        \"Microsoft.Storage.BlobDeleted\",\n    ],\n    blobPathEndsWith: \".txt\",\n    ignoreEmptyBlobs: true,\n    activated: true,\n    annotations: [\n        \"test1\",\n        \"test2\",\n        \"test3\",\n    ],\n    description: \"example description\",\n    pipelines: [{\n        name: examplePipeline.name,\n        parameters: {\n            Env: \"Prod\",\n        },\n    }],\n    additionalProperties: {\n        foo: \"foo1\",\n        bar: \"bar2\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_factory = azure.datafactory.Factory(\"example\",\n    name=\"example\",\n    location=example.location,\n    resource_group_name=example.name)\nexample_pipeline = azure.datafactory.Pipeline(\"example\",\n    name=\"example\",\n    data_factory_id=example_factory.id)\nexample_account = azure.storage.Account(\"example\",\n    name=\"example\",\n    resource_group_name=example.name,\n    location=example.location,\n    account_tier=\"Standard\",\n    account_replication_type=\"LRS\")\nexample_trigger_blob_event = azure.datafactory.TriggerBlobEvent(\"example\",\n    name=\"example\",\n    data_factory_id=example_factory.id,\n    storage_account_id=example_account.id,\n    events=[\n        \"Microsoft.Storage.BlobCreated\",\n        \"Microsoft.Storage.BlobDeleted\",\n    ],\n    blob_path_ends_with=\".txt\",\n    ignore_empty_blobs=True,\n    activated=True,\n    annotations=[\n        \"test1\",\n        \"test2\",\n        \"test3\",\n    ],\n    description=\"example description\",\n    pipelines=[{\n        \"name\": example_pipeline.name,\n        \"parameters\": {\n            \"Env\": \"Prod\",\n        },\n    }],\n    additional_properties={\n        \"foo\": \"foo1\",\n        \"bar\": \"bar2\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleFactory = new Azure.DataFactory.Factory(\"example\", new()\n    {\n        Name = \"example\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n    });\n\n    var examplePipeline = new Azure.DataFactory.Pipeline(\"example\", new()\n    {\n        Name = \"example\",\n        DataFactoryId = exampleFactory.Id,\n    });\n\n    var exampleAccount = new Azure.Storage.Account(\"example\", new()\n    {\n        Name = \"example\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        AccountTier = \"Standard\",\n        AccountReplicationType = \"LRS\",\n    });\n\n    var exampleTriggerBlobEvent = new Azure.DataFactory.TriggerBlobEvent(\"example\", new()\n    {\n        Name = \"example\",\n        DataFactoryId = exampleFactory.Id,\n        StorageAccountId = exampleAccount.Id,\n        Events = new[]\n        {\n            \"Microsoft.Storage.BlobCreated\",\n            \"Microsoft.Storage.BlobDeleted\",\n        },\n        BlobPathEndsWith = \".txt\",\n        IgnoreEmptyBlobs = true,\n        Activated = true,\n        Annotations = new[]\n        {\n            \"test1\",\n            \"test2\",\n            \"test3\",\n        },\n        Description = \"example description\",\n        Pipelines = new[]\n        {\n            new Azure.DataFactory.Inputs.TriggerBlobEventPipelineArgs\n            {\n                Name = examplePipeline.Name,\n                Parameters = \n                {\n                    { \"Env\", \"Prod\" },\n                },\n            },\n        },\n        AdditionalProperties = \n        {\n            { \"foo\", \"foo1\" },\n            { \"bar\", \"bar2\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/datafactory\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleFactory, err := datafactory.NewFactory(ctx, \"example\", \u0026datafactory.FactoryArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texamplePipeline, err := datafactory.NewPipeline(ctx, \"example\", \u0026datafactory.PipelineArgs{\n\t\t\tName:          pulumi.String(\"example\"),\n\t\t\tDataFactoryId: exampleFactory.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := storage.NewAccount(ctx, \"example\", \u0026storage.AccountArgs{\n\t\t\tName:                   pulumi.String(\"example\"),\n\t\t\tResourceGroupName:      example.Name,\n\t\t\tLocation:               example.Location,\n\t\t\tAccountTier:            pulumi.String(\"Standard\"),\n\t\t\tAccountReplicationType: pulumi.String(\"LRS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = datafactory.NewTriggerBlobEvent(ctx, \"example\", \u0026datafactory.TriggerBlobEventArgs{\n\t\t\tName:             pulumi.String(\"example\"),\n\t\t\tDataFactoryId:    exampleFactory.ID(),\n\t\t\tStorageAccountId: exampleAccount.ID(),\n\t\t\tEvents: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"Microsoft.Storage.BlobCreated\"),\n\t\t\t\tpulumi.String(\"Microsoft.Storage.BlobDeleted\"),\n\t\t\t},\n\t\t\tBlobPathEndsWith: pulumi.String(\".txt\"),\n\t\t\tIgnoreEmptyBlobs: pulumi.Bool(true),\n\t\t\tActivated:        pulumi.Bool(true),\n\t\t\tAnnotations: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"test1\"),\n\t\t\t\tpulumi.String(\"test2\"),\n\t\t\t\tpulumi.String(\"test3\"),\n\t\t\t},\n\t\t\tDescription: pulumi.String(\"example description\"),\n\t\t\tPipelines: datafactory.TriggerBlobEventPipelineArray{\n\t\t\t\t\u0026datafactory.TriggerBlobEventPipelineArgs{\n\t\t\t\t\tName: examplePipeline.Name,\n\t\t\t\t\tParameters: pulumi.StringMap{\n\t\t\t\t\t\t\"Env\": pulumi.String(\"Prod\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tAdditionalProperties: pulumi.StringMap{\n\t\t\t\t\"foo\": pulumi.String(\"foo1\"),\n\t\t\t\t\"bar\": pulumi.String(\"bar2\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.datafactory.Factory;\nimport com.pulumi.azure.datafactory.FactoryArgs;\nimport com.pulumi.azure.datafactory.Pipeline;\nimport com.pulumi.azure.datafactory.PipelineArgs;\nimport com.pulumi.azure.storage.Account;\nimport com.pulumi.azure.storage.AccountArgs;\nimport com.pulumi.azure.datafactory.TriggerBlobEvent;\nimport com.pulumi.azure.datafactory.TriggerBlobEventArgs;\nimport com.pulumi.azure.datafactory.inputs.TriggerBlobEventPipelineArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleFactory = new Factory(\"exampleFactory\", FactoryArgs.builder()\n            .name(\"example\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .build());\n\n        var examplePipeline = new Pipeline(\"examplePipeline\", PipelineArgs.builder()\n            .name(\"example\")\n            .dataFactoryId(exampleFactory.id())\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"example\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .accountTier(\"Standard\")\n            .accountReplicationType(\"LRS\")\n            .build());\n\n        var exampleTriggerBlobEvent = new TriggerBlobEvent(\"exampleTriggerBlobEvent\", TriggerBlobEventArgs.builder()\n            .name(\"example\")\n            .dataFactoryId(exampleFactory.id())\n            .storageAccountId(exampleAccount.id())\n            .events(            \n                \"Microsoft.Storage.BlobCreated\",\n                \"Microsoft.Storage.BlobDeleted\")\n            .blobPathEndsWith(\".txt\")\n            .ignoreEmptyBlobs(true)\n            .activated(true)\n            .annotations(            \n                \"test1\",\n                \"test2\",\n                \"test3\")\n            .description(\"example description\")\n            .pipelines(TriggerBlobEventPipelineArgs.builder()\n                .name(examplePipeline.name())\n                .parameters(Map.of(\"Env\", \"Prod\"))\n                .build())\n            .additionalProperties(Map.ofEntries(\n                Map.entry(\"foo\", \"foo1\"),\n                Map.entry(\"bar\", \"bar2\")\n            ))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleFactory:\n    type: azure:datafactory:Factory\n    name: example\n    properties:\n      name: example\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n  examplePipeline:\n    type: azure:datafactory:Pipeline\n    name: example\n    properties:\n      name: example\n      dataFactoryId: ${exampleFactory.id}\n  exampleAccount:\n    type: azure:storage:Account\n    name: example\n    properties:\n      name: example\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      accountTier: Standard\n      accountReplicationType: LRS\n  exampleTriggerBlobEvent:\n    type: azure:datafactory:TriggerBlobEvent\n    name: example\n    properties:\n      name: example\n      dataFactoryId: ${exampleFactory.id}\n      storageAccountId: ${exampleAccount.id}\n      events:\n        - Microsoft.Storage.BlobCreated\n        - Microsoft.Storage.BlobDeleted\n      blobPathEndsWith: .txt\n      ignoreEmptyBlobs: true\n      activated: true\n      annotations:\n        - test1\n        - test2\n        - test3\n      description: example description\n      pipelines:\n        - name: ${examplePipeline.name}\n          parameters:\n            Env: Prod\n      additionalProperties:\n        foo: foo1\n        bar: bar2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nData Factory Blob Event Trigger can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:datafactory/triggerBlobEvent:TriggerBlobEvent example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/example/providers/Microsoft.DataFactory/factories/example/triggers/example\n```\n\n","properties":{"activated":{"type":"boolean","description":"Specifies if the Data Factory Blob Event Trigger is activated. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"additionalProperties":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of additional properties to associate with the Data Factory Blob Event Trigger.\n"},"annotations":{"type":"array","items":{"type":"string"},"description":"List of tags that can be used for describing the Data Factory Blob Event Trigger.\n"},"blobPathBeginsWith":{"type":"string","description":"The pattern that blob path starts with for trigger to fire.\n"},"blobPathEndsWith":{"type":"string","description":"The pattern that blob path ends with for trigger to fire.\n\n\u003e **Note:** At least one of \u003cspan pulumi-lang-nodejs=\"`blobPathBeginsWith`\" pulumi-lang-dotnet=\"`BlobPathBeginsWith`\" pulumi-lang-go=\"`blobPathBeginsWith`\" pulumi-lang-python=\"`blob_path_begins_with`\" pulumi-lang-yaml=\"`blobPathBeginsWith`\" pulumi-lang-java=\"`blobPathBeginsWith`\"\u003e`blob_path_begins_with`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`blobPathEndsWith`\" pulumi-lang-dotnet=\"`BlobPathEndsWith`\" pulumi-lang-go=\"`blobPathEndsWith`\" pulumi-lang-python=\"`blob_path_ends_with`\" pulumi-lang-yaml=\"`blobPathEndsWith`\" pulumi-lang-java=\"`blobPathEndsWith`\"\u003e`blob_path_ends_with`\u003c/span\u003e must be set.\n"},"dataFactoryId":{"type":"string","description":"The ID of Data Factory in which to associate the Trigger with. Changing this forces a new resource.\n"},"description":{"type":"string","description":"The description for the Data Factory Blob Event Trigger.\n"},"events":{"type":"array","items":{"type":"string"},"description":"List of events that will fire this trigger. Possible values are `Microsoft.Storage.BlobCreated` and `Microsoft.Storage.BlobDeleted`.\n"},"ignoreEmptyBlobs":{"type":"boolean","description":"are blobs with zero bytes ignored?\n"},"name":{"type":"string","description":"Specifies the name of the Data Factory Blob Event Trigger. Changing this forces a new resource to be created.\n"},"pipelines":{"type":"array","items":{"$ref":"#/types/azure:datafactory/TriggerBlobEventPipeline:TriggerBlobEventPipeline"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`pipeline`\" pulumi-lang-dotnet=\"`Pipeline`\" pulumi-lang-go=\"`pipeline`\" pulumi-lang-python=\"`pipeline`\" pulumi-lang-yaml=\"`pipeline`\" pulumi-lang-java=\"`pipeline`\"\u003e`pipeline`\u003c/span\u003e blocks as defined below.\n"},"storageAccountId":{"type":"string","description":"The ID of Storage Account in which blob event will be listened. Changing this forces a new resource.\n"}},"required":["dataFactoryId","events","name","pipelines","storageAccountId"],"inputProperties":{"activated":{"type":"boolean","description":"Specifies if the Data Factory Blob Event Trigger is activated. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"additionalProperties":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of additional properties to associate with the Data Factory Blob Event Trigger.\n"},"annotations":{"type":"array","items":{"type":"string"},"description":"List of tags that can be used for describing the Data Factory Blob Event Trigger.\n"},"blobPathBeginsWith":{"type":"string","description":"The pattern that blob path starts with for trigger to fire.\n"},"blobPathEndsWith":{"type":"string","description":"The pattern that blob path ends with for trigger to fire.\n\n\u003e **Note:** At least one of \u003cspan pulumi-lang-nodejs=\"`blobPathBeginsWith`\" pulumi-lang-dotnet=\"`BlobPathBeginsWith`\" pulumi-lang-go=\"`blobPathBeginsWith`\" pulumi-lang-python=\"`blob_path_begins_with`\" pulumi-lang-yaml=\"`blobPathBeginsWith`\" pulumi-lang-java=\"`blobPathBeginsWith`\"\u003e`blob_path_begins_with`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`blobPathEndsWith`\" pulumi-lang-dotnet=\"`BlobPathEndsWith`\" pulumi-lang-go=\"`blobPathEndsWith`\" pulumi-lang-python=\"`blob_path_ends_with`\" pulumi-lang-yaml=\"`blobPathEndsWith`\" pulumi-lang-java=\"`blobPathEndsWith`\"\u003e`blob_path_ends_with`\u003c/span\u003e must be set.\n"},"dataFactoryId":{"type":"string","description":"The ID of Data Factory in which to associate the Trigger with. Changing this forces a new resource.\n","willReplaceOnChanges":true},"description":{"type":"string","description":"The description for the Data Factory Blob Event Trigger.\n"},"events":{"type":"array","items":{"type":"string"},"description":"List of events that will fire this trigger. Possible values are `Microsoft.Storage.BlobCreated` and `Microsoft.Storage.BlobDeleted`.\n"},"ignoreEmptyBlobs":{"type":"boolean","description":"are blobs with zero bytes ignored?\n"},"name":{"type":"string","description":"Specifies the name of the Data Factory Blob Event Trigger. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"pipelines":{"type":"array","items":{"$ref":"#/types/azure:datafactory/TriggerBlobEventPipeline:TriggerBlobEventPipeline"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`pipeline`\" pulumi-lang-dotnet=\"`Pipeline`\" pulumi-lang-go=\"`pipeline`\" pulumi-lang-python=\"`pipeline`\" pulumi-lang-yaml=\"`pipeline`\" pulumi-lang-java=\"`pipeline`\"\u003e`pipeline`\u003c/span\u003e blocks as defined below.\n"},"storageAccountId":{"type":"string","description":"The ID of Storage Account in which blob event will be listened. Changing this forces a new resource.\n","willReplaceOnChanges":true}},"requiredInputs":["dataFactoryId","events","pipelines","storageAccountId"],"stateInputs":{"description":"Input properties used for looking up and filtering TriggerBlobEvent resources.\n","properties":{"activated":{"type":"boolean","description":"Specifies if the Data Factory Blob Event Trigger is activated. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"additionalProperties":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of additional properties to associate with the Data Factory Blob Event Trigger.\n"},"annotations":{"type":"array","items":{"type":"string"},"description":"List of tags that can be used for describing the Data Factory Blob Event Trigger.\n"},"blobPathBeginsWith":{"type":"string","description":"The pattern that blob path starts with for trigger to fire.\n"},"blobPathEndsWith":{"type":"string","description":"The pattern that blob path ends with for trigger to fire.\n\n\u003e **Note:** At least one of \u003cspan pulumi-lang-nodejs=\"`blobPathBeginsWith`\" pulumi-lang-dotnet=\"`BlobPathBeginsWith`\" pulumi-lang-go=\"`blobPathBeginsWith`\" pulumi-lang-python=\"`blob_path_begins_with`\" pulumi-lang-yaml=\"`blobPathBeginsWith`\" pulumi-lang-java=\"`blobPathBeginsWith`\"\u003e`blob_path_begins_with`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`blobPathEndsWith`\" pulumi-lang-dotnet=\"`BlobPathEndsWith`\" pulumi-lang-go=\"`blobPathEndsWith`\" pulumi-lang-python=\"`blob_path_ends_with`\" pulumi-lang-yaml=\"`blobPathEndsWith`\" pulumi-lang-java=\"`blobPathEndsWith`\"\u003e`blob_path_ends_with`\u003c/span\u003e must be set.\n"},"dataFactoryId":{"type":"string","description":"The ID of Data Factory in which to associate the Trigger with. Changing this forces a new resource.\n","willReplaceOnChanges":true},"description":{"type":"string","description":"The description for the Data Factory Blob Event Trigger.\n"},"events":{"type":"array","items":{"type":"string"},"description":"List of events that will fire this trigger. Possible values are `Microsoft.Storage.BlobCreated` and `Microsoft.Storage.BlobDeleted`.\n"},"ignoreEmptyBlobs":{"type":"boolean","description":"are blobs with zero bytes ignored?\n"},"name":{"type":"string","description":"Specifies the name of the Data Factory Blob Event Trigger. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"pipelines":{"type":"array","items":{"$ref":"#/types/azure:datafactory/TriggerBlobEventPipeline:TriggerBlobEventPipeline"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`pipeline`\" pulumi-lang-dotnet=\"`Pipeline`\" pulumi-lang-go=\"`pipeline`\" pulumi-lang-python=\"`pipeline`\" pulumi-lang-yaml=\"`pipeline`\" pulumi-lang-java=\"`pipeline`\"\u003e`pipeline`\u003c/span\u003e blocks as defined below.\n"},"storageAccountId":{"type":"string","description":"The ID of Storage Account in which blob event will be listened. Changing this forces a new resource.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:datafactory/triggerCustomEvent:TriggerCustomEvent":{"description":"Manages a Custom Event Trigger inside an Azure Data Factory.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleFactory = new azure.datafactory.Factory(\"example\", {\n    name: \"example\",\n    location: example.location,\n    resourceGroupName: example.name,\n});\nconst examplePipeline = new azure.datafactory.Pipeline(\"example\", {\n    name: \"example\",\n    dataFactoryId: exampleFactory.id,\n});\nconst exampleTopic = new azure.eventgrid.Topic(\"example\", {\n    name: \"example-topic\",\n    location: example.location,\n    resourceGroupName: example.name,\n});\nconst exampleTriggerCustomEvent = new azure.datafactory.TriggerCustomEvent(\"example\", {\n    name: \"example\",\n    dataFactoryId: exampleFactory.id,\n    eventgridTopicId: exampleTopic.id,\n    events: [\n        \"event1\",\n        \"event2\",\n    ],\n    subjectBeginsWith: \"abc\",\n    subjectEndsWith: \"xyz\",\n    annotations: [\n        \"example1\",\n        \"example2\",\n        \"example3\",\n    ],\n    description: \"example description\",\n    pipelines: [{\n        name: examplePipeline.name,\n        parameters: {\n            Env: \"Prod\",\n        },\n    }],\n    additionalProperties: {\n        foo: \"foo1\",\n        bar: \"bar2\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_factory = azure.datafactory.Factory(\"example\",\n    name=\"example\",\n    location=example.location,\n    resource_group_name=example.name)\nexample_pipeline = azure.datafactory.Pipeline(\"example\",\n    name=\"example\",\n    data_factory_id=example_factory.id)\nexample_topic = azure.eventgrid.Topic(\"example\",\n    name=\"example-topic\",\n    location=example.location,\n    resource_group_name=example.name)\nexample_trigger_custom_event = azure.datafactory.TriggerCustomEvent(\"example\",\n    name=\"example\",\n    data_factory_id=example_factory.id,\n    eventgrid_topic_id=example_topic.id,\n    events=[\n        \"event1\",\n        \"event2\",\n    ],\n    subject_begins_with=\"abc\",\n    subject_ends_with=\"xyz\",\n    annotations=[\n        \"example1\",\n        \"example2\",\n        \"example3\",\n    ],\n    description=\"example description\",\n    pipelines=[{\n        \"name\": example_pipeline.name,\n        \"parameters\": {\n            \"Env\": \"Prod\",\n        },\n    }],\n    additional_properties={\n        \"foo\": \"foo1\",\n        \"bar\": \"bar2\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleFactory = new Azure.DataFactory.Factory(\"example\", new()\n    {\n        Name = \"example\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n    });\n\n    var examplePipeline = new Azure.DataFactory.Pipeline(\"example\", new()\n    {\n        Name = \"example\",\n        DataFactoryId = exampleFactory.Id,\n    });\n\n    var exampleTopic = new Azure.EventGrid.Topic(\"example\", new()\n    {\n        Name = \"example-topic\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n    });\n\n    var exampleTriggerCustomEvent = new Azure.DataFactory.TriggerCustomEvent(\"example\", new()\n    {\n        Name = \"example\",\n        DataFactoryId = exampleFactory.Id,\n        EventgridTopicId = exampleTopic.Id,\n        Events = new[]\n        {\n            \"event1\",\n            \"event2\",\n        },\n        SubjectBeginsWith = \"abc\",\n        SubjectEndsWith = \"xyz\",\n        Annotations = new[]\n        {\n            \"example1\",\n            \"example2\",\n            \"example3\",\n        },\n        Description = \"example description\",\n        Pipelines = new[]\n        {\n            new Azure.DataFactory.Inputs.TriggerCustomEventPipelineArgs\n            {\n                Name = examplePipeline.Name,\n                Parameters = \n                {\n                    { \"Env\", \"Prod\" },\n                },\n            },\n        },\n        AdditionalProperties = \n        {\n            { \"foo\", \"foo1\" },\n            { \"bar\", \"bar2\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/datafactory\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/eventgrid\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleFactory, err := datafactory.NewFactory(ctx, \"example\", \u0026datafactory.FactoryArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texamplePipeline, err := datafactory.NewPipeline(ctx, \"example\", \u0026datafactory.PipelineArgs{\n\t\t\tName:          pulumi.String(\"example\"),\n\t\t\tDataFactoryId: exampleFactory.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleTopic, err := eventgrid.NewTopic(ctx, \"example\", \u0026eventgrid.TopicArgs{\n\t\t\tName:              pulumi.String(\"example-topic\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = datafactory.NewTriggerCustomEvent(ctx, \"example\", \u0026datafactory.TriggerCustomEventArgs{\n\t\t\tName:             pulumi.String(\"example\"),\n\t\t\tDataFactoryId:    exampleFactory.ID(),\n\t\t\tEventgridTopicId: exampleTopic.ID(),\n\t\t\tEvents: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"event1\"),\n\t\t\t\tpulumi.String(\"event2\"),\n\t\t\t},\n\t\t\tSubjectBeginsWith: pulumi.String(\"abc\"),\n\t\t\tSubjectEndsWith:   pulumi.String(\"xyz\"),\n\t\t\tAnnotations: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"example1\"),\n\t\t\t\tpulumi.String(\"example2\"),\n\t\t\t\tpulumi.String(\"example3\"),\n\t\t\t},\n\t\t\tDescription: pulumi.String(\"example description\"),\n\t\t\tPipelines: datafactory.TriggerCustomEventPipelineArray{\n\t\t\t\t\u0026datafactory.TriggerCustomEventPipelineArgs{\n\t\t\t\t\tName: examplePipeline.Name,\n\t\t\t\t\tParameters: pulumi.StringMap{\n\t\t\t\t\t\t\"Env\": pulumi.String(\"Prod\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tAdditionalProperties: pulumi.StringMap{\n\t\t\t\t\"foo\": pulumi.String(\"foo1\"),\n\t\t\t\t\"bar\": pulumi.String(\"bar2\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.datafactory.Factory;\nimport com.pulumi.azure.datafactory.FactoryArgs;\nimport com.pulumi.azure.datafactory.Pipeline;\nimport com.pulumi.azure.datafactory.PipelineArgs;\nimport com.pulumi.azure.eventgrid.Topic;\nimport com.pulumi.azure.eventgrid.TopicArgs;\nimport com.pulumi.azure.datafactory.TriggerCustomEvent;\nimport com.pulumi.azure.datafactory.TriggerCustomEventArgs;\nimport com.pulumi.azure.datafactory.inputs.TriggerCustomEventPipelineArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleFactory = new Factory(\"exampleFactory\", FactoryArgs.builder()\n            .name(\"example\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .build());\n\n        var examplePipeline = new Pipeline(\"examplePipeline\", PipelineArgs.builder()\n            .name(\"example\")\n            .dataFactoryId(exampleFactory.id())\n            .build());\n\n        var exampleTopic = new Topic(\"exampleTopic\", TopicArgs.builder()\n            .name(\"example-topic\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .build());\n\n        var exampleTriggerCustomEvent = new TriggerCustomEvent(\"exampleTriggerCustomEvent\", TriggerCustomEventArgs.builder()\n            .name(\"example\")\n            .dataFactoryId(exampleFactory.id())\n            .eventgridTopicId(exampleTopic.id())\n            .events(            \n                \"event1\",\n                \"event2\")\n            .subjectBeginsWith(\"abc\")\n            .subjectEndsWith(\"xyz\")\n            .annotations(            \n                \"example1\",\n                \"example2\",\n                \"example3\")\n            .description(\"example description\")\n            .pipelines(TriggerCustomEventPipelineArgs.builder()\n                .name(examplePipeline.name())\n                .parameters(Map.of(\"Env\", \"Prod\"))\n                .build())\n            .additionalProperties(Map.ofEntries(\n                Map.entry(\"foo\", \"foo1\"),\n                Map.entry(\"bar\", \"bar2\")\n            ))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleFactory:\n    type: azure:datafactory:Factory\n    name: example\n    properties:\n      name: example\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n  examplePipeline:\n    type: azure:datafactory:Pipeline\n    name: example\n    properties:\n      name: example\n      dataFactoryId: ${exampleFactory.id}\n  exampleTopic:\n    type: azure:eventgrid:Topic\n    name: example\n    properties:\n      name: example-topic\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n  exampleTriggerCustomEvent:\n    type: azure:datafactory:TriggerCustomEvent\n    name: example\n    properties:\n      name: example\n      dataFactoryId: ${exampleFactory.id}\n      eventgridTopicId: ${exampleTopic.id}\n      events:\n        - event1\n        - event2\n      subjectBeginsWith: abc\n      subjectEndsWith: xyz\n      annotations:\n        - example1\n        - example2\n        - example3\n      description: example description\n      pipelines:\n        - name: ${examplePipeline.name}\n          parameters:\n            Env: Prod\n      additionalProperties:\n        foo: foo1\n        bar: bar2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nData Factory Custom Event Trigger can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:datafactory/triggerCustomEvent:TriggerCustomEvent example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/example/providers/Microsoft.DataFactory/factories/example/triggers/example\n```\n\n","properties":{"activated":{"type":"boolean","description":"Specifies if the Data Factory Custom Event Trigger is activated. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"additionalProperties":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of additional properties to associate with the Data Factory Custom Event Trigger.\n"},"annotations":{"type":"array","items":{"type":"string"},"description":"List of tags that can be used for describing the Data Factory Custom Event Trigger.\n"},"dataFactoryId":{"type":"string","description":"The ID of Data Factory in which to associate the Trigger with. Changing this forces a new resource.\n"},"description":{"type":"string","description":"The description for the Data Factory Custom Event Trigger.\n"},"eventgridTopicId":{"type":"string","description":"The ID of Event Grid Topic in which event will be listened. Changing this forces a new resource.\n"},"events":{"type":"array","items":{"type":"string"},"description":"List of events that will fire this trigger. At least one event must be specified.\n"},"name":{"type":"string","description":"Specifies the name of the Data Factory Custom Event Trigger. Changing this forces a new resource to be created.\n"},"pipelines":{"type":"array","items":{"$ref":"#/types/azure:datafactory/TriggerCustomEventPipeline:TriggerCustomEventPipeline"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`pipeline`\" pulumi-lang-dotnet=\"`Pipeline`\" pulumi-lang-go=\"`pipeline`\" pulumi-lang-python=\"`pipeline`\" pulumi-lang-yaml=\"`pipeline`\" pulumi-lang-java=\"`pipeline`\"\u003e`pipeline`\u003c/span\u003e blocks as defined below.\n"},"subjectBeginsWith":{"type":"string","description":"The pattern that event subject starts with for trigger to fire.\n"},"subjectEndsWith":{"type":"string","description":"The pattern that event subject ends with for trigger to fire.\n"}},"required":["dataFactoryId","eventgridTopicId","events","name","pipelines"],"inputProperties":{"activated":{"type":"boolean","description":"Specifies if the Data Factory Custom Event Trigger is activated. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"additionalProperties":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of additional properties to associate with the Data Factory Custom Event Trigger.\n"},"annotations":{"type":"array","items":{"type":"string"},"description":"List of tags that can be used for describing the Data Factory Custom Event Trigger.\n"},"dataFactoryId":{"type":"string","description":"The ID of Data Factory in which to associate the Trigger with. Changing this forces a new resource.\n","willReplaceOnChanges":true},"description":{"type":"string","description":"The description for the Data Factory Custom Event Trigger.\n"},"eventgridTopicId":{"type":"string","description":"The ID of Event Grid Topic in which event will be listened. Changing this forces a new resource.\n","willReplaceOnChanges":true},"events":{"type":"array","items":{"type":"string"},"description":"List of events that will fire this trigger. At least one event must be specified.\n"},"name":{"type":"string","description":"Specifies the name of the Data Factory Custom Event Trigger. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"pipelines":{"type":"array","items":{"$ref":"#/types/azure:datafactory/TriggerCustomEventPipeline:TriggerCustomEventPipeline"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`pipeline`\" pulumi-lang-dotnet=\"`Pipeline`\" pulumi-lang-go=\"`pipeline`\" pulumi-lang-python=\"`pipeline`\" pulumi-lang-yaml=\"`pipeline`\" pulumi-lang-java=\"`pipeline`\"\u003e`pipeline`\u003c/span\u003e blocks as defined below.\n"},"subjectBeginsWith":{"type":"string","description":"The pattern that event subject starts with for trigger to fire.\n"},"subjectEndsWith":{"type":"string","description":"The pattern that event subject ends with for trigger to fire.\n"}},"requiredInputs":["dataFactoryId","eventgridTopicId","events","pipelines"],"stateInputs":{"description":"Input properties used for looking up and filtering TriggerCustomEvent resources.\n","properties":{"activated":{"type":"boolean","description":"Specifies if the Data Factory Custom Event Trigger is activated. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"additionalProperties":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of additional properties to associate with the Data Factory Custom Event Trigger.\n"},"annotations":{"type":"array","items":{"type":"string"},"description":"List of tags that can be used for describing the Data Factory Custom Event Trigger.\n"},"dataFactoryId":{"type":"string","description":"The ID of Data Factory in which to associate the Trigger with. Changing this forces a new resource.\n","willReplaceOnChanges":true},"description":{"type":"string","description":"The description for the Data Factory Custom Event Trigger.\n"},"eventgridTopicId":{"type":"string","description":"The ID of Event Grid Topic in which event will be listened. Changing this forces a new resource.\n","willReplaceOnChanges":true},"events":{"type":"array","items":{"type":"string"},"description":"List of events that will fire this trigger. At least one event must be specified.\n"},"name":{"type":"string","description":"Specifies the name of the Data Factory Custom Event Trigger. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"pipelines":{"type":"array","items":{"$ref":"#/types/azure:datafactory/TriggerCustomEventPipeline:TriggerCustomEventPipeline"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`pipeline`\" pulumi-lang-dotnet=\"`Pipeline`\" pulumi-lang-go=\"`pipeline`\" pulumi-lang-python=\"`pipeline`\" pulumi-lang-yaml=\"`pipeline`\" pulumi-lang-java=\"`pipeline`\"\u003e`pipeline`\u003c/span\u003e blocks as defined below.\n"},"subjectBeginsWith":{"type":"string","description":"The pattern that event subject starts with for trigger to fire.\n"},"subjectEndsWith":{"type":"string","description":"The pattern that event subject ends with for trigger to fire.\n"}},"type":"object"}},"azure:datafactory/triggerSchedule:TriggerSchedule":{"description":"Manages a Trigger Schedule inside a Azure Data Factory.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleFactory = new azure.datafactory.Factory(\"example\", {\n    name: \"example\",\n    location: example.location,\n    resourceGroupName: example.name,\n});\nconst examplePipeline = new azure.datafactory.Pipeline(\"example\", {\n    name: \"example\",\n    dataFactoryId: exampleFactory.id,\n});\nconst exampleTriggerSchedule = new azure.datafactory.TriggerSchedule(\"example\", {\n    name: \"example\",\n    dataFactoryId: exampleFactory.id,\n    pipelineName: examplePipeline.name,\n    interval: 5,\n    frequency: \"Day\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_factory = azure.datafactory.Factory(\"example\",\n    name=\"example\",\n    location=example.location,\n    resource_group_name=example.name)\nexample_pipeline = azure.datafactory.Pipeline(\"example\",\n    name=\"example\",\n    data_factory_id=example_factory.id)\nexample_trigger_schedule = azure.datafactory.TriggerSchedule(\"example\",\n    name=\"example\",\n    data_factory_id=example_factory.id,\n    pipeline_name=example_pipeline.name,\n    interval=5,\n    frequency=\"Day\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleFactory = new Azure.DataFactory.Factory(\"example\", new()\n    {\n        Name = \"example\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n    });\n\n    var examplePipeline = new Azure.DataFactory.Pipeline(\"example\", new()\n    {\n        Name = \"example\",\n        DataFactoryId = exampleFactory.Id,\n    });\n\n    var exampleTriggerSchedule = new Azure.DataFactory.TriggerSchedule(\"example\", new()\n    {\n        Name = \"example\",\n        DataFactoryId = exampleFactory.Id,\n        PipelineName = examplePipeline.Name,\n        Interval = 5,\n        Frequency = \"Day\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/datafactory\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleFactory, err := datafactory.NewFactory(ctx, \"example\", \u0026datafactory.FactoryArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texamplePipeline, err := datafactory.NewPipeline(ctx, \"example\", \u0026datafactory.PipelineArgs{\n\t\t\tName:          pulumi.String(\"example\"),\n\t\t\tDataFactoryId: exampleFactory.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = datafactory.NewTriggerSchedule(ctx, \"example\", \u0026datafactory.TriggerScheduleArgs{\n\t\t\tName:          pulumi.String(\"example\"),\n\t\t\tDataFactoryId: exampleFactory.ID(),\n\t\t\tPipelineName:  examplePipeline.Name,\n\t\t\tInterval:      pulumi.Int(5),\n\t\t\tFrequency:     pulumi.String(\"Day\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.datafactory.Factory;\nimport com.pulumi.azure.datafactory.FactoryArgs;\nimport com.pulumi.azure.datafactory.Pipeline;\nimport com.pulumi.azure.datafactory.PipelineArgs;\nimport com.pulumi.azure.datafactory.TriggerSchedule;\nimport com.pulumi.azure.datafactory.TriggerScheduleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleFactory = new Factory(\"exampleFactory\", FactoryArgs.builder()\n            .name(\"example\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .build());\n\n        var examplePipeline = new Pipeline(\"examplePipeline\", PipelineArgs.builder()\n            .name(\"example\")\n            .dataFactoryId(exampleFactory.id())\n            .build());\n\n        var exampleTriggerSchedule = new TriggerSchedule(\"exampleTriggerSchedule\", TriggerScheduleArgs.builder()\n            .name(\"example\")\n            .dataFactoryId(exampleFactory.id())\n            .pipelineName(examplePipeline.name())\n            .interval(5)\n            .frequency(\"Day\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleFactory:\n    type: azure:datafactory:Factory\n    name: example\n    properties:\n      name: example\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n  examplePipeline:\n    type: azure:datafactory:Pipeline\n    name: example\n    properties:\n      name: example\n      dataFactoryId: ${exampleFactory.id}\n  exampleTriggerSchedule:\n    type: azure:datafactory:TriggerSchedule\n    name: example\n    properties:\n      name: example\n      dataFactoryId: ${exampleFactory.id}\n      pipelineName: ${examplePipeline.name}\n      interval: 5\n      frequency: Day\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nData Factory Schedule Trigger can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:datafactory/triggerSchedule:TriggerSchedule example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/example/providers/Microsoft.DataFactory/factories/example/triggers/example\n```\n\n","properties":{"activated":{"type":"boolean","description":"Specifies if the Data Factory Schedule Trigger is activated. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"annotations":{"type":"array","items":{"type":"string"},"description":"List of tags that can be used for describing the Data Factory Schedule Trigger.\n"},"dataFactoryId":{"type":"string","description":"The Data Factory ID in which to associate the Linked Service with. Changing this forces a new resource.\n"},"description":{"type":"string","description":"The Schedule Trigger's description.\n"},"endTime":{"type":"string","description":"The time the Schedule Trigger should end. The time will be represented in UTC.\n"},"frequency":{"type":"string","description":"The trigger frequency. Valid values include `Minute`, `Hour`, `Day`, `Week`, `Month`. Defaults to `Minute`.\n"},"interval":{"type":"integer","description":"The interval for how often the trigger occurs. This defaults to \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e.\n"},"name":{"type":"string","description":"Specifies the name of the Data Factory Schedule Trigger. Changing this forces a new resource to be created. Must be globally unique. See the [Microsoft documentation](https://docs.microsoft.com/azure/data-factory/naming-rules) for all restrictions.\n"},"pipelineName":{"type":"string","description":"The Data Factory Pipeline name that the trigger will act on.\n"},"pipelineParameters":{"type":"object","additionalProperties":{"type":"string"},"description":"The pipeline parameters that the trigger will act upon.\n"},"pipelines":{"type":"array","items":{"$ref":"#/types/azure:datafactory/TriggerSchedulePipeline:TriggerSchedulePipeline"},"description":"A \u003cspan pulumi-lang-nodejs=\"`pipeline`\" pulumi-lang-dotnet=\"`Pipeline`\" pulumi-lang-go=\"`pipeline`\" pulumi-lang-python=\"`pipeline`\" pulumi-lang-yaml=\"`pipeline`\" pulumi-lang-java=\"`pipeline`\"\u003e`pipeline`\u003c/span\u003e block as defined below.\n"},"schedule":{"$ref":"#/types/azure:datafactory/TriggerScheduleSchedule:TriggerScheduleSchedule","description":"A \u003cspan pulumi-lang-nodejs=\"`schedule`\" pulumi-lang-dotnet=\"`Schedule`\" pulumi-lang-go=\"`schedule`\" pulumi-lang-python=\"`schedule`\" pulumi-lang-yaml=\"`schedule`\" pulumi-lang-java=\"`schedule`\"\u003e`schedule`\u003c/span\u003e block as defined below, which further specifies the recurrence schedule for the trigger. A schedule is capable of limiting or increasing the number of trigger executions specified by the \u003cspan pulumi-lang-nodejs=\"`frequency`\" pulumi-lang-dotnet=\"`Frequency`\" pulumi-lang-go=\"`frequency`\" pulumi-lang-python=\"`frequency`\" pulumi-lang-yaml=\"`frequency`\" pulumi-lang-java=\"`frequency`\"\u003e`frequency`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`interval`\" pulumi-lang-dotnet=\"`Interval`\" pulumi-lang-go=\"`interval`\" pulumi-lang-python=\"`interval`\" pulumi-lang-yaml=\"`interval`\" pulumi-lang-java=\"`interval`\"\u003e`interval`\u003c/span\u003e properties.\n"},"startTime":{"type":"string","description":"The time the Schedule Trigger will start. This defaults to the current time. The time will be represented in UTC.\n"},"timeZone":{"type":"string","description":"The timezone of the start/end time.\n"}},"required":["dataFactoryId","name","pipelines","pipelineName","pipelineParameters","startTime"],"inputProperties":{"activated":{"type":"boolean","description":"Specifies if the Data Factory Schedule Trigger is activated. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"annotations":{"type":"array","items":{"type":"string"},"description":"List of tags that can be used for describing the Data Factory Schedule Trigger.\n"},"dataFactoryId":{"type":"string","description":"The Data Factory ID in which to associate the Linked Service with. Changing this forces a new resource.\n","willReplaceOnChanges":true},"description":{"type":"string","description":"The Schedule Trigger's description.\n"},"endTime":{"type":"string","description":"The time the Schedule Trigger should end. The time will be represented in UTC.\n"},"frequency":{"type":"string","description":"The trigger frequency. Valid values include `Minute`, `Hour`, `Day`, `Week`, `Month`. Defaults to `Minute`.\n"},"interval":{"type":"integer","description":"The interval for how often the trigger occurs. This defaults to \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e.\n"},"name":{"type":"string","description":"Specifies the name of the Data Factory Schedule Trigger. Changing this forces a new resource to be created. Must be globally unique. See the [Microsoft documentation](https://docs.microsoft.com/azure/data-factory/naming-rules) for all restrictions.\n","willReplaceOnChanges":true},"pipelineName":{"type":"string","description":"The Data Factory Pipeline name that the trigger will act on.\n"},"pipelineParameters":{"type":"object","additionalProperties":{"type":"string"},"description":"The pipeline parameters that the trigger will act upon.\n"},"pipelines":{"type":"array","items":{"$ref":"#/types/azure:datafactory/TriggerSchedulePipeline:TriggerSchedulePipeline"},"description":"A \u003cspan pulumi-lang-nodejs=\"`pipeline`\" pulumi-lang-dotnet=\"`Pipeline`\" pulumi-lang-go=\"`pipeline`\" pulumi-lang-python=\"`pipeline`\" pulumi-lang-yaml=\"`pipeline`\" pulumi-lang-java=\"`pipeline`\"\u003e`pipeline`\u003c/span\u003e block as defined below.\n"},"schedule":{"$ref":"#/types/azure:datafactory/TriggerScheduleSchedule:TriggerScheduleSchedule","description":"A \u003cspan pulumi-lang-nodejs=\"`schedule`\" pulumi-lang-dotnet=\"`Schedule`\" pulumi-lang-go=\"`schedule`\" pulumi-lang-python=\"`schedule`\" pulumi-lang-yaml=\"`schedule`\" pulumi-lang-java=\"`schedule`\"\u003e`schedule`\u003c/span\u003e block as defined below, which further specifies the recurrence schedule for the trigger. A schedule is capable of limiting or increasing the number of trigger executions specified by the \u003cspan pulumi-lang-nodejs=\"`frequency`\" pulumi-lang-dotnet=\"`Frequency`\" pulumi-lang-go=\"`frequency`\" pulumi-lang-python=\"`frequency`\" pulumi-lang-yaml=\"`frequency`\" pulumi-lang-java=\"`frequency`\"\u003e`frequency`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`interval`\" pulumi-lang-dotnet=\"`Interval`\" pulumi-lang-go=\"`interval`\" pulumi-lang-python=\"`interval`\" pulumi-lang-yaml=\"`interval`\" pulumi-lang-java=\"`interval`\"\u003e`interval`\u003c/span\u003e properties.\n"},"startTime":{"type":"string","description":"The time the Schedule Trigger will start. This defaults to the current time. The time will be represented in UTC.\n"},"timeZone":{"type":"string","description":"The timezone of the start/end time.\n"}},"requiredInputs":["dataFactoryId"],"stateInputs":{"description":"Input properties used for looking up and filtering TriggerSchedule resources.\n","properties":{"activated":{"type":"boolean","description":"Specifies if the Data Factory Schedule Trigger is activated. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"annotations":{"type":"array","items":{"type":"string"},"description":"List of tags that can be used for describing the Data Factory Schedule Trigger.\n"},"dataFactoryId":{"type":"string","description":"The Data Factory ID in which to associate the Linked Service with. Changing this forces a new resource.\n","willReplaceOnChanges":true},"description":{"type":"string","description":"The Schedule Trigger's description.\n"},"endTime":{"type":"string","description":"The time the Schedule Trigger should end. The time will be represented in UTC.\n"},"frequency":{"type":"string","description":"The trigger frequency. Valid values include `Minute`, `Hour`, `Day`, `Week`, `Month`. Defaults to `Minute`.\n"},"interval":{"type":"integer","description":"The interval for how often the trigger occurs. This defaults to \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e.\n"},"name":{"type":"string","description":"Specifies the name of the Data Factory Schedule Trigger. Changing this forces a new resource to be created. Must be globally unique. See the [Microsoft documentation](https://docs.microsoft.com/azure/data-factory/naming-rules) for all restrictions.\n","willReplaceOnChanges":true},"pipelineName":{"type":"string","description":"The Data Factory Pipeline name that the trigger will act on.\n"},"pipelineParameters":{"type":"object","additionalProperties":{"type":"string"},"description":"The pipeline parameters that the trigger will act upon.\n"},"pipelines":{"type":"array","items":{"$ref":"#/types/azure:datafactory/TriggerSchedulePipeline:TriggerSchedulePipeline"},"description":"A \u003cspan pulumi-lang-nodejs=\"`pipeline`\" pulumi-lang-dotnet=\"`Pipeline`\" pulumi-lang-go=\"`pipeline`\" pulumi-lang-python=\"`pipeline`\" pulumi-lang-yaml=\"`pipeline`\" pulumi-lang-java=\"`pipeline`\"\u003e`pipeline`\u003c/span\u003e block as defined below.\n"},"schedule":{"$ref":"#/types/azure:datafactory/TriggerScheduleSchedule:TriggerScheduleSchedule","description":"A \u003cspan pulumi-lang-nodejs=\"`schedule`\" pulumi-lang-dotnet=\"`Schedule`\" pulumi-lang-go=\"`schedule`\" pulumi-lang-python=\"`schedule`\" pulumi-lang-yaml=\"`schedule`\" pulumi-lang-java=\"`schedule`\"\u003e`schedule`\u003c/span\u003e block as defined below, which further specifies the recurrence schedule for the trigger. A schedule is capable of limiting or increasing the number of trigger executions specified by the \u003cspan pulumi-lang-nodejs=\"`frequency`\" pulumi-lang-dotnet=\"`Frequency`\" pulumi-lang-go=\"`frequency`\" pulumi-lang-python=\"`frequency`\" pulumi-lang-yaml=\"`frequency`\" pulumi-lang-java=\"`frequency`\"\u003e`frequency`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`interval`\" pulumi-lang-dotnet=\"`Interval`\" pulumi-lang-go=\"`interval`\" pulumi-lang-python=\"`interval`\" pulumi-lang-yaml=\"`interval`\" pulumi-lang-java=\"`interval`\"\u003e`interval`\u003c/span\u003e properties.\n"},"startTime":{"type":"string","description":"The time the Schedule Trigger will start. This defaults to the current time. The time will be represented in UTC.\n"},"timeZone":{"type":"string","description":"The timezone of the start/end time.\n"}},"type":"object"}},"azure:datafactory/triggerTumblingWindow:TriggerTumblingWindow":{"description":"Manages a Tumbling Window Trigger inside an Azure Data Factory.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleFactory = new azure.datafactory.Factory(\"example\", {\n    name: \"example\",\n    location: example.location,\n    resourceGroupName: example.name,\n});\nconst examplePipeline = new azure.datafactory.Pipeline(\"example\", {\n    name: \"example\",\n    dataFactoryId: exampleFactory.id,\n});\nconst exampleTriggerTumblingWindow = new azure.datafactory.TriggerTumblingWindow(\"example\", {\n    name: \"example\",\n    dataFactoryId: exampleFactory.id,\n    startTime: \"2022-09-21T00:00:00Z\",\n    endTime: \"2022-09-21T08:00:00Z\",\n    frequency: \"Minute\",\n    interval: 15,\n    delay: \"16:00:00\",\n    annotations: [\n        \"example1\",\n        \"example2\",\n        \"example3\",\n    ],\n    description: \"example description\",\n    retry: {\n        count: 1,\n        interval: 30,\n    },\n    pipeline: {\n        name: examplePipeline.name,\n        parameters: {\n            Env: \"Prod\",\n        },\n    },\n    triggerDependencies: [{\n        size: \"24:00:00\",\n        offset: \"-24:00:00\",\n    }],\n    additionalProperties: {\n        foo: \"value1\",\n        bar: \"value2\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_factory = azure.datafactory.Factory(\"example\",\n    name=\"example\",\n    location=example.location,\n    resource_group_name=example.name)\nexample_pipeline = azure.datafactory.Pipeline(\"example\",\n    name=\"example\",\n    data_factory_id=example_factory.id)\nexample_trigger_tumbling_window = azure.datafactory.TriggerTumblingWindow(\"example\",\n    name=\"example\",\n    data_factory_id=example_factory.id,\n    start_time=\"2022-09-21T00:00:00Z\",\n    end_time=\"2022-09-21T08:00:00Z\",\n    frequency=\"Minute\",\n    interval=15,\n    delay=\"16:00:00\",\n    annotations=[\n        \"example1\",\n        \"example2\",\n        \"example3\",\n    ],\n    description=\"example description\",\n    retry={\n        \"count\": 1,\n        \"interval\": 30,\n    },\n    pipeline={\n        \"name\": example_pipeline.name,\n        \"parameters\": {\n            \"Env\": \"Prod\",\n        },\n    },\n    trigger_dependencies=[{\n        \"size\": \"24:00:00\",\n        \"offset\": \"-24:00:00\",\n    }],\n    additional_properties={\n        \"foo\": \"value1\",\n        \"bar\": \"value2\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleFactory = new Azure.DataFactory.Factory(\"example\", new()\n    {\n        Name = \"example\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n    });\n\n    var examplePipeline = new Azure.DataFactory.Pipeline(\"example\", new()\n    {\n        Name = \"example\",\n        DataFactoryId = exampleFactory.Id,\n    });\n\n    var exampleTriggerTumblingWindow = new Azure.DataFactory.TriggerTumblingWindow(\"example\", new()\n    {\n        Name = \"example\",\n        DataFactoryId = exampleFactory.Id,\n        StartTime = \"2022-09-21T00:00:00Z\",\n        EndTime = \"2022-09-21T08:00:00Z\",\n        Frequency = \"Minute\",\n        Interval = 15,\n        Delay = \"16:00:00\",\n        Annotations = new[]\n        {\n            \"example1\",\n            \"example2\",\n            \"example3\",\n        },\n        Description = \"example description\",\n        Retry = new Azure.DataFactory.Inputs.TriggerTumblingWindowRetryArgs\n        {\n            Count = 1,\n            Interval = 30,\n        },\n        Pipeline = new Azure.DataFactory.Inputs.TriggerTumblingWindowPipelineArgs\n        {\n            Name = examplePipeline.Name,\n            Parameters = \n            {\n                { \"Env\", \"Prod\" },\n            },\n        },\n        TriggerDependencies = new[]\n        {\n            new Azure.DataFactory.Inputs.TriggerTumblingWindowTriggerDependencyArgs\n            {\n                Size = \"24:00:00\",\n                Offset = \"-24:00:00\",\n            },\n        },\n        AdditionalProperties = \n        {\n            { \"foo\", \"value1\" },\n            { \"bar\", \"value2\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/datafactory\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleFactory, err := datafactory.NewFactory(ctx, \"example\", \u0026datafactory.FactoryArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texamplePipeline, err := datafactory.NewPipeline(ctx, \"example\", \u0026datafactory.PipelineArgs{\n\t\t\tName:          pulumi.String(\"example\"),\n\t\t\tDataFactoryId: exampleFactory.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = datafactory.NewTriggerTumblingWindow(ctx, \"example\", \u0026datafactory.TriggerTumblingWindowArgs{\n\t\t\tName:          pulumi.String(\"example\"),\n\t\t\tDataFactoryId: exampleFactory.ID(),\n\t\t\tStartTime:     pulumi.String(\"2022-09-21T00:00:00Z\"),\n\t\t\tEndTime:       pulumi.String(\"2022-09-21T08:00:00Z\"),\n\t\t\tFrequency:     pulumi.String(\"Minute\"),\n\t\t\tInterval:      pulumi.Int(15),\n\t\t\tDelay:         pulumi.String(\"16:00:00\"),\n\t\t\tAnnotations: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"example1\"),\n\t\t\t\tpulumi.String(\"example2\"),\n\t\t\t\tpulumi.String(\"example3\"),\n\t\t\t},\n\t\t\tDescription: pulumi.String(\"example description\"),\n\t\t\tRetry: \u0026datafactory.TriggerTumblingWindowRetryArgs{\n\t\t\t\tCount:    pulumi.Int(1),\n\t\t\t\tInterval: pulumi.Int(30),\n\t\t\t},\n\t\t\tPipeline: \u0026datafactory.TriggerTumblingWindowPipelineArgs{\n\t\t\t\tName: examplePipeline.Name,\n\t\t\t\tParameters: pulumi.StringMap{\n\t\t\t\t\t\"Env\": pulumi.String(\"Prod\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTriggerDependencies: datafactory.TriggerTumblingWindowTriggerDependencyArray{\n\t\t\t\t\u0026datafactory.TriggerTumblingWindowTriggerDependencyArgs{\n\t\t\t\t\tSize:   pulumi.String(\"24:00:00\"),\n\t\t\t\t\tOffset: pulumi.String(\"-24:00:00\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tAdditionalProperties: pulumi.StringMap{\n\t\t\t\t\"foo\": pulumi.String(\"value1\"),\n\t\t\t\t\"bar\": pulumi.String(\"value2\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.datafactory.Factory;\nimport com.pulumi.azure.datafactory.FactoryArgs;\nimport com.pulumi.azure.datafactory.Pipeline;\nimport com.pulumi.azure.datafactory.PipelineArgs;\nimport com.pulumi.azure.datafactory.TriggerTumblingWindow;\nimport com.pulumi.azure.datafactory.TriggerTumblingWindowArgs;\nimport com.pulumi.azure.datafactory.inputs.TriggerTumblingWindowRetryArgs;\nimport com.pulumi.azure.datafactory.inputs.TriggerTumblingWindowPipelineArgs;\nimport com.pulumi.azure.datafactory.inputs.TriggerTumblingWindowTriggerDependencyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleFactory = new Factory(\"exampleFactory\", FactoryArgs.builder()\n            .name(\"example\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .build());\n\n        var examplePipeline = new Pipeline(\"examplePipeline\", PipelineArgs.builder()\n            .name(\"example\")\n            .dataFactoryId(exampleFactory.id())\n            .build());\n\n        var exampleTriggerTumblingWindow = new TriggerTumblingWindow(\"exampleTriggerTumblingWindow\", TriggerTumblingWindowArgs.builder()\n            .name(\"example\")\n            .dataFactoryId(exampleFactory.id())\n            .startTime(\"2022-09-21T00:00:00Z\")\n            .endTime(\"2022-09-21T08:00:00Z\")\n            .frequency(\"Minute\")\n            .interval(15)\n            .delay(\"16:00:00\")\n            .annotations(            \n                \"example1\",\n                \"example2\",\n                \"example3\")\n            .description(\"example description\")\n            .retry(TriggerTumblingWindowRetryArgs.builder()\n                .count(1)\n                .interval(30)\n                .build())\n            .pipeline(TriggerTumblingWindowPipelineArgs.builder()\n                .name(examplePipeline.name())\n                .parameters(Map.of(\"Env\", \"Prod\"))\n                .build())\n            .triggerDependencies(TriggerTumblingWindowTriggerDependencyArgs.builder()\n                .size(\"24:00:00\")\n                .offset(\"-24:00:00\")\n                .build())\n            .additionalProperties(Map.ofEntries(\n                Map.entry(\"foo\", \"value1\"),\n                Map.entry(\"bar\", \"value2\")\n            ))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleFactory:\n    type: azure:datafactory:Factory\n    name: example\n    properties:\n      name: example\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n  examplePipeline:\n    type: azure:datafactory:Pipeline\n    name: example\n    properties:\n      name: example\n      dataFactoryId: ${exampleFactory.id}\n  exampleTriggerTumblingWindow:\n    type: azure:datafactory:TriggerTumblingWindow\n    name: example\n    properties:\n      name: example\n      dataFactoryId: ${exampleFactory.id}\n      startTime: 2022-09-21T00:00:00Z\n      endTime: 2022-09-21T08:00:00Z\n      frequency: Minute\n      interval: 15\n      delay: 16:00:00\n      annotations:\n        - example1\n        - example2\n        - example3\n      description: example description\n      retry:\n        count: 1\n        interval: 30\n      pipeline:\n        name: ${examplePipeline.name}\n        parameters:\n          Env: Prod\n      triggerDependencies:\n        - size: 24:00:00\n          offset: -24:00:00\n      additionalProperties:\n        foo: value1\n        bar: value2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nData Factory Tumbling Window Trigger can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:datafactory/triggerTumblingWindow:TriggerTumblingWindow example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/example/providers/Microsoft.DataFactory/factories/example/triggers/example\n```\n\n","properties":{"activated":{"type":"boolean","description":"Specifies if the Data Factory Tumbling Window Trigger is activated. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"additionalProperties":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of additional properties to associate with the Data Factory Tumbling Window Trigger.\n"},"annotations":{"type":"array","items":{"type":"string"},"description":"List of tags that can be used for describing the Data Factory Tumbling Window Trigger.\n"},"dataFactoryId":{"type":"string","description":"The ID of Data Factory in which to associate the Trigger with. Changing this forces a new resource.\n"},"delay":{"type":"string","description":"Specifies how long the trigger waits before triggering new run. formatted as an `D.HH:MM:SS`.\n"},"description":{"type":"string","description":"The description for the Data Factory Tumbling Window Trigger.\n"},"endTime":{"type":"string","description":"Specifies the end time of Tumbling Window, formatted as an RFC3339 string.\n"},"frequency":{"type":"string","description":"Specifies the frequency of Tumbling Window. Possible values are `Hour`, `Minute` and `Month`. Changing this forces a new resource.\n"},"interval":{"type":"integer","description":"Specifies the interval of Tumbling Window. Changing this forces a new resource.\n"},"maxConcurrency":{"type":"integer","description":"The max number for simultaneous trigger run fired by Tumbling Window. Possible values are between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`50`\" pulumi-lang-dotnet=\"`50`\" pulumi-lang-go=\"`50`\" pulumi-lang-python=\"`50`\" pulumi-lang-yaml=\"`50`\" pulumi-lang-java=\"`50`\"\u003e`50`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`50`\" pulumi-lang-dotnet=\"`50`\" pulumi-lang-go=\"`50`\" pulumi-lang-python=\"`50`\" pulumi-lang-yaml=\"`50`\" pulumi-lang-java=\"`50`\"\u003e`50`\u003c/span\u003e.\n"},"name":{"type":"string","description":"Specifies the name of the Data Factory Tumbling Window Trigger. Changing this forces a new resource to be created.\n"},"pipeline":{"$ref":"#/types/azure:datafactory/TriggerTumblingWindowPipeline:TriggerTumblingWindowPipeline","description":"A \u003cspan pulumi-lang-nodejs=\"`pipeline`\" pulumi-lang-dotnet=\"`Pipeline`\" pulumi-lang-go=\"`pipeline`\" pulumi-lang-python=\"`pipeline`\" pulumi-lang-yaml=\"`pipeline`\" pulumi-lang-java=\"`pipeline`\"\u003e`pipeline`\u003c/span\u003e block as defined below.\n"},"retry":{"$ref":"#/types/azure:datafactory/TriggerTumblingWindowRetry:TriggerTumblingWindowRetry","description":"A \u003cspan pulumi-lang-nodejs=\"`retry`\" pulumi-lang-dotnet=\"`Retry`\" pulumi-lang-go=\"`retry`\" pulumi-lang-python=\"`retry`\" pulumi-lang-yaml=\"`retry`\" pulumi-lang-java=\"`retry`\"\u003e`retry`\u003c/span\u003e block as defined below.\n"},"startTime":{"type":"string","description":"Specifies the start time of Tumbling Window, formatted as an RFC3339 string. Changing this forces a new resource.\n"},"triggerDependencies":{"type":"array","items":{"$ref":"#/types/azure:datafactory/TriggerTumblingWindowTriggerDependency:TriggerTumblingWindowTriggerDependency"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`triggerDependency`\" pulumi-lang-dotnet=\"`TriggerDependency`\" pulumi-lang-go=\"`triggerDependency`\" pulumi-lang-python=\"`trigger_dependency`\" pulumi-lang-yaml=\"`triggerDependency`\" pulumi-lang-java=\"`triggerDependency`\"\u003e`trigger_dependency`\u003c/span\u003e block as defined below.\n"}},"required":["dataFactoryId","frequency","interval","name","pipeline","startTime"],"inputProperties":{"activated":{"type":"boolean","description":"Specifies if the Data Factory Tumbling Window Trigger is activated. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"additionalProperties":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of additional properties to associate with the Data Factory Tumbling Window Trigger.\n"},"annotations":{"type":"array","items":{"type":"string"},"description":"List of tags that can be used for describing the Data Factory Tumbling Window Trigger.\n"},"dataFactoryId":{"type":"string","description":"The ID of Data Factory in which to associate the Trigger with. Changing this forces a new resource.\n","willReplaceOnChanges":true},"delay":{"type":"string","description":"Specifies how long the trigger waits before triggering new run. formatted as an `D.HH:MM:SS`.\n"},"description":{"type":"string","description":"The description for the Data Factory Tumbling Window Trigger.\n"},"endTime":{"type":"string","description":"Specifies the end time of Tumbling Window, formatted as an RFC3339 string.\n"},"frequency":{"type":"string","description":"Specifies the frequency of Tumbling Window. Possible values are `Hour`, `Minute` and `Month`. Changing this forces a new resource.\n","willReplaceOnChanges":true},"interval":{"type":"integer","description":"Specifies the interval of Tumbling Window. Changing this forces a new resource.\n","willReplaceOnChanges":true},"maxConcurrency":{"type":"integer","description":"The max number for simultaneous trigger run fired by Tumbling Window. Possible values are between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`50`\" pulumi-lang-dotnet=\"`50`\" pulumi-lang-go=\"`50`\" pulumi-lang-python=\"`50`\" pulumi-lang-yaml=\"`50`\" pulumi-lang-java=\"`50`\"\u003e`50`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`50`\" pulumi-lang-dotnet=\"`50`\" pulumi-lang-go=\"`50`\" pulumi-lang-python=\"`50`\" pulumi-lang-yaml=\"`50`\" pulumi-lang-java=\"`50`\"\u003e`50`\u003c/span\u003e.\n"},"name":{"type":"string","description":"Specifies the name of the Data Factory Tumbling Window Trigger. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"pipeline":{"$ref":"#/types/azure:datafactory/TriggerTumblingWindowPipeline:TriggerTumblingWindowPipeline","description":"A \u003cspan pulumi-lang-nodejs=\"`pipeline`\" pulumi-lang-dotnet=\"`Pipeline`\" pulumi-lang-go=\"`pipeline`\" pulumi-lang-python=\"`pipeline`\" pulumi-lang-yaml=\"`pipeline`\" pulumi-lang-java=\"`pipeline`\"\u003e`pipeline`\u003c/span\u003e block as defined below.\n"},"retry":{"$ref":"#/types/azure:datafactory/TriggerTumblingWindowRetry:TriggerTumblingWindowRetry","description":"A \u003cspan pulumi-lang-nodejs=\"`retry`\" pulumi-lang-dotnet=\"`Retry`\" pulumi-lang-go=\"`retry`\" pulumi-lang-python=\"`retry`\" pulumi-lang-yaml=\"`retry`\" pulumi-lang-java=\"`retry`\"\u003e`retry`\u003c/span\u003e block as defined below.\n"},"startTime":{"type":"string","description":"Specifies the start time of Tumbling Window, formatted as an RFC3339 string. Changing this forces a new resource.\n","willReplaceOnChanges":true},"triggerDependencies":{"type":"array","items":{"$ref":"#/types/azure:datafactory/TriggerTumblingWindowTriggerDependency:TriggerTumblingWindowTriggerDependency"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`triggerDependency`\" pulumi-lang-dotnet=\"`TriggerDependency`\" pulumi-lang-go=\"`triggerDependency`\" pulumi-lang-python=\"`trigger_dependency`\" pulumi-lang-yaml=\"`triggerDependency`\" pulumi-lang-java=\"`triggerDependency`\"\u003e`trigger_dependency`\u003c/span\u003e block as defined below.\n"}},"requiredInputs":["dataFactoryId","frequency","interval","pipeline","startTime"],"stateInputs":{"description":"Input properties used for looking up and filtering TriggerTumblingWindow resources.\n","properties":{"activated":{"type":"boolean","description":"Specifies if the Data Factory Tumbling Window Trigger is activated. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"additionalProperties":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of additional properties to associate with the Data Factory Tumbling Window Trigger.\n"},"annotations":{"type":"array","items":{"type":"string"},"description":"List of tags that can be used for describing the Data Factory Tumbling Window Trigger.\n"},"dataFactoryId":{"type":"string","description":"The ID of Data Factory in which to associate the Trigger with. Changing this forces a new resource.\n","willReplaceOnChanges":true},"delay":{"type":"string","description":"Specifies how long the trigger waits before triggering new run. formatted as an `D.HH:MM:SS`.\n"},"description":{"type":"string","description":"The description for the Data Factory Tumbling Window Trigger.\n"},"endTime":{"type":"string","description":"Specifies the end time of Tumbling Window, formatted as an RFC3339 string.\n"},"frequency":{"type":"string","description":"Specifies the frequency of Tumbling Window. Possible values are `Hour`, `Minute` and `Month`. Changing this forces a new resource.\n","willReplaceOnChanges":true},"interval":{"type":"integer","description":"Specifies the interval of Tumbling Window. Changing this forces a new resource.\n","willReplaceOnChanges":true},"maxConcurrency":{"type":"integer","description":"The max number for simultaneous trigger run fired by Tumbling Window. Possible values are between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`50`\" pulumi-lang-dotnet=\"`50`\" pulumi-lang-go=\"`50`\" pulumi-lang-python=\"`50`\" pulumi-lang-yaml=\"`50`\" pulumi-lang-java=\"`50`\"\u003e`50`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`50`\" pulumi-lang-dotnet=\"`50`\" pulumi-lang-go=\"`50`\" pulumi-lang-python=\"`50`\" pulumi-lang-yaml=\"`50`\" pulumi-lang-java=\"`50`\"\u003e`50`\u003c/span\u003e.\n"},"name":{"type":"string","description":"Specifies the name of the Data Factory Tumbling Window Trigger. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"pipeline":{"$ref":"#/types/azure:datafactory/TriggerTumblingWindowPipeline:TriggerTumblingWindowPipeline","description":"A \u003cspan pulumi-lang-nodejs=\"`pipeline`\" pulumi-lang-dotnet=\"`Pipeline`\" pulumi-lang-go=\"`pipeline`\" pulumi-lang-python=\"`pipeline`\" pulumi-lang-yaml=\"`pipeline`\" pulumi-lang-java=\"`pipeline`\"\u003e`pipeline`\u003c/span\u003e block as defined below.\n"},"retry":{"$ref":"#/types/azure:datafactory/TriggerTumblingWindowRetry:TriggerTumblingWindowRetry","description":"A \u003cspan pulumi-lang-nodejs=\"`retry`\" pulumi-lang-dotnet=\"`Retry`\" pulumi-lang-go=\"`retry`\" pulumi-lang-python=\"`retry`\" pulumi-lang-yaml=\"`retry`\" pulumi-lang-java=\"`retry`\"\u003e`retry`\u003c/span\u003e block as defined below.\n"},"startTime":{"type":"string","description":"Specifies the start time of Tumbling Window, formatted as an RFC3339 string. Changing this forces a new resource.\n","willReplaceOnChanges":true},"triggerDependencies":{"type":"array","items":{"$ref":"#/types/azure:datafactory/TriggerTumblingWindowTriggerDependency:TriggerTumblingWindowTriggerDependency"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`triggerDependency`\" pulumi-lang-dotnet=\"`TriggerDependency`\" pulumi-lang-go=\"`triggerDependency`\" pulumi-lang-python=\"`trigger_dependency`\" pulumi-lang-yaml=\"`triggerDependency`\" pulumi-lang-java=\"`triggerDependency`\"\u003e`trigger_dependency`\u003c/span\u003e block as defined below.\n"}},"type":"object"}},"azure:dataprotection/backupInstanceBlogStorage:BackupInstanceBlogStorage":{"description":"Manages a Backup Instance Blob Storage.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleAccount = new azure.storage.Account(\"example\", {\n    name: \"storageaccountname\",\n    resourceGroupName: example.name,\n    location: example.location,\n    accountTier: \"Standard\",\n    accountReplicationType: \"LRS\",\n});\nconst exampleBackupVault = new azure.dataprotection.BackupVault(\"example\", {\n    name: \"example-backup-vault\",\n    resourceGroupName: example.name,\n    location: example.location,\n    datastoreType: \"VaultStore\",\n    redundancy: \"LocallyRedundant\",\n    identity: {\n        type: \"SystemAssigned\",\n    },\n});\nconst exampleAssignment = new azure.authorization.Assignment(\"example\", {\n    scope: exampleAccount.id,\n    roleDefinitionName: \"Storage Account Backup Contributor\",\n    principalId: exampleBackupVault.identity.apply(identity =\u003e identity?.principalId),\n});\nconst exampleBackupPolicyBlobStorage = new azure.dataprotection.BackupPolicyBlobStorage(\"example\", {\n    name: \"example-backup-policy\",\n    vaultId: exampleBackupVault.id,\n    operationalDefaultRetentionDuration: \"P30D\",\n});\nconst exampleBackupInstanceBlogStorage = new azure.dataprotection.BackupInstanceBlogStorage(\"example\", {\n    name: \"example-backup-instance\",\n    vaultId: exampleBackupVault.id,\n    location: example.location,\n    storageAccountId: exampleAccount.id,\n    backupPolicyId: exampleBackupPolicyBlobStorage.id,\n}, {\n    dependsOn: [exampleAssignment],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_account = azure.storage.Account(\"example\",\n    name=\"storageaccountname\",\n    resource_group_name=example.name,\n    location=example.location,\n    account_tier=\"Standard\",\n    account_replication_type=\"LRS\")\nexample_backup_vault = azure.dataprotection.BackupVault(\"example\",\n    name=\"example-backup-vault\",\n    resource_group_name=example.name,\n    location=example.location,\n    datastore_type=\"VaultStore\",\n    redundancy=\"LocallyRedundant\",\n    identity={\n        \"type\": \"SystemAssigned\",\n    })\nexample_assignment = azure.authorization.Assignment(\"example\",\n    scope=example_account.id,\n    role_definition_name=\"Storage Account Backup Contributor\",\n    principal_id=example_backup_vault.identity.principal_id)\nexample_backup_policy_blob_storage = azure.dataprotection.BackupPolicyBlobStorage(\"example\",\n    name=\"example-backup-policy\",\n    vault_id=example_backup_vault.id,\n    operational_default_retention_duration=\"P30D\")\nexample_backup_instance_blog_storage = azure.dataprotection.BackupInstanceBlogStorage(\"example\",\n    name=\"example-backup-instance\",\n    vault_id=example_backup_vault.id,\n    location=example.location,\n    storage_account_id=example_account.id,\n    backup_policy_id=example_backup_policy_blob_storage.id,\n    opts = pulumi.ResourceOptions(depends_on=[example_assignment]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleAccount = new Azure.Storage.Account(\"example\", new()\n    {\n        Name = \"storageaccountname\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        AccountTier = \"Standard\",\n        AccountReplicationType = \"LRS\",\n    });\n\n    var exampleBackupVault = new Azure.DataProtection.BackupVault(\"example\", new()\n    {\n        Name = \"example-backup-vault\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        DatastoreType = \"VaultStore\",\n        Redundancy = \"LocallyRedundant\",\n        Identity = new Azure.DataProtection.Inputs.BackupVaultIdentityArgs\n        {\n            Type = \"SystemAssigned\",\n        },\n    });\n\n    var exampleAssignment = new Azure.Authorization.Assignment(\"example\", new()\n    {\n        Scope = exampleAccount.Id,\n        RoleDefinitionName = \"Storage Account Backup Contributor\",\n        PrincipalId = exampleBackupVault.Identity.Apply(identity =\u003e identity?.PrincipalId),\n    });\n\n    var exampleBackupPolicyBlobStorage = new Azure.DataProtection.BackupPolicyBlobStorage(\"example\", new()\n    {\n        Name = \"example-backup-policy\",\n        VaultId = exampleBackupVault.Id,\n        OperationalDefaultRetentionDuration = \"P30D\",\n    });\n\n    var exampleBackupInstanceBlogStorage = new Azure.DataProtection.BackupInstanceBlogStorage(\"example\", new()\n    {\n        Name = \"example-backup-instance\",\n        VaultId = exampleBackupVault.Id,\n        Location = example.Location,\n        StorageAccountId = exampleAccount.Id,\n        BackupPolicyId = exampleBackupPolicyBlobStorage.Id,\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            exampleAssignment,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/authorization\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/dataprotection\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := storage.NewAccount(ctx, \"example\", \u0026storage.AccountArgs{\n\t\t\tName:                   pulumi.String(\"storageaccountname\"),\n\t\t\tResourceGroupName:      example.Name,\n\t\t\tLocation:               example.Location,\n\t\t\tAccountTier:            pulumi.String(\"Standard\"),\n\t\t\tAccountReplicationType: pulumi.String(\"LRS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleBackupVault, err := dataprotection.NewBackupVault(ctx, \"example\", \u0026dataprotection.BackupVaultArgs{\n\t\t\tName:              pulumi.String(\"example-backup-vault\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tDatastoreType:     pulumi.String(\"VaultStore\"),\n\t\t\tRedundancy:        pulumi.String(\"LocallyRedundant\"),\n\t\t\tIdentity: \u0026dataprotection.BackupVaultIdentityArgs{\n\t\t\t\tType: pulumi.String(\"SystemAssigned\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAssignment, err := authorization.NewAssignment(ctx, \"example\", \u0026authorization.AssignmentArgs{\n\t\t\tScope:              exampleAccount.ID(),\n\t\t\tRoleDefinitionName: pulumi.String(\"Storage Account Backup Contributor\"),\n\t\t\tPrincipalId: pulumi.String(exampleBackupVault.Identity.ApplyT(func(identity dataprotection.BackupVaultIdentity) (*string, error) {\n\t\t\t\treturn \u0026identity.PrincipalId, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleBackupPolicyBlobStorage, err := dataprotection.NewBackupPolicyBlobStorage(ctx, \"example\", \u0026dataprotection.BackupPolicyBlobStorageArgs{\n\t\t\tName:                                pulumi.String(\"example-backup-policy\"),\n\t\t\tVaultId:                             exampleBackupVault.ID(),\n\t\t\tOperationalDefaultRetentionDuration: pulumi.String(\"P30D\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = dataprotection.NewBackupInstanceBlogStorage(ctx, \"example\", \u0026dataprotection.BackupInstanceBlogStorageArgs{\n\t\t\tName:             pulumi.String(\"example-backup-instance\"),\n\t\t\tVaultId:          exampleBackupVault.ID(),\n\t\t\tLocation:         example.Location,\n\t\t\tStorageAccountId: exampleAccount.ID(),\n\t\t\tBackupPolicyId:   exampleBackupPolicyBlobStorage.ID(),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleAssignment,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.storage.Account;\nimport com.pulumi.azure.storage.AccountArgs;\nimport com.pulumi.azure.dataprotection.BackupVault;\nimport com.pulumi.azure.dataprotection.BackupVaultArgs;\nimport com.pulumi.azure.dataprotection.inputs.BackupVaultIdentityArgs;\nimport com.pulumi.azure.authorization.Assignment;\nimport com.pulumi.azure.authorization.AssignmentArgs;\nimport com.pulumi.azure.dataprotection.BackupPolicyBlobStorage;\nimport com.pulumi.azure.dataprotection.BackupPolicyBlobStorageArgs;\nimport com.pulumi.azure.dataprotection.BackupInstanceBlogStorage;\nimport com.pulumi.azure.dataprotection.BackupInstanceBlogStorageArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"storageaccountname\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .accountTier(\"Standard\")\n            .accountReplicationType(\"LRS\")\n            .build());\n\n        var exampleBackupVault = new BackupVault(\"exampleBackupVault\", BackupVaultArgs.builder()\n            .name(\"example-backup-vault\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .datastoreType(\"VaultStore\")\n            .redundancy(\"LocallyRedundant\")\n            .identity(BackupVaultIdentityArgs.builder()\n                .type(\"SystemAssigned\")\n                .build())\n            .build());\n\n        var exampleAssignment = new Assignment(\"exampleAssignment\", AssignmentArgs.builder()\n            .scope(exampleAccount.id())\n            .roleDefinitionName(\"Storage Account Backup Contributor\")\n            .principalId(exampleBackupVault.identity().applyValue(_identity -\u003e _identity.principalId()))\n            .build());\n\n        var exampleBackupPolicyBlobStorage = new BackupPolicyBlobStorage(\"exampleBackupPolicyBlobStorage\", BackupPolicyBlobStorageArgs.builder()\n            .name(\"example-backup-policy\")\n            .vaultId(exampleBackupVault.id())\n            .operationalDefaultRetentionDuration(\"P30D\")\n            .build());\n\n        var exampleBackupInstanceBlogStorage = new BackupInstanceBlogStorage(\"exampleBackupInstanceBlogStorage\", BackupInstanceBlogStorageArgs.builder()\n            .name(\"example-backup-instance\")\n            .vaultId(exampleBackupVault.id())\n            .location(example.location())\n            .storageAccountId(exampleAccount.id())\n            .backupPolicyId(exampleBackupPolicyBlobStorage.id())\n            .build(), CustomResourceOptions.builder()\n                .dependsOn(exampleAssignment)\n                .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleAccount:\n    type: azure:storage:Account\n    name: example\n    properties:\n      name: storageaccountname\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      accountTier: Standard\n      accountReplicationType: LRS\n  exampleBackupVault:\n    type: azure:dataprotection:BackupVault\n    name: example\n    properties:\n      name: example-backup-vault\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      datastoreType: VaultStore\n      redundancy: LocallyRedundant\n      identity:\n        type: SystemAssigned\n  exampleAssignment:\n    type: azure:authorization:Assignment\n    name: example\n    properties:\n      scope: ${exampleAccount.id}\n      roleDefinitionName: Storage Account Backup Contributor\n      principalId: ${exampleBackupVault.identity.principalId}\n  exampleBackupPolicyBlobStorage:\n    type: azure:dataprotection:BackupPolicyBlobStorage\n    name: example\n    properties:\n      name: example-backup-policy\n      vaultId: ${exampleBackupVault.id}\n      operationalDefaultRetentionDuration: P30D\n  exampleBackupInstanceBlogStorage:\n    type: azure:dataprotection:BackupInstanceBlogStorage\n    name: example\n    properties:\n      name: example-backup-instance\n      vaultId: ${exampleBackupVault.id}\n      location: ${example.location}\n      storageAccountId: ${exampleAccount.id}\n      backupPolicyId: ${exampleBackupPolicyBlobStorage.id}\n    options:\n      dependsOn:\n        - ${exampleAssignment}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.DataProtection` - 2024-04-01\n\n## Import\n\nBackup Instance Blob Storages can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:dataprotection/backupInstanceBlogStorage:BackupInstanceBlogStorage example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.DataProtection/backupVaults/vault1/backupInstances/backupInstance1\n```\n\n","properties":{"backupPolicyId":{"type":"string","description":"The ID of the Backup Policy.\n"},"location":{"type":"string","description":"The location of the source Storage Account. Changing this forces a new Backup Instance Blob Storage to be created.\n"},"name":{"type":"string","description":"The name which should be used for this Backup Instance Blob Storage. Changing this forces a new Backup Instance Blob Storage to be created.\n"},"protectionState":{"type":"string","description":"The protection state of the Backup Instance Blob Storage.\n"},"storageAccountContainerNames":{"type":"array","items":{"type":"string"},"description":"The list of the container names of the source Storage Account.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`storageAccountContainerNames`\" pulumi-lang-dotnet=\"`StorageAccountContainerNames`\" pulumi-lang-go=\"`storageAccountContainerNames`\" pulumi-lang-python=\"`storage_account_container_names`\" pulumi-lang-yaml=\"`storageAccountContainerNames`\" pulumi-lang-java=\"`storageAccountContainerNames`\"\u003e`storage_account_container_names`\u003c/span\u003e should be specified in the vaulted backup policy/operational and vaulted hybrid backup policy. Removing the \u003cspan pulumi-lang-nodejs=\"`storageAccountContainerNames`\" pulumi-lang-dotnet=\"`StorageAccountContainerNames`\" pulumi-lang-go=\"`storageAccountContainerNames`\" pulumi-lang-python=\"`storage_account_container_names`\" pulumi-lang-yaml=\"`storageAccountContainerNames`\" pulumi-lang-java=\"`storageAccountContainerNames`\"\u003e`storage_account_container_names`\u003c/span\u003e will force a new resource to be created since it can't be removed once specified.\n"},"storageAccountId":{"type":"string","description":"The ID of the source Storage Account. Changing this forces a new Backup Instance Blob Storage to be created.\n"},"vaultId":{"type":"string","description":"The ID of the Backup Vault within which the Backup Instance Blob Storage should exist. Changing this forces a new Backup Instance Blob Storage to be created.\n"}},"required":["backupPolicyId","location","name","protectionState","storageAccountId","vaultId"],"inputProperties":{"backupPolicyId":{"type":"string","description":"The ID of the Backup Policy.\n"},"location":{"type":"string","description":"The location of the source Storage Account. Changing this forces a new Backup Instance Blob Storage to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Backup Instance Blob Storage. Changing this forces a new Backup Instance Blob Storage to be created.\n","willReplaceOnChanges":true},"storageAccountContainerNames":{"type":"array","items":{"type":"string"},"description":"The list of the container names of the source Storage Account.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`storageAccountContainerNames`\" pulumi-lang-dotnet=\"`StorageAccountContainerNames`\" pulumi-lang-go=\"`storageAccountContainerNames`\" pulumi-lang-python=\"`storage_account_container_names`\" pulumi-lang-yaml=\"`storageAccountContainerNames`\" pulumi-lang-java=\"`storageAccountContainerNames`\"\u003e`storage_account_container_names`\u003c/span\u003e should be specified in the vaulted backup policy/operational and vaulted hybrid backup policy. Removing the \u003cspan pulumi-lang-nodejs=\"`storageAccountContainerNames`\" pulumi-lang-dotnet=\"`StorageAccountContainerNames`\" pulumi-lang-go=\"`storageAccountContainerNames`\" pulumi-lang-python=\"`storage_account_container_names`\" pulumi-lang-yaml=\"`storageAccountContainerNames`\" pulumi-lang-java=\"`storageAccountContainerNames`\"\u003e`storage_account_container_names`\u003c/span\u003e will force a new resource to be created since it can't be removed once specified.\n"},"storageAccountId":{"type":"string","description":"The ID of the source Storage Account. Changing this forces a new Backup Instance Blob Storage to be created.\n","willReplaceOnChanges":true},"vaultId":{"type":"string","description":"The ID of the Backup Vault within which the Backup Instance Blob Storage should exist. Changing this forces a new Backup Instance Blob Storage to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["backupPolicyId","storageAccountId","vaultId"],"stateInputs":{"description":"Input properties used for looking up and filtering BackupInstanceBlogStorage resources.\n","properties":{"backupPolicyId":{"type":"string","description":"The ID of the Backup Policy.\n"},"location":{"type":"string","description":"The location of the source Storage Account. Changing this forces a new Backup Instance Blob Storage to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Backup Instance Blob Storage. Changing this forces a new Backup Instance Blob Storage to be created.\n","willReplaceOnChanges":true},"protectionState":{"type":"string","description":"The protection state of the Backup Instance Blob Storage.\n"},"storageAccountContainerNames":{"type":"array","items":{"type":"string"},"description":"The list of the container names of the source Storage Account.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`storageAccountContainerNames`\" pulumi-lang-dotnet=\"`StorageAccountContainerNames`\" pulumi-lang-go=\"`storageAccountContainerNames`\" pulumi-lang-python=\"`storage_account_container_names`\" pulumi-lang-yaml=\"`storageAccountContainerNames`\" pulumi-lang-java=\"`storageAccountContainerNames`\"\u003e`storage_account_container_names`\u003c/span\u003e should be specified in the vaulted backup policy/operational and vaulted hybrid backup policy. Removing the \u003cspan pulumi-lang-nodejs=\"`storageAccountContainerNames`\" pulumi-lang-dotnet=\"`StorageAccountContainerNames`\" pulumi-lang-go=\"`storageAccountContainerNames`\" pulumi-lang-python=\"`storage_account_container_names`\" pulumi-lang-yaml=\"`storageAccountContainerNames`\" pulumi-lang-java=\"`storageAccountContainerNames`\"\u003e`storage_account_container_names`\u003c/span\u003e will force a new resource to be created since it can't be removed once specified.\n"},"storageAccountId":{"type":"string","description":"The ID of the source Storage Account. Changing this forces a new Backup Instance Blob Storage to be created.\n","willReplaceOnChanges":true},"vaultId":{"type":"string","description":"The ID of the Backup Vault within which the Backup Instance Blob Storage should exist. Changing this forces a new Backup Instance Blob Storage to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:dataprotection/backupInstanceDisk:BackupInstanceDisk":{"description":"Manages a Backup Instance to back up Disk.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleManagedDisk = new azure.compute.ManagedDisk(\"example\", {\n    name: \"example-disk\",\n    location: example.location,\n    resourceGroupName: example.name,\n    storageAccountType: \"Standard_LRS\",\n    createOption: \"Empty\",\n    diskSizeGb: 1,\n});\nconst exampleBackupVault = new azure.dataprotection.BackupVault(\"example\", {\n    name: \"example-backup-vault\",\n    resourceGroupName: example.name,\n    location: example.location,\n    datastoreType: \"VaultStore\",\n    redundancy: \"LocallyRedundant\",\n    identity: {\n        type: \"SystemAssigned\",\n    },\n});\nconst example1 = new azure.authorization.Assignment(\"example1\", {\n    scope: example.id,\n    roleDefinitionName: \"Disk Snapshot Contributor\",\n    principalId: exampleBackupVault.identity.apply(identity =\u003e identity?.principalId),\n});\nconst example2 = new azure.authorization.Assignment(\"example2\", {\n    scope: exampleManagedDisk.id,\n    roleDefinitionName: \"Disk Backup Reader\",\n    principalId: exampleBackupVault.identity.apply(identity =\u003e identity?.principalId),\n});\nconst exampleBackupPolicyDisk = new azure.dataprotection.BackupPolicyDisk(\"example\", {\n    name: \"example-backup-policy\",\n    vaultId: exampleBackupVault.id,\n    backupRepeatingTimeIntervals: [\"R/2021-05-19T06:33:16+00:00/PT4H\"],\n    defaultRetentionDuration: \"P7D\",\n});\nconst exampleBackupInstanceDisk = new azure.dataprotection.BackupInstanceDisk(\"example\", {\n    name: \"example-backup-instance\",\n    location: exampleBackupVault.location,\n    vaultId: exampleBackupVault.id,\n    diskId: exampleManagedDisk.id,\n    snapshotResourceGroupName: example.name,\n    backupPolicyId: exampleBackupPolicyDisk.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_managed_disk = azure.compute.ManagedDisk(\"example\",\n    name=\"example-disk\",\n    location=example.location,\n    resource_group_name=example.name,\n    storage_account_type=\"Standard_LRS\",\n    create_option=\"Empty\",\n    disk_size_gb=1)\nexample_backup_vault = azure.dataprotection.BackupVault(\"example\",\n    name=\"example-backup-vault\",\n    resource_group_name=example.name,\n    location=example.location,\n    datastore_type=\"VaultStore\",\n    redundancy=\"LocallyRedundant\",\n    identity={\n        \"type\": \"SystemAssigned\",\n    })\nexample1 = azure.authorization.Assignment(\"example1\",\n    scope=example.id,\n    role_definition_name=\"Disk Snapshot Contributor\",\n    principal_id=example_backup_vault.identity.principal_id)\nexample2 = azure.authorization.Assignment(\"example2\",\n    scope=example_managed_disk.id,\n    role_definition_name=\"Disk Backup Reader\",\n    principal_id=example_backup_vault.identity.principal_id)\nexample_backup_policy_disk = azure.dataprotection.BackupPolicyDisk(\"example\",\n    name=\"example-backup-policy\",\n    vault_id=example_backup_vault.id,\n    backup_repeating_time_intervals=[\"R/2021-05-19T06:33:16+00:00/PT4H\"],\n    default_retention_duration=\"P7D\")\nexample_backup_instance_disk = azure.dataprotection.BackupInstanceDisk(\"example\",\n    name=\"example-backup-instance\",\n    location=example_backup_vault.location,\n    vault_id=example_backup_vault.id,\n    disk_id=example_managed_disk.id,\n    snapshot_resource_group_name=example.name,\n    backup_policy_id=example_backup_policy_disk.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleManagedDisk = new Azure.Compute.ManagedDisk(\"example\", new()\n    {\n        Name = \"example-disk\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        StorageAccountType = \"Standard_LRS\",\n        CreateOption = \"Empty\",\n        DiskSizeGb = 1,\n    });\n\n    var exampleBackupVault = new Azure.DataProtection.BackupVault(\"example\", new()\n    {\n        Name = \"example-backup-vault\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        DatastoreType = \"VaultStore\",\n        Redundancy = \"LocallyRedundant\",\n        Identity = new Azure.DataProtection.Inputs.BackupVaultIdentityArgs\n        {\n            Type = \"SystemAssigned\",\n        },\n    });\n\n    var example1 = new Azure.Authorization.Assignment(\"example1\", new()\n    {\n        Scope = example.Id,\n        RoleDefinitionName = \"Disk Snapshot Contributor\",\n        PrincipalId = exampleBackupVault.Identity.Apply(identity =\u003e identity?.PrincipalId),\n    });\n\n    var example2 = new Azure.Authorization.Assignment(\"example2\", new()\n    {\n        Scope = exampleManagedDisk.Id,\n        RoleDefinitionName = \"Disk Backup Reader\",\n        PrincipalId = exampleBackupVault.Identity.Apply(identity =\u003e identity?.PrincipalId),\n    });\n\n    var exampleBackupPolicyDisk = new Azure.DataProtection.BackupPolicyDisk(\"example\", new()\n    {\n        Name = \"example-backup-policy\",\n        VaultId = exampleBackupVault.Id,\n        BackupRepeatingTimeIntervals = new[]\n        {\n            \"R/2021-05-19T06:33:16+00:00/PT4H\",\n        },\n        DefaultRetentionDuration = \"P7D\",\n    });\n\n    var exampleBackupInstanceDisk = new Azure.DataProtection.BackupInstanceDisk(\"example\", new()\n    {\n        Name = \"example-backup-instance\",\n        Location = exampleBackupVault.Location,\n        VaultId = exampleBackupVault.Id,\n        DiskId = exampleManagedDisk.Id,\n        SnapshotResourceGroupName = example.Name,\n        BackupPolicyId = exampleBackupPolicyDisk.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/authorization\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/compute\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/dataprotection\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleManagedDisk, err := compute.NewManagedDisk(ctx, \"example\", \u0026compute.ManagedDiskArgs{\n\t\t\tName:               pulumi.String(\"example-disk\"),\n\t\t\tLocation:           example.Location,\n\t\t\tResourceGroupName:  example.Name,\n\t\t\tStorageAccountType: pulumi.String(\"Standard_LRS\"),\n\t\t\tCreateOption:       pulumi.String(\"Empty\"),\n\t\t\tDiskSizeGb:         pulumi.Int(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleBackupVault, err := dataprotection.NewBackupVault(ctx, \"example\", \u0026dataprotection.BackupVaultArgs{\n\t\t\tName:              pulumi.String(\"example-backup-vault\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tDatastoreType:     pulumi.String(\"VaultStore\"),\n\t\t\tRedundancy:        pulumi.String(\"LocallyRedundant\"),\n\t\t\tIdentity: \u0026dataprotection.BackupVaultIdentityArgs{\n\t\t\t\tType: pulumi.String(\"SystemAssigned\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = authorization.NewAssignment(ctx, \"example1\", \u0026authorization.AssignmentArgs{\n\t\t\tScope:              example.ID(),\n\t\t\tRoleDefinitionName: pulumi.String(\"Disk Snapshot Contributor\"),\n\t\t\tPrincipalId: pulumi.String(exampleBackupVault.Identity.ApplyT(func(identity dataprotection.BackupVaultIdentity) (*string, error) {\n\t\t\t\treturn \u0026identity.PrincipalId, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = authorization.NewAssignment(ctx, \"example2\", \u0026authorization.AssignmentArgs{\n\t\t\tScope:              exampleManagedDisk.ID(),\n\t\t\tRoleDefinitionName: pulumi.String(\"Disk Backup Reader\"),\n\t\t\tPrincipalId: pulumi.String(exampleBackupVault.Identity.ApplyT(func(identity dataprotection.BackupVaultIdentity) (*string, error) {\n\t\t\t\treturn \u0026identity.PrincipalId, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleBackupPolicyDisk, err := dataprotection.NewBackupPolicyDisk(ctx, \"example\", \u0026dataprotection.BackupPolicyDiskArgs{\n\t\t\tName:    pulumi.String(\"example-backup-policy\"),\n\t\t\tVaultId: exampleBackupVault.ID(),\n\t\t\tBackupRepeatingTimeIntervals: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"R/2021-05-19T06:33:16+00:00/PT4H\"),\n\t\t\t},\n\t\t\tDefaultRetentionDuration: pulumi.String(\"P7D\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = dataprotection.NewBackupInstanceDisk(ctx, \"example\", \u0026dataprotection.BackupInstanceDiskArgs{\n\t\t\tName:                      pulumi.String(\"example-backup-instance\"),\n\t\t\tLocation:                  exampleBackupVault.Location,\n\t\t\tVaultId:                   exampleBackupVault.ID(),\n\t\t\tDiskId:                    exampleManagedDisk.ID(),\n\t\t\tSnapshotResourceGroupName: example.Name,\n\t\t\tBackupPolicyId:            exampleBackupPolicyDisk.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.compute.ManagedDisk;\nimport com.pulumi.azure.compute.ManagedDiskArgs;\nimport com.pulumi.azure.dataprotection.BackupVault;\nimport com.pulumi.azure.dataprotection.BackupVaultArgs;\nimport com.pulumi.azure.dataprotection.inputs.BackupVaultIdentityArgs;\nimport com.pulumi.azure.authorization.Assignment;\nimport com.pulumi.azure.authorization.AssignmentArgs;\nimport com.pulumi.azure.dataprotection.BackupPolicyDisk;\nimport com.pulumi.azure.dataprotection.BackupPolicyDiskArgs;\nimport com.pulumi.azure.dataprotection.BackupInstanceDisk;\nimport com.pulumi.azure.dataprotection.BackupInstanceDiskArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleManagedDisk = new ManagedDisk(\"exampleManagedDisk\", ManagedDiskArgs.builder()\n            .name(\"example-disk\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .storageAccountType(\"Standard_LRS\")\n            .createOption(\"Empty\")\n            .diskSizeGb(1)\n            .build());\n\n        var exampleBackupVault = new BackupVault(\"exampleBackupVault\", BackupVaultArgs.builder()\n            .name(\"example-backup-vault\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .datastoreType(\"VaultStore\")\n            .redundancy(\"LocallyRedundant\")\n            .identity(BackupVaultIdentityArgs.builder()\n                .type(\"SystemAssigned\")\n                .build())\n            .build());\n\n        var example1 = new Assignment(\"example1\", AssignmentArgs.builder()\n            .scope(example.id())\n            .roleDefinitionName(\"Disk Snapshot Contributor\")\n            .principalId(exampleBackupVault.identity().applyValue(_identity -\u003e _identity.principalId()))\n            .build());\n\n        var example2 = new Assignment(\"example2\", AssignmentArgs.builder()\n            .scope(exampleManagedDisk.id())\n            .roleDefinitionName(\"Disk Backup Reader\")\n            .principalId(exampleBackupVault.identity().applyValue(_identity -\u003e _identity.principalId()))\n            .build());\n\n        var exampleBackupPolicyDisk = new BackupPolicyDisk(\"exampleBackupPolicyDisk\", BackupPolicyDiskArgs.builder()\n            .name(\"example-backup-policy\")\n            .vaultId(exampleBackupVault.id())\n            .backupRepeatingTimeIntervals(\"R/2021-05-19T06:33:16+00:00/PT4H\")\n            .defaultRetentionDuration(\"P7D\")\n            .build());\n\n        var exampleBackupInstanceDisk = new BackupInstanceDisk(\"exampleBackupInstanceDisk\", BackupInstanceDiskArgs.builder()\n            .name(\"example-backup-instance\")\n            .location(exampleBackupVault.location())\n            .vaultId(exampleBackupVault.id())\n            .diskId(exampleManagedDisk.id())\n            .snapshotResourceGroupName(example.name())\n            .backupPolicyId(exampleBackupPolicyDisk.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleManagedDisk:\n    type: azure:compute:ManagedDisk\n    name: example\n    properties:\n      name: example-disk\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      storageAccountType: Standard_LRS\n      createOption: Empty\n      diskSizeGb: '1'\n  exampleBackupVault:\n    type: azure:dataprotection:BackupVault\n    name: example\n    properties:\n      name: example-backup-vault\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      datastoreType: VaultStore\n      redundancy: LocallyRedundant\n      identity:\n        type: SystemAssigned\n  example1:\n    type: azure:authorization:Assignment\n    properties:\n      scope: ${example.id}\n      roleDefinitionName: Disk Snapshot Contributor\n      principalId: ${exampleBackupVault.identity.principalId}\n  example2:\n    type: azure:authorization:Assignment\n    properties:\n      scope: ${exampleManagedDisk.id}\n      roleDefinitionName: Disk Backup Reader\n      principalId: ${exampleBackupVault.identity.principalId}\n  exampleBackupPolicyDisk:\n    type: azure:dataprotection:BackupPolicyDisk\n    name: example\n    properties:\n      name: example-backup-policy\n      vaultId: ${exampleBackupVault.id}\n      backupRepeatingTimeIntervals:\n        - R/2021-05-19T06:33:16+00:00/PT4H\n      defaultRetentionDuration: P7D\n  exampleBackupInstanceDisk:\n    type: azure:dataprotection:BackupInstanceDisk\n    name: example\n    properties:\n      name: example-backup-instance\n      location: ${exampleBackupVault.location}\n      vaultId: ${exampleBackupVault.id}\n      diskId: ${exampleManagedDisk.id}\n      snapshotResourceGroupName: ${example.name}\n      backupPolicyId: ${exampleBackupPolicyDisk.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.DataProtection` - 2024-04-01\n\n## Import\n\nBackup Instance Disks can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:dataprotection/backupInstanceDisk:BackupInstanceDisk example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.DataProtection/backupVaults/vault1/backupInstances/backupInstance1\n```\n\n","properties":{"backupPolicyId":{"type":"string","description":"The ID of the Backup Policy.\n"},"diskId":{"type":"string","description":"The ID of the source Disk. Changing this forces a new Backup Instance Disk to be created.\n"},"location":{"type":"string","description":"The Azure Region where the Backup Instance Disk should exist. Changing this forces a new Backup Instance Disk to be created.\n"},"name":{"type":"string","description":"The name which should be used for this Backup Instance Disk. Changing this forces a new Backup Instance Disk to be created.\n"},"protectionState":{"type":"string","description":"The protection state of the Backup Instance Disk.\n"},"snapshotResourceGroupName":{"type":"string","description":"The name of the Resource Group where snapshots are stored. Changing this forces a new Backup Instance Disk to be created.\n"},"snapshotSubscriptionId":{"type":"string","description":"The subscription ID of the Resource Group where snapshots are stored. The default value is the subscription ID of the Backup Vault. Changing this forces a new Backup Instance Disk to be created.\n"},"vaultId":{"type":"string","description":"The ID of the Backup Vault within which the Backup Instance Disk should exist. Changing this forces a new Backup Instance Disk to be created.\n"}},"required":["backupPolicyId","diskId","location","name","protectionState","snapshotResourceGroupName","vaultId"],"inputProperties":{"backupPolicyId":{"type":"string","description":"The ID of the Backup Policy.\n"},"diskId":{"type":"string","description":"The ID of the source Disk. Changing this forces a new Backup Instance Disk to be created.\n","willReplaceOnChanges":true},"location":{"type":"string","description":"The Azure Region where the Backup Instance Disk should exist. Changing this forces a new Backup Instance Disk to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Backup Instance Disk. Changing this forces a new Backup Instance Disk to be created.\n","willReplaceOnChanges":true},"snapshotResourceGroupName":{"type":"string","description":"The name of the Resource Group where snapshots are stored. Changing this forces a new Backup Instance Disk to be created.\n","willReplaceOnChanges":true},"snapshotSubscriptionId":{"type":"string","description":"The subscription ID of the Resource Group where snapshots are stored. The default value is the subscription ID of the Backup Vault. Changing this forces a new Backup Instance Disk to be created.\n","willReplaceOnChanges":true},"vaultId":{"type":"string","description":"The ID of the Backup Vault within which the Backup Instance Disk should exist. Changing this forces a new Backup Instance Disk to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["backupPolicyId","diskId","snapshotResourceGroupName","vaultId"],"stateInputs":{"description":"Input properties used for looking up and filtering BackupInstanceDisk resources.\n","properties":{"backupPolicyId":{"type":"string","description":"The ID of the Backup Policy.\n"},"diskId":{"type":"string","description":"The ID of the source Disk. Changing this forces a new Backup Instance Disk to be created.\n","willReplaceOnChanges":true},"location":{"type":"string","description":"The Azure Region where the Backup Instance Disk should exist. Changing this forces a new Backup Instance Disk to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Backup Instance Disk. Changing this forces a new Backup Instance Disk to be created.\n","willReplaceOnChanges":true},"protectionState":{"type":"string","description":"The protection state of the Backup Instance Disk.\n"},"snapshotResourceGroupName":{"type":"string","description":"The name of the Resource Group where snapshots are stored. Changing this forces a new Backup Instance Disk to be created.\n","willReplaceOnChanges":true},"snapshotSubscriptionId":{"type":"string","description":"The subscription ID of the Resource Group where snapshots are stored. The default value is the subscription ID of the Backup Vault. Changing this forces a new Backup Instance Disk to be created.\n","willReplaceOnChanges":true},"vaultId":{"type":"string","description":"The ID of the Backup Vault within which the Backup Instance Disk should exist. Changing this forces a new Backup Instance Disk to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:dataprotection/backupInstanceKubernetesCluster:BackupInstanceKubernetesCluster":{"description":"Manages a Backup Instance to back up a Kubernetes Cluster.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst current = azure.core.getClientConfig({});\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example\",\n    location: \"West Europe\",\n});\nconst snap = new azure.core.ResourceGroup(\"snap\", {\n    name: \"example-snap\",\n    location: \"West Europe\",\n});\nconst exampleBackupVault = new azure.dataprotection.BackupVault(\"example\", {\n    name: \"example\",\n    resourceGroupName: example.name,\n    location: example.location,\n    datastoreType: \"VaultStore\",\n    redundancy: \"LocallyRedundant\",\n    identity: {\n        type: \"SystemAssigned\",\n    },\n});\nconst exampleKubernetesCluster = new azure.containerservice.KubernetesCluster(\"example\", {\n    name: \"example\",\n    location: example.location,\n    resourceGroupName: example.name,\n    dnsPrefix: \"dns\",\n    defaultNodePool: {\n        name: \"default\",\n        nodeCount: 1,\n        vmSize: \"Standard_DS2_v2\",\n        hostEncryptionEnabled: true,\n    },\n    identity: {\n        type: \"SystemAssigned\",\n    },\n});\nconst aksClusterTrustedAccess = new azure.containerservice.ClusterTrustedAccessRoleBinding(\"aks_cluster_trusted_access\", {\n    kubernetesClusterId: exampleKubernetesCluster.id,\n    name: \"example\",\n    roles: [\"Microsoft.DataProtection/backupVaults/backup-operator\"],\n    sourceResourceId: exampleBackupVault.id,\n});\nconst exampleAccount = new azure.storage.Account(\"example\", {\n    name: \"example\",\n    resourceGroupName: example.name,\n    location: example.location,\n    accountTier: \"Standard\",\n    accountReplicationType: \"LRS\",\n});\nconst exampleContainer = new azure.storage.Container(\"example\", {\n    name: \"example\",\n    storageAccountName: exampleAccount.name,\n    containerAccessType: \"private\",\n});\nconst exampleKubernetesClusterExtension = new azure.containerservice.KubernetesClusterExtension(\"example\", {\n    name: \"example\",\n    clusterId: exampleKubernetesCluster.id,\n    extensionType: \"Microsoft.DataProtection.Kubernetes\",\n    releaseTrain: \"stable\",\n    releaseNamespace: \"dataprotection-microsoft\",\n    configurationSettings: {\n        \"configuration.backupStorageLocation.bucket\": exampleContainer.name,\n        \"configuration.backupStorageLocation.config.resourceGroup\": example.name,\n        \"configuration.backupStorageLocation.config.storageAccount\": exampleAccount.name,\n        \"configuration.backupStorageLocation.config.subscriptionId\": current.then(current =\u003e current.subscriptionId),\n        \"credentials.tenantId\": current.then(current =\u003e current.tenantId),\n    },\n});\nconst testExtensionAndStorageAccountPermission = new azure.authorization.Assignment(\"test_extension_and_storage_account_permission\", {\n    scope: exampleAccount.id,\n    roleDefinitionName: \"Storage Account Contributor\",\n    principalId: exampleKubernetesClusterExtension.aksAssignedIdentities.apply(aksAssignedIdentities =\u003e aksAssignedIdentities[0].principalId),\n});\nconst testVaultMsiReadOnCluster = new azure.authorization.Assignment(\"test_vault_msi_read_on_cluster\", {\n    scope: exampleKubernetesCluster.id,\n    roleDefinitionName: \"Reader\",\n    principalId: exampleBackupVault.identity.apply(identity =\u003e identity?.principalId),\n});\nconst testVaultMsiReadOnSnapRg = new azure.authorization.Assignment(\"test_vault_msi_read_on_snap_rg\", {\n    scope: snap.id,\n    roleDefinitionName: \"Reader\",\n    principalId: exampleBackupVault.identity.apply(identity =\u003e identity?.principalId),\n});\nconst testVaultMsiSnapshotContributorOnSnapRg = new azure.authorization.Assignment(\"test_vault_msi_snapshot_contributor_on_snap_rg\", {\n    scope: snap.id,\n    roleDefinitionName: \"Disk Snapshot Contributor\",\n    principalId: exampleBackupVault.identity.apply(identity =\u003e identity?.principalId),\n});\nconst testVaultDataOperatorOnSnapRg = new azure.authorization.Assignment(\"test_vault_data_operator_on_snap_rg\", {\n    scope: snap.id,\n    roleDefinitionName: \"Data Operator for Managed Disks\",\n    principalId: exampleBackupVault.identity.apply(identity =\u003e identity?.principalId),\n});\nconst testVaultDataContributorOnStorage = new azure.authorization.Assignment(\"test_vault_data_contributor_on_storage\", {\n    scope: exampleAccount.id,\n    roleDefinitionName: \"Storage Blob Data Contributor\",\n    principalId: exampleBackupVault.identity.apply(identity =\u003e identity?.principalId),\n});\nconst testClusterMsiContributorOnSnapRg = new azure.authorization.Assignment(\"test_cluster_msi_contributor_on_snap_rg\", {\n    scope: snap.id,\n    roleDefinitionName: \"Contributor\",\n    principalId: exampleKubernetesCluster.identity.apply(identity =\u003e identity?.principalId),\n});\nconst exampleBackupPolicyKubernetesCluster = new azure.dataprotection.BackupPolicyKubernetesCluster(\"example\", {\n    name: \"example\",\n    resourceGroupName: example.name,\n    vaultName: exampleBackupVault.name,\n    backupRepeatingTimeIntervals: [\"R/2023-05-23T02:30:00+00:00/P1W\"],\n    retentionRules: [{\n        name: \"Daily\",\n        priority: 25,\n        lifeCycles: [{\n            duration: \"P84D\",\n            dataStoreType: \"OperationalStore\",\n        }],\n        criteria: {\n            daysOfWeeks: [\"Thursday\"],\n            monthsOfYears: [\"November\"],\n            weeksOfMonths: [\"First\"],\n            scheduledBackupTimes: [\"2023-05-23T02:30:00Z\"],\n        },\n    }],\n    defaultRetentionRule: {\n        lifeCycles: [{\n            duration: \"P14D\",\n            dataStoreType: \"OperationalStore\",\n        }],\n    },\n});\nconst exampleBackupInstanceKubernetesCluster = new azure.dataprotection.BackupInstanceKubernetesCluster(\"example\", {\n    name: \"example\",\n    location: example.location,\n    vaultId: exampleBackupVault.id,\n    kubernetesClusterId: exampleKubernetesCluster.id,\n    snapshotResourceGroupName: snap.name,\n    backupPolicyId: exampleBackupPolicyKubernetesCluster.id,\n    backupDatasourceParameters: {\n        excludedNamespaces: [\"test-excluded-namespaces\"],\n        excludedResourceTypes: [\"exvolumesnapshotcontents.snapshot.storage.k8s.io\"],\n        clusterScopedResourcesEnabled: true,\n        includedNamespaces: [\"test-included-namespaces\"],\n        includedResourceTypes: [\"involumesnapshotcontents.snapshot.storage.k8s.io\"],\n        labelSelectors: [\"kubernetes.io/metadata.name:test\"],\n        volumeSnapshotEnabled: true,\n    },\n}, {\n    dependsOn: [\n        testExtensionAndStorageAccountPermission,\n        testVaultMsiReadOnCluster,\n        testVaultMsiReadOnSnapRg,\n        testClusterMsiContributorOnSnapRg,\n        testVaultMsiSnapshotContributorOnSnapRg,\n        testVaultDataOperatorOnSnapRg,\n        testVaultDataContributorOnStorage,\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\ncurrent = azure.core.get_client_config()\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example\",\n    location=\"West Europe\")\nsnap = azure.core.ResourceGroup(\"snap\",\n    name=\"example-snap\",\n    location=\"West Europe\")\nexample_backup_vault = azure.dataprotection.BackupVault(\"example\",\n    name=\"example\",\n    resource_group_name=example.name,\n    location=example.location,\n    datastore_type=\"VaultStore\",\n    redundancy=\"LocallyRedundant\",\n    identity={\n        \"type\": \"SystemAssigned\",\n    })\nexample_kubernetes_cluster = azure.containerservice.KubernetesCluster(\"example\",\n    name=\"example\",\n    location=example.location,\n    resource_group_name=example.name,\n    dns_prefix=\"dns\",\n    default_node_pool={\n        \"name\": \"default\",\n        \"node_count\": 1,\n        \"vm_size\": \"Standard_DS2_v2\",\n        \"host_encryption_enabled\": True,\n    },\n    identity={\n        \"type\": \"SystemAssigned\",\n    })\naks_cluster_trusted_access = azure.containerservice.ClusterTrustedAccessRoleBinding(\"aks_cluster_trusted_access\",\n    kubernetes_cluster_id=example_kubernetes_cluster.id,\n    name=\"example\",\n    roles=[\"Microsoft.DataProtection/backupVaults/backup-operator\"],\n    source_resource_id=example_backup_vault.id)\nexample_account = azure.storage.Account(\"example\",\n    name=\"example\",\n    resource_group_name=example.name,\n    location=example.location,\n    account_tier=\"Standard\",\n    account_replication_type=\"LRS\")\nexample_container = azure.storage.Container(\"example\",\n    name=\"example\",\n    storage_account_name=example_account.name,\n    container_access_type=\"private\")\nexample_kubernetes_cluster_extension = azure.containerservice.KubernetesClusterExtension(\"example\",\n    name=\"example\",\n    cluster_id=example_kubernetes_cluster.id,\n    extension_type=\"Microsoft.DataProtection.Kubernetes\",\n    release_train=\"stable\",\n    release_namespace=\"dataprotection-microsoft\",\n    configuration_settings={\n        \"configuration.backupStorageLocation.bucket\": example_container.name,\n        \"configuration.backupStorageLocation.config.resourceGroup\": example.name,\n        \"configuration.backupStorageLocation.config.storageAccount\": example_account.name,\n        \"configuration.backupStorageLocation.config.subscriptionId\": current.subscription_id,\n        \"credentials.tenantId\": current.tenant_id,\n    })\ntest_extension_and_storage_account_permission = azure.authorization.Assignment(\"test_extension_and_storage_account_permission\",\n    scope=example_account.id,\n    role_definition_name=\"Storage Account Contributor\",\n    principal_id=example_kubernetes_cluster_extension.aks_assigned_identities[0].principal_id)\ntest_vault_msi_read_on_cluster = azure.authorization.Assignment(\"test_vault_msi_read_on_cluster\",\n    scope=example_kubernetes_cluster.id,\n    role_definition_name=\"Reader\",\n    principal_id=example_backup_vault.identity.principal_id)\ntest_vault_msi_read_on_snap_rg = azure.authorization.Assignment(\"test_vault_msi_read_on_snap_rg\",\n    scope=snap.id,\n    role_definition_name=\"Reader\",\n    principal_id=example_backup_vault.identity.principal_id)\ntest_vault_msi_snapshot_contributor_on_snap_rg = azure.authorization.Assignment(\"test_vault_msi_snapshot_contributor_on_snap_rg\",\n    scope=snap.id,\n    role_definition_name=\"Disk Snapshot Contributor\",\n    principal_id=example_backup_vault.identity.principal_id)\ntest_vault_data_operator_on_snap_rg = azure.authorization.Assignment(\"test_vault_data_operator_on_snap_rg\",\n    scope=snap.id,\n    role_definition_name=\"Data Operator for Managed Disks\",\n    principal_id=example_backup_vault.identity.principal_id)\ntest_vault_data_contributor_on_storage = azure.authorization.Assignment(\"test_vault_data_contributor_on_storage\",\n    scope=example_account.id,\n    role_definition_name=\"Storage Blob Data Contributor\",\n    principal_id=example_backup_vault.identity.principal_id)\ntest_cluster_msi_contributor_on_snap_rg = azure.authorization.Assignment(\"test_cluster_msi_contributor_on_snap_rg\",\n    scope=snap.id,\n    role_definition_name=\"Contributor\",\n    principal_id=example_kubernetes_cluster.identity.principal_id)\nexample_backup_policy_kubernetes_cluster = azure.dataprotection.BackupPolicyKubernetesCluster(\"example\",\n    name=\"example\",\n    resource_group_name=example.name,\n    vault_name=example_backup_vault.name,\n    backup_repeating_time_intervals=[\"R/2023-05-23T02:30:00+00:00/P1W\"],\n    retention_rules=[{\n        \"name\": \"Daily\",\n        \"priority\": 25,\n        \"life_cycles\": [{\n            \"duration\": \"P84D\",\n            \"data_store_type\": \"OperationalStore\",\n        }],\n        \"criteria\": {\n            \"days_of_weeks\": [\"Thursday\"],\n            \"months_of_years\": [\"November\"],\n            \"weeks_of_months\": [\"First\"],\n            \"scheduled_backup_times\": [\"2023-05-23T02:30:00Z\"],\n        },\n    }],\n    default_retention_rule={\n        \"life_cycles\": [{\n            \"duration\": \"P14D\",\n            \"data_store_type\": \"OperationalStore\",\n        }],\n    })\nexample_backup_instance_kubernetes_cluster = azure.dataprotection.BackupInstanceKubernetesCluster(\"example\",\n    name=\"example\",\n    location=example.location,\n    vault_id=example_backup_vault.id,\n    kubernetes_cluster_id=example_kubernetes_cluster.id,\n    snapshot_resource_group_name=snap.name,\n    backup_policy_id=example_backup_policy_kubernetes_cluster.id,\n    backup_datasource_parameters={\n        \"excluded_namespaces\": [\"test-excluded-namespaces\"],\n        \"excluded_resource_types\": [\"exvolumesnapshotcontents.snapshot.storage.k8s.io\"],\n        \"cluster_scoped_resources_enabled\": True,\n        \"included_namespaces\": [\"test-included-namespaces\"],\n        \"included_resource_types\": [\"involumesnapshotcontents.snapshot.storage.k8s.io\"],\n        \"label_selectors\": [\"kubernetes.io/metadata.name:test\"],\n        \"volume_snapshot_enabled\": True,\n    },\n    opts = pulumi.ResourceOptions(depends_on=[\n            test_extension_and_storage_account_permission,\n            test_vault_msi_read_on_cluster,\n            test_vault_msi_read_on_snap_rg,\n            test_cluster_msi_contributor_on_snap_rg,\n            test_vault_msi_snapshot_contributor_on_snap_rg,\n            test_vault_data_operator_on_snap_rg,\n            test_vault_data_contributor_on_storage,\n        ]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var current = Azure.Core.GetClientConfig.Invoke();\n\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example\",\n        Location = \"West Europe\",\n    });\n\n    var snap = new Azure.Core.ResourceGroup(\"snap\", new()\n    {\n        Name = \"example-snap\",\n        Location = \"West Europe\",\n    });\n\n    var exampleBackupVault = new Azure.DataProtection.BackupVault(\"example\", new()\n    {\n        Name = \"example\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        DatastoreType = \"VaultStore\",\n        Redundancy = \"LocallyRedundant\",\n        Identity = new Azure.DataProtection.Inputs.BackupVaultIdentityArgs\n        {\n            Type = \"SystemAssigned\",\n        },\n    });\n\n    var exampleKubernetesCluster = new Azure.ContainerService.KubernetesCluster(\"example\", new()\n    {\n        Name = \"example\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        DnsPrefix = \"dns\",\n        DefaultNodePool = new Azure.ContainerService.Inputs.KubernetesClusterDefaultNodePoolArgs\n        {\n            Name = \"default\",\n            NodeCount = 1,\n            VmSize = \"Standard_DS2_v2\",\n            HostEncryptionEnabled = true,\n        },\n        Identity = new Azure.ContainerService.Inputs.KubernetesClusterIdentityArgs\n        {\n            Type = \"SystemAssigned\",\n        },\n    });\n\n    var aksClusterTrustedAccess = new Azure.ContainerService.ClusterTrustedAccessRoleBinding(\"aks_cluster_trusted_access\", new()\n    {\n        KubernetesClusterId = exampleKubernetesCluster.Id,\n        Name = \"example\",\n        Roles = new[]\n        {\n            \"Microsoft.DataProtection/backupVaults/backup-operator\",\n        },\n        SourceResourceId = exampleBackupVault.Id,\n    });\n\n    var exampleAccount = new Azure.Storage.Account(\"example\", new()\n    {\n        Name = \"example\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        AccountTier = \"Standard\",\n        AccountReplicationType = \"LRS\",\n    });\n\n    var exampleContainer = new Azure.Storage.Container(\"example\", new()\n    {\n        Name = \"example\",\n        StorageAccountName = exampleAccount.Name,\n        ContainerAccessType = \"private\",\n    });\n\n    var exampleKubernetesClusterExtension = new Azure.ContainerService.KubernetesClusterExtension(\"example\", new()\n    {\n        Name = \"example\",\n        ClusterId = exampleKubernetesCluster.Id,\n        ExtensionType = \"Microsoft.DataProtection.Kubernetes\",\n        ReleaseTrain = \"stable\",\n        ReleaseNamespace = \"dataprotection-microsoft\",\n        ConfigurationSettings = \n        {\n            { \"configuration.backupStorageLocation.bucket\", exampleContainer.Name },\n            { \"configuration.backupStorageLocation.config.resourceGroup\", example.Name },\n            { \"configuration.backupStorageLocation.config.storageAccount\", exampleAccount.Name },\n            { \"configuration.backupStorageLocation.config.subscriptionId\", current.Apply(getClientConfigResult =\u003e getClientConfigResult.SubscriptionId) },\n            { \"credentials.tenantId\", current.Apply(getClientConfigResult =\u003e getClientConfigResult.TenantId) },\n        },\n    });\n\n    var testExtensionAndStorageAccountPermission = new Azure.Authorization.Assignment(\"test_extension_and_storage_account_permission\", new()\n    {\n        Scope = exampleAccount.Id,\n        RoleDefinitionName = \"Storage Account Contributor\",\n        PrincipalId = exampleKubernetesClusterExtension.AksAssignedIdentities.Apply(aksAssignedIdentities =\u003e aksAssignedIdentities[0].PrincipalId),\n    });\n\n    var testVaultMsiReadOnCluster = new Azure.Authorization.Assignment(\"test_vault_msi_read_on_cluster\", new()\n    {\n        Scope = exampleKubernetesCluster.Id,\n        RoleDefinitionName = \"Reader\",\n        PrincipalId = exampleBackupVault.Identity.Apply(identity =\u003e identity?.PrincipalId),\n    });\n\n    var testVaultMsiReadOnSnapRg = new Azure.Authorization.Assignment(\"test_vault_msi_read_on_snap_rg\", new()\n    {\n        Scope = snap.Id,\n        RoleDefinitionName = \"Reader\",\n        PrincipalId = exampleBackupVault.Identity.Apply(identity =\u003e identity?.PrincipalId),\n    });\n\n    var testVaultMsiSnapshotContributorOnSnapRg = new Azure.Authorization.Assignment(\"test_vault_msi_snapshot_contributor_on_snap_rg\", new()\n    {\n        Scope = snap.Id,\n        RoleDefinitionName = \"Disk Snapshot Contributor\",\n        PrincipalId = exampleBackupVault.Identity.Apply(identity =\u003e identity?.PrincipalId),\n    });\n\n    var testVaultDataOperatorOnSnapRg = new Azure.Authorization.Assignment(\"test_vault_data_operator_on_snap_rg\", new()\n    {\n        Scope = snap.Id,\n        RoleDefinitionName = \"Data Operator for Managed Disks\",\n        PrincipalId = exampleBackupVault.Identity.Apply(identity =\u003e identity?.PrincipalId),\n    });\n\n    var testVaultDataContributorOnStorage = new Azure.Authorization.Assignment(\"test_vault_data_contributor_on_storage\", new()\n    {\n        Scope = exampleAccount.Id,\n        RoleDefinitionName = \"Storage Blob Data Contributor\",\n        PrincipalId = exampleBackupVault.Identity.Apply(identity =\u003e identity?.PrincipalId),\n    });\n\n    var testClusterMsiContributorOnSnapRg = new Azure.Authorization.Assignment(\"test_cluster_msi_contributor_on_snap_rg\", new()\n    {\n        Scope = snap.Id,\n        RoleDefinitionName = \"Contributor\",\n        PrincipalId = exampleKubernetesCluster.Identity.Apply(identity =\u003e identity?.PrincipalId),\n    });\n\n    var exampleBackupPolicyKubernetesCluster = new Azure.DataProtection.BackupPolicyKubernetesCluster(\"example\", new()\n    {\n        Name = \"example\",\n        ResourceGroupName = example.Name,\n        VaultName = exampleBackupVault.Name,\n        BackupRepeatingTimeIntervals = new[]\n        {\n            \"R/2023-05-23T02:30:00+00:00/P1W\",\n        },\n        RetentionRules = new[]\n        {\n            new Azure.DataProtection.Inputs.BackupPolicyKubernetesClusterRetentionRuleArgs\n            {\n                Name = \"Daily\",\n                Priority = 25,\n                LifeCycles = new[]\n                {\n                    new Azure.DataProtection.Inputs.BackupPolicyKubernetesClusterRetentionRuleLifeCycleArgs\n                    {\n                        Duration = \"P84D\",\n                        DataStoreType = \"OperationalStore\",\n                    },\n                },\n                Criteria = new Azure.DataProtection.Inputs.BackupPolicyKubernetesClusterRetentionRuleCriteriaArgs\n                {\n                    DaysOfWeeks = new[]\n                    {\n                        \"Thursday\",\n                    },\n                    MonthsOfYears = new[]\n                    {\n                        \"November\",\n                    },\n                    WeeksOfMonths = new[]\n                    {\n                        \"First\",\n                    },\n                    ScheduledBackupTimes = new[]\n                    {\n                        \"2023-05-23T02:30:00Z\",\n                    },\n                },\n            },\n        },\n        DefaultRetentionRule = new Azure.DataProtection.Inputs.BackupPolicyKubernetesClusterDefaultRetentionRuleArgs\n        {\n            LifeCycles = new[]\n            {\n                new Azure.DataProtection.Inputs.BackupPolicyKubernetesClusterDefaultRetentionRuleLifeCycleArgs\n                {\n                    Duration = \"P14D\",\n                    DataStoreType = \"OperationalStore\",\n                },\n            },\n        },\n    });\n\n    var exampleBackupInstanceKubernetesCluster = new Azure.DataProtection.BackupInstanceKubernetesCluster(\"example\", new()\n    {\n        Name = \"example\",\n        Location = example.Location,\n        VaultId = exampleBackupVault.Id,\n        KubernetesClusterId = exampleKubernetesCluster.Id,\n        SnapshotResourceGroupName = snap.Name,\n        BackupPolicyId = exampleBackupPolicyKubernetesCluster.Id,\n        BackupDatasourceParameters = new Azure.DataProtection.Inputs.BackupInstanceKubernetesClusterBackupDatasourceParametersArgs\n        {\n            ExcludedNamespaces = new[]\n            {\n                \"test-excluded-namespaces\",\n            },\n            ExcludedResourceTypes = new[]\n            {\n                \"exvolumesnapshotcontents.snapshot.storage.k8s.io\",\n            },\n            ClusterScopedResourcesEnabled = true,\n            IncludedNamespaces = new[]\n            {\n                \"test-included-namespaces\",\n            },\n            IncludedResourceTypes = new[]\n            {\n                \"involumesnapshotcontents.snapshot.storage.k8s.io\",\n            },\n            LabelSelectors = new[]\n            {\n                \"kubernetes.io/metadata.name:test\",\n            },\n            VolumeSnapshotEnabled = true,\n        },\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            testExtensionAndStorageAccountPermission,\n            testVaultMsiReadOnCluster,\n            testVaultMsiReadOnSnapRg,\n            testClusterMsiContributorOnSnapRg,\n            testVaultMsiSnapshotContributorOnSnapRg,\n            testVaultDataOperatorOnSnapRg,\n            testVaultDataContributorOnStorage,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/authorization\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/containerservice\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/dataprotection\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := core.GetClientConfig(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsnap, err := core.NewResourceGroup(ctx, \"snap\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-snap\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleBackupVault, err := dataprotection.NewBackupVault(ctx, \"example\", \u0026dataprotection.BackupVaultArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tDatastoreType:     pulumi.String(\"VaultStore\"),\n\t\t\tRedundancy:        pulumi.String(\"LocallyRedundant\"),\n\t\t\tIdentity: \u0026dataprotection.BackupVaultIdentityArgs{\n\t\t\t\tType: pulumi.String(\"SystemAssigned\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleKubernetesCluster, err := containerservice.NewKubernetesCluster(ctx, \"example\", \u0026containerservice.KubernetesClusterArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tDnsPrefix:         pulumi.String(\"dns\"),\n\t\t\tDefaultNodePool: \u0026containerservice.KubernetesClusterDefaultNodePoolArgs{\n\t\t\t\tName:                  pulumi.String(\"default\"),\n\t\t\t\tNodeCount:             pulumi.Int(1),\n\t\t\t\tVmSize:                pulumi.String(\"Standard_DS2_v2\"),\n\t\t\t\tHostEncryptionEnabled: pulumi.Bool(true),\n\t\t\t},\n\t\t\tIdentity: \u0026containerservice.KubernetesClusterIdentityArgs{\n\t\t\t\tType: pulumi.String(\"SystemAssigned\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = containerservice.NewClusterTrustedAccessRoleBinding(ctx, \"aks_cluster_trusted_access\", \u0026containerservice.ClusterTrustedAccessRoleBindingArgs{\n\t\t\tKubernetesClusterId: exampleKubernetesCluster.ID(),\n\t\t\tName:                pulumi.String(\"example\"),\n\t\t\tRoles: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"Microsoft.DataProtection/backupVaults/backup-operator\"),\n\t\t\t},\n\t\t\tSourceResourceId: exampleBackupVault.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := storage.NewAccount(ctx, \"example\", \u0026storage.AccountArgs{\n\t\t\tName:                   pulumi.String(\"example\"),\n\t\t\tResourceGroupName:      example.Name,\n\t\t\tLocation:               example.Location,\n\t\t\tAccountTier:            pulumi.String(\"Standard\"),\n\t\t\tAccountReplicationType: pulumi.String(\"LRS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleContainer, err := storage.NewContainer(ctx, \"example\", \u0026storage.ContainerArgs{\n\t\t\tName:                pulumi.String(\"example\"),\n\t\t\tStorageAccountName:  exampleAccount.Name,\n\t\t\tContainerAccessType: pulumi.String(\"private\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleKubernetesClusterExtension, err := containerservice.NewKubernetesClusterExtension(ctx, \"example\", \u0026containerservice.KubernetesClusterExtensionArgs{\n\t\t\tName:             pulumi.String(\"example\"),\n\t\t\tClusterId:        exampleKubernetesCluster.ID(),\n\t\t\tExtensionType:    pulumi.String(\"Microsoft.DataProtection.Kubernetes\"),\n\t\t\tReleaseTrain:     pulumi.String(\"stable\"),\n\t\t\tReleaseNamespace: pulumi.String(\"dataprotection-microsoft\"),\n\t\t\tConfigurationSettings: pulumi.StringMap{\n\t\t\t\t\"configuration.backupStorageLocation.bucket\":                exampleContainer.Name,\n\t\t\t\t\"configuration.backupStorageLocation.config.resourceGroup\":  example.Name,\n\t\t\t\t\"configuration.backupStorageLocation.config.storageAccount\": exampleAccount.Name,\n\t\t\t\t\"configuration.backupStorageLocation.config.subscriptionId\": pulumi.String(current.SubscriptionId),\n\t\t\t\t\"credentials.tenantId\":                                      pulumi.String(current.TenantId),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestExtensionAndStorageAccountPermission, err := authorization.NewAssignment(ctx, \"test_extension_and_storage_account_permission\", \u0026authorization.AssignmentArgs{\n\t\t\tScope:              exampleAccount.ID(),\n\t\t\tRoleDefinitionName: pulumi.String(\"Storage Account Contributor\"),\n\t\t\tPrincipalId: pulumi.String(exampleKubernetesClusterExtension.AksAssignedIdentities.ApplyT(func(aksAssignedIdentities []containerservice.KubernetesClusterExtensionAksAssignedIdentity) (*string, error) {\n\t\t\t\treturn \u0026aksAssignedIdentities[0].PrincipalId, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestVaultMsiReadOnCluster, err := authorization.NewAssignment(ctx, \"test_vault_msi_read_on_cluster\", \u0026authorization.AssignmentArgs{\n\t\t\tScope:              exampleKubernetesCluster.ID(),\n\t\t\tRoleDefinitionName: pulumi.String(\"Reader\"),\n\t\t\tPrincipalId: pulumi.String(exampleBackupVault.Identity.ApplyT(func(identity dataprotection.BackupVaultIdentity) (*string, error) {\n\t\t\t\treturn \u0026identity.PrincipalId, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestVaultMsiReadOnSnapRg, err := authorization.NewAssignment(ctx, \"test_vault_msi_read_on_snap_rg\", \u0026authorization.AssignmentArgs{\n\t\t\tScope:              snap.ID(),\n\t\t\tRoleDefinitionName: pulumi.String(\"Reader\"),\n\t\t\tPrincipalId: pulumi.String(exampleBackupVault.Identity.ApplyT(func(identity dataprotection.BackupVaultIdentity) (*string, error) {\n\t\t\t\treturn \u0026identity.PrincipalId, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestVaultMsiSnapshotContributorOnSnapRg, err := authorization.NewAssignment(ctx, \"test_vault_msi_snapshot_contributor_on_snap_rg\", \u0026authorization.AssignmentArgs{\n\t\t\tScope:              snap.ID(),\n\t\t\tRoleDefinitionName: pulumi.String(\"Disk Snapshot Contributor\"),\n\t\t\tPrincipalId: pulumi.String(exampleBackupVault.Identity.ApplyT(func(identity dataprotection.BackupVaultIdentity) (*string, error) {\n\t\t\t\treturn \u0026identity.PrincipalId, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestVaultDataOperatorOnSnapRg, err := authorization.NewAssignment(ctx, \"test_vault_data_operator_on_snap_rg\", \u0026authorization.AssignmentArgs{\n\t\t\tScope:              snap.ID(),\n\t\t\tRoleDefinitionName: pulumi.String(\"Data Operator for Managed Disks\"),\n\t\t\tPrincipalId: pulumi.String(exampleBackupVault.Identity.ApplyT(func(identity dataprotection.BackupVaultIdentity) (*string, error) {\n\t\t\t\treturn \u0026identity.PrincipalId, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestVaultDataContributorOnStorage, err := authorization.NewAssignment(ctx, \"test_vault_data_contributor_on_storage\", \u0026authorization.AssignmentArgs{\n\t\t\tScope:              exampleAccount.ID(),\n\t\t\tRoleDefinitionName: pulumi.String(\"Storage Blob Data Contributor\"),\n\t\t\tPrincipalId: pulumi.String(exampleBackupVault.Identity.ApplyT(func(identity dataprotection.BackupVaultIdentity) (*string, error) {\n\t\t\t\treturn \u0026identity.PrincipalId, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestClusterMsiContributorOnSnapRg, err := authorization.NewAssignment(ctx, \"test_cluster_msi_contributor_on_snap_rg\", \u0026authorization.AssignmentArgs{\n\t\t\tScope:              snap.ID(),\n\t\t\tRoleDefinitionName: pulumi.String(\"Contributor\"),\n\t\t\tPrincipalId: pulumi.String(exampleKubernetesCluster.Identity.ApplyT(func(identity containerservice.KubernetesClusterIdentity) (*string, error) {\n\t\t\t\treturn \u0026identity.PrincipalId, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleBackupPolicyKubernetesCluster, err := dataprotection.NewBackupPolicyKubernetesCluster(ctx, \"example\", \u0026dataprotection.BackupPolicyKubernetesClusterArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tVaultName:         exampleBackupVault.Name,\n\t\t\tBackupRepeatingTimeIntervals: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"R/2023-05-23T02:30:00+00:00/P1W\"),\n\t\t\t},\n\t\t\tRetentionRules: dataprotection.BackupPolicyKubernetesClusterRetentionRuleArray{\n\t\t\t\t\u0026dataprotection.BackupPolicyKubernetesClusterRetentionRuleArgs{\n\t\t\t\t\tName:     pulumi.String(\"Daily\"),\n\t\t\t\t\tPriority: pulumi.Int(25),\n\t\t\t\t\tLifeCycles: dataprotection.BackupPolicyKubernetesClusterRetentionRuleLifeCycleArray{\n\t\t\t\t\t\t\u0026dataprotection.BackupPolicyKubernetesClusterRetentionRuleLifeCycleArgs{\n\t\t\t\t\t\t\tDuration:      pulumi.String(\"P84D\"),\n\t\t\t\t\t\t\tDataStoreType: pulumi.String(\"OperationalStore\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tCriteria: \u0026dataprotection.BackupPolicyKubernetesClusterRetentionRuleCriteriaArgs{\n\t\t\t\t\t\tDaysOfWeeks: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"Thursday\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tMonthsOfYears: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"November\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tWeeksOfMonths: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"First\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tScheduledBackupTimes: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"2023-05-23T02:30:00Z\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tDefaultRetentionRule: \u0026dataprotection.BackupPolicyKubernetesClusterDefaultRetentionRuleArgs{\n\t\t\t\tLifeCycles: dataprotection.BackupPolicyKubernetesClusterDefaultRetentionRuleLifeCycleArray{\n\t\t\t\t\t\u0026dataprotection.BackupPolicyKubernetesClusterDefaultRetentionRuleLifeCycleArgs{\n\t\t\t\t\t\tDuration:      pulumi.String(\"P14D\"),\n\t\t\t\t\t\tDataStoreType: pulumi.String(\"OperationalStore\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = dataprotection.NewBackupInstanceKubernetesCluster(ctx, \"example\", \u0026dataprotection.BackupInstanceKubernetesClusterArgs{\n\t\t\tName:                      pulumi.String(\"example\"),\n\t\t\tLocation:                  example.Location,\n\t\t\tVaultId:                   exampleBackupVault.ID(),\n\t\t\tKubernetesClusterId:       exampleKubernetesCluster.ID(),\n\t\t\tSnapshotResourceGroupName: snap.Name,\n\t\t\tBackupPolicyId:            exampleBackupPolicyKubernetesCluster.ID(),\n\t\t\tBackupDatasourceParameters: \u0026dataprotection.BackupInstanceKubernetesClusterBackupDatasourceParametersArgs{\n\t\t\t\tExcludedNamespaces: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"test-excluded-namespaces\"),\n\t\t\t\t},\n\t\t\t\tExcludedResourceTypes: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"exvolumesnapshotcontents.snapshot.storage.k8s.io\"),\n\t\t\t\t},\n\t\t\t\tClusterScopedResourcesEnabled: pulumi.Bool(true),\n\t\t\t\tIncludedNamespaces: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"test-included-namespaces\"),\n\t\t\t\t},\n\t\t\t\tIncludedResourceTypes: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"involumesnapshotcontents.snapshot.storage.k8s.io\"),\n\t\t\t\t},\n\t\t\t\tLabelSelectors: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"kubernetes.io/metadata.name:test\"),\n\t\t\t\t},\n\t\t\t\tVolumeSnapshotEnabled: pulumi.Bool(true),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\ttestExtensionAndStorageAccountPermission,\n\t\t\ttestVaultMsiReadOnCluster,\n\t\t\ttestVaultMsiReadOnSnapRg,\n\t\t\ttestClusterMsiContributorOnSnapRg,\n\t\t\ttestVaultMsiSnapshotContributorOnSnapRg,\n\t\t\ttestVaultDataOperatorOnSnapRg,\n\t\t\ttestVaultDataContributorOnStorage,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.dataprotection.BackupVault;\nimport com.pulumi.azure.dataprotection.BackupVaultArgs;\nimport com.pulumi.azure.dataprotection.inputs.BackupVaultIdentityArgs;\nimport com.pulumi.azure.containerservice.KubernetesCluster;\nimport com.pulumi.azure.containerservice.KubernetesClusterArgs;\nimport com.pulumi.azure.containerservice.inputs.KubernetesClusterDefaultNodePoolArgs;\nimport com.pulumi.azure.containerservice.inputs.KubernetesClusterIdentityArgs;\nimport com.pulumi.azure.containerservice.ClusterTrustedAccessRoleBinding;\nimport com.pulumi.azure.containerservice.ClusterTrustedAccessRoleBindingArgs;\nimport com.pulumi.azure.storage.Account;\nimport com.pulumi.azure.storage.AccountArgs;\nimport com.pulumi.azure.storage.Container;\nimport com.pulumi.azure.storage.ContainerArgs;\nimport com.pulumi.azure.containerservice.KubernetesClusterExtension;\nimport com.pulumi.azure.containerservice.KubernetesClusterExtensionArgs;\nimport com.pulumi.azure.authorization.Assignment;\nimport com.pulumi.azure.authorization.AssignmentArgs;\nimport com.pulumi.azure.dataprotection.BackupPolicyKubernetesCluster;\nimport com.pulumi.azure.dataprotection.BackupPolicyKubernetesClusterArgs;\nimport com.pulumi.azure.dataprotection.inputs.BackupPolicyKubernetesClusterRetentionRuleArgs;\nimport com.pulumi.azure.dataprotection.inputs.BackupPolicyKubernetesClusterRetentionRuleCriteriaArgs;\nimport com.pulumi.azure.dataprotection.inputs.BackupPolicyKubernetesClusterDefaultRetentionRuleArgs;\nimport com.pulumi.azure.dataprotection.BackupInstanceKubernetesCluster;\nimport com.pulumi.azure.dataprotection.BackupInstanceKubernetesClusterArgs;\nimport com.pulumi.azure.dataprotection.inputs.BackupInstanceKubernetesClusterBackupDatasourceParametersArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var current = CoreFunctions.getClientConfig(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example\")\n            .location(\"West Europe\")\n            .build());\n\n        var snap = new ResourceGroup(\"snap\", ResourceGroupArgs.builder()\n            .name(\"example-snap\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleBackupVault = new BackupVault(\"exampleBackupVault\", BackupVaultArgs.builder()\n            .name(\"example\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .datastoreType(\"VaultStore\")\n            .redundancy(\"LocallyRedundant\")\n            .identity(BackupVaultIdentityArgs.builder()\n                .type(\"SystemAssigned\")\n                .build())\n            .build());\n\n        var exampleKubernetesCluster = new KubernetesCluster(\"exampleKubernetesCluster\", KubernetesClusterArgs.builder()\n            .name(\"example\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .dnsPrefix(\"dns\")\n            .defaultNodePool(KubernetesClusterDefaultNodePoolArgs.builder()\n                .name(\"default\")\n                .nodeCount(1)\n                .vmSize(\"Standard_DS2_v2\")\n                .hostEncryptionEnabled(true)\n                .build())\n            .identity(KubernetesClusterIdentityArgs.builder()\n                .type(\"SystemAssigned\")\n                .build())\n            .build());\n\n        var aksClusterTrustedAccess = new ClusterTrustedAccessRoleBinding(\"aksClusterTrustedAccess\", ClusterTrustedAccessRoleBindingArgs.builder()\n            .kubernetesClusterId(exampleKubernetesCluster.id())\n            .name(\"example\")\n            .roles(\"Microsoft.DataProtection/backupVaults/backup-operator\")\n            .sourceResourceId(exampleBackupVault.id())\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"example\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .accountTier(\"Standard\")\n            .accountReplicationType(\"LRS\")\n            .build());\n\n        var exampleContainer = new Container(\"exampleContainer\", ContainerArgs.builder()\n            .name(\"example\")\n            .storageAccountName(exampleAccount.name())\n            .containerAccessType(\"private\")\n            .build());\n\n        var exampleKubernetesClusterExtension = new KubernetesClusterExtension(\"exampleKubernetesClusterExtension\", KubernetesClusterExtensionArgs.builder()\n            .name(\"example\")\n            .clusterId(exampleKubernetesCluster.id())\n            .extensionType(\"Microsoft.DataProtection.Kubernetes\")\n            .releaseTrain(\"stable\")\n            .releaseNamespace(\"dataprotection-microsoft\")\n            .configurationSettings(Map.ofEntries(\n                Map.entry(\"configuration.backupStorageLocation.bucket\", exampleContainer.name()),\n                Map.entry(\"configuration.backupStorageLocation.config.resourceGroup\", example.name()),\n                Map.entry(\"configuration.backupStorageLocation.config.storageAccount\", exampleAccount.name()),\n                Map.entry(\"configuration.backupStorageLocation.config.subscriptionId\", current.subscriptionId()),\n                Map.entry(\"credentials.tenantId\", current.tenantId())\n            ))\n            .build());\n\n        var testExtensionAndStorageAccountPermission = new Assignment(\"testExtensionAndStorageAccountPermission\", AssignmentArgs.builder()\n            .scope(exampleAccount.id())\n            .roleDefinitionName(\"Storage Account Contributor\")\n            .principalId(exampleKubernetesClusterExtension.aksAssignedIdentities().applyValue(_aksAssignedIdentities -\u003e _aksAssignedIdentities[0].principalId()))\n            .build());\n\n        var testVaultMsiReadOnCluster = new Assignment(\"testVaultMsiReadOnCluster\", AssignmentArgs.builder()\n            .scope(exampleKubernetesCluster.id())\n            .roleDefinitionName(\"Reader\")\n            .principalId(exampleBackupVault.identity().applyValue(_identity -\u003e _identity.principalId()))\n            .build());\n\n        var testVaultMsiReadOnSnapRg = new Assignment(\"testVaultMsiReadOnSnapRg\", AssignmentArgs.builder()\n            .scope(snap.id())\n            .roleDefinitionName(\"Reader\")\n            .principalId(exampleBackupVault.identity().applyValue(_identity -\u003e _identity.principalId()))\n            .build());\n\n        var testVaultMsiSnapshotContributorOnSnapRg = new Assignment(\"testVaultMsiSnapshotContributorOnSnapRg\", AssignmentArgs.builder()\n            .scope(snap.id())\n            .roleDefinitionName(\"Disk Snapshot Contributor\")\n            .principalId(exampleBackupVault.identity().applyValue(_identity -\u003e _identity.principalId()))\n            .build());\n\n        var testVaultDataOperatorOnSnapRg = new Assignment(\"testVaultDataOperatorOnSnapRg\", AssignmentArgs.builder()\n            .scope(snap.id())\n            .roleDefinitionName(\"Data Operator for Managed Disks\")\n            .principalId(exampleBackupVault.identity().applyValue(_identity -\u003e _identity.principalId()))\n            .build());\n\n        var testVaultDataContributorOnStorage = new Assignment(\"testVaultDataContributorOnStorage\", AssignmentArgs.builder()\n            .scope(exampleAccount.id())\n            .roleDefinitionName(\"Storage Blob Data Contributor\")\n            .principalId(exampleBackupVault.identity().applyValue(_identity -\u003e _identity.principalId()))\n            .build());\n\n        var testClusterMsiContributorOnSnapRg = new Assignment(\"testClusterMsiContributorOnSnapRg\", AssignmentArgs.builder()\n            .scope(snap.id())\n            .roleDefinitionName(\"Contributor\")\n            .principalId(exampleKubernetesCluster.identity().applyValue(_identity -\u003e _identity.principalId()))\n            .build());\n\n        var exampleBackupPolicyKubernetesCluster = new BackupPolicyKubernetesCluster(\"exampleBackupPolicyKubernetesCluster\", BackupPolicyKubernetesClusterArgs.builder()\n            .name(\"example\")\n            .resourceGroupName(example.name())\n            .vaultName(exampleBackupVault.name())\n            .backupRepeatingTimeIntervals(\"R/2023-05-23T02:30:00+00:00/P1W\")\n            .retentionRules(BackupPolicyKubernetesClusterRetentionRuleArgs.builder()\n                .name(\"Daily\")\n                .priority(25)\n                .lifeCycles(BackupPolicyKubernetesClusterRetentionRuleLifeCycleArgs.builder()\n                    .duration(\"P84D\")\n                    .dataStoreType(\"OperationalStore\")\n                    .build())\n                .criteria(BackupPolicyKubernetesClusterRetentionRuleCriteriaArgs.builder()\n                    .daysOfWeeks(\"Thursday\")\n                    .monthsOfYears(\"November\")\n                    .weeksOfMonths(\"First\")\n                    .scheduledBackupTimes(\"2023-05-23T02:30:00Z\")\n                    .build())\n                .build())\n            .defaultRetentionRule(BackupPolicyKubernetesClusterDefaultRetentionRuleArgs.builder()\n                .lifeCycles(BackupPolicyKubernetesClusterDefaultRetentionRuleLifeCycleArgs.builder()\n                    .duration(\"P14D\")\n                    .dataStoreType(\"OperationalStore\")\n                    .build())\n                .build())\n            .build());\n\n        var exampleBackupInstanceKubernetesCluster = new BackupInstanceKubernetesCluster(\"exampleBackupInstanceKubernetesCluster\", BackupInstanceKubernetesClusterArgs.builder()\n            .name(\"example\")\n            .location(example.location())\n            .vaultId(exampleBackupVault.id())\n            .kubernetesClusterId(exampleKubernetesCluster.id())\n            .snapshotResourceGroupName(snap.name())\n            .backupPolicyId(exampleBackupPolicyKubernetesCluster.id())\n            .backupDatasourceParameters(BackupInstanceKubernetesClusterBackupDatasourceParametersArgs.builder()\n                .excludedNamespaces(\"test-excluded-namespaces\")\n                .excludedResourceTypes(\"exvolumesnapshotcontents.snapshot.storage.k8s.io\")\n                .clusterScopedResourcesEnabled(true)\n                .includedNamespaces(\"test-included-namespaces\")\n                .includedResourceTypes(\"involumesnapshotcontents.snapshot.storage.k8s.io\")\n                .labelSelectors(\"kubernetes.io/metadata.name:test\")\n                .volumeSnapshotEnabled(true)\n                .build())\n            .build(), CustomResourceOptions.builder()\n                .dependsOn(                \n                    testExtensionAndStorageAccountPermission,\n                    testVaultMsiReadOnCluster,\n                    testVaultMsiReadOnSnapRg,\n                    testClusterMsiContributorOnSnapRg,\n                    testVaultMsiSnapshotContributorOnSnapRg,\n                    testVaultDataOperatorOnSnapRg,\n                    testVaultDataContributorOnStorage)\n                .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example\n      location: West Europe\n  snap:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-snap\n      location: West Europe\n  exampleBackupVault:\n    type: azure:dataprotection:BackupVault\n    name: example\n    properties:\n      name: example\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      datastoreType: VaultStore\n      redundancy: LocallyRedundant\n      identity:\n        type: SystemAssigned\n  exampleKubernetesCluster:\n    type: azure:containerservice:KubernetesCluster\n    name: example\n    properties:\n      name: example\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      dnsPrefix: dns\n      defaultNodePool:\n        name: default\n        nodeCount: 1\n        vmSize: Standard_DS2_v2\n        hostEncryptionEnabled: true\n      identity:\n        type: SystemAssigned\n  aksClusterTrustedAccess:\n    type: azure:containerservice:ClusterTrustedAccessRoleBinding\n    name: aks_cluster_trusted_access\n    properties:\n      kubernetesClusterId: ${exampleKubernetesCluster.id}\n      name: example\n      roles:\n        - Microsoft.DataProtection/backupVaults/backup-operator\n      sourceResourceId: ${exampleBackupVault.id}\n  exampleAccount:\n    type: azure:storage:Account\n    name: example\n    properties:\n      name: example\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      accountTier: Standard\n      accountReplicationType: LRS\n  exampleContainer:\n    type: azure:storage:Container\n    name: example\n    properties:\n      name: example\n      storageAccountName: ${exampleAccount.name}\n      containerAccessType: private\n  exampleKubernetesClusterExtension:\n    type: azure:containerservice:KubernetesClusterExtension\n    name: example\n    properties:\n      name: example\n      clusterId: ${exampleKubernetesCluster.id}\n      extensionType: Microsoft.DataProtection.Kubernetes\n      releaseTrain: stable\n      releaseNamespace: dataprotection-microsoft\n      configurationSettings:\n        configuration.backupStorageLocation.bucket: ${exampleContainer.name}\n        configuration.backupStorageLocation.config.resourceGroup: ${example.name}\n        configuration.backupStorageLocation.config.storageAccount: ${exampleAccount.name}\n        configuration.backupStorageLocation.config.subscriptionId: ${current.subscriptionId}\n        credentials.tenantId: ${current.tenantId}\n  testExtensionAndStorageAccountPermission:\n    type: azure:authorization:Assignment\n    name: test_extension_and_storage_account_permission\n    properties:\n      scope: ${exampleAccount.id}\n      roleDefinitionName: Storage Account Contributor\n      principalId: ${exampleKubernetesClusterExtension.aksAssignedIdentities[0].principalId}\n  testVaultMsiReadOnCluster:\n    type: azure:authorization:Assignment\n    name: test_vault_msi_read_on_cluster\n    properties:\n      scope: ${exampleKubernetesCluster.id}\n      roleDefinitionName: Reader\n      principalId: ${exampleBackupVault.identity.principalId}\n  testVaultMsiReadOnSnapRg:\n    type: azure:authorization:Assignment\n    name: test_vault_msi_read_on_snap_rg\n    properties:\n      scope: ${snap.id}\n      roleDefinitionName: Reader\n      principalId: ${exampleBackupVault.identity.principalId}\n  testVaultMsiSnapshotContributorOnSnapRg:\n    type: azure:authorization:Assignment\n    name: test_vault_msi_snapshot_contributor_on_snap_rg\n    properties:\n      scope: ${snap.id}\n      roleDefinitionName: Disk Snapshot Contributor\n      principalId: ${exampleBackupVault.identity.principalId}\n  testVaultDataOperatorOnSnapRg:\n    type: azure:authorization:Assignment\n    name: test_vault_data_operator_on_snap_rg\n    properties:\n      scope: ${snap.id}\n      roleDefinitionName: Data Operator for Managed Disks\n      principalId: ${exampleBackupVault.identity.principalId}\n  testVaultDataContributorOnStorage:\n    type: azure:authorization:Assignment\n    name: test_vault_data_contributor_on_storage\n    properties:\n      scope: ${exampleAccount.id}\n      roleDefinitionName: Storage Blob Data Contributor\n      principalId: ${exampleBackupVault.identity.principalId}\n  testClusterMsiContributorOnSnapRg:\n    type: azure:authorization:Assignment\n    name: test_cluster_msi_contributor_on_snap_rg\n    properties:\n      scope: ${snap.id}\n      roleDefinitionName: Contributor\n      principalId: ${exampleKubernetesCluster.identity.principalId}\n  exampleBackupPolicyKubernetesCluster:\n    type: azure:dataprotection:BackupPolicyKubernetesCluster\n    name: example\n    properties:\n      name: example\n      resourceGroupName: ${example.name}\n      vaultName: ${exampleBackupVault.name}\n      backupRepeatingTimeIntervals:\n        - R/2023-05-23T02:30:00+00:00/P1W\n      retentionRules:\n        - name: Daily\n          priority: 25\n          lifeCycles:\n            - duration: P84D\n              dataStoreType: OperationalStore\n          criteria:\n            daysOfWeeks:\n              - Thursday\n            monthsOfYears:\n              - November\n            weeksOfMonths:\n              - First\n            scheduledBackupTimes:\n              - 2023-05-23T02:30:00Z\n      defaultRetentionRule:\n        lifeCycles:\n          - duration: P14D\n            dataStoreType: OperationalStore\n  exampleBackupInstanceKubernetesCluster:\n    type: azure:dataprotection:BackupInstanceKubernetesCluster\n    name: example\n    properties:\n      name: example\n      location: ${example.location}\n      vaultId: ${exampleBackupVault.id}\n      kubernetesClusterId: ${exampleKubernetesCluster.id}\n      snapshotResourceGroupName: ${snap.name}\n      backupPolicyId: ${exampleBackupPolicyKubernetesCluster.id}\n      backupDatasourceParameters:\n        excludedNamespaces:\n          - test-excluded-namespaces\n        excludedResourceTypes:\n          - exvolumesnapshotcontents.snapshot.storage.k8s.io\n        clusterScopedResourcesEnabled: true\n        includedNamespaces:\n          - test-included-namespaces\n        includedResourceTypes:\n          - involumesnapshotcontents.snapshot.storage.k8s.io\n        labelSelectors:\n          - kubernetes.io/metadata.name:test\n        volumeSnapshotEnabled: true\n    options:\n      dependsOn:\n        - ${testExtensionAndStorageAccountPermission}\n        - ${testVaultMsiReadOnCluster}\n        - ${testVaultMsiReadOnSnapRg}\n        - ${testClusterMsiContributorOnSnapRg}\n        - ${testVaultMsiSnapshotContributorOnSnapRg}\n        - ${testVaultDataOperatorOnSnapRg}\n        - ${testVaultDataContributorOnStorage}\nvariables:\n  current:\n    fn::invoke:\n      function: azure:core:getClientConfig\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.DataProtection` - 2024-04-01\n\n## Import\n\nBackup Instance Kubernetes Cluster can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:dataprotection/backupInstanceKubernetesCluster:BackupInstanceKubernetesCluster example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.DataProtection/backupVaults/vault1/backupInstances/backupInstance1\n```\n\n","properties":{"backupDatasourceParameters":{"$ref":"#/types/azure:dataprotection/BackupInstanceKubernetesClusterBackupDatasourceParameters:BackupInstanceKubernetesClusterBackupDatasourceParameters","description":"A \u003cspan pulumi-lang-nodejs=\"`backupDatasourceParameters`\" pulumi-lang-dotnet=\"`BackupDatasourceParameters`\" pulumi-lang-go=\"`backupDatasourceParameters`\" pulumi-lang-python=\"`backup_datasource_parameters`\" pulumi-lang-yaml=\"`backupDatasourceParameters`\" pulumi-lang-java=\"`backupDatasourceParameters`\"\u003e`backup_datasource_parameters`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n"},"backupPolicyId":{"type":"string","description":"The ID of the Backup Policy. Changing this forces a new resource to be created.\n"},"kubernetesClusterId":{"type":"string","description":"The ID of the Kubernetes Cluster. Changing this forces a new resource to be created.\n"},"location":{"type":"string","description":"The location of the Backup Instance Kubernetes Cluster. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"The name which should be used for this Backup Instance Kubernetes Cluster. Changing this forces a new resource to be created.\n"},"protectionState":{"type":"string","description":"The protection state of the Backup Instance Kubernetes Cluster.\n"},"snapshotResourceGroupName":{"type":"string","description":"The name of the Resource Group where snapshots are stored. Changing this forces a new resource to be created.\n"},"vaultId":{"type":"string","description":"The ID of the Backup Vault within which the Backup Instance Kubernetes Cluster should exist. Changing this forces a new resource to be created.\n"}},"required":["backupPolicyId","kubernetesClusterId","location","name","protectionState","snapshotResourceGroupName","vaultId"],"inputProperties":{"backupDatasourceParameters":{"$ref":"#/types/azure:dataprotection/BackupInstanceKubernetesClusterBackupDatasourceParameters:BackupInstanceKubernetesClusterBackupDatasourceParameters","description":"A \u003cspan pulumi-lang-nodejs=\"`backupDatasourceParameters`\" pulumi-lang-dotnet=\"`BackupDatasourceParameters`\" pulumi-lang-go=\"`backupDatasourceParameters`\" pulumi-lang-python=\"`backup_datasource_parameters`\" pulumi-lang-yaml=\"`backupDatasourceParameters`\" pulumi-lang-java=\"`backupDatasourceParameters`\"\u003e`backup_datasource_parameters`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"backupPolicyId":{"type":"string","description":"The ID of the Backup Policy. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"kubernetesClusterId":{"type":"string","description":"The ID of the Kubernetes Cluster. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"location":{"type":"string","description":"The location of the Backup Instance Kubernetes Cluster. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Backup Instance Kubernetes Cluster. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"snapshotResourceGroupName":{"type":"string","description":"The name of the Resource Group where snapshots are stored. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"vaultId":{"type":"string","description":"The ID of the Backup Vault within which the Backup Instance Kubernetes Cluster should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["backupPolicyId","kubernetesClusterId","snapshotResourceGroupName","vaultId"],"stateInputs":{"description":"Input properties used for looking up and filtering BackupInstanceKubernetesCluster resources.\n","properties":{"backupDatasourceParameters":{"$ref":"#/types/azure:dataprotection/BackupInstanceKubernetesClusterBackupDatasourceParameters:BackupInstanceKubernetesClusterBackupDatasourceParameters","description":"A \u003cspan pulumi-lang-nodejs=\"`backupDatasourceParameters`\" pulumi-lang-dotnet=\"`BackupDatasourceParameters`\" pulumi-lang-go=\"`backupDatasourceParameters`\" pulumi-lang-python=\"`backup_datasource_parameters`\" pulumi-lang-yaml=\"`backupDatasourceParameters`\" pulumi-lang-java=\"`backupDatasourceParameters`\"\u003e`backup_datasource_parameters`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"backupPolicyId":{"type":"string","description":"The ID of the Backup Policy. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"kubernetesClusterId":{"type":"string","description":"The ID of the Kubernetes Cluster. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"location":{"type":"string","description":"The location of the Backup Instance Kubernetes Cluster. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Backup Instance Kubernetes Cluster. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"protectionState":{"type":"string","description":"The protection state of the Backup Instance Kubernetes Cluster.\n"},"snapshotResourceGroupName":{"type":"string","description":"The name of the Resource Group where snapshots are stored. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"vaultId":{"type":"string","description":"The ID of the Backup Vault within which the Backup Instance Kubernetes Cluster should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:dataprotection/backupInstanceMysqlFlexibleServer:BackupInstanceMysqlFlexibleServer":{"description":"Manages a Backup Instance to back up MySQL Flexible Server.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleFlexibleServer = new azure.mysql.FlexibleServer(\"example\", {\n    name: \"example-mysqlfs\",\n    resourceGroupName: example.name,\n    location: example.location,\n    administratorLogin: \"adminTerraform\",\n    administratorPassword: \"QAZwsx123\",\n    version: \"8.0.21\",\n    skuName: \"B_Standard_B1ms\",\n    zone: \"1\",\n});\nconst exampleBackupVault = new azure.dataprotection.BackupVault(\"example\", {\n    name: \"example-backupvault\",\n    resourceGroupName: example.name,\n    location: example.location,\n    datastoreType: \"VaultStore\",\n    redundancy: \"LocallyRedundant\",\n    softDelete: \"Off\",\n    identity: {\n        type: \"SystemAssigned\",\n    },\n});\nconst exampleAssignment = new azure.authorization.Assignment(\"example\", {\n    scope: example.id,\n    roleDefinitionName: \"Reader\",\n    principalId: exampleBackupVault.identity.apply(identity =\u003e identity?.principalId),\n});\nconst example2 = new azure.authorization.Assignment(\"example2\", {\n    scope: exampleFlexibleServer.id,\n    roleDefinitionName: \"MySQL Backup And Export Operator\",\n    principalId: exampleBackupVault.identity.apply(identity =\u003e identity?.principalId),\n});\nconst exampleBackupPolicyMysqlFlexibleServer = new azure.dataprotection.BackupPolicyMysqlFlexibleServer(\"example\", {\n    name: \"example-dp\",\n    vaultId: exampleBackupVault.id,\n    backupRepeatingTimeIntervals: [\"R/2021-05-23T02:30:00+00:00/P1W\"],\n    defaultRetentionRule: {\n        lifeCycles: [{\n            duration: \"P4M\",\n            dataStoreType: \"VaultStore\",\n        }],\n    },\n}, {\n    dependsOn: [\n        exampleAssignment,\n        example2,\n    ],\n});\nconst exampleBackupInstanceMysqlFlexibleServer = new azure.dataprotection.BackupInstanceMysqlFlexibleServer(\"example\", {\n    name: \"example-dbi\",\n    location: example.location,\n    vaultId: exampleBackupVault.id,\n    serverId: exampleFlexibleServer.id,\n    backupPolicyId: exampleBackupPolicyMysqlFlexibleServer.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_flexible_server = azure.mysql.FlexibleServer(\"example\",\n    name=\"example-mysqlfs\",\n    resource_group_name=example.name,\n    location=example.location,\n    administrator_login=\"adminTerraform\",\n    administrator_password=\"QAZwsx123\",\n    version=\"8.0.21\",\n    sku_name=\"B_Standard_B1ms\",\n    zone=\"1\")\nexample_backup_vault = azure.dataprotection.BackupVault(\"example\",\n    name=\"example-backupvault\",\n    resource_group_name=example.name,\n    location=example.location,\n    datastore_type=\"VaultStore\",\n    redundancy=\"LocallyRedundant\",\n    soft_delete=\"Off\",\n    identity={\n        \"type\": \"SystemAssigned\",\n    })\nexample_assignment = azure.authorization.Assignment(\"example\",\n    scope=example.id,\n    role_definition_name=\"Reader\",\n    principal_id=example_backup_vault.identity.principal_id)\nexample2 = azure.authorization.Assignment(\"example2\",\n    scope=example_flexible_server.id,\n    role_definition_name=\"MySQL Backup And Export Operator\",\n    principal_id=example_backup_vault.identity.principal_id)\nexample_backup_policy_mysql_flexible_server = azure.dataprotection.BackupPolicyMysqlFlexibleServer(\"example\",\n    name=\"example-dp\",\n    vault_id=example_backup_vault.id,\n    backup_repeating_time_intervals=[\"R/2021-05-23T02:30:00+00:00/P1W\"],\n    default_retention_rule={\n        \"life_cycles\": [{\n            \"duration\": \"P4M\",\n            \"data_store_type\": \"VaultStore\",\n        }],\n    },\n    opts = pulumi.ResourceOptions(depends_on=[\n            example_assignment,\n            example2,\n        ]))\nexample_backup_instance_mysql_flexible_server = azure.dataprotection.BackupInstanceMysqlFlexibleServer(\"example\",\n    name=\"example-dbi\",\n    location=example.location,\n    vault_id=example_backup_vault.id,\n    server_id=example_flexible_server.id,\n    backup_policy_id=example_backup_policy_mysql_flexible_server.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleFlexibleServer = new Azure.MySql.FlexibleServer(\"example\", new()\n    {\n        Name = \"example-mysqlfs\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        AdministratorLogin = \"adminTerraform\",\n        AdministratorPassword = \"QAZwsx123\",\n        Version = \"8.0.21\",\n        SkuName = \"B_Standard_B1ms\",\n        Zone = \"1\",\n    });\n\n    var exampleBackupVault = new Azure.DataProtection.BackupVault(\"example\", new()\n    {\n        Name = \"example-backupvault\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        DatastoreType = \"VaultStore\",\n        Redundancy = \"LocallyRedundant\",\n        SoftDelete = \"Off\",\n        Identity = new Azure.DataProtection.Inputs.BackupVaultIdentityArgs\n        {\n            Type = \"SystemAssigned\",\n        },\n    });\n\n    var exampleAssignment = new Azure.Authorization.Assignment(\"example\", new()\n    {\n        Scope = example.Id,\n        RoleDefinitionName = \"Reader\",\n        PrincipalId = exampleBackupVault.Identity.Apply(identity =\u003e identity?.PrincipalId),\n    });\n\n    var example2 = new Azure.Authorization.Assignment(\"example2\", new()\n    {\n        Scope = exampleFlexibleServer.Id,\n        RoleDefinitionName = \"MySQL Backup And Export Operator\",\n        PrincipalId = exampleBackupVault.Identity.Apply(identity =\u003e identity?.PrincipalId),\n    });\n\n    var exampleBackupPolicyMysqlFlexibleServer = new Azure.DataProtection.BackupPolicyMysqlFlexibleServer(\"example\", new()\n    {\n        Name = \"example-dp\",\n        VaultId = exampleBackupVault.Id,\n        BackupRepeatingTimeIntervals = new[]\n        {\n            \"R/2021-05-23T02:30:00+00:00/P1W\",\n        },\n        DefaultRetentionRule = new Azure.DataProtection.Inputs.BackupPolicyMysqlFlexibleServerDefaultRetentionRuleArgs\n        {\n            LifeCycles = new[]\n            {\n                new Azure.DataProtection.Inputs.BackupPolicyMysqlFlexibleServerDefaultRetentionRuleLifeCycleArgs\n                {\n                    Duration = \"P4M\",\n                    DataStoreType = \"VaultStore\",\n                },\n            },\n        },\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            exampleAssignment,\n            example2,\n        },\n    });\n\n    var exampleBackupInstanceMysqlFlexibleServer = new Azure.DataProtection.BackupInstanceMysqlFlexibleServer(\"example\", new()\n    {\n        Name = \"example-dbi\",\n        Location = example.Location,\n        VaultId = exampleBackupVault.Id,\n        ServerId = exampleFlexibleServer.Id,\n        BackupPolicyId = exampleBackupPolicyMysqlFlexibleServer.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/authorization\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/dataprotection\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/mysql\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleFlexibleServer, err := mysql.NewFlexibleServer(ctx, \"example\", \u0026mysql.FlexibleServerArgs{\n\t\t\tName:                  pulumi.String(\"example-mysqlfs\"),\n\t\t\tResourceGroupName:     example.Name,\n\t\t\tLocation:              example.Location,\n\t\t\tAdministratorLogin:    pulumi.String(\"adminTerraform\"),\n\t\t\tAdministratorPassword: pulumi.String(\"QAZwsx123\"),\n\t\t\tVersion:               pulumi.String(\"8.0.21\"),\n\t\t\tSkuName:               pulumi.String(\"B_Standard_B1ms\"),\n\t\t\tZone:                  pulumi.String(\"1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleBackupVault, err := dataprotection.NewBackupVault(ctx, \"example\", \u0026dataprotection.BackupVaultArgs{\n\t\t\tName:              pulumi.String(\"example-backupvault\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tDatastoreType:     pulumi.String(\"VaultStore\"),\n\t\t\tRedundancy:        pulumi.String(\"LocallyRedundant\"),\n\t\t\tSoftDelete:        pulumi.String(\"Off\"),\n\t\t\tIdentity: \u0026dataprotection.BackupVaultIdentityArgs{\n\t\t\t\tType: pulumi.String(\"SystemAssigned\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAssignment, err := authorization.NewAssignment(ctx, \"example\", \u0026authorization.AssignmentArgs{\n\t\t\tScope:              example.ID(),\n\t\t\tRoleDefinitionName: pulumi.String(\"Reader\"),\n\t\t\tPrincipalId: pulumi.String(exampleBackupVault.Identity.ApplyT(func(identity dataprotection.BackupVaultIdentity) (*string, error) {\n\t\t\t\treturn \u0026identity.PrincipalId, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample2, err := authorization.NewAssignment(ctx, \"example2\", \u0026authorization.AssignmentArgs{\n\t\t\tScope:              exampleFlexibleServer.ID(),\n\t\t\tRoleDefinitionName: pulumi.String(\"MySQL Backup And Export Operator\"),\n\t\t\tPrincipalId: pulumi.String(exampleBackupVault.Identity.ApplyT(func(identity dataprotection.BackupVaultIdentity) (*string, error) {\n\t\t\t\treturn \u0026identity.PrincipalId, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleBackupPolicyMysqlFlexibleServer, err := dataprotection.NewBackupPolicyMysqlFlexibleServer(ctx, \"example\", \u0026dataprotection.BackupPolicyMysqlFlexibleServerArgs{\n\t\t\tName:    pulumi.String(\"example-dp\"),\n\t\t\tVaultId: exampleBackupVault.ID(),\n\t\t\tBackupRepeatingTimeIntervals: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"R/2021-05-23T02:30:00+00:00/P1W\"),\n\t\t\t},\n\t\t\tDefaultRetentionRule: \u0026dataprotection.BackupPolicyMysqlFlexibleServerDefaultRetentionRuleArgs{\n\t\t\t\tLifeCycles: dataprotection.BackupPolicyMysqlFlexibleServerDefaultRetentionRuleLifeCycleArray{\n\t\t\t\t\t\u0026dataprotection.BackupPolicyMysqlFlexibleServerDefaultRetentionRuleLifeCycleArgs{\n\t\t\t\t\t\tDuration:      pulumi.String(\"P4M\"),\n\t\t\t\t\t\tDataStoreType: pulumi.String(\"VaultStore\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleAssignment,\n\t\t\texample2,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = dataprotection.NewBackupInstanceMysqlFlexibleServer(ctx, \"example\", \u0026dataprotection.BackupInstanceMysqlFlexibleServerArgs{\n\t\t\tName:           pulumi.String(\"example-dbi\"),\n\t\t\tLocation:       example.Location,\n\t\t\tVaultId:        exampleBackupVault.ID(),\n\t\t\tServerId:       exampleFlexibleServer.ID(),\n\t\t\tBackupPolicyId: exampleBackupPolicyMysqlFlexibleServer.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.mysql.FlexibleServer;\nimport com.pulumi.azure.mysql.FlexibleServerArgs;\nimport com.pulumi.azure.dataprotection.BackupVault;\nimport com.pulumi.azure.dataprotection.BackupVaultArgs;\nimport com.pulumi.azure.dataprotection.inputs.BackupVaultIdentityArgs;\nimport com.pulumi.azure.authorization.Assignment;\nimport com.pulumi.azure.authorization.AssignmentArgs;\nimport com.pulumi.azure.dataprotection.BackupPolicyMysqlFlexibleServer;\nimport com.pulumi.azure.dataprotection.BackupPolicyMysqlFlexibleServerArgs;\nimport com.pulumi.azure.dataprotection.inputs.BackupPolicyMysqlFlexibleServerDefaultRetentionRuleArgs;\nimport com.pulumi.azure.dataprotection.BackupInstanceMysqlFlexibleServer;\nimport com.pulumi.azure.dataprotection.BackupInstanceMysqlFlexibleServerArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleFlexibleServer = new FlexibleServer(\"exampleFlexibleServer\", FlexibleServerArgs.builder()\n            .name(\"example-mysqlfs\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .administratorLogin(\"adminTerraform\")\n            .administratorPassword(\"QAZwsx123\")\n            .version(\"8.0.21\")\n            .skuName(\"B_Standard_B1ms\")\n            .zone(\"1\")\n            .build());\n\n        var exampleBackupVault = new BackupVault(\"exampleBackupVault\", BackupVaultArgs.builder()\n            .name(\"example-backupvault\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .datastoreType(\"VaultStore\")\n            .redundancy(\"LocallyRedundant\")\n            .softDelete(\"Off\")\n            .identity(BackupVaultIdentityArgs.builder()\n                .type(\"SystemAssigned\")\n                .build())\n            .build());\n\n        var exampleAssignment = new Assignment(\"exampleAssignment\", AssignmentArgs.builder()\n            .scope(example.id())\n            .roleDefinitionName(\"Reader\")\n            .principalId(exampleBackupVault.identity().applyValue(_identity -\u003e _identity.principalId()))\n            .build());\n\n        var example2 = new Assignment(\"example2\", AssignmentArgs.builder()\n            .scope(exampleFlexibleServer.id())\n            .roleDefinitionName(\"MySQL Backup And Export Operator\")\n            .principalId(exampleBackupVault.identity().applyValue(_identity -\u003e _identity.principalId()))\n            .build());\n\n        var exampleBackupPolicyMysqlFlexibleServer = new BackupPolicyMysqlFlexibleServer(\"exampleBackupPolicyMysqlFlexibleServer\", BackupPolicyMysqlFlexibleServerArgs.builder()\n            .name(\"example-dp\")\n            .vaultId(exampleBackupVault.id())\n            .backupRepeatingTimeIntervals(\"R/2021-05-23T02:30:00+00:00/P1W\")\n            .defaultRetentionRule(BackupPolicyMysqlFlexibleServerDefaultRetentionRuleArgs.builder()\n                .lifeCycles(BackupPolicyMysqlFlexibleServerDefaultRetentionRuleLifeCycleArgs.builder()\n                    .duration(\"P4M\")\n                    .dataStoreType(\"VaultStore\")\n                    .build())\n                .build())\n            .build(), CustomResourceOptions.builder()\n                .dependsOn(                \n                    exampleAssignment,\n                    example2)\n                .build());\n\n        var exampleBackupInstanceMysqlFlexibleServer = new BackupInstanceMysqlFlexibleServer(\"exampleBackupInstanceMysqlFlexibleServer\", BackupInstanceMysqlFlexibleServerArgs.builder()\n            .name(\"example-dbi\")\n            .location(example.location())\n            .vaultId(exampleBackupVault.id())\n            .serverId(exampleFlexibleServer.id())\n            .backupPolicyId(exampleBackupPolicyMysqlFlexibleServer.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleFlexibleServer:\n    type: azure:mysql:FlexibleServer\n    name: example\n    properties:\n      name: example-mysqlfs\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      administratorLogin: adminTerraform\n      administratorPassword: QAZwsx123\n      version: 8.0.21\n      skuName: B_Standard_B1ms\n      zone: '1'\n  exampleBackupVault:\n    type: azure:dataprotection:BackupVault\n    name: example\n    properties:\n      name: example-backupvault\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      datastoreType: VaultStore\n      redundancy: LocallyRedundant\n      softDelete: Off\n      identity:\n        type: SystemAssigned\n  exampleAssignment:\n    type: azure:authorization:Assignment\n    name: example\n    properties:\n      scope: ${example.id}\n      roleDefinitionName: Reader\n      principalId: ${exampleBackupVault.identity.principalId}\n  example2:\n    type: azure:authorization:Assignment\n    properties:\n      scope: ${exampleFlexibleServer.id}\n      roleDefinitionName: MySQL Backup And Export Operator\n      principalId: ${exampleBackupVault.identity.principalId}\n  exampleBackupPolicyMysqlFlexibleServer:\n    type: azure:dataprotection:BackupPolicyMysqlFlexibleServer\n    name: example\n    properties:\n      name: example-dp\n      vaultId: ${exampleBackupVault.id}\n      backupRepeatingTimeIntervals:\n        - R/2021-05-23T02:30:00+00:00/P1W\n      defaultRetentionRule:\n        lifeCycles:\n          - duration: P4M\n            dataStoreType: VaultStore\n    options:\n      dependsOn:\n        - ${exampleAssignment}\n        - ${example2}\n  exampleBackupInstanceMysqlFlexibleServer:\n    type: azure:dataprotection:BackupInstanceMysqlFlexibleServer\n    name: example\n    properties:\n      name: example-dbi\n      location: ${example.location}\n      vaultId: ${exampleBackupVault.id}\n      serverId: ${exampleFlexibleServer.id}\n      backupPolicyId: ${exampleBackupPolicyMysqlFlexibleServer.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.DataProtection` - 2024-04-01\n\n## Import\n\nBackup Instance MySQL Flexible Servers can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:dataprotection/backupInstanceMysqlFlexibleServer:BackupInstanceMysqlFlexibleServer example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.DataProtection/backupVaults/vault1/backupInstances/backupInstance1\n```\n\n","properties":{"backupPolicyId":{"type":"string","description":"The ID of the Backup Policy.\n"},"location":{"type":"string","description":"The location of the source database. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"Specifies the name of the Backup Instance for the MySQL Flexible Server. Changing this forces a new resource to be created.\n"},"protectionState":{"type":"string","description":"The protection state of the Backup Instance MySQL Flexible Server.\n"},"serverId":{"type":"string","description":"The ID of the source server. Changing this forces a new resource to be created.\n"},"vaultId":{"type":"string","description":"The ID of the Backup Vault within which the MySQL Flexible Server Backup Instance should exist. Changing this forces a new resource to be created.\n"}},"required":["backupPolicyId","location","name","protectionState","serverId","vaultId"],"inputProperties":{"backupPolicyId":{"type":"string","description":"The ID of the Backup Policy.\n"},"location":{"type":"string","description":"The location of the source database. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the Backup Instance for the MySQL Flexible Server. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"serverId":{"type":"string","description":"The ID of the source server. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"vaultId":{"type":"string","description":"The ID of the Backup Vault within which the MySQL Flexible Server Backup Instance should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["backupPolicyId","serverId","vaultId"],"stateInputs":{"description":"Input properties used for looking up and filtering BackupInstanceMysqlFlexibleServer resources.\n","properties":{"backupPolicyId":{"type":"string","description":"The ID of the Backup Policy.\n"},"location":{"type":"string","description":"The location of the source database. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the Backup Instance for the MySQL Flexible Server. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"protectionState":{"type":"string","description":"The protection state of the Backup Instance MySQL Flexible Server.\n"},"serverId":{"type":"string","description":"The ID of the source server. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"vaultId":{"type":"string","description":"The ID of the Backup Vault within which the MySQL Flexible Server Backup Instance should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:dataprotection/backupInstancePostgresql:BackupInstancePostgresql":{"description":"Manages a Backup Instance to back up PostgreSQL.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`azure.dataprotection.BackupInstancePostgresql`\" pulumi-lang-dotnet=\"`azure.dataprotection.BackupInstancePostgresql`\" pulumi-lang-go=\"`dataprotection.BackupInstancePostgresql`\" pulumi-lang-python=\"`dataprotection.BackupInstancePostgresql`\" pulumi-lang-yaml=\"`azure.dataprotection.BackupInstancePostgresql`\" pulumi-lang-java=\"`azure.dataprotection.BackupInstancePostgresql`\"\u003e`azure.dataprotection.BackupInstancePostgresql`\u003c/span\u003e resource has been deprecated because Azure Database for PostgreSQL Single Server has been retired as of 2025-03-28 and will be removed in v5.0 of the AzureRM Provider.\n\n\u003e **Note:** Before using this resource, there are some prerequisite permissions for configure backup and restore. See more details from \u003chttps://docs.microsoft.com/azure/backup/backup-azure-database-postgresql#prerequisite-permissions-for-configure-backup-and-restore\u003e.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst current = azure.core.getClientConfig({});\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example\",\n    location: \"West Europe\",\n});\nconst exampleServer = new azure.postgresql.Server(\"example\", {\n    name: \"example\",\n    location: example.location,\n    resourceGroupName: example.name,\n    skuName: \"B_Gen5_2\",\n    storageMb: 5120,\n    backupRetentionDays: 7,\n    geoRedundantBackupEnabled: false,\n    autoGrowEnabled: true,\n    administratorLogin: \"psqladmin\",\n    administratorLoginPassword: \"H@Sh1CoR3!\",\n    version: \"9.5\",\n    sslEnforcementEnabled: true,\n});\nconst exampleFirewallRule = new azure.postgresql.FirewallRule(\"example\", {\n    name: \"AllowAllWindowsAzureIps\",\n    resourceGroupName: example.name,\n    serverName: exampleServer.name,\n    startIpAddress: \"0.0.0.0\",\n    endIpAddress: \"0.0.0.0\",\n});\nconst exampleDatabase = new azure.postgresql.Database(\"example\", {\n    name: \"example\",\n    resourceGroupName: example.name,\n    serverName: exampleServer.name,\n    charset: \"UTF8\",\n    collation: \"English_United States.1252\",\n});\nconst exampleBackupVault = new azure.dataprotection.BackupVault(\"example\", {\n    name: \"example\",\n    resourceGroupName: example.name,\n    location: example.location,\n    datastoreType: \"VaultStore\",\n    redundancy: \"LocallyRedundant\",\n    identity: {\n        type: \"SystemAssigned\",\n    },\n});\nconst exampleKeyVault = new azure.keyvault.KeyVault(\"example\", {\n    name: \"example\",\n    location: example.location,\n    resourceGroupName: example.name,\n    tenantId: current.then(current =\u003e current.tenantId),\n    skuName: \"premium\",\n    softDeleteRetentionDays: 7,\n    accessPolicies: [\n        {\n            tenantId: current.then(current =\u003e current.tenantId),\n            objectId: current.then(current =\u003e current.objectId),\n            keyPermissions: [\n                \"Create\",\n                \"Get\",\n            ],\n            secretPermissions: [\n                \"Set\",\n                \"Get\",\n                \"Delete\",\n                \"Purge\",\n                \"Recover\",\n            ],\n        },\n        {\n            tenantId: exampleBackupVault.identity.apply(identity =\u003e identity?.tenantId),\n            objectId: exampleBackupVault.identity.apply(identity =\u003e identity?.principalId),\n            keyPermissions: [\n                \"Create\",\n                \"Get\",\n            ],\n            secretPermissions: [\n                \"Set\",\n                \"Get\",\n                \"Delete\",\n                \"Purge\",\n                \"Recover\",\n            ],\n        },\n    ],\n});\nconst exampleSecret = new azure.keyvault.Secret(\"example\", {\n    name: \"example\",\n    value: pulumi.interpolate`Server=${exampleServer.name}.postgres.database.azure.com;Database=${exampleDatabase.name};Port=5432;User Id=psqladmin@${exampleServer.name};Password=H@Sh1CoR3!;Ssl Mode=Require;`,\n    keyVaultId: exampleKeyVault.id,\n});\nconst exampleBackupPolicyPostgresql = new azure.dataprotection.BackupPolicyPostgresql(\"example\", {\n    name: \"example\",\n    resourceGroupName: example.name,\n    vaultName: exampleBackupVault.name,\n    backupRepeatingTimeIntervals: [\"R/2021-05-23T02:30:00+00:00/P1W\"],\n    defaultRetentionDuration: \"P4M\",\n});\nconst exampleAssignment = new azure.authorization.Assignment(\"example\", {\n    scope: exampleServer.id,\n    roleDefinitionName: \"Reader\",\n    principalId: exampleBackupVault.identity.apply(identity =\u003e identity?.principalId),\n});\nconst exampleBackupInstancePostgresql = new azure.dataprotection.BackupInstancePostgresql(\"example\", {\n    name: \"example\",\n    location: example.location,\n    vaultId: exampleBackupVault.id,\n    databaseId: exampleDatabase.id,\n    backupPolicyId: exampleBackupPolicyPostgresql.id,\n    databaseCredentialKeyVaultSecretId: exampleSecret.versionlessId,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\ncurrent = azure.core.get_client_config()\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example\",\n    location=\"West Europe\")\nexample_server = azure.postgresql.Server(\"example\",\n    name=\"example\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku_name=\"B_Gen5_2\",\n    storage_mb=5120,\n    backup_retention_days=7,\n    geo_redundant_backup_enabled=False,\n    auto_grow_enabled=True,\n    administrator_login=\"psqladmin\",\n    administrator_login_password=\"H@Sh1CoR3!\",\n    version=\"9.5\",\n    ssl_enforcement_enabled=True)\nexample_firewall_rule = azure.postgresql.FirewallRule(\"example\",\n    name=\"AllowAllWindowsAzureIps\",\n    resource_group_name=example.name,\n    server_name=example_server.name,\n    start_ip_address=\"0.0.0.0\",\n    end_ip_address=\"0.0.0.0\")\nexample_database = azure.postgresql.Database(\"example\",\n    name=\"example\",\n    resource_group_name=example.name,\n    server_name=example_server.name,\n    charset=\"UTF8\",\n    collation=\"English_United States.1252\")\nexample_backup_vault = azure.dataprotection.BackupVault(\"example\",\n    name=\"example\",\n    resource_group_name=example.name,\n    location=example.location,\n    datastore_type=\"VaultStore\",\n    redundancy=\"LocallyRedundant\",\n    identity={\n        \"type\": \"SystemAssigned\",\n    })\nexample_key_vault = azure.keyvault.KeyVault(\"example\",\n    name=\"example\",\n    location=example.location,\n    resource_group_name=example.name,\n    tenant_id=current.tenant_id,\n    sku_name=\"premium\",\n    soft_delete_retention_days=7,\n    access_policies=[\n        {\n            \"tenant_id\": current.tenant_id,\n            \"object_id\": current.object_id,\n            \"key_permissions\": [\n                \"Create\",\n                \"Get\",\n            ],\n            \"secret_permissions\": [\n                \"Set\",\n                \"Get\",\n                \"Delete\",\n                \"Purge\",\n                \"Recover\",\n            ],\n        },\n        {\n            \"tenant_id\": example_backup_vault.identity.tenant_id,\n            \"object_id\": example_backup_vault.identity.principal_id,\n            \"key_permissions\": [\n                \"Create\",\n                \"Get\",\n            ],\n            \"secret_permissions\": [\n                \"Set\",\n                \"Get\",\n                \"Delete\",\n                \"Purge\",\n                \"Recover\",\n            ],\n        },\n    ])\nexample_secret = azure.keyvault.Secret(\"example\",\n    name=\"example\",\n    value=pulumi.Output.all(\n        exampleServerName=example_server.name,\n        exampleDatabaseName=example_database.name,\n        exampleServerName1=example_server.name\n).apply(lambda resolved_outputs: f\"Server={resolved_outputs['exampleServerName']}.postgres.database.azure.com;Database={resolved_outputs['exampleDatabaseName']};Port=5432;User Id=psqladmin@{resolved_outputs['exampleServerName1']};Password=H@Sh1CoR3!;Ssl Mode=Require;\")\n,\n    key_vault_id=example_key_vault.id)\nexample_backup_policy_postgresql = azure.dataprotection.BackupPolicyPostgresql(\"example\",\n    name=\"example\",\n    resource_group_name=example.name,\n    vault_name=example_backup_vault.name,\n    backup_repeating_time_intervals=[\"R/2021-05-23T02:30:00+00:00/P1W\"],\n    default_retention_duration=\"P4M\")\nexample_assignment = azure.authorization.Assignment(\"example\",\n    scope=example_server.id,\n    role_definition_name=\"Reader\",\n    principal_id=example_backup_vault.identity.principal_id)\nexample_backup_instance_postgresql = azure.dataprotection.BackupInstancePostgresql(\"example\",\n    name=\"example\",\n    location=example.location,\n    vault_id=example_backup_vault.id,\n    database_id=example_database.id,\n    backup_policy_id=example_backup_policy_postgresql.id,\n    database_credential_key_vault_secret_id=example_secret.versionless_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var current = Azure.Core.GetClientConfig.Invoke();\n\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example\",\n        Location = \"West Europe\",\n    });\n\n    var exampleServer = new Azure.PostgreSql.Server(\"example\", new()\n    {\n        Name = \"example\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        SkuName = \"B_Gen5_2\",\n        StorageMb = 5120,\n        BackupRetentionDays = 7,\n        GeoRedundantBackupEnabled = false,\n        AutoGrowEnabled = true,\n        AdministratorLogin = \"psqladmin\",\n        AdministratorLoginPassword = \"H@Sh1CoR3!\",\n        Version = \"9.5\",\n        SslEnforcementEnabled = true,\n    });\n\n    var exampleFirewallRule = new Azure.PostgreSql.FirewallRule(\"example\", new()\n    {\n        Name = \"AllowAllWindowsAzureIps\",\n        ResourceGroupName = example.Name,\n        ServerName = exampleServer.Name,\n        StartIpAddress = \"0.0.0.0\",\n        EndIpAddress = \"0.0.0.0\",\n    });\n\n    var exampleDatabase = new Azure.PostgreSql.Database(\"example\", new()\n    {\n        Name = \"example\",\n        ResourceGroupName = example.Name,\n        ServerName = exampleServer.Name,\n        Charset = \"UTF8\",\n        Collation = \"English_United States.1252\",\n    });\n\n    var exampleBackupVault = new Azure.DataProtection.BackupVault(\"example\", new()\n    {\n        Name = \"example\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        DatastoreType = \"VaultStore\",\n        Redundancy = \"LocallyRedundant\",\n        Identity = new Azure.DataProtection.Inputs.BackupVaultIdentityArgs\n        {\n            Type = \"SystemAssigned\",\n        },\n    });\n\n    var exampleKeyVault = new Azure.KeyVault.KeyVault(\"example\", new()\n    {\n        Name = \"example\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        TenantId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.TenantId),\n        SkuName = \"premium\",\n        SoftDeleteRetentionDays = 7,\n        AccessPolicies = new[]\n        {\n            new Azure.KeyVault.Inputs.KeyVaultAccessPolicyArgs\n            {\n                TenantId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.TenantId),\n                ObjectId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.ObjectId),\n                KeyPermissions = new[]\n                {\n                    \"Create\",\n                    \"Get\",\n                },\n                SecretPermissions = new[]\n                {\n                    \"Set\",\n                    \"Get\",\n                    \"Delete\",\n                    \"Purge\",\n                    \"Recover\",\n                },\n            },\n            new Azure.KeyVault.Inputs.KeyVaultAccessPolicyArgs\n            {\n                TenantId = exampleBackupVault.Identity.Apply(identity =\u003e identity?.TenantId),\n                ObjectId = exampleBackupVault.Identity.Apply(identity =\u003e identity?.PrincipalId),\n                KeyPermissions = new[]\n                {\n                    \"Create\",\n                    \"Get\",\n                },\n                SecretPermissions = new[]\n                {\n                    \"Set\",\n                    \"Get\",\n                    \"Delete\",\n                    \"Purge\",\n                    \"Recover\",\n                },\n            },\n        },\n    });\n\n    var exampleSecret = new Azure.KeyVault.Secret(\"example\", new()\n    {\n        Name = \"example\",\n        Value = Output.Tuple(exampleServer.Name, exampleDatabase.Name, exampleServer.Name).Apply(values =\u003e\n        {\n            var exampleServerName = values.Item1;\n            var exampleDatabaseName = values.Item2;\n            var exampleServerName1 = values.Item3;\n            return $\"Server={exampleServerName}.postgres.database.azure.com;Database={exampleDatabaseName};Port=5432;User Id=psqladmin@{exampleServerName1};Password=H@Sh1CoR3!;Ssl Mode=Require;\";\n        }),\n        KeyVaultId = exampleKeyVault.Id,\n    });\n\n    var exampleBackupPolicyPostgresql = new Azure.DataProtection.BackupPolicyPostgresql(\"example\", new()\n    {\n        Name = \"example\",\n        ResourceGroupName = example.Name,\n        VaultName = exampleBackupVault.Name,\n        BackupRepeatingTimeIntervals = new[]\n        {\n            \"R/2021-05-23T02:30:00+00:00/P1W\",\n        },\n        DefaultRetentionDuration = \"P4M\",\n    });\n\n    var exampleAssignment = new Azure.Authorization.Assignment(\"example\", new()\n    {\n        Scope = exampleServer.Id,\n        RoleDefinitionName = \"Reader\",\n        PrincipalId = exampleBackupVault.Identity.Apply(identity =\u003e identity?.PrincipalId),\n    });\n\n    var exampleBackupInstancePostgresql = new Azure.DataProtection.BackupInstancePostgresql(\"example\", new()\n    {\n        Name = \"example\",\n        Location = example.Location,\n        VaultId = exampleBackupVault.Id,\n        DatabaseId = exampleDatabase.Id,\n        BackupPolicyId = exampleBackupPolicyPostgresql.Id,\n        DatabaseCredentialKeyVaultSecretId = exampleSecret.VersionlessId,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/authorization\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/dataprotection\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/keyvault\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/postgresql\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := core.GetClientConfig(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleServer, err := postgresql.NewServer(ctx, \"example\", \u0026postgresql.ServerArgs{\n\t\t\tName:                       pulumi.String(\"example\"),\n\t\t\tLocation:                   example.Location,\n\t\t\tResourceGroupName:          example.Name,\n\t\t\tSkuName:                    pulumi.String(\"B_Gen5_2\"),\n\t\t\tStorageMb:                  pulumi.Int(5120),\n\t\t\tBackupRetentionDays:        pulumi.Int(7),\n\t\t\tGeoRedundantBackupEnabled:  pulumi.Bool(false),\n\t\t\tAutoGrowEnabled:            pulumi.Bool(true),\n\t\t\tAdministratorLogin:         pulumi.String(\"psqladmin\"),\n\t\t\tAdministratorLoginPassword: pulumi.String(\"H@Sh1CoR3!\"),\n\t\t\tVersion:                    pulumi.String(\"9.5\"),\n\t\t\tSslEnforcementEnabled:      pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = postgresql.NewFirewallRule(ctx, \"example\", \u0026postgresql.FirewallRuleArgs{\n\t\t\tName:              pulumi.String(\"AllowAllWindowsAzureIps\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tServerName:        exampleServer.Name,\n\t\t\tStartIpAddress:    pulumi.String(\"0.0.0.0\"),\n\t\t\tEndIpAddress:      pulumi.String(\"0.0.0.0\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleDatabase, err := postgresql.NewDatabase(ctx, \"example\", \u0026postgresql.DatabaseArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tServerName:        exampleServer.Name,\n\t\t\tCharset:           pulumi.String(\"UTF8\"),\n\t\t\tCollation:         pulumi.String(\"English_United States.1252\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleBackupVault, err := dataprotection.NewBackupVault(ctx, \"example\", \u0026dataprotection.BackupVaultArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tDatastoreType:     pulumi.String(\"VaultStore\"),\n\t\t\tRedundancy:        pulumi.String(\"LocallyRedundant\"),\n\t\t\tIdentity: \u0026dataprotection.BackupVaultIdentityArgs{\n\t\t\t\tType: pulumi.String(\"SystemAssigned\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleKeyVault, err := keyvault.NewKeyVault(ctx, \"example\", \u0026keyvault.KeyVaultArgs{\n\t\t\tName:                    pulumi.String(\"example\"),\n\t\t\tLocation:                example.Location,\n\t\t\tResourceGroupName:       example.Name,\n\t\t\tTenantId:                pulumi.String(current.TenantId),\n\t\t\tSkuName:                 pulumi.String(\"premium\"),\n\t\t\tSoftDeleteRetentionDays: pulumi.Int(7),\n\t\t\tAccessPolicies: keyvault.KeyVaultAccessPolicyArray{\n\t\t\t\t\u0026keyvault.KeyVaultAccessPolicyArgs{\n\t\t\t\t\tTenantId: pulumi.String(current.TenantId),\n\t\t\t\t\tObjectId: pulumi.String(current.ObjectId),\n\t\t\t\t\tKeyPermissions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"Create\"),\n\t\t\t\t\t\tpulumi.String(\"Get\"),\n\t\t\t\t\t},\n\t\t\t\t\tSecretPermissions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"Set\"),\n\t\t\t\t\t\tpulumi.String(\"Get\"),\n\t\t\t\t\t\tpulumi.String(\"Delete\"),\n\t\t\t\t\t\tpulumi.String(\"Purge\"),\n\t\t\t\t\t\tpulumi.String(\"Recover\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026keyvault.KeyVaultAccessPolicyArgs{\n\t\t\t\t\tTenantId: exampleBackupVault.Identity.ApplyT(func(identity dataprotection.BackupVaultIdentity) (*string, error) {\n\t\t\t\t\t\treturn \u0026identity.TenantId, nil\n\t\t\t\t\t}).(pulumi.StringPtrOutput),\n\t\t\t\t\tObjectId: exampleBackupVault.Identity.ApplyT(func(identity dataprotection.BackupVaultIdentity) (*string, error) {\n\t\t\t\t\t\treturn \u0026identity.PrincipalId, nil\n\t\t\t\t\t}).(pulumi.StringPtrOutput),\n\t\t\t\t\tKeyPermissions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"Create\"),\n\t\t\t\t\t\tpulumi.String(\"Get\"),\n\t\t\t\t\t},\n\t\t\t\t\tSecretPermissions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"Set\"),\n\t\t\t\t\t\tpulumi.String(\"Get\"),\n\t\t\t\t\t\tpulumi.String(\"Delete\"),\n\t\t\t\t\t\tpulumi.String(\"Purge\"),\n\t\t\t\t\t\tpulumi.String(\"Recover\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSecret, err := keyvault.NewSecret(ctx, \"example\", \u0026keyvault.SecretArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tValue: pulumi.All(exampleServer.Name, exampleDatabase.Name, exampleServer.Name).ApplyT(func(_args []interface{}) (string, error) {\n\t\t\t\texampleServerName := _args[0].(string)\n\t\t\t\texampleDatabaseName := _args[1].(string)\n\t\t\t\texampleServerName1 := _args[2].(string)\n\t\t\t\treturn fmt.Sprintf(\"Server=%v.postgres.database.azure.com;Database=%v;Port=5432;User Id=psqladmin@%v;Password=H@Sh1CoR3!;Ssl Mode=Require;\", exampleServerName, exampleDatabaseName, exampleServerName1), nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t\tKeyVaultId: exampleKeyVault.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleBackupPolicyPostgresql, err := dataprotection.NewBackupPolicyPostgresql(ctx, \"example\", \u0026dataprotection.BackupPolicyPostgresqlArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tVaultName:         exampleBackupVault.Name,\n\t\t\tBackupRepeatingTimeIntervals: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"R/2021-05-23T02:30:00+00:00/P1W\"),\n\t\t\t},\n\t\t\tDefaultRetentionDuration: pulumi.String(\"P4M\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = authorization.NewAssignment(ctx, \"example\", \u0026authorization.AssignmentArgs{\n\t\t\tScope:              exampleServer.ID(),\n\t\t\tRoleDefinitionName: pulumi.String(\"Reader\"),\n\t\t\tPrincipalId: pulumi.String(exampleBackupVault.Identity.ApplyT(func(identity dataprotection.BackupVaultIdentity) (*string, error) {\n\t\t\t\treturn \u0026identity.PrincipalId, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = dataprotection.NewBackupInstancePostgresql(ctx, \"example\", \u0026dataprotection.BackupInstancePostgresqlArgs{\n\t\t\tName:                               pulumi.String(\"example\"),\n\t\t\tLocation:                           example.Location,\n\t\t\tVaultId:                            exampleBackupVault.ID(),\n\t\t\tDatabaseId:                         exampleDatabase.ID(),\n\t\t\tBackupPolicyId:                     exampleBackupPolicyPostgresql.ID(),\n\t\t\tDatabaseCredentialKeyVaultSecretId: exampleSecret.VersionlessId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.postgresql.Server;\nimport com.pulumi.azure.postgresql.ServerArgs;\nimport com.pulumi.azure.postgresql.FirewallRule;\nimport com.pulumi.azure.postgresql.FirewallRuleArgs;\nimport com.pulumi.azure.postgresql.Database;\nimport com.pulumi.azure.postgresql.DatabaseArgs;\nimport com.pulumi.azure.dataprotection.BackupVault;\nimport com.pulumi.azure.dataprotection.BackupVaultArgs;\nimport com.pulumi.azure.dataprotection.inputs.BackupVaultIdentityArgs;\nimport com.pulumi.azure.keyvault.KeyVault;\nimport com.pulumi.azure.keyvault.KeyVaultArgs;\nimport com.pulumi.azure.keyvault.inputs.KeyVaultAccessPolicyArgs;\nimport com.pulumi.azure.keyvault.Secret;\nimport com.pulumi.azure.keyvault.SecretArgs;\nimport com.pulumi.azure.dataprotection.BackupPolicyPostgresql;\nimport com.pulumi.azure.dataprotection.BackupPolicyPostgresqlArgs;\nimport com.pulumi.azure.authorization.Assignment;\nimport com.pulumi.azure.authorization.AssignmentArgs;\nimport com.pulumi.azure.dataprotection.BackupInstancePostgresql;\nimport com.pulumi.azure.dataprotection.BackupInstancePostgresqlArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var current = CoreFunctions.getClientConfig(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleServer = new Server(\"exampleServer\", ServerArgs.builder()\n            .name(\"example\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .skuName(\"B_Gen5_2\")\n            .storageMb(5120)\n            .backupRetentionDays(7)\n            .geoRedundantBackupEnabled(false)\n            .autoGrowEnabled(true)\n            .administratorLogin(\"psqladmin\")\n            .administratorLoginPassword(\"H@Sh1CoR3!\")\n            .version(\"9.5\")\n            .sslEnforcementEnabled(true)\n            .build());\n\n        var exampleFirewallRule = new FirewallRule(\"exampleFirewallRule\", FirewallRuleArgs.builder()\n            .name(\"AllowAllWindowsAzureIps\")\n            .resourceGroupName(example.name())\n            .serverName(exampleServer.name())\n            .startIpAddress(\"0.0.0.0\")\n            .endIpAddress(\"0.0.0.0\")\n            .build());\n\n        var exampleDatabase = new Database(\"exampleDatabase\", DatabaseArgs.builder()\n            .name(\"example\")\n            .resourceGroupName(example.name())\n            .serverName(exampleServer.name())\n            .charset(\"UTF8\")\n            .collation(\"English_United States.1252\")\n            .build());\n\n        var exampleBackupVault = new BackupVault(\"exampleBackupVault\", BackupVaultArgs.builder()\n            .name(\"example\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .datastoreType(\"VaultStore\")\n            .redundancy(\"LocallyRedundant\")\n            .identity(BackupVaultIdentityArgs.builder()\n                .type(\"SystemAssigned\")\n                .build())\n            .build());\n\n        var exampleKeyVault = new KeyVault(\"exampleKeyVault\", KeyVaultArgs.builder()\n            .name(\"example\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .tenantId(current.tenantId())\n            .skuName(\"premium\")\n            .softDeleteRetentionDays(7)\n            .accessPolicies(            \n                KeyVaultAccessPolicyArgs.builder()\n                    .tenantId(current.tenantId())\n                    .objectId(current.objectId())\n                    .keyPermissions(                    \n                        \"Create\",\n                        \"Get\")\n                    .secretPermissions(                    \n                        \"Set\",\n                        \"Get\",\n                        \"Delete\",\n                        \"Purge\",\n                        \"Recover\")\n                    .build(),\n                KeyVaultAccessPolicyArgs.builder()\n                    .tenantId(exampleBackupVault.identity().applyValue(_identity -\u003e _identity.tenantId()))\n                    .objectId(exampleBackupVault.identity().applyValue(_identity -\u003e _identity.principalId()))\n                    .keyPermissions(                    \n                        \"Create\",\n                        \"Get\")\n                    .secretPermissions(                    \n                        \"Set\",\n                        \"Get\",\n                        \"Delete\",\n                        \"Purge\",\n                        \"Recover\")\n                    .build())\n            .build());\n\n        var exampleSecret = new Secret(\"exampleSecret\", SecretArgs.builder()\n            .name(\"example\")\n            .value(Output.tuple(exampleServer.name(), exampleDatabase.name(), exampleServer.name()).applyValue(values -\u003e {\n                var exampleServerName = values.t1;\n                var exampleDatabaseName = values.t2;\n                var exampleServerName1 = values.t3;\n                return String.format(\"Server=%s.postgres.database.azure.com;Database=%s;Port=5432;User Id=psqladmin@%s;Password=H@Sh1CoR3!;Ssl Mode=Require;\", exampleServerName,exampleDatabaseName,exampleServerName1);\n            }))\n            .keyVaultId(exampleKeyVault.id())\n            .build());\n\n        var exampleBackupPolicyPostgresql = new BackupPolicyPostgresql(\"exampleBackupPolicyPostgresql\", BackupPolicyPostgresqlArgs.builder()\n            .name(\"example\")\n            .resourceGroupName(example.name())\n            .vaultName(exampleBackupVault.name())\n            .backupRepeatingTimeIntervals(\"R/2021-05-23T02:30:00+00:00/P1W\")\n            .defaultRetentionDuration(\"P4M\")\n            .build());\n\n        var exampleAssignment = new Assignment(\"exampleAssignment\", AssignmentArgs.builder()\n            .scope(exampleServer.id())\n            .roleDefinitionName(\"Reader\")\n            .principalId(exampleBackupVault.identity().applyValue(_identity -\u003e _identity.principalId()))\n            .build());\n\n        var exampleBackupInstancePostgresql = new BackupInstancePostgresql(\"exampleBackupInstancePostgresql\", BackupInstancePostgresqlArgs.builder()\n            .name(\"example\")\n            .location(example.location())\n            .vaultId(exampleBackupVault.id())\n            .databaseId(exampleDatabase.id())\n            .backupPolicyId(exampleBackupPolicyPostgresql.id())\n            .databaseCredentialKeyVaultSecretId(exampleSecret.versionlessId())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example\n      location: West Europe\n  exampleServer:\n    type: azure:postgresql:Server\n    name: example\n    properties:\n      name: example\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      skuName: B_Gen5_2\n      storageMb: 5120\n      backupRetentionDays: 7\n      geoRedundantBackupEnabled: false\n      autoGrowEnabled: true\n      administratorLogin: psqladmin\n      administratorLoginPassword: H@Sh1CoR3!\n      version: '9.5'\n      sslEnforcementEnabled: true\n  exampleFirewallRule:\n    type: azure:postgresql:FirewallRule\n    name: example\n    properties:\n      name: AllowAllWindowsAzureIps\n      resourceGroupName: ${example.name}\n      serverName: ${exampleServer.name}\n      startIpAddress: 0.0.0.0\n      endIpAddress: 0.0.0.0\n  exampleDatabase:\n    type: azure:postgresql:Database\n    name: example\n    properties:\n      name: example\n      resourceGroupName: ${example.name}\n      serverName: ${exampleServer.name}\n      charset: UTF8\n      collation: English_United States.1252\n  exampleBackupVault:\n    type: azure:dataprotection:BackupVault\n    name: example\n    properties:\n      name: example\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      datastoreType: VaultStore\n      redundancy: LocallyRedundant\n      identity:\n        type: SystemAssigned\n  exampleKeyVault:\n    type: azure:keyvault:KeyVault\n    name: example\n    properties:\n      name: example\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      tenantId: ${current.tenantId}\n      skuName: premium\n      softDeleteRetentionDays: 7\n      accessPolicies:\n        - tenantId: ${current.tenantId}\n          objectId: ${current.objectId}\n          keyPermissions:\n            - Create\n            - Get\n          secretPermissions:\n            - Set\n            - Get\n            - Delete\n            - Purge\n            - Recover\n        - tenantId: ${exampleBackupVault.identity.tenantId}\n          objectId: ${exampleBackupVault.identity.principalId}\n          keyPermissions:\n            - Create\n            - Get\n          secretPermissions:\n            - Set\n            - Get\n            - Delete\n            - Purge\n            - Recover\n  exampleSecret:\n    type: azure:keyvault:Secret\n    name: example\n    properties:\n      name: example\n      value: Server=${exampleServer.name}.postgres.database.azure.com;Database=${exampleDatabase.name};Port=5432;User Id=psqladmin@${exampleServer.name};Password=H@Sh1CoR3!;Ssl Mode=Require;\n      keyVaultId: ${exampleKeyVault.id}\n  exampleBackupPolicyPostgresql:\n    type: azure:dataprotection:BackupPolicyPostgresql\n    name: example\n    properties:\n      name: example\n      resourceGroupName: ${example.name}\n      vaultName: ${exampleBackupVault.name}\n      backupRepeatingTimeIntervals:\n        - R/2021-05-23T02:30:00+00:00/P1W\n      defaultRetentionDuration: P4M\n  exampleAssignment:\n    type: azure:authorization:Assignment\n    name: example\n    properties:\n      scope: ${exampleServer.id}\n      roleDefinitionName: Reader\n      principalId: ${exampleBackupVault.identity.principalId}\n  exampleBackupInstancePostgresql:\n    type: azure:dataprotection:BackupInstancePostgresql\n    name: example\n    properties:\n      name: example\n      location: ${example.location}\n      vaultId: ${exampleBackupVault.id}\n      databaseId: ${exampleDatabase.id}\n      backupPolicyId: ${exampleBackupPolicyPostgresql.id}\n      databaseCredentialKeyVaultSecretId: ${exampleSecret.versionlessId}\nvariables:\n  current:\n    fn::invoke:\n      function: azure:core:getClientConfig\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.DataProtection` - 2024-04-01\n\n## Import\n\nBackup Instance PostgreSQL can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:dataprotection/backupInstancePostgresql:BackupInstancePostgresql example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.DataProtection/backupVaults/vault1/backupInstances/backupInstance1\n```\n\n","properties":{"backupPolicyId":{"type":"string","description":"The ID of the Backup Policy.\n"},"databaseCredentialKeyVaultSecretId":{"type":"string","description":"The ID or versionless ID of the key vault secret which stores the connection string of the database.\n"},"databaseId":{"type":"string","description":"The ID of the source database. Changing this forces a new Backup Instance PostgreSQL to be created.\n"},"location":{"type":"string","description":"The location of the source database. Changing this forces a new Backup Instance PostgreSQL to be created.\n"},"name":{"type":"string","description":"The name which should be used for this Backup Instance PostgreSQL. Changing this forces a new Backup Instance PostgreSQL to be created.\n"},"protectionState":{"type":"string","description":"The protection state of the Backup Instance PostgreSQL.\n"},"vaultId":{"type":"string","description":"The ID of the Backup Vault within which the PostgreSQL Backup Instance should exist. Changing this forces a new Backup Instance PostgreSQL to be created.\n"}},"required":["backupPolicyId","databaseId","location","name","protectionState","vaultId"],"inputProperties":{"backupPolicyId":{"type":"string","description":"The ID of the Backup Policy.\n"},"databaseCredentialKeyVaultSecretId":{"type":"string","description":"The ID or versionless ID of the key vault secret which stores the connection string of the database.\n"},"databaseId":{"type":"string","description":"The ID of the source database. Changing this forces a new Backup Instance PostgreSQL to be created.\n","willReplaceOnChanges":true},"location":{"type":"string","description":"The location of the source database. Changing this forces a new Backup Instance PostgreSQL to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Backup Instance PostgreSQL. Changing this forces a new Backup Instance PostgreSQL to be created.\n","willReplaceOnChanges":true},"vaultId":{"type":"string","description":"The ID of the Backup Vault within which the PostgreSQL Backup Instance should exist. Changing this forces a new Backup Instance PostgreSQL to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["backupPolicyId","databaseId","vaultId"],"stateInputs":{"description":"Input properties used for looking up and filtering BackupInstancePostgresql resources.\n","properties":{"backupPolicyId":{"type":"string","description":"The ID of the Backup Policy.\n"},"databaseCredentialKeyVaultSecretId":{"type":"string","description":"The ID or versionless ID of the key vault secret which stores the connection string of the database.\n"},"databaseId":{"type":"string","description":"The ID of the source database. Changing this forces a new Backup Instance PostgreSQL to be created.\n","willReplaceOnChanges":true},"location":{"type":"string","description":"The location of the source database. Changing this forces a new Backup Instance PostgreSQL to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Backup Instance PostgreSQL. Changing this forces a new Backup Instance PostgreSQL to be created.\n","willReplaceOnChanges":true},"protectionState":{"type":"string","description":"The protection state of the Backup Instance PostgreSQL.\n"},"vaultId":{"type":"string","description":"The ID of the Backup Vault within which the PostgreSQL Backup Instance should exist. Changing this forces a new Backup Instance PostgreSQL to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:dataprotection/backupInstancePostgresqlFlexibleServer:BackupInstancePostgresqlFlexibleServer":{"description":"Manages a Backup Instance to back up PostgreSQL Flexible Server.\n\n\u003e **Note:** Before using this resource, there are some prerequisite permissions for configure backup and restore. See more details from \u003chttps://learn.microsoft.com/azure/backup/backup-azure-database-postgresql-flex-overview\u003e.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleFlexibleServer = new azure.postgresql.FlexibleServer(\"example\", {\n    name: \"example-postgresqlfs\",\n    resourceGroupName: example.name,\n    location: example.location,\n    administratorLogin: \"adminTerraform\",\n    administratorPassword: \"QAZwsx123\",\n    storageMb: 32768,\n    version: \"12\",\n    skuName: \"GP_Standard_D4s_v3\",\n    zone: \"2\",\n});\nconst exampleBackupVault = new azure.dataprotection.BackupVault(\"example\", {\n    name: \"example-backupvault\",\n    resourceGroupName: example.name,\n    location: example.location,\n    datastoreType: \"VaultStore\",\n    redundancy: \"LocallyRedundant\",\n    softDelete: \"Off\",\n    identity: {\n        type: \"SystemAssigned\",\n    },\n});\nconst exampleAssignment = new azure.authorization.Assignment(\"example\", {\n    scope: example.id,\n    roleDefinitionName: \"Reader\",\n    principalId: exampleBackupVault.identity.apply(identity =\u003e identity?.principalId),\n});\nconst example2 = new azure.authorization.Assignment(\"example2\", {\n    scope: exampleFlexibleServer.id,\n    roleDefinitionName: \"PostgreSQL Flexible Server Long Term Retention Backup Role\",\n    principalId: exampleBackupVault.identity.apply(identity =\u003e identity?.principalId),\n});\nconst exampleBackupPolicyPostgresqlFlexibleServer = new azure.dataprotection.BackupPolicyPostgresqlFlexibleServer(\"example\", {\n    name: \"example-dp\",\n    vaultId: exampleBackupVault.id,\n    backupRepeatingTimeIntervals: [\"R/2021-05-23T02:30:00+00:00/P1W\"],\n    defaultRetentionRule: {\n        lifeCycles: [{\n            duration: \"P4M\",\n            dataStoreType: \"VaultStore\",\n        }],\n    },\n}, {\n    dependsOn: [\n        exampleAssignment,\n        example2,\n    ],\n});\nconst exampleBackupInstancePostgresqlFlexibleServer = new azure.dataprotection.BackupInstancePostgresqlFlexibleServer(\"example\", {\n    name: \"example-dbi\",\n    location: example.location,\n    vaultId: exampleBackupVault.id,\n    serverId: exampleFlexibleServer.id,\n    backupPolicyId: exampleBackupPolicyPostgresqlFlexibleServer.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_flexible_server = azure.postgresql.FlexibleServer(\"example\",\n    name=\"example-postgresqlfs\",\n    resource_group_name=example.name,\n    location=example.location,\n    administrator_login=\"adminTerraform\",\n    administrator_password=\"QAZwsx123\",\n    storage_mb=32768,\n    version=\"12\",\n    sku_name=\"GP_Standard_D4s_v3\",\n    zone=\"2\")\nexample_backup_vault = azure.dataprotection.BackupVault(\"example\",\n    name=\"example-backupvault\",\n    resource_group_name=example.name,\n    location=example.location,\n    datastore_type=\"VaultStore\",\n    redundancy=\"LocallyRedundant\",\n    soft_delete=\"Off\",\n    identity={\n        \"type\": \"SystemAssigned\",\n    })\nexample_assignment = azure.authorization.Assignment(\"example\",\n    scope=example.id,\n    role_definition_name=\"Reader\",\n    principal_id=example_backup_vault.identity.principal_id)\nexample2 = azure.authorization.Assignment(\"example2\",\n    scope=example_flexible_server.id,\n    role_definition_name=\"PostgreSQL Flexible Server Long Term Retention Backup Role\",\n    principal_id=example_backup_vault.identity.principal_id)\nexample_backup_policy_postgresql_flexible_server = azure.dataprotection.BackupPolicyPostgresqlFlexibleServer(\"example\",\n    name=\"example-dp\",\n    vault_id=example_backup_vault.id,\n    backup_repeating_time_intervals=[\"R/2021-05-23T02:30:00+00:00/P1W\"],\n    default_retention_rule={\n        \"life_cycles\": [{\n            \"duration\": \"P4M\",\n            \"data_store_type\": \"VaultStore\",\n        }],\n    },\n    opts = pulumi.ResourceOptions(depends_on=[\n            example_assignment,\n            example2,\n        ]))\nexample_backup_instance_postgresql_flexible_server = azure.dataprotection.BackupInstancePostgresqlFlexibleServer(\"example\",\n    name=\"example-dbi\",\n    location=example.location,\n    vault_id=example_backup_vault.id,\n    server_id=example_flexible_server.id,\n    backup_policy_id=example_backup_policy_postgresql_flexible_server.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleFlexibleServer = new Azure.PostgreSql.FlexibleServer(\"example\", new()\n    {\n        Name = \"example-postgresqlfs\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        AdministratorLogin = \"adminTerraform\",\n        AdministratorPassword = \"QAZwsx123\",\n        StorageMb = 32768,\n        Version = \"12\",\n        SkuName = \"GP_Standard_D4s_v3\",\n        Zone = \"2\",\n    });\n\n    var exampleBackupVault = new Azure.DataProtection.BackupVault(\"example\", new()\n    {\n        Name = \"example-backupvault\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        DatastoreType = \"VaultStore\",\n        Redundancy = \"LocallyRedundant\",\n        SoftDelete = \"Off\",\n        Identity = new Azure.DataProtection.Inputs.BackupVaultIdentityArgs\n        {\n            Type = \"SystemAssigned\",\n        },\n    });\n\n    var exampleAssignment = new Azure.Authorization.Assignment(\"example\", new()\n    {\n        Scope = example.Id,\n        RoleDefinitionName = \"Reader\",\n        PrincipalId = exampleBackupVault.Identity.Apply(identity =\u003e identity?.PrincipalId),\n    });\n\n    var example2 = new Azure.Authorization.Assignment(\"example2\", new()\n    {\n        Scope = exampleFlexibleServer.Id,\n        RoleDefinitionName = \"PostgreSQL Flexible Server Long Term Retention Backup Role\",\n        PrincipalId = exampleBackupVault.Identity.Apply(identity =\u003e identity?.PrincipalId),\n    });\n\n    var exampleBackupPolicyPostgresqlFlexibleServer = new Azure.DataProtection.BackupPolicyPostgresqlFlexibleServer(\"example\", new()\n    {\n        Name = \"example-dp\",\n        VaultId = exampleBackupVault.Id,\n        BackupRepeatingTimeIntervals = new[]\n        {\n            \"R/2021-05-23T02:30:00+00:00/P1W\",\n        },\n        DefaultRetentionRule = new Azure.DataProtection.Inputs.BackupPolicyPostgresqlFlexibleServerDefaultRetentionRuleArgs\n        {\n            LifeCycles = new[]\n            {\n                new Azure.DataProtection.Inputs.BackupPolicyPostgresqlFlexibleServerDefaultRetentionRuleLifeCycleArgs\n                {\n                    Duration = \"P4M\",\n                    DataStoreType = \"VaultStore\",\n                },\n            },\n        },\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            exampleAssignment,\n            example2,\n        },\n    });\n\n    var exampleBackupInstancePostgresqlFlexibleServer = new Azure.DataProtection.BackupInstancePostgresqlFlexibleServer(\"example\", new()\n    {\n        Name = \"example-dbi\",\n        Location = example.Location,\n        VaultId = exampleBackupVault.Id,\n        ServerId = exampleFlexibleServer.Id,\n        BackupPolicyId = exampleBackupPolicyPostgresqlFlexibleServer.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/authorization\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/dataprotection\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/postgresql\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleFlexibleServer, err := postgresql.NewFlexibleServer(ctx, \"example\", \u0026postgresql.FlexibleServerArgs{\n\t\t\tName:                  pulumi.String(\"example-postgresqlfs\"),\n\t\t\tResourceGroupName:     example.Name,\n\t\t\tLocation:              example.Location,\n\t\t\tAdministratorLogin:    pulumi.String(\"adminTerraform\"),\n\t\t\tAdministratorPassword: pulumi.String(\"QAZwsx123\"),\n\t\t\tStorageMb:             pulumi.Int(32768),\n\t\t\tVersion:               pulumi.String(\"12\"),\n\t\t\tSkuName:               pulumi.String(\"GP_Standard_D4s_v3\"),\n\t\t\tZone:                  pulumi.String(\"2\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleBackupVault, err := dataprotection.NewBackupVault(ctx, \"example\", \u0026dataprotection.BackupVaultArgs{\n\t\t\tName:              pulumi.String(\"example-backupvault\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tDatastoreType:     pulumi.String(\"VaultStore\"),\n\t\t\tRedundancy:        pulumi.String(\"LocallyRedundant\"),\n\t\t\tSoftDelete:        pulumi.String(\"Off\"),\n\t\t\tIdentity: \u0026dataprotection.BackupVaultIdentityArgs{\n\t\t\t\tType: pulumi.String(\"SystemAssigned\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAssignment, err := authorization.NewAssignment(ctx, \"example\", \u0026authorization.AssignmentArgs{\n\t\t\tScope:              example.ID(),\n\t\t\tRoleDefinitionName: pulumi.String(\"Reader\"),\n\t\t\tPrincipalId: pulumi.String(exampleBackupVault.Identity.ApplyT(func(identity dataprotection.BackupVaultIdentity) (*string, error) {\n\t\t\t\treturn \u0026identity.PrincipalId, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample2, err := authorization.NewAssignment(ctx, \"example2\", \u0026authorization.AssignmentArgs{\n\t\t\tScope:              exampleFlexibleServer.ID(),\n\t\t\tRoleDefinitionName: pulumi.String(\"PostgreSQL Flexible Server Long Term Retention Backup Role\"),\n\t\t\tPrincipalId: pulumi.String(exampleBackupVault.Identity.ApplyT(func(identity dataprotection.BackupVaultIdentity) (*string, error) {\n\t\t\t\treturn \u0026identity.PrincipalId, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleBackupPolicyPostgresqlFlexibleServer, err := dataprotection.NewBackupPolicyPostgresqlFlexibleServer(ctx, \"example\", \u0026dataprotection.BackupPolicyPostgresqlFlexibleServerArgs{\n\t\t\tName:    pulumi.String(\"example-dp\"),\n\t\t\tVaultId: exampleBackupVault.ID(),\n\t\t\tBackupRepeatingTimeIntervals: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"R/2021-05-23T02:30:00+00:00/P1W\"),\n\t\t\t},\n\t\t\tDefaultRetentionRule: \u0026dataprotection.BackupPolicyPostgresqlFlexibleServerDefaultRetentionRuleArgs{\n\t\t\t\tLifeCycles: dataprotection.BackupPolicyPostgresqlFlexibleServerDefaultRetentionRuleLifeCycleArray{\n\t\t\t\t\t\u0026dataprotection.BackupPolicyPostgresqlFlexibleServerDefaultRetentionRuleLifeCycleArgs{\n\t\t\t\t\t\tDuration:      pulumi.String(\"P4M\"),\n\t\t\t\t\t\tDataStoreType: pulumi.String(\"VaultStore\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleAssignment,\n\t\t\texample2,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = dataprotection.NewBackupInstancePostgresqlFlexibleServer(ctx, \"example\", \u0026dataprotection.BackupInstancePostgresqlFlexibleServerArgs{\n\t\t\tName:           pulumi.String(\"example-dbi\"),\n\t\t\tLocation:       example.Location,\n\t\t\tVaultId:        exampleBackupVault.ID(),\n\t\t\tServerId:       exampleFlexibleServer.ID(),\n\t\t\tBackupPolicyId: exampleBackupPolicyPostgresqlFlexibleServer.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.postgresql.FlexibleServer;\nimport com.pulumi.azure.postgresql.FlexibleServerArgs;\nimport com.pulumi.azure.dataprotection.BackupVault;\nimport com.pulumi.azure.dataprotection.BackupVaultArgs;\nimport com.pulumi.azure.dataprotection.inputs.BackupVaultIdentityArgs;\nimport com.pulumi.azure.authorization.Assignment;\nimport com.pulumi.azure.authorization.AssignmentArgs;\nimport com.pulumi.azure.dataprotection.BackupPolicyPostgresqlFlexibleServer;\nimport com.pulumi.azure.dataprotection.BackupPolicyPostgresqlFlexibleServerArgs;\nimport com.pulumi.azure.dataprotection.inputs.BackupPolicyPostgresqlFlexibleServerDefaultRetentionRuleArgs;\nimport com.pulumi.azure.dataprotection.BackupInstancePostgresqlFlexibleServer;\nimport com.pulumi.azure.dataprotection.BackupInstancePostgresqlFlexibleServerArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleFlexibleServer = new FlexibleServer(\"exampleFlexibleServer\", FlexibleServerArgs.builder()\n            .name(\"example-postgresqlfs\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .administratorLogin(\"adminTerraform\")\n            .administratorPassword(\"QAZwsx123\")\n            .storageMb(32768)\n            .version(\"12\")\n            .skuName(\"GP_Standard_D4s_v3\")\n            .zone(\"2\")\n            .build());\n\n        var exampleBackupVault = new BackupVault(\"exampleBackupVault\", BackupVaultArgs.builder()\n            .name(\"example-backupvault\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .datastoreType(\"VaultStore\")\n            .redundancy(\"LocallyRedundant\")\n            .softDelete(\"Off\")\n            .identity(BackupVaultIdentityArgs.builder()\n                .type(\"SystemAssigned\")\n                .build())\n            .build());\n\n        var exampleAssignment = new Assignment(\"exampleAssignment\", AssignmentArgs.builder()\n            .scope(example.id())\n            .roleDefinitionName(\"Reader\")\n            .principalId(exampleBackupVault.identity().applyValue(_identity -\u003e _identity.principalId()))\n            .build());\n\n        var example2 = new Assignment(\"example2\", AssignmentArgs.builder()\n            .scope(exampleFlexibleServer.id())\n            .roleDefinitionName(\"PostgreSQL Flexible Server Long Term Retention Backup Role\")\n            .principalId(exampleBackupVault.identity().applyValue(_identity -\u003e _identity.principalId()))\n            .build());\n\n        var exampleBackupPolicyPostgresqlFlexibleServer = new BackupPolicyPostgresqlFlexibleServer(\"exampleBackupPolicyPostgresqlFlexibleServer\", BackupPolicyPostgresqlFlexibleServerArgs.builder()\n            .name(\"example-dp\")\n            .vaultId(exampleBackupVault.id())\n            .backupRepeatingTimeIntervals(\"R/2021-05-23T02:30:00+00:00/P1W\")\n            .defaultRetentionRule(BackupPolicyPostgresqlFlexibleServerDefaultRetentionRuleArgs.builder()\n                .lifeCycles(BackupPolicyPostgresqlFlexibleServerDefaultRetentionRuleLifeCycleArgs.builder()\n                    .duration(\"P4M\")\n                    .dataStoreType(\"VaultStore\")\n                    .build())\n                .build())\n            .build(), CustomResourceOptions.builder()\n                .dependsOn(                \n                    exampleAssignment,\n                    example2)\n                .build());\n\n        var exampleBackupInstancePostgresqlFlexibleServer = new BackupInstancePostgresqlFlexibleServer(\"exampleBackupInstancePostgresqlFlexibleServer\", BackupInstancePostgresqlFlexibleServerArgs.builder()\n            .name(\"example-dbi\")\n            .location(example.location())\n            .vaultId(exampleBackupVault.id())\n            .serverId(exampleFlexibleServer.id())\n            .backupPolicyId(exampleBackupPolicyPostgresqlFlexibleServer.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleFlexibleServer:\n    type: azure:postgresql:FlexibleServer\n    name: example\n    properties:\n      name: example-postgresqlfs\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      administratorLogin: adminTerraform\n      administratorPassword: QAZwsx123\n      storageMb: 32768\n      version: '12'\n      skuName: GP_Standard_D4s_v3\n      zone: '2'\n  exampleBackupVault:\n    type: azure:dataprotection:BackupVault\n    name: example\n    properties:\n      name: example-backupvault\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      datastoreType: VaultStore\n      redundancy: LocallyRedundant\n      softDelete: Off\n      identity:\n        type: SystemAssigned\n  exampleAssignment:\n    type: azure:authorization:Assignment\n    name: example\n    properties:\n      scope: ${example.id}\n      roleDefinitionName: Reader\n      principalId: ${exampleBackupVault.identity.principalId}\n  example2:\n    type: azure:authorization:Assignment\n    properties:\n      scope: ${exampleFlexibleServer.id}\n      roleDefinitionName: PostgreSQL Flexible Server Long Term Retention Backup Role\n      principalId: ${exampleBackupVault.identity.principalId}\n  exampleBackupPolicyPostgresqlFlexibleServer:\n    type: azure:dataprotection:BackupPolicyPostgresqlFlexibleServer\n    name: example\n    properties:\n      name: example-dp\n      vaultId: ${exampleBackupVault.id}\n      backupRepeatingTimeIntervals:\n        - R/2021-05-23T02:30:00+00:00/P1W\n      defaultRetentionRule:\n        lifeCycles:\n          - duration: P4M\n            dataStoreType: VaultStore\n    options:\n      dependsOn:\n        - ${exampleAssignment}\n        - ${example2}\n  exampleBackupInstancePostgresqlFlexibleServer:\n    type: azure:dataprotection:BackupInstancePostgresqlFlexibleServer\n    name: example\n    properties:\n      name: example-dbi\n      location: ${example.location}\n      vaultId: ${exampleBackupVault.id}\n      serverId: ${exampleFlexibleServer.id}\n      backupPolicyId: ${exampleBackupPolicyPostgresqlFlexibleServer.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.DataProtection` - 2024-04-01\n\n## Import\n\nBackup Instance PostgreSQL Flexible Servers can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:dataprotection/backupInstancePostgresqlFlexibleServer:BackupInstancePostgresqlFlexibleServer example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.DataProtection/backupVaults/vault1/backupInstances/backupInstance1\n```\n\n","properties":{"backupPolicyId":{"type":"string","description":"The ID of the Backup Policy.\n"},"location":{"type":"string","description":"The location of the source database. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"Specifies the name of the Backup Instance for the PostgreSQL Flexible Server. Changing this forces a new resource to be created.\n"},"protectionState":{"type":"string","description":"The protection state of the Backup Instance PostgreSQL Flexible Server.\n"},"serverId":{"type":"string","description":"The ID of the source server. Changing this forces a new resource to be created.\n"},"vaultId":{"type":"string","description":"The ID of the Backup Vault within which the PostgreSQL Flexible Server Backup Instance should exist. Changing this forces a new resource to be created.\n"}},"required":["backupPolicyId","location","name","protectionState","serverId","vaultId"],"inputProperties":{"backupPolicyId":{"type":"string","description":"The ID of the Backup Policy.\n"},"location":{"type":"string","description":"The location of the source database. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the Backup Instance for the PostgreSQL Flexible Server. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"serverId":{"type":"string","description":"The ID of the source server. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"vaultId":{"type":"string","description":"The ID of the Backup Vault within which the PostgreSQL Flexible Server Backup Instance should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["backupPolicyId","serverId","vaultId"],"stateInputs":{"description":"Input properties used for looking up and filtering BackupInstancePostgresqlFlexibleServer resources.\n","properties":{"backupPolicyId":{"type":"string","description":"The ID of the Backup Policy.\n"},"location":{"type":"string","description":"The location of the source database. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the Backup Instance for the PostgreSQL Flexible Server. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"protectionState":{"type":"string","description":"The protection state of the Backup Instance PostgreSQL Flexible Server.\n"},"serverId":{"type":"string","description":"The ID of the source server. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"vaultId":{"type":"string","description":"The ID of the Backup Vault within which the PostgreSQL Flexible Server Backup Instance should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:dataprotection/backupPolicyBlobStorage:BackupPolicyBlobStorage":{"description":"Manages a Backup Policy Blob Storage.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleBackupVault = new azure.dataprotection.BackupVault(\"example\", {\n    name: \"example-backup-vault\",\n    resourceGroupName: example.name,\n    location: example.location,\n    datastoreType: \"VaultStore\",\n    redundancy: \"LocallyRedundant\",\n});\nconst exampleBackupPolicyBlobStorage = new azure.dataprotection.BackupPolicyBlobStorage(\"example\", {\n    name: \"example-backup-policy\",\n    vaultId: exampleBackupVault.id,\n    operationalDefaultRetentionDuration: \"P30D\",\n    vaultDefaultRetentionDuration: \"P7D\",\n    retentionRules: [\n        {\n            name: \"Weekly\",\n            priority: 20,\n            lifeCycle: {\n                duration: \"P90D\",\n                dataStoreType: \"VaultStore\",\n            },\n            criteria: {\n                daysOfWeeks: [\"Monday\"],\n            },\n        },\n        {\n            name: \"Monthly\",\n            priority: 10,\n            lifeCycle: {\n                duration: \"P180D\",\n                dataStoreType: \"VaultStore\",\n            },\n            criteria: {\n                daysOfMonths: [1],\n            },\n        },\n        {\n            name: \"Yearly\",\n            priority: 5,\n            lifeCycle: {\n                duration: \"P365D\",\n                dataStoreType: \"VaultStore\",\n            },\n            criteria: {\n                monthsOfYears: [\"January\"],\n                daysOfMonths: [1],\n            },\n        },\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_backup_vault = azure.dataprotection.BackupVault(\"example\",\n    name=\"example-backup-vault\",\n    resource_group_name=example.name,\n    location=example.location,\n    datastore_type=\"VaultStore\",\n    redundancy=\"LocallyRedundant\")\nexample_backup_policy_blob_storage = azure.dataprotection.BackupPolicyBlobStorage(\"example\",\n    name=\"example-backup-policy\",\n    vault_id=example_backup_vault.id,\n    operational_default_retention_duration=\"P30D\",\n    vault_default_retention_duration=\"P7D\",\n    retention_rules=[\n        {\n            \"name\": \"Weekly\",\n            \"priority\": 20,\n            \"life_cycle\": {\n                \"duration\": \"P90D\",\n                \"data_store_type\": \"VaultStore\",\n            },\n            \"criteria\": {\n                \"days_of_weeks\": [\"Monday\"],\n            },\n        },\n        {\n            \"name\": \"Monthly\",\n            \"priority\": 10,\n            \"life_cycle\": {\n                \"duration\": \"P180D\",\n                \"data_store_type\": \"VaultStore\",\n            },\n            \"criteria\": {\n                \"days_of_months\": [1],\n            },\n        },\n        {\n            \"name\": \"Yearly\",\n            \"priority\": 5,\n            \"life_cycle\": {\n                \"duration\": \"P365D\",\n                \"data_store_type\": \"VaultStore\",\n            },\n            \"criteria\": {\n                \"months_of_years\": [\"January\"],\n                \"days_of_months\": [1],\n            },\n        },\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleBackupVault = new Azure.DataProtection.BackupVault(\"example\", new()\n    {\n        Name = \"example-backup-vault\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        DatastoreType = \"VaultStore\",\n        Redundancy = \"LocallyRedundant\",\n    });\n\n    var exampleBackupPolicyBlobStorage = new Azure.DataProtection.BackupPolicyBlobStorage(\"example\", new()\n    {\n        Name = \"example-backup-policy\",\n        VaultId = exampleBackupVault.Id,\n        OperationalDefaultRetentionDuration = \"P30D\",\n        VaultDefaultRetentionDuration = \"P7D\",\n        RetentionRules = new[]\n        {\n            new Azure.DataProtection.Inputs.BackupPolicyBlobStorageRetentionRuleArgs\n            {\n                Name = \"Weekly\",\n                Priority = 20,\n                LifeCycle = new Azure.DataProtection.Inputs.BackupPolicyBlobStorageRetentionRuleLifeCycleArgs\n                {\n                    Duration = \"P90D\",\n                    DataStoreType = \"VaultStore\",\n                },\n                Criteria = new Azure.DataProtection.Inputs.BackupPolicyBlobStorageRetentionRuleCriteriaArgs\n                {\n                    DaysOfWeeks = new[]\n                    {\n                        \"Monday\",\n                    },\n                },\n            },\n            new Azure.DataProtection.Inputs.BackupPolicyBlobStorageRetentionRuleArgs\n            {\n                Name = \"Monthly\",\n                Priority = 10,\n                LifeCycle = new Azure.DataProtection.Inputs.BackupPolicyBlobStorageRetentionRuleLifeCycleArgs\n                {\n                    Duration = \"P180D\",\n                    DataStoreType = \"VaultStore\",\n                },\n                Criteria = new Azure.DataProtection.Inputs.BackupPolicyBlobStorageRetentionRuleCriteriaArgs\n                {\n                    DaysOfMonths = new[]\n                    {\n                        1,\n                    },\n                },\n            },\n            new Azure.DataProtection.Inputs.BackupPolicyBlobStorageRetentionRuleArgs\n            {\n                Name = \"Yearly\",\n                Priority = 5,\n                LifeCycle = new Azure.DataProtection.Inputs.BackupPolicyBlobStorageRetentionRuleLifeCycleArgs\n                {\n                    Duration = \"P365D\",\n                    DataStoreType = \"VaultStore\",\n                },\n                Criteria = new Azure.DataProtection.Inputs.BackupPolicyBlobStorageRetentionRuleCriteriaArgs\n                {\n                    MonthsOfYears = new[]\n                    {\n                        \"January\",\n                    },\n                    DaysOfMonths = new[]\n                    {\n                        1,\n                    },\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/dataprotection\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleBackupVault, err := dataprotection.NewBackupVault(ctx, \"example\", \u0026dataprotection.BackupVaultArgs{\n\t\t\tName:              pulumi.String(\"example-backup-vault\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tDatastoreType:     pulumi.String(\"VaultStore\"),\n\t\t\tRedundancy:        pulumi.String(\"LocallyRedundant\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = dataprotection.NewBackupPolicyBlobStorage(ctx, \"example\", \u0026dataprotection.BackupPolicyBlobStorageArgs{\n\t\t\tName:                                pulumi.String(\"example-backup-policy\"),\n\t\t\tVaultId:                             exampleBackupVault.ID(),\n\t\t\tOperationalDefaultRetentionDuration: pulumi.String(\"P30D\"),\n\t\t\tVaultDefaultRetentionDuration:       pulumi.String(\"P7D\"),\n\t\t\tRetentionRules: dataprotection.BackupPolicyBlobStorageRetentionRuleArray{\n\t\t\t\t\u0026dataprotection.BackupPolicyBlobStorageRetentionRuleArgs{\n\t\t\t\t\tName:     pulumi.String(\"Weekly\"),\n\t\t\t\t\tPriority: pulumi.Int(20),\n\t\t\t\t\tLifeCycle: \u0026dataprotection.BackupPolicyBlobStorageRetentionRuleLifeCycleArgs{\n\t\t\t\t\t\tDuration:      pulumi.String(\"P90D\"),\n\t\t\t\t\t\tDataStoreType: pulumi.String(\"VaultStore\"),\n\t\t\t\t\t},\n\t\t\t\t\tCriteria: \u0026dataprotection.BackupPolicyBlobStorageRetentionRuleCriteriaArgs{\n\t\t\t\t\t\tDaysOfWeeks: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"Monday\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026dataprotection.BackupPolicyBlobStorageRetentionRuleArgs{\n\t\t\t\t\tName:     pulumi.String(\"Monthly\"),\n\t\t\t\t\tPriority: pulumi.Int(10),\n\t\t\t\t\tLifeCycle: \u0026dataprotection.BackupPolicyBlobStorageRetentionRuleLifeCycleArgs{\n\t\t\t\t\t\tDuration:      pulumi.String(\"P180D\"),\n\t\t\t\t\t\tDataStoreType: pulumi.String(\"VaultStore\"),\n\t\t\t\t\t},\n\t\t\t\t\tCriteria: \u0026dataprotection.BackupPolicyBlobStorageRetentionRuleCriteriaArgs{\n\t\t\t\t\t\tDaysOfMonths: pulumi.IntArray{\n\t\t\t\t\t\t\tpulumi.Int(1),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026dataprotection.BackupPolicyBlobStorageRetentionRuleArgs{\n\t\t\t\t\tName:     pulumi.String(\"Yearly\"),\n\t\t\t\t\tPriority: pulumi.Int(5),\n\t\t\t\t\tLifeCycle: \u0026dataprotection.BackupPolicyBlobStorageRetentionRuleLifeCycleArgs{\n\t\t\t\t\t\tDuration:      pulumi.String(\"P365D\"),\n\t\t\t\t\t\tDataStoreType: pulumi.String(\"VaultStore\"),\n\t\t\t\t\t},\n\t\t\t\t\tCriteria: \u0026dataprotection.BackupPolicyBlobStorageRetentionRuleCriteriaArgs{\n\t\t\t\t\t\tMonthsOfYears: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"January\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tDaysOfMonths: pulumi.IntArray{\n\t\t\t\t\t\t\tpulumi.Int(1),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.dataprotection.BackupVault;\nimport com.pulumi.azure.dataprotection.BackupVaultArgs;\nimport com.pulumi.azure.dataprotection.BackupPolicyBlobStorage;\nimport com.pulumi.azure.dataprotection.BackupPolicyBlobStorageArgs;\nimport com.pulumi.azure.dataprotection.inputs.BackupPolicyBlobStorageRetentionRuleArgs;\nimport com.pulumi.azure.dataprotection.inputs.BackupPolicyBlobStorageRetentionRuleLifeCycleArgs;\nimport com.pulumi.azure.dataprotection.inputs.BackupPolicyBlobStorageRetentionRuleCriteriaArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleBackupVault = new BackupVault(\"exampleBackupVault\", BackupVaultArgs.builder()\n            .name(\"example-backup-vault\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .datastoreType(\"VaultStore\")\n            .redundancy(\"LocallyRedundant\")\n            .build());\n\n        var exampleBackupPolicyBlobStorage = new BackupPolicyBlobStorage(\"exampleBackupPolicyBlobStorage\", BackupPolicyBlobStorageArgs.builder()\n            .name(\"example-backup-policy\")\n            .vaultId(exampleBackupVault.id())\n            .operationalDefaultRetentionDuration(\"P30D\")\n            .vaultDefaultRetentionDuration(\"P7D\")\n            .retentionRules(            \n                BackupPolicyBlobStorageRetentionRuleArgs.builder()\n                    .name(\"Weekly\")\n                    .priority(20)\n                    .lifeCycle(BackupPolicyBlobStorageRetentionRuleLifeCycleArgs.builder()\n                        .duration(\"P90D\")\n                        .dataStoreType(\"VaultStore\")\n                        .build())\n                    .criteria(BackupPolicyBlobStorageRetentionRuleCriteriaArgs.builder()\n                        .daysOfWeeks(\"Monday\")\n                        .build())\n                    .build(),\n                BackupPolicyBlobStorageRetentionRuleArgs.builder()\n                    .name(\"Monthly\")\n                    .priority(10)\n                    .lifeCycle(BackupPolicyBlobStorageRetentionRuleLifeCycleArgs.builder()\n                        .duration(\"P180D\")\n                        .dataStoreType(\"VaultStore\")\n                        .build())\n                    .criteria(BackupPolicyBlobStorageRetentionRuleCriteriaArgs.builder()\n                        .daysOfMonths(1)\n                        .build())\n                    .build(),\n                BackupPolicyBlobStorageRetentionRuleArgs.builder()\n                    .name(\"Yearly\")\n                    .priority(5)\n                    .lifeCycle(BackupPolicyBlobStorageRetentionRuleLifeCycleArgs.builder()\n                        .duration(\"P365D\")\n                        .dataStoreType(\"VaultStore\")\n                        .build())\n                    .criteria(BackupPolicyBlobStorageRetentionRuleCriteriaArgs.builder()\n                        .monthsOfYears(\"January\")\n                        .daysOfMonths(1)\n                        .build())\n                    .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleBackupVault:\n    type: azure:dataprotection:BackupVault\n    name: example\n    properties:\n      name: example-backup-vault\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      datastoreType: VaultStore\n      redundancy: LocallyRedundant\n  exampleBackupPolicyBlobStorage:\n    type: azure:dataprotection:BackupPolicyBlobStorage\n    name: example\n    properties:\n      name: example-backup-policy\n      vaultId: ${exampleBackupVault.id}\n      operationalDefaultRetentionDuration: P30D\n      vaultDefaultRetentionDuration: P7D\n      retentionRules:\n        - name: Weekly\n          priority: 20\n          lifeCycle:\n            duration: P90D\n            dataStoreType: VaultStore\n          criteria:\n            daysOfWeeks:\n              - Monday\n        - name: Monthly\n          priority: 10\n          lifeCycle:\n            duration: P180D\n            dataStoreType: VaultStore\n          criteria:\n            daysOfMonths:\n              - 1\n        - name: Yearly\n          priority: 5\n          lifeCycle:\n            duration: P365D\n            dataStoreType: VaultStore\n          criteria:\n            monthsOfYears:\n              - January\n            daysOfMonths:\n              - 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.DataProtection` - 2024-04-01\n\n## Import\n\nBackup Policy Blob Storages can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:dataprotection/backupPolicyBlobStorage:BackupPolicyBlobStorage example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.DataProtection/backupVaults/vault1/backupPolicies/backupPolicy1\n```\n\n","properties":{"backupRepeatingTimeIntervals":{"type":"array","items":{"type":"string"},"description":"Specifies a list of repeating time interval. It should follow `ISO 8601` repeating time interval. Changing this forces a new Backup Policy Blob Storage to be created.\n"},"name":{"type":"string","description":"The name which should be used for this Backup Policy Blob Storage. Changing this forces a new Backup Policy Blob Storage to be created.\n"},"operationalDefaultRetentionDuration":{"type":"string","description":"The duration of operational default retention rule. It should follow `ISO 8601` duration format. Changing this forces a new Backup Policy Blob Storage to be created.\n"},"retentionRules":{"type":"array","items":{"$ref":"#/types/azure:dataprotection/BackupPolicyBlobStorageRetentionRule:BackupPolicyBlobStorageRetentionRule"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`retentionRule`\" pulumi-lang-dotnet=\"`RetentionRule`\" pulumi-lang-go=\"`retentionRule`\" pulumi-lang-python=\"`retention_rule`\" pulumi-lang-yaml=\"`retentionRule`\" pulumi-lang-java=\"`retentionRule`\"\u003e`retention_rule`\u003c/span\u003e blocks as defined below. Changing this forces a new Backup Policy Blob Storage to be created.\n\n\u003e **Note:** Setting \u003cspan pulumi-lang-nodejs=\"`retentionRule`\" pulumi-lang-dotnet=\"`RetentionRule`\" pulumi-lang-go=\"`retentionRule`\" pulumi-lang-python=\"`retention_rule`\" pulumi-lang-yaml=\"`retentionRule`\" pulumi-lang-java=\"`retentionRule`\"\u003e`retention_rule`\u003c/span\u003e also requires setting \u003cspan pulumi-lang-nodejs=\"`vaultDefaultRetentionDuration`\" pulumi-lang-dotnet=\"`VaultDefaultRetentionDuration`\" pulumi-lang-go=\"`vaultDefaultRetentionDuration`\" pulumi-lang-python=\"`vault_default_retention_duration`\" pulumi-lang-yaml=\"`vaultDefaultRetentionDuration`\" pulumi-lang-java=\"`vaultDefaultRetentionDuration`\"\u003e`vault_default_retention_duration`\u003c/span\u003e.\n"},"timeZone":{"type":"string","description":"Specifies the Time Zone which should be used by the backup schedule. Changing this forces a new Backup Policy Blob Storage to be created.\n"},"vaultDefaultRetentionDuration":{"type":"string","description":"The duration of vault default retention rule. It should follow `ISO 8601` duration format. Changing this forces a new Backup Policy Blob Storage to be created.\n\n\u003e **Note:** Setting \u003cspan pulumi-lang-nodejs=\"`vaultDefaultRetentionDuration`\" pulumi-lang-dotnet=\"`VaultDefaultRetentionDuration`\" pulumi-lang-go=\"`vaultDefaultRetentionDuration`\" pulumi-lang-python=\"`vault_default_retention_duration`\" pulumi-lang-yaml=\"`vaultDefaultRetentionDuration`\" pulumi-lang-java=\"`vaultDefaultRetentionDuration`\"\u003e`vault_default_retention_duration`\u003c/span\u003e also requires setting \u003cspan pulumi-lang-nodejs=\"`backupRepeatingTimeIntervals`\" pulumi-lang-dotnet=\"`BackupRepeatingTimeIntervals`\" pulumi-lang-go=\"`backupRepeatingTimeIntervals`\" pulumi-lang-python=\"`backup_repeating_time_intervals`\" pulumi-lang-yaml=\"`backupRepeatingTimeIntervals`\" pulumi-lang-java=\"`backupRepeatingTimeIntervals`\"\u003e`backup_repeating_time_intervals`\u003c/span\u003e. At least one of \u003cspan pulumi-lang-nodejs=\"`operationalDefaultRetentionDuration`\" pulumi-lang-dotnet=\"`OperationalDefaultRetentionDuration`\" pulumi-lang-go=\"`operationalDefaultRetentionDuration`\" pulumi-lang-python=\"`operational_default_retention_duration`\" pulumi-lang-yaml=\"`operationalDefaultRetentionDuration`\" pulumi-lang-java=\"`operationalDefaultRetentionDuration`\"\u003e`operational_default_retention_duration`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`vaultDefaultRetentionDuration`\" pulumi-lang-dotnet=\"`VaultDefaultRetentionDuration`\" pulumi-lang-go=\"`vaultDefaultRetentionDuration`\" pulumi-lang-python=\"`vault_default_retention_duration`\" pulumi-lang-yaml=\"`vaultDefaultRetentionDuration`\" pulumi-lang-java=\"`vaultDefaultRetentionDuration`\"\u003e`vault_default_retention_duration`\u003c/span\u003e must be specified.\n"},"vaultId":{"type":"string","description":"The ID of the Backup Vault within which the Backup Policy Blob Storage should exist. Changing this forces a new Backup Policy Blob Storage to be created.\n"}},"required":["name","vaultId"],"inputProperties":{"backupRepeatingTimeIntervals":{"type":"array","items":{"type":"string"},"description":"Specifies a list of repeating time interval. It should follow `ISO 8601` repeating time interval. Changing this forces a new Backup Policy Blob Storage to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Backup Policy Blob Storage. Changing this forces a new Backup Policy Blob Storage to be created.\n","willReplaceOnChanges":true},"operationalDefaultRetentionDuration":{"type":"string","description":"The duration of operational default retention rule. It should follow `ISO 8601` duration format. Changing this forces a new Backup Policy Blob Storage to be created.\n","willReplaceOnChanges":true},"retentionRules":{"type":"array","items":{"$ref":"#/types/azure:dataprotection/BackupPolicyBlobStorageRetentionRule:BackupPolicyBlobStorageRetentionRule"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`retentionRule`\" pulumi-lang-dotnet=\"`RetentionRule`\" pulumi-lang-go=\"`retentionRule`\" pulumi-lang-python=\"`retention_rule`\" pulumi-lang-yaml=\"`retentionRule`\" pulumi-lang-java=\"`retentionRule`\"\u003e`retention_rule`\u003c/span\u003e blocks as defined below. Changing this forces a new Backup Policy Blob Storage to be created.\n\n\u003e **Note:** Setting \u003cspan pulumi-lang-nodejs=\"`retentionRule`\" pulumi-lang-dotnet=\"`RetentionRule`\" pulumi-lang-go=\"`retentionRule`\" pulumi-lang-python=\"`retention_rule`\" pulumi-lang-yaml=\"`retentionRule`\" pulumi-lang-java=\"`retentionRule`\"\u003e`retention_rule`\u003c/span\u003e also requires setting \u003cspan pulumi-lang-nodejs=\"`vaultDefaultRetentionDuration`\" pulumi-lang-dotnet=\"`VaultDefaultRetentionDuration`\" pulumi-lang-go=\"`vaultDefaultRetentionDuration`\" pulumi-lang-python=\"`vault_default_retention_duration`\" pulumi-lang-yaml=\"`vaultDefaultRetentionDuration`\" pulumi-lang-java=\"`vaultDefaultRetentionDuration`\"\u003e`vault_default_retention_duration`\u003c/span\u003e.\n","willReplaceOnChanges":true},"timeZone":{"type":"string","description":"Specifies the Time Zone which should be used by the backup schedule. Changing this forces a new Backup Policy Blob Storage to be created.\n","willReplaceOnChanges":true},"vaultDefaultRetentionDuration":{"type":"string","description":"The duration of vault default retention rule. It should follow `ISO 8601` duration format. Changing this forces a new Backup Policy Blob Storage to be created.\n\n\u003e **Note:** Setting \u003cspan pulumi-lang-nodejs=\"`vaultDefaultRetentionDuration`\" pulumi-lang-dotnet=\"`VaultDefaultRetentionDuration`\" pulumi-lang-go=\"`vaultDefaultRetentionDuration`\" pulumi-lang-python=\"`vault_default_retention_duration`\" pulumi-lang-yaml=\"`vaultDefaultRetentionDuration`\" pulumi-lang-java=\"`vaultDefaultRetentionDuration`\"\u003e`vault_default_retention_duration`\u003c/span\u003e also requires setting \u003cspan pulumi-lang-nodejs=\"`backupRepeatingTimeIntervals`\" pulumi-lang-dotnet=\"`BackupRepeatingTimeIntervals`\" pulumi-lang-go=\"`backupRepeatingTimeIntervals`\" pulumi-lang-python=\"`backup_repeating_time_intervals`\" pulumi-lang-yaml=\"`backupRepeatingTimeIntervals`\" pulumi-lang-java=\"`backupRepeatingTimeIntervals`\"\u003e`backup_repeating_time_intervals`\u003c/span\u003e. At least one of \u003cspan pulumi-lang-nodejs=\"`operationalDefaultRetentionDuration`\" pulumi-lang-dotnet=\"`OperationalDefaultRetentionDuration`\" pulumi-lang-go=\"`operationalDefaultRetentionDuration`\" pulumi-lang-python=\"`operational_default_retention_duration`\" pulumi-lang-yaml=\"`operationalDefaultRetentionDuration`\" pulumi-lang-java=\"`operationalDefaultRetentionDuration`\"\u003e`operational_default_retention_duration`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`vaultDefaultRetentionDuration`\" pulumi-lang-dotnet=\"`VaultDefaultRetentionDuration`\" pulumi-lang-go=\"`vaultDefaultRetentionDuration`\" pulumi-lang-python=\"`vault_default_retention_duration`\" pulumi-lang-yaml=\"`vaultDefaultRetentionDuration`\" pulumi-lang-java=\"`vaultDefaultRetentionDuration`\"\u003e`vault_default_retention_duration`\u003c/span\u003e must be specified.\n","willReplaceOnChanges":true},"vaultId":{"type":"string","description":"The ID of the Backup Vault within which the Backup Policy Blob Storage should exist. Changing this forces a new Backup Policy Blob Storage to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["vaultId"],"stateInputs":{"description":"Input properties used for looking up and filtering BackupPolicyBlobStorage resources.\n","properties":{"backupRepeatingTimeIntervals":{"type":"array","items":{"type":"string"},"description":"Specifies a list of repeating time interval. It should follow `ISO 8601` repeating time interval. Changing this forces a new Backup Policy Blob Storage to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Backup Policy Blob Storage. Changing this forces a new Backup Policy Blob Storage to be created.\n","willReplaceOnChanges":true},"operationalDefaultRetentionDuration":{"type":"string","description":"The duration of operational default retention rule. It should follow `ISO 8601` duration format. Changing this forces a new Backup Policy Blob Storage to be created.\n","willReplaceOnChanges":true},"retentionRules":{"type":"array","items":{"$ref":"#/types/azure:dataprotection/BackupPolicyBlobStorageRetentionRule:BackupPolicyBlobStorageRetentionRule"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`retentionRule`\" pulumi-lang-dotnet=\"`RetentionRule`\" pulumi-lang-go=\"`retentionRule`\" pulumi-lang-python=\"`retention_rule`\" pulumi-lang-yaml=\"`retentionRule`\" pulumi-lang-java=\"`retentionRule`\"\u003e`retention_rule`\u003c/span\u003e blocks as defined below. Changing this forces a new Backup Policy Blob Storage to be created.\n\n\u003e **Note:** Setting \u003cspan pulumi-lang-nodejs=\"`retentionRule`\" pulumi-lang-dotnet=\"`RetentionRule`\" pulumi-lang-go=\"`retentionRule`\" pulumi-lang-python=\"`retention_rule`\" pulumi-lang-yaml=\"`retentionRule`\" pulumi-lang-java=\"`retentionRule`\"\u003e`retention_rule`\u003c/span\u003e also requires setting \u003cspan pulumi-lang-nodejs=\"`vaultDefaultRetentionDuration`\" pulumi-lang-dotnet=\"`VaultDefaultRetentionDuration`\" pulumi-lang-go=\"`vaultDefaultRetentionDuration`\" pulumi-lang-python=\"`vault_default_retention_duration`\" pulumi-lang-yaml=\"`vaultDefaultRetentionDuration`\" pulumi-lang-java=\"`vaultDefaultRetentionDuration`\"\u003e`vault_default_retention_duration`\u003c/span\u003e.\n","willReplaceOnChanges":true},"timeZone":{"type":"string","description":"Specifies the Time Zone which should be used by the backup schedule. Changing this forces a new Backup Policy Blob Storage to be created.\n","willReplaceOnChanges":true},"vaultDefaultRetentionDuration":{"type":"string","description":"The duration of vault default retention rule. It should follow `ISO 8601` duration format. Changing this forces a new Backup Policy Blob Storage to be created.\n\n\u003e **Note:** Setting \u003cspan pulumi-lang-nodejs=\"`vaultDefaultRetentionDuration`\" pulumi-lang-dotnet=\"`VaultDefaultRetentionDuration`\" pulumi-lang-go=\"`vaultDefaultRetentionDuration`\" pulumi-lang-python=\"`vault_default_retention_duration`\" pulumi-lang-yaml=\"`vaultDefaultRetentionDuration`\" pulumi-lang-java=\"`vaultDefaultRetentionDuration`\"\u003e`vault_default_retention_duration`\u003c/span\u003e also requires setting \u003cspan pulumi-lang-nodejs=\"`backupRepeatingTimeIntervals`\" pulumi-lang-dotnet=\"`BackupRepeatingTimeIntervals`\" pulumi-lang-go=\"`backupRepeatingTimeIntervals`\" pulumi-lang-python=\"`backup_repeating_time_intervals`\" pulumi-lang-yaml=\"`backupRepeatingTimeIntervals`\" pulumi-lang-java=\"`backupRepeatingTimeIntervals`\"\u003e`backup_repeating_time_intervals`\u003c/span\u003e. At least one of \u003cspan pulumi-lang-nodejs=\"`operationalDefaultRetentionDuration`\" pulumi-lang-dotnet=\"`OperationalDefaultRetentionDuration`\" pulumi-lang-go=\"`operationalDefaultRetentionDuration`\" pulumi-lang-python=\"`operational_default_retention_duration`\" pulumi-lang-yaml=\"`operationalDefaultRetentionDuration`\" pulumi-lang-java=\"`operationalDefaultRetentionDuration`\"\u003e`operational_default_retention_duration`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`vaultDefaultRetentionDuration`\" pulumi-lang-dotnet=\"`VaultDefaultRetentionDuration`\" pulumi-lang-go=\"`vaultDefaultRetentionDuration`\" pulumi-lang-python=\"`vault_default_retention_duration`\" pulumi-lang-yaml=\"`vaultDefaultRetentionDuration`\" pulumi-lang-java=\"`vaultDefaultRetentionDuration`\"\u003e`vault_default_retention_duration`\u003c/span\u003e must be specified.\n","willReplaceOnChanges":true},"vaultId":{"type":"string","description":"The ID of the Backup Vault within which the Backup Policy Blob Storage should exist. Changing this forces a new Backup Policy Blob Storage to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:dataprotection/backupPolicyDisk:BackupPolicyDisk":{"description":"Manages a Backup Policy Disk.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleBackupVault = new azure.dataprotection.BackupVault(\"example\", {\n    name: \"example-backup-vault\",\n    resourceGroupName: example.name,\n    location: example.location,\n    datastoreType: \"VaultStore\",\n    redundancy: \"LocallyRedundant\",\n});\nconst exampleBackupPolicyDisk = new azure.dataprotection.BackupPolicyDisk(\"example\", {\n    name: \"example-backup-policy\",\n    vaultId: exampleBackupVault.id,\n    backupRepeatingTimeIntervals: [\"R/2021-05-19T06:33:16+00:00/PT4H\"],\n    defaultRetentionDuration: \"P7D\",\n    timeZone: \"W. Europe Standard Time\",\n    retentionRules: [\n        {\n            name: \"Daily\",\n            duration: \"P7D\",\n            priority: 25,\n            criteria: {\n                absoluteCriteria: \"FirstOfDay\",\n            },\n        },\n        {\n            name: \"Weekly\",\n            duration: \"P7D\",\n            priority: 20,\n            criteria: {\n                absoluteCriteria: \"FirstOfWeek\",\n            },\n        },\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_backup_vault = azure.dataprotection.BackupVault(\"example\",\n    name=\"example-backup-vault\",\n    resource_group_name=example.name,\n    location=example.location,\n    datastore_type=\"VaultStore\",\n    redundancy=\"LocallyRedundant\")\nexample_backup_policy_disk = azure.dataprotection.BackupPolicyDisk(\"example\",\n    name=\"example-backup-policy\",\n    vault_id=example_backup_vault.id,\n    backup_repeating_time_intervals=[\"R/2021-05-19T06:33:16+00:00/PT4H\"],\n    default_retention_duration=\"P7D\",\n    time_zone=\"W. Europe Standard Time\",\n    retention_rules=[\n        {\n            \"name\": \"Daily\",\n            \"duration\": \"P7D\",\n            \"priority\": 25,\n            \"criteria\": {\n                \"absolute_criteria\": \"FirstOfDay\",\n            },\n        },\n        {\n            \"name\": \"Weekly\",\n            \"duration\": \"P7D\",\n            \"priority\": 20,\n            \"criteria\": {\n                \"absolute_criteria\": \"FirstOfWeek\",\n            },\n        },\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleBackupVault = new Azure.DataProtection.BackupVault(\"example\", new()\n    {\n        Name = \"example-backup-vault\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        DatastoreType = \"VaultStore\",\n        Redundancy = \"LocallyRedundant\",\n    });\n\n    var exampleBackupPolicyDisk = new Azure.DataProtection.BackupPolicyDisk(\"example\", new()\n    {\n        Name = \"example-backup-policy\",\n        VaultId = exampleBackupVault.Id,\n        BackupRepeatingTimeIntervals = new[]\n        {\n            \"R/2021-05-19T06:33:16+00:00/PT4H\",\n        },\n        DefaultRetentionDuration = \"P7D\",\n        TimeZone = \"W. Europe Standard Time\",\n        RetentionRules = new[]\n        {\n            new Azure.DataProtection.Inputs.BackupPolicyDiskRetentionRuleArgs\n            {\n                Name = \"Daily\",\n                Duration = \"P7D\",\n                Priority = 25,\n                Criteria = new Azure.DataProtection.Inputs.BackupPolicyDiskRetentionRuleCriteriaArgs\n                {\n                    AbsoluteCriteria = \"FirstOfDay\",\n                },\n            },\n            new Azure.DataProtection.Inputs.BackupPolicyDiskRetentionRuleArgs\n            {\n                Name = \"Weekly\",\n                Duration = \"P7D\",\n                Priority = 20,\n                Criteria = new Azure.DataProtection.Inputs.BackupPolicyDiskRetentionRuleCriteriaArgs\n                {\n                    AbsoluteCriteria = \"FirstOfWeek\",\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/dataprotection\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleBackupVault, err := dataprotection.NewBackupVault(ctx, \"example\", \u0026dataprotection.BackupVaultArgs{\n\t\t\tName:              pulumi.String(\"example-backup-vault\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tDatastoreType:     pulumi.String(\"VaultStore\"),\n\t\t\tRedundancy:        pulumi.String(\"LocallyRedundant\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = dataprotection.NewBackupPolicyDisk(ctx, \"example\", \u0026dataprotection.BackupPolicyDiskArgs{\n\t\t\tName:    pulumi.String(\"example-backup-policy\"),\n\t\t\tVaultId: exampleBackupVault.ID(),\n\t\t\tBackupRepeatingTimeIntervals: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"R/2021-05-19T06:33:16+00:00/PT4H\"),\n\t\t\t},\n\t\t\tDefaultRetentionDuration: pulumi.String(\"P7D\"),\n\t\t\tTimeZone:                 pulumi.String(\"W. Europe Standard Time\"),\n\t\t\tRetentionRules: dataprotection.BackupPolicyDiskRetentionRuleArray{\n\t\t\t\t\u0026dataprotection.BackupPolicyDiskRetentionRuleArgs{\n\t\t\t\t\tName:     pulumi.String(\"Daily\"),\n\t\t\t\t\tDuration: pulumi.String(\"P7D\"),\n\t\t\t\t\tPriority: pulumi.Int(25),\n\t\t\t\t\tCriteria: \u0026dataprotection.BackupPolicyDiskRetentionRuleCriteriaArgs{\n\t\t\t\t\t\tAbsoluteCriteria: pulumi.String(\"FirstOfDay\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026dataprotection.BackupPolicyDiskRetentionRuleArgs{\n\t\t\t\t\tName:     pulumi.String(\"Weekly\"),\n\t\t\t\t\tDuration: pulumi.String(\"P7D\"),\n\t\t\t\t\tPriority: pulumi.Int(20),\n\t\t\t\t\tCriteria: \u0026dataprotection.BackupPolicyDiskRetentionRuleCriteriaArgs{\n\t\t\t\t\t\tAbsoluteCriteria: pulumi.String(\"FirstOfWeek\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.dataprotection.BackupVault;\nimport com.pulumi.azure.dataprotection.BackupVaultArgs;\nimport com.pulumi.azure.dataprotection.BackupPolicyDisk;\nimport com.pulumi.azure.dataprotection.BackupPolicyDiskArgs;\nimport com.pulumi.azure.dataprotection.inputs.BackupPolicyDiskRetentionRuleArgs;\nimport com.pulumi.azure.dataprotection.inputs.BackupPolicyDiskRetentionRuleCriteriaArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleBackupVault = new BackupVault(\"exampleBackupVault\", BackupVaultArgs.builder()\n            .name(\"example-backup-vault\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .datastoreType(\"VaultStore\")\n            .redundancy(\"LocallyRedundant\")\n            .build());\n\n        var exampleBackupPolicyDisk = new BackupPolicyDisk(\"exampleBackupPolicyDisk\", BackupPolicyDiskArgs.builder()\n            .name(\"example-backup-policy\")\n            .vaultId(exampleBackupVault.id())\n            .backupRepeatingTimeIntervals(\"R/2021-05-19T06:33:16+00:00/PT4H\")\n            .defaultRetentionDuration(\"P7D\")\n            .timeZone(\"W. Europe Standard Time\")\n            .retentionRules(            \n                BackupPolicyDiskRetentionRuleArgs.builder()\n                    .name(\"Daily\")\n                    .duration(\"P7D\")\n                    .priority(25)\n                    .criteria(BackupPolicyDiskRetentionRuleCriteriaArgs.builder()\n                        .absoluteCriteria(\"FirstOfDay\")\n                        .build())\n                    .build(),\n                BackupPolicyDiskRetentionRuleArgs.builder()\n                    .name(\"Weekly\")\n                    .duration(\"P7D\")\n                    .priority(20)\n                    .criteria(BackupPolicyDiskRetentionRuleCriteriaArgs.builder()\n                        .absoluteCriteria(\"FirstOfWeek\")\n                        .build())\n                    .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleBackupVault:\n    type: azure:dataprotection:BackupVault\n    name: example\n    properties:\n      name: example-backup-vault\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      datastoreType: VaultStore\n      redundancy: LocallyRedundant\n  exampleBackupPolicyDisk:\n    type: azure:dataprotection:BackupPolicyDisk\n    name: example\n    properties:\n      name: example-backup-policy\n      vaultId: ${exampleBackupVault.id}\n      backupRepeatingTimeIntervals:\n        - R/2021-05-19T06:33:16+00:00/PT4H\n      defaultRetentionDuration: P7D\n      timeZone: W. Europe Standard Time\n      retentionRules:\n        - name: Daily\n          duration: P7D\n          priority: 25\n          criteria:\n            absoluteCriteria: FirstOfDay\n        - name: Weekly\n          duration: P7D\n          priority: 20\n          criteria:\n            absoluteCriteria: FirstOfWeek\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.DataProtection` - 2024-04-01\n\n## Import\n\nBackup Policy Disks can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:dataprotection/backupPolicyDisk:BackupPolicyDisk example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.DataProtection/backupVaults/vault1/backupPolicies/backupPolicy1\n```\n\n","properties":{"backupRepeatingTimeIntervals":{"type":"array","items":{"type":"string"},"description":"Specifies a list of repeating time interval. It should follow `ISO 8601` repeating time interval . Changing this forces a new Backup Policy Disk to be created.\n"},"defaultRetentionDuration":{"type":"string","description":"The duration of default retention rule. It should follow `ISO 8601` duration format. Changing this forces a new Backup Policy Disk to be created.\n"},"name":{"type":"string","description":"The name which should be used for this Backup Policy Disk. Changing this forces a new Backup Policy Disk to be created.\n"},"retentionRules":{"type":"array","items":{"$ref":"#/types/azure:dataprotection/BackupPolicyDiskRetentionRule:BackupPolicyDiskRetentionRule"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`retentionRule`\" pulumi-lang-dotnet=\"`RetentionRule`\" pulumi-lang-go=\"`retentionRule`\" pulumi-lang-python=\"`retention_rule`\" pulumi-lang-yaml=\"`retentionRule`\" pulumi-lang-java=\"`retentionRule`\"\u003e`retention_rule`\u003c/span\u003e blocks as defined below. Changing this forces a new Backup Policy Disk to be created.\n"},"timeZone":{"type":"string","description":"Specifies the Time Zone which should be used by the backup schedule. Changing this forces a new Backup Policy Disk to be created.\n"},"vaultId":{"type":"string","description":"The ID of the Backup Vault within which the Backup Policy Disk should exist. Changing this forces a new Backup Policy Disk to be created.\n"}},"required":["backupRepeatingTimeIntervals","defaultRetentionDuration","name","vaultId"],"inputProperties":{"backupRepeatingTimeIntervals":{"type":"array","items":{"type":"string"},"description":"Specifies a list of repeating time interval. It should follow `ISO 8601` repeating time interval . Changing this forces a new Backup Policy Disk to be created.\n","willReplaceOnChanges":true},"defaultRetentionDuration":{"type":"string","description":"The duration of default retention rule. It should follow `ISO 8601` duration format. Changing this forces a new Backup Policy Disk to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Backup Policy Disk. Changing this forces a new Backup Policy Disk to be created.\n","willReplaceOnChanges":true},"retentionRules":{"type":"array","items":{"$ref":"#/types/azure:dataprotection/BackupPolicyDiskRetentionRule:BackupPolicyDiskRetentionRule"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`retentionRule`\" pulumi-lang-dotnet=\"`RetentionRule`\" pulumi-lang-go=\"`retentionRule`\" pulumi-lang-python=\"`retention_rule`\" pulumi-lang-yaml=\"`retentionRule`\" pulumi-lang-java=\"`retentionRule`\"\u003e`retention_rule`\u003c/span\u003e blocks as defined below. Changing this forces a new Backup Policy Disk to be created.\n","willReplaceOnChanges":true},"timeZone":{"type":"string","description":"Specifies the Time Zone which should be used by the backup schedule. Changing this forces a new Backup Policy Disk to be created.\n","willReplaceOnChanges":true},"vaultId":{"type":"string","description":"The ID of the Backup Vault within which the Backup Policy Disk should exist. Changing this forces a new Backup Policy Disk to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["backupRepeatingTimeIntervals","defaultRetentionDuration","vaultId"],"stateInputs":{"description":"Input properties used for looking up and filtering BackupPolicyDisk resources.\n","properties":{"backupRepeatingTimeIntervals":{"type":"array","items":{"type":"string"},"description":"Specifies a list of repeating time interval. It should follow `ISO 8601` repeating time interval . Changing this forces a new Backup Policy Disk to be created.\n","willReplaceOnChanges":true},"defaultRetentionDuration":{"type":"string","description":"The duration of default retention rule. It should follow `ISO 8601` duration format. Changing this forces a new Backup Policy Disk to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Backup Policy Disk. Changing this forces a new Backup Policy Disk to be created.\n","willReplaceOnChanges":true},"retentionRules":{"type":"array","items":{"$ref":"#/types/azure:dataprotection/BackupPolicyDiskRetentionRule:BackupPolicyDiskRetentionRule"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`retentionRule`\" pulumi-lang-dotnet=\"`RetentionRule`\" pulumi-lang-go=\"`retentionRule`\" pulumi-lang-python=\"`retention_rule`\" pulumi-lang-yaml=\"`retentionRule`\" pulumi-lang-java=\"`retentionRule`\"\u003e`retention_rule`\u003c/span\u003e blocks as defined below. Changing this forces a new Backup Policy Disk to be created.\n","willReplaceOnChanges":true},"timeZone":{"type":"string","description":"Specifies the Time Zone which should be used by the backup schedule. Changing this forces a new Backup Policy Disk to be created.\n","willReplaceOnChanges":true},"vaultId":{"type":"string","description":"The ID of the Backup Vault within which the Backup Policy Disk should exist. Changing this forces a new Backup Policy Disk to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:dataprotection/backupPolicyKubernetesCluster:BackupPolicyKubernetesCluster":{"description":"Manages a Backup Policy to back up Kubernetes Cluster.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleBackupVault = new azure.dataprotection.BackupVault(\"example\", {\n    name: \"example-backup-vault\",\n    resourceGroupName: example.name,\n    location: example.location,\n    datastoreType: \"VaultStore\",\n    redundancy: \"LocallyRedundant\",\n});\nconst exampleBackupPolicyKubernetesCluster = new azure.dataprotection.BackupPolicyKubernetesCluster(\"example\", {\n    name: \"example-backup-policy\",\n    resourceGroupName: example.name,\n    vaultName: exampleBackupVault.name,\n    backupRepeatingTimeIntervals: [\"R/2021-05-23T02:30:00+00:00/P1W\"],\n    timeZone: \"India Standard Time\",\n    defaultRetentionDuration: \"P4M\",\n    retentionRules: [{\n        name: \"Daily\",\n        priority: 25,\n        lifeCycles: [{\n            duration: \"P84D\",\n            dataStoreType: \"OperationalStore\",\n        }],\n        criteria: {\n            absoluteCriteria: \"FirstOfDay\",\n        },\n    }],\n    defaultRetentionRule: {\n        lifeCycles: [{\n            duration: \"P7D\",\n            dataStoreType: \"OperationalStore\",\n        }],\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_backup_vault = azure.dataprotection.BackupVault(\"example\",\n    name=\"example-backup-vault\",\n    resource_group_name=example.name,\n    location=example.location,\n    datastore_type=\"VaultStore\",\n    redundancy=\"LocallyRedundant\")\nexample_backup_policy_kubernetes_cluster = azure.dataprotection.BackupPolicyKubernetesCluster(\"example\",\n    name=\"example-backup-policy\",\n    resource_group_name=example.name,\n    vault_name=example_backup_vault.name,\n    backup_repeating_time_intervals=[\"R/2021-05-23T02:30:00+00:00/P1W\"],\n    time_zone=\"India Standard Time\",\n    default_retention_duration=\"P4M\",\n    retention_rules=[{\n        \"name\": \"Daily\",\n        \"priority\": 25,\n        \"life_cycles\": [{\n            \"duration\": \"P84D\",\n            \"data_store_type\": \"OperationalStore\",\n        }],\n        \"criteria\": {\n            \"absolute_criteria\": \"FirstOfDay\",\n        },\n    }],\n    default_retention_rule={\n        \"life_cycles\": [{\n            \"duration\": \"P7D\",\n            \"data_store_type\": \"OperationalStore\",\n        }],\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleBackupVault = new Azure.DataProtection.BackupVault(\"example\", new()\n    {\n        Name = \"example-backup-vault\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        DatastoreType = \"VaultStore\",\n        Redundancy = \"LocallyRedundant\",\n    });\n\n    var exampleBackupPolicyKubernetesCluster = new Azure.DataProtection.BackupPolicyKubernetesCluster(\"example\", new()\n    {\n        Name = \"example-backup-policy\",\n        ResourceGroupName = example.Name,\n        VaultName = exampleBackupVault.Name,\n        BackupRepeatingTimeIntervals = new[]\n        {\n            \"R/2021-05-23T02:30:00+00:00/P1W\",\n        },\n        TimeZone = \"India Standard Time\",\n        DefaultRetentionDuration = \"P4M\",\n        RetentionRules = new[]\n        {\n            new Azure.DataProtection.Inputs.BackupPolicyKubernetesClusterRetentionRuleArgs\n            {\n                Name = \"Daily\",\n                Priority = 25,\n                LifeCycles = new[]\n                {\n                    new Azure.DataProtection.Inputs.BackupPolicyKubernetesClusterRetentionRuleLifeCycleArgs\n                    {\n                        Duration = \"P84D\",\n                        DataStoreType = \"OperationalStore\",\n                    },\n                },\n                Criteria = new Azure.DataProtection.Inputs.BackupPolicyKubernetesClusterRetentionRuleCriteriaArgs\n                {\n                    AbsoluteCriteria = \"FirstOfDay\",\n                },\n            },\n        },\n        DefaultRetentionRule = new Azure.DataProtection.Inputs.BackupPolicyKubernetesClusterDefaultRetentionRuleArgs\n        {\n            LifeCycles = new[]\n            {\n                new Azure.DataProtection.Inputs.BackupPolicyKubernetesClusterDefaultRetentionRuleLifeCycleArgs\n                {\n                    Duration = \"P7D\",\n                    DataStoreType = \"OperationalStore\",\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/dataprotection\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleBackupVault, err := dataprotection.NewBackupVault(ctx, \"example\", \u0026dataprotection.BackupVaultArgs{\n\t\t\tName:              pulumi.String(\"example-backup-vault\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tDatastoreType:     pulumi.String(\"VaultStore\"),\n\t\t\tRedundancy:        pulumi.String(\"LocallyRedundant\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = dataprotection.NewBackupPolicyKubernetesCluster(ctx, \"example\", \u0026dataprotection.BackupPolicyKubernetesClusterArgs{\n\t\t\tName:              pulumi.String(\"example-backup-policy\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tVaultName:         exampleBackupVault.Name,\n\t\t\tBackupRepeatingTimeIntervals: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"R/2021-05-23T02:30:00+00:00/P1W\"),\n\t\t\t},\n\t\t\tTimeZone:                 pulumi.String(\"India Standard Time\"),\n\t\t\tDefaultRetentionDuration: \"P4M\",\n\t\t\tRetentionRules: dataprotection.BackupPolicyKubernetesClusterRetentionRuleArray{\n\t\t\t\t\u0026dataprotection.BackupPolicyKubernetesClusterRetentionRuleArgs{\n\t\t\t\t\tName:     pulumi.String(\"Daily\"),\n\t\t\t\t\tPriority: pulumi.Int(25),\n\t\t\t\t\tLifeCycles: dataprotection.BackupPolicyKubernetesClusterRetentionRuleLifeCycleArray{\n\t\t\t\t\t\t\u0026dataprotection.BackupPolicyKubernetesClusterRetentionRuleLifeCycleArgs{\n\t\t\t\t\t\t\tDuration:      pulumi.String(\"P84D\"),\n\t\t\t\t\t\t\tDataStoreType: pulumi.String(\"OperationalStore\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tCriteria: \u0026dataprotection.BackupPolicyKubernetesClusterRetentionRuleCriteriaArgs{\n\t\t\t\t\t\tAbsoluteCriteria: pulumi.String(\"FirstOfDay\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tDefaultRetentionRule: \u0026dataprotection.BackupPolicyKubernetesClusterDefaultRetentionRuleArgs{\n\t\t\t\tLifeCycles: dataprotection.BackupPolicyKubernetesClusterDefaultRetentionRuleLifeCycleArray{\n\t\t\t\t\t\u0026dataprotection.BackupPolicyKubernetesClusterDefaultRetentionRuleLifeCycleArgs{\n\t\t\t\t\t\tDuration:      pulumi.String(\"P7D\"),\n\t\t\t\t\t\tDataStoreType: pulumi.String(\"OperationalStore\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.dataprotection.BackupVault;\nimport com.pulumi.azure.dataprotection.BackupVaultArgs;\nimport com.pulumi.azure.dataprotection.BackupPolicyKubernetesCluster;\nimport com.pulumi.azure.dataprotection.BackupPolicyKubernetesClusterArgs;\nimport com.pulumi.azure.dataprotection.inputs.BackupPolicyKubernetesClusterRetentionRuleArgs;\nimport com.pulumi.azure.dataprotection.inputs.BackupPolicyKubernetesClusterRetentionRuleCriteriaArgs;\nimport com.pulumi.azure.dataprotection.inputs.BackupPolicyKubernetesClusterDefaultRetentionRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleBackupVault = new BackupVault(\"exampleBackupVault\", BackupVaultArgs.builder()\n            .name(\"example-backup-vault\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .datastoreType(\"VaultStore\")\n            .redundancy(\"LocallyRedundant\")\n            .build());\n\n        var exampleBackupPolicyKubernetesCluster = new BackupPolicyKubernetesCluster(\"exampleBackupPolicyKubernetesCluster\", BackupPolicyKubernetesClusterArgs.builder()\n            .name(\"example-backup-policy\")\n            .resourceGroupName(example.name())\n            .vaultName(exampleBackupVault.name())\n            .backupRepeatingTimeIntervals(\"R/2021-05-23T02:30:00+00:00/P1W\")\n            .timeZone(\"India Standard Time\")\n            .defaultRetentionDuration(\"P4M\")\n            .retentionRules(BackupPolicyKubernetesClusterRetentionRuleArgs.builder()\n                .name(\"Daily\")\n                .priority(25)\n                .lifeCycles(BackupPolicyKubernetesClusterRetentionRuleLifeCycleArgs.builder()\n                    .duration(\"P84D\")\n                    .dataStoreType(\"OperationalStore\")\n                    .build())\n                .criteria(BackupPolicyKubernetesClusterRetentionRuleCriteriaArgs.builder()\n                    .absoluteCriteria(\"FirstOfDay\")\n                    .build())\n                .build())\n            .defaultRetentionRule(BackupPolicyKubernetesClusterDefaultRetentionRuleArgs.builder()\n                .lifeCycles(BackupPolicyKubernetesClusterDefaultRetentionRuleLifeCycleArgs.builder()\n                    .duration(\"P7D\")\n                    .dataStoreType(\"OperationalStore\")\n                    .build())\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleBackupVault:\n    type: azure:dataprotection:BackupVault\n    name: example\n    properties:\n      name: example-backup-vault\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      datastoreType: VaultStore\n      redundancy: LocallyRedundant\n  exampleBackupPolicyKubernetesCluster:\n    type: azure:dataprotection:BackupPolicyKubernetesCluster\n    name: example\n    properties:\n      name: example-backup-policy\n      resourceGroupName: ${example.name}\n      vaultName: ${exampleBackupVault.name}\n      backupRepeatingTimeIntervals:\n        - R/2021-05-23T02:30:00+00:00/P1W\n      timeZone: India Standard Time\n      defaultRetentionDuration: P4M\n      retentionRules:\n        - name: Daily\n          priority: 25\n          lifeCycles:\n            - duration: P84D\n              dataStoreType: OperationalStore\n          criteria:\n            absoluteCriteria: FirstOfDay\n      defaultRetentionRule:\n        lifeCycles:\n          - duration: P7D\n            dataStoreType: OperationalStore\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.DataProtection` - 2024-04-01\n\n## Import\n\nBackup Policy Kubernetes Cluster's can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:dataprotection/backupPolicyKubernetesCluster:BackupPolicyKubernetesCluster example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.DataProtection/backupVaults/vault1/backupPolicies/backupPolicy1\n```\n\n","properties":{"backupRepeatingTimeIntervals":{"type":"array","items":{"type":"string"},"description":"Specifies a list of repeating time interval. It supports weekly back. It should follow `ISO 8601` repeating time interval. Changing this forces a new resource to be created.\n"},"defaultRetentionRule":{"$ref":"#/types/azure:dataprotection/BackupPolicyKubernetesClusterDefaultRetentionRule:BackupPolicyKubernetesClusterDefaultRetentionRule","description":"A \u003cspan pulumi-lang-nodejs=\"`defaultRetentionRule`\" pulumi-lang-dotnet=\"`DefaultRetentionRule`\" pulumi-lang-go=\"`defaultRetentionRule`\" pulumi-lang-python=\"`default_retention_rule`\" pulumi-lang-yaml=\"`defaultRetentionRule`\" pulumi-lang-java=\"`defaultRetentionRule`\"\u003e`default_retention_rule`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"The name which should be used for the Backup Policy Kubernetes Cluster. Changing this forces a new resource to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Backup Policy Kubernetes Cluster should exist. Changing this forces a new resource to be created.\n"},"retentionRules":{"type":"array","items":{"$ref":"#/types/azure:dataprotection/BackupPolicyKubernetesClusterRetentionRule:BackupPolicyKubernetesClusterRetentionRule"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`retentionRule`\" pulumi-lang-dotnet=\"`RetentionRule`\" pulumi-lang-go=\"`retentionRule`\" pulumi-lang-python=\"`retention_rule`\" pulumi-lang-yaml=\"`retentionRule`\" pulumi-lang-java=\"`retentionRule`\"\u003e`retention_rule`\u003c/span\u003e blocks as defined below. Changing this forces a new resource to be created.\n"},"timeZone":{"type":"string","description":"Specifies the Time Zone which should be used by the backup schedule. Changing this forces a new resource to be created.\n"},"vaultName":{"type":"string","description":"The name of the Backup Vault where the Backup Policy Kubernetes Cluster should exist. Changing this forces a new resource to be created.\n"}},"required":["backupRepeatingTimeIntervals","defaultRetentionRule","name","resourceGroupName","vaultName"],"inputProperties":{"backupRepeatingTimeIntervals":{"type":"array","items":{"type":"string"},"description":"Specifies a list of repeating time interval. It supports weekly back. It should follow `ISO 8601` repeating time interval. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"defaultRetentionRule":{"$ref":"#/types/azure:dataprotection/BackupPolicyKubernetesClusterDefaultRetentionRule:BackupPolicyKubernetesClusterDefaultRetentionRule","description":"A \u003cspan pulumi-lang-nodejs=\"`defaultRetentionRule`\" pulumi-lang-dotnet=\"`DefaultRetentionRule`\" pulumi-lang-go=\"`defaultRetentionRule`\" pulumi-lang-python=\"`default_retention_rule`\" pulumi-lang-yaml=\"`defaultRetentionRule`\" pulumi-lang-java=\"`defaultRetentionRule`\"\u003e`default_retention_rule`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for the Backup Policy Kubernetes Cluster. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Backup Policy Kubernetes Cluster should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"retentionRules":{"type":"array","items":{"$ref":"#/types/azure:dataprotection/BackupPolicyKubernetesClusterRetentionRule:BackupPolicyKubernetesClusterRetentionRule"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`retentionRule`\" pulumi-lang-dotnet=\"`RetentionRule`\" pulumi-lang-go=\"`retentionRule`\" pulumi-lang-python=\"`retention_rule`\" pulumi-lang-yaml=\"`retentionRule`\" pulumi-lang-java=\"`retentionRule`\"\u003e`retention_rule`\u003c/span\u003e blocks as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"timeZone":{"type":"string","description":"Specifies the Time Zone which should be used by the backup schedule. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"vaultName":{"type":"string","description":"The name of the Backup Vault where the Backup Policy Kubernetes Cluster should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["backupRepeatingTimeIntervals","defaultRetentionRule","resourceGroupName","vaultName"],"stateInputs":{"description":"Input properties used for looking up and filtering BackupPolicyKubernetesCluster resources.\n","properties":{"backupRepeatingTimeIntervals":{"type":"array","items":{"type":"string"},"description":"Specifies a list of repeating time interval. It supports weekly back. It should follow `ISO 8601` repeating time interval. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"defaultRetentionRule":{"$ref":"#/types/azure:dataprotection/BackupPolicyKubernetesClusterDefaultRetentionRule:BackupPolicyKubernetesClusterDefaultRetentionRule","description":"A \u003cspan pulumi-lang-nodejs=\"`defaultRetentionRule`\" pulumi-lang-dotnet=\"`DefaultRetentionRule`\" pulumi-lang-go=\"`defaultRetentionRule`\" pulumi-lang-python=\"`default_retention_rule`\" pulumi-lang-yaml=\"`defaultRetentionRule`\" pulumi-lang-java=\"`defaultRetentionRule`\"\u003e`default_retention_rule`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for the Backup Policy Kubernetes Cluster. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Backup Policy Kubernetes Cluster should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"retentionRules":{"type":"array","items":{"$ref":"#/types/azure:dataprotection/BackupPolicyKubernetesClusterRetentionRule:BackupPolicyKubernetesClusterRetentionRule"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`retentionRule`\" pulumi-lang-dotnet=\"`RetentionRule`\" pulumi-lang-go=\"`retentionRule`\" pulumi-lang-python=\"`retention_rule`\" pulumi-lang-yaml=\"`retentionRule`\" pulumi-lang-java=\"`retentionRule`\"\u003e`retention_rule`\u003c/span\u003e blocks as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"timeZone":{"type":"string","description":"Specifies the Time Zone which should be used by the backup schedule. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"vaultName":{"type":"string","description":"The name of the Backup Vault where the Backup Policy Kubernetes Cluster should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:dataprotection/backupPolicyMysqlFlexibleServer:BackupPolicyMysqlFlexibleServer":{"description":"Manages a Backup Policy to back up MySQL Flexible Server.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleBackupVault = new azure.dataprotection.BackupVault(\"example\", {\n    name: \"example-backup-vault\",\n    resourceGroupName: example.name,\n    location: example.location,\n    datastoreType: \"VaultStore\",\n    redundancy: \"LocallyRedundant\",\n    identity: {\n        type: \"SystemAssigned\",\n    },\n});\nconst exampleBackupPolicyMysqlFlexibleServer = new azure.dataprotection.BackupPolicyMysqlFlexibleServer(\"example\", {\n    name: \"example-backup-policy\",\n    vaultId: exampleBackupVault.id,\n    backupRepeatingTimeIntervals: [\"R/2021-05-23T02:30:00+00:00/P1W\"],\n    timeZone: \"India Standard Time\",\n    defaultRetentionRule: {\n        lifeCycles: [{\n            duration: \"P4M\",\n            dataStoreType: \"VaultStore\",\n        }],\n    },\n    retentionRules: [\n        {\n            name: \"weekly\",\n            lifeCycles: [{\n                duration: \"P6M\",\n                dataStoreType: \"VaultStore\",\n            }],\n            priority: 20,\n            criteria: {\n                absoluteCriteria: \"FirstOfWeek\",\n            },\n        },\n        {\n            name: \"thursday\",\n            lifeCycles: [{\n                duration: \"P1W\",\n                dataStoreType: \"VaultStore\",\n            }],\n            priority: 25,\n            criteria: {\n                daysOfWeeks: [\"Thursday\"],\n                scheduledBackupTimes: [\"2021-05-23T02:30:00Z\"],\n            },\n        },\n        {\n            name: \"monthly\",\n            lifeCycles: [{\n                duration: \"P1D\",\n                dataStoreType: \"VaultStore\",\n            }],\n            priority: 15,\n            criteria: {\n                weeksOfMonths: [\n                    \"First\",\n                    \"Last\",\n                ],\n                daysOfWeeks: [\"Tuesday\"],\n                scheduledBackupTimes: [\"2021-05-23T02:30:00Z\"],\n            },\n        },\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_backup_vault = azure.dataprotection.BackupVault(\"example\",\n    name=\"example-backup-vault\",\n    resource_group_name=example.name,\n    location=example.location,\n    datastore_type=\"VaultStore\",\n    redundancy=\"LocallyRedundant\",\n    identity={\n        \"type\": \"SystemAssigned\",\n    })\nexample_backup_policy_mysql_flexible_server = azure.dataprotection.BackupPolicyMysqlFlexibleServer(\"example\",\n    name=\"example-backup-policy\",\n    vault_id=example_backup_vault.id,\n    backup_repeating_time_intervals=[\"R/2021-05-23T02:30:00+00:00/P1W\"],\n    time_zone=\"India Standard Time\",\n    default_retention_rule={\n        \"life_cycles\": [{\n            \"duration\": \"P4M\",\n            \"data_store_type\": \"VaultStore\",\n        }],\n    },\n    retention_rules=[\n        {\n            \"name\": \"weekly\",\n            \"life_cycles\": [{\n                \"duration\": \"P6M\",\n                \"data_store_type\": \"VaultStore\",\n            }],\n            \"priority\": 20,\n            \"criteria\": {\n                \"absolute_criteria\": \"FirstOfWeek\",\n            },\n        },\n        {\n            \"name\": \"thursday\",\n            \"life_cycles\": [{\n                \"duration\": \"P1W\",\n                \"data_store_type\": \"VaultStore\",\n            }],\n            \"priority\": 25,\n            \"criteria\": {\n                \"days_of_weeks\": [\"Thursday\"],\n                \"scheduled_backup_times\": [\"2021-05-23T02:30:00Z\"],\n            },\n        },\n        {\n            \"name\": \"monthly\",\n            \"life_cycles\": [{\n                \"duration\": \"P1D\",\n                \"data_store_type\": \"VaultStore\",\n            }],\n            \"priority\": 15,\n            \"criteria\": {\n                \"weeks_of_months\": [\n                    \"First\",\n                    \"Last\",\n                ],\n                \"days_of_weeks\": [\"Tuesday\"],\n                \"scheduled_backup_times\": [\"2021-05-23T02:30:00Z\"],\n            },\n        },\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleBackupVault = new Azure.DataProtection.BackupVault(\"example\", new()\n    {\n        Name = \"example-backup-vault\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        DatastoreType = \"VaultStore\",\n        Redundancy = \"LocallyRedundant\",\n        Identity = new Azure.DataProtection.Inputs.BackupVaultIdentityArgs\n        {\n            Type = \"SystemAssigned\",\n        },\n    });\n\n    var exampleBackupPolicyMysqlFlexibleServer = new Azure.DataProtection.BackupPolicyMysqlFlexibleServer(\"example\", new()\n    {\n        Name = \"example-backup-policy\",\n        VaultId = exampleBackupVault.Id,\n        BackupRepeatingTimeIntervals = new[]\n        {\n            \"R/2021-05-23T02:30:00+00:00/P1W\",\n        },\n        TimeZone = \"India Standard Time\",\n        DefaultRetentionRule = new Azure.DataProtection.Inputs.BackupPolicyMysqlFlexibleServerDefaultRetentionRuleArgs\n        {\n            LifeCycles = new[]\n            {\n                new Azure.DataProtection.Inputs.BackupPolicyMysqlFlexibleServerDefaultRetentionRuleLifeCycleArgs\n                {\n                    Duration = \"P4M\",\n                    DataStoreType = \"VaultStore\",\n                },\n            },\n        },\n        RetentionRules = new[]\n        {\n            new Azure.DataProtection.Inputs.BackupPolicyMysqlFlexibleServerRetentionRuleArgs\n            {\n                Name = \"weekly\",\n                LifeCycles = new[]\n                {\n                    new Azure.DataProtection.Inputs.BackupPolicyMysqlFlexibleServerRetentionRuleLifeCycleArgs\n                    {\n                        Duration = \"P6M\",\n                        DataStoreType = \"VaultStore\",\n                    },\n                },\n                Priority = 20,\n                Criteria = new Azure.DataProtection.Inputs.BackupPolicyMysqlFlexibleServerRetentionRuleCriteriaArgs\n                {\n                    AbsoluteCriteria = \"FirstOfWeek\",\n                },\n            },\n            new Azure.DataProtection.Inputs.BackupPolicyMysqlFlexibleServerRetentionRuleArgs\n            {\n                Name = \"thursday\",\n                LifeCycles = new[]\n                {\n                    new Azure.DataProtection.Inputs.BackupPolicyMysqlFlexibleServerRetentionRuleLifeCycleArgs\n                    {\n                        Duration = \"P1W\",\n                        DataStoreType = \"VaultStore\",\n                    },\n                },\n                Priority = 25,\n                Criteria = new Azure.DataProtection.Inputs.BackupPolicyMysqlFlexibleServerRetentionRuleCriteriaArgs\n                {\n                    DaysOfWeeks = new[]\n                    {\n                        \"Thursday\",\n                    },\n                    ScheduledBackupTimes = new[]\n                    {\n                        \"2021-05-23T02:30:00Z\",\n                    },\n                },\n            },\n            new Azure.DataProtection.Inputs.BackupPolicyMysqlFlexibleServerRetentionRuleArgs\n            {\n                Name = \"monthly\",\n                LifeCycles = new[]\n                {\n                    new Azure.DataProtection.Inputs.BackupPolicyMysqlFlexibleServerRetentionRuleLifeCycleArgs\n                    {\n                        Duration = \"P1D\",\n                        DataStoreType = \"VaultStore\",\n                    },\n                },\n                Priority = 15,\n                Criteria = new Azure.DataProtection.Inputs.BackupPolicyMysqlFlexibleServerRetentionRuleCriteriaArgs\n                {\n                    WeeksOfMonths = new[]\n                    {\n                        \"First\",\n                        \"Last\",\n                    },\n                    DaysOfWeeks = new[]\n                    {\n                        \"Tuesday\",\n                    },\n                    ScheduledBackupTimes = new[]\n                    {\n                        \"2021-05-23T02:30:00Z\",\n                    },\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/dataprotection\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleBackupVault, err := dataprotection.NewBackupVault(ctx, \"example\", \u0026dataprotection.BackupVaultArgs{\n\t\t\tName:              pulumi.String(\"example-backup-vault\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tDatastoreType:     pulumi.String(\"VaultStore\"),\n\t\t\tRedundancy:        pulumi.String(\"LocallyRedundant\"),\n\t\t\tIdentity: \u0026dataprotection.BackupVaultIdentityArgs{\n\t\t\t\tType: pulumi.String(\"SystemAssigned\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = dataprotection.NewBackupPolicyMysqlFlexibleServer(ctx, \"example\", \u0026dataprotection.BackupPolicyMysqlFlexibleServerArgs{\n\t\t\tName:    pulumi.String(\"example-backup-policy\"),\n\t\t\tVaultId: exampleBackupVault.ID(),\n\t\t\tBackupRepeatingTimeIntervals: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"R/2021-05-23T02:30:00+00:00/P1W\"),\n\t\t\t},\n\t\t\tTimeZone: pulumi.String(\"India Standard Time\"),\n\t\t\tDefaultRetentionRule: \u0026dataprotection.BackupPolicyMysqlFlexibleServerDefaultRetentionRuleArgs{\n\t\t\t\tLifeCycles: dataprotection.BackupPolicyMysqlFlexibleServerDefaultRetentionRuleLifeCycleArray{\n\t\t\t\t\t\u0026dataprotection.BackupPolicyMysqlFlexibleServerDefaultRetentionRuleLifeCycleArgs{\n\t\t\t\t\t\tDuration:      pulumi.String(\"P4M\"),\n\t\t\t\t\t\tDataStoreType: pulumi.String(\"VaultStore\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tRetentionRules: dataprotection.BackupPolicyMysqlFlexibleServerRetentionRuleArray{\n\t\t\t\t\u0026dataprotection.BackupPolicyMysqlFlexibleServerRetentionRuleArgs{\n\t\t\t\t\tName: pulumi.String(\"weekly\"),\n\t\t\t\t\tLifeCycles: dataprotection.BackupPolicyMysqlFlexibleServerRetentionRuleLifeCycleArray{\n\t\t\t\t\t\t\u0026dataprotection.BackupPolicyMysqlFlexibleServerRetentionRuleLifeCycleArgs{\n\t\t\t\t\t\t\tDuration:      pulumi.String(\"P6M\"),\n\t\t\t\t\t\t\tDataStoreType: pulumi.String(\"VaultStore\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tPriority: pulumi.Int(20),\n\t\t\t\t\tCriteria: \u0026dataprotection.BackupPolicyMysqlFlexibleServerRetentionRuleCriteriaArgs{\n\t\t\t\t\t\tAbsoluteCriteria: pulumi.String(\"FirstOfWeek\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026dataprotection.BackupPolicyMysqlFlexibleServerRetentionRuleArgs{\n\t\t\t\t\tName: pulumi.String(\"thursday\"),\n\t\t\t\t\tLifeCycles: dataprotection.BackupPolicyMysqlFlexibleServerRetentionRuleLifeCycleArray{\n\t\t\t\t\t\t\u0026dataprotection.BackupPolicyMysqlFlexibleServerRetentionRuleLifeCycleArgs{\n\t\t\t\t\t\t\tDuration:      pulumi.String(\"P1W\"),\n\t\t\t\t\t\t\tDataStoreType: pulumi.String(\"VaultStore\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tPriority: pulumi.Int(25),\n\t\t\t\t\tCriteria: \u0026dataprotection.BackupPolicyMysqlFlexibleServerRetentionRuleCriteriaArgs{\n\t\t\t\t\t\tDaysOfWeeks: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"Thursday\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tScheduledBackupTimes: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"2021-05-23T02:30:00Z\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026dataprotection.BackupPolicyMysqlFlexibleServerRetentionRuleArgs{\n\t\t\t\t\tName: pulumi.String(\"monthly\"),\n\t\t\t\t\tLifeCycles: dataprotection.BackupPolicyMysqlFlexibleServerRetentionRuleLifeCycleArray{\n\t\t\t\t\t\t\u0026dataprotection.BackupPolicyMysqlFlexibleServerRetentionRuleLifeCycleArgs{\n\t\t\t\t\t\t\tDuration:      pulumi.String(\"P1D\"),\n\t\t\t\t\t\t\tDataStoreType: pulumi.String(\"VaultStore\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tPriority: pulumi.Int(15),\n\t\t\t\t\tCriteria: \u0026dataprotection.BackupPolicyMysqlFlexibleServerRetentionRuleCriteriaArgs{\n\t\t\t\t\t\tWeeksOfMonths: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"First\"),\n\t\t\t\t\t\t\tpulumi.String(\"Last\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tDaysOfWeeks: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"Tuesday\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tScheduledBackupTimes: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"2021-05-23T02:30:00Z\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.dataprotection.BackupVault;\nimport com.pulumi.azure.dataprotection.BackupVaultArgs;\nimport com.pulumi.azure.dataprotection.inputs.BackupVaultIdentityArgs;\nimport com.pulumi.azure.dataprotection.BackupPolicyMysqlFlexibleServer;\nimport com.pulumi.azure.dataprotection.BackupPolicyMysqlFlexibleServerArgs;\nimport com.pulumi.azure.dataprotection.inputs.BackupPolicyMysqlFlexibleServerDefaultRetentionRuleArgs;\nimport com.pulumi.azure.dataprotection.inputs.BackupPolicyMysqlFlexibleServerRetentionRuleArgs;\nimport com.pulumi.azure.dataprotection.inputs.BackupPolicyMysqlFlexibleServerRetentionRuleCriteriaArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleBackupVault = new BackupVault(\"exampleBackupVault\", BackupVaultArgs.builder()\n            .name(\"example-backup-vault\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .datastoreType(\"VaultStore\")\n            .redundancy(\"LocallyRedundant\")\n            .identity(BackupVaultIdentityArgs.builder()\n                .type(\"SystemAssigned\")\n                .build())\n            .build());\n\n        var exampleBackupPolicyMysqlFlexibleServer = new BackupPolicyMysqlFlexibleServer(\"exampleBackupPolicyMysqlFlexibleServer\", BackupPolicyMysqlFlexibleServerArgs.builder()\n            .name(\"example-backup-policy\")\n            .vaultId(exampleBackupVault.id())\n            .backupRepeatingTimeIntervals(\"R/2021-05-23T02:30:00+00:00/P1W\")\n            .timeZone(\"India Standard Time\")\n            .defaultRetentionRule(BackupPolicyMysqlFlexibleServerDefaultRetentionRuleArgs.builder()\n                .lifeCycles(BackupPolicyMysqlFlexibleServerDefaultRetentionRuleLifeCycleArgs.builder()\n                    .duration(\"P4M\")\n                    .dataStoreType(\"VaultStore\")\n                    .build())\n                .build())\n            .retentionRules(            \n                BackupPolicyMysqlFlexibleServerRetentionRuleArgs.builder()\n                    .name(\"weekly\")\n                    .lifeCycles(BackupPolicyMysqlFlexibleServerRetentionRuleLifeCycleArgs.builder()\n                        .duration(\"P6M\")\n                        .dataStoreType(\"VaultStore\")\n                        .build())\n                    .priority(20)\n                    .criteria(BackupPolicyMysqlFlexibleServerRetentionRuleCriteriaArgs.builder()\n                        .absoluteCriteria(\"FirstOfWeek\")\n                        .build())\n                    .build(),\n                BackupPolicyMysqlFlexibleServerRetentionRuleArgs.builder()\n                    .name(\"thursday\")\n                    .lifeCycles(BackupPolicyMysqlFlexibleServerRetentionRuleLifeCycleArgs.builder()\n                        .duration(\"P1W\")\n                        .dataStoreType(\"VaultStore\")\n                        .build())\n                    .priority(25)\n                    .criteria(BackupPolicyMysqlFlexibleServerRetentionRuleCriteriaArgs.builder()\n                        .daysOfWeeks(\"Thursday\")\n                        .scheduledBackupTimes(\"2021-05-23T02:30:00Z\")\n                        .build())\n                    .build(),\n                BackupPolicyMysqlFlexibleServerRetentionRuleArgs.builder()\n                    .name(\"monthly\")\n                    .lifeCycles(BackupPolicyMysqlFlexibleServerRetentionRuleLifeCycleArgs.builder()\n                        .duration(\"P1D\")\n                        .dataStoreType(\"VaultStore\")\n                        .build())\n                    .priority(15)\n                    .criteria(BackupPolicyMysqlFlexibleServerRetentionRuleCriteriaArgs.builder()\n                        .weeksOfMonths(                        \n                            \"First\",\n                            \"Last\")\n                        .daysOfWeeks(\"Tuesday\")\n                        .scheduledBackupTimes(\"2021-05-23T02:30:00Z\")\n                        .build())\n                    .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleBackupVault:\n    type: azure:dataprotection:BackupVault\n    name: example\n    properties:\n      name: example-backup-vault\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      datastoreType: VaultStore\n      redundancy: LocallyRedundant\n      identity:\n        type: SystemAssigned\n  exampleBackupPolicyMysqlFlexibleServer:\n    type: azure:dataprotection:BackupPolicyMysqlFlexibleServer\n    name: example\n    properties:\n      name: example-backup-policy\n      vaultId: ${exampleBackupVault.id}\n      backupRepeatingTimeIntervals:\n        - R/2021-05-23T02:30:00+00:00/P1W\n      timeZone: India Standard Time\n      defaultRetentionRule:\n        lifeCycles:\n          - duration: P4M\n            dataStoreType: VaultStore\n      retentionRules:\n        - name: weekly\n          lifeCycles:\n            - duration: P6M\n              dataStoreType: VaultStore\n          priority: 20\n          criteria:\n            absoluteCriteria: FirstOfWeek\n        - name: thursday\n          lifeCycles:\n            - duration: P1W\n              dataStoreType: VaultStore\n          priority: 25\n          criteria:\n            daysOfWeeks:\n              - Thursday\n            scheduledBackupTimes:\n              - 2021-05-23T02:30:00Z\n        - name: monthly\n          lifeCycles:\n            - duration: P1D\n              dataStoreType: VaultStore\n          priority: 15\n          criteria:\n            weeksOfMonths:\n              - First\n              - Last\n            daysOfWeeks:\n              - Tuesday\n            scheduledBackupTimes:\n              - 2021-05-23T02:30:00Z\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.DataProtection` - 2024-04-01\n\n## Import\n\nBackup Policy MySQL Flexible Server's can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:dataprotection/backupPolicyMysqlFlexibleServer:BackupPolicyMysqlFlexibleServer example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.DataProtection/backupVaults/vault1/backupPolicies/backupPolicy1\n```\n\n","properties":{"backupRepeatingTimeIntervals":{"type":"array","items":{"type":"string"},"description":"Specifies a list of repeating time interval. It supports weekly back. It should follow `ISO 8601` repeating time interval format. Changing this forces a new resource to be created.\n"},"defaultRetentionRule":{"$ref":"#/types/azure:dataprotection/BackupPolicyMysqlFlexibleServerDefaultRetentionRule:BackupPolicyMysqlFlexibleServerDefaultRetentionRule","description":"A \u003cspan pulumi-lang-nodejs=\"`defaultRetentionRule`\" pulumi-lang-dotnet=\"`DefaultRetentionRule`\" pulumi-lang-go=\"`defaultRetentionRule`\" pulumi-lang-python=\"`default_retention_rule`\" pulumi-lang-yaml=\"`defaultRetentionRule`\" pulumi-lang-java=\"`defaultRetentionRule`\"\u003e`default_retention_rule`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"Specifies the name of the Backup Policy for the MySQL Flexible Server. Changing this forces a new resource to be created.\n"},"retentionRules":{"type":"array","items":{"$ref":"#/types/azure:dataprotection/BackupPolicyMysqlFlexibleServerRetentionRule:BackupPolicyMysqlFlexibleServerRetentionRule"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`retentionRule`\" pulumi-lang-dotnet=\"`RetentionRule`\" pulumi-lang-go=\"`retentionRule`\" pulumi-lang-python=\"`retention_rule`\" pulumi-lang-yaml=\"`retentionRule`\" pulumi-lang-java=\"`retentionRule`\"\u003e`retention_rule`\u003c/span\u003e blocks as defined below. Changing this forces a new resource to be created.\n"},"timeZone":{"type":"string","description":"Specifies the Time Zone which should be used by the backup schedule. Changing this forces a new resource to be created.\n"},"vaultId":{"type":"string","description":"The ID of the Backup Vault where the Backup Policy MySQL Flexible Server should exist. Changing this forces a new resource to be created.\n"}},"required":["backupRepeatingTimeIntervals","defaultRetentionRule","name","vaultId"],"inputProperties":{"backupRepeatingTimeIntervals":{"type":"array","items":{"type":"string"},"description":"Specifies a list of repeating time interval. It supports weekly back. It should follow `ISO 8601` repeating time interval format. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"defaultRetentionRule":{"$ref":"#/types/azure:dataprotection/BackupPolicyMysqlFlexibleServerDefaultRetentionRule:BackupPolicyMysqlFlexibleServerDefaultRetentionRule","description":"A \u003cspan pulumi-lang-nodejs=\"`defaultRetentionRule`\" pulumi-lang-dotnet=\"`DefaultRetentionRule`\" pulumi-lang-go=\"`defaultRetentionRule`\" pulumi-lang-python=\"`default_retention_rule`\" pulumi-lang-yaml=\"`defaultRetentionRule`\" pulumi-lang-java=\"`defaultRetentionRule`\"\u003e`default_retention_rule`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the Backup Policy for the MySQL Flexible Server. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"retentionRules":{"type":"array","items":{"$ref":"#/types/azure:dataprotection/BackupPolicyMysqlFlexibleServerRetentionRule:BackupPolicyMysqlFlexibleServerRetentionRule"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`retentionRule`\" pulumi-lang-dotnet=\"`RetentionRule`\" pulumi-lang-go=\"`retentionRule`\" pulumi-lang-python=\"`retention_rule`\" pulumi-lang-yaml=\"`retentionRule`\" pulumi-lang-java=\"`retentionRule`\"\u003e`retention_rule`\u003c/span\u003e blocks as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"timeZone":{"type":"string","description":"Specifies the Time Zone which should be used by the backup schedule. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"vaultId":{"type":"string","description":"The ID of the Backup Vault where the Backup Policy MySQL Flexible Server should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["backupRepeatingTimeIntervals","defaultRetentionRule","vaultId"],"stateInputs":{"description":"Input properties used for looking up and filtering BackupPolicyMysqlFlexibleServer resources.\n","properties":{"backupRepeatingTimeIntervals":{"type":"array","items":{"type":"string"},"description":"Specifies a list of repeating time interval. It supports weekly back. It should follow `ISO 8601` repeating time interval format. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"defaultRetentionRule":{"$ref":"#/types/azure:dataprotection/BackupPolicyMysqlFlexibleServerDefaultRetentionRule:BackupPolicyMysqlFlexibleServerDefaultRetentionRule","description":"A \u003cspan pulumi-lang-nodejs=\"`defaultRetentionRule`\" pulumi-lang-dotnet=\"`DefaultRetentionRule`\" pulumi-lang-go=\"`defaultRetentionRule`\" pulumi-lang-python=\"`default_retention_rule`\" pulumi-lang-yaml=\"`defaultRetentionRule`\" pulumi-lang-java=\"`defaultRetentionRule`\"\u003e`default_retention_rule`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the Backup Policy for the MySQL Flexible Server. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"retentionRules":{"type":"array","items":{"$ref":"#/types/azure:dataprotection/BackupPolicyMysqlFlexibleServerRetentionRule:BackupPolicyMysqlFlexibleServerRetentionRule"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`retentionRule`\" pulumi-lang-dotnet=\"`RetentionRule`\" pulumi-lang-go=\"`retentionRule`\" pulumi-lang-python=\"`retention_rule`\" pulumi-lang-yaml=\"`retentionRule`\" pulumi-lang-java=\"`retentionRule`\"\u003e`retention_rule`\u003c/span\u003e blocks as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"timeZone":{"type":"string","description":"Specifies the Time Zone which should be used by the backup schedule. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"vaultId":{"type":"string","description":"The ID of the Backup Vault where the Backup Policy MySQL Flexible Server should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:dataprotection/backupPolicyPostgresql:BackupPolicyPostgresql":{"description":"Manages a Backup Policy to back up PostgreSQL.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`azure.dataprotection.BackupPolicyPostgresql`\" pulumi-lang-dotnet=\"`azure.dataprotection.BackupPolicyPostgresql`\" pulumi-lang-go=\"`dataprotection.BackupPolicyPostgresql`\" pulumi-lang-python=\"`dataprotection.BackupPolicyPostgresql`\" pulumi-lang-yaml=\"`azure.dataprotection.BackupPolicyPostgresql`\" pulumi-lang-java=\"`azure.dataprotection.BackupPolicyPostgresql`\"\u003e`azure.dataprotection.BackupPolicyPostgresql`\u003c/span\u003e resource has been deprecated because Azure Database for PostgreSQL Single Server has been retired as of 2025-03-28 and will be removed in v5.0 of the AzureRM Provider.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleBackupVault = new azure.dataprotection.BackupVault(\"example\", {\n    name: \"example-backup-vault\",\n    resourceGroupName: example.name,\n    location: example.location,\n    datastoreType: \"VaultStore\",\n    redundancy: \"LocallyRedundant\",\n});\nconst exampleBackupPolicyPostgresql = new azure.dataprotection.BackupPolicyPostgresql(\"example\", {\n    name: \"example-backup-policy\",\n    resourceGroupName: example.name,\n    vaultName: exampleBackupVault.name,\n    backupRepeatingTimeIntervals: [\"R/2021-05-23T02:30:00+00:00/P1W\"],\n    timeZone: \"India Standard Time\",\n    defaultRetentionDuration: \"P4M\",\n    retentionRules: [\n        {\n            name: \"weekly\",\n            duration: \"P6M\",\n            priority: 20,\n            criteria: {\n                absoluteCriteria: \"FirstOfWeek\",\n            },\n        },\n        {\n            name: \"thursday\",\n            duration: \"P1W\",\n            priority: 25,\n            criteria: {\n                daysOfWeeks: [\"Thursday\"],\n                scheduledBackupTimes: [\"2021-05-23T02:30:00Z\"],\n            },\n        },\n        {\n            name: \"monthly\",\n            duration: \"P1D\",\n            priority: 15,\n            criteria: {\n                weeksOfMonths: [\n                    \"First\",\n                    \"Last\",\n                ],\n                daysOfWeeks: [\"Tuesday\"],\n                scheduledBackupTimes: [\"2021-05-23T02:30:00Z\"],\n            },\n        },\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_backup_vault = azure.dataprotection.BackupVault(\"example\",\n    name=\"example-backup-vault\",\n    resource_group_name=example.name,\n    location=example.location,\n    datastore_type=\"VaultStore\",\n    redundancy=\"LocallyRedundant\")\nexample_backup_policy_postgresql = azure.dataprotection.BackupPolicyPostgresql(\"example\",\n    name=\"example-backup-policy\",\n    resource_group_name=example.name,\n    vault_name=example_backup_vault.name,\n    backup_repeating_time_intervals=[\"R/2021-05-23T02:30:00+00:00/P1W\"],\n    time_zone=\"India Standard Time\",\n    default_retention_duration=\"P4M\",\n    retention_rules=[\n        {\n            \"name\": \"weekly\",\n            \"duration\": \"P6M\",\n            \"priority\": 20,\n            \"criteria\": {\n                \"absolute_criteria\": \"FirstOfWeek\",\n            },\n        },\n        {\n            \"name\": \"thursday\",\n            \"duration\": \"P1W\",\n            \"priority\": 25,\n            \"criteria\": {\n                \"days_of_weeks\": [\"Thursday\"],\n                \"scheduled_backup_times\": [\"2021-05-23T02:30:00Z\"],\n            },\n        },\n        {\n            \"name\": \"monthly\",\n            \"duration\": \"P1D\",\n            \"priority\": 15,\n            \"criteria\": {\n                \"weeks_of_months\": [\n                    \"First\",\n                    \"Last\",\n                ],\n                \"days_of_weeks\": [\"Tuesday\"],\n                \"scheduled_backup_times\": [\"2021-05-23T02:30:00Z\"],\n            },\n        },\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleBackupVault = new Azure.DataProtection.BackupVault(\"example\", new()\n    {\n        Name = \"example-backup-vault\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        DatastoreType = \"VaultStore\",\n        Redundancy = \"LocallyRedundant\",\n    });\n\n    var exampleBackupPolicyPostgresql = new Azure.DataProtection.BackupPolicyPostgresql(\"example\", new()\n    {\n        Name = \"example-backup-policy\",\n        ResourceGroupName = example.Name,\n        VaultName = exampleBackupVault.Name,\n        BackupRepeatingTimeIntervals = new[]\n        {\n            \"R/2021-05-23T02:30:00+00:00/P1W\",\n        },\n        TimeZone = \"India Standard Time\",\n        DefaultRetentionDuration = \"P4M\",\n        RetentionRules = new[]\n        {\n            new Azure.DataProtection.Inputs.BackupPolicyPostgresqlRetentionRuleArgs\n            {\n                Name = \"weekly\",\n                Duration = \"P6M\",\n                Priority = 20,\n                Criteria = new Azure.DataProtection.Inputs.BackupPolicyPostgresqlRetentionRuleCriteriaArgs\n                {\n                    AbsoluteCriteria = \"FirstOfWeek\",\n                },\n            },\n            new Azure.DataProtection.Inputs.BackupPolicyPostgresqlRetentionRuleArgs\n            {\n                Name = \"thursday\",\n                Duration = \"P1W\",\n                Priority = 25,\n                Criteria = new Azure.DataProtection.Inputs.BackupPolicyPostgresqlRetentionRuleCriteriaArgs\n                {\n                    DaysOfWeeks = new[]\n                    {\n                        \"Thursday\",\n                    },\n                    ScheduledBackupTimes = new[]\n                    {\n                        \"2021-05-23T02:30:00Z\",\n                    },\n                },\n            },\n            new Azure.DataProtection.Inputs.BackupPolicyPostgresqlRetentionRuleArgs\n            {\n                Name = \"monthly\",\n                Duration = \"P1D\",\n                Priority = 15,\n                Criteria = new Azure.DataProtection.Inputs.BackupPolicyPostgresqlRetentionRuleCriteriaArgs\n                {\n                    WeeksOfMonths = new[]\n                    {\n                        \"First\",\n                        \"Last\",\n                    },\n                    DaysOfWeeks = new[]\n                    {\n                        \"Tuesday\",\n                    },\n                    ScheduledBackupTimes = new[]\n                    {\n                        \"2021-05-23T02:30:00Z\",\n                    },\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/dataprotection\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleBackupVault, err := dataprotection.NewBackupVault(ctx, \"example\", \u0026dataprotection.BackupVaultArgs{\n\t\t\tName:              pulumi.String(\"example-backup-vault\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tDatastoreType:     pulumi.String(\"VaultStore\"),\n\t\t\tRedundancy:        pulumi.String(\"LocallyRedundant\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = dataprotection.NewBackupPolicyPostgresql(ctx, \"example\", \u0026dataprotection.BackupPolicyPostgresqlArgs{\n\t\t\tName:              pulumi.String(\"example-backup-policy\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tVaultName:         exampleBackupVault.Name,\n\t\t\tBackupRepeatingTimeIntervals: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"R/2021-05-23T02:30:00+00:00/P1W\"),\n\t\t\t},\n\t\t\tTimeZone:                 pulumi.String(\"India Standard Time\"),\n\t\t\tDefaultRetentionDuration: pulumi.String(\"P4M\"),\n\t\t\tRetentionRules: dataprotection.BackupPolicyPostgresqlRetentionRuleArray{\n\t\t\t\t\u0026dataprotection.BackupPolicyPostgresqlRetentionRuleArgs{\n\t\t\t\t\tName:     pulumi.String(\"weekly\"),\n\t\t\t\t\tDuration: pulumi.String(\"P6M\"),\n\t\t\t\t\tPriority: pulumi.Int(20),\n\t\t\t\t\tCriteria: \u0026dataprotection.BackupPolicyPostgresqlRetentionRuleCriteriaArgs{\n\t\t\t\t\t\tAbsoluteCriteria: pulumi.String(\"FirstOfWeek\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026dataprotection.BackupPolicyPostgresqlRetentionRuleArgs{\n\t\t\t\t\tName:     pulumi.String(\"thursday\"),\n\t\t\t\t\tDuration: pulumi.String(\"P1W\"),\n\t\t\t\t\tPriority: pulumi.Int(25),\n\t\t\t\t\tCriteria: \u0026dataprotection.BackupPolicyPostgresqlRetentionRuleCriteriaArgs{\n\t\t\t\t\t\tDaysOfWeeks: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"Thursday\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tScheduledBackupTimes: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"2021-05-23T02:30:00Z\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026dataprotection.BackupPolicyPostgresqlRetentionRuleArgs{\n\t\t\t\t\tName:     pulumi.String(\"monthly\"),\n\t\t\t\t\tDuration: pulumi.String(\"P1D\"),\n\t\t\t\t\tPriority: pulumi.Int(15),\n\t\t\t\t\tCriteria: \u0026dataprotection.BackupPolicyPostgresqlRetentionRuleCriteriaArgs{\n\t\t\t\t\t\tWeeksOfMonths: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"First\"),\n\t\t\t\t\t\t\tpulumi.String(\"Last\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tDaysOfWeeks: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"Tuesday\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tScheduledBackupTimes: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"2021-05-23T02:30:00Z\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.dataprotection.BackupVault;\nimport com.pulumi.azure.dataprotection.BackupVaultArgs;\nimport com.pulumi.azure.dataprotection.BackupPolicyPostgresql;\nimport com.pulumi.azure.dataprotection.BackupPolicyPostgresqlArgs;\nimport com.pulumi.azure.dataprotection.inputs.BackupPolicyPostgresqlRetentionRuleArgs;\nimport com.pulumi.azure.dataprotection.inputs.BackupPolicyPostgresqlRetentionRuleCriteriaArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleBackupVault = new BackupVault(\"exampleBackupVault\", BackupVaultArgs.builder()\n            .name(\"example-backup-vault\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .datastoreType(\"VaultStore\")\n            .redundancy(\"LocallyRedundant\")\n            .build());\n\n        var exampleBackupPolicyPostgresql = new BackupPolicyPostgresql(\"exampleBackupPolicyPostgresql\", BackupPolicyPostgresqlArgs.builder()\n            .name(\"example-backup-policy\")\n            .resourceGroupName(example.name())\n            .vaultName(exampleBackupVault.name())\n            .backupRepeatingTimeIntervals(\"R/2021-05-23T02:30:00+00:00/P1W\")\n            .timeZone(\"India Standard Time\")\n            .defaultRetentionDuration(\"P4M\")\n            .retentionRules(            \n                BackupPolicyPostgresqlRetentionRuleArgs.builder()\n                    .name(\"weekly\")\n                    .duration(\"P6M\")\n                    .priority(20)\n                    .criteria(BackupPolicyPostgresqlRetentionRuleCriteriaArgs.builder()\n                        .absoluteCriteria(\"FirstOfWeek\")\n                        .build())\n                    .build(),\n                BackupPolicyPostgresqlRetentionRuleArgs.builder()\n                    .name(\"thursday\")\n                    .duration(\"P1W\")\n                    .priority(25)\n                    .criteria(BackupPolicyPostgresqlRetentionRuleCriteriaArgs.builder()\n                        .daysOfWeeks(\"Thursday\")\n                        .scheduledBackupTimes(\"2021-05-23T02:30:00Z\")\n                        .build())\n                    .build(),\n                BackupPolicyPostgresqlRetentionRuleArgs.builder()\n                    .name(\"monthly\")\n                    .duration(\"P1D\")\n                    .priority(15)\n                    .criteria(BackupPolicyPostgresqlRetentionRuleCriteriaArgs.builder()\n                        .weeksOfMonths(                        \n                            \"First\",\n                            \"Last\")\n                        .daysOfWeeks(\"Tuesday\")\n                        .scheduledBackupTimes(\"2021-05-23T02:30:00Z\")\n                        .build())\n                    .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleBackupVault:\n    type: azure:dataprotection:BackupVault\n    name: example\n    properties:\n      name: example-backup-vault\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      datastoreType: VaultStore\n      redundancy: LocallyRedundant\n  exampleBackupPolicyPostgresql:\n    type: azure:dataprotection:BackupPolicyPostgresql\n    name: example\n    properties:\n      name: example-backup-policy\n      resourceGroupName: ${example.name}\n      vaultName: ${exampleBackupVault.name}\n      backupRepeatingTimeIntervals:\n        - R/2021-05-23T02:30:00+00:00/P1W\n      timeZone: India Standard Time\n      defaultRetentionDuration: P4M\n      retentionRules:\n        - name: weekly\n          duration: P6M\n          priority: 20\n          criteria:\n            absoluteCriteria: FirstOfWeek\n        - name: thursday\n          duration: P1W\n          priority: 25\n          criteria:\n            daysOfWeeks:\n              - Thursday\n            scheduledBackupTimes:\n              - 2021-05-23T02:30:00Z\n        - name: monthly\n          duration: P1D\n          priority: 15\n          criteria:\n            weeksOfMonths:\n              - First\n              - Last\n            daysOfWeeks:\n              - Tuesday\n            scheduledBackupTimes:\n              - 2021-05-23T02:30:00Z\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.DataProtection` - 2024-04-01\n\n## Import\n\nBackup Policy PostgreSQL's can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:dataprotection/backupPolicyPostgresql:BackupPolicyPostgresql example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.DataProtection/backupVaults/vault1/backupPolicies/backupPolicy1\n```\n\n","properties":{"backupRepeatingTimeIntervals":{"type":"array","items":{"type":"string"},"description":"Specifies a list of repeating time interval. It supports weekly back. It should follow `ISO 8601` repeating time interval. Changing this forces a new Backup Policy PostgreSQL to be created.\n"},"defaultRetentionDuration":{"type":"string","description":"The duration of default retention rule. It should follow `ISO 8601` duration format. Changing this forces a new Backup Policy PostgreSQL to be created.\n"},"name":{"type":"string","description":"The name which should be used for this Backup Policy PostgreSQL. Changing this forces a new Backup Policy PostgreSQL to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Backup Policy PostgreSQL should exist. Changing this forces a new Backup Policy PostgreSQL to be created.\n"},"retentionRules":{"type":"array","items":{"$ref":"#/types/azure:dataprotection/BackupPolicyPostgresqlRetentionRule:BackupPolicyPostgresqlRetentionRule"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`retentionRule`\" pulumi-lang-dotnet=\"`RetentionRule`\" pulumi-lang-go=\"`retentionRule`\" pulumi-lang-python=\"`retention_rule`\" pulumi-lang-yaml=\"`retentionRule`\" pulumi-lang-java=\"`retentionRule`\"\u003e`retention_rule`\u003c/span\u003e blocks as defined below. Changing this forces a new Backup Policy PostgreSQL to be created.\n"},"timeZone":{"type":"string","description":"Specifies the Time Zone which should be used by the backup schedule. Changing this forces a new Backup Policy PostgreSQL to be created.\n"},"vaultName":{"type":"string","description":"The name of the Backup Vault where the Backup Policy PostgreSQL should exist. Changing this forces a new Backup Policy PostgreSQL to be created.\n"}},"required":["backupRepeatingTimeIntervals","defaultRetentionDuration","name","resourceGroupName","vaultName"],"inputProperties":{"backupRepeatingTimeIntervals":{"type":"array","items":{"type":"string"},"description":"Specifies a list of repeating time interval. It supports weekly back. It should follow `ISO 8601` repeating time interval. Changing this forces a new Backup Policy PostgreSQL to be created.\n","willReplaceOnChanges":true},"defaultRetentionDuration":{"type":"string","description":"The duration of default retention rule. It should follow `ISO 8601` duration format. Changing this forces a new Backup Policy PostgreSQL to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Backup Policy PostgreSQL. Changing this forces a new Backup Policy PostgreSQL to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Backup Policy PostgreSQL should exist. Changing this forces a new Backup Policy PostgreSQL to be created.\n","willReplaceOnChanges":true},"retentionRules":{"type":"array","items":{"$ref":"#/types/azure:dataprotection/BackupPolicyPostgresqlRetentionRule:BackupPolicyPostgresqlRetentionRule"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`retentionRule`\" pulumi-lang-dotnet=\"`RetentionRule`\" pulumi-lang-go=\"`retentionRule`\" pulumi-lang-python=\"`retention_rule`\" pulumi-lang-yaml=\"`retentionRule`\" pulumi-lang-java=\"`retentionRule`\"\u003e`retention_rule`\u003c/span\u003e blocks as defined below. Changing this forces a new Backup Policy PostgreSQL to be created.\n","willReplaceOnChanges":true},"timeZone":{"type":"string","description":"Specifies the Time Zone which should be used by the backup schedule. Changing this forces a new Backup Policy PostgreSQL to be created.\n","willReplaceOnChanges":true},"vaultName":{"type":"string","description":"The name of the Backup Vault where the Backup Policy PostgreSQL should exist. Changing this forces a new Backup Policy PostgreSQL to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["backupRepeatingTimeIntervals","defaultRetentionDuration","resourceGroupName","vaultName"],"stateInputs":{"description":"Input properties used for looking up and filtering BackupPolicyPostgresql resources.\n","properties":{"backupRepeatingTimeIntervals":{"type":"array","items":{"type":"string"},"description":"Specifies a list of repeating time interval. It supports weekly back. It should follow `ISO 8601` repeating time interval. Changing this forces a new Backup Policy PostgreSQL to be created.\n","willReplaceOnChanges":true},"defaultRetentionDuration":{"type":"string","description":"The duration of default retention rule. It should follow `ISO 8601` duration format. Changing this forces a new Backup Policy PostgreSQL to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Backup Policy PostgreSQL. Changing this forces a new Backup Policy PostgreSQL to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Backup Policy PostgreSQL should exist. Changing this forces a new Backup Policy PostgreSQL to be created.\n","willReplaceOnChanges":true},"retentionRules":{"type":"array","items":{"$ref":"#/types/azure:dataprotection/BackupPolicyPostgresqlRetentionRule:BackupPolicyPostgresqlRetentionRule"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`retentionRule`\" pulumi-lang-dotnet=\"`RetentionRule`\" pulumi-lang-go=\"`retentionRule`\" pulumi-lang-python=\"`retention_rule`\" pulumi-lang-yaml=\"`retentionRule`\" pulumi-lang-java=\"`retentionRule`\"\u003e`retention_rule`\u003c/span\u003e blocks as defined below. Changing this forces a new Backup Policy PostgreSQL to be created.\n","willReplaceOnChanges":true},"timeZone":{"type":"string","description":"Specifies the Time Zone which should be used by the backup schedule. Changing this forces a new Backup Policy PostgreSQL to be created.\n","willReplaceOnChanges":true},"vaultName":{"type":"string","description":"The name of the Backup Vault where the Backup Policy PostgreSQL should exist. Changing this forces a new Backup Policy PostgreSQL to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:dataprotection/backupPolicyPostgresqlFlexibleServer:BackupPolicyPostgresqlFlexibleServer":{"description":"Manages a Backup Policy to back up PostgreSQL Flexible Server.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleBackupVault = new azure.dataprotection.BackupVault(\"example\", {\n    name: \"example-backup-vault\",\n    resourceGroupName: example.name,\n    location: example.location,\n    datastoreType: \"VaultStore\",\n    redundancy: \"LocallyRedundant\",\n    identity: {\n        type: \"SystemAssigned\",\n    },\n});\nconst exampleBackupPolicyPostgresqlFlexibleServer = new azure.dataprotection.BackupPolicyPostgresqlFlexibleServer(\"example\", {\n    name: \"example-backup-policy\",\n    vaultId: exampleBackupVault.id,\n    backupRepeatingTimeIntervals: [\"R/2021-05-23T02:30:00+00:00/P1W\"],\n    timeZone: \"India Standard Time\",\n    defaultRetentionRule: {\n        lifeCycles: [{\n            duration: \"P4M\",\n            dataStoreType: \"VaultStore\",\n        }],\n    },\n    retentionRules: [\n        {\n            name: \"weekly\",\n            lifeCycles: [{\n                duration: \"P6M\",\n                dataStoreType: \"VaultStore\",\n            }],\n            priority: 20,\n            criteria: {\n                absoluteCriteria: \"FirstOfWeek\",\n            },\n        },\n        {\n            name: \"thursday\",\n            lifeCycles: [{\n                duration: \"P1W\",\n                dataStoreType: \"VaultStore\",\n            }],\n            priority: 25,\n            criteria: {\n                daysOfWeeks: [\"Thursday\"],\n                scheduledBackupTimes: [\"2021-05-23T02:30:00Z\"],\n            },\n        },\n        {\n            name: \"monthly\",\n            lifeCycles: [{\n                duration: \"P1D\",\n                dataStoreType: \"VaultStore\",\n            }],\n            priority: 15,\n            criteria: {\n                weeksOfMonths: [\n                    \"First\",\n                    \"Last\",\n                ],\n                daysOfWeeks: [\"Tuesday\"],\n                scheduledBackupTimes: [\"2021-05-23T02:30:00Z\"],\n            },\n        },\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_backup_vault = azure.dataprotection.BackupVault(\"example\",\n    name=\"example-backup-vault\",\n    resource_group_name=example.name,\n    location=example.location,\n    datastore_type=\"VaultStore\",\n    redundancy=\"LocallyRedundant\",\n    identity={\n        \"type\": \"SystemAssigned\",\n    })\nexample_backup_policy_postgresql_flexible_server = azure.dataprotection.BackupPolicyPostgresqlFlexibleServer(\"example\",\n    name=\"example-backup-policy\",\n    vault_id=example_backup_vault.id,\n    backup_repeating_time_intervals=[\"R/2021-05-23T02:30:00+00:00/P1W\"],\n    time_zone=\"India Standard Time\",\n    default_retention_rule={\n        \"life_cycles\": [{\n            \"duration\": \"P4M\",\n            \"data_store_type\": \"VaultStore\",\n        }],\n    },\n    retention_rules=[\n        {\n            \"name\": \"weekly\",\n            \"life_cycles\": [{\n                \"duration\": \"P6M\",\n                \"data_store_type\": \"VaultStore\",\n            }],\n            \"priority\": 20,\n            \"criteria\": {\n                \"absolute_criteria\": \"FirstOfWeek\",\n            },\n        },\n        {\n            \"name\": \"thursday\",\n            \"life_cycles\": [{\n                \"duration\": \"P1W\",\n                \"data_store_type\": \"VaultStore\",\n            }],\n            \"priority\": 25,\n            \"criteria\": {\n                \"days_of_weeks\": [\"Thursday\"],\n                \"scheduled_backup_times\": [\"2021-05-23T02:30:00Z\"],\n            },\n        },\n        {\n            \"name\": \"monthly\",\n            \"life_cycles\": [{\n                \"duration\": \"P1D\",\n                \"data_store_type\": \"VaultStore\",\n            }],\n            \"priority\": 15,\n            \"criteria\": {\n                \"weeks_of_months\": [\n                    \"First\",\n                    \"Last\",\n                ],\n                \"days_of_weeks\": [\"Tuesday\"],\n                \"scheduled_backup_times\": [\"2021-05-23T02:30:00Z\"],\n            },\n        },\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleBackupVault = new Azure.DataProtection.BackupVault(\"example\", new()\n    {\n        Name = \"example-backup-vault\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        DatastoreType = \"VaultStore\",\n        Redundancy = \"LocallyRedundant\",\n        Identity = new Azure.DataProtection.Inputs.BackupVaultIdentityArgs\n        {\n            Type = \"SystemAssigned\",\n        },\n    });\n\n    var exampleBackupPolicyPostgresqlFlexibleServer = new Azure.DataProtection.BackupPolicyPostgresqlFlexibleServer(\"example\", new()\n    {\n        Name = \"example-backup-policy\",\n        VaultId = exampleBackupVault.Id,\n        BackupRepeatingTimeIntervals = new[]\n        {\n            \"R/2021-05-23T02:30:00+00:00/P1W\",\n        },\n        TimeZone = \"India Standard Time\",\n        DefaultRetentionRule = new Azure.DataProtection.Inputs.BackupPolicyPostgresqlFlexibleServerDefaultRetentionRuleArgs\n        {\n            LifeCycles = new[]\n            {\n                new Azure.DataProtection.Inputs.BackupPolicyPostgresqlFlexibleServerDefaultRetentionRuleLifeCycleArgs\n                {\n                    Duration = \"P4M\",\n                    DataStoreType = \"VaultStore\",\n                },\n            },\n        },\n        RetentionRules = new[]\n        {\n            new Azure.DataProtection.Inputs.BackupPolicyPostgresqlFlexibleServerRetentionRuleArgs\n            {\n                Name = \"weekly\",\n                LifeCycles = new[]\n                {\n                    new Azure.DataProtection.Inputs.BackupPolicyPostgresqlFlexibleServerRetentionRuleLifeCycleArgs\n                    {\n                        Duration = \"P6M\",\n                        DataStoreType = \"VaultStore\",\n                    },\n                },\n                Priority = 20,\n                Criteria = new Azure.DataProtection.Inputs.BackupPolicyPostgresqlFlexibleServerRetentionRuleCriteriaArgs\n                {\n                    AbsoluteCriteria = \"FirstOfWeek\",\n                },\n            },\n            new Azure.DataProtection.Inputs.BackupPolicyPostgresqlFlexibleServerRetentionRuleArgs\n            {\n                Name = \"thursday\",\n                LifeCycles = new[]\n                {\n                    new Azure.DataProtection.Inputs.BackupPolicyPostgresqlFlexibleServerRetentionRuleLifeCycleArgs\n                    {\n                        Duration = \"P1W\",\n                        DataStoreType = \"VaultStore\",\n                    },\n                },\n                Priority = 25,\n                Criteria = new Azure.DataProtection.Inputs.BackupPolicyPostgresqlFlexibleServerRetentionRuleCriteriaArgs\n                {\n                    DaysOfWeeks = new[]\n                    {\n                        \"Thursday\",\n                    },\n                    ScheduledBackupTimes = new[]\n                    {\n                        \"2021-05-23T02:30:00Z\",\n                    },\n                },\n            },\n            new Azure.DataProtection.Inputs.BackupPolicyPostgresqlFlexibleServerRetentionRuleArgs\n            {\n                Name = \"monthly\",\n                LifeCycles = new[]\n                {\n                    new Azure.DataProtection.Inputs.BackupPolicyPostgresqlFlexibleServerRetentionRuleLifeCycleArgs\n                    {\n                        Duration = \"P1D\",\n                        DataStoreType = \"VaultStore\",\n                    },\n                },\n                Priority = 15,\n                Criteria = new Azure.DataProtection.Inputs.BackupPolicyPostgresqlFlexibleServerRetentionRuleCriteriaArgs\n                {\n                    WeeksOfMonths = new[]\n                    {\n                        \"First\",\n                        \"Last\",\n                    },\n                    DaysOfWeeks = new[]\n                    {\n                        \"Tuesday\",\n                    },\n                    ScheduledBackupTimes = new[]\n                    {\n                        \"2021-05-23T02:30:00Z\",\n                    },\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/dataprotection\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleBackupVault, err := dataprotection.NewBackupVault(ctx, \"example\", \u0026dataprotection.BackupVaultArgs{\n\t\t\tName:              pulumi.String(\"example-backup-vault\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tDatastoreType:     pulumi.String(\"VaultStore\"),\n\t\t\tRedundancy:        pulumi.String(\"LocallyRedundant\"),\n\t\t\tIdentity: \u0026dataprotection.BackupVaultIdentityArgs{\n\t\t\t\tType: pulumi.String(\"SystemAssigned\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = dataprotection.NewBackupPolicyPostgresqlFlexibleServer(ctx, \"example\", \u0026dataprotection.BackupPolicyPostgresqlFlexibleServerArgs{\n\t\t\tName:    pulumi.String(\"example-backup-policy\"),\n\t\t\tVaultId: exampleBackupVault.ID(),\n\t\t\tBackupRepeatingTimeIntervals: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"R/2021-05-23T02:30:00+00:00/P1W\"),\n\t\t\t},\n\t\t\tTimeZone: pulumi.String(\"India Standard Time\"),\n\t\t\tDefaultRetentionRule: \u0026dataprotection.BackupPolicyPostgresqlFlexibleServerDefaultRetentionRuleArgs{\n\t\t\t\tLifeCycles: dataprotection.BackupPolicyPostgresqlFlexibleServerDefaultRetentionRuleLifeCycleArray{\n\t\t\t\t\t\u0026dataprotection.BackupPolicyPostgresqlFlexibleServerDefaultRetentionRuleLifeCycleArgs{\n\t\t\t\t\t\tDuration:      pulumi.String(\"P4M\"),\n\t\t\t\t\t\tDataStoreType: pulumi.String(\"VaultStore\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tRetentionRules: dataprotection.BackupPolicyPostgresqlFlexibleServerRetentionRuleArray{\n\t\t\t\t\u0026dataprotection.BackupPolicyPostgresqlFlexibleServerRetentionRuleArgs{\n\t\t\t\t\tName: pulumi.String(\"weekly\"),\n\t\t\t\t\tLifeCycles: dataprotection.BackupPolicyPostgresqlFlexibleServerRetentionRuleLifeCycleArray{\n\t\t\t\t\t\t\u0026dataprotection.BackupPolicyPostgresqlFlexibleServerRetentionRuleLifeCycleArgs{\n\t\t\t\t\t\t\tDuration:      pulumi.String(\"P6M\"),\n\t\t\t\t\t\t\tDataStoreType: pulumi.String(\"VaultStore\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tPriority: pulumi.Int(20),\n\t\t\t\t\tCriteria: \u0026dataprotection.BackupPolicyPostgresqlFlexibleServerRetentionRuleCriteriaArgs{\n\t\t\t\t\t\tAbsoluteCriteria: pulumi.String(\"FirstOfWeek\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026dataprotection.BackupPolicyPostgresqlFlexibleServerRetentionRuleArgs{\n\t\t\t\t\tName: pulumi.String(\"thursday\"),\n\t\t\t\t\tLifeCycles: dataprotection.BackupPolicyPostgresqlFlexibleServerRetentionRuleLifeCycleArray{\n\t\t\t\t\t\t\u0026dataprotection.BackupPolicyPostgresqlFlexibleServerRetentionRuleLifeCycleArgs{\n\t\t\t\t\t\t\tDuration:      pulumi.String(\"P1W\"),\n\t\t\t\t\t\t\tDataStoreType: pulumi.String(\"VaultStore\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tPriority: pulumi.Int(25),\n\t\t\t\t\tCriteria: \u0026dataprotection.BackupPolicyPostgresqlFlexibleServerRetentionRuleCriteriaArgs{\n\t\t\t\t\t\tDaysOfWeeks: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"Thursday\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tScheduledBackupTimes: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"2021-05-23T02:30:00Z\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026dataprotection.BackupPolicyPostgresqlFlexibleServerRetentionRuleArgs{\n\t\t\t\t\tName: pulumi.String(\"monthly\"),\n\t\t\t\t\tLifeCycles: dataprotection.BackupPolicyPostgresqlFlexibleServerRetentionRuleLifeCycleArray{\n\t\t\t\t\t\t\u0026dataprotection.BackupPolicyPostgresqlFlexibleServerRetentionRuleLifeCycleArgs{\n\t\t\t\t\t\t\tDuration:      pulumi.String(\"P1D\"),\n\t\t\t\t\t\t\tDataStoreType: pulumi.String(\"VaultStore\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tPriority: pulumi.Int(15),\n\t\t\t\t\tCriteria: \u0026dataprotection.BackupPolicyPostgresqlFlexibleServerRetentionRuleCriteriaArgs{\n\t\t\t\t\t\tWeeksOfMonths: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"First\"),\n\t\t\t\t\t\t\tpulumi.String(\"Last\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tDaysOfWeeks: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"Tuesday\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tScheduledBackupTimes: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"2021-05-23T02:30:00Z\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.dataprotection.BackupVault;\nimport com.pulumi.azure.dataprotection.BackupVaultArgs;\nimport com.pulumi.azure.dataprotection.inputs.BackupVaultIdentityArgs;\nimport com.pulumi.azure.dataprotection.BackupPolicyPostgresqlFlexibleServer;\nimport com.pulumi.azure.dataprotection.BackupPolicyPostgresqlFlexibleServerArgs;\nimport com.pulumi.azure.dataprotection.inputs.BackupPolicyPostgresqlFlexibleServerDefaultRetentionRuleArgs;\nimport com.pulumi.azure.dataprotection.inputs.BackupPolicyPostgresqlFlexibleServerRetentionRuleArgs;\nimport com.pulumi.azure.dataprotection.inputs.BackupPolicyPostgresqlFlexibleServerRetentionRuleCriteriaArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleBackupVault = new BackupVault(\"exampleBackupVault\", BackupVaultArgs.builder()\n            .name(\"example-backup-vault\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .datastoreType(\"VaultStore\")\n            .redundancy(\"LocallyRedundant\")\n            .identity(BackupVaultIdentityArgs.builder()\n                .type(\"SystemAssigned\")\n                .build())\n            .build());\n\n        var exampleBackupPolicyPostgresqlFlexibleServer = new BackupPolicyPostgresqlFlexibleServer(\"exampleBackupPolicyPostgresqlFlexibleServer\", BackupPolicyPostgresqlFlexibleServerArgs.builder()\n            .name(\"example-backup-policy\")\n            .vaultId(exampleBackupVault.id())\n            .backupRepeatingTimeIntervals(\"R/2021-05-23T02:30:00+00:00/P1W\")\n            .timeZone(\"India Standard Time\")\n            .defaultRetentionRule(BackupPolicyPostgresqlFlexibleServerDefaultRetentionRuleArgs.builder()\n                .lifeCycles(BackupPolicyPostgresqlFlexibleServerDefaultRetentionRuleLifeCycleArgs.builder()\n                    .duration(\"P4M\")\n                    .dataStoreType(\"VaultStore\")\n                    .build())\n                .build())\n            .retentionRules(            \n                BackupPolicyPostgresqlFlexibleServerRetentionRuleArgs.builder()\n                    .name(\"weekly\")\n                    .lifeCycles(BackupPolicyPostgresqlFlexibleServerRetentionRuleLifeCycleArgs.builder()\n                        .duration(\"P6M\")\n                        .dataStoreType(\"VaultStore\")\n                        .build())\n                    .priority(20)\n                    .criteria(BackupPolicyPostgresqlFlexibleServerRetentionRuleCriteriaArgs.builder()\n                        .absoluteCriteria(\"FirstOfWeek\")\n                        .build())\n                    .build(),\n                BackupPolicyPostgresqlFlexibleServerRetentionRuleArgs.builder()\n                    .name(\"thursday\")\n                    .lifeCycles(BackupPolicyPostgresqlFlexibleServerRetentionRuleLifeCycleArgs.builder()\n                        .duration(\"P1W\")\n                        .dataStoreType(\"VaultStore\")\n                        .build())\n                    .priority(25)\n                    .criteria(BackupPolicyPostgresqlFlexibleServerRetentionRuleCriteriaArgs.builder()\n                        .daysOfWeeks(\"Thursday\")\n                        .scheduledBackupTimes(\"2021-05-23T02:30:00Z\")\n                        .build())\n                    .build(),\n                BackupPolicyPostgresqlFlexibleServerRetentionRuleArgs.builder()\n                    .name(\"monthly\")\n                    .lifeCycles(BackupPolicyPostgresqlFlexibleServerRetentionRuleLifeCycleArgs.builder()\n                        .duration(\"P1D\")\n                        .dataStoreType(\"VaultStore\")\n                        .build())\n                    .priority(15)\n                    .criteria(BackupPolicyPostgresqlFlexibleServerRetentionRuleCriteriaArgs.builder()\n                        .weeksOfMonths(                        \n                            \"First\",\n                            \"Last\")\n                        .daysOfWeeks(\"Tuesday\")\n                        .scheduledBackupTimes(\"2021-05-23T02:30:00Z\")\n                        .build())\n                    .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleBackupVault:\n    type: azure:dataprotection:BackupVault\n    name: example\n    properties:\n      name: example-backup-vault\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      datastoreType: VaultStore\n      redundancy: LocallyRedundant\n      identity:\n        type: SystemAssigned\n  exampleBackupPolicyPostgresqlFlexibleServer:\n    type: azure:dataprotection:BackupPolicyPostgresqlFlexibleServer\n    name: example\n    properties:\n      name: example-backup-policy\n      vaultId: ${exampleBackupVault.id}\n      backupRepeatingTimeIntervals:\n        - R/2021-05-23T02:30:00+00:00/P1W\n      timeZone: India Standard Time\n      defaultRetentionRule:\n        lifeCycles:\n          - duration: P4M\n            dataStoreType: VaultStore\n      retentionRules:\n        - name: weekly\n          lifeCycles:\n            - duration: P6M\n              dataStoreType: VaultStore\n          priority: 20\n          criteria:\n            absoluteCriteria: FirstOfWeek\n        - name: thursday\n          lifeCycles:\n            - duration: P1W\n              dataStoreType: VaultStore\n          priority: 25\n          criteria:\n            daysOfWeeks:\n              - Thursday\n            scheduledBackupTimes:\n              - 2021-05-23T02:30:00Z\n        - name: monthly\n          lifeCycles:\n            - duration: P1D\n              dataStoreType: VaultStore\n          priority: 15\n          criteria:\n            weeksOfMonths:\n              - First\n              - Last\n            daysOfWeeks:\n              - Tuesday\n            scheduledBackupTimes:\n              - 2021-05-23T02:30:00Z\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.DataProtection` - 2024-04-01\n\n## Import\n\nBackup Policy PostgreSQL Flexible Server's can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:dataprotection/backupPolicyPostgresqlFlexibleServer:BackupPolicyPostgresqlFlexibleServer example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.DataProtection/backupVaults/vault1/backupPolicies/backupPolicy1\n```\n\n","properties":{"backupRepeatingTimeIntervals":{"type":"array","items":{"type":"string"},"description":"Specifies a list of repeating time interval. It supports weekly back. It should follow `ISO 8601` repeating time interval format. Changing this forces a new resource to be created.\n"},"defaultRetentionRule":{"$ref":"#/types/azure:dataprotection/BackupPolicyPostgresqlFlexibleServerDefaultRetentionRule:BackupPolicyPostgresqlFlexibleServerDefaultRetentionRule","description":"A \u003cspan pulumi-lang-nodejs=\"`defaultRetentionRule`\" pulumi-lang-dotnet=\"`DefaultRetentionRule`\" pulumi-lang-go=\"`defaultRetentionRule`\" pulumi-lang-python=\"`default_retention_rule`\" pulumi-lang-yaml=\"`defaultRetentionRule`\" pulumi-lang-java=\"`defaultRetentionRule`\"\u003e`default_retention_rule`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"Specifies the name of the Backup Policy for the PostgreSQL Flexible Server. Changing this forces a new resource to be created.\n"},"retentionRules":{"type":"array","items":{"$ref":"#/types/azure:dataprotection/BackupPolicyPostgresqlFlexibleServerRetentionRule:BackupPolicyPostgresqlFlexibleServerRetentionRule"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`retentionRule`\" pulumi-lang-dotnet=\"`RetentionRule`\" pulumi-lang-go=\"`retentionRule`\" pulumi-lang-python=\"`retention_rule`\" pulumi-lang-yaml=\"`retentionRule`\" pulumi-lang-java=\"`retentionRule`\"\u003e`retention_rule`\u003c/span\u003e blocks as defined below. Changing this forces a new resource to be created.\n"},"timeZone":{"type":"string","description":"Specifies the Time Zone which should be used by the backup schedule. Changing this forces a new resource to be created.\n"},"vaultId":{"type":"string","description":"The ID of the Backup Vault where the Backup Policy PostgreSQL Flexible Server should exist. Changing this forces a new resource to be created.\n"}},"required":["backupRepeatingTimeIntervals","defaultRetentionRule","name","vaultId"],"inputProperties":{"backupRepeatingTimeIntervals":{"type":"array","items":{"type":"string"},"description":"Specifies a list of repeating time interval. It supports weekly back. It should follow `ISO 8601` repeating time interval format. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"defaultRetentionRule":{"$ref":"#/types/azure:dataprotection/BackupPolicyPostgresqlFlexibleServerDefaultRetentionRule:BackupPolicyPostgresqlFlexibleServerDefaultRetentionRule","description":"A \u003cspan pulumi-lang-nodejs=\"`defaultRetentionRule`\" pulumi-lang-dotnet=\"`DefaultRetentionRule`\" pulumi-lang-go=\"`defaultRetentionRule`\" pulumi-lang-python=\"`default_retention_rule`\" pulumi-lang-yaml=\"`defaultRetentionRule`\" pulumi-lang-java=\"`defaultRetentionRule`\"\u003e`default_retention_rule`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the Backup Policy for the PostgreSQL Flexible Server. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"retentionRules":{"type":"array","items":{"$ref":"#/types/azure:dataprotection/BackupPolicyPostgresqlFlexibleServerRetentionRule:BackupPolicyPostgresqlFlexibleServerRetentionRule"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`retentionRule`\" pulumi-lang-dotnet=\"`RetentionRule`\" pulumi-lang-go=\"`retentionRule`\" pulumi-lang-python=\"`retention_rule`\" pulumi-lang-yaml=\"`retentionRule`\" pulumi-lang-java=\"`retentionRule`\"\u003e`retention_rule`\u003c/span\u003e blocks as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"timeZone":{"type":"string","description":"Specifies the Time Zone which should be used by the backup schedule. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"vaultId":{"type":"string","description":"The ID of the Backup Vault where the Backup Policy PostgreSQL Flexible Server should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["backupRepeatingTimeIntervals","defaultRetentionRule","vaultId"],"stateInputs":{"description":"Input properties used for looking up and filtering BackupPolicyPostgresqlFlexibleServer resources.\n","properties":{"backupRepeatingTimeIntervals":{"type":"array","items":{"type":"string"},"description":"Specifies a list of repeating time interval. It supports weekly back. It should follow `ISO 8601` repeating time interval format. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"defaultRetentionRule":{"$ref":"#/types/azure:dataprotection/BackupPolicyPostgresqlFlexibleServerDefaultRetentionRule:BackupPolicyPostgresqlFlexibleServerDefaultRetentionRule","description":"A \u003cspan pulumi-lang-nodejs=\"`defaultRetentionRule`\" pulumi-lang-dotnet=\"`DefaultRetentionRule`\" pulumi-lang-go=\"`defaultRetentionRule`\" pulumi-lang-python=\"`default_retention_rule`\" pulumi-lang-yaml=\"`defaultRetentionRule`\" pulumi-lang-java=\"`defaultRetentionRule`\"\u003e`default_retention_rule`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the Backup Policy for the PostgreSQL Flexible Server. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"retentionRules":{"type":"array","items":{"$ref":"#/types/azure:dataprotection/BackupPolicyPostgresqlFlexibleServerRetentionRule:BackupPolicyPostgresqlFlexibleServerRetentionRule"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`retentionRule`\" pulumi-lang-dotnet=\"`RetentionRule`\" pulumi-lang-go=\"`retentionRule`\" pulumi-lang-python=\"`retention_rule`\" pulumi-lang-yaml=\"`retentionRule`\" pulumi-lang-java=\"`retentionRule`\"\u003e`retention_rule`\u003c/span\u003e blocks as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"timeZone":{"type":"string","description":"Specifies the Time Zone which should be used by the backup schedule. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"vaultId":{"type":"string","description":"The ID of the Backup Vault where the Backup Policy PostgreSQL Flexible Server should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:dataprotection/backupVault:BackupVault":{"description":"Manages a Backup Vault.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleBackupVault = new azure.dataprotection.BackupVault(\"example\", {\n    name: \"example-backup-vault\",\n    resourceGroupName: example.name,\n    location: example.location,\n    datastoreType: \"VaultStore\",\n    redundancy: \"LocallyRedundant\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_backup_vault = azure.dataprotection.BackupVault(\"example\",\n    name=\"example-backup-vault\",\n    resource_group_name=example.name,\n    location=example.location,\n    datastore_type=\"VaultStore\",\n    redundancy=\"LocallyRedundant\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleBackupVault = new Azure.DataProtection.BackupVault(\"example\", new()\n    {\n        Name = \"example-backup-vault\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        DatastoreType = \"VaultStore\",\n        Redundancy = \"LocallyRedundant\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/dataprotection\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = dataprotection.NewBackupVault(ctx, \"example\", \u0026dataprotection.BackupVaultArgs{\n\t\t\tName:              pulumi.String(\"example-backup-vault\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tDatastoreType:     pulumi.String(\"VaultStore\"),\n\t\t\tRedundancy:        pulumi.String(\"LocallyRedundant\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.dataprotection.BackupVault;\nimport com.pulumi.azure.dataprotection.BackupVaultArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleBackupVault = new BackupVault(\"exampleBackupVault\", BackupVaultArgs.builder()\n            .name(\"example-backup-vault\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .datastoreType(\"VaultStore\")\n            .redundancy(\"LocallyRedundant\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleBackupVault:\n    type: azure:dataprotection:BackupVault\n    name: example\n    properties:\n      name: example-backup-vault\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      datastoreType: VaultStore\n      redundancy: LocallyRedundant\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.DataProtection` - 2024-04-01\n\n## Import\n\nBackup Vaults can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:dataprotection/backupVault:BackupVault example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.DataProtection/backupVaults/vault1\n```\n\n","properties":{"crossRegionRestoreEnabled":{"type":"boolean","description":"Whether to enable cross-region restore for the Backup Vault.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`crossRegionRestoreEnabled`\" pulumi-lang-dotnet=\"`CrossRegionRestoreEnabled`\" pulumi-lang-go=\"`crossRegionRestoreEnabled`\" pulumi-lang-python=\"`cross_region_restore_enabled`\" pulumi-lang-yaml=\"`crossRegionRestoreEnabled`\" pulumi-lang-java=\"`crossRegionRestoreEnabled`\"\u003e`cross_region_restore_enabled`\u003c/span\u003e can only be specified when \u003cspan pulumi-lang-nodejs=\"`redundancy`\" pulumi-lang-dotnet=\"`Redundancy`\" pulumi-lang-go=\"`redundancy`\" pulumi-lang-python=\"`redundancy`\" pulumi-lang-yaml=\"`redundancy`\" pulumi-lang-java=\"`redundancy`\"\u003e`redundancy`\u003c/span\u003e is specified for `GeoRedundant`. Once \u003cspan pulumi-lang-nodejs=\"`crossRegionRestoreEnabled`\" pulumi-lang-dotnet=\"`CrossRegionRestoreEnabled`\" pulumi-lang-go=\"`crossRegionRestoreEnabled`\" pulumi-lang-python=\"`cross_region_restore_enabled`\" pulumi-lang-yaml=\"`crossRegionRestoreEnabled`\" pulumi-lang-java=\"`crossRegionRestoreEnabled`\"\u003e`cross_region_restore_enabled`\u003c/span\u003e is enabled, it cannot be disabled.\n"},"datastoreType":{"type":"string","description":"Specifies the type of the data store. Possible values are `ArchiveStore`, `OperationalStore`, `SnapshotStore` and `VaultStore`. Changing this forces a new resource to be created.\n\n\u003e **Note:** The `SnapshotStore` will be removed in version 4.0 as it has been replaced by `OperationalStore`.\n"},"identity":{"$ref":"#/types/azure:dataprotection/BackupVaultIdentity:BackupVaultIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"immutability":{"type":"string","description":"The state of immutability for this Backup Vault. Possible values are `Disabled`, `Locked`, and `Unlocked`. Defaults to `Disabled`.\n"},"location":{"type":"string","description":"The Azure Region where the Backup Vault should exist. Changing this forces a new Backup Vault to be created.\n"},"name":{"type":"string","description":"Specifies the name of the Backup Vault. Changing this forces a new Backup Vault to be created.\n"},"redundancy":{"type":"string","description":"Specifies the backup storage redundancy. Possible values are `GeoRedundant`, `LocallyRedundant` and `ZoneRedundant`. Changing this forces a new Backup Vault to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Backup Vault should exist. Changing this forces a new Backup Vault to be created.\n"},"retentionDurationInDays":{"type":"number","description":"The soft delete retention duration for this Backup Vault. Possible values are between \u003cspan pulumi-lang-nodejs=\"`14`\" pulumi-lang-dotnet=\"`14`\" pulumi-lang-go=\"`14`\" pulumi-lang-python=\"`14`\" pulumi-lang-yaml=\"`14`\" pulumi-lang-java=\"`14`\"\u003e`14`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`180`\" pulumi-lang-dotnet=\"`180`\" pulumi-lang-go=\"`180`\" pulumi-lang-python=\"`180`\" pulumi-lang-yaml=\"`180`\" pulumi-lang-java=\"`180`\"\u003e`180`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`14`\" pulumi-lang-dotnet=\"`14`\" pulumi-lang-go=\"`14`\" pulumi-lang-python=\"`14`\" pulumi-lang-yaml=\"`14`\" pulumi-lang-java=\"`14`\"\u003e`14`\u003c/span\u003e.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`retentionDurationInDays`\" pulumi-lang-dotnet=\"`RetentionDurationInDays`\" pulumi-lang-go=\"`retentionDurationInDays`\" pulumi-lang-python=\"`retention_duration_in_days`\" pulumi-lang-yaml=\"`retentionDurationInDays`\" pulumi-lang-java=\"`retentionDurationInDays`\"\u003e`retention_duration_in_days`\u003c/span\u003e is the number of days for which deleted data is retained before being permanently deleted. Retention period till 14 days are free of cost, however, retention beyond 14 days may incur additional charges. The \u003cspan pulumi-lang-nodejs=\"`retentionDurationInDays`\" pulumi-lang-dotnet=\"`RetentionDurationInDays`\" pulumi-lang-go=\"`retentionDurationInDays`\" pulumi-lang-python=\"`retention_duration_in_days`\" pulumi-lang-yaml=\"`retentionDurationInDays`\" pulumi-lang-java=\"`retentionDurationInDays`\"\u003e`retention_duration_in_days`\u003c/span\u003e is required when the \u003cspan pulumi-lang-nodejs=\"`softDelete`\" pulumi-lang-dotnet=\"`SoftDelete`\" pulumi-lang-go=\"`softDelete`\" pulumi-lang-python=\"`soft_delete`\" pulumi-lang-yaml=\"`softDelete`\" pulumi-lang-java=\"`softDelete`\"\u003e`soft_delete`\u003c/span\u003e is set to `On`.\n"},"softDelete":{"type":"string","description":"The state of soft delete for this Backup Vault. Possible values are `AlwaysOn`, `Off`, and `On`. Defaults to `On`.\n\n\u003e **Note:** Once the \u003cspan pulumi-lang-nodejs=\"`softDelete`\" pulumi-lang-dotnet=\"`SoftDelete`\" pulumi-lang-go=\"`softDelete`\" pulumi-lang-python=\"`soft_delete`\" pulumi-lang-yaml=\"`softDelete`\" pulumi-lang-java=\"`softDelete`\"\u003e`soft_delete`\u003c/span\u003e is set to `AlwaysOn`, the setting cannot be changed.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Backup Vault.\n"}},"required":["datastoreType","location","name","redundancy","resourceGroupName"],"inputProperties":{"crossRegionRestoreEnabled":{"type":"boolean","description":"Whether to enable cross-region restore for the Backup Vault.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`crossRegionRestoreEnabled`\" pulumi-lang-dotnet=\"`CrossRegionRestoreEnabled`\" pulumi-lang-go=\"`crossRegionRestoreEnabled`\" pulumi-lang-python=\"`cross_region_restore_enabled`\" pulumi-lang-yaml=\"`crossRegionRestoreEnabled`\" pulumi-lang-java=\"`crossRegionRestoreEnabled`\"\u003e`cross_region_restore_enabled`\u003c/span\u003e can only be specified when \u003cspan pulumi-lang-nodejs=\"`redundancy`\" pulumi-lang-dotnet=\"`Redundancy`\" pulumi-lang-go=\"`redundancy`\" pulumi-lang-python=\"`redundancy`\" pulumi-lang-yaml=\"`redundancy`\" pulumi-lang-java=\"`redundancy`\"\u003e`redundancy`\u003c/span\u003e is specified for `GeoRedundant`. Once \u003cspan pulumi-lang-nodejs=\"`crossRegionRestoreEnabled`\" pulumi-lang-dotnet=\"`CrossRegionRestoreEnabled`\" pulumi-lang-go=\"`crossRegionRestoreEnabled`\" pulumi-lang-python=\"`cross_region_restore_enabled`\" pulumi-lang-yaml=\"`crossRegionRestoreEnabled`\" pulumi-lang-java=\"`crossRegionRestoreEnabled`\"\u003e`cross_region_restore_enabled`\u003c/span\u003e is enabled, it cannot be disabled.\n"},"datastoreType":{"type":"string","description":"Specifies the type of the data store. Possible values are `ArchiveStore`, `OperationalStore`, `SnapshotStore` and `VaultStore`. Changing this forces a new resource to be created.\n\n\u003e **Note:** The `SnapshotStore` will be removed in version 4.0 as it has been replaced by `OperationalStore`.\n","willReplaceOnChanges":true},"identity":{"$ref":"#/types/azure:dataprotection/BackupVaultIdentity:BackupVaultIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"immutability":{"type":"string","description":"The state of immutability for this Backup Vault. Possible values are `Disabled`, `Locked`, and `Unlocked`. Defaults to `Disabled`.\n"},"location":{"type":"string","description":"The Azure Region where the Backup Vault should exist. Changing this forces a new Backup Vault to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the Backup Vault. Changing this forces a new Backup Vault to be created.\n","willReplaceOnChanges":true},"redundancy":{"type":"string","description":"Specifies the backup storage redundancy. Possible values are `GeoRedundant`, `LocallyRedundant` and `ZoneRedundant`. Changing this forces a new Backup Vault to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Backup Vault should exist. Changing this forces a new Backup Vault to be created.\n","willReplaceOnChanges":true},"retentionDurationInDays":{"type":"number","description":"The soft delete retention duration for this Backup Vault. Possible values are between \u003cspan pulumi-lang-nodejs=\"`14`\" pulumi-lang-dotnet=\"`14`\" pulumi-lang-go=\"`14`\" pulumi-lang-python=\"`14`\" pulumi-lang-yaml=\"`14`\" pulumi-lang-java=\"`14`\"\u003e`14`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`180`\" pulumi-lang-dotnet=\"`180`\" pulumi-lang-go=\"`180`\" pulumi-lang-python=\"`180`\" pulumi-lang-yaml=\"`180`\" pulumi-lang-java=\"`180`\"\u003e`180`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`14`\" pulumi-lang-dotnet=\"`14`\" pulumi-lang-go=\"`14`\" pulumi-lang-python=\"`14`\" pulumi-lang-yaml=\"`14`\" pulumi-lang-java=\"`14`\"\u003e`14`\u003c/span\u003e.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`retentionDurationInDays`\" pulumi-lang-dotnet=\"`RetentionDurationInDays`\" pulumi-lang-go=\"`retentionDurationInDays`\" pulumi-lang-python=\"`retention_duration_in_days`\" pulumi-lang-yaml=\"`retentionDurationInDays`\" pulumi-lang-java=\"`retentionDurationInDays`\"\u003e`retention_duration_in_days`\u003c/span\u003e is the number of days for which deleted data is retained before being permanently deleted. Retention period till 14 days are free of cost, however, retention beyond 14 days may incur additional charges. The \u003cspan pulumi-lang-nodejs=\"`retentionDurationInDays`\" pulumi-lang-dotnet=\"`RetentionDurationInDays`\" pulumi-lang-go=\"`retentionDurationInDays`\" pulumi-lang-python=\"`retention_duration_in_days`\" pulumi-lang-yaml=\"`retentionDurationInDays`\" pulumi-lang-java=\"`retentionDurationInDays`\"\u003e`retention_duration_in_days`\u003c/span\u003e is required when the \u003cspan pulumi-lang-nodejs=\"`softDelete`\" pulumi-lang-dotnet=\"`SoftDelete`\" pulumi-lang-go=\"`softDelete`\" pulumi-lang-python=\"`soft_delete`\" pulumi-lang-yaml=\"`softDelete`\" pulumi-lang-java=\"`softDelete`\"\u003e`soft_delete`\u003c/span\u003e is set to `On`.\n"},"softDelete":{"type":"string","description":"The state of soft delete for this Backup Vault. Possible values are `AlwaysOn`, `Off`, and `On`. Defaults to `On`.\n\n\u003e **Note:** Once the \u003cspan pulumi-lang-nodejs=\"`softDelete`\" pulumi-lang-dotnet=\"`SoftDelete`\" pulumi-lang-go=\"`softDelete`\" pulumi-lang-python=\"`soft_delete`\" pulumi-lang-yaml=\"`softDelete`\" pulumi-lang-java=\"`softDelete`\"\u003e`soft_delete`\u003c/span\u003e is set to `AlwaysOn`, the setting cannot be changed.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Backup Vault.\n"}},"requiredInputs":["datastoreType","redundancy","resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering BackupVault resources.\n","properties":{"crossRegionRestoreEnabled":{"type":"boolean","description":"Whether to enable cross-region restore for the Backup Vault.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`crossRegionRestoreEnabled`\" pulumi-lang-dotnet=\"`CrossRegionRestoreEnabled`\" pulumi-lang-go=\"`crossRegionRestoreEnabled`\" pulumi-lang-python=\"`cross_region_restore_enabled`\" pulumi-lang-yaml=\"`crossRegionRestoreEnabled`\" pulumi-lang-java=\"`crossRegionRestoreEnabled`\"\u003e`cross_region_restore_enabled`\u003c/span\u003e can only be specified when \u003cspan pulumi-lang-nodejs=\"`redundancy`\" pulumi-lang-dotnet=\"`Redundancy`\" pulumi-lang-go=\"`redundancy`\" pulumi-lang-python=\"`redundancy`\" pulumi-lang-yaml=\"`redundancy`\" pulumi-lang-java=\"`redundancy`\"\u003e`redundancy`\u003c/span\u003e is specified for `GeoRedundant`. Once \u003cspan pulumi-lang-nodejs=\"`crossRegionRestoreEnabled`\" pulumi-lang-dotnet=\"`CrossRegionRestoreEnabled`\" pulumi-lang-go=\"`crossRegionRestoreEnabled`\" pulumi-lang-python=\"`cross_region_restore_enabled`\" pulumi-lang-yaml=\"`crossRegionRestoreEnabled`\" pulumi-lang-java=\"`crossRegionRestoreEnabled`\"\u003e`cross_region_restore_enabled`\u003c/span\u003e is enabled, it cannot be disabled.\n"},"datastoreType":{"type":"string","description":"Specifies the type of the data store. Possible values are `ArchiveStore`, `OperationalStore`, `SnapshotStore` and `VaultStore`. Changing this forces a new resource to be created.\n\n\u003e **Note:** The `SnapshotStore` will be removed in version 4.0 as it has been replaced by `OperationalStore`.\n","willReplaceOnChanges":true},"identity":{"$ref":"#/types/azure:dataprotection/BackupVaultIdentity:BackupVaultIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"immutability":{"type":"string","description":"The state of immutability for this Backup Vault. Possible values are `Disabled`, `Locked`, and `Unlocked`. Defaults to `Disabled`.\n"},"location":{"type":"string","description":"The Azure Region where the Backup Vault should exist. Changing this forces a new Backup Vault to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the Backup Vault. Changing this forces a new Backup Vault to be created.\n","willReplaceOnChanges":true},"redundancy":{"type":"string","description":"Specifies the backup storage redundancy. Possible values are `GeoRedundant`, `LocallyRedundant` and `ZoneRedundant`. Changing this forces a new Backup Vault to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Backup Vault should exist. Changing this forces a new Backup Vault to be created.\n","willReplaceOnChanges":true},"retentionDurationInDays":{"type":"number","description":"The soft delete retention duration for this Backup Vault. Possible values are between \u003cspan pulumi-lang-nodejs=\"`14`\" pulumi-lang-dotnet=\"`14`\" pulumi-lang-go=\"`14`\" pulumi-lang-python=\"`14`\" pulumi-lang-yaml=\"`14`\" pulumi-lang-java=\"`14`\"\u003e`14`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`180`\" pulumi-lang-dotnet=\"`180`\" pulumi-lang-go=\"`180`\" pulumi-lang-python=\"`180`\" pulumi-lang-yaml=\"`180`\" pulumi-lang-java=\"`180`\"\u003e`180`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`14`\" pulumi-lang-dotnet=\"`14`\" pulumi-lang-go=\"`14`\" pulumi-lang-python=\"`14`\" pulumi-lang-yaml=\"`14`\" pulumi-lang-java=\"`14`\"\u003e`14`\u003c/span\u003e.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`retentionDurationInDays`\" pulumi-lang-dotnet=\"`RetentionDurationInDays`\" pulumi-lang-go=\"`retentionDurationInDays`\" pulumi-lang-python=\"`retention_duration_in_days`\" pulumi-lang-yaml=\"`retentionDurationInDays`\" pulumi-lang-java=\"`retentionDurationInDays`\"\u003e`retention_duration_in_days`\u003c/span\u003e is the number of days for which deleted data is retained before being permanently deleted. Retention period till 14 days are free of cost, however, retention beyond 14 days may incur additional charges. The \u003cspan pulumi-lang-nodejs=\"`retentionDurationInDays`\" pulumi-lang-dotnet=\"`RetentionDurationInDays`\" pulumi-lang-go=\"`retentionDurationInDays`\" pulumi-lang-python=\"`retention_duration_in_days`\" pulumi-lang-yaml=\"`retentionDurationInDays`\" pulumi-lang-java=\"`retentionDurationInDays`\"\u003e`retention_duration_in_days`\u003c/span\u003e is required when the \u003cspan pulumi-lang-nodejs=\"`softDelete`\" pulumi-lang-dotnet=\"`SoftDelete`\" pulumi-lang-go=\"`softDelete`\" pulumi-lang-python=\"`soft_delete`\" pulumi-lang-yaml=\"`softDelete`\" pulumi-lang-java=\"`softDelete`\"\u003e`soft_delete`\u003c/span\u003e is set to `On`.\n"},"softDelete":{"type":"string","description":"The state of soft delete for this Backup Vault. Possible values are `AlwaysOn`, `Off`, and `On`. Defaults to `On`.\n\n\u003e **Note:** Once the \u003cspan pulumi-lang-nodejs=\"`softDelete`\" pulumi-lang-dotnet=\"`SoftDelete`\" pulumi-lang-go=\"`softDelete`\" pulumi-lang-python=\"`soft_delete`\" pulumi-lang-yaml=\"`softDelete`\" pulumi-lang-java=\"`softDelete`\"\u003e`soft_delete`\u003c/span\u003e is set to `AlwaysOn`, the setting cannot be changed.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Backup Vault.\n"}},"type":"object"}},"azure:dataprotection/backupVaultCustomerManagedKey:BackupVaultCustomerManagedKey":{"description":"Manages a Backup Vault Customer Managed Key.\n\n!\u003e **Note:** It is not possible to remove the Customer Managed Key from the Backup Vault once it's been added. To remove the Customer Managed Key, the parent Data Protection Backup Vault must be deleted and recreated.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleBackupVault = new azure.dataprotection.BackupVault(\"example\", {\n    name: \"example-backup-vault\",\n    resourceGroupName: example.name,\n    location: example.location,\n    datastoreType: \"VaultStore\",\n    redundancy: \"LocallyRedundant\",\n    identity: {\n        type: \"SystemAssigned\",\n    },\n});\nconst current = azure.core.getClientConfig({});\nconst exampleKeyVault = new azure.keyvault.KeyVault(\"example\", {\n    name: \"example-key-vault\",\n    location: example.location,\n    resourceGroupName: example.name,\n    enabledForDiskEncryption: true,\n    tenantId: current.then(current =\u003e current.tenantId),\n    softDeleteRetentionDays: 7,\n    purgeProtectionEnabled: true,\n    skuName: \"standard\",\n    accessPolicies: [\n        {\n            tenantId: current.then(current =\u003e current.tenantId),\n            objectId: current.then(current =\u003e current.objectId),\n            keyPermissions: [\n                \"Create\",\n                \"Decrypt\",\n                \"Encrypt\",\n                \"Delete\",\n                \"Get\",\n                \"List\",\n                \"Purge\",\n                \"UnwrapKey\",\n                \"WrapKey\",\n                \"Verify\",\n                \"GetRotationPolicy\",\n            ],\n            secretPermissions: [\"Set\"],\n        },\n        {\n            tenantId: exampleBackupVault.identity.apply(identity =\u003e identity?.tenantId),\n            objectId: exampleBackupVault.identity.apply(identity =\u003e identity?.principalId),\n            keyPermissions: [\n                \"Create\",\n                \"Decrypt\",\n                \"Encrypt\",\n                \"Delete\",\n                \"Get\",\n                \"List\",\n                \"Purge\",\n                \"UnwrapKey\",\n                \"WrapKey\",\n                \"Verify\",\n                \"GetRotationPolicy\",\n            ],\n            secretPermissions: [\"Set\"],\n        },\n    ],\n});\nconst exampleKey = new azure.keyvault.Key(\"example\", {\n    name: \"example-key\",\n    keyVaultId: exampleKeyVault.id,\n    keyType: \"RSA\",\n    keySize: 2048,\n    keyOpts: [\n        \"decrypt\",\n        \"encrypt\",\n        \"sign\",\n        \"unwrapKey\",\n        \"verify\",\n        \"wrapKey\",\n    ],\n});\nconst exampleBackupVaultCustomerManagedKey = new azure.dataprotection.BackupVaultCustomerManagedKey(\"example\", {\n    dataProtectionBackupVaultId: exampleBackupVault.id,\n    keyVaultKeyId: exampleKey.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_backup_vault = azure.dataprotection.BackupVault(\"example\",\n    name=\"example-backup-vault\",\n    resource_group_name=example.name,\n    location=example.location,\n    datastore_type=\"VaultStore\",\n    redundancy=\"LocallyRedundant\",\n    identity={\n        \"type\": \"SystemAssigned\",\n    })\ncurrent = azure.core.get_client_config()\nexample_key_vault = azure.keyvault.KeyVault(\"example\",\n    name=\"example-key-vault\",\n    location=example.location,\n    resource_group_name=example.name,\n    enabled_for_disk_encryption=True,\n    tenant_id=current.tenant_id,\n    soft_delete_retention_days=7,\n    purge_protection_enabled=True,\n    sku_name=\"standard\",\n    access_policies=[\n        {\n            \"tenant_id\": current.tenant_id,\n            \"object_id\": current.object_id,\n            \"key_permissions\": [\n                \"Create\",\n                \"Decrypt\",\n                \"Encrypt\",\n                \"Delete\",\n                \"Get\",\n                \"List\",\n                \"Purge\",\n                \"UnwrapKey\",\n                \"WrapKey\",\n                \"Verify\",\n                \"GetRotationPolicy\",\n            ],\n            \"secret_permissions\": [\"Set\"],\n        },\n        {\n            \"tenant_id\": example_backup_vault.identity.tenant_id,\n            \"object_id\": example_backup_vault.identity.principal_id,\n            \"key_permissions\": [\n                \"Create\",\n                \"Decrypt\",\n                \"Encrypt\",\n                \"Delete\",\n                \"Get\",\n                \"List\",\n                \"Purge\",\n                \"UnwrapKey\",\n                \"WrapKey\",\n                \"Verify\",\n                \"GetRotationPolicy\",\n            ],\n            \"secret_permissions\": [\"Set\"],\n        },\n    ])\nexample_key = azure.keyvault.Key(\"example\",\n    name=\"example-key\",\n    key_vault_id=example_key_vault.id,\n    key_type=\"RSA\",\n    key_size=2048,\n    key_opts=[\n        \"decrypt\",\n        \"encrypt\",\n        \"sign\",\n        \"unwrapKey\",\n        \"verify\",\n        \"wrapKey\",\n    ])\nexample_backup_vault_customer_managed_key = azure.dataprotection.BackupVaultCustomerManagedKey(\"example\",\n    data_protection_backup_vault_id=example_backup_vault.id,\n    key_vault_key_id=example_key.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleBackupVault = new Azure.DataProtection.BackupVault(\"example\", new()\n    {\n        Name = \"example-backup-vault\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        DatastoreType = \"VaultStore\",\n        Redundancy = \"LocallyRedundant\",\n        Identity = new Azure.DataProtection.Inputs.BackupVaultIdentityArgs\n        {\n            Type = \"SystemAssigned\",\n        },\n    });\n\n    var current = Azure.Core.GetClientConfig.Invoke();\n\n    var exampleKeyVault = new Azure.KeyVault.KeyVault(\"example\", new()\n    {\n        Name = \"example-key-vault\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        EnabledForDiskEncryption = true,\n        TenantId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.TenantId),\n        SoftDeleteRetentionDays = 7,\n        PurgeProtectionEnabled = true,\n        SkuName = \"standard\",\n        AccessPolicies = new[]\n        {\n            new Azure.KeyVault.Inputs.KeyVaultAccessPolicyArgs\n            {\n                TenantId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.TenantId),\n                ObjectId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.ObjectId),\n                KeyPermissions = new[]\n                {\n                    \"Create\",\n                    \"Decrypt\",\n                    \"Encrypt\",\n                    \"Delete\",\n                    \"Get\",\n                    \"List\",\n                    \"Purge\",\n                    \"UnwrapKey\",\n                    \"WrapKey\",\n                    \"Verify\",\n                    \"GetRotationPolicy\",\n                },\n                SecretPermissions = new[]\n                {\n                    \"Set\",\n                },\n            },\n            new Azure.KeyVault.Inputs.KeyVaultAccessPolicyArgs\n            {\n                TenantId = exampleBackupVault.Identity.Apply(identity =\u003e identity?.TenantId),\n                ObjectId = exampleBackupVault.Identity.Apply(identity =\u003e identity?.PrincipalId),\n                KeyPermissions = new[]\n                {\n                    \"Create\",\n                    \"Decrypt\",\n                    \"Encrypt\",\n                    \"Delete\",\n                    \"Get\",\n                    \"List\",\n                    \"Purge\",\n                    \"UnwrapKey\",\n                    \"WrapKey\",\n                    \"Verify\",\n                    \"GetRotationPolicy\",\n                },\n                SecretPermissions = new[]\n                {\n                    \"Set\",\n                },\n            },\n        },\n    });\n\n    var exampleKey = new Azure.KeyVault.Key(\"example\", new()\n    {\n        Name = \"example-key\",\n        KeyVaultId = exampleKeyVault.Id,\n        KeyType = \"RSA\",\n        KeySize = 2048,\n        KeyOpts = new[]\n        {\n            \"decrypt\",\n            \"encrypt\",\n            \"sign\",\n            \"unwrapKey\",\n            \"verify\",\n            \"wrapKey\",\n        },\n    });\n\n    var exampleBackupVaultCustomerManagedKey = new Azure.DataProtection.BackupVaultCustomerManagedKey(\"example\", new()\n    {\n        DataProtectionBackupVaultId = exampleBackupVault.Id,\n        KeyVaultKeyId = exampleKey.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/dataprotection\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/keyvault\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleBackupVault, err := dataprotection.NewBackupVault(ctx, \"example\", \u0026dataprotection.BackupVaultArgs{\n\t\t\tName:              pulumi.String(\"example-backup-vault\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tDatastoreType:     pulumi.String(\"VaultStore\"),\n\t\t\tRedundancy:        pulumi.String(\"LocallyRedundant\"),\n\t\t\tIdentity: \u0026dataprotection.BackupVaultIdentityArgs{\n\t\t\t\tType: pulumi.String(\"SystemAssigned\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrent, err := core.GetClientConfig(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleKeyVault, err := keyvault.NewKeyVault(ctx, \"example\", \u0026keyvault.KeyVaultArgs{\n\t\t\tName:                     pulumi.String(\"example-key-vault\"),\n\t\t\tLocation:                 example.Location,\n\t\t\tResourceGroupName:        example.Name,\n\t\t\tEnabledForDiskEncryption: pulumi.Bool(true),\n\t\t\tTenantId:                 pulumi.String(current.TenantId),\n\t\t\tSoftDeleteRetentionDays:  pulumi.Int(7),\n\t\t\tPurgeProtectionEnabled:   pulumi.Bool(true),\n\t\t\tSkuName:                  pulumi.String(\"standard\"),\n\t\t\tAccessPolicies: keyvault.KeyVaultAccessPolicyArray{\n\t\t\t\t\u0026keyvault.KeyVaultAccessPolicyArgs{\n\t\t\t\t\tTenantId: pulumi.String(current.TenantId),\n\t\t\t\t\tObjectId: pulumi.String(current.ObjectId),\n\t\t\t\t\tKeyPermissions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"Create\"),\n\t\t\t\t\t\tpulumi.String(\"Decrypt\"),\n\t\t\t\t\t\tpulumi.String(\"Encrypt\"),\n\t\t\t\t\t\tpulumi.String(\"Delete\"),\n\t\t\t\t\t\tpulumi.String(\"Get\"),\n\t\t\t\t\t\tpulumi.String(\"List\"),\n\t\t\t\t\t\tpulumi.String(\"Purge\"),\n\t\t\t\t\t\tpulumi.String(\"UnwrapKey\"),\n\t\t\t\t\t\tpulumi.String(\"WrapKey\"),\n\t\t\t\t\t\tpulumi.String(\"Verify\"),\n\t\t\t\t\t\tpulumi.String(\"GetRotationPolicy\"),\n\t\t\t\t\t},\n\t\t\t\t\tSecretPermissions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"Set\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026keyvault.KeyVaultAccessPolicyArgs{\n\t\t\t\t\tTenantId: exampleBackupVault.Identity.ApplyT(func(identity dataprotection.BackupVaultIdentity) (*string, error) {\n\t\t\t\t\t\treturn \u0026identity.TenantId, nil\n\t\t\t\t\t}).(pulumi.StringPtrOutput),\n\t\t\t\t\tObjectId: exampleBackupVault.Identity.ApplyT(func(identity dataprotection.BackupVaultIdentity) (*string, error) {\n\t\t\t\t\t\treturn \u0026identity.PrincipalId, nil\n\t\t\t\t\t}).(pulumi.StringPtrOutput),\n\t\t\t\t\tKeyPermissions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"Create\"),\n\t\t\t\t\t\tpulumi.String(\"Decrypt\"),\n\t\t\t\t\t\tpulumi.String(\"Encrypt\"),\n\t\t\t\t\t\tpulumi.String(\"Delete\"),\n\t\t\t\t\t\tpulumi.String(\"Get\"),\n\t\t\t\t\t\tpulumi.String(\"List\"),\n\t\t\t\t\t\tpulumi.String(\"Purge\"),\n\t\t\t\t\t\tpulumi.String(\"UnwrapKey\"),\n\t\t\t\t\t\tpulumi.String(\"WrapKey\"),\n\t\t\t\t\t\tpulumi.String(\"Verify\"),\n\t\t\t\t\t\tpulumi.String(\"GetRotationPolicy\"),\n\t\t\t\t\t},\n\t\t\t\t\tSecretPermissions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"Set\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleKey, err := keyvault.NewKey(ctx, \"example\", \u0026keyvault.KeyArgs{\n\t\t\tName:       pulumi.String(\"example-key\"),\n\t\t\tKeyVaultId: exampleKeyVault.ID(),\n\t\t\tKeyType:    pulumi.String(\"RSA\"),\n\t\t\tKeySize:    pulumi.Int(2048),\n\t\t\tKeyOpts: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"decrypt\"),\n\t\t\t\tpulumi.String(\"encrypt\"),\n\t\t\t\tpulumi.String(\"sign\"),\n\t\t\t\tpulumi.String(\"unwrapKey\"),\n\t\t\t\tpulumi.String(\"verify\"),\n\t\t\t\tpulumi.String(\"wrapKey\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = dataprotection.NewBackupVaultCustomerManagedKey(ctx, \"example\", \u0026dataprotection.BackupVaultCustomerManagedKeyArgs{\n\t\t\tDataProtectionBackupVaultId: exampleBackupVault.ID(),\n\t\t\tKeyVaultKeyId:               exampleKey.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.dataprotection.BackupVault;\nimport com.pulumi.azure.dataprotection.BackupVaultArgs;\nimport com.pulumi.azure.dataprotection.inputs.BackupVaultIdentityArgs;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.keyvault.KeyVault;\nimport com.pulumi.azure.keyvault.KeyVaultArgs;\nimport com.pulumi.azure.keyvault.inputs.KeyVaultAccessPolicyArgs;\nimport com.pulumi.azure.keyvault.Key;\nimport com.pulumi.azure.keyvault.KeyArgs;\nimport com.pulumi.azure.dataprotection.BackupVaultCustomerManagedKey;\nimport com.pulumi.azure.dataprotection.BackupVaultCustomerManagedKeyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleBackupVault = new BackupVault(\"exampleBackupVault\", BackupVaultArgs.builder()\n            .name(\"example-backup-vault\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .datastoreType(\"VaultStore\")\n            .redundancy(\"LocallyRedundant\")\n            .identity(BackupVaultIdentityArgs.builder()\n                .type(\"SystemAssigned\")\n                .build())\n            .build());\n\n        final var current = CoreFunctions.getClientConfig(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n        var exampleKeyVault = new KeyVault(\"exampleKeyVault\", KeyVaultArgs.builder()\n            .name(\"example-key-vault\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .enabledForDiskEncryption(true)\n            .tenantId(current.tenantId())\n            .softDeleteRetentionDays(7)\n            .purgeProtectionEnabled(true)\n            .skuName(\"standard\")\n            .accessPolicies(            \n                KeyVaultAccessPolicyArgs.builder()\n                    .tenantId(current.tenantId())\n                    .objectId(current.objectId())\n                    .keyPermissions(                    \n                        \"Create\",\n                        \"Decrypt\",\n                        \"Encrypt\",\n                        \"Delete\",\n                        \"Get\",\n                        \"List\",\n                        \"Purge\",\n                        \"UnwrapKey\",\n                        \"WrapKey\",\n                        \"Verify\",\n                        \"GetRotationPolicy\")\n                    .secretPermissions(\"Set\")\n                    .build(),\n                KeyVaultAccessPolicyArgs.builder()\n                    .tenantId(exampleBackupVault.identity().applyValue(_identity -\u003e _identity.tenantId()))\n                    .objectId(exampleBackupVault.identity().applyValue(_identity -\u003e _identity.principalId()))\n                    .keyPermissions(                    \n                        \"Create\",\n                        \"Decrypt\",\n                        \"Encrypt\",\n                        \"Delete\",\n                        \"Get\",\n                        \"List\",\n                        \"Purge\",\n                        \"UnwrapKey\",\n                        \"WrapKey\",\n                        \"Verify\",\n                        \"GetRotationPolicy\")\n                    .secretPermissions(\"Set\")\n                    .build())\n            .build());\n\n        var exampleKey = new Key(\"exampleKey\", KeyArgs.builder()\n            .name(\"example-key\")\n            .keyVaultId(exampleKeyVault.id())\n            .keyType(\"RSA\")\n            .keySize(2048)\n            .keyOpts(            \n                \"decrypt\",\n                \"encrypt\",\n                \"sign\",\n                \"unwrapKey\",\n                \"verify\",\n                \"wrapKey\")\n            .build());\n\n        var exampleBackupVaultCustomerManagedKey = new BackupVaultCustomerManagedKey(\"exampleBackupVaultCustomerManagedKey\", BackupVaultCustomerManagedKeyArgs.builder()\n            .dataProtectionBackupVaultId(exampleBackupVault.id())\n            .keyVaultKeyId(exampleKey.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleBackupVault:\n    type: azure:dataprotection:BackupVault\n    name: example\n    properties:\n      name: example-backup-vault\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      datastoreType: VaultStore\n      redundancy: LocallyRedundant\n      identity:\n        type: SystemAssigned\n  exampleKeyVault:\n    type: azure:keyvault:KeyVault\n    name: example\n    properties:\n      name: example-key-vault\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      enabledForDiskEncryption: true\n      tenantId: ${current.tenantId}\n      softDeleteRetentionDays: 7\n      purgeProtectionEnabled: true\n      skuName: standard\n      accessPolicies:\n        - tenantId: ${current.tenantId}\n          objectId: ${current.objectId}\n          keyPermissions:\n            - Create\n            - Decrypt\n            - Encrypt\n            - Delete\n            - Get\n            - List\n            - Purge\n            - UnwrapKey\n            - WrapKey\n            - Verify\n            - GetRotationPolicy\n          secretPermissions:\n            - Set\n        - tenantId: ${exampleBackupVault.identity.tenantId}\n          objectId: ${exampleBackupVault.identity.principalId}\n          keyPermissions:\n            - Create\n            - Decrypt\n            - Encrypt\n            - Delete\n            - Get\n            - List\n            - Purge\n            - UnwrapKey\n            - WrapKey\n            - Verify\n            - GetRotationPolicy\n          secretPermissions:\n            - Set\n  exampleKey:\n    type: azure:keyvault:Key\n    name: example\n    properties:\n      name: example-key\n      keyVaultId: ${exampleKeyVault.id}\n      keyType: RSA\n      keySize: 2048\n      keyOpts:\n        - decrypt\n        - encrypt\n        - sign\n        - unwrapKey\n        - verify\n        - wrapKey\n  exampleBackupVaultCustomerManagedKey:\n    type: azure:dataprotection:BackupVaultCustomerManagedKey\n    name: example\n    properties:\n      dataProtectionBackupVaultId: ${exampleBackupVault.id}\n      keyVaultKeyId: ${exampleKey.id}\nvariables:\n  current:\n    fn::invoke:\n      function: azure:core:getClientConfig\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.DataProtection` - 2024-04-01\n\n## Import\n\nBackup Vault Customer Managed Keys can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:dataprotection/backupVaultCustomerManagedKey:BackupVaultCustomerManagedKey example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.DataProtection/backupVaults/vault1\n```\n\n","properties":{"dataProtectionBackupVaultId":{"type":"string","description":"The ID of the Backup Vault. Changing this forces a new resource to be created.\n"},"keyVaultKeyId":{"type":"string","description":"The ID of the Key Vault Key which should be used to Encrypt the data in this Backup Vault.\n"}},"required":["dataProtectionBackupVaultId","keyVaultKeyId"],"inputProperties":{"dataProtectionBackupVaultId":{"type":"string","description":"The ID of the Backup Vault. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"keyVaultKeyId":{"type":"string","description":"The ID of the Key Vault Key which should be used to Encrypt the data in this Backup Vault.\n"}},"requiredInputs":["dataProtectionBackupVaultId","keyVaultKeyId"],"stateInputs":{"description":"Input properties used for looking up and filtering BackupVaultCustomerManagedKey resources.\n","properties":{"dataProtectionBackupVaultId":{"type":"string","description":"The ID of the Backup Vault. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"keyVaultKeyId":{"type":"string","description":"The ID of the Key Vault Key which should be used to Encrypt the data in this Backup Vault.\n"}},"type":"object"}},"azure:dataprotection/resourceGuard:ResourceGuard":{"description":"Manages a Resource Guard.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleResourceGuard = new azure.dataprotection.ResourceGuard(\"example\", {\n    name: \"example-resourceguard\",\n    resourceGroupName: example.name,\n    location: example.location,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_resource_guard = azure.dataprotection.ResourceGuard(\"example\",\n    name=\"example-resourceguard\",\n    resource_group_name=example.name,\n    location=example.location)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleResourceGuard = new Azure.DataProtection.ResourceGuard(\"example\", new()\n    {\n        Name = \"example-resourceguard\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/dataprotection\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = dataprotection.NewResourceGuard(ctx, \"example\", \u0026dataprotection.ResourceGuardArgs{\n\t\t\tName:              pulumi.String(\"example-resourceguard\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.dataprotection.ResourceGuard;\nimport com.pulumi.azure.dataprotection.ResourceGuardArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleResourceGuard = new ResourceGuard(\"exampleResourceGuard\", ResourceGuardArgs.builder()\n            .name(\"example-resourceguard\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleResourceGuard:\n    type: azure:dataprotection:ResourceGuard\n    name: example\n    properties:\n      name: example-resourceguard\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.DataProtection` - 2024-04-01\n\n## Import\n\nResource Guards can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:dataprotection/resourceGuard:ResourceGuard example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.DataProtection/resourceGuards/resourceGuard1\n```\n\n","properties":{"location":{"type":"string","description":"The Azure Region where the Resource Guard should exist. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"The name of the Resource Guard. Changing this forces a new resource to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Resource Guard should exist. Changing this forces a new resource to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Resource Guard.\n"},"vaultCriticalOperationExclusionLists":{"type":"array","items":{"type":"string"},"description":"A list of the critical operations which are not protected by this Resource Guard.\n"}},"required":["location","name","resourceGroupName"],"inputProperties":{"location":{"type":"string","description":"The Azure Region where the Resource Guard should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the Resource Guard. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Resource Guard should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Resource Guard.\n"},"vaultCriticalOperationExclusionLists":{"type":"array","items":{"type":"string"},"description":"A list of the critical operations which are not protected by this Resource Guard.\n"}},"requiredInputs":["resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering ResourceGuard resources.\n","properties":{"location":{"type":"string","description":"The Azure Region where the Resource Guard should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the Resource Guard. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Resource Guard should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Resource Guard.\n"},"vaultCriticalOperationExclusionLists":{"type":"array","items":{"type":"string"},"description":"A list of the critical operations which are not protected by this Resource Guard.\n"}},"type":"object"}},"azure:datashare/account:Account":{"description":"Manages a Data Share Account.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleAccount = new azure.datashare.Account(\"example\", {\n    name: \"example-dsa\",\n    location: example.location,\n    resourceGroupName: example.name,\n    identity: {\n        type: \"SystemAssigned\",\n    },\n    tags: {\n        foo: \"bar\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_account = azure.datashare.Account(\"example\",\n    name=\"example-dsa\",\n    location=example.location,\n    resource_group_name=example.name,\n    identity={\n        \"type\": \"SystemAssigned\",\n    },\n    tags={\n        \"foo\": \"bar\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleAccount = new Azure.DataShare.Account(\"example\", new()\n    {\n        Name = \"example-dsa\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Identity = new Azure.DataShare.Inputs.AccountIdentityArgs\n        {\n            Type = \"SystemAssigned\",\n        },\n        Tags = \n        {\n            { \"foo\", \"bar\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/datashare\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = datashare.NewAccount(ctx, \"example\", \u0026datashare.AccountArgs{\n\t\t\tName:              pulumi.String(\"example-dsa\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tIdentity: \u0026datashare.AccountIdentityArgs{\n\t\t\t\tType: pulumi.String(\"SystemAssigned\"),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"foo\": pulumi.String(\"bar\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.datashare.Account;\nimport com.pulumi.azure.datashare.AccountArgs;\nimport com.pulumi.azure.datashare.inputs.AccountIdentityArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"example-dsa\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .identity(AccountIdentityArgs.builder()\n                .type(\"SystemAssigned\")\n                .build())\n            .tags(Map.of(\"foo\", \"bar\"))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleAccount:\n    type: azure:datashare:Account\n    name: example\n    properties:\n      name: example-dsa\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      identity:\n        type: SystemAssigned\n      tags:\n        foo: bar\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.DataShare` - 2019-11-01\n\n## Import\n\nData Share Accounts can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:datashare/account:Account example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.DataShare/accounts/account1\n```\n\n","properties":{"identity":{"$ref":"#/types/azure:datashare/AccountIdentity:AccountIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n"},"location":{"type":"string","description":"The Azure Region where the Data Share Account should exist. Changing this forces a new Data Share Account to be created.\n"},"name":{"type":"string","description":"The name which should be used for this Data Share Account. Changing this forces a new Data Share Account to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Data Share Account should exist. Changing this forces a new Data Share Account to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Data Share Account.\n"}},"required":["identity","location","name","resourceGroupName"],"inputProperties":{"identity":{"$ref":"#/types/azure:datashare/AccountIdentity:AccountIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"location":{"type":"string","description":"The Azure Region where the Data Share Account should exist. Changing this forces a new Data Share Account to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Data Share Account. Changing this forces a new Data Share Account to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Data Share Account should exist. Changing this forces a new Data Share Account to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Data Share Account.\n"}},"requiredInputs":["identity","resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering Account resources.\n","properties":{"identity":{"$ref":"#/types/azure:datashare/AccountIdentity:AccountIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"location":{"type":"string","description":"The Azure Region where the Data Share Account should exist. Changing this forces a new Data Share Account to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Data Share Account. Changing this forces a new Data Share Account to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Data Share Account should exist. Changing this forces a new Data Share Account to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Data Share Account.\n"}},"type":"object"}},"azure:datashare/datasetBlobStorage:DatasetBlobStorage":{"description":"Manages a Data Share Blob Storage Dataset.\n\n## Import\n\nData Share Blob Storage Datasets can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:datashare/datasetBlobStorage:DatasetBlobStorage example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.DataShare/accounts/account1/shares/share1/dataSets/dataSet1\n```\n\n","properties":{"containerName":{"type":"string","description":"The name of the storage account container to be shared with the receiver. Changing this forces a new Data Share Blob Storage Dataset to be created.\n"},"dataShareId":{"type":"string","description":"The ID of the Data Share in which this Data Share Blob Storage Dataset should be created. Changing this forces a new Data Share Blob Storage Dataset to be created.\n"},"displayName":{"type":"string","description":"The name of the Data Share Dataset.\n"},"filePath":{"type":"string","description":"The path of the file in the storage container to be shared with the receiver. Changing this forces a new Data Share Blob Storage Dataset to be created.\n"},"folderPath":{"type":"string","description":"The path of the folder in the storage container to be shared with the receiver. Changing this forces a new Data Share Blob Storage Dataset to be created.\n"},"name":{"type":"string","description":"The name which should be used for this Data Share Blob Storage Dataset. Changing this forces a new Data Share Blob Storage Dataset to be created.\n"},"storageAccount":{"$ref":"#/types/azure:datashare/DatasetBlobStorageStorageAccount:DatasetBlobStorageStorageAccount","description":"A \u003cspan pulumi-lang-nodejs=\"`storageAccount`\" pulumi-lang-dotnet=\"`StorageAccount`\" pulumi-lang-go=\"`storageAccount`\" pulumi-lang-python=\"`storage_account`\" pulumi-lang-yaml=\"`storageAccount`\" pulumi-lang-java=\"`storageAccount`\"\u003e`storage_account`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n"}},"required":["containerName","dataShareId","displayName","name","storageAccount"],"inputProperties":{"containerName":{"type":"string","description":"The name of the storage account container to be shared with the receiver. Changing this forces a new Data Share Blob Storage Dataset to be created.\n","willReplaceOnChanges":true},"dataShareId":{"type":"string","description":"The ID of the Data Share in which this Data Share Blob Storage Dataset should be created. Changing this forces a new Data Share Blob Storage Dataset to be created.\n","willReplaceOnChanges":true},"filePath":{"type":"string","description":"The path of the file in the storage container to be shared with the receiver. Changing this forces a new Data Share Blob Storage Dataset to be created.\n","willReplaceOnChanges":true},"folderPath":{"type":"string","description":"The path of the folder in the storage container to be shared with the receiver. Changing this forces a new Data Share Blob Storage Dataset to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Data Share Blob Storage Dataset. Changing this forces a new Data Share Blob Storage Dataset to be created.\n","willReplaceOnChanges":true},"storageAccount":{"$ref":"#/types/azure:datashare/DatasetBlobStorageStorageAccount:DatasetBlobStorageStorageAccount","description":"A \u003cspan pulumi-lang-nodejs=\"`storageAccount`\" pulumi-lang-dotnet=\"`StorageAccount`\" pulumi-lang-go=\"`storageAccount`\" pulumi-lang-python=\"`storage_account`\" pulumi-lang-yaml=\"`storageAccount`\" pulumi-lang-java=\"`storageAccount`\"\u003e`storage_account`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["containerName","dataShareId","storageAccount"],"stateInputs":{"description":"Input properties used for looking up and filtering DatasetBlobStorage resources.\n","properties":{"containerName":{"type":"string","description":"The name of the storage account container to be shared with the receiver. Changing this forces a new Data Share Blob Storage Dataset to be created.\n","willReplaceOnChanges":true},"dataShareId":{"type":"string","description":"The ID of the Data Share in which this Data Share Blob Storage Dataset should be created. Changing this forces a new Data Share Blob Storage Dataset to be created.\n","willReplaceOnChanges":true},"displayName":{"type":"string","description":"The name of the Data Share Dataset.\n"},"filePath":{"type":"string","description":"The path of the file in the storage container to be shared with the receiver. Changing this forces a new Data Share Blob Storage Dataset to be created.\n","willReplaceOnChanges":true},"folderPath":{"type":"string","description":"The path of the folder in the storage container to be shared with the receiver. Changing this forces a new Data Share Blob Storage Dataset to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Data Share Blob Storage Dataset. Changing this forces a new Data Share Blob Storage Dataset to be created.\n","willReplaceOnChanges":true},"storageAccount":{"$ref":"#/types/azure:datashare/DatasetBlobStorageStorageAccount:DatasetBlobStorageStorageAccount","description":"A \u003cspan pulumi-lang-nodejs=\"`storageAccount`\" pulumi-lang-dotnet=\"`StorageAccount`\" pulumi-lang-go=\"`storageAccount`\" pulumi-lang-python=\"`storage_account`\" pulumi-lang-yaml=\"`storageAccount`\" pulumi-lang-java=\"`storageAccount`\"\u003e`storage_account`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:datashare/datasetDataLakeGen2:DatasetDataLakeGen2":{"description":"Manages a Data Share Data Lake Gen2 Dataset.\n\n## Import\n\nData Share Data Lake Gen2 Datasets can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:datashare/datasetDataLakeGen2:DatasetDataLakeGen2 example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.DataShare/accounts/account1/shares/share1/dataSets/dataSet1\n```\n\n","properties":{"displayName":{"type":"string","description":"The name of the Data Share Dataset.\n"},"filePath":{"type":"string","description":"The path of the file in the data lake file system to be shared with the receiver. Conflicts with \u003cspan pulumi-lang-nodejs=\"`folderPath`\" pulumi-lang-dotnet=\"`FolderPath`\" pulumi-lang-go=\"`folderPath`\" pulumi-lang-python=\"`folder_path`\" pulumi-lang-yaml=\"`folderPath`\" pulumi-lang-java=\"`folderPath`\"\u003e`folder_path`\u003c/span\u003e Changing this forces a new Data Share Data Lake Gen2 Dataset to be created.\n"},"fileSystemName":{"type":"string","description":"The name of the data lake file system to be shared with the receiver. Changing this forces a new Data Share Data Lake Gen2 Dataset to be created.\n"},"folderPath":{"type":"string","description":"The folder path in the data lake file system to be shared with the receiver. Conflicts with \u003cspan pulumi-lang-nodejs=\"`filePath`\" pulumi-lang-dotnet=\"`FilePath`\" pulumi-lang-go=\"`filePath`\" pulumi-lang-python=\"`file_path`\" pulumi-lang-yaml=\"`filePath`\" pulumi-lang-java=\"`filePath`\"\u003e`file_path`\u003c/span\u003e Changing this forces a new Data Share Data Lake Gen2 Dataset to be created.\n"},"name":{"type":"string","description":"The name which should be used for this Data Share Data Lake Gen2 Dataset. Changing this forces a new Data Share Data Lake Gen2 Dataset to be created.\n"},"shareId":{"type":"string","description":"The resource ID of the Data Share where this Data Share Data Lake Gen2 Dataset should be created. Changing this forces a new Data Share Data Lake Gen2 Dataset to be created.\n"},"storageAccountId":{"type":"string","description":"The resource id of the storage account of the data lake file system to be shared with the receiver. Changing this forces a new Data Share Data Lake Gen2 Dataset to be created.\n"}},"required":["displayName","fileSystemName","name","shareId","storageAccountId"],"inputProperties":{"filePath":{"type":"string","description":"The path of the file in the data lake file system to be shared with the receiver. Conflicts with \u003cspan pulumi-lang-nodejs=\"`folderPath`\" pulumi-lang-dotnet=\"`FolderPath`\" pulumi-lang-go=\"`folderPath`\" pulumi-lang-python=\"`folder_path`\" pulumi-lang-yaml=\"`folderPath`\" pulumi-lang-java=\"`folderPath`\"\u003e`folder_path`\u003c/span\u003e Changing this forces a new Data Share Data Lake Gen2 Dataset to be created.\n","willReplaceOnChanges":true},"fileSystemName":{"type":"string","description":"The name of the data lake file system to be shared with the receiver. Changing this forces a new Data Share Data Lake Gen2 Dataset to be created.\n","willReplaceOnChanges":true},"folderPath":{"type":"string","description":"The folder path in the data lake file system to be shared with the receiver. Conflicts with \u003cspan pulumi-lang-nodejs=\"`filePath`\" pulumi-lang-dotnet=\"`FilePath`\" pulumi-lang-go=\"`filePath`\" pulumi-lang-python=\"`file_path`\" pulumi-lang-yaml=\"`filePath`\" pulumi-lang-java=\"`filePath`\"\u003e`file_path`\u003c/span\u003e Changing this forces a new Data Share Data Lake Gen2 Dataset to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Data Share Data Lake Gen2 Dataset. Changing this forces a new Data Share Data Lake Gen2 Dataset to be created.\n","willReplaceOnChanges":true},"shareId":{"type":"string","description":"The resource ID of the Data Share where this Data Share Data Lake Gen2 Dataset should be created. Changing this forces a new Data Share Data Lake Gen2 Dataset to be created.\n","willReplaceOnChanges":true},"storageAccountId":{"type":"string","description":"The resource id of the storage account of the data lake file system to be shared with the receiver. Changing this forces a new Data Share Data Lake Gen2 Dataset to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["fileSystemName","shareId","storageAccountId"],"stateInputs":{"description":"Input properties used for looking up and filtering DatasetDataLakeGen2 resources.\n","properties":{"displayName":{"type":"string","description":"The name of the Data Share Dataset.\n"},"filePath":{"type":"string","description":"The path of the file in the data lake file system to be shared with the receiver. Conflicts with \u003cspan pulumi-lang-nodejs=\"`folderPath`\" pulumi-lang-dotnet=\"`FolderPath`\" pulumi-lang-go=\"`folderPath`\" pulumi-lang-python=\"`folder_path`\" pulumi-lang-yaml=\"`folderPath`\" pulumi-lang-java=\"`folderPath`\"\u003e`folder_path`\u003c/span\u003e Changing this forces a new Data Share Data Lake Gen2 Dataset to be created.\n","willReplaceOnChanges":true},"fileSystemName":{"type":"string","description":"The name of the data lake file system to be shared with the receiver. Changing this forces a new Data Share Data Lake Gen2 Dataset to be created.\n","willReplaceOnChanges":true},"folderPath":{"type":"string","description":"The folder path in the data lake file system to be shared with the receiver. Conflicts with \u003cspan pulumi-lang-nodejs=\"`filePath`\" pulumi-lang-dotnet=\"`FilePath`\" pulumi-lang-go=\"`filePath`\" pulumi-lang-python=\"`file_path`\" pulumi-lang-yaml=\"`filePath`\" pulumi-lang-java=\"`filePath`\"\u003e`file_path`\u003c/span\u003e Changing this forces a new Data Share Data Lake Gen2 Dataset to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Data Share Data Lake Gen2 Dataset. Changing this forces a new Data Share Data Lake Gen2 Dataset to be created.\n","willReplaceOnChanges":true},"shareId":{"type":"string","description":"The resource ID of the Data Share where this Data Share Data Lake Gen2 Dataset should be created. Changing this forces a new Data Share Data Lake Gen2 Dataset to be created.\n","willReplaceOnChanges":true},"storageAccountId":{"type":"string","description":"The resource id of the storage account of the data lake file system to be shared with the receiver. Changing this forces a new Data Share Data Lake Gen2 Dataset to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:datashare/datasetKustoCluster:DatasetKustoCluster":{"description":"Manages a Data Share Kusto Cluster Dataset.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleAccount = new azure.datashare.Account(\"example\", {\n    name: \"example-dsa\",\n    location: example.location,\n    resourceGroupName: example.name,\n    identity: {\n        type: \"SystemAssigned\",\n    },\n});\nconst exampleShare = new azure.datashare.Share(\"example\", {\n    name: \"example_ds\",\n    accountId: exampleAccount.id,\n    kind: \"InPlace\",\n});\nconst exampleCluster = new azure.kusto.Cluster(\"example\", {\n    name: \"examplekc\",\n    location: example.location,\n    resourceGroupName: example.name,\n    sku: {\n        name: \"Dev(No SLA)_Standard_D11_v2\",\n        capacity: 1,\n    },\n});\nconst exampleAssignment = new azure.authorization.Assignment(\"example\", {\n    scope: exampleCluster.id,\n    roleDefinitionName: \"Contributor\",\n    principalId: exampleAccount.identity.apply(identity =\u003e identity.principalId),\n});\nconst exampleDatasetKustoCluster = new azure.datashare.DatasetKustoCluster(\"example\", {\n    name: \"example-dskc\",\n    shareId: exampleShare.id,\n    kustoClusterId: exampleCluster.id,\n}, {\n    dependsOn: [exampleAssignment],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_account = azure.datashare.Account(\"example\",\n    name=\"example-dsa\",\n    location=example.location,\n    resource_group_name=example.name,\n    identity={\n        \"type\": \"SystemAssigned\",\n    })\nexample_share = azure.datashare.Share(\"example\",\n    name=\"example_ds\",\n    account_id=example_account.id,\n    kind=\"InPlace\")\nexample_cluster = azure.kusto.Cluster(\"example\",\n    name=\"examplekc\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku={\n        \"name\": \"Dev(No SLA)_Standard_D11_v2\",\n        \"capacity\": 1,\n    })\nexample_assignment = azure.authorization.Assignment(\"example\",\n    scope=example_cluster.id,\n    role_definition_name=\"Contributor\",\n    principal_id=example_account.identity.principal_id)\nexample_dataset_kusto_cluster = azure.datashare.DatasetKustoCluster(\"example\",\n    name=\"example-dskc\",\n    share_id=example_share.id,\n    kusto_cluster_id=example_cluster.id,\n    opts = pulumi.ResourceOptions(depends_on=[example_assignment]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleAccount = new Azure.DataShare.Account(\"example\", new()\n    {\n        Name = \"example-dsa\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Identity = new Azure.DataShare.Inputs.AccountIdentityArgs\n        {\n            Type = \"SystemAssigned\",\n        },\n    });\n\n    var exampleShare = new Azure.DataShare.Share(\"example\", new()\n    {\n        Name = \"example_ds\",\n        AccountId = exampleAccount.Id,\n        Kind = \"InPlace\",\n    });\n\n    var exampleCluster = new Azure.Kusto.Cluster(\"example\", new()\n    {\n        Name = \"examplekc\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Sku = new Azure.Kusto.Inputs.ClusterSkuArgs\n        {\n            Name = \"Dev(No SLA)_Standard_D11_v2\",\n            Capacity = 1,\n        },\n    });\n\n    var exampleAssignment = new Azure.Authorization.Assignment(\"example\", new()\n    {\n        Scope = exampleCluster.Id,\n        RoleDefinitionName = \"Contributor\",\n        PrincipalId = exampleAccount.Identity.Apply(identity =\u003e identity.PrincipalId),\n    });\n\n    var exampleDatasetKustoCluster = new Azure.DataShare.DatasetKustoCluster(\"example\", new()\n    {\n        Name = \"example-dskc\",\n        ShareId = exampleShare.Id,\n        KustoClusterId = exampleCluster.Id,\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            exampleAssignment,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/authorization\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/datashare\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/kusto\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := datashare.NewAccount(ctx, \"example\", \u0026datashare.AccountArgs{\n\t\t\tName:              pulumi.String(\"example-dsa\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tIdentity: \u0026datashare.AccountIdentityArgs{\n\t\t\t\tType: pulumi.String(\"SystemAssigned\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleShare, err := datashare.NewShare(ctx, \"example\", \u0026datashare.ShareArgs{\n\t\t\tName:      pulumi.String(\"example_ds\"),\n\t\t\tAccountId: exampleAccount.ID(),\n\t\t\tKind:      pulumi.String(\"InPlace\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleCluster, err := kusto.NewCluster(ctx, \"example\", \u0026kusto.ClusterArgs{\n\t\t\tName:              pulumi.String(\"examplekc\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSku: \u0026kusto.ClusterSkuArgs{\n\t\t\t\tName:     pulumi.String(\"Dev(No SLA)_Standard_D11_v2\"),\n\t\t\t\tCapacity: pulumi.Int(1),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAssignment, err := authorization.NewAssignment(ctx, \"example\", \u0026authorization.AssignmentArgs{\n\t\t\tScope:              exampleCluster.ID(),\n\t\t\tRoleDefinitionName: pulumi.String(\"Contributor\"),\n\t\t\tPrincipalId: pulumi.String(exampleAccount.Identity.ApplyT(func(identity datashare.AccountIdentity) (*string, error) {\n\t\t\t\treturn \u0026identity.PrincipalId, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = datashare.NewDatasetKustoCluster(ctx, \"example\", \u0026datashare.DatasetKustoClusterArgs{\n\t\t\tName:           pulumi.String(\"example-dskc\"),\n\t\t\tShareId:        exampleShare.ID(),\n\t\t\tKustoClusterId: exampleCluster.ID(),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleAssignment,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.datashare.Account;\nimport com.pulumi.azure.datashare.AccountArgs;\nimport com.pulumi.azure.datashare.inputs.AccountIdentityArgs;\nimport com.pulumi.azure.datashare.Share;\nimport com.pulumi.azure.datashare.ShareArgs;\nimport com.pulumi.azure.kusto.Cluster;\nimport com.pulumi.azure.kusto.ClusterArgs;\nimport com.pulumi.azure.kusto.inputs.ClusterSkuArgs;\nimport com.pulumi.azure.authorization.Assignment;\nimport com.pulumi.azure.authorization.AssignmentArgs;\nimport com.pulumi.azure.datashare.DatasetKustoCluster;\nimport com.pulumi.azure.datashare.DatasetKustoClusterArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"example-dsa\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .identity(AccountIdentityArgs.builder()\n                .type(\"SystemAssigned\")\n                .build())\n            .build());\n\n        var exampleShare = new Share(\"exampleShare\", ShareArgs.builder()\n            .name(\"example_ds\")\n            .accountId(exampleAccount.id())\n            .kind(\"InPlace\")\n            .build());\n\n        var exampleCluster = new Cluster(\"exampleCluster\", ClusterArgs.builder()\n            .name(\"examplekc\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .sku(ClusterSkuArgs.builder()\n                .name(\"Dev(No SLA)_Standard_D11_v2\")\n                .capacity(1)\n                .build())\n            .build());\n\n        var exampleAssignment = new Assignment(\"exampleAssignment\", AssignmentArgs.builder()\n            .scope(exampleCluster.id())\n            .roleDefinitionName(\"Contributor\")\n            .principalId(exampleAccount.identity().applyValue(_identity -\u003e _identity.principalId()))\n            .build());\n\n        var exampleDatasetKustoCluster = new DatasetKustoCluster(\"exampleDatasetKustoCluster\", DatasetKustoClusterArgs.builder()\n            .name(\"example-dskc\")\n            .shareId(exampleShare.id())\n            .kustoClusterId(exampleCluster.id())\n            .build(), CustomResourceOptions.builder()\n                .dependsOn(exampleAssignment)\n                .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleAccount:\n    type: azure:datashare:Account\n    name: example\n    properties:\n      name: example-dsa\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      identity:\n        type: SystemAssigned\n  exampleShare:\n    type: azure:datashare:Share\n    name: example\n    properties:\n      name: example_ds\n      accountId: ${exampleAccount.id}\n      kind: InPlace\n  exampleCluster:\n    type: azure:kusto:Cluster\n    name: example\n    properties:\n      name: examplekc\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      sku:\n        name: Dev(No SLA)_Standard_D11_v2\n        capacity: 1\n  exampleAssignment:\n    type: azure:authorization:Assignment\n    name: example\n    properties:\n      scope: ${exampleCluster.id}\n      roleDefinitionName: Contributor\n      principalId: ${exampleAccount.identity.principalId}\n  exampleDatasetKustoCluster:\n    type: azure:datashare:DatasetKustoCluster\n    name: example\n    properties:\n      name: example-dskc\n      shareId: ${exampleShare.id}\n      kustoClusterId: ${exampleCluster.id}\n    options:\n      dependsOn:\n        - ${exampleAssignment}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.DataShare` - 2019-11-01\n\n## Import\n\nData Share Kusto Cluster Datasets can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:datashare/datasetKustoCluster:DatasetKustoCluster example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.DataShare/accounts/account1/shares/share1/dataSets/dataSet1\n```\n\n","properties":{"displayName":{"type":"string","description":"The name of the Data Share Dataset.\n"},"kustoClusterId":{"type":"string","description":"The resource ID of the Kusto Cluster to be shared with the receiver. Changing this forces a new Data Share Kusto Cluster Dataset to be created.\n"},"kustoClusterLocation":{"type":"string","description":"The location of the Kusto Cluster.\n"},"name":{"type":"string","description":"The name which should be used for this Data Share Kusto Cluster Dataset. Changing this forces a new Data Share Kusto Cluster Dataset to be created.\n"},"shareId":{"type":"string","description":"The resource ID of the Data Share where this Data Share Kusto Cluster Dataset should be created. Changing this forces a new Data Share Kusto Cluster Dataset to be created.\n"}},"required":["displayName","kustoClusterId","kustoClusterLocation","name","shareId"],"inputProperties":{"kustoClusterId":{"type":"string","description":"The resource ID of the Kusto Cluster to be shared with the receiver. Changing this forces a new Data Share Kusto Cluster Dataset to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Data Share Kusto Cluster Dataset. Changing this forces a new Data Share Kusto Cluster Dataset to be created.\n","willReplaceOnChanges":true},"shareId":{"type":"string","description":"The resource ID of the Data Share where this Data Share Kusto Cluster Dataset should be created. Changing this forces a new Data Share Kusto Cluster Dataset to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["kustoClusterId","shareId"],"stateInputs":{"description":"Input properties used for looking up and filtering DatasetKustoCluster resources.\n","properties":{"displayName":{"type":"string","description":"The name of the Data Share Dataset.\n"},"kustoClusterId":{"type":"string","description":"The resource ID of the Kusto Cluster to be shared with the receiver. Changing this forces a new Data Share Kusto Cluster Dataset to be created.\n","willReplaceOnChanges":true},"kustoClusterLocation":{"type":"string","description":"The location of the Kusto Cluster.\n"},"name":{"type":"string","description":"The name which should be used for this Data Share Kusto Cluster Dataset. Changing this forces a new Data Share Kusto Cluster Dataset to be created.\n","willReplaceOnChanges":true},"shareId":{"type":"string","description":"The resource ID of the Data Share where this Data Share Kusto Cluster Dataset should be created. Changing this forces a new Data Share Kusto Cluster Dataset to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:datashare/datasetKustoDatabase:DatasetKustoDatabase":{"description":"Manages a Data Share Kusto Database Dataset.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleAccount = new azure.datashare.Account(\"example\", {\n    name: \"example-dsa\",\n    location: example.location,\n    resourceGroupName: example.name,\n    identity: {\n        type: \"SystemAssigned\",\n    },\n});\nconst exampleShare = new azure.datashare.Share(\"example\", {\n    name: \"example_ds\",\n    accountId: exampleAccount.id,\n    kind: \"InPlace\",\n});\nconst exampleCluster = new azure.kusto.Cluster(\"example\", {\n    name: \"examplekc\",\n    location: example.location,\n    resourceGroupName: example.name,\n    sku: {\n        name: \"Dev(No SLA)_Standard_D11_v2\",\n        capacity: 1,\n    },\n});\nconst exampleDatabase = new azure.kusto.Database(\"example\", {\n    name: \"examplekd\",\n    resourceGroupName: example.name,\n    location: example.location,\n    clusterName: exampleCluster.name,\n});\nconst exampleAssignment = new azure.authorization.Assignment(\"example\", {\n    scope: exampleCluster.id,\n    roleDefinitionName: \"Contributor\",\n    principalId: exampleAccount.identity.apply(identity =\u003e identity.principalId),\n});\nconst exampleDatasetKustoDatabase = new azure.datashare.DatasetKustoDatabase(\"example\", {\n    name: \"example-dskd\",\n    shareId: exampleShare.id,\n    kustoDatabaseId: exampleDatabase.id,\n}, {\n    dependsOn: [exampleAssignment],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_account = azure.datashare.Account(\"example\",\n    name=\"example-dsa\",\n    location=example.location,\n    resource_group_name=example.name,\n    identity={\n        \"type\": \"SystemAssigned\",\n    })\nexample_share = azure.datashare.Share(\"example\",\n    name=\"example_ds\",\n    account_id=example_account.id,\n    kind=\"InPlace\")\nexample_cluster = azure.kusto.Cluster(\"example\",\n    name=\"examplekc\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku={\n        \"name\": \"Dev(No SLA)_Standard_D11_v2\",\n        \"capacity\": 1,\n    })\nexample_database = azure.kusto.Database(\"example\",\n    name=\"examplekd\",\n    resource_group_name=example.name,\n    location=example.location,\n    cluster_name=example_cluster.name)\nexample_assignment = azure.authorization.Assignment(\"example\",\n    scope=example_cluster.id,\n    role_definition_name=\"Contributor\",\n    principal_id=example_account.identity.principal_id)\nexample_dataset_kusto_database = azure.datashare.DatasetKustoDatabase(\"example\",\n    name=\"example-dskd\",\n    share_id=example_share.id,\n    kusto_database_id=example_database.id,\n    opts = pulumi.ResourceOptions(depends_on=[example_assignment]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleAccount = new Azure.DataShare.Account(\"example\", new()\n    {\n        Name = \"example-dsa\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Identity = new Azure.DataShare.Inputs.AccountIdentityArgs\n        {\n            Type = \"SystemAssigned\",\n        },\n    });\n\n    var exampleShare = new Azure.DataShare.Share(\"example\", new()\n    {\n        Name = \"example_ds\",\n        AccountId = exampleAccount.Id,\n        Kind = \"InPlace\",\n    });\n\n    var exampleCluster = new Azure.Kusto.Cluster(\"example\", new()\n    {\n        Name = \"examplekc\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Sku = new Azure.Kusto.Inputs.ClusterSkuArgs\n        {\n            Name = \"Dev(No SLA)_Standard_D11_v2\",\n            Capacity = 1,\n        },\n    });\n\n    var exampleDatabase = new Azure.Kusto.Database(\"example\", new()\n    {\n        Name = \"examplekd\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        ClusterName = exampleCluster.Name,\n    });\n\n    var exampleAssignment = new Azure.Authorization.Assignment(\"example\", new()\n    {\n        Scope = exampleCluster.Id,\n        RoleDefinitionName = \"Contributor\",\n        PrincipalId = exampleAccount.Identity.Apply(identity =\u003e identity.PrincipalId),\n    });\n\n    var exampleDatasetKustoDatabase = new Azure.DataShare.DatasetKustoDatabase(\"example\", new()\n    {\n        Name = \"example-dskd\",\n        ShareId = exampleShare.Id,\n        KustoDatabaseId = exampleDatabase.Id,\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            exampleAssignment,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/authorization\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/datashare\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/kusto\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := datashare.NewAccount(ctx, \"example\", \u0026datashare.AccountArgs{\n\t\t\tName:              pulumi.String(\"example-dsa\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tIdentity: \u0026datashare.AccountIdentityArgs{\n\t\t\t\tType: pulumi.String(\"SystemAssigned\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleShare, err := datashare.NewShare(ctx, \"example\", \u0026datashare.ShareArgs{\n\t\t\tName:      pulumi.String(\"example_ds\"),\n\t\t\tAccountId: exampleAccount.ID(),\n\t\t\tKind:      pulumi.String(\"InPlace\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleCluster, err := kusto.NewCluster(ctx, \"example\", \u0026kusto.ClusterArgs{\n\t\t\tName:              pulumi.String(\"examplekc\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSku: \u0026kusto.ClusterSkuArgs{\n\t\t\t\tName:     pulumi.String(\"Dev(No SLA)_Standard_D11_v2\"),\n\t\t\t\tCapacity: pulumi.Int(1),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleDatabase, err := kusto.NewDatabase(ctx, \"example\", \u0026kusto.DatabaseArgs{\n\t\t\tName:              pulumi.String(\"examplekd\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tClusterName:       exampleCluster.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAssignment, err := authorization.NewAssignment(ctx, \"example\", \u0026authorization.AssignmentArgs{\n\t\t\tScope:              exampleCluster.ID(),\n\t\t\tRoleDefinitionName: pulumi.String(\"Contributor\"),\n\t\t\tPrincipalId: pulumi.String(exampleAccount.Identity.ApplyT(func(identity datashare.AccountIdentity) (*string, error) {\n\t\t\t\treturn \u0026identity.PrincipalId, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = datashare.NewDatasetKustoDatabase(ctx, \"example\", \u0026datashare.DatasetKustoDatabaseArgs{\n\t\t\tName:            pulumi.String(\"example-dskd\"),\n\t\t\tShareId:         exampleShare.ID(),\n\t\t\tKustoDatabaseId: exampleDatabase.ID(),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleAssignment,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.datashare.Account;\nimport com.pulumi.azure.datashare.AccountArgs;\nimport com.pulumi.azure.datashare.inputs.AccountIdentityArgs;\nimport com.pulumi.azure.datashare.Share;\nimport com.pulumi.azure.datashare.ShareArgs;\nimport com.pulumi.azure.kusto.Cluster;\nimport com.pulumi.azure.kusto.ClusterArgs;\nimport com.pulumi.azure.kusto.inputs.ClusterSkuArgs;\nimport com.pulumi.azure.kusto.Database;\nimport com.pulumi.azure.kusto.DatabaseArgs;\nimport com.pulumi.azure.authorization.Assignment;\nimport com.pulumi.azure.authorization.AssignmentArgs;\nimport com.pulumi.azure.datashare.DatasetKustoDatabase;\nimport com.pulumi.azure.datashare.DatasetKustoDatabaseArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"example-dsa\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .identity(AccountIdentityArgs.builder()\n                .type(\"SystemAssigned\")\n                .build())\n            .build());\n\n        var exampleShare = new Share(\"exampleShare\", ShareArgs.builder()\n            .name(\"example_ds\")\n            .accountId(exampleAccount.id())\n            .kind(\"InPlace\")\n            .build());\n\n        var exampleCluster = new Cluster(\"exampleCluster\", ClusterArgs.builder()\n            .name(\"examplekc\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .sku(ClusterSkuArgs.builder()\n                .name(\"Dev(No SLA)_Standard_D11_v2\")\n                .capacity(1)\n                .build())\n            .build());\n\n        var exampleDatabase = new Database(\"exampleDatabase\", DatabaseArgs.builder()\n            .name(\"examplekd\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .clusterName(exampleCluster.name())\n            .build());\n\n        var exampleAssignment = new Assignment(\"exampleAssignment\", AssignmentArgs.builder()\n            .scope(exampleCluster.id())\n            .roleDefinitionName(\"Contributor\")\n            .principalId(exampleAccount.identity().applyValue(_identity -\u003e _identity.principalId()))\n            .build());\n\n        var exampleDatasetKustoDatabase = new DatasetKustoDatabase(\"exampleDatasetKustoDatabase\", DatasetKustoDatabaseArgs.builder()\n            .name(\"example-dskd\")\n            .shareId(exampleShare.id())\n            .kustoDatabaseId(exampleDatabase.id())\n            .build(), CustomResourceOptions.builder()\n                .dependsOn(exampleAssignment)\n                .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleAccount:\n    type: azure:datashare:Account\n    name: example\n    properties:\n      name: example-dsa\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      identity:\n        type: SystemAssigned\n  exampleShare:\n    type: azure:datashare:Share\n    name: example\n    properties:\n      name: example_ds\n      accountId: ${exampleAccount.id}\n      kind: InPlace\n  exampleCluster:\n    type: azure:kusto:Cluster\n    name: example\n    properties:\n      name: examplekc\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      sku:\n        name: Dev(No SLA)_Standard_D11_v2\n        capacity: 1\n  exampleDatabase:\n    type: azure:kusto:Database\n    name: example\n    properties:\n      name: examplekd\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      clusterName: ${exampleCluster.name}\n  exampleAssignment:\n    type: azure:authorization:Assignment\n    name: example\n    properties:\n      scope: ${exampleCluster.id}\n      roleDefinitionName: Contributor\n      principalId: ${exampleAccount.identity.principalId}\n  exampleDatasetKustoDatabase:\n    type: azure:datashare:DatasetKustoDatabase\n    name: example\n    properties:\n      name: example-dskd\n      shareId: ${exampleShare.id}\n      kustoDatabaseId: ${exampleDatabase.id}\n    options:\n      dependsOn:\n        - ${exampleAssignment}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.DataShare` - 2019-11-01\n\n## Import\n\nData Share Kusto Database Datasets can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:datashare/datasetKustoDatabase:DatasetKustoDatabase example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.DataShare/accounts/account1/shares/share1/dataSets/dataSet1\n```\n\n","properties":{"displayName":{"type":"string","description":"The name of the Data Share Dataset.\n"},"kustoClusterLocation":{"type":"string","description":"The location of the Kusto Cluster.\n"},"kustoDatabaseId":{"type":"string","description":"The resource ID of the Kusto Cluster Database to be shared with the receiver. Changing this forces a new Data Share Kusto Database Dataset to be created.\n"},"name":{"type":"string","description":"The name which should be used for this Data Share Kusto Database Dataset. Changing this forces a new Data Share Kusto Database Dataset to be created.\n"},"shareId":{"type":"string","description":"The resource ID of the Data Share where this Data Share Kusto Database Dataset should be created. Changing this forces a new Data Share Kusto Database Dataset to be created.\n"}},"required":["displayName","kustoClusterLocation","kustoDatabaseId","name","shareId"],"inputProperties":{"kustoDatabaseId":{"type":"string","description":"The resource ID of the Kusto Cluster Database to be shared with the receiver. Changing this forces a new Data Share Kusto Database Dataset to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Data Share Kusto Database Dataset. Changing this forces a new Data Share Kusto Database Dataset to be created.\n","willReplaceOnChanges":true},"shareId":{"type":"string","description":"The resource ID of the Data Share where this Data Share Kusto Database Dataset should be created. Changing this forces a new Data Share Kusto Database Dataset to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["kustoDatabaseId","shareId"],"stateInputs":{"description":"Input properties used for looking up and filtering DatasetKustoDatabase resources.\n","properties":{"displayName":{"type":"string","description":"The name of the Data Share Dataset.\n"},"kustoClusterLocation":{"type":"string","description":"The location of the Kusto Cluster.\n"},"kustoDatabaseId":{"type":"string","description":"The resource ID of the Kusto Cluster Database to be shared with the receiver. Changing this forces a new Data Share Kusto Database Dataset to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Data Share Kusto Database Dataset. Changing this forces a new Data Share Kusto Database Dataset to be created.\n","willReplaceOnChanges":true},"shareId":{"type":"string","description":"The resource ID of the Data Share where this Data Share Kusto Database Dataset should be created. Changing this forces a new Data Share Kusto Database Dataset to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:datashare/share:Share":{"description":"Manages a Data Share.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleAccount = new azure.datashare.Account(\"example\", {\n    name: \"example-dsa\",\n    location: example.location,\n    resourceGroupName: example.name,\n    identity: {\n        type: \"SystemAssigned\",\n    },\n    tags: {\n        foo: \"bar\",\n    },\n});\nconst exampleShare = new azure.datashare.Share(\"example\", {\n    name: \"example_dss\",\n    accountId: exampleAccount.id,\n    kind: \"CopyBased\",\n    description: \"example desc\",\n    terms: \"example terms\",\n    snapshotSchedule: {\n        name: \"example-ss\",\n        recurrence: \"Day\",\n        startTime: \"2020-04-17T04:47:52.9614956Z\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_account = azure.datashare.Account(\"example\",\n    name=\"example-dsa\",\n    location=example.location,\n    resource_group_name=example.name,\n    identity={\n        \"type\": \"SystemAssigned\",\n    },\n    tags={\n        \"foo\": \"bar\",\n    })\nexample_share = azure.datashare.Share(\"example\",\n    name=\"example_dss\",\n    account_id=example_account.id,\n    kind=\"CopyBased\",\n    description=\"example desc\",\n    terms=\"example terms\",\n    snapshot_schedule={\n        \"name\": \"example-ss\",\n        \"recurrence\": \"Day\",\n        \"start_time\": \"2020-04-17T04:47:52.9614956Z\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleAccount = new Azure.DataShare.Account(\"example\", new()\n    {\n        Name = \"example-dsa\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Identity = new Azure.DataShare.Inputs.AccountIdentityArgs\n        {\n            Type = \"SystemAssigned\",\n        },\n        Tags = \n        {\n            { \"foo\", \"bar\" },\n        },\n    });\n\n    var exampleShare = new Azure.DataShare.Share(\"example\", new()\n    {\n        Name = \"example_dss\",\n        AccountId = exampleAccount.Id,\n        Kind = \"CopyBased\",\n        Description = \"example desc\",\n        Terms = \"example terms\",\n        SnapshotSchedule = new Azure.DataShare.Inputs.ShareSnapshotScheduleArgs\n        {\n            Name = \"example-ss\",\n            Recurrence = \"Day\",\n            StartTime = \"2020-04-17T04:47:52.9614956Z\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/datashare\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := datashare.NewAccount(ctx, \"example\", \u0026datashare.AccountArgs{\n\t\t\tName:              pulumi.String(\"example-dsa\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tIdentity: \u0026datashare.AccountIdentityArgs{\n\t\t\t\tType: pulumi.String(\"SystemAssigned\"),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"foo\": pulumi.String(\"bar\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = datashare.NewShare(ctx, \"example\", \u0026datashare.ShareArgs{\n\t\t\tName:        pulumi.String(\"example_dss\"),\n\t\t\tAccountId:   exampleAccount.ID(),\n\t\t\tKind:        pulumi.String(\"CopyBased\"),\n\t\t\tDescription: pulumi.String(\"example desc\"),\n\t\t\tTerms:       pulumi.String(\"example terms\"),\n\t\t\tSnapshotSchedule: \u0026datashare.ShareSnapshotScheduleArgs{\n\t\t\t\tName:       pulumi.String(\"example-ss\"),\n\t\t\t\tRecurrence: pulumi.String(\"Day\"),\n\t\t\t\tStartTime:  pulumi.String(\"2020-04-17T04:47:52.9614956Z\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.datashare.Account;\nimport com.pulumi.azure.datashare.AccountArgs;\nimport com.pulumi.azure.datashare.inputs.AccountIdentityArgs;\nimport com.pulumi.azure.datashare.Share;\nimport com.pulumi.azure.datashare.ShareArgs;\nimport com.pulumi.azure.datashare.inputs.ShareSnapshotScheduleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"example-dsa\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .identity(AccountIdentityArgs.builder()\n                .type(\"SystemAssigned\")\n                .build())\n            .tags(Map.of(\"foo\", \"bar\"))\n            .build());\n\n        var exampleShare = new Share(\"exampleShare\", ShareArgs.builder()\n            .name(\"example_dss\")\n            .accountId(exampleAccount.id())\n            .kind(\"CopyBased\")\n            .description(\"example desc\")\n            .terms(\"example terms\")\n            .snapshotSchedule(ShareSnapshotScheduleArgs.builder()\n                .name(\"example-ss\")\n                .recurrence(\"Day\")\n                .startTime(\"2020-04-17T04:47:52.9614956Z\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleAccount:\n    type: azure:datashare:Account\n    name: example\n    properties:\n      name: example-dsa\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      identity:\n        type: SystemAssigned\n      tags:\n        foo: bar\n  exampleShare:\n    type: azure:datashare:Share\n    name: example\n    properties:\n      name: example_dss\n      accountId: ${exampleAccount.id}\n      kind: CopyBased\n      description: example desc\n      terms: example terms\n      snapshotSchedule:\n        name: example-ss\n        recurrence: Day\n        startTime: 2020-04-17T04:47:52.9614956Z\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.DataShare` - 2019-11-01\n\n## Import\n\nData Shares can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:datashare/share:Share example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.DataShare/accounts/account1/shares/share1\n```\n\n","properties":{"accountId":{"type":"string","description":"The ID of the Data Share account in which the Data Share is created. Changing this forces a new Data Share to be created.\n"},"description":{"type":"string","description":"The Data Share's description.\n"},"kind":{"type":"string","description":"The kind of the Data Share. Possible values are `CopyBased` and `InPlace`. Changing this forces a new Data Share to be created.\n"},"name":{"type":"string","description":"The name which should be used for this Data Share. Changing this forces a new Data Share to be created.\n"},"snapshotSchedule":{"$ref":"#/types/azure:datashare/ShareSnapshotSchedule:ShareSnapshotSchedule","description":"A \u003cspan pulumi-lang-nodejs=\"`snapshotSchedule`\" pulumi-lang-dotnet=\"`SnapshotSchedule`\" pulumi-lang-go=\"`snapshotSchedule`\" pulumi-lang-python=\"`snapshot_schedule`\" pulumi-lang-yaml=\"`snapshotSchedule`\" pulumi-lang-java=\"`snapshotSchedule`\"\u003e`snapshot_schedule`\u003c/span\u003e block as defined below.\n"},"terms":{"type":"string","description":"The terms of the Data Share.\n"}},"required":["accountId","kind","name"],"inputProperties":{"accountId":{"type":"string","description":"The ID of the Data Share account in which the Data Share is created. Changing this forces a new Data Share to be created.\n","willReplaceOnChanges":true},"description":{"type":"string","description":"The Data Share's description.\n"},"kind":{"type":"string","description":"The kind of the Data Share. Possible values are `CopyBased` and `InPlace`. Changing this forces a new Data Share to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Data Share. Changing this forces a new Data Share to be created.\n","willReplaceOnChanges":true},"snapshotSchedule":{"$ref":"#/types/azure:datashare/ShareSnapshotSchedule:ShareSnapshotSchedule","description":"A \u003cspan pulumi-lang-nodejs=\"`snapshotSchedule`\" pulumi-lang-dotnet=\"`SnapshotSchedule`\" pulumi-lang-go=\"`snapshotSchedule`\" pulumi-lang-python=\"`snapshot_schedule`\" pulumi-lang-yaml=\"`snapshotSchedule`\" pulumi-lang-java=\"`snapshotSchedule`\"\u003e`snapshot_schedule`\u003c/span\u003e block as defined below.\n"},"terms":{"type":"string","description":"The terms of the Data Share.\n"}},"requiredInputs":["accountId","kind"],"stateInputs":{"description":"Input properties used for looking up and filtering Share resources.\n","properties":{"accountId":{"type":"string","description":"The ID of the Data Share account in which the Data Share is created. Changing this forces a new Data Share to be created.\n","willReplaceOnChanges":true},"description":{"type":"string","description":"The Data Share's description.\n"},"kind":{"type":"string","description":"The kind of the Data Share. Possible values are `CopyBased` and `InPlace`. Changing this forces a new Data Share to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Data Share. Changing this forces a new Data Share to be created.\n","willReplaceOnChanges":true},"snapshotSchedule":{"$ref":"#/types/azure:datashare/ShareSnapshotSchedule:ShareSnapshotSchedule","description":"A \u003cspan pulumi-lang-nodejs=\"`snapshotSchedule`\" pulumi-lang-dotnet=\"`SnapshotSchedule`\" pulumi-lang-go=\"`snapshotSchedule`\" pulumi-lang-python=\"`snapshot_schedule`\" pulumi-lang-yaml=\"`snapshotSchedule`\" pulumi-lang-java=\"`snapshotSchedule`\"\u003e`snapshot_schedule`\u003c/span\u003e block as defined below.\n"},"terms":{"type":"string","description":"The terms of the Data Share.\n"}},"type":"object"}},"azure:desktopvirtualization/application:Application":{"description":"Manages a Virtual Desktop Application.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"rg-example-virtualdesktop\",\n    location: \"West Europe\",\n});\nconst pooledbreadthfirst = new azure.desktopvirtualization.HostPool(\"pooledbreadthfirst\", {\n    name: \"pooledbreadthfirst\",\n    location: example.location,\n    resourceGroupName: example.name,\n    type: \"Pooled\",\n    loadBalancerType: \"BreadthFirst\",\n});\nconst personalautomatic = new azure.desktopvirtualization.HostPool(\"personalautomatic\", {\n    name: \"personalautomatic\",\n    location: example.location,\n    resourceGroupName: example.name,\n    type: \"Personal\",\n    personalDesktopAssignmentType: \"Automatic\",\n    loadBalancerType: \"BreadthFirst\",\n});\nconst remoteapp = new azure.desktopvirtualization.ApplicationGroup(\"remoteapp\", {\n    name: \"acctag\",\n    location: example.location,\n    resourceGroupName: example.name,\n    type: \"RemoteApp\",\n    hostPoolId: pooledbreadthfirst.id,\n    friendlyName: \"TestAppGroup\",\n    description: \"Acceptance Test: An application group\",\n});\nconst chrome = new azure.desktopvirtualization.Application(\"chrome\", {\n    name: \"googlechrome\",\n    applicationGroupId: remoteapp.id,\n    friendlyName: \"Google Chrome\",\n    description: \"Chromium based web browser\",\n    path: \"C:\\\\Program Files\\\\Google\\\\Chrome\\\\Application\\\\chrome.exe\",\n    commandLineArgumentPolicy: \"DoNotAllow\",\n    commandLineArguments: \"--incognito\",\n    showInPortal: false,\n    iconPath: \"C:\\\\Program Files\\\\Google\\\\Chrome\\\\Application\\\\chrome.exe\",\n    iconIndex: 0,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"rg-example-virtualdesktop\",\n    location=\"West Europe\")\npooledbreadthfirst = azure.desktopvirtualization.HostPool(\"pooledbreadthfirst\",\n    name=\"pooledbreadthfirst\",\n    location=example.location,\n    resource_group_name=example.name,\n    type=\"Pooled\",\n    load_balancer_type=\"BreadthFirst\")\npersonalautomatic = azure.desktopvirtualization.HostPool(\"personalautomatic\",\n    name=\"personalautomatic\",\n    location=example.location,\n    resource_group_name=example.name,\n    type=\"Personal\",\n    personal_desktop_assignment_type=\"Automatic\",\n    load_balancer_type=\"BreadthFirst\")\nremoteapp = azure.desktopvirtualization.ApplicationGroup(\"remoteapp\",\n    name=\"acctag\",\n    location=example.location,\n    resource_group_name=example.name,\n    type=\"RemoteApp\",\n    host_pool_id=pooledbreadthfirst.id,\n    friendly_name=\"TestAppGroup\",\n    description=\"Acceptance Test: An application group\")\nchrome = azure.desktopvirtualization.Application(\"chrome\",\n    name=\"googlechrome\",\n    application_group_id=remoteapp.id,\n    friendly_name=\"Google Chrome\",\n    description=\"Chromium based web browser\",\n    path=\"C:\\\\Program Files\\\\Google\\\\Chrome\\\\Application\\\\chrome.exe\",\n    command_line_argument_policy=\"DoNotAllow\",\n    command_line_arguments=\"--incognito\",\n    show_in_portal=False,\n    icon_path=\"C:\\\\Program Files\\\\Google\\\\Chrome\\\\Application\\\\chrome.exe\",\n    icon_index=0)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"rg-example-virtualdesktop\",\n        Location = \"West Europe\",\n    });\n\n    var pooledbreadthfirst = new Azure.DesktopVirtualization.HostPool(\"pooledbreadthfirst\", new()\n    {\n        Name = \"pooledbreadthfirst\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Type = \"Pooled\",\n        LoadBalancerType = \"BreadthFirst\",\n    });\n\n    var personalautomatic = new Azure.DesktopVirtualization.HostPool(\"personalautomatic\", new()\n    {\n        Name = \"personalautomatic\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Type = \"Personal\",\n        PersonalDesktopAssignmentType = \"Automatic\",\n        LoadBalancerType = \"BreadthFirst\",\n    });\n\n    var remoteapp = new Azure.DesktopVirtualization.ApplicationGroup(\"remoteapp\", new()\n    {\n        Name = \"acctag\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Type = \"RemoteApp\",\n        HostPoolId = pooledbreadthfirst.Id,\n        FriendlyName = \"TestAppGroup\",\n        Description = \"Acceptance Test: An application group\",\n    });\n\n    var chrome = new Azure.DesktopVirtualization.Application(\"chrome\", new()\n    {\n        Name = \"googlechrome\",\n        ApplicationGroupId = remoteapp.Id,\n        FriendlyName = \"Google Chrome\",\n        Description = \"Chromium based web browser\",\n        Path = \"C:\\\\Program Files\\\\Google\\\\Chrome\\\\Application\\\\chrome.exe\",\n        CommandLineArgumentPolicy = \"DoNotAllow\",\n        CommandLineArguments = \"--incognito\",\n        ShowInPortal = false,\n        IconPath = \"C:\\\\Program Files\\\\Google\\\\Chrome\\\\Application\\\\chrome.exe\",\n        IconIndex = 0,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/desktopvirtualization\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"rg-example-virtualdesktop\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tpooledbreadthfirst, err := desktopvirtualization.NewHostPool(ctx, \"pooledbreadthfirst\", \u0026desktopvirtualization.HostPoolArgs{\n\t\t\tName:              pulumi.String(\"pooledbreadthfirst\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tType:              pulumi.String(\"Pooled\"),\n\t\t\tLoadBalancerType:  pulumi.String(\"BreadthFirst\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = desktopvirtualization.NewHostPool(ctx, \"personalautomatic\", \u0026desktopvirtualization.HostPoolArgs{\n\t\t\tName:                          pulumi.String(\"personalautomatic\"),\n\t\t\tLocation:                      example.Location,\n\t\t\tResourceGroupName:             example.Name,\n\t\t\tType:                          pulumi.String(\"Personal\"),\n\t\t\tPersonalDesktopAssignmentType: pulumi.String(\"Automatic\"),\n\t\t\tLoadBalancerType:              pulumi.String(\"BreadthFirst\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tremoteapp, err := desktopvirtualization.NewApplicationGroup(ctx, \"remoteapp\", \u0026desktopvirtualization.ApplicationGroupArgs{\n\t\t\tName:              pulumi.String(\"acctag\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tType:              pulumi.String(\"RemoteApp\"),\n\t\t\tHostPoolId:        pooledbreadthfirst.ID(),\n\t\t\tFriendlyName:      pulumi.String(\"TestAppGroup\"),\n\t\t\tDescription:       pulumi.String(\"Acceptance Test: An application group\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = desktopvirtualization.NewApplication(ctx, \"chrome\", \u0026desktopvirtualization.ApplicationArgs{\n\t\t\tName:                      pulumi.String(\"googlechrome\"),\n\t\t\tApplicationGroupId:        remoteapp.ID(),\n\t\t\tFriendlyName:              pulumi.String(\"Google Chrome\"),\n\t\t\tDescription:               pulumi.String(\"Chromium based web browser\"),\n\t\t\tPath:                      pulumi.String(\"C:\\\\Program Files\\\\Google\\\\Chrome\\\\Application\\\\chrome.exe\"),\n\t\t\tCommandLineArgumentPolicy: pulumi.String(\"DoNotAllow\"),\n\t\t\tCommandLineArguments:      pulumi.String(\"--incognito\"),\n\t\t\tShowInPortal:              pulumi.Bool(false),\n\t\t\tIconPath:                  pulumi.String(\"C:\\\\Program Files\\\\Google\\\\Chrome\\\\Application\\\\chrome.exe\"),\n\t\t\tIconIndex:                 pulumi.Int(0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.desktopvirtualization.HostPool;\nimport com.pulumi.azure.desktopvirtualization.HostPoolArgs;\nimport com.pulumi.azure.desktopvirtualization.ApplicationGroup;\nimport com.pulumi.azure.desktopvirtualization.ApplicationGroupArgs;\nimport com.pulumi.azure.desktopvirtualization.Application;\nimport com.pulumi.azure.desktopvirtualization.ApplicationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"rg-example-virtualdesktop\")\n            .location(\"West Europe\")\n            .build());\n\n        var pooledbreadthfirst = new HostPool(\"pooledbreadthfirst\", HostPoolArgs.builder()\n            .name(\"pooledbreadthfirst\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .type(\"Pooled\")\n            .loadBalancerType(\"BreadthFirst\")\n            .build());\n\n        var personalautomatic = new HostPool(\"personalautomatic\", HostPoolArgs.builder()\n            .name(\"personalautomatic\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .type(\"Personal\")\n            .personalDesktopAssignmentType(\"Automatic\")\n            .loadBalancerType(\"BreadthFirst\")\n            .build());\n\n        var remoteapp = new ApplicationGroup(\"remoteapp\", ApplicationGroupArgs.builder()\n            .name(\"acctag\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .type(\"RemoteApp\")\n            .hostPoolId(pooledbreadthfirst.id())\n            .friendlyName(\"TestAppGroup\")\n            .description(\"Acceptance Test: An application group\")\n            .build());\n\n        var chrome = new Application(\"chrome\", ApplicationArgs.builder()\n            .name(\"googlechrome\")\n            .applicationGroupId(remoteapp.id())\n            .friendlyName(\"Google Chrome\")\n            .description(\"Chromium based web browser\")\n            .path(\"C:\\\\Program Files\\\\Google\\\\Chrome\\\\Application\\\\chrome.exe\")\n            .commandLineArgumentPolicy(\"DoNotAllow\")\n            .commandLineArguments(\"--incognito\")\n            .showInPortal(false)\n            .iconPath(\"C:\\\\Program Files\\\\Google\\\\Chrome\\\\Application\\\\chrome.exe\")\n            .iconIndex(0)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: rg-example-virtualdesktop\n      location: West Europe\n  pooledbreadthfirst:\n    type: azure:desktopvirtualization:HostPool\n    properties:\n      name: pooledbreadthfirst\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      type: Pooled\n      loadBalancerType: BreadthFirst\n  personalautomatic:\n    type: azure:desktopvirtualization:HostPool\n    properties:\n      name: personalautomatic\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      type: Personal\n      personalDesktopAssignmentType: Automatic\n      loadBalancerType: BreadthFirst\n  remoteapp:\n    type: azure:desktopvirtualization:ApplicationGroup\n    properties:\n      name: acctag\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      type: RemoteApp\n      hostPoolId: ${pooledbreadthfirst.id}\n      friendlyName: TestAppGroup\n      description: 'Acceptance Test: An application group'\n  chrome:\n    type: azure:desktopvirtualization:Application\n    properties:\n      name: googlechrome\n      applicationGroupId: ${remoteapp.id}\n      friendlyName: Google Chrome\n      description: Chromium based web browser\n      path: C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe\n      commandLineArgumentPolicy: DoNotAllow\n      commandLineArguments: --incognito\n      showInPortal: false\n      iconPath: C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe\n      iconIndex: 0\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.DesktopVirtualization` - 2024-04-03\n\n## Import\n\nVirtual Desktop Application can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:desktopvirtualization/application:Application example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/myapplicationgroup/applications/myapplication\n```\n\n","properties":{"applicationGroupId":{"type":"string","description":"Resource ID for a Virtual Desktop Application Group to associate with the Virtual Desktop Application. Changing this forces a new resource to be created.\n"},"commandLineArgumentPolicy":{"type":"string","description":"Specifies whether this published application can be launched with command line arguments provided by the client, command line arguments specified at publish time, or no command line arguments at all. Possible values include: `DoNotAllow`, `Allow`, `Require`.\n"},"commandLineArguments":{"type":"string","description":"Command Line Arguments for Virtual Desktop Application.\n"},"description":{"type":"string","description":"Option to set a description for the Virtual Desktop Application.\n"},"friendlyName":{"type":"string","description":"Option to set a friendly name for the Virtual Desktop Application.\n"},"iconIndex":{"type":"integer","description":"The index of the icon you wish to use.\n"},"iconPath":{"type":"string","description":"Specifies the path for an icon which will be used for this Virtual Desktop Application.\n"},"name":{"type":"string","description":"The name of the Virtual Desktop Application. Changing the name forces a new resource to be created.\n"},"path":{"type":"string","description":"The file path location of the app on the Virtual Desktop OS.\n"},"showInPortal":{"type":"boolean","description":"Specifies whether to show the RemoteApp program in the RD Web Access server.\n"}},"required":["applicationGroupId","commandLineArgumentPolicy","friendlyName","iconPath","name","path"],"inputProperties":{"applicationGroupId":{"type":"string","description":"Resource ID for a Virtual Desktop Application Group to associate with the Virtual Desktop Application. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"commandLineArgumentPolicy":{"type":"string","description":"Specifies whether this published application can be launched with command line arguments provided by the client, command line arguments specified at publish time, or no command line arguments at all. Possible values include: `DoNotAllow`, `Allow`, `Require`.\n"},"commandLineArguments":{"type":"string","description":"Command Line Arguments for Virtual Desktop Application.\n"},"description":{"type":"string","description":"Option to set a description for the Virtual Desktop Application.\n"},"friendlyName":{"type":"string","description":"Option to set a friendly name for the Virtual Desktop Application.\n"},"iconIndex":{"type":"integer","description":"The index of the icon you wish to use.\n"},"iconPath":{"type":"string","description":"Specifies the path for an icon which will be used for this Virtual Desktop Application.\n"},"name":{"type":"string","description":"The name of the Virtual Desktop Application. Changing the name forces a new resource to be created.\n","willReplaceOnChanges":true},"path":{"type":"string","description":"The file path location of the app on the Virtual Desktop OS.\n"},"showInPortal":{"type":"boolean","description":"Specifies whether to show the RemoteApp program in the RD Web Access server.\n"}},"requiredInputs":["applicationGroupId","commandLineArgumentPolicy","path"],"stateInputs":{"description":"Input properties used for looking up and filtering Application resources.\n","properties":{"applicationGroupId":{"type":"string","description":"Resource ID for a Virtual Desktop Application Group to associate with the Virtual Desktop Application. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"commandLineArgumentPolicy":{"type":"string","description":"Specifies whether this published application can be launched with command line arguments provided by the client, command line arguments specified at publish time, or no command line arguments at all. Possible values include: `DoNotAllow`, `Allow`, `Require`.\n"},"commandLineArguments":{"type":"string","description":"Command Line Arguments for Virtual Desktop Application.\n"},"description":{"type":"string","description":"Option to set a description for the Virtual Desktop Application.\n"},"friendlyName":{"type":"string","description":"Option to set a friendly name for the Virtual Desktop Application.\n"},"iconIndex":{"type":"integer","description":"The index of the icon you wish to use.\n"},"iconPath":{"type":"string","description":"Specifies the path for an icon which will be used for this Virtual Desktop Application.\n"},"name":{"type":"string","description":"The name of the Virtual Desktop Application. Changing the name forces a new resource to be created.\n","willReplaceOnChanges":true},"path":{"type":"string","description":"The file path location of the app on the Virtual Desktop OS.\n"},"showInPortal":{"type":"boolean","description":"Specifies whether to show the RemoteApp program in the RD Web Access server.\n"}},"type":"object"}},"azure:desktopvirtualization/applicationGroup:ApplicationGroup":{"description":"Manages a Virtual Desktop Application Group.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"rg-example-virtualdesktop\",\n    location: \"West Europe\",\n});\nconst pooledbreadthfirst = new azure.desktopvirtualization.HostPool(\"pooledbreadthfirst\", {\n    name: \"pooledbreadthfirst\",\n    location: example.location,\n    resourceGroupName: example.name,\n    type: \"Pooled\",\n    loadBalancerType: \"BreadthFirst\",\n});\nconst personalautomatic = new azure.desktopvirtualization.HostPool(\"personalautomatic\", {\n    name: \"personalautomatic\",\n    location: example.location,\n    resourceGroupName: example.name,\n    type: \"Personal\",\n    personalDesktopAssignmentType: \"Automatic\",\n    loadBalancerType: \"BreadthFirst\",\n});\nconst remoteapp = new azure.desktopvirtualization.ApplicationGroup(\"remoteapp\", {\n    name: \"acctag\",\n    location: example.location,\n    resourceGroupName: example.name,\n    type: \"RemoteApp\",\n    hostPoolId: pooledbreadthfirst.id,\n    friendlyName: \"TestAppGroup\",\n    description: \"Acceptance Test: An application group\",\n});\nconst desktopapp = new azure.desktopvirtualization.ApplicationGroup(\"desktopapp\", {\n    name: \"appgroupdesktop\",\n    location: example.location,\n    resourceGroupName: example.name,\n    type: \"Desktop\",\n    hostPoolId: personalautomatic.id,\n    friendlyName: \"TestAppGroup\",\n    description: \"Acceptance Test: An application group\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"rg-example-virtualdesktop\",\n    location=\"West Europe\")\npooledbreadthfirst = azure.desktopvirtualization.HostPool(\"pooledbreadthfirst\",\n    name=\"pooledbreadthfirst\",\n    location=example.location,\n    resource_group_name=example.name,\n    type=\"Pooled\",\n    load_balancer_type=\"BreadthFirst\")\npersonalautomatic = azure.desktopvirtualization.HostPool(\"personalautomatic\",\n    name=\"personalautomatic\",\n    location=example.location,\n    resource_group_name=example.name,\n    type=\"Personal\",\n    personal_desktop_assignment_type=\"Automatic\",\n    load_balancer_type=\"BreadthFirst\")\nremoteapp = azure.desktopvirtualization.ApplicationGroup(\"remoteapp\",\n    name=\"acctag\",\n    location=example.location,\n    resource_group_name=example.name,\n    type=\"RemoteApp\",\n    host_pool_id=pooledbreadthfirst.id,\n    friendly_name=\"TestAppGroup\",\n    description=\"Acceptance Test: An application group\")\ndesktopapp = azure.desktopvirtualization.ApplicationGroup(\"desktopapp\",\n    name=\"appgroupdesktop\",\n    location=example.location,\n    resource_group_name=example.name,\n    type=\"Desktop\",\n    host_pool_id=personalautomatic.id,\n    friendly_name=\"TestAppGroup\",\n    description=\"Acceptance Test: An application group\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"rg-example-virtualdesktop\",\n        Location = \"West Europe\",\n    });\n\n    var pooledbreadthfirst = new Azure.DesktopVirtualization.HostPool(\"pooledbreadthfirst\", new()\n    {\n        Name = \"pooledbreadthfirst\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Type = \"Pooled\",\n        LoadBalancerType = \"BreadthFirst\",\n    });\n\n    var personalautomatic = new Azure.DesktopVirtualization.HostPool(\"personalautomatic\", new()\n    {\n        Name = \"personalautomatic\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Type = \"Personal\",\n        PersonalDesktopAssignmentType = \"Automatic\",\n        LoadBalancerType = \"BreadthFirst\",\n    });\n\n    var remoteapp = new Azure.DesktopVirtualization.ApplicationGroup(\"remoteapp\", new()\n    {\n        Name = \"acctag\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Type = \"RemoteApp\",\n        HostPoolId = pooledbreadthfirst.Id,\n        FriendlyName = \"TestAppGroup\",\n        Description = \"Acceptance Test: An application group\",\n    });\n\n    var desktopapp = new Azure.DesktopVirtualization.ApplicationGroup(\"desktopapp\", new()\n    {\n        Name = \"appgroupdesktop\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Type = \"Desktop\",\n        HostPoolId = personalautomatic.Id,\n        FriendlyName = \"TestAppGroup\",\n        Description = \"Acceptance Test: An application group\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/desktopvirtualization\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"rg-example-virtualdesktop\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tpooledbreadthfirst, err := desktopvirtualization.NewHostPool(ctx, \"pooledbreadthfirst\", \u0026desktopvirtualization.HostPoolArgs{\n\t\t\tName:              pulumi.String(\"pooledbreadthfirst\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tType:              pulumi.String(\"Pooled\"),\n\t\t\tLoadBalancerType:  pulumi.String(\"BreadthFirst\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tpersonalautomatic, err := desktopvirtualization.NewHostPool(ctx, \"personalautomatic\", \u0026desktopvirtualization.HostPoolArgs{\n\t\t\tName:                          pulumi.String(\"personalautomatic\"),\n\t\t\tLocation:                      example.Location,\n\t\t\tResourceGroupName:             example.Name,\n\t\t\tType:                          pulumi.String(\"Personal\"),\n\t\t\tPersonalDesktopAssignmentType: pulumi.String(\"Automatic\"),\n\t\t\tLoadBalancerType:              pulumi.String(\"BreadthFirst\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = desktopvirtualization.NewApplicationGroup(ctx, \"remoteapp\", \u0026desktopvirtualization.ApplicationGroupArgs{\n\t\t\tName:              pulumi.String(\"acctag\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tType:              pulumi.String(\"RemoteApp\"),\n\t\t\tHostPoolId:        pooledbreadthfirst.ID(),\n\t\t\tFriendlyName:      pulumi.String(\"TestAppGroup\"),\n\t\t\tDescription:       pulumi.String(\"Acceptance Test: An application group\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = desktopvirtualization.NewApplicationGroup(ctx, \"desktopapp\", \u0026desktopvirtualization.ApplicationGroupArgs{\n\t\t\tName:              pulumi.String(\"appgroupdesktop\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tType:              pulumi.String(\"Desktop\"),\n\t\t\tHostPoolId:        personalautomatic.ID(),\n\t\t\tFriendlyName:      pulumi.String(\"TestAppGroup\"),\n\t\t\tDescription:       pulumi.String(\"Acceptance Test: An application group\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.desktopvirtualization.HostPool;\nimport com.pulumi.azure.desktopvirtualization.HostPoolArgs;\nimport com.pulumi.azure.desktopvirtualization.ApplicationGroup;\nimport com.pulumi.azure.desktopvirtualization.ApplicationGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"rg-example-virtualdesktop\")\n            .location(\"West Europe\")\n            .build());\n\n        var pooledbreadthfirst = new HostPool(\"pooledbreadthfirst\", HostPoolArgs.builder()\n            .name(\"pooledbreadthfirst\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .type(\"Pooled\")\n            .loadBalancerType(\"BreadthFirst\")\n            .build());\n\n        var personalautomatic = new HostPool(\"personalautomatic\", HostPoolArgs.builder()\n            .name(\"personalautomatic\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .type(\"Personal\")\n            .personalDesktopAssignmentType(\"Automatic\")\n            .loadBalancerType(\"BreadthFirst\")\n            .build());\n\n        var remoteapp = new ApplicationGroup(\"remoteapp\", ApplicationGroupArgs.builder()\n            .name(\"acctag\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .type(\"RemoteApp\")\n            .hostPoolId(pooledbreadthfirst.id())\n            .friendlyName(\"TestAppGroup\")\n            .description(\"Acceptance Test: An application group\")\n            .build());\n\n        var desktopapp = new ApplicationGroup(\"desktopapp\", ApplicationGroupArgs.builder()\n            .name(\"appgroupdesktop\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .type(\"Desktop\")\n            .hostPoolId(personalautomatic.id())\n            .friendlyName(\"TestAppGroup\")\n            .description(\"Acceptance Test: An application group\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: rg-example-virtualdesktop\n      location: West Europe\n  pooledbreadthfirst:\n    type: azure:desktopvirtualization:HostPool\n    properties:\n      name: pooledbreadthfirst\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      type: Pooled\n      loadBalancerType: BreadthFirst\n  personalautomatic:\n    type: azure:desktopvirtualization:HostPool\n    properties:\n      name: personalautomatic\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      type: Personal\n      personalDesktopAssignmentType: Automatic\n      loadBalancerType: BreadthFirst\n  remoteapp:\n    type: azure:desktopvirtualization:ApplicationGroup\n    properties:\n      name: acctag\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      type: RemoteApp\n      hostPoolId: ${pooledbreadthfirst.id}\n      friendlyName: TestAppGroup\n      description: 'Acceptance Test: An application group'\n  desktopapp:\n    type: azure:desktopvirtualization:ApplicationGroup\n    properties:\n      name: appgroupdesktop\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      type: Desktop\n      hostPoolId: ${personalautomatic.id}\n      friendlyName: TestAppGroup\n      description: 'Acceptance Test: An application group'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.DesktopVirtualization` - 2024-04-03\n\n## Import\n\nVirtual Desktop Application Groups can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:desktopvirtualization/applicationGroup:ApplicationGroup example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/myapplicationgroup\n```\n\n","properties":{"defaultDesktopDisplayName":{"type":"string","description":"Option to set the display name for the default sessionDesktop desktop when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to `Desktop`. A value here is mandatory for connections to the desktop using the Windows 365 portal. Without it the connection will hang at 'Loading Client'.\n"},"description":{"type":"string","description":"Option to set a description for the Virtual Desktop Application Group.\n"},"friendlyName":{"type":"string","description":"Option to set a friendly name for the Virtual Desktop Application Group.\n"},"hostPoolId":{"type":"string","description":"Resource ID for a Virtual Desktop Host Pool to associate with the Virtual Desktop Application Group. Changing the name forces a new resource to be created.\n"},"location":{"type":"string","description":"The location/region where the Virtual Desktop Application Group is located. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"The name of the Virtual Desktop Application Group. Changing the name forces a new resource to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the Virtual Desktop Application Group. Changing this forces a new resource to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"type":{"type":"string","description":"Type of Virtual Desktop Application Group. Valid options are `RemoteApp` or `Desktop` application groups. Changing this forces a new resource to be created.\n"}},"required":["hostPoolId","location","name","resourceGroupName","type"],"inputProperties":{"defaultDesktopDisplayName":{"type":"string","description":"Option to set the display name for the default sessionDesktop desktop when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to `Desktop`. A value here is mandatory for connections to the desktop using the Windows 365 portal. Without it the connection will hang at 'Loading Client'.\n"},"description":{"type":"string","description":"Option to set a description for the Virtual Desktop Application Group.\n"},"friendlyName":{"type":"string","description":"Option to set a friendly name for the Virtual Desktop Application Group.\n"},"hostPoolId":{"type":"string","description":"Resource ID for a Virtual Desktop Host Pool to associate with the Virtual Desktop Application Group. Changing the name forces a new resource to be created.\n","willReplaceOnChanges":true},"location":{"type":"string","description":"The location/region where the Virtual Desktop Application Group is located. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the Virtual Desktop Application Group. Changing the name forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the Virtual Desktop Application Group. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"type":{"type":"string","description":"Type of Virtual Desktop Application Group. Valid options are `RemoteApp` or `Desktop` application groups. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["hostPoolId","resourceGroupName","type"],"stateInputs":{"description":"Input properties used for looking up and filtering ApplicationGroup resources.\n","properties":{"defaultDesktopDisplayName":{"type":"string","description":"Option to set the display name for the default sessionDesktop desktop when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to `Desktop`. A value here is mandatory for connections to the desktop using the Windows 365 portal. Without it the connection will hang at 'Loading Client'.\n"},"description":{"type":"string","description":"Option to set a description for the Virtual Desktop Application Group.\n"},"friendlyName":{"type":"string","description":"Option to set a friendly name for the Virtual Desktop Application Group.\n"},"hostPoolId":{"type":"string","description":"Resource ID for a Virtual Desktop Host Pool to associate with the Virtual Desktop Application Group. Changing the name forces a new resource to be created.\n","willReplaceOnChanges":true},"location":{"type":"string","description":"The location/region where the Virtual Desktop Application Group is located. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the Virtual Desktop Application Group. Changing the name forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the Virtual Desktop Application Group. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"type":{"type":"string","description":"Type of Virtual Desktop Application Group. Valid options are `RemoteApp` or `Desktop` application groups. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:desktopvirtualization/getHostPoolRegistrationInfo:getHostPoolRegistrationInfo":{"description":"Manages the Registration Info for a Virtual Desktop Host Pool.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-hostpool\",\n    location: \"westeurope\",\n});\nconst exampleHostPool = new azure.desktopvirtualization.HostPool(\"example\", {\n    name: \"example-HP\",\n    location: example.location,\n    resourceGroupName: example.name,\n    type: \"Pooled\",\n    validateEnvironment: true,\n    loadBalancerType: \"BreadthFirst\",\n});\nconst exampleGetHostPoolRegistrationInfo = new azure.desktopvirtualization.GetHostPoolRegistrationInfo(\"example\", {\n    hostpoolId: exampleHostPool.id,\n    expirationDate: \"2022-01-01T23:40:52Z\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-hostpool\",\n    location=\"westeurope\")\nexample_host_pool = azure.desktopvirtualization.HostPool(\"example\",\n    name=\"example-HP\",\n    location=example.location,\n    resource_group_name=example.name,\n    type=\"Pooled\",\n    validate_environment=True,\n    load_balancer_type=\"BreadthFirst\")\nexample_get_host_pool_registration_info = azure.desktopvirtualization.GetHostPoolRegistrationInfo(\"example\",\n    hostpool_id=example_host_pool.id,\n    expiration_date=\"2022-01-01T23:40:52Z\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-hostpool\",\n        Location = \"westeurope\",\n    });\n\n    var exampleHostPool = new Azure.DesktopVirtualization.HostPool(\"example\", new()\n    {\n        Name = \"example-HP\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Type = \"Pooled\",\n        ValidateEnvironment = true,\n        LoadBalancerType = \"BreadthFirst\",\n    });\n\n    var exampleGetHostPoolRegistrationInfo = new Azure.DesktopVirtualization.GetHostPoolRegistrationInfo(\"example\", new()\n    {\n        HostpoolId = exampleHostPool.Id,\n        ExpirationDate = \"2022-01-01T23:40:52Z\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/desktopvirtualization\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-hostpool\"),\n\t\t\tLocation: pulumi.String(\"westeurope\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleHostPool, err := desktopvirtualization.NewHostPool(ctx, \"example\", \u0026desktopvirtualization.HostPoolArgs{\n\t\t\tName:                pulumi.String(\"example-HP\"),\n\t\t\tLocation:            example.Location,\n\t\t\tResourceGroupName:   example.Name,\n\t\t\tType:                pulumi.String(\"Pooled\"),\n\t\t\tValidateEnvironment: pulumi.Bool(true),\n\t\t\tLoadBalancerType:    pulumi.String(\"BreadthFirst\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = desktopvirtualization.NewGetHostPoolRegistrationInfo(ctx, \"example\", \u0026desktopvirtualization.GetHostPoolRegistrationInfoArgs{\n\t\t\tHostpoolId:     exampleHostPool.ID(),\n\t\t\tExpirationDate: pulumi.String(\"2022-01-01T23:40:52Z\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.desktopvirtualization.HostPool;\nimport com.pulumi.azure.desktopvirtualization.HostPoolArgs;\nimport com.pulumi.azure.desktopvirtualization.getHostPoolRegistrationInfo;\nimport com.pulumi.azure.desktopvirtualization.getHostPoolRegistrationInfoArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-hostpool\")\n            .location(\"westeurope\")\n            .build());\n\n        var exampleHostPool = new HostPool(\"exampleHostPool\", HostPoolArgs.builder()\n            .name(\"example-HP\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .type(\"Pooled\")\n            .validateEnvironment(true)\n            .loadBalancerType(\"BreadthFirst\")\n            .build());\n\n        var exampleGetHostPoolRegistrationInfo = new GetHostPoolRegistrationInfo(\"exampleGetHostPoolRegistrationInfo\", GetHostPoolRegistrationInfoArgs.builder()\n            .hostpoolId(exampleHostPool.id())\n            .expirationDate(\"2022-01-01T23:40:52Z\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-hostpool\n      location: westeurope\n  exampleHostPool:\n    type: azure:desktopvirtualization:HostPool\n    name: example\n    properties:\n      name: example-HP\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      type: Pooled\n      validateEnvironment: true\n      loadBalancerType: BreadthFirst\n  exampleGetHostPoolRegistrationInfo:\n    type: azure:desktopvirtualization:getHostPoolRegistrationInfo\n    name: example\n    properties:\n      hostpoolId: ${exampleHostPool.id}\n      expirationDate: 2022-01-01T23:40:52Z\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.DesktopVirtualization` - 2024-04-03\n\n## Import\n\nAVD Registration Infos can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:desktopvirtualization/getHostPoolRegistrationInfo:getHostPoolRegistrationInfo example /subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/resGroup1/providers/Microsoft.DesktopVirtualization/hostPools/pool1/registrationInfo/default\n```\n\n","properties":{"expirationDate":{"type":"string","description":"A valid `RFC3339Time` for the expiration of the token..\n"},"hostpoolId":{"type":"string","description":"The ID of the Virtual Desktop Host Pool to link the Registration Info to. Changing this forces a new Registration Info resource to be created. Only a single\u003cspan pulumi-lang-nodejs=\" virtualDesktopHostPoolRegistrationInfo \" pulumi-lang-dotnet=\" VirtualDesktopHostPoolRegistrationInfo \" pulumi-lang-go=\" virtualDesktopHostPoolRegistrationInfo \" pulumi-lang-python=\" virtual_desktop_host_pool_registration_info \" pulumi-lang-yaml=\" virtualDesktopHostPoolRegistrationInfo \" pulumi-lang-java=\" virtualDesktopHostPoolRegistrationInfo \"\u003e virtual_desktop_host_pool_registration_info \u003c/span\u003eresource should be associated with a given hostpool. Assigning multiple resources will produce inconsistent results.\n"},"token":{"type":"string","description":"The registration token generated by the Virtual Desktop Host Pool for registration of session hosts.\n","secret":true}},"required":["expirationDate","hostpoolId","token"],"inputProperties":{"expirationDate":{"type":"string","description":"A valid `RFC3339Time` for the expiration of the token..\n"},"hostpoolId":{"type":"string","description":"The ID of the Virtual Desktop Host Pool to link the Registration Info to. Changing this forces a new Registration Info resource to be created. Only a single\u003cspan pulumi-lang-nodejs=\" virtualDesktopHostPoolRegistrationInfo \" pulumi-lang-dotnet=\" VirtualDesktopHostPoolRegistrationInfo \" pulumi-lang-go=\" virtualDesktopHostPoolRegistrationInfo \" pulumi-lang-python=\" virtual_desktop_host_pool_registration_info \" pulumi-lang-yaml=\" virtualDesktopHostPoolRegistrationInfo \" pulumi-lang-java=\" virtualDesktopHostPoolRegistrationInfo \"\u003e virtual_desktop_host_pool_registration_info \u003c/span\u003eresource should be associated with a given hostpool. Assigning multiple resources will produce inconsistent results.\n","willReplaceOnChanges":true}},"requiredInputs":["expirationDate","hostpoolId"],"stateInputs":{"description":"Input properties used for looking up and filtering getHostPoolRegistrationInfo resources.\n","properties":{"expirationDate":{"type":"string","description":"A valid `RFC3339Time` for the expiration of the token..\n"},"hostpoolId":{"type":"string","description":"The ID of the Virtual Desktop Host Pool to link the Registration Info to. Changing this forces a new Registration Info resource to be created. Only a single\u003cspan pulumi-lang-nodejs=\" virtualDesktopHostPoolRegistrationInfo \" pulumi-lang-dotnet=\" VirtualDesktopHostPoolRegistrationInfo \" pulumi-lang-go=\" virtualDesktopHostPoolRegistrationInfo \" pulumi-lang-python=\" virtual_desktop_host_pool_registration_info \" pulumi-lang-yaml=\" virtualDesktopHostPoolRegistrationInfo \" pulumi-lang-java=\" virtualDesktopHostPoolRegistrationInfo \"\u003e virtual_desktop_host_pool_registration_info \u003c/span\u003eresource should be associated with a given hostpool. Assigning multiple resources will produce inconsistent results.\n","willReplaceOnChanges":true},"token":{"type":"string","description":"The registration token generated by the Virtual Desktop Host Pool for registration of session hosts.\n","secret":true}},"type":"object"}},"azure:desktopvirtualization/hostPool:HostPool":{"description":"Manages a Virtual Desktop Host Pool.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleHostPool = new azure.desktopvirtualization.HostPool(\"example\", {\n    location: example.location,\n    resourceGroupName: example.name,\n    name: \"pooleddepthfirst\",\n    friendlyName: \"pooleddepthfirst\",\n    validateEnvironment: true,\n    startVmOnConnect: true,\n    customRdpProperties: \"audiocapturemode:i:1;audiomode:i:0;\",\n    description: \"Acceptance Test: A pooled host pool - pooleddepthfirst\",\n    type: \"Pooled\",\n    maximumSessionsAllowed: 50,\n    loadBalancerType: \"DepthFirst\",\n    scheduledAgentUpdates: {\n        enabled: true,\n        schedules: [{\n            dayOfWeek: \"Saturday\",\n            hourOfDay: 2,\n        }],\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_host_pool = azure.desktopvirtualization.HostPool(\"example\",\n    location=example.location,\n    resource_group_name=example.name,\n    name=\"pooleddepthfirst\",\n    friendly_name=\"pooleddepthfirst\",\n    validate_environment=True,\n    start_vm_on_connect=True,\n    custom_rdp_properties=\"audiocapturemode:i:1;audiomode:i:0;\",\n    description=\"Acceptance Test: A pooled host pool - pooleddepthfirst\",\n    type=\"Pooled\",\n    maximum_sessions_allowed=50,\n    load_balancer_type=\"DepthFirst\",\n    scheduled_agent_updates={\n        \"enabled\": True,\n        \"schedules\": [{\n            \"day_of_week\": \"Saturday\",\n            \"hour_of_day\": 2,\n        }],\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleHostPool = new Azure.DesktopVirtualization.HostPool(\"example\", new()\n    {\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Name = \"pooleddepthfirst\",\n        FriendlyName = \"pooleddepthfirst\",\n        ValidateEnvironment = true,\n        StartVmOnConnect = true,\n        CustomRdpProperties = \"audiocapturemode:i:1;audiomode:i:0;\",\n        Description = \"Acceptance Test: A pooled host pool - pooleddepthfirst\",\n        Type = \"Pooled\",\n        MaximumSessionsAllowed = 50,\n        LoadBalancerType = \"DepthFirst\",\n        ScheduledAgentUpdates = new Azure.DesktopVirtualization.Inputs.HostPoolScheduledAgentUpdatesArgs\n        {\n            Enabled = true,\n            Schedules = new[]\n            {\n                new Azure.DesktopVirtualization.Inputs.HostPoolScheduledAgentUpdatesScheduleArgs\n                {\n                    DayOfWeek = \"Saturday\",\n                    HourOfDay = 2,\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/desktopvirtualization\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = desktopvirtualization.NewHostPool(ctx, \"example\", \u0026desktopvirtualization.HostPoolArgs{\n\t\t\tLocation:               example.Location,\n\t\t\tResourceGroupName:      example.Name,\n\t\t\tName:                   pulumi.String(\"pooleddepthfirst\"),\n\t\t\tFriendlyName:           pulumi.String(\"pooleddepthfirst\"),\n\t\t\tValidateEnvironment:    pulumi.Bool(true),\n\t\t\tStartVmOnConnect:       pulumi.Bool(true),\n\t\t\tCustomRdpProperties:    pulumi.String(\"audiocapturemode:i:1;audiomode:i:0;\"),\n\t\t\tDescription:            pulumi.String(\"Acceptance Test: A pooled host pool - pooleddepthfirst\"),\n\t\t\tType:                   pulumi.String(\"Pooled\"),\n\t\t\tMaximumSessionsAllowed: pulumi.Int(50),\n\t\t\tLoadBalancerType:       pulumi.String(\"DepthFirst\"),\n\t\t\tScheduledAgentUpdates: \u0026desktopvirtualization.HostPoolScheduledAgentUpdatesArgs{\n\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\tSchedules: desktopvirtualization.HostPoolScheduledAgentUpdatesScheduleArray{\n\t\t\t\t\t\u0026desktopvirtualization.HostPoolScheduledAgentUpdatesScheduleArgs{\n\t\t\t\t\t\tDayOfWeek: pulumi.String(\"Saturday\"),\n\t\t\t\t\t\tHourOfDay: pulumi.Int(2),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.desktopvirtualization.HostPool;\nimport com.pulumi.azure.desktopvirtualization.HostPoolArgs;\nimport com.pulumi.azure.desktopvirtualization.inputs.HostPoolScheduledAgentUpdatesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleHostPool = new HostPool(\"exampleHostPool\", HostPoolArgs.builder()\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .name(\"pooleddepthfirst\")\n            .friendlyName(\"pooleddepthfirst\")\n            .validateEnvironment(true)\n            .startVmOnConnect(true)\n            .customRdpProperties(\"audiocapturemode:i:1;audiomode:i:0;\")\n            .description(\"Acceptance Test: A pooled host pool - pooleddepthfirst\")\n            .type(\"Pooled\")\n            .maximumSessionsAllowed(50)\n            .loadBalancerType(\"DepthFirst\")\n            .scheduledAgentUpdates(HostPoolScheduledAgentUpdatesArgs.builder()\n                .enabled(true)\n                .schedules(HostPoolScheduledAgentUpdatesScheduleArgs.builder()\n                    .dayOfWeek(\"Saturday\")\n                    .hourOfDay(2)\n                    .build())\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleHostPool:\n    type: azure:desktopvirtualization:HostPool\n    name: example\n    properties:\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      name: pooleddepthfirst\n      friendlyName: pooleddepthfirst\n      validateEnvironment: true\n      startVmOnConnect: true\n      customRdpProperties: audiocapturemode:i:1;audiomode:i:0;\n      description: 'Acceptance Test: A pooled host pool - pooleddepthfirst'\n      type: Pooled\n      maximumSessionsAllowed: 50\n      loadBalancerType: DepthFirst\n      scheduledAgentUpdates:\n        enabled: true\n        schedules:\n          - dayOfWeek: Saturday\n            hourOfDay: 2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.DesktopVirtualization` - 2024-04-03\n\n## Import\n\nVirtual Desktop Host Pools can be imported using the `resource id`, e.g.\n\n```text\nterraform import azurerm_virtual_desktop_host_pool.example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myGroup1/providers/Microsoft.DesktopVirtualization/hostPools/myhostpool\n```\n\n","properties":{"customRdpProperties":{"type":"string","description":"A valid custom RDP properties string for the Virtual Desktop Host Pool, available properties can be [found in this article](https://docs.microsoft.com/windows-server/remote/remote-desktop-services/clients/rdp-files).\n"},"description":{"type":"string","description":"A description for the Virtual Desktop Host Pool.\n"},"friendlyName":{"type":"string","description":"A friendly name for the Virtual Desktop Host Pool.\n"},"loadBalancerType":{"type":"string","description":"`BreadthFirst` load balancing distributes new user sessions across all available session hosts in the host pool. Possible values are `BreadthFirst`, `DepthFirst` and `Persistent`.\n`DepthFirst` load balancing distributes new user sessions to an available session host with the highest number of connections but has not reached its maximum session limit threshold.\n`Persistent` should be used if the host pool type is `Personal`\n"},"location":{"type":"string","description":"The location/region where the Virtual Desktop Host Pool is located. Changing this forces a new resource to be created.\n"},"maximumSessionsAllowed":{"type":"integer","description":"A valid integer value from 0 to 999999 for the maximum number of users that have concurrent sessions on a session host.\nShould only be set if the \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e of your Virtual Desktop Host Pool is `Pooled`.\n"},"name":{"type":"string","description":"The name of the Virtual Desktop Host Pool. Changing this forces a new resource to be created.\n"},"personalDesktopAssignmentType":{"type":"string","description":"`Automatic` assignment – The service will select an available host and assign it to an user. Possible values are `Automatic` and `Direct`. `Direct` Assignment – Admin selects a specific host to assign to an user. Changing this forces a new resource to be created.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`personalDesktopAssignmentType`\" pulumi-lang-dotnet=\"`PersonalDesktopAssignmentType`\" pulumi-lang-go=\"`personalDesktopAssignmentType`\" pulumi-lang-python=\"`personal_desktop_assignment_type`\" pulumi-lang-yaml=\"`personalDesktopAssignmentType`\" pulumi-lang-java=\"`personalDesktopAssignmentType`\"\u003e`personal_desktop_assignment_type`\u003c/span\u003e is required if the \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e of your Virtual Desktop Host Pool is `Personal`\n"},"preferredAppGroupType":{"type":"string","description":"Option to specify the preferred Application Group type for the Virtual Desktop Host Pool. Valid options are `None`, `Desktop` or `RailApplications`. Default is `Desktop`.\n"},"publicNetworkAccess":{"type":"string","description":"Whether public network access is allowed for the Virtual Desktop Host Pool. Possible values are `Enabled`, `Disabled`, `EnabledForClientsOnly` and `EnabledForSessionHostsOnly`. Defaults to `Enabled`.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the Virtual Desktop Host Pool. Changing this forces a new resource to be created.\n"},"scheduledAgentUpdates":{"$ref":"#/types/azure:desktopvirtualization/HostPoolScheduledAgentUpdates:HostPoolScheduledAgentUpdates","description":"A \u003cspan pulumi-lang-nodejs=\"`scheduledAgentUpdates`\" pulumi-lang-dotnet=\"`ScheduledAgentUpdates`\" pulumi-lang-go=\"`scheduledAgentUpdates`\" pulumi-lang-python=\"`scheduled_agent_updates`\" pulumi-lang-yaml=\"`scheduledAgentUpdates`\" pulumi-lang-java=\"`scheduledAgentUpdates`\"\u003e`scheduled_agent_updates`\u003c/span\u003e block as defined below. This enables control of when Agent Updates will be applied to Session Hosts.\n"},"startVmOnConnect":{"type":"boolean","description":"Enables or disables the Start VM on Connection Feature. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"type":{"type":"string","description":"The type of the Virtual Desktop Host Pool. Valid options are `Personal` or `Pooled`. Changing the type forces a new resource to be created.\n"},"validateEnvironment":{"type":"boolean","description":"Allows you to test service changes before they are deployed to production. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"vmTemplate":{"type":"string","description":"A VM template for session hosts configuration within hostpool. This is a JSON string.\n"}},"required":["loadBalancerType","location","name","resourceGroupName","type"],"inputProperties":{"customRdpProperties":{"type":"string","description":"A valid custom RDP properties string for the Virtual Desktop Host Pool, available properties can be [found in this article](https://docs.microsoft.com/windows-server/remote/remote-desktop-services/clients/rdp-files).\n"},"description":{"type":"string","description":"A description for the Virtual Desktop Host Pool.\n"},"friendlyName":{"type":"string","description":"A friendly name for the Virtual Desktop Host Pool.\n"},"loadBalancerType":{"type":"string","description":"`BreadthFirst` load balancing distributes new user sessions across all available session hosts in the host pool. Possible values are `BreadthFirst`, `DepthFirst` and `Persistent`.\n`DepthFirst` load balancing distributes new user sessions to an available session host with the highest number of connections but has not reached its maximum session limit threshold.\n`Persistent` should be used if the host pool type is `Personal`\n"},"location":{"type":"string","description":"The location/region where the Virtual Desktop Host Pool is located. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"maximumSessionsAllowed":{"type":"integer","description":"A valid integer value from 0 to 999999 for the maximum number of users that have concurrent sessions on a session host.\nShould only be set if the \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e of your Virtual Desktop Host Pool is `Pooled`.\n"},"name":{"type":"string","description":"The name of the Virtual Desktop Host Pool. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"personalDesktopAssignmentType":{"type":"string","description":"`Automatic` assignment – The service will select an available host and assign it to an user. Possible values are `Automatic` and `Direct`. `Direct` Assignment – Admin selects a specific host to assign to an user. Changing this forces a new resource to be created.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`personalDesktopAssignmentType`\" pulumi-lang-dotnet=\"`PersonalDesktopAssignmentType`\" pulumi-lang-go=\"`personalDesktopAssignmentType`\" pulumi-lang-python=\"`personal_desktop_assignment_type`\" pulumi-lang-yaml=\"`personalDesktopAssignmentType`\" pulumi-lang-java=\"`personalDesktopAssignmentType`\"\u003e`personal_desktop_assignment_type`\u003c/span\u003e is required if the \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e of your Virtual Desktop Host Pool is `Personal`\n","willReplaceOnChanges":true},"preferredAppGroupType":{"type":"string","description":"Option to specify the preferred Application Group type for the Virtual Desktop Host Pool. Valid options are `None`, `Desktop` or `RailApplications`. Default is `Desktop`.\n"},"publicNetworkAccess":{"type":"string","description":"Whether public network access is allowed for the Virtual Desktop Host Pool. Possible values are `Enabled`, `Disabled`, `EnabledForClientsOnly` and `EnabledForSessionHostsOnly`. Defaults to `Enabled`.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the Virtual Desktop Host Pool. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"scheduledAgentUpdates":{"$ref":"#/types/azure:desktopvirtualization/HostPoolScheduledAgentUpdates:HostPoolScheduledAgentUpdates","description":"A \u003cspan pulumi-lang-nodejs=\"`scheduledAgentUpdates`\" pulumi-lang-dotnet=\"`ScheduledAgentUpdates`\" pulumi-lang-go=\"`scheduledAgentUpdates`\" pulumi-lang-python=\"`scheduled_agent_updates`\" pulumi-lang-yaml=\"`scheduledAgentUpdates`\" pulumi-lang-java=\"`scheduledAgentUpdates`\"\u003e`scheduled_agent_updates`\u003c/span\u003e block as defined below. This enables control of when Agent Updates will be applied to Session Hosts.\n"},"startVmOnConnect":{"type":"boolean","description":"Enables or disables the Start VM on Connection Feature. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"type":{"type":"string","description":"The type of the Virtual Desktop Host Pool. Valid options are `Personal` or `Pooled`. Changing the type forces a new resource to be created.\n","willReplaceOnChanges":true},"validateEnvironment":{"type":"boolean","description":"Allows you to test service changes before they are deployed to production. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"vmTemplate":{"type":"string","description":"A VM template for session hosts configuration within hostpool. This is a JSON string.\n"}},"requiredInputs":["loadBalancerType","resourceGroupName","type"],"stateInputs":{"description":"Input properties used for looking up and filtering HostPool resources.\n","properties":{"customRdpProperties":{"type":"string","description":"A valid custom RDP properties string for the Virtual Desktop Host Pool, available properties can be [found in this article](https://docs.microsoft.com/windows-server/remote/remote-desktop-services/clients/rdp-files).\n"},"description":{"type":"string","description":"A description for the Virtual Desktop Host Pool.\n"},"friendlyName":{"type":"string","description":"A friendly name for the Virtual Desktop Host Pool.\n"},"loadBalancerType":{"type":"string","description":"`BreadthFirst` load balancing distributes new user sessions across all available session hosts in the host pool. Possible values are `BreadthFirst`, `DepthFirst` and `Persistent`.\n`DepthFirst` load balancing distributes new user sessions to an available session host with the highest number of connections but has not reached its maximum session limit threshold.\n`Persistent` should be used if the host pool type is `Personal`\n"},"location":{"type":"string","description":"The location/region where the Virtual Desktop Host Pool is located. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"maximumSessionsAllowed":{"type":"integer","description":"A valid integer value from 0 to 999999 for the maximum number of users that have concurrent sessions on a session host.\nShould only be set if the \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e of your Virtual Desktop Host Pool is `Pooled`.\n"},"name":{"type":"string","description":"The name of the Virtual Desktop Host Pool. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"personalDesktopAssignmentType":{"type":"string","description":"`Automatic` assignment – The service will select an available host and assign it to an user. Possible values are `Automatic` and `Direct`. `Direct` Assignment – Admin selects a specific host to assign to an user. Changing this forces a new resource to be created.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`personalDesktopAssignmentType`\" pulumi-lang-dotnet=\"`PersonalDesktopAssignmentType`\" pulumi-lang-go=\"`personalDesktopAssignmentType`\" pulumi-lang-python=\"`personal_desktop_assignment_type`\" pulumi-lang-yaml=\"`personalDesktopAssignmentType`\" pulumi-lang-java=\"`personalDesktopAssignmentType`\"\u003e`personal_desktop_assignment_type`\u003c/span\u003e is required if the \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e of your Virtual Desktop Host Pool is `Personal`\n","willReplaceOnChanges":true},"preferredAppGroupType":{"type":"string","description":"Option to specify the preferred Application Group type for the Virtual Desktop Host Pool. Valid options are `None`, `Desktop` or `RailApplications`. Default is `Desktop`.\n"},"publicNetworkAccess":{"type":"string","description":"Whether public network access is allowed for the Virtual Desktop Host Pool. Possible values are `Enabled`, `Disabled`, `EnabledForClientsOnly` and `EnabledForSessionHostsOnly`. Defaults to `Enabled`.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the Virtual Desktop Host Pool. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"scheduledAgentUpdates":{"$ref":"#/types/azure:desktopvirtualization/HostPoolScheduledAgentUpdates:HostPoolScheduledAgentUpdates","description":"A \u003cspan pulumi-lang-nodejs=\"`scheduledAgentUpdates`\" pulumi-lang-dotnet=\"`ScheduledAgentUpdates`\" pulumi-lang-go=\"`scheduledAgentUpdates`\" pulumi-lang-python=\"`scheduled_agent_updates`\" pulumi-lang-yaml=\"`scheduledAgentUpdates`\" pulumi-lang-java=\"`scheduledAgentUpdates`\"\u003e`scheduled_agent_updates`\u003c/span\u003e block as defined below. This enables control of when Agent Updates will be applied to Session Hosts.\n"},"startVmOnConnect":{"type":"boolean","description":"Enables or disables the Start VM on Connection Feature. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"type":{"type":"string","description":"The type of the Virtual Desktop Host Pool. Valid options are `Personal` or `Pooled`. Changing the type forces a new resource to be created.\n","willReplaceOnChanges":true},"validateEnvironment":{"type":"boolean","description":"Allows you to test service changes before they are deployed to production. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"vmTemplate":{"type":"string","description":"A VM template for session hosts configuration within hostpool. This is a JSON string.\n"}},"type":"object"}},"azure:desktopvirtualization/scalingPlan:ScalingPlan":{"description":"Manages a Virtual Desktop Scaling Plan.\n\n## Disclaimers\n\n\u003e **Note:** Scaling Plans are currently in preview and are only supported in a limited number of regions. Both the Scaling Plan and any referenced Host Pools must be deployed in a supported region. [Autoscale (preview) for Azure Virtual Desktop host pools](https://docs.microsoft.com/azure/virtual-desktop/autoscale-scaling-plan).\n\n\u003e **Note:** Scaling Plans require specific permissions to be granted to the Windows Virtual Desktop application before a 'host_pool' can be configured. [Required Permissions for Scaling Plans](https://docs.microsoft.com/azure/virtual-desktop/autoscale-scaling-plan#create-a-custom-rbac-role).\n\n## Import\n\nVirtual Desktop Scaling Plans can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:desktopvirtualization/scalingPlan:ScalingPlan example /subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/resGroup1/providers/Microsoft.DesktopVirtualization/scalingPlans/plan1\n```\n\n","properties":{"description":{"type":"string","description":"A description of the Scaling Plan.\n"},"exclusionTag":{"type":"string","description":"The name of the tag associated with the VMs you want to exclude from autoscaling.\n"},"friendlyName":{"type":"string","description":"Friendly name of the Scaling Plan.\n"},"hostPools":{"type":"array","items":{"$ref":"#/types/azure:desktopvirtualization/ScalingPlanHostPool:ScalingPlanHostPool"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`hostPool`\" pulumi-lang-dotnet=\"`HostPool`\" pulumi-lang-go=\"`hostPool`\" pulumi-lang-python=\"`host_pool`\" pulumi-lang-yaml=\"`hostPool`\" pulumi-lang-java=\"`hostPool`\"\u003e`host_pool`\u003c/span\u003e blocks as defined below.\n"},"location":{"type":"string","description":"The Azure Region where the Virtual Desktop Scaling Plan should exist. Changing this forces a new Virtual Desktop Scaling Plan to be created.\n"},"name":{"type":"string","description":"The name which should be used for this Virtual Desktop Scaling Plan . Changing this forces a new Virtual Desktop Scaling Plan to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Virtual Desktop Scaling Plan should exist. Changing this forces a new Virtual Desktop Scaling Plan to be created.\n"},"schedules":{"type":"array","items":{"$ref":"#/types/azure:desktopvirtualization/ScalingPlanSchedule:ScalingPlanSchedule"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`schedule`\" pulumi-lang-dotnet=\"`Schedule`\" pulumi-lang-go=\"`schedule`\" pulumi-lang-python=\"`schedule`\" pulumi-lang-yaml=\"`schedule`\" pulumi-lang-java=\"`schedule`\"\u003e`schedule`\u003c/span\u003e blocks as defined below.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Virtual Desktop Scaling Plan .\n"},"timeZone":{"type":"string","description":"Specifies the Time Zone which should be used by the Scaling Plan for time based events, [the possible values are defined here](https://jackstromberg.com/2017/01/list-of-time-zones-consumed-by-azure/).\n"}},"required":["hostPools","location","name","resourceGroupName","schedules","timeZone"],"inputProperties":{"description":{"type":"string","description":"A description of the Scaling Plan.\n"},"exclusionTag":{"type":"string","description":"The name of the tag associated with the VMs you want to exclude from autoscaling.\n"},"friendlyName":{"type":"string","description":"Friendly name of the Scaling Plan.\n"},"hostPools":{"type":"array","items":{"$ref":"#/types/azure:desktopvirtualization/ScalingPlanHostPool:ScalingPlanHostPool"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`hostPool`\" pulumi-lang-dotnet=\"`HostPool`\" pulumi-lang-go=\"`hostPool`\" pulumi-lang-python=\"`host_pool`\" pulumi-lang-yaml=\"`hostPool`\" pulumi-lang-java=\"`hostPool`\"\u003e`host_pool`\u003c/span\u003e blocks as defined below.\n"},"location":{"type":"string","description":"The Azure Region where the Virtual Desktop Scaling Plan should exist. Changing this forces a new Virtual Desktop Scaling Plan to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Virtual Desktop Scaling Plan . Changing this forces a new Virtual Desktop Scaling Plan to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Virtual Desktop Scaling Plan should exist. Changing this forces a new Virtual Desktop Scaling Plan to be created.\n","willReplaceOnChanges":true},"schedules":{"type":"array","items":{"$ref":"#/types/azure:desktopvirtualization/ScalingPlanSchedule:ScalingPlanSchedule"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`schedule`\" pulumi-lang-dotnet=\"`Schedule`\" pulumi-lang-go=\"`schedule`\" pulumi-lang-python=\"`schedule`\" pulumi-lang-yaml=\"`schedule`\" pulumi-lang-java=\"`schedule`\"\u003e`schedule`\u003c/span\u003e blocks as defined below.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Virtual Desktop Scaling Plan .\n"},"timeZone":{"type":"string","description":"Specifies the Time Zone which should be used by the Scaling Plan for time based events, [the possible values are defined here](https://jackstromberg.com/2017/01/list-of-time-zones-consumed-by-azure/).\n"}},"requiredInputs":["resourceGroupName","schedules","timeZone"],"stateInputs":{"description":"Input properties used for looking up and filtering ScalingPlan resources.\n","properties":{"description":{"type":"string","description":"A description of the Scaling Plan.\n"},"exclusionTag":{"type":"string","description":"The name of the tag associated with the VMs you want to exclude from autoscaling.\n"},"friendlyName":{"type":"string","description":"Friendly name of the Scaling Plan.\n"},"hostPools":{"type":"array","items":{"$ref":"#/types/azure:desktopvirtualization/ScalingPlanHostPool:ScalingPlanHostPool"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`hostPool`\" pulumi-lang-dotnet=\"`HostPool`\" pulumi-lang-go=\"`hostPool`\" pulumi-lang-python=\"`host_pool`\" pulumi-lang-yaml=\"`hostPool`\" pulumi-lang-java=\"`hostPool`\"\u003e`host_pool`\u003c/span\u003e blocks as defined below.\n"},"location":{"type":"string","description":"The Azure Region where the Virtual Desktop Scaling Plan should exist. Changing this forces a new Virtual Desktop Scaling Plan to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Virtual Desktop Scaling Plan . Changing this forces a new Virtual Desktop Scaling Plan to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Virtual Desktop Scaling Plan should exist. Changing this forces a new Virtual Desktop Scaling Plan to be created.\n","willReplaceOnChanges":true},"schedules":{"type":"array","items":{"$ref":"#/types/azure:desktopvirtualization/ScalingPlanSchedule:ScalingPlanSchedule"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`schedule`\" pulumi-lang-dotnet=\"`Schedule`\" pulumi-lang-go=\"`schedule`\" pulumi-lang-python=\"`schedule`\" pulumi-lang-yaml=\"`schedule`\" pulumi-lang-java=\"`schedule`\"\u003e`schedule`\u003c/span\u003e blocks as defined below.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Virtual Desktop Scaling Plan .\n"},"timeZone":{"type":"string","description":"Specifies the Time Zone which should be used by the Scaling Plan for time based events, [the possible values are defined here](https://jackstromberg.com/2017/01/list-of-time-zones-consumed-by-azure/).\n"}},"type":"object"}},"azure:desktopvirtualization/scalingPlanHostPoolAssociation:ScalingPlanHostPoolAssociation":{"description":"Manages a Virtual Desktop Scaling Plan Host Pool Association.\n\n## Import\n\nAssociations between Virtual Desktop Scaling Plans and Virtual Desktop Host Pools can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:desktopvirtualization/scalingPlanHostPoolAssociation:ScalingPlanHostPoolAssociation example \"/subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/resGroup1/providers/Microsoft.DesktopVirtualization/scalingPlans/plan1|/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myGroup1/providers/Microsoft.DesktopVirtualization/hostPools/myhostpool\"\n```\n\n\u003e **Note:** This ID is specific to Terraform - and is of the format `{virtualDesktopScalingPlanID}|{virtualDesktopHostPoolID}`.\n\n","properties":{"enabled":{"type":"boolean","description":"Should the Scaling Plan be enabled on this Host Pool.\n"},"hostPoolId":{"type":"string","description":"The resource ID for the Virtual Desktop Host Pool. Changing this forces a new resource to be created.\n"},"scalingPlanId":{"type":"string","description":"The resource ID for the Virtual Desktop Scaling Plan. Changing this forces a new resource to be created.\n"}},"required":["enabled","hostPoolId","scalingPlanId"],"inputProperties":{"enabled":{"type":"boolean","description":"Should the Scaling Plan be enabled on this Host Pool.\n"},"hostPoolId":{"type":"string","description":"The resource ID for the Virtual Desktop Host Pool. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"scalingPlanId":{"type":"string","description":"The resource ID for the Virtual Desktop Scaling Plan. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["enabled","hostPoolId","scalingPlanId"],"stateInputs":{"description":"Input properties used for looking up and filtering ScalingPlanHostPoolAssociation resources.\n","properties":{"enabled":{"type":"boolean","description":"Should the Scaling Plan be enabled on this Host Pool.\n"},"hostPoolId":{"type":"string","description":"The resource ID for the Virtual Desktop Host Pool. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"scalingPlanId":{"type":"string","description":"The resource ID for the Virtual Desktop Scaling Plan. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:desktopvirtualization/workspace:Workspace":{"description":"Manages a Virtual Desktop Workspace.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"rg-example-virtualdesktop\",\n    location: \"West Europe\",\n});\nconst workspace = new azure.desktopvirtualization.Workspace(\"workspace\", {\n    name: \"workspace\",\n    location: example.location,\n    resourceGroupName: example.name,\n    friendlyName: \"FriendlyName\",\n    description: \"A description of my workspace\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"rg-example-virtualdesktop\",\n    location=\"West Europe\")\nworkspace = azure.desktopvirtualization.Workspace(\"workspace\",\n    name=\"workspace\",\n    location=example.location,\n    resource_group_name=example.name,\n    friendly_name=\"FriendlyName\",\n    description=\"A description of my workspace\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"rg-example-virtualdesktop\",\n        Location = \"West Europe\",\n    });\n\n    var workspace = new Azure.DesktopVirtualization.Workspace(\"workspace\", new()\n    {\n        Name = \"workspace\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        FriendlyName = \"FriendlyName\",\n        Description = \"A description of my workspace\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/desktopvirtualization\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"rg-example-virtualdesktop\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = desktopvirtualization.NewWorkspace(ctx, \"workspace\", \u0026desktopvirtualization.WorkspaceArgs{\n\t\t\tName:              pulumi.String(\"workspace\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tFriendlyName:      pulumi.String(\"FriendlyName\"),\n\t\t\tDescription:       pulumi.String(\"A description of my workspace\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.desktopvirtualization.Workspace;\nimport com.pulumi.azure.desktopvirtualization.WorkspaceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"rg-example-virtualdesktop\")\n            .location(\"West Europe\")\n            .build());\n\n        var workspace = new Workspace(\"workspace\", WorkspaceArgs.builder()\n            .name(\"workspace\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .friendlyName(\"FriendlyName\")\n            .description(\"A description of my workspace\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: rg-example-virtualdesktop\n      location: West Europe\n  workspace:\n    type: azure:desktopvirtualization:Workspace\n    properties:\n      name: workspace\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      friendlyName: FriendlyName\n      description: A description of my workspace\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.DesktopVirtualization` - 2024-04-03\n\n## Import\n\nVirtual Desktop Workspaces can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:desktopvirtualization/workspace:Workspace example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myGroup1/providers/Microsoft.DesktopVirtualization/workspaces/myworkspace\n```\n\n","properties":{"description":{"type":"string","description":"A description for the Virtual Desktop Workspace.\n"},"friendlyName":{"type":"string","description":"A friendly name for the Virtual Desktop Workspace.\n"},"location":{"type":"string","description":"The location/region where the Virtual Desktop Workspace is located. Changing the location/region forces a new resource to be created.\n"},"name":{"type":"string","description":"The name of the Virtual Desktop Workspace. Changing this forces a new resource to be created.\n"},"publicNetworkAccessEnabled":{"type":"boolean","description":"Whether public network access is allowed for this Virtual Desktop Workspace. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the Virtual Desktop Workspace. Changing this forces a new resource to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"required":["location","name","resourceGroupName"],"inputProperties":{"description":{"type":"string","description":"A description for the Virtual Desktop Workspace.\n"},"friendlyName":{"type":"string","description":"A friendly name for the Virtual Desktop Workspace.\n"},"location":{"type":"string","description":"The location/region where the Virtual Desktop Workspace is located. Changing the location/region forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the Virtual Desktop Workspace. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"publicNetworkAccessEnabled":{"type":"boolean","description":"Whether public network access is allowed for this Virtual Desktop Workspace. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the Virtual Desktop Workspace. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"requiredInputs":["resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering Workspace resources.\n","properties":{"description":{"type":"string","description":"A description for the Virtual Desktop Workspace.\n"},"friendlyName":{"type":"string","description":"A friendly name for the Virtual Desktop Workspace.\n"},"location":{"type":"string","description":"The location/region where the Virtual Desktop Workspace is located. Changing the location/region forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the Virtual Desktop Workspace. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"publicNetworkAccessEnabled":{"type":"boolean","description":"Whether public network access is allowed for this Virtual Desktop Workspace. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the Virtual Desktop Workspace. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"type":"object"}},"azure:desktopvirtualization/workspaceApplicationGroupAssociation:WorkspaceApplicationGroupAssociation":{"description":"Manages a Virtual Desktop Workspace Application Group Association.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"rg-example-virtualdesktop\",\n    location: \"West Europe\",\n});\nconst pooledbreadthfirst = new azure.desktopvirtualization.HostPool(\"pooledbreadthfirst\", {\n    name: \"pooledbreadthfirst\",\n    location: example.location,\n    resourceGroupName: example.name,\n    type: \"Pooled\",\n    loadBalancerType: \"BreadthFirst\",\n});\nconst remoteapp = new azure.desktopvirtualization.ApplicationGroup(\"remoteapp\", {\n    name: \"remoteapp\",\n    location: example.location,\n    resourceGroupName: example.name,\n    type: \"RemoteApp\",\n    hostPoolId: pooledbreadthfirst.id,\n});\nconst workspace = new azure.desktopvirtualization.Workspace(\"workspace\", {\n    name: \"workspace\",\n    location: example.location,\n    resourceGroupName: example.name,\n});\nconst workspaceremoteapp = new azure.desktopvirtualization.WorkspaceApplicationGroupAssociation(\"workspaceremoteapp\", {\n    workspaceId: workspace.id,\n    applicationGroupId: remoteapp.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"rg-example-virtualdesktop\",\n    location=\"West Europe\")\npooledbreadthfirst = azure.desktopvirtualization.HostPool(\"pooledbreadthfirst\",\n    name=\"pooledbreadthfirst\",\n    location=example.location,\n    resource_group_name=example.name,\n    type=\"Pooled\",\n    load_balancer_type=\"BreadthFirst\")\nremoteapp = azure.desktopvirtualization.ApplicationGroup(\"remoteapp\",\n    name=\"remoteapp\",\n    location=example.location,\n    resource_group_name=example.name,\n    type=\"RemoteApp\",\n    host_pool_id=pooledbreadthfirst.id)\nworkspace = azure.desktopvirtualization.Workspace(\"workspace\",\n    name=\"workspace\",\n    location=example.location,\n    resource_group_name=example.name)\nworkspaceremoteapp = azure.desktopvirtualization.WorkspaceApplicationGroupAssociation(\"workspaceremoteapp\",\n    workspace_id=workspace.id,\n    application_group_id=remoteapp.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"rg-example-virtualdesktop\",\n        Location = \"West Europe\",\n    });\n\n    var pooledbreadthfirst = new Azure.DesktopVirtualization.HostPool(\"pooledbreadthfirst\", new()\n    {\n        Name = \"pooledbreadthfirst\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Type = \"Pooled\",\n        LoadBalancerType = \"BreadthFirst\",\n    });\n\n    var remoteapp = new Azure.DesktopVirtualization.ApplicationGroup(\"remoteapp\", new()\n    {\n        Name = \"remoteapp\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Type = \"RemoteApp\",\n        HostPoolId = pooledbreadthfirst.Id,\n    });\n\n    var workspace = new Azure.DesktopVirtualization.Workspace(\"workspace\", new()\n    {\n        Name = \"workspace\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n    });\n\n    var workspaceremoteapp = new Azure.DesktopVirtualization.WorkspaceApplicationGroupAssociation(\"workspaceremoteapp\", new()\n    {\n        WorkspaceId = workspace.Id,\n        ApplicationGroupId = remoteapp.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/desktopvirtualization\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"rg-example-virtualdesktop\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tpooledbreadthfirst, err := desktopvirtualization.NewHostPool(ctx, \"pooledbreadthfirst\", \u0026desktopvirtualization.HostPoolArgs{\n\t\t\tName:              pulumi.String(\"pooledbreadthfirst\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tType:              pulumi.String(\"Pooled\"),\n\t\t\tLoadBalancerType:  pulumi.String(\"BreadthFirst\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tremoteapp, err := desktopvirtualization.NewApplicationGroup(ctx, \"remoteapp\", \u0026desktopvirtualization.ApplicationGroupArgs{\n\t\t\tName:              pulumi.String(\"remoteapp\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tType:              pulumi.String(\"RemoteApp\"),\n\t\t\tHostPoolId:        pooledbreadthfirst.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tworkspace, err := desktopvirtualization.NewWorkspace(ctx, \"workspace\", \u0026desktopvirtualization.WorkspaceArgs{\n\t\t\tName:              pulumi.String(\"workspace\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = desktopvirtualization.NewWorkspaceApplicationGroupAssociation(ctx, \"workspaceremoteapp\", \u0026desktopvirtualization.WorkspaceApplicationGroupAssociationArgs{\n\t\t\tWorkspaceId:        workspace.ID(),\n\t\t\tApplicationGroupId: remoteapp.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.desktopvirtualization.HostPool;\nimport com.pulumi.azure.desktopvirtualization.HostPoolArgs;\nimport com.pulumi.azure.desktopvirtualization.ApplicationGroup;\nimport com.pulumi.azure.desktopvirtualization.ApplicationGroupArgs;\nimport com.pulumi.azure.desktopvirtualization.Workspace;\nimport com.pulumi.azure.desktopvirtualization.WorkspaceArgs;\nimport com.pulumi.azure.desktopvirtualization.WorkspaceApplicationGroupAssociation;\nimport com.pulumi.azure.desktopvirtualization.WorkspaceApplicationGroupAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"rg-example-virtualdesktop\")\n            .location(\"West Europe\")\n            .build());\n\n        var pooledbreadthfirst = new HostPool(\"pooledbreadthfirst\", HostPoolArgs.builder()\n            .name(\"pooledbreadthfirst\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .type(\"Pooled\")\n            .loadBalancerType(\"BreadthFirst\")\n            .build());\n\n        var remoteapp = new ApplicationGroup(\"remoteapp\", ApplicationGroupArgs.builder()\n            .name(\"remoteapp\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .type(\"RemoteApp\")\n            .hostPoolId(pooledbreadthfirst.id())\n            .build());\n\n        var workspace = new Workspace(\"workspace\", WorkspaceArgs.builder()\n            .name(\"workspace\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .build());\n\n        var workspaceremoteapp = new WorkspaceApplicationGroupAssociation(\"workspaceremoteapp\", WorkspaceApplicationGroupAssociationArgs.builder()\n            .workspaceId(workspace.id())\n            .applicationGroupId(remoteapp.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: rg-example-virtualdesktop\n      location: West Europe\n  pooledbreadthfirst:\n    type: azure:desktopvirtualization:HostPool\n    properties:\n      name: pooledbreadthfirst\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      type: Pooled\n      loadBalancerType: BreadthFirst\n  remoteapp:\n    type: azure:desktopvirtualization:ApplicationGroup\n    properties:\n      name: remoteapp\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      type: RemoteApp\n      hostPoolId: ${pooledbreadthfirst.id}\n  workspace:\n    type: azure:desktopvirtualization:Workspace\n    properties:\n      name: workspace\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n  workspaceremoteapp:\n    type: azure:desktopvirtualization:WorkspaceApplicationGroupAssociation\n    properties:\n      workspaceId: ${workspace.id}\n      applicationGroupId: ${remoteapp.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.DesktopVirtualization` - 2024-04-03\n\n## Import\n\nAssociations between Virtual Desktop Workspaces and Virtual Desktop Application Groups can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:desktopvirtualization/workspaceApplicationGroupAssociation:WorkspaceApplicationGroupAssociation association1 \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myGroup1/providers/Microsoft.DesktopVirtualization/workspaces/myworkspace|/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/myapplicationgroup\"\n```\n\n\u003e **Note:** This ID is specific to this provider - and is of the format `{virtualDesktopWorkspaceID}|{virtualDesktopApplicationGroupID}`.\n\n","properties":{"applicationGroupId":{"type":"string","description":"The resource ID for the Virtual Desktop Application Group. Changing this forces a new resource to be created.\n"},"workspaceId":{"type":"string","description":"The resource ID for the Virtual Desktop Workspace. Changing this forces a new resource to be created.\n"}},"required":["applicationGroupId","workspaceId"],"inputProperties":{"applicationGroupId":{"type":"string","description":"The resource ID for the Virtual Desktop Application Group. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"workspaceId":{"type":"string","description":"The resource ID for the Virtual Desktop Workspace. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["applicationGroupId","workspaceId"],"stateInputs":{"description":"Input properties used for looking up and filtering WorkspaceApplicationGroupAssociation resources.\n","properties":{"applicationGroupId":{"type":"string","description":"The resource ID for the Virtual Desktop Application Group. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"workspaceId":{"type":"string","description":"The resource ID for the Virtual Desktop Workspace. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:devcenter/attachedNetwork:AttachedNetwork":{"description":"Manages a Dev Center Attached Network.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-dcan\",\n    location: \"West Europe\",\n});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"example\", {\n    name: \"example-vnet\",\n    addressSpaces: [\"10.0.0.0/16\"],\n    location: example.location,\n    resourceGroupName: example.name,\n});\nconst exampleSubnet = new azure.network.Subnet(\"example\", {\n    name: \"internal\",\n    resourceGroupName: example.name,\n    virtualNetworkName: exampleVirtualNetwork.name,\n    addressPrefixes: [\"10.0.2.0/24\"],\n});\nconst exampleDevCenter = new azure.devcenter.DevCenter(\"example\", {\n    name: \"example-dc\",\n    resourceGroupName: example.name,\n    location: example.location,\n    identity: {\n        type: \"SystemAssigned\",\n    },\n});\nconst exampleNetworkConnection = new azure.devcenter.NetworkConnection(\"example\", {\n    name: \"example-dcnc\",\n    resourceGroupName: example.name,\n    location: example.location,\n    domainJoinType: \"AzureADJoin\",\n    subnetId: exampleSubnet.id,\n});\nconst exampleAttachedNetwork = new azure.devcenter.AttachedNetwork(\"example\", {\n    name: \"example-dcet\",\n    devCenterId: exampleDevCenter.id,\n    networkConnectionId: exampleNetworkConnection.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-dcan\",\n    location=\"West Europe\")\nexample_virtual_network = azure.network.VirtualNetwork(\"example\",\n    name=\"example-vnet\",\n    address_spaces=[\"10.0.0.0/16\"],\n    location=example.location,\n    resource_group_name=example.name)\nexample_subnet = azure.network.Subnet(\"example\",\n    name=\"internal\",\n    resource_group_name=example.name,\n    virtual_network_name=example_virtual_network.name,\n    address_prefixes=[\"10.0.2.0/24\"])\nexample_dev_center = azure.devcenter.DevCenter(\"example\",\n    name=\"example-dc\",\n    resource_group_name=example.name,\n    location=example.location,\n    identity={\n        \"type\": \"SystemAssigned\",\n    })\nexample_network_connection = azure.devcenter.NetworkConnection(\"example\",\n    name=\"example-dcnc\",\n    resource_group_name=example.name,\n    location=example.location,\n    domain_join_type=\"AzureADJoin\",\n    subnet_id=example_subnet.id)\nexample_attached_network = azure.devcenter.AttachedNetwork(\"example\",\n    name=\"example-dcet\",\n    dev_center_id=example_dev_center.id,\n    network_connection_id=example_network_connection.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-dcan\",\n        Location = \"West Europe\",\n    });\n\n    var exampleVirtualNetwork = new Azure.Network.VirtualNetwork(\"example\", new()\n    {\n        Name = \"example-vnet\",\n        AddressSpaces = new[]\n        {\n            \"10.0.0.0/16\",\n        },\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n    });\n\n    var exampleSubnet = new Azure.Network.Subnet(\"example\", new()\n    {\n        Name = \"internal\",\n        ResourceGroupName = example.Name,\n        VirtualNetworkName = exampleVirtualNetwork.Name,\n        AddressPrefixes = new[]\n        {\n            \"10.0.2.0/24\",\n        },\n    });\n\n    var exampleDevCenter = new Azure.DevCenter.DevCenter(\"example\", new()\n    {\n        Name = \"example-dc\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        Identity = new Azure.DevCenter.Inputs.DevCenterIdentityArgs\n        {\n            Type = \"SystemAssigned\",\n        },\n    });\n\n    var exampleNetworkConnection = new Azure.DevCenter.NetworkConnection(\"example\", new()\n    {\n        Name = \"example-dcnc\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        DomainJoinType = \"AzureADJoin\",\n        SubnetId = exampleSubnet.Id,\n    });\n\n    var exampleAttachedNetwork = new Azure.DevCenter.AttachedNetwork(\"example\", new()\n    {\n        Name = \"example-dcet\",\n        DevCenterId = exampleDevCenter.Id,\n        NetworkConnectionId = exampleNetworkConnection.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/devcenter\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-dcan\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, \"example\", \u0026network.VirtualNetworkArgs{\n\t\t\tName: pulumi.String(\"example-vnet\"),\n\t\t\tAddressSpaces: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.0.0/16\"),\n\t\t\t},\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSubnet, err := network.NewSubnet(ctx, \"example\", \u0026network.SubnetArgs{\n\t\t\tName:               pulumi.String(\"internal\"),\n\t\t\tResourceGroupName:  example.Name,\n\t\t\tVirtualNetworkName: exampleVirtualNetwork.Name,\n\t\t\tAddressPrefixes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.2.0/24\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleDevCenter, err := devcenter.NewDevCenter(ctx, \"example\", \u0026devcenter.DevCenterArgs{\n\t\t\tName:              pulumi.String(\"example-dc\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tIdentity: \u0026devcenter.DevCenterIdentityArgs{\n\t\t\t\tType: pulumi.String(\"SystemAssigned\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNetworkConnection, err := devcenter.NewNetworkConnection(ctx, \"example\", \u0026devcenter.NetworkConnectionArgs{\n\t\t\tName:              pulumi.String(\"example-dcnc\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tDomainJoinType:    pulumi.String(\"AzureADJoin\"),\n\t\t\tSubnetId:          exampleSubnet.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = devcenter.NewAttachedNetwork(ctx, \"example\", \u0026devcenter.AttachedNetworkArgs{\n\t\t\tName:                pulumi.String(\"example-dcet\"),\n\t\t\tDevCenterId:         exampleDevCenter.ID(),\n\t\t\tNetworkConnectionId: exampleNetworkConnection.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.VirtualNetwork;\nimport com.pulumi.azure.network.VirtualNetworkArgs;\nimport com.pulumi.azure.network.Subnet;\nimport com.pulumi.azure.network.SubnetArgs;\nimport com.pulumi.azure.devcenter.DevCenter;\nimport com.pulumi.azure.devcenter.DevCenterArgs;\nimport com.pulumi.azure.devcenter.inputs.DevCenterIdentityArgs;\nimport com.pulumi.azure.devcenter.NetworkConnection;\nimport com.pulumi.azure.devcenter.NetworkConnectionArgs;\nimport com.pulumi.azure.devcenter.AttachedNetwork;\nimport com.pulumi.azure.devcenter.AttachedNetworkArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-dcan\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleVirtualNetwork = new VirtualNetwork(\"exampleVirtualNetwork\", VirtualNetworkArgs.builder()\n            .name(\"example-vnet\")\n            .addressSpaces(\"10.0.0.0/16\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .build());\n\n        var exampleSubnet = new Subnet(\"exampleSubnet\", SubnetArgs.builder()\n            .name(\"internal\")\n            .resourceGroupName(example.name())\n            .virtualNetworkName(exampleVirtualNetwork.name())\n            .addressPrefixes(\"10.0.2.0/24\")\n            .build());\n\n        var exampleDevCenter = new DevCenter(\"exampleDevCenter\", DevCenterArgs.builder()\n            .name(\"example-dc\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .identity(DevCenterIdentityArgs.builder()\n                .type(\"SystemAssigned\")\n                .build())\n            .build());\n\n        var exampleNetworkConnection = new NetworkConnection(\"exampleNetworkConnection\", NetworkConnectionArgs.builder()\n            .name(\"example-dcnc\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .domainJoinType(\"AzureADJoin\")\n            .subnetId(exampleSubnet.id())\n            .build());\n\n        var exampleAttachedNetwork = new AttachedNetwork(\"exampleAttachedNetwork\", AttachedNetworkArgs.builder()\n            .name(\"example-dcet\")\n            .devCenterId(exampleDevCenter.id())\n            .networkConnectionId(exampleNetworkConnection.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-dcan\n      location: West Europe\n  exampleVirtualNetwork:\n    type: azure:network:VirtualNetwork\n    name: example\n    properties:\n      name: example-vnet\n      addressSpaces:\n        - 10.0.0.0/16\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n  exampleSubnet:\n    type: azure:network:Subnet\n    name: example\n    properties:\n      name: internal\n      resourceGroupName: ${example.name}\n      virtualNetworkName: ${exampleVirtualNetwork.name}\n      addressPrefixes:\n        - 10.0.2.0/24\n  exampleDevCenter:\n    type: azure:devcenter:DevCenter\n    name: example\n    properties:\n      name: example-dc\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      identity:\n        type: SystemAssigned\n  exampleNetworkConnection:\n    type: azure:devcenter:NetworkConnection\n    name: example\n    properties:\n      name: example-dcnc\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      domainJoinType: AzureADJoin\n      subnetId: ${exampleSubnet.id}\n  exampleAttachedNetwork:\n    type: azure:devcenter:AttachedNetwork\n    name: example\n    properties:\n      name: example-dcet\n      devCenterId: ${exampleDevCenter.id}\n      networkConnectionId: ${exampleNetworkConnection.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.DevCenter` - 2025-02-01\n\n## Import\n\nAn existing Dev Center Attached Network can be imported into Pulumi using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:devcenter/attachedNetwork:AttachedNetwork example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.DevCenter/devCenters/dc1/attachedNetworks/et1\n```\n\n","properties":{"devCenterId":{"type":"string","description":"The ID of the associated Dev Center. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"Specifies the name of this Dev Center Attached Network. Changing this forces a new resource to be created.\n"},"networkConnectionId":{"type":"string","description":"The ID of the Dev Center Network Connection you want to attach. Changing this forces a new resource to be created.\n"}},"required":["devCenterId","name","networkConnectionId"],"inputProperties":{"devCenterId":{"type":"string","description":"The ID of the associated Dev Center. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of this Dev Center Attached Network. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"networkConnectionId":{"type":"string","description":"The ID of the Dev Center Network Connection you want to attach. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["devCenterId","networkConnectionId"],"stateInputs":{"description":"Input properties used for looking up and filtering AttachedNetwork resources.\n","properties":{"devCenterId":{"type":"string","description":"The ID of the associated Dev Center. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of this Dev Center Attached Network. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"networkConnectionId":{"type":"string","description":"The ID of the Dev Center Network Connection you want to attach. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:devcenter/catalog:Catalog":{"description":"Manages a Dev Center Catalog.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleDevCenter = new azure.devcenter.DevCenter(\"example\", {\n    location: example.location,\n    name: \"example\",\n    resourceGroupName: example.name,\n    identity: {\n        type: \"SystemAssigned\",\n    },\n});\nconst exampleCatalog = new azure.devcenter.Catalog(\"example\", {\n    name: \"example\",\n    resourceGroupName: testAzurermResourceGroup.name,\n    devCenterId: test.id,\n    catalogGithub: {\n        branch: \"foo\",\n        path: \"\",\n        uri: \"example URI\",\n        keyVaultKeyUrl: \"secret\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_dev_center = azure.devcenter.DevCenter(\"example\",\n    location=example.location,\n    name=\"example\",\n    resource_group_name=example.name,\n    identity={\n        \"type\": \"SystemAssigned\",\n    })\nexample_catalog = azure.devcenter.Catalog(\"example\",\n    name=\"example\",\n    resource_group_name=test_azurerm_resource_group[\"name\"],\n    dev_center_id=test[\"id\"],\n    catalog_github={\n        \"branch\": \"foo\",\n        \"path\": \"\",\n        \"uri\": \"example URI\",\n        \"key_vault_key_url\": \"secret\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleDevCenter = new Azure.DevCenter.DevCenter(\"example\", new()\n    {\n        Location = example.Location,\n        Name = \"example\",\n        ResourceGroupName = example.Name,\n        Identity = new Azure.DevCenter.Inputs.DevCenterIdentityArgs\n        {\n            Type = \"SystemAssigned\",\n        },\n    });\n\n    var exampleCatalog = new Azure.DevCenter.Catalog(\"example\", new()\n    {\n        Name = \"example\",\n        ResourceGroupName = testAzurermResourceGroup.Name,\n        DevCenterId = test.Id,\n        CatalogGithub = new Azure.DevCenter.Inputs.CatalogCatalogGithubArgs\n        {\n            Branch = \"foo\",\n            Path = \"\",\n            Uri = \"example URI\",\n            KeyVaultKeyUrl = \"secret\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/devcenter\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = devcenter.NewDevCenter(ctx, \"example\", \u0026devcenter.DevCenterArgs{\n\t\t\tLocation:          example.Location,\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tIdentity: \u0026devcenter.DevCenterIdentityArgs{\n\t\t\t\tType: pulumi.String(\"SystemAssigned\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = devcenter.NewCatalog(ctx, \"example\", \u0026devcenter.CatalogArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tResourceGroupName: pulumi.Any(testAzurermResourceGroup.Name),\n\t\t\tDevCenterId:       pulumi.Any(test.Id),\n\t\t\tCatalogGithub: \u0026devcenter.CatalogCatalogGithubArgs{\n\t\t\t\tBranch:         pulumi.String(\"foo\"),\n\t\t\t\tPath:           pulumi.String(\"\"),\n\t\t\t\tUri:            pulumi.String(\"example URI\"),\n\t\t\t\tKeyVaultKeyUrl: pulumi.String(\"secret\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.devcenter.DevCenter;\nimport com.pulumi.azure.devcenter.DevCenterArgs;\nimport com.pulumi.azure.devcenter.inputs.DevCenterIdentityArgs;\nimport com.pulumi.azure.devcenter.Catalog;\nimport com.pulumi.azure.devcenter.CatalogArgs;\nimport com.pulumi.azure.devcenter.inputs.CatalogCatalogGithubArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleDevCenter = new DevCenter(\"exampleDevCenter\", DevCenterArgs.builder()\n            .location(example.location())\n            .name(\"example\")\n            .resourceGroupName(example.name())\n            .identity(DevCenterIdentityArgs.builder()\n                .type(\"SystemAssigned\")\n                .build())\n            .build());\n\n        var exampleCatalog = new Catalog(\"exampleCatalog\", CatalogArgs.builder()\n            .name(\"example\")\n            .resourceGroupName(testAzurermResourceGroup.name())\n            .devCenterId(test.id())\n            .catalogGithub(CatalogCatalogGithubArgs.builder()\n                .branch(\"foo\")\n                .path(\"\")\n                .uri(\"example URI\")\n                .keyVaultKeyUrl(\"secret\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleDevCenter:\n    type: azure:devcenter:DevCenter\n    name: example\n    properties:\n      location: ${example.location}\n      name: example\n      resourceGroupName: ${example.name}\n      identity:\n        type: SystemAssigned\n  exampleCatalog:\n    type: azure:devcenter:Catalog\n    name: example\n    properties:\n      name: example\n      resourceGroupName: ${testAzurermResourceGroup.name}\n      devCenterId: ${test.id}\n      catalogGithub:\n        branch: foo\n        path: \"\"\n        uri: example URI\n        keyVaultKeyUrl: secret\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.DevCenter` - 2025-02-01\n\n## Import\n\nAn existing Dev Center Catalog can be imported into Pulumi using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:devcenter/catalog:Catalog example /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/devCenters/{devCenterName}/catalogs/{catalogName}\n```\n\n* Where `{subscriptionId}` is the ID of the Azure Subscription where the Dev Center exists. For example `12345678-1234-9876-4563-123456789012`.\n* Where `{resourceGroupName}` is the name of Resource Group where this Dev Center exists. For example `example-resource-group`.\n* Where `{devCenterName}` is the name of the Dev Center. For example `devCenterValue`.\n* Where `{catalogName}` is the name of the Dev Center Catalog. For example `catalogValue`.\n\n","properties":{"catalogAdogit":{"$ref":"#/types/azure:devcenter/CatalogCatalogAdogit:CatalogCatalogAdogit","description":"A \u003cspan pulumi-lang-nodejs=\"`catalogAdogit`\" pulumi-lang-dotnet=\"`CatalogAdogit`\" pulumi-lang-go=\"`catalogAdogit`\" pulumi-lang-python=\"`catalog_adogit`\" pulumi-lang-yaml=\"`catalogAdogit`\" pulumi-lang-java=\"`catalogAdogit`\"\u003e`catalog_adogit`\u003c/span\u003e block as defined below.\n"},"catalogGithub":{"$ref":"#/types/azure:devcenter/CatalogCatalogGithub:CatalogCatalogGithub","description":"A \u003cspan pulumi-lang-nodejs=\"`catalogGithub`\" pulumi-lang-dotnet=\"`CatalogGithub`\" pulumi-lang-go=\"`catalogGithub`\" pulumi-lang-python=\"`catalog_github`\" pulumi-lang-yaml=\"`catalogGithub`\" pulumi-lang-java=\"`catalogGithub`\"\u003e`catalog_github`\u003c/span\u003e block as defined below.\n"},"devCenterId":{"type":"string","description":"Specifies the Dev Center Id within which this Dev Center Catalog should exist. Changing this forces a new Dev Center Catalog to be created.\n"},"name":{"type":"string","description":"Specifies the name of this Dev Center Catalog. Changing this forces a new Dev Center to be created.\n"},"resourceGroupName":{"type":"string","description":"Specifies the name of the Resource Group within which this Dev Center Catalog should exist. Changing this forces a new Dev Center to be created.\n"}},"required":["devCenterId","name","resourceGroupName"],"inputProperties":{"catalogAdogit":{"$ref":"#/types/azure:devcenter/CatalogCatalogAdogit:CatalogCatalogAdogit","description":"A \u003cspan pulumi-lang-nodejs=\"`catalogAdogit`\" pulumi-lang-dotnet=\"`CatalogAdogit`\" pulumi-lang-go=\"`catalogAdogit`\" pulumi-lang-python=\"`catalog_adogit`\" pulumi-lang-yaml=\"`catalogAdogit`\" pulumi-lang-java=\"`catalogAdogit`\"\u003e`catalog_adogit`\u003c/span\u003e block as defined below.\n"},"catalogGithub":{"$ref":"#/types/azure:devcenter/CatalogCatalogGithub:CatalogCatalogGithub","description":"A \u003cspan pulumi-lang-nodejs=\"`catalogGithub`\" pulumi-lang-dotnet=\"`CatalogGithub`\" pulumi-lang-go=\"`catalogGithub`\" pulumi-lang-python=\"`catalog_github`\" pulumi-lang-yaml=\"`catalogGithub`\" pulumi-lang-java=\"`catalogGithub`\"\u003e`catalog_github`\u003c/span\u003e block as defined below.\n"},"devCenterId":{"type":"string","description":"Specifies the Dev Center Id within which this Dev Center Catalog should exist. Changing this forces a new Dev Center Catalog to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of this Dev Center Catalog. Changing this forces a new Dev Center to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"Specifies the name of the Resource Group within which this Dev Center Catalog should exist. Changing this forces a new Dev Center to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["devCenterId","resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering Catalog resources.\n","properties":{"catalogAdogit":{"$ref":"#/types/azure:devcenter/CatalogCatalogAdogit:CatalogCatalogAdogit","description":"A \u003cspan pulumi-lang-nodejs=\"`catalogAdogit`\" pulumi-lang-dotnet=\"`CatalogAdogit`\" pulumi-lang-go=\"`catalogAdogit`\" pulumi-lang-python=\"`catalog_adogit`\" pulumi-lang-yaml=\"`catalogAdogit`\" pulumi-lang-java=\"`catalogAdogit`\"\u003e`catalog_adogit`\u003c/span\u003e block as defined below.\n"},"catalogGithub":{"$ref":"#/types/azure:devcenter/CatalogCatalogGithub:CatalogCatalogGithub","description":"A \u003cspan pulumi-lang-nodejs=\"`catalogGithub`\" pulumi-lang-dotnet=\"`CatalogGithub`\" pulumi-lang-go=\"`catalogGithub`\" pulumi-lang-python=\"`catalog_github`\" pulumi-lang-yaml=\"`catalogGithub`\" pulumi-lang-java=\"`catalogGithub`\"\u003e`catalog_github`\u003c/span\u003e block as defined below.\n"},"devCenterId":{"type":"string","description":"Specifies the Dev Center Id within which this Dev Center Catalog should exist. Changing this forces a new Dev Center Catalog to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of this Dev Center Catalog. Changing this forces a new Dev Center to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"Specifies the name of the Resource Group within which this Dev Center Catalog should exist. Changing this forces a new Dev Center to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:devcenter/devBoxDefinition:DevBoxDefinition":{"description":"Manages a Dev Center Dev Box Definition.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleDevCenter = new azure.devcenter.DevCenter(\"example\", {\n    name: \"example-dc\",\n    resourceGroupName: example.name,\n    location: example.location,\n    identity: {\n        type: \"SystemAssigned\",\n    },\n});\nconst exampleDevBoxDefinition = new azure.devcenter.DevBoxDefinition(\"example\", {\n    name: \"example-dcet\",\n    location: example.location,\n    devCenterId: exampleDevCenter.id,\n    imageReferenceId: pulumi.interpolate`${exampleDevCenter.id}/galleries/default/images/microsoftvisualstudio_visualstudioplustools_vs-2022-ent-general-win10-m365-gen2`,\n    skuName: \"general_i_8c32gb256ssd_v2\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_dev_center = azure.devcenter.DevCenter(\"example\",\n    name=\"example-dc\",\n    resource_group_name=example.name,\n    location=example.location,\n    identity={\n        \"type\": \"SystemAssigned\",\n    })\nexample_dev_box_definition = azure.devcenter.DevBoxDefinition(\"example\",\n    name=\"example-dcet\",\n    location=example.location,\n    dev_center_id=example_dev_center.id,\n    image_reference_id=example_dev_center.id.apply(lambda id: f\"{id}/galleries/default/images/microsoftvisualstudio_visualstudioplustools_vs-2022-ent-general-win10-m365-gen2\"),\n    sku_name=\"general_i_8c32gb256ssd_v2\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleDevCenter = new Azure.DevCenter.DevCenter(\"example\", new()\n    {\n        Name = \"example-dc\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        Identity = new Azure.DevCenter.Inputs.DevCenterIdentityArgs\n        {\n            Type = \"SystemAssigned\",\n        },\n    });\n\n    var exampleDevBoxDefinition = new Azure.DevCenter.DevBoxDefinition(\"example\", new()\n    {\n        Name = \"example-dcet\",\n        Location = example.Location,\n        DevCenterId = exampleDevCenter.Id,\n        ImageReferenceId = exampleDevCenter.Id.Apply(id =\u003e $\"{id}/galleries/default/images/microsoftvisualstudio_visualstudioplustools_vs-2022-ent-general-win10-m365-gen2\"),\n        SkuName = \"general_i_8c32gb256ssd_v2\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/devcenter\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleDevCenter, err := devcenter.NewDevCenter(ctx, \"example\", \u0026devcenter.DevCenterArgs{\n\t\t\tName:              pulumi.String(\"example-dc\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tIdentity: \u0026devcenter.DevCenterIdentityArgs{\n\t\t\t\tType: pulumi.String(\"SystemAssigned\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = devcenter.NewDevBoxDefinition(ctx, \"example\", \u0026devcenter.DevBoxDefinitionArgs{\n\t\t\tName:        pulumi.String(\"example-dcet\"),\n\t\t\tLocation:    example.Location,\n\t\t\tDevCenterId: exampleDevCenter.ID(),\n\t\t\tImageReferenceId: exampleDevCenter.ID().ApplyT(func(id string) (string, error) {\n\t\t\t\treturn fmt.Sprintf(\"%v/galleries/default/images/microsoftvisualstudio_visualstudioplustools_vs-2022-ent-general-win10-m365-gen2\", id), nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t\tSkuName: pulumi.String(\"general_i_8c32gb256ssd_v2\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.devcenter.DevCenter;\nimport com.pulumi.azure.devcenter.DevCenterArgs;\nimport com.pulumi.azure.devcenter.inputs.DevCenterIdentityArgs;\nimport com.pulumi.azure.devcenter.DevBoxDefinition;\nimport com.pulumi.azure.devcenter.DevBoxDefinitionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleDevCenter = new DevCenter(\"exampleDevCenter\", DevCenterArgs.builder()\n            .name(\"example-dc\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .identity(DevCenterIdentityArgs.builder()\n                .type(\"SystemAssigned\")\n                .build())\n            .build());\n\n        var exampleDevBoxDefinition = new DevBoxDefinition(\"exampleDevBoxDefinition\", DevBoxDefinitionArgs.builder()\n            .name(\"example-dcet\")\n            .location(example.location())\n            .devCenterId(exampleDevCenter.id())\n            .imageReferenceId(exampleDevCenter.id().applyValue(_id -\u003e String.format(\"%s/galleries/default/images/microsoftvisualstudio_visualstudioplustools_vs-2022-ent-general-win10-m365-gen2\", _id)))\n            .skuName(\"general_i_8c32gb256ssd_v2\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleDevCenter:\n    type: azure:devcenter:DevCenter\n    name: example\n    properties:\n      name: example-dc\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      identity:\n        type: SystemAssigned\n  exampleDevBoxDefinition:\n    type: azure:devcenter:DevBoxDefinition\n    name: example\n    properties:\n      name: example-dcet\n      location: ${example.location}\n      devCenterId: ${exampleDevCenter.id}\n      imageReferenceId: ${exampleDevCenter.id}/galleries/default/images/microsoftvisualstudio_visualstudioplustools_vs-2022-ent-general-win10-m365-gen2\n      skuName: general_i_8c32gb256ssd_v2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.DevCenter` - 2025-02-01\n\n## Import\n\nAn existing Dev Center Dev Box Definition can be imported into Pulumi using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:devcenter/devBoxDefinition:DevBoxDefinition example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.DevCenter/devCenters/dc1/devBoxDefinitions/et1\n```\n\n","properties":{"devCenterId":{"type":"string","description":"The ID of the associated Dev Center. Changing this forces a new resource to be created.\n"},"hibernateSupportEnabled":{"type":"boolean","description":"Whether the Dev Boxes created with this definition are capable of hibernation. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** Not all images are capable of supporting hibernation, for more information see https://aka.ms/devbox/hibernate.\n"},"imageReferenceId":{"type":"string","description":"The ID of the image for the Dev Center Dev Box Definition.\n"},"location":{"type":"string","description":"The Azure Region where the Dev Center Dev Box Definition should exist. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"Specifies the name of this Dev Center Dev Box Definition. Changing this forces a new resource to be created.\n"},"skuName":{"type":"string","description":"The name of the SKU for the Dev Center Dev Box Definition.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Dev Center Dev Box Definition.\n"}},"required":["devCenterId","imageReferenceId","location","name","skuName"],"inputProperties":{"devCenterId":{"type":"string","description":"The ID of the associated Dev Center. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"hibernateSupportEnabled":{"type":"boolean","description":"Whether the Dev Boxes created with this definition are capable of hibernation. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** Not all images are capable of supporting hibernation, for more information see https://aka.ms/devbox/hibernate.\n"},"imageReferenceId":{"type":"string","description":"The ID of the image for the Dev Center Dev Box Definition.\n"},"location":{"type":"string","description":"The Azure Region where the Dev Center Dev Box Definition should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of this Dev Center Dev Box Definition. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"skuName":{"type":"string","description":"The name of the SKU for the Dev Center Dev Box Definition.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Dev Center Dev Box Definition.\n"}},"requiredInputs":["devCenterId","imageReferenceId","skuName"],"stateInputs":{"description":"Input properties used for looking up and filtering DevBoxDefinition resources.\n","properties":{"devCenterId":{"type":"string","description":"The ID of the associated Dev Center. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"hibernateSupportEnabled":{"type":"boolean","description":"Whether the Dev Boxes created with this definition are capable of hibernation. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** Not all images are capable of supporting hibernation, for more information see https://aka.ms/devbox/hibernate.\n"},"imageReferenceId":{"type":"string","description":"The ID of the image for the Dev Center Dev Box Definition.\n"},"location":{"type":"string","description":"The Azure Region where the Dev Center Dev Box Definition should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of this Dev Center Dev Box Definition. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"skuName":{"type":"string","description":"The name of the SKU for the Dev Center Dev Box Definition.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Dev Center Dev Box Definition.\n"}},"type":"object"}},"azure:devcenter/devCenter:DevCenter":{"description":"Manages a Dev Center.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleUserAssignedIdentity = new azure.authorization.UserAssignedIdentity(\"example\", {\n    name: \"example\",\n    resourceGroupName: example.name,\n    location: example.location,\n});\nconst exampleDevCenter = new azure.devcenter.DevCenter(\"example\", {\n    location: example.location,\n    name: \"example\",\n    resourceGroupName: example.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_user_assigned_identity = azure.authorization.UserAssignedIdentity(\"example\",\n    name=\"example\",\n    resource_group_name=example.name,\n    location=example.location)\nexample_dev_center = azure.devcenter.DevCenter(\"example\",\n    location=example.location,\n    name=\"example\",\n    resource_group_name=example.name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleUserAssignedIdentity = new Azure.Authorization.UserAssignedIdentity(\"example\", new()\n    {\n        Name = \"example\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n    });\n\n    var exampleDevCenter = new Azure.DevCenter.DevCenter(\"example\", new()\n    {\n        Location = example.Location,\n        Name = \"example\",\n        ResourceGroupName = example.Name,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/authorization\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/devcenter\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = authorization.NewUserAssignedIdentity(ctx, \"example\", \u0026authorization.UserAssignedIdentityArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = devcenter.NewDevCenter(ctx, \"example\", \u0026devcenter.DevCenterArgs{\n\t\t\tLocation:          example.Location,\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.authorization.UserAssignedIdentity;\nimport com.pulumi.azure.authorization.UserAssignedIdentityArgs;\nimport com.pulumi.azure.devcenter.DevCenter;\nimport com.pulumi.azure.devcenter.DevCenterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleUserAssignedIdentity = new UserAssignedIdentity(\"exampleUserAssignedIdentity\", UserAssignedIdentityArgs.builder()\n            .name(\"example\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .build());\n\n        var exampleDevCenter = new DevCenter(\"exampleDevCenter\", DevCenterArgs.builder()\n            .location(example.location())\n            .name(\"example\")\n            .resourceGroupName(example.name())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleUserAssignedIdentity:\n    type: azure:authorization:UserAssignedIdentity\n    name: example\n    properties:\n      name: example\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n  exampleDevCenter:\n    type: azure:devcenter:DevCenter\n    name: example\n    properties:\n      location: ${example.location}\n      name: example\n      resourceGroupName: ${example.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Blocks Reference\n\n### \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e Block\n\n\nThe \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block supports the following arguments:\n\n* \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e - (Required) Specifies the type of Managed Identity that should be assigned to this Dev Center. Possible values are `SystemAssigned`, `SystemAssigned, UserAssigned` and `UserAssigned`.\n* \u003cspan pulumi-lang-nodejs=\"`identityIds`\" pulumi-lang-dotnet=\"`IdentityIds`\" pulumi-lang-go=\"`identityIds`\" pulumi-lang-python=\"`identity_ids`\" pulumi-lang-yaml=\"`identityIds`\" pulumi-lang-java=\"`identityIds`\"\u003e`identity_ids`\u003c/span\u003e - (Optional) A list of the User Assigned Identity IDs that should be assigned to this Dev Center.\n\n\nIn addition to the arguments defined above, the \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block exports the following attributes:\n\n* \u003cspan pulumi-lang-nodejs=\"`principalId`\" pulumi-lang-dotnet=\"`PrincipalId`\" pulumi-lang-go=\"`principalId`\" pulumi-lang-python=\"`principal_id`\" pulumi-lang-yaml=\"`principalId`\" pulumi-lang-java=\"`principalId`\"\u003e`principal_id`\u003c/span\u003e - The Principal ID for the System-Assigned Managed Identity assigned to this Dev Center.\n* \u003cspan pulumi-lang-nodejs=\"`tenantId`\" pulumi-lang-dotnet=\"`TenantId`\" pulumi-lang-go=\"`tenantId`\" pulumi-lang-python=\"`tenant_id`\" pulumi-lang-yaml=\"`tenantId`\" pulumi-lang-java=\"`tenantId`\"\u003e`tenant_id`\u003c/span\u003e - The Tenant ID for the System-Assigned Managed Identity assigned to this Dev Center.\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.DevCenter` - 2025-02-01\n\n## Import\n\nAn existing Dev Center can be imported into Pulumi using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:devcenter/devCenter:DevCenter example /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/devCenters/{devCenterName}\n```\n\n* Where `{subscriptionId}` is the ID of the Azure Subscription where the Dev Center exists. For example `12345678-1234-9876-4563-123456789012`.\n* Where `{resourceGroupName}` is the name of Resource Group where this Dev Center exists. For example `example-resource-group`.\n* Where `{devCenterName}` is the name of the Dev Center. For example `devCenterValue`.\n\n","properties":{"devCenterUri":{"type":"string","description":"The URI of the Dev Center.\n"},"identity":{"$ref":"#/types/azure:devcenter/DevCenterIdentity:DevCenterIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below. Specifies the Managed Identity which should be assigned to this Dev Center.\n"},"location":{"type":"string","description":"The Azure Region where the Dev Center should exist. Changing this forces a new Dev Center to be created.\n"},"name":{"type":"string","description":"Specifies the name of this Dev Center. Changing this forces a new Dev Center to be created.\n"},"projectCatalogItemSyncEnabled":{"type":"boolean","description":"Whether the project catalogs associated with projects in this Dev Center are allowed to sync catalog items. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"resourceGroupName":{"type":"string","description":"Specifies the name of the Resource Group within which this Dev Center should exist. Changing this forces a new Dev Center to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Dev Center.\n"}},"required":["devCenterUri","location","name","resourceGroupName"],"inputProperties":{"identity":{"$ref":"#/types/azure:devcenter/DevCenterIdentity:DevCenterIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below. Specifies the Managed Identity which should be assigned to this Dev Center.\n"},"location":{"type":"string","description":"The Azure Region where the Dev Center should exist. Changing this forces a new Dev Center to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of this Dev Center. Changing this forces a new Dev Center to be created.\n","willReplaceOnChanges":true},"projectCatalogItemSyncEnabled":{"type":"boolean","description":"Whether the project catalogs associated with projects in this Dev Center are allowed to sync catalog items. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"resourceGroupName":{"type":"string","description":"Specifies the name of the Resource Group within which this Dev Center should exist. Changing this forces a new Dev Center to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Dev Center.\n"}},"requiredInputs":["resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering DevCenter resources.\n","properties":{"devCenterUri":{"type":"string","description":"The URI of the Dev Center.\n"},"identity":{"$ref":"#/types/azure:devcenter/DevCenterIdentity:DevCenterIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below. Specifies the Managed Identity which should be assigned to this Dev Center.\n"},"location":{"type":"string","description":"The Azure Region where the Dev Center should exist. Changing this forces a new Dev Center to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of this Dev Center. Changing this forces a new Dev Center to be created.\n","willReplaceOnChanges":true},"projectCatalogItemSyncEnabled":{"type":"boolean","description":"Whether the project catalogs associated with projects in this Dev Center are allowed to sync catalog items. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"resourceGroupName":{"type":"string","description":"Specifies the name of the Resource Group within which this Dev Center should exist. Changing this forces a new Dev Center to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Dev Center.\n"}},"type":"object"}},"azure:devcenter/environmentType:EnvironmentType":{"description":"Manages a Dev Center Environment Type.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleDevCenter = new azure.devcenter.DevCenter(\"example\", {\n    name: \"example-dc\",\n    resourceGroupName: example.name,\n    location: example.location,\n    identity: {\n        type: \"SystemAssigned\",\n    },\n});\nconst exampleEnvironmentType = new azure.devcenter.EnvironmentType(\"example\", {\n    name: \"example-dcet\",\n    devCenterId: exampleDevCenter.id,\n    tags: {\n        Env: \"Test\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_dev_center = azure.devcenter.DevCenter(\"example\",\n    name=\"example-dc\",\n    resource_group_name=example.name,\n    location=example.location,\n    identity={\n        \"type\": \"SystemAssigned\",\n    })\nexample_environment_type = azure.devcenter.EnvironmentType(\"example\",\n    name=\"example-dcet\",\n    dev_center_id=example_dev_center.id,\n    tags={\n        \"Env\": \"Test\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleDevCenter = new Azure.DevCenter.DevCenter(\"example\", new()\n    {\n        Name = \"example-dc\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        Identity = new Azure.DevCenter.Inputs.DevCenterIdentityArgs\n        {\n            Type = \"SystemAssigned\",\n        },\n    });\n\n    var exampleEnvironmentType = new Azure.DevCenter.EnvironmentType(\"example\", new()\n    {\n        Name = \"example-dcet\",\n        DevCenterId = exampleDevCenter.Id,\n        Tags = \n        {\n            { \"Env\", \"Test\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/devcenter\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleDevCenter, err := devcenter.NewDevCenter(ctx, \"example\", \u0026devcenter.DevCenterArgs{\n\t\t\tName:              pulumi.String(\"example-dc\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tIdentity: \u0026devcenter.DevCenterIdentityArgs{\n\t\t\t\tType: pulumi.String(\"SystemAssigned\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = devcenter.NewEnvironmentType(ctx, \"example\", \u0026devcenter.EnvironmentTypeArgs{\n\t\t\tName:        pulumi.String(\"example-dcet\"),\n\t\t\tDevCenterId: exampleDevCenter.ID(),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Env\": pulumi.String(\"Test\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.devcenter.DevCenter;\nimport com.pulumi.azure.devcenter.DevCenterArgs;\nimport com.pulumi.azure.devcenter.inputs.DevCenterIdentityArgs;\nimport com.pulumi.azure.devcenter.EnvironmentType;\nimport com.pulumi.azure.devcenter.EnvironmentTypeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleDevCenter = new DevCenter(\"exampleDevCenter\", DevCenterArgs.builder()\n            .name(\"example-dc\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .identity(DevCenterIdentityArgs.builder()\n                .type(\"SystemAssigned\")\n                .build())\n            .build());\n\n        var exampleEnvironmentType = new EnvironmentType(\"exampleEnvironmentType\", EnvironmentTypeArgs.builder()\n            .name(\"example-dcet\")\n            .devCenterId(exampleDevCenter.id())\n            .tags(Map.of(\"Env\", \"Test\"))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleDevCenter:\n    type: azure:devcenter:DevCenter\n    name: example\n    properties:\n      name: example-dc\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      identity:\n        type: SystemAssigned\n  exampleEnvironmentType:\n    type: azure:devcenter:EnvironmentType\n    name: example\n    properties:\n      name: example-dcet\n      devCenterId: ${exampleDevCenter.id}\n      tags:\n        Env: Test\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.DevCenter` - 2025-02-01\n\n## Import\n\nAn existing Dev Center Environment Type can be imported into Pulumi using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:devcenter/environmentType:EnvironmentType example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.DevCenter/devCenters/dc1/environmentTypes/et1\n```\n\n","properties":{"devCenterId":{"type":"string","description":"The ID of the associated Dev Center. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"Specifies the name of this Dev Center Environment Type. Changing this forces a new resource to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Dev Center Environment Type.\n"}},"required":["devCenterId","name"],"inputProperties":{"devCenterId":{"type":"string","description":"The ID of the associated Dev Center. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of this Dev Center Environment Type. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Dev Center Environment Type.\n"}},"requiredInputs":["devCenterId"],"stateInputs":{"description":"Input properties used for looking up and filtering EnvironmentType resources.\n","properties":{"devCenterId":{"type":"string","description":"The ID of the associated Dev Center. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of this Dev Center Environment Type. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Dev Center Environment Type.\n"}},"type":"object"}},"azure:devcenter/gallery:Gallery":{"description":"Manages a Dev Center Gallery.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst testUserAssignedIdentity = new azure.authorization.UserAssignedIdentity(\"test\", {\n    name: \"example-uai\",\n    location: testAzurermResourceGroup.location,\n    resourceGroupName: testAzurermResourceGroup.name,\n});\nconst test = new azure.devcenter.DevCenter(\"test\", {\n    name: \"example-devcenter\",\n    resourceGroupName: testAzurermResourceGroup.name,\n    location: testAzurermResourceGroup.location,\n    identity: {\n        type: \"UserAssigned\",\n        identityIds: [testUserAssignedIdentity.id],\n    },\n});\nconst exampleSharedImageGallery = new azure.compute.SharedImageGallery(\"example\", {\n    name: \"example-image-gallery\",\n    location: example.location,\n    resourceGroupName: example.name,\n});\nconst exampleGallery = new azure.devcenter.Gallery(\"example\", {\n    devCenterId: exampleAzurermDevCenter.id,\n    sharedGalleryId: exampleSharedImageGallery.id,\n    name: \"example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\ntest_user_assigned_identity = azure.authorization.UserAssignedIdentity(\"test\",\n    name=\"example-uai\",\n    location=test_azurerm_resource_group[\"location\"],\n    resource_group_name=test_azurerm_resource_group[\"name\"])\ntest = azure.devcenter.DevCenter(\"test\",\n    name=\"example-devcenter\",\n    resource_group_name=test_azurerm_resource_group[\"name\"],\n    location=test_azurerm_resource_group[\"location\"],\n    identity={\n        \"type\": \"UserAssigned\",\n        \"identity_ids\": [test_user_assigned_identity.id],\n    })\nexample_shared_image_gallery = azure.compute.SharedImageGallery(\"example\",\n    name=\"example-image-gallery\",\n    location=example.location,\n    resource_group_name=example.name)\nexample_gallery = azure.devcenter.Gallery(\"example\",\n    dev_center_id=example_azurerm_dev_center[\"id\"],\n    shared_gallery_id=example_shared_image_gallery.id,\n    name=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var testUserAssignedIdentity = new Azure.Authorization.UserAssignedIdentity(\"test\", new()\n    {\n        Name = \"example-uai\",\n        Location = testAzurermResourceGroup.Location,\n        ResourceGroupName = testAzurermResourceGroup.Name,\n    });\n\n    var test = new Azure.DevCenter.DevCenter(\"test\", new()\n    {\n        Name = \"example-devcenter\",\n        ResourceGroupName = testAzurermResourceGroup.Name,\n        Location = testAzurermResourceGroup.Location,\n        Identity = new Azure.DevCenter.Inputs.DevCenterIdentityArgs\n        {\n            Type = \"UserAssigned\",\n            IdentityIds = new[]\n            {\n                testUserAssignedIdentity.Id,\n            },\n        },\n    });\n\n    var exampleSharedImageGallery = new Azure.Compute.SharedImageGallery(\"example\", new()\n    {\n        Name = \"example-image-gallery\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n    });\n\n    var exampleGallery = new Azure.DevCenter.Gallery(\"example\", new()\n    {\n        DevCenterId = exampleAzurermDevCenter.Id,\n        SharedGalleryId = exampleSharedImageGallery.Id,\n        Name = \"example\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/authorization\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/compute\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/devcenter\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestUserAssignedIdentity, err := authorization.NewUserAssignedIdentity(ctx, \"test\", \u0026authorization.UserAssignedIdentityArgs{\n\t\t\tName:              pulumi.String(\"example-uai\"),\n\t\t\tLocation:          pulumi.Any(testAzurermResourceGroup.Location),\n\t\t\tResourceGroupName: pulumi.Any(testAzurermResourceGroup.Name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = devcenter.NewDevCenter(ctx, \"test\", \u0026devcenter.DevCenterArgs{\n\t\t\tName:              pulumi.String(\"example-devcenter\"),\n\t\t\tResourceGroupName: pulumi.Any(testAzurermResourceGroup.Name),\n\t\t\tLocation:          pulumi.Any(testAzurermResourceGroup.Location),\n\t\t\tIdentity: \u0026devcenter.DevCenterIdentityArgs{\n\t\t\t\tType: pulumi.String(\"UserAssigned\"),\n\t\t\t\tIdentityIds: pulumi.StringArray{\n\t\t\t\t\ttestUserAssignedIdentity.ID(),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSharedImageGallery, err := compute.NewSharedImageGallery(ctx, \"example\", \u0026compute.SharedImageGalleryArgs{\n\t\t\tName:              pulumi.String(\"example-image-gallery\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = devcenter.NewGallery(ctx, \"example\", \u0026devcenter.GalleryArgs{\n\t\t\tDevCenterId:     pulumi.Any(exampleAzurermDevCenter.Id),\n\t\t\tSharedGalleryId: exampleSharedImageGallery.ID(),\n\t\t\tName:            pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.authorization.UserAssignedIdentity;\nimport com.pulumi.azure.authorization.UserAssignedIdentityArgs;\nimport com.pulumi.azure.devcenter.DevCenter;\nimport com.pulumi.azure.devcenter.DevCenterArgs;\nimport com.pulumi.azure.devcenter.inputs.DevCenterIdentityArgs;\nimport com.pulumi.azure.compute.SharedImageGallery;\nimport com.pulumi.azure.compute.SharedImageGalleryArgs;\nimport com.pulumi.azure.devcenter.Gallery;\nimport com.pulumi.azure.devcenter.GalleryArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var testUserAssignedIdentity = new UserAssignedIdentity(\"testUserAssignedIdentity\", UserAssignedIdentityArgs.builder()\n            .name(\"example-uai\")\n            .location(testAzurermResourceGroup.location())\n            .resourceGroupName(testAzurermResourceGroup.name())\n            .build());\n\n        var test = new DevCenter(\"test\", DevCenterArgs.builder()\n            .name(\"example-devcenter\")\n            .resourceGroupName(testAzurermResourceGroup.name())\n            .location(testAzurermResourceGroup.location())\n            .identity(DevCenterIdentityArgs.builder()\n                .type(\"UserAssigned\")\n                .identityIds(testUserAssignedIdentity.id())\n                .build())\n            .build());\n\n        var exampleSharedImageGallery = new SharedImageGallery(\"exampleSharedImageGallery\", SharedImageGalleryArgs.builder()\n            .name(\"example-image-gallery\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .build());\n\n        var exampleGallery = new Gallery(\"exampleGallery\", GalleryArgs.builder()\n            .devCenterId(exampleAzurermDevCenter.id())\n            .sharedGalleryId(exampleSharedImageGallery.id())\n            .name(\"example\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  test:\n    type: azure:devcenter:DevCenter\n    properties:\n      name: example-devcenter\n      resourceGroupName: ${testAzurermResourceGroup.name}\n      location: ${testAzurermResourceGroup.location}\n      identity:\n        type: UserAssigned\n        identityIds:\n          - ${testUserAssignedIdentity.id}\n  testUserAssignedIdentity:\n    type: azure:authorization:UserAssignedIdentity\n    name: test\n    properties:\n      name: example-uai\n      location: ${testAzurermResourceGroup.location}\n      resourceGroupName: ${testAzurermResourceGroup.name}\n  exampleSharedImageGallery:\n    type: azure:compute:SharedImageGallery\n    name: example\n    properties:\n      name: example-image-gallery\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n  exampleGallery:\n    type: azure:devcenter:Gallery\n    name: example\n    properties:\n      devCenterId: ${exampleAzurermDevCenter.id}\n      sharedGalleryId: ${exampleSharedImageGallery.id}\n      name: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.DevCenter` - 2025-02-01\n\n## Import\n\nAn existing Dev Center Gallery can be imported into Pulumi using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:devcenter/gallery:Gallery example /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/devCenters/{devCenterName}/galleries/{galleryName}\n```\n\n* Where `{subscriptionId}` is the ID of the Azure Subscription where the Dev Center Gallery exists. For example `12345678-1234-9876-4563-123456789012`.\n* Where `{resourceGroupName}` is the name of Resource Group where this Dev Center Gallery exists. For example `example-resource-group`.\n* Where `{devCenterName}` is the name of the Dev Center. For example `devCenterValue`.\n* Where `{galleryName}` is the name of the Gallery. For example `galleryValue`.\n\n","properties":{"devCenterId":{"type":"string","description":"Specifies the ID of the Dev Center within which this Dev Center Gallery should exist. Changing this forces a new Dev Center Gallery to be created.\n"},"name":{"type":"string","description":"Specifies the name of this Dev Center Gallery. Changing this forces a new Dev Center Gallery to be created.\n"},"sharedGalleryId":{"type":"string","description":"The ID of the Shared Gallery which should be connected to the Dev Center Gallery. Changing this forces a new Dev Center Gallery to be created.\n"}},"required":["devCenterId","name","sharedGalleryId"],"inputProperties":{"devCenterId":{"type":"string","description":"Specifies the ID of the Dev Center within which this Dev Center Gallery should exist. Changing this forces a new Dev Center Gallery to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of this Dev Center Gallery. Changing this forces a new Dev Center Gallery to be created.\n","willReplaceOnChanges":true},"sharedGalleryId":{"type":"string","description":"The ID of the Shared Gallery which should be connected to the Dev Center Gallery. Changing this forces a new Dev Center Gallery to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["devCenterId","sharedGalleryId"],"stateInputs":{"description":"Input properties used for looking up and filtering Gallery resources.\n","properties":{"devCenterId":{"type":"string","description":"Specifies the ID of the Dev Center within which this Dev Center Gallery should exist. Changing this forces a new Dev Center Gallery to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of this Dev Center Gallery. Changing this forces a new Dev Center Gallery to be created.\n","willReplaceOnChanges":true},"sharedGalleryId":{"type":"string","description":"The ID of the Shared Gallery which should be connected to the Dev Center Gallery. Changing this forces a new Dev Center Gallery to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:devcenter/networkConnection:NetworkConnection":{"description":"Manages a Dev Center Network Connection.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"example\", {\n    name: \"example-vnet\",\n    addressSpaces: [\"10.0.0.0/16\"],\n    location: example.location,\n    resourceGroupName: example.name,\n});\nconst exampleSubnet = new azure.network.Subnet(\"example\", {\n    name: \"internal\",\n    resourceGroupName: example.name,\n    virtualNetworkName: exampleVirtualNetwork.name,\n    addressPrefixes: [\"10.0.2.0/24\"],\n});\nconst exampleNetworkConnection = new azure.devcenter.NetworkConnection(\"example\", {\n    name: \"example-dcnc\",\n    resourceGroupName: example.name,\n    location: example.location,\n    domainJoinType: \"AzureADJoin\",\n    subnetId: exampleSubnet.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_virtual_network = azure.network.VirtualNetwork(\"example\",\n    name=\"example-vnet\",\n    address_spaces=[\"10.0.0.0/16\"],\n    location=example.location,\n    resource_group_name=example.name)\nexample_subnet = azure.network.Subnet(\"example\",\n    name=\"internal\",\n    resource_group_name=example.name,\n    virtual_network_name=example_virtual_network.name,\n    address_prefixes=[\"10.0.2.0/24\"])\nexample_network_connection = azure.devcenter.NetworkConnection(\"example\",\n    name=\"example-dcnc\",\n    resource_group_name=example.name,\n    location=example.location,\n    domain_join_type=\"AzureADJoin\",\n    subnet_id=example_subnet.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleVirtualNetwork = new Azure.Network.VirtualNetwork(\"example\", new()\n    {\n        Name = \"example-vnet\",\n        AddressSpaces = new[]\n        {\n            \"10.0.0.0/16\",\n        },\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n    });\n\n    var exampleSubnet = new Azure.Network.Subnet(\"example\", new()\n    {\n        Name = \"internal\",\n        ResourceGroupName = example.Name,\n        VirtualNetworkName = exampleVirtualNetwork.Name,\n        AddressPrefixes = new[]\n        {\n            \"10.0.2.0/24\",\n        },\n    });\n\n    var exampleNetworkConnection = new Azure.DevCenter.NetworkConnection(\"example\", new()\n    {\n        Name = \"example-dcnc\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        DomainJoinType = \"AzureADJoin\",\n        SubnetId = exampleSubnet.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/devcenter\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, \"example\", \u0026network.VirtualNetworkArgs{\n\t\t\tName: pulumi.String(\"example-vnet\"),\n\t\t\tAddressSpaces: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.0.0/16\"),\n\t\t\t},\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSubnet, err := network.NewSubnet(ctx, \"example\", \u0026network.SubnetArgs{\n\t\t\tName:               pulumi.String(\"internal\"),\n\t\t\tResourceGroupName:  example.Name,\n\t\t\tVirtualNetworkName: exampleVirtualNetwork.Name,\n\t\t\tAddressPrefixes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.2.0/24\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = devcenter.NewNetworkConnection(ctx, \"example\", \u0026devcenter.NetworkConnectionArgs{\n\t\t\tName:              pulumi.String(\"example-dcnc\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tDomainJoinType:    pulumi.String(\"AzureADJoin\"),\n\t\t\tSubnetId:          exampleSubnet.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.VirtualNetwork;\nimport com.pulumi.azure.network.VirtualNetworkArgs;\nimport com.pulumi.azure.network.Subnet;\nimport com.pulumi.azure.network.SubnetArgs;\nimport com.pulumi.azure.devcenter.NetworkConnection;\nimport com.pulumi.azure.devcenter.NetworkConnectionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleVirtualNetwork = new VirtualNetwork(\"exampleVirtualNetwork\", VirtualNetworkArgs.builder()\n            .name(\"example-vnet\")\n            .addressSpaces(\"10.0.0.0/16\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .build());\n\n        var exampleSubnet = new Subnet(\"exampleSubnet\", SubnetArgs.builder()\n            .name(\"internal\")\n            .resourceGroupName(example.name())\n            .virtualNetworkName(exampleVirtualNetwork.name())\n            .addressPrefixes(\"10.0.2.0/24\")\n            .build());\n\n        var exampleNetworkConnection = new NetworkConnection(\"exampleNetworkConnection\", NetworkConnectionArgs.builder()\n            .name(\"example-dcnc\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .domainJoinType(\"AzureADJoin\")\n            .subnetId(exampleSubnet.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleVirtualNetwork:\n    type: azure:network:VirtualNetwork\n    name: example\n    properties:\n      name: example-vnet\n      addressSpaces:\n        - 10.0.0.0/16\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n  exampleSubnet:\n    type: azure:network:Subnet\n    name: example\n    properties:\n      name: internal\n      resourceGroupName: ${example.name}\n      virtualNetworkName: ${exampleVirtualNetwork.name}\n      addressPrefixes:\n        - 10.0.2.0/24\n  exampleNetworkConnection:\n    type: azure:devcenter:NetworkConnection\n    name: example\n    properties:\n      name: example-dcnc\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      domainJoinType: AzureADJoin\n      subnetId: ${exampleSubnet.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.DevCenter` - 2025-02-01\n\n## Import\n\nAn existing Dev Center Network Connection can be imported into Pulumi using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:devcenter/networkConnection:NetworkConnection example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.DevCenter/networkConnections/networkConnection1\n```\n\n","properties":{"domainJoinType":{"type":"string","description":"The Azure Active Directory Join type. Possible values are `AzureADJoin`, `HybridAzureADJoin` and `None`. Changing this forces a new resource to be created.\n"},"domainName":{"type":"string","description":"The name of the Azure Active Directory domain.\n"},"domainPassword":{"type":"string","description":"The password for the account used to join domain.\n","secret":true},"domainUsername":{"type":"string","description":"The username of the Azure Active Directory account (user or service account) that has permissions to create computer objects in Active Directory.\n"},"location":{"type":"string","description":"The Azure Region where the Dev Center Network Connection should exist. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"Specifies the name of this Dev Center Network Connection. Changing this forces a new resource to be created.\n"},"organizationUnit":{"type":"string","description":"The Azure Active Directory domain Organization Unit (OU).\n"},"resourceGroupName":{"type":"string","description":"Specifies the name of the Resource Group within which this Dev Center Network Connection should exist. Changing this forces a new resource to be created.\n"},"subnetId":{"type":"string","description":"The ID of the Subnet that is used to attach Virtual Machines.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Dev Center Network Connection.\n"}},"required":["domainJoinType","location","name","resourceGroupName","subnetId"],"inputProperties":{"domainJoinType":{"type":"string","description":"The Azure Active Directory Join type. Possible values are `AzureADJoin`, `HybridAzureADJoin` and `None`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"domainName":{"type":"string","description":"The name of the Azure Active Directory domain.\n"},"domainPassword":{"type":"string","description":"The password for the account used to join domain.\n","secret":true},"domainUsername":{"type":"string","description":"The username of the Azure Active Directory account (user or service account) that has permissions to create computer objects in Active Directory.\n"},"location":{"type":"string","description":"The Azure Region where the Dev Center Network Connection should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of this Dev Center Network Connection. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"organizationUnit":{"type":"string","description":"The Azure Active Directory domain Organization Unit (OU).\n"},"resourceGroupName":{"type":"string","description":"Specifies the name of the Resource Group within which this Dev Center Network Connection should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"subnetId":{"type":"string","description":"The ID of the Subnet that is used to attach Virtual Machines.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Dev Center Network Connection.\n"}},"requiredInputs":["domainJoinType","resourceGroupName","subnetId"],"stateInputs":{"description":"Input properties used for looking up and filtering NetworkConnection resources.\n","properties":{"domainJoinType":{"type":"string","description":"The Azure Active Directory Join type. Possible values are `AzureADJoin`, `HybridAzureADJoin` and `None`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"domainName":{"type":"string","description":"The name of the Azure Active Directory domain.\n"},"domainPassword":{"type":"string","description":"The password for the account used to join domain.\n","secret":true},"domainUsername":{"type":"string","description":"The username of the Azure Active Directory account (user or service account) that has permissions to create computer objects in Active Directory.\n"},"location":{"type":"string","description":"The Azure Region where the Dev Center Network Connection should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of this Dev Center Network Connection. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"organizationUnit":{"type":"string","description":"The Azure Active Directory domain Organization Unit (OU).\n"},"resourceGroupName":{"type":"string","description":"Specifies the name of the Resource Group within which this Dev Center Network Connection should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"subnetId":{"type":"string","description":"The ID of the Subnet that is used to attach Virtual Machines.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Dev Center Network Connection.\n"}},"type":"object"}},"azure:devcenter/project:Project":{"description":"Manages a Dev Center Project.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst example = new azure.devcenter.DevCenter(\"example\", {\n    name: \"example\",\n    resourceGroupName: exampleResourceGroup.name,\n    location: exampleResourceGroup.location,\n    identity: {\n        type: \"example-value\",\n    },\n});\nconst exampleProject = new azure.devcenter.Project(\"example\", {\n    devCenterId: example.id,\n    location: exampleResourceGroup.location,\n    name: \"example\",\n    resourceGroupName: exampleResourceGroup.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample = azure.devcenter.DevCenter(\"example\",\n    name=\"example\",\n    resource_group_name=example_resource_group.name,\n    location=example_resource_group.location,\n    identity={\n        \"type\": \"example-value\",\n    })\nexample_project = azure.devcenter.Project(\"example\",\n    dev_center_id=example.id,\n    location=example_resource_group.location,\n    name=\"example\",\n    resource_group_name=example_resource_group.name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleResourceGroup = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var example = new Azure.DevCenter.DevCenter(\"example\", new()\n    {\n        Name = \"example\",\n        ResourceGroupName = exampleResourceGroup.Name,\n        Location = exampleResourceGroup.Location,\n        Identity = new Azure.DevCenter.Inputs.DevCenterIdentityArgs\n        {\n            Type = \"example-value\",\n        },\n    });\n\n    var exampleProject = new Azure.DevCenter.Project(\"example\", new()\n    {\n        DevCenterId = example.Id,\n        Location = exampleResourceGroup.Location,\n        Name = \"example\",\n        ResourceGroupName = exampleResourceGroup.Name,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/devcenter\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := devcenter.NewDevCenter(ctx, \"example\", \u0026devcenter.DevCenterArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tLocation:          exampleResourceGroup.Location,\n\t\t\tIdentity: \u0026devcenter.DevCenterIdentityArgs{\n\t\t\t\tType: pulumi.String(\"example-value\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = devcenter.NewProject(ctx, \"example\", \u0026devcenter.ProjectArgs{\n\t\t\tDevCenterId:       example.ID(),\n\t\t\tLocation:          exampleResourceGroup.Location,\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.devcenter.DevCenter;\nimport com.pulumi.azure.devcenter.DevCenterArgs;\nimport com.pulumi.azure.devcenter.inputs.DevCenterIdentityArgs;\nimport com.pulumi.azure.devcenter.Project;\nimport com.pulumi.azure.devcenter.ProjectArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var exampleResourceGroup = new ResourceGroup(\"exampleResourceGroup\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var example = new DevCenter(\"example\", DevCenterArgs.builder()\n            .name(\"example\")\n            .resourceGroupName(exampleResourceGroup.name())\n            .location(exampleResourceGroup.location())\n            .identity(DevCenterIdentityArgs.builder()\n                .type(\"example-value\")\n                .build())\n            .build());\n\n        var exampleProject = new Project(\"exampleProject\", ProjectArgs.builder()\n            .devCenterId(example.id())\n            .location(exampleResourceGroup.location())\n            .name(\"example\")\n            .resourceGroupName(exampleResourceGroup.name())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:devcenter:DevCenter\n    properties:\n      name: example\n      resourceGroupName: ${exampleResourceGroup.name}\n      location: ${exampleResourceGroup.location}\n      identity:\n        type: example-value\n  exampleResourceGroup:\n    type: azure:core:ResourceGroup\n    name: example\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleProject:\n    type: azure:devcenter:Project\n    name: example\n    properties:\n      devCenterId: ${example.id}\n      location: ${exampleResourceGroup.location}\n      name: example\n      resourceGroupName: ${exampleResourceGroup.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.DevCenter` - 2025-02-01\n\n## Import\n\nAn existing Dev Center Project can be imported into Pulumi using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:devcenter/project:Project example /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/projects/{projectName}\n```\n\n* Where `{subscriptionId}` is the ID of the Azure Subscription where the Dev Center Project exists. For example `12345678-1234-9876-4563-123456789012`.\n* Where `{resourceGroupName}` is the name of Resource Group where this Dev Center Project exists. For example `example-resource-group`.\n* Where `{projectName}` is the name of the Project. For example `projectValue`.\n\n","properties":{"description":{"type":"string","description":"Description of the project. Changing this forces a new Dev Center Project to be created.\n"},"devCenterId":{"type":"string","description":"Resource Id of an associated DevCenter. Changing this forces a new Dev Center Project to be created.\n"},"devCenterUri":{"type":"string","description":"The URI of the Dev Center resource this project is associated with.\n"},"identity":{"$ref":"#/types/azure:devcenter/ProjectIdentity:ProjectIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"location":{"type":"string","description":"The Azure Region where the Dev Center Project should exist. Changing this forces a new Dev Center Project to be created.\n"},"maximumDevBoxesPerUser":{"type":"integer","description":"When specified, limits the maximum number of Dev Boxes a single user can create across all pools in the project.\n"},"name":{"type":"string","description":"Specifies the name of this Dev Center Project. Changing this forces a new Dev Center Project to be created.\n"},"resourceGroupName":{"type":"string","description":"Specifies the name of the Resource Group within which this Dev Center Project should exist. Changing this forces a new Dev Center Project to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Dev Center Project.\n"}},"required":["devCenterId","devCenterUri","location","name","resourceGroupName"],"inputProperties":{"description":{"type":"string","description":"Description of the project. Changing this forces a new Dev Center Project to be created.\n","willReplaceOnChanges":true},"devCenterId":{"type":"string","description":"Resource Id of an associated DevCenter. Changing this forces a new Dev Center Project to be created.\n","willReplaceOnChanges":true},"identity":{"$ref":"#/types/azure:devcenter/ProjectIdentity:ProjectIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"location":{"type":"string","description":"The Azure Region where the Dev Center Project should exist. Changing this forces a new Dev Center Project to be created.\n","willReplaceOnChanges":true},"maximumDevBoxesPerUser":{"type":"integer","description":"When specified, limits the maximum number of Dev Boxes a single user can create across all pools in the project.\n"},"name":{"type":"string","description":"Specifies the name of this Dev Center Project. Changing this forces a new Dev Center Project to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"Specifies the name of the Resource Group within which this Dev Center Project should exist. Changing this forces a new Dev Center Project to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Dev Center Project.\n"}},"requiredInputs":["devCenterId","resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering Project resources.\n","properties":{"description":{"type":"string","description":"Description of the project. Changing this forces a new Dev Center Project to be created.\n","willReplaceOnChanges":true},"devCenterId":{"type":"string","description":"Resource Id of an associated DevCenter. Changing this forces a new Dev Center Project to be created.\n","willReplaceOnChanges":true},"devCenterUri":{"type":"string","description":"The URI of the Dev Center resource this project is associated with.\n"},"identity":{"$ref":"#/types/azure:devcenter/ProjectIdentity:ProjectIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"location":{"type":"string","description":"The Azure Region where the Dev Center Project should exist. Changing this forces a new Dev Center Project to be created.\n","willReplaceOnChanges":true},"maximumDevBoxesPerUser":{"type":"integer","description":"When specified, limits the maximum number of Dev Boxes a single user can create across all pools in the project.\n"},"name":{"type":"string","description":"Specifies the name of this Dev Center Project. Changing this forces a new Dev Center Project to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"Specifies the name of the Resource Group within which this Dev Center Project should exist. Changing this forces a new Dev Center Project to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Dev Center Project.\n"}},"type":"object"}},"azure:devcenter/projectEnvironmentType:ProjectEnvironmentType":{"description":"Manages a Dev Center Project Environment Type.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst current = azure.core.getClientConfig({});\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleDevCenter = new azure.devcenter.DevCenter(\"example\", {\n    name: \"example-dc\",\n    resourceGroupName: example.name,\n    location: example.location,\n    identity: {\n        type: \"SystemAssigned\",\n    },\n});\nconst exampleEnvironmentType = new azure.devcenter.EnvironmentType(\"example\", {\n    name: \"example-et\",\n    devCenterId: exampleDevCenter.id,\n});\nconst exampleProject = new azure.devcenter.Project(\"example\", {\n    name: \"example-dcp\",\n    resourceGroupName: example.name,\n    location: example.location,\n    devCenterId: exampleDevCenter.id,\n}, {\n    dependsOn: [exampleEnvironmentType],\n});\nconst exampleProjectEnvironmentType = new azure.devcenter.ProjectEnvironmentType(\"example\", {\n    name: \"example-et\",\n    location: example.location,\n    devCenterProjectId: exampleProject.id,\n    deploymentTargetId: current.then(current =\u003e `/subscriptions/${current.subscriptionId}`),\n    identity: {\n        type: \"SystemAssigned\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\ncurrent = azure.core.get_client_config()\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_dev_center = azure.devcenter.DevCenter(\"example\",\n    name=\"example-dc\",\n    resource_group_name=example.name,\n    location=example.location,\n    identity={\n        \"type\": \"SystemAssigned\",\n    })\nexample_environment_type = azure.devcenter.EnvironmentType(\"example\",\n    name=\"example-et\",\n    dev_center_id=example_dev_center.id)\nexample_project = azure.devcenter.Project(\"example\",\n    name=\"example-dcp\",\n    resource_group_name=example.name,\n    location=example.location,\n    dev_center_id=example_dev_center.id,\n    opts = pulumi.ResourceOptions(depends_on=[example_environment_type]))\nexample_project_environment_type = azure.devcenter.ProjectEnvironmentType(\"example\",\n    name=\"example-et\",\n    location=example.location,\n    dev_center_project_id=example_project.id,\n    deployment_target_id=f\"/subscriptions/{current.subscription_id}\",\n    identity={\n        \"type\": \"SystemAssigned\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var current = Azure.Core.GetClientConfig.Invoke();\n\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleDevCenter = new Azure.DevCenter.DevCenter(\"example\", new()\n    {\n        Name = \"example-dc\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        Identity = new Azure.DevCenter.Inputs.DevCenterIdentityArgs\n        {\n            Type = \"SystemAssigned\",\n        },\n    });\n\n    var exampleEnvironmentType = new Azure.DevCenter.EnvironmentType(\"example\", new()\n    {\n        Name = \"example-et\",\n        DevCenterId = exampleDevCenter.Id,\n    });\n\n    var exampleProject = new Azure.DevCenter.Project(\"example\", new()\n    {\n        Name = \"example-dcp\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        DevCenterId = exampleDevCenter.Id,\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            exampleEnvironmentType,\n        },\n    });\n\n    var exampleProjectEnvironmentType = new Azure.DevCenter.ProjectEnvironmentType(\"example\", new()\n    {\n        Name = \"example-et\",\n        Location = example.Location,\n        DevCenterProjectId = exampleProject.Id,\n        DeploymentTargetId = $\"/subscriptions/{current.Apply(getClientConfigResult =\u003e getClientConfigResult.SubscriptionId)}\",\n        Identity = new Azure.DevCenter.Inputs.ProjectEnvironmentTypeIdentityArgs\n        {\n            Type = \"SystemAssigned\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/devcenter\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := core.GetClientConfig(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleDevCenter, err := devcenter.NewDevCenter(ctx, \"example\", \u0026devcenter.DevCenterArgs{\n\t\t\tName:              pulumi.String(\"example-dc\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tIdentity: \u0026devcenter.DevCenterIdentityArgs{\n\t\t\t\tType: pulumi.String(\"SystemAssigned\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleEnvironmentType, err := devcenter.NewEnvironmentType(ctx, \"example\", \u0026devcenter.EnvironmentTypeArgs{\n\t\t\tName:        pulumi.String(\"example-et\"),\n\t\t\tDevCenterId: exampleDevCenter.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleProject, err := devcenter.NewProject(ctx, \"example\", \u0026devcenter.ProjectArgs{\n\t\t\tName:              pulumi.String(\"example-dcp\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tDevCenterId:       exampleDevCenter.ID(),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleEnvironmentType,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = devcenter.NewProjectEnvironmentType(ctx, \"example\", \u0026devcenter.ProjectEnvironmentTypeArgs{\n\t\t\tName:               pulumi.String(\"example-et\"),\n\t\t\tLocation:           example.Location,\n\t\t\tDevCenterProjectId: exampleProject.ID(),\n\t\t\tDeploymentTargetId: pulumi.Sprintf(\"/subscriptions/%v\", current.SubscriptionId),\n\t\t\tIdentity: \u0026devcenter.ProjectEnvironmentTypeIdentityArgs{\n\t\t\t\tType: pulumi.String(\"SystemAssigned\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.devcenter.DevCenter;\nimport com.pulumi.azure.devcenter.DevCenterArgs;\nimport com.pulumi.azure.devcenter.inputs.DevCenterIdentityArgs;\nimport com.pulumi.azure.devcenter.EnvironmentType;\nimport com.pulumi.azure.devcenter.EnvironmentTypeArgs;\nimport com.pulumi.azure.devcenter.Project;\nimport com.pulumi.azure.devcenter.ProjectArgs;\nimport com.pulumi.azure.devcenter.ProjectEnvironmentType;\nimport com.pulumi.azure.devcenter.ProjectEnvironmentTypeArgs;\nimport com.pulumi.azure.devcenter.inputs.ProjectEnvironmentTypeIdentityArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var current = CoreFunctions.getClientConfig(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleDevCenter = new DevCenter(\"exampleDevCenter\", DevCenterArgs.builder()\n            .name(\"example-dc\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .identity(DevCenterIdentityArgs.builder()\n                .type(\"SystemAssigned\")\n                .build())\n            .build());\n\n        var exampleEnvironmentType = new EnvironmentType(\"exampleEnvironmentType\", EnvironmentTypeArgs.builder()\n            .name(\"example-et\")\n            .devCenterId(exampleDevCenter.id())\n            .build());\n\n        var exampleProject = new Project(\"exampleProject\", ProjectArgs.builder()\n            .name(\"example-dcp\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .devCenterId(exampleDevCenter.id())\n            .build(), CustomResourceOptions.builder()\n                .dependsOn(exampleEnvironmentType)\n                .build());\n\n        var exampleProjectEnvironmentType = new ProjectEnvironmentType(\"exampleProjectEnvironmentType\", ProjectEnvironmentTypeArgs.builder()\n            .name(\"example-et\")\n            .location(example.location())\n            .devCenterProjectId(exampleProject.id())\n            .deploymentTargetId(String.format(\"/subscriptions/%s\", current.subscriptionId()))\n            .identity(ProjectEnvironmentTypeIdentityArgs.builder()\n                .type(\"SystemAssigned\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleDevCenter:\n    type: azure:devcenter:DevCenter\n    name: example\n    properties:\n      name: example-dc\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      identity:\n        type: SystemAssigned\n  exampleEnvironmentType:\n    type: azure:devcenter:EnvironmentType\n    name: example\n    properties:\n      name: example-et\n      devCenterId: ${exampleDevCenter.id}\n  exampleProject:\n    type: azure:devcenter:Project\n    name: example\n    properties:\n      name: example-dcp\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      devCenterId: ${exampleDevCenter.id}\n    options:\n      dependsOn:\n        - ${exampleEnvironmentType}\n  exampleProjectEnvironmentType:\n    type: azure:devcenter:ProjectEnvironmentType\n    name: example\n    properties:\n      name: example-et\n      location: ${example.location}\n      devCenterProjectId: ${exampleProject.id}\n      deploymentTargetId: /subscriptions/${current.subscriptionId}\n      identity:\n        type: SystemAssigned\nvariables:\n  current:\n    fn::invoke:\n      function: azure:core:getClientConfig\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.DevCenter` - 2025-02-01\n\n## Import\n\nAn existing Dev Center Project Environment Type can be imported into Pulumi using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:devcenter/projectEnvironmentType:ProjectEnvironmentType example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.DevCenter/projects/project1/environmentTypes/et1\n```\n\n","properties":{"creatorRoleAssignmentRoles":{"type":"array","items":{"type":"string"},"description":"A list of roles to assign to the environment creator.\n"},"deploymentTargetId":{"type":"string","description":"The ID of the subscription that the Environment Type will be mapped to. The environment's resources will be deployed into this subscription.\n"},"devCenterProjectId":{"type":"string","description":"The ID of the associated Dev Center Project. Changing this forces a new resource to be created.\n"},"identity":{"$ref":"#/types/azure:devcenter/ProjectEnvironmentTypeIdentity:ProjectEnvironmentTypeIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"location":{"type":"string","description":"The Azure Region where the Dev Center Project Environment Type should exist. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"Specifies the name of this Dev Center Project Environment Type. Changing this forces a new resource to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Dev Center Project Environment Type.\n"},"userRoleAssignments":{"type":"array","items":{"$ref":"#/types/azure:devcenter/ProjectEnvironmentTypeUserRoleAssignment:ProjectEnvironmentTypeUserRoleAssignment"},"description":"A \u003cspan pulumi-lang-nodejs=\"`userRoleAssignment`\" pulumi-lang-dotnet=\"`UserRoleAssignment`\" pulumi-lang-go=\"`userRoleAssignment`\" pulumi-lang-python=\"`user_role_assignment`\" pulumi-lang-yaml=\"`userRoleAssignment`\" pulumi-lang-java=\"`userRoleAssignment`\"\u003e`user_role_assignment`\u003c/span\u003e block as defined below.\n"}},"required":["deploymentTargetId","devCenterProjectId","identity","location","name"],"inputProperties":{"creatorRoleAssignmentRoles":{"type":"array","items":{"type":"string"},"description":"A list of roles to assign to the environment creator.\n"},"deploymentTargetId":{"type":"string","description":"The ID of the subscription that the Environment Type will be mapped to. The environment's resources will be deployed into this subscription.\n"},"devCenterProjectId":{"type":"string","description":"The ID of the associated Dev Center Project. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"identity":{"$ref":"#/types/azure:devcenter/ProjectEnvironmentTypeIdentity:ProjectEnvironmentTypeIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"location":{"type":"string","description":"The Azure Region where the Dev Center Project Environment Type should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of this Dev Center Project Environment Type. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Dev Center Project Environment Type.\n"},"userRoleAssignments":{"type":"array","items":{"$ref":"#/types/azure:devcenter/ProjectEnvironmentTypeUserRoleAssignment:ProjectEnvironmentTypeUserRoleAssignment"},"description":"A \u003cspan pulumi-lang-nodejs=\"`userRoleAssignment`\" pulumi-lang-dotnet=\"`UserRoleAssignment`\" pulumi-lang-go=\"`userRoleAssignment`\" pulumi-lang-python=\"`user_role_assignment`\" pulumi-lang-yaml=\"`userRoleAssignment`\" pulumi-lang-java=\"`userRoleAssignment`\"\u003e`user_role_assignment`\u003c/span\u003e block as defined below.\n"}},"requiredInputs":["deploymentTargetId","devCenterProjectId","identity"],"stateInputs":{"description":"Input properties used for looking up and filtering ProjectEnvironmentType resources.\n","properties":{"creatorRoleAssignmentRoles":{"type":"array","items":{"type":"string"},"description":"A list of roles to assign to the environment creator.\n"},"deploymentTargetId":{"type":"string","description":"The ID of the subscription that the Environment Type will be mapped to. The environment's resources will be deployed into this subscription.\n"},"devCenterProjectId":{"type":"string","description":"The ID of the associated Dev Center Project. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"identity":{"$ref":"#/types/azure:devcenter/ProjectEnvironmentTypeIdentity:ProjectEnvironmentTypeIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"location":{"type":"string","description":"The Azure Region where the Dev Center Project Environment Type should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of this Dev Center Project Environment Type. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Dev Center Project Environment Type.\n"},"userRoleAssignments":{"type":"array","items":{"$ref":"#/types/azure:devcenter/ProjectEnvironmentTypeUserRoleAssignment:ProjectEnvironmentTypeUserRoleAssignment"},"description":"A \u003cspan pulumi-lang-nodejs=\"`userRoleAssignment`\" pulumi-lang-dotnet=\"`UserRoleAssignment`\" pulumi-lang-go=\"`userRoleAssignment`\" pulumi-lang-python=\"`user_role_assignment`\" pulumi-lang-yaml=\"`userRoleAssignment`\" pulumi-lang-java=\"`userRoleAssignment`\"\u003e`user_role_assignment`\u003c/span\u003e block as defined below.\n"}},"type":"object"}},"azure:devcenter/projectPool:ProjectPool":{"description":"Manages a Dev Center Project Pool.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleDevCenter = new azure.devcenter.DevCenter(\"example\", {\n    name: \"example-dc\",\n    resourceGroupName: example.name,\n    location: example.location,\n    identity: {\n        type: \"SystemAssigned\",\n    },\n});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"example\", {\n    name: \"example-vnet\",\n    addressSpaces: [\"10.0.0.0/16\"],\n    location: example.location,\n    resourceGroupName: example.name,\n});\nconst exampleSubnet = new azure.network.Subnet(\"example\", {\n    name: \"internal\",\n    resourceGroupName: example.name,\n    virtualNetworkName: exampleVirtualNetwork.name,\n    addressPrefixes: [\"10.0.2.0/24\"],\n});\nconst exampleNetworkConnection = new azure.devcenter.NetworkConnection(\"example\", {\n    name: \"example-dcnc\",\n    resourceGroupName: example.name,\n    location: example.location,\n    subnetId: exampleSubnet.id,\n    domainJoinType: \"AzureADJoin\",\n});\nconst exampleAttachedNetwork = new azure.devcenter.AttachedNetwork(\"example\", {\n    name: \"example-dcet\",\n    devCenterId: exampleDevCenter.id,\n    networkConnectionId: exampleNetworkConnection.id,\n});\nconst exampleProject = new azure.devcenter.Project(\"example\", {\n    name: \"example-dcp\",\n    resourceGroupName: example.name,\n    location: example.location,\n    devCenterId: exampleDevCenter.id,\n});\nconst exampleDevBoxDefinition = new azure.devcenter.DevBoxDefinition(\"example\", {\n    name: \"example-dcet\",\n    location: example.location,\n    devCenterId: exampleDevCenter.id,\n    imageReferenceId: pulumi.interpolate`${exampleDevCenter.id}/galleries/default/images/microsoftvisualstudio_visualstudioplustools_vs-2022-ent-general-win10-m365-gen2`,\n    skuName: \"general_i_8c32gb256ssd_v2\",\n});\nconst exampleProjectPool = new azure.devcenter.ProjectPool(\"example\", {\n    name: \"example-dcpl\",\n    location: example.location,\n    devCenterProjectId: exampleProject.id,\n    devBoxDefinitionName: exampleDevBoxDefinition.name,\n    localAdministratorEnabled: true,\n    devCenterAttachedNetworkName: exampleAttachedNetwork.name,\n    stopOnDisconnectGracePeriodMinutes: 60,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_dev_center = azure.devcenter.DevCenter(\"example\",\n    name=\"example-dc\",\n    resource_group_name=example.name,\n    location=example.location,\n    identity={\n        \"type\": \"SystemAssigned\",\n    })\nexample_virtual_network = azure.network.VirtualNetwork(\"example\",\n    name=\"example-vnet\",\n    address_spaces=[\"10.0.0.0/16\"],\n    location=example.location,\n    resource_group_name=example.name)\nexample_subnet = azure.network.Subnet(\"example\",\n    name=\"internal\",\n    resource_group_name=example.name,\n    virtual_network_name=example_virtual_network.name,\n    address_prefixes=[\"10.0.2.0/24\"])\nexample_network_connection = azure.devcenter.NetworkConnection(\"example\",\n    name=\"example-dcnc\",\n    resource_group_name=example.name,\n    location=example.location,\n    subnet_id=example_subnet.id,\n    domain_join_type=\"AzureADJoin\")\nexample_attached_network = azure.devcenter.AttachedNetwork(\"example\",\n    name=\"example-dcet\",\n    dev_center_id=example_dev_center.id,\n    network_connection_id=example_network_connection.id)\nexample_project = azure.devcenter.Project(\"example\",\n    name=\"example-dcp\",\n    resource_group_name=example.name,\n    location=example.location,\n    dev_center_id=example_dev_center.id)\nexample_dev_box_definition = azure.devcenter.DevBoxDefinition(\"example\",\n    name=\"example-dcet\",\n    location=example.location,\n    dev_center_id=example_dev_center.id,\n    image_reference_id=example_dev_center.id.apply(lambda id: f\"{id}/galleries/default/images/microsoftvisualstudio_visualstudioplustools_vs-2022-ent-general-win10-m365-gen2\"),\n    sku_name=\"general_i_8c32gb256ssd_v2\")\nexample_project_pool = azure.devcenter.ProjectPool(\"example\",\n    name=\"example-dcpl\",\n    location=example.location,\n    dev_center_project_id=example_project.id,\n    dev_box_definition_name=example_dev_box_definition.name,\n    local_administrator_enabled=True,\n    dev_center_attached_network_name=example_attached_network.name,\n    stop_on_disconnect_grace_period_minutes=60)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleDevCenter = new Azure.DevCenter.DevCenter(\"example\", new()\n    {\n        Name = \"example-dc\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        Identity = new Azure.DevCenter.Inputs.DevCenterIdentityArgs\n        {\n            Type = \"SystemAssigned\",\n        },\n    });\n\n    var exampleVirtualNetwork = new Azure.Network.VirtualNetwork(\"example\", new()\n    {\n        Name = \"example-vnet\",\n        AddressSpaces = new[]\n        {\n            \"10.0.0.0/16\",\n        },\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n    });\n\n    var exampleSubnet = new Azure.Network.Subnet(\"example\", new()\n    {\n        Name = \"internal\",\n        ResourceGroupName = example.Name,\n        VirtualNetworkName = exampleVirtualNetwork.Name,\n        AddressPrefixes = new[]\n        {\n            \"10.0.2.0/24\",\n        },\n    });\n\n    var exampleNetworkConnection = new Azure.DevCenter.NetworkConnection(\"example\", new()\n    {\n        Name = \"example-dcnc\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        SubnetId = exampleSubnet.Id,\n        DomainJoinType = \"AzureADJoin\",\n    });\n\n    var exampleAttachedNetwork = new Azure.DevCenter.AttachedNetwork(\"example\", new()\n    {\n        Name = \"example-dcet\",\n        DevCenterId = exampleDevCenter.Id,\n        NetworkConnectionId = exampleNetworkConnection.Id,\n    });\n\n    var exampleProject = new Azure.DevCenter.Project(\"example\", new()\n    {\n        Name = \"example-dcp\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        DevCenterId = exampleDevCenter.Id,\n    });\n\n    var exampleDevBoxDefinition = new Azure.DevCenter.DevBoxDefinition(\"example\", new()\n    {\n        Name = \"example-dcet\",\n        Location = example.Location,\n        DevCenterId = exampleDevCenter.Id,\n        ImageReferenceId = exampleDevCenter.Id.Apply(id =\u003e $\"{id}/galleries/default/images/microsoftvisualstudio_visualstudioplustools_vs-2022-ent-general-win10-m365-gen2\"),\n        SkuName = \"general_i_8c32gb256ssd_v2\",\n    });\n\n    var exampleProjectPool = new Azure.DevCenter.ProjectPool(\"example\", new()\n    {\n        Name = \"example-dcpl\",\n        Location = example.Location,\n        DevCenterProjectId = exampleProject.Id,\n        DevBoxDefinitionName = exampleDevBoxDefinition.Name,\n        LocalAdministratorEnabled = true,\n        DevCenterAttachedNetworkName = exampleAttachedNetwork.Name,\n        StopOnDisconnectGracePeriodMinutes = 60,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/devcenter\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleDevCenter, err := devcenter.NewDevCenter(ctx, \"example\", \u0026devcenter.DevCenterArgs{\n\t\t\tName:              pulumi.String(\"example-dc\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tIdentity: \u0026devcenter.DevCenterIdentityArgs{\n\t\t\t\tType: pulumi.String(\"SystemAssigned\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, \"example\", \u0026network.VirtualNetworkArgs{\n\t\t\tName: pulumi.String(\"example-vnet\"),\n\t\t\tAddressSpaces: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.0.0/16\"),\n\t\t\t},\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSubnet, err := network.NewSubnet(ctx, \"example\", \u0026network.SubnetArgs{\n\t\t\tName:               pulumi.String(\"internal\"),\n\t\t\tResourceGroupName:  example.Name,\n\t\t\tVirtualNetworkName: exampleVirtualNetwork.Name,\n\t\t\tAddressPrefixes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.2.0/24\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNetworkConnection, err := devcenter.NewNetworkConnection(ctx, \"example\", \u0026devcenter.NetworkConnectionArgs{\n\t\t\tName:              pulumi.String(\"example-dcnc\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tSubnetId:          exampleSubnet.ID(),\n\t\t\tDomainJoinType:    pulumi.String(\"AzureADJoin\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAttachedNetwork, err := devcenter.NewAttachedNetwork(ctx, \"example\", \u0026devcenter.AttachedNetworkArgs{\n\t\t\tName:                pulumi.String(\"example-dcet\"),\n\t\t\tDevCenterId:         exampleDevCenter.ID(),\n\t\t\tNetworkConnectionId: exampleNetworkConnection.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleProject, err := devcenter.NewProject(ctx, \"example\", \u0026devcenter.ProjectArgs{\n\t\t\tName:              pulumi.String(\"example-dcp\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tDevCenterId:       exampleDevCenter.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleDevBoxDefinition, err := devcenter.NewDevBoxDefinition(ctx, \"example\", \u0026devcenter.DevBoxDefinitionArgs{\n\t\t\tName:        pulumi.String(\"example-dcet\"),\n\t\t\tLocation:    example.Location,\n\t\t\tDevCenterId: exampleDevCenter.ID(),\n\t\t\tImageReferenceId: exampleDevCenter.ID().ApplyT(func(id string) (string, error) {\n\t\t\t\treturn fmt.Sprintf(\"%v/galleries/default/images/microsoftvisualstudio_visualstudioplustools_vs-2022-ent-general-win10-m365-gen2\", id), nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t\tSkuName: pulumi.String(\"general_i_8c32gb256ssd_v2\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = devcenter.NewProjectPool(ctx, \"example\", \u0026devcenter.ProjectPoolArgs{\n\t\t\tName:                               pulumi.String(\"example-dcpl\"),\n\t\t\tLocation:                           example.Location,\n\t\t\tDevCenterProjectId:                 exampleProject.ID(),\n\t\t\tDevBoxDefinitionName:               exampleDevBoxDefinition.Name,\n\t\t\tLocalAdministratorEnabled:          pulumi.Bool(true),\n\t\t\tDevCenterAttachedNetworkName:       exampleAttachedNetwork.Name,\n\t\t\tStopOnDisconnectGracePeriodMinutes: pulumi.Int(60),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.devcenter.DevCenter;\nimport com.pulumi.azure.devcenter.DevCenterArgs;\nimport com.pulumi.azure.devcenter.inputs.DevCenterIdentityArgs;\nimport com.pulumi.azure.network.VirtualNetwork;\nimport com.pulumi.azure.network.VirtualNetworkArgs;\nimport com.pulumi.azure.network.Subnet;\nimport com.pulumi.azure.network.SubnetArgs;\nimport com.pulumi.azure.devcenter.NetworkConnection;\nimport com.pulumi.azure.devcenter.NetworkConnectionArgs;\nimport com.pulumi.azure.devcenter.AttachedNetwork;\nimport com.pulumi.azure.devcenter.AttachedNetworkArgs;\nimport com.pulumi.azure.devcenter.Project;\nimport com.pulumi.azure.devcenter.ProjectArgs;\nimport com.pulumi.azure.devcenter.DevBoxDefinition;\nimport com.pulumi.azure.devcenter.DevBoxDefinitionArgs;\nimport com.pulumi.azure.devcenter.ProjectPool;\nimport com.pulumi.azure.devcenter.ProjectPoolArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleDevCenter = new DevCenter(\"exampleDevCenter\", DevCenterArgs.builder()\n            .name(\"example-dc\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .identity(DevCenterIdentityArgs.builder()\n                .type(\"SystemAssigned\")\n                .build())\n            .build());\n\n        var exampleVirtualNetwork = new VirtualNetwork(\"exampleVirtualNetwork\", VirtualNetworkArgs.builder()\n            .name(\"example-vnet\")\n            .addressSpaces(\"10.0.0.0/16\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .build());\n\n        var exampleSubnet = new Subnet(\"exampleSubnet\", SubnetArgs.builder()\n            .name(\"internal\")\n            .resourceGroupName(example.name())\n            .virtualNetworkName(exampleVirtualNetwork.name())\n            .addressPrefixes(\"10.0.2.0/24\")\n            .build());\n\n        var exampleNetworkConnection = new NetworkConnection(\"exampleNetworkConnection\", NetworkConnectionArgs.builder()\n            .name(\"example-dcnc\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .subnetId(exampleSubnet.id())\n            .domainJoinType(\"AzureADJoin\")\n            .build());\n\n        var exampleAttachedNetwork = new AttachedNetwork(\"exampleAttachedNetwork\", AttachedNetworkArgs.builder()\n            .name(\"example-dcet\")\n            .devCenterId(exampleDevCenter.id())\n            .networkConnectionId(exampleNetworkConnection.id())\n            .build());\n\n        var exampleProject = new Project(\"exampleProject\", ProjectArgs.builder()\n            .name(\"example-dcp\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .devCenterId(exampleDevCenter.id())\n            .build());\n\n        var exampleDevBoxDefinition = new DevBoxDefinition(\"exampleDevBoxDefinition\", DevBoxDefinitionArgs.builder()\n            .name(\"example-dcet\")\n            .location(example.location())\n            .devCenterId(exampleDevCenter.id())\n            .imageReferenceId(exampleDevCenter.id().applyValue(_id -\u003e String.format(\"%s/galleries/default/images/microsoftvisualstudio_visualstudioplustools_vs-2022-ent-general-win10-m365-gen2\", _id)))\n            .skuName(\"general_i_8c32gb256ssd_v2\")\n            .build());\n\n        var exampleProjectPool = new ProjectPool(\"exampleProjectPool\", ProjectPoolArgs.builder()\n            .name(\"example-dcpl\")\n            .location(example.location())\n            .devCenterProjectId(exampleProject.id())\n            .devBoxDefinitionName(exampleDevBoxDefinition.name())\n            .localAdministratorEnabled(true)\n            .devCenterAttachedNetworkName(exampleAttachedNetwork.name())\n            .stopOnDisconnectGracePeriodMinutes(60)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleDevCenter:\n    type: azure:devcenter:DevCenter\n    name: example\n    properties:\n      name: example-dc\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      identity:\n        type: SystemAssigned\n  exampleVirtualNetwork:\n    type: azure:network:VirtualNetwork\n    name: example\n    properties:\n      name: example-vnet\n      addressSpaces:\n        - 10.0.0.0/16\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n  exampleSubnet:\n    type: azure:network:Subnet\n    name: example\n    properties:\n      name: internal\n      resourceGroupName: ${example.name}\n      virtualNetworkName: ${exampleVirtualNetwork.name}\n      addressPrefixes:\n        - 10.0.2.0/24\n  exampleNetworkConnection:\n    type: azure:devcenter:NetworkConnection\n    name: example\n    properties:\n      name: example-dcnc\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      subnetId: ${exampleSubnet.id}\n      domainJoinType: AzureADJoin\n  exampleAttachedNetwork:\n    type: azure:devcenter:AttachedNetwork\n    name: example\n    properties:\n      name: example-dcet\n      devCenterId: ${exampleDevCenter.id}\n      networkConnectionId: ${exampleNetworkConnection.id}\n  exampleProject:\n    type: azure:devcenter:Project\n    name: example\n    properties:\n      name: example-dcp\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      devCenterId: ${exampleDevCenter.id}\n  exampleDevBoxDefinition:\n    type: azure:devcenter:DevBoxDefinition\n    name: example\n    properties:\n      name: example-dcet\n      location: ${example.location}\n      devCenterId: ${exampleDevCenter.id}\n      imageReferenceId: ${exampleDevCenter.id}/galleries/default/images/microsoftvisualstudio_visualstudioplustools_vs-2022-ent-general-win10-m365-gen2\n      skuName: general_i_8c32gb256ssd_v2\n  exampleProjectPool:\n    type: azure:devcenter:ProjectPool\n    name: example\n    properties:\n      name: example-dcpl\n      location: ${example.location}\n      devCenterProjectId: ${exampleProject.id}\n      devBoxDefinitionName: ${exampleDevBoxDefinition.name}\n      localAdministratorEnabled: true\n      devCenterAttachedNetworkName: ${exampleAttachedNetwork.name}\n      stopOnDisconnectGracePeriodMinutes: 60\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.DevCenter` - 2025-02-01\n\n## Import\n\nAn existing Dev Center Project Pool can be imported into Pulumi using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:devcenter/projectPool:ProjectPool example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.DevCenter/projects/project1/pools/pool1\n```\n\n","properties":{"devBoxDefinitionName":{"type":"string","description":"The name of the Dev Center Dev Box Definition.\n"},"devCenterAttachedNetworkName":{"type":"string","description":"The name of the Dev Center Attached Network in parent Project of the Dev Center Project Pool.\n"},"devCenterProjectId":{"type":"string","description":"The ID of the associated Dev Center Project. Changing this forces a new resource to be created.\n"},"localAdministratorEnabled":{"type":"boolean","description":"Specifies whether owners of Dev Boxes in the Dev Center Project Pool are added as local administrators on the Dev Box.\n"},"location":{"type":"string","description":"The Azure Region where the Dev Center Project Pool should exist. Changing this forces a new resource to be created.\n"},"managedVirtualNetworkRegions":{"type":"string","description":"A list of the regions of the managed Virtual Network. When specified, the Dev Center Project Pool will use a Microsoft managed network.\n\n\u003e **Note:** Currently only one region can be specified for \u003cspan pulumi-lang-nodejs=\"`managedVirtualNetworkRegions`\" pulumi-lang-dotnet=\"`ManagedVirtualNetworkRegions`\" pulumi-lang-go=\"`managedVirtualNetworkRegions`\" pulumi-lang-python=\"`managed_virtual_network_regions`\" pulumi-lang-yaml=\"`managedVirtualNetworkRegions`\" pulumi-lang-java=\"`managedVirtualNetworkRegions`\"\u003e`managed_virtual_network_regions`\u003c/span\u003e.\n"},"name":{"type":"string","description":"Specifies the name of this Dev Center Project Pool. Changing this forces a new resource to be created.\n"},"singleSignOnEnabled":{"type":"boolean","description":"Specifies whether Dev Boxes in the Pool will have SSO enabled or disabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"stopOnDisconnectGracePeriodMinutes":{"type":"integer","description":"The specified time in minutes to wait before stopping a Dev Center Dev Box once disconnect is detected. Possible values are between \u003cspan pulumi-lang-nodejs=\"`60`\" pulumi-lang-dotnet=\"`60`\" pulumi-lang-go=\"`60`\" pulumi-lang-python=\"`60`\" pulumi-lang-yaml=\"`60`\" pulumi-lang-java=\"`60`\"\u003e`60`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`480`\" pulumi-lang-dotnet=\"`480`\" pulumi-lang-go=\"`480`\" pulumi-lang-python=\"`480`\" pulumi-lang-yaml=\"`480`\" pulumi-lang-java=\"`480`\"\u003e`480`\u003c/span\u003e.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Dev Center Project Pool.\n"}},"required":["devBoxDefinitionName","devCenterAttachedNetworkName","devCenterProjectId","localAdministratorEnabled","location","name"],"inputProperties":{"devBoxDefinitionName":{"type":"string","description":"The name of the Dev Center Dev Box Definition.\n"},"devCenterAttachedNetworkName":{"type":"string","description":"The name of the Dev Center Attached Network in parent Project of the Dev Center Project Pool.\n"},"devCenterProjectId":{"type":"string","description":"The ID of the associated Dev Center Project. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"localAdministratorEnabled":{"type":"boolean","description":"Specifies whether owners of Dev Boxes in the Dev Center Project Pool are added as local administrators on the Dev Box.\n"},"location":{"type":"string","description":"The Azure Region where the Dev Center Project Pool should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"managedVirtualNetworkRegions":{"type":"string","description":"A list of the regions of the managed Virtual Network. When specified, the Dev Center Project Pool will use a Microsoft managed network.\n\n\u003e **Note:** Currently only one region can be specified for \u003cspan pulumi-lang-nodejs=\"`managedVirtualNetworkRegions`\" pulumi-lang-dotnet=\"`ManagedVirtualNetworkRegions`\" pulumi-lang-go=\"`managedVirtualNetworkRegions`\" pulumi-lang-python=\"`managed_virtual_network_regions`\" pulumi-lang-yaml=\"`managedVirtualNetworkRegions`\" pulumi-lang-java=\"`managedVirtualNetworkRegions`\"\u003e`managed_virtual_network_regions`\u003c/span\u003e.\n"},"name":{"type":"string","description":"Specifies the name of this Dev Center Project Pool. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"singleSignOnEnabled":{"type":"boolean","description":"Specifies whether Dev Boxes in the Pool will have SSO enabled or disabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"stopOnDisconnectGracePeriodMinutes":{"type":"integer","description":"The specified time in minutes to wait before stopping a Dev Center Dev Box once disconnect is detected. Possible values are between \u003cspan pulumi-lang-nodejs=\"`60`\" pulumi-lang-dotnet=\"`60`\" pulumi-lang-go=\"`60`\" pulumi-lang-python=\"`60`\" pulumi-lang-yaml=\"`60`\" pulumi-lang-java=\"`60`\"\u003e`60`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`480`\" pulumi-lang-dotnet=\"`480`\" pulumi-lang-go=\"`480`\" pulumi-lang-python=\"`480`\" pulumi-lang-yaml=\"`480`\" pulumi-lang-java=\"`480`\"\u003e`480`\u003c/span\u003e.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Dev Center Project Pool.\n"}},"requiredInputs":["devBoxDefinitionName","devCenterAttachedNetworkName","devCenterProjectId","localAdministratorEnabled"],"stateInputs":{"description":"Input properties used for looking up and filtering ProjectPool resources.\n","properties":{"devBoxDefinitionName":{"type":"string","description":"The name of the Dev Center Dev Box Definition.\n"},"devCenterAttachedNetworkName":{"type":"string","description":"The name of the Dev Center Attached Network in parent Project of the Dev Center Project Pool.\n"},"devCenterProjectId":{"type":"string","description":"The ID of the associated Dev Center Project. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"localAdministratorEnabled":{"type":"boolean","description":"Specifies whether owners of Dev Boxes in the Dev Center Project Pool are added as local administrators on the Dev Box.\n"},"location":{"type":"string","description":"The Azure Region where the Dev Center Project Pool should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"managedVirtualNetworkRegions":{"type":"string","description":"A list of the regions of the managed Virtual Network. When specified, the Dev Center Project Pool will use a Microsoft managed network.\n\n\u003e **Note:** Currently only one region can be specified for \u003cspan pulumi-lang-nodejs=\"`managedVirtualNetworkRegions`\" pulumi-lang-dotnet=\"`ManagedVirtualNetworkRegions`\" pulumi-lang-go=\"`managedVirtualNetworkRegions`\" pulumi-lang-python=\"`managed_virtual_network_regions`\" pulumi-lang-yaml=\"`managedVirtualNetworkRegions`\" pulumi-lang-java=\"`managedVirtualNetworkRegions`\"\u003e`managed_virtual_network_regions`\u003c/span\u003e.\n"},"name":{"type":"string","description":"Specifies the name of this Dev Center Project Pool. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"singleSignOnEnabled":{"type":"boolean","description":"Specifies whether Dev Boxes in the Pool will have SSO enabled or disabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"stopOnDisconnectGracePeriodMinutes":{"type":"integer","description":"The specified time in minutes to wait before stopping a Dev Center Dev Box once disconnect is detected. Possible values are between \u003cspan pulumi-lang-nodejs=\"`60`\" pulumi-lang-dotnet=\"`60`\" pulumi-lang-go=\"`60`\" pulumi-lang-python=\"`60`\" pulumi-lang-yaml=\"`60`\" pulumi-lang-java=\"`60`\"\u003e`60`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`480`\" pulumi-lang-dotnet=\"`480`\" pulumi-lang-go=\"`480`\" pulumi-lang-python=\"`480`\" pulumi-lang-yaml=\"`480`\" pulumi-lang-java=\"`480`\"\u003e`480`\u003c/span\u003e.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Dev Center Project Pool.\n"}},"type":"object"}},"azure:devtest/globalVMShutdownSchedule:GlobalVMShutdownSchedule":{"description":"Manages automated shutdown schedules for Azure VMs that are not within an Azure DevTest Lab. While this is part of the DevTest Labs service in Azure,\nthis resource applies only to standard VMs, not DevTest Lab VMs. To manage automated shutdown schedules for DevTest Lab VMs, reference the\n\u003cspan pulumi-lang-nodejs=\"`azure.devtest.Schedule`\" pulumi-lang-dotnet=\"`azure.devtest.Schedule`\" pulumi-lang-go=\"`devtest.Schedule`\" pulumi-lang-python=\"`devtest.Schedule`\" pulumi-lang-yaml=\"`azure.devtest.Schedule`\" pulumi-lang-java=\"`azure.devtest.Schedule`\"\u003e`azure.devtest.Schedule`\u003c/span\u003e resource\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"sample-rg\",\n    location: \"West Europe\",\n});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"example\", {\n    name: \"sample-vnet\",\n    addressSpaces: [\"10.0.0.0/16\"],\n    location: example.location,\n    resourceGroupName: example.name,\n});\nconst exampleSubnet = new azure.network.Subnet(\"example\", {\n    name: \"sample-subnet\",\n    resourceGroupName: example.name,\n    virtualNetworkName: exampleVirtualNetwork.name,\n    addressPrefixes: [\"10.0.2.0/24\"],\n});\nconst exampleNetworkInterface = new azure.network.NetworkInterface(\"example\", {\n    name: \"sample-nic\",\n    location: example.location,\n    resourceGroupName: example.name,\n    ipConfigurations: [{\n        name: \"testconfiguration1\",\n        subnetId: exampleSubnet.id,\n        privateIpAddressAllocation: \"Dynamic\",\n    }],\n});\nconst exampleLinuxVirtualMachine = new azure.compute.LinuxVirtualMachine(\"example\", {\n    name: \"SampleVM\",\n    location: example.location,\n    resourceGroupName: example.name,\n    networkInterfaceIds: [exampleNetworkInterface.id],\n    size: \"Standard_B2s\",\n    sourceImageReference: {\n        publisher: \"Canonical\",\n        offer: \"0001-com-ubuntu-server-jammy\",\n        sku: \"22_04-lts\",\n        version: \"latest\",\n    },\n    osDisk: {\n        name: \"myosdisk-example\",\n        caching: \"ReadWrite\",\n        storageAccountType: \"Standard_LRS\",\n    },\n    adminUsername: \"testadmin\",\n    adminPassword: \"Password1234!\",\n    disablePasswordAuthentication: false,\n});\nconst exampleGlobalVMShutdownSchedule = new azure.devtest.GlobalVMShutdownSchedule(\"example\", {\n    virtualMachineId: exampleLinuxVirtualMachine.id,\n    location: example.location,\n    enabled: true,\n    dailyRecurrenceTime: \"1100\",\n    timezone: \"Pacific Standard Time\",\n    notificationSettings: {\n        enabled: true,\n        timeInMinutes: 60,\n        webhookUrl: \"https://sample-webhook-url.example.com\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"sample-rg\",\n    location=\"West Europe\")\nexample_virtual_network = azure.network.VirtualNetwork(\"example\",\n    name=\"sample-vnet\",\n    address_spaces=[\"10.0.0.0/16\"],\n    location=example.location,\n    resource_group_name=example.name)\nexample_subnet = azure.network.Subnet(\"example\",\n    name=\"sample-subnet\",\n    resource_group_name=example.name,\n    virtual_network_name=example_virtual_network.name,\n    address_prefixes=[\"10.0.2.0/24\"])\nexample_network_interface = azure.network.NetworkInterface(\"example\",\n    name=\"sample-nic\",\n    location=example.location,\n    resource_group_name=example.name,\n    ip_configurations=[{\n        \"name\": \"testconfiguration1\",\n        \"subnet_id\": example_subnet.id,\n        \"private_ip_address_allocation\": \"Dynamic\",\n    }])\nexample_linux_virtual_machine = azure.compute.LinuxVirtualMachine(\"example\",\n    name=\"SampleVM\",\n    location=example.location,\n    resource_group_name=example.name,\n    network_interface_ids=[example_network_interface.id],\n    size=\"Standard_B2s\",\n    source_image_reference={\n        \"publisher\": \"Canonical\",\n        \"offer\": \"0001-com-ubuntu-server-jammy\",\n        \"sku\": \"22_04-lts\",\n        \"version\": \"latest\",\n    },\n    os_disk={\n        \"name\": \"myosdisk-example\",\n        \"caching\": \"ReadWrite\",\n        \"storage_account_type\": \"Standard_LRS\",\n    },\n    admin_username=\"testadmin\",\n    admin_password=\"Password1234!\",\n    disable_password_authentication=False)\nexample_global_vm_shutdown_schedule = azure.devtest.GlobalVMShutdownSchedule(\"example\",\n    virtual_machine_id=example_linux_virtual_machine.id,\n    location=example.location,\n    enabled=True,\n    daily_recurrence_time=\"1100\",\n    timezone=\"Pacific Standard Time\",\n    notification_settings={\n        \"enabled\": True,\n        \"time_in_minutes\": 60,\n        \"webhook_url\": \"https://sample-webhook-url.example.com\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"sample-rg\",\n        Location = \"West Europe\",\n    });\n\n    var exampleVirtualNetwork = new Azure.Network.VirtualNetwork(\"example\", new()\n    {\n        Name = \"sample-vnet\",\n        AddressSpaces = new[]\n        {\n            \"10.0.0.0/16\",\n        },\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n    });\n\n    var exampleSubnet = new Azure.Network.Subnet(\"example\", new()\n    {\n        Name = \"sample-subnet\",\n        ResourceGroupName = example.Name,\n        VirtualNetworkName = exampleVirtualNetwork.Name,\n        AddressPrefixes = new[]\n        {\n            \"10.0.2.0/24\",\n        },\n    });\n\n    var exampleNetworkInterface = new Azure.Network.NetworkInterface(\"example\", new()\n    {\n        Name = \"sample-nic\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        IpConfigurations = new[]\n        {\n            new Azure.Network.Inputs.NetworkInterfaceIpConfigurationArgs\n            {\n                Name = \"testconfiguration1\",\n                SubnetId = exampleSubnet.Id,\n                PrivateIpAddressAllocation = \"Dynamic\",\n            },\n        },\n    });\n\n    var exampleLinuxVirtualMachine = new Azure.Compute.LinuxVirtualMachine(\"example\", new()\n    {\n        Name = \"SampleVM\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        NetworkInterfaceIds = new[]\n        {\n            exampleNetworkInterface.Id,\n        },\n        Size = \"Standard_B2s\",\n        SourceImageReference = new Azure.Compute.Inputs.LinuxVirtualMachineSourceImageReferenceArgs\n        {\n            Publisher = \"Canonical\",\n            Offer = \"0001-com-ubuntu-server-jammy\",\n            Sku = \"22_04-lts\",\n            Version = \"latest\",\n        },\n        OsDisk = new Azure.Compute.Inputs.LinuxVirtualMachineOsDiskArgs\n        {\n            Name = \"myosdisk-example\",\n            Caching = \"ReadWrite\",\n            StorageAccountType = \"Standard_LRS\",\n        },\n        AdminUsername = \"testadmin\",\n        AdminPassword = \"Password1234!\",\n        DisablePasswordAuthentication = false,\n    });\n\n    var exampleGlobalVMShutdownSchedule = new Azure.DevTest.GlobalVMShutdownSchedule(\"example\", new()\n    {\n        VirtualMachineId = exampleLinuxVirtualMachine.Id,\n        Location = example.Location,\n        Enabled = true,\n        DailyRecurrenceTime = \"1100\",\n        Timezone = \"Pacific Standard Time\",\n        NotificationSettings = new Azure.DevTest.Inputs.GlobalVMShutdownScheduleNotificationSettingsArgs\n        {\n            Enabled = true,\n            TimeInMinutes = 60,\n            WebhookUrl = \"https://sample-webhook-url.example.com\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/compute\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/devtest\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"sample-rg\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, \"example\", \u0026network.VirtualNetworkArgs{\n\t\t\tName: pulumi.String(\"sample-vnet\"),\n\t\t\tAddressSpaces: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.0.0/16\"),\n\t\t\t},\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSubnet, err := network.NewSubnet(ctx, \"example\", \u0026network.SubnetArgs{\n\t\t\tName:               pulumi.String(\"sample-subnet\"),\n\t\t\tResourceGroupName:  example.Name,\n\t\t\tVirtualNetworkName: exampleVirtualNetwork.Name,\n\t\t\tAddressPrefixes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.2.0/24\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNetworkInterface, err := network.NewNetworkInterface(ctx, \"example\", \u0026network.NetworkInterfaceArgs{\n\t\t\tName:              pulumi.String(\"sample-nic\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tIpConfigurations: network.NetworkInterfaceIpConfigurationArray{\n\t\t\t\t\u0026network.NetworkInterfaceIpConfigurationArgs{\n\t\t\t\t\tName:                       pulumi.String(\"testconfiguration1\"),\n\t\t\t\t\tSubnetId:                   exampleSubnet.ID(),\n\t\t\t\t\tPrivateIpAddressAllocation: pulumi.String(\"Dynamic\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleLinuxVirtualMachine, err := compute.NewLinuxVirtualMachine(ctx, \"example\", \u0026compute.LinuxVirtualMachineArgs{\n\t\t\tName:              pulumi.String(\"SampleVM\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tNetworkInterfaceIds: pulumi.StringArray{\n\t\t\t\texampleNetworkInterface.ID(),\n\t\t\t},\n\t\t\tSize: pulumi.String(\"Standard_B2s\"),\n\t\t\tSourceImageReference: \u0026compute.LinuxVirtualMachineSourceImageReferenceArgs{\n\t\t\t\tPublisher: pulumi.String(\"Canonical\"),\n\t\t\t\tOffer:     pulumi.String(\"0001-com-ubuntu-server-jammy\"),\n\t\t\t\tSku:       pulumi.String(\"22_04-lts\"),\n\t\t\t\tVersion:   pulumi.String(\"latest\"),\n\t\t\t},\n\t\t\tOsDisk: \u0026compute.LinuxVirtualMachineOsDiskArgs{\n\t\t\t\tName:               pulumi.String(\"myosdisk-example\"),\n\t\t\t\tCaching:            pulumi.String(\"ReadWrite\"),\n\t\t\t\tStorageAccountType: pulumi.String(\"Standard_LRS\"),\n\t\t\t},\n\t\t\tAdminUsername:                 pulumi.String(\"testadmin\"),\n\t\t\tAdminPassword:                 pulumi.String(\"Password1234!\"),\n\t\t\tDisablePasswordAuthentication: pulumi.Bool(false),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = devtest.NewGlobalVMShutdownSchedule(ctx, \"example\", \u0026devtest.GlobalVMShutdownScheduleArgs{\n\t\t\tVirtualMachineId:    exampleLinuxVirtualMachine.ID(),\n\t\t\tLocation:            example.Location,\n\t\t\tEnabled:             pulumi.Bool(true),\n\t\t\tDailyRecurrenceTime: pulumi.String(\"1100\"),\n\t\t\tTimezone:            pulumi.String(\"Pacific Standard Time\"),\n\t\t\tNotificationSettings: \u0026devtest.GlobalVMShutdownScheduleNotificationSettingsArgs{\n\t\t\t\tEnabled:       pulumi.Bool(true),\n\t\t\t\tTimeInMinutes: pulumi.Int(60),\n\t\t\t\tWebhookUrl:    pulumi.String(\"https://sample-webhook-url.example.com\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.VirtualNetwork;\nimport com.pulumi.azure.network.VirtualNetworkArgs;\nimport com.pulumi.azure.network.Subnet;\nimport com.pulumi.azure.network.SubnetArgs;\nimport com.pulumi.azure.network.NetworkInterface;\nimport com.pulumi.azure.network.NetworkInterfaceArgs;\nimport com.pulumi.azure.network.inputs.NetworkInterfaceIpConfigurationArgs;\nimport com.pulumi.azure.compute.LinuxVirtualMachine;\nimport com.pulumi.azure.compute.LinuxVirtualMachineArgs;\nimport com.pulumi.azure.compute.inputs.LinuxVirtualMachineSourceImageReferenceArgs;\nimport com.pulumi.azure.compute.inputs.LinuxVirtualMachineOsDiskArgs;\nimport com.pulumi.azure.devtest.GlobalVMShutdownSchedule;\nimport com.pulumi.azure.devtest.GlobalVMShutdownScheduleArgs;\nimport com.pulumi.azure.devtest.inputs.GlobalVMShutdownScheduleNotificationSettingsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"sample-rg\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleVirtualNetwork = new VirtualNetwork(\"exampleVirtualNetwork\", VirtualNetworkArgs.builder()\n            .name(\"sample-vnet\")\n            .addressSpaces(\"10.0.0.0/16\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .build());\n\n        var exampleSubnet = new Subnet(\"exampleSubnet\", SubnetArgs.builder()\n            .name(\"sample-subnet\")\n            .resourceGroupName(example.name())\n            .virtualNetworkName(exampleVirtualNetwork.name())\n            .addressPrefixes(\"10.0.2.0/24\")\n            .build());\n\n        var exampleNetworkInterface = new NetworkInterface(\"exampleNetworkInterface\", NetworkInterfaceArgs.builder()\n            .name(\"sample-nic\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .ipConfigurations(NetworkInterfaceIpConfigurationArgs.builder()\n                .name(\"testconfiguration1\")\n                .subnetId(exampleSubnet.id())\n                .privateIpAddressAllocation(\"Dynamic\")\n                .build())\n            .build());\n\n        var exampleLinuxVirtualMachine = new LinuxVirtualMachine(\"exampleLinuxVirtualMachine\", LinuxVirtualMachineArgs.builder()\n            .name(\"SampleVM\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .networkInterfaceIds(exampleNetworkInterface.id())\n            .size(\"Standard_B2s\")\n            .sourceImageReference(LinuxVirtualMachineSourceImageReferenceArgs.builder()\n                .publisher(\"Canonical\")\n                .offer(\"0001-com-ubuntu-server-jammy\")\n                .sku(\"22_04-lts\")\n                .version(\"latest\")\n                .build())\n            .osDisk(LinuxVirtualMachineOsDiskArgs.builder()\n                .name(\"myosdisk-example\")\n                .caching(\"ReadWrite\")\n                .storageAccountType(\"Standard_LRS\")\n                .build())\n            .adminUsername(\"testadmin\")\n            .adminPassword(\"Password1234!\")\n            .disablePasswordAuthentication(false)\n            .build());\n\n        var exampleGlobalVMShutdownSchedule = new GlobalVMShutdownSchedule(\"exampleGlobalVMShutdownSchedule\", GlobalVMShutdownScheduleArgs.builder()\n            .virtualMachineId(exampleLinuxVirtualMachine.id())\n            .location(example.location())\n            .enabled(true)\n            .dailyRecurrenceTime(\"1100\")\n            .timezone(\"Pacific Standard Time\")\n            .notificationSettings(GlobalVMShutdownScheduleNotificationSettingsArgs.builder()\n                .enabled(true)\n                .timeInMinutes(60)\n                .webhookUrl(\"https://sample-webhook-url.example.com\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: sample-rg\n      location: West Europe\n  exampleVirtualNetwork:\n    type: azure:network:VirtualNetwork\n    name: example\n    properties:\n      name: sample-vnet\n      addressSpaces:\n        - 10.0.0.0/16\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n  exampleSubnet:\n    type: azure:network:Subnet\n    name: example\n    properties:\n      name: sample-subnet\n      resourceGroupName: ${example.name}\n      virtualNetworkName: ${exampleVirtualNetwork.name}\n      addressPrefixes:\n        - 10.0.2.0/24\n  exampleNetworkInterface:\n    type: azure:network:NetworkInterface\n    name: example\n    properties:\n      name: sample-nic\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      ipConfigurations:\n        - name: testconfiguration1\n          subnetId: ${exampleSubnet.id}\n          privateIpAddressAllocation: Dynamic\n  exampleLinuxVirtualMachine:\n    type: azure:compute:LinuxVirtualMachine\n    name: example\n    properties:\n      name: SampleVM\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      networkInterfaceIds:\n        - ${exampleNetworkInterface.id}\n      size: Standard_B2s\n      sourceImageReference:\n        publisher: Canonical\n        offer: 0001-com-ubuntu-server-jammy\n        sku: 22_04-lts\n        version: latest\n      osDisk:\n        name: myosdisk-example\n        caching: ReadWrite\n        storageAccountType: Standard_LRS\n      adminUsername: testadmin\n      adminPassword: Password1234!\n      disablePasswordAuthentication: false\n  exampleGlobalVMShutdownSchedule:\n    type: azure:devtest:GlobalVMShutdownSchedule\n    name: example\n    properties:\n      virtualMachineId: ${exampleLinuxVirtualMachine.id}\n      location: ${example.location}\n      enabled: true\n      dailyRecurrenceTime: '1100'\n      timezone: Pacific Standard Time\n      notificationSettings:\n        enabled: true\n        timeInMinutes: '60'\n        webhookUrl: https://sample-webhook-url.example.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.DevTestLab` - 2018-09-15\n\n## Import\n\nAn existing Dev Test Global Shutdown Schedule can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:devtest/globalVMShutdownSchedule:GlobalVMShutdownSchedule example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sample-rg/providers/Microsoft.DevTestLab/schedules/shutdown-computevm-SampleVM\n```\n\nThe name of the resource within the `resource id` will always follow the format `shutdown-computevm-\u003cVM Name\u003e` where `\u003cVM Name\u003e` is replaced by the name of the target Virtual Machine\n\n","properties":{"dailyRecurrenceTime":{"type":"string","description":"The time each day when the schedule takes effect. Must match the format HHmm where HH is 00-23 and mm is 00-59 (e.g. 0930, 2300, etc.)\n"},"enabled":{"type":"boolean","description":"Whether to enable the schedule. Possible values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"location":{"type":"string","description":"The location where the schedule is created. Changing this forces a new resource to be created.\n"},"notificationSettings":{"$ref":"#/types/azure:devtest/GlobalVMShutdownScheduleNotificationSettings:GlobalVMShutdownScheduleNotificationSettings","description":"The notification setting of a schedule. A \u003cspan pulumi-lang-nodejs=\"`notificationSettings`\" pulumi-lang-dotnet=\"`NotificationSettings`\" pulumi-lang-go=\"`notificationSettings`\" pulumi-lang-python=\"`notification_settings`\" pulumi-lang-yaml=\"`notificationSettings`\" pulumi-lang-java=\"`notificationSettings`\"\u003e`notification_settings`\u003c/span\u003e block as defined below.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"timezone":{"type":"string","description":"The time zone ID (e.g. Pacific Standard time). Refer to this guide for a [full list of accepted time zone names](https://jackstromberg.com/2017/01/list-of-time-zones-consumed-by-azure/).\n"},"virtualMachineId":{"type":"string","description":"The resource ID of the target ARM-based Virtual Machine. Changing this forces a new resource to be created.\n"}},"required":["dailyRecurrenceTime","location","notificationSettings","timezone","virtualMachineId"],"inputProperties":{"dailyRecurrenceTime":{"type":"string","description":"The time each day when the schedule takes effect. Must match the format HHmm where HH is 00-23 and mm is 00-59 (e.g. 0930, 2300, etc.)\n"},"enabled":{"type":"boolean","description":"Whether to enable the schedule. Possible values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"location":{"type":"string","description":"The location where the schedule is created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"notificationSettings":{"$ref":"#/types/azure:devtest/GlobalVMShutdownScheduleNotificationSettings:GlobalVMShutdownScheduleNotificationSettings","description":"The notification setting of a schedule. A \u003cspan pulumi-lang-nodejs=\"`notificationSettings`\" pulumi-lang-dotnet=\"`NotificationSettings`\" pulumi-lang-go=\"`notificationSettings`\" pulumi-lang-python=\"`notification_settings`\" pulumi-lang-yaml=\"`notificationSettings`\" pulumi-lang-java=\"`notificationSettings`\"\u003e`notification_settings`\u003c/span\u003e block as defined below.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"timezone":{"type":"string","description":"The time zone ID (e.g. Pacific Standard time). Refer to this guide for a [full list of accepted time zone names](https://jackstromberg.com/2017/01/list-of-time-zones-consumed-by-azure/).\n"},"virtualMachineId":{"type":"string","description":"The resource ID of the target ARM-based Virtual Machine. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["dailyRecurrenceTime","notificationSettings","timezone","virtualMachineId"],"stateInputs":{"description":"Input properties used for looking up and filtering GlobalVMShutdownSchedule resources.\n","properties":{"dailyRecurrenceTime":{"type":"string","description":"The time each day when the schedule takes effect. Must match the format HHmm where HH is 00-23 and mm is 00-59 (e.g. 0930, 2300, etc.)\n"},"enabled":{"type":"boolean","description":"Whether to enable the schedule. Possible values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"location":{"type":"string","description":"The location where the schedule is created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"notificationSettings":{"$ref":"#/types/azure:devtest/GlobalVMShutdownScheduleNotificationSettings:GlobalVMShutdownScheduleNotificationSettings","description":"The notification setting of a schedule. A \u003cspan pulumi-lang-nodejs=\"`notificationSettings`\" pulumi-lang-dotnet=\"`NotificationSettings`\" pulumi-lang-go=\"`notificationSettings`\" pulumi-lang-python=\"`notification_settings`\" pulumi-lang-yaml=\"`notificationSettings`\" pulumi-lang-java=\"`notificationSettings`\"\u003e`notification_settings`\u003c/span\u003e block as defined below.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"timezone":{"type":"string","description":"The time zone ID (e.g. Pacific Standard time). Refer to this guide for a [full list of accepted time zone names](https://jackstromberg.com/2017/01/list-of-time-zones-consumed-by-azure/).\n"},"virtualMachineId":{"type":"string","description":"The resource ID of the target ARM-based Virtual Machine. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:devtest/lab:Lab":{"description":"Manages a Dev Test Lab.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleLab = new azure.devtest.Lab(\"example\", {\n    name: \"example-devtestlab\",\n    location: example.location,\n    resourceGroupName: example.name,\n    tags: {\n        Sydney: \"Australia\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_lab = azure.devtest.Lab(\"example\",\n    name=\"example-devtestlab\",\n    location=example.location,\n    resource_group_name=example.name,\n    tags={\n        \"Sydney\": \"Australia\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleLab = new Azure.DevTest.Lab(\"example\", new()\n    {\n        Name = \"example-devtestlab\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Tags = \n        {\n            { \"Sydney\", \"Australia\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/devtest\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = devtest.NewLab(ctx, \"example\", \u0026devtest.LabArgs{\n\t\t\tName:              pulumi.String(\"example-devtestlab\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Sydney\": pulumi.String(\"Australia\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.devtest.Lab;\nimport com.pulumi.azure.devtest.LabArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleLab = new Lab(\"exampleLab\", LabArgs.builder()\n            .name(\"example-devtestlab\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .tags(Map.of(\"Sydney\", \"Australia\"))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleLab:\n    type: azure:devtest:Lab\n    name: example\n    properties:\n      name: example-devtestlab\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      tags:\n        Sydney: Australia\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.DevTestLab` - 2018-09-15\n\n## Import\n\nDev Test Labs can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:devtest/lab:Lab lab1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.DevTestLab/labs/lab1\n```\n\n","properties":{"artifactsStorageAccountId":{"type":"string","description":"The ID of the Storage Account used for Artifact Storage.\n"},"defaultPremiumStorageAccountId":{"type":"string","description":"The ID of the Default Premium Storage Account for this Dev Test Lab.\n"},"defaultStorageAccountId":{"type":"string","description":"The ID of the Default Storage Account for this Dev Test Lab.\n"},"keyVaultId":{"type":"string","description":"The ID of the Key used for this Dev Test Lab.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the Dev Test Lab should exist. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"Specifies the name of the Dev Test Lab. Changing this forces a new resource to be created.\n"},"premiumDataDiskStorageAccountId":{"type":"string","description":"The ID of the Storage Account used for Storage of Premium Data Disk.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group under which the Dev Test Lab resource has to be created. Changing this forces a new resource to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"uniqueIdentifier":{"type":"string","description":"The unique immutable identifier of the Dev Test Lab.\n"}},"required":["artifactsStorageAccountId","defaultPremiumStorageAccountId","defaultStorageAccountId","keyVaultId","location","name","premiumDataDiskStorageAccountId","resourceGroupName","uniqueIdentifier"],"inputProperties":{"location":{"type":"string","description":"Specifies the supported Azure location where the Dev Test Lab should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the Dev Test Lab. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group under which the Dev Test Lab resource has to be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"requiredInputs":["resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering Lab resources.\n","properties":{"artifactsStorageAccountId":{"type":"string","description":"The ID of the Storage Account used for Artifact Storage.\n"},"defaultPremiumStorageAccountId":{"type":"string","description":"The ID of the Default Premium Storage Account for this Dev Test Lab.\n"},"defaultStorageAccountId":{"type":"string","description":"The ID of the Default Storage Account for this Dev Test Lab.\n"},"keyVaultId":{"type":"string","description":"The ID of the Key used for this Dev Test Lab.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the Dev Test Lab should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the Dev Test Lab. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"premiumDataDiskStorageAccountId":{"type":"string","description":"The ID of the Storage Account used for Storage of Premium Data Disk.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group under which the Dev Test Lab resource has to be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"uniqueIdentifier":{"type":"string","description":"The unique immutable identifier of the Dev Test Lab.\n"}},"type":"object"}},"azure:devtest/linuxVirtualMachine:LinuxVirtualMachine":{"description":"Manages a Linux Virtual Machine within a Dev Test Lab.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\nimport * as std from \"@pulumi/std\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleLab = new azure.devtest.Lab(\"example\", {\n    name: \"example-devtestlab\",\n    location: example.location,\n    resourceGroupName: example.name,\n    tags: {\n        Sydney: \"Australia\",\n    },\n});\nconst exampleVirtualNetwork = new azure.devtest.VirtualNetwork(\"example\", {\n    name: \"example-network\",\n    labName: exampleLab.name,\n    resourceGroupName: example.name,\n    subnet: {\n        usePublicIpAddress: \"Allow\",\n        useInVirtualMachineCreation: \"Allow\",\n    },\n});\nconst exampleLinuxVirtualMachine = new azure.devtest.LinuxVirtualMachine(\"example\", {\n    name: \"example-vm03\",\n    labName: exampleLab.name,\n    resourceGroupName: example.name,\n    location: example.location,\n    size: \"Standard_DS2\",\n    username: \"exampleuser99\",\n    sshKey: std.file({\n        input: \"~/.ssh/id_rsa.pub\",\n    }).then(invoke =\u003e invoke.result),\n    labVirtualNetworkId: exampleVirtualNetwork.id,\n    labSubnetName: exampleVirtualNetwork.subnet.apply(subnet =\u003e subnet.name),\n    storageType: \"Premium\",\n    notes: \"Some notes about this Virtual Machine.\",\n    galleryImageReference: {\n        publisher: \"Canonical\",\n        offer: \"0001-com-ubuntu-server-jammy\",\n        sku: \"22_04-lts\",\n        version: \"latest\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\nimport pulumi_std as std\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_lab = azure.devtest.Lab(\"example\",\n    name=\"example-devtestlab\",\n    location=example.location,\n    resource_group_name=example.name,\n    tags={\n        \"Sydney\": \"Australia\",\n    })\nexample_virtual_network = azure.devtest.VirtualNetwork(\"example\",\n    name=\"example-network\",\n    lab_name=example_lab.name,\n    resource_group_name=example.name,\n    subnet={\n        \"use_public_ip_address\": \"Allow\",\n        \"use_in_virtual_machine_creation\": \"Allow\",\n    })\nexample_linux_virtual_machine = azure.devtest.LinuxVirtualMachine(\"example\",\n    name=\"example-vm03\",\n    lab_name=example_lab.name,\n    resource_group_name=example.name,\n    location=example.location,\n    size=\"Standard_DS2\",\n    username=\"exampleuser99\",\n    ssh_key=std.file(input=\"~/.ssh/id_rsa.pub\").result,\n    lab_virtual_network_id=example_virtual_network.id,\n    lab_subnet_name=example_virtual_network.subnet.name,\n    storage_type=\"Premium\",\n    notes=\"Some notes about this Virtual Machine.\",\n    gallery_image_reference={\n        \"publisher\": \"Canonical\",\n        \"offer\": \"0001-com-ubuntu-server-jammy\",\n        \"sku\": \"22_04-lts\",\n        \"version\": \"latest\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleLab = new Azure.DevTest.Lab(\"example\", new()\n    {\n        Name = \"example-devtestlab\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Tags = \n        {\n            { \"Sydney\", \"Australia\" },\n        },\n    });\n\n    var exampleVirtualNetwork = new Azure.DevTest.VirtualNetwork(\"example\", new()\n    {\n        Name = \"example-network\",\n        LabName = exampleLab.Name,\n        ResourceGroupName = example.Name,\n        Subnet = new Azure.DevTest.Inputs.VirtualNetworkSubnetArgs\n        {\n            UsePublicIpAddress = \"Allow\",\n            UseInVirtualMachineCreation = \"Allow\",\n        },\n    });\n\n    var exampleLinuxVirtualMachine = new Azure.DevTest.LinuxVirtualMachine(\"example\", new()\n    {\n        Name = \"example-vm03\",\n        LabName = exampleLab.Name,\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        Size = \"Standard_DS2\",\n        Username = \"exampleuser99\",\n        SshKey = Std.File.Invoke(new()\n        {\n            Input = \"~/.ssh/id_rsa.pub\",\n        }).Apply(invoke =\u003e invoke.Result),\n        LabVirtualNetworkId = exampleVirtualNetwork.Id,\n        LabSubnetName = exampleVirtualNetwork.Subnet.Apply(subnet =\u003e subnet.Name),\n        StorageType = \"Premium\",\n        Notes = \"Some notes about this Virtual Machine.\",\n        GalleryImageReference = new Azure.DevTest.Inputs.LinuxVirtualMachineGalleryImageReferenceArgs\n        {\n            Publisher = \"Canonical\",\n            Offer = \"0001-com-ubuntu-server-jammy\",\n            Sku = \"22_04-lts\",\n            Version = \"latest\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/devtest\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleLab, err := devtest.NewLab(ctx, \"example\", \u0026devtest.LabArgs{\n\t\t\tName:              pulumi.String(\"example-devtestlab\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Sydney\": pulumi.String(\"Australia\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualNetwork, err := devtest.NewVirtualNetwork(ctx, \"example\", \u0026devtest.VirtualNetworkArgs{\n\t\t\tName:              pulumi.String(\"example-network\"),\n\t\t\tLabName:           exampleLab.Name,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSubnet: \u0026devtest.VirtualNetworkSubnetArgs{\n\t\t\t\tUsePublicIpAddress:          pulumi.String(\"Allow\"),\n\t\t\t\tUseInVirtualMachineCreation: pulumi.String(\"Allow\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"~/.ssh/id_rsa.pub\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = devtest.NewLinuxVirtualMachine(ctx, \"example\", \u0026devtest.LinuxVirtualMachineArgs{\n\t\t\tName:                pulumi.String(\"example-vm03\"),\n\t\t\tLabName:             exampleLab.Name,\n\t\t\tResourceGroupName:   example.Name,\n\t\t\tLocation:            example.Location,\n\t\t\tSize:                pulumi.String(\"Standard_DS2\"),\n\t\t\tUsername:            pulumi.String(\"exampleuser99\"),\n\t\t\tSshKey:              pulumi.String(invokeFile.Result),\n\t\t\tLabVirtualNetworkId: exampleVirtualNetwork.ID(),\n\t\t\tLabSubnetName: pulumi.String(exampleVirtualNetwork.Subnet.ApplyT(func(subnet devtest.VirtualNetworkSubnet) (*string, error) {\n\t\t\t\treturn \u0026subnet.Name, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tStorageType: pulumi.String(\"Premium\"),\n\t\t\tNotes:       pulumi.String(\"Some notes about this Virtual Machine.\"),\n\t\t\tGalleryImageReference: \u0026devtest.LinuxVirtualMachineGalleryImageReferenceArgs{\n\t\t\t\tPublisher: pulumi.String(\"Canonical\"),\n\t\t\t\tOffer:     pulumi.String(\"0001-com-ubuntu-server-jammy\"),\n\t\t\t\tSku:       pulumi.String(\"22_04-lts\"),\n\t\t\t\tVersion:   pulumi.String(\"latest\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.devtest.Lab;\nimport com.pulumi.azure.devtest.LabArgs;\nimport com.pulumi.azure.devtest.VirtualNetwork;\nimport com.pulumi.azure.devtest.VirtualNetworkArgs;\nimport com.pulumi.azure.devtest.inputs.VirtualNetworkSubnetArgs;\nimport com.pulumi.azure.devtest.LinuxVirtualMachine;\nimport com.pulumi.azure.devtest.LinuxVirtualMachineArgs;\nimport com.pulumi.azure.devtest.inputs.LinuxVirtualMachineGalleryImageReferenceArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.FileArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleLab = new Lab(\"exampleLab\", LabArgs.builder()\n            .name(\"example-devtestlab\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .tags(Map.of(\"Sydney\", \"Australia\"))\n            .build());\n\n        var exampleVirtualNetwork = new VirtualNetwork(\"exampleVirtualNetwork\", VirtualNetworkArgs.builder()\n            .name(\"example-network\")\n            .labName(exampleLab.name())\n            .resourceGroupName(example.name())\n            .subnet(VirtualNetworkSubnetArgs.builder()\n                .usePublicIpAddress(\"Allow\")\n                .useInVirtualMachineCreation(\"Allow\")\n                .build())\n            .build());\n\n        var exampleLinuxVirtualMachine = new LinuxVirtualMachine(\"exampleLinuxVirtualMachine\", LinuxVirtualMachineArgs.builder()\n            .name(\"example-vm03\")\n            .labName(exampleLab.name())\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .size(\"Standard_DS2\")\n            .username(\"exampleuser99\")\n            .sshKey(StdFunctions.file(FileArgs.builder()\n                .input(\"~/.ssh/id_rsa.pub\")\n                .build()).result())\n            .labVirtualNetworkId(exampleVirtualNetwork.id())\n            .labSubnetName(exampleVirtualNetwork.subnet().applyValue(_subnet -\u003e _subnet.name()))\n            .storageType(\"Premium\")\n            .notes(\"Some notes about this Virtual Machine.\")\n            .galleryImageReference(LinuxVirtualMachineGalleryImageReferenceArgs.builder()\n                .publisher(\"Canonical\")\n                .offer(\"0001-com-ubuntu-server-jammy\")\n                .sku(\"22_04-lts\")\n                .version(\"latest\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleLab:\n    type: azure:devtest:Lab\n    name: example\n    properties:\n      name: example-devtestlab\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      tags:\n        Sydney: Australia\n  exampleVirtualNetwork:\n    type: azure:devtest:VirtualNetwork\n    name: example\n    properties:\n      name: example-network\n      labName: ${exampleLab.name}\n      resourceGroupName: ${example.name}\n      subnet:\n        usePublicIpAddress: Allow\n        useInVirtualMachineCreation: Allow\n  exampleLinuxVirtualMachine:\n    type: azure:devtest:LinuxVirtualMachine\n    name: example\n    properties:\n      name: example-vm03\n      labName: ${exampleLab.name}\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      size: Standard_DS2\n      username: exampleuser99\n      sshKey:\n        fn::invoke:\n          function: std:file\n          arguments:\n            input: ~/.ssh/id_rsa.pub\n          return: result\n      labVirtualNetworkId: ${exampleVirtualNetwork.id}\n      labSubnetName: ${exampleVirtualNetwork.subnet.name}\n      storageType: Premium\n      notes: Some notes about this Virtual Machine.\n      galleryImageReference:\n        publisher: Canonical\n        offer: 0001-com-ubuntu-server-jammy\n        sku: 22_04-lts\n        version: latest\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.DevTestLab` - 2018-09-15\n\n## Import\n\nDev Test Linux Virtual Machines can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:devtest/linuxVirtualMachine:LinuxVirtualMachine machine1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.DevTestLab/labs/lab1/virtualMachines/machine1\n```\n\n","properties":{"allowClaim":{"type":"boolean","description":"Can this Virtual Machine be claimed by users? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"disallowPublicIpAddress":{"type":"boolean","description":"Should the Virtual Machine be created without a Public IP Address? Changing this forces a new resource to be created.\n"},"fqdn":{"type":"string","description":"The FQDN of the Virtual Machine.\n"},"galleryImageReference":{"$ref":"#/types/azure:devtest/LinuxVirtualMachineGalleryImageReference:LinuxVirtualMachineGalleryImageReference","description":"A \u003cspan pulumi-lang-nodejs=\"`galleryImageReference`\" pulumi-lang-dotnet=\"`GalleryImageReference`\" pulumi-lang-go=\"`galleryImageReference`\" pulumi-lang-python=\"`gallery_image_reference`\" pulumi-lang-yaml=\"`galleryImageReference`\" pulumi-lang-java=\"`galleryImageReference`\"\u003e`gallery_image_reference`\u003c/span\u003e block as defined below.\n"},"inboundNatRules":{"type":"array","items":{"$ref":"#/types/azure:devtest/LinuxVirtualMachineInboundNatRule:LinuxVirtualMachineInboundNatRule"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`inboundNatRule`\" pulumi-lang-dotnet=\"`InboundNatRule`\" pulumi-lang-go=\"`inboundNatRule`\" pulumi-lang-python=\"`inbound_nat_rule`\" pulumi-lang-yaml=\"`inboundNatRule`\" pulumi-lang-java=\"`inboundNatRule`\"\u003e`inbound_nat_rule`\u003c/span\u003e blocks as defined below. Changing this forces a new resource to be created.\n\n\u003e **Note:** If any \u003cspan pulumi-lang-nodejs=\"`inboundNatRule`\" pulumi-lang-dotnet=\"`InboundNatRule`\" pulumi-lang-go=\"`inboundNatRule`\" pulumi-lang-python=\"`inbound_nat_rule`\" pulumi-lang-yaml=\"`inboundNatRule`\" pulumi-lang-java=\"`inboundNatRule`\"\u003e`inbound_nat_rule`\u003c/span\u003e blocks are specified then \u003cspan pulumi-lang-nodejs=\"`disallowPublicIpAddress`\" pulumi-lang-dotnet=\"`DisallowPublicIpAddress`\" pulumi-lang-go=\"`disallowPublicIpAddress`\" pulumi-lang-python=\"`disallow_public_ip_address`\" pulumi-lang-yaml=\"`disallowPublicIpAddress`\" pulumi-lang-java=\"`disallowPublicIpAddress`\"\u003e`disallow_public_ip_address`\u003c/span\u003e must be set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"labName":{"type":"string","description":"Specifies the name of the Dev Test Lab in which the Virtual Machine should be created. Changing this forces a new resource to be created.\n"},"labSubnetName":{"type":"string","description":"The name of a Subnet within the Dev Test Virtual Network where this machine should exist. Changing this forces a new resource to be created.\n"},"labVirtualNetworkId":{"type":"string","description":"The ID of the Dev Test Virtual Network where this Virtual Machine should be created. Changing this forces a new resource to be created.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the Dev Test Lab exists. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"Specifies the name of the Dev Test Machine. Changing this forces a new resource to be created.\n\n\u003e **Note:** The validation requirements for the Name change based on the \u003cspan pulumi-lang-nodejs=\"`osType`\" pulumi-lang-dotnet=\"`OsType`\" pulumi-lang-go=\"`osType`\" pulumi-lang-python=\"`os_type`\" pulumi-lang-yaml=\"`osType`\" pulumi-lang-java=\"`osType`\"\u003e`os_type`\u003c/span\u003e used in this Virtual Machine. For a Linux VM the name must be between 1-62 characters, and for a Windows VM the name must be between 1-15 characters. It must begin and end with a letter or number, and cannot be all numbers.\n"},"notes":{"type":"string","description":"Any notes about the Virtual Machine.\n"},"password":{"type":"string","description":"The Password associated with the \u003cspan pulumi-lang-nodejs=\"`username`\" pulumi-lang-dotnet=\"`Username`\" pulumi-lang-go=\"`username`\" pulumi-lang-python=\"`username`\" pulumi-lang-yaml=\"`username`\" pulumi-lang-java=\"`username`\"\u003e`username`\u003c/span\u003e used to login to this Virtual Machine. Changing this forces a new resource to be created.\n","secret":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the Dev Test Lab resource exists. Changing this forces a new resource to be created.\n"},"size":{"type":"string","description":"The Machine Size to use for this Virtual Machine, such as `Standard_F2`. Changing this forces a new resource to be created.\n"},"sshKey":{"type":"string","description":"The SSH Key associated with the \u003cspan pulumi-lang-nodejs=\"`username`\" pulumi-lang-dotnet=\"`Username`\" pulumi-lang-go=\"`username`\" pulumi-lang-python=\"`username`\" pulumi-lang-yaml=\"`username`\" pulumi-lang-java=\"`username`\"\u003e`username`\u003c/span\u003e used to login to this Virtual Machine. Changing this forces a new resource to be created.\n\n\u003e **Note:** One or either \u003cspan pulumi-lang-nodejs=\"`password`\" pulumi-lang-dotnet=\"`Password`\" pulumi-lang-go=\"`password`\" pulumi-lang-python=\"`password`\" pulumi-lang-yaml=\"`password`\" pulumi-lang-java=\"`password`\"\u003e`password`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`sshKey`\" pulumi-lang-dotnet=\"`SshKey`\" pulumi-lang-go=\"`sshKey`\" pulumi-lang-python=\"`ssh_key`\" pulumi-lang-yaml=\"`sshKey`\" pulumi-lang-java=\"`sshKey`\"\u003e`ssh_key`\u003c/span\u003e must be specified.\n"},"storageType":{"type":"string","description":"The type of Storage to use on this Virtual Machine. Possible values are `Standard` and `Premium`. Changing this forces a new resource to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"uniqueIdentifier":{"type":"string","description":"The unique immutable identifier of the Virtual Machine.\n"},"username":{"type":"string","description":"The Username associated with the local administrator on this Virtual Machine. Changing this forces a new resource to be created.\n"}},"required":["fqdn","galleryImageReference","labName","labSubnetName","labVirtualNetworkId","location","name","resourceGroupName","size","storageType","uniqueIdentifier","username"],"inputProperties":{"allowClaim":{"type":"boolean","description":"Can this Virtual Machine be claimed by users? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"disallowPublicIpAddress":{"type":"boolean","description":"Should the Virtual Machine be created without a Public IP Address? Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"galleryImageReference":{"$ref":"#/types/azure:devtest/LinuxVirtualMachineGalleryImageReference:LinuxVirtualMachineGalleryImageReference","description":"A \u003cspan pulumi-lang-nodejs=\"`galleryImageReference`\" pulumi-lang-dotnet=\"`GalleryImageReference`\" pulumi-lang-go=\"`galleryImageReference`\" pulumi-lang-python=\"`gallery_image_reference`\" pulumi-lang-yaml=\"`galleryImageReference`\" pulumi-lang-java=\"`galleryImageReference`\"\u003e`gallery_image_reference`\u003c/span\u003e block as defined below.\n"},"inboundNatRules":{"type":"array","items":{"$ref":"#/types/azure:devtest/LinuxVirtualMachineInboundNatRule:LinuxVirtualMachineInboundNatRule"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`inboundNatRule`\" pulumi-lang-dotnet=\"`InboundNatRule`\" pulumi-lang-go=\"`inboundNatRule`\" pulumi-lang-python=\"`inbound_nat_rule`\" pulumi-lang-yaml=\"`inboundNatRule`\" pulumi-lang-java=\"`inboundNatRule`\"\u003e`inbound_nat_rule`\u003c/span\u003e blocks as defined below. Changing this forces a new resource to be created.\n\n\u003e **Note:** If any \u003cspan pulumi-lang-nodejs=\"`inboundNatRule`\" pulumi-lang-dotnet=\"`InboundNatRule`\" pulumi-lang-go=\"`inboundNatRule`\" pulumi-lang-python=\"`inbound_nat_rule`\" pulumi-lang-yaml=\"`inboundNatRule`\" pulumi-lang-java=\"`inboundNatRule`\"\u003e`inbound_nat_rule`\u003c/span\u003e blocks are specified then \u003cspan pulumi-lang-nodejs=\"`disallowPublicIpAddress`\" pulumi-lang-dotnet=\"`DisallowPublicIpAddress`\" pulumi-lang-go=\"`disallowPublicIpAddress`\" pulumi-lang-python=\"`disallow_public_ip_address`\" pulumi-lang-yaml=\"`disallowPublicIpAddress`\" pulumi-lang-java=\"`disallowPublicIpAddress`\"\u003e`disallow_public_ip_address`\u003c/span\u003e must be set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n","willReplaceOnChanges":true},"labName":{"type":"string","description":"Specifies the name of the Dev Test Lab in which the Virtual Machine should be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"labSubnetName":{"type":"string","description":"The name of a Subnet within the Dev Test Virtual Network where this machine should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"labVirtualNetworkId":{"type":"string","description":"The ID of the Dev Test Virtual Network where this Virtual Machine should be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"location":{"type":"string","description":"Specifies the supported Azure location where the Dev Test Lab exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the Dev Test Machine. Changing this forces a new resource to be created.\n\n\u003e **Note:** The validation requirements for the Name change based on the \u003cspan pulumi-lang-nodejs=\"`osType`\" pulumi-lang-dotnet=\"`OsType`\" pulumi-lang-go=\"`osType`\" pulumi-lang-python=\"`os_type`\" pulumi-lang-yaml=\"`osType`\" pulumi-lang-java=\"`osType`\"\u003e`os_type`\u003c/span\u003e used in this Virtual Machine. For a Linux VM the name must be between 1-62 characters, and for a Windows VM the name must be between 1-15 characters. It must begin and end with a letter or number, and cannot be all numbers.\n","willReplaceOnChanges":true},"notes":{"type":"string","description":"Any notes about the Virtual Machine.\n"},"password":{"type":"string","description":"The Password associated with the \u003cspan pulumi-lang-nodejs=\"`username`\" pulumi-lang-dotnet=\"`Username`\" pulumi-lang-go=\"`username`\" pulumi-lang-python=\"`username`\" pulumi-lang-yaml=\"`username`\" pulumi-lang-java=\"`username`\"\u003e`username`\u003c/span\u003e used to login to this Virtual Machine. Changing this forces a new resource to be created.\n","secret":true,"willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the Dev Test Lab resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"size":{"type":"string","description":"The Machine Size to use for this Virtual Machine, such as `Standard_F2`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sshKey":{"type":"string","description":"The SSH Key associated with the \u003cspan pulumi-lang-nodejs=\"`username`\" pulumi-lang-dotnet=\"`Username`\" pulumi-lang-go=\"`username`\" pulumi-lang-python=\"`username`\" pulumi-lang-yaml=\"`username`\" pulumi-lang-java=\"`username`\"\u003e`username`\u003c/span\u003e used to login to this Virtual Machine. Changing this forces a new resource to be created.\n\n\u003e **Note:** One or either \u003cspan pulumi-lang-nodejs=\"`password`\" pulumi-lang-dotnet=\"`Password`\" pulumi-lang-go=\"`password`\" pulumi-lang-python=\"`password`\" pulumi-lang-yaml=\"`password`\" pulumi-lang-java=\"`password`\"\u003e`password`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`sshKey`\" pulumi-lang-dotnet=\"`SshKey`\" pulumi-lang-go=\"`sshKey`\" pulumi-lang-python=\"`ssh_key`\" pulumi-lang-yaml=\"`sshKey`\" pulumi-lang-java=\"`sshKey`\"\u003e`ssh_key`\u003c/span\u003e must be specified.\n","willReplaceOnChanges":true},"storageType":{"type":"string","description":"The type of Storage to use on this Virtual Machine. Possible values are `Standard` and `Premium`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"username":{"type":"string","description":"The Username associated with the local administrator on this Virtual Machine. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["galleryImageReference","labName","labSubnetName","labVirtualNetworkId","resourceGroupName","size","storageType","username"],"stateInputs":{"description":"Input properties used for looking up and filtering LinuxVirtualMachine resources.\n","properties":{"allowClaim":{"type":"boolean","description":"Can this Virtual Machine be claimed by users? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"disallowPublicIpAddress":{"type":"boolean","description":"Should the Virtual Machine be created without a Public IP Address? Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"fqdn":{"type":"string","description":"The FQDN of the Virtual Machine.\n"},"galleryImageReference":{"$ref":"#/types/azure:devtest/LinuxVirtualMachineGalleryImageReference:LinuxVirtualMachineGalleryImageReference","description":"A \u003cspan pulumi-lang-nodejs=\"`galleryImageReference`\" pulumi-lang-dotnet=\"`GalleryImageReference`\" pulumi-lang-go=\"`galleryImageReference`\" pulumi-lang-python=\"`gallery_image_reference`\" pulumi-lang-yaml=\"`galleryImageReference`\" pulumi-lang-java=\"`galleryImageReference`\"\u003e`gallery_image_reference`\u003c/span\u003e block as defined below.\n"},"inboundNatRules":{"type":"array","items":{"$ref":"#/types/azure:devtest/LinuxVirtualMachineInboundNatRule:LinuxVirtualMachineInboundNatRule"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`inboundNatRule`\" pulumi-lang-dotnet=\"`InboundNatRule`\" pulumi-lang-go=\"`inboundNatRule`\" pulumi-lang-python=\"`inbound_nat_rule`\" pulumi-lang-yaml=\"`inboundNatRule`\" pulumi-lang-java=\"`inboundNatRule`\"\u003e`inbound_nat_rule`\u003c/span\u003e blocks as defined below. Changing this forces a new resource to be created.\n\n\u003e **Note:** If any \u003cspan pulumi-lang-nodejs=\"`inboundNatRule`\" pulumi-lang-dotnet=\"`InboundNatRule`\" pulumi-lang-go=\"`inboundNatRule`\" pulumi-lang-python=\"`inbound_nat_rule`\" pulumi-lang-yaml=\"`inboundNatRule`\" pulumi-lang-java=\"`inboundNatRule`\"\u003e`inbound_nat_rule`\u003c/span\u003e blocks are specified then \u003cspan pulumi-lang-nodejs=\"`disallowPublicIpAddress`\" pulumi-lang-dotnet=\"`DisallowPublicIpAddress`\" pulumi-lang-go=\"`disallowPublicIpAddress`\" pulumi-lang-python=\"`disallow_public_ip_address`\" pulumi-lang-yaml=\"`disallowPublicIpAddress`\" pulumi-lang-java=\"`disallowPublicIpAddress`\"\u003e`disallow_public_ip_address`\u003c/span\u003e must be set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n","willReplaceOnChanges":true},"labName":{"type":"string","description":"Specifies the name of the Dev Test Lab in which the Virtual Machine should be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"labSubnetName":{"type":"string","description":"The name of a Subnet within the Dev Test Virtual Network where this machine should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"labVirtualNetworkId":{"type":"string","description":"The ID of the Dev Test Virtual Network where this Virtual Machine should be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"location":{"type":"string","description":"Specifies the supported Azure location where the Dev Test Lab exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the Dev Test Machine. Changing this forces a new resource to be created.\n\n\u003e **Note:** The validation requirements for the Name change based on the \u003cspan pulumi-lang-nodejs=\"`osType`\" pulumi-lang-dotnet=\"`OsType`\" pulumi-lang-go=\"`osType`\" pulumi-lang-python=\"`os_type`\" pulumi-lang-yaml=\"`osType`\" pulumi-lang-java=\"`osType`\"\u003e`os_type`\u003c/span\u003e used in this Virtual Machine. For a Linux VM the name must be between 1-62 characters, and for a Windows VM the name must be between 1-15 characters. It must begin and end with a letter or number, and cannot be all numbers.\n","willReplaceOnChanges":true},"notes":{"type":"string","description":"Any notes about the Virtual Machine.\n"},"password":{"type":"string","description":"The Password associated with the \u003cspan pulumi-lang-nodejs=\"`username`\" pulumi-lang-dotnet=\"`Username`\" pulumi-lang-go=\"`username`\" pulumi-lang-python=\"`username`\" pulumi-lang-yaml=\"`username`\" pulumi-lang-java=\"`username`\"\u003e`username`\u003c/span\u003e used to login to this Virtual Machine. Changing this forces a new resource to be created.\n","secret":true,"willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the Dev Test Lab resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"size":{"type":"string","description":"The Machine Size to use for this Virtual Machine, such as `Standard_F2`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sshKey":{"type":"string","description":"The SSH Key associated with the \u003cspan pulumi-lang-nodejs=\"`username`\" pulumi-lang-dotnet=\"`Username`\" pulumi-lang-go=\"`username`\" pulumi-lang-python=\"`username`\" pulumi-lang-yaml=\"`username`\" pulumi-lang-java=\"`username`\"\u003e`username`\u003c/span\u003e used to login to this Virtual Machine. Changing this forces a new resource to be created.\n\n\u003e **Note:** One or either \u003cspan pulumi-lang-nodejs=\"`password`\" pulumi-lang-dotnet=\"`Password`\" pulumi-lang-go=\"`password`\" pulumi-lang-python=\"`password`\" pulumi-lang-yaml=\"`password`\" pulumi-lang-java=\"`password`\"\u003e`password`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`sshKey`\" pulumi-lang-dotnet=\"`SshKey`\" pulumi-lang-go=\"`sshKey`\" pulumi-lang-python=\"`ssh_key`\" pulumi-lang-yaml=\"`sshKey`\" pulumi-lang-java=\"`sshKey`\"\u003e`ssh_key`\u003c/span\u003e must be specified.\n","willReplaceOnChanges":true},"storageType":{"type":"string","description":"The type of Storage to use on this Virtual Machine. Possible values are `Standard` and `Premium`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"uniqueIdentifier":{"type":"string","description":"The unique immutable identifier of the Virtual Machine.\n"},"username":{"type":"string","description":"The Username associated with the local administrator on this Virtual Machine. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:devtest/policy:Policy":{"description":"Manages a Policy within a Dev Test Policy Set.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleLab = new azure.devtest.Lab(\"example\", {\n    name: \"example-devtestlab\",\n    location: example.location,\n    resourceGroupName: example.name,\n    tags: {\n        Sydney: \"Australia\",\n    },\n});\nconst examplePolicy = new azure.devtest.Policy(\"example\", {\n    name: \"LabVmCount\",\n    policySetName: \"default\",\n    labName: exampleLab.name,\n    resourceGroupName: example.name,\n    factData: \"\",\n    threshold: \"999\",\n    evaluatorType: \"MaxValuePolicy\",\n    tags: {\n        Acceptance: \"Test\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_lab = azure.devtest.Lab(\"example\",\n    name=\"example-devtestlab\",\n    location=example.location,\n    resource_group_name=example.name,\n    tags={\n        \"Sydney\": \"Australia\",\n    })\nexample_policy = azure.devtest.Policy(\"example\",\n    name=\"LabVmCount\",\n    policy_set_name=\"default\",\n    lab_name=example_lab.name,\n    resource_group_name=example.name,\n    fact_data=\"\",\n    threshold=\"999\",\n    evaluator_type=\"MaxValuePolicy\",\n    tags={\n        \"Acceptance\": \"Test\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleLab = new Azure.DevTest.Lab(\"example\", new()\n    {\n        Name = \"example-devtestlab\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Tags = \n        {\n            { \"Sydney\", \"Australia\" },\n        },\n    });\n\n    var examplePolicy = new Azure.DevTest.Policy(\"example\", new()\n    {\n        Name = \"LabVmCount\",\n        PolicySetName = \"default\",\n        LabName = exampleLab.Name,\n        ResourceGroupName = example.Name,\n        FactData = \"\",\n        Threshold = \"999\",\n        EvaluatorType = \"MaxValuePolicy\",\n        Tags = \n        {\n            { \"Acceptance\", \"Test\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/devtest\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleLab, err := devtest.NewLab(ctx, \"example\", \u0026devtest.LabArgs{\n\t\t\tName:              pulumi.String(\"example-devtestlab\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Sydney\": pulumi.String(\"Australia\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = devtest.NewPolicy(ctx, \"example\", \u0026devtest.PolicyArgs{\n\t\t\tName:              pulumi.String(\"LabVmCount\"),\n\t\t\tPolicySetName:     pulumi.String(\"default\"),\n\t\t\tLabName:           exampleLab.Name,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tFactData:          pulumi.String(\"\"),\n\t\t\tThreshold:         pulumi.String(\"999\"),\n\t\t\tEvaluatorType:     pulumi.String(\"MaxValuePolicy\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Acceptance\": pulumi.String(\"Test\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.devtest.Lab;\nimport com.pulumi.azure.devtest.LabArgs;\nimport com.pulumi.azure.devtest.Policy;\nimport com.pulumi.azure.devtest.PolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleLab = new Lab(\"exampleLab\", LabArgs.builder()\n            .name(\"example-devtestlab\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .tags(Map.of(\"Sydney\", \"Australia\"))\n            .build());\n\n        var examplePolicy = new Policy(\"examplePolicy\", PolicyArgs.builder()\n            .name(\"LabVmCount\")\n            .policySetName(\"default\")\n            .labName(exampleLab.name())\n            .resourceGroupName(example.name())\n            .factData(\"\")\n            .threshold(\"999\")\n            .evaluatorType(\"MaxValuePolicy\")\n            .tags(Map.of(\"Acceptance\", \"Test\"))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleLab:\n    type: azure:devtest:Lab\n    name: example\n    properties:\n      name: example-devtestlab\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      tags:\n        Sydney: Australia\n  examplePolicy:\n    type: azure:devtest:Policy\n    name: example\n    properties:\n      name: LabVmCount\n      policySetName: default\n      labName: ${exampleLab.name}\n      resourceGroupName: ${example.name}\n      factData: \"\"\n      threshold: '999'\n      evaluatorType: MaxValuePolicy\n      tags:\n        Acceptance: Test\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.DevTestLab` - 2018-09-15\n\n## Import\n\nDev Test Policies can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:devtest/policy:Policy policy1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.DevTestLab/labs/lab1/policySets/default/policies/policy1\n```\n\n","properties":{"description":{"type":"string","description":"A description for the Policy.\n"},"evaluatorType":{"type":"string","description":"The Evaluation Type used for this Policy. Possible values include: 'AllowedValuesPolicy', 'MaxValuePolicy'. Changing this forces a new resource to be created.\n"},"factData":{"type":"string","description":"The Fact Data for this Policy.\n"},"labName":{"type":"string","description":"Specifies the name of the Dev Test Lab in which the Policy should be created. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"Specifies the name of the Dev Test Policy. Possible values are `GalleryImage`, `LabPremiumVmCount`, `LabTargetCost`, `LabVmCount`, `LabVmSize`, `UserOwnedLabPremiumVmCount`, `UserOwnedLabVmCount` and `UserOwnedLabVmCountInSubnet`. Changing this forces a new resource to be created.\n"},"policySetName":{"type":"string","description":"Specifies the name of the Policy Set within the Dev Test Lab where this policy should be created. Changing this forces a new resource to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the Dev Test Lab resource exists. Changing this forces a new resource to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"threshold":{"type":"string","description":"The Threshold for this Policy.\n"}},"required":["evaluatorType","labName","name","policySetName","resourceGroupName","threshold"],"inputProperties":{"description":{"type":"string","description":"A description for the Policy.\n"},"evaluatorType":{"type":"string","description":"The Evaluation Type used for this Policy. Possible values include: 'AllowedValuesPolicy', 'MaxValuePolicy'. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"factData":{"type":"string","description":"The Fact Data for this Policy.\n"},"labName":{"type":"string","description":"Specifies the name of the Dev Test Lab in which the Policy should be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the Dev Test Policy. Possible values are `GalleryImage`, `LabPremiumVmCount`, `LabTargetCost`, `LabVmCount`, `LabVmSize`, `UserOwnedLabPremiumVmCount`, `UserOwnedLabVmCount` and `UserOwnedLabVmCountInSubnet`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"policySetName":{"type":"string","description":"Specifies the name of the Policy Set within the Dev Test Lab where this policy should be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the Dev Test Lab resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"threshold":{"type":"string","description":"The Threshold for this Policy.\n"}},"requiredInputs":["evaluatorType","labName","policySetName","resourceGroupName","threshold"],"stateInputs":{"description":"Input properties used for looking up and filtering Policy resources.\n","properties":{"description":{"type":"string","description":"A description for the Policy.\n"},"evaluatorType":{"type":"string","description":"The Evaluation Type used for this Policy. Possible values include: 'AllowedValuesPolicy', 'MaxValuePolicy'. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"factData":{"type":"string","description":"The Fact Data for this Policy.\n"},"labName":{"type":"string","description":"Specifies the name of the Dev Test Lab in which the Policy should be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the Dev Test Policy. Possible values are `GalleryImage`, `LabPremiumVmCount`, `LabTargetCost`, `LabVmCount`, `LabVmSize`, `UserOwnedLabPremiumVmCount`, `UserOwnedLabVmCount` and `UserOwnedLabVmCountInSubnet`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"policySetName":{"type":"string","description":"Specifies the name of the Policy Set within the Dev Test Lab where this policy should be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the Dev Test Lab resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"threshold":{"type":"string","description":"The Threshold for this Policy.\n"}},"type":"object"}},"azure:devtest/schedule:Schedule":{"description":"Manages automated startup and shutdown schedules for Azure Dev Test Lab.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleLab = new azure.devtest.Lab(\"example\", {\n    name: \"YourDevTestLab\",\n    location: example.location,\n    resourceGroupName: example.name,\n});\nconst exampleSchedule = new azure.devtest.Schedule(\"example\", {\n    name: \"LabVmAutoStart\",\n    location: example.location,\n    resourceGroupName: example.name,\n    labName: exampleLab.name,\n    status: \"Enabled\",\n    weeklyRecurrence: {\n        time: \"1100\",\n        weekDays: [\n            \"Monday\",\n            \"Tuesday\",\n        ],\n    },\n    timeZoneId: \"Pacific Standard Time\",\n    taskType: \"LabVmsStartupTask\",\n    notificationSettings: {},\n    tags: {\n        environment: \"Production\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_lab = azure.devtest.Lab(\"example\",\n    name=\"YourDevTestLab\",\n    location=example.location,\n    resource_group_name=example.name)\nexample_schedule = azure.devtest.Schedule(\"example\",\n    name=\"LabVmAutoStart\",\n    location=example.location,\n    resource_group_name=example.name,\n    lab_name=example_lab.name,\n    status=\"Enabled\",\n    weekly_recurrence={\n        \"time\": \"1100\",\n        \"week_days\": [\n            \"Monday\",\n            \"Tuesday\",\n        ],\n    },\n    time_zone_id=\"Pacific Standard Time\",\n    task_type=\"LabVmsStartupTask\",\n    notification_settings={},\n    tags={\n        \"environment\": \"Production\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleLab = new Azure.DevTest.Lab(\"example\", new()\n    {\n        Name = \"YourDevTestLab\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n    });\n\n    var exampleSchedule = new Azure.DevTest.Schedule(\"example\", new()\n    {\n        Name = \"LabVmAutoStart\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        LabName = exampleLab.Name,\n        Status = \"Enabled\",\n        WeeklyRecurrence = new Azure.DevTest.Inputs.ScheduleWeeklyRecurrenceArgs\n        {\n            Time = \"1100\",\n            WeekDays = new[]\n            {\n                \"Monday\",\n                \"Tuesday\",\n            },\n        },\n        TimeZoneId = \"Pacific Standard Time\",\n        TaskType = \"LabVmsStartupTask\",\n        NotificationSettings = null,\n        Tags = \n        {\n            { \"environment\", \"Production\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/devtest\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleLab, err := devtest.NewLab(ctx, \"example\", \u0026devtest.LabArgs{\n\t\t\tName:              pulumi.String(\"YourDevTestLab\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = devtest.NewSchedule(ctx, \"example\", \u0026devtest.ScheduleArgs{\n\t\t\tName:              pulumi.String(\"LabVmAutoStart\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLabName:           exampleLab.Name,\n\t\t\tStatus:            pulumi.String(\"Enabled\"),\n\t\t\tWeeklyRecurrence: \u0026devtest.ScheduleWeeklyRecurrenceArgs{\n\t\t\t\tTime: pulumi.String(\"1100\"),\n\t\t\t\tWeekDays: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"Monday\"),\n\t\t\t\t\tpulumi.String(\"Tuesday\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTimeZoneId:           pulumi.String(\"Pacific Standard Time\"),\n\t\t\tTaskType:             pulumi.String(\"LabVmsStartupTask\"),\n\t\t\tNotificationSettings: \u0026devtest.ScheduleNotificationSettingsArgs{},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"environment\": pulumi.String(\"Production\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.devtest.Lab;\nimport com.pulumi.azure.devtest.LabArgs;\nimport com.pulumi.azure.devtest.Schedule;\nimport com.pulumi.azure.devtest.ScheduleArgs;\nimport com.pulumi.azure.devtest.inputs.ScheduleWeeklyRecurrenceArgs;\nimport com.pulumi.azure.devtest.inputs.ScheduleNotificationSettingsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleLab = new Lab(\"exampleLab\", LabArgs.builder()\n            .name(\"YourDevTestLab\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .build());\n\n        var exampleSchedule = new Schedule(\"exampleSchedule\", ScheduleArgs.builder()\n            .name(\"LabVmAutoStart\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .labName(exampleLab.name())\n            .status(\"Enabled\")\n            .weeklyRecurrence(ScheduleWeeklyRecurrenceArgs.builder()\n                .time(\"1100\")\n                .weekDays(                \n                    \"Monday\",\n                    \"Tuesday\")\n                .build())\n            .timeZoneId(\"Pacific Standard Time\")\n            .taskType(\"LabVmsStartupTask\")\n            .notificationSettings(ScheduleNotificationSettingsArgs.builder()\n                .build())\n            .tags(Map.of(\"environment\", \"Production\"))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleLab:\n    type: azure:devtest:Lab\n    name: example\n    properties:\n      name: YourDevTestLab\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n  exampleSchedule:\n    type: azure:devtest:Schedule\n    name: example\n    properties:\n      name: LabVmAutoStart\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      labName: ${exampleLab.name}\n      status: Enabled\n      weeklyRecurrence:\n        time: '1100'\n        weekDays:\n          - Monday\n          - Tuesday\n      timeZoneId: Pacific Standard Time\n      taskType: LabVmsStartupTask\n      notificationSettings: {}\n      tags:\n        environment: Production\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.DevTestLab` - 2018-09-15\n\n## Import\n\nDevTest Schedule's can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:devtest/schedule:Schedule example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.DevTestLab/labs/myDevTestLab/schedules/labvmautostart\n```\n\n","properties":{"dailyRecurrence":{"$ref":"#/types/azure:devtest/ScheduleDailyRecurrence:ScheduleDailyRecurrence","description":"The properties of a daily schedule. If the schedule occurs once each day of the week, specify the daily recurrence. A \u003cspan pulumi-lang-nodejs=\"`dailyRecurrence`\" pulumi-lang-dotnet=\"`DailyRecurrence`\" pulumi-lang-go=\"`dailyRecurrence`\" pulumi-lang-python=\"`daily_recurrence`\" pulumi-lang-yaml=\"`dailyRecurrence`\" pulumi-lang-java=\"`dailyRecurrence`\"\u003e`daily_recurrence`\u003c/span\u003e block as defined below.\n"},"hourlyRecurrence":{"$ref":"#/types/azure:devtest/ScheduleHourlyRecurrence:ScheduleHourlyRecurrence","description":"The properties of an hourly schedule. If the schedule occurs multiple times a day, specify the hourly recurrence. A \u003cspan pulumi-lang-nodejs=\"`hourlyRecurrence`\" pulumi-lang-dotnet=\"`HourlyRecurrence`\" pulumi-lang-go=\"`hourlyRecurrence`\" pulumi-lang-python=\"`hourly_recurrence`\" pulumi-lang-yaml=\"`hourlyRecurrence`\" pulumi-lang-java=\"`hourlyRecurrence`\"\u003e`hourly_recurrence`\u003c/span\u003e block as defined below.\n"},"labName":{"type":"string","description":"The name of the dev test lab. Changing this forces a new resource to be created.\n"},"location":{"type":"string","description":"The location where the schedule is created. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"The name of the dev test lab schedule. Valid value for name depends on the \u003cspan pulumi-lang-nodejs=\"`taskType`\" pulumi-lang-dotnet=\"`TaskType`\" pulumi-lang-go=\"`taskType`\" pulumi-lang-python=\"`task_type`\" pulumi-lang-yaml=\"`taskType`\" pulumi-lang-java=\"`taskType`\"\u003e`task_type`\u003c/span\u003e. For instance for\u003cspan pulumi-lang-nodejs=\" taskType \" pulumi-lang-dotnet=\" TaskType \" pulumi-lang-go=\" taskType \" pulumi-lang-python=\" task_type \" pulumi-lang-yaml=\" taskType \" pulumi-lang-java=\" taskType \"\u003e task_type \u003c/span\u003e`LabVmsStartupTask` the name needs to be `LabVmAutoStart`. Changing this forces a new resource to be created.\n"},"notificationSettings":{"$ref":"#/types/azure:devtest/ScheduleNotificationSettings:ScheduleNotificationSettings","description":"The notification setting of a schedule. A \u003cspan pulumi-lang-nodejs=\"`notificationSettings`\" pulumi-lang-dotnet=\"`NotificationSettings`\" pulumi-lang-go=\"`notificationSettings`\" pulumi-lang-python=\"`notification_settings`\" pulumi-lang-yaml=\"`notificationSettings`\" pulumi-lang-java=\"`notificationSettings`\"\u003e`notification_settings`\u003c/span\u003e block as defined below.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the dev test lab schedule. Changing this forces a new resource to be created.\n"},"status":{"type":"string","description":"The status of this schedule. Possible values are `Enabled` and `Disabled`. Defaults to `Disabled`.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"taskType":{"type":"string","description":"The task type of the schedule. Possible values include `LabVmsShutdownTask` and `LabVmAutoStart`.\n"},"timeZoneId":{"type":"string","description":"The time zone ID (e.g. Pacific Standard time).\n"},"weeklyRecurrence":{"$ref":"#/types/azure:devtest/ScheduleWeeklyRecurrence:ScheduleWeeklyRecurrence","description":"The properties of a weekly schedule. If the schedule occurs only some days of the week, specify the weekly recurrence. A \u003cspan pulumi-lang-nodejs=\"`weeklyRecurrence`\" pulumi-lang-dotnet=\"`WeeklyRecurrence`\" pulumi-lang-go=\"`weeklyRecurrence`\" pulumi-lang-python=\"`weekly_recurrence`\" pulumi-lang-yaml=\"`weeklyRecurrence`\" pulumi-lang-java=\"`weeklyRecurrence`\"\u003e`weekly_recurrence`\u003c/span\u003e block as defined below.\n"}},"required":["labName","location","name","notificationSettings","resourceGroupName","taskType","timeZoneId"],"inputProperties":{"dailyRecurrence":{"$ref":"#/types/azure:devtest/ScheduleDailyRecurrence:ScheduleDailyRecurrence","description":"The properties of a daily schedule. If the schedule occurs once each day of the week, specify the daily recurrence. A \u003cspan pulumi-lang-nodejs=\"`dailyRecurrence`\" pulumi-lang-dotnet=\"`DailyRecurrence`\" pulumi-lang-go=\"`dailyRecurrence`\" pulumi-lang-python=\"`daily_recurrence`\" pulumi-lang-yaml=\"`dailyRecurrence`\" pulumi-lang-java=\"`dailyRecurrence`\"\u003e`daily_recurrence`\u003c/span\u003e block as defined below.\n"},"hourlyRecurrence":{"$ref":"#/types/azure:devtest/ScheduleHourlyRecurrence:ScheduleHourlyRecurrence","description":"The properties of an hourly schedule. If the schedule occurs multiple times a day, specify the hourly recurrence. A \u003cspan pulumi-lang-nodejs=\"`hourlyRecurrence`\" pulumi-lang-dotnet=\"`HourlyRecurrence`\" pulumi-lang-go=\"`hourlyRecurrence`\" pulumi-lang-python=\"`hourly_recurrence`\" pulumi-lang-yaml=\"`hourlyRecurrence`\" pulumi-lang-java=\"`hourlyRecurrence`\"\u003e`hourly_recurrence`\u003c/span\u003e block as defined below.\n"},"labName":{"type":"string","description":"The name of the dev test lab. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"location":{"type":"string","description":"The location where the schedule is created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the dev test lab schedule. Valid value for name depends on the \u003cspan pulumi-lang-nodejs=\"`taskType`\" pulumi-lang-dotnet=\"`TaskType`\" pulumi-lang-go=\"`taskType`\" pulumi-lang-python=\"`task_type`\" pulumi-lang-yaml=\"`taskType`\" pulumi-lang-java=\"`taskType`\"\u003e`task_type`\u003c/span\u003e. For instance for\u003cspan pulumi-lang-nodejs=\" taskType \" pulumi-lang-dotnet=\" TaskType \" pulumi-lang-go=\" taskType \" pulumi-lang-python=\" task_type \" pulumi-lang-yaml=\" taskType \" pulumi-lang-java=\" taskType \"\u003e task_type \u003c/span\u003e`LabVmsStartupTask` the name needs to be `LabVmAutoStart`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"notificationSettings":{"$ref":"#/types/azure:devtest/ScheduleNotificationSettings:ScheduleNotificationSettings","description":"The notification setting of a schedule. A \u003cspan pulumi-lang-nodejs=\"`notificationSettings`\" pulumi-lang-dotnet=\"`NotificationSettings`\" pulumi-lang-go=\"`notificationSettings`\" pulumi-lang-python=\"`notification_settings`\" pulumi-lang-yaml=\"`notificationSettings`\" pulumi-lang-java=\"`notificationSettings`\"\u003e`notification_settings`\u003c/span\u003e block as defined below.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the dev test lab schedule. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"status":{"type":"string","description":"The status of this schedule. Possible values are `Enabled` and `Disabled`. Defaults to `Disabled`.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"taskType":{"type":"string","description":"The task type of the schedule. Possible values include `LabVmsShutdownTask` and `LabVmAutoStart`.\n"},"timeZoneId":{"type":"string","description":"The time zone ID (e.g. Pacific Standard time).\n"},"weeklyRecurrence":{"$ref":"#/types/azure:devtest/ScheduleWeeklyRecurrence:ScheduleWeeklyRecurrence","description":"The properties of a weekly schedule. If the schedule occurs only some days of the week, specify the weekly recurrence. A \u003cspan pulumi-lang-nodejs=\"`weeklyRecurrence`\" pulumi-lang-dotnet=\"`WeeklyRecurrence`\" pulumi-lang-go=\"`weeklyRecurrence`\" pulumi-lang-python=\"`weekly_recurrence`\" pulumi-lang-yaml=\"`weeklyRecurrence`\" pulumi-lang-java=\"`weeklyRecurrence`\"\u003e`weekly_recurrence`\u003c/span\u003e block as defined below.\n"}},"requiredInputs":["labName","notificationSettings","resourceGroupName","taskType","timeZoneId"],"stateInputs":{"description":"Input properties used for looking up and filtering Schedule resources.\n","properties":{"dailyRecurrence":{"$ref":"#/types/azure:devtest/ScheduleDailyRecurrence:ScheduleDailyRecurrence","description":"The properties of a daily schedule. If the schedule occurs once each day of the week, specify the daily recurrence. A \u003cspan pulumi-lang-nodejs=\"`dailyRecurrence`\" pulumi-lang-dotnet=\"`DailyRecurrence`\" pulumi-lang-go=\"`dailyRecurrence`\" pulumi-lang-python=\"`daily_recurrence`\" pulumi-lang-yaml=\"`dailyRecurrence`\" pulumi-lang-java=\"`dailyRecurrence`\"\u003e`daily_recurrence`\u003c/span\u003e block as defined below.\n"},"hourlyRecurrence":{"$ref":"#/types/azure:devtest/ScheduleHourlyRecurrence:ScheduleHourlyRecurrence","description":"The properties of an hourly schedule. If the schedule occurs multiple times a day, specify the hourly recurrence. A \u003cspan pulumi-lang-nodejs=\"`hourlyRecurrence`\" pulumi-lang-dotnet=\"`HourlyRecurrence`\" pulumi-lang-go=\"`hourlyRecurrence`\" pulumi-lang-python=\"`hourly_recurrence`\" pulumi-lang-yaml=\"`hourlyRecurrence`\" pulumi-lang-java=\"`hourlyRecurrence`\"\u003e`hourly_recurrence`\u003c/span\u003e block as defined below.\n"},"labName":{"type":"string","description":"The name of the dev test lab. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"location":{"type":"string","description":"The location where the schedule is created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the dev test lab schedule. Valid value for name depends on the \u003cspan pulumi-lang-nodejs=\"`taskType`\" pulumi-lang-dotnet=\"`TaskType`\" pulumi-lang-go=\"`taskType`\" pulumi-lang-python=\"`task_type`\" pulumi-lang-yaml=\"`taskType`\" pulumi-lang-java=\"`taskType`\"\u003e`task_type`\u003c/span\u003e. For instance for\u003cspan pulumi-lang-nodejs=\" taskType \" pulumi-lang-dotnet=\" TaskType \" pulumi-lang-go=\" taskType \" pulumi-lang-python=\" task_type \" pulumi-lang-yaml=\" taskType \" pulumi-lang-java=\" taskType \"\u003e task_type \u003c/span\u003e`LabVmsStartupTask` the name needs to be `LabVmAutoStart`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"notificationSettings":{"$ref":"#/types/azure:devtest/ScheduleNotificationSettings:ScheduleNotificationSettings","description":"The notification setting of a schedule. A \u003cspan pulumi-lang-nodejs=\"`notificationSettings`\" pulumi-lang-dotnet=\"`NotificationSettings`\" pulumi-lang-go=\"`notificationSettings`\" pulumi-lang-python=\"`notification_settings`\" pulumi-lang-yaml=\"`notificationSettings`\" pulumi-lang-java=\"`notificationSettings`\"\u003e`notification_settings`\u003c/span\u003e block as defined below.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the dev test lab schedule. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"status":{"type":"string","description":"The status of this schedule. Possible values are `Enabled` and `Disabled`. Defaults to `Disabled`.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"taskType":{"type":"string","description":"The task type of the schedule. Possible values include `LabVmsShutdownTask` and `LabVmAutoStart`.\n"},"timeZoneId":{"type":"string","description":"The time zone ID (e.g. Pacific Standard time).\n"},"weeklyRecurrence":{"$ref":"#/types/azure:devtest/ScheduleWeeklyRecurrence:ScheduleWeeklyRecurrence","description":"The properties of a weekly schedule. If the schedule occurs only some days of the week, specify the weekly recurrence. A \u003cspan pulumi-lang-nodejs=\"`weeklyRecurrence`\" pulumi-lang-dotnet=\"`WeeklyRecurrence`\" pulumi-lang-go=\"`weeklyRecurrence`\" pulumi-lang-python=\"`weekly_recurrence`\" pulumi-lang-yaml=\"`weeklyRecurrence`\" pulumi-lang-java=\"`weeklyRecurrence`\"\u003e`weekly_recurrence`\u003c/span\u003e block as defined below.\n"}},"type":"object"}},"azure:devtest/virtualNetwork:VirtualNetwork":{"description":"Manages a Virtual Network within a DevTest Lab.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleLab = new azure.devtest.Lab(\"example\", {\n    name: \"example-devtestlab\",\n    location: example.location,\n    resourceGroupName: example.name,\n    tags: {\n        Sydney: \"Australia\",\n    },\n});\nconst exampleVirtualNetwork = new azure.devtest.VirtualNetwork(\"example\", {\n    name: \"example-network\",\n    labName: exampleLab.name,\n    resourceGroupName: example.name,\n    subnet: {\n        usePublicIpAddress: \"Allow\",\n        useInVirtualMachineCreation: \"Allow\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_lab = azure.devtest.Lab(\"example\",\n    name=\"example-devtestlab\",\n    location=example.location,\n    resource_group_name=example.name,\n    tags={\n        \"Sydney\": \"Australia\",\n    })\nexample_virtual_network = azure.devtest.VirtualNetwork(\"example\",\n    name=\"example-network\",\n    lab_name=example_lab.name,\n    resource_group_name=example.name,\n    subnet={\n        \"use_public_ip_address\": \"Allow\",\n        \"use_in_virtual_machine_creation\": \"Allow\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleLab = new Azure.DevTest.Lab(\"example\", new()\n    {\n        Name = \"example-devtestlab\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Tags = \n        {\n            { \"Sydney\", \"Australia\" },\n        },\n    });\n\n    var exampleVirtualNetwork = new Azure.DevTest.VirtualNetwork(\"example\", new()\n    {\n        Name = \"example-network\",\n        LabName = exampleLab.Name,\n        ResourceGroupName = example.Name,\n        Subnet = new Azure.DevTest.Inputs.VirtualNetworkSubnetArgs\n        {\n            UsePublicIpAddress = \"Allow\",\n            UseInVirtualMachineCreation = \"Allow\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/devtest\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleLab, err := devtest.NewLab(ctx, \"example\", \u0026devtest.LabArgs{\n\t\t\tName:              pulumi.String(\"example-devtestlab\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Sydney\": pulumi.String(\"Australia\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = devtest.NewVirtualNetwork(ctx, \"example\", \u0026devtest.VirtualNetworkArgs{\n\t\t\tName:              pulumi.String(\"example-network\"),\n\t\t\tLabName:           exampleLab.Name,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSubnet: \u0026devtest.VirtualNetworkSubnetArgs{\n\t\t\t\tUsePublicIpAddress:          pulumi.String(\"Allow\"),\n\t\t\t\tUseInVirtualMachineCreation: pulumi.String(\"Allow\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.devtest.Lab;\nimport com.pulumi.azure.devtest.LabArgs;\nimport com.pulumi.azure.devtest.VirtualNetwork;\nimport com.pulumi.azure.devtest.VirtualNetworkArgs;\nimport com.pulumi.azure.devtest.inputs.VirtualNetworkSubnetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleLab = new Lab(\"exampleLab\", LabArgs.builder()\n            .name(\"example-devtestlab\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .tags(Map.of(\"Sydney\", \"Australia\"))\n            .build());\n\n        var exampleVirtualNetwork = new VirtualNetwork(\"exampleVirtualNetwork\", VirtualNetworkArgs.builder()\n            .name(\"example-network\")\n            .labName(exampleLab.name())\n            .resourceGroupName(example.name())\n            .subnet(VirtualNetworkSubnetArgs.builder()\n                .usePublicIpAddress(\"Allow\")\n                .useInVirtualMachineCreation(\"Allow\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleLab:\n    type: azure:devtest:Lab\n    name: example\n    properties:\n      name: example-devtestlab\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      tags:\n        Sydney: Australia\n  exampleVirtualNetwork:\n    type: azure:devtest:VirtualNetwork\n    name: example\n    properties:\n      name: example-network\n      labName: ${exampleLab.name}\n      resourceGroupName: ${example.name}\n      subnet:\n        usePublicIpAddress: Allow\n        useInVirtualMachineCreation: Allow\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.DevTestLab` - 2018-09-15\n\n## Import\n\nDevTest Virtual Networks can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:devtest/virtualNetwork:VirtualNetwork network1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.DevTestLab/labs/lab1/virtualNetworks/network1\n```\n\n","properties":{"description":{"type":"string","description":"A description for the Virtual Network.\n"},"labName":{"type":"string","description":"Specifies the name of the Dev Test Lab in which the Virtual Network should be created. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"Specifies the name of the Dev Test Virtual Network. Changing this forces a new resource to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the Dev Test Lab resource exists. Changing this forces a new resource to be created.\n"},"subnet":{"$ref":"#/types/azure:devtest/VirtualNetworkSubnet:VirtualNetworkSubnet","description":"A \u003cspan pulumi-lang-nodejs=\"`subnet`\" pulumi-lang-dotnet=\"`Subnet`\" pulumi-lang-go=\"`subnet`\" pulumi-lang-python=\"`subnet`\" pulumi-lang-yaml=\"`subnet`\" pulumi-lang-java=\"`subnet`\"\u003e`subnet`\u003c/span\u003e block as defined below.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"uniqueIdentifier":{"type":"string","description":"The unique immutable identifier of the Dev Test Virtual Network.\n"}},"required":["labName","name","resourceGroupName","subnet","uniqueIdentifier"],"inputProperties":{"description":{"type":"string","description":"A description for the Virtual Network.\n"},"labName":{"type":"string","description":"Specifies the name of the Dev Test Lab in which the Virtual Network should be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the Dev Test Virtual Network. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the Dev Test Lab resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"subnet":{"$ref":"#/types/azure:devtest/VirtualNetworkSubnet:VirtualNetworkSubnet","description":"A \u003cspan pulumi-lang-nodejs=\"`subnet`\" pulumi-lang-dotnet=\"`Subnet`\" pulumi-lang-go=\"`subnet`\" pulumi-lang-python=\"`subnet`\" pulumi-lang-yaml=\"`subnet`\" pulumi-lang-java=\"`subnet`\"\u003e`subnet`\u003c/span\u003e block as defined below.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"requiredInputs":["labName","resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering VirtualNetwork resources.\n","properties":{"description":{"type":"string","description":"A description for the Virtual Network.\n"},"labName":{"type":"string","description":"Specifies the name of the Dev Test Lab in which the Virtual Network should be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the Dev Test Virtual Network. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the Dev Test Lab resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"subnet":{"$ref":"#/types/azure:devtest/VirtualNetworkSubnet:VirtualNetworkSubnet","description":"A \u003cspan pulumi-lang-nodejs=\"`subnet`\" pulumi-lang-dotnet=\"`Subnet`\" pulumi-lang-go=\"`subnet`\" pulumi-lang-python=\"`subnet`\" pulumi-lang-yaml=\"`subnet`\" pulumi-lang-java=\"`subnet`\"\u003e`subnet`\u003c/span\u003e block as defined below.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"uniqueIdentifier":{"type":"string","description":"The unique immutable identifier of the Dev Test Virtual Network.\n"}},"type":"object"}},"azure:devtest/windowsVirtualMachine:WindowsVirtualMachine":{"description":"Manages a Windows Virtual Machine within a Dev Test Lab.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleLab = new azure.devtest.Lab(\"example\", {\n    name: \"example-devtestlab\",\n    location: example.location,\n    resourceGroupName: example.name,\n    tags: {\n        Sydney: \"Australia\",\n    },\n});\nconst exampleVirtualNetwork = new azure.devtest.VirtualNetwork(\"example\", {\n    name: \"example-network\",\n    labName: exampleLab.name,\n    resourceGroupName: example.name,\n    subnet: {\n        usePublicIpAddress: \"Allow\",\n        useInVirtualMachineCreation: \"Allow\",\n    },\n});\nconst exampleWindowsVirtualMachine = new azure.devtest.WindowsVirtualMachine(\"example\", {\n    name: \"example-vm03\",\n    labName: exampleLab.name,\n    resourceGroupName: example.name,\n    location: example.location,\n    size: \"Standard_DS2\",\n    username: \"exampleuser99\",\n    password: \"Pa$w0rd1234!\",\n    labVirtualNetworkId: exampleVirtualNetwork.id,\n    labSubnetName: exampleVirtualNetwork.subnet.apply(subnet =\u003e subnet.name),\n    storageType: \"Premium\",\n    notes: \"Some notes about this Virtual Machine.\",\n    galleryImageReference: {\n        offer: \"WindowsServer\",\n        publisher: \"MicrosoftWindowsServer\",\n        sku: \"2019-Datacenter\",\n        version: \"latest\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_lab = azure.devtest.Lab(\"example\",\n    name=\"example-devtestlab\",\n    location=example.location,\n    resource_group_name=example.name,\n    tags={\n        \"Sydney\": \"Australia\",\n    })\nexample_virtual_network = azure.devtest.VirtualNetwork(\"example\",\n    name=\"example-network\",\n    lab_name=example_lab.name,\n    resource_group_name=example.name,\n    subnet={\n        \"use_public_ip_address\": \"Allow\",\n        \"use_in_virtual_machine_creation\": \"Allow\",\n    })\nexample_windows_virtual_machine = azure.devtest.WindowsVirtualMachine(\"example\",\n    name=\"example-vm03\",\n    lab_name=example_lab.name,\n    resource_group_name=example.name,\n    location=example.location,\n    size=\"Standard_DS2\",\n    username=\"exampleuser99\",\n    password=\"Pa$w0rd1234!\",\n    lab_virtual_network_id=example_virtual_network.id,\n    lab_subnet_name=example_virtual_network.subnet.name,\n    storage_type=\"Premium\",\n    notes=\"Some notes about this Virtual Machine.\",\n    gallery_image_reference={\n        \"offer\": \"WindowsServer\",\n        \"publisher\": \"MicrosoftWindowsServer\",\n        \"sku\": \"2019-Datacenter\",\n        \"version\": \"latest\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleLab = new Azure.DevTest.Lab(\"example\", new()\n    {\n        Name = \"example-devtestlab\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Tags = \n        {\n            { \"Sydney\", \"Australia\" },\n        },\n    });\n\n    var exampleVirtualNetwork = new Azure.DevTest.VirtualNetwork(\"example\", new()\n    {\n        Name = \"example-network\",\n        LabName = exampleLab.Name,\n        ResourceGroupName = example.Name,\n        Subnet = new Azure.DevTest.Inputs.VirtualNetworkSubnetArgs\n        {\n            UsePublicIpAddress = \"Allow\",\n            UseInVirtualMachineCreation = \"Allow\",\n        },\n    });\n\n    var exampleWindowsVirtualMachine = new Azure.DevTest.WindowsVirtualMachine(\"example\", new()\n    {\n        Name = \"example-vm03\",\n        LabName = exampleLab.Name,\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        Size = \"Standard_DS2\",\n        Username = \"exampleuser99\",\n        Password = \"Pa$w0rd1234!\",\n        LabVirtualNetworkId = exampleVirtualNetwork.Id,\n        LabSubnetName = exampleVirtualNetwork.Subnet.Apply(subnet =\u003e subnet.Name),\n        StorageType = \"Premium\",\n        Notes = \"Some notes about this Virtual Machine.\",\n        GalleryImageReference = new Azure.DevTest.Inputs.WindowsVirtualMachineGalleryImageReferenceArgs\n        {\n            Offer = \"WindowsServer\",\n            Publisher = \"MicrosoftWindowsServer\",\n            Sku = \"2019-Datacenter\",\n            Version = \"latest\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/devtest\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleLab, err := devtest.NewLab(ctx, \"example\", \u0026devtest.LabArgs{\n\t\t\tName:              pulumi.String(\"example-devtestlab\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Sydney\": pulumi.String(\"Australia\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualNetwork, err := devtest.NewVirtualNetwork(ctx, \"example\", \u0026devtest.VirtualNetworkArgs{\n\t\t\tName:              pulumi.String(\"example-network\"),\n\t\t\tLabName:           exampleLab.Name,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSubnet: \u0026devtest.VirtualNetworkSubnetArgs{\n\t\t\t\tUsePublicIpAddress:          pulumi.String(\"Allow\"),\n\t\t\t\tUseInVirtualMachineCreation: pulumi.String(\"Allow\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = devtest.NewWindowsVirtualMachine(ctx, \"example\", \u0026devtest.WindowsVirtualMachineArgs{\n\t\t\tName:                pulumi.String(\"example-vm03\"),\n\t\t\tLabName:             exampleLab.Name,\n\t\t\tResourceGroupName:   example.Name,\n\t\t\tLocation:            example.Location,\n\t\t\tSize:                pulumi.String(\"Standard_DS2\"),\n\t\t\tUsername:            pulumi.String(\"exampleuser99\"),\n\t\t\tPassword:            pulumi.String(\"Pa$w0rd1234!\"),\n\t\t\tLabVirtualNetworkId: exampleVirtualNetwork.ID(),\n\t\t\tLabSubnetName: pulumi.String(exampleVirtualNetwork.Subnet.ApplyT(func(subnet devtest.VirtualNetworkSubnet) (*string, error) {\n\t\t\t\treturn \u0026subnet.Name, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tStorageType: pulumi.String(\"Premium\"),\n\t\t\tNotes:       pulumi.String(\"Some notes about this Virtual Machine.\"),\n\t\t\tGalleryImageReference: \u0026devtest.WindowsVirtualMachineGalleryImageReferenceArgs{\n\t\t\t\tOffer:     pulumi.String(\"WindowsServer\"),\n\t\t\t\tPublisher: pulumi.String(\"MicrosoftWindowsServer\"),\n\t\t\t\tSku:       pulumi.String(\"2019-Datacenter\"),\n\t\t\t\tVersion:   pulumi.String(\"latest\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.devtest.Lab;\nimport com.pulumi.azure.devtest.LabArgs;\nimport com.pulumi.azure.devtest.VirtualNetwork;\nimport com.pulumi.azure.devtest.VirtualNetworkArgs;\nimport com.pulumi.azure.devtest.inputs.VirtualNetworkSubnetArgs;\nimport com.pulumi.azure.devtest.WindowsVirtualMachine;\nimport com.pulumi.azure.devtest.WindowsVirtualMachineArgs;\nimport com.pulumi.azure.devtest.inputs.WindowsVirtualMachineGalleryImageReferenceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleLab = new Lab(\"exampleLab\", LabArgs.builder()\n            .name(\"example-devtestlab\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .tags(Map.of(\"Sydney\", \"Australia\"))\n            .build());\n\n        var exampleVirtualNetwork = new VirtualNetwork(\"exampleVirtualNetwork\", VirtualNetworkArgs.builder()\n            .name(\"example-network\")\n            .labName(exampleLab.name())\n            .resourceGroupName(example.name())\n            .subnet(VirtualNetworkSubnetArgs.builder()\n                .usePublicIpAddress(\"Allow\")\n                .useInVirtualMachineCreation(\"Allow\")\n                .build())\n            .build());\n\n        var exampleWindowsVirtualMachine = new WindowsVirtualMachine(\"exampleWindowsVirtualMachine\", WindowsVirtualMachineArgs.builder()\n            .name(\"example-vm03\")\n            .labName(exampleLab.name())\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .size(\"Standard_DS2\")\n            .username(\"exampleuser99\")\n            .password(\"Pa$w0rd1234!\")\n            .labVirtualNetworkId(exampleVirtualNetwork.id())\n            .labSubnetName(exampleVirtualNetwork.subnet().applyValue(_subnet -\u003e _subnet.name()))\n            .storageType(\"Premium\")\n            .notes(\"Some notes about this Virtual Machine.\")\n            .galleryImageReference(WindowsVirtualMachineGalleryImageReferenceArgs.builder()\n                .offer(\"WindowsServer\")\n                .publisher(\"MicrosoftWindowsServer\")\n                .sku(\"2019-Datacenter\")\n                .version(\"latest\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleLab:\n    type: azure:devtest:Lab\n    name: example\n    properties:\n      name: example-devtestlab\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      tags:\n        Sydney: Australia\n  exampleVirtualNetwork:\n    type: azure:devtest:VirtualNetwork\n    name: example\n    properties:\n      name: example-network\n      labName: ${exampleLab.name}\n      resourceGroupName: ${example.name}\n      subnet:\n        usePublicIpAddress: Allow\n        useInVirtualMachineCreation: Allow\n  exampleWindowsVirtualMachine:\n    type: azure:devtest:WindowsVirtualMachine\n    name: example\n    properties:\n      name: example-vm03\n      labName: ${exampleLab.name}\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      size: Standard_DS2\n      username: exampleuser99\n      password: Pa$w0rd1234!\n      labVirtualNetworkId: ${exampleVirtualNetwork.id}\n      labSubnetName: ${exampleVirtualNetwork.subnet.name}\n      storageType: Premium\n      notes: Some notes about this Virtual Machine.\n      galleryImageReference:\n        offer: WindowsServer\n        publisher: MicrosoftWindowsServer\n        sku: 2019-Datacenter\n        version: latest\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.DevTestLab` - 2018-09-15\n\n## Import\n\nDevTest Windows Virtual Machines can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:devtest/windowsVirtualMachine:WindowsVirtualMachine machine1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.DevTestLab/labs/lab1/virtualMachines/machine1\n```\n\n","properties":{"allowClaim":{"type":"boolean","description":"Can this Virtual Machine be claimed by users? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"disallowPublicIpAddress":{"type":"boolean","description":"Should the Virtual Machine be created without a Public IP Address? Changing this forces a new resource to be created.\n"},"fqdn":{"type":"string","description":"The FQDN of the Virtual Machine.\n"},"galleryImageReference":{"$ref":"#/types/azure:devtest/WindowsVirtualMachineGalleryImageReference:WindowsVirtualMachineGalleryImageReference","description":"A \u003cspan pulumi-lang-nodejs=\"`galleryImageReference`\" pulumi-lang-dotnet=\"`GalleryImageReference`\" pulumi-lang-go=\"`galleryImageReference`\" pulumi-lang-python=\"`gallery_image_reference`\" pulumi-lang-yaml=\"`galleryImageReference`\" pulumi-lang-java=\"`galleryImageReference`\"\u003e`gallery_image_reference`\u003c/span\u003e block as defined below.\n"},"inboundNatRules":{"type":"array","items":{"$ref":"#/types/azure:devtest/WindowsVirtualMachineInboundNatRule:WindowsVirtualMachineInboundNatRule"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`inboundNatRule`\" pulumi-lang-dotnet=\"`InboundNatRule`\" pulumi-lang-go=\"`inboundNatRule`\" pulumi-lang-python=\"`inbound_nat_rule`\" pulumi-lang-yaml=\"`inboundNatRule`\" pulumi-lang-java=\"`inboundNatRule`\"\u003e`inbound_nat_rule`\u003c/span\u003e blocks as defined below. Changing this forces a new resource to be created.\n\n\u003e **Note:** If any \u003cspan pulumi-lang-nodejs=\"`inboundNatRule`\" pulumi-lang-dotnet=\"`InboundNatRule`\" pulumi-lang-go=\"`inboundNatRule`\" pulumi-lang-python=\"`inbound_nat_rule`\" pulumi-lang-yaml=\"`inboundNatRule`\" pulumi-lang-java=\"`inboundNatRule`\"\u003e`inbound_nat_rule`\u003c/span\u003e blocks are specified then \u003cspan pulumi-lang-nodejs=\"`disallowPublicIpAddress`\" pulumi-lang-dotnet=\"`DisallowPublicIpAddress`\" pulumi-lang-go=\"`disallowPublicIpAddress`\" pulumi-lang-python=\"`disallow_public_ip_address`\" pulumi-lang-yaml=\"`disallowPublicIpAddress`\" pulumi-lang-java=\"`disallowPublicIpAddress`\"\u003e`disallow_public_ip_address`\u003c/span\u003e must be set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"labName":{"type":"string","description":"Specifies the name of the Dev Test Lab in which the Virtual Machine should be created. Changing this forces a new resource to be created.\n"},"labSubnetName":{"type":"string","description":"The name of a Subnet within the Dev Test Virtual Network where this machine should exist. Changing this forces a new resource to be created.\n"},"labVirtualNetworkId":{"type":"string","description":"The ID of the Dev Test Virtual Network where this Virtual Machine should be created. Changing this forces a new resource to be created.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the Dev Test Lab exists. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"Specifies the name of the Dev Test Machine. Changing this forces a new resource to be created.\n\n\u003e **Note:** The validation requirements for the Name change based on the \u003cspan pulumi-lang-nodejs=\"`osType`\" pulumi-lang-dotnet=\"`OsType`\" pulumi-lang-go=\"`osType`\" pulumi-lang-python=\"`os_type`\" pulumi-lang-yaml=\"`osType`\" pulumi-lang-java=\"`osType`\"\u003e`os_type`\u003c/span\u003e used in this Virtual Machine. For a Linux VM the name must be between 1-62 characters, and for a Windows VM the name must be between 1-15 characters. It must begin and end with a letter or number, and cannot be all numbers.\n"},"notes":{"type":"string","description":"Any notes about the Virtual Machine.\n"},"password":{"type":"string","description":"The Password associated with the \u003cspan pulumi-lang-nodejs=\"`username`\" pulumi-lang-dotnet=\"`Username`\" pulumi-lang-go=\"`username`\" pulumi-lang-python=\"`username`\" pulumi-lang-yaml=\"`username`\" pulumi-lang-java=\"`username`\"\u003e`username`\u003c/span\u003e used to login to this Virtual Machine. Changing this forces a new resource to be created.\n","secret":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the Dev Test Lab resource exists. Changing this forces a new resource to be created.\n"},"size":{"type":"string","description":"The Machine Size to use for this Virtual Machine, such as `Standard_F2`. Changing this forces a new resource to be created.\n"},"storageType":{"type":"string","description":"The type of Storage to use on this Virtual Machine. Possible values are `Standard` and `Premium`. Changing this forces a new resource to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"uniqueIdentifier":{"type":"string","description":"The unique immutable identifier of the Virtual Machine.\n"},"username":{"type":"string","description":"The Username associated with the local administrator on this Virtual Machine. Changing this forces a new resource to be created.\n"}},"required":["fqdn","galleryImageReference","labName","labSubnetName","labVirtualNetworkId","location","name","password","resourceGroupName","size","storageType","uniqueIdentifier","username"],"inputProperties":{"allowClaim":{"type":"boolean","description":"Can this Virtual Machine be claimed by users? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"disallowPublicIpAddress":{"type":"boolean","description":"Should the Virtual Machine be created without a Public IP Address? Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"galleryImageReference":{"$ref":"#/types/azure:devtest/WindowsVirtualMachineGalleryImageReference:WindowsVirtualMachineGalleryImageReference","description":"A \u003cspan pulumi-lang-nodejs=\"`galleryImageReference`\" pulumi-lang-dotnet=\"`GalleryImageReference`\" pulumi-lang-go=\"`galleryImageReference`\" pulumi-lang-python=\"`gallery_image_reference`\" pulumi-lang-yaml=\"`galleryImageReference`\" pulumi-lang-java=\"`galleryImageReference`\"\u003e`gallery_image_reference`\u003c/span\u003e block as defined below.\n"},"inboundNatRules":{"type":"array","items":{"$ref":"#/types/azure:devtest/WindowsVirtualMachineInboundNatRule:WindowsVirtualMachineInboundNatRule"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`inboundNatRule`\" pulumi-lang-dotnet=\"`InboundNatRule`\" pulumi-lang-go=\"`inboundNatRule`\" pulumi-lang-python=\"`inbound_nat_rule`\" pulumi-lang-yaml=\"`inboundNatRule`\" pulumi-lang-java=\"`inboundNatRule`\"\u003e`inbound_nat_rule`\u003c/span\u003e blocks as defined below. Changing this forces a new resource to be created.\n\n\u003e **Note:** If any \u003cspan pulumi-lang-nodejs=\"`inboundNatRule`\" pulumi-lang-dotnet=\"`InboundNatRule`\" pulumi-lang-go=\"`inboundNatRule`\" pulumi-lang-python=\"`inbound_nat_rule`\" pulumi-lang-yaml=\"`inboundNatRule`\" pulumi-lang-java=\"`inboundNatRule`\"\u003e`inbound_nat_rule`\u003c/span\u003e blocks are specified then \u003cspan pulumi-lang-nodejs=\"`disallowPublicIpAddress`\" pulumi-lang-dotnet=\"`DisallowPublicIpAddress`\" pulumi-lang-go=\"`disallowPublicIpAddress`\" pulumi-lang-python=\"`disallow_public_ip_address`\" pulumi-lang-yaml=\"`disallowPublicIpAddress`\" pulumi-lang-java=\"`disallowPublicIpAddress`\"\u003e`disallow_public_ip_address`\u003c/span\u003e must be set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n","willReplaceOnChanges":true},"labName":{"type":"string","description":"Specifies the name of the Dev Test Lab in which the Virtual Machine should be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"labSubnetName":{"type":"string","description":"The name of a Subnet within the Dev Test Virtual Network where this machine should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"labVirtualNetworkId":{"type":"string","description":"The ID of the Dev Test Virtual Network where this Virtual Machine should be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"location":{"type":"string","description":"Specifies the supported Azure location where the Dev Test Lab exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the Dev Test Machine. Changing this forces a new resource to be created.\n\n\u003e **Note:** The validation requirements for the Name change based on the \u003cspan pulumi-lang-nodejs=\"`osType`\" pulumi-lang-dotnet=\"`OsType`\" pulumi-lang-go=\"`osType`\" pulumi-lang-python=\"`os_type`\" pulumi-lang-yaml=\"`osType`\" pulumi-lang-java=\"`osType`\"\u003e`os_type`\u003c/span\u003e used in this Virtual Machine. For a Linux VM the name must be between 1-62 characters, and for a Windows VM the name must be between 1-15 characters. It must begin and end with a letter or number, and cannot be all numbers.\n","willReplaceOnChanges":true},"notes":{"type":"string","description":"Any notes about the Virtual Machine.\n"},"password":{"type":"string","description":"The Password associated with the \u003cspan pulumi-lang-nodejs=\"`username`\" pulumi-lang-dotnet=\"`Username`\" pulumi-lang-go=\"`username`\" pulumi-lang-python=\"`username`\" pulumi-lang-yaml=\"`username`\" pulumi-lang-java=\"`username`\"\u003e`username`\u003c/span\u003e used to login to this Virtual Machine. Changing this forces a new resource to be created.\n","secret":true,"willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the Dev Test Lab resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"size":{"type":"string","description":"The Machine Size to use for this Virtual Machine, such as `Standard_F2`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"storageType":{"type":"string","description":"The type of Storage to use on this Virtual Machine. Possible values are `Standard` and `Premium`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"username":{"type":"string","description":"The Username associated with the local administrator on this Virtual Machine. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["galleryImageReference","labName","labSubnetName","labVirtualNetworkId","password","resourceGroupName","size","storageType","username"],"stateInputs":{"description":"Input properties used for looking up and filtering WindowsVirtualMachine resources.\n","properties":{"allowClaim":{"type":"boolean","description":"Can this Virtual Machine be claimed by users? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"disallowPublicIpAddress":{"type":"boolean","description":"Should the Virtual Machine be created without a Public IP Address? Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"fqdn":{"type":"string","description":"The FQDN of the Virtual Machine.\n"},"galleryImageReference":{"$ref":"#/types/azure:devtest/WindowsVirtualMachineGalleryImageReference:WindowsVirtualMachineGalleryImageReference","description":"A \u003cspan pulumi-lang-nodejs=\"`galleryImageReference`\" pulumi-lang-dotnet=\"`GalleryImageReference`\" pulumi-lang-go=\"`galleryImageReference`\" pulumi-lang-python=\"`gallery_image_reference`\" pulumi-lang-yaml=\"`galleryImageReference`\" pulumi-lang-java=\"`galleryImageReference`\"\u003e`gallery_image_reference`\u003c/span\u003e block as defined below.\n"},"inboundNatRules":{"type":"array","items":{"$ref":"#/types/azure:devtest/WindowsVirtualMachineInboundNatRule:WindowsVirtualMachineInboundNatRule"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`inboundNatRule`\" pulumi-lang-dotnet=\"`InboundNatRule`\" pulumi-lang-go=\"`inboundNatRule`\" pulumi-lang-python=\"`inbound_nat_rule`\" pulumi-lang-yaml=\"`inboundNatRule`\" pulumi-lang-java=\"`inboundNatRule`\"\u003e`inbound_nat_rule`\u003c/span\u003e blocks as defined below. Changing this forces a new resource to be created.\n\n\u003e **Note:** If any \u003cspan pulumi-lang-nodejs=\"`inboundNatRule`\" pulumi-lang-dotnet=\"`InboundNatRule`\" pulumi-lang-go=\"`inboundNatRule`\" pulumi-lang-python=\"`inbound_nat_rule`\" pulumi-lang-yaml=\"`inboundNatRule`\" pulumi-lang-java=\"`inboundNatRule`\"\u003e`inbound_nat_rule`\u003c/span\u003e blocks are specified then \u003cspan pulumi-lang-nodejs=\"`disallowPublicIpAddress`\" pulumi-lang-dotnet=\"`DisallowPublicIpAddress`\" pulumi-lang-go=\"`disallowPublicIpAddress`\" pulumi-lang-python=\"`disallow_public_ip_address`\" pulumi-lang-yaml=\"`disallowPublicIpAddress`\" pulumi-lang-java=\"`disallowPublicIpAddress`\"\u003e`disallow_public_ip_address`\u003c/span\u003e must be set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n","willReplaceOnChanges":true},"labName":{"type":"string","description":"Specifies the name of the Dev Test Lab in which the Virtual Machine should be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"labSubnetName":{"type":"string","description":"The name of a Subnet within the Dev Test Virtual Network where this machine should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"labVirtualNetworkId":{"type":"string","description":"The ID of the Dev Test Virtual Network where this Virtual Machine should be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"location":{"type":"string","description":"Specifies the supported Azure location where the Dev Test Lab exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the Dev Test Machine. Changing this forces a new resource to be created.\n\n\u003e **Note:** The validation requirements for the Name change based on the \u003cspan pulumi-lang-nodejs=\"`osType`\" pulumi-lang-dotnet=\"`OsType`\" pulumi-lang-go=\"`osType`\" pulumi-lang-python=\"`os_type`\" pulumi-lang-yaml=\"`osType`\" pulumi-lang-java=\"`osType`\"\u003e`os_type`\u003c/span\u003e used in this Virtual Machine. For a Linux VM the name must be between 1-62 characters, and for a Windows VM the name must be between 1-15 characters. It must begin and end with a letter or number, and cannot be all numbers.\n","willReplaceOnChanges":true},"notes":{"type":"string","description":"Any notes about the Virtual Machine.\n"},"password":{"type":"string","description":"The Password associated with the \u003cspan pulumi-lang-nodejs=\"`username`\" pulumi-lang-dotnet=\"`Username`\" pulumi-lang-go=\"`username`\" pulumi-lang-python=\"`username`\" pulumi-lang-yaml=\"`username`\" pulumi-lang-java=\"`username`\"\u003e`username`\u003c/span\u003e used to login to this Virtual Machine. Changing this forces a new resource to be created.\n","secret":true,"willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the Dev Test Lab resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"size":{"type":"string","description":"The Machine Size to use for this Virtual Machine, such as `Standard_F2`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"storageType":{"type":"string","description":"The type of Storage to use on this Virtual Machine. Possible values are `Standard` and `Premium`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"uniqueIdentifier":{"type":"string","description":"The unique immutable identifier of the Virtual Machine.\n"},"username":{"type":"string","description":"The Username associated with the local administrator on this Virtual Machine. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:digitaltwins/endpointEventGrid:EndpointEventGrid":{"description":"Manages a Digital Twins Event Grid Endpoint.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example_resources\",\n    location: \"West Europe\",\n});\nconst exampleInstance = new azure.digitaltwins.Instance(\"example\", {\n    name: \"example-DT\",\n    resourceGroupName: example.name,\n    location: example.location,\n});\nconst exampleTopic = new azure.eventgrid.Topic(\"example\", {\n    name: \"example-topic\",\n    location: example.location,\n    resourceGroupName: example.name,\n});\nconst exampleEndpointEventGrid = new azure.digitaltwins.EndpointEventGrid(\"example\", {\n    name: \"example-EG\",\n    digitalTwinsId: exampleInstance.id,\n    eventgridTopicEndpoint: exampleTopic.endpoint,\n    eventgridTopicPrimaryAccessKey: exampleTopic.primaryAccessKey,\n    eventgridTopicSecondaryAccessKey: exampleTopic.secondaryAccessKey,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example_resources\",\n    location=\"West Europe\")\nexample_instance = azure.digitaltwins.Instance(\"example\",\n    name=\"example-DT\",\n    resource_group_name=example.name,\n    location=example.location)\nexample_topic = azure.eventgrid.Topic(\"example\",\n    name=\"example-topic\",\n    location=example.location,\n    resource_group_name=example.name)\nexample_endpoint_event_grid = azure.digitaltwins.EndpointEventGrid(\"example\",\n    name=\"example-EG\",\n    digital_twins_id=example_instance.id,\n    eventgrid_topic_endpoint=example_topic.endpoint,\n    eventgrid_topic_primary_access_key=example_topic.primary_access_key,\n    eventgrid_topic_secondary_access_key=example_topic.secondary_access_key)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example_resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleInstance = new Azure.DigitalTwins.Instance(\"example\", new()\n    {\n        Name = \"example-DT\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n    });\n\n    var exampleTopic = new Azure.EventGrid.Topic(\"example\", new()\n    {\n        Name = \"example-topic\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n    });\n\n    var exampleEndpointEventGrid = new Azure.DigitalTwins.EndpointEventGrid(\"example\", new()\n    {\n        Name = \"example-EG\",\n        DigitalTwinsId = exampleInstance.Id,\n        EventgridTopicEndpoint = exampleTopic.Endpoint,\n        EventgridTopicPrimaryAccessKey = exampleTopic.PrimaryAccessKey,\n        EventgridTopicSecondaryAccessKey = exampleTopic.SecondaryAccessKey,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/digitaltwins\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/eventgrid\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example_resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleInstance, err := digitaltwins.NewInstance(ctx, \"example\", \u0026digitaltwins.InstanceArgs{\n\t\t\tName:              pulumi.String(\"example-DT\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleTopic, err := eventgrid.NewTopic(ctx, \"example\", \u0026eventgrid.TopicArgs{\n\t\t\tName:              pulumi.String(\"example-topic\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = digitaltwins.NewEndpointEventGrid(ctx, \"example\", \u0026digitaltwins.EndpointEventGridArgs{\n\t\t\tName:                             pulumi.String(\"example-EG\"),\n\t\t\tDigitalTwinsId:                   exampleInstance.ID(),\n\t\t\tEventgridTopicEndpoint:           exampleTopic.Endpoint,\n\t\t\tEventgridTopicPrimaryAccessKey:   exampleTopic.PrimaryAccessKey,\n\t\t\tEventgridTopicSecondaryAccessKey: exampleTopic.SecondaryAccessKey,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.digitaltwins.Instance;\nimport com.pulumi.azure.digitaltwins.InstanceArgs;\nimport com.pulumi.azure.eventgrid.Topic;\nimport com.pulumi.azure.eventgrid.TopicArgs;\nimport com.pulumi.azure.digitaltwins.EndpointEventGrid;\nimport com.pulumi.azure.digitaltwins.EndpointEventGridArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example_resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleInstance = new Instance(\"exampleInstance\", InstanceArgs.builder()\n            .name(\"example-DT\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .build());\n\n        var exampleTopic = new Topic(\"exampleTopic\", TopicArgs.builder()\n            .name(\"example-topic\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .build());\n\n        var exampleEndpointEventGrid = new EndpointEventGrid(\"exampleEndpointEventGrid\", EndpointEventGridArgs.builder()\n            .name(\"example-EG\")\n            .digitalTwinsId(exampleInstance.id())\n            .eventgridTopicEndpoint(exampleTopic.endpoint())\n            .eventgridTopicPrimaryAccessKey(exampleTopic.primaryAccessKey())\n            .eventgridTopicSecondaryAccessKey(exampleTopic.secondaryAccessKey())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example_resources\n      location: West Europe\n  exampleInstance:\n    type: azure:digitaltwins:Instance\n    name: example\n    properties:\n      name: example-DT\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n  exampleTopic:\n    type: azure:eventgrid:Topic\n    name: example\n    properties:\n      name: example-topic\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n  exampleEndpointEventGrid:\n    type: azure:digitaltwins:EndpointEventGrid\n    name: example\n    properties:\n      name: example-EG\n      digitalTwinsId: ${exampleInstance.id}\n      eventgridTopicEndpoint: ${exampleTopic.endpoint}\n      eventgridTopicPrimaryAccessKey: ${exampleTopic.primaryAccessKey}\n      eventgridTopicSecondaryAccessKey: ${exampleTopic.secondaryAccessKey}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.DigitalTwins` - 2023-01-31\n\n## Import\n\nDigital Twins Eventgrid Endpoints can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:digitaltwins/endpointEventGrid:EndpointEventGrid example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.DigitalTwins/digitalTwinsInstances/dt1/endpoints/ep1\n```\n\n","properties":{"deadLetterStorageSecret":{"type":"string","description":"The storage secret of the dead-lettering, whose format is `https://\u003cstorageAccountname\u003e.blob.core.windows.net/\u003ccontainerName\u003e?\u003cSASToken\u003e`. When an endpoint can't deliver an event within a certain time period or after trying to deliver the event a certain number of times, it can send the undelivered event to a storage account.\n"},"digitalTwinsId":{"type":"string","description":"The resource ID of the Digital Twins Instance. Changing this forces a new Digital Twins Eventgrid Endpoint to be created.\n"},"eventgridTopicEndpoint":{"type":"string","description":"The endpoint of the Event Grid Topic.\n"},"eventgridTopicPrimaryAccessKey":{"type":"string","description":"The primary access key of the Event Grid Topic.\n"},"eventgridTopicSecondaryAccessKey":{"type":"string","description":"The secondary access key of the Event Grid Topic.\n"},"name":{"type":"string","description":"The name which should be used for this Digital Twins Eventgrid Endpoint. Changing this forces a new Digital Twins Eventgrid Endpoint to be created.\n"}},"required":["digitalTwinsId","eventgridTopicEndpoint","eventgridTopicPrimaryAccessKey","eventgridTopicSecondaryAccessKey","name"],"inputProperties":{"deadLetterStorageSecret":{"type":"string","description":"The storage secret of the dead-lettering, whose format is `https://\u003cstorageAccountname\u003e.blob.core.windows.net/\u003ccontainerName\u003e?\u003cSASToken\u003e`. When an endpoint can't deliver an event within a certain time period or after trying to deliver the event a certain number of times, it can send the undelivered event to a storage account.\n"},"digitalTwinsId":{"type":"string","description":"The resource ID of the Digital Twins Instance. Changing this forces a new Digital Twins Eventgrid Endpoint to be created.\n","willReplaceOnChanges":true},"eventgridTopicEndpoint":{"type":"string","description":"The endpoint of the Event Grid Topic.\n"},"eventgridTopicPrimaryAccessKey":{"type":"string","description":"The primary access key of the Event Grid Topic.\n"},"eventgridTopicSecondaryAccessKey":{"type":"string","description":"The secondary access key of the Event Grid Topic.\n"},"name":{"type":"string","description":"The name which should be used for this Digital Twins Eventgrid Endpoint. Changing this forces a new Digital Twins Eventgrid Endpoint to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["digitalTwinsId","eventgridTopicEndpoint","eventgridTopicPrimaryAccessKey","eventgridTopicSecondaryAccessKey"],"stateInputs":{"description":"Input properties used for looking up and filtering EndpointEventGrid resources.\n","properties":{"deadLetterStorageSecret":{"type":"string","description":"The storage secret of the dead-lettering, whose format is `https://\u003cstorageAccountname\u003e.blob.core.windows.net/\u003ccontainerName\u003e?\u003cSASToken\u003e`. When an endpoint can't deliver an event within a certain time period or after trying to deliver the event a certain number of times, it can send the undelivered event to a storage account.\n"},"digitalTwinsId":{"type":"string","description":"The resource ID of the Digital Twins Instance. Changing this forces a new Digital Twins Eventgrid Endpoint to be created.\n","willReplaceOnChanges":true},"eventgridTopicEndpoint":{"type":"string","description":"The endpoint of the Event Grid Topic.\n"},"eventgridTopicPrimaryAccessKey":{"type":"string","description":"The primary access key of the Event Grid Topic.\n"},"eventgridTopicSecondaryAccessKey":{"type":"string","description":"The secondary access key of the Event Grid Topic.\n"},"name":{"type":"string","description":"The name which should be used for this Digital Twins Eventgrid Endpoint. Changing this forces a new Digital Twins Eventgrid Endpoint to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:digitaltwins/endpointEventHub:EndpointEventHub":{"description":"Manages a Digital Twins Event Hub Endpoint.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example_resources\",\n    location: \"West Europe\",\n});\nconst exampleInstance = new azure.digitaltwins.Instance(\"example\", {\n    name: \"example-DT\",\n    resourceGroupName: example.name,\n    location: example.location,\n});\nconst exampleEventHubNamespace = new azure.eventhub.EventHubNamespace(\"example\", {\n    name: \"example-eh-ns\",\n    location: example.location,\n    resourceGroupName: example.name,\n    sku: \"Standard\",\n});\nconst exampleEventHub = new azure.eventhub.EventHub(\"example\", {\n    name: \"example-eh\",\n    namespaceName: exampleEventHubNamespace.name,\n    resourceGroupName: example.name,\n    partitionCount: 2,\n    messageRetention: 1,\n});\nconst exampleAuthorizationRule = new azure.eventhub.AuthorizationRule(\"example\", {\n    name: \"example-ar\",\n    namespaceName: exampleEventHubNamespace.name,\n    eventhubName: exampleEventHub.name,\n    resourceGroupName: example.name,\n    listen: false,\n    send: true,\n    manage: false,\n});\nconst exampleEndpointEventHub = new azure.digitaltwins.EndpointEventHub(\"example\", {\n    name: \"example-EH\",\n    digitalTwinsId: exampleInstance.id,\n    eventhubPrimaryConnectionString: exampleAuthorizationRule.primaryConnectionString,\n    eventhubSecondaryConnectionString: exampleAuthorizationRule.secondaryConnectionString,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example_resources\",\n    location=\"West Europe\")\nexample_instance = azure.digitaltwins.Instance(\"example\",\n    name=\"example-DT\",\n    resource_group_name=example.name,\n    location=example.location)\nexample_event_hub_namespace = azure.eventhub.EventHubNamespace(\"example\",\n    name=\"example-eh-ns\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku=\"Standard\")\nexample_event_hub = azure.eventhub.EventHub(\"example\",\n    name=\"example-eh\",\n    namespace_name=example_event_hub_namespace.name,\n    resource_group_name=example.name,\n    partition_count=2,\n    message_retention=1)\nexample_authorization_rule = azure.eventhub.AuthorizationRule(\"example\",\n    name=\"example-ar\",\n    namespace_name=example_event_hub_namespace.name,\n    eventhub_name=example_event_hub.name,\n    resource_group_name=example.name,\n    listen=False,\n    send=True,\n    manage=False)\nexample_endpoint_event_hub = azure.digitaltwins.EndpointEventHub(\"example\",\n    name=\"example-EH\",\n    digital_twins_id=example_instance.id,\n    eventhub_primary_connection_string=example_authorization_rule.primary_connection_string,\n    eventhub_secondary_connection_string=example_authorization_rule.secondary_connection_string)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example_resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleInstance = new Azure.DigitalTwins.Instance(\"example\", new()\n    {\n        Name = \"example-DT\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n    });\n\n    var exampleEventHubNamespace = new Azure.EventHub.EventHubNamespace(\"example\", new()\n    {\n        Name = \"example-eh-ns\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Sku = \"Standard\",\n    });\n\n    var exampleEventHub = new Azure.EventHub.EventHub(\"example\", new()\n    {\n        Name = \"example-eh\",\n        NamespaceName = exampleEventHubNamespace.Name,\n        ResourceGroupName = example.Name,\n        PartitionCount = 2,\n        MessageRetention = 1,\n    });\n\n    var exampleAuthorizationRule = new Azure.EventHub.AuthorizationRule(\"example\", new()\n    {\n        Name = \"example-ar\",\n        NamespaceName = exampleEventHubNamespace.Name,\n        EventhubName = exampleEventHub.Name,\n        ResourceGroupName = example.Name,\n        Listen = false,\n        Send = true,\n        Manage = false,\n    });\n\n    var exampleEndpointEventHub = new Azure.DigitalTwins.EndpointEventHub(\"example\", new()\n    {\n        Name = \"example-EH\",\n        DigitalTwinsId = exampleInstance.Id,\n        EventhubPrimaryConnectionString = exampleAuthorizationRule.PrimaryConnectionString,\n        EventhubSecondaryConnectionString = exampleAuthorizationRule.SecondaryConnectionString,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/digitaltwins\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/eventhub\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example_resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleInstance, err := digitaltwins.NewInstance(ctx, \"example\", \u0026digitaltwins.InstanceArgs{\n\t\t\tName:              pulumi.String(\"example-DT\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleEventHubNamespace, err := eventhub.NewEventHubNamespace(ctx, \"example\", \u0026eventhub.EventHubNamespaceArgs{\n\t\t\tName:              pulumi.String(\"example-eh-ns\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSku:               pulumi.String(\"Standard\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleEventHub, err := eventhub.NewEventHub(ctx, \"example\", \u0026eventhub.EventHubArgs{\n\t\t\tName:              pulumi.String(\"example-eh\"),\n\t\t\tNamespaceName:     exampleEventHubNamespace.Name,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tPartitionCount:    pulumi.Int(2),\n\t\t\tMessageRetention:  pulumi.Int(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAuthorizationRule, err := eventhub.NewAuthorizationRule(ctx, \"example\", \u0026eventhub.AuthorizationRuleArgs{\n\t\t\tName:              pulumi.String(\"example-ar\"),\n\t\t\tNamespaceName:     exampleEventHubNamespace.Name,\n\t\t\tEventhubName:      exampleEventHub.Name,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tListen:            pulumi.Bool(false),\n\t\t\tSend:              pulumi.Bool(true),\n\t\t\tManage:            pulumi.Bool(false),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = digitaltwins.NewEndpointEventHub(ctx, \"example\", \u0026digitaltwins.EndpointEventHubArgs{\n\t\t\tName:                              pulumi.String(\"example-EH\"),\n\t\t\tDigitalTwinsId:                    exampleInstance.ID(),\n\t\t\tEventhubPrimaryConnectionString:   exampleAuthorizationRule.PrimaryConnectionString,\n\t\t\tEventhubSecondaryConnectionString: exampleAuthorizationRule.SecondaryConnectionString,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.digitaltwins.Instance;\nimport com.pulumi.azure.digitaltwins.InstanceArgs;\nimport com.pulumi.azure.eventhub.EventHubNamespace;\nimport com.pulumi.azure.eventhub.EventHubNamespaceArgs;\nimport com.pulumi.azure.eventhub.EventHub;\nimport com.pulumi.azure.eventhub.EventHubArgs;\nimport com.pulumi.azure.eventhub.AuthorizationRule;\nimport com.pulumi.azure.eventhub.AuthorizationRuleArgs;\nimport com.pulumi.azure.digitaltwins.EndpointEventHub;\nimport com.pulumi.azure.digitaltwins.EndpointEventHubArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example_resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleInstance = new Instance(\"exampleInstance\", InstanceArgs.builder()\n            .name(\"example-DT\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .build());\n\n        var exampleEventHubNamespace = new EventHubNamespace(\"exampleEventHubNamespace\", EventHubNamespaceArgs.builder()\n            .name(\"example-eh-ns\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .sku(\"Standard\")\n            .build());\n\n        var exampleEventHub = new EventHub(\"exampleEventHub\", EventHubArgs.builder()\n            .name(\"example-eh\")\n            .namespaceName(exampleEventHubNamespace.name())\n            .resourceGroupName(example.name())\n            .partitionCount(2)\n            .messageRetention(1)\n            .build());\n\n        var exampleAuthorizationRule = new AuthorizationRule(\"exampleAuthorizationRule\", AuthorizationRuleArgs.builder()\n            .name(\"example-ar\")\n            .namespaceName(exampleEventHubNamespace.name())\n            .eventhubName(exampleEventHub.name())\n            .resourceGroupName(example.name())\n            .listen(false)\n            .send(true)\n            .manage(false)\n            .build());\n\n        var exampleEndpointEventHub = new EndpointEventHub(\"exampleEndpointEventHub\", EndpointEventHubArgs.builder()\n            .name(\"example-EH\")\n            .digitalTwinsId(exampleInstance.id())\n            .eventhubPrimaryConnectionString(exampleAuthorizationRule.primaryConnectionString())\n            .eventhubSecondaryConnectionString(exampleAuthorizationRule.secondaryConnectionString())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example_resources\n      location: West Europe\n  exampleInstance:\n    type: azure:digitaltwins:Instance\n    name: example\n    properties:\n      name: example-DT\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n  exampleEventHubNamespace:\n    type: azure:eventhub:EventHubNamespace\n    name: example\n    properties:\n      name: example-eh-ns\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      sku: Standard\n  exampleEventHub:\n    type: azure:eventhub:EventHub\n    name: example\n    properties:\n      name: example-eh\n      namespaceName: ${exampleEventHubNamespace.name}\n      resourceGroupName: ${example.name}\n      partitionCount: 2\n      messageRetention: 1\n  exampleAuthorizationRule:\n    type: azure:eventhub:AuthorizationRule\n    name: example\n    properties:\n      name: example-ar\n      namespaceName: ${exampleEventHubNamespace.name}\n      eventhubName: ${exampleEventHub.name}\n      resourceGroupName: ${example.name}\n      listen: false\n      send: true\n      manage: false\n  exampleEndpointEventHub:\n    type: azure:digitaltwins:EndpointEventHub\n    name: example\n    properties:\n      name: example-EH\n      digitalTwinsId: ${exampleInstance.id}\n      eventhubPrimaryConnectionString: ${exampleAuthorizationRule.primaryConnectionString}\n      eventhubSecondaryConnectionString: ${exampleAuthorizationRule.secondaryConnectionString}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.DigitalTwins` - 2023-01-31\n\n## Import\n\nDigital Twins Eventhub Endpoints can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:digitaltwins/endpointEventHub:EndpointEventHub example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.DigitalTwins/digitalTwinsInstances/dt1/endpoints/ep1\n```\n\n","properties":{"deadLetterStorageSecret":{"type":"string","description":"The storage secret of the dead-lettering, whose format is `https://\u003cstorageAccountname\u003e.blob.core.windows.net/\u003ccontainerName\u003e?\u003cSASToken\u003e`. When an endpoint can't deliver an event within a certain time period or after trying to deliver the event a certain number of times, it can send the undelivered event to a storage account.\n","secret":true},"digitalTwinsId":{"type":"string","description":"The resource ID of the Digital Twins Instance. Changing this forces a new Digital Twins Event Hub Endpoint to be created.\n"},"eventhubPrimaryConnectionString":{"type":"string","description":"The primary connection string of the Event Hub Authorization Rule with a minimum of \u003cspan pulumi-lang-nodejs=\"`send`\" pulumi-lang-dotnet=\"`Send`\" pulumi-lang-go=\"`send`\" pulumi-lang-python=\"`send`\" pulumi-lang-yaml=\"`send`\" pulumi-lang-java=\"`send`\"\u003e`send`\u003c/span\u003e permission.\n","secret":true},"eventhubSecondaryConnectionString":{"type":"string","description":"The secondary connection string of the Event Hub Authorization Rule with a minimum of \u003cspan pulumi-lang-nodejs=\"`send`\" pulumi-lang-dotnet=\"`Send`\" pulumi-lang-go=\"`send`\" pulumi-lang-python=\"`send`\" pulumi-lang-yaml=\"`send`\" pulumi-lang-java=\"`send`\"\u003e`send`\u003c/span\u003e permission.\n","secret":true},"name":{"type":"string","description":"The name which should be used for this Digital Twins Event Hub Endpoint. Changing this forces a new Digital Twins Event Hub Endpoint to be created.\n"}},"required":["digitalTwinsId","eventhubPrimaryConnectionString","eventhubSecondaryConnectionString","name"],"inputProperties":{"deadLetterStorageSecret":{"type":"string","description":"The storage secret of the dead-lettering, whose format is `https://\u003cstorageAccountname\u003e.blob.core.windows.net/\u003ccontainerName\u003e?\u003cSASToken\u003e`. When an endpoint can't deliver an event within a certain time period or after trying to deliver the event a certain number of times, it can send the undelivered event to a storage account.\n","secret":true},"digitalTwinsId":{"type":"string","description":"The resource ID of the Digital Twins Instance. Changing this forces a new Digital Twins Event Hub Endpoint to be created.\n","willReplaceOnChanges":true},"eventhubPrimaryConnectionString":{"type":"string","description":"The primary connection string of the Event Hub Authorization Rule with a minimum of \u003cspan pulumi-lang-nodejs=\"`send`\" pulumi-lang-dotnet=\"`Send`\" pulumi-lang-go=\"`send`\" pulumi-lang-python=\"`send`\" pulumi-lang-yaml=\"`send`\" pulumi-lang-java=\"`send`\"\u003e`send`\u003c/span\u003e permission.\n","secret":true},"eventhubSecondaryConnectionString":{"type":"string","description":"The secondary connection string of the Event Hub Authorization Rule with a minimum of \u003cspan pulumi-lang-nodejs=\"`send`\" pulumi-lang-dotnet=\"`Send`\" pulumi-lang-go=\"`send`\" pulumi-lang-python=\"`send`\" pulumi-lang-yaml=\"`send`\" pulumi-lang-java=\"`send`\"\u003e`send`\u003c/span\u003e permission.\n","secret":true},"name":{"type":"string","description":"The name which should be used for this Digital Twins Event Hub Endpoint. Changing this forces a new Digital Twins Event Hub Endpoint to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["digitalTwinsId","eventhubPrimaryConnectionString","eventhubSecondaryConnectionString"],"stateInputs":{"description":"Input properties used for looking up and filtering EndpointEventHub resources.\n","properties":{"deadLetterStorageSecret":{"type":"string","description":"The storage secret of the dead-lettering, whose format is `https://\u003cstorageAccountname\u003e.blob.core.windows.net/\u003ccontainerName\u003e?\u003cSASToken\u003e`. When an endpoint can't deliver an event within a certain time period or after trying to deliver the event a certain number of times, it can send the undelivered event to a storage account.\n","secret":true},"digitalTwinsId":{"type":"string","description":"The resource ID of the Digital Twins Instance. Changing this forces a new Digital Twins Event Hub Endpoint to be created.\n","willReplaceOnChanges":true},"eventhubPrimaryConnectionString":{"type":"string","description":"The primary connection string of the Event Hub Authorization Rule with a minimum of \u003cspan pulumi-lang-nodejs=\"`send`\" pulumi-lang-dotnet=\"`Send`\" pulumi-lang-go=\"`send`\" pulumi-lang-python=\"`send`\" pulumi-lang-yaml=\"`send`\" pulumi-lang-java=\"`send`\"\u003e`send`\u003c/span\u003e permission.\n","secret":true},"eventhubSecondaryConnectionString":{"type":"string","description":"The secondary connection string of the Event Hub Authorization Rule with a minimum of \u003cspan pulumi-lang-nodejs=\"`send`\" pulumi-lang-dotnet=\"`Send`\" pulumi-lang-go=\"`send`\" pulumi-lang-python=\"`send`\" pulumi-lang-yaml=\"`send`\" pulumi-lang-java=\"`send`\"\u003e`send`\u003c/span\u003e permission.\n","secret":true},"name":{"type":"string","description":"The name which should be used for this Digital Twins Event Hub Endpoint. Changing this forces a new Digital Twins Event Hub Endpoint to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:digitaltwins/endpointServicebus:EndpointServicebus":{"description":"Manages a Digital Twins Service Bus Endpoint.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example_resources\",\n    location: \"West Europe\",\n});\nconst exampleInstance = new azure.digitaltwins.Instance(\"example\", {\n    name: \"example-DT\",\n    resourceGroupName: example.name,\n    location: example.location,\n});\nconst exampleNamespace = new azure.servicebus.Namespace(\"example\", {\n    name: \"exampleservicebusnamespace\",\n    location: example.location,\n    resourceGroupName: example.name,\n    sku: \"Standard\",\n});\nconst exampleTopic = new azure.servicebus.Topic(\"example\", {\n    name: \"exampleservicebustopic\",\n    namespaceId: exampleNamespace.id,\n});\nconst exampleTopicAuthorizationRule = new azure.servicebus.TopicAuthorizationRule(\"example\", {\n    name: \"example-rule\",\n    topicId: exampleTopic.id,\n    listen: false,\n    send: true,\n    manage: false,\n});\nconst exampleEndpointServicebus = new azure.digitaltwins.EndpointServicebus(\"example\", {\n    name: \"example-EndpointSB\",\n    digitalTwinsId: exampleInstance.id,\n    servicebusPrimaryConnectionString: exampleTopicAuthorizationRule.primaryConnectionString,\n    servicebusSecondaryConnectionString: exampleTopicAuthorizationRule.secondaryConnectionString,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example_resources\",\n    location=\"West Europe\")\nexample_instance = azure.digitaltwins.Instance(\"example\",\n    name=\"example-DT\",\n    resource_group_name=example.name,\n    location=example.location)\nexample_namespace = azure.servicebus.Namespace(\"example\",\n    name=\"exampleservicebusnamespace\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku=\"Standard\")\nexample_topic = azure.servicebus.Topic(\"example\",\n    name=\"exampleservicebustopic\",\n    namespace_id=example_namespace.id)\nexample_topic_authorization_rule = azure.servicebus.TopicAuthorizationRule(\"example\",\n    name=\"example-rule\",\n    topic_id=example_topic.id,\n    listen=False,\n    send=True,\n    manage=False)\nexample_endpoint_servicebus = azure.digitaltwins.EndpointServicebus(\"example\",\n    name=\"example-EndpointSB\",\n    digital_twins_id=example_instance.id,\n    servicebus_primary_connection_string=example_topic_authorization_rule.primary_connection_string,\n    servicebus_secondary_connection_string=example_topic_authorization_rule.secondary_connection_string)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example_resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleInstance = new Azure.DigitalTwins.Instance(\"example\", new()\n    {\n        Name = \"example-DT\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n    });\n\n    var exampleNamespace = new Azure.ServiceBus.Namespace(\"example\", new()\n    {\n        Name = \"exampleservicebusnamespace\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Sku = \"Standard\",\n    });\n\n    var exampleTopic = new Azure.ServiceBus.Topic(\"example\", new()\n    {\n        Name = \"exampleservicebustopic\",\n        NamespaceId = exampleNamespace.Id,\n    });\n\n    var exampleTopicAuthorizationRule = new Azure.ServiceBus.TopicAuthorizationRule(\"example\", new()\n    {\n        Name = \"example-rule\",\n        TopicId = exampleTopic.Id,\n        Listen = false,\n        Send = true,\n        Manage = false,\n    });\n\n    var exampleEndpointServicebus = new Azure.DigitalTwins.EndpointServicebus(\"example\", new()\n    {\n        Name = \"example-EndpointSB\",\n        DigitalTwinsId = exampleInstance.Id,\n        ServicebusPrimaryConnectionString = exampleTopicAuthorizationRule.PrimaryConnectionString,\n        ServicebusSecondaryConnectionString = exampleTopicAuthorizationRule.SecondaryConnectionString,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/digitaltwins\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/servicebus\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example_resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleInstance, err := digitaltwins.NewInstance(ctx, \"example\", \u0026digitaltwins.InstanceArgs{\n\t\t\tName:              pulumi.String(\"example-DT\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNamespace, err := servicebus.NewNamespace(ctx, \"example\", \u0026servicebus.NamespaceArgs{\n\t\t\tName:              pulumi.String(\"exampleservicebusnamespace\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSku:               pulumi.String(\"Standard\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleTopic, err := servicebus.NewTopic(ctx, \"example\", \u0026servicebus.TopicArgs{\n\t\t\tName:        pulumi.String(\"exampleservicebustopic\"),\n\t\t\tNamespaceId: exampleNamespace.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleTopicAuthorizationRule, err := servicebus.NewTopicAuthorizationRule(ctx, \"example\", \u0026servicebus.TopicAuthorizationRuleArgs{\n\t\t\tName:    pulumi.String(\"example-rule\"),\n\t\t\tTopicId: exampleTopic.ID(),\n\t\t\tListen:  pulumi.Bool(false),\n\t\t\tSend:    pulumi.Bool(true),\n\t\t\tManage:  pulumi.Bool(false),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = digitaltwins.NewEndpointServicebus(ctx, \"example\", \u0026digitaltwins.EndpointServicebusArgs{\n\t\t\tName:                                pulumi.String(\"example-EndpointSB\"),\n\t\t\tDigitalTwinsId:                      exampleInstance.ID(),\n\t\t\tServicebusPrimaryConnectionString:   exampleTopicAuthorizationRule.PrimaryConnectionString,\n\t\t\tServicebusSecondaryConnectionString: exampleTopicAuthorizationRule.SecondaryConnectionString,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.digitaltwins.Instance;\nimport com.pulumi.azure.digitaltwins.InstanceArgs;\nimport com.pulumi.azure.servicebus.Namespace;\nimport com.pulumi.azure.servicebus.NamespaceArgs;\nimport com.pulumi.azure.servicebus.Topic;\nimport com.pulumi.azure.servicebus.TopicArgs;\nimport com.pulumi.azure.servicebus.TopicAuthorizationRule;\nimport com.pulumi.azure.servicebus.TopicAuthorizationRuleArgs;\nimport com.pulumi.azure.digitaltwins.EndpointServicebus;\nimport com.pulumi.azure.digitaltwins.EndpointServicebusArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example_resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleInstance = new Instance(\"exampleInstance\", InstanceArgs.builder()\n            .name(\"example-DT\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .build());\n\n        var exampleNamespace = new Namespace(\"exampleNamespace\", NamespaceArgs.builder()\n            .name(\"exampleservicebusnamespace\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .sku(\"Standard\")\n            .build());\n\n        var exampleTopic = new Topic(\"exampleTopic\", TopicArgs.builder()\n            .name(\"exampleservicebustopic\")\n            .namespaceId(exampleNamespace.id())\n            .build());\n\n        var exampleTopicAuthorizationRule = new TopicAuthorizationRule(\"exampleTopicAuthorizationRule\", TopicAuthorizationRuleArgs.builder()\n            .name(\"example-rule\")\n            .topicId(exampleTopic.id())\n            .listen(false)\n            .send(true)\n            .manage(false)\n            .build());\n\n        var exampleEndpointServicebus = new EndpointServicebus(\"exampleEndpointServicebus\", EndpointServicebusArgs.builder()\n            .name(\"example-EndpointSB\")\n            .digitalTwinsId(exampleInstance.id())\n            .servicebusPrimaryConnectionString(exampleTopicAuthorizationRule.primaryConnectionString())\n            .servicebusSecondaryConnectionString(exampleTopicAuthorizationRule.secondaryConnectionString())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example_resources\n      location: West Europe\n  exampleInstance:\n    type: azure:digitaltwins:Instance\n    name: example\n    properties:\n      name: example-DT\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n  exampleNamespace:\n    type: azure:servicebus:Namespace\n    name: example\n    properties:\n      name: exampleservicebusnamespace\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      sku: Standard\n  exampleTopic:\n    type: azure:servicebus:Topic\n    name: example\n    properties:\n      name: exampleservicebustopic\n      namespaceId: ${exampleNamespace.id}\n  exampleTopicAuthorizationRule:\n    type: azure:servicebus:TopicAuthorizationRule\n    name: example\n    properties:\n      name: example-rule\n      topicId: ${exampleTopic.id}\n      listen: false\n      send: true\n      manage: false\n  exampleEndpointServicebus:\n    type: azure:digitaltwins:EndpointServicebus\n    name: example\n    properties:\n      name: example-EndpointSB\n      digitalTwinsId: ${exampleInstance.id}\n      servicebusPrimaryConnectionString: ${exampleTopicAuthorizationRule.primaryConnectionString}\n      servicebusSecondaryConnectionString: ${exampleTopicAuthorizationRule.secondaryConnectionString}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.DigitalTwins` - 2023-01-31\n\n## Import\n\nDigital Twins Service Bus Endpoints can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:digitaltwins/endpointServicebus:EndpointServicebus example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.DigitalTwins/digitalTwinsInstances/dt1/endpoints/ep1\n```\n\n","properties":{"deadLetterStorageSecret":{"type":"string","description":"The storage secret of the dead-lettering, whose format is `https://\u003cstorageAccountname\u003e.blob.core.windows.net/\u003ccontainerName\u003e?\u003cSASToken\u003e`. When an endpoint can't deliver an event within a certain time period or after trying to deliver the event a certain number of times, it can send the undelivered event to a storage account.\n","secret":true},"digitalTwinsId":{"type":"string","description":"The ID of the Digital Twins Instance. Changing this forces a new Digital Twins Service Bus Endpoint to be created.\n"},"name":{"type":"string","description":"The name which should be used for this Digital Twins Service Bus Endpoint. Changing this forces a new Digital Twins Service Bus Endpoint to be created.\n"},"servicebusPrimaryConnectionString":{"type":"string","description":"The primary connection string of the Service Bus Topic Authorization Rule with a minimum of \u003cspan pulumi-lang-nodejs=\"`send`\" pulumi-lang-dotnet=\"`Send`\" pulumi-lang-go=\"`send`\" pulumi-lang-python=\"`send`\" pulumi-lang-yaml=\"`send`\" pulumi-lang-java=\"`send`\"\u003e`send`\u003c/span\u003e permission. .\n","secret":true},"servicebusSecondaryConnectionString":{"type":"string","description":"The secondary connection string of the Service Bus Topic Authorization Rule with a minimum of \u003cspan pulumi-lang-nodejs=\"`send`\" pulumi-lang-dotnet=\"`Send`\" pulumi-lang-go=\"`send`\" pulumi-lang-python=\"`send`\" pulumi-lang-yaml=\"`send`\" pulumi-lang-java=\"`send`\"\u003e`send`\u003c/span\u003e permission.\n","secret":true}},"required":["digitalTwinsId","name","servicebusPrimaryConnectionString","servicebusSecondaryConnectionString"],"inputProperties":{"deadLetterStorageSecret":{"type":"string","description":"The storage secret of the dead-lettering, whose format is `https://\u003cstorageAccountname\u003e.blob.core.windows.net/\u003ccontainerName\u003e?\u003cSASToken\u003e`. When an endpoint can't deliver an event within a certain time period or after trying to deliver the event a certain number of times, it can send the undelivered event to a storage account.\n","secret":true},"digitalTwinsId":{"type":"string","description":"The ID of the Digital Twins Instance. Changing this forces a new Digital Twins Service Bus Endpoint to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Digital Twins Service Bus Endpoint. Changing this forces a new Digital Twins Service Bus Endpoint to be created.\n","willReplaceOnChanges":true},"servicebusPrimaryConnectionString":{"type":"string","description":"The primary connection string of the Service Bus Topic Authorization Rule with a minimum of \u003cspan pulumi-lang-nodejs=\"`send`\" pulumi-lang-dotnet=\"`Send`\" pulumi-lang-go=\"`send`\" pulumi-lang-python=\"`send`\" pulumi-lang-yaml=\"`send`\" pulumi-lang-java=\"`send`\"\u003e`send`\u003c/span\u003e permission. .\n","secret":true},"servicebusSecondaryConnectionString":{"type":"string","description":"The secondary connection string of the Service Bus Topic Authorization Rule with a minimum of \u003cspan pulumi-lang-nodejs=\"`send`\" pulumi-lang-dotnet=\"`Send`\" pulumi-lang-go=\"`send`\" pulumi-lang-python=\"`send`\" pulumi-lang-yaml=\"`send`\" pulumi-lang-java=\"`send`\"\u003e`send`\u003c/span\u003e permission.\n","secret":true}},"requiredInputs":["digitalTwinsId","servicebusPrimaryConnectionString","servicebusSecondaryConnectionString"],"stateInputs":{"description":"Input properties used for looking up and filtering EndpointServicebus resources.\n","properties":{"deadLetterStorageSecret":{"type":"string","description":"The storage secret of the dead-lettering, whose format is `https://\u003cstorageAccountname\u003e.blob.core.windows.net/\u003ccontainerName\u003e?\u003cSASToken\u003e`. When an endpoint can't deliver an event within a certain time period or after trying to deliver the event a certain number of times, it can send the undelivered event to a storage account.\n","secret":true},"digitalTwinsId":{"type":"string","description":"The ID of the Digital Twins Instance. Changing this forces a new Digital Twins Service Bus Endpoint to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Digital Twins Service Bus Endpoint. Changing this forces a new Digital Twins Service Bus Endpoint to be created.\n","willReplaceOnChanges":true},"servicebusPrimaryConnectionString":{"type":"string","description":"The primary connection string of the Service Bus Topic Authorization Rule with a minimum of \u003cspan pulumi-lang-nodejs=\"`send`\" pulumi-lang-dotnet=\"`Send`\" pulumi-lang-go=\"`send`\" pulumi-lang-python=\"`send`\" pulumi-lang-yaml=\"`send`\" pulumi-lang-java=\"`send`\"\u003e`send`\u003c/span\u003e permission. .\n","secret":true},"servicebusSecondaryConnectionString":{"type":"string","description":"The secondary connection string of the Service Bus Topic Authorization Rule with a minimum of \u003cspan pulumi-lang-nodejs=\"`send`\" pulumi-lang-dotnet=\"`Send`\" pulumi-lang-go=\"`send`\" pulumi-lang-python=\"`send`\" pulumi-lang-yaml=\"`send`\" pulumi-lang-java=\"`send`\"\u003e`send`\u003c/span\u003e permission.\n","secret":true}},"type":"object"}},"azure:digitaltwins/instance:Instance":{"description":"Manages a Digital Twins instance.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example_resources\",\n    location: \"West Europe\",\n});\nconst exampleInstance = new azure.digitaltwins.Instance(\"example\", {\n    name: \"example-DT\",\n    resourceGroupName: example.name,\n    location: example.location,\n    tags: {\n        foo: \"bar\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example_resources\",\n    location=\"West Europe\")\nexample_instance = azure.digitaltwins.Instance(\"example\",\n    name=\"example-DT\",\n    resource_group_name=example.name,\n    location=example.location,\n    tags={\n        \"foo\": \"bar\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example_resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleInstance = new Azure.DigitalTwins.Instance(\"example\", new()\n    {\n        Name = \"example-DT\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        Tags = \n        {\n            { \"foo\", \"bar\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/digitaltwins\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example_resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = digitaltwins.NewInstance(ctx, \"example\", \u0026digitaltwins.InstanceArgs{\n\t\t\tName:              pulumi.String(\"example-DT\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"foo\": pulumi.String(\"bar\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.digitaltwins.Instance;\nimport com.pulumi.azure.digitaltwins.InstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example_resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleInstance = new Instance(\"exampleInstance\", InstanceArgs.builder()\n            .name(\"example-DT\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .tags(Map.of(\"foo\", \"bar\"))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example_resources\n      location: West Europe\n  exampleInstance:\n    type: azure:digitaltwins:Instance\n    name: example\n    properties:\n      name: example-DT\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      tags:\n        foo: bar\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.DigitalTwins` - 2023-01-31\n\n## Import\n\nDigital Twins instances can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:digitaltwins/instance:Instance example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.DigitalTwins/digitalTwinsInstances/dt1\n```\n\n","properties":{"hostName":{"type":"string","description":"The API endpoint to work with this Digital Twins instance.\n"},"identity":{"$ref":"#/types/azure:digitaltwins/InstanceIdentity:InstanceIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"location":{"type":"string","description":"The Azure Region where the Digital Twins instance should exist. Changing this forces a new Digital Twins instance to be created.\n"},"name":{"type":"string","description":"The name which should be used for this Digital Twins instance. Changing this forces a new Digital Twins instance to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Digital Twins instance should exist. Changing this forces a new Digital Twins instance to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Digital Twins instance.\n"}},"required":["hostName","location","name","resourceGroupName"],"inputProperties":{"identity":{"$ref":"#/types/azure:digitaltwins/InstanceIdentity:InstanceIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"location":{"type":"string","description":"The Azure Region where the Digital Twins instance should exist. Changing this forces a new Digital Twins instance to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Digital Twins instance. Changing this forces a new Digital Twins instance to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Digital Twins instance should exist. Changing this forces a new Digital Twins instance to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Digital Twins instance.\n"}},"requiredInputs":["resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering Instance resources.\n","properties":{"hostName":{"type":"string","description":"The API endpoint to work with this Digital Twins instance.\n"},"identity":{"$ref":"#/types/azure:digitaltwins/InstanceIdentity:InstanceIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"location":{"type":"string","description":"The Azure Region where the Digital Twins instance should exist. Changing this forces a new Digital Twins instance to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Digital Twins instance. Changing this forces a new Digital Twins instance to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Digital Twins instance should exist. Changing this forces a new Digital Twins instance to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Digital Twins instance.\n"}},"type":"object"}},"azure:digitaltwins/timeSeriesDatabaseConnection:TimeSeriesDatabaseConnection":{"description":"Manages a Digital Twins Time Series Database Connection.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleInstance = new azure.digitaltwins.Instance(\"example\", {\n    name: \"example-DT\",\n    resourceGroupName: example.name,\n    location: example.location,\n    identity: {\n        type: \"SystemAssigned\",\n    },\n});\nconst exampleEventHubNamespace = new azure.eventhub.EventHubNamespace(\"example\", {\n    name: \"exampleEventHubNamespace\",\n    location: example.location,\n    resourceGroupName: example.name,\n    sku: \"Standard\",\n});\nconst exampleEventHub = new azure.eventhub.EventHub(\"example\", {\n    name: \"exampleEventHub\",\n    namespaceName: exampleEventHubNamespace.name,\n    resourceGroupName: example.name,\n    partitionCount: 2,\n    messageRetention: 7,\n});\nconst exampleConsumerGroup = new azure.eventhub.ConsumerGroup(\"example\", {\n    name: \"example-consumergroup\",\n    namespaceName: exampleEventHubNamespace.name,\n    eventhubName: exampleEventHub.name,\n    resourceGroupName: example.name,\n});\nconst exampleCluster = new azure.kusto.Cluster(\"example\", {\n    name: \"examplekc\",\n    location: example.location,\n    resourceGroupName: example.name,\n    sku: {\n        name: \"Dev(No SLA)_Standard_D11_v2\",\n        capacity: 1,\n    },\n});\nconst exampleDatabase = new azure.kusto.Database(\"example\", {\n    name: \"example-kusto-database\",\n    resourceGroupName: example.name,\n    location: example.location,\n    clusterName: exampleCluster.name,\n});\nconst databaseContributor = new azure.authorization.Assignment(\"database_contributor\", {\n    scope: exampleDatabase.id,\n    principalId: exampleInstance.identity.apply(identity =\u003e identity?.principalId),\n    roleDefinitionName: \"Contributor\",\n});\nconst eventhubDataOwner = new azure.authorization.Assignment(\"eventhub_data_owner\", {\n    scope: exampleEventHub.id,\n    principalId: exampleInstance.identity.apply(identity =\u003e identity?.principalId),\n    roleDefinitionName: \"Azure Event Hubs Data Owner\",\n});\nconst exampleDatabasePrincipalAssignment = new azure.kusto.DatabasePrincipalAssignment(\"example\", {\n    name: \"dataadmin\",\n    resourceGroupName: example.name,\n    clusterName: exampleCluster.name,\n    databaseName: exampleDatabase.name,\n    tenantId: exampleInstance.identity.apply(identity =\u003e identity?.tenantId),\n    principalId: exampleInstance.identity.apply(identity =\u003e identity?.principalId),\n    principalType: \"App\",\n    role: \"Admin\",\n});\nconst exampleTimeSeriesDatabaseConnection = new azure.digitaltwins.TimeSeriesDatabaseConnection(\"example\", {\n    name: \"example-connection\",\n    digitalTwinsId: exampleInstance.id,\n    eventhubName: exampleEventHub.name,\n    eventhubNamespaceId: exampleEventHubNamespace.id,\n    eventhubNamespaceEndpointUri: pulumi.interpolate`sb://${exampleEventHubNamespace.name}.servicebus.windows.net`,\n    eventhubConsumerGroupName: exampleConsumerGroup.name,\n    kustoClusterId: exampleCluster.id,\n    kustoClusterUri: exampleCluster.uri,\n    kustoDatabaseName: exampleDatabase.name,\n    kustoTableName: \"exampleTable\",\n}, {\n    dependsOn: [\n        databaseContributor,\n        eventhubDataOwner,\n        exampleDatabasePrincipalAssignment,\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_instance = azure.digitaltwins.Instance(\"example\",\n    name=\"example-DT\",\n    resource_group_name=example.name,\n    location=example.location,\n    identity={\n        \"type\": \"SystemAssigned\",\n    })\nexample_event_hub_namespace = azure.eventhub.EventHubNamespace(\"example\",\n    name=\"exampleEventHubNamespace\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku=\"Standard\")\nexample_event_hub = azure.eventhub.EventHub(\"example\",\n    name=\"exampleEventHub\",\n    namespace_name=example_event_hub_namespace.name,\n    resource_group_name=example.name,\n    partition_count=2,\n    message_retention=7)\nexample_consumer_group = azure.eventhub.ConsumerGroup(\"example\",\n    name=\"example-consumergroup\",\n    namespace_name=example_event_hub_namespace.name,\n    eventhub_name=example_event_hub.name,\n    resource_group_name=example.name)\nexample_cluster = azure.kusto.Cluster(\"example\",\n    name=\"examplekc\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku={\n        \"name\": \"Dev(No SLA)_Standard_D11_v2\",\n        \"capacity\": 1,\n    })\nexample_database = azure.kusto.Database(\"example\",\n    name=\"example-kusto-database\",\n    resource_group_name=example.name,\n    location=example.location,\n    cluster_name=example_cluster.name)\ndatabase_contributor = azure.authorization.Assignment(\"database_contributor\",\n    scope=example_database.id,\n    principal_id=example_instance.identity.principal_id,\n    role_definition_name=\"Contributor\")\neventhub_data_owner = azure.authorization.Assignment(\"eventhub_data_owner\",\n    scope=example_event_hub.id,\n    principal_id=example_instance.identity.principal_id,\n    role_definition_name=\"Azure Event Hubs Data Owner\")\nexample_database_principal_assignment = azure.kusto.DatabasePrincipalAssignment(\"example\",\n    name=\"dataadmin\",\n    resource_group_name=example.name,\n    cluster_name=example_cluster.name,\n    database_name=example_database.name,\n    tenant_id=example_instance.identity.tenant_id,\n    principal_id=example_instance.identity.principal_id,\n    principal_type=\"App\",\n    role=\"Admin\")\nexample_time_series_database_connection = azure.digitaltwins.TimeSeriesDatabaseConnection(\"example\",\n    name=\"example-connection\",\n    digital_twins_id=example_instance.id,\n    eventhub_name=example_event_hub.name,\n    eventhub_namespace_id=example_event_hub_namespace.id,\n    eventhub_namespace_endpoint_uri=example_event_hub_namespace.name.apply(lambda name: f\"sb://{name}.servicebus.windows.net\"),\n    eventhub_consumer_group_name=example_consumer_group.name,\n    kusto_cluster_id=example_cluster.id,\n    kusto_cluster_uri=example_cluster.uri,\n    kusto_database_name=example_database.name,\n    kusto_table_name=\"exampleTable\",\n    opts = pulumi.ResourceOptions(depends_on=[\n            database_contributor,\n            eventhub_data_owner,\n            example_database_principal_assignment,\n        ]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleInstance = new Azure.DigitalTwins.Instance(\"example\", new()\n    {\n        Name = \"example-DT\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        Identity = new Azure.DigitalTwins.Inputs.InstanceIdentityArgs\n        {\n            Type = \"SystemAssigned\",\n        },\n    });\n\n    var exampleEventHubNamespace = new Azure.EventHub.EventHubNamespace(\"example\", new()\n    {\n        Name = \"exampleEventHubNamespace\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Sku = \"Standard\",\n    });\n\n    var exampleEventHub = new Azure.EventHub.EventHub(\"example\", new()\n    {\n        Name = \"exampleEventHub\",\n        NamespaceName = exampleEventHubNamespace.Name,\n        ResourceGroupName = example.Name,\n        PartitionCount = 2,\n        MessageRetention = 7,\n    });\n\n    var exampleConsumerGroup = new Azure.EventHub.ConsumerGroup(\"example\", new()\n    {\n        Name = \"example-consumergroup\",\n        NamespaceName = exampleEventHubNamespace.Name,\n        EventhubName = exampleEventHub.Name,\n        ResourceGroupName = example.Name,\n    });\n\n    var exampleCluster = new Azure.Kusto.Cluster(\"example\", new()\n    {\n        Name = \"examplekc\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Sku = new Azure.Kusto.Inputs.ClusterSkuArgs\n        {\n            Name = \"Dev(No SLA)_Standard_D11_v2\",\n            Capacity = 1,\n        },\n    });\n\n    var exampleDatabase = new Azure.Kusto.Database(\"example\", new()\n    {\n        Name = \"example-kusto-database\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        ClusterName = exampleCluster.Name,\n    });\n\n    var databaseContributor = new Azure.Authorization.Assignment(\"database_contributor\", new()\n    {\n        Scope = exampleDatabase.Id,\n        PrincipalId = exampleInstance.Identity.Apply(identity =\u003e identity?.PrincipalId),\n        RoleDefinitionName = \"Contributor\",\n    });\n\n    var eventhubDataOwner = new Azure.Authorization.Assignment(\"eventhub_data_owner\", new()\n    {\n        Scope = exampleEventHub.Id,\n        PrincipalId = exampleInstance.Identity.Apply(identity =\u003e identity?.PrincipalId),\n        RoleDefinitionName = \"Azure Event Hubs Data Owner\",\n    });\n\n    var exampleDatabasePrincipalAssignment = new Azure.Kusto.DatabasePrincipalAssignment(\"example\", new()\n    {\n        Name = \"dataadmin\",\n        ResourceGroupName = example.Name,\n        ClusterName = exampleCluster.Name,\n        DatabaseName = exampleDatabase.Name,\n        TenantId = exampleInstance.Identity.Apply(identity =\u003e identity?.TenantId),\n        PrincipalId = exampleInstance.Identity.Apply(identity =\u003e identity?.PrincipalId),\n        PrincipalType = \"App\",\n        Role = \"Admin\",\n    });\n\n    var exampleTimeSeriesDatabaseConnection = new Azure.DigitalTwins.TimeSeriesDatabaseConnection(\"example\", new()\n    {\n        Name = \"example-connection\",\n        DigitalTwinsId = exampleInstance.Id,\n        EventhubName = exampleEventHub.Name,\n        EventhubNamespaceId = exampleEventHubNamespace.Id,\n        EventhubNamespaceEndpointUri = exampleEventHubNamespace.Name.Apply(name =\u003e $\"sb://{name}.servicebus.windows.net\"),\n        EventhubConsumerGroupName = exampleConsumerGroup.Name,\n        KustoClusterId = exampleCluster.Id,\n        KustoClusterUri = exampleCluster.Uri,\n        KustoDatabaseName = exampleDatabase.Name,\n        KustoTableName = \"exampleTable\",\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            databaseContributor,\n            eventhubDataOwner,\n            exampleDatabasePrincipalAssignment,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/authorization\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/digitaltwins\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/eventhub\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/kusto\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleInstance, err := digitaltwins.NewInstance(ctx, \"example\", \u0026digitaltwins.InstanceArgs{\n\t\t\tName:              pulumi.String(\"example-DT\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tIdentity: \u0026digitaltwins.InstanceIdentityArgs{\n\t\t\t\tType: pulumi.String(\"SystemAssigned\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleEventHubNamespace, err := eventhub.NewEventHubNamespace(ctx, \"example\", \u0026eventhub.EventHubNamespaceArgs{\n\t\t\tName:              pulumi.String(\"exampleEventHubNamespace\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSku:               pulumi.String(\"Standard\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleEventHub, err := eventhub.NewEventHub(ctx, \"example\", \u0026eventhub.EventHubArgs{\n\t\t\tName:              pulumi.String(\"exampleEventHub\"),\n\t\t\tNamespaceName:     exampleEventHubNamespace.Name,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tPartitionCount:    pulumi.Int(2),\n\t\t\tMessageRetention:  pulumi.Int(7),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleConsumerGroup, err := eventhub.NewConsumerGroup(ctx, \"example\", \u0026eventhub.ConsumerGroupArgs{\n\t\t\tName:              pulumi.String(\"example-consumergroup\"),\n\t\t\tNamespaceName:     exampleEventHubNamespace.Name,\n\t\t\tEventhubName:      exampleEventHub.Name,\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleCluster, err := kusto.NewCluster(ctx, \"example\", \u0026kusto.ClusterArgs{\n\t\t\tName:              pulumi.String(\"examplekc\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSku: \u0026kusto.ClusterSkuArgs{\n\t\t\t\tName:     pulumi.String(\"Dev(No SLA)_Standard_D11_v2\"),\n\t\t\t\tCapacity: pulumi.Int(1),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleDatabase, err := kusto.NewDatabase(ctx, \"example\", \u0026kusto.DatabaseArgs{\n\t\t\tName:              pulumi.String(\"example-kusto-database\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tClusterName:       exampleCluster.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdatabaseContributor, err := authorization.NewAssignment(ctx, \"database_contributor\", \u0026authorization.AssignmentArgs{\n\t\t\tScope: exampleDatabase.ID(),\n\t\t\tPrincipalId: pulumi.String(exampleInstance.Identity.ApplyT(func(identity digitaltwins.InstanceIdentity) (*string, error) {\n\t\t\t\treturn \u0026identity.PrincipalId, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tRoleDefinitionName: pulumi.String(\"Contributor\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\teventhubDataOwner, err := authorization.NewAssignment(ctx, \"eventhub_data_owner\", \u0026authorization.AssignmentArgs{\n\t\t\tScope: exampleEventHub.ID(),\n\t\t\tPrincipalId: pulumi.String(exampleInstance.Identity.ApplyT(func(identity digitaltwins.InstanceIdentity) (*string, error) {\n\t\t\t\treturn \u0026identity.PrincipalId, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tRoleDefinitionName: pulumi.String(\"Azure Event Hubs Data Owner\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleDatabasePrincipalAssignment, err := kusto.NewDatabasePrincipalAssignment(ctx, \"example\", \u0026kusto.DatabasePrincipalAssignmentArgs{\n\t\t\tName:              pulumi.String(\"dataadmin\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tClusterName:       exampleCluster.Name,\n\t\t\tDatabaseName:      exampleDatabase.Name,\n\t\t\tTenantId: pulumi.String(exampleInstance.Identity.ApplyT(func(identity digitaltwins.InstanceIdentity) (*string, error) {\n\t\t\t\treturn \u0026identity.TenantId, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tPrincipalId: pulumi.String(exampleInstance.Identity.ApplyT(func(identity digitaltwins.InstanceIdentity) (*string, error) {\n\t\t\t\treturn \u0026identity.PrincipalId, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tPrincipalType: pulumi.String(\"App\"),\n\t\t\tRole:          pulumi.String(\"Admin\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = digitaltwins.NewTimeSeriesDatabaseConnection(ctx, \"example\", \u0026digitaltwins.TimeSeriesDatabaseConnectionArgs{\n\t\t\tName:                pulumi.String(\"example-connection\"),\n\t\t\tDigitalTwinsId:      exampleInstance.ID(),\n\t\t\tEventhubName:        exampleEventHub.Name,\n\t\t\tEventhubNamespaceId: exampleEventHubNamespace.ID(),\n\t\t\tEventhubNamespaceEndpointUri: exampleEventHubNamespace.Name.ApplyT(func(name string) (string, error) {\n\t\t\t\treturn fmt.Sprintf(\"sb://%v.servicebus.windows.net\", name), nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t\tEventhubConsumerGroupName: exampleConsumerGroup.Name,\n\t\t\tKustoClusterId:            exampleCluster.ID(),\n\t\t\tKustoClusterUri:           exampleCluster.Uri,\n\t\t\tKustoDatabaseName:         exampleDatabase.Name,\n\t\t\tKustoTableName:            pulumi.String(\"exampleTable\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tdatabaseContributor,\n\t\t\teventhubDataOwner,\n\t\t\texampleDatabasePrincipalAssignment,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.digitaltwins.Instance;\nimport com.pulumi.azure.digitaltwins.InstanceArgs;\nimport com.pulumi.azure.digitaltwins.inputs.InstanceIdentityArgs;\nimport com.pulumi.azure.eventhub.EventHubNamespace;\nimport com.pulumi.azure.eventhub.EventHubNamespaceArgs;\nimport com.pulumi.azure.eventhub.EventHub;\nimport com.pulumi.azure.eventhub.EventHubArgs;\nimport com.pulumi.azure.eventhub.ConsumerGroup;\nimport com.pulumi.azure.eventhub.ConsumerGroupArgs;\nimport com.pulumi.azure.kusto.Cluster;\nimport com.pulumi.azure.kusto.ClusterArgs;\nimport com.pulumi.azure.kusto.inputs.ClusterSkuArgs;\nimport com.pulumi.azure.kusto.Database;\nimport com.pulumi.azure.kusto.DatabaseArgs;\nimport com.pulumi.azure.authorization.Assignment;\nimport com.pulumi.azure.authorization.AssignmentArgs;\nimport com.pulumi.azure.kusto.DatabasePrincipalAssignment;\nimport com.pulumi.azure.kusto.DatabasePrincipalAssignmentArgs;\nimport com.pulumi.azure.digitaltwins.TimeSeriesDatabaseConnection;\nimport com.pulumi.azure.digitaltwins.TimeSeriesDatabaseConnectionArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleInstance = new Instance(\"exampleInstance\", InstanceArgs.builder()\n            .name(\"example-DT\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .identity(InstanceIdentityArgs.builder()\n                .type(\"SystemAssigned\")\n                .build())\n            .build());\n\n        var exampleEventHubNamespace = new EventHubNamespace(\"exampleEventHubNamespace\", EventHubNamespaceArgs.builder()\n            .name(\"exampleEventHubNamespace\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .sku(\"Standard\")\n            .build());\n\n        var exampleEventHub = new EventHub(\"exampleEventHub\", EventHubArgs.builder()\n            .name(\"exampleEventHub\")\n            .namespaceName(exampleEventHubNamespace.name())\n            .resourceGroupName(example.name())\n            .partitionCount(2)\n            .messageRetention(7)\n            .build());\n\n        var exampleConsumerGroup = new ConsumerGroup(\"exampleConsumerGroup\", ConsumerGroupArgs.builder()\n            .name(\"example-consumergroup\")\n            .namespaceName(exampleEventHubNamespace.name())\n            .eventhubName(exampleEventHub.name())\n            .resourceGroupName(example.name())\n            .build());\n\n        var exampleCluster = new Cluster(\"exampleCluster\", ClusterArgs.builder()\n            .name(\"examplekc\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .sku(ClusterSkuArgs.builder()\n                .name(\"Dev(No SLA)_Standard_D11_v2\")\n                .capacity(1)\n                .build())\n            .build());\n\n        var exampleDatabase = new Database(\"exampleDatabase\", DatabaseArgs.builder()\n            .name(\"example-kusto-database\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .clusterName(exampleCluster.name())\n            .build());\n\n        var databaseContributor = new Assignment(\"databaseContributor\", AssignmentArgs.builder()\n            .scope(exampleDatabase.id())\n            .principalId(exampleInstance.identity().applyValue(_identity -\u003e _identity.principalId()))\n            .roleDefinitionName(\"Contributor\")\n            .build());\n\n        var eventhubDataOwner = new Assignment(\"eventhubDataOwner\", AssignmentArgs.builder()\n            .scope(exampleEventHub.id())\n            .principalId(exampleInstance.identity().applyValue(_identity -\u003e _identity.principalId()))\n            .roleDefinitionName(\"Azure Event Hubs Data Owner\")\n            .build());\n\n        var exampleDatabasePrincipalAssignment = new DatabasePrincipalAssignment(\"exampleDatabasePrincipalAssignment\", DatabasePrincipalAssignmentArgs.builder()\n            .name(\"dataadmin\")\n            .resourceGroupName(example.name())\n            .clusterName(exampleCluster.name())\n            .databaseName(exampleDatabase.name())\n            .tenantId(exampleInstance.identity().applyValue(_identity -\u003e _identity.tenantId()))\n            .principalId(exampleInstance.identity().applyValue(_identity -\u003e _identity.principalId()))\n            .principalType(\"App\")\n            .role(\"Admin\")\n            .build());\n\n        var exampleTimeSeriesDatabaseConnection = new TimeSeriesDatabaseConnection(\"exampleTimeSeriesDatabaseConnection\", TimeSeriesDatabaseConnectionArgs.builder()\n            .name(\"example-connection\")\n            .digitalTwinsId(exampleInstance.id())\n            .eventhubName(exampleEventHub.name())\n            .eventhubNamespaceId(exampleEventHubNamespace.id())\n            .eventhubNamespaceEndpointUri(exampleEventHubNamespace.name().applyValue(_name -\u003e String.format(\"sb://%s.servicebus.windows.net\", _name)))\n            .eventhubConsumerGroupName(exampleConsumerGroup.name())\n            .kustoClusterId(exampleCluster.id())\n            .kustoClusterUri(exampleCluster.uri())\n            .kustoDatabaseName(exampleDatabase.name())\n            .kustoTableName(\"exampleTable\")\n            .build(), CustomResourceOptions.builder()\n                .dependsOn(                \n                    databaseContributor,\n                    eventhubDataOwner,\n                    exampleDatabasePrincipalAssignment)\n                .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleInstance:\n    type: azure:digitaltwins:Instance\n    name: example\n    properties:\n      name: example-DT\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      identity:\n        type: SystemAssigned\n  exampleEventHubNamespace:\n    type: azure:eventhub:EventHubNamespace\n    name: example\n    properties:\n      name: exampleEventHubNamespace\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      sku: Standard\n  exampleEventHub:\n    type: azure:eventhub:EventHub\n    name: example\n    properties:\n      name: exampleEventHub\n      namespaceName: ${exampleEventHubNamespace.name}\n      resourceGroupName: ${example.name}\n      partitionCount: 2\n      messageRetention: 7\n  exampleConsumerGroup:\n    type: azure:eventhub:ConsumerGroup\n    name: example\n    properties:\n      name: example-consumergroup\n      namespaceName: ${exampleEventHubNamespace.name}\n      eventhubName: ${exampleEventHub.name}\n      resourceGroupName: ${example.name}\n  exampleCluster:\n    type: azure:kusto:Cluster\n    name: example\n    properties:\n      name: examplekc\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      sku:\n        name: Dev(No SLA)_Standard_D11_v2\n        capacity: 1\n  exampleDatabase:\n    type: azure:kusto:Database\n    name: example\n    properties:\n      name: example-kusto-database\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      clusterName: ${exampleCluster.name}\n  databaseContributor:\n    type: azure:authorization:Assignment\n    name: database_contributor\n    properties:\n      scope: ${exampleDatabase.id}\n      principalId: ${exampleInstance.identity.principalId}\n      roleDefinitionName: Contributor\n  eventhubDataOwner:\n    type: azure:authorization:Assignment\n    name: eventhub_data_owner\n    properties:\n      scope: ${exampleEventHub.id}\n      principalId: ${exampleInstance.identity.principalId}\n      roleDefinitionName: Azure Event Hubs Data Owner\n  exampleDatabasePrincipalAssignment:\n    type: azure:kusto:DatabasePrincipalAssignment\n    name: example\n    properties:\n      name: dataadmin\n      resourceGroupName: ${example.name}\n      clusterName: ${exampleCluster.name}\n      databaseName: ${exampleDatabase.name}\n      tenantId: ${exampleInstance.identity.tenantId}\n      principalId: ${exampleInstance.identity.principalId}\n      principalType: App\n      role: Admin\n  exampleTimeSeriesDatabaseConnection:\n    type: azure:digitaltwins:TimeSeriesDatabaseConnection\n    name: example\n    properties:\n      name: example-connection\n      digitalTwinsId: ${exampleInstance.id}\n      eventhubName: ${exampleEventHub.name}\n      eventhubNamespaceId: ${exampleEventHubNamespace.id}\n      eventhubNamespaceEndpointUri: sb://${exampleEventHubNamespace.name}.servicebus.windows.net\n      eventhubConsumerGroupName: ${exampleConsumerGroup.name}\n      kustoClusterId: ${exampleCluster.id}\n      kustoClusterUri: ${exampleCluster.uri}\n      kustoDatabaseName: ${exampleDatabase.name}\n      kustoTableName: exampleTable\n    options:\n      dependsOn:\n        - ${databaseContributor}\n        - ${eventhubDataOwner}\n        - ${exampleDatabasePrincipalAssignment}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.DigitalTwins` - 2023-01-31\n\n## Import\n\nDigital Twins Time Series Database Connections can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:digitaltwins/timeSeriesDatabaseConnection:TimeSeriesDatabaseConnection example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.DigitalTwins/digitalTwinsInstances/dt1/timeSeriesDatabaseConnections/connection1\n```\n\n","properties":{"digitalTwinsId":{"type":"string","description":"The ID of the Digital Twins. Changing this forces a new resource to be created.\n"},"eventhubConsumerGroupName":{"type":"string","description":"Name of the Event Hub Consumer Group. Changing this forces a new resource to be created. Defaults to `$Default`.\n"},"eventhubName":{"type":"string","description":"Name of the Event Hub. Changing this forces a new resource to be created.\n"},"eventhubNamespaceEndpointUri":{"type":"string","description":"URI of the Event Hub Namespace. Changing this forces a new resource to be created.\n"},"eventhubNamespaceId":{"type":"string","description":"The ID of the Event Hub Namespace. Changing this forces a new resource to be created.\n"},"kustoClusterId":{"type":"string","description":"The ID of the Kusto Cluster. Changing this forces a new resource to be created.\n"},"kustoClusterUri":{"type":"string","description":"URI of the Kusto Cluster. Changing this forces a new resource to be created.\n"},"kustoDatabaseName":{"type":"string","description":"Name of the Kusto Database. Changing this forces a new resource to be created.\n"},"kustoTableName":{"type":"string","description":"Name of the Kusto Table. Defaults to `AdtPropertyEvents`. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"The name which should be used for this Digital Twins Time Series Database Connection. Changing this forces a new resource to be created.\n"}},"required":["digitalTwinsId","eventhubName","eventhubNamespaceEndpointUri","eventhubNamespaceId","kustoClusterId","kustoClusterUri","kustoDatabaseName","name"],"inputProperties":{"digitalTwinsId":{"type":"string","description":"The ID of the Digital Twins. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"eventhubConsumerGroupName":{"type":"string","description":"Name of the Event Hub Consumer Group. Changing this forces a new resource to be created. Defaults to `$Default`.\n","willReplaceOnChanges":true},"eventhubName":{"type":"string","description":"Name of the Event Hub. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"eventhubNamespaceEndpointUri":{"type":"string","description":"URI of the Event Hub Namespace. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"eventhubNamespaceId":{"type":"string","description":"The ID of the Event Hub Namespace. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"kustoClusterId":{"type":"string","description":"The ID of the Kusto Cluster. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"kustoClusterUri":{"type":"string","description":"URI of the Kusto Cluster. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"kustoDatabaseName":{"type":"string","description":"Name of the Kusto Database. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"kustoTableName":{"type":"string","description":"Name of the Kusto Table. Defaults to `AdtPropertyEvents`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Digital Twins Time Series Database Connection. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["digitalTwinsId","eventhubName","eventhubNamespaceEndpointUri","eventhubNamespaceId","kustoClusterId","kustoClusterUri","kustoDatabaseName"],"stateInputs":{"description":"Input properties used for looking up and filtering TimeSeriesDatabaseConnection resources.\n","properties":{"digitalTwinsId":{"type":"string","description":"The ID of the Digital Twins. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"eventhubConsumerGroupName":{"type":"string","description":"Name of the Event Hub Consumer Group. Changing this forces a new resource to be created. Defaults to `$Default`.\n","willReplaceOnChanges":true},"eventhubName":{"type":"string","description":"Name of the Event Hub. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"eventhubNamespaceEndpointUri":{"type":"string","description":"URI of the Event Hub Namespace. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"eventhubNamespaceId":{"type":"string","description":"The ID of the Event Hub Namespace. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"kustoClusterId":{"type":"string","description":"The ID of the Kusto Cluster. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"kustoClusterUri":{"type":"string","description":"URI of the Kusto Cluster. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"kustoDatabaseName":{"type":"string","description":"Name of the Kusto Database. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"kustoTableName":{"type":"string","description":"Name of the Kusto Table. Defaults to `AdtPropertyEvents`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Digital Twins Time Series Database Connection. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:dns/aRecord:ARecord":{"description":"Enables you to manage DNS A Records within Azure DNS.\n\n\u003e **Note:** [The Azure DNS API has a throttle limit of 500 read (GET) operations per 5 minutes](https://docs.microsoft.com/azure/azure-resource-manager/management/request-limits-and-throttling#network-throttling) - whilst the default read timeouts will work for most cases - in larger configurations you may need to set a larger read timeout then the default 5min. Although, we'd generally recommend that you split the resources out into smaller Terraform configurations to avoid the problem entirely.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleZone = new azure.dns.Zone(\"example\", {\n    name: \"mydomain.com\",\n    resourceGroupName: example.name,\n});\nconst exampleARecord = new azure.dns.ARecord(\"example\", {\n    name: \"test\",\n    zoneName: exampleZone.name,\n    resourceGroupName: example.name,\n    ttl: 300,\n    records: [\"10.0.180.17\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_zone = azure.dns.Zone(\"example\",\n    name=\"mydomain.com\",\n    resource_group_name=example.name)\nexample_a_record = azure.dns.ARecord(\"example\",\n    name=\"test\",\n    zone_name=example_zone.name,\n    resource_group_name=example.name,\n    ttl=300,\n    records=[\"10.0.180.17\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleZone = new Azure.Dns.Zone(\"example\", new()\n    {\n        Name = \"mydomain.com\",\n        ResourceGroupName = example.Name,\n    });\n\n    var exampleARecord = new Azure.Dns.ARecord(\"example\", new()\n    {\n        Name = \"test\",\n        ZoneName = exampleZone.Name,\n        ResourceGroupName = example.Name,\n        Ttl = 300,\n        Records = new[]\n        {\n            \"10.0.180.17\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/dns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleZone, err := dns.NewZone(ctx, \"example\", \u0026dns.ZoneArgs{\n\t\t\tName:              pulumi.String(\"mydomain.com\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = dns.NewARecord(ctx, \"example\", \u0026dns.ARecordArgs{\n\t\t\tName:              pulumi.String(\"test\"),\n\t\t\tZoneName:          exampleZone.Name,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tTtl:               pulumi.Int(300),\n\t\t\tRecords: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.180.17\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.dns.Zone;\nimport com.pulumi.azure.dns.ZoneArgs;\nimport com.pulumi.azure.dns.ARecord;\nimport com.pulumi.azure.dns.ARecordArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleZone = new Zone(\"exampleZone\", ZoneArgs.builder()\n            .name(\"mydomain.com\")\n            .resourceGroupName(example.name())\n            .build());\n\n        var exampleARecord = new ARecord(\"exampleARecord\", ARecordArgs.builder()\n            .name(\"test\")\n            .zoneName(exampleZone.name())\n            .resourceGroupName(example.name())\n            .ttl(300)\n            .records(\"10.0.180.17\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleZone:\n    type: azure:dns:Zone\n    name: example\n    properties:\n      name: mydomain.com\n      resourceGroupName: ${example.name}\n  exampleARecord:\n    type: azure:dns:ARecord\n    name: example\n    properties:\n      name: test\n      zoneName: ${exampleZone.name}\n      resourceGroupName: ${example.name}\n      ttl: 300\n      records:\n        - 10.0.180.17\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\n### Alias Record)\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleZone = new azure.dns.Zone(\"example\", {\n    name: \"mydomain.com\",\n    resourceGroupName: example.name,\n});\nconst examplePublicIp = new azure.network.PublicIp(\"example\", {\n    name: \"mypublicip\",\n    location: example.location,\n    resourceGroupName: example.name,\n    allocationMethod: \"Dynamic\",\n    ipVersion: \"IPv4\",\n});\nconst exampleARecord = new azure.dns.ARecord(\"example\", {\n    name: \"test\",\n    zoneName: exampleZone.name,\n    resourceGroupName: example.name,\n    ttl: 300,\n    targetResourceId: examplePublicIp.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_zone = azure.dns.Zone(\"example\",\n    name=\"mydomain.com\",\n    resource_group_name=example.name)\nexample_public_ip = azure.network.PublicIp(\"example\",\n    name=\"mypublicip\",\n    location=example.location,\n    resource_group_name=example.name,\n    allocation_method=\"Dynamic\",\n    ip_version=\"IPv4\")\nexample_a_record = azure.dns.ARecord(\"example\",\n    name=\"test\",\n    zone_name=example_zone.name,\n    resource_group_name=example.name,\n    ttl=300,\n    target_resource_id=example_public_ip.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleZone = new Azure.Dns.Zone(\"example\", new()\n    {\n        Name = \"mydomain.com\",\n        ResourceGroupName = example.Name,\n    });\n\n    var examplePublicIp = new Azure.Network.PublicIp(\"example\", new()\n    {\n        Name = \"mypublicip\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        AllocationMethod = \"Dynamic\",\n        IpVersion = \"IPv4\",\n    });\n\n    var exampleARecord = new Azure.Dns.ARecord(\"example\", new()\n    {\n        Name = \"test\",\n        ZoneName = exampleZone.Name,\n        ResourceGroupName = example.Name,\n        Ttl = 300,\n        TargetResourceId = examplePublicIp.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/dns\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleZone, err := dns.NewZone(ctx, \"example\", \u0026dns.ZoneArgs{\n\t\t\tName:              pulumi.String(\"mydomain.com\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texamplePublicIp, err := network.NewPublicIp(ctx, \"example\", \u0026network.PublicIpArgs{\n\t\t\tName:              pulumi.String(\"mypublicip\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tAllocationMethod:  pulumi.String(\"Dynamic\"),\n\t\t\tIpVersion:         pulumi.String(\"IPv4\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = dns.NewARecord(ctx, \"example\", \u0026dns.ARecordArgs{\n\t\t\tName:              pulumi.String(\"test\"),\n\t\t\tZoneName:          exampleZone.Name,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tTtl:               pulumi.Int(300),\n\t\t\tTargetResourceId:  examplePublicIp.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.dns.Zone;\nimport com.pulumi.azure.dns.ZoneArgs;\nimport com.pulumi.azure.network.PublicIp;\nimport com.pulumi.azure.network.PublicIpArgs;\nimport com.pulumi.azure.dns.ARecord;\nimport com.pulumi.azure.dns.ARecordArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleZone = new Zone(\"exampleZone\", ZoneArgs.builder()\n            .name(\"mydomain.com\")\n            .resourceGroupName(example.name())\n            .build());\n\n        var examplePublicIp = new PublicIp(\"examplePublicIp\", PublicIpArgs.builder()\n            .name(\"mypublicip\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .allocationMethod(\"Dynamic\")\n            .ipVersion(\"IPv4\")\n            .build());\n\n        var exampleARecord = new ARecord(\"exampleARecord\", ARecordArgs.builder()\n            .name(\"test\")\n            .zoneName(exampleZone.name())\n            .resourceGroupName(example.name())\n            .ttl(300)\n            .targetResourceId(examplePublicIp.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleZone:\n    type: azure:dns:Zone\n    name: example\n    properties:\n      name: mydomain.com\n      resourceGroupName: ${example.name}\n  examplePublicIp:\n    type: azure:network:PublicIp\n    name: example\n    properties:\n      name: mypublicip\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      allocationMethod: Dynamic\n      ipVersion: IPv4\n  exampleARecord:\n    type: azure:dns:ARecord\n    name: example\n    properties:\n      name: test\n      zoneName: ${exampleZone.name}\n      resourceGroupName: ${example.name}\n      ttl: 300\n      targetResourceId: ${examplePublicIp.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2018-05-01\n\n## Import\n\nA records can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:dns/aRecord:ARecord example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Network/dnsZones/zone1/A/myrecord1\n```\n\n","properties":{"fqdn":{"type":"string","description":"The FQDN of the DNS A Record.\n"},"name":{"type":"string","description":"The name of the DNS A Record. Changing this forces a new resource to be created.\n"},"records":{"type":"array","items":{"type":"string"},"description":"List of IPv4 Addresses. Conflicts with \u003cspan pulumi-lang-nodejs=\"`targetResourceId`\" pulumi-lang-dotnet=\"`TargetResourceId`\" pulumi-lang-go=\"`targetResourceId`\" pulumi-lang-python=\"`target_resource_id`\" pulumi-lang-yaml=\"`targetResourceId`\" pulumi-lang-java=\"`targetResourceId`\"\u003e`target_resource_id`\u003c/span\u003e.\n"},"resourceGroupName":{"type":"string","description":"Specifies the resource group where the DNS Zone (parent resource) exists. Changing this forces a new resource to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n\n\u003e **Note:** either \u003cspan pulumi-lang-nodejs=\"`records`\" pulumi-lang-dotnet=\"`Records`\" pulumi-lang-go=\"`records`\" pulumi-lang-python=\"`records`\" pulumi-lang-yaml=\"`records`\" pulumi-lang-java=\"`records`\"\u003e`records`\u003c/span\u003e OR \u003cspan pulumi-lang-nodejs=\"`targetResourceId`\" pulumi-lang-dotnet=\"`TargetResourceId`\" pulumi-lang-go=\"`targetResourceId`\" pulumi-lang-python=\"`target_resource_id`\" pulumi-lang-yaml=\"`targetResourceId`\" pulumi-lang-java=\"`targetResourceId`\"\u003e`target_resource_id`\u003c/span\u003e must be specified, but not both.\n"},"targetResourceId":{"type":"string","description":"The Azure resource id of the target object. Conflicts with \u003cspan pulumi-lang-nodejs=\"`records`\" pulumi-lang-dotnet=\"`Records`\" pulumi-lang-go=\"`records`\" pulumi-lang-python=\"`records`\" pulumi-lang-yaml=\"`records`\" pulumi-lang-java=\"`records`\"\u003e`records`\u003c/span\u003e.\n"},"ttl":{"type":"integer","description":"The Time To Live (TTL) of the DNS record in seconds.\n"},"zoneName":{"type":"string","description":"Specifies the DNS Zone where the resource exists. Changing this forces a new resource to be created.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`zoneName`\" pulumi-lang-dotnet=\"`ZoneName`\" pulumi-lang-go=\"`zoneName`\" pulumi-lang-python=\"`zone_name`\" pulumi-lang-yaml=\"`zoneName`\" pulumi-lang-java=\"`zoneName`\"\u003e`zone_name`\u003c/span\u003e should be the name of resource \u003cspan pulumi-lang-nodejs=\"`azure.dns.Zone`\" pulumi-lang-dotnet=\"`azure.dns.Zone`\" pulumi-lang-go=\"`dns.Zone`\" pulumi-lang-python=\"`dns.Zone`\" pulumi-lang-yaml=\"`azure.dns.Zone`\" pulumi-lang-java=\"`azure.dns.Zone`\"\u003e`azure.dns.Zone`\u003c/span\u003e instead of \u003cspan pulumi-lang-nodejs=\"`azure.privatedns.Zone`\" pulumi-lang-dotnet=\"`azure.privatedns.Zone`\" pulumi-lang-go=\"`privatedns.Zone`\" pulumi-lang-python=\"`privatedns.Zone`\" pulumi-lang-yaml=\"`azure.privatedns.Zone`\" pulumi-lang-java=\"`azure.privatedns.Zone`\"\u003e`azure.privatedns.Zone`\u003c/span\u003e.\n"}},"required":["fqdn","name","resourceGroupName","ttl","zoneName"],"inputProperties":{"name":{"type":"string","description":"The name of the DNS A Record. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"records":{"type":"array","items":{"type":"string"},"description":"List of IPv4 Addresses. Conflicts with \u003cspan pulumi-lang-nodejs=\"`targetResourceId`\" pulumi-lang-dotnet=\"`TargetResourceId`\" pulumi-lang-go=\"`targetResourceId`\" pulumi-lang-python=\"`target_resource_id`\" pulumi-lang-yaml=\"`targetResourceId`\" pulumi-lang-java=\"`targetResourceId`\"\u003e`target_resource_id`\u003c/span\u003e.\n"},"resourceGroupName":{"type":"string","description":"Specifies the resource group where the DNS Zone (parent resource) exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n\n\u003e **Note:** either \u003cspan pulumi-lang-nodejs=\"`records`\" pulumi-lang-dotnet=\"`Records`\" pulumi-lang-go=\"`records`\" pulumi-lang-python=\"`records`\" pulumi-lang-yaml=\"`records`\" pulumi-lang-java=\"`records`\"\u003e`records`\u003c/span\u003e OR \u003cspan pulumi-lang-nodejs=\"`targetResourceId`\" pulumi-lang-dotnet=\"`TargetResourceId`\" pulumi-lang-go=\"`targetResourceId`\" pulumi-lang-python=\"`target_resource_id`\" pulumi-lang-yaml=\"`targetResourceId`\" pulumi-lang-java=\"`targetResourceId`\"\u003e`target_resource_id`\u003c/span\u003e must be specified, but not both.\n"},"targetResourceId":{"type":"string","description":"The Azure resource id of the target object. Conflicts with \u003cspan pulumi-lang-nodejs=\"`records`\" pulumi-lang-dotnet=\"`Records`\" pulumi-lang-go=\"`records`\" pulumi-lang-python=\"`records`\" pulumi-lang-yaml=\"`records`\" pulumi-lang-java=\"`records`\"\u003e`records`\u003c/span\u003e.\n"},"ttl":{"type":"integer","description":"The Time To Live (TTL) of the DNS record in seconds.\n"},"zoneName":{"type":"string","description":"Specifies the DNS Zone where the resource exists. Changing this forces a new resource to be created.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`zoneName`\" pulumi-lang-dotnet=\"`ZoneName`\" pulumi-lang-go=\"`zoneName`\" pulumi-lang-python=\"`zone_name`\" pulumi-lang-yaml=\"`zoneName`\" pulumi-lang-java=\"`zoneName`\"\u003e`zone_name`\u003c/span\u003e should be the name of resource \u003cspan pulumi-lang-nodejs=\"`azure.dns.Zone`\" pulumi-lang-dotnet=\"`azure.dns.Zone`\" pulumi-lang-go=\"`dns.Zone`\" pulumi-lang-python=\"`dns.Zone`\" pulumi-lang-yaml=\"`azure.dns.Zone`\" pulumi-lang-java=\"`azure.dns.Zone`\"\u003e`azure.dns.Zone`\u003c/span\u003e instead of \u003cspan pulumi-lang-nodejs=\"`azure.privatedns.Zone`\" pulumi-lang-dotnet=\"`azure.privatedns.Zone`\" pulumi-lang-go=\"`privatedns.Zone`\" pulumi-lang-python=\"`privatedns.Zone`\" pulumi-lang-yaml=\"`azure.privatedns.Zone`\" pulumi-lang-java=\"`azure.privatedns.Zone`\"\u003e`azure.privatedns.Zone`\u003c/span\u003e.\n","willReplaceOnChanges":true}},"requiredInputs":["resourceGroupName","ttl","zoneName"],"stateInputs":{"description":"Input properties used for looking up and filtering ARecord resources.\n","properties":{"fqdn":{"type":"string","description":"The FQDN of the DNS A Record.\n"},"name":{"type":"string","description":"The name of the DNS A Record. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"records":{"type":"array","items":{"type":"string"},"description":"List of IPv4 Addresses. Conflicts with \u003cspan pulumi-lang-nodejs=\"`targetResourceId`\" pulumi-lang-dotnet=\"`TargetResourceId`\" pulumi-lang-go=\"`targetResourceId`\" pulumi-lang-python=\"`target_resource_id`\" pulumi-lang-yaml=\"`targetResourceId`\" pulumi-lang-java=\"`targetResourceId`\"\u003e`target_resource_id`\u003c/span\u003e.\n"},"resourceGroupName":{"type":"string","description":"Specifies the resource group where the DNS Zone (parent resource) exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n\n\u003e **Note:** either \u003cspan pulumi-lang-nodejs=\"`records`\" pulumi-lang-dotnet=\"`Records`\" pulumi-lang-go=\"`records`\" pulumi-lang-python=\"`records`\" pulumi-lang-yaml=\"`records`\" pulumi-lang-java=\"`records`\"\u003e`records`\u003c/span\u003e OR \u003cspan pulumi-lang-nodejs=\"`targetResourceId`\" pulumi-lang-dotnet=\"`TargetResourceId`\" pulumi-lang-go=\"`targetResourceId`\" pulumi-lang-python=\"`target_resource_id`\" pulumi-lang-yaml=\"`targetResourceId`\" pulumi-lang-java=\"`targetResourceId`\"\u003e`target_resource_id`\u003c/span\u003e must be specified, but not both.\n"},"targetResourceId":{"type":"string","description":"The Azure resource id of the target object. Conflicts with \u003cspan pulumi-lang-nodejs=\"`records`\" pulumi-lang-dotnet=\"`Records`\" pulumi-lang-go=\"`records`\" pulumi-lang-python=\"`records`\" pulumi-lang-yaml=\"`records`\" pulumi-lang-java=\"`records`\"\u003e`records`\u003c/span\u003e.\n"},"ttl":{"type":"integer","description":"The Time To Live (TTL) of the DNS record in seconds.\n"},"zoneName":{"type":"string","description":"Specifies the DNS Zone where the resource exists. Changing this forces a new resource to be created.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`zoneName`\" pulumi-lang-dotnet=\"`ZoneName`\" pulumi-lang-go=\"`zoneName`\" pulumi-lang-python=\"`zone_name`\" pulumi-lang-yaml=\"`zoneName`\" pulumi-lang-java=\"`zoneName`\"\u003e`zone_name`\u003c/span\u003e should be the name of resource \u003cspan pulumi-lang-nodejs=\"`azure.dns.Zone`\" pulumi-lang-dotnet=\"`azure.dns.Zone`\" pulumi-lang-go=\"`dns.Zone`\" pulumi-lang-python=\"`dns.Zone`\" pulumi-lang-yaml=\"`azure.dns.Zone`\" pulumi-lang-java=\"`azure.dns.Zone`\"\u003e`azure.dns.Zone`\u003c/span\u003e instead of \u003cspan pulumi-lang-nodejs=\"`azure.privatedns.Zone`\" pulumi-lang-dotnet=\"`azure.privatedns.Zone`\" pulumi-lang-go=\"`privatedns.Zone`\" pulumi-lang-python=\"`privatedns.Zone`\" pulumi-lang-yaml=\"`azure.privatedns.Zone`\" pulumi-lang-java=\"`azure.privatedns.Zone`\"\u003e`azure.privatedns.Zone`\u003c/span\u003e.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:dns/aaaaRecord:AaaaRecord":{"description":"Enables you to manage DNS AAAA Records within Azure DNS.\n\n\u003e **Note:** [The Azure DNS API has a throttle limit of 500 read (GET) operations per 5 minutes](https://docs.microsoft.com/azure/azure-resource-manager/management/request-limits-and-throttling#network-throttling) - whilst the default read timeouts will work for most cases - in larger configurations you may need to set a larger read timeout then the default 5min. Although, we'd generally recommend that you split the resources out into smaller Terraform configurations to avoid the problem entirely.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleZone = new azure.dns.Zone(\"example\", {\n    name: \"mydomain.com\",\n    resourceGroupName: example.name,\n});\nconst exampleAaaaRecord = new azure.dns.AaaaRecord(\"example\", {\n    name: \"test\",\n    zoneName: exampleZone.name,\n    resourceGroupName: example.name,\n    ttl: 300,\n    records: [\"2001:db8::1:0:0:1\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_zone = azure.dns.Zone(\"example\",\n    name=\"mydomain.com\",\n    resource_group_name=example.name)\nexample_aaaa_record = azure.dns.AaaaRecord(\"example\",\n    name=\"test\",\n    zone_name=example_zone.name,\n    resource_group_name=example.name,\n    ttl=300,\n    records=[\"2001:db8::1:0:0:1\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleZone = new Azure.Dns.Zone(\"example\", new()\n    {\n        Name = \"mydomain.com\",\n        ResourceGroupName = example.Name,\n    });\n\n    var exampleAaaaRecord = new Azure.Dns.AaaaRecord(\"example\", new()\n    {\n        Name = \"test\",\n        ZoneName = exampleZone.Name,\n        ResourceGroupName = example.Name,\n        Ttl = 300,\n        Records = new[]\n        {\n            \"2001:db8::1:0:0:1\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/dns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleZone, err := dns.NewZone(ctx, \"example\", \u0026dns.ZoneArgs{\n\t\t\tName:              pulumi.String(\"mydomain.com\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = dns.NewAaaaRecord(ctx, \"example\", \u0026dns.AaaaRecordArgs{\n\t\t\tName:              pulumi.String(\"test\"),\n\t\t\tZoneName:          exampleZone.Name,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tTtl:               pulumi.Int(300),\n\t\t\tRecords: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"2001:db8::1:0:0:1\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.dns.Zone;\nimport com.pulumi.azure.dns.ZoneArgs;\nimport com.pulumi.azure.dns.AaaaRecord;\nimport com.pulumi.azure.dns.AaaaRecordArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleZone = new Zone(\"exampleZone\", ZoneArgs.builder()\n            .name(\"mydomain.com\")\n            .resourceGroupName(example.name())\n            .build());\n\n        var exampleAaaaRecord = new AaaaRecord(\"exampleAaaaRecord\", AaaaRecordArgs.builder()\n            .name(\"test\")\n            .zoneName(exampleZone.name())\n            .resourceGroupName(example.name())\n            .ttl(300)\n            .records(\"2001:db8::1:0:0:1\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleZone:\n    type: azure:dns:Zone\n    name: example\n    properties:\n      name: mydomain.com\n      resourceGroupName: ${example.name}\n  exampleAaaaRecord:\n    type: azure:dns:AaaaRecord\n    name: example\n    properties:\n      name: test\n      zoneName: ${exampleZone.name}\n      resourceGroupName: ${example.name}\n      ttl: 300\n      records:\n        - 2001:db8::1:0:0:1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\n### Alias Record)\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleZone = new azure.dns.Zone(\"example\", {\n    name: \"mydomain.com\",\n    resourceGroupName: example.name,\n});\nconst examplePublicIp = new azure.network.PublicIp(\"example\", {\n    name: \"mypublicip\",\n    location: example.location,\n    resourceGroupName: example.name,\n    allocationMethod: \"Dynamic\",\n    ipVersion: \"IPv6\",\n});\nconst exampleAaaaRecord = new azure.dns.AaaaRecord(\"example\", {\n    name: \"test\",\n    zoneName: exampleZone.name,\n    resourceGroupName: example.name,\n    ttl: 300,\n    targetResourceId: examplePublicIp.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_zone = azure.dns.Zone(\"example\",\n    name=\"mydomain.com\",\n    resource_group_name=example.name)\nexample_public_ip = azure.network.PublicIp(\"example\",\n    name=\"mypublicip\",\n    location=example.location,\n    resource_group_name=example.name,\n    allocation_method=\"Dynamic\",\n    ip_version=\"IPv6\")\nexample_aaaa_record = azure.dns.AaaaRecord(\"example\",\n    name=\"test\",\n    zone_name=example_zone.name,\n    resource_group_name=example.name,\n    ttl=300,\n    target_resource_id=example_public_ip.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleZone = new Azure.Dns.Zone(\"example\", new()\n    {\n        Name = \"mydomain.com\",\n        ResourceGroupName = example.Name,\n    });\n\n    var examplePublicIp = new Azure.Network.PublicIp(\"example\", new()\n    {\n        Name = \"mypublicip\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        AllocationMethod = \"Dynamic\",\n        IpVersion = \"IPv6\",\n    });\n\n    var exampleAaaaRecord = new Azure.Dns.AaaaRecord(\"example\", new()\n    {\n        Name = \"test\",\n        ZoneName = exampleZone.Name,\n        ResourceGroupName = example.Name,\n        Ttl = 300,\n        TargetResourceId = examplePublicIp.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/dns\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleZone, err := dns.NewZone(ctx, \"example\", \u0026dns.ZoneArgs{\n\t\t\tName:              pulumi.String(\"mydomain.com\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texamplePublicIp, err := network.NewPublicIp(ctx, \"example\", \u0026network.PublicIpArgs{\n\t\t\tName:              pulumi.String(\"mypublicip\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tAllocationMethod:  pulumi.String(\"Dynamic\"),\n\t\t\tIpVersion:         pulumi.String(\"IPv6\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = dns.NewAaaaRecord(ctx, \"example\", \u0026dns.AaaaRecordArgs{\n\t\t\tName:              pulumi.String(\"test\"),\n\t\t\tZoneName:          exampleZone.Name,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tTtl:               pulumi.Int(300),\n\t\t\tTargetResourceId:  examplePublicIp.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.dns.Zone;\nimport com.pulumi.azure.dns.ZoneArgs;\nimport com.pulumi.azure.network.PublicIp;\nimport com.pulumi.azure.network.PublicIpArgs;\nimport com.pulumi.azure.dns.AaaaRecord;\nimport com.pulumi.azure.dns.AaaaRecordArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleZone = new Zone(\"exampleZone\", ZoneArgs.builder()\n            .name(\"mydomain.com\")\n            .resourceGroupName(example.name())\n            .build());\n\n        var examplePublicIp = new PublicIp(\"examplePublicIp\", PublicIpArgs.builder()\n            .name(\"mypublicip\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .allocationMethod(\"Dynamic\")\n            .ipVersion(\"IPv6\")\n            .build());\n\n        var exampleAaaaRecord = new AaaaRecord(\"exampleAaaaRecord\", AaaaRecordArgs.builder()\n            .name(\"test\")\n            .zoneName(exampleZone.name())\n            .resourceGroupName(example.name())\n            .ttl(300)\n            .targetResourceId(examplePublicIp.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleZone:\n    type: azure:dns:Zone\n    name: example\n    properties:\n      name: mydomain.com\n      resourceGroupName: ${example.name}\n  examplePublicIp:\n    type: azure:network:PublicIp\n    name: example\n    properties:\n      name: mypublicip\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      allocationMethod: Dynamic\n      ipVersion: IPv6\n  exampleAaaaRecord:\n    type: azure:dns:AaaaRecord\n    name: example\n    properties:\n      name: test\n      zoneName: ${exampleZone.name}\n      resourceGroupName: ${example.name}\n      ttl: 300\n      targetResourceId: ${examplePublicIp.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2018-05-01\n\n## Import\n\nAAAA records can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:dns/aaaaRecord:AaaaRecord example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Network/dnsZones/zone1/AAAA/myrecord1\n```\n\n","properties":{"fqdn":{"type":"string","description":"The FQDN of the DNS AAAA Record.\n"},"name":{"type":"string","description":"The name of the DNS AAAA Record. Changing this forces a new resource to be created.\n"},"records":{"type":"array","items":{"type":"string"},"description":"List of IPv6 Addresses. Conflicts with \u003cspan pulumi-lang-nodejs=\"`targetResourceId`\" pulumi-lang-dotnet=\"`TargetResourceId`\" pulumi-lang-go=\"`targetResourceId`\" pulumi-lang-python=\"`target_resource_id`\" pulumi-lang-yaml=\"`targetResourceId`\" pulumi-lang-java=\"`targetResourceId`\"\u003e`target_resource_id`\u003c/span\u003e.\n"},"resourceGroupName":{"type":"string","description":"Specifies the resource group where the DNS Zone (parent resource) exists. Changing this forces a new resource to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n\n\u003e **Note:** either \u003cspan pulumi-lang-nodejs=\"`records`\" pulumi-lang-dotnet=\"`Records`\" pulumi-lang-go=\"`records`\" pulumi-lang-python=\"`records`\" pulumi-lang-yaml=\"`records`\" pulumi-lang-java=\"`records`\"\u003e`records`\u003c/span\u003e OR \u003cspan pulumi-lang-nodejs=\"`targetResourceId`\" pulumi-lang-dotnet=\"`TargetResourceId`\" pulumi-lang-go=\"`targetResourceId`\" pulumi-lang-python=\"`target_resource_id`\" pulumi-lang-yaml=\"`targetResourceId`\" pulumi-lang-java=\"`targetResourceId`\"\u003e`target_resource_id`\u003c/span\u003e must be specified, but not both.\n"},"targetResourceId":{"type":"string","description":"The Azure resource id of the target object. Conflicts with \u003cspan pulumi-lang-nodejs=\"`records`\" pulumi-lang-dotnet=\"`Records`\" pulumi-lang-go=\"`records`\" pulumi-lang-python=\"`records`\" pulumi-lang-yaml=\"`records`\" pulumi-lang-java=\"`records`\"\u003e`records`\u003c/span\u003e.\n"},"ttl":{"type":"integer","description":"The Time To Live (TTL) of the DNS record in seconds.\n"},"zoneName":{"type":"string","description":"Specifies the DNS Zone where the resource exists. Changing this forces a new resource to be created.\n"}},"required":["fqdn","name","resourceGroupName","ttl","zoneName"],"inputProperties":{"name":{"type":"string","description":"The name of the DNS AAAA Record. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"records":{"type":"array","items":{"type":"string"},"description":"List of IPv6 Addresses. Conflicts with \u003cspan pulumi-lang-nodejs=\"`targetResourceId`\" pulumi-lang-dotnet=\"`TargetResourceId`\" pulumi-lang-go=\"`targetResourceId`\" pulumi-lang-python=\"`target_resource_id`\" pulumi-lang-yaml=\"`targetResourceId`\" pulumi-lang-java=\"`targetResourceId`\"\u003e`target_resource_id`\u003c/span\u003e.\n"},"resourceGroupName":{"type":"string","description":"Specifies the resource group where the DNS Zone (parent resource) exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n\n\u003e **Note:** either \u003cspan pulumi-lang-nodejs=\"`records`\" pulumi-lang-dotnet=\"`Records`\" pulumi-lang-go=\"`records`\" pulumi-lang-python=\"`records`\" pulumi-lang-yaml=\"`records`\" pulumi-lang-java=\"`records`\"\u003e`records`\u003c/span\u003e OR \u003cspan pulumi-lang-nodejs=\"`targetResourceId`\" pulumi-lang-dotnet=\"`TargetResourceId`\" pulumi-lang-go=\"`targetResourceId`\" pulumi-lang-python=\"`target_resource_id`\" pulumi-lang-yaml=\"`targetResourceId`\" pulumi-lang-java=\"`targetResourceId`\"\u003e`target_resource_id`\u003c/span\u003e must be specified, but not both.\n"},"targetResourceId":{"type":"string","description":"The Azure resource id of the target object. Conflicts with \u003cspan pulumi-lang-nodejs=\"`records`\" pulumi-lang-dotnet=\"`Records`\" pulumi-lang-go=\"`records`\" pulumi-lang-python=\"`records`\" pulumi-lang-yaml=\"`records`\" pulumi-lang-java=\"`records`\"\u003e`records`\u003c/span\u003e.\n"},"ttl":{"type":"integer","description":"The Time To Live (TTL) of the DNS record in seconds.\n"},"zoneName":{"type":"string","description":"Specifies the DNS Zone where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["resourceGroupName","ttl","zoneName"],"stateInputs":{"description":"Input properties used for looking up and filtering AaaaRecord resources.\n","properties":{"fqdn":{"type":"string","description":"The FQDN of the DNS AAAA Record.\n"},"name":{"type":"string","description":"The name of the DNS AAAA Record. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"records":{"type":"array","items":{"type":"string"},"description":"List of IPv6 Addresses. Conflicts with \u003cspan pulumi-lang-nodejs=\"`targetResourceId`\" pulumi-lang-dotnet=\"`TargetResourceId`\" pulumi-lang-go=\"`targetResourceId`\" pulumi-lang-python=\"`target_resource_id`\" pulumi-lang-yaml=\"`targetResourceId`\" pulumi-lang-java=\"`targetResourceId`\"\u003e`target_resource_id`\u003c/span\u003e.\n"},"resourceGroupName":{"type":"string","description":"Specifies the resource group where the DNS Zone (parent resource) exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n\n\u003e **Note:** either \u003cspan pulumi-lang-nodejs=\"`records`\" pulumi-lang-dotnet=\"`Records`\" pulumi-lang-go=\"`records`\" pulumi-lang-python=\"`records`\" pulumi-lang-yaml=\"`records`\" pulumi-lang-java=\"`records`\"\u003e`records`\u003c/span\u003e OR \u003cspan pulumi-lang-nodejs=\"`targetResourceId`\" pulumi-lang-dotnet=\"`TargetResourceId`\" pulumi-lang-go=\"`targetResourceId`\" pulumi-lang-python=\"`target_resource_id`\" pulumi-lang-yaml=\"`targetResourceId`\" pulumi-lang-java=\"`targetResourceId`\"\u003e`target_resource_id`\u003c/span\u003e must be specified, but not both.\n"},"targetResourceId":{"type":"string","description":"The Azure resource id of the target object. Conflicts with \u003cspan pulumi-lang-nodejs=\"`records`\" pulumi-lang-dotnet=\"`Records`\" pulumi-lang-go=\"`records`\" pulumi-lang-python=\"`records`\" pulumi-lang-yaml=\"`records`\" pulumi-lang-java=\"`records`\"\u003e`records`\u003c/span\u003e.\n"},"ttl":{"type":"integer","description":"The Time To Live (TTL) of the DNS record in seconds.\n"},"zoneName":{"type":"string","description":"Specifies the DNS Zone where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:dns/cNameRecord:CNameRecord":{"description":"Enables you to manage DNS CNAME Records within Azure DNS.\n\n\u003e **Note:** [The Azure DNS API has a throttle limit of 500 read (GET) operations per 5 minutes](https://docs.microsoft.com/azure/azure-resource-manager/management/request-limits-and-throttling#network-throttling) - whilst the default read timeouts will work for most cases - in larger configurations you may need to set a larger read timeout then the default 5min. Although, we'd generally recommend that you split the resources out into smaller Terraform configurations to avoid the problem entirely.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleZone = new azure.dns.Zone(\"example\", {\n    name: \"mydomain.com\",\n    resourceGroupName: example.name,\n});\nconst exampleCNameRecord = new azure.dns.CNameRecord(\"example\", {\n    name: \"test\",\n    zoneName: exampleZone.name,\n    resourceGroupName: example.name,\n    ttl: 300,\n    record: \"contoso.com\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_zone = azure.dns.Zone(\"example\",\n    name=\"mydomain.com\",\n    resource_group_name=example.name)\nexample_c_name_record = azure.dns.CNameRecord(\"example\",\n    name=\"test\",\n    zone_name=example_zone.name,\n    resource_group_name=example.name,\n    ttl=300,\n    record=\"contoso.com\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleZone = new Azure.Dns.Zone(\"example\", new()\n    {\n        Name = \"mydomain.com\",\n        ResourceGroupName = example.Name,\n    });\n\n    var exampleCNameRecord = new Azure.Dns.CNameRecord(\"example\", new()\n    {\n        Name = \"test\",\n        ZoneName = exampleZone.Name,\n        ResourceGroupName = example.Name,\n        Ttl = 300,\n        Record = \"contoso.com\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/dns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleZone, err := dns.NewZone(ctx, \"example\", \u0026dns.ZoneArgs{\n\t\t\tName:              pulumi.String(\"mydomain.com\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = dns.NewCNameRecord(ctx, \"example\", \u0026dns.CNameRecordArgs{\n\t\t\tName:              pulumi.String(\"test\"),\n\t\t\tZoneName:          exampleZone.Name,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tTtl:               pulumi.Int(300),\n\t\t\tRecord:            pulumi.String(\"contoso.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.dns.Zone;\nimport com.pulumi.azure.dns.ZoneArgs;\nimport com.pulumi.azure.dns.CNameRecord;\nimport com.pulumi.azure.dns.CNameRecordArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleZone = new Zone(\"exampleZone\", ZoneArgs.builder()\n            .name(\"mydomain.com\")\n            .resourceGroupName(example.name())\n            .build());\n\n        var exampleCNameRecord = new CNameRecord(\"exampleCNameRecord\", CNameRecordArgs.builder()\n            .name(\"test\")\n            .zoneName(exampleZone.name())\n            .resourceGroupName(example.name())\n            .ttl(300)\n            .record(\"contoso.com\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleZone:\n    type: azure:dns:Zone\n    name: example\n    properties:\n      name: mydomain.com\n      resourceGroupName: ${example.name}\n  exampleCNameRecord:\n    type: azure:dns:CNameRecord\n    name: example\n    properties:\n      name: test\n      zoneName: ${exampleZone.name}\n      resourceGroupName: ${example.name}\n      ttl: 300\n      record: contoso.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\n### Alias Record)\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleZone = new azure.dns.Zone(\"example\", {\n    name: \"mydomain.com\",\n    resourceGroupName: example.name,\n});\nconst target = new azure.dns.CNameRecord(\"target\", {\n    name: \"target\",\n    zoneName: exampleZone.name,\n    resourceGroupName: example.name,\n    ttl: 300,\n    record: \"contoso.com\",\n});\nconst exampleCNameRecord = new azure.dns.CNameRecord(\"example\", {\n    name: \"test\",\n    zoneName: exampleZone.name,\n    resourceGroupName: example.name,\n    ttl: 300,\n    targetResourceId: target.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_zone = azure.dns.Zone(\"example\",\n    name=\"mydomain.com\",\n    resource_group_name=example.name)\ntarget = azure.dns.CNameRecord(\"target\",\n    name=\"target\",\n    zone_name=example_zone.name,\n    resource_group_name=example.name,\n    ttl=300,\n    record=\"contoso.com\")\nexample_c_name_record = azure.dns.CNameRecord(\"example\",\n    name=\"test\",\n    zone_name=example_zone.name,\n    resource_group_name=example.name,\n    ttl=300,\n    target_resource_id=target.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleZone = new Azure.Dns.Zone(\"example\", new()\n    {\n        Name = \"mydomain.com\",\n        ResourceGroupName = example.Name,\n    });\n\n    var target = new Azure.Dns.CNameRecord(\"target\", new()\n    {\n        Name = \"target\",\n        ZoneName = exampleZone.Name,\n        ResourceGroupName = example.Name,\n        Ttl = 300,\n        Record = \"contoso.com\",\n    });\n\n    var exampleCNameRecord = new Azure.Dns.CNameRecord(\"example\", new()\n    {\n        Name = \"test\",\n        ZoneName = exampleZone.Name,\n        ResourceGroupName = example.Name,\n        Ttl = 300,\n        TargetResourceId = target.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/dns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleZone, err := dns.NewZone(ctx, \"example\", \u0026dns.ZoneArgs{\n\t\t\tName:              pulumi.String(\"mydomain.com\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttarget, err := dns.NewCNameRecord(ctx, \"target\", \u0026dns.CNameRecordArgs{\n\t\t\tName:              pulumi.String(\"target\"),\n\t\t\tZoneName:          exampleZone.Name,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tTtl:               pulumi.Int(300),\n\t\t\tRecord:            pulumi.String(\"contoso.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = dns.NewCNameRecord(ctx, \"example\", \u0026dns.CNameRecordArgs{\n\t\t\tName:              pulumi.String(\"test\"),\n\t\t\tZoneName:          exampleZone.Name,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tTtl:               pulumi.Int(300),\n\t\t\tTargetResourceId:  target.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.dns.Zone;\nimport com.pulumi.azure.dns.ZoneArgs;\nimport com.pulumi.azure.dns.CNameRecord;\nimport com.pulumi.azure.dns.CNameRecordArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleZone = new Zone(\"exampleZone\", ZoneArgs.builder()\n            .name(\"mydomain.com\")\n            .resourceGroupName(example.name())\n            .build());\n\n        var target = new CNameRecord(\"target\", CNameRecordArgs.builder()\n            .name(\"target\")\n            .zoneName(exampleZone.name())\n            .resourceGroupName(example.name())\n            .ttl(300)\n            .record(\"contoso.com\")\n            .build());\n\n        var exampleCNameRecord = new CNameRecord(\"exampleCNameRecord\", CNameRecordArgs.builder()\n            .name(\"test\")\n            .zoneName(exampleZone.name())\n            .resourceGroupName(example.name())\n            .ttl(300)\n            .targetResourceId(target.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleZone:\n    type: azure:dns:Zone\n    name: example\n    properties:\n      name: mydomain.com\n      resourceGroupName: ${example.name}\n  target:\n    type: azure:dns:CNameRecord\n    properties:\n      name: target\n      zoneName: ${exampleZone.name}\n      resourceGroupName: ${example.name}\n      ttl: 300\n      record: contoso.com\n  exampleCNameRecord:\n    type: azure:dns:CNameRecord\n    name: example\n    properties:\n      name: test\n      zoneName: ${exampleZone.name}\n      resourceGroupName: ${example.name}\n      ttl: 300\n      targetResourceId: ${target.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2018-05-01\n\n## Import\n\nCNAME records can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:dns/cNameRecord:CNameRecord example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Network/dnsZones/zone1/CNAME/myrecord1\n```\n\n","properties":{"fqdn":{"type":"string","description":"The FQDN of the DNS CName Record.\n"},"name":{"type":"string","description":"The name of the DNS CNAME Record. Changing this forces a new resource to be created.\n"},"record":{"type":"string","description":"The target of the CNAME.\n"},"resourceGroupName":{"type":"string","description":"Specifies the resource group where the DNS Zone (parent resource) exists. Changing this forces a new resource to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n\n\u003e **Note:** either \u003cspan pulumi-lang-nodejs=\"`record`\" pulumi-lang-dotnet=\"`Record`\" pulumi-lang-go=\"`record`\" pulumi-lang-python=\"`record`\" pulumi-lang-yaml=\"`record`\" pulumi-lang-java=\"`record`\"\u003e`record`\u003c/span\u003e OR \u003cspan pulumi-lang-nodejs=\"`targetResourceId`\" pulumi-lang-dotnet=\"`TargetResourceId`\" pulumi-lang-go=\"`targetResourceId`\" pulumi-lang-python=\"`target_resource_id`\" pulumi-lang-yaml=\"`targetResourceId`\" pulumi-lang-java=\"`targetResourceId`\"\u003e`target_resource_id`\u003c/span\u003e must be specified, but not both.\n"},"targetResourceId":{"type":"string","description":"The Azure resource id of the target object. Conflicts with \u003cspan pulumi-lang-nodejs=\"`record`\" pulumi-lang-dotnet=\"`Record`\" pulumi-lang-go=\"`record`\" pulumi-lang-python=\"`record`\" pulumi-lang-yaml=\"`record`\" pulumi-lang-java=\"`record`\"\u003e`record`\u003c/span\u003e.\n"},"ttl":{"type":"integer","description":"The Time To Live (TTL) of the DNS record in seconds.\n"},"zoneName":{"type":"string","description":"Specifies the DNS Zone where the resource exists. Changing this forces a new resource to be created.\n"}},"required":["fqdn","name","resourceGroupName","ttl","zoneName"],"inputProperties":{"name":{"type":"string","description":"The name of the DNS CNAME Record. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"record":{"type":"string","description":"The target of the CNAME.\n"},"resourceGroupName":{"type":"string","description":"Specifies the resource group where the DNS Zone (parent resource) exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n\n\u003e **Note:** either \u003cspan pulumi-lang-nodejs=\"`record`\" pulumi-lang-dotnet=\"`Record`\" pulumi-lang-go=\"`record`\" pulumi-lang-python=\"`record`\" pulumi-lang-yaml=\"`record`\" pulumi-lang-java=\"`record`\"\u003e`record`\u003c/span\u003e OR \u003cspan pulumi-lang-nodejs=\"`targetResourceId`\" pulumi-lang-dotnet=\"`TargetResourceId`\" pulumi-lang-go=\"`targetResourceId`\" pulumi-lang-python=\"`target_resource_id`\" pulumi-lang-yaml=\"`targetResourceId`\" pulumi-lang-java=\"`targetResourceId`\"\u003e`target_resource_id`\u003c/span\u003e must be specified, but not both.\n"},"targetResourceId":{"type":"string","description":"The Azure resource id of the target object. Conflicts with \u003cspan pulumi-lang-nodejs=\"`record`\" pulumi-lang-dotnet=\"`Record`\" pulumi-lang-go=\"`record`\" pulumi-lang-python=\"`record`\" pulumi-lang-yaml=\"`record`\" pulumi-lang-java=\"`record`\"\u003e`record`\u003c/span\u003e.\n"},"ttl":{"type":"integer","description":"The Time To Live (TTL) of the DNS record in seconds.\n"},"zoneName":{"type":"string","description":"Specifies the DNS Zone where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["resourceGroupName","ttl","zoneName"],"stateInputs":{"description":"Input properties used for looking up and filtering CNameRecord resources.\n","properties":{"fqdn":{"type":"string","description":"The FQDN of the DNS CName Record.\n"},"name":{"type":"string","description":"The name of the DNS CNAME Record. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"record":{"type":"string","description":"The target of the CNAME.\n"},"resourceGroupName":{"type":"string","description":"Specifies the resource group where the DNS Zone (parent resource) exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n\n\u003e **Note:** either \u003cspan pulumi-lang-nodejs=\"`record`\" pulumi-lang-dotnet=\"`Record`\" pulumi-lang-go=\"`record`\" pulumi-lang-python=\"`record`\" pulumi-lang-yaml=\"`record`\" pulumi-lang-java=\"`record`\"\u003e`record`\u003c/span\u003e OR \u003cspan pulumi-lang-nodejs=\"`targetResourceId`\" pulumi-lang-dotnet=\"`TargetResourceId`\" pulumi-lang-go=\"`targetResourceId`\" pulumi-lang-python=\"`target_resource_id`\" pulumi-lang-yaml=\"`targetResourceId`\" pulumi-lang-java=\"`targetResourceId`\"\u003e`target_resource_id`\u003c/span\u003e must be specified, but not both.\n"},"targetResourceId":{"type":"string","description":"The Azure resource id of the target object. Conflicts with \u003cspan pulumi-lang-nodejs=\"`record`\" pulumi-lang-dotnet=\"`Record`\" pulumi-lang-go=\"`record`\" pulumi-lang-python=\"`record`\" pulumi-lang-yaml=\"`record`\" pulumi-lang-java=\"`record`\"\u003e`record`\u003c/span\u003e.\n"},"ttl":{"type":"integer","description":"The Time To Live (TTL) of the DNS record in seconds.\n"},"zoneName":{"type":"string","description":"Specifies the DNS Zone where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:dns/caaRecord:CaaRecord":{"description":"Enables you to manage DNS CAA Records within Azure DNS.\n\n\u003e **Note:** [The Azure DNS API has a throttle limit of 500 read (GET) operations per 5 minutes](https://docs.microsoft.com/azure/azure-resource-manager/management/request-limits-and-throttling#network-throttling) - whilst the default read timeouts will work for most cases - in larger configurations you may need to set a larger read timeout then the default 5min. Although, we'd generally recommend that you split the resources out into smaller Terraform configurations to avoid the problem entirely.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleZone = new azure.dns.Zone(\"example\", {\n    name: \"mydomain.com\",\n    resourceGroupName: example.name,\n});\nconst exampleCaaRecord = new azure.dns.CaaRecord(\"example\", {\n    name: \"test\",\n    zoneName: exampleZone.name,\n    resourceGroupName: example.name,\n    ttl: 300,\n    records: [\n        {\n            flags: 0,\n            tag: \"issue\",\n            value: \"example.com\",\n        },\n        {\n            flags: 0,\n            tag: \"issue\",\n            value: \"example.net\",\n        },\n        {\n            flags: 0,\n            tag: \"issuewild\",\n            value: \";\",\n        },\n        {\n            flags: 0,\n            tag: \"iodef\",\n            value: \"mailto:user@nonexisting.tld\",\n        },\n    ],\n    tags: {\n        Environment: \"Production\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_zone = azure.dns.Zone(\"example\",\n    name=\"mydomain.com\",\n    resource_group_name=example.name)\nexample_caa_record = azure.dns.CaaRecord(\"example\",\n    name=\"test\",\n    zone_name=example_zone.name,\n    resource_group_name=example.name,\n    ttl=300,\n    records=[\n        {\n            \"flags\": 0,\n            \"tag\": \"issue\",\n            \"value\": \"example.com\",\n        },\n        {\n            \"flags\": 0,\n            \"tag\": \"issue\",\n            \"value\": \"example.net\",\n        },\n        {\n            \"flags\": 0,\n            \"tag\": \"issuewild\",\n            \"value\": \";\",\n        },\n        {\n            \"flags\": 0,\n            \"tag\": \"iodef\",\n            \"value\": \"mailto:user@nonexisting.tld\",\n        },\n    ],\n    tags={\n        \"Environment\": \"Production\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleZone = new Azure.Dns.Zone(\"example\", new()\n    {\n        Name = \"mydomain.com\",\n        ResourceGroupName = example.Name,\n    });\n\n    var exampleCaaRecord = new Azure.Dns.CaaRecord(\"example\", new()\n    {\n        Name = \"test\",\n        ZoneName = exampleZone.Name,\n        ResourceGroupName = example.Name,\n        Ttl = 300,\n        Records = new[]\n        {\n            new Azure.Dns.Inputs.CaaRecordRecordArgs\n            {\n                Flags = 0,\n                Tag = \"issue\",\n                Value = \"example.com\",\n            },\n            new Azure.Dns.Inputs.CaaRecordRecordArgs\n            {\n                Flags = 0,\n                Tag = \"issue\",\n                Value = \"example.net\",\n            },\n            new Azure.Dns.Inputs.CaaRecordRecordArgs\n            {\n                Flags = 0,\n                Tag = \"issuewild\",\n                Value = \";\",\n            },\n            new Azure.Dns.Inputs.CaaRecordRecordArgs\n            {\n                Flags = 0,\n                Tag = \"iodef\",\n                Value = \"mailto:user@nonexisting.tld\",\n            },\n        },\n        Tags = \n        {\n            { \"Environment\", \"Production\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/dns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleZone, err := dns.NewZone(ctx, \"example\", \u0026dns.ZoneArgs{\n\t\t\tName:              pulumi.String(\"mydomain.com\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = dns.NewCaaRecord(ctx, \"example\", \u0026dns.CaaRecordArgs{\n\t\t\tName:              pulumi.String(\"test\"),\n\t\t\tZoneName:          exampleZone.Name,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tTtl:               pulumi.Int(300),\n\t\t\tRecords: dns.CaaRecordRecordArray{\n\t\t\t\t\u0026dns.CaaRecordRecordArgs{\n\t\t\t\t\tFlags: pulumi.Int(0),\n\t\t\t\t\tTag:   pulumi.String(\"issue\"),\n\t\t\t\t\tValue: pulumi.String(\"example.com\"),\n\t\t\t\t},\n\t\t\t\t\u0026dns.CaaRecordRecordArgs{\n\t\t\t\t\tFlags: pulumi.Int(0),\n\t\t\t\t\tTag:   pulumi.String(\"issue\"),\n\t\t\t\t\tValue: pulumi.String(\"example.net\"),\n\t\t\t\t},\n\t\t\t\t\u0026dns.CaaRecordRecordArgs{\n\t\t\t\t\tFlags: pulumi.Int(0),\n\t\t\t\t\tTag:   pulumi.String(\"issuewild\"),\n\t\t\t\t\tValue: pulumi.String(\";\"),\n\t\t\t\t},\n\t\t\t\t\u0026dns.CaaRecordRecordArgs{\n\t\t\t\t\tFlags: pulumi.Int(0),\n\t\t\t\t\tTag:   pulumi.String(\"iodef\"),\n\t\t\t\t\tValue: pulumi.String(\"mailto:user@nonexisting.tld\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Environment\": pulumi.String(\"Production\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.dns.Zone;\nimport com.pulumi.azure.dns.ZoneArgs;\nimport com.pulumi.azure.dns.CaaRecord;\nimport com.pulumi.azure.dns.CaaRecordArgs;\nimport com.pulumi.azure.dns.inputs.CaaRecordRecordArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleZone = new Zone(\"exampleZone\", ZoneArgs.builder()\n            .name(\"mydomain.com\")\n            .resourceGroupName(example.name())\n            .build());\n\n        var exampleCaaRecord = new CaaRecord(\"exampleCaaRecord\", CaaRecordArgs.builder()\n            .name(\"test\")\n            .zoneName(exampleZone.name())\n            .resourceGroupName(example.name())\n            .ttl(300)\n            .records(            \n                CaaRecordRecordArgs.builder()\n                    .flags(0)\n                    .tag(\"issue\")\n                    .value(\"example.com\")\n                    .build(),\n                CaaRecordRecordArgs.builder()\n                    .flags(0)\n                    .tag(\"issue\")\n                    .value(\"example.net\")\n                    .build(),\n                CaaRecordRecordArgs.builder()\n                    .flags(0)\n                    .tag(\"issuewild\")\n                    .value(\";\")\n                    .build(),\n                CaaRecordRecordArgs.builder()\n                    .flags(0)\n                    .tag(\"iodef\")\n                    .value(\"mailto:user@nonexisting.tld\")\n                    .build())\n            .tags(Map.of(\"Environment\", \"Production\"))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleZone:\n    type: azure:dns:Zone\n    name: example\n    properties:\n      name: mydomain.com\n      resourceGroupName: ${example.name}\n  exampleCaaRecord:\n    type: azure:dns:CaaRecord\n    name: example\n    properties:\n      name: test\n      zoneName: ${exampleZone.name}\n      resourceGroupName: ${example.name}\n      ttl: 300\n      records:\n        - flags: 0\n          tag: issue\n          value: example.com\n        - flags: 0\n          tag: issue\n          value: example.net\n        - flags: 0\n          tag: issuewild\n          value: ;\n        - flags: 0\n          tag: iodef\n          value: mailto:user@nonexisting.tld\n      tags:\n        Environment: Production\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2018-05-01\n\n## Import\n\nCAA records can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:dns/caaRecord:CaaRecord example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Network/dnsZones/zone1/CAA/myrecord1\n```\n\n","properties":{"fqdn":{"type":"string","description":"The FQDN of the DNS CAA Record.\n"},"name":{"type":"string","description":"The name of the DNS CAA Record. If you are creating the record in the apex of the zone use `\"@\"` as the name. Changing this forces a new resource to be created.\n"},"records":{"type":"array","items":{"$ref":"#/types/azure:dns/CaaRecordRecord:CaaRecordRecord"},"description":"A list of values that make up the CAA record. Each \u003cspan pulumi-lang-nodejs=\"`record`\" pulumi-lang-dotnet=\"`Record`\" pulumi-lang-go=\"`record`\" pulumi-lang-python=\"`record`\" pulumi-lang-yaml=\"`record`\" pulumi-lang-java=\"`record`\"\u003e`record`\u003c/span\u003e block supports fields documented below.\n"},"resourceGroupName":{"type":"string","description":"Specifies the resource group where the DNS Zone (parent resource) exists. Changing this forces a new resource to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"ttl":{"type":"integer","description":"The Time To Live (TTL) of the DNS record in seconds.\n"},"zoneName":{"type":"string","description":"Specifies the DNS Zone where the resource exists. Changing this forces a new resource to be created.\n"}},"required":["fqdn","name","records","resourceGroupName","ttl","zoneName"],"inputProperties":{"name":{"type":"string","description":"The name of the DNS CAA Record. If you are creating the record in the apex of the zone use `\"@\"` as the name. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"records":{"type":"array","items":{"$ref":"#/types/azure:dns/CaaRecordRecord:CaaRecordRecord"},"description":"A list of values that make up the CAA record. Each \u003cspan pulumi-lang-nodejs=\"`record`\" pulumi-lang-dotnet=\"`Record`\" pulumi-lang-go=\"`record`\" pulumi-lang-python=\"`record`\" pulumi-lang-yaml=\"`record`\" pulumi-lang-java=\"`record`\"\u003e`record`\u003c/span\u003e block supports fields documented below.\n"},"resourceGroupName":{"type":"string","description":"Specifies the resource group where the DNS Zone (parent resource) exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"ttl":{"type":"integer","description":"The Time To Live (TTL) of the DNS record in seconds.\n"},"zoneName":{"type":"string","description":"Specifies the DNS Zone where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["records","resourceGroupName","ttl","zoneName"],"stateInputs":{"description":"Input properties used for looking up and filtering CaaRecord resources.\n","properties":{"fqdn":{"type":"string","description":"The FQDN of the DNS CAA Record.\n"},"name":{"type":"string","description":"The name of the DNS CAA Record. If you are creating the record in the apex of the zone use `\"@\"` as the name. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"records":{"type":"array","items":{"$ref":"#/types/azure:dns/CaaRecordRecord:CaaRecordRecord"},"description":"A list of values that make up the CAA record. Each \u003cspan pulumi-lang-nodejs=\"`record`\" pulumi-lang-dotnet=\"`Record`\" pulumi-lang-go=\"`record`\" pulumi-lang-python=\"`record`\" pulumi-lang-yaml=\"`record`\" pulumi-lang-java=\"`record`\"\u003e`record`\u003c/span\u003e block supports fields documented below.\n"},"resourceGroupName":{"type":"string","description":"Specifies the resource group where the DNS Zone (parent resource) exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"ttl":{"type":"integer","description":"The Time To Live (TTL) of the DNS record in seconds.\n"},"zoneName":{"type":"string","description":"Specifies the DNS Zone where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:dns/mxRecord:MxRecord":{"description":"Enables you to manage DNS MX Records within Azure DNS.\n\n\u003e **Note:** [The Azure DNS API has a throttle limit of 500 read (GET) operations per 5 minutes](https://docs.microsoft.com/azure/azure-resource-manager/management/request-limits-and-throttling#network-throttling) - whilst the default read timeouts will work for most cases - in larger configurations you may need to set a larger read timeout then the default 5min. Although, we'd generally recommend that you split the resources out into smaller Terraform configurations to avoid the problem entirely.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleZone = new azure.dns.Zone(\"example\", {\n    name: \"mydomain.com\",\n    resourceGroupName: example.name,\n});\nconst exampleMxRecord = new azure.dns.MxRecord(\"example\", {\n    name: \"test\",\n    zoneName: exampleZone.name,\n    resourceGroupName: example.name,\n    ttl: 300,\n    records: [\n        {\n            preference: \"10\",\n            exchange: \"mail1.contoso.com\",\n        },\n        {\n            preference: \"20\",\n            exchange: \"mail2.contoso.com\",\n        },\n    ],\n    tags: {\n        Environment: \"Production\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_zone = azure.dns.Zone(\"example\",\n    name=\"mydomain.com\",\n    resource_group_name=example.name)\nexample_mx_record = azure.dns.MxRecord(\"example\",\n    name=\"test\",\n    zone_name=example_zone.name,\n    resource_group_name=example.name,\n    ttl=300,\n    records=[\n        {\n            \"preference\": \"10\",\n            \"exchange\": \"mail1.contoso.com\",\n        },\n        {\n            \"preference\": \"20\",\n            \"exchange\": \"mail2.contoso.com\",\n        },\n    ],\n    tags={\n        \"Environment\": \"Production\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleZone = new Azure.Dns.Zone(\"example\", new()\n    {\n        Name = \"mydomain.com\",\n        ResourceGroupName = example.Name,\n    });\n\n    var exampleMxRecord = new Azure.Dns.MxRecord(\"example\", new()\n    {\n        Name = \"test\",\n        ZoneName = exampleZone.Name,\n        ResourceGroupName = example.Name,\n        Ttl = 300,\n        Records = new[]\n        {\n            new Azure.Dns.Inputs.MxRecordRecordArgs\n            {\n                Preference = \"10\",\n                Exchange = \"mail1.contoso.com\",\n            },\n            new Azure.Dns.Inputs.MxRecordRecordArgs\n            {\n                Preference = \"20\",\n                Exchange = \"mail2.contoso.com\",\n            },\n        },\n        Tags = \n        {\n            { \"Environment\", \"Production\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/dns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleZone, err := dns.NewZone(ctx, \"example\", \u0026dns.ZoneArgs{\n\t\t\tName:              pulumi.String(\"mydomain.com\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = dns.NewMxRecord(ctx, \"example\", \u0026dns.MxRecordArgs{\n\t\t\tName:              pulumi.String(\"test\"),\n\t\t\tZoneName:          exampleZone.Name,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tTtl:               pulumi.Int(300),\n\t\t\tRecords: dns.MxRecordRecordArray{\n\t\t\t\t\u0026dns.MxRecordRecordArgs{\n\t\t\t\t\tPreference: pulumi.String(\"10\"),\n\t\t\t\t\tExchange:   pulumi.String(\"mail1.contoso.com\"),\n\t\t\t\t},\n\t\t\t\t\u0026dns.MxRecordRecordArgs{\n\t\t\t\t\tPreference: pulumi.String(\"20\"),\n\t\t\t\t\tExchange:   pulumi.String(\"mail2.contoso.com\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Environment\": pulumi.String(\"Production\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.dns.Zone;\nimport com.pulumi.azure.dns.ZoneArgs;\nimport com.pulumi.azure.dns.MxRecord;\nimport com.pulumi.azure.dns.MxRecordArgs;\nimport com.pulumi.azure.dns.inputs.MxRecordRecordArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleZone = new Zone(\"exampleZone\", ZoneArgs.builder()\n            .name(\"mydomain.com\")\n            .resourceGroupName(example.name())\n            .build());\n\n        var exampleMxRecord = new MxRecord(\"exampleMxRecord\", MxRecordArgs.builder()\n            .name(\"test\")\n            .zoneName(exampleZone.name())\n            .resourceGroupName(example.name())\n            .ttl(300)\n            .records(            \n                MxRecordRecordArgs.builder()\n                    .preference(\"10\")\n                    .exchange(\"mail1.contoso.com\")\n                    .build(),\n                MxRecordRecordArgs.builder()\n                    .preference(\"20\")\n                    .exchange(\"mail2.contoso.com\")\n                    .build())\n            .tags(Map.of(\"Environment\", \"Production\"))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleZone:\n    type: azure:dns:Zone\n    name: example\n    properties:\n      name: mydomain.com\n      resourceGroupName: ${example.name}\n  exampleMxRecord:\n    type: azure:dns:MxRecord\n    name: example\n    properties:\n      name: test\n      zoneName: ${exampleZone.name}\n      resourceGroupName: ${example.name}\n      ttl: 300\n      records:\n        - preference: 10\n          exchange: mail1.contoso.com\n        - preference: 20\n          exchange: mail2.contoso.com\n      tags:\n        Environment: Production\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2018-05-01\n\n## Import\n\nMX records can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:dns/mxRecord:MxRecord example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Network/dnsZones/zone1/MX/myrecord1\n```\n\n","properties":{"fqdn":{"type":"string","description":"The FQDN of the DNS MX Record.\n"},"name":{"type":"string","description":"The name of the DNS MX Record. Defaults to `@` (root). Changing this forces a new resource to be created.\n"},"records":{"type":"array","items":{"$ref":"#/types/azure:dns/MxRecordRecord:MxRecordRecord"},"description":"A list of values that make up the MX record. Each \u003cspan pulumi-lang-nodejs=\"`record`\" pulumi-lang-dotnet=\"`Record`\" pulumi-lang-go=\"`record`\" pulumi-lang-python=\"`record`\" pulumi-lang-yaml=\"`record`\" pulumi-lang-java=\"`record`\"\u003e`record`\u003c/span\u003e block supports fields documented below.\n"},"resourceGroupName":{"type":"string","description":"Specifies the resource group where the DNS Zone (parent resource) exists. Changing this forces a new resource to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"ttl":{"type":"integer","description":"The Time To Live (TTL) of the DNS record in seconds.\n"},"zoneName":{"type":"string","description":"Specifies the DNS Zone where the resource exists. Changing this forces a new resource to be created.\n"}},"required":["fqdn","name","records","resourceGroupName","ttl","zoneName"],"inputProperties":{"name":{"type":"string","description":"The name of the DNS MX Record. Defaults to `@` (root). Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"records":{"type":"array","items":{"$ref":"#/types/azure:dns/MxRecordRecord:MxRecordRecord"},"description":"A list of values that make up the MX record. Each \u003cspan pulumi-lang-nodejs=\"`record`\" pulumi-lang-dotnet=\"`Record`\" pulumi-lang-go=\"`record`\" pulumi-lang-python=\"`record`\" pulumi-lang-yaml=\"`record`\" pulumi-lang-java=\"`record`\"\u003e`record`\u003c/span\u003e block supports fields documented below.\n"},"resourceGroupName":{"type":"string","description":"Specifies the resource group where the DNS Zone (parent resource) exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"ttl":{"type":"integer","description":"The Time To Live (TTL) of the DNS record in seconds.\n"},"zoneName":{"type":"string","description":"Specifies the DNS Zone where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["records","resourceGroupName","ttl","zoneName"],"stateInputs":{"description":"Input properties used for looking up and filtering MxRecord resources.\n","properties":{"fqdn":{"type":"string","description":"The FQDN of the DNS MX Record.\n"},"name":{"type":"string","description":"The name of the DNS MX Record. Defaults to `@` (root). Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"records":{"type":"array","items":{"$ref":"#/types/azure:dns/MxRecordRecord:MxRecordRecord"},"description":"A list of values that make up the MX record. Each \u003cspan pulumi-lang-nodejs=\"`record`\" pulumi-lang-dotnet=\"`Record`\" pulumi-lang-go=\"`record`\" pulumi-lang-python=\"`record`\" pulumi-lang-yaml=\"`record`\" pulumi-lang-java=\"`record`\"\u003e`record`\u003c/span\u003e block supports fields documented below.\n"},"resourceGroupName":{"type":"string","description":"Specifies the resource group where the DNS Zone (parent resource) exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"ttl":{"type":"integer","description":"The Time To Live (TTL) of the DNS record in seconds.\n"},"zoneName":{"type":"string","description":"Specifies the DNS Zone where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:dns/nsRecord:NsRecord":{"description":"Enables you to manage DNS NS Records within Azure DNS.\n\n\u003e **Note:** [The Azure DNS API has a throttle limit of 500 read (GET) operations per 5 minutes](https://docs.microsoft.com/azure/azure-resource-manager/management/request-limits-and-throttling#network-throttling) - whilst the default read timeouts will work for most cases - in larger configurations you may need to set a larger read timeout then the default 5min. Although, we'd generally recommend that you split the resources out into smaller Terraform configurations to avoid the problem entirely.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleZone = new azure.dns.Zone(\"example\", {\n    name: \"mydomain.com\",\n    resourceGroupName: example.name,\n});\nconst exampleNsRecord = new azure.dns.NsRecord(\"example\", {\n    name: \"test\",\n    zoneName: exampleZone.name,\n    resourceGroupName: example.name,\n    ttl: 300,\n    records: [\n        \"ns1.contoso.com.\",\n        \"ns2.contoso.com.\",\n    ],\n    tags: {\n        Environment: \"Production\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_zone = azure.dns.Zone(\"example\",\n    name=\"mydomain.com\",\n    resource_group_name=example.name)\nexample_ns_record = azure.dns.NsRecord(\"example\",\n    name=\"test\",\n    zone_name=example_zone.name,\n    resource_group_name=example.name,\n    ttl=300,\n    records=[\n        \"ns1.contoso.com.\",\n        \"ns2.contoso.com.\",\n    ],\n    tags={\n        \"Environment\": \"Production\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleZone = new Azure.Dns.Zone(\"example\", new()\n    {\n        Name = \"mydomain.com\",\n        ResourceGroupName = example.Name,\n    });\n\n    var exampleNsRecord = new Azure.Dns.NsRecord(\"example\", new()\n    {\n        Name = \"test\",\n        ZoneName = exampleZone.Name,\n        ResourceGroupName = example.Name,\n        Ttl = 300,\n        Records = new[]\n        {\n            \"ns1.contoso.com.\",\n            \"ns2.contoso.com.\",\n        },\n        Tags = \n        {\n            { \"Environment\", \"Production\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/dns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleZone, err := dns.NewZone(ctx, \"example\", \u0026dns.ZoneArgs{\n\t\t\tName:              pulumi.String(\"mydomain.com\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = dns.NewNsRecord(ctx, \"example\", \u0026dns.NsRecordArgs{\n\t\t\tName:              pulumi.String(\"test\"),\n\t\t\tZoneName:          exampleZone.Name,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tTtl:               pulumi.Int(300),\n\t\t\tRecords: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"ns1.contoso.com.\"),\n\t\t\t\tpulumi.String(\"ns2.contoso.com.\"),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Environment\": pulumi.String(\"Production\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.dns.Zone;\nimport com.pulumi.azure.dns.ZoneArgs;\nimport com.pulumi.azure.dns.NsRecord;\nimport com.pulumi.azure.dns.NsRecordArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleZone = new Zone(\"exampleZone\", ZoneArgs.builder()\n            .name(\"mydomain.com\")\n            .resourceGroupName(example.name())\n            .build());\n\n        var exampleNsRecord = new NsRecord(\"exampleNsRecord\", NsRecordArgs.builder()\n            .name(\"test\")\n            .zoneName(exampleZone.name())\n            .resourceGroupName(example.name())\n            .ttl(300)\n            .records(            \n                \"ns1.contoso.com.\",\n                \"ns2.contoso.com.\")\n            .tags(Map.of(\"Environment\", \"Production\"))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleZone:\n    type: azure:dns:Zone\n    name: example\n    properties:\n      name: mydomain.com\n      resourceGroupName: ${example.name}\n  exampleNsRecord:\n    type: azure:dns:NsRecord\n    name: example\n    properties:\n      name: test\n      zoneName: ${exampleZone.name}\n      resourceGroupName: ${example.name}\n      ttl: 300\n      records:\n        - ns1.contoso.com.\n        - ns2.contoso.com.\n      tags:\n        Environment: Production\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2018-05-01\n\n## Import\n\nNS records can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:dns/nsRecord:NsRecord example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Network/dnsZones/zone1/NS/myrecord1\n```\n\n","properties":{"fqdn":{"type":"string","description":"The FQDN of the DNS NS Record.\n"},"name":{"type":"string","description":"The name of the DNS NS Record. Changing this forces a new resource to be created.\n"},"records":{"type":"array","items":{"type":"string"},"description":"A list of values that make up the NS record.\n"},"resourceGroupName":{"type":"string","description":"Specifies the resource group where the DNS Zone (parent resource) exists. Changing this forces a new resource to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"ttl":{"type":"integer","description":"The Time To Live (TTL) of the DNS record in seconds.\n"},"zoneName":{"type":"string","description":"Specifies the DNS Zone where the resource exists. Changing this forces a new resource to be created.\n"}},"required":["fqdn","name","records","resourceGroupName","ttl","zoneName"],"inputProperties":{"name":{"type":"string","description":"The name of the DNS NS Record. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"records":{"type":"array","items":{"type":"string"},"description":"A list of values that make up the NS record.\n"},"resourceGroupName":{"type":"string","description":"Specifies the resource group where the DNS Zone (parent resource) exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"ttl":{"type":"integer","description":"The Time To Live (TTL) of the DNS record in seconds.\n"},"zoneName":{"type":"string","description":"Specifies the DNS Zone where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["records","resourceGroupName","ttl","zoneName"],"stateInputs":{"description":"Input properties used for looking up and filtering NsRecord resources.\n","properties":{"fqdn":{"type":"string","description":"The FQDN of the DNS NS Record.\n"},"name":{"type":"string","description":"The name of the DNS NS Record. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"records":{"type":"array","items":{"type":"string"},"description":"A list of values that make up the NS record.\n"},"resourceGroupName":{"type":"string","description":"Specifies the resource group where the DNS Zone (parent resource) exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"ttl":{"type":"integer","description":"The Time To Live (TTL) of the DNS record in seconds.\n"},"zoneName":{"type":"string","description":"Specifies the DNS Zone where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:dns/ptrRecord:PtrRecord":{"description":"Enables you to manage DNS PTR Records within Azure DNS.\n\n\u003e **Note:** [The Azure DNS API has a throttle limit of 500 read (GET) operations per 5 minutes](https://docs.microsoft.com/azure/azure-resource-manager/management/request-limits-and-throttling#network-throttling) - whilst the default read timeouts will work for most cases - in larger configurations you may need to set a larger read timeout then the default 5min. Although, we'd generally recommend that you split the resources out into smaller Terraform configurations to avoid the problem entirely.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleZone = new azure.dns.Zone(\"example\", {\n    name: \"mydomain.com\",\n    resourceGroupName: example.name,\n});\nconst examplePtrRecord = new azure.dns.PtrRecord(\"example\", {\n    name: \"test\",\n    zoneName: exampleZone.name,\n    resourceGroupName: example.name,\n    ttl: 300,\n    records: [\"yourdomain.com\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_zone = azure.dns.Zone(\"example\",\n    name=\"mydomain.com\",\n    resource_group_name=example.name)\nexample_ptr_record = azure.dns.PtrRecord(\"example\",\n    name=\"test\",\n    zone_name=example_zone.name,\n    resource_group_name=example.name,\n    ttl=300,\n    records=[\"yourdomain.com\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleZone = new Azure.Dns.Zone(\"example\", new()\n    {\n        Name = \"mydomain.com\",\n        ResourceGroupName = example.Name,\n    });\n\n    var examplePtrRecord = new Azure.Dns.PtrRecord(\"example\", new()\n    {\n        Name = \"test\",\n        ZoneName = exampleZone.Name,\n        ResourceGroupName = example.Name,\n        Ttl = 300,\n        Records = new[]\n        {\n            \"yourdomain.com\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/dns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleZone, err := dns.NewZone(ctx, \"example\", \u0026dns.ZoneArgs{\n\t\t\tName:              pulumi.String(\"mydomain.com\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = dns.NewPtrRecord(ctx, \"example\", \u0026dns.PtrRecordArgs{\n\t\t\tName:              pulumi.String(\"test\"),\n\t\t\tZoneName:          exampleZone.Name,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tTtl:               pulumi.Int(300),\n\t\t\tRecords: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"yourdomain.com\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.dns.Zone;\nimport com.pulumi.azure.dns.ZoneArgs;\nimport com.pulumi.azure.dns.PtrRecord;\nimport com.pulumi.azure.dns.PtrRecordArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleZone = new Zone(\"exampleZone\", ZoneArgs.builder()\n            .name(\"mydomain.com\")\n            .resourceGroupName(example.name())\n            .build());\n\n        var examplePtrRecord = new PtrRecord(\"examplePtrRecord\", PtrRecordArgs.builder()\n            .name(\"test\")\n            .zoneName(exampleZone.name())\n            .resourceGroupName(example.name())\n            .ttl(300)\n            .records(\"yourdomain.com\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleZone:\n    type: azure:dns:Zone\n    name: example\n    properties:\n      name: mydomain.com\n      resourceGroupName: ${example.name}\n  examplePtrRecord:\n    type: azure:dns:PtrRecord\n    name: example\n    properties:\n      name: test\n      zoneName: ${exampleZone.name}\n      resourceGroupName: ${example.name}\n      ttl: 300\n      records:\n        - yourdomain.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2018-05-01\n\n## Import\n\nPTR records can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:dns/ptrRecord:PtrRecord example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Network/dnsZones/zone1/PTR/myrecord1\n```\n\n","properties":{"fqdn":{"type":"string","description":"The FQDN of the DNS PTR Record.\n"},"name":{"type":"string","description":"The name of the DNS PTR Record. Changing this forces a new resource to be created.\n"},"records":{"type":"array","items":{"type":"string"},"description":"List of Fully Qualified Domain Names.\n"},"resourceGroupName":{"type":"string","description":"Specifies the resource group where the DNS Zone (parent resource) exists. Changing this forces a new resource to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"ttl":{"type":"integer","description":"The Time To Live (TTL) of the DNS record in seconds.\n"},"zoneName":{"type":"string","description":"Specifies the DNS Zone where the resource exists. Changing this forces a new resource to be created.\n"}},"required":["fqdn","name","records","resourceGroupName","ttl","zoneName"],"inputProperties":{"name":{"type":"string","description":"The name of the DNS PTR Record. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"records":{"type":"array","items":{"type":"string"},"description":"List of Fully Qualified Domain Names.\n"},"resourceGroupName":{"type":"string","description":"Specifies the resource group where the DNS Zone (parent resource) exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"ttl":{"type":"integer","description":"The Time To Live (TTL) of the DNS record in seconds.\n"},"zoneName":{"type":"string","description":"Specifies the DNS Zone where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["records","resourceGroupName","ttl","zoneName"],"stateInputs":{"description":"Input properties used for looking up and filtering PtrRecord resources.\n","properties":{"fqdn":{"type":"string","description":"The FQDN of the DNS PTR Record.\n"},"name":{"type":"string","description":"The name of the DNS PTR Record. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"records":{"type":"array","items":{"type":"string"},"description":"List of Fully Qualified Domain Names.\n"},"resourceGroupName":{"type":"string","description":"Specifies the resource group where the DNS Zone (parent resource) exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"ttl":{"type":"integer","description":"The Time To Live (TTL) of the DNS record in seconds.\n"},"zoneName":{"type":"string","description":"Specifies the DNS Zone where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:dns/srvRecord:SrvRecord":{"description":"Enables you to manage DNS SRV Records within Azure DNS.\n\n\u003e **Note:** [The Azure DNS API has a throttle limit of 500 read (GET) operations per 5 minutes](https://docs.microsoft.com/azure/azure-resource-manager/management/request-limits-and-throttling#network-throttling) - whilst the default read timeouts will work for most cases - in larger configurations you may need to set a larger read timeout then the default 5min. Although, we'd generally recommend that you split the resources out into smaller Terraform configurations to avoid the problem entirely.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleZone = new azure.dns.Zone(\"example\", {\n    name: \"mydomain.com\",\n    resourceGroupName: example.name,\n});\nconst exampleSrvRecord = new azure.dns.SrvRecord(\"example\", {\n    name: \"test\",\n    zoneName: exampleZone.name,\n    resourceGroupName: example.name,\n    ttl: 300,\n    records: [{\n        priority: 1,\n        weight: 5,\n        port: 8080,\n        target: \"target1.contoso.com\",\n    }],\n    tags: {\n        Environment: \"Production\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_zone = azure.dns.Zone(\"example\",\n    name=\"mydomain.com\",\n    resource_group_name=example.name)\nexample_srv_record = azure.dns.SrvRecord(\"example\",\n    name=\"test\",\n    zone_name=example_zone.name,\n    resource_group_name=example.name,\n    ttl=300,\n    records=[{\n        \"priority\": 1,\n        \"weight\": 5,\n        \"port\": 8080,\n        \"target\": \"target1.contoso.com\",\n    }],\n    tags={\n        \"Environment\": \"Production\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleZone = new Azure.Dns.Zone(\"example\", new()\n    {\n        Name = \"mydomain.com\",\n        ResourceGroupName = example.Name,\n    });\n\n    var exampleSrvRecord = new Azure.Dns.SrvRecord(\"example\", new()\n    {\n        Name = \"test\",\n        ZoneName = exampleZone.Name,\n        ResourceGroupName = example.Name,\n        Ttl = 300,\n        Records = new[]\n        {\n            new Azure.Dns.Inputs.SrvRecordRecordArgs\n            {\n                Priority = 1,\n                Weight = 5,\n                Port = 8080,\n                Target = \"target1.contoso.com\",\n            },\n        },\n        Tags = \n        {\n            { \"Environment\", \"Production\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/dns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleZone, err := dns.NewZone(ctx, \"example\", \u0026dns.ZoneArgs{\n\t\t\tName:              pulumi.String(\"mydomain.com\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = dns.NewSrvRecord(ctx, \"example\", \u0026dns.SrvRecordArgs{\n\t\t\tName:              pulumi.String(\"test\"),\n\t\t\tZoneName:          exampleZone.Name,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tTtl:               pulumi.Int(300),\n\t\t\tRecords: dns.SrvRecordRecordArray{\n\t\t\t\t\u0026dns.SrvRecordRecordArgs{\n\t\t\t\t\tPriority: pulumi.Int(1),\n\t\t\t\t\tWeight:   pulumi.Int(5),\n\t\t\t\t\tPort:     pulumi.Int(8080),\n\t\t\t\t\tTarget:   pulumi.String(\"target1.contoso.com\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Environment\": pulumi.String(\"Production\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.dns.Zone;\nimport com.pulumi.azure.dns.ZoneArgs;\nimport com.pulumi.azure.dns.SrvRecord;\nimport com.pulumi.azure.dns.SrvRecordArgs;\nimport com.pulumi.azure.dns.inputs.SrvRecordRecordArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleZone = new Zone(\"exampleZone\", ZoneArgs.builder()\n            .name(\"mydomain.com\")\n            .resourceGroupName(example.name())\n            .build());\n\n        var exampleSrvRecord = new SrvRecord(\"exampleSrvRecord\", SrvRecordArgs.builder()\n            .name(\"test\")\n            .zoneName(exampleZone.name())\n            .resourceGroupName(example.name())\n            .ttl(300)\n            .records(SrvRecordRecordArgs.builder()\n                .priority(1)\n                .weight(5)\n                .port(8080)\n                .target(\"target1.contoso.com\")\n                .build())\n            .tags(Map.of(\"Environment\", \"Production\"))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleZone:\n    type: azure:dns:Zone\n    name: example\n    properties:\n      name: mydomain.com\n      resourceGroupName: ${example.name}\n  exampleSrvRecord:\n    type: azure:dns:SrvRecord\n    name: example\n    properties:\n      name: test\n      zoneName: ${exampleZone.name}\n      resourceGroupName: ${example.name}\n      ttl: 300\n      records:\n        - priority: 1\n          weight: 5\n          port: 8080\n          target: target1.contoso.com\n      tags:\n        Environment: Production\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2018-05-01\n\n## Import\n\nSRV records can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:dns/srvRecord:SrvRecord example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Network/dnsZones/zone1/SRV/myrecord1\n```\n\n","properties":{"fqdn":{"type":"string","description":"The FQDN of the DNS SRV Record.\n"},"name":{"type":"string","description":"The name of the DNS SRV Record. Changing this forces a new resource to be created.\n"},"records":{"type":"array","items":{"$ref":"#/types/azure:dns/SrvRecordRecord:SrvRecordRecord"},"description":"A list of values that make up the SRV record. Each \u003cspan pulumi-lang-nodejs=\"`record`\" pulumi-lang-dotnet=\"`Record`\" pulumi-lang-go=\"`record`\" pulumi-lang-python=\"`record`\" pulumi-lang-yaml=\"`record`\" pulumi-lang-java=\"`record`\"\u003e`record`\u003c/span\u003e block supports fields documented below.\n"},"resourceGroupName":{"type":"string","description":"Specifies the resource group where the DNS Zone (parent resource) exists. Changing this forces a new resource to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"ttl":{"type":"integer","description":"The Time To Live (TTL) of the DNS record in seconds.\n"},"zoneName":{"type":"string","description":"Specifies the DNS Zone where the resource exists. Changing this forces a new resource to be created.\n"}},"required":["fqdn","name","records","resourceGroupName","ttl","zoneName"],"inputProperties":{"name":{"type":"string","description":"The name of the DNS SRV Record. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"records":{"type":"array","items":{"$ref":"#/types/azure:dns/SrvRecordRecord:SrvRecordRecord"},"description":"A list of values that make up the SRV record. Each \u003cspan pulumi-lang-nodejs=\"`record`\" pulumi-lang-dotnet=\"`Record`\" pulumi-lang-go=\"`record`\" pulumi-lang-python=\"`record`\" pulumi-lang-yaml=\"`record`\" pulumi-lang-java=\"`record`\"\u003e`record`\u003c/span\u003e block supports fields documented below.\n"},"resourceGroupName":{"type":"string","description":"Specifies the resource group where the DNS Zone (parent resource) exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"ttl":{"type":"integer","description":"The Time To Live (TTL) of the DNS record in seconds.\n"},"zoneName":{"type":"string","description":"Specifies the DNS Zone where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["records","resourceGroupName","ttl","zoneName"],"stateInputs":{"description":"Input properties used for looking up and filtering SrvRecord resources.\n","properties":{"fqdn":{"type":"string","description":"The FQDN of the DNS SRV Record.\n"},"name":{"type":"string","description":"The name of the DNS SRV Record. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"records":{"type":"array","items":{"$ref":"#/types/azure:dns/SrvRecordRecord:SrvRecordRecord"},"description":"A list of values that make up the SRV record. Each \u003cspan pulumi-lang-nodejs=\"`record`\" pulumi-lang-dotnet=\"`Record`\" pulumi-lang-go=\"`record`\" pulumi-lang-python=\"`record`\" pulumi-lang-yaml=\"`record`\" pulumi-lang-java=\"`record`\"\u003e`record`\u003c/span\u003e block supports fields documented below.\n"},"resourceGroupName":{"type":"string","description":"Specifies the resource group where the DNS Zone (parent resource) exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"ttl":{"type":"integer","description":"The Time To Live (TTL) of the DNS record in seconds.\n"},"zoneName":{"type":"string","description":"Specifies the DNS Zone where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:dns/txtRecord:TxtRecord":{"description":"Enables you to manage DNS TXT Records within Azure DNS.\n\n\u003e **Note:** [The Azure DNS API has a throttle limit of 500 read (GET) operations per 5 minutes](https://docs.microsoft.com/azure/azure-resource-manager/management/request-limits-and-throttling#network-throttling) - whilst the default read timeouts will work for most cases - in larger configurations you may need to set a larger read timeout then the default 5min. Although, we'd generally recommend that you split the resources out into smaller Terraform configurations to avoid the problem entirely.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleZone = new azure.dns.Zone(\"example\", {\n    name: \"mydomain.com\",\n    resourceGroupName: example.name,\n});\nconst exampleTxtRecord = new azure.dns.TxtRecord(\"example\", {\n    name: \"test\",\n    zoneName: exampleZone.name,\n    resourceGroupName: example.name,\n    ttl: 300,\n    records: [\n        {\n            value: \"google-site-authenticator\",\n        },\n        {\n            value: \"more site information here\",\n        },\n    ],\n    tags: {\n        Environment: \"Production\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_zone = azure.dns.Zone(\"example\",\n    name=\"mydomain.com\",\n    resource_group_name=example.name)\nexample_txt_record = azure.dns.TxtRecord(\"example\",\n    name=\"test\",\n    zone_name=example_zone.name,\n    resource_group_name=example.name,\n    ttl=300,\n    records=[\n        {\n            \"value\": \"google-site-authenticator\",\n        },\n        {\n            \"value\": \"more site information here\",\n        },\n    ],\n    tags={\n        \"Environment\": \"Production\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleZone = new Azure.Dns.Zone(\"example\", new()\n    {\n        Name = \"mydomain.com\",\n        ResourceGroupName = example.Name,\n    });\n\n    var exampleTxtRecord = new Azure.Dns.TxtRecord(\"example\", new()\n    {\n        Name = \"test\",\n        ZoneName = exampleZone.Name,\n        ResourceGroupName = example.Name,\n        Ttl = 300,\n        Records = new[]\n        {\n            new Azure.Dns.Inputs.TxtRecordRecordArgs\n            {\n                Value = \"google-site-authenticator\",\n            },\n            new Azure.Dns.Inputs.TxtRecordRecordArgs\n            {\n                Value = \"more site information here\",\n            },\n        },\n        Tags = \n        {\n            { \"Environment\", \"Production\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/dns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleZone, err := dns.NewZone(ctx, \"example\", \u0026dns.ZoneArgs{\n\t\t\tName:              pulumi.String(\"mydomain.com\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = dns.NewTxtRecord(ctx, \"example\", \u0026dns.TxtRecordArgs{\n\t\t\tName:              pulumi.String(\"test\"),\n\t\t\tZoneName:          exampleZone.Name,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tTtl:               pulumi.Int(300),\n\t\t\tRecords: dns.TxtRecordRecordArray{\n\t\t\t\t\u0026dns.TxtRecordRecordArgs{\n\t\t\t\t\tValue: pulumi.String(\"google-site-authenticator\"),\n\t\t\t\t},\n\t\t\t\t\u0026dns.TxtRecordRecordArgs{\n\t\t\t\t\tValue: pulumi.String(\"more site information here\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Environment\": pulumi.String(\"Production\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.dns.Zone;\nimport com.pulumi.azure.dns.ZoneArgs;\nimport com.pulumi.azure.dns.TxtRecord;\nimport com.pulumi.azure.dns.TxtRecordArgs;\nimport com.pulumi.azure.dns.inputs.TxtRecordRecordArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleZone = new Zone(\"exampleZone\", ZoneArgs.builder()\n            .name(\"mydomain.com\")\n            .resourceGroupName(example.name())\n            .build());\n\n        var exampleTxtRecord = new TxtRecord(\"exampleTxtRecord\", TxtRecordArgs.builder()\n            .name(\"test\")\n            .zoneName(exampleZone.name())\n            .resourceGroupName(example.name())\n            .ttl(300)\n            .records(            \n                TxtRecordRecordArgs.builder()\n                    .value(\"google-site-authenticator\")\n                    .build(),\n                TxtRecordRecordArgs.builder()\n                    .value(\"more site information here\")\n                    .build())\n            .tags(Map.of(\"Environment\", \"Production\"))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleZone:\n    type: azure:dns:Zone\n    name: example\n    properties:\n      name: mydomain.com\n      resourceGroupName: ${example.name}\n  exampleTxtRecord:\n    type: azure:dns:TxtRecord\n    name: example\n    properties:\n      name: test\n      zoneName: ${exampleZone.name}\n      resourceGroupName: ${example.name}\n      ttl: 300\n      records:\n        - value: google-site-authenticator\n        - value: more site information here\n      tags:\n        Environment: Production\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2018-05-01\n\n## Import\n\nTXT records can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:dns/txtRecord:TxtRecord example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Network/dnsZones/zone1/TXT/myrecord1\n```\n\n","properties":{"fqdn":{"type":"string","description":"The FQDN of the DNS TXT Record.\n"},"name":{"type":"string","description":"The name of the DNS TXT Record. Changing this forces a new resource to be created.\n"},"records":{"type":"array","items":{"$ref":"#/types/azure:dns/TxtRecordRecord:TxtRecordRecord"},"description":"A list of values that make up the txt record. Each \u003cspan pulumi-lang-nodejs=\"`record`\" pulumi-lang-dotnet=\"`Record`\" pulumi-lang-go=\"`record`\" pulumi-lang-python=\"`record`\" pulumi-lang-yaml=\"`record`\" pulumi-lang-java=\"`record`\"\u003e`record`\u003c/span\u003e block supports fields documented below.\n"},"resourceGroupName":{"type":"string","description":"Specifies the resource group where the DNS Zone (parent resource) exists. Changing this forces a new resource to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"ttl":{"type":"integer","description":"The Time To Live (TTL) of the DNS record in seconds.\n"},"zoneName":{"type":"string","description":"Specifies the DNS Zone where the resource exists. Changing this forces a new resource to be created.\n"}},"required":["fqdn","name","records","resourceGroupName","ttl","zoneName"],"inputProperties":{"name":{"type":"string","description":"The name of the DNS TXT Record. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"records":{"type":"array","items":{"$ref":"#/types/azure:dns/TxtRecordRecord:TxtRecordRecord"},"description":"A list of values that make up the txt record. Each \u003cspan pulumi-lang-nodejs=\"`record`\" pulumi-lang-dotnet=\"`Record`\" pulumi-lang-go=\"`record`\" pulumi-lang-python=\"`record`\" pulumi-lang-yaml=\"`record`\" pulumi-lang-java=\"`record`\"\u003e`record`\u003c/span\u003e block supports fields documented below.\n"},"resourceGroupName":{"type":"string","description":"Specifies the resource group where the DNS Zone (parent resource) exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"ttl":{"type":"integer","description":"The Time To Live (TTL) of the DNS record in seconds.\n"},"zoneName":{"type":"string","description":"Specifies the DNS Zone where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["records","resourceGroupName","ttl","zoneName"],"stateInputs":{"description":"Input properties used for looking up and filtering TxtRecord resources.\n","properties":{"fqdn":{"type":"string","description":"The FQDN of the DNS TXT Record.\n"},"name":{"type":"string","description":"The name of the DNS TXT Record. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"records":{"type":"array","items":{"$ref":"#/types/azure:dns/TxtRecordRecord:TxtRecordRecord"},"description":"A list of values that make up the txt record. Each \u003cspan pulumi-lang-nodejs=\"`record`\" pulumi-lang-dotnet=\"`Record`\" pulumi-lang-go=\"`record`\" pulumi-lang-python=\"`record`\" pulumi-lang-yaml=\"`record`\" pulumi-lang-java=\"`record`\"\u003e`record`\u003c/span\u003e block supports fields documented below.\n"},"resourceGroupName":{"type":"string","description":"Specifies the resource group where the DNS Zone (parent resource) exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"ttl":{"type":"integer","description":"The Time To Live (TTL) of the DNS record in seconds.\n"},"zoneName":{"type":"string","description":"Specifies the DNS Zone where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:dns/zone:Zone":{"description":"Enables you to manage DNS zones within Azure DNS. These zones are hosted on Azure's name servers to which you can delegate the zone from the parent domain.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst example_public = new azure.dns.Zone(\"example-public\", {\n    name: \"mydomain.com\",\n    resourceGroupName: example.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_public = azure.dns.Zone(\"example-public\",\n    name=\"mydomain.com\",\n    resource_group_name=example.name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var example_public = new Azure.Dns.Zone(\"example-public\", new()\n    {\n        Name = \"mydomain.com\",\n        ResourceGroupName = example.Name,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/dns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = dns.NewZone(ctx, \"example-public\", \u0026dns.ZoneArgs{\n\t\t\tName:              pulumi.String(\"mydomain.com\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.dns.Zone;\nimport com.pulumi.azure.dns.ZoneArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var example_public = new Zone(\"example-public\", ZoneArgs.builder()\n            .name(\"mydomain.com\")\n            .resourceGroupName(example.name())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  example-public:\n    type: azure:dns:Zone\n    properties:\n      name: mydomain.com\n      resourceGroupName: ${example.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2018-05-01\n\n## Import\n\nDNS Zones can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:dns/zone:Zone zone1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Network/dnsZones/zone1\n```\n\n","properties":{"maxNumberOfRecordSets":{"type":"integer","description":"Maximum number of Records in the zone.\n"},"name":{"type":"string","description":"The name of the DNS Zone. Must be a valid domain name. Changing this forces a new resource to be created.\n"},"nameServers":{"type":"array","items":{"type":"string"},"description":"A list of values that make up the NS record for the zone.\n"},"numberOfRecordSets":{"type":"integer","description":"The number of records already in the zone.\n"},"resourceGroupName":{"type":"string","description":"Specifies the resource group where the resource exists. Changing this forces a new resource to be created.\n"},"soaRecord":{"$ref":"#/types/azure:dns/ZoneSoaRecord:ZoneSoaRecord","description":"A \u003cspan pulumi-lang-nodejs=\"`soaRecord`\" pulumi-lang-dotnet=\"`SoaRecord`\" pulumi-lang-go=\"`soaRecord`\" pulumi-lang-python=\"`soa_record`\" pulumi-lang-yaml=\"`soaRecord`\" pulumi-lang-java=\"`soaRecord`\"\u003e`soa_record`\u003c/span\u003e block as defined below.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"required":["maxNumberOfRecordSets","name","nameServers","numberOfRecordSets","resourceGroupName","soaRecord"],"inputProperties":{"name":{"type":"string","description":"The name of the DNS Zone. Must be a valid domain name. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"Specifies the resource group where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"soaRecord":{"$ref":"#/types/azure:dns/ZoneSoaRecord:ZoneSoaRecord","description":"A \u003cspan pulumi-lang-nodejs=\"`soaRecord`\" pulumi-lang-dotnet=\"`SoaRecord`\" pulumi-lang-go=\"`soaRecord`\" pulumi-lang-python=\"`soa_record`\" pulumi-lang-yaml=\"`soaRecord`\" pulumi-lang-java=\"`soaRecord`\"\u003e`soa_record`\u003c/span\u003e block as defined below.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"requiredInputs":["resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering Zone resources.\n","properties":{"maxNumberOfRecordSets":{"type":"integer","description":"Maximum number of Records in the zone.\n"},"name":{"type":"string","description":"The name of the DNS Zone. Must be a valid domain name. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"nameServers":{"type":"array","items":{"type":"string"},"description":"A list of values that make up the NS record for the zone.\n"},"numberOfRecordSets":{"type":"integer","description":"The number of records already in the zone.\n"},"resourceGroupName":{"type":"string","description":"Specifies the resource group where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"soaRecord":{"$ref":"#/types/azure:dns/ZoneSoaRecord:ZoneSoaRecord","description":"A \u003cspan pulumi-lang-nodejs=\"`soaRecord`\" pulumi-lang-dotnet=\"`SoaRecord`\" pulumi-lang-go=\"`soaRecord`\" pulumi-lang-python=\"`soa_record`\" pulumi-lang-yaml=\"`soaRecord`\" pulumi-lang-java=\"`soaRecord`\"\u003e`soa_record`\u003c/span\u003e block as defined below.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"type":"object"}},"azure:domainservices/replicaSet:ReplicaSet":{"description":"Manages a Replica Set for an Active Directory Domain Service.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\nimport * as azuread from \"@pulumi/azuread\";\n\nconst primary = new azure.core.ResourceGroup(\"primary\", {\n    name: \"aadds-primary-rg\",\n    location: \"West Europe\",\n});\nconst primaryVirtualNetwork = new azure.network.VirtualNetwork(\"primary\", {\n    name: \"aadds-primary-vnet\",\n    location: primary.location,\n    resourceGroupName: primary.name,\n    addressSpaces: [\"10.0.1.0/16\"],\n});\nconst primarySubnet = new azure.network.Subnet(\"primary\", {\n    name: \"aadds-primary-subnet\",\n    resourceGroupName: primary.name,\n    virtualNetworkName: primaryVirtualNetwork.name,\n    addressPrefixes: [\"10.0.1.0/24\"],\n});\nconst primaryNetworkSecurityGroup = new azure.network.NetworkSecurityGroup(\"primary\", {\n    name: \"aadds-primary-nsg\",\n    location: primary.location,\n    resourceGroupName: primary.name,\n    securityRules: [\n        {\n            name: \"AllowSyncWithAzureAD\",\n            priority: 101,\n            direction: \"Inbound\",\n            access: \"Allow\",\n            protocol: \"Tcp\",\n            sourcePortRange: \"*\",\n            destinationPortRange: \"443\",\n            sourceAddressPrefix: \"AzureActiveDirectoryDomainServices\",\n            destinationAddressPrefix: \"*\",\n        },\n        {\n            name: \"AllowRD\",\n            priority: 201,\n            direction: \"Inbound\",\n            access: \"Allow\",\n            protocol: \"Tcp\",\n            sourcePortRange: \"*\",\n            destinationPortRange: \"3389\",\n            sourceAddressPrefix: \"CorpNetSaw\",\n            destinationAddressPrefix: \"*\",\n        },\n        {\n            name: \"AllowPSRemoting\",\n            priority: 301,\n            direction: \"Inbound\",\n            access: \"Allow\",\n            protocol: \"Tcp\",\n            sourcePortRange: \"*\",\n            destinationPortRange: \"5986\",\n            sourceAddressPrefix: \"AzureActiveDirectoryDomainServices\",\n            destinationAddressPrefix: \"*\",\n        },\n        {\n            name: \"AllowLDAPS\",\n            priority: 401,\n            direction: \"Inbound\",\n            access: \"Allow\",\n            protocol: \"Tcp\",\n            sourcePortRange: \"*\",\n            destinationPortRange: \"636\",\n            sourceAddressPrefix: \"*\",\n            destinationAddressPrefix: \"*\",\n        },\n    ],\n});\nconst primarySubnetNetworkSecurityGroupAssociation = new azure.network.SubnetNetworkSecurityGroupAssociation(\"primary\", {\n    subnetId: primarySubnet.id,\n    networkSecurityGroupId: primaryNetworkSecurityGroup.id,\n});\nconst dcAdmins = new azuread.Group(\"dc_admins\", {\n    displayName: \"aad-dc-administrators\",\n    securityEnabled: true,\n});\nconst admin = new azuread.User(\"admin\", {\n    userPrincipalName: \"dc-admin@hashicorp-example.net\",\n    displayName: \"DC Administrator\",\n    password: \"Pa55w0Rd!!1\",\n});\nconst adminGroupMember = new azuread.GroupMember(\"admin\", {\n    groupObjectId: dcAdmins.objectId,\n    memberObjectId: admin.objectId,\n});\nconst example = new azuread.ServicePrincipal(\"example\", {applicationId: \"2565bd9d-da50-47d4-8b85-4c97f669dc36\"});\nconst aadds = new azure.core.ResourceGroup(\"aadds\", {\n    name: \"aadds-rg\",\n    location: \"westeurope\",\n});\nconst exampleService = new azure.domainservices.Service(\"example\", {\n    name: \"example-aadds\",\n    location: aadds.location,\n    resourceGroupName: aadds.name,\n    domainName: \"widgetslogin.net\",\n    sku: \"Enterprise\",\n    filteredSyncEnabled: false,\n    initialReplicaSet: {\n        location: primaryVirtualNetwork.location,\n        subnetId: primarySubnet.id,\n    },\n    notifications: {\n        additionalRecipients: [\n            \"notifyA@example.net\",\n            \"notifyB@example.org\",\n        ],\n        notifyDcAdmins: true,\n        notifyGlobalAdmins: true,\n    },\n    security: {\n        syncKerberosPasswords: true,\n        syncNtlmPasswords: true,\n        syncOnPremPasswords: true,\n    },\n    tags: {\n        Environment: \"prod\",\n    },\n}, {\n    dependsOn: [\n        example,\n        primarySubnetNetworkSecurityGroupAssociation,\n    ],\n});\nconst replica = new azure.core.ResourceGroup(\"replica\", {\n    name: \"aadds-replica-rg\",\n    location: \"North Europe\",\n});\nconst replicaVirtualNetwork = new azure.network.VirtualNetwork(\"replica\", {\n    name: \"aadds-replica-vnet\",\n    location: replica.location,\n    resourceGroupName: replica.name,\n    addressSpaces: [\"10.20.0.0/16\"],\n});\nconst aaddsReplica = new azure.network.Subnet(\"aadds_replica\", {\n    name: \"aadds-replica-subnet\",\n    resourceGroupName: replica.name,\n    virtualNetworkName: replicaVirtualNetwork.name,\n    addressPrefixes: [\"10.20.0.0/24\"],\n});\nconst aaddsReplicaNetworkSecurityGroup = new azure.network.NetworkSecurityGroup(\"aadds_replica\", {\n    name: \"aadds-replica-nsg\",\n    location: replica.location,\n    resourceGroupName: replica.name,\n    securityRules: [\n        {\n            name: \"AllowSyncWithAzureAD\",\n            priority: 101,\n            direction: \"Inbound\",\n            access: \"Allow\",\n            protocol: \"Tcp\",\n            sourcePortRange: \"*\",\n            destinationPortRange: \"443\",\n            sourceAddressPrefix: \"AzureActiveDirectoryDomainServices\",\n            destinationAddressPrefix: \"*\",\n        },\n        {\n            name: \"AllowRD\",\n            priority: 201,\n            direction: \"Inbound\",\n            access: \"Allow\",\n            protocol: \"Tcp\",\n            sourcePortRange: \"*\",\n            destinationPortRange: \"3389\",\n            sourceAddressPrefix: \"CorpNetSaw\",\n            destinationAddressPrefix: \"*\",\n        },\n        {\n            name: \"AllowPSRemoting\",\n            priority: 301,\n            direction: \"Inbound\",\n            access: \"Allow\",\n            protocol: \"Tcp\",\n            sourcePortRange: \"*\",\n            destinationPortRange: \"5986\",\n            sourceAddressPrefix: \"AzureActiveDirectoryDomainServices\",\n            destinationAddressPrefix: \"*\",\n        },\n        {\n            name: \"AllowLDAPS\",\n            priority: 401,\n            direction: \"Inbound\",\n            access: \"Allow\",\n            protocol: \"Tcp\",\n            sourcePortRange: \"*\",\n            destinationPortRange: \"636\",\n            sourceAddressPrefix: \"*\",\n            destinationAddressPrefix: \"*\",\n        },\n    ],\n});\nconst replicaSubnetNetworkSecurityGroupAssociation = new azure.network.SubnetNetworkSecurityGroupAssociation(\"replica\", {\n    subnetId: aaddsReplica.id,\n    networkSecurityGroupId: aaddsReplicaNetworkSecurityGroup.id,\n});\nconst primaryReplica = new azure.network.VirtualNetworkPeering(\"primary_replica\", {\n    name: \"aadds-primary-replica\",\n    resourceGroupName: primaryVirtualNetwork.resourceGroupName,\n    virtualNetworkName: primaryVirtualNetwork.name,\n    remoteVirtualNetworkId: replicaVirtualNetwork.id,\n    allowForwardedTraffic: true,\n    allowGatewayTransit: false,\n    allowVirtualNetworkAccess: true,\n    useRemoteGateways: false,\n});\nconst replicaPrimary = new azure.network.VirtualNetworkPeering(\"replica_primary\", {\n    name: \"aadds-replica-primary\",\n    resourceGroupName: replicaVirtualNetwork.resourceGroupName,\n    virtualNetworkName: replicaVirtualNetwork.name,\n    remoteVirtualNetworkId: primaryVirtualNetwork.id,\n    allowForwardedTraffic: true,\n    allowGatewayTransit: false,\n    allowVirtualNetworkAccess: true,\n    useRemoteGateways: false,\n});\nconst replicaVirtualNetworkDnsServers = new azure.network.VirtualNetworkDnsServers(\"replica\", {\n    virtualNetworkId: replicaVirtualNetwork.id,\n    dnsServers: exampleService.initialReplicaSet.apply(initialReplicaSet =\u003e initialReplicaSet.domainControllerIpAddresses),\n});\nconst replicaReplicaSet = new azure.domainservices.ReplicaSet(\"replica\", {\n    domainServiceId: exampleService.id,\n    location: replica.location,\n    subnetId: aaddsReplica.id,\n}, {\n    dependsOn: [\n        replicaSubnetNetworkSecurityGroupAssociation,\n        primaryReplica,\n        replicaPrimary,\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\nimport pulumi_azuread as azuread\n\nprimary = azure.core.ResourceGroup(\"primary\",\n    name=\"aadds-primary-rg\",\n    location=\"West Europe\")\nprimary_virtual_network = azure.network.VirtualNetwork(\"primary\",\n    name=\"aadds-primary-vnet\",\n    location=primary.location,\n    resource_group_name=primary.name,\n    address_spaces=[\"10.0.1.0/16\"])\nprimary_subnet = azure.network.Subnet(\"primary\",\n    name=\"aadds-primary-subnet\",\n    resource_group_name=primary.name,\n    virtual_network_name=primary_virtual_network.name,\n    address_prefixes=[\"10.0.1.0/24\"])\nprimary_network_security_group = azure.network.NetworkSecurityGroup(\"primary\",\n    name=\"aadds-primary-nsg\",\n    location=primary.location,\n    resource_group_name=primary.name,\n    security_rules=[\n        {\n            \"name\": \"AllowSyncWithAzureAD\",\n            \"priority\": 101,\n            \"direction\": \"Inbound\",\n            \"access\": \"Allow\",\n            \"protocol\": \"Tcp\",\n            \"source_port_range\": \"*\",\n            \"destination_port_range\": \"443\",\n            \"source_address_prefix\": \"AzureActiveDirectoryDomainServices\",\n            \"destination_address_prefix\": \"*\",\n        },\n        {\n            \"name\": \"AllowRD\",\n            \"priority\": 201,\n            \"direction\": \"Inbound\",\n            \"access\": \"Allow\",\n            \"protocol\": \"Tcp\",\n            \"source_port_range\": \"*\",\n            \"destination_port_range\": \"3389\",\n            \"source_address_prefix\": \"CorpNetSaw\",\n            \"destination_address_prefix\": \"*\",\n        },\n        {\n            \"name\": \"AllowPSRemoting\",\n            \"priority\": 301,\n            \"direction\": \"Inbound\",\n            \"access\": \"Allow\",\n            \"protocol\": \"Tcp\",\n            \"source_port_range\": \"*\",\n            \"destination_port_range\": \"5986\",\n            \"source_address_prefix\": \"AzureActiveDirectoryDomainServices\",\n            \"destination_address_prefix\": \"*\",\n        },\n        {\n            \"name\": \"AllowLDAPS\",\n            \"priority\": 401,\n            \"direction\": \"Inbound\",\n            \"access\": \"Allow\",\n            \"protocol\": \"Tcp\",\n            \"source_port_range\": \"*\",\n            \"destination_port_range\": \"636\",\n            \"source_address_prefix\": \"*\",\n            \"destination_address_prefix\": \"*\",\n        },\n    ])\nprimary_subnet_network_security_group_association = azure.network.SubnetNetworkSecurityGroupAssociation(\"primary\",\n    subnet_id=primary_subnet.id,\n    network_security_group_id=primary_network_security_group.id)\ndc_admins = azuread.Group(\"dc_admins\",\n    display_name=\"aad-dc-administrators\",\n    security_enabled=True)\nadmin = azuread.User(\"admin\",\n    user_principal_name=\"dc-admin@hashicorp-example.net\",\n    display_name=\"DC Administrator\",\n    password=\"Pa55w0Rd!!1\")\nadmin_group_member = azuread.GroupMember(\"admin\",\n    group_object_id=dc_admins.object_id,\n    member_object_id=admin.object_id)\nexample = azuread.ServicePrincipal(\"example\", application_id=\"2565bd9d-da50-47d4-8b85-4c97f669dc36\")\naadds = azure.core.ResourceGroup(\"aadds\",\n    name=\"aadds-rg\",\n    location=\"westeurope\")\nexample_service = azure.domainservices.Service(\"example\",\n    name=\"example-aadds\",\n    location=aadds.location,\n    resource_group_name=aadds.name,\n    domain_name=\"widgetslogin.net\",\n    sku=\"Enterprise\",\n    filtered_sync_enabled=False,\n    initial_replica_set={\n        \"location\": primary_virtual_network.location,\n        \"subnet_id\": primary_subnet.id,\n    },\n    notifications={\n        \"additional_recipients\": [\n            \"notifyA@example.net\",\n            \"notifyB@example.org\",\n        ],\n        \"notify_dc_admins\": True,\n        \"notify_global_admins\": True,\n    },\n    security={\n        \"sync_kerberos_passwords\": True,\n        \"sync_ntlm_passwords\": True,\n        \"sync_on_prem_passwords\": True,\n    },\n    tags={\n        \"Environment\": \"prod\",\n    },\n    opts = pulumi.ResourceOptions(depends_on=[\n            example,\n            primary_subnet_network_security_group_association,\n        ]))\nreplica = azure.core.ResourceGroup(\"replica\",\n    name=\"aadds-replica-rg\",\n    location=\"North Europe\")\nreplica_virtual_network = azure.network.VirtualNetwork(\"replica\",\n    name=\"aadds-replica-vnet\",\n    location=replica.location,\n    resource_group_name=replica.name,\n    address_spaces=[\"10.20.0.0/16\"])\naadds_replica = azure.network.Subnet(\"aadds_replica\",\n    name=\"aadds-replica-subnet\",\n    resource_group_name=replica.name,\n    virtual_network_name=replica_virtual_network.name,\n    address_prefixes=[\"10.20.0.0/24\"])\naadds_replica_network_security_group = azure.network.NetworkSecurityGroup(\"aadds_replica\",\n    name=\"aadds-replica-nsg\",\n    location=replica.location,\n    resource_group_name=replica.name,\n    security_rules=[\n        {\n            \"name\": \"AllowSyncWithAzureAD\",\n            \"priority\": 101,\n            \"direction\": \"Inbound\",\n            \"access\": \"Allow\",\n            \"protocol\": \"Tcp\",\n            \"source_port_range\": \"*\",\n            \"destination_port_range\": \"443\",\n            \"source_address_prefix\": \"AzureActiveDirectoryDomainServices\",\n            \"destination_address_prefix\": \"*\",\n        },\n        {\n            \"name\": \"AllowRD\",\n            \"priority\": 201,\n            \"direction\": \"Inbound\",\n            \"access\": \"Allow\",\n            \"protocol\": \"Tcp\",\n            \"source_port_range\": \"*\",\n            \"destination_port_range\": \"3389\",\n            \"source_address_prefix\": \"CorpNetSaw\",\n            \"destination_address_prefix\": \"*\",\n        },\n        {\n            \"name\": \"AllowPSRemoting\",\n            \"priority\": 301,\n            \"direction\": \"Inbound\",\n            \"access\": \"Allow\",\n            \"protocol\": \"Tcp\",\n            \"source_port_range\": \"*\",\n            \"destination_port_range\": \"5986\",\n            \"source_address_prefix\": \"AzureActiveDirectoryDomainServices\",\n            \"destination_address_prefix\": \"*\",\n        },\n        {\n            \"name\": \"AllowLDAPS\",\n            \"priority\": 401,\n            \"direction\": \"Inbound\",\n            \"access\": \"Allow\",\n            \"protocol\": \"Tcp\",\n            \"source_port_range\": \"*\",\n            \"destination_port_range\": \"636\",\n            \"source_address_prefix\": \"*\",\n            \"destination_address_prefix\": \"*\",\n        },\n    ])\nreplica_subnet_network_security_group_association = azure.network.SubnetNetworkSecurityGroupAssociation(\"replica\",\n    subnet_id=aadds_replica.id,\n    network_security_group_id=aadds_replica_network_security_group.id)\nprimary_replica = azure.network.VirtualNetworkPeering(\"primary_replica\",\n    name=\"aadds-primary-replica\",\n    resource_group_name=primary_virtual_network.resource_group_name,\n    virtual_network_name=primary_virtual_network.name,\n    remote_virtual_network_id=replica_virtual_network.id,\n    allow_forwarded_traffic=True,\n    allow_gateway_transit=False,\n    allow_virtual_network_access=True,\n    use_remote_gateways=False)\nreplica_primary = azure.network.VirtualNetworkPeering(\"replica_primary\",\n    name=\"aadds-replica-primary\",\n    resource_group_name=replica_virtual_network.resource_group_name,\n    virtual_network_name=replica_virtual_network.name,\n    remote_virtual_network_id=primary_virtual_network.id,\n    allow_forwarded_traffic=True,\n    allow_gateway_transit=False,\n    allow_virtual_network_access=True,\n    use_remote_gateways=False)\nreplica_virtual_network_dns_servers = azure.network.VirtualNetworkDnsServers(\"replica\",\n    virtual_network_id=replica_virtual_network.id,\n    dns_servers=example_service.initial_replica_set.domain_controller_ip_addresses)\nreplica_replica_set = azure.domainservices.ReplicaSet(\"replica\",\n    domain_service_id=example_service.id,\n    location=replica.location,\n    subnet_id=aadds_replica.id,\n    opts = pulumi.ResourceOptions(depends_on=[\n            replica_subnet_network_security_group_association,\n            primary_replica,\n            replica_primary,\n        ]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\nusing AzureAD = Pulumi.AzureAD;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var primary = new Azure.Core.ResourceGroup(\"primary\", new()\n    {\n        Name = \"aadds-primary-rg\",\n        Location = \"West Europe\",\n    });\n\n    var primaryVirtualNetwork = new Azure.Network.VirtualNetwork(\"primary\", new()\n    {\n        Name = \"aadds-primary-vnet\",\n        Location = primary.Location,\n        ResourceGroupName = primary.Name,\n        AddressSpaces = new[]\n        {\n            \"10.0.1.0/16\",\n        },\n    });\n\n    var primarySubnet = new Azure.Network.Subnet(\"primary\", new()\n    {\n        Name = \"aadds-primary-subnet\",\n        ResourceGroupName = primary.Name,\n        VirtualNetworkName = primaryVirtualNetwork.Name,\n        AddressPrefixes = new[]\n        {\n            \"10.0.1.0/24\",\n        },\n    });\n\n    var primaryNetworkSecurityGroup = new Azure.Network.NetworkSecurityGroup(\"primary\", new()\n    {\n        Name = \"aadds-primary-nsg\",\n        Location = primary.Location,\n        ResourceGroupName = primary.Name,\n        SecurityRules = new[]\n        {\n            new Azure.Network.Inputs.NetworkSecurityGroupSecurityRuleArgs\n            {\n                Name = \"AllowSyncWithAzureAD\",\n                Priority = 101,\n                Direction = \"Inbound\",\n                Access = \"Allow\",\n                Protocol = \"Tcp\",\n                SourcePortRange = \"*\",\n                DestinationPortRange = \"443\",\n                SourceAddressPrefix = \"AzureActiveDirectoryDomainServices\",\n                DestinationAddressPrefix = \"*\",\n            },\n            new Azure.Network.Inputs.NetworkSecurityGroupSecurityRuleArgs\n            {\n                Name = \"AllowRD\",\n                Priority = 201,\n                Direction = \"Inbound\",\n                Access = \"Allow\",\n                Protocol = \"Tcp\",\n                SourcePortRange = \"*\",\n                DestinationPortRange = \"3389\",\n                SourceAddressPrefix = \"CorpNetSaw\",\n                DestinationAddressPrefix = \"*\",\n            },\n            new Azure.Network.Inputs.NetworkSecurityGroupSecurityRuleArgs\n            {\n                Name = \"AllowPSRemoting\",\n                Priority = 301,\n                Direction = \"Inbound\",\n                Access = \"Allow\",\n                Protocol = \"Tcp\",\n                SourcePortRange = \"*\",\n                DestinationPortRange = \"5986\",\n                SourceAddressPrefix = \"AzureActiveDirectoryDomainServices\",\n                DestinationAddressPrefix = \"*\",\n            },\n            new Azure.Network.Inputs.NetworkSecurityGroupSecurityRuleArgs\n            {\n                Name = \"AllowLDAPS\",\n                Priority = 401,\n                Direction = \"Inbound\",\n                Access = \"Allow\",\n                Protocol = \"Tcp\",\n                SourcePortRange = \"*\",\n                DestinationPortRange = \"636\",\n                SourceAddressPrefix = \"*\",\n                DestinationAddressPrefix = \"*\",\n            },\n        },\n    });\n\n    var primarySubnetNetworkSecurityGroupAssociation = new Azure.Network.SubnetNetworkSecurityGroupAssociation(\"primary\", new()\n    {\n        SubnetId = primarySubnet.Id,\n        NetworkSecurityGroupId = primaryNetworkSecurityGroup.Id,\n    });\n\n    var dcAdmins = new AzureAD.Group(\"dc_admins\", new()\n    {\n        DisplayName = \"aad-dc-administrators\",\n        SecurityEnabled = true,\n    });\n\n    var admin = new AzureAD.User(\"admin\", new()\n    {\n        UserPrincipalName = \"dc-admin@hashicorp-example.net\",\n        DisplayName = \"DC Administrator\",\n        Password = \"Pa55w0Rd!!1\",\n    });\n\n    var adminGroupMember = new AzureAD.GroupMember(\"admin\", new()\n    {\n        GroupObjectId = dcAdmins.ObjectId,\n        MemberObjectId = admin.ObjectId,\n    });\n\n    var example = new AzureAD.ServicePrincipal(\"example\", new()\n    {\n        ApplicationId = \"2565bd9d-da50-47d4-8b85-4c97f669dc36\",\n    });\n\n    var aadds = new Azure.Core.ResourceGroup(\"aadds\", new()\n    {\n        Name = \"aadds-rg\",\n        Location = \"westeurope\",\n    });\n\n    var exampleService = new Azure.DomainServices.Service(\"example\", new()\n    {\n        Name = \"example-aadds\",\n        Location = aadds.Location,\n        ResourceGroupName = aadds.Name,\n        DomainName = \"widgetslogin.net\",\n        Sku = \"Enterprise\",\n        FilteredSyncEnabled = false,\n        InitialReplicaSet = new Azure.DomainServices.Inputs.ServiceInitialReplicaSetArgs\n        {\n            Location = primaryVirtualNetwork.Location,\n            SubnetId = primarySubnet.Id,\n        },\n        Notifications = new Azure.DomainServices.Inputs.ServiceNotificationsArgs\n        {\n            AdditionalRecipients = new[]\n            {\n                \"notifyA@example.net\",\n                \"notifyB@example.org\",\n            },\n            NotifyDcAdmins = true,\n            NotifyGlobalAdmins = true,\n        },\n        Security = new Azure.DomainServices.Inputs.ServiceSecurityArgs\n        {\n            SyncKerberosPasswords = true,\n            SyncNtlmPasswords = true,\n            SyncOnPremPasswords = true,\n        },\n        Tags = \n        {\n            { \"Environment\", \"prod\" },\n        },\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            example,\n            primarySubnetNetworkSecurityGroupAssociation,\n        },\n    });\n\n    var replica = new Azure.Core.ResourceGroup(\"replica\", new()\n    {\n        Name = \"aadds-replica-rg\",\n        Location = \"North Europe\",\n    });\n\n    var replicaVirtualNetwork = new Azure.Network.VirtualNetwork(\"replica\", new()\n    {\n        Name = \"aadds-replica-vnet\",\n        Location = replica.Location,\n        ResourceGroupName = replica.Name,\n        AddressSpaces = new[]\n        {\n            \"10.20.0.0/16\",\n        },\n    });\n\n    var aaddsReplica = new Azure.Network.Subnet(\"aadds_replica\", new()\n    {\n        Name = \"aadds-replica-subnet\",\n        ResourceGroupName = replica.Name,\n        VirtualNetworkName = replicaVirtualNetwork.Name,\n        AddressPrefixes = new[]\n        {\n            \"10.20.0.0/24\",\n        },\n    });\n\n    var aaddsReplicaNetworkSecurityGroup = new Azure.Network.NetworkSecurityGroup(\"aadds_replica\", new()\n    {\n        Name = \"aadds-replica-nsg\",\n        Location = replica.Location,\n        ResourceGroupName = replica.Name,\n        SecurityRules = new[]\n        {\n            new Azure.Network.Inputs.NetworkSecurityGroupSecurityRuleArgs\n            {\n                Name = \"AllowSyncWithAzureAD\",\n                Priority = 101,\n                Direction = \"Inbound\",\n                Access = \"Allow\",\n                Protocol = \"Tcp\",\n                SourcePortRange = \"*\",\n                DestinationPortRange = \"443\",\n                SourceAddressPrefix = \"AzureActiveDirectoryDomainServices\",\n                DestinationAddressPrefix = \"*\",\n            },\n            new Azure.Network.Inputs.NetworkSecurityGroupSecurityRuleArgs\n            {\n                Name = \"AllowRD\",\n                Priority = 201,\n                Direction = \"Inbound\",\n                Access = \"Allow\",\n                Protocol = \"Tcp\",\n                SourcePortRange = \"*\",\n                DestinationPortRange = \"3389\",\n                SourceAddressPrefix = \"CorpNetSaw\",\n                DestinationAddressPrefix = \"*\",\n            },\n            new Azure.Network.Inputs.NetworkSecurityGroupSecurityRuleArgs\n            {\n                Name = \"AllowPSRemoting\",\n                Priority = 301,\n                Direction = \"Inbound\",\n                Access = \"Allow\",\n                Protocol = \"Tcp\",\n                SourcePortRange = \"*\",\n                DestinationPortRange = \"5986\",\n                SourceAddressPrefix = \"AzureActiveDirectoryDomainServices\",\n                DestinationAddressPrefix = \"*\",\n            },\n            new Azure.Network.Inputs.NetworkSecurityGroupSecurityRuleArgs\n            {\n                Name = \"AllowLDAPS\",\n                Priority = 401,\n                Direction = \"Inbound\",\n                Access = \"Allow\",\n                Protocol = \"Tcp\",\n                SourcePortRange = \"*\",\n                DestinationPortRange = \"636\",\n                SourceAddressPrefix = \"*\",\n                DestinationAddressPrefix = \"*\",\n            },\n        },\n    });\n\n    var replicaSubnetNetworkSecurityGroupAssociation = new Azure.Network.SubnetNetworkSecurityGroupAssociation(\"replica\", new()\n    {\n        SubnetId = aaddsReplica.Id,\n        NetworkSecurityGroupId = aaddsReplicaNetworkSecurityGroup.Id,\n    });\n\n    var primaryReplica = new Azure.Network.VirtualNetworkPeering(\"primary_replica\", new()\n    {\n        Name = \"aadds-primary-replica\",\n        ResourceGroupName = primaryVirtualNetwork.ResourceGroupName,\n        VirtualNetworkName = primaryVirtualNetwork.Name,\n        RemoteVirtualNetworkId = replicaVirtualNetwork.Id,\n        AllowForwardedTraffic = true,\n        AllowGatewayTransit = false,\n        AllowVirtualNetworkAccess = true,\n        UseRemoteGateways = false,\n    });\n\n    var replicaPrimary = new Azure.Network.VirtualNetworkPeering(\"replica_primary\", new()\n    {\n        Name = \"aadds-replica-primary\",\n        ResourceGroupName = replicaVirtualNetwork.ResourceGroupName,\n        VirtualNetworkName = replicaVirtualNetwork.Name,\n        RemoteVirtualNetworkId = primaryVirtualNetwork.Id,\n        AllowForwardedTraffic = true,\n        AllowGatewayTransit = false,\n        AllowVirtualNetworkAccess = true,\n        UseRemoteGateways = false,\n    });\n\n    var replicaVirtualNetworkDnsServers = new Azure.Network.VirtualNetworkDnsServers(\"replica\", new()\n    {\n        VirtualNetworkId = replicaVirtualNetwork.Id,\n        DnsServers = exampleService.InitialReplicaSet.Apply(initialReplicaSet =\u003e initialReplicaSet.DomainControllerIpAddresses),\n    });\n\n    var replicaReplicaSet = new Azure.DomainServices.ReplicaSet(\"replica\", new()\n    {\n        DomainServiceId = exampleService.Id,\n        Location = replica.Location,\n        SubnetId = aaddsReplica.Id,\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            replicaSubnetNetworkSecurityGroupAssociation,\n            primaryReplica,\n            replicaPrimary,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/domainservices\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi-azuread/sdk/v6/go/azuread\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\nprimary, err := core.NewResourceGroup(ctx, \"primary\", \u0026core.ResourceGroupArgs{\nName: pulumi.String(\"aadds-primary-rg\"),\nLocation: pulumi.String(\"West Europe\"),\n})\nif err != nil {\nreturn err\n}\nprimaryVirtualNetwork, err := network.NewVirtualNetwork(ctx, \"primary\", \u0026network.VirtualNetworkArgs{\nName: pulumi.String(\"aadds-primary-vnet\"),\nLocation: primary.Location,\nResourceGroupName: primary.Name,\nAddressSpaces: pulumi.StringArray{\npulumi.String(\"10.0.1.0/16\"),\n},\n})\nif err != nil {\nreturn err\n}\nprimarySubnet, err := network.NewSubnet(ctx, \"primary\", \u0026network.SubnetArgs{\nName: pulumi.String(\"aadds-primary-subnet\"),\nResourceGroupName: primary.Name,\nVirtualNetworkName: primaryVirtualNetwork.Name,\nAddressPrefixes: pulumi.StringArray{\npulumi.String(\"10.0.1.0/24\"),\n},\n})\nif err != nil {\nreturn err\n}\nprimaryNetworkSecurityGroup, err := network.NewNetworkSecurityGroup(ctx, \"primary\", \u0026network.NetworkSecurityGroupArgs{\nName: pulumi.String(\"aadds-primary-nsg\"),\nLocation: primary.Location,\nResourceGroupName: primary.Name,\nSecurityRules: network.NetworkSecurityGroupSecurityRuleArray{\n\u0026network.NetworkSecurityGroupSecurityRuleArgs{\nName: pulumi.String(\"AllowSyncWithAzureAD\"),\nPriority: pulumi.Int(101),\nDirection: pulumi.String(\"Inbound\"),\nAccess: pulumi.String(\"Allow\"),\nProtocol: pulumi.String(\"Tcp\"),\nSourcePortRange: pulumi.String(\"*\"),\nDestinationPortRange: pulumi.String(\"443\"),\nSourceAddressPrefix: pulumi.String(\"AzureActiveDirectoryDomainServices\"),\nDestinationAddressPrefix: pulumi.String(\"*\"),\n},\n\u0026network.NetworkSecurityGroupSecurityRuleArgs{\nName: pulumi.String(\"AllowRD\"),\nPriority: pulumi.Int(201),\nDirection: pulumi.String(\"Inbound\"),\nAccess: pulumi.String(\"Allow\"),\nProtocol: pulumi.String(\"Tcp\"),\nSourcePortRange: pulumi.String(\"*\"),\nDestinationPortRange: pulumi.String(\"3389\"),\nSourceAddressPrefix: pulumi.String(\"CorpNetSaw\"),\nDestinationAddressPrefix: pulumi.String(\"*\"),\n},\n\u0026network.NetworkSecurityGroupSecurityRuleArgs{\nName: pulumi.String(\"AllowPSRemoting\"),\nPriority: pulumi.Int(301),\nDirection: pulumi.String(\"Inbound\"),\nAccess: pulumi.String(\"Allow\"),\nProtocol: pulumi.String(\"Tcp\"),\nSourcePortRange: pulumi.String(\"*\"),\nDestinationPortRange: pulumi.String(\"5986\"),\nSourceAddressPrefix: pulumi.String(\"AzureActiveDirectoryDomainServices\"),\nDestinationAddressPrefix: pulumi.String(\"*\"),\n},\n\u0026network.NetworkSecurityGroupSecurityRuleArgs{\nName: pulumi.String(\"AllowLDAPS\"),\nPriority: pulumi.Int(401),\nDirection: pulumi.String(\"Inbound\"),\nAccess: pulumi.String(\"Allow\"),\nProtocol: pulumi.String(\"Tcp\"),\nSourcePortRange: pulumi.String(\"*\"),\nDestinationPortRange: pulumi.String(\"636\"),\nSourceAddressPrefix: pulumi.String(\"*\"),\nDestinationAddressPrefix: pulumi.String(\"*\"),\n},\n},\n})\nif err != nil {\nreturn err\n}\nprimarySubnetNetworkSecurityGroupAssociation, err := network.NewSubnetNetworkSecurityGroupAssociation(ctx, \"primary\", \u0026network.SubnetNetworkSecurityGroupAssociationArgs{\nSubnetId: primarySubnet.ID(),\nNetworkSecurityGroupId: primaryNetworkSecurityGroup.ID(),\n})\nif err != nil {\nreturn err\n}\ndcAdmins, err := azuread.NewGroup(ctx, \"dc_admins\", \u0026azuread.GroupArgs{\nDisplayName: pulumi.String(\"aad-dc-administrators\"),\nSecurityEnabled: pulumi.Bool(true),\n})\nif err != nil {\nreturn err\n}\nadmin, err := azuread.NewUser(ctx, \"admin\", \u0026azuread.UserArgs{\nUserPrincipalName: pulumi.String(\"dc-admin@hashicorp-example.net\"),\nDisplayName: pulumi.String(\"DC Administrator\"),\nPassword: pulumi.String(\"Pa55w0Rd!!1\"),\n})\nif err != nil {\nreturn err\n}\n_, err = azuread.NewGroupMember(ctx, \"admin\", \u0026azuread.GroupMemberArgs{\nGroupObjectId: dcAdmins.ObjectId,\nMemberObjectId: admin.ObjectId,\n})\nif err != nil {\nreturn err\n}\nexample, err := azuread.NewServicePrincipal(ctx, \"example\", \u0026azuread.ServicePrincipalArgs{\nApplicationId: \"2565bd9d-da50-47d4-8b85-4c97f669dc36\",\n})\nif err != nil {\nreturn err\n}\naadds, err := core.NewResourceGroup(ctx, \"aadds\", \u0026core.ResourceGroupArgs{\nName: pulumi.String(\"aadds-rg\"),\nLocation: pulumi.String(\"westeurope\"),\n})\nif err != nil {\nreturn err\n}\nexampleService, err := domainservices.NewService(ctx, \"example\", \u0026domainservices.ServiceArgs{\nName: pulumi.String(\"example-aadds\"),\nLocation: aadds.Location,\nResourceGroupName: aadds.Name,\nDomainName: pulumi.String(\"widgetslogin.net\"),\nSku: pulumi.String(\"Enterprise\"),\nFilteredSyncEnabled: pulumi.Bool(false),\nInitialReplicaSet: \u0026domainservices.ServiceInitialReplicaSetArgs{\nLocation: primaryVirtualNetwork.Location,\nSubnetId: primarySubnet.ID(),\n},\nNotifications: \u0026domainservices.ServiceNotificationsArgs{\nAdditionalRecipients: pulumi.StringArray{\npulumi.String(\"notifyA@example.net\"),\npulumi.String(\"notifyB@example.org\"),\n},\nNotifyDcAdmins: pulumi.Bool(true),\nNotifyGlobalAdmins: pulumi.Bool(true),\n},\nSecurity: \u0026domainservices.ServiceSecurityArgs{\nSyncKerberosPasswords: pulumi.Bool(true),\nSyncNtlmPasswords: pulumi.Bool(true),\nSyncOnPremPasswords: pulumi.Bool(true),\n},\nTags: pulumi.StringMap{\n\"Environment\": pulumi.String(\"prod\"),\n},\n}, pulumi.DependsOn([]pulumi.Resource{\nexample,\nprimarySubnetNetworkSecurityGroupAssociation,\n}))\nif err != nil {\nreturn err\n}\nreplica, err := core.NewResourceGroup(ctx, \"replica\", \u0026core.ResourceGroupArgs{\nName: pulumi.String(\"aadds-replica-rg\"),\nLocation: pulumi.String(\"North Europe\"),\n})\nif err != nil {\nreturn err\n}\nreplicaVirtualNetwork, err := network.NewVirtualNetwork(ctx, \"replica\", \u0026network.VirtualNetworkArgs{\nName: pulumi.String(\"aadds-replica-vnet\"),\nLocation: replica.Location,\nResourceGroupName: replica.Name,\nAddressSpaces: pulumi.StringArray{\npulumi.String(\"10.20.0.0/16\"),\n},\n})\nif err != nil {\nreturn err\n}\naaddsReplica, err := network.NewSubnet(ctx, \"aadds_replica\", \u0026network.SubnetArgs{\nName: pulumi.String(\"aadds-replica-subnet\"),\nResourceGroupName: replica.Name,\nVirtualNetworkName: replicaVirtualNetwork.Name,\nAddressPrefixes: pulumi.StringArray{\npulumi.String(\"10.20.0.0/24\"),\n},\n})\nif err != nil {\nreturn err\n}\naaddsReplicaNetworkSecurityGroup, err := network.NewNetworkSecurityGroup(ctx, \"aadds_replica\", \u0026network.NetworkSecurityGroupArgs{\nName: pulumi.String(\"aadds-replica-nsg\"),\nLocation: replica.Location,\nResourceGroupName: replica.Name,\nSecurityRules: network.NetworkSecurityGroupSecurityRuleArray{\n\u0026network.NetworkSecurityGroupSecurityRuleArgs{\nName: pulumi.String(\"AllowSyncWithAzureAD\"),\nPriority: pulumi.Int(101),\nDirection: pulumi.String(\"Inbound\"),\nAccess: pulumi.String(\"Allow\"),\nProtocol: pulumi.String(\"Tcp\"),\nSourcePortRange: pulumi.String(\"*\"),\nDestinationPortRange: pulumi.String(\"443\"),\nSourceAddressPrefix: pulumi.String(\"AzureActiveDirectoryDomainServices\"),\nDestinationAddressPrefix: pulumi.String(\"*\"),\n},\n\u0026network.NetworkSecurityGroupSecurityRuleArgs{\nName: pulumi.String(\"AllowRD\"),\nPriority: pulumi.Int(201),\nDirection: pulumi.String(\"Inbound\"),\nAccess: pulumi.String(\"Allow\"),\nProtocol: pulumi.String(\"Tcp\"),\nSourcePortRange: pulumi.String(\"*\"),\nDestinationPortRange: pulumi.String(\"3389\"),\nSourceAddressPrefix: pulumi.String(\"CorpNetSaw\"),\nDestinationAddressPrefix: pulumi.String(\"*\"),\n},\n\u0026network.NetworkSecurityGroupSecurityRuleArgs{\nName: pulumi.String(\"AllowPSRemoting\"),\nPriority: pulumi.Int(301),\nDirection: pulumi.String(\"Inbound\"),\nAccess: pulumi.String(\"Allow\"),\nProtocol: pulumi.String(\"Tcp\"),\nSourcePortRange: pulumi.String(\"*\"),\nDestinationPortRange: pulumi.String(\"5986\"),\nSourceAddressPrefix: pulumi.String(\"AzureActiveDirectoryDomainServices\"),\nDestinationAddressPrefix: pulumi.String(\"*\"),\n},\n\u0026network.NetworkSecurityGroupSecurityRuleArgs{\nName: pulumi.String(\"AllowLDAPS\"),\nPriority: pulumi.Int(401),\nDirection: pulumi.String(\"Inbound\"),\nAccess: pulumi.String(\"Allow\"),\nProtocol: pulumi.String(\"Tcp\"),\nSourcePortRange: pulumi.String(\"*\"),\nDestinationPortRange: pulumi.String(\"636\"),\nSourceAddressPrefix: pulumi.String(\"*\"),\nDestinationAddressPrefix: pulumi.String(\"*\"),\n},\n},\n})\nif err != nil {\nreturn err\n}\nreplicaSubnetNetworkSecurityGroupAssociation, err := network.NewSubnetNetworkSecurityGroupAssociation(ctx, \"replica\", \u0026network.SubnetNetworkSecurityGroupAssociationArgs{\nSubnetId: aaddsReplica.ID(),\nNetworkSecurityGroupId: aaddsReplicaNetworkSecurityGroup.ID(),\n})\nif err != nil {\nreturn err\n}\nprimaryReplica, err := network.NewVirtualNetworkPeering(ctx, \"primary_replica\", \u0026network.VirtualNetworkPeeringArgs{\nName: pulumi.String(\"aadds-primary-replica\"),\nResourceGroupName: primaryVirtualNetwork.ResourceGroupName,\nVirtualNetworkName: primaryVirtualNetwork.Name,\nRemoteVirtualNetworkId: replicaVirtualNetwork.ID(),\nAllowForwardedTraffic: pulumi.Bool(true),\nAllowGatewayTransit: pulumi.Bool(false),\nAllowVirtualNetworkAccess: pulumi.Bool(true),\nUseRemoteGateways: pulumi.Bool(false),\n})\nif err != nil {\nreturn err\n}\nreplicaPrimary, err := network.NewVirtualNetworkPeering(ctx, \"replica_primary\", \u0026network.VirtualNetworkPeeringArgs{\nName: pulumi.String(\"aadds-replica-primary\"),\nResourceGroupName: replicaVirtualNetwork.ResourceGroupName,\nVirtualNetworkName: replicaVirtualNetwork.Name,\nRemoteVirtualNetworkId: primaryVirtualNetwork.ID(),\nAllowForwardedTraffic: pulumi.Bool(true),\nAllowGatewayTransit: pulumi.Bool(false),\nAllowVirtualNetworkAccess: pulumi.Bool(true),\nUseRemoteGateways: pulumi.Bool(false),\n})\nif err != nil {\nreturn err\n}\n_, err = network.NewVirtualNetworkDnsServers(ctx, \"replica\", \u0026network.VirtualNetworkDnsServersArgs{\nVirtualNetworkId: replicaVirtualNetwork.ID(),\nDnsServers: pulumi.StringArray(exampleService.InitialReplicaSet.ApplyT(func(initialReplicaSet domainservices.ServiceInitialReplicaSet) (interface{}, error) {\nreturn initialReplicaSet.DomainControllerIpAddresses, nil\n}).(pulumi.Interface{}Output)),\n})\nif err != nil {\nreturn err\n}\n_, err = domainservices.NewReplicaSet(ctx, \"replica\", \u0026domainservices.ReplicaSetArgs{\nDomainServiceId: exampleService.ID(),\nLocation: replica.Location,\nSubnetId: aaddsReplica.ID(),\n}, pulumi.DependsOn([]pulumi.Resource{\nreplicaSubnetNetworkSecurityGroupAssociation,\nprimaryReplica,\nreplicaPrimary,\n}))\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.VirtualNetwork;\nimport com.pulumi.azure.network.VirtualNetworkArgs;\nimport com.pulumi.azure.network.Subnet;\nimport com.pulumi.azure.network.SubnetArgs;\nimport com.pulumi.azure.network.NetworkSecurityGroup;\nimport com.pulumi.azure.network.NetworkSecurityGroupArgs;\nimport com.pulumi.azure.network.inputs.NetworkSecurityGroupSecurityRuleArgs;\nimport com.pulumi.azure.network.SubnetNetworkSecurityGroupAssociation;\nimport com.pulumi.azure.network.SubnetNetworkSecurityGroupAssociationArgs;\nimport com.pulumi.azuread.Group;\nimport com.pulumi.azuread.GroupArgs;\nimport com.pulumi.azuread.User;\nimport com.pulumi.azuread.UserArgs;\nimport com.pulumi.azuread.GroupMember;\nimport com.pulumi.azuread.GroupMemberArgs;\nimport com.pulumi.azuread.ServicePrincipal;\nimport com.pulumi.azuread.ServicePrincipalArgs;\nimport com.pulumi.azure.domainservices.Service;\nimport com.pulumi.azure.domainservices.ServiceArgs;\nimport com.pulumi.azure.domainservices.inputs.ServiceInitialReplicaSetArgs;\nimport com.pulumi.azure.domainservices.inputs.ServiceNotificationsArgs;\nimport com.pulumi.azure.domainservices.inputs.ServiceSecurityArgs;\nimport com.pulumi.azure.network.VirtualNetworkPeering;\nimport com.pulumi.azure.network.VirtualNetworkPeeringArgs;\nimport com.pulumi.azure.network.VirtualNetworkDnsServers;\nimport com.pulumi.azure.network.VirtualNetworkDnsServersArgs;\nimport com.pulumi.azure.domainservices.ReplicaSet;\nimport com.pulumi.azure.domainservices.ReplicaSetArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var primary = new ResourceGroup(\"primary\", ResourceGroupArgs.builder()\n            .name(\"aadds-primary-rg\")\n            .location(\"West Europe\")\n            .build());\n\n        var primaryVirtualNetwork = new VirtualNetwork(\"primaryVirtualNetwork\", VirtualNetworkArgs.builder()\n            .name(\"aadds-primary-vnet\")\n            .location(primary.location())\n            .resourceGroupName(primary.name())\n            .addressSpaces(\"10.0.1.0/16\")\n            .build());\n\n        var primarySubnet = new Subnet(\"primarySubnet\", SubnetArgs.builder()\n            .name(\"aadds-primary-subnet\")\n            .resourceGroupName(primary.name())\n            .virtualNetworkName(primaryVirtualNetwork.name())\n            .addressPrefixes(\"10.0.1.0/24\")\n            .build());\n\n        var primaryNetworkSecurityGroup = new NetworkSecurityGroup(\"primaryNetworkSecurityGroup\", NetworkSecurityGroupArgs.builder()\n            .name(\"aadds-primary-nsg\")\n            .location(primary.location())\n            .resourceGroupName(primary.name())\n            .securityRules(            \n                NetworkSecurityGroupSecurityRuleArgs.builder()\n                    .name(\"AllowSyncWithAzureAD\")\n                    .priority(101)\n                    .direction(\"Inbound\")\n                    .access(\"Allow\")\n                    .protocol(\"Tcp\")\n                    .sourcePortRange(\"*\")\n                    .destinationPortRange(\"443\")\n                    .sourceAddressPrefix(\"AzureActiveDirectoryDomainServices\")\n                    .destinationAddressPrefix(\"*\")\n                    .build(),\n                NetworkSecurityGroupSecurityRuleArgs.builder()\n                    .name(\"AllowRD\")\n                    .priority(201)\n                    .direction(\"Inbound\")\n                    .access(\"Allow\")\n                    .protocol(\"Tcp\")\n                    .sourcePortRange(\"*\")\n                    .destinationPortRange(\"3389\")\n                    .sourceAddressPrefix(\"CorpNetSaw\")\n                    .destinationAddressPrefix(\"*\")\n                    .build(),\n                NetworkSecurityGroupSecurityRuleArgs.builder()\n                    .name(\"AllowPSRemoting\")\n                    .priority(301)\n                    .direction(\"Inbound\")\n                    .access(\"Allow\")\n                    .protocol(\"Tcp\")\n                    .sourcePortRange(\"*\")\n                    .destinationPortRange(\"5986\")\n                    .sourceAddressPrefix(\"AzureActiveDirectoryDomainServices\")\n                    .destinationAddressPrefix(\"*\")\n                    .build(),\n                NetworkSecurityGroupSecurityRuleArgs.builder()\n                    .name(\"AllowLDAPS\")\n                    .priority(401)\n                    .direction(\"Inbound\")\n                    .access(\"Allow\")\n                    .protocol(\"Tcp\")\n                    .sourcePortRange(\"*\")\n                    .destinationPortRange(\"636\")\n                    .sourceAddressPrefix(\"*\")\n                    .destinationAddressPrefix(\"*\")\n                    .build())\n            .build());\n\n        var primarySubnetNetworkSecurityGroupAssociation = new SubnetNetworkSecurityGroupAssociation(\"primarySubnetNetworkSecurityGroupAssociation\", SubnetNetworkSecurityGroupAssociationArgs.builder()\n            .subnetId(primarySubnet.id())\n            .networkSecurityGroupId(primaryNetworkSecurityGroup.id())\n            .build());\n\n        var dcAdmins = new Group(\"dcAdmins\", GroupArgs.builder()\n            .displayName(\"aad-dc-administrators\")\n            .securityEnabled(true)\n            .build());\n\n        var admin = new User(\"admin\", UserArgs.builder()\n            .userPrincipalName(\"dc-admin@hashicorp-example.net\")\n            .displayName(\"DC Administrator\")\n            .password(\"Pa55w0Rd!!1\")\n            .build());\n\n        var adminGroupMember = new GroupMember(\"adminGroupMember\", GroupMemberArgs.builder()\n            .groupObjectId(dcAdmins.objectId())\n            .memberObjectId(admin.objectId())\n            .build());\n\n        var example = new ServicePrincipal(\"example\", ServicePrincipalArgs.builder()\n            .applicationId(\"2565bd9d-da50-47d4-8b85-4c97f669dc36\")\n            .build());\n\n        var aadds = new ResourceGroup(\"aadds\", ResourceGroupArgs.builder()\n            .name(\"aadds-rg\")\n            .location(\"westeurope\")\n            .build());\n\n        var exampleService = new Service(\"exampleService\", ServiceArgs.builder()\n            .name(\"example-aadds\")\n            .location(aadds.location())\n            .resourceGroupName(aadds.name())\n            .domainName(\"widgetslogin.net\")\n            .sku(\"Enterprise\")\n            .filteredSyncEnabled(false)\n            .initialReplicaSet(ServiceInitialReplicaSetArgs.builder()\n                .location(primaryVirtualNetwork.location())\n                .subnetId(primarySubnet.id())\n                .build())\n            .notifications(ServiceNotificationsArgs.builder()\n                .additionalRecipients(                \n                    \"notifyA@example.net\",\n                    \"notifyB@example.org\")\n                .notifyDcAdmins(true)\n                .notifyGlobalAdmins(true)\n                .build())\n            .security(ServiceSecurityArgs.builder()\n                .syncKerberosPasswords(true)\n                .syncNtlmPasswords(true)\n                .syncOnPremPasswords(true)\n                .build())\n            .tags(Map.of(\"Environment\", \"prod\"))\n            .build(), CustomResourceOptions.builder()\n                .dependsOn(                \n                    example,\n                    primarySubnetNetworkSecurityGroupAssociation)\n                .build());\n\n        var replica = new ResourceGroup(\"replica\", ResourceGroupArgs.builder()\n            .name(\"aadds-replica-rg\")\n            .location(\"North Europe\")\n            .build());\n\n        var replicaVirtualNetwork = new VirtualNetwork(\"replicaVirtualNetwork\", VirtualNetworkArgs.builder()\n            .name(\"aadds-replica-vnet\")\n            .location(replica.location())\n            .resourceGroupName(replica.name())\n            .addressSpaces(\"10.20.0.0/16\")\n            .build());\n\n        var aaddsReplica = new Subnet(\"aaddsReplica\", SubnetArgs.builder()\n            .name(\"aadds-replica-subnet\")\n            .resourceGroupName(replica.name())\n            .virtualNetworkName(replicaVirtualNetwork.name())\n            .addressPrefixes(\"10.20.0.0/24\")\n            .build());\n\n        var aaddsReplicaNetworkSecurityGroup = new NetworkSecurityGroup(\"aaddsReplicaNetworkSecurityGroup\", NetworkSecurityGroupArgs.builder()\n            .name(\"aadds-replica-nsg\")\n            .location(replica.location())\n            .resourceGroupName(replica.name())\n            .securityRules(            \n                NetworkSecurityGroupSecurityRuleArgs.builder()\n                    .name(\"AllowSyncWithAzureAD\")\n                    .priority(101)\n                    .direction(\"Inbound\")\n                    .access(\"Allow\")\n                    .protocol(\"Tcp\")\n                    .sourcePortRange(\"*\")\n                    .destinationPortRange(\"443\")\n                    .sourceAddressPrefix(\"AzureActiveDirectoryDomainServices\")\n                    .destinationAddressPrefix(\"*\")\n                    .build(),\n                NetworkSecurityGroupSecurityRuleArgs.builder()\n                    .name(\"AllowRD\")\n                    .priority(201)\n                    .direction(\"Inbound\")\n                    .access(\"Allow\")\n                    .protocol(\"Tcp\")\n                    .sourcePortRange(\"*\")\n                    .destinationPortRange(\"3389\")\n                    .sourceAddressPrefix(\"CorpNetSaw\")\n                    .destinationAddressPrefix(\"*\")\n                    .build(),\n                NetworkSecurityGroupSecurityRuleArgs.builder()\n                    .name(\"AllowPSRemoting\")\n                    .priority(301)\n                    .direction(\"Inbound\")\n                    .access(\"Allow\")\n                    .protocol(\"Tcp\")\n                    .sourcePortRange(\"*\")\n                    .destinationPortRange(\"5986\")\n                    .sourceAddressPrefix(\"AzureActiveDirectoryDomainServices\")\n                    .destinationAddressPrefix(\"*\")\n                    .build(),\n                NetworkSecurityGroupSecurityRuleArgs.builder()\n                    .name(\"AllowLDAPS\")\n                    .priority(401)\n                    .direction(\"Inbound\")\n                    .access(\"Allow\")\n                    .protocol(\"Tcp\")\n                    .sourcePortRange(\"*\")\n                    .destinationPortRange(\"636\")\n                    .sourceAddressPrefix(\"*\")\n                    .destinationAddressPrefix(\"*\")\n                    .build())\n            .build());\n\n        var replicaSubnetNetworkSecurityGroupAssociation = new SubnetNetworkSecurityGroupAssociation(\"replicaSubnetNetworkSecurityGroupAssociation\", SubnetNetworkSecurityGroupAssociationArgs.builder()\n            .subnetId(aaddsReplica.id())\n            .networkSecurityGroupId(aaddsReplicaNetworkSecurityGroup.id())\n            .build());\n\n        var primaryReplica = new VirtualNetworkPeering(\"primaryReplica\", VirtualNetworkPeeringArgs.builder()\n            .name(\"aadds-primary-replica\")\n            .resourceGroupName(primaryVirtualNetwork.resourceGroupName())\n            .virtualNetworkName(primaryVirtualNetwork.name())\n            .remoteVirtualNetworkId(replicaVirtualNetwork.id())\n            .allowForwardedTraffic(true)\n            .allowGatewayTransit(false)\n            .allowVirtualNetworkAccess(true)\n            .useRemoteGateways(false)\n            .build());\n\n        var replicaPrimary = new VirtualNetworkPeering(\"replicaPrimary\", VirtualNetworkPeeringArgs.builder()\n            .name(\"aadds-replica-primary\")\n            .resourceGroupName(replicaVirtualNetwork.resourceGroupName())\n            .virtualNetworkName(replicaVirtualNetwork.name())\n            .remoteVirtualNetworkId(primaryVirtualNetwork.id())\n            .allowForwardedTraffic(true)\n            .allowGatewayTransit(false)\n            .allowVirtualNetworkAccess(true)\n            .useRemoteGateways(false)\n            .build());\n\n        var replicaVirtualNetworkDnsServers = new VirtualNetworkDnsServers(\"replicaVirtualNetworkDnsServers\", VirtualNetworkDnsServersArgs.builder()\n            .virtualNetworkId(replicaVirtualNetwork.id())\n            .dnsServers(exampleService.initialReplicaSet().applyValue(_initialReplicaSet -\u003e _initialReplicaSet.domainControllerIpAddresses()))\n            .build());\n\n        var replicaReplicaSet = new ReplicaSet(\"replicaReplicaSet\", ReplicaSetArgs.builder()\n            .domainServiceId(exampleService.id())\n            .location(replica.location())\n            .subnetId(aaddsReplica.id())\n            .build(), CustomResourceOptions.builder()\n                .dependsOn(                \n                    replicaSubnetNetworkSecurityGroupAssociation,\n                    primaryReplica,\n                    replicaPrimary)\n                .build());\n\n    }\n}\n```\n```yaml\nresources:\n  primary:\n    type: azure:core:ResourceGroup\n    properties:\n      name: aadds-primary-rg\n      location: West Europe\n  primaryVirtualNetwork:\n    type: azure:network:VirtualNetwork\n    name: primary\n    properties:\n      name: aadds-primary-vnet\n      location: ${primary.location}\n      resourceGroupName: ${primary.name}\n      addressSpaces:\n        - 10.0.1.0/16\n  primarySubnet:\n    type: azure:network:Subnet\n    name: primary\n    properties:\n      name: aadds-primary-subnet\n      resourceGroupName: ${primary.name}\n      virtualNetworkName: ${primaryVirtualNetwork.name}\n      addressPrefixes:\n        - 10.0.1.0/24\n  primaryNetworkSecurityGroup:\n    type: azure:network:NetworkSecurityGroup\n    name: primary\n    properties:\n      name: aadds-primary-nsg\n      location: ${primary.location}\n      resourceGroupName: ${primary.name}\n      securityRules:\n        - name: AllowSyncWithAzureAD\n          priority: 101\n          direction: Inbound\n          access: Allow\n          protocol: Tcp\n          sourcePortRange: '*'\n          destinationPortRange: '443'\n          sourceAddressPrefix: AzureActiveDirectoryDomainServices\n          destinationAddressPrefix: '*'\n        - name: AllowRD\n          priority: 201\n          direction: Inbound\n          access: Allow\n          protocol: Tcp\n          sourcePortRange: '*'\n          destinationPortRange: '3389'\n          sourceAddressPrefix: CorpNetSaw\n          destinationAddressPrefix: '*'\n        - name: AllowPSRemoting\n          priority: 301\n          direction: Inbound\n          access: Allow\n          protocol: Tcp\n          sourcePortRange: '*'\n          destinationPortRange: '5986'\n          sourceAddressPrefix: AzureActiveDirectoryDomainServices\n          destinationAddressPrefix: '*'\n        - name: AllowLDAPS\n          priority: 401\n          direction: Inbound\n          access: Allow\n          protocol: Tcp\n          sourcePortRange: '*'\n          destinationPortRange: '636'\n          sourceAddressPrefix: '*'\n          destinationAddressPrefix: '*'\n  primarySubnetNetworkSecurityGroupAssociation:\n    type: azure:network:SubnetNetworkSecurityGroupAssociation\n    name: primary\n    properties:\n      subnetId: ${primarySubnet.id}\n      networkSecurityGroupId: ${primaryNetworkSecurityGroup.id}\n  dcAdmins:\n    type: azuread:Group\n    name: dc_admins\n    properties:\n      displayName: aad-dc-administrators\n      securityEnabled: true\n  admin:\n    type: azuread:User\n    properties:\n      userPrincipalName: dc-admin@hashicorp-example.net\n      displayName: DC Administrator\n      password: Pa55w0Rd!!1\n  adminGroupMember:\n    type: azuread:GroupMember\n    name: admin\n    properties:\n      groupObjectId: ${dcAdmins.objectId}\n      memberObjectId: ${admin.objectId}\n  example:\n    type: azuread:ServicePrincipal\n    properties:\n      applicationId: 2565bd9d-da50-47d4-8b85-4c97f669dc36\n  aadds:\n    type: azure:core:ResourceGroup\n    properties:\n      name: aadds-rg\n      location: westeurope\n  exampleService:\n    type: azure:domainservices:Service\n    name: example\n    properties:\n      name: example-aadds\n      location: ${aadds.location}\n      resourceGroupName: ${aadds.name}\n      domainName: widgetslogin.net\n      sku: Enterprise\n      filteredSyncEnabled: false\n      initialReplicaSet:\n        location: ${primaryVirtualNetwork.location}\n        subnetId: ${primarySubnet.id}\n      notifications:\n        additionalRecipients:\n          - notifyA@example.net\n          - notifyB@example.org\n        notifyDcAdmins: true\n        notifyGlobalAdmins: true\n      security:\n        syncKerberosPasswords: true\n        syncNtlmPasswords: true\n        syncOnPremPasswords: true\n      tags:\n        Environment: prod\n    options:\n      dependsOn:\n        - ${example}\n        - ${primarySubnetNetworkSecurityGroupAssociation}\n  replica:\n    type: azure:core:ResourceGroup\n    properties:\n      name: aadds-replica-rg\n      location: North Europe\n  replicaVirtualNetwork:\n    type: azure:network:VirtualNetwork\n    name: replica\n    properties:\n      name: aadds-replica-vnet\n      location: ${replica.location}\n      resourceGroupName: ${replica.name}\n      addressSpaces:\n        - 10.20.0.0/16\n  aaddsReplica:\n    type: azure:network:Subnet\n    name: aadds_replica\n    properties:\n      name: aadds-replica-subnet\n      resourceGroupName: ${replica.name}\n      virtualNetworkName: ${replicaVirtualNetwork.name}\n      addressPrefixes:\n        - 10.20.0.0/24\n  aaddsReplicaNetworkSecurityGroup:\n    type: azure:network:NetworkSecurityGroup\n    name: aadds_replica\n    properties:\n      name: aadds-replica-nsg\n      location: ${replica.location}\n      resourceGroupName: ${replica.name}\n      securityRules:\n        - name: AllowSyncWithAzureAD\n          priority: 101\n          direction: Inbound\n          access: Allow\n          protocol: Tcp\n          sourcePortRange: '*'\n          destinationPortRange: '443'\n          sourceAddressPrefix: AzureActiveDirectoryDomainServices\n          destinationAddressPrefix: '*'\n        - name: AllowRD\n          priority: 201\n          direction: Inbound\n          access: Allow\n          protocol: Tcp\n          sourcePortRange: '*'\n          destinationPortRange: '3389'\n          sourceAddressPrefix: CorpNetSaw\n          destinationAddressPrefix: '*'\n        - name: AllowPSRemoting\n          priority: 301\n          direction: Inbound\n          access: Allow\n          protocol: Tcp\n          sourcePortRange: '*'\n          destinationPortRange: '5986'\n          sourceAddressPrefix: AzureActiveDirectoryDomainServices\n          destinationAddressPrefix: '*'\n        - name: AllowLDAPS\n          priority: 401\n          direction: Inbound\n          access: Allow\n          protocol: Tcp\n          sourcePortRange: '*'\n          destinationPortRange: '636'\n          sourceAddressPrefix: '*'\n          destinationAddressPrefix: '*'\n  replicaSubnetNetworkSecurityGroupAssociation:\n    type: azure:network:SubnetNetworkSecurityGroupAssociation\n    name: replica\n    properties:\n      subnetId: ${aaddsReplica.id}\n      networkSecurityGroupId: ${aaddsReplicaNetworkSecurityGroup.id}\n  primaryReplica:\n    type: azure:network:VirtualNetworkPeering\n    name: primary_replica\n    properties:\n      name: aadds-primary-replica\n      resourceGroupName: ${primaryVirtualNetwork.resourceGroupName}\n      virtualNetworkName: ${primaryVirtualNetwork.name}\n      remoteVirtualNetworkId: ${replicaVirtualNetwork.id}\n      allowForwardedTraffic: true\n      allowGatewayTransit: false\n      allowVirtualNetworkAccess: true\n      useRemoteGateways: false\n  replicaPrimary:\n    type: azure:network:VirtualNetworkPeering\n    name: replica_primary\n    properties:\n      name: aadds-replica-primary\n      resourceGroupName: ${replicaVirtualNetwork.resourceGroupName}\n      virtualNetworkName: ${replicaVirtualNetwork.name}\n      remoteVirtualNetworkId: ${primaryVirtualNetwork.id}\n      allowForwardedTraffic: true\n      allowGatewayTransit: false\n      allowVirtualNetworkAccess: true\n      useRemoteGateways: false\n  replicaVirtualNetworkDnsServers:\n    type: azure:network:VirtualNetworkDnsServers\n    name: replica\n    properties:\n      virtualNetworkId: ${replicaVirtualNetwork.id}\n      dnsServers: ${exampleService.initialReplicaSet.domainControllerIpAddresses}\n  replicaReplicaSet:\n    type: azure:domainservices:ReplicaSet\n    name: replica\n    properties:\n      domainServiceId: ${exampleService.id}\n      location: ${replica.location}\n      subnetId: ${aaddsReplica.id}\n    options:\n      dependsOn:\n        - ${replicaSubnetNetworkSecurityGroupAssociation}\n        - ${primaryReplica}\n        - ${replicaPrimary}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.AAD` - 2021-05-01\n\n## Import\n\nDomain Service Replica Sets can be imported using the resource ID of the parent Domain Service and the Replica Set ID, e.g.\n\n```sh\n$ pulumi import azure:domainservices/replicaSet:ReplicaSet example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.AAD/domainServices/instance1/replicaSets/00000000-0000-0000-0000-000000000000\n```\n\n","properties":{"domainControllerIpAddresses":{"type":"array","items":{"type":"string"},"description":"A list of subnet IP addresses for the domain controllers in this Replica Set, typically two.\n"},"domainServiceId":{"type":"string","description":"The ID of the Domain Service for which to create this Replica Set. Changing this forces a new resource to be created.\n"},"externalAccessIpAddress":{"type":"string","description":"The publicly routable IP address for the domain controllers in this Replica Set.\n"},"location":{"type":"string","description":"The Azure location where this Replica Set should exist. Changing this forces a new resource to be created.\n"},"serviceStatus":{"type":"string","description":"The current service status for the replica set.\n"},"subnetId":{"type":"string","description":"The ID of the subnet in which to place this Replica Set. Changing this forces a new resource to be created.\n"}},"required":["domainControllerIpAddresses","domainServiceId","externalAccessIpAddress","location","serviceStatus","subnetId"],"inputProperties":{"domainServiceId":{"type":"string","description":"The ID of the Domain Service for which to create this Replica Set. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"location":{"type":"string","description":"The Azure location where this Replica Set should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"subnetId":{"type":"string","description":"The ID of the subnet in which to place this Replica Set. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["domainServiceId","subnetId"],"stateInputs":{"description":"Input properties used for looking up and filtering ReplicaSet resources.\n","properties":{"domainControllerIpAddresses":{"type":"array","items":{"type":"string"},"description":"A list of subnet IP addresses for the domain controllers in this Replica Set, typically two.\n"},"domainServiceId":{"type":"string","description":"The ID of the Domain Service for which to create this Replica Set. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"externalAccessIpAddress":{"type":"string","description":"The publicly routable IP address for the domain controllers in this Replica Set.\n"},"location":{"type":"string","description":"The Azure location where this Replica Set should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"serviceStatus":{"type":"string","description":"The current service status for the replica set.\n"},"subnetId":{"type":"string","description":"The ID of the subnet in which to place this Replica Set. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:domainservices/service:Service":{"description":"Manages an Active Directory Domain Service.\n\n\u003e **Note:** Before using this resource, there must exist in your tenant a service principal for the Domain Services published application. This service principal cannot be easily managed by Terraform and it's recommended to create this manually, as it does not exist by default. See [official documentation](https://docs.microsoft.com/azure/active-directory-domain-services/powershell-create-instance#create-required-azure-ad-resources) for details.\n\n\u003e **Note:** At present this resource only supports **User Forest** mode and _not_ **Resource Forest** mode. [Read more](https://docs.microsoft.com/azure/active-directory-domain-services/concepts-resource-forest) about the different operation modes for this service.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\nimport * as azuread from \"@pulumi/azuread\";\n\nconst deploy = new azure.core.ResourceGroup(\"deploy\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst deployVirtualNetwork = new azure.network.VirtualNetwork(\"deploy\", {\n    name: \"deploy-vnet\",\n    location: deploy.location,\n    resourceGroupName: deploy.name,\n    addressSpaces: [\"10.0.1.0/16\"],\n});\nconst deploySubnet = new azure.network.Subnet(\"deploy\", {\n    name: \"deploy-subnet\",\n    resourceGroupName: deploy.name,\n    virtualNetworkName: deployVirtualNetwork.name,\n    addressPrefixes: [\"10.0.1.0/24\"],\n});\nconst deployNetworkSecurityGroup = new azure.network.NetworkSecurityGroup(\"deploy\", {\n    name: \"deploy-nsg\",\n    location: deploy.location,\n    resourceGroupName: deploy.name,\n    securityRules: [\n        {\n            name: \"AllowSyncWithAzureAD\",\n            priority: 101,\n            direction: \"Inbound\",\n            access: \"Allow\",\n            protocol: \"Tcp\",\n            sourcePortRange: \"*\",\n            destinationPortRange: \"443\",\n            sourceAddressPrefix: \"AzureActiveDirectoryDomainServices\",\n            destinationAddressPrefix: \"*\",\n        },\n        {\n            name: \"AllowRD\",\n            priority: 201,\n            direction: \"Inbound\",\n            access: \"Allow\",\n            protocol: \"Tcp\",\n            sourcePortRange: \"*\",\n            destinationPortRange: \"3389\",\n            sourceAddressPrefix: \"CorpNetSaw\",\n            destinationAddressPrefix: \"*\",\n        },\n        {\n            name: \"AllowPSRemoting\",\n            priority: 301,\n            direction: \"Inbound\",\n            access: \"Allow\",\n            protocol: \"Tcp\",\n            sourcePortRange: \"*\",\n            destinationPortRange: \"5986\",\n            sourceAddressPrefix: \"AzureActiveDirectoryDomainServices\",\n            destinationAddressPrefix: \"*\",\n        },\n        {\n            name: \"AllowLDAPS\",\n            priority: 401,\n            direction: \"Inbound\",\n            access: \"Allow\",\n            protocol: \"Tcp\",\n            sourcePortRange: \"*\",\n            destinationPortRange: \"636\",\n            sourceAddressPrefix: \"*\",\n            destinationAddressPrefix: \"*\",\n        },\n    ],\n});\nconst deploySubnetNetworkSecurityGroupAssociation = new azure.network.SubnetNetworkSecurityGroupAssociation(\"deploy\", {\n    subnetId: deploySubnet.id,\n    networkSecurityGroupId: deployNetworkSecurityGroup.id,\n});\nconst dcAdmins = new azuread.Group(\"dc_admins\", {\n    displayName: \"AAD DC Administrators\",\n    securityEnabled: true,\n});\nconst admin = new azuread.User(\"admin\", {\n    userPrincipalName: \"dc-admin@hashicorp-example.com\",\n    displayName: \"DC Administrator\",\n    password: \"Pa55w0Rd!!1\",\n});\nconst adminGroupMember = new azuread.GroupMember(\"admin\", {\n    groupObjectId: dcAdmins.objectId,\n    memberObjectId: admin.objectId,\n});\nconst example = new azuread.ServicePrincipal(\"example\", {applicationId: \"2565bd9d-da50-47d4-8b85-4c97f669dc36\"});\nconst aadds = new azure.core.ResourceGroup(\"aadds\", {\n    name: \"aadds-rg\",\n    location: \"westeurope\",\n});\nconst exampleService = new azure.domainservices.Service(\"example\", {\n    name: \"example-aadds\",\n    location: aadds.location,\n    resourceGroupName: aadds.name,\n    domainName: \"widgetslogin.net\",\n    sku: \"Enterprise\",\n    filteredSyncEnabled: false,\n    initialReplicaSet: {\n        subnetId: deploySubnet.id,\n    },\n    notifications: {\n        additionalRecipients: [\n            \"notifyA@example.net\",\n            \"notifyB@example.org\",\n        ],\n        notifyDcAdmins: true,\n        notifyGlobalAdmins: true,\n    },\n    security: {\n        syncKerberosPasswords: true,\n        syncNtlmPasswords: true,\n        syncOnPremPasswords: true,\n    },\n    tags: {\n        Environment: \"prod\",\n    },\n}, {\n    dependsOn: [\n        example,\n        deploySubnetNetworkSecurityGroupAssociation,\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\nimport pulumi_azuread as azuread\n\ndeploy = azure.core.ResourceGroup(\"deploy\",\n    name=\"example-resources\",\n    location=\"West Europe\")\ndeploy_virtual_network = azure.network.VirtualNetwork(\"deploy\",\n    name=\"deploy-vnet\",\n    location=deploy.location,\n    resource_group_name=deploy.name,\n    address_spaces=[\"10.0.1.0/16\"])\ndeploy_subnet = azure.network.Subnet(\"deploy\",\n    name=\"deploy-subnet\",\n    resource_group_name=deploy.name,\n    virtual_network_name=deploy_virtual_network.name,\n    address_prefixes=[\"10.0.1.0/24\"])\ndeploy_network_security_group = azure.network.NetworkSecurityGroup(\"deploy\",\n    name=\"deploy-nsg\",\n    location=deploy.location,\n    resource_group_name=deploy.name,\n    security_rules=[\n        {\n            \"name\": \"AllowSyncWithAzureAD\",\n            \"priority\": 101,\n            \"direction\": \"Inbound\",\n            \"access\": \"Allow\",\n            \"protocol\": \"Tcp\",\n            \"source_port_range\": \"*\",\n            \"destination_port_range\": \"443\",\n            \"source_address_prefix\": \"AzureActiveDirectoryDomainServices\",\n            \"destination_address_prefix\": \"*\",\n        },\n        {\n            \"name\": \"AllowRD\",\n            \"priority\": 201,\n            \"direction\": \"Inbound\",\n            \"access\": \"Allow\",\n            \"protocol\": \"Tcp\",\n            \"source_port_range\": \"*\",\n            \"destination_port_range\": \"3389\",\n            \"source_address_prefix\": \"CorpNetSaw\",\n            \"destination_address_prefix\": \"*\",\n        },\n        {\n            \"name\": \"AllowPSRemoting\",\n            \"priority\": 301,\n            \"direction\": \"Inbound\",\n            \"access\": \"Allow\",\n            \"protocol\": \"Tcp\",\n            \"source_port_range\": \"*\",\n            \"destination_port_range\": \"5986\",\n            \"source_address_prefix\": \"AzureActiveDirectoryDomainServices\",\n            \"destination_address_prefix\": \"*\",\n        },\n        {\n            \"name\": \"AllowLDAPS\",\n            \"priority\": 401,\n            \"direction\": \"Inbound\",\n            \"access\": \"Allow\",\n            \"protocol\": \"Tcp\",\n            \"source_port_range\": \"*\",\n            \"destination_port_range\": \"636\",\n            \"source_address_prefix\": \"*\",\n            \"destination_address_prefix\": \"*\",\n        },\n    ])\ndeploy_subnet_network_security_group_association = azure.network.SubnetNetworkSecurityGroupAssociation(\"deploy\",\n    subnet_id=deploy_subnet.id,\n    network_security_group_id=deploy_network_security_group.id)\ndc_admins = azuread.Group(\"dc_admins\",\n    display_name=\"AAD DC Administrators\",\n    security_enabled=True)\nadmin = azuread.User(\"admin\",\n    user_principal_name=\"dc-admin@hashicorp-example.com\",\n    display_name=\"DC Administrator\",\n    password=\"Pa55w0Rd!!1\")\nadmin_group_member = azuread.GroupMember(\"admin\",\n    group_object_id=dc_admins.object_id,\n    member_object_id=admin.object_id)\nexample = azuread.ServicePrincipal(\"example\", application_id=\"2565bd9d-da50-47d4-8b85-4c97f669dc36\")\naadds = azure.core.ResourceGroup(\"aadds\",\n    name=\"aadds-rg\",\n    location=\"westeurope\")\nexample_service = azure.domainservices.Service(\"example\",\n    name=\"example-aadds\",\n    location=aadds.location,\n    resource_group_name=aadds.name,\n    domain_name=\"widgetslogin.net\",\n    sku=\"Enterprise\",\n    filtered_sync_enabled=False,\n    initial_replica_set={\n        \"subnet_id\": deploy_subnet.id,\n    },\n    notifications={\n        \"additional_recipients\": [\n            \"notifyA@example.net\",\n            \"notifyB@example.org\",\n        ],\n        \"notify_dc_admins\": True,\n        \"notify_global_admins\": True,\n    },\n    security={\n        \"sync_kerberos_passwords\": True,\n        \"sync_ntlm_passwords\": True,\n        \"sync_on_prem_passwords\": True,\n    },\n    tags={\n        \"Environment\": \"prod\",\n    },\n    opts = pulumi.ResourceOptions(depends_on=[\n            example,\n            deploy_subnet_network_security_group_association,\n        ]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\nusing AzureAD = Pulumi.AzureAD;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var deploy = new Azure.Core.ResourceGroup(\"deploy\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var deployVirtualNetwork = new Azure.Network.VirtualNetwork(\"deploy\", new()\n    {\n        Name = \"deploy-vnet\",\n        Location = deploy.Location,\n        ResourceGroupName = deploy.Name,\n        AddressSpaces = new[]\n        {\n            \"10.0.1.0/16\",\n        },\n    });\n\n    var deploySubnet = new Azure.Network.Subnet(\"deploy\", new()\n    {\n        Name = \"deploy-subnet\",\n        ResourceGroupName = deploy.Name,\n        VirtualNetworkName = deployVirtualNetwork.Name,\n        AddressPrefixes = new[]\n        {\n            \"10.0.1.0/24\",\n        },\n    });\n\n    var deployNetworkSecurityGroup = new Azure.Network.NetworkSecurityGroup(\"deploy\", new()\n    {\n        Name = \"deploy-nsg\",\n        Location = deploy.Location,\n        ResourceGroupName = deploy.Name,\n        SecurityRules = new[]\n        {\n            new Azure.Network.Inputs.NetworkSecurityGroupSecurityRuleArgs\n            {\n                Name = \"AllowSyncWithAzureAD\",\n                Priority = 101,\n                Direction = \"Inbound\",\n                Access = \"Allow\",\n                Protocol = \"Tcp\",\n                SourcePortRange = \"*\",\n                DestinationPortRange = \"443\",\n                SourceAddressPrefix = \"AzureActiveDirectoryDomainServices\",\n                DestinationAddressPrefix = \"*\",\n            },\n            new Azure.Network.Inputs.NetworkSecurityGroupSecurityRuleArgs\n            {\n                Name = \"AllowRD\",\n                Priority = 201,\n                Direction = \"Inbound\",\n                Access = \"Allow\",\n                Protocol = \"Tcp\",\n                SourcePortRange = \"*\",\n                DestinationPortRange = \"3389\",\n                SourceAddressPrefix = \"CorpNetSaw\",\n                DestinationAddressPrefix = \"*\",\n            },\n            new Azure.Network.Inputs.NetworkSecurityGroupSecurityRuleArgs\n            {\n                Name = \"AllowPSRemoting\",\n                Priority = 301,\n                Direction = \"Inbound\",\n                Access = \"Allow\",\n                Protocol = \"Tcp\",\n                SourcePortRange = \"*\",\n                DestinationPortRange = \"5986\",\n                SourceAddressPrefix = \"AzureActiveDirectoryDomainServices\",\n                DestinationAddressPrefix = \"*\",\n            },\n            new Azure.Network.Inputs.NetworkSecurityGroupSecurityRuleArgs\n            {\n                Name = \"AllowLDAPS\",\n                Priority = 401,\n                Direction = \"Inbound\",\n                Access = \"Allow\",\n                Protocol = \"Tcp\",\n                SourcePortRange = \"*\",\n                DestinationPortRange = \"636\",\n                SourceAddressPrefix = \"*\",\n                DestinationAddressPrefix = \"*\",\n            },\n        },\n    });\n\n    var deploySubnetNetworkSecurityGroupAssociation = new Azure.Network.SubnetNetworkSecurityGroupAssociation(\"deploy\", new()\n    {\n        SubnetId = deploySubnet.Id,\n        NetworkSecurityGroupId = deployNetworkSecurityGroup.Id,\n    });\n\n    var dcAdmins = new AzureAD.Group(\"dc_admins\", new()\n    {\n        DisplayName = \"AAD DC Administrators\",\n        SecurityEnabled = true,\n    });\n\n    var admin = new AzureAD.User(\"admin\", new()\n    {\n        UserPrincipalName = \"dc-admin@hashicorp-example.com\",\n        DisplayName = \"DC Administrator\",\n        Password = \"Pa55w0Rd!!1\",\n    });\n\n    var adminGroupMember = new AzureAD.GroupMember(\"admin\", new()\n    {\n        GroupObjectId = dcAdmins.ObjectId,\n        MemberObjectId = admin.ObjectId,\n    });\n\n    var example = new AzureAD.ServicePrincipal(\"example\", new()\n    {\n        ApplicationId = \"2565bd9d-da50-47d4-8b85-4c97f669dc36\",\n    });\n\n    var aadds = new Azure.Core.ResourceGroup(\"aadds\", new()\n    {\n        Name = \"aadds-rg\",\n        Location = \"westeurope\",\n    });\n\n    var exampleService = new Azure.DomainServices.Service(\"example\", new()\n    {\n        Name = \"example-aadds\",\n        Location = aadds.Location,\n        ResourceGroupName = aadds.Name,\n        DomainName = \"widgetslogin.net\",\n        Sku = \"Enterprise\",\n        FilteredSyncEnabled = false,\n        InitialReplicaSet = new Azure.DomainServices.Inputs.ServiceInitialReplicaSetArgs\n        {\n            SubnetId = deploySubnet.Id,\n        },\n        Notifications = new Azure.DomainServices.Inputs.ServiceNotificationsArgs\n        {\n            AdditionalRecipients = new[]\n            {\n                \"notifyA@example.net\",\n                \"notifyB@example.org\",\n            },\n            NotifyDcAdmins = true,\n            NotifyGlobalAdmins = true,\n        },\n        Security = new Azure.DomainServices.Inputs.ServiceSecurityArgs\n        {\n            SyncKerberosPasswords = true,\n            SyncNtlmPasswords = true,\n            SyncOnPremPasswords = true,\n        },\n        Tags = \n        {\n            { \"Environment\", \"prod\" },\n        },\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            example,\n            deploySubnetNetworkSecurityGroupAssociation,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/domainservices\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi-azuread/sdk/v6/go/azuread\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tdeploy, err := core.NewResourceGroup(ctx, \"deploy\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdeployVirtualNetwork, err := network.NewVirtualNetwork(ctx, \"deploy\", \u0026network.VirtualNetworkArgs{\n\t\t\tName:              pulumi.String(\"deploy-vnet\"),\n\t\t\tLocation:          deploy.Location,\n\t\t\tResourceGroupName: deploy.Name,\n\t\t\tAddressSpaces: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.1.0/16\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdeploySubnet, err := network.NewSubnet(ctx, \"deploy\", \u0026network.SubnetArgs{\n\t\t\tName:               pulumi.String(\"deploy-subnet\"),\n\t\t\tResourceGroupName:  deploy.Name,\n\t\t\tVirtualNetworkName: deployVirtualNetwork.Name,\n\t\t\tAddressPrefixes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.1.0/24\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdeployNetworkSecurityGroup, err := network.NewNetworkSecurityGroup(ctx, \"deploy\", \u0026network.NetworkSecurityGroupArgs{\n\t\t\tName:              pulumi.String(\"deploy-nsg\"),\n\t\t\tLocation:          deploy.Location,\n\t\t\tResourceGroupName: deploy.Name,\n\t\t\tSecurityRules: network.NetworkSecurityGroupSecurityRuleArray{\n\t\t\t\t\u0026network.NetworkSecurityGroupSecurityRuleArgs{\n\t\t\t\t\tName:                     pulumi.String(\"AllowSyncWithAzureAD\"),\n\t\t\t\t\tPriority:                 pulumi.Int(101),\n\t\t\t\t\tDirection:                pulumi.String(\"Inbound\"),\n\t\t\t\t\tAccess:                   pulumi.String(\"Allow\"),\n\t\t\t\t\tProtocol:                 pulumi.String(\"Tcp\"),\n\t\t\t\t\tSourcePortRange:          pulumi.String(\"*\"),\n\t\t\t\t\tDestinationPortRange:     pulumi.String(\"443\"),\n\t\t\t\t\tSourceAddressPrefix:      pulumi.String(\"AzureActiveDirectoryDomainServices\"),\n\t\t\t\t\tDestinationAddressPrefix: pulumi.String(\"*\"),\n\t\t\t\t},\n\t\t\t\t\u0026network.NetworkSecurityGroupSecurityRuleArgs{\n\t\t\t\t\tName:                     pulumi.String(\"AllowRD\"),\n\t\t\t\t\tPriority:                 pulumi.Int(201),\n\t\t\t\t\tDirection:                pulumi.String(\"Inbound\"),\n\t\t\t\t\tAccess:                   pulumi.String(\"Allow\"),\n\t\t\t\t\tProtocol:                 pulumi.String(\"Tcp\"),\n\t\t\t\t\tSourcePortRange:          pulumi.String(\"*\"),\n\t\t\t\t\tDestinationPortRange:     pulumi.String(\"3389\"),\n\t\t\t\t\tSourceAddressPrefix:      pulumi.String(\"CorpNetSaw\"),\n\t\t\t\t\tDestinationAddressPrefix: pulumi.String(\"*\"),\n\t\t\t\t},\n\t\t\t\t\u0026network.NetworkSecurityGroupSecurityRuleArgs{\n\t\t\t\t\tName:                     pulumi.String(\"AllowPSRemoting\"),\n\t\t\t\t\tPriority:                 pulumi.Int(301),\n\t\t\t\t\tDirection:                pulumi.String(\"Inbound\"),\n\t\t\t\t\tAccess:                   pulumi.String(\"Allow\"),\n\t\t\t\t\tProtocol:                 pulumi.String(\"Tcp\"),\n\t\t\t\t\tSourcePortRange:          pulumi.String(\"*\"),\n\t\t\t\t\tDestinationPortRange:     pulumi.String(\"5986\"),\n\t\t\t\t\tSourceAddressPrefix:      pulumi.String(\"AzureActiveDirectoryDomainServices\"),\n\t\t\t\t\tDestinationAddressPrefix: pulumi.String(\"*\"),\n\t\t\t\t},\n\t\t\t\t\u0026network.NetworkSecurityGroupSecurityRuleArgs{\n\t\t\t\t\tName:                     pulumi.String(\"AllowLDAPS\"),\n\t\t\t\t\tPriority:                 pulumi.Int(401),\n\t\t\t\t\tDirection:                pulumi.String(\"Inbound\"),\n\t\t\t\t\tAccess:                   pulumi.String(\"Allow\"),\n\t\t\t\t\tProtocol:                 pulumi.String(\"Tcp\"),\n\t\t\t\t\tSourcePortRange:          pulumi.String(\"*\"),\n\t\t\t\t\tDestinationPortRange:     pulumi.String(\"636\"),\n\t\t\t\t\tSourceAddressPrefix:      pulumi.String(\"*\"),\n\t\t\t\t\tDestinationAddressPrefix: pulumi.String(\"*\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdeploySubnetNetworkSecurityGroupAssociation, err := network.NewSubnetNetworkSecurityGroupAssociation(ctx, \"deploy\", \u0026network.SubnetNetworkSecurityGroupAssociationArgs{\n\t\t\tSubnetId:               deploySubnet.ID(),\n\t\t\tNetworkSecurityGroupId: deployNetworkSecurityGroup.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdcAdmins, err := azuread.NewGroup(ctx, \"dc_admins\", \u0026azuread.GroupArgs{\n\t\t\tDisplayName:     pulumi.String(\"AAD DC Administrators\"),\n\t\t\tSecurityEnabled: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tadmin, err := azuread.NewUser(ctx, \"admin\", \u0026azuread.UserArgs{\n\t\t\tUserPrincipalName: pulumi.String(\"dc-admin@hashicorp-example.com\"),\n\t\t\tDisplayName:       pulumi.String(\"DC Administrator\"),\n\t\t\tPassword:          pulumi.String(\"Pa55w0Rd!!1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = azuread.NewGroupMember(ctx, \"admin\", \u0026azuread.GroupMemberArgs{\n\t\t\tGroupObjectId:  dcAdmins.ObjectId,\n\t\t\tMemberObjectId: admin.ObjectId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := azuread.NewServicePrincipal(ctx, \"example\", \u0026azuread.ServicePrincipalArgs{\n\t\t\tApplicationId: \"2565bd9d-da50-47d4-8b85-4c97f669dc36\",\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\taadds, err := core.NewResourceGroup(ctx, \"aadds\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"aadds-rg\"),\n\t\t\tLocation: pulumi.String(\"westeurope\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = domainservices.NewService(ctx, \"example\", \u0026domainservices.ServiceArgs{\n\t\t\tName:                pulumi.String(\"example-aadds\"),\n\t\t\tLocation:            aadds.Location,\n\t\t\tResourceGroupName:   aadds.Name,\n\t\t\tDomainName:          pulumi.String(\"widgetslogin.net\"),\n\t\t\tSku:                 pulumi.String(\"Enterprise\"),\n\t\t\tFilteredSyncEnabled: pulumi.Bool(false),\n\t\t\tInitialReplicaSet: \u0026domainservices.ServiceInitialReplicaSetArgs{\n\t\t\t\tSubnetId: deploySubnet.ID(),\n\t\t\t},\n\t\t\tNotifications: \u0026domainservices.ServiceNotificationsArgs{\n\t\t\t\tAdditionalRecipients: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"notifyA@example.net\"),\n\t\t\t\t\tpulumi.String(\"notifyB@example.org\"),\n\t\t\t\t},\n\t\t\t\tNotifyDcAdmins:     pulumi.Bool(true),\n\t\t\t\tNotifyGlobalAdmins: pulumi.Bool(true),\n\t\t\t},\n\t\t\tSecurity: \u0026domainservices.ServiceSecurityArgs{\n\t\t\t\tSyncKerberosPasswords: pulumi.Bool(true),\n\t\t\t\tSyncNtlmPasswords:     pulumi.Bool(true),\n\t\t\t\tSyncOnPremPasswords:   pulumi.Bool(true),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Environment\": pulumi.String(\"prod\"),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texample,\n\t\t\tdeploySubnetNetworkSecurityGroupAssociation,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.VirtualNetwork;\nimport com.pulumi.azure.network.VirtualNetworkArgs;\nimport com.pulumi.azure.network.Subnet;\nimport com.pulumi.azure.network.SubnetArgs;\nimport com.pulumi.azure.network.NetworkSecurityGroup;\nimport com.pulumi.azure.network.NetworkSecurityGroupArgs;\nimport com.pulumi.azure.network.inputs.NetworkSecurityGroupSecurityRuleArgs;\nimport com.pulumi.azure.network.SubnetNetworkSecurityGroupAssociation;\nimport com.pulumi.azure.network.SubnetNetworkSecurityGroupAssociationArgs;\nimport com.pulumi.azuread.Group;\nimport com.pulumi.azuread.GroupArgs;\nimport com.pulumi.azuread.User;\nimport com.pulumi.azuread.UserArgs;\nimport com.pulumi.azuread.GroupMember;\nimport com.pulumi.azuread.GroupMemberArgs;\nimport com.pulumi.azuread.ServicePrincipal;\nimport com.pulumi.azuread.ServicePrincipalArgs;\nimport com.pulumi.azure.domainservices.Service;\nimport com.pulumi.azure.domainservices.ServiceArgs;\nimport com.pulumi.azure.domainservices.inputs.ServiceInitialReplicaSetArgs;\nimport com.pulumi.azure.domainservices.inputs.ServiceNotificationsArgs;\nimport com.pulumi.azure.domainservices.inputs.ServiceSecurityArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var deploy = new ResourceGroup(\"deploy\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var deployVirtualNetwork = new VirtualNetwork(\"deployVirtualNetwork\", VirtualNetworkArgs.builder()\n            .name(\"deploy-vnet\")\n            .location(deploy.location())\n            .resourceGroupName(deploy.name())\n            .addressSpaces(\"10.0.1.0/16\")\n            .build());\n\n        var deploySubnet = new Subnet(\"deploySubnet\", SubnetArgs.builder()\n            .name(\"deploy-subnet\")\n            .resourceGroupName(deploy.name())\n            .virtualNetworkName(deployVirtualNetwork.name())\n            .addressPrefixes(\"10.0.1.0/24\")\n            .build());\n\n        var deployNetworkSecurityGroup = new NetworkSecurityGroup(\"deployNetworkSecurityGroup\", NetworkSecurityGroupArgs.builder()\n            .name(\"deploy-nsg\")\n            .location(deploy.location())\n            .resourceGroupName(deploy.name())\n            .securityRules(            \n                NetworkSecurityGroupSecurityRuleArgs.builder()\n                    .name(\"AllowSyncWithAzureAD\")\n                    .priority(101)\n                    .direction(\"Inbound\")\n                    .access(\"Allow\")\n                    .protocol(\"Tcp\")\n                    .sourcePortRange(\"*\")\n                    .destinationPortRange(\"443\")\n                    .sourceAddressPrefix(\"AzureActiveDirectoryDomainServices\")\n                    .destinationAddressPrefix(\"*\")\n                    .build(),\n                NetworkSecurityGroupSecurityRuleArgs.builder()\n                    .name(\"AllowRD\")\n                    .priority(201)\n                    .direction(\"Inbound\")\n                    .access(\"Allow\")\n                    .protocol(\"Tcp\")\n                    .sourcePortRange(\"*\")\n                    .destinationPortRange(\"3389\")\n                    .sourceAddressPrefix(\"CorpNetSaw\")\n                    .destinationAddressPrefix(\"*\")\n                    .build(),\n                NetworkSecurityGroupSecurityRuleArgs.builder()\n                    .name(\"AllowPSRemoting\")\n                    .priority(301)\n                    .direction(\"Inbound\")\n                    .access(\"Allow\")\n                    .protocol(\"Tcp\")\n                    .sourcePortRange(\"*\")\n                    .destinationPortRange(\"5986\")\n                    .sourceAddressPrefix(\"AzureActiveDirectoryDomainServices\")\n                    .destinationAddressPrefix(\"*\")\n                    .build(),\n                NetworkSecurityGroupSecurityRuleArgs.builder()\n                    .name(\"AllowLDAPS\")\n                    .priority(401)\n                    .direction(\"Inbound\")\n                    .access(\"Allow\")\n                    .protocol(\"Tcp\")\n                    .sourcePortRange(\"*\")\n                    .destinationPortRange(\"636\")\n                    .sourceAddressPrefix(\"*\")\n                    .destinationAddressPrefix(\"*\")\n                    .build())\n            .build());\n\n        var deploySubnetNetworkSecurityGroupAssociation = new SubnetNetworkSecurityGroupAssociation(\"deploySubnetNetworkSecurityGroupAssociation\", SubnetNetworkSecurityGroupAssociationArgs.builder()\n            .subnetId(deploySubnet.id())\n            .networkSecurityGroupId(deployNetworkSecurityGroup.id())\n            .build());\n\n        var dcAdmins = new Group(\"dcAdmins\", GroupArgs.builder()\n            .displayName(\"AAD DC Administrators\")\n            .securityEnabled(true)\n            .build());\n\n        var admin = new User(\"admin\", UserArgs.builder()\n            .userPrincipalName(\"dc-admin@hashicorp-example.com\")\n            .displayName(\"DC Administrator\")\n            .password(\"Pa55w0Rd!!1\")\n            .build());\n\n        var adminGroupMember = new GroupMember(\"adminGroupMember\", GroupMemberArgs.builder()\n            .groupObjectId(dcAdmins.objectId())\n            .memberObjectId(admin.objectId())\n            .build());\n\n        var example = new ServicePrincipal(\"example\", ServicePrincipalArgs.builder()\n            .applicationId(\"2565bd9d-da50-47d4-8b85-4c97f669dc36\")\n            .build());\n\n        var aadds = new ResourceGroup(\"aadds\", ResourceGroupArgs.builder()\n            .name(\"aadds-rg\")\n            .location(\"westeurope\")\n            .build());\n\n        var exampleService = new Service(\"exampleService\", ServiceArgs.builder()\n            .name(\"example-aadds\")\n            .location(aadds.location())\n            .resourceGroupName(aadds.name())\n            .domainName(\"widgetslogin.net\")\n            .sku(\"Enterprise\")\n            .filteredSyncEnabled(false)\n            .initialReplicaSet(ServiceInitialReplicaSetArgs.builder()\n                .subnetId(deploySubnet.id())\n                .build())\n            .notifications(ServiceNotificationsArgs.builder()\n                .additionalRecipients(                \n                    \"notifyA@example.net\",\n                    \"notifyB@example.org\")\n                .notifyDcAdmins(true)\n                .notifyGlobalAdmins(true)\n                .build())\n            .security(ServiceSecurityArgs.builder()\n                .syncKerberosPasswords(true)\n                .syncNtlmPasswords(true)\n                .syncOnPremPasswords(true)\n                .build())\n            .tags(Map.of(\"Environment\", \"prod\"))\n            .build(), CustomResourceOptions.builder()\n                .dependsOn(                \n                    example,\n                    deploySubnetNetworkSecurityGroupAssociation)\n                .build());\n\n    }\n}\n```\n```yaml\nresources:\n  deploy:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  deployVirtualNetwork:\n    type: azure:network:VirtualNetwork\n    name: deploy\n    properties:\n      name: deploy-vnet\n      location: ${deploy.location}\n      resourceGroupName: ${deploy.name}\n      addressSpaces:\n        - 10.0.1.0/16\n  deploySubnet:\n    type: azure:network:Subnet\n    name: deploy\n    properties:\n      name: deploy-subnet\n      resourceGroupName: ${deploy.name}\n      virtualNetworkName: ${deployVirtualNetwork.name}\n      addressPrefixes:\n        - 10.0.1.0/24\n  deployNetworkSecurityGroup:\n    type: azure:network:NetworkSecurityGroup\n    name: deploy\n    properties:\n      name: deploy-nsg\n      location: ${deploy.location}\n      resourceGroupName: ${deploy.name}\n      securityRules:\n        - name: AllowSyncWithAzureAD\n          priority: 101\n          direction: Inbound\n          access: Allow\n          protocol: Tcp\n          sourcePortRange: '*'\n          destinationPortRange: '443'\n          sourceAddressPrefix: AzureActiveDirectoryDomainServices\n          destinationAddressPrefix: '*'\n        - name: AllowRD\n          priority: 201\n          direction: Inbound\n          access: Allow\n          protocol: Tcp\n          sourcePortRange: '*'\n          destinationPortRange: '3389'\n          sourceAddressPrefix: CorpNetSaw\n          destinationAddressPrefix: '*'\n        - name: AllowPSRemoting\n          priority: 301\n          direction: Inbound\n          access: Allow\n          protocol: Tcp\n          sourcePortRange: '*'\n          destinationPortRange: '5986'\n          sourceAddressPrefix: AzureActiveDirectoryDomainServices\n          destinationAddressPrefix: '*'\n        - name: AllowLDAPS\n          priority: 401\n          direction: Inbound\n          access: Allow\n          protocol: Tcp\n          sourcePortRange: '*'\n          destinationPortRange: '636'\n          sourceAddressPrefix: '*'\n          destinationAddressPrefix: '*'\n  deploySubnetNetworkSecurityGroupAssociation:\n    type: azure:network:SubnetNetworkSecurityGroupAssociation\n    name: deploy\n    properties:\n      subnetId: ${deploySubnet.id}\n      networkSecurityGroupId: ${deployNetworkSecurityGroup.id}\n  dcAdmins:\n    type: azuread:Group\n    name: dc_admins\n    properties:\n      displayName: AAD DC Administrators\n      securityEnabled: true\n  admin:\n    type: azuread:User\n    properties:\n      userPrincipalName: dc-admin@hashicorp-example.com\n      displayName: DC Administrator\n      password: Pa55w0Rd!!1\n  adminGroupMember:\n    type: azuread:GroupMember\n    name: admin\n    properties:\n      groupObjectId: ${dcAdmins.objectId}\n      memberObjectId: ${admin.objectId}\n  example:\n    type: azuread:ServicePrincipal\n    properties:\n      applicationId: 2565bd9d-da50-47d4-8b85-4c97f669dc36\n  aadds:\n    type: azure:core:ResourceGroup\n    properties:\n      name: aadds-rg\n      location: westeurope\n  exampleService:\n    type: azure:domainservices:Service\n    name: example\n    properties:\n      name: example-aadds\n      location: ${aadds.location}\n      resourceGroupName: ${aadds.name}\n      domainName: widgetslogin.net\n      sku: Enterprise\n      filteredSyncEnabled: false\n      initialReplicaSet:\n        subnetId: ${deploySubnet.id}\n      notifications:\n        additionalRecipients:\n          - notifyA@example.net\n          - notifyB@example.org\n        notifyDcAdmins: true\n        notifyGlobalAdmins: true\n      security:\n        syncKerberosPasswords: true\n        syncNtlmPasswords: true\n        syncOnPremPasswords: true\n      tags:\n        Environment: prod\n    options:\n      dependsOn:\n        - ${example}\n        - ${deploySubnetNetworkSecurityGroupAssociation}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.AAD` - 2021-05-01\n\n## Import\n\nDomain Services can be imported using the resource ID, together with the Replica Set ID that you wish to designate as the initial replica set, e.g.\n\n```sh\n$ pulumi import azure:domainservices/service:Service example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.AAD/domainServices/instance1/initialReplicaSetId/00000000-0000-0000-0000-000000000000\n```\n\n","properties":{"deploymentId":{"type":"string","description":"A unique ID for the managed domain deployment.\n"},"domainConfigurationType":{"type":"string","description":"The configuration type of this Active Directory Domain. Possible values are `FullySynced` and `ResourceTrusting`. Changing this forces a new resource to be created.\n"},"domainName":{"type":"string","description":"The Active Directory domain to use. See [official documentation](https://docs.microsoft.com/azure/active-directory-domain-services/tutorial-create-instance#create-a-managed-domain) for constraints and recommendations. Changing this forces a new resource to be created.\n"},"filteredSyncEnabled":{"type":"boolean","description":"Whether to enable group-based filtered sync (also called scoped synchronisation). Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"initialReplicaSet":{"$ref":"#/types/azure:domainservices/ServiceInitialReplicaSet:ServiceInitialReplicaSet","description":"An \u003cspan pulumi-lang-nodejs=\"`initialReplicaSet`\" pulumi-lang-dotnet=\"`InitialReplicaSet`\" pulumi-lang-go=\"`initialReplicaSet`\" pulumi-lang-python=\"`initial_replica_set`\" pulumi-lang-yaml=\"`initialReplicaSet`\" pulumi-lang-java=\"`initialReplicaSet`\"\u003e`initial_replica_set`\u003c/span\u003e block as defined below. The initial replica set inherits the same location as the Domain Service resource.\n"},"location":{"type":"string","description":"The Azure location where the Domain Service exists. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"The display name for your managed Active Directory Domain Service resource. Changing this forces a new resource to be created.\n"},"notifications":{"$ref":"#/types/azure:domainservices/ServiceNotifications:ServiceNotifications","description":"A \u003cspan pulumi-lang-nodejs=\"`notifications`\" pulumi-lang-dotnet=\"`Notifications`\" pulumi-lang-go=\"`notifications`\" pulumi-lang-python=\"`notifications`\" pulumi-lang-yaml=\"`notifications`\" pulumi-lang-java=\"`notifications`\"\u003e`notifications`\u003c/span\u003e block as defined below.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group in which the Domain Service should exist. Changing this forces a new resource to be created.\n"},"resourceId":{"type":"string","description":"The Azure resource ID for the domain service.\n"},"secureLdap":{"$ref":"#/types/azure:domainservices/ServiceSecureLdap:ServiceSecureLdap","description":"A \u003cspan pulumi-lang-nodejs=\"`secureLdap`\" pulumi-lang-dotnet=\"`SecureLdap`\" pulumi-lang-go=\"`secureLdap`\" pulumi-lang-python=\"`secure_ldap`\" pulumi-lang-yaml=\"`secureLdap`\" pulumi-lang-java=\"`secureLdap`\"\u003e`secure_ldap`\u003c/span\u003e block as defined below.\n"},"security":{"$ref":"#/types/azure:domainservices/ServiceSecurity:ServiceSecurity","description":"A \u003cspan pulumi-lang-nodejs=\"`security`\" pulumi-lang-dotnet=\"`Security`\" pulumi-lang-go=\"`security`\" pulumi-lang-python=\"`security`\" pulumi-lang-yaml=\"`security`\" pulumi-lang-java=\"`security`\"\u003e`security`\u003c/span\u003e block as defined below.\n"},"sku":{"type":"string","description":"The SKU to use when provisioning the Domain Service resource. One of `Standard`, `Enterprise` or `Premium`.\n"},"syncOwner":{"type":"string"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags assigned to the resource.\n"},"tenantId":{"type":"string"},"version":{"type":"integer"}},"required":["deploymentId","domainName","initialReplicaSet","location","name","notifications","resourceGroupName","resourceId","secureLdap","security","sku","syncOwner","tenantId","version"],"inputProperties":{"domainConfigurationType":{"type":"string","description":"The configuration type of this Active Directory Domain. Possible values are `FullySynced` and `ResourceTrusting`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"domainName":{"type":"string","description":"The Active Directory domain to use. See [official documentation](https://docs.microsoft.com/azure/active-directory-domain-services/tutorial-create-instance#create-a-managed-domain) for constraints and recommendations. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"filteredSyncEnabled":{"type":"boolean","description":"Whether to enable group-based filtered sync (also called scoped synchronisation). Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"initialReplicaSet":{"$ref":"#/types/azure:domainservices/ServiceInitialReplicaSet:ServiceInitialReplicaSet","description":"An \u003cspan pulumi-lang-nodejs=\"`initialReplicaSet`\" pulumi-lang-dotnet=\"`InitialReplicaSet`\" pulumi-lang-go=\"`initialReplicaSet`\" pulumi-lang-python=\"`initial_replica_set`\" pulumi-lang-yaml=\"`initialReplicaSet`\" pulumi-lang-java=\"`initialReplicaSet`\"\u003e`initial_replica_set`\u003c/span\u003e block as defined below. The initial replica set inherits the same location as the Domain Service resource.\n"},"location":{"type":"string","description":"The Azure location where the Domain Service exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The display name for your managed Active Directory Domain Service resource. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"notifications":{"$ref":"#/types/azure:domainservices/ServiceNotifications:ServiceNotifications","description":"A \u003cspan pulumi-lang-nodejs=\"`notifications`\" pulumi-lang-dotnet=\"`Notifications`\" pulumi-lang-go=\"`notifications`\" pulumi-lang-python=\"`notifications`\" pulumi-lang-yaml=\"`notifications`\" pulumi-lang-java=\"`notifications`\"\u003e`notifications`\u003c/span\u003e block as defined below.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group in which the Domain Service should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"secureLdap":{"$ref":"#/types/azure:domainservices/ServiceSecureLdap:ServiceSecureLdap","description":"A \u003cspan pulumi-lang-nodejs=\"`secureLdap`\" pulumi-lang-dotnet=\"`SecureLdap`\" pulumi-lang-go=\"`secureLdap`\" pulumi-lang-python=\"`secure_ldap`\" pulumi-lang-yaml=\"`secureLdap`\" pulumi-lang-java=\"`secureLdap`\"\u003e`secure_ldap`\u003c/span\u003e block as defined below.\n"},"security":{"$ref":"#/types/azure:domainservices/ServiceSecurity:ServiceSecurity","description":"A \u003cspan pulumi-lang-nodejs=\"`security`\" pulumi-lang-dotnet=\"`Security`\" pulumi-lang-go=\"`security`\" pulumi-lang-python=\"`security`\" pulumi-lang-yaml=\"`security`\" pulumi-lang-java=\"`security`\"\u003e`security`\u003c/span\u003e block as defined below.\n"},"sku":{"type":"string","description":"The SKU to use when provisioning the Domain Service resource. One of `Standard`, `Enterprise` or `Premium`.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags assigned to the resource.\n"}},"requiredInputs":["domainName","initialReplicaSet","resourceGroupName","sku"],"stateInputs":{"description":"Input properties used for looking up and filtering Service resources.\n","properties":{"deploymentId":{"type":"string","description":"A unique ID for the managed domain deployment.\n"},"domainConfigurationType":{"type":"string","description":"The configuration type of this Active Directory Domain. Possible values are `FullySynced` and `ResourceTrusting`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"domainName":{"type":"string","description":"The Active Directory domain to use. See [official documentation](https://docs.microsoft.com/azure/active-directory-domain-services/tutorial-create-instance#create-a-managed-domain) for constraints and recommendations. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"filteredSyncEnabled":{"type":"boolean","description":"Whether to enable group-based filtered sync (also called scoped synchronisation). Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"initialReplicaSet":{"$ref":"#/types/azure:domainservices/ServiceInitialReplicaSet:ServiceInitialReplicaSet","description":"An \u003cspan pulumi-lang-nodejs=\"`initialReplicaSet`\" pulumi-lang-dotnet=\"`InitialReplicaSet`\" pulumi-lang-go=\"`initialReplicaSet`\" pulumi-lang-python=\"`initial_replica_set`\" pulumi-lang-yaml=\"`initialReplicaSet`\" pulumi-lang-java=\"`initialReplicaSet`\"\u003e`initial_replica_set`\u003c/span\u003e block as defined below. The initial replica set inherits the same location as the Domain Service resource.\n"},"location":{"type":"string","description":"The Azure location where the Domain Service exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The display name for your managed Active Directory Domain Service resource. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"notifications":{"$ref":"#/types/azure:domainservices/ServiceNotifications:ServiceNotifications","description":"A \u003cspan pulumi-lang-nodejs=\"`notifications`\" pulumi-lang-dotnet=\"`Notifications`\" pulumi-lang-go=\"`notifications`\" pulumi-lang-python=\"`notifications`\" pulumi-lang-yaml=\"`notifications`\" pulumi-lang-java=\"`notifications`\"\u003e`notifications`\u003c/span\u003e block as defined below.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group in which the Domain Service should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceId":{"type":"string","description":"The Azure resource ID for the domain service.\n"},"secureLdap":{"$ref":"#/types/azure:domainservices/ServiceSecureLdap:ServiceSecureLdap","description":"A \u003cspan pulumi-lang-nodejs=\"`secureLdap`\" pulumi-lang-dotnet=\"`SecureLdap`\" pulumi-lang-go=\"`secureLdap`\" pulumi-lang-python=\"`secure_ldap`\" pulumi-lang-yaml=\"`secureLdap`\" pulumi-lang-java=\"`secureLdap`\"\u003e`secure_ldap`\u003c/span\u003e block as defined below.\n"},"security":{"$ref":"#/types/azure:domainservices/ServiceSecurity:ServiceSecurity","description":"A \u003cspan pulumi-lang-nodejs=\"`security`\" pulumi-lang-dotnet=\"`Security`\" pulumi-lang-go=\"`security`\" pulumi-lang-python=\"`security`\" pulumi-lang-yaml=\"`security`\" pulumi-lang-java=\"`security`\"\u003e`security`\u003c/span\u003e block as defined below.\n"},"sku":{"type":"string","description":"The SKU to use when provisioning the Domain Service resource. One of `Standard`, `Enterprise` or `Premium`.\n"},"syncOwner":{"type":"string"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags assigned to the resource.\n"},"tenantId":{"type":"string"},"version":{"type":"integer"}},"type":"object"}},"azure:domainservices/serviceTrust:ServiceTrust":{"description":"Manages a Active Directory Domain Service Trust.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.domainservices.getService({\n    name: \"example-ds\",\n    resourceGroupName: \"example-rg\",\n});\nconst exampleServiceTrust = new azure.domainservices.ServiceTrust(\"example\", {\n    name: \"example-trust\",\n    domainServiceId: example.then(example =\u003e example.id),\n    trustedDomainFqdn: \"example.com\",\n    trustedDomainDnsIps: [\n        \"10.1.0.3\",\n        \"10.1.0.4\",\n    ],\n    password: \"Password123\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.domainservices.get_service(name=\"example-ds\",\n    resource_group_name=\"example-rg\")\nexample_service_trust = azure.domainservices.ServiceTrust(\"example\",\n    name=\"example-trust\",\n    domain_service_id=example.id,\n    trusted_domain_fqdn=\"example.com\",\n    trusted_domain_dns_ips=[\n        \"10.1.0.3\",\n        \"10.1.0.4\",\n    ],\n    password=\"Password123\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.DomainServices.GetService.Invoke(new()\n    {\n        Name = \"example-ds\",\n        ResourceGroupName = \"example-rg\",\n    });\n\n    var exampleServiceTrust = new Azure.DomainServices.ServiceTrust(\"example\", new()\n    {\n        Name = \"example-trust\",\n        DomainServiceId = example.Apply(getServiceResult =\u003e getServiceResult.Id),\n        TrustedDomainFqdn = \"example.com\",\n        TrustedDomainDnsIps = new[]\n        {\n            \"10.1.0.3\",\n            \"10.1.0.4\",\n        },\n        Password = \"Password123\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/domainservices\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := domainservices.LookupService(ctx, \u0026domainservices.LookupServiceArgs{\n\t\t\tName:              \"example-ds\",\n\t\t\tResourceGroupName: \"example-rg\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = domainservices.NewServiceTrust(ctx, \"example\", \u0026domainservices.ServiceTrustArgs{\n\t\t\tName:              pulumi.String(\"example-trust\"),\n\t\t\tDomainServiceId:   pulumi.String(example.Id),\n\t\t\tTrustedDomainFqdn: pulumi.String(\"example.com\"),\n\t\t\tTrustedDomainDnsIps: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.1.0.3\"),\n\t\t\t\tpulumi.String(\"10.1.0.4\"),\n\t\t\t},\n\t\t\tPassword: pulumi.String(\"Password123\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.domainservices.DomainservicesFunctions;\nimport com.pulumi.azure.domainservices.inputs.GetServiceArgs;\nimport com.pulumi.azure.domainservices.ServiceTrust;\nimport com.pulumi.azure.domainservices.ServiceTrustArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = DomainservicesFunctions.getService(GetServiceArgs.builder()\n            .name(\"example-ds\")\n            .resourceGroupName(\"example-rg\")\n            .build());\n\n        var exampleServiceTrust = new ServiceTrust(\"exampleServiceTrust\", ServiceTrustArgs.builder()\n            .name(\"example-trust\")\n            .domainServiceId(example.id())\n            .trustedDomainFqdn(\"example.com\")\n            .trustedDomainDnsIps(            \n                \"10.1.0.3\",\n                \"10.1.0.4\")\n            .password(\"Password123\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleServiceTrust:\n    type: azure:domainservices:ServiceTrust\n    name: example\n    properties:\n      name: example-trust\n      domainServiceId: ${example.id}\n      trustedDomainFqdn: example.com\n      trustedDomainDnsIps:\n        - 10.1.0.3\n        - 10.1.0.4\n      password: Password123\nvariables:\n  example:\n    fn::invoke:\n      function: azure:domainservices:getService\n      arguments:\n        name: example-ds\n        resourceGroupName: example-rg\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.AAD` - 2021-05-01\n\n## Import\n\nActive Directory Domain Service Trusts can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:domainservices/serviceTrust:ServiceTrust example /subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/resGroup1/providers/Microsoft.AAD/domainServices/DomainService1/trusts/trust1\n```\n\n","properties":{"domainServiceId":{"type":"string","description":"The ID of the Active Directory Domain Service. Changing this forces a new Active Directory Domain Service Trust to be created.\n"},"name":{"type":"string","description":"The name which should be used for this Active Directory Domain Service Trust. Changing this forces a new Active Directory Domain Service Trust to be created.\n"},"password":{"type":"string","description":"The password of the inbound trust set in the on-premise Active Directory Domain Service.\n","secret":true},"trustedDomainDnsIps":{"type":"array","items":{"type":"string"},"description":"Specifies a list of DNS IPs that are used to resolve the on-premise Active Directory Domain Service.\n"},"trustedDomainFqdn":{"type":"string","description":"The FQDN of the on-premise Active Directory Domain Service.\n"}},"required":["domainServiceId","name","password","trustedDomainDnsIps","trustedDomainFqdn"],"inputProperties":{"domainServiceId":{"type":"string","description":"The ID of the Active Directory Domain Service. Changing this forces a new Active Directory Domain Service Trust to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Active Directory Domain Service Trust. Changing this forces a new Active Directory Domain Service Trust to be created.\n","willReplaceOnChanges":true},"password":{"type":"string","description":"The password of the inbound trust set in the on-premise Active Directory Domain Service.\n","secret":true},"trustedDomainDnsIps":{"type":"array","items":{"type":"string"},"description":"Specifies a list of DNS IPs that are used to resolve the on-premise Active Directory Domain Service.\n"},"trustedDomainFqdn":{"type":"string","description":"The FQDN of the on-premise Active Directory Domain Service.\n"}},"requiredInputs":["domainServiceId","password","trustedDomainDnsIps","trustedDomainFqdn"],"stateInputs":{"description":"Input properties used for looking up and filtering ServiceTrust resources.\n","properties":{"domainServiceId":{"type":"string","description":"The ID of the Active Directory Domain Service. Changing this forces a new Active Directory Domain Service Trust to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Active Directory Domain Service Trust. Changing this forces a new Active Directory Domain Service Trust to be created.\n","willReplaceOnChanges":true},"password":{"type":"string","description":"The password of the inbound trust set in the on-premise Active Directory Domain Service.\n","secret":true},"trustedDomainDnsIps":{"type":"array","items":{"type":"string"},"description":"Specifies a list of DNS IPs that are used to resolve the on-premise Active Directory Domain Service.\n"},"trustedDomainFqdn":{"type":"string","description":"The FQDN of the on-premise Active Directory Domain Service.\n"}},"type":"object"}},"azure:dynatrace/monitor:Monitor":{"description":"Manages a Dynatrace monitor.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleMonitor = new azure.dynatrace.Monitor(\"example\", {\n    name: \"exmpledynatracemonitor\",\n    resourceGroupName: example.name,\n    location: test.location,\n    monitoringEnabled: true,\n    marketplaceSubscriptionStatus: \"Active\",\n    identity: {\n        type: \"SystemAssigned\",\n    },\n    user: {\n        firstName: \"Alice\",\n        lastName: \"Bobab\",\n        email: \"alice@microsoft.com\",\n        phoneNumber: \"123456\",\n        country: \"westus\",\n    },\n    plan: {\n        usageType: \"COMMITTED\",\n        billingCycle: \"MONTHLY\",\n        plan: \"azureportalintegration_privatepreview@TIDhjdtn7tfnxcy\",\n        effectiveDate: \"2019-08-30T15:14:33Z\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_monitor = azure.dynatrace.Monitor(\"example\",\n    name=\"exmpledynatracemonitor\",\n    resource_group_name=example.name,\n    location=test[\"location\"],\n    monitoring_enabled=True,\n    marketplace_subscription_status=\"Active\",\n    identity={\n        \"type\": \"SystemAssigned\",\n    },\n    user={\n        \"first_name\": \"Alice\",\n        \"last_name\": \"Bobab\",\n        \"email\": \"alice@microsoft.com\",\n        \"phone_number\": \"123456\",\n        \"country\": \"westus\",\n    },\n    plan={\n        \"usage_type\": \"COMMITTED\",\n        \"billing_cycle\": \"MONTHLY\",\n        \"plan\": \"azureportalintegration_privatepreview@TIDhjdtn7tfnxcy\",\n        \"effective_date\": \"2019-08-30T15:14:33Z\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleMonitor = new Azure.Dynatrace.Monitor(\"example\", new()\n    {\n        Name = \"exmpledynatracemonitor\",\n        ResourceGroupName = example.Name,\n        Location = test.Location,\n        MonitoringEnabled = true,\n        MarketplaceSubscriptionStatus = \"Active\",\n        Identity = new Azure.Dynatrace.Inputs.MonitorIdentityArgs\n        {\n            Type = \"SystemAssigned\",\n        },\n        User = new Azure.Dynatrace.Inputs.MonitorUserArgs\n        {\n            FirstName = \"Alice\",\n            LastName = \"Bobab\",\n            Email = \"alice@microsoft.com\",\n            PhoneNumber = \"123456\",\n            Country = \"westus\",\n        },\n        Plan = new Azure.Dynatrace.Inputs.MonitorPlanArgs\n        {\n            UsageType = \"COMMITTED\",\n            BillingCycle = \"MONTHLY\",\n            Plan = \"azureportalintegration_privatepreview@TIDhjdtn7tfnxcy\",\n            EffectiveDate = \"2019-08-30T15:14:33Z\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/dynatrace\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = dynatrace.NewMonitor(ctx, \"example\", \u0026dynatrace.MonitorArgs{\n\t\t\tName:                          pulumi.String(\"exmpledynatracemonitor\"),\n\t\t\tResourceGroupName:             example.Name,\n\t\t\tLocation:                      pulumi.Any(test.Location),\n\t\t\tMonitoringEnabled:             pulumi.Bool(true),\n\t\t\tMarketplaceSubscriptionStatus: \"Active\",\n\t\t\tIdentity: \u0026dynatrace.MonitorIdentityArgs{\n\t\t\t\tType: pulumi.String(\"SystemAssigned\"),\n\t\t\t},\n\t\t\tUser: \u0026dynatrace.MonitorUserArgs{\n\t\t\t\tFirstName:   pulumi.String(\"Alice\"),\n\t\t\t\tLastName:    pulumi.String(\"Bobab\"),\n\t\t\t\tEmail:       pulumi.String(\"alice@microsoft.com\"),\n\t\t\t\tPhoneNumber: pulumi.String(\"123456\"),\n\t\t\t\tCountry:     pulumi.String(\"westus\"),\n\t\t\t},\n\t\t\tPlan: \u0026dynatrace.MonitorPlanArgs{\n\t\t\t\tUsageType:     pulumi.String(\"COMMITTED\"),\n\t\t\t\tBillingCycle:  pulumi.String(\"MONTHLY\"),\n\t\t\t\tPlan:          pulumi.String(\"azureportalintegration_privatepreview@TIDhjdtn7tfnxcy\"),\n\t\t\t\tEffectiveDate: pulumi.String(\"2019-08-30T15:14:33Z\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.dynatrace.Monitor;\nimport com.pulumi.azure.dynatrace.MonitorArgs;\nimport com.pulumi.azure.dynatrace.inputs.MonitorIdentityArgs;\nimport com.pulumi.azure.dynatrace.inputs.MonitorUserArgs;\nimport com.pulumi.azure.dynatrace.inputs.MonitorPlanArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleMonitor = new Monitor(\"exampleMonitor\", MonitorArgs.builder()\n            .name(\"exmpledynatracemonitor\")\n            .resourceGroupName(example.name())\n            .location(test.location())\n            .monitoringEnabled(true)\n            .marketplaceSubscriptionStatus(\"Active\")\n            .identity(MonitorIdentityArgs.builder()\n                .type(\"SystemAssigned\")\n                .build())\n            .user(MonitorUserArgs.builder()\n                .firstName(\"Alice\")\n                .lastName(\"Bobab\")\n                .email(\"alice@microsoft.com\")\n                .phoneNumber(\"123456\")\n                .country(\"westus\")\n                .build())\n            .plan(MonitorPlanArgs.builder()\n                .usageType(\"COMMITTED\")\n                .billingCycle(\"MONTHLY\")\n                .plan(\"azureportalintegration_privatepreview@TIDhjdtn7tfnxcy\")\n                .effectiveDate(\"2019-08-30T15:14:33Z\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleMonitor:\n    type: azure:dynatrace:Monitor\n    name: example\n    properties:\n      name: exmpledynatracemonitor\n      resourceGroupName: ${example.name}\n      location: ${test.location}\n      monitoringEnabled: true\n      marketplaceSubscriptionStatus: Active\n      identity:\n        type: SystemAssigned\n      user:\n        firstName: Alice\n        lastName: Bobab\n        email: alice@microsoft.com\n        phoneNumber: '123456'\n        country: westus\n      plan:\n        usageType: COMMITTED\n        billingCycle: MONTHLY\n        plan: azureportalintegration_privatepreview@TIDhjdtn7tfnxcy\n        effectiveDate: 2019-08-30T15:14:33Z\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Dynatrace.Observability` - 2023-04-27\n\n## Import\n\nDynatrace monitor can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:dynatrace/monitor:Monitor example /subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/resGroup1/providers/Dynatrace.Observability/monitors/monitor1\n```\n\n","properties":{"environmentProperties":{"type":"array","items":{"$ref":"#/types/azure:dynatrace/MonitorEnvironmentProperty:MonitorEnvironmentProperty"},"description":"Properties of the Dynatrace environment. An \u003cspan pulumi-lang-nodejs=\"`environmentProperties`\" pulumi-lang-dotnet=\"`EnvironmentProperties`\" pulumi-lang-go=\"`environmentProperties`\" pulumi-lang-python=\"`environment_properties`\" pulumi-lang-yaml=\"`environmentProperties`\" pulumi-lang-java=\"`environmentProperties`\"\u003e`environment_properties`\u003c/span\u003e block as defined below.\n"},"identity":{"$ref":"#/types/azure:dynatrace/MonitorIdentity:MonitorIdentity","description":"The kind of managed identity assigned to this resource. A \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"location":{"type":"string","description":"The Azure Region where the Dynatrace monitor should exist. Changing this forces a new resource to be created.\n"},"marketplaceSubscription":{"type":"string","description":"Flag specifying the Marketplace Subscription Status of the resource. If payment is not made in time, the resource will go in Suspended state. Possible values are `Active` and `Suspended`. Changing this forces a new resource to be created.\n"},"monitoringEnabled":{"type":"boolean","description":"Flag specifying if the resource monitoring is enabled or disabled. Default is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"Name of the Dynatrace monitor. Changing this forces a new resource to be created.\n"},"plan":{"$ref":"#/types/azure:dynatrace/MonitorPlan:MonitorPlan","description":"Billing plan information. A \u003cspan pulumi-lang-nodejs=\"`plan`\" pulumi-lang-dotnet=\"`Plan`\" pulumi-lang-go=\"`plan`\" pulumi-lang-python=\"`plan`\" pulumi-lang-yaml=\"`plan`\" pulumi-lang-java=\"`plan`\"\u003e`plan`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Dynatrace monitor should exist. Changing this forces a new resource to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"user":{"$ref":"#/types/azure:dynatrace/MonitorUser:MonitorUser","description":"User's information. A \u003cspan pulumi-lang-nodejs=\"`user`\" pulumi-lang-dotnet=\"`User`\" pulumi-lang-go=\"`user`\" pulumi-lang-python=\"`user`\" pulumi-lang-yaml=\"`user`\" pulumi-lang-java=\"`user`\"\u003e`user`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n"}},"required":["identity","location","marketplaceSubscription","name","plan","resourceGroupName","user"],"inputProperties":{"environmentProperties":{"type":"array","items":{"$ref":"#/types/azure:dynatrace/MonitorEnvironmentProperty:MonitorEnvironmentProperty"},"description":"Properties of the Dynatrace environment. An \u003cspan pulumi-lang-nodejs=\"`environmentProperties`\" pulumi-lang-dotnet=\"`EnvironmentProperties`\" pulumi-lang-go=\"`environmentProperties`\" pulumi-lang-python=\"`environment_properties`\" pulumi-lang-yaml=\"`environmentProperties`\" pulumi-lang-java=\"`environmentProperties`\"\u003e`environment_properties`\u003c/span\u003e block as defined below.\n"},"identity":{"$ref":"#/types/azure:dynatrace/MonitorIdentity:MonitorIdentity","description":"The kind of managed identity assigned to this resource. A \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"location":{"type":"string","description":"The Azure Region where the Dynatrace monitor should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"marketplaceSubscription":{"type":"string","description":"Flag specifying the Marketplace Subscription Status of the resource. If payment is not made in time, the resource will go in Suspended state. Possible values are `Active` and `Suspended`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"monitoringEnabled":{"type":"boolean","description":"Flag specifying if the resource monitoring is enabled or disabled. Default is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Name of the Dynatrace monitor. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"plan":{"$ref":"#/types/azure:dynatrace/MonitorPlan:MonitorPlan","description":"Billing plan information. A \u003cspan pulumi-lang-nodejs=\"`plan`\" pulumi-lang-dotnet=\"`Plan`\" pulumi-lang-go=\"`plan`\" pulumi-lang-python=\"`plan`\" pulumi-lang-yaml=\"`plan`\" pulumi-lang-java=\"`plan`\"\u003e`plan`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Dynatrace monitor should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"user":{"$ref":"#/types/azure:dynatrace/MonitorUser:MonitorUser","description":"User's information. A \u003cspan pulumi-lang-nodejs=\"`user`\" pulumi-lang-dotnet=\"`User`\" pulumi-lang-go=\"`user`\" pulumi-lang-python=\"`user`\" pulumi-lang-yaml=\"`user`\" pulumi-lang-java=\"`user`\"\u003e`user`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["identity","marketplaceSubscription","plan","resourceGroupName","user"],"stateInputs":{"description":"Input properties used for looking up and filtering Monitor resources.\n","properties":{"environmentProperties":{"type":"array","items":{"$ref":"#/types/azure:dynatrace/MonitorEnvironmentProperty:MonitorEnvironmentProperty"},"description":"Properties of the Dynatrace environment. An \u003cspan pulumi-lang-nodejs=\"`environmentProperties`\" pulumi-lang-dotnet=\"`EnvironmentProperties`\" pulumi-lang-go=\"`environmentProperties`\" pulumi-lang-python=\"`environment_properties`\" pulumi-lang-yaml=\"`environmentProperties`\" pulumi-lang-java=\"`environmentProperties`\"\u003e`environment_properties`\u003c/span\u003e block as defined below.\n"},"identity":{"$ref":"#/types/azure:dynatrace/MonitorIdentity:MonitorIdentity","description":"The kind of managed identity assigned to this resource. A \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"location":{"type":"string","description":"The Azure Region where the Dynatrace monitor should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"marketplaceSubscription":{"type":"string","description":"Flag specifying the Marketplace Subscription Status of the resource. If payment is not made in time, the resource will go in Suspended state. Possible values are `Active` and `Suspended`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"monitoringEnabled":{"type":"boolean","description":"Flag specifying if the resource monitoring is enabled or disabled. Default is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Name of the Dynatrace monitor. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"plan":{"$ref":"#/types/azure:dynatrace/MonitorPlan:MonitorPlan","description":"Billing plan information. A \u003cspan pulumi-lang-nodejs=\"`plan`\" pulumi-lang-dotnet=\"`Plan`\" pulumi-lang-go=\"`plan`\" pulumi-lang-python=\"`plan`\" pulumi-lang-yaml=\"`plan`\" pulumi-lang-java=\"`plan`\"\u003e`plan`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Dynatrace monitor should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"user":{"$ref":"#/types/azure:dynatrace/MonitorUser:MonitorUser","description":"User's information. A \u003cspan pulumi-lang-nodejs=\"`user`\" pulumi-lang-dotnet=\"`User`\" pulumi-lang-go=\"`user`\" pulumi-lang-python=\"`user`\" pulumi-lang-yaml=\"`user`\" pulumi-lang-java=\"`user`\"\u003e`user`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:dynatrace/tagRules:TagRules":{"description":"Manages Dynatrace tag rules.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleMonitor = new azure.dynatrace.Monitor(\"example\", {\n    name: \"exmpledynatracemonitor\",\n    resourceGroupName: example.name,\n    location: test.location,\n    monitoringEnabled: true,\n    marketplaceSubscriptionStatus: \"Active\",\n    identity: {\n        type: \"SystemAssigned\",\n    },\n    user: {\n        firstName: \"Alice\",\n        lastName: \"Bobab\",\n        email: \"alice@microsoft.com\",\n        phoneNumber: \"123456\",\n        country: \"westus\",\n    },\n    plan: {\n        usageType: \"COMMITTED\",\n        billingCycle: \"MONTHLY\",\n        plan: \"azureportalintegration_privatepreview@TIDhjdtn7tfnxcy\",\n        effectiveDate: \"2019-08-30T15:14:33Z\",\n    },\n});\nconst exampleTagRules = new azure.dynatrace.TagRules(\"example\", {\n    name: \"default\",\n    monitorId: testAzurermDynatraceMonitors.id,\n    logRule: {\n        filteringTags: [{\n            name: \"Environment\",\n            value: \"Prod\",\n            action: \"Include\",\n        }],\n        sendAzureActiveDirectoryLogsEnabled: true,\n        sendActivityLogsEnabled: true,\n        sendSubscriptionLogsEnabled: true,\n    },\n    metricRule: {\n        filteringTags: [{\n            name: \"Environment\",\n            value: \"Prod\",\n            action: \"Include\",\n        }],\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_monitor = azure.dynatrace.Monitor(\"example\",\n    name=\"exmpledynatracemonitor\",\n    resource_group_name=example.name,\n    location=test[\"location\"],\n    monitoring_enabled=True,\n    marketplace_subscription_status=\"Active\",\n    identity={\n        \"type\": \"SystemAssigned\",\n    },\n    user={\n        \"first_name\": \"Alice\",\n        \"last_name\": \"Bobab\",\n        \"email\": \"alice@microsoft.com\",\n        \"phone_number\": \"123456\",\n        \"country\": \"westus\",\n    },\n    plan={\n        \"usage_type\": \"COMMITTED\",\n        \"billing_cycle\": \"MONTHLY\",\n        \"plan\": \"azureportalintegration_privatepreview@TIDhjdtn7tfnxcy\",\n        \"effective_date\": \"2019-08-30T15:14:33Z\",\n    })\nexample_tag_rules = azure.dynatrace.TagRules(\"example\",\n    name=\"default\",\n    monitor_id=test_azurerm_dynatrace_monitors[\"id\"],\n    log_rule={\n        \"filtering_tags\": [{\n            \"name\": \"Environment\",\n            \"value\": \"Prod\",\n            \"action\": \"Include\",\n        }],\n        \"send_azure_active_directory_logs_enabled\": True,\n        \"send_activity_logs_enabled\": True,\n        \"send_subscription_logs_enabled\": True,\n    },\n    metric_rule={\n        \"filtering_tags\": [{\n            \"name\": \"Environment\",\n            \"value\": \"Prod\",\n            \"action\": \"Include\",\n        }],\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleMonitor = new Azure.Dynatrace.Monitor(\"example\", new()\n    {\n        Name = \"exmpledynatracemonitor\",\n        ResourceGroupName = example.Name,\n        Location = test.Location,\n        MonitoringEnabled = true,\n        MarketplaceSubscriptionStatus = \"Active\",\n        Identity = new Azure.Dynatrace.Inputs.MonitorIdentityArgs\n        {\n            Type = \"SystemAssigned\",\n        },\n        User = new Azure.Dynatrace.Inputs.MonitorUserArgs\n        {\n            FirstName = \"Alice\",\n            LastName = \"Bobab\",\n            Email = \"alice@microsoft.com\",\n            PhoneNumber = \"123456\",\n            Country = \"westus\",\n        },\n        Plan = new Azure.Dynatrace.Inputs.MonitorPlanArgs\n        {\n            UsageType = \"COMMITTED\",\n            BillingCycle = \"MONTHLY\",\n            Plan = \"azureportalintegration_privatepreview@TIDhjdtn7tfnxcy\",\n            EffectiveDate = \"2019-08-30T15:14:33Z\",\n        },\n    });\n\n    var exampleTagRules = new Azure.Dynatrace.TagRules(\"example\", new()\n    {\n        Name = \"default\",\n        MonitorId = testAzurermDynatraceMonitors.Id,\n        LogRule = new Azure.Dynatrace.Inputs.TagRulesLogRuleArgs\n        {\n            FilteringTags = new[]\n            {\n                new Azure.Dynatrace.Inputs.TagRulesLogRuleFilteringTagArgs\n                {\n                    Name = \"Environment\",\n                    Value = \"Prod\",\n                    Action = \"Include\",\n                },\n            },\n            SendAzureActiveDirectoryLogsEnabled = true,\n            SendActivityLogsEnabled = true,\n            SendSubscriptionLogsEnabled = true,\n        },\n        MetricRule = new Azure.Dynatrace.Inputs.TagRulesMetricRuleArgs\n        {\n            FilteringTags = new[]\n            {\n                new Azure.Dynatrace.Inputs.TagRulesMetricRuleFilteringTagArgs\n                {\n                    Name = \"Environment\",\n                    Value = \"Prod\",\n                    Action = \"Include\",\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/dynatrace\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = dynatrace.NewMonitor(ctx, \"example\", \u0026dynatrace.MonitorArgs{\n\t\t\tName:                          pulumi.String(\"exmpledynatracemonitor\"),\n\t\t\tResourceGroupName:             example.Name,\n\t\t\tLocation:                      pulumi.Any(test.Location),\n\t\t\tMonitoringEnabled:             pulumi.Bool(true),\n\t\t\tMarketplaceSubscriptionStatus: \"Active\",\n\t\t\tIdentity: \u0026dynatrace.MonitorIdentityArgs{\n\t\t\t\tType: pulumi.String(\"SystemAssigned\"),\n\t\t\t},\n\t\t\tUser: \u0026dynatrace.MonitorUserArgs{\n\t\t\t\tFirstName:   pulumi.String(\"Alice\"),\n\t\t\t\tLastName:    pulumi.String(\"Bobab\"),\n\t\t\t\tEmail:       pulumi.String(\"alice@microsoft.com\"),\n\t\t\t\tPhoneNumber: pulumi.String(\"123456\"),\n\t\t\t\tCountry:     pulumi.String(\"westus\"),\n\t\t\t},\n\t\t\tPlan: \u0026dynatrace.MonitorPlanArgs{\n\t\t\t\tUsageType:     pulumi.String(\"COMMITTED\"),\n\t\t\t\tBillingCycle:  pulumi.String(\"MONTHLY\"),\n\t\t\t\tPlan:          pulumi.String(\"azureportalintegration_privatepreview@TIDhjdtn7tfnxcy\"),\n\t\t\t\tEffectiveDate: pulumi.String(\"2019-08-30T15:14:33Z\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = dynatrace.NewTagRules(ctx, \"example\", \u0026dynatrace.TagRulesArgs{\n\t\t\tName:      pulumi.String(\"default\"),\n\t\t\tMonitorId: pulumi.Any(testAzurermDynatraceMonitors.Id),\n\t\t\tLogRule: \u0026dynatrace.TagRulesLogRuleArgs{\n\t\t\t\tFilteringTags: dynatrace.TagRulesLogRuleFilteringTagArray{\n\t\t\t\t\t\u0026dynatrace.TagRulesLogRuleFilteringTagArgs{\n\t\t\t\t\t\tName:   pulumi.String(\"Environment\"),\n\t\t\t\t\t\tValue:  pulumi.String(\"Prod\"),\n\t\t\t\t\t\tAction: pulumi.String(\"Include\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tSendAzureActiveDirectoryLogsEnabled: pulumi.Bool(true),\n\t\t\t\tSendActivityLogsEnabled:             pulumi.Bool(true),\n\t\t\t\tSendSubscriptionLogsEnabled:         pulumi.Bool(true),\n\t\t\t},\n\t\t\tMetricRule: \u0026dynatrace.TagRulesMetricRuleArgs{\n\t\t\t\tFilteringTags: dynatrace.TagRulesMetricRuleFilteringTagArray{\n\t\t\t\t\t\u0026dynatrace.TagRulesMetricRuleFilteringTagArgs{\n\t\t\t\t\t\tName:   pulumi.String(\"Environment\"),\n\t\t\t\t\t\tValue:  pulumi.String(\"Prod\"),\n\t\t\t\t\t\tAction: pulumi.String(\"Include\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.dynatrace.Monitor;\nimport com.pulumi.azure.dynatrace.MonitorArgs;\nimport com.pulumi.azure.dynatrace.inputs.MonitorIdentityArgs;\nimport com.pulumi.azure.dynatrace.inputs.MonitorUserArgs;\nimport com.pulumi.azure.dynatrace.inputs.MonitorPlanArgs;\nimport com.pulumi.azure.dynatrace.TagRules;\nimport com.pulumi.azure.dynatrace.TagRulesArgs;\nimport com.pulumi.azure.dynatrace.inputs.TagRulesLogRuleArgs;\nimport com.pulumi.azure.dynatrace.inputs.TagRulesMetricRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleMonitor = new Monitor(\"exampleMonitor\", MonitorArgs.builder()\n            .name(\"exmpledynatracemonitor\")\n            .resourceGroupName(example.name())\n            .location(test.location())\n            .monitoringEnabled(true)\n            .marketplaceSubscriptionStatus(\"Active\")\n            .identity(MonitorIdentityArgs.builder()\n                .type(\"SystemAssigned\")\n                .build())\n            .user(MonitorUserArgs.builder()\n                .firstName(\"Alice\")\n                .lastName(\"Bobab\")\n                .email(\"alice@microsoft.com\")\n                .phoneNumber(\"123456\")\n                .country(\"westus\")\n                .build())\n            .plan(MonitorPlanArgs.builder()\n                .usageType(\"COMMITTED\")\n                .billingCycle(\"MONTHLY\")\n                .plan(\"azureportalintegration_privatepreview@TIDhjdtn7tfnxcy\")\n                .effectiveDate(\"2019-08-30T15:14:33Z\")\n                .build())\n            .build());\n\n        var exampleTagRules = new TagRules(\"exampleTagRules\", TagRulesArgs.builder()\n            .name(\"default\")\n            .monitorId(testAzurermDynatraceMonitors.id())\n            .logRule(TagRulesLogRuleArgs.builder()\n                .filteringTags(TagRulesLogRuleFilteringTagArgs.builder()\n                    .name(\"Environment\")\n                    .value(\"Prod\")\n                    .action(\"Include\")\n                    .build())\n                .sendAzureActiveDirectoryLogsEnabled(true)\n                .sendActivityLogsEnabled(true)\n                .sendSubscriptionLogsEnabled(true)\n                .build())\n            .metricRule(TagRulesMetricRuleArgs.builder()\n                .filteringTags(TagRulesMetricRuleFilteringTagArgs.builder()\n                    .name(\"Environment\")\n                    .value(\"Prod\")\n                    .action(\"Include\")\n                    .build())\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleMonitor:\n    type: azure:dynatrace:Monitor\n    name: example\n    properties:\n      name: exmpledynatracemonitor\n      resourceGroupName: ${example.name}\n      location: ${test.location}\n      monitoringEnabled: true\n      marketplaceSubscriptionStatus: Active\n      identity:\n        type: SystemAssigned\n      user:\n        firstName: Alice\n        lastName: Bobab\n        email: alice@microsoft.com\n        phoneNumber: '123456'\n        country: westus\n      plan:\n        usageType: COMMITTED\n        billingCycle: MONTHLY\n        plan: azureportalintegration_privatepreview@TIDhjdtn7tfnxcy\n        effectiveDate: 2019-08-30T15:14:33Z\n  exampleTagRules:\n    type: azure:dynatrace:TagRules\n    name: example\n    properties:\n      name: default\n      monitorId: ${testAzurermDynatraceMonitors.id}\n      logRule:\n        filteringTags:\n          - name: Environment\n            value: Prod\n            action: Include\n        sendAzureActiveDirectoryLogsEnabled: true\n        sendActivityLogsEnabled: true\n        sendSubscriptionLogsEnabled: true\n      metricRule:\n        filteringTags:\n          - name: Environment\n            value: Prod\n            action: Include\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Dynatrace.Observability` - 2023-04-27\n\n## Import\n\nDynatrace tag rules can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:dynatrace/tagRules:TagRules example /subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/resGroup1/providers/Dynatrace.Observability/monitors/monitor1/tagRules/tagRules1\n```\n\n","properties":{"logRule":{"$ref":"#/types/azure:dynatrace/TagRulesLogRule:TagRulesLogRule","description":"Set of rules for sending logs for the Monitor resource. A \u003cspan pulumi-lang-nodejs=\"`logRule`\" pulumi-lang-dotnet=\"`LogRule`\" pulumi-lang-go=\"`logRule`\" pulumi-lang-python=\"`log_rule`\" pulumi-lang-yaml=\"`logRule`\" pulumi-lang-java=\"`logRule`\"\u003e`log_rule`\u003c/span\u003e block as defined below.\n"},"metricRule":{"$ref":"#/types/azure:dynatrace/TagRulesMetricRule:TagRulesMetricRule","description":"Set of rules for sending metrics for the Monitor resource. A \u003cspan pulumi-lang-nodejs=\"`metricRule`\" pulumi-lang-dotnet=\"`MetricRule`\" pulumi-lang-go=\"`metricRule`\" pulumi-lang-python=\"`metric_rule`\" pulumi-lang-yaml=\"`metricRule`\" pulumi-lang-java=\"`metricRule`\"\u003e`metric_rule`\u003c/span\u003e block as defined below.\n"},"monitorId":{"type":"string","description":"Name of the Dynatrace monitor. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"Name of the Dynatrace tag rules. Currently, the only supported value is \u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\"\u003e`default`\u003c/span\u003e. Changing this forces a new resource to be created.\n"}},"required":["monitorId","name"],"inputProperties":{"logRule":{"$ref":"#/types/azure:dynatrace/TagRulesLogRule:TagRulesLogRule","description":"Set of rules for sending logs for the Monitor resource. A \u003cspan pulumi-lang-nodejs=\"`logRule`\" pulumi-lang-dotnet=\"`LogRule`\" pulumi-lang-go=\"`logRule`\" pulumi-lang-python=\"`log_rule`\" pulumi-lang-yaml=\"`logRule`\" pulumi-lang-java=\"`logRule`\"\u003e`log_rule`\u003c/span\u003e block as defined below.\n"},"metricRule":{"$ref":"#/types/azure:dynatrace/TagRulesMetricRule:TagRulesMetricRule","description":"Set of rules for sending metrics for the Monitor resource. A \u003cspan pulumi-lang-nodejs=\"`metricRule`\" pulumi-lang-dotnet=\"`MetricRule`\" pulumi-lang-go=\"`metricRule`\" pulumi-lang-python=\"`metric_rule`\" pulumi-lang-yaml=\"`metricRule`\" pulumi-lang-java=\"`metricRule`\"\u003e`metric_rule`\u003c/span\u003e block as defined below.\n"},"monitorId":{"type":"string","description":"Name of the Dynatrace monitor. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Name of the Dynatrace tag rules. Currently, the only supported value is \u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\"\u003e`default`\u003c/span\u003e. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["monitorId"],"stateInputs":{"description":"Input properties used for looking up and filtering TagRules resources.\n","properties":{"logRule":{"$ref":"#/types/azure:dynatrace/TagRulesLogRule:TagRulesLogRule","description":"Set of rules for sending logs for the Monitor resource. A \u003cspan pulumi-lang-nodejs=\"`logRule`\" pulumi-lang-dotnet=\"`LogRule`\" pulumi-lang-go=\"`logRule`\" pulumi-lang-python=\"`log_rule`\" pulumi-lang-yaml=\"`logRule`\" pulumi-lang-java=\"`logRule`\"\u003e`log_rule`\u003c/span\u003e block as defined below.\n"},"metricRule":{"$ref":"#/types/azure:dynatrace/TagRulesMetricRule:TagRulesMetricRule","description":"Set of rules for sending metrics for the Monitor resource. A \u003cspan pulumi-lang-nodejs=\"`metricRule`\" pulumi-lang-dotnet=\"`MetricRule`\" pulumi-lang-go=\"`metricRule`\" pulumi-lang-python=\"`metric_rule`\" pulumi-lang-yaml=\"`metricRule`\" pulumi-lang-java=\"`metricRule`\"\u003e`metric_rule`\u003c/span\u003e block as defined below.\n"},"monitorId":{"type":"string","description":"Name of the Dynatrace monitor. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Name of the Dynatrace tag rules. Currently, the only supported value is \u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\"\u003e`default`\u003c/span\u003e. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:elasticcloud/elasticsearch:Elasticsearch":{"description":"Manages an Elasticsearch in Elastic Cloud.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst test = new azure.core.ResourceGroup(\"test\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst testElasticsearch = new azure.elasticcloud.Elasticsearch(\"test\", {\n    name: \"example-elasticsearch\",\n    resourceGroupName: test.name,\n    location: test.location,\n    skuName: \"ess-consumption-2024_Monthly\",\n    elasticCloudEmailAddress: \"user@example.com\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\ntest = azure.core.ResourceGroup(\"test\",\n    name=\"example-resources\",\n    location=\"West Europe\")\ntest_elasticsearch = azure.elasticcloud.Elasticsearch(\"test\",\n    name=\"example-elasticsearch\",\n    resource_group_name=test.name,\n    location=test.location,\n    sku_name=\"ess-consumption-2024_Monthly\",\n    elastic_cloud_email_address=\"user@example.com\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var test = new Azure.Core.ResourceGroup(\"test\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var testElasticsearch = new Azure.ElasticCloud.Elasticsearch(\"test\", new()\n    {\n        Name = \"example-elasticsearch\",\n        ResourceGroupName = test.Name,\n        Location = test.Location,\n        SkuName = \"ess-consumption-2024_Monthly\",\n        ElasticCloudEmailAddress = \"user@example.com\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/elasticcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttest, err := core.NewResourceGroup(ctx, \"test\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = elasticcloud.NewElasticsearch(ctx, \"test\", \u0026elasticcloud.ElasticsearchArgs{\n\t\t\tName:                     pulumi.String(\"example-elasticsearch\"),\n\t\t\tResourceGroupName:        test.Name,\n\t\t\tLocation:                 test.Location,\n\t\t\tSkuName:                  pulumi.String(\"ess-consumption-2024_Monthly\"),\n\t\t\tElasticCloudEmailAddress: pulumi.String(\"user@example.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.elasticcloud.Elasticsearch;\nimport com.pulumi.azure.elasticcloud.ElasticsearchArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var test = new ResourceGroup(\"test\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var testElasticsearch = new Elasticsearch(\"testElasticsearch\", ElasticsearchArgs.builder()\n            .name(\"example-elasticsearch\")\n            .resourceGroupName(test.name())\n            .location(test.location())\n            .skuName(\"ess-consumption-2024_Monthly\")\n            .elasticCloudEmailAddress(\"user@example.com\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  test:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  testElasticsearch:\n    type: azure:elasticcloud:Elasticsearch\n    name: test\n    properties:\n      name: example-elasticsearch\n      resourceGroupName: ${test.name}\n      location: ${test.location}\n      skuName: ess-consumption-2024_Monthly\n      elasticCloudEmailAddress: user@example.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Elastic` - 2023-06-01\n\n## Import\n\nElasticsearch's can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:elasticcloud/elasticsearch:Elasticsearch example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Elastic/monitors/monitor1\n```\n\n","properties":{"elasticCloudDeploymentId":{"type":"string","description":"The ID of the Deployment within Elastic Cloud.\n"},"elasticCloudEmailAddress":{"type":"string","description":"Specifies the Email Address which should be associated with this Elasticsearch account. Changing this forces a new Elasticsearch to be created.\n"},"elasticCloudSsoDefaultUrl":{"type":"string","description":"The Default URL used for Single Sign On (SSO) to Elastic Cloud.\n"},"elasticCloudUserId":{"type":"string","description":"The ID of the User Account within Elastic Cloud.\n"},"elasticsearchServiceUrl":{"type":"string","description":"The URL to the Elasticsearch Service associated with this Elasticsearch.\n"},"kibanaServiceUrl":{"type":"string","description":"The URL to the Kibana Dashboard associated with this Elasticsearch.\n"},"kibanaSsoUri":{"type":"string","description":"The URI used for SSO to the Kibana Dashboard associated with this Elasticsearch.\n"},"location":{"type":"string","description":"The Azure Region where the Elasticsearch resource should exist. Changing this forces a new Elasticsearch to be created.\n"},"logs":{"$ref":"#/types/azure:elasticcloud/ElasticsearchLogs:ElasticsearchLogs","description":"A \u003cspan pulumi-lang-nodejs=\"`logs`\" pulumi-lang-dotnet=\"`Logs`\" pulumi-lang-go=\"`logs`\" pulumi-lang-python=\"`logs`\" pulumi-lang-yaml=\"`logs`\" pulumi-lang-java=\"`logs`\"\u003e`logs`\u003c/span\u003e block as defined below.\n"},"monitoringEnabled":{"type":"boolean","description":"Specifies if the Elasticsearch should have monitoring configured? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e. Changing this forces a new Elasticsearch to be created.\n"},"name":{"type":"string","description":"The name which should be used for this Elasticsearch resource. Changing this forces a new Elasticsearch to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Elasticsearch resource should exist. Changing this forces a new Elasticsearch to be created.\n"},"skuName":{"type":"string","description":"Specifies the name of the SKU for this Elasticsearch. Changing this forces a new Elasticsearch to be created.\n\n\u003e **Note:** The SKU depends on the Elasticsearch Plans available for your account and is a combination of PlanID_Term.\nEx: If the plan ID is \"planXYZ\" and term is \"Yearly\", the SKU will be \"planXYZ_Yearly\".\nYou may find your eligible plans [here](https://portal.azure.com/#view/Microsoft_Azure_Marketplace/GalleryItemDetailsBladeNopdl/id/elastic.ec-azure-pp) or in the online documentation [here](https://azuremarketplace.microsoft.com/en-us/marketplace/apps/elastic.ec-azure-pp?tab=PlansAndPrice) for more details or in case of any issues with the SKU.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Elasticsearch resource.\n"}},"required":["elasticCloudDeploymentId","elasticCloudEmailAddress","elasticCloudSsoDefaultUrl","elasticCloudUserId","elasticsearchServiceUrl","kibanaServiceUrl","kibanaSsoUri","location","name","resourceGroupName","skuName"],"inputProperties":{"elasticCloudEmailAddress":{"type":"string","description":"Specifies the Email Address which should be associated with this Elasticsearch account. Changing this forces a new Elasticsearch to be created.\n","willReplaceOnChanges":true},"location":{"type":"string","description":"The Azure Region where the Elasticsearch resource should exist. Changing this forces a new Elasticsearch to be created.\n","willReplaceOnChanges":true},"logs":{"$ref":"#/types/azure:elasticcloud/ElasticsearchLogs:ElasticsearchLogs","description":"A \u003cspan pulumi-lang-nodejs=\"`logs`\" pulumi-lang-dotnet=\"`Logs`\" pulumi-lang-go=\"`logs`\" pulumi-lang-python=\"`logs`\" pulumi-lang-yaml=\"`logs`\" pulumi-lang-java=\"`logs`\"\u003e`logs`\u003c/span\u003e block as defined below.\n"},"monitoringEnabled":{"type":"boolean","description":"Specifies if the Elasticsearch should have monitoring configured? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e. Changing this forces a new Elasticsearch to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Elasticsearch resource. Changing this forces a new Elasticsearch to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Elasticsearch resource should exist. Changing this forces a new Elasticsearch to be created.\n","willReplaceOnChanges":true},"skuName":{"type":"string","description":"Specifies the name of the SKU for this Elasticsearch. Changing this forces a new Elasticsearch to be created.\n\n\u003e **Note:** The SKU depends on the Elasticsearch Plans available for your account and is a combination of PlanID_Term.\nEx: If the plan ID is \"planXYZ\" and term is \"Yearly\", the SKU will be \"planXYZ_Yearly\".\nYou may find your eligible plans [here](https://portal.azure.com/#view/Microsoft_Azure_Marketplace/GalleryItemDetailsBladeNopdl/id/elastic.ec-azure-pp) or in the online documentation [here](https://azuremarketplace.microsoft.com/en-us/marketplace/apps/elastic.ec-azure-pp?tab=PlansAndPrice) for more details or in case of any issues with the SKU.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Elasticsearch resource.\n"}},"requiredInputs":["elasticCloudEmailAddress","resourceGroupName","skuName"],"stateInputs":{"description":"Input properties used for looking up and filtering Elasticsearch resources.\n","properties":{"elasticCloudDeploymentId":{"type":"string","description":"The ID of the Deployment within Elastic Cloud.\n"},"elasticCloudEmailAddress":{"type":"string","description":"Specifies the Email Address which should be associated with this Elasticsearch account. Changing this forces a new Elasticsearch to be created.\n","willReplaceOnChanges":true},"elasticCloudSsoDefaultUrl":{"type":"string","description":"The Default URL used for Single Sign On (SSO) to Elastic Cloud.\n"},"elasticCloudUserId":{"type":"string","description":"The ID of the User Account within Elastic Cloud.\n"},"elasticsearchServiceUrl":{"type":"string","description":"The URL to the Elasticsearch Service associated with this Elasticsearch.\n"},"kibanaServiceUrl":{"type":"string","description":"The URL to the Kibana Dashboard associated with this Elasticsearch.\n"},"kibanaSsoUri":{"type":"string","description":"The URI used for SSO to the Kibana Dashboard associated with this Elasticsearch.\n"},"location":{"type":"string","description":"The Azure Region where the Elasticsearch resource should exist. Changing this forces a new Elasticsearch to be created.\n","willReplaceOnChanges":true},"logs":{"$ref":"#/types/azure:elasticcloud/ElasticsearchLogs:ElasticsearchLogs","description":"A \u003cspan pulumi-lang-nodejs=\"`logs`\" pulumi-lang-dotnet=\"`Logs`\" pulumi-lang-go=\"`logs`\" pulumi-lang-python=\"`logs`\" pulumi-lang-yaml=\"`logs`\" pulumi-lang-java=\"`logs`\"\u003e`logs`\u003c/span\u003e block as defined below.\n"},"monitoringEnabled":{"type":"boolean","description":"Specifies if the Elasticsearch should have monitoring configured? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e. Changing this forces a new Elasticsearch to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Elasticsearch resource. Changing this forces a new Elasticsearch to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Elasticsearch resource should exist. Changing this forces a new Elasticsearch to be created.\n","willReplaceOnChanges":true},"skuName":{"type":"string","description":"Specifies the name of the SKU for this Elasticsearch. Changing this forces a new Elasticsearch to be created.\n\n\u003e **Note:** The SKU depends on the Elasticsearch Plans available for your account and is a combination of PlanID_Term.\nEx: If the plan ID is \"planXYZ\" and term is \"Yearly\", the SKU will be \"planXYZ_Yearly\".\nYou may find your eligible plans [here](https://portal.azure.com/#view/Microsoft_Azure_Marketplace/GalleryItemDetailsBladeNopdl/id/elastic.ec-azure-pp) or in the online documentation [here](https://azuremarketplace.microsoft.com/en-us/marketplace/apps/elastic.ec-azure-pp?tab=PlansAndPrice) for more details or in case of any issues with the SKU.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Elasticsearch resource.\n"}},"type":"object"}},"azure:elasticsan/elasticSan:ElasticSan":{"description":"Manages an Elastic SAN resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleElasticSan = new azure.elasticsan.ElasticSan(\"example\", {\n    name: \"example\",\n    resourceGroupName: example.name,\n    location: example.location,\n    baseSizeInTib: 1,\n    extendedSizeInTib: 2,\n    sku: {\n        name: \"example-value\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_elastic_san = azure.elasticsan.ElasticSan(\"example\",\n    name=\"example\",\n    resource_group_name=example.name,\n    location=example.location,\n    base_size_in_tib=1,\n    extended_size_in_tib=2,\n    sku={\n        \"name\": \"example-value\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleElasticSan = new Azure.ElasticSan.ElasticSan(\"example\", new()\n    {\n        Name = \"example\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        BaseSizeInTib = 1,\n        ExtendedSizeInTib = 2,\n        Sku = new Azure.ElasticSan.Inputs.ElasticSanSkuArgs\n        {\n            Name = \"example-value\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/elasticsan\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = elasticsan.NewElasticSan(ctx, \"example\", \u0026elasticsan.ElasticSanArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tBaseSizeInTib:     pulumi.Int(1),\n\t\t\tExtendedSizeInTib: pulumi.Int(2),\n\t\t\tSku: \u0026elasticsan.ElasticSanSkuArgs{\n\t\t\t\tName: pulumi.String(\"example-value\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.elasticsan.ElasticSan;\nimport com.pulumi.azure.elasticsan.ElasticSanArgs;\nimport com.pulumi.azure.elasticsan.inputs.ElasticSanSkuArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleElasticSan = new ElasticSan(\"exampleElasticSan\", ElasticSanArgs.builder()\n            .name(\"example\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .baseSizeInTib(1)\n            .extendedSizeInTib(2)\n            .sku(ElasticSanSkuArgs.builder()\n                .name(\"example-value\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleElasticSan:\n    type: azure:elasticsan:ElasticSan\n    name: example\n    properties:\n      name: example\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      baseSizeInTib: 1\n      extendedSizeInTib: 2\n      sku:\n        name: example-value\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.ElasticSan` - 2023-01-01\n\n## Import\n\nAn existing Elastic SAN can be imported into Pulumi using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:elasticsan/elasticSan:ElasticSan example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ElasticSan/elasticSans/esan1\n```\n\n","properties":{"baseSizeInTib":{"type":"integer","description":"Specifies the base size of the Elastic SAN resource in TiB. Possible values are between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`100`\" pulumi-lang-dotnet=\"`100`\" pulumi-lang-go=\"`100`\" pulumi-lang-python=\"`100`\" pulumi-lang-yaml=\"`100`\" pulumi-lang-java=\"`100`\"\u003e`100`\u003c/span\u003e.\n\n\u003e **Note:** When updating \u003cspan pulumi-lang-nodejs=\"`baseSizeInTib`\" pulumi-lang-dotnet=\"`BaseSizeInTib`\" pulumi-lang-go=\"`baseSizeInTib`\" pulumi-lang-python=\"`base_size_in_tib`\" pulumi-lang-yaml=\"`baseSizeInTib`\" pulumi-lang-java=\"`baseSizeInTib`\"\u003e`base_size_in_tib`\u003c/span\u003e, the new value should be greater than the existing one.\n"},"extendedSizeInTib":{"type":"integer","description":"Specifies the extended size of the Elastic SAN resource in TiB. Possible values are between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`100`\" pulumi-lang-dotnet=\"`100`\" pulumi-lang-go=\"`100`\" pulumi-lang-python=\"`100`\" pulumi-lang-yaml=\"`100`\" pulumi-lang-java=\"`100`\"\u003e`100`\u003c/span\u003e.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`extendedSizeInTib`\" pulumi-lang-dotnet=\"`ExtendedSizeInTib`\" pulumi-lang-go=\"`extendedSizeInTib`\" pulumi-lang-python=\"`extended_size_in_tib`\" pulumi-lang-yaml=\"`extendedSizeInTib`\" pulumi-lang-java=\"`extendedSizeInTib`\"\u003e`extended_size_in_tib`\u003c/span\u003e cannot be removed and when updating, the new value should be greater than the existing one.\n"},"location":{"type":"string","description":"The Azure Region where the Elastic SAN resource should exist. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"Specifies the name of this Elastic SAN resource. Changing this forces a new resource to be created.\n"},"resourceGroupName":{"type":"string","description":"Specifies the name of the Resource Group within which this Elastic SAN resource should exist. Changing this forces a new resource to be created.\n"},"sku":{"$ref":"#/types/azure:elasticsan/ElasticSanSku:ElasticSanSku","description":"A \u003cspan pulumi-lang-nodejs=\"`sku`\" pulumi-lang-dotnet=\"`Sku`\" pulumi-lang-go=\"`sku`\" pulumi-lang-python=\"`sku`\" pulumi-lang-yaml=\"`sku`\" pulumi-lang-java=\"`sku`\"\u003e`sku`\u003c/span\u003e block as defined below.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Elastic SAN resource.\n"},"totalIops":{"type":"integer","description":"Total Provisioned IOps of the Elastic SAN resource.\n"},"totalMbps":{"type":"integer","description":"Total Provisioned MBps Elastic SAN resource.\n"},"totalSizeInTib":{"type":"integer","description":"Total size of the Elastic SAN resource in TB.\n"},"totalVolumeSizeInGib":{"type":"integer","description":"Total size of the provisioned Volumes in GiB.\n"},"volumeGroupCount":{"type":"integer","description":"Total number of volume groups in this Elastic SAN resource.\n"},"zones":{"type":"array","items":{"type":"string"},"description":"Logical zone for the Elastic SAN resource. Changing this forces a new resource to be created.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`zones`\" pulumi-lang-dotnet=\"`Zones`\" pulumi-lang-go=\"`zones`\" pulumi-lang-python=\"`zones`\" pulumi-lang-yaml=\"`zones`\" pulumi-lang-java=\"`zones`\"\u003e`zones`\u003c/span\u003e cannot be specified if `sku.name` is set to `Premium_ZRS`.\n"}},"required":["baseSizeInTib","location","name","resourceGroupName","sku","totalIops","totalMbps","totalSizeInTib","totalVolumeSizeInGib","volumeGroupCount"],"inputProperties":{"baseSizeInTib":{"type":"integer","description":"Specifies the base size of the Elastic SAN resource in TiB. Possible values are between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`100`\" pulumi-lang-dotnet=\"`100`\" pulumi-lang-go=\"`100`\" pulumi-lang-python=\"`100`\" pulumi-lang-yaml=\"`100`\" pulumi-lang-java=\"`100`\"\u003e`100`\u003c/span\u003e.\n\n\u003e **Note:** When updating \u003cspan pulumi-lang-nodejs=\"`baseSizeInTib`\" pulumi-lang-dotnet=\"`BaseSizeInTib`\" pulumi-lang-go=\"`baseSizeInTib`\" pulumi-lang-python=\"`base_size_in_tib`\" pulumi-lang-yaml=\"`baseSizeInTib`\" pulumi-lang-java=\"`baseSizeInTib`\"\u003e`base_size_in_tib`\u003c/span\u003e, the new value should be greater than the existing one.\n"},"extendedSizeInTib":{"type":"integer","description":"Specifies the extended size of the Elastic SAN resource in TiB. Possible values are between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`100`\" pulumi-lang-dotnet=\"`100`\" pulumi-lang-go=\"`100`\" pulumi-lang-python=\"`100`\" pulumi-lang-yaml=\"`100`\" pulumi-lang-java=\"`100`\"\u003e`100`\u003c/span\u003e.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`extendedSizeInTib`\" pulumi-lang-dotnet=\"`ExtendedSizeInTib`\" pulumi-lang-go=\"`extendedSizeInTib`\" pulumi-lang-python=\"`extended_size_in_tib`\" pulumi-lang-yaml=\"`extendedSizeInTib`\" pulumi-lang-java=\"`extendedSizeInTib`\"\u003e`extended_size_in_tib`\u003c/span\u003e cannot be removed and when updating, the new value should be greater than the existing one.\n"},"location":{"type":"string","description":"The Azure Region where the Elastic SAN resource should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of this Elastic SAN resource. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"Specifies the name of the Resource Group within which this Elastic SAN resource should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sku":{"$ref":"#/types/azure:elasticsan/ElasticSanSku:ElasticSanSku","description":"A \u003cspan pulumi-lang-nodejs=\"`sku`\" pulumi-lang-dotnet=\"`Sku`\" pulumi-lang-go=\"`sku`\" pulumi-lang-python=\"`sku`\" pulumi-lang-yaml=\"`sku`\" pulumi-lang-java=\"`sku`\"\u003e`sku`\u003c/span\u003e block as defined below.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Elastic SAN resource.\n"},"zones":{"type":"array","items":{"type":"string"},"description":"Logical zone for the Elastic SAN resource. Changing this forces a new resource to be created.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`zones`\" pulumi-lang-dotnet=\"`Zones`\" pulumi-lang-go=\"`zones`\" pulumi-lang-python=\"`zones`\" pulumi-lang-yaml=\"`zones`\" pulumi-lang-java=\"`zones`\"\u003e`zones`\u003c/span\u003e cannot be specified if `sku.name` is set to `Premium_ZRS`.\n","willReplaceOnChanges":true}},"requiredInputs":["baseSizeInTib","resourceGroupName","sku"],"stateInputs":{"description":"Input properties used for looking up and filtering ElasticSan resources.\n","properties":{"baseSizeInTib":{"type":"integer","description":"Specifies the base size of the Elastic SAN resource in TiB. Possible values are between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`100`\" pulumi-lang-dotnet=\"`100`\" pulumi-lang-go=\"`100`\" pulumi-lang-python=\"`100`\" pulumi-lang-yaml=\"`100`\" pulumi-lang-java=\"`100`\"\u003e`100`\u003c/span\u003e.\n\n\u003e **Note:** When updating \u003cspan pulumi-lang-nodejs=\"`baseSizeInTib`\" pulumi-lang-dotnet=\"`BaseSizeInTib`\" pulumi-lang-go=\"`baseSizeInTib`\" pulumi-lang-python=\"`base_size_in_tib`\" pulumi-lang-yaml=\"`baseSizeInTib`\" pulumi-lang-java=\"`baseSizeInTib`\"\u003e`base_size_in_tib`\u003c/span\u003e, the new value should be greater than the existing one.\n"},"extendedSizeInTib":{"type":"integer","description":"Specifies the extended size of the Elastic SAN resource in TiB. Possible values are between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`100`\" pulumi-lang-dotnet=\"`100`\" pulumi-lang-go=\"`100`\" pulumi-lang-python=\"`100`\" pulumi-lang-yaml=\"`100`\" pulumi-lang-java=\"`100`\"\u003e`100`\u003c/span\u003e.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`extendedSizeInTib`\" pulumi-lang-dotnet=\"`ExtendedSizeInTib`\" pulumi-lang-go=\"`extendedSizeInTib`\" pulumi-lang-python=\"`extended_size_in_tib`\" pulumi-lang-yaml=\"`extendedSizeInTib`\" pulumi-lang-java=\"`extendedSizeInTib`\"\u003e`extended_size_in_tib`\u003c/span\u003e cannot be removed and when updating, the new value should be greater than the existing one.\n"},"location":{"type":"string","description":"The Azure Region where the Elastic SAN resource should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of this Elastic SAN resource. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"Specifies the name of the Resource Group within which this Elastic SAN resource should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sku":{"$ref":"#/types/azure:elasticsan/ElasticSanSku:ElasticSanSku","description":"A \u003cspan pulumi-lang-nodejs=\"`sku`\" pulumi-lang-dotnet=\"`Sku`\" pulumi-lang-go=\"`sku`\" pulumi-lang-python=\"`sku`\" pulumi-lang-yaml=\"`sku`\" pulumi-lang-java=\"`sku`\"\u003e`sku`\u003c/span\u003e block as defined below.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Elastic SAN resource.\n"},"totalIops":{"type":"integer","description":"Total Provisioned IOps of the Elastic SAN resource.\n"},"totalMbps":{"type":"integer","description":"Total Provisioned MBps Elastic SAN resource.\n"},"totalSizeInTib":{"type":"integer","description":"Total size of the Elastic SAN resource in TB.\n"},"totalVolumeSizeInGib":{"type":"integer","description":"Total size of the provisioned Volumes in GiB.\n"},"volumeGroupCount":{"type":"integer","description":"Total number of volume groups in this Elastic SAN resource.\n"},"zones":{"type":"array","items":{"type":"string"},"description":"Logical zone for the Elastic SAN resource. Changing this forces a new resource to be created.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`zones`\" pulumi-lang-dotnet=\"`Zones`\" pulumi-lang-go=\"`zones`\" pulumi-lang-python=\"`zones`\" pulumi-lang-yaml=\"`zones`\" pulumi-lang-java=\"`zones`\"\u003e`zones`\u003c/span\u003e cannot be specified if `sku.name` is set to `Premium_ZRS`.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:elasticsan/volume:Volume":{"description":"Manages an Elastic SAN Volume resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-rg\",\n    location: \"West Europe\",\n});\nconst exampleElasticSan = new azure.elasticsan.ElasticSan(\"example\", {\n    name: \"example-es\",\n    resourceGroupName: example.name,\n    location: example.location,\n    baseSizeInTib: 1,\n    sku: {\n        name: \"Premium_LRS\",\n    },\n});\nconst exampleVolumeGroup = new azure.elasticsan.VolumeGroup(\"example\", {\n    name: \"example-esvg\",\n    elasticSanId: exampleElasticSan.id,\n});\nconst exampleVolume = new azure.elasticsan.Volume(\"example\", {\n    name: \"example-esv\",\n    volumeGroupId: exampleVolumeGroup.id,\n    sizeInGib: 1,\n});\nexport const targetIqn = exampleVolume.targetIqn;\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-rg\",\n    location=\"West Europe\")\nexample_elastic_san = azure.elasticsan.ElasticSan(\"example\",\n    name=\"example-es\",\n    resource_group_name=example.name,\n    location=example.location,\n    base_size_in_tib=1,\n    sku={\n        \"name\": \"Premium_LRS\",\n    })\nexample_volume_group = azure.elasticsan.VolumeGroup(\"example\",\n    name=\"example-esvg\",\n    elastic_san_id=example_elastic_san.id)\nexample_volume = azure.elasticsan.Volume(\"example\",\n    name=\"example-esv\",\n    volume_group_id=example_volume_group.id,\n    size_in_gib=1)\npulumi.export(\"targetIqn\", example_volume.target_iqn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-rg\",\n        Location = \"West Europe\",\n    });\n\n    var exampleElasticSan = new Azure.ElasticSan.ElasticSan(\"example\", new()\n    {\n        Name = \"example-es\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        BaseSizeInTib = 1,\n        Sku = new Azure.ElasticSan.Inputs.ElasticSanSkuArgs\n        {\n            Name = \"Premium_LRS\",\n        },\n    });\n\n    var exampleVolumeGroup = new Azure.ElasticSan.VolumeGroup(\"example\", new()\n    {\n        Name = \"example-esvg\",\n        ElasticSanId = exampleElasticSan.Id,\n    });\n\n    var exampleVolume = new Azure.ElasticSan.Volume(\"example\", new()\n    {\n        Name = \"example-esv\",\n        VolumeGroupId = exampleVolumeGroup.Id,\n        SizeInGib = 1,\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"targetIqn\"] = exampleVolume.TargetIqn,\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/elasticsan\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-rg\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleElasticSan, err := elasticsan.NewElasticSan(ctx, \"example\", \u0026elasticsan.ElasticSanArgs{\n\t\t\tName:              pulumi.String(\"example-es\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tBaseSizeInTib:     pulumi.Int(1),\n\t\t\tSku: \u0026elasticsan.ElasticSanSkuArgs{\n\t\t\t\tName: pulumi.String(\"Premium_LRS\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVolumeGroup, err := elasticsan.NewVolumeGroup(ctx, \"example\", \u0026elasticsan.VolumeGroupArgs{\n\t\t\tName:         pulumi.String(\"example-esvg\"),\n\t\t\tElasticSanId: exampleElasticSan.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVolume, err := elasticsan.NewVolume(ctx, \"example\", \u0026elasticsan.VolumeArgs{\n\t\t\tName:          pulumi.String(\"example-esv\"),\n\t\t\tVolumeGroupId: exampleVolumeGroup.ID(),\n\t\t\tSizeInGib:     pulumi.Int(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"targetIqn\", exampleVolume.TargetIqn)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.elasticsan.ElasticSan;\nimport com.pulumi.azure.elasticsan.ElasticSanArgs;\nimport com.pulumi.azure.elasticsan.inputs.ElasticSanSkuArgs;\nimport com.pulumi.azure.elasticsan.VolumeGroup;\nimport com.pulumi.azure.elasticsan.VolumeGroupArgs;\nimport com.pulumi.azure.elasticsan.Volume;\nimport com.pulumi.azure.elasticsan.VolumeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-rg\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleElasticSan = new ElasticSan(\"exampleElasticSan\", ElasticSanArgs.builder()\n            .name(\"example-es\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .baseSizeInTib(1)\n            .sku(ElasticSanSkuArgs.builder()\n                .name(\"Premium_LRS\")\n                .build())\n            .build());\n\n        var exampleVolumeGroup = new VolumeGroup(\"exampleVolumeGroup\", VolumeGroupArgs.builder()\n            .name(\"example-esvg\")\n            .elasticSanId(exampleElasticSan.id())\n            .build());\n\n        var exampleVolume = new Volume(\"exampleVolume\", VolumeArgs.builder()\n            .name(\"example-esv\")\n            .volumeGroupId(exampleVolumeGroup.id())\n            .sizeInGib(1)\n            .build());\n\n        ctx.export(\"targetIqn\", exampleVolume.targetIqn());\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-rg\n      location: West Europe\n  exampleElasticSan:\n    type: azure:elasticsan:ElasticSan\n    name: example\n    properties:\n      name: example-es\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      baseSizeInTib: 1\n      sku:\n        name: Premium_LRS\n  exampleVolumeGroup:\n    type: azure:elasticsan:VolumeGroup\n    name: example\n    properties:\n      name: example-esvg\n      elasticSanId: ${exampleElasticSan.id}\n  exampleVolume:\n    type: azure:elasticsan:Volume\n    name: example\n    properties:\n      name: example-esv\n      volumeGroupId: ${exampleVolumeGroup.id}\n      sizeInGib: 1\noutputs:\n  targetIqn: ${exampleVolume.targetIqn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Example of creating an Elastic SAN Volume from a Disk Snapshot\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-rg\",\n    location: \"West Europe\",\n});\nconst exampleElasticSan = new azure.elasticsan.ElasticSan(\"example\", {\n    name: \"example-es\",\n    resourceGroupName: example.name,\n    location: example.location,\n    baseSizeInTib: 1,\n    sku: {\n        name: \"Premium_LRS\",\n    },\n});\nconst exampleVolumeGroup = new azure.elasticsan.VolumeGroup(\"example\", {\n    name: \"example-esvg\",\n    elasticSanId: exampleElasticSan.id,\n});\nconst exampleManagedDisk = new azure.compute.ManagedDisk(\"example\", {\n    name: \"example-disk\",\n    location: example.location,\n    resourceGroupName: example.name,\n    createOption: \"Empty\",\n    storageAccountType: \"Standard_LRS\",\n    diskSizeGb: 2,\n});\nconst exampleSnapshot = new azure.compute.Snapshot(\"example\", {\n    name: \"example-ss\",\n    location: example.location,\n    resourceGroupName: example.name,\n    createOption: \"Copy\",\n    sourceUri: exampleManagedDisk.id,\n});\nconst example2 = new azure.elasticsan.Volume(\"example2\", {\n    name: \"example-esv2\",\n    volumeGroupId: exampleVolumeGroup.id,\n    sizeInGib: 2,\n    createSource: {\n        sourceType: \"DiskSnapshot\",\n        sourceId: exampleSnapshot.id,\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-rg\",\n    location=\"West Europe\")\nexample_elastic_san = azure.elasticsan.ElasticSan(\"example\",\n    name=\"example-es\",\n    resource_group_name=example.name,\n    location=example.location,\n    base_size_in_tib=1,\n    sku={\n        \"name\": \"Premium_LRS\",\n    })\nexample_volume_group = azure.elasticsan.VolumeGroup(\"example\",\n    name=\"example-esvg\",\n    elastic_san_id=example_elastic_san.id)\nexample_managed_disk = azure.compute.ManagedDisk(\"example\",\n    name=\"example-disk\",\n    location=example.location,\n    resource_group_name=example.name,\n    create_option=\"Empty\",\n    storage_account_type=\"Standard_LRS\",\n    disk_size_gb=2)\nexample_snapshot = azure.compute.Snapshot(\"example\",\n    name=\"example-ss\",\n    location=example.location,\n    resource_group_name=example.name,\n    create_option=\"Copy\",\n    source_uri=example_managed_disk.id)\nexample2 = azure.elasticsan.Volume(\"example2\",\n    name=\"example-esv2\",\n    volume_group_id=example_volume_group.id,\n    size_in_gib=2,\n    create_source={\n        \"source_type\": \"DiskSnapshot\",\n        \"source_id\": example_snapshot.id,\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-rg\",\n        Location = \"West Europe\",\n    });\n\n    var exampleElasticSan = new Azure.ElasticSan.ElasticSan(\"example\", new()\n    {\n        Name = \"example-es\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        BaseSizeInTib = 1,\n        Sku = new Azure.ElasticSan.Inputs.ElasticSanSkuArgs\n        {\n            Name = \"Premium_LRS\",\n        },\n    });\n\n    var exampleVolumeGroup = new Azure.ElasticSan.VolumeGroup(\"example\", new()\n    {\n        Name = \"example-esvg\",\n        ElasticSanId = exampleElasticSan.Id,\n    });\n\n    var exampleManagedDisk = new Azure.Compute.ManagedDisk(\"example\", new()\n    {\n        Name = \"example-disk\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        CreateOption = \"Empty\",\n        StorageAccountType = \"Standard_LRS\",\n        DiskSizeGb = 2,\n    });\n\n    var exampleSnapshot = new Azure.Compute.Snapshot(\"example\", new()\n    {\n        Name = \"example-ss\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        CreateOption = \"Copy\",\n        SourceUri = exampleManagedDisk.Id,\n    });\n\n    var example2 = new Azure.ElasticSan.Volume(\"example2\", new()\n    {\n        Name = \"example-esv2\",\n        VolumeGroupId = exampleVolumeGroup.Id,\n        SizeInGib = 2,\n        CreateSource = new Azure.ElasticSan.Inputs.VolumeCreateSourceArgs\n        {\n            SourceType = \"DiskSnapshot\",\n            SourceId = exampleSnapshot.Id,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/compute\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/elasticsan\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-rg\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleElasticSan, err := elasticsan.NewElasticSan(ctx, \"example\", \u0026elasticsan.ElasticSanArgs{\n\t\t\tName:              pulumi.String(\"example-es\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tBaseSizeInTib:     pulumi.Int(1),\n\t\t\tSku: \u0026elasticsan.ElasticSanSkuArgs{\n\t\t\t\tName: pulumi.String(\"Premium_LRS\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVolumeGroup, err := elasticsan.NewVolumeGroup(ctx, \"example\", \u0026elasticsan.VolumeGroupArgs{\n\t\t\tName:         pulumi.String(\"example-esvg\"),\n\t\t\tElasticSanId: exampleElasticSan.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleManagedDisk, err := compute.NewManagedDisk(ctx, \"example\", \u0026compute.ManagedDiskArgs{\n\t\t\tName:               pulumi.String(\"example-disk\"),\n\t\t\tLocation:           example.Location,\n\t\t\tResourceGroupName:  example.Name,\n\t\t\tCreateOption:       pulumi.String(\"Empty\"),\n\t\t\tStorageAccountType: pulumi.String(\"Standard_LRS\"),\n\t\t\tDiskSizeGb:         pulumi.Int(2),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSnapshot, err := compute.NewSnapshot(ctx, \"example\", \u0026compute.SnapshotArgs{\n\t\t\tName:              pulumi.String(\"example-ss\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tCreateOption:      pulumi.String(\"Copy\"),\n\t\t\tSourceUri:         exampleManagedDisk.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = elasticsan.NewVolume(ctx, \"example2\", \u0026elasticsan.VolumeArgs{\n\t\t\tName:          pulumi.String(\"example-esv2\"),\n\t\t\tVolumeGroupId: exampleVolumeGroup.ID(),\n\t\t\tSizeInGib:     pulumi.Int(2),\n\t\t\tCreateSource: \u0026elasticsan.VolumeCreateSourceArgs{\n\t\t\t\tSourceType: pulumi.String(\"DiskSnapshot\"),\n\t\t\t\tSourceId:   exampleSnapshot.ID(),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.elasticsan.ElasticSan;\nimport com.pulumi.azure.elasticsan.ElasticSanArgs;\nimport com.pulumi.azure.elasticsan.inputs.ElasticSanSkuArgs;\nimport com.pulumi.azure.elasticsan.VolumeGroup;\nimport com.pulumi.azure.elasticsan.VolumeGroupArgs;\nimport com.pulumi.azure.compute.ManagedDisk;\nimport com.pulumi.azure.compute.ManagedDiskArgs;\nimport com.pulumi.azure.compute.Snapshot;\nimport com.pulumi.azure.compute.SnapshotArgs;\nimport com.pulumi.azure.elasticsan.Volume;\nimport com.pulumi.azure.elasticsan.VolumeArgs;\nimport com.pulumi.azure.elasticsan.inputs.VolumeCreateSourceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-rg\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleElasticSan = new ElasticSan(\"exampleElasticSan\", ElasticSanArgs.builder()\n            .name(\"example-es\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .baseSizeInTib(1)\n            .sku(ElasticSanSkuArgs.builder()\n                .name(\"Premium_LRS\")\n                .build())\n            .build());\n\n        var exampleVolumeGroup = new VolumeGroup(\"exampleVolumeGroup\", VolumeGroupArgs.builder()\n            .name(\"example-esvg\")\n            .elasticSanId(exampleElasticSan.id())\n            .build());\n\n        var exampleManagedDisk = new ManagedDisk(\"exampleManagedDisk\", ManagedDiskArgs.builder()\n            .name(\"example-disk\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .createOption(\"Empty\")\n            .storageAccountType(\"Standard_LRS\")\n            .diskSizeGb(2)\n            .build());\n\n        var exampleSnapshot = new Snapshot(\"exampleSnapshot\", SnapshotArgs.builder()\n            .name(\"example-ss\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .createOption(\"Copy\")\n            .sourceUri(exampleManagedDisk.id())\n            .build());\n\n        var example2 = new Volume(\"example2\", VolumeArgs.builder()\n            .name(\"example-esv2\")\n            .volumeGroupId(exampleVolumeGroup.id())\n            .sizeInGib(2)\n            .createSource(VolumeCreateSourceArgs.builder()\n                .sourceType(\"DiskSnapshot\")\n                .sourceId(exampleSnapshot.id())\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-rg\n      location: West Europe\n  exampleElasticSan:\n    type: azure:elasticsan:ElasticSan\n    name: example\n    properties:\n      name: example-es\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      baseSizeInTib: 1\n      sku:\n        name: Premium_LRS\n  exampleVolumeGroup:\n    type: azure:elasticsan:VolumeGroup\n    name: example\n    properties:\n      name: example-esvg\n      elasticSanId: ${exampleElasticSan.id}\n  exampleManagedDisk:\n    type: azure:compute:ManagedDisk\n    name: example\n    properties:\n      name: example-disk\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      createOption: Empty\n      storageAccountType: Standard_LRS\n      diskSizeGb: 2\n  exampleSnapshot:\n    type: azure:compute:Snapshot\n    name: example\n    properties:\n      name: example-ss\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      createOption: Copy\n      sourceUri: ${exampleManagedDisk.id}\n  example2:\n    type: azure:elasticsan:Volume\n    properties:\n      name: example-esv2\n      volumeGroupId: ${exampleVolumeGroup.id}\n      sizeInGib: 2\n      createSource:\n        sourceType: DiskSnapshot\n        sourceId: ${exampleSnapshot.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.ElasticSan` - 2023-01-01\n\n## Import\n\nAn existing Elastic SAN Volume can be imported into Pulumi using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:elasticsan/volume:Volume example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ElasticSan/elasticSans/esan1/volumeGroups/vg1/volumes/vol1\n```\n\n","properties":{"createSource":{"$ref":"#/types/azure:elasticsan/VolumeCreateSource:VolumeCreateSource","description":"A \u003cspan pulumi-lang-nodejs=\"`createSource`\" pulumi-lang-dotnet=\"`CreateSource`\" pulumi-lang-go=\"`createSource`\" pulumi-lang-python=\"`create_source`\" pulumi-lang-yaml=\"`createSource`\" pulumi-lang-java=\"`createSource`\"\u003e`create_source`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"Specifies the name of this Elastic SAN Volume. Changing this forces a new resource to be created.\n"},"sizeInGib":{"type":"integer","description":"Specifies the size of the Elastic SAN Volume in GiB. The size should be within the remaining capacity of the parent Elastic SAN. Possible values are between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`65536`\" pulumi-lang-dotnet=\"`65536`\" pulumi-lang-go=\"`65536`\" pulumi-lang-python=\"`65536`\" pulumi-lang-yaml=\"`65536`\" pulumi-lang-java=\"`65536`\"\u003e`65536`\u003c/span\u003e (16 TiB).\n\n\u003e **Note:** The size can only be increased. If \u003cspan pulumi-lang-nodejs=\"`createSource`\" pulumi-lang-dotnet=\"`CreateSource`\" pulumi-lang-go=\"`createSource`\" pulumi-lang-python=\"`create_source`\" pulumi-lang-yaml=\"`createSource`\" pulumi-lang-java=\"`createSource`\"\u003e`create_source`\u003c/span\u003e is specified, then the size must be equal to or greater than the source's size.\n"},"targetIqn":{"type":"string","description":"The iSCSI Target IQN of the Elastic SAN Volume.\n"},"targetPortalHostname":{"type":"string","description":"The iSCSI Target Portal Host Name of the Elastic SAN Volume.\n"},"targetPortalPort":{"type":"integer","description":"The iSCSI Target Portal Port of the Elastic SAN Volume.\n"},"volumeGroupId":{"type":"string","description":"Specifies the Volume Group ID within which this Elastic SAN Volume should exist. Changing this forces a new resource to be created.\n"},"volumeId":{"type":"string","description":"The UUID of the Elastic SAN Volume.\n"}},"required":["name","sizeInGib","targetIqn","targetPortalHostname","targetPortalPort","volumeGroupId","volumeId"],"inputProperties":{"createSource":{"$ref":"#/types/azure:elasticsan/VolumeCreateSource:VolumeCreateSource","description":"A \u003cspan pulumi-lang-nodejs=\"`createSource`\" pulumi-lang-dotnet=\"`CreateSource`\" pulumi-lang-go=\"`createSource`\" pulumi-lang-python=\"`create_source`\" pulumi-lang-yaml=\"`createSource`\" pulumi-lang-java=\"`createSource`\"\u003e`create_source`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of this Elastic SAN Volume. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sizeInGib":{"type":"integer","description":"Specifies the size of the Elastic SAN Volume in GiB. The size should be within the remaining capacity of the parent Elastic SAN. Possible values are between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`65536`\" pulumi-lang-dotnet=\"`65536`\" pulumi-lang-go=\"`65536`\" pulumi-lang-python=\"`65536`\" pulumi-lang-yaml=\"`65536`\" pulumi-lang-java=\"`65536`\"\u003e`65536`\u003c/span\u003e (16 TiB).\n\n\u003e **Note:** The size can only be increased. If \u003cspan pulumi-lang-nodejs=\"`createSource`\" pulumi-lang-dotnet=\"`CreateSource`\" pulumi-lang-go=\"`createSource`\" pulumi-lang-python=\"`create_source`\" pulumi-lang-yaml=\"`createSource`\" pulumi-lang-java=\"`createSource`\"\u003e`create_source`\u003c/span\u003e is specified, then the size must be equal to or greater than the source's size.\n"},"volumeGroupId":{"type":"string","description":"Specifies the Volume Group ID within which this Elastic SAN Volume should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["sizeInGib","volumeGroupId"],"stateInputs":{"description":"Input properties used for looking up and filtering Volume resources.\n","properties":{"createSource":{"$ref":"#/types/azure:elasticsan/VolumeCreateSource:VolumeCreateSource","description":"A \u003cspan pulumi-lang-nodejs=\"`createSource`\" pulumi-lang-dotnet=\"`CreateSource`\" pulumi-lang-go=\"`createSource`\" pulumi-lang-python=\"`create_source`\" pulumi-lang-yaml=\"`createSource`\" pulumi-lang-java=\"`createSource`\"\u003e`create_source`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of this Elastic SAN Volume. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sizeInGib":{"type":"integer","description":"Specifies the size of the Elastic SAN Volume in GiB. The size should be within the remaining capacity of the parent Elastic SAN. Possible values are between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`65536`\" pulumi-lang-dotnet=\"`65536`\" pulumi-lang-go=\"`65536`\" pulumi-lang-python=\"`65536`\" pulumi-lang-yaml=\"`65536`\" pulumi-lang-java=\"`65536`\"\u003e`65536`\u003c/span\u003e (16 TiB).\n\n\u003e **Note:** The size can only be increased. If \u003cspan pulumi-lang-nodejs=\"`createSource`\" pulumi-lang-dotnet=\"`CreateSource`\" pulumi-lang-go=\"`createSource`\" pulumi-lang-python=\"`create_source`\" pulumi-lang-yaml=\"`createSource`\" pulumi-lang-java=\"`createSource`\"\u003e`create_source`\u003c/span\u003e is specified, then the size must be equal to or greater than the source's size.\n"},"targetIqn":{"type":"string","description":"The iSCSI Target IQN of the Elastic SAN Volume.\n"},"targetPortalHostname":{"type":"string","description":"The iSCSI Target Portal Host Name of the Elastic SAN Volume.\n"},"targetPortalPort":{"type":"integer","description":"The iSCSI Target Portal Port of the Elastic SAN Volume.\n"},"volumeGroupId":{"type":"string","description":"Specifies the Volume Group ID within which this Elastic SAN Volume should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"volumeId":{"type":"string","description":"The UUID of the Elastic SAN Volume.\n"}},"type":"object"}},"azure:elasticsan/volumeGroup:VolumeGroup":{"description":"Manages an Elastic SAN Volume Group resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-rg\",\n    location: \"West Europe\",\n});\nconst exampleElasticSan = new azure.elasticsan.ElasticSan(\"example\", {\n    name: \"examplees-es\",\n    resourceGroupName: example.name,\n    location: example.location,\n    baseSizeInTib: 1,\n    sku: {\n        name: \"Premium_LRS\",\n    },\n});\nconst current = azure.core.getClientConfig({});\nconst exampleUserAssignedIdentity = new azure.authorization.UserAssignedIdentity(\"example\", {\n    name: \"example-uai\",\n    location: example.location,\n    resourceGroupName: example.name,\n});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"example\", {\n    name: \"example-vnet\",\n    addressSpaces: [\"10.0.0.0/16\"],\n    location: example.location,\n    resourceGroupName: example.name,\n});\nconst exampleSubnet = new azure.network.Subnet(\"example\", {\n    name: \"example-subnet\",\n    resourceGroupName: example.name,\n    virtualNetworkName: exampleVirtualNetwork.name,\n    addressPrefixes: [\"10.0.1.0/24\"],\n    serviceEndpoints: [\"Microsoft.Storage.Global\"],\n});\nconst exampleKeyVault = new azure.keyvault.KeyVault(\"example\", {\n    name: \"examplekv\",\n    location: example.location,\n    resourceGroupName: example.name,\n    enabledForDiskEncryption: true,\n    tenantId: current.then(current =\u003e current.tenantId),\n    softDeleteRetentionDays: 7,\n    purgeProtectionEnabled: true,\n    skuName: \"standard\",\n});\nconst userAssignedIdentity = new azure.keyvault.AccessPolicy(\"userAssignedIdentity\", {\n    keyVaultId: exampleKeyVault.id,\n    tenantId: current.then(current =\u003e current.tenantId),\n    objectId: exampleUserAssignedIdentity.principalId,\n    keyPermissions: [\n        \"Get\",\n        \"UnwrapKey\",\n        \"WrapKey\",\n    ],\n    secretPermissions: [\"Get\"],\n});\nconst client = new azure.keyvault.AccessPolicy(\"client\", {\n    keyVaultId: exampleKeyVault.id,\n    tenantId: current.then(current =\u003e current.tenantId),\n    objectId: current.then(current =\u003e current.objectId),\n    keyPermissions: [\n        \"Get\",\n        \"Create\",\n        \"Delete\",\n        \"List\",\n        \"Restore\",\n        \"Recover\",\n        \"UnwrapKey\",\n        \"WrapKey\",\n        \"Purge\",\n        \"Encrypt\",\n        \"Decrypt\",\n        \"Sign\",\n        \"Verify\",\n        \"GetRotationPolicy\",\n    ],\n    secretPermissions: [\"Get\"],\n});\nconst exampleKey = new azure.keyvault.Key(\"example\", {\n    name: \"example-kvk\",\n    keyVaultId: exampleKeyVault.id,\n    keyType: \"RSA\",\n    keySize: 2048,\n    keyOpts: [\n        \"decrypt\",\n        \"encrypt\",\n        \"sign\",\n        \"unwrapKey\",\n        \"verify\",\n        \"wrapKey\",\n    ],\n}, {\n    dependsOn: [\n        userAssignedIdentity,\n        client,\n    ],\n});\nconst exampleVolumeGroup = new azure.elasticsan.VolumeGroup(\"example\", {\n    name: \"example-esvg\",\n    elasticSanId: exampleElasticSan.id,\n    encryptionType: \"EncryptionAtRestWithCustomerManagedKey\",\n    encryption: {\n        keyVaultKeyId: exampleKey.versionlessId,\n        userAssignedIdentityId: exampleUserAssignedIdentity.id,\n    },\n    identity: {\n        type: \"UserAssigned\",\n        identityIds: [exampleUserAssignedIdentity.id],\n    },\n    networkRules: [{\n        subnetId: exampleSubnet.id,\n        action: \"Allow\",\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-rg\",\n    location=\"West Europe\")\nexample_elastic_san = azure.elasticsan.ElasticSan(\"example\",\n    name=\"examplees-es\",\n    resource_group_name=example.name,\n    location=example.location,\n    base_size_in_tib=1,\n    sku={\n        \"name\": \"Premium_LRS\",\n    })\ncurrent = azure.core.get_client_config()\nexample_user_assigned_identity = azure.authorization.UserAssignedIdentity(\"example\",\n    name=\"example-uai\",\n    location=example.location,\n    resource_group_name=example.name)\nexample_virtual_network = azure.network.VirtualNetwork(\"example\",\n    name=\"example-vnet\",\n    address_spaces=[\"10.0.0.0/16\"],\n    location=example.location,\n    resource_group_name=example.name)\nexample_subnet = azure.network.Subnet(\"example\",\n    name=\"example-subnet\",\n    resource_group_name=example.name,\n    virtual_network_name=example_virtual_network.name,\n    address_prefixes=[\"10.0.1.0/24\"],\n    service_endpoints=[\"Microsoft.Storage.Global\"])\nexample_key_vault = azure.keyvault.KeyVault(\"example\",\n    name=\"examplekv\",\n    location=example.location,\n    resource_group_name=example.name,\n    enabled_for_disk_encryption=True,\n    tenant_id=current.tenant_id,\n    soft_delete_retention_days=7,\n    purge_protection_enabled=True,\n    sku_name=\"standard\")\nuser_assigned_identity = azure.keyvault.AccessPolicy(\"userAssignedIdentity\",\n    key_vault_id=example_key_vault.id,\n    tenant_id=current.tenant_id,\n    object_id=example_user_assigned_identity.principal_id,\n    key_permissions=[\n        \"Get\",\n        \"UnwrapKey\",\n        \"WrapKey\",\n    ],\n    secret_permissions=[\"Get\"])\nclient = azure.keyvault.AccessPolicy(\"client\",\n    key_vault_id=example_key_vault.id,\n    tenant_id=current.tenant_id,\n    object_id=current.object_id,\n    key_permissions=[\n        \"Get\",\n        \"Create\",\n        \"Delete\",\n        \"List\",\n        \"Restore\",\n        \"Recover\",\n        \"UnwrapKey\",\n        \"WrapKey\",\n        \"Purge\",\n        \"Encrypt\",\n        \"Decrypt\",\n        \"Sign\",\n        \"Verify\",\n        \"GetRotationPolicy\",\n    ],\n    secret_permissions=[\"Get\"])\nexample_key = azure.keyvault.Key(\"example\",\n    name=\"example-kvk\",\n    key_vault_id=example_key_vault.id,\n    key_type=\"RSA\",\n    key_size=2048,\n    key_opts=[\n        \"decrypt\",\n        \"encrypt\",\n        \"sign\",\n        \"unwrapKey\",\n        \"verify\",\n        \"wrapKey\",\n    ],\n    opts = pulumi.ResourceOptions(depends_on=[\n            user_assigned_identity,\n            client,\n        ]))\nexample_volume_group = azure.elasticsan.VolumeGroup(\"example\",\n    name=\"example-esvg\",\n    elastic_san_id=example_elastic_san.id,\n    encryption_type=\"EncryptionAtRestWithCustomerManagedKey\",\n    encryption={\n        \"key_vault_key_id\": example_key.versionless_id,\n        \"user_assigned_identity_id\": example_user_assigned_identity.id,\n    },\n    identity={\n        \"type\": \"UserAssigned\",\n        \"identity_ids\": [example_user_assigned_identity.id],\n    },\n    network_rules=[{\n        \"subnet_id\": example_subnet.id,\n        \"action\": \"Allow\",\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-rg\",\n        Location = \"West Europe\",\n    });\n\n    var exampleElasticSan = new Azure.ElasticSan.ElasticSan(\"example\", new()\n    {\n        Name = \"examplees-es\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        BaseSizeInTib = 1,\n        Sku = new Azure.ElasticSan.Inputs.ElasticSanSkuArgs\n        {\n            Name = \"Premium_LRS\",\n        },\n    });\n\n    var current = Azure.Core.GetClientConfig.Invoke();\n\n    var exampleUserAssignedIdentity = new Azure.Authorization.UserAssignedIdentity(\"example\", new()\n    {\n        Name = \"example-uai\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n    });\n\n    var exampleVirtualNetwork = new Azure.Network.VirtualNetwork(\"example\", new()\n    {\n        Name = \"example-vnet\",\n        AddressSpaces = new[]\n        {\n            \"10.0.0.0/16\",\n        },\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n    });\n\n    var exampleSubnet = new Azure.Network.Subnet(\"example\", new()\n    {\n        Name = \"example-subnet\",\n        ResourceGroupName = example.Name,\n        VirtualNetworkName = exampleVirtualNetwork.Name,\n        AddressPrefixes = new[]\n        {\n            \"10.0.1.0/24\",\n        },\n        ServiceEndpoints = new[]\n        {\n            \"Microsoft.Storage.Global\",\n        },\n    });\n\n    var exampleKeyVault = new Azure.KeyVault.KeyVault(\"example\", new()\n    {\n        Name = \"examplekv\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        EnabledForDiskEncryption = true,\n        TenantId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.TenantId),\n        SoftDeleteRetentionDays = 7,\n        PurgeProtectionEnabled = true,\n        SkuName = \"standard\",\n    });\n\n    var userAssignedIdentity = new Azure.KeyVault.AccessPolicy(\"userAssignedIdentity\", new()\n    {\n        KeyVaultId = exampleKeyVault.Id,\n        TenantId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.TenantId),\n        ObjectId = exampleUserAssignedIdentity.PrincipalId,\n        KeyPermissions = new[]\n        {\n            \"Get\",\n            \"UnwrapKey\",\n            \"WrapKey\",\n        },\n        SecretPermissions = new[]\n        {\n            \"Get\",\n        },\n    });\n\n    var client = new Azure.KeyVault.AccessPolicy(\"client\", new()\n    {\n        KeyVaultId = exampleKeyVault.Id,\n        TenantId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.TenantId),\n        ObjectId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.ObjectId),\n        KeyPermissions = new[]\n        {\n            \"Get\",\n            \"Create\",\n            \"Delete\",\n            \"List\",\n            \"Restore\",\n            \"Recover\",\n            \"UnwrapKey\",\n            \"WrapKey\",\n            \"Purge\",\n            \"Encrypt\",\n            \"Decrypt\",\n            \"Sign\",\n            \"Verify\",\n            \"GetRotationPolicy\",\n        },\n        SecretPermissions = new[]\n        {\n            \"Get\",\n        },\n    });\n\n    var exampleKey = new Azure.KeyVault.Key(\"example\", new()\n    {\n        Name = \"example-kvk\",\n        KeyVaultId = exampleKeyVault.Id,\n        KeyType = \"RSA\",\n        KeySize = 2048,\n        KeyOpts = new[]\n        {\n            \"decrypt\",\n            \"encrypt\",\n            \"sign\",\n            \"unwrapKey\",\n            \"verify\",\n            \"wrapKey\",\n        },\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            userAssignedIdentity,\n            client,\n        },\n    });\n\n    var exampleVolumeGroup = new Azure.ElasticSan.VolumeGroup(\"example\", new()\n    {\n        Name = \"example-esvg\",\n        ElasticSanId = exampleElasticSan.Id,\n        EncryptionType = \"EncryptionAtRestWithCustomerManagedKey\",\n        Encryption = new Azure.ElasticSan.Inputs.VolumeGroupEncryptionArgs\n        {\n            KeyVaultKeyId = exampleKey.VersionlessId,\n            UserAssignedIdentityId = exampleUserAssignedIdentity.Id,\n        },\n        Identity = new Azure.ElasticSan.Inputs.VolumeGroupIdentityArgs\n        {\n            Type = \"UserAssigned\",\n            IdentityIds = new[]\n            {\n                exampleUserAssignedIdentity.Id,\n            },\n        },\n        NetworkRules = new[]\n        {\n            new Azure.ElasticSan.Inputs.VolumeGroupNetworkRuleArgs\n            {\n                SubnetId = exampleSubnet.Id,\n                Action = \"Allow\",\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/authorization\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/elasticsan\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/keyvault\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-rg\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleElasticSan, err := elasticsan.NewElasticSan(ctx, \"example\", \u0026elasticsan.ElasticSanArgs{\n\t\t\tName:              pulumi.String(\"examplees-es\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tBaseSizeInTib:     pulumi.Int(1),\n\t\t\tSku: \u0026elasticsan.ElasticSanSkuArgs{\n\t\t\t\tName: pulumi.String(\"Premium_LRS\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrent, err := core.GetClientConfig(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleUserAssignedIdentity, err := authorization.NewUserAssignedIdentity(ctx, \"example\", \u0026authorization.UserAssignedIdentityArgs{\n\t\t\tName:              pulumi.String(\"example-uai\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, \"example\", \u0026network.VirtualNetworkArgs{\n\t\t\tName: pulumi.String(\"example-vnet\"),\n\t\t\tAddressSpaces: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.0.0/16\"),\n\t\t\t},\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSubnet, err := network.NewSubnet(ctx, \"example\", \u0026network.SubnetArgs{\n\t\t\tName:               pulumi.String(\"example-subnet\"),\n\t\t\tResourceGroupName:  example.Name,\n\t\t\tVirtualNetworkName: exampleVirtualNetwork.Name,\n\t\t\tAddressPrefixes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.1.0/24\"),\n\t\t\t},\n\t\t\tServiceEndpoints: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"Microsoft.Storage.Global\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleKeyVault, err := keyvault.NewKeyVault(ctx, \"example\", \u0026keyvault.KeyVaultArgs{\n\t\t\tName:                     pulumi.String(\"examplekv\"),\n\t\t\tLocation:                 example.Location,\n\t\t\tResourceGroupName:        example.Name,\n\t\t\tEnabledForDiskEncryption: pulumi.Bool(true),\n\t\t\tTenantId:                 pulumi.String(current.TenantId),\n\t\t\tSoftDeleteRetentionDays:  pulumi.Int(7),\n\t\t\tPurgeProtectionEnabled:   pulumi.Bool(true),\n\t\t\tSkuName:                  pulumi.String(\"standard\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tuserAssignedIdentity, err := keyvault.NewAccessPolicy(ctx, \"userAssignedIdentity\", \u0026keyvault.AccessPolicyArgs{\n\t\t\tKeyVaultId: exampleKeyVault.ID(),\n\t\t\tTenantId:   pulumi.String(current.TenantId),\n\t\t\tObjectId:   exampleUserAssignedIdentity.PrincipalId,\n\t\t\tKeyPermissions: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"Get\"),\n\t\t\t\tpulumi.String(\"UnwrapKey\"),\n\t\t\t\tpulumi.String(\"WrapKey\"),\n\t\t\t},\n\t\t\tSecretPermissions: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"Get\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tclient, err := keyvault.NewAccessPolicy(ctx, \"client\", \u0026keyvault.AccessPolicyArgs{\n\t\t\tKeyVaultId: exampleKeyVault.ID(),\n\t\t\tTenantId:   pulumi.String(current.TenantId),\n\t\t\tObjectId:   pulumi.String(current.ObjectId),\n\t\t\tKeyPermissions: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"Get\"),\n\t\t\t\tpulumi.String(\"Create\"),\n\t\t\t\tpulumi.String(\"Delete\"),\n\t\t\t\tpulumi.String(\"List\"),\n\t\t\t\tpulumi.String(\"Restore\"),\n\t\t\t\tpulumi.String(\"Recover\"),\n\t\t\t\tpulumi.String(\"UnwrapKey\"),\n\t\t\t\tpulumi.String(\"WrapKey\"),\n\t\t\t\tpulumi.String(\"Purge\"),\n\t\t\t\tpulumi.String(\"Encrypt\"),\n\t\t\t\tpulumi.String(\"Decrypt\"),\n\t\t\t\tpulumi.String(\"Sign\"),\n\t\t\t\tpulumi.String(\"Verify\"),\n\t\t\t\tpulumi.String(\"GetRotationPolicy\"),\n\t\t\t},\n\t\t\tSecretPermissions: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"Get\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleKey, err := keyvault.NewKey(ctx, \"example\", \u0026keyvault.KeyArgs{\n\t\t\tName:       pulumi.String(\"example-kvk\"),\n\t\t\tKeyVaultId: exampleKeyVault.ID(),\n\t\t\tKeyType:    pulumi.String(\"RSA\"),\n\t\t\tKeySize:    pulumi.Int(2048),\n\t\t\tKeyOpts: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"decrypt\"),\n\t\t\t\tpulumi.String(\"encrypt\"),\n\t\t\t\tpulumi.String(\"sign\"),\n\t\t\t\tpulumi.String(\"unwrapKey\"),\n\t\t\t\tpulumi.String(\"verify\"),\n\t\t\t\tpulumi.String(\"wrapKey\"),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tuserAssignedIdentity,\n\t\t\tclient,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = elasticsan.NewVolumeGroup(ctx, \"example\", \u0026elasticsan.VolumeGroupArgs{\n\t\t\tName:           pulumi.String(\"example-esvg\"),\n\t\t\tElasticSanId:   exampleElasticSan.ID(),\n\t\t\tEncryptionType: pulumi.String(\"EncryptionAtRestWithCustomerManagedKey\"),\n\t\t\tEncryption: \u0026elasticsan.VolumeGroupEncryptionArgs{\n\t\t\t\tKeyVaultKeyId:          exampleKey.VersionlessId,\n\t\t\t\tUserAssignedIdentityId: exampleUserAssignedIdentity.ID(),\n\t\t\t},\n\t\t\tIdentity: \u0026elasticsan.VolumeGroupIdentityArgs{\n\t\t\t\tType: pulumi.String(\"UserAssigned\"),\n\t\t\t\tIdentityIds: pulumi.StringArray{\n\t\t\t\t\texampleUserAssignedIdentity.ID(),\n\t\t\t\t},\n\t\t\t},\n\t\t\tNetworkRules: elasticsan.VolumeGroupNetworkRuleArray{\n\t\t\t\t\u0026elasticsan.VolumeGroupNetworkRuleArgs{\n\t\t\t\t\tSubnetId: exampleSubnet.ID(),\n\t\t\t\t\tAction:   pulumi.String(\"Allow\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.elasticsan.ElasticSan;\nimport com.pulumi.azure.elasticsan.ElasticSanArgs;\nimport com.pulumi.azure.elasticsan.inputs.ElasticSanSkuArgs;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.authorization.UserAssignedIdentity;\nimport com.pulumi.azure.authorization.UserAssignedIdentityArgs;\nimport com.pulumi.azure.network.VirtualNetwork;\nimport com.pulumi.azure.network.VirtualNetworkArgs;\nimport com.pulumi.azure.network.Subnet;\nimport com.pulumi.azure.network.SubnetArgs;\nimport com.pulumi.azure.keyvault.KeyVault;\nimport com.pulumi.azure.keyvault.KeyVaultArgs;\nimport com.pulumi.azure.keyvault.AccessPolicy;\nimport com.pulumi.azure.keyvault.AccessPolicyArgs;\nimport com.pulumi.azure.keyvault.Key;\nimport com.pulumi.azure.keyvault.KeyArgs;\nimport com.pulumi.azure.elasticsan.VolumeGroup;\nimport com.pulumi.azure.elasticsan.VolumeGroupArgs;\nimport com.pulumi.azure.elasticsan.inputs.VolumeGroupEncryptionArgs;\nimport com.pulumi.azure.elasticsan.inputs.VolumeGroupIdentityArgs;\nimport com.pulumi.azure.elasticsan.inputs.VolumeGroupNetworkRuleArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-rg\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleElasticSan = new ElasticSan(\"exampleElasticSan\", ElasticSanArgs.builder()\n            .name(\"examplees-es\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .baseSizeInTib(1)\n            .sku(ElasticSanSkuArgs.builder()\n                .name(\"Premium_LRS\")\n                .build())\n            .build());\n\n        final var current = CoreFunctions.getClientConfig(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n        var exampleUserAssignedIdentity = new UserAssignedIdentity(\"exampleUserAssignedIdentity\", UserAssignedIdentityArgs.builder()\n            .name(\"example-uai\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .build());\n\n        var exampleVirtualNetwork = new VirtualNetwork(\"exampleVirtualNetwork\", VirtualNetworkArgs.builder()\n            .name(\"example-vnet\")\n            .addressSpaces(\"10.0.0.0/16\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .build());\n\n        var exampleSubnet = new Subnet(\"exampleSubnet\", SubnetArgs.builder()\n            .name(\"example-subnet\")\n            .resourceGroupName(example.name())\n            .virtualNetworkName(exampleVirtualNetwork.name())\n            .addressPrefixes(\"10.0.1.0/24\")\n            .serviceEndpoints(\"Microsoft.Storage.Global\")\n            .build());\n\n        var exampleKeyVault = new KeyVault(\"exampleKeyVault\", KeyVaultArgs.builder()\n            .name(\"examplekv\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .enabledForDiskEncryption(true)\n            .tenantId(current.tenantId())\n            .softDeleteRetentionDays(7)\n            .purgeProtectionEnabled(true)\n            .skuName(\"standard\")\n            .build());\n\n        var userAssignedIdentity = new AccessPolicy(\"userAssignedIdentity\", AccessPolicyArgs.builder()\n            .keyVaultId(exampleKeyVault.id())\n            .tenantId(current.tenantId())\n            .objectId(exampleUserAssignedIdentity.principalId())\n            .keyPermissions(            \n                \"Get\",\n                \"UnwrapKey\",\n                \"WrapKey\")\n            .secretPermissions(\"Get\")\n            .build());\n\n        var client = new AccessPolicy(\"client\", AccessPolicyArgs.builder()\n            .keyVaultId(exampleKeyVault.id())\n            .tenantId(current.tenantId())\n            .objectId(current.objectId())\n            .keyPermissions(            \n                \"Get\",\n                \"Create\",\n                \"Delete\",\n                \"List\",\n                \"Restore\",\n                \"Recover\",\n                \"UnwrapKey\",\n                \"WrapKey\",\n                \"Purge\",\n                \"Encrypt\",\n                \"Decrypt\",\n                \"Sign\",\n                \"Verify\",\n                \"GetRotationPolicy\")\n            .secretPermissions(\"Get\")\n            .build());\n\n        var exampleKey = new Key(\"exampleKey\", KeyArgs.builder()\n            .name(\"example-kvk\")\n            .keyVaultId(exampleKeyVault.id())\n            .keyType(\"RSA\")\n            .keySize(2048)\n            .keyOpts(            \n                \"decrypt\",\n                \"encrypt\",\n                \"sign\",\n                \"unwrapKey\",\n                \"verify\",\n                \"wrapKey\")\n            .build(), CustomResourceOptions.builder()\n                .dependsOn(                \n                    userAssignedIdentity,\n                    client)\n                .build());\n\n        var exampleVolumeGroup = new VolumeGroup(\"exampleVolumeGroup\", VolumeGroupArgs.builder()\n            .name(\"example-esvg\")\n            .elasticSanId(exampleElasticSan.id())\n            .encryptionType(\"EncryptionAtRestWithCustomerManagedKey\")\n            .encryption(VolumeGroupEncryptionArgs.builder()\n                .keyVaultKeyId(exampleKey.versionlessId())\n                .userAssignedIdentityId(exampleUserAssignedIdentity.id())\n                .build())\n            .identity(VolumeGroupIdentityArgs.builder()\n                .type(\"UserAssigned\")\n                .identityIds(exampleUserAssignedIdentity.id())\n                .build())\n            .networkRules(VolumeGroupNetworkRuleArgs.builder()\n                .subnetId(exampleSubnet.id())\n                .action(\"Allow\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-rg\n      location: West Europe\n  exampleElasticSan:\n    type: azure:elasticsan:ElasticSan\n    name: example\n    properties:\n      name: examplees-es\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      baseSizeInTib: 1\n      sku:\n        name: Premium_LRS\n  exampleUserAssignedIdentity:\n    type: azure:authorization:UserAssignedIdentity\n    name: example\n    properties:\n      name: example-uai\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n  exampleVirtualNetwork:\n    type: azure:network:VirtualNetwork\n    name: example\n    properties:\n      name: example-vnet\n      addressSpaces:\n        - 10.0.0.0/16\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n  exampleSubnet:\n    type: azure:network:Subnet\n    name: example\n    properties:\n      name: example-subnet\n      resourceGroupName: ${example.name}\n      virtualNetworkName: ${exampleVirtualNetwork.name}\n      addressPrefixes:\n        - 10.0.1.0/24\n      serviceEndpoints:\n        - Microsoft.Storage.Global\n  exampleKeyVault:\n    type: azure:keyvault:KeyVault\n    name: example\n    properties:\n      name: examplekv\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      enabledForDiskEncryption: true\n      tenantId: ${current.tenantId}\n      softDeleteRetentionDays: 7\n      purgeProtectionEnabled: true\n      skuName: standard\n  userAssignedIdentity:\n    type: azure:keyvault:AccessPolicy\n    properties:\n      keyVaultId: ${exampleKeyVault.id}\n      tenantId: ${current.tenantId}\n      objectId: ${exampleUserAssignedIdentity.principalId}\n      keyPermissions:\n        - Get\n        - UnwrapKey\n        - WrapKey\n      secretPermissions:\n        - Get\n  client:\n    type: azure:keyvault:AccessPolicy\n    properties:\n      keyVaultId: ${exampleKeyVault.id}\n      tenantId: ${current.tenantId}\n      objectId: ${current.objectId}\n      keyPermissions:\n        - Get\n        - Create\n        - Delete\n        - List\n        - Restore\n        - Recover\n        - UnwrapKey\n        - WrapKey\n        - Purge\n        - Encrypt\n        - Decrypt\n        - Sign\n        - Verify\n        - GetRotationPolicy\n      secretPermissions:\n        - Get\n  exampleKey:\n    type: azure:keyvault:Key\n    name: example\n    properties:\n      name: example-kvk\n      keyVaultId: ${exampleKeyVault.id}\n      keyType: RSA\n      keySize: 2048\n      keyOpts:\n        - decrypt\n        - encrypt\n        - sign\n        - unwrapKey\n        - verify\n        - wrapKey\n    options:\n      dependsOn:\n        - ${userAssignedIdentity}\n        - ${client}\n  exampleVolumeGroup:\n    type: azure:elasticsan:VolumeGroup\n    name: example\n    properties:\n      name: example-esvg\n      elasticSanId: ${exampleElasticSan.id}\n      encryptionType: EncryptionAtRestWithCustomerManagedKey\n      encryption:\n        keyVaultKeyId: ${exampleKey.versionlessId}\n        userAssignedIdentityId: ${exampleUserAssignedIdentity.id}\n      identity:\n        type: UserAssigned\n        identityIds:\n          - ${exampleUserAssignedIdentity.id}\n      networkRules:\n        - subnetId: ${exampleSubnet.id}\n          action: Allow\nvariables:\n  current:\n    fn::invoke:\n      function: azure:core:getClientConfig\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.ElasticSan` - 2023-01-01\n\n## Import\n\nAn existing Elastic SAN Volume Group can be imported into Pulumi using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:elasticsan/volumeGroup:VolumeGroup example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ElasticSan/elasticSans/esan1/volumeGroups/vg1\n```\n\n","properties":{"elasticSanId":{"type":"string","description":"Specifies the Elastic SAN ID within which this Elastic SAN Volume Group should exist. Changing this forces a new resource to be created.\n"},"encryption":{"$ref":"#/types/azure:elasticsan/VolumeGroupEncryption:VolumeGroupEncryption","description":"An \u003cspan pulumi-lang-nodejs=\"`encryption`\" pulumi-lang-dotnet=\"`Encryption`\" pulumi-lang-go=\"`encryption`\" pulumi-lang-python=\"`encryption`\" pulumi-lang-yaml=\"`encryption`\" pulumi-lang-java=\"`encryption`\"\u003e`encryption`\u003c/span\u003e block as defined below.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`encryption`\" pulumi-lang-dotnet=\"`Encryption`\" pulumi-lang-go=\"`encryption`\" pulumi-lang-python=\"`encryption`\" pulumi-lang-yaml=\"`encryption`\" pulumi-lang-java=\"`encryption`\"\u003e`encryption`\u003c/span\u003e block can only be set when \u003cspan pulumi-lang-nodejs=\"`encryptionType`\" pulumi-lang-dotnet=\"`EncryptionType`\" pulumi-lang-go=\"`encryptionType`\" pulumi-lang-python=\"`encryption_type`\" pulumi-lang-yaml=\"`encryptionType`\" pulumi-lang-java=\"`encryptionType`\"\u003e`encryption_type`\u003c/span\u003e is set to `EncryptionAtRestWithCustomerManagedKey`.\n"},"encryptionType":{"type":"string","description":"Specifies the type of the key used to encrypt the data of the disk. Possible values are `EncryptionAtRestWithCustomerManagedKey` and `EncryptionAtRestWithPlatformKey`. Defaults to `EncryptionAtRestWithPlatformKey`.\n"},"identity":{"$ref":"#/types/azure:elasticsan/VolumeGroupIdentity:VolumeGroupIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below. Specifies the Managed Identity which should be assigned to this Elastic SAN Volume Group.\n"},"name":{"type":"string","description":"Specifies the name of this Elastic SAN Volume Group. Changing this forces a new resource to be created.\n"},"networkRules":{"type":"array","items":{"$ref":"#/types/azure:elasticsan/VolumeGroupNetworkRule:VolumeGroupNetworkRule"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`networkRule`\" pulumi-lang-dotnet=\"`NetworkRule`\" pulumi-lang-go=\"`networkRule`\" pulumi-lang-python=\"`network_rule`\" pulumi-lang-yaml=\"`networkRule`\" pulumi-lang-java=\"`networkRule`\"\u003e`network_rule`\u003c/span\u003e blocks as defined below.\n"},"protocolType":{"type":"string","description":"Specifies the type of the storage target. The only possible value is `Iscsi`. Defaults to `Iscsi`.\n"}},"required":["elasticSanId","name"],"inputProperties":{"elasticSanId":{"type":"string","description":"Specifies the Elastic SAN ID within which this Elastic SAN Volume Group should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"encryption":{"$ref":"#/types/azure:elasticsan/VolumeGroupEncryption:VolumeGroupEncryption","description":"An \u003cspan pulumi-lang-nodejs=\"`encryption`\" pulumi-lang-dotnet=\"`Encryption`\" pulumi-lang-go=\"`encryption`\" pulumi-lang-python=\"`encryption`\" pulumi-lang-yaml=\"`encryption`\" pulumi-lang-java=\"`encryption`\"\u003e`encryption`\u003c/span\u003e block as defined below.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`encryption`\" pulumi-lang-dotnet=\"`Encryption`\" pulumi-lang-go=\"`encryption`\" pulumi-lang-python=\"`encryption`\" pulumi-lang-yaml=\"`encryption`\" pulumi-lang-java=\"`encryption`\"\u003e`encryption`\u003c/span\u003e block can only be set when \u003cspan pulumi-lang-nodejs=\"`encryptionType`\" pulumi-lang-dotnet=\"`EncryptionType`\" pulumi-lang-go=\"`encryptionType`\" pulumi-lang-python=\"`encryption_type`\" pulumi-lang-yaml=\"`encryptionType`\" pulumi-lang-java=\"`encryptionType`\"\u003e`encryption_type`\u003c/span\u003e is set to `EncryptionAtRestWithCustomerManagedKey`.\n"},"encryptionType":{"type":"string","description":"Specifies the type of the key used to encrypt the data of the disk. Possible values are `EncryptionAtRestWithCustomerManagedKey` and `EncryptionAtRestWithPlatformKey`. Defaults to `EncryptionAtRestWithPlatformKey`.\n"},"identity":{"$ref":"#/types/azure:elasticsan/VolumeGroupIdentity:VolumeGroupIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below. Specifies the Managed Identity which should be assigned to this Elastic SAN Volume Group.\n"},"name":{"type":"string","description":"Specifies the name of this Elastic SAN Volume Group. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"networkRules":{"type":"array","items":{"$ref":"#/types/azure:elasticsan/VolumeGroupNetworkRule:VolumeGroupNetworkRule"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`networkRule`\" pulumi-lang-dotnet=\"`NetworkRule`\" pulumi-lang-go=\"`networkRule`\" pulumi-lang-python=\"`network_rule`\" pulumi-lang-yaml=\"`networkRule`\" pulumi-lang-java=\"`networkRule`\"\u003e`network_rule`\u003c/span\u003e blocks as defined below.\n"},"protocolType":{"type":"string","description":"Specifies the type of the storage target. The only possible value is `Iscsi`. Defaults to `Iscsi`.\n"}},"requiredInputs":["elasticSanId"],"stateInputs":{"description":"Input properties used for looking up and filtering VolumeGroup resources.\n","properties":{"elasticSanId":{"type":"string","description":"Specifies the Elastic SAN ID within which this Elastic SAN Volume Group should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"encryption":{"$ref":"#/types/azure:elasticsan/VolumeGroupEncryption:VolumeGroupEncryption","description":"An \u003cspan pulumi-lang-nodejs=\"`encryption`\" pulumi-lang-dotnet=\"`Encryption`\" pulumi-lang-go=\"`encryption`\" pulumi-lang-python=\"`encryption`\" pulumi-lang-yaml=\"`encryption`\" pulumi-lang-java=\"`encryption`\"\u003e`encryption`\u003c/span\u003e block as defined below.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`encryption`\" pulumi-lang-dotnet=\"`Encryption`\" pulumi-lang-go=\"`encryption`\" pulumi-lang-python=\"`encryption`\" pulumi-lang-yaml=\"`encryption`\" pulumi-lang-java=\"`encryption`\"\u003e`encryption`\u003c/span\u003e block can only be set when \u003cspan pulumi-lang-nodejs=\"`encryptionType`\" pulumi-lang-dotnet=\"`EncryptionType`\" pulumi-lang-go=\"`encryptionType`\" pulumi-lang-python=\"`encryption_type`\" pulumi-lang-yaml=\"`encryptionType`\" pulumi-lang-java=\"`encryptionType`\"\u003e`encryption_type`\u003c/span\u003e is set to `EncryptionAtRestWithCustomerManagedKey`.\n"},"encryptionType":{"type":"string","description":"Specifies the type of the key used to encrypt the data of the disk. Possible values are `EncryptionAtRestWithCustomerManagedKey` and `EncryptionAtRestWithPlatformKey`. Defaults to `EncryptionAtRestWithPlatformKey`.\n"},"identity":{"$ref":"#/types/azure:elasticsan/VolumeGroupIdentity:VolumeGroupIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below. Specifies the Managed Identity which should be assigned to this Elastic SAN Volume Group.\n"},"name":{"type":"string","description":"Specifies the name of this Elastic SAN Volume Group. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"networkRules":{"type":"array","items":{"$ref":"#/types/azure:elasticsan/VolumeGroupNetworkRule:VolumeGroupNetworkRule"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`networkRule`\" pulumi-lang-dotnet=\"`NetworkRule`\" pulumi-lang-go=\"`networkRule`\" pulumi-lang-python=\"`network_rule`\" pulumi-lang-yaml=\"`networkRule`\" pulumi-lang-java=\"`networkRule`\"\u003e`network_rule`\u003c/span\u003e blocks as defined below.\n"},"protocolType":{"type":"string","description":"Specifies the type of the storage target. The only possible value is `Iscsi`. Defaults to `Iscsi`.\n"}},"type":"object"}},"azure:eventgrid/domain:Domain":{"description":"Manages an EventGrid Domain\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleDomain = new azure.eventgrid.Domain(\"example\", {\n    name: \"my-eventgrid-domain\",\n    location: example.location,\n    resourceGroupName: example.name,\n    tags: {\n        environment: \"Production\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_domain = azure.eventgrid.Domain(\"example\",\n    name=\"my-eventgrid-domain\",\n    location=example.location,\n    resource_group_name=example.name,\n    tags={\n        \"environment\": \"Production\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleDomain = new Azure.EventGrid.Domain(\"example\", new()\n    {\n        Name = \"my-eventgrid-domain\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Tags = \n        {\n            { \"environment\", \"Production\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/eventgrid\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = eventgrid.NewDomain(ctx, \"example\", \u0026eventgrid.DomainArgs{\n\t\t\tName:              pulumi.String(\"my-eventgrid-domain\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"environment\": pulumi.String(\"Production\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.eventgrid.Domain;\nimport com.pulumi.azure.eventgrid.DomainArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleDomain = new Domain(\"exampleDomain\", DomainArgs.builder()\n            .name(\"my-eventgrid-domain\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .tags(Map.of(\"environment\", \"Production\"))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleDomain:\n    type: azure:eventgrid:Domain\n    name: example\n    properties:\n      name: my-eventgrid-domain\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      tags:\n        environment: Production\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.EventGrid` - 2025-02-15\n\n## Import\n\nEventGrid Domains can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:eventgrid/domain:Domain domain1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.EventGrid/domains/domain1\n```\n\n","properties":{"autoCreateTopicWithFirstSubscription":{"type":"boolean","description":"Whether to create the domain topic when the first event subscription at the scope of the domain topic is created. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"autoDeleteTopicWithLastSubscription":{"type":"boolean","description":"Whether to delete the domain topic when the last event subscription at the scope of the domain topic is deleted. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"endpoint":{"type":"string","description":"The Endpoint associated with the EventGrid Domain.\n"},"identity":{"$ref":"#/types/azure:eventgrid/DomainIdentity:DomainIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"inboundIpRules":{"type":"array","items":{"$ref":"#/types/azure:eventgrid/DomainInboundIpRule:DomainInboundIpRule"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`inboundIpRule`\" pulumi-lang-dotnet=\"`InboundIpRule`\" pulumi-lang-go=\"`inboundIpRule`\" pulumi-lang-python=\"`inbound_ip_rule`\" pulumi-lang-yaml=\"`inboundIpRule`\" pulumi-lang-java=\"`inboundIpRule`\"\u003e`inbound_ip_rule`\u003c/span\u003e blocks as defined below.\n"},"inputMappingDefaultValues":{"$ref":"#/types/azure:eventgrid/DomainInputMappingDefaultValues:DomainInputMappingDefaultValues","description":"A \u003cspan pulumi-lang-nodejs=\"`inputMappingDefaultValues`\" pulumi-lang-dotnet=\"`InputMappingDefaultValues`\" pulumi-lang-go=\"`inputMappingDefaultValues`\" pulumi-lang-python=\"`input_mapping_default_values`\" pulumi-lang-yaml=\"`inputMappingDefaultValues`\" pulumi-lang-java=\"`inputMappingDefaultValues`\"\u003e`input_mapping_default_values`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n"},"inputMappingFields":{"$ref":"#/types/azure:eventgrid/DomainInputMappingFields:DomainInputMappingFields","description":"A \u003cspan pulumi-lang-nodejs=\"`inputMappingFields`\" pulumi-lang-dotnet=\"`InputMappingFields`\" pulumi-lang-go=\"`inputMappingFields`\" pulumi-lang-python=\"`input_mapping_fields`\" pulumi-lang-yaml=\"`inputMappingFields`\" pulumi-lang-java=\"`inputMappingFields`\"\u003e`input_mapping_fields`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n"},"inputSchema":{"type":"string","description":"Specifies the schema in which incoming events will be published to this domain. Allowed values are `CloudEventSchemaV1_0`, `CustomEventSchema`, or `EventGridSchema`. Defaults to `EventGridSchema`. Changing this forces a new resource to be created.\n"},"localAuthEnabled":{"type":"boolean","description":"Whether local authentication methods is enabled for the EventGrid Domain. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"Specifies the name of the EventGrid Domain resource. Changing this forces a new resource to be created.\n"},"primaryAccessKey":{"type":"string","description":"The Primary Shared Access Key associated with the EventGrid Domain.\n","secret":true},"publicNetworkAccessEnabled":{"type":"boolean","description":"Whether or not public network access is allowed for this server. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the EventGrid Domain exists. Changing this forces a new resource to be created.\n"},"secondaryAccessKey":{"type":"string","description":"The Secondary Shared Access Key associated with the EventGrid Domain.\n","secret":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"required":["endpoint","location","name","primaryAccessKey","resourceGroupName","secondaryAccessKey"],"inputProperties":{"autoCreateTopicWithFirstSubscription":{"type":"boolean","description":"Whether to create the domain topic when the first event subscription at the scope of the domain topic is created. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"autoDeleteTopicWithLastSubscription":{"type":"boolean","description":"Whether to delete the domain topic when the last event subscription at the scope of the domain topic is deleted. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"identity":{"$ref":"#/types/azure:eventgrid/DomainIdentity:DomainIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"inboundIpRules":{"type":"array","items":{"$ref":"#/types/azure:eventgrid/DomainInboundIpRule:DomainInboundIpRule"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`inboundIpRule`\" pulumi-lang-dotnet=\"`InboundIpRule`\" pulumi-lang-go=\"`inboundIpRule`\" pulumi-lang-python=\"`inbound_ip_rule`\" pulumi-lang-yaml=\"`inboundIpRule`\" pulumi-lang-java=\"`inboundIpRule`\"\u003e`inbound_ip_rule`\u003c/span\u003e blocks as defined below.\n"},"inputMappingDefaultValues":{"$ref":"#/types/azure:eventgrid/DomainInputMappingDefaultValues:DomainInputMappingDefaultValues","description":"A \u003cspan pulumi-lang-nodejs=\"`inputMappingDefaultValues`\" pulumi-lang-dotnet=\"`InputMappingDefaultValues`\" pulumi-lang-go=\"`inputMappingDefaultValues`\" pulumi-lang-python=\"`input_mapping_default_values`\" pulumi-lang-yaml=\"`inputMappingDefaultValues`\" pulumi-lang-java=\"`inputMappingDefaultValues`\"\u003e`input_mapping_default_values`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"inputMappingFields":{"$ref":"#/types/azure:eventgrid/DomainInputMappingFields:DomainInputMappingFields","description":"A \u003cspan pulumi-lang-nodejs=\"`inputMappingFields`\" pulumi-lang-dotnet=\"`InputMappingFields`\" pulumi-lang-go=\"`inputMappingFields`\" pulumi-lang-python=\"`input_mapping_fields`\" pulumi-lang-yaml=\"`inputMappingFields`\" pulumi-lang-java=\"`inputMappingFields`\"\u003e`input_mapping_fields`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"inputSchema":{"type":"string","description":"Specifies the schema in which incoming events will be published to this domain. Allowed values are `CloudEventSchemaV1_0`, `CustomEventSchema`, or `EventGridSchema`. Defaults to `EventGridSchema`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"localAuthEnabled":{"type":"boolean","description":"Whether local authentication methods is enabled for the EventGrid Domain. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the EventGrid Domain resource. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"publicNetworkAccessEnabled":{"type":"boolean","description":"Whether or not public network access is allowed for this server. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the EventGrid Domain exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"requiredInputs":["resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering Domain resources.\n","properties":{"autoCreateTopicWithFirstSubscription":{"type":"boolean","description":"Whether to create the domain topic when the first event subscription at the scope of the domain topic is created. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"autoDeleteTopicWithLastSubscription":{"type":"boolean","description":"Whether to delete the domain topic when the last event subscription at the scope of the domain topic is deleted. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"endpoint":{"type":"string","description":"The Endpoint associated with the EventGrid Domain.\n"},"identity":{"$ref":"#/types/azure:eventgrid/DomainIdentity:DomainIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"inboundIpRules":{"type":"array","items":{"$ref":"#/types/azure:eventgrid/DomainInboundIpRule:DomainInboundIpRule"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`inboundIpRule`\" pulumi-lang-dotnet=\"`InboundIpRule`\" pulumi-lang-go=\"`inboundIpRule`\" pulumi-lang-python=\"`inbound_ip_rule`\" pulumi-lang-yaml=\"`inboundIpRule`\" pulumi-lang-java=\"`inboundIpRule`\"\u003e`inbound_ip_rule`\u003c/span\u003e blocks as defined below.\n"},"inputMappingDefaultValues":{"$ref":"#/types/azure:eventgrid/DomainInputMappingDefaultValues:DomainInputMappingDefaultValues","description":"A \u003cspan pulumi-lang-nodejs=\"`inputMappingDefaultValues`\" pulumi-lang-dotnet=\"`InputMappingDefaultValues`\" pulumi-lang-go=\"`inputMappingDefaultValues`\" pulumi-lang-python=\"`input_mapping_default_values`\" pulumi-lang-yaml=\"`inputMappingDefaultValues`\" pulumi-lang-java=\"`inputMappingDefaultValues`\"\u003e`input_mapping_default_values`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"inputMappingFields":{"$ref":"#/types/azure:eventgrid/DomainInputMappingFields:DomainInputMappingFields","description":"A \u003cspan pulumi-lang-nodejs=\"`inputMappingFields`\" pulumi-lang-dotnet=\"`InputMappingFields`\" pulumi-lang-go=\"`inputMappingFields`\" pulumi-lang-python=\"`input_mapping_fields`\" pulumi-lang-yaml=\"`inputMappingFields`\" pulumi-lang-java=\"`inputMappingFields`\"\u003e`input_mapping_fields`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"inputSchema":{"type":"string","description":"Specifies the schema in which incoming events will be published to this domain. Allowed values are `CloudEventSchemaV1_0`, `CustomEventSchema`, or `EventGridSchema`. Defaults to `EventGridSchema`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"localAuthEnabled":{"type":"boolean","description":"Whether local authentication methods is enabled for the EventGrid Domain. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the EventGrid Domain resource. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"primaryAccessKey":{"type":"string","description":"The Primary Shared Access Key associated with the EventGrid Domain.\n","secret":true},"publicNetworkAccessEnabled":{"type":"boolean","description":"Whether or not public network access is allowed for this server. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the EventGrid Domain exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"secondaryAccessKey":{"type":"string","description":"The Secondary Shared Access Key associated with the EventGrid Domain.\n","secret":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"type":"object"},"aliases":[{"type":"azure:eventhub/domain:Domain"}]},"azure:eventgrid/domainTopic:DomainTopic":{"description":"Manages an EventGrid Domain Topic\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleDomain = new azure.eventgrid.Domain(\"example\", {\n    name: \"my-eventgrid-domain\",\n    location: example.location,\n    resourceGroupName: example.name,\n    tags: {\n        environment: \"Production\",\n    },\n});\nconst exampleDomainTopic = new azure.eventgrid.DomainTopic(\"example\", {\n    name: \"my-eventgrid-domain-topic\",\n    domainName: exampleDomain.name,\n    resourceGroupName: example.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_domain = azure.eventgrid.Domain(\"example\",\n    name=\"my-eventgrid-domain\",\n    location=example.location,\n    resource_group_name=example.name,\n    tags={\n        \"environment\": \"Production\",\n    })\nexample_domain_topic = azure.eventgrid.DomainTopic(\"example\",\n    name=\"my-eventgrid-domain-topic\",\n    domain_name=example_domain.name,\n    resource_group_name=example.name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleDomain = new Azure.EventGrid.Domain(\"example\", new()\n    {\n        Name = \"my-eventgrid-domain\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Tags = \n        {\n            { \"environment\", \"Production\" },\n        },\n    });\n\n    var exampleDomainTopic = new Azure.EventGrid.DomainTopic(\"example\", new()\n    {\n        Name = \"my-eventgrid-domain-topic\",\n        DomainName = exampleDomain.Name,\n        ResourceGroupName = example.Name,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/eventgrid\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleDomain, err := eventgrid.NewDomain(ctx, \"example\", \u0026eventgrid.DomainArgs{\n\t\t\tName:              pulumi.String(\"my-eventgrid-domain\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"environment\": pulumi.String(\"Production\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = eventgrid.NewDomainTopic(ctx, \"example\", \u0026eventgrid.DomainTopicArgs{\n\t\t\tName:              pulumi.String(\"my-eventgrid-domain-topic\"),\n\t\t\tDomainName:        exampleDomain.Name,\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.eventgrid.Domain;\nimport com.pulumi.azure.eventgrid.DomainArgs;\nimport com.pulumi.azure.eventgrid.DomainTopic;\nimport com.pulumi.azure.eventgrid.DomainTopicArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleDomain = new Domain(\"exampleDomain\", DomainArgs.builder()\n            .name(\"my-eventgrid-domain\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .tags(Map.of(\"environment\", \"Production\"))\n            .build());\n\n        var exampleDomainTopic = new DomainTopic(\"exampleDomainTopic\", DomainTopicArgs.builder()\n            .name(\"my-eventgrid-domain-topic\")\n            .domainName(exampleDomain.name())\n            .resourceGroupName(example.name())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleDomain:\n    type: azure:eventgrid:Domain\n    name: example\n    properties:\n      name: my-eventgrid-domain\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      tags:\n        environment: Production\n  exampleDomainTopic:\n    type: azure:eventgrid:DomainTopic\n    name: example\n    properties:\n      name: my-eventgrid-domain-topic\n      domainName: ${exampleDomain.name}\n      resourceGroupName: ${example.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.EventGrid` - 2025-02-15\n\n## Import\n\nEventGrid Domain Topics can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:eventgrid/domainTopic:DomainTopic topic1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.EventGrid/domains/domain1/topics/topic1\n```\n\n","properties":{"domainName":{"type":"string","description":"Specifies the name of the EventGrid Domain. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"Specifies the name of the EventGrid Domain Topic resource. Changing this forces a new resource to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the EventGrid Domain exists. Changing this forces a new resource to be created.\n"}},"required":["domainName","name","resourceGroupName"],"inputProperties":{"domainName":{"type":"string","description":"Specifies the name of the EventGrid Domain. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the EventGrid Domain Topic resource. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the EventGrid Domain exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["domainName","resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering DomainTopic resources.\n","properties":{"domainName":{"type":"string","description":"Specifies the name of the EventGrid Domain. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the EventGrid Domain Topic resource. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the EventGrid Domain exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:eventgrid/eventSubscription:EventSubscription":{"description":"Manages an EventGrid Event Subscription\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleAccount = new azure.storage.Account(\"example\", {\n    name: \"exampleasa\",\n    resourceGroupName: example.name,\n    location: example.location,\n    accountTier: \"Standard\",\n    accountReplicationType: \"LRS\",\n    tags: {\n        environment: \"staging\",\n    },\n});\nconst exampleQueue = new azure.storage.Queue(\"example\", {\n    name: \"example-astq\",\n    storageAccountName: exampleAccount.name,\n});\nconst exampleEventSubscription = new azure.eventgrid.EventSubscription(\"example\", {\n    name: \"example-aees\",\n    scope: example.id,\n    storageQueueEndpoint: {\n        storageAccountId: exampleAccount.id,\n        queueName: exampleQueue.name,\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_account = azure.storage.Account(\"example\",\n    name=\"exampleasa\",\n    resource_group_name=example.name,\n    location=example.location,\n    account_tier=\"Standard\",\n    account_replication_type=\"LRS\",\n    tags={\n        \"environment\": \"staging\",\n    })\nexample_queue = azure.storage.Queue(\"example\",\n    name=\"example-astq\",\n    storage_account_name=example_account.name)\nexample_event_subscription = azure.eventgrid.EventSubscription(\"example\",\n    name=\"example-aees\",\n    scope=example.id,\n    storage_queue_endpoint={\n        \"storage_account_id\": example_account.id,\n        \"queue_name\": example_queue.name,\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleAccount = new Azure.Storage.Account(\"example\", new()\n    {\n        Name = \"exampleasa\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        AccountTier = \"Standard\",\n        AccountReplicationType = \"LRS\",\n        Tags = \n        {\n            { \"environment\", \"staging\" },\n        },\n    });\n\n    var exampleQueue = new Azure.Storage.Queue(\"example\", new()\n    {\n        Name = \"example-astq\",\n        StorageAccountName = exampleAccount.Name,\n    });\n\n    var exampleEventSubscription = new Azure.EventGrid.EventSubscription(\"example\", new()\n    {\n        Name = \"example-aees\",\n        Scope = example.Id,\n        StorageQueueEndpoint = new Azure.EventGrid.Inputs.EventSubscriptionStorageQueueEndpointArgs\n        {\n            StorageAccountId = exampleAccount.Id,\n            QueueName = exampleQueue.Name,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/eventgrid\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := storage.NewAccount(ctx, \"example\", \u0026storage.AccountArgs{\n\t\t\tName:                   pulumi.String(\"exampleasa\"),\n\t\t\tResourceGroupName:      example.Name,\n\t\t\tLocation:               example.Location,\n\t\t\tAccountTier:            pulumi.String(\"Standard\"),\n\t\t\tAccountReplicationType: pulumi.String(\"LRS\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"environment\": pulumi.String(\"staging\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleQueue, err := storage.NewQueue(ctx, \"example\", \u0026storage.QueueArgs{\n\t\t\tName:               pulumi.String(\"example-astq\"),\n\t\t\tStorageAccountName: exampleAccount.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = eventgrid.NewEventSubscription(ctx, \"example\", \u0026eventgrid.EventSubscriptionArgs{\n\t\t\tName:  pulumi.String(\"example-aees\"),\n\t\t\tScope: example.ID(),\n\t\t\tStorageQueueEndpoint: \u0026eventgrid.EventSubscriptionStorageQueueEndpointArgs{\n\t\t\t\tStorageAccountId: exampleAccount.ID(),\n\t\t\t\tQueueName:        exampleQueue.Name,\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.storage.Account;\nimport com.pulumi.azure.storage.AccountArgs;\nimport com.pulumi.azure.storage.Queue;\nimport com.pulumi.azure.storage.QueueArgs;\nimport com.pulumi.azure.eventgrid.EventSubscription;\nimport com.pulumi.azure.eventgrid.EventSubscriptionArgs;\nimport com.pulumi.azure.eventgrid.inputs.EventSubscriptionStorageQueueEndpointArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"exampleasa\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .accountTier(\"Standard\")\n            .accountReplicationType(\"LRS\")\n            .tags(Map.of(\"environment\", \"staging\"))\n            .build());\n\n        var exampleQueue = new Queue(\"exampleQueue\", QueueArgs.builder()\n            .name(\"example-astq\")\n            .storageAccountName(exampleAccount.name())\n            .build());\n\n        var exampleEventSubscription = new EventSubscription(\"exampleEventSubscription\", EventSubscriptionArgs.builder()\n            .name(\"example-aees\")\n            .scope(example.id())\n            .storageQueueEndpoint(EventSubscriptionStorageQueueEndpointArgs.builder()\n                .storageAccountId(exampleAccount.id())\n                .queueName(exampleQueue.name())\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleAccount:\n    type: azure:storage:Account\n    name: example\n    properties:\n      name: exampleasa\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      accountTier: Standard\n      accountReplicationType: LRS\n      tags:\n        environment: staging\n  exampleQueue:\n    type: azure:storage:Queue\n    name: example\n    properties:\n      name: example-astq\n      storageAccountName: ${exampleAccount.name}\n  exampleEventSubscription:\n    type: azure:eventgrid:EventSubscription\n    name: example\n    properties:\n      name: example-aees\n      scope: ${example.id}\n      storageQueueEndpoint:\n        storageAccountId: ${exampleAccount.id}\n        queueName: ${exampleQueue.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.EventGrid` - 2025-02-15\n\n## Import\n\nEventGrid Event Subscription's can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:eventgrid/eventSubscription:EventSubscription eventSubscription1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.EventGrid/topics/topic1/providers/Microsoft.EventGrid/eventSubscriptions/eventSubscription1\n```\n\n","properties":{"advancedFilter":{"$ref":"#/types/azure:eventgrid/EventSubscriptionAdvancedFilter:EventSubscriptionAdvancedFilter","description":"A \u003cspan pulumi-lang-nodejs=\"`advancedFilter`\" pulumi-lang-dotnet=\"`AdvancedFilter`\" pulumi-lang-go=\"`advancedFilter`\" pulumi-lang-python=\"`advanced_filter`\" pulumi-lang-yaml=\"`advancedFilter`\" pulumi-lang-java=\"`advancedFilter`\"\u003e`advanced_filter`\u003c/span\u003e block as defined below.\n"},"advancedFilteringOnArraysEnabled":{"type":"boolean","description":"Specifies whether advanced filters should be evaluated against an array of values instead of expecting a singular value. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"azureFunctionEndpoint":{"$ref":"#/types/azure:eventgrid/EventSubscriptionAzureFunctionEndpoint:EventSubscriptionAzureFunctionEndpoint","description":"An \u003cspan pulumi-lang-nodejs=\"`azureFunctionEndpoint`\" pulumi-lang-dotnet=\"`AzureFunctionEndpoint`\" pulumi-lang-go=\"`azureFunctionEndpoint`\" pulumi-lang-python=\"`azure_function_endpoint`\" pulumi-lang-yaml=\"`azureFunctionEndpoint`\" pulumi-lang-java=\"`azureFunctionEndpoint`\"\u003e`azure_function_endpoint`\u003c/span\u003e block as defined below.\n"},"deadLetterIdentity":{"$ref":"#/types/azure:eventgrid/EventSubscriptionDeadLetterIdentity:EventSubscriptionDeadLetterIdentity","description":"A \u003cspan pulumi-lang-nodejs=\"`deadLetterIdentity`\" pulumi-lang-dotnet=\"`DeadLetterIdentity`\" pulumi-lang-go=\"`deadLetterIdentity`\" pulumi-lang-python=\"`dead_letter_identity`\" pulumi-lang-yaml=\"`deadLetterIdentity`\" pulumi-lang-java=\"`deadLetterIdentity`\"\u003e`dead_letter_identity`\u003c/span\u003e block as defined below.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`storageBlobDeadLetterDestination`\" pulumi-lang-dotnet=\"`StorageBlobDeadLetterDestination`\" pulumi-lang-go=\"`storageBlobDeadLetterDestination`\" pulumi-lang-python=\"`storage_blob_dead_letter_destination`\" pulumi-lang-yaml=\"`storageBlobDeadLetterDestination`\" pulumi-lang-java=\"`storageBlobDeadLetterDestination`\"\u003e`storage_blob_dead_letter_destination`\u003c/span\u003e must be specified when a \u003cspan pulumi-lang-nodejs=\"`deadLetterIdentity`\" pulumi-lang-dotnet=\"`DeadLetterIdentity`\" pulumi-lang-go=\"`deadLetterIdentity`\" pulumi-lang-python=\"`dead_letter_identity`\" pulumi-lang-yaml=\"`deadLetterIdentity`\" pulumi-lang-java=\"`deadLetterIdentity`\"\u003e`dead_letter_identity`\u003c/span\u003e is specified\n"},"deliveryIdentity":{"$ref":"#/types/azure:eventgrid/EventSubscriptionDeliveryIdentity:EventSubscriptionDeliveryIdentity","description":"A \u003cspan pulumi-lang-nodejs=\"`deliveryIdentity`\" pulumi-lang-dotnet=\"`DeliveryIdentity`\" pulumi-lang-go=\"`deliveryIdentity`\" pulumi-lang-python=\"`delivery_identity`\" pulumi-lang-yaml=\"`deliveryIdentity`\" pulumi-lang-java=\"`deliveryIdentity`\"\u003e`delivery_identity`\u003c/span\u003e block as defined below.\n"},"deliveryProperties":{"type":"array","items":{"$ref":"#/types/azure:eventgrid/EventSubscriptionDeliveryProperty:EventSubscriptionDeliveryProperty"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`deliveryProperty`\" pulumi-lang-dotnet=\"`DeliveryProperty`\" pulumi-lang-go=\"`deliveryProperty`\" pulumi-lang-python=\"`delivery_property`\" pulumi-lang-yaml=\"`deliveryProperty`\" pulumi-lang-java=\"`deliveryProperty`\"\u003e`delivery_property`\u003c/span\u003e blocks as defined below.\n"},"eventDeliverySchema":{"type":"string","description":"Specifies the event delivery schema for the event subscription. Possible values include: `EventGridSchema`, `CloudEventSchemaV1_0`, `CustomInputSchema`. Defaults to `EventGridSchema`. Changing this forces a new resource to be created.\n"},"eventhubEndpointId":{"type":"string","description":"Specifies the id where the Event Hub is located.\n"},"expirationTimeUtc":{"type":"string","description":"Specifies the expiration time of the event subscription (Datetime Format `RFC 3339`).\n"},"hybridConnectionEndpointId":{"type":"string","description":"Specifies the id where the Hybrid Connection is located.\n"},"includedEventTypes":{"type":"array","items":{"type":"string"},"description":"A list of applicable event types that need to be part of the event subscription.\n"},"labels":{"type":"array","items":{"type":"string"},"description":"A list of labels to assign to the event subscription.\n"},"name":{"type":"string","description":"Specifies the name of the EventGrid Event Subscription resource. Changing this forces a new resource to be created.\n"},"retryPolicy":{"$ref":"#/types/azure:eventgrid/EventSubscriptionRetryPolicy:EventSubscriptionRetryPolicy","description":"A \u003cspan pulumi-lang-nodejs=\"`retryPolicy`\" pulumi-lang-dotnet=\"`RetryPolicy`\" pulumi-lang-go=\"`retryPolicy`\" pulumi-lang-python=\"`retry_policy`\" pulumi-lang-yaml=\"`retryPolicy`\" pulumi-lang-java=\"`retryPolicy`\"\u003e`retry_policy`\u003c/span\u003e block as defined below.\n"},"scope":{"type":"string","description":"Specifies the scope at which the EventGrid Event Subscription should be created. Changing this forces a new resource to be created.\n"},"serviceBusQueueEndpointId":{"type":"string","description":"Specifies the id where the Service Bus Queue is located.\n"},"serviceBusTopicEndpointId":{"type":"string","description":"Specifies the id where the Service Bus Topic is located.\n"},"storageBlobDeadLetterDestination":{"$ref":"#/types/azure:eventgrid/EventSubscriptionStorageBlobDeadLetterDestination:EventSubscriptionStorageBlobDeadLetterDestination","description":"A \u003cspan pulumi-lang-nodejs=\"`storageBlobDeadLetterDestination`\" pulumi-lang-dotnet=\"`StorageBlobDeadLetterDestination`\" pulumi-lang-go=\"`storageBlobDeadLetterDestination`\" pulumi-lang-python=\"`storage_blob_dead_letter_destination`\" pulumi-lang-yaml=\"`storageBlobDeadLetterDestination`\" pulumi-lang-java=\"`storageBlobDeadLetterDestination`\"\u003e`storage_blob_dead_letter_destination`\u003c/span\u003e block as defined below.\n"},"storageQueueEndpoint":{"$ref":"#/types/azure:eventgrid/EventSubscriptionStorageQueueEndpoint:EventSubscriptionStorageQueueEndpoint","description":"A \u003cspan pulumi-lang-nodejs=\"`storageQueueEndpoint`\" pulumi-lang-dotnet=\"`StorageQueueEndpoint`\" pulumi-lang-go=\"`storageQueueEndpoint`\" pulumi-lang-python=\"`storage_queue_endpoint`\" pulumi-lang-yaml=\"`storageQueueEndpoint`\" pulumi-lang-java=\"`storageQueueEndpoint`\"\u003e`storage_queue_endpoint`\u003c/span\u003e block as defined below.\n"},"subjectFilter":{"$ref":"#/types/azure:eventgrid/EventSubscriptionSubjectFilter:EventSubscriptionSubjectFilter","description":"A \u003cspan pulumi-lang-nodejs=\"`subjectFilter`\" pulumi-lang-dotnet=\"`SubjectFilter`\" pulumi-lang-go=\"`subjectFilter`\" pulumi-lang-python=\"`subject_filter`\" pulumi-lang-yaml=\"`subjectFilter`\" pulumi-lang-java=\"`subjectFilter`\"\u003e`subject_filter`\u003c/span\u003e block as defined below.\n"},"webhookEndpoint":{"$ref":"#/types/azure:eventgrid/EventSubscriptionWebhookEndpoint:EventSubscriptionWebhookEndpoint","description":"A \u003cspan pulumi-lang-nodejs=\"`webhookEndpoint`\" pulumi-lang-dotnet=\"`WebhookEndpoint`\" pulumi-lang-go=\"`webhookEndpoint`\" pulumi-lang-python=\"`webhook_endpoint`\" pulumi-lang-yaml=\"`webhookEndpoint`\" pulumi-lang-java=\"`webhookEndpoint`\"\u003e`webhook_endpoint`\u003c/span\u003e block as defined below.\n\n\u003e **Note:** One of \u003cspan pulumi-lang-nodejs=\"`eventhubEndpointId`\" pulumi-lang-dotnet=\"`EventhubEndpointId`\" pulumi-lang-go=\"`eventhubEndpointId`\" pulumi-lang-python=\"`eventhub_endpoint_id`\" pulumi-lang-yaml=\"`eventhubEndpointId`\" pulumi-lang-java=\"`eventhubEndpointId`\"\u003e`eventhub_endpoint_id`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`hybridConnectionEndpointId`\" pulumi-lang-dotnet=\"`HybridConnectionEndpointId`\" pulumi-lang-go=\"`hybridConnectionEndpointId`\" pulumi-lang-python=\"`hybrid_connection_endpoint_id`\" pulumi-lang-yaml=\"`hybridConnectionEndpointId`\" pulumi-lang-java=\"`hybridConnectionEndpointId`\"\u003e`hybrid_connection_endpoint_id`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`serviceBusQueueEndpointId`\" pulumi-lang-dotnet=\"`ServiceBusQueueEndpointId`\" pulumi-lang-go=\"`serviceBusQueueEndpointId`\" pulumi-lang-python=\"`service_bus_queue_endpoint_id`\" pulumi-lang-yaml=\"`serviceBusQueueEndpointId`\" pulumi-lang-java=\"`serviceBusQueueEndpointId`\"\u003e`service_bus_queue_endpoint_id`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`serviceBusTopicEndpointId`\" pulumi-lang-dotnet=\"`ServiceBusTopicEndpointId`\" pulumi-lang-go=\"`serviceBusTopicEndpointId`\" pulumi-lang-python=\"`service_bus_topic_endpoint_id`\" pulumi-lang-yaml=\"`serviceBusTopicEndpointId`\" pulumi-lang-java=\"`serviceBusTopicEndpointId`\"\u003e`service_bus_topic_endpoint_id`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`storageQueueEndpoint`\" pulumi-lang-dotnet=\"`StorageQueueEndpoint`\" pulumi-lang-go=\"`storageQueueEndpoint`\" pulumi-lang-python=\"`storage_queue_endpoint`\" pulumi-lang-yaml=\"`storageQueueEndpoint`\" pulumi-lang-java=\"`storageQueueEndpoint`\"\u003e`storage_queue_endpoint`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`webhookEndpoint`\" pulumi-lang-dotnet=\"`WebhookEndpoint`\" pulumi-lang-go=\"`webhookEndpoint`\" pulumi-lang-python=\"`webhook_endpoint`\" pulumi-lang-yaml=\"`webhookEndpoint`\" pulumi-lang-java=\"`webhookEndpoint`\"\u003e`webhook_endpoint`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`azureFunctionEndpoint`\" pulumi-lang-dotnet=\"`AzureFunctionEndpoint`\" pulumi-lang-go=\"`azureFunctionEndpoint`\" pulumi-lang-python=\"`azure_function_endpoint`\" pulumi-lang-yaml=\"`azureFunctionEndpoint`\" pulumi-lang-java=\"`azureFunctionEndpoint`\"\u003e`azure_function_endpoint`\u003c/span\u003e must be specified.\n"}},"required":["eventhubEndpointId","hybridConnectionEndpointId","includedEventTypes","name","retryPolicy","scope"],"inputProperties":{"advancedFilter":{"$ref":"#/types/azure:eventgrid/EventSubscriptionAdvancedFilter:EventSubscriptionAdvancedFilter","description":"A \u003cspan pulumi-lang-nodejs=\"`advancedFilter`\" pulumi-lang-dotnet=\"`AdvancedFilter`\" pulumi-lang-go=\"`advancedFilter`\" pulumi-lang-python=\"`advanced_filter`\" pulumi-lang-yaml=\"`advancedFilter`\" pulumi-lang-java=\"`advancedFilter`\"\u003e`advanced_filter`\u003c/span\u003e block as defined below.\n"},"advancedFilteringOnArraysEnabled":{"type":"boolean","description":"Specifies whether advanced filters should be evaluated against an array of values instead of expecting a singular value. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"azureFunctionEndpoint":{"$ref":"#/types/azure:eventgrid/EventSubscriptionAzureFunctionEndpoint:EventSubscriptionAzureFunctionEndpoint","description":"An \u003cspan pulumi-lang-nodejs=\"`azureFunctionEndpoint`\" pulumi-lang-dotnet=\"`AzureFunctionEndpoint`\" pulumi-lang-go=\"`azureFunctionEndpoint`\" pulumi-lang-python=\"`azure_function_endpoint`\" pulumi-lang-yaml=\"`azureFunctionEndpoint`\" pulumi-lang-java=\"`azureFunctionEndpoint`\"\u003e`azure_function_endpoint`\u003c/span\u003e block as defined below.\n"},"deadLetterIdentity":{"$ref":"#/types/azure:eventgrid/EventSubscriptionDeadLetterIdentity:EventSubscriptionDeadLetterIdentity","description":"A \u003cspan pulumi-lang-nodejs=\"`deadLetterIdentity`\" pulumi-lang-dotnet=\"`DeadLetterIdentity`\" pulumi-lang-go=\"`deadLetterIdentity`\" pulumi-lang-python=\"`dead_letter_identity`\" pulumi-lang-yaml=\"`deadLetterIdentity`\" pulumi-lang-java=\"`deadLetterIdentity`\"\u003e`dead_letter_identity`\u003c/span\u003e block as defined below.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`storageBlobDeadLetterDestination`\" pulumi-lang-dotnet=\"`StorageBlobDeadLetterDestination`\" pulumi-lang-go=\"`storageBlobDeadLetterDestination`\" pulumi-lang-python=\"`storage_blob_dead_letter_destination`\" pulumi-lang-yaml=\"`storageBlobDeadLetterDestination`\" pulumi-lang-java=\"`storageBlobDeadLetterDestination`\"\u003e`storage_blob_dead_letter_destination`\u003c/span\u003e must be specified when a \u003cspan pulumi-lang-nodejs=\"`deadLetterIdentity`\" pulumi-lang-dotnet=\"`DeadLetterIdentity`\" pulumi-lang-go=\"`deadLetterIdentity`\" pulumi-lang-python=\"`dead_letter_identity`\" pulumi-lang-yaml=\"`deadLetterIdentity`\" pulumi-lang-java=\"`deadLetterIdentity`\"\u003e`dead_letter_identity`\u003c/span\u003e is specified\n"},"deliveryIdentity":{"$ref":"#/types/azure:eventgrid/EventSubscriptionDeliveryIdentity:EventSubscriptionDeliveryIdentity","description":"A \u003cspan pulumi-lang-nodejs=\"`deliveryIdentity`\" pulumi-lang-dotnet=\"`DeliveryIdentity`\" pulumi-lang-go=\"`deliveryIdentity`\" pulumi-lang-python=\"`delivery_identity`\" pulumi-lang-yaml=\"`deliveryIdentity`\" pulumi-lang-java=\"`deliveryIdentity`\"\u003e`delivery_identity`\u003c/span\u003e block as defined below.\n"},"deliveryProperties":{"type":"array","items":{"$ref":"#/types/azure:eventgrid/EventSubscriptionDeliveryProperty:EventSubscriptionDeliveryProperty"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`deliveryProperty`\" pulumi-lang-dotnet=\"`DeliveryProperty`\" pulumi-lang-go=\"`deliveryProperty`\" pulumi-lang-python=\"`delivery_property`\" pulumi-lang-yaml=\"`deliveryProperty`\" pulumi-lang-java=\"`deliveryProperty`\"\u003e`delivery_property`\u003c/span\u003e blocks as defined below.\n"},"eventDeliverySchema":{"type":"string","description":"Specifies the event delivery schema for the event subscription. Possible values include: `EventGridSchema`, `CloudEventSchemaV1_0`, `CustomInputSchema`. Defaults to `EventGridSchema`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"eventhubEndpointId":{"type":"string","description":"Specifies the id where the Event Hub is located.\n"},"expirationTimeUtc":{"type":"string","description":"Specifies the expiration time of the event subscription (Datetime Format `RFC 3339`).\n"},"hybridConnectionEndpointId":{"type":"string","description":"Specifies the id where the Hybrid Connection is located.\n"},"includedEventTypes":{"type":"array","items":{"type":"string"},"description":"A list of applicable event types that need to be part of the event subscription.\n"},"labels":{"type":"array","items":{"type":"string"},"description":"A list of labels to assign to the event subscription.\n"},"name":{"type":"string","description":"Specifies the name of the EventGrid Event Subscription resource. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"retryPolicy":{"$ref":"#/types/azure:eventgrid/EventSubscriptionRetryPolicy:EventSubscriptionRetryPolicy","description":"A \u003cspan pulumi-lang-nodejs=\"`retryPolicy`\" pulumi-lang-dotnet=\"`RetryPolicy`\" pulumi-lang-go=\"`retryPolicy`\" pulumi-lang-python=\"`retry_policy`\" pulumi-lang-yaml=\"`retryPolicy`\" pulumi-lang-java=\"`retryPolicy`\"\u003e`retry_policy`\u003c/span\u003e block as defined below.\n"},"scope":{"type":"string","description":"Specifies the scope at which the EventGrid Event Subscription should be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"serviceBusQueueEndpointId":{"type":"string","description":"Specifies the id where the Service Bus Queue is located.\n"},"serviceBusTopicEndpointId":{"type":"string","description":"Specifies the id where the Service Bus Topic is located.\n"},"storageBlobDeadLetterDestination":{"$ref":"#/types/azure:eventgrid/EventSubscriptionStorageBlobDeadLetterDestination:EventSubscriptionStorageBlobDeadLetterDestination","description":"A \u003cspan pulumi-lang-nodejs=\"`storageBlobDeadLetterDestination`\" pulumi-lang-dotnet=\"`StorageBlobDeadLetterDestination`\" pulumi-lang-go=\"`storageBlobDeadLetterDestination`\" pulumi-lang-python=\"`storage_blob_dead_letter_destination`\" pulumi-lang-yaml=\"`storageBlobDeadLetterDestination`\" pulumi-lang-java=\"`storageBlobDeadLetterDestination`\"\u003e`storage_blob_dead_letter_destination`\u003c/span\u003e block as defined below.\n"},"storageQueueEndpoint":{"$ref":"#/types/azure:eventgrid/EventSubscriptionStorageQueueEndpoint:EventSubscriptionStorageQueueEndpoint","description":"A \u003cspan pulumi-lang-nodejs=\"`storageQueueEndpoint`\" pulumi-lang-dotnet=\"`StorageQueueEndpoint`\" pulumi-lang-go=\"`storageQueueEndpoint`\" pulumi-lang-python=\"`storage_queue_endpoint`\" pulumi-lang-yaml=\"`storageQueueEndpoint`\" pulumi-lang-java=\"`storageQueueEndpoint`\"\u003e`storage_queue_endpoint`\u003c/span\u003e block as defined below.\n"},"subjectFilter":{"$ref":"#/types/azure:eventgrid/EventSubscriptionSubjectFilter:EventSubscriptionSubjectFilter","description":"A \u003cspan pulumi-lang-nodejs=\"`subjectFilter`\" pulumi-lang-dotnet=\"`SubjectFilter`\" pulumi-lang-go=\"`subjectFilter`\" pulumi-lang-python=\"`subject_filter`\" pulumi-lang-yaml=\"`subjectFilter`\" pulumi-lang-java=\"`subjectFilter`\"\u003e`subject_filter`\u003c/span\u003e block as defined below.\n"},"webhookEndpoint":{"$ref":"#/types/azure:eventgrid/EventSubscriptionWebhookEndpoint:EventSubscriptionWebhookEndpoint","description":"A \u003cspan pulumi-lang-nodejs=\"`webhookEndpoint`\" pulumi-lang-dotnet=\"`WebhookEndpoint`\" pulumi-lang-go=\"`webhookEndpoint`\" pulumi-lang-python=\"`webhook_endpoint`\" pulumi-lang-yaml=\"`webhookEndpoint`\" pulumi-lang-java=\"`webhookEndpoint`\"\u003e`webhook_endpoint`\u003c/span\u003e block as defined below.\n\n\u003e **Note:** One of \u003cspan pulumi-lang-nodejs=\"`eventhubEndpointId`\" pulumi-lang-dotnet=\"`EventhubEndpointId`\" pulumi-lang-go=\"`eventhubEndpointId`\" pulumi-lang-python=\"`eventhub_endpoint_id`\" pulumi-lang-yaml=\"`eventhubEndpointId`\" pulumi-lang-java=\"`eventhubEndpointId`\"\u003e`eventhub_endpoint_id`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`hybridConnectionEndpointId`\" pulumi-lang-dotnet=\"`HybridConnectionEndpointId`\" pulumi-lang-go=\"`hybridConnectionEndpointId`\" pulumi-lang-python=\"`hybrid_connection_endpoint_id`\" pulumi-lang-yaml=\"`hybridConnectionEndpointId`\" pulumi-lang-java=\"`hybridConnectionEndpointId`\"\u003e`hybrid_connection_endpoint_id`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`serviceBusQueueEndpointId`\" pulumi-lang-dotnet=\"`ServiceBusQueueEndpointId`\" pulumi-lang-go=\"`serviceBusQueueEndpointId`\" pulumi-lang-python=\"`service_bus_queue_endpoint_id`\" pulumi-lang-yaml=\"`serviceBusQueueEndpointId`\" pulumi-lang-java=\"`serviceBusQueueEndpointId`\"\u003e`service_bus_queue_endpoint_id`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`serviceBusTopicEndpointId`\" pulumi-lang-dotnet=\"`ServiceBusTopicEndpointId`\" pulumi-lang-go=\"`serviceBusTopicEndpointId`\" pulumi-lang-python=\"`service_bus_topic_endpoint_id`\" pulumi-lang-yaml=\"`serviceBusTopicEndpointId`\" pulumi-lang-java=\"`serviceBusTopicEndpointId`\"\u003e`service_bus_topic_endpoint_id`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`storageQueueEndpoint`\" pulumi-lang-dotnet=\"`StorageQueueEndpoint`\" pulumi-lang-go=\"`storageQueueEndpoint`\" pulumi-lang-python=\"`storage_queue_endpoint`\" pulumi-lang-yaml=\"`storageQueueEndpoint`\" pulumi-lang-java=\"`storageQueueEndpoint`\"\u003e`storage_queue_endpoint`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`webhookEndpoint`\" pulumi-lang-dotnet=\"`WebhookEndpoint`\" pulumi-lang-go=\"`webhookEndpoint`\" pulumi-lang-python=\"`webhook_endpoint`\" pulumi-lang-yaml=\"`webhookEndpoint`\" pulumi-lang-java=\"`webhookEndpoint`\"\u003e`webhook_endpoint`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`azureFunctionEndpoint`\" pulumi-lang-dotnet=\"`AzureFunctionEndpoint`\" pulumi-lang-go=\"`azureFunctionEndpoint`\" pulumi-lang-python=\"`azure_function_endpoint`\" pulumi-lang-yaml=\"`azureFunctionEndpoint`\" pulumi-lang-java=\"`azureFunctionEndpoint`\"\u003e`azure_function_endpoint`\u003c/span\u003e must be specified.\n"}},"requiredInputs":["scope"],"stateInputs":{"description":"Input properties used for looking up and filtering EventSubscription resources.\n","properties":{"advancedFilter":{"$ref":"#/types/azure:eventgrid/EventSubscriptionAdvancedFilter:EventSubscriptionAdvancedFilter","description":"A \u003cspan pulumi-lang-nodejs=\"`advancedFilter`\" pulumi-lang-dotnet=\"`AdvancedFilter`\" pulumi-lang-go=\"`advancedFilter`\" pulumi-lang-python=\"`advanced_filter`\" pulumi-lang-yaml=\"`advancedFilter`\" pulumi-lang-java=\"`advancedFilter`\"\u003e`advanced_filter`\u003c/span\u003e block as defined below.\n"},"advancedFilteringOnArraysEnabled":{"type":"boolean","description":"Specifies whether advanced filters should be evaluated against an array of values instead of expecting a singular value. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"azureFunctionEndpoint":{"$ref":"#/types/azure:eventgrid/EventSubscriptionAzureFunctionEndpoint:EventSubscriptionAzureFunctionEndpoint","description":"An \u003cspan pulumi-lang-nodejs=\"`azureFunctionEndpoint`\" pulumi-lang-dotnet=\"`AzureFunctionEndpoint`\" pulumi-lang-go=\"`azureFunctionEndpoint`\" pulumi-lang-python=\"`azure_function_endpoint`\" pulumi-lang-yaml=\"`azureFunctionEndpoint`\" pulumi-lang-java=\"`azureFunctionEndpoint`\"\u003e`azure_function_endpoint`\u003c/span\u003e block as defined below.\n"},"deadLetterIdentity":{"$ref":"#/types/azure:eventgrid/EventSubscriptionDeadLetterIdentity:EventSubscriptionDeadLetterIdentity","description":"A \u003cspan pulumi-lang-nodejs=\"`deadLetterIdentity`\" pulumi-lang-dotnet=\"`DeadLetterIdentity`\" pulumi-lang-go=\"`deadLetterIdentity`\" pulumi-lang-python=\"`dead_letter_identity`\" pulumi-lang-yaml=\"`deadLetterIdentity`\" pulumi-lang-java=\"`deadLetterIdentity`\"\u003e`dead_letter_identity`\u003c/span\u003e block as defined below.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`storageBlobDeadLetterDestination`\" pulumi-lang-dotnet=\"`StorageBlobDeadLetterDestination`\" pulumi-lang-go=\"`storageBlobDeadLetterDestination`\" pulumi-lang-python=\"`storage_blob_dead_letter_destination`\" pulumi-lang-yaml=\"`storageBlobDeadLetterDestination`\" pulumi-lang-java=\"`storageBlobDeadLetterDestination`\"\u003e`storage_blob_dead_letter_destination`\u003c/span\u003e must be specified when a \u003cspan pulumi-lang-nodejs=\"`deadLetterIdentity`\" pulumi-lang-dotnet=\"`DeadLetterIdentity`\" pulumi-lang-go=\"`deadLetterIdentity`\" pulumi-lang-python=\"`dead_letter_identity`\" pulumi-lang-yaml=\"`deadLetterIdentity`\" pulumi-lang-java=\"`deadLetterIdentity`\"\u003e`dead_letter_identity`\u003c/span\u003e is specified\n"},"deliveryIdentity":{"$ref":"#/types/azure:eventgrid/EventSubscriptionDeliveryIdentity:EventSubscriptionDeliveryIdentity","description":"A \u003cspan pulumi-lang-nodejs=\"`deliveryIdentity`\" pulumi-lang-dotnet=\"`DeliveryIdentity`\" pulumi-lang-go=\"`deliveryIdentity`\" pulumi-lang-python=\"`delivery_identity`\" pulumi-lang-yaml=\"`deliveryIdentity`\" pulumi-lang-java=\"`deliveryIdentity`\"\u003e`delivery_identity`\u003c/span\u003e block as defined below.\n"},"deliveryProperties":{"type":"array","items":{"$ref":"#/types/azure:eventgrid/EventSubscriptionDeliveryProperty:EventSubscriptionDeliveryProperty"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`deliveryProperty`\" pulumi-lang-dotnet=\"`DeliveryProperty`\" pulumi-lang-go=\"`deliveryProperty`\" pulumi-lang-python=\"`delivery_property`\" pulumi-lang-yaml=\"`deliveryProperty`\" pulumi-lang-java=\"`deliveryProperty`\"\u003e`delivery_property`\u003c/span\u003e blocks as defined below.\n"},"eventDeliverySchema":{"type":"string","description":"Specifies the event delivery schema for the event subscription. Possible values include: `EventGridSchema`, `CloudEventSchemaV1_0`, `CustomInputSchema`. Defaults to `EventGridSchema`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"eventhubEndpointId":{"type":"string","description":"Specifies the id where the Event Hub is located.\n"},"expirationTimeUtc":{"type":"string","description":"Specifies the expiration time of the event subscription (Datetime Format `RFC 3339`).\n"},"hybridConnectionEndpointId":{"type":"string","description":"Specifies the id where the Hybrid Connection is located.\n"},"includedEventTypes":{"type":"array","items":{"type":"string"},"description":"A list of applicable event types that need to be part of the event subscription.\n"},"labels":{"type":"array","items":{"type":"string"},"description":"A list of labels to assign to the event subscription.\n"},"name":{"type":"string","description":"Specifies the name of the EventGrid Event Subscription resource. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"retryPolicy":{"$ref":"#/types/azure:eventgrid/EventSubscriptionRetryPolicy:EventSubscriptionRetryPolicy","description":"A \u003cspan pulumi-lang-nodejs=\"`retryPolicy`\" pulumi-lang-dotnet=\"`RetryPolicy`\" pulumi-lang-go=\"`retryPolicy`\" pulumi-lang-python=\"`retry_policy`\" pulumi-lang-yaml=\"`retryPolicy`\" pulumi-lang-java=\"`retryPolicy`\"\u003e`retry_policy`\u003c/span\u003e block as defined below.\n"},"scope":{"type":"string","description":"Specifies the scope at which the EventGrid Event Subscription should be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"serviceBusQueueEndpointId":{"type":"string","description":"Specifies the id where the Service Bus Queue is located.\n"},"serviceBusTopicEndpointId":{"type":"string","description":"Specifies the id where the Service Bus Topic is located.\n"},"storageBlobDeadLetterDestination":{"$ref":"#/types/azure:eventgrid/EventSubscriptionStorageBlobDeadLetterDestination:EventSubscriptionStorageBlobDeadLetterDestination","description":"A \u003cspan pulumi-lang-nodejs=\"`storageBlobDeadLetterDestination`\" pulumi-lang-dotnet=\"`StorageBlobDeadLetterDestination`\" pulumi-lang-go=\"`storageBlobDeadLetterDestination`\" pulumi-lang-python=\"`storage_blob_dead_letter_destination`\" pulumi-lang-yaml=\"`storageBlobDeadLetterDestination`\" pulumi-lang-java=\"`storageBlobDeadLetterDestination`\"\u003e`storage_blob_dead_letter_destination`\u003c/span\u003e block as defined below.\n"},"storageQueueEndpoint":{"$ref":"#/types/azure:eventgrid/EventSubscriptionStorageQueueEndpoint:EventSubscriptionStorageQueueEndpoint","description":"A \u003cspan pulumi-lang-nodejs=\"`storageQueueEndpoint`\" pulumi-lang-dotnet=\"`StorageQueueEndpoint`\" pulumi-lang-go=\"`storageQueueEndpoint`\" pulumi-lang-python=\"`storage_queue_endpoint`\" pulumi-lang-yaml=\"`storageQueueEndpoint`\" pulumi-lang-java=\"`storageQueueEndpoint`\"\u003e`storage_queue_endpoint`\u003c/span\u003e block as defined below.\n"},"subjectFilter":{"$ref":"#/types/azure:eventgrid/EventSubscriptionSubjectFilter:EventSubscriptionSubjectFilter","description":"A \u003cspan pulumi-lang-nodejs=\"`subjectFilter`\" pulumi-lang-dotnet=\"`SubjectFilter`\" pulumi-lang-go=\"`subjectFilter`\" pulumi-lang-python=\"`subject_filter`\" pulumi-lang-yaml=\"`subjectFilter`\" pulumi-lang-java=\"`subjectFilter`\"\u003e`subject_filter`\u003c/span\u003e block as defined below.\n"},"webhookEndpoint":{"$ref":"#/types/azure:eventgrid/EventSubscriptionWebhookEndpoint:EventSubscriptionWebhookEndpoint","description":"A \u003cspan pulumi-lang-nodejs=\"`webhookEndpoint`\" pulumi-lang-dotnet=\"`WebhookEndpoint`\" pulumi-lang-go=\"`webhookEndpoint`\" pulumi-lang-python=\"`webhook_endpoint`\" pulumi-lang-yaml=\"`webhookEndpoint`\" pulumi-lang-java=\"`webhookEndpoint`\"\u003e`webhook_endpoint`\u003c/span\u003e block as defined below.\n\n\u003e **Note:** One of \u003cspan pulumi-lang-nodejs=\"`eventhubEndpointId`\" pulumi-lang-dotnet=\"`EventhubEndpointId`\" pulumi-lang-go=\"`eventhubEndpointId`\" pulumi-lang-python=\"`eventhub_endpoint_id`\" pulumi-lang-yaml=\"`eventhubEndpointId`\" pulumi-lang-java=\"`eventhubEndpointId`\"\u003e`eventhub_endpoint_id`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`hybridConnectionEndpointId`\" pulumi-lang-dotnet=\"`HybridConnectionEndpointId`\" pulumi-lang-go=\"`hybridConnectionEndpointId`\" pulumi-lang-python=\"`hybrid_connection_endpoint_id`\" pulumi-lang-yaml=\"`hybridConnectionEndpointId`\" pulumi-lang-java=\"`hybridConnectionEndpointId`\"\u003e`hybrid_connection_endpoint_id`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`serviceBusQueueEndpointId`\" pulumi-lang-dotnet=\"`ServiceBusQueueEndpointId`\" pulumi-lang-go=\"`serviceBusQueueEndpointId`\" pulumi-lang-python=\"`service_bus_queue_endpoint_id`\" pulumi-lang-yaml=\"`serviceBusQueueEndpointId`\" pulumi-lang-java=\"`serviceBusQueueEndpointId`\"\u003e`service_bus_queue_endpoint_id`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`serviceBusTopicEndpointId`\" pulumi-lang-dotnet=\"`ServiceBusTopicEndpointId`\" pulumi-lang-go=\"`serviceBusTopicEndpointId`\" pulumi-lang-python=\"`service_bus_topic_endpoint_id`\" pulumi-lang-yaml=\"`serviceBusTopicEndpointId`\" pulumi-lang-java=\"`serviceBusTopicEndpointId`\"\u003e`service_bus_topic_endpoint_id`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`storageQueueEndpoint`\" pulumi-lang-dotnet=\"`StorageQueueEndpoint`\" pulumi-lang-go=\"`storageQueueEndpoint`\" pulumi-lang-python=\"`storage_queue_endpoint`\" pulumi-lang-yaml=\"`storageQueueEndpoint`\" pulumi-lang-java=\"`storageQueueEndpoint`\"\u003e`storage_queue_endpoint`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`webhookEndpoint`\" pulumi-lang-dotnet=\"`WebhookEndpoint`\" pulumi-lang-go=\"`webhookEndpoint`\" pulumi-lang-python=\"`webhook_endpoint`\" pulumi-lang-yaml=\"`webhookEndpoint`\" pulumi-lang-java=\"`webhookEndpoint`\"\u003e`webhook_endpoint`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`azureFunctionEndpoint`\" pulumi-lang-dotnet=\"`AzureFunctionEndpoint`\" pulumi-lang-go=\"`azureFunctionEndpoint`\" pulumi-lang-python=\"`azure_function_endpoint`\" pulumi-lang-yaml=\"`azureFunctionEndpoint`\" pulumi-lang-java=\"`azureFunctionEndpoint`\"\u003e`azure_function_endpoint`\u003c/span\u003e must be specified.\n"}},"type":"object"},"aliases":[{"type":"azure:eventhub/eventSubscription:EventSubscription"}]},"azure:eventgrid/namespace:Namespace":{"description":"Manages an EventGrid Namespace\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleNamespace = new azure.eventgrid.Namespace(\"example\", {\n    name: \"my-eventgrid-namespace\",\n    location: example.location,\n    resourceGroupName: example.name,\n    tags: {\n        environment: \"Production\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_namespace = azure.eventgrid.Namespace(\"example\",\n    name=\"my-eventgrid-namespace\",\n    location=example.location,\n    resource_group_name=example.name,\n    tags={\n        \"environment\": \"Production\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleNamespace = new Azure.EventGrid.Namespace(\"example\", new()\n    {\n        Name = \"my-eventgrid-namespace\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Tags = \n        {\n            { \"environment\", \"Production\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/eventgrid\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = eventgrid.NewNamespace(ctx, \"example\", \u0026eventgrid.NamespaceArgs{\n\t\t\tName:              pulumi.String(\"my-eventgrid-namespace\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"environment\": pulumi.String(\"Production\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.eventgrid.Namespace;\nimport com.pulumi.azure.eventgrid.NamespaceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleNamespace = new Namespace(\"exampleNamespace\", NamespaceArgs.builder()\n            .name(\"my-eventgrid-namespace\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .tags(Map.of(\"environment\", \"Production\"))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleNamespace:\n    type: azure:eventgrid:Namespace\n    name: example\n    properties:\n      name: my-eventgrid-namespace\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      tags:\n        environment: Production\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.EventGrid` - 2023-12-15-preview\n\n## Import\n\nEventGrid Namespace's can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:eventgrid/namespace:Namespace namespace1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.EventGrid/namespaces/namespace1\n```\n\n","properties":{"capacity":{"type":"integer","description":"Specifies the Capacity / Throughput Units for an Eventgrid Namespace. Valid values can be between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`40`\" pulumi-lang-dotnet=\"`40`\" pulumi-lang-go=\"`40`\" pulumi-lang-python=\"`40`\" pulumi-lang-yaml=\"`40`\" pulumi-lang-java=\"`40`\"\u003e`40`\u003c/span\u003e.\n"},"identity":{"$ref":"#/types/azure:eventgrid/NamespaceIdentity:NamespaceIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"inboundIpRules":{"type":"array","items":{"$ref":"#/types/azure:eventgrid/NamespaceInboundIpRule:NamespaceInboundIpRule"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`inboundIpRule`\" pulumi-lang-dotnet=\"`InboundIpRule`\" pulumi-lang-go=\"`inboundIpRule`\" pulumi-lang-python=\"`inbound_ip_rule`\" pulumi-lang-yaml=\"`inboundIpRule`\" pulumi-lang-java=\"`inboundIpRule`\"\u003e`inbound_ip_rule`\u003c/span\u003e blocks as defined below.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource should exist. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"Specifies the name of the Event Grid Namespace resource. Changing this forces a new resource to be created.\n"},"publicNetworkAccess":{"type":"string","description":"Whether or not public network access is allowed for this server. Possible values are `Enabled` and `Disabled`. Defaults to `Enabled`.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the Event Grid Namespace should exist. Changing this forces a new resource to be created.\n"},"sku":{"type":"string","description":"Defines which tier to use. The only possible value is `Standard`. Defaults to `Standard`.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"topicSpacesConfigurations":{"type":"array","items":{"$ref":"#/types/azure:eventgrid/NamespaceTopicSpacesConfiguration:NamespaceTopicSpacesConfiguration"},"description":"A \u003cspan pulumi-lang-nodejs=\"`topicSpacesConfiguration`\" pulumi-lang-dotnet=\"`TopicSpacesConfiguration`\" pulumi-lang-go=\"`topicSpacesConfiguration`\" pulumi-lang-python=\"`topic_spaces_configuration`\" pulumi-lang-yaml=\"`topicSpacesConfiguration`\" pulumi-lang-java=\"`topicSpacesConfiguration`\"\u003e`topic_spaces_configuration`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n"}},"required":["location","name","resourceGroupName"],"inputProperties":{"capacity":{"type":"integer","description":"Specifies the Capacity / Throughput Units for an Eventgrid Namespace. Valid values can be between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`40`\" pulumi-lang-dotnet=\"`40`\" pulumi-lang-go=\"`40`\" pulumi-lang-python=\"`40`\" pulumi-lang-yaml=\"`40`\" pulumi-lang-java=\"`40`\"\u003e`40`\u003c/span\u003e.\n"},"identity":{"$ref":"#/types/azure:eventgrid/NamespaceIdentity:NamespaceIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"inboundIpRules":{"type":"array","items":{"$ref":"#/types/azure:eventgrid/NamespaceInboundIpRule:NamespaceInboundIpRule"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`inboundIpRule`\" pulumi-lang-dotnet=\"`InboundIpRule`\" pulumi-lang-go=\"`inboundIpRule`\" pulumi-lang-python=\"`inbound_ip_rule`\" pulumi-lang-yaml=\"`inboundIpRule`\" pulumi-lang-java=\"`inboundIpRule`\"\u003e`inbound_ip_rule`\u003c/span\u003e blocks as defined below.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the Event Grid Namespace resource. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"publicNetworkAccess":{"type":"string","description":"Whether or not public network access is allowed for this server. Possible values are `Enabled` and `Disabled`. Defaults to `Enabled`.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the Event Grid Namespace should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sku":{"type":"string","description":"Defines which tier to use. The only possible value is `Standard`. Defaults to `Standard`.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"topicSpacesConfigurations":{"type":"array","items":{"$ref":"#/types/azure:eventgrid/NamespaceTopicSpacesConfiguration:NamespaceTopicSpacesConfiguration"},"description":"A \u003cspan pulumi-lang-nodejs=\"`topicSpacesConfiguration`\" pulumi-lang-dotnet=\"`TopicSpacesConfiguration`\" pulumi-lang-go=\"`topicSpacesConfiguration`\" pulumi-lang-python=\"`topic_spaces_configuration`\" pulumi-lang-yaml=\"`topicSpacesConfiguration`\" pulumi-lang-java=\"`topicSpacesConfiguration`\"\u003e`topic_spaces_configuration`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering Namespace resources.\n","properties":{"capacity":{"type":"integer","description":"Specifies the Capacity / Throughput Units for an Eventgrid Namespace. Valid values can be between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`40`\" pulumi-lang-dotnet=\"`40`\" pulumi-lang-go=\"`40`\" pulumi-lang-python=\"`40`\" pulumi-lang-yaml=\"`40`\" pulumi-lang-java=\"`40`\"\u003e`40`\u003c/span\u003e.\n"},"identity":{"$ref":"#/types/azure:eventgrid/NamespaceIdentity:NamespaceIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"inboundIpRules":{"type":"array","items":{"$ref":"#/types/azure:eventgrid/NamespaceInboundIpRule:NamespaceInboundIpRule"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`inboundIpRule`\" pulumi-lang-dotnet=\"`InboundIpRule`\" pulumi-lang-go=\"`inboundIpRule`\" pulumi-lang-python=\"`inbound_ip_rule`\" pulumi-lang-yaml=\"`inboundIpRule`\" pulumi-lang-java=\"`inboundIpRule`\"\u003e`inbound_ip_rule`\u003c/span\u003e blocks as defined below.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the Event Grid Namespace resource. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"publicNetworkAccess":{"type":"string","description":"Whether or not public network access is allowed for this server. Possible values are `Enabled` and `Disabled`. Defaults to `Enabled`.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the Event Grid Namespace should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sku":{"type":"string","description":"Defines which tier to use. The only possible value is `Standard`. Defaults to `Standard`.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"topicSpacesConfigurations":{"type":"array","items":{"$ref":"#/types/azure:eventgrid/NamespaceTopicSpacesConfiguration:NamespaceTopicSpacesConfiguration"},"description":"A \u003cspan pulumi-lang-nodejs=\"`topicSpacesConfiguration`\" pulumi-lang-dotnet=\"`TopicSpacesConfiguration`\" pulumi-lang-go=\"`topicSpacesConfiguration`\" pulumi-lang-python=\"`topic_spaces_configuration`\" pulumi-lang-yaml=\"`topicSpacesConfiguration`\" pulumi-lang-java=\"`topicSpacesConfiguration`\"\u003e`topic_spaces_configuration`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:eventgrid/partnerConfiguration:PartnerConfiguration":{"description":"Manages an Event Grid Partner Configuration.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst examplePartnerConfiguration = new azure.eventgrid.PartnerConfiguration(\"example\", {\n    resourceGroupName: example.name,\n    defaultMaximumExpirationTimeInDays: 14,\n    partnerAuthorizations: [{\n        partnerRegistrationId: \"804a11ca-ce9b-4158-8e94-3c8dc7a072ec\",\n        partnerName: \"Auth0\",\n        authorizationExpirationTimeInUtc: \"2025-02-05T00:00:00Z\",\n    }],\n    tags: {\n        environment: \"Production\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_partner_configuration = azure.eventgrid.PartnerConfiguration(\"example\",\n    resource_group_name=example.name,\n    default_maximum_expiration_time_in_days=14,\n    partner_authorizations=[{\n        \"partner_registration_id\": \"804a11ca-ce9b-4158-8e94-3c8dc7a072ec\",\n        \"partner_name\": \"Auth0\",\n        \"authorization_expiration_time_in_utc\": \"2025-02-05T00:00:00Z\",\n    }],\n    tags={\n        \"environment\": \"Production\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var examplePartnerConfiguration = new Azure.EventGrid.PartnerConfiguration(\"example\", new()\n    {\n        ResourceGroupName = example.Name,\n        DefaultMaximumExpirationTimeInDays = 14,\n        PartnerAuthorizations = new[]\n        {\n            new Azure.EventGrid.Inputs.PartnerConfigurationPartnerAuthorizationArgs\n            {\n                PartnerRegistrationId = \"804a11ca-ce9b-4158-8e94-3c8dc7a072ec\",\n                PartnerName = \"Auth0\",\n                AuthorizationExpirationTimeInUtc = \"2025-02-05T00:00:00Z\",\n            },\n        },\n        Tags = \n        {\n            { \"environment\", \"Production\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/eventgrid\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = eventgrid.NewPartnerConfiguration(ctx, \"example\", \u0026eventgrid.PartnerConfigurationArgs{\n\t\t\tResourceGroupName:                  example.Name,\n\t\t\tDefaultMaximumExpirationTimeInDays: pulumi.Int(14),\n\t\t\tPartnerAuthorizations: eventgrid.PartnerConfigurationPartnerAuthorizationArray{\n\t\t\t\t\u0026eventgrid.PartnerConfigurationPartnerAuthorizationArgs{\n\t\t\t\t\tPartnerRegistrationId:            pulumi.String(\"804a11ca-ce9b-4158-8e94-3c8dc7a072ec\"),\n\t\t\t\t\tPartnerName:                      pulumi.String(\"Auth0\"),\n\t\t\t\t\tAuthorizationExpirationTimeInUtc: pulumi.String(\"2025-02-05T00:00:00Z\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"environment\": pulumi.String(\"Production\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.eventgrid.PartnerConfiguration;\nimport com.pulumi.azure.eventgrid.PartnerConfigurationArgs;\nimport com.pulumi.azure.eventgrid.inputs.PartnerConfigurationPartnerAuthorizationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var examplePartnerConfiguration = new PartnerConfiguration(\"examplePartnerConfiguration\", PartnerConfigurationArgs.builder()\n            .resourceGroupName(example.name())\n            .defaultMaximumExpirationTimeInDays(14)\n            .partnerAuthorizations(PartnerConfigurationPartnerAuthorizationArgs.builder()\n                .partnerRegistrationId(\"804a11ca-ce9b-4158-8e94-3c8dc7a072ec\")\n                .partnerName(\"Auth0\")\n                .authorizationExpirationTimeInUtc(\"2025-02-05T00:00:00Z\")\n                .build())\n            .tags(Map.of(\"environment\", \"Production\"))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  examplePartnerConfiguration:\n    type: azure:eventgrid:PartnerConfiguration\n    name: example\n    properties:\n      resourceGroupName: ${example.name}\n      defaultMaximumExpirationTimeInDays: 14\n      partnerAuthorizations:\n        - partnerRegistrationId: 804a11ca-ce9b-4158-8e94-3c8dc7a072ec\n          partnerName: Auth0\n          authorizationExpirationTimeInUtc: 2025-02-05T00:00:00Z\n      tags:\n        environment: Production\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.EventGrid` - 2025-02-15\n\n## Import\n\nEvent Grid Partner Configurations can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:eventgrid/partnerConfiguration:PartnerConfiguration example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1\n```\n\n","properties":{"defaultMaximumExpirationTimeInDays":{"type":"integer","description":"Time used to validate the authorization expiration time for each authorized partner. Defaults to \u003cspan pulumi-lang-nodejs=\"`7`\" pulumi-lang-dotnet=\"`7`\" pulumi-lang-go=\"`7`\" pulumi-lang-python=\"`7`\" pulumi-lang-yaml=\"`7`\" pulumi-lang-java=\"`7`\"\u003e`7`\u003c/span\u003e.\n"},"partnerAuthorizations":{"type":"array","items":{"$ref":"#/types/azure:eventgrid/PartnerConfigurationPartnerAuthorization:PartnerConfigurationPartnerAuthorization"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`partnerAuthorization`\" pulumi-lang-dotnet=\"`PartnerAuthorization`\" pulumi-lang-go=\"`partnerAuthorization`\" pulumi-lang-python=\"`partner_authorization`\" pulumi-lang-yaml=\"`partnerAuthorization`\" pulumi-lang-java=\"`partnerAuthorization`\"\u003e`partner_authorization`\u003c/span\u003e blocks as defined below.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Event Grid Partner Configuration should exist. Changing this forces a new Event Grid Partner Configuration to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Event Grid Partner Configuration.\n"}},"required":["resourceGroupName"],"inputProperties":{"defaultMaximumExpirationTimeInDays":{"type":"integer","description":"Time used to validate the authorization expiration time for each authorized partner. Defaults to \u003cspan pulumi-lang-nodejs=\"`7`\" pulumi-lang-dotnet=\"`7`\" pulumi-lang-go=\"`7`\" pulumi-lang-python=\"`7`\" pulumi-lang-yaml=\"`7`\" pulumi-lang-java=\"`7`\"\u003e`7`\u003c/span\u003e.\n"},"partnerAuthorizations":{"type":"array","items":{"$ref":"#/types/azure:eventgrid/PartnerConfigurationPartnerAuthorization:PartnerConfigurationPartnerAuthorization"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`partnerAuthorization`\" pulumi-lang-dotnet=\"`PartnerAuthorization`\" pulumi-lang-go=\"`partnerAuthorization`\" pulumi-lang-python=\"`partner_authorization`\" pulumi-lang-yaml=\"`partnerAuthorization`\" pulumi-lang-java=\"`partnerAuthorization`\"\u003e`partner_authorization`\u003c/span\u003e blocks as defined below.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Event Grid Partner Configuration should exist. Changing this forces a new Event Grid Partner Configuration to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Event Grid Partner Configuration.\n"}},"requiredInputs":["resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering PartnerConfiguration resources.\n","properties":{"defaultMaximumExpirationTimeInDays":{"type":"integer","description":"Time used to validate the authorization expiration time for each authorized partner. Defaults to \u003cspan pulumi-lang-nodejs=\"`7`\" pulumi-lang-dotnet=\"`7`\" pulumi-lang-go=\"`7`\" pulumi-lang-python=\"`7`\" pulumi-lang-yaml=\"`7`\" pulumi-lang-java=\"`7`\"\u003e`7`\u003c/span\u003e.\n"},"partnerAuthorizations":{"type":"array","items":{"$ref":"#/types/azure:eventgrid/PartnerConfigurationPartnerAuthorization:PartnerConfigurationPartnerAuthorization"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`partnerAuthorization`\" pulumi-lang-dotnet=\"`PartnerAuthorization`\" pulumi-lang-go=\"`partnerAuthorization`\" pulumi-lang-python=\"`partner_authorization`\" pulumi-lang-yaml=\"`partnerAuthorization`\" pulumi-lang-java=\"`partnerAuthorization`\"\u003e`partner_authorization`\u003c/span\u003e blocks as defined below.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Event Grid Partner Configuration should exist. Changing this forces a new Event Grid Partner Configuration to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Event Grid Partner Configuration.\n"}},"type":"object"}},"azure:eventgrid/partnerNamespace:PartnerNamespace":{"description":"Manages an Event Grid Partner Namespace.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst examplePartnerRegistration = new azure.eventgrid.PartnerRegistration(\"example\", {\n    name: \"example-partner-registration\",\n    resourceGroupName: example.name,\n});\nconst examplePartnerNamespace = new azure.eventgrid.PartnerNamespace(\"example\", {\n    name: \"example-partner-namespace\",\n    location: example.location,\n    resourceGroupName: example.name,\n    partnerRegistrationId: examplePartnerRegistration.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_partner_registration = azure.eventgrid.PartnerRegistration(\"example\",\n    name=\"example-partner-registration\",\n    resource_group_name=example.name)\nexample_partner_namespace = azure.eventgrid.PartnerNamespace(\"example\",\n    name=\"example-partner-namespace\",\n    location=example.location,\n    resource_group_name=example.name,\n    partner_registration_id=example_partner_registration.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var examplePartnerRegistration = new Azure.EventGrid.PartnerRegistration(\"example\", new()\n    {\n        Name = \"example-partner-registration\",\n        ResourceGroupName = example.Name,\n    });\n\n    var examplePartnerNamespace = new Azure.EventGrid.PartnerNamespace(\"example\", new()\n    {\n        Name = \"example-partner-namespace\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        PartnerRegistrationId = examplePartnerRegistration.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/eventgrid\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texamplePartnerRegistration, err := eventgrid.NewPartnerRegistration(ctx, \"example\", \u0026eventgrid.PartnerRegistrationArgs{\n\t\t\tName:              pulumi.String(\"example-partner-registration\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = eventgrid.NewPartnerNamespace(ctx, \"example\", \u0026eventgrid.PartnerNamespaceArgs{\n\t\t\tName:                  pulumi.String(\"example-partner-namespace\"),\n\t\t\tLocation:              example.Location,\n\t\t\tResourceGroupName:     example.Name,\n\t\t\tPartnerRegistrationId: examplePartnerRegistration.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.eventgrid.PartnerRegistration;\nimport com.pulumi.azure.eventgrid.PartnerRegistrationArgs;\nimport com.pulumi.azure.eventgrid.PartnerNamespace;\nimport com.pulumi.azure.eventgrid.PartnerNamespaceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var examplePartnerRegistration = new PartnerRegistration(\"examplePartnerRegistration\", PartnerRegistrationArgs.builder()\n            .name(\"example-partner-registration\")\n            .resourceGroupName(example.name())\n            .build());\n\n        var examplePartnerNamespace = new PartnerNamespace(\"examplePartnerNamespace\", PartnerNamespaceArgs.builder()\n            .name(\"example-partner-namespace\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .partnerRegistrationId(examplePartnerRegistration.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  examplePartnerRegistration:\n    type: azure:eventgrid:PartnerRegistration\n    name: example\n    properties:\n      name: example-partner-registration\n      resourceGroupName: ${example.name}\n  examplePartnerNamespace:\n    type: azure:eventgrid:PartnerNamespace\n    name: example\n    properties:\n      name: example-partner-namespace\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      partnerRegistrationId: ${examplePartnerRegistration.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.EventGrid` - 2025-02-15\n\n## Import\n\nEvent Grid Partner Namespaces can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:eventgrid/partnerNamespace:PartnerNamespace example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/example/providers/Microsoft.EventGrid/partnerNamespaces/example\n```\n\n","properties":{"endpoint":{"type":"string","description":"The endpoint for the Event Grid Partner Namespace.\n"},"inboundIpRules":{"type":"array","items":{"$ref":"#/types/azure:eventgrid/PartnerNamespaceInboundIpRule:PartnerNamespaceInboundIpRule"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`inboundIpRule`\" pulumi-lang-dotnet=\"`InboundIpRule`\" pulumi-lang-go=\"`inboundIpRule`\" pulumi-lang-python=\"`inbound_ip_rule`\" pulumi-lang-yaml=\"`inboundIpRule`\" pulumi-lang-java=\"`inboundIpRule`\"\u003e`inbound_ip_rule`\u003c/span\u003e blocks as defined below.\n"},"localAuthenticationEnabled":{"type":"boolean","description":"Whether local authentication methods are enabled for the Event Grid Partner Namespace. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"location":{"type":"string","description":"Specifies the Azure Region where the Event Grid Partner Namespace exists. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"The name which should be used for this Event Grid Partner Namespace. Changing this forces a new Event Grid Partner Namespace to be created.\n"},"partnerRegistrationId":{"type":"string","description":"The resource Id of the Event Grid Partner Registration that this namespace is associated with. Changing this forces a new Event Grid Partner Namespace to be created.\n"},"partnerTopicRoutingMode":{"type":"string","description":"The partner topic routing mode. Possible values are `ChannelNameHeader` and `SourceEventAttribute`. Defaults to `ChannelNameHeader`. Changing this forces a new Event Grid Partner Namespace to be created.\n"},"publicNetworkAccess":{"type":"string","description":"Whether or not public network access is allowed for this server. Possible values are `Enabled` and `Disabled`. Defaults to `Enabled`.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Event Grid Partner Namespace should exist. Changing this forces a new Event Grid Partner Namespace to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Event Grid Partner Namespace.\n"}},"required":["endpoint","location","name","partnerRegistrationId","resourceGroupName"],"inputProperties":{"inboundIpRules":{"type":"array","items":{"$ref":"#/types/azure:eventgrid/PartnerNamespaceInboundIpRule:PartnerNamespaceInboundIpRule"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`inboundIpRule`\" pulumi-lang-dotnet=\"`InboundIpRule`\" pulumi-lang-go=\"`inboundIpRule`\" pulumi-lang-python=\"`inbound_ip_rule`\" pulumi-lang-yaml=\"`inboundIpRule`\" pulumi-lang-java=\"`inboundIpRule`\"\u003e`inbound_ip_rule`\u003c/span\u003e blocks as defined below.\n"},"localAuthenticationEnabled":{"type":"boolean","description":"Whether local authentication methods are enabled for the Event Grid Partner Namespace. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"location":{"type":"string","description":"Specifies the Azure Region where the Event Grid Partner Namespace exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Event Grid Partner Namespace. Changing this forces a new Event Grid Partner Namespace to be created.\n","willReplaceOnChanges":true},"partnerRegistrationId":{"type":"string","description":"The resource Id of the Event Grid Partner Registration that this namespace is associated with. Changing this forces a new Event Grid Partner Namespace to be created.\n","willReplaceOnChanges":true},"partnerTopicRoutingMode":{"type":"string","description":"The partner topic routing mode. Possible values are `ChannelNameHeader` and `SourceEventAttribute`. Defaults to `ChannelNameHeader`. Changing this forces a new Event Grid Partner Namespace to be created.\n","willReplaceOnChanges":true},"publicNetworkAccess":{"type":"string","description":"Whether or not public network access is allowed for this server. Possible values are `Enabled` and `Disabled`. Defaults to `Enabled`.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Event Grid Partner Namespace should exist. Changing this forces a new Event Grid Partner Namespace to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Event Grid Partner Namespace.\n"}},"requiredInputs":["partnerRegistrationId","resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering PartnerNamespace resources.\n","properties":{"endpoint":{"type":"string","description":"The endpoint for the Event Grid Partner Namespace.\n"},"inboundIpRules":{"type":"array","items":{"$ref":"#/types/azure:eventgrid/PartnerNamespaceInboundIpRule:PartnerNamespaceInboundIpRule"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`inboundIpRule`\" pulumi-lang-dotnet=\"`InboundIpRule`\" pulumi-lang-go=\"`inboundIpRule`\" pulumi-lang-python=\"`inbound_ip_rule`\" pulumi-lang-yaml=\"`inboundIpRule`\" pulumi-lang-java=\"`inboundIpRule`\"\u003e`inbound_ip_rule`\u003c/span\u003e blocks as defined below.\n"},"localAuthenticationEnabled":{"type":"boolean","description":"Whether local authentication methods are enabled for the Event Grid Partner Namespace. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"location":{"type":"string","description":"Specifies the Azure Region where the Event Grid Partner Namespace exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Event Grid Partner Namespace. Changing this forces a new Event Grid Partner Namespace to be created.\n","willReplaceOnChanges":true},"partnerRegistrationId":{"type":"string","description":"The resource Id of the Event Grid Partner Registration that this namespace is associated with. Changing this forces a new Event Grid Partner Namespace to be created.\n","willReplaceOnChanges":true},"partnerTopicRoutingMode":{"type":"string","description":"The partner topic routing mode. Possible values are `ChannelNameHeader` and `SourceEventAttribute`. Defaults to `ChannelNameHeader`. Changing this forces a new Event Grid Partner Namespace to be created.\n","willReplaceOnChanges":true},"publicNetworkAccess":{"type":"string","description":"Whether or not public network access is allowed for this server. Possible values are `Enabled` and `Disabled`. Defaults to `Enabled`.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Event Grid Partner Namespace should exist. Changing this forces a new Event Grid Partner Namespace to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Event Grid Partner Namespace.\n"}},"type":"object"}},"azure:eventgrid/partnerRegistration:PartnerRegistration":{"description":"Manages an EventGrid Partner Registration.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst examplePartnerRegistration = new azure.eventgrid.PartnerRegistration(\"example\", {\n    name: \"example-partner-registration\",\n    resourceGroupName: example.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_partner_registration = azure.eventgrid.PartnerRegistration(\"example\",\n    name=\"example-partner-registration\",\n    resource_group_name=example.name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var examplePartnerRegistration = new Azure.EventGrid.PartnerRegistration(\"example\", new()\n    {\n        Name = \"example-partner-registration\",\n        ResourceGroupName = example.Name,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/eventgrid\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = eventgrid.NewPartnerRegistration(ctx, \"example\", \u0026eventgrid.PartnerRegistrationArgs{\n\t\t\tName:              pulumi.String(\"example-partner-registration\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.eventgrid.PartnerRegistration;\nimport com.pulumi.azure.eventgrid.PartnerRegistrationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var examplePartnerRegistration = new PartnerRegistration(\"examplePartnerRegistration\", PartnerRegistrationArgs.builder()\n            .name(\"example-partner-registration\")\n            .resourceGroupName(example.name())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  examplePartnerRegistration:\n    type: azure:eventgrid:PartnerRegistration\n    name: example\n    properties:\n      name: example-partner-registration\n      resourceGroupName: ${example.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.EventGrid` - 2025-02-15\n\n## Import\n\nEventGrid Partner Registrations can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:eventgrid/partnerRegistration:PartnerRegistration example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/example/providers/Microsoft.EventGrid/partnerRegistrations/example\n```\n\n","properties":{"name":{"type":"string","description":"The name which should be used for this EventGrid Partner Registration. Changing this forces a new EventGrid Partner Registration to be created.\n"},"partnerRegistrationId":{"type":"string","description":"The immutable id of the corresponding partner registration.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the EventGrid Partner Registration should exist. Changing this forces a new EventGrid Partner Registration to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the EventGrid Partner Registration.\n"}},"required":["name","partnerRegistrationId","resourceGroupName"],"inputProperties":{"name":{"type":"string","description":"The name which should be used for this EventGrid Partner Registration. Changing this forces a new EventGrid Partner Registration to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the EventGrid Partner Registration should exist. Changing this forces a new EventGrid Partner Registration to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the EventGrid Partner Registration.\n"}},"requiredInputs":["resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering PartnerRegistration resources.\n","properties":{"name":{"type":"string","description":"The name which should be used for this EventGrid Partner Registration. Changing this forces a new EventGrid Partner Registration to be created.\n","willReplaceOnChanges":true},"partnerRegistrationId":{"type":"string","description":"The immutable id of the corresponding partner registration.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the EventGrid Partner Registration should exist. Changing this forces a new EventGrid Partner Registration to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the EventGrid Partner Registration.\n"}},"type":"object"}},"azure:eventgrid/systemTopic:SystemTopic":{"description":"Manages an Event Grid System Topic.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleAccount = new azure.storage.Account(\"example\", {\n    name: \"examplestoracct\",\n    resourceGroupName: example.name,\n    location: example.location,\n    accountTier: \"Standard\",\n    accountReplicationType: \"LRS\",\n    tags: {\n        environment: \"staging\",\n    },\n});\nconst exampleSystemTopic = new azure.eventgrid.SystemTopic(\"example\", {\n    name: \"example-topic\",\n    resourceGroupName: example.name,\n    location: example.location,\n    sourceResourceId: exampleAccount.id,\n    topicType: \"Microsoft.Storage.StorageAccounts\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_account = azure.storage.Account(\"example\",\n    name=\"examplestoracct\",\n    resource_group_name=example.name,\n    location=example.location,\n    account_tier=\"Standard\",\n    account_replication_type=\"LRS\",\n    tags={\n        \"environment\": \"staging\",\n    })\nexample_system_topic = azure.eventgrid.SystemTopic(\"example\",\n    name=\"example-topic\",\n    resource_group_name=example.name,\n    location=example.location,\n    source_resource_id=example_account.id,\n    topic_type=\"Microsoft.Storage.StorageAccounts\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleAccount = new Azure.Storage.Account(\"example\", new()\n    {\n        Name = \"examplestoracct\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        AccountTier = \"Standard\",\n        AccountReplicationType = \"LRS\",\n        Tags = \n        {\n            { \"environment\", \"staging\" },\n        },\n    });\n\n    var exampleSystemTopic = new Azure.EventGrid.SystemTopic(\"example\", new()\n    {\n        Name = \"example-topic\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        SourceResourceId = exampleAccount.Id,\n        TopicType = \"Microsoft.Storage.StorageAccounts\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/eventgrid\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := storage.NewAccount(ctx, \"example\", \u0026storage.AccountArgs{\n\t\t\tName:                   pulumi.String(\"examplestoracct\"),\n\t\t\tResourceGroupName:      example.Name,\n\t\t\tLocation:               example.Location,\n\t\t\tAccountTier:            pulumi.String(\"Standard\"),\n\t\t\tAccountReplicationType: pulumi.String(\"LRS\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"environment\": pulumi.String(\"staging\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = eventgrid.NewSystemTopic(ctx, \"example\", \u0026eventgrid.SystemTopicArgs{\n\t\t\tName:              pulumi.String(\"example-topic\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tSourceResourceId:  exampleAccount.ID(),\n\t\t\tTopicType:         pulumi.String(\"Microsoft.Storage.StorageAccounts\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.storage.Account;\nimport com.pulumi.azure.storage.AccountArgs;\nimport com.pulumi.azure.eventgrid.SystemTopic;\nimport com.pulumi.azure.eventgrid.SystemTopicArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"examplestoracct\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .accountTier(\"Standard\")\n            .accountReplicationType(\"LRS\")\n            .tags(Map.of(\"environment\", \"staging\"))\n            .build());\n\n        var exampleSystemTopic = new SystemTopic(\"exampleSystemTopic\", SystemTopicArgs.builder()\n            .name(\"example-topic\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .sourceResourceId(exampleAccount.id())\n            .topicType(\"Microsoft.Storage.StorageAccounts\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleAccount:\n    type: azure:storage:Account\n    name: example\n    properties:\n      name: examplestoracct\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      accountTier: Standard\n      accountReplicationType: LRS\n      tags:\n        environment: staging\n  exampleSystemTopic:\n    type: azure:eventgrid:SystemTopic\n    name: example\n    properties:\n      name: example-topic\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      sourceResourceId: ${exampleAccount.id}\n      topicType: Microsoft.Storage.StorageAccounts\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.EventGrid` - 2025-02-15\n\n## Import\n\nEvent Grid System Topic can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:eventgrid/systemTopic:SystemTopic example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.EventGrid/systemTopics/systemTopic1\n```\n\n","properties":{"identity":{"$ref":"#/types/azure:eventgrid/SystemTopicIdentity:SystemTopicIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"location":{"type":"string","description":"The Azure Region where the Event Grid System Topic should exist. Changing this forces a new Event Grid System Topic to be created.\n"},"metricArmResourceId":{"type":"string"},"metricResourceId":{"type":"string","description":"The Metric Resource ID of the Event Grid System Topic.\n"},"name":{"type":"string","description":"The name which should be used for this Event Grid System Topic. Changing this forces a new Event Grid System Topic to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Event Grid System Topic should exist. Changing this forces a new Event Grid System Topic to be created.\n"},"sourceArmResourceId":{"type":"string","deprecationMessage":"the \u003cspan pulumi-lang-nodejs=\"`sourceArmResourceId`\" pulumi-lang-dotnet=\"`SourceArmResourceId`\" pulumi-lang-go=\"`sourceArmResourceId`\" pulumi-lang-python=\"`source_arm_resource_id`\" pulumi-lang-yaml=\"`sourceArmResourceId`\" pulumi-lang-java=\"`sourceArmResourceId`\"\u003e`source_arm_resource_id`\u003c/span\u003e property has been deprecated in favour of \u003cspan pulumi-lang-nodejs=\"`sourceResourceId`\" pulumi-lang-dotnet=\"`SourceResourceId`\" pulumi-lang-go=\"`sourceResourceId`\" pulumi-lang-python=\"`source_resource_id`\" pulumi-lang-yaml=\"`sourceResourceId`\" pulumi-lang-java=\"`sourceResourceId`\"\u003e`source_resource_id`\u003c/span\u003e and will be removed in version 5.0 of the Provider."},"sourceResourceId":{"type":"string","description":"The ID of the Event Grid System Topic ARM Source. Changing this forces a new Event Grid System Topic to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Event Grid System Topic.\n"},"topicType":{"type":"string","description":"The Topic Type of the Event Grid System Topic. The topic type is validated by Azure and there may be additional topic types beyond the following: `Microsoft.AppConfiguration.ConfigurationStores`, `Microsoft.Communication.CommunicationServices`, `Microsoft.ContainerRegistry.Registries`, `Microsoft.Devices.IoTHubs`, `Microsoft.EventGrid.Domains`, `Microsoft.EventGrid.Topics`, `Microsoft.Eventhub.Namespaces`, `Microsoft.KeyVault.vaults`, `Microsoft.MachineLearningServices.Workspaces`, `Microsoft.Maps.Accounts`, `Microsoft.Media.MediaServices`, `Microsoft.Resources.ResourceGroups`, `Microsoft.Resources.Subscriptions`, `Microsoft.ServiceBus.Namespaces`, `Microsoft.SignalRService.SignalR`, `Microsoft.Storage.StorageAccounts`, `Microsoft.Web.ServerFarms` and `Microsoft.Web.Sites`. Changing this forces a new Event Grid System Topic to be created.\n\n\u003e **Note:** Some \u003cspan pulumi-lang-nodejs=\"`topicType`\" pulumi-lang-dotnet=\"`TopicType`\" pulumi-lang-go=\"`topicType`\" pulumi-lang-python=\"`topic_type`\" pulumi-lang-yaml=\"`topicType`\" pulumi-lang-java=\"`topicType`\"\u003e`topic_type`\u003c/span\u003es (e.g. **Microsoft.Resources.Subscriptions**) requires location to be set to `Global` instead of a real location like `West US`.\n\n\u003e **Note:** You can use Azure CLI to get a full list of the available topic types: `az eventgrid topic-type  list --output json | grep -w id`\n"}},"required":["location","metricArmResourceId","metricResourceId","name","resourceGroupName","sourceArmResourceId","sourceResourceId","topicType"],"inputProperties":{"identity":{"$ref":"#/types/azure:eventgrid/SystemTopicIdentity:SystemTopicIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"location":{"type":"string","description":"The Azure Region where the Event Grid System Topic should exist. Changing this forces a new Event Grid System Topic to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Event Grid System Topic. Changing this forces a new Event Grid System Topic to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Event Grid System Topic should exist. Changing this forces a new Event Grid System Topic to be created.\n","willReplaceOnChanges":true},"sourceArmResourceId":{"type":"string","deprecationMessage":"the \u003cspan pulumi-lang-nodejs=\"`sourceArmResourceId`\" pulumi-lang-dotnet=\"`SourceArmResourceId`\" pulumi-lang-go=\"`sourceArmResourceId`\" pulumi-lang-python=\"`source_arm_resource_id`\" pulumi-lang-yaml=\"`sourceArmResourceId`\" pulumi-lang-java=\"`sourceArmResourceId`\"\u003e`source_arm_resource_id`\u003c/span\u003e property has been deprecated in favour of \u003cspan pulumi-lang-nodejs=\"`sourceResourceId`\" pulumi-lang-dotnet=\"`SourceResourceId`\" pulumi-lang-go=\"`sourceResourceId`\" pulumi-lang-python=\"`source_resource_id`\" pulumi-lang-yaml=\"`sourceResourceId`\" pulumi-lang-java=\"`sourceResourceId`\"\u003e`source_resource_id`\u003c/span\u003e and will be removed in version 5.0 of the Provider.","willReplaceOnChanges":true},"sourceResourceId":{"type":"string","description":"The ID of the Event Grid System Topic ARM Source. Changing this forces a new Event Grid System Topic to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Event Grid System Topic.\n"},"topicType":{"type":"string","description":"The Topic Type of the Event Grid System Topic. The topic type is validated by Azure and there may be additional topic types beyond the following: `Microsoft.AppConfiguration.ConfigurationStores`, `Microsoft.Communication.CommunicationServices`, `Microsoft.ContainerRegistry.Registries`, `Microsoft.Devices.IoTHubs`, `Microsoft.EventGrid.Domains`, `Microsoft.EventGrid.Topics`, `Microsoft.Eventhub.Namespaces`, `Microsoft.KeyVault.vaults`, `Microsoft.MachineLearningServices.Workspaces`, `Microsoft.Maps.Accounts`, `Microsoft.Media.MediaServices`, `Microsoft.Resources.ResourceGroups`, `Microsoft.Resources.Subscriptions`, `Microsoft.ServiceBus.Namespaces`, `Microsoft.SignalRService.SignalR`, `Microsoft.Storage.StorageAccounts`, `Microsoft.Web.ServerFarms` and `Microsoft.Web.Sites`. Changing this forces a new Event Grid System Topic to be created.\n\n\u003e **Note:** Some \u003cspan pulumi-lang-nodejs=\"`topicType`\" pulumi-lang-dotnet=\"`TopicType`\" pulumi-lang-go=\"`topicType`\" pulumi-lang-python=\"`topic_type`\" pulumi-lang-yaml=\"`topicType`\" pulumi-lang-java=\"`topicType`\"\u003e`topic_type`\u003c/span\u003es (e.g. **Microsoft.Resources.Subscriptions**) requires location to be set to `Global` instead of a real location like `West US`.\n\n\u003e **Note:** You can use Azure CLI to get a full list of the available topic types: `az eventgrid topic-type  list --output json | grep -w id`\n","willReplaceOnChanges":true}},"requiredInputs":["resourceGroupName","topicType"],"stateInputs":{"description":"Input properties used for looking up and filtering SystemTopic resources.\n","properties":{"identity":{"$ref":"#/types/azure:eventgrid/SystemTopicIdentity:SystemTopicIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"location":{"type":"string","description":"The Azure Region where the Event Grid System Topic should exist. Changing this forces a new Event Grid System Topic to be created.\n","willReplaceOnChanges":true},"metricArmResourceId":{"type":"string"},"metricResourceId":{"type":"string","description":"The Metric Resource ID of the Event Grid System Topic.\n"},"name":{"type":"string","description":"The name which should be used for this Event Grid System Topic. Changing this forces a new Event Grid System Topic to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Event Grid System Topic should exist. Changing this forces a new Event Grid System Topic to be created.\n","willReplaceOnChanges":true},"sourceArmResourceId":{"type":"string","deprecationMessage":"the \u003cspan pulumi-lang-nodejs=\"`sourceArmResourceId`\" pulumi-lang-dotnet=\"`SourceArmResourceId`\" pulumi-lang-go=\"`sourceArmResourceId`\" pulumi-lang-python=\"`source_arm_resource_id`\" pulumi-lang-yaml=\"`sourceArmResourceId`\" pulumi-lang-java=\"`sourceArmResourceId`\"\u003e`source_arm_resource_id`\u003c/span\u003e property has been deprecated in favour of \u003cspan pulumi-lang-nodejs=\"`sourceResourceId`\" pulumi-lang-dotnet=\"`SourceResourceId`\" pulumi-lang-go=\"`sourceResourceId`\" pulumi-lang-python=\"`source_resource_id`\" pulumi-lang-yaml=\"`sourceResourceId`\" pulumi-lang-java=\"`sourceResourceId`\"\u003e`source_resource_id`\u003c/span\u003e and will be removed in version 5.0 of the Provider.","willReplaceOnChanges":true},"sourceResourceId":{"type":"string","description":"The ID of the Event Grid System Topic ARM Source. Changing this forces a new Event Grid System Topic to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Event Grid System Topic.\n"},"topicType":{"type":"string","description":"The Topic Type of the Event Grid System Topic. The topic type is validated by Azure and there may be additional topic types beyond the following: `Microsoft.AppConfiguration.ConfigurationStores`, `Microsoft.Communication.CommunicationServices`, `Microsoft.ContainerRegistry.Registries`, `Microsoft.Devices.IoTHubs`, `Microsoft.EventGrid.Domains`, `Microsoft.EventGrid.Topics`, `Microsoft.Eventhub.Namespaces`, `Microsoft.KeyVault.vaults`, `Microsoft.MachineLearningServices.Workspaces`, `Microsoft.Maps.Accounts`, `Microsoft.Media.MediaServices`, `Microsoft.Resources.ResourceGroups`, `Microsoft.Resources.Subscriptions`, `Microsoft.ServiceBus.Namespaces`, `Microsoft.SignalRService.SignalR`, `Microsoft.Storage.StorageAccounts`, `Microsoft.Web.ServerFarms` and `Microsoft.Web.Sites`. Changing this forces a new Event Grid System Topic to be created.\n\n\u003e **Note:** Some \u003cspan pulumi-lang-nodejs=\"`topicType`\" pulumi-lang-dotnet=\"`TopicType`\" pulumi-lang-go=\"`topicType`\" pulumi-lang-python=\"`topic_type`\" pulumi-lang-yaml=\"`topicType`\" pulumi-lang-java=\"`topicType`\"\u003e`topic_type`\u003c/span\u003es (e.g. **Microsoft.Resources.Subscriptions**) requires location to be set to `Global` instead of a real location like `West US`.\n\n\u003e **Note:** You can use Azure CLI to get a full list of the available topic types: `az eventgrid topic-type  list --output json | grep -w id`\n","willReplaceOnChanges":true}},"type":"object"}},"azure:eventgrid/systemTopicEventSubscription:SystemTopicEventSubscription":{"description":"Manages an EventGrid System Topic Event Subscription.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-rg\",\n    location: \"West Europe\",\n});\nconst exampleAccount = new azure.storage.Account(\"example\", {\n    name: \"examplestorageaccount\",\n    resourceGroupName: example.name,\n    location: example.location,\n    accountTier: \"Standard\",\n    accountReplicationType: \"LRS\",\n    tags: {\n        environment: \"staging\",\n    },\n});\nconst exampleQueue = new azure.storage.Queue(\"example\", {\n    name: \"examplestoragequeue\",\n    storageAccountName: exampleAccount.name,\n});\nconst exampleSystemTopic = new azure.eventgrid.SystemTopic(\"example\", {\n    name: \"example-system-topic\",\n    location: \"Global\",\n    resourceGroupName: example.name,\n    sourceResourceId: example.id,\n    topicType: \"Microsoft.Resources.ResourceGroups\",\n});\nconst exampleSystemTopicEventSubscription = new azure.eventgrid.SystemTopicEventSubscription(\"example\", {\n    name: \"example-event-subscription\",\n    systemTopic: exampleSystemTopic.name,\n    resourceGroupName: example.name,\n    storageQueueEndpoint: {\n        storageAccountId: exampleAccount.id,\n        queueName: exampleQueue.name,\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-rg\",\n    location=\"West Europe\")\nexample_account = azure.storage.Account(\"example\",\n    name=\"examplestorageaccount\",\n    resource_group_name=example.name,\n    location=example.location,\n    account_tier=\"Standard\",\n    account_replication_type=\"LRS\",\n    tags={\n        \"environment\": \"staging\",\n    })\nexample_queue = azure.storage.Queue(\"example\",\n    name=\"examplestoragequeue\",\n    storage_account_name=example_account.name)\nexample_system_topic = azure.eventgrid.SystemTopic(\"example\",\n    name=\"example-system-topic\",\n    location=\"Global\",\n    resource_group_name=example.name,\n    source_resource_id=example.id,\n    topic_type=\"Microsoft.Resources.ResourceGroups\")\nexample_system_topic_event_subscription = azure.eventgrid.SystemTopicEventSubscription(\"example\",\n    name=\"example-event-subscription\",\n    system_topic=example_system_topic.name,\n    resource_group_name=example.name,\n    storage_queue_endpoint={\n        \"storage_account_id\": example_account.id,\n        \"queue_name\": example_queue.name,\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-rg\",\n        Location = \"West Europe\",\n    });\n\n    var exampleAccount = new Azure.Storage.Account(\"example\", new()\n    {\n        Name = \"examplestorageaccount\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        AccountTier = \"Standard\",\n        AccountReplicationType = \"LRS\",\n        Tags = \n        {\n            { \"environment\", \"staging\" },\n        },\n    });\n\n    var exampleQueue = new Azure.Storage.Queue(\"example\", new()\n    {\n        Name = \"examplestoragequeue\",\n        StorageAccountName = exampleAccount.Name,\n    });\n\n    var exampleSystemTopic = new Azure.EventGrid.SystemTopic(\"example\", new()\n    {\n        Name = \"example-system-topic\",\n        Location = \"Global\",\n        ResourceGroupName = example.Name,\n        SourceResourceId = example.Id,\n        TopicType = \"Microsoft.Resources.ResourceGroups\",\n    });\n\n    var exampleSystemTopicEventSubscription = new Azure.EventGrid.SystemTopicEventSubscription(\"example\", new()\n    {\n        Name = \"example-event-subscription\",\n        SystemTopic = exampleSystemTopic.Name,\n        ResourceGroupName = example.Name,\n        StorageQueueEndpoint = new Azure.EventGrid.Inputs.SystemTopicEventSubscriptionStorageQueueEndpointArgs\n        {\n            StorageAccountId = exampleAccount.Id,\n            QueueName = exampleQueue.Name,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/eventgrid\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-rg\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := storage.NewAccount(ctx, \"example\", \u0026storage.AccountArgs{\n\t\t\tName:                   pulumi.String(\"examplestorageaccount\"),\n\t\t\tResourceGroupName:      example.Name,\n\t\t\tLocation:               example.Location,\n\t\t\tAccountTier:            pulumi.String(\"Standard\"),\n\t\t\tAccountReplicationType: pulumi.String(\"LRS\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"environment\": pulumi.String(\"staging\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleQueue, err := storage.NewQueue(ctx, \"example\", \u0026storage.QueueArgs{\n\t\t\tName:               pulumi.String(\"examplestoragequeue\"),\n\t\t\tStorageAccountName: exampleAccount.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSystemTopic, err := eventgrid.NewSystemTopic(ctx, \"example\", \u0026eventgrid.SystemTopicArgs{\n\t\t\tName:              pulumi.String(\"example-system-topic\"),\n\t\t\tLocation:          pulumi.String(\"Global\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSourceResourceId:  example.ID(),\n\t\t\tTopicType:         pulumi.String(\"Microsoft.Resources.ResourceGroups\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = eventgrid.NewSystemTopicEventSubscription(ctx, \"example\", \u0026eventgrid.SystemTopicEventSubscriptionArgs{\n\t\t\tName:              pulumi.String(\"example-event-subscription\"),\n\t\t\tSystemTopic:       exampleSystemTopic.Name,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tStorageQueueEndpoint: \u0026eventgrid.SystemTopicEventSubscriptionStorageQueueEndpointArgs{\n\t\t\t\tStorageAccountId: exampleAccount.ID(),\n\t\t\t\tQueueName:        exampleQueue.Name,\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.storage.Account;\nimport com.pulumi.azure.storage.AccountArgs;\nimport com.pulumi.azure.storage.Queue;\nimport com.pulumi.azure.storage.QueueArgs;\nimport com.pulumi.azure.eventgrid.SystemTopic;\nimport com.pulumi.azure.eventgrid.SystemTopicArgs;\nimport com.pulumi.azure.eventgrid.SystemTopicEventSubscription;\nimport com.pulumi.azure.eventgrid.SystemTopicEventSubscriptionArgs;\nimport com.pulumi.azure.eventgrid.inputs.SystemTopicEventSubscriptionStorageQueueEndpointArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-rg\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"examplestorageaccount\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .accountTier(\"Standard\")\n            .accountReplicationType(\"LRS\")\n            .tags(Map.of(\"environment\", \"staging\"))\n            .build());\n\n        var exampleQueue = new Queue(\"exampleQueue\", QueueArgs.builder()\n            .name(\"examplestoragequeue\")\n            .storageAccountName(exampleAccount.name())\n            .build());\n\n        var exampleSystemTopic = new SystemTopic(\"exampleSystemTopic\", SystemTopicArgs.builder()\n            .name(\"example-system-topic\")\n            .location(\"Global\")\n            .resourceGroupName(example.name())\n            .sourceResourceId(example.id())\n            .topicType(\"Microsoft.Resources.ResourceGroups\")\n            .build());\n\n        var exampleSystemTopicEventSubscription = new SystemTopicEventSubscription(\"exampleSystemTopicEventSubscription\", SystemTopicEventSubscriptionArgs.builder()\n            .name(\"example-event-subscription\")\n            .systemTopic(exampleSystemTopic.name())\n            .resourceGroupName(example.name())\n            .storageQueueEndpoint(SystemTopicEventSubscriptionStorageQueueEndpointArgs.builder()\n                .storageAccountId(exampleAccount.id())\n                .queueName(exampleQueue.name())\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-rg\n      location: West Europe\n  exampleAccount:\n    type: azure:storage:Account\n    name: example\n    properties:\n      name: examplestorageaccount\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      accountTier: Standard\n      accountReplicationType: LRS\n      tags:\n        environment: staging\n  exampleQueue:\n    type: azure:storage:Queue\n    name: example\n    properties:\n      name: examplestoragequeue\n      storageAccountName: ${exampleAccount.name}\n  exampleSystemTopic:\n    type: azure:eventgrid:SystemTopic\n    name: example\n    properties:\n      name: example-system-topic\n      location: Global\n      resourceGroupName: ${example.name}\n      sourceResourceId: ${example.id}\n      topicType: Microsoft.Resources.ResourceGroups\n  exampleSystemTopicEventSubscription:\n    type: azure:eventgrid:SystemTopicEventSubscription\n    name: example\n    properties:\n      name: example-event-subscription\n      systemTopic: ${exampleSystemTopic.name}\n      resourceGroupName: ${example.name}\n      storageQueueEndpoint:\n        storageAccountId: ${exampleAccount.id}\n        queueName: ${exampleQueue.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.EventGrid` - 2025-02-15\n\n## Import\n\nEventGrid System Topic Event Subscriptions can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:eventgrid/systemTopicEventSubscription:SystemTopicEventSubscription example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.EventGrid/systemTopics/topic1/eventSubscriptions/subscription1\n```\n\n","properties":{"advancedFilter":{"$ref":"#/types/azure:eventgrid/SystemTopicEventSubscriptionAdvancedFilter:SystemTopicEventSubscriptionAdvancedFilter","description":"A \u003cspan pulumi-lang-nodejs=\"`advancedFilter`\" pulumi-lang-dotnet=\"`AdvancedFilter`\" pulumi-lang-go=\"`advancedFilter`\" pulumi-lang-python=\"`advanced_filter`\" pulumi-lang-yaml=\"`advancedFilter`\" pulumi-lang-java=\"`advancedFilter`\"\u003e`advanced_filter`\u003c/span\u003e block as defined below.\n"},"advancedFilteringOnArraysEnabled":{"type":"boolean","description":"Specifies whether advanced filters should be evaluated against an array of values instead of expecting a singular value. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"azureFunctionEndpoint":{"$ref":"#/types/azure:eventgrid/SystemTopicEventSubscriptionAzureFunctionEndpoint:SystemTopicEventSubscriptionAzureFunctionEndpoint","description":"An \u003cspan pulumi-lang-nodejs=\"`azureFunctionEndpoint`\" pulumi-lang-dotnet=\"`AzureFunctionEndpoint`\" pulumi-lang-go=\"`azureFunctionEndpoint`\" pulumi-lang-python=\"`azure_function_endpoint`\" pulumi-lang-yaml=\"`azureFunctionEndpoint`\" pulumi-lang-java=\"`azureFunctionEndpoint`\"\u003e`azure_function_endpoint`\u003c/span\u003e block as defined below.\n"},"deadLetterIdentity":{"$ref":"#/types/azure:eventgrid/SystemTopicEventSubscriptionDeadLetterIdentity:SystemTopicEventSubscriptionDeadLetterIdentity","description":"A \u003cspan pulumi-lang-nodejs=\"`deadLetterIdentity`\" pulumi-lang-dotnet=\"`DeadLetterIdentity`\" pulumi-lang-go=\"`deadLetterIdentity`\" pulumi-lang-python=\"`dead_letter_identity`\" pulumi-lang-yaml=\"`deadLetterIdentity`\" pulumi-lang-java=\"`deadLetterIdentity`\"\u003e`dead_letter_identity`\u003c/span\u003e block as defined below.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`storageBlobDeadLetterDestination`\" pulumi-lang-dotnet=\"`StorageBlobDeadLetterDestination`\" pulumi-lang-go=\"`storageBlobDeadLetterDestination`\" pulumi-lang-python=\"`storage_blob_dead_letter_destination`\" pulumi-lang-yaml=\"`storageBlobDeadLetterDestination`\" pulumi-lang-java=\"`storageBlobDeadLetterDestination`\"\u003e`storage_blob_dead_letter_destination`\u003c/span\u003e must be specified when a \u003cspan pulumi-lang-nodejs=\"`deadLetterIdentity`\" pulumi-lang-dotnet=\"`DeadLetterIdentity`\" pulumi-lang-go=\"`deadLetterIdentity`\" pulumi-lang-python=\"`dead_letter_identity`\" pulumi-lang-yaml=\"`deadLetterIdentity`\" pulumi-lang-java=\"`deadLetterIdentity`\"\u003e`dead_letter_identity`\u003c/span\u003e is specified\n"},"deliveryIdentity":{"$ref":"#/types/azure:eventgrid/SystemTopicEventSubscriptionDeliveryIdentity:SystemTopicEventSubscriptionDeliveryIdentity","description":"A \u003cspan pulumi-lang-nodejs=\"`deliveryIdentity`\" pulumi-lang-dotnet=\"`DeliveryIdentity`\" pulumi-lang-go=\"`deliveryIdentity`\" pulumi-lang-python=\"`delivery_identity`\" pulumi-lang-yaml=\"`deliveryIdentity`\" pulumi-lang-java=\"`deliveryIdentity`\"\u003e`delivery_identity`\u003c/span\u003e block as defined below.\n"},"deliveryProperties":{"type":"array","items":{"$ref":"#/types/azure:eventgrid/SystemTopicEventSubscriptionDeliveryProperty:SystemTopicEventSubscriptionDeliveryProperty"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`deliveryProperty`\" pulumi-lang-dotnet=\"`DeliveryProperty`\" pulumi-lang-go=\"`deliveryProperty`\" pulumi-lang-python=\"`delivery_property`\" pulumi-lang-yaml=\"`deliveryProperty`\" pulumi-lang-java=\"`deliveryProperty`\"\u003e`delivery_property`\u003c/span\u003e blocks as defined below.\n"},"eventDeliverySchema":{"type":"string","description":"Specifies the event delivery schema for the event subscription. Possible values include: `EventGridSchema`, `CloudEventSchemaV1_0`, `CustomInputSchema`. Defaults to `EventGridSchema`. Changing this forces a new resource to be created.\n"},"eventhubEndpointId":{"type":"string","description":"Specifies the id where the Event Hub is located.\n"},"expirationTimeUtc":{"type":"string","description":"Specifies the expiration time of the event subscription (Datetime Format `RFC 3339`).\n"},"hybridConnectionEndpointId":{"type":"string","description":"Specifies the id where the Hybrid Connection is located.\n"},"includedEventTypes":{"type":"array","items":{"type":"string"},"description":"A list of applicable event types that need to be part of the event subscription.\n"},"labels":{"type":"array","items":{"type":"string"},"description":"A list of labels to assign to the event subscription.\n"},"name":{"type":"string","description":"The name which should be used for this Event Subscription. Changing this forces a new Event Subscription to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the System Topic exists. Changing this forces a new Event Subscription to be created.\n"},"retryPolicy":{"$ref":"#/types/azure:eventgrid/SystemTopicEventSubscriptionRetryPolicy:SystemTopicEventSubscriptionRetryPolicy","description":"A \u003cspan pulumi-lang-nodejs=\"`retryPolicy`\" pulumi-lang-dotnet=\"`RetryPolicy`\" pulumi-lang-go=\"`retryPolicy`\" pulumi-lang-python=\"`retry_policy`\" pulumi-lang-yaml=\"`retryPolicy`\" pulumi-lang-java=\"`retryPolicy`\"\u003e`retry_policy`\u003c/span\u003e block as defined below.\n"},"serviceBusQueueEndpointId":{"type":"string","description":"Specifies the id where the Service Bus Queue is located.\n"},"serviceBusTopicEndpointId":{"type":"string","description":"Specifies the id where the Service Bus Topic is located.\n"},"storageBlobDeadLetterDestination":{"$ref":"#/types/azure:eventgrid/SystemTopicEventSubscriptionStorageBlobDeadLetterDestination:SystemTopicEventSubscriptionStorageBlobDeadLetterDestination","description":"A \u003cspan pulumi-lang-nodejs=\"`storageBlobDeadLetterDestination`\" pulumi-lang-dotnet=\"`StorageBlobDeadLetterDestination`\" pulumi-lang-go=\"`storageBlobDeadLetterDestination`\" pulumi-lang-python=\"`storage_blob_dead_letter_destination`\" pulumi-lang-yaml=\"`storageBlobDeadLetterDestination`\" pulumi-lang-java=\"`storageBlobDeadLetterDestination`\"\u003e`storage_blob_dead_letter_destination`\u003c/span\u003e block as defined below.\n"},"storageQueueEndpoint":{"$ref":"#/types/azure:eventgrid/SystemTopicEventSubscriptionStorageQueueEndpoint:SystemTopicEventSubscriptionStorageQueueEndpoint","description":"A \u003cspan pulumi-lang-nodejs=\"`storageQueueEndpoint`\" pulumi-lang-dotnet=\"`StorageQueueEndpoint`\" pulumi-lang-go=\"`storageQueueEndpoint`\" pulumi-lang-python=\"`storage_queue_endpoint`\" pulumi-lang-yaml=\"`storageQueueEndpoint`\" pulumi-lang-java=\"`storageQueueEndpoint`\"\u003e`storage_queue_endpoint`\u003c/span\u003e block as defined below.\n"},"subjectFilter":{"$ref":"#/types/azure:eventgrid/SystemTopicEventSubscriptionSubjectFilter:SystemTopicEventSubscriptionSubjectFilter","description":"A \u003cspan pulumi-lang-nodejs=\"`subjectFilter`\" pulumi-lang-dotnet=\"`SubjectFilter`\" pulumi-lang-go=\"`subjectFilter`\" pulumi-lang-python=\"`subject_filter`\" pulumi-lang-yaml=\"`subjectFilter`\" pulumi-lang-java=\"`subjectFilter`\"\u003e`subject_filter`\u003c/span\u003e block as defined below.\n"},"systemTopic":{"type":"string","description":"The System Topic where the Event Subscription should be created in. Changing this forces a new Event Subscription to be created.\n"},"webhookEndpoint":{"$ref":"#/types/azure:eventgrid/SystemTopicEventSubscriptionWebhookEndpoint:SystemTopicEventSubscriptionWebhookEndpoint","description":"A \u003cspan pulumi-lang-nodejs=\"`webhookEndpoint`\" pulumi-lang-dotnet=\"`WebhookEndpoint`\" pulumi-lang-go=\"`webhookEndpoint`\" pulumi-lang-python=\"`webhook_endpoint`\" pulumi-lang-yaml=\"`webhookEndpoint`\" pulumi-lang-java=\"`webhookEndpoint`\"\u003e`webhook_endpoint`\u003c/span\u003e block as defined below.\n\n\u003e **Note:** One of \u003cspan pulumi-lang-nodejs=\"`azureFunctionEndpoint`\" pulumi-lang-dotnet=\"`AzureFunctionEndpoint`\" pulumi-lang-go=\"`azureFunctionEndpoint`\" pulumi-lang-python=\"`azure_function_endpoint`\" pulumi-lang-yaml=\"`azureFunctionEndpoint`\" pulumi-lang-java=\"`azureFunctionEndpoint`\"\u003e`azure_function_endpoint`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`eventhubEndpointId`\" pulumi-lang-dotnet=\"`EventhubEndpointId`\" pulumi-lang-go=\"`eventhubEndpointId`\" pulumi-lang-python=\"`eventhub_endpoint_id`\" pulumi-lang-yaml=\"`eventhubEndpointId`\" pulumi-lang-java=\"`eventhubEndpointId`\"\u003e`eventhub_endpoint_id`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`hybridConnectionEndpoint`\" pulumi-lang-dotnet=\"`HybridConnectionEndpoint`\" pulumi-lang-go=\"`hybridConnectionEndpoint`\" pulumi-lang-python=\"`hybrid_connection_endpoint`\" pulumi-lang-yaml=\"`hybridConnectionEndpoint`\" pulumi-lang-java=\"`hybridConnectionEndpoint`\"\u003e`hybrid_connection_endpoint`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`hybridConnectionEndpointId`\" pulumi-lang-dotnet=\"`HybridConnectionEndpointId`\" pulumi-lang-go=\"`hybridConnectionEndpointId`\" pulumi-lang-python=\"`hybrid_connection_endpoint_id`\" pulumi-lang-yaml=\"`hybridConnectionEndpointId`\" pulumi-lang-java=\"`hybridConnectionEndpointId`\"\u003e`hybrid_connection_endpoint_id`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`serviceBusQueueEndpointId`\" pulumi-lang-dotnet=\"`ServiceBusQueueEndpointId`\" pulumi-lang-go=\"`serviceBusQueueEndpointId`\" pulumi-lang-python=\"`service_bus_queue_endpoint_id`\" pulumi-lang-yaml=\"`serviceBusQueueEndpointId`\" pulumi-lang-java=\"`serviceBusQueueEndpointId`\"\u003e`service_bus_queue_endpoint_id`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`serviceBusTopicEndpointId`\" pulumi-lang-dotnet=\"`ServiceBusTopicEndpointId`\" pulumi-lang-go=\"`serviceBusTopicEndpointId`\" pulumi-lang-python=\"`service_bus_topic_endpoint_id`\" pulumi-lang-yaml=\"`serviceBusTopicEndpointId`\" pulumi-lang-java=\"`serviceBusTopicEndpointId`\"\u003e`service_bus_topic_endpoint_id`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`storageQueueEndpoint`\" pulumi-lang-dotnet=\"`StorageQueueEndpoint`\" pulumi-lang-go=\"`storageQueueEndpoint`\" pulumi-lang-python=\"`storage_queue_endpoint`\" pulumi-lang-yaml=\"`storageQueueEndpoint`\" pulumi-lang-java=\"`storageQueueEndpoint`\"\u003e`storage_queue_endpoint`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`webhookEndpoint`\" pulumi-lang-dotnet=\"`WebhookEndpoint`\" pulumi-lang-go=\"`webhookEndpoint`\" pulumi-lang-python=\"`webhook_endpoint`\" pulumi-lang-yaml=\"`webhookEndpoint`\" pulumi-lang-java=\"`webhookEndpoint`\"\u003e`webhook_endpoint`\u003c/span\u003e must be specified.\n"}},"required":["eventhubEndpointId","hybridConnectionEndpointId","includedEventTypes","name","resourceGroupName","retryPolicy","systemTopic"],"inputProperties":{"advancedFilter":{"$ref":"#/types/azure:eventgrid/SystemTopicEventSubscriptionAdvancedFilter:SystemTopicEventSubscriptionAdvancedFilter","description":"A \u003cspan pulumi-lang-nodejs=\"`advancedFilter`\" pulumi-lang-dotnet=\"`AdvancedFilter`\" pulumi-lang-go=\"`advancedFilter`\" pulumi-lang-python=\"`advanced_filter`\" pulumi-lang-yaml=\"`advancedFilter`\" pulumi-lang-java=\"`advancedFilter`\"\u003e`advanced_filter`\u003c/span\u003e block as defined below.\n"},"advancedFilteringOnArraysEnabled":{"type":"boolean","description":"Specifies whether advanced filters should be evaluated against an array of values instead of expecting a singular value. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"azureFunctionEndpoint":{"$ref":"#/types/azure:eventgrid/SystemTopicEventSubscriptionAzureFunctionEndpoint:SystemTopicEventSubscriptionAzureFunctionEndpoint","description":"An \u003cspan pulumi-lang-nodejs=\"`azureFunctionEndpoint`\" pulumi-lang-dotnet=\"`AzureFunctionEndpoint`\" pulumi-lang-go=\"`azureFunctionEndpoint`\" pulumi-lang-python=\"`azure_function_endpoint`\" pulumi-lang-yaml=\"`azureFunctionEndpoint`\" pulumi-lang-java=\"`azureFunctionEndpoint`\"\u003e`azure_function_endpoint`\u003c/span\u003e block as defined below.\n"},"deadLetterIdentity":{"$ref":"#/types/azure:eventgrid/SystemTopicEventSubscriptionDeadLetterIdentity:SystemTopicEventSubscriptionDeadLetterIdentity","description":"A \u003cspan pulumi-lang-nodejs=\"`deadLetterIdentity`\" pulumi-lang-dotnet=\"`DeadLetterIdentity`\" pulumi-lang-go=\"`deadLetterIdentity`\" pulumi-lang-python=\"`dead_letter_identity`\" pulumi-lang-yaml=\"`deadLetterIdentity`\" pulumi-lang-java=\"`deadLetterIdentity`\"\u003e`dead_letter_identity`\u003c/span\u003e block as defined below.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`storageBlobDeadLetterDestination`\" pulumi-lang-dotnet=\"`StorageBlobDeadLetterDestination`\" pulumi-lang-go=\"`storageBlobDeadLetterDestination`\" pulumi-lang-python=\"`storage_blob_dead_letter_destination`\" pulumi-lang-yaml=\"`storageBlobDeadLetterDestination`\" pulumi-lang-java=\"`storageBlobDeadLetterDestination`\"\u003e`storage_blob_dead_letter_destination`\u003c/span\u003e must be specified when a \u003cspan pulumi-lang-nodejs=\"`deadLetterIdentity`\" pulumi-lang-dotnet=\"`DeadLetterIdentity`\" pulumi-lang-go=\"`deadLetterIdentity`\" pulumi-lang-python=\"`dead_letter_identity`\" pulumi-lang-yaml=\"`deadLetterIdentity`\" pulumi-lang-java=\"`deadLetterIdentity`\"\u003e`dead_letter_identity`\u003c/span\u003e is specified\n"},"deliveryIdentity":{"$ref":"#/types/azure:eventgrid/SystemTopicEventSubscriptionDeliveryIdentity:SystemTopicEventSubscriptionDeliveryIdentity","description":"A \u003cspan pulumi-lang-nodejs=\"`deliveryIdentity`\" pulumi-lang-dotnet=\"`DeliveryIdentity`\" pulumi-lang-go=\"`deliveryIdentity`\" pulumi-lang-python=\"`delivery_identity`\" pulumi-lang-yaml=\"`deliveryIdentity`\" pulumi-lang-java=\"`deliveryIdentity`\"\u003e`delivery_identity`\u003c/span\u003e block as defined below.\n"},"deliveryProperties":{"type":"array","items":{"$ref":"#/types/azure:eventgrid/SystemTopicEventSubscriptionDeliveryProperty:SystemTopicEventSubscriptionDeliveryProperty"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`deliveryProperty`\" pulumi-lang-dotnet=\"`DeliveryProperty`\" pulumi-lang-go=\"`deliveryProperty`\" pulumi-lang-python=\"`delivery_property`\" pulumi-lang-yaml=\"`deliveryProperty`\" pulumi-lang-java=\"`deliveryProperty`\"\u003e`delivery_property`\u003c/span\u003e blocks as defined below.\n"},"eventDeliverySchema":{"type":"string","description":"Specifies the event delivery schema for the event subscription. Possible values include: `EventGridSchema`, `CloudEventSchemaV1_0`, `CustomInputSchema`. Defaults to `EventGridSchema`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"eventhubEndpointId":{"type":"string","description":"Specifies the id where the Event Hub is located.\n"},"expirationTimeUtc":{"type":"string","description":"Specifies the expiration time of the event subscription (Datetime Format `RFC 3339`).\n"},"hybridConnectionEndpointId":{"type":"string","description":"Specifies the id where the Hybrid Connection is located.\n"},"includedEventTypes":{"type":"array","items":{"type":"string"},"description":"A list of applicable event types that need to be part of the event subscription.\n"},"labels":{"type":"array","items":{"type":"string"},"description":"A list of labels to assign to the event subscription.\n"},"name":{"type":"string","description":"The name which should be used for this Event Subscription. Changing this forces a new Event Subscription to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the System Topic exists. Changing this forces a new Event Subscription to be created.\n","willReplaceOnChanges":true},"retryPolicy":{"$ref":"#/types/azure:eventgrid/SystemTopicEventSubscriptionRetryPolicy:SystemTopicEventSubscriptionRetryPolicy","description":"A \u003cspan pulumi-lang-nodejs=\"`retryPolicy`\" pulumi-lang-dotnet=\"`RetryPolicy`\" pulumi-lang-go=\"`retryPolicy`\" pulumi-lang-python=\"`retry_policy`\" pulumi-lang-yaml=\"`retryPolicy`\" pulumi-lang-java=\"`retryPolicy`\"\u003e`retry_policy`\u003c/span\u003e block as defined below.\n"},"serviceBusQueueEndpointId":{"type":"string","description":"Specifies the id where the Service Bus Queue is located.\n"},"serviceBusTopicEndpointId":{"type":"string","description":"Specifies the id where the Service Bus Topic is located.\n"},"storageBlobDeadLetterDestination":{"$ref":"#/types/azure:eventgrid/SystemTopicEventSubscriptionStorageBlobDeadLetterDestination:SystemTopicEventSubscriptionStorageBlobDeadLetterDestination","description":"A \u003cspan pulumi-lang-nodejs=\"`storageBlobDeadLetterDestination`\" pulumi-lang-dotnet=\"`StorageBlobDeadLetterDestination`\" pulumi-lang-go=\"`storageBlobDeadLetterDestination`\" pulumi-lang-python=\"`storage_blob_dead_letter_destination`\" pulumi-lang-yaml=\"`storageBlobDeadLetterDestination`\" pulumi-lang-java=\"`storageBlobDeadLetterDestination`\"\u003e`storage_blob_dead_letter_destination`\u003c/span\u003e block as defined below.\n"},"storageQueueEndpoint":{"$ref":"#/types/azure:eventgrid/SystemTopicEventSubscriptionStorageQueueEndpoint:SystemTopicEventSubscriptionStorageQueueEndpoint","description":"A \u003cspan pulumi-lang-nodejs=\"`storageQueueEndpoint`\" pulumi-lang-dotnet=\"`StorageQueueEndpoint`\" pulumi-lang-go=\"`storageQueueEndpoint`\" pulumi-lang-python=\"`storage_queue_endpoint`\" pulumi-lang-yaml=\"`storageQueueEndpoint`\" pulumi-lang-java=\"`storageQueueEndpoint`\"\u003e`storage_queue_endpoint`\u003c/span\u003e block as defined below.\n"},"subjectFilter":{"$ref":"#/types/azure:eventgrid/SystemTopicEventSubscriptionSubjectFilter:SystemTopicEventSubscriptionSubjectFilter","description":"A \u003cspan pulumi-lang-nodejs=\"`subjectFilter`\" pulumi-lang-dotnet=\"`SubjectFilter`\" pulumi-lang-go=\"`subjectFilter`\" pulumi-lang-python=\"`subject_filter`\" pulumi-lang-yaml=\"`subjectFilter`\" pulumi-lang-java=\"`subjectFilter`\"\u003e`subject_filter`\u003c/span\u003e block as defined below.\n"},"systemTopic":{"type":"string","description":"The System Topic where the Event Subscription should be created in. Changing this forces a new Event Subscription to be created.\n","willReplaceOnChanges":true},"webhookEndpoint":{"$ref":"#/types/azure:eventgrid/SystemTopicEventSubscriptionWebhookEndpoint:SystemTopicEventSubscriptionWebhookEndpoint","description":"A \u003cspan pulumi-lang-nodejs=\"`webhookEndpoint`\" pulumi-lang-dotnet=\"`WebhookEndpoint`\" pulumi-lang-go=\"`webhookEndpoint`\" pulumi-lang-python=\"`webhook_endpoint`\" pulumi-lang-yaml=\"`webhookEndpoint`\" pulumi-lang-java=\"`webhookEndpoint`\"\u003e`webhook_endpoint`\u003c/span\u003e block as defined below.\n\n\u003e **Note:** One of \u003cspan pulumi-lang-nodejs=\"`azureFunctionEndpoint`\" pulumi-lang-dotnet=\"`AzureFunctionEndpoint`\" pulumi-lang-go=\"`azureFunctionEndpoint`\" pulumi-lang-python=\"`azure_function_endpoint`\" pulumi-lang-yaml=\"`azureFunctionEndpoint`\" pulumi-lang-java=\"`azureFunctionEndpoint`\"\u003e`azure_function_endpoint`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`eventhubEndpointId`\" pulumi-lang-dotnet=\"`EventhubEndpointId`\" pulumi-lang-go=\"`eventhubEndpointId`\" pulumi-lang-python=\"`eventhub_endpoint_id`\" pulumi-lang-yaml=\"`eventhubEndpointId`\" pulumi-lang-java=\"`eventhubEndpointId`\"\u003e`eventhub_endpoint_id`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`hybridConnectionEndpoint`\" pulumi-lang-dotnet=\"`HybridConnectionEndpoint`\" pulumi-lang-go=\"`hybridConnectionEndpoint`\" pulumi-lang-python=\"`hybrid_connection_endpoint`\" pulumi-lang-yaml=\"`hybridConnectionEndpoint`\" pulumi-lang-java=\"`hybridConnectionEndpoint`\"\u003e`hybrid_connection_endpoint`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`hybridConnectionEndpointId`\" pulumi-lang-dotnet=\"`HybridConnectionEndpointId`\" pulumi-lang-go=\"`hybridConnectionEndpointId`\" pulumi-lang-python=\"`hybrid_connection_endpoint_id`\" pulumi-lang-yaml=\"`hybridConnectionEndpointId`\" pulumi-lang-java=\"`hybridConnectionEndpointId`\"\u003e`hybrid_connection_endpoint_id`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`serviceBusQueueEndpointId`\" pulumi-lang-dotnet=\"`ServiceBusQueueEndpointId`\" pulumi-lang-go=\"`serviceBusQueueEndpointId`\" pulumi-lang-python=\"`service_bus_queue_endpoint_id`\" pulumi-lang-yaml=\"`serviceBusQueueEndpointId`\" pulumi-lang-java=\"`serviceBusQueueEndpointId`\"\u003e`service_bus_queue_endpoint_id`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`serviceBusTopicEndpointId`\" pulumi-lang-dotnet=\"`ServiceBusTopicEndpointId`\" pulumi-lang-go=\"`serviceBusTopicEndpointId`\" pulumi-lang-python=\"`service_bus_topic_endpoint_id`\" pulumi-lang-yaml=\"`serviceBusTopicEndpointId`\" pulumi-lang-java=\"`serviceBusTopicEndpointId`\"\u003e`service_bus_topic_endpoint_id`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`storageQueueEndpoint`\" pulumi-lang-dotnet=\"`StorageQueueEndpoint`\" pulumi-lang-go=\"`storageQueueEndpoint`\" pulumi-lang-python=\"`storage_queue_endpoint`\" pulumi-lang-yaml=\"`storageQueueEndpoint`\" pulumi-lang-java=\"`storageQueueEndpoint`\"\u003e`storage_queue_endpoint`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`webhookEndpoint`\" pulumi-lang-dotnet=\"`WebhookEndpoint`\" pulumi-lang-go=\"`webhookEndpoint`\" pulumi-lang-python=\"`webhook_endpoint`\" pulumi-lang-yaml=\"`webhookEndpoint`\" pulumi-lang-java=\"`webhookEndpoint`\"\u003e`webhook_endpoint`\u003c/span\u003e must be specified.\n"}},"requiredInputs":["resourceGroupName","systemTopic"],"stateInputs":{"description":"Input properties used for looking up and filtering SystemTopicEventSubscription resources.\n","properties":{"advancedFilter":{"$ref":"#/types/azure:eventgrid/SystemTopicEventSubscriptionAdvancedFilter:SystemTopicEventSubscriptionAdvancedFilter","description":"A \u003cspan pulumi-lang-nodejs=\"`advancedFilter`\" pulumi-lang-dotnet=\"`AdvancedFilter`\" pulumi-lang-go=\"`advancedFilter`\" pulumi-lang-python=\"`advanced_filter`\" pulumi-lang-yaml=\"`advancedFilter`\" pulumi-lang-java=\"`advancedFilter`\"\u003e`advanced_filter`\u003c/span\u003e block as defined below.\n"},"advancedFilteringOnArraysEnabled":{"type":"boolean","description":"Specifies whether advanced filters should be evaluated against an array of values instead of expecting a singular value. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"azureFunctionEndpoint":{"$ref":"#/types/azure:eventgrid/SystemTopicEventSubscriptionAzureFunctionEndpoint:SystemTopicEventSubscriptionAzureFunctionEndpoint","description":"An \u003cspan pulumi-lang-nodejs=\"`azureFunctionEndpoint`\" pulumi-lang-dotnet=\"`AzureFunctionEndpoint`\" pulumi-lang-go=\"`azureFunctionEndpoint`\" pulumi-lang-python=\"`azure_function_endpoint`\" pulumi-lang-yaml=\"`azureFunctionEndpoint`\" pulumi-lang-java=\"`azureFunctionEndpoint`\"\u003e`azure_function_endpoint`\u003c/span\u003e block as defined below.\n"},"deadLetterIdentity":{"$ref":"#/types/azure:eventgrid/SystemTopicEventSubscriptionDeadLetterIdentity:SystemTopicEventSubscriptionDeadLetterIdentity","description":"A \u003cspan pulumi-lang-nodejs=\"`deadLetterIdentity`\" pulumi-lang-dotnet=\"`DeadLetterIdentity`\" pulumi-lang-go=\"`deadLetterIdentity`\" pulumi-lang-python=\"`dead_letter_identity`\" pulumi-lang-yaml=\"`deadLetterIdentity`\" pulumi-lang-java=\"`deadLetterIdentity`\"\u003e`dead_letter_identity`\u003c/span\u003e block as defined below.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`storageBlobDeadLetterDestination`\" pulumi-lang-dotnet=\"`StorageBlobDeadLetterDestination`\" pulumi-lang-go=\"`storageBlobDeadLetterDestination`\" pulumi-lang-python=\"`storage_blob_dead_letter_destination`\" pulumi-lang-yaml=\"`storageBlobDeadLetterDestination`\" pulumi-lang-java=\"`storageBlobDeadLetterDestination`\"\u003e`storage_blob_dead_letter_destination`\u003c/span\u003e must be specified when a \u003cspan pulumi-lang-nodejs=\"`deadLetterIdentity`\" pulumi-lang-dotnet=\"`DeadLetterIdentity`\" pulumi-lang-go=\"`deadLetterIdentity`\" pulumi-lang-python=\"`dead_letter_identity`\" pulumi-lang-yaml=\"`deadLetterIdentity`\" pulumi-lang-java=\"`deadLetterIdentity`\"\u003e`dead_letter_identity`\u003c/span\u003e is specified\n"},"deliveryIdentity":{"$ref":"#/types/azure:eventgrid/SystemTopicEventSubscriptionDeliveryIdentity:SystemTopicEventSubscriptionDeliveryIdentity","description":"A \u003cspan pulumi-lang-nodejs=\"`deliveryIdentity`\" pulumi-lang-dotnet=\"`DeliveryIdentity`\" pulumi-lang-go=\"`deliveryIdentity`\" pulumi-lang-python=\"`delivery_identity`\" pulumi-lang-yaml=\"`deliveryIdentity`\" pulumi-lang-java=\"`deliveryIdentity`\"\u003e`delivery_identity`\u003c/span\u003e block as defined below.\n"},"deliveryProperties":{"type":"array","items":{"$ref":"#/types/azure:eventgrid/SystemTopicEventSubscriptionDeliveryProperty:SystemTopicEventSubscriptionDeliveryProperty"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`deliveryProperty`\" pulumi-lang-dotnet=\"`DeliveryProperty`\" pulumi-lang-go=\"`deliveryProperty`\" pulumi-lang-python=\"`delivery_property`\" pulumi-lang-yaml=\"`deliveryProperty`\" pulumi-lang-java=\"`deliveryProperty`\"\u003e`delivery_property`\u003c/span\u003e blocks as defined below.\n"},"eventDeliverySchema":{"type":"string","description":"Specifies the event delivery schema for the event subscription. Possible values include: `EventGridSchema`, `CloudEventSchemaV1_0`, `CustomInputSchema`. Defaults to `EventGridSchema`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"eventhubEndpointId":{"type":"string","description":"Specifies the id where the Event Hub is located.\n"},"expirationTimeUtc":{"type":"string","description":"Specifies the expiration time of the event subscription (Datetime Format `RFC 3339`).\n"},"hybridConnectionEndpointId":{"type":"string","description":"Specifies the id where the Hybrid Connection is located.\n"},"includedEventTypes":{"type":"array","items":{"type":"string"},"description":"A list of applicable event types that need to be part of the event subscription.\n"},"labels":{"type":"array","items":{"type":"string"},"description":"A list of labels to assign to the event subscription.\n"},"name":{"type":"string","description":"The name which should be used for this Event Subscription. Changing this forces a new Event Subscription to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the System Topic exists. Changing this forces a new Event Subscription to be created.\n","willReplaceOnChanges":true},"retryPolicy":{"$ref":"#/types/azure:eventgrid/SystemTopicEventSubscriptionRetryPolicy:SystemTopicEventSubscriptionRetryPolicy","description":"A \u003cspan pulumi-lang-nodejs=\"`retryPolicy`\" pulumi-lang-dotnet=\"`RetryPolicy`\" pulumi-lang-go=\"`retryPolicy`\" pulumi-lang-python=\"`retry_policy`\" pulumi-lang-yaml=\"`retryPolicy`\" pulumi-lang-java=\"`retryPolicy`\"\u003e`retry_policy`\u003c/span\u003e block as defined below.\n"},"serviceBusQueueEndpointId":{"type":"string","description":"Specifies the id where the Service Bus Queue is located.\n"},"serviceBusTopicEndpointId":{"type":"string","description":"Specifies the id where the Service Bus Topic is located.\n"},"storageBlobDeadLetterDestination":{"$ref":"#/types/azure:eventgrid/SystemTopicEventSubscriptionStorageBlobDeadLetterDestination:SystemTopicEventSubscriptionStorageBlobDeadLetterDestination","description":"A \u003cspan pulumi-lang-nodejs=\"`storageBlobDeadLetterDestination`\" pulumi-lang-dotnet=\"`StorageBlobDeadLetterDestination`\" pulumi-lang-go=\"`storageBlobDeadLetterDestination`\" pulumi-lang-python=\"`storage_blob_dead_letter_destination`\" pulumi-lang-yaml=\"`storageBlobDeadLetterDestination`\" pulumi-lang-java=\"`storageBlobDeadLetterDestination`\"\u003e`storage_blob_dead_letter_destination`\u003c/span\u003e block as defined below.\n"},"storageQueueEndpoint":{"$ref":"#/types/azure:eventgrid/SystemTopicEventSubscriptionStorageQueueEndpoint:SystemTopicEventSubscriptionStorageQueueEndpoint","description":"A \u003cspan pulumi-lang-nodejs=\"`storageQueueEndpoint`\" pulumi-lang-dotnet=\"`StorageQueueEndpoint`\" pulumi-lang-go=\"`storageQueueEndpoint`\" pulumi-lang-python=\"`storage_queue_endpoint`\" pulumi-lang-yaml=\"`storageQueueEndpoint`\" pulumi-lang-java=\"`storageQueueEndpoint`\"\u003e`storage_queue_endpoint`\u003c/span\u003e block as defined below.\n"},"subjectFilter":{"$ref":"#/types/azure:eventgrid/SystemTopicEventSubscriptionSubjectFilter:SystemTopicEventSubscriptionSubjectFilter","description":"A \u003cspan pulumi-lang-nodejs=\"`subjectFilter`\" pulumi-lang-dotnet=\"`SubjectFilter`\" pulumi-lang-go=\"`subjectFilter`\" pulumi-lang-python=\"`subject_filter`\" pulumi-lang-yaml=\"`subjectFilter`\" pulumi-lang-java=\"`subjectFilter`\"\u003e`subject_filter`\u003c/span\u003e block as defined below.\n"},"systemTopic":{"type":"string","description":"The System Topic where the Event Subscription should be created in. Changing this forces a new Event Subscription to be created.\n","willReplaceOnChanges":true},"webhookEndpoint":{"$ref":"#/types/azure:eventgrid/SystemTopicEventSubscriptionWebhookEndpoint:SystemTopicEventSubscriptionWebhookEndpoint","description":"A \u003cspan pulumi-lang-nodejs=\"`webhookEndpoint`\" pulumi-lang-dotnet=\"`WebhookEndpoint`\" pulumi-lang-go=\"`webhookEndpoint`\" pulumi-lang-python=\"`webhook_endpoint`\" pulumi-lang-yaml=\"`webhookEndpoint`\" pulumi-lang-java=\"`webhookEndpoint`\"\u003e`webhook_endpoint`\u003c/span\u003e block as defined below.\n\n\u003e **Note:** One of \u003cspan pulumi-lang-nodejs=\"`azureFunctionEndpoint`\" pulumi-lang-dotnet=\"`AzureFunctionEndpoint`\" pulumi-lang-go=\"`azureFunctionEndpoint`\" pulumi-lang-python=\"`azure_function_endpoint`\" pulumi-lang-yaml=\"`azureFunctionEndpoint`\" pulumi-lang-java=\"`azureFunctionEndpoint`\"\u003e`azure_function_endpoint`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`eventhubEndpointId`\" pulumi-lang-dotnet=\"`EventhubEndpointId`\" pulumi-lang-go=\"`eventhubEndpointId`\" pulumi-lang-python=\"`eventhub_endpoint_id`\" pulumi-lang-yaml=\"`eventhubEndpointId`\" pulumi-lang-java=\"`eventhubEndpointId`\"\u003e`eventhub_endpoint_id`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`hybridConnectionEndpoint`\" pulumi-lang-dotnet=\"`HybridConnectionEndpoint`\" pulumi-lang-go=\"`hybridConnectionEndpoint`\" pulumi-lang-python=\"`hybrid_connection_endpoint`\" pulumi-lang-yaml=\"`hybridConnectionEndpoint`\" pulumi-lang-java=\"`hybridConnectionEndpoint`\"\u003e`hybrid_connection_endpoint`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`hybridConnectionEndpointId`\" pulumi-lang-dotnet=\"`HybridConnectionEndpointId`\" pulumi-lang-go=\"`hybridConnectionEndpointId`\" pulumi-lang-python=\"`hybrid_connection_endpoint_id`\" pulumi-lang-yaml=\"`hybridConnectionEndpointId`\" pulumi-lang-java=\"`hybridConnectionEndpointId`\"\u003e`hybrid_connection_endpoint_id`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`serviceBusQueueEndpointId`\" pulumi-lang-dotnet=\"`ServiceBusQueueEndpointId`\" pulumi-lang-go=\"`serviceBusQueueEndpointId`\" pulumi-lang-python=\"`service_bus_queue_endpoint_id`\" pulumi-lang-yaml=\"`serviceBusQueueEndpointId`\" pulumi-lang-java=\"`serviceBusQueueEndpointId`\"\u003e`service_bus_queue_endpoint_id`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`serviceBusTopicEndpointId`\" pulumi-lang-dotnet=\"`ServiceBusTopicEndpointId`\" pulumi-lang-go=\"`serviceBusTopicEndpointId`\" pulumi-lang-python=\"`service_bus_topic_endpoint_id`\" pulumi-lang-yaml=\"`serviceBusTopicEndpointId`\" pulumi-lang-java=\"`serviceBusTopicEndpointId`\"\u003e`service_bus_topic_endpoint_id`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`storageQueueEndpoint`\" pulumi-lang-dotnet=\"`StorageQueueEndpoint`\" pulumi-lang-go=\"`storageQueueEndpoint`\" pulumi-lang-python=\"`storage_queue_endpoint`\" pulumi-lang-yaml=\"`storageQueueEndpoint`\" pulumi-lang-java=\"`storageQueueEndpoint`\"\u003e`storage_queue_endpoint`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`webhookEndpoint`\" pulumi-lang-dotnet=\"`WebhookEndpoint`\" pulumi-lang-go=\"`webhookEndpoint`\" pulumi-lang-python=\"`webhook_endpoint`\" pulumi-lang-yaml=\"`webhookEndpoint`\" pulumi-lang-java=\"`webhookEndpoint`\"\u003e`webhook_endpoint`\u003c/span\u003e must be specified.\n"}},"type":"object"}},"azure:eventgrid/topic:Topic":{"description":"Manages an EventGrid Topic\n\n\u003e **Note:** at this time EventGrid Topics are only available in a limited number of regions.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleTopic = new azure.eventgrid.Topic(\"example\", {\n    name: \"my-eventgrid-topic\",\n    location: example.location,\n    resourceGroupName: example.name,\n    tags: {\n        environment: \"Production\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_topic = azure.eventgrid.Topic(\"example\",\n    name=\"my-eventgrid-topic\",\n    location=example.location,\n    resource_group_name=example.name,\n    tags={\n        \"environment\": \"Production\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleTopic = new Azure.EventGrid.Topic(\"example\", new()\n    {\n        Name = \"my-eventgrid-topic\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Tags = \n        {\n            { \"environment\", \"Production\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/eventgrid\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = eventgrid.NewTopic(ctx, \"example\", \u0026eventgrid.TopicArgs{\n\t\t\tName:              pulumi.String(\"my-eventgrid-topic\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"environment\": pulumi.String(\"Production\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.eventgrid.Topic;\nimport com.pulumi.azure.eventgrid.TopicArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleTopic = new Topic(\"exampleTopic\", TopicArgs.builder()\n            .name(\"my-eventgrid-topic\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .tags(Map.of(\"environment\", \"Production\"))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleTopic:\n    type: azure:eventgrid:Topic\n    name: example\n    properties:\n      name: my-eventgrid-topic\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      tags:\n        environment: Production\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.EventGrid` - 2025-02-15\n\n## Import\n\nEventGrid Topic's can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:eventgrid/topic:Topic topic1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.EventGrid/topics/topic1\n```\n\n","properties":{"endpoint":{"type":"string","description":"The Endpoint associated with the EventGrid Topic.\n"},"identity":{"$ref":"#/types/azure:eventgrid/TopicIdentity:TopicIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"inboundIpRules":{"type":"array","items":{"$ref":"#/types/azure:eventgrid/TopicInboundIpRule:TopicInboundIpRule"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`inboundIpRule`\" pulumi-lang-dotnet=\"`InboundIpRule`\" pulumi-lang-go=\"`inboundIpRule`\" pulumi-lang-python=\"`inbound_ip_rule`\" pulumi-lang-yaml=\"`inboundIpRule`\" pulumi-lang-java=\"`inboundIpRule`\"\u003e`inbound_ip_rule`\u003c/span\u003e blocks as defined below.\n"},"inputMappingDefaultValues":{"$ref":"#/types/azure:eventgrid/TopicInputMappingDefaultValues:TopicInputMappingDefaultValues","description":"A \u003cspan pulumi-lang-nodejs=\"`inputMappingDefaultValues`\" pulumi-lang-dotnet=\"`InputMappingDefaultValues`\" pulumi-lang-go=\"`inputMappingDefaultValues`\" pulumi-lang-python=\"`input_mapping_default_values`\" pulumi-lang-yaml=\"`inputMappingDefaultValues`\" pulumi-lang-java=\"`inputMappingDefaultValues`\"\u003e`input_mapping_default_values`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n"},"inputMappingFields":{"$ref":"#/types/azure:eventgrid/TopicInputMappingFields:TopicInputMappingFields","description":"A \u003cspan pulumi-lang-nodejs=\"`inputMappingFields`\" pulumi-lang-dotnet=\"`InputMappingFields`\" pulumi-lang-go=\"`inputMappingFields`\" pulumi-lang-python=\"`input_mapping_fields`\" pulumi-lang-yaml=\"`inputMappingFields`\" pulumi-lang-java=\"`inputMappingFields`\"\u003e`input_mapping_fields`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n"},"inputSchema":{"type":"string","description":"Specifies the schema in which incoming events will be published to this domain. Allowed values are `CloudEventSchemaV1_0`, `CustomEventSchema`, or `EventGridSchema`. Defaults to `EventGridSchema`. Changing this forces a new resource to be created.\n"},"localAuthEnabled":{"type":"boolean","description":"Whether local authentication methods is enabled for the EventGrid Topic. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"Specifies the name of the EventGrid Topic resource. Changing this forces a new resource to be created.\n"},"primaryAccessKey":{"type":"string","description":"The Primary Shared Access Key associated with the EventGrid Topic.\n","secret":true},"publicNetworkAccessEnabled":{"type":"boolean","description":"Whether or not public network access is allowed for this server. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the EventGrid Topic exists. Changing this forces a new resource to be created.\n"},"secondaryAccessKey":{"type":"string","description":"The Secondary Shared Access Key associated with the EventGrid Topic.\n","secret":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"required":["endpoint","location","name","primaryAccessKey","resourceGroupName","secondaryAccessKey"],"inputProperties":{"identity":{"$ref":"#/types/azure:eventgrid/TopicIdentity:TopicIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"inboundIpRules":{"type":"array","items":{"$ref":"#/types/azure:eventgrid/TopicInboundIpRule:TopicInboundIpRule"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`inboundIpRule`\" pulumi-lang-dotnet=\"`InboundIpRule`\" pulumi-lang-go=\"`inboundIpRule`\" pulumi-lang-python=\"`inbound_ip_rule`\" pulumi-lang-yaml=\"`inboundIpRule`\" pulumi-lang-java=\"`inboundIpRule`\"\u003e`inbound_ip_rule`\u003c/span\u003e blocks as defined below.\n"},"inputMappingDefaultValues":{"$ref":"#/types/azure:eventgrid/TopicInputMappingDefaultValues:TopicInputMappingDefaultValues","description":"A \u003cspan pulumi-lang-nodejs=\"`inputMappingDefaultValues`\" pulumi-lang-dotnet=\"`InputMappingDefaultValues`\" pulumi-lang-go=\"`inputMappingDefaultValues`\" pulumi-lang-python=\"`input_mapping_default_values`\" pulumi-lang-yaml=\"`inputMappingDefaultValues`\" pulumi-lang-java=\"`inputMappingDefaultValues`\"\u003e`input_mapping_default_values`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"inputMappingFields":{"$ref":"#/types/azure:eventgrid/TopicInputMappingFields:TopicInputMappingFields","description":"A \u003cspan pulumi-lang-nodejs=\"`inputMappingFields`\" pulumi-lang-dotnet=\"`InputMappingFields`\" pulumi-lang-go=\"`inputMappingFields`\" pulumi-lang-python=\"`input_mapping_fields`\" pulumi-lang-yaml=\"`inputMappingFields`\" pulumi-lang-java=\"`inputMappingFields`\"\u003e`input_mapping_fields`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"inputSchema":{"type":"string","description":"Specifies the schema in which incoming events will be published to this domain. Allowed values are `CloudEventSchemaV1_0`, `CustomEventSchema`, or `EventGridSchema`. Defaults to `EventGridSchema`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"localAuthEnabled":{"type":"boolean","description":"Whether local authentication methods is enabled for the EventGrid Topic. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the EventGrid Topic resource. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"publicNetworkAccessEnabled":{"type":"boolean","description":"Whether or not public network access is allowed for this server. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the EventGrid Topic exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"requiredInputs":["resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering Topic resources.\n","properties":{"endpoint":{"type":"string","description":"The Endpoint associated with the EventGrid Topic.\n"},"identity":{"$ref":"#/types/azure:eventgrid/TopicIdentity:TopicIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"inboundIpRules":{"type":"array","items":{"$ref":"#/types/azure:eventgrid/TopicInboundIpRule:TopicInboundIpRule"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`inboundIpRule`\" pulumi-lang-dotnet=\"`InboundIpRule`\" pulumi-lang-go=\"`inboundIpRule`\" pulumi-lang-python=\"`inbound_ip_rule`\" pulumi-lang-yaml=\"`inboundIpRule`\" pulumi-lang-java=\"`inboundIpRule`\"\u003e`inbound_ip_rule`\u003c/span\u003e blocks as defined below.\n"},"inputMappingDefaultValues":{"$ref":"#/types/azure:eventgrid/TopicInputMappingDefaultValues:TopicInputMappingDefaultValues","description":"A \u003cspan pulumi-lang-nodejs=\"`inputMappingDefaultValues`\" pulumi-lang-dotnet=\"`InputMappingDefaultValues`\" pulumi-lang-go=\"`inputMappingDefaultValues`\" pulumi-lang-python=\"`input_mapping_default_values`\" pulumi-lang-yaml=\"`inputMappingDefaultValues`\" pulumi-lang-java=\"`inputMappingDefaultValues`\"\u003e`input_mapping_default_values`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"inputMappingFields":{"$ref":"#/types/azure:eventgrid/TopicInputMappingFields:TopicInputMappingFields","description":"A \u003cspan pulumi-lang-nodejs=\"`inputMappingFields`\" pulumi-lang-dotnet=\"`InputMappingFields`\" pulumi-lang-go=\"`inputMappingFields`\" pulumi-lang-python=\"`input_mapping_fields`\" pulumi-lang-yaml=\"`inputMappingFields`\" pulumi-lang-java=\"`inputMappingFields`\"\u003e`input_mapping_fields`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"inputSchema":{"type":"string","description":"Specifies the schema in which incoming events will be published to this domain. Allowed values are `CloudEventSchemaV1_0`, `CustomEventSchema`, or `EventGridSchema`. Defaults to `EventGridSchema`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"localAuthEnabled":{"type":"boolean","description":"Whether local authentication methods is enabled for the EventGrid Topic. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the EventGrid Topic resource. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"primaryAccessKey":{"type":"string","description":"The Primary Shared Access Key associated with the EventGrid Topic.\n","secret":true},"publicNetworkAccessEnabled":{"type":"boolean","description":"Whether or not public network access is allowed for this server. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the EventGrid Topic exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"secondaryAccessKey":{"type":"string","description":"The Secondary Shared Access Key associated with the EventGrid Topic.\n","secret":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"type":"object"},"aliases":[{"type":"azure:eventhub/eventGridTopic:EventGridTopic"}]},"azure:eventhub/authorizationRule:AuthorizationRule":{"description":"Manages a Event Hubs authorization Rule within an Event Hub.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleEventHubNamespace = new azure.eventhub.EventHubNamespace(\"example\", {\n    name: \"acceptanceTestEventHubNamespace\",\n    location: example.location,\n    resourceGroupName: example.name,\n    sku: \"Basic\",\n    capacity: 2,\n    tags: {\n        environment: \"Production\",\n    },\n});\nconst exampleEventHub = new azure.eventhub.EventHub(\"example\", {\n    name: \"acceptanceTestEventHub\",\n    namespaceName: exampleEventHubNamespace.name,\n    resourceGroupName: example.name,\n    partitionCount: 2,\n    messageRetention: 2,\n});\nconst exampleAuthorizationRule = new azure.eventhub.AuthorizationRule(\"example\", {\n    name: \"navi\",\n    namespaceName: exampleEventHubNamespace.name,\n    eventhubName: exampleEventHub.name,\n    resourceGroupName: example.name,\n    listen: true,\n    send: false,\n    manage: false,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_event_hub_namespace = azure.eventhub.EventHubNamespace(\"example\",\n    name=\"acceptanceTestEventHubNamespace\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku=\"Basic\",\n    capacity=2,\n    tags={\n        \"environment\": \"Production\",\n    })\nexample_event_hub = azure.eventhub.EventHub(\"example\",\n    name=\"acceptanceTestEventHub\",\n    namespace_name=example_event_hub_namespace.name,\n    resource_group_name=example.name,\n    partition_count=2,\n    message_retention=2)\nexample_authorization_rule = azure.eventhub.AuthorizationRule(\"example\",\n    name=\"navi\",\n    namespace_name=example_event_hub_namespace.name,\n    eventhub_name=example_event_hub.name,\n    resource_group_name=example.name,\n    listen=True,\n    send=False,\n    manage=False)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleEventHubNamespace = new Azure.EventHub.EventHubNamespace(\"example\", new()\n    {\n        Name = \"acceptanceTestEventHubNamespace\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Sku = \"Basic\",\n        Capacity = 2,\n        Tags = \n        {\n            { \"environment\", \"Production\" },\n        },\n    });\n\n    var exampleEventHub = new Azure.EventHub.EventHub(\"example\", new()\n    {\n        Name = \"acceptanceTestEventHub\",\n        NamespaceName = exampleEventHubNamespace.Name,\n        ResourceGroupName = example.Name,\n        PartitionCount = 2,\n        MessageRetention = 2,\n    });\n\n    var exampleAuthorizationRule = new Azure.EventHub.AuthorizationRule(\"example\", new()\n    {\n        Name = \"navi\",\n        NamespaceName = exampleEventHubNamespace.Name,\n        EventhubName = exampleEventHub.Name,\n        ResourceGroupName = example.Name,\n        Listen = true,\n        Send = false,\n        Manage = false,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/eventhub\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleEventHubNamespace, err := eventhub.NewEventHubNamespace(ctx, \"example\", \u0026eventhub.EventHubNamespaceArgs{\n\t\t\tName:              pulumi.String(\"acceptanceTestEventHubNamespace\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSku:               pulumi.String(\"Basic\"),\n\t\t\tCapacity:          pulumi.Int(2),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"environment\": pulumi.String(\"Production\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleEventHub, err := eventhub.NewEventHub(ctx, \"example\", \u0026eventhub.EventHubArgs{\n\t\t\tName:              pulumi.String(\"acceptanceTestEventHub\"),\n\t\t\tNamespaceName:     exampleEventHubNamespace.Name,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tPartitionCount:    pulumi.Int(2),\n\t\t\tMessageRetention:  pulumi.Int(2),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = eventhub.NewAuthorizationRule(ctx, \"example\", \u0026eventhub.AuthorizationRuleArgs{\n\t\t\tName:              pulumi.String(\"navi\"),\n\t\t\tNamespaceName:     exampleEventHubNamespace.Name,\n\t\t\tEventhubName:      exampleEventHub.Name,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tListen:            pulumi.Bool(true),\n\t\t\tSend:              pulumi.Bool(false),\n\t\t\tManage:            pulumi.Bool(false),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.eventhub.EventHubNamespace;\nimport com.pulumi.azure.eventhub.EventHubNamespaceArgs;\nimport com.pulumi.azure.eventhub.EventHub;\nimport com.pulumi.azure.eventhub.EventHubArgs;\nimport com.pulumi.azure.eventhub.AuthorizationRule;\nimport com.pulumi.azure.eventhub.AuthorizationRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleEventHubNamespace = new EventHubNamespace(\"exampleEventHubNamespace\", EventHubNamespaceArgs.builder()\n            .name(\"acceptanceTestEventHubNamespace\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .sku(\"Basic\")\n            .capacity(2)\n            .tags(Map.of(\"environment\", \"Production\"))\n            .build());\n\n        var exampleEventHub = new EventHub(\"exampleEventHub\", EventHubArgs.builder()\n            .name(\"acceptanceTestEventHub\")\n            .namespaceName(exampleEventHubNamespace.name())\n            .resourceGroupName(example.name())\n            .partitionCount(2)\n            .messageRetention(2)\n            .build());\n\n        var exampleAuthorizationRule = new AuthorizationRule(\"exampleAuthorizationRule\", AuthorizationRuleArgs.builder()\n            .name(\"navi\")\n            .namespaceName(exampleEventHubNamespace.name())\n            .eventhubName(exampleEventHub.name())\n            .resourceGroupName(example.name())\n            .listen(true)\n            .send(false)\n            .manage(false)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleEventHubNamespace:\n    type: azure:eventhub:EventHubNamespace\n    name: example\n    properties:\n      name: acceptanceTestEventHubNamespace\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      sku: Basic\n      capacity: 2\n      tags:\n        environment: Production\n  exampleEventHub:\n    type: azure:eventhub:EventHub\n    name: example\n    properties:\n      name: acceptanceTestEventHub\n      namespaceName: ${exampleEventHubNamespace.name}\n      resourceGroupName: ${example.name}\n      partitionCount: 2\n      messageRetention: 2\n  exampleAuthorizationRule:\n    type: azure:eventhub:AuthorizationRule\n    name: example\n    properties:\n      name: navi\n      namespaceName: ${exampleEventHubNamespace.name}\n      eventhubName: ${exampleEventHub.name}\n      resourceGroupName: ${example.name}\n      listen: true\n      send: false\n      manage: false\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.EventHub` - 2024-01-01\n\n## Import\n\nEventHub Authorization Rules can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:eventhub/authorizationRule:AuthorizationRule rule1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.EventHub/namespaces/namespace1/eventhubs/eventhub1/authorizationRules/rule1\n```\n\n","properties":{"eventhubName":{"type":"string","description":"Specifies the name of the EventHub. Changing this forces a new resource to be created.\n"},"listen":{"type":"boolean","description":"Does this Authorization Rule have permissions to Listen to the Event Hub? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"manage":{"type":"boolean","description":"Does this Authorization Rule have permissions to Manage to the Event Hub? When this property is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e - both \u003cspan pulumi-lang-nodejs=\"`listen`\" pulumi-lang-dotnet=\"`Listen`\" pulumi-lang-go=\"`listen`\" pulumi-lang-python=\"`listen`\" pulumi-lang-yaml=\"`listen`\" pulumi-lang-java=\"`listen`\"\u003e`listen`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`send`\" pulumi-lang-dotnet=\"`Send`\" pulumi-lang-go=\"`send`\" pulumi-lang-python=\"`send`\" pulumi-lang-yaml=\"`send`\" pulumi-lang-java=\"`send`\"\u003e`send`\u003c/span\u003e must be too. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"name":{"type":"string","description":"Specifies the name of the EventHub Authorization Rule resource. Changing this forces a new resource to be created.\n"},"namespaceName":{"type":"string","description":"Specifies the name of the grandparent EventHub Namespace. Changing this forces a new resource to be created.\n"},"primaryConnectionString":{"type":"string","description":"The Primary Connection String for the Event Hubs authorization Rule.\n","secret":true},"primaryConnectionStringAlias":{"type":"string","description":"The alias of the Primary Connection String for the Event Hubs authorization Rule, which is generated when disaster recovery is enabled.\n","secret":true},"primaryKey":{"type":"string","description":"The Primary Key for the Event Hubs authorization Rule.\n","secret":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the EventHub Namespace exists. Changing this forces a new resource to be created.\n\n\u003e **Note:** At least one of the 3 permissions below needs to be set.\n"},"secondaryConnectionString":{"type":"string","description":"The Secondary Connection String for the Event Hubs Authorization Rule.\n","secret":true},"secondaryConnectionStringAlias":{"type":"string","description":"The alias of the Secondary Connection String for the Event Hubs Authorization Rule, which is generated when disaster recovery is enabled.\n","secret":true},"secondaryKey":{"type":"string","description":"The Secondary Key for the Event Hubs Authorization Rule.\n","secret":true},"send":{"type":"boolean","description":"Does this Authorization Rule have permissions to Send to the Event Hub? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"}},"required":["eventhubName","name","namespaceName","primaryConnectionString","primaryConnectionStringAlias","primaryKey","resourceGroupName","secondaryConnectionString","secondaryConnectionStringAlias","secondaryKey"],"inputProperties":{"eventhubName":{"type":"string","description":"Specifies the name of the EventHub. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"listen":{"type":"boolean","description":"Does this Authorization Rule have permissions to Listen to the Event Hub? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"manage":{"type":"boolean","description":"Does this Authorization Rule have permissions to Manage to the Event Hub? When this property is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e - both \u003cspan pulumi-lang-nodejs=\"`listen`\" pulumi-lang-dotnet=\"`Listen`\" pulumi-lang-go=\"`listen`\" pulumi-lang-python=\"`listen`\" pulumi-lang-yaml=\"`listen`\" pulumi-lang-java=\"`listen`\"\u003e`listen`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`send`\" pulumi-lang-dotnet=\"`Send`\" pulumi-lang-go=\"`send`\" pulumi-lang-python=\"`send`\" pulumi-lang-yaml=\"`send`\" pulumi-lang-java=\"`send`\"\u003e`send`\u003c/span\u003e must be too. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"name":{"type":"string","description":"Specifies the name of the EventHub Authorization Rule resource. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"namespaceName":{"type":"string","description":"Specifies the name of the grandparent EventHub Namespace. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the EventHub Namespace exists. Changing this forces a new resource to be created.\n\n\u003e **Note:** At least one of the 3 permissions below needs to be set.\n","willReplaceOnChanges":true},"send":{"type":"boolean","description":"Does this Authorization Rule have permissions to Send to the Event Hub? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"}},"requiredInputs":["eventhubName","namespaceName","resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering AuthorizationRule resources.\n","properties":{"eventhubName":{"type":"string","description":"Specifies the name of the EventHub. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"listen":{"type":"boolean","description":"Does this Authorization Rule have permissions to Listen to the Event Hub? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"manage":{"type":"boolean","description":"Does this Authorization Rule have permissions to Manage to the Event Hub? When this property is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e - both \u003cspan pulumi-lang-nodejs=\"`listen`\" pulumi-lang-dotnet=\"`Listen`\" pulumi-lang-go=\"`listen`\" pulumi-lang-python=\"`listen`\" pulumi-lang-yaml=\"`listen`\" pulumi-lang-java=\"`listen`\"\u003e`listen`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`send`\" pulumi-lang-dotnet=\"`Send`\" pulumi-lang-go=\"`send`\" pulumi-lang-python=\"`send`\" pulumi-lang-yaml=\"`send`\" pulumi-lang-java=\"`send`\"\u003e`send`\u003c/span\u003e must be too. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"name":{"type":"string","description":"Specifies the name of the EventHub Authorization Rule resource. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"namespaceName":{"type":"string","description":"Specifies the name of the grandparent EventHub Namespace. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"primaryConnectionString":{"type":"string","description":"The Primary Connection String for the Event Hubs authorization Rule.\n","secret":true},"primaryConnectionStringAlias":{"type":"string","description":"The alias of the Primary Connection String for the Event Hubs authorization Rule, which is generated when disaster recovery is enabled.\n","secret":true},"primaryKey":{"type":"string","description":"The Primary Key for the Event Hubs authorization Rule.\n","secret":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the EventHub Namespace exists. Changing this forces a new resource to be created.\n\n\u003e **Note:** At least one of the 3 permissions below needs to be set.\n","willReplaceOnChanges":true},"secondaryConnectionString":{"type":"string","description":"The Secondary Connection String for the Event Hubs Authorization Rule.\n","secret":true},"secondaryConnectionStringAlias":{"type":"string","description":"The alias of the Secondary Connection String for the Event Hubs Authorization Rule, which is generated when disaster recovery is enabled.\n","secret":true},"secondaryKey":{"type":"string","description":"The Secondary Key for the Event Hubs Authorization Rule.\n","secret":true},"send":{"type":"boolean","description":"Does this Authorization Rule have permissions to Send to the Event Hub? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"}},"type":"object"},"aliases":[{"type":"azure:eventhub/eventHubAuthorizationRule:EventHubAuthorizationRule"}]},"azure:eventhub/cluster:Cluster":{"description":"Manages an EventHub Cluster\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst test = new azure.eventhub.Cluster(\"test\", {\n    name: \"example\",\n    resourceGroupName: example.name,\n    location: example.location,\n    skuName: \"Dedicated_1\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\ntest = azure.eventhub.Cluster(\"test\",\n    name=\"example\",\n    resource_group_name=example.name,\n    location=example.location,\n    sku_name=\"Dedicated_1\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var test = new Azure.EventHub.Cluster(\"test\", new()\n    {\n        Name = \"example\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        SkuName = \"Dedicated_1\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/eventhub\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = eventhub.NewCluster(ctx, \"test\", \u0026eventhub.ClusterArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tSkuName:           pulumi.String(\"Dedicated_1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.eventhub.Cluster;\nimport com.pulumi.azure.eventhub.ClusterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var test = new Cluster(\"test\", ClusterArgs.builder()\n            .name(\"example\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .skuName(\"Dedicated_1\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  test:\n    type: azure:eventhub:Cluster\n    properties:\n      name: example\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      skuName: Dedicated_1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.EventHub` - 2024-01-01\n\n## Import\n\nEventHub Cluster's can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:eventhub/cluster:Cluster cluster1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.EventHub/clusters/cluster1\n```\n\n","properties":{"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"Specifies the name of the EventHub Cluster resource. Changing this forces a new resource to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the EventHub Cluster exists. Changing this forces a new resource to be created.\n"},"skuName":{"type":"string","description":"The SKU name of the EventHub Cluster. The only supported value at this time is `Dedicated_1`.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"required":["location","name","resourceGroupName","skuName"],"inputProperties":{"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the EventHub Cluster resource. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the EventHub Cluster exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"skuName":{"type":"string","description":"The SKU name of the EventHub Cluster. The only supported value at this time is `Dedicated_1`.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"requiredInputs":["resourceGroupName","skuName"],"stateInputs":{"description":"Input properties used for looking up and filtering Cluster resources.\n","properties":{"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the EventHub Cluster resource. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the EventHub Cluster exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"skuName":{"type":"string","description":"The SKU name of the EventHub Cluster. The only supported value at this time is `Dedicated_1`.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"type":"object"}},"azure:eventhub/consumerGroup:ConsumerGroup":{"description":"Manages a Event Hubs Consumer Group as a nested resource within an Event Hub.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleEventHubNamespace = new azure.eventhub.EventHubNamespace(\"example\", {\n    name: \"acceptanceTestEventHubNamespace\",\n    location: example.location,\n    resourceGroupName: example.name,\n    sku: \"Basic\",\n    capacity: 2,\n    tags: {\n        environment: \"Production\",\n    },\n});\nconst exampleEventHub = new azure.eventhub.EventHub(\"example\", {\n    name: \"acceptanceTestEventHub\",\n    namespaceName: exampleEventHubNamespace.name,\n    resourceGroupName: example.name,\n    partitionCount: 2,\n    messageRetention: 2,\n});\nconst exampleConsumerGroup = new azure.eventhub.ConsumerGroup(\"example\", {\n    name: \"acceptanceTestEventHubConsumerGroup\",\n    namespaceName: exampleEventHubNamespace.name,\n    eventhubName: exampleEventHub.name,\n    resourceGroupName: example.name,\n    userMetadata: \"some-meta-data\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_event_hub_namespace = azure.eventhub.EventHubNamespace(\"example\",\n    name=\"acceptanceTestEventHubNamespace\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku=\"Basic\",\n    capacity=2,\n    tags={\n        \"environment\": \"Production\",\n    })\nexample_event_hub = azure.eventhub.EventHub(\"example\",\n    name=\"acceptanceTestEventHub\",\n    namespace_name=example_event_hub_namespace.name,\n    resource_group_name=example.name,\n    partition_count=2,\n    message_retention=2)\nexample_consumer_group = azure.eventhub.ConsumerGroup(\"example\",\n    name=\"acceptanceTestEventHubConsumerGroup\",\n    namespace_name=example_event_hub_namespace.name,\n    eventhub_name=example_event_hub.name,\n    resource_group_name=example.name,\n    user_metadata=\"some-meta-data\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleEventHubNamespace = new Azure.EventHub.EventHubNamespace(\"example\", new()\n    {\n        Name = \"acceptanceTestEventHubNamespace\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Sku = \"Basic\",\n        Capacity = 2,\n        Tags = \n        {\n            { \"environment\", \"Production\" },\n        },\n    });\n\n    var exampleEventHub = new Azure.EventHub.EventHub(\"example\", new()\n    {\n        Name = \"acceptanceTestEventHub\",\n        NamespaceName = exampleEventHubNamespace.Name,\n        ResourceGroupName = example.Name,\n        PartitionCount = 2,\n        MessageRetention = 2,\n    });\n\n    var exampleConsumerGroup = new Azure.EventHub.ConsumerGroup(\"example\", new()\n    {\n        Name = \"acceptanceTestEventHubConsumerGroup\",\n        NamespaceName = exampleEventHubNamespace.Name,\n        EventhubName = exampleEventHub.Name,\n        ResourceGroupName = example.Name,\n        UserMetadata = \"some-meta-data\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/eventhub\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleEventHubNamespace, err := eventhub.NewEventHubNamespace(ctx, \"example\", \u0026eventhub.EventHubNamespaceArgs{\n\t\t\tName:              pulumi.String(\"acceptanceTestEventHubNamespace\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSku:               pulumi.String(\"Basic\"),\n\t\t\tCapacity:          pulumi.Int(2),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"environment\": pulumi.String(\"Production\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleEventHub, err := eventhub.NewEventHub(ctx, \"example\", \u0026eventhub.EventHubArgs{\n\t\t\tName:              pulumi.String(\"acceptanceTestEventHub\"),\n\t\t\tNamespaceName:     exampleEventHubNamespace.Name,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tPartitionCount:    pulumi.Int(2),\n\t\t\tMessageRetention:  pulumi.Int(2),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = eventhub.NewConsumerGroup(ctx, \"example\", \u0026eventhub.ConsumerGroupArgs{\n\t\t\tName:              pulumi.String(\"acceptanceTestEventHubConsumerGroup\"),\n\t\t\tNamespaceName:     exampleEventHubNamespace.Name,\n\t\t\tEventhubName:      exampleEventHub.Name,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tUserMetadata:      pulumi.String(\"some-meta-data\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.eventhub.EventHubNamespace;\nimport com.pulumi.azure.eventhub.EventHubNamespaceArgs;\nimport com.pulumi.azure.eventhub.EventHub;\nimport com.pulumi.azure.eventhub.EventHubArgs;\nimport com.pulumi.azure.eventhub.ConsumerGroup;\nimport com.pulumi.azure.eventhub.ConsumerGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleEventHubNamespace = new EventHubNamespace(\"exampleEventHubNamespace\", EventHubNamespaceArgs.builder()\n            .name(\"acceptanceTestEventHubNamespace\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .sku(\"Basic\")\n            .capacity(2)\n            .tags(Map.of(\"environment\", \"Production\"))\n            .build());\n\n        var exampleEventHub = new EventHub(\"exampleEventHub\", EventHubArgs.builder()\n            .name(\"acceptanceTestEventHub\")\n            .namespaceName(exampleEventHubNamespace.name())\n            .resourceGroupName(example.name())\n            .partitionCount(2)\n            .messageRetention(2)\n            .build());\n\n        var exampleConsumerGroup = new ConsumerGroup(\"exampleConsumerGroup\", ConsumerGroupArgs.builder()\n            .name(\"acceptanceTestEventHubConsumerGroup\")\n            .namespaceName(exampleEventHubNamespace.name())\n            .eventhubName(exampleEventHub.name())\n            .resourceGroupName(example.name())\n            .userMetadata(\"some-meta-data\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleEventHubNamespace:\n    type: azure:eventhub:EventHubNamespace\n    name: example\n    properties:\n      name: acceptanceTestEventHubNamespace\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      sku: Basic\n      capacity: 2\n      tags:\n        environment: Production\n  exampleEventHub:\n    type: azure:eventhub:EventHub\n    name: example\n    properties:\n      name: acceptanceTestEventHub\n      namespaceName: ${exampleEventHubNamespace.name}\n      resourceGroupName: ${example.name}\n      partitionCount: 2\n      messageRetention: 2\n  exampleConsumerGroup:\n    type: azure:eventhub:ConsumerGroup\n    name: example\n    properties:\n      name: acceptanceTestEventHubConsumerGroup\n      namespaceName: ${exampleEventHubNamespace.name}\n      eventhubName: ${exampleEventHub.name}\n      resourceGroupName: ${example.name}\n      userMetadata: some-meta-data\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.EventHub` - 2024-01-01\n\n## Import\n\nEventHub Consumer Groups can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:eventhub/consumerGroup:ConsumerGroup consumerGroup1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.EventHub/namespaces/namespace1/eventhubs/eventhub1/consumerGroups/consumerGroup1\n```\n\n","properties":{"eventhubName":{"type":"string","description":"Specifies the name of the EventHub. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"Specifies the name of the EventHub Consumer Group resource. Changing this forces a new resource to be created.\n"},"namespaceName":{"type":"string","description":"Specifies the name of the grandparent EventHub Namespace. Changing this forces a new resource to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the EventHub Consumer Group's grandparent Namespace exists. Changing this forces a new resource to be created.\n"},"userMetadata":{"type":"string","description":"Specifies the user metadata.\n"}},"required":["eventhubName","name","namespaceName","resourceGroupName"],"inputProperties":{"eventhubName":{"type":"string","description":"Specifies the name of the EventHub. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the EventHub Consumer Group resource. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"namespaceName":{"type":"string","description":"Specifies the name of the grandparent EventHub Namespace. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the EventHub Consumer Group's grandparent Namespace exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"userMetadata":{"type":"string","description":"Specifies the user metadata.\n"}},"requiredInputs":["eventhubName","namespaceName","resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering ConsumerGroup resources.\n","properties":{"eventhubName":{"type":"string","description":"Specifies the name of the EventHub. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the EventHub Consumer Group resource. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"namespaceName":{"type":"string","description":"Specifies the name of the grandparent EventHub Namespace. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the EventHub Consumer Group's grandparent Namespace exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"userMetadata":{"type":"string","description":"Specifies the user metadata.\n"}},"type":"object"},"aliases":[{"type":"azure:eventhub/eventHubConsumerGroup:EventHubConsumerGroup"}]},"azure:eventhub/domain:Domain":{"description":"Manages an EventGrid Domain\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleDomain = new azure.eventgrid.Domain(\"example\", {\n    name: \"my-eventgrid-domain\",\n    location: example.location,\n    resourceGroupName: example.name,\n    tags: {\n        environment: \"Production\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_domain = azure.eventgrid.Domain(\"example\",\n    name=\"my-eventgrid-domain\",\n    location=example.location,\n    resource_group_name=example.name,\n    tags={\n        \"environment\": \"Production\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleDomain = new Azure.EventGrid.Domain(\"example\", new()\n    {\n        Name = \"my-eventgrid-domain\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Tags = \n        {\n            { \"environment\", \"Production\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/eventgrid\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = eventgrid.NewDomain(ctx, \"example\", \u0026eventgrid.DomainArgs{\n\t\t\tName:              pulumi.String(\"my-eventgrid-domain\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"environment\": pulumi.String(\"Production\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.eventgrid.Domain;\nimport com.pulumi.azure.eventgrid.DomainArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleDomain = new Domain(\"exampleDomain\", DomainArgs.builder()\n            .name(\"my-eventgrid-domain\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .tags(Map.of(\"environment\", \"Production\"))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleDomain:\n    type: azure:eventgrid:Domain\n    name: example\n    properties:\n      name: my-eventgrid-domain\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      tags:\n        environment: Production\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.EventGrid` - 2025-02-15\n\n## Import\n\nEventGrid Domains can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:eventhub/domain:Domain domain1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.EventGrid/domains/domain1\n```\n\n","properties":{"autoCreateTopicWithFirstSubscription":{"type":"boolean","description":"Whether to create the domain topic when the first event subscription at the scope of the domain topic is created. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"autoDeleteTopicWithLastSubscription":{"type":"boolean","description":"Whether to delete the domain topic when the last event subscription at the scope of the domain topic is deleted. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"endpoint":{"type":"string","description":"The Endpoint associated with the EventGrid Domain.\n"},"identity":{"$ref":"#/types/azure:eventhub/DomainIdentity:DomainIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"inboundIpRules":{"type":"array","items":{"$ref":"#/types/azure:eventhub/DomainInboundIpRule:DomainInboundIpRule"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`inboundIpRule`\" pulumi-lang-dotnet=\"`InboundIpRule`\" pulumi-lang-go=\"`inboundIpRule`\" pulumi-lang-python=\"`inbound_ip_rule`\" pulumi-lang-yaml=\"`inboundIpRule`\" pulumi-lang-java=\"`inboundIpRule`\"\u003e`inbound_ip_rule`\u003c/span\u003e blocks as defined below.\n"},"inputMappingDefaultValues":{"$ref":"#/types/azure:eventhub/DomainInputMappingDefaultValues:DomainInputMappingDefaultValues","description":"A \u003cspan pulumi-lang-nodejs=\"`inputMappingDefaultValues`\" pulumi-lang-dotnet=\"`InputMappingDefaultValues`\" pulumi-lang-go=\"`inputMappingDefaultValues`\" pulumi-lang-python=\"`input_mapping_default_values`\" pulumi-lang-yaml=\"`inputMappingDefaultValues`\" pulumi-lang-java=\"`inputMappingDefaultValues`\"\u003e`input_mapping_default_values`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n"},"inputMappingFields":{"$ref":"#/types/azure:eventhub/DomainInputMappingFields:DomainInputMappingFields","description":"A \u003cspan pulumi-lang-nodejs=\"`inputMappingFields`\" pulumi-lang-dotnet=\"`InputMappingFields`\" pulumi-lang-go=\"`inputMappingFields`\" pulumi-lang-python=\"`input_mapping_fields`\" pulumi-lang-yaml=\"`inputMappingFields`\" pulumi-lang-java=\"`inputMappingFields`\"\u003e`input_mapping_fields`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n"},"inputSchema":{"type":"string","description":"Specifies the schema in which incoming events will be published to this domain. Allowed values are `CloudEventSchemaV1_0`, `CustomEventSchema`, or `EventGridSchema`. Defaults to `EventGridSchema`. Changing this forces a new resource to be created.\n"},"localAuthEnabled":{"type":"boolean","description":"Whether local authentication methods is enabled for the EventGrid Domain. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"Specifies the name of the EventGrid Domain resource. Changing this forces a new resource to be created.\n"},"primaryAccessKey":{"type":"string","description":"The Primary Shared Access Key associated with the EventGrid Domain.\n","secret":true},"publicNetworkAccessEnabled":{"type":"boolean","description":"Whether or not public network access is allowed for this server. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the EventGrid Domain exists. Changing this forces a new resource to be created.\n"},"secondaryAccessKey":{"type":"string","description":"The Secondary Shared Access Key associated with the EventGrid Domain.\n","secret":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"required":["endpoint","location","name","primaryAccessKey","resourceGroupName","secondaryAccessKey"],"inputProperties":{"autoCreateTopicWithFirstSubscription":{"type":"boolean","description":"Whether to create the domain topic when the first event subscription at the scope of the domain topic is created. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"autoDeleteTopicWithLastSubscription":{"type":"boolean","description":"Whether to delete the domain topic when the last event subscription at the scope of the domain topic is deleted. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"identity":{"$ref":"#/types/azure:eventhub/DomainIdentity:DomainIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"inboundIpRules":{"type":"array","items":{"$ref":"#/types/azure:eventhub/DomainInboundIpRule:DomainInboundIpRule"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`inboundIpRule`\" pulumi-lang-dotnet=\"`InboundIpRule`\" pulumi-lang-go=\"`inboundIpRule`\" pulumi-lang-python=\"`inbound_ip_rule`\" pulumi-lang-yaml=\"`inboundIpRule`\" pulumi-lang-java=\"`inboundIpRule`\"\u003e`inbound_ip_rule`\u003c/span\u003e blocks as defined below.\n"},"inputMappingDefaultValues":{"$ref":"#/types/azure:eventhub/DomainInputMappingDefaultValues:DomainInputMappingDefaultValues","description":"A \u003cspan pulumi-lang-nodejs=\"`inputMappingDefaultValues`\" pulumi-lang-dotnet=\"`InputMappingDefaultValues`\" pulumi-lang-go=\"`inputMappingDefaultValues`\" pulumi-lang-python=\"`input_mapping_default_values`\" pulumi-lang-yaml=\"`inputMappingDefaultValues`\" pulumi-lang-java=\"`inputMappingDefaultValues`\"\u003e`input_mapping_default_values`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"inputMappingFields":{"$ref":"#/types/azure:eventhub/DomainInputMappingFields:DomainInputMappingFields","description":"A \u003cspan pulumi-lang-nodejs=\"`inputMappingFields`\" pulumi-lang-dotnet=\"`InputMappingFields`\" pulumi-lang-go=\"`inputMappingFields`\" pulumi-lang-python=\"`input_mapping_fields`\" pulumi-lang-yaml=\"`inputMappingFields`\" pulumi-lang-java=\"`inputMappingFields`\"\u003e`input_mapping_fields`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"inputSchema":{"type":"string","description":"Specifies the schema in which incoming events will be published to this domain. Allowed values are `CloudEventSchemaV1_0`, `CustomEventSchema`, or `EventGridSchema`. Defaults to `EventGridSchema`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"localAuthEnabled":{"type":"boolean","description":"Whether local authentication methods is enabled for the EventGrid Domain. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the EventGrid Domain resource. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"publicNetworkAccessEnabled":{"type":"boolean","description":"Whether or not public network access is allowed for this server. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the EventGrid Domain exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"requiredInputs":["resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering Domain resources.\n","properties":{"autoCreateTopicWithFirstSubscription":{"type":"boolean","description":"Whether to create the domain topic when the first event subscription at the scope of the domain topic is created. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"autoDeleteTopicWithLastSubscription":{"type":"boolean","description":"Whether to delete the domain topic when the last event subscription at the scope of the domain topic is deleted. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"endpoint":{"type":"string","description":"The Endpoint associated with the EventGrid Domain.\n"},"identity":{"$ref":"#/types/azure:eventhub/DomainIdentity:DomainIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"inboundIpRules":{"type":"array","items":{"$ref":"#/types/azure:eventhub/DomainInboundIpRule:DomainInboundIpRule"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`inboundIpRule`\" pulumi-lang-dotnet=\"`InboundIpRule`\" pulumi-lang-go=\"`inboundIpRule`\" pulumi-lang-python=\"`inbound_ip_rule`\" pulumi-lang-yaml=\"`inboundIpRule`\" pulumi-lang-java=\"`inboundIpRule`\"\u003e`inbound_ip_rule`\u003c/span\u003e blocks as defined below.\n"},"inputMappingDefaultValues":{"$ref":"#/types/azure:eventhub/DomainInputMappingDefaultValues:DomainInputMappingDefaultValues","description":"A \u003cspan pulumi-lang-nodejs=\"`inputMappingDefaultValues`\" pulumi-lang-dotnet=\"`InputMappingDefaultValues`\" pulumi-lang-go=\"`inputMappingDefaultValues`\" pulumi-lang-python=\"`input_mapping_default_values`\" pulumi-lang-yaml=\"`inputMappingDefaultValues`\" pulumi-lang-java=\"`inputMappingDefaultValues`\"\u003e`input_mapping_default_values`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"inputMappingFields":{"$ref":"#/types/azure:eventhub/DomainInputMappingFields:DomainInputMappingFields","description":"A \u003cspan pulumi-lang-nodejs=\"`inputMappingFields`\" pulumi-lang-dotnet=\"`InputMappingFields`\" pulumi-lang-go=\"`inputMappingFields`\" pulumi-lang-python=\"`input_mapping_fields`\" pulumi-lang-yaml=\"`inputMappingFields`\" pulumi-lang-java=\"`inputMappingFields`\"\u003e`input_mapping_fields`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"inputSchema":{"type":"string","description":"Specifies the schema in which incoming events will be published to this domain. Allowed values are `CloudEventSchemaV1_0`, `CustomEventSchema`, or `EventGridSchema`. Defaults to `EventGridSchema`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"localAuthEnabled":{"type":"boolean","description":"Whether local authentication methods is enabled for the EventGrid Domain. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the EventGrid Domain resource. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"primaryAccessKey":{"type":"string","description":"The Primary Shared Access Key associated with the EventGrid Domain.\n","secret":true},"publicNetworkAccessEnabled":{"type":"boolean","description":"Whether or not public network access is allowed for this server. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the EventGrid Domain exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"secondaryAccessKey":{"type":"string","description":"The Secondary Shared Access Key associated with the EventGrid Domain.\n","secret":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"type":"object"},"deprecationMessage":"azure.eventhub.Domain has been deprecated in favor of azure.eventgrid.Domain"},"azure:eventhub/eventGridTopic:EventGridTopic":{"description":"Manages an EventGrid Topic\n\n\u003e **Note:** at this time EventGrid Topics are only available in a limited number of regions.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleTopic = new azure.eventgrid.Topic(\"example\", {\n    name: \"my-eventgrid-topic\",\n    location: example.location,\n    resourceGroupName: example.name,\n    tags: {\n        environment: \"Production\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_topic = azure.eventgrid.Topic(\"example\",\n    name=\"my-eventgrid-topic\",\n    location=example.location,\n    resource_group_name=example.name,\n    tags={\n        \"environment\": \"Production\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleTopic = new Azure.EventGrid.Topic(\"example\", new()\n    {\n        Name = \"my-eventgrid-topic\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Tags = \n        {\n            { \"environment\", \"Production\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/eventgrid\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = eventgrid.NewTopic(ctx, \"example\", \u0026eventgrid.TopicArgs{\n\t\t\tName:              pulumi.String(\"my-eventgrid-topic\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"environment\": pulumi.String(\"Production\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.eventgrid.Topic;\nimport com.pulumi.azure.eventgrid.TopicArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleTopic = new Topic(\"exampleTopic\", TopicArgs.builder()\n            .name(\"my-eventgrid-topic\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .tags(Map.of(\"environment\", \"Production\"))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleTopic:\n    type: azure:eventgrid:Topic\n    name: example\n    properties:\n      name: my-eventgrid-topic\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      tags:\n        environment: Production\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.EventGrid` - 2025-02-15\n\n## Import\n\nEventGrid Topic's can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:eventhub/eventGridTopic:EventGridTopic topic1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.EventGrid/topics/topic1\n```\n\n","properties":{"endpoint":{"type":"string","description":"The Endpoint associated with the EventGrid Topic.\n"},"identity":{"$ref":"#/types/azure:eventhub/EventGridTopicIdentity:EventGridTopicIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"inboundIpRules":{"type":"array","items":{"$ref":"#/types/azure:eventhub/EventGridTopicInboundIpRule:EventGridTopicInboundIpRule"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`inboundIpRule`\" pulumi-lang-dotnet=\"`InboundIpRule`\" pulumi-lang-go=\"`inboundIpRule`\" pulumi-lang-python=\"`inbound_ip_rule`\" pulumi-lang-yaml=\"`inboundIpRule`\" pulumi-lang-java=\"`inboundIpRule`\"\u003e`inbound_ip_rule`\u003c/span\u003e blocks as defined below.\n"},"inputMappingDefaultValues":{"$ref":"#/types/azure:eventhub/EventGridTopicInputMappingDefaultValues:EventGridTopicInputMappingDefaultValues","description":"A \u003cspan pulumi-lang-nodejs=\"`inputMappingDefaultValues`\" pulumi-lang-dotnet=\"`InputMappingDefaultValues`\" pulumi-lang-go=\"`inputMappingDefaultValues`\" pulumi-lang-python=\"`input_mapping_default_values`\" pulumi-lang-yaml=\"`inputMappingDefaultValues`\" pulumi-lang-java=\"`inputMappingDefaultValues`\"\u003e`input_mapping_default_values`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n"},"inputMappingFields":{"$ref":"#/types/azure:eventhub/EventGridTopicInputMappingFields:EventGridTopicInputMappingFields","description":"A \u003cspan pulumi-lang-nodejs=\"`inputMappingFields`\" pulumi-lang-dotnet=\"`InputMappingFields`\" pulumi-lang-go=\"`inputMappingFields`\" pulumi-lang-python=\"`input_mapping_fields`\" pulumi-lang-yaml=\"`inputMappingFields`\" pulumi-lang-java=\"`inputMappingFields`\"\u003e`input_mapping_fields`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n"},"inputSchema":{"type":"string","description":"Specifies the schema in which incoming events will be published to this domain. Allowed values are `CloudEventSchemaV1_0`, `CustomEventSchema`, or `EventGridSchema`. Defaults to `EventGridSchema`. Changing this forces a new resource to be created.\n"},"localAuthEnabled":{"type":"boolean","description":"Whether local authentication methods is enabled for the EventGrid Topic. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"Specifies the name of the EventGrid Topic resource. Changing this forces a new resource to be created.\n"},"primaryAccessKey":{"type":"string","description":"The Primary Shared Access Key associated with the EventGrid Topic.\n","secret":true},"publicNetworkAccessEnabled":{"type":"boolean","description":"Whether or not public network access is allowed for this server. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the EventGrid Topic exists. Changing this forces a new resource to be created.\n"},"secondaryAccessKey":{"type":"string","description":"The Secondary Shared Access Key associated with the EventGrid Topic.\n","secret":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"required":["endpoint","location","name","primaryAccessKey","resourceGroupName","secondaryAccessKey"],"inputProperties":{"identity":{"$ref":"#/types/azure:eventhub/EventGridTopicIdentity:EventGridTopicIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"inboundIpRules":{"type":"array","items":{"$ref":"#/types/azure:eventhub/EventGridTopicInboundIpRule:EventGridTopicInboundIpRule"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`inboundIpRule`\" pulumi-lang-dotnet=\"`InboundIpRule`\" pulumi-lang-go=\"`inboundIpRule`\" pulumi-lang-python=\"`inbound_ip_rule`\" pulumi-lang-yaml=\"`inboundIpRule`\" pulumi-lang-java=\"`inboundIpRule`\"\u003e`inbound_ip_rule`\u003c/span\u003e blocks as defined below.\n"},"inputMappingDefaultValues":{"$ref":"#/types/azure:eventhub/EventGridTopicInputMappingDefaultValues:EventGridTopicInputMappingDefaultValues","description":"A \u003cspan pulumi-lang-nodejs=\"`inputMappingDefaultValues`\" pulumi-lang-dotnet=\"`InputMappingDefaultValues`\" pulumi-lang-go=\"`inputMappingDefaultValues`\" pulumi-lang-python=\"`input_mapping_default_values`\" pulumi-lang-yaml=\"`inputMappingDefaultValues`\" pulumi-lang-java=\"`inputMappingDefaultValues`\"\u003e`input_mapping_default_values`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"inputMappingFields":{"$ref":"#/types/azure:eventhub/EventGridTopicInputMappingFields:EventGridTopicInputMappingFields","description":"A \u003cspan pulumi-lang-nodejs=\"`inputMappingFields`\" pulumi-lang-dotnet=\"`InputMappingFields`\" pulumi-lang-go=\"`inputMappingFields`\" pulumi-lang-python=\"`input_mapping_fields`\" pulumi-lang-yaml=\"`inputMappingFields`\" pulumi-lang-java=\"`inputMappingFields`\"\u003e`input_mapping_fields`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"inputSchema":{"type":"string","description":"Specifies the schema in which incoming events will be published to this domain. Allowed values are `CloudEventSchemaV1_0`, `CustomEventSchema`, or `EventGridSchema`. Defaults to `EventGridSchema`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"localAuthEnabled":{"type":"boolean","description":"Whether local authentication methods is enabled for the EventGrid Topic. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the EventGrid Topic resource. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"publicNetworkAccessEnabled":{"type":"boolean","description":"Whether or not public network access is allowed for this server. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the EventGrid Topic exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"requiredInputs":["resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering EventGridTopic resources.\n","properties":{"endpoint":{"type":"string","description":"The Endpoint associated with the EventGrid Topic.\n"},"identity":{"$ref":"#/types/azure:eventhub/EventGridTopicIdentity:EventGridTopicIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"inboundIpRules":{"type":"array","items":{"$ref":"#/types/azure:eventhub/EventGridTopicInboundIpRule:EventGridTopicInboundIpRule"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`inboundIpRule`\" pulumi-lang-dotnet=\"`InboundIpRule`\" pulumi-lang-go=\"`inboundIpRule`\" pulumi-lang-python=\"`inbound_ip_rule`\" pulumi-lang-yaml=\"`inboundIpRule`\" pulumi-lang-java=\"`inboundIpRule`\"\u003e`inbound_ip_rule`\u003c/span\u003e blocks as defined below.\n"},"inputMappingDefaultValues":{"$ref":"#/types/azure:eventhub/EventGridTopicInputMappingDefaultValues:EventGridTopicInputMappingDefaultValues","description":"A \u003cspan pulumi-lang-nodejs=\"`inputMappingDefaultValues`\" pulumi-lang-dotnet=\"`InputMappingDefaultValues`\" pulumi-lang-go=\"`inputMappingDefaultValues`\" pulumi-lang-python=\"`input_mapping_default_values`\" pulumi-lang-yaml=\"`inputMappingDefaultValues`\" pulumi-lang-java=\"`inputMappingDefaultValues`\"\u003e`input_mapping_default_values`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"inputMappingFields":{"$ref":"#/types/azure:eventhub/EventGridTopicInputMappingFields:EventGridTopicInputMappingFields","description":"A \u003cspan pulumi-lang-nodejs=\"`inputMappingFields`\" pulumi-lang-dotnet=\"`InputMappingFields`\" pulumi-lang-go=\"`inputMappingFields`\" pulumi-lang-python=\"`input_mapping_fields`\" pulumi-lang-yaml=\"`inputMappingFields`\" pulumi-lang-java=\"`inputMappingFields`\"\u003e`input_mapping_fields`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"inputSchema":{"type":"string","description":"Specifies the schema in which incoming events will be published to this domain. Allowed values are `CloudEventSchemaV1_0`, `CustomEventSchema`, or `EventGridSchema`. Defaults to `EventGridSchema`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"localAuthEnabled":{"type":"boolean","description":"Whether local authentication methods is enabled for the EventGrid Topic. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the EventGrid Topic resource. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"primaryAccessKey":{"type":"string","description":"The Primary Shared Access Key associated with the EventGrid Topic.\n","secret":true},"publicNetworkAccessEnabled":{"type":"boolean","description":"Whether or not public network access is allowed for this server. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the EventGrid Topic exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"secondaryAccessKey":{"type":"string","description":"The Secondary Shared Access Key associated with the EventGrid Topic.\n","secret":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"type":"object"},"deprecationMessage":"azure.eventhub.EventGridTopic has been deprecated in favor of azure.eventgrid.Topic"},"azure:eventhub/eventHub:EventHub":{"description":"Manages a Event Hubs as a nested resource within a Event Hubs namespace.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleEventHubNamespace = new azure.eventhub.EventHubNamespace(\"example\", {\n    name: \"acceptanceTestEventHubNamespace\",\n    location: example.location,\n    resourceGroupName: example.name,\n    sku: \"Standard\",\n    capacity: 1,\n    tags: {\n        environment: \"Production\",\n    },\n});\nconst exampleEventHub = new azure.eventhub.EventHub(\"example\", {\n    name: \"acceptanceTestEventHub\",\n    namespaceId: exampleEventHubNamespace.id,\n    partitionCount: 2,\n    messageRetention: 1,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_event_hub_namespace = azure.eventhub.EventHubNamespace(\"example\",\n    name=\"acceptanceTestEventHubNamespace\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku=\"Standard\",\n    capacity=1,\n    tags={\n        \"environment\": \"Production\",\n    })\nexample_event_hub = azure.eventhub.EventHub(\"example\",\n    name=\"acceptanceTestEventHub\",\n    namespace_id=example_event_hub_namespace.id,\n    partition_count=2,\n    message_retention=1)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleEventHubNamespace = new Azure.EventHub.EventHubNamespace(\"example\", new()\n    {\n        Name = \"acceptanceTestEventHubNamespace\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Sku = \"Standard\",\n        Capacity = 1,\n        Tags = \n        {\n            { \"environment\", \"Production\" },\n        },\n    });\n\n    var exampleEventHub = new Azure.EventHub.EventHub(\"example\", new()\n    {\n        Name = \"acceptanceTestEventHub\",\n        NamespaceId = exampleEventHubNamespace.Id,\n        PartitionCount = 2,\n        MessageRetention = 1,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/eventhub\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleEventHubNamespace, err := eventhub.NewEventHubNamespace(ctx, \"example\", \u0026eventhub.EventHubNamespaceArgs{\n\t\t\tName:              pulumi.String(\"acceptanceTestEventHubNamespace\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSku:               pulumi.String(\"Standard\"),\n\t\t\tCapacity:          pulumi.Int(1),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"environment\": pulumi.String(\"Production\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = eventhub.NewEventHub(ctx, \"example\", \u0026eventhub.EventHubArgs{\n\t\t\tName:             pulumi.String(\"acceptanceTestEventHub\"),\n\t\t\tNamespaceId:      exampleEventHubNamespace.ID(),\n\t\t\tPartitionCount:   pulumi.Int(2),\n\t\t\tMessageRetention: pulumi.Int(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.eventhub.EventHubNamespace;\nimport com.pulumi.azure.eventhub.EventHubNamespaceArgs;\nimport com.pulumi.azure.eventhub.EventHub;\nimport com.pulumi.azure.eventhub.EventHubArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleEventHubNamespace = new EventHubNamespace(\"exampleEventHubNamespace\", EventHubNamespaceArgs.builder()\n            .name(\"acceptanceTestEventHubNamespace\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .sku(\"Standard\")\n            .capacity(1)\n            .tags(Map.of(\"environment\", \"Production\"))\n            .build());\n\n        var exampleEventHub = new EventHub(\"exampleEventHub\", EventHubArgs.builder()\n            .name(\"acceptanceTestEventHub\")\n            .namespaceId(exampleEventHubNamespace.id())\n            .partitionCount(2)\n            .messageRetention(1)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleEventHubNamespace:\n    type: azure:eventhub:EventHubNamespace\n    name: example\n    properties:\n      name: acceptanceTestEventHubNamespace\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      sku: Standard\n      capacity: 1\n      tags:\n        environment: Production\n  exampleEventHub:\n    type: azure:eventhub:EventHub\n    name: example\n    properties:\n      name: acceptanceTestEventHub\n      namespaceId: ${exampleEventHubNamespace.id}\n      partitionCount: 2\n      messageRetention: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.EventHub` - 2024-01-01\n\n## Import\n\nEventHubs can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:eventhub/eventHub:EventHub eventhub1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.EventHub/namespaces/namespace1/eventhubs/eventhub1\n```\n\n","properties":{"captureDescription":{"$ref":"#/types/azure:eventhub/EventHubCaptureDescription:EventHubCaptureDescription","description":"A \u003cspan pulumi-lang-nodejs=\"`captureDescription`\" pulumi-lang-dotnet=\"`CaptureDescription`\" pulumi-lang-go=\"`captureDescription`\" pulumi-lang-python=\"`capture_description`\" pulumi-lang-yaml=\"`captureDescription`\" pulumi-lang-java=\"`captureDescription`\"\u003e`capture_description`\u003c/span\u003e block as defined below.\n"},"messageRetention":{"type":"integer","description":"Specifies the number of days to retain the events for this Event Hub.\n\n\u003e **Note:** When using a dedicated Event Hubs cluster, maximum value of \u003cspan pulumi-lang-nodejs=\"`messageRetention`\" pulumi-lang-dotnet=\"`MessageRetention`\" pulumi-lang-go=\"`messageRetention`\" pulumi-lang-python=\"`message_retention`\" pulumi-lang-yaml=\"`messageRetention`\" pulumi-lang-java=\"`messageRetention`\"\u003e`message_retention`\u003c/span\u003e is 90 days. When using a shared parent EventHub Namespace, maximum value is 7 days; or 1 day when using a Basic SKU for the shared parent EventHub Namespace.\n"},"name":{"type":"string","description":"Specifies the name of the EventHub resource. Changing this forces a new resource to be created.\n"},"namespaceId":{"type":"string","description":"Specifies the ID of the EventHub Namespace.\n"},"namespaceName":{"type":"string","deprecationMessage":"\u003cspan pulumi-lang-nodejs=\"`namespaceName`\" pulumi-lang-dotnet=\"`NamespaceName`\" pulumi-lang-go=\"`namespaceName`\" pulumi-lang-python=\"`namespace_name`\" pulumi-lang-yaml=\"`namespaceName`\" pulumi-lang-java=\"`namespaceName`\"\u003e`namespace_name`\u003c/span\u003e has been deprecated in favour of \u003cspan pulumi-lang-nodejs=\"`namespaceId`\" pulumi-lang-dotnet=\"`NamespaceId`\" pulumi-lang-go=\"`namespaceId`\" pulumi-lang-python=\"`namespace_id`\" pulumi-lang-yaml=\"`namespaceId`\" pulumi-lang-java=\"`namespaceId`\"\u003e`namespace_id`\u003c/span\u003e and will be removed in v5.0 of the AzureRM Provider"},"partitionCount":{"type":"integer","description":"Specifies the current number of shards on the Event Hub.\n\n\u003e **Note:** When using a shared parent EventHub Namespace, \u003cspan pulumi-lang-nodejs=\"`partitionCount`\" pulumi-lang-dotnet=\"`PartitionCount`\" pulumi-lang-go=\"`partitionCount`\" pulumi-lang-python=\"`partition_count`\" pulumi-lang-yaml=\"`partitionCount`\" pulumi-lang-java=\"`partitionCount`\"\u003e`partition_count`\u003c/span\u003e cannot be changed unless the Eventhub Namespace SKU is `Premium`. When using a dedicated Event Hubs cluster, this restriction doesn't apply. In either case though, the \u003cspan pulumi-lang-nodejs=\"`partitionCount`\" pulumi-lang-dotnet=\"`PartitionCount`\" pulumi-lang-go=\"`partitionCount`\" pulumi-lang-python=\"`partition_count`\" pulumi-lang-yaml=\"`partitionCount`\" pulumi-lang-java=\"`partitionCount`\"\u003e`partition_count`\u003c/span\u003e cannot be decreased.\n\n\u003e **Note:** When using a dedicated Event Hubs cluster, maximum value of \u003cspan pulumi-lang-nodejs=\"`partitionCount`\" pulumi-lang-dotnet=\"`PartitionCount`\" pulumi-lang-go=\"`partitionCount`\" pulumi-lang-python=\"`partition_count`\" pulumi-lang-yaml=\"`partitionCount`\" pulumi-lang-java=\"`partitionCount`\"\u003e`partition_count`\u003c/span\u003e is 1024. When using a shared parent EventHub Namespace, maximum value is 32.\n"},"partitionIds":{"type":"array","items":{"type":"string"},"description":"The identifiers for partitions created for Event Hubs.\n"},"resourceGroupName":{"type":"string","deprecationMessage":"\u003cspan pulumi-lang-nodejs=\"`resourceGroupName`\" pulumi-lang-dotnet=\"`ResourceGroupName`\" pulumi-lang-go=\"`resourceGroupName`\" pulumi-lang-python=\"`resource_group_name`\" pulumi-lang-yaml=\"`resourceGroupName`\" pulumi-lang-java=\"`resourceGroupName`\"\u003e`resource_group_name`\u003c/span\u003e has been deprecated in favour of \u003cspan pulumi-lang-nodejs=\"`namespaceId`\" pulumi-lang-dotnet=\"`NamespaceId`\" pulumi-lang-go=\"`namespaceId`\" pulumi-lang-python=\"`namespace_id`\" pulumi-lang-yaml=\"`namespaceId`\" pulumi-lang-java=\"`namespaceId`\"\u003e`namespace_id`\u003c/span\u003e and will be removed in v5.0 of the AzureRM Provider"},"retentionDescription":{"$ref":"#/types/azure:eventhub/EventHubRetentionDescription:EventHubRetentionDescription","description":"A \u003cspan pulumi-lang-nodejs=\"`retentionDescription`\" pulumi-lang-dotnet=\"`RetentionDescription`\" pulumi-lang-go=\"`retentionDescription`\" pulumi-lang-python=\"`retention_description`\" pulumi-lang-yaml=\"`retentionDescription`\" pulumi-lang-java=\"`retentionDescription`\"\u003e`retention_description`\u003c/span\u003e block as defined below.\n"},"status":{"type":"string","description":"Specifies the status of the Event Hub resource. Possible values are `Active`, `Disabled` and `SendDisabled`. Defaults to `Active`.\n"}},"required":["messageRetention","name","namespaceId","namespaceName","partitionCount","partitionIds","resourceGroupName","retentionDescription"],"inputProperties":{"captureDescription":{"$ref":"#/types/azure:eventhub/EventHubCaptureDescription:EventHubCaptureDescription","description":"A \u003cspan pulumi-lang-nodejs=\"`captureDescription`\" pulumi-lang-dotnet=\"`CaptureDescription`\" pulumi-lang-go=\"`captureDescription`\" pulumi-lang-python=\"`capture_description`\" pulumi-lang-yaml=\"`captureDescription`\" pulumi-lang-java=\"`captureDescription`\"\u003e`capture_description`\u003c/span\u003e block as defined below.\n"},"messageRetention":{"type":"integer","description":"Specifies the number of days to retain the events for this Event Hub.\n\n\u003e **Note:** When using a dedicated Event Hubs cluster, maximum value of \u003cspan pulumi-lang-nodejs=\"`messageRetention`\" pulumi-lang-dotnet=\"`MessageRetention`\" pulumi-lang-go=\"`messageRetention`\" pulumi-lang-python=\"`message_retention`\" pulumi-lang-yaml=\"`messageRetention`\" pulumi-lang-java=\"`messageRetention`\"\u003e`message_retention`\u003c/span\u003e is 90 days. When using a shared parent EventHub Namespace, maximum value is 7 days; or 1 day when using a Basic SKU for the shared parent EventHub Namespace.\n"},"name":{"type":"string","description":"Specifies the name of the EventHub resource. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"namespaceId":{"type":"string","description":"Specifies the ID of the EventHub Namespace.\n"},"namespaceName":{"type":"string","deprecationMessage":"\u003cspan pulumi-lang-nodejs=\"`namespaceName`\" pulumi-lang-dotnet=\"`NamespaceName`\" pulumi-lang-go=\"`namespaceName`\" pulumi-lang-python=\"`namespace_name`\" pulumi-lang-yaml=\"`namespaceName`\" pulumi-lang-java=\"`namespaceName`\"\u003e`namespace_name`\u003c/span\u003e has been deprecated in favour of \u003cspan pulumi-lang-nodejs=\"`namespaceId`\" pulumi-lang-dotnet=\"`NamespaceId`\" pulumi-lang-go=\"`namespaceId`\" pulumi-lang-python=\"`namespace_id`\" pulumi-lang-yaml=\"`namespaceId`\" pulumi-lang-java=\"`namespaceId`\"\u003e`namespace_id`\u003c/span\u003e and will be removed in v5.0 of the AzureRM Provider"},"partitionCount":{"type":"integer","description":"Specifies the current number of shards on the Event Hub.\n\n\u003e **Note:** When using a shared parent EventHub Namespace, \u003cspan pulumi-lang-nodejs=\"`partitionCount`\" pulumi-lang-dotnet=\"`PartitionCount`\" pulumi-lang-go=\"`partitionCount`\" pulumi-lang-python=\"`partition_count`\" pulumi-lang-yaml=\"`partitionCount`\" pulumi-lang-java=\"`partitionCount`\"\u003e`partition_count`\u003c/span\u003e cannot be changed unless the Eventhub Namespace SKU is `Premium`. When using a dedicated Event Hubs cluster, this restriction doesn't apply. In either case though, the \u003cspan pulumi-lang-nodejs=\"`partitionCount`\" pulumi-lang-dotnet=\"`PartitionCount`\" pulumi-lang-go=\"`partitionCount`\" pulumi-lang-python=\"`partition_count`\" pulumi-lang-yaml=\"`partitionCount`\" pulumi-lang-java=\"`partitionCount`\"\u003e`partition_count`\u003c/span\u003e cannot be decreased.\n\n\u003e **Note:** When using a dedicated Event Hubs cluster, maximum value of \u003cspan pulumi-lang-nodejs=\"`partitionCount`\" pulumi-lang-dotnet=\"`PartitionCount`\" pulumi-lang-go=\"`partitionCount`\" pulumi-lang-python=\"`partition_count`\" pulumi-lang-yaml=\"`partitionCount`\" pulumi-lang-java=\"`partitionCount`\"\u003e`partition_count`\u003c/span\u003e is 1024. When using a shared parent EventHub Namespace, maximum value is 32.\n"},"resourceGroupName":{"type":"string","deprecationMessage":"\u003cspan pulumi-lang-nodejs=\"`resourceGroupName`\" pulumi-lang-dotnet=\"`ResourceGroupName`\" pulumi-lang-go=\"`resourceGroupName`\" pulumi-lang-python=\"`resource_group_name`\" pulumi-lang-yaml=\"`resourceGroupName`\" pulumi-lang-java=\"`resourceGroupName`\"\u003e`resource_group_name`\u003c/span\u003e has been deprecated in favour of \u003cspan pulumi-lang-nodejs=\"`namespaceId`\" pulumi-lang-dotnet=\"`NamespaceId`\" pulumi-lang-go=\"`namespaceId`\" pulumi-lang-python=\"`namespace_id`\" pulumi-lang-yaml=\"`namespaceId`\" pulumi-lang-java=\"`namespaceId`\"\u003e`namespace_id`\u003c/span\u003e and will be removed in v5.0 of the AzureRM Provider"},"retentionDescription":{"$ref":"#/types/azure:eventhub/EventHubRetentionDescription:EventHubRetentionDescription","description":"A \u003cspan pulumi-lang-nodejs=\"`retentionDescription`\" pulumi-lang-dotnet=\"`RetentionDescription`\" pulumi-lang-go=\"`retentionDescription`\" pulumi-lang-python=\"`retention_description`\" pulumi-lang-yaml=\"`retentionDescription`\" pulumi-lang-java=\"`retentionDescription`\"\u003e`retention_description`\u003c/span\u003e block as defined below.\n"},"status":{"type":"string","description":"Specifies the status of the Event Hub resource. Possible values are `Active`, `Disabled` and `SendDisabled`. Defaults to `Active`.\n"}},"requiredInputs":["partitionCount"],"stateInputs":{"description":"Input properties used for looking up and filtering EventHub resources.\n","properties":{"captureDescription":{"$ref":"#/types/azure:eventhub/EventHubCaptureDescription:EventHubCaptureDescription","description":"A \u003cspan pulumi-lang-nodejs=\"`captureDescription`\" pulumi-lang-dotnet=\"`CaptureDescription`\" pulumi-lang-go=\"`captureDescription`\" pulumi-lang-python=\"`capture_description`\" pulumi-lang-yaml=\"`captureDescription`\" pulumi-lang-java=\"`captureDescription`\"\u003e`capture_description`\u003c/span\u003e block as defined below.\n"},"messageRetention":{"type":"integer","description":"Specifies the number of days to retain the events for this Event Hub.\n\n\u003e **Note:** When using a dedicated Event Hubs cluster, maximum value of \u003cspan pulumi-lang-nodejs=\"`messageRetention`\" pulumi-lang-dotnet=\"`MessageRetention`\" pulumi-lang-go=\"`messageRetention`\" pulumi-lang-python=\"`message_retention`\" pulumi-lang-yaml=\"`messageRetention`\" pulumi-lang-java=\"`messageRetention`\"\u003e`message_retention`\u003c/span\u003e is 90 days. When using a shared parent EventHub Namespace, maximum value is 7 days; or 1 day when using a Basic SKU for the shared parent EventHub Namespace.\n"},"name":{"type":"string","description":"Specifies the name of the EventHub resource. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"namespaceId":{"type":"string","description":"Specifies the ID of the EventHub Namespace.\n"},"namespaceName":{"type":"string","deprecationMessage":"\u003cspan pulumi-lang-nodejs=\"`namespaceName`\" pulumi-lang-dotnet=\"`NamespaceName`\" pulumi-lang-go=\"`namespaceName`\" pulumi-lang-python=\"`namespace_name`\" pulumi-lang-yaml=\"`namespaceName`\" pulumi-lang-java=\"`namespaceName`\"\u003e`namespace_name`\u003c/span\u003e has been deprecated in favour of \u003cspan pulumi-lang-nodejs=\"`namespaceId`\" pulumi-lang-dotnet=\"`NamespaceId`\" pulumi-lang-go=\"`namespaceId`\" pulumi-lang-python=\"`namespace_id`\" pulumi-lang-yaml=\"`namespaceId`\" pulumi-lang-java=\"`namespaceId`\"\u003e`namespace_id`\u003c/span\u003e and will be removed in v5.0 of the AzureRM Provider"},"partitionCount":{"type":"integer","description":"Specifies the current number of shards on the Event Hub.\n\n\u003e **Note:** When using a shared parent EventHub Namespace, \u003cspan pulumi-lang-nodejs=\"`partitionCount`\" pulumi-lang-dotnet=\"`PartitionCount`\" pulumi-lang-go=\"`partitionCount`\" pulumi-lang-python=\"`partition_count`\" pulumi-lang-yaml=\"`partitionCount`\" pulumi-lang-java=\"`partitionCount`\"\u003e`partition_count`\u003c/span\u003e cannot be changed unless the Eventhub Namespace SKU is `Premium`. When using a dedicated Event Hubs cluster, this restriction doesn't apply. In either case though, the \u003cspan pulumi-lang-nodejs=\"`partitionCount`\" pulumi-lang-dotnet=\"`PartitionCount`\" pulumi-lang-go=\"`partitionCount`\" pulumi-lang-python=\"`partition_count`\" pulumi-lang-yaml=\"`partitionCount`\" pulumi-lang-java=\"`partitionCount`\"\u003e`partition_count`\u003c/span\u003e cannot be decreased.\n\n\u003e **Note:** When using a dedicated Event Hubs cluster, maximum value of \u003cspan pulumi-lang-nodejs=\"`partitionCount`\" pulumi-lang-dotnet=\"`PartitionCount`\" pulumi-lang-go=\"`partitionCount`\" pulumi-lang-python=\"`partition_count`\" pulumi-lang-yaml=\"`partitionCount`\" pulumi-lang-java=\"`partitionCount`\"\u003e`partition_count`\u003c/span\u003e is 1024. When using a shared parent EventHub Namespace, maximum value is 32.\n"},"partitionIds":{"type":"array","items":{"type":"string"},"description":"The identifiers for partitions created for Event Hubs.\n"},"resourceGroupName":{"type":"string","deprecationMessage":"\u003cspan pulumi-lang-nodejs=\"`resourceGroupName`\" pulumi-lang-dotnet=\"`ResourceGroupName`\" pulumi-lang-go=\"`resourceGroupName`\" pulumi-lang-python=\"`resource_group_name`\" pulumi-lang-yaml=\"`resourceGroupName`\" pulumi-lang-java=\"`resourceGroupName`\"\u003e`resource_group_name`\u003c/span\u003e has been deprecated in favour of \u003cspan pulumi-lang-nodejs=\"`namespaceId`\" pulumi-lang-dotnet=\"`NamespaceId`\" pulumi-lang-go=\"`namespaceId`\" pulumi-lang-python=\"`namespace_id`\" pulumi-lang-yaml=\"`namespaceId`\" pulumi-lang-java=\"`namespaceId`\"\u003e`namespace_id`\u003c/span\u003e and will be removed in v5.0 of the AzureRM Provider"},"retentionDescription":{"$ref":"#/types/azure:eventhub/EventHubRetentionDescription:EventHubRetentionDescription","description":"A \u003cspan pulumi-lang-nodejs=\"`retentionDescription`\" pulumi-lang-dotnet=\"`RetentionDescription`\" pulumi-lang-go=\"`retentionDescription`\" pulumi-lang-python=\"`retention_description`\" pulumi-lang-yaml=\"`retentionDescription`\" pulumi-lang-java=\"`retentionDescription`\"\u003e`retention_description`\u003c/span\u003e block as defined below.\n"},"status":{"type":"string","description":"Specifies the status of the Event Hub resource. Possible values are `Active`, `Disabled` and `SendDisabled`. Defaults to `Active`.\n"}},"type":"object"}},"azure:eventhub/eventHubAuthorizationRule:EventHubAuthorizationRule":{"description":"Manages a Event Hubs authorization Rule within an Event Hub.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleEventHubNamespace = new azure.eventhub.EventHubNamespace(\"example\", {\n    name: \"acceptanceTestEventHubNamespace\",\n    location: example.location,\n    resourceGroupName: example.name,\n    sku: \"Basic\",\n    capacity: 2,\n    tags: {\n        environment: \"Production\",\n    },\n});\nconst exampleEventHub = new azure.eventhub.EventHub(\"example\", {\n    name: \"acceptanceTestEventHub\",\n    namespaceName: exampleEventHubNamespace.name,\n    resourceGroupName: example.name,\n    partitionCount: 2,\n    messageRetention: 2,\n});\nconst exampleAuthorizationRule = new azure.eventhub.AuthorizationRule(\"example\", {\n    name: \"navi\",\n    namespaceName: exampleEventHubNamespace.name,\n    eventhubName: exampleEventHub.name,\n    resourceGroupName: example.name,\n    listen: true,\n    send: false,\n    manage: false,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_event_hub_namespace = azure.eventhub.EventHubNamespace(\"example\",\n    name=\"acceptanceTestEventHubNamespace\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku=\"Basic\",\n    capacity=2,\n    tags={\n        \"environment\": \"Production\",\n    })\nexample_event_hub = azure.eventhub.EventHub(\"example\",\n    name=\"acceptanceTestEventHub\",\n    namespace_name=example_event_hub_namespace.name,\n    resource_group_name=example.name,\n    partition_count=2,\n    message_retention=2)\nexample_authorization_rule = azure.eventhub.AuthorizationRule(\"example\",\n    name=\"navi\",\n    namespace_name=example_event_hub_namespace.name,\n    eventhub_name=example_event_hub.name,\n    resource_group_name=example.name,\n    listen=True,\n    send=False,\n    manage=False)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleEventHubNamespace = new Azure.EventHub.EventHubNamespace(\"example\", new()\n    {\n        Name = \"acceptanceTestEventHubNamespace\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Sku = \"Basic\",\n        Capacity = 2,\n        Tags = \n        {\n            { \"environment\", \"Production\" },\n        },\n    });\n\n    var exampleEventHub = new Azure.EventHub.EventHub(\"example\", new()\n    {\n        Name = \"acceptanceTestEventHub\",\n        NamespaceName = exampleEventHubNamespace.Name,\n        ResourceGroupName = example.Name,\n        PartitionCount = 2,\n        MessageRetention = 2,\n    });\n\n    var exampleAuthorizationRule = new Azure.EventHub.AuthorizationRule(\"example\", new()\n    {\n        Name = \"navi\",\n        NamespaceName = exampleEventHubNamespace.Name,\n        EventhubName = exampleEventHub.Name,\n        ResourceGroupName = example.Name,\n        Listen = true,\n        Send = false,\n        Manage = false,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/eventhub\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleEventHubNamespace, err := eventhub.NewEventHubNamespace(ctx, \"example\", \u0026eventhub.EventHubNamespaceArgs{\n\t\t\tName:              pulumi.String(\"acceptanceTestEventHubNamespace\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSku:               pulumi.String(\"Basic\"),\n\t\t\tCapacity:          pulumi.Int(2),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"environment\": pulumi.String(\"Production\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleEventHub, err := eventhub.NewEventHub(ctx, \"example\", \u0026eventhub.EventHubArgs{\n\t\t\tName:              pulumi.String(\"acceptanceTestEventHub\"),\n\t\t\tNamespaceName:     exampleEventHubNamespace.Name,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tPartitionCount:    pulumi.Int(2),\n\t\t\tMessageRetention:  pulumi.Int(2),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = eventhub.NewAuthorizationRule(ctx, \"example\", \u0026eventhub.AuthorizationRuleArgs{\n\t\t\tName:              pulumi.String(\"navi\"),\n\t\t\tNamespaceName:     exampleEventHubNamespace.Name,\n\t\t\tEventhubName:      exampleEventHub.Name,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tListen:            pulumi.Bool(true),\n\t\t\tSend:              pulumi.Bool(false),\n\t\t\tManage:            pulumi.Bool(false),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.eventhub.EventHubNamespace;\nimport com.pulumi.azure.eventhub.EventHubNamespaceArgs;\nimport com.pulumi.azure.eventhub.EventHub;\nimport com.pulumi.azure.eventhub.EventHubArgs;\nimport com.pulumi.azure.eventhub.AuthorizationRule;\nimport com.pulumi.azure.eventhub.AuthorizationRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleEventHubNamespace = new EventHubNamespace(\"exampleEventHubNamespace\", EventHubNamespaceArgs.builder()\n            .name(\"acceptanceTestEventHubNamespace\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .sku(\"Basic\")\n            .capacity(2)\n            .tags(Map.of(\"environment\", \"Production\"))\n            .build());\n\n        var exampleEventHub = new EventHub(\"exampleEventHub\", EventHubArgs.builder()\n            .name(\"acceptanceTestEventHub\")\n            .namespaceName(exampleEventHubNamespace.name())\n            .resourceGroupName(example.name())\n            .partitionCount(2)\n            .messageRetention(2)\n            .build());\n\n        var exampleAuthorizationRule = new AuthorizationRule(\"exampleAuthorizationRule\", AuthorizationRuleArgs.builder()\n            .name(\"navi\")\n            .namespaceName(exampleEventHubNamespace.name())\n            .eventhubName(exampleEventHub.name())\n            .resourceGroupName(example.name())\n            .listen(true)\n            .send(false)\n            .manage(false)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleEventHubNamespace:\n    type: azure:eventhub:EventHubNamespace\n    name: example\n    properties:\n      name: acceptanceTestEventHubNamespace\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      sku: Basic\n      capacity: 2\n      tags:\n        environment: Production\n  exampleEventHub:\n    type: azure:eventhub:EventHub\n    name: example\n    properties:\n      name: acceptanceTestEventHub\n      namespaceName: ${exampleEventHubNamespace.name}\n      resourceGroupName: ${example.name}\n      partitionCount: 2\n      messageRetention: 2\n  exampleAuthorizationRule:\n    type: azure:eventhub:AuthorizationRule\n    name: example\n    properties:\n      name: navi\n      namespaceName: ${exampleEventHubNamespace.name}\n      eventhubName: ${exampleEventHub.name}\n      resourceGroupName: ${example.name}\n      listen: true\n      send: false\n      manage: false\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.EventHub` - 2024-01-01\n\n## Import\n\nEventHub Authorization Rules can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:eventhub/eventHubAuthorizationRule:EventHubAuthorizationRule rule1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.EventHub/namespaces/namespace1/eventhubs/eventhub1/authorizationRules/rule1\n```\n\n","properties":{"eventhubName":{"type":"string","description":"Specifies the name of the EventHub. Changing this forces a new resource to be created.\n"},"listen":{"type":"boolean","description":"Does this Authorization Rule have permissions to Listen to the Event Hub? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"manage":{"type":"boolean","description":"Does this Authorization Rule have permissions to Manage to the Event Hub? When this property is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e - both \u003cspan pulumi-lang-nodejs=\"`listen`\" pulumi-lang-dotnet=\"`Listen`\" pulumi-lang-go=\"`listen`\" pulumi-lang-python=\"`listen`\" pulumi-lang-yaml=\"`listen`\" pulumi-lang-java=\"`listen`\"\u003e`listen`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`send`\" pulumi-lang-dotnet=\"`Send`\" pulumi-lang-go=\"`send`\" pulumi-lang-python=\"`send`\" pulumi-lang-yaml=\"`send`\" pulumi-lang-java=\"`send`\"\u003e`send`\u003c/span\u003e must be too. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"name":{"type":"string","description":"Specifies the name of the EventHub Authorization Rule resource. Changing this forces a new resource to be created.\n"},"namespaceName":{"type":"string","description":"Specifies the name of the grandparent EventHub Namespace. Changing this forces a new resource to be created.\n"},"primaryConnectionString":{"type":"string","description":"The Primary Connection String for the Event Hubs authorization Rule.\n","secret":true},"primaryConnectionStringAlias":{"type":"string","description":"The alias of the Primary Connection String for the Event Hubs authorization Rule, which is generated when disaster recovery is enabled.\n","secret":true},"primaryKey":{"type":"string","description":"The Primary Key for the Event Hubs authorization Rule.\n","secret":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the EventHub Namespace exists. Changing this forces a new resource to be created.\n\n\u003e **Note:** At least one of the 3 permissions below needs to be set.\n"},"secondaryConnectionString":{"type":"string","description":"The Secondary Connection String for the Event Hubs Authorization Rule.\n","secret":true},"secondaryConnectionStringAlias":{"type":"string","description":"The alias of the Secondary Connection String for the Event Hubs Authorization Rule, which is generated when disaster recovery is enabled.\n","secret":true},"secondaryKey":{"type":"string","description":"The Secondary Key for the Event Hubs Authorization Rule.\n","secret":true},"send":{"type":"boolean","description":"Does this Authorization Rule have permissions to Send to the Event Hub? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"}},"required":["eventhubName","name","namespaceName","primaryConnectionString","primaryConnectionStringAlias","primaryKey","resourceGroupName","secondaryConnectionString","secondaryConnectionStringAlias","secondaryKey"],"inputProperties":{"eventhubName":{"type":"string","description":"Specifies the name of the EventHub. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"listen":{"type":"boolean","description":"Does this Authorization Rule have permissions to Listen to the Event Hub? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"manage":{"type":"boolean","description":"Does this Authorization Rule have permissions to Manage to the Event Hub? When this property is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e - both \u003cspan pulumi-lang-nodejs=\"`listen`\" pulumi-lang-dotnet=\"`Listen`\" pulumi-lang-go=\"`listen`\" pulumi-lang-python=\"`listen`\" pulumi-lang-yaml=\"`listen`\" pulumi-lang-java=\"`listen`\"\u003e`listen`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`send`\" pulumi-lang-dotnet=\"`Send`\" pulumi-lang-go=\"`send`\" pulumi-lang-python=\"`send`\" pulumi-lang-yaml=\"`send`\" pulumi-lang-java=\"`send`\"\u003e`send`\u003c/span\u003e must be too. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"name":{"type":"string","description":"Specifies the name of the EventHub Authorization Rule resource. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"namespaceName":{"type":"string","description":"Specifies the name of the grandparent EventHub Namespace. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the EventHub Namespace exists. Changing this forces a new resource to be created.\n\n\u003e **Note:** At least one of the 3 permissions below needs to be set.\n","willReplaceOnChanges":true},"send":{"type":"boolean","description":"Does this Authorization Rule have permissions to Send to the Event Hub? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"}},"requiredInputs":["eventhubName","namespaceName","resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering EventHubAuthorizationRule resources.\n","properties":{"eventhubName":{"type":"string","description":"Specifies the name of the EventHub. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"listen":{"type":"boolean","description":"Does this Authorization Rule have permissions to Listen to the Event Hub? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"manage":{"type":"boolean","description":"Does this Authorization Rule have permissions to Manage to the Event Hub? When this property is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e - both \u003cspan pulumi-lang-nodejs=\"`listen`\" pulumi-lang-dotnet=\"`Listen`\" pulumi-lang-go=\"`listen`\" pulumi-lang-python=\"`listen`\" pulumi-lang-yaml=\"`listen`\" pulumi-lang-java=\"`listen`\"\u003e`listen`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`send`\" pulumi-lang-dotnet=\"`Send`\" pulumi-lang-go=\"`send`\" pulumi-lang-python=\"`send`\" pulumi-lang-yaml=\"`send`\" pulumi-lang-java=\"`send`\"\u003e`send`\u003c/span\u003e must be too. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"name":{"type":"string","description":"Specifies the name of the EventHub Authorization Rule resource. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"namespaceName":{"type":"string","description":"Specifies the name of the grandparent EventHub Namespace. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"primaryConnectionString":{"type":"string","description":"The Primary Connection String for the Event Hubs authorization Rule.\n","secret":true},"primaryConnectionStringAlias":{"type":"string","description":"The alias of the Primary Connection String for the Event Hubs authorization Rule, which is generated when disaster recovery is enabled.\n","secret":true},"primaryKey":{"type":"string","description":"The Primary Key for the Event Hubs authorization Rule.\n","secret":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the EventHub Namespace exists. Changing this forces a new resource to be created.\n\n\u003e **Note:** At least one of the 3 permissions below needs to be set.\n","willReplaceOnChanges":true},"secondaryConnectionString":{"type":"string","description":"The Secondary Connection String for the Event Hubs Authorization Rule.\n","secret":true},"secondaryConnectionStringAlias":{"type":"string","description":"The alias of the Secondary Connection String for the Event Hubs Authorization Rule, which is generated when disaster recovery is enabled.\n","secret":true},"secondaryKey":{"type":"string","description":"The Secondary Key for the Event Hubs Authorization Rule.\n","secret":true},"send":{"type":"boolean","description":"Does this Authorization Rule have permissions to Send to the Event Hub? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"}},"type":"object"},"deprecationMessage":"azure.eventhub.EventHubAuthorizationRule has been deprecated in favor of azure.eventhub.AuthorizationRule"},"azure:eventhub/eventHubConsumerGroup:EventHubConsumerGroup":{"description":"Manages a Event Hubs Consumer Group as a nested resource within an Event Hub.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleEventHubNamespace = new azure.eventhub.EventHubNamespace(\"example\", {\n    name: \"acceptanceTestEventHubNamespace\",\n    location: example.location,\n    resourceGroupName: example.name,\n    sku: \"Basic\",\n    capacity: 2,\n    tags: {\n        environment: \"Production\",\n    },\n});\nconst exampleEventHub = new azure.eventhub.EventHub(\"example\", {\n    name: \"acceptanceTestEventHub\",\n    namespaceName: exampleEventHubNamespace.name,\n    resourceGroupName: example.name,\n    partitionCount: 2,\n    messageRetention: 2,\n});\nconst exampleConsumerGroup = new azure.eventhub.ConsumerGroup(\"example\", {\n    name: \"acceptanceTestEventHubConsumerGroup\",\n    namespaceName: exampleEventHubNamespace.name,\n    eventhubName: exampleEventHub.name,\n    resourceGroupName: example.name,\n    userMetadata: \"some-meta-data\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_event_hub_namespace = azure.eventhub.EventHubNamespace(\"example\",\n    name=\"acceptanceTestEventHubNamespace\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku=\"Basic\",\n    capacity=2,\n    tags={\n        \"environment\": \"Production\",\n    })\nexample_event_hub = azure.eventhub.EventHub(\"example\",\n    name=\"acceptanceTestEventHub\",\n    namespace_name=example_event_hub_namespace.name,\n    resource_group_name=example.name,\n    partition_count=2,\n    message_retention=2)\nexample_consumer_group = azure.eventhub.ConsumerGroup(\"example\",\n    name=\"acceptanceTestEventHubConsumerGroup\",\n    namespace_name=example_event_hub_namespace.name,\n    eventhub_name=example_event_hub.name,\n    resource_group_name=example.name,\n    user_metadata=\"some-meta-data\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleEventHubNamespace = new Azure.EventHub.EventHubNamespace(\"example\", new()\n    {\n        Name = \"acceptanceTestEventHubNamespace\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Sku = \"Basic\",\n        Capacity = 2,\n        Tags = \n        {\n            { \"environment\", \"Production\" },\n        },\n    });\n\n    var exampleEventHub = new Azure.EventHub.EventHub(\"example\", new()\n    {\n        Name = \"acceptanceTestEventHub\",\n        NamespaceName = exampleEventHubNamespace.Name,\n        ResourceGroupName = example.Name,\n        PartitionCount = 2,\n        MessageRetention = 2,\n    });\n\n    var exampleConsumerGroup = new Azure.EventHub.ConsumerGroup(\"example\", new()\n    {\n        Name = \"acceptanceTestEventHubConsumerGroup\",\n        NamespaceName = exampleEventHubNamespace.Name,\n        EventhubName = exampleEventHub.Name,\n        ResourceGroupName = example.Name,\n        UserMetadata = \"some-meta-data\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/eventhub\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleEventHubNamespace, err := eventhub.NewEventHubNamespace(ctx, \"example\", \u0026eventhub.EventHubNamespaceArgs{\n\t\t\tName:              pulumi.String(\"acceptanceTestEventHubNamespace\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSku:               pulumi.String(\"Basic\"),\n\t\t\tCapacity:          pulumi.Int(2),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"environment\": pulumi.String(\"Production\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleEventHub, err := eventhub.NewEventHub(ctx, \"example\", \u0026eventhub.EventHubArgs{\n\t\t\tName:              pulumi.String(\"acceptanceTestEventHub\"),\n\t\t\tNamespaceName:     exampleEventHubNamespace.Name,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tPartitionCount:    pulumi.Int(2),\n\t\t\tMessageRetention:  pulumi.Int(2),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = eventhub.NewConsumerGroup(ctx, \"example\", \u0026eventhub.ConsumerGroupArgs{\n\t\t\tName:              pulumi.String(\"acceptanceTestEventHubConsumerGroup\"),\n\t\t\tNamespaceName:     exampleEventHubNamespace.Name,\n\t\t\tEventhubName:      exampleEventHub.Name,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tUserMetadata:      pulumi.String(\"some-meta-data\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.eventhub.EventHubNamespace;\nimport com.pulumi.azure.eventhub.EventHubNamespaceArgs;\nimport com.pulumi.azure.eventhub.EventHub;\nimport com.pulumi.azure.eventhub.EventHubArgs;\nimport com.pulumi.azure.eventhub.ConsumerGroup;\nimport com.pulumi.azure.eventhub.ConsumerGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleEventHubNamespace = new EventHubNamespace(\"exampleEventHubNamespace\", EventHubNamespaceArgs.builder()\n            .name(\"acceptanceTestEventHubNamespace\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .sku(\"Basic\")\n            .capacity(2)\n            .tags(Map.of(\"environment\", \"Production\"))\n            .build());\n\n        var exampleEventHub = new EventHub(\"exampleEventHub\", EventHubArgs.builder()\n            .name(\"acceptanceTestEventHub\")\n            .namespaceName(exampleEventHubNamespace.name())\n            .resourceGroupName(example.name())\n            .partitionCount(2)\n            .messageRetention(2)\n            .build());\n\n        var exampleConsumerGroup = new ConsumerGroup(\"exampleConsumerGroup\", ConsumerGroupArgs.builder()\n            .name(\"acceptanceTestEventHubConsumerGroup\")\n            .namespaceName(exampleEventHubNamespace.name())\n            .eventhubName(exampleEventHub.name())\n            .resourceGroupName(example.name())\n            .userMetadata(\"some-meta-data\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleEventHubNamespace:\n    type: azure:eventhub:EventHubNamespace\n    name: example\n    properties:\n      name: acceptanceTestEventHubNamespace\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      sku: Basic\n      capacity: 2\n      tags:\n        environment: Production\n  exampleEventHub:\n    type: azure:eventhub:EventHub\n    name: example\n    properties:\n      name: acceptanceTestEventHub\n      namespaceName: ${exampleEventHubNamespace.name}\n      resourceGroupName: ${example.name}\n      partitionCount: 2\n      messageRetention: 2\n  exampleConsumerGroup:\n    type: azure:eventhub:ConsumerGroup\n    name: example\n    properties:\n      name: acceptanceTestEventHubConsumerGroup\n      namespaceName: ${exampleEventHubNamespace.name}\n      eventhubName: ${exampleEventHub.name}\n      resourceGroupName: ${example.name}\n      userMetadata: some-meta-data\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.EventHub` - 2024-01-01\n\n## Import\n\nEventHub Consumer Groups can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:eventhub/eventHubConsumerGroup:EventHubConsumerGroup consumerGroup1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.EventHub/namespaces/namespace1/eventhubs/eventhub1/consumerGroups/consumerGroup1\n```\n\n","properties":{"eventhubName":{"type":"string","description":"Specifies the name of the EventHub. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"Specifies the name of the EventHub Consumer Group resource. Changing this forces a new resource to be created.\n"},"namespaceName":{"type":"string","description":"Specifies the name of the grandparent EventHub Namespace. Changing this forces a new resource to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the EventHub Consumer Group's grandparent Namespace exists. Changing this forces a new resource to be created.\n"},"userMetadata":{"type":"string","description":"Specifies the user metadata.\n"}},"required":["eventhubName","name","namespaceName","resourceGroupName"],"inputProperties":{"eventhubName":{"type":"string","description":"Specifies the name of the EventHub. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the EventHub Consumer Group resource. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"namespaceName":{"type":"string","description":"Specifies the name of the grandparent EventHub Namespace. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the EventHub Consumer Group's grandparent Namespace exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"userMetadata":{"type":"string","description":"Specifies the user metadata.\n"}},"requiredInputs":["eventhubName","namespaceName","resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering EventHubConsumerGroup resources.\n","properties":{"eventhubName":{"type":"string","description":"Specifies the name of the EventHub. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the EventHub Consumer Group resource. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"namespaceName":{"type":"string","description":"Specifies the name of the grandparent EventHub Namespace. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the EventHub Consumer Group's grandparent Namespace exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"userMetadata":{"type":"string","description":"Specifies the user metadata.\n"}},"type":"object"},"deprecationMessage":"azure.eventhub.EventHubConsumerGroup has been deprecated in favor of azure.eventhub.ConsumerGroup"},"azure:eventhub/eventHubNamespace:EventHubNamespace":{"description":"Manages an EventHub Namespace.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleEventHubNamespace = new azure.eventhub.EventHubNamespace(\"example\", {\n    name: \"example-namespace\",\n    location: example.location,\n    resourceGroupName: example.name,\n    sku: \"Standard\",\n    capacity: 2,\n    tags: {\n        environment: \"Production\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_event_hub_namespace = azure.eventhub.EventHubNamespace(\"example\",\n    name=\"example-namespace\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku=\"Standard\",\n    capacity=2,\n    tags={\n        \"environment\": \"Production\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleEventHubNamespace = new Azure.EventHub.EventHubNamespace(\"example\", new()\n    {\n        Name = \"example-namespace\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Sku = \"Standard\",\n        Capacity = 2,\n        Tags = \n        {\n            { \"environment\", \"Production\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/eventhub\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = eventhub.NewEventHubNamespace(ctx, \"example\", \u0026eventhub.EventHubNamespaceArgs{\n\t\t\tName:              pulumi.String(\"example-namespace\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSku:               pulumi.String(\"Standard\"),\n\t\t\tCapacity:          pulumi.Int(2),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"environment\": pulumi.String(\"Production\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.eventhub.EventHubNamespace;\nimport com.pulumi.azure.eventhub.EventHubNamespaceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleEventHubNamespace = new EventHubNamespace(\"exampleEventHubNamespace\", EventHubNamespaceArgs.builder()\n            .name(\"example-namespace\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .sku(\"Standard\")\n            .capacity(2)\n            .tags(Map.of(\"environment\", \"Production\"))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleEventHubNamespace:\n    type: azure:eventhub:EventHubNamespace\n    name: example\n    properties:\n      name: example-namespace\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      sku: Standard\n      capacity: 2\n      tags:\n        environment: Production\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.EventHub` - 2024-01-01\n\n## Import\n\nEventHub Namespaces can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:eventhub/eventHubNamespace:EventHubNamespace namespace1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.EventHub/namespaces/namespace1\n```\n\n","properties":{"autoInflateEnabled":{"type":"boolean","description":"Is Auto Inflate enabled for the EventHub Namespace?\n"},"capacity":{"type":"integer","description":"Specifies the Capacity / Throughput Units for a `Standard` SKU namespace. Default capacity has a maximum of \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e, but can be increased in blocks of 2 on a committed purchase basis. Defaults to \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e.\n"},"dedicatedClusterId":{"type":"string","description":"Specifies the ID of the EventHub Dedicated Cluster where this Namespace should created. Changing this forces a new resource to be created.\n"},"defaultPrimaryConnectionString":{"type":"string","description":"The primary connection string for the authorization rule `RootManageSharedAccessKey`.\n","secret":true},"defaultPrimaryConnectionStringAlias":{"type":"string","description":"The alias of the primary connection string for the authorization rule `RootManageSharedAccessKey`, which is generated when disaster recovery is enabled.\n","secret":true},"defaultPrimaryKey":{"type":"string","description":"The primary access key for the authorization rule `RootManageSharedAccessKey`.\n","secret":true},"defaultSecondaryConnectionString":{"type":"string","description":"The secondary connection string for the authorization rule `RootManageSharedAccessKey`.\n","secret":true},"defaultSecondaryConnectionStringAlias":{"type":"string","description":"The alias of the secondary connection string for the authorization rule `RootManageSharedAccessKey`, which is generated when disaster recovery is enabled.\n","secret":true},"defaultSecondaryKey":{"type":"string","description":"The secondary access key for the authorization rule `RootManageSharedAccessKey`.\n","secret":true},"identity":{"$ref":"#/types/azure:eventhub/EventHubNamespaceIdentity:EventHubNamespaceIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"localAuthenticationEnabled":{"type":"boolean","description":"Is SAS authentication enabled for the EventHub Namespace? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n"},"maximumThroughputUnits":{"type":"integer","description":"Specifies the maximum number of throughput units when Auto Inflate is Enabled. Valid values range from \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e - \u003cspan pulumi-lang-nodejs=\"`40`\" pulumi-lang-dotnet=\"`40`\" pulumi-lang-go=\"`40`\" pulumi-lang-python=\"`40`\" pulumi-lang-yaml=\"`40`\" pulumi-lang-java=\"`40`\"\u003e`40`\u003c/span\u003e.\n"},"minimumTlsVersion":{"type":"string","description":"The minimum supported TLS version for this EventHub Namespace. Valid values are: `1.0`, `1.1` and `1.2`. Defaults to `1.2`.\n\n\u003e **Note:** Azure Services will require TLS 1.2+ by August 2025, please see this [announcement](https://azure.microsoft.com/en-us/updates/v2/update-retirement-tls1-0-tls1-1-versions-azure-services/) for more.\n"},"name":{"type":"string","description":"Specifies the name of the EventHub Namespace resource. Changing this forces a new resource to be created.\n"},"networkRulesets":{"$ref":"#/types/azure:eventhub/EventHubNamespaceNetworkRulesets:EventHubNamespaceNetworkRulesets","description":"A \u003cspan pulumi-lang-nodejs=\"`networkRulesets`\" pulumi-lang-dotnet=\"`NetworkRulesets`\" pulumi-lang-go=\"`networkRulesets`\" pulumi-lang-python=\"`network_rulesets`\" pulumi-lang-yaml=\"`networkRulesets`\" pulumi-lang-java=\"`networkRulesets`\"\u003e`network_rulesets`\u003c/span\u003e block as defined below.\n"},"publicNetworkAccessEnabled":{"type":"boolean","description":"Is public network access enabled for the EventHub Namespace? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the namespace. Changing this forces a new resource to be created.\n"},"sku":{"type":"string","description":"Defines which tier to use. Valid options are `Basic`, `Standard`, and `Premium`. Please note that setting this field to `Premium` will force the creation of a new resource.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"required":["defaultPrimaryConnectionString","defaultPrimaryConnectionStringAlias","defaultPrimaryKey","defaultSecondaryConnectionString","defaultSecondaryConnectionStringAlias","defaultSecondaryKey","location","name","networkRulesets","resourceGroupName","sku"],"inputProperties":{"autoInflateEnabled":{"type":"boolean","description":"Is Auto Inflate enabled for the EventHub Namespace?\n"},"capacity":{"type":"integer","description":"Specifies the Capacity / Throughput Units for a `Standard` SKU namespace. Default capacity has a maximum of \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e, but can be increased in blocks of 2 on a committed purchase basis. Defaults to \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e.\n"},"dedicatedClusterId":{"type":"string","description":"Specifies the ID of the EventHub Dedicated Cluster where this Namespace should created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"identity":{"$ref":"#/types/azure:eventhub/EventHubNamespaceIdentity:EventHubNamespaceIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"localAuthenticationEnabled":{"type":"boolean","description":"Is SAS authentication enabled for the EventHub Namespace? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"maximumThroughputUnits":{"type":"integer","description":"Specifies the maximum number of throughput units when Auto Inflate is Enabled. Valid values range from \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e - \u003cspan pulumi-lang-nodejs=\"`40`\" pulumi-lang-dotnet=\"`40`\" pulumi-lang-go=\"`40`\" pulumi-lang-python=\"`40`\" pulumi-lang-yaml=\"`40`\" pulumi-lang-java=\"`40`\"\u003e`40`\u003c/span\u003e.\n"},"minimumTlsVersion":{"type":"string","description":"The minimum supported TLS version for this EventHub Namespace. Valid values are: `1.0`, `1.1` and `1.2`. Defaults to `1.2`.\n\n\u003e **Note:** Azure Services will require TLS 1.2+ by August 2025, please see this [announcement](https://azure.microsoft.com/en-us/updates/v2/update-retirement-tls1-0-tls1-1-versions-azure-services/) for more.\n"},"name":{"type":"string","description":"Specifies the name of the EventHub Namespace resource. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"networkRulesets":{"$ref":"#/types/azure:eventhub/EventHubNamespaceNetworkRulesets:EventHubNamespaceNetworkRulesets","description":"A \u003cspan pulumi-lang-nodejs=\"`networkRulesets`\" pulumi-lang-dotnet=\"`NetworkRulesets`\" pulumi-lang-go=\"`networkRulesets`\" pulumi-lang-python=\"`network_rulesets`\" pulumi-lang-yaml=\"`networkRulesets`\" pulumi-lang-java=\"`networkRulesets`\"\u003e`network_rulesets`\u003c/span\u003e block as defined below.\n"},"publicNetworkAccessEnabled":{"type":"boolean","description":"Is public network access enabled for the EventHub Namespace? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the namespace. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sku":{"type":"string","description":"Defines which tier to use. Valid options are `Basic`, `Standard`, and `Premium`. Please note that setting this field to `Premium` will force the creation of a new resource.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"requiredInputs":["resourceGroupName","sku"],"stateInputs":{"description":"Input properties used for looking up and filtering EventHubNamespace resources.\n","properties":{"autoInflateEnabled":{"type":"boolean","description":"Is Auto Inflate enabled for the EventHub Namespace?\n"},"capacity":{"type":"integer","description":"Specifies the Capacity / Throughput Units for a `Standard` SKU namespace. Default capacity has a maximum of \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e, but can be increased in blocks of 2 on a committed purchase basis. Defaults to \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e.\n"},"dedicatedClusterId":{"type":"string","description":"Specifies the ID of the EventHub Dedicated Cluster where this Namespace should created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"defaultPrimaryConnectionString":{"type":"string","description":"The primary connection string for the authorization rule `RootManageSharedAccessKey`.\n","secret":true},"defaultPrimaryConnectionStringAlias":{"type":"string","description":"The alias of the primary connection string for the authorization rule `RootManageSharedAccessKey`, which is generated when disaster recovery is enabled.\n","secret":true},"defaultPrimaryKey":{"type":"string","description":"The primary access key for the authorization rule `RootManageSharedAccessKey`.\n","secret":true},"defaultSecondaryConnectionString":{"type":"string","description":"The secondary connection string for the authorization rule `RootManageSharedAccessKey`.\n","secret":true},"defaultSecondaryConnectionStringAlias":{"type":"string","description":"The alias of the secondary connection string for the authorization rule `RootManageSharedAccessKey`, which is generated when disaster recovery is enabled.\n","secret":true},"defaultSecondaryKey":{"type":"string","description":"The secondary access key for the authorization rule `RootManageSharedAccessKey`.\n","secret":true},"identity":{"$ref":"#/types/azure:eventhub/EventHubNamespaceIdentity:EventHubNamespaceIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"localAuthenticationEnabled":{"type":"boolean","description":"Is SAS authentication enabled for the EventHub Namespace? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"maximumThroughputUnits":{"type":"integer","description":"Specifies the maximum number of throughput units when Auto Inflate is Enabled. Valid values range from \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e - \u003cspan pulumi-lang-nodejs=\"`40`\" pulumi-lang-dotnet=\"`40`\" pulumi-lang-go=\"`40`\" pulumi-lang-python=\"`40`\" pulumi-lang-yaml=\"`40`\" pulumi-lang-java=\"`40`\"\u003e`40`\u003c/span\u003e.\n"},"minimumTlsVersion":{"type":"string","description":"The minimum supported TLS version for this EventHub Namespace. Valid values are: `1.0`, `1.1` and `1.2`. Defaults to `1.2`.\n\n\u003e **Note:** Azure Services will require TLS 1.2+ by August 2025, please see this [announcement](https://azure.microsoft.com/en-us/updates/v2/update-retirement-tls1-0-tls1-1-versions-azure-services/) for more.\n"},"name":{"type":"string","description":"Specifies the name of the EventHub Namespace resource. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"networkRulesets":{"$ref":"#/types/azure:eventhub/EventHubNamespaceNetworkRulesets:EventHubNamespaceNetworkRulesets","description":"A \u003cspan pulumi-lang-nodejs=\"`networkRulesets`\" pulumi-lang-dotnet=\"`NetworkRulesets`\" pulumi-lang-go=\"`networkRulesets`\" pulumi-lang-python=\"`network_rulesets`\" pulumi-lang-yaml=\"`networkRulesets`\" pulumi-lang-java=\"`networkRulesets`\"\u003e`network_rulesets`\u003c/span\u003e block as defined below.\n"},"publicNetworkAccessEnabled":{"type":"boolean","description":"Is public network access enabled for the EventHub Namespace? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the namespace. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sku":{"type":"string","description":"Defines which tier to use. Valid options are `Basic`, `Standard`, and `Premium`. Please note that setting this field to `Premium` will force the creation of a new resource.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"type":"object"}},"azure:eventhub/eventHubNamespaceAuthorizationRule:EventHubNamespaceAuthorizationRule":{"description":"Manages an Authorization Rule for an Event Hub Namespace.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"resourcegroup\",\n    location: \"West Europe\",\n});\nconst exampleEventHubNamespace = new azure.eventhub.EventHubNamespace(\"example\", {\n    name: \"acceptanceTestEventHubNamespace\",\n    location: example.location,\n    resourceGroupName: example.name,\n    sku: \"Basic\",\n    capacity: 2,\n    tags: {\n        environment: \"Production\",\n    },\n});\nconst exampleEventHubNamespaceAuthorizationRule = new azure.eventhub.EventHubNamespaceAuthorizationRule(\"example\", {\n    name: \"navi\",\n    namespaceName: exampleEventHubNamespace.name,\n    resourceGroupName: example.name,\n    listen: true,\n    send: false,\n    manage: false,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"resourcegroup\",\n    location=\"West Europe\")\nexample_event_hub_namespace = azure.eventhub.EventHubNamespace(\"example\",\n    name=\"acceptanceTestEventHubNamespace\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku=\"Basic\",\n    capacity=2,\n    tags={\n        \"environment\": \"Production\",\n    })\nexample_event_hub_namespace_authorization_rule = azure.eventhub.EventHubNamespaceAuthorizationRule(\"example\",\n    name=\"navi\",\n    namespace_name=example_event_hub_namespace.name,\n    resource_group_name=example.name,\n    listen=True,\n    send=False,\n    manage=False)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"resourcegroup\",\n        Location = \"West Europe\",\n    });\n\n    var exampleEventHubNamespace = new Azure.EventHub.EventHubNamespace(\"example\", new()\n    {\n        Name = \"acceptanceTestEventHubNamespace\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Sku = \"Basic\",\n        Capacity = 2,\n        Tags = \n        {\n            { \"environment\", \"Production\" },\n        },\n    });\n\n    var exampleEventHubNamespaceAuthorizationRule = new Azure.EventHub.EventHubNamespaceAuthorizationRule(\"example\", new()\n    {\n        Name = \"navi\",\n        NamespaceName = exampleEventHubNamespace.Name,\n        ResourceGroupName = example.Name,\n        Listen = true,\n        Send = false,\n        Manage = false,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/eventhub\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"resourcegroup\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleEventHubNamespace, err := eventhub.NewEventHubNamespace(ctx, \"example\", \u0026eventhub.EventHubNamespaceArgs{\n\t\t\tName:              pulumi.String(\"acceptanceTestEventHubNamespace\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSku:               pulumi.String(\"Basic\"),\n\t\t\tCapacity:          pulumi.Int(2),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"environment\": pulumi.String(\"Production\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = eventhub.NewEventHubNamespaceAuthorizationRule(ctx, \"example\", \u0026eventhub.EventHubNamespaceAuthorizationRuleArgs{\n\t\t\tName:              pulumi.String(\"navi\"),\n\t\t\tNamespaceName:     exampleEventHubNamespace.Name,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tListen:            pulumi.Bool(true),\n\t\t\tSend:              pulumi.Bool(false),\n\t\t\tManage:            pulumi.Bool(false),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.eventhub.EventHubNamespace;\nimport com.pulumi.azure.eventhub.EventHubNamespaceArgs;\nimport com.pulumi.azure.eventhub.EventHubNamespaceAuthorizationRule;\nimport com.pulumi.azure.eventhub.EventHubNamespaceAuthorizationRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"resourcegroup\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleEventHubNamespace = new EventHubNamespace(\"exampleEventHubNamespace\", EventHubNamespaceArgs.builder()\n            .name(\"acceptanceTestEventHubNamespace\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .sku(\"Basic\")\n            .capacity(2)\n            .tags(Map.of(\"environment\", \"Production\"))\n            .build());\n\n        var exampleEventHubNamespaceAuthorizationRule = new EventHubNamespaceAuthorizationRule(\"exampleEventHubNamespaceAuthorizationRule\", EventHubNamespaceAuthorizationRuleArgs.builder()\n            .name(\"navi\")\n            .namespaceName(exampleEventHubNamespace.name())\n            .resourceGroupName(example.name())\n            .listen(true)\n            .send(false)\n            .manage(false)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: resourcegroup\n      location: West Europe\n  exampleEventHubNamespace:\n    type: azure:eventhub:EventHubNamespace\n    name: example\n    properties:\n      name: acceptanceTestEventHubNamespace\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      sku: Basic\n      capacity: 2\n      tags:\n        environment: Production\n  exampleEventHubNamespaceAuthorizationRule:\n    type: azure:eventhub:EventHubNamespaceAuthorizationRule\n    name: example\n    properties:\n      name: navi\n      namespaceName: ${exampleEventHubNamespace.name}\n      resourceGroupName: ${example.name}\n      listen: true\n      send: false\n      manage: false\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.EventHub` - 2024-01-01\n\n## Import\n\nEventHub Namespace Authorization Rules can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:eventhub/eventHubNamespaceAuthorizationRule:EventHubNamespaceAuthorizationRule example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.EventHub/namespaces/namespace1/authorizationRules/rule1\n```\n\n","properties":{"listen":{"type":"boolean","description":"Grants listen access to this this Authorization Rule. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"manage":{"type":"boolean","description":"Grants manage access to this this Authorization Rule. When this property is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e - both \u003cspan pulumi-lang-nodejs=\"`listen`\" pulumi-lang-dotnet=\"`Listen`\" pulumi-lang-go=\"`listen`\" pulumi-lang-python=\"`listen`\" pulumi-lang-yaml=\"`listen`\" pulumi-lang-java=\"`listen`\"\u003e`listen`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`send`\" pulumi-lang-dotnet=\"`Send`\" pulumi-lang-go=\"`send`\" pulumi-lang-python=\"`send`\" pulumi-lang-yaml=\"`send`\" pulumi-lang-java=\"`send`\"\u003e`send`\u003c/span\u003e must be too. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"name":{"type":"string","description":"Specifies the name of the Authorization Rule. Changing this forces a new resource to be created.\n"},"namespaceName":{"type":"string","description":"Specifies the name of the EventHub Namespace. Changing this forces a new resource to be created.\n"},"primaryConnectionString":{"type":"string","description":"The Primary Connection String for the Authorization Rule.\n","secret":true},"primaryConnectionStringAlias":{"type":"string","description":"The alias of the Primary Connection String for the Authorization Rule, which is generated when disaster recovery is enabled.\n","secret":true},"primaryKey":{"type":"string","description":"The Primary Key for the Authorization Rule.\n","secret":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the EventHub Namespace exists. Changing this forces a new resource to be created.\n\n\u003e **Note:** At least one of the 3 permissions below needs to be set.\n"},"secondaryConnectionString":{"type":"string","description":"The Secondary Connection String for the Authorization Rule.\n","secret":true},"secondaryConnectionStringAlias":{"type":"string","description":"The alias of the Secondary Connection String for the Authorization Rule, which is generated when disaster recovery is enabled.\n","secret":true},"secondaryKey":{"type":"string","description":"The Secondary Key for the Authorization Rule.\n","secret":true},"send":{"type":"boolean","description":"Grants send access to this this Authorization Rule. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"}},"required":["name","namespaceName","primaryConnectionString","primaryConnectionStringAlias","primaryKey","resourceGroupName","secondaryConnectionString","secondaryConnectionStringAlias","secondaryKey"],"inputProperties":{"listen":{"type":"boolean","description":"Grants listen access to this this Authorization Rule. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"manage":{"type":"boolean","description":"Grants manage access to this this Authorization Rule. When this property is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e - both \u003cspan pulumi-lang-nodejs=\"`listen`\" pulumi-lang-dotnet=\"`Listen`\" pulumi-lang-go=\"`listen`\" pulumi-lang-python=\"`listen`\" pulumi-lang-yaml=\"`listen`\" pulumi-lang-java=\"`listen`\"\u003e`listen`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`send`\" pulumi-lang-dotnet=\"`Send`\" pulumi-lang-go=\"`send`\" pulumi-lang-python=\"`send`\" pulumi-lang-yaml=\"`send`\" pulumi-lang-java=\"`send`\"\u003e`send`\u003c/span\u003e must be too. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"name":{"type":"string","description":"Specifies the name of the Authorization Rule. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"namespaceName":{"type":"string","description":"Specifies the name of the EventHub Namespace. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the EventHub Namespace exists. Changing this forces a new resource to be created.\n\n\u003e **Note:** At least one of the 3 permissions below needs to be set.\n","willReplaceOnChanges":true},"send":{"type":"boolean","description":"Grants send access to this this Authorization Rule. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"}},"requiredInputs":["namespaceName","resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering EventHubNamespaceAuthorizationRule resources.\n","properties":{"listen":{"type":"boolean","description":"Grants listen access to this this Authorization Rule. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"manage":{"type":"boolean","description":"Grants manage access to this this Authorization Rule. When this property is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e - both \u003cspan pulumi-lang-nodejs=\"`listen`\" pulumi-lang-dotnet=\"`Listen`\" pulumi-lang-go=\"`listen`\" pulumi-lang-python=\"`listen`\" pulumi-lang-yaml=\"`listen`\" pulumi-lang-java=\"`listen`\"\u003e`listen`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`send`\" pulumi-lang-dotnet=\"`Send`\" pulumi-lang-go=\"`send`\" pulumi-lang-python=\"`send`\" pulumi-lang-yaml=\"`send`\" pulumi-lang-java=\"`send`\"\u003e`send`\u003c/span\u003e must be too. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"name":{"type":"string","description":"Specifies the name of the Authorization Rule. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"namespaceName":{"type":"string","description":"Specifies the name of the EventHub Namespace. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"primaryConnectionString":{"type":"string","description":"The Primary Connection String for the Authorization Rule.\n","secret":true},"primaryConnectionStringAlias":{"type":"string","description":"The alias of the Primary Connection String for the Authorization Rule, which is generated when disaster recovery is enabled.\n","secret":true},"primaryKey":{"type":"string","description":"The Primary Key for the Authorization Rule.\n","secret":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the EventHub Namespace exists. Changing this forces a new resource to be created.\n\n\u003e **Note:** At least one of the 3 permissions below needs to be set.\n","willReplaceOnChanges":true},"secondaryConnectionString":{"type":"string","description":"The Secondary Connection String for the Authorization Rule.\n","secret":true},"secondaryConnectionStringAlias":{"type":"string","description":"The alias of the Secondary Connection String for the Authorization Rule, which is generated when disaster recovery is enabled.\n","secret":true},"secondaryKey":{"type":"string","description":"The Secondary Key for the Authorization Rule.\n","secret":true},"send":{"type":"boolean","description":"Grants send access to this this Authorization Rule. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"}},"type":"object"}},"azure:eventhub/eventSubscription:EventSubscription":{"description":"Manages an EventGrid Event Subscription\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleAccount = new azure.storage.Account(\"example\", {\n    name: \"exampleasa\",\n    resourceGroupName: example.name,\n    location: example.location,\n    accountTier: \"Standard\",\n    accountReplicationType: \"LRS\",\n    tags: {\n        environment: \"staging\",\n    },\n});\nconst exampleQueue = new azure.storage.Queue(\"example\", {\n    name: \"example-astq\",\n    storageAccountName: exampleAccount.name,\n});\nconst exampleEventSubscription = new azure.eventgrid.EventSubscription(\"example\", {\n    name: \"example-aees\",\n    scope: example.id,\n    storageQueueEndpoint: {\n        storageAccountId: exampleAccount.id,\n        queueName: exampleQueue.name,\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_account = azure.storage.Account(\"example\",\n    name=\"exampleasa\",\n    resource_group_name=example.name,\n    location=example.location,\n    account_tier=\"Standard\",\n    account_replication_type=\"LRS\",\n    tags={\n        \"environment\": \"staging\",\n    })\nexample_queue = azure.storage.Queue(\"example\",\n    name=\"example-astq\",\n    storage_account_name=example_account.name)\nexample_event_subscription = azure.eventgrid.EventSubscription(\"example\",\n    name=\"example-aees\",\n    scope=example.id,\n    storage_queue_endpoint={\n        \"storage_account_id\": example_account.id,\n        \"queue_name\": example_queue.name,\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleAccount = new Azure.Storage.Account(\"example\", new()\n    {\n        Name = \"exampleasa\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        AccountTier = \"Standard\",\n        AccountReplicationType = \"LRS\",\n        Tags = \n        {\n            { \"environment\", \"staging\" },\n        },\n    });\n\n    var exampleQueue = new Azure.Storage.Queue(\"example\", new()\n    {\n        Name = \"example-astq\",\n        StorageAccountName = exampleAccount.Name,\n    });\n\n    var exampleEventSubscription = new Azure.EventGrid.EventSubscription(\"example\", new()\n    {\n        Name = \"example-aees\",\n        Scope = example.Id,\n        StorageQueueEndpoint = new Azure.EventGrid.Inputs.EventSubscriptionStorageQueueEndpointArgs\n        {\n            StorageAccountId = exampleAccount.Id,\n            QueueName = exampleQueue.Name,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/eventgrid\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := storage.NewAccount(ctx, \"example\", \u0026storage.AccountArgs{\n\t\t\tName:                   pulumi.String(\"exampleasa\"),\n\t\t\tResourceGroupName:      example.Name,\n\t\t\tLocation:               example.Location,\n\t\t\tAccountTier:            pulumi.String(\"Standard\"),\n\t\t\tAccountReplicationType: pulumi.String(\"LRS\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"environment\": pulumi.String(\"staging\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleQueue, err := storage.NewQueue(ctx, \"example\", \u0026storage.QueueArgs{\n\t\t\tName:               pulumi.String(\"example-astq\"),\n\t\t\tStorageAccountName: exampleAccount.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = eventgrid.NewEventSubscription(ctx, \"example\", \u0026eventgrid.EventSubscriptionArgs{\n\t\t\tName:  pulumi.String(\"example-aees\"),\n\t\t\tScope: example.ID(),\n\t\t\tStorageQueueEndpoint: \u0026eventgrid.EventSubscriptionStorageQueueEndpointArgs{\n\t\t\t\tStorageAccountId: exampleAccount.ID(),\n\t\t\t\tQueueName:        exampleQueue.Name,\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.storage.Account;\nimport com.pulumi.azure.storage.AccountArgs;\nimport com.pulumi.azure.storage.Queue;\nimport com.pulumi.azure.storage.QueueArgs;\nimport com.pulumi.azure.eventgrid.EventSubscription;\nimport com.pulumi.azure.eventgrid.EventSubscriptionArgs;\nimport com.pulumi.azure.eventgrid.inputs.EventSubscriptionStorageQueueEndpointArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"exampleasa\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .accountTier(\"Standard\")\n            .accountReplicationType(\"LRS\")\n            .tags(Map.of(\"environment\", \"staging\"))\n            .build());\n\n        var exampleQueue = new Queue(\"exampleQueue\", QueueArgs.builder()\n            .name(\"example-astq\")\n            .storageAccountName(exampleAccount.name())\n            .build());\n\n        var exampleEventSubscription = new EventSubscription(\"exampleEventSubscription\", EventSubscriptionArgs.builder()\n            .name(\"example-aees\")\n            .scope(example.id())\n            .storageQueueEndpoint(EventSubscriptionStorageQueueEndpointArgs.builder()\n                .storageAccountId(exampleAccount.id())\n                .queueName(exampleQueue.name())\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleAccount:\n    type: azure:storage:Account\n    name: example\n    properties:\n      name: exampleasa\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      accountTier: Standard\n      accountReplicationType: LRS\n      tags:\n        environment: staging\n  exampleQueue:\n    type: azure:storage:Queue\n    name: example\n    properties:\n      name: example-astq\n      storageAccountName: ${exampleAccount.name}\n  exampleEventSubscription:\n    type: azure:eventgrid:EventSubscription\n    name: example\n    properties:\n      name: example-aees\n      scope: ${example.id}\n      storageQueueEndpoint:\n        storageAccountId: ${exampleAccount.id}\n        queueName: ${exampleQueue.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.EventGrid` - 2025-02-15\n\n## Import\n\nEventGrid Event Subscription's can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:eventhub/eventSubscription:EventSubscription eventSubscription1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.EventGrid/topics/topic1/providers/Microsoft.EventGrid/eventSubscriptions/eventSubscription1\n```\n\n","properties":{"advancedFilter":{"$ref":"#/types/azure:eventhub/EventSubscriptionAdvancedFilter:EventSubscriptionAdvancedFilter","description":"A \u003cspan pulumi-lang-nodejs=\"`advancedFilter`\" pulumi-lang-dotnet=\"`AdvancedFilter`\" pulumi-lang-go=\"`advancedFilter`\" pulumi-lang-python=\"`advanced_filter`\" pulumi-lang-yaml=\"`advancedFilter`\" pulumi-lang-java=\"`advancedFilter`\"\u003e`advanced_filter`\u003c/span\u003e block as defined below.\n"},"advancedFilteringOnArraysEnabled":{"type":"boolean","description":"Specifies whether advanced filters should be evaluated against an array of values instead of expecting a singular value. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"azureFunctionEndpoint":{"$ref":"#/types/azure:eventhub/EventSubscriptionAzureFunctionEndpoint:EventSubscriptionAzureFunctionEndpoint","description":"An \u003cspan pulumi-lang-nodejs=\"`azureFunctionEndpoint`\" pulumi-lang-dotnet=\"`AzureFunctionEndpoint`\" pulumi-lang-go=\"`azureFunctionEndpoint`\" pulumi-lang-python=\"`azure_function_endpoint`\" pulumi-lang-yaml=\"`azureFunctionEndpoint`\" pulumi-lang-java=\"`azureFunctionEndpoint`\"\u003e`azure_function_endpoint`\u003c/span\u003e block as defined below.\n"},"deadLetterIdentity":{"$ref":"#/types/azure:eventhub/EventSubscriptionDeadLetterIdentity:EventSubscriptionDeadLetterIdentity","description":"A \u003cspan pulumi-lang-nodejs=\"`deadLetterIdentity`\" pulumi-lang-dotnet=\"`DeadLetterIdentity`\" pulumi-lang-go=\"`deadLetterIdentity`\" pulumi-lang-python=\"`dead_letter_identity`\" pulumi-lang-yaml=\"`deadLetterIdentity`\" pulumi-lang-java=\"`deadLetterIdentity`\"\u003e`dead_letter_identity`\u003c/span\u003e block as defined below.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`storageBlobDeadLetterDestination`\" pulumi-lang-dotnet=\"`StorageBlobDeadLetterDestination`\" pulumi-lang-go=\"`storageBlobDeadLetterDestination`\" pulumi-lang-python=\"`storage_blob_dead_letter_destination`\" pulumi-lang-yaml=\"`storageBlobDeadLetterDestination`\" pulumi-lang-java=\"`storageBlobDeadLetterDestination`\"\u003e`storage_blob_dead_letter_destination`\u003c/span\u003e must be specified when a \u003cspan pulumi-lang-nodejs=\"`deadLetterIdentity`\" pulumi-lang-dotnet=\"`DeadLetterIdentity`\" pulumi-lang-go=\"`deadLetterIdentity`\" pulumi-lang-python=\"`dead_letter_identity`\" pulumi-lang-yaml=\"`deadLetterIdentity`\" pulumi-lang-java=\"`deadLetterIdentity`\"\u003e`dead_letter_identity`\u003c/span\u003e is specified\n"},"deliveryIdentity":{"$ref":"#/types/azure:eventhub/EventSubscriptionDeliveryIdentity:EventSubscriptionDeliveryIdentity","description":"A \u003cspan pulumi-lang-nodejs=\"`deliveryIdentity`\" pulumi-lang-dotnet=\"`DeliveryIdentity`\" pulumi-lang-go=\"`deliveryIdentity`\" pulumi-lang-python=\"`delivery_identity`\" pulumi-lang-yaml=\"`deliveryIdentity`\" pulumi-lang-java=\"`deliveryIdentity`\"\u003e`delivery_identity`\u003c/span\u003e block as defined below.\n"},"deliveryProperties":{"type":"array","items":{"$ref":"#/types/azure:eventhub/EventSubscriptionDeliveryProperty:EventSubscriptionDeliveryProperty"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`deliveryProperty`\" pulumi-lang-dotnet=\"`DeliveryProperty`\" pulumi-lang-go=\"`deliveryProperty`\" pulumi-lang-python=\"`delivery_property`\" pulumi-lang-yaml=\"`deliveryProperty`\" pulumi-lang-java=\"`deliveryProperty`\"\u003e`delivery_property`\u003c/span\u003e blocks as defined below.\n"},"eventDeliverySchema":{"type":"string","description":"Specifies the event delivery schema for the event subscription. Possible values include: `EventGridSchema`, `CloudEventSchemaV1_0`, `CustomInputSchema`. Defaults to `EventGridSchema`. Changing this forces a new resource to be created.\n"},"eventhubEndpointId":{"type":"string","description":"Specifies the id where the Event Hub is located.\n"},"expirationTimeUtc":{"type":"string","description":"Specifies the expiration time of the event subscription (Datetime Format `RFC 3339`).\n"},"hybridConnectionEndpointId":{"type":"string","description":"Specifies the id where the Hybrid Connection is located.\n"},"includedEventTypes":{"type":"array","items":{"type":"string"},"description":"A list of applicable event types that need to be part of the event subscription.\n"},"labels":{"type":"array","items":{"type":"string"},"description":"A list of labels to assign to the event subscription.\n"},"name":{"type":"string","description":"Specifies the name of the EventGrid Event Subscription resource. Changing this forces a new resource to be created.\n"},"retryPolicy":{"$ref":"#/types/azure:eventhub/EventSubscriptionRetryPolicy:EventSubscriptionRetryPolicy","description":"A \u003cspan pulumi-lang-nodejs=\"`retryPolicy`\" pulumi-lang-dotnet=\"`RetryPolicy`\" pulumi-lang-go=\"`retryPolicy`\" pulumi-lang-python=\"`retry_policy`\" pulumi-lang-yaml=\"`retryPolicy`\" pulumi-lang-java=\"`retryPolicy`\"\u003e`retry_policy`\u003c/span\u003e block as defined below.\n"},"scope":{"type":"string","description":"Specifies the scope at which the EventGrid Event Subscription should be created. Changing this forces a new resource to be created.\n"},"serviceBusQueueEndpointId":{"type":"string","description":"Specifies the id where the Service Bus Queue is located.\n"},"serviceBusTopicEndpointId":{"type":"string","description":"Specifies the id where the Service Bus Topic is located.\n"},"storageBlobDeadLetterDestination":{"$ref":"#/types/azure:eventhub/EventSubscriptionStorageBlobDeadLetterDestination:EventSubscriptionStorageBlobDeadLetterDestination","description":"A \u003cspan pulumi-lang-nodejs=\"`storageBlobDeadLetterDestination`\" pulumi-lang-dotnet=\"`StorageBlobDeadLetterDestination`\" pulumi-lang-go=\"`storageBlobDeadLetterDestination`\" pulumi-lang-python=\"`storage_blob_dead_letter_destination`\" pulumi-lang-yaml=\"`storageBlobDeadLetterDestination`\" pulumi-lang-java=\"`storageBlobDeadLetterDestination`\"\u003e`storage_blob_dead_letter_destination`\u003c/span\u003e block as defined below.\n"},"storageQueueEndpoint":{"$ref":"#/types/azure:eventhub/EventSubscriptionStorageQueueEndpoint:EventSubscriptionStorageQueueEndpoint","description":"A \u003cspan pulumi-lang-nodejs=\"`storageQueueEndpoint`\" pulumi-lang-dotnet=\"`StorageQueueEndpoint`\" pulumi-lang-go=\"`storageQueueEndpoint`\" pulumi-lang-python=\"`storage_queue_endpoint`\" pulumi-lang-yaml=\"`storageQueueEndpoint`\" pulumi-lang-java=\"`storageQueueEndpoint`\"\u003e`storage_queue_endpoint`\u003c/span\u003e block as defined below.\n"},"subjectFilter":{"$ref":"#/types/azure:eventhub/EventSubscriptionSubjectFilter:EventSubscriptionSubjectFilter","description":"A \u003cspan pulumi-lang-nodejs=\"`subjectFilter`\" pulumi-lang-dotnet=\"`SubjectFilter`\" pulumi-lang-go=\"`subjectFilter`\" pulumi-lang-python=\"`subject_filter`\" pulumi-lang-yaml=\"`subjectFilter`\" pulumi-lang-java=\"`subjectFilter`\"\u003e`subject_filter`\u003c/span\u003e block as defined below.\n"},"webhookEndpoint":{"$ref":"#/types/azure:eventhub/EventSubscriptionWebhookEndpoint:EventSubscriptionWebhookEndpoint","description":"A \u003cspan pulumi-lang-nodejs=\"`webhookEndpoint`\" pulumi-lang-dotnet=\"`WebhookEndpoint`\" pulumi-lang-go=\"`webhookEndpoint`\" pulumi-lang-python=\"`webhook_endpoint`\" pulumi-lang-yaml=\"`webhookEndpoint`\" pulumi-lang-java=\"`webhookEndpoint`\"\u003e`webhook_endpoint`\u003c/span\u003e block as defined below.\n\n\u003e **Note:** One of \u003cspan pulumi-lang-nodejs=\"`eventhubEndpointId`\" pulumi-lang-dotnet=\"`EventhubEndpointId`\" pulumi-lang-go=\"`eventhubEndpointId`\" pulumi-lang-python=\"`eventhub_endpoint_id`\" pulumi-lang-yaml=\"`eventhubEndpointId`\" pulumi-lang-java=\"`eventhubEndpointId`\"\u003e`eventhub_endpoint_id`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`hybridConnectionEndpointId`\" pulumi-lang-dotnet=\"`HybridConnectionEndpointId`\" pulumi-lang-go=\"`hybridConnectionEndpointId`\" pulumi-lang-python=\"`hybrid_connection_endpoint_id`\" pulumi-lang-yaml=\"`hybridConnectionEndpointId`\" pulumi-lang-java=\"`hybridConnectionEndpointId`\"\u003e`hybrid_connection_endpoint_id`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`serviceBusQueueEndpointId`\" pulumi-lang-dotnet=\"`ServiceBusQueueEndpointId`\" pulumi-lang-go=\"`serviceBusQueueEndpointId`\" pulumi-lang-python=\"`service_bus_queue_endpoint_id`\" pulumi-lang-yaml=\"`serviceBusQueueEndpointId`\" pulumi-lang-java=\"`serviceBusQueueEndpointId`\"\u003e`service_bus_queue_endpoint_id`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`serviceBusTopicEndpointId`\" pulumi-lang-dotnet=\"`ServiceBusTopicEndpointId`\" pulumi-lang-go=\"`serviceBusTopicEndpointId`\" pulumi-lang-python=\"`service_bus_topic_endpoint_id`\" pulumi-lang-yaml=\"`serviceBusTopicEndpointId`\" pulumi-lang-java=\"`serviceBusTopicEndpointId`\"\u003e`service_bus_topic_endpoint_id`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`storageQueueEndpoint`\" pulumi-lang-dotnet=\"`StorageQueueEndpoint`\" pulumi-lang-go=\"`storageQueueEndpoint`\" pulumi-lang-python=\"`storage_queue_endpoint`\" pulumi-lang-yaml=\"`storageQueueEndpoint`\" pulumi-lang-java=\"`storageQueueEndpoint`\"\u003e`storage_queue_endpoint`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`webhookEndpoint`\" pulumi-lang-dotnet=\"`WebhookEndpoint`\" pulumi-lang-go=\"`webhookEndpoint`\" pulumi-lang-python=\"`webhook_endpoint`\" pulumi-lang-yaml=\"`webhookEndpoint`\" pulumi-lang-java=\"`webhookEndpoint`\"\u003e`webhook_endpoint`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`azureFunctionEndpoint`\" pulumi-lang-dotnet=\"`AzureFunctionEndpoint`\" pulumi-lang-go=\"`azureFunctionEndpoint`\" pulumi-lang-python=\"`azure_function_endpoint`\" pulumi-lang-yaml=\"`azureFunctionEndpoint`\" pulumi-lang-java=\"`azureFunctionEndpoint`\"\u003e`azure_function_endpoint`\u003c/span\u003e must be specified.\n"}},"required":["eventhubEndpointId","hybridConnectionEndpointId","includedEventTypes","name","retryPolicy","scope"],"inputProperties":{"advancedFilter":{"$ref":"#/types/azure:eventhub/EventSubscriptionAdvancedFilter:EventSubscriptionAdvancedFilter","description":"A \u003cspan pulumi-lang-nodejs=\"`advancedFilter`\" pulumi-lang-dotnet=\"`AdvancedFilter`\" pulumi-lang-go=\"`advancedFilter`\" pulumi-lang-python=\"`advanced_filter`\" pulumi-lang-yaml=\"`advancedFilter`\" pulumi-lang-java=\"`advancedFilter`\"\u003e`advanced_filter`\u003c/span\u003e block as defined below.\n"},"advancedFilteringOnArraysEnabled":{"type":"boolean","description":"Specifies whether advanced filters should be evaluated against an array of values instead of expecting a singular value. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"azureFunctionEndpoint":{"$ref":"#/types/azure:eventhub/EventSubscriptionAzureFunctionEndpoint:EventSubscriptionAzureFunctionEndpoint","description":"An \u003cspan pulumi-lang-nodejs=\"`azureFunctionEndpoint`\" pulumi-lang-dotnet=\"`AzureFunctionEndpoint`\" pulumi-lang-go=\"`azureFunctionEndpoint`\" pulumi-lang-python=\"`azure_function_endpoint`\" pulumi-lang-yaml=\"`azureFunctionEndpoint`\" pulumi-lang-java=\"`azureFunctionEndpoint`\"\u003e`azure_function_endpoint`\u003c/span\u003e block as defined below.\n"},"deadLetterIdentity":{"$ref":"#/types/azure:eventhub/EventSubscriptionDeadLetterIdentity:EventSubscriptionDeadLetterIdentity","description":"A \u003cspan pulumi-lang-nodejs=\"`deadLetterIdentity`\" pulumi-lang-dotnet=\"`DeadLetterIdentity`\" pulumi-lang-go=\"`deadLetterIdentity`\" pulumi-lang-python=\"`dead_letter_identity`\" pulumi-lang-yaml=\"`deadLetterIdentity`\" pulumi-lang-java=\"`deadLetterIdentity`\"\u003e`dead_letter_identity`\u003c/span\u003e block as defined below.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`storageBlobDeadLetterDestination`\" pulumi-lang-dotnet=\"`StorageBlobDeadLetterDestination`\" pulumi-lang-go=\"`storageBlobDeadLetterDestination`\" pulumi-lang-python=\"`storage_blob_dead_letter_destination`\" pulumi-lang-yaml=\"`storageBlobDeadLetterDestination`\" pulumi-lang-java=\"`storageBlobDeadLetterDestination`\"\u003e`storage_blob_dead_letter_destination`\u003c/span\u003e must be specified when a \u003cspan pulumi-lang-nodejs=\"`deadLetterIdentity`\" pulumi-lang-dotnet=\"`DeadLetterIdentity`\" pulumi-lang-go=\"`deadLetterIdentity`\" pulumi-lang-python=\"`dead_letter_identity`\" pulumi-lang-yaml=\"`deadLetterIdentity`\" pulumi-lang-java=\"`deadLetterIdentity`\"\u003e`dead_letter_identity`\u003c/span\u003e is specified\n"},"deliveryIdentity":{"$ref":"#/types/azure:eventhub/EventSubscriptionDeliveryIdentity:EventSubscriptionDeliveryIdentity","description":"A \u003cspan pulumi-lang-nodejs=\"`deliveryIdentity`\" pulumi-lang-dotnet=\"`DeliveryIdentity`\" pulumi-lang-go=\"`deliveryIdentity`\" pulumi-lang-python=\"`delivery_identity`\" pulumi-lang-yaml=\"`deliveryIdentity`\" pulumi-lang-java=\"`deliveryIdentity`\"\u003e`delivery_identity`\u003c/span\u003e block as defined below.\n"},"deliveryProperties":{"type":"array","items":{"$ref":"#/types/azure:eventhub/EventSubscriptionDeliveryProperty:EventSubscriptionDeliveryProperty"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`deliveryProperty`\" pulumi-lang-dotnet=\"`DeliveryProperty`\" pulumi-lang-go=\"`deliveryProperty`\" pulumi-lang-python=\"`delivery_property`\" pulumi-lang-yaml=\"`deliveryProperty`\" pulumi-lang-java=\"`deliveryProperty`\"\u003e`delivery_property`\u003c/span\u003e blocks as defined below.\n"},"eventDeliverySchema":{"type":"string","description":"Specifies the event delivery schema for the event subscription. Possible values include: `EventGridSchema`, `CloudEventSchemaV1_0`, `CustomInputSchema`. Defaults to `EventGridSchema`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"eventhubEndpointId":{"type":"string","description":"Specifies the id where the Event Hub is located.\n"},"expirationTimeUtc":{"type":"string","description":"Specifies the expiration time of the event subscription (Datetime Format `RFC 3339`).\n"},"hybridConnectionEndpointId":{"type":"string","description":"Specifies the id where the Hybrid Connection is located.\n"},"includedEventTypes":{"type":"array","items":{"type":"string"},"description":"A list of applicable event types that need to be part of the event subscription.\n"},"labels":{"type":"array","items":{"type":"string"},"description":"A list of labels to assign to the event subscription.\n"},"name":{"type":"string","description":"Specifies the name of the EventGrid Event Subscription resource. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"retryPolicy":{"$ref":"#/types/azure:eventhub/EventSubscriptionRetryPolicy:EventSubscriptionRetryPolicy","description":"A \u003cspan pulumi-lang-nodejs=\"`retryPolicy`\" pulumi-lang-dotnet=\"`RetryPolicy`\" pulumi-lang-go=\"`retryPolicy`\" pulumi-lang-python=\"`retry_policy`\" pulumi-lang-yaml=\"`retryPolicy`\" pulumi-lang-java=\"`retryPolicy`\"\u003e`retry_policy`\u003c/span\u003e block as defined below.\n"},"scope":{"type":"string","description":"Specifies the scope at which the EventGrid Event Subscription should be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"serviceBusQueueEndpointId":{"type":"string","description":"Specifies the id where the Service Bus Queue is located.\n"},"serviceBusTopicEndpointId":{"type":"string","description":"Specifies the id where the Service Bus Topic is located.\n"},"storageBlobDeadLetterDestination":{"$ref":"#/types/azure:eventhub/EventSubscriptionStorageBlobDeadLetterDestination:EventSubscriptionStorageBlobDeadLetterDestination","description":"A \u003cspan pulumi-lang-nodejs=\"`storageBlobDeadLetterDestination`\" pulumi-lang-dotnet=\"`StorageBlobDeadLetterDestination`\" pulumi-lang-go=\"`storageBlobDeadLetterDestination`\" pulumi-lang-python=\"`storage_blob_dead_letter_destination`\" pulumi-lang-yaml=\"`storageBlobDeadLetterDestination`\" pulumi-lang-java=\"`storageBlobDeadLetterDestination`\"\u003e`storage_blob_dead_letter_destination`\u003c/span\u003e block as defined below.\n"},"storageQueueEndpoint":{"$ref":"#/types/azure:eventhub/EventSubscriptionStorageQueueEndpoint:EventSubscriptionStorageQueueEndpoint","description":"A \u003cspan pulumi-lang-nodejs=\"`storageQueueEndpoint`\" pulumi-lang-dotnet=\"`StorageQueueEndpoint`\" pulumi-lang-go=\"`storageQueueEndpoint`\" pulumi-lang-python=\"`storage_queue_endpoint`\" pulumi-lang-yaml=\"`storageQueueEndpoint`\" pulumi-lang-java=\"`storageQueueEndpoint`\"\u003e`storage_queue_endpoint`\u003c/span\u003e block as defined below.\n"},"subjectFilter":{"$ref":"#/types/azure:eventhub/EventSubscriptionSubjectFilter:EventSubscriptionSubjectFilter","description":"A \u003cspan pulumi-lang-nodejs=\"`subjectFilter`\" pulumi-lang-dotnet=\"`SubjectFilter`\" pulumi-lang-go=\"`subjectFilter`\" pulumi-lang-python=\"`subject_filter`\" pulumi-lang-yaml=\"`subjectFilter`\" pulumi-lang-java=\"`subjectFilter`\"\u003e`subject_filter`\u003c/span\u003e block as defined below.\n"},"webhookEndpoint":{"$ref":"#/types/azure:eventhub/EventSubscriptionWebhookEndpoint:EventSubscriptionWebhookEndpoint","description":"A \u003cspan pulumi-lang-nodejs=\"`webhookEndpoint`\" pulumi-lang-dotnet=\"`WebhookEndpoint`\" pulumi-lang-go=\"`webhookEndpoint`\" pulumi-lang-python=\"`webhook_endpoint`\" pulumi-lang-yaml=\"`webhookEndpoint`\" pulumi-lang-java=\"`webhookEndpoint`\"\u003e`webhook_endpoint`\u003c/span\u003e block as defined below.\n\n\u003e **Note:** One of \u003cspan pulumi-lang-nodejs=\"`eventhubEndpointId`\" pulumi-lang-dotnet=\"`EventhubEndpointId`\" pulumi-lang-go=\"`eventhubEndpointId`\" pulumi-lang-python=\"`eventhub_endpoint_id`\" pulumi-lang-yaml=\"`eventhubEndpointId`\" pulumi-lang-java=\"`eventhubEndpointId`\"\u003e`eventhub_endpoint_id`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`hybridConnectionEndpointId`\" pulumi-lang-dotnet=\"`HybridConnectionEndpointId`\" pulumi-lang-go=\"`hybridConnectionEndpointId`\" pulumi-lang-python=\"`hybrid_connection_endpoint_id`\" pulumi-lang-yaml=\"`hybridConnectionEndpointId`\" pulumi-lang-java=\"`hybridConnectionEndpointId`\"\u003e`hybrid_connection_endpoint_id`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`serviceBusQueueEndpointId`\" pulumi-lang-dotnet=\"`ServiceBusQueueEndpointId`\" pulumi-lang-go=\"`serviceBusQueueEndpointId`\" pulumi-lang-python=\"`service_bus_queue_endpoint_id`\" pulumi-lang-yaml=\"`serviceBusQueueEndpointId`\" pulumi-lang-java=\"`serviceBusQueueEndpointId`\"\u003e`service_bus_queue_endpoint_id`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`serviceBusTopicEndpointId`\" pulumi-lang-dotnet=\"`ServiceBusTopicEndpointId`\" pulumi-lang-go=\"`serviceBusTopicEndpointId`\" pulumi-lang-python=\"`service_bus_topic_endpoint_id`\" pulumi-lang-yaml=\"`serviceBusTopicEndpointId`\" pulumi-lang-java=\"`serviceBusTopicEndpointId`\"\u003e`service_bus_topic_endpoint_id`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`storageQueueEndpoint`\" pulumi-lang-dotnet=\"`StorageQueueEndpoint`\" pulumi-lang-go=\"`storageQueueEndpoint`\" pulumi-lang-python=\"`storage_queue_endpoint`\" pulumi-lang-yaml=\"`storageQueueEndpoint`\" pulumi-lang-java=\"`storageQueueEndpoint`\"\u003e`storage_queue_endpoint`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`webhookEndpoint`\" pulumi-lang-dotnet=\"`WebhookEndpoint`\" pulumi-lang-go=\"`webhookEndpoint`\" pulumi-lang-python=\"`webhook_endpoint`\" pulumi-lang-yaml=\"`webhookEndpoint`\" pulumi-lang-java=\"`webhookEndpoint`\"\u003e`webhook_endpoint`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`azureFunctionEndpoint`\" pulumi-lang-dotnet=\"`AzureFunctionEndpoint`\" pulumi-lang-go=\"`azureFunctionEndpoint`\" pulumi-lang-python=\"`azure_function_endpoint`\" pulumi-lang-yaml=\"`azureFunctionEndpoint`\" pulumi-lang-java=\"`azureFunctionEndpoint`\"\u003e`azure_function_endpoint`\u003c/span\u003e must be specified.\n"}},"requiredInputs":["scope"],"stateInputs":{"description":"Input properties used for looking up and filtering EventSubscription resources.\n","properties":{"advancedFilter":{"$ref":"#/types/azure:eventhub/EventSubscriptionAdvancedFilter:EventSubscriptionAdvancedFilter","description":"A \u003cspan pulumi-lang-nodejs=\"`advancedFilter`\" pulumi-lang-dotnet=\"`AdvancedFilter`\" pulumi-lang-go=\"`advancedFilter`\" pulumi-lang-python=\"`advanced_filter`\" pulumi-lang-yaml=\"`advancedFilter`\" pulumi-lang-java=\"`advancedFilter`\"\u003e`advanced_filter`\u003c/span\u003e block as defined below.\n"},"advancedFilteringOnArraysEnabled":{"type":"boolean","description":"Specifies whether advanced filters should be evaluated against an array of values instead of expecting a singular value. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"azureFunctionEndpoint":{"$ref":"#/types/azure:eventhub/EventSubscriptionAzureFunctionEndpoint:EventSubscriptionAzureFunctionEndpoint","description":"An \u003cspan pulumi-lang-nodejs=\"`azureFunctionEndpoint`\" pulumi-lang-dotnet=\"`AzureFunctionEndpoint`\" pulumi-lang-go=\"`azureFunctionEndpoint`\" pulumi-lang-python=\"`azure_function_endpoint`\" pulumi-lang-yaml=\"`azureFunctionEndpoint`\" pulumi-lang-java=\"`azureFunctionEndpoint`\"\u003e`azure_function_endpoint`\u003c/span\u003e block as defined below.\n"},"deadLetterIdentity":{"$ref":"#/types/azure:eventhub/EventSubscriptionDeadLetterIdentity:EventSubscriptionDeadLetterIdentity","description":"A \u003cspan pulumi-lang-nodejs=\"`deadLetterIdentity`\" pulumi-lang-dotnet=\"`DeadLetterIdentity`\" pulumi-lang-go=\"`deadLetterIdentity`\" pulumi-lang-python=\"`dead_letter_identity`\" pulumi-lang-yaml=\"`deadLetterIdentity`\" pulumi-lang-java=\"`deadLetterIdentity`\"\u003e`dead_letter_identity`\u003c/span\u003e block as defined below.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`storageBlobDeadLetterDestination`\" pulumi-lang-dotnet=\"`StorageBlobDeadLetterDestination`\" pulumi-lang-go=\"`storageBlobDeadLetterDestination`\" pulumi-lang-python=\"`storage_blob_dead_letter_destination`\" pulumi-lang-yaml=\"`storageBlobDeadLetterDestination`\" pulumi-lang-java=\"`storageBlobDeadLetterDestination`\"\u003e`storage_blob_dead_letter_destination`\u003c/span\u003e must be specified when a \u003cspan pulumi-lang-nodejs=\"`deadLetterIdentity`\" pulumi-lang-dotnet=\"`DeadLetterIdentity`\" pulumi-lang-go=\"`deadLetterIdentity`\" pulumi-lang-python=\"`dead_letter_identity`\" pulumi-lang-yaml=\"`deadLetterIdentity`\" pulumi-lang-java=\"`deadLetterIdentity`\"\u003e`dead_letter_identity`\u003c/span\u003e is specified\n"},"deliveryIdentity":{"$ref":"#/types/azure:eventhub/EventSubscriptionDeliveryIdentity:EventSubscriptionDeliveryIdentity","description":"A \u003cspan pulumi-lang-nodejs=\"`deliveryIdentity`\" pulumi-lang-dotnet=\"`DeliveryIdentity`\" pulumi-lang-go=\"`deliveryIdentity`\" pulumi-lang-python=\"`delivery_identity`\" pulumi-lang-yaml=\"`deliveryIdentity`\" pulumi-lang-java=\"`deliveryIdentity`\"\u003e`delivery_identity`\u003c/span\u003e block as defined below.\n"},"deliveryProperties":{"type":"array","items":{"$ref":"#/types/azure:eventhub/EventSubscriptionDeliveryProperty:EventSubscriptionDeliveryProperty"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`deliveryProperty`\" pulumi-lang-dotnet=\"`DeliveryProperty`\" pulumi-lang-go=\"`deliveryProperty`\" pulumi-lang-python=\"`delivery_property`\" pulumi-lang-yaml=\"`deliveryProperty`\" pulumi-lang-java=\"`deliveryProperty`\"\u003e`delivery_property`\u003c/span\u003e blocks as defined below.\n"},"eventDeliverySchema":{"type":"string","description":"Specifies the event delivery schema for the event subscription. Possible values include: `EventGridSchema`, `CloudEventSchemaV1_0`, `CustomInputSchema`. Defaults to `EventGridSchema`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"eventhubEndpointId":{"type":"string","description":"Specifies the id where the Event Hub is located.\n"},"expirationTimeUtc":{"type":"string","description":"Specifies the expiration time of the event subscription (Datetime Format `RFC 3339`).\n"},"hybridConnectionEndpointId":{"type":"string","description":"Specifies the id where the Hybrid Connection is located.\n"},"includedEventTypes":{"type":"array","items":{"type":"string"},"description":"A list of applicable event types that need to be part of the event subscription.\n"},"labels":{"type":"array","items":{"type":"string"},"description":"A list of labels to assign to the event subscription.\n"},"name":{"type":"string","description":"Specifies the name of the EventGrid Event Subscription resource. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"retryPolicy":{"$ref":"#/types/azure:eventhub/EventSubscriptionRetryPolicy:EventSubscriptionRetryPolicy","description":"A \u003cspan pulumi-lang-nodejs=\"`retryPolicy`\" pulumi-lang-dotnet=\"`RetryPolicy`\" pulumi-lang-go=\"`retryPolicy`\" pulumi-lang-python=\"`retry_policy`\" pulumi-lang-yaml=\"`retryPolicy`\" pulumi-lang-java=\"`retryPolicy`\"\u003e`retry_policy`\u003c/span\u003e block as defined below.\n"},"scope":{"type":"string","description":"Specifies the scope at which the EventGrid Event Subscription should be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"serviceBusQueueEndpointId":{"type":"string","description":"Specifies the id where the Service Bus Queue is located.\n"},"serviceBusTopicEndpointId":{"type":"string","description":"Specifies the id where the Service Bus Topic is located.\n"},"storageBlobDeadLetterDestination":{"$ref":"#/types/azure:eventhub/EventSubscriptionStorageBlobDeadLetterDestination:EventSubscriptionStorageBlobDeadLetterDestination","description":"A \u003cspan pulumi-lang-nodejs=\"`storageBlobDeadLetterDestination`\" pulumi-lang-dotnet=\"`StorageBlobDeadLetterDestination`\" pulumi-lang-go=\"`storageBlobDeadLetterDestination`\" pulumi-lang-python=\"`storage_blob_dead_letter_destination`\" pulumi-lang-yaml=\"`storageBlobDeadLetterDestination`\" pulumi-lang-java=\"`storageBlobDeadLetterDestination`\"\u003e`storage_blob_dead_letter_destination`\u003c/span\u003e block as defined below.\n"},"storageQueueEndpoint":{"$ref":"#/types/azure:eventhub/EventSubscriptionStorageQueueEndpoint:EventSubscriptionStorageQueueEndpoint","description":"A \u003cspan pulumi-lang-nodejs=\"`storageQueueEndpoint`\" pulumi-lang-dotnet=\"`StorageQueueEndpoint`\" pulumi-lang-go=\"`storageQueueEndpoint`\" pulumi-lang-python=\"`storage_queue_endpoint`\" pulumi-lang-yaml=\"`storageQueueEndpoint`\" pulumi-lang-java=\"`storageQueueEndpoint`\"\u003e`storage_queue_endpoint`\u003c/span\u003e block as defined below.\n"},"subjectFilter":{"$ref":"#/types/azure:eventhub/EventSubscriptionSubjectFilter:EventSubscriptionSubjectFilter","description":"A \u003cspan pulumi-lang-nodejs=\"`subjectFilter`\" pulumi-lang-dotnet=\"`SubjectFilter`\" pulumi-lang-go=\"`subjectFilter`\" pulumi-lang-python=\"`subject_filter`\" pulumi-lang-yaml=\"`subjectFilter`\" pulumi-lang-java=\"`subjectFilter`\"\u003e`subject_filter`\u003c/span\u003e block as defined below.\n"},"webhookEndpoint":{"$ref":"#/types/azure:eventhub/EventSubscriptionWebhookEndpoint:EventSubscriptionWebhookEndpoint","description":"A \u003cspan pulumi-lang-nodejs=\"`webhookEndpoint`\" pulumi-lang-dotnet=\"`WebhookEndpoint`\" pulumi-lang-go=\"`webhookEndpoint`\" pulumi-lang-python=\"`webhook_endpoint`\" pulumi-lang-yaml=\"`webhookEndpoint`\" pulumi-lang-java=\"`webhookEndpoint`\"\u003e`webhook_endpoint`\u003c/span\u003e block as defined below.\n\n\u003e **Note:** One of \u003cspan pulumi-lang-nodejs=\"`eventhubEndpointId`\" pulumi-lang-dotnet=\"`EventhubEndpointId`\" pulumi-lang-go=\"`eventhubEndpointId`\" pulumi-lang-python=\"`eventhub_endpoint_id`\" pulumi-lang-yaml=\"`eventhubEndpointId`\" pulumi-lang-java=\"`eventhubEndpointId`\"\u003e`eventhub_endpoint_id`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`hybridConnectionEndpointId`\" pulumi-lang-dotnet=\"`HybridConnectionEndpointId`\" pulumi-lang-go=\"`hybridConnectionEndpointId`\" pulumi-lang-python=\"`hybrid_connection_endpoint_id`\" pulumi-lang-yaml=\"`hybridConnectionEndpointId`\" pulumi-lang-java=\"`hybridConnectionEndpointId`\"\u003e`hybrid_connection_endpoint_id`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`serviceBusQueueEndpointId`\" pulumi-lang-dotnet=\"`ServiceBusQueueEndpointId`\" pulumi-lang-go=\"`serviceBusQueueEndpointId`\" pulumi-lang-python=\"`service_bus_queue_endpoint_id`\" pulumi-lang-yaml=\"`serviceBusQueueEndpointId`\" pulumi-lang-java=\"`serviceBusQueueEndpointId`\"\u003e`service_bus_queue_endpoint_id`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`serviceBusTopicEndpointId`\" pulumi-lang-dotnet=\"`ServiceBusTopicEndpointId`\" pulumi-lang-go=\"`serviceBusTopicEndpointId`\" pulumi-lang-python=\"`service_bus_topic_endpoint_id`\" pulumi-lang-yaml=\"`serviceBusTopicEndpointId`\" pulumi-lang-java=\"`serviceBusTopicEndpointId`\"\u003e`service_bus_topic_endpoint_id`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`storageQueueEndpoint`\" pulumi-lang-dotnet=\"`StorageQueueEndpoint`\" pulumi-lang-go=\"`storageQueueEndpoint`\" pulumi-lang-python=\"`storage_queue_endpoint`\" pulumi-lang-yaml=\"`storageQueueEndpoint`\" pulumi-lang-java=\"`storageQueueEndpoint`\"\u003e`storage_queue_endpoint`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`webhookEndpoint`\" pulumi-lang-dotnet=\"`WebhookEndpoint`\" pulumi-lang-go=\"`webhookEndpoint`\" pulumi-lang-python=\"`webhook_endpoint`\" pulumi-lang-yaml=\"`webhookEndpoint`\" pulumi-lang-java=\"`webhookEndpoint`\"\u003e`webhook_endpoint`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`azureFunctionEndpoint`\" pulumi-lang-dotnet=\"`AzureFunctionEndpoint`\" pulumi-lang-go=\"`azureFunctionEndpoint`\" pulumi-lang-python=\"`azure_function_endpoint`\" pulumi-lang-yaml=\"`azureFunctionEndpoint`\" pulumi-lang-java=\"`azureFunctionEndpoint`\"\u003e`azure_function_endpoint`\u003c/span\u003e must be specified.\n"}},"type":"object"},"deprecationMessage":"azure.eventhub.EventSubscription has been deprecated in favor of azure.eventgrid.EventSubscription"},"azure:eventhub/eventhubNamespaceDisasterRecoveryConfig:EventhubNamespaceDisasterRecoveryConfig":{"description":"Manages an Disaster Recovery Config for an Event Hub Namespace.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"eventhub-replication\",\n    location: \"West Europe\",\n});\nconst primary = new azure.eventhub.EventHubNamespace(\"primary\", {\n    name: \"eventhub-primary\",\n    location: example.location,\n    resourceGroupName: example.name,\n    sku: \"Standard\",\n});\nconst secondary = new azure.eventhub.EventHubNamespace(\"secondary\", {\n    name: \"eventhub-secondary\",\n    location: example.location,\n    resourceGroupName: example.name,\n    sku: \"Standard\",\n});\nconst exampleEventhubNamespaceDisasterRecoveryConfig = new azure.eventhub.EventhubNamespaceDisasterRecoveryConfig(\"example\", {\n    name: \"replicate-eventhub\",\n    resourceGroupName: example.name,\n    namespaceName: primary.name,\n    partnerNamespaceId: secondary.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"eventhub-replication\",\n    location=\"West Europe\")\nprimary = azure.eventhub.EventHubNamespace(\"primary\",\n    name=\"eventhub-primary\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku=\"Standard\")\nsecondary = azure.eventhub.EventHubNamespace(\"secondary\",\n    name=\"eventhub-secondary\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku=\"Standard\")\nexample_eventhub_namespace_disaster_recovery_config = azure.eventhub.EventhubNamespaceDisasterRecoveryConfig(\"example\",\n    name=\"replicate-eventhub\",\n    resource_group_name=example.name,\n    namespace_name=primary.name,\n    partner_namespace_id=secondary.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"eventhub-replication\",\n        Location = \"West Europe\",\n    });\n\n    var primary = new Azure.EventHub.EventHubNamespace(\"primary\", new()\n    {\n        Name = \"eventhub-primary\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Sku = \"Standard\",\n    });\n\n    var secondary = new Azure.EventHub.EventHubNamespace(\"secondary\", new()\n    {\n        Name = \"eventhub-secondary\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Sku = \"Standard\",\n    });\n\n    var exampleEventhubNamespaceDisasterRecoveryConfig = new Azure.EventHub.EventhubNamespaceDisasterRecoveryConfig(\"example\", new()\n    {\n        Name = \"replicate-eventhub\",\n        ResourceGroupName = example.Name,\n        NamespaceName = primary.Name,\n        PartnerNamespaceId = secondary.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/eventhub\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"eventhub-replication\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tprimary, err := eventhub.NewEventHubNamespace(ctx, \"primary\", \u0026eventhub.EventHubNamespaceArgs{\n\t\t\tName:              pulumi.String(\"eventhub-primary\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSku:               pulumi.String(\"Standard\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsecondary, err := eventhub.NewEventHubNamespace(ctx, \"secondary\", \u0026eventhub.EventHubNamespaceArgs{\n\t\t\tName:              pulumi.String(\"eventhub-secondary\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSku:               pulumi.String(\"Standard\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = eventhub.NewEventhubNamespaceDisasterRecoveryConfig(ctx, \"example\", \u0026eventhub.EventhubNamespaceDisasterRecoveryConfigArgs{\n\t\t\tName:               pulumi.String(\"replicate-eventhub\"),\n\t\t\tResourceGroupName:  example.Name,\n\t\t\tNamespaceName:      primary.Name,\n\t\t\tPartnerNamespaceId: secondary.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.eventhub.EventHubNamespace;\nimport com.pulumi.azure.eventhub.EventHubNamespaceArgs;\nimport com.pulumi.azure.eventhub.EventhubNamespaceDisasterRecoveryConfig;\nimport com.pulumi.azure.eventhub.EventhubNamespaceDisasterRecoveryConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"eventhub-replication\")\n            .location(\"West Europe\")\n            .build());\n\n        var primary = new EventHubNamespace(\"primary\", EventHubNamespaceArgs.builder()\n            .name(\"eventhub-primary\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .sku(\"Standard\")\n            .build());\n\n        var secondary = new EventHubNamespace(\"secondary\", EventHubNamespaceArgs.builder()\n            .name(\"eventhub-secondary\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .sku(\"Standard\")\n            .build());\n\n        var exampleEventhubNamespaceDisasterRecoveryConfig = new EventhubNamespaceDisasterRecoveryConfig(\"exampleEventhubNamespaceDisasterRecoveryConfig\", EventhubNamespaceDisasterRecoveryConfigArgs.builder()\n            .name(\"replicate-eventhub\")\n            .resourceGroupName(example.name())\n            .namespaceName(primary.name())\n            .partnerNamespaceId(secondary.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: eventhub-replication\n      location: West Europe\n  primary:\n    type: azure:eventhub:EventHubNamespace\n    properties:\n      name: eventhub-primary\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      sku: Standard\n  secondary:\n    type: azure:eventhub:EventHubNamespace\n    properties:\n      name: eventhub-secondary\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      sku: Standard\n  exampleEventhubNamespaceDisasterRecoveryConfig:\n    type: azure:eventhub:EventhubNamespaceDisasterRecoveryConfig\n    name: example\n    properties:\n      name: replicate-eventhub\n      resourceGroupName: ${example.name}\n      namespaceName: ${primary.name}\n      partnerNamespaceId: ${secondary.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.EventHub` - 2024-01-01\n\n## Import\n\nEventHubs can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:eventhub/eventhubNamespaceDisasterRecoveryConfig:EventhubNamespaceDisasterRecoveryConfig config1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.EventHub/namespaces/namespace1/disasterRecoveryConfigs/config1\n```\n\n","properties":{"name":{"type":"string","description":"Specifies the name of the Disaster Recovery Config. Changing this forces a new resource to be created.\n"},"namespaceName":{"type":"string","description":"Specifies the name of the primary EventHub Namespace to replicate. Changing this forces a new resource to be created.\n"},"partnerNamespaceId":{"type":"string","description":"The ID of the EventHub Namespace to replicate to.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the Disaster Recovery Config exists. Changing this forces a new resource to be created.\n"}},"required":["name","namespaceName","partnerNamespaceId","resourceGroupName"],"inputProperties":{"name":{"type":"string","description":"Specifies the name of the Disaster Recovery Config. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"namespaceName":{"type":"string","description":"Specifies the name of the primary EventHub Namespace to replicate. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"partnerNamespaceId":{"type":"string","description":"The ID of the EventHub Namespace to replicate to.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the Disaster Recovery Config exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["namespaceName","partnerNamespaceId","resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering EventhubNamespaceDisasterRecoveryConfig resources.\n","properties":{"name":{"type":"string","description":"Specifies the name of the Disaster Recovery Config. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"namespaceName":{"type":"string","description":"Specifies the name of the primary EventHub Namespace to replicate. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"partnerNamespaceId":{"type":"string","description":"The ID of the EventHub Namespace to replicate to.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the Disaster Recovery Config exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:eventhub/namespace:Namespace":{"description":"Manages a ServiceBus Namespace.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"my-servicebus\",\n    location: \"West Europe\",\n});\nconst exampleNamespace = new azure.servicebus.Namespace(\"example\", {\n    name: \"tfex-servicebus-namespace\",\n    location: example.location,\n    resourceGroupName: example.name,\n    sku: \"Standard\",\n    tags: {\n        source: \"example\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"my-servicebus\",\n    location=\"West Europe\")\nexample_namespace = azure.servicebus.Namespace(\"example\",\n    name=\"tfex-servicebus-namespace\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku=\"Standard\",\n    tags={\n        \"source\": \"example\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"my-servicebus\",\n        Location = \"West Europe\",\n    });\n\n    var exampleNamespace = new Azure.ServiceBus.Namespace(\"example\", new()\n    {\n        Name = \"tfex-servicebus-namespace\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Sku = \"Standard\",\n        Tags = \n        {\n            { \"source\", \"example\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/servicebus\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"my-servicebus\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = servicebus.NewNamespace(ctx, \"example\", \u0026servicebus.NamespaceArgs{\n\t\t\tName:              pulumi.String(\"tfex-servicebus-namespace\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSku:               pulumi.String(\"Standard\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"source\": pulumi.String(\"example\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.servicebus.Namespace;\nimport com.pulumi.azure.servicebus.NamespaceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"my-servicebus\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleNamespace = new Namespace(\"exampleNamespace\", NamespaceArgs.builder()\n            .name(\"tfex-servicebus-namespace\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .sku(\"Standard\")\n            .tags(Map.of(\"source\", \"example\"))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: my-servicebus\n      location: West Europe\n  exampleNamespace:\n    type: azure:servicebus:Namespace\n    name: example\n    properties:\n      name: tfex-servicebus-namespace\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      sku: Standard\n      tags:\n        source: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.ServiceBus` - 2024-01-01\n\n## Import\n\nService Bus Namespace can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:eventhub/namespace:Namespace example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.ServiceBus/namespaces/sbns1\n```\n\n","properties":{"capacity":{"type":"integer","description":"Specifies the capacity. When \u003cspan pulumi-lang-nodejs=\"`sku`\" pulumi-lang-dotnet=\"`Sku`\" pulumi-lang-go=\"`sku`\" pulumi-lang-python=\"`sku`\" pulumi-lang-yaml=\"`sku`\" pulumi-lang-java=\"`sku`\"\u003e`sku`\u003c/span\u003e is `Premium`, capacity can be \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`4`\" pulumi-lang-dotnet=\"`4`\" pulumi-lang-go=\"`4`\" pulumi-lang-python=\"`4`\" pulumi-lang-yaml=\"`4`\" pulumi-lang-java=\"`4`\"\u003e`4`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`8`\" pulumi-lang-dotnet=\"`8`\" pulumi-lang-go=\"`8`\" pulumi-lang-python=\"`8`\" pulumi-lang-yaml=\"`8`\" pulumi-lang-java=\"`8`\"\u003e`8`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`16`\" pulumi-lang-dotnet=\"`16`\" pulumi-lang-go=\"`16`\" pulumi-lang-python=\"`16`\" pulumi-lang-yaml=\"`16`\" pulumi-lang-java=\"`16`\"\u003e`16`\u003c/span\u003e. When \u003cspan pulumi-lang-nodejs=\"`sku`\" pulumi-lang-dotnet=\"`Sku`\" pulumi-lang-go=\"`sku`\" pulumi-lang-python=\"`sku`\" pulumi-lang-yaml=\"`sku`\" pulumi-lang-java=\"`sku`\"\u003e`sku`\u003c/span\u003e is `Basic` or `Standard`, capacity can be \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e only.\n"},"customerManagedKey":{"$ref":"#/types/azure:eventhub/NamespaceCustomerManagedKey:NamespaceCustomerManagedKey","description":"An \u003cspan pulumi-lang-nodejs=\"`customerManagedKey`\" pulumi-lang-dotnet=\"`CustomerManagedKey`\" pulumi-lang-go=\"`customerManagedKey`\" pulumi-lang-python=\"`customer_managed_key`\" pulumi-lang-yaml=\"`customerManagedKey`\" pulumi-lang-java=\"`customerManagedKey`\"\u003e`customer_managed_key`\u003c/span\u003e block as defined below.\n"},"defaultPrimaryConnectionString":{"type":"string","description":"The primary connection string for the authorization rule `RootManageSharedAccessKey`.\n","secret":true},"defaultPrimaryKey":{"type":"string","description":"The primary access key for the authorization rule `RootManageSharedAccessKey`.\n","secret":true},"defaultSecondaryConnectionString":{"type":"string","description":"The secondary connection string for the authorization rule `RootManageSharedAccessKey`.\n","secret":true},"defaultSecondaryKey":{"type":"string","description":"The secondary access key for the authorization rule `RootManageSharedAccessKey`.\n","secret":true},"endpoint":{"type":"string","description":"The URL to access the Service Bus Namespace.\n"},"identity":{"$ref":"#/types/azure:eventhub/NamespaceIdentity:NamespaceIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"localAuthEnabled":{"type":"boolean","description":"Whether or not SAS authentication is enabled for the Service Bus namespace. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n"},"minimumTlsVersion":{"type":"string","description":"The minimum supported TLS version for this Service Bus Namespace. Valid values are: `1.0`, `1.1` and `1.2`. Defaults to `1.2`.\n\n\u003e **Note:** Azure Services will require TLS 1.2+ by August 2025, please see this [announcement](https://azure.microsoft.com/en-us/updates/v2/update-retirement-tls1-0-tls1-1-versions-azure-services/) for more.\n"},"name":{"type":"string","description":"Specifies the name of the Service Bus Namespace resource . Changing this forces a new resource to be created.\n"},"networkRuleSet":{"$ref":"#/types/azure:eventhub/NamespaceNetworkRuleSet:NamespaceNetworkRuleSet","description":"An \u003cspan pulumi-lang-nodejs=\"`networkRuleSet`\" pulumi-lang-dotnet=\"`NetworkRuleSet`\" pulumi-lang-go=\"`networkRuleSet`\" pulumi-lang-python=\"`network_rule_set`\" pulumi-lang-yaml=\"`networkRuleSet`\" pulumi-lang-java=\"`networkRuleSet`\"\u003e`network_rule_set`\u003c/span\u003e block as defined below.\n"},"premiumMessagingPartitions":{"type":"integer","description":"Specifies the number messaging partitions. Only valid when \u003cspan pulumi-lang-nodejs=\"`sku`\" pulumi-lang-dotnet=\"`Sku`\" pulumi-lang-go=\"`sku`\" pulumi-lang-python=\"`sku`\" pulumi-lang-yaml=\"`sku`\" pulumi-lang-java=\"`sku`\"\u003e`sku`\u003c/span\u003e is `Premium` and the minimum number is \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e. Possible values include \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`4`\" pulumi-lang-dotnet=\"`4`\" pulumi-lang-go=\"`4`\" pulumi-lang-python=\"`4`\" pulumi-lang-yaml=\"`4`\" pulumi-lang-java=\"`4`\"\u003e`4`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e for Standard, Basic namespace. Changing this forces a new resource to be created.\n\n\u003e **Note:** It's not possible to change the partitioning option on any existing namespace. The number of partitions can only be set during namespace creation. Please check the doc https://learn.microsoft.com/en-us/azure/service-bus-messaging/enable-partitions-premium for more feature restrictions.\n"},"publicNetworkAccessEnabled":{"type":"boolean","description":"Is public network access enabled for the Service Bus Namespace? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to Changing this forces a new resource to be created.\ncreate the namespace.\n"},"sku":{"type":"string","description":"Defines which tier to use. Options are `Basic`, `Standard` or `Premium`. Please note that setting this field to `Premium` will force the creation of a new resource.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"required":["defaultPrimaryConnectionString","defaultPrimaryKey","defaultSecondaryConnectionString","defaultSecondaryKey","endpoint","location","name","networkRuleSet","resourceGroupName","sku"],"inputProperties":{"capacity":{"type":"integer","description":"Specifies the capacity. When \u003cspan pulumi-lang-nodejs=\"`sku`\" pulumi-lang-dotnet=\"`Sku`\" pulumi-lang-go=\"`sku`\" pulumi-lang-python=\"`sku`\" pulumi-lang-yaml=\"`sku`\" pulumi-lang-java=\"`sku`\"\u003e`sku`\u003c/span\u003e is `Premium`, capacity can be \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`4`\" pulumi-lang-dotnet=\"`4`\" pulumi-lang-go=\"`4`\" pulumi-lang-python=\"`4`\" pulumi-lang-yaml=\"`4`\" pulumi-lang-java=\"`4`\"\u003e`4`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`8`\" pulumi-lang-dotnet=\"`8`\" pulumi-lang-go=\"`8`\" pulumi-lang-python=\"`8`\" pulumi-lang-yaml=\"`8`\" pulumi-lang-java=\"`8`\"\u003e`8`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`16`\" pulumi-lang-dotnet=\"`16`\" pulumi-lang-go=\"`16`\" pulumi-lang-python=\"`16`\" pulumi-lang-yaml=\"`16`\" pulumi-lang-java=\"`16`\"\u003e`16`\u003c/span\u003e. When \u003cspan pulumi-lang-nodejs=\"`sku`\" pulumi-lang-dotnet=\"`Sku`\" pulumi-lang-go=\"`sku`\" pulumi-lang-python=\"`sku`\" pulumi-lang-yaml=\"`sku`\" pulumi-lang-java=\"`sku`\"\u003e`sku`\u003c/span\u003e is `Basic` or `Standard`, capacity can be \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e only.\n"},"customerManagedKey":{"$ref":"#/types/azure:eventhub/NamespaceCustomerManagedKey:NamespaceCustomerManagedKey","description":"An \u003cspan pulumi-lang-nodejs=\"`customerManagedKey`\" pulumi-lang-dotnet=\"`CustomerManagedKey`\" pulumi-lang-go=\"`customerManagedKey`\" pulumi-lang-python=\"`customer_managed_key`\" pulumi-lang-yaml=\"`customerManagedKey`\" pulumi-lang-java=\"`customerManagedKey`\"\u003e`customer_managed_key`\u003c/span\u003e block as defined below.\n"},"identity":{"$ref":"#/types/azure:eventhub/NamespaceIdentity:NamespaceIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"localAuthEnabled":{"type":"boolean","description":"Whether or not SAS authentication is enabled for the Service Bus namespace. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"minimumTlsVersion":{"type":"string","description":"The minimum supported TLS version for this Service Bus Namespace. Valid values are: `1.0`, `1.1` and `1.2`. Defaults to `1.2`.\n\n\u003e **Note:** Azure Services will require TLS 1.2+ by August 2025, please see this [announcement](https://azure.microsoft.com/en-us/updates/v2/update-retirement-tls1-0-tls1-1-versions-azure-services/) for more.\n"},"name":{"type":"string","description":"Specifies the name of the Service Bus Namespace resource . Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"networkRuleSet":{"$ref":"#/types/azure:eventhub/NamespaceNetworkRuleSet:NamespaceNetworkRuleSet","description":"An \u003cspan pulumi-lang-nodejs=\"`networkRuleSet`\" pulumi-lang-dotnet=\"`NetworkRuleSet`\" pulumi-lang-go=\"`networkRuleSet`\" pulumi-lang-python=\"`network_rule_set`\" pulumi-lang-yaml=\"`networkRuleSet`\" pulumi-lang-java=\"`networkRuleSet`\"\u003e`network_rule_set`\u003c/span\u003e block as defined below.\n"},"premiumMessagingPartitions":{"type":"integer","description":"Specifies the number messaging partitions. Only valid when \u003cspan pulumi-lang-nodejs=\"`sku`\" pulumi-lang-dotnet=\"`Sku`\" pulumi-lang-go=\"`sku`\" pulumi-lang-python=\"`sku`\" pulumi-lang-yaml=\"`sku`\" pulumi-lang-java=\"`sku`\"\u003e`sku`\u003c/span\u003e is `Premium` and the minimum number is \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e. Possible values include \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`4`\" pulumi-lang-dotnet=\"`4`\" pulumi-lang-go=\"`4`\" pulumi-lang-python=\"`4`\" pulumi-lang-yaml=\"`4`\" pulumi-lang-java=\"`4`\"\u003e`4`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e for Standard, Basic namespace. Changing this forces a new resource to be created.\n\n\u003e **Note:** It's not possible to change the partitioning option on any existing namespace. The number of partitions can only be set during namespace creation. Please check the doc https://learn.microsoft.com/en-us/azure/service-bus-messaging/enable-partitions-premium for more feature restrictions.\n","willReplaceOnChanges":true},"publicNetworkAccessEnabled":{"type":"boolean","description":"Is public network access enabled for the Service Bus Namespace? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to Changing this forces a new resource to be created.\ncreate the namespace.\n","willReplaceOnChanges":true},"sku":{"type":"string","description":"Defines which tier to use. Options are `Basic`, `Standard` or `Premium`. Please note that setting this field to `Premium` will force the creation of a new resource.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"requiredInputs":["resourceGroupName","sku"],"stateInputs":{"description":"Input properties used for looking up and filtering Namespace resources.\n","properties":{"capacity":{"type":"integer","description":"Specifies the capacity. When \u003cspan pulumi-lang-nodejs=\"`sku`\" pulumi-lang-dotnet=\"`Sku`\" pulumi-lang-go=\"`sku`\" pulumi-lang-python=\"`sku`\" pulumi-lang-yaml=\"`sku`\" pulumi-lang-java=\"`sku`\"\u003e`sku`\u003c/span\u003e is `Premium`, capacity can be \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`4`\" pulumi-lang-dotnet=\"`4`\" pulumi-lang-go=\"`4`\" pulumi-lang-python=\"`4`\" pulumi-lang-yaml=\"`4`\" pulumi-lang-java=\"`4`\"\u003e`4`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`8`\" pulumi-lang-dotnet=\"`8`\" pulumi-lang-go=\"`8`\" pulumi-lang-python=\"`8`\" pulumi-lang-yaml=\"`8`\" pulumi-lang-java=\"`8`\"\u003e`8`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`16`\" pulumi-lang-dotnet=\"`16`\" pulumi-lang-go=\"`16`\" pulumi-lang-python=\"`16`\" pulumi-lang-yaml=\"`16`\" pulumi-lang-java=\"`16`\"\u003e`16`\u003c/span\u003e. When \u003cspan pulumi-lang-nodejs=\"`sku`\" pulumi-lang-dotnet=\"`Sku`\" pulumi-lang-go=\"`sku`\" pulumi-lang-python=\"`sku`\" pulumi-lang-yaml=\"`sku`\" pulumi-lang-java=\"`sku`\"\u003e`sku`\u003c/span\u003e is `Basic` or `Standard`, capacity can be \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e only.\n"},"customerManagedKey":{"$ref":"#/types/azure:eventhub/NamespaceCustomerManagedKey:NamespaceCustomerManagedKey","description":"An \u003cspan pulumi-lang-nodejs=\"`customerManagedKey`\" pulumi-lang-dotnet=\"`CustomerManagedKey`\" pulumi-lang-go=\"`customerManagedKey`\" pulumi-lang-python=\"`customer_managed_key`\" pulumi-lang-yaml=\"`customerManagedKey`\" pulumi-lang-java=\"`customerManagedKey`\"\u003e`customer_managed_key`\u003c/span\u003e block as defined below.\n"},"defaultPrimaryConnectionString":{"type":"string","description":"The primary connection string for the authorization rule `RootManageSharedAccessKey`.\n","secret":true},"defaultPrimaryKey":{"type":"string","description":"The primary access key for the authorization rule `RootManageSharedAccessKey`.\n","secret":true},"defaultSecondaryConnectionString":{"type":"string","description":"The secondary connection string for the authorization rule `RootManageSharedAccessKey`.\n","secret":true},"defaultSecondaryKey":{"type":"string","description":"The secondary access key for the authorization rule `RootManageSharedAccessKey`.\n","secret":true},"endpoint":{"type":"string","description":"The URL to access the Service Bus Namespace.\n"},"identity":{"$ref":"#/types/azure:eventhub/NamespaceIdentity:NamespaceIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"localAuthEnabled":{"type":"boolean","description":"Whether or not SAS authentication is enabled for the Service Bus namespace. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"minimumTlsVersion":{"type":"string","description":"The minimum supported TLS version for this Service Bus Namespace. Valid values are: `1.0`, `1.1` and `1.2`. Defaults to `1.2`.\n\n\u003e **Note:** Azure Services will require TLS 1.2+ by August 2025, please see this [announcement](https://azure.microsoft.com/en-us/updates/v2/update-retirement-tls1-0-tls1-1-versions-azure-services/) for more.\n"},"name":{"type":"string","description":"Specifies the name of the Service Bus Namespace resource . Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"networkRuleSet":{"$ref":"#/types/azure:eventhub/NamespaceNetworkRuleSet:NamespaceNetworkRuleSet","description":"An \u003cspan pulumi-lang-nodejs=\"`networkRuleSet`\" pulumi-lang-dotnet=\"`NetworkRuleSet`\" pulumi-lang-go=\"`networkRuleSet`\" pulumi-lang-python=\"`network_rule_set`\" pulumi-lang-yaml=\"`networkRuleSet`\" pulumi-lang-java=\"`networkRuleSet`\"\u003e`network_rule_set`\u003c/span\u003e block as defined below.\n"},"premiumMessagingPartitions":{"type":"integer","description":"Specifies the number messaging partitions. Only valid when \u003cspan pulumi-lang-nodejs=\"`sku`\" pulumi-lang-dotnet=\"`Sku`\" pulumi-lang-go=\"`sku`\" pulumi-lang-python=\"`sku`\" pulumi-lang-yaml=\"`sku`\" pulumi-lang-java=\"`sku`\"\u003e`sku`\u003c/span\u003e is `Premium` and the minimum number is \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e. Possible values include \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`4`\" pulumi-lang-dotnet=\"`4`\" pulumi-lang-go=\"`4`\" pulumi-lang-python=\"`4`\" pulumi-lang-yaml=\"`4`\" pulumi-lang-java=\"`4`\"\u003e`4`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e for Standard, Basic namespace. Changing this forces a new resource to be created.\n\n\u003e **Note:** It's not possible to change the partitioning option on any existing namespace. The number of partitions can only be set during namespace creation. Please check the doc https://learn.microsoft.com/en-us/azure/service-bus-messaging/enable-partitions-premium for more feature restrictions.\n","willReplaceOnChanges":true},"publicNetworkAccessEnabled":{"type":"boolean","description":"Is public network access enabled for the Service Bus Namespace? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to Changing this forces a new resource to be created.\ncreate the namespace.\n","willReplaceOnChanges":true},"sku":{"type":"string","description":"Defines which tier to use. Options are `Basic`, `Standard` or `Premium`. Please note that setting this field to `Premium` will force the creation of a new resource.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"type":"object"},"deprecationMessage":"azure.eventhub.Namespace has been deprecated in favor of azure.servicebus.Namespace"},"azure:eventhub/namespaceAuthorizationRule:NamespaceAuthorizationRule":{"description":"Manages a ServiceBus Namespace authorization Rule within a ServiceBus.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"my-servicebus\",\n    location: \"West US\",\n});\nconst exampleNamespace = new azure.servicebus.Namespace(\"example\", {\n    name: \"tfex-servicebus-namespace\",\n    location: example.location,\n    resourceGroupName: example.name,\n    sku: \"Standard\",\n    tags: {\n        source: \"example\",\n    },\n});\nconst exampleNamespaceAuthorizationRule = new azure.servicebus.NamespaceAuthorizationRule(\"example\", {\n    name: \"examplerule\",\n    namespaceId: exampleNamespace.id,\n    listen: true,\n    send: true,\n    manage: false,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"my-servicebus\",\n    location=\"West US\")\nexample_namespace = azure.servicebus.Namespace(\"example\",\n    name=\"tfex-servicebus-namespace\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku=\"Standard\",\n    tags={\n        \"source\": \"example\",\n    })\nexample_namespace_authorization_rule = azure.servicebus.NamespaceAuthorizationRule(\"example\",\n    name=\"examplerule\",\n    namespace_id=example_namespace.id,\n    listen=True,\n    send=True,\n    manage=False)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"my-servicebus\",\n        Location = \"West US\",\n    });\n\n    var exampleNamespace = new Azure.ServiceBus.Namespace(\"example\", new()\n    {\n        Name = \"tfex-servicebus-namespace\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Sku = \"Standard\",\n        Tags = \n        {\n            { \"source\", \"example\" },\n        },\n    });\n\n    var exampleNamespaceAuthorizationRule = new Azure.ServiceBus.NamespaceAuthorizationRule(\"example\", new()\n    {\n        Name = \"examplerule\",\n        NamespaceId = exampleNamespace.Id,\n        Listen = true,\n        Send = true,\n        Manage = false,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/servicebus\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"my-servicebus\"),\n\t\t\tLocation: pulumi.String(\"West US\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNamespace, err := servicebus.NewNamespace(ctx, \"example\", \u0026servicebus.NamespaceArgs{\n\t\t\tName:              pulumi.String(\"tfex-servicebus-namespace\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSku:               pulumi.String(\"Standard\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"source\": pulumi.String(\"example\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = servicebus.NewNamespaceAuthorizationRule(ctx, \"example\", \u0026servicebus.NamespaceAuthorizationRuleArgs{\n\t\t\tName:        pulumi.String(\"examplerule\"),\n\t\t\tNamespaceId: exampleNamespace.ID(),\n\t\t\tListen:      pulumi.Bool(true),\n\t\t\tSend:        pulumi.Bool(true),\n\t\t\tManage:      pulumi.Bool(false),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.servicebus.Namespace;\nimport com.pulumi.azure.servicebus.NamespaceArgs;\nimport com.pulumi.azure.servicebus.NamespaceAuthorizationRule;\nimport com.pulumi.azure.servicebus.NamespaceAuthorizationRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"my-servicebus\")\n            .location(\"West US\")\n            .build());\n\n        var exampleNamespace = new Namespace(\"exampleNamespace\", NamespaceArgs.builder()\n            .name(\"tfex-servicebus-namespace\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .sku(\"Standard\")\n            .tags(Map.of(\"source\", \"example\"))\n            .build());\n\n        var exampleNamespaceAuthorizationRule = new NamespaceAuthorizationRule(\"exampleNamespaceAuthorizationRule\", NamespaceAuthorizationRuleArgs.builder()\n            .name(\"examplerule\")\n            .namespaceId(exampleNamespace.id())\n            .listen(true)\n            .send(true)\n            .manage(false)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: my-servicebus\n      location: West US\n  exampleNamespace:\n    type: azure:servicebus:Namespace\n    name: example\n    properties:\n      name: tfex-servicebus-namespace\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      sku: Standard\n      tags:\n        source: example\n  exampleNamespaceAuthorizationRule:\n    type: azure:servicebus:NamespaceAuthorizationRule\n    name: example\n    properties:\n      name: examplerule\n      namespaceId: ${exampleNamespace.id}\n      listen: true\n      send: true\n      manage: false\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.ServiceBus` - 2024-01-01\n\n## Import\n\nServiceBus Namespace authorization rules can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:eventhub/namespaceAuthorizationRule:NamespaceAuthorizationRule rule1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.ServiceBus/namespaces/namespace1/authorizationRules/rule1\n```\n\n","properties":{"listen":{"type":"boolean","description":"Grants listen access to this Authorization Rule. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"manage":{"type":"boolean","description":"Grants manage access to this Authorization Rule. When this property is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e - both \u003cspan pulumi-lang-nodejs=\"`listen`\" pulumi-lang-dotnet=\"`Listen`\" pulumi-lang-go=\"`listen`\" pulumi-lang-python=\"`listen`\" pulumi-lang-yaml=\"`listen`\" pulumi-lang-java=\"`listen`\"\u003e`listen`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`send`\" pulumi-lang-dotnet=\"`Send`\" pulumi-lang-go=\"`send`\" pulumi-lang-python=\"`send`\" pulumi-lang-yaml=\"`send`\" pulumi-lang-java=\"`send`\"\u003e`send`\u003c/span\u003e must be too. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"name":{"type":"string","description":"Specifies the name of the ServiceBus Namespace Authorization Rule resource. Changing this forces a new resource to be created.\n"},"namespaceId":{"type":"string","description":"Specifies the ID of the ServiceBus Namespace. Changing this forces a new resource to be created.\n\n\u003e **Note:** At least one of the 3 permissions below needs to be set.\n"},"primaryConnectionString":{"type":"string","description":"The Primary Connection String for the ServiceBus Namespace authorization Rule.\n","secret":true},"primaryConnectionStringAlias":{"type":"string","description":"The alias Primary Connection String for the ServiceBus Namespace, if the namespace is Geo DR paired.\n","secret":true},"primaryKey":{"type":"string","description":"The Primary Key for the ServiceBus Namespace authorization Rule.\n","secret":true},"secondaryConnectionString":{"type":"string","description":"The Secondary Connection String for the ServiceBus Namespace authorization Rule.\n","secret":true},"secondaryConnectionStringAlias":{"type":"string","description":"The alias Secondary Connection String for the ServiceBus Namespace\n","secret":true},"secondaryKey":{"type":"string","description":"The Secondary Key for the ServiceBus Namespace authorization Rule.\n","secret":true},"send":{"type":"boolean","description":"Grants send access to this Authorization Rule. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"}},"required":["name","namespaceId","primaryConnectionString","primaryConnectionStringAlias","primaryKey","secondaryConnectionString","secondaryConnectionStringAlias","secondaryKey"],"inputProperties":{"listen":{"type":"boolean","description":"Grants listen access to this Authorization Rule. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"manage":{"type":"boolean","description":"Grants manage access to this Authorization Rule. When this property is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e - both \u003cspan pulumi-lang-nodejs=\"`listen`\" pulumi-lang-dotnet=\"`Listen`\" pulumi-lang-go=\"`listen`\" pulumi-lang-python=\"`listen`\" pulumi-lang-yaml=\"`listen`\" pulumi-lang-java=\"`listen`\"\u003e`listen`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`send`\" pulumi-lang-dotnet=\"`Send`\" pulumi-lang-go=\"`send`\" pulumi-lang-python=\"`send`\" pulumi-lang-yaml=\"`send`\" pulumi-lang-java=\"`send`\"\u003e`send`\u003c/span\u003e must be too. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"name":{"type":"string","description":"Specifies the name of the ServiceBus Namespace Authorization Rule resource. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"namespaceId":{"type":"string","description":"Specifies the ID of the ServiceBus Namespace. Changing this forces a new resource to be created.\n\n\u003e **Note:** At least one of the 3 permissions below needs to be set.\n","willReplaceOnChanges":true},"send":{"type":"boolean","description":"Grants send access to this Authorization Rule. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"}},"requiredInputs":["namespaceId"],"stateInputs":{"description":"Input properties used for looking up and filtering NamespaceAuthorizationRule resources.\n","properties":{"listen":{"type":"boolean","description":"Grants listen access to this Authorization Rule. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"manage":{"type":"boolean","description":"Grants manage access to this Authorization Rule. When this property is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e - both \u003cspan pulumi-lang-nodejs=\"`listen`\" pulumi-lang-dotnet=\"`Listen`\" pulumi-lang-go=\"`listen`\" pulumi-lang-python=\"`listen`\" pulumi-lang-yaml=\"`listen`\" pulumi-lang-java=\"`listen`\"\u003e`listen`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`send`\" pulumi-lang-dotnet=\"`Send`\" pulumi-lang-go=\"`send`\" pulumi-lang-python=\"`send`\" pulumi-lang-yaml=\"`send`\" pulumi-lang-java=\"`send`\"\u003e`send`\u003c/span\u003e must be too. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"name":{"type":"string","description":"Specifies the name of the ServiceBus Namespace Authorization Rule resource. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"namespaceId":{"type":"string","description":"Specifies the ID of the ServiceBus Namespace. Changing this forces a new resource to be created.\n\n\u003e **Note:** At least one of the 3 permissions below needs to be set.\n","willReplaceOnChanges":true},"primaryConnectionString":{"type":"string","description":"The Primary Connection String for the ServiceBus Namespace authorization Rule.\n","secret":true},"primaryConnectionStringAlias":{"type":"string","description":"The alias Primary Connection String for the ServiceBus Namespace, if the namespace is Geo DR paired.\n","secret":true},"primaryKey":{"type":"string","description":"The Primary Key for the ServiceBus Namespace authorization Rule.\n","secret":true},"secondaryConnectionString":{"type":"string","description":"The Secondary Connection String for the ServiceBus Namespace authorization Rule.\n","secret":true},"secondaryConnectionStringAlias":{"type":"string","description":"The alias Secondary Connection String for the ServiceBus Namespace\n","secret":true},"secondaryKey":{"type":"string","description":"The Secondary Key for the ServiceBus Namespace authorization Rule.\n","secret":true},"send":{"type":"boolean","description":"Grants send access to this Authorization Rule. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"}},"type":"object"},"deprecationMessage":"azure.eventhub.NamespaceAuthorizationRule has been deprecated in favor of azure.servicebus.NamespaceAuthorizationRule"},"azure:eventhub/namespaceCustomerManagedKey:NamespaceCustomerManagedKey":{"description":"Manages a Customer Managed Key for a EventHub Namespace.\n\n!\u003e **Note:** In 2.x versions of the Azure Provider during deletion this resource will **delete and recreate the parent EventHub Namespace which may involve data loss** as it's not possible to remove the Customer Managed Key from the EventHub Namespace once it's been added. Version 3.0 of the Azure Provider will change this so that the Delete operation is a noop, requiring the parent EventHub Namespace is deleted/recreated to remove the Customer Managed Key.\n\n## Example Usage\n\n### With System Assigned Identity\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleCluster = new azure.eventhub.Cluster(\"example\", {\n    name: \"example-cluster\",\n    resourceGroupName: example.name,\n    location: example.location,\n    skuName: \"Dedicated_1\",\n});\nconst exampleEventHubNamespace = new azure.eventhub.EventHubNamespace(\"example\", {\n    name: \"example-namespace\",\n    location: example.location,\n    resourceGroupName: example.name,\n    sku: \"Standard\",\n    dedicatedClusterId: exampleCluster.id,\n    identity: {\n        type: \"SystemAssigned\",\n    },\n});\nconst current = azure.core.getClientConfig({});\nconst exampleKeyVault = new azure.keyvault.KeyVault(\"example\", {\n    name: \"examplekv\",\n    location: example.location,\n    resourceGroupName: example.name,\n    tenantId: current.then(current =\u003e current.tenantId),\n    skuName: \"standard\",\n    purgeProtectionEnabled: true,\n});\nconst exampleAccessPolicy = new azure.keyvault.AccessPolicy(\"example\", {\n    keyVaultId: exampleKeyVault.id,\n    tenantId: exampleEventHubNamespace.identity.apply(identity =\u003e identity?.tenantId),\n    objectId: exampleEventHubNamespace.identity.apply(identity =\u003e identity?.principalId),\n    keyPermissions: [\n        \"Get\",\n        \"UnwrapKey\",\n        \"WrapKey\",\n    ],\n});\nconst example2 = new azure.keyvault.AccessPolicy(\"example2\", {\n    keyVaultId: exampleKeyVault.id,\n    tenantId: current.then(current =\u003e current.tenantId),\n    objectId: current.then(current =\u003e current.objectId),\n    keyPermissions: [\n        \"Create\",\n        \"Delete\",\n        \"Get\",\n        \"List\",\n        \"Purge\",\n        \"Recover\",\n        \"GetRotationPolicy\",\n    ],\n});\nconst exampleKey = new azure.keyvault.Key(\"example\", {\n    name: \"examplekvkey\",\n    keyVaultId: exampleKeyVault.id,\n    keyType: \"RSA\",\n    keySize: 2048,\n    keyOpts: [\n        \"decrypt\",\n        \"encrypt\",\n        \"sign\",\n        \"unwrapKey\",\n        \"verify\",\n        \"wrapKey\",\n    ],\n}, {\n    dependsOn: [\n        exampleAccessPolicy,\n        example2,\n    ],\n});\nconst exampleNamespaceCustomerManagedKey = new azure.eventhub.NamespaceCustomerManagedKey(\"example\", {\n    eventhubNamespaceId: exampleEventHubNamespace.id,\n    keyVaultKeyIds: [exampleKey.id],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_cluster = azure.eventhub.Cluster(\"example\",\n    name=\"example-cluster\",\n    resource_group_name=example.name,\n    location=example.location,\n    sku_name=\"Dedicated_1\")\nexample_event_hub_namespace = azure.eventhub.EventHubNamespace(\"example\",\n    name=\"example-namespace\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku=\"Standard\",\n    dedicated_cluster_id=example_cluster.id,\n    identity={\n        \"type\": \"SystemAssigned\",\n    })\ncurrent = azure.core.get_client_config()\nexample_key_vault = azure.keyvault.KeyVault(\"example\",\n    name=\"examplekv\",\n    location=example.location,\n    resource_group_name=example.name,\n    tenant_id=current.tenant_id,\n    sku_name=\"standard\",\n    purge_protection_enabled=True)\nexample_access_policy = azure.keyvault.AccessPolicy(\"example\",\n    key_vault_id=example_key_vault.id,\n    tenant_id=example_event_hub_namespace.identity.tenant_id,\n    object_id=example_event_hub_namespace.identity.principal_id,\n    key_permissions=[\n        \"Get\",\n        \"UnwrapKey\",\n        \"WrapKey\",\n    ])\nexample2 = azure.keyvault.AccessPolicy(\"example2\",\n    key_vault_id=example_key_vault.id,\n    tenant_id=current.tenant_id,\n    object_id=current.object_id,\n    key_permissions=[\n        \"Create\",\n        \"Delete\",\n        \"Get\",\n        \"List\",\n        \"Purge\",\n        \"Recover\",\n        \"GetRotationPolicy\",\n    ])\nexample_key = azure.keyvault.Key(\"example\",\n    name=\"examplekvkey\",\n    key_vault_id=example_key_vault.id,\n    key_type=\"RSA\",\n    key_size=2048,\n    key_opts=[\n        \"decrypt\",\n        \"encrypt\",\n        \"sign\",\n        \"unwrapKey\",\n        \"verify\",\n        \"wrapKey\",\n    ],\n    opts = pulumi.ResourceOptions(depends_on=[\n            example_access_policy,\n            example2,\n        ]))\nexample_namespace_customer_managed_key = azure.eventhub.NamespaceCustomerManagedKey(\"example\",\n    eventhub_namespace_id=example_event_hub_namespace.id,\n    key_vault_key_ids=[example_key.id])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleCluster = new Azure.EventHub.Cluster(\"example\", new()\n    {\n        Name = \"example-cluster\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        SkuName = \"Dedicated_1\",\n    });\n\n    var exampleEventHubNamespace = new Azure.EventHub.EventHubNamespace(\"example\", new()\n    {\n        Name = \"example-namespace\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Sku = \"Standard\",\n        DedicatedClusterId = exampleCluster.Id,\n        Identity = new Azure.EventHub.Inputs.EventHubNamespaceIdentityArgs\n        {\n            Type = \"SystemAssigned\",\n        },\n    });\n\n    var current = Azure.Core.GetClientConfig.Invoke();\n\n    var exampleKeyVault = new Azure.KeyVault.KeyVault(\"example\", new()\n    {\n        Name = \"examplekv\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        TenantId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.TenantId),\n        SkuName = \"standard\",\n        PurgeProtectionEnabled = true,\n    });\n\n    var exampleAccessPolicy = new Azure.KeyVault.AccessPolicy(\"example\", new()\n    {\n        KeyVaultId = exampleKeyVault.Id,\n        TenantId = exampleEventHubNamespace.Identity.Apply(identity =\u003e identity?.TenantId),\n        ObjectId = exampleEventHubNamespace.Identity.Apply(identity =\u003e identity?.PrincipalId),\n        KeyPermissions = new[]\n        {\n            \"Get\",\n            \"UnwrapKey\",\n            \"WrapKey\",\n        },\n    });\n\n    var example2 = new Azure.KeyVault.AccessPolicy(\"example2\", new()\n    {\n        KeyVaultId = exampleKeyVault.Id,\n        TenantId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.TenantId),\n        ObjectId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.ObjectId),\n        KeyPermissions = new[]\n        {\n            \"Create\",\n            \"Delete\",\n            \"Get\",\n            \"List\",\n            \"Purge\",\n            \"Recover\",\n            \"GetRotationPolicy\",\n        },\n    });\n\n    var exampleKey = new Azure.KeyVault.Key(\"example\", new()\n    {\n        Name = \"examplekvkey\",\n        KeyVaultId = exampleKeyVault.Id,\n        KeyType = \"RSA\",\n        KeySize = 2048,\n        KeyOpts = new[]\n        {\n            \"decrypt\",\n            \"encrypt\",\n            \"sign\",\n            \"unwrapKey\",\n            \"verify\",\n            \"wrapKey\",\n        },\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            exampleAccessPolicy,\n            example2,\n        },\n    });\n\n    var exampleNamespaceCustomerManagedKey = new Azure.EventHub.NamespaceCustomerManagedKey(\"example\", new()\n    {\n        EventhubNamespaceId = exampleEventHubNamespace.Id,\n        KeyVaultKeyIds = new[]\n        {\n            exampleKey.Id,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/eventhub\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/keyvault\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleCluster, err := eventhub.NewCluster(ctx, \"example\", \u0026eventhub.ClusterArgs{\n\t\t\tName:              pulumi.String(\"example-cluster\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tSkuName:           pulumi.String(\"Dedicated_1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleEventHubNamespace, err := eventhub.NewEventHubNamespace(ctx, \"example\", \u0026eventhub.EventHubNamespaceArgs{\n\t\t\tName:               pulumi.String(\"example-namespace\"),\n\t\t\tLocation:           example.Location,\n\t\t\tResourceGroupName:  example.Name,\n\t\t\tSku:                pulumi.String(\"Standard\"),\n\t\t\tDedicatedClusterId: exampleCluster.ID(),\n\t\t\tIdentity: \u0026eventhub.EventHubNamespaceIdentityArgs{\n\t\t\t\tType: pulumi.String(\"SystemAssigned\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrent, err := core.GetClientConfig(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleKeyVault, err := keyvault.NewKeyVault(ctx, \"example\", \u0026keyvault.KeyVaultArgs{\n\t\t\tName:                   pulumi.String(\"examplekv\"),\n\t\t\tLocation:               example.Location,\n\t\t\tResourceGroupName:      example.Name,\n\t\t\tTenantId:               pulumi.String(current.TenantId),\n\t\t\tSkuName:                pulumi.String(\"standard\"),\n\t\t\tPurgeProtectionEnabled: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccessPolicy, err := keyvault.NewAccessPolicy(ctx, \"example\", \u0026keyvault.AccessPolicyArgs{\n\t\t\tKeyVaultId: exampleKeyVault.ID(),\n\t\t\tTenantId: pulumi.String(exampleEventHubNamespace.Identity.ApplyT(func(identity eventhub.EventHubNamespaceIdentity) (*string, error) {\n\t\t\t\treturn \u0026identity.TenantId, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tObjectId: pulumi.String(exampleEventHubNamespace.Identity.ApplyT(func(identity eventhub.EventHubNamespaceIdentity) (*string, error) {\n\t\t\t\treturn \u0026identity.PrincipalId, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tKeyPermissions: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"Get\"),\n\t\t\t\tpulumi.String(\"UnwrapKey\"),\n\t\t\t\tpulumi.String(\"WrapKey\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample2, err := keyvault.NewAccessPolicy(ctx, \"example2\", \u0026keyvault.AccessPolicyArgs{\n\t\t\tKeyVaultId: exampleKeyVault.ID(),\n\t\t\tTenantId:   pulumi.String(current.TenantId),\n\t\t\tObjectId:   pulumi.String(current.ObjectId),\n\t\t\tKeyPermissions: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"Create\"),\n\t\t\t\tpulumi.String(\"Delete\"),\n\t\t\t\tpulumi.String(\"Get\"),\n\t\t\t\tpulumi.String(\"List\"),\n\t\t\t\tpulumi.String(\"Purge\"),\n\t\t\t\tpulumi.String(\"Recover\"),\n\t\t\t\tpulumi.String(\"GetRotationPolicy\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleKey, err := keyvault.NewKey(ctx, \"example\", \u0026keyvault.KeyArgs{\n\t\t\tName:       pulumi.String(\"examplekvkey\"),\n\t\t\tKeyVaultId: exampleKeyVault.ID(),\n\t\t\tKeyType:    pulumi.String(\"RSA\"),\n\t\t\tKeySize:    pulumi.Int(2048),\n\t\t\tKeyOpts: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"decrypt\"),\n\t\t\t\tpulumi.String(\"encrypt\"),\n\t\t\t\tpulumi.String(\"sign\"),\n\t\t\t\tpulumi.String(\"unwrapKey\"),\n\t\t\t\tpulumi.String(\"verify\"),\n\t\t\t\tpulumi.String(\"wrapKey\"),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleAccessPolicy,\n\t\t\texample2,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = eventhub.NewNamespaceCustomerManagedKey(ctx, \"example\", \u0026eventhub.NamespaceCustomerManagedKeyArgs{\n\t\t\tEventhubNamespaceId: exampleEventHubNamespace.ID(),\n\t\t\tKeyVaultKeyIds: pulumi.StringArray{\n\t\t\t\texampleKey.ID(),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.eventhub.Cluster;\nimport com.pulumi.azure.eventhub.ClusterArgs;\nimport com.pulumi.azure.eventhub.EventHubNamespace;\nimport com.pulumi.azure.eventhub.EventHubNamespaceArgs;\nimport com.pulumi.azure.eventhub.inputs.EventHubNamespaceIdentityArgs;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.keyvault.KeyVault;\nimport com.pulumi.azure.keyvault.KeyVaultArgs;\nimport com.pulumi.azure.keyvault.AccessPolicy;\nimport com.pulumi.azure.keyvault.AccessPolicyArgs;\nimport com.pulumi.azure.keyvault.Key;\nimport com.pulumi.azure.keyvault.KeyArgs;\nimport com.pulumi.azure.eventhub.NamespaceCustomerManagedKey;\nimport com.pulumi.azure.eventhub.NamespaceCustomerManagedKeyArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleCluster = new Cluster(\"exampleCluster\", ClusterArgs.builder()\n            .name(\"example-cluster\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .skuName(\"Dedicated_1\")\n            .build());\n\n        var exampleEventHubNamespace = new EventHubNamespace(\"exampleEventHubNamespace\", EventHubNamespaceArgs.builder()\n            .name(\"example-namespace\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .sku(\"Standard\")\n            .dedicatedClusterId(exampleCluster.id())\n            .identity(EventHubNamespaceIdentityArgs.builder()\n                .type(\"SystemAssigned\")\n                .build())\n            .build());\n\n        final var current = CoreFunctions.getClientConfig(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n        var exampleKeyVault = new KeyVault(\"exampleKeyVault\", KeyVaultArgs.builder()\n            .name(\"examplekv\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .tenantId(current.tenantId())\n            .skuName(\"standard\")\n            .purgeProtectionEnabled(true)\n            .build());\n\n        var exampleAccessPolicy = new AccessPolicy(\"exampleAccessPolicy\", AccessPolicyArgs.builder()\n            .keyVaultId(exampleKeyVault.id())\n            .tenantId(exampleEventHubNamespace.identity().applyValue(_identity -\u003e _identity.tenantId()))\n            .objectId(exampleEventHubNamespace.identity().applyValue(_identity -\u003e _identity.principalId()))\n            .keyPermissions(            \n                \"Get\",\n                \"UnwrapKey\",\n                \"WrapKey\")\n            .build());\n\n        var example2 = new AccessPolicy(\"example2\", AccessPolicyArgs.builder()\n            .keyVaultId(exampleKeyVault.id())\n            .tenantId(current.tenantId())\n            .objectId(current.objectId())\n            .keyPermissions(            \n                \"Create\",\n                \"Delete\",\n                \"Get\",\n                \"List\",\n                \"Purge\",\n                \"Recover\",\n                \"GetRotationPolicy\")\n            .build());\n\n        var exampleKey = new Key(\"exampleKey\", KeyArgs.builder()\n            .name(\"examplekvkey\")\n            .keyVaultId(exampleKeyVault.id())\n            .keyType(\"RSA\")\n            .keySize(2048)\n            .keyOpts(            \n                \"decrypt\",\n                \"encrypt\",\n                \"sign\",\n                \"unwrapKey\",\n                \"verify\",\n                \"wrapKey\")\n            .build(), CustomResourceOptions.builder()\n                .dependsOn(                \n                    exampleAccessPolicy,\n                    example2)\n                .build());\n\n        var exampleNamespaceCustomerManagedKey = new NamespaceCustomerManagedKey(\"exampleNamespaceCustomerManagedKey\", NamespaceCustomerManagedKeyArgs.builder()\n            .eventhubNamespaceId(exampleEventHubNamespace.id())\n            .keyVaultKeyIds(exampleKey.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleCluster:\n    type: azure:eventhub:Cluster\n    name: example\n    properties:\n      name: example-cluster\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      skuName: Dedicated_1\n  exampleEventHubNamespace:\n    type: azure:eventhub:EventHubNamespace\n    name: example\n    properties:\n      name: example-namespace\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      sku: Standard\n      dedicatedClusterId: ${exampleCluster.id}\n      identity:\n        type: SystemAssigned\n  exampleKeyVault:\n    type: azure:keyvault:KeyVault\n    name: example\n    properties:\n      name: examplekv\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      tenantId: ${current.tenantId}\n      skuName: standard\n      purgeProtectionEnabled: true\n  exampleAccessPolicy:\n    type: azure:keyvault:AccessPolicy\n    name: example\n    properties:\n      keyVaultId: ${exampleKeyVault.id}\n      tenantId: ${exampleEventHubNamespace.identity.tenantId}\n      objectId: ${exampleEventHubNamespace.identity.principalId}\n      keyPermissions:\n        - Get\n        - UnwrapKey\n        - WrapKey\n  example2:\n    type: azure:keyvault:AccessPolicy\n    properties:\n      keyVaultId: ${exampleKeyVault.id}\n      tenantId: ${current.tenantId}\n      objectId: ${current.objectId}\n      keyPermissions:\n        - Create\n        - Delete\n        - Get\n        - List\n        - Purge\n        - Recover\n        - GetRotationPolicy\n  exampleKey:\n    type: azure:keyvault:Key\n    name: example\n    properties:\n      name: examplekvkey\n      keyVaultId: ${exampleKeyVault.id}\n      keyType: RSA\n      keySize: 2048\n      keyOpts:\n        - decrypt\n        - encrypt\n        - sign\n        - unwrapKey\n        - verify\n        - wrapKey\n    options:\n      dependsOn:\n        - ${exampleAccessPolicy}\n        - ${example2}\n  exampleNamespaceCustomerManagedKey:\n    type: azure:eventhub:NamespaceCustomerManagedKey\n    name: example\n    properties:\n      eventhubNamespaceId: ${exampleEventHubNamespace.id}\n      keyVaultKeyIds:\n        - ${exampleKey.id}\nvariables:\n  current:\n    fn::invoke:\n      function: azure:core:getClientConfig\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\n### With User Assigned Identity\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleCluster = new azure.eventhub.Cluster(\"example\", {\n    name: \"example-cluster\",\n    resourceGroupName: example.name,\n    location: example.location,\n    skuName: \"Dedicated_1\",\n});\nconst exampleUserAssignedIdentity = new azure.authorization.UserAssignedIdentity(\"example\", {\n    location: example.location,\n    name: \"example\",\n    resourceGroupName: example.name,\n});\nconst exampleEventHubNamespace = new azure.eventhub.EventHubNamespace(\"example\", {\n    name: \"example-namespace\",\n    location: example.location,\n    resourceGroupName: example.name,\n    sku: \"Standard\",\n    dedicatedClusterId: exampleCluster.id,\n    identity: {\n        type: \"UserAssigned\",\n        identityIds: [exampleUserAssignedIdentity.id],\n    },\n});\nconst current = azure.core.getClientConfig({});\nconst exampleKeyVault = new azure.keyvault.KeyVault(\"example\", {\n    name: \"examplekv\",\n    location: example.location,\n    resourceGroupName: example.name,\n    tenantId: current.then(current =\u003e current.tenantId),\n    skuName: \"standard\",\n    purgeProtectionEnabled: true,\n});\nconst exampleAccessPolicy = new azure.keyvault.AccessPolicy(\"example\", {\n    keyVaultId: exampleKeyVault.id,\n    tenantId: test.tenantId,\n    objectId: test.principalId,\n    keyPermissions: [\n        \"Get\",\n        \"UnwrapKey\",\n        \"WrapKey\",\n    ],\n});\nconst example2 = new azure.keyvault.AccessPolicy(\"example2\", {\n    keyVaultId: exampleKeyVault.id,\n    tenantId: current.then(current =\u003e current.tenantId),\n    objectId: current.then(current =\u003e current.objectId),\n    keyPermissions: [\n        \"Create\",\n        \"Delete\",\n        \"Get\",\n        \"List\",\n        \"Purge\",\n        \"Recover\",\n        \"GetRotationPolicy\",\n    ],\n});\nconst exampleKey = new azure.keyvault.Key(\"example\", {\n    name: \"examplekvkey\",\n    keyVaultId: exampleKeyVault.id,\n    keyType: \"RSA\",\n    keySize: 2048,\n    keyOpts: [\n        \"decrypt\",\n        \"encrypt\",\n        \"sign\",\n        \"unwrapKey\",\n        \"verify\",\n        \"wrapKey\",\n    ],\n}, {\n    dependsOn: [\n        exampleAccessPolicy,\n        example2,\n    ],\n});\nconst exampleNamespaceCustomerManagedKey = new azure.eventhub.NamespaceCustomerManagedKey(\"example\", {\n    eventhubNamespaceId: exampleEventHubNamespace.id,\n    keyVaultKeyIds: [exampleKey.id],\n    userAssignedIdentityId: exampleUserAssignedIdentity.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_cluster = azure.eventhub.Cluster(\"example\",\n    name=\"example-cluster\",\n    resource_group_name=example.name,\n    location=example.location,\n    sku_name=\"Dedicated_1\")\nexample_user_assigned_identity = azure.authorization.UserAssignedIdentity(\"example\",\n    location=example.location,\n    name=\"example\",\n    resource_group_name=example.name)\nexample_event_hub_namespace = azure.eventhub.EventHubNamespace(\"example\",\n    name=\"example-namespace\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku=\"Standard\",\n    dedicated_cluster_id=example_cluster.id,\n    identity={\n        \"type\": \"UserAssigned\",\n        \"identity_ids\": [example_user_assigned_identity.id],\n    })\ncurrent = azure.core.get_client_config()\nexample_key_vault = azure.keyvault.KeyVault(\"example\",\n    name=\"examplekv\",\n    location=example.location,\n    resource_group_name=example.name,\n    tenant_id=current.tenant_id,\n    sku_name=\"standard\",\n    purge_protection_enabled=True)\nexample_access_policy = azure.keyvault.AccessPolicy(\"example\",\n    key_vault_id=example_key_vault.id,\n    tenant_id=test[\"tenantId\"],\n    object_id=test[\"principalId\"],\n    key_permissions=[\n        \"Get\",\n        \"UnwrapKey\",\n        \"WrapKey\",\n    ])\nexample2 = azure.keyvault.AccessPolicy(\"example2\",\n    key_vault_id=example_key_vault.id,\n    tenant_id=current.tenant_id,\n    object_id=current.object_id,\n    key_permissions=[\n        \"Create\",\n        \"Delete\",\n        \"Get\",\n        \"List\",\n        \"Purge\",\n        \"Recover\",\n        \"GetRotationPolicy\",\n    ])\nexample_key = azure.keyvault.Key(\"example\",\n    name=\"examplekvkey\",\n    key_vault_id=example_key_vault.id,\n    key_type=\"RSA\",\n    key_size=2048,\n    key_opts=[\n        \"decrypt\",\n        \"encrypt\",\n        \"sign\",\n        \"unwrapKey\",\n        \"verify\",\n        \"wrapKey\",\n    ],\n    opts = pulumi.ResourceOptions(depends_on=[\n            example_access_policy,\n            example2,\n        ]))\nexample_namespace_customer_managed_key = azure.eventhub.NamespaceCustomerManagedKey(\"example\",\n    eventhub_namespace_id=example_event_hub_namespace.id,\n    key_vault_key_ids=[example_key.id],\n    user_assigned_identity_id=example_user_assigned_identity.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleCluster = new Azure.EventHub.Cluster(\"example\", new()\n    {\n        Name = \"example-cluster\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        SkuName = \"Dedicated_1\",\n    });\n\n    var exampleUserAssignedIdentity = new Azure.Authorization.UserAssignedIdentity(\"example\", new()\n    {\n        Location = example.Location,\n        Name = \"example\",\n        ResourceGroupName = example.Name,\n    });\n\n    var exampleEventHubNamespace = new Azure.EventHub.EventHubNamespace(\"example\", new()\n    {\n        Name = \"example-namespace\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Sku = \"Standard\",\n        DedicatedClusterId = exampleCluster.Id,\n        Identity = new Azure.EventHub.Inputs.EventHubNamespaceIdentityArgs\n        {\n            Type = \"UserAssigned\",\n            IdentityIds = new[]\n            {\n                exampleUserAssignedIdentity.Id,\n            },\n        },\n    });\n\n    var current = Azure.Core.GetClientConfig.Invoke();\n\n    var exampleKeyVault = new Azure.KeyVault.KeyVault(\"example\", new()\n    {\n        Name = \"examplekv\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        TenantId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.TenantId),\n        SkuName = \"standard\",\n        PurgeProtectionEnabled = true,\n    });\n\n    var exampleAccessPolicy = new Azure.KeyVault.AccessPolicy(\"example\", new()\n    {\n        KeyVaultId = exampleKeyVault.Id,\n        TenantId = test.TenantId,\n        ObjectId = test.PrincipalId,\n        KeyPermissions = new[]\n        {\n            \"Get\",\n            \"UnwrapKey\",\n            \"WrapKey\",\n        },\n    });\n\n    var example2 = new Azure.KeyVault.AccessPolicy(\"example2\", new()\n    {\n        KeyVaultId = exampleKeyVault.Id,\n        TenantId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.TenantId),\n        ObjectId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.ObjectId),\n        KeyPermissions = new[]\n        {\n            \"Create\",\n            \"Delete\",\n            \"Get\",\n            \"List\",\n            \"Purge\",\n            \"Recover\",\n            \"GetRotationPolicy\",\n        },\n    });\n\n    var exampleKey = new Azure.KeyVault.Key(\"example\", new()\n    {\n        Name = \"examplekvkey\",\n        KeyVaultId = exampleKeyVault.Id,\n        KeyType = \"RSA\",\n        KeySize = 2048,\n        KeyOpts = new[]\n        {\n            \"decrypt\",\n            \"encrypt\",\n            \"sign\",\n            \"unwrapKey\",\n            \"verify\",\n            \"wrapKey\",\n        },\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            exampleAccessPolicy,\n            example2,\n        },\n    });\n\n    var exampleNamespaceCustomerManagedKey = new Azure.EventHub.NamespaceCustomerManagedKey(\"example\", new()\n    {\n        EventhubNamespaceId = exampleEventHubNamespace.Id,\n        KeyVaultKeyIds = new[]\n        {\n            exampleKey.Id,\n        },\n        UserAssignedIdentityId = exampleUserAssignedIdentity.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/authorization\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/eventhub\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/keyvault\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleCluster, err := eventhub.NewCluster(ctx, \"example\", \u0026eventhub.ClusterArgs{\n\t\t\tName:              pulumi.String(\"example-cluster\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tSkuName:           pulumi.String(\"Dedicated_1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleUserAssignedIdentity, err := authorization.NewUserAssignedIdentity(ctx, \"example\", \u0026authorization.UserAssignedIdentityArgs{\n\t\t\tLocation:          example.Location,\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleEventHubNamespace, err := eventhub.NewEventHubNamespace(ctx, \"example\", \u0026eventhub.EventHubNamespaceArgs{\n\t\t\tName:               pulumi.String(\"example-namespace\"),\n\t\t\tLocation:           example.Location,\n\t\t\tResourceGroupName:  example.Name,\n\t\t\tSku:                pulumi.String(\"Standard\"),\n\t\t\tDedicatedClusterId: exampleCluster.ID(),\n\t\t\tIdentity: \u0026eventhub.EventHubNamespaceIdentityArgs{\n\t\t\t\tType: pulumi.String(\"UserAssigned\"),\n\t\t\t\tIdentityIds: pulumi.StringArray{\n\t\t\t\t\texampleUserAssignedIdentity.ID(),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrent, err := core.GetClientConfig(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleKeyVault, err := keyvault.NewKeyVault(ctx, \"example\", \u0026keyvault.KeyVaultArgs{\n\t\t\tName:                   pulumi.String(\"examplekv\"),\n\t\t\tLocation:               example.Location,\n\t\t\tResourceGroupName:      example.Name,\n\t\t\tTenantId:               pulumi.String(current.TenantId),\n\t\t\tSkuName:                pulumi.String(\"standard\"),\n\t\t\tPurgeProtectionEnabled: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccessPolicy, err := keyvault.NewAccessPolicy(ctx, \"example\", \u0026keyvault.AccessPolicyArgs{\n\t\t\tKeyVaultId: exampleKeyVault.ID(),\n\t\t\tTenantId:   pulumi.Any(test.TenantId),\n\t\t\tObjectId:   pulumi.Any(test.PrincipalId),\n\t\t\tKeyPermissions: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"Get\"),\n\t\t\t\tpulumi.String(\"UnwrapKey\"),\n\t\t\t\tpulumi.String(\"WrapKey\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample2, err := keyvault.NewAccessPolicy(ctx, \"example2\", \u0026keyvault.AccessPolicyArgs{\n\t\t\tKeyVaultId: exampleKeyVault.ID(),\n\t\t\tTenantId:   pulumi.String(current.TenantId),\n\t\t\tObjectId:   pulumi.String(current.ObjectId),\n\t\t\tKeyPermissions: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"Create\"),\n\t\t\t\tpulumi.String(\"Delete\"),\n\t\t\t\tpulumi.String(\"Get\"),\n\t\t\t\tpulumi.String(\"List\"),\n\t\t\t\tpulumi.String(\"Purge\"),\n\t\t\t\tpulumi.String(\"Recover\"),\n\t\t\t\tpulumi.String(\"GetRotationPolicy\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleKey, err := keyvault.NewKey(ctx, \"example\", \u0026keyvault.KeyArgs{\n\t\t\tName:       pulumi.String(\"examplekvkey\"),\n\t\t\tKeyVaultId: exampleKeyVault.ID(),\n\t\t\tKeyType:    pulumi.String(\"RSA\"),\n\t\t\tKeySize:    pulumi.Int(2048),\n\t\t\tKeyOpts: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"decrypt\"),\n\t\t\t\tpulumi.String(\"encrypt\"),\n\t\t\t\tpulumi.String(\"sign\"),\n\t\t\t\tpulumi.String(\"unwrapKey\"),\n\t\t\t\tpulumi.String(\"verify\"),\n\t\t\t\tpulumi.String(\"wrapKey\"),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleAccessPolicy,\n\t\t\texample2,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = eventhub.NewNamespaceCustomerManagedKey(ctx, \"example\", \u0026eventhub.NamespaceCustomerManagedKeyArgs{\n\t\t\tEventhubNamespaceId: exampleEventHubNamespace.ID(),\n\t\t\tKeyVaultKeyIds: pulumi.StringArray{\n\t\t\t\texampleKey.ID(),\n\t\t\t},\n\t\t\tUserAssignedIdentityId: exampleUserAssignedIdentity.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.eventhub.Cluster;\nimport com.pulumi.azure.eventhub.ClusterArgs;\nimport com.pulumi.azure.authorization.UserAssignedIdentity;\nimport com.pulumi.azure.authorization.UserAssignedIdentityArgs;\nimport com.pulumi.azure.eventhub.EventHubNamespace;\nimport com.pulumi.azure.eventhub.EventHubNamespaceArgs;\nimport com.pulumi.azure.eventhub.inputs.EventHubNamespaceIdentityArgs;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.keyvault.KeyVault;\nimport com.pulumi.azure.keyvault.KeyVaultArgs;\nimport com.pulumi.azure.keyvault.AccessPolicy;\nimport com.pulumi.azure.keyvault.AccessPolicyArgs;\nimport com.pulumi.azure.keyvault.Key;\nimport com.pulumi.azure.keyvault.KeyArgs;\nimport com.pulumi.azure.eventhub.NamespaceCustomerManagedKey;\nimport com.pulumi.azure.eventhub.NamespaceCustomerManagedKeyArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleCluster = new Cluster(\"exampleCluster\", ClusterArgs.builder()\n            .name(\"example-cluster\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .skuName(\"Dedicated_1\")\n            .build());\n\n        var exampleUserAssignedIdentity = new UserAssignedIdentity(\"exampleUserAssignedIdentity\", UserAssignedIdentityArgs.builder()\n            .location(example.location())\n            .name(\"example\")\n            .resourceGroupName(example.name())\n            .build());\n\n        var exampleEventHubNamespace = new EventHubNamespace(\"exampleEventHubNamespace\", EventHubNamespaceArgs.builder()\n            .name(\"example-namespace\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .sku(\"Standard\")\n            .dedicatedClusterId(exampleCluster.id())\n            .identity(EventHubNamespaceIdentityArgs.builder()\n                .type(\"UserAssigned\")\n                .identityIds(exampleUserAssignedIdentity.id())\n                .build())\n            .build());\n\n        final var current = CoreFunctions.getClientConfig(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n        var exampleKeyVault = new KeyVault(\"exampleKeyVault\", KeyVaultArgs.builder()\n            .name(\"examplekv\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .tenantId(current.tenantId())\n            .skuName(\"standard\")\n            .purgeProtectionEnabled(true)\n            .build());\n\n        var exampleAccessPolicy = new AccessPolicy(\"exampleAccessPolicy\", AccessPolicyArgs.builder()\n            .keyVaultId(exampleKeyVault.id())\n            .tenantId(test.tenantId())\n            .objectId(test.principalId())\n            .keyPermissions(            \n                \"Get\",\n                \"UnwrapKey\",\n                \"WrapKey\")\n            .build());\n\n        var example2 = new AccessPolicy(\"example2\", AccessPolicyArgs.builder()\n            .keyVaultId(exampleKeyVault.id())\n            .tenantId(current.tenantId())\n            .objectId(current.objectId())\n            .keyPermissions(            \n                \"Create\",\n                \"Delete\",\n                \"Get\",\n                \"List\",\n                \"Purge\",\n                \"Recover\",\n                \"GetRotationPolicy\")\n            .build());\n\n        var exampleKey = new Key(\"exampleKey\", KeyArgs.builder()\n            .name(\"examplekvkey\")\n            .keyVaultId(exampleKeyVault.id())\n            .keyType(\"RSA\")\n            .keySize(2048)\n            .keyOpts(            \n                \"decrypt\",\n                \"encrypt\",\n                \"sign\",\n                \"unwrapKey\",\n                \"verify\",\n                \"wrapKey\")\n            .build(), CustomResourceOptions.builder()\n                .dependsOn(                \n                    exampleAccessPolicy,\n                    example2)\n                .build());\n\n        var exampleNamespaceCustomerManagedKey = new NamespaceCustomerManagedKey(\"exampleNamespaceCustomerManagedKey\", NamespaceCustomerManagedKeyArgs.builder()\n            .eventhubNamespaceId(exampleEventHubNamespace.id())\n            .keyVaultKeyIds(exampleKey.id())\n            .userAssignedIdentityId(exampleUserAssignedIdentity.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleCluster:\n    type: azure:eventhub:Cluster\n    name: example\n    properties:\n      name: example-cluster\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      skuName: Dedicated_1\n  exampleUserAssignedIdentity:\n    type: azure:authorization:UserAssignedIdentity\n    name: example\n    properties:\n      location: ${example.location}\n      name: example\n      resourceGroupName: ${example.name}\n  exampleEventHubNamespace:\n    type: azure:eventhub:EventHubNamespace\n    name: example\n    properties:\n      name: example-namespace\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      sku: Standard\n      dedicatedClusterId: ${exampleCluster.id}\n      identity:\n        type: UserAssigned\n        identityIds:\n          - ${exampleUserAssignedIdentity.id}\n  exampleKeyVault:\n    type: azure:keyvault:KeyVault\n    name: example\n    properties:\n      name: examplekv\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      tenantId: ${current.tenantId}\n      skuName: standard\n      purgeProtectionEnabled: true\n  exampleAccessPolicy:\n    type: azure:keyvault:AccessPolicy\n    name: example\n    properties:\n      keyVaultId: ${exampleKeyVault.id}\n      tenantId: ${test.tenantId}\n      objectId: ${test.principalId}\n      keyPermissions:\n        - Get\n        - UnwrapKey\n        - WrapKey\n  example2:\n    type: azure:keyvault:AccessPolicy\n    properties:\n      keyVaultId: ${exampleKeyVault.id}\n      tenantId: ${current.tenantId}\n      objectId: ${current.objectId}\n      keyPermissions:\n        - Create\n        - Delete\n        - Get\n        - List\n        - Purge\n        - Recover\n        - GetRotationPolicy\n  exampleKey:\n    type: azure:keyvault:Key\n    name: example\n    properties:\n      name: examplekvkey\n      keyVaultId: ${exampleKeyVault.id}\n      keyType: RSA\n      keySize: 2048\n      keyOpts:\n        - decrypt\n        - encrypt\n        - sign\n        - unwrapKey\n        - verify\n        - wrapKey\n    options:\n      dependsOn:\n        - ${exampleAccessPolicy}\n        - ${example2}\n  exampleNamespaceCustomerManagedKey:\n    type: azure:eventhub:NamespaceCustomerManagedKey\n    name: example\n    properties:\n      eventhubNamespaceId: ${exampleEventHubNamespace.id}\n      keyVaultKeyIds:\n        - ${exampleKey.id}\n      userAssignedIdentityId: ${exampleUserAssignedIdentity.id}\nvariables:\n  current:\n    fn::invoke:\n      function: azure:core:getClientConfig\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.EventHub` - 2024-01-01\n\n## Import\n\nCustomer Managed Keys for a EventHub Namespace can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:eventhub/namespaceCustomerManagedKey:NamespaceCustomerManagedKey example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.EventHub/namespaces/namespace1\n```\n\n","properties":{"eventhubNamespaceId":{"type":"string","description":"The ID of the EventHub Namespace. Changing this forces a new resource to be created.\n"},"infrastructureEncryptionEnabled":{"type":"boolean","description":"Whether to enable Infrastructure Encryption (Double Encryption). Changing this forces a new resource to be created.\n"},"keyVaultKeyIds":{"type":"array","items":{"type":"string"},"description":"The list of keys of Key Vault.\n"},"userAssignedIdentityId":{"type":"string","description":"The ID of a User Managed Identity that will be used to access Key Vaults that contain the encryption keys.\n\n\u003e **Note:** If using \u003cspan pulumi-lang-nodejs=\"`userAssignedIdentityId`\" pulumi-lang-dotnet=\"`UserAssignedIdentityId`\" pulumi-lang-go=\"`userAssignedIdentityId`\" pulumi-lang-python=\"`user_assigned_identity_id`\" pulumi-lang-yaml=\"`userAssignedIdentityId`\" pulumi-lang-java=\"`userAssignedIdentityId`\"\u003e`user_assigned_identity_id`\u003c/span\u003e, ensure the User Assigned Identity is also assigned to the parent Event Hub.\n\n\u003e **Note:** If using \u003cspan pulumi-lang-nodejs=\"`userAssignedIdentityId`\" pulumi-lang-dotnet=\"`UserAssignedIdentityId`\" pulumi-lang-go=\"`userAssignedIdentityId`\" pulumi-lang-python=\"`user_assigned_identity_id`\" pulumi-lang-yaml=\"`userAssignedIdentityId`\" pulumi-lang-java=\"`userAssignedIdentityId`\"\u003e`user_assigned_identity_id`\u003c/span\u003e, make sure to assign the identity the appropriate permissions to access the Key Vault key. Failure to grant `Get, UnwrapKey, and WrapKey` will cause this resource to fail to apply.\n"}},"required":["eventhubNamespaceId","keyVaultKeyIds"],"inputProperties":{"eventhubNamespaceId":{"type":"string","description":"The ID of the EventHub Namespace. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"infrastructureEncryptionEnabled":{"type":"boolean","description":"Whether to enable Infrastructure Encryption (Double Encryption). Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"keyVaultKeyIds":{"type":"array","items":{"type":"string"},"description":"The list of keys of Key Vault.\n"},"userAssignedIdentityId":{"type":"string","description":"The ID of a User Managed Identity that will be used to access Key Vaults that contain the encryption keys.\n\n\u003e **Note:** If using \u003cspan pulumi-lang-nodejs=\"`userAssignedIdentityId`\" pulumi-lang-dotnet=\"`UserAssignedIdentityId`\" pulumi-lang-go=\"`userAssignedIdentityId`\" pulumi-lang-python=\"`user_assigned_identity_id`\" pulumi-lang-yaml=\"`userAssignedIdentityId`\" pulumi-lang-java=\"`userAssignedIdentityId`\"\u003e`user_assigned_identity_id`\u003c/span\u003e, ensure the User Assigned Identity is also assigned to the parent Event Hub.\n\n\u003e **Note:** If using \u003cspan pulumi-lang-nodejs=\"`userAssignedIdentityId`\" pulumi-lang-dotnet=\"`UserAssignedIdentityId`\" pulumi-lang-go=\"`userAssignedIdentityId`\" pulumi-lang-python=\"`user_assigned_identity_id`\" pulumi-lang-yaml=\"`userAssignedIdentityId`\" pulumi-lang-java=\"`userAssignedIdentityId`\"\u003e`user_assigned_identity_id`\u003c/span\u003e, make sure to assign the identity the appropriate permissions to access the Key Vault key. Failure to grant `Get, UnwrapKey, and WrapKey` will cause this resource to fail to apply.\n"}},"requiredInputs":["eventhubNamespaceId","keyVaultKeyIds"],"stateInputs":{"description":"Input properties used for looking up and filtering NamespaceCustomerManagedKey resources.\n","properties":{"eventhubNamespaceId":{"type":"string","description":"The ID of the EventHub Namespace. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"infrastructureEncryptionEnabled":{"type":"boolean","description":"Whether to enable Infrastructure Encryption (Double Encryption). Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"keyVaultKeyIds":{"type":"array","items":{"type":"string"},"description":"The list of keys of Key Vault.\n"},"userAssignedIdentityId":{"type":"string","description":"The ID of a User Managed Identity that will be used to access Key Vaults that contain the encryption keys.\n\n\u003e **Note:** If using \u003cspan pulumi-lang-nodejs=\"`userAssignedIdentityId`\" pulumi-lang-dotnet=\"`UserAssignedIdentityId`\" pulumi-lang-go=\"`userAssignedIdentityId`\" pulumi-lang-python=\"`user_assigned_identity_id`\" pulumi-lang-yaml=\"`userAssignedIdentityId`\" pulumi-lang-java=\"`userAssignedIdentityId`\"\u003e`user_assigned_identity_id`\u003c/span\u003e, ensure the User Assigned Identity is also assigned to the parent Event Hub.\n\n\u003e **Note:** If using \u003cspan pulumi-lang-nodejs=\"`userAssignedIdentityId`\" pulumi-lang-dotnet=\"`UserAssignedIdentityId`\" pulumi-lang-go=\"`userAssignedIdentityId`\" pulumi-lang-python=\"`user_assigned_identity_id`\" pulumi-lang-yaml=\"`userAssignedIdentityId`\" pulumi-lang-java=\"`userAssignedIdentityId`\"\u003e`user_assigned_identity_id`\u003c/span\u003e, make sure to assign the identity the appropriate permissions to access the Key Vault key. Failure to grant `Get, UnwrapKey, and WrapKey` will cause this resource to fail to apply.\n"}},"type":"object"}},"azure:eventhub/namespaceSchemaGroup:NamespaceSchemaGroup":{"description":"## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"exampleRG-ehn-schemaGroup\",\n    location: \"East US\",\n});\nconst test = new azure.eventhub.EventHubNamespace(\"test\", {\n    name: \"example-ehn-schemaGroup\",\n    location: testAzurermResourceGroup.location,\n    resourceGroupName: testAzurermResourceGroup.name,\n    sku: \"Standard\",\n});\nconst testNamespaceSchemaGroup = new azure.eventhub.NamespaceSchemaGroup(\"test\", {\n    name: \"example-schemaGroup\",\n    namespaceId: test.id,\n    schemaCompatibility: \"Forward\",\n    schemaType: \"Avro\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"exampleRG-ehn-schemaGroup\",\n    location=\"East US\")\ntest = azure.eventhub.EventHubNamespace(\"test\",\n    name=\"example-ehn-schemaGroup\",\n    location=test_azurerm_resource_group[\"location\"],\n    resource_group_name=test_azurerm_resource_group[\"name\"],\n    sku=\"Standard\")\ntest_namespace_schema_group = azure.eventhub.NamespaceSchemaGroup(\"test\",\n    name=\"example-schemaGroup\",\n    namespace_id=test.id,\n    schema_compatibility=\"Forward\",\n    schema_type=\"Avro\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"exampleRG-ehn-schemaGroup\",\n        Location = \"East US\",\n    });\n\n    var test = new Azure.EventHub.EventHubNamespace(\"test\", new()\n    {\n        Name = \"example-ehn-schemaGroup\",\n        Location = testAzurermResourceGroup.Location,\n        ResourceGroupName = testAzurermResourceGroup.Name,\n        Sku = \"Standard\",\n    });\n\n    var testNamespaceSchemaGroup = new Azure.EventHub.NamespaceSchemaGroup(\"test\", new()\n    {\n        Name = \"example-schemaGroup\",\n        NamespaceId = test.Id,\n        SchemaCompatibility = \"Forward\",\n        SchemaType = \"Avro\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/eventhub\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"exampleRG-ehn-schemaGroup\"),\n\t\t\tLocation: pulumi.String(\"East US\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttest, err := eventhub.NewEventHubNamespace(ctx, \"test\", \u0026eventhub.EventHubNamespaceArgs{\n\t\t\tName:              pulumi.String(\"example-ehn-schemaGroup\"),\n\t\t\tLocation:          pulumi.Any(testAzurermResourceGroup.Location),\n\t\t\tResourceGroupName: pulumi.Any(testAzurermResourceGroup.Name),\n\t\t\tSku:               pulumi.String(\"Standard\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = eventhub.NewNamespaceSchemaGroup(ctx, \"test\", \u0026eventhub.NamespaceSchemaGroupArgs{\n\t\t\tName:                pulumi.String(\"example-schemaGroup\"),\n\t\t\tNamespaceId:         test.ID(),\n\t\t\tSchemaCompatibility: pulumi.String(\"Forward\"),\n\t\t\tSchemaType:          pulumi.String(\"Avro\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.eventhub.EventHubNamespace;\nimport com.pulumi.azure.eventhub.EventHubNamespaceArgs;\nimport com.pulumi.azure.eventhub.NamespaceSchemaGroup;\nimport com.pulumi.azure.eventhub.NamespaceSchemaGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"exampleRG-ehn-schemaGroup\")\n            .location(\"East US\")\n            .build());\n\n        var test = new EventHubNamespace(\"test\", EventHubNamespaceArgs.builder()\n            .name(\"example-ehn-schemaGroup\")\n            .location(testAzurermResourceGroup.location())\n            .resourceGroupName(testAzurermResourceGroup.name())\n            .sku(\"Standard\")\n            .build());\n\n        var testNamespaceSchemaGroup = new NamespaceSchemaGroup(\"testNamespaceSchemaGroup\", NamespaceSchemaGroupArgs.builder()\n            .name(\"example-schemaGroup\")\n            .namespaceId(test.id())\n            .schemaCompatibility(\"Forward\")\n            .schemaType(\"Avro\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: exampleRG-ehn-schemaGroup\n      location: East US\n  test:\n    type: azure:eventhub:EventHubNamespace\n    properties:\n      name: example-ehn-schemaGroup\n      location: ${testAzurermResourceGroup.location}\n      resourceGroupName: ${testAzurermResourceGroup.name}\n      sku: Standard\n  testNamespaceSchemaGroup:\n    type: azure:eventhub:NamespaceSchemaGroup\n    name: test\n    properties:\n      name: example-schemaGroup\n      namespaceId: ${test.id}\n      schemaCompatibility: Forward\n      schemaType: Avro\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.EventHub` - 2024-01-01\n\n## Import\n\nSchema Group for a EventHub Namespace can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:eventhub/namespaceSchemaGroup:NamespaceSchemaGroup example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.EventHub/namespaces/namespace1/schemaGroups/group1\n```\n\n","properties":{"name":{"type":"string","description":"Specifies the name of this schema group. Changing this forces a new resource to be created.\n"},"namespaceId":{"type":"string","description":"Specifies the ID of the EventHub Namespace. Changing this forces a new resource to be created.\n"},"schemaCompatibility":{"type":"string","description":"Specifies the compatibility of this schema group. Possible values are `None`, `Backward`, `Forward`. Changing this forces a new resource to be created.\n"},"schemaType":{"type":"string","description":"Specifies the Type of this schema group. Possible values are `Avro`, `Unknown` and `Json`. Changing this forces a new resource to be created.\n\n\u003e **Note:** When \u003cspan pulumi-lang-nodejs=\"`schemaType`\" pulumi-lang-dotnet=\"`SchemaType`\" pulumi-lang-go=\"`schemaType`\" pulumi-lang-python=\"`schema_type`\" pulumi-lang-yaml=\"`schemaType`\" pulumi-lang-java=\"`schemaType`\"\u003e`schema_type`\u003c/span\u003e is specified as `Json`, \u003cspan pulumi-lang-nodejs=\"`schemaCompatibility`\" pulumi-lang-dotnet=\"`SchemaCompatibility`\" pulumi-lang-go=\"`schemaCompatibility`\" pulumi-lang-python=\"`schema_compatibility`\" pulumi-lang-yaml=\"`schemaCompatibility`\" pulumi-lang-java=\"`schemaCompatibility`\"\u003e`schema_compatibility`\u003c/span\u003e must be set to `None`.\n"}},"required":["name","namespaceId","schemaCompatibility","schemaType"],"inputProperties":{"name":{"type":"string","description":"Specifies the name of this schema group. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"namespaceId":{"type":"string","description":"Specifies the ID of the EventHub Namespace. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"schemaCompatibility":{"type":"string","description":"Specifies the compatibility of this schema group. Possible values are `None`, `Backward`, `Forward`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"schemaType":{"type":"string","description":"Specifies the Type of this schema group. Possible values are `Avro`, `Unknown` and `Json`. Changing this forces a new resource to be created.\n\n\u003e **Note:** When \u003cspan pulumi-lang-nodejs=\"`schemaType`\" pulumi-lang-dotnet=\"`SchemaType`\" pulumi-lang-go=\"`schemaType`\" pulumi-lang-python=\"`schema_type`\" pulumi-lang-yaml=\"`schemaType`\" pulumi-lang-java=\"`schemaType`\"\u003e`schema_type`\u003c/span\u003e is specified as `Json`, \u003cspan pulumi-lang-nodejs=\"`schemaCompatibility`\" pulumi-lang-dotnet=\"`SchemaCompatibility`\" pulumi-lang-go=\"`schemaCompatibility`\" pulumi-lang-python=\"`schema_compatibility`\" pulumi-lang-yaml=\"`schemaCompatibility`\" pulumi-lang-java=\"`schemaCompatibility`\"\u003e`schema_compatibility`\u003c/span\u003e must be set to `None`.\n","willReplaceOnChanges":true}},"requiredInputs":["namespaceId","schemaCompatibility","schemaType"],"stateInputs":{"description":"Input properties used for looking up and filtering NamespaceSchemaGroup resources.\n","properties":{"name":{"type":"string","description":"Specifies the name of this schema group. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"namespaceId":{"type":"string","description":"Specifies the ID of the EventHub Namespace. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"schemaCompatibility":{"type":"string","description":"Specifies the compatibility of this schema group. Possible values are `None`, `Backward`, `Forward`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"schemaType":{"type":"string","description":"Specifies the Type of this schema group. Possible values are `Avro`, `Unknown` and `Json`. Changing this forces a new resource to be created.\n\n\u003e **Note:** When \u003cspan pulumi-lang-nodejs=\"`schemaType`\" pulumi-lang-dotnet=\"`SchemaType`\" pulumi-lang-go=\"`schemaType`\" pulumi-lang-python=\"`schema_type`\" pulumi-lang-yaml=\"`schemaType`\" pulumi-lang-java=\"`schemaType`\"\u003e`schema_type`\u003c/span\u003e is specified as `Json`, \u003cspan pulumi-lang-nodejs=\"`schemaCompatibility`\" pulumi-lang-dotnet=\"`SchemaCompatibility`\" pulumi-lang-go=\"`schemaCompatibility`\" pulumi-lang-python=\"`schema_compatibility`\" pulumi-lang-yaml=\"`schemaCompatibility`\" pulumi-lang-java=\"`schemaCompatibility`\"\u003e`schema_compatibility`\u003c/span\u003e must be set to `None`.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:eventhub/queue:Queue":{"description":"Manages a ServiceBus Queue.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"my-servicebus\",\n    location: \"West Europe\",\n});\nconst exampleNamespace = new azure.servicebus.Namespace(\"example\", {\n    name: \"tfex-servicebus-namespace\",\n    location: example.location,\n    resourceGroupName: example.name,\n    sku: \"Standard\",\n    tags: {\n        source: \"example\",\n    },\n});\nconst exampleQueue = new azure.servicebus.Queue(\"example\", {\n    name: \"tfex_servicebus_queue\",\n    namespaceId: exampleNamespace.id,\n    partitioningEnabled: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"my-servicebus\",\n    location=\"West Europe\")\nexample_namespace = azure.servicebus.Namespace(\"example\",\n    name=\"tfex-servicebus-namespace\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku=\"Standard\",\n    tags={\n        \"source\": \"example\",\n    })\nexample_queue = azure.servicebus.Queue(\"example\",\n    name=\"tfex_servicebus_queue\",\n    namespace_id=example_namespace.id,\n    partitioning_enabled=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"my-servicebus\",\n        Location = \"West Europe\",\n    });\n\n    var exampleNamespace = new Azure.ServiceBus.Namespace(\"example\", new()\n    {\n        Name = \"tfex-servicebus-namespace\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Sku = \"Standard\",\n        Tags = \n        {\n            { \"source\", \"example\" },\n        },\n    });\n\n    var exampleQueue = new Azure.ServiceBus.Queue(\"example\", new()\n    {\n        Name = \"tfex_servicebus_queue\",\n        NamespaceId = exampleNamespace.Id,\n        PartitioningEnabled = true,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/servicebus\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"my-servicebus\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNamespace, err := servicebus.NewNamespace(ctx, \"example\", \u0026servicebus.NamespaceArgs{\n\t\t\tName:              pulumi.String(\"tfex-servicebus-namespace\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSku:               pulumi.String(\"Standard\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"source\": pulumi.String(\"example\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = servicebus.NewQueue(ctx, \"example\", \u0026servicebus.QueueArgs{\n\t\t\tName:                pulumi.String(\"tfex_servicebus_queue\"),\n\t\t\tNamespaceId:         exampleNamespace.ID(),\n\t\t\tPartitioningEnabled: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.servicebus.Namespace;\nimport com.pulumi.azure.servicebus.NamespaceArgs;\nimport com.pulumi.azure.servicebus.Queue;\nimport com.pulumi.azure.servicebus.QueueArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"my-servicebus\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleNamespace = new Namespace(\"exampleNamespace\", NamespaceArgs.builder()\n            .name(\"tfex-servicebus-namespace\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .sku(\"Standard\")\n            .tags(Map.of(\"source\", \"example\"))\n            .build());\n\n        var exampleQueue = new Queue(\"exampleQueue\", QueueArgs.builder()\n            .name(\"tfex_servicebus_queue\")\n            .namespaceId(exampleNamespace.id())\n            .partitioningEnabled(true)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: my-servicebus\n      location: West Europe\n  exampleNamespace:\n    type: azure:servicebus:Namespace\n    name: example\n    properties:\n      name: tfex-servicebus-namespace\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      sku: Standard\n      tags:\n        source: example\n  exampleQueue:\n    type: azure:servicebus:Queue\n    name: example\n    properties:\n      name: tfex_servicebus_queue\n      namespaceId: ${exampleNamespace.id}\n      partitioningEnabled: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.ServiceBus` - 2024-01-01\n\n## Import\n\nService Bus Queue can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:eventhub/queue:Queue example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.ServiceBus/namespaces/sbns1/queues/snqueue1\n```\n\n","properties":{"autoDeleteOnIdle":{"type":"string","description":"The ISO 8601 timespan duration of the idle interval after which the Queue is automatically deleted, minimum of 5 minutes.\n"},"batchedOperationsEnabled":{"type":"boolean","description":"Boolean flag which controls whether server-side batched operations are enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"deadLetteringOnMessageExpiration":{"type":"boolean","description":"Boolean flag which controls whether the Queue has dead letter support when a message expires. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"defaultMessageTtl":{"type":"string","description":"The ISO 8601 timespan duration of the TTL of messages sent to this queue. This is the default value used when TTL is not set on message itself.\n"},"duplicateDetectionHistoryTimeWindow":{"type":"string","description":"The ISO 8601 timespan duration during which duplicates can be detected. Defaults to `PT10M` (10 Minutes).\n"},"expressEnabled":{"type":"boolean","description":"Boolean flag which controls whether Express Entities are enabled. An express queue holds a message in memory temporarily before writing it to persistent storage. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e for Basic and Standard. For Premium, it MUST be set to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** Service Bus Premium namespaces do not support Express Entities, so \u003cspan pulumi-lang-nodejs=\"`expressEnabled`\" pulumi-lang-dotnet=\"`ExpressEnabled`\" pulumi-lang-go=\"`expressEnabled`\" pulumi-lang-python=\"`express_enabled`\" pulumi-lang-yaml=\"`expressEnabled`\" pulumi-lang-java=\"`expressEnabled`\"\u003e`express_enabled`\u003c/span\u003e MUST be set to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"forwardDeadLetteredMessagesTo":{"type":"string","description":"The name of a Queue or Topic to automatically forward dead lettered messages to.\n"},"forwardTo":{"type":"string","description":"The name of a Queue or Topic to automatically forward messages to. Please [see the documentation](https://docs.microsoft.com/azure/service-bus-messaging/service-bus-auto-forwarding) for more information.\n"},"lockDuration":{"type":"string","description":"The ISO 8601 timespan duration of a peek-lock; that is, the amount of time that the message is locked for other receivers. Maximum value is 5 minutes. Defaults to `PT1M` (1 Minute).\n"},"maxDeliveryCount":{"type":"integer","description":"Integer value which controls when a message is automatically dead lettered. Defaults to \u003cspan pulumi-lang-nodejs=\"`10`\" pulumi-lang-dotnet=\"`10`\" pulumi-lang-go=\"`10`\" pulumi-lang-python=\"`10`\" pulumi-lang-yaml=\"`10`\" pulumi-lang-java=\"`10`\"\u003e`10`\u003c/span\u003e.\n"},"maxMessageSizeInKilobytes":{"type":"integer","description":"Integer value which controls the maximum size of a message allowed on the queue for Premium SKU. For supported values see the \"Large messages support\" section of [this document](https://docs.microsoft.com/azure/service-bus-messaging/service-bus-premium-messaging#large-messages-support-preview).\n"},"maxSizeInMegabytes":{"type":"integer","description":"Integer value which controls the size of memory allocated for the queue. For supported values see the \"Queue or topic size\" section of [Service Bus Quotas](https://docs.microsoft.com/azure/service-bus-messaging/service-bus-quotas).\n"},"name":{"type":"string","description":"Specifies the name of the ServiceBus Queue resource. Changing this forces a new resource to be created.\n"},"namespaceId":{"type":"string","description":"The ID of the ServiceBus Namespace to create this queue in. Changing this forces a new resource to be created.\n"},"namespaceName":{"type":"string"},"partitioningEnabled":{"type":"boolean","description":"Boolean flag which controls whether to enable the queue to be partitioned across multiple message brokers. Changing this forces a new resource to be created. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e for Basic and Standard.\n\n\u003e **Note:** Partitioning is available at entity creation for all queues and topics in Basic or Standard SKUs. For premium namespace, partitioning is available at namespace creation, and all queues and topics in the partitioned namespace will be partitioned, for the premium namespace that has \u003cspan pulumi-lang-nodejs=\"`premiumMessagingPartitions`\" pulumi-lang-dotnet=\"`PremiumMessagingPartitions`\" pulumi-lang-go=\"`premiumMessagingPartitions`\" pulumi-lang-python=\"`premium_messaging_partitions`\" pulumi-lang-yaml=\"`premiumMessagingPartitions`\" pulumi-lang-java=\"`premiumMessagingPartitions`\"\u003e`premium_messaging_partitions`\u003c/span\u003e sets to \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e, the namespace is not partitioned.\n"},"requiresDuplicateDetection":{"type":"boolean","description":"Boolean flag which controls whether the Queue requires duplicate detection. Changing this forces a new resource to be created. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"requiresSession":{"type":"boolean","description":"Boolean flag which controls whether the Queue requires sessions. This will allow ordered handling of unbounded sequences of related messages. With sessions enabled a queue can guarantee first-in-first-out delivery of messages. Changing this forces a new resource to be created. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"resourceGroupName":{"type":"string"},"status":{"type":"string","description":"The status of the Queue. Possible values are `Active`, `Creating`, `Deleting`, `Disabled`, `ReceiveDisabled`, `Renaming`, `SendDisabled`, `Unknown`. Note that `Restoring` is not accepted. Defaults to `Active`.\n"}},"required":["autoDeleteOnIdle","defaultMessageTtl","maxMessageSizeInKilobytes","maxSizeInMegabytes","name","namespaceId","namespaceName","resourceGroupName"],"inputProperties":{"autoDeleteOnIdle":{"type":"string","description":"The ISO 8601 timespan duration of the idle interval after which the Queue is automatically deleted, minimum of 5 minutes.\n"},"batchedOperationsEnabled":{"type":"boolean","description":"Boolean flag which controls whether server-side batched operations are enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"deadLetteringOnMessageExpiration":{"type":"boolean","description":"Boolean flag which controls whether the Queue has dead letter support when a message expires. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"defaultMessageTtl":{"type":"string","description":"The ISO 8601 timespan duration of the TTL of messages sent to this queue. This is the default value used when TTL is not set on message itself.\n"},"duplicateDetectionHistoryTimeWindow":{"type":"string","description":"The ISO 8601 timespan duration during which duplicates can be detected. Defaults to `PT10M` (10 Minutes).\n"},"expressEnabled":{"type":"boolean","description":"Boolean flag which controls whether Express Entities are enabled. An express queue holds a message in memory temporarily before writing it to persistent storage. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e for Basic and Standard. For Premium, it MUST be set to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** Service Bus Premium namespaces do not support Express Entities, so \u003cspan pulumi-lang-nodejs=\"`expressEnabled`\" pulumi-lang-dotnet=\"`ExpressEnabled`\" pulumi-lang-go=\"`expressEnabled`\" pulumi-lang-python=\"`express_enabled`\" pulumi-lang-yaml=\"`expressEnabled`\" pulumi-lang-java=\"`expressEnabled`\"\u003e`express_enabled`\u003c/span\u003e MUST be set to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"forwardDeadLetteredMessagesTo":{"type":"string","description":"The name of a Queue or Topic to automatically forward dead lettered messages to.\n"},"forwardTo":{"type":"string","description":"The name of a Queue or Topic to automatically forward messages to. Please [see the documentation](https://docs.microsoft.com/azure/service-bus-messaging/service-bus-auto-forwarding) for more information.\n"},"lockDuration":{"type":"string","description":"The ISO 8601 timespan duration of a peek-lock; that is, the amount of time that the message is locked for other receivers. Maximum value is 5 minutes. Defaults to `PT1M` (1 Minute).\n"},"maxDeliveryCount":{"type":"integer","description":"Integer value which controls when a message is automatically dead lettered. Defaults to \u003cspan pulumi-lang-nodejs=\"`10`\" pulumi-lang-dotnet=\"`10`\" pulumi-lang-go=\"`10`\" pulumi-lang-python=\"`10`\" pulumi-lang-yaml=\"`10`\" pulumi-lang-java=\"`10`\"\u003e`10`\u003c/span\u003e.\n"},"maxMessageSizeInKilobytes":{"type":"integer","description":"Integer value which controls the maximum size of a message allowed on the queue for Premium SKU. For supported values see the \"Large messages support\" section of [this document](https://docs.microsoft.com/azure/service-bus-messaging/service-bus-premium-messaging#large-messages-support-preview).\n"},"maxSizeInMegabytes":{"type":"integer","description":"Integer value which controls the size of memory allocated for the queue. For supported values see the \"Queue or topic size\" section of [Service Bus Quotas](https://docs.microsoft.com/azure/service-bus-messaging/service-bus-quotas).\n"},"name":{"type":"string","description":"Specifies the name of the ServiceBus Queue resource. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"namespaceId":{"type":"string","description":"The ID of the ServiceBus Namespace to create this queue in. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"partitioningEnabled":{"type":"boolean","description":"Boolean flag which controls whether to enable the queue to be partitioned across multiple message brokers. Changing this forces a new resource to be created. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e for Basic and Standard.\n\n\u003e **Note:** Partitioning is available at entity creation for all queues and topics in Basic or Standard SKUs. For premium namespace, partitioning is available at namespace creation, and all queues and topics in the partitioned namespace will be partitioned, for the premium namespace that has \u003cspan pulumi-lang-nodejs=\"`premiumMessagingPartitions`\" pulumi-lang-dotnet=\"`PremiumMessagingPartitions`\" pulumi-lang-go=\"`premiumMessagingPartitions`\" pulumi-lang-python=\"`premium_messaging_partitions`\" pulumi-lang-yaml=\"`premiumMessagingPartitions`\" pulumi-lang-java=\"`premiumMessagingPartitions`\"\u003e`premium_messaging_partitions`\u003c/span\u003e sets to \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e, the namespace is not partitioned.\n","willReplaceOnChanges":true},"requiresDuplicateDetection":{"type":"boolean","description":"Boolean flag which controls whether the Queue requires duplicate detection. Changing this forces a new resource to be created. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n","willReplaceOnChanges":true},"requiresSession":{"type":"boolean","description":"Boolean flag which controls whether the Queue requires sessions. This will allow ordered handling of unbounded sequences of related messages. With sessions enabled a queue can guarantee first-in-first-out delivery of messages. Changing this forces a new resource to be created. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n","willReplaceOnChanges":true},"status":{"type":"string","description":"The status of the Queue. Possible values are `Active`, `Creating`, `Deleting`, `Disabled`, `ReceiveDisabled`, `Renaming`, `SendDisabled`, `Unknown`. Note that `Restoring` is not accepted. Defaults to `Active`.\n"}},"requiredInputs":["namespaceId"],"stateInputs":{"description":"Input properties used for looking up and filtering Queue resources.\n","properties":{"autoDeleteOnIdle":{"type":"string","description":"The ISO 8601 timespan duration of the idle interval after which the Queue is automatically deleted, minimum of 5 minutes.\n"},"batchedOperationsEnabled":{"type":"boolean","description":"Boolean flag which controls whether server-side batched operations are enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"deadLetteringOnMessageExpiration":{"type":"boolean","description":"Boolean flag which controls whether the Queue has dead letter support when a message expires. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"defaultMessageTtl":{"type":"string","description":"The ISO 8601 timespan duration of the TTL of messages sent to this queue. This is the default value used when TTL is not set on message itself.\n"},"duplicateDetectionHistoryTimeWindow":{"type":"string","description":"The ISO 8601 timespan duration during which duplicates can be detected. Defaults to `PT10M` (10 Minutes).\n"},"expressEnabled":{"type":"boolean","description":"Boolean flag which controls whether Express Entities are enabled. An express queue holds a message in memory temporarily before writing it to persistent storage. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e for Basic and Standard. For Premium, it MUST be set to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** Service Bus Premium namespaces do not support Express Entities, so \u003cspan pulumi-lang-nodejs=\"`expressEnabled`\" pulumi-lang-dotnet=\"`ExpressEnabled`\" pulumi-lang-go=\"`expressEnabled`\" pulumi-lang-python=\"`express_enabled`\" pulumi-lang-yaml=\"`expressEnabled`\" pulumi-lang-java=\"`expressEnabled`\"\u003e`express_enabled`\u003c/span\u003e MUST be set to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"forwardDeadLetteredMessagesTo":{"type":"string","description":"The name of a Queue or Topic to automatically forward dead lettered messages to.\n"},"forwardTo":{"type":"string","description":"The name of a Queue or Topic to automatically forward messages to. Please [see the documentation](https://docs.microsoft.com/azure/service-bus-messaging/service-bus-auto-forwarding) for more information.\n"},"lockDuration":{"type":"string","description":"The ISO 8601 timespan duration of a peek-lock; that is, the amount of time that the message is locked for other receivers. Maximum value is 5 minutes. Defaults to `PT1M` (1 Minute).\n"},"maxDeliveryCount":{"type":"integer","description":"Integer value which controls when a message is automatically dead lettered. Defaults to \u003cspan pulumi-lang-nodejs=\"`10`\" pulumi-lang-dotnet=\"`10`\" pulumi-lang-go=\"`10`\" pulumi-lang-python=\"`10`\" pulumi-lang-yaml=\"`10`\" pulumi-lang-java=\"`10`\"\u003e`10`\u003c/span\u003e.\n"},"maxMessageSizeInKilobytes":{"type":"integer","description":"Integer value which controls the maximum size of a message allowed on the queue for Premium SKU. For supported values see the \"Large messages support\" section of [this document](https://docs.microsoft.com/azure/service-bus-messaging/service-bus-premium-messaging#large-messages-support-preview).\n"},"maxSizeInMegabytes":{"type":"integer","description":"Integer value which controls the size of memory allocated for the queue. For supported values see the \"Queue or topic size\" section of [Service Bus Quotas](https://docs.microsoft.com/azure/service-bus-messaging/service-bus-quotas).\n"},"name":{"type":"string","description":"Specifies the name of the ServiceBus Queue resource. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"namespaceId":{"type":"string","description":"The ID of the ServiceBus Namespace to create this queue in. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"namespaceName":{"type":"string"},"partitioningEnabled":{"type":"boolean","description":"Boolean flag which controls whether to enable the queue to be partitioned across multiple message brokers. Changing this forces a new resource to be created. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e for Basic and Standard.\n\n\u003e **Note:** Partitioning is available at entity creation for all queues and topics in Basic or Standard SKUs. For premium namespace, partitioning is available at namespace creation, and all queues and topics in the partitioned namespace will be partitioned, for the premium namespace that has \u003cspan pulumi-lang-nodejs=\"`premiumMessagingPartitions`\" pulumi-lang-dotnet=\"`PremiumMessagingPartitions`\" pulumi-lang-go=\"`premiumMessagingPartitions`\" pulumi-lang-python=\"`premium_messaging_partitions`\" pulumi-lang-yaml=\"`premiumMessagingPartitions`\" pulumi-lang-java=\"`premiumMessagingPartitions`\"\u003e`premium_messaging_partitions`\u003c/span\u003e sets to \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e, the namespace is not partitioned.\n","willReplaceOnChanges":true},"requiresDuplicateDetection":{"type":"boolean","description":"Boolean flag which controls whether the Queue requires duplicate detection. Changing this forces a new resource to be created. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n","willReplaceOnChanges":true},"requiresSession":{"type":"boolean","description":"Boolean flag which controls whether the Queue requires sessions. This will allow ordered handling of unbounded sequences of related messages. With sessions enabled a queue can guarantee first-in-first-out delivery of messages. Changing this forces a new resource to be created. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string"},"status":{"type":"string","description":"The status of the Queue. Possible values are `Active`, `Creating`, `Deleting`, `Disabled`, `ReceiveDisabled`, `Renaming`, `SendDisabled`, `Unknown`. Note that `Restoring` is not accepted. Defaults to `Active`.\n"}},"type":"object"},"deprecationMessage":"azure.eventhub.Queue has been deprecated in favor of azure.servicebus.Queue"},"azure:eventhub/queueAuthorizationRule:QueueAuthorizationRule":{"description":"Manages an Authorization Rule for a ServiceBus Queue.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"my-servicebus\",\n    location: \"West US\",\n});\nconst exampleNamespace = new azure.servicebus.Namespace(\"example\", {\n    name: \"tfex-servicebus-namespace\",\n    location: example.location,\n    resourceGroupName: example.name,\n    sku: \"Standard\",\n    tags: {\n        source: \"example\",\n    },\n});\nconst exampleQueue = new azure.servicebus.Queue(\"example\", {\n    name: \"tfex_servicebus_queue\",\n    namespaceId: exampleNamespace.id,\n    enablePartitioning: true,\n});\nconst exampleQueueAuthorizationRule = new azure.servicebus.QueueAuthorizationRule(\"example\", {\n    name: \"examplerule\",\n    queueId: exampleQueue.id,\n    listen: true,\n    send: true,\n    manage: false,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"my-servicebus\",\n    location=\"West US\")\nexample_namespace = azure.servicebus.Namespace(\"example\",\n    name=\"tfex-servicebus-namespace\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku=\"Standard\",\n    tags={\n        \"source\": \"example\",\n    })\nexample_queue = azure.servicebus.Queue(\"example\",\n    name=\"tfex_servicebus_queue\",\n    namespace_id=example_namespace.id,\n    enable_partitioning=True)\nexample_queue_authorization_rule = azure.servicebus.QueueAuthorizationRule(\"example\",\n    name=\"examplerule\",\n    queue_id=example_queue.id,\n    listen=True,\n    send=True,\n    manage=False)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"my-servicebus\",\n        Location = \"West US\",\n    });\n\n    var exampleNamespace = new Azure.ServiceBus.Namespace(\"example\", new()\n    {\n        Name = \"tfex-servicebus-namespace\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Sku = \"Standard\",\n        Tags = \n        {\n            { \"source\", \"example\" },\n        },\n    });\n\n    var exampleQueue = new Azure.ServiceBus.Queue(\"example\", new()\n    {\n        Name = \"tfex_servicebus_queue\",\n        NamespaceId = exampleNamespace.Id,\n        EnablePartitioning = true,\n    });\n\n    var exampleQueueAuthorizationRule = new Azure.ServiceBus.QueueAuthorizationRule(\"example\", new()\n    {\n        Name = \"examplerule\",\n        QueueId = exampleQueue.Id,\n        Listen = true,\n        Send = true,\n        Manage = false,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/servicebus\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"my-servicebus\"),\n\t\t\tLocation: pulumi.String(\"West US\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNamespace, err := servicebus.NewNamespace(ctx, \"example\", \u0026servicebus.NamespaceArgs{\n\t\t\tName:              pulumi.String(\"tfex-servicebus-namespace\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSku:               pulumi.String(\"Standard\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"source\": pulumi.String(\"example\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleQueue, err := servicebus.NewQueue(ctx, \"example\", \u0026servicebus.QueueArgs{\n\t\t\tName:               pulumi.String(\"tfex_servicebus_queue\"),\n\t\t\tNamespaceId:        exampleNamespace.ID(),\n\t\t\tEnablePartitioning: true,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = servicebus.NewQueueAuthorizationRule(ctx, \"example\", \u0026servicebus.QueueAuthorizationRuleArgs{\n\t\t\tName:    pulumi.String(\"examplerule\"),\n\t\t\tQueueId: exampleQueue.ID(),\n\t\t\tListen:  pulumi.Bool(true),\n\t\t\tSend:    pulumi.Bool(true),\n\t\t\tManage:  pulumi.Bool(false),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.servicebus.Namespace;\nimport com.pulumi.azure.servicebus.NamespaceArgs;\nimport com.pulumi.azure.servicebus.Queue;\nimport com.pulumi.azure.servicebus.QueueArgs;\nimport com.pulumi.azure.servicebus.QueueAuthorizationRule;\nimport com.pulumi.azure.servicebus.QueueAuthorizationRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"my-servicebus\")\n            .location(\"West US\")\n            .build());\n\n        var exampleNamespace = new Namespace(\"exampleNamespace\", NamespaceArgs.builder()\n            .name(\"tfex-servicebus-namespace\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .sku(\"Standard\")\n            .tags(Map.of(\"source\", \"example\"))\n            .build());\n\n        var exampleQueue = new Queue(\"exampleQueue\", QueueArgs.builder()\n            .name(\"tfex_servicebus_queue\")\n            .namespaceId(exampleNamespace.id())\n            .enablePartitioning(true)\n            .build());\n\n        var exampleQueueAuthorizationRule = new QueueAuthorizationRule(\"exampleQueueAuthorizationRule\", QueueAuthorizationRuleArgs.builder()\n            .name(\"examplerule\")\n            .queueId(exampleQueue.id())\n            .listen(true)\n            .send(true)\n            .manage(false)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: my-servicebus\n      location: West US\n  exampleNamespace:\n    type: azure:servicebus:Namespace\n    name: example\n    properties:\n      name: tfex-servicebus-namespace\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      sku: Standard\n      tags:\n        source: example\n  exampleQueue:\n    type: azure:servicebus:Queue\n    name: example\n    properties:\n      name: tfex_servicebus_queue\n      namespaceId: ${exampleNamespace.id}\n      enablePartitioning: true\n  exampleQueueAuthorizationRule:\n    type: azure:servicebus:QueueAuthorizationRule\n    name: example\n    properties:\n      name: examplerule\n      queueId: ${exampleQueue.id}\n      listen: true\n      send: true\n      manage: false\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.ServiceBus` - 2024-01-01\n\n## Import\n\nServiceBus Queue Authorization Rules can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:eventhub/queueAuthorizationRule:QueueAuthorizationRule rule1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.ServiceBus/namespaces/namespace1/queues/queue1/authorizationRules/rule1\n```\n\n","properties":{"listen":{"type":"boolean","description":"Does this Authorization Rule have Listen permissions to the ServiceBus Queue? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"manage":{"type":"boolean","description":"Does this Authorization Rule have Manage permissions to the ServiceBus Queue? When this property is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e - both \u003cspan pulumi-lang-nodejs=\"`listen`\" pulumi-lang-dotnet=\"`Listen`\" pulumi-lang-go=\"`listen`\" pulumi-lang-python=\"`listen`\" pulumi-lang-yaml=\"`listen`\" pulumi-lang-java=\"`listen`\"\u003e`listen`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`send`\" pulumi-lang-dotnet=\"`Send`\" pulumi-lang-go=\"`send`\" pulumi-lang-python=\"`send`\" pulumi-lang-yaml=\"`send`\" pulumi-lang-java=\"`send`\"\u003e`send`\u003c/span\u003e must be too. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"name":{"type":"string","description":"Specifies the name of the Authorization Rule. Changing this forces a new resource to be created.\n"},"primaryConnectionString":{"type":"string","description":"The Primary Connection String for the Authorization Rule.\n","secret":true},"primaryConnectionStringAlias":{"type":"string","description":"The alias Primary Connection String for the ServiceBus Namespace, if the namespace is Geo DR paired.\n","secret":true},"primaryKey":{"type":"string","description":"The Primary Key for the Authorization Rule.\n","secret":true},"queueId":{"type":"string","description":"Specifies the ID of the ServiceBus Queue. Changing this forces a new resource to be created.\n\n\u003e **Note:** At least one of the 3 permissions below needs to be set.\n"},"secondaryConnectionString":{"type":"string","description":"The Secondary Connection String for the Authorization Rule.\n","secret":true},"secondaryConnectionStringAlias":{"type":"string","description":"The alias Secondary Connection String for the ServiceBus Namespace\n","secret":true},"secondaryKey":{"type":"string","description":"The Secondary Key for the Authorization Rule.\n","secret":true},"send":{"type":"boolean","description":"Does this Authorization Rule have Send permissions to the ServiceBus Queue? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"}},"required":["name","primaryConnectionString","primaryConnectionStringAlias","primaryKey","queueId","secondaryConnectionString","secondaryConnectionStringAlias","secondaryKey"],"inputProperties":{"listen":{"type":"boolean","description":"Does this Authorization Rule have Listen permissions to the ServiceBus Queue? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"manage":{"type":"boolean","description":"Does this Authorization Rule have Manage permissions to the ServiceBus Queue? When this property is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e - both \u003cspan pulumi-lang-nodejs=\"`listen`\" pulumi-lang-dotnet=\"`Listen`\" pulumi-lang-go=\"`listen`\" pulumi-lang-python=\"`listen`\" pulumi-lang-yaml=\"`listen`\" pulumi-lang-java=\"`listen`\"\u003e`listen`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`send`\" pulumi-lang-dotnet=\"`Send`\" pulumi-lang-go=\"`send`\" pulumi-lang-python=\"`send`\" pulumi-lang-yaml=\"`send`\" pulumi-lang-java=\"`send`\"\u003e`send`\u003c/span\u003e must be too. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"name":{"type":"string","description":"Specifies the name of the Authorization Rule. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"queueId":{"type":"string","description":"Specifies the ID of the ServiceBus Queue. Changing this forces a new resource to be created.\n\n\u003e **Note:** At least one of the 3 permissions below needs to be set.\n","willReplaceOnChanges":true},"send":{"type":"boolean","description":"Does this Authorization Rule have Send permissions to the ServiceBus Queue? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"}},"requiredInputs":["queueId"],"stateInputs":{"description":"Input properties used for looking up and filtering QueueAuthorizationRule resources.\n","properties":{"listen":{"type":"boolean","description":"Does this Authorization Rule have Listen permissions to the ServiceBus Queue? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"manage":{"type":"boolean","description":"Does this Authorization Rule have Manage permissions to the ServiceBus Queue? When this property is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e - both \u003cspan pulumi-lang-nodejs=\"`listen`\" pulumi-lang-dotnet=\"`Listen`\" pulumi-lang-go=\"`listen`\" pulumi-lang-python=\"`listen`\" pulumi-lang-yaml=\"`listen`\" pulumi-lang-java=\"`listen`\"\u003e`listen`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`send`\" pulumi-lang-dotnet=\"`Send`\" pulumi-lang-go=\"`send`\" pulumi-lang-python=\"`send`\" pulumi-lang-yaml=\"`send`\" pulumi-lang-java=\"`send`\"\u003e`send`\u003c/span\u003e must be too. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"name":{"type":"string","description":"Specifies the name of the Authorization Rule. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"primaryConnectionString":{"type":"string","description":"The Primary Connection String for the Authorization Rule.\n","secret":true},"primaryConnectionStringAlias":{"type":"string","description":"The alias Primary Connection String for the ServiceBus Namespace, if the namespace is Geo DR paired.\n","secret":true},"primaryKey":{"type":"string","description":"The Primary Key for the Authorization Rule.\n","secret":true},"queueId":{"type":"string","description":"Specifies the ID of the ServiceBus Queue. Changing this forces a new resource to be created.\n\n\u003e **Note:** At least one of the 3 permissions below needs to be set.\n","willReplaceOnChanges":true},"secondaryConnectionString":{"type":"string","description":"The Secondary Connection String for the Authorization Rule.\n","secret":true},"secondaryConnectionStringAlias":{"type":"string","description":"The alias Secondary Connection String for the ServiceBus Namespace\n","secret":true},"secondaryKey":{"type":"string","description":"The Secondary Key for the Authorization Rule.\n","secret":true},"send":{"type":"boolean","description":"Does this Authorization Rule have Send permissions to the ServiceBus Queue? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"}},"type":"object"},"deprecationMessage":"azure.eventhub.QueueAuthorizationRule has been deprecated in favor of azure.servicebus.QueueAuthorizationRule"},"azure:eventhub/subscription:Subscription":{"description":"Manages a ServiceBus Subscription.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"tfex-servicebus-subscription\",\n    location: \"West Europe\",\n});\nconst exampleNamespace = new azure.servicebus.Namespace(\"example\", {\n    name: \"tfex-servicebus-namespace\",\n    location: example.location,\n    resourceGroupName: example.name,\n    sku: \"Standard\",\n    tags: {\n        source: \"example\",\n    },\n});\nconst exampleTopic = new azure.servicebus.Topic(\"example\", {\n    name: \"tfex_servicebus_topic\",\n    namespaceId: exampleNamespace.id,\n    partitioningEnabled: true,\n});\nconst exampleSubscription = new azure.servicebus.Subscription(\"example\", {\n    name: \"tfex_servicebus_subscription\",\n    topicId: exampleTopic.id,\n    maxDeliveryCount: 1,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"tfex-servicebus-subscription\",\n    location=\"West Europe\")\nexample_namespace = azure.servicebus.Namespace(\"example\",\n    name=\"tfex-servicebus-namespace\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku=\"Standard\",\n    tags={\n        \"source\": \"example\",\n    })\nexample_topic = azure.servicebus.Topic(\"example\",\n    name=\"tfex_servicebus_topic\",\n    namespace_id=example_namespace.id,\n    partitioning_enabled=True)\nexample_subscription = azure.servicebus.Subscription(\"example\",\n    name=\"tfex_servicebus_subscription\",\n    topic_id=example_topic.id,\n    max_delivery_count=1)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"tfex-servicebus-subscription\",\n        Location = \"West Europe\",\n    });\n\n    var exampleNamespace = new Azure.ServiceBus.Namespace(\"example\", new()\n    {\n        Name = \"tfex-servicebus-namespace\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Sku = \"Standard\",\n        Tags = \n        {\n            { \"source\", \"example\" },\n        },\n    });\n\n    var exampleTopic = new Azure.ServiceBus.Topic(\"example\", new()\n    {\n        Name = \"tfex_servicebus_topic\",\n        NamespaceId = exampleNamespace.Id,\n        PartitioningEnabled = true,\n    });\n\n    var exampleSubscription = new Azure.ServiceBus.Subscription(\"example\", new()\n    {\n        Name = \"tfex_servicebus_subscription\",\n        TopicId = exampleTopic.Id,\n        MaxDeliveryCount = 1,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/servicebus\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"tfex-servicebus-subscription\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNamespace, err := servicebus.NewNamespace(ctx, \"example\", \u0026servicebus.NamespaceArgs{\n\t\t\tName:              pulumi.String(\"tfex-servicebus-namespace\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSku:               pulumi.String(\"Standard\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"source\": pulumi.String(\"example\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleTopic, err := servicebus.NewTopic(ctx, \"example\", \u0026servicebus.TopicArgs{\n\t\t\tName:                pulumi.String(\"tfex_servicebus_topic\"),\n\t\t\tNamespaceId:         exampleNamespace.ID(),\n\t\t\tPartitioningEnabled: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = servicebus.NewSubscription(ctx, \"example\", \u0026servicebus.SubscriptionArgs{\n\t\t\tName:             pulumi.String(\"tfex_servicebus_subscription\"),\n\t\t\tTopicId:          exampleTopic.ID(),\n\t\t\tMaxDeliveryCount: pulumi.Int(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.servicebus.Namespace;\nimport com.pulumi.azure.servicebus.NamespaceArgs;\nimport com.pulumi.azure.servicebus.Topic;\nimport com.pulumi.azure.servicebus.TopicArgs;\nimport com.pulumi.azure.servicebus.Subscription;\nimport com.pulumi.azure.servicebus.SubscriptionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"tfex-servicebus-subscription\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleNamespace = new Namespace(\"exampleNamespace\", NamespaceArgs.builder()\n            .name(\"tfex-servicebus-namespace\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .sku(\"Standard\")\n            .tags(Map.of(\"source\", \"example\"))\n            .build());\n\n        var exampleTopic = new Topic(\"exampleTopic\", TopicArgs.builder()\n            .name(\"tfex_servicebus_topic\")\n            .namespaceId(exampleNamespace.id())\n            .partitioningEnabled(true)\n            .build());\n\n        var exampleSubscription = new Subscription(\"exampleSubscription\", SubscriptionArgs.builder()\n            .name(\"tfex_servicebus_subscription\")\n            .topicId(exampleTopic.id())\n            .maxDeliveryCount(1)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: tfex-servicebus-subscription\n      location: West Europe\n  exampleNamespace:\n    type: azure:servicebus:Namespace\n    name: example\n    properties:\n      name: tfex-servicebus-namespace\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      sku: Standard\n      tags:\n        source: example\n  exampleTopic:\n    type: azure:servicebus:Topic\n    name: example\n    properties:\n      name: tfex_servicebus_topic\n      namespaceId: ${exampleNamespace.id}\n      partitioningEnabled: true\n  exampleSubscription:\n    type: azure:servicebus:Subscription\n    name: example\n    properties:\n      name: tfex_servicebus_subscription\n      topicId: ${exampleTopic.id}\n      maxDeliveryCount: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.ServiceBus` - 2024-01-01\n\n## Import\n\nService Bus Subscriptions can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:eventhub/subscription:Subscription example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.ServiceBus/namespaces/sbns1/topics/sntopic1/subscriptions/sbsub1\n```\n\n","properties":{"autoDeleteOnIdle":{"type":"string","description":"The idle interval after which the topic is automatically deleted as an [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations). The minimum duration is \u003cspan pulumi-lang-nodejs=\"`5`\" pulumi-lang-dotnet=\"`5`\" pulumi-lang-go=\"`5`\" pulumi-lang-python=\"`5`\" pulumi-lang-yaml=\"`5`\" pulumi-lang-java=\"`5`\"\u003e`5`\u003c/span\u003e minutes or `PT5M`. Defaults to `P10675199DT2H48M5.4775807S`.\n"},"batchedOperationsEnabled":{"type":"boolean","description":"Boolean flag which controls whether the Subscription supports batched operations.\n"},"clientScopedSubscription":{"$ref":"#/types/azure:eventhub/SubscriptionClientScopedSubscription:SubscriptionClientScopedSubscription","description":"A \u003cspan pulumi-lang-nodejs=\"`clientScopedSubscription`\" pulumi-lang-dotnet=\"`ClientScopedSubscription`\" pulumi-lang-go=\"`clientScopedSubscription`\" pulumi-lang-python=\"`client_scoped_subscription`\" pulumi-lang-yaml=\"`clientScopedSubscription`\" pulumi-lang-java=\"`clientScopedSubscription`\"\u003e`client_scoped_subscription`\u003c/span\u003e block as defined below.\n"},"clientScopedSubscriptionEnabled":{"type":"boolean","description":"whether the subscription is scoped to a client id. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** Client Scoped Subscription can only be used for JMS subscription (Java Message Service).\n"},"deadLetteringOnFilterEvaluationError":{"type":"boolean","description":"Boolean flag which controls whether the Subscription has dead letter support on filter evaluation exceptions. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"deadLetteringOnMessageExpiration":{"type":"boolean","description":"Boolean flag which controls whether the Subscription has dead letter support when a message expires.\n"},"defaultMessageTtl":{"type":"string","description":"The Default message timespan to live as an [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations). This is the duration after which the message expires, starting from when the message is sent to Service Bus. This is the value used when TimeToLive is not set on a message itself. Defaults to `P10675199DT2H48M5.4775807S`.\n"},"forwardDeadLetteredMessagesTo":{"type":"string","description":"The name of a Queue or Topic to automatically forward Dead Letter messages to.\n"},"forwardTo":{"type":"string","description":"The name of a Queue or Topic to automatically forward messages to.\n"},"lockDuration":{"type":"string","description":"The lock duration for the subscription as an [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations). Defaults to `PT1M`.\n"},"maxDeliveryCount":{"type":"integer","description":"The maximum number of deliveries.\n"},"name":{"type":"string","description":"Specifies the name of the ServiceBus Subscription resource. Changing this forces a new resource to be created.\n"},"requiresSession":{"type":"boolean","description":"Boolean flag which controls whether this Subscription supports the concept of a session. Changing this forces a new resource to be created.\n"},"status":{"type":"string","description":"The status of the Subscription. Possible values are `Active`,`ReceiveDisabled`, or `Disabled`. Defaults to `Active`.\n"},"topicId":{"type":"string","description":"The ID of the ServiceBus Topic to create this Subscription in. Changing this forces a new resource to be created.\n"}},"required":["maxDeliveryCount","name","topicId"],"inputProperties":{"autoDeleteOnIdle":{"type":"string","description":"The idle interval after which the topic is automatically deleted as an [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations). The minimum duration is \u003cspan pulumi-lang-nodejs=\"`5`\" pulumi-lang-dotnet=\"`5`\" pulumi-lang-go=\"`5`\" pulumi-lang-python=\"`5`\" pulumi-lang-yaml=\"`5`\" pulumi-lang-java=\"`5`\"\u003e`5`\u003c/span\u003e minutes or `PT5M`. Defaults to `P10675199DT2H48M5.4775807S`.\n"},"batchedOperationsEnabled":{"type":"boolean","description":"Boolean flag which controls whether the Subscription supports batched operations.\n"},"clientScopedSubscription":{"$ref":"#/types/azure:eventhub/SubscriptionClientScopedSubscription:SubscriptionClientScopedSubscription","description":"A \u003cspan pulumi-lang-nodejs=\"`clientScopedSubscription`\" pulumi-lang-dotnet=\"`ClientScopedSubscription`\" pulumi-lang-go=\"`clientScopedSubscription`\" pulumi-lang-python=\"`client_scoped_subscription`\" pulumi-lang-yaml=\"`clientScopedSubscription`\" pulumi-lang-java=\"`clientScopedSubscription`\"\u003e`client_scoped_subscription`\u003c/span\u003e block as defined below.\n"},"clientScopedSubscriptionEnabled":{"type":"boolean","description":"whether the subscription is scoped to a client id. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** Client Scoped Subscription can only be used for JMS subscription (Java Message Service).\n"},"deadLetteringOnFilterEvaluationError":{"type":"boolean","description":"Boolean flag which controls whether the Subscription has dead letter support on filter evaluation exceptions. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"deadLetteringOnMessageExpiration":{"type":"boolean","description":"Boolean flag which controls whether the Subscription has dead letter support when a message expires.\n"},"defaultMessageTtl":{"type":"string","description":"The Default message timespan to live as an [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations). This is the duration after which the message expires, starting from when the message is sent to Service Bus. This is the value used when TimeToLive is not set on a message itself. Defaults to `P10675199DT2H48M5.4775807S`.\n"},"forwardDeadLetteredMessagesTo":{"type":"string","description":"The name of a Queue or Topic to automatically forward Dead Letter messages to.\n"},"forwardTo":{"type":"string","description":"The name of a Queue or Topic to automatically forward messages to.\n"},"lockDuration":{"type":"string","description":"The lock duration for the subscription as an [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations). Defaults to `PT1M`.\n"},"maxDeliveryCount":{"type":"integer","description":"The maximum number of deliveries.\n"},"name":{"type":"string","description":"Specifies the name of the ServiceBus Subscription resource. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"requiresSession":{"type":"boolean","description":"Boolean flag which controls whether this Subscription supports the concept of a session. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"status":{"type":"string","description":"The status of the Subscription. Possible values are `Active`,`ReceiveDisabled`, or `Disabled`. Defaults to `Active`.\n"},"topicId":{"type":"string","description":"The ID of the ServiceBus Topic to create this Subscription in. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["maxDeliveryCount","topicId"],"stateInputs":{"description":"Input properties used for looking up and filtering Subscription resources.\n","properties":{"autoDeleteOnIdle":{"type":"string","description":"The idle interval after which the topic is automatically deleted as an [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations). The minimum duration is \u003cspan pulumi-lang-nodejs=\"`5`\" pulumi-lang-dotnet=\"`5`\" pulumi-lang-go=\"`5`\" pulumi-lang-python=\"`5`\" pulumi-lang-yaml=\"`5`\" pulumi-lang-java=\"`5`\"\u003e`5`\u003c/span\u003e minutes or `PT5M`. Defaults to `P10675199DT2H48M5.4775807S`.\n"},"batchedOperationsEnabled":{"type":"boolean","description":"Boolean flag which controls whether the Subscription supports batched operations.\n"},"clientScopedSubscription":{"$ref":"#/types/azure:eventhub/SubscriptionClientScopedSubscription:SubscriptionClientScopedSubscription","description":"A \u003cspan pulumi-lang-nodejs=\"`clientScopedSubscription`\" pulumi-lang-dotnet=\"`ClientScopedSubscription`\" pulumi-lang-go=\"`clientScopedSubscription`\" pulumi-lang-python=\"`client_scoped_subscription`\" pulumi-lang-yaml=\"`clientScopedSubscription`\" pulumi-lang-java=\"`clientScopedSubscription`\"\u003e`client_scoped_subscription`\u003c/span\u003e block as defined below.\n"},"clientScopedSubscriptionEnabled":{"type":"boolean","description":"whether the subscription is scoped to a client id. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** Client Scoped Subscription can only be used for JMS subscription (Java Message Service).\n"},"deadLetteringOnFilterEvaluationError":{"type":"boolean","description":"Boolean flag which controls whether the Subscription has dead letter support on filter evaluation exceptions. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"deadLetteringOnMessageExpiration":{"type":"boolean","description":"Boolean flag which controls whether the Subscription has dead letter support when a message expires.\n"},"defaultMessageTtl":{"type":"string","description":"The Default message timespan to live as an [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations). This is the duration after which the message expires, starting from when the message is sent to Service Bus. This is the value used when TimeToLive is not set on a message itself. Defaults to `P10675199DT2H48M5.4775807S`.\n"},"forwardDeadLetteredMessagesTo":{"type":"string","description":"The name of a Queue or Topic to automatically forward Dead Letter messages to.\n"},"forwardTo":{"type":"string","description":"The name of a Queue or Topic to automatically forward messages to.\n"},"lockDuration":{"type":"string","description":"The lock duration for the subscription as an [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations). Defaults to `PT1M`.\n"},"maxDeliveryCount":{"type":"integer","description":"The maximum number of deliveries.\n"},"name":{"type":"string","description":"Specifies the name of the ServiceBus Subscription resource. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"requiresSession":{"type":"boolean","description":"Boolean flag which controls whether this Subscription supports the concept of a session. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"status":{"type":"string","description":"The status of the Subscription. Possible values are `Active`,`ReceiveDisabled`, or `Disabled`. Defaults to `Active`.\n"},"topicId":{"type":"string","description":"The ID of the ServiceBus Topic to create this Subscription in. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"},"deprecationMessage":"azure.eventhub.Subscription has been deprecated in favor of azure.servicebus.Subscription"},"azure:eventhub/subscriptionRule:SubscriptionRule":{"description":"Manages a ServiceBus Subscription Rule.\n\n## Example Usage\n\n### SQL Filter)\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"tfex-servicebus-subscription-rule-sql\",\n    location: \"West Europe\",\n});\nconst exampleNamespace = new azure.servicebus.Namespace(\"example\", {\n    name: \"tfex-servicebus-namespace\",\n    location: example.location,\n    resourceGroupName: example.name,\n    sku: \"Standard\",\n    tags: {\n        source: \"example\",\n    },\n});\nconst exampleTopic = new azure.servicebus.Topic(\"example\", {\n    name: \"tfex_servicebus_topic\",\n    namespaceId: exampleNamespace.id,\n    enablePartitioning: true,\n});\nconst exampleSubscription = new azure.servicebus.Subscription(\"example\", {\n    name: \"tfex_servicebus_subscription\",\n    topicId: exampleTopic.id,\n    maxDeliveryCount: 1,\n});\nconst exampleSubscriptionRule = new azure.servicebus.SubscriptionRule(\"example\", {\n    name: \"tfex_servicebus_rule\",\n    subscriptionId: exampleSubscription.id,\n    filterType: \"SqlFilter\",\n    sqlFilter: \"colour = 'red'\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"tfex-servicebus-subscription-rule-sql\",\n    location=\"West Europe\")\nexample_namespace = azure.servicebus.Namespace(\"example\",\n    name=\"tfex-servicebus-namespace\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku=\"Standard\",\n    tags={\n        \"source\": \"example\",\n    })\nexample_topic = azure.servicebus.Topic(\"example\",\n    name=\"tfex_servicebus_topic\",\n    namespace_id=example_namespace.id,\n    enable_partitioning=True)\nexample_subscription = azure.servicebus.Subscription(\"example\",\n    name=\"tfex_servicebus_subscription\",\n    topic_id=example_topic.id,\n    max_delivery_count=1)\nexample_subscription_rule = azure.servicebus.SubscriptionRule(\"example\",\n    name=\"tfex_servicebus_rule\",\n    subscription_id=example_subscription.id,\n    filter_type=\"SqlFilter\",\n    sql_filter=\"colour = 'red'\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"tfex-servicebus-subscription-rule-sql\",\n        Location = \"West Europe\",\n    });\n\n    var exampleNamespace = new Azure.ServiceBus.Namespace(\"example\", new()\n    {\n        Name = \"tfex-servicebus-namespace\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Sku = \"Standard\",\n        Tags = \n        {\n            { \"source\", \"example\" },\n        },\n    });\n\n    var exampleTopic = new Azure.ServiceBus.Topic(\"example\", new()\n    {\n        Name = \"tfex_servicebus_topic\",\n        NamespaceId = exampleNamespace.Id,\n        EnablePartitioning = true,\n    });\n\n    var exampleSubscription = new Azure.ServiceBus.Subscription(\"example\", new()\n    {\n        Name = \"tfex_servicebus_subscription\",\n        TopicId = exampleTopic.Id,\n        MaxDeliveryCount = 1,\n    });\n\n    var exampleSubscriptionRule = new Azure.ServiceBus.SubscriptionRule(\"example\", new()\n    {\n        Name = \"tfex_servicebus_rule\",\n        SubscriptionId = exampleSubscription.Id,\n        FilterType = \"SqlFilter\",\n        SqlFilter = \"colour = 'red'\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/servicebus\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"tfex-servicebus-subscription-rule-sql\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNamespace, err := servicebus.NewNamespace(ctx, \"example\", \u0026servicebus.NamespaceArgs{\n\t\t\tName:              pulumi.String(\"tfex-servicebus-namespace\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSku:               pulumi.String(\"Standard\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"source\": pulumi.String(\"example\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleTopic, err := servicebus.NewTopic(ctx, \"example\", \u0026servicebus.TopicArgs{\n\t\t\tName:               pulumi.String(\"tfex_servicebus_topic\"),\n\t\t\tNamespaceId:        exampleNamespace.ID(),\n\t\t\tEnablePartitioning: true,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSubscription, err := servicebus.NewSubscription(ctx, \"example\", \u0026servicebus.SubscriptionArgs{\n\t\t\tName:             pulumi.String(\"tfex_servicebus_subscription\"),\n\t\t\tTopicId:          exampleTopic.ID(),\n\t\t\tMaxDeliveryCount: pulumi.Int(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = servicebus.NewSubscriptionRule(ctx, \"example\", \u0026servicebus.SubscriptionRuleArgs{\n\t\t\tName:           pulumi.String(\"tfex_servicebus_rule\"),\n\t\t\tSubscriptionId: exampleSubscription.ID(),\n\t\t\tFilterType:     pulumi.String(\"SqlFilter\"),\n\t\t\tSqlFilter:      pulumi.String(\"colour = 'red'\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.servicebus.Namespace;\nimport com.pulumi.azure.servicebus.NamespaceArgs;\nimport com.pulumi.azure.servicebus.Topic;\nimport com.pulumi.azure.servicebus.TopicArgs;\nimport com.pulumi.azure.servicebus.Subscription;\nimport com.pulumi.azure.servicebus.SubscriptionArgs;\nimport com.pulumi.azure.servicebus.SubscriptionRule;\nimport com.pulumi.azure.servicebus.SubscriptionRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"tfex-servicebus-subscription-rule-sql\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleNamespace = new Namespace(\"exampleNamespace\", NamespaceArgs.builder()\n            .name(\"tfex-servicebus-namespace\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .sku(\"Standard\")\n            .tags(Map.of(\"source\", \"example\"))\n            .build());\n\n        var exampleTopic = new Topic(\"exampleTopic\", TopicArgs.builder()\n            .name(\"tfex_servicebus_topic\")\n            .namespaceId(exampleNamespace.id())\n            .enablePartitioning(true)\n            .build());\n\n        var exampleSubscription = new Subscription(\"exampleSubscription\", SubscriptionArgs.builder()\n            .name(\"tfex_servicebus_subscription\")\n            .topicId(exampleTopic.id())\n            .maxDeliveryCount(1)\n            .build());\n\n        var exampleSubscriptionRule = new SubscriptionRule(\"exampleSubscriptionRule\", SubscriptionRuleArgs.builder()\n            .name(\"tfex_servicebus_rule\")\n            .subscriptionId(exampleSubscription.id())\n            .filterType(\"SqlFilter\")\n            .sqlFilter(\"colour = 'red'\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: tfex-servicebus-subscription-rule-sql\n      location: West Europe\n  exampleNamespace:\n    type: azure:servicebus:Namespace\n    name: example\n    properties:\n      name: tfex-servicebus-namespace\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      sku: Standard\n      tags:\n        source: example\n  exampleTopic:\n    type: azure:servicebus:Topic\n    name: example\n    properties:\n      name: tfex_servicebus_topic\n      namespaceId: ${exampleNamespace.id}\n      enablePartitioning: true\n  exampleSubscription:\n    type: azure:servicebus:Subscription\n    name: example\n    properties:\n      name: tfex_servicebus_subscription\n      topicId: ${exampleTopic.id}\n      maxDeliveryCount: 1\n  exampleSubscriptionRule:\n    type: azure:servicebus:SubscriptionRule\n    name: example\n    properties:\n      name: tfex_servicebus_rule\n      subscriptionId: ${exampleSubscription.id}\n      filterType: SqlFilter\n      sqlFilter: colour = 'red'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\n### Correlation Filter)\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"tfex-servicebus-subscription-rule-cor\",\n    location: \"West Europe\",\n});\nconst exampleNamespace = new azure.servicebus.Namespace(\"example\", {\n    name: \"tfex-servicebus-namespace\",\n    location: example.location,\n    resourceGroupName: example.name,\n    sku: \"Standard\",\n    tags: {\n        source: \"example\",\n    },\n});\nconst exampleTopic = new azure.servicebus.Topic(\"example\", {\n    name: \"tfex_servicebus_topic\",\n    namespaceId: exampleNamespace.id,\n    enablePartitioning: true,\n});\nconst exampleSubscription = new azure.servicebus.Subscription(\"example\", {\n    name: \"tfex_servicebus_subscription\",\n    topicId: exampleTopic.id,\n    maxDeliveryCount: 1,\n});\nconst exampleSubscriptionRule = new azure.servicebus.SubscriptionRule(\"example\", {\n    name: \"tfex_servicebus_rule\",\n    subscriptionId: exampleSubscription.id,\n    filterType: \"CorrelationFilter\",\n    correlationFilter: {\n        correlationId: \"high\",\n        label: \"red\",\n        properties: {\n            customProperty: \"value\",\n        },\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"tfex-servicebus-subscription-rule-cor\",\n    location=\"West Europe\")\nexample_namespace = azure.servicebus.Namespace(\"example\",\n    name=\"tfex-servicebus-namespace\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku=\"Standard\",\n    tags={\n        \"source\": \"example\",\n    })\nexample_topic = azure.servicebus.Topic(\"example\",\n    name=\"tfex_servicebus_topic\",\n    namespace_id=example_namespace.id,\n    enable_partitioning=True)\nexample_subscription = azure.servicebus.Subscription(\"example\",\n    name=\"tfex_servicebus_subscription\",\n    topic_id=example_topic.id,\n    max_delivery_count=1)\nexample_subscription_rule = azure.servicebus.SubscriptionRule(\"example\",\n    name=\"tfex_servicebus_rule\",\n    subscription_id=example_subscription.id,\n    filter_type=\"CorrelationFilter\",\n    correlation_filter={\n        \"correlation_id\": \"high\",\n        \"label\": \"red\",\n        \"properties\": {\n            \"customProperty\": \"value\",\n        },\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"tfex-servicebus-subscription-rule-cor\",\n        Location = \"West Europe\",\n    });\n\n    var exampleNamespace = new Azure.ServiceBus.Namespace(\"example\", new()\n    {\n        Name = \"tfex-servicebus-namespace\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Sku = \"Standard\",\n        Tags = \n        {\n            { \"source\", \"example\" },\n        },\n    });\n\n    var exampleTopic = new Azure.ServiceBus.Topic(\"example\", new()\n    {\n        Name = \"tfex_servicebus_topic\",\n        NamespaceId = exampleNamespace.Id,\n        EnablePartitioning = true,\n    });\n\n    var exampleSubscription = new Azure.ServiceBus.Subscription(\"example\", new()\n    {\n        Name = \"tfex_servicebus_subscription\",\n        TopicId = exampleTopic.Id,\n        MaxDeliveryCount = 1,\n    });\n\n    var exampleSubscriptionRule = new Azure.ServiceBus.SubscriptionRule(\"example\", new()\n    {\n        Name = \"tfex_servicebus_rule\",\n        SubscriptionId = exampleSubscription.Id,\n        FilterType = \"CorrelationFilter\",\n        CorrelationFilter = new Azure.ServiceBus.Inputs.SubscriptionRuleCorrelationFilterArgs\n        {\n            CorrelationId = \"high\",\n            Label = \"red\",\n            Properties = \n            {\n                { \"customProperty\", \"value\" },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/servicebus\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"tfex-servicebus-subscription-rule-cor\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNamespace, err := servicebus.NewNamespace(ctx, \"example\", \u0026servicebus.NamespaceArgs{\n\t\t\tName:              pulumi.String(\"tfex-servicebus-namespace\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSku:               pulumi.String(\"Standard\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"source\": pulumi.String(\"example\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleTopic, err := servicebus.NewTopic(ctx, \"example\", \u0026servicebus.TopicArgs{\n\t\t\tName:               pulumi.String(\"tfex_servicebus_topic\"),\n\t\t\tNamespaceId:        exampleNamespace.ID(),\n\t\t\tEnablePartitioning: true,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSubscription, err := servicebus.NewSubscription(ctx, \"example\", \u0026servicebus.SubscriptionArgs{\n\t\t\tName:             pulumi.String(\"tfex_servicebus_subscription\"),\n\t\t\tTopicId:          exampleTopic.ID(),\n\t\t\tMaxDeliveryCount: pulumi.Int(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = servicebus.NewSubscriptionRule(ctx, \"example\", \u0026servicebus.SubscriptionRuleArgs{\n\t\t\tName:           pulumi.String(\"tfex_servicebus_rule\"),\n\t\t\tSubscriptionId: exampleSubscription.ID(),\n\t\t\tFilterType:     pulumi.String(\"CorrelationFilter\"),\n\t\t\tCorrelationFilter: \u0026servicebus.SubscriptionRuleCorrelationFilterArgs{\n\t\t\t\tCorrelationId: pulumi.String(\"high\"),\n\t\t\t\tLabel:         pulumi.String(\"red\"),\n\t\t\t\tProperties: pulumi.StringMap{\n\t\t\t\t\t\"customProperty\": pulumi.String(\"value\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.servicebus.Namespace;\nimport com.pulumi.azure.servicebus.NamespaceArgs;\nimport com.pulumi.azure.servicebus.Topic;\nimport com.pulumi.azure.servicebus.TopicArgs;\nimport com.pulumi.azure.servicebus.Subscription;\nimport com.pulumi.azure.servicebus.SubscriptionArgs;\nimport com.pulumi.azure.servicebus.SubscriptionRule;\nimport com.pulumi.azure.servicebus.SubscriptionRuleArgs;\nimport com.pulumi.azure.servicebus.inputs.SubscriptionRuleCorrelationFilterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"tfex-servicebus-subscription-rule-cor\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleNamespace = new Namespace(\"exampleNamespace\", NamespaceArgs.builder()\n            .name(\"tfex-servicebus-namespace\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .sku(\"Standard\")\n            .tags(Map.of(\"source\", \"example\"))\n            .build());\n\n        var exampleTopic = new Topic(\"exampleTopic\", TopicArgs.builder()\n            .name(\"tfex_servicebus_topic\")\n            .namespaceId(exampleNamespace.id())\n            .enablePartitioning(true)\n            .build());\n\n        var exampleSubscription = new Subscription(\"exampleSubscription\", SubscriptionArgs.builder()\n            .name(\"tfex_servicebus_subscription\")\n            .topicId(exampleTopic.id())\n            .maxDeliveryCount(1)\n            .build());\n\n        var exampleSubscriptionRule = new SubscriptionRule(\"exampleSubscriptionRule\", SubscriptionRuleArgs.builder()\n            .name(\"tfex_servicebus_rule\")\n            .subscriptionId(exampleSubscription.id())\n            .filterType(\"CorrelationFilter\")\n            .correlationFilter(SubscriptionRuleCorrelationFilterArgs.builder()\n                .correlationId(\"high\")\n                .label(\"red\")\n                .properties(Map.of(\"customProperty\", \"value\"))\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: tfex-servicebus-subscription-rule-cor\n      location: West Europe\n  exampleNamespace:\n    type: azure:servicebus:Namespace\n    name: example\n    properties:\n      name: tfex-servicebus-namespace\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      sku: Standard\n      tags:\n        source: example\n  exampleTopic:\n    type: azure:servicebus:Topic\n    name: example\n    properties:\n      name: tfex_servicebus_topic\n      namespaceId: ${exampleNamespace.id}\n      enablePartitioning: true\n  exampleSubscription:\n    type: azure:servicebus:Subscription\n    name: example\n    properties:\n      name: tfex_servicebus_subscription\n      topicId: ${exampleTopic.id}\n      maxDeliveryCount: 1\n  exampleSubscriptionRule:\n    type: azure:servicebus:SubscriptionRule\n    name: example\n    properties:\n      name: tfex_servicebus_rule\n      subscriptionId: ${exampleSubscription.id}\n      filterType: CorrelationFilter\n      correlationFilter:\n        correlationId: high\n        label: red\n        properties:\n          customProperty: value\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.ServiceBus` - 2024-01-01\n\n## Import\n\nService Bus Subscription Rule can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:eventhub/subscriptionRule:SubscriptionRule example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.ServiceBus/namespaces/sbns1/topics/sntopic1/subscriptions/sbsub1/rules/sbrule1\n```\n\n","properties":{"action":{"type":"string","description":"Represents set of actions written in SQL language-based syntax that is performed against a BrokeredMessage.\n"},"correlationFilter":{"$ref":"#/types/azure:eventhub/SubscriptionRuleCorrelationFilter:SubscriptionRuleCorrelationFilter","description":"A \u003cspan pulumi-lang-nodejs=\"`correlationFilter`\" pulumi-lang-dotnet=\"`CorrelationFilter`\" pulumi-lang-go=\"`correlationFilter`\" pulumi-lang-python=\"`correlation_filter`\" pulumi-lang-yaml=\"`correlationFilter`\" pulumi-lang-java=\"`correlationFilter`\"\u003e`correlation_filter`\u003c/span\u003e block as documented below to be evaluated against a BrokeredMessage. Required when \u003cspan pulumi-lang-nodejs=\"`filterType`\" pulumi-lang-dotnet=\"`FilterType`\" pulumi-lang-go=\"`filterType`\" pulumi-lang-python=\"`filter_type`\" pulumi-lang-yaml=\"`filterType`\" pulumi-lang-java=\"`filterType`\"\u003e`filter_type`\u003c/span\u003e is set to `CorrelationFilter`.\n"},"filterType":{"type":"string","description":"Type of filter to be applied to a BrokeredMessage. Possible values are `SqlFilter` and `CorrelationFilter`.\n"},"name":{"type":"string","description":"Specifies the name of the ServiceBus Subscription Rule. Changing this forces a new resource to be created.\n"},"sqlFilter":{"type":"string","description":"Represents a filter written in SQL language-based syntax that to be evaluated against a BrokeredMessage. Required when \u003cspan pulumi-lang-nodejs=\"`filterType`\" pulumi-lang-dotnet=\"`FilterType`\" pulumi-lang-go=\"`filterType`\" pulumi-lang-python=\"`filter_type`\" pulumi-lang-yaml=\"`filterType`\" pulumi-lang-java=\"`filterType`\"\u003e`filter_type`\u003c/span\u003e is set to `SqlFilter`.\n"},"sqlFilterCompatibilityLevel":{"type":"integer"},"subscriptionId":{"type":"string","description":"The ID of the ServiceBus Subscription in which this Rule should be created. Changing this forces a new resource to be created.\n"}},"required":["filterType","name","sqlFilterCompatibilityLevel","subscriptionId"],"inputProperties":{"action":{"type":"string","description":"Represents set of actions written in SQL language-based syntax that is performed against a BrokeredMessage.\n"},"correlationFilter":{"$ref":"#/types/azure:eventhub/SubscriptionRuleCorrelationFilter:SubscriptionRuleCorrelationFilter","description":"A \u003cspan pulumi-lang-nodejs=\"`correlationFilter`\" pulumi-lang-dotnet=\"`CorrelationFilter`\" pulumi-lang-go=\"`correlationFilter`\" pulumi-lang-python=\"`correlation_filter`\" pulumi-lang-yaml=\"`correlationFilter`\" pulumi-lang-java=\"`correlationFilter`\"\u003e`correlation_filter`\u003c/span\u003e block as documented below to be evaluated against a BrokeredMessage. Required when \u003cspan pulumi-lang-nodejs=\"`filterType`\" pulumi-lang-dotnet=\"`FilterType`\" pulumi-lang-go=\"`filterType`\" pulumi-lang-python=\"`filter_type`\" pulumi-lang-yaml=\"`filterType`\" pulumi-lang-java=\"`filterType`\"\u003e`filter_type`\u003c/span\u003e is set to `CorrelationFilter`.\n"},"filterType":{"type":"string","description":"Type of filter to be applied to a BrokeredMessage. Possible values are `SqlFilter` and `CorrelationFilter`.\n"},"name":{"type":"string","description":"Specifies the name of the ServiceBus Subscription Rule. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sqlFilter":{"type":"string","description":"Represents a filter written in SQL language-based syntax that to be evaluated against a BrokeredMessage. Required when \u003cspan pulumi-lang-nodejs=\"`filterType`\" pulumi-lang-dotnet=\"`FilterType`\" pulumi-lang-go=\"`filterType`\" pulumi-lang-python=\"`filter_type`\" pulumi-lang-yaml=\"`filterType`\" pulumi-lang-java=\"`filterType`\"\u003e`filter_type`\u003c/span\u003e is set to `SqlFilter`.\n"},"subscriptionId":{"type":"string","description":"The ID of the ServiceBus Subscription in which this Rule should be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["filterType","subscriptionId"],"stateInputs":{"description":"Input properties used for looking up and filtering SubscriptionRule resources.\n","properties":{"action":{"type":"string","description":"Represents set of actions written in SQL language-based syntax that is performed against a BrokeredMessage.\n"},"correlationFilter":{"$ref":"#/types/azure:eventhub/SubscriptionRuleCorrelationFilter:SubscriptionRuleCorrelationFilter","description":"A \u003cspan pulumi-lang-nodejs=\"`correlationFilter`\" pulumi-lang-dotnet=\"`CorrelationFilter`\" pulumi-lang-go=\"`correlationFilter`\" pulumi-lang-python=\"`correlation_filter`\" pulumi-lang-yaml=\"`correlationFilter`\" pulumi-lang-java=\"`correlationFilter`\"\u003e`correlation_filter`\u003c/span\u003e block as documented below to be evaluated against a BrokeredMessage. Required when \u003cspan pulumi-lang-nodejs=\"`filterType`\" pulumi-lang-dotnet=\"`FilterType`\" pulumi-lang-go=\"`filterType`\" pulumi-lang-python=\"`filter_type`\" pulumi-lang-yaml=\"`filterType`\" pulumi-lang-java=\"`filterType`\"\u003e`filter_type`\u003c/span\u003e is set to `CorrelationFilter`.\n"},"filterType":{"type":"string","description":"Type of filter to be applied to a BrokeredMessage. Possible values are `SqlFilter` and `CorrelationFilter`.\n"},"name":{"type":"string","description":"Specifies the name of the ServiceBus Subscription Rule. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sqlFilter":{"type":"string","description":"Represents a filter written in SQL language-based syntax that to be evaluated against a BrokeredMessage. Required when \u003cspan pulumi-lang-nodejs=\"`filterType`\" pulumi-lang-dotnet=\"`FilterType`\" pulumi-lang-go=\"`filterType`\" pulumi-lang-python=\"`filter_type`\" pulumi-lang-yaml=\"`filterType`\" pulumi-lang-java=\"`filterType`\"\u003e`filter_type`\u003c/span\u003e is set to `SqlFilter`.\n"},"sqlFilterCompatibilityLevel":{"type":"integer"},"subscriptionId":{"type":"string","description":"The ID of the ServiceBus Subscription in which this Rule should be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"},"deprecationMessage":"azure.eventhub.SubscriptionRule has been deprecated in favor of azure.servicebus.SubscriptionRule"},"azure:eventhub/topic:Topic":{"description":"Manages a ServiceBus Topic.\n\n\u003e **Note:** Topics can only be created in Namespaces with an SKU of `Standard` or higher.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"tfex-servicebus-topic\",\n    location: \"West Europe\",\n});\nconst exampleNamespace = new azure.servicebus.Namespace(\"example\", {\n    name: \"tfex-servicebus-namespace\",\n    location: example.location,\n    resourceGroupName: example.name,\n    sku: \"Standard\",\n    tags: {\n        source: \"example\",\n    },\n});\nconst exampleTopic = new azure.servicebus.Topic(\"example\", {\n    name: \"tfex_servicebus_topic\",\n    namespaceId: exampleNamespace.id,\n    partitioningEnabled: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"tfex-servicebus-topic\",\n    location=\"West Europe\")\nexample_namespace = azure.servicebus.Namespace(\"example\",\n    name=\"tfex-servicebus-namespace\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku=\"Standard\",\n    tags={\n        \"source\": \"example\",\n    })\nexample_topic = azure.servicebus.Topic(\"example\",\n    name=\"tfex_servicebus_topic\",\n    namespace_id=example_namespace.id,\n    partitioning_enabled=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"tfex-servicebus-topic\",\n        Location = \"West Europe\",\n    });\n\n    var exampleNamespace = new Azure.ServiceBus.Namespace(\"example\", new()\n    {\n        Name = \"tfex-servicebus-namespace\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Sku = \"Standard\",\n        Tags = \n        {\n            { \"source\", \"example\" },\n        },\n    });\n\n    var exampleTopic = new Azure.ServiceBus.Topic(\"example\", new()\n    {\n        Name = \"tfex_servicebus_topic\",\n        NamespaceId = exampleNamespace.Id,\n        PartitioningEnabled = true,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/servicebus\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"tfex-servicebus-topic\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNamespace, err := servicebus.NewNamespace(ctx, \"example\", \u0026servicebus.NamespaceArgs{\n\t\t\tName:              pulumi.String(\"tfex-servicebus-namespace\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSku:               pulumi.String(\"Standard\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"source\": pulumi.String(\"example\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = servicebus.NewTopic(ctx, \"example\", \u0026servicebus.TopicArgs{\n\t\t\tName:                pulumi.String(\"tfex_servicebus_topic\"),\n\t\t\tNamespaceId:         exampleNamespace.ID(),\n\t\t\tPartitioningEnabled: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.servicebus.Namespace;\nimport com.pulumi.azure.servicebus.NamespaceArgs;\nimport com.pulumi.azure.servicebus.Topic;\nimport com.pulumi.azure.servicebus.TopicArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"tfex-servicebus-topic\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleNamespace = new Namespace(\"exampleNamespace\", NamespaceArgs.builder()\n            .name(\"tfex-servicebus-namespace\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .sku(\"Standard\")\n            .tags(Map.of(\"source\", \"example\"))\n            .build());\n\n        var exampleTopic = new Topic(\"exampleTopic\", TopicArgs.builder()\n            .name(\"tfex_servicebus_topic\")\n            .namespaceId(exampleNamespace.id())\n            .partitioningEnabled(true)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: tfex-servicebus-topic\n      location: West Europe\n  exampleNamespace:\n    type: azure:servicebus:Namespace\n    name: example\n    properties:\n      name: tfex-servicebus-namespace\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      sku: Standard\n      tags:\n        source: example\n  exampleTopic:\n    type: azure:servicebus:Topic\n    name: example\n    properties:\n      name: tfex_servicebus_topic\n      namespaceId: ${exampleNamespace.id}\n      partitioningEnabled: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.ServiceBus` - 2024-01-01\n\n## Import\n\nService Bus Topics can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:eventhub/topic:Topic example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.ServiceBus/namespaces/sbns1/topics/sntopic1\n```\n\n","properties":{"autoDeleteOnIdle":{"type":"string","description":"The ISO 8601 timespan duration of the idle interval after which the Topic is automatically deleted, minimum of 5 minutes. Defaults to `P10675199DT2H48M5.4775807S`.\n"},"batchedOperationsEnabled":{"type":"boolean","description":"Boolean flag which controls if server-side batched operations are enabled.\n"},"defaultMessageTtl":{"type":"string","description":"The ISO 8601 timespan duration of TTL of messages sent to this topic if no TTL value is set on the message itself. Defaults to `P10675199DT2H48M5.4775807S`.\n"},"duplicateDetectionHistoryTimeWindow":{"type":"string","description":"The ISO 8601 timespan duration during which duplicates can be detected. Defaults to `PT10M` (10 Minutes).\n"},"expressEnabled":{"type":"boolean","description":"Boolean flag which controls whether Express Entities are enabled. An express topic holds a message in memory temporarily before writing it to persistent storage.\n"},"maxMessageSizeInKilobytes":{"type":"integer","description":"Integer value which controls the maximum size of a message allowed on the topic for Premium SKU. For supported values see the \"Large messages support\" section of [this document](https://docs.microsoft.com/azure/service-bus-messaging/service-bus-premium-messaging#large-messages-support-preview). Defaults to \u003cspan pulumi-lang-nodejs=\"`256`\" pulumi-lang-dotnet=\"`256`\" pulumi-lang-go=\"`256`\" pulumi-lang-python=\"`256`\" pulumi-lang-yaml=\"`256`\" pulumi-lang-java=\"`256`\"\u003e`256`\u003c/span\u003e.\n"},"maxSizeInMegabytes":{"type":"integer","description":"Integer value which controls the size of memory allocated for the topic. For supported values see the \"Queue/topic size\" section of [this document](https://docs.microsoft.com/azure/service-bus-messaging/service-bus-quotas). Defaults to \u003cspan pulumi-lang-nodejs=\"`5120`\" pulumi-lang-dotnet=\"`5120`\" pulumi-lang-go=\"`5120`\" pulumi-lang-python=\"`5120`\" pulumi-lang-yaml=\"`5120`\" pulumi-lang-java=\"`5120`\"\u003e`5120`\u003c/span\u003e.\n"},"name":{"type":"string","description":"Specifies the name of the ServiceBus Topic resource. Changing this forces a new resource to be created.\n"},"namespaceId":{"type":"string","description":"The ID of the ServiceBus Namespace to create this topic in. Changing this forces a new resource to be created.\n"},"namespaceName":{"type":"string"},"partitioningEnabled":{"type":"boolean","description":"Boolean flag which controls whether to enable the topic to be partitioned across multiple message brokers. Changing this forces a new resource to be created.\n\n\u003e **Note:** Partitioning is available at entity creation for all queues and topics in Basic or Standard SKUs. It is not available for the Premium messaging SKU, but any previously existing partitioned entities in Premium namespaces continue to work as expected. For premium namespaces, partitioning is available at namespace creation and all queues and topics in the partitioned namespace will be partitioned. Premium namespaces that have \u003cspan pulumi-lang-nodejs=\"`premiumMessagingPartitions`\" pulumi-lang-dotnet=\"`PremiumMessagingPartitions`\" pulumi-lang-go=\"`premiumMessagingPartitions`\" pulumi-lang-python=\"`premium_messaging_partitions`\" pulumi-lang-yaml=\"`premiumMessagingPartitions`\" pulumi-lang-java=\"`premiumMessagingPartitions`\"\u003e`premium_messaging_partitions`\u003c/span\u003e set to \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e are not partitioned. Please [see the documentation](https://docs.microsoft.com/azure/service-bus-messaging/service-bus-partitioning) for more information.\n"},"requiresDuplicateDetection":{"type":"boolean","description":"Boolean flag which controls whether the Topic requires duplicate detection. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Changing this forces a new resource to be created.\n"},"resourceGroupName":{"type":"string"},"status":{"type":"string","description":"The Status of the Service Bus Topic. Acceptable values are `Active` or `Disabled`. Defaults to `Active`.\n"},"supportOrdering":{"type":"boolean","description":"Boolean flag which controls whether the Topic supports ordering.\n"}},"required":["maxMessageSizeInKilobytes","maxSizeInMegabytes","name","namespaceId","namespaceName","resourceGroupName"],"inputProperties":{"autoDeleteOnIdle":{"type":"string","description":"The ISO 8601 timespan duration of the idle interval after which the Topic is automatically deleted, minimum of 5 minutes. Defaults to `P10675199DT2H48M5.4775807S`.\n"},"batchedOperationsEnabled":{"type":"boolean","description":"Boolean flag which controls if server-side batched operations are enabled.\n"},"defaultMessageTtl":{"type":"string","description":"The ISO 8601 timespan duration of TTL of messages sent to this topic if no TTL value is set on the message itself. Defaults to `P10675199DT2H48M5.4775807S`.\n"},"duplicateDetectionHistoryTimeWindow":{"type":"string","description":"The ISO 8601 timespan duration during which duplicates can be detected. Defaults to `PT10M` (10 Minutes).\n"},"expressEnabled":{"type":"boolean","description":"Boolean flag which controls whether Express Entities are enabled. An express topic holds a message in memory temporarily before writing it to persistent storage.\n"},"maxMessageSizeInKilobytes":{"type":"integer","description":"Integer value which controls the maximum size of a message allowed on the topic for Premium SKU. For supported values see the \"Large messages support\" section of [this document](https://docs.microsoft.com/azure/service-bus-messaging/service-bus-premium-messaging#large-messages-support-preview). Defaults to \u003cspan pulumi-lang-nodejs=\"`256`\" pulumi-lang-dotnet=\"`256`\" pulumi-lang-go=\"`256`\" pulumi-lang-python=\"`256`\" pulumi-lang-yaml=\"`256`\" pulumi-lang-java=\"`256`\"\u003e`256`\u003c/span\u003e.\n"},"maxSizeInMegabytes":{"type":"integer","description":"Integer value which controls the size of memory allocated for the topic. For supported values see the \"Queue/topic size\" section of [this document](https://docs.microsoft.com/azure/service-bus-messaging/service-bus-quotas). Defaults to \u003cspan pulumi-lang-nodejs=\"`5120`\" pulumi-lang-dotnet=\"`5120`\" pulumi-lang-go=\"`5120`\" pulumi-lang-python=\"`5120`\" pulumi-lang-yaml=\"`5120`\" pulumi-lang-java=\"`5120`\"\u003e`5120`\u003c/span\u003e.\n"},"name":{"type":"string","description":"Specifies the name of the ServiceBus Topic resource. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"namespaceId":{"type":"string","description":"The ID of the ServiceBus Namespace to create this topic in. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"partitioningEnabled":{"type":"boolean","description":"Boolean flag which controls whether to enable the topic to be partitioned across multiple message brokers. Changing this forces a new resource to be created.\n\n\u003e **Note:** Partitioning is available at entity creation for all queues and topics in Basic or Standard SKUs. It is not available for the Premium messaging SKU, but any previously existing partitioned entities in Premium namespaces continue to work as expected. For premium namespaces, partitioning is available at namespace creation and all queues and topics in the partitioned namespace will be partitioned. Premium namespaces that have \u003cspan pulumi-lang-nodejs=\"`premiumMessagingPartitions`\" pulumi-lang-dotnet=\"`PremiumMessagingPartitions`\" pulumi-lang-go=\"`premiumMessagingPartitions`\" pulumi-lang-python=\"`premium_messaging_partitions`\" pulumi-lang-yaml=\"`premiumMessagingPartitions`\" pulumi-lang-java=\"`premiumMessagingPartitions`\"\u003e`premium_messaging_partitions`\u003c/span\u003e set to \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e are not partitioned. Please [see the documentation](https://docs.microsoft.com/azure/service-bus-messaging/service-bus-partitioning) for more information.\n","willReplaceOnChanges":true},"requiresDuplicateDetection":{"type":"boolean","description":"Boolean flag which controls whether the Topic requires duplicate detection. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"status":{"type":"string","description":"The Status of the Service Bus Topic. Acceptable values are `Active` or `Disabled`. Defaults to `Active`.\n"},"supportOrdering":{"type":"boolean","description":"Boolean flag which controls whether the Topic supports ordering.\n"}},"requiredInputs":["namespaceId"],"stateInputs":{"description":"Input properties used for looking up and filtering Topic resources.\n","properties":{"autoDeleteOnIdle":{"type":"string","description":"The ISO 8601 timespan duration of the idle interval after which the Topic is automatically deleted, minimum of 5 minutes. Defaults to `P10675199DT2H48M5.4775807S`.\n"},"batchedOperationsEnabled":{"type":"boolean","description":"Boolean flag which controls if server-side batched operations are enabled.\n"},"defaultMessageTtl":{"type":"string","description":"The ISO 8601 timespan duration of TTL of messages sent to this topic if no TTL value is set on the message itself. Defaults to `P10675199DT2H48M5.4775807S`.\n"},"duplicateDetectionHistoryTimeWindow":{"type":"string","description":"The ISO 8601 timespan duration during which duplicates can be detected. Defaults to `PT10M` (10 Minutes).\n"},"expressEnabled":{"type":"boolean","description":"Boolean flag which controls whether Express Entities are enabled. An express topic holds a message in memory temporarily before writing it to persistent storage.\n"},"maxMessageSizeInKilobytes":{"type":"integer","description":"Integer value which controls the maximum size of a message allowed on the topic for Premium SKU. For supported values see the \"Large messages support\" section of [this document](https://docs.microsoft.com/azure/service-bus-messaging/service-bus-premium-messaging#large-messages-support-preview). Defaults to \u003cspan pulumi-lang-nodejs=\"`256`\" pulumi-lang-dotnet=\"`256`\" pulumi-lang-go=\"`256`\" pulumi-lang-python=\"`256`\" pulumi-lang-yaml=\"`256`\" pulumi-lang-java=\"`256`\"\u003e`256`\u003c/span\u003e.\n"},"maxSizeInMegabytes":{"type":"integer","description":"Integer value which controls the size of memory allocated for the topic. For supported values see the \"Queue/topic size\" section of [this document](https://docs.microsoft.com/azure/service-bus-messaging/service-bus-quotas). Defaults to \u003cspan pulumi-lang-nodejs=\"`5120`\" pulumi-lang-dotnet=\"`5120`\" pulumi-lang-go=\"`5120`\" pulumi-lang-python=\"`5120`\" pulumi-lang-yaml=\"`5120`\" pulumi-lang-java=\"`5120`\"\u003e`5120`\u003c/span\u003e.\n"},"name":{"type":"string","description":"Specifies the name of the ServiceBus Topic resource. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"namespaceId":{"type":"string","description":"The ID of the ServiceBus Namespace to create this topic in. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"namespaceName":{"type":"string"},"partitioningEnabled":{"type":"boolean","description":"Boolean flag which controls whether to enable the topic to be partitioned across multiple message brokers. Changing this forces a new resource to be created.\n\n\u003e **Note:** Partitioning is available at entity creation for all queues and topics in Basic or Standard SKUs. It is not available for the Premium messaging SKU, but any previously existing partitioned entities in Premium namespaces continue to work as expected. For premium namespaces, partitioning is available at namespace creation and all queues and topics in the partitioned namespace will be partitioned. Premium namespaces that have \u003cspan pulumi-lang-nodejs=\"`premiumMessagingPartitions`\" pulumi-lang-dotnet=\"`PremiumMessagingPartitions`\" pulumi-lang-go=\"`premiumMessagingPartitions`\" pulumi-lang-python=\"`premium_messaging_partitions`\" pulumi-lang-yaml=\"`premiumMessagingPartitions`\" pulumi-lang-java=\"`premiumMessagingPartitions`\"\u003e`premium_messaging_partitions`\u003c/span\u003e set to \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e are not partitioned. Please [see the documentation](https://docs.microsoft.com/azure/service-bus-messaging/service-bus-partitioning) for more information.\n","willReplaceOnChanges":true},"requiresDuplicateDetection":{"type":"boolean","description":"Boolean flag which controls whether the Topic requires duplicate detection. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string"},"status":{"type":"string","description":"The Status of the Service Bus Topic. Acceptable values are `Active` or `Disabled`. Defaults to `Active`.\n"},"supportOrdering":{"type":"boolean","description":"Boolean flag which controls whether the Topic supports ordering.\n"}},"type":"object"},"deprecationMessage":"azure.eventhub.Topic has been deprecated in favor of azure.servicebus.Topic"},"azure:eventhub/topicAuthorizationRule:TopicAuthorizationRule":{"description":"Manages a ServiceBus Topic authorization Rule within a ServiceBus Topic.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"tfex-servicebus\",\n    location: \"West Europe\",\n});\nconst exampleNamespace = new azure.servicebus.Namespace(\"example\", {\n    name: \"tfex-servicebus-namespace\",\n    location: example.location,\n    resourceGroupName: example.name,\n    sku: \"Standard\",\n    tags: {\n        source: \"example\",\n    },\n});\nconst exampleTopic = new azure.servicebus.Topic(\"example\", {\n    name: \"tfex_servicebus_topic\",\n    namespaceId: exampleNamespace.id,\n});\nconst exampleTopicAuthorizationRule = new azure.servicebus.TopicAuthorizationRule(\"example\", {\n    name: \"tfex_servicebus_topic_sasPolicy\",\n    topicId: exampleTopic.id,\n    listen: true,\n    send: false,\n    manage: false,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"tfex-servicebus\",\n    location=\"West Europe\")\nexample_namespace = azure.servicebus.Namespace(\"example\",\n    name=\"tfex-servicebus-namespace\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku=\"Standard\",\n    tags={\n        \"source\": \"example\",\n    })\nexample_topic = azure.servicebus.Topic(\"example\",\n    name=\"tfex_servicebus_topic\",\n    namespace_id=example_namespace.id)\nexample_topic_authorization_rule = azure.servicebus.TopicAuthorizationRule(\"example\",\n    name=\"tfex_servicebus_topic_sasPolicy\",\n    topic_id=example_topic.id,\n    listen=True,\n    send=False,\n    manage=False)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"tfex-servicebus\",\n        Location = \"West Europe\",\n    });\n\n    var exampleNamespace = new Azure.ServiceBus.Namespace(\"example\", new()\n    {\n        Name = \"tfex-servicebus-namespace\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Sku = \"Standard\",\n        Tags = \n        {\n            { \"source\", \"example\" },\n        },\n    });\n\n    var exampleTopic = new Azure.ServiceBus.Topic(\"example\", new()\n    {\n        Name = \"tfex_servicebus_topic\",\n        NamespaceId = exampleNamespace.Id,\n    });\n\n    var exampleTopicAuthorizationRule = new Azure.ServiceBus.TopicAuthorizationRule(\"example\", new()\n    {\n        Name = \"tfex_servicebus_topic_sasPolicy\",\n        TopicId = exampleTopic.Id,\n        Listen = true,\n        Send = false,\n        Manage = false,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/servicebus\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"tfex-servicebus\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNamespace, err := servicebus.NewNamespace(ctx, \"example\", \u0026servicebus.NamespaceArgs{\n\t\t\tName:              pulumi.String(\"tfex-servicebus-namespace\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSku:               pulumi.String(\"Standard\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"source\": pulumi.String(\"example\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleTopic, err := servicebus.NewTopic(ctx, \"example\", \u0026servicebus.TopicArgs{\n\t\t\tName:        pulumi.String(\"tfex_servicebus_topic\"),\n\t\t\tNamespaceId: exampleNamespace.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = servicebus.NewTopicAuthorizationRule(ctx, \"example\", \u0026servicebus.TopicAuthorizationRuleArgs{\n\t\t\tName:    pulumi.String(\"tfex_servicebus_topic_sasPolicy\"),\n\t\t\tTopicId: exampleTopic.ID(),\n\t\t\tListen:  pulumi.Bool(true),\n\t\t\tSend:    pulumi.Bool(false),\n\t\t\tManage:  pulumi.Bool(false),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.servicebus.Namespace;\nimport com.pulumi.azure.servicebus.NamespaceArgs;\nimport com.pulumi.azure.servicebus.Topic;\nimport com.pulumi.azure.servicebus.TopicArgs;\nimport com.pulumi.azure.servicebus.TopicAuthorizationRule;\nimport com.pulumi.azure.servicebus.TopicAuthorizationRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"tfex-servicebus\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleNamespace = new Namespace(\"exampleNamespace\", NamespaceArgs.builder()\n            .name(\"tfex-servicebus-namespace\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .sku(\"Standard\")\n            .tags(Map.of(\"source\", \"example\"))\n            .build());\n\n        var exampleTopic = new Topic(\"exampleTopic\", TopicArgs.builder()\n            .name(\"tfex_servicebus_topic\")\n            .namespaceId(exampleNamespace.id())\n            .build());\n\n        var exampleTopicAuthorizationRule = new TopicAuthorizationRule(\"exampleTopicAuthorizationRule\", TopicAuthorizationRuleArgs.builder()\n            .name(\"tfex_servicebus_topic_sasPolicy\")\n            .topicId(exampleTopic.id())\n            .listen(true)\n            .send(false)\n            .manage(false)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: tfex-servicebus\n      location: West Europe\n  exampleNamespace:\n    type: azure:servicebus:Namespace\n    name: example\n    properties:\n      name: tfex-servicebus-namespace\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      sku: Standard\n      tags:\n        source: example\n  exampleTopic:\n    type: azure:servicebus:Topic\n    name: example\n    properties:\n      name: tfex_servicebus_topic\n      namespaceId: ${exampleNamespace.id}\n  exampleTopicAuthorizationRule:\n    type: azure:servicebus:TopicAuthorizationRule\n    name: example\n    properties:\n      name: tfex_servicebus_topic_sasPolicy\n      topicId: ${exampleTopic.id}\n      listen: true\n      send: false\n      manage: false\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.ServiceBus` - 2024-01-01\n\n## Import\n\nServiceBus Topic authorization rules can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:eventhub/topicAuthorizationRule:TopicAuthorizationRule rule1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.ServiceBus/namespaces/namespace1/topics/topic1/authorizationRules/rule1\n```\n\n","properties":{"listen":{"type":"boolean","description":"Grants listen access to this this Authorization Rule. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"manage":{"type":"boolean","description":"Grants manage access to this this Authorization Rule. When this property is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e - both \u003cspan pulumi-lang-nodejs=\"`listen`\" pulumi-lang-dotnet=\"`Listen`\" pulumi-lang-go=\"`listen`\" pulumi-lang-python=\"`listen`\" pulumi-lang-yaml=\"`listen`\" pulumi-lang-java=\"`listen`\"\u003e`listen`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`send`\" pulumi-lang-dotnet=\"`Send`\" pulumi-lang-go=\"`send`\" pulumi-lang-python=\"`send`\" pulumi-lang-yaml=\"`send`\" pulumi-lang-java=\"`send`\"\u003e`send`\u003c/span\u003e must be too. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"name":{"type":"string","description":"Specifies the name of the ServiceBus Topic Authorization Rule resource. Changing this forces a new resource to be created.\n"},"primaryConnectionString":{"type":"string","description":"The Primary Connection String for the ServiceBus Topic authorization Rule.\n","secret":true},"primaryConnectionStringAlias":{"type":"string","description":"The alias Primary Connection String for the ServiceBus Namespace, if the namespace is Geo DR paired.\n","secret":true},"primaryKey":{"type":"string","description":"The Primary Key for the ServiceBus Topic authorization Rule.\n","secret":true},"secondaryConnectionString":{"type":"string","description":"The Secondary Connection String for the ServiceBus Topic authorization Rule.\n","secret":true},"secondaryConnectionStringAlias":{"type":"string","description":"The alias Secondary Connection String for the ServiceBus Namespace\n","secret":true},"secondaryKey":{"type":"string","description":"The Secondary Key for the ServiceBus Topic authorization Rule.\n","secret":true},"send":{"type":"boolean","description":"Grants send access to this this Authorization Rule. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"topicId":{"type":"string","description":"Specifies the ID of the ServiceBus Topic. Changing this forces a new resource to be created.\n\n\u003e **Note:** At least one of the 3 permissions below needs to be set.\n"}},"required":["name","primaryConnectionString","primaryConnectionStringAlias","primaryKey","secondaryConnectionString","secondaryConnectionStringAlias","secondaryKey","topicId"],"inputProperties":{"listen":{"type":"boolean","description":"Grants listen access to this this Authorization Rule. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"manage":{"type":"boolean","description":"Grants manage access to this this Authorization Rule. When this property is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e - both \u003cspan pulumi-lang-nodejs=\"`listen`\" pulumi-lang-dotnet=\"`Listen`\" pulumi-lang-go=\"`listen`\" pulumi-lang-python=\"`listen`\" pulumi-lang-yaml=\"`listen`\" pulumi-lang-java=\"`listen`\"\u003e`listen`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`send`\" pulumi-lang-dotnet=\"`Send`\" pulumi-lang-go=\"`send`\" pulumi-lang-python=\"`send`\" pulumi-lang-yaml=\"`send`\" pulumi-lang-java=\"`send`\"\u003e`send`\u003c/span\u003e must be too. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"name":{"type":"string","description":"Specifies the name of the ServiceBus Topic Authorization Rule resource. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"send":{"type":"boolean","description":"Grants send access to this this Authorization Rule. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"topicId":{"type":"string","description":"Specifies the ID of the ServiceBus Topic. Changing this forces a new resource to be created.\n\n\u003e **Note:** At least one of the 3 permissions below needs to be set.\n","willReplaceOnChanges":true}},"requiredInputs":["topicId"],"stateInputs":{"description":"Input properties used for looking up and filtering TopicAuthorizationRule resources.\n","properties":{"listen":{"type":"boolean","description":"Grants listen access to this this Authorization Rule. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"manage":{"type":"boolean","description":"Grants manage access to this this Authorization Rule. When this property is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e - both \u003cspan pulumi-lang-nodejs=\"`listen`\" pulumi-lang-dotnet=\"`Listen`\" pulumi-lang-go=\"`listen`\" pulumi-lang-python=\"`listen`\" pulumi-lang-yaml=\"`listen`\" pulumi-lang-java=\"`listen`\"\u003e`listen`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`send`\" pulumi-lang-dotnet=\"`Send`\" pulumi-lang-go=\"`send`\" pulumi-lang-python=\"`send`\" pulumi-lang-yaml=\"`send`\" pulumi-lang-java=\"`send`\"\u003e`send`\u003c/span\u003e must be too. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"name":{"type":"string","description":"Specifies the name of the ServiceBus Topic Authorization Rule resource. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"primaryConnectionString":{"type":"string","description":"The Primary Connection String for the ServiceBus Topic authorization Rule.\n","secret":true},"primaryConnectionStringAlias":{"type":"string","description":"The alias Primary Connection String for the ServiceBus Namespace, if the namespace is Geo DR paired.\n","secret":true},"primaryKey":{"type":"string","description":"The Primary Key for the ServiceBus Topic authorization Rule.\n","secret":true},"secondaryConnectionString":{"type":"string","description":"The Secondary Connection String for the ServiceBus Topic authorization Rule.\n","secret":true},"secondaryConnectionStringAlias":{"type":"string","description":"The alias Secondary Connection String for the ServiceBus Namespace\n","secret":true},"secondaryKey":{"type":"string","description":"The Secondary Key for the ServiceBus Topic authorization Rule.\n","secret":true},"send":{"type":"boolean","description":"Grants send access to this this Authorization Rule. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"topicId":{"type":"string","description":"Specifies the ID of the ServiceBus Topic. Changing this forces a new resource to be created.\n\n\u003e **Note:** At least one of the 3 permissions below needs to be set.\n","willReplaceOnChanges":true}},"type":"object"},"deprecationMessage":"azure.eventhub.TopicAuthorizationRule has been deprecated in favor of azure.servicebus.TopicAuthorizationRule"},"azure:extendedlocation/customLocation:CustomLocation":{"description":"Manages a Custom Location within an Extended Location.\n\n\u003e **Note:** Installing and configuring the Azure Arc Agent on your Kubernetes Cluster to establish connectivity is outside the scope of this document. For more details refer to [Deploy agents to your cluster](https://learn.microsoft.com/en-us/azure/azure-arc/kubernetes/conceptual-agent-overview#deploy-agents-to-your-cluster) and [Connect an existing Kubernetes Cluster](https://learn.microsoft.com/en-us/azure/azure-arc/kubernetes/quickstart-connect-cluster?tabs=azure-cli#connect-an-existing-kubernetes-cluster). If you encounter issues connecting your Kubernetes Cluster to Azure Arc, we'd recommend opening a ticket with Microsoft Support.\n\n## Import\n\nCustom Locations can be imported using the resource id, e.g.\n\n```sh\n$ pulumi import azure:extendedlocation/customLocation:CustomLocation example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/example-resources/providers/Microsoft.ExtendedLocation/customLocations/example-custom-location\n```\n\n","properties":{"authentication":{"$ref":"#/types/azure:extendedlocation/CustomLocationAuthentication:CustomLocationAuthentication","description":"An \u003cspan pulumi-lang-nodejs=\"`authentication`\" pulumi-lang-dotnet=\"`Authentication`\" pulumi-lang-go=\"`authentication`\" pulumi-lang-python=\"`authentication`\" pulumi-lang-yaml=\"`authentication`\" pulumi-lang-java=\"`authentication`\"\u003e`authentication`\u003c/span\u003e block as defined below.\n"},"clusterExtensionIds":{"type":"array","items":{"type":"string"},"description":"Specifies the list of Cluster Extension IDs.\n"},"displayName":{"type":"string","description":"Specifies the display name of the Custom Location.\n"},"hostResourceId":{"type":"string","description":"Specifies the host resource ID. Changing this forces a new resource to be created.\n"},"hostType":{"type":"string","description":"Specifies the host type of the Custom Location. The only possible values is `KubernetesCluster`. Changing this forces a new resource to be created.\n"},"location":{"type":"string","description":"Specifies the Azure location where the Custom Location should exist. Changing this forces a new Custom Location to be created.\n"},"name":{"type":"string","description":"Specifies the name which should be used for this Custom Location. Changing this forces a new Custom Location to be created.\n"},"namespace":{"type":"string","description":"Specifies the namespace of the Custom Location. Changing this forces a new Custom Location to be created.\n"},"resourceGroupName":{"type":"string","description":"Specifies the name of the Resource Group where the Custom Location should exist. Changing this forces a new Custom Location to be created.\n"}},"required":["clusterExtensionIds","hostResourceId","location","name","namespace","resourceGroupName"],"inputProperties":{"authentication":{"$ref":"#/types/azure:extendedlocation/CustomLocationAuthentication:CustomLocationAuthentication","description":"An \u003cspan pulumi-lang-nodejs=\"`authentication`\" pulumi-lang-dotnet=\"`Authentication`\" pulumi-lang-go=\"`authentication`\" pulumi-lang-python=\"`authentication`\" pulumi-lang-yaml=\"`authentication`\" pulumi-lang-java=\"`authentication`\"\u003e`authentication`\u003c/span\u003e block as defined below.\n"},"clusterExtensionIds":{"type":"array","items":{"type":"string"},"description":"Specifies the list of Cluster Extension IDs.\n"},"displayName":{"type":"string","description":"Specifies the display name of the Custom Location.\n"},"hostResourceId":{"type":"string","description":"Specifies the host resource ID. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"hostType":{"type":"string","description":"Specifies the host type of the Custom Location. The only possible values is `KubernetesCluster`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"location":{"type":"string","description":"Specifies the Azure location where the Custom Location should exist. Changing this forces a new Custom Location to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name which should be used for this Custom Location. Changing this forces a new Custom Location to be created.\n","willReplaceOnChanges":true},"namespace":{"type":"string","description":"Specifies the namespace of the Custom Location. Changing this forces a new Custom Location to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"Specifies the name of the Resource Group where the Custom Location should exist. Changing this forces a new Custom Location to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["clusterExtensionIds","hostResourceId","namespace","resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering CustomLocation resources.\n","properties":{"authentication":{"$ref":"#/types/azure:extendedlocation/CustomLocationAuthentication:CustomLocationAuthentication","description":"An \u003cspan pulumi-lang-nodejs=\"`authentication`\" pulumi-lang-dotnet=\"`Authentication`\" pulumi-lang-go=\"`authentication`\" pulumi-lang-python=\"`authentication`\" pulumi-lang-yaml=\"`authentication`\" pulumi-lang-java=\"`authentication`\"\u003e`authentication`\u003c/span\u003e block as defined below.\n"},"clusterExtensionIds":{"type":"array","items":{"type":"string"},"description":"Specifies the list of Cluster Extension IDs.\n"},"displayName":{"type":"string","description":"Specifies the display name of the Custom Location.\n"},"hostResourceId":{"type":"string","description":"Specifies the host resource ID. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"hostType":{"type":"string","description":"Specifies the host type of the Custom Location. The only possible values is `KubernetesCluster`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"location":{"type":"string","description":"Specifies the Azure location where the Custom Location should exist. Changing this forces a new Custom Location to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name which should be used for this Custom Location. Changing this forces a new Custom Location to be created.\n","willReplaceOnChanges":true},"namespace":{"type":"string","description":"Specifies the namespace of the Custom Location. Changing this forces a new Custom Location to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"Specifies the name of the Resource Group where the Custom Location should exist. Changing this forces a new Custom Location to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:fabric/capacity:Capacity":{"description":"Manages a Fabric Capacity.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst current = azure.core.getClientConfig({});\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleCapacity = new azure.fabric.Capacity(\"example\", {\n    name: \"exampleffc\",\n    resourceGroupName: example.name,\n    location: \"West Europe\",\n    administrationMembers: [current.then(current =\u003e current.objectId)],\n    sku: {\n        name: \"F32\",\n        tier: \"Fabric\",\n    },\n    tags: {\n        environment: \"test\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\ncurrent = azure.core.get_client_config()\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_capacity = azure.fabric.Capacity(\"example\",\n    name=\"exampleffc\",\n    resource_group_name=example.name,\n    location=\"West Europe\",\n    administration_members=[current.object_id],\n    sku={\n        \"name\": \"F32\",\n        \"tier\": \"Fabric\",\n    },\n    tags={\n        \"environment\": \"test\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var current = Azure.Core.GetClientConfig.Invoke();\n\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleCapacity = new Azure.Fabric.Capacity(\"example\", new()\n    {\n        Name = \"exampleffc\",\n        ResourceGroupName = example.Name,\n        Location = \"West Europe\",\n        AdministrationMembers = new[]\n        {\n            current.Apply(getClientConfigResult =\u003e getClientConfigResult.ObjectId),\n        },\n        Sku = new Azure.Fabric.Inputs.CapacitySkuArgs\n        {\n            Name = \"F32\",\n            Tier = \"Fabric\",\n        },\n        Tags = \n        {\n            { \"environment\", \"test\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/fabric\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := core.GetClientConfig(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = fabric.NewCapacity(ctx, \"example\", \u0026fabric.CapacityArgs{\n\t\t\tName:              pulumi.String(\"exampleffc\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          pulumi.String(\"West Europe\"),\n\t\t\tAdministrationMembers: pulumi.StringArray{\n\t\t\t\tpulumi.String(current.ObjectId),\n\t\t\t},\n\t\t\tSku: \u0026fabric.CapacitySkuArgs{\n\t\t\t\tName: pulumi.String(\"F32\"),\n\t\t\t\tTier: pulumi.String(\"Fabric\"),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"environment\": pulumi.String(\"test\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.fabric.Capacity;\nimport com.pulumi.azure.fabric.CapacityArgs;\nimport com.pulumi.azure.fabric.inputs.CapacitySkuArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var current = CoreFunctions.getClientConfig(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleCapacity = new Capacity(\"exampleCapacity\", CapacityArgs.builder()\n            .name(\"exampleffc\")\n            .resourceGroupName(example.name())\n            .location(\"West Europe\")\n            .administrationMembers(current.objectId())\n            .sku(CapacitySkuArgs.builder()\n                .name(\"F32\")\n                .tier(\"Fabric\")\n                .build())\n            .tags(Map.of(\"environment\", \"test\"))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleCapacity:\n    type: azure:fabric:Capacity\n    name: example\n    properties:\n      name: exampleffc\n      resourceGroupName: ${example.name}\n      location: West Europe\n      administrationMembers:\n        - ${current.objectId}\n      sku:\n        name: F32\n        tier: Fabric\n      tags:\n        environment: test\nvariables:\n  current:\n    fn::invoke:\n      function: azure:core:getClientConfig\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Fabric` - 2023-11-01\n\n## Import\n\nFabric Capacities can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:fabric/capacity:Capacity example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup1/providers/Microsoft.Fabric/capacities/capacity1\n```\n\n","properties":{"administrationMembers":{"type":"array","items":{"type":"string"},"description":"An array of administrator user identities. The member must be an Entra user or a service principal.\n\n\u003e **Note:** If the member is an Entra user, use user principal name (UPN) format. If the user is a service principal, use object ID.\n"},"location":{"type":"string","description":"The supported Azure location where the Fabric Capacity exists. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"The name which should be used for the Fabric Capacity. Changing this forces a new resource to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group in which to create the Fabric Capacity. Changing this forces a new resource to be created.\n"},"sku":{"$ref":"#/types/azure:fabric/CapacitySku:CapacitySku","description":"A \u003cspan pulumi-lang-nodejs=\"`sku`\" pulumi-lang-dotnet=\"`Sku`\" pulumi-lang-go=\"`sku`\" pulumi-lang-python=\"`sku`\" pulumi-lang-yaml=\"`sku`\" pulumi-lang-java=\"`sku`\"\u003e`sku`\u003c/span\u003e block as defined below.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the Fabric Capacity.\n"}},"required":["location","name","resourceGroupName","sku"],"inputProperties":{"administrationMembers":{"type":"array","items":{"type":"string"},"description":"An array of administrator user identities. The member must be an Entra user or a service principal.\n\n\u003e **Note:** If the member is an Entra user, use user principal name (UPN) format. If the user is a service principal, use object ID.\n"},"location":{"type":"string","description":"The supported Azure location where the Fabric Capacity exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for the Fabric Capacity. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group in which to create the Fabric Capacity. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sku":{"$ref":"#/types/azure:fabric/CapacitySku:CapacitySku","description":"A \u003cspan pulumi-lang-nodejs=\"`sku`\" pulumi-lang-dotnet=\"`Sku`\" pulumi-lang-go=\"`sku`\" pulumi-lang-python=\"`sku`\" pulumi-lang-yaml=\"`sku`\" pulumi-lang-java=\"`sku`\"\u003e`sku`\u003c/span\u003e block as defined below.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the Fabric Capacity.\n"}},"requiredInputs":["resourceGroupName","sku"],"stateInputs":{"description":"Input properties used for looking up and filtering Capacity resources.\n","properties":{"administrationMembers":{"type":"array","items":{"type":"string"},"description":"An array of administrator user identities. The member must be an Entra user or a service principal.\n\n\u003e **Note:** If the member is an Entra user, use user principal name (UPN) format. If the user is a service principal, use object ID.\n"},"location":{"type":"string","description":"The supported Azure location where the Fabric Capacity exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for the Fabric Capacity. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group in which to create the Fabric Capacity. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sku":{"$ref":"#/types/azure:fabric/CapacitySku:CapacitySku","description":"A \u003cspan pulumi-lang-nodejs=\"`sku`\" pulumi-lang-dotnet=\"`Sku`\" pulumi-lang-go=\"`sku`\" pulumi-lang-python=\"`sku`\" pulumi-lang-yaml=\"`sku`\" pulumi-lang-java=\"`sku`\"\u003e`sku`\u003c/span\u003e block as defined below.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the Fabric Capacity.\n"}},"type":"object"}},"azure:fluidrelay/server:Server":{"description":"Manages a Fluid Relay Server.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleServer = new azure.fluidrelay.Server(\"example\", {\n    name: \"example\",\n    resourceGroupName: example.name,\n    location: example.location,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_server = azure.fluidrelay.Server(\"example\",\n    name=\"example\",\n    resource_group_name=example.name,\n    location=example.location)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleServer = new Azure.FluidRelay.Server(\"example\", new()\n    {\n        Name = \"example\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/fluidrelay\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = fluidrelay.NewServer(ctx, \"example\", \u0026fluidrelay.ServerArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.fluidrelay.Server;\nimport com.pulumi.azure.fluidrelay.ServerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleServer = new Server(\"exampleServer\", ServerArgs.builder()\n            .name(\"example\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleServer:\n    type: azure:fluidrelay:Server\n    name: example\n    properties:\n      name: example\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.FluidRelay` - 2022-05-26\n\n## Import\n\nFluid Relay Servers can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:fluidrelay/server:Server example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.FluidRelay/fluidRelayServers/server1\n```\n\n","properties":{"customerManagedKey":{"$ref":"#/types/azure:fluidrelay/ServerCustomerManagedKey:ServerCustomerManagedKey","description":"A \u003cspan pulumi-lang-nodejs=\"`customerManagedKey`\" pulumi-lang-dotnet=\"`CustomerManagedKey`\" pulumi-lang-go=\"`customerManagedKey`\" pulumi-lang-python=\"`customer_managed_key`\" pulumi-lang-yaml=\"`customerManagedKey`\" pulumi-lang-java=\"`customerManagedKey`\"\u003e`customer_managed_key`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n"},"frsTenantId":{"type":"string","description":"The Fluid tenantId for this server.\n"},"identity":{"$ref":"#/types/azure:fluidrelay/ServerIdentity:ServerIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"location":{"type":"string","description":"The Azure Region where the Fluid Relay Server should exist. Changing this forces a new Fluid Relay Server to be created.\n"},"name":{"type":"string","description":"The name which should be used for this Fluid Relay Server. Changing this forces a new Fluid Relay Server to be created.\n"},"ordererEndpoints":{"type":"array","items":{"type":"string"},"description":"An array of the Fluid Relay Orderer endpoints. This will be deprecated in future version of fluid relay server and will always be empty, [more details](https://learn.microsoft.com/en-us/azure/azure-fluid-relay/concepts/version-compatibility).\n"},"primaryKey":{"type":"string","description":"The primary key for this server.\n","secret":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Fluid Relay Server should exist. Changing this forces a new Fluid Relay Server to be created.\n"},"secondaryKey":{"type":"string","description":"The secondary key for this server.\n","secret":true},"serviceEndpoints":{"type":"array","items":{"type":"string"},"description":"An array of service endpoints for this Fluid Relay Server.\n"},"storageEndpoints":{"type":"array","items":{"type":"string"},"description":"An array of storage endpoints for this Fluid Relay Server. This will be deprecated in future version of fluid relay server and will always be empty, [more details](https://learn.microsoft.com/en-us/azure/azure-fluid-relay/concepts/version-compatibility).\n"},"storageSku":{"type":"string","description":"Sku of the storage associated with the resource, Possible values are \u003cspan pulumi-lang-nodejs=\"`standard`\" pulumi-lang-dotnet=\"`Standard`\" pulumi-lang-go=\"`standard`\" pulumi-lang-python=\"`standard`\" pulumi-lang-yaml=\"`standard`\" pulumi-lang-java=\"`standard`\"\u003e`standard`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`basic`\" pulumi-lang-dotnet=\"`Basic`\" pulumi-lang-go=\"`basic`\" pulumi-lang-python=\"`basic`\" pulumi-lang-yaml=\"`basic`\" pulumi-lang-java=\"`basic`\"\u003e`basic`\u003c/span\u003e. Changing this forces a new Fluid Relay Server to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Fluid Relay Server.\n"}},"required":["frsTenantId","location","name","ordererEndpoints","primaryKey","resourceGroupName","secondaryKey","serviceEndpoints","storageEndpoints","storageSku"],"inputProperties":{"customerManagedKey":{"$ref":"#/types/azure:fluidrelay/ServerCustomerManagedKey:ServerCustomerManagedKey","description":"A \u003cspan pulumi-lang-nodejs=\"`customerManagedKey`\" pulumi-lang-dotnet=\"`CustomerManagedKey`\" pulumi-lang-go=\"`customerManagedKey`\" pulumi-lang-python=\"`customer_managed_key`\" pulumi-lang-yaml=\"`customerManagedKey`\" pulumi-lang-java=\"`customerManagedKey`\"\u003e`customer_managed_key`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"identity":{"$ref":"#/types/azure:fluidrelay/ServerIdentity:ServerIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"location":{"type":"string","description":"The Azure Region where the Fluid Relay Server should exist. Changing this forces a new Fluid Relay Server to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Fluid Relay Server. Changing this forces a new Fluid Relay Server to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Fluid Relay Server should exist. Changing this forces a new Fluid Relay Server to be created.\n","willReplaceOnChanges":true},"storageSku":{"type":"string","description":"Sku of the storage associated with the resource, Possible values are \u003cspan pulumi-lang-nodejs=\"`standard`\" pulumi-lang-dotnet=\"`Standard`\" pulumi-lang-go=\"`standard`\" pulumi-lang-python=\"`standard`\" pulumi-lang-yaml=\"`standard`\" pulumi-lang-java=\"`standard`\"\u003e`standard`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`basic`\" pulumi-lang-dotnet=\"`Basic`\" pulumi-lang-go=\"`basic`\" pulumi-lang-python=\"`basic`\" pulumi-lang-yaml=\"`basic`\" pulumi-lang-java=\"`basic`\"\u003e`basic`\u003c/span\u003e. Changing this forces a new Fluid Relay Server to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Fluid Relay Server.\n"}},"requiredInputs":["resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering Server resources.\n","properties":{"customerManagedKey":{"$ref":"#/types/azure:fluidrelay/ServerCustomerManagedKey:ServerCustomerManagedKey","description":"A \u003cspan pulumi-lang-nodejs=\"`customerManagedKey`\" pulumi-lang-dotnet=\"`CustomerManagedKey`\" pulumi-lang-go=\"`customerManagedKey`\" pulumi-lang-python=\"`customer_managed_key`\" pulumi-lang-yaml=\"`customerManagedKey`\" pulumi-lang-java=\"`customerManagedKey`\"\u003e`customer_managed_key`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"frsTenantId":{"type":"string","description":"The Fluid tenantId for this server.\n"},"identity":{"$ref":"#/types/azure:fluidrelay/ServerIdentity:ServerIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"location":{"type":"string","description":"The Azure Region where the Fluid Relay Server should exist. Changing this forces a new Fluid Relay Server to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Fluid Relay Server. Changing this forces a new Fluid Relay Server to be created.\n","willReplaceOnChanges":true},"ordererEndpoints":{"type":"array","items":{"type":"string"},"description":"An array of the Fluid Relay Orderer endpoints. This will be deprecated in future version of fluid relay server and will always be empty, [more details](https://learn.microsoft.com/en-us/azure/azure-fluid-relay/concepts/version-compatibility).\n"},"primaryKey":{"type":"string","description":"The primary key for this server.\n","secret":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Fluid Relay Server should exist. Changing this forces a new Fluid Relay Server to be created.\n","willReplaceOnChanges":true},"secondaryKey":{"type":"string","description":"The secondary key for this server.\n","secret":true},"serviceEndpoints":{"type":"array","items":{"type":"string"},"description":"An array of service endpoints for this Fluid Relay Server.\n"},"storageEndpoints":{"type":"array","items":{"type":"string"},"description":"An array of storage endpoints for this Fluid Relay Server. This will be deprecated in future version of fluid relay server and will always be empty, [more details](https://learn.microsoft.com/en-us/azure/azure-fluid-relay/concepts/version-compatibility).\n"},"storageSku":{"type":"string","description":"Sku of the storage associated with the resource, Possible values are \u003cspan pulumi-lang-nodejs=\"`standard`\" pulumi-lang-dotnet=\"`Standard`\" pulumi-lang-go=\"`standard`\" pulumi-lang-python=\"`standard`\" pulumi-lang-yaml=\"`standard`\" pulumi-lang-java=\"`standard`\"\u003e`standard`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`basic`\" pulumi-lang-dotnet=\"`Basic`\" pulumi-lang-go=\"`basic`\" pulumi-lang-python=\"`basic`\" pulumi-lang-yaml=\"`basic`\" pulumi-lang-java=\"`basic`\"\u003e`basic`\u003c/span\u003e. Changing this forces a new Fluid Relay Server to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Fluid Relay Server.\n"}},"type":"object"}},"azure:frontdoor/customHttpsConfiguration:CustomHttpsConfiguration":{"description":"!\u003e **Note:** This deploys an Azure Front Door (classic) resource which has been deprecated and will receive security updates only. Please migrate your existing Azure Front Door (classic) deployments to the new Azure Front Door (standard/premium) resources. For your convenience, the service team has exposed a `Front Door Classic` to `Front Door Standard/Premium` [migration tool](https://learn.microsoft.com/azure/frontdoor/tier-migration) to allow you to migrate your existing `Front Door Classic` instances to the new `Front Door Standard/Premium` product tiers.\n\nManages the Custom HTTPS Configuration for an Azure Front Door (classic) Frontend Endpoint.\n\n\u003e **Note:** Defining custom HTTPS configurations using a separate \u003cspan pulumi-lang-nodejs=\"`azure.frontdoor.CustomHttpsConfiguration`\" pulumi-lang-dotnet=\"`azure.frontdoor.CustomHttpsConfiguration`\" pulumi-lang-go=\"`frontdoor.CustomHttpsConfiguration`\" pulumi-lang-python=\"`frontdoor.CustomHttpsConfiguration`\" pulumi-lang-yaml=\"`azure.frontdoor.CustomHttpsConfiguration`\" pulumi-lang-java=\"`azure.frontdoor.CustomHttpsConfiguration`\"\u003e`azure.frontdoor.CustomHttpsConfiguration`\u003c/span\u003e resource allows for parallel creation/update.\n\n!\u003e **Note:** In order to address the ordering issue we have changed the design on how to retrieve existing sub resources such as frontend endpoints. Existing design will be deprecated and will result in an incorrect configuration. Please refer to the updated documentation below for more information.\n\n!\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`resourceGroupName`\" pulumi-lang-dotnet=\"`ResourceGroupName`\" pulumi-lang-go=\"`resourceGroupName`\" pulumi-lang-python=\"`resource_group_name`\" pulumi-lang-yaml=\"`resourceGroupName`\" pulumi-lang-java=\"`resourceGroupName`\"\u003e`resource_group_name`\u003c/span\u003e field has been removed as of the `v2.58.0` provider release. If the \u003cspan pulumi-lang-nodejs=\"`resourceGroupName`\" pulumi-lang-dotnet=\"`ResourceGroupName`\" pulumi-lang-go=\"`resourceGroupName`\" pulumi-lang-python=\"`resource_group_name`\" pulumi-lang-yaml=\"`resourceGroupName`\" pulumi-lang-java=\"`resourceGroupName`\"\u003e`resource_group_name`\u003c/span\u003e field has been defined in your current \u003cspan pulumi-lang-nodejs=\"`azure.frontdoor.CustomHttpsConfiguration`\" pulumi-lang-dotnet=\"`azure.frontdoor.CustomHttpsConfiguration`\" pulumi-lang-go=\"`frontdoor.CustomHttpsConfiguration`\" pulumi-lang-python=\"`frontdoor.CustomHttpsConfiguration`\" pulumi-lang-yaml=\"`azure.frontdoor.CustomHttpsConfiguration`\" pulumi-lang-java=\"`azure.frontdoor.CustomHttpsConfiguration`\"\u003e`azure.frontdoor.CustomHttpsConfiguration`\u003c/span\u003e resource configuration file please remove it else you will receive a `An argument named \u003cspan pulumi-lang-nodejs=\"\"resourceGroupName\"\" pulumi-lang-dotnet=\"\"ResourceGroupName\"\" pulumi-lang-go=\"\"resourceGroupName\"\" pulumi-lang-python=\"\"resource_group_name\"\" pulumi-lang-yaml=\"\"resourceGroupName\"\" pulumi-lang-java=\"\"resourceGroupName\"\"\u003e\"resource_group_name\"\u003c/span\u003e is not expected here.` error. If your pre-existing Front Door instance contained inline \u003cspan pulumi-lang-nodejs=\"`customHttpsConfiguration`\" pulumi-lang-dotnet=\"`CustomHttpsConfiguration`\" pulumi-lang-go=\"`customHttpsConfiguration`\" pulumi-lang-python=\"`custom_https_configuration`\" pulumi-lang-yaml=\"`customHttpsConfiguration`\" pulumi-lang-java=\"`customHttpsConfiguration`\"\u003e`custom_https_configuration`\u003c/span\u003e blocks there are additional steps that will need to be completed to successfully migrate your Front Door onto the `v2.58.0` provider which can be found in this guide.\n\n!\u003e **Note:** Azure rolled out a breaking change on Friday 9th April 2021 which may cause issues with the CDN/FrontDoor resources. More information is available in this GitHub issue - unfortunately this may necessitate a breaking change to the CDN and Front Door resources, more information will be posted in the GitHub issue as the necessary changes are identified.\n\n!\u003e **Note:** The creation of new Azure Front Door (classic) resources is no longer supported following its deprecation on `April 1, 2025`. However, modifications to existing Azure Front Door (classic) resources will continue to be supported until the API reaches full retirement on `March 31, 2027`.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"FrontDoorExampleResourceGroup\",\n    location: \"West Europe\",\n});\nconst vault = azure.keyvault.getKeyVault({\n    name: \"example-vault\",\n    resourceGroupName: \"example-vault-rg\",\n});\nconst exampleFrontdoor = new azure.frontdoor.Frontdoor(\"example\", {\n    name: \"example-FrontDoor\",\n    resourceGroupName: example.name,\n    routingRules: [{\n        name: \"exampleRoutingRule1\",\n        acceptedProtocols: [\n            \"Http\",\n            \"Https\",\n        ],\n        patternsToMatches: [\"/*\"],\n        frontendEndpoints: [\"exampleFrontendEndpoint1\"],\n        forwardingConfiguration: {\n            forwardingProtocol: \"MatchRequest\",\n            backendPoolName: \"exampleBackendBing\",\n        },\n    }],\n    backendPoolLoadBalancings: [{\n        name: \"exampleLoadBalancingSettings1\",\n    }],\n    backendPoolHealthProbes: [{\n        name: \"exampleHealthProbeSetting1\",\n    }],\n    backendPools: [{\n        name: \"exampleBackendBing\",\n        backends: [{\n            hostHeader: \"www.bing.com\",\n            address: \"www.bing.com\",\n            httpPort: 80,\n            httpsPort: 443,\n        }],\n        loadBalancingName: \"exampleLoadBalancingSettings1\",\n        healthProbeName: \"exampleHealthProbeSetting1\",\n    }],\n    frontendEndpoints: [\n        {\n            name: \"exampleFrontendEndpoint1\",\n            hostName: \"example-FrontDoor.azurefd.net\",\n        },\n        {\n            name: \"exampleFrontendEndpoint2\",\n            hostName: \"examplefd1.examplefd.net\",\n        },\n    ],\n});\nconst exampleCustomHttps0 = new azure.frontdoor.CustomHttpsConfiguration(\"example_custom_https_0\", {\n    frontendEndpointId: exampleFrontdoor.frontendEndpointsMap.exampleFrontendEndpoint1,\n    customHttpsProvisioningEnabled: false,\n});\nconst exampleCustomHttps1 = new azure.frontdoor.CustomHttpsConfiguration(\"example_custom_https_1\", {\n    frontendEndpointId: exampleFrontdoor.frontendEndpointsMap.exampleFrontendEndpoint2,\n    customHttpsProvisioningEnabled: true,\n    customHttpsConfiguration: {\n        certificateSource: \"AzureKeyVault\",\n        azureKeyVaultCertificateSecretName: \"examplefd1\",\n        azureKeyVaultCertificateVaultId: vault.then(vault =\u003e vault.id),\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"FrontDoorExampleResourceGroup\",\n    location=\"West Europe\")\nvault = azure.keyvault.get_key_vault(name=\"example-vault\",\n    resource_group_name=\"example-vault-rg\")\nexample_frontdoor = azure.frontdoor.Frontdoor(\"example\",\n    name=\"example-FrontDoor\",\n    resource_group_name=example.name,\n    routing_rules=[{\n        \"name\": \"exampleRoutingRule1\",\n        \"accepted_protocols\": [\n            \"Http\",\n            \"Https\",\n        ],\n        \"patterns_to_matches\": [\"/*\"],\n        \"frontend_endpoints\": [\"exampleFrontendEndpoint1\"],\n        \"forwarding_configuration\": {\n            \"forwarding_protocol\": \"MatchRequest\",\n            \"backend_pool_name\": \"exampleBackendBing\",\n        },\n    }],\n    backend_pool_load_balancings=[{\n        \"name\": \"exampleLoadBalancingSettings1\",\n    }],\n    backend_pool_health_probes=[{\n        \"name\": \"exampleHealthProbeSetting1\",\n    }],\n    backend_pools=[{\n        \"name\": \"exampleBackendBing\",\n        \"backends\": [{\n            \"host_header\": \"www.bing.com\",\n            \"address\": \"www.bing.com\",\n            \"http_port\": 80,\n            \"https_port\": 443,\n        }],\n        \"load_balancing_name\": \"exampleLoadBalancingSettings1\",\n        \"health_probe_name\": \"exampleHealthProbeSetting1\",\n    }],\n    frontend_endpoints=[\n        {\n            \"name\": \"exampleFrontendEndpoint1\",\n            \"host_name\": \"example-FrontDoor.azurefd.net\",\n        },\n        {\n            \"name\": \"exampleFrontendEndpoint2\",\n            \"host_name\": \"examplefd1.examplefd.net\",\n        },\n    ])\nexample_custom_https0 = azure.frontdoor.CustomHttpsConfiguration(\"example_custom_https_0\",\n    frontend_endpoint_id=example_frontdoor.frontend_endpoints_map[\"exampleFrontendEndpoint1\"],\n    custom_https_provisioning_enabled=False)\nexample_custom_https1 = azure.frontdoor.CustomHttpsConfiguration(\"example_custom_https_1\",\n    frontend_endpoint_id=example_frontdoor.frontend_endpoints_map[\"exampleFrontendEndpoint2\"],\n    custom_https_provisioning_enabled=True,\n    custom_https_configuration={\n        \"certificate_source\": \"AzureKeyVault\",\n        \"azure_key_vault_certificate_secret_name\": \"examplefd1\",\n        \"azure_key_vault_certificate_vault_id\": vault.id,\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"FrontDoorExampleResourceGroup\",\n        Location = \"West Europe\",\n    });\n\n    var vault = Azure.KeyVault.GetKeyVault.Invoke(new()\n    {\n        Name = \"example-vault\",\n        ResourceGroupName = \"example-vault-rg\",\n    });\n\n    var exampleFrontdoor = new Azure.FrontDoor.Frontdoor(\"example\", new()\n    {\n        Name = \"example-FrontDoor\",\n        ResourceGroupName = example.Name,\n        RoutingRules = new[]\n        {\n            new Azure.FrontDoor.Inputs.FrontdoorRoutingRuleArgs\n            {\n                Name = \"exampleRoutingRule1\",\n                AcceptedProtocols = new[]\n                {\n                    \"Http\",\n                    \"Https\",\n                },\n                PatternsToMatches = new[]\n                {\n                    \"/*\",\n                },\n                FrontendEndpoints = new[]\n                {\n                    \"exampleFrontendEndpoint1\",\n                },\n                ForwardingConfiguration = new Azure.FrontDoor.Inputs.FrontdoorRoutingRuleForwardingConfigurationArgs\n                {\n                    ForwardingProtocol = \"MatchRequest\",\n                    BackendPoolName = \"exampleBackendBing\",\n                },\n            },\n        },\n        BackendPoolLoadBalancings = new[]\n        {\n            new Azure.FrontDoor.Inputs.FrontdoorBackendPoolLoadBalancingArgs\n            {\n                Name = \"exampleLoadBalancingSettings1\",\n            },\n        },\n        BackendPoolHealthProbes = new[]\n        {\n            new Azure.FrontDoor.Inputs.FrontdoorBackendPoolHealthProbeArgs\n            {\n                Name = \"exampleHealthProbeSetting1\",\n            },\n        },\n        BackendPools = new[]\n        {\n            new Azure.FrontDoor.Inputs.FrontdoorBackendPoolArgs\n            {\n                Name = \"exampleBackendBing\",\n                Backends = new[]\n                {\n                    new Azure.FrontDoor.Inputs.FrontdoorBackendPoolBackendArgs\n                    {\n                        HostHeader = \"www.bing.com\",\n                        Address = \"www.bing.com\",\n                        HttpPort = 80,\n                        HttpsPort = 443,\n                    },\n                },\n                LoadBalancingName = \"exampleLoadBalancingSettings1\",\n                HealthProbeName = \"exampleHealthProbeSetting1\",\n            },\n        },\n        FrontendEndpoints = new[]\n        {\n            new Azure.FrontDoor.Inputs.FrontdoorFrontendEndpointArgs\n            {\n                Name = \"exampleFrontendEndpoint1\",\n                HostName = \"example-FrontDoor.azurefd.net\",\n            },\n            new Azure.FrontDoor.Inputs.FrontdoorFrontendEndpointArgs\n            {\n                Name = \"exampleFrontendEndpoint2\",\n                HostName = \"examplefd1.examplefd.net\",\n            },\n        },\n    });\n\n    var exampleCustomHttps0 = new Azure.FrontDoor.CustomHttpsConfiguration(\"example_custom_https_0\", new()\n    {\n        FrontendEndpointId = exampleFrontdoor.FrontendEndpointsMap.Apply(frontendEndpointsMap =\u003e frontendEndpointsMap.ExampleFrontendEndpoint1),\n        CustomHttpsProvisioningEnabled = false,\n    });\n\n    var exampleCustomHttps1 = new Azure.FrontDoor.CustomHttpsConfiguration(\"example_custom_https_1\", new()\n    {\n        FrontendEndpointId = exampleFrontdoor.FrontendEndpointsMap.Apply(frontendEndpointsMap =\u003e frontendEndpointsMap.ExampleFrontendEndpoint2),\n        CustomHttpsProvisioningEnabled = true,\n        CustomHttpsConfigurationConfig = new Azure.FrontDoor.Inputs.CustomHttpsConfigurationCustomHttpsConfigurationArgs\n        {\n            CertificateSource = \"AzureKeyVault\",\n            AzureKeyVaultCertificateSecretName = \"examplefd1\",\n            AzureKeyVaultCertificateVaultId = vault.Apply(getKeyVaultResult =\u003e getKeyVaultResult.Id),\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/frontdoor\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/keyvault\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"FrontDoorExampleResourceGroup\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvault, err := keyvault.LookupKeyVault(ctx, \u0026keyvault.LookupKeyVaultArgs{\n\t\t\tName:              \"example-vault\",\n\t\t\tResourceGroupName: \"example-vault-rg\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleFrontdoor, err := frontdoor.NewFrontdoor(ctx, \"example\", \u0026frontdoor.FrontdoorArgs{\n\t\t\tName:              pulumi.String(\"example-FrontDoor\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tRoutingRules: frontdoor.FrontdoorRoutingRuleArray{\n\t\t\t\t\u0026frontdoor.FrontdoorRoutingRuleArgs{\n\t\t\t\t\tName: pulumi.String(\"exampleRoutingRule1\"),\n\t\t\t\t\tAcceptedProtocols: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"Http\"),\n\t\t\t\t\t\tpulumi.String(\"Https\"),\n\t\t\t\t\t},\n\t\t\t\t\tPatternsToMatches: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"/*\"),\n\t\t\t\t\t},\n\t\t\t\t\tFrontendEndpoints: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"exampleFrontendEndpoint1\"),\n\t\t\t\t\t},\n\t\t\t\t\tForwardingConfiguration: \u0026frontdoor.FrontdoorRoutingRuleForwardingConfigurationArgs{\n\t\t\t\t\t\tForwardingProtocol: pulumi.String(\"MatchRequest\"),\n\t\t\t\t\t\tBackendPoolName:    pulumi.String(\"exampleBackendBing\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tBackendPoolLoadBalancings: frontdoor.FrontdoorBackendPoolLoadBalancingArray{\n\t\t\t\t\u0026frontdoor.FrontdoorBackendPoolLoadBalancingArgs{\n\t\t\t\t\tName: pulumi.String(\"exampleLoadBalancingSettings1\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tBackendPoolHealthProbes: frontdoor.FrontdoorBackendPoolHealthProbeArray{\n\t\t\t\t\u0026frontdoor.FrontdoorBackendPoolHealthProbeArgs{\n\t\t\t\t\tName: pulumi.String(\"exampleHealthProbeSetting1\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tBackendPools: frontdoor.FrontdoorBackendPoolArray{\n\t\t\t\t\u0026frontdoor.FrontdoorBackendPoolArgs{\n\t\t\t\t\tName: pulumi.String(\"exampleBackendBing\"),\n\t\t\t\t\tBackends: frontdoor.FrontdoorBackendPoolBackendArray{\n\t\t\t\t\t\t\u0026frontdoor.FrontdoorBackendPoolBackendArgs{\n\t\t\t\t\t\t\tHostHeader: pulumi.String(\"www.bing.com\"),\n\t\t\t\t\t\t\tAddress:    pulumi.String(\"www.bing.com\"),\n\t\t\t\t\t\t\tHttpPort:   pulumi.Int(80),\n\t\t\t\t\t\t\tHttpsPort:  pulumi.Int(443),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tLoadBalancingName: pulumi.String(\"exampleLoadBalancingSettings1\"),\n\t\t\t\t\tHealthProbeName:   pulumi.String(\"exampleHealthProbeSetting1\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tFrontendEndpoints: frontdoor.FrontdoorFrontendEndpointArray{\n\t\t\t\t\u0026frontdoor.FrontdoorFrontendEndpointArgs{\n\t\t\t\t\tName:     pulumi.String(\"exampleFrontendEndpoint1\"),\n\t\t\t\t\tHostName: pulumi.String(\"example-FrontDoor.azurefd.net\"),\n\t\t\t\t},\n\t\t\t\t\u0026frontdoor.FrontdoorFrontendEndpointArgs{\n\t\t\t\t\tName:     pulumi.String(\"exampleFrontendEndpoint2\"),\n\t\t\t\t\tHostName: pulumi.String(\"examplefd1.examplefd.net\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = frontdoor.NewCustomHttpsConfiguration(ctx, \"example_custom_https_0\", \u0026frontdoor.CustomHttpsConfigurationArgs{\n\t\t\tFrontendEndpointId: exampleFrontdoor.FrontendEndpointsMap.ApplyT(func(frontendEndpointsMap map[string]string) (string, error) {\n\t\t\t\treturn frontendEndpointsMap.ExampleFrontendEndpoint1, nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t\tCustomHttpsProvisioningEnabled: pulumi.Bool(false),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = frontdoor.NewCustomHttpsConfiguration(ctx, \"example_custom_https_1\", \u0026frontdoor.CustomHttpsConfigurationArgs{\n\t\t\tFrontendEndpointId: exampleFrontdoor.FrontendEndpointsMap.ApplyT(func(frontendEndpointsMap map[string]string) (string, error) {\n\t\t\t\treturn frontendEndpointsMap.ExampleFrontendEndpoint2, nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t\tCustomHttpsProvisioningEnabled: pulumi.Bool(true),\n\t\t\tCustomHttpsConfiguration: \u0026frontdoor.CustomHttpsConfigurationCustomHttpsConfigurationArgs{\n\t\t\t\tCertificateSource:                  pulumi.String(\"AzureKeyVault\"),\n\t\t\t\tAzureKeyVaultCertificateSecretName: pulumi.String(\"examplefd1\"),\n\t\t\t\tAzureKeyVaultCertificateVaultId:    pulumi.String(vault.Id),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.keyvault.KeyvaultFunctions;\nimport com.pulumi.azure.keyvault.inputs.GetKeyVaultArgs;\nimport com.pulumi.azure.frontdoor.Frontdoor;\nimport com.pulumi.azure.frontdoor.FrontdoorArgs;\nimport com.pulumi.azure.frontdoor.inputs.FrontdoorRoutingRuleArgs;\nimport com.pulumi.azure.frontdoor.inputs.FrontdoorRoutingRuleForwardingConfigurationArgs;\nimport com.pulumi.azure.frontdoor.inputs.FrontdoorBackendPoolLoadBalancingArgs;\nimport com.pulumi.azure.frontdoor.inputs.FrontdoorBackendPoolHealthProbeArgs;\nimport com.pulumi.azure.frontdoor.inputs.FrontdoorBackendPoolArgs;\nimport com.pulumi.azure.frontdoor.inputs.FrontdoorFrontendEndpointArgs;\nimport com.pulumi.azure.frontdoor.CustomHttpsConfiguration;\nimport com.pulumi.azure.frontdoor.CustomHttpsConfigurationArgs;\nimport com.pulumi.azure.frontdoor.inputs.CustomHttpsConfigurationCustomHttpsConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"FrontDoorExampleResourceGroup\")\n            .location(\"West Europe\")\n            .build());\n\n        final var vault = KeyvaultFunctions.getKeyVault(GetKeyVaultArgs.builder()\n            .name(\"example-vault\")\n            .resourceGroupName(\"example-vault-rg\")\n            .build());\n\n        var exampleFrontdoor = new Frontdoor(\"exampleFrontdoor\", FrontdoorArgs.builder()\n            .name(\"example-FrontDoor\")\n            .resourceGroupName(example.name())\n            .routingRules(FrontdoorRoutingRuleArgs.builder()\n                .name(\"exampleRoutingRule1\")\n                .acceptedProtocols(                \n                    \"Http\",\n                    \"Https\")\n                .patternsToMatches(\"/*\")\n                .frontendEndpoints(\"exampleFrontendEndpoint1\")\n                .forwardingConfiguration(FrontdoorRoutingRuleForwardingConfigurationArgs.builder()\n                    .forwardingProtocol(\"MatchRequest\")\n                    .backendPoolName(\"exampleBackendBing\")\n                    .build())\n                .build())\n            .backendPoolLoadBalancings(FrontdoorBackendPoolLoadBalancingArgs.builder()\n                .name(\"exampleLoadBalancingSettings1\")\n                .build())\n            .backendPoolHealthProbes(FrontdoorBackendPoolHealthProbeArgs.builder()\n                .name(\"exampleHealthProbeSetting1\")\n                .build())\n            .backendPools(FrontdoorBackendPoolArgs.builder()\n                .name(\"exampleBackendBing\")\n                .backends(FrontdoorBackendPoolBackendArgs.builder()\n                    .hostHeader(\"www.bing.com\")\n                    .address(\"www.bing.com\")\n                    .httpPort(80)\n                    .httpsPort(443)\n                    .build())\n                .loadBalancingName(\"exampleLoadBalancingSettings1\")\n                .healthProbeName(\"exampleHealthProbeSetting1\")\n                .build())\n            .frontendEndpoints(            \n                FrontdoorFrontendEndpointArgs.builder()\n                    .name(\"exampleFrontendEndpoint1\")\n                    .hostName(\"example-FrontDoor.azurefd.net\")\n                    .build(),\n                FrontdoorFrontendEndpointArgs.builder()\n                    .name(\"exampleFrontendEndpoint2\")\n                    .hostName(\"examplefd1.examplefd.net\")\n                    .build())\n            .build());\n\n        var exampleCustomHttps0 = new CustomHttpsConfiguration(\"exampleCustomHttps0\", CustomHttpsConfigurationArgs.builder()\n            .frontendEndpointId(exampleFrontdoor.frontendEndpointsMap().applyValue(_frontendEndpointsMap -\u003e _frontendEndpointsMap.exampleFrontendEndpoint1()))\n            .customHttpsProvisioningEnabled(false)\n            .build());\n\n        var exampleCustomHttps1 = new CustomHttpsConfiguration(\"exampleCustomHttps1\", CustomHttpsConfigurationArgs.builder()\n            .frontendEndpointId(exampleFrontdoor.frontendEndpointsMap().applyValue(_frontendEndpointsMap -\u003e _frontendEndpointsMap.exampleFrontendEndpoint2()))\n            .customHttpsProvisioningEnabled(true)\n            .customHttpsConfiguration(CustomHttpsConfigurationCustomHttpsConfigurationArgs.builder()\n                .certificateSource(\"AzureKeyVault\")\n                .azureKeyVaultCertificateSecretName(\"examplefd1\")\n                .azureKeyVaultCertificateVaultId(vault.id())\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: FrontDoorExampleResourceGroup\n      location: West Europe\n  exampleFrontdoor:\n    type: azure:frontdoor:Frontdoor\n    name: example\n    properties:\n      name: example-FrontDoor\n      resourceGroupName: ${example.name}\n      routingRules:\n        - name: exampleRoutingRule1\n          acceptedProtocols:\n            - Http\n            - Https\n          patternsToMatches:\n            - /*\n          frontendEndpoints:\n            - exampleFrontendEndpoint1\n          forwardingConfiguration:\n            forwardingProtocol: MatchRequest\n            backendPoolName: exampleBackendBing\n      backendPoolLoadBalancings:\n        - name: exampleLoadBalancingSettings1\n      backendPoolHealthProbes:\n        - name: exampleHealthProbeSetting1\n      backendPools:\n        - name: exampleBackendBing\n          backends:\n            - hostHeader: www.bing.com\n              address: www.bing.com\n              httpPort: 80\n              httpsPort: 443\n          loadBalancingName: exampleLoadBalancingSettings1\n          healthProbeName: exampleHealthProbeSetting1\n      frontendEndpoints:\n        - name: exampleFrontendEndpoint1\n          hostName: example-FrontDoor.azurefd.net\n        - name: exampleFrontendEndpoint2\n          hostName: examplefd1.examplefd.net\n  exampleCustomHttps0:\n    type: azure:frontdoor:CustomHttpsConfiguration\n    name: example_custom_https_0\n    properties:\n      frontendEndpointId: ${exampleFrontdoor.frontendEndpointsMap.exampleFrontendEndpoint1}\n      customHttpsProvisioningEnabled: false\n  exampleCustomHttps1:\n    type: azure:frontdoor:CustomHttpsConfiguration\n    name: example_custom_https_1\n    properties:\n      frontendEndpointId: ${exampleFrontdoor.frontendEndpointsMap.exampleFrontendEndpoint2}\n      customHttpsProvisioningEnabled: true\n      customHttpsConfiguration:\n        certificateSource: AzureKeyVault\n        azureKeyVaultCertificateSecretName: examplefd1\n        azureKeyVaultCertificateVaultId: ${vault.id}\nvariables:\n  vault:\n    fn::invoke:\n      function: azure:keyvault:getKeyVault\n      arguments:\n        name: example-vault\n        resourceGroupName: example-vault-rg\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nFront Door Custom HTTPS Configurations can be imported using the `resource id` of the Front Door Custom HTTPS Configuration, e.g.\n\n```sh\n$ pulumi import azure:frontdoor/customHttpsConfiguration:CustomHttpsConfiguration example_custom_https_1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Network/frontDoors/frontdoor1/customHttpsConfiguration/endpoint1\n```\n\n","properties":{"customHttpsConfiguration":{"$ref":"#/types/azure:frontdoor/CustomHttpsConfigurationCustomHttpsConfiguration:CustomHttpsConfigurationCustomHttpsConfiguration","description":"A \u003cspan pulumi-lang-nodejs=\"`customHttpsConfiguration`\" pulumi-lang-dotnet=\"`CustomHttpsConfiguration`\" pulumi-lang-go=\"`customHttpsConfiguration`\" pulumi-lang-python=\"`custom_https_configuration`\" pulumi-lang-yaml=\"`customHttpsConfiguration`\" pulumi-lang-java=\"`customHttpsConfiguration`\"\u003e`custom_https_configuration`\u003c/span\u003e block as defined above.\n","language":{"csharp":{"name":"CustomHttpsConfigurationConfig"}}},"customHttpsProvisioningEnabled":{"type":"boolean","description":"Should the HTTPS protocol be enabled for this custom domain associated with the Front Door?\n"},"frontendEndpointId":{"type":"string","description":"The ID of the Front Door Frontend Endpoint which this configuration refers to. Changing this forces a new resource to be created.\n"}},"required":["customHttpsProvisioningEnabled","frontendEndpointId"],"inputProperties":{"customHttpsConfiguration":{"$ref":"#/types/azure:frontdoor/CustomHttpsConfigurationCustomHttpsConfiguration:CustomHttpsConfigurationCustomHttpsConfiguration","description":"A \u003cspan pulumi-lang-nodejs=\"`customHttpsConfiguration`\" pulumi-lang-dotnet=\"`CustomHttpsConfiguration`\" pulumi-lang-go=\"`customHttpsConfiguration`\" pulumi-lang-python=\"`custom_https_configuration`\" pulumi-lang-yaml=\"`customHttpsConfiguration`\" pulumi-lang-java=\"`customHttpsConfiguration`\"\u003e`custom_https_configuration`\u003c/span\u003e block as defined above.\n","language":{"csharp":{"name":"CustomHttpsConfigurationConfig"}}},"customHttpsProvisioningEnabled":{"type":"boolean","description":"Should the HTTPS protocol be enabled for this custom domain associated with the Front Door?\n"},"frontendEndpointId":{"type":"string","description":"The ID of the Front Door Frontend Endpoint which this configuration refers to. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["customHttpsProvisioningEnabled","frontendEndpointId"],"stateInputs":{"description":"Input properties used for looking up and filtering CustomHttpsConfiguration resources.\n","properties":{"customHttpsConfiguration":{"$ref":"#/types/azure:frontdoor/CustomHttpsConfigurationCustomHttpsConfiguration:CustomHttpsConfigurationCustomHttpsConfiguration","description":"A \u003cspan pulumi-lang-nodejs=\"`customHttpsConfiguration`\" pulumi-lang-dotnet=\"`CustomHttpsConfiguration`\" pulumi-lang-go=\"`customHttpsConfiguration`\" pulumi-lang-python=\"`custom_https_configuration`\" pulumi-lang-yaml=\"`customHttpsConfiguration`\" pulumi-lang-java=\"`customHttpsConfiguration`\"\u003e`custom_https_configuration`\u003c/span\u003e block as defined above.\n","language":{"csharp":{"name":"CustomHttpsConfigurationConfig"}}},"customHttpsProvisioningEnabled":{"type":"boolean","description":"Should the HTTPS protocol be enabled for this custom domain associated with the Front Door?\n"},"frontendEndpointId":{"type":"string","description":"The ID of the Front Door Frontend Endpoint which this configuration refers to. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:frontdoor/firewallPolicy:FirewallPolicy":{"description":"!\u003e **Note:** This deploys an Azure Front Door (classic) resource which has been deprecated and will receive security updates only. Please migrate your existing Azure Front Door (classic) deployments to the new Azure Front Door (standard/premium) resources. For your convenience, the service team has exposed a `Front Door Classic` to `Front Door Standard/Premium` [migration tool](https://learn.microsoft.com/azure/frontdoor/tier-migration) to allow you to migrate your existing `Front Door Classic` instances to the new `Front Door Standard/Premium` product tiers.\n\nManages an Azure Front Door (classic) Web Application Firewall Policy instance.\n\n!\u003e **Note:** Azure rolled out a breaking change on Friday 9th April 2021 which may cause issues with the CDN/FrontDoor resources. More information is available in this GitHub issue - unfortunately this may necessitate a breaking change to the CDN and Front Door resources, more information will be posted in the GitHub issue as the necessary changes are identified.\n\n!\u003e **Note:** The creation of new Azure Front Door (classic) resources is no longer supported following its deprecation on `April 1, 2025`. However, modifications to existing Azure Front Door (classic) resources will continue to be supported until the API reaches full retirement on `March 31, 2027`.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-rg\",\n    location: \"West Europe\",\n});\nconst exampleFirewallPolicy = new azure.frontdoor.FirewallPolicy(\"example\", {\n    name: \"examplefdwafpolicy\",\n    resourceGroupName: example.name,\n    enabled: true,\n    mode: \"Prevention\",\n    redirectUrl: \"https://www.contoso.com\",\n    customBlockResponseStatusCode: 403,\n    customBlockResponseBody: \"PGh0bWw+CjxoZWFkZXI+PHRpdGxlPkhlbGxvPC90aXRsZT48L2hlYWRlcj4KPGJvZHk+CkhlbGxvIHdvcmxkCjwvYm9keT4KPC9odG1sPg==\",\n    customRules: [\n        {\n            name: \"Rule1\",\n            enabled: true,\n            priority: 1,\n            rateLimitDurationInMinutes: 1,\n            rateLimitThreshold: 10,\n            type: \"MatchRule\",\n            action: \"Block\",\n            matchConditions: [{\n                matchVariable: \"RemoteAddr\",\n                operator: \"IPMatch\",\n                negationCondition: false,\n                matchValues: [\n                    \"192.168.1.0/24\",\n                    \"10.0.0.0/24\",\n                ],\n            }],\n        },\n        {\n            name: \"Rule2\",\n            enabled: true,\n            priority: 2,\n            rateLimitDurationInMinutes: 1,\n            rateLimitThreshold: 10,\n            type: \"MatchRule\",\n            action: \"Block\",\n            matchConditions: [\n                {\n                    matchVariable: \"RemoteAddr\",\n                    operator: \"IPMatch\",\n                    negationCondition: false,\n                    matchValues: [\"192.168.1.0/24\"],\n                },\n                {\n                    matchVariable: \"RequestHeader\",\n                    selector: \"UserAgent\",\n                    operator: \"Contains\",\n                    negationCondition: false,\n                    matchValues: [\"windows\"],\n                    transforms: [\n                        \"Lowercase\",\n                        \"Trim\",\n                    ],\n                },\n            ],\n        },\n    ],\n    managedRules: [\n        {\n            type: \"DefaultRuleSet\",\n            version: \"1.0\",\n            exclusions: [{\n                matchVariable: \"QueryStringArgNames\",\n                operator: \"Equals\",\n                selector: \"not_suspicious\",\n            }],\n            overrides: [\n                {\n                    ruleGroupName: \"PHP\",\n                    rules: [{\n                        ruleId: \"933100\",\n                        enabled: false,\n                        action: \"Block\",\n                    }],\n                },\n                {\n                    ruleGroupName: \"SQLI\",\n                    exclusions: [{\n                        matchVariable: \"QueryStringArgNames\",\n                        operator: \"Equals\",\n                        selector: \"really_not_suspicious\",\n                    }],\n                    rules: [{\n                        ruleId: \"942200\",\n                        action: \"Block\",\n                        exclusions: [{\n                            matchVariable: \"QueryStringArgNames\",\n                            operator: \"Equals\",\n                            selector: \"innocent\",\n                        }],\n                    }],\n                },\n            ],\n        },\n        {\n            type: \"Microsoft_BotManagerRuleSet\",\n            version: \"1.0\",\n        },\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-rg\",\n    location=\"West Europe\")\nexample_firewall_policy = azure.frontdoor.FirewallPolicy(\"example\",\n    name=\"examplefdwafpolicy\",\n    resource_group_name=example.name,\n    enabled=True,\n    mode=\"Prevention\",\n    redirect_url=\"https://www.contoso.com\",\n    custom_block_response_status_code=403,\n    custom_block_response_body=\"PGh0bWw+CjxoZWFkZXI+PHRpdGxlPkhlbGxvPC90aXRsZT48L2hlYWRlcj4KPGJvZHk+CkhlbGxvIHdvcmxkCjwvYm9keT4KPC9odG1sPg==\",\n    custom_rules=[\n        {\n            \"name\": \"Rule1\",\n            \"enabled\": True,\n            \"priority\": 1,\n            \"rate_limit_duration_in_minutes\": 1,\n            \"rate_limit_threshold\": 10,\n            \"type\": \"MatchRule\",\n            \"action\": \"Block\",\n            \"match_conditions\": [{\n                \"match_variable\": \"RemoteAddr\",\n                \"operator\": \"IPMatch\",\n                \"negation_condition\": False,\n                \"match_values\": [\n                    \"192.168.1.0/24\",\n                    \"10.0.0.0/24\",\n                ],\n            }],\n        },\n        {\n            \"name\": \"Rule2\",\n            \"enabled\": True,\n            \"priority\": 2,\n            \"rate_limit_duration_in_minutes\": 1,\n            \"rate_limit_threshold\": 10,\n            \"type\": \"MatchRule\",\n            \"action\": \"Block\",\n            \"match_conditions\": [\n                {\n                    \"match_variable\": \"RemoteAddr\",\n                    \"operator\": \"IPMatch\",\n                    \"negation_condition\": False,\n                    \"match_values\": [\"192.168.1.0/24\"],\n                },\n                {\n                    \"match_variable\": \"RequestHeader\",\n                    \"selector\": \"UserAgent\",\n                    \"operator\": \"Contains\",\n                    \"negation_condition\": False,\n                    \"match_values\": [\"windows\"],\n                    \"transforms\": [\n                        \"Lowercase\",\n                        \"Trim\",\n                    ],\n                },\n            ],\n        },\n    ],\n    managed_rules=[\n        {\n            \"type\": \"DefaultRuleSet\",\n            \"version\": \"1.0\",\n            \"exclusions\": [{\n                \"match_variable\": \"QueryStringArgNames\",\n                \"operator\": \"Equals\",\n                \"selector\": \"not_suspicious\",\n            }],\n            \"overrides\": [\n                {\n                    \"rule_group_name\": \"PHP\",\n                    \"rules\": [{\n                        \"rule_id\": \"933100\",\n                        \"enabled\": False,\n                        \"action\": \"Block\",\n                    }],\n                },\n                {\n                    \"rule_group_name\": \"SQLI\",\n                    \"exclusions\": [{\n                        \"match_variable\": \"QueryStringArgNames\",\n                        \"operator\": \"Equals\",\n                        \"selector\": \"really_not_suspicious\",\n                    }],\n                    \"rules\": [{\n                        \"rule_id\": \"942200\",\n                        \"action\": \"Block\",\n                        \"exclusions\": [{\n                            \"match_variable\": \"QueryStringArgNames\",\n                            \"operator\": \"Equals\",\n                            \"selector\": \"innocent\",\n                        }],\n                    }],\n                },\n            ],\n        },\n        {\n            \"type\": \"Microsoft_BotManagerRuleSet\",\n            \"version\": \"1.0\",\n        },\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-rg\",\n        Location = \"West Europe\",\n    });\n\n    var exampleFirewallPolicy = new Azure.FrontDoor.FirewallPolicy(\"example\", new()\n    {\n        Name = \"examplefdwafpolicy\",\n        ResourceGroupName = example.Name,\n        Enabled = true,\n        Mode = \"Prevention\",\n        RedirectUrl = \"https://www.contoso.com\",\n        CustomBlockResponseStatusCode = 403,\n        CustomBlockResponseBody = \"PGh0bWw+CjxoZWFkZXI+PHRpdGxlPkhlbGxvPC90aXRsZT48L2hlYWRlcj4KPGJvZHk+CkhlbGxvIHdvcmxkCjwvYm9keT4KPC9odG1sPg==\",\n        CustomRules = new[]\n        {\n            new Azure.FrontDoor.Inputs.FirewallPolicyCustomRuleArgs\n            {\n                Name = \"Rule1\",\n                Enabled = true,\n                Priority = 1,\n                RateLimitDurationInMinutes = 1,\n                RateLimitThreshold = 10,\n                Type = \"MatchRule\",\n                Action = \"Block\",\n                MatchConditions = new[]\n                {\n                    new Azure.FrontDoor.Inputs.FirewallPolicyCustomRuleMatchConditionArgs\n                    {\n                        MatchVariable = \"RemoteAddr\",\n                        Operator = \"IPMatch\",\n                        NegationCondition = false,\n                        MatchValues = new[]\n                        {\n                            \"192.168.1.0/24\",\n                            \"10.0.0.0/24\",\n                        },\n                    },\n                },\n            },\n            new Azure.FrontDoor.Inputs.FirewallPolicyCustomRuleArgs\n            {\n                Name = \"Rule2\",\n                Enabled = true,\n                Priority = 2,\n                RateLimitDurationInMinutes = 1,\n                RateLimitThreshold = 10,\n                Type = \"MatchRule\",\n                Action = \"Block\",\n                MatchConditions = new[]\n                {\n                    new Azure.FrontDoor.Inputs.FirewallPolicyCustomRuleMatchConditionArgs\n                    {\n                        MatchVariable = \"RemoteAddr\",\n                        Operator = \"IPMatch\",\n                        NegationCondition = false,\n                        MatchValues = new[]\n                        {\n                            \"192.168.1.0/24\",\n                        },\n                    },\n                    new Azure.FrontDoor.Inputs.FirewallPolicyCustomRuleMatchConditionArgs\n                    {\n                        MatchVariable = \"RequestHeader\",\n                        Selector = \"UserAgent\",\n                        Operator = \"Contains\",\n                        NegationCondition = false,\n                        MatchValues = new[]\n                        {\n                            \"windows\",\n                        },\n                        Transforms = new[]\n                        {\n                            \"Lowercase\",\n                            \"Trim\",\n                        },\n                    },\n                },\n            },\n        },\n        ManagedRules = new[]\n        {\n            new Azure.FrontDoor.Inputs.FirewallPolicyManagedRuleArgs\n            {\n                Type = \"DefaultRuleSet\",\n                Version = \"1.0\",\n                Exclusions = new[]\n                {\n                    new Azure.FrontDoor.Inputs.FirewallPolicyManagedRuleExclusionArgs\n                    {\n                        MatchVariable = \"QueryStringArgNames\",\n                        Operator = \"Equals\",\n                        Selector = \"not_suspicious\",\n                    },\n                },\n                Overrides = new[]\n                {\n                    new Azure.FrontDoor.Inputs.FirewallPolicyManagedRuleOverrideArgs\n                    {\n                        RuleGroupName = \"PHP\",\n                        Rules = new[]\n                        {\n                            new Azure.FrontDoor.Inputs.FirewallPolicyManagedRuleOverrideRuleArgs\n                            {\n                                RuleId = \"933100\",\n                                Enabled = false,\n                                Action = \"Block\",\n                            },\n                        },\n                    },\n                    new Azure.FrontDoor.Inputs.FirewallPolicyManagedRuleOverrideArgs\n                    {\n                        RuleGroupName = \"SQLI\",\n                        Exclusions = new[]\n                        {\n                            new Azure.FrontDoor.Inputs.FirewallPolicyManagedRuleOverrideExclusionArgs\n                            {\n                                MatchVariable = \"QueryStringArgNames\",\n                                Operator = \"Equals\",\n                                Selector = \"really_not_suspicious\",\n                            },\n                        },\n                        Rules = new[]\n                        {\n                            new Azure.FrontDoor.Inputs.FirewallPolicyManagedRuleOverrideRuleArgs\n                            {\n                                RuleId = \"942200\",\n                                Action = \"Block\",\n                                Exclusions = new[]\n                                {\n                                    new Azure.FrontDoor.Inputs.FirewallPolicyManagedRuleOverrideRuleExclusionArgs\n                                    {\n                                        MatchVariable = \"QueryStringArgNames\",\n                                        Operator = \"Equals\",\n                                        Selector = \"innocent\",\n                                    },\n                                },\n                            },\n                        },\n                    },\n                },\n            },\n            new Azure.FrontDoor.Inputs.FirewallPolicyManagedRuleArgs\n            {\n                Type = \"Microsoft_BotManagerRuleSet\",\n                Version = \"1.0\",\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/frontdoor\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-rg\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = frontdoor.NewFirewallPolicy(ctx, \"example\", \u0026frontdoor.FirewallPolicyArgs{\n\t\t\tName:                          pulumi.String(\"examplefdwafpolicy\"),\n\t\t\tResourceGroupName:             example.Name,\n\t\t\tEnabled:                       pulumi.Bool(true),\n\t\t\tMode:                          pulumi.String(\"Prevention\"),\n\t\t\tRedirectUrl:                   pulumi.String(\"https://www.contoso.com\"),\n\t\t\tCustomBlockResponseStatusCode: pulumi.Int(403),\n\t\t\tCustomBlockResponseBody:       pulumi.String(\"PGh0bWw+CjxoZWFkZXI+PHRpdGxlPkhlbGxvPC90aXRsZT48L2hlYWRlcj4KPGJvZHk+CkhlbGxvIHdvcmxkCjwvYm9keT4KPC9odG1sPg==\"),\n\t\t\tCustomRules: frontdoor.FirewallPolicyCustomRuleArray{\n\t\t\t\t\u0026frontdoor.FirewallPolicyCustomRuleArgs{\n\t\t\t\t\tName:                       pulumi.String(\"Rule1\"),\n\t\t\t\t\tEnabled:                    pulumi.Bool(true),\n\t\t\t\t\tPriority:                   pulumi.Int(1),\n\t\t\t\t\tRateLimitDurationInMinutes: pulumi.Int(1),\n\t\t\t\t\tRateLimitThreshold:         pulumi.Int(10),\n\t\t\t\t\tType:                       pulumi.String(\"MatchRule\"),\n\t\t\t\t\tAction:                     pulumi.String(\"Block\"),\n\t\t\t\t\tMatchConditions: frontdoor.FirewallPolicyCustomRuleMatchConditionArray{\n\t\t\t\t\t\t\u0026frontdoor.FirewallPolicyCustomRuleMatchConditionArgs{\n\t\t\t\t\t\t\tMatchVariable:     pulumi.String(\"RemoteAddr\"),\n\t\t\t\t\t\t\tOperator:          pulumi.String(\"IPMatch\"),\n\t\t\t\t\t\t\tNegationCondition: pulumi.Bool(false),\n\t\t\t\t\t\t\tMatchValues: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"192.168.1.0/24\"),\n\t\t\t\t\t\t\t\tpulumi.String(\"10.0.0.0/24\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026frontdoor.FirewallPolicyCustomRuleArgs{\n\t\t\t\t\tName:                       pulumi.String(\"Rule2\"),\n\t\t\t\t\tEnabled:                    pulumi.Bool(true),\n\t\t\t\t\tPriority:                   pulumi.Int(2),\n\t\t\t\t\tRateLimitDurationInMinutes: pulumi.Int(1),\n\t\t\t\t\tRateLimitThreshold:         pulumi.Int(10),\n\t\t\t\t\tType:                       pulumi.String(\"MatchRule\"),\n\t\t\t\t\tAction:                     pulumi.String(\"Block\"),\n\t\t\t\t\tMatchConditions: frontdoor.FirewallPolicyCustomRuleMatchConditionArray{\n\t\t\t\t\t\t\u0026frontdoor.FirewallPolicyCustomRuleMatchConditionArgs{\n\t\t\t\t\t\t\tMatchVariable:     pulumi.String(\"RemoteAddr\"),\n\t\t\t\t\t\t\tOperator:          pulumi.String(\"IPMatch\"),\n\t\t\t\t\t\t\tNegationCondition: pulumi.Bool(false),\n\t\t\t\t\t\t\tMatchValues: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"192.168.1.0/24\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026frontdoor.FirewallPolicyCustomRuleMatchConditionArgs{\n\t\t\t\t\t\t\tMatchVariable:     pulumi.String(\"RequestHeader\"),\n\t\t\t\t\t\t\tSelector:          pulumi.String(\"UserAgent\"),\n\t\t\t\t\t\t\tOperator:          pulumi.String(\"Contains\"),\n\t\t\t\t\t\t\tNegationCondition: pulumi.Bool(false),\n\t\t\t\t\t\t\tMatchValues: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"windows\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tTransforms: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"Lowercase\"),\n\t\t\t\t\t\t\t\tpulumi.String(\"Trim\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tManagedRules: frontdoor.FirewallPolicyManagedRuleArray{\n\t\t\t\t\u0026frontdoor.FirewallPolicyManagedRuleArgs{\n\t\t\t\t\tType:    pulumi.String(\"DefaultRuleSet\"),\n\t\t\t\t\tVersion: pulumi.String(\"1.0\"),\n\t\t\t\t\tExclusions: frontdoor.FirewallPolicyManagedRuleExclusionArray{\n\t\t\t\t\t\t\u0026frontdoor.FirewallPolicyManagedRuleExclusionArgs{\n\t\t\t\t\t\t\tMatchVariable: pulumi.String(\"QueryStringArgNames\"),\n\t\t\t\t\t\t\tOperator:      pulumi.String(\"Equals\"),\n\t\t\t\t\t\t\tSelector:      pulumi.String(\"not_suspicious\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tOverrides: frontdoor.FirewallPolicyManagedRuleOverrideArray{\n\t\t\t\t\t\t\u0026frontdoor.FirewallPolicyManagedRuleOverrideArgs{\n\t\t\t\t\t\t\tRuleGroupName: pulumi.String(\"PHP\"),\n\t\t\t\t\t\t\tRules: frontdoor.FirewallPolicyManagedRuleOverrideRuleArray{\n\t\t\t\t\t\t\t\t\u0026frontdoor.FirewallPolicyManagedRuleOverrideRuleArgs{\n\t\t\t\t\t\t\t\t\tRuleId:  pulumi.String(\"933100\"),\n\t\t\t\t\t\t\t\t\tEnabled: pulumi.Bool(false),\n\t\t\t\t\t\t\t\t\tAction:  pulumi.String(\"Block\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026frontdoor.FirewallPolicyManagedRuleOverrideArgs{\n\t\t\t\t\t\t\tRuleGroupName: pulumi.String(\"SQLI\"),\n\t\t\t\t\t\t\tExclusions: frontdoor.FirewallPolicyManagedRuleOverrideExclusionArray{\n\t\t\t\t\t\t\t\t\u0026frontdoor.FirewallPolicyManagedRuleOverrideExclusionArgs{\n\t\t\t\t\t\t\t\t\tMatchVariable: pulumi.String(\"QueryStringArgNames\"),\n\t\t\t\t\t\t\t\t\tOperator:      pulumi.String(\"Equals\"),\n\t\t\t\t\t\t\t\t\tSelector:      pulumi.String(\"really_not_suspicious\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tRules: frontdoor.FirewallPolicyManagedRuleOverrideRuleArray{\n\t\t\t\t\t\t\t\t\u0026frontdoor.FirewallPolicyManagedRuleOverrideRuleArgs{\n\t\t\t\t\t\t\t\t\tRuleId: pulumi.String(\"942200\"),\n\t\t\t\t\t\t\t\t\tAction: pulumi.String(\"Block\"),\n\t\t\t\t\t\t\t\t\tExclusions: frontdoor.FirewallPolicyManagedRuleOverrideRuleExclusionArray{\n\t\t\t\t\t\t\t\t\t\t\u0026frontdoor.FirewallPolicyManagedRuleOverrideRuleExclusionArgs{\n\t\t\t\t\t\t\t\t\t\t\tMatchVariable: pulumi.String(\"QueryStringArgNames\"),\n\t\t\t\t\t\t\t\t\t\t\tOperator:      pulumi.String(\"Equals\"),\n\t\t\t\t\t\t\t\t\t\t\tSelector:      pulumi.String(\"innocent\"),\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026frontdoor.FirewallPolicyManagedRuleArgs{\n\t\t\t\t\tType:    pulumi.String(\"Microsoft_BotManagerRuleSet\"),\n\t\t\t\t\tVersion: pulumi.String(\"1.0\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.frontdoor.FirewallPolicy;\nimport com.pulumi.azure.frontdoor.FirewallPolicyArgs;\nimport com.pulumi.azure.frontdoor.inputs.FirewallPolicyCustomRuleArgs;\nimport com.pulumi.azure.frontdoor.inputs.FirewallPolicyManagedRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-rg\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleFirewallPolicy = new FirewallPolicy(\"exampleFirewallPolicy\", FirewallPolicyArgs.builder()\n            .name(\"examplefdwafpolicy\")\n            .resourceGroupName(example.name())\n            .enabled(true)\n            .mode(\"Prevention\")\n            .redirectUrl(\"https://www.contoso.com\")\n            .customBlockResponseStatusCode(403)\n            .customBlockResponseBody(\"PGh0bWw+CjxoZWFkZXI+PHRpdGxlPkhlbGxvPC90aXRsZT48L2hlYWRlcj4KPGJvZHk+CkhlbGxvIHdvcmxkCjwvYm9keT4KPC9odG1sPg==\")\n            .customRules(            \n                FirewallPolicyCustomRuleArgs.builder()\n                    .name(\"Rule1\")\n                    .enabled(true)\n                    .priority(1)\n                    .rateLimitDurationInMinutes(1)\n                    .rateLimitThreshold(10)\n                    .type(\"MatchRule\")\n                    .action(\"Block\")\n                    .matchConditions(FirewallPolicyCustomRuleMatchConditionArgs.builder()\n                        .matchVariable(\"RemoteAddr\")\n                        .operator(\"IPMatch\")\n                        .negationCondition(false)\n                        .matchValues(                        \n                            \"192.168.1.0/24\",\n                            \"10.0.0.0/24\")\n                        .build())\n                    .build(),\n                FirewallPolicyCustomRuleArgs.builder()\n                    .name(\"Rule2\")\n                    .enabled(true)\n                    .priority(2)\n                    .rateLimitDurationInMinutes(1)\n                    .rateLimitThreshold(10)\n                    .type(\"MatchRule\")\n                    .action(\"Block\")\n                    .matchConditions(                    \n                        FirewallPolicyCustomRuleMatchConditionArgs.builder()\n                            .matchVariable(\"RemoteAddr\")\n                            .operator(\"IPMatch\")\n                            .negationCondition(false)\n                            .matchValues(\"192.168.1.0/24\")\n                            .build(),\n                        FirewallPolicyCustomRuleMatchConditionArgs.builder()\n                            .matchVariable(\"RequestHeader\")\n                            .selector(\"UserAgent\")\n                            .operator(\"Contains\")\n                            .negationCondition(false)\n                            .matchValues(\"windows\")\n                            .transforms(                            \n                                \"Lowercase\",\n                                \"Trim\")\n                            .build())\n                    .build())\n            .managedRules(            \n                FirewallPolicyManagedRuleArgs.builder()\n                    .type(\"DefaultRuleSet\")\n                    .version(\"1.0\")\n                    .exclusions(FirewallPolicyManagedRuleExclusionArgs.builder()\n                        .matchVariable(\"QueryStringArgNames\")\n                        .operator(\"Equals\")\n                        .selector(\"not_suspicious\")\n                        .build())\n                    .overrides(                    \n                        FirewallPolicyManagedRuleOverrideArgs.builder()\n                            .ruleGroupName(\"PHP\")\n                            .rules(FirewallPolicyManagedRuleOverrideRuleArgs.builder()\n                                .ruleId(\"933100\")\n                                .enabled(false)\n                                .action(\"Block\")\n                                .build())\n                            .build(),\n                        FirewallPolicyManagedRuleOverrideArgs.builder()\n                            .ruleGroupName(\"SQLI\")\n                            .exclusions(FirewallPolicyManagedRuleOverrideExclusionArgs.builder()\n                                .matchVariable(\"QueryStringArgNames\")\n                                .operator(\"Equals\")\n                                .selector(\"really_not_suspicious\")\n                                .build())\n                            .rules(FirewallPolicyManagedRuleOverrideRuleArgs.builder()\n                                .ruleId(\"942200\")\n                                .action(\"Block\")\n                                .exclusions(FirewallPolicyManagedRuleOverrideRuleExclusionArgs.builder()\n                                    .matchVariable(\"QueryStringArgNames\")\n                                    .operator(\"Equals\")\n                                    .selector(\"innocent\")\n                                    .build())\n                                .build())\n                            .build())\n                    .build(),\n                FirewallPolicyManagedRuleArgs.builder()\n                    .type(\"Microsoft_BotManagerRuleSet\")\n                    .version(\"1.0\")\n                    .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-rg\n      location: West Europe\n  exampleFirewallPolicy:\n    type: azure:frontdoor:FirewallPolicy\n    name: example\n    properties:\n      name: examplefdwafpolicy\n      resourceGroupName: ${example.name}\n      enabled: true\n      mode: Prevention\n      redirectUrl: https://www.contoso.com\n      customBlockResponseStatusCode: 403\n      customBlockResponseBody: PGh0bWw+CjxoZWFkZXI+PHRpdGxlPkhlbGxvPC90aXRsZT48L2hlYWRlcj4KPGJvZHk+CkhlbGxvIHdvcmxkCjwvYm9keT4KPC9odG1sPg==\n      customRules:\n        - name: Rule1\n          enabled: true\n          priority: 1\n          rateLimitDurationInMinutes: 1\n          rateLimitThreshold: 10\n          type: MatchRule\n          action: Block\n          matchConditions:\n            - matchVariable: RemoteAddr\n              operator: IPMatch\n              negationCondition: false\n              matchValues:\n                - 192.168.1.0/24\n                - 10.0.0.0/24\n        - name: Rule2\n          enabled: true\n          priority: 2\n          rateLimitDurationInMinutes: 1\n          rateLimitThreshold: 10\n          type: MatchRule\n          action: Block\n          matchConditions:\n            - matchVariable: RemoteAddr\n              operator: IPMatch\n              negationCondition: false\n              matchValues:\n                - 192.168.1.0/24\n            - matchVariable: RequestHeader\n              selector: UserAgent\n              operator: Contains\n              negationCondition: false\n              matchValues:\n                - windows\n              transforms:\n                - Lowercase\n                - Trim\n      managedRules:\n        - type: DefaultRuleSet\n          version: '1.0'\n          exclusions:\n            - matchVariable: QueryStringArgNames\n              operator: Equals\n              selector: not_suspicious\n          overrides:\n            - ruleGroupName: PHP\n              rules:\n                - ruleId: '933100'\n                  enabled: false\n                  action: Block\n            - ruleGroupName: SQLI\n              exclusions:\n                - matchVariable: QueryStringArgNames\n                  operator: Equals\n                  selector: really_not_suspicious\n              rules:\n                - ruleId: '942200'\n                  action: Block\n                  exclusions:\n                    - matchVariable: QueryStringArgNames\n                      operator: Equals\n                      selector: innocent\n        - type: Microsoft_BotManagerRuleSet\n          version: '1.0'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nFrontDoor Web Application Firewall Policy can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:frontdoor/firewallPolicy:FirewallPolicy example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/example-rg/providers/Microsoft.Network/frontDoorWebApplicationFirewallPolicies/examplefdwafpolicy\n```\n\n","properties":{"customBlockResponseBody":{"type":"string","description":"If a \u003cspan pulumi-lang-nodejs=\"`customRule`\" pulumi-lang-dotnet=\"`CustomRule`\" pulumi-lang-go=\"`customRule`\" pulumi-lang-python=\"`custom_rule`\" pulumi-lang-yaml=\"`customRule`\" pulumi-lang-java=\"`customRule`\"\u003e`custom_rule`\u003c/span\u003e block's action type is \u003cspan pulumi-lang-nodejs=\"`block`\" pulumi-lang-dotnet=\"`Block`\" pulumi-lang-go=\"`block`\" pulumi-lang-python=\"`block`\" pulumi-lang-yaml=\"`block`\" pulumi-lang-java=\"`block`\"\u003e`block`\u003c/span\u003e, this is the response body. The body must be specified in base64 encoding.\n"},"customBlockResponseStatusCode":{"type":"integer","description":"If a \u003cspan pulumi-lang-nodejs=\"`customRule`\" pulumi-lang-dotnet=\"`CustomRule`\" pulumi-lang-go=\"`customRule`\" pulumi-lang-python=\"`custom_rule`\" pulumi-lang-yaml=\"`customRule`\" pulumi-lang-java=\"`customRule`\"\u003e`custom_rule`\u003c/span\u003e block's action type is \u003cspan pulumi-lang-nodejs=\"`block`\" pulumi-lang-dotnet=\"`Block`\" pulumi-lang-go=\"`block`\" pulumi-lang-python=\"`block`\" pulumi-lang-yaml=\"`block`\" pulumi-lang-java=\"`block`\"\u003e`block`\u003c/span\u003e, this is the response status code. Possible values are \u003cspan pulumi-lang-nodejs=\"`200`\" pulumi-lang-dotnet=\"`200`\" pulumi-lang-go=\"`200`\" pulumi-lang-python=\"`200`\" pulumi-lang-yaml=\"`200`\" pulumi-lang-java=\"`200`\"\u003e`200`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`403`\" pulumi-lang-dotnet=\"`403`\" pulumi-lang-go=\"`403`\" pulumi-lang-python=\"`403`\" pulumi-lang-yaml=\"`403`\" pulumi-lang-java=\"`403`\"\u003e`403`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`405`\" pulumi-lang-dotnet=\"`405`\" pulumi-lang-go=\"`405`\" pulumi-lang-python=\"`405`\" pulumi-lang-yaml=\"`405`\" pulumi-lang-java=\"`405`\"\u003e`405`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`406`\" pulumi-lang-dotnet=\"`406`\" pulumi-lang-go=\"`406`\" pulumi-lang-python=\"`406`\" pulumi-lang-yaml=\"`406`\" pulumi-lang-java=\"`406`\"\u003e`406`\u003c/span\u003e, or \u003cspan pulumi-lang-nodejs=\"`429`\" pulumi-lang-dotnet=\"`429`\" pulumi-lang-go=\"`429`\" pulumi-lang-python=\"`429`\" pulumi-lang-yaml=\"`429`\" pulumi-lang-java=\"`429`\"\u003e`429`\u003c/span\u003e.\n"},"customRules":{"type":"array","items":{"$ref":"#/types/azure:frontdoor/FirewallPolicyCustomRule:FirewallPolicyCustomRule"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`customRule`\" pulumi-lang-dotnet=\"`CustomRule`\" pulumi-lang-go=\"`customRule`\" pulumi-lang-python=\"`custom_rule`\" pulumi-lang-yaml=\"`customRule`\" pulumi-lang-java=\"`customRule`\"\u003e`custom_rule`\u003c/span\u003e blocks as defined below.\n"},"enabled":{"type":"boolean","description":"Is the policy a enabled state or disabled state. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"frontendEndpointIds":{"type":"array","items":{"type":"string"},"description":"The Frontend Endpoints associated with this Front Door Web Application Firewall policy.\n"},"location":{"type":"string","description":"The Azure Region where this Front Door Firewall Policy exists.\n"},"managedRules":{"type":"array","items":{"$ref":"#/types/azure:frontdoor/FirewallPolicyManagedRule:FirewallPolicyManagedRule"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`managedRule`\" pulumi-lang-dotnet=\"`ManagedRule`\" pulumi-lang-go=\"`managedRule`\" pulumi-lang-python=\"`managed_rule`\" pulumi-lang-yaml=\"`managedRule`\" pulumi-lang-java=\"`managedRule`\"\u003e`managed_rule`\u003c/span\u003e blocks as defined below.\n"},"mode":{"type":"string","description":"The firewall policy mode. Possible values are `Detection`, `Prevention`. Defaults to `Prevention`.\n"},"name":{"type":"string","description":"The name of the policy. Changing this forces a new resource to be created.\n"},"redirectUrl":{"type":"string","description":"If action type is redirect, this field represents redirect URL for the client.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group. Changing this forces a new resource to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the Web Application Firewall Policy.\n"}},"required":["frontendEndpointIds","location","name","resourceGroupName"],"inputProperties":{"customBlockResponseBody":{"type":"string","description":"If a \u003cspan pulumi-lang-nodejs=\"`customRule`\" pulumi-lang-dotnet=\"`CustomRule`\" pulumi-lang-go=\"`customRule`\" pulumi-lang-python=\"`custom_rule`\" pulumi-lang-yaml=\"`customRule`\" pulumi-lang-java=\"`customRule`\"\u003e`custom_rule`\u003c/span\u003e block's action type is \u003cspan pulumi-lang-nodejs=\"`block`\" pulumi-lang-dotnet=\"`Block`\" pulumi-lang-go=\"`block`\" pulumi-lang-python=\"`block`\" pulumi-lang-yaml=\"`block`\" pulumi-lang-java=\"`block`\"\u003e`block`\u003c/span\u003e, this is the response body. The body must be specified in base64 encoding.\n"},"customBlockResponseStatusCode":{"type":"integer","description":"If a \u003cspan pulumi-lang-nodejs=\"`customRule`\" pulumi-lang-dotnet=\"`CustomRule`\" pulumi-lang-go=\"`customRule`\" pulumi-lang-python=\"`custom_rule`\" pulumi-lang-yaml=\"`customRule`\" pulumi-lang-java=\"`customRule`\"\u003e`custom_rule`\u003c/span\u003e block's action type is \u003cspan pulumi-lang-nodejs=\"`block`\" pulumi-lang-dotnet=\"`Block`\" pulumi-lang-go=\"`block`\" pulumi-lang-python=\"`block`\" pulumi-lang-yaml=\"`block`\" pulumi-lang-java=\"`block`\"\u003e`block`\u003c/span\u003e, this is the response status code. Possible values are \u003cspan pulumi-lang-nodejs=\"`200`\" pulumi-lang-dotnet=\"`200`\" pulumi-lang-go=\"`200`\" pulumi-lang-python=\"`200`\" pulumi-lang-yaml=\"`200`\" pulumi-lang-java=\"`200`\"\u003e`200`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`403`\" pulumi-lang-dotnet=\"`403`\" pulumi-lang-go=\"`403`\" pulumi-lang-python=\"`403`\" pulumi-lang-yaml=\"`403`\" pulumi-lang-java=\"`403`\"\u003e`403`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`405`\" pulumi-lang-dotnet=\"`405`\" pulumi-lang-go=\"`405`\" pulumi-lang-python=\"`405`\" pulumi-lang-yaml=\"`405`\" pulumi-lang-java=\"`405`\"\u003e`405`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`406`\" pulumi-lang-dotnet=\"`406`\" pulumi-lang-go=\"`406`\" pulumi-lang-python=\"`406`\" pulumi-lang-yaml=\"`406`\" pulumi-lang-java=\"`406`\"\u003e`406`\u003c/span\u003e, or \u003cspan pulumi-lang-nodejs=\"`429`\" pulumi-lang-dotnet=\"`429`\" pulumi-lang-go=\"`429`\" pulumi-lang-python=\"`429`\" pulumi-lang-yaml=\"`429`\" pulumi-lang-java=\"`429`\"\u003e`429`\u003c/span\u003e.\n"},"customRules":{"type":"array","items":{"$ref":"#/types/azure:frontdoor/FirewallPolicyCustomRule:FirewallPolicyCustomRule"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`customRule`\" pulumi-lang-dotnet=\"`CustomRule`\" pulumi-lang-go=\"`customRule`\" pulumi-lang-python=\"`custom_rule`\" pulumi-lang-yaml=\"`customRule`\" pulumi-lang-java=\"`customRule`\"\u003e`custom_rule`\u003c/span\u003e blocks as defined below.\n"},"enabled":{"type":"boolean","description":"Is the policy a enabled state or disabled state. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"managedRules":{"type":"array","items":{"$ref":"#/types/azure:frontdoor/FirewallPolicyManagedRule:FirewallPolicyManagedRule"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`managedRule`\" pulumi-lang-dotnet=\"`ManagedRule`\" pulumi-lang-go=\"`managedRule`\" pulumi-lang-python=\"`managed_rule`\" pulumi-lang-yaml=\"`managedRule`\" pulumi-lang-java=\"`managedRule`\"\u003e`managed_rule`\u003c/span\u003e blocks as defined below.\n"},"mode":{"type":"string","description":"The firewall policy mode. Possible values are `Detection`, `Prevention`. Defaults to `Prevention`.\n"},"name":{"type":"string","description":"The name of the policy. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"redirectUrl":{"type":"string","description":"If action type is redirect, this field represents redirect URL for the client.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the Web Application Firewall Policy.\n"}},"requiredInputs":["resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering FirewallPolicy resources.\n","properties":{"customBlockResponseBody":{"type":"string","description":"If a \u003cspan pulumi-lang-nodejs=\"`customRule`\" pulumi-lang-dotnet=\"`CustomRule`\" pulumi-lang-go=\"`customRule`\" pulumi-lang-python=\"`custom_rule`\" pulumi-lang-yaml=\"`customRule`\" pulumi-lang-java=\"`customRule`\"\u003e`custom_rule`\u003c/span\u003e block's action type is \u003cspan pulumi-lang-nodejs=\"`block`\" pulumi-lang-dotnet=\"`Block`\" pulumi-lang-go=\"`block`\" pulumi-lang-python=\"`block`\" pulumi-lang-yaml=\"`block`\" pulumi-lang-java=\"`block`\"\u003e`block`\u003c/span\u003e, this is the response body. The body must be specified in base64 encoding.\n"},"customBlockResponseStatusCode":{"type":"integer","description":"If a \u003cspan pulumi-lang-nodejs=\"`customRule`\" pulumi-lang-dotnet=\"`CustomRule`\" pulumi-lang-go=\"`customRule`\" pulumi-lang-python=\"`custom_rule`\" pulumi-lang-yaml=\"`customRule`\" pulumi-lang-java=\"`customRule`\"\u003e`custom_rule`\u003c/span\u003e block's action type is \u003cspan pulumi-lang-nodejs=\"`block`\" pulumi-lang-dotnet=\"`Block`\" pulumi-lang-go=\"`block`\" pulumi-lang-python=\"`block`\" pulumi-lang-yaml=\"`block`\" pulumi-lang-java=\"`block`\"\u003e`block`\u003c/span\u003e, this is the response status code. Possible values are \u003cspan pulumi-lang-nodejs=\"`200`\" pulumi-lang-dotnet=\"`200`\" pulumi-lang-go=\"`200`\" pulumi-lang-python=\"`200`\" pulumi-lang-yaml=\"`200`\" pulumi-lang-java=\"`200`\"\u003e`200`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`403`\" pulumi-lang-dotnet=\"`403`\" pulumi-lang-go=\"`403`\" pulumi-lang-python=\"`403`\" pulumi-lang-yaml=\"`403`\" pulumi-lang-java=\"`403`\"\u003e`403`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`405`\" pulumi-lang-dotnet=\"`405`\" pulumi-lang-go=\"`405`\" pulumi-lang-python=\"`405`\" pulumi-lang-yaml=\"`405`\" pulumi-lang-java=\"`405`\"\u003e`405`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`406`\" pulumi-lang-dotnet=\"`406`\" pulumi-lang-go=\"`406`\" pulumi-lang-python=\"`406`\" pulumi-lang-yaml=\"`406`\" pulumi-lang-java=\"`406`\"\u003e`406`\u003c/span\u003e, or \u003cspan pulumi-lang-nodejs=\"`429`\" pulumi-lang-dotnet=\"`429`\" pulumi-lang-go=\"`429`\" pulumi-lang-python=\"`429`\" pulumi-lang-yaml=\"`429`\" pulumi-lang-java=\"`429`\"\u003e`429`\u003c/span\u003e.\n"},"customRules":{"type":"array","items":{"$ref":"#/types/azure:frontdoor/FirewallPolicyCustomRule:FirewallPolicyCustomRule"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`customRule`\" pulumi-lang-dotnet=\"`CustomRule`\" pulumi-lang-go=\"`customRule`\" pulumi-lang-python=\"`custom_rule`\" pulumi-lang-yaml=\"`customRule`\" pulumi-lang-java=\"`customRule`\"\u003e`custom_rule`\u003c/span\u003e blocks as defined below.\n"},"enabled":{"type":"boolean","description":"Is the policy a enabled state or disabled state. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"frontendEndpointIds":{"type":"array","items":{"type":"string"},"description":"The Frontend Endpoints associated with this Front Door Web Application Firewall policy.\n"},"location":{"type":"string","description":"The Azure Region where this Front Door Firewall Policy exists.\n"},"managedRules":{"type":"array","items":{"$ref":"#/types/azure:frontdoor/FirewallPolicyManagedRule:FirewallPolicyManagedRule"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`managedRule`\" pulumi-lang-dotnet=\"`ManagedRule`\" pulumi-lang-go=\"`managedRule`\" pulumi-lang-python=\"`managed_rule`\" pulumi-lang-yaml=\"`managedRule`\" pulumi-lang-java=\"`managedRule`\"\u003e`managed_rule`\u003c/span\u003e blocks as defined below.\n"},"mode":{"type":"string","description":"The firewall policy mode. Possible values are `Detection`, `Prevention`. Defaults to `Prevention`.\n"},"name":{"type":"string","description":"The name of the policy. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"redirectUrl":{"type":"string","description":"If action type is redirect, this field represents redirect URL for the client.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the Web Application Firewall Policy.\n"}},"type":"object"}},"azure:frontdoor/frontdoor:Frontdoor":{"description":"!\u003e **IMPORTANT** This deploys an Azure Front Door (classic) resource which has been deprecated and will receive security updates only. Please migrate your existing Azure Front Door (classic) deployments to the new Azure Front Door (standard/premium) resources. For your convenience, the service team has exposed a `Front Door Classic` to `Front Door Standard/Premium` [migration tool](https://learn.microsoft.com/azure/frontdoor/tier-migration) to allow you to migrate your existing `Front Door Classic` instances to the new `Front Door Standard/Premium` product tiers.\n\nManages an Azure Front Door (classic) instance.\n\nAzure Front Door Service is Microsoft's highly available and scalable web application acceleration platform and global HTTP(S) load balancer. It provides built-in DDoS protection and application layer security and caching. Front Door enables you to build applications that maximize and automate high-availability and performance for your end-users. Use Front Door with Azure services including Web/Mobile Apps, Cloud Services and Virtual Machines – or combine it with on-premises services for hybrid deployments and smooth cloud migration.\n\nBelow are some of the key scenarios that Azure Front Door Service addresses:\n\n* Use Front Door to improve application scale and availability with instant multi-region failover\n* Use Front Door to improve application performance with SSL offload and routing requests to the fastest available application backend.\n* Use Front Door for application layer security and DDoS protection for your application.\n\n!\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`customHttpsProvisioningEnabled`\" pulumi-lang-dotnet=\"`CustomHttpsProvisioningEnabled`\" pulumi-lang-go=\"`customHttpsProvisioningEnabled`\" pulumi-lang-python=\"`custom_https_provisioning_enabled`\" pulumi-lang-yaml=\"`customHttpsProvisioningEnabled`\" pulumi-lang-java=\"`customHttpsProvisioningEnabled`\"\u003e`custom_https_provisioning_enabled`\u003c/span\u003e field and the \u003cspan pulumi-lang-nodejs=\"`customHttpsConfiguration`\" pulumi-lang-dotnet=\"`CustomHttpsConfiguration`\" pulumi-lang-go=\"`customHttpsConfiguration`\" pulumi-lang-python=\"`custom_https_configuration`\" pulumi-lang-yaml=\"`customHttpsConfiguration`\" pulumi-lang-java=\"`customHttpsConfiguration`\"\u003e`custom_https_configuration`\u003c/span\u003e block have been removed from the \u003cspan pulumi-lang-nodejs=\"`azure.frontdoor.Frontdoor`\" pulumi-lang-dotnet=\"`azure.frontdoor.Frontdoor`\" pulumi-lang-go=\"`frontdoor.Frontdoor`\" pulumi-lang-python=\"`frontdoor.Frontdoor`\" pulumi-lang-yaml=\"`azure.frontdoor.Frontdoor`\" pulumi-lang-java=\"`azure.frontdoor.Frontdoor`\"\u003e`azure.frontdoor.Frontdoor`\u003c/span\u003e resource in the `v2.58.0` provider due to changes made by the service team. If you wish to enable the custom HTTPS configuration functionality within your \u003cspan pulumi-lang-nodejs=\"`azure.frontdoor.Frontdoor`\" pulumi-lang-dotnet=\"`azure.frontdoor.Frontdoor`\" pulumi-lang-go=\"`frontdoor.Frontdoor`\" pulumi-lang-python=\"`frontdoor.Frontdoor`\" pulumi-lang-yaml=\"`azure.frontdoor.Frontdoor`\" pulumi-lang-java=\"`azure.frontdoor.Frontdoor`\"\u003e`azure.frontdoor.Frontdoor`\u003c/span\u003e resource moving forward you will need to define a separate \u003cspan pulumi-lang-nodejs=\"`azure.frontdoor.CustomHttpsConfiguration`\" pulumi-lang-dotnet=\"`azure.frontdoor.CustomHttpsConfiguration`\" pulumi-lang-go=\"`frontdoor.CustomHttpsConfiguration`\" pulumi-lang-python=\"`frontdoor.CustomHttpsConfiguration`\" pulumi-lang-yaml=\"`azure.frontdoor.CustomHttpsConfiguration`\" pulumi-lang-java=\"`azure.frontdoor.CustomHttpsConfiguration`\"\u003e`azure.frontdoor.CustomHttpsConfiguration`\u003c/span\u003e block in your configuration file.\n\n!\u003e **Note:** With the release of the `v2.58.0` provider, if you run the \u003cspan pulumi-lang-nodejs=\"`apply`\" pulumi-lang-dotnet=\"`Apply`\" pulumi-lang-go=\"`apply`\" pulumi-lang-python=\"`apply`\" pulumi-lang-yaml=\"`apply`\" pulumi-lang-java=\"`apply`\"\u003e`apply`\u003c/span\u003e command against an existing Front Door resource it **will not** apply the detected changes. Instead it will persist the \u003cspan pulumi-lang-nodejs=\"`explicitResourceOrder`\" pulumi-lang-dotnet=\"`ExplicitResourceOrder`\" pulumi-lang-go=\"`explicitResourceOrder`\" pulumi-lang-python=\"`explicit_resource_order`\" pulumi-lang-yaml=\"`explicitResourceOrder`\" pulumi-lang-java=\"`explicitResourceOrder`\"\u003e`explicit_resource_order`\u003c/span\u003e mapping structure to the state file. Once this operation has completed the resource will resume functioning normally.This change in behavior in Terraform is due to an issue where the underlying service teams API is now returning the response JSON out of order from the way it was sent to the resource via Terraform causing unexpected discrepancies in the \u003cspan pulumi-lang-nodejs=\"`plan`\" pulumi-lang-dotnet=\"`Plan`\" pulumi-lang-go=\"`plan`\" pulumi-lang-python=\"`plan`\" pulumi-lang-yaml=\"`plan`\" pulumi-lang-java=\"`plan`\"\u003e`plan`\u003c/span\u003e after the resource has been provisioned. If your pre-existing Front Door instance contains \u003cspan pulumi-lang-nodejs=\"`customHttpsConfiguration`\" pulumi-lang-dotnet=\"`CustomHttpsConfiguration`\" pulumi-lang-go=\"`customHttpsConfiguration`\" pulumi-lang-python=\"`custom_https_configuration`\" pulumi-lang-yaml=\"`customHttpsConfiguration`\" pulumi-lang-java=\"`customHttpsConfiguration`\"\u003e`custom_https_configuration`\u003c/span\u003e blocks there are additional steps that will need to be completed to successfully migrate your Front Door onto the `v2.58.0` provider which can be found in this guide.\n\n!\u003e **Note:** The creation of new Azure Front Door (classic) resources is no longer supported following its deprecation on `April 1, 2025`. However, modifications to existing Azure Front Door (classic) resources will continue to be supported until the API reaches full retirement on `March 31, 2027`.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"FrontDoorExampleResourceGroup\",\n    location: \"West Europe\",\n});\nconst exampleFrontdoor = new azure.frontdoor.Frontdoor(\"example\", {\n    name: \"example-FrontDoor\",\n    resourceGroupName: example.name,\n    routingRules: [{\n        name: \"exampleRoutingRule1\",\n        acceptedProtocols: [\n            \"Http\",\n            \"Https\",\n        ],\n        patternsToMatches: [\"/*\"],\n        frontendEndpoints: [\"exampleFrontendEndpoint1\"],\n        forwardingConfiguration: {\n            forwardingProtocol: \"MatchRequest\",\n            backendPoolName: \"exampleBackendBing\",\n        },\n    }],\n    backendPoolLoadBalancings: [{\n        name: \"exampleLoadBalancingSettings1\",\n    }],\n    backendPoolHealthProbes: [{\n        name: \"exampleHealthProbeSetting1\",\n    }],\n    backendPools: [{\n        name: \"exampleBackendBing\",\n        backends: [{\n            hostHeader: \"www.bing.com\",\n            address: \"www.bing.com\",\n            httpPort: 80,\n            httpsPort: 443,\n        }],\n        loadBalancingName: \"exampleLoadBalancingSettings1\",\n        healthProbeName: \"exampleHealthProbeSetting1\",\n    }],\n    frontendEndpoints: [{\n        name: \"exampleFrontendEndpoint1\",\n        hostName: \"example-FrontDoor.azurefd.net\",\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"FrontDoorExampleResourceGroup\",\n    location=\"West Europe\")\nexample_frontdoor = azure.frontdoor.Frontdoor(\"example\",\n    name=\"example-FrontDoor\",\n    resource_group_name=example.name,\n    routing_rules=[{\n        \"name\": \"exampleRoutingRule1\",\n        \"accepted_protocols\": [\n            \"Http\",\n            \"Https\",\n        ],\n        \"patterns_to_matches\": [\"/*\"],\n        \"frontend_endpoints\": [\"exampleFrontendEndpoint1\"],\n        \"forwarding_configuration\": {\n            \"forwarding_protocol\": \"MatchRequest\",\n            \"backend_pool_name\": \"exampleBackendBing\",\n        },\n    }],\n    backend_pool_load_balancings=[{\n        \"name\": \"exampleLoadBalancingSettings1\",\n    }],\n    backend_pool_health_probes=[{\n        \"name\": \"exampleHealthProbeSetting1\",\n    }],\n    backend_pools=[{\n        \"name\": \"exampleBackendBing\",\n        \"backends\": [{\n            \"host_header\": \"www.bing.com\",\n            \"address\": \"www.bing.com\",\n            \"http_port\": 80,\n            \"https_port\": 443,\n        }],\n        \"load_balancing_name\": \"exampleLoadBalancingSettings1\",\n        \"health_probe_name\": \"exampleHealthProbeSetting1\",\n    }],\n    frontend_endpoints=[{\n        \"name\": \"exampleFrontendEndpoint1\",\n        \"host_name\": \"example-FrontDoor.azurefd.net\",\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"FrontDoorExampleResourceGroup\",\n        Location = \"West Europe\",\n    });\n\n    var exampleFrontdoor = new Azure.FrontDoor.Frontdoor(\"example\", new()\n    {\n        Name = \"example-FrontDoor\",\n        ResourceGroupName = example.Name,\n        RoutingRules = new[]\n        {\n            new Azure.FrontDoor.Inputs.FrontdoorRoutingRuleArgs\n            {\n                Name = \"exampleRoutingRule1\",\n                AcceptedProtocols = new[]\n                {\n                    \"Http\",\n                    \"Https\",\n                },\n                PatternsToMatches = new[]\n                {\n                    \"/*\",\n                },\n                FrontendEndpoints = new[]\n                {\n                    \"exampleFrontendEndpoint1\",\n                },\n                ForwardingConfiguration = new Azure.FrontDoor.Inputs.FrontdoorRoutingRuleForwardingConfigurationArgs\n                {\n                    ForwardingProtocol = \"MatchRequest\",\n                    BackendPoolName = \"exampleBackendBing\",\n                },\n            },\n        },\n        BackendPoolLoadBalancings = new[]\n        {\n            new Azure.FrontDoor.Inputs.FrontdoorBackendPoolLoadBalancingArgs\n            {\n                Name = \"exampleLoadBalancingSettings1\",\n            },\n        },\n        BackendPoolHealthProbes = new[]\n        {\n            new Azure.FrontDoor.Inputs.FrontdoorBackendPoolHealthProbeArgs\n            {\n                Name = \"exampleHealthProbeSetting1\",\n            },\n        },\n        BackendPools = new[]\n        {\n            new Azure.FrontDoor.Inputs.FrontdoorBackendPoolArgs\n            {\n                Name = \"exampleBackendBing\",\n                Backends = new[]\n                {\n                    new Azure.FrontDoor.Inputs.FrontdoorBackendPoolBackendArgs\n                    {\n                        HostHeader = \"www.bing.com\",\n                        Address = \"www.bing.com\",\n                        HttpPort = 80,\n                        HttpsPort = 443,\n                    },\n                },\n                LoadBalancingName = \"exampleLoadBalancingSettings1\",\n                HealthProbeName = \"exampleHealthProbeSetting1\",\n            },\n        },\n        FrontendEndpoints = new[]\n        {\n            new Azure.FrontDoor.Inputs.FrontdoorFrontendEndpointArgs\n            {\n                Name = \"exampleFrontendEndpoint1\",\n                HostName = \"example-FrontDoor.azurefd.net\",\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/frontdoor\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"FrontDoorExampleResourceGroup\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = frontdoor.NewFrontdoor(ctx, \"example\", \u0026frontdoor.FrontdoorArgs{\n\t\t\tName:              pulumi.String(\"example-FrontDoor\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tRoutingRules: frontdoor.FrontdoorRoutingRuleArray{\n\t\t\t\t\u0026frontdoor.FrontdoorRoutingRuleArgs{\n\t\t\t\t\tName: pulumi.String(\"exampleRoutingRule1\"),\n\t\t\t\t\tAcceptedProtocols: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"Http\"),\n\t\t\t\t\t\tpulumi.String(\"Https\"),\n\t\t\t\t\t},\n\t\t\t\t\tPatternsToMatches: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"/*\"),\n\t\t\t\t\t},\n\t\t\t\t\tFrontendEndpoints: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"exampleFrontendEndpoint1\"),\n\t\t\t\t\t},\n\t\t\t\t\tForwardingConfiguration: \u0026frontdoor.FrontdoorRoutingRuleForwardingConfigurationArgs{\n\t\t\t\t\t\tForwardingProtocol: pulumi.String(\"MatchRequest\"),\n\t\t\t\t\t\tBackendPoolName:    pulumi.String(\"exampleBackendBing\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tBackendPoolLoadBalancings: frontdoor.FrontdoorBackendPoolLoadBalancingArray{\n\t\t\t\t\u0026frontdoor.FrontdoorBackendPoolLoadBalancingArgs{\n\t\t\t\t\tName: pulumi.String(\"exampleLoadBalancingSettings1\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tBackendPoolHealthProbes: frontdoor.FrontdoorBackendPoolHealthProbeArray{\n\t\t\t\t\u0026frontdoor.FrontdoorBackendPoolHealthProbeArgs{\n\t\t\t\t\tName: pulumi.String(\"exampleHealthProbeSetting1\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tBackendPools: frontdoor.FrontdoorBackendPoolArray{\n\t\t\t\t\u0026frontdoor.FrontdoorBackendPoolArgs{\n\t\t\t\t\tName: pulumi.String(\"exampleBackendBing\"),\n\t\t\t\t\tBackends: frontdoor.FrontdoorBackendPoolBackendArray{\n\t\t\t\t\t\t\u0026frontdoor.FrontdoorBackendPoolBackendArgs{\n\t\t\t\t\t\t\tHostHeader: pulumi.String(\"www.bing.com\"),\n\t\t\t\t\t\t\tAddress:    pulumi.String(\"www.bing.com\"),\n\t\t\t\t\t\t\tHttpPort:   pulumi.Int(80),\n\t\t\t\t\t\t\tHttpsPort:  pulumi.Int(443),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tLoadBalancingName: pulumi.String(\"exampleLoadBalancingSettings1\"),\n\t\t\t\t\tHealthProbeName:   pulumi.String(\"exampleHealthProbeSetting1\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tFrontendEndpoints: frontdoor.FrontdoorFrontendEndpointArray{\n\t\t\t\t\u0026frontdoor.FrontdoorFrontendEndpointArgs{\n\t\t\t\t\tName:     pulumi.String(\"exampleFrontendEndpoint1\"),\n\t\t\t\t\tHostName: pulumi.String(\"example-FrontDoor.azurefd.net\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.frontdoor.Frontdoor;\nimport com.pulumi.azure.frontdoor.FrontdoorArgs;\nimport com.pulumi.azure.frontdoor.inputs.FrontdoorRoutingRuleArgs;\nimport com.pulumi.azure.frontdoor.inputs.FrontdoorRoutingRuleForwardingConfigurationArgs;\nimport com.pulumi.azure.frontdoor.inputs.FrontdoorBackendPoolLoadBalancingArgs;\nimport com.pulumi.azure.frontdoor.inputs.FrontdoorBackendPoolHealthProbeArgs;\nimport com.pulumi.azure.frontdoor.inputs.FrontdoorBackendPoolArgs;\nimport com.pulumi.azure.frontdoor.inputs.FrontdoorFrontendEndpointArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"FrontDoorExampleResourceGroup\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleFrontdoor = new Frontdoor(\"exampleFrontdoor\", FrontdoorArgs.builder()\n            .name(\"example-FrontDoor\")\n            .resourceGroupName(example.name())\n            .routingRules(FrontdoorRoutingRuleArgs.builder()\n                .name(\"exampleRoutingRule1\")\n                .acceptedProtocols(                \n                    \"Http\",\n                    \"Https\")\n                .patternsToMatches(\"/*\")\n                .frontendEndpoints(\"exampleFrontendEndpoint1\")\n                .forwardingConfiguration(FrontdoorRoutingRuleForwardingConfigurationArgs.builder()\n                    .forwardingProtocol(\"MatchRequest\")\n                    .backendPoolName(\"exampleBackendBing\")\n                    .build())\n                .build())\n            .backendPoolLoadBalancings(FrontdoorBackendPoolLoadBalancingArgs.builder()\n                .name(\"exampleLoadBalancingSettings1\")\n                .build())\n            .backendPoolHealthProbes(FrontdoorBackendPoolHealthProbeArgs.builder()\n                .name(\"exampleHealthProbeSetting1\")\n                .build())\n            .backendPools(FrontdoorBackendPoolArgs.builder()\n                .name(\"exampleBackendBing\")\n                .backends(FrontdoorBackendPoolBackendArgs.builder()\n                    .hostHeader(\"www.bing.com\")\n                    .address(\"www.bing.com\")\n                    .httpPort(80)\n                    .httpsPort(443)\n                    .build())\n                .loadBalancingName(\"exampleLoadBalancingSettings1\")\n                .healthProbeName(\"exampleHealthProbeSetting1\")\n                .build())\n            .frontendEndpoints(FrontdoorFrontendEndpointArgs.builder()\n                .name(\"exampleFrontendEndpoint1\")\n                .hostName(\"example-FrontDoor.azurefd.net\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: FrontDoorExampleResourceGroup\n      location: West Europe\n  exampleFrontdoor:\n    type: azure:frontdoor:Frontdoor\n    name: example\n    properties:\n      name: example-FrontDoor\n      resourceGroupName: ${example.name}\n      routingRules:\n        - name: exampleRoutingRule1\n          acceptedProtocols:\n            - Http\n            - Https\n          patternsToMatches:\n            - /*\n          frontendEndpoints:\n            - exampleFrontendEndpoint1\n          forwardingConfiguration:\n            forwardingProtocol: MatchRequest\n            backendPoolName: exampleBackendBing\n      backendPoolLoadBalancings:\n        - name: exampleLoadBalancingSettings1\n      backendPoolHealthProbes:\n        - name: exampleHealthProbeSetting1\n      backendPools:\n        - name: exampleBackendBing\n          backends:\n            - hostHeader: www.bing.com\n              address: www.bing.com\n              httpPort: 80\n              httpsPort: 443\n          loadBalancingName: exampleLoadBalancingSettings1\n          healthProbeName: exampleHealthProbeSetting1\n      frontendEndpoints:\n        - name: exampleFrontendEndpoint1\n          hostName: example-FrontDoor.azurefd.net\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nFront Doors can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:frontdoor/frontdoor:Frontdoor example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Network/frontDoors/frontdoor1\n```\n\n","properties":{"backendPoolHealthProbes":{"type":"array","items":{"$ref":"#/types/azure:frontdoor/FrontdoorBackendPoolHealthProbe:FrontdoorBackendPoolHealthProbe"},"description":"A \u003cspan pulumi-lang-nodejs=\"`backendPoolHealthProbe`\" pulumi-lang-dotnet=\"`BackendPoolHealthProbe`\" pulumi-lang-go=\"`backendPoolHealthProbe`\" pulumi-lang-python=\"`backend_pool_health_probe`\" pulumi-lang-yaml=\"`backendPoolHealthProbe`\" pulumi-lang-java=\"`backendPoolHealthProbe`\"\u003e`backend_pool_health_probe`\u003c/span\u003e block as defined below.\n"},"backendPoolHealthProbesMap":{"type":"object","additionalProperties":{"type":"string"},"description":"A map/dictionary of Backend Pool Health Probe Names (key) to the Backend Pool Health Probe ID (value)\n"},"backendPoolLoadBalancingSettingsMap":{"type":"object","additionalProperties":{"type":"string"},"description":"A map/dictionary of Backend Pool Load Balancing Setting Names (key) to the Backend Pool Load Balancing Setting ID (value)\n"},"backendPoolLoadBalancings":{"type":"array","items":{"$ref":"#/types/azure:frontdoor/FrontdoorBackendPoolLoadBalancing:FrontdoorBackendPoolLoadBalancing"},"description":"A \u003cspan pulumi-lang-nodejs=\"`backendPoolLoadBalancing`\" pulumi-lang-dotnet=\"`BackendPoolLoadBalancing`\" pulumi-lang-go=\"`backendPoolLoadBalancing`\" pulumi-lang-python=\"`backend_pool_load_balancing`\" pulumi-lang-yaml=\"`backendPoolLoadBalancing`\" pulumi-lang-java=\"`backendPoolLoadBalancing`\"\u003e`backend_pool_load_balancing`\u003c/span\u003e block as defined below.\n"},"backendPoolSettings":{"type":"array","items":{"$ref":"#/types/azure:frontdoor/FrontdoorBackendPoolSetting:FrontdoorBackendPoolSetting"},"description":"A \u003cspan pulumi-lang-nodejs=\"`backendPoolSettings`\" pulumi-lang-dotnet=\"`BackendPoolSettings`\" pulumi-lang-go=\"`backendPoolSettings`\" pulumi-lang-python=\"`backend_pool_settings`\" pulumi-lang-yaml=\"`backendPoolSettings`\" pulumi-lang-java=\"`backendPoolSettings`\"\u003e`backend_pool_settings`\u003c/span\u003e block as defined below.\n"},"backendPools":{"type":"array","items":{"$ref":"#/types/azure:frontdoor/FrontdoorBackendPool:FrontdoorBackendPool"},"description":"A \u003cspan pulumi-lang-nodejs=\"`backendPool`\" pulumi-lang-dotnet=\"`BackendPool`\" pulumi-lang-go=\"`backendPool`\" pulumi-lang-python=\"`backend_pool`\" pulumi-lang-yaml=\"`backendPool`\" pulumi-lang-java=\"`backendPool`\"\u003e`backend_pool`\u003c/span\u003e block as defined below.\n\n\u003e Azure by default allows specifying up to 50 Backend Pools - but this quota can be increased via Microsoft Support.\n"},"backendPoolsMap":{"type":"object","additionalProperties":{"type":"string"},"description":"A map/dictionary of Backend Pool Names (key) to the Backend Pool ID (value)\n"},"cname":{"type":"string","description":"The host that each frontendEndpoint must CNAME to.\n"},"explicitResourceOrders":{"type":"array","items":{"$ref":"#/types/azure:frontdoor/FrontdoorExplicitResourceOrder:FrontdoorExplicitResourceOrder"}},"friendlyName":{"type":"string","description":"A friendly name for the Front Door service.\n"},"frontendEndpoints":{"type":"array","items":{"$ref":"#/types/azure:frontdoor/FrontdoorFrontendEndpoint:FrontdoorFrontendEndpoint"},"description":"A \u003cspan pulumi-lang-nodejs=\"`frontendEndpoint`\" pulumi-lang-dotnet=\"`FrontendEndpoint`\" pulumi-lang-go=\"`frontendEndpoint`\" pulumi-lang-python=\"`frontend_endpoint`\" pulumi-lang-yaml=\"`frontendEndpoint`\" pulumi-lang-java=\"`frontendEndpoint`\"\u003e`frontend_endpoint`\u003c/span\u003e block as defined below.\n"},"frontendEndpointsMap":{"type":"object","additionalProperties":{"type":"string"},"description":"A map/dictionary of Frontend Endpoint Names (key) to the Frontend Endpoint ID (value)\n"},"headerFrontdoorId":{"type":"string","description":"The unique ID of the Front Door which is embedded into the incoming headers `X-Azure-FDID` attribute and maybe used to filter traffic sent by the Front Door to your backend.\n"},"loadBalancerEnabled":{"type":"boolean","description":"Should the Front Door Load Balancer be Enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"name":{"type":"string","description":"Specifies the name of the Front Door service. Must be globally unique. Changing this forces a new resource to be created.\n"},"resourceGroupName":{"type":"string","description":"Specifies the name of the Resource Group in which the Front Door service should exist. Changing this forces a new resource to be created.\n"},"routingRules":{"type":"array","items":{"$ref":"#/types/azure:frontdoor/FrontdoorRoutingRule:FrontdoorRoutingRule"},"description":"A \u003cspan pulumi-lang-nodejs=\"`routingRule`\" pulumi-lang-dotnet=\"`RoutingRule`\" pulumi-lang-go=\"`routingRule`\" pulumi-lang-python=\"`routing_rule`\" pulumi-lang-yaml=\"`routingRule`\" pulumi-lang-java=\"`routingRule`\"\u003e`routing_rule`\u003c/span\u003e block as defined below.\n"},"routingRulesMap":{"type":"object","additionalProperties":{"type":"string"},"description":"A map/dictionary of Routing Rule Names (key) to the Routing Rule ID (value)\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"required":["backendPools","backendPoolHealthProbes","backendPoolHealthProbesMap","backendPoolLoadBalancings","backendPoolLoadBalancingSettingsMap","backendPoolSettings","backendPoolsMap","cname","explicitResourceOrders","frontendEndpoints","frontendEndpointsMap","headerFrontdoorId","name","resourceGroupName","routingRules","routingRulesMap"],"inputProperties":{"backendPoolHealthProbes":{"type":"array","items":{"$ref":"#/types/azure:frontdoor/FrontdoorBackendPoolHealthProbe:FrontdoorBackendPoolHealthProbe"},"description":"A \u003cspan pulumi-lang-nodejs=\"`backendPoolHealthProbe`\" pulumi-lang-dotnet=\"`BackendPoolHealthProbe`\" pulumi-lang-go=\"`backendPoolHealthProbe`\" pulumi-lang-python=\"`backend_pool_health_probe`\" pulumi-lang-yaml=\"`backendPoolHealthProbe`\" pulumi-lang-java=\"`backendPoolHealthProbe`\"\u003e`backend_pool_health_probe`\u003c/span\u003e block as defined below.\n"},"backendPoolLoadBalancings":{"type":"array","items":{"$ref":"#/types/azure:frontdoor/FrontdoorBackendPoolLoadBalancing:FrontdoorBackendPoolLoadBalancing"},"description":"A \u003cspan pulumi-lang-nodejs=\"`backendPoolLoadBalancing`\" pulumi-lang-dotnet=\"`BackendPoolLoadBalancing`\" pulumi-lang-go=\"`backendPoolLoadBalancing`\" pulumi-lang-python=\"`backend_pool_load_balancing`\" pulumi-lang-yaml=\"`backendPoolLoadBalancing`\" pulumi-lang-java=\"`backendPoolLoadBalancing`\"\u003e`backend_pool_load_balancing`\u003c/span\u003e block as defined below.\n"},"backendPoolSettings":{"type":"array","items":{"$ref":"#/types/azure:frontdoor/FrontdoorBackendPoolSetting:FrontdoorBackendPoolSetting"},"description":"A \u003cspan pulumi-lang-nodejs=\"`backendPoolSettings`\" pulumi-lang-dotnet=\"`BackendPoolSettings`\" pulumi-lang-go=\"`backendPoolSettings`\" pulumi-lang-python=\"`backend_pool_settings`\" pulumi-lang-yaml=\"`backendPoolSettings`\" pulumi-lang-java=\"`backendPoolSettings`\"\u003e`backend_pool_settings`\u003c/span\u003e block as defined below.\n"},"backendPools":{"type":"array","items":{"$ref":"#/types/azure:frontdoor/FrontdoorBackendPool:FrontdoorBackendPool"},"description":"A \u003cspan pulumi-lang-nodejs=\"`backendPool`\" pulumi-lang-dotnet=\"`BackendPool`\" pulumi-lang-go=\"`backendPool`\" pulumi-lang-python=\"`backend_pool`\" pulumi-lang-yaml=\"`backendPool`\" pulumi-lang-java=\"`backendPool`\"\u003e`backend_pool`\u003c/span\u003e block as defined below.\n\n\u003e Azure by default allows specifying up to 50 Backend Pools - but this quota can be increased via Microsoft Support.\n"},"friendlyName":{"type":"string","description":"A friendly name for the Front Door service.\n"},"frontendEndpoints":{"type":"array","items":{"$ref":"#/types/azure:frontdoor/FrontdoorFrontendEndpoint:FrontdoorFrontendEndpoint"},"description":"A \u003cspan pulumi-lang-nodejs=\"`frontendEndpoint`\" pulumi-lang-dotnet=\"`FrontendEndpoint`\" pulumi-lang-go=\"`frontendEndpoint`\" pulumi-lang-python=\"`frontend_endpoint`\" pulumi-lang-yaml=\"`frontendEndpoint`\" pulumi-lang-java=\"`frontendEndpoint`\"\u003e`frontend_endpoint`\u003c/span\u003e block as defined below.\n"},"loadBalancerEnabled":{"type":"boolean","description":"Should the Front Door Load Balancer be Enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"name":{"type":"string","description":"Specifies the name of the Front Door service. Must be globally unique. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"Specifies the name of the Resource Group in which the Front Door service should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"routingRules":{"type":"array","items":{"$ref":"#/types/azure:frontdoor/FrontdoorRoutingRule:FrontdoorRoutingRule"},"description":"A \u003cspan pulumi-lang-nodejs=\"`routingRule`\" pulumi-lang-dotnet=\"`RoutingRule`\" pulumi-lang-go=\"`routingRule`\" pulumi-lang-python=\"`routing_rule`\" pulumi-lang-yaml=\"`routingRule`\" pulumi-lang-java=\"`routingRule`\"\u003e`routing_rule`\u003c/span\u003e block as defined below.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"requiredInputs":["backendPools","backendPoolHealthProbes","backendPoolLoadBalancings","frontendEndpoints","resourceGroupName","routingRules"],"stateInputs":{"description":"Input properties used for looking up and filtering Frontdoor resources.\n","properties":{"backendPoolHealthProbes":{"type":"array","items":{"$ref":"#/types/azure:frontdoor/FrontdoorBackendPoolHealthProbe:FrontdoorBackendPoolHealthProbe"},"description":"A \u003cspan pulumi-lang-nodejs=\"`backendPoolHealthProbe`\" pulumi-lang-dotnet=\"`BackendPoolHealthProbe`\" pulumi-lang-go=\"`backendPoolHealthProbe`\" pulumi-lang-python=\"`backend_pool_health_probe`\" pulumi-lang-yaml=\"`backendPoolHealthProbe`\" pulumi-lang-java=\"`backendPoolHealthProbe`\"\u003e`backend_pool_health_probe`\u003c/span\u003e block as defined below.\n"},"backendPoolHealthProbesMap":{"type":"object","additionalProperties":{"type":"string"},"description":"A map/dictionary of Backend Pool Health Probe Names (key) to the Backend Pool Health Probe ID (value)\n"},"backendPoolLoadBalancingSettingsMap":{"type":"object","additionalProperties":{"type":"string"},"description":"A map/dictionary of Backend Pool Load Balancing Setting Names (key) to the Backend Pool Load Balancing Setting ID (value)\n"},"backendPoolLoadBalancings":{"type":"array","items":{"$ref":"#/types/azure:frontdoor/FrontdoorBackendPoolLoadBalancing:FrontdoorBackendPoolLoadBalancing"},"description":"A \u003cspan pulumi-lang-nodejs=\"`backendPoolLoadBalancing`\" pulumi-lang-dotnet=\"`BackendPoolLoadBalancing`\" pulumi-lang-go=\"`backendPoolLoadBalancing`\" pulumi-lang-python=\"`backend_pool_load_balancing`\" pulumi-lang-yaml=\"`backendPoolLoadBalancing`\" pulumi-lang-java=\"`backendPoolLoadBalancing`\"\u003e`backend_pool_load_balancing`\u003c/span\u003e block as defined below.\n"},"backendPoolSettings":{"type":"array","items":{"$ref":"#/types/azure:frontdoor/FrontdoorBackendPoolSetting:FrontdoorBackendPoolSetting"},"description":"A \u003cspan pulumi-lang-nodejs=\"`backendPoolSettings`\" pulumi-lang-dotnet=\"`BackendPoolSettings`\" pulumi-lang-go=\"`backendPoolSettings`\" pulumi-lang-python=\"`backend_pool_settings`\" pulumi-lang-yaml=\"`backendPoolSettings`\" pulumi-lang-java=\"`backendPoolSettings`\"\u003e`backend_pool_settings`\u003c/span\u003e block as defined below.\n"},"backendPools":{"type":"array","items":{"$ref":"#/types/azure:frontdoor/FrontdoorBackendPool:FrontdoorBackendPool"},"description":"A \u003cspan pulumi-lang-nodejs=\"`backendPool`\" pulumi-lang-dotnet=\"`BackendPool`\" pulumi-lang-go=\"`backendPool`\" pulumi-lang-python=\"`backend_pool`\" pulumi-lang-yaml=\"`backendPool`\" pulumi-lang-java=\"`backendPool`\"\u003e`backend_pool`\u003c/span\u003e block as defined below.\n\n\u003e Azure by default allows specifying up to 50 Backend Pools - but this quota can be increased via Microsoft Support.\n"},"backendPoolsMap":{"type":"object","additionalProperties":{"type":"string"},"description":"A map/dictionary of Backend Pool Names (key) to the Backend Pool ID (value)\n"},"cname":{"type":"string","description":"The host that each frontendEndpoint must CNAME to.\n"},"explicitResourceOrders":{"type":"array","items":{"$ref":"#/types/azure:frontdoor/FrontdoorExplicitResourceOrder:FrontdoorExplicitResourceOrder"}},"friendlyName":{"type":"string","description":"A friendly name for the Front Door service.\n"},"frontendEndpoints":{"type":"array","items":{"$ref":"#/types/azure:frontdoor/FrontdoorFrontendEndpoint:FrontdoorFrontendEndpoint"},"description":"A \u003cspan pulumi-lang-nodejs=\"`frontendEndpoint`\" pulumi-lang-dotnet=\"`FrontendEndpoint`\" pulumi-lang-go=\"`frontendEndpoint`\" pulumi-lang-python=\"`frontend_endpoint`\" pulumi-lang-yaml=\"`frontendEndpoint`\" pulumi-lang-java=\"`frontendEndpoint`\"\u003e`frontend_endpoint`\u003c/span\u003e block as defined below.\n"},"frontendEndpointsMap":{"type":"object","additionalProperties":{"type":"string"},"description":"A map/dictionary of Frontend Endpoint Names (key) to the Frontend Endpoint ID (value)\n"},"headerFrontdoorId":{"type":"string","description":"The unique ID of the Front Door which is embedded into the incoming headers `X-Azure-FDID` attribute and maybe used to filter traffic sent by the Front Door to your backend.\n"},"loadBalancerEnabled":{"type":"boolean","description":"Should the Front Door Load Balancer be Enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"name":{"type":"string","description":"Specifies the name of the Front Door service. Must be globally unique. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"Specifies the name of the Resource Group in which the Front Door service should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"routingRules":{"type":"array","items":{"$ref":"#/types/azure:frontdoor/FrontdoorRoutingRule:FrontdoorRoutingRule"},"description":"A \u003cspan pulumi-lang-nodejs=\"`routingRule`\" pulumi-lang-dotnet=\"`RoutingRule`\" pulumi-lang-go=\"`routingRule`\" pulumi-lang-python=\"`routing_rule`\" pulumi-lang-yaml=\"`routingRule`\" pulumi-lang-java=\"`routingRule`\"\u003e`routing_rule`\u003c/span\u003e block as defined below.\n"},"routingRulesMap":{"type":"object","additionalProperties":{"type":"string"},"description":"A map/dictionary of Routing Rule Names (key) to the Routing Rule ID (value)\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"type":"object"}},"azure:frontdoor/rulesEngine:RulesEngine":{"description":"!\u003e **Note:** This deploys an Azure Front Door (classic) resource which has been deprecated and will receive security updates only. Please migrate your existing Azure Front Door (classic) deployments to the new Azure Front Door (standard/premium) resources. For your convenience, the service team has exposed a `Front Door Classic` to `Front Door Standard/Premium` [migration tool](https://learn.microsoft.com/azure/frontdoor/tier-migration) to allow you to migrate your existing `Front Door Classic` instances to the new `Front Door Standard/Premium` product tiers.\n\n!\u003e **Note:** The creation of new Azure Front Door (classic) resources is no longer supported following its deprecation on `April 1, 2025`. However, modifications to existing Azure Front Door (classic) resources will continue to be supported until the API reaches full retirement on `March 31, 2027`.\n\nManages an Azure Front Door (classic) Rules Engine configuration and rules.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-rg\",\n    location: \"West Europe\",\n});\nconst exampleFrontdoor = new azure.frontdoor.Frontdoor(\"example\", {\n    name: \"example\",\n    resourceGroupName: example.name,\n    backendPools: [{\n        name: \"exampleBackendBing\",\n        loadBalancingName: \"exampleLoadBalancingSettings1\",\n        healthProbeName: \"exampleHealthProbeSetting1\",\n        backends: [{\n            hostHeader: \"www.bing.com\",\n            address: \"www.bing.com\",\n            httpPort: 80,\n            httpsPort: 443,\n        }],\n    }],\n    backendPoolHealthProbes: [{\n        name: \"exampleHealthProbeSetting1\",\n    }],\n    backendPoolLoadBalancings: [{\n        name: \"exampleLoadBalancingSettings1\",\n    }],\n    frontendEndpoints: [{\n        name: \"exampleFrontendEndpoint1\",\n        hostName: \"example-FrontDoor.azurefd.net\",\n    }],\n    routingRules: [{\n        name: \"exampleRoutingRule1\",\n        acceptedProtocols: [\n            \"Http\",\n            \"Https\",\n        ],\n        patternsToMatches: [\"/*\"],\n        frontendEndpoints: [\"exampleFrontendEndpoint1\"],\n    }],\n});\nconst exampleRulesEngine = new azure.frontdoor.RulesEngine(\"example_rules_engine\", {\n    name: \"exampleRulesEngineConfig1\",\n    frontdoorName: exampleFrontdoor.name,\n    resourceGroupName: exampleFrontdoor.resourceGroupName,\n    rules: [\n        {\n            name: \"debuggingoutput\",\n            priority: 1,\n            action: {\n                responseHeaders: [{\n                    headerActionType: \"Append\",\n                    headerName: \"X-TEST-HEADER\",\n                    value: \"Append Header Rule\",\n                }],\n            },\n        },\n        {\n            name: \"overwriteorigin\",\n            priority: 2,\n            matchConditions: [{\n                variable: \"RequestMethod\",\n                operator: \"Equal\",\n                values: [\n                    \"GET\",\n                    \"POST\",\n                ],\n            }],\n            action: {\n                responseHeaders: [\n                    {\n                        headerActionType: \"Overwrite\",\n                        headerName: \"Access-Control-Allow-Origin\",\n                        value: \"*\",\n                    },\n                    {\n                        headerActionType: \"Overwrite\",\n                        headerName: \"Access-Control-Allow-Credentials\",\n                        value: \"true\",\n                    },\n                ],\n            },\n        },\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-rg\",\n    location=\"West Europe\")\nexample_frontdoor = azure.frontdoor.Frontdoor(\"example\",\n    name=\"example\",\n    resource_group_name=example.name,\n    backend_pools=[{\n        \"name\": \"exampleBackendBing\",\n        \"load_balancing_name\": \"exampleLoadBalancingSettings1\",\n        \"health_probe_name\": \"exampleHealthProbeSetting1\",\n        \"backends\": [{\n            \"host_header\": \"www.bing.com\",\n            \"address\": \"www.bing.com\",\n            \"http_port\": 80,\n            \"https_port\": 443,\n        }],\n    }],\n    backend_pool_health_probes=[{\n        \"name\": \"exampleHealthProbeSetting1\",\n    }],\n    backend_pool_load_balancings=[{\n        \"name\": \"exampleLoadBalancingSettings1\",\n    }],\n    frontend_endpoints=[{\n        \"name\": \"exampleFrontendEndpoint1\",\n        \"host_name\": \"example-FrontDoor.azurefd.net\",\n    }],\n    routing_rules=[{\n        \"name\": \"exampleRoutingRule1\",\n        \"accepted_protocols\": [\n            \"Http\",\n            \"Https\",\n        ],\n        \"patterns_to_matches\": [\"/*\"],\n        \"frontend_endpoints\": [\"exampleFrontendEndpoint1\"],\n    }])\nexample_rules_engine = azure.frontdoor.RulesEngine(\"example_rules_engine\",\n    name=\"exampleRulesEngineConfig1\",\n    frontdoor_name=example_frontdoor.name,\n    resource_group_name=example_frontdoor.resource_group_name,\n    rules=[\n        {\n            \"name\": \"debuggingoutput\",\n            \"priority\": 1,\n            \"action\": {\n                \"response_headers\": [{\n                    \"header_action_type\": \"Append\",\n                    \"header_name\": \"X-TEST-HEADER\",\n                    \"value\": \"Append Header Rule\",\n                }],\n            },\n        },\n        {\n            \"name\": \"overwriteorigin\",\n            \"priority\": 2,\n            \"match_conditions\": [{\n                \"variable\": \"RequestMethod\",\n                \"operator\": \"Equal\",\n                \"values\": [\n                    \"GET\",\n                    \"POST\",\n                ],\n            }],\n            \"action\": {\n                \"response_headers\": [\n                    {\n                        \"header_action_type\": \"Overwrite\",\n                        \"header_name\": \"Access-Control-Allow-Origin\",\n                        \"value\": \"*\",\n                    },\n                    {\n                        \"header_action_type\": \"Overwrite\",\n                        \"header_name\": \"Access-Control-Allow-Credentials\",\n                        \"value\": \"true\",\n                    },\n                ],\n            },\n        },\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-rg\",\n        Location = \"West Europe\",\n    });\n\n    var exampleFrontdoor = new Azure.FrontDoor.Frontdoor(\"example\", new()\n    {\n        Name = \"example\",\n        ResourceGroupName = example.Name,\n        BackendPools = new[]\n        {\n            new Azure.FrontDoor.Inputs.FrontdoorBackendPoolArgs\n            {\n                Name = \"exampleBackendBing\",\n                LoadBalancingName = \"exampleLoadBalancingSettings1\",\n                HealthProbeName = \"exampleHealthProbeSetting1\",\n                Backends = new[]\n                {\n                    new Azure.FrontDoor.Inputs.FrontdoorBackendPoolBackendArgs\n                    {\n                        HostHeader = \"www.bing.com\",\n                        Address = \"www.bing.com\",\n                        HttpPort = 80,\n                        HttpsPort = 443,\n                    },\n                },\n            },\n        },\n        BackendPoolHealthProbes = new[]\n        {\n            new Azure.FrontDoor.Inputs.FrontdoorBackendPoolHealthProbeArgs\n            {\n                Name = \"exampleHealthProbeSetting1\",\n            },\n        },\n        BackendPoolLoadBalancings = new[]\n        {\n            new Azure.FrontDoor.Inputs.FrontdoorBackendPoolLoadBalancingArgs\n            {\n                Name = \"exampleLoadBalancingSettings1\",\n            },\n        },\n        FrontendEndpoints = new[]\n        {\n            new Azure.FrontDoor.Inputs.FrontdoorFrontendEndpointArgs\n            {\n                Name = \"exampleFrontendEndpoint1\",\n                HostName = \"example-FrontDoor.azurefd.net\",\n            },\n        },\n        RoutingRules = new[]\n        {\n            new Azure.FrontDoor.Inputs.FrontdoorRoutingRuleArgs\n            {\n                Name = \"exampleRoutingRule1\",\n                AcceptedProtocols = new[]\n                {\n                    \"Http\",\n                    \"Https\",\n                },\n                PatternsToMatches = new[]\n                {\n                    \"/*\",\n                },\n                FrontendEndpoints = new[]\n                {\n                    \"exampleFrontendEndpoint1\",\n                },\n            },\n        },\n    });\n\n    var exampleRulesEngine = new Azure.FrontDoor.RulesEngine(\"example_rules_engine\", new()\n    {\n        Name = \"exampleRulesEngineConfig1\",\n        FrontdoorName = exampleFrontdoor.Name,\n        ResourceGroupName = exampleFrontdoor.ResourceGroupName,\n        Rules = new[]\n        {\n            new Azure.FrontDoor.Inputs.RulesEngineRuleArgs\n            {\n                Name = \"debuggingoutput\",\n                Priority = 1,\n                Action = new Azure.FrontDoor.Inputs.RulesEngineRuleActionArgs\n                {\n                    ResponseHeaders = new[]\n                    {\n                        new Azure.FrontDoor.Inputs.RulesEngineRuleActionResponseHeaderArgs\n                        {\n                            HeaderActionType = \"Append\",\n                            HeaderName = \"X-TEST-HEADER\",\n                            Value = \"Append Header Rule\",\n                        },\n                    },\n                },\n            },\n            new Azure.FrontDoor.Inputs.RulesEngineRuleArgs\n            {\n                Name = \"overwriteorigin\",\n                Priority = 2,\n                MatchConditions = new[]\n                {\n                    new Azure.FrontDoor.Inputs.RulesEngineRuleMatchConditionArgs\n                    {\n                        Variable = \"RequestMethod\",\n                        Operator = \"Equal\",\n                        Values = new[]\n                        {\n                            \"GET\",\n                            \"POST\",\n                        },\n                    },\n                },\n                Action = new Azure.FrontDoor.Inputs.RulesEngineRuleActionArgs\n                {\n                    ResponseHeaders = new[]\n                    {\n                        new Azure.FrontDoor.Inputs.RulesEngineRuleActionResponseHeaderArgs\n                        {\n                            HeaderActionType = \"Overwrite\",\n                            HeaderName = \"Access-Control-Allow-Origin\",\n                            Value = \"*\",\n                        },\n                        new Azure.FrontDoor.Inputs.RulesEngineRuleActionResponseHeaderArgs\n                        {\n                            HeaderActionType = \"Overwrite\",\n                            HeaderName = \"Access-Control-Allow-Credentials\",\n                            Value = \"true\",\n                        },\n                    },\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/frontdoor\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-rg\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleFrontdoor, err := frontdoor.NewFrontdoor(ctx, \"example\", \u0026frontdoor.FrontdoorArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tBackendPools: frontdoor.FrontdoorBackendPoolArray{\n\t\t\t\t\u0026frontdoor.FrontdoorBackendPoolArgs{\n\t\t\t\t\tName:              pulumi.String(\"exampleBackendBing\"),\n\t\t\t\t\tLoadBalancingName: pulumi.String(\"exampleLoadBalancingSettings1\"),\n\t\t\t\t\tHealthProbeName:   pulumi.String(\"exampleHealthProbeSetting1\"),\n\t\t\t\t\tBackends: frontdoor.FrontdoorBackendPoolBackendArray{\n\t\t\t\t\t\t\u0026frontdoor.FrontdoorBackendPoolBackendArgs{\n\t\t\t\t\t\t\tHostHeader: pulumi.String(\"www.bing.com\"),\n\t\t\t\t\t\t\tAddress:    pulumi.String(\"www.bing.com\"),\n\t\t\t\t\t\t\tHttpPort:   pulumi.Int(80),\n\t\t\t\t\t\t\tHttpsPort:  pulumi.Int(443),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tBackendPoolHealthProbes: frontdoor.FrontdoorBackendPoolHealthProbeArray{\n\t\t\t\t\u0026frontdoor.FrontdoorBackendPoolHealthProbeArgs{\n\t\t\t\t\tName: pulumi.String(\"exampleHealthProbeSetting1\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tBackendPoolLoadBalancings: frontdoor.FrontdoorBackendPoolLoadBalancingArray{\n\t\t\t\t\u0026frontdoor.FrontdoorBackendPoolLoadBalancingArgs{\n\t\t\t\t\tName: pulumi.String(\"exampleLoadBalancingSettings1\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tFrontendEndpoints: frontdoor.FrontdoorFrontendEndpointArray{\n\t\t\t\t\u0026frontdoor.FrontdoorFrontendEndpointArgs{\n\t\t\t\t\tName:     pulumi.String(\"exampleFrontendEndpoint1\"),\n\t\t\t\t\tHostName: pulumi.String(\"example-FrontDoor.azurefd.net\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tRoutingRules: frontdoor.FrontdoorRoutingRuleArray{\n\t\t\t\t\u0026frontdoor.FrontdoorRoutingRuleArgs{\n\t\t\t\t\tName: pulumi.String(\"exampleRoutingRule1\"),\n\t\t\t\t\tAcceptedProtocols: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"Http\"),\n\t\t\t\t\t\tpulumi.String(\"Https\"),\n\t\t\t\t\t},\n\t\t\t\t\tPatternsToMatches: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"/*\"),\n\t\t\t\t\t},\n\t\t\t\t\tFrontendEndpoints: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"exampleFrontendEndpoint1\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = frontdoor.NewRulesEngine(ctx, \"example_rules_engine\", \u0026frontdoor.RulesEngineArgs{\n\t\t\tName:              pulumi.String(\"exampleRulesEngineConfig1\"),\n\t\t\tFrontdoorName:     exampleFrontdoor.Name,\n\t\t\tResourceGroupName: exampleFrontdoor.ResourceGroupName,\n\t\t\tRules: frontdoor.RulesEngineRuleArray{\n\t\t\t\t\u0026frontdoor.RulesEngineRuleArgs{\n\t\t\t\t\tName:     pulumi.String(\"debuggingoutput\"),\n\t\t\t\t\tPriority: pulumi.Int(1),\n\t\t\t\t\tAction: \u0026frontdoor.RulesEngineRuleActionArgs{\n\t\t\t\t\t\tResponseHeaders: frontdoor.RulesEngineRuleActionResponseHeaderArray{\n\t\t\t\t\t\t\t\u0026frontdoor.RulesEngineRuleActionResponseHeaderArgs{\n\t\t\t\t\t\t\t\tHeaderActionType: pulumi.String(\"Append\"),\n\t\t\t\t\t\t\t\tHeaderName:       pulumi.String(\"X-TEST-HEADER\"),\n\t\t\t\t\t\t\t\tValue:            pulumi.String(\"Append Header Rule\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026frontdoor.RulesEngineRuleArgs{\n\t\t\t\t\tName:     pulumi.String(\"overwriteorigin\"),\n\t\t\t\t\tPriority: pulumi.Int(2),\n\t\t\t\t\tMatchConditions: frontdoor.RulesEngineRuleMatchConditionArray{\n\t\t\t\t\t\t\u0026frontdoor.RulesEngineRuleMatchConditionArgs{\n\t\t\t\t\t\t\tVariable: pulumi.String(\"RequestMethod\"),\n\t\t\t\t\t\t\tOperator: pulumi.String(\"Equal\"),\n\t\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"GET\"),\n\t\t\t\t\t\t\t\tpulumi.String(\"POST\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tAction: \u0026frontdoor.RulesEngineRuleActionArgs{\n\t\t\t\t\t\tResponseHeaders: frontdoor.RulesEngineRuleActionResponseHeaderArray{\n\t\t\t\t\t\t\t\u0026frontdoor.RulesEngineRuleActionResponseHeaderArgs{\n\t\t\t\t\t\t\t\tHeaderActionType: pulumi.String(\"Overwrite\"),\n\t\t\t\t\t\t\t\tHeaderName:       pulumi.String(\"Access-Control-Allow-Origin\"),\n\t\t\t\t\t\t\t\tValue:            pulumi.String(\"*\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\u0026frontdoor.RulesEngineRuleActionResponseHeaderArgs{\n\t\t\t\t\t\t\t\tHeaderActionType: pulumi.String(\"Overwrite\"),\n\t\t\t\t\t\t\t\tHeaderName:       pulumi.String(\"Access-Control-Allow-Credentials\"),\n\t\t\t\t\t\t\t\tValue:            pulumi.String(\"true\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.frontdoor.Frontdoor;\nimport com.pulumi.azure.frontdoor.FrontdoorArgs;\nimport com.pulumi.azure.frontdoor.inputs.FrontdoorBackendPoolArgs;\nimport com.pulumi.azure.frontdoor.inputs.FrontdoorBackendPoolHealthProbeArgs;\nimport com.pulumi.azure.frontdoor.inputs.FrontdoorBackendPoolLoadBalancingArgs;\nimport com.pulumi.azure.frontdoor.inputs.FrontdoorFrontendEndpointArgs;\nimport com.pulumi.azure.frontdoor.inputs.FrontdoorRoutingRuleArgs;\nimport com.pulumi.azure.frontdoor.RulesEngine;\nimport com.pulumi.azure.frontdoor.RulesEngineArgs;\nimport com.pulumi.azure.frontdoor.inputs.RulesEngineRuleArgs;\nimport com.pulumi.azure.frontdoor.inputs.RulesEngineRuleActionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-rg\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleFrontdoor = new Frontdoor(\"exampleFrontdoor\", FrontdoorArgs.builder()\n            .name(\"example\")\n            .resourceGroupName(example.name())\n            .backendPools(FrontdoorBackendPoolArgs.builder()\n                .name(\"exampleBackendBing\")\n                .loadBalancingName(\"exampleLoadBalancingSettings1\")\n                .healthProbeName(\"exampleHealthProbeSetting1\")\n                .backends(FrontdoorBackendPoolBackendArgs.builder()\n                    .hostHeader(\"www.bing.com\")\n                    .address(\"www.bing.com\")\n                    .httpPort(80)\n                    .httpsPort(443)\n                    .build())\n                .build())\n            .backendPoolHealthProbes(FrontdoorBackendPoolHealthProbeArgs.builder()\n                .name(\"exampleHealthProbeSetting1\")\n                .build())\n            .backendPoolLoadBalancings(FrontdoorBackendPoolLoadBalancingArgs.builder()\n                .name(\"exampleLoadBalancingSettings1\")\n                .build())\n            .frontendEndpoints(FrontdoorFrontendEndpointArgs.builder()\n                .name(\"exampleFrontendEndpoint1\")\n                .hostName(\"example-FrontDoor.azurefd.net\")\n                .build())\n            .routingRules(FrontdoorRoutingRuleArgs.builder()\n                .name(\"exampleRoutingRule1\")\n                .acceptedProtocols(                \n                    \"Http\",\n                    \"Https\")\n                .patternsToMatches(\"/*\")\n                .frontendEndpoints(\"exampleFrontendEndpoint1\")\n                .build())\n            .build());\n\n        var exampleRulesEngine = new RulesEngine(\"exampleRulesEngine\", RulesEngineArgs.builder()\n            .name(\"exampleRulesEngineConfig1\")\n            .frontdoorName(exampleFrontdoor.name())\n            .resourceGroupName(exampleFrontdoor.resourceGroupName())\n            .rules(            \n                RulesEngineRuleArgs.builder()\n                    .name(\"debuggingoutput\")\n                    .priority(1)\n                    .action(RulesEngineRuleActionArgs.builder()\n                        .responseHeaders(RulesEngineRuleActionResponseHeaderArgs.builder()\n                            .headerActionType(\"Append\")\n                            .headerName(\"X-TEST-HEADER\")\n                            .value(\"Append Header Rule\")\n                            .build())\n                        .build())\n                    .build(),\n                RulesEngineRuleArgs.builder()\n                    .name(\"overwriteorigin\")\n                    .priority(2)\n                    .matchConditions(RulesEngineRuleMatchConditionArgs.builder()\n                        .variable(\"RequestMethod\")\n                        .operator(\"Equal\")\n                        .values(                        \n                            \"GET\",\n                            \"POST\")\n                        .build())\n                    .action(RulesEngineRuleActionArgs.builder()\n                        .responseHeaders(                        \n                            RulesEngineRuleActionResponseHeaderArgs.builder()\n                                .headerActionType(\"Overwrite\")\n                                .headerName(\"Access-Control-Allow-Origin\")\n                                .value(\"*\")\n                                .build(),\n                            RulesEngineRuleActionResponseHeaderArgs.builder()\n                                .headerActionType(\"Overwrite\")\n                                .headerName(\"Access-Control-Allow-Credentials\")\n                                .value(\"true\")\n                                .build())\n                        .build())\n                    .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-rg\n      location: West Europe\n  exampleFrontdoor:\n    type: azure:frontdoor:Frontdoor\n    name: example\n    properties:\n      name: example\n      resourceGroupName: ${example.name}\n      backendPools:\n        - name: exampleBackendBing\n          loadBalancingName: exampleLoadBalancingSettings1\n          healthProbeName: exampleHealthProbeSetting1\n          backends:\n            - hostHeader: www.bing.com\n              address: www.bing.com\n              httpPort: 80\n              httpsPort: 443\n      backendPoolHealthProbes:\n        - name: exampleHealthProbeSetting1\n      backendPoolLoadBalancings:\n        - name: exampleLoadBalancingSettings1\n      frontendEndpoints:\n        - name: exampleFrontendEndpoint1\n          hostName: example-FrontDoor.azurefd.net\n      routingRules:\n        - name: exampleRoutingRule1\n          acceptedProtocols:\n            - Http\n            - Https\n          patternsToMatches:\n            - /*\n          frontendEndpoints:\n            - exampleFrontendEndpoint1\n  exampleRulesEngine:\n    type: azure:frontdoor:RulesEngine\n    name: example_rules_engine\n    properties:\n      name: exampleRulesEngineConfig1\n      frontdoorName: ${exampleFrontdoor.name}\n      resourceGroupName: ${exampleFrontdoor.resourceGroupName}\n      rules:\n        - name: debuggingoutput\n          priority: 1\n          action:\n            responseHeaders:\n              - headerActionType: Append\n                headerName: X-TEST-HEADER\n                value: Append Header Rule\n        - name: overwriteorigin\n          priority: 2\n          matchConditions:\n            - variable: RequestMethod\n              operator: Equal\n              values:\n                - GET\n                - POST\n          action:\n            responseHeaders:\n              - headerActionType: Overwrite\n                headerName: Access-Control-Allow-Origin\n                value: '*'\n              - headerActionType: Overwrite\n                headerName: Access-Control-Allow-Credentials\n                value: 'true'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nAzure Front Door Rules Engine's can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:frontdoor/rulesEngine:RulesEngine example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resGroup1/providers/Microsoft.Network/frontdoors/frontdoor1/rulesEngines/rule1\n```\n\n","properties":{"enabled":{"type":"boolean","description":"Whether this Rules engine configuration is enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"frontdoorName":{"type":"string","description":"The name of the Front Door instance. Changing this forces a new resource to be created.\n"},"location":{"type":"string","description":"The location in which the Front Door Rules Engine exists.\n"},"name":{"type":"string","description":"The name of the Rules engine configuration. Changing this forces a new resource to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group. Changing this forces a new resource to be created.\n"},"rules":{"type":"array","items":{"$ref":"#/types/azure:frontdoor/RulesEngineRule:RulesEngineRule"},"description":"A \u003cspan pulumi-lang-nodejs=\"`rule`\" pulumi-lang-dotnet=\"`Rule`\" pulumi-lang-go=\"`rule`\" pulumi-lang-python=\"`rule`\" pulumi-lang-yaml=\"`rule`\" pulumi-lang-java=\"`rule`\"\u003e`rule`\u003c/span\u003e block as defined below.\n"}},"required":["frontdoorName","location","name","resourceGroupName"],"inputProperties":{"enabled":{"type":"boolean","description":"Whether this Rules engine configuration is enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"frontdoorName":{"type":"string","description":"The name of the Front Door instance. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the Rules engine configuration. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"rules":{"type":"array","items":{"$ref":"#/types/azure:frontdoor/RulesEngineRule:RulesEngineRule"},"description":"A \u003cspan pulumi-lang-nodejs=\"`rule`\" pulumi-lang-dotnet=\"`Rule`\" pulumi-lang-go=\"`rule`\" pulumi-lang-python=\"`rule`\" pulumi-lang-yaml=\"`rule`\" pulumi-lang-java=\"`rule`\"\u003e`rule`\u003c/span\u003e block as defined below.\n"}},"requiredInputs":["frontdoorName","resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering RulesEngine resources.\n","properties":{"enabled":{"type":"boolean","description":"Whether this Rules engine configuration is enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"frontdoorName":{"type":"string","description":"The name of the Front Door instance. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"location":{"type":"string","description":"The location in which the Front Door Rules Engine exists.\n"},"name":{"type":"string","description":"The name of the Rules engine configuration. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"rules":{"type":"array","items":{"$ref":"#/types/azure:frontdoor/RulesEngineRule:RulesEngineRule"},"description":"A \u003cspan pulumi-lang-nodejs=\"`rule`\" pulumi-lang-dotnet=\"`Rule`\" pulumi-lang-go=\"`rule`\" pulumi-lang-python=\"`rule`\" pulumi-lang-yaml=\"`rule`\" pulumi-lang-java=\"`rule`\"\u003e`rule`\u003c/span\u003e block as defined below.\n"}},"type":"object"}},"azure:graph/servicesAccount:ServicesAccount":{"description":"Manages a Microsoft Graph Services Account.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\nimport * as azuread from \"@pulumi/azuread\";\n\nconst example = new azuread.Application(\"example\", {displayName: \"example-app\"});\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleServicesAccount = new azure.graph.ServicesAccount(\"example\", {\n    name: \"example\",\n    resourceGroupName: exampleResourceGroup.name,\n    applicationId: example.applicationId,\n    tags: {\n        environment: \"Production\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\nimport pulumi_azuread as azuread\n\nexample = azuread.Application(\"example\", display_name=\"example-app\")\nexample_resource_group = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_services_account = azure.graph.ServicesAccount(\"example\",\n    name=\"example\",\n    resource_group_name=example_resource_group.name,\n    application_id=example.application_id,\n    tags={\n        \"environment\": \"Production\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\nusing AzureAD = Pulumi.AzureAD;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new AzureAD.Application(\"example\", new()\n    {\n        DisplayName = \"example-app\",\n    });\n\n    var exampleResourceGroup = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleServicesAccount = new Azure.Graph.ServicesAccount(\"example\", new()\n    {\n        Name = \"example\",\n        ResourceGroupName = exampleResourceGroup.Name,\n        ApplicationId = example.ApplicationId,\n        Tags = \n        {\n            { \"environment\", \"Production\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/graph\"\n\t\"github.com/pulumi/pulumi-azuread/sdk/v6/go/azuread\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := azuread.NewApplication(ctx, \"example\", \u0026azuread.ApplicationArgs{\n\t\t\tDisplayName: pulumi.String(\"example-app\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = graph.NewServicesAccount(ctx, \"example\", \u0026graph.ServicesAccountArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tApplicationId:     example.ApplicationId,\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"environment\": pulumi.String(\"Production\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azuread.Application;\nimport com.pulumi.azuread.ApplicationArgs;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.graph.ServicesAccount;\nimport com.pulumi.azure.graph.ServicesAccountArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new Application(\"example\", ApplicationArgs.builder()\n            .displayName(\"example-app\")\n            .build());\n\n        var exampleResourceGroup = new ResourceGroup(\"exampleResourceGroup\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleServicesAccount = new ServicesAccount(\"exampleServicesAccount\", ServicesAccountArgs.builder()\n            .name(\"example\")\n            .resourceGroupName(exampleResourceGroup.name())\n            .applicationId(example.applicationId())\n            .tags(Map.of(\"environment\", \"Production\"))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azuread:Application\n    properties:\n      displayName: example-app\n  exampleResourceGroup:\n    type: azure:core:ResourceGroup\n    name: example\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleServicesAccount:\n    type: azure:graph:ServicesAccount\n    name: example\n    properties:\n      name: example\n      resourceGroupName: ${exampleResourceGroup.name}\n      applicationId: ${example.applicationId}\n      tags:\n        environment: Production\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.GraphServices` - 2023-04-13\n\n## Import\n\nAn existing Account can be imported into Pulumi using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:graph/servicesAccount:ServicesAccount example /subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/example-resource-group/providers/Microsoft.GraphServices/accounts/account1\n```\n\n","properties":{"applicationId":{"type":"string","description":"Customer owned application ID. Changing this forces a new Account to be created.\n"},"billingPlanId":{"type":"string","description":"Billing Plan Id.\n"},"name":{"type":"string","description":"Specifies the name of this Account. Changing this forces a new Account to be created.\n"},"resourceGroupName":{"type":"string","description":"Specifies the name of the Resource Group within which this Account should exist. Changing this forces a new Account to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Account.\n"}},"required":["applicationId","billingPlanId","name","resourceGroupName"],"inputProperties":{"applicationId":{"type":"string","description":"Customer owned application ID. Changing this forces a new Account to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of this Account. Changing this forces a new Account to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"Specifies the name of the Resource Group within which this Account should exist. Changing this forces a new Account to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Account.\n"}},"requiredInputs":["applicationId","resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering ServicesAccount resources.\n","properties":{"applicationId":{"type":"string","description":"Customer owned application ID. Changing this forces a new Account to be created.\n","willReplaceOnChanges":true},"billingPlanId":{"type":"string","description":"Billing Plan Id.\n"},"name":{"type":"string","description":"Specifies the name of this Account. Changing this forces a new Account to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"Specifies the name of the Resource Group within which this Account should exist. Changing this forces a new Account to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Account.\n"}},"type":"object"},"aliases":[{"type":"azure:graph/account:Account"}]},"azure:hdinsight/hBaseCluster:HBaseCluster":{"description":"Manages a HDInsight HBase Cluster.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleAccount = new azure.storage.Account(\"example\", {\n    name: \"hdinsightstor\",\n    resourceGroupName: example.name,\n    location: example.location,\n    accountTier: \"Standard\",\n    accountReplicationType: \"LRS\",\n});\nconst exampleContainer = new azure.storage.Container(\"example\", {\n    name: \"hdinsight\",\n    storageAccountName: exampleAccount.name,\n    containerAccessType: \"private\",\n});\nconst exampleHBaseCluster = new azure.hdinsight.HBaseCluster(\"example\", {\n    name: \"example-hdicluster\",\n    resourceGroupName: example.name,\n    location: example.location,\n    clusterVersion: \"3.6\",\n    tier: \"Standard\",\n    componentVersion: {\n        hbase: \"1.1\",\n    },\n    gateway: {\n        username: \"acctestusrgw\",\n        password: \"Password123!\",\n    },\n    storageAccounts: [{\n        storageContainerId: exampleContainer.id,\n        storageAccountKey: exampleAccount.primaryAccessKey,\n        isDefault: true,\n    }],\n    roles: {\n        headNode: {\n            vmSize: \"Standard_D3_V2\",\n            username: \"acctestusrvm\",\n            password: \"AccTestvdSC4daf986!\",\n        },\n        workerNode: {\n            vmSize: \"Standard_D3_V2\",\n            username: \"acctestusrvm\",\n            password: \"AccTestvdSC4daf986!\",\n            targetInstanceCount: 3,\n        },\n        zookeeperNode: {\n            vmSize: \"Standard_D3_V2\",\n            username: \"acctestusrvm\",\n            password: \"AccTestvdSC4daf986!\",\n        },\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_account = azure.storage.Account(\"example\",\n    name=\"hdinsightstor\",\n    resource_group_name=example.name,\n    location=example.location,\n    account_tier=\"Standard\",\n    account_replication_type=\"LRS\")\nexample_container = azure.storage.Container(\"example\",\n    name=\"hdinsight\",\n    storage_account_name=example_account.name,\n    container_access_type=\"private\")\nexample_h_base_cluster = azure.hdinsight.HBaseCluster(\"example\",\n    name=\"example-hdicluster\",\n    resource_group_name=example.name,\n    location=example.location,\n    cluster_version=\"3.6\",\n    tier=\"Standard\",\n    component_version={\n        \"hbase\": \"1.1\",\n    },\n    gateway={\n        \"username\": \"acctestusrgw\",\n        \"password\": \"Password123!\",\n    },\n    storage_accounts=[{\n        \"storage_container_id\": example_container.id,\n        \"storage_account_key\": example_account.primary_access_key,\n        \"is_default\": True,\n    }],\n    roles={\n        \"head_node\": {\n            \"vm_size\": \"Standard_D3_V2\",\n            \"username\": \"acctestusrvm\",\n            \"password\": \"AccTestvdSC4daf986!\",\n        },\n        \"worker_node\": {\n            \"vm_size\": \"Standard_D3_V2\",\n            \"username\": \"acctestusrvm\",\n            \"password\": \"AccTestvdSC4daf986!\",\n            \"target_instance_count\": 3,\n        },\n        \"zookeeper_node\": {\n            \"vm_size\": \"Standard_D3_V2\",\n            \"username\": \"acctestusrvm\",\n            \"password\": \"AccTestvdSC4daf986!\",\n        },\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleAccount = new Azure.Storage.Account(\"example\", new()\n    {\n        Name = \"hdinsightstor\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        AccountTier = \"Standard\",\n        AccountReplicationType = \"LRS\",\n    });\n\n    var exampleContainer = new Azure.Storage.Container(\"example\", new()\n    {\n        Name = \"hdinsight\",\n        StorageAccountName = exampleAccount.Name,\n        ContainerAccessType = \"private\",\n    });\n\n    var exampleHBaseCluster = new Azure.HDInsight.HBaseCluster(\"example\", new()\n    {\n        Name = \"example-hdicluster\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        ClusterVersion = \"3.6\",\n        Tier = \"Standard\",\n        ComponentVersion = new Azure.HDInsight.Inputs.HBaseClusterComponentVersionArgs\n        {\n            Hbase = \"1.1\",\n        },\n        Gateway = new Azure.HDInsight.Inputs.HBaseClusterGatewayArgs\n        {\n            Username = \"acctestusrgw\",\n            Password = \"Password123!\",\n        },\n        StorageAccounts = new[]\n        {\n            new Azure.HDInsight.Inputs.HBaseClusterStorageAccountArgs\n            {\n                StorageContainerId = exampleContainer.Id,\n                StorageAccountKey = exampleAccount.PrimaryAccessKey,\n                IsDefault = true,\n            },\n        },\n        Roles = new Azure.HDInsight.Inputs.HBaseClusterRolesArgs\n        {\n            HeadNode = new Azure.HDInsight.Inputs.HBaseClusterRolesHeadNodeArgs\n            {\n                VmSize = \"Standard_D3_V2\",\n                Username = \"acctestusrvm\",\n                Password = \"AccTestvdSC4daf986!\",\n            },\n            WorkerNode = new Azure.HDInsight.Inputs.HBaseClusterRolesWorkerNodeArgs\n            {\n                VmSize = \"Standard_D3_V2\",\n                Username = \"acctestusrvm\",\n                Password = \"AccTestvdSC4daf986!\",\n                TargetInstanceCount = 3,\n            },\n            ZookeeperNode = new Azure.HDInsight.Inputs.HBaseClusterRolesZookeeperNodeArgs\n            {\n                VmSize = \"Standard_D3_V2\",\n                Username = \"acctestusrvm\",\n                Password = \"AccTestvdSC4daf986!\",\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/hdinsight\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := storage.NewAccount(ctx, \"example\", \u0026storage.AccountArgs{\n\t\t\tName:                   pulumi.String(\"hdinsightstor\"),\n\t\t\tResourceGroupName:      example.Name,\n\t\t\tLocation:               example.Location,\n\t\t\tAccountTier:            pulumi.String(\"Standard\"),\n\t\t\tAccountReplicationType: pulumi.String(\"LRS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleContainer, err := storage.NewContainer(ctx, \"example\", \u0026storage.ContainerArgs{\n\t\t\tName:                pulumi.String(\"hdinsight\"),\n\t\t\tStorageAccountName:  exampleAccount.Name,\n\t\t\tContainerAccessType: pulumi.String(\"private\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = hdinsight.NewHBaseCluster(ctx, \"example\", \u0026hdinsight.HBaseClusterArgs{\n\t\t\tName:              pulumi.String(\"example-hdicluster\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tClusterVersion:    pulumi.String(\"3.6\"),\n\t\t\tTier:              pulumi.String(\"Standard\"),\n\t\t\tComponentVersion: \u0026hdinsight.HBaseClusterComponentVersionArgs{\n\t\t\t\tHbase: pulumi.String(\"1.1\"),\n\t\t\t},\n\t\t\tGateway: \u0026hdinsight.HBaseClusterGatewayArgs{\n\t\t\t\tUsername: pulumi.String(\"acctestusrgw\"),\n\t\t\t\tPassword: pulumi.String(\"Password123!\"),\n\t\t\t},\n\t\t\tStorageAccounts: hdinsight.HBaseClusterStorageAccountArray{\n\t\t\t\t\u0026hdinsight.HBaseClusterStorageAccountArgs{\n\t\t\t\t\tStorageContainerId: exampleContainer.ID(),\n\t\t\t\t\tStorageAccountKey:  exampleAccount.PrimaryAccessKey,\n\t\t\t\t\tIsDefault:          pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t},\n\t\t\tRoles: \u0026hdinsight.HBaseClusterRolesArgs{\n\t\t\t\tHeadNode: \u0026hdinsight.HBaseClusterRolesHeadNodeArgs{\n\t\t\t\t\tVmSize:   pulumi.String(\"Standard_D3_V2\"),\n\t\t\t\t\tUsername: pulumi.String(\"acctestusrvm\"),\n\t\t\t\t\tPassword: pulumi.String(\"AccTestvdSC4daf986!\"),\n\t\t\t\t},\n\t\t\t\tWorkerNode: \u0026hdinsight.HBaseClusterRolesWorkerNodeArgs{\n\t\t\t\t\tVmSize:              pulumi.String(\"Standard_D3_V2\"),\n\t\t\t\t\tUsername:            pulumi.String(\"acctestusrvm\"),\n\t\t\t\t\tPassword:            pulumi.String(\"AccTestvdSC4daf986!\"),\n\t\t\t\t\tTargetInstanceCount: pulumi.Int(3),\n\t\t\t\t},\n\t\t\t\tZookeeperNode: \u0026hdinsight.HBaseClusterRolesZookeeperNodeArgs{\n\t\t\t\t\tVmSize:   pulumi.String(\"Standard_D3_V2\"),\n\t\t\t\t\tUsername: pulumi.String(\"acctestusrvm\"),\n\t\t\t\t\tPassword: pulumi.String(\"AccTestvdSC4daf986!\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.storage.Account;\nimport com.pulumi.azure.storage.AccountArgs;\nimport com.pulumi.azure.storage.Container;\nimport com.pulumi.azure.storage.ContainerArgs;\nimport com.pulumi.azure.hdinsight.HBaseCluster;\nimport com.pulumi.azure.hdinsight.HBaseClusterArgs;\nimport com.pulumi.azure.hdinsight.inputs.HBaseClusterComponentVersionArgs;\nimport com.pulumi.azure.hdinsight.inputs.HBaseClusterGatewayArgs;\nimport com.pulumi.azure.hdinsight.inputs.HBaseClusterStorageAccountArgs;\nimport com.pulumi.azure.hdinsight.inputs.HBaseClusterRolesArgs;\nimport com.pulumi.azure.hdinsight.inputs.HBaseClusterRolesHeadNodeArgs;\nimport com.pulumi.azure.hdinsight.inputs.HBaseClusterRolesWorkerNodeArgs;\nimport com.pulumi.azure.hdinsight.inputs.HBaseClusterRolesZookeeperNodeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"hdinsightstor\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .accountTier(\"Standard\")\n            .accountReplicationType(\"LRS\")\n            .build());\n\n        var exampleContainer = new Container(\"exampleContainer\", ContainerArgs.builder()\n            .name(\"hdinsight\")\n            .storageAccountName(exampleAccount.name())\n            .containerAccessType(\"private\")\n            .build());\n\n        var exampleHBaseCluster = new HBaseCluster(\"exampleHBaseCluster\", HBaseClusterArgs.builder()\n            .name(\"example-hdicluster\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .clusterVersion(\"3.6\")\n            .tier(\"Standard\")\n            .componentVersion(HBaseClusterComponentVersionArgs.builder()\n                .hbase(\"1.1\")\n                .build())\n            .gateway(HBaseClusterGatewayArgs.builder()\n                .username(\"acctestusrgw\")\n                .password(\"Password123!\")\n                .build())\n            .storageAccounts(HBaseClusterStorageAccountArgs.builder()\n                .storageContainerId(exampleContainer.id())\n                .storageAccountKey(exampleAccount.primaryAccessKey())\n                .isDefault(true)\n                .build())\n            .roles(HBaseClusterRolesArgs.builder()\n                .headNode(HBaseClusterRolesHeadNodeArgs.builder()\n                    .vmSize(\"Standard_D3_V2\")\n                    .username(\"acctestusrvm\")\n                    .password(\"AccTestvdSC4daf986!\")\n                    .build())\n                .workerNode(HBaseClusterRolesWorkerNodeArgs.builder()\n                    .vmSize(\"Standard_D3_V2\")\n                    .username(\"acctestusrvm\")\n                    .password(\"AccTestvdSC4daf986!\")\n                    .targetInstanceCount(3)\n                    .build())\n                .zookeeperNode(HBaseClusterRolesZookeeperNodeArgs.builder()\n                    .vmSize(\"Standard_D3_V2\")\n                    .username(\"acctestusrvm\")\n                    .password(\"AccTestvdSC4daf986!\")\n                    .build())\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleAccount:\n    type: azure:storage:Account\n    name: example\n    properties:\n      name: hdinsightstor\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      accountTier: Standard\n      accountReplicationType: LRS\n  exampleContainer:\n    type: azure:storage:Container\n    name: example\n    properties:\n      name: hdinsight\n      storageAccountName: ${exampleAccount.name}\n      containerAccessType: private\n  exampleHBaseCluster:\n    type: azure:hdinsight:HBaseCluster\n    name: example\n    properties:\n      name: example-hdicluster\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      clusterVersion: '3.6'\n      tier: Standard\n      componentVersion:\n        hbase: '1.1'\n      gateway:\n        username: acctestusrgw\n        password: Password123!\n      storageAccounts:\n        - storageContainerId: ${exampleContainer.id}\n          storageAccountKey: ${exampleAccount.primaryAccessKey}\n          isDefault: true\n      roles:\n        headNode:\n          vmSize: Standard_D3_V2\n          username: acctestusrvm\n          password: AccTestvdSC4daf986!\n        workerNode:\n          vmSize: Standard_D3_V2\n          username: acctestusrvm\n          password: AccTestvdSC4daf986!\n          targetInstanceCount: 3\n        zookeeperNode:\n          vmSize: Standard_D3_V2\n          username: acctestusrvm\n          password: AccTestvdSC4daf986!\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.HDInsight` - 2021-06-01\n\n## Import\n\nHDInsight HBase Clusters can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:hdinsight/hBaseCluster:HBaseCluster example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.HDInsight/clusters/cluster1\n```\n\n","properties":{"clusterVersion":{"type":"string","description":"Specifies the Version of HDInsights which should be used for this Cluster. Changing this forces a new resource to be created.\n"},"componentVersion":{"$ref":"#/types/azure:hdinsight/HBaseClusterComponentVersion:HBaseClusterComponentVersion","description":"A \u003cspan pulumi-lang-nodejs=\"`componentVersion`\" pulumi-lang-dotnet=\"`ComponentVersion`\" pulumi-lang-go=\"`componentVersion`\" pulumi-lang-python=\"`component_version`\" pulumi-lang-yaml=\"`componentVersion`\" pulumi-lang-java=\"`componentVersion`\"\u003e`component_version`\u003c/span\u003e block as defined below.\n"},"computeIsolation":{"$ref":"#/types/azure:hdinsight/HBaseClusterComputeIsolation:HBaseClusterComputeIsolation","description":"A \u003cspan pulumi-lang-nodejs=\"`computeIsolation`\" pulumi-lang-dotnet=\"`ComputeIsolation`\" pulumi-lang-go=\"`computeIsolation`\" pulumi-lang-python=\"`compute_isolation`\" pulumi-lang-yaml=\"`computeIsolation`\" pulumi-lang-java=\"`computeIsolation`\"\u003e`compute_isolation`\u003c/span\u003e block as defined below.\n"},"diskEncryptions":{"type":"array","items":{"$ref":"#/types/azure:hdinsight/HBaseClusterDiskEncryption:HBaseClusterDiskEncryption"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`diskEncryption`\" pulumi-lang-dotnet=\"`DiskEncryption`\" pulumi-lang-go=\"`diskEncryption`\" pulumi-lang-python=\"`disk_encryption`\" pulumi-lang-yaml=\"`diskEncryption`\" pulumi-lang-java=\"`diskEncryption`\"\u003e`disk_encryption`\u003c/span\u003e block as defined below.\n"},"extension":{"$ref":"#/types/azure:hdinsight/HBaseClusterExtension:HBaseClusterExtension","description":"An \u003cspan pulumi-lang-nodejs=\"`extension`\" pulumi-lang-dotnet=\"`Extension`\" pulumi-lang-go=\"`extension`\" pulumi-lang-python=\"`extension`\" pulumi-lang-yaml=\"`extension`\" pulumi-lang-java=\"`extension`\"\u003e`extension`\u003c/span\u003e block as defined below.\n"},"gateway":{"$ref":"#/types/azure:hdinsight/HBaseClusterGateway:HBaseClusterGateway","description":"A \u003cspan pulumi-lang-nodejs=\"`gateway`\" pulumi-lang-dotnet=\"`Gateway`\" pulumi-lang-go=\"`gateway`\" pulumi-lang-python=\"`gateway`\" pulumi-lang-yaml=\"`gateway`\" pulumi-lang-java=\"`gateway`\"\u003e`gateway`\u003c/span\u003e block as defined below.\n"},"httpsEndpoint":{"type":"string","description":"The HTTPS Connectivity Endpoint for this HDInsight HBase Cluster.\n"},"location":{"type":"string","description":"Specifies the Azure Region which this HDInsight HBase Cluster should exist. Changing this forces a new resource to be created.\n"},"metastores":{"$ref":"#/types/azure:hdinsight/HBaseClusterMetastores:HBaseClusterMetastores","description":"A \u003cspan pulumi-lang-nodejs=\"`metastores`\" pulumi-lang-dotnet=\"`Metastores`\" pulumi-lang-go=\"`metastores`\" pulumi-lang-python=\"`metastores`\" pulumi-lang-yaml=\"`metastores`\" pulumi-lang-java=\"`metastores`\"\u003e`metastores`\u003c/span\u003e block as defined below.\n"},"monitor":{"$ref":"#/types/azure:hdinsight/HBaseClusterMonitor:HBaseClusterMonitor","description":"A \u003cspan pulumi-lang-nodejs=\"`monitor`\" pulumi-lang-dotnet=\"`Monitor`\" pulumi-lang-go=\"`monitor`\" pulumi-lang-python=\"`monitor`\" pulumi-lang-yaml=\"`monitor`\" pulumi-lang-java=\"`monitor`\"\u003e`monitor`\u003c/span\u003e block as defined below.\n"},"name":{"type":"string","description":"Specifies the name for this HDInsight HBase Cluster. Changing this forces a new resource to be created.\n"},"network":{"$ref":"#/types/azure:hdinsight/HBaseClusterNetwork:HBaseClusterNetwork","description":"A \u003cspan pulumi-lang-nodejs=\"`network`\" pulumi-lang-dotnet=\"`Network`\" pulumi-lang-go=\"`network`\" pulumi-lang-python=\"`network`\" pulumi-lang-yaml=\"`network`\" pulumi-lang-java=\"`network`\"\u003e`network`\u003c/span\u003e block as defined below.\n"},"privateLinkConfiguration":{"$ref":"#/types/azure:hdinsight/HBaseClusterPrivateLinkConfiguration:HBaseClusterPrivateLinkConfiguration","description":"A \u003cspan pulumi-lang-nodejs=\"`privateLinkConfiguration`\" pulumi-lang-dotnet=\"`PrivateLinkConfiguration`\" pulumi-lang-go=\"`privateLinkConfiguration`\" pulumi-lang-python=\"`private_link_configuration`\" pulumi-lang-yaml=\"`privateLinkConfiguration`\" pulumi-lang-java=\"`privateLinkConfiguration`\"\u003e`private_link_configuration`\u003c/span\u003e block as defined below.\n"},"resourceGroupName":{"type":"string","description":"Specifies the name of the Resource Group in which this HDInsight HBase Cluster should exist. Changing this forces a new resource to be created.\n"},"roles":{"$ref":"#/types/azure:hdinsight/HBaseClusterRoles:HBaseClusterRoles","description":"A \u003cspan pulumi-lang-nodejs=\"`roles`\" pulumi-lang-dotnet=\"`Roles`\" pulumi-lang-go=\"`roles`\" pulumi-lang-python=\"`roles`\" pulumi-lang-yaml=\"`roles`\" pulumi-lang-java=\"`roles`\"\u003e`roles`\u003c/span\u003e block as defined below.\n"},"securityProfile":{"$ref":"#/types/azure:hdinsight/HBaseClusterSecurityProfile:HBaseClusterSecurityProfile","description":"A \u003cspan pulumi-lang-nodejs=\"`securityProfile`\" pulumi-lang-dotnet=\"`SecurityProfile`\" pulumi-lang-go=\"`securityProfile`\" pulumi-lang-python=\"`security_profile`\" pulumi-lang-yaml=\"`securityProfile`\" pulumi-lang-java=\"`securityProfile`\"\u003e`security_profile`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n"},"sshEndpoint":{"type":"string","description":"The SSH Connectivity Endpoint for this HDInsight HBase Cluster.\n"},"storageAccountGen2":{"$ref":"#/types/azure:hdinsight/HBaseClusterStorageAccountGen2:HBaseClusterStorageAccountGen2","description":"A \u003cspan pulumi-lang-nodejs=\"`storageAccountGen2`\" pulumi-lang-dotnet=\"`StorageAccountGen2`\" pulumi-lang-go=\"`storageAccountGen2`\" pulumi-lang-python=\"`storage_account_gen2`\" pulumi-lang-yaml=\"`storageAccountGen2`\" pulumi-lang-java=\"`storageAccountGen2`\"\u003e`storage_account_gen2`\u003c/span\u003e block as defined below.\n"},"storageAccounts":{"type":"array","items":{"$ref":"#/types/azure:hdinsight/HBaseClusterStorageAccount:HBaseClusterStorageAccount"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`storageAccount`\" pulumi-lang-dotnet=\"`StorageAccount`\" pulumi-lang-go=\"`storageAccount`\" pulumi-lang-python=\"`storage_account`\" pulumi-lang-yaml=\"`storageAccount`\" pulumi-lang-java=\"`storageAccount`\"\u003e`storage_account`\u003c/span\u003e block as defined below.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of Tags which should be assigned to this HDInsight HBase Cluster.\n"},"tier":{"type":"string","description":"Specifies the Tier which should be used for this HDInsight HBase Cluster. Possible values are `Standard` or `Premium`. Changing this forces a new resource to be created.\n"},"tlsMinVersion":{"type":"string","description":"The minimal supported TLS version. Possible values are 1.0, 1.1 or 1.2. Changing this forces a new resource to be created.\n\n\u003e **Note:** Starting on June 30, 2020, Azure HDInsight will enforce TLS 1.2 or later versions for all HTTPS connections. For more information, see [Azure HDInsight TLS 1.2 Enforcement](https://azure.microsoft.com/en-us/updates/azure-hdinsight-tls-12-enforcement/).\n"}},"required":["clusterVersion","componentVersion","gateway","httpsEndpoint","location","name","resourceGroupName","roles","sshEndpoint","tier"],"inputProperties":{"clusterVersion":{"type":"string","description":"Specifies the Version of HDInsights which should be used for this Cluster. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"componentVersion":{"$ref":"#/types/azure:hdinsight/HBaseClusterComponentVersion:HBaseClusterComponentVersion","description":"A \u003cspan pulumi-lang-nodejs=\"`componentVersion`\" pulumi-lang-dotnet=\"`ComponentVersion`\" pulumi-lang-go=\"`componentVersion`\" pulumi-lang-python=\"`component_version`\" pulumi-lang-yaml=\"`componentVersion`\" pulumi-lang-java=\"`componentVersion`\"\u003e`component_version`\u003c/span\u003e block as defined below.\n"},"computeIsolation":{"$ref":"#/types/azure:hdinsight/HBaseClusterComputeIsolation:HBaseClusterComputeIsolation","description":"A \u003cspan pulumi-lang-nodejs=\"`computeIsolation`\" pulumi-lang-dotnet=\"`ComputeIsolation`\" pulumi-lang-go=\"`computeIsolation`\" pulumi-lang-python=\"`compute_isolation`\" pulumi-lang-yaml=\"`computeIsolation`\" pulumi-lang-java=\"`computeIsolation`\"\u003e`compute_isolation`\u003c/span\u003e block as defined below.\n"},"diskEncryptions":{"type":"array","items":{"$ref":"#/types/azure:hdinsight/HBaseClusterDiskEncryption:HBaseClusterDiskEncryption"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`diskEncryption`\" pulumi-lang-dotnet=\"`DiskEncryption`\" pulumi-lang-go=\"`diskEncryption`\" pulumi-lang-python=\"`disk_encryption`\" pulumi-lang-yaml=\"`diskEncryption`\" pulumi-lang-java=\"`diskEncryption`\"\u003e`disk_encryption`\u003c/span\u003e block as defined below.\n"},"extension":{"$ref":"#/types/azure:hdinsight/HBaseClusterExtension:HBaseClusterExtension","description":"An \u003cspan pulumi-lang-nodejs=\"`extension`\" pulumi-lang-dotnet=\"`Extension`\" pulumi-lang-go=\"`extension`\" pulumi-lang-python=\"`extension`\" pulumi-lang-yaml=\"`extension`\" pulumi-lang-java=\"`extension`\"\u003e`extension`\u003c/span\u003e block as defined below.\n"},"gateway":{"$ref":"#/types/azure:hdinsight/HBaseClusterGateway:HBaseClusterGateway","description":"A \u003cspan pulumi-lang-nodejs=\"`gateway`\" pulumi-lang-dotnet=\"`Gateway`\" pulumi-lang-go=\"`gateway`\" pulumi-lang-python=\"`gateway`\" pulumi-lang-yaml=\"`gateway`\" pulumi-lang-java=\"`gateway`\"\u003e`gateway`\u003c/span\u003e block as defined below.\n"},"location":{"type":"string","description":"Specifies the Azure Region which this HDInsight HBase Cluster should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"metastores":{"$ref":"#/types/azure:hdinsight/HBaseClusterMetastores:HBaseClusterMetastores","description":"A \u003cspan pulumi-lang-nodejs=\"`metastores`\" pulumi-lang-dotnet=\"`Metastores`\" pulumi-lang-go=\"`metastores`\" pulumi-lang-python=\"`metastores`\" pulumi-lang-yaml=\"`metastores`\" pulumi-lang-java=\"`metastores`\"\u003e`metastores`\u003c/span\u003e block as defined below.\n"},"monitor":{"$ref":"#/types/azure:hdinsight/HBaseClusterMonitor:HBaseClusterMonitor","description":"A \u003cspan pulumi-lang-nodejs=\"`monitor`\" pulumi-lang-dotnet=\"`Monitor`\" pulumi-lang-go=\"`monitor`\" pulumi-lang-python=\"`monitor`\" pulumi-lang-yaml=\"`monitor`\" pulumi-lang-java=\"`monitor`\"\u003e`monitor`\u003c/span\u003e block as defined below.\n"},"name":{"type":"string","description":"Specifies the name for this HDInsight HBase Cluster. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"network":{"$ref":"#/types/azure:hdinsight/HBaseClusterNetwork:HBaseClusterNetwork","description":"A \u003cspan pulumi-lang-nodejs=\"`network`\" pulumi-lang-dotnet=\"`Network`\" pulumi-lang-go=\"`network`\" pulumi-lang-python=\"`network`\" pulumi-lang-yaml=\"`network`\" pulumi-lang-java=\"`network`\"\u003e`network`\u003c/span\u003e block as defined below.\n"},"privateLinkConfiguration":{"$ref":"#/types/azure:hdinsight/HBaseClusterPrivateLinkConfiguration:HBaseClusterPrivateLinkConfiguration","description":"A \u003cspan pulumi-lang-nodejs=\"`privateLinkConfiguration`\" pulumi-lang-dotnet=\"`PrivateLinkConfiguration`\" pulumi-lang-go=\"`privateLinkConfiguration`\" pulumi-lang-python=\"`private_link_configuration`\" pulumi-lang-yaml=\"`privateLinkConfiguration`\" pulumi-lang-java=\"`privateLinkConfiguration`\"\u003e`private_link_configuration`\u003c/span\u003e block as defined below.\n"},"resourceGroupName":{"type":"string","description":"Specifies the name of the Resource Group in which this HDInsight HBase Cluster should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"roles":{"$ref":"#/types/azure:hdinsight/HBaseClusterRoles:HBaseClusterRoles","description":"A \u003cspan pulumi-lang-nodejs=\"`roles`\" pulumi-lang-dotnet=\"`Roles`\" pulumi-lang-go=\"`roles`\" pulumi-lang-python=\"`roles`\" pulumi-lang-yaml=\"`roles`\" pulumi-lang-java=\"`roles`\"\u003e`roles`\u003c/span\u003e block as defined below.\n"},"securityProfile":{"$ref":"#/types/azure:hdinsight/HBaseClusterSecurityProfile:HBaseClusterSecurityProfile","description":"A \u003cspan pulumi-lang-nodejs=\"`securityProfile`\" pulumi-lang-dotnet=\"`SecurityProfile`\" pulumi-lang-go=\"`securityProfile`\" pulumi-lang-python=\"`security_profile`\" pulumi-lang-yaml=\"`securityProfile`\" pulumi-lang-java=\"`securityProfile`\"\u003e`security_profile`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"storageAccountGen2":{"$ref":"#/types/azure:hdinsight/HBaseClusterStorageAccountGen2:HBaseClusterStorageAccountGen2","description":"A \u003cspan pulumi-lang-nodejs=\"`storageAccountGen2`\" pulumi-lang-dotnet=\"`StorageAccountGen2`\" pulumi-lang-go=\"`storageAccountGen2`\" pulumi-lang-python=\"`storage_account_gen2`\" pulumi-lang-yaml=\"`storageAccountGen2`\" pulumi-lang-java=\"`storageAccountGen2`\"\u003e`storage_account_gen2`\u003c/span\u003e block as defined below.\n"},"storageAccounts":{"type":"array","items":{"$ref":"#/types/azure:hdinsight/HBaseClusterStorageAccount:HBaseClusterStorageAccount"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`storageAccount`\" pulumi-lang-dotnet=\"`StorageAccount`\" pulumi-lang-go=\"`storageAccount`\" pulumi-lang-python=\"`storage_account`\" pulumi-lang-yaml=\"`storageAccount`\" pulumi-lang-java=\"`storageAccount`\"\u003e`storage_account`\u003c/span\u003e block as defined below.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of Tags which should be assigned to this HDInsight HBase Cluster.\n"},"tier":{"type":"string","description":"Specifies the Tier which should be used for this HDInsight HBase Cluster. Possible values are `Standard` or `Premium`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tlsMinVersion":{"type":"string","description":"The minimal supported TLS version. Possible values are 1.0, 1.1 or 1.2. Changing this forces a new resource to be created.\n\n\u003e **Note:** Starting on June 30, 2020, Azure HDInsight will enforce TLS 1.2 or later versions for all HTTPS connections. For more information, see [Azure HDInsight TLS 1.2 Enforcement](https://azure.microsoft.com/en-us/updates/azure-hdinsight-tls-12-enforcement/).\n","willReplaceOnChanges":true}},"requiredInputs":["clusterVersion","componentVersion","gateway","resourceGroupName","roles","tier"],"stateInputs":{"description":"Input properties used for looking up and filtering HBaseCluster resources.\n","properties":{"clusterVersion":{"type":"string","description":"Specifies the Version of HDInsights which should be used for this Cluster. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"componentVersion":{"$ref":"#/types/azure:hdinsight/HBaseClusterComponentVersion:HBaseClusterComponentVersion","description":"A \u003cspan pulumi-lang-nodejs=\"`componentVersion`\" pulumi-lang-dotnet=\"`ComponentVersion`\" pulumi-lang-go=\"`componentVersion`\" pulumi-lang-python=\"`component_version`\" pulumi-lang-yaml=\"`componentVersion`\" pulumi-lang-java=\"`componentVersion`\"\u003e`component_version`\u003c/span\u003e block as defined below.\n"},"computeIsolation":{"$ref":"#/types/azure:hdinsight/HBaseClusterComputeIsolation:HBaseClusterComputeIsolation","description":"A \u003cspan pulumi-lang-nodejs=\"`computeIsolation`\" pulumi-lang-dotnet=\"`ComputeIsolation`\" pulumi-lang-go=\"`computeIsolation`\" pulumi-lang-python=\"`compute_isolation`\" pulumi-lang-yaml=\"`computeIsolation`\" pulumi-lang-java=\"`computeIsolation`\"\u003e`compute_isolation`\u003c/span\u003e block as defined below.\n"},"diskEncryptions":{"type":"array","items":{"$ref":"#/types/azure:hdinsight/HBaseClusterDiskEncryption:HBaseClusterDiskEncryption"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`diskEncryption`\" pulumi-lang-dotnet=\"`DiskEncryption`\" pulumi-lang-go=\"`diskEncryption`\" pulumi-lang-python=\"`disk_encryption`\" pulumi-lang-yaml=\"`diskEncryption`\" pulumi-lang-java=\"`diskEncryption`\"\u003e`disk_encryption`\u003c/span\u003e block as defined below.\n"},"extension":{"$ref":"#/types/azure:hdinsight/HBaseClusterExtension:HBaseClusterExtension","description":"An \u003cspan pulumi-lang-nodejs=\"`extension`\" pulumi-lang-dotnet=\"`Extension`\" pulumi-lang-go=\"`extension`\" pulumi-lang-python=\"`extension`\" pulumi-lang-yaml=\"`extension`\" pulumi-lang-java=\"`extension`\"\u003e`extension`\u003c/span\u003e block as defined below.\n"},"gateway":{"$ref":"#/types/azure:hdinsight/HBaseClusterGateway:HBaseClusterGateway","description":"A \u003cspan pulumi-lang-nodejs=\"`gateway`\" pulumi-lang-dotnet=\"`Gateway`\" pulumi-lang-go=\"`gateway`\" pulumi-lang-python=\"`gateway`\" pulumi-lang-yaml=\"`gateway`\" pulumi-lang-java=\"`gateway`\"\u003e`gateway`\u003c/span\u003e block as defined below.\n"},"httpsEndpoint":{"type":"string","description":"The HTTPS Connectivity Endpoint for this HDInsight HBase Cluster.\n"},"location":{"type":"string","description":"Specifies the Azure Region which this HDInsight HBase Cluster should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"metastores":{"$ref":"#/types/azure:hdinsight/HBaseClusterMetastores:HBaseClusterMetastores","description":"A \u003cspan pulumi-lang-nodejs=\"`metastores`\" pulumi-lang-dotnet=\"`Metastores`\" pulumi-lang-go=\"`metastores`\" pulumi-lang-python=\"`metastores`\" pulumi-lang-yaml=\"`metastores`\" pulumi-lang-java=\"`metastores`\"\u003e`metastores`\u003c/span\u003e block as defined below.\n"},"monitor":{"$ref":"#/types/azure:hdinsight/HBaseClusterMonitor:HBaseClusterMonitor","description":"A \u003cspan pulumi-lang-nodejs=\"`monitor`\" pulumi-lang-dotnet=\"`Monitor`\" pulumi-lang-go=\"`monitor`\" pulumi-lang-python=\"`monitor`\" pulumi-lang-yaml=\"`monitor`\" pulumi-lang-java=\"`monitor`\"\u003e`monitor`\u003c/span\u003e block as defined below.\n"},"name":{"type":"string","description":"Specifies the name for this HDInsight HBase Cluster. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"network":{"$ref":"#/types/azure:hdinsight/HBaseClusterNetwork:HBaseClusterNetwork","description":"A \u003cspan pulumi-lang-nodejs=\"`network`\" pulumi-lang-dotnet=\"`Network`\" pulumi-lang-go=\"`network`\" pulumi-lang-python=\"`network`\" pulumi-lang-yaml=\"`network`\" pulumi-lang-java=\"`network`\"\u003e`network`\u003c/span\u003e block as defined below.\n"},"privateLinkConfiguration":{"$ref":"#/types/azure:hdinsight/HBaseClusterPrivateLinkConfiguration:HBaseClusterPrivateLinkConfiguration","description":"A \u003cspan pulumi-lang-nodejs=\"`privateLinkConfiguration`\" pulumi-lang-dotnet=\"`PrivateLinkConfiguration`\" pulumi-lang-go=\"`privateLinkConfiguration`\" pulumi-lang-python=\"`private_link_configuration`\" pulumi-lang-yaml=\"`privateLinkConfiguration`\" pulumi-lang-java=\"`privateLinkConfiguration`\"\u003e`private_link_configuration`\u003c/span\u003e block as defined below.\n"},"resourceGroupName":{"type":"string","description":"Specifies the name of the Resource Group in which this HDInsight HBase Cluster should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"roles":{"$ref":"#/types/azure:hdinsight/HBaseClusterRoles:HBaseClusterRoles","description":"A \u003cspan pulumi-lang-nodejs=\"`roles`\" pulumi-lang-dotnet=\"`Roles`\" pulumi-lang-go=\"`roles`\" pulumi-lang-python=\"`roles`\" pulumi-lang-yaml=\"`roles`\" pulumi-lang-java=\"`roles`\"\u003e`roles`\u003c/span\u003e block as defined below.\n"},"securityProfile":{"$ref":"#/types/azure:hdinsight/HBaseClusterSecurityProfile:HBaseClusterSecurityProfile","description":"A \u003cspan pulumi-lang-nodejs=\"`securityProfile`\" pulumi-lang-dotnet=\"`SecurityProfile`\" pulumi-lang-go=\"`securityProfile`\" pulumi-lang-python=\"`security_profile`\" pulumi-lang-yaml=\"`securityProfile`\" pulumi-lang-java=\"`securityProfile`\"\u003e`security_profile`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sshEndpoint":{"type":"string","description":"The SSH Connectivity Endpoint for this HDInsight HBase Cluster.\n"},"storageAccountGen2":{"$ref":"#/types/azure:hdinsight/HBaseClusterStorageAccountGen2:HBaseClusterStorageAccountGen2","description":"A \u003cspan pulumi-lang-nodejs=\"`storageAccountGen2`\" pulumi-lang-dotnet=\"`StorageAccountGen2`\" pulumi-lang-go=\"`storageAccountGen2`\" pulumi-lang-python=\"`storage_account_gen2`\" pulumi-lang-yaml=\"`storageAccountGen2`\" pulumi-lang-java=\"`storageAccountGen2`\"\u003e`storage_account_gen2`\u003c/span\u003e block as defined below.\n"},"storageAccounts":{"type":"array","items":{"$ref":"#/types/azure:hdinsight/HBaseClusterStorageAccount:HBaseClusterStorageAccount"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`storageAccount`\" pulumi-lang-dotnet=\"`StorageAccount`\" pulumi-lang-go=\"`storageAccount`\" pulumi-lang-python=\"`storage_account`\" pulumi-lang-yaml=\"`storageAccount`\" pulumi-lang-java=\"`storageAccount`\"\u003e`storage_account`\u003c/span\u003e block as defined below.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of Tags which should be assigned to this HDInsight HBase Cluster.\n"},"tier":{"type":"string","description":"Specifies the Tier which should be used for this HDInsight HBase Cluster. Possible values are `Standard` or `Premium`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tlsMinVersion":{"type":"string","description":"The minimal supported TLS version. Possible values are 1.0, 1.1 or 1.2. Changing this forces a new resource to be created.\n\n\u003e **Note:** Starting on June 30, 2020, Azure HDInsight will enforce TLS 1.2 or later versions for all HTTPS connections. For more information, see [Azure HDInsight TLS 1.2 Enforcement](https://azure.microsoft.com/en-us/updates/azure-hdinsight-tls-12-enforcement/).\n","willReplaceOnChanges":true}},"type":"object"}},"azure:hdinsight/hadoopCluster:HadoopCluster":{"description":"Manages a HDInsight Hadoop Cluster.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleAccount = new azure.storage.Account(\"example\", {\n    name: \"hdinsightstor\",\n    resourceGroupName: example.name,\n    location: example.location,\n    accountTier: \"Standard\",\n    accountReplicationType: \"LRS\",\n});\nconst exampleContainer = new azure.storage.Container(\"example\", {\n    name: \"hdinsight\",\n    storageAccountName: exampleAccount.name,\n    containerAccessType: \"private\",\n});\nconst exampleHadoopCluster = new azure.hdinsight.HadoopCluster(\"example\", {\n    name: \"example-hdicluster\",\n    resourceGroupName: example.name,\n    location: example.location,\n    clusterVersion: \"3.6\",\n    tier: \"Standard\",\n    componentVersion: {\n        hadoop: \"2.7\",\n    },\n    gateway: {\n        username: \"acctestusrgw\",\n        password: \"PAssword123!\",\n    },\n    storageAccounts: [{\n        storageContainerId: exampleContainer.id,\n        storageAccountKey: exampleAccount.primaryAccessKey,\n        isDefault: true,\n    }],\n    roles: {\n        headNode: {\n            vmSize: \"Standard_D3_V2\",\n            username: \"acctestusrvm\",\n            password: \"AccTestvdSC4daf986!\",\n        },\n        workerNode: {\n            vmSize: \"Standard_D4_V2\",\n            username: \"acctestusrvm\",\n            password: \"AccTestvdSC4daf986!\",\n            targetInstanceCount: 3,\n        },\n        zookeeperNode: {\n            vmSize: \"Standard_D3_V2\",\n            username: \"acctestusrvm\",\n            password: \"AccTestvdSC4daf986!\",\n        },\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_account = azure.storage.Account(\"example\",\n    name=\"hdinsightstor\",\n    resource_group_name=example.name,\n    location=example.location,\n    account_tier=\"Standard\",\n    account_replication_type=\"LRS\")\nexample_container = azure.storage.Container(\"example\",\n    name=\"hdinsight\",\n    storage_account_name=example_account.name,\n    container_access_type=\"private\")\nexample_hadoop_cluster = azure.hdinsight.HadoopCluster(\"example\",\n    name=\"example-hdicluster\",\n    resource_group_name=example.name,\n    location=example.location,\n    cluster_version=\"3.6\",\n    tier=\"Standard\",\n    component_version={\n        \"hadoop\": \"2.7\",\n    },\n    gateway={\n        \"username\": \"acctestusrgw\",\n        \"password\": \"PAssword123!\",\n    },\n    storage_accounts=[{\n        \"storage_container_id\": example_container.id,\n        \"storage_account_key\": example_account.primary_access_key,\n        \"is_default\": True,\n    }],\n    roles={\n        \"head_node\": {\n            \"vm_size\": \"Standard_D3_V2\",\n            \"username\": \"acctestusrvm\",\n            \"password\": \"AccTestvdSC4daf986!\",\n        },\n        \"worker_node\": {\n            \"vm_size\": \"Standard_D4_V2\",\n            \"username\": \"acctestusrvm\",\n            \"password\": \"AccTestvdSC4daf986!\",\n            \"target_instance_count\": 3,\n        },\n        \"zookeeper_node\": {\n            \"vm_size\": \"Standard_D3_V2\",\n            \"username\": \"acctestusrvm\",\n            \"password\": \"AccTestvdSC4daf986!\",\n        },\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleAccount = new Azure.Storage.Account(\"example\", new()\n    {\n        Name = \"hdinsightstor\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        AccountTier = \"Standard\",\n        AccountReplicationType = \"LRS\",\n    });\n\n    var exampleContainer = new Azure.Storage.Container(\"example\", new()\n    {\n        Name = \"hdinsight\",\n        StorageAccountName = exampleAccount.Name,\n        ContainerAccessType = \"private\",\n    });\n\n    var exampleHadoopCluster = new Azure.HDInsight.HadoopCluster(\"example\", new()\n    {\n        Name = \"example-hdicluster\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        ClusterVersion = \"3.6\",\n        Tier = \"Standard\",\n        ComponentVersion = new Azure.HDInsight.Inputs.HadoopClusterComponentVersionArgs\n        {\n            Hadoop = \"2.7\",\n        },\n        Gateway = new Azure.HDInsight.Inputs.HadoopClusterGatewayArgs\n        {\n            Username = \"acctestusrgw\",\n            Password = \"PAssword123!\",\n        },\n        StorageAccounts = new[]\n        {\n            new Azure.HDInsight.Inputs.HadoopClusterStorageAccountArgs\n            {\n                StorageContainerId = exampleContainer.Id,\n                StorageAccountKey = exampleAccount.PrimaryAccessKey,\n                IsDefault = true,\n            },\n        },\n        Roles = new Azure.HDInsight.Inputs.HadoopClusterRolesArgs\n        {\n            HeadNode = new Azure.HDInsight.Inputs.HadoopClusterRolesHeadNodeArgs\n            {\n                VmSize = \"Standard_D3_V2\",\n                Username = \"acctestusrvm\",\n                Password = \"AccTestvdSC4daf986!\",\n            },\n            WorkerNode = new Azure.HDInsight.Inputs.HadoopClusterRolesWorkerNodeArgs\n            {\n                VmSize = \"Standard_D4_V2\",\n                Username = \"acctestusrvm\",\n                Password = \"AccTestvdSC4daf986!\",\n                TargetInstanceCount = 3,\n            },\n            ZookeeperNode = new Azure.HDInsight.Inputs.HadoopClusterRolesZookeeperNodeArgs\n            {\n                VmSize = \"Standard_D3_V2\",\n                Username = \"acctestusrvm\",\n                Password = \"AccTestvdSC4daf986!\",\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/hdinsight\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := storage.NewAccount(ctx, \"example\", \u0026storage.AccountArgs{\n\t\t\tName:                   pulumi.String(\"hdinsightstor\"),\n\t\t\tResourceGroupName:      example.Name,\n\t\t\tLocation:               example.Location,\n\t\t\tAccountTier:            pulumi.String(\"Standard\"),\n\t\t\tAccountReplicationType: pulumi.String(\"LRS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleContainer, err := storage.NewContainer(ctx, \"example\", \u0026storage.ContainerArgs{\n\t\t\tName:                pulumi.String(\"hdinsight\"),\n\t\t\tStorageAccountName:  exampleAccount.Name,\n\t\t\tContainerAccessType: pulumi.String(\"private\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = hdinsight.NewHadoopCluster(ctx, \"example\", \u0026hdinsight.HadoopClusterArgs{\n\t\t\tName:              pulumi.String(\"example-hdicluster\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tClusterVersion:    pulumi.String(\"3.6\"),\n\t\t\tTier:              pulumi.String(\"Standard\"),\n\t\t\tComponentVersion: \u0026hdinsight.HadoopClusterComponentVersionArgs{\n\t\t\t\tHadoop: pulumi.String(\"2.7\"),\n\t\t\t},\n\t\t\tGateway: \u0026hdinsight.HadoopClusterGatewayArgs{\n\t\t\t\tUsername: pulumi.String(\"acctestusrgw\"),\n\t\t\t\tPassword: pulumi.String(\"PAssword123!\"),\n\t\t\t},\n\t\t\tStorageAccounts: hdinsight.HadoopClusterStorageAccountArray{\n\t\t\t\t\u0026hdinsight.HadoopClusterStorageAccountArgs{\n\t\t\t\t\tStorageContainerId: exampleContainer.ID(),\n\t\t\t\t\tStorageAccountKey:  exampleAccount.PrimaryAccessKey,\n\t\t\t\t\tIsDefault:          pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t},\n\t\t\tRoles: \u0026hdinsight.HadoopClusterRolesArgs{\n\t\t\t\tHeadNode: \u0026hdinsight.HadoopClusterRolesHeadNodeArgs{\n\t\t\t\t\tVmSize:   pulumi.String(\"Standard_D3_V2\"),\n\t\t\t\t\tUsername: pulumi.String(\"acctestusrvm\"),\n\t\t\t\t\tPassword: pulumi.String(\"AccTestvdSC4daf986!\"),\n\t\t\t\t},\n\t\t\t\tWorkerNode: \u0026hdinsight.HadoopClusterRolesWorkerNodeArgs{\n\t\t\t\t\tVmSize:              pulumi.String(\"Standard_D4_V2\"),\n\t\t\t\t\tUsername:            pulumi.String(\"acctestusrvm\"),\n\t\t\t\t\tPassword:            pulumi.String(\"AccTestvdSC4daf986!\"),\n\t\t\t\t\tTargetInstanceCount: pulumi.Int(3),\n\t\t\t\t},\n\t\t\t\tZookeeperNode: \u0026hdinsight.HadoopClusterRolesZookeeperNodeArgs{\n\t\t\t\t\tVmSize:   pulumi.String(\"Standard_D3_V2\"),\n\t\t\t\t\tUsername: pulumi.String(\"acctestusrvm\"),\n\t\t\t\t\tPassword: pulumi.String(\"AccTestvdSC4daf986!\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.storage.Account;\nimport com.pulumi.azure.storage.AccountArgs;\nimport com.pulumi.azure.storage.Container;\nimport com.pulumi.azure.storage.ContainerArgs;\nimport com.pulumi.azure.hdinsight.HadoopCluster;\nimport com.pulumi.azure.hdinsight.HadoopClusterArgs;\nimport com.pulumi.azure.hdinsight.inputs.HadoopClusterComponentVersionArgs;\nimport com.pulumi.azure.hdinsight.inputs.HadoopClusterGatewayArgs;\nimport com.pulumi.azure.hdinsight.inputs.HadoopClusterStorageAccountArgs;\nimport com.pulumi.azure.hdinsight.inputs.HadoopClusterRolesArgs;\nimport com.pulumi.azure.hdinsight.inputs.HadoopClusterRolesHeadNodeArgs;\nimport com.pulumi.azure.hdinsight.inputs.HadoopClusterRolesWorkerNodeArgs;\nimport com.pulumi.azure.hdinsight.inputs.HadoopClusterRolesZookeeperNodeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"hdinsightstor\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .accountTier(\"Standard\")\n            .accountReplicationType(\"LRS\")\n            .build());\n\n        var exampleContainer = new Container(\"exampleContainer\", ContainerArgs.builder()\n            .name(\"hdinsight\")\n            .storageAccountName(exampleAccount.name())\n            .containerAccessType(\"private\")\n            .build());\n\n        var exampleHadoopCluster = new HadoopCluster(\"exampleHadoopCluster\", HadoopClusterArgs.builder()\n            .name(\"example-hdicluster\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .clusterVersion(\"3.6\")\n            .tier(\"Standard\")\n            .componentVersion(HadoopClusterComponentVersionArgs.builder()\n                .hadoop(\"2.7\")\n                .build())\n            .gateway(HadoopClusterGatewayArgs.builder()\n                .username(\"acctestusrgw\")\n                .password(\"PAssword123!\")\n                .build())\n            .storageAccounts(HadoopClusterStorageAccountArgs.builder()\n                .storageContainerId(exampleContainer.id())\n                .storageAccountKey(exampleAccount.primaryAccessKey())\n                .isDefault(true)\n                .build())\n            .roles(HadoopClusterRolesArgs.builder()\n                .headNode(HadoopClusterRolesHeadNodeArgs.builder()\n                    .vmSize(\"Standard_D3_V2\")\n                    .username(\"acctestusrvm\")\n                    .password(\"AccTestvdSC4daf986!\")\n                    .build())\n                .workerNode(HadoopClusterRolesWorkerNodeArgs.builder()\n                    .vmSize(\"Standard_D4_V2\")\n                    .username(\"acctestusrvm\")\n                    .password(\"AccTestvdSC4daf986!\")\n                    .targetInstanceCount(3)\n                    .build())\n                .zookeeperNode(HadoopClusterRolesZookeeperNodeArgs.builder()\n                    .vmSize(\"Standard_D3_V2\")\n                    .username(\"acctestusrvm\")\n                    .password(\"AccTestvdSC4daf986!\")\n                    .build())\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleAccount:\n    type: azure:storage:Account\n    name: example\n    properties:\n      name: hdinsightstor\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      accountTier: Standard\n      accountReplicationType: LRS\n  exampleContainer:\n    type: azure:storage:Container\n    name: example\n    properties:\n      name: hdinsight\n      storageAccountName: ${exampleAccount.name}\n      containerAccessType: private\n  exampleHadoopCluster:\n    type: azure:hdinsight:HadoopCluster\n    name: example\n    properties:\n      name: example-hdicluster\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      clusterVersion: '3.6'\n      tier: Standard\n      componentVersion:\n        hadoop: '2.7'\n      gateway:\n        username: acctestusrgw\n        password: PAssword123!\n      storageAccounts:\n        - storageContainerId: ${exampleContainer.id}\n          storageAccountKey: ${exampleAccount.primaryAccessKey}\n          isDefault: true\n      roles:\n        headNode:\n          vmSize: Standard_D3_V2\n          username: acctestusrvm\n          password: AccTestvdSC4daf986!\n        workerNode:\n          vmSize: Standard_D4_V2\n          username: acctestusrvm\n          password: AccTestvdSC4daf986!\n          targetInstanceCount: 3\n        zookeeperNode:\n          vmSize: Standard_D3_V2\n          username: acctestusrvm\n          password: AccTestvdSC4daf986!\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.HDInsight` - 2021-06-01\n\n## Import\n\nHDInsight Hadoop Clusters can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:hdinsight/hadoopCluster:HadoopCluster example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.HDInsight/clusters/cluster1\n```\n\n","properties":{"clusterVersion":{"type":"string","description":"Specifies the Version of HDInsights which should be used for this Cluster. Changing this forces a new resource to be created.\n"},"componentVersion":{"$ref":"#/types/azure:hdinsight/HadoopClusterComponentVersion:HadoopClusterComponentVersion","description":"A \u003cspan pulumi-lang-nodejs=\"`componentVersion`\" pulumi-lang-dotnet=\"`ComponentVersion`\" pulumi-lang-go=\"`componentVersion`\" pulumi-lang-python=\"`component_version`\" pulumi-lang-yaml=\"`componentVersion`\" pulumi-lang-java=\"`componentVersion`\"\u003e`component_version`\u003c/span\u003e block as defined below.\n"},"computeIsolation":{"$ref":"#/types/azure:hdinsight/HadoopClusterComputeIsolation:HadoopClusterComputeIsolation","description":"A \u003cspan pulumi-lang-nodejs=\"`computeIsolation`\" pulumi-lang-dotnet=\"`ComputeIsolation`\" pulumi-lang-go=\"`computeIsolation`\" pulumi-lang-python=\"`compute_isolation`\" pulumi-lang-yaml=\"`computeIsolation`\" pulumi-lang-java=\"`computeIsolation`\"\u003e`compute_isolation`\u003c/span\u003e block as defined below.\n"},"diskEncryptions":{"type":"array","items":{"$ref":"#/types/azure:hdinsight/HadoopClusterDiskEncryption:HadoopClusterDiskEncryption"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`diskEncryption`\" pulumi-lang-dotnet=\"`DiskEncryption`\" pulumi-lang-go=\"`diskEncryption`\" pulumi-lang-python=\"`disk_encryption`\" pulumi-lang-yaml=\"`diskEncryption`\" pulumi-lang-java=\"`diskEncryption`\"\u003e`disk_encryption`\u003c/span\u003e block as defined below.\n"},"extension":{"$ref":"#/types/azure:hdinsight/HadoopClusterExtension:HadoopClusterExtension","description":"An \u003cspan pulumi-lang-nodejs=\"`extension`\" pulumi-lang-dotnet=\"`Extension`\" pulumi-lang-go=\"`extension`\" pulumi-lang-python=\"`extension`\" pulumi-lang-yaml=\"`extension`\" pulumi-lang-java=\"`extension`\"\u003e`extension`\u003c/span\u003e block as defined below.\n"},"gateway":{"$ref":"#/types/azure:hdinsight/HadoopClusterGateway:HadoopClusterGateway","description":"A \u003cspan pulumi-lang-nodejs=\"`gateway`\" pulumi-lang-dotnet=\"`Gateway`\" pulumi-lang-go=\"`gateway`\" pulumi-lang-python=\"`gateway`\" pulumi-lang-yaml=\"`gateway`\" pulumi-lang-java=\"`gateway`\"\u003e`gateway`\u003c/span\u003e block as defined below.\n"},"httpsEndpoint":{"type":"string","description":"The HTTPS Connectivity Endpoint for this HDInsight Hadoop Cluster.\n"},"location":{"type":"string","description":"Specifies the Azure Region which this HDInsight Hadoop Cluster should exist. Changing this forces a new resource to be created.\n"},"metastores":{"$ref":"#/types/azure:hdinsight/HadoopClusterMetastores:HadoopClusterMetastores","description":"A \u003cspan pulumi-lang-nodejs=\"`metastores`\" pulumi-lang-dotnet=\"`Metastores`\" pulumi-lang-go=\"`metastores`\" pulumi-lang-python=\"`metastores`\" pulumi-lang-yaml=\"`metastores`\" pulumi-lang-java=\"`metastores`\"\u003e`metastores`\u003c/span\u003e block as defined below.\n"},"monitor":{"$ref":"#/types/azure:hdinsight/HadoopClusterMonitor:HadoopClusterMonitor","description":"A \u003cspan pulumi-lang-nodejs=\"`monitor`\" pulumi-lang-dotnet=\"`Monitor`\" pulumi-lang-go=\"`monitor`\" pulumi-lang-python=\"`monitor`\" pulumi-lang-yaml=\"`monitor`\" pulumi-lang-java=\"`monitor`\"\u003e`monitor`\u003c/span\u003e block as defined below.\n"},"name":{"type":"string","description":"Specifies the name for this HDInsight Hadoop Cluster. Changing this forces a new resource to be created.\n"},"network":{"$ref":"#/types/azure:hdinsight/HadoopClusterNetwork:HadoopClusterNetwork","description":"A \u003cspan pulumi-lang-nodejs=\"`network`\" pulumi-lang-dotnet=\"`Network`\" pulumi-lang-go=\"`network`\" pulumi-lang-python=\"`network`\" pulumi-lang-yaml=\"`network`\" pulumi-lang-java=\"`network`\"\u003e`network`\u003c/span\u003e block as defined below.\n"},"privateLinkConfiguration":{"$ref":"#/types/azure:hdinsight/HadoopClusterPrivateLinkConfiguration:HadoopClusterPrivateLinkConfiguration","description":"A \u003cspan pulumi-lang-nodejs=\"`privateLinkConfiguration`\" pulumi-lang-dotnet=\"`PrivateLinkConfiguration`\" pulumi-lang-go=\"`privateLinkConfiguration`\" pulumi-lang-python=\"`private_link_configuration`\" pulumi-lang-yaml=\"`privateLinkConfiguration`\" pulumi-lang-java=\"`privateLinkConfiguration`\"\u003e`private_link_configuration`\u003c/span\u003e block as defined below.\n"},"resourceGroupName":{"type":"string","description":"Specifies the name of the Resource Group in which this HDInsight Hadoop Cluster should exist. Changing this forces a new resource to be created.\n"},"roles":{"$ref":"#/types/azure:hdinsight/HadoopClusterRoles:HadoopClusterRoles","description":"A \u003cspan pulumi-lang-nodejs=\"`roles`\" pulumi-lang-dotnet=\"`Roles`\" pulumi-lang-go=\"`roles`\" pulumi-lang-python=\"`roles`\" pulumi-lang-yaml=\"`roles`\" pulumi-lang-java=\"`roles`\"\u003e`roles`\u003c/span\u003e block as defined below.\n"},"securityProfile":{"$ref":"#/types/azure:hdinsight/HadoopClusterSecurityProfile:HadoopClusterSecurityProfile","description":"A \u003cspan pulumi-lang-nodejs=\"`securityProfile`\" pulumi-lang-dotnet=\"`SecurityProfile`\" pulumi-lang-go=\"`securityProfile`\" pulumi-lang-python=\"`security_profile`\" pulumi-lang-yaml=\"`securityProfile`\" pulumi-lang-java=\"`securityProfile`\"\u003e`security_profile`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n"},"sshEndpoint":{"type":"string","description":"The SSH Connectivity Endpoint for this HDInsight Hadoop Cluster.\n"},"storageAccountGen2":{"$ref":"#/types/azure:hdinsight/HadoopClusterStorageAccountGen2:HadoopClusterStorageAccountGen2","description":"A \u003cspan pulumi-lang-nodejs=\"`storageAccountGen2`\" pulumi-lang-dotnet=\"`StorageAccountGen2`\" pulumi-lang-go=\"`storageAccountGen2`\" pulumi-lang-python=\"`storage_account_gen2`\" pulumi-lang-yaml=\"`storageAccountGen2`\" pulumi-lang-java=\"`storageAccountGen2`\"\u003e`storage_account_gen2`\u003c/span\u003e block as defined below.\n"},"storageAccounts":{"type":"array","items":{"$ref":"#/types/azure:hdinsight/HadoopClusterStorageAccount:HadoopClusterStorageAccount"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`storageAccount`\" pulumi-lang-dotnet=\"`StorageAccount`\" pulumi-lang-go=\"`storageAccount`\" pulumi-lang-python=\"`storage_account`\" pulumi-lang-yaml=\"`storageAccount`\" pulumi-lang-java=\"`storageAccount`\"\u003e`storage_account`\u003c/span\u003e block as defined below.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of Tags which should be assigned to this HDInsight Hadoop Cluster.\n"},"tier":{"type":"string","description":"Specifies the Tier which should be used for this HDInsight Hadoop Cluster. Possible values are `Standard` or `Premium`. Changing this forces a new resource to be created.\n"},"tlsMinVersion":{"type":"string","description":"The minimal supported TLS version. Possible values are 1.0, 1.1 or 1.2. Changing this forces a new resource to be created.\n\n\u003e **Note:** Starting on June 30, 2020, Azure HDInsight will enforce TLS 1.2 or later versions for all HTTPS connections. For more information, see [Azure HDInsight TLS 1.2 Enforcement](https://azure.microsoft.com/en-us/updates/azure-hdinsight-tls-12-enforcement/).\n"}},"required":["clusterVersion","componentVersion","gateway","httpsEndpoint","location","name","resourceGroupName","roles","sshEndpoint","tier"],"inputProperties":{"clusterVersion":{"type":"string","description":"Specifies the Version of HDInsights which should be used for this Cluster. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"componentVersion":{"$ref":"#/types/azure:hdinsight/HadoopClusterComponentVersion:HadoopClusterComponentVersion","description":"A \u003cspan pulumi-lang-nodejs=\"`componentVersion`\" pulumi-lang-dotnet=\"`ComponentVersion`\" pulumi-lang-go=\"`componentVersion`\" pulumi-lang-python=\"`component_version`\" pulumi-lang-yaml=\"`componentVersion`\" pulumi-lang-java=\"`componentVersion`\"\u003e`component_version`\u003c/span\u003e block as defined below.\n"},"computeIsolation":{"$ref":"#/types/azure:hdinsight/HadoopClusterComputeIsolation:HadoopClusterComputeIsolation","description":"A \u003cspan pulumi-lang-nodejs=\"`computeIsolation`\" pulumi-lang-dotnet=\"`ComputeIsolation`\" pulumi-lang-go=\"`computeIsolation`\" pulumi-lang-python=\"`compute_isolation`\" pulumi-lang-yaml=\"`computeIsolation`\" pulumi-lang-java=\"`computeIsolation`\"\u003e`compute_isolation`\u003c/span\u003e block as defined below.\n"},"diskEncryptions":{"type":"array","items":{"$ref":"#/types/azure:hdinsight/HadoopClusterDiskEncryption:HadoopClusterDiskEncryption"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`diskEncryption`\" pulumi-lang-dotnet=\"`DiskEncryption`\" pulumi-lang-go=\"`diskEncryption`\" pulumi-lang-python=\"`disk_encryption`\" pulumi-lang-yaml=\"`diskEncryption`\" pulumi-lang-java=\"`diskEncryption`\"\u003e`disk_encryption`\u003c/span\u003e block as defined below.\n"},"extension":{"$ref":"#/types/azure:hdinsight/HadoopClusterExtension:HadoopClusterExtension","description":"An \u003cspan pulumi-lang-nodejs=\"`extension`\" pulumi-lang-dotnet=\"`Extension`\" pulumi-lang-go=\"`extension`\" pulumi-lang-python=\"`extension`\" pulumi-lang-yaml=\"`extension`\" pulumi-lang-java=\"`extension`\"\u003e`extension`\u003c/span\u003e block as defined below.\n"},"gateway":{"$ref":"#/types/azure:hdinsight/HadoopClusterGateway:HadoopClusterGateway","description":"A \u003cspan pulumi-lang-nodejs=\"`gateway`\" pulumi-lang-dotnet=\"`Gateway`\" pulumi-lang-go=\"`gateway`\" pulumi-lang-python=\"`gateway`\" pulumi-lang-yaml=\"`gateway`\" pulumi-lang-java=\"`gateway`\"\u003e`gateway`\u003c/span\u003e block as defined below.\n"},"location":{"type":"string","description":"Specifies the Azure Region which this HDInsight Hadoop Cluster should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"metastores":{"$ref":"#/types/azure:hdinsight/HadoopClusterMetastores:HadoopClusterMetastores","description":"A \u003cspan pulumi-lang-nodejs=\"`metastores`\" pulumi-lang-dotnet=\"`Metastores`\" pulumi-lang-go=\"`metastores`\" pulumi-lang-python=\"`metastores`\" pulumi-lang-yaml=\"`metastores`\" pulumi-lang-java=\"`metastores`\"\u003e`metastores`\u003c/span\u003e block as defined below.\n"},"monitor":{"$ref":"#/types/azure:hdinsight/HadoopClusterMonitor:HadoopClusterMonitor","description":"A \u003cspan pulumi-lang-nodejs=\"`monitor`\" pulumi-lang-dotnet=\"`Monitor`\" pulumi-lang-go=\"`monitor`\" pulumi-lang-python=\"`monitor`\" pulumi-lang-yaml=\"`monitor`\" pulumi-lang-java=\"`monitor`\"\u003e`monitor`\u003c/span\u003e block as defined below.\n"},"name":{"type":"string","description":"Specifies the name for this HDInsight Hadoop Cluster. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"network":{"$ref":"#/types/azure:hdinsight/HadoopClusterNetwork:HadoopClusterNetwork","description":"A \u003cspan pulumi-lang-nodejs=\"`network`\" pulumi-lang-dotnet=\"`Network`\" pulumi-lang-go=\"`network`\" pulumi-lang-python=\"`network`\" pulumi-lang-yaml=\"`network`\" pulumi-lang-java=\"`network`\"\u003e`network`\u003c/span\u003e block as defined below.\n"},"privateLinkConfiguration":{"$ref":"#/types/azure:hdinsight/HadoopClusterPrivateLinkConfiguration:HadoopClusterPrivateLinkConfiguration","description":"A \u003cspan pulumi-lang-nodejs=\"`privateLinkConfiguration`\" pulumi-lang-dotnet=\"`PrivateLinkConfiguration`\" pulumi-lang-go=\"`privateLinkConfiguration`\" pulumi-lang-python=\"`private_link_configuration`\" pulumi-lang-yaml=\"`privateLinkConfiguration`\" pulumi-lang-java=\"`privateLinkConfiguration`\"\u003e`private_link_configuration`\u003c/span\u003e block as defined below.\n"},"resourceGroupName":{"type":"string","description":"Specifies the name of the Resource Group in which this HDInsight Hadoop Cluster should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"roles":{"$ref":"#/types/azure:hdinsight/HadoopClusterRoles:HadoopClusterRoles","description":"A \u003cspan pulumi-lang-nodejs=\"`roles`\" pulumi-lang-dotnet=\"`Roles`\" pulumi-lang-go=\"`roles`\" pulumi-lang-python=\"`roles`\" pulumi-lang-yaml=\"`roles`\" pulumi-lang-java=\"`roles`\"\u003e`roles`\u003c/span\u003e block as defined below.\n"},"securityProfile":{"$ref":"#/types/azure:hdinsight/HadoopClusterSecurityProfile:HadoopClusterSecurityProfile","description":"A \u003cspan pulumi-lang-nodejs=\"`securityProfile`\" pulumi-lang-dotnet=\"`SecurityProfile`\" pulumi-lang-go=\"`securityProfile`\" pulumi-lang-python=\"`security_profile`\" pulumi-lang-yaml=\"`securityProfile`\" pulumi-lang-java=\"`securityProfile`\"\u003e`security_profile`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"storageAccountGen2":{"$ref":"#/types/azure:hdinsight/HadoopClusterStorageAccountGen2:HadoopClusterStorageAccountGen2","description":"A \u003cspan pulumi-lang-nodejs=\"`storageAccountGen2`\" pulumi-lang-dotnet=\"`StorageAccountGen2`\" pulumi-lang-go=\"`storageAccountGen2`\" pulumi-lang-python=\"`storage_account_gen2`\" pulumi-lang-yaml=\"`storageAccountGen2`\" pulumi-lang-java=\"`storageAccountGen2`\"\u003e`storage_account_gen2`\u003c/span\u003e block as defined below.\n"},"storageAccounts":{"type":"array","items":{"$ref":"#/types/azure:hdinsight/HadoopClusterStorageAccount:HadoopClusterStorageAccount"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`storageAccount`\" pulumi-lang-dotnet=\"`StorageAccount`\" pulumi-lang-go=\"`storageAccount`\" pulumi-lang-python=\"`storage_account`\" pulumi-lang-yaml=\"`storageAccount`\" pulumi-lang-java=\"`storageAccount`\"\u003e`storage_account`\u003c/span\u003e block as defined below.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of Tags which should be assigned to this HDInsight Hadoop Cluster.\n"},"tier":{"type":"string","description":"Specifies the Tier which should be used for this HDInsight Hadoop Cluster. Possible values are `Standard` or `Premium`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tlsMinVersion":{"type":"string","description":"The minimal supported TLS version. Possible values are 1.0, 1.1 or 1.2. Changing this forces a new resource to be created.\n\n\u003e **Note:** Starting on June 30, 2020, Azure HDInsight will enforce TLS 1.2 or later versions for all HTTPS connections. For more information, see [Azure HDInsight TLS 1.2 Enforcement](https://azure.microsoft.com/en-us/updates/azure-hdinsight-tls-12-enforcement/).\n","willReplaceOnChanges":true}},"requiredInputs":["clusterVersion","componentVersion","gateway","resourceGroupName","roles","tier"],"stateInputs":{"description":"Input properties used for looking up and filtering HadoopCluster resources.\n","properties":{"clusterVersion":{"type":"string","description":"Specifies the Version of HDInsights which should be used for this Cluster. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"componentVersion":{"$ref":"#/types/azure:hdinsight/HadoopClusterComponentVersion:HadoopClusterComponentVersion","description":"A \u003cspan pulumi-lang-nodejs=\"`componentVersion`\" pulumi-lang-dotnet=\"`ComponentVersion`\" pulumi-lang-go=\"`componentVersion`\" pulumi-lang-python=\"`component_version`\" pulumi-lang-yaml=\"`componentVersion`\" pulumi-lang-java=\"`componentVersion`\"\u003e`component_version`\u003c/span\u003e block as defined below.\n"},"computeIsolation":{"$ref":"#/types/azure:hdinsight/HadoopClusterComputeIsolation:HadoopClusterComputeIsolation","description":"A \u003cspan pulumi-lang-nodejs=\"`computeIsolation`\" pulumi-lang-dotnet=\"`ComputeIsolation`\" pulumi-lang-go=\"`computeIsolation`\" pulumi-lang-python=\"`compute_isolation`\" pulumi-lang-yaml=\"`computeIsolation`\" pulumi-lang-java=\"`computeIsolation`\"\u003e`compute_isolation`\u003c/span\u003e block as defined below.\n"},"diskEncryptions":{"type":"array","items":{"$ref":"#/types/azure:hdinsight/HadoopClusterDiskEncryption:HadoopClusterDiskEncryption"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`diskEncryption`\" pulumi-lang-dotnet=\"`DiskEncryption`\" pulumi-lang-go=\"`diskEncryption`\" pulumi-lang-python=\"`disk_encryption`\" pulumi-lang-yaml=\"`diskEncryption`\" pulumi-lang-java=\"`diskEncryption`\"\u003e`disk_encryption`\u003c/span\u003e block as defined below.\n"},"extension":{"$ref":"#/types/azure:hdinsight/HadoopClusterExtension:HadoopClusterExtension","description":"An \u003cspan pulumi-lang-nodejs=\"`extension`\" pulumi-lang-dotnet=\"`Extension`\" pulumi-lang-go=\"`extension`\" pulumi-lang-python=\"`extension`\" pulumi-lang-yaml=\"`extension`\" pulumi-lang-java=\"`extension`\"\u003e`extension`\u003c/span\u003e block as defined below.\n"},"gateway":{"$ref":"#/types/azure:hdinsight/HadoopClusterGateway:HadoopClusterGateway","description":"A \u003cspan pulumi-lang-nodejs=\"`gateway`\" pulumi-lang-dotnet=\"`Gateway`\" pulumi-lang-go=\"`gateway`\" pulumi-lang-python=\"`gateway`\" pulumi-lang-yaml=\"`gateway`\" pulumi-lang-java=\"`gateway`\"\u003e`gateway`\u003c/span\u003e block as defined below.\n"},"httpsEndpoint":{"type":"string","description":"The HTTPS Connectivity Endpoint for this HDInsight Hadoop Cluster.\n"},"location":{"type":"string","description":"Specifies the Azure Region which this HDInsight Hadoop Cluster should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"metastores":{"$ref":"#/types/azure:hdinsight/HadoopClusterMetastores:HadoopClusterMetastores","description":"A \u003cspan pulumi-lang-nodejs=\"`metastores`\" pulumi-lang-dotnet=\"`Metastores`\" pulumi-lang-go=\"`metastores`\" pulumi-lang-python=\"`metastores`\" pulumi-lang-yaml=\"`metastores`\" pulumi-lang-java=\"`metastores`\"\u003e`metastores`\u003c/span\u003e block as defined below.\n"},"monitor":{"$ref":"#/types/azure:hdinsight/HadoopClusterMonitor:HadoopClusterMonitor","description":"A \u003cspan pulumi-lang-nodejs=\"`monitor`\" pulumi-lang-dotnet=\"`Monitor`\" pulumi-lang-go=\"`monitor`\" pulumi-lang-python=\"`monitor`\" pulumi-lang-yaml=\"`monitor`\" pulumi-lang-java=\"`monitor`\"\u003e`monitor`\u003c/span\u003e block as defined below.\n"},"name":{"type":"string","description":"Specifies the name for this HDInsight Hadoop Cluster. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"network":{"$ref":"#/types/azure:hdinsight/HadoopClusterNetwork:HadoopClusterNetwork","description":"A \u003cspan pulumi-lang-nodejs=\"`network`\" pulumi-lang-dotnet=\"`Network`\" pulumi-lang-go=\"`network`\" pulumi-lang-python=\"`network`\" pulumi-lang-yaml=\"`network`\" pulumi-lang-java=\"`network`\"\u003e`network`\u003c/span\u003e block as defined below.\n"},"privateLinkConfiguration":{"$ref":"#/types/azure:hdinsight/HadoopClusterPrivateLinkConfiguration:HadoopClusterPrivateLinkConfiguration","description":"A \u003cspan pulumi-lang-nodejs=\"`privateLinkConfiguration`\" pulumi-lang-dotnet=\"`PrivateLinkConfiguration`\" pulumi-lang-go=\"`privateLinkConfiguration`\" pulumi-lang-python=\"`private_link_configuration`\" pulumi-lang-yaml=\"`privateLinkConfiguration`\" pulumi-lang-java=\"`privateLinkConfiguration`\"\u003e`private_link_configuration`\u003c/span\u003e block as defined below.\n"},"resourceGroupName":{"type":"string","description":"Specifies the name of the Resource Group in which this HDInsight Hadoop Cluster should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"roles":{"$ref":"#/types/azure:hdinsight/HadoopClusterRoles:HadoopClusterRoles","description":"A \u003cspan pulumi-lang-nodejs=\"`roles`\" pulumi-lang-dotnet=\"`Roles`\" pulumi-lang-go=\"`roles`\" pulumi-lang-python=\"`roles`\" pulumi-lang-yaml=\"`roles`\" pulumi-lang-java=\"`roles`\"\u003e`roles`\u003c/span\u003e block as defined below.\n"},"securityProfile":{"$ref":"#/types/azure:hdinsight/HadoopClusterSecurityProfile:HadoopClusterSecurityProfile","description":"A \u003cspan pulumi-lang-nodejs=\"`securityProfile`\" pulumi-lang-dotnet=\"`SecurityProfile`\" pulumi-lang-go=\"`securityProfile`\" pulumi-lang-python=\"`security_profile`\" pulumi-lang-yaml=\"`securityProfile`\" pulumi-lang-java=\"`securityProfile`\"\u003e`security_profile`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sshEndpoint":{"type":"string","description":"The SSH Connectivity Endpoint for this HDInsight Hadoop Cluster.\n"},"storageAccountGen2":{"$ref":"#/types/azure:hdinsight/HadoopClusterStorageAccountGen2:HadoopClusterStorageAccountGen2","description":"A \u003cspan pulumi-lang-nodejs=\"`storageAccountGen2`\" pulumi-lang-dotnet=\"`StorageAccountGen2`\" pulumi-lang-go=\"`storageAccountGen2`\" pulumi-lang-python=\"`storage_account_gen2`\" pulumi-lang-yaml=\"`storageAccountGen2`\" pulumi-lang-java=\"`storageAccountGen2`\"\u003e`storage_account_gen2`\u003c/span\u003e block as defined below.\n"},"storageAccounts":{"type":"array","items":{"$ref":"#/types/azure:hdinsight/HadoopClusterStorageAccount:HadoopClusterStorageAccount"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`storageAccount`\" pulumi-lang-dotnet=\"`StorageAccount`\" pulumi-lang-go=\"`storageAccount`\" pulumi-lang-python=\"`storage_account`\" pulumi-lang-yaml=\"`storageAccount`\" pulumi-lang-java=\"`storageAccount`\"\u003e`storage_account`\u003c/span\u003e block as defined below.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of Tags which should be assigned to this HDInsight Hadoop Cluster.\n"},"tier":{"type":"string","description":"Specifies the Tier which should be used for this HDInsight Hadoop Cluster. Possible values are `Standard` or `Premium`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tlsMinVersion":{"type":"string","description":"The minimal supported TLS version. Possible values are 1.0, 1.1 or 1.2. Changing this forces a new resource to be created.\n\n\u003e **Note:** Starting on June 30, 2020, Azure HDInsight will enforce TLS 1.2 or later versions for all HTTPS connections. For more information, see [Azure HDInsight TLS 1.2 Enforcement](https://azure.microsoft.com/en-us/updates/azure-hdinsight-tls-12-enforcement/).\n","willReplaceOnChanges":true}},"type":"object"}},"azure:hdinsight/interactiveQueryCluster:InteractiveQueryCluster":{"description":"Manages a HDInsight Interactive Query Cluster.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleAccount = new azure.storage.Account(\"example\", {\n    name: \"hdinsightstor\",\n    resourceGroupName: example.name,\n    location: example.location,\n    accountTier: \"Standard\",\n    accountReplicationType: \"LRS\",\n});\nconst exampleContainer = new azure.storage.Container(\"example\", {\n    name: \"hdinsight\",\n    storageAccountName: exampleAccount.name,\n    containerAccessType: \"private\",\n});\nconst exampleInteractiveQueryCluster = new azure.hdinsight.InteractiveQueryCluster(\"example\", {\n    name: \"example-hdicluster\",\n    resourceGroupName: example.name,\n    location: example.location,\n    clusterVersion: \"3.6\",\n    tier: \"Standard\",\n    componentVersion: {\n        interactiveHive: \"2.1\",\n    },\n    gateway: {\n        username: \"acctestusrgw\",\n        password: \"Password!\",\n    },\n    storageAccounts: [{\n        storageContainerId: exampleContainer.id,\n        storageAccountKey: exampleAccount.primaryAccessKey,\n        isDefault: true,\n    }],\n    roles: {\n        headNode: {\n            vmSize: \"Standard_D13_V2\",\n            username: \"acctestusrvm\",\n            password: \"AccTestvdSC4daf986!\",\n        },\n        workerNode: {\n            vmSize: \"Standard_D14_V2\",\n            username: \"acctestusrvm\",\n            password: \"AccTestvdSC4daf986!\",\n            targetInstanceCount: 3,\n        },\n        zookeeperNode: {\n            vmSize: \"Standard_A4_V2\",\n            username: \"acctestusrvm\",\n            password: \"AccTestvdSC4daf986!\",\n        },\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_account = azure.storage.Account(\"example\",\n    name=\"hdinsightstor\",\n    resource_group_name=example.name,\n    location=example.location,\n    account_tier=\"Standard\",\n    account_replication_type=\"LRS\")\nexample_container = azure.storage.Container(\"example\",\n    name=\"hdinsight\",\n    storage_account_name=example_account.name,\n    container_access_type=\"private\")\nexample_interactive_query_cluster = azure.hdinsight.InteractiveQueryCluster(\"example\",\n    name=\"example-hdicluster\",\n    resource_group_name=example.name,\n    location=example.location,\n    cluster_version=\"3.6\",\n    tier=\"Standard\",\n    component_version={\n        \"interactive_hive\": \"2.1\",\n    },\n    gateway={\n        \"username\": \"acctestusrgw\",\n        \"password\": \"Password!\",\n    },\n    storage_accounts=[{\n        \"storage_container_id\": example_container.id,\n        \"storage_account_key\": example_account.primary_access_key,\n        \"is_default\": True,\n    }],\n    roles={\n        \"head_node\": {\n            \"vm_size\": \"Standard_D13_V2\",\n            \"username\": \"acctestusrvm\",\n            \"password\": \"AccTestvdSC4daf986!\",\n        },\n        \"worker_node\": {\n            \"vm_size\": \"Standard_D14_V2\",\n            \"username\": \"acctestusrvm\",\n            \"password\": \"AccTestvdSC4daf986!\",\n            \"target_instance_count\": 3,\n        },\n        \"zookeeper_node\": {\n            \"vm_size\": \"Standard_A4_V2\",\n            \"username\": \"acctestusrvm\",\n            \"password\": \"AccTestvdSC4daf986!\",\n        },\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleAccount = new Azure.Storage.Account(\"example\", new()\n    {\n        Name = \"hdinsightstor\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        AccountTier = \"Standard\",\n        AccountReplicationType = \"LRS\",\n    });\n\n    var exampleContainer = new Azure.Storage.Container(\"example\", new()\n    {\n        Name = \"hdinsight\",\n        StorageAccountName = exampleAccount.Name,\n        ContainerAccessType = \"private\",\n    });\n\n    var exampleInteractiveQueryCluster = new Azure.HDInsight.InteractiveQueryCluster(\"example\", new()\n    {\n        Name = \"example-hdicluster\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        ClusterVersion = \"3.6\",\n        Tier = \"Standard\",\n        ComponentVersion = new Azure.HDInsight.Inputs.InteractiveQueryClusterComponentVersionArgs\n        {\n            InteractiveHive = \"2.1\",\n        },\n        Gateway = new Azure.HDInsight.Inputs.InteractiveQueryClusterGatewayArgs\n        {\n            Username = \"acctestusrgw\",\n            Password = \"Password!\",\n        },\n        StorageAccounts = new[]\n        {\n            new Azure.HDInsight.Inputs.InteractiveQueryClusterStorageAccountArgs\n            {\n                StorageContainerId = exampleContainer.Id,\n                StorageAccountKey = exampleAccount.PrimaryAccessKey,\n                IsDefault = true,\n            },\n        },\n        Roles = new Azure.HDInsight.Inputs.InteractiveQueryClusterRolesArgs\n        {\n            HeadNode = new Azure.HDInsight.Inputs.InteractiveQueryClusterRolesHeadNodeArgs\n            {\n                VmSize = \"Standard_D13_V2\",\n                Username = \"acctestusrvm\",\n                Password = \"AccTestvdSC4daf986!\",\n            },\n            WorkerNode = new Azure.HDInsight.Inputs.InteractiveQueryClusterRolesWorkerNodeArgs\n            {\n                VmSize = \"Standard_D14_V2\",\n                Username = \"acctestusrvm\",\n                Password = \"AccTestvdSC4daf986!\",\n                TargetInstanceCount = 3,\n            },\n            ZookeeperNode = new Azure.HDInsight.Inputs.InteractiveQueryClusterRolesZookeeperNodeArgs\n            {\n                VmSize = \"Standard_A4_V2\",\n                Username = \"acctestusrvm\",\n                Password = \"AccTestvdSC4daf986!\",\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/hdinsight\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := storage.NewAccount(ctx, \"example\", \u0026storage.AccountArgs{\n\t\t\tName:                   pulumi.String(\"hdinsightstor\"),\n\t\t\tResourceGroupName:      example.Name,\n\t\t\tLocation:               example.Location,\n\t\t\tAccountTier:            pulumi.String(\"Standard\"),\n\t\t\tAccountReplicationType: pulumi.String(\"LRS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleContainer, err := storage.NewContainer(ctx, \"example\", \u0026storage.ContainerArgs{\n\t\t\tName:                pulumi.String(\"hdinsight\"),\n\t\t\tStorageAccountName:  exampleAccount.Name,\n\t\t\tContainerAccessType: pulumi.String(\"private\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = hdinsight.NewInteractiveQueryCluster(ctx, \"example\", \u0026hdinsight.InteractiveQueryClusterArgs{\n\t\t\tName:              pulumi.String(\"example-hdicluster\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tClusterVersion:    pulumi.String(\"3.6\"),\n\t\t\tTier:              pulumi.String(\"Standard\"),\n\t\t\tComponentVersion: \u0026hdinsight.InteractiveQueryClusterComponentVersionArgs{\n\t\t\t\tInteractiveHive: pulumi.String(\"2.1\"),\n\t\t\t},\n\t\t\tGateway: \u0026hdinsight.InteractiveQueryClusterGatewayArgs{\n\t\t\t\tUsername: pulumi.String(\"acctestusrgw\"),\n\t\t\t\tPassword: pulumi.String(\"Password!\"),\n\t\t\t},\n\t\t\tStorageAccounts: hdinsight.InteractiveQueryClusterStorageAccountArray{\n\t\t\t\t\u0026hdinsight.InteractiveQueryClusterStorageAccountArgs{\n\t\t\t\t\tStorageContainerId: exampleContainer.ID(),\n\t\t\t\t\tStorageAccountKey:  exampleAccount.PrimaryAccessKey,\n\t\t\t\t\tIsDefault:          pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t},\n\t\t\tRoles: \u0026hdinsight.InteractiveQueryClusterRolesArgs{\n\t\t\t\tHeadNode: \u0026hdinsight.InteractiveQueryClusterRolesHeadNodeArgs{\n\t\t\t\t\tVmSize:   pulumi.String(\"Standard_D13_V2\"),\n\t\t\t\t\tUsername: pulumi.String(\"acctestusrvm\"),\n\t\t\t\t\tPassword: pulumi.String(\"AccTestvdSC4daf986!\"),\n\t\t\t\t},\n\t\t\t\tWorkerNode: \u0026hdinsight.InteractiveQueryClusterRolesWorkerNodeArgs{\n\t\t\t\t\tVmSize:              pulumi.String(\"Standard_D14_V2\"),\n\t\t\t\t\tUsername:            pulumi.String(\"acctestusrvm\"),\n\t\t\t\t\tPassword:            pulumi.String(\"AccTestvdSC4daf986!\"),\n\t\t\t\t\tTargetInstanceCount: pulumi.Int(3),\n\t\t\t\t},\n\t\t\t\tZookeeperNode: \u0026hdinsight.InteractiveQueryClusterRolesZookeeperNodeArgs{\n\t\t\t\t\tVmSize:   pulumi.String(\"Standard_A4_V2\"),\n\t\t\t\t\tUsername: pulumi.String(\"acctestusrvm\"),\n\t\t\t\t\tPassword: pulumi.String(\"AccTestvdSC4daf986!\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.storage.Account;\nimport com.pulumi.azure.storage.AccountArgs;\nimport com.pulumi.azure.storage.Container;\nimport com.pulumi.azure.storage.ContainerArgs;\nimport com.pulumi.azure.hdinsight.InteractiveQueryCluster;\nimport com.pulumi.azure.hdinsight.InteractiveQueryClusterArgs;\nimport com.pulumi.azure.hdinsight.inputs.InteractiveQueryClusterComponentVersionArgs;\nimport com.pulumi.azure.hdinsight.inputs.InteractiveQueryClusterGatewayArgs;\nimport com.pulumi.azure.hdinsight.inputs.InteractiveQueryClusterStorageAccountArgs;\nimport com.pulumi.azure.hdinsight.inputs.InteractiveQueryClusterRolesArgs;\nimport com.pulumi.azure.hdinsight.inputs.InteractiveQueryClusterRolesHeadNodeArgs;\nimport com.pulumi.azure.hdinsight.inputs.InteractiveQueryClusterRolesWorkerNodeArgs;\nimport com.pulumi.azure.hdinsight.inputs.InteractiveQueryClusterRolesZookeeperNodeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"hdinsightstor\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .accountTier(\"Standard\")\n            .accountReplicationType(\"LRS\")\n            .build());\n\n        var exampleContainer = new Container(\"exampleContainer\", ContainerArgs.builder()\n            .name(\"hdinsight\")\n            .storageAccountName(exampleAccount.name())\n            .containerAccessType(\"private\")\n            .build());\n\n        var exampleInteractiveQueryCluster = new InteractiveQueryCluster(\"exampleInteractiveQueryCluster\", InteractiveQueryClusterArgs.builder()\n            .name(\"example-hdicluster\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .clusterVersion(\"3.6\")\n            .tier(\"Standard\")\n            .componentVersion(InteractiveQueryClusterComponentVersionArgs.builder()\n                .interactiveHive(\"2.1\")\n                .build())\n            .gateway(InteractiveQueryClusterGatewayArgs.builder()\n                .username(\"acctestusrgw\")\n                .password(\"Password!\")\n                .build())\n            .storageAccounts(InteractiveQueryClusterStorageAccountArgs.builder()\n                .storageContainerId(exampleContainer.id())\n                .storageAccountKey(exampleAccount.primaryAccessKey())\n                .isDefault(true)\n                .build())\n            .roles(InteractiveQueryClusterRolesArgs.builder()\n                .headNode(InteractiveQueryClusterRolesHeadNodeArgs.builder()\n                    .vmSize(\"Standard_D13_V2\")\n                    .username(\"acctestusrvm\")\n                    .password(\"AccTestvdSC4daf986!\")\n                    .build())\n                .workerNode(InteractiveQueryClusterRolesWorkerNodeArgs.builder()\n                    .vmSize(\"Standard_D14_V2\")\n                    .username(\"acctestusrvm\")\n                    .password(\"AccTestvdSC4daf986!\")\n                    .targetInstanceCount(3)\n                    .build())\n                .zookeeperNode(InteractiveQueryClusterRolesZookeeperNodeArgs.builder()\n                    .vmSize(\"Standard_A4_V2\")\n                    .username(\"acctestusrvm\")\n                    .password(\"AccTestvdSC4daf986!\")\n                    .build())\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleAccount:\n    type: azure:storage:Account\n    name: example\n    properties:\n      name: hdinsightstor\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      accountTier: Standard\n      accountReplicationType: LRS\n  exampleContainer:\n    type: azure:storage:Container\n    name: example\n    properties:\n      name: hdinsight\n      storageAccountName: ${exampleAccount.name}\n      containerAccessType: private\n  exampleInteractiveQueryCluster:\n    type: azure:hdinsight:InteractiveQueryCluster\n    name: example\n    properties:\n      name: example-hdicluster\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      clusterVersion: '3.6'\n      tier: Standard\n      componentVersion:\n        interactiveHive: '2.1'\n      gateway:\n        username: acctestusrgw\n        password: Password!\n      storageAccounts:\n        - storageContainerId: ${exampleContainer.id}\n          storageAccountKey: ${exampleAccount.primaryAccessKey}\n          isDefault: true\n      roles:\n        headNode:\n          vmSize: Standard_D13_V2\n          username: acctestusrvm\n          password: AccTestvdSC4daf986!\n        workerNode:\n          vmSize: Standard_D14_V2\n          username: acctestusrvm\n          password: AccTestvdSC4daf986!\n          targetInstanceCount: 3\n        zookeeperNode:\n          vmSize: Standard_A4_V2\n          username: acctestusrvm\n          password: AccTestvdSC4daf986!\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.HDInsight` - 2021-06-01\n\n## Import\n\nHDInsight Interactive Query Clusters can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:hdinsight/interactiveQueryCluster:InteractiveQueryCluster example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.HDInsight/clusters/cluster1\n```\n\n","properties":{"clusterVersion":{"type":"string","description":"Specifies the Version of HDInsights which should be used for this Cluster. Changing this forces a new resource to be created.\n"},"componentVersion":{"$ref":"#/types/azure:hdinsight/InteractiveQueryClusterComponentVersion:InteractiveQueryClusterComponentVersion","description":"A \u003cspan pulumi-lang-nodejs=\"`componentVersion`\" pulumi-lang-dotnet=\"`ComponentVersion`\" pulumi-lang-go=\"`componentVersion`\" pulumi-lang-python=\"`component_version`\" pulumi-lang-yaml=\"`componentVersion`\" pulumi-lang-java=\"`componentVersion`\"\u003e`component_version`\u003c/span\u003e block as defined below.\n"},"computeIsolation":{"$ref":"#/types/azure:hdinsight/InteractiveQueryClusterComputeIsolation:InteractiveQueryClusterComputeIsolation","description":"A \u003cspan pulumi-lang-nodejs=\"`computeIsolation`\" pulumi-lang-dotnet=\"`ComputeIsolation`\" pulumi-lang-go=\"`computeIsolation`\" pulumi-lang-python=\"`compute_isolation`\" pulumi-lang-yaml=\"`computeIsolation`\" pulumi-lang-java=\"`computeIsolation`\"\u003e`compute_isolation`\u003c/span\u003e block as defined below.\n"},"diskEncryptions":{"type":"array","items":{"$ref":"#/types/azure:hdinsight/InteractiveQueryClusterDiskEncryption:InteractiveQueryClusterDiskEncryption"},"description":"A \u003cspan pulumi-lang-nodejs=\"`diskEncryption`\" pulumi-lang-dotnet=\"`DiskEncryption`\" pulumi-lang-go=\"`diskEncryption`\" pulumi-lang-python=\"`disk_encryption`\" pulumi-lang-yaml=\"`diskEncryption`\" pulumi-lang-java=\"`diskEncryption`\"\u003e`disk_encryption`\u003c/span\u003e block as defined below.\n"},"encryptionInTransitEnabled":{"type":"boolean","description":"Whether encryption in transit is enabled for this Cluster. Changing this forces a new resource to be created.\n"},"extension":{"$ref":"#/types/azure:hdinsight/InteractiveQueryClusterExtension:InteractiveQueryClusterExtension","description":"An \u003cspan pulumi-lang-nodejs=\"`extension`\" pulumi-lang-dotnet=\"`Extension`\" pulumi-lang-go=\"`extension`\" pulumi-lang-python=\"`extension`\" pulumi-lang-yaml=\"`extension`\" pulumi-lang-java=\"`extension`\"\u003e`extension`\u003c/span\u003e block as defined below.\n"},"gateway":{"$ref":"#/types/azure:hdinsight/InteractiveQueryClusterGateway:InteractiveQueryClusterGateway","description":"A \u003cspan pulumi-lang-nodejs=\"`gateway`\" pulumi-lang-dotnet=\"`Gateway`\" pulumi-lang-go=\"`gateway`\" pulumi-lang-python=\"`gateway`\" pulumi-lang-yaml=\"`gateway`\" pulumi-lang-java=\"`gateway`\"\u003e`gateway`\u003c/span\u003e block as defined below.\n"},"httpsEndpoint":{"type":"string","description":"The HTTPS Connectivity Endpoint for this HDInsight Interactive Query Cluster.\n"},"location":{"type":"string","description":"Specifies the Azure Region which this HDInsight Interactive Query Cluster should exist. Changing this forces a new resource to be created.\n"},"metastores":{"$ref":"#/types/azure:hdinsight/InteractiveQueryClusterMetastores:InteractiveQueryClusterMetastores","description":"A \u003cspan pulumi-lang-nodejs=\"`metastores`\" pulumi-lang-dotnet=\"`Metastores`\" pulumi-lang-go=\"`metastores`\" pulumi-lang-python=\"`metastores`\" pulumi-lang-yaml=\"`metastores`\" pulumi-lang-java=\"`metastores`\"\u003e`metastores`\u003c/span\u003e block as defined below.\n"},"monitor":{"$ref":"#/types/azure:hdinsight/InteractiveQueryClusterMonitor:InteractiveQueryClusterMonitor","description":"A \u003cspan pulumi-lang-nodejs=\"`monitor`\" pulumi-lang-dotnet=\"`Monitor`\" pulumi-lang-go=\"`monitor`\" pulumi-lang-python=\"`monitor`\" pulumi-lang-yaml=\"`monitor`\" pulumi-lang-java=\"`monitor`\"\u003e`monitor`\u003c/span\u003e block as defined below.\n"},"name":{"type":"string","description":"Specifies the name for this HDInsight Interactive Query Cluster. Changing this forces a new resource to be created.\n"},"network":{"$ref":"#/types/azure:hdinsight/InteractiveQueryClusterNetwork:InteractiveQueryClusterNetwork","description":"A \u003cspan pulumi-lang-nodejs=\"`network`\" pulumi-lang-dotnet=\"`Network`\" pulumi-lang-go=\"`network`\" pulumi-lang-python=\"`network`\" pulumi-lang-yaml=\"`network`\" pulumi-lang-java=\"`network`\"\u003e`network`\u003c/span\u003e block as defined below.\n"},"privateLinkConfiguration":{"$ref":"#/types/azure:hdinsight/InteractiveQueryClusterPrivateLinkConfiguration:InteractiveQueryClusterPrivateLinkConfiguration","description":"A \u003cspan pulumi-lang-nodejs=\"`privateLinkConfiguration`\" pulumi-lang-dotnet=\"`PrivateLinkConfiguration`\" pulumi-lang-go=\"`privateLinkConfiguration`\" pulumi-lang-python=\"`private_link_configuration`\" pulumi-lang-yaml=\"`privateLinkConfiguration`\" pulumi-lang-java=\"`privateLinkConfiguration`\"\u003e`private_link_configuration`\u003c/span\u003e block as defined below.\n"},"resourceGroupName":{"type":"string","description":"Specifies the name of the Resource Group in which this HDInsight Interactive Query Cluster should exist. Changing this forces a new resource to be created.\n"},"roles":{"$ref":"#/types/azure:hdinsight/InteractiveQueryClusterRoles:InteractiveQueryClusterRoles","description":"A \u003cspan pulumi-lang-nodejs=\"`roles`\" pulumi-lang-dotnet=\"`Roles`\" pulumi-lang-go=\"`roles`\" pulumi-lang-python=\"`roles`\" pulumi-lang-yaml=\"`roles`\" pulumi-lang-java=\"`roles`\"\u003e`roles`\u003c/span\u003e block as defined below.\n"},"securityProfile":{"$ref":"#/types/azure:hdinsight/InteractiveQueryClusterSecurityProfile:InteractiveQueryClusterSecurityProfile","description":"A \u003cspan pulumi-lang-nodejs=\"`securityProfile`\" pulumi-lang-dotnet=\"`SecurityProfile`\" pulumi-lang-go=\"`securityProfile`\" pulumi-lang-python=\"`security_profile`\" pulumi-lang-yaml=\"`securityProfile`\" pulumi-lang-java=\"`securityProfile`\"\u003e`security_profile`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n"},"sshEndpoint":{"type":"string","description":"The SSH Connectivity Endpoint for this HDInsight Interactive Query Cluster.\n"},"storageAccountGen2":{"$ref":"#/types/azure:hdinsight/InteractiveQueryClusterStorageAccountGen2:InteractiveQueryClusterStorageAccountGen2","description":"A \u003cspan pulumi-lang-nodejs=\"`storageAccountGen2`\" pulumi-lang-dotnet=\"`StorageAccountGen2`\" pulumi-lang-go=\"`storageAccountGen2`\" pulumi-lang-python=\"`storage_account_gen2`\" pulumi-lang-yaml=\"`storageAccountGen2`\" pulumi-lang-java=\"`storageAccountGen2`\"\u003e`storage_account_gen2`\u003c/span\u003e block as defined below.\n"},"storageAccounts":{"type":"array","items":{"$ref":"#/types/azure:hdinsight/InteractiveQueryClusterStorageAccount:InteractiveQueryClusterStorageAccount"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`storageAccount`\" pulumi-lang-dotnet=\"`StorageAccount`\" pulumi-lang-go=\"`storageAccount`\" pulumi-lang-python=\"`storage_account`\" pulumi-lang-yaml=\"`storageAccount`\" pulumi-lang-java=\"`storageAccount`\"\u003e`storage_account`\u003c/span\u003e block as defined below.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of Tags which should be assigned to this HDInsight Interactive Query Cluster.\n"},"tier":{"type":"string","description":"Specifies the Tier which should be used for this HDInsight Interactive Query Cluster. Possible values are `Standard` or `Premium`. Changing this forces a new resource to be created.\n"},"tlsMinVersion":{"type":"string","description":"The minimal supported TLS version. Possible values are 1.0, 1.1 or 1.2. Changing this forces a new resource to be created.\n\n\u003e **Note:** Starting on June 30, 2020, Azure HDInsight will enforce TLS 1.2 or later versions for all HTTPS connections. For more information, see [Azure HDInsight TLS 1.2 Enforcement](https://azure.microsoft.com/en-us/updates/azure-hdinsight-tls-12-enforcement/).\n"}},"required":["clusterVersion","componentVersion","gateway","httpsEndpoint","location","name","resourceGroupName","roles","sshEndpoint","tier"],"inputProperties":{"clusterVersion":{"type":"string","description":"Specifies the Version of HDInsights which should be used for this Cluster. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"componentVersion":{"$ref":"#/types/azure:hdinsight/InteractiveQueryClusterComponentVersion:InteractiveQueryClusterComponentVersion","description":"A \u003cspan pulumi-lang-nodejs=\"`componentVersion`\" pulumi-lang-dotnet=\"`ComponentVersion`\" pulumi-lang-go=\"`componentVersion`\" pulumi-lang-python=\"`component_version`\" pulumi-lang-yaml=\"`componentVersion`\" pulumi-lang-java=\"`componentVersion`\"\u003e`component_version`\u003c/span\u003e block as defined below.\n"},"computeIsolation":{"$ref":"#/types/azure:hdinsight/InteractiveQueryClusterComputeIsolation:InteractiveQueryClusterComputeIsolation","description":"A \u003cspan pulumi-lang-nodejs=\"`computeIsolation`\" pulumi-lang-dotnet=\"`ComputeIsolation`\" pulumi-lang-go=\"`computeIsolation`\" pulumi-lang-python=\"`compute_isolation`\" pulumi-lang-yaml=\"`computeIsolation`\" pulumi-lang-java=\"`computeIsolation`\"\u003e`compute_isolation`\u003c/span\u003e block as defined below.\n"},"diskEncryptions":{"type":"array","items":{"$ref":"#/types/azure:hdinsight/InteractiveQueryClusterDiskEncryption:InteractiveQueryClusterDiskEncryption"},"description":"A \u003cspan pulumi-lang-nodejs=\"`diskEncryption`\" pulumi-lang-dotnet=\"`DiskEncryption`\" pulumi-lang-go=\"`diskEncryption`\" pulumi-lang-python=\"`disk_encryption`\" pulumi-lang-yaml=\"`diskEncryption`\" pulumi-lang-java=\"`diskEncryption`\"\u003e`disk_encryption`\u003c/span\u003e block as defined below.\n"},"encryptionInTransitEnabled":{"type":"boolean","description":"Whether encryption in transit is enabled for this Cluster. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"extension":{"$ref":"#/types/azure:hdinsight/InteractiveQueryClusterExtension:InteractiveQueryClusterExtension","description":"An \u003cspan pulumi-lang-nodejs=\"`extension`\" pulumi-lang-dotnet=\"`Extension`\" pulumi-lang-go=\"`extension`\" pulumi-lang-python=\"`extension`\" pulumi-lang-yaml=\"`extension`\" pulumi-lang-java=\"`extension`\"\u003e`extension`\u003c/span\u003e block as defined below.\n"},"gateway":{"$ref":"#/types/azure:hdinsight/InteractiveQueryClusterGateway:InteractiveQueryClusterGateway","description":"A \u003cspan pulumi-lang-nodejs=\"`gateway`\" pulumi-lang-dotnet=\"`Gateway`\" pulumi-lang-go=\"`gateway`\" pulumi-lang-python=\"`gateway`\" pulumi-lang-yaml=\"`gateway`\" pulumi-lang-java=\"`gateway`\"\u003e`gateway`\u003c/span\u003e block as defined below.\n"},"location":{"type":"string","description":"Specifies the Azure Region which this HDInsight Interactive Query Cluster should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"metastores":{"$ref":"#/types/azure:hdinsight/InteractiveQueryClusterMetastores:InteractiveQueryClusterMetastores","description":"A \u003cspan pulumi-lang-nodejs=\"`metastores`\" pulumi-lang-dotnet=\"`Metastores`\" pulumi-lang-go=\"`metastores`\" pulumi-lang-python=\"`metastores`\" pulumi-lang-yaml=\"`metastores`\" pulumi-lang-java=\"`metastores`\"\u003e`metastores`\u003c/span\u003e block as defined below.\n"},"monitor":{"$ref":"#/types/azure:hdinsight/InteractiveQueryClusterMonitor:InteractiveQueryClusterMonitor","description":"A \u003cspan pulumi-lang-nodejs=\"`monitor`\" pulumi-lang-dotnet=\"`Monitor`\" pulumi-lang-go=\"`monitor`\" pulumi-lang-python=\"`monitor`\" pulumi-lang-yaml=\"`monitor`\" pulumi-lang-java=\"`monitor`\"\u003e`monitor`\u003c/span\u003e block as defined below.\n"},"name":{"type":"string","description":"Specifies the name for this HDInsight Interactive Query Cluster. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"network":{"$ref":"#/types/azure:hdinsight/InteractiveQueryClusterNetwork:InteractiveQueryClusterNetwork","description":"A \u003cspan pulumi-lang-nodejs=\"`network`\" pulumi-lang-dotnet=\"`Network`\" pulumi-lang-go=\"`network`\" pulumi-lang-python=\"`network`\" pulumi-lang-yaml=\"`network`\" pulumi-lang-java=\"`network`\"\u003e`network`\u003c/span\u003e block as defined below.\n"},"privateLinkConfiguration":{"$ref":"#/types/azure:hdinsight/InteractiveQueryClusterPrivateLinkConfiguration:InteractiveQueryClusterPrivateLinkConfiguration","description":"A \u003cspan pulumi-lang-nodejs=\"`privateLinkConfiguration`\" pulumi-lang-dotnet=\"`PrivateLinkConfiguration`\" pulumi-lang-go=\"`privateLinkConfiguration`\" pulumi-lang-python=\"`private_link_configuration`\" pulumi-lang-yaml=\"`privateLinkConfiguration`\" pulumi-lang-java=\"`privateLinkConfiguration`\"\u003e`private_link_configuration`\u003c/span\u003e block as defined below.\n"},"resourceGroupName":{"type":"string","description":"Specifies the name of the Resource Group in which this HDInsight Interactive Query Cluster should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"roles":{"$ref":"#/types/azure:hdinsight/InteractiveQueryClusterRoles:InteractiveQueryClusterRoles","description":"A \u003cspan pulumi-lang-nodejs=\"`roles`\" pulumi-lang-dotnet=\"`Roles`\" pulumi-lang-go=\"`roles`\" pulumi-lang-python=\"`roles`\" pulumi-lang-yaml=\"`roles`\" pulumi-lang-java=\"`roles`\"\u003e`roles`\u003c/span\u003e block as defined below.\n"},"securityProfile":{"$ref":"#/types/azure:hdinsight/InteractiveQueryClusterSecurityProfile:InteractiveQueryClusterSecurityProfile","description":"A \u003cspan pulumi-lang-nodejs=\"`securityProfile`\" pulumi-lang-dotnet=\"`SecurityProfile`\" pulumi-lang-go=\"`securityProfile`\" pulumi-lang-python=\"`security_profile`\" pulumi-lang-yaml=\"`securityProfile`\" pulumi-lang-java=\"`securityProfile`\"\u003e`security_profile`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"storageAccountGen2":{"$ref":"#/types/azure:hdinsight/InteractiveQueryClusterStorageAccountGen2:InteractiveQueryClusterStorageAccountGen2","description":"A \u003cspan pulumi-lang-nodejs=\"`storageAccountGen2`\" pulumi-lang-dotnet=\"`StorageAccountGen2`\" pulumi-lang-go=\"`storageAccountGen2`\" pulumi-lang-python=\"`storage_account_gen2`\" pulumi-lang-yaml=\"`storageAccountGen2`\" pulumi-lang-java=\"`storageAccountGen2`\"\u003e`storage_account_gen2`\u003c/span\u003e block as defined below.\n"},"storageAccounts":{"type":"array","items":{"$ref":"#/types/azure:hdinsight/InteractiveQueryClusterStorageAccount:InteractiveQueryClusterStorageAccount"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`storageAccount`\" pulumi-lang-dotnet=\"`StorageAccount`\" pulumi-lang-go=\"`storageAccount`\" pulumi-lang-python=\"`storage_account`\" pulumi-lang-yaml=\"`storageAccount`\" pulumi-lang-java=\"`storageAccount`\"\u003e`storage_account`\u003c/span\u003e block as defined below.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of Tags which should be assigned to this HDInsight Interactive Query Cluster.\n"},"tier":{"type":"string","description":"Specifies the Tier which should be used for this HDInsight Interactive Query Cluster. Possible values are `Standard` or `Premium`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tlsMinVersion":{"type":"string","description":"The minimal supported TLS version. Possible values are 1.0, 1.1 or 1.2. Changing this forces a new resource to be created.\n\n\u003e **Note:** Starting on June 30, 2020, Azure HDInsight will enforce TLS 1.2 or later versions for all HTTPS connections. For more information, see [Azure HDInsight TLS 1.2 Enforcement](https://azure.microsoft.com/en-us/updates/azure-hdinsight-tls-12-enforcement/).\n","willReplaceOnChanges":true}},"requiredInputs":["clusterVersion","componentVersion","gateway","resourceGroupName","roles","tier"],"stateInputs":{"description":"Input properties used for looking up and filtering InteractiveQueryCluster resources.\n","properties":{"clusterVersion":{"type":"string","description":"Specifies the Version of HDInsights which should be used for this Cluster. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"componentVersion":{"$ref":"#/types/azure:hdinsight/InteractiveQueryClusterComponentVersion:InteractiveQueryClusterComponentVersion","description":"A \u003cspan pulumi-lang-nodejs=\"`componentVersion`\" pulumi-lang-dotnet=\"`ComponentVersion`\" pulumi-lang-go=\"`componentVersion`\" pulumi-lang-python=\"`component_version`\" pulumi-lang-yaml=\"`componentVersion`\" pulumi-lang-java=\"`componentVersion`\"\u003e`component_version`\u003c/span\u003e block as defined below.\n"},"computeIsolation":{"$ref":"#/types/azure:hdinsight/InteractiveQueryClusterComputeIsolation:InteractiveQueryClusterComputeIsolation","description":"A \u003cspan pulumi-lang-nodejs=\"`computeIsolation`\" pulumi-lang-dotnet=\"`ComputeIsolation`\" pulumi-lang-go=\"`computeIsolation`\" pulumi-lang-python=\"`compute_isolation`\" pulumi-lang-yaml=\"`computeIsolation`\" pulumi-lang-java=\"`computeIsolation`\"\u003e`compute_isolation`\u003c/span\u003e block as defined below.\n"},"diskEncryptions":{"type":"array","items":{"$ref":"#/types/azure:hdinsight/InteractiveQueryClusterDiskEncryption:InteractiveQueryClusterDiskEncryption"},"description":"A \u003cspan pulumi-lang-nodejs=\"`diskEncryption`\" pulumi-lang-dotnet=\"`DiskEncryption`\" pulumi-lang-go=\"`diskEncryption`\" pulumi-lang-python=\"`disk_encryption`\" pulumi-lang-yaml=\"`diskEncryption`\" pulumi-lang-java=\"`diskEncryption`\"\u003e`disk_encryption`\u003c/span\u003e block as defined below.\n"},"encryptionInTransitEnabled":{"type":"boolean","description":"Whether encryption in transit is enabled for this Cluster. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"extension":{"$ref":"#/types/azure:hdinsight/InteractiveQueryClusterExtension:InteractiveQueryClusterExtension","description":"An \u003cspan pulumi-lang-nodejs=\"`extension`\" pulumi-lang-dotnet=\"`Extension`\" pulumi-lang-go=\"`extension`\" pulumi-lang-python=\"`extension`\" pulumi-lang-yaml=\"`extension`\" pulumi-lang-java=\"`extension`\"\u003e`extension`\u003c/span\u003e block as defined below.\n"},"gateway":{"$ref":"#/types/azure:hdinsight/InteractiveQueryClusterGateway:InteractiveQueryClusterGateway","description":"A \u003cspan pulumi-lang-nodejs=\"`gateway`\" pulumi-lang-dotnet=\"`Gateway`\" pulumi-lang-go=\"`gateway`\" pulumi-lang-python=\"`gateway`\" pulumi-lang-yaml=\"`gateway`\" pulumi-lang-java=\"`gateway`\"\u003e`gateway`\u003c/span\u003e block as defined below.\n"},"httpsEndpoint":{"type":"string","description":"The HTTPS Connectivity Endpoint for this HDInsight Interactive Query Cluster.\n"},"location":{"type":"string","description":"Specifies the Azure Region which this HDInsight Interactive Query Cluster should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"metastores":{"$ref":"#/types/azure:hdinsight/InteractiveQueryClusterMetastores:InteractiveQueryClusterMetastores","description":"A \u003cspan pulumi-lang-nodejs=\"`metastores`\" pulumi-lang-dotnet=\"`Metastores`\" pulumi-lang-go=\"`metastores`\" pulumi-lang-python=\"`metastores`\" pulumi-lang-yaml=\"`metastores`\" pulumi-lang-java=\"`metastores`\"\u003e`metastores`\u003c/span\u003e block as defined below.\n"},"monitor":{"$ref":"#/types/azure:hdinsight/InteractiveQueryClusterMonitor:InteractiveQueryClusterMonitor","description":"A \u003cspan pulumi-lang-nodejs=\"`monitor`\" pulumi-lang-dotnet=\"`Monitor`\" pulumi-lang-go=\"`monitor`\" pulumi-lang-python=\"`monitor`\" pulumi-lang-yaml=\"`monitor`\" pulumi-lang-java=\"`monitor`\"\u003e`monitor`\u003c/span\u003e block as defined below.\n"},"name":{"type":"string","description":"Specifies the name for this HDInsight Interactive Query Cluster. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"network":{"$ref":"#/types/azure:hdinsight/InteractiveQueryClusterNetwork:InteractiveQueryClusterNetwork","description":"A \u003cspan pulumi-lang-nodejs=\"`network`\" pulumi-lang-dotnet=\"`Network`\" pulumi-lang-go=\"`network`\" pulumi-lang-python=\"`network`\" pulumi-lang-yaml=\"`network`\" pulumi-lang-java=\"`network`\"\u003e`network`\u003c/span\u003e block as defined below.\n"},"privateLinkConfiguration":{"$ref":"#/types/azure:hdinsight/InteractiveQueryClusterPrivateLinkConfiguration:InteractiveQueryClusterPrivateLinkConfiguration","description":"A \u003cspan pulumi-lang-nodejs=\"`privateLinkConfiguration`\" pulumi-lang-dotnet=\"`PrivateLinkConfiguration`\" pulumi-lang-go=\"`privateLinkConfiguration`\" pulumi-lang-python=\"`private_link_configuration`\" pulumi-lang-yaml=\"`privateLinkConfiguration`\" pulumi-lang-java=\"`privateLinkConfiguration`\"\u003e`private_link_configuration`\u003c/span\u003e block as defined below.\n"},"resourceGroupName":{"type":"string","description":"Specifies the name of the Resource Group in which this HDInsight Interactive Query Cluster should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"roles":{"$ref":"#/types/azure:hdinsight/InteractiveQueryClusterRoles:InteractiveQueryClusterRoles","description":"A \u003cspan pulumi-lang-nodejs=\"`roles`\" pulumi-lang-dotnet=\"`Roles`\" pulumi-lang-go=\"`roles`\" pulumi-lang-python=\"`roles`\" pulumi-lang-yaml=\"`roles`\" pulumi-lang-java=\"`roles`\"\u003e`roles`\u003c/span\u003e block as defined below.\n"},"securityProfile":{"$ref":"#/types/azure:hdinsight/InteractiveQueryClusterSecurityProfile:InteractiveQueryClusterSecurityProfile","description":"A \u003cspan pulumi-lang-nodejs=\"`securityProfile`\" pulumi-lang-dotnet=\"`SecurityProfile`\" pulumi-lang-go=\"`securityProfile`\" pulumi-lang-python=\"`security_profile`\" pulumi-lang-yaml=\"`securityProfile`\" pulumi-lang-java=\"`securityProfile`\"\u003e`security_profile`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sshEndpoint":{"type":"string","description":"The SSH Connectivity Endpoint for this HDInsight Interactive Query Cluster.\n"},"storageAccountGen2":{"$ref":"#/types/azure:hdinsight/InteractiveQueryClusterStorageAccountGen2:InteractiveQueryClusterStorageAccountGen2","description":"A \u003cspan pulumi-lang-nodejs=\"`storageAccountGen2`\" pulumi-lang-dotnet=\"`StorageAccountGen2`\" pulumi-lang-go=\"`storageAccountGen2`\" pulumi-lang-python=\"`storage_account_gen2`\" pulumi-lang-yaml=\"`storageAccountGen2`\" pulumi-lang-java=\"`storageAccountGen2`\"\u003e`storage_account_gen2`\u003c/span\u003e block as defined below.\n"},"storageAccounts":{"type":"array","items":{"$ref":"#/types/azure:hdinsight/InteractiveQueryClusterStorageAccount:InteractiveQueryClusterStorageAccount"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`storageAccount`\" pulumi-lang-dotnet=\"`StorageAccount`\" pulumi-lang-go=\"`storageAccount`\" pulumi-lang-python=\"`storage_account`\" pulumi-lang-yaml=\"`storageAccount`\" pulumi-lang-java=\"`storageAccount`\"\u003e`storage_account`\u003c/span\u003e block as defined below.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of Tags which should be assigned to this HDInsight Interactive Query Cluster.\n"},"tier":{"type":"string","description":"Specifies the Tier which should be used for this HDInsight Interactive Query Cluster. Possible values are `Standard` or `Premium`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tlsMinVersion":{"type":"string","description":"The minimal supported TLS version. Possible values are 1.0, 1.1 or 1.2. Changing this forces a new resource to be created.\n\n\u003e **Note:** Starting on June 30, 2020, Azure HDInsight will enforce TLS 1.2 or later versions for all HTTPS connections. For more information, see [Azure HDInsight TLS 1.2 Enforcement](https://azure.microsoft.com/en-us/updates/azure-hdinsight-tls-12-enforcement/).\n","willReplaceOnChanges":true}},"type":"object"}},"azure:hdinsight/kafkaCluster:KafkaCluster":{"description":"Manages a HDInsight Kafka Cluster.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleAccount = new azure.storage.Account(\"example\", {\n    name: \"hdinsightstor\",\n    resourceGroupName: example.name,\n    location: example.location,\n    accountTier: \"Standard\",\n    accountReplicationType: \"LRS\",\n});\nconst exampleContainer = new azure.storage.Container(\"example\", {\n    name: \"hdinsight\",\n    storageAccountName: exampleAccount.name,\n    containerAccessType: \"private\",\n});\nconst exampleKafkaCluster = new azure.hdinsight.KafkaCluster(\"example\", {\n    name: \"example-hdicluster\",\n    resourceGroupName: example.name,\n    location: example.location,\n    clusterVersion: \"4.0\",\n    tier: \"Standard\",\n    componentVersion: {\n        kafka: \"2.1\",\n    },\n    gateway: {\n        username: \"acctestusrgw\",\n        password: \"Password123!\",\n    },\n    storageAccounts: [{\n        storageContainerId: exampleContainer.id,\n        storageAccountKey: exampleAccount.primaryAccessKey,\n        isDefault: true,\n    }],\n    roles: {\n        headNode: {\n            vmSize: \"Standard_D3_V2\",\n            username: \"acctestusrvm\",\n            password: \"AccTestvdSC4daf986!\",\n        },\n        workerNode: {\n            vmSize: \"Standard_D3_V2\",\n            username: \"acctestusrvm\",\n            password: \"AccTestvdSC4daf986!\",\n            numberOfDisksPerNode: 3,\n            targetInstanceCount: 3,\n        },\n        zookeeperNode: {\n            vmSize: \"Standard_D3_V2\",\n            username: \"acctestusrvm\",\n            password: \"AccTestvdSC4daf986!\",\n        },\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_account = azure.storage.Account(\"example\",\n    name=\"hdinsightstor\",\n    resource_group_name=example.name,\n    location=example.location,\n    account_tier=\"Standard\",\n    account_replication_type=\"LRS\")\nexample_container = azure.storage.Container(\"example\",\n    name=\"hdinsight\",\n    storage_account_name=example_account.name,\n    container_access_type=\"private\")\nexample_kafka_cluster = azure.hdinsight.KafkaCluster(\"example\",\n    name=\"example-hdicluster\",\n    resource_group_name=example.name,\n    location=example.location,\n    cluster_version=\"4.0\",\n    tier=\"Standard\",\n    component_version={\n        \"kafka\": \"2.1\",\n    },\n    gateway={\n        \"username\": \"acctestusrgw\",\n        \"password\": \"Password123!\",\n    },\n    storage_accounts=[{\n        \"storage_container_id\": example_container.id,\n        \"storage_account_key\": example_account.primary_access_key,\n        \"is_default\": True,\n    }],\n    roles={\n        \"head_node\": {\n            \"vm_size\": \"Standard_D3_V2\",\n            \"username\": \"acctestusrvm\",\n            \"password\": \"AccTestvdSC4daf986!\",\n        },\n        \"worker_node\": {\n            \"vm_size\": \"Standard_D3_V2\",\n            \"username\": \"acctestusrvm\",\n            \"password\": \"AccTestvdSC4daf986!\",\n            \"number_of_disks_per_node\": 3,\n            \"target_instance_count\": 3,\n        },\n        \"zookeeper_node\": {\n            \"vm_size\": \"Standard_D3_V2\",\n            \"username\": \"acctestusrvm\",\n            \"password\": \"AccTestvdSC4daf986!\",\n        },\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleAccount = new Azure.Storage.Account(\"example\", new()\n    {\n        Name = \"hdinsightstor\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        AccountTier = \"Standard\",\n        AccountReplicationType = \"LRS\",\n    });\n\n    var exampleContainer = new Azure.Storage.Container(\"example\", new()\n    {\n        Name = \"hdinsight\",\n        StorageAccountName = exampleAccount.Name,\n        ContainerAccessType = \"private\",\n    });\n\n    var exampleKafkaCluster = new Azure.HDInsight.KafkaCluster(\"example\", new()\n    {\n        Name = \"example-hdicluster\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        ClusterVersion = \"4.0\",\n        Tier = \"Standard\",\n        ComponentVersion = new Azure.HDInsight.Inputs.KafkaClusterComponentVersionArgs\n        {\n            Kafka = \"2.1\",\n        },\n        Gateway = new Azure.HDInsight.Inputs.KafkaClusterGatewayArgs\n        {\n            Username = \"acctestusrgw\",\n            Password = \"Password123!\",\n        },\n        StorageAccounts = new[]\n        {\n            new Azure.HDInsight.Inputs.KafkaClusterStorageAccountArgs\n            {\n                StorageContainerId = exampleContainer.Id,\n                StorageAccountKey = exampleAccount.PrimaryAccessKey,\n                IsDefault = true,\n            },\n        },\n        Roles = new Azure.HDInsight.Inputs.KafkaClusterRolesArgs\n        {\n            HeadNode = new Azure.HDInsight.Inputs.KafkaClusterRolesHeadNodeArgs\n            {\n                VmSize = \"Standard_D3_V2\",\n                Username = \"acctestusrvm\",\n                Password = \"AccTestvdSC4daf986!\",\n            },\n            WorkerNode = new Azure.HDInsight.Inputs.KafkaClusterRolesWorkerNodeArgs\n            {\n                VmSize = \"Standard_D3_V2\",\n                Username = \"acctestusrvm\",\n                Password = \"AccTestvdSC4daf986!\",\n                NumberOfDisksPerNode = 3,\n                TargetInstanceCount = 3,\n            },\n            ZookeeperNode = new Azure.HDInsight.Inputs.KafkaClusterRolesZookeeperNodeArgs\n            {\n                VmSize = \"Standard_D3_V2\",\n                Username = \"acctestusrvm\",\n                Password = \"AccTestvdSC4daf986!\",\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/hdinsight\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := storage.NewAccount(ctx, \"example\", \u0026storage.AccountArgs{\n\t\t\tName:                   pulumi.String(\"hdinsightstor\"),\n\t\t\tResourceGroupName:      example.Name,\n\t\t\tLocation:               example.Location,\n\t\t\tAccountTier:            pulumi.String(\"Standard\"),\n\t\t\tAccountReplicationType: pulumi.String(\"LRS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleContainer, err := storage.NewContainer(ctx, \"example\", \u0026storage.ContainerArgs{\n\t\t\tName:                pulumi.String(\"hdinsight\"),\n\t\t\tStorageAccountName:  exampleAccount.Name,\n\t\t\tContainerAccessType: pulumi.String(\"private\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = hdinsight.NewKafkaCluster(ctx, \"example\", \u0026hdinsight.KafkaClusterArgs{\n\t\t\tName:              pulumi.String(\"example-hdicluster\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tClusterVersion:    pulumi.String(\"4.0\"),\n\t\t\tTier:              pulumi.String(\"Standard\"),\n\t\t\tComponentVersion: \u0026hdinsight.KafkaClusterComponentVersionArgs{\n\t\t\t\tKafka: pulumi.String(\"2.1\"),\n\t\t\t},\n\t\t\tGateway: \u0026hdinsight.KafkaClusterGatewayArgs{\n\t\t\t\tUsername: pulumi.String(\"acctestusrgw\"),\n\t\t\t\tPassword: pulumi.String(\"Password123!\"),\n\t\t\t},\n\t\t\tStorageAccounts: hdinsight.KafkaClusterStorageAccountArray{\n\t\t\t\t\u0026hdinsight.KafkaClusterStorageAccountArgs{\n\t\t\t\t\tStorageContainerId: exampleContainer.ID(),\n\t\t\t\t\tStorageAccountKey:  exampleAccount.PrimaryAccessKey,\n\t\t\t\t\tIsDefault:          pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t},\n\t\t\tRoles: \u0026hdinsight.KafkaClusterRolesArgs{\n\t\t\t\tHeadNode: \u0026hdinsight.KafkaClusterRolesHeadNodeArgs{\n\t\t\t\t\tVmSize:   pulumi.String(\"Standard_D3_V2\"),\n\t\t\t\t\tUsername: pulumi.String(\"acctestusrvm\"),\n\t\t\t\t\tPassword: pulumi.String(\"AccTestvdSC4daf986!\"),\n\t\t\t\t},\n\t\t\t\tWorkerNode: \u0026hdinsight.KafkaClusterRolesWorkerNodeArgs{\n\t\t\t\t\tVmSize:               pulumi.String(\"Standard_D3_V2\"),\n\t\t\t\t\tUsername:             pulumi.String(\"acctestusrvm\"),\n\t\t\t\t\tPassword:             pulumi.String(\"AccTestvdSC4daf986!\"),\n\t\t\t\t\tNumberOfDisksPerNode: pulumi.Int(3),\n\t\t\t\t\tTargetInstanceCount:  pulumi.Int(3),\n\t\t\t\t},\n\t\t\t\tZookeeperNode: \u0026hdinsight.KafkaClusterRolesZookeeperNodeArgs{\n\t\t\t\t\tVmSize:   pulumi.String(\"Standard_D3_V2\"),\n\t\t\t\t\tUsername: pulumi.String(\"acctestusrvm\"),\n\t\t\t\t\tPassword: pulumi.String(\"AccTestvdSC4daf986!\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.storage.Account;\nimport com.pulumi.azure.storage.AccountArgs;\nimport com.pulumi.azure.storage.Container;\nimport com.pulumi.azure.storage.ContainerArgs;\nimport com.pulumi.azure.hdinsight.KafkaCluster;\nimport com.pulumi.azure.hdinsight.KafkaClusterArgs;\nimport com.pulumi.azure.hdinsight.inputs.KafkaClusterComponentVersionArgs;\nimport com.pulumi.azure.hdinsight.inputs.KafkaClusterGatewayArgs;\nimport com.pulumi.azure.hdinsight.inputs.KafkaClusterStorageAccountArgs;\nimport com.pulumi.azure.hdinsight.inputs.KafkaClusterRolesArgs;\nimport com.pulumi.azure.hdinsight.inputs.KafkaClusterRolesHeadNodeArgs;\nimport com.pulumi.azure.hdinsight.inputs.KafkaClusterRolesWorkerNodeArgs;\nimport com.pulumi.azure.hdinsight.inputs.KafkaClusterRolesZookeeperNodeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"hdinsightstor\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .accountTier(\"Standard\")\n            .accountReplicationType(\"LRS\")\n            .build());\n\n        var exampleContainer = new Container(\"exampleContainer\", ContainerArgs.builder()\n            .name(\"hdinsight\")\n            .storageAccountName(exampleAccount.name())\n            .containerAccessType(\"private\")\n            .build());\n\n        var exampleKafkaCluster = new KafkaCluster(\"exampleKafkaCluster\", KafkaClusterArgs.builder()\n            .name(\"example-hdicluster\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .clusterVersion(\"4.0\")\n            .tier(\"Standard\")\n            .componentVersion(KafkaClusterComponentVersionArgs.builder()\n                .kafka(\"2.1\")\n                .build())\n            .gateway(KafkaClusterGatewayArgs.builder()\n                .username(\"acctestusrgw\")\n                .password(\"Password123!\")\n                .build())\n            .storageAccounts(KafkaClusterStorageAccountArgs.builder()\n                .storageContainerId(exampleContainer.id())\n                .storageAccountKey(exampleAccount.primaryAccessKey())\n                .isDefault(true)\n                .build())\n            .roles(KafkaClusterRolesArgs.builder()\n                .headNode(KafkaClusterRolesHeadNodeArgs.builder()\n                    .vmSize(\"Standard_D3_V2\")\n                    .username(\"acctestusrvm\")\n                    .password(\"AccTestvdSC4daf986!\")\n                    .build())\n                .workerNode(KafkaClusterRolesWorkerNodeArgs.builder()\n                    .vmSize(\"Standard_D3_V2\")\n                    .username(\"acctestusrvm\")\n                    .password(\"AccTestvdSC4daf986!\")\n                    .numberOfDisksPerNode(3)\n                    .targetInstanceCount(3)\n                    .build())\n                .zookeeperNode(KafkaClusterRolesZookeeperNodeArgs.builder()\n                    .vmSize(\"Standard_D3_V2\")\n                    .username(\"acctestusrvm\")\n                    .password(\"AccTestvdSC4daf986!\")\n                    .build())\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleAccount:\n    type: azure:storage:Account\n    name: example\n    properties:\n      name: hdinsightstor\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      accountTier: Standard\n      accountReplicationType: LRS\n  exampleContainer:\n    type: azure:storage:Container\n    name: example\n    properties:\n      name: hdinsight\n      storageAccountName: ${exampleAccount.name}\n      containerAccessType: private\n  exampleKafkaCluster:\n    type: azure:hdinsight:KafkaCluster\n    name: example\n    properties:\n      name: example-hdicluster\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      clusterVersion: '4.0'\n      tier: Standard\n      componentVersion:\n        kafka: '2.1'\n      gateway:\n        username: acctestusrgw\n        password: Password123!\n      storageAccounts:\n        - storageContainerId: ${exampleContainer.id}\n          storageAccountKey: ${exampleAccount.primaryAccessKey}\n          isDefault: true\n      roles:\n        headNode:\n          vmSize: Standard_D3_V2\n          username: acctestusrvm\n          password: AccTestvdSC4daf986!\n        workerNode:\n          vmSize: Standard_D3_V2\n          username: acctestusrvm\n          password: AccTestvdSC4daf986!\n          numberOfDisksPerNode: 3\n          targetInstanceCount: 3\n        zookeeperNode:\n          vmSize: Standard_D3_V2\n          username: acctestusrvm\n          password: AccTestvdSC4daf986!\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.HDInsight` - 2021-06-01\n\n## Import\n\nHDInsight Kafka Clusters can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:hdinsight/kafkaCluster:KafkaCluster example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.HDInsight/clusters/cluster1\n```\n\n","properties":{"clusterVersion":{"type":"string","description":"Specifies the Version of HDInsights which should be used for this Cluster. Changing this forces a new resource to be created.\n"},"componentVersion":{"$ref":"#/types/azure:hdinsight/KafkaClusterComponentVersion:KafkaClusterComponentVersion","description":"A \u003cspan pulumi-lang-nodejs=\"`componentVersion`\" pulumi-lang-dotnet=\"`ComponentVersion`\" pulumi-lang-go=\"`componentVersion`\" pulumi-lang-python=\"`component_version`\" pulumi-lang-yaml=\"`componentVersion`\" pulumi-lang-java=\"`componentVersion`\"\u003e`component_version`\u003c/span\u003e block as defined below.\n"},"computeIsolation":{"$ref":"#/types/azure:hdinsight/KafkaClusterComputeIsolation:KafkaClusterComputeIsolation","description":"A \u003cspan pulumi-lang-nodejs=\"`computeIsolation`\" pulumi-lang-dotnet=\"`ComputeIsolation`\" pulumi-lang-go=\"`computeIsolation`\" pulumi-lang-python=\"`compute_isolation`\" pulumi-lang-yaml=\"`computeIsolation`\" pulumi-lang-java=\"`computeIsolation`\"\u003e`compute_isolation`\u003c/span\u003e block as defined below.\n"},"diskEncryptions":{"type":"array","items":{"$ref":"#/types/azure:hdinsight/KafkaClusterDiskEncryption:KafkaClusterDiskEncryption"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`diskEncryption`\" pulumi-lang-dotnet=\"`DiskEncryption`\" pulumi-lang-go=\"`diskEncryption`\" pulumi-lang-python=\"`disk_encryption`\" pulumi-lang-yaml=\"`diskEncryption`\" pulumi-lang-java=\"`diskEncryption`\"\u003e`disk_encryption`\u003c/span\u003e block as defined below.\n\n\u003e **Note:** Starting on June 30, 2020, Azure HDInsight will enforce TLS 1.2 or later versions for all HTTPS connections. For more information, see [Azure HDInsight TLS 1.2 Enforcement](https://azure.microsoft.com/en-us/updates/azure-hdinsight-tls-12-enforcement/).\n"},"encryptionInTransitEnabled":{"type":"boolean","description":"Whether encryption in transit is enabled for this HDInsight Kafka Cluster. Changing this forces a new resource to be created.\n"},"extension":{"$ref":"#/types/azure:hdinsight/KafkaClusterExtension:KafkaClusterExtension","description":"An \u003cspan pulumi-lang-nodejs=\"`extension`\" pulumi-lang-dotnet=\"`Extension`\" pulumi-lang-go=\"`extension`\" pulumi-lang-python=\"`extension`\" pulumi-lang-yaml=\"`extension`\" pulumi-lang-java=\"`extension`\"\u003e`extension`\u003c/span\u003e block as defined below.\n"},"gateway":{"$ref":"#/types/azure:hdinsight/KafkaClusterGateway:KafkaClusterGateway","description":"A \u003cspan pulumi-lang-nodejs=\"`gateway`\" pulumi-lang-dotnet=\"`Gateway`\" pulumi-lang-go=\"`gateway`\" pulumi-lang-python=\"`gateway`\" pulumi-lang-yaml=\"`gateway`\" pulumi-lang-java=\"`gateway`\"\u003e`gateway`\u003c/span\u003e block as defined below.\n"},"httpsEndpoint":{"type":"string","description":"The HTTPS Connectivity Endpoint for this HDInsight Kafka Cluster.\n"},"kafkaRestProxyEndpoint":{"type":"string","description":"The Kafka Rest Proxy Endpoint for this HDInsight Kafka Cluster.\n"},"location":{"type":"string","description":"Specifies the Azure Region which this HDInsight Kafka Cluster should exist. Changing this forces a new resource to be created.\n"},"metastores":{"$ref":"#/types/azure:hdinsight/KafkaClusterMetastores:KafkaClusterMetastores","description":"A \u003cspan pulumi-lang-nodejs=\"`metastores`\" pulumi-lang-dotnet=\"`Metastores`\" pulumi-lang-go=\"`metastores`\" pulumi-lang-python=\"`metastores`\" pulumi-lang-yaml=\"`metastores`\" pulumi-lang-java=\"`metastores`\"\u003e`metastores`\u003c/span\u003e block as defined below.\n"},"monitor":{"$ref":"#/types/azure:hdinsight/KafkaClusterMonitor:KafkaClusterMonitor","description":"A \u003cspan pulumi-lang-nodejs=\"`monitor`\" pulumi-lang-dotnet=\"`Monitor`\" pulumi-lang-go=\"`monitor`\" pulumi-lang-python=\"`monitor`\" pulumi-lang-yaml=\"`monitor`\" pulumi-lang-java=\"`monitor`\"\u003e`monitor`\u003c/span\u003e block as defined below.\n"},"name":{"type":"string","description":"Specifies the name for this HDInsight Kafka Cluster. Changing this forces a new resource to be created.\n"},"network":{"$ref":"#/types/azure:hdinsight/KafkaClusterNetwork:KafkaClusterNetwork","description":"A \u003cspan pulumi-lang-nodejs=\"`network`\" pulumi-lang-dotnet=\"`Network`\" pulumi-lang-go=\"`network`\" pulumi-lang-python=\"`network`\" pulumi-lang-yaml=\"`network`\" pulumi-lang-java=\"`network`\"\u003e`network`\u003c/span\u003e block as defined below.\n"},"privateLinkConfiguration":{"$ref":"#/types/azure:hdinsight/KafkaClusterPrivateLinkConfiguration:KafkaClusterPrivateLinkConfiguration","description":"A \u003cspan pulumi-lang-nodejs=\"`privateLinkConfiguration`\" pulumi-lang-dotnet=\"`PrivateLinkConfiguration`\" pulumi-lang-go=\"`privateLinkConfiguration`\" pulumi-lang-python=\"`private_link_configuration`\" pulumi-lang-yaml=\"`privateLinkConfiguration`\" pulumi-lang-java=\"`privateLinkConfiguration`\"\u003e`private_link_configuration`\u003c/span\u003e block as defined below.\n"},"resourceGroupName":{"type":"string","description":"Specifies the name of the Resource Group in which this HDInsight Kafka Cluster should exist. Changing this forces a new resource to be created.\n"},"restProxy":{"$ref":"#/types/azure:hdinsight/KafkaClusterRestProxy:KafkaClusterRestProxy","description":"A \u003cspan pulumi-lang-nodejs=\"`restProxy`\" pulumi-lang-dotnet=\"`RestProxy`\" pulumi-lang-go=\"`restProxy`\" pulumi-lang-python=\"`rest_proxy`\" pulumi-lang-yaml=\"`restProxy`\" pulumi-lang-java=\"`restProxy`\"\u003e`rest_proxy`\u003c/span\u003e block as defined below.\n"},"roles":{"$ref":"#/types/azure:hdinsight/KafkaClusterRoles:KafkaClusterRoles","description":"A \u003cspan pulumi-lang-nodejs=\"`roles`\" pulumi-lang-dotnet=\"`Roles`\" pulumi-lang-go=\"`roles`\" pulumi-lang-python=\"`roles`\" pulumi-lang-yaml=\"`roles`\" pulumi-lang-java=\"`roles`\"\u003e`roles`\u003c/span\u003e block as defined below.\n"},"securityProfile":{"$ref":"#/types/azure:hdinsight/KafkaClusterSecurityProfile:KafkaClusterSecurityProfile","description":"A \u003cspan pulumi-lang-nodejs=\"`securityProfile`\" pulumi-lang-dotnet=\"`SecurityProfile`\" pulumi-lang-go=\"`securityProfile`\" pulumi-lang-python=\"`security_profile`\" pulumi-lang-yaml=\"`securityProfile`\" pulumi-lang-java=\"`securityProfile`\"\u003e`security_profile`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n"},"sshEndpoint":{"type":"string","description":"The SSH Connectivity Endpoint for this HDInsight Kafka Cluster.\n"},"storageAccountGen2":{"$ref":"#/types/azure:hdinsight/KafkaClusterStorageAccountGen2:KafkaClusterStorageAccountGen2","description":"A \u003cspan pulumi-lang-nodejs=\"`storageAccountGen2`\" pulumi-lang-dotnet=\"`StorageAccountGen2`\" pulumi-lang-go=\"`storageAccountGen2`\" pulumi-lang-python=\"`storage_account_gen2`\" pulumi-lang-yaml=\"`storageAccountGen2`\" pulumi-lang-java=\"`storageAccountGen2`\"\u003e`storage_account_gen2`\u003c/span\u003e block as defined below.\n"},"storageAccounts":{"type":"array","items":{"$ref":"#/types/azure:hdinsight/KafkaClusterStorageAccount:KafkaClusterStorageAccount"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`storageAccount`\" pulumi-lang-dotnet=\"`StorageAccount`\" pulumi-lang-go=\"`storageAccount`\" pulumi-lang-python=\"`storage_account`\" pulumi-lang-yaml=\"`storageAccount`\" pulumi-lang-java=\"`storageAccount`\"\u003e`storage_account`\u003c/span\u003e block as defined below.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of Tags which should be assigned to this HDInsight Kafka Cluster.\n"},"tier":{"type":"string","description":"Specifies the Tier which should be used for this HDInsight Kafka Cluster. Possible values are `Standard` or `Premium`. Changing this forces a new resource to be created.\n"},"tlsMinVersion":{"type":"string","description":"The minimal supported TLS version. Possible values are `1.0`, `1.1` or `1.2`. Changing this forces a new resource to be created.\n"}},"required":["clusterVersion","componentVersion","gateway","httpsEndpoint","kafkaRestProxyEndpoint","location","name","resourceGroupName","roles","sshEndpoint","tier"],"inputProperties":{"clusterVersion":{"type":"string","description":"Specifies the Version of HDInsights which should be used for this Cluster. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"componentVersion":{"$ref":"#/types/azure:hdinsight/KafkaClusterComponentVersion:KafkaClusterComponentVersion","description":"A \u003cspan pulumi-lang-nodejs=\"`componentVersion`\" pulumi-lang-dotnet=\"`ComponentVersion`\" pulumi-lang-go=\"`componentVersion`\" pulumi-lang-python=\"`component_version`\" pulumi-lang-yaml=\"`componentVersion`\" pulumi-lang-java=\"`componentVersion`\"\u003e`component_version`\u003c/span\u003e block as defined below.\n"},"computeIsolation":{"$ref":"#/types/azure:hdinsight/KafkaClusterComputeIsolation:KafkaClusterComputeIsolation","description":"A \u003cspan pulumi-lang-nodejs=\"`computeIsolation`\" pulumi-lang-dotnet=\"`ComputeIsolation`\" pulumi-lang-go=\"`computeIsolation`\" pulumi-lang-python=\"`compute_isolation`\" pulumi-lang-yaml=\"`computeIsolation`\" pulumi-lang-java=\"`computeIsolation`\"\u003e`compute_isolation`\u003c/span\u003e block as defined below.\n"},"diskEncryptions":{"type":"array","items":{"$ref":"#/types/azure:hdinsight/KafkaClusterDiskEncryption:KafkaClusterDiskEncryption"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`diskEncryption`\" pulumi-lang-dotnet=\"`DiskEncryption`\" pulumi-lang-go=\"`diskEncryption`\" pulumi-lang-python=\"`disk_encryption`\" pulumi-lang-yaml=\"`diskEncryption`\" pulumi-lang-java=\"`diskEncryption`\"\u003e`disk_encryption`\u003c/span\u003e block as defined below.\n\n\u003e **Note:** Starting on June 30, 2020, Azure HDInsight will enforce TLS 1.2 or later versions for all HTTPS connections. For more information, see [Azure HDInsight TLS 1.2 Enforcement](https://azure.microsoft.com/en-us/updates/azure-hdinsight-tls-12-enforcement/).\n"},"encryptionInTransitEnabled":{"type":"boolean","description":"Whether encryption in transit is enabled for this HDInsight Kafka Cluster. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"extension":{"$ref":"#/types/azure:hdinsight/KafkaClusterExtension:KafkaClusterExtension","description":"An \u003cspan pulumi-lang-nodejs=\"`extension`\" pulumi-lang-dotnet=\"`Extension`\" pulumi-lang-go=\"`extension`\" pulumi-lang-python=\"`extension`\" pulumi-lang-yaml=\"`extension`\" pulumi-lang-java=\"`extension`\"\u003e`extension`\u003c/span\u003e block as defined below.\n"},"gateway":{"$ref":"#/types/azure:hdinsight/KafkaClusterGateway:KafkaClusterGateway","description":"A \u003cspan pulumi-lang-nodejs=\"`gateway`\" pulumi-lang-dotnet=\"`Gateway`\" pulumi-lang-go=\"`gateway`\" pulumi-lang-python=\"`gateway`\" pulumi-lang-yaml=\"`gateway`\" pulumi-lang-java=\"`gateway`\"\u003e`gateway`\u003c/span\u003e block as defined below.\n"},"location":{"type":"string","description":"Specifies the Azure Region which this HDInsight Kafka Cluster should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"metastores":{"$ref":"#/types/azure:hdinsight/KafkaClusterMetastores:KafkaClusterMetastores","description":"A \u003cspan pulumi-lang-nodejs=\"`metastores`\" pulumi-lang-dotnet=\"`Metastores`\" pulumi-lang-go=\"`metastores`\" pulumi-lang-python=\"`metastores`\" pulumi-lang-yaml=\"`metastores`\" pulumi-lang-java=\"`metastores`\"\u003e`metastores`\u003c/span\u003e block as defined below.\n"},"monitor":{"$ref":"#/types/azure:hdinsight/KafkaClusterMonitor:KafkaClusterMonitor","description":"A \u003cspan pulumi-lang-nodejs=\"`monitor`\" pulumi-lang-dotnet=\"`Monitor`\" pulumi-lang-go=\"`monitor`\" pulumi-lang-python=\"`monitor`\" pulumi-lang-yaml=\"`monitor`\" pulumi-lang-java=\"`monitor`\"\u003e`monitor`\u003c/span\u003e block as defined below.\n"},"name":{"type":"string","description":"Specifies the name for this HDInsight Kafka Cluster. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"network":{"$ref":"#/types/azure:hdinsight/KafkaClusterNetwork:KafkaClusterNetwork","description":"A \u003cspan pulumi-lang-nodejs=\"`network`\" pulumi-lang-dotnet=\"`Network`\" pulumi-lang-go=\"`network`\" pulumi-lang-python=\"`network`\" pulumi-lang-yaml=\"`network`\" pulumi-lang-java=\"`network`\"\u003e`network`\u003c/span\u003e block as defined below.\n"},"privateLinkConfiguration":{"$ref":"#/types/azure:hdinsight/KafkaClusterPrivateLinkConfiguration:KafkaClusterPrivateLinkConfiguration","description":"A \u003cspan pulumi-lang-nodejs=\"`privateLinkConfiguration`\" pulumi-lang-dotnet=\"`PrivateLinkConfiguration`\" pulumi-lang-go=\"`privateLinkConfiguration`\" pulumi-lang-python=\"`private_link_configuration`\" pulumi-lang-yaml=\"`privateLinkConfiguration`\" pulumi-lang-java=\"`privateLinkConfiguration`\"\u003e`private_link_configuration`\u003c/span\u003e block as defined below.\n"},"resourceGroupName":{"type":"string","description":"Specifies the name of the Resource Group in which this HDInsight Kafka Cluster should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"restProxy":{"$ref":"#/types/azure:hdinsight/KafkaClusterRestProxy:KafkaClusterRestProxy","description":"A \u003cspan pulumi-lang-nodejs=\"`restProxy`\" pulumi-lang-dotnet=\"`RestProxy`\" pulumi-lang-go=\"`restProxy`\" pulumi-lang-python=\"`rest_proxy`\" pulumi-lang-yaml=\"`restProxy`\" pulumi-lang-java=\"`restProxy`\"\u003e`rest_proxy`\u003c/span\u003e block as defined below.\n"},"roles":{"$ref":"#/types/azure:hdinsight/KafkaClusterRoles:KafkaClusterRoles","description":"A \u003cspan pulumi-lang-nodejs=\"`roles`\" pulumi-lang-dotnet=\"`Roles`\" pulumi-lang-go=\"`roles`\" pulumi-lang-python=\"`roles`\" pulumi-lang-yaml=\"`roles`\" pulumi-lang-java=\"`roles`\"\u003e`roles`\u003c/span\u003e block as defined below.\n"},"securityProfile":{"$ref":"#/types/azure:hdinsight/KafkaClusterSecurityProfile:KafkaClusterSecurityProfile","description":"A \u003cspan pulumi-lang-nodejs=\"`securityProfile`\" pulumi-lang-dotnet=\"`SecurityProfile`\" pulumi-lang-go=\"`securityProfile`\" pulumi-lang-python=\"`security_profile`\" pulumi-lang-yaml=\"`securityProfile`\" pulumi-lang-java=\"`securityProfile`\"\u003e`security_profile`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"storageAccountGen2":{"$ref":"#/types/azure:hdinsight/KafkaClusterStorageAccountGen2:KafkaClusterStorageAccountGen2","description":"A \u003cspan pulumi-lang-nodejs=\"`storageAccountGen2`\" pulumi-lang-dotnet=\"`StorageAccountGen2`\" pulumi-lang-go=\"`storageAccountGen2`\" pulumi-lang-python=\"`storage_account_gen2`\" pulumi-lang-yaml=\"`storageAccountGen2`\" pulumi-lang-java=\"`storageAccountGen2`\"\u003e`storage_account_gen2`\u003c/span\u003e block as defined below.\n"},"storageAccounts":{"type":"array","items":{"$ref":"#/types/azure:hdinsight/KafkaClusterStorageAccount:KafkaClusterStorageAccount"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`storageAccount`\" pulumi-lang-dotnet=\"`StorageAccount`\" pulumi-lang-go=\"`storageAccount`\" pulumi-lang-python=\"`storage_account`\" pulumi-lang-yaml=\"`storageAccount`\" pulumi-lang-java=\"`storageAccount`\"\u003e`storage_account`\u003c/span\u003e block as defined below.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of Tags which should be assigned to this HDInsight Kafka Cluster.\n"},"tier":{"type":"string","description":"Specifies the Tier which should be used for this HDInsight Kafka Cluster. Possible values are `Standard` or `Premium`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tlsMinVersion":{"type":"string","description":"The minimal supported TLS version. Possible values are `1.0`, `1.1` or `1.2`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["clusterVersion","componentVersion","gateway","resourceGroupName","roles","tier"],"stateInputs":{"description":"Input properties used for looking up and filtering KafkaCluster resources.\n","properties":{"clusterVersion":{"type":"string","description":"Specifies the Version of HDInsights which should be used for this Cluster. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"componentVersion":{"$ref":"#/types/azure:hdinsight/KafkaClusterComponentVersion:KafkaClusterComponentVersion","description":"A \u003cspan pulumi-lang-nodejs=\"`componentVersion`\" pulumi-lang-dotnet=\"`ComponentVersion`\" pulumi-lang-go=\"`componentVersion`\" pulumi-lang-python=\"`component_version`\" pulumi-lang-yaml=\"`componentVersion`\" pulumi-lang-java=\"`componentVersion`\"\u003e`component_version`\u003c/span\u003e block as defined below.\n"},"computeIsolation":{"$ref":"#/types/azure:hdinsight/KafkaClusterComputeIsolation:KafkaClusterComputeIsolation","description":"A \u003cspan pulumi-lang-nodejs=\"`computeIsolation`\" pulumi-lang-dotnet=\"`ComputeIsolation`\" pulumi-lang-go=\"`computeIsolation`\" pulumi-lang-python=\"`compute_isolation`\" pulumi-lang-yaml=\"`computeIsolation`\" pulumi-lang-java=\"`computeIsolation`\"\u003e`compute_isolation`\u003c/span\u003e block as defined below.\n"},"diskEncryptions":{"type":"array","items":{"$ref":"#/types/azure:hdinsight/KafkaClusterDiskEncryption:KafkaClusterDiskEncryption"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`diskEncryption`\" pulumi-lang-dotnet=\"`DiskEncryption`\" pulumi-lang-go=\"`diskEncryption`\" pulumi-lang-python=\"`disk_encryption`\" pulumi-lang-yaml=\"`diskEncryption`\" pulumi-lang-java=\"`diskEncryption`\"\u003e`disk_encryption`\u003c/span\u003e block as defined below.\n\n\u003e **Note:** Starting on June 30, 2020, Azure HDInsight will enforce TLS 1.2 or later versions for all HTTPS connections. For more information, see [Azure HDInsight TLS 1.2 Enforcement](https://azure.microsoft.com/en-us/updates/azure-hdinsight-tls-12-enforcement/).\n"},"encryptionInTransitEnabled":{"type":"boolean","description":"Whether encryption in transit is enabled for this HDInsight Kafka Cluster. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"extension":{"$ref":"#/types/azure:hdinsight/KafkaClusterExtension:KafkaClusterExtension","description":"An \u003cspan pulumi-lang-nodejs=\"`extension`\" pulumi-lang-dotnet=\"`Extension`\" pulumi-lang-go=\"`extension`\" pulumi-lang-python=\"`extension`\" pulumi-lang-yaml=\"`extension`\" pulumi-lang-java=\"`extension`\"\u003e`extension`\u003c/span\u003e block as defined below.\n"},"gateway":{"$ref":"#/types/azure:hdinsight/KafkaClusterGateway:KafkaClusterGateway","description":"A \u003cspan pulumi-lang-nodejs=\"`gateway`\" pulumi-lang-dotnet=\"`Gateway`\" pulumi-lang-go=\"`gateway`\" pulumi-lang-python=\"`gateway`\" pulumi-lang-yaml=\"`gateway`\" pulumi-lang-java=\"`gateway`\"\u003e`gateway`\u003c/span\u003e block as defined below.\n"},"httpsEndpoint":{"type":"string","description":"The HTTPS Connectivity Endpoint for this HDInsight Kafka Cluster.\n"},"kafkaRestProxyEndpoint":{"type":"string","description":"The Kafka Rest Proxy Endpoint for this HDInsight Kafka Cluster.\n"},"location":{"type":"string","description":"Specifies the Azure Region which this HDInsight Kafka Cluster should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"metastores":{"$ref":"#/types/azure:hdinsight/KafkaClusterMetastores:KafkaClusterMetastores","description":"A \u003cspan pulumi-lang-nodejs=\"`metastores`\" pulumi-lang-dotnet=\"`Metastores`\" pulumi-lang-go=\"`metastores`\" pulumi-lang-python=\"`metastores`\" pulumi-lang-yaml=\"`metastores`\" pulumi-lang-java=\"`metastores`\"\u003e`metastores`\u003c/span\u003e block as defined below.\n"},"monitor":{"$ref":"#/types/azure:hdinsight/KafkaClusterMonitor:KafkaClusterMonitor","description":"A \u003cspan pulumi-lang-nodejs=\"`monitor`\" pulumi-lang-dotnet=\"`Monitor`\" pulumi-lang-go=\"`monitor`\" pulumi-lang-python=\"`monitor`\" pulumi-lang-yaml=\"`monitor`\" pulumi-lang-java=\"`monitor`\"\u003e`monitor`\u003c/span\u003e block as defined below.\n"},"name":{"type":"string","description":"Specifies the name for this HDInsight Kafka Cluster. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"network":{"$ref":"#/types/azure:hdinsight/KafkaClusterNetwork:KafkaClusterNetwork","description":"A \u003cspan pulumi-lang-nodejs=\"`network`\" pulumi-lang-dotnet=\"`Network`\" pulumi-lang-go=\"`network`\" pulumi-lang-python=\"`network`\" pulumi-lang-yaml=\"`network`\" pulumi-lang-java=\"`network`\"\u003e`network`\u003c/span\u003e block as defined below.\n"},"privateLinkConfiguration":{"$ref":"#/types/azure:hdinsight/KafkaClusterPrivateLinkConfiguration:KafkaClusterPrivateLinkConfiguration","description":"A \u003cspan pulumi-lang-nodejs=\"`privateLinkConfiguration`\" pulumi-lang-dotnet=\"`PrivateLinkConfiguration`\" pulumi-lang-go=\"`privateLinkConfiguration`\" pulumi-lang-python=\"`private_link_configuration`\" pulumi-lang-yaml=\"`privateLinkConfiguration`\" pulumi-lang-java=\"`privateLinkConfiguration`\"\u003e`private_link_configuration`\u003c/span\u003e block as defined below.\n"},"resourceGroupName":{"type":"string","description":"Specifies the name of the Resource Group in which this HDInsight Kafka Cluster should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"restProxy":{"$ref":"#/types/azure:hdinsight/KafkaClusterRestProxy:KafkaClusterRestProxy","description":"A \u003cspan pulumi-lang-nodejs=\"`restProxy`\" pulumi-lang-dotnet=\"`RestProxy`\" pulumi-lang-go=\"`restProxy`\" pulumi-lang-python=\"`rest_proxy`\" pulumi-lang-yaml=\"`restProxy`\" pulumi-lang-java=\"`restProxy`\"\u003e`rest_proxy`\u003c/span\u003e block as defined below.\n"},"roles":{"$ref":"#/types/azure:hdinsight/KafkaClusterRoles:KafkaClusterRoles","description":"A \u003cspan pulumi-lang-nodejs=\"`roles`\" pulumi-lang-dotnet=\"`Roles`\" pulumi-lang-go=\"`roles`\" pulumi-lang-python=\"`roles`\" pulumi-lang-yaml=\"`roles`\" pulumi-lang-java=\"`roles`\"\u003e`roles`\u003c/span\u003e block as defined below.\n"},"securityProfile":{"$ref":"#/types/azure:hdinsight/KafkaClusterSecurityProfile:KafkaClusterSecurityProfile","description":"A \u003cspan pulumi-lang-nodejs=\"`securityProfile`\" pulumi-lang-dotnet=\"`SecurityProfile`\" pulumi-lang-go=\"`securityProfile`\" pulumi-lang-python=\"`security_profile`\" pulumi-lang-yaml=\"`securityProfile`\" pulumi-lang-java=\"`securityProfile`\"\u003e`security_profile`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sshEndpoint":{"type":"string","description":"The SSH Connectivity Endpoint for this HDInsight Kafka Cluster.\n"},"storageAccountGen2":{"$ref":"#/types/azure:hdinsight/KafkaClusterStorageAccountGen2:KafkaClusterStorageAccountGen2","description":"A \u003cspan pulumi-lang-nodejs=\"`storageAccountGen2`\" pulumi-lang-dotnet=\"`StorageAccountGen2`\" pulumi-lang-go=\"`storageAccountGen2`\" pulumi-lang-python=\"`storage_account_gen2`\" pulumi-lang-yaml=\"`storageAccountGen2`\" pulumi-lang-java=\"`storageAccountGen2`\"\u003e`storage_account_gen2`\u003c/span\u003e block as defined below.\n"},"storageAccounts":{"type":"array","items":{"$ref":"#/types/azure:hdinsight/KafkaClusterStorageAccount:KafkaClusterStorageAccount"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`storageAccount`\" pulumi-lang-dotnet=\"`StorageAccount`\" pulumi-lang-go=\"`storageAccount`\" pulumi-lang-python=\"`storage_account`\" pulumi-lang-yaml=\"`storageAccount`\" pulumi-lang-java=\"`storageAccount`\"\u003e`storage_account`\u003c/span\u003e block as defined below.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of Tags which should be assigned to this HDInsight Kafka Cluster.\n"},"tier":{"type":"string","description":"Specifies the Tier which should be used for this HDInsight Kafka Cluster. Possible values are `Standard` or `Premium`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tlsMinVersion":{"type":"string","description":"The minimal supported TLS version. Possible values are `1.0`, `1.1` or `1.2`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:hdinsight/sparkCluster:SparkCluster":{"description":"Manages a HDInsight Spark Cluster.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleAccount = new azure.storage.Account(\"example\", {\n    name: \"hdinsightstor\",\n    resourceGroupName: example.name,\n    location: example.location,\n    accountTier: \"Standard\",\n    accountReplicationType: \"LRS\",\n});\nconst exampleContainer = new azure.storage.Container(\"example\", {\n    name: \"hdinsight\",\n    storageAccountName: exampleAccount.name,\n    containerAccessType: \"private\",\n});\nconst exampleSparkCluster = new azure.hdinsight.SparkCluster(\"example\", {\n    name: \"example-hdicluster\",\n    resourceGroupName: example.name,\n    location: example.location,\n    clusterVersion: \"3.6\",\n    tier: \"Standard\",\n    componentVersion: {\n        spark: \"2.3\",\n    },\n    gateway: {\n        username: \"acctestusrgw\",\n        password: \"Password123!\",\n    },\n    storageAccounts: [{\n        storageContainerId: exampleContainer.id,\n        storageAccountKey: exampleAccount.primaryAccessKey,\n        isDefault: true,\n    }],\n    roles: {\n        headNode: {\n            vmSize: \"Standard_A3\",\n            username: \"acctestusrvm\",\n            password: \"AccTestvdSC4daf986!\",\n        },\n        workerNode: {\n            vmSize: \"Standard_A3\",\n            username: \"acctestusrvm\",\n            password: \"AccTestvdSC4daf986!\",\n            targetInstanceCount: 3,\n        },\n        zookeeperNode: {\n            vmSize: \"Medium\",\n            username: \"acctestusrvm\",\n            password: \"AccTestvdSC4daf986!\",\n        },\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_account = azure.storage.Account(\"example\",\n    name=\"hdinsightstor\",\n    resource_group_name=example.name,\n    location=example.location,\n    account_tier=\"Standard\",\n    account_replication_type=\"LRS\")\nexample_container = azure.storage.Container(\"example\",\n    name=\"hdinsight\",\n    storage_account_name=example_account.name,\n    container_access_type=\"private\")\nexample_spark_cluster = azure.hdinsight.SparkCluster(\"example\",\n    name=\"example-hdicluster\",\n    resource_group_name=example.name,\n    location=example.location,\n    cluster_version=\"3.6\",\n    tier=\"Standard\",\n    component_version={\n        \"spark\": \"2.3\",\n    },\n    gateway={\n        \"username\": \"acctestusrgw\",\n        \"password\": \"Password123!\",\n    },\n    storage_accounts=[{\n        \"storage_container_id\": example_container.id,\n        \"storage_account_key\": example_account.primary_access_key,\n        \"is_default\": True,\n    }],\n    roles={\n        \"head_node\": {\n            \"vm_size\": \"Standard_A3\",\n            \"username\": \"acctestusrvm\",\n            \"password\": \"AccTestvdSC4daf986!\",\n        },\n        \"worker_node\": {\n            \"vm_size\": \"Standard_A3\",\n            \"username\": \"acctestusrvm\",\n            \"password\": \"AccTestvdSC4daf986!\",\n            \"target_instance_count\": 3,\n        },\n        \"zookeeper_node\": {\n            \"vm_size\": \"Medium\",\n            \"username\": \"acctestusrvm\",\n            \"password\": \"AccTestvdSC4daf986!\",\n        },\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleAccount = new Azure.Storage.Account(\"example\", new()\n    {\n        Name = \"hdinsightstor\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        AccountTier = \"Standard\",\n        AccountReplicationType = \"LRS\",\n    });\n\n    var exampleContainer = new Azure.Storage.Container(\"example\", new()\n    {\n        Name = \"hdinsight\",\n        StorageAccountName = exampleAccount.Name,\n        ContainerAccessType = \"private\",\n    });\n\n    var exampleSparkCluster = new Azure.HDInsight.SparkCluster(\"example\", new()\n    {\n        Name = \"example-hdicluster\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        ClusterVersion = \"3.6\",\n        Tier = \"Standard\",\n        ComponentVersion = new Azure.HDInsight.Inputs.SparkClusterComponentVersionArgs\n        {\n            Spark = \"2.3\",\n        },\n        Gateway = new Azure.HDInsight.Inputs.SparkClusterGatewayArgs\n        {\n            Username = \"acctestusrgw\",\n            Password = \"Password123!\",\n        },\n        StorageAccounts = new[]\n        {\n            new Azure.HDInsight.Inputs.SparkClusterStorageAccountArgs\n            {\n                StorageContainerId = exampleContainer.Id,\n                StorageAccountKey = exampleAccount.PrimaryAccessKey,\n                IsDefault = true,\n            },\n        },\n        Roles = new Azure.HDInsight.Inputs.SparkClusterRolesArgs\n        {\n            HeadNode = new Azure.HDInsight.Inputs.SparkClusterRolesHeadNodeArgs\n            {\n                VmSize = \"Standard_A3\",\n                Username = \"acctestusrvm\",\n                Password = \"AccTestvdSC4daf986!\",\n            },\n            WorkerNode = new Azure.HDInsight.Inputs.SparkClusterRolesWorkerNodeArgs\n            {\n                VmSize = \"Standard_A3\",\n                Username = \"acctestusrvm\",\n                Password = \"AccTestvdSC4daf986!\",\n                TargetInstanceCount = 3,\n            },\n            ZookeeperNode = new Azure.HDInsight.Inputs.SparkClusterRolesZookeeperNodeArgs\n            {\n                VmSize = \"Medium\",\n                Username = \"acctestusrvm\",\n                Password = \"AccTestvdSC4daf986!\",\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/hdinsight\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := storage.NewAccount(ctx, \"example\", \u0026storage.AccountArgs{\n\t\t\tName:                   pulumi.String(\"hdinsightstor\"),\n\t\t\tResourceGroupName:      example.Name,\n\t\t\tLocation:               example.Location,\n\t\t\tAccountTier:            pulumi.String(\"Standard\"),\n\t\t\tAccountReplicationType: pulumi.String(\"LRS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleContainer, err := storage.NewContainer(ctx, \"example\", \u0026storage.ContainerArgs{\n\t\t\tName:                pulumi.String(\"hdinsight\"),\n\t\t\tStorageAccountName:  exampleAccount.Name,\n\t\t\tContainerAccessType: pulumi.String(\"private\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = hdinsight.NewSparkCluster(ctx, \"example\", \u0026hdinsight.SparkClusterArgs{\n\t\t\tName:              pulumi.String(\"example-hdicluster\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tClusterVersion:    pulumi.String(\"3.6\"),\n\t\t\tTier:              pulumi.String(\"Standard\"),\n\t\t\tComponentVersion: \u0026hdinsight.SparkClusterComponentVersionArgs{\n\t\t\t\tSpark: pulumi.String(\"2.3\"),\n\t\t\t},\n\t\t\tGateway: \u0026hdinsight.SparkClusterGatewayArgs{\n\t\t\t\tUsername: pulumi.String(\"acctestusrgw\"),\n\t\t\t\tPassword: pulumi.String(\"Password123!\"),\n\t\t\t},\n\t\t\tStorageAccounts: hdinsight.SparkClusterStorageAccountArray{\n\t\t\t\t\u0026hdinsight.SparkClusterStorageAccountArgs{\n\t\t\t\t\tStorageContainerId: exampleContainer.ID(),\n\t\t\t\t\tStorageAccountKey:  exampleAccount.PrimaryAccessKey,\n\t\t\t\t\tIsDefault:          pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t},\n\t\t\tRoles: \u0026hdinsight.SparkClusterRolesArgs{\n\t\t\t\tHeadNode: \u0026hdinsight.SparkClusterRolesHeadNodeArgs{\n\t\t\t\t\tVmSize:   pulumi.String(\"Standard_A3\"),\n\t\t\t\t\tUsername: pulumi.String(\"acctestusrvm\"),\n\t\t\t\t\tPassword: pulumi.String(\"AccTestvdSC4daf986!\"),\n\t\t\t\t},\n\t\t\t\tWorkerNode: \u0026hdinsight.SparkClusterRolesWorkerNodeArgs{\n\t\t\t\t\tVmSize:              pulumi.String(\"Standard_A3\"),\n\t\t\t\t\tUsername:            pulumi.String(\"acctestusrvm\"),\n\t\t\t\t\tPassword:            pulumi.String(\"AccTestvdSC4daf986!\"),\n\t\t\t\t\tTargetInstanceCount: pulumi.Int(3),\n\t\t\t\t},\n\t\t\t\tZookeeperNode: \u0026hdinsight.SparkClusterRolesZookeeperNodeArgs{\n\t\t\t\t\tVmSize:   pulumi.String(\"Medium\"),\n\t\t\t\t\tUsername: pulumi.String(\"acctestusrvm\"),\n\t\t\t\t\tPassword: pulumi.String(\"AccTestvdSC4daf986!\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.storage.Account;\nimport com.pulumi.azure.storage.AccountArgs;\nimport com.pulumi.azure.storage.Container;\nimport com.pulumi.azure.storage.ContainerArgs;\nimport com.pulumi.azure.hdinsight.SparkCluster;\nimport com.pulumi.azure.hdinsight.SparkClusterArgs;\nimport com.pulumi.azure.hdinsight.inputs.SparkClusterComponentVersionArgs;\nimport com.pulumi.azure.hdinsight.inputs.SparkClusterGatewayArgs;\nimport com.pulumi.azure.hdinsight.inputs.SparkClusterStorageAccountArgs;\nimport com.pulumi.azure.hdinsight.inputs.SparkClusterRolesArgs;\nimport com.pulumi.azure.hdinsight.inputs.SparkClusterRolesHeadNodeArgs;\nimport com.pulumi.azure.hdinsight.inputs.SparkClusterRolesWorkerNodeArgs;\nimport com.pulumi.azure.hdinsight.inputs.SparkClusterRolesZookeeperNodeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"hdinsightstor\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .accountTier(\"Standard\")\n            .accountReplicationType(\"LRS\")\n            .build());\n\n        var exampleContainer = new Container(\"exampleContainer\", ContainerArgs.builder()\n            .name(\"hdinsight\")\n            .storageAccountName(exampleAccount.name())\n            .containerAccessType(\"private\")\n            .build());\n\n        var exampleSparkCluster = new SparkCluster(\"exampleSparkCluster\", SparkClusterArgs.builder()\n            .name(\"example-hdicluster\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .clusterVersion(\"3.6\")\n            .tier(\"Standard\")\n            .componentVersion(SparkClusterComponentVersionArgs.builder()\n                .spark(\"2.3\")\n                .build())\n            .gateway(SparkClusterGatewayArgs.builder()\n                .username(\"acctestusrgw\")\n                .password(\"Password123!\")\n                .build())\n            .storageAccounts(SparkClusterStorageAccountArgs.builder()\n                .storageContainerId(exampleContainer.id())\n                .storageAccountKey(exampleAccount.primaryAccessKey())\n                .isDefault(true)\n                .build())\n            .roles(SparkClusterRolesArgs.builder()\n                .headNode(SparkClusterRolesHeadNodeArgs.builder()\n                    .vmSize(\"Standard_A3\")\n                    .username(\"acctestusrvm\")\n                    .password(\"AccTestvdSC4daf986!\")\n                    .build())\n                .workerNode(SparkClusterRolesWorkerNodeArgs.builder()\n                    .vmSize(\"Standard_A3\")\n                    .username(\"acctestusrvm\")\n                    .password(\"AccTestvdSC4daf986!\")\n                    .targetInstanceCount(3)\n                    .build())\n                .zookeeperNode(SparkClusterRolesZookeeperNodeArgs.builder()\n                    .vmSize(\"Medium\")\n                    .username(\"acctestusrvm\")\n                    .password(\"AccTestvdSC4daf986!\")\n                    .build())\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleAccount:\n    type: azure:storage:Account\n    name: example\n    properties:\n      name: hdinsightstor\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      accountTier: Standard\n      accountReplicationType: LRS\n  exampleContainer:\n    type: azure:storage:Container\n    name: example\n    properties:\n      name: hdinsight\n      storageAccountName: ${exampleAccount.name}\n      containerAccessType: private\n  exampleSparkCluster:\n    type: azure:hdinsight:SparkCluster\n    name: example\n    properties:\n      name: example-hdicluster\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      clusterVersion: '3.6'\n      tier: Standard\n      componentVersion:\n        spark: '2.3'\n      gateway:\n        username: acctestusrgw\n        password: Password123!\n      storageAccounts:\n        - storageContainerId: ${exampleContainer.id}\n          storageAccountKey: ${exampleAccount.primaryAccessKey}\n          isDefault: true\n      roles:\n        headNode:\n          vmSize: Standard_A3\n          username: acctestusrvm\n          password: AccTestvdSC4daf986!\n        workerNode:\n          vmSize: Standard_A3\n          username: acctestusrvm\n          password: AccTestvdSC4daf986!\n          targetInstanceCount: 3\n        zookeeperNode:\n          vmSize: Medium\n          username: acctestusrvm\n          password: AccTestvdSC4daf986!\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.HDInsight` - 2021-06-01\n\n## Import\n\nHDInsight Spark Clusters can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:hdinsight/sparkCluster:SparkCluster example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.HDInsight/clusters/cluster1\n```\n\n","properties":{"clusterVersion":{"type":"string","description":"Specifies the Version of HDInsights which should be used for this Cluster. Changing this forces a new resource to be created.\n"},"componentVersion":{"$ref":"#/types/azure:hdinsight/SparkClusterComponentVersion:SparkClusterComponentVersion","description":"A \u003cspan pulumi-lang-nodejs=\"`componentVersion`\" pulumi-lang-dotnet=\"`ComponentVersion`\" pulumi-lang-go=\"`componentVersion`\" pulumi-lang-python=\"`component_version`\" pulumi-lang-yaml=\"`componentVersion`\" pulumi-lang-java=\"`componentVersion`\"\u003e`component_version`\u003c/span\u003e block as defined below.\n"},"computeIsolation":{"$ref":"#/types/azure:hdinsight/SparkClusterComputeIsolation:SparkClusterComputeIsolation","description":"A \u003cspan pulumi-lang-nodejs=\"`computeIsolation`\" pulumi-lang-dotnet=\"`ComputeIsolation`\" pulumi-lang-go=\"`computeIsolation`\" pulumi-lang-python=\"`compute_isolation`\" pulumi-lang-yaml=\"`computeIsolation`\" pulumi-lang-java=\"`computeIsolation`\"\u003e`compute_isolation`\u003c/span\u003e block as defined below.\n"},"diskEncryptions":{"type":"array","items":{"$ref":"#/types/azure:hdinsight/SparkClusterDiskEncryption:SparkClusterDiskEncryption"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`diskEncryption`\" pulumi-lang-dotnet=\"`DiskEncryption`\" pulumi-lang-go=\"`diskEncryption`\" pulumi-lang-python=\"`disk_encryption`\" pulumi-lang-yaml=\"`diskEncryption`\" pulumi-lang-java=\"`diskEncryption`\"\u003e`disk_encryption`\u003c/span\u003e block as defined below.\n"},"encryptionInTransitEnabled":{"type":"boolean","description":"Whether encryption in transit is enabled for this Cluster. Changing this forces a new resource to be created.\n"},"extension":{"$ref":"#/types/azure:hdinsight/SparkClusterExtension:SparkClusterExtension","description":"An \u003cspan pulumi-lang-nodejs=\"`extension`\" pulumi-lang-dotnet=\"`Extension`\" pulumi-lang-go=\"`extension`\" pulumi-lang-python=\"`extension`\" pulumi-lang-yaml=\"`extension`\" pulumi-lang-java=\"`extension`\"\u003e`extension`\u003c/span\u003e block as defined below.\n"},"gateway":{"$ref":"#/types/azure:hdinsight/SparkClusterGateway:SparkClusterGateway","description":"A \u003cspan pulumi-lang-nodejs=\"`gateway`\" pulumi-lang-dotnet=\"`Gateway`\" pulumi-lang-go=\"`gateway`\" pulumi-lang-python=\"`gateway`\" pulumi-lang-yaml=\"`gateway`\" pulumi-lang-java=\"`gateway`\"\u003e`gateway`\u003c/span\u003e block as defined below.\n"},"httpsEndpoint":{"type":"string","description":"The HTTPS Connectivity Endpoint for this HDInsight Spark Cluster.\n"},"location":{"type":"string","description":"Specifies the Azure Region which this HDInsight Spark Cluster should exist. Changing this forces a new resource to be created.\n"},"metastores":{"$ref":"#/types/azure:hdinsight/SparkClusterMetastores:SparkClusterMetastores","description":"A \u003cspan pulumi-lang-nodejs=\"`metastores`\" pulumi-lang-dotnet=\"`Metastores`\" pulumi-lang-go=\"`metastores`\" pulumi-lang-python=\"`metastores`\" pulumi-lang-yaml=\"`metastores`\" pulumi-lang-java=\"`metastores`\"\u003e`metastores`\u003c/span\u003e block as defined below.\n"},"monitor":{"$ref":"#/types/azure:hdinsight/SparkClusterMonitor:SparkClusterMonitor","description":"A \u003cspan pulumi-lang-nodejs=\"`monitor`\" pulumi-lang-dotnet=\"`Monitor`\" pulumi-lang-go=\"`monitor`\" pulumi-lang-python=\"`monitor`\" pulumi-lang-yaml=\"`monitor`\" pulumi-lang-java=\"`monitor`\"\u003e`monitor`\u003c/span\u003e block as defined below.\n"},"name":{"type":"string","description":"Specifies the name for this HDInsight Spark Cluster. Changing this forces a new resource to be created.\n"},"network":{"$ref":"#/types/azure:hdinsight/SparkClusterNetwork:SparkClusterNetwork","description":"A \u003cspan pulumi-lang-nodejs=\"`network`\" pulumi-lang-dotnet=\"`Network`\" pulumi-lang-go=\"`network`\" pulumi-lang-python=\"`network`\" pulumi-lang-yaml=\"`network`\" pulumi-lang-java=\"`network`\"\u003e`network`\u003c/span\u003e block as defined below.\n"},"privateLinkConfiguration":{"$ref":"#/types/azure:hdinsight/SparkClusterPrivateLinkConfiguration:SparkClusterPrivateLinkConfiguration","description":"A \u003cspan pulumi-lang-nodejs=\"`privateLinkConfiguration`\" pulumi-lang-dotnet=\"`PrivateLinkConfiguration`\" pulumi-lang-go=\"`privateLinkConfiguration`\" pulumi-lang-python=\"`private_link_configuration`\" pulumi-lang-yaml=\"`privateLinkConfiguration`\" pulumi-lang-java=\"`privateLinkConfiguration`\"\u003e`private_link_configuration`\u003c/span\u003e block as defined below.\n"},"resourceGroupName":{"type":"string","description":"Specifies the name of the Resource Group in which this HDInsight Spark Cluster should exist. Changing this forces a new resource to be created.\n"},"roles":{"$ref":"#/types/azure:hdinsight/SparkClusterRoles:SparkClusterRoles","description":"A \u003cspan pulumi-lang-nodejs=\"`roles`\" pulumi-lang-dotnet=\"`Roles`\" pulumi-lang-go=\"`roles`\" pulumi-lang-python=\"`roles`\" pulumi-lang-yaml=\"`roles`\" pulumi-lang-java=\"`roles`\"\u003e`roles`\u003c/span\u003e block as defined below.\n"},"securityProfile":{"$ref":"#/types/azure:hdinsight/SparkClusterSecurityProfile:SparkClusterSecurityProfile","description":"A \u003cspan pulumi-lang-nodejs=\"`securityProfile`\" pulumi-lang-dotnet=\"`SecurityProfile`\" pulumi-lang-go=\"`securityProfile`\" pulumi-lang-python=\"`security_profile`\" pulumi-lang-yaml=\"`securityProfile`\" pulumi-lang-java=\"`securityProfile`\"\u003e`security_profile`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n"},"sshEndpoint":{"type":"string","description":"The SSH Connectivity Endpoint for this HDInsight Spark Cluster.\n"},"storageAccountGen2":{"$ref":"#/types/azure:hdinsight/SparkClusterStorageAccountGen2:SparkClusterStorageAccountGen2","description":"A \u003cspan pulumi-lang-nodejs=\"`storageAccountGen2`\" pulumi-lang-dotnet=\"`StorageAccountGen2`\" pulumi-lang-go=\"`storageAccountGen2`\" pulumi-lang-python=\"`storage_account_gen2`\" pulumi-lang-yaml=\"`storageAccountGen2`\" pulumi-lang-java=\"`storageAccountGen2`\"\u003e`storage_account_gen2`\u003c/span\u003e block as defined below.\n"},"storageAccounts":{"type":"array","items":{"$ref":"#/types/azure:hdinsight/SparkClusterStorageAccount:SparkClusterStorageAccount"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`storageAccount`\" pulumi-lang-dotnet=\"`StorageAccount`\" pulumi-lang-go=\"`storageAccount`\" pulumi-lang-python=\"`storage_account`\" pulumi-lang-yaml=\"`storageAccount`\" pulumi-lang-java=\"`storageAccount`\"\u003e`storage_account`\u003c/span\u003e block as defined below.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of Tags which should be assigned to this HDInsight Spark Cluster.\n"},"tier":{"type":"string","description":"Specifies the Tier which should be used for this HDInsight Spark Cluster. Possible values are `Standard` or `Premium`. Changing this forces a new resource to be created.\n"},"tlsMinVersion":{"type":"string","description":"The minimal supported TLS version. Possible values are 1.0, 1.1 or 1.2. Changing this forces a new resource to be created.\n\n\u003e **Note:** Starting on June 30, 2020, Azure HDInsight will enforce TLS 1.2 or later versions for all HTTPS connections. For more information, see [Azure HDInsight TLS 1.2 Enforcement](https://azure.microsoft.com/en-us/updates/azure-hdinsight-tls-12-enforcement/).\n"},"zones":{"type":"array","items":{"type":"string"},"description":"A list of Availability Zones which should be used for this HDInsight Spark Cluster. Changing this forces a new resource to be created.\n"}},"required":["clusterVersion","componentVersion","gateway","httpsEndpoint","location","name","resourceGroupName","roles","sshEndpoint","tier"],"inputProperties":{"clusterVersion":{"type":"string","description":"Specifies the Version of HDInsights which should be used for this Cluster. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"componentVersion":{"$ref":"#/types/azure:hdinsight/SparkClusterComponentVersion:SparkClusterComponentVersion","description":"A \u003cspan pulumi-lang-nodejs=\"`componentVersion`\" pulumi-lang-dotnet=\"`ComponentVersion`\" pulumi-lang-go=\"`componentVersion`\" pulumi-lang-python=\"`component_version`\" pulumi-lang-yaml=\"`componentVersion`\" pulumi-lang-java=\"`componentVersion`\"\u003e`component_version`\u003c/span\u003e block as defined below.\n"},"computeIsolation":{"$ref":"#/types/azure:hdinsight/SparkClusterComputeIsolation:SparkClusterComputeIsolation","description":"A \u003cspan pulumi-lang-nodejs=\"`computeIsolation`\" pulumi-lang-dotnet=\"`ComputeIsolation`\" pulumi-lang-go=\"`computeIsolation`\" pulumi-lang-python=\"`compute_isolation`\" pulumi-lang-yaml=\"`computeIsolation`\" pulumi-lang-java=\"`computeIsolation`\"\u003e`compute_isolation`\u003c/span\u003e block as defined below.\n"},"diskEncryptions":{"type":"array","items":{"$ref":"#/types/azure:hdinsight/SparkClusterDiskEncryption:SparkClusterDiskEncryption"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`diskEncryption`\" pulumi-lang-dotnet=\"`DiskEncryption`\" pulumi-lang-go=\"`diskEncryption`\" pulumi-lang-python=\"`disk_encryption`\" pulumi-lang-yaml=\"`diskEncryption`\" pulumi-lang-java=\"`diskEncryption`\"\u003e`disk_encryption`\u003c/span\u003e block as defined below.\n"},"encryptionInTransitEnabled":{"type":"boolean","description":"Whether encryption in transit is enabled for this Cluster. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"extension":{"$ref":"#/types/azure:hdinsight/SparkClusterExtension:SparkClusterExtension","description":"An \u003cspan pulumi-lang-nodejs=\"`extension`\" pulumi-lang-dotnet=\"`Extension`\" pulumi-lang-go=\"`extension`\" pulumi-lang-python=\"`extension`\" pulumi-lang-yaml=\"`extension`\" pulumi-lang-java=\"`extension`\"\u003e`extension`\u003c/span\u003e block as defined below.\n"},"gateway":{"$ref":"#/types/azure:hdinsight/SparkClusterGateway:SparkClusterGateway","description":"A \u003cspan pulumi-lang-nodejs=\"`gateway`\" pulumi-lang-dotnet=\"`Gateway`\" pulumi-lang-go=\"`gateway`\" pulumi-lang-python=\"`gateway`\" pulumi-lang-yaml=\"`gateway`\" pulumi-lang-java=\"`gateway`\"\u003e`gateway`\u003c/span\u003e block as defined below.\n"},"location":{"type":"string","description":"Specifies the Azure Region which this HDInsight Spark Cluster should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"metastores":{"$ref":"#/types/azure:hdinsight/SparkClusterMetastores:SparkClusterMetastores","description":"A \u003cspan pulumi-lang-nodejs=\"`metastores`\" pulumi-lang-dotnet=\"`Metastores`\" pulumi-lang-go=\"`metastores`\" pulumi-lang-python=\"`metastores`\" pulumi-lang-yaml=\"`metastores`\" pulumi-lang-java=\"`metastores`\"\u003e`metastores`\u003c/span\u003e block as defined below.\n"},"monitor":{"$ref":"#/types/azure:hdinsight/SparkClusterMonitor:SparkClusterMonitor","description":"A \u003cspan pulumi-lang-nodejs=\"`monitor`\" pulumi-lang-dotnet=\"`Monitor`\" pulumi-lang-go=\"`monitor`\" pulumi-lang-python=\"`monitor`\" pulumi-lang-yaml=\"`monitor`\" pulumi-lang-java=\"`monitor`\"\u003e`monitor`\u003c/span\u003e block as defined below.\n"},"name":{"type":"string","description":"Specifies the name for this HDInsight Spark Cluster. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"network":{"$ref":"#/types/azure:hdinsight/SparkClusterNetwork:SparkClusterNetwork","description":"A \u003cspan pulumi-lang-nodejs=\"`network`\" pulumi-lang-dotnet=\"`Network`\" pulumi-lang-go=\"`network`\" pulumi-lang-python=\"`network`\" pulumi-lang-yaml=\"`network`\" pulumi-lang-java=\"`network`\"\u003e`network`\u003c/span\u003e block as defined below.\n"},"privateLinkConfiguration":{"$ref":"#/types/azure:hdinsight/SparkClusterPrivateLinkConfiguration:SparkClusterPrivateLinkConfiguration","description":"A \u003cspan pulumi-lang-nodejs=\"`privateLinkConfiguration`\" pulumi-lang-dotnet=\"`PrivateLinkConfiguration`\" pulumi-lang-go=\"`privateLinkConfiguration`\" pulumi-lang-python=\"`private_link_configuration`\" pulumi-lang-yaml=\"`privateLinkConfiguration`\" pulumi-lang-java=\"`privateLinkConfiguration`\"\u003e`private_link_configuration`\u003c/span\u003e block as defined below.\n"},"resourceGroupName":{"type":"string","description":"Specifies the name of the Resource Group in which this HDInsight Spark Cluster should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"roles":{"$ref":"#/types/azure:hdinsight/SparkClusterRoles:SparkClusterRoles","description":"A \u003cspan pulumi-lang-nodejs=\"`roles`\" pulumi-lang-dotnet=\"`Roles`\" pulumi-lang-go=\"`roles`\" pulumi-lang-python=\"`roles`\" pulumi-lang-yaml=\"`roles`\" pulumi-lang-java=\"`roles`\"\u003e`roles`\u003c/span\u003e block as defined below.\n"},"securityProfile":{"$ref":"#/types/azure:hdinsight/SparkClusterSecurityProfile:SparkClusterSecurityProfile","description":"A \u003cspan pulumi-lang-nodejs=\"`securityProfile`\" pulumi-lang-dotnet=\"`SecurityProfile`\" pulumi-lang-go=\"`securityProfile`\" pulumi-lang-python=\"`security_profile`\" pulumi-lang-yaml=\"`securityProfile`\" pulumi-lang-java=\"`securityProfile`\"\u003e`security_profile`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"storageAccountGen2":{"$ref":"#/types/azure:hdinsight/SparkClusterStorageAccountGen2:SparkClusterStorageAccountGen2","description":"A \u003cspan pulumi-lang-nodejs=\"`storageAccountGen2`\" pulumi-lang-dotnet=\"`StorageAccountGen2`\" pulumi-lang-go=\"`storageAccountGen2`\" pulumi-lang-python=\"`storage_account_gen2`\" pulumi-lang-yaml=\"`storageAccountGen2`\" pulumi-lang-java=\"`storageAccountGen2`\"\u003e`storage_account_gen2`\u003c/span\u003e block as defined below.\n"},"storageAccounts":{"type":"array","items":{"$ref":"#/types/azure:hdinsight/SparkClusterStorageAccount:SparkClusterStorageAccount"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`storageAccount`\" pulumi-lang-dotnet=\"`StorageAccount`\" pulumi-lang-go=\"`storageAccount`\" pulumi-lang-python=\"`storage_account`\" pulumi-lang-yaml=\"`storageAccount`\" pulumi-lang-java=\"`storageAccount`\"\u003e`storage_account`\u003c/span\u003e block as defined below.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of Tags which should be assigned to this HDInsight Spark Cluster.\n"},"tier":{"type":"string","description":"Specifies the Tier which should be used for this HDInsight Spark Cluster. Possible values are `Standard` or `Premium`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tlsMinVersion":{"type":"string","description":"The minimal supported TLS version. Possible values are 1.0, 1.1 or 1.2. Changing this forces a new resource to be created.\n\n\u003e **Note:** Starting on June 30, 2020, Azure HDInsight will enforce TLS 1.2 or later versions for all HTTPS connections. For more information, see [Azure HDInsight TLS 1.2 Enforcement](https://azure.microsoft.com/en-us/updates/azure-hdinsight-tls-12-enforcement/).\n","willReplaceOnChanges":true},"zones":{"type":"array","items":{"type":"string"},"description":"A list of Availability Zones which should be used for this HDInsight Spark Cluster. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["clusterVersion","componentVersion","gateway","resourceGroupName","roles","tier"],"stateInputs":{"description":"Input properties used for looking up and filtering SparkCluster resources.\n","properties":{"clusterVersion":{"type":"string","description":"Specifies the Version of HDInsights which should be used for this Cluster. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"componentVersion":{"$ref":"#/types/azure:hdinsight/SparkClusterComponentVersion:SparkClusterComponentVersion","description":"A \u003cspan pulumi-lang-nodejs=\"`componentVersion`\" pulumi-lang-dotnet=\"`ComponentVersion`\" pulumi-lang-go=\"`componentVersion`\" pulumi-lang-python=\"`component_version`\" pulumi-lang-yaml=\"`componentVersion`\" pulumi-lang-java=\"`componentVersion`\"\u003e`component_version`\u003c/span\u003e block as defined below.\n"},"computeIsolation":{"$ref":"#/types/azure:hdinsight/SparkClusterComputeIsolation:SparkClusterComputeIsolation","description":"A \u003cspan pulumi-lang-nodejs=\"`computeIsolation`\" pulumi-lang-dotnet=\"`ComputeIsolation`\" pulumi-lang-go=\"`computeIsolation`\" pulumi-lang-python=\"`compute_isolation`\" pulumi-lang-yaml=\"`computeIsolation`\" pulumi-lang-java=\"`computeIsolation`\"\u003e`compute_isolation`\u003c/span\u003e block as defined below.\n"},"diskEncryptions":{"type":"array","items":{"$ref":"#/types/azure:hdinsight/SparkClusterDiskEncryption:SparkClusterDiskEncryption"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`diskEncryption`\" pulumi-lang-dotnet=\"`DiskEncryption`\" pulumi-lang-go=\"`diskEncryption`\" pulumi-lang-python=\"`disk_encryption`\" pulumi-lang-yaml=\"`diskEncryption`\" pulumi-lang-java=\"`diskEncryption`\"\u003e`disk_encryption`\u003c/span\u003e block as defined below.\n"},"encryptionInTransitEnabled":{"type":"boolean","description":"Whether encryption in transit is enabled for this Cluster. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"extension":{"$ref":"#/types/azure:hdinsight/SparkClusterExtension:SparkClusterExtension","description":"An \u003cspan pulumi-lang-nodejs=\"`extension`\" pulumi-lang-dotnet=\"`Extension`\" pulumi-lang-go=\"`extension`\" pulumi-lang-python=\"`extension`\" pulumi-lang-yaml=\"`extension`\" pulumi-lang-java=\"`extension`\"\u003e`extension`\u003c/span\u003e block as defined below.\n"},"gateway":{"$ref":"#/types/azure:hdinsight/SparkClusterGateway:SparkClusterGateway","description":"A \u003cspan pulumi-lang-nodejs=\"`gateway`\" pulumi-lang-dotnet=\"`Gateway`\" pulumi-lang-go=\"`gateway`\" pulumi-lang-python=\"`gateway`\" pulumi-lang-yaml=\"`gateway`\" pulumi-lang-java=\"`gateway`\"\u003e`gateway`\u003c/span\u003e block as defined below.\n"},"httpsEndpoint":{"type":"string","description":"The HTTPS Connectivity Endpoint for this HDInsight Spark Cluster.\n"},"location":{"type":"string","description":"Specifies the Azure Region which this HDInsight Spark Cluster should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"metastores":{"$ref":"#/types/azure:hdinsight/SparkClusterMetastores:SparkClusterMetastores","description":"A \u003cspan pulumi-lang-nodejs=\"`metastores`\" pulumi-lang-dotnet=\"`Metastores`\" pulumi-lang-go=\"`metastores`\" pulumi-lang-python=\"`metastores`\" pulumi-lang-yaml=\"`metastores`\" pulumi-lang-java=\"`metastores`\"\u003e`metastores`\u003c/span\u003e block as defined below.\n"},"monitor":{"$ref":"#/types/azure:hdinsight/SparkClusterMonitor:SparkClusterMonitor","description":"A \u003cspan pulumi-lang-nodejs=\"`monitor`\" pulumi-lang-dotnet=\"`Monitor`\" pulumi-lang-go=\"`monitor`\" pulumi-lang-python=\"`monitor`\" pulumi-lang-yaml=\"`monitor`\" pulumi-lang-java=\"`monitor`\"\u003e`monitor`\u003c/span\u003e block as defined below.\n"},"name":{"type":"string","description":"Specifies the name for this HDInsight Spark Cluster. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"network":{"$ref":"#/types/azure:hdinsight/SparkClusterNetwork:SparkClusterNetwork","description":"A \u003cspan pulumi-lang-nodejs=\"`network`\" pulumi-lang-dotnet=\"`Network`\" pulumi-lang-go=\"`network`\" pulumi-lang-python=\"`network`\" pulumi-lang-yaml=\"`network`\" pulumi-lang-java=\"`network`\"\u003e`network`\u003c/span\u003e block as defined below.\n"},"privateLinkConfiguration":{"$ref":"#/types/azure:hdinsight/SparkClusterPrivateLinkConfiguration:SparkClusterPrivateLinkConfiguration","description":"A \u003cspan pulumi-lang-nodejs=\"`privateLinkConfiguration`\" pulumi-lang-dotnet=\"`PrivateLinkConfiguration`\" pulumi-lang-go=\"`privateLinkConfiguration`\" pulumi-lang-python=\"`private_link_configuration`\" pulumi-lang-yaml=\"`privateLinkConfiguration`\" pulumi-lang-java=\"`privateLinkConfiguration`\"\u003e`private_link_configuration`\u003c/span\u003e block as defined below.\n"},"resourceGroupName":{"type":"string","description":"Specifies the name of the Resource Group in which this HDInsight Spark Cluster should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"roles":{"$ref":"#/types/azure:hdinsight/SparkClusterRoles:SparkClusterRoles","description":"A \u003cspan pulumi-lang-nodejs=\"`roles`\" pulumi-lang-dotnet=\"`Roles`\" pulumi-lang-go=\"`roles`\" pulumi-lang-python=\"`roles`\" pulumi-lang-yaml=\"`roles`\" pulumi-lang-java=\"`roles`\"\u003e`roles`\u003c/span\u003e block as defined below.\n"},"securityProfile":{"$ref":"#/types/azure:hdinsight/SparkClusterSecurityProfile:SparkClusterSecurityProfile","description":"A \u003cspan pulumi-lang-nodejs=\"`securityProfile`\" pulumi-lang-dotnet=\"`SecurityProfile`\" pulumi-lang-go=\"`securityProfile`\" pulumi-lang-python=\"`security_profile`\" pulumi-lang-yaml=\"`securityProfile`\" pulumi-lang-java=\"`securityProfile`\"\u003e`security_profile`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sshEndpoint":{"type":"string","description":"The SSH Connectivity Endpoint for this HDInsight Spark Cluster.\n"},"storageAccountGen2":{"$ref":"#/types/azure:hdinsight/SparkClusterStorageAccountGen2:SparkClusterStorageAccountGen2","description":"A \u003cspan pulumi-lang-nodejs=\"`storageAccountGen2`\" pulumi-lang-dotnet=\"`StorageAccountGen2`\" pulumi-lang-go=\"`storageAccountGen2`\" pulumi-lang-python=\"`storage_account_gen2`\" pulumi-lang-yaml=\"`storageAccountGen2`\" pulumi-lang-java=\"`storageAccountGen2`\"\u003e`storage_account_gen2`\u003c/span\u003e block as defined below.\n"},"storageAccounts":{"type":"array","items":{"$ref":"#/types/azure:hdinsight/SparkClusterStorageAccount:SparkClusterStorageAccount"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`storageAccount`\" pulumi-lang-dotnet=\"`StorageAccount`\" pulumi-lang-go=\"`storageAccount`\" pulumi-lang-python=\"`storage_account`\" pulumi-lang-yaml=\"`storageAccount`\" pulumi-lang-java=\"`storageAccount`\"\u003e`storage_account`\u003c/span\u003e block as defined below.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of Tags which should be assigned to this HDInsight Spark Cluster.\n"},"tier":{"type":"string","description":"Specifies the Tier which should be used for this HDInsight Spark Cluster. Possible values are `Standard` or `Premium`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tlsMinVersion":{"type":"string","description":"The minimal supported TLS version. Possible values are 1.0, 1.1 or 1.2. Changing this forces a new resource to be created.\n\n\u003e **Note:** Starting on June 30, 2020, Azure HDInsight will enforce TLS 1.2 or later versions for all HTTPS connections. For more information, see [Azure HDInsight TLS 1.2 Enforcement](https://azure.microsoft.com/en-us/updates/azure-hdinsight-tls-12-enforcement/).\n","willReplaceOnChanges":true},"zones":{"type":"array","items":{"type":"string"},"description":"A list of Availability Zones which should be used for this HDInsight Spark Cluster. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:healthcare/dicomService:DicomService":{"description":"Manages a Healthcare DICOM Service\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst test = new azure.healthcare.Workspace(\"test\", {\n    name: \"tfexworkspace\",\n    resourceGroupName: \"tfex-resource_group\",\n    location: \"east us\",\n});\nconst testDicomService = new azure.healthcare.DicomService(\"test\", {\n    name: \"tfexDicom\",\n    workspaceId: test.id,\n    location: \"east us\",\n    identity: {\n        type: \"SystemAssigned\",\n    },\n    tags: {\n        environment: \"None\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\ntest = azure.healthcare.Workspace(\"test\",\n    name=\"tfexworkspace\",\n    resource_group_name=\"tfex-resource_group\",\n    location=\"east us\")\ntest_dicom_service = azure.healthcare.DicomService(\"test\",\n    name=\"tfexDicom\",\n    workspace_id=test.id,\n    location=\"east us\",\n    identity={\n        \"type\": \"SystemAssigned\",\n    },\n    tags={\n        \"environment\": \"None\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var test = new Azure.Healthcare.Workspace(\"test\", new()\n    {\n        Name = \"tfexworkspace\",\n        ResourceGroupName = \"tfex-resource_group\",\n        Location = \"east us\",\n    });\n\n    var testDicomService = new Azure.Healthcare.DicomService(\"test\", new()\n    {\n        Name = \"tfexDicom\",\n        WorkspaceId = test.Id,\n        Location = \"east us\",\n        Identity = new Azure.Healthcare.Inputs.DicomServiceIdentityArgs\n        {\n            Type = \"SystemAssigned\",\n        },\n        Tags = \n        {\n            { \"environment\", \"None\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/healthcare\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttest, err := healthcare.NewWorkspace(ctx, \"test\", \u0026healthcare.WorkspaceArgs{\n\t\t\tName:              pulumi.String(\"tfexworkspace\"),\n\t\t\tResourceGroupName: pulumi.String(\"tfex-resource_group\"),\n\t\t\tLocation:          pulumi.String(\"east us\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = healthcare.NewDicomService(ctx, \"test\", \u0026healthcare.DicomServiceArgs{\n\t\t\tName:        pulumi.String(\"tfexDicom\"),\n\t\t\tWorkspaceId: test.ID(),\n\t\t\tLocation:    pulumi.String(\"east us\"),\n\t\t\tIdentity: \u0026healthcare.DicomServiceIdentityArgs{\n\t\t\t\tType: pulumi.String(\"SystemAssigned\"),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"environment\": pulumi.String(\"None\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.healthcare.Workspace;\nimport com.pulumi.azure.healthcare.WorkspaceArgs;\nimport com.pulumi.azure.healthcare.DicomService;\nimport com.pulumi.azure.healthcare.DicomServiceArgs;\nimport com.pulumi.azure.healthcare.inputs.DicomServiceIdentityArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var test = new Workspace(\"test\", WorkspaceArgs.builder()\n            .name(\"tfexworkspace\")\n            .resourceGroupName(\"tfex-resource_group\")\n            .location(\"east us\")\n            .build());\n\n        var testDicomService = new DicomService(\"testDicomService\", DicomServiceArgs.builder()\n            .name(\"tfexDicom\")\n            .workspaceId(test.id())\n            .location(\"east us\")\n            .identity(DicomServiceIdentityArgs.builder()\n                .type(\"SystemAssigned\")\n                .build())\n            .tags(Map.of(\"environment\", \"None\"))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  test:\n    type: azure:healthcare:Workspace\n    properties:\n      name: tfexworkspace\n      resourceGroupName: tfex-resource_group\n      location: east us\n  testDicomService:\n    type: azure:healthcare:DicomService\n    name: test\n    properties:\n      name: tfexDicom\n      workspaceId: ${test.id}\n      location: east us\n      identity:\n        type: SystemAssigned\n      tags:\n        environment: None\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.HealthcareApis` - 2024-03-31\n\n## Import\n\nHealthcare DICOM Service can be imported using the resource\u003cspan pulumi-lang-nodejs=\"`id`\" pulumi-lang-dotnet=\"`Id`\" pulumi-lang-go=\"`id`\" pulumi-lang-python=\"`id`\" pulumi-lang-yaml=\"`id`\" pulumi-lang-java=\"`id`\"\u003e`id`\u003c/span\u003e, e.g.\n\n```sh\n$ pulumi import azure:healthcare/dicomService:DicomService example /subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/group1/providers/Microsoft.HealthcareApis/workspaces/workspace1/dicomServices/service1\n```\n\n","properties":{"authentications":{"type":"array","items":{"$ref":"#/types/azure:healthcare/DicomServiceAuthentication:DicomServiceAuthentication"},"description":"The \u003cspan pulumi-lang-nodejs=\"`authentication`\" pulumi-lang-dotnet=\"`Authentication`\" pulumi-lang-go=\"`authentication`\" pulumi-lang-python=\"`authentication`\" pulumi-lang-yaml=\"`authentication`\" pulumi-lang-java=\"`authentication`\"\u003e`authentication`\u003c/span\u003e block as defined below.\n"},"cors":{"$ref":"#/types/azure:healthcare/DicomServiceCors:DicomServiceCors","description":"A \u003cspan pulumi-lang-nodejs=\"`cors`\" pulumi-lang-dotnet=\"`Cors`\" pulumi-lang-go=\"`cors`\" pulumi-lang-python=\"`cors`\" pulumi-lang-yaml=\"`cors`\" pulumi-lang-java=\"`cors`\"\u003e`cors`\u003c/span\u003e block as defined below.\n"},"dataPartitionsEnabled":{"type":"boolean","description":"If data partitions are enabled or not. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Changing this forces a new Healthcare DICOM Service to be created.\n"},"encryptionKeyUrl":{"type":"string","description":"The URL of the key to use for encryption as part of the customer-managed key encryption settings. For more details, refer to the [Azure Customer-Managed Keys Overview](https://learn.microsoft.com/en-us/azure/storage/common/customer-managed-keys-overview).\n"},"identity":{"$ref":"#/types/azure:healthcare/DicomServiceIdentity:DicomServiceIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"location":{"type":"string","description":"Specifies the Azure Region where the Healthcare DICOM Service should be created. Changing this forces a new Healthcare DICOM Service to be created.\n"},"name":{"type":"string","description":"Specifies the name of the Healthcare DICOM Service. Changing this forces a new Healthcare DICOM Service to be created.\n"},"privateEndpoints":{"type":"array","items":{"$ref":"#/types/azure:healthcare/DicomServicePrivateEndpoint:DicomServicePrivateEndpoint"}},"publicNetworkAccessEnabled":{"type":"boolean","description":"Whether to enabled public networks when data plane traffic coming from public networks while private endpoint is enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"serviceUrl":{"type":"string","description":"The url of the Healthcare DICOM Services.\n"},"storage":{"$ref":"#/types/azure:healthcare/DicomServiceStorage:DicomServiceStorage","description":"A \u003cspan pulumi-lang-nodejs=\"`storage`\" pulumi-lang-dotnet=\"`Storage`\" pulumi-lang-go=\"`storage`\" pulumi-lang-python=\"`storage`\" pulumi-lang-yaml=\"`storage`\" pulumi-lang-java=\"`storage`\"\u003e`storage`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the Healthcare DICOM Service.\n"},"workspaceId":{"type":"string","description":"Specifies the ID of the Healthcare Workspace where the Healthcare DICOM Service should exist. Changing this forces a new Healthcare DICOM Service to be created.\n"}},"required":["authentications","cors","location","name","privateEndpoints","serviceUrl","storage","workspaceId"],"inputProperties":{"cors":{"$ref":"#/types/azure:healthcare/DicomServiceCors:DicomServiceCors","description":"A \u003cspan pulumi-lang-nodejs=\"`cors`\" pulumi-lang-dotnet=\"`Cors`\" pulumi-lang-go=\"`cors`\" pulumi-lang-python=\"`cors`\" pulumi-lang-yaml=\"`cors`\" pulumi-lang-java=\"`cors`\"\u003e`cors`\u003c/span\u003e block as defined below.\n"},"dataPartitionsEnabled":{"type":"boolean","description":"If data partitions are enabled or not. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Changing this forces a new Healthcare DICOM Service to be created.\n","willReplaceOnChanges":true},"encryptionKeyUrl":{"type":"string","description":"The URL of the key to use for encryption as part of the customer-managed key encryption settings. For more details, refer to the [Azure Customer-Managed Keys Overview](https://learn.microsoft.com/en-us/azure/storage/common/customer-managed-keys-overview).\n"},"identity":{"$ref":"#/types/azure:healthcare/DicomServiceIdentity:DicomServiceIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"location":{"type":"string","description":"Specifies the Azure Region where the Healthcare DICOM Service should be created. Changing this forces a new Healthcare DICOM Service to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the Healthcare DICOM Service. Changing this forces a new Healthcare DICOM Service to be created.\n","willReplaceOnChanges":true},"publicNetworkAccessEnabled":{"type":"boolean","description":"Whether to enabled public networks when data plane traffic coming from public networks while private endpoint is enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"storage":{"$ref":"#/types/azure:healthcare/DicomServiceStorage:DicomServiceStorage","description":"A \u003cspan pulumi-lang-nodejs=\"`storage`\" pulumi-lang-dotnet=\"`Storage`\" pulumi-lang-go=\"`storage`\" pulumi-lang-python=\"`storage`\" pulumi-lang-yaml=\"`storage`\" pulumi-lang-java=\"`storage`\"\u003e`storage`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the Healthcare DICOM Service.\n"},"workspaceId":{"type":"string","description":"Specifies the ID of the Healthcare Workspace where the Healthcare DICOM Service should exist. Changing this forces a new Healthcare DICOM Service to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["workspaceId"],"stateInputs":{"description":"Input properties used for looking up and filtering DicomService resources.\n","properties":{"authentications":{"type":"array","items":{"$ref":"#/types/azure:healthcare/DicomServiceAuthentication:DicomServiceAuthentication"},"description":"The \u003cspan pulumi-lang-nodejs=\"`authentication`\" pulumi-lang-dotnet=\"`Authentication`\" pulumi-lang-go=\"`authentication`\" pulumi-lang-python=\"`authentication`\" pulumi-lang-yaml=\"`authentication`\" pulumi-lang-java=\"`authentication`\"\u003e`authentication`\u003c/span\u003e block as defined below.\n"},"cors":{"$ref":"#/types/azure:healthcare/DicomServiceCors:DicomServiceCors","description":"A \u003cspan pulumi-lang-nodejs=\"`cors`\" pulumi-lang-dotnet=\"`Cors`\" pulumi-lang-go=\"`cors`\" pulumi-lang-python=\"`cors`\" pulumi-lang-yaml=\"`cors`\" pulumi-lang-java=\"`cors`\"\u003e`cors`\u003c/span\u003e block as defined below.\n"},"dataPartitionsEnabled":{"type":"boolean","description":"If data partitions are enabled or not. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Changing this forces a new Healthcare DICOM Service to be created.\n","willReplaceOnChanges":true},"encryptionKeyUrl":{"type":"string","description":"The URL of the key to use for encryption as part of the customer-managed key encryption settings. For more details, refer to the [Azure Customer-Managed Keys Overview](https://learn.microsoft.com/en-us/azure/storage/common/customer-managed-keys-overview).\n"},"identity":{"$ref":"#/types/azure:healthcare/DicomServiceIdentity:DicomServiceIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"location":{"type":"string","description":"Specifies the Azure Region where the Healthcare DICOM Service should be created. Changing this forces a new Healthcare DICOM Service to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the Healthcare DICOM Service. Changing this forces a new Healthcare DICOM Service to be created.\n","willReplaceOnChanges":true},"privateEndpoints":{"type":"array","items":{"$ref":"#/types/azure:healthcare/DicomServicePrivateEndpoint:DicomServicePrivateEndpoint"}},"publicNetworkAccessEnabled":{"type":"boolean","description":"Whether to enabled public networks when data plane traffic coming from public networks while private endpoint is enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"serviceUrl":{"type":"string","description":"The url of the Healthcare DICOM Services.\n"},"storage":{"$ref":"#/types/azure:healthcare/DicomServiceStorage:DicomServiceStorage","description":"A \u003cspan pulumi-lang-nodejs=\"`storage`\" pulumi-lang-dotnet=\"`Storage`\" pulumi-lang-go=\"`storage`\" pulumi-lang-python=\"`storage`\" pulumi-lang-yaml=\"`storage`\" pulumi-lang-java=\"`storage`\"\u003e`storage`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the Healthcare DICOM Service.\n"},"workspaceId":{"type":"string","description":"Specifies the ID of the Healthcare Workspace where the Healthcare DICOM Service should exist. Changing this forces a new Healthcare DICOM Service to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:healthcare/fhirService:FhirService":{"description":"Manages a Healthcare FHIR (Fast Healthcare Interoperability Resources) Service\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example\",\n    location: \"West Europe\",\n});\nconst current = azure.core.getClientConfig({});\nconst exampleWorkspace = new azure.healthcare.Workspace(\"example\", {\n    name: \"example\",\n    location: example.location,\n    resourceGroupName: example.name,\n});\nconst exampleFhirService = new azure.healthcare.FhirService(\"example\", {\n    name: \"tfexfhir\",\n    location: \"east us\",\n    resourceGroupName: \"tfex-resource_group\",\n    workspaceId: exampleWorkspace.id,\n    kind: \"fhir-R4\",\n    authentication: {\n        authority: \"https://login.microsoftonline.com/tenantId\",\n        audience: \"https://tfexfhir.fhir.azurehealthcareapis.com\",\n    },\n    accessPolicyObjectIds: [current.then(current =\u003e current.objectId)],\n    identity: {\n        type: \"SystemAssigned\",\n    },\n    containerRegistryLoginServerUrls: [\"tfex-container_registry_login_server\"],\n    cors: {\n        allowedOrigins: [\n            \"https://tfex.com:123\",\n            \"https://tfex1.com:3389\",\n        ],\n        allowedHeaders: [\"*\"],\n        allowedMethods: [\n            \"GET\",\n            \"DELETE\",\n            \"PUT\",\n        ],\n        maxAgeInSeconds: 3600,\n        credentialsAllowed: true,\n    },\n    configurationExportStorageAccountName: \"storage_account_name\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example\",\n    location=\"West Europe\")\ncurrent = azure.core.get_client_config()\nexample_workspace = azure.healthcare.Workspace(\"example\",\n    name=\"example\",\n    location=example.location,\n    resource_group_name=example.name)\nexample_fhir_service = azure.healthcare.FhirService(\"example\",\n    name=\"tfexfhir\",\n    location=\"east us\",\n    resource_group_name=\"tfex-resource_group\",\n    workspace_id=example_workspace.id,\n    kind=\"fhir-R4\",\n    authentication={\n        \"authority\": \"https://login.microsoftonline.com/tenantId\",\n        \"audience\": \"https://tfexfhir.fhir.azurehealthcareapis.com\",\n    },\n    access_policy_object_ids=[current.object_id],\n    identity={\n        \"type\": \"SystemAssigned\",\n    },\n    container_registry_login_server_urls=[\"tfex-container_registry_login_server\"],\n    cors={\n        \"allowed_origins\": [\n            \"https://tfex.com:123\",\n            \"https://tfex1.com:3389\",\n        ],\n        \"allowed_headers\": [\"*\"],\n        \"allowed_methods\": [\n            \"GET\",\n            \"DELETE\",\n            \"PUT\",\n        ],\n        \"max_age_in_seconds\": 3600,\n        \"credentials_allowed\": True,\n    },\n    configuration_export_storage_account_name=\"storage_account_name\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example\",\n        Location = \"West Europe\",\n    });\n\n    var current = Azure.Core.GetClientConfig.Invoke();\n\n    var exampleWorkspace = new Azure.Healthcare.Workspace(\"example\", new()\n    {\n        Name = \"example\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n    });\n\n    var exampleFhirService = new Azure.Healthcare.FhirService(\"example\", new()\n    {\n        Name = \"tfexfhir\",\n        Location = \"east us\",\n        ResourceGroupName = \"tfex-resource_group\",\n        WorkspaceId = exampleWorkspace.Id,\n        Kind = \"fhir-R4\",\n        Authentication = new Azure.Healthcare.Inputs.FhirServiceAuthenticationArgs\n        {\n            Authority = \"https://login.microsoftonline.com/tenantId\",\n            Audience = \"https://tfexfhir.fhir.azurehealthcareapis.com\",\n        },\n        AccessPolicyObjectIds = new[]\n        {\n            current.Apply(getClientConfigResult =\u003e getClientConfigResult.ObjectId),\n        },\n        Identity = new Azure.Healthcare.Inputs.FhirServiceIdentityArgs\n        {\n            Type = \"SystemAssigned\",\n        },\n        ContainerRegistryLoginServerUrls = new[]\n        {\n            \"tfex-container_registry_login_server\",\n        },\n        Cors = new Azure.Healthcare.Inputs.FhirServiceCorsArgs\n        {\n            AllowedOrigins = new[]\n            {\n                \"https://tfex.com:123\",\n                \"https://tfex1.com:3389\",\n            },\n            AllowedHeaders = new[]\n            {\n                \"*\",\n            },\n            AllowedMethods = new[]\n            {\n                \"GET\",\n                \"DELETE\",\n                \"PUT\",\n            },\n            MaxAgeInSeconds = 3600,\n            CredentialsAllowed = true,\n        },\n        ConfigurationExportStorageAccountName = \"storage_account_name\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/healthcare\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrent, err := core.GetClientConfig(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleWorkspace, err := healthcare.NewWorkspace(ctx, \"example\", \u0026healthcare.WorkspaceArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = healthcare.NewFhirService(ctx, \"example\", \u0026healthcare.FhirServiceArgs{\n\t\t\tName:              pulumi.String(\"tfexfhir\"),\n\t\t\tLocation:          pulumi.String(\"east us\"),\n\t\t\tResourceGroupName: pulumi.String(\"tfex-resource_group\"),\n\t\t\tWorkspaceId:       exampleWorkspace.ID(),\n\t\t\tKind:              pulumi.String(\"fhir-R4\"),\n\t\t\tAuthentication: \u0026healthcare.FhirServiceAuthenticationArgs{\n\t\t\t\tAuthority: pulumi.String(\"https://login.microsoftonline.com/tenantId\"),\n\t\t\t\tAudience:  pulumi.String(\"https://tfexfhir.fhir.azurehealthcareapis.com\"),\n\t\t\t},\n\t\t\tAccessPolicyObjectIds: pulumi.StringArray{\n\t\t\t\tpulumi.String(current.ObjectId),\n\t\t\t},\n\t\t\tIdentity: \u0026healthcare.FhirServiceIdentityArgs{\n\t\t\t\tType: pulumi.String(\"SystemAssigned\"),\n\t\t\t},\n\t\t\tContainerRegistryLoginServerUrls: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"tfex-container_registry_login_server\"),\n\t\t\t},\n\t\t\tCors: \u0026healthcare.FhirServiceCorsArgs{\n\t\t\t\tAllowedOrigins: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"https://tfex.com:123\"),\n\t\t\t\t\tpulumi.String(\"https://tfex1.com:3389\"),\n\t\t\t\t},\n\t\t\t\tAllowedHeaders: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"*\"),\n\t\t\t\t},\n\t\t\t\tAllowedMethods: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"GET\"),\n\t\t\t\t\tpulumi.String(\"DELETE\"),\n\t\t\t\t\tpulumi.String(\"PUT\"),\n\t\t\t\t},\n\t\t\t\tMaxAgeInSeconds:    pulumi.Int(3600),\n\t\t\t\tCredentialsAllowed: pulumi.Bool(true),\n\t\t\t},\n\t\t\tConfigurationExportStorageAccountName: pulumi.String(\"storage_account_name\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.healthcare.Workspace;\nimport com.pulumi.azure.healthcare.WorkspaceArgs;\nimport com.pulumi.azure.healthcare.FhirService;\nimport com.pulumi.azure.healthcare.FhirServiceArgs;\nimport com.pulumi.azure.healthcare.inputs.FhirServiceAuthenticationArgs;\nimport com.pulumi.azure.healthcare.inputs.FhirServiceIdentityArgs;\nimport com.pulumi.azure.healthcare.inputs.FhirServiceCorsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example\")\n            .location(\"West Europe\")\n            .build());\n\n        final var current = CoreFunctions.getClientConfig(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n        var exampleWorkspace = new Workspace(\"exampleWorkspace\", WorkspaceArgs.builder()\n            .name(\"example\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .build());\n\n        var exampleFhirService = new FhirService(\"exampleFhirService\", FhirServiceArgs.builder()\n            .name(\"tfexfhir\")\n            .location(\"east us\")\n            .resourceGroupName(\"tfex-resource_group\")\n            .workspaceId(exampleWorkspace.id())\n            .kind(\"fhir-R4\")\n            .authentication(FhirServiceAuthenticationArgs.builder()\n                .authority(\"https://login.microsoftonline.com/tenantId\")\n                .audience(\"https://tfexfhir.fhir.azurehealthcareapis.com\")\n                .build())\n            .accessPolicyObjectIds(current.objectId())\n            .identity(FhirServiceIdentityArgs.builder()\n                .type(\"SystemAssigned\")\n                .build())\n            .containerRegistryLoginServerUrls(\"tfex-container_registry_login_server\")\n            .cors(FhirServiceCorsArgs.builder()\n                .allowedOrigins(                \n                    \"https://tfex.com:123\",\n                    \"https://tfex1.com:3389\")\n                .allowedHeaders(\"*\")\n                .allowedMethods(                \n                    \"GET\",\n                    \"DELETE\",\n                    \"PUT\")\n                .maxAgeInSeconds(3600)\n                .credentialsAllowed(true)\n                .build())\n            .configurationExportStorageAccountName(\"storage_account_name\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example\n      location: West Europe\n  exampleWorkspace:\n    type: azure:healthcare:Workspace\n    name: example\n    properties:\n      name: example\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n  exampleFhirService:\n    type: azure:healthcare:FhirService\n    name: example\n    properties:\n      name: tfexfhir\n      location: east us\n      resourceGroupName: tfex-resource_group\n      workspaceId: ${exampleWorkspace.id}\n      kind: fhir-R4\n      authentication:\n        authority: https://login.microsoftonline.com/tenantId\n        audience: https://tfexfhir.fhir.azurehealthcareapis.com\n      accessPolicyObjectIds:\n        - ${current.objectId}\n      identity:\n        type: SystemAssigned\n      containerRegistryLoginServerUrls:\n        - tfex-container_registry_login_server\n      cors:\n        allowedOrigins:\n          - https://tfex.com:123\n          - https://tfex1.com:3389\n        allowedHeaders:\n          - '*'\n        allowedMethods:\n          - GET\n          - DELETE\n          - PUT\n        maxAgeInSeconds: 3600\n        credentialsAllowed: true\n      configurationExportStorageAccountName: storage_account_name\nvariables:\n  current:\n    fn::invoke:\n      function: azure:core:getClientConfig\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.HealthcareApis` - 2022-12-01\n\n## Import\n\nHealthcare FHIR Service can be imported using the resource\u003cspan pulumi-lang-nodejs=\"`id`\" pulumi-lang-dotnet=\"`Id`\" pulumi-lang-go=\"`id`\" pulumi-lang-python=\"`id`\" pulumi-lang-yaml=\"`id`\" pulumi-lang-java=\"`id`\"\u003e`id`\u003c/span\u003e, e.g.\n\n```sh\n$ pulumi import azure:healthcare/fhirService:FhirService example /subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/group1/providers/Microsoft.HealthcareApis/workspaces/workspace1/fhirServices/service1\n```\n\n","properties":{"accessPolicyObjectIds":{"type":"array","items":{"type":"string"},"description":"A list of the access policies of the service instance.\n"},"authentication":{"$ref":"#/types/azure:healthcare/FhirServiceAuthentication:FhirServiceAuthentication","description":"An \u003cspan pulumi-lang-nodejs=\"`authentication`\" pulumi-lang-dotnet=\"`Authentication`\" pulumi-lang-go=\"`authentication`\" pulumi-lang-python=\"`authentication`\" pulumi-lang-yaml=\"`authentication`\" pulumi-lang-java=\"`authentication`\"\u003e`authentication`\u003c/span\u003e block as defined below.\n"},"configurationExportStorageAccountName":{"type":"string","description":"Specifies the name of the storage account which the operation configuration information is exported to.\n"},"containerRegistryLoginServerUrls":{"type":"array","items":{"type":"string"},"description":"A list of azure container registry settings used for convert data operation of the service instance.\n"},"cors":{"$ref":"#/types/azure:healthcare/FhirServiceCors:FhirServiceCors","description":"A \u003cspan pulumi-lang-nodejs=\"`cors`\" pulumi-lang-dotnet=\"`Cors`\" pulumi-lang-go=\"`cors`\" pulumi-lang-python=\"`cors`\" pulumi-lang-yaml=\"`cors`\" pulumi-lang-java=\"`cors`\"\u003e`cors`\u003c/span\u003e block as defined below.\n"},"identity":{"$ref":"#/types/azure:healthcare/FhirServiceIdentity:FhirServiceIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"kind":{"type":"string","description":"Specifies the kind of the Healthcare FHIR Service. Possible values are: `fhir-Stu3` and `fhir-R4`. Defaults to `fhir-R4`. Changing this forces a new Healthcare FHIR Service to be created.\n"},"location":{"type":"string","description":"Specifies the Azure Region where the Healthcare FHIR Service should be created. Changing this forces a new Healthcare FHIR Service to be created.\n"},"name":{"type":"string","description":"Specifies the name of the Healthcare FHIR Service. Changing this forces a new Healthcare FHIR Service to be created.\n"},"ociArtifacts":{"type":"array","items":{"$ref":"#/types/azure:healthcare/FhirServiceOciArtifact:FhirServiceOciArtifact"},"description":"[A list](https://www.terraform.io/docs/configuration/attr-as-blocks.html) of \u003cspan pulumi-lang-nodejs=\"`ociArtifact`\" pulumi-lang-dotnet=\"`OciArtifact`\" pulumi-lang-go=\"`ociArtifact`\" pulumi-lang-python=\"`oci_artifact`\" pulumi-lang-yaml=\"`ociArtifact`\" pulumi-lang-java=\"`ociArtifact`\"\u003e`oci_artifact`\u003c/span\u003e objects as defined below to describe [OCI artifacts for export](https://learn.microsoft.com/en-gb/azure/healthcare-apis/fhir/de-identified-export).\n"},"publicNetworkAccessEnabled":{"type":"boolean","description":"Whether public networks access is enabled.\n"},"resourceGroupName":{"type":"string","description":"Specifies the name of the Resource Group in which to create the Healthcare FHIR Service. Changing this forces a new resource to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the Healthcare FHIR Service.\n"},"workspaceId":{"type":"string","description":"Specifies the id of the Healthcare Workspace where the Healthcare FHIR Service should exist. Changing this forces a new Healthcare FHIR Service to be created.\n"}},"required":["authentication","location","name","publicNetworkAccessEnabled","resourceGroupName","workspaceId"],"inputProperties":{"accessPolicyObjectIds":{"type":"array","items":{"type":"string"},"description":"A list of the access policies of the service instance.\n"},"authentication":{"$ref":"#/types/azure:healthcare/FhirServiceAuthentication:FhirServiceAuthentication","description":"An \u003cspan pulumi-lang-nodejs=\"`authentication`\" pulumi-lang-dotnet=\"`Authentication`\" pulumi-lang-go=\"`authentication`\" pulumi-lang-python=\"`authentication`\" pulumi-lang-yaml=\"`authentication`\" pulumi-lang-java=\"`authentication`\"\u003e`authentication`\u003c/span\u003e block as defined below.\n"},"configurationExportStorageAccountName":{"type":"string","description":"Specifies the name of the storage account which the operation configuration information is exported to.\n"},"containerRegistryLoginServerUrls":{"type":"array","items":{"type":"string"},"description":"A list of azure container registry settings used for convert data operation of the service instance.\n"},"cors":{"$ref":"#/types/azure:healthcare/FhirServiceCors:FhirServiceCors","description":"A \u003cspan pulumi-lang-nodejs=\"`cors`\" pulumi-lang-dotnet=\"`Cors`\" pulumi-lang-go=\"`cors`\" pulumi-lang-python=\"`cors`\" pulumi-lang-yaml=\"`cors`\" pulumi-lang-java=\"`cors`\"\u003e`cors`\u003c/span\u003e block as defined below.\n"},"identity":{"$ref":"#/types/azure:healthcare/FhirServiceIdentity:FhirServiceIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"kind":{"type":"string","description":"Specifies the kind of the Healthcare FHIR Service. Possible values are: `fhir-Stu3` and `fhir-R4`. Defaults to `fhir-R4`. Changing this forces a new Healthcare FHIR Service to be created.\n","willReplaceOnChanges":true},"location":{"type":"string","description":"Specifies the Azure Region where the Healthcare FHIR Service should be created. Changing this forces a new Healthcare FHIR Service to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the Healthcare FHIR Service. Changing this forces a new Healthcare FHIR Service to be created.\n","willReplaceOnChanges":true},"ociArtifacts":{"type":"array","items":{"$ref":"#/types/azure:healthcare/FhirServiceOciArtifact:FhirServiceOciArtifact"},"description":"[A list](https://www.terraform.io/docs/configuration/attr-as-blocks.html) of \u003cspan pulumi-lang-nodejs=\"`ociArtifact`\" pulumi-lang-dotnet=\"`OciArtifact`\" pulumi-lang-go=\"`ociArtifact`\" pulumi-lang-python=\"`oci_artifact`\" pulumi-lang-yaml=\"`ociArtifact`\" pulumi-lang-java=\"`ociArtifact`\"\u003e`oci_artifact`\u003c/span\u003e objects as defined below to describe [OCI artifacts for export](https://learn.microsoft.com/en-gb/azure/healthcare-apis/fhir/de-identified-export).\n"},"resourceGroupName":{"type":"string","description":"Specifies the name of the Resource Group in which to create the Healthcare FHIR Service. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the Healthcare FHIR Service.\n"},"workspaceId":{"type":"string","description":"Specifies the id of the Healthcare Workspace where the Healthcare FHIR Service should exist. Changing this forces a new Healthcare FHIR Service to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["authentication","resourceGroupName","workspaceId"],"stateInputs":{"description":"Input properties used for looking up and filtering FhirService resources.\n","properties":{"accessPolicyObjectIds":{"type":"array","items":{"type":"string"},"description":"A list of the access policies of the service instance.\n"},"authentication":{"$ref":"#/types/azure:healthcare/FhirServiceAuthentication:FhirServiceAuthentication","description":"An \u003cspan pulumi-lang-nodejs=\"`authentication`\" pulumi-lang-dotnet=\"`Authentication`\" pulumi-lang-go=\"`authentication`\" pulumi-lang-python=\"`authentication`\" pulumi-lang-yaml=\"`authentication`\" pulumi-lang-java=\"`authentication`\"\u003e`authentication`\u003c/span\u003e block as defined below.\n"},"configurationExportStorageAccountName":{"type":"string","description":"Specifies the name of the storage account which the operation configuration information is exported to.\n"},"containerRegistryLoginServerUrls":{"type":"array","items":{"type":"string"},"description":"A list of azure container registry settings used for convert data operation of the service instance.\n"},"cors":{"$ref":"#/types/azure:healthcare/FhirServiceCors:FhirServiceCors","description":"A \u003cspan pulumi-lang-nodejs=\"`cors`\" pulumi-lang-dotnet=\"`Cors`\" pulumi-lang-go=\"`cors`\" pulumi-lang-python=\"`cors`\" pulumi-lang-yaml=\"`cors`\" pulumi-lang-java=\"`cors`\"\u003e`cors`\u003c/span\u003e block as defined below.\n"},"identity":{"$ref":"#/types/azure:healthcare/FhirServiceIdentity:FhirServiceIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"kind":{"type":"string","description":"Specifies the kind of the Healthcare FHIR Service. Possible values are: `fhir-Stu3` and `fhir-R4`. Defaults to `fhir-R4`. Changing this forces a new Healthcare FHIR Service to be created.\n","willReplaceOnChanges":true},"location":{"type":"string","description":"Specifies the Azure Region where the Healthcare FHIR Service should be created. Changing this forces a new Healthcare FHIR Service to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the Healthcare FHIR Service. Changing this forces a new Healthcare FHIR Service to be created.\n","willReplaceOnChanges":true},"ociArtifacts":{"type":"array","items":{"$ref":"#/types/azure:healthcare/FhirServiceOciArtifact:FhirServiceOciArtifact"},"description":"[A list](https://www.terraform.io/docs/configuration/attr-as-blocks.html) of \u003cspan pulumi-lang-nodejs=\"`ociArtifact`\" pulumi-lang-dotnet=\"`OciArtifact`\" pulumi-lang-go=\"`ociArtifact`\" pulumi-lang-python=\"`oci_artifact`\" pulumi-lang-yaml=\"`ociArtifact`\" pulumi-lang-java=\"`ociArtifact`\"\u003e`oci_artifact`\u003c/span\u003e objects as defined below to describe [OCI artifacts for export](https://learn.microsoft.com/en-gb/azure/healthcare-apis/fhir/de-identified-export).\n"},"publicNetworkAccessEnabled":{"type":"boolean","description":"Whether public networks access is enabled.\n"},"resourceGroupName":{"type":"string","description":"Specifies the name of the Resource Group in which to create the Healthcare FHIR Service. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the Healthcare FHIR Service.\n"},"workspaceId":{"type":"string","description":"Specifies the id of the Healthcare Workspace where the Healthcare FHIR Service should exist. Changing this forces a new Healthcare FHIR Service to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:healthcare/medtechService:MedtechService":{"description":"Manages a Healthcare Med Tech Service.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-rg\",\n    location: \"east us\",\n});\nconst exampleWorkspace = new azure.healthcare.Workspace(\"example\", {\n    name: \"examplewkspace\",\n    location: example.location,\n    resourceGroupName: example.name,\n});\nconst exampleMedtechService = new azure.healthcare.MedtechService(\"example\", {\n    name: \"examplemed\",\n    workspaceId: exampleWorkspace.id,\n    location: \"east us\",\n    identity: {\n        type: \"SystemAssigned\",\n    },\n    eventhubNamespaceName: \"example-eventhub-namespace\",\n    eventhubName: \"example-eventhub\",\n    eventhubConsumerGroupName: \"$Default\",\n    deviceMappingJson: JSON.stringify({\n        templateType: \"CollectionContent\",\n        template: [{\n            templateType: \"JsonPathContent\",\n            template: {\n                typeName: \"heartrate\",\n                typeMatchExpression: \"$..[?(@heartrate)]\",\n                deviceIdExpression: \"$.deviceid\",\n                timestampExpression: \"$.measurementdatetime\",\n                values: [{\n                    required: \"true\",\n                    valueExpression: \"$.heartrate\",\n                    valueName: \"hr\",\n                }],\n            },\n        }],\n    }),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-rg\",\n    location=\"east us\")\nexample_workspace = azure.healthcare.Workspace(\"example\",\n    name=\"examplewkspace\",\n    location=example.location,\n    resource_group_name=example.name)\nexample_medtech_service = azure.healthcare.MedtechService(\"example\",\n    name=\"examplemed\",\n    workspace_id=example_workspace.id,\n    location=\"east us\",\n    identity={\n        \"type\": \"SystemAssigned\",\n    },\n    eventhub_namespace_name=\"example-eventhub-namespace\",\n    eventhub_name=\"example-eventhub\",\n    eventhub_consumer_group_name=\"$Default\",\n    device_mapping_json=json.dumps({\n        \"templateType\": \"CollectionContent\",\n        \"template\": [{\n            \"templateType\": \"JsonPathContent\",\n            \"template\": {\n                \"typeName\": \"heartrate\",\n                \"typeMatchExpression\": \"$..[?(@heartrate)]\",\n                \"deviceIdExpression\": \"$.deviceid\",\n                \"timestampExpression\": \"$.measurementdatetime\",\n                \"values\": [{\n                    \"required\": \"true\",\n                    \"valueExpression\": \"$.heartrate\",\n                    \"valueName\": \"hr\",\n                }],\n            },\n        }],\n    }))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-rg\",\n        Location = \"east us\",\n    });\n\n    var exampleWorkspace = new Azure.Healthcare.Workspace(\"example\", new()\n    {\n        Name = \"examplewkspace\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n    });\n\n    var exampleMedtechService = new Azure.Healthcare.MedtechService(\"example\", new()\n    {\n        Name = \"examplemed\",\n        WorkspaceId = exampleWorkspace.Id,\n        Location = \"east us\",\n        Identity = new Azure.Healthcare.Inputs.MedtechServiceIdentityArgs\n        {\n            Type = \"SystemAssigned\",\n        },\n        EventhubNamespaceName = \"example-eventhub-namespace\",\n        EventhubName = \"example-eventhub\",\n        EventhubConsumerGroupName = \"$Default\",\n        DeviceMappingJson = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n        {\n            [\"templateType\"] = \"CollectionContent\",\n            [\"template\"] = new[]\n            {\n                new Dictionary\u003cstring, object?\u003e\n                {\n                    [\"templateType\"] = \"JsonPathContent\",\n                    [\"template\"] = new Dictionary\u003cstring, object?\u003e\n                    {\n                        [\"typeName\"] = \"heartrate\",\n                        [\"typeMatchExpression\"] = \"$..[?(@heartrate)]\",\n                        [\"deviceIdExpression\"] = \"$.deviceid\",\n                        [\"timestampExpression\"] = \"$.measurementdatetime\",\n                        [\"values\"] = new[]\n                        {\n                            new Dictionary\u003cstring, object?\u003e\n                            {\n                                [\"required\"] = \"true\",\n                                [\"valueExpression\"] = \"$.heartrate\",\n                                [\"valueName\"] = \"hr\",\n                            },\n                        },\n                    },\n                },\n            },\n        }),\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/healthcare\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-rg\"),\n\t\t\tLocation: pulumi.String(\"east us\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleWorkspace, err := healthcare.NewWorkspace(ctx, \"example\", \u0026healthcare.WorkspaceArgs{\n\t\t\tName:              pulumi.String(\"examplewkspace\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"templateType\": \"CollectionContent\",\n\t\t\t\"template\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"templateType\": \"JsonPathContent\",\n\t\t\t\t\t\"template\": map[string]interface{}{\n\t\t\t\t\t\t\"typeName\":            \"heartrate\",\n\t\t\t\t\t\t\"typeMatchExpression\": \"$..[?(@heartrate)]\",\n\t\t\t\t\t\t\"deviceIdExpression\":  \"$.deviceid\",\n\t\t\t\t\t\t\"timestampExpression\": \"$.measurementdatetime\",\n\t\t\t\t\t\t\"values\": []map[string]interface{}{\n\t\t\t\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\t\t\t\"required\":        \"true\",\n\t\t\t\t\t\t\t\t\"valueExpression\": \"$.heartrate\",\n\t\t\t\t\t\t\t\t\"valueName\":       \"hr\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson0 := string(tmpJSON0)\n\t\t_, err = healthcare.NewMedtechService(ctx, \"example\", \u0026healthcare.MedtechServiceArgs{\n\t\t\tName:        pulumi.String(\"examplemed\"),\n\t\t\tWorkspaceId: exampleWorkspace.ID(),\n\t\t\tLocation:    pulumi.String(\"east us\"),\n\t\t\tIdentity: \u0026healthcare.MedtechServiceIdentityArgs{\n\t\t\t\tType: pulumi.String(\"SystemAssigned\"),\n\t\t\t},\n\t\t\tEventhubNamespaceName:     pulumi.String(\"example-eventhub-namespace\"),\n\t\t\tEventhubName:              pulumi.String(\"example-eventhub\"),\n\t\t\tEventhubConsumerGroupName: pulumi.String(\"$Default\"),\n\t\t\tDeviceMappingJson:         pulumi.String(json0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.healthcare.Workspace;\nimport com.pulumi.azure.healthcare.WorkspaceArgs;\nimport com.pulumi.azure.healthcare.MedtechService;\nimport com.pulumi.azure.healthcare.MedtechServiceArgs;\nimport com.pulumi.azure.healthcare.inputs.MedtechServiceIdentityArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-rg\")\n            .location(\"east us\")\n            .build());\n\n        var exampleWorkspace = new Workspace(\"exampleWorkspace\", WorkspaceArgs.builder()\n            .name(\"examplewkspace\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .build());\n\n        var exampleMedtechService = new MedtechService(\"exampleMedtechService\", MedtechServiceArgs.builder()\n            .name(\"examplemed\")\n            .workspaceId(exampleWorkspace.id())\n            .location(\"east us\")\n            .identity(MedtechServiceIdentityArgs.builder()\n                .type(\"SystemAssigned\")\n                .build())\n            .eventhubNamespaceName(\"example-eventhub-namespace\")\n            .eventhubName(\"example-eventhub\")\n            .eventhubConsumerGroupName(\"$Default\")\n            .deviceMappingJson(serializeJson(\n                jsonObject(\n                    jsonProperty(\"templateType\", \"CollectionContent\"),\n                    jsonProperty(\"template\", jsonArray(jsonObject(\n                        jsonProperty(\"templateType\", \"JsonPathContent\"),\n                        jsonProperty(\"template\", jsonObject(\n                            jsonProperty(\"typeName\", \"heartrate\"),\n                            jsonProperty(\"typeMatchExpression\", \"$..[?(@heartrate)]\"),\n                            jsonProperty(\"deviceIdExpression\", \"$.deviceid\"),\n                            jsonProperty(\"timestampExpression\", \"$.measurementdatetime\"),\n                            jsonProperty(\"values\", jsonArray(jsonObject(\n                                jsonProperty(\"required\", \"true\"),\n                                jsonProperty(\"valueExpression\", \"$.heartrate\"),\n                                jsonProperty(\"valueName\", \"hr\")\n                            )))\n                        ))\n                    )))\n                )))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-rg\n      location: east us\n  exampleWorkspace:\n    type: azure:healthcare:Workspace\n    name: example\n    properties:\n      name: examplewkspace\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n  exampleMedtechService:\n    type: azure:healthcare:MedtechService\n    name: example\n    properties:\n      name: examplemed\n      workspaceId: ${exampleWorkspace.id}\n      location: east us\n      identity:\n        type: SystemAssigned\n      eventhubNamespaceName: example-eventhub-namespace\n      eventhubName: example-eventhub\n      eventhubConsumerGroupName: $Default\n      deviceMappingJson:\n        fn::toJSON:\n          templateType: CollectionContent\n          template:\n            - templateType: JsonPathContent\n              template:\n                typeName: heartrate\n                typeMatchExpression: $..[?(@heartrate)]\n                deviceIdExpression: $.deviceid\n                timestampExpression: $.measurementdatetime\n                values:\n                  - required: 'true'\n                    valueExpression: $.heartrate\n                    valueName: hr\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.HealthcareApis` - 2022-12-01\n\n## Import\n\nHealthcare Med Tech Service can be imported using the resource\u003cspan pulumi-lang-nodejs=\"`id`\" pulumi-lang-dotnet=\"`Id`\" pulumi-lang-go=\"`id`\" pulumi-lang-python=\"`id`\" pulumi-lang-yaml=\"`id`\" pulumi-lang-java=\"`id`\"\u003e`id`\u003c/span\u003e, e.g.\n\n```sh\n$ pulumi import azure:healthcare/medtechService:MedtechService example /subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/group1/providers/Microsoft.HealthcareApis/workspaces/workspace1/iotConnectors/iotconnector1\n```\n\n","properties":{"deviceMappingJson":{"type":"string","description":"Specifies the Device Mappings of the Med Tech Service.\n"},"eventhubConsumerGroupName":{"type":"string","description":"Specifies the Consumer Group of the Event Hub to connect to.\n"},"eventhubName":{"type":"string","description":"Specifies the name of the Event Hub to connect to.\n"},"eventhubNamespaceName":{"type":"string","description":"Specifies the namespace name of the Event Hub to connect to.\n"},"identity":{"$ref":"#/types/azure:healthcare/MedtechServiceIdentity:MedtechServiceIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"location":{"type":"string","description":"Specifies the Azure Region where the Healthcare Med Tech Service should be created. Changing this forces a new Healthcare Med Tech Service to be created.\n"},"name":{"type":"string","description":"Specifies the name of the Healthcare Med Tech Service. Changing this forces a new Healthcare Med Tech Service to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the Healthcare Med Tech Service.\n"},"workspaceId":{"type":"string","description":"Specifies the id of the Healthcare Workspace where the Healthcare Med Tech Service should exist. Changing this forces a new Healthcare Med Tech Service to be created.\n"}},"required":["deviceMappingJson","eventhubConsumerGroupName","eventhubName","eventhubNamespaceName","location","name","workspaceId"],"inputProperties":{"deviceMappingJson":{"type":"string","description":"Specifies the Device Mappings of the Med Tech Service.\n"},"eventhubConsumerGroupName":{"type":"string","description":"Specifies the Consumer Group of the Event Hub to connect to.\n"},"eventhubName":{"type":"string","description":"Specifies the name of the Event Hub to connect to.\n"},"eventhubNamespaceName":{"type":"string","description":"Specifies the namespace name of the Event Hub to connect to.\n"},"identity":{"$ref":"#/types/azure:healthcare/MedtechServiceIdentity:MedtechServiceIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"location":{"type":"string","description":"Specifies the Azure Region where the Healthcare Med Tech Service should be created. Changing this forces a new Healthcare Med Tech Service to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the Healthcare Med Tech Service. Changing this forces a new Healthcare Med Tech Service to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the Healthcare Med Tech Service.\n"},"workspaceId":{"type":"string","description":"Specifies the id of the Healthcare Workspace where the Healthcare Med Tech Service should exist. Changing this forces a new Healthcare Med Tech Service to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["deviceMappingJson","eventhubConsumerGroupName","eventhubName","eventhubNamespaceName","workspaceId"],"stateInputs":{"description":"Input properties used for looking up and filtering MedtechService resources.\n","properties":{"deviceMappingJson":{"type":"string","description":"Specifies the Device Mappings of the Med Tech Service.\n"},"eventhubConsumerGroupName":{"type":"string","description":"Specifies the Consumer Group of the Event Hub to connect to.\n"},"eventhubName":{"type":"string","description":"Specifies the name of the Event Hub to connect to.\n"},"eventhubNamespaceName":{"type":"string","description":"Specifies the namespace name of the Event Hub to connect to.\n"},"identity":{"$ref":"#/types/azure:healthcare/MedtechServiceIdentity:MedtechServiceIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"location":{"type":"string","description":"Specifies the Azure Region where the Healthcare Med Tech Service should be created. Changing this forces a new Healthcare Med Tech Service to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the Healthcare Med Tech Service. Changing this forces a new Healthcare Med Tech Service to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the Healthcare Med Tech Service.\n"},"workspaceId":{"type":"string","description":"Specifies the id of the Healthcare Workspace where the Healthcare Med Tech Service should exist. Changing this forces a new Healthcare Med Tech Service to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:healthcare/medtechServiceFhirDestination:MedtechServiceFhirDestination":{"description":"Manages a Healthcare Med Tech Service Fhir Destination.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-rg\",\n    location: \"West Europe\",\n});\nconst current = azure.core.getClientConfig({});\nconst exampleWorkspace = new azure.healthcare.Workspace(\"example\", {\n    name: \"exampleworkspace\",\n    location: example.location,\n    resourceGroupName: example.name,\n});\nconst exampleEventHubNamespace = new azure.eventhub.EventHubNamespace(\"example\", {\n    name: \"example-ehn\",\n    location: example.location,\n    resourceGroupName: example.name,\n    sku: \"Standard\",\n});\nconst exampleEventHub = new azure.eventhub.EventHub(\"example\", {\n    name: \"example-eh\",\n    namespaceName: exampleEventHubNamespace.name,\n    resourceGroupName: example.name,\n    partitionCount: 1,\n    messageRetention: 1,\n});\nconst exampleConsumerGroup = new azure.eventhub.ConsumerGroup(\"example\", {\n    name: \"$default\",\n    namespaceName: exampleEventHubNamespace.name,\n    eventhubName: exampleEventHub.name,\n    resourceGroupName: example.name,\n});\nconst exampleFhirService = new azure.healthcare.FhirService(\"example\", {\n    name: \"examplefhir\",\n    location: example.location,\n    resourceGroupName: example.name,\n    workspaceId: exampleWorkspace.id,\n    kind: \"fhir-R4\",\n    authentication: {\n        authority: \"https://login.microsoftonline.com/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\",\n        audience: \"https://examplefhir.fhir.azurehealthcareapis.com\",\n    },\n});\nconst exampleMedtechService = new azure.healthcare.MedtechService(\"example\", {\n    name: \"examplemt\",\n    workspaceId: exampleWorkspace.id,\n    location: example.location,\n    eventhubNamespaceName: exampleEventHubNamespace.name,\n    eventhubName: exampleEventHub.name,\n    eventhubConsumerGroupName: exampleConsumerGroup.name,\n    deviceMappingJson: JSON.stringify({\n        templateType: \"CollectionContent\",\n        template: [],\n    }),\n});\nconst exampleMedtechServiceFhirDestination = new azure.healthcare.MedtechServiceFhirDestination(\"example\", {\n    name: \"examplemtdes\",\n    location: \"east us\",\n    medtechServiceId: exampleMedtechService.id,\n    destinationFhirServiceId: exampleFhirService.id,\n    destinationIdentityResolutionType: \"Create\",\n    destinationFhirMappingJson: JSON.stringify({\n        templateType: \"CollectionFhirTemplate\",\n        template: [{\n            templateType: \"CodeValueFhir\",\n            template: {\n                codes: [{\n                    code: \"8867-4\",\n                    system: \"http://loinc.org\",\n                    display: \"Heart rate\",\n                }],\n                periodInterval: 60,\n                typeName: \"heartrate\",\n                value: {\n                    defaultPeriod: 5000,\n                    unit: \"count/min\",\n                    valueName: \"hr\",\n                    valueType: \"SampledData\",\n                },\n            },\n        }],\n    }),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-rg\",\n    location=\"West Europe\")\ncurrent = azure.core.get_client_config()\nexample_workspace = azure.healthcare.Workspace(\"example\",\n    name=\"exampleworkspace\",\n    location=example.location,\n    resource_group_name=example.name)\nexample_event_hub_namespace = azure.eventhub.EventHubNamespace(\"example\",\n    name=\"example-ehn\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku=\"Standard\")\nexample_event_hub = azure.eventhub.EventHub(\"example\",\n    name=\"example-eh\",\n    namespace_name=example_event_hub_namespace.name,\n    resource_group_name=example.name,\n    partition_count=1,\n    message_retention=1)\nexample_consumer_group = azure.eventhub.ConsumerGroup(\"example\",\n    name=\"$default\",\n    namespace_name=example_event_hub_namespace.name,\n    eventhub_name=example_event_hub.name,\n    resource_group_name=example.name)\nexample_fhir_service = azure.healthcare.FhirService(\"example\",\n    name=\"examplefhir\",\n    location=example.location,\n    resource_group_name=example.name,\n    workspace_id=example_workspace.id,\n    kind=\"fhir-R4\",\n    authentication={\n        \"authority\": \"https://login.microsoftonline.com/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\",\n        \"audience\": \"https://examplefhir.fhir.azurehealthcareapis.com\",\n    })\nexample_medtech_service = azure.healthcare.MedtechService(\"example\",\n    name=\"examplemt\",\n    workspace_id=example_workspace.id,\n    location=example.location,\n    eventhub_namespace_name=example_event_hub_namespace.name,\n    eventhub_name=example_event_hub.name,\n    eventhub_consumer_group_name=example_consumer_group.name,\n    device_mapping_json=json.dumps({\n        \"templateType\": \"CollectionContent\",\n        \"template\": [],\n    }))\nexample_medtech_service_fhir_destination = azure.healthcare.MedtechServiceFhirDestination(\"example\",\n    name=\"examplemtdes\",\n    location=\"east us\",\n    medtech_service_id=example_medtech_service.id,\n    destination_fhir_service_id=example_fhir_service.id,\n    destination_identity_resolution_type=\"Create\",\n    destination_fhir_mapping_json=json.dumps({\n        \"templateType\": \"CollectionFhirTemplate\",\n        \"template\": [{\n            \"templateType\": \"CodeValueFhir\",\n            \"template\": {\n                \"codes\": [{\n                    \"code\": \"8867-4\",\n                    \"system\": \"http://loinc.org\",\n                    \"display\": \"Heart rate\",\n                }],\n                \"periodInterval\": 60,\n                \"typeName\": \"heartrate\",\n                \"value\": {\n                    \"defaultPeriod\": 5000,\n                    \"unit\": \"count/min\",\n                    \"valueName\": \"hr\",\n                    \"valueType\": \"SampledData\",\n                },\n            },\n        }],\n    }))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-rg\",\n        Location = \"West Europe\",\n    });\n\n    var current = Azure.Core.GetClientConfig.Invoke();\n\n    var exampleWorkspace = new Azure.Healthcare.Workspace(\"example\", new()\n    {\n        Name = \"exampleworkspace\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n    });\n\n    var exampleEventHubNamespace = new Azure.EventHub.EventHubNamespace(\"example\", new()\n    {\n        Name = \"example-ehn\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Sku = \"Standard\",\n    });\n\n    var exampleEventHub = new Azure.EventHub.EventHub(\"example\", new()\n    {\n        Name = \"example-eh\",\n        NamespaceName = exampleEventHubNamespace.Name,\n        ResourceGroupName = example.Name,\n        PartitionCount = 1,\n        MessageRetention = 1,\n    });\n\n    var exampleConsumerGroup = new Azure.EventHub.ConsumerGroup(\"example\", new()\n    {\n        Name = \"$default\",\n        NamespaceName = exampleEventHubNamespace.Name,\n        EventhubName = exampleEventHub.Name,\n        ResourceGroupName = example.Name,\n    });\n\n    var exampleFhirService = new Azure.Healthcare.FhirService(\"example\", new()\n    {\n        Name = \"examplefhir\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        WorkspaceId = exampleWorkspace.Id,\n        Kind = \"fhir-R4\",\n        Authentication = new Azure.Healthcare.Inputs.FhirServiceAuthenticationArgs\n        {\n            Authority = \"https://login.microsoftonline.com/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\",\n            Audience = \"https://examplefhir.fhir.azurehealthcareapis.com\",\n        },\n    });\n\n    var exampleMedtechService = new Azure.Healthcare.MedtechService(\"example\", new()\n    {\n        Name = \"examplemt\",\n        WorkspaceId = exampleWorkspace.Id,\n        Location = example.Location,\n        EventhubNamespaceName = exampleEventHubNamespace.Name,\n        EventhubName = exampleEventHub.Name,\n        EventhubConsumerGroupName = exampleConsumerGroup.Name,\n        DeviceMappingJson = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n        {\n            [\"templateType\"] = \"CollectionContent\",\n            [\"template\"] = new[]\n            {\n            },\n        }),\n    });\n\n    var exampleMedtechServiceFhirDestination = new Azure.Healthcare.MedtechServiceFhirDestination(\"example\", new()\n    {\n        Name = \"examplemtdes\",\n        Location = \"east us\",\n        MedtechServiceId = exampleMedtechService.Id,\n        DestinationFhirServiceId = exampleFhirService.Id,\n        DestinationIdentityResolutionType = \"Create\",\n        DestinationFhirMappingJson = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n        {\n            [\"templateType\"] = \"CollectionFhirTemplate\",\n            [\"template\"] = new[]\n            {\n                new Dictionary\u003cstring, object?\u003e\n                {\n                    [\"templateType\"] = \"CodeValueFhir\",\n                    [\"template\"] = new Dictionary\u003cstring, object?\u003e\n                    {\n                        [\"codes\"] = new[]\n                        {\n                            new Dictionary\u003cstring, object?\u003e\n                            {\n                                [\"code\"] = \"8867-4\",\n                                [\"system\"] = \"http://loinc.org\",\n                                [\"display\"] = \"Heart rate\",\n                            },\n                        },\n                        [\"periodInterval\"] = 60,\n                        [\"typeName\"] = \"heartrate\",\n                        [\"value\"] = new Dictionary\u003cstring, object?\u003e\n                        {\n                            [\"defaultPeriod\"] = 5000,\n                            [\"unit\"] = \"count/min\",\n                            [\"valueName\"] = \"hr\",\n                            [\"valueType\"] = \"SampledData\",\n                        },\n                    },\n                },\n            },\n        }),\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/eventhub\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/healthcare\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-rg\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = core.GetClientConfig(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleWorkspace, err := healthcare.NewWorkspace(ctx, \"example\", \u0026healthcare.WorkspaceArgs{\n\t\t\tName:              pulumi.String(\"exampleworkspace\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleEventHubNamespace, err := eventhub.NewEventHubNamespace(ctx, \"example\", \u0026eventhub.EventHubNamespaceArgs{\n\t\t\tName:              pulumi.String(\"example-ehn\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSku:               pulumi.String(\"Standard\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleEventHub, err := eventhub.NewEventHub(ctx, \"example\", \u0026eventhub.EventHubArgs{\n\t\t\tName:              pulumi.String(\"example-eh\"),\n\t\t\tNamespaceName:     exampleEventHubNamespace.Name,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tPartitionCount:    pulumi.Int(1),\n\t\t\tMessageRetention:  pulumi.Int(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleConsumerGroup, err := eventhub.NewConsumerGroup(ctx, \"example\", \u0026eventhub.ConsumerGroupArgs{\n\t\t\tName:              pulumi.String(\"$default\"),\n\t\t\tNamespaceName:     exampleEventHubNamespace.Name,\n\t\t\tEventhubName:      exampleEventHub.Name,\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleFhirService, err := healthcare.NewFhirService(ctx, \"example\", \u0026healthcare.FhirServiceArgs{\n\t\t\tName:              pulumi.String(\"examplefhir\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tWorkspaceId:       exampleWorkspace.ID(),\n\t\t\tKind:              pulumi.String(\"fhir-R4\"),\n\t\t\tAuthentication: \u0026healthcare.FhirServiceAuthenticationArgs{\n\t\t\t\tAuthority: pulumi.String(\"https://login.microsoftonline.com/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"),\n\t\t\t\tAudience:  pulumi.String(\"https://examplefhir.fhir.azurehealthcareapis.com\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"templateType\": \"CollectionContent\",\n\t\t\t\"template\":     []interface{}{},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson0 := string(tmpJSON0)\n\t\texampleMedtechService, err := healthcare.NewMedtechService(ctx, \"example\", \u0026healthcare.MedtechServiceArgs{\n\t\t\tName:                      pulumi.String(\"examplemt\"),\n\t\t\tWorkspaceId:               exampleWorkspace.ID(),\n\t\t\tLocation:                  example.Location,\n\t\t\tEventhubNamespaceName:     exampleEventHubNamespace.Name,\n\t\t\tEventhubName:              exampleEventHub.Name,\n\t\t\tEventhubConsumerGroupName: exampleConsumerGroup.Name,\n\t\t\tDeviceMappingJson:         pulumi.String(json0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON1, err := json.Marshal(map[string]interface{}{\n\t\t\t\"templateType\": \"CollectionFhirTemplate\",\n\t\t\t\"template\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"templateType\": \"CodeValueFhir\",\n\t\t\t\t\t\"template\": map[string]interface{}{\n\t\t\t\t\t\t\"codes\": []map[string]interface{}{\n\t\t\t\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\t\t\t\"code\":    \"8867-4\",\n\t\t\t\t\t\t\t\t\"system\":  \"http://loinc.org\",\n\t\t\t\t\t\t\t\t\"display\": \"Heart rate\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"periodInterval\": 60,\n\t\t\t\t\t\t\"typeName\":       \"heartrate\",\n\t\t\t\t\t\t\"value\": map[string]interface{}{\n\t\t\t\t\t\t\t\"defaultPeriod\": 5000,\n\t\t\t\t\t\t\t\"unit\":          \"count/min\",\n\t\t\t\t\t\t\t\"valueName\":     \"hr\",\n\t\t\t\t\t\t\t\"valueType\":     \"SampledData\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson1 := string(tmpJSON1)\n\t\t_, err = healthcare.NewMedtechServiceFhirDestination(ctx, \"example\", \u0026healthcare.MedtechServiceFhirDestinationArgs{\n\t\t\tName:                              pulumi.String(\"examplemtdes\"),\n\t\t\tLocation:                          pulumi.String(\"east us\"),\n\t\t\tMedtechServiceId:                  exampleMedtechService.ID(),\n\t\t\tDestinationFhirServiceId:          exampleFhirService.ID(),\n\t\t\tDestinationIdentityResolutionType: pulumi.String(\"Create\"),\n\t\t\tDestinationFhirMappingJson:        pulumi.String(json1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.healthcare.Workspace;\nimport com.pulumi.azure.healthcare.WorkspaceArgs;\nimport com.pulumi.azure.eventhub.EventHubNamespace;\nimport com.pulumi.azure.eventhub.EventHubNamespaceArgs;\nimport com.pulumi.azure.eventhub.EventHub;\nimport com.pulumi.azure.eventhub.EventHubArgs;\nimport com.pulumi.azure.eventhub.ConsumerGroup;\nimport com.pulumi.azure.eventhub.ConsumerGroupArgs;\nimport com.pulumi.azure.healthcare.FhirService;\nimport com.pulumi.azure.healthcare.FhirServiceArgs;\nimport com.pulumi.azure.healthcare.inputs.FhirServiceAuthenticationArgs;\nimport com.pulumi.azure.healthcare.MedtechService;\nimport com.pulumi.azure.healthcare.MedtechServiceArgs;\nimport com.pulumi.azure.healthcare.MedtechServiceFhirDestination;\nimport com.pulumi.azure.healthcare.MedtechServiceFhirDestinationArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-rg\")\n            .location(\"West Europe\")\n            .build());\n\n        final var current = CoreFunctions.getClientConfig(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n        var exampleWorkspace = new Workspace(\"exampleWorkspace\", WorkspaceArgs.builder()\n            .name(\"exampleworkspace\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .build());\n\n        var exampleEventHubNamespace = new EventHubNamespace(\"exampleEventHubNamespace\", EventHubNamespaceArgs.builder()\n            .name(\"example-ehn\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .sku(\"Standard\")\n            .build());\n\n        var exampleEventHub = new EventHub(\"exampleEventHub\", EventHubArgs.builder()\n            .name(\"example-eh\")\n            .namespaceName(exampleEventHubNamespace.name())\n            .resourceGroupName(example.name())\n            .partitionCount(1)\n            .messageRetention(1)\n            .build());\n\n        var exampleConsumerGroup = new ConsumerGroup(\"exampleConsumerGroup\", ConsumerGroupArgs.builder()\n            .name(\"$default\")\n            .namespaceName(exampleEventHubNamespace.name())\n            .eventhubName(exampleEventHub.name())\n            .resourceGroupName(example.name())\n            .build());\n\n        var exampleFhirService = new FhirService(\"exampleFhirService\", FhirServiceArgs.builder()\n            .name(\"examplefhir\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .workspaceId(exampleWorkspace.id())\n            .kind(\"fhir-R4\")\n            .authentication(FhirServiceAuthenticationArgs.builder()\n                .authority(\"https://login.microsoftonline.com/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\")\n                .audience(\"https://examplefhir.fhir.azurehealthcareapis.com\")\n                .build())\n            .build());\n\n        var exampleMedtechService = new MedtechService(\"exampleMedtechService\", MedtechServiceArgs.builder()\n            .name(\"examplemt\")\n            .workspaceId(exampleWorkspace.id())\n            .location(example.location())\n            .eventhubNamespaceName(exampleEventHubNamespace.name())\n            .eventhubName(exampleEventHub.name())\n            .eventhubConsumerGroupName(exampleConsumerGroup.name())\n            .deviceMappingJson(serializeJson(\n                jsonObject(\n                    jsonProperty(\"templateType\", \"CollectionContent\"),\n                    jsonProperty(\"template\", jsonArray(\n                    ))\n                )))\n            .build());\n\n        var exampleMedtechServiceFhirDestination = new MedtechServiceFhirDestination(\"exampleMedtechServiceFhirDestination\", MedtechServiceFhirDestinationArgs.builder()\n            .name(\"examplemtdes\")\n            .location(\"east us\")\n            .medtechServiceId(exampleMedtechService.id())\n            .destinationFhirServiceId(exampleFhirService.id())\n            .destinationIdentityResolutionType(\"Create\")\n            .destinationFhirMappingJson(serializeJson(\n                jsonObject(\n                    jsonProperty(\"templateType\", \"CollectionFhirTemplate\"),\n                    jsonProperty(\"template\", jsonArray(jsonObject(\n                        jsonProperty(\"templateType\", \"CodeValueFhir\"),\n                        jsonProperty(\"template\", jsonObject(\n                            jsonProperty(\"codes\", jsonArray(jsonObject(\n                                jsonProperty(\"code\", \"8867-4\"),\n                                jsonProperty(\"system\", \"http://loinc.org\"),\n                                jsonProperty(\"display\", \"Heart rate\")\n                            ))),\n                            jsonProperty(\"periodInterval\", 60),\n                            jsonProperty(\"typeName\", \"heartrate\"),\n                            jsonProperty(\"value\", jsonObject(\n                                jsonProperty(\"defaultPeriod\", 5000),\n                                jsonProperty(\"unit\", \"count/min\"),\n                                jsonProperty(\"valueName\", \"hr\"),\n                                jsonProperty(\"valueType\", \"SampledData\")\n                            ))\n                        ))\n                    )))\n                )))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-rg\n      location: West Europe\n  exampleWorkspace:\n    type: azure:healthcare:Workspace\n    name: example\n    properties:\n      name: exampleworkspace\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n  exampleEventHubNamespace:\n    type: azure:eventhub:EventHubNamespace\n    name: example\n    properties:\n      name: example-ehn\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      sku: Standard\n  exampleEventHub:\n    type: azure:eventhub:EventHub\n    name: example\n    properties:\n      name: example-eh\n      namespaceName: ${exampleEventHubNamespace.name}\n      resourceGroupName: ${example.name}\n      partitionCount: 1\n      messageRetention: 1\n  exampleConsumerGroup:\n    type: azure:eventhub:ConsumerGroup\n    name: example\n    properties:\n      name: $default\n      namespaceName: ${exampleEventHubNamespace.name}\n      eventhubName: ${exampleEventHub.name}\n      resourceGroupName: ${example.name}\n  exampleFhirService:\n    type: azure:healthcare:FhirService\n    name: example\n    properties:\n      name: examplefhir\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      workspaceId: ${exampleWorkspace.id}\n      kind: fhir-R4\n      authentication:\n        authority: https://login.microsoftonline.com/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\n        audience: https://examplefhir.fhir.azurehealthcareapis.com\n  exampleMedtechService:\n    type: azure:healthcare:MedtechService\n    name: example\n    properties:\n      name: examplemt\n      workspaceId: ${exampleWorkspace.id}\n      location: ${example.location}\n      eventhubNamespaceName: ${exampleEventHubNamespace.name}\n      eventhubName: ${exampleEventHub.name}\n      eventhubConsumerGroupName: ${exampleConsumerGroup.name}\n      deviceMappingJson:\n        fn::toJSON:\n          templateType: CollectionContent\n          template: []\n  exampleMedtechServiceFhirDestination:\n    type: azure:healthcare:MedtechServiceFhirDestination\n    name: example\n    properties:\n      name: examplemtdes\n      location: east us\n      medtechServiceId: ${exampleMedtechService.id}\n      destinationFhirServiceId: ${exampleFhirService.id}\n      destinationIdentityResolutionType: Create\n      destinationFhirMappingJson:\n        fn::toJSON:\n          templateType: CollectionFhirTemplate\n          template:\n            - templateType: CodeValueFhir\n              template:\n                codes:\n                  - code: 8867-4\n                    system: http://loinc.org\n                    display: Heart rate\n                periodInterval: 60\n                typeName: heartrate\n                value:\n                  defaultPeriod: 5000\n                  unit: count/min\n                  valueName: hr\n                  valueType: SampledData\nvariables:\n  current:\n    fn::invoke:\n      function: azure:core:getClientConfig\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.HealthcareApis` - 2022-12-01\n\n## Import\n\nHealthcare Med Tech Service Fhir Destination can be imported using the resource\u003cspan pulumi-lang-nodejs=\"`id`\" pulumi-lang-dotnet=\"`Id`\" pulumi-lang-go=\"`id`\" pulumi-lang-python=\"`id`\" pulumi-lang-yaml=\"`id`\" pulumi-lang-java=\"`id`\"\u003e`id`\u003c/span\u003e, e.g.\n\n```sh\n$ pulumi import azure:healthcare/medtechServiceFhirDestination:MedtechServiceFhirDestination example /subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/group1/providers/Microsoft.HealthcareApis/workspaces/workspace1/iotConnectors/iotconnector1/fhirDestinations/destination1\n```\n\n","properties":{"destinationFhirMappingJson":{"type":"string","description":"Specifies the destination Fhir mappings of the Med Tech Service Fhir Destination.\n"},"destinationFhirServiceId":{"type":"string","description":"Specifies the destination fhir service id of the Med Tech Service Fhir Destination.\n"},"destinationIdentityResolutionType":{"type":"string","description":"Specifies the destination identity resolution type where the Healthcare Med Tech Service Fhir Destination should be created. Possible values are `Create`, `Lookup`.\n"},"location":{"type":"string","description":"Specifies the Azure Region where the Healthcare Med Tech Service Fhir Destination should be created. Changing this forces a new Healthcare Med Tech Service Fhir Destination to be created.\n"},"medtechServiceId":{"type":"string","description":"Specifies the name of the Healthcare Med Tech Service where the Healthcare Med Tech Service Fhir Destination should exist. Changing this forces a new Healthcare Med Tech Service Fhir Destination to be created.\n"},"name":{"type":"string","description":"Specifies the name of the Healthcare Med Tech Service Fhir Destination. Changing this forces a new Healthcare Med Tech Service Fhir Destination to be created.\n"}},"required":["destinationFhirMappingJson","destinationFhirServiceId","destinationIdentityResolutionType","location","medtechServiceId","name"],"inputProperties":{"destinationFhirMappingJson":{"type":"string","description":"Specifies the destination Fhir mappings of the Med Tech Service Fhir Destination.\n"},"destinationFhirServiceId":{"type":"string","description":"Specifies the destination fhir service id of the Med Tech Service Fhir Destination.\n"},"destinationIdentityResolutionType":{"type":"string","description":"Specifies the destination identity resolution type where the Healthcare Med Tech Service Fhir Destination should be created. Possible values are `Create`, `Lookup`.\n"},"location":{"type":"string","description":"Specifies the Azure Region where the Healthcare Med Tech Service Fhir Destination should be created. Changing this forces a new Healthcare Med Tech Service Fhir Destination to be created.\n","willReplaceOnChanges":true},"medtechServiceId":{"type":"string","description":"Specifies the name of the Healthcare Med Tech Service where the Healthcare Med Tech Service Fhir Destination should exist. Changing this forces a new Healthcare Med Tech Service Fhir Destination to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the Healthcare Med Tech Service Fhir Destination. Changing this forces a new Healthcare Med Tech Service Fhir Destination to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["destinationFhirMappingJson","destinationFhirServiceId","destinationIdentityResolutionType","medtechServiceId"],"stateInputs":{"description":"Input properties used for looking up and filtering MedtechServiceFhirDestination resources.\n","properties":{"destinationFhirMappingJson":{"type":"string","description":"Specifies the destination Fhir mappings of the Med Tech Service Fhir Destination.\n"},"destinationFhirServiceId":{"type":"string","description":"Specifies the destination fhir service id of the Med Tech Service Fhir Destination.\n"},"destinationIdentityResolutionType":{"type":"string","description":"Specifies the destination identity resolution type where the Healthcare Med Tech Service Fhir Destination should be created. Possible values are `Create`, `Lookup`.\n"},"location":{"type":"string","description":"Specifies the Azure Region where the Healthcare Med Tech Service Fhir Destination should be created. Changing this forces a new Healthcare Med Tech Service Fhir Destination to be created.\n","willReplaceOnChanges":true},"medtechServiceId":{"type":"string","description":"Specifies the name of the Healthcare Med Tech Service where the Healthcare Med Tech Service Fhir Destination should exist. Changing this forces a new Healthcare Med Tech Service Fhir Destination to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the Healthcare Med Tech Service Fhir Destination. Changing this forces a new Healthcare Med Tech Service Fhir Destination to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:healthcare/service:Service":{"description":"Manages a Healthcare Service.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst current = azure.core.getClientConfig({});\nconst example = new azure.healthcare.Service(\"example\", {\n    name: \"uniquefhirname\",\n    resourceGroupName: \"sample-resource-group\",\n    location: \"westus2\",\n    kind: \"fhir-R4\",\n    cosmosdbThroughput: 2000,\n    identity: {\n        type: \"SystemAssigned\",\n    },\n    accessPolicyObjectIds: current.then(current =\u003e current.objectId),\n    configurationExportStorageAccountName: \"teststorage\",\n    tags: {\n        environment: \"testenv\",\n        purpose: \"AcceptanceTests\",\n    },\n    authenticationConfiguration: {\n        authority: \"https://login.microsoftonline.com/$%7Bdata.azurerm_client_config.current.tenant_id%7D\",\n        audience: \"https://azurehealthcareapis.com/\",\n        smartProxyEnabled: true,\n    },\n    corsConfiguration: {\n        allowedOrigins: [\n            \"http://www.example.com\",\n            \"http://www.example2.com\",\n        ],\n        allowedHeaders: [\n            \"x-tempo-*\",\n            \"x-tempo2-*\",\n        ],\n        allowedMethods: [\n            \"GET\",\n            \"PUT\",\n        ],\n        maxAgeInSeconds: 500,\n        allowCredentials: true,\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\ncurrent = azure.core.get_client_config()\nexample = azure.healthcare.Service(\"example\",\n    name=\"uniquefhirname\",\n    resource_group_name=\"sample-resource-group\",\n    location=\"westus2\",\n    kind=\"fhir-R4\",\n    cosmosdb_throughput=2000,\n    identity={\n        \"type\": \"SystemAssigned\",\n    },\n    access_policy_object_ids=current.object_id,\n    configuration_export_storage_account_name=\"teststorage\",\n    tags={\n        \"environment\": \"testenv\",\n        \"purpose\": \"AcceptanceTests\",\n    },\n    authentication_configuration={\n        \"authority\": \"https://login.microsoftonline.com/$%7Bdata.azurerm_client_config.current.tenant_id%7D\",\n        \"audience\": \"https://azurehealthcareapis.com/\",\n        \"smart_proxy_enabled\": True,\n    },\n    cors_configuration={\n        \"allowed_origins\": [\n            \"http://www.example.com\",\n            \"http://www.example2.com\",\n        ],\n        \"allowed_headers\": [\n            \"x-tempo-*\",\n            \"x-tempo2-*\",\n        ],\n        \"allowed_methods\": [\n            \"GET\",\n            \"PUT\",\n        ],\n        \"max_age_in_seconds\": 500,\n        \"allow_credentials\": True,\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var current = Azure.Core.GetClientConfig.Invoke();\n\n    var example = new Azure.Healthcare.Service(\"example\", new()\n    {\n        Name = \"uniquefhirname\",\n        ResourceGroupName = \"sample-resource-group\",\n        Location = \"westus2\",\n        Kind = \"fhir-R4\",\n        CosmosdbThroughput = 2000,\n        Identity = new Azure.Healthcare.Inputs.ServiceIdentityArgs\n        {\n            Type = \"SystemAssigned\",\n        },\n        AccessPolicyObjectIds = current.Apply(getClientConfigResult =\u003e getClientConfigResult.ObjectId),\n        ConfigurationExportStorageAccountName = \"teststorage\",\n        Tags = \n        {\n            { \"environment\", \"testenv\" },\n            { \"purpose\", \"AcceptanceTests\" },\n        },\n        AuthenticationConfiguration = new Azure.Healthcare.Inputs.ServiceAuthenticationConfigurationArgs\n        {\n            Authority = \"https://login.microsoftonline.com/$%7Bdata.azurerm_client_config.current.tenant_id%7D\",\n            Audience = \"https://azurehealthcareapis.com/\",\n            SmartProxyEnabled = true,\n        },\n        CorsConfiguration = new Azure.Healthcare.Inputs.ServiceCorsConfigurationArgs\n        {\n            AllowedOrigins = new[]\n            {\n                \"http://www.example.com\",\n                \"http://www.example2.com\",\n            },\n            AllowedHeaders = new[]\n            {\n                \"x-tempo-*\",\n                \"x-tempo2-*\",\n            },\n            AllowedMethods = new[]\n            {\n                \"GET\",\n                \"PUT\",\n            },\n            MaxAgeInSeconds = 500,\n            AllowCredentials = true,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/healthcare\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := core.GetClientConfig(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = healthcare.NewService(ctx, \"example\", \u0026healthcare.ServiceArgs{\n\t\t\tName:               pulumi.String(\"uniquefhirname\"),\n\t\t\tResourceGroupName:  pulumi.String(\"sample-resource-group\"),\n\t\t\tLocation:           pulumi.String(\"westus2\"),\n\t\t\tKind:               pulumi.String(\"fhir-R4\"),\n\t\t\tCosmosdbThroughput: pulumi.Int(2000),\n\t\t\tIdentity: \u0026healthcare.ServiceIdentityArgs{\n\t\t\t\tType: pulumi.String(\"SystemAssigned\"),\n\t\t\t},\n\t\t\tAccessPolicyObjectIds:                 pulumi.String(current.ObjectId),\n\t\t\tConfigurationExportStorageAccountName: pulumi.String(\"teststorage\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"environment\": pulumi.String(\"testenv\"),\n\t\t\t\t\"purpose\":     pulumi.String(\"AcceptanceTests\"),\n\t\t\t},\n\t\t\tAuthenticationConfiguration: \u0026healthcare.ServiceAuthenticationConfigurationArgs{\n\t\t\t\tAuthority:         pulumi.String(\"https://login.microsoftonline.com/$%7Bdata.azurerm_client_config.current.tenant_id%7D\"),\n\t\t\t\tAudience:          pulumi.String(\"https://azurehealthcareapis.com/\"),\n\t\t\t\tSmartProxyEnabled: pulumi.Bool(true),\n\t\t\t},\n\t\t\tCorsConfiguration: \u0026healthcare.ServiceCorsConfigurationArgs{\n\t\t\t\tAllowedOrigins: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"http://www.example.com\"),\n\t\t\t\t\tpulumi.String(\"http://www.example2.com\"),\n\t\t\t\t},\n\t\t\t\tAllowedHeaders: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"x-tempo-*\"),\n\t\t\t\t\tpulumi.String(\"x-tempo2-*\"),\n\t\t\t\t},\n\t\t\t\tAllowedMethods: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"GET\"),\n\t\t\t\t\tpulumi.String(\"PUT\"),\n\t\t\t\t},\n\t\t\t\tMaxAgeInSeconds:  pulumi.Int(500),\n\t\t\t\tAllowCredentials: pulumi.Bool(true),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.healthcare.Service;\nimport com.pulumi.azure.healthcare.ServiceArgs;\nimport com.pulumi.azure.healthcare.inputs.ServiceIdentityArgs;\nimport com.pulumi.azure.healthcare.inputs.ServiceAuthenticationConfigurationArgs;\nimport com.pulumi.azure.healthcare.inputs.ServiceCorsConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var current = CoreFunctions.getClientConfig(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n        var example = new Service(\"example\", ServiceArgs.builder()\n            .name(\"uniquefhirname\")\n            .resourceGroupName(\"sample-resource-group\")\n            .location(\"westus2\")\n            .kind(\"fhir-R4\")\n            .cosmosdbThroughput(2000)\n            .identity(ServiceIdentityArgs.builder()\n                .type(\"SystemAssigned\")\n                .build())\n            .accessPolicyObjectIds(current.objectId())\n            .configurationExportStorageAccountName(\"teststorage\")\n            .tags(Map.ofEntries(\n                Map.entry(\"environment\", \"testenv\"),\n                Map.entry(\"purpose\", \"AcceptanceTests\")\n            ))\n            .authenticationConfiguration(ServiceAuthenticationConfigurationArgs.builder()\n                .authority(\"https://login.microsoftonline.com/$%7Bdata.azurerm_client_config.current.tenant_id%7D\")\n                .audience(\"https://azurehealthcareapis.com/\")\n                .smartProxyEnabled(true)\n                .build())\n            .corsConfiguration(ServiceCorsConfigurationArgs.builder()\n                .allowedOrigins(                \n                    \"http://www.example.com\",\n                    \"http://www.example2.com\")\n                .allowedHeaders(                \n                    \"x-tempo-*\",\n                    \"x-tempo2-*\")\n                .allowedMethods(                \n                    \"GET\",\n                    \"PUT\")\n                .maxAgeInSeconds(500)\n                .allowCredentials(true)\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:healthcare:Service\n    properties:\n      name: uniquefhirname\n      resourceGroupName: sample-resource-group\n      location: westus2\n      kind: fhir-R4\n      cosmosdbThroughput: '2000'\n      identity:\n        type: SystemAssigned\n      accessPolicyObjectIds: ${current.objectId}\n      configurationExportStorageAccountName: teststorage\n      tags:\n        environment: testenv\n        purpose: AcceptanceTests\n      authenticationConfiguration:\n        authority: https://login.microsoftonline.com/$%7Bdata.azurerm_client_config.current.tenant_id%7D\n        audience: https://azurehealthcareapis.com/\n        smartProxyEnabled: 'true'\n      corsConfiguration:\n        allowedOrigins:\n          - http://www.example.com\n          - http://www.example2.com\n        allowedHeaders:\n          - x-tempo-*\n          - x-tempo2-*\n        allowedMethods:\n          - GET\n          - PUT\n        maxAgeInSeconds: '500'\n        allowCredentials: 'true'\nvariables:\n  current:\n    fn::invoke:\n      function: azure:core:getClientConfig\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.HealthcareApis` - 2022-12-01\n\n## Import\n\nHealthcare Service can be imported using the resource\u003cspan pulumi-lang-nodejs=\"`id`\" pulumi-lang-dotnet=\"`Id`\" pulumi-lang-go=\"`id`\" pulumi-lang-python=\"`id`\" pulumi-lang-yaml=\"`id`\" pulumi-lang-java=\"`id`\"\u003e`id`\u003c/span\u003e, e.g.\n\n```sh\n$ pulumi import azure:healthcare/service:Service example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resource_group/providers/Microsoft.HealthcareApis/services/service_name\n```\n\n","properties":{"accessPolicyObjectIds":{"type":"array","items":{"type":"string"},"description":"A set of Azure object IDs that are allowed to access the Service. If not configured, the default value is the object id of the service principal or user that is running Terraform.\n"},"authenticationConfiguration":{"$ref":"#/types/azure:healthcare/ServiceAuthenticationConfiguration:ServiceAuthenticationConfiguration","description":"An \u003cspan pulumi-lang-nodejs=\"`authenticationConfiguration`\" pulumi-lang-dotnet=\"`AuthenticationConfiguration`\" pulumi-lang-go=\"`authenticationConfiguration`\" pulumi-lang-python=\"`authentication_configuration`\" pulumi-lang-yaml=\"`authenticationConfiguration`\" pulumi-lang-java=\"`authenticationConfiguration`\"\u003e`authentication_configuration`\u003c/span\u003e block as defined below.\n"},"configurationExportStorageAccountName":{"type":"string","description":"Specifies the name of the storage account which the operation configuration information is exported to.\n"},"corsConfiguration":{"$ref":"#/types/azure:healthcare/ServiceCorsConfiguration:ServiceCorsConfiguration","description":"A \u003cspan pulumi-lang-nodejs=\"`corsConfiguration`\" pulumi-lang-dotnet=\"`CorsConfiguration`\" pulumi-lang-go=\"`corsConfiguration`\" pulumi-lang-python=\"`cors_configuration`\" pulumi-lang-yaml=\"`corsConfiguration`\" pulumi-lang-java=\"`corsConfiguration`\"\u003e`cors_configuration`\u003c/span\u003e block as defined below.\n"},"cosmosdbKeyVaultKeyVersionlessId":{"type":"string","description":"A versionless Key Vault Key ID for CMK encryption of the backing database. Changing this forces a new resource to be created.\n\n\u003e **Note:** In order to use a `Custom Key` from Key Vault for encryption you must grant Azure Cosmos DB Service access to your key vault. For instructions on how to configure your Key Vault correctly please refer to the [product documentation](https://docs.microsoft.com/azure/cosmos-db/how-to-setup-cmk#add-an-access-policy-to-your-azure-key-vault-instance)\n"},"cosmosdbThroughput":{"type":"integer","description":"The provisioned throughput for the backing database. Range of \u003cspan pulumi-lang-nodejs=\"`400`\" pulumi-lang-dotnet=\"`400`\" pulumi-lang-go=\"`400`\" pulumi-lang-python=\"`400`\" pulumi-lang-yaml=\"`400`\" pulumi-lang-java=\"`400`\"\u003e`400`\u003c/span\u003e-\u003cspan pulumi-lang-nodejs=\"`100000`\" pulumi-lang-dotnet=\"`100000`\" pulumi-lang-go=\"`100000`\" pulumi-lang-python=\"`100000`\" pulumi-lang-yaml=\"`100000`\" pulumi-lang-java=\"`100000`\"\u003e`100000`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`1000`\" pulumi-lang-dotnet=\"`1000`\" pulumi-lang-go=\"`1000`\" pulumi-lang-python=\"`1000`\" pulumi-lang-yaml=\"`1000`\" pulumi-lang-java=\"`1000`\"\u003e`1000`\u003c/span\u003e.\n"},"identity":{"$ref":"#/types/azure:healthcare/ServiceIdentity:ServiceIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"kind":{"type":"string","description":"The type of the service. Values at time of publication are: \u003cspan pulumi-lang-nodejs=\"`fhir`\" pulumi-lang-dotnet=\"`Fhir`\" pulumi-lang-go=\"`fhir`\" pulumi-lang-python=\"`fhir`\" pulumi-lang-yaml=\"`fhir`\" pulumi-lang-java=\"`fhir`\"\u003e`fhir`\u003c/span\u003e, `fhir-Stu3` and `fhir-R4`. Default value is \u003cspan pulumi-lang-nodejs=\"`fhir`\" pulumi-lang-dotnet=\"`Fhir`\" pulumi-lang-go=\"`fhir`\" pulumi-lang-python=\"`fhir`\" pulumi-lang-yaml=\"`fhir`\" pulumi-lang-java=\"`fhir`\"\u003e`fhir`\u003c/span\u003e.\n"},"location":{"type":"string","description":"Specifies the supported Azure Region where the Service should be created. Changing this forces a new resource to be created.\n\n\u003e **Note:** Not all locations support this resource. Some are `West US 2`, `North Central US`, and `UK West`.\n"},"name":{"type":"string","description":"The name of the service instance. Used for service endpoint, must be unique within the audience. Changing this forces a new resource to be created.\n"},"publicNetworkAccessEnabled":{"type":"boolean","description":"Whether public network access is enabled or disabled for this service instance. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group in which to create the Service. Changing this forces a new resource to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"required":["authenticationConfiguration","corsConfiguration","location","name","resourceGroupName"],"inputProperties":{"accessPolicyObjectIds":{"type":"array","items":{"type":"string"},"description":"A set of Azure object IDs that are allowed to access the Service. If not configured, the default value is the object id of the service principal or user that is running Terraform.\n"},"authenticationConfiguration":{"$ref":"#/types/azure:healthcare/ServiceAuthenticationConfiguration:ServiceAuthenticationConfiguration","description":"An \u003cspan pulumi-lang-nodejs=\"`authenticationConfiguration`\" pulumi-lang-dotnet=\"`AuthenticationConfiguration`\" pulumi-lang-go=\"`authenticationConfiguration`\" pulumi-lang-python=\"`authentication_configuration`\" pulumi-lang-yaml=\"`authenticationConfiguration`\" pulumi-lang-java=\"`authenticationConfiguration`\"\u003e`authentication_configuration`\u003c/span\u003e block as defined below.\n"},"configurationExportStorageAccountName":{"type":"string","description":"Specifies the name of the storage account which the operation configuration information is exported to.\n"},"corsConfiguration":{"$ref":"#/types/azure:healthcare/ServiceCorsConfiguration:ServiceCorsConfiguration","description":"A \u003cspan pulumi-lang-nodejs=\"`corsConfiguration`\" pulumi-lang-dotnet=\"`CorsConfiguration`\" pulumi-lang-go=\"`corsConfiguration`\" pulumi-lang-python=\"`cors_configuration`\" pulumi-lang-yaml=\"`corsConfiguration`\" pulumi-lang-java=\"`corsConfiguration`\"\u003e`cors_configuration`\u003c/span\u003e block as defined below.\n"},"cosmosdbKeyVaultKeyVersionlessId":{"type":"string","description":"A versionless Key Vault Key ID for CMK encryption of the backing database. Changing this forces a new resource to be created.\n\n\u003e **Note:** In order to use a `Custom Key` from Key Vault for encryption you must grant Azure Cosmos DB Service access to your key vault. For instructions on how to configure your Key Vault correctly please refer to the [product documentation](https://docs.microsoft.com/azure/cosmos-db/how-to-setup-cmk#add-an-access-policy-to-your-azure-key-vault-instance)\n","willReplaceOnChanges":true},"cosmosdbThroughput":{"type":"integer","description":"The provisioned throughput for the backing database. Range of \u003cspan pulumi-lang-nodejs=\"`400`\" pulumi-lang-dotnet=\"`400`\" pulumi-lang-go=\"`400`\" pulumi-lang-python=\"`400`\" pulumi-lang-yaml=\"`400`\" pulumi-lang-java=\"`400`\"\u003e`400`\u003c/span\u003e-\u003cspan pulumi-lang-nodejs=\"`100000`\" pulumi-lang-dotnet=\"`100000`\" pulumi-lang-go=\"`100000`\" pulumi-lang-python=\"`100000`\" pulumi-lang-yaml=\"`100000`\" pulumi-lang-java=\"`100000`\"\u003e`100000`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`1000`\" pulumi-lang-dotnet=\"`1000`\" pulumi-lang-go=\"`1000`\" pulumi-lang-python=\"`1000`\" pulumi-lang-yaml=\"`1000`\" pulumi-lang-java=\"`1000`\"\u003e`1000`\u003c/span\u003e.\n"},"identity":{"$ref":"#/types/azure:healthcare/ServiceIdentity:ServiceIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"kind":{"type":"string","description":"The type of the service. Values at time of publication are: \u003cspan pulumi-lang-nodejs=\"`fhir`\" pulumi-lang-dotnet=\"`Fhir`\" pulumi-lang-go=\"`fhir`\" pulumi-lang-python=\"`fhir`\" pulumi-lang-yaml=\"`fhir`\" pulumi-lang-java=\"`fhir`\"\u003e`fhir`\u003c/span\u003e, `fhir-Stu3` and `fhir-R4`. Default value is \u003cspan pulumi-lang-nodejs=\"`fhir`\" pulumi-lang-dotnet=\"`Fhir`\" pulumi-lang-go=\"`fhir`\" pulumi-lang-python=\"`fhir`\" pulumi-lang-yaml=\"`fhir`\" pulumi-lang-java=\"`fhir`\"\u003e`fhir`\u003c/span\u003e.\n"},"location":{"type":"string","description":"Specifies the supported Azure Region where the Service should be created. Changing this forces a new resource to be created.\n\n\u003e **Note:** Not all locations support this resource. Some are `West US 2`, `North Central US`, and `UK West`.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the service instance. Used for service endpoint, must be unique within the audience. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"publicNetworkAccessEnabled":{"type":"boolean","description":"Whether public network access is enabled or disabled for this service instance. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group in which to create the Service. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"requiredInputs":["resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering Service resources.\n","properties":{"accessPolicyObjectIds":{"type":"array","items":{"type":"string"},"description":"A set of Azure object IDs that are allowed to access the Service. If not configured, the default value is the object id of the service principal or user that is running Terraform.\n"},"authenticationConfiguration":{"$ref":"#/types/azure:healthcare/ServiceAuthenticationConfiguration:ServiceAuthenticationConfiguration","description":"An \u003cspan pulumi-lang-nodejs=\"`authenticationConfiguration`\" pulumi-lang-dotnet=\"`AuthenticationConfiguration`\" pulumi-lang-go=\"`authenticationConfiguration`\" pulumi-lang-python=\"`authentication_configuration`\" pulumi-lang-yaml=\"`authenticationConfiguration`\" pulumi-lang-java=\"`authenticationConfiguration`\"\u003e`authentication_configuration`\u003c/span\u003e block as defined below.\n"},"configurationExportStorageAccountName":{"type":"string","description":"Specifies the name of the storage account which the operation configuration information is exported to.\n"},"corsConfiguration":{"$ref":"#/types/azure:healthcare/ServiceCorsConfiguration:ServiceCorsConfiguration","description":"A \u003cspan pulumi-lang-nodejs=\"`corsConfiguration`\" pulumi-lang-dotnet=\"`CorsConfiguration`\" pulumi-lang-go=\"`corsConfiguration`\" pulumi-lang-python=\"`cors_configuration`\" pulumi-lang-yaml=\"`corsConfiguration`\" pulumi-lang-java=\"`corsConfiguration`\"\u003e`cors_configuration`\u003c/span\u003e block as defined below.\n"},"cosmosdbKeyVaultKeyVersionlessId":{"type":"string","description":"A versionless Key Vault Key ID for CMK encryption of the backing database. Changing this forces a new resource to be created.\n\n\u003e **Note:** In order to use a `Custom Key` from Key Vault for encryption you must grant Azure Cosmos DB Service access to your key vault. For instructions on how to configure your Key Vault correctly please refer to the [product documentation](https://docs.microsoft.com/azure/cosmos-db/how-to-setup-cmk#add-an-access-policy-to-your-azure-key-vault-instance)\n","willReplaceOnChanges":true},"cosmosdbThroughput":{"type":"integer","description":"The provisioned throughput for the backing database. Range of \u003cspan pulumi-lang-nodejs=\"`400`\" pulumi-lang-dotnet=\"`400`\" pulumi-lang-go=\"`400`\" pulumi-lang-python=\"`400`\" pulumi-lang-yaml=\"`400`\" pulumi-lang-java=\"`400`\"\u003e`400`\u003c/span\u003e-\u003cspan pulumi-lang-nodejs=\"`100000`\" pulumi-lang-dotnet=\"`100000`\" pulumi-lang-go=\"`100000`\" pulumi-lang-python=\"`100000`\" pulumi-lang-yaml=\"`100000`\" pulumi-lang-java=\"`100000`\"\u003e`100000`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`1000`\" pulumi-lang-dotnet=\"`1000`\" pulumi-lang-go=\"`1000`\" pulumi-lang-python=\"`1000`\" pulumi-lang-yaml=\"`1000`\" pulumi-lang-java=\"`1000`\"\u003e`1000`\u003c/span\u003e.\n"},"identity":{"$ref":"#/types/azure:healthcare/ServiceIdentity:ServiceIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"kind":{"type":"string","description":"The type of the service. Values at time of publication are: \u003cspan pulumi-lang-nodejs=\"`fhir`\" pulumi-lang-dotnet=\"`Fhir`\" pulumi-lang-go=\"`fhir`\" pulumi-lang-python=\"`fhir`\" pulumi-lang-yaml=\"`fhir`\" pulumi-lang-java=\"`fhir`\"\u003e`fhir`\u003c/span\u003e, `fhir-Stu3` and `fhir-R4`. Default value is \u003cspan pulumi-lang-nodejs=\"`fhir`\" pulumi-lang-dotnet=\"`Fhir`\" pulumi-lang-go=\"`fhir`\" pulumi-lang-python=\"`fhir`\" pulumi-lang-yaml=\"`fhir`\" pulumi-lang-java=\"`fhir`\"\u003e`fhir`\u003c/span\u003e.\n"},"location":{"type":"string","description":"Specifies the supported Azure Region where the Service should be created. Changing this forces a new resource to be created.\n\n\u003e **Note:** Not all locations support this resource. Some are `West US 2`, `North Central US`, and `UK West`.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the service instance. Used for service endpoint, must be unique within the audience. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"publicNetworkAccessEnabled":{"type":"boolean","description":"Whether public network access is enabled or disabled for this service instance. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group in which to create the Service. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"type":"object"}},"azure:healthcare/workspace:Workspace":{"description":"Manages a Healthcare workspace\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst test = new azure.healthcare.Workspace(\"test\", {\n    name: \"tfexworkspace\",\n    resourceGroupName: \"tfex-resource_group\",\n    location: \"east us\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\ntest = azure.healthcare.Workspace(\"test\",\n    name=\"tfexworkspace\",\n    resource_group_name=\"tfex-resource_group\",\n    location=\"east us\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var test = new Azure.Healthcare.Workspace(\"test\", new()\n    {\n        Name = \"tfexworkspace\",\n        ResourceGroupName = \"tfex-resource_group\",\n        Location = \"east us\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/healthcare\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := healthcare.NewWorkspace(ctx, \"test\", \u0026healthcare.WorkspaceArgs{\n\t\t\tName:              pulumi.String(\"tfexworkspace\"),\n\t\t\tResourceGroupName: pulumi.String(\"tfex-resource_group\"),\n\t\t\tLocation:          pulumi.String(\"east us\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.healthcare.Workspace;\nimport com.pulumi.azure.healthcare.WorkspaceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var test = new Workspace(\"test\", WorkspaceArgs.builder()\n            .name(\"tfexworkspace\")\n            .resourceGroupName(\"tfex-resource_group\")\n            .location(\"east us\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  test:\n    type: azure:healthcare:Workspace\n    properties:\n      name: tfexworkspace\n      resourceGroupName: tfex-resource_group\n      location: east us\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.HealthcareApis` - 2024-03-31\n\n## Import\n\nHealthcare Workspaces can be imported using the resource\u003cspan pulumi-lang-nodejs=\"`id`\" pulumi-lang-dotnet=\"`Id`\" pulumi-lang-go=\"`id`\" pulumi-lang-python=\"`id`\" pulumi-lang-yaml=\"`id`\" pulumi-lang-java=\"`id`\"\u003e`id`\u003c/span\u003e, e.g.\n\n```sh\n$ pulumi import azure:healthcare/workspace:Workspace example /subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/group1/providers/Microsoft.HealthcareApis/workspaces/workspace1\n```\n\n","properties":{"location":{"type":"string","description":"Specifies the Azure Region where the Healthcare Workspace should be created. Changing this forces a new Healthcare Workspace to be created.\n"},"name":{"type":"string","description":"Specifies the name of the Healthcare Workspace. Changing this forces a new Healthcare Workspace to be created.\n"},"privateEndpointConnections":{"type":"array","items":{"$ref":"#/types/azure:healthcare/WorkspacePrivateEndpointConnection:WorkspacePrivateEndpointConnection"}},"resourceGroupName":{"type":"string","description":"Specifies the name of the Resource Group where the Healthcare Workspace should exist. Changing this forces a new Healthcare Workspace to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the Healthcare Workspace.\n"}},"required":["location","name","privateEndpointConnections","resourceGroupName"],"inputProperties":{"location":{"type":"string","description":"Specifies the Azure Region where the Healthcare Workspace should be created. Changing this forces a new Healthcare Workspace to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the Healthcare Workspace. Changing this forces a new Healthcare Workspace to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"Specifies the name of the Resource Group where the Healthcare Workspace should exist. Changing this forces a new Healthcare Workspace to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the Healthcare Workspace.\n"}},"requiredInputs":["resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering Workspace resources.\n","properties":{"location":{"type":"string","description":"Specifies the Azure Region where the Healthcare Workspace should be created. Changing this forces a new Healthcare Workspace to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the Healthcare Workspace. Changing this forces a new Healthcare Workspace to be created.\n","willReplaceOnChanges":true},"privateEndpointConnections":{"type":"array","items":{"$ref":"#/types/azure:healthcare/WorkspacePrivateEndpointConnection:WorkspacePrivateEndpointConnection"}},"resourceGroupName":{"type":"string","description":"Specifies the name of the Resource Group where the Healthcare Workspace should exist. Changing this forces a new Healthcare Workspace to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the Healthcare Workspace.\n"}},"type":"object"}},"azure:hpc/cache:Cache":{"description":"Manages a HPC Cache.\n\n!\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`azure.hpc.Cache`\" pulumi-lang-dotnet=\"`azure.hpc.Cache`\" pulumi-lang-go=\"`hpc.Cache`\" pulumi-lang-python=\"`hpc.Cache`\" pulumi-lang-yaml=\"`azure.hpc.Cache`\" pulumi-lang-java=\"`azure.hpc.Cache`\"\u003e`azure.hpc.Cache`\u003c/span\u003e resource has been deprecated because the service is retiring on 2025-09-30. This resource will be removed in v5.0 of the AzureRM Provider. See https://aka.ms/hpccacheretirement for more information.\n\n\u003e **Note:** By request of the service team the provider no longer automatically registers the `Microsoft.StorageCache` Resource Provider for this resource. To register it you can run `az provider register --namespace 'Microsoft.StorageCache'`.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"example\", {\n    name: \"examplevn\",\n    addressSpaces: [\"10.0.0.0/16\"],\n    location: example.location,\n    resourceGroupName: example.name,\n});\nconst exampleSubnet = new azure.network.Subnet(\"example\", {\n    name: \"examplesubnet\",\n    resourceGroupName: example.name,\n    virtualNetworkName: exampleVirtualNetwork.name,\n    addressPrefixes: [\"10.0.1.0/24\"],\n});\nconst exampleCache = new azure.hpc.Cache(\"example\", {\n    name: \"examplehpccache\",\n    resourceGroupName: example.name,\n    location: example.location,\n    cacheSizeInGb: 3072,\n    subnetId: exampleSubnet.id,\n    skuName: \"Standard_2G\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_virtual_network = azure.network.VirtualNetwork(\"example\",\n    name=\"examplevn\",\n    address_spaces=[\"10.0.0.0/16\"],\n    location=example.location,\n    resource_group_name=example.name)\nexample_subnet = azure.network.Subnet(\"example\",\n    name=\"examplesubnet\",\n    resource_group_name=example.name,\n    virtual_network_name=example_virtual_network.name,\n    address_prefixes=[\"10.0.1.0/24\"])\nexample_cache = azure.hpc.Cache(\"example\",\n    name=\"examplehpccache\",\n    resource_group_name=example.name,\n    location=example.location,\n    cache_size_in_gb=3072,\n    subnet_id=example_subnet.id,\n    sku_name=\"Standard_2G\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleVirtualNetwork = new Azure.Network.VirtualNetwork(\"example\", new()\n    {\n        Name = \"examplevn\",\n        AddressSpaces = new[]\n        {\n            \"10.0.0.0/16\",\n        },\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n    });\n\n    var exampleSubnet = new Azure.Network.Subnet(\"example\", new()\n    {\n        Name = \"examplesubnet\",\n        ResourceGroupName = example.Name,\n        VirtualNetworkName = exampleVirtualNetwork.Name,\n        AddressPrefixes = new[]\n        {\n            \"10.0.1.0/24\",\n        },\n    });\n\n    var exampleCache = new Azure.Hpc.Cache(\"example\", new()\n    {\n        Name = \"examplehpccache\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        CacheSizeInGb = 3072,\n        SubnetId = exampleSubnet.Id,\n        SkuName = \"Standard_2G\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/hpc\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, \"example\", \u0026network.VirtualNetworkArgs{\n\t\t\tName: pulumi.String(\"examplevn\"),\n\t\t\tAddressSpaces: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.0.0/16\"),\n\t\t\t},\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSubnet, err := network.NewSubnet(ctx, \"example\", \u0026network.SubnetArgs{\n\t\t\tName:               pulumi.String(\"examplesubnet\"),\n\t\t\tResourceGroupName:  example.Name,\n\t\t\tVirtualNetworkName: exampleVirtualNetwork.Name,\n\t\t\tAddressPrefixes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.1.0/24\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = hpc.NewCache(ctx, \"example\", \u0026hpc.CacheArgs{\n\t\t\tName:              pulumi.String(\"examplehpccache\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tCacheSizeInGb:     pulumi.Int(3072),\n\t\t\tSubnetId:          exampleSubnet.ID(),\n\t\t\tSkuName:           pulumi.String(\"Standard_2G\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.VirtualNetwork;\nimport com.pulumi.azure.network.VirtualNetworkArgs;\nimport com.pulumi.azure.network.Subnet;\nimport com.pulumi.azure.network.SubnetArgs;\nimport com.pulumi.azure.hpc.Cache;\nimport com.pulumi.azure.hpc.CacheArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleVirtualNetwork = new VirtualNetwork(\"exampleVirtualNetwork\", VirtualNetworkArgs.builder()\n            .name(\"examplevn\")\n            .addressSpaces(\"10.0.0.0/16\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .build());\n\n        var exampleSubnet = new Subnet(\"exampleSubnet\", SubnetArgs.builder()\n            .name(\"examplesubnet\")\n            .resourceGroupName(example.name())\n            .virtualNetworkName(exampleVirtualNetwork.name())\n            .addressPrefixes(\"10.0.1.0/24\")\n            .build());\n\n        var exampleCache = new Cache(\"exampleCache\", CacheArgs.builder()\n            .name(\"examplehpccache\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .cacheSizeInGb(3072)\n            .subnetId(exampleSubnet.id())\n            .skuName(\"Standard_2G\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleVirtualNetwork:\n    type: azure:network:VirtualNetwork\n    name: example\n    properties:\n      name: examplevn\n      addressSpaces:\n        - 10.0.0.0/16\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n  exampleSubnet:\n    type: azure:network:Subnet\n    name: example\n    properties:\n      name: examplesubnet\n      resourceGroupName: ${example.name}\n      virtualNetworkName: ${exampleVirtualNetwork.name}\n      addressPrefixes:\n        - 10.0.1.0/24\n  exampleCache:\n    type: azure:hpc:Cache\n    name: example\n    properties:\n      name: examplehpccache\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      cacheSizeInGb: 3072\n      subnetId: ${exampleSubnet.id}\n      skuName: Standard_2G\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.StorageCache` - 2023-05-01\n\n## Import\n\nHPC Caches can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:hpc/cache:Cache example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resourceGroupName/providers/Microsoft.StorageCache/caches/cacheName\n```\n\n","properties":{"automaticallyRotateKeyToLatestEnabled":{"type":"boolean","description":"Specifies whether the HPC Cache automatically rotates Encryption Key to the latest version.\n"},"cacheSizeInGb":{"type":"integer","description":"The size of the HPC Cache, in GB. Possible values are \u003cspan pulumi-lang-nodejs=\"`3072`\" pulumi-lang-dotnet=\"`3072`\" pulumi-lang-go=\"`3072`\" pulumi-lang-python=\"`3072`\" pulumi-lang-yaml=\"`3072`\" pulumi-lang-java=\"`3072`\"\u003e`3072`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`6144`\" pulumi-lang-dotnet=\"`6144`\" pulumi-lang-go=\"`6144`\" pulumi-lang-python=\"`6144`\" pulumi-lang-yaml=\"`6144`\" pulumi-lang-java=\"`6144`\"\u003e`6144`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`12288`\" pulumi-lang-dotnet=\"`12288`\" pulumi-lang-go=\"`12288`\" pulumi-lang-python=\"`12288`\" pulumi-lang-yaml=\"`12288`\" pulumi-lang-java=\"`12288`\"\u003e`12288`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`21623`\" pulumi-lang-dotnet=\"`21623`\" pulumi-lang-go=\"`21623`\" pulumi-lang-python=\"`21623`\" pulumi-lang-yaml=\"`21623`\" pulumi-lang-java=\"`21623`\"\u003e`21623`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`24576`\" pulumi-lang-dotnet=\"`24576`\" pulumi-lang-go=\"`24576`\" pulumi-lang-python=\"`24576`\" pulumi-lang-yaml=\"`24576`\" pulumi-lang-java=\"`24576`\"\u003e`24576`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`43246`\" pulumi-lang-dotnet=\"`43246`\" pulumi-lang-go=\"`43246`\" pulumi-lang-python=\"`43246`\" pulumi-lang-yaml=\"`43246`\" pulumi-lang-java=\"`43246`\"\u003e`43246`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`49152`\" pulumi-lang-dotnet=\"`49152`\" pulumi-lang-go=\"`49152`\" pulumi-lang-python=\"`49152`\" pulumi-lang-yaml=\"`49152`\" pulumi-lang-java=\"`49152`\"\u003e`49152`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`86491`\" pulumi-lang-dotnet=\"`86491`\" pulumi-lang-go=\"`86491`\" pulumi-lang-python=\"`86491`\" pulumi-lang-yaml=\"`86491`\" pulumi-lang-java=\"`86491`\"\u003e`86491`\u003c/span\u003e. Changing this forces a new resource to be created.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`21623`\" pulumi-lang-dotnet=\"`21623`\" pulumi-lang-go=\"`21623`\" pulumi-lang-python=\"`21623`\" pulumi-lang-yaml=\"`21623`\" pulumi-lang-java=\"`21623`\"\u003e`21623`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`43246`\" pulumi-lang-dotnet=\"`43246`\" pulumi-lang-go=\"`43246`\" pulumi-lang-python=\"`43246`\" pulumi-lang-yaml=\"`43246`\" pulumi-lang-java=\"`43246`\"\u003e`43246`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`86491`\" pulumi-lang-dotnet=\"`86491`\" pulumi-lang-go=\"`86491`\" pulumi-lang-python=\"`86491`\" pulumi-lang-yaml=\"`86491`\" pulumi-lang-java=\"`86491`\"\u003e`86491`\u003c/span\u003e sizes are restricted to read only resources.\n"},"defaultAccessPolicy":{"$ref":"#/types/azure:hpc/CacheDefaultAccessPolicy:CacheDefaultAccessPolicy","description":"A \u003cspan pulumi-lang-nodejs=\"`defaultAccessPolicy`\" pulumi-lang-dotnet=\"`DefaultAccessPolicy`\" pulumi-lang-go=\"`defaultAccessPolicy`\" pulumi-lang-python=\"`default_access_policy`\" pulumi-lang-yaml=\"`defaultAccessPolicy`\" pulumi-lang-java=\"`defaultAccessPolicy`\"\u003e`default_access_policy`\u003c/span\u003e block as defined below.\n"},"directoryActiveDirectory":{"$ref":"#/types/azure:hpc/CacheDirectoryActiveDirectory:CacheDirectoryActiveDirectory","description":"A \u003cspan pulumi-lang-nodejs=\"`directoryActiveDirectory`\" pulumi-lang-dotnet=\"`DirectoryActiveDirectory`\" pulumi-lang-go=\"`directoryActiveDirectory`\" pulumi-lang-python=\"`directory_active_directory`\" pulumi-lang-yaml=\"`directoryActiveDirectory`\" pulumi-lang-java=\"`directoryActiveDirectory`\"\u003e`directory_active_directory`\u003c/span\u003e block as defined below.\n"},"directoryFlatFile":{"$ref":"#/types/azure:hpc/CacheDirectoryFlatFile:CacheDirectoryFlatFile","description":"A \u003cspan pulumi-lang-nodejs=\"`directoryFlatFile`\" pulumi-lang-dotnet=\"`DirectoryFlatFile`\" pulumi-lang-go=\"`directoryFlatFile`\" pulumi-lang-python=\"`directory_flat_file`\" pulumi-lang-yaml=\"`directoryFlatFile`\" pulumi-lang-java=\"`directoryFlatFile`\"\u003e`directory_flat_file`\u003c/span\u003e block as defined below.\n"},"directoryLdap":{"$ref":"#/types/azure:hpc/CacheDirectoryLdap:CacheDirectoryLdap","description":"A \u003cspan pulumi-lang-nodejs=\"`directoryLdap`\" pulumi-lang-dotnet=\"`DirectoryLdap`\" pulumi-lang-go=\"`directoryLdap`\" pulumi-lang-python=\"`directory_ldap`\" pulumi-lang-yaml=\"`directoryLdap`\" pulumi-lang-java=\"`directoryLdap`\"\u003e`directory_ldap`\u003c/span\u003e block as defined below.\n\n\u003e **Note:** Only one of \u003cspan pulumi-lang-nodejs=\"`directoryActiveDirectory`\" pulumi-lang-dotnet=\"`DirectoryActiveDirectory`\" pulumi-lang-go=\"`directoryActiveDirectory`\" pulumi-lang-python=\"`directory_active_directory`\" pulumi-lang-yaml=\"`directoryActiveDirectory`\" pulumi-lang-java=\"`directoryActiveDirectory`\"\u003e`directory_active_directory`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`directoryFlatFile`\" pulumi-lang-dotnet=\"`DirectoryFlatFile`\" pulumi-lang-go=\"`directoryFlatFile`\" pulumi-lang-python=\"`directory_flat_file`\" pulumi-lang-yaml=\"`directoryFlatFile`\" pulumi-lang-java=\"`directoryFlatFile`\"\u003e`directory_flat_file`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`directoryLdap`\" pulumi-lang-dotnet=\"`DirectoryLdap`\" pulumi-lang-go=\"`directoryLdap`\" pulumi-lang-python=\"`directory_ldap`\" pulumi-lang-yaml=\"`directoryLdap`\" pulumi-lang-java=\"`directoryLdap`\"\u003e`directory_ldap`\u003c/span\u003e can be set.\n"},"dns":{"$ref":"#/types/azure:hpc/CacheDns:CacheDns","description":"A \u003cspan pulumi-lang-nodejs=\"`dns`\" pulumi-lang-dotnet=\"`Dns`\" pulumi-lang-go=\"`dns`\" pulumi-lang-python=\"`dns`\" pulumi-lang-yaml=\"`dns`\" pulumi-lang-java=\"`dns`\"\u003e`dns`\u003c/span\u003e block as defined below.\n"},"identity":{"$ref":"#/types/azure:hpc/CacheIdentity:CacheIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n"},"keyVaultKeyId":{"type":"string","description":"The ID of the Key Vault Key which should be used to encrypt the data in this HPC Cache.\n"},"location":{"type":"string","description":"Specifies the supported Azure Region where the HPC Cache should be created. Changing this forces a new resource to be created.\n"},"mountAddresses":{"type":"array","items":{"type":"string"},"description":"A list of IP Addresses where the HPC Cache can be mounted.\n"},"mtu":{"type":"integer","description":"The IPv4 maximum transmission unit configured for the subnet of the HPC Cache. Possible values range from 576 - 1500. Defaults to \u003cspan pulumi-lang-nodejs=\"`1500`\" pulumi-lang-dotnet=\"`1500`\" pulumi-lang-go=\"`1500`\" pulumi-lang-python=\"`1500`\" pulumi-lang-yaml=\"`1500`\" pulumi-lang-java=\"`1500`\"\u003e`1500`\u003c/span\u003e.\n"},"name":{"type":"string","description":"The name of the HPC Cache. Changing this forces a new resource to be created.\n"},"ntpServer":{"type":"string","description":"The NTP server IP Address or FQDN for the HPC Cache. Defaults to `time.windows.com`.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group in which to create the HPC Cache. Changing this forces a new resource to be created.\n"},"skuName":{"type":"string","description":"The SKU of HPC Cache to use. Possible values are (ReadWrite) - `Standard_2G`, `Standard_4G` `Standard_8G` or (ReadOnly) - `Standard_L4_5G`, `Standard_L9G`, and `Standard_L16G`. Changing this forces a new resource to be created.\n\n\u003e **Note:** The read-only SKUs have restricted cache sizes. `Standard_L4_5G` must be set to \u003cspan pulumi-lang-nodejs=\"`21623`\" pulumi-lang-dotnet=\"`21623`\" pulumi-lang-go=\"`21623`\" pulumi-lang-python=\"`21623`\" pulumi-lang-yaml=\"`21623`\" pulumi-lang-java=\"`21623`\"\u003e`21623`\u003c/span\u003e. `Standard_L9G` to \u003cspan pulumi-lang-nodejs=\"`43246`\" pulumi-lang-dotnet=\"`43246`\" pulumi-lang-go=\"`43246`\" pulumi-lang-python=\"`43246`\" pulumi-lang-yaml=\"`43246`\" pulumi-lang-java=\"`43246`\"\u003e`43246`\u003c/span\u003e and `Standard_L16G` to \u003cspan pulumi-lang-nodejs=\"`86491`\" pulumi-lang-dotnet=\"`86491`\" pulumi-lang-go=\"`86491`\" pulumi-lang-python=\"`86491`\" pulumi-lang-yaml=\"`86491`\" pulumi-lang-java=\"`86491`\"\u003e`86491`\u003c/span\u003e.\n"},"subnetId":{"type":"string","description":"The ID of the Subnet for the HPC Cache. Changing this forces a new resource to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the HPC Cache.\n"}},"required":["cacheSizeInGb","defaultAccessPolicy","location","mountAddresses","name","resourceGroupName","skuName","subnetId"],"inputProperties":{"automaticallyRotateKeyToLatestEnabled":{"type":"boolean","description":"Specifies whether the HPC Cache automatically rotates Encryption Key to the latest version.\n"},"cacheSizeInGb":{"type":"integer","description":"The size of the HPC Cache, in GB. Possible values are \u003cspan pulumi-lang-nodejs=\"`3072`\" pulumi-lang-dotnet=\"`3072`\" pulumi-lang-go=\"`3072`\" pulumi-lang-python=\"`3072`\" pulumi-lang-yaml=\"`3072`\" pulumi-lang-java=\"`3072`\"\u003e`3072`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`6144`\" pulumi-lang-dotnet=\"`6144`\" pulumi-lang-go=\"`6144`\" pulumi-lang-python=\"`6144`\" pulumi-lang-yaml=\"`6144`\" pulumi-lang-java=\"`6144`\"\u003e`6144`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`12288`\" pulumi-lang-dotnet=\"`12288`\" pulumi-lang-go=\"`12288`\" pulumi-lang-python=\"`12288`\" pulumi-lang-yaml=\"`12288`\" pulumi-lang-java=\"`12288`\"\u003e`12288`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`21623`\" pulumi-lang-dotnet=\"`21623`\" pulumi-lang-go=\"`21623`\" pulumi-lang-python=\"`21623`\" pulumi-lang-yaml=\"`21623`\" pulumi-lang-java=\"`21623`\"\u003e`21623`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`24576`\" pulumi-lang-dotnet=\"`24576`\" pulumi-lang-go=\"`24576`\" pulumi-lang-python=\"`24576`\" pulumi-lang-yaml=\"`24576`\" pulumi-lang-java=\"`24576`\"\u003e`24576`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`43246`\" pulumi-lang-dotnet=\"`43246`\" pulumi-lang-go=\"`43246`\" pulumi-lang-python=\"`43246`\" pulumi-lang-yaml=\"`43246`\" pulumi-lang-java=\"`43246`\"\u003e`43246`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`49152`\" pulumi-lang-dotnet=\"`49152`\" pulumi-lang-go=\"`49152`\" pulumi-lang-python=\"`49152`\" pulumi-lang-yaml=\"`49152`\" pulumi-lang-java=\"`49152`\"\u003e`49152`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`86491`\" pulumi-lang-dotnet=\"`86491`\" pulumi-lang-go=\"`86491`\" pulumi-lang-python=\"`86491`\" pulumi-lang-yaml=\"`86491`\" pulumi-lang-java=\"`86491`\"\u003e`86491`\u003c/span\u003e. Changing this forces a new resource to be created.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`21623`\" pulumi-lang-dotnet=\"`21623`\" pulumi-lang-go=\"`21623`\" pulumi-lang-python=\"`21623`\" pulumi-lang-yaml=\"`21623`\" pulumi-lang-java=\"`21623`\"\u003e`21623`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`43246`\" pulumi-lang-dotnet=\"`43246`\" pulumi-lang-go=\"`43246`\" pulumi-lang-python=\"`43246`\" pulumi-lang-yaml=\"`43246`\" pulumi-lang-java=\"`43246`\"\u003e`43246`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`86491`\" pulumi-lang-dotnet=\"`86491`\" pulumi-lang-go=\"`86491`\" pulumi-lang-python=\"`86491`\" pulumi-lang-yaml=\"`86491`\" pulumi-lang-java=\"`86491`\"\u003e`86491`\u003c/span\u003e sizes are restricted to read only resources.\n","willReplaceOnChanges":true},"defaultAccessPolicy":{"$ref":"#/types/azure:hpc/CacheDefaultAccessPolicy:CacheDefaultAccessPolicy","description":"A \u003cspan pulumi-lang-nodejs=\"`defaultAccessPolicy`\" pulumi-lang-dotnet=\"`DefaultAccessPolicy`\" pulumi-lang-go=\"`defaultAccessPolicy`\" pulumi-lang-python=\"`default_access_policy`\" pulumi-lang-yaml=\"`defaultAccessPolicy`\" pulumi-lang-java=\"`defaultAccessPolicy`\"\u003e`default_access_policy`\u003c/span\u003e block as defined below.\n"},"directoryActiveDirectory":{"$ref":"#/types/azure:hpc/CacheDirectoryActiveDirectory:CacheDirectoryActiveDirectory","description":"A \u003cspan pulumi-lang-nodejs=\"`directoryActiveDirectory`\" pulumi-lang-dotnet=\"`DirectoryActiveDirectory`\" pulumi-lang-go=\"`directoryActiveDirectory`\" pulumi-lang-python=\"`directory_active_directory`\" pulumi-lang-yaml=\"`directoryActiveDirectory`\" pulumi-lang-java=\"`directoryActiveDirectory`\"\u003e`directory_active_directory`\u003c/span\u003e block as defined below.\n"},"directoryFlatFile":{"$ref":"#/types/azure:hpc/CacheDirectoryFlatFile:CacheDirectoryFlatFile","description":"A \u003cspan pulumi-lang-nodejs=\"`directoryFlatFile`\" pulumi-lang-dotnet=\"`DirectoryFlatFile`\" pulumi-lang-go=\"`directoryFlatFile`\" pulumi-lang-python=\"`directory_flat_file`\" pulumi-lang-yaml=\"`directoryFlatFile`\" pulumi-lang-java=\"`directoryFlatFile`\"\u003e`directory_flat_file`\u003c/span\u003e block as defined below.\n"},"directoryLdap":{"$ref":"#/types/azure:hpc/CacheDirectoryLdap:CacheDirectoryLdap","description":"A \u003cspan pulumi-lang-nodejs=\"`directoryLdap`\" pulumi-lang-dotnet=\"`DirectoryLdap`\" pulumi-lang-go=\"`directoryLdap`\" pulumi-lang-python=\"`directory_ldap`\" pulumi-lang-yaml=\"`directoryLdap`\" pulumi-lang-java=\"`directoryLdap`\"\u003e`directory_ldap`\u003c/span\u003e block as defined below.\n\n\u003e **Note:** Only one of \u003cspan pulumi-lang-nodejs=\"`directoryActiveDirectory`\" pulumi-lang-dotnet=\"`DirectoryActiveDirectory`\" pulumi-lang-go=\"`directoryActiveDirectory`\" pulumi-lang-python=\"`directory_active_directory`\" pulumi-lang-yaml=\"`directoryActiveDirectory`\" pulumi-lang-java=\"`directoryActiveDirectory`\"\u003e`directory_active_directory`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`directoryFlatFile`\" pulumi-lang-dotnet=\"`DirectoryFlatFile`\" pulumi-lang-go=\"`directoryFlatFile`\" pulumi-lang-python=\"`directory_flat_file`\" pulumi-lang-yaml=\"`directoryFlatFile`\" pulumi-lang-java=\"`directoryFlatFile`\"\u003e`directory_flat_file`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`directoryLdap`\" pulumi-lang-dotnet=\"`DirectoryLdap`\" pulumi-lang-go=\"`directoryLdap`\" pulumi-lang-python=\"`directory_ldap`\" pulumi-lang-yaml=\"`directoryLdap`\" pulumi-lang-java=\"`directoryLdap`\"\u003e`directory_ldap`\u003c/span\u003e can be set.\n"},"dns":{"$ref":"#/types/azure:hpc/CacheDns:CacheDns","description":"A \u003cspan pulumi-lang-nodejs=\"`dns`\" pulumi-lang-dotnet=\"`Dns`\" pulumi-lang-go=\"`dns`\" pulumi-lang-python=\"`dns`\" pulumi-lang-yaml=\"`dns`\" pulumi-lang-java=\"`dns`\"\u003e`dns`\u003c/span\u003e block as defined below.\n"},"identity":{"$ref":"#/types/azure:hpc/CacheIdentity:CacheIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"keyVaultKeyId":{"type":"string","description":"The ID of the Key Vault Key which should be used to encrypt the data in this HPC Cache.\n"},"location":{"type":"string","description":"Specifies the supported Azure Region where the HPC Cache should be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"mtu":{"type":"integer","description":"The IPv4 maximum transmission unit configured for the subnet of the HPC Cache. Possible values range from 576 - 1500. Defaults to \u003cspan pulumi-lang-nodejs=\"`1500`\" pulumi-lang-dotnet=\"`1500`\" pulumi-lang-go=\"`1500`\" pulumi-lang-python=\"`1500`\" pulumi-lang-yaml=\"`1500`\" pulumi-lang-java=\"`1500`\"\u003e`1500`\u003c/span\u003e.\n"},"name":{"type":"string","description":"The name of the HPC Cache. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"ntpServer":{"type":"string","description":"The NTP server IP Address or FQDN for the HPC Cache. Defaults to `time.windows.com`.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group in which to create the HPC Cache. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"skuName":{"type":"string","description":"The SKU of HPC Cache to use. Possible values are (ReadWrite) - `Standard_2G`, `Standard_4G` `Standard_8G` or (ReadOnly) - `Standard_L4_5G`, `Standard_L9G`, and `Standard_L16G`. Changing this forces a new resource to be created.\n\n\u003e **Note:** The read-only SKUs have restricted cache sizes. `Standard_L4_5G` must be set to \u003cspan pulumi-lang-nodejs=\"`21623`\" pulumi-lang-dotnet=\"`21623`\" pulumi-lang-go=\"`21623`\" pulumi-lang-python=\"`21623`\" pulumi-lang-yaml=\"`21623`\" pulumi-lang-java=\"`21623`\"\u003e`21623`\u003c/span\u003e. `Standard_L9G` to \u003cspan pulumi-lang-nodejs=\"`43246`\" pulumi-lang-dotnet=\"`43246`\" pulumi-lang-go=\"`43246`\" pulumi-lang-python=\"`43246`\" pulumi-lang-yaml=\"`43246`\" pulumi-lang-java=\"`43246`\"\u003e`43246`\u003c/span\u003e and `Standard_L16G` to \u003cspan pulumi-lang-nodejs=\"`86491`\" pulumi-lang-dotnet=\"`86491`\" pulumi-lang-go=\"`86491`\" pulumi-lang-python=\"`86491`\" pulumi-lang-yaml=\"`86491`\" pulumi-lang-java=\"`86491`\"\u003e`86491`\u003c/span\u003e.\n","willReplaceOnChanges":true},"subnetId":{"type":"string","description":"The ID of the Subnet for the HPC Cache. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the HPC Cache.\n"}},"requiredInputs":["cacheSizeInGb","resourceGroupName","skuName","subnetId"],"stateInputs":{"description":"Input properties used for looking up and filtering Cache resources.\n","properties":{"automaticallyRotateKeyToLatestEnabled":{"type":"boolean","description":"Specifies whether the HPC Cache automatically rotates Encryption Key to the latest version.\n"},"cacheSizeInGb":{"type":"integer","description":"The size of the HPC Cache, in GB. Possible values are \u003cspan pulumi-lang-nodejs=\"`3072`\" pulumi-lang-dotnet=\"`3072`\" pulumi-lang-go=\"`3072`\" pulumi-lang-python=\"`3072`\" pulumi-lang-yaml=\"`3072`\" pulumi-lang-java=\"`3072`\"\u003e`3072`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`6144`\" pulumi-lang-dotnet=\"`6144`\" pulumi-lang-go=\"`6144`\" pulumi-lang-python=\"`6144`\" pulumi-lang-yaml=\"`6144`\" pulumi-lang-java=\"`6144`\"\u003e`6144`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`12288`\" pulumi-lang-dotnet=\"`12288`\" pulumi-lang-go=\"`12288`\" pulumi-lang-python=\"`12288`\" pulumi-lang-yaml=\"`12288`\" pulumi-lang-java=\"`12288`\"\u003e`12288`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`21623`\" pulumi-lang-dotnet=\"`21623`\" pulumi-lang-go=\"`21623`\" pulumi-lang-python=\"`21623`\" pulumi-lang-yaml=\"`21623`\" pulumi-lang-java=\"`21623`\"\u003e`21623`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`24576`\" pulumi-lang-dotnet=\"`24576`\" pulumi-lang-go=\"`24576`\" pulumi-lang-python=\"`24576`\" pulumi-lang-yaml=\"`24576`\" pulumi-lang-java=\"`24576`\"\u003e`24576`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`43246`\" pulumi-lang-dotnet=\"`43246`\" pulumi-lang-go=\"`43246`\" pulumi-lang-python=\"`43246`\" pulumi-lang-yaml=\"`43246`\" pulumi-lang-java=\"`43246`\"\u003e`43246`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`49152`\" pulumi-lang-dotnet=\"`49152`\" pulumi-lang-go=\"`49152`\" pulumi-lang-python=\"`49152`\" pulumi-lang-yaml=\"`49152`\" pulumi-lang-java=\"`49152`\"\u003e`49152`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`86491`\" pulumi-lang-dotnet=\"`86491`\" pulumi-lang-go=\"`86491`\" pulumi-lang-python=\"`86491`\" pulumi-lang-yaml=\"`86491`\" pulumi-lang-java=\"`86491`\"\u003e`86491`\u003c/span\u003e. Changing this forces a new resource to be created.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`21623`\" pulumi-lang-dotnet=\"`21623`\" pulumi-lang-go=\"`21623`\" pulumi-lang-python=\"`21623`\" pulumi-lang-yaml=\"`21623`\" pulumi-lang-java=\"`21623`\"\u003e`21623`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`43246`\" pulumi-lang-dotnet=\"`43246`\" pulumi-lang-go=\"`43246`\" pulumi-lang-python=\"`43246`\" pulumi-lang-yaml=\"`43246`\" pulumi-lang-java=\"`43246`\"\u003e`43246`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`86491`\" pulumi-lang-dotnet=\"`86491`\" pulumi-lang-go=\"`86491`\" pulumi-lang-python=\"`86491`\" pulumi-lang-yaml=\"`86491`\" pulumi-lang-java=\"`86491`\"\u003e`86491`\u003c/span\u003e sizes are restricted to read only resources.\n","willReplaceOnChanges":true},"defaultAccessPolicy":{"$ref":"#/types/azure:hpc/CacheDefaultAccessPolicy:CacheDefaultAccessPolicy","description":"A \u003cspan pulumi-lang-nodejs=\"`defaultAccessPolicy`\" pulumi-lang-dotnet=\"`DefaultAccessPolicy`\" pulumi-lang-go=\"`defaultAccessPolicy`\" pulumi-lang-python=\"`default_access_policy`\" pulumi-lang-yaml=\"`defaultAccessPolicy`\" pulumi-lang-java=\"`defaultAccessPolicy`\"\u003e`default_access_policy`\u003c/span\u003e block as defined below.\n"},"directoryActiveDirectory":{"$ref":"#/types/azure:hpc/CacheDirectoryActiveDirectory:CacheDirectoryActiveDirectory","description":"A \u003cspan pulumi-lang-nodejs=\"`directoryActiveDirectory`\" pulumi-lang-dotnet=\"`DirectoryActiveDirectory`\" pulumi-lang-go=\"`directoryActiveDirectory`\" pulumi-lang-python=\"`directory_active_directory`\" pulumi-lang-yaml=\"`directoryActiveDirectory`\" pulumi-lang-java=\"`directoryActiveDirectory`\"\u003e`directory_active_directory`\u003c/span\u003e block as defined below.\n"},"directoryFlatFile":{"$ref":"#/types/azure:hpc/CacheDirectoryFlatFile:CacheDirectoryFlatFile","description":"A \u003cspan pulumi-lang-nodejs=\"`directoryFlatFile`\" pulumi-lang-dotnet=\"`DirectoryFlatFile`\" pulumi-lang-go=\"`directoryFlatFile`\" pulumi-lang-python=\"`directory_flat_file`\" pulumi-lang-yaml=\"`directoryFlatFile`\" pulumi-lang-java=\"`directoryFlatFile`\"\u003e`directory_flat_file`\u003c/span\u003e block as defined below.\n"},"directoryLdap":{"$ref":"#/types/azure:hpc/CacheDirectoryLdap:CacheDirectoryLdap","description":"A \u003cspan pulumi-lang-nodejs=\"`directoryLdap`\" pulumi-lang-dotnet=\"`DirectoryLdap`\" pulumi-lang-go=\"`directoryLdap`\" pulumi-lang-python=\"`directory_ldap`\" pulumi-lang-yaml=\"`directoryLdap`\" pulumi-lang-java=\"`directoryLdap`\"\u003e`directory_ldap`\u003c/span\u003e block as defined below.\n\n\u003e **Note:** Only one of \u003cspan pulumi-lang-nodejs=\"`directoryActiveDirectory`\" pulumi-lang-dotnet=\"`DirectoryActiveDirectory`\" pulumi-lang-go=\"`directoryActiveDirectory`\" pulumi-lang-python=\"`directory_active_directory`\" pulumi-lang-yaml=\"`directoryActiveDirectory`\" pulumi-lang-java=\"`directoryActiveDirectory`\"\u003e`directory_active_directory`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`directoryFlatFile`\" pulumi-lang-dotnet=\"`DirectoryFlatFile`\" pulumi-lang-go=\"`directoryFlatFile`\" pulumi-lang-python=\"`directory_flat_file`\" pulumi-lang-yaml=\"`directoryFlatFile`\" pulumi-lang-java=\"`directoryFlatFile`\"\u003e`directory_flat_file`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`directoryLdap`\" pulumi-lang-dotnet=\"`DirectoryLdap`\" pulumi-lang-go=\"`directoryLdap`\" pulumi-lang-python=\"`directory_ldap`\" pulumi-lang-yaml=\"`directoryLdap`\" pulumi-lang-java=\"`directoryLdap`\"\u003e`directory_ldap`\u003c/span\u003e can be set.\n"},"dns":{"$ref":"#/types/azure:hpc/CacheDns:CacheDns","description":"A \u003cspan pulumi-lang-nodejs=\"`dns`\" pulumi-lang-dotnet=\"`Dns`\" pulumi-lang-go=\"`dns`\" pulumi-lang-python=\"`dns`\" pulumi-lang-yaml=\"`dns`\" pulumi-lang-java=\"`dns`\"\u003e`dns`\u003c/span\u003e block as defined below.\n"},"identity":{"$ref":"#/types/azure:hpc/CacheIdentity:CacheIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"keyVaultKeyId":{"type":"string","description":"The ID of the Key Vault Key which should be used to encrypt the data in this HPC Cache.\n"},"location":{"type":"string","description":"Specifies the supported Azure Region where the HPC Cache should be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"mountAddresses":{"type":"array","items":{"type":"string"},"description":"A list of IP Addresses where the HPC Cache can be mounted.\n"},"mtu":{"type":"integer","description":"The IPv4 maximum transmission unit configured for the subnet of the HPC Cache. Possible values range from 576 - 1500. Defaults to \u003cspan pulumi-lang-nodejs=\"`1500`\" pulumi-lang-dotnet=\"`1500`\" pulumi-lang-go=\"`1500`\" pulumi-lang-python=\"`1500`\" pulumi-lang-yaml=\"`1500`\" pulumi-lang-java=\"`1500`\"\u003e`1500`\u003c/span\u003e.\n"},"name":{"type":"string","description":"The name of the HPC Cache. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"ntpServer":{"type":"string","description":"The NTP server IP Address or FQDN for the HPC Cache. Defaults to `time.windows.com`.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group in which to create the HPC Cache. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"skuName":{"type":"string","description":"The SKU of HPC Cache to use. Possible values are (ReadWrite) - `Standard_2G`, `Standard_4G` `Standard_8G` or (ReadOnly) - `Standard_L4_5G`, `Standard_L9G`, and `Standard_L16G`. Changing this forces a new resource to be created.\n\n\u003e **Note:** The read-only SKUs have restricted cache sizes. `Standard_L4_5G` must be set to \u003cspan pulumi-lang-nodejs=\"`21623`\" pulumi-lang-dotnet=\"`21623`\" pulumi-lang-go=\"`21623`\" pulumi-lang-python=\"`21623`\" pulumi-lang-yaml=\"`21623`\" pulumi-lang-java=\"`21623`\"\u003e`21623`\u003c/span\u003e. `Standard_L9G` to \u003cspan pulumi-lang-nodejs=\"`43246`\" pulumi-lang-dotnet=\"`43246`\" pulumi-lang-go=\"`43246`\" pulumi-lang-python=\"`43246`\" pulumi-lang-yaml=\"`43246`\" pulumi-lang-java=\"`43246`\"\u003e`43246`\u003c/span\u003e and `Standard_L16G` to \u003cspan pulumi-lang-nodejs=\"`86491`\" pulumi-lang-dotnet=\"`86491`\" pulumi-lang-go=\"`86491`\" pulumi-lang-python=\"`86491`\" pulumi-lang-yaml=\"`86491`\" pulumi-lang-java=\"`86491`\"\u003e`86491`\u003c/span\u003e.\n","willReplaceOnChanges":true},"subnetId":{"type":"string","description":"The ID of the Subnet for the HPC Cache. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the HPC Cache.\n"}},"type":"object"}},"azure:hpc/cacheAccessPolicy:CacheAccessPolicy":{"description":"Manages a HPC Cache Access Policy.\n\n!\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`azure.hpc.CacheAccessPolicy`\" pulumi-lang-dotnet=\"`azure.hpc.CacheAccessPolicy`\" pulumi-lang-go=\"`hpc.CacheAccessPolicy`\" pulumi-lang-python=\"`hpc.CacheAccessPolicy`\" pulumi-lang-yaml=\"`azure.hpc.CacheAccessPolicy`\" pulumi-lang-java=\"`azure.hpc.CacheAccessPolicy`\"\u003e`azure.hpc.CacheAccessPolicy`\u003c/span\u003e resource has been deprecated because the service is retiring on 2025-09-30. This resource will be removed in v5.0 of the AzureRM Provider. See https://aka.ms/hpccacheretirement for more information.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"example\", {\n    name: \"examplevn\",\n    addressSpaces: [\"10.0.0.0/16\"],\n    location: example.location,\n    resourceGroupName: example.name,\n});\nconst exampleSubnet = new azure.network.Subnet(\"example\", {\n    name: \"examplesubnet\",\n    resourceGroupName: example.name,\n    virtualNetworkName: exampleVirtualNetwork.name,\n    addressPrefixes: [\"10.0.1.0/24\"],\n});\nconst exampleCache = new azure.hpc.Cache(\"example\", {\n    name: \"examplehpccache\",\n    resourceGroupName: example.name,\n    location: example.location,\n    cacheSizeInGb: 3072,\n    subnetId: exampleSubnet.id,\n    skuName: \"Standard_2G\",\n});\nconst exampleCacheAccessPolicy = new azure.hpc.CacheAccessPolicy(\"example\", {\n    name: \"example\",\n    hpcCacheId: exampleCache.id,\n    accessRules: [{\n        scope: \"default\",\n        access: \"rw\",\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_virtual_network = azure.network.VirtualNetwork(\"example\",\n    name=\"examplevn\",\n    address_spaces=[\"10.0.0.0/16\"],\n    location=example.location,\n    resource_group_name=example.name)\nexample_subnet = azure.network.Subnet(\"example\",\n    name=\"examplesubnet\",\n    resource_group_name=example.name,\n    virtual_network_name=example_virtual_network.name,\n    address_prefixes=[\"10.0.1.0/24\"])\nexample_cache = azure.hpc.Cache(\"example\",\n    name=\"examplehpccache\",\n    resource_group_name=example.name,\n    location=example.location,\n    cache_size_in_gb=3072,\n    subnet_id=example_subnet.id,\n    sku_name=\"Standard_2G\")\nexample_cache_access_policy = azure.hpc.CacheAccessPolicy(\"example\",\n    name=\"example\",\n    hpc_cache_id=example_cache.id,\n    access_rules=[{\n        \"scope\": \"default\",\n        \"access\": \"rw\",\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleVirtualNetwork = new Azure.Network.VirtualNetwork(\"example\", new()\n    {\n        Name = \"examplevn\",\n        AddressSpaces = new[]\n        {\n            \"10.0.0.0/16\",\n        },\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n    });\n\n    var exampleSubnet = new Azure.Network.Subnet(\"example\", new()\n    {\n        Name = \"examplesubnet\",\n        ResourceGroupName = example.Name,\n        VirtualNetworkName = exampleVirtualNetwork.Name,\n        AddressPrefixes = new[]\n        {\n            \"10.0.1.0/24\",\n        },\n    });\n\n    var exampleCache = new Azure.Hpc.Cache(\"example\", new()\n    {\n        Name = \"examplehpccache\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        CacheSizeInGb = 3072,\n        SubnetId = exampleSubnet.Id,\n        SkuName = \"Standard_2G\",\n    });\n\n    var exampleCacheAccessPolicy = new Azure.Hpc.CacheAccessPolicy(\"example\", new()\n    {\n        Name = \"example\",\n        HpcCacheId = exampleCache.Id,\n        AccessRules = new[]\n        {\n            new Azure.Hpc.Inputs.CacheAccessPolicyAccessRuleArgs\n            {\n                Scope = \"default\",\n                Access = \"rw\",\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/hpc\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, \"example\", \u0026network.VirtualNetworkArgs{\n\t\t\tName: pulumi.String(\"examplevn\"),\n\t\t\tAddressSpaces: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.0.0/16\"),\n\t\t\t},\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSubnet, err := network.NewSubnet(ctx, \"example\", \u0026network.SubnetArgs{\n\t\t\tName:               pulumi.String(\"examplesubnet\"),\n\t\t\tResourceGroupName:  example.Name,\n\t\t\tVirtualNetworkName: exampleVirtualNetwork.Name,\n\t\t\tAddressPrefixes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.1.0/24\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleCache, err := hpc.NewCache(ctx, \"example\", \u0026hpc.CacheArgs{\n\t\t\tName:              pulumi.String(\"examplehpccache\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tCacheSizeInGb:     pulumi.Int(3072),\n\t\t\tSubnetId:          exampleSubnet.ID(),\n\t\t\tSkuName:           pulumi.String(\"Standard_2G\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = hpc.NewCacheAccessPolicy(ctx, \"example\", \u0026hpc.CacheAccessPolicyArgs{\n\t\t\tName:       pulumi.String(\"example\"),\n\t\t\tHpcCacheId: exampleCache.ID(),\n\t\t\tAccessRules: hpc.CacheAccessPolicyAccessRuleArray{\n\t\t\t\t\u0026hpc.CacheAccessPolicyAccessRuleArgs{\n\t\t\t\t\tScope:  pulumi.String(\"default\"),\n\t\t\t\t\tAccess: pulumi.String(\"rw\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.VirtualNetwork;\nimport com.pulumi.azure.network.VirtualNetworkArgs;\nimport com.pulumi.azure.network.Subnet;\nimport com.pulumi.azure.network.SubnetArgs;\nimport com.pulumi.azure.hpc.Cache;\nimport com.pulumi.azure.hpc.CacheArgs;\nimport com.pulumi.azure.hpc.CacheAccessPolicy;\nimport com.pulumi.azure.hpc.CacheAccessPolicyArgs;\nimport com.pulumi.azure.hpc.inputs.CacheAccessPolicyAccessRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleVirtualNetwork = new VirtualNetwork(\"exampleVirtualNetwork\", VirtualNetworkArgs.builder()\n            .name(\"examplevn\")\n            .addressSpaces(\"10.0.0.0/16\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .build());\n\n        var exampleSubnet = new Subnet(\"exampleSubnet\", SubnetArgs.builder()\n            .name(\"examplesubnet\")\n            .resourceGroupName(example.name())\n            .virtualNetworkName(exampleVirtualNetwork.name())\n            .addressPrefixes(\"10.0.1.0/24\")\n            .build());\n\n        var exampleCache = new Cache(\"exampleCache\", CacheArgs.builder()\n            .name(\"examplehpccache\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .cacheSizeInGb(3072)\n            .subnetId(exampleSubnet.id())\n            .skuName(\"Standard_2G\")\n            .build());\n\n        var exampleCacheAccessPolicy = new CacheAccessPolicy(\"exampleCacheAccessPolicy\", CacheAccessPolicyArgs.builder()\n            .name(\"example\")\n            .hpcCacheId(exampleCache.id())\n            .accessRules(CacheAccessPolicyAccessRuleArgs.builder()\n                .scope(\"default\")\n                .access(\"rw\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleVirtualNetwork:\n    type: azure:network:VirtualNetwork\n    name: example\n    properties:\n      name: examplevn\n      addressSpaces:\n        - 10.0.0.0/16\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n  exampleSubnet:\n    type: azure:network:Subnet\n    name: example\n    properties:\n      name: examplesubnet\n      resourceGroupName: ${example.name}\n      virtualNetworkName: ${exampleVirtualNetwork.name}\n      addressPrefixes:\n        - 10.0.1.0/24\n  exampleCache:\n    type: azure:hpc:Cache\n    name: example\n    properties:\n      name: examplehpccache\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      cacheSizeInGb: 3072\n      subnetId: ${exampleSubnet.id}\n      skuName: Standard_2G\n  exampleCacheAccessPolicy:\n    type: azure:hpc:CacheAccessPolicy\n    name: example\n    properties:\n      name: example\n      hpcCacheId: ${exampleCache.id}\n      accessRules:\n        - scope: default\n          access: rw\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.StorageCache` - 2023-05-01\n\n## Import\n\nHPC Cache Access Policies can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:hpc/cacheAccessPolicy:CacheAccessPolicy example /subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/group1/providers/Microsoft.StorageCache/caches/cache1/cacheAccessPolicies/policy1\n```\n\n","properties":{"accessRules":{"type":"array","items":{"$ref":"#/types/azure:hpc/CacheAccessPolicyAccessRule:CacheAccessPolicyAccessRule"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`accessRule`\" pulumi-lang-dotnet=\"`AccessRule`\" pulumi-lang-go=\"`accessRule`\" pulumi-lang-python=\"`access_rule`\" pulumi-lang-yaml=\"`accessRule`\" pulumi-lang-java=\"`accessRule`\"\u003e`access_rule`\u003c/span\u003e blocks (up to three) as defined below.\n"},"hpcCacheId":{"type":"string","description":"The ID of the HPC Cache that this HPC Cache Access Policy resides in. Changing this forces a new HPC Cache Access Policy to be created.\n"},"name":{"type":"string","description":"The name which should be used for this HPC Cache Access Policy. Changing this forces a new HPC Cache Access Policy to be created.\n"}},"required":["accessRules","hpcCacheId","name"],"inputProperties":{"accessRules":{"type":"array","items":{"$ref":"#/types/azure:hpc/CacheAccessPolicyAccessRule:CacheAccessPolicyAccessRule"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`accessRule`\" pulumi-lang-dotnet=\"`AccessRule`\" pulumi-lang-go=\"`accessRule`\" pulumi-lang-python=\"`access_rule`\" pulumi-lang-yaml=\"`accessRule`\" pulumi-lang-java=\"`accessRule`\"\u003e`access_rule`\u003c/span\u003e blocks (up to three) as defined below.\n"},"hpcCacheId":{"type":"string","description":"The ID of the HPC Cache that this HPC Cache Access Policy resides in. Changing this forces a new HPC Cache Access Policy to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this HPC Cache Access Policy. Changing this forces a new HPC Cache Access Policy to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["accessRules","hpcCacheId"],"stateInputs":{"description":"Input properties used for looking up and filtering CacheAccessPolicy resources.\n","properties":{"accessRules":{"type":"array","items":{"$ref":"#/types/azure:hpc/CacheAccessPolicyAccessRule:CacheAccessPolicyAccessRule"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`accessRule`\" pulumi-lang-dotnet=\"`AccessRule`\" pulumi-lang-go=\"`accessRule`\" pulumi-lang-python=\"`access_rule`\" pulumi-lang-yaml=\"`accessRule`\" pulumi-lang-java=\"`accessRule`\"\u003e`access_rule`\u003c/span\u003e blocks (up to three) as defined below.\n"},"hpcCacheId":{"type":"string","description":"The ID of the HPC Cache that this HPC Cache Access Policy resides in. Changing this forces a new HPC Cache Access Policy to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this HPC Cache Access Policy. Changing this forces a new HPC Cache Access Policy to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:hpc/cacheBlobNfsTarget:CacheBlobNfsTarget":{"description":"Manages a Blob NFSv3 Target within a HPC Cache.\n\n!\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`azure.hpc.CacheBlobNfsTarget`\" pulumi-lang-dotnet=\"`azure.hpc.CacheBlobNfsTarget`\" pulumi-lang-go=\"`hpc.CacheBlobNfsTarget`\" pulumi-lang-python=\"`hpc.CacheBlobNfsTarget`\" pulumi-lang-yaml=\"`azure.hpc.CacheBlobNfsTarget`\" pulumi-lang-java=\"`azure.hpc.CacheBlobNfsTarget`\"\u003e`azure.hpc.CacheBlobNfsTarget`\u003c/span\u003e resource has been deprecated because the service is retiring on 2025-09-30. This resource will be removed in v5.0 of the AzureRM Provider. See https://aka.ms/hpccacheretirement for more information.\n\n\u003e **Note:** By request of the service team the provider no longer automatically registers the `Microsoft.StorageCache` Resource Provider for this resource. To register it you can run `az provider register --namespace 'Microsoft.StorageCache'`.\n\n\u003e **Note:** This resource depends on the NFSv3 enabled Storage Account, which has some prerequisites need to meet. Please checkout: \u003chttps://docs.microsoft.com/azure/storage/blobs/network-file-system-protocol-support-how-to?tabs=azure-powershell\u003e.\n\n## Import\n\nHPC Cache Blob NFS Targets can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:hpc/cacheBlobNfsTarget:CacheBlobNfsTarget example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.StorageCache/caches/cache1/storageTargets/target1\n```\n\n","properties":{"accessPolicyName":{"type":"string","description":"The name of the access policy applied to this target. Defaults to \u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\"\u003e`default`\u003c/span\u003e.\n"},"cacheName":{"type":"string","description":"The name of the HPC Cache, which the HPC Cache Blob NFS Target will be added to. Changing this forces a new HPC Cache Blob NFS Target to be created.\n"},"name":{"type":"string","description":"The name which should be used for this HPC Cache Blob NFS Target. Changing this forces a new HPC Cache Blob NFS Target to be created.\n"},"namespacePath":{"type":"string","description":"The client-facing file path of the HPC Cache Blob NFS Target.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the HPC Cache Blob NFS Target should exist. Changing this forces a new HPC Cache Blob NFS Target to be created.\n"},"storageContainerId":{"type":"string","description":"The Resource Manager ID of the Storage Container used as the HPC Cache Blob NFS Target. Changing this forces a new resource to be created.\n\n\u003e **Note:** This is the Resource Manager ID of the Storage Container, rather than the regular ID - and can be accessed on the \u003cspan pulumi-lang-nodejs=\"`azure.storage.Container`\" pulumi-lang-dotnet=\"`azure.storage.Container`\" pulumi-lang-go=\"`storage.Container`\" pulumi-lang-python=\"`storage.Container`\" pulumi-lang-yaml=\"`azure.storage.Container`\" pulumi-lang-java=\"`azure.storage.Container`\"\u003e`azure.storage.Container`\u003c/span\u003e Data Source/Resource as \u003cspan pulumi-lang-nodejs=\"`resourceManagerId`\" pulumi-lang-dotnet=\"`ResourceManagerId`\" pulumi-lang-go=\"`resourceManagerId`\" pulumi-lang-python=\"`resource_manager_id`\" pulumi-lang-yaml=\"`resourceManagerId`\" pulumi-lang-java=\"`resourceManagerId`\"\u003e`resource_manager_id`\u003c/span\u003e.\n"},"usageModel":{"type":"string","description":"The type of usage of the HPC Cache Blob NFS Target. Possible values are: `READ_HEAVY_INFREQ`, `READ_HEAVY_CHECK_180`, `READ_ONLY`, `READ_WRITE`, `WRITE_WORKLOAD_15`, `WRITE_AROUND`, `WRITE_WORKLOAD_CHECK_30`, `WRITE_WORKLOAD_CHECK_60` and `WRITE_WORKLOAD_CLOUDWS`.\n"},"verificationTimerInSeconds":{"type":"integer","description":"The amount of time the cache waits before it checks the back-end storage for file updates. Possible values are between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`31536000`\" pulumi-lang-dotnet=\"`31536000`\" pulumi-lang-go=\"`31536000`\" pulumi-lang-python=\"`31536000`\" pulumi-lang-yaml=\"`31536000`\" pulumi-lang-java=\"`31536000`\"\u003e`31536000`\u003c/span\u003e.\n"},"writeBackTimerInSeconds":{"type":"integer","description":"The amount of time the cache waits after the last file change before it copies the changed file to back-end storage. Possible values are between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`31536000`\" pulumi-lang-dotnet=\"`31536000`\" pulumi-lang-go=\"`31536000`\" pulumi-lang-python=\"`31536000`\" pulumi-lang-yaml=\"`31536000`\" pulumi-lang-java=\"`31536000`\"\u003e`31536000`\u003c/span\u003e.\n"}},"required":["cacheName","name","namespacePath","resourceGroupName","storageContainerId","usageModel"],"inputProperties":{"accessPolicyName":{"type":"string","description":"The name of the access policy applied to this target. Defaults to \u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\"\u003e`default`\u003c/span\u003e.\n"},"cacheName":{"type":"string","description":"The name of the HPC Cache, which the HPC Cache Blob NFS Target will be added to. Changing this forces a new HPC Cache Blob NFS Target to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this HPC Cache Blob NFS Target. Changing this forces a new HPC Cache Blob NFS Target to be created.\n","willReplaceOnChanges":true},"namespacePath":{"type":"string","description":"The client-facing file path of the HPC Cache Blob NFS Target.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the HPC Cache Blob NFS Target should exist. Changing this forces a new HPC Cache Blob NFS Target to be created.\n","willReplaceOnChanges":true},"storageContainerId":{"type":"string","description":"The Resource Manager ID of the Storage Container used as the HPC Cache Blob NFS Target. Changing this forces a new resource to be created.\n\n\u003e **Note:** This is the Resource Manager ID of the Storage Container, rather than the regular ID - and can be accessed on the \u003cspan pulumi-lang-nodejs=\"`azure.storage.Container`\" pulumi-lang-dotnet=\"`azure.storage.Container`\" pulumi-lang-go=\"`storage.Container`\" pulumi-lang-python=\"`storage.Container`\" pulumi-lang-yaml=\"`azure.storage.Container`\" pulumi-lang-java=\"`azure.storage.Container`\"\u003e`azure.storage.Container`\u003c/span\u003e Data Source/Resource as \u003cspan pulumi-lang-nodejs=\"`resourceManagerId`\" pulumi-lang-dotnet=\"`ResourceManagerId`\" pulumi-lang-go=\"`resourceManagerId`\" pulumi-lang-python=\"`resource_manager_id`\" pulumi-lang-yaml=\"`resourceManagerId`\" pulumi-lang-java=\"`resourceManagerId`\"\u003e`resource_manager_id`\u003c/span\u003e.\n","willReplaceOnChanges":true},"usageModel":{"type":"string","description":"The type of usage of the HPC Cache Blob NFS Target. Possible values are: `READ_HEAVY_INFREQ`, `READ_HEAVY_CHECK_180`, `READ_ONLY`, `READ_WRITE`, `WRITE_WORKLOAD_15`, `WRITE_AROUND`, `WRITE_WORKLOAD_CHECK_30`, `WRITE_WORKLOAD_CHECK_60` and `WRITE_WORKLOAD_CLOUDWS`.\n"},"verificationTimerInSeconds":{"type":"integer","description":"The amount of time the cache waits before it checks the back-end storage for file updates. Possible values are between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`31536000`\" pulumi-lang-dotnet=\"`31536000`\" pulumi-lang-go=\"`31536000`\" pulumi-lang-python=\"`31536000`\" pulumi-lang-yaml=\"`31536000`\" pulumi-lang-java=\"`31536000`\"\u003e`31536000`\u003c/span\u003e.\n"},"writeBackTimerInSeconds":{"type":"integer","description":"The amount of time the cache waits after the last file change before it copies the changed file to back-end storage. Possible values are between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`31536000`\" pulumi-lang-dotnet=\"`31536000`\" pulumi-lang-go=\"`31536000`\" pulumi-lang-python=\"`31536000`\" pulumi-lang-yaml=\"`31536000`\" pulumi-lang-java=\"`31536000`\"\u003e`31536000`\u003c/span\u003e.\n"}},"requiredInputs":["cacheName","namespacePath","resourceGroupName","storageContainerId","usageModel"],"stateInputs":{"description":"Input properties used for looking up and filtering CacheBlobNfsTarget resources.\n","properties":{"accessPolicyName":{"type":"string","description":"The name of the access policy applied to this target. Defaults to \u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\"\u003e`default`\u003c/span\u003e.\n"},"cacheName":{"type":"string","description":"The name of the HPC Cache, which the HPC Cache Blob NFS Target will be added to. Changing this forces a new HPC Cache Blob NFS Target to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this HPC Cache Blob NFS Target. Changing this forces a new HPC Cache Blob NFS Target to be created.\n","willReplaceOnChanges":true},"namespacePath":{"type":"string","description":"The client-facing file path of the HPC Cache Blob NFS Target.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the HPC Cache Blob NFS Target should exist. Changing this forces a new HPC Cache Blob NFS Target to be created.\n","willReplaceOnChanges":true},"storageContainerId":{"type":"string","description":"The Resource Manager ID of the Storage Container used as the HPC Cache Blob NFS Target. Changing this forces a new resource to be created.\n\n\u003e **Note:** This is the Resource Manager ID of the Storage Container, rather than the regular ID - and can be accessed on the \u003cspan pulumi-lang-nodejs=\"`azure.storage.Container`\" pulumi-lang-dotnet=\"`azure.storage.Container`\" pulumi-lang-go=\"`storage.Container`\" pulumi-lang-python=\"`storage.Container`\" pulumi-lang-yaml=\"`azure.storage.Container`\" pulumi-lang-java=\"`azure.storage.Container`\"\u003e`azure.storage.Container`\u003c/span\u003e Data Source/Resource as \u003cspan pulumi-lang-nodejs=\"`resourceManagerId`\" pulumi-lang-dotnet=\"`ResourceManagerId`\" pulumi-lang-go=\"`resourceManagerId`\" pulumi-lang-python=\"`resource_manager_id`\" pulumi-lang-yaml=\"`resourceManagerId`\" pulumi-lang-java=\"`resourceManagerId`\"\u003e`resource_manager_id`\u003c/span\u003e.\n","willReplaceOnChanges":true},"usageModel":{"type":"string","description":"The type of usage of the HPC Cache Blob NFS Target. Possible values are: `READ_HEAVY_INFREQ`, `READ_HEAVY_CHECK_180`, `READ_ONLY`, `READ_WRITE`, `WRITE_WORKLOAD_15`, `WRITE_AROUND`, `WRITE_WORKLOAD_CHECK_30`, `WRITE_WORKLOAD_CHECK_60` and `WRITE_WORKLOAD_CLOUDWS`.\n"},"verificationTimerInSeconds":{"type":"integer","description":"The amount of time the cache waits before it checks the back-end storage for file updates. Possible values are between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`31536000`\" pulumi-lang-dotnet=\"`31536000`\" pulumi-lang-go=\"`31536000`\" pulumi-lang-python=\"`31536000`\" pulumi-lang-yaml=\"`31536000`\" pulumi-lang-java=\"`31536000`\"\u003e`31536000`\u003c/span\u003e.\n"},"writeBackTimerInSeconds":{"type":"integer","description":"The amount of time the cache waits after the last file change before it copies the changed file to back-end storage. Possible values are between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`31536000`\" pulumi-lang-dotnet=\"`31536000`\" pulumi-lang-go=\"`31536000`\" pulumi-lang-python=\"`31536000`\" pulumi-lang-yaml=\"`31536000`\" pulumi-lang-java=\"`31536000`\"\u003e`31536000`\u003c/span\u003e.\n"}},"type":"object"}},"azure:hpc/cacheBlobTarget:CacheBlobTarget":{"description":"Manages a Blob Target within a HPC Cache.\n\n!\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`azure.hpc.CacheBlobTarget`\" pulumi-lang-dotnet=\"`azure.hpc.CacheBlobTarget`\" pulumi-lang-go=\"`hpc.CacheBlobTarget`\" pulumi-lang-python=\"`hpc.CacheBlobTarget`\" pulumi-lang-yaml=\"`azure.hpc.CacheBlobTarget`\" pulumi-lang-java=\"`azure.hpc.CacheBlobTarget`\"\u003e`azure.hpc.CacheBlobTarget`\u003c/span\u003e resource has been deprecated because the service is retiring on 2025-09-30. This resource will be removed in v5.0 of the AzureRM Provider. See https://aka.ms/hpccacheretirement for more information.\n\n\u003e **Note:** By request of the service team the provider no longer automatically registering the `Microsoft.StorageCache` Resource Provider for this resource. To register it you can run `az provider register --namespace 'Microsoft.StorageCache'`.\n\n## Import\n\nBlob Targets within an HPC Cache can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:hpc/cacheBlobTarget:CacheBlobTarget example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.StorageCache/caches/cache1/storageTargets/target1\n```\n\n","properties":{"accessPolicyName":{"type":"string","description":"The name of the access policy applied to this target. Defaults to \u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\"\u003e`default`\u003c/span\u003e.\n"},"cacheName":{"type":"string","description":"The name HPC Cache, which the HPC Cache Blob Target will be added to. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"The name of the HPC Cache Blob Target. Changing this forces a new resource to be created.\n"},"namespacePath":{"type":"string","description":"The client-facing file path of the HPC Cache Blob Target.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group in which to create the HPC Cache Blob Target. Changing this forces a new resource to be created.\n"},"storageContainerId":{"type":"string","description":"The Resource Manager ID of the Storage Container used as the HPC Cache Blob Target. Changing this forces a new resource to be created.\n\n\u003e **Note:** This is the Resource Manager ID of the Storage Container, rather than the regular ID - and can be accessed on the \u003cspan pulumi-lang-nodejs=\"`azure.storage.Container`\" pulumi-lang-dotnet=\"`azure.storage.Container`\" pulumi-lang-go=\"`storage.Container`\" pulumi-lang-python=\"`storage.Container`\" pulumi-lang-yaml=\"`azure.storage.Container`\" pulumi-lang-java=\"`azure.storage.Container`\"\u003e`azure.storage.Container`\u003c/span\u003e Data Source/Resource as \u003cspan pulumi-lang-nodejs=\"`resourceManagerId`\" pulumi-lang-dotnet=\"`ResourceManagerId`\" pulumi-lang-go=\"`resourceManagerId`\" pulumi-lang-python=\"`resource_manager_id`\" pulumi-lang-yaml=\"`resourceManagerId`\" pulumi-lang-java=\"`resourceManagerId`\"\u003e`resource_manager_id`\u003c/span\u003e.\n"}},"required":["cacheName","name","namespacePath","resourceGroupName","storageContainerId"],"inputProperties":{"accessPolicyName":{"type":"string","description":"The name of the access policy applied to this target. Defaults to \u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\"\u003e`default`\u003c/span\u003e.\n"},"cacheName":{"type":"string","description":"The name HPC Cache, which the HPC Cache Blob Target will be added to. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the HPC Cache Blob Target. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"namespacePath":{"type":"string","description":"The client-facing file path of the HPC Cache Blob Target.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group in which to create the HPC Cache Blob Target. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"storageContainerId":{"type":"string","description":"The Resource Manager ID of the Storage Container used as the HPC Cache Blob Target. Changing this forces a new resource to be created.\n\n\u003e **Note:** This is the Resource Manager ID of the Storage Container, rather than the regular ID - and can be accessed on the \u003cspan pulumi-lang-nodejs=\"`azure.storage.Container`\" pulumi-lang-dotnet=\"`azure.storage.Container`\" pulumi-lang-go=\"`storage.Container`\" pulumi-lang-python=\"`storage.Container`\" pulumi-lang-yaml=\"`azure.storage.Container`\" pulumi-lang-java=\"`azure.storage.Container`\"\u003e`azure.storage.Container`\u003c/span\u003e Data Source/Resource as \u003cspan pulumi-lang-nodejs=\"`resourceManagerId`\" pulumi-lang-dotnet=\"`ResourceManagerId`\" pulumi-lang-go=\"`resourceManagerId`\" pulumi-lang-python=\"`resource_manager_id`\" pulumi-lang-yaml=\"`resourceManagerId`\" pulumi-lang-java=\"`resourceManagerId`\"\u003e`resource_manager_id`\u003c/span\u003e.\n","willReplaceOnChanges":true}},"requiredInputs":["cacheName","namespacePath","resourceGroupName","storageContainerId"],"stateInputs":{"description":"Input properties used for looking up and filtering CacheBlobTarget resources.\n","properties":{"accessPolicyName":{"type":"string","description":"The name of the access policy applied to this target. Defaults to \u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\"\u003e`default`\u003c/span\u003e.\n"},"cacheName":{"type":"string","description":"The name HPC Cache, which the HPC Cache Blob Target will be added to. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the HPC Cache Blob Target. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"namespacePath":{"type":"string","description":"The client-facing file path of the HPC Cache Blob Target.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group in which to create the HPC Cache Blob Target. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"storageContainerId":{"type":"string","description":"The Resource Manager ID of the Storage Container used as the HPC Cache Blob Target. Changing this forces a new resource to be created.\n\n\u003e **Note:** This is the Resource Manager ID of the Storage Container, rather than the regular ID - and can be accessed on the \u003cspan pulumi-lang-nodejs=\"`azure.storage.Container`\" pulumi-lang-dotnet=\"`azure.storage.Container`\" pulumi-lang-go=\"`storage.Container`\" pulumi-lang-python=\"`storage.Container`\" pulumi-lang-yaml=\"`azure.storage.Container`\" pulumi-lang-java=\"`azure.storage.Container`\"\u003e`azure.storage.Container`\u003c/span\u003e Data Source/Resource as \u003cspan pulumi-lang-nodejs=\"`resourceManagerId`\" pulumi-lang-dotnet=\"`ResourceManagerId`\" pulumi-lang-go=\"`resourceManagerId`\" pulumi-lang-python=\"`resource_manager_id`\" pulumi-lang-yaml=\"`resourceManagerId`\" pulumi-lang-java=\"`resourceManagerId`\"\u003e`resource_manager_id`\u003c/span\u003e.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:hpc/cacheNfsTarget:CacheNfsTarget":{"description":"Manages a NFS Target within a HPC Cache.\n\n!\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`azure.hpc.CacheNfsTarget`\" pulumi-lang-dotnet=\"`azure.hpc.CacheNfsTarget`\" pulumi-lang-go=\"`hpc.CacheNfsTarget`\" pulumi-lang-python=\"`hpc.CacheNfsTarget`\" pulumi-lang-yaml=\"`azure.hpc.CacheNfsTarget`\" pulumi-lang-java=\"`azure.hpc.CacheNfsTarget`\"\u003e`azure.hpc.CacheNfsTarget`\u003c/span\u003e resource has been deprecated because the service is retiring on 2025-09-30. This resource will be removed in v5.0 of the AzureRM Provider. See https://aka.ms/hpccacheretirement for more information.\n\n\u003e **Note:** By request of the service team the provider no longer automatically registering the `Microsoft.StorageCache` Resource Provider for this resource. To register it you can run `az provider register --namespace 'Microsoft.StorageCache'`.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\nimport * as std from \"@pulumi/std\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"example\", {\n    name: \"examplevn\",\n    addressSpaces: [\"10.0.0.0/16\"],\n    location: example.location,\n    resourceGroupName: example.name,\n});\nconst exampleHpc = new azure.network.Subnet(\"example_hpc\", {\n    name: \"examplesubnethpc\",\n    resourceGroupName: example.name,\n    virtualNetworkName: exampleVirtualNetwork.name,\n    addressPrefixes: [\"10.0.1.0/24\"],\n});\nconst exampleCache = new azure.hpc.Cache(\"example\", {\n    name: \"examplehpccache\",\n    resourceGroupName: example.name,\n    location: example.location,\n    cacheSizeInGb: 3072,\n    subnetId: exampleHpc.id,\n    skuName: \"Standard_2G\",\n});\nconst exampleVm = new azure.network.Subnet(\"example_vm\", {\n    name: \"examplesubnetvm\",\n    resourceGroupName: example.name,\n    virtualNetworkName: exampleVirtualNetwork.name,\n    addressPrefixes: [\"10.0.2.0/24\"],\n});\nconst exampleNetworkInterface = new azure.network.NetworkInterface(\"example\", {\n    name: \"examplenic\",\n    location: example.location,\n    resourceGroupName: example.name,\n    ipConfigurations: [{\n        name: \"internal\",\n        subnetId: exampleVm.id,\n        privateIpAddressAllocation: \"Dynamic\",\n    }],\n});\nconst customData = `#!/bin/bash\nsudo -i \napt-get install -y nfs-kernel-server\nmkdir -p /export/a/1\nmkdir -p /export/a/2\nmkdir -p /export/b\ncat \u003c\u003c EOF \u003e /etc/exports\n/export/a *(rw,fsid=0,insecure,no_subtree_check,async)\n/export/b *(rw,fsid=0,insecure,no_subtree_check,async)\nEOF\nsystemctl start nfs-server\nexportfs -arv\n`;\nconst exampleLinuxVirtualMachine = new azure.compute.LinuxVirtualMachine(\"example\", {\n    name: \"examplevm\",\n    resourceGroupName: example.name,\n    location: example.location,\n    size: \"Standard_F2\",\n    adminUsername: \"adminuser\",\n    networkInterfaceIds: [exampleNetworkInterface.id],\n    adminSshKeys: [{\n        username: \"adminuser\",\n        publicKey: std.file({\n            input: \"~/.ssh/id_rsa.pub\",\n        }).then(invoke =\u003e invoke.result),\n    }],\n    osDisk: {\n        caching: \"ReadWrite\",\n        storageAccountType: \"Standard_LRS\",\n    },\n    sourceImageReference: {\n        publisher: \"Canonical\",\n        offer: \"0001-com-ubuntu-server-jammy\",\n        sku: \"22_04-lts\",\n        version: \"latest\",\n    },\n    customData: std.base64encode({\n        input: customData,\n    }).then(invoke =\u003e invoke.result),\n});\nconst exampleCacheNfsTarget = new azure.hpc.CacheNfsTarget(\"example\", {\n    name: \"examplehpcnfstarget\",\n    resourceGroupName: example.name,\n    cacheName: exampleCache.name,\n    targetHostName: exampleLinuxVirtualMachine.privateIpAddress,\n    usageModel: \"READ_HEAVY_INFREQ\",\n    namespaceJunctions: [\n        {\n            namespacePath: \"/nfs/a1\",\n            nfsExport: \"/export/a\",\n            targetPath: \"1\",\n        },\n        {\n            namespacePath: \"/nfs/b\",\n            nfsExport: \"/export/b\",\n        },\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\nimport pulumi_std as std\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_virtual_network = azure.network.VirtualNetwork(\"example\",\n    name=\"examplevn\",\n    address_spaces=[\"10.0.0.0/16\"],\n    location=example.location,\n    resource_group_name=example.name)\nexample_hpc = azure.network.Subnet(\"example_hpc\",\n    name=\"examplesubnethpc\",\n    resource_group_name=example.name,\n    virtual_network_name=example_virtual_network.name,\n    address_prefixes=[\"10.0.1.0/24\"])\nexample_cache = azure.hpc.Cache(\"example\",\n    name=\"examplehpccache\",\n    resource_group_name=example.name,\n    location=example.location,\n    cache_size_in_gb=3072,\n    subnet_id=example_hpc.id,\n    sku_name=\"Standard_2G\")\nexample_vm = azure.network.Subnet(\"example_vm\",\n    name=\"examplesubnetvm\",\n    resource_group_name=example.name,\n    virtual_network_name=example_virtual_network.name,\n    address_prefixes=[\"10.0.2.0/24\"])\nexample_network_interface = azure.network.NetworkInterface(\"example\",\n    name=\"examplenic\",\n    location=example.location,\n    resource_group_name=example.name,\n    ip_configurations=[{\n        \"name\": \"internal\",\n        \"subnet_id\": example_vm.id,\n        \"private_ip_address_allocation\": \"Dynamic\",\n    }])\ncustom_data = \"\"\"#!/bin/bash\nsudo -i \napt-get install -y nfs-kernel-server\nmkdir -p /export/a/1\nmkdir -p /export/a/2\nmkdir -p /export/b\ncat \u003c\u003c EOF \u003e /etc/exports\n/export/a *(rw,fsid=0,insecure,no_subtree_check,async)\n/export/b *(rw,fsid=0,insecure,no_subtree_check,async)\nEOF\nsystemctl start nfs-server\nexportfs -arv\n\"\"\"\nexample_linux_virtual_machine = azure.compute.LinuxVirtualMachine(\"example\",\n    name=\"examplevm\",\n    resource_group_name=example.name,\n    location=example.location,\n    size=\"Standard_F2\",\n    admin_username=\"adminuser\",\n    network_interface_ids=[example_network_interface.id],\n    admin_ssh_keys=[{\n        \"username\": \"adminuser\",\n        \"public_key\": std.file(input=\"~/.ssh/id_rsa.pub\").result,\n    }],\n    os_disk={\n        \"caching\": \"ReadWrite\",\n        \"storage_account_type\": \"Standard_LRS\",\n    },\n    source_image_reference={\n        \"publisher\": \"Canonical\",\n        \"offer\": \"0001-com-ubuntu-server-jammy\",\n        \"sku\": \"22_04-lts\",\n        \"version\": \"latest\",\n    },\n    custom_data=std.base64encode(input=custom_data).result)\nexample_cache_nfs_target = azure.hpc.CacheNfsTarget(\"example\",\n    name=\"examplehpcnfstarget\",\n    resource_group_name=example.name,\n    cache_name=example_cache.name,\n    target_host_name=example_linux_virtual_machine.private_ip_address,\n    usage_model=\"READ_HEAVY_INFREQ\",\n    namespace_junctions=[\n        {\n            \"namespace_path\": \"/nfs/a1\",\n            \"nfs_export\": \"/export/a\",\n            \"target_path\": \"1\",\n        },\n        {\n            \"namespace_path\": \"/nfs/b\",\n            \"nfs_export\": \"/export/b\",\n        },\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleVirtualNetwork = new Azure.Network.VirtualNetwork(\"example\", new()\n    {\n        Name = \"examplevn\",\n        AddressSpaces = new[]\n        {\n            \"10.0.0.0/16\",\n        },\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n    });\n\n    var exampleHpc = new Azure.Network.Subnet(\"example_hpc\", new()\n    {\n        Name = \"examplesubnethpc\",\n        ResourceGroupName = example.Name,\n        VirtualNetworkName = exampleVirtualNetwork.Name,\n        AddressPrefixes = new[]\n        {\n            \"10.0.1.0/24\",\n        },\n    });\n\n    var exampleCache = new Azure.Hpc.Cache(\"example\", new()\n    {\n        Name = \"examplehpccache\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        CacheSizeInGb = 3072,\n        SubnetId = exampleHpc.Id,\n        SkuName = \"Standard_2G\",\n    });\n\n    var exampleVm = new Azure.Network.Subnet(\"example_vm\", new()\n    {\n        Name = \"examplesubnetvm\",\n        ResourceGroupName = example.Name,\n        VirtualNetworkName = exampleVirtualNetwork.Name,\n        AddressPrefixes = new[]\n        {\n            \"10.0.2.0/24\",\n        },\n    });\n\n    var exampleNetworkInterface = new Azure.Network.NetworkInterface(\"example\", new()\n    {\n        Name = \"examplenic\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        IpConfigurations = new[]\n        {\n            new Azure.Network.Inputs.NetworkInterfaceIpConfigurationArgs\n            {\n                Name = \"internal\",\n                SubnetId = exampleVm.Id,\n                PrivateIpAddressAllocation = \"Dynamic\",\n            },\n        },\n    });\n\n    var customData = @\"#!/bin/bash\nsudo -i \napt-get install -y nfs-kernel-server\nmkdir -p /export/a/1\nmkdir -p /export/a/2\nmkdir -p /export/b\ncat \u003c\u003c EOF \u003e /etc/exports\n/export/a *(rw,fsid=0,insecure,no_subtree_check,async)\n/export/b *(rw,fsid=0,insecure,no_subtree_check,async)\nEOF\nsystemctl start nfs-server\nexportfs -arv\n\";\n\n    var exampleLinuxVirtualMachine = new Azure.Compute.LinuxVirtualMachine(\"example\", new()\n    {\n        Name = \"examplevm\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        Size = \"Standard_F2\",\n        AdminUsername = \"adminuser\",\n        NetworkInterfaceIds = new[]\n        {\n            exampleNetworkInterface.Id,\n        },\n        AdminSshKeys = new[]\n        {\n            new Azure.Compute.Inputs.LinuxVirtualMachineAdminSshKeyArgs\n            {\n                Username = \"adminuser\",\n                PublicKey = Std.File.Invoke(new()\n                {\n                    Input = \"~/.ssh/id_rsa.pub\",\n                }).Apply(invoke =\u003e invoke.Result),\n            },\n        },\n        OsDisk = new Azure.Compute.Inputs.LinuxVirtualMachineOsDiskArgs\n        {\n            Caching = \"ReadWrite\",\n            StorageAccountType = \"Standard_LRS\",\n        },\n        SourceImageReference = new Azure.Compute.Inputs.LinuxVirtualMachineSourceImageReferenceArgs\n        {\n            Publisher = \"Canonical\",\n            Offer = \"0001-com-ubuntu-server-jammy\",\n            Sku = \"22_04-lts\",\n            Version = \"latest\",\n        },\n        CustomData = Std.Base64encode.Invoke(new()\n        {\n            Input = customData,\n        }).Apply(invoke =\u003e invoke.Result),\n    });\n\n    var exampleCacheNfsTarget = new Azure.Hpc.CacheNfsTarget(\"example\", new()\n    {\n        Name = \"examplehpcnfstarget\",\n        ResourceGroupName = example.Name,\n        CacheName = exampleCache.Name,\n        TargetHostName = exampleLinuxVirtualMachine.PrivateIpAddress,\n        UsageModel = \"READ_HEAVY_INFREQ\",\n        NamespaceJunctions = new[]\n        {\n            new Azure.Hpc.Inputs.CacheNfsTargetNamespaceJunctionArgs\n            {\n                NamespacePath = \"/nfs/a1\",\n                NfsExport = \"/export/a\",\n                TargetPath = \"1\",\n            },\n            new Azure.Hpc.Inputs.CacheNfsTargetNamespaceJunctionArgs\n            {\n                NamespacePath = \"/nfs/b\",\n                NfsExport = \"/export/b\",\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/compute\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/hpc\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, \"example\", \u0026network.VirtualNetworkArgs{\n\t\t\tName: pulumi.String(\"examplevn\"),\n\t\t\tAddressSpaces: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.0.0/16\"),\n\t\t\t},\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleHpc, err := network.NewSubnet(ctx, \"example_hpc\", \u0026network.SubnetArgs{\n\t\t\tName:               pulumi.String(\"examplesubnethpc\"),\n\t\t\tResourceGroupName:  example.Name,\n\t\t\tVirtualNetworkName: exampleVirtualNetwork.Name,\n\t\t\tAddressPrefixes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.1.0/24\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleCache, err := hpc.NewCache(ctx, \"example\", \u0026hpc.CacheArgs{\n\t\t\tName:              pulumi.String(\"examplehpccache\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tCacheSizeInGb:     pulumi.Int(3072),\n\t\t\tSubnetId:          exampleHpc.ID(),\n\t\t\tSkuName:           pulumi.String(\"Standard_2G\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVm, err := network.NewSubnet(ctx, \"example_vm\", \u0026network.SubnetArgs{\n\t\t\tName:               pulumi.String(\"examplesubnetvm\"),\n\t\t\tResourceGroupName:  example.Name,\n\t\t\tVirtualNetworkName: exampleVirtualNetwork.Name,\n\t\t\tAddressPrefixes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.2.0/24\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNetworkInterface, err := network.NewNetworkInterface(ctx, \"example\", \u0026network.NetworkInterfaceArgs{\n\t\t\tName:              pulumi.String(\"examplenic\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tIpConfigurations: network.NetworkInterfaceIpConfigurationArray{\n\t\t\t\t\u0026network.NetworkInterfaceIpConfigurationArgs{\n\t\t\t\t\tName:                       pulumi.String(\"internal\"),\n\t\t\t\t\tSubnetId:                   exampleVm.ID(),\n\t\t\t\t\tPrivateIpAddressAllocation: pulumi.String(\"Dynamic\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcustomData := `#!/bin/bash\nsudo -i \napt-get install -y nfs-kernel-server\nmkdir -p /export/a/1\nmkdir -p /export/a/2\nmkdir -p /export/b\ncat \u003c\u003c EOF \u003e /etc/exports\n/export/a *(rw,fsid=0,insecure,no_subtree_check,async)\n/export/b *(rw,fsid=0,insecure,no_subtree_check,async)\nEOF\nsystemctl start nfs-server\nexportfs -arv\n`\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"~/.ssh/id_rsa.pub\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeBase64encode1, err := std.Base64encode(ctx, \u0026std.Base64encodeArgs{\n\t\t\tInput: customData,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleLinuxVirtualMachine, err := compute.NewLinuxVirtualMachine(ctx, \"example\", \u0026compute.LinuxVirtualMachineArgs{\n\t\t\tName:              pulumi.String(\"examplevm\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tSize:              pulumi.String(\"Standard_F2\"),\n\t\t\tAdminUsername:     pulumi.String(\"adminuser\"),\n\t\t\tNetworkInterfaceIds: pulumi.StringArray{\n\t\t\t\texampleNetworkInterface.ID(),\n\t\t\t},\n\t\t\tAdminSshKeys: compute.LinuxVirtualMachineAdminSshKeyArray{\n\t\t\t\t\u0026compute.LinuxVirtualMachineAdminSshKeyArgs{\n\t\t\t\t\tUsername:  pulumi.String(\"adminuser\"),\n\t\t\t\t\tPublicKey: pulumi.String(invokeFile.Result),\n\t\t\t\t},\n\t\t\t},\n\t\t\tOsDisk: \u0026compute.LinuxVirtualMachineOsDiskArgs{\n\t\t\t\tCaching:            pulumi.String(\"ReadWrite\"),\n\t\t\t\tStorageAccountType: pulumi.String(\"Standard_LRS\"),\n\t\t\t},\n\t\t\tSourceImageReference: \u0026compute.LinuxVirtualMachineSourceImageReferenceArgs{\n\t\t\t\tPublisher: pulumi.String(\"Canonical\"),\n\t\t\t\tOffer:     pulumi.String(\"0001-com-ubuntu-server-jammy\"),\n\t\t\t\tSku:       pulumi.String(\"22_04-lts\"),\n\t\t\t\tVersion:   pulumi.String(\"latest\"),\n\t\t\t},\n\t\t\tCustomData: pulumi.String(invokeBase64encode1.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = hpc.NewCacheNfsTarget(ctx, \"example\", \u0026hpc.CacheNfsTargetArgs{\n\t\t\tName:              pulumi.String(\"examplehpcnfstarget\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tCacheName:         exampleCache.Name,\n\t\t\tTargetHostName:    exampleLinuxVirtualMachine.PrivateIpAddress,\n\t\t\tUsageModel:        pulumi.String(\"READ_HEAVY_INFREQ\"),\n\t\t\tNamespaceJunctions: hpc.CacheNfsTargetNamespaceJunctionArray{\n\t\t\t\t\u0026hpc.CacheNfsTargetNamespaceJunctionArgs{\n\t\t\t\t\tNamespacePath: pulumi.String(\"/nfs/a1\"),\n\t\t\t\t\tNfsExport:     pulumi.String(\"/export/a\"),\n\t\t\t\t\tTargetPath:    pulumi.String(\"1\"),\n\t\t\t\t},\n\t\t\t\t\u0026hpc.CacheNfsTargetNamespaceJunctionArgs{\n\t\t\t\t\tNamespacePath: pulumi.String(\"/nfs/b\"),\n\t\t\t\t\tNfsExport:     pulumi.String(\"/export/b\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.VirtualNetwork;\nimport com.pulumi.azure.network.VirtualNetworkArgs;\nimport com.pulumi.azure.network.Subnet;\nimport com.pulumi.azure.network.SubnetArgs;\nimport com.pulumi.azure.hpc.Cache;\nimport com.pulumi.azure.hpc.CacheArgs;\nimport com.pulumi.azure.network.NetworkInterface;\nimport com.pulumi.azure.network.NetworkInterfaceArgs;\nimport com.pulumi.azure.network.inputs.NetworkInterfaceIpConfigurationArgs;\nimport com.pulumi.azure.compute.LinuxVirtualMachine;\nimport com.pulumi.azure.compute.LinuxVirtualMachineArgs;\nimport com.pulumi.azure.compute.inputs.LinuxVirtualMachineAdminSshKeyArgs;\nimport com.pulumi.azure.compute.inputs.LinuxVirtualMachineOsDiskArgs;\nimport com.pulumi.azure.compute.inputs.LinuxVirtualMachineSourceImageReferenceArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.FileArgs;\nimport com.pulumi.std.inputs.Base64encodeArgs;\nimport com.pulumi.azure.hpc.CacheNfsTarget;\nimport com.pulumi.azure.hpc.CacheNfsTargetArgs;\nimport com.pulumi.azure.hpc.inputs.CacheNfsTargetNamespaceJunctionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleVirtualNetwork = new VirtualNetwork(\"exampleVirtualNetwork\", VirtualNetworkArgs.builder()\n            .name(\"examplevn\")\n            .addressSpaces(\"10.0.0.0/16\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .build());\n\n        var exampleHpc = new Subnet(\"exampleHpc\", SubnetArgs.builder()\n            .name(\"examplesubnethpc\")\n            .resourceGroupName(example.name())\n            .virtualNetworkName(exampleVirtualNetwork.name())\n            .addressPrefixes(\"10.0.1.0/24\")\n            .build());\n\n        var exampleCache = new Cache(\"exampleCache\", CacheArgs.builder()\n            .name(\"examplehpccache\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .cacheSizeInGb(3072)\n            .subnetId(exampleHpc.id())\n            .skuName(\"Standard_2G\")\n            .build());\n\n        var exampleVm = new Subnet(\"exampleVm\", SubnetArgs.builder()\n            .name(\"examplesubnetvm\")\n            .resourceGroupName(example.name())\n            .virtualNetworkName(exampleVirtualNetwork.name())\n            .addressPrefixes(\"10.0.2.0/24\")\n            .build());\n\n        var exampleNetworkInterface = new NetworkInterface(\"exampleNetworkInterface\", NetworkInterfaceArgs.builder()\n            .name(\"examplenic\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .ipConfigurations(NetworkInterfaceIpConfigurationArgs.builder()\n                .name(\"internal\")\n                .subnetId(exampleVm.id())\n                .privateIpAddressAllocation(\"Dynamic\")\n                .build())\n            .build());\n\n        final var customData = \"\"\"\n#!/bin/bash\nsudo -i \napt-get install -y nfs-kernel-server\nmkdir -p /export/a/1\nmkdir -p /export/a/2\nmkdir -p /export/b\ncat \u003c\u003c EOF \u003e /etc/exports\n/export/a *(rw,fsid=0,insecure,no_subtree_check,async)\n/export/b *(rw,fsid=0,insecure,no_subtree_check,async)\nEOF\nsystemctl start nfs-server\nexportfs -arv\n        \"\"\";\n\n        var exampleLinuxVirtualMachine = new LinuxVirtualMachine(\"exampleLinuxVirtualMachine\", LinuxVirtualMachineArgs.builder()\n            .name(\"examplevm\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .size(\"Standard_F2\")\n            .adminUsername(\"adminuser\")\n            .networkInterfaceIds(exampleNetworkInterface.id())\n            .adminSshKeys(LinuxVirtualMachineAdminSshKeyArgs.builder()\n                .username(\"adminuser\")\n                .publicKey(StdFunctions.file(FileArgs.builder()\n                    .input(\"~/.ssh/id_rsa.pub\")\n                    .build()).result())\n                .build())\n            .osDisk(LinuxVirtualMachineOsDiskArgs.builder()\n                .caching(\"ReadWrite\")\n                .storageAccountType(\"Standard_LRS\")\n                .build())\n            .sourceImageReference(LinuxVirtualMachineSourceImageReferenceArgs.builder()\n                .publisher(\"Canonical\")\n                .offer(\"0001-com-ubuntu-server-jammy\")\n                .sku(\"22_04-lts\")\n                .version(\"latest\")\n                .build())\n            .customData(StdFunctions.base64encode(Base64encodeArgs.builder()\n                .input(customData)\n                .build()).result())\n            .build());\n\n        var exampleCacheNfsTarget = new CacheNfsTarget(\"exampleCacheNfsTarget\", CacheNfsTargetArgs.builder()\n            .name(\"examplehpcnfstarget\")\n            .resourceGroupName(example.name())\n            .cacheName(exampleCache.name())\n            .targetHostName(exampleLinuxVirtualMachine.privateIpAddress())\n            .usageModel(\"READ_HEAVY_INFREQ\")\n            .namespaceJunctions(            \n                CacheNfsTargetNamespaceJunctionArgs.builder()\n                    .namespacePath(\"/nfs/a1\")\n                    .nfsExport(\"/export/a\")\n                    .targetPath(\"1\")\n                    .build(),\n                CacheNfsTargetNamespaceJunctionArgs.builder()\n                    .namespacePath(\"/nfs/b\")\n                    .nfsExport(\"/export/b\")\n                    .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleVirtualNetwork:\n    type: azure:network:VirtualNetwork\n    name: example\n    properties:\n      name: examplevn\n      addressSpaces:\n        - 10.0.0.0/16\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n  exampleHpc:\n    type: azure:network:Subnet\n    name: example_hpc\n    properties:\n      name: examplesubnethpc\n      resourceGroupName: ${example.name}\n      virtualNetworkName: ${exampleVirtualNetwork.name}\n      addressPrefixes:\n        - 10.0.1.0/24\n  exampleCache:\n    type: azure:hpc:Cache\n    name: example\n    properties:\n      name: examplehpccache\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      cacheSizeInGb: 3072\n      subnetId: ${exampleHpc.id}\n      skuName: Standard_2G\n  exampleVm:\n    type: azure:network:Subnet\n    name: example_vm\n    properties:\n      name: examplesubnetvm\n      resourceGroupName: ${example.name}\n      virtualNetworkName: ${exampleVirtualNetwork.name}\n      addressPrefixes:\n        - 10.0.2.0/24\n  exampleNetworkInterface:\n    type: azure:network:NetworkInterface\n    name: example\n    properties:\n      name: examplenic\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      ipConfigurations:\n        - name: internal\n          subnetId: ${exampleVm.id}\n          privateIpAddressAllocation: Dynamic\n  exampleLinuxVirtualMachine:\n    type: azure:compute:LinuxVirtualMachine\n    name: example\n    properties:\n      name: examplevm\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      size: Standard_F2\n      adminUsername: adminuser\n      networkInterfaceIds:\n        - ${exampleNetworkInterface.id}\n      adminSshKeys:\n        - username: adminuser\n          publicKey:\n            fn::invoke:\n              function: std:file\n              arguments:\n                input: ~/.ssh/id_rsa.pub\n              return: result\n      osDisk:\n        caching: ReadWrite\n        storageAccountType: Standard_LRS\n      sourceImageReference:\n        publisher: Canonical\n        offer: 0001-com-ubuntu-server-jammy\n        sku: 22_04-lts\n        version: latest\n      customData:\n        fn::invoke:\n          function: std:base64encode\n          arguments:\n            input: ${customData}\n          return: result\n  exampleCacheNfsTarget:\n    type: azure:hpc:CacheNfsTarget\n    name: example\n    properties:\n      name: examplehpcnfstarget\n      resourceGroupName: ${example.name}\n      cacheName: ${exampleCache.name}\n      targetHostName: ${exampleLinuxVirtualMachine.privateIpAddress}\n      usageModel: READ_HEAVY_INFREQ\n      namespaceJunctions:\n        - namespacePath: /nfs/a1\n          nfsExport: /export/a\n          targetPath: '1'\n        - namespacePath: /nfs/b\n          nfsExport: /export/b\nvariables:\n  customData: \"#!/bin/bash\\nsudo -i \\napt-get install -y nfs-kernel-server\\nmkdir -p /export/a/1\\nmkdir -p /export/a/2\\nmkdir -p /export/b\\ncat \u003c\u003c EOF \u003e /etc/exports\\n/export/a *(rw,fsid=0,insecure,no_subtree_check,async)\\n/export/b *(rw,fsid=0,insecure,no_subtree_check,async)\\nEOF\\nsystemctl start nfs-server\\nexportfs -arv\\n\"\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.StorageCache` - 2023-05-01\n\n## Import\n\nNFS Target within a HPC Cache can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:hpc/cacheNfsTarget:CacheNfsTarget example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.StorageCache/caches/cache1/storageTargets/target1\n```\n\n","properties":{"cacheName":{"type":"string","description":"The name HPC Cache, which the HPC Cache NFS Target will be added to. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"The name of the HPC Cache NFS Target. Changing this forces a new resource to be created.\n"},"namespaceJunctions":{"type":"array","items":{"$ref":"#/types/azure:hpc/CacheNfsTargetNamespaceJunction:CacheNfsTargetNamespaceJunction"},"description":"Can be specified multiple times to define multiple \u003cspan pulumi-lang-nodejs=\"`namespaceJunction`\" pulumi-lang-dotnet=\"`NamespaceJunction`\" pulumi-lang-go=\"`namespaceJunction`\" pulumi-lang-python=\"`namespace_junction`\" pulumi-lang-yaml=\"`namespaceJunction`\" pulumi-lang-java=\"`namespaceJunction`\"\u003e`namespace_junction`\u003c/span\u003e. Each \u003cspan pulumi-lang-nodejs=\"`namespaceJunction`\" pulumi-lang-dotnet=\"`NamespaceJunction`\" pulumi-lang-go=\"`namespaceJunction`\" pulumi-lang-python=\"`namespace_junction`\" pulumi-lang-yaml=\"`namespaceJunction`\" pulumi-lang-java=\"`namespaceJunction`\"\u003e`namespace_junction`\u003c/span\u003e block supports fields documented below.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group in which to create the HPC Cache NFS Target. Changing this forces a new resource to be created.\n"},"targetHostName":{"type":"string","description":"The IP address or fully qualified domain name (FQDN) of the HPC Cache NFS target. Changing this forces a new resource to be created.\n"},"usageModel":{"type":"string","description":"The type of usage of the HPC Cache NFS Target. Possible values are: `READ_HEAVY_INFREQ`, `READ_HEAVY_CHECK_180`, `READ_ONLY`, `READ_WRITE`, `WRITE_WORKLOAD_15`, `WRITE_AROUND`, `WRITE_WORKLOAD_CHECK_30`, `WRITE_WORKLOAD_CHECK_60` and `WRITE_WORKLOAD_CLOUDWS`.\n"},"verificationTimerInSeconds":{"type":"integer","description":"The amount of time the cache waits before it checks the back-end storage for file updates. Possible values are between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`31536000`\" pulumi-lang-dotnet=\"`31536000`\" pulumi-lang-go=\"`31536000`\" pulumi-lang-python=\"`31536000`\" pulumi-lang-yaml=\"`31536000`\" pulumi-lang-java=\"`31536000`\"\u003e`31536000`\u003c/span\u003e.\n"},"writeBackTimerInSeconds":{"type":"integer","description":"The amount of time the cache waits after the last file change before it copies the changed file to back-end storage. Possible values are between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`31536000`\" pulumi-lang-dotnet=\"`31536000`\" pulumi-lang-go=\"`31536000`\" pulumi-lang-python=\"`31536000`\" pulumi-lang-yaml=\"`31536000`\" pulumi-lang-java=\"`31536000`\"\u003e`31536000`\u003c/span\u003e.\n"}},"required":["cacheName","name","namespaceJunctions","resourceGroupName","targetHostName","usageModel"],"inputProperties":{"cacheName":{"type":"string","description":"The name HPC Cache, which the HPC Cache NFS Target will be added to. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the HPC Cache NFS Target. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"namespaceJunctions":{"type":"array","items":{"$ref":"#/types/azure:hpc/CacheNfsTargetNamespaceJunction:CacheNfsTargetNamespaceJunction"},"description":"Can be specified multiple times to define multiple \u003cspan pulumi-lang-nodejs=\"`namespaceJunction`\" pulumi-lang-dotnet=\"`NamespaceJunction`\" pulumi-lang-go=\"`namespaceJunction`\" pulumi-lang-python=\"`namespace_junction`\" pulumi-lang-yaml=\"`namespaceJunction`\" pulumi-lang-java=\"`namespaceJunction`\"\u003e`namespace_junction`\u003c/span\u003e. Each \u003cspan pulumi-lang-nodejs=\"`namespaceJunction`\" pulumi-lang-dotnet=\"`NamespaceJunction`\" pulumi-lang-go=\"`namespaceJunction`\" pulumi-lang-python=\"`namespace_junction`\" pulumi-lang-yaml=\"`namespaceJunction`\" pulumi-lang-java=\"`namespaceJunction`\"\u003e`namespace_junction`\u003c/span\u003e block supports fields documented below.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group in which to create the HPC Cache NFS Target. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"targetHostName":{"type":"string","description":"The IP address or fully qualified domain name (FQDN) of the HPC Cache NFS target. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"usageModel":{"type":"string","description":"The type of usage of the HPC Cache NFS Target. Possible values are: `READ_HEAVY_INFREQ`, `READ_HEAVY_CHECK_180`, `READ_ONLY`, `READ_WRITE`, `WRITE_WORKLOAD_15`, `WRITE_AROUND`, `WRITE_WORKLOAD_CHECK_30`, `WRITE_WORKLOAD_CHECK_60` and `WRITE_WORKLOAD_CLOUDWS`.\n"},"verificationTimerInSeconds":{"type":"integer","description":"The amount of time the cache waits before it checks the back-end storage for file updates. Possible values are between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`31536000`\" pulumi-lang-dotnet=\"`31536000`\" pulumi-lang-go=\"`31536000`\" pulumi-lang-python=\"`31536000`\" pulumi-lang-yaml=\"`31536000`\" pulumi-lang-java=\"`31536000`\"\u003e`31536000`\u003c/span\u003e.\n"},"writeBackTimerInSeconds":{"type":"integer","description":"The amount of time the cache waits after the last file change before it copies the changed file to back-end storage. Possible values are between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`31536000`\" pulumi-lang-dotnet=\"`31536000`\" pulumi-lang-go=\"`31536000`\" pulumi-lang-python=\"`31536000`\" pulumi-lang-yaml=\"`31536000`\" pulumi-lang-java=\"`31536000`\"\u003e`31536000`\u003c/span\u003e.\n"}},"requiredInputs":["cacheName","namespaceJunctions","resourceGroupName","targetHostName","usageModel"],"stateInputs":{"description":"Input properties used for looking up and filtering CacheNfsTarget resources.\n","properties":{"cacheName":{"type":"string","description":"The name HPC Cache, which the HPC Cache NFS Target will be added to. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the HPC Cache NFS Target. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"namespaceJunctions":{"type":"array","items":{"$ref":"#/types/azure:hpc/CacheNfsTargetNamespaceJunction:CacheNfsTargetNamespaceJunction"},"description":"Can be specified multiple times to define multiple \u003cspan pulumi-lang-nodejs=\"`namespaceJunction`\" pulumi-lang-dotnet=\"`NamespaceJunction`\" pulumi-lang-go=\"`namespaceJunction`\" pulumi-lang-python=\"`namespace_junction`\" pulumi-lang-yaml=\"`namespaceJunction`\" pulumi-lang-java=\"`namespaceJunction`\"\u003e`namespace_junction`\u003c/span\u003e. Each \u003cspan pulumi-lang-nodejs=\"`namespaceJunction`\" pulumi-lang-dotnet=\"`NamespaceJunction`\" pulumi-lang-go=\"`namespaceJunction`\" pulumi-lang-python=\"`namespace_junction`\" pulumi-lang-yaml=\"`namespaceJunction`\" pulumi-lang-java=\"`namespaceJunction`\"\u003e`namespace_junction`\u003c/span\u003e block supports fields documented below.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group in which to create the HPC Cache NFS Target. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"targetHostName":{"type":"string","description":"The IP address or fully qualified domain name (FQDN) of the HPC Cache NFS target. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"usageModel":{"type":"string","description":"The type of usage of the HPC Cache NFS Target. Possible values are: `READ_HEAVY_INFREQ`, `READ_HEAVY_CHECK_180`, `READ_ONLY`, `READ_WRITE`, `WRITE_WORKLOAD_15`, `WRITE_AROUND`, `WRITE_WORKLOAD_CHECK_30`, `WRITE_WORKLOAD_CHECK_60` and `WRITE_WORKLOAD_CLOUDWS`.\n"},"verificationTimerInSeconds":{"type":"integer","description":"The amount of time the cache waits before it checks the back-end storage for file updates. Possible values are between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`31536000`\" pulumi-lang-dotnet=\"`31536000`\" pulumi-lang-go=\"`31536000`\" pulumi-lang-python=\"`31536000`\" pulumi-lang-yaml=\"`31536000`\" pulumi-lang-java=\"`31536000`\"\u003e`31536000`\u003c/span\u003e.\n"},"writeBackTimerInSeconds":{"type":"integer","description":"The amount of time the cache waits after the last file change before it copies the changed file to back-end storage. Possible values are between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`31536000`\" pulumi-lang-dotnet=\"`31536000`\" pulumi-lang-go=\"`31536000`\" pulumi-lang-python=\"`31536000`\" pulumi-lang-yaml=\"`31536000`\" pulumi-lang-java=\"`31536000`\"\u003e`31536000`\u003c/span\u003e.\n"}},"type":"object"}},"azure:hsm/module:Module":{"description":"Manages a Dedicated Hardware Security Module.\n\n\u003e **Note:** Before using this resource, it's required to submit the request of registering the providers and features with Azure CLI `az provider register --namespace Microsoft.HardwareSecurityModules \u0026\u0026 az feature register --namespace Microsoft.HardwareSecurityModules --name AzureDedicatedHSM \u0026\u0026 az provider register --namespace Microsoft.Network \u0026\u0026 az feature register --namespace Microsoft.Network --name AllowBaremetalServers` and ask service team (hsmrequest@microsoft.com) to approve. See more details from \u003chttps://docs.microsoft.com/azure/dedicated-hsm/tutorial-deploy-hsm-cli#prerequisites\u003e.\n\n\u003e **Note:** If the quota is not enough in some region, please submit the quota request to service team.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"example\", {\n    name: \"example-vnet\",\n    addressSpaces: [\"10.2.0.0/16\"],\n    location: example.location,\n    resourceGroupName: example.name,\n});\nconst exampleSubnet = new azure.network.Subnet(\"example\", {\n    name: \"example-compute\",\n    resourceGroupName: example.name,\n    virtualNetworkName: exampleVirtualNetwork.name,\n    addressPrefixes: [\"10.2.0.0/24\"],\n});\nconst example2 = new azure.network.Subnet(\"example2\", {\n    name: \"example-hsmsubnet\",\n    resourceGroupName: example.name,\n    virtualNetworkName: exampleVirtualNetwork.name,\n    addressPrefixes: [\"10.2.1.0/24\"],\n    delegations: [{\n        name: \"first\",\n        serviceDelegation: {\n            name: \"Microsoft.HardwareSecurityModules/dedicatedHSMs\",\n            actions: [\n                \"Microsoft.Network/networkinterfaces/*\",\n                \"Microsoft.Network/virtualNetworks/subnets/join/action\",\n            ],\n        },\n    }],\n});\nconst example3 = new azure.network.Subnet(\"example3\", {\n    name: \"gatewaysubnet\",\n    resourceGroupName: example.name,\n    virtualNetworkName: exampleVirtualNetwork.name,\n    addressPrefixes: [\"10.2.255.0/26\"],\n});\nconst examplePublicIp = new azure.network.PublicIp(\"example\", {\n    name: \"example-pip\",\n    location: example.location,\n    resourceGroupName: example.name,\n    allocationMethod: \"Static\",\n});\nconst exampleVirtualNetworkGateway = new azure.network.VirtualNetworkGateway(\"example\", {\n    name: \"example-vnetgateway\",\n    location: example.location,\n    resourceGroupName: example.name,\n    type: \"ExpressRoute\",\n    vpnType: \"PolicyBased\",\n    sku: \"Standard\",\n    ipConfigurations: [{\n        publicIpAddressId: examplePublicIp.id,\n        privateIpAddressAllocation: \"Dynamic\",\n        subnetId: example3.id,\n    }],\n});\nconst exampleModule = new azure.hsm.Module(\"example\", {\n    name: \"example-hsm\",\n    location: example.location,\n    resourceGroupName: example.name,\n    skuName: \"payShield10K_LMK1_CPS60\",\n    managementNetworkProfile: {\n        networkInterfacePrivateIpAddresses: [\"10.2.1.7\"],\n        subnetId: example2.id,\n    },\n    networkProfile: {\n        networkInterfacePrivateIpAddresses: [\"10.2.1.8\"],\n        subnetId: example2.id,\n    },\n    stampId: \"stamp2\",\n    tags: {\n        env: \"Test\",\n    },\n}, {\n    dependsOn: [exampleVirtualNetworkGateway],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_virtual_network = azure.network.VirtualNetwork(\"example\",\n    name=\"example-vnet\",\n    address_spaces=[\"10.2.0.0/16\"],\n    location=example.location,\n    resource_group_name=example.name)\nexample_subnet = azure.network.Subnet(\"example\",\n    name=\"example-compute\",\n    resource_group_name=example.name,\n    virtual_network_name=example_virtual_network.name,\n    address_prefixes=[\"10.2.0.0/24\"])\nexample2 = azure.network.Subnet(\"example2\",\n    name=\"example-hsmsubnet\",\n    resource_group_name=example.name,\n    virtual_network_name=example_virtual_network.name,\n    address_prefixes=[\"10.2.1.0/24\"],\n    delegations=[{\n        \"name\": \"first\",\n        \"service_delegation\": {\n            \"name\": \"Microsoft.HardwareSecurityModules/dedicatedHSMs\",\n            \"actions\": [\n                \"Microsoft.Network/networkinterfaces/*\",\n                \"Microsoft.Network/virtualNetworks/subnets/join/action\",\n            ],\n        },\n    }])\nexample3 = azure.network.Subnet(\"example3\",\n    name=\"gatewaysubnet\",\n    resource_group_name=example.name,\n    virtual_network_name=example_virtual_network.name,\n    address_prefixes=[\"10.2.255.0/26\"])\nexample_public_ip = azure.network.PublicIp(\"example\",\n    name=\"example-pip\",\n    location=example.location,\n    resource_group_name=example.name,\n    allocation_method=\"Static\")\nexample_virtual_network_gateway = azure.network.VirtualNetworkGateway(\"example\",\n    name=\"example-vnetgateway\",\n    location=example.location,\n    resource_group_name=example.name,\n    type=\"ExpressRoute\",\n    vpn_type=\"PolicyBased\",\n    sku=\"Standard\",\n    ip_configurations=[{\n        \"public_ip_address_id\": example_public_ip.id,\n        \"private_ip_address_allocation\": \"Dynamic\",\n        \"subnet_id\": example3.id,\n    }])\nexample_module = azure.hsm.Module(\"example\",\n    name=\"example-hsm\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku_name=\"payShield10K_LMK1_CPS60\",\n    management_network_profile={\n        \"network_interface_private_ip_addresses\": [\"10.2.1.7\"],\n        \"subnet_id\": example2.id,\n    },\n    network_profile={\n        \"network_interface_private_ip_addresses\": [\"10.2.1.8\"],\n        \"subnet_id\": example2.id,\n    },\n    stamp_id=\"stamp2\",\n    tags={\n        \"env\": \"Test\",\n    },\n    opts = pulumi.ResourceOptions(depends_on=[example_virtual_network_gateway]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleVirtualNetwork = new Azure.Network.VirtualNetwork(\"example\", new()\n    {\n        Name = \"example-vnet\",\n        AddressSpaces = new[]\n        {\n            \"10.2.0.0/16\",\n        },\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n    });\n\n    var exampleSubnet = new Azure.Network.Subnet(\"example\", new()\n    {\n        Name = \"example-compute\",\n        ResourceGroupName = example.Name,\n        VirtualNetworkName = exampleVirtualNetwork.Name,\n        AddressPrefixes = new[]\n        {\n            \"10.2.0.0/24\",\n        },\n    });\n\n    var example2 = new Azure.Network.Subnet(\"example2\", new()\n    {\n        Name = \"example-hsmsubnet\",\n        ResourceGroupName = example.Name,\n        VirtualNetworkName = exampleVirtualNetwork.Name,\n        AddressPrefixes = new[]\n        {\n            \"10.2.1.0/24\",\n        },\n        Delegations = new[]\n        {\n            new Azure.Network.Inputs.SubnetDelegationArgs\n            {\n                Name = \"first\",\n                ServiceDelegation = new Azure.Network.Inputs.SubnetDelegationServiceDelegationArgs\n                {\n                    Name = \"Microsoft.HardwareSecurityModules/dedicatedHSMs\",\n                    Actions = new[]\n                    {\n                        \"Microsoft.Network/networkinterfaces/*\",\n                        \"Microsoft.Network/virtualNetworks/subnets/join/action\",\n                    },\n                },\n            },\n        },\n    });\n\n    var example3 = new Azure.Network.Subnet(\"example3\", new()\n    {\n        Name = \"gatewaysubnet\",\n        ResourceGroupName = example.Name,\n        VirtualNetworkName = exampleVirtualNetwork.Name,\n        AddressPrefixes = new[]\n        {\n            \"10.2.255.0/26\",\n        },\n    });\n\n    var examplePublicIp = new Azure.Network.PublicIp(\"example\", new()\n    {\n        Name = \"example-pip\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        AllocationMethod = \"Static\",\n    });\n\n    var exampleVirtualNetworkGateway = new Azure.Network.VirtualNetworkGateway(\"example\", new()\n    {\n        Name = \"example-vnetgateway\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Type = \"ExpressRoute\",\n        VpnType = \"PolicyBased\",\n        Sku = \"Standard\",\n        IpConfigurations = new[]\n        {\n            new Azure.Network.Inputs.VirtualNetworkGatewayIpConfigurationArgs\n            {\n                PublicIpAddressId = examplePublicIp.Id,\n                PrivateIpAddressAllocation = \"Dynamic\",\n                SubnetId = example3.Id,\n            },\n        },\n    });\n\n    var exampleModule = new Azure.Hsm.Module(\"example\", new()\n    {\n        Name = \"example-hsm\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        SkuName = \"payShield10K_LMK1_CPS60\",\n        ManagementNetworkProfile = new Azure.Hsm.Inputs.ModuleManagementNetworkProfileArgs\n        {\n            NetworkInterfacePrivateIpAddresses = new[]\n            {\n                \"10.2.1.7\",\n            },\n            SubnetId = example2.Id,\n        },\n        NetworkProfile = new Azure.Hsm.Inputs.ModuleNetworkProfileArgs\n        {\n            NetworkInterfacePrivateIpAddresses = new[]\n            {\n                \"10.2.1.8\",\n            },\n            SubnetId = example2.Id,\n        },\n        StampId = \"stamp2\",\n        Tags = \n        {\n            { \"env\", \"Test\" },\n        },\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            exampleVirtualNetworkGateway,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/hsm\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, \"example\", \u0026network.VirtualNetworkArgs{\n\t\t\tName: pulumi.String(\"example-vnet\"),\n\t\t\tAddressSpaces: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.2.0.0/16\"),\n\t\t\t},\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = network.NewSubnet(ctx, \"example\", \u0026network.SubnetArgs{\n\t\t\tName:               pulumi.String(\"example-compute\"),\n\t\t\tResourceGroupName:  example.Name,\n\t\t\tVirtualNetworkName: exampleVirtualNetwork.Name,\n\t\t\tAddressPrefixes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.2.0.0/24\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample2, err := network.NewSubnet(ctx, \"example2\", \u0026network.SubnetArgs{\n\t\t\tName:               pulumi.String(\"example-hsmsubnet\"),\n\t\t\tResourceGroupName:  example.Name,\n\t\t\tVirtualNetworkName: exampleVirtualNetwork.Name,\n\t\t\tAddressPrefixes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.2.1.0/24\"),\n\t\t\t},\n\t\t\tDelegations: network.SubnetDelegationArray{\n\t\t\t\t\u0026network.SubnetDelegationArgs{\n\t\t\t\t\tName: pulumi.String(\"first\"),\n\t\t\t\t\tServiceDelegation: \u0026network.SubnetDelegationServiceDelegationArgs{\n\t\t\t\t\t\tName: pulumi.String(\"Microsoft.HardwareSecurityModules/dedicatedHSMs\"),\n\t\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"Microsoft.Network/networkinterfaces/*\"),\n\t\t\t\t\t\t\tpulumi.String(\"Microsoft.Network/virtualNetworks/subnets/join/action\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample3, err := network.NewSubnet(ctx, \"example3\", \u0026network.SubnetArgs{\n\t\t\tName:               pulumi.String(\"gatewaysubnet\"),\n\t\t\tResourceGroupName:  example.Name,\n\t\t\tVirtualNetworkName: exampleVirtualNetwork.Name,\n\t\t\tAddressPrefixes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.2.255.0/26\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texamplePublicIp, err := network.NewPublicIp(ctx, \"example\", \u0026network.PublicIpArgs{\n\t\t\tName:              pulumi.String(\"example-pip\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tAllocationMethod:  pulumi.String(\"Static\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualNetworkGateway, err := network.NewVirtualNetworkGateway(ctx, \"example\", \u0026network.VirtualNetworkGatewayArgs{\n\t\t\tName:              pulumi.String(\"example-vnetgateway\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tType:              pulumi.String(\"ExpressRoute\"),\n\t\t\tVpnType:           pulumi.String(\"PolicyBased\"),\n\t\t\tSku:               pulumi.String(\"Standard\"),\n\t\t\tIpConfigurations: network.VirtualNetworkGatewayIpConfigurationArray{\n\t\t\t\t\u0026network.VirtualNetworkGatewayIpConfigurationArgs{\n\t\t\t\t\tPublicIpAddressId:          examplePublicIp.ID(),\n\t\t\t\t\tPrivateIpAddressAllocation: pulumi.String(\"Dynamic\"),\n\t\t\t\t\tSubnetId:                   example3.ID(),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = hsm.NewModule(ctx, \"example\", \u0026hsm.ModuleArgs{\n\t\t\tName:              pulumi.String(\"example-hsm\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSkuName:           pulumi.String(\"payShield10K_LMK1_CPS60\"),\n\t\t\tManagementNetworkProfile: \u0026hsm.ModuleManagementNetworkProfileArgs{\n\t\t\t\tNetworkInterfacePrivateIpAddresses: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"10.2.1.7\"),\n\t\t\t\t},\n\t\t\t\tSubnetId: example2.ID(),\n\t\t\t},\n\t\t\tNetworkProfile: \u0026hsm.ModuleNetworkProfileArgs{\n\t\t\t\tNetworkInterfacePrivateIpAddresses: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"10.2.1.8\"),\n\t\t\t\t},\n\t\t\t\tSubnetId: example2.ID(),\n\t\t\t},\n\t\t\tStampId: pulumi.String(\"stamp2\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"env\": pulumi.String(\"Test\"),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleVirtualNetworkGateway,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.VirtualNetwork;\nimport com.pulumi.azure.network.VirtualNetworkArgs;\nimport com.pulumi.azure.network.Subnet;\nimport com.pulumi.azure.network.SubnetArgs;\nimport com.pulumi.azure.network.inputs.SubnetDelegationArgs;\nimport com.pulumi.azure.network.inputs.SubnetDelegationServiceDelegationArgs;\nimport com.pulumi.azure.network.PublicIp;\nimport com.pulumi.azure.network.PublicIpArgs;\nimport com.pulumi.azure.network.VirtualNetworkGateway;\nimport com.pulumi.azure.network.VirtualNetworkGatewayArgs;\nimport com.pulumi.azure.network.inputs.VirtualNetworkGatewayIpConfigurationArgs;\nimport com.pulumi.azure.hsm.Module;\nimport com.pulumi.azure.hsm.ModuleArgs;\nimport com.pulumi.azure.hsm.inputs.ModuleManagementNetworkProfileArgs;\nimport com.pulumi.azure.hsm.inputs.ModuleNetworkProfileArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleVirtualNetwork = new VirtualNetwork(\"exampleVirtualNetwork\", VirtualNetworkArgs.builder()\n            .name(\"example-vnet\")\n            .addressSpaces(\"10.2.0.0/16\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .build());\n\n        var exampleSubnet = new Subnet(\"exampleSubnet\", SubnetArgs.builder()\n            .name(\"example-compute\")\n            .resourceGroupName(example.name())\n            .virtualNetworkName(exampleVirtualNetwork.name())\n            .addressPrefixes(\"10.2.0.0/24\")\n            .build());\n\n        var example2 = new Subnet(\"example2\", SubnetArgs.builder()\n            .name(\"example-hsmsubnet\")\n            .resourceGroupName(example.name())\n            .virtualNetworkName(exampleVirtualNetwork.name())\n            .addressPrefixes(\"10.2.1.0/24\")\n            .delegations(SubnetDelegationArgs.builder()\n                .name(\"first\")\n                .serviceDelegation(SubnetDelegationServiceDelegationArgs.builder()\n                    .name(\"Microsoft.HardwareSecurityModules/dedicatedHSMs\")\n                    .actions(                    \n                        \"Microsoft.Network/networkinterfaces/*\",\n                        \"Microsoft.Network/virtualNetworks/subnets/join/action\")\n                    .build())\n                .build())\n            .build());\n\n        var example3 = new Subnet(\"example3\", SubnetArgs.builder()\n            .name(\"gatewaysubnet\")\n            .resourceGroupName(example.name())\n            .virtualNetworkName(exampleVirtualNetwork.name())\n            .addressPrefixes(\"10.2.255.0/26\")\n            .build());\n\n        var examplePublicIp = new PublicIp(\"examplePublicIp\", PublicIpArgs.builder()\n            .name(\"example-pip\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .allocationMethod(\"Static\")\n            .build());\n\n        var exampleVirtualNetworkGateway = new VirtualNetworkGateway(\"exampleVirtualNetworkGateway\", VirtualNetworkGatewayArgs.builder()\n            .name(\"example-vnetgateway\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .type(\"ExpressRoute\")\n            .vpnType(\"PolicyBased\")\n            .sku(\"Standard\")\n            .ipConfigurations(VirtualNetworkGatewayIpConfigurationArgs.builder()\n                .publicIpAddressId(examplePublicIp.id())\n                .privateIpAddressAllocation(\"Dynamic\")\n                .subnetId(example3.id())\n                .build())\n            .build());\n\n        var exampleModule = new Module(\"exampleModule\", ModuleArgs.builder()\n            .name(\"example-hsm\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .skuName(\"payShield10K_LMK1_CPS60\")\n            .managementNetworkProfile(ModuleManagementNetworkProfileArgs.builder()\n                .networkInterfacePrivateIpAddresses(\"10.2.1.7\")\n                .subnetId(example2.id())\n                .build())\n            .networkProfile(ModuleNetworkProfileArgs.builder()\n                .networkInterfacePrivateIpAddresses(\"10.2.1.8\")\n                .subnetId(example2.id())\n                .build())\n            .stampId(\"stamp2\")\n            .tags(Map.of(\"env\", \"Test\"))\n            .build(), CustomResourceOptions.builder()\n                .dependsOn(exampleVirtualNetworkGateway)\n                .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleVirtualNetwork:\n    type: azure:network:VirtualNetwork\n    name: example\n    properties:\n      name: example-vnet\n      addressSpaces:\n        - 10.2.0.0/16\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n  exampleSubnet:\n    type: azure:network:Subnet\n    name: example\n    properties:\n      name: example-compute\n      resourceGroupName: ${example.name}\n      virtualNetworkName: ${exampleVirtualNetwork.name}\n      addressPrefixes:\n        - 10.2.0.0/24\n  example2:\n    type: azure:network:Subnet\n    properties:\n      name: example-hsmsubnet\n      resourceGroupName: ${example.name}\n      virtualNetworkName: ${exampleVirtualNetwork.name}\n      addressPrefixes:\n        - 10.2.1.0/24\n      delegations:\n        - name: first\n          serviceDelegation:\n            name: Microsoft.HardwareSecurityModules/dedicatedHSMs\n            actions:\n              - Microsoft.Network/networkinterfaces/*\n              - Microsoft.Network/virtualNetworks/subnets/join/action\n  example3:\n    type: azure:network:Subnet\n    properties:\n      name: gatewaysubnet\n      resourceGroupName: ${example.name}\n      virtualNetworkName: ${exampleVirtualNetwork.name}\n      addressPrefixes:\n        - 10.2.255.0/26\n  examplePublicIp:\n    type: azure:network:PublicIp\n    name: example\n    properties:\n      name: example-pip\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      allocationMethod: Static\n  exampleVirtualNetworkGateway:\n    type: azure:network:VirtualNetworkGateway\n    name: example\n    properties:\n      name: example-vnetgateway\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      type: ExpressRoute\n      vpnType: PolicyBased\n      sku: Standard\n      ipConfigurations:\n        - publicIpAddressId: ${examplePublicIp.id}\n          privateIpAddressAllocation: Dynamic\n          subnetId: ${example3.id}\n  exampleModule:\n    type: azure:hsm:Module\n    name: example\n    properties:\n      name: example-hsm\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      skuName: payShield10K_LMK1_CPS60\n      managementNetworkProfile:\n        networkInterfacePrivateIpAddresses:\n          - 10.2.1.7\n        subnetId: ${example2.id}\n      networkProfile:\n        networkInterfacePrivateIpAddresses:\n          - 10.2.1.8\n        subnetId: ${example2.id}\n      stampId: stamp2\n      tags:\n        env: Test\n    options:\n      dependsOn:\n        - ${exampleVirtualNetworkGateway}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.HardwareSecurityModules` - 2021-11-30\n\n## Import\n\nDedicated Hardware Security Module can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:hsm/module:Module example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.HardwareSecurityModules/dedicatedHSMs/hsm1\n```\n\n","properties":{"location":{"type":"string","description":"The Azure Region where the Dedicated Hardware Security Module should exist. Changing this forces a new Dedicated Hardware Security Module to be created.\n"},"managementNetworkProfile":{"$ref":"#/types/azure:hsm/ModuleManagementNetworkProfile:ModuleManagementNetworkProfile","description":"A \u003cspan pulumi-lang-nodejs=\"`managementNetworkProfile`\" pulumi-lang-dotnet=\"`ManagementNetworkProfile`\" pulumi-lang-go=\"`managementNetworkProfile`\" pulumi-lang-python=\"`management_network_profile`\" pulumi-lang-yaml=\"`managementNetworkProfile`\" pulumi-lang-java=\"`managementNetworkProfile`\"\u003e`management_network_profile`\u003c/span\u003e block as defined below.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`managementNetworkProfile`\" pulumi-lang-dotnet=\"`ManagementNetworkProfile`\" pulumi-lang-go=\"`managementNetworkProfile`\" pulumi-lang-python=\"`management_network_profile`\" pulumi-lang-yaml=\"`managementNetworkProfile`\" pulumi-lang-java=\"`managementNetworkProfile`\"\u003e`management_network_profile`\u003c/span\u003e should not be specified when \u003cspan pulumi-lang-nodejs=\"`skuName`\" pulumi-lang-dotnet=\"`SkuName`\" pulumi-lang-go=\"`skuName`\" pulumi-lang-python=\"`sku_name`\" pulumi-lang-yaml=\"`skuName`\" pulumi-lang-java=\"`skuName`\"\u003e`sku_name`\u003c/span\u003e is `SafeNet Luna Network HSM A790`.\n"},"name":{"type":"string","description":"The name which should be used for this Dedicated Hardware Security Module. Changing this forces a new Dedicated Hardware Security Module to be created.\n"},"networkProfile":{"$ref":"#/types/azure:hsm/ModuleNetworkProfile:ModuleNetworkProfile","description":"A \u003cspan pulumi-lang-nodejs=\"`networkProfile`\" pulumi-lang-dotnet=\"`NetworkProfile`\" pulumi-lang-go=\"`networkProfile`\" pulumi-lang-python=\"`network_profile`\" pulumi-lang-yaml=\"`networkProfile`\" pulumi-lang-java=\"`networkProfile`\"\u003e`network_profile`\u003c/span\u003e block as defined below.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Dedicated Hardware Security Module should exist. Changing this forces a new Dedicated Hardware Security Module to be created.\n"},"skuName":{"type":"string","description":"The SKU name of the dedicated hardware security module. Possible values are `payShield10K_LMK1_CPS60`,`payShield10K_LMK1_CPS250`,`payShield10K_LMK1_CPS2500`,`payShield10K_LMK2_CPS60`,`payShield10K_LMK2_CPS250`,`payShield10K_LMK2_CPS2500` and `SafeNet Luna Network HSM A790`. Changing this forces a new Dedicated Hardware Security Module to be created.\n"},"stampId":{"type":"string","description":"The ID of the stamp. Possible values are \u003cspan pulumi-lang-nodejs=\"`stamp1`\" pulumi-lang-dotnet=\"`Stamp1`\" pulumi-lang-go=\"`stamp1`\" pulumi-lang-python=\"`stamp1`\" pulumi-lang-yaml=\"`stamp1`\" pulumi-lang-java=\"`stamp1`\"\u003e`stamp1`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`stamp2`\" pulumi-lang-dotnet=\"`Stamp2`\" pulumi-lang-go=\"`stamp2`\" pulumi-lang-python=\"`stamp2`\" pulumi-lang-yaml=\"`stamp2`\" pulumi-lang-java=\"`stamp2`\"\u003e`stamp2`\u003c/span\u003e. Changing this forces a new Dedicated Hardware Security Module to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Dedicated Hardware Security Module.\n"},"zones":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Availability Zones in which this Dedicated Hardware Security Module should be located. Changing this forces a new Dedicated Hardware Security Module to be created.\n"}},"required":["location","name","networkProfile","resourceGroupName","skuName"],"inputProperties":{"location":{"type":"string","description":"The Azure Region where the Dedicated Hardware Security Module should exist. Changing this forces a new Dedicated Hardware Security Module to be created.\n","willReplaceOnChanges":true},"managementNetworkProfile":{"$ref":"#/types/azure:hsm/ModuleManagementNetworkProfile:ModuleManagementNetworkProfile","description":"A \u003cspan pulumi-lang-nodejs=\"`managementNetworkProfile`\" pulumi-lang-dotnet=\"`ManagementNetworkProfile`\" pulumi-lang-go=\"`managementNetworkProfile`\" pulumi-lang-python=\"`management_network_profile`\" pulumi-lang-yaml=\"`managementNetworkProfile`\" pulumi-lang-java=\"`managementNetworkProfile`\"\u003e`management_network_profile`\u003c/span\u003e block as defined below.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`managementNetworkProfile`\" pulumi-lang-dotnet=\"`ManagementNetworkProfile`\" pulumi-lang-go=\"`managementNetworkProfile`\" pulumi-lang-python=\"`management_network_profile`\" pulumi-lang-yaml=\"`managementNetworkProfile`\" pulumi-lang-java=\"`managementNetworkProfile`\"\u003e`management_network_profile`\u003c/span\u003e should not be specified when \u003cspan pulumi-lang-nodejs=\"`skuName`\" pulumi-lang-dotnet=\"`SkuName`\" pulumi-lang-go=\"`skuName`\" pulumi-lang-python=\"`sku_name`\" pulumi-lang-yaml=\"`skuName`\" pulumi-lang-java=\"`skuName`\"\u003e`sku_name`\u003c/span\u003e is `SafeNet Luna Network HSM A790`.\n"},"name":{"type":"string","description":"The name which should be used for this Dedicated Hardware Security Module. Changing this forces a new Dedicated Hardware Security Module to be created.\n","willReplaceOnChanges":true},"networkProfile":{"$ref":"#/types/azure:hsm/ModuleNetworkProfile:ModuleNetworkProfile","description":"A \u003cspan pulumi-lang-nodejs=\"`networkProfile`\" pulumi-lang-dotnet=\"`NetworkProfile`\" pulumi-lang-go=\"`networkProfile`\" pulumi-lang-python=\"`network_profile`\" pulumi-lang-yaml=\"`networkProfile`\" pulumi-lang-java=\"`networkProfile`\"\u003e`network_profile`\u003c/span\u003e block as defined below.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Dedicated Hardware Security Module should exist. Changing this forces a new Dedicated Hardware Security Module to be created.\n","willReplaceOnChanges":true},"skuName":{"type":"string","description":"The SKU name of the dedicated hardware security module. Possible values are `payShield10K_LMK1_CPS60`,`payShield10K_LMK1_CPS250`,`payShield10K_LMK1_CPS2500`,`payShield10K_LMK2_CPS60`,`payShield10K_LMK2_CPS250`,`payShield10K_LMK2_CPS2500` and `SafeNet Luna Network HSM A790`. Changing this forces a new Dedicated Hardware Security Module to be created.\n","willReplaceOnChanges":true},"stampId":{"type":"string","description":"The ID of the stamp. Possible values are \u003cspan pulumi-lang-nodejs=\"`stamp1`\" pulumi-lang-dotnet=\"`Stamp1`\" pulumi-lang-go=\"`stamp1`\" pulumi-lang-python=\"`stamp1`\" pulumi-lang-yaml=\"`stamp1`\" pulumi-lang-java=\"`stamp1`\"\u003e`stamp1`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`stamp2`\" pulumi-lang-dotnet=\"`Stamp2`\" pulumi-lang-go=\"`stamp2`\" pulumi-lang-python=\"`stamp2`\" pulumi-lang-yaml=\"`stamp2`\" pulumi-lang-java=\"`stamp2`\"\u003e`stamp2`\u003c/span\u003e. Changing this forces a new Dedicated Hardware Security Module to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Dedicated Hardware Security Module.\n"},"zones":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Availability Zones in which this Dedicated Hardware Security Module should be located. Changing this forces a new Dedicated Hardware Security Module to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["networkProfile","resourceGroupName","skuName"],"stateInputs":{"description":"Input properties used for looking up and filtering Module resources.\n","properties":{"location":{"type":"string","description":"The Azure Region where the Dedicated Hardware Security Module should exist. Changing this forces a new Dedicated Hardware Security Module to be created.\n","willReplaceOnChanges":true},"managementNetworkProfile":{"$ref":"#/types/azure:hsm/ModuleManagementNetworkProfile:ModuleManagementNetworkProfile","description":"A \u003cspan pulumi-lang-nodejs=\"`managementNetworkProfile`\" pulumi-lang-dotnet=\"`ManagementNetworkProfile`\" pulumi-lang-go=\"`managementNetworkProfile`\" pulumi-lang-python=\"`management_network_profile`\" pulumi-lang-yaml=\"`managementNetworkProfile`\" pulumi-lang-java=\"`managementNetworkProfile`\"\u003e`management_network_profile`\u003c/span\u003e block as defined below.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`managementNetworkProfile`\" pulumi-lang-dotnet=\"`ManagementNetworkProfile`\" pulumi-lang-go=\"`managementNetworkProfile`\" pulumi-lang-python=\"`management_network_profile`\" pulumi-lang-yaml=\"`managementNetworkProfile`\" pulumi-lang-java=\"`managementNetworkProfile`\"\u003e`management_network_profile`\u003c/span\u003e should not be specified when \u003cspan pulumi-lang-nodejs=\"`skuName`\" pulumi-lang-dotnet=\"`SkuName`\" pulumi-lang-go=\"`skuName`\" pulumi-lang-python=\"`sku_name`\" pulumi-lang-yaml=\"`skuName`\" pulumi-lang-java=\"`skuName`\"\u003e`sku_name`\u003c/span\u003e is `SafeNet Luna Network HSM A790`.\n"},"name":{"type":"string","description":"The name which should be used for this Dedicated Hardware Security Module. Changing this forces a new Dedicated Hardware Security Module to be created.\n","willReplaceOnChanges":true},"networkProfile":{"$ref":"#/types/azure:hsm/ModuleNetworkProfile:ModuleNetworkProfile","description":"A \u003cspan pulumi-lang-nodejs=\"`networkProfile`\" pulumi-lang-dotnet=\"`NetworkProfile`\" pulumi-lang-go=\"`networkProfile`\" pulumi-lang-python=\"`network_profile`\" pulumi-lang-yaml=\"`networkProfile`\" pulumi-lang-java=\"`networkProfile`\"\u003e`network_profile`\u003c/span\u003e block as defined below.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Dedicated Hardware Security Module should exist. Changing this forces a new Dedicated Hardware Security Module to be created.\n","willReplaceOnChanges":true},"skuName":{"type":"string","description":"The SKU name of the dedicated hardware security module. Possible values are `payShield10K_LMK1_CPS60`,`payShield10K_LMK1_CPS250`,`payShield10K_LMK1_CPS2500`,`payShield10K_LMK2_CPS60`,`payShield10K_LMK2_CPS250`,`payShield10K_LMK2_CPS2500` and `SafeNet Luna Network HSM A790`. Changing this forces a new Dedicated Hardware Security Module to be created.\n","willReplaceOnChanges":true},"stampId":{"type":"string","description":"The ID of the stamp. Possible values are \u003cspan pulumi-lang-nodejs=\"`stamp1`\" pulumi-lang-dotnet=\"`Stamp1`\" pulumi-lang-go=\"`stamp1`\" pulumi-lang-python=\"`stamp1`\" pulumi-lang-yaml=\"`stamp1`\" pulumi-lang-java=\"`stamp1`\"\u003e`stamp1`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`stamp2`\" pulumi-lang-dotnet=\"`Stamp2`\" pulumi-lang-go=\"`stamp2`\" pulumi-lang-python=\"`stamp2`\" pulumi-lang-yaml=\"`stamp2`\" pulumi-lang-java=\"`stamp2`\"\u003e`stamp2`\u003c/span\u003e. Changing this forces a new Dedicated Hardware Security Module to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Dedicated Hardware Security Module.\n"},"zones":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Availability Zones in which this Dedicated Hardware Security Module should be located. Changing this forces a new Dedicated Hardware Security Module to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:iot/certificate:Certificate":{"description":"Manages an IotHub Certificate.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\nimport * as std from \"@pulumi/std\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleIoTHub = new azure.iot.IoTHub(\"example\", {\n    name: \"example\",\n    resourceGroupName: example.name,\n    location: example.location,\n    sku: {\n        name: \"B1\",\n        capacity: 1,\n    },\n});\nconst exampleCertificate = new azure.iot.Certificate(\"example\", {\n    name: \"example\",\n    resourceGroupName: example.name,\n    iothubName: exampleIoTHub.name,\n    isVerified: true,\n    certificateContent: std.filebase64({\n        input: \"example.cer\",\n    }).then(invoke =\u003e invoke.result),\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\nimport pulumi_std as std\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_io_t_hub = azure.iot.IoTHub(\"example\",\n    name=\"example\",\n    resource_group_name=example.name,\n    location=example.location,\n    sku={\n        \"name\": \"B1\",\n        \"capacity\": 1,\n    })\nexample_certificate = azure.iot.Certificate(\"example\",\n    name=\"example\",\n    resource_group_name=example.name,\n    iothub_name=example_io_t_hub.name,\n    is_verified=True,\n    certificate_content=std.filebase64(input=\"example.cer\").result)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleIoTHub = new Azure.Iot.IoTHub(\"example\", new()\n    {\n        Name = \"example\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        Sku = new Azure.Iot.Inputs.IoTHubSkuArgs\n        {\n            Name = \"B1\",\n            Capacity = 1,\n        },\n    });\n\n    var exampleCertificate = new Azure.Iot.Certificate(\"example\", new()\n    {\n        Name = \"example\",\n        ResourceGroupName = example.Name,\n        IothubName = exampleIoTHub.Name,\n        IsVerified = true,\n        CertificateContent = Std.Filebase64.Invoke(new()\n        {\n            Input = \"example.cer\",\n        }).Apply(invoke =\u003e invoke.Result),\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/iot\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleIoTHub, err := iot.NewIoTHub(ctx, \"example\", \u0026iot.IoTHubArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tSku: \u0026iot.IoTHubSkuArgs{\n\t\t\t\tName:     pulumi.String(\"B1\"),\n\t\t\t\tCapacity: pulumi.Int(1),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFilebase64, err := std.Filebase64(ctx, \u0026std.Filebase64Args{\n\t\t\tInput: \"example.cer\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iot.NewCertificate(ctx, \"example\", \u0026iot.CertificateArgs{\n\t\t\tName:               pulumi.String(\"example\"),\n\t\t\tResourceGroupName:  example.Name,\n\t\t\tIothubName:         exampleIoTHub.Name,\n\t\t\tIsVerified:         pulumi.Bool(true),\n\t\t\tCertificateContent: pulumi.String(invokeFilebase64.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.iot.IoTHub;\nimport com.pulumi.azure.iot.IoTHubArgs;\nimport com.pulumi.azure.iot.inputs.IoTHubSkuArgs;\nimport com.pulumi.azure.iot.Certificate;\nimport com.pulumi.azure.iot.CertificateArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.Filebase64Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleIoTHub = new IoTHub(\"exampleIoTHub\", IoTHubArgs.builder()\n            .name(\"example\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .sku(IoTHubSkuArgs.builder()\n                .name(\"B1\")\n                .capacity(1)\n                .build())\n            .build());\n\n        var exampleCertificate = new Certificate(\"exampleCertificate\", CertificateArgs.builder()\n            .name(\"example\")\n            .resourceGroupName(example.name())\n            .iothubName(exampleIoTHub.name())\n            .isVerified(true)\n            .certificateContent(StdFunctions.filebase64(Filebase64Args.builder()\n                .input(\"example.cer\")\n                .build()).result())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleIoTHub:\n    type: azure:iot:IoTHub\n    name: example\n    properties:\n      name: example\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      sku:\n        name: B1\n        capacity: '1'\n  exampleCertificate:\n    type: azure:iot:Certificate\n    name: example\n    properties:\n      name: example\n      resourceGroupName: ${example.name}\n      iothubName: ${exampleIoTHub.name}\n      isVerified: true\n      certificateContent:\n        fn::invoke:\n          function: std:filebase64\n          arguments:\n            input: example.cer\n          return: result\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nIoTHub Certificates can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:iot/certificate:Certificate example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Devices/iotHubs/example/certificates/example\n```\n\n","properties":{"certificateContent":{"type":"string","description":"The Base-64 representation of the X509 leaf certificate .cer file or just a .pem file content.\n","secret":true},"iothubName":{"type":"string","description":"The name of the IoTHub that this certificate will be attached to. Changing this forces a new resource to be created.\n"},"isVerified":{"type":"boolean","description":"Is the certificate verified? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"name":{"type":"string","description":"Specifies the name of the IotHub Certificate resource. Changing this forces a new resource to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group under which the IotHub Certificate resource has to be created. Changing this forces a new resource to be created.\n"}},"required":["certificateContent","iothubName","name","resourceGroupName"],"inputProperties":{"certificateContent":{"type":"string","description":"The Base-64 representation of the X509 leaf certificate .cer file or just a .pem file content.\n","secret":true},"iothubName":{"type":"string","description":"The name of the IoTHub that this certificate will be attached to. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"isVerified":{"type":"boolean","description":"Is the certificate verified? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"name":{"type":"string","description":"Specifies the name of the IotHub Certificate resource. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group under which the IotHub Certificate resource has to be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["certificateContent","iothubName","resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering Certificate resources.\n","properties":{"certificateContent":{"type":"string","description":"The Base-64 representation of the X509 leaf certificate .cer file or just a .pem file content.\n","secret":true},"iothubName":{"type":"string","description":"The name of the IoTHub that this certificate will be attached to. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"isVerified":{"type":"boolean","description":"Is the certificate verified? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"name":{"type":"string","description":"Specifies the name of the IotHub Certificate resource. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group under which the IotHub Certificate resource has to be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:iot/consumerGroup:ConsumerGroup":{"description":"Manages a Consumer Group within an IotHub\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleIoTHub = new azure.iot.IoTHub(\"example\", {\n    name: \"test\",\n    resourceGroupName: example.name,\n    location: example.location,\n    sku: {\n        name: \"S1\",\n        capacity: 1,\n    },\n    tags: {\n        purpose: \"testing\",\n    },\n});\nconst exampleConsumerGroup = new azure.iot.ConsumerGroup(\"example\", {\n    name: \"group\",\n    iothubName: exampleIoTHub.name,\n    eventhubEndpointName: \"events\",\n    resourceGroupName: example.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_io_t_hub = azure.iot.IoTHub(\"example\",\n    name=\"test\",\n    resource_group_name=example.name,\n    location=example.location,\n    sku={\n        \"name\": \"S1\",\n        \"capacity\": 1,\n    },\n    tags={\n        \"purpose\": \"testing\",\n    })\nexample_consumer_group = azure.iot.ConsumerGroup(\"example\",\n    name=\"group\",\n    iothub_name=example_io_t_hub.name,\n    eventhub_endpoint_name=\"events\",\n    resource_group_name=example.name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleIoTHub = new Azure.Iot.IoTHub(\"example\", new()\n    {\n        Name = \"test\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        Sku = new Azure.Iot.Inputs.IoTHubSkuArgs\n        {\n            Name = \"S1\",\n            Capacity = 1,\n        },\n        Tags = \n        {\n            { \"purpose\", \"testing\" },\n        },\n    });\n\n    var exampleConsumerGroup = new Azure.Iot.ConsumerGroup(\"example\", new()\n    {\n        Name = \"group\",\n        IothubName = exampleIoTHub.Name,\n        EventhubEndpointName = \"events\",\n        ResourceGroupName = example.Name,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/iot\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleIoTHub, err := iot.NewIoTHub(ctx, \"example\", \u0026iot.IoTHubArgs{\n\t\t\tName:              pulumi.String(\"test\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tSku: \u0026iot.IoTHubSkuArgs{\n\t\t\t\tName:     pulumi.String(\"S1\"),\n\t\t\t\tCapacity: pulumi.Int(1),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"purpose\": pulumi.String(\"testing\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iot.NewConsumerGroup(ctx, \"example\", \u0026iot.ConsumerGroupArgs{\n\t\t\tName:                 pulumi.String(\"group\"),\n\t\t\tIothubName:           exampleIoTHub.Name,\n\t\t\tEventhubEndpointName: pulumi.String(\"events\"),\n\t\t\tResourceGroupName:    example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.iot.IoTHub;\nimport com.pulumi.azure.iot.IoTHubArgs;\nimport com.pulumi.azure.iot.inputs.IoTHubSkuArgs;\nimport com.pulumi.azure.iot.ConsumerGroup;\nimport com.pulumi.azure.iot.ConsumerGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleIoTHub = new IoTHub(\"exampleIoTHub\", IoTHubArgs.builder()\n            .name(\"test\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .sku(IoTHubSkuArgs.builder()\n                .name(\"S1\")\n                .capacity(1)\n                .build())\n            .tags(Map.of(\"purpose\", \"testing\"))\n            .build());\n\n        var exampleConsumerGroup = new ConsumerGroup(\"exampleConsumerGroup\", ConsumerGroupArgs.builder()\n            .name(\"group\")\n            .iothubName(exampleIoTHub.name())\n            .eventhubEndpointName(\"events\")\n            .resourceGroupName(example.name())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleIoTHub:\n    type: azure:iot:IoTHub\n    name: example\n    properties:\n      name: test\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      sku:\n        name: S1\n        capacity: '1'\n      tags:\n        purpose: testing\n  exampleConsumerGroup:\n    type: azure:iot:ConsumerGroup\n    name: example\n    properties:\n      name: group\n      iothubName: ${exampleIoTHub.name}\n      eventhubEndpointName: events\n      resourceGroupName: ${example.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nIoTHub Consumer Groups can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:iot/consumerGroup:ConsumerGroup group1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Devices/iotHubs/hub1/eventHubEndpoints/events/consumerGroups/group1\n```\n\n","properties":{"eventhubEndpointName":{"type":"string","description":"The name of the Event Hub-compatible endpoint in the IoT hub. Changing this forces a new resource to be created.\n"},"iothubName":{"type":"string","description":"The name of the IoT Hub. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"The name of this Consumer Group. Changing this forces a new resource to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group that contains the IoT hub. Changing this forces a new resource to be created.\n"}},"required":["eventhubEndpointName","iothubName","name","resourceGroupName"],"inputProperties":{"eventhubEndpointName":{"type":"string","description":"The name of the Event Hub-compatible endpoint in the IoT hub. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"iothubName":{"type":"string","description":"The name of the IoT Hub. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of this Consumer Group. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group that contains the IoT hub. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["eventhubEndpointName","iothubName","resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering ConsumerGroup resources.\n","properties":{"eventhubEndpointName":{"type":"string","description":"The name of the Event Hub-compatible endpoint in the IoT hub. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"iothubName":{"type":"string","description":"The name of the IoT Hub. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of this Consumer Group. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group that contains the IoT hub. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:iot/dpsSharedAccessPolicy:DpsSharedAccessPolicy":{"description":"Manages an IotHub Device Provisioning Service Shared Access Policy\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleIotHubDps = new azure.iot.IotHubDps(\"example\", {\n    name: \"example\",\n    resourceGroupName: example.name,\n    location: example.location,\n    sku: {\n        name: \"S1\",\n        capacity: 1,\n    },\n});\nconst exampleDpsSharedAccessPolicy = new azure.iot.DpsSharedAccessPolicy(\"example\", {\n    name: \"example\",\n    resourceGroupName: example.name,\n    iothubDpsName: exampleIotHubDps.name,\n    enrollmentWrite: true,\n    enrollmentRead: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_iot_hub_dps = azure.iot.IotHubDps(\"example\",\n    name=\"example\",\n    resource_group_name=example.name,\n    location=example.location,\n    sku={\n        \"name\": \"S1\",\n        \"capacity\": 1,\n    })\nexample_dps_shared_access_policy = azure.iot.DpsSharedAccessPolicy(\"example\",\n    name=\"example\",\n    resource_group_name=example.name,\n    iothub_dps_name=example_iot_hub_dps.name,\n    enrollment_write=True,\n    enrollment_read=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleIotHubDps = new Azure.Iot.IotHubDps(\"example\", new()\n    {\n        Name = \"example\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        Sku = new Azure.Iot.Inputs.IotHubDpsSkuArgs\n        {\n            Name = \"S1\",\n            Capacity = 1,\n        },\n    });\n\n    var exampleDpsSharedAccessPolicy = new Azure.Iot.DpsSharedAccessPolicy(\"example\", new()\n    {\n        Name = \"example\",\n        ResourceGroupName = example.Name,\n        IothubDpsName = exampleIotHubDps.Name,\n        EnrollmentWrite = true,\n        EnrollmentRead = true,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/iot\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleIotHubDps, err := iot.NewIotHubDps(ctx, \"example\", \u0026iot.IotHubDpsArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tSku: \u0026iot.IotHubDpsSkuArgs{\n\t\t\t\tName:     pulumi.String(\"S1\"),\n\t\t\t\tCapacity: pulumi.Int(1),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iot.NewDpsSharedAccessPolicy(ctx, \"example\", \u0026iot.DpsSharedAccessPolicyArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tIothubDpsName:     exampleIotHubDps.Name,\n\t\t\tEnrollmentWrite:   pulumi.Bool(true),\n\t\t\tEnrollmentRead:    pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.iot.IotHubDps;\nimport com.pulumi.azure.iot.IotHubDpsArgs;\nimport com.pulumi.azure.iot.inputs.IotHubDpsSkuArgs;\nimport com.pulumi.azure.iot.DpsSharedAccessPolicy;\nimport com.pulumi.azure.iot.DpsSharedAccessPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleIotHubDps = new IotHubDps(\"exampleIotHubDps\", IotHubDpsArgs.builder()\n            .name(\"example\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .sku(IotHubDpsSkuArgs.builder()\n                .name(\"S1\")\n                .capacity(1)\n                .build())\n            .build());\n\n        var exampleDpsSharedAccessPolicy = new DpsSharedAccessPolicy(\"exampleDpsSharedAccessPolicy\", DpsSharedAccessPolicyArgs.builder()\n            .name(\"example\")\n            .resourceGroupName(example.name())\n            .iothubDpsName(exampleIotHubDps.name())\n            .enrollmentWrite(true)\n            .enrollmentRead(true)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleIotHubDps:\n    type: azure:iot:IotHubDps\n    name: example\n    properties:\n      name: example\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      sku:\n        name: S1\n        capacity: '1'\n  exampleDpsSharedAccessPolicy:\n    type: azure:iot:DpsSharedAccessPolicy\n    name: example\n    properties:\n      name: example\n      resourceGroupName: ${example.name}\n      iothubDpsName: ${exampleIotHubDps.name}\n      enrollmentWrite: true\n      enrollmentRead: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Devices` - 2022-02-05\n\n## Import\n\nIoTHub Device Provisioning Service Shared Access Policies can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:iot/dpsSharedAccessPolicy:DpsSharedAccessPolicy shared_access_policy1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Devices/provisioningServices/dps1/keys/shared_access_policy1\n```\n\n","properties":{"enrollmentRead":{"type":"boolean","description":"Adds `EnrollmentRead` permission to this Shared Access Account. It allows read access to enrollment data.\n\n\u003e **Note:** When \u003cspan pulumi-lang-nodejs=\"`enrollmentRead`\" pulumi-lang-dotnet=\"`EnrollmentRead`\" pulumi-lang-go=\"`enrollmentRead`\" pulumi-lang-python=\"`enrollment_read`\" pulumi-lang-yaml=\"`enrollmentRead`\" pulumi-lang-java=\"`enrollmentRead`\"\u003e`enrollment_read`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`registrationRead`\" pulumi-lang-dotnet=\"`RegistrationRead`\" pulumi-lang-go=\"`registrationRead`\" pulumi-lang-python=\"`registration_read`\" pulumi-lang-yaml=\"`registrationRead`\" pulumi-lang-java=\"`registrationRead`\"\u003e`registration_read`\u003c/span\u003e must also be set to true. This is a limitation of the Azure REST API\n"},"enrollmentWrite":{"type":"boolean","description":"Adds `EnrollmentWrite` permission to this Shared Access Account. It allows write access to enrollment data.\n\n\u003e **Note:** When \u003cspan pulumi-lang-nodejs=\"`registrationWrite`\" pulumi-lang-dotnet=\"`RegistrationWrite`\" pulumi-lang-go=\"`registrationWrite`\" pulumi-lang-python=\"`registration_write`\" pulumi-lang-yaml=\"`registrationWrite`\" pulumi-lang-java=\"`registrationWrite`\"\u003e`registration_write`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`enrollmentRead`\" pulumi-lang-dotnet=\"`EnrollmentRead`\" pulumi-lang-go=\"`enrollmentRead`\" pulumi-lang-python=\"`enrollment_read`\" pulumi-lang-yaml=\"`enrollmentRead`\" pulumi-lang-java=\"`enrollmentRead`\"\u003e`enrollment_read`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`registrationRead`\" pulumi-lang-dotnet=\"`RegistrationRead`\" pulumi-lang-go=\"`registrationRead`\" pulumi-lang-python=\"`registration_read`\" pulumi-lang-yaml=\"`registrationRead`\" pulumi-lang-java=\"`registrationRead`\"\u003e`registration_read`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`registrationWrite`\" pulumi-lang-dotnet=\"`RegistrationWrite`\" pulumi-lang-go=\"`registrationWrite`\" pulumi-lang-python=\"`registration_write`\" pulumi-lang-yaml=\"`registrationWrite`\" pulumi-lang-java=\"`registrationWrite`\"\u003e`registration_write`\u003c/span\u003e must also be set to true. This is a requirement of the Azure API.\n"},"iothubDpsName":{"type":"string","description":"The name of the IoT Hub Device Provisioning service to which this Shared Access Policy belongs. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"Specifies the name of the IotHub Shared Access Policy resource. Changing this forces a new resource to be created.\n"},"primaryConnectionString":{"type":"string","description":"The primary connection string of the Shared Access Policy.\n","secret":true},"primaryKey":{"type":"string","description":"The primary key used to create the authentication token.\n","secret":true},"registrationRead":{"type":"boolean","description":"Adds `RegistrationStatusRead` permission to this Shared Access Account. It allows read access to device registrations.\n"},"registrationWrite":{"type":"boolean","description":"Adds `RegistrationStatusWrite` permission to this Shared Access Account. It allows write access to device registrations.\n\n\u003e **Note:** When \u003cspan pulumi-lang-nodejs=\"`registrationWrite`\" pulumi-lang-dotnet=\"`RegistrationWrite`\" pulumi-lang-go=\"`registrationWrite`\" pulumi-lang-python=\"`registration_write`\" pulumi-lang-yaml=\"`registrationWrite`\" pulumi-lang-java=\"`registrationWrite`\"\u003e`registration_write`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`registrationRead`\" pulumi-lang-dotnet=\"`RegistrationRead`\" pulumi-lang-go=\"`registrationRead`\" pulumi-lang-python=\"`registration_read`\" pulumi-lang-yaml=\"`registrationRead`\" pulumi-lang-java=\"`registrationRead`\"\u003e`registration_read`\u003c/span\u003e must also be set to true. This is a requirement of the Azure API.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group under which the IotHub Shared Access Policy resource has to be created. Changing this forces a new resource to be created.\n"},"secondaryConnectionString":{"type":"string","description":"The secondary connection string of the Shared Access Policy.\n","secret":true},"secondaryKey":{"type":"string","description":"The secondary key used to create the authentication token.\n","secret":true},"serviceConfig":{"type":"boolean","description":"Adds `ServiceConfig` permission to this Shared Access Account. It allows configuration of the Device Provisioning Service.\n\n\u003e **Note:** At least one of \u003cspan pulumi-lang-nodejs=\"`registrationRead`\" pulumi-lang-dotnet=\"`RegistrationRead`\" pulumi-lang-go=\"`registrationRead`\" pulumi-lang-python=\"`registration_read`\" pulumi-lang-yaml=\"`registrationRead`\" pulumi-lang-java=\"`registrationRead`\"\u003e`registration_read`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`registrationWrite`\" pulumi-lang-dotnet=\"`RegistrationWrite`\" pulumi-lang-go=\"`registrationWrite`\" pulumi-lang-python=\"`registration_write`\" pulumi-lang-yaml=\"`registrationWrite`\" pulumi-lang-java=\"`registrationWrite`\"\u003e`registration_write`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`serviceConfig`\" pulumi-lang-dotnet=\"`ServiceConfig`\" pulumi-lang-go=\"`serviceConfig`\" pulumi-lang-python=\"`service_config`\" pulumi-lang-yaml=\"`serviceConfig`\" pulumi-lang-java=\"`serviceConfig`\"\u003e`service_config`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`enrollmentRead`\" pulumi-lang-dotnet=\"`EnrollmentRead`\" pulumi-lang-go=\"`enrollmentRead`\" pulumi-lang-python=\"`enrollment_read`\" pulumi-lang-yaml=\"`enrollmentRead`\" pulumi-lang-java=\"`enrollmentRead`\"\u003e`enrollment_read`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`enrollmentWrite`\" pulumi-lang-dotnet=\"`EnrollmentWrite`\" pulumi-lang-go=\"`enrollmentWrite`\" pulumi-lang-python=\"`enrollment_write`\" pulumi-lang-yaml=\"`enrollmentWrite`\" pulumi-lang-java=\"`enrollmentWrite`\"\u003e`enrollment_write`\u003c/span\u003e permissions must be set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"}},"required":["iothubDpsName","name","primaryConnectionString","primaryKey","resourceGroupName","secondaryConnectionString","secondaryKey"],"inputProperties":{"enrollmentRead":{"type":"boolean","description":"Adds `EnrollmentRead` permission to this Shared Access Account. It allows read access to enrollment data.\n\n\u003e **Note:** When \u003cspan pulumi-lang-nodejs=\"`enrollmentRead`\" pulumi-lang-dotnet=\"`EnrollmentRead`\" pulumi-lang-go=\"`enrollmentRead`\" pulumi-lang-python=\"`enrollment_read`\" pulumi-lang-yaml=\"`enrollmentRead`\" pulumi-lang-java=\"`enrollmentRead`\"\u003e`enrollment_read`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`registrationRead`\" pulumi-lang-dotnet=\"`RegistrationRead`\" pulumi-lang-go=\"`registrationRead`\" pulumi-lang-python=\"`registration_read`\" pulumi-lang-yaml=\"`registrationRead`\" pulumi-lang-java=\"`registrationRead`\"\u003e`registration_read`\u003c/span\u003e must also be set to true. This is a limitation of the Azure REST API\n"},"enrollmentWrite":{"type":"boolean","description":"Adds `EnrollmentWrite` permission to this Shared Access Account. It allows write access to enrollment data.\n\n\u003e **Note:** When \u003cspan pulumi-lang-nodejs=\"`registrationWrite`\" pulumi-lang-dotnet=\"`RegistrationWrite`\" pulumi-lang-go=\"`registrationWrite`\" pulumi-lang-python=\"`registration_write`\" pulumi-lang-yaml=\"`registrationWrite`\" pulumi-lang-java=\"`registrationWrite`\"\u003e`registration_write`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`enrollmentRead`\" pulumi-lang-dotnet=\"`EnrollmentRead`\" pulumi-lang-go=\"`enrollmentRead`\" pulumi-lang-python=\"`enrollment_read`\" pulumi-lang-yaml=\"`enrollmentRead`\" pulumi-lang-java=\"`enrollmentRead`\"\u003e`enrollment_read`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`registrationRead`\" pulumi-lang-dotnet=\"`RegistrationRead`\" pulumi-lang-go=\"`registrationRead`\" pulumi-lang-python=\"`registration_read`\" pulumi-lang-yaml=\"`registrationRead`\" pulumi-lang-java=\"`registrationRead`\"\u003e`registration_read`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`registrationWrite`\" pulumi-lang-dotnet=\"`RegistrationWrite`\" pulumi-lang-go=\"`registrationWrite`\" pulumi-lang-python=\"`registration_write`\" pulumi-lang-yaml=\"`registrationWrite`\" pulumi-lang-java=\"`registrationWrite`\"\u003e`registration_write`\u003c/span\u003e must also be set to true. This is a requirement of the Azure API.\n"},"iothubDpsName":{"type":"string","description":"The name of the IoT Hub Device Provisioning service to which this Shared Access Policy belongs. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the IotHub Shared Access Policy resource. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"registrationRead":{"type":"boolean","description":"Adds `RegistrationStatusRead` permission to this Shared Access Account. It allows read access to device registrations.\n"},"registrationWrite":{"type":"boolean","description":"Adds `RegistrationStatusWrite` permission to this Shared Access Account. It allows write access to device registrations.\n\n\u003e **Note:** When \u003cspan pulumi-lang-nodejs=\"`registrationWrite`\" pulumi-lang-dotnet=\"`RegistrationWrite`\" pulumi-lang-go=\"`registrationWrite`\" pulumi-lang-python=\"`registration_write`\" pulumi-lang-yaml=\"`registrationWrite`\" pulumi-lang-java=\"`registrationWrite`\"\u003e`registration_write`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`registrationRead`\" pulumi-lang-dotnet=\"`RegistrationRead`\" pulumi-lang-go=\"`registrationRead`\" pulumi-lang-python=\"`registration_read`\" pulumi-lang-yaml=\"`registrationRead`\" pulumi-lang-java=\"`registrationRead`\"\u003e`registration_read`\u003c/span\u003e must also be set to true. This is a requirement of the Azure API.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group under which the IotHub Shared Access Policy resource has to be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"serviceConfig":{"type":"boolean","description":"Adds `ServiceConfig` permission to this Shared Access Account. It allows configuration of the Device Provisioning Service.\n\n\u003e **Note:** At least one of \u003cspan pulumi-lang-nodejs=\"`registrationRead`\" pulumi-lang-dotnet=\"`RegistrationRead`\" pulumi-lang-go=\"`registrationRead`\" pulumi-lang-python=\"`registration_read`\" pulumi-lang-yaml=\"`registrationRead`\" pulumi-lang-java=\"`registrationRead`\"\u003e`registration_read`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`registrationWrite`\" pulumi-lang-dotnet=\"`RegistrationWrite`\" pulumi-lang-go=\"`registrationWrite`\" pulumi-lang-python=\"`registration_write`\" pulumi-lang-yaml=\"`registrationWrite`\" pulumi-lang-java=\"`registrationWrite`\"\u003e`registration_write`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`serviceConfig`\" pulumi-lang-dotnet=\"`ServiceConfig`\" pulumi-lang-go=\"`serviceConfig`\" pulumi-lang-python=\"`service_config`\" pulumi-lang-yaml=\"`serviceConfig`\" pulumi-lang-java=\"`serviceConfig`\"\u003e`service_config`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`enrollmentRead`\" pulumi-lang-dotnet=\"`EnrollmentRead`\" pulumi-lang-go=\"`enrollmentRead`\" pulumi-lang-python=\"`enrollment_read`\" pulumi-lang-yaml=\"`enrollmentRead`\" pulumi-lang-java=\"`enrollmentRead`\"\u003e`enrollment_read`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`enrollmentWrite`\" pulumi-lang-dotnet=\"`EnrollmentWrite`\" pulumi-lang-go=\"`enrollmentWrite`\" pulumi-lang-python=\"`enrollment_write`\" pulumi-lang-yaml=\"`enrollmentWrite`\" pulumi-lang-java=\"`enrollmentWrite`\"\u003e`enrollment_write`\u003c/span\u003e permissions must be set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"}},"requiredInputs":["iothubDpsName","resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering DpsSharedAccessPolicy resources.\n","properties":{"enrollmentRead":{"type":"boolean","description":"Adds `EnrollmentRead` permission to this Shared Access Account. It allows read access to enrollment data.\n\n\u003e **Note:** When \u003cspan pulumi-lang-nodejs=\"`enrollmentRead`\" pulumi-lang-dotnet=\"`EnrollmentRead`\" pulumi-lang-go=\"`enrollmentRead`\" pulumi-lang-python=\"`enrollment_read`\" pulumi-lang-yaml=\"`enrollmentRead`\" pulumi-lang-java=\"`enrollmentRead`\"\u003e`enrollment_read`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`registrationRead`\" pulumi-lang-dotnet=\"`RegistrationRead`\" pulumi-lang-go=\"`registrationRead`\" pulumi-lang-python=\"`registration_read`\" pulumi-lang-yaml=\"`registrationRead`\" pulumi-lang-java=\"`registrationRead`\"\u003e`registration_read`\u003c/span\u003e must also be set to true. This is a limitation of the Azure REST API\n"},"enrollmentWrite":{"type":"boolean","description":"Adds `EnrollmentWrite` permission to this Shared Access Account. It allows write access to enrollment data.\n\n\u003e **Note:** When \u003cspan pulumi-lang-nodejs=\"`registrationWrite`\" pulumi-lang-dotnet=\"`RegistrationWrite`\" pulumi-lang-go=\"`registrationWrite`\" pulumi-lang-python=\"`registration_write`\" pulumi-lang-yaml=\"`registrationWrite`\" pulumi-lang-java=\"`registrationWrite`\"\u003e`registration_write`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`enrollmentRead`\" pulumi-lang-dotnet=\"`EnrollmentRead`\" pulumi-lang-go=\"`enrollmentRead`\" pulumi-lang-python=\"`enrollment_read`\" pulumi-lang-yaml=\"`enrollmentRead`\" pulumi-lang-java=\"`enrollmentRead`\"\u003e`enrollment_read`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`registrationRead`\" pulumi-lang-dotnet=\"`RegistrationRead`\" pulumi-lang-go=\"`registrationRead`\" pulumi-lang-python=\"`registration_read`\" pulumi-lang-yaml=\"`registrationRead`\" pulumi-lang-java=\"`registrationRead`\"\u003e`registration_read`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`registrationWrite`\" pulumi-lang-dotnet=\"`RegistrationWrite`\" pulumi-lang-go=\"`registrationWrite`\" pulumi-lang-python=\"`registration_write`\" pulumi-lang-yaml=\"`registrationWrite`\" pulumi-lang-java=\"`registrationWrite`\"\u003e`registration_write`\u003c/span\u003e must also be set to true. This is a requirement of the Azure API.\n"},"iothubDpsName":{"type":"string","description":"The name of the IoT Hub Device Provisioning service to which this Shared Access Policy belongs. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the IotHub Shared Access Policy resource. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"primaryConnectionString":{"type":"string","description":"The primary connection string of the Shared Access Policy.\n","secret":true},"primaryKey":{"type":"string","description":"The primary key used to create the authentication token.\n","secret":true},"registrationRead":{"type":"boolean","description":"Adds `RegistrationStatusRead` permission to this Shared Access Account. It allows read access to device registrations.\n"},"registrationWrite":{"type":"boolean","description":"Adds `RegistrationStatusWrite` permission to this Shared Access Account. It allows write access to device registrations.\n\n\u003e **Note:** When \u003cspan pulumi-lang-nodejs=\"`registrationWrite`\" pulumi-lang-dotnet=\"`RegistrationWrite`\" pulumi-lang-go=\"`registrationWrite`\" pulumi-lang-python=\"`registration_write`\" pulumi-lang-yaml=\"`registrationWrite`\" pulumi-lang-java=\"`registrationWrite`\"\u003e`registration_write`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`registrationRead`\" pulumi-lang-dotnet=\"`RegistrationRead`\" pulumi-lang-go=\"`registrationRead`\" pulumi-lang-python=\"`registration_read`\" pulumi-lang-yaml=\"`registrationRead`\" pulumi-lang-java=\"`registrationRead`\"\u003e`registration_read`\u003c/span\u003e must also be set to true. This is a requirement of the Azure API.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group under which the IotHub Shared Access Policy resource has to be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"secondaryConnectionString":{"type":"string","description":"The secondary connection string of the Shared Access Policy.\n","secret":true},"secondaryKey":{"type":"string","description":"The secondary key used to create the authentication token.\n","secret":true},"serviceConfig":{"type":"boolean","description":"Adds `ServiceConfig` permission to this Shared Access Account. It allows configuration of the Device Provisioning Service.\n\n\u003e **Note:** At least one of \u003cspan pulumi-lang-nodejs=\"`registrationRead`\" pulumi-lang-dotnet=\"`RegistrationRead`\" pulumi-lang-go=\"`registrationRead`\" pulumi-lang-python=\"`registration_read`\" pulumi-lang-yaml=\"`registrationRead`\" pulumi-lang-java=\"`registrationRead`\"\u003e`registration_read`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`registrationWrite`\" pulumi-lang-dotnet=\"`RegistrationWrite`\" pulumi-lang-go=\"`registrationWrite`\" pulumi-lang-python=\"`registration_write`\" pulumi-lang-yaml=\"`registrationWrite`\" pulumi-lang-java=\"`registrationWrite`\"\u003e`registration_write`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`serviceConfig`\" pulumi-lang-dotnet=\"`ServiceConfig`\" pulumi-lang-go=\"`serviceConfig`\" pulumi-lang-python=\"`service_config`\" pulumi-lang-yaml=\"`serviceConfig`\" pulumi-lang-java=\"`serviceConfig`\"\u003e`service_config`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`enrollmentRead`\" pulumi-lang-dotnet=\"`EnrollmentRead`\" pulumi-lang-go=\"`enrollmentRead`\" pulumi-lang-python=\"`enrollment_read`\" pulumi-lang-yaml=\"`enrollmentRead`\" pulumi-lang-java=\"`enrollmentRead`\"\u003e`enrollment_read`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`enrollmentWrite`\" pulumi-lang-dotnet=\"`EnrollmentWrite`\" pulumi-lang-go=\"`enrollmentWrite`\" pulumi-lang-python=\"`enrollment_write`\" pulumi-lang-yaml=\"`enrollmentWrite`\" pulumi-lang-java=\"`enrollmentWrite`\"\u003e`enrollment_write`\u003c/span\u003e permissions must be set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"}},"type":"object"}},"azure:iot/endpointCosmosdbAccount:EndpointCosmosdbAccount":{"description":"Manages an IotHub Cosmos DB Account Endpoint\n\n\u003e **Note:** Endpoints can be defined either directly on the \u003cspan pulumi-lang-nodejs=\"`azure.iot.IoTHub`\" pulumi-lang-dotnet=\"`azure.iot.IoTHub`\" pulumi-lang-go=\"`iot.IoTHub`\" pulumi-lang-python=\"`iot.IoTHub`\" pulumi-lang-yaml=\"`azure.iot.IoTHub`\" pulumi-lang-java=\"`azure.iot.IoTHub`\"\u003e`azure.iot.IoTHub`\u003c/span\u003e resource, or using the `azurerm_iothub_endpoint_*` resources - but the two ways of defining the endpoints cannot be used together. If both are used against the same IoTHub, spurious changes will occur. Also, defining a `azurerm_iothub_endpoint_*` resource and another endpoint of a different type directly on the \u003cspan pulumi-lang-nodejs=\"`azure.iot.IoTHub`\" pulumi-lang-dotnet=\"`azure.iot.IoTHub`\" pulumi-lang-go=\"`iot.IoTHub`\" pulumi-lang-python=\"`iot.IoTHub`\" pulumi-lang-yaml=\"`azure.iot.IoTHub`\" pulumi-lang-java=\"`azure.iot.IoTHub`\"\u003e`azure.iot.IoTHub`\u003c/span\u003e resource is not supported.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleIoTHub = new azure.iot.IoTHub(\"example\", {\n    name: \"exampleIothub\",\n    resourceGroupName: example.name,\n    location: example.location,\n    sku: {\n        name: \"B1\",\n        capacity: 1,\n    },\n    tags: {\n        purpose: \"example\",\n    },\n});\nconst exampleAccount = new azure.cosmosdb.Account(\"example\", {\n    name: \"cosmosdb-account\",\n    location: example.location,\n    resourceGroupName: example.name,\n    offerType: \"Standard\",\n    kind: \"GlobalDocumentDB\",\n    consistencyPolicy: {\n        consistencyLevel: \"Strong\",\n    },\n    geoLocations: [{\n        location: example.location,\n        failoverPriority: 0,\n    }],\n});\nconst exampleSqlDatabase = new azure.cosmosdb.SqlDatabase(\"example\", {\n    name: \"cosmos-sql-db\",\n    resourceGroupName: exampleAccount.resourceGroupName,\n    accountName: exampleAccount.name,\n});\nconst exampleSqlContainer = new azure.cosmosdb.SqlContainer(\"example\", {\n    name: \"example-container\",\n    resourceGroupName: exampleAccount.resourceGroupName,\n    accountName: exampleAccount.name,\n    databaseName: exampleSqlDatabase.name,\n    partitionKeyPath: \"/definition/id\",\n});\nconst exampleEndpointCosmosdbAccount = new azure.iot.EndpointCosmosdbAccount(\"example\", {\n    name: \"example\",\n    resourceGroupName: example.name,\n    iothubId: exampleIoTHub.id,\n    containerName: exampleSqlContainer.name,\n    databaseName: exampleSqlDatabase.name,\n    endpointUri: exampleAccount.endpoint,\n    primaryKey: exampleAccount.primaryKey,\n    secondaryKey: exampleAccount.secondaryKey,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_io_t_hub = azure.iot.IoTHub(\"example\",\n    name=\"exampleIothub\",\n    resource_group_name=example.name,\n    location=example.location,\n    sku={\n        \"name\": \"B1\",\n        \"capacity\": 1,\n    },\n    tags={\n        \"purpose\": \"example\",\n    })\nexample_account = azure.cosmosdb.Account(\"example\",\n    name=\"cosmosdb-account\",\n    location=example.location,\n    resource_group_name=example.name,\n    offer_type=\"Standard\",\n    kind=\"GlobalDocumentDB\",\n    consistency_policy={\n        \"consistency_level\": \"Strong\",\n    },\n    geo_locations=[{\n        \"location\": example.location,\n        \"failover_priority\": 0,\n    }])\nexample_sql_database = azure.cosmosdb.SqlDatabase(\"example\",\n    name=\"cosmos-sql-db\",\n    resource_group_name=example_account.resource_group_name,\n    account_name=example_account.name)\nexample_sql_container = azure.cosmosdb.SqlContainer(\"example\",\n    name=\"example-container\",\n    resource_group_name=example_account.resource_group_name,\n    account_name=example_account.name,\n    database_name=example_sql_database.name,\n    partition_key_path=\"/definition/id\")\nexample_endpoint_cosmosdb_account = azure.iot.EndpointCosmosdbAccount(\"example\",\n    name=\"example\",\n    resource_group_name=example.name,\n    iothub_id=example_io_t_hub.id,\n    container_name=example_sql_container.name,\n    database_name=example_sql_database.name,\n    endpoint_uri=example_account.endpoint,\n    primary_key=example_account.primary_key,\n    secondary_key=example_account.secondary_key)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleIoTHub = new Azure.Iot.IoTHub(\"example\", new()\n    {\n        Name = \"exampleIothub\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        Sku = new Azure.Iot.Inputs.IoTHubSkuArgs\n        {\n            Name = \"B1\",\n            Capacity = 1,\n        },\n        Tags = \n        {\n            { \"purpose\", \"example\" },\n        },\n    });\n\n    var exampleAccount = new Azure.CosmosDB.Account(\"example\", new()\n    {\n        Name = \"cosmosdb-account\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        OfferType = \"Standard\",\n        Kind = \"GlobalDocumentDB\",\n        ConsistencyPolicy = new Azure.CosmosDB.Inputs.AccountConsistencyPolicyArgs\n        {\n            ConsistencyLevel = \"Strong\",\n        },\n        GeoLocations = new[]\n        {\n            new Azure.CosmosDB.Inputs.AccountGeoLocationArgs\n            {\n                Location = example.Location,\n                FailoverPriority = 0,\n            },\n        },\n    });\n\n    var exampleSqlDatabase = new Azure.CosmosDB.SqlDatabase(\"example\", new()\n    {\n        Name = \"cosmos-sql-db\",\n        ResourceGroupName = exampleAccount.ResourceGroupName,\n        AccountName = exampleAccount.Name,\n    });\n\n    var exampleSqlContainer = new Azure.CosmosDB.SqlContainer(\"example\", new()\n    {\n        Name = \"example-container\",\n        ResourceGroupName = exampleAccount.ResourceGroupName,\n        AccountName = exampleAccount.Name,\n        DatabaseName = exampleSqlDatabase.Name,\n        PartitionKeyPath = \"/definition/id\",\n    });\n\n    var exampleEndpointCosmosdbAccount = new Azure.Iot.EndpointCosmosdbAccount(\"example\", new()\n    {\n        Name = \"example\",\n        ResourceGroupName = example.Name,\n        IothubId = exampleIoTHub.Id,\n        ContainerName = exampleSqlContainer.Name,\n        DatabaseName = exampleSqlDatabase.Name,\n        EndpointUri = exampleAccount.Endpoint,\n        PrimaryKey = exampleAccount.PrimaryKey,\n        SecondaryKey = exampleAccount.SecondaryKey,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/cosmosdb\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/iot\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleIoTHub, err := iot.NewIoTHub(ctx, \"example\", \u0026iot.IoTHubArgs{\n\t\t\tName:              pulumi.String(\"exampleIothub\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tSku: \u0026iot.IoTHubSkuArgs{\n\t\t\t\tName:     pulumi.String(\"B1\"),\n\t\t\t\tCapacity: pulumi.Int(1),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"purpose\": pulumi.String(\"example\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := cosmosdb.NewAccount(ctx, \"example\", \u0026cosmosdb.AccountArgs{\n\t\t\tName:              pulumi.String(\"cosmosdb-account\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tOfferType:         pulumi.String(\"Standard\"),\n\t\t\tKind:              pulumi.String(\"GlobalDocumentDB\"),\n\t\t\tConsistencyPolicy: \u0026cosmosdb.AccountConsistencyPolicyArgs{\n\t\t\t\tConsistencyLevel: pulumi.String(\"Strong\"),\n\t\t\t},\n\t\t\tGeoLocations: cosmosdb.AccountGeoLocationArray{\n\t\t\t\t\u0026cosmosdb.AccountGeoLocationArgs{\n\t\t\t\t\tLocation:         example.Location,\n\t\t\t\t\tFailoverPriority: pulumi.Int(0),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSqlDatabase, err := cosmosdb.NewSqlDatabase(ctx, \"example\", \u0026cosmosdb.SqlDatabaseArgs{\n\t\t\tName:              pulumi.String(\"cosmos-sql-db\"),\n\t\t\tResourceGroupName: exampleAccount.ResourceGroupName,\n\t\t\tAccountName:       exampleAccount.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSqlContainer, err := cosmosdb.NewSqlContainer(ctx, \"example\", \u0026cosmosdb.SqlContainerArgs{\n\t\t\tName:              pulumi.String(\"example-container\"),\n\t\t\tResourceGroupName: exampleAccount.ResourceGroupName,\n\t\t\tAccountName:       exampleAccount.Name,\n\t\t\tDatabaseName:      exampleSqlDatabase.Name,\n\t\t\tPartitionKeyPath:  \"/definition/id\",\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iot.NewEndpointCosmosdbAccount(ctx, \"example\", \u0026iot.EndpointCosmosdbAccountArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tIothubId:          exampleIoTHub.ID(),\n\t\t\tContainerName:     exampleSqlContainer.Name,\n\t\t\tDatabaseName:      exampleSqlDatabase.Name,\n\t\t\tEndpointUri:       exampleAccount.Endpoint,\n\t\t\tPrimaryKey:        exampleAccount.PrimaryKey,\n\t\t\tSecondaryKey:      exampleAccount.SecondaryKey,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.iot.IoTHub;\nimport com.pulumi.azure.iot.IoTHubArgs;\nimport com.pulumi.azure.iot.inputs.IoTHubSkuArgs;\nimport com.pulumi.azure.cosmosdb.Account;\nimport com.pulumi.azure.cosmosdb.AccountArgs;\nimport com.pulumi.azure.cosmosdb.inputs.AccountConsistencyPolicyArgs;\nimport com.pulumi.azure.cosmosdb.inputs.AccountGeoLocationArgs;\nimport com.pulumi.azure.cosmosdb.SqlDatabase;\nimport com.pulumi.azure.cosmosdb.SqlDatabaseArgs;\nimport com.pulumi.azure.cosmosdb.SqlContainer;\nimport com.pulumi.azure.cosmosdb.SqlContainerArgs;\nimport com.pulumi.azure.iot.EndpointCosmosdbAccount;\nimport com.pulumi.azure.iot.EndpointCosmosdbAccountArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleIoTHub = new IoTHub(\"exampleIoTHub\", IoTHubArgs.builder()\n            .name(\"exampleIothub\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .sku(IoTHubSkuArgs.builder()\n                .name(\"B1\")\n                .capacity(1)\n                .build())\n            .tags(Map.of(\"purpose\", \"example\"))\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"cosmosdb-account\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .offerType(\"Standard\")\n            .kind(\"GlobalDocumentDB\")\n            .consistencyPolicy(AccountConsistencyPolicyArgs.builder()\n                .consistencyLevel(\"Strong\")\n                .build())\n            .geoLocations(AccountGeoLocationArgs.builder()\n                .location(example.location())\n                .failoverPriority(0)\n                .build())\n            .build());\n\n        var exampleSqlDatabase = new SqlDatabase(\"exampleSqlDatabase\", SqlDatabaseArgs.builder()\n            .name(\"cosmos-sql-db\")\n            .resourceGroupName(exampleAccount.resourceGroupName())\n            .accountName(exampleAccount.name())\n            .build());\n\n        var exampleSqlContainer = new SqlContainer(\"exampleSqlContainer\", SqlContainerArgs.builder()\n            .name(\"example-container\")\n            .resourceGroupName(exampleAccount.resourceGroupName())\n            .accountName(exampleAccount.name())\n            .databaseName(exampleSqlDatabase.name())\n            .partitionKeyPath(\"/definition/id\")\n            .build());\n\n        var exampleEndpointCosmosdbAccount = new EndpointCosmosdbAccount(\"exampleEndpointCosmosdbAccount\", EndpointCosmosdbAccountArgs.builder()\n            .name(\"example\")\n            .resourceGroupName(example.name())\n            .iothubId(exampleIoTHub.id())\n            .containerName(exampleSqlContainer.name())\n            .databaseName(exampleSqlDatabase.name())\n            .endpointUri(exampleAccount.endpoint())\n            .primaryKey(exampleAccount.primaryKey())\n            .secondaryKey(exampleAccount.secondaryKey())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleIoTHub:\n    type: azure:iot:IoTHub\n    name: example\n    properties:\n      name: exampleIothub\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      sku:\n        name: B1\n        capacity: '1'\n      tags:\n        purpose: example\n  exampleAccount:\n    type: azure:cosmosdb:Account\n    name: example\n    properties:\n      name: cosmosdb-account\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      offerType: Standard\n      kind: GlobalDocumentDB\n      consistencyPolicy:\n        consistencyLevel: Strong\n      geoLocations:\n        - location: ${example.location}\n          failoverPriority: 0\n  exampleSqlDatabase:\n    type: azure:cosmosdb:SqlDatabase\n    name: example\n    properties:\n      name: cosmos-sql-db\n      resourceGroupName: ${exampleAccount.resourceGroupName}\n      accountName: ${exampleAccount.name}\n  exampleSqlContainer:\n    type: azure:cosmosdb:SqlContainer\n    name: example\n    properties:\n      name: example-container\n      resourceGroupName: ${exampleAccount.resourceGroupName}\n      accountName: ${exampleAccount.name}\n      databaseName: ${exampleSqlDatabase.name}\n      partitionKeyPath: /definition/id\n  exampleEndpointCosmosdbAccount:\n    type: azure:iot:EndpointCosmosdbAccount\n    name: example\n    properties:\n      name: example\n      resourceGroupName: ${example.name}\n      iothubId: ${exampleIoTHub.id}\n      containerName: ${exampleSqlContainer.name}\n      databaseName: ${exampleSqlDatabase.name}\n      endpointUri: ${exampleAccount.endpoint}\n      primaryKey: ${exampleAccount.primaryKey}\n      secondaryKey: ${exampleAccount.secondaryKey}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nIoTHub Cosmos DB Account Endpoint can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:iot/endpointCosmosdbAccount:EndpointCosmosdbAccount endpoint1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Devices/iotHubs/hub1/endpoints/cosmosDBAccountEndpoint1\n```\n\n","properties":{"authenticationType":{"type":"string","description":"The type used to authenticate against the Cosmos DB Account endpoint. Possible values are `keyBased` and `identityBased`. Defaults to `keyBased`.\n"},"containerName":{"type":"string","description":"The name of the Cosmos DB Container in the Cosmos DB Database. Changing this forces a new resource to be created.\n"},"databaseName":{"type":"string","description":"The name of the Cosmos DB Database in the Cosmos DB Account. Changing this forces a new resource to be created.\n"},"endpointUri":{"type":"string","description":"The URI of the Cosmos DB Account. Changing this forces a new resource to be created.\n"},"identityId":{"type":"string","description":"The ID of the User Managed Identity used to authenticate against the Cosmos DB Account endpoint.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`identityId`\" pulumi-lang-dotnet=\"`IdentityId`\" pulumi-lang-go=\"`identityId`\" pulumi-lang-python=\"`identity_id`\" pulumi-lang-yaml=\"`identityId`\" pulumi-lang-java=\"`identityId`\"\u003e`identity_id`\u003c/span\u003e can only be specified when \u003cspan pulumi-lang-nodejs=\"`authenticationType`\" pulumi-lang-dotnet=\"`AuthenticationType`\" pulumi-lang-go=\"`authenticationType`\" pulumi-lang-python=\"`authentication_type`\" pulumi-lang-yaml=\"`authenticationType`\" pulumi-lang-java=\"`authenticationType`\"\u003e`authentication_type`\u003c/span\u003e is `identityBased`. It must be one of the \u003cspan pulumi-lang-nodejs=\"`identityIds`\" pulumi-lang-dotnet=\"`IdentityIds`\" pulumi-lang-go=\"`identityIds`\" pulumi-lang-python=\"`identity_ids`\" pulumi-lang-yaml=\"`identityIds`\" pulumi-lang-java=\"`identityIds`\"\u003e`identity_ids`\u003c/span\u003e of the Iot Hub. If not specified when \u003cspan pulumi-lang-nodejs=\"`authenticationType`\" pulumi-lang-dotnet=\"`AuthenticationType`\" pulumi-lang-go=\"`authenticationType`\" pulumi-lang-python=\"`authentication_type`\" pulumi-lang-yaml=\"`authenticationType`\" pulumi-lang-java=\"`authenticationType`\"\u003e`authentication_type`\u003c/span\u003e is `identityBased`, System Assigned Managed Identity of the Iot Hub will be used.\n"},"iothubId":{"type":"string","description":"The ID of the IoT Hub to create the endpoint. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"The name of the endpoint. The name must be unique across endpoint types. The following names are reserved: \u003cspan pulumi-lang-nodejs=\"`events`\" pulumi-lang-dotnet=\"`Events`\" pulumi-lang-go=\"`events`\" pulumi-lang-python=\"`events`\" pulumi-lang-yaml=\"`events`\" pulumi-lang-java=\"`events`\"\u003e`events`\u003c/span\u003e, `operationsMonitoringEvents`, `fileNotifications` and `$default`. Changing this forces a new resource to be created.\n"},"partitionKeyName":{"type":"string","description":"The name of the partition key associated with the Cosmos DB Container.\n"},"partitionKeyTemplate":{"type":"string","description":"The template for generating a synthetic partition key value for use within the Cosmos DB Container.\n"},"primaryKey":{"type":"string","description":"The primary key of the Cosmos DB Account.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`primaryKey`\" pulumi-lang-dotnet=\"`PrimaryKey`\" pulumi-lang-go=\"`primaryKey`\" pulumi-lang-python=\"`primary_key`\" pulumi-lang-yaml=\"`primaryKey`\" pulumi-lang-java=\"`primaryKey`\"\u003e`primary_key`\u003c/span\u003e must and can only be specified when \u003cspan pulumi-lang-nodejs=\"`authenticationType`\" pulumi-lang-dotnet=\"`AuthenticationType`\" pulumi-lang-go=\"`authenticationType`\" pulumi-lang-python=\"`authentication_type`\" pulumi-lang-yaml=\"`authenticationType`\" pulumi-lang-java=\"`authenticationType`\"\u003e`authentication_type`\u003c/span\u003e is `keyBased`.\n","secret":true},"resourceGroupName":{"type":"string","description":"The name of the resource group under which the Cosmos DB Account has been created. Changing this forces a new resource to be created.\n"},"secondaryKey":{"type":"string","description":"The secondary key of the Cosmos DB Account.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`secondaryKey`\" pulumi-lang-dotnet=\"`SecondaryKey`\" pulumi-lang-go=\"`secondaryKey`\" pulumi-lang-python=\"`secondary_key`\" pulumi-lang-yaml=\"`secondaryKey`\" pulumi-lang-java=\"`secondaryKey`\"\u003e`secondary_key`\u003c/span\u003e must and can only be specified when \u003cspan pulumi-lang-nodejs=\"`authenticationType`\" pulumi-lang-dotnet=\"`AuthenticationType`\" pulumi-lang-go=\"`authenticationType`\" pulumi-lang-python=\"`authentication_type`\" pulumi-lang-yaml=\"`authenticationType`\" pulumi-lang-java=\"`authenticationType`\"\u003e`authentication_type`\u003c/span\u003e is `keyBased`.\n","secret":true},"subscriptionId":{"type":"string","description":"The subscription ID for the endpoint.\n\n\u003e **Note:** When \u003cspan pulumi-lang-nodejs=\"`subscriptionId`\" pulumi-lang-dotnet=\"`SubscriptionId`\" pulumi-lang-go=\"`subscriptionId`\" pulumi-lang-python=\"`subscription_id`\" pulumi-lang-yaml=\"`subscriptionId`\" pulumi-lang-java=\"`subscriptionId`\"\u003e`subscription_id`\u003c/span\u003e isn't specified it will be set to the subscription ID of the IoT Hub resource.\n"}},"required":["containerName","databaseName","endpointUri","iothubId","name","resourceGroupName","subscriptionId"],"inputProperties":{"authenticationType":{"type":"string","description":"The type used to authenticate against the Cosmos DB Account endpoint. Possible values are `keyBased` and `identityBased`. Defaults to `keyBased`.\n"},"containerName":{"type":"string","description":"The name of the Cosmos DB Container in the Cosmos DB Database. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"databaseName":{"type":"string","description":"The name of the Cosmos DB Database in the Cosmos DB Account. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"endpointUri":{"type":"string","description":"The URI of the Cosmos DB Account. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"identityId":{"type":"string","description":"The ID of the User Managed Identity used to authenticate against the Cosmos DB Account endpoint.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`identityId`\" pulumi-lang-dotnet=\"`IdentityId`\" pulumi-lang-go=\"`identityId`\" pulumi-lang-python=\"`identity_id`\" pulumi-lang-yaml=\"`identityId`\" pulumi-lang-java=\"`identityId`\"\u003e`identity_id`\u003c/span\u003e can only be specified when \u003cspan pulumi-lang-nodejs=\"`authenticationType`\" pulumi-lang-dotnet=\"`AuthenticationType`\" pulumi-lang-go=\"`authenticationType`\" pulumi-lang-python=\"`authentication_type`\" pulumi-lang-yaml=\"`authenticationType`\" pulumi-lang-java=\"`authenticationType`\"\u003e`authentication_type`\u003c/span\u003e is `identityBased`. It must be one of the \u003cspan pulumi-lang-nodejs=\"`identityIds`\" pulumi-lang-dotnet=\"`IdentityIds`\" pulumi-lang-go=\"`identityIds`\" pulumi-lang-python=\"`identity_ids`\" pulumi-lang-yaml=\"`identityIds`\" pulumi-lang-java=\"`identityIds`\"\u003e`identity_ids`\u003c/span\u003e of the Iot Hub. If not specified when \u003cspan pulumi-lang-nodejs=\"`authenticationType`\" pulumi-lang-dotnet=\"`AuthenticationType`\" pulumi-lang-go=\"`authenticationType`\" pulumi-lang-python=\"`authentication_type`\" pulumi-lang-yaml=\"`authenticationType`\" pulumi-lang-java=\"`authenticationType`\"\u003e`authentication_type`\u003c/span\u003e is `identityBased`, System Assigned Managed Identity of the Iot Hub will be used.\n"},"iothubId":{"type":"string","description":"The ID of the IoT Hub to create the endpoint. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the endpoint. The name must be unique across endpoint types. The following names are reserved: \u003cspan pulumi-lang-nodejs=\"`events`\" pulumi-lang-dotnet=\"`Events`\" pulumi-lang-go=\"`events`\" pulumi-lang-python=\"`events`\" pulumi-lang-yaml=\"`events`\" pulumi-lang-java=\"`events`\"\u003e`events`\u003c/span\u003e, `operationsMonitoringEvents`, `fileNotifications` and `$default`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"partitionKeyName":{"type":"string","description":"The name of the partition key associated with the Cosmos DB Container.\n"},"partitionKeyTemplate":{"type":"string","description":"The template for generating a synthetic partition key value for use within the Cosmos DB Container.\n"},"primaryKey":{"type":"string","description":"The primary key of the Cosmos DB Account.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`primaryKey`\" pulumi-lang-dotnet=\"`PrimaryKey`\" pulumi-lang-go=\"`primaryKey`\" pulumi-lang-python=\"`primary_key`\" pulumi-lang-yaml=\"`primaryKey`\" pulumi-lang-java=\"`primaryKey`\"\u003e`primary_key`\u003c/span\u003e must and can only be specified when \u003cspan pulumi-lang-nodejs=\"`authenticationType`\" pulumi-lang-dotnet=\"`AuthenticationType`\" pulumi-lang-go=\"`authenticationType`\" pulumi-lang-python=\"`authentication_type`\" pulumi-lang-yaml=\"`authenticationType`\" pulumi-lang-java=\"`authenticationType`\"\u003e`authentication_type`\u003c/span\u003e is `keyBased`.\n","secret":true},"resourceGroupName":{"type":"string","description":"The name of the resource group under which the Cosmos DB Account has been created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"secondaryKey":{"type":"string","description":"The secondary key of the Cosmos DB Account.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`secondaryKey`\" pulumi-lang-dotnet=\"`SecondaryKey`\" pulumi-lang-go=\"`secondaryKey`\" pulumi-lang-python=\"`secondary_key`\" pulumi-lang-yaml=\"`secondaryKey`\" pulumi-lang-java=\"`secondaryKey`\"\u003e`secondary_key`\u003c/span\u003e must and can only be specified when \u003cspan pulumi-lang-nodejs=\"`authenticationType`\" pulumi-lang-dotnet=\"`AuthenticationType`\" pulumi-lang-go=\"`authenticationType`\" pulumi-lang-python=\"`authentication_type`\" pulumi-lang-yaml=\"`authenticationType`\" pulumi-lang-java=\"`authenticationType`\"\u003e`authentication_type`\u003c/span\u003e is `keyBased`.\n","secret":true},"subscriptionId":{"type":"string","description":"The subscription ID for the endpoint.\n\n\u003e **Note:** When \u003cspan pulumi-lang-nodejs=\"`subscriptionId`\" pulumi-lang-dotnet=\"`SubscriptionId`\" pulumi-lang-go=\"`subscriptionId`\" pulumi-lang-python=\"`subscription_id`\" pulumi-lang-yaml=\"`subscriptionId`\" pulumi-lang-java=\"`subscriptionId`\"\u003e`subscription_id`\u003c/span\u003e isn't specified it will be set to the subscription ID of the IoT Hub resource.\n"}},"requiredInputs":["containerName","databaseName","endpointUri","iothubId","resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering EndpointCosmosdbAccount resources.\n","properties":{"authenticationType":{"type":"string","description":"The type used to authenticate against the Cosmos DB Account endpoint. Possible values are `keyBased` and `identityBased`. Defaults to `keyBased`.\n"},"containerName":{"type":"string","description":"The name of the Cosmos DB Container in the Cosmos DB Database. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"databaseName":{"type":"string","description":"The name of the Cosmos DB Database in the Cosmos DB Account. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"endpointUri":{"type":"string","description":"The URI of the Cosmos DB Account. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"identityId":{"type":"string","description":"The ID of the User Managed Identity used to authenticate against the Cosmos DB Account endpoint.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`identityId`\" pulumi-lang-dotnet=\"`IdentityId`\" pulumi-lang-go=\"`identityId`\" pulumi-lang-python=\"`identity_id`\" pulumi-lang-yaml=\"`identityId`\" pulumi-lang-java=\"`identityId`\"\u003e`identity_id`\u003c/span\u003e can only be specified when \u003cspan pulumi-lang-nodejs=\"`authenticationType`\" pulumi-lang-dotnet=\"`AuthenticationType`\" pulumi-lang-go=\"`authenticationType`\" pulumi-lang-python=\"`authentication_type`\" pulumi-lang-yaml=\"`authenticationType`\" pulumi-lang-java=\"`authenticationType`\"\u003e`authentication_type`\u003c/span\u003e is `identityBased`. It must be one of the \u003cspan pulumi-lang-nodejs=\"`identityIds`\" pulumi-lang-dotnet=\"`IdentityIds`\" pulumi-lang-go=\"`identityIds`\" pulumi-lang-python=\"`identity_ids`\" pulumi-lang-yaml=\"`identityIds`\" pulumi-lang-java=\"`identityIds`\"\u003e`identity_ids`\u003c/span\u003e of the Iot Hub. If not specified when \u003cspan pulumi-lang-nodejs=\"`authenticationType`\" pulumi-lang-dotnet=\"`AuthenticationType`\" pulumi-lang-go=\"`authenticationType`\" pulumi-lang-python=\"`authentication_type`\" pulumi-lang-yaml=\"`authenticationType`\" pulumi-lang-java=\"`authenticationType`\"\u003e`authentication_type`\u003c/span\u003e is `identityBased`, System Assigned Managed Identity of the Iot Hub will be used.\n"},"iothubId":{"type":"string","description":"The ID of the IoT Hub to create the endpoint. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the endpoint. The name must be unique across endpoint types. The following names are reserved: \u003cspan pulumi-lang-nodejs=\"`events`\" pulumi-lang-dotnet=\"`Events`\" pulumi-lang-go=\"`events`\" pulumi-lang-python=\"`events`\" pulumi-lang-yaml=\"`events`\" pulumi-lang-java=\"`events`\"\u003e`events`\u003c/span\u003e, `operationsMonitoringEvents`, `fileNotifications` and `$default`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"partitionKeyName":{"type":"string","description":"The name of the partition key associated with the Cosmos DB Container.\n"},"partitionKeyTemplate":{"type":"string","description":"The template for generating a synthetic partition key value for use within the Cosmos DB Container.\n"},"primaryKey":{"type":"string","description":"The primary key of the Cosmos DB Account.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`primaryKey`\" pulumi-lang-dotnet=\"`PrimaryKey`\" pulumi-lang-go=\"`primaryKey`\" pulumi-lang-python=\"`primary_key`\" pulumi-lang-yaml=\"`primaryKey`\" pulumi-lang-java=\"`primaryKey`\"\u003e`primary_key`\u003c/span\u003e must and can only be specified when \u003cspan pulumi-lang-nodejs=\"`authenticationType`\" pulumi-lang-dotnet=\"`AuthenticationType`\" pulumi-lang-go=\"`authenticationType`\" pulumi-lang-python=\"`authentication_type`\" pulumi-lang-yaml=\"`authenticationType`\" pulumi-lang-java=\"`authenticationType`\"\u003e`authentication_type`\u003c/span\u003e is `keyBased`.\n","secret":true},"resourceGroupName":{"type":"string","description":"The name of the resource group under which the Cosmos DB Account has been created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"secondaryKey":{"type":"string","description":"The secondary key of the Cosmos DB Account.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`secondaryKey`\" pulumi-lang-dotnet=\"`SecondaryKey`\" pulumi-lang-go=\"`secondaryKey`\" pulumi-lang-python=\"`secondary_key`\" pulumi-lang-yaml=\"`secondaryKey`\" pulumi-lang-java=\"`secondaryKey`\"\u003e`secondary_key`\u003c/span\u003e must and can only be specified when \u003cspan pulumi-lang-nodejs=\"`authenticationType`\" pulumi-lang-dotnet=\"`AuthenticationType`\" pulumi-lang-go=\"`authenticationType`\" pulumi-lang-python=\"`authentication_type`\" pulumi-lang-yaml=\"`authenticationType`\" pulumi-lang-java=\"`authenticationType`\"\u003e`authentication_type`\u003c/span\u003e is `keyBased`.\n","secret":true},"subscriptionId":{"type":"string","description":"The subscription ID for the endpoint.\n\n\u003e **Note:** When \u003cspan pulumi-lang-nodejs=\"`subscriptionId`\" pulumi-lang-dotnet=\"`SubscriptionId`\" pulumi-lang-go=\"`subscriptionId`\" pulumi-lang-python=\"`subscription_id`\" pulumi-lang-yaml=\"`subscriptionId`\" pulumi-lang-java=\"`subscriptionId`\"\u003e`subscription_id`\u003c/span\u003e isn't specified it will be set to the subscription ID of the IoT Hub resource.\n"}},"type":"object"}},"azure:iot/endpointEventhub:EndpointEventhub":{"description":"Manages an IotHub EventHub Endpoint\n\n\u003e **Note:** Endpoints can be defined either directly on the \u003cspan pulumi-lang-nodejs=\"`azure.iot.IoTHub`\" pulumi-lang-dotnet=\"`azure.iot.IoTHub`\" pulumi-lang-go=\"`iot.IoTHub`\" pulumi-lang-python=\"`iot.IoTHub`\" pulumi-lang-yaml=\"`azure.iot.IoTHub`\" pulumi-lang-java=\"`azure.iot.IoTHub`\"\u003e`azure.iot.IoTHub`\u003c/span\u003e resource, or using the `azurerm_iothub_endpoint_*` resources - but the two ways of defining the endpoints cannot be used together. If both are used against the same IoTHub, spurious changes will occur. Also, defining a `azurerm_iothub_endpoint_*` resource and another endpoint of a different type directly on the \u003cspan pulumi-lang-nodejs=\"`azure.iot.IoTHub`\" pulumi-lang-dotnet=\"`azure.iot.IoTHub`\" pulumi-lang-go=\"`iot.IoTHub`\" pulumi-lang-python=\"`iot.IoTHub`\" pulumi-lang-yaml=\"`azure.iot.IoTHub`\" pulumi-lang-java=\"`azure.iot.IoTHub`\"\u003e`azure.iot.IoTHub`\u003c/span\u003e resource is not supported.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleEventHubNamespace = new azure.eventhub.EventHubNamespace(\"example\", {\n    name: \"exampleEventHubNamespace\",\n    location: example.location,\n    resourceGroupName: example.name,\n    sku: \"Basic\",\n});\nconst exampleEventHub = new azure.eventhub.EventHub(\"example\", {\n    name: \"exampleEventHub\",\n    namespaceName: exampleEventHubNamespace.name,\n    resourceGroupName: example.name,\n    partitionCount: 2,\n    messageRetention: 1,\n});\nconst exampleAuthorizationRule = new azure.eventhub.AuthorizationRule(\"example\", {\n    name: \"exampleRule\",\n    namespaceName: exampleEventHubNamespace.name,\n    eventhubName: exampleEventHub.name,\n    resourceGroupName: example.name,\n    listen: false,\n    send: true,\n    manage: false,\n});\nconst exampleIoTHub = new azure.iot.IoTHub(\"example\", {\n    name: \"exampleIothub\",\n    resourceGroupName: example.name,\n    location: example.location,\n    sku: {\n        name: \"B1\",\n        capacity: 1,\n    },\n    tags: {\n        purpose: \"example\",\n    },\n});\nconst exampleEndpointEventhub = new azure.iot.EndpointEventhub(\"example\", {\n    resourceGroupName: example.name,\n    iothubId: exampleIoTHub.id,\n    name: \"example\",\n    connectionString: exampleAuthorizationRule.primaryConnectionString,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_event_hub_namespace = azure.eventhub.EventHubNamespace(\"example\",\n    name=\"exampleEventHubNamespace\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku=\"Basic\")\nexample_event_hub = azure.eventhub.EventHub(\"example\",\n    name=\"exampleEventHub\",\n    namespace_name=example_event_hub_namespace.name,\n    resource_group_name=example.name,\n    partition_count=2,\n    message_retention=1)\nexample_authorization_rule = azure.eventhub.AuthorizationRule(\"example\",\n    name=\"exampleRule\",\n    namespace_name=example_event_hub_namespace.name,\n    eventhub_name=example_event_hub.name,\n    resource_group_name=example.name,\n    listen=False,\n    send=True,\n    manage=False)\nexample_io_t_hub = azure.iot.IoTHub(\"example\",\n    name=\"exampleIothub\",\n    resource_group_name=example.name,\n    location=example.location,\n    sku={\n        \"name\": \"B1\",\n        \"capacity\": 1,\n    },\n    tags={\n        \"purpose\": \"example\",\n    })\nexample_endpoint_eventhub = azure.iot.EndpointEventhub(\"example\",\n    resource_group_name=example.name,\n    iothub_id=example_io_t_hub.id,\n    name=\"example\",\n    connection_string=example_authorization_rule.primary_connection_string)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleEventHubNamespace = new Azure.EventHub.EventHubNamespace(\"example\", new()\n    {\n        Name = \"exampleEventHubNamespace\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Sku = \"Basic\",\n    });\n\n    var exampleEventHub = new Azure.EventHub.EventHub(\"example\", new()\n    {\n        Name = \"exampleEventHub\",\n        NamespaceName = exampleEventHubNamespace.Name,\n        ResourceGroupName = example.Name,\n        PartitionCount = 2,\n        MessageRetention = 1,\n    });\n\n    var exampleAuthorizationRule = new Azure.EventHub.AuthorizationRule(\"example\", new()\n    {\n        Name = \"exampleRule\",\n        NamespaceName = exampleEventHubNamespace.Name,\n        EventhubName = exampleEventHub.Name,\n        ResourceGroupName = example.Name,\n        Listen = false,\n        Send = true,\n        Manage = false,\n    });\n\n    var exampleIoTHub = new Azure.Iot.IoTHub(\"example\", new()\n    {\n        Name = \"exampleIothub\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        Sku = new Azure.Iot.Inputs.IoTHubSkuArgs\n        {\n            Name = \"B1\",\n            Capacity = 1,\n        },\n        Tags = \n        {\n            { \"purpose\", \"example\" },\n        },\n    });\n\n    var exampleEndpointEventhub = new Azure.Iot.EndpointEventhub(\"example\", new()\n    {\n        ResourceGroupName = example.Name,\n        IothubId = exampleIoTHub.Id,\n        Name = \"example\",\n        ConnectionString = exampleAuthorizationRule.PrimaryConnectionString,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/eventhub\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/iot\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleEventHubNamespace, err := eventhub.NewEventHubNamespace(ctx, \"example\", \u0026eventhub.EventHubNamespaceArgs{\n\t\t\tName:              pulumi.String(\"exampleEventHubNamespace\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSku:               pulumi.String(\"Basic\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleEventHub, err := eventhub.NewEventHub(ctx, \"example\", \u0026eventhub.EventHubArgs{\n\t\t\tName:              pulumi.String(\"exampleEventHub\"),\n\t\t\tNamespaceName:     exampleEventHubNamespace.Name,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tPartitionCount:    pulumi.Int(2),\n\t\t\tMessageRetention:  pulumi.Int(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAuthorizationRule, err := eventhub.NewAuthorizationRule(ctx, \"example\", \u0026eventhub.AuthorizationRuleArgs{\n\t\t\tName:              pulumi.String(\"exampleRule\"),\n\t\t\tNamespaceName:     exampleEventHubNamespace.Name,\n\t\t\tEventhubName:      exampleEventHub.Name,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tListen:            pulumi.Bool(false),\n\t\t\tSend:              pulumi.Bool(true),\n\t\t\tManage:            pulumi.Bool(false),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleIoTHub, err := iot.NewIoTHub(ctx, \"example\", \u0026iot.IoTHubArgs{\n\t\t\tName:              pulumi.String(\"exampleIothub\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tSku: \u0026iot.IoTHubSkuArgs{\n\t\t\t\tName:     pulumi.String(\"B1\"),\n\t\t\t\tCapacity: pulumi.Int(1),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"purpose\": pulumi.String(\"example\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iot.NewEndpointEventhub(ctx, \"example\", \u0026iot.EndpointEventhubArgs{\n\t\t\tResourceGroupName: example.Name,\n\t\t\tIothubId:          exampleIoTHub.ID(),\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tConnectionString:  exampleAuthorizationRule.PrimaryConnectionString,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.eventhub.EventHubNamespace;\nimport com.pulumi.azure.eventhub.EventHubNamespaceArgs;\nimport com.pulumi.azure.eventhub.EventHub;\nimport com.pulumi.azure.eventhub.EventHubArgs;\nimport com.pulumi.azure.eventhub.AuthorizationRule;\nimport com.pulumi.azure.eventhub.AuthorizationRuleArgs;\nimport com.pulumi.azure.iot.IoTHub;\nimport com.pulumi.azure.iot.IoTHubArgs;\nimport com.pulumi.azure.iot.inputs.IoTHubSkuArgs;\nimport com.pulumi.azure.iot.EndpointEventhub;\nimport com.pulumi.azure.iot.EndpointEventhubArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleEventHubNamespace = new EventHubNamespace(\"exampleEventHubNamespace\", EventHubNamespaceArgs.builder()\n            .name(\"exampleEventHubNamespace\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .sku(\"Basic\")\n            .build());\n\n        var exampleEventHub = new EventHub(\"exampleEventHub\", EventHubArgs.builder()\n            .name(\"exampleEventHub\")\n            .namespaceName(exampleEventHubNamespace.name())\n            .resourceGroupName(example.name())\n            .partitionCount(2)\n            .messageRetention(1)\n            .build());\n\n        var exampleAuthorizationRule = new AuthorizationRule(\"exampleAuthorizationRule\", AuthorizationRuleArgs.builder()\n            .name(\"exampleRule\")\n            .namespaceName(exampleEventHubNamespace.name())\n            .eventhubName(exampleEventHub.name())\n            .resourceGroupName(example.name())\n            .listen(false)\n            .send(true)\n            .manage(false)\n            .build());\n\n        var exampleIoTHub = new IoTHub(\"exampleIoTHub\", IoTHubArgs.builder()\n            .name(\"exampleIothub\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .sku(IoTHubSkuArgs.builder()\n                .name(\"B1\")\n                .capacity(1)\n                .build())\n            .tags(Map.of(\"purpose\", \"example\"))\n            .build());\n\n        var exampleEndpointEventhub = new EndpointEventhub(\"exampleEndpointEventhub\", EndpointEventhubArgs.builder()\n            .resourceGroupName(example.name())\n            .iothubId(exampleIoTHub.id())\n            .name(\"example\")\n            .connectionString(exampleAuthorizationRule.primaryConnectionString())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleEventHubNamespace:\n    type: azure:eventhub:EventHubNamespace\n    name: example\n    properties:\n      name: exampleEventHubNamespace\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      sku: Basic\n  exampleEventHub:\n    type: azure:eventhub:EventHub\n    name: example\n    properties:\n      name: exampleEventHub\n      namespaceName: ${exampleEventHubNamespace.name}\n      resourceGroupName: ${example.name}\n      partitionCount: 2\n      messageRetention: 1\n  exampleAuthorizationRule:\n    type: azure:eventhub:AuthorizationRule\n    name: example\n    properties:\n      name: exampleRule\n      namespaceName: ${exampleEventHubNamespace.name}\n      eventhubName: ${exampleEventHub.name}\n      resourceGroupName: ${example.name}\n      listen: false\n      send: true\n      manage: false\n  exampleIoTHub:\n    type: azure:iot:IoTHub\n    name: example\n    properties:\n      name: exampleIothub\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      sku:\n        name: B1\n        capacity: '1'\n      tags:\n        purpose: example\n  exampleEndpointEventhub:\n    type: azure:iot:EndpointEventhub\n    name: example\n    properties:\n      resourceGroupName: ${example.name}\n      iothubId: ${exampleIoTHub.id}\n      name: example\n      connectionString: ${exampleAuthorizationRule.primaryConnectionString}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nIoTHub EventHub Endpoint can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:iot/endpointEventhub:EndpointEventhub eventhub1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Devices/iotHubs/hub1/endpoints/eventhub_endpoint1\n```\n\n","properties":{"authenticationType":{"type":"string","description":"Type used to authenticate against the Event Hub endpoint. Possible values are `keyBased` and `identityBased`. Defaults to `keyBased`.\n"},"connectionString":{"type":"string","description":"The connection string for the endpoint. This attribute can only be specified and is mandatory when \u003cspan pulumi-lang-nodejs=\"`authenticationType`\" pulumi-lang-dotnet=\"`AuthenticationType`\" pulumi-lang-go=\"`authenticationType`\" pulumi-lang-python=\"`authentication_type`\" pulumi-lang-yaml=\"`authenticationType`\" pulumi-lang-java=\"`authenticationType`\"\u003e`authentication_type`\u003c/span\u003e is `keyBased`.\n","secret":true},"endpointUri":{"type":"string","description":"URI of the Event Hubs Namespace endpoint. This attribute can only be specified and is mandatory when \u003cspan pulumi-lang-nodejs=\"`authenticationType`\" pulumi-lang-dotnet=\"`AuthenticationType`\" pulumi-lang-go=\"`authenticationType`\" pulumi-lang-python=\"`authentication_type`\" pulumi-lang-yaml=\"`authenticationType`\" pulumi-lang-java=\"`authenticationType`\"\u003e`authentication_type`\u003c/span\u003e is `identityBased`.\n"},"entityPath":{"type":"string","description":"Name of the Event Hub. This attribute can only be specified and is mandatory when \u003cspan pulumi-lang-nodejs=\"`authenticationType`\" pulumi-lang-dotnet=\"`AuthenticationType`\" pulumi-lang-go=\"`authenticationType`\" pulumi-lang-python=\"`authentication_type`\" pulumi-lang-yaml=\"`authenticationType`\" pulumi-lang-java=\"`authenticationType`\"\u003e`authentication_type`\u003c/span\u003e is `identityBased`.\n"},"identityId":{"type":"string","description":"ID of the User Managed Identity used to authenticate against the Event Hub endpoint.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`identityId`\" pulumi-lang-dotnet=\"`IdentityId`\" pulumi-lang-go=\"`identityId`\" pulumi-lang-python=\"`identity_id`\" pulumi-lang-yaml=\"`identityId`\" pulumi-lang-java=\"`identityId`\"\u003e`identity_id`\u003c/span\u003e can only be specified when \u003cspan pulumi-lang-nodejs=\"`authenticationType`\" pulumi-lang-dotnet=\"`AuthenticationType`\" pulumi-lang-go=\"`authenticationType`\" pulumi-lang-python=\"`authentication_type`\" pulumi-lang-yaml=\"`authenticationType`\" pulumi-lang-java=\"`authenticationType`\"\u003e`authentication_type`\u003c/span\u003e is `identityBased`. It must be one of the \u003cspan pulumi-lang-nodejs=\"`identityIds`\" pulumi-lang-dotnet=\"`IdentityIds`\" pulumi-lang-go=\"`identityIds`\" pulumi-lang-python=\"`identity_ids`\" pulumi-lang-yaml=\"`identityIds`\" pulumi-lang-java=\"`identityIds`\"\u003e`identity_ids`\u003c/span\u003e of the Iot Hub. If not specified when \u003cspan pulumi-lang-nodejs=\"`authenticationType`\" pulumi-lang-dotnet=\"`AuthenticationType`\" pulumi-lang-go=\"`authenticationType`\" pulumi-lang-python=\"`authentication_type`\" pulumi-lang-yaml=\"`authenticationType`\" pulumi-lang-java=\"`authenticationType`\"\u003e`authentication_type`\u003c/span\u003e is `identityBased`, System Assigned Managed Identity of the Iot Hub will be used.\n"},"iothubId":{"type":"string","description":"The IoTHub ID for the endpoint. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"The name of the endpoint. The name must be unique across endpoint types. The following names are reserved: \u003cspan pulumi-lang-nodejs=\"`events`\" pulumi-lang-dotnet=\"`Events`\" pulumi-lang-go=\"`events`\" pulumi-lang-python=\"`events`\" pulumi-lang-yaml=\"`events`\" pulumi-lang-java=\"`events`\"\u003e`events`\u003c/span\u003e, `operationsMonitoringEvents`, `fileNotifications` and `$default`. Changing this forces a new resource to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group under which the Event Hub has been created. Changing this forces a new resource to be created.\n"},"subscriptionId":{"type":"string","description":"The subscription ID for the endpoint.\n\n\u003e **Note:** When \u003cspan pulumi-lang-nodejs=\"`subscriptionId`\" pulumi-lang-dotnet=\"`SubscriptionId`\" pulumi-lang-go=\"`subscriptionId`\" pulumi-lang-python=\"`subscription_id`\" pulumi-lang-yaml=\"`subscriptionId`\" pulumi-lang-java=\"`subscriptionId`\"\u003e`subscription_id`\u003c/span\u003e isn't specified it will be set to the subscription ID of the IoT Hub resource.\n"}},"required":["iothubId","name","resourceGroupName","subscriptionId"],"inputProperties":{"authenticationType":{"type":"string","description":"Type used to authenticate against the Event Hub endpoint. Possible values are `keyBased` and `identityBased`. Defaults to `keyBased`.\n"},"connectionString":{"type":"string","description":"The connection string for the endpoint. This attribute can only be specified and is mandatory when \u003cspan pulumi-lang-nodejs=\"`authenticationType`\" pulumi-lang-dotnet=\"`AuthenticationType`\" pulumi-lang-go=\"`authenticationType`\" pulumi-lang-python=\"`authentication_type`\" pulumi-lang-yaml=\"`authenticationType`\" pulumi-lang-java=\"`authenticationType`\"\u003e`authentication_type`\u003c/span\u003e is `keyBased`.\n","secret":true},"endpointUri":{"type":"string","description":"URI of the Event Hubs Namespace endpoint. This attribute can only be specified and is mandatory when \u003cspan pulumi-lang-nodejs=\"`authenticationType`\" pulumi-lang-dotnet=\"`AuthenticationType`\" pulumi-lang-go=\"`authenticationType`\" pulumi-lang-python=\"`authentication_type`\" pulumi-lang-yaml=\"`authenticationType`\" pulumi-lang-java=\"`authenticationType`\"\u003e`authentication_type`\u003c/span\u003e is `identityBased`.\n"},"entityPath":{"type":"string","description":"Name of the Event Hub. This attribute can only be specified and is mandatory when \u003cspan pulumi-lang-nodejs=\"`authenticationType`\" pulumi-lang-dotnet=\"`AuthenticationType`\" pulumi-lang-go=\"`authenticationType`\" pulumi-lang-python=\"`authentication_type`\" pulumi-lang-yaml=\"`authenticationType`\" pulumi-lang-java=\"`authenticationType`\"\u003e`authentication_type`\u003c/span\u003e is `identityBased`.\n"},"identityId":{"type":"string","description":"ID of the User Managed Identity used to authenticate against the Event Hub endpoint.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`identityId`\" pulumi-lang-dotnet=\"`IdentityId`\" pulumi-lang-go=\"`identityId`\" pulumi-lang-python=\"`identity_id`\" pulumi-lang-yaml=\"`identityId`\" pulumi-lang-java=\"`identityId`\"\u003e`identity_id`\u003c/span\u003e can only be specified when \u003cspan pulumi-lang-nodejs=\"`authenticationType`\" pulumi-lang-dotnet=\"`AuthenticationType`\" pulumi-lang-go=\"`authenticationType`\" pulumi-lang-python=\"`authentication_type`\" pulumi-lang-yaml=\"`authenticationType`\" pulumi-lang-java=\"`authenticationType`\"\u003e`authentication_type`\u003c/span\u003e is `identityBased`. It must be one of the \u003cspan pulumi-lang-nodejs=\"`identityIds`\" pulumi-lang-dotnet=\"`IdentityIds`\" pulumi-lang-go=\"`identityIds`\" pulumi-lang-python=\"`identity_ids`\" pulumi-lang-yaml=\"`identityIds`\" pulumi-lang-java=\"`identityIds`\"\u003e`identity_ids`\u003c/span\u003e of the Iot Hub. If not specified when \u003cspan pulumi-lang-nodejs=\"`authenticationType`\" pulumi-lang-dotnet=\"`AuthenticationType`\" pulumi-lang-go=\"`authenticationType`\" pulumi-lang-python=\"`authentication_type`\" pulumi-lang-yaml=\"`authenticationType`\" pulumi-lang-java=\"`authenticationType`\"\u003e`authentication_type`\u003c/span\u003e is `identityBased`, System Assigned Managed Identity of the Iot Hub will be used.\n"},"iothubId":{"type":"string","description":"The IoTHub ID for the endpoint. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the endpoint. The name must be unique across endpoint types. The following names are reserved: \u003cspan pulumi-lang-nodejs=\"`events`\" pulumi-lang-dotnet=\"`Events`\" pulumi-lang-go=\"`events`\" pulumi-lang-python=\"`events`\" pulumi-lang-yaml=\"`events`\" pulumi-lang-java=\"`events`\"\u003e`events`\u003c/span\u003e, `operationsMonitoringEvents`, `fileNotifications` and `$default`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group under which the Event Hub has been created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"subscriptionId":{"type":"string","description":"The subscription ID for the endpoint.\n\n\u003e **Note:** When \u003cspan pulumi-lang-nodejs=\"`subscriptionId`\" pulumi-lang-dotnet=\"`SubscriptionId`\" pulumi-lang-go=\"`subscriptionId`\" pulumi-lang-python=\"`subscription_id`\" pulumi-lang-yaml=\"`subscriptionId`\" pulumi-lang-java=\"`subscriptionId`\"\u003e`subscription_id`\u003c/span\u003e isn't specified it will be set to the subscription ID of the IoT Hub resource.\n"}},"requiredInputs":["iothubId","resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering EndpointEventhub resources.\n","properties":{"authenticationType":{"type":"string","description":"Type used to authenticate against the Event Hub endpoint. Possible values are `keyBased` and `identityBased`. Defaults to `keyBased`.\n"},"connectionString":{"type":"string","description":"The connection string for the endpoint. This attribute can only be specified and is mandatory when \u003cspan pulumi-lang-nodejs=\"`authenticationType`\" pulumi-lang-dotnet=\"`AuthenticationType`\" pulumi-lang-go=\"`authenticationType`\" pulumi-lang-python=\"`authentication_type`\" pulumi-lang-yaml=\"`authenticationType`\" pulumi-lang-java=\"`authenticationType`\"\u003e`authentication_type`\u003c/span\u003e is `keyBased`.\n","secret":true},"endpointUri":{"type":"string","description":"URI of the Event Hubs Namespace endpoint. This attribute can only be specified and is mandatory when \u003cspan pulumi-lang-nodejs=\"`authenticationType`\" pulumi-lang-dotnet=\"`AuthenticationType`\" pulumi-lang-go=\"`authenticationType`\" pulumi-lang-python=\"`authentication_type`\" pulumi-lang-yaml=\"`authenticationType`\" pulumi-lang-java=\"`authenticationType`\"\u003e`authentication_type`\u003c/span\u003e is `identityBased`.\n"},"entityPath":{"type":"string","description":"Name of the Event Hub. This attribute can only be specified and is mandatory when \u003cspan pulumi-lang-nodejs=\"`authenticationType`\" pulumi-lang-dotnet=\"`AuthenticationType`\" pulumi-lang-go=\"`authenticationType`\" pulumi-lang-python=\"`authentication_type`\" pulumi-lang-yaml=\"`authenticationType`\" pulumi-lang-java=\"`authenticationType`\"\u003e`authentication_type`\u003c/span\u003e is `identityBased`.\n"},"identityId":{"type":"string","description":"ID of the User Managed Identity used to authenticate against the Event Hub endpoint.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`identityId`\" pulumi-lang-dotnet=\"`IdentityId`\" pulumi-lang-go=\"`identityId`\" pulumi-lang-python=\"`identity_id`\" pulumi-lang-yaml=\"`identityId`\" pulumi-lang-java=\"`identityId`\"\u003e`identity_id`\u003c/span\u003e can only be specified when \u003cspan pulumi-lang-nodejs=\"`authenticationType`\" pulumi-lang-dotnet=\"`AuthenticationType`\" pulumi-lang-go=\"`authenticationType`\" pulumi-lang-python=\"`authentication_type`\" pulumi-lang-yaml=\"`authenticationType`\" pulumi-lang-java=\"`authenticationType`\"\u003e`authentication_type`\u003c/span\u003e is `identityBased`. It must be one of the \u003cspan pulumi-lang-nodejs=\"`identityIds`\" pulumi-lang-dotnet=\"`IdentityIds`\" pulumi-lang-go=\"`identityIds`\" pulumi-lang-python=\"`identity_ids`\" pulumi-lang-yaml=\"`identityIds`\" pulumi-lang-java=\"`identityIds`\"\u003e`identity_ids`\u003c/span\u003e of the Iot Hub. If not specified when \u003cspan pulumi-lang-nodejs=\"`authenticationType`\" pulumi-lang-dotnet=\"`AuthenticationType`\" pulumi-lang-go=\"`authenticationType`\" pulumi-lang-python=\"`authentication_type`\" pulumi-lang-yaml=\"`authenticationType`\" pulumi-lang-java=\"`authenticationType`\"\u003e`authentication_type`\u003c/span\u003e is `identityBased`, System Assigned Managed Identity of the Iot Hub will be used.\n"},"iothubId":{"type":"string","description":"The IoTHub ID for the endpoint. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the endpoint. The name must be unique across endpoint types. The following names are reserved: \u003cspan pulumi-lang-nodejs=\"`events`\" pulumi-lang-dotnet=\"`Events`\" pulumi-lang-go=\"`events`\" pulumi-lang-python=\"`events`\" pulumi-lang-yaml=\"`events`\" pulumi-lang-java=\"`events`\"\u003e`events`\u003c/span\u003e, `operationsMonitoringEvents`, `fileNotifications` and `$default`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group under which the Event Hub has been created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"subscriptionId":{"type":"string","description":"The subscription ID for the endpoint.\n\n\u003e **Note:** When \u003cspan pulumi-lang-nodejs=\"`subscriptionId`\" pulumi-lang-dotnet=\"`SubscriptionId`\" pulumi-lang-go=\"`subscriptionId`\" pulumi-lang-python=\"`subscription_id`\" pulumi-lang-yaml=\"`subscriptionId`\" pulumi-lang-java=\"`subscriptionId`\"\u003e`subscription_id`\u003c/span\u003e isn't specified it will be set to the subscription ID of the IoT Hub resource.\n"}},"type":"object"}},"azure:iot/endpointServicebusQueue:EndpointServicebusQueue":{"description":"Manages an IotHub ServiceBus Queue Endpoint\n\n\u003e **Note:** Endpoints can be defined either directly on the \u003cspan pulumi-lang-nodejs=\"`azure.iot.IoTHub`\" pulumi-lang-dotnet=\"`azure.iot.IoTHub`\" pulumi-lang-go=\"`iot.IoTHub`\" pulumi-lang-python=\"`iot.IoTHub`\" pulumi-lang-yaml=\"`azure.iot.IoTHub`\" pulumi-lang-java=\"`azure.iot.IoTHub`\"\u003e`azure.iot.IoTHub`\u003c/span\u003e resource, or using the `azurerm_iothub_endpoint_*` resources - but the two ways of defining the endpoints cannot be used together. If both are used against the same IoTHub, spurious changes will occur. Also, defining a `azurerm_iothub_endpoint_*` resource and another endpoint of a different type directly on the \u003cspan pulumi-lang-nodejs=\"`azure.iot.IoTHub`\" pulumi-lang-dotnet=\"`azure.iot.IoTHub`\" pulumi-lang-go=\"`iot.IoTHub`\" pulumi-lang-python=\"`iot.IoTHub`\" pulumi-lang-yaml=\"`azure.iot.IoTHub`\" pulumi-lang-java=\"`azure.iot.IoTHub`\"\u003e`azure.iot.IoTHub`\u003c/span\u003e resource is not supported.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleNamespace = new azure.servicebus.Namespace(\"example\", {\n    name: \"exampleNamespace\",\n    location: example.location,\n    resourceGroupName: example.name,\n    sku: \"Standard\",\n});\nconst exampleQueue = new azure.servicebus.Queue(\"example\", {\n    name: \"exampleQueue\",\n    namespaceId: exampleNamespace.id,\n    enablePartitioning: true,\n});\nconst exampleQueueAuthorizationRule = new azure.servicebus.QueueAuthorizationRule(\"example\", {\n    name: \"exampleRule\",\n    queueId: exampleQueue.id,\n    listen: false,\n    send: true,\n    manage: false,\n});\nconst exampleIoTHub = new azure.iot.IoTHub(\"example\", {\n    name: \"exampleIothub\",\n    resourceGroupName: example.name,\n    location: example.location,\n    sku: {\n        name: \"B1\",\n        capacity: 1,\n    },\n    tags: {\n        purpose: \"example\",\n    },\n});\nconst exampleEndpointServicebusQueue = new azure.iot.EndpointServicebusQueue(\"example\", {\n    resourceGroupName: example.name,\n    iothubId: exampleIoTHub.id,\n    name: \"example\",\n    connectionString: exampleQueueAuthorizationRule.primaryConnectionString,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_namespace = azure.servicebus.Namespace(\"example\",\n    name=\"exampleNamespace\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku=\"Standard\")\nexample_queue = azure.servicebus.Queue(\"example\",\n    name=\"exampleQueue\",\n    namespace_id=example_namespace.id,\n    enable_partitioning=True)\nexample_queue_authorization_rule = azure.servicebus.QueueAuthorizationRule(\"example\",\n    name=\"exampleRule\",\n    queue_id=example_queue.id,\n    listen=False,\n    send=True,\n    manage=False)\nexample_io_t_hub = azure.iot.IoTHub(\"example\",\n    name=\"exampleIothub\",\n    resource_group_name=example.name,\n    location=example.location,\n    sku={\n        \"name\": \"B1\",\n        \"capacity\": 1,\n    },\n    tags={\n        \"purpose\": \"example\",\n    })\nexample_endpoint_servicebus_queue = azure.iot.EndpointServicebusQueue(\"example\",\n    resource_group_name=example.name,\n    iothub_id=example_io_t_hub.id,\n    name=\"example\",\n    connection_string=example_queue_authorization_rule.primary_connection_string)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleNamespace = new Azure.ServiceBus.Namespace(\"example\", new()\n    {\n        Name = \"exampleNamespace\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Sku = \"Standard\",\n    });\n\n    var exampleQueue = new Azure.ServiceBus.Queue(\"example\", new()\n    {\n        Name = \"exampleQueue\",\n        NamespaceId = exampleNamespace.Id,\n        EnablePartitioning = true,\n    });\n\n    var exampleQueueAuthorizationRule = new Azure.ServiceBus.QueueAuthorizationRule(\"example\", new()\n    {\n        Name = \"exampleRule\",\n        QueueId = exampleQueue.Id,\n        Listen = false,\n        Send = true,\n        Manage = false,\n    });\n\n    var exampleIoTHub = new Azure.Iot.IoTHub(\"example\", new()\n    {\n        Name = \"exampleIothub\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        Sku = new Azure.Iot.Inputs.IoTHubSkuArgs\n        {\n            Name = \"B1\",\n            Capacity = 1,\n        },\n        Tags = \n        {\n            { \"purpose\", \"example\" },\n        },\n    });\n\n    var exampleEndpointServicebusQueue = new Azure.Iot.EndpointServicebusQueue(\"example\", new()\n    {\n        ResourceGroupName = example.Name,\n        IothubId = exampleIoTHub.Id,\n        Name = \"example\",\n        ConnectionString = exampleQueueAuthorizationRule.PrimaryConnectionString,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/iot\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/servicebus\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNamespace, err := servicebus.NewNamespace(ctx, \"example\", \u0026servicebus.NamespaceArgs{\n\t\t\tName:              pulumi.String(\"exampleNamespace\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSku:               pulumi.String(\"Standard\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleQueue, err := servicebus.NewQueue(ctx, \"example\", \u0026servicebus.QueueArgs{\n\t\t\tName:               pulumi.String(\"exampleQueue\"),\n\t\t\tNamespaceId:        exampleNamespace.ID(),\n\t\t\tEnablePartitioning: true,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleQueueAuthorizationRule, err := servicebus.NewQueueAuthorizationRule(ctx, \"example\", \u0026servicebus.QueueAuthorizationRuleArgs{\n\t\t\tName:    pulumi.String(\"exampleRule\"),\n\t\t\tQueueId: exampleQueue.ID(),\n\t\t\tListen:  pulumi.Bool(false),\n\t\t\tSend:    pulumi.Bool(true),\n\t\t\tManage:  pulumi.Bool(false),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleIoTHub, err := iot.NewIoTHub(ctx, \"example\", \u0026iot.IoTHubArgs{\n\t\t\tName:              pulumi.String(\"exampleIothub\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tSku: \u0026iot.IoTHubSkuArgs{\n\t\t\t\tName:     pulumi.String(\"B1\"),\n\t\t\t\tCapacity: pulumi.Int(1),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"purpose\": pulumi.String(\"example\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iot.NewEndpointServicebusQueue(ctx, \"example\", \u0026iot.EndpointServicebusQueueArgs{\n\t\t\tResourceGroupName: example.Name,\n\t\t\tIothubId:          exampleIoTHub.ID(),\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tConnectionString:  exampleQueueAuthorizationRule.PrimaryConnectionString,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.servicebus.Namespace;\nimport com.pulumi.azure.servicebus.NamespaceArgs;\nimport com.pulumi.azure.servicebus.Queue;\nimport com.pulumi.azure.servicebus.QueueArgs;\nimport com.pulumi.azure.servicebus.QueueAuthorizationRule;\nimport com.pulumi.azure.servicebus.QueueAuthorizationRuleArgs;\nimport com.pulumi.azure.iot.IoTHub;\nimport com.pulumi.azure.iot.IoTHubArgs;\nimport com.pulumi.azure.iot.inputs.IoTHubSkuArgs;\nimport com.pulumi.azure.iot.EndpointServicebusQueue;\nimport com.pulumi.azure.iot.EndpointServicebusQueueArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleNamespace = new Namespace(\"exampleNamespace\", NamespaceArgs.builder()\n            .name(\"exampleNamespace\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .sku(\"Standard\")\n            .build());\n\n        var exampleQueue = new Queue(\"exampleQueue\", QueueArgs.builder()\n            .name(\"exampleQueue\")\n            .namespaceId(exampleNamespace.id())\n            .enablePartitioning(true)\n            .build());\n\n        var exampleQueueAuthorizationRule = new QueueAuthorizationRule(\"exampleQueueAuthorizationRule\", QueueAuthorizationRuleArgs.builder()\n            .name(\"exampleRule\")\n            .queueId(exampleQueue.id())\n            .listen(false)\n            .send(true)\n            .manage(false)\n            .build());\n\n        var exampleIoTHub = new IoTHub(\"exampleIoTHub\", IoTHubArgs.builder()\n            .name(\"exampleIothub\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .sku(IoTHubSkuArgs.builder()\n                .name(\"B1\")\n                .capacity(1)\n                .build())\n            .tags(Map.of(\"purpose\", \"example\"))\n            .build());\n\n        var exampleEndpointServicebusQueue = new EndpointServicebusQueue(\"exampleEndpointServicebusQueue\", EndpointServicebusQueueArgs.builder()\n            .resourceGroupName(example.name())\n            .iothubId(exampleIoTHub.id())\n            .name(\"example\")\n            .connectionString(exampleQueueAuthorizationRule.primaryConnectionString())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleNamespace:\n    type: azure:servicebus:Namespace\n    name: example\n    properties:\n      name: exampleNamespace\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      sku: Standard\n  exampleQueue:\n    type: azure:servicebus:Queue\n    name: example\n    properties:\n      name: exampleQueue\n      namespaceId: ${exampleNamespace.id}\n      enablePartitioning: true\n  exampleQueueAuthorizationRule:\n    type: azure:servicebus:QueueAuthorizationRule\n    name: example\n    properties:\n      name: exampleRule\n      queueId: ${exampleQueue.id}\n      listen: false\n      send: true\n      manage: false\n  exampleIoTHub:\n    type: azure:iot:IoTHub\n    name: example\n    properties:\n      name: exampleIothub\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      sku:\n        name: B1\n        capacity: '1'\n      tags:\n        purpose: example\n  exampleEndpointServicebusQueue:\n    type: azure:iot:EndpointServicebusQueue\n    name: example\n    properties:\n      resourceGroupName: ${example.name}\n      iothubId: ${exampleIoTHub.id}\n      name: example\n      connectionString: ${exampleQueueAuthorizationRule.primaryConnectionString}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nIoTHub ServiceBus Queue Endpoint can be imported using the `resource id`, e.g.\ng\n```sh\n$ pulumi import azure:iot/endpointServicebusQueue:EndpointServicebusQueue servicebus_queue1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Devices/iotHubs/hub1/endpoints/servicebusqueue_endpoint1\n```\n\n","properties":{"authenticationType":{"type":"string","description":"Type used to authenticate against the Service Bus Queue endpoint. Possible values are `keyBased` and `identityBased`. Defaults to `keyBased`.\n"},"connectionString":{"type":"string","description":"The connection string for the endpoint. This attribute can only be specified and is mandatory when \u003cspan pulumi-lang-nodejs=\"`authenticationType`\" pulumi-lang-dotnet=\"`AuthenticationType`\" pulumi-lang-go=\"`authenticationType`\" pulumi-lang-python=\"`authentication_type`\" pulumi-lang-yaml=\"`authenticationType`\" pulumi-lang-java=\"`authenticationType`\"\u003e`authentication_type`\u003c/span\u003e is `keyBased`.\n","secret":true},"endpointUri":{"type":"string","description":"URI of the Service Bus endpoint. This attribute can only be specified and is mandatory when \u003cspan pulumi-lang-nodejs=\"`authenticationType`\" pulumi-lang-dotnet=\"`AuthenticationType`\" pulumi-lang-go=\"`authenticationType`\" pulumi-lang-python=\"`authentication_type`\" pulumi-lang-yaml=\"`authenticationType`\" pulumi-lang-java=\"`authenticationType`\"\u003e`authentication_type`\u003c/span\u003e is `identityBased`.\n"},"entityPath":{"type":"string","description":"Name of the Service Bus Queue. This attribute can only be specified and is mandatory when \u003cspan pulumi-lang-nodejs=\"`authenticationType`\" pulumi-lang-dotnet=\"`AuthenticationType`\" pulumi-lang-go=\"`authenticationType`\" pulumi-lang-python=\"`authentication_type`\" pulumi-lang-yaml=\"`authenticationType`\" pulumi-lang-java=\"`authenticationType`\"\u003e`authentication_type`\u003c/span\u003e is `identityBased`.\n"},"identityId":{"type":"string","description":"ID of the User Managed Identity used to authenticate against the Service Bus Queue endpoint.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`identityId`\" pulumi-lang-dotnet=\"`IdentityId`\" pulumi-lang-go=\"`identityId`\" pulumi-lang-python=\"`identity_id`\" pulumi-lang-yaml=\"`identityId`\" pulumi-lang-java=\"`identityId`\"\u003e`identity_id`\u003c/span\u003e can only be specified when \u003cspan pulumi-lang-nodejs=\"`authenticationType`\" pulumi-lang-dotnet=\"`AuthenticationType`\" pulumi-lang-go=\"`authenticationType`\" pulumi-lang-python=\"`authentication_type`\" pulumi-lang-yaml=\"`authenticationType`\" pulumi-lang-java=\"`authenticationType`\"\u003e`authentication_type`\u003c/span\u003e is `identityBased`. It must be one of the \u003cspan pulumi-lang-nodejs=\"`identityIds`\" pulumi-lang-dotnet=\"`IdentityIds`\" pulumi-lang-go=\"`identityIds`\" pulumi-lang-python=\"`identity_ids`\" pulumi-lang-yaml=\"`identityIds`\" pulumi-lang-java=\"`identityIds`\"\u003e`identity_ids`\u003c/span\u003e of the Iot Hub. If not specified when \u003cspan pulumi-lang-nodejs=\"`authenticationType`\" pulumi-lang-dotnet=\"`AuthenticationType`\" pulumi-lang-go=\"`authenticationType`\" pulumi-lang-python=\"`authentication_type`\" pulumi-lang-yaml=\"`authenticationType`\" pulumi-lang-java=\"`authenticationType`\"\u003e`authentication_type`\u003c/span\u003e is `identityBased`, System Assigned Managed Identity of the Iot Hub will be used.\n"},"iothubId":{"type":"string","description":"The IoTHub ID for the endpoint. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"The name of the endpoint. The name must be unique across endpoint types. The following names are reserved: \u003cspan pulumi-lang-nodejs=\"`events`\" pulumi-lang-dotnet=\"`Events`\" pulumi-lang-go=\"`events`\" pulumi-lang-python=\"`events`\" pulumi-lang-yaml=\"`events`\" pulumi-lang-java=\"`events`\"\u003e`events`\u003c/span\u003e, `operationsMonitoringEvents`, `fileNotifications` and `$default`. Changing this forces a new resource to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group under which the Service Bus Queue has been created. Changing this forces a new resource to be created.\n"},"subscriptionId":{"type":"string","description":"The subscription ID for the endpoint.\n\n\u003e **Note:** When \u003cspan pulumi-lang-nodejs=\"`subscriptionId`\" pulumi-lang-dotnet=\"`SubscriptionId`\" pulumi-lang-go=\"`subscriptionId`\" pulumi-lang-python=\"`subscription_id`\" pulumi-lang-yaml=\"`subscriptionId`\" pulumi-lang-java=\"`subscriptionId`\"\u003e`subscription_id`\u003c/span\u003e isn't specified it will be set to the subscription ID of the IoT Hub resource.\n"}},"required":["iothubId","name","resourceGroupName","subscriptionId"],"inputProperties":{"authenticationType":{"type":"string","description":"Type used to authenticate against the Service Bus Queue endpoint. Possible values are `keyBased` and `identityBased`. Defaults to `keyBased`.\n"},"connectionString":{"type":"string","description":"The connection string for the endpoint. This attribute can only be specified and is mandatory when \u003cspan pulumi-lang-nodejs=\"`authenticationType`\" pulumi-lang-dotnet=\"`AuthenticationType`\" pulumi-lang-go=\"`authenticationType`\" pulumi-lang-python=\"`authentication_type`\" pulumi-lang-yaml=\"`authenticationType`\" pulumi-lang-java=\"`authenticationType`\"\u003e`authentication_type`\u003c/span\u003e is `keyBased`.\n","secret":true},"endpointUri":{"type":"string","description":"URI of the Service Bus endpoint. This attribute can only be specified and is mandatory when \u003cspan pulumi-lang-nodejs=\"`authenticationType`\" pulumi-lang-dotnet=\"`AuthenticationType`\" pulumi-lang-go=\"`authenticationType`\" pulumi-lang-python=\"`authentication_type`\" pulumi-lang-yaml=\"`authenticationType`\" pulumi-lang-java=\"`authenticationType`\"\u003e`authentication_type`\u003c/span\u003e is `identityBased`.\n"},"entityPath":{"type":"string","description":"Name of the Service Bus Queue. This attribute can only be specified and is mandatory when \u003cspan pulumi-lang-nodejs=\"`authenticationType`\" pulumi-lang-dotnet=\"`AuthenticationType`\" pulumi-lang-go=\"`authenticationType`\" pulumi-lang-python=\"`authentication_type`\" pulumi-lang-yaml=\"`authenticationType`\" pulumi-lang-java=\"`authenticationType`\"\u003e`authentication_type`\u003c/span\u003e is `identityBased`.\n"},"identityId":{"type":"string","description":"ID of the User Managed Identity used to authenticate against the Service Bus Queue endpoint.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`identityId`\" pulumi-lang-dotnet=\"`IdentityId`\" pulumi-lang-go=\"`identityId`\" pulumi-lang-python=\"`identity_id`\" pulumi-lang-yaml=\"`identityId`\" pulumi-lang-java=\"`identityId`\"\u003e`identity_id`\u003c/span\u003e can only be specified when \u003cspan pulumi-lang-nodejs=\"`authenticationType`\" pulumi-lang-dotnet=\"`AuthenticationType`\" pulumi-lang-go=\"`authenticationType`\" pulumi-lang-python=\"`authentication_type`\" pulumi-lang-yaml=\"`authenticationType`\" pulumi-lang-java=\"`authenticationType`\"\u003e`authentication_type`\u003c/span\u003e is `identityBased`. It must be one of the \u003cspan pulumi-lang-nodejs=\"`identityIds`\" pulumi-lang-dotnet=\"`IdentityIds`\" pulumi-lang-go=\"`identityIds`\" pulumi-lang-python=\"`identity_ids`\" pulumi-lang-yaml=\"`identityIds`\" pulumi-lang-java=\"`identityIds`\"\u003e`identity_ids`\u003c/span\u003e of the Iot Hub. If not specified when \u003cspan pulumi-lang-nodejs=\"`authenticationType`\" pulumi-lang-dotnet=\"`AuthenticationType`\" pulumi-lang-go=\"`authenticationType`\" pulumi-lang-python=\"`authentication_type`\" pulumi-lang-yaml=\"`authenticationType`\" pulumi-lang-java=\"`authenticationType`\"\u003e`authentication_type`\u003c/span\u003e is `identityBased`, System Assigned Managed Identity of the Iot Hub will be used.\n"},"iothubId":{"type":"string","description":"The IoTHub ID for the endpoint. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the endpoint. The name must be unique across endpoint types. The following names are reserved: \u003cspan pulumi-lang-nodejs=\"`events`\" pulumi-lang-dotnet=\"`Events`\" pulumi-lang-go=\"`events`\" pulumi-lang-python=\"`events`\" pulumi-lang-yaml=\"`events`\" pulumi-lang-java=\"`events`\"\u003e`events`\u003c/span\u003e, `operationsMonitoringEvents`, `fileNotifications` and `$default`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group under which the Service Bus Queue has been created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"subscriptionId":{"type":"string","description":"The subscription ID for the endpoint.\n\n\u003e **Note:** When \u003cspan pulumi-lang-nodejs=\"`subscriptionId`\" pulumi-lang-dotnet=\"`SubscriptionId`\" pulumi-lang-go=\"`subscriptionId`\" pulumi-lang-python=\"`subscription_id`\" pulumi-lang-yaml=\"`subscriptionId`\" pulumi-lang-java=\"`subscriptionId`\"\u003e`subscription_id`\u003c/span\u003e isn't specified it will be set to the subscription ID of the IoT Hub resource.\n"}},"requiredInputs":["iothubId","resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering EndpointServicebusQueue resources.\n","properties":{"authenticationType":{"type":"string","description":"Type used to authenticate against the Service Bus Queue endpoint. Possible values are `keyBased` and `identityBased`. Defaults to `keyBased`.\n"},"connectionString":{"type":"string","description":"The connection string for the endpoint. This attribute can only be specified and is mandatory when \u003cspan pulumi-lang-nodejs=\"`authenticationType`\" pulumi-lang-dotnet=\"`AuthenticationType`\" pulumi-lang-go=\"`authenticationType`\" pulumi-lang-python=\"`authentication_type`\" pulumi-lang-yaml=\"`authenticationType`\" pulumi-lang-java=\"`authenticationType`\"\u003e`authentication_type`\u003c/span\u003e is `keyBased`.\n","secret":true},"endpointUri":{"type":"string","description":"URI of the Service Bus endpoint. This attribute can only be specified and is mandatory when \u003cspan pulumi-lang-nodejs=\"`authenticationType`\" pulumi-lang-dotnet=\"`AuthenticationType`\" pulumi-lang-go=\"`authenticationType`\" pulumi-lang-python=\"`authentication_type`\" pulumi-lang-yaml=\"`authenticationType`\" pulumi-lang-java=\"`authenticationType`\"\u003e`authentication_type`\u003c/span\u003e is `identityBased`.\n"},"entityPath":{"type":"string","description":"Name of the Service Bus Queue. This attribute can only be specified and is mandatory when \u003cspan pulumi-lang-nodejs=\"`authenticationType`\" pulumi-lang-dotnet=\"`AuthenticationType`\" pulumi-lang-go=\"`authenticationType`\" pulumi-lang-python=\"`authentication_type`\" pulumi-lang-yaml=\"`authenticationType`\" pulumi-lang-java=\"`authenticationType`\"\u003e`authentication_type`\u003c/span\u003e is `identityBased`.\n"},"identityId":{"type":"string","description":"ID of the User Managed Identity used to authenticate against the Service Bus Queue endpoint.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`identityId`\" pulumi-lang-dotnet=\"`IdentityId`\" pulumi-lang-go=\"`identityId`\" pulumi-lang-python=\"`identity_id`\" pulumi-lang-yaml=\"`identityId`\" pulumi-lang-java=\"`identityId`\"\u003e`identity_id`\u003c/span\u003e can only be specified when \u003cspan pulumi-lang-nodejs=\"`authenticationType`\" pulumi-lang-dotnet=\"`AuthenticationType`\" pulumi-lang-go=\"`authenticationType`\" pulumi-lang-python=\"`authentication_type`\" pulumi-lang-yaml=\"`authenticationType`\" pulumi-lang-java=\"`authenticationType`\"\u003e`authentication_type`\u003c/span\u003e is `identityBased`. It must be one of the \u003cspan pulumi-lang-nodejs=\"`identityIds`\" pulumi-lang-dotnet=\"`IdentityIds`\" pulumi-lang-go=\"`identityIds`\" pulumi-lang-python=\"`identity_ids`\" pulumi-lang-yaml=\"`identityIds`\" pulumi-lang-java=\"`identityIds`\"\u003e`identity_ids`\u003c/span\u003e of the Iot Hub. If not specified when \u003cspan pulumi-lang-nodejs=\"`authenticationType`\" pulumi-lang-dotnet=\"`AuthenticationType`\" pulumi-lang-go=\"`authenticationType`\" pulumi-lang-python=\"`authentication_type`\" pulumi-lang-yaml=\"`authenticationType`\" pulumi-lang-java=\"`authenticationType`\"\u003e`authentication_type`\u003c/span\u003e is `identityBased`, System Assigned Managed Identity of the Iot Hub will be used.\n"},"iothubId":{"type":"string","description":"The IoTHub ID for the endpoint. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the endpoint. The name must be unique across endpoint types. The following names are reserved: \u003cspan pulumi-lang-nodejs=\"`events`\" pulumi-lang-dotnet=\"`Events`\" pulumi-lang-go=\"`events`\" pulumi-lang-python=\"`events`\" pulumi-lang-yaml=\"`events`\" pulumi-lang-java=\"`events`\"\u003e`events`\u003c/span\u003e, `operationsMonitoringEvents`, `fileNotifications` and `$default`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group under which the Service Bus Queue has been created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"subscriptionId":{"type":"string","description":"The subscription ID for the endpoint.\n\n\u003e **Note:** When \u003cspan pulumi-lang-nodejs=\"`subscriptionId`\" pulumi-lang-dotnet=\"`SubscriptionId`\" pulumi-lang-go=\"`subscriptionId`\" pulumi-lang-python=\"`subscription_id`\" pulumi-lang-yaml=\"`subscriptionId`\" pulumi-lang-java=\"`subscriptionId`\"\u003e`subscription_id`\u003c/span\u003e isn't specified it will be set to the subscription ID of the IoT Hub resource.\n"}},"type":"object"}},"azure:iot/endpointServicebusTopic:EndpointServicebusTopic":{"description":"Manages an IotHub ServiceBus Topic Endpoint\n\n\u003e **Note:** Endpoints can be defined either directly on the \u003cspan pulumi-lang-nodejs=\"`azure.iot.IoTHub`\" pulumi-lang-dotnet=\"`azure.iot.IoTHub`\" pulumi-lang-go=\"`iot.IoTHub`\" pulumi-lang-python=\"`iot.IoTHub`\" pulumi-lang-yaml=\"`azure.iot.IoTHub`\" pulumi-lang-java=\"`azure.iot.IoTHub`\"\u003e`azure.iot.IoTHub`\u003c/span\u003e resource, or using the `azurerm_iothub_endpoint_*` resources - but the two ways of defining the endpoints cannot be used together. If both are used against the same IoTHub, spurious changes will occur. Also, defining a `azurerm_iothub_endpoint_*` resource and another endpoint of a different type directly on the \u003cspan pulumi-lang-nodejs=\"`azure.iot.IoTHub`\" pulumi-lang-dotnet=\"`azure.iot.IoTHub`\" pulumi-lang-go=\"`iot.IoTHub`\" pulumi-lang-python=\"`iot.IoTHub`\" pulumi-lang-yaml=\"`azure.iot.IoTHub`\" pulumi-lang-java=\"`azure.iot.IoTHub`\"\u003e`azure.iot.IoTHub`\u003c/span\u003e resource is not supported.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleNamespace = new azure.servicebus.Namespace(\"example\", {\n    name: \"exampleNamespace\",\n    location: example.location,\n    resourceGroupName: example.name,\n    sku: \"Standard\",\n});\nconst exampleTopic = new azure.servicebus.Topic(\"example\", {\n    name: \"exampleTopic\",\n    namespaceId: exampleNamespace.id,\n});\nconst exampleTopicAuthorizationRule = new azure.servicebus.TopicAuthorizationRule(\"example\", {\n    name: \"exampleRule\",\n    topicId: exampleTopic.id,\n    listen: false,\n    send: true,\n    manage: false,\n});\nconst exampleIoTHub = new azure.iot.IoTHub(\"example\", {\n    name: \"exampleIothub\",\n    resourceGroupName: example.name,\n    location: example.location,\n    sku: {\n        name: \"B1\",\n        capacity: 1,\n    },\n    tags: {\n        purpose: \"example\",\n    },\n});\nconst exampleEndpointServicebusTopic = new azure.iot.EndpointServicebusTopic(\"example\", {\n    resourceGroupName: example.name,\n    iothubId: exampleIoTHub.id,\n    name: \"example\",\n    connectionString: exampleTopicAuthorizationRule.primaryConnectionString,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_namespace = azure.servicebus.Namespace(\"example\",\n    name=\"exampleNamespace\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku=\"Standard\")\nexample_topic = azure.servicebus.Topic(\"example\",\n    name=\"exampleTopic\",\n    namespace_id=example_namespace.id)\nexample_topic_authorization_rule = azure.servicebus.TopicAuthorizationRule(\"example\",\n    name=\"exampleRule\",\n    topic_id=example_topic.id,\n    listen=False,\n    send=True,\n    manage=False)\nexample_io_t_hub = azure.iot.IoTHub(\"example\",\n    name=\"exampleIothub\",\n    resource_group_name=example.name,\n    location=example.location,\n    sku={\n        \"name\": \"B1\",\n        \"capacity\": 1,\n    },\n    tags={\n        \"purpose\": \"example\",\n    })\nexample_endpoint_servicebus_topic = azure.iot.EndpointServicebusTopic(\"example\",\n    resource_group_name=example.name,\n    iothub_id=example_io_t_hub.id,\n    name=\"example\",\n    connection_string=example_topic_authorization_rule.primary_connection_string)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleNamespace = new Azure.ServiceBus.Namespace(\"example\", new()\n    {\n        Name = \"exampleNamespace\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Sku = \"Standard\",\n    });\n\n    var exampleTopic = new Azure.ServiceBus.Topic(\"example\", new()\n    {\n        Name = \"exampleTopic\",\n        NamespaceId = exampleNamespace.Id,\n    });\n\n    var exampleTopicAuthorizationRule = new Azure.ServiceBus.TopicAuthorizationRule(\"example\", new()\n    {\n        Name = \"exampleRule\",\n        TopicId = exampleTopic.Id,\n        Listen = false,\n        Send = true,\n        Manage = false,\n    });\n\n    var exampleIoTHub = new Azure.Iot.IoTHub(\"example\", new()\n    {\n        Name = \"exampleIothub\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        Sku = new Azure.Iot.Inputs.IoTHubSkuArgs\n        {\n            Name = \"B1\",\n            Capacity = 1,\n        },\n        Tags = \n        {\n            { \"purpose\", \"example\" },\n        },\n    });\n\n    var exampleEndpointServicebusTopic = new Azure.Iot.EndpointServicebusTopic(\"example\", new()\n    {\n        ResourceGroupName = example.Name,\n        IothubId = exampleIoTHub.Id,\n        Name = \"example\",\n        ConnectionString = exampleTopicAuthorizationRule.PrimaryConnectionString,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/iot\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/servicebus\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNamespace, err := servicebus.NewNamespace(ctx, \"example\", \u0026servicebus.NamespaceArgs{\n\t\t\tName:              pulumi.String(\"exampleNamespace\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSku:               pulumi.String(\"Standard\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleTopic, err := servicebus.NewTopic(ctx, \"example\", \u0026servicebus.TopicArgs{\n\t\t\tName:        pulumi.String(\"exampleTopic\"),\n\t\t\tNamespaceId: exampleNamespace.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleTopicAuthorizationRule, err := servicebus.NewTopicAuthorizationRule(ctx, \"example\", \u0026servicebus.TopicAuthorizationRuleArgs{\n\t\t\tName:    pulumi.String(\"exampleRule\"),\n\t\t\tTopicId: exampleTopic.ID(),\n\t\t\tListen:  pulumi.Bool(false),\n\t\t\tSend:    pulumi.Bool(true),\n\t\t\tManage:  pulumi.Bool(false),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleIoTHub, err := iot.NewIoTHub(ctx, \"example\", \u0026iot.IoTHubArgs{\n\t\t\tName:              pulumi.String(\"exampleIothub\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tSku: \u0026iot.IoTHubSkuArgs{\n\t\t\t\tName:     pulumi.String(\"B1\"),\n\t\t\t\tCapacity: pulumi.Int(1),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"purpose\": pulumi.String(\"example\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iot.NewEndpointServicebusTopic(ctx, \"example\", \u0026iot.EndpointServicebusTopicArgs{\n\t\t\tResourceGroupName: example.Name,\n\t\t\tIothubId:          exampleIoTHub.ID(),\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tConnectionString:  exampleTopicAuthorizationRule.PrimaryConnectionString,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.servicebus.Namespace;\nimport com.pulumi.azure.servicebus.NamespaceArgs;\nimport com.pulumi.azure.servicebus.Topic;\nimport com.pulumi.azure.servicebus.TopicArgs;\nimport com.pulumi.azure.servicebus.TopicAuthorizationRule;\nimport com.pulumi.azure.servicebus.TopicAuthorizationRuleArgs;\nimport com.pulumi.azure.iot.IoTHub;\nimport com.pulumi.azure.iot.IoTHubArgs;\nimport com.pulumi.azure.iot.inputs.IoTHubSkuArgs;\nimport com.pulumi.azure.iot.EndpointServicebusTopic;\nimport com.pulumi.azure.iot.EndpointServicebusTopicArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleNamespace = new Namespace(\"exampleNamespace\", NamespaceArgs.builder()\n            .name(\"exampleNamespace\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .sku(\"Standard\")\n            .build());\n\n        var exampleTopic = new Topic(\"exampleTopic\", TopicArgs.builder()\n            .name(\"exampleTopic\")\n            .namespaceId(exampleNamespace.id())\n            .build());\n\n        var exampleTopicAuthorizationRule = new TopicAuthorizationRule(\"exampleTopicAuthorizationRule\", TopicAuthorizationRuleArgs.builder()\n            .name(\"exampleRule\")\n            .topicId(exampleTopic.id())\n            .listen(false)\n            .send(true)\n            .manage(false)\n            .build());\n\n        var exampleIoTHub = new IoTHub(\"exampleIoTHub\", IoTHubArgs.builder()\n            .name(\"exampleIothub\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .sku(IoTHubSkuArgs.builder()\n                .name(\"B1\")\n                .capacity(1)\n                .build())\n            .tags(Map.of(\"purpose\", \"example\"))\n            .build());\n\n        var exampleEndpointServicebusTopic = new EndpointServicebusTopic(\"exampleEndpointServicebusTopic\", EndpointServicebusTopicArgs.builder()\n            .resourceGroupName(example.name())\n            .iothubId(exampleIoTHub.id())\n            .name(\"example\")\n            .connectionString(exampleTopicAuthorizationRule.primaryConnectionString())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleNamespace:\n    type: azure:servicebus:Namespace\n    name: example\n    properties:\n      name: exampleNamespace\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      sku: Standard\n  exampleTopic:\n    type: azure:servicebus:Topic\n    name: example\n    properties:\n      name: exampleTopic\n      namespaceId: ${exampleNamespace.id}\n  exampleTopicAuthorizationRule:\n    type: azure:servicebus:TopicAuthorizationRule\n    name: example\n    properties:\n      name: exampleRule\n      topicId: ${exampleTopic.id}\n      listen: false\n      send: true\n      manage: false\n  exampleIoTHub:\n    type: azure:iot:IoTHub\n    name: example\n    properties:\n      name: exampleIothub\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      sku:\n        name: B1\n        capacity: '1'\n      tags:\n        purpose: example\n  exampleEndpointServicebusTopic:\n    type: azure:iot:EndpointServicebusTopic\n    name: example\n    properties:\n      resourceGroupName: ${example.name}\n      iothubId: ${exampleIoTHub.id}\n      name: example\n      connectionString: ${exampleTopicAuthorizationRule.primaryConnectionString}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nIoTHub ServiceBus Topic Endpoint can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:iot/endpointServicebusTopic:EndpointServicebusTopic servicebus_topic1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Devices/iotHubs/hub1/endpoints/servicebustopic_endpoint1\n```\n\n","properties":{"authenticationType":{"type":"string","description":"Type used to authenticate against the Service Bus Topic endpoint. Possible values are `keyBased` and `identityBased`. Defaults to `keyBased`.\n"},"connectionString":{"type":"string","description":"The connection string for the endpoint. This attribute can only be specified and is mandatory when \u003cspan pulumi-lang-nodejs=\"`authenticationType`\" pulumi-lang-dotnet=\"`AuthenticationType`\" pulumi-lang-go=\"`authenticationType`\" pulumi-lang-python=\"`authentication_type`\" pulumi-lang-yaml=\"`authenticationType`\" pulumi-lang-java=\"`authenticationType`\"\u003e`authentication_type`\u003c/span\u003e is `keyBased`.\n","secret":true},"endpointUri":{"type":"string","description":"URI of the Service Bus endpoint. This attribute can only be specified and is mandatory when \u003cspan pulumi-lang-nodejs=\"`authenticationType`\" pulumi-lang-dotnet=\"`AuthenticationType`\" pulumi-lang-go=\"`authenticationType`\" pulumi-lang-python=\"`authentication_type`\" pulumi-lang-yaml=\"`authenticationType`\" pulumi-lang-java=\"`authenticationType`\"\u003e`authentication_type`\u003c/span\u003e is `identityBased`.\n"},"entityPath":{"type":"string","description":"Name of the Service Bus Topic. This attribute can only be specified and is mandatory when \u003cspan pulumi-lang-nodejs=\"`authenticationType`\" pulumi-lang-dotnet=\"`AuthenticationType`\" pulumi-lang-go=\"`authenticationType`\" pulumi-lang-python=\"`authentication_type`\" pulumi-lang-yaml=\"`authenticationType`\" pulumi-lang-java=\"`authenticationType`\"\u003e`authentication_type`\u003c/span\u003e is `identityBased`.\n"},"identityId":{"type":"string","description":"ID of the User Managed Identity used to authenticate against the Service Bus Topic endpoint.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`identityId`\" pulumi-lang-dotnet=\"`IdentityId`\" pulumi-lang-go=\"`identityId`\" pulumi-lang-python=\"`identity_id`\" pulumi-lang-yaml=\"`identityId`\" pulumi-lang-java=\"`identityId`\"\u003e`identity_id`\u003c/span\u003e can only be specified when \u003cspan pulumi-lang-nodejs=\"`authenticationType`\" pulumi-lang-dotnet=\"`AuthenticationType`\" pulumi-lang-go=\"`authenticationType`\" pulumi-lang-python=\"`authentication_type`\" pulumi-lang-yaml=\"`authenticationType`\" pulumi-lang-java=\"`authenticationType`\"\u003e`authentication_type`\u003c/span\u003e is `identityBased`. It must be one of the \u003cspan pulumi-lang-nodejs=\"`identityIds`\" pulumi-lang-dotnet=\"`IdentityIds`\" pulumi-lang-go=\"`identityIds`\" pulumi-lang-python=\"`identity_ids`\" pulumi-lang-yaml=\"`identityIds`\" pulumi-lang-java=\"`identityIds`\"\u003e`identity_ids`\u003c/span\u003e of the Iot Hub. If not specified when \u003cspan pulumi-lang-nodejs=\"`authenticationType`\" pulumi-lang-dotnet=\"`AuthenticationType`\" pulumi-lang-go=\"`authenticationType`\" pulumi-lang-python=\"`authentication_type`\" pulumi-lang-yaml=\"`authenticationType`\" pulumi-lang-java=\"`authenticationType`\"\u003e`authentication_type`\u003c/span\u003e is `identityBased`, System Assigned Managed Identity of the Iot Hub will be used.\n"},"iothubId":{"type":"string","description":"The IoTHub ID for the endpoint. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"The name of the endpoint. The name must be unique across endpoint types. The following names are reserved: \u003cspan pulumi-lang-nodejs=\"`events`\" pulumi-lang-dotnet=\"`Events`\" pulumi-lang-go=\"`events`\" pulumi-lang-python=\"`events`\" pulumi-lang-yaml=\"`events`\" pulumi-lang-java=\"`events`\"\u003e`events`\u003c/span\u003e, `operationsMonitoringEvents`, `fileNotifications` and `$default`. Changing this forces a new resource to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group under which the Service Bus Topic has been created. Changing this forces a new resource to be created.\n"},"subscriptionId":{"type":"string","description":"The subscription ID for the endpoint.\n\n\u003e **Note:** When \u003cspan pulumi-lang-nodejs=\"`subscriptionId`\" pulumi-lang-dotnet=\"`SubscriptionId`\" pulumi-lang-go=\"`subscriptionId`\" pulumi-lang-python=\"`subscription_id`\" pulumi-lang-yaml=\"`subscriptionId`\" pulumi-lang-java=\"`subscriptionId`\"\u003e`subscription_id`\u003c/span\u003e isn't specified it will be set to the subscription ID of the IoT Hub resource.\n"}},"required":["iothubId","name","resourceGroupName","subscriptionId"],"inputProperties":{"authenticationType":{"type":"string","description":"Type used to authenticate against the Service Bus Topic endpoint. Possible values are `keyBased` and `identityBased`. Defaults to `keyBased`.\n"},"connectionString":{"type":"string","description":"The connection string for the endpoint. This attribute can only be specified and is mandatory when \u003cspan pulumi-lang-nodejs=\"`authenticationType`\" pulumi-lang-dotnet=\"`AuthenticationType`\" pulumi-lang-go=\"`authenticationType`\" pulumi-lang-python=\"`authentication_type`\" pulumi-lang-yaml=\"`authenticationType`\" pulumi-lang-java=\"`authenticationType`\"\u003e`authentication_type`\u003c/span\u003e is `keyBased`.\n","secret":true},"endpointUri":{"type":"string","description":"URI of the Service Bus endpoint. This attribute can only be specified and is mandatory when \u003cspan pulumi-lang-nodejs=\"`authenticationType`\" pulumi-lang-dotnet=\"`AuthenticationType`\" pulumi-lang-go=\"`authenticationType`\" pulumi-lang-python=\"`authentication_type`\" pulumi-lang-yaml=\"`authenticationType`\" pulumi-lang-java=\"`authenticationType`\"\u003e`authentication_type`\u003c/span\u003e is `identityBased`.\n"},"entityPath":{"type":"string","description":"Name of the Service Bus Topic. This attribute can only be specified and is mandatory when \u003cspan pulumi-lang-nodejs=\"`authenticationType`\" pulumi-lang-dotnet=\"`AuthenticationType`\" pulumi-lang-go=\"`authenticationType`\" pulumi-lang-python=\"`authentication_type`\" pulumi-lang-yaml=\"`authenticationType`\" pulumi-lang-java=\"`authenticationType`\"\u003e`authentication_type`\u003c/span\u003e is `identityBased`.\n"},"identityId":{"type":"string","description":"ID of the User Managed Identity used to authenticate against the Service Bus Topic endpoint.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`identityId`\" pulumi-lang-dotnet=\"`IdentityId`\" pulumi-lang-go=\"`identityId`\" pulumi-lang-python=\"`identity_id`\" pulumi-lang-yaml=\"`identityId`\" pulumi-lang-java=\"`identityId`\"\u003e`identity_id`\u003c/span\u003e can only be specified when \u003cspan pulumi-lang-nodejs=\"`authenticationType`\" pulumi-lang-dotnet=\"`AuthenticationType`\" pulumi-lang-go=\"`authenticationType`\" pulumi-lang-python=\"`authentication_type`\" pulumi-lang-yaml=\"`authenticationType`\" pulumi-lang-java=\"`authenticationType`\"\u003e`authentication_type`\u003c/span\u003e is `identityBased`. It must be one of the \u003cspan pulumi-lang-nodejs=\"`identityIds`\" pulumi-lang-dotnet=\"`IdentityIds`\" pulumi-lang-go=\"`identityIds`\" pulumi-lang-python=\"`identity_ids`\" pulumi-lang-yaml=\"`identityIds`\" pulumi-lang-java=\"`identityIds`\"\u003e`identity_ids`\u003c/span\u003e of the Iot Hub. If not specified when \u003cspan pulumi-lang-nodejs=\"`authenticationType`\" pulumi-lang-dotnet=\"`AuthenticationType`\" pulumi-lang-go=\"`authenticationType`\" pulumi-lang-python=\"`authentication_type`\" pulumi-lang-yaml=\"`authenticationType`\" pulumi-lang-java=\"`authenticationType`\"\u003e`authentication_type`\u003c/span\u003e is `identityBased`, System Assigned Managed Identity of the Iot Hub will be used.\n"},"iothubId":{"type":"string","description":"The IoTHub ID for the endpoint. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the endpoint. The name must be unique across endpoint types. The following names are reserved: \u003cspan pulumi-lang-nodejs=\"`events`\" pulumi-lang-dotnet=\"`Events`\" pulumi-lang-go=\"`events`\" pulumi-lang-python=\"`events`\" pulumi-lang-yaml=\"`events`\" pulumi-lang-java=\"`events`\"\u003e`events`\u003c/span\u003e, `operationsMonitoringEvents`, `fileNotifications` and `$default`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group under which the Service Bus Topic has been created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"subscriptionId":{"type":"string","description":"The subscription ID for the endpoint.\n\n\u003e **Note:** When \u003cspan pulumi-lang-nodejs=\"`subscriptionId`\" pulumi-lang-dotnet=\"`SubscriptionId`\" pulumi-lang-go=\"`subscriptionId`\" pulumi-lang-python=\"`subscription_id`\" pulumi-lang-yaml=\"`subscriptionId`\" pulumi-lang-java=\"`subscriptionId`\"\u003e`subscription_id`\u003c/span\u003e isn't specified it will be set to the subscription ID of the IoT Hub resource.\n"}},"requiredInputs":["iothubId","resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering EndpointServicebusTopic resources.\n","properties":{"authenticationType":{"type":"string","description":"Type used to authenticate against the Service Bus Topic endpoint. Possible values are `keyBased` and `identityBased`. Defaults to `keyBased`.\n"},"connectionString":{"type":"string","description":"The connection string for the endpoint. This attribute can only be specified and is mandatory when \u003cspan pulumi-lang-nodejs=\"`authenticationType`\" pulumi-lang-dotnet=\"`AuthenticationType`\" pulumi-lang-go=\"`authenticationType`\" pulumi-lang-python=\"`authentication_type`\" pulumi-lang-yaml=\"`authenticationType`\" pulumi-lang-java=\"`authenticationType`\"\u003e`authentication_type`\u003c/span\u003e is `keyBased`.\n","secret":true},"endpointUri":{"type":"string","description":"URI of the Service Bus endpoint. This attribute can only be specified and is mandatory when \u003cspan pulumi-lang-nodejs=\"`authenticationType`\" pulumi-lang-dotnet=\"`AuthenticationType`\" pulumi-lang-go=\"`authenticationType`\" pulumi-lang-python=\"`authentication_type`\" pulumi-lang-yaml=\"`authenticationType`\" pulumi-lang-java=\"`authenticationType`\"\u003e`authentication_type`\u003c/span\u003e is `identityBased`.\n"},"entityPath":{"type":"string","description":"Name of the Service Bus Topic. This attribute can only be specified and is mandatory when \u003cspan pulumi-lang-nodejs=\"`authenticationType`\" pulumi-lang-dotnet=\"`AuthenticationType`\" pulumi-lang-go=\"`authenticationType`\" pulumi-lang-python=\"`authentication_type`\" pulumi-lang-yaml=\"`authenticationType`\" pulumi-lang-java=\"`authenticationType`\"\u003e`authentication_type`\u003c/span\u003e is `identityBased`.\n"},"identityId":{"type":"string","description":"ID of the User Managed Identity used to authenticate against the Service Bus Topic endpoint.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`identityId`\" pulumi-lang-dotnet=\"`IdentityId`\" pulumi-lang-go=\"`identityId`\" pulumi-lang-python=\"`identity_id`\" pulumi-lang-yaml=\"`identityId`\" pulumi-lang-java=\"`identityId`\"\u003e`identity_id`\u003c/span\u003e can only be specified when \u003cspan pulumi-lang-nodejs=\"`authenticationType`\" pulumi-lang-dotnet=\"`AuthenticationType`\" pulumi-lang-go=\"`authenticationType`\" pulumi-lang-python=\"`authentication_type`\" pulumi-lang-yaml=\"`authenticationType`\" pulumi-lang-java=\"`authenticationType`\"\u003e`authentication_type`\u003c/span\u003e is `identityBased`. It must be one of the \u003cspan pulumi-lang-nodejs=\"`identityIds`\" pulumi-lang-dotnet=\"`IdentityIds`\" pulumi-lang-go=\"`identityIds`\" pulumi-lang-python=\"`identity_ids`\" pulumi-lang-yaml=\"`identityIds`\" pulumi-lang-java=\"`identityIds`\"\u003e`identity_ids`\u003c/span\u003e of the Iot Hub. If not specified when \u003cspan pulumi-lang-nodejs=\"`authenticationType`\" pulumi-lang-dotnet=\"`AuthenticationType`\" pulumi-lang-go=\"`authenticationType`\" pulumi-lang-python=\"`authentication_type`\" pulumi-lang-yaml=\"`authenticationType`\" pulumi-lang-java=\"`authenticationType`\"\u003e`authentication_type`\u003c/span\u003e is `identityBased`, System Assigned Managed Identity of the Iot Hub will be used.\n"},"iothubId":{"type":"string","description":"The IoTHub ID for the endpoint. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the endpoint. The name must be unique across endpoint types. The following names are reserved: \u003cspan pulumi-lang-nodejs=\"`events`\" pulumi-lang-dotnet=\"`Events`\" pulumi-lang-go=\"`events`\" pulumi-lang-python=\"`events`\" pulumi-lang-yaml=\"`events`\" pulumi-lang-java=\"`events`\"\u003e`events`\u003c/span\u003e, `operationsMonitoringEvents`, `fileNotifications` and `$default`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group under which the Service Bus Topic has been created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"subscriptionId":{"type":"string","description":"The subscription ID for the endpoint.\n\n\u003e **Note:** When \u003cspan pulumi-lang-nodejs=\"`subscriptionId`\" pulumi-lang-dotnet=\"`SubscriptionId`\" pulumi-lang-go=\"`subscriptionId`\" pulumi-lang-python=\"`subscription_id`\" pulumi-lang-yaml=\"`subscriptionId`\" pulumi-lang-java=\"`subscriptionId`\"\u003e`subscription_id`\u003c/span\u003e isn't specified it will be set to the subscription ID of the IoT Hub resource.\n"}},"type":"object"}},"azure:iot/endpointStorageContainer:EndpointStorageContainer":{"description":"Manages an IotHub Storage Container Endpoint\n\n\u003e **Note:** Endpoints can be defined either directly on the \u003cspan pulumi-lang-nodejs=\"`azure.iot.IoTHub`\" pulumi-lang-dotnet=\"`azure.iot.IoTHub`\" pulumi-lang-go=\"`iot.IoTHub`\" pulumi-lang-python=\"`iot.IoTHub`\" pulumi-lang-yaml=\"`azure.iot.IoTHub`\" pulumi-lang-java=\"`azure.iot.IoTHub`\"\u003e`azure.iot.IoTHub`\u003c/span\u003e resource, or using the `azurerm_iothub_endpoint_*` resources - but the two ways of defining the endpoints cannot be used together. If both are used against the same IoTHub, spurious changes will occur. Also, defining a `azurerm_iothub_endpoint_*` resource and another endpoint of a different type directly on the \u003cspan pulumi-lang-nodejs=\"`azure.iot.IoTHub`\" pulumi-lang-dotnet=\"`azure.iot.IoTHub`\" pulumi-lang-go=\"`iot.IoTHub`\" pulumi-lang-python=\"`iot.IoTHub`\" pulumi-lang-yaml=\"`azure.iot.IoTHub`\" pulumi-lang-java=\"`azure.iot.IoTHub`\"\u003e`azure.iot.IoTHub`\u003c/span\u003e resource is not supported.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleAccount = new azure.storage.Account(\"example\", {\n    name: \"example\",\n    resourceGroupName: example.name,\n    location: example.location,\n    accountTier: \"Standard\",\n    accountReplicationType: \"LRS\",\n});\nconst exampleContainer = new azure.storage.Container(\"example\", {\n    name: \"acctestcont\",\n    storageAccountName: exampleAccount.name,\n    containerAccessType: \"private\",\n});\nconst exampleIoTHub = new azure.iot.IoTHub(\"example\", {\n    name: \"example\",\n    resourceGroupName: example.name,\n    location: example.location,\n    sku: {\n        name: \"S1\",\n        capacity: 1,\n    },\n});\nconst exampleEndpointStorageContainer = new azure.iot.EndpointStorageContainer(\"example\", {\n    resourceGroupName: example.name,\n    iothubId: exampleIoTHub.id,\n    name: \"acctest\",\n    containerName: \"acctestcont\",\n    connectionString: exampleAccount.primaryBlobConnectionString,\n    fileNameFormat: \"{iothub}/{partition}_{YYYY}_{MM}_{DD}_{HH}_{mm}\",\n    batchFrequencyInSeconds: 60,\n    maxChunkSizeInBytes: 10485760,\n    encoding: \"JSON\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_account = azure.storage.Account(\"example\",\n    name=\"example\",\n    resource_group_name=example.name,\n    location=example.location,\n    account_tier=\"Standard\",\n    account_replication_type=\"LRS\")\nexample_container = azure.storage.Container(\"example\",\n    name=\"acctestcont\",\n    storage_account_name=example_account.name,\n    container_access_type=\"private\")\nexample_io_t_hub = azure.iot.IoTHub(\"example\",\n    name=\"example\",\n    resource_group_name=example.name,\n    location=example.location,\n    sku={\n        \"name\": \"S1\",\n        \"capacity\": 1,\n    })\nexample_endpoint_storage_container = azure.iot.EndpointStorageContainer(\"example\",\n    resource_group_name=example.name,\n    iothub_id=example_io_t_hub.id,\n    name=\"acctest\",\n    container_name=\"acctestcont\",\n    connection_string=example_account.primary_blob_connection_string,\n    file_name_format=\"{iothub}/{partition}_{YYYY}_{MM}_{DD}_{HH}_{mm}\",\n    batch_frequency_in_seconds=60,\n    max_chunk_size_in_bytes=10485760,\n    encoding=\"JSON\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleAccount = new Azure.Storage.Account(\"example\", new()\n    {\n        Name = \"example\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        AccountTier = \"Standard\",\n        AccountReplicationType = \"LRS\",\n    });\n\n    var exampleContainer = new Azure.Storage.Container(\"example\", new()\n    {\n        Name = \"acctestcont\",\n        StorageAccountName = exampleAccount.Name,\n        ContainerAccessType = \"private\",\n    });\n\n    var exampleIoTHub = new Azure.Iot.IoTHub(\"example\", new()\n    {\n        Name = \"example\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        Sku = new Azure.Iot.Inputs.IoTHubSkuArgs\n        {\n            Name = \"S1\",\n            Capacity = 1,\n        },\n    });\n\n    var exampleEndpointStorageContainer = new Azure.Iot.EndpointStorageContainer(\"example\", new()\n    {\n        ResourceGroupName = example.Name,\n        IothubId = exampleIoTHub.Id,\n        Name = \"acctest\",\n        ContainerName = \"acctestcont\",\n        ConnectionString = exampleAccount.PrimaryBlobConnectionString,\n        FileNameFormat = \"{iothub}/{partition}_{YYYY}_{MM}_{DD}_{HH}_{mm}\",\n        BatchFrequencyInSeconds = 60,\n        MaxChunkSizeInBytes = 10485760,\n        Encoding = \"JSON\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/iot\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := storage.NewAccount(ctx, \"example\", \u0026storage.AccountArgs{\n\t\t\tName:                   pulumi.String(\"example\"),\n\t\t\tResourceGroupName:      example.Name,\n\t\t\tLocation:               example.Location,\n\t\t\tAccountTier:            pulumi.String(\"Standard\"),\n\t\t\tAccountReplicationType: pulumi.String(\"LRS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = storage.NewContainer(ctx, \"example\", \u0026storage.ContainerArgs{\n\t\t\tName:                pulumi.String(\"acctestcont\"),\n\t\t\tStorageAccountName:  exampleAccount.Name,\n\t\t\tContainerAccessType: pulumi.String(\"private\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleIoTHub, err := iot.NewIoTHub(ctx, \"example\", \u0026iot.IoTHubArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tSku: \u0026iot.IoTHubSkuArgs{\n\t\t\t\tName:     pulumi.String(\"S1\"),\n\t\t\t\tCapacity: pulumi.Int(1),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iot.NewEndpointStorageContainer(ctx, \"example\", \u0026iot.EndpointStorageContainerArgs{\n\t\t\tResourceGroupName:       example.Name,\n\t\t\tIothubId:                exampleIoTHub.ID(),\n\t\t\tName:                    pulumi.String(\"acctest\"),\n\t\t\tContainerName:           pulumi.String(\"acctestcont\"),\n\t\t\tConnectionString:        exampleAccount.PrimaryBlobConnectionString,\n\t\t\tFileNameFormat:          pulumi.String(\"{iothub}/{partition}_{YYYY}_{MM}_{DD}_{HH}_{mm}\"),\n\t\t\tBatchFrequencyInSeconds: pulumi.Int(60),\n\t\t\tMaxChunkSizeInBytes:     pulumi.Int(10485760),\n\t\t\tEncoding:                pulumi.String(\"JSON\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.storage.Account;\nimport com.pulumi.azure.storage.AccountArgs;\nimport com.pulumi.azure.storage.Container;\nimport com.pulumi.azure.storage.ContainerArgs;\nimport com.pulumi.azure.iot.IoTHub;\nimport com.pulumi.azure.iot.IoTHubArgs;\nimport com.pulumi.azure.iot.inputs.IoTHubSkuArgs;\nimport com.pulumi.azure.iot.EndpointStorageContainer;\nimport com.pulumi.azure.iot.EndpointStorageContainerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"example\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .accountTier(\"Standard\")\n            .accountReplicationType(\"LRS\")\n            .build());\n\n        var exampleContainer = new Container(\"exampleContainer\", ContainerArgs.builder()\n            .name(\"acctestcont\")\n            .storageAccountName(exampleAccount.name())\n            .containerAccessType(\"private\")\n            .build());\n\n        var exampleIoTHub = new IoTHub(\"exampleIoTHub\", IoTHubArgs.builder()\n            .name(\"example\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .sku(IoTHubSkuArgs.builder()\n                .name(\"S1\")\n                .capacity(1)\n                .build())\n            .build());\n\n        var exampleEndpointStorageContainer = new EndpointStorageContainer(\"exampleEndpointStorageContainer\", EndpointStorageContainerArgs.builder()\n            .resourceGroupName(example.name())\n            .iothubId(exampleIoTHub.id())\n            .name(\"acctest\")\n            .containerName(\"acctestcont\")\n            .connectionString(exampleAccount.primaryBlobConnectionString())\n            .fileNameFormat(\"{iothub}/{partition}_{YYYY}_{MM}_{DD}_{HH}_{mm}\")\n            .batchFrequencyInSeconds(60)\n            .maxChunkSizeInBytes(10485760)\n            .encoding(\"JSON\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleAccount:\n    type: azure:storage:Account\n    name: example\n    properties:\n      name: example\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      accountTier: Standard\n      accountReplicationType: LRS\n  exampleContainer:\n    type: azure:storage:Container\n    name: example\n    properties:\n      name: acctestcont\n      storageAccountName: ${exampleAccount.name}\n      containerAccessType: private\n  exampleIoTHub:\n    type: azure:iot:IoTHub\n    name: example\n    properties:\n      name: example\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      sku:\n        name: S1\n        capacity: '1'\n  exampleEndpointStorageContainer:\n    type: azure:iot:EndpointStorageContainer\n    name: example\n    properties:\n      resourceGroupName: ${example.name}\n      iothubId: ${exampleIoTHub.id}\n      name: acctest\n      containerName: acctestcont\n      connectionString: ${exampleAccount.primaryBlobConnectionString}\n      fileNameFormat: '{iothub}/{partition}_{YYYY}_{MM}_{DD}_{HH}_{mm}'\n      batchFrequencyInSeconds: 60\n      maxChunkSizeInBytes: 1.048576e+07\n      encoding: JSON\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nIoTHub Storage Container Endpoint can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:iot/endpointStorageContainer:EndpointStorageContainer storage_container1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Devices/iotHubs/hub1/endpoints/storage_container_endpoint1\n```\n\n","properties":{"authenticationType":{"type":"string","description":"Type used to authenticate against the storage endpoint. Possible values are `keyBased` and `identityBased`. Defaults to `keyBased`.\n"},"batchFrequencyInSeconds":{"type":"integer","description":"Time interval at which blobs are written to storage. Value should be between 60 and 720 seconds. Default value is 300 seconds.\n"},"connectionString":{"type":"string","description":"The connection string for the endpoint. This attribute can only be specified and is mandatory when \u003cspan pulumi-lang-nodejs=\"`authenticationType`\" pulumi-lang-dotnet=\"`AuthenticationType`\" pulumi-lang-go=\"`authenticationType`\" pulumi-lang-python=\"`authentication_type`\" pulumi-lang-yaml=\"`authenticationType`\" pulumi-lang-java=\"`authenticationType`\"\u003e`authentication_type`\u003c/span\u003e is `keyBased`.\n","secret":true},"containerName":{"type":"string","description":"The name of storage container in the storage account.\n"},"encoding":{"type":"string","description":"Encoding that is used to serialize messages to blobs. Supported values are `Avro`, `AvroDeflate` and `JSON`. Default value is `Avro`. Changing this forces a new resource to be created.\n"},"endpointUri":{"type":"string","description":"URI of the Storage Container endpoint. This corresponds to the \u003cspan pulumi-lang-nodejs=\"`primaryBlobEndpoint`\" pulumi-lang-dotnet=\"`PrimaryBlobEndpoint`\" pulumi-lang-go=\"`primaryBlobEndpoint`\" pulumi-lang-python=\"`primary_blob_endpoint`\" pulumi-lang-yaml=\"`primaryBlobEndpoint`\" pulumi-lang-java=\"`primaryBlobEndpoint`\"\u003e`primary_blob_endpoint`\u003c/span\u003e of the parent storage account. This attribute can only be specified and is mandatory when \u003cspan pulumi-lang-nodejs=\"`authenticationType`\" pulumi-lang-dotnet=\"`AuthenticationType`\" pulumi-lang-go=\"`authenticationType`\" pulumi-lang-python=\"`authentication_type`\" pulumi-lang-yaml=\"`authenticationType`\" pulumi-lang-java=\"`authenticationType`\"\u003e`authentication_type`\u003c/span\u003e is `identityBased`.\n"},"fileNameFormat":{"type":"string","description":"File name format for the blob. All parameters are mandatory but can be reordered. Defaults to `{iothub}/{partition}/{YYYY}/{MM}/{DD}/{HH}/{mm}`.\n"},"identityId":{"type":"string","description":"ID of the User Managed Identity used to authenticate against the storage endpoint.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`identityId`\" pulumi-lang-dotnet=\"`IdentityId`\" pulumi-lang-go=\"`identityId`\" pulumi-lang-python=\"`identity_id`\" pulumi-lang-yaml=\"`identityId`\" pulumi-lang-java=\"`identityId`\"\u003e`identity_id`\u003c/span\u003e can only be specified when \u003cspan pulumi-lang-nodejs=\"`authenticationType`\" pulumi-lang-dotnet=\"`AuthenticationType`\" pulumi-lang-go=\"`authenticationType`\" pulumi-lang-python=\"`authentication_type`\" pulumi-lang-yaml=\"`authenticationType`\" pulumi-lang-java=\"`authenticationType`\"\u003e`authentication_type`\u003c/span\u003e is `identityBased`. It must be one of the \u003cspan pulumi-lang-nodejs=\"`identityIds`\" pulumi-lang-dotnet=\"`IdentityIds`\" pulumi-lang-go=\"`identityIds`\" pulumi-lang-python=\"`identity_ids`\" pulumi-lang-yaml=\"`identityIds`\" pulumi-lang-java=\"`identityIds`\"\u003e`identity_ids`\u003c/span\u003e of the Iot Hub. If not specified when \u003cspan pulumi-lang-nodejs=\"`authenticationType`\" pulumi-lang-dotnet=\"`AuthenticationType`\" pulumi-lang-go=\"`authenticationType`\" pulumi-lang-python=\"`authentication_type`\" pulumi-lang-yaml=\"`authenticationType`\" pulumi-lang-java=\"`authenticationType`\"\u003e`authentication_type`\u003c/span\u003e is `identityBased`, System Assigned Managed Identity of the Iot Hub will be used.\n"},"iothubId":{"type":"string","description":"The IoTHub ID for the endpoint. Changing this forces a new resource to be created.\n"},"maxChunkSizeInBytes":{"type":"integer","description":"Maximum number of bytes for each blob written to storage. Value should be between 10485760(10MB) and 524288000(500MB). Default value is 314572800(300MB).\n"},"name":{"type":"string","description":"The name of the endpoint. The name must be unique across endpoint types. The following names are reserved: \u003cspan pulumi-lang-nodejs=\"`events`\" pulumi-lang-dotnet=\"`Events`\" pulumi-lang-go=\"`events`\" pulumi-lang-python=\"`events`\" pulumi-lang-yaml=\"`events`\" pulumi-lang-java=\"`events`\"\u003e`events`\u003c/span\u003e, `operationsMonitoringEvents`, `fileNotifications` and `$default`. Changing this forces a new resource to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group under which the Storage Container has been created. Changing this forces a new resource to be created.\n"},"subscriptionId":{"type":"string","description":"The subscription ID for the endpoint.\n\n\u003e **Note:** When \u003cspan pulumi-lang-nodejs=\"`subscriptionId`\" pulumi-lang-dotnet=\"`SubscriptionId`\" pulumi-lang-go=\"`subscriptionId`\" pulumi-lang-python=\"`subscription_id`\" pulumi-lang-yaml=\"`subscriptionId`\" pulumi-lang-java=\"`subscriptionId`\"\u003e`subscription_id`\u003c/span\u003e isn't specified it will be set to the subscription ID of the IoT Hub resource.\n"}},"required":["containerName","iothubId","name","resourceGroupName","subscriptionId"],"inputProperties":{"authenticationType":{"type":"string","description":"Type used to authenticate against the storage endpoint. Possible values are `keyBased` and `identityBased`. Defaults to `keyBased`.\n"},"batchFrequencyInSeconds":{"type":"integer","description":"Time interval at which blobs are written to storage. Value should be between 60 and 720 seconds. Default value is 300 seconds.\n"},"connectionString":{"type":"string","description":"The connection string for the endpoint. This attribute can only be specified and is mandatory when \u003cspan pulumi-lang-nodejs=\"`authenticationType`\" pulumi-lang-dotnet=\"`AuthenticationType`\" pulumi-lang-go=\"`authenticationType`\" pulumi-lang-python=\"`authentication_type`\" pulumi-lang-yaml=\"`authenticationType`\" pulumi-lang-java=\"`authenticationType`\"\u003e`authentication_type`\u003c/span\u003e is `keyBased`.\n","secret":true},"containerName":{"type":"string","description":"The name of storage container in the storage account.\n"},"encoding":{"type":"string","description":"Encoding that is used to serialize messages to blobs. Supported values are `Avro`, `AvroDeflate` and `JSON`. Default value is `Avro`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"endpointUri":{"type":"string","description":"URI of the Storage Container endpoint. This corresponds to the \u003cspan pulumi-lang-nodejs=\"`primaryBlobEndpoint`\" pulumi-lang-dotnet=\"`PrimaryBlobEndpoint`\" pulumi-lang-go=\"`primaryBlobEndpoint`\" pulumi-lang-python=\"`primary_blob_endpoint`\" pulumi-lang-yaml=\"`primaryBlobEndpoint`\" pulumi-lang-java=\"`primaryBlobEndpoint`\"\u003e`primary_blob_endpoint`\u003c/span\u003e of the parent storage account. This attribute can only be specified and is mandatory when \u003cspan pulumi-lang-nodejs=\"`authenticationType`\" pulumi-lang-dotnet=\"`AuthenticationType`\" pulumi-lang-go=\"`authenticationType`\" pulumi-lang-python=\"`authentication_type`\" pulumi-lang-yaml=\"`authenticationType`\" pulumi-lang-java=\"`authenticationType`\"\u003e`authentication_type`\u003c/span\u003e is `identityBased`.\n"},"fileNameFormat":{"type":"string","description":"File name format for the blob. All parameters are mandatory but can be reordered. Defaults to `{iothub}/{partition}/{YYYY}/{MM}/{DD}/{HH}/{mm}`.\n"},"identityId":{"type":"string","description":"ID of the User Managed Identity used to authenticate against the storage endpoint.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`identityId`\" pulumi-lang-dotnet=\"`IdentityId`\" pulumi-lang-go=\"`identityId`\" pulumi-lang-python=\"`identity_id`\" pulumi-lang-yaml=\"`identityId`\" pulumi-lang-java=\"`identityId`\"\u003e`identity_id`\u003c/span\u003e can only be specified when \u003cspan pulumi-lang-nodejs=\"`authenticationType`\" pulumi-lang-dotnet=\"`AuthenticationType`\" pulumi-lang-go=\"`authenticationType`\" pulumi-lang-python=\"`authentication_type`\" pulumi-lang-yaml=\"`authenticationType`\" pulumi-lang-java=\"`authenticationType`\"\u003e`authentication_type`\u003c/span\u003e is `identityBased`. It must be one of the \u003cspan pulumi-lang-nodejs=\"`identityIds`\" pulumi-lang-dotnet=\"`IdentityIds`\" pulumi-lang-go=\"`identityIds`\" pulumi-lang-python=\"`identity_ids`\" pulumi-lang-yaml=\"`identityIds`\" pulumi-lang-java=\"`identityIds`\"\u003e`identity_ids`\u003c/span\u003e of the Iot Hub. If not specified when \u003cspan pulumi-lang-nodejs=\"`authenticationType`\" pulumi-lang-dotnet=\"`AuthenticationType`\" pulumi-lang-go=\"`authenticationType`\" pulumi-lang-python=\"`authentication_type`\" pulumi-lang-yaml=\"`authenticationType`\" pulumi-lang-java=\"`authenticationType`\"\u003e`authentication_type`\u003c/span\u003e is `identityBased`, System Assigned Managed Identity of the Iot Hub will be used.\n"},"iothubId":{"type":"string","description":"The IoTHub ID for the endpoint. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"maxChunkSizeInBytes":{"type":"integer","description":"Maximum number of bytes for each blob written to storage. Value should be between 10485760(10MB) and 524288000(500MB). Default value is 314572800(300MB).\n"},"name":{"type":"string","description":"The name of the endpoint. The name must be unique across endpoint types. The following names are reserved: \u003cspan pulumi-lang-nodejs=\"`events`\" pulumi-lang-dotnet=\"`Events`\" pulumi-lang-go=\"`events`\" pulumi-lang-python=\"`events`\" pulumi-lang-yaml=\"`events`\" pulumi-lang-java=\"`events`\"\u003e`events`\u003c/span\u003e, `operationsMonitoringEvents`, `fileNotifications` and `$default`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group under which the Storage Container has been created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"subscriptionId":{"type":"string","description":"The subscription ID for the endpoint.\n\n\u003e **Note:** When \u003cspan pulumi-lang-nodejs=\"`subscriptionId`\" pulumi-lang-dotnet=\"`SubscriptionId`\" pulumi-lang-go=\"`subscriptionId`\" pulumi-lang-python=\"`subscription_id`\" pulumi-lang-yaml=\"`subscriptionId`\" pulumi-lang-java=\"`subscriptionId`\"\u003e`subscription_id`\u003c/span\u003e isn't specified it will be set to the subscription ID of the IoT Hub resource.\n"}},"requiredInputs":["containerName","iothubId","resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering EndpointStorageContainer resources.\n","properties":{"authenticationType":{"type":"string","description":"Type used to authenticate against the storage endpoint. Possible values are `keyBased` and `identityBased`. Defaults to `keyBased`.\n"},"batchFrequencyInSeconds":{"type":"integer","description":"Time interval at which blobs are written to storage. Value should be between 60 and 720 seconds. Default value is 300 seconds.\n"},"connectionString":{"type":"string","description":"The connection string for the endpoint. This attribute can only be specified and is mandatory when \u003cspan pulumi-lang-nodejs=\"`authenticationType`\" pulumi-lang-dotnet=\"`AuthenticationType`\" pulumi-lang-go=\"`authenticationType`\" pulumi-lang-python=\"`authentication_type`\" pulumi-lang-yaml=\"`authenticationType`\" pulumi-lang-java=\"`authenticationType`\"\u003e`authentication_type`\u003c/span\u003e is `keyBased`.\n","secret":true},"containerName":{"type":"string","description":"The name of storage container in the storage account.\n"},"encoding":{"type":"string","description":"Encoding that is used to serialize messages to blobs. Supported values are `Avro`, `AvroDeflate` and `JSON`. Default value is `Avro`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"endpointUri":{"type":"string","description":"URI of the Storage Container endpoint. This corresponds to the \u003cspan pulumi-lang-nodejs=\"`primaryBlobEndpoint`\" pulumi-lang-dotnet=\"`PrimaryBlobEndpoint`\" pulumi-lang-go=\"`primaryBlobEndpoint`\" pulumi-lang-python=\"`primary_blob_endpoint`\" pulumi-lang-yaml=\"`primaryBlobEndpoint`\" pulumi-lang-java=\"`primaryBlobEndpoint`\"\u003e`primary_blob_endpoint`\u003c/span\u003e of the parent storage account. This attribute can only be specified and is mandatory when \u003cspan pulumi-lang-nodejs=\"`authenticationType`\" pulumi-lang-dotnet=\"`AuthenticationType`\" pulumi-lang-go=\"`authenticationType`\" pulumi-lang-python=\"`authentication_type`\" pulumi-lang-yaml=\"`authenticationType`\" pulumi-lang-java=\"`authenticationType`\"\u003e`authentication_type`\u003c/span\u003e is `identityBased`.\n"},"fileNameFormat":{"type":"string","description":"File name format for the blob. All parameters are mandatory but can be reordered. Defaults to `{iothub}/{partition}/{YYYY}/{MM}/{DD}/{HH}/{mm}`.\n"},"identityId":{"type":"string","description":"ID of the User Managed Identity used to authenticate against the storage endpoint.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`identityId`\" pulumi-lang-dotnet=\"`IdentityId`\" pulumi-lang-go=\"`identityId`\" pulumi-lang-python=\"`identity_id`\" pulumi-lang-yaml=\"`identityId`\" pulumi-lang-java=\"`identityId`\"\u003e`identity_id`\u003c/span\u003e can only be specified when \u003cspan pulumi-lang-nodejs=\"`authenticationType`\" pulumi-lang-dotnet=\"`AuthenticationType`\" pulumi-lang-go=\"`authenticationType`\" pulumi-lang-python=\"`authentication_type`\" pulumi-lang-yaml=\"`authenticationType`\" pulumi-lang-java=\"`authenticationType`\"\u003e`authentication_type`\u003c/span\u003e is `identityBased`. It must be one of the \u003cspan pulumi-lang-nodejs=\"`identityIds`\" pulumi-lang-dotnet=\"`IdentityIds`\" pulumi-lang-go=\"`identityIds`\" pulumi-lang-python=\"`identity_ids`\" pulumi-lang-yaml=\"`identityIds`\" pulumi-lang-java=\"`identityIds`\"\u003e`identity_ids`\u003c/span\u003e of the Iot Hub. If not specified when \u003cspan pulumi-lang-nodejs=\"`authenticationType`\" pulumi-lang-dotnet=\"`AuthenticationType`\" pulumi-lang-go=\"`authenticationType`\" pulumi-lang-python=\"`authentication_type`\" pulumi-lang-yaml=\"`authenticationType`\" pulumi-lang-java=\"`authenticationType`\"\u003e`authentication_type`\u003c/span\u003e is `identityBased`, System Assigned Managed Identity of the Iot Hub will be used.\n"},"iothubId":{"type":"string","description":"The IoTHub ID for the endpoint. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"maxChunkSizeInBytes":{"type":"integer","description":"Maximum number of bytes for each blob written to storage. Value should be between 10485760(10MB) and 524288000(500MB). Default value is 314572800(300MB).\n"},"name":{"type":"string","description":"The name of the endpoint. The name must be unique across endpoint types. The following names are reserved: \u003cspan pulumi-lang-nodejs=\"`events`\" pulumi-lang-dotnet=\"`Events`\" pulumi-lang-go=\"`events`\" pulumi-lang-python=\"`events`\" pulumi-lang-yaml=\"`events`\" pulumi-lang-java=\"`events`\"\u003e`events`\u003c/span\u003e, `operationsMonitoringEvents`, `fileNotifications` and `$default`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group under which the Storage Container has been created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"subscriptionId":{"type":"string","description":"The subscription ID for the endpoint.\n\n\u003e **Note:** When \u003cspan pulumi-lang-nodejs=\"`subscriptionId`\" pulumi-lang-dotnet=\"`SubscriptionId`\" pulumi-lang-go=\"`subscriptionId`\" pulumi-lang-python=\"`subscription_id`\" pulumi-lang-yaml=\"`subscriptionId`\" pulumi-lang-java=\"`subscriptionId`\"\u003e`subscription_id`\u003c/span\u003e isn't specified it will be set to the subscription ID of the IoT Hub resource.\n"}},"type":"object"}},"azure:iot/enrichment:Enrichment":{"description":"Manages an IotHub Enrichment\n\n\u003e **Note:** Enrichment can be defined either directly on the \u003cspan pulumi-lang-nodejs=\"`azure.iot.IoTHub`\" pulumi-lang-dotnet=\"`azure.iot.IoTHub`\" pulumi-lang-go=\"`iot.IoTHub`\" pulumi-lang-python=\"`iot.IoTHub`\" pulumi-lang-yaml=\"`azure.iot.IoTHub`\" pulumi-lang-java=\"`azure.iot.IoTHub`\"\u003e`azure.iot.IoTHub`\u003c/span\u003e resource, or using the \u003cspan pulumi-lang-nodejs=\"`azure.iot.Enrichment`\" pulumi-lang-dotnet=\"`azure.iot.Enrichment`\" pulumi-lang-go=\"`iot.Enrichment`\" pulumi-lang-python=\"`iot.Enrichment`\" pulumi-lang-yaml=\"`azure.iot.Enrichment`\" pulumi-lang-java=\"`azure.iot.Enrichment`\"\u003e`azure.iot.Enrichment`\u003c/span\u003e resources - but the two cannot be used together. If both are used against the same IoTHub, spurious changes will occur.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleAccount = new azure.storage.Account(\"example\", {\n    name: \"examplestorageaccount\",\n    resourceGroupName: example.name,\n    location: example.location,\n    accountTier: \"Standard\",\n    accountReplicationType: \"LRS\",\n});\nconst exampleContainer = new azure.storage.Container(\"example\", {\n    name: \"example\",\n    storageAccountName: exampleAccount.name,\n    containerAccessType: \"private\",\n});\nconst exampleIoTHub = new azure.iot.IoTHub(\"example\", {\n    name: \"exampleIothub\",\n    resourceGroupName: example.name,\n    location: example.location,\n    sku: {\n        name: \"S1\",\n        capacity: 1,\n    },\n    tags: {\n        purpose: \"testing\",\n    },\n});\nconst exampleEndpointStorageContainer = new azure.iot.EndpointStorageContainer(\"example\", {\n    resourceGroupName: example.name,\n    iothubId: exampleIoTHub.id,\n    name: \"example\",\n    connectionString: exampleAccount.primaryBlobConnectionString,\n    batchFrequencyInSeconds: 60,\n    maxChunkSizeInBytes: 10485760,\n    containerName: exampleContainer.name,\n    encoding: \"Avro\",\n    fileNameFormat: \"{iothub}/{partition}_{YYYY}_{MM}_{DD}_{HH}_{mm}\",\n});\nconst exampleRoute = new azure.iot.Route(\"example\", {\n    resourceGroupName: example.name,\n    iothubName: exampleIoTHub.name,\n    name: \"example\",\n    source: \"DeviceMessages\",\n    condition: \"true\",\n    endpointNames: exampleEndpointStorageContainer.name,\n    enabled: true,\n});\nconst exampleEnrichment = new azure.iot.Enrichment(\"example\", {\n    resourceGroupName: example.name,\n    iothubName: exampleIoTHub.name,\n    key: \"example\",\n    value: \"my value\",\n    endpointNames: [exampleEndpointStorageContainer.name],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_account = azure.storage.Account(\"example\",\n    name=\"examplestorageaccount\",\n    resource_group_name=example.name,\n    location=example.location,\n    account_tier=\"Standard\",\n    account_replication_type=\"LRS\")\nexample_container = azure.storage.Container(\"example\",\n    name=\"example\",\n    storage_account_name=example_account.name,\n    container_access_type=\"private\")\nexample_io_t_hub = azure.iot.IoTHub(\"example\",\n    name=\"exampleIothub\",\n    resource_group_name=example.name,\n    location=example.location,\n    sku={\n        \"name\": \"S1\",\n        \"capacity\": 1,\n    },\n    tags={\n        \"purpose\": \"testing\",\n    })\nexample_endpoint_storage_container = azure.iot.EndpointStorageContainer(\"example\",\n    resource_group_name=example.name,\n    iothub_id=example_io_t_hub.id,\n    name=\"example\",\n    connection_string=example_account.primary_blob_connection_string,\n    batch_frequency_in_seconds=60,\n    max_chunk_size_in_bytes=10485760,\n    container_name=example_container.name,\n    encoding=\"Avro\",\n    file_name_format=\"{iothub}/{partition}_{YYYY}_{MM}_{DD}_{HH}_{mm}\")\nexample_route = azure.iot.Route(\"example\",\n    resource_group_name=example.name,\n    iothub_name=example_io_t_hub.name,\n    name=\"example\",\n    source=\"DeviceMessages\",\n    condition=\"true\",\n    endpoint_names=example_endpoint_storage_container.name,\n    enabled=True)\nexample_enrichment = azure.iot.Enrichment(\"example\",\n    resource_group_name=example.name,\n    iothub_name=example_io_t_hub.name,\n    key=\"example\",\n    value=\"my value\",\n    endpoint_names=[example_endpoint_storage_container.name])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleAccount = new Azure.Storage.Account(\"example\", new()\n    {\n        Name = \"examplestorageaccount\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        AccountTier = \"Standard\",\n        AccountReplicationType = \"LRS\",\n    });\n\n    var exampleContainer = new Azure.Storage.Container(\"example\", new()\n    {\n        Name = \"example\",\n        StorageAccountName = exampleAccount.Name,\n        ContainerAccessType = \"private\",\n    });\n\n    var exampleIoTHub = new Azure.Iot.IoTHub(\"example\", new()\n    {\n        Name = \"exampleIothub\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        Sku = new Azure.Iot.Inputs.IoTHubSkuArgs\n        {\n            Name = \"S1\",\n            Capacity = 1,\n        },\n        Tags = \n        {\n            { \"purpose\", \"testing\" },\n        },\n    });\n\n    var exampleEndpointStorageContainer = new Azure.Iot.EndpointStorageContainer(\"example\", new()\n    {\n        ResourceGroupName = example.Name,\n        IothubId = exampleIoTHub.Id,\n        Name = \"example\",\n        ConnectionString = exampleAccount.PrimaryBlobConnectionString,\n        BatchFrequencyInSeconds = 60,\n        MaxChunkSizeInBytes = 10485760,\n        ContainerName = exampleContainer.Name,\n        Encoding = \"Avro\",\n        FileNameFormat = \"{iothub}/{partition}_{YYYY}_{MM}_{DD}_{HH}_{mm}\",\n    });\n\n    var exampleRoute = new Azure.Iot.Route(\"example\", new()\n    {\n        ResourceGroupName = example.Name,\n        IothubName = exampleIoTHub.Name,\n        Name = \"example\",\n        Source = \"DeviceMessages\",\n        Condition = \"true\",\n        EndpointNames = exampleEndpointStorageContainer.Name,\n        Enabled = true,\n    });\n\n    var exampleEnrichment = new Azure.Iot.Enrichment(\"example\", new()\n    {\n        ResourceGroupName = example.Name,\n        IothubName = exampleIoTHub.Name,\n        Key = \"example\",\n        Value = \"my value\",\n        EndpointNames = new[]\n        {\n            exampleEndpointStorageContainer.Name,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/iot\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := storage.NewAccount(ctx, \"example\", \u0026storage.AccountArgs{\n\t\t\tName:                   pulumi.String(\"examplestorageaccount\"),\n\t\t\tResourceGroupName:      example.Name,\n\t\t\tLocation:               example.Location,\n\t\t\tAccountTier:            pulumi.String(\"Standard\"),\n\t\t\tAccountReplicationType: pulumi.String(\"LRS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleContainer, err := storage.NewContainer(ctx, \"example\", \u0026storage.ContainerArgs{\n\t\t\tName:                pulumi.String(\"example\"),\n\t\t\tStorageAccountName:  exampleAccount.Name,\n\t\t\tContainerAccessType: pulumi.String(\"private\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleIoTHub, err := iot.NewIoTHub(ctx, \"example\", \u0026iot.IoTHubArgs{\n\t\t\tName:              pulumi.String(\"exampleIothub\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tSku: \u0026iot.IoTHubSkuArgs{\n\t\t\t\tName:     pulumi.String(\"S1\"),\n\t\t\t\tCapacity: pulumi.Int(1),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"purpose\": pulumi.String(\"testing\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleEndpointStorageContainer, err := iot.NewEndpointStorageContainer(ctx, \"example\", \u0026iot.EndpointStorageContainerArgs{\n\t\t\tResourceGroupName:       example.Name,\n\t\t\tIothubId:                exampleIoTHub.ID(),\n\t\t\tName:                    pulumi.String(\"example\"),\n\t\t\tConnectionString:        exampleAccount.PrimaryBlobConnectionString,\n\t\t\tBatchFrequencyInSeconds: pulumi.Int(60),\n\t\t\tMaxChunkSizeInBytes:     pulumi.Int(10485760),\n\t\t\tContainerName:           exampleContainer.Name,\n\t\t\tEncoding:                pulumi.String(\"Avro\"),\n\t\t\tFileNameFormat:          pulumi.String(\"{iothub}/{partition}_{YYYY}_{MM}_{DD}_{HH}_{mm}\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iot.NewRoute(ctx, \"example\", \u0026iot.RouteArgs{\n\t\t\tResourceGroupName: example.Name,\n\t\t\tIothubName:        exampleIoTHub.Name,\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tSource:            pulumi.String(\"DeviceMessages\"),\n\t\t\tCondition:         pulumi.String(\"true\"),\n\t\t\tEndpointNames:     exampleEndpointStorageContainer.Name,\n\t\t\tEnabled:           pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iot.NewEnrichment(ctx, \"example\", \u0026iot.EnrichmentArgs{\n\t\t\tResourceGroupName: example.Name,\n\t\t\tIothubName:        exampleIoTHub.Name,\n\t\t\tKey:               pulumi.String(\"example\"),\n\t\t\tValue:             pulumi.String(\"my value\"),\n\t\t\tEndpointNames: pulumi.StringArray{\n\t\t\t\texampleEndpointStorageContainer.Name,\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.storage.Account;\nimport com.pulumi.azure.storage.AccountArgs;\nimport com.pulumi.azure.storage.Container;\nimport com.pulumi.azure.storage.ContainerArgs;\nimport com.pulumi.azure.iot.IoTHub;\nimport com.pulumi.azure.iot.IoTHubArgs;\nimport com.pulumi.azure.iot.inputs.IoTHubSkuArgs;\nimport com.pulumi.azure.iot.EndpointStorageContainer;\nimport com.pulumi.azure.iot.EndpointStorageContainerArgs;\nimport com.pulumi.azure.iot.Route;\nimport com.pulumi.azure.iot.RouteArgs;\nimport com.pulumi.azure.iot.Enrichment;\nimport com.pulumi.azure.iot.EnrichmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"examplestorageaccount\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .accountTier(\"Standard\")\n            .accountReplicationType(\"LRS\")\n            .build());\n\n        var exampleContainer = new Container(\"exampleContainer\", ContainerArgs.builder()\n            .name(\"example\")\n            .storageAccountName(exampleAccount.name())\n            .containerAccessType(\"private\")\n            .build());\n\n        var exampleIoTHub = new IoTHub(\"exampleIoTHub\", IoTHubArgs.builder()\n            .name(\"exampleIothub\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .sku(IoTHubSkuArgs.builder()\n                .name(\"S1\")\n                .capacity(1)\n                .build())\n            .tags(Map.of(\"purpose\", \"testing\"))\n            .build());\n\n        var exampleEndpointStorageContainer = new EndpointStorageContainer(\"exampleEndpointStorageContainer\", EndpointStorageContainerArgs.builder()\n            .resourceGroupName(example.name())\n            .iothubId(exampleIoTHub.id())\n            .name(\"example\")\n            .connectionString(exampleAccount.primaryBlobConnectionString())\n            .batchFrequencyInSeconds(60)\n            .maxChunkSizeInBytes(10485760)\n            .containerName(exampleContainer.name())\n            .encoding(\"Avro\")\n            .fileNameFormat(\"{iothub}/{partition}_{YYYY}_{MM}_{DD}_{HH}_{mm}\")\n            .build());\n\n        var exampleRoute = new Route(\"exampleRoute\", RouteArgs.builder()\n            .resourceGroupName(example.name())\n            .iothubName(exampleIoTHub.name())\n            .name(\"example\")\n            .source(\"DeviceMessages\")\n            .condition(\"true\")\n            .endpointNames(exampleEndpointStorageContainer.name())\n            .enabled(true)\n            .build());\n\n        var exampleEnrichment = new Enrichment(\"exampleEnrichment\", EnrichmentArgs.builder()\n            .resourceGroupName(example.name())\n            .iothubName(exampleIoTHub.name())\n            .key(\"example\")\n            .value(\"my value\")\n            .endpointNames(exampleEndpointStorageContainer.name())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleAccount:\n    type: azure:storage:Account\n    name: example\n    properties:\n      name: examplestorageaccount\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      accountTier: Standard\n      accountReplicationType: LRS\n  exampleContainer:\n    type: azure:storage:Container\n    name: example\n    properties:\n      name: example\n      storageAccountName: ${exampleAccount.name}\n      containerAccessType: private\n  exampleIoTHub:\n    type: azure:iot:IoTHub\n    name: example\n    properties:\n      name: exampleIothub\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      sku:\n        name: S1\n        capacity: '1'\n      tags:\n        purpose: testing\n  exampleEndpointStorageContainer:\n    type: azure:iot:EndpointStorageContainer\n    name: example\n    properties:\n      resourceGroupName: ${example.name}\n      iothubId: ${exampleIoTHub.id}\n      name: example\n      connectionString: ${exampleAccount.primaryBlobConnectionString}\n      batchFrequencyInSeconds: 60\n      maxChunkSizeInBytes: 1.048576e+07\n      containerName: ${exampleContainer.name}\n      encoding: Avro\n      fileNameFormat: '{iothub}/{partition}_{YYYY}_{MM}_{DD}_{HH}_{mm}'\n  exampleRoute:\n    type: azure:iot:Route\n    name: example\n    properties:\n      resourceGroupName: ${example.name}\n      iothubName: ${exampleIoTHub.name}\n      name: example\n      source: DeviceMessages\n      condition: 'true'\n      endpointNames: ${exampleEndpointStorageContainer.name}\n      enabled: true\n  exampleEnrichment:\n    type: azure:iot:Enrichment\n    name: example\n    properties:\n      resourceGroupName: ${example.name}\n      iothubName: ${exampleIoTHub.name}\n      key: example\n      value: my value\n      endpointNames:\n        - ${exampleEndpointStorageContainer.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nIoTHub Enrichment can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:iot/enrichment:Enrichment enrichment1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Devices/iotHubs/hub1/enrichments/enrichment1\n```\n\n","properties":{"endpointNames":{"type":"array","items":{"type":"string"},"description":"The list of endpoints which will be enriched.\n"},"iothubName":{"type":"string","description":"The IoTHub name of the enrichment. Changing this forces a new resource to be created.\n"},"key":{"type":"string","description":"The key of the enrichment. Changing this forces a new resource to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group under which the IoTHub resource is created. Changing this forces a new resource to be created.\n"},"value":{"type":"string","description":"The value of the enrichment. Value can be any static string, the name of the IoT hub sending the message (use `$iothubname`) or information from the device twin (ex: `$twin.tags.latitude`)\n"}},"required":["endpointNames","iothubName","key","resourceGroupName","value"],"inputProperties":{"endpointNames":{"type":"array","items":{"type":"string"},"description":"The list of endpoints which will be enriched.\n"},"iothubName":{"type":"string","description":"The IoTHub name of the enrichment. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"key":{"type":"string","description":"The key of the enrichment. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group under which the IoTHub resource is created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"value":{"type":"string","description":"The value of the enrichment. Value can be any static string, the name of the IoT hub sending the message (use `$iothubname`) or information from the device twin (ex: `$twin.tags.latitude`)\n"}},"requiredInputs":["endpointNames","iothubName","key","resourceGroupName","value"],"stateInputs":{"description":"Input properties used for looking up and filtering Enrichment resources.\n","properties":{"endpointNames":{"type":"array","items":{"type":"string"},"description":"The list of endpoints which will be enriched.\n"},"iothubName":{"type":"string","description":"The IoTHub name of the enrichment. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"key":{"type":"string","description":"The key of the enrichment. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group under which the IoTHub resource is created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"value":{"type":"string","description":"The value of the enrichment. Value can be any static string, the name of the IoT hub sending the message (use `$iothubname`) or information from the device twin (ex: `$twin.tags.latitude`)\n"}},"type":"object"}},"azure:iot/fallbackRoute:FallbackRoute":{"description":"Manages an IotHub Fallback Route\n\n## Disclaimers\n\n\u003e **Note:** Fallback route can be defined either directly on the \u003cspan pulumi-lang-nodejs=\"`azure.iot.IoTHub`\" pulumi-lang-dotnet=\"`azure.iot.IoTHub`\" pulumi-lang-go=\"`iot.IoTHub`\" pulumi-lang-python=\"`iot.IoTHub`\" pulumi-lang-yaml=\"`azure.iot.IoTHub`\" pulumi-lang-java=\"`azure.iot.IoTHub`\"\u003e`azure.iot.IoTHub`\u003c/span\u003e resource, or using the \u003cspan pulumi-lang-nodejs=\"`azure.iot.FallbackRoute`\" pulumi-lang-dotnet=\"`azure.iot.FallbackRoute`\" pulumi-lang-go=\"`iot.FallbackRoute`\" pulumi-lang-python=\"`iot.FallbackRoute`\" pulumi-lang-yaml=\"`azure.iot.FallbackRoute`\" pulumi-lang-java=\"`azure.iot.FallbackRoute`\"\u003e`azure.iot.FallbackRoute`\u003c/span\u003e resource - but the two cannot be used together. If both are used against the same IoTHub, spurious changes will occur.\n\n\u003e **Note:** Since this resource is provisioned by default, the Azure Provider will not check for the presence of an existing resource prior to attempting to create it.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleAccount = new azure.storage.Account(\"example\", {\n    name: \"examplestorageaccount\",\n    resourceGroupName: example.name,\n    location: example.location,\n    accountTier: \"Standard\",\n    accountReplicationType: \"LRS\",\n});\nconst exampleContainer = new azure.storage.Container(\"example\", {\n    name: \"example\",\n    storageAccountName: exampleAccount.name,\n    containerAccessType: \"private\",\n});\nconst exampleIoTHub = new azure.iot.IoTHub(\"example\", {\n    name: \"exampleIothub\",\n    resourceGroupName: example.name,\n    location: example.location,\n    sku: {\n        name: \"S1\",\n        capacity: 1,\n    },\n    tags: {\n        purpose: \"testing\",\n    },\n});\nconst exampleEndpointStorageContainer = new azure.iot.EndpointStorageContainer(\"example\", {\n    resourceGroupName: example.name,\n    iothubId: exampleIoTHub.id,\n    name: \"example\",\n    connectionString: exampleAccount.primaryBlobConnectionString,\n    batchFrequencyInSeconds: 60,\n    maxChunkSizeInBytes: 10485760,\n    containerName: exampleContainer.name,\n    encoding: \"Avro\",\n    fileNameFormat: \"{iothub}/{partition}_{YYYY}_{MM}_{DD}_{HH}_{mm}\",\n});\nconst exampleFallbackRoute = new azure.iot.FallbackRoute(\"example\", {\n    resourceGroupName: example.name,\n    iothubName: exampleIoTHub.name,\n    condition: \"true\",\n    endpointNames: exampleEndpointStorageContainer.name,\n    enabled: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_account = azure.storage.Account(\"example\",\n    name=\"examplestorageaccount\",\n    resource_group_name=example.name,\n    location=example.location,\n    account_tier=\"Standard\",\n    account_replication_type=\"LRS\")\nexample_container = azure.storage.Container(\"example\",\n    name=\"example\",\n    storage_account_name=example_account.name,\n    container_access_type=\"private\")\nexample_io_t_hub = azure.iot.IoTHub(\"example\",\n    name=\"exampleIothub\",\n    resource_group_name=example.name,\n    location=example.location,\n    sku={\n        \"name\": \"S1\",\n        \"capacity\": 1,\n    },\n    tags={\n        \"purpose\": \"testing\",\n    })\nexample_endpoint_storage_container = azure.iot.EndpointStorageContainer(\"example\",\n    resource_group_name=example.name,\n    iothub_id=example_io_t_hub.id,\n    name=\"example\",\n    connection_string=example_account.primary_blob_connection_string,\n    batch_frequency_in_seconds=60,\n    max_chunk_size_in_bytes=10485760,\n    container_name=example_container.name,\n    encoding=\"Avro\",\n    file_name_format=\"{iothub}/{partition}_{YYYY}_{MM}_{DD}_{HH}_{mm}\")\nexample_fallback_route = azure.iot.FallbackRoute(\"example\",\n    resource_group_name=example.name,\n    iothub_name=example_io_t_hub.name,\n    condition=\"true\",\n    endpoint_names=example_endpoint_storage_container.name,\n    enabled=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleAccount = new Azure.Storage.Account(\"example\", new()\n    {\n        Name = \"examplestorageaccount\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        AccountTier = \"Standard\",\n        AccountReplicationType = \"LRS\",\n    });\n\n    var exampleContainer = new Azure.Storage.Container(\"example\", new()\n    {\n        Name = \"example\",\n        StorageAccountName = exampleAccount.Name,\n        ContainerAccessType = \"private\",\n    });\n\n    var exampleIoTHub = new Azure.Iot.IoTHub(\"example\", new()\n    {\n        Name = \"exampleIothub\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        Sku = new Azure.Iot.Inputs.IoTHubSkuArgs\n        {\n            Name = \"S1\",\n            Capacity = 1,\n        },\n        Tags = \n        {\n            { \"purpose\", \"testing\" },\n        },\n    });\n\n    var exampleEndpointStorageContainer = new Azure.Iot.EndpointStorageContainer(\"example\", new()\n    {\n        ResourceGroupName = example.Name,\n        IothubId = exampleIoTHub.Id,\n        Name = \"example\",\n        ConnectionString = exampleAccount.PrimaryBlobConnectionString,\n        BatchFrequencyInSeconds = 60,\n        MaxChunkSizeInBytes = 10485760,\n        ContainerName = exampleContainer.Name,\n        Encoding = \"Avro\",\n        FileNameFormat = \"{iothub}/{partition}_{YYYY}_{MM}_{DD}_{HH}_{mm}\",\n    });\n\n    var exampleFallbackRoute = new Azure.Iot.FallbackRoute(\"example\", new()\n    {\n        ResourceGroupName = example.Name,\n        IothubName = exampleIoTHub.Name,\n        Condition = \"true\",\n        EndpointNames = exampleEndpointStorageContainer.Name,\n        Enabled = true,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/iot\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := storage.NewAccount(ctx, \"example\", \u0026storage.AccountArgs{\n\t\t\tName:                   pulumi.String(\"examplestorageaccount\"),\n\t\t\tResourceGroupName:      example.Name,\n\t\t\tLocation:               example.Location,\n\t\t\tAccountTier:            pulumi.String(\"Standard\"),\n\t\t\tAccountReplicationType: pulumi.String(\"LRS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleContainer, err := storage.NewContainer(ctx, \"example\", \u0026storage.ContainerArgs{\n\t\t\tName:                pulumi.String(\"example\"),\n\t\t\tStorageAccountName:  exampleAccount.Name,\n\t\t\tContainerAccessType: pulumi.String(\"private\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleIoTHub, err := iot.NewIoTHub(ctx, \"example\", \u0026iot.IoTHubArgs{\n\t\t\tName:              pulumi.String(\"exampleIothub\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tSku: \u0026iot.IoTHubSkuArgs{\n\t\t\t\tName:     pulumi.String(\"S1\"),\n\t\t\t\tCapacity: pulumi.Int(1),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"purpose\": pulumi.String(\"testing\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleEndpointStorageContainer, err := iot.NewEndpointStorageContainer(ctx, \"example\", \u0026iot.EndpointStorageContainerArgs{\n\t\t\tResourceGroupName:       example.Name,\n\t\t\tIothubId:                exampleIoTHub.ID(),\n\t\t\tName:                    pulumi.String(\"example\"),\n\t\t\tConnectionString:        exampleAccount.PrimaryBlobConnectionString,\n\t\t\tBatchFrequencyInSeconds: pulumi.Int(60),\n\t\t\tMaxChunkSizeInBytes:     pulumi.Int(10485760),\n\t\t\tContainerName:           exampleContainer.Name,\n\t\t\tEncoding:                pulumi.String(\"Avro\"),\n\t\t\tFileNameFormat:          pulumi.String(\"{iothub}/{partition}_{YYYY}_{MM}_{DD}_{HH}_{mm}\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iot.NewFallbackRoute(ctx, \"example\", \u0026iot.FallbackRouteArgs{\n\t\t\tResourceGroupName: example.Name,\n\t\t\tIothubName:        exampleIoTHub.Name,\n\t\t\tCondition:         pulumi.String(\"true\"),\n\t\t\tEndpointNames:     exampleEndpointStorageContainer.Name,\n\t\t\tEnabled:           pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.storage.Account;\nimport com.pulumi.azure.storage.AccountArgs;\nimport com.pulumi.azure.storage.Container;\nimport com.pulumi.azure.storage.ContainerArgs;\nimport com.pulumi.azure.iot.IoTHub;\nimport com.pulumi.azure.iot.IoTHubArgs;\nimport com.pulumi.azure.iot.inputs.IoTHubSkuArgs;\nimport com.pulumi.azure.iot.EndpointStorageContainer;\nimport com.pulumi.azure.iot.EndpointStorageContainerArgs;\nimport com.pulumi.azure.iot.FallbackRoute;\nimport com.pulumi.azure.iot.FallbackRouteArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"examplestorageaccount\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .accountTier(\"Standard\")\n            .accountReplicationType(\"LRS\")\n            .build());\n\n        var exampleContainer = new Container(\"exampleContainer\", ContainerArgs.builder()\n            .name(\"example\")\n            .storageAccountName(exampleAccount.name())\n            .containerAccessType(\"private\")\n            .build());\n\n        var exampleIoTHub = new IoTHub(\"exampleIoTHub\", IoTHubArgs.builder()\n            .name(\"exampleIothub\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .sku(IoTHubSkuArgs.builder()\n                .name(\"S1\")\n                .capacity(1)\n                .build())\n            .tags(Map.of(\"purpose\", \"testing\"))\n            .build());\n\n        var exampleEndpointStorageContainer = new EndpointStorageContainer(\"exampleEndpointStorageContainer\", EndpointStorageContainerArgs.builder()\n            .resourceGroupName(example.name())\n            .iothubId(exampleIoTHub.id())\n            .name(\"example\")\n            .connectionString(exampleAccount.primaryBlobConnectionString())\n            .batchFrequencyInSeconds(60)\n            .maxChunkSizeInBytes(10485760)\n            .containerName(exampleContainer.name())\n            .encoding(\"Avro\")\n            .fileNameFormat(\"{iothub}/{partition}_{YYYY}_{MM}_{DD}_{HH}_{mm}\")\n            .build());\n\n        var exampleFallbackRoute = new FallbackRoute(\"exampleFallbackRoute\", FallbackRouteArgs.builder()\n            .resourceGroupName(example.name())\n            .iothubName(exampleIoTHub.name())\n            .condition(\"true\")\n            .endpointNames(exampleEndpointStorageContainer.name())\n            .enabled(true)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleAccount:\n    type: azure:storage:Account\n    name: example\n    properties:\n      name: examplestorageaccount\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      accountTier: Standard\n      accountReplicationType: LRS\n  exampleContainer:\n    type: azure:storage:Container\n    name: example\n    properties:\n      name: example\n      storageAccountName: ${exampleAccount.name}\n      containerAccessType: private\n  exampleIoTHub:\n    type: azure:iot:IoTHub\n    name: example\n    properties:\n      name: exampleIothub\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      sku:\n        name: S1\n        capacity: '1'\n      tags:\n        purpose: testing\n  exampleEndpointStorageContainer:\n    type: azure:iot:EndpointStorageContainer\n    name: example\n    properties:\n      resourceGroupName: ${example.name}\n      iothubId: ${exampleIoTHub.id}\n      name: example\n      connectionString: ${exampleAccount.primaryBlobConnectionString}\n      batchFrequencyInSeconds: 60\n      maxChunkSizeInBytes: 1.048576e+07\n      containerName: ${exampleContainer.name}\n      encoding: Avro\n      fileNameFormat: '{iothub}/{partition}_{YYYY}_{MM}_{DD}_{HH}_{mm}'\n  exampleFallbackRoute:\n    type: azure:iot:FallbackRoute\n    name: example\n    properties:\n      resourceGroupName: ${example.name}\n      iothubName: ${exampleIoTHub.name}\n      condition: 'true'\n      endpointNames: ${exampleEndpointStorageContainer.name}\n      enabled: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nIoTHub Fallback Route can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:iot/fallbackRoute:FallbackRoute route1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Devices/iotHubs/hub1/fallbackRoute/default\n```\n\n\u003e **Note:** As there may only be a single fallback route per IoTHub, the id always ends with `/fallbackRoute/default`.\n\n","properties":{"condition":{"type":"string","description":"The condition that is evaluated to apply the routing rule. For grammar, see: \u003chttps://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-query-language\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"enabled":{"type":"boolean","description":"Used to specify whether the fallback route is enabled.\n"},"endpointNames":{"type":"string","description":"The endpoints to which messages that satisfy the condition are routed. Currently only 1 endpoint is allowed.\n"},"iothubName":{"type":"string","description":"The name of the IoTHub to which this Fallback Route belongs. Changing this forces a new resource to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group under which the IotHub Storage Container Endpoint resource has to be created. Changing this forces a new resource to be created.\n"},"source":{"type":"string","description":"The source that the routing rule is to be applied to. Possible values include: `DeviceConnectionStateEvents`, `DeviceJobLifecycleEvents`, `DeviceLifecycleEvents`, `DeviceMessages`, `DigitalTwinChangeEvents`, `Invalid`, `TwinChangeEvents`. Defaults to `DeviceMessages`.\n"}},"required":["enabled","endpointNames","iothubName","resourceGroupName"],"inputProperties":{"condition":{"type":"string","description":"The condition that is evaluated to apply the routing rule. For grammar, see: \u003chttps://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-query-language\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"enabled":{"type":"boolean","description":"Used to specify whether the fallback route is enabled.\n"},"endpointNames":{"type":"string","description":"The endpoints to which messages that satisfy the condition are routed. Currently only 1 endpoint is allowed.\n"},"iothubName":{"type":"string","description":"The name of the IoTHub to which this Fallback Route belongs. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group under which the IotHub Storage Container Endpoint resource has to be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"source":{"type":"string","description":"The source that the routing rule is to be applied to. Possible values include: `DeviceConnectionStateEvents`, `DeviceJobLifecycleEvents`, `DeviceLifecycleEvents`, `DeviceMessages`, `DigitalTwinChangeEvents`, `Invalid`, `TwinChangeEvents`. Defaults to `DeviceMessages`.\n"}},"requiredInputs":["enabled","endpointNames","iothubName","resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering FallbackRoute resources.\n","properties":{"condition":{"type":"string","description":"The condition that is evaluated to apply the routing rule. For grammar, see: \u003chttps://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-query-language\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"enabled":{"type":"boolean","description":"Used to specify whether the fallback route is enabled.\n"},"endpointNames":{"type":"string","description":"The endpoints to which messages that satisfy the condition are routed. Currently only 1 endpoint is allowed.\n"},"iothubName":{"type":"string","description":"The name of the IoTHub to which this Fallback Route belongs. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group under which the IotHub Storage Container Endpoint resource has to be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"source":{"type":"string","description":"The source that the routing rule is to be applied to. Possible values include: `DeviceConnectionStateEvents`, `DeviceJobLifecycleEvents`, `DeviceLifecycleEvents`, `DeviceMessages`, `DigitalTwinChangeEvents`, `Invalid`, `TwinChangeEvents`. Defaults to `DeviceMessages`.\n"}},"type":"object"}},"azure:iot/fileUpload:FileUpload":{"description":"Manages the File Upload of an IoT Hub.\n\n\u003e **Note:** File upload can be defined either directly on the \u003cspan pulumi-lang-nodejs=\"`azure.iot.IoTHub`\" pulumi-lang-dotnet=\"`azure.iot.IoTHub`\" pulumi-lang-go=\"`iot.IoTHub`\" pulumi-lang-python=\"`iot.IoTHub`\" pulumi-lang-yaml=\"`azure.iot.IoTHub`\" pulumi-lang-java=\"`azure.iot.IoTHub`\"\u003e`azure.iot.IoTHub`\u003c/span\u003e resource, or using the \u003cspan pulumi-lang-nodejs=\"`azure.iot.FileUpload`\" pulumi-lang-dotnet=\"`azure.iot.FileUpload`\" pulumi-lang-go=\"`iot.FileUpload`\" pulumi-lang-python=\"`iot.FileUpload`\" pulumi-lang-yaml=\"`azure.iot.FileUpload`\" pulumi-lang-java=\"`azure.iot.FileUpload`\"\u003e`azure.iot.FileUpload`\u003c/span\u003e resource - but the two cannot be used together. If both are used against the same IoTHub, spurious changes will occur.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleAccount = new azure.storage.Account(\"example\", {\n    name: \"examplestorage\",\n    resourceGroupName: example.name,\n    location: example.location,\n    accountTier: \"Standard\",\n    accountReplicationType: \"LRS\",\n});\nconst exampleContainer = new azure.storage.Container(\"example\", {\n    name: \"examplecontainer\",\n    storageAccountName: exampleAccount.name,\n    containerAccessType: \"private\",\n});\nconst exampleIoTHub = new azure.iot.IoTHub(\"example\", {\n    name: \"example\",\n    resourceGroupName: example.name,\n    location: example.location,\n    sku: {\n        name: \"S1\",\n        capacity: 1,\n    },\n});\nconst exampleFileUpload = new azure.iot.FileUpload(\"example\", {\n    iothubId: exampleIoTHub.id,\n    connectionString: exampleAccount.primaryBlobConnectionString,\n    containerName: exampleContainer.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_account = azure.storage.Account(\"example\",\n    name=\"examplestorage\",\n    resource_group_name=example.name,\n    location=example.location,\n    account_tier=\"Standard\",\n    account_replication_type=\"LRS\")\nexample_container = azure.storage.Container(\"example\",\n    name=\"examplecontainer\",\n    storage_account_name=example_account.name,\n    container_access_type=\"private\")\nexample_io_t_hub = azure.iot.IoTHub(\"example\",\n    name=\"example\",\n    resource_group_name=example.name,\n    location=example.location,\n    sku={\n        \"name\": \"S1\",\n        \"capacity\": 1,\n    })\nexample_file_upload = azure.iot.FileUpload(\"example\",\n    iothub_id=example_io_t_hub.id,\n    connection_string=example_account.primary_blob_connection_string,\n    container_name=example_container.name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleAccount = new Azure.Storage.Account(\"example\", new()\n    {\n        Name = \"examplestorage\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        AccountTier = \"Standard\",\n        AccountReplicationType = \"LRS\",\n    });\n\n    var exampleContainer = new Azure.Storage.Container(\"example\", new()\n    {\n        Name = \"examplecontainer\",\n        StorageAccountName = exampleAccount.Name,\n        ContainerAccessType = \"private\",\n    });\n\n    var exampleIoTHub = new Azure.Iot.IoTHub(\"example\", new()\n    {\n        Name = \"example\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        Sku = new Azure.Iot.Inputs.IoTHubSkuArgs\n        {\n            Name = \"S1\",\n            Capacity = 1,\n        },\n    });\n\n    var exampleFileUpload = new Azure.Iot.FileUpload(\"example\", new()\n    {\n        IothubId = exampleIoTHub.Id,\n        ConnectionString = exampleAccount.PrimaryBlobConnectionString,\n        ContainerName = exampleContainer.Name,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/iot\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := storage.NewAccount(ctx, \"example\", \u0026storage.AccountArgs{\n\t\t\tName:                   pulumi.String(\"examplestorage\"),\n\t\t\tResourceGroupName:      example.Name,\n\t\t\tLocation:               example.Location,\n\t\t\tAccountTier:            pulumi.String(\"Standard\"),\n\t\t\tAccountReplicationType: pulumi.String(\"LRS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleContainer, err := storage.NewContainer(ctx, \"example\", \u0026storage.ContainerArgs{\n\t\t\tName:                pulumi.String(\"examplecontainer\"),\n\t\t\tStorageAccountName:  exampleAccount.Name,\n\t\t\tContainerAccessType: pulumi.String(\"private\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleIoTHub, err := iot.NewIoTHub(ctx, \"example\", \u0026iot.IoTHubArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tSku: \u0026iot.IoTHubSkuArgs{\n\t\t\t\tName:     pulumi.String(\"S1\"),\n\t\t\t\tCapacity: pulumi.Int(1),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iot.NewFileUpload(ctx, \"example\", \u0026iot.FileUploadArgs{\n\t\t\tIothubId:         exampleIoTHub.ID(),\n\t\t\tConnectionString: exampleAccount.PrimaryBlobConnectionString,\n\t\t\tContainerName:    exampleContainer.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.storage.Account;\nimport com.pulumi.azure.storage.AccountArgs;\nimport com.pulumi.azure.storage.Container;\nimport com.pulumi.azure.storage.ContainerArgs;\nimport com.pulumi.azure.iot.IoTHub;\nimport com.pulumi.azure.iot.IoTHubArgs;\nimport com.pulumi.azure.iot.inputs.IoTHubSkuArgs;\nimport com.pulumi.azure.iot.FileUpload;\nimport com.pulumi.azure.iot.FileUploadArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"examplestorage\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .accountTier(\"Standard\")\n            .accountReplicationType(\"LRS\")\n            .build());\n\n        var exampleContainer = new Container(\"exampleContainer\", ContainerArgs.builder()\n            .name(\"examplecontainer\")\n            .storageAccountName(exampleAccount.name())\n            .containerAccessType(\"private\")\n            .build());\n\n        var exampleIoTHub = new IoTHub(\"exampleIoTHub\", IoTHubArgs.builder()\n            .name(\"example\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .sku(IoTHubSkuArgs.builder()\n                .name(\"S1\")\n                .capacity(1)\n                .build())\n            .build());\n\n        var exampleFileUpload = new FileUpload(\"exampleFileUpload\", FileUploadArgs.builder()\n            .iothubId(exampleIoTHub.id())\n            .connectionString(exampleAccount.primaryBlobConnectionString())\n            .containerName(exampleContainer.name())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleAccount:\n    type: azure:storage:Account\n    name: example\n    properties:\n      name: examplestorage\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      accountTier: Standard\n      accountReplicationType: LRS\n  exampleContainer:\n    type: azure:storage:Container\n    name: example\n    properties:\n      name: examplecontainer\n      storageAccountName: ${exampleAccount.name}\n      containerAccessType: private\n  exampleIoTHub:\n    type: azure:iot:IoTHub\n    name: example\n    properties:\n      name: example\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      sku:\n        name: S1\n        capacity: '1'\n  exampleFileUpload:\n    type: azure:iot:FileUpload\n    name: example\n    properties:\n      iothubId: ${exampleIoTHub.id}\n      connectionString: ${exampleAccount.primaryBlobConnectionString}\n      containerName: ${exampleContainer.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nIoT Hub File Uploads can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:iot/fileUpload:FileUpload example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Devices/iotHubs/hub1\n```\n\n","properties":{"authenticationType":{"type":"string","description":"The type used to authenticate against the storage account. Possible values are `keyBased` and `identityBased`. Defaults to `keyBased`.\n"},"connectionString":{"type":"string","description":"The connection string for the Azure Storage account to which files are uploaded.\n","secret":true},"containerName":{"type":"string","description":"The name of the root container where the files should be uploaded to. The container need not exist but should be creatable using the \u003cspan pulumi-lang-nodejs=\"`connectionString`\" pulumi-lang-dotnet=\"`ConnectionString`\" pulumi-lang-go=\"`connectionString`\" pulumi-lang-python=\"`connection_string`\" pulumi-lang-yaml=\"`connectionString`\" pulumi-lang-java=\"`connectionString`\"\u003e`connection_string`\u003c/span\u003e specified.\n"},"defaultTtl":{"type":"string","description":"The period of time for which a file upload notification message is available to consume before it expires, specified as an [ISO 8601 timespan duration](https://en.wikipedia.org/wiki/ISO_8601#Durations). This value must be between 1 minute and 48 hours. Defaults to `PT1H`.\n"},"identityId":{"type":"string","description":"The ID of the User Managed Identity used to authenticate against the storage account.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`identityId`\" pulumi-lang-dotnet=\"`IdentityId`\" pulumi-lang-go=\"`identityId`\" pulumi-lang-python=\"`identity_id`\" pulumi-lang-yaml=\"`identityId`\" pulumi-lang-java=\"`identityId`\"\u003e`identity_id`\u003c/span\u003e can only be specified when \u003cspan pulumi-lang-nodejs=\"`authenticationType`\" pulumi-lang-dotnet=\"`AuthenticationType`\" pulumi-lang-go=\"`authenticationType`\" pulumi-lang-python=\"`authentication_type`\" pulumi-lang-yaml=\"`authenticationType`\" pulumi-lang-java=\"`authenticationType`\"\u003e`authentication_type`\u003c/span\u003e is `identityBased`. It must be one of the \u003cspan pulumi-lang-nodejs=\"`identityIds`\" pulumi-lang-dotnet=\"`IdentityIds`\" pulumi-lang-go=\"`identityIds`\" pulumi-lang-python=\"`identity_ids`\" pulumi-lang-yaml=\"`identityIds`\" pulumi-lang-java=\"`identityIds`\"\u003e`identity_ids`\u003c/span\u003e of the IoT Hub. If \u003cspan pulumi-lang-nodejs=\"`identityId`\" pulumi-lang-dotnet=\"`IdentityId`\" pulumi-lang-go=\"`identityId`\" pulumi-lang-python=\"`identity_id`\" pulumi-lang-yaml=\"`identityId`\" pulumi-lang-java=\"`identityId`\"\u003e`identity_id`\u003c/span\u003e is omitted when \u003cspan pulumi-lang-nodejs=\"`authenticationType`\" pulumi-lang-dotnet=\"`AuthenticationType`\" pulumi-lang-go=\"`authenticationType`\" pulumi-lang-python=\"`authentication_type`\" pulumi-lang-yaml=\"`authenticationType`\" pulumi-lang-java=\"`authenticationType`\"\u003e`authentication_type`\u003c/span\u003e is `identityBased`, then the System-Assigned Managed Identity of the IoT Hub will be used.\n"},"iothubId":{"type":"string","description":"The ID of the IoT Hub. Changing this forces a new IoT Hub to be created.\n"},"lockDuration":{"type":"string","description":"The lock duration for the file upload notifications queue, specified as an [ISO 8601 timespan duration](https://en.wikipedia.org/wiki/ISO_8601#Durations). This value must be between 5 and 300 seconds. Defaults to `PT1M`.\n"},"maxDeliveryCount":{"type":"integer","description":"The number of times the IoT Hub attempts to deliver a file upload notification message. Defaults to \u003cspan pulumi-lang-nodejs=\"`10`\" pulumi-lang-dotnet=\"`10`\" pulumi-lang-go=\"`10`\" pulumi-lang-python=\"`10`\" pulumi-lang-yaml=\"`10`\" pulumi-lang-java=\"`10`\"\u003e`10`\u003c/span\u003e.\n"},"notificationsEnabled":{"type":"boolean","description":"Used to specify whether file notifications are sent to IoT Hub on upload. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"sasTtl":{"type":"string","description":"The period of time for which the SAS URI generated by IoT Hub for file upload is valid, specified as an [ISO 8601 timespan duration](https://en.wikipedia.org/wiki/ISO_8601#Durations). This value must be between 1 minute and 24 hours. Defaults to `PT1H`.\n"}},"required":["connectionString","containerName","iothubId"],"inputProperties":{"authenticationType":{"type":"string","description":"The type used to authenticate against the storage account. Possible values are `keyBased` and `identityBased`. Defaults to `keyBased`.\n"},"connectionString":{"type":"string","description":"The connection string for the Azure Storage account to which files are uploaded.\n","secret":true},"containerName":{"type":"string","description":"The name of the root container where the files should be uploaded to. The container need not exist but should be creatable using the \u003cspan pulumi-lang-nodejs=\"`connectionString`\" pulumi-lang-dotnet=\"`ConnectionString`\" pulumi-lang-go=\"`connectionString`\" pulumi-lang-python=\"`connection_string`\" pulumi-lang-yaml=\"`connectionString`\" pulumi-lang-java=\"`connectionString`\"\u003e`connection_string`\u003c/span\u003e specified.\n"},"defaultTtl":{"type":"string","description":"The period of time for which a file upload notification message is available to consume before it expires, specified as an [ISO 8601 timespan duration](https://en.wikipedia.org/wiki/ISO_8601#Durations). This value must be between 1 minute and 48 hours. Defaults to `PT1H`.\n"},"identityId":{"type":"string","description":"The ID of the User Managed Identity used to authenticate against the storage account.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`identityId`\" pulumi-lang-dotnet=\"`IdentityId`\" pulumi-lang-go=\"`identityId`\" pulumi-lang-python=\"`identity_id`\" pulumi-lang-yaml=\"`identityId`\" pulumi-lang-java=\"`identityId`\"\u003e`identity_id`\u003c/span\u003e can only be specified when \u003cspan pulumi-lang-nodejs=\"`authenticationType`\" pulumi-lang-dotnet=\"`AuthenticationType`\" pulumi-lang-go=\"`authenticationType`\" pulumi-lang-python=\"`authentication_type`\" pulumi-lang-yaml=\"`authenticationType`\" pulumi-lang-java=\"`authenticationType`\"\u003e`authentication_type`\u003c/span\u003e is `identityBased`. It must be one of the \u003cspan pulumi-lang-nodejs=\"`identityIds`\" pulumi-lang-dotnet=\"`IdentityIds`\" pulumi-lang-go=\"`identityIds`\" pulumi-lang-python=\"`identity_ids`\" pulumi-lang-yaml=\"`identityIds`\" pulumi-lang-java=\"`identityIds`\"\u003e`identity_ids`\u003c/span\u003e of the IoT Hub. If \u003cspan pulumi-lang-nodejs=\"`identityId`\" pulumi-lang-dotnet=\"`IdentityId`\" pulumi-lang-go=\"`identityId`\" pulumi-lang-python=\"`identity_id`\" pulumi-lang-yaml=\"`identityId`\" pulumi-lang-java=\"`identityId`\"\u003e`identity_id`\u003c/span\u003e is omitted when \u003cspan pulumi-lang-nodejs=\"`authenticationType`\" pulumi-lang-dotnet=\"`AuthenticationType`\" pulumi-lang-go=\"`authenticationType`\" pulumi-lang-python=\"`authentication_type`\" pulumi-lang-yaml=\"`authenticationType`\" pulumi-lang-java=\"`authenticationType`\"\u003e`authentication_type`\u003c/span\u003e is `identityBased`, then the System-Assigned Managed Identity of the IoT Hub will be used.\n"},"iothubId":{"type":"string","description":"The ID of the IoT Hub. Changing this forces a new IoT Hub to be created.\n","willReplaceOnChanges":true},"lockDuration":{"type":"string","description":"The lock duration for the file upload notifications queue, specified as an [ISO 8601 timespan duration](https://en.wikipedia.org/wiki/ISO_8601#Durations). This value must be between 5 and 300 seconds. Defaults to `PT1M`.\n"},"maxDeliveryCount":{"type":"integer","description":"The number of times the IoT Hub attempts to deliver a file upload notification message. Defaults to \u003cspan pulumi-lang-nodejs=\"`10`\" pulumi-lang-dotnet=\"`10`\" pulumi-lang-go=\"`10`\" pulumi-lang-python=\"`10`\" pulumi-lang-yaml=\"`10`\" pulumi-lang-java=\"`10`\"\u003e`10`\u003c/span\u003e.\n"},"notificationsEnabled":{"type":"boolean","description":"Used to specify whether file notifications are sent to IoT Hub on upload. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"sasTtl":{"type":"string","description":"The period of time for which the SAS URI generated by IoT Hub for file upload is valid, specified as an [ISO 8601 timespan duration](https://en.wikipedia.org/wiki/ISO_8601#Durations). This value must be between 1 minute and 24 hours. Defaults to `PT1H`.\n"}},"requiredInputs":["connectionString","containerName","iothubId"],"stateInputs":{"description":"Input properties used for looking up and filtering FileUpload resources.\n","properties":{"authenticationType":{"type":"string","description":"The type used to authenticate against the storage account. Possible values are `keyBased` and `identityBased`. Defaults to `keyBased`.\n"},"connectionString":{"type":"string","description":"The connection string for the Azure Storage account to which files are uploaded.\n","secret":true},"containerName":{"type":"string","description":"The name of the root container where the files should be uploaded to. The container need not exist but should be creatable using the \u003cspan pulumi-lang-nodejs=\"`connectionString`\" pulumi-lang-dotnet=\"`ConnectionString`\" pulumi-lang-go=\"`connectionString`\" pulumi-lang-python=\"`connection_string`\" pulumi-lang-yaml=\"`connectionString`\" pulumi-lang-java=\"`connectionString`\"\u003e`connection_string`\u003c/span\u003e specified.\n"},"defaultTtl":{"type":"string","description":"The period of time for which a file upload notification message is available to consume before it expires, specified as an [ISO 8601 timespan duration](https://en.wikipedia.org/wiki/ISO_8601#Durations). This value must be between 1 minute and 48 hours. Defaults to `PT1H`.\n"},"identityId":{"type":"string","description":"The ID of the User Managed Identity used to authenticate against the storage account.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`identityId`\" pulumi-lang-dotnet=\"`IdentityId`\" pulumi-lang-go=\"`identityId`\" pulumi-lang-python=\"`identity_id`\" pulumi-lang-yaml=\"`identityId`\" pulumi-lang-java=\"`identityId`\"\u003e`identity_id`\u003c/span\u003e can only be specified when \u003cspan pulumi-lang-nodejs=\"`authenticationType`\" pulumi-lang-dotnet=\"`AuthenticationType`\" pulumi-lang-go=\"`authenticationType`\" pulumi-lang-python=\"`authentication_type`\" pulumi-lang-yaml=\"`authenticationType`\" pulumi-lang-java=\"`authenticationType`\"\u003e`authentication_type`\u003c/span\u003e is `identityBased`. It must be one of the \u003cspan pulumi-lang-nodejs=\"`identityIds`\" pulumi-lang-dotnet=\"`IdentityIds`\" pulumi-lang-go=\"`identityIds`\" pulumi-lang-python=\"`identity_ids`\" pulumi-lang-yaml=\"`identityIds`\" pulumi-lang-java=\"`identityIds`\"\u003e`identity_ids`\u003c/span\u003e of the IoT Hub. If \u003cspan pulumi-lang-nodejs=\"`identityId`\" pulumi-lang-dotnet=\"`IdentityId`\" pulumi-lang-go=\"`identityId`\" pulumi-lang-python=\"`identity_id`\" pulumi-lang-yaml=\"`identityId`\" pulumi-lang-java=\"`identityId`\"\u003e`identity_id`\u003c/span\u003e is omitted when \u003cspan pulumi-lang-nodejs=\"`authenticationType`\" pulumi-lang-dotnet=\"`AuthenticationType`\" pulumi-lang-go=\"`authenticationType`\" pulumi-lang-python=\"`authentication_type`\" pulumi-lang-yaml=\"`authenticationType`\" pulumi-lang-java=\"`authenticationType`\"\u003e`authentication_type`\u003c/span\u003e is `identityBased`, then the System-Assigned Managed Identity of the IoT Hub will be used.\n"},"iothubId":{"type":"string","description":"The ID of the IoT Hub. Changing this forces a new IoT Hub to be created.\n","willReplaceOnChanges":true},"lockDuration":{"type":"string","description":"The lock duration for the file upload notifications queue, specified as an [ISO 8601 timespan duration](https://en.wikipedia.org/wiki/ISO_8601#Durations). This value must be between 5 and 300 seconds. Defaults to `PT1M`.\n"},"maxDeliveryCount":{"type":"integer","description":"The number of times the IoT Hub attempts to deliver a file upload notification message. Defaults to \u003cspan pulumi-lang-nodejs=\"`10`\" pulumi-lang-dotnet=\"`10`\" pulumi-lang-go=\"`10`\" pulumi-lang-python=\"`10`\" pulumi-lang-yaml=\"`10`\" pulumi-lang-java=\"`10`\"\u003e`10`\u003c/span\u003e.\n"},"notificationsEnabled":{"type":"boolean","description":"Used to specify whether file notifications are sent to IoT Hub on upload. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"sasTtl":{"type":"string","description":"The period of time for which the SAS URI generated by IoT Hub for file upload is valid, specified as an [ISO 8601 timespan duration](https://en.wikipedia.org/wiki/ISO_8601#Durations). This value must be between 1 minute and 24 hours. Defaults to `PT1H`.\n"}},"type":"object"}},"azure:iot/ioTHub:IoTHub":{"description":"Manages an IotHub\n\n\u003e **Note:** Endpoints can be defined either directly on the \u003cspan pulumi-lang-nodejs=\"`azure.iot.IoTHub`\" pulumi-lang-dotnet=\"`azure.iot.IoTHub`\" pulumi-lang-go=\"`iot.IoTHub`\" pulumi-lang-python=\"`iot.IoTHub`\" pulumi-lang-yaml=\"`azure.iot.IoTHub`\" pulumi-lang-java=\"`azure.iot.IoTHub`\"\u003e`azure.iot.IoTHub`\u003c/span\u003e resource, or using the `azurerm_iothub_endpoint_*` resources - but the two ways of defining the endpoints cannot be used together. If both are used against the same IoTHub, spurious changes will occur. Also, defining a `azurerm_iothub_endpoint_*` resource and another endpoint of a different type directly on the \u003cspan pulumi-lang-nodejs=\"`azure.iot.IoTHub`\" pulumi-lang-dotnet=\"`azure.iot.IoTHub`\" pulumi-lang-go=\"`iot.IoTHub`\" pulumi-lang-python=\"`iot.IoTHub`\" pulumi-lang-yaml=\"`azure.iot.IoTHub`\" pulumi-lang-java=\"`azure.iot.IoTHub`\"\u003e`azure.iot.IoTHub`\u003c/span\u003e resource is not supported.\n\n\u003e **Note:** Routes can be defined either directly on the \u003cspan pulumi-lang-nodejs=\"`azure.iot.IoTHub`\" pulumi-lang-dotnet=\"`azure.iot.IoTHub`\" pulumi-lang-go=\"`iot.IoTHub`\" pulumi-lang-python=\"`iot.IoTHub`\" pulumi-lang-yaml=\"`azure.iot.IoTHub`\" pulumi-lang-java=\"`azure.iot.IoTHub`\"\u003e`azure.iot.IoTHub`\u003c/span\u003e resource, or using the \u003cspan pulumi-lang-nodejs=\"`azure.iot.Route`\" pulumi-lang-dotnet=\"`azure.iot.Route`\" pulumi-lang-go=\"`iot.Route`\" pulumi-lang-python=\"`iot.Route`\" pulumi-lang-yaml=\"`azure.iot.Route`\" pulumi-lang-java=\"`azure.iot.Route`\"\u003e`azure.iot.Route`\u003c/span\u003e resource - but the two cannot be used together. If both are used against the same IoTHub, spurious changes will occur.\n\n\u003e **Note:** Enrichments can be defined either directly on the \u003cspan pulumi-lang-nodejs=\"`azure.iot.IoTHub`\" pulumi-lang-dotnet=\"`azure.iot.IoTHub`\" pulumi-lang-go=\"`iot.IoTHub`\" pulumi-lang-python=\"`iot.IoTHub`\" pulumi-lang-yaml=\"`azure.iot.IoTHub`\" pulumi-lang-java=\"`azure.iot.IoTHub`\"\u003e`azure.iot.IoTHub`\u003c/span\u003e resource, or using the \u003cspan pulumi-lang-nodejs=\"`azure.iot.Enrichment`\" pulumi-lang-dotnet=\"`azure.iot.Enrichment`\" pulumi-lang-go=\"`iot.Enrichment`\" pulumi-lang-python=\"`iot.Enrichment`\" pulumi-lang-yaml=\"`azure.iot.Enrichment`\" pulumi-lang-java=\"`azure.iot.Enrichment`\"\u003e`azure.iot.Enrichment`\u003c/span\u003e resource - but the two cannot be used together. If both are used against the same IoTHub, spurious changes will occur.\n\n\u003e **Note:** Fallback route can be defined either directly on the \u003cspan pulumi-lang-nodejs=\"`azure.iot.IoTHub`\" pulumi-lang-dotnet=\"`azure.iot.IoTHub`\" pulumi-lang-go=\"`iot.IoTHub`\" pulumi-lang-python=\"`iot.IoTHub`\" pulumi-lang-yaml=\"`azure.iot.IoTHub`\" pulumi-lang-java=\"`azure.iot.IoTHub`\"\u003e`azure.iot.IoTHub`\u003c/span\u003e resource, or using the \u003cspan pulumi-lang-nodejs=\"`azure.iot.FallbackRoute`\" pulumi-lang-dotnet=\"`azure.iot.FallbackRoute`\" pulumi-lang-go=\"`iot.FallbackRoute`\" pulumi-lang-python=\"`iot.FallbackRoute`\" pulumi-lang-yaml=\"`azure.iot.FallbackRoute`\" pulumi-lang-java=\"`azure.iot.FallbackRoute`\"\u003e`azure.iot.FallbackRoute`\u003c/span\u003e resource - but the two cannot be used together. If both are used against the same IoTHub, spurious changes will occur.\n\n\u003e **Note:** File upload can be defined either directly on the \u003cspan pulumi-lang-nodejs=\"`azure.iot.IoTHub`\" pulumi-lang-dotnet=\"`azure.iot.IoTHub`\" pulumi-lang-go=\"`iot.IoTHub`\" pulumi-lang-python=\"`iot.IoTHub`\" pulumi-lang-yaml=\"`azure.iot.IoTHub`\" pulumi-lang-java=\"`azure.iot.IoTHub`\"\u003e`azure.iot.IoTHub`\u003c/span\u003e resource, or using the \u003cspan pulumi-lang-nodejs=\"`azure.iot.FileUpload`\" pulumi-lang-dotnet=\"`azure.iot.FileUpload`\" pulumi-lang-go=\"`iot.FileUpload`\" pulumi-lang-python=\"`iot.FileUpload`\" pulumi-lang-yaml=\"`azure.iot.FileUpload`\" pulumi-lang-java=\"`azure.iot.FileUpload`\"\u003e`azure.iot.FileUpload`\u003c/span\u003e resource - but the two cannot be used together. If both are used against the same IoTHub, spurious changes will occur.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleAccount = new azure.storage.Account(\"example\", {\n    name: \"examplestorage\",\n    resourceGroupName: example.name,\n    location: example.location,\n    accountTier: \"Standard\",\n    accountReplicationType: \"LRS\",\n});\nconst exampleContainer = new azure.storage.Container(\"example\", {\n    name: \"examplecontainer\",\n    storageAccountName: exampleAccount.name,\n    containerAccessType: \"private\",\n});\nconst exampleEventHubNamespace = new azure.eventhub.EventHubNamespace(\"example\", {\n    name: \"example-namespace\",\n    resourceGroupName: example.name,\n    location: example.location,\n    sku: \"Basic\",\n});\nconst exampleEventHub = new azure.eventhub.EventHub(\"example\", {\n    name: \"example-eventhub\",\n    resourceGroupName: example.name,\n    namespaceName: exampleEventHubNamespace.name,\n    partitionCount: 2,\n    messageRetention: 1,\n});\nconst exampleAuthorizationRule = new azure.eventhub.AuthorizationRule(\"example\", {\n    resourceGroupName: example.name,\n    namespaceName: exampleEventHubNamespace.name,\n    eventhubName: exampleEventHub.name,\n    name: \"acctest\",\n    send: true,\n});\nconst exampleIoTHub = new azure.iot.IoTHub(\"example\", {\n    name: \"Example-IoTHub\",\n    resourceGroupName: example.name,\n    location: example.location,\n    localAuthenticationEnabled: false,\n    sku: {\n        name: \"S1\",\n        capacity: 1,\n    },\n    endpoints: [\n        {\n            type: \"AzureIotHub.StorageContainer\",\n            connectionString: exampleAccount.primaryBlobConnectionString,\n            name: \"export\",\n            batchFrequencyInSeconds: 60,\n            maxChunkSizeInBytes: 10485760,\n            containerName: exampleContainer.name,\n            encoding: \"Avro\",\n            fileNameFormat: \"{iothub}/{partition}_{YYYY}_{MM}_{DD}_{HH}_{mm}\",\n        },\n        {\n            type: \"AzureIotHub.EventHub\",\n            connectionString: exampleAuthorizationRule.primaryConnectionString,\n            name: \"export2\",\n        },\n    ],\n    routes: [\n        {\n            name: \"export\",\n            source: \"DeviceMessages\",\n            condition: \"true\",\n            endpointNames: [\"export\"],\n            enabled: true,\n        },\n        {\n            name: \"export2\",\n            source: \"DeviceMessages\",\n            condition: \"true\",\n            endpointNames: [\"export2\"],\n            enabled: true,\n        },\n    ],\n    enrichments: [{\n        key: \"tenant\",\n        value: \"$twin.tags.Tenant\",\n        endpointNames: [\n            \"export\",\n            \"export2\",\n        ],\n    }],\n    cloudToDevice: {\n        maxDeliveryCount: 30,\n        defaultTtl: \"PT1H\",\n        feedbacks: [{\n            timeToLive: \"PT1H10M\",\n            maxDeliveryCount: 15,\n            lockDuration: \"PT30S\",\n        }],\n    },\n    tags: {\n        purpose: \"testing\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_account = azure.storage.Account(\"example\",\n    name=\"examplestorage\",\n    resource_group_name=example.name,\n    location=example.location,\n    account_tier=\"Standard\",\n    account_replication_type=\"LRS\")\nexample_container = azure.storage.Container(\"example\",\n    name=\"examplecontainer\",\n    storage_account_name=example_account.name,\n    container_access_type=\"private\")\nexample_event_hub_namespace = azure.eventhub.EventHubNamespace(\"example\",\n    name=\"example-namespace\",\n    resource_group_name=example.name,\n    location=example.location,\n    sku=\"Basic\")\nexample_event_hub = azure.eventhub.EventHub(\"example\",\n    name=\"example-eventhub\",\n    resource_group_name=example.name,\n    namespace_name=example_event_hub_namespace.name,\n    partition_count=2,\n    message_retention=1)\nexample_authorization_rule = azure.eventhub.AuthorizationRule(\"example\",\n    resource_group_name=example.name,\n    namespace_name=example_event_hub_namespace.name,\n    eventhub_name=example_event_hub.name,\n    name=\"acctest\",\n    send=True)\nexample_io_t_hub = azure.iot.IoTHub(\"example\",\n    name=\"Example-IoTHub\",\n    resource_group_name=example.name,\n    location=example.location,\n    local_authentication_enabled=False,\n    sku={\n        \"name\": \"S1\",\n        \"capacity\": 1,\n    },\n    endpoints=[\n        {\n            \"type\": \"AzureIotHub.StorageContainer\",\n            \"connection_string\": example_account.primary_blob_connection_string,\n            \"name\": \"export\",\n            \"batch_frequency_in_seconds\": 60,\n            \"max_chunk_size_in_bytes\": 10485760,\n            \"container_name\": example_container.name,\n            \"encoding\": \"Avro\",\n            \"file_name_format\": \"{iothub}/{partition}_{YYYY}_{MM}_{DD}_{HH}_{mm}\",\n        },\n        {\n            \"type\": \"AzureIotHub.EventHub\",\n            \"connection_string\": example_authorization_rule.primary_connection_string,\n            \"name\": \"export2\",\n        },\n    ],\n    routes=[\n        {\n            \"name\": \"export\",\n            \"source\": \"DeviceMessages\",\n            \"condition\": \"true\",\n            \"endpoint_names\": [\"export\"],\n            \"enabled\": True,\n        },\n        {\n            \"name\": \"export2\",\n            \"source\": \"DeviceMessages\",\n            \"condition\": \"true\",\n            \"endpoint_names\": [\"export2\"],\n            \"enabled\": True,\n        },\n    ],\n    enrichments=[{\n        \"key\": \"tenant\",\n        \"value\": \"$twin.tags.Tenant\",\n        \"endpoint_names\": [\n            \"export\",\n            \"export2\",\n        ],\n    }],\n    cloud_to_device={\n        \"max_delivery_count\": 30,\n        \"default_ttl\": \"PT1H\",\n        \"feedbacks\": [{\n            \"time_to_live\": \"PT1H10M\",\n            \"max_delivery_count\": 15,\n            \"lock_duration\": \"PT30S\",\n        }],\n    },\n    tags={\n        \"purpose\": \"testing\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleAccount = new Azure.Storage.Account(\"example\", new()\n    {\n        Name = \"examplestorage\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        AccountTier = \"Standard\",\n        AccountReplicationType = \"LRS\",\n    });\n\n    var exampleContainer = new Azure.Storage.Container(\"example\", new()\n    {\n        Name = \"examplecontainer\",\n        StorageAccountName = exampleAccount.Name,\n        ContainerAccessType = \"private\",\n    });\n\n    var exampleEventHubNamespace = new Azure.EventHub.EventHubNamespace(\"example\", new()\n    {\n        Name = \"example-namespace\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        Sku = \"Basic\",\n    });\n\n    var exampleEventHub = new Azure.EventHub.EventHub(\"example\", new()\n    {\n        Name = \"example-eventhub\",\n        ResourceGroupName = example.Name,\n        NamespaceName = exampleEventHubNamespace.Name,\n        PartitionCount = 2,\n        MessageRetention = 1,\n    });\n\n    var exampleAuthorizationRule = new Azure.EventHub.AuthorizationRule(\"example\", new()\n    {\n        ResourceGroupName = example.Name,\n        NamespaceName = exampleEventHubNamespace.Name,\n        EventhubName = exampleEventHub.Name,\n        Name = \"acctest\",\n        Send = true,\n    });\n\n    var exampleIoTHub = new Azure.Iot.IoTHub(\"example\", new()\n    {\n        Name = \"Example-IoTHub\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        LocalAuthenticationEnabled = false,\n        Sku = new Azure.Iot.Inputs.IoTHubSkuArgs\n        {\n            Name = \"S1\",\n            Capacity = 1,\n        },\n        Endpoints = new[]\n        {\n            new Azure.Iot.Inputs.IoTHubEndpointArgs\n            {\n                Type = \"AzureIotHub.StorageContainer\",\n                ConnectionString = exampleAccount.PrimaryBlobConnectionString,\n                Name = \"export\",\n                BatchFrequencyInSeconds = 60,\n                MaxChunkSizeInBytes = 10485760,\n                ContainerName = exampleContainer.Name,\n                Encoding = \"Avro\",\n                FileNameFormat = \"{iothub}/{partition}_{YYYY}_{MM}_{DD}_{HH}_{mm}\",\n            },\n            new Azure.Iot.Inputs.IoTHubEndpointArgs\n            {\n                Type = \"AzureIotHub.EventHub\",\n                ConnectionString = exampleAuthorizationRule.PrimaryConnectionString,\n                Name = \"export2\",\n            },\n        },\n        Routes = new[]\n        {\n            new Azure.Iot.Inputs.IoTHubRouteArgs\n            {\n                Name = \"export\",\n                Source = \"DeviceMessages\",\n                Condition = \"true\",\n                EndpointNames = new[]\n                {\n                    \"export\",\n                },\n                Enabled = true,\n            },\n            new Azure.Iot.Inputs.IoTHubRouteArgs\n            {\n                Name = \"export2\",\n                Source = \"DeviceMessages\",\n                Condition = \"true\",\n                EndpointNames = new[]\n                {\n                    \"export2\",\n                },\n                Enabled = true,\n            },\n        },\n        Enrichments = new[]\n        {\n            new Azure.Iot.Inputs.IoTHubEnrichmentArgs\n            {\n                Key = \"tenant\",\n                Value = \"$twin.tags.Tenant\",\n                EndpointNames = new[]\n                {\n                    \"export\",\n                    \"export2\",\n                },\n            },\n        },\n        CloudToDevice = new Azure.Iot.Inputs.IoTHubCloudToDeviceArgs\n        {\n            MaxDeliveryCount = 30,\n            DefaultTtl = \"PT1H\",\n            Feedbacks = new[]\n            {\n                new Azure.Iot.Inputs.IoTHubCloudToDeviceFeedbackArgs\n                {\n                    TimeToLive = \"PT1H10M\",\n                    MaxDeliveryCount = 15,\n                    LockDuration = \"PT30S\",\n                },\n            },\n        },\n        Tags = \n        {\n            { \"purpose\", \"testing\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/eventhub\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/iot\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := storage.NewAccount(ctx, \"example\", \u0026storage.AccountArgs{\n\t\t\tName:                   pulumi.String(\"examplestorage\"),\n\t\t\tResourceGroupName:      example.Name,\n\t\t\tLocation:               example.Location,\n\t\t\tAccountTier:            pulumi.String(\"Standard\"),\n\t\t\tAccountReplicationType: pulumi.String(\"LRS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleContainer, err := storage.NewContainer(ctx, \"example\", \u0026storage.ContainerArgs{\n\t\t\tName:                pulumi.String(\"examplecontainer\"),\n\t\t\tStorageAccountName:  exampleAccount.Name,\n\t\t\tContainerAccessType: pulumi.String(\"private\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleEventHubNamespace, err := eventhub.NewEventHubNamespace(ctx, \"example\", \u0026eventhub.EventHubNamespaceArgs{\n\t\t\tName:              pulumi.String(\"example-namespace\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tSku:               pulumi.String(\"Basic\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleEventHub, err := eventhub.NewEventHub(ctx, \"example\", \u0026eventhub.EventHubArgs{\n\t\t\tName:              pulumi.String(\"example-eventhub\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tNamespaceName:     exampleEventHubNamespace.Name,\n\t\t\tPartitionCount:    pulumi.Int(2),\n\t\t\tMessageRetention:  pulumi.Int(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAuthorizationRule, err := eventhub.NewAuthorizationRule(ctx, \"example\", \u0026eventhub.AuthorizationRuleArgs{\n\t\t\tResourceGroupName: example.Name,\n\t\t\tNamespaceName:     exampleEventHubNamespace.Name,\n\t\t\tEventhubName:      exampleEventHub.Name,\n\t\t\tName:              pulumi.String(\"acctest\"),\n\t\t\tSend:              pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iot.NewIoTHub(ctx, \"example\", \u0026iot.IoTHubArgs{\n\t\t\tName:                       pulumi.String(\"Example-IoTHub\"),\n\t\t\tResourceGroupName:          example.Name,\n\t\t\tLocation:                   example.Location,\n\t\t\tLocalAuthenticationEnabled: pulumi.Bool(false),\n\t\t\tSku: \u0026iot.IoTHubSkuArgs{\n\t\t\t\tName:     pulumi.String(\"S1\"),\n\t\t\t\tCapacity: pulumi.Int(1),\n\t\t\t},\n\t\t\tEndpoints: iot.IoTHubEndpointArray{\n\t\t\t\t\u0026iot.IoTHubEndpointArgs{\n\t\t\t\t\tType:                    pulumi.String(\"AzureIotHub.StorageContainer\"),\n\t\t\t\t\tConnectionString:        exampleAccount.PrimaryBlobConnectionString,\n\t\t\t\t\tName:                    pulumi.String(\"export\"),\n\t\t\t\t\tBatchFrequencyInSeconds: pulumi.Int(60),\n\t\t\t\t\tMaxChunkSizeInBytes:     pulumi.Int(10485760),\n\t\t\t\t\tContainerName:           exampleContainer.Name,\n\t\t\t\t\tEncoding:                pulumi.String(\"Avro\"),\n\t\t\t\t\tFileNameFormat:          pulumi.String(\"{iothub}/{partition}_{YYYY}_{MM}_{DD}_{HH}_{mm}\"),\n\t\t\t\t},\n\t\t\t\t\u0026iot.IoTHubEndpointArgs{\n\t\t\t\t\tType:             pulumi.String(\"AzureIotHub.EventHub\"),\n\t\t\t\t\tConnectionString: exampleAuthorizationRule.PrimaryConnectionString,\n\t\t\t\t\tName:             pulumi.String(\"export2\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tRoutes: iot.IoTHubRouteArray{\n\t\t\t\t\u0026iot.IoTHubRouteArgs{\n\t\t\t\t\tName:      pulumi.String(\"export\"),\n\t\t\t\t\tSource:    pulumi.String(\"DeviceMessages\"),\n\t\t\t\t\tCondition: pulumi.String(\"true\"),\n\t\t\t\t\tEndpointNames: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"export\"),\n\t\t\t\t\t},\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t\t\u0026iot.IoTHubRouteArgs{\n\t\t\t\t\tName:      pulumi.String(\"export2\"),\n\t\t\t\t\tSource:    pulumi.String(\"DeviceMessages\"),\n\t\t\t\t\tCondition: pulumi.String(\"true\"),\n\t\t\t\t\tEndpointNames: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"export2\"),\n\t\t\t\t\t},\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t},\n\t\t\tEnrichments: iot.IoTHubEnrichmentArray{\n\t\t\t\t\u0026iot.IoTHubEnrichmentArgs{\n\t\t\t\t\tKey:   pulumi.String(\"tenant\"),\n\t\t\t\t\tValue: pulumi.String(\"$twin.tags.Tenant\"),\n\t\t\t\t\tEndpointNames: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"export\"),\n\t\t\t\t\t\tpulumi.String(\"export2\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tCloudToDevice: \u0026iot.IoTHubCloudToDeviceArgs{\n\t\t\t\tMaxDeliveryCount: pulumi.Int(30),\n\t\t\t\tDefaultTtl:       pulumi.String(\"PT1H\"),\n\t\t\t\tFeedbacks: iot.IoTHubCloudToDeviceFeedbackArray{\n\t\t\t\t\t\u0026iot.IoTHubCloudToDeviceFeedbackArgs{\n\t\t\t\t\t\tTimeToLive:       pulumi.String(\"PT1H10M\"),\n\t\t\t\t\t\tMaxDeliveryCount: pulumi.Int(15),\n\t\t\t\t\t\tLockDuration:     pulumi.String(\"PT30S\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"purpose\": pulumi.String(\"testing\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.storage.Account;\nimport com.pulumi.azure.storage.AccountArgs;\nimport com.pulumi.azure.storage.Container;\nimport com.pulumi.azure.storage.ContainerArgs;\nimport com.pulumi.azure.eventhub.EventHubNamespace;\nimport com.pulumi.azure.eventhub.EventHubNamespaceArgs;\nimport com.pulumi.azure.eventhub.EventHub;\nimport com.pulumi.azure.eventhub.EventHubArgs;\nimport com.pulumi.azure.eventhub.AuthorizationRule;\nimport com.pulumi.azure.eventhub.AuthorizationRuleArgs;\nimport com.pulumi.azure.iot.IoTHub;\nimport com.pulumi.azure.iot.IoTHubArgs;\nimport com.pulumi.azure.iot.inputs.IoTHubSkuArgs;\nimport com.pulumi.azure.iot.inputs.IoTHubEndpointArgs;\nimport com.pulumi.azure.iot.inputs.IoTHubRouteArgs;\nimport com.pulumi.azure.iot.inputs.IoTHubEnrichmentArgs;\nimport com.pulumi.azure.iot.inputs.IoTHubCloudToDeviceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"examplestorage\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .accountTier(\"Standard\")\n            .accountReplicationType(\"LRS\")\n            .build());\n\n        var exampleContainer = new Container(\"exampleContainer\", ContainerArgs.builder()\n            .name(\"examplecontainer\")\n            .storageAccountName(exampleAccount.name())\n            .containerAccessType(\"private\")\n            .build());\n\n        var exampleEventHubNamespace = new EventHubNamespace(\"exampleEventHubNamespace\", EventHubNamespaceArgs.builder()\n            .name(\"example-namespace\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .sku(\"Basic\")\n            .build());\n\n        var exampleEventHub = new EventHub(\"exampleEventHub\", EventHubArgs.builder()\n            .name(\"example-eventhub\")\n            .resourceGroupName(example.name())\n            .namespaceName(exampleEventHubNamespace.name())\n            .partitionCount(2)\n            .messageRetention(1)\n            .build());\n\n        var exampleAuthorizationRule = new AuthorizationRule(\"exampleAuthorizationRule\", AuthorizationRuleArgs.builder()\n            .resourceGroupName(example.name())\n            .namespaceName(exampleEventHubNamespace.name())\n            .eventhubName(exampleEventHub.name())\n            .name(\"acctest\")\n            .send(true)\n            .build());\n\n        var exampleIoTHub = new IoTHub(\"exampleIoTHub\", IoTHubArgs.builder()\n            .name(\"Example-IoTHub\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .localAuthenticationEnabled(false)\n            .sku(IoTHubSkuArgs.builder()\n                .name(\"S1\")\n                .capacity(1)\n                .build())\n            .endpoints(            \n                IoTHubEndpointArgs.builder()\n                    .type(\"AzureIotHub.StorageContainer\")\n                    .connectionString(exampleAccount.primaryBlobConnectionString())\n                    .name(\"export\")\n                    .batchFrequencyInSeconds(60)\n                    .maxChunkSizeInBytes(10485760)\n                    .containerName(exampleContainer.name())\n                    .encoding(\"Avro\")\n                    .fileNameFormat(\"{iothub}/{partition}_{YYYY}_{MM}_{DD}_{HH}_{mm}\")\n                    .build(),\n                IoTHubEndpointArgs.builder()\n                    .type(\"AzureIotHub.EventHub\")\n                    .connectionString(exampleAuthorizationRule.primaryConnectionString())\n                    .name(\"export2\")\n                    .build())\n            .routes(            \n                IoTHubRouteArgs.builder()\n                    .name(\"export\")\n                    .source(\"DeviceMessages\")\n                    .condition(\"true\")\n                    .endpointNames(\"export\")\n                    .enabled(true)\n                    .build(),\n                IoTHubRouteArgs.builder()\n                    .name(\"export2\")\n                    .source(\"DeviceMessages\")\n                    .condition(\"true\")\n                    .endpointNames(\"export2\")\n                    .enabled(true)\n                    .build())\n            .enrichments(IoTHubEnrichmentArgs.builder()\n                .key(\"tenant\")\n                .value(\"$twin.tags.Tenant\")\n                .endpointNames(                \n                    \"export\",\n                    \"export2\")\n                .build())\n            .cloudToDevice(IoTHubCloudToDeviceArgs.builder()\n                .maxDeliveryCount(30)\n                .defaultTtl(\"PT1H\")\n                .feedbacks(IoTHubCloudToDeviceFeedbackArgs.builder()\n                    .timeToLive(\"PT1H10M\")\n                    .maxDeliveryCount(15)\n                    .lockDuration(\"PT30S\")\n                    .build())\n                .build())\n            .tags(Map.of(\"purpose\", \"testing\"))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleAccount:\n    type: azure:storage:Account\n    name: example\n    properties:\n      name: examplestorage\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      accountTier: Standard\n      accountReplicationType: LRS\n  exampleContainer:\n    type: azure:storage:Container\n    name: example\n    properties:\n      name: examplecontainer\n      storageAccountName: ${exampleAccount.name}\n      containerAccessType: private\n  exampleEventHubNamespace:\n    type: azure:eventhub:EventHubNamespace\n    name: example\n    properties:\n      name: example-namespace\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      sku: Basic\n  exampleEventHub:\n    type: azure:eventhub:EventHub\n    name: example\n    properties:\n      name: example-eventhub\n      resourceGroupName: ${example.name}\n      namespaceName: ${exampleEventHubNamespace.name}\n      partitionCount: 2\n      messageRetention: 1\n  exampleAuthorizationRule:\n    type: azure:eventhub:AuthorizationRule\n    name: example\n    properties:\n      resourceGroupName: ${example.name}\n      namespaceName: ${exampleEventHubNamespace.name}\n      eventhubName: ${exampleEventHub.name}\n      name: acctest\n      send: true\n  exampleIoTHub:\n    type: azure:iot:IoTHub\n    name: example\n    properties:\n      name: Example-IoTHub\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      localAuthenticationEnabled: false\n      sku:\n        name: S1\n        capacity: '1'\n      endpoints:\n        - type: AzureIotHub.StorageContainer\n          connectionString: ${exampleAccount.primaryBlobConnectionString}\n          name: export\n          batchFrequencyInSeconds: 60\n          maxChunkSizeInBytes: 1.048576e+07\n          containerName: ${exampleContainer.name}\n          encoding: Avro\n          fileNameFormat: '{iothub}/{partition}_{YYYY}_{MM}_{DD}_{HH}_{mm}'\n        - type: AzureIotHub.EventHub\n          connectionString: ${exampleAuthorizationRule.primaryConnectionString}\n          name: export2\n      routes:\n        - name: export\n          source: DeviceMessages\n          condition: 'true'\n          endpointNames:\n            - export\n          enabled: true\n        - name: export2\n          source: DeviceMessages\n          condition: 'true'\n          endpointNames:\n            - export2\n          enabled: true\n      enrichments:\n        - key: tenant\n          value: $twin.tags.Tenant\n          endpointNames:\n            - export\n            - export2\n      cloudToDevice:\n        maxDeliveryCount: 30\n        defaultTtl: PT1H\n        feedbacks:\n          - timeToLive: PT1H10M\n            maxDeliveryCount: 15\n            lockDuration: PT30S\n      tags:\n        purpose: testing\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nIoTHubs can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:iot/ioTHub:IoTHub hub1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Devices/iotHubs/hub1\n```\n\n","properties":{"cloudToDevice":{"$ref":"#/types/azure:iot/IoTHubCloudToDevice:IoTHubCloudToDevice"},"endpoints":{"type":"array","items":{"$ref":"#/types/azure:iot/IoTHubEndpoint:IoTHubEndpoint"},"description":"An \u003cspan pulumi-lang-nodejs=\"`endpoint`\" pulumi-lang-dotnet=\"`Endpoint`\" pulumi-lang-go=\"`endpoint`\" pulumi-lang-python=\"`endpoint`\" pulumi-lang-yaml=\"`endpoint`\" pulumi-lang-java=\"`endpoint`\"\u003e`endpoint`\u003c/span\u003e block as defined below.\n"},"enrichments":{"type":"array","items":{"$ref":"#/types/azure:iot/IoTHubEnrichment:IoTHubEnrichment"}},"eventHubEventsEndpoint":{"type":"string","description":"The EventHub compatible endpoint for events data\n"},"eventHubEventsNamespace":{"type":"string","description":"The EventHub namespace for events data\n"},"eventHubEventsPath":{"type":"string","description":"The EventHub compatible path for events data\n"},"eventHubOperationsEndpoint":{"type":"string","description":"The EventHub compatible endpoint for operational data\n"},"eventHubOperationsPath":{"type":"string","description":"The EventHub compatible path for operational data\n"},"eventHubPartitionCount":{"type":"integer","description":"The number of device-to-cloud partitions used by backing event hubs. Must be between \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`128`\" pulumi-lang-dotnet=\"`128`\" pulumi-lang-go=\"`128`\" pulumi-lang-python=\"`128`\" pulumi-lang-yaml=\"`128`\" pulumi-lang-java=\"`128`\"\u003e`128`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`4`\" pulumi-lang-dotnet=\"`4`\" pulumi-lang-go=\"`4`\" pulumi-lang-python=\"`4`\" pulumi-lang-yaml=\"`4`\" pulumi-lang-java=\"`4`\"\u003e`4`\u003c/span\u003e.\n"},"eventHubRetentionInDays":{"type":"integer","description":"The event hub retention to use in days. Must be between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`7`\" pulumi-lang-dotnet=\"`7`\" pulumi-lang-go=\"`7`\" pulumi-lang-python=\"`7`\" pulumi-lang-yaml=\"`7`\" pulumi-lang-java=\"`7`\"\u003e`7`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e.\n"},"fallbackRoute":{"$ref":"#/types/azure:iot/IoTHubFallbackRoute:IoTHubFallbackRoute","description":"A \u003cspan pulumi-lang-nodejs=\"`fallbackRoute`\" pulumi-lang-dotnet=\"`FallbackRoute`\" pulumi-lang-go=\"`fallbackRoute`\" pulumi-lang-python=\"`fallback_route`\" pulumi-lang-yaml=\"`fallbackRoute`\" pulumi-lang-java=\"`fallbackRoute`\"\u003e`fallback_route`\u003c/span\u003e block as defined below. If the fallback route is enabled, messages that don't match any of the supplied routes are automatically sent to this route. Defaults to messages/events.\n\n\u003e **Note:** If \u003cspan pulumi-lang-nodejs=\"`fallbackRoute`\" pulumi-lang-dotnet=\"`FallbackRoute`\" pulumi-lang-go=\"`fallbackRoute`\" pulumi-lang-python=\"`fallback_route`\" pulumi-lang-yaml=\"`fallbackRoute`\" pulumi-lang-java=\"`fallbackRoute`\"\u003e`fallback_route`\u003c/span\u003e isn't explicitly specified, the fallback route wouldn't be enabled by default.\n"},"fileUpload":{"$ref":"#/types/azure:iot/IoTHubFileUpload:IoTHubFileUpload","description":"A \u003cspan pulumi-lang-nodejs=\"`fileUpload`\" pulumi-lang-dotnet=\"`FileUpload`\" pulumi-lang-go=\"`fileUpload`\" pulumi-lang-python=\"`file_upload`\" pulumi-lang-yaml=\"`fileUpload`\" pulumi-lang-java=\"`fileUpload`\"\u003e`file_upload`\u003c/span\u003e block as defined below.\n"},"hostname":{"type":"string","description":"The hostname of the IotHub Resource.\n"},"identity":{"$ref":"#/types/azure:iot/IoTHubIdentity:IoTHubIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"localAuthenticationEnabled":{"type":"boolean","description":"If false, SAS tokens with Iot hub scoped SAS keys cannot be used for authentication. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource has to be created. Changing this forces a new resource to be created.\n"},"minTlsVersion":{"type":"string"},"name":{"type":"string","description":"Specifies the name of the IotHub resource. Changing this forces a new resource to be created.\n"},"networkRuleSets":{"type":"array","items":{"$ref":"#/types/azure:iot/IoTHubNetworkRuleSet:IoTHubNetworkRuleSet"},"description":"A \u003cspan pulumi-lang-nodejs=\"`networkRuleSet`\" pulumi-lang-dotnet=\"`NetworkRuleSet`\" pulumi-lang-go=\"`networkRuleSet`\" pulumi-lang-python=\"`network_rule_set`\" pulumi-lang-yaml=\"`networkRuleSet`\" pulumi-lang-java=\"`networkRuleSet`\"\u003e`network_rule_set`\u003c/span\u003e block as defined below.\n"},"publicNetworkAccessEnabled":{"type":"boolean"},"resourceGroupName":{"type":"string","description":"The name of the resource group under which the IotHub resource has to be created. Changing this forces a new resource to be created.\n"},"routes":{"type":"array","items":{"$ref":"#/types/azure:iot/IoTHubRoute:IoTHubRoute"}},"sharedAccessPolicies":{"type":"array","items":{"$ref":"#/types/azure:iot/IoTHubSharedAccessPolicy:IoTHubSharedAccessPolicy"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`sharedAccessPolicy`\" pulumi-lang-dotnet=\"`SharedAccessPolicy`\" pulumi-lang-go=\"`sharedAccessPolicy`\" pulumi-lang-python=\"`shared_access_policy`\" pulumi-lang-yaml=\"`sharedAccessPolicy`\" pulumi-lang-java=\"`sharedAccessPolicy`\"\u003e`shared_access_policy`\u003c/span\u003e blocks as defined below.\n"},"sku":{"$ref":"#/types/azure:iot/IoTHubSku:IoTHubSku","description":"A \u003cspan pulumi-lang-nodejs=\"`sku`\" pulumi-lang-dotnet=\"`Sku`\" pulumi-lang-go=\"`sku`\" pulumi-lang-python=\"`sku`\" pulumi-lang-yaml=\"`sku`\" pulumi-lang-java=\"`sku`\"\u003e`sku`\u003c/span\u003e block as defined below.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"}},"type":{"type":"string"}},"required":["cloudToDevice","endpoints","enrichments","eventHubEventsEndpoint","eventHubEventsNamespace","eventHubEventsPath","eventHubOperationsEndpoint","eventHubOperationsPath","fallbackRoute","hostname","location","name","resourceGroupName","routes","sharedAccessPolicies","sku","type"],"inputProperties":{"cloudToDevice":{"$ref":"#/types/azure:iot/IoTHubCloudToDevice:IoTHubCloudToDevice"},"endpoints":{"type":"array","items":{"$ref":"#/types/azure:iot/IoTHubEndpoint:IoTHubEndpoint"},"description":"An \u003cspan pulumi-lang-nodejs=\"`endpoint`\" pulumi-lang-dotnet=\"`Endpoint`\" pulumi-lang-go=\"`endpoint`\" pulumi-lang-python=\"`endpoint`\" pulumi-lang-yaml=\"`endpoint`\" pulumi-lang-java=\"`endpoint`\"\u003e`endpoint`\u003c/span\u003e block as defined below.\n"},"enrichments":{"type":"array","items":{"$ref":"#/types/azure:iot/IoTHubEnrichment:IoTHubEnrichment"}},"eventHubPartitionCount":{"type":"integer","description":"The number of device-to-cloud partitions used by backing event hubs. Must be between \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`128`\" pulumi-lang-dotnet=\"`128`\" pulumi-lang-go=\"`128`\" pulumi-lang-python=\"`128`\" pulumi-lang-yaml=\"`128`\" pulumi-lang-java=\"`128`\"\u003e`128`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`4`\" pulumi-lang-dotnet=\"`4`\" pulumi-lang-go=\"`4`\" pulumi-lang-python=\"`4`\" pulumi-lang-yaml=\"`4`\" pulumi-lang-java=\"`4`\"\u003e`4`\u003c/span\u003e.\n"},"eventHubRetentionInDays":{"type":"integer","description":"The event hub retention to use in days. Must be between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`7`\" pulumi-lang-dotnet=\"`7`\" pulumi-lang-go=\"`7`\" pulumi-lang-python=\"`7`\" pulumi-lang-yaml=\"`7`\" pulumi-lang-java=\"`7`\"\u003e`7`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e.\n"},"fallbackRoute":{"$ref":"#/types/azure:iot/IoTHubFallbackRoute:IoTHubFallbackRoute","description":"A \u003cspan pulumi-lang-nodejs=\"`fallbackRoute`\" pulumi-lang-dotnet=\"`FallbackRoute`\" pulumi-lang-go=\"`fallbackRoute`\" pulumi-lang-python=\"`fallback_route`\" pulumi-lang-yaml=\"`fallbackRoute`\" pulumi-lang-java=\"`fallbackRoute`\"\u003e`fallback_route`\u003c/span\u003e block as defined below. If the fallback route is enabled, messages that don't match any of the supplied routes are automatically sent to this route. Defaults to messages/events.\n\n\u003e **Note:** If \u003cspan pulumi-lang-nodejs=\"`fallbackRoute`\" pulumi-lang-dotnet=\"`FallbackRoute`\" pulumi-lang-go=\"`fallbackRoute`\" pulumi-lang-python=\"`fallback_route`\" pulumi-lang-yaml=\"`fallbackRoute`\" pulumi-lang-java=\"`fallbackRoute`\"\u003e`fallback_route`\u003c/span\u003e isn't explicitly specified, the fallback route wouldn't be enabled by default.\n"},"fileUpload":{"$ref":"#/types/azure:iot/IoTHubFileUpload:IoTHubFileUpload","description":"A \u003cspan pulumi-lang-nodejs=\"`fileUpload`\" pulumi-lang-dotnet=\"`FileUpload`\" pulumi-lang-go=\"`fileUpload`\" pulumi-lang-python=\"`file_upload`\" pulumi-lang-yaml=\"`fileUpload`\" pulumi-lang-java=\"`fileUpload`\"\u003e`file_upload`\u003c/span\u003e block as defined below.\n"},"identity":{"$ref":"#/types/azure:iot/IoTHubIdentity:IoTHubIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"localAuthenticationEnabled":{"type":"boolean","description":"If false, SAS tokens with Iot hub scoped SAS keys cannot be used for authentication. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource has to be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"minTlsVersion":{"type":"string","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the IotHub resource. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"networkRuleSets":{"type":"array","items":{"$ref":"#/types/azure:iot/IoTHubNetworkRuleSet:IoTHubNetworkRuleSet"},"description":"A \u003cspan pulumi-lang-nodejs=\"`networkRuleSet`\" pulumi-lang-dotnet=\"`NetworkRuleSet`\" pulumi-lang-go=\"`networkRuleSet`\" pulumi-lang-python=\"`network_rule_set`\" pulumi-lang-yaml=\"`networkRuleSet`\" pulumi-lang-java=\"`networkRuleSet`\"\u003e`network_rule_set`\u003c/span\u003e block as defined below.\n"},"publicNetworkAccessEnabled":{"type":"boolean"},"resourceGroupName":{"type":"string","description":"The name of the resource group under which the IotHub resource has to be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"routes":{"type":"array","items":{"$ref":"#/types/azure:iot/IoTHubRoute:IoTHubRoute"}},"sku":{"$ref":"#/types/azure:iot/IoTHubSku:IoTHubSku","description":"A \u003cspan pulumi-lang-nodejs=\"`sku`\" pulumi-lang-dotnet=\"`Sku`\" pulumi-lang-go=\"`sku`\" pulumi-lang-python=\"`sku`\" pulumi-lang-yaml=\"`sku`\" pulumi-lang-java=\"`sku`\"\u003e`sku`\u003c/span\u003e block as defined below.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"}}},"requiredInputs":["resourceGroupName","sku"],"stateInputs":{"description":"Input properties used for looking up and filtering IoTHub resources.\n","properties":{"cloudToDevice":{"$ref":"#/types/azure:iot/IoTHubCloudToDevice:IoTHubCloudToDevice"},"endpoints":{"type":"array","items":{"$ref":"#/types/azure:iot/IoTHubEndpoint:IoTHubEndpoint"},"description":"An \u003cspan pulumi-lang-nodejs=\"`endpoint`\" pulumi-lang-dotnet=\"`Endpoint`\" pulumi-lang-go=\"`endpoint`\" pulumi-lang-python=\"`endpoint`\" pulumi-lang-yaml=\"`endpoint`\" pulumi-lang-java=\"`endpoint`\"\u003e`endpoint`\u003c/span\u003e block as defined below.\n"},"enrichments":{"type":"array","items":{"$ref":"#/types/azure:iot/IoTHubEnrichment:IoTHubEnrichment"}},"eventHubEventsEndpoint":{"type":"string","description":"The EventHub compatible endpoint for events data\n"},"eventHubEventsNamespace":{"type":"string","description":"The EventHub namespace for events data\n"},"eventHubEventsPath":{"type":"string","description":"The EventHub compatible path for events data\n"},"eventHubOperationsEndpoint":{"type":"string","description":"The EventHub compatible endpoint for operational data\n"},"eventHubOperationsPath":{"type":"string","description":"The EventHub compatible path for operational data\n"},"eventHubPartitionCount":{"type":"integer","description":"The number of device-to-cloud partitions used by backing event hubs. Must be between \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`128`\" pulumi-lang-dotnet=\"`128`\" pulumi-lang-go=\"`128`\" pulumi-lang-python=\"`128`\" pulumi-lang-yaml=\"`128`\" pulumi-lang-java=\"`128`\"\u003e`128`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`4`\" pulumi-lang-dotnet=\"`4`\" pulumi-lang-go=\"`4`\" pulumi-lang-python=\"`4`\" pulumi-lang-yaml=\"`4`\" pulumi-lang-java=\"`4`\"\u003e`4`\u003c/span\u003e.\n"},"eventHubRetentionInDays":{"type":"integer","description":"The event hub retention to use in days. Must be between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`7`\" pulumi-lang-dotnet=\"`7`\" pulumi-lang-go=\"`7`\" pulumi-lang-python=\"`7`\" pulumi-lang-yaml=\"`7`\" pulumi-lang-java=\"`7`\"\u003e`7`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e.\n"},"fallbackRoute":{"$ref":"#/types/azure:iot/IoTHubFallbackRoute:IoTHubFallbackRoute","description":"A \u003cspan pulumi-lang-nodejs=\"`fallbackRoute`\" pulumi-lang-dotnet=\"`FallbackRoute`\" pulumi-lang-go=\"`fallbackRoute`\" pulumi-lang-python=\"`fallback_route`\" pulumi-lang-yaml=\"`fallbackRoute`\" pulumi-lang-java=\"`fallbackRoute`\"\u003e`fallback_route`\u003c/span\u003e block as defined below. If the fallback route is enabled, messages that don't match any of the supplied routes are automatically sent to this route. Defaults to messages/events.\n\n\u003e **Note:** If \u003cspan pulumi-lang-nodejs=\"`fallbackRoute`\" pulumi-lang-dotnet=\"`FallbackRoute`\" pulumi-lang-go=\"`fallbackRoute`\" pulumi-lang-python=\"`fallback_route`\" pulumi-lang-yaml=\"`fallbackRoute`\" pulumi-lang-java=\"`fallbackRoute`\"\u003e`fallback_route`\u003c/span\u003e isn't explicitly specified, the fallback route wouldn't be enabled by default.\n"},"fileUpload":{"$ref":"#/types/azure:iot/IoTHubFileUpload:IoTHubFileUpload","description":"A \u003cspan pulumi-lang-nodejs=\"`fileUpload`\" pulumi-lang-dotnet=\"`FileUpload`\" pulumi-lang-go=\"`fileUpload`\" pulumi-lang-python=\"`file_upload`\" pulumi-lang-yaml=\"`fileUpload`\" pulumi-lang-java=\"`fileUpload`\"\u003e`file_upload`\u003c/span\u003e block as defined below.\n"},"hostname":{"type":"string","description":"The hostname of the IotHub Resource.\n"},"identity":{"$ref":"#/types/azure:iot/IoTHubIdentity:IoTHubIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"localAuthenticationEnabled":{"type":"boolean","description":"If false, SAS tokens with Iot hub scoped SAS keys cannot be used for authentication. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource has to be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"minTlsVersion":{"type":"string","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the IotHub resource. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"networkRuleSets":{"type":"array","items":{"$ref":"#/types/azure:iot/IoTHubNetworkRuleSet:IoTHubNetworkRuleSet"},"description":"A \u003cspan pulumi-lang-nodejs=\"`networkRuleSet`\" pulumi-lang-dotnet=\"`NetworkRuleSet`\" pulumi-lang-go=\"`networkRuleSet`\" pulumi-lang-python=\"`network_rule_set`\" pulumi-lang-yaml=\"`networkRuleSet`\" pulumi-lang-java=\"`networkRuleSet`\"\u003e`network_rule_set`\u003c/span\u003e block as defined below.\n"},"publicNetworkAccessEnabled":{"type":"boolean"},"resourceGroupName":{"type":"string","description":"The name of the resource group under which the IotHub resource has to be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"routes":{"type":"array","items":{"$ref":"#/types/azure:iot/IoTHubRoute:IoTHubRoute"}},"sharedAccessPolicies":{"type":"array","items":{"$ref":"#/types/azure:iot/IoTHubSharedAccessPolicy:IoTHubSharedAccessPolicy"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`sharedAccessPolicy`\" pulumi-lang-dotnet=\"`SharedAccessPolicy`\" pulumi-lang-go=\"`sharedAccessPolicy`\" pulumi-lang-python=\"`shared_access_policy`\" pulumi-lang-yaml=\"`sharedAccessPolicy`\" pulumi-lang-java=\"`sharedAccessPolicy`\"\u003e`shared_access_policy`\u003c/span\u003e blocks as defined below.\n"},"sku":{"$ref":"#/types/azure:iot/IoTHubSku:IoTHubSku","description":"A \u003cspan pulumi-lang-nodejs=\"`sku`\" pulumi-lang-dotnet=\"`Sku`\" pulumi-lang-go=\"`sku`\" pulumi-lang-python=\"`sku`\" pulumi-lang-yaml=\"`sku`\" pulumi-lang-java=\"`sku`\"\u003e`sku`\u003c/span\u003e block as defined below.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"}},"type":{"type":"string"}},"type":"object"}},"azure:iot/iotHubCertificate:IotHubCertificate":{"description":"Manages an IotHub Device Provisioning Service Certificate.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\nimport * as std from \"@pulumi/std\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleIotHubDps = new azure.iot.IotHubDps(\"example\", {\n    name: \"example\",\n    resourceGroupName: example.name,\n    location: example.location,\n    sku: {\n        name: \"S1\",\n        capacity: 1,\n    },\n});\nconst exampleIotHubCertificate = new azure.iot.IotHubCertificate(\"example\", {\n    name: \"example\",\n    resourceGroupName: example.name,\n    iotDpsName: exampleIotHubDps.name,\n    certificateContent: std.filebase64({\n        input: \"example.cer\",\n    }).then(invoke =\u003e invoke.result),\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\nimport pulumi_std as std\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_iot_hub_dps = azure.iot.IotHubDps(\"example\",\n    name=\"example\",\n    resource_group_name=example.name,\n    location=example.location,\n    sku={\n        \"name\": \"S1\",\n        \"capacity\": 1,\n    })\nexample_iot_hub_certificate = azure.iot.IotHubCertificate(\"example\",\n    name=\"example\",\n    resource_group_name=example.name,\n    iot_dps_name=example_iot_hub_dps.name,\n    certificate_content=std.filebase64(input=\"example.cer\").result)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleIotHubDps = new Azure.Iot.IotHubDps(\"example\", new()\n    {\n        Name = \"example\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        Sku = new Azure.Iot.Inputs.IotHubDpsSkuArgs\n        {\n            Name = \"S1\",\n            Capacity = 1,\n        },\n    });\n\n    var exampleIotHubCertificate = new Azure.Iot.IotHubCertificate(\"example\", new()\n    {\n        Name = \"example\",\n        ResourceGroupName = example.Name,\n        IotDpsName = exampleIotHubDps.Name,\n        CertificateContent = Std.Filebase64.Invoke(new()\n        {\n            Input = \"example.cer\",\n        }).Apply(invoke =\u003e invoke.Result),\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/iot\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleIotHubDps, err := iot.NewIotHubDps(ctx, \"example\", \u0026iot.IotHubDpsArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tSku: \u0026iot.IotHubDpsSkuArgs{\n\t\t\t\tName:     pulumi.String(\"S1\"),\n\t\t\t\tCapacity: pulumi.Int(1),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFilebase64, err := std.Filebase64(ctx, \u0026std.Filebase64Args{\n\t\t\tInput: \"example.cer\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iot.NewIotHubCertificate(ctx, \"example\", \u0026iot.IotHubCertificateArgs{\n\t\t\tName:               pulumi.String(\"example\"),\n\t\t\tResourceGroupName:  example.Name,\n\t\t\tIotDpsName:         exampleIotHubDps.Name,\n\t\t\tCertificateContent: pulumi.String(invokeFilebase64.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.iot.IotHubDps;\nimport com.pulumi.azure.iot.IotHubDpsArgs;\nimport com.pulumi.azure.iot.inputs.IotHubDpsSkuArgs;\nimport com.pulumi.azure.iot.IotHubCertificate;\nimport com.pulumi.azure.iot.IotHubCertificateArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.Filebase64Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleIotHubDps = new IotHubDps(\"exampleIotHubDps\", IotHubDpsArgs.builder()\n            .name(\"example\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .sku(IotHubDpsSkuArgs.builder()\n                .name(\"S1\")\n                .capacity(1)\n                .build())\n            .build());\n\n        var exampleIotHubCertificate = new IotHubCertificate(\"exampleIotHubCertificate\", IotHubCertificateArgs.builder()\n            .name(\"example\")\n            .resourceGroupName(example.name())\n            .iotDpsName(exampleIotHubDps.name())\n            .certificateContent(StdFunctions.filebase64(Filebase64Args.builder()\n                .input(\"example.cer\")\n                .build()).result())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleIotHubDps:\n    type: azure:iot:IotHubDps\n    name: example\n    properties:\n      name: example\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      sku:\n        name: S1\n        capacity: '1'\n  exampleIotHubCertificate:\n    type: azure:iot:IotHubCertificate\n    name: example\n    properties:\n      name: example\n      resourceGroupName: ${example.name}\n      iotDpsName: ${exampleIotHubDps.name}\n      certificateContent:\n        fn::invoke:\n          function: std:filebase64\n          arguments:\n            input: example.cer\n          return: result\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Devices` - 2022-02-05\n\n## Import\n\nIoTHub Device Provisioning Service Certificates can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:iot/iotHubCertificate:IotHubCertificate example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Devices/provisioningServices/example/certificates/example\n```\n\n","properties":{"certificateContent":{"type":"string","description":"The Base-64 representation of the X509 leaf certificate .cer file or just a .pem file content.\n","secret":true},"iotDpsName":{"type":"string","description":"The name of the IoT Device Provisioning Service that this certificate will be attached to. Changing this forces a new resource to be created.\n"},"isVerified":{"type":"boolean","description":"Specifies if the certificate is created in verified state. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"Specifies the name of the Iot Device Provisioning Service Certificate resource. Changing this forces a new resource to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group under which the Iot Device Provisioning Service Certificate resource has to be created. Changing this forces a new resource to be created.\n"}},"required":["certificateContent","iotDpsName","name","resourceGroupName"],"inputProperties":{"certificateContent":{"type":"string","description":"The Base-64 representation of the X509 leaf certificate .cer file or just a .pem file content.\n","secret":true},"iotDpsName":{"type":"string","description":"The name of the IoT Device Provisioning Service that this certificate will be attached to. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"isVerified":{"type":"boolean","description":"Specifies if the certificate is created in verified state. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the Iot Device Provisioning Service Certificate resource. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group under which the Iot Device Provisioning Service Certificate resource has to be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["certificateContent","iotDpsName","resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering IotHubCertificate resources.\n","properties":{"certificateContent":{"type":"string","description":"The Base-64 representation of the X509 leaf certificate .cer file or just a .pem file content.\n","secret":true},"iotDpsName":{"type":"string","description":"The name of the IoT Device Provisioning Service that this certificate will be attached to. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"isVerified":{"type":"boolean","description":"Specifies if the certificate is created in verified state. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the Iot Device Provisioning Service Certificate resource. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group under which the Iot Device Provisioning Service Certificate resource has to be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:iot/iotHubDeviceUpdateAccount:IotHubDeviceUpdateAccount":{"description":"Manages an IoT Hub Device Update Account.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"East US\",\n});\nconst exampleIotHubDeviceUpdateAccount = new azure.iot.IotHubDeviceUpdateAccount(\"example\", {\n    name: \"example\",\n    resourceGroupName: example.name,\n    location: example.location,\n    identity: {\n        type: \"SystemAssigned\",\n    },\n    tags: {\n        key: \"value\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"East US\")\nexample_iot_hub_device_update_account = azure.iot.IotHubDeviceUpdateAccount(\"example\",\n    name=\"example\",\n    resource_group_name=example.name,\n    location=example.location,\n    identity={\n        \"type\": \"SystemAssigned\",\n    },\n    tags={\n        \"key\": \"value\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"East US\",\n    });\n\n    var exampleIotHubDeviceUpdateAccount = new Azure.Iot.IotHubDeviceUpdateAccount(\"example\", new()\n    {\n        Name = \"example\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        Identity = new Azure.Iot.Inputs.IotHubDeviceUpdateAccountIdentityArgs\n        {\n            Type = \"SystemAssigned\",\n        },\n        Tags = \n        {\n            { \"key\", \"value\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/iot\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"East US\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iot.NewIotHubDeviceUpdateAccount(ctx, \"example\", \u0026iot.IotHubDeviceUpdateAccountArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tIdentity: \u0026iot.IotHubDeviceUpdateAccountIdentityArgs{\n\t\t\t\tType: pulumi.String(\"SystemAssigned\"),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"key\": pulumi.String(\"value\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.iot.IotHubDeviceUpdateAccount;\nimport com.pulumi.azure.iot.IotHubDeviceUpdateAccountArgs;\nimport com.pulumi.azure.iot.inputs.IotHubDeviceUpdateAccountIdentityArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"East US\")\n            .build());\n\n        var exampleIotHubDeviceUpdateAccount = new IotHubDeviceUpdateAccount(\"exampleIotHubDeviceUpdateAccount\", IotHubDeviceUpdateAccountArgs.builder()\n            .name(\"example\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .identity(IotHubDeviceUpdateAccountIdentityArgs.builder()\n                .type(\"SystemAssigned\")\n                .build())\n            .tags(Map.of(\"key\", \"value\"))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: East US\n  exampleIotHubDeviceUpdateAccount:\n    type: azure:iot:IotHubDeviceUpdateAccount\n    name: example\n    properties:\n      name: example\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      identity:\n        type: SystemAssigned\n      tags:\n        key: value\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.DeviceUpdate` - 2022-10-01\n\n## Import\n\nIoT Hub Device Update Account can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:iot/iotHubDeviceUpdateAccount:IotHubDeviceUpdateAccount example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup1/providers/Microsoft.DeviceUpdate/accounts/account1\n```\n\n","properties":{"hostName":{"type":"string","description":"The API host name of the IoT Hub Device Update Account.\n"},"identity":{"$ref":"#/types/azure:iot/IotHubDeviceUpdateAccountIdentity:IotHubDeviceUpdateAccountIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"location":{"type":"string","description":"Specifies the Azure Region where the IoT Hub Device Update Account should exist. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"Specifies the name which should be used for this IoT Hub Device Update Account. Changing this forces a new resource to be created.\n"},"publicNetworkAccessEnabled":{"type":"boolean","description":"Specifies whether the public network access is enabled for the IoT Hub Device Update Account. Possible values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"resourceGroupName":{"type":"string","description":"Specifies the name of the Resource Group where the IoT Hub Device Update Account should exist. Changing this forces a new resource to be created.\n"},"sku":{"type":"string","description":"Sku of the IoT Hub Device Update Account. Possible values are `Free` and `Standard`. Defaults to `Standard`. Changing this forces a new resource to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the IoT Hub Device Update Account.\n"}},"required":["hostName","location","name","resourceGroupName"],"inputProperties":{"identity":{"$ref":"#/types/azure:iot/IotHubDeviceUpdateAccountIdentity:IotHubDeviceUpdateAccountIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"location":{"type":"string","description":"Specifies the Azure Region where the IoT Hub Device Update Account should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name which should be used for this IoT Hub Device Update Account. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"publicNetworkAccessEnabled":{"type":"boolean","description":"Specifies whether the public network access is enabled for the IoT Hub Device Update Account. Possible values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"resourceGroupName":{"type":"string","description":"Specifies the name of the Resource Group where the IoT Hub Device Update Account should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sku":{"type":"string","description":"Sku of the IoT Hub Device Update Account. Possible values are `Free` and `Standard`. Defaults to `Standard`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the IoT Hub Device Update Account.\n"}},"requiredInputs":["resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering IotHubDeviceUpdateAccount resources.\n","properties":{"hostName":{"type":"string","description":"The API host name of the IoT Hub Device Update Account.\n"},"identity":{"$ref":"#/types/azure:iot/IotHubDeviceUpdateAccountIdentity:IotHubDeviceUpdateAccountIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"location":{"type":"string","description":"Specifies the Azure Region where the IoT Hub Device Update Account should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name which should be used for this IoT Hub Device Update Account. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"publicNetworkAccessEnabled":{"type":"boolean","description":"Specifies whether the public network access is enabled for the IoT Hub Device Update Account. Possible values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"resourceGroupName":{"type":"string","description":"Specifies the name of the Resource Group where the IoT Hub Device Update Account should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sku":{"type":"string","description":"Sku of the IoT Hub Device Update Account. Possible values are `Free` and `Standard`. Defaults to `Standard`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the IoT Hub Device Update Account.\n"}},"type":"object"}},"azure:iot/iotHubDeviceUpdateInstance:IotHubDeviceUpdateInstance":{"description":"Manages an IoT Hub Device Update Instance.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"East US\",\n});\nconst exampleIotHubDeviceUpdateAccount = new azure.iot.IotHubDeviceUpdateAccount(\"example\", {\n    name: \"example\",\n    resourceGroupName: example.name,\n    location: example.location,\n});\nconst exampleIoTHub = new azure.iot.IoTHub(\"example\", {\n    name: \"example\",\n    resourceGroupName: example.name,\n    location: example.location,\n    sku: {\n        name: \"S1\",\n        capacity: 1,\n    },\n});\nconst exampleAccount = new azure.storage.Account(\"example\", {\n    name: \"example\",\n    resourceGroupName: example.name,\n    location: example.location,\n    accountTier: \"Standard\",\n    accountReplicationType: \"LRS\",\n});\nconst exampleIotHubDeviceUpdateInstance = new azure.iot.IotHubDeviceUpdateInstance(\"example\", {\n    name: \"example\",\n    deviceUpdateAccountId: exampleIotHubDeviceUpdateAccount.id,\n    iothubId: exampleIoTHub.id,\n    diagnosticEnabled: true,\n    diagnosticStorageAccount: {\n        connectionString: exampleAccount.primaryConnectionString,\n        id: exampleAccount.id,\n    },\n    tags: {\n        key: \"value\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"East US\")\nexample_iot_hub_device_update_account = azure.iot.IotHubDeviceUpdateAccount(\"example\",\n    name=\"example\",\n    resource_group_name=example.name,\n    location=example.location)\nexample_io_t_hub = azure.iot.IoTHub(\"example\",\n    name=\"example\",\n    resource_group_name=example.name,\n    location=example.location,\n    sku={\n        \"name\": \"S1\",\n        \"capacity\": 1,\n    })\nexample_account = azure.storage.Account(\"example\",\n    name=\"example\",\n    resource_group_name=example.name,\n    location=example.location,\n    account_tier=\"Standard\",\n    account_replication_type=\"LRS\")\nexample_iot_hub_device_update_instance = azure.iot.IotHubDeviceUpdateInstance(\"example\",\n    name=\"example\",\n    device_update_account_id=example_iot_hub_device_update_account.id,\n    iothub_id=example_io_t_hub.id,\n    diagnostic_enabled=True,\n    diagnostic_storage_account={\n        \"connection_string\": example_account.primary_connection_string,\n        \"id\": example_account.id,\n    },\n    tags={\n        \"key\": \"value\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"East US\",\n    });\n\n    var exampleIotHubDeviceUpdateAccount = new Azure.Iot.IotHubDeviceUpdateAccount(\"example\", new()\n    {\n        Name = \"example\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n    });\n\n    var exampleIoTHub = new Azure.Iot.IoTHub(\"example\", new()\n    {\n        Name = \"example\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        Sku = new Azure.Iot.Inputs.IoTHubSkuArgs\n        {\n            Name = \"S1\",\n            Capacity = 1,\n        },\n    });\n\n    var exampleAccount = new Azure.Storage.Account(\"example\", new()\n    {\n        Name = \"example\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        AccountTier = \"Standard\",\n        AccountReplicationType = \"LRS\",\n    });\n\n    var exampleIotHubDeviceUpdateInstance = new Azure.Iot.IotHubDeviceUpdateInstance(\"example\", new()\n    {\n        Name = \"example\",\n        DeviceUpdateAccountId = exampleIotHubDeviceUpdateAccount.Id,\n        IothubId = exampleIoTHub.Id,\n        DiagnosticEnabled = true,\n        DiagnosticStorageAccount = new Azure.Iot.Inputs.IotHubDeviceUpdateInstanceDiagnosticStorageAccountArgs\n        {\n            ConnectionString = exampleAccount.PrimaryConnectionString,\n            Id = exampleAccount.Id,\n        },\n        Tags = \n        {\n            { \"key\", \"value\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/iot\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"East US\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleIotHubDeviceUpdateAccount, err := iot.NewIotHubDeviceUpdateAccount(ctx, \"example\", \u0026iot.IotHubDeviceUpdateAccountArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleIoTHub, err := iot.NewIoTHub(ctx, \"example\", \u0026iot.IoTHubArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tSku: \u0026iot.IoTHubSkuArgs{\n\t\t\t\tName:     pulumi.String(\"S1\"),\n\t\t\t\tCapacity: pulumi.Int(1),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := storage.NewAccount(ctx, \"example\", \u0026storage.AccountArgs{\n\t\t\tName:                   pulumi.String(\"example\"),\n\t\t\tResourceGroupName:      example.Name,\n\t\t\tLocation:               example.Location,\n\t\t\tAccountTier:            pulumi.String(\"Standard\"),\n\t\t\tAccountReplicationType: pulumi.String(\"LRS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iot.NewIotHubDeviceUpdateInstance(ctx, \"example\", \u0026iot.IotHubDeviceUpdateInstanceArgs{\n\t\t\tName:                  pulumi.String(\"example\"),\n\t\t\tDeviceUpdateAccountId: exampleIotHubDeviceUpdateAccount.ID(),\n\t\t\tIothubId:              exampleIoTHub.ID(),\n\t\t\tDiagnosticEnabled:     pulumi.Bool(true),\n\t\t\tDiagnosticStorageAccount: \u0026iot.IotHubDeviceUpdateInstanceDiagnosticStorageAccountArgs{\n\t\t\t\tConnectionString: exampleAccount.PrimaryConnectionString,\n\t\t\t\tId:               exampleAccount.ID(),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"key\": pulumi.String(\"value\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.iot.IotHubDeviceUpdateAccount;\nimport com.pulumi.azure.iot.IotHubDeviceUpdateAccountArgs;\nimport com.pulumi.azure.iot.IoTHub;\nimport com.pulumi.azure.iot.IoTHubArgs;\nimport com.pulumi.azure.iot.inputs.IoTHubSkuArgs;\nimport com.pulumi.azure.storage.Account;\nimport com.pulumi.azure.storage.AccountArgs;\nimport com.pulumi.azure.iot.IotHubDeviceUpdateInstance;\nimport com.pulumi.azure.iot.IotHubDeviceUpdateInstanceArgs;\nimport com.pulumi.azure.iot.inputs.IotHubDeviceUpdateInstanceDiagnosticStorageAccountArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"East US\")\n            .build());\n\n        var exampleIotHubDeviceUpdateAccount = new IotHubDeviceUpdateAccount(\"exampleIotHubDeviceUpdateAccount\", IotHubDeviceUpdateAccountArgs.builder()\n            .name(\"example\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .build());\n\n        var exampleIoTHub = new IoTHub(\"exampleIoTHub\", IoTHubArgs.builder()\n            .name(\"example\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .sku(IoTHubSkuArgs.builder()\n                .name(\"S1\")\n                .capacity(1)\n                .build())\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"example\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .accountTier(\"Standard\")\n            .accountReplicationType(\"LRS\")\n            .build());\n\n        var exampleIotHubDeviceUpdateInstance = new IotHubDeviceUpdateInstance(\"exampleIotHubDeviceUpdateInstance\", IotHubDeviceUpdateInstanceArgs.builder()\n            .name(\"example\")\n            .deviceUpdateAccountId(exampleIotHubDeviceUpdateAccount.id())\n            .iothubId(exampleIoTHub.id())\n            .diagnosticEnabled(true)\n            .diagnosticStorageAccount(IotHubDeviceUpdateInstanceDiagnosticStorageAccountArgs.builder()\n                .connectionString(exampleAccount.primaryConnectionString())\n                .id(exampleAccount.id())\n                .build())\n            .tags(Map.of(\"key\", \"value\"))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: East US\n  exampleIotHubDeviceUpdateAccount:\n    type: azure:iot:IotHubDeviceUpdateAccount\n    name: example\n    properties:\n      name: example\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n  exampleIoTHub:\n    type: azure:iot:IoTHub\n    name: example\n    properties:\n      name: example\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      sku:\n        name: S1\n        capacity: '1'\n  exampleAccount:\n    type: azure:storage:Account\n    name: example\n    properties:\n      name: example\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      accountTier: Standard\n      accountReplicationType: LRS\n  exampleIotHubDeviceUpdateInstance:\n    type: azure:iot:IotHubDeviceUpdateInstance\n    name: example\n    properties:\n      name: example\n      deviceUpdateAccountId: ${exampleIotHubDeviceUpdateAccount.id}\n      iothubId: ${exampleIoTHub.id}\n      diagnosticEnabled: true\n      diagnosticStorageAccount:\n        connectionString: ${exampleAccount.primaryConnectionString}\n        id: ${exampleAccount.id}\n      tags:\n        key: value\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.DeviceUpdate` - 2022-10-01\n\n## Import\n\nIoT Hub Device Update Instance can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:iot/iotHubDeviceUpdateInstance:IotHubDeviceUpdateInstance example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup1/providers/Microsoft.DeviceUpdate/accounts/account1/instances/instance1\n```\n\n","properties":{"deviceUpdateAccountId":{"type":"string","description":"Specifies the ID of the IoT Hub Device Update Account where the IoT Hub Device Update Instance exists. Changing this forces a new resource to be created.\n"},"diagnosticEnabled":{"type":"boolean","description":"Whether the diagnostic log collection is enabled. Possible values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"diagnosticStorageAccount":{"$ref":"#/types/azure:iot/IotHubDeviceUpdateInstanceDiagnosticStorageAccount:IotHubDeviceUpdateInstanceDiagnosticStorageAccount","description":"A \u003cspan pulumi-lang-nodejs=\"`diagnosticStorageAccount`\" pulumi-lang-dotnet=\"`DiagnosticStorageAccount`\" pulumi-lang-go=\"`diagnosticStorageAccount`\" pulumi-lang-python=\"`diagnostic_storage_account`\" pulumi-lang-yaml=\"`diagnosticStorageAccount`\" pulumi-lang-java=\"`diagnosticStorageAccount`\"\u003e`diagnostic_storage_account`\u003c/span\u003e block as defined below.\n"},"iothubId":{"type":"string","description":"Specifies the ID of the IoT Hub associated with the IoT Hub Device Update Instance. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"Specifies the name which should be used for this IoT Hub Device Update Instance. Changing this forces a new resource to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the IoT Hub Device Update Instance.\n"}},"required":["deviceUpdateAccountId","iothubId","name"],"inputProperties":{"deviceUpdateAccountId":{"type":"string","description":"Specifies the ID of the IoT Hub Device Update Account where the IoT Hub Device Update Instance exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"diagnosticEnabled":{"type":"boolean","description":"Whether the diagnostic log collection is enabled. Possible values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"diagnosticStorageAccount":{"$ref":"#/types/azure:iot/IotHubDeviceUpdateInstanceDiagnosticStorageAccount:IotHubDeviceUpdateInstanceDiagnosticStorageAccount","description":"A \u003cspan pulumi-lang-nodejs=\"`diagnosticStorageAccount`\" pulumi-lang-dotnet=\"`DiagnosticStorageAccount`\" pulumi-lang-go=\"`diagnosticStorageAccount`\" pulumi-lang-python=\"`diagnostic_storage_account`\" pulumi-lang-yaml=\"`diagnosticStorageAccount`\" pulumi-lang-java=\"`diagnosticStorageAccount`\"\u003e`diagnostic_storage_account`\u003c/span\u003e block as defined below.\n"},"iothubId":{"type":"string","description":"Specifies the ID of the IoT Hub associated with the IoT Hub Device Update Instance. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name which should be used for this IoT Hub Device Update Instance. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the IoT Hub Device Update Instance.\n"}},"requiredInputs":["deviceUpdateAccountId","iothubId"],"stateInputs":{"description":"Input properties used for looking up and filtering IotHubDeviceUpdateInstance resources.\n","properties":{"deviceUpdateAccountId":{"type":"string","description":"Specifies the ID of the IoT Hub Device Update Account where the IoT Hub Device Update Instance exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"diagnosticEnabled":{"type":"boolean","description":"Whether the diagnostic log collection is enabled. Possible values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"diagnosticStorageAccount":{"$ref":"#/types/azure:iot/IotHubDeviceUpdateInstanceDiagnosticStorageAccount:IotHubDeviceUpdateInstanceDiagnosticStorageAccount","description":"A \u003cspan pulumi-lang-nodejs=\"`diagnosticStorageAccount`\" pulumi-lang-dotnet=\"`DiagnosticStorageAccount`\" pulumi-lang-go=\"`diagnosticStorageAccount`\" pulumi-lang-python=\"`diagnostic_storage_account`\" pulumi-lang-yaml=\"`diagnosticStorageAccount`\" pulumi-lang-java=\"`diagnosticStorageAccount`\"\u003e`diagnostic_storage_account`\u003c/span\u003e block as defined below.\n"},"iothubId":{"type":"string","description":"Specifies the ID of the IoT Hub associated with the IoT Hub Device Update Instance. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name which should be used for this IoT Hub Device Update Instance. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the IoT Hub Device Update Instance.\n"}},"type":"object"}},"azure:iot/iotHubDps:IotHubDps":{"description":"Manages an IotHub Device Provisioning Service.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleIotHubDps = new azure.iot.IotHubDps(\"example\", {\n    name: \"example\",\n    resourceGroupName: example.name,\n    location: example.location,\n    allocationPolicy: \"Hashed\",\n    sku: {\n        name: \"S1\",\n        capacity: 1,\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_iot_hub_dps = azure.iot.IotHubDps(\"example\",\n    name=\"example\",\n    resource_group_name=example.name,\n    location=example.location,\n    allocation_policy=\"Hashed\",\n    sku={\n        \"name\": \"S1\",\n        \"capacity\": 1,\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleIotHubDps = new Azure.Iot.IotHubDps(\"example\", new()\n    {\n        Name = \"example\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        AllocationPolicy = \"Hashed\",\n        Sku = new Azure.Iot.Inputs.IotHubDpsSkuArgs\n        {\n            Name = \"S1\",\n            Capacity = 1,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/iot\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iot.NewIotHubDps(ctx, \"example\", \u0026iot.IotHubDpsArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tAllocationPolicy:  pulumi.String(\"Hashed\"),\n\t\t\tSku: \u0026iot.IotHubDpsSkuArgs{\n\t\t\t\tName:     pulumi.String(\"S1\"),\n\t\t\t\tCapacity: pulumi.Int(1),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.iot.IotHubDps;\nimport com.pulumi.azure.iot.IotHubDpsArgs;\nimport com.pulumi.azure.iot.inputs.IotHubDpsSkuArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleIotHubDps = new IotHubDps(\"exampleIotHubDps\", IotHubDpsArgs.builder()\n            .name(\"example\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .allocationPolicy(\"Hashed\")\n            .sku(IotHubDpsSkuArgs.builder()\n                .name(\"S1\")\n                .capacity(1)\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleIotHubDps:\n    type: azure:iot:IotHubDps\n    name: example\n    properties:\n      name: example\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      allocationPolicy: Hashed\n      sku:\n        name: S1\n        capacity: '1'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Devices` - 2022-02-05\n\n## Import\n\nIoT Device Provisioning Service can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:iot/iotHubDps:IotHubDps example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Devices/provisioningServices/example\n```\n\n","properties":{"allocationPolicy":{"type":"string","description":"The allocation policy of the IoT Device Provisioning Service (`Hashed`, `GeoLatency` or `Static`). Defaults to `Hashed`.\n"},"dataResidencyEnabled":{"type":"boolean","description":"Specifies if the IoT Device Provisioning Service has data residency enabled, removing the cross geo-pair disaster recovery. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Changing this forces a new resource to be created.\n"},"deviceProvisioningHostName":{"type":"string","description":"The device endpoint of the IoT Device Provisioning Service.\n"},"idScope":{"type":"string","description":"The unique identifier of the IoT Device Provisioning Service.\n"},"ipFilterRules":{"type":"array","items":{"$ref":"#/types/azure:iot/IotHubDpsIpFilterRule:IotHubDpsIpFilterRule"},"description":"An \u003cspan pulumi-lang-nodejs=\"`ipFilterRule`\" pulumi-lang-dotnet=\"`IpFilterRule`\" pulumi-lang-go=\"`ipFilterRule`\" pulumi-lang-python=\"`ip_filter_rule`\" pulumi-lang-yaml=\"`ipFilterRule`\" pulumi-lang-java=\"`ipFilterRule`\"\u003e`ip_filter_rule`\u003c/span\u003e block as defined below.\n"},"linkedHubs":{"type":"array","items":{"$ref":"#/types/azure:iot/IotHubDpsLinkedHub:IotHubDpsLinkedHub"},"description":"A \u003cspan pulumi-lang-nodejs=\"`linkedHub`\" pulumi-lang-dotnet=\"`LinkedHub`\" pulumi-lang-go=\"`linkedHub`\" pulumi-lang-python=\"`linked_hub`\" pulumi-lang-yaml=\"`linkedHub`\" pulumi-lang-java=\"`linkedHub`\"\u003e`linked_hub`\u003c/span\u003e block as defined below.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource has to be created. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"Specifies the name of the Iot Device Provisioning Service resource. Changing this forces a new resource to be created.\n"},"publicNetworkAccessEnabled":{"type":"boolean","description":"Whether requests from Public Network are allowed. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group under which the Iot Device Provisioning Service resource has to be created. Changing this forces a new resource to be created.\n"},"serviceOperationsHostName":{"type":"string","description":"The service endpoint of the IoT Device Provisioning Service.\n"},"sku":{"$ref":"#/types/azure:iot/IotHubDpsSku:IotHubDpsSku","description":"A \u003cspan pulumi-lang-nodejs=\"`sku`\" pulumi-lang-dotnet=\"`Sku`\" pulumi-lang-go=\"`sku`\" pulumi-lang-python=\"`sku`\" pulumi-lang-yaml=\"`sku`\" pulumi-lang-java=\"`sku`\"\u003e`sku`\u003c/span\u003e block as defined below.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"required":["deviceProvisioningHostName","idScope","location","name","resourceGroupName","serviceOperationsHostName","sku"],"inputProperties":{"allocationPolicy":{"type":"string","description":"The allocation policy of the IoT Device Provisioning Service (`Hashed`, `GeoLatency` or `Static`). Defaults to `Hashed`.\n"},"dataResidencyEnabled":{"type":"boolean","description":"Specifies if the IoT Device Provisioning Service has data residency enabled, removing the cross geo-pair disaster recovery. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"ipFilterRules":{"type":"array","items":{"$ref":"#/types/azure:iot/IotHubDpsIpFilterRule:IotHubDpsIpFilterRule"},"description":"An \u003cspan pulumi-lang-nodejs=\"`ipFilterRule`\" pulumi-lang-dotnet=\"`IpFilterRule`\" pulumi-lang-go=\"`ipFilterRule`\" pulumi-lang-python=\"`ip_filter_rule`\" pulumi-lang-yaml=\"`ipFilterRule`\" pulumi-lang-java=\"`ipFilterRule`\"\u003e`ip_filter_rule`\u003c/span\u003e block as defined below.\n"},"linkedHubs":{"type":"array","items":{"$ref":"#/types/azure:iot/IotHubDpsLinkedHub:IotHubDpsLinkedHub"},"description":"A \u003cspan pulumi-lang-nodejs=\"`linkedHub`\" pulumi-lang-dotnet=\"`LinkedHub`\" pulumi-lang-go=\"`linkedHub`\" pulumi-lang-python=\"`linked_hub`\" pulumi-lang-yaml=\"`linkedHub`\" pulumi-lang-java=\"`linkedHub`\"\u003e`linked_hub`\u003c/span\u003e block as defined below.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource has to be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the Iot Device Provisioning Service resource. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"publicNetworkAccessEnabled":{"type":"boolean","description":"Whether requests from Public Network are allowed. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group under which the Iot Device Provisioning Service resource has to be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sku":{"$ref":"#/types/azure:iot/IotHubDpsSku:IotHubDpsSku","description":"A \u003cspan pulumi-lang-nodejs=\"`sku`\" pulumi-lang-dotnet=\"`Sku`\" pulumi-lang-go=\"`sku`\" pulumi-lang-python=\"`sku`\" pulumi-lang-yaml=\"`sku`\" pulumi-lang-java=\"`sku`\"\u003e`sku`\u003c/span\u003e block as defined below.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"requiredInputs":["resourceGroupName","sku"],"stateInputs":{"description":"Input properties used for looking up and filtering IotHubDps resources.\n","properties":{"allocationPolicy":{"type":"string","description":"The allocation policy of the IoT Device Provisioning Service (`Hashed`, `GeoLatency` or `Static`). Defaults to `Hashed`.\n"},"dataResidencyEnabled":{"type":"boolean","description":"Specifies if the IoT Device Provisioning Service has data residency enabled, removing the cross geo-pair disaster recovery. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"deviceProvisioningHostName":{"type":"string","description":"The device endpoint of the IoT Device Provisioning Service.\n"},"idScope":{"type":"string","description":"The unique identifier of the IoT Device Provisioning Service.\n"},"ipFilterRules":{"type":"array","items":{"$ref":"#/types/azure:iot/IotHubDpsIpFilterRule:IotHubDpsIpFilterRule"},"description":"An \u003cspan pulumi-lang-nodejs=\"`ipFilterRule`\" pulumi-lang-dotnet=\"`IpFilterRule`\" pulumi-lang-go=\"`ipFilterRule`\" pulumi-lang-python=\"`ip_filter_rule`\" pulumi-lang-yaml=\"`ipFilterRule`\" pulumi-lang-java=\"`ipFilterRule`\"\u003e`ip_filter_rule`\u003c/span\u003e block as defined below.\n"},"linkedHubs":{"type":"array","items":{"$ref":"#/types/azure:iot/IotHubDpsLinkedHub:IotHubDpsLinkedHub"},"description":"A \u003cspan pulumi-lang-nodejs=\"`linkedHub`\" pulumi-lang-dotnet=\"`LinkedHub`\" pulumi-lang-go=\"`linkedHub`\" pulumi-lang-python=\"`linked_hub`\" pulumi-lang-yaml=\"`linkedHub`\" pulumi-lang-java=\"`linkedHub`\"\u003e`linked_hub`\u003c/span\u003e block as defined below.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource has to be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the Iot Device Provisioning Service resource. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"publicNetworkAccessEnabled":{"type":"boolean","description":"Whether requests from Public Network are allowed. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group under which the Iot Device Provisioning Service resource has to be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"serviceOperationsHostName":{"type":"string","description":"The service endpoint of the IoT Device Provisioning Service.\n"},"sku":{"$ref":"#/types/azure:iot/IotHubDpsSku:IotHubDpsSku","description":"A \u003cspan pulumi-lang-nodejs=\"`sku`\" pulumi-lang-dotnet=\"`Sku`\" pulumi-lang-go=\"`sku`\" pulumi-lang-python=\"`sku`\" pulumi-lang-yaml=\"`sku`\" pulumi-lang-java=\"`sku`\"\u003e`sku`\u003c/span\u003e block as defined below.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"type":"object"}},"azure:iot/route:Route":{"description":"Manages an IotHub Route\n\n\u003e **Note:** Routes can be defined either directly on the \u003cspan pulumi-lang-nodejs=\"`azure.iot.IoTHub`\" pulumi-lang-dotnet=\"`azure.iot.IoTHub`\" pulumi-lang-go=\"`iot.IoTHub`\" pulumi-lang-python=\"`iot.IoTHub`\" pulumi-lang-yaml=\"`azure.iot.IoTHub`\" pulumi-lang-java=\"`azure.iot.IoTHub`\"\u003e`azure.iot.IoTHub`\u003c/span\u003e resource, or using the \u003cspan pulumi-lang-nodejs=\"`azure.iot.Route`\" pulumi-lang-dotnet=\"`azure.iot.Route`\" pulumi-lang-go=\"`iot.Route`\" pulumi-lang-python=\"`iot.Route`\" pulumi-lang-yaml=\"`azure.iot.Route`\" pulumi-lang-java=\"`azure.iot.Route`\"\u003e`azure.iot.Route`\u003c/span\u003e resource - but the two cannot be used together. If both are used against the same IoTHub, spurious changes will occur.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleAccount = new azure.storage.Account(\"example\", {\n    name: \"examplestorageaccount\",\n    resourceGroupName: example.name,\n    location: example.location,\n    accountTier: \"Standard\",\n    accountReplicationType: \"LRS\",\n});\nconst exampleContainer = new azure.storage.Container(\"example\", {\n    name: \"example\",\n    storageAccountName: exampleAccount.name,\n    containerAccessType: \"private\",\n});\nconst exampleIoTHub = new azure.iot.IoTHub(\"example\", {\n    name: \"exampleIothub\",\n    resourceGroupName: example.name,\n    location: example.location,\n    sku: {\n        name: \"S1\",\n        capacity: 1,\n    },\n    tags: {\n        purpose: \"testing\",\n    },\n});\nconst exampleEndpointStorageContainer = new azure.iot.EndpointStorageContainer(\"example\", {\n    resourceGroupName: example.name,\n    iothubId: exampleIoTHub.id,\n    name: \"example\",\n    connectionString: exampleAccount.primaryBlobConnectionString,\n    batchFrequencyInSeconds: 60,\n    maxChunkSizeInBytes: 10485760,\n    containerName: exampleContainer.name,\n    encoding: \"Avro\",\n    fileNameFormat: \"{iothub}/{partition}_{YYYY}_{MM}_{DD}_{HH}_{mm}\",\n});\nconst exampleRoute = new azure.iot.Route(\"example\", {\n    resourceGroupName: example.name,\n    iothubName: exampleIoTHub.name,\n    name: \"example\",\n    source: \"DeviceMessages\",\n    condition: \"true\",\n    endpointNames: exampleEndpointStorageContainer.name,\n    enabled: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_account = azure.storage.Account(\"example\",\n    name=\"examplestorageaccount\",\n    resource_group_name=example.name,\n    location=example.location,\n    account_tier=\"Standard\",\n    account_replication_type=\"LRS\")\nexample_container = azure.storage.Container(\"example\",\n    name=\"example\",\n    storage_account_name=example_account.name,\n    container_access_type=\"private\")\nexample_io_t_hub = azure.iot.IoTHub(\"example\",\n    name=\"exampleIothub\",\n    resource_group_name=example.name,\n    location=example.location,\n    sku={\n        \"name\": \"S1\",\n        \"capacity\": 1,\n    },\n    tags={\n        \"purpose\": \"testing\",\n    })\nexample_endpoint_storage_container = azure.iot.EndpointStorageContainer(\"example\",\n    resource_group_name=example.name,\n    iothub_id=example_io_t_hub.id,\n    name=\"example\",\n    connection_string=example_account.primary_blob_connection_string,\n    batch_frequency_in_seconds=60,\n    max_chunk_size_in_bytes=10485760,\n    container_name=example_container.name,\n    encoding=\"Avro\",\n    file_name_format=\"{iothub}/{partition}_{YYYY}_{MM}_{DD}_{HH}_{mm}\")\nexample_route = azure.iot.Route(\"example\",\n    resource_group_name=example.name,\n    iothub_name=example_io_t_hub.name,\n    name=\"example\",\n    source=\"DeviceMessages\",\n    condition=\"true\",\n    endpoint_names=example_endpoint_storage_container.name,\n    enabled=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleAccount = new Azure.Storage.Account(\"example\", new()\n    {\n        Name = \"examplestorageaccount\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        AccountTier = \"Standard\",\n        AccountReplicationType = \"LRS\",\n    });\n\n    var exampleContainer = new Azure.Storage.Container(\"example\", new()\n    {\n        Name = \"example\",\n        StorageAccountName = exampleAccount.Name,\n        ContainerAccessType = \"private\",\n    });\n\n    var exampleIoTHub = new Azure.Iot.IoTHub(\"example\", new()\n    {\n        Name = \"exampleIothub\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        Sku = new Azure.Iot.Inputs.IoTHubSkuArgs\n        {\n            Name = \"S1\",\n            Capacity = 1,\n        },\n        Tags = \n        {\n            { \"purpose\", \"testing\" },\n        },\n    });\n\n    var exampleEndpointStorageContainer = new Azure.Iot.EndpointStorageContainer(\"example\", new()\n    {\n        ResourceGroupName = example.Name,\n        IothubId = exampleIoTHub.Id,\n        Name = \"example\",\n        ConnectionString = exampleAccount.PrimaryBlobConnectionString,\n        BatchFrequencyInSeconds = 60,\n        MaxChunkSizeInBytes = 10485760,\n        ContainerName = exampleContainer.Name,\n        Encoding = \"Avro\",\n        FileNameFormat = \"{iothub}/{partition}_{YYYY}_{MM}_{DD}_{HH}_{mm}\",\n    });\n\n    var exampleRoute = new Azure.Iot.Route(\"example\", new()\n    {\n        ResourceGroupName = example.Name,\n        IothubName = exampleIoTHub.Name,\n        Name = \"example\",\n        Source = \"DeviceMessages\",\n        Condition = \"true\",\n        EndpointNames = exampleEndpointStorageContainer.Name,\n        Enabled = true,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/iot\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := storage.NewAccount(ctx, \"example\", \u0026storage.AccountArgs{\n\t\t\tName:                   pulumi.String(\"examplestorageaccount\"),\n\t\t\tResourceGroupName:      example.Name,\n\t\t\tLocation:               example.Location,\n\t\t\tAccountTier:            pulumi.String(\"Standard\"),\n\t\t\tAccountReplicationType: pulumi.String(\"LRS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleContainer, err := storage.NewContainer(ctx, \"example\", \u0026storage.ContainerArgs{\n\t\t\tName:                pulumi.String(\"example\"),\n\t\t\tStorageAccountName:  exampleAccount.Name,\n\t\t\tContainerAccessType: pulumi.String(\"private\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleIoTHub, err := iot.NewIoTHub(ctx, \"example\", \u0026iot.IoTHubArgs{\n\t\t\tName:              pulumi.String(\"exampleIothub\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tSku: \u0026iot.IoTHubSkuArgs{\n\t\t\t\tName:     pulumi.String(\"S1\"),\n\t\t\t\tCapacity: pulumi.Int(1),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"purpose\": pulumi.String(\"testing\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleEndpointStorageContainer, err := iot.NewEndpointStorageContainer(ctx, \"example\", \u0026iot.EndpointStorageContainerArgs{\n\t\t\tResourceGroupName:       example.Name,\n\t\t\tIothubId:                exampleIoTHub.ID(),\n\t\t\tName:                    pulumi.String(\"example\"),\n\t\t\tConnectionString:        exampleAccount.PrimaryBlobConnectionString,\n\t\t\tBatchFrequencyInSeconds: pulumi.Int(60),\n\t\t\tMaxChunkSizeInBytes:     pulumi.Int(10485760),\n\t\t\tContainerName:           exampleContainer.Name,\n\t\t\tEncoding:                pulumi.String(\"Avro\"),\n\t\t\tFileNameFormat:          pulumi.String(\"{iothub}/{partition}_{YYYY}_{MM}_{DD}_{HH}_{mm}\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iot.NewRoute(ctx, \"example\", \u0026iot.RouteArgs{\n\t\t\tResourceGroupName: example.Name,\n\t\t\tIothubName:        exampleIoTHub.Name,\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tSource:            pulumi.String(\"DeviceMessages\"),\n\t\t\tCondition:         pulumi.String(\"true\"),\n\t\t\tEndpointNames:     exampleEndpointStorageContainer.Name,\n\t\t\tEnabled:           pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.storage.Account;\nimport com.pulumi.azure.storage.AccountArgs;\nimport com.pulumi.azure.storage.Container;\nimport com.pulumi.azure.storage.ContainerArgs;\nimport com.pulumi.azure.iot.IoTHub;\nimport com.pulumi.azure.iot.IoTHubArgs;\nimport com.pulumi.azure.iot.inputs.IoTHubSkuArgs;\nimport com.pulumi.azure.iot.EndpointStorageContainer;\nimport com.pulumi.azure.iot.EndpointStorageContainerArgs;\nimport com.pulumi.azure.iot.Route;\nimport com.pulumi.azure.iot.RouteArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"examplestorageaccount\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .accountTier(\"Standard\")\n            .accountReplicationType(\"LRS\")\n            .build());\n\n        var exampleContainer = new Container(\"exampleContainer\", ContainerArgs.builder()\n            .name(\"example\")\n            .storageAccountName(exampleAccount.name())\n            .containerAccessType(\"private\")\n            .build());\n\n        var exampleIoTHub = new IoTHub(\"exampleIoTHub\", IoTHubArgs.builder()\n            .name(\"exampleIothub\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .sku(IoTHubSkuArgs.builder()\n                .name(\"S1\")\n                .capacity(1)\n                .build())\n            .tags(Map.of(\"purpose\", \"testing\"))\n            .build());\n\n        var exampleEndpointStorageContainer = new EndpointStorageContainer(\"exampleEndpointStorageContainer\", EndpointStorageContainerArgs.builder()\n            .resourceGroupName(example.name())\n            .iothubId(exampleIoTHub.id())\n            .name(\"example\")\n            .connectionString(exampleAccount.primaryBlobConnectionString())\n            .batchFrequencyInSeconds(60)\n            .maxChunkSizeInBytes(10485760)\n            .containerName(exampleContainer.name())\n            .encoding(\"Avro\")\n            .fileNameFormat(\"{iothub}/{partition}_{YYYY}_{MM}_{DD}_{HH}_{mm}\")\n            .build());\n\n        var exampleRoute = new Route(\"exampleRoute\", RouteArgs.builder()\n            .resourceGroupName(example.name())\n            .iothubName(exampleIoTHub.name())\n            .name(\"example\")\n            .source(\"DeviceMessages\")\n            .condition(\"true\")\n            .endpointNames(exampleEndpointStorageContainer.name())\n            .enabled(true)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleAccount:\n    type: azure:storage:Account\n    name: example\n    properties:\n      name: examplestorageaccount\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      accountTier: Standard\n      accountReplicationType: LRS\n  exampleContainer:\n    type: azure:storage:Container\n    name: example\n    properties:\n      name: example\n      storageAccountName: ${exampleAccount.name}\n      containerAccessType: private\n  exampleIoTHub:\n    type: azure:iot:IoTHub\n    name: example\n    properties:\n      name: exampleIothub\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      sku:\n        name: S1\n        capacity: '1'\n      tags:\n        purpose: testing\n  exampleEndpointStorageContainer:\n    type: azure:iot:EndpointStorageContainer\n    name: example\n    properties:\n      resourceGroupName: ${example.name}\n      iothubId: ${exampleIoTHub.id}\n      name: example\n      connectionString: ${exampleAccount.primaryBlobConnectionString}\n      batchFrequencyInSeconds: 60\n      maxChunkSizeInBytes: 1.048576e+07\n      containerName: ${exampleContainer.name}\n      encoding: Avro\n      fileNameFormat: '{iothub}/{partition}_{YYYY}_{MM}_{DD}_{HH}_{mm}'\n  exampleRoute:\n    type: azure:iot:Route\n    name: example\n    properties:\n      resourceGroupName: ${example.name}\n      iothubName: ${exampleIoTHub.name}\n      name: example\n      source: DeviceMessages\n      condition: 'true'\n      endpointNames: ${exampleEndpointStorageContainer.name}\n      enabled: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nIoTHub Route can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:iot/route:Route route1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Devices/iotHubs/hub1/routes/route1\n```\n\n","properties":{"condition":{"type":"string","description":"The condition that is evaluated to apply the routing rule. For grammar, see: \u003chttps://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-query-language\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"enabled":{"type":"boolean","description":"Specifies whether a route is enabled.\n"},"endpointNames":{"type":"string","description":"The list of endpoints to which messages that satisfy the condition are routed. Currently only one endpoint is allowed.\n"},"iothubName":{"type":"string","description":"The name of the IoTHub to which this Route belongs. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"The name of the route. Changing this forces a new resource to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group under which the IotHub Route resource has to be created. Changing this forces a new resource to be created.\n"},"source":{"type":"string","description":"The source that the routing rule is to be applied to. Possible values include: `DeviceConnectionStateEvents`, `DeviceJobLifecycleEvents`, `DeviceLifecycleEvents`, `DeviceMessages`, `DigitalTwinChangeEvents`, `Invalid`, `TwinChangeEvents`.\n"}},"required":["enabled","endpointNames","iothubName","name","resourceGroupName","source"],"inputProperties":{"condition":{"type":"string","description":"The condition that is evaluated to apply the routing rule. For grammar, see: \u003chttps://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-query-language\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"enabled":{"type":"boolean","description":"Specifies whether a route is enabled.\n"},"endpointNames":{"type":"string","description":"The list of endpoints to which messages that satisfy the condition are routed. Currently only one endpoint is allowed.\n"},"iothubName":{"type":"string","description":"The name of the IoTHub to which this Route belongs. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the route. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group under which the IotHub Route resource has to be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"source":{"type":"string","description":"The source that the routing rule is to be applied to. Possible values include: `DeviceConnectionStateEvents`, `DeviceJobLifecycleEvents`, `DeviceLifecycleEvents`, `DeviceMessages`, `DigitalTwinChangeEvents`, `Invalid`, `TwinChangeEvents`.\n"}},"requiredInputs":["enabled","endpointNames","iothubName","resourceGroupName","source"],"stateInputs":{"description":"Input properties used for looking up and filtering Route resources.\n","properties":{"condition":{"type":"string","description":"The condition that is evaluated to apply the routing rule. For grammar, see: \u003chttps://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-query-language\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"enabled":{"type":"boolean","description":"Specifies whether a route is enabled.\n"},"endpointNames":{"type":"string","description":"The list of endpoints to which messages that satisfy the condition are routed. Currently only one endpoint is allowed.\n"},"iothubName":{"type":"string","description":"The name of the IoTHub to which this Route belongs. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the route. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group under which the IotHub Route resource has to be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"source":{"type":"string","description":"The source that the routing rule is to be applied to. Possible values include: `DeviceConnectionStateEvents`, `DeviceJobLifecycleEvents`, `DeviceLifecycleEvents`, `DeviceMessages`, `DigitalTwinChangeEvents`, `Invalid`, `TwinChangeEvents`.\n"}},"type":"object"}},"azure:iot/securityDeviceGroup:SecurityDeviceGroup":{"description":"Manages a Iot Security Device Group.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleIoTHub = new azure.iot.IoTHub(\"example\", {\n    name: \"example-IoTHub\",\n    resourceGroupName: example.name,\n    location: example.location,\n    sku: {\n        name: \"S1\",\n        capacity: 1,\n    },\n});\nconst exampleSecuritySolution = new azure.iot.SecuritySolution(\"example\", {\n    name: \"example-Iot-Security-Solution\",\n    resourceGroupName: example.name,\n    location: example.location,\n    displayName: \"Iot Security Solution\",\n    iothubIds: [exampleIoTHub.id],\n});\nconst exampleSecurityDeviceGroup = new azure.iot.SecurityDeviceGroup(\"example\", {\n    name: \"example-device-security-group\",\n    iothubId: exampleIoTHub.id,\n    allowRule: {\n        connectionToIpsNotAlloweds: [\"10.0.0.0/24\"],\n    },\n    rangeRules: [{\n        type: \"ActiveConnectionsNotInAllowedRange\",\n        min: 0,\n        max: 30,\n        duration: \"PT5M\",\n    }],\n}, {\n    dependsOn: [exampleSecuritySolution],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_io_t_hub = azure.iot.IoTHub(\"example\",\n    name=\"example-IoTHub\",\n    resource_group_name=example.name,\n    location=example.location,\n    sku={\n        \"name\": \"S1\",\n        \"capacity\": 1,\n    })\nexample_security_solution = azure.iot.SecuritySolution(\"example\",\n    name=\"example-Iot-Security-Solution\",\n    resource_group_name=example.name,\n    location=example.location,\n    display_name=\"Iot Security Solution\",\n    iothub_ids=[example_io_t_hub.id])\nexample_security_device_group = azure.iot.SecurityDeviceGroup(\"example\",\n    name=\"example-device-security-group\",\n    iothub_id=example_io_t_hub.id,\n    allow_rule={\n        \"connection_to_ips_not_alloweds\": [\"10.0.0.0/24\"],\n    },\n    range_rules=[{\n        \"type\": \"ActiveConnectionsNotInAllowedRange\",\n        \"min\": 0,\n        \"max\": 30,\n        \"duration\": \"PT5M\",\n    }],\n    opts = pulumi.ResourceOptions(depends_on=[example_security_solution]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleIoTHub = new Azure.Iot.IoTHub(\"example\", new()\n    {\n        Name = \"example-IoTHub\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        Sku = new Azure.Iot.Inputs.IoTHubSkuArgs\n        {\n            Name = \"S1\",\n            Capacity = 1,\n        },\n    });\n\n    var exampleSecuritySolution = new Azure.Iot.SecuritySolution(\"example\", new()\n    {\n        Name = \"example-Iot-Security-Solution\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        DisplayName = \"Iot Security Solution\",\n        IothubIds = new[]\n        {\n            exampleIoTHub.Id,\n        },\n    });\n\n    var exampleSecurityDeviceGroup = new Azure.Iot.SecurityDeviceGroup(\"example\", new()\n    {\n        Name = \"example-device-security-group\",\n        IothubId = exampleIoTHub.Id,\n        AllowRule = new Azure.Iot.Inputs.SecurityDeviceGroupAllowRuleArgs\n        {\n            ConnectionToIpsNotAlloweds = new[]\n            {\n                \"10.0.0.0/24\",\n            },\n        },\n        RangeRules = new[]\n        {\n            new Azure.Iot.Inputs.SecurityDeviceGroupRangeRuleArgs\n            {\n                Type = \"ActiveConnectionsNotInAllowedRange\",\n                Min = 0,\n                Max = 30,\n                Duration = \"PT5M\",\n            },\n        },\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            exampleSecuritySolution,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/iot\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleIoTHub, err := iot.NewIoTHub(ctx, \"example\", \u0026iot.IoTHubArgs{\n\t\t\tName:              pulumi.String(\"example-IoTHub\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tSku: \u0026iot.IoTHubSkuArgs{\n\t\t\t\tName:     pulumi.String(\"S1\"),\n\t\t\t\tCapacity: pulumi.Int(1),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSecuritySolution, err := iot.NewSecuritySolution(ctx, \"example\", \u0026iot.SecuritySolutionArgs{\n\t\t\tName:              pulumi.String(\"example-Iot-Security-Solution\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tDisplayName:       pulumi.String(\"Iot Security Solution\"),\n\t\t\tIothubIds: pulumi.StringArray{\n\t\t\t\texampleIoTHub.ID(),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iot.NewSecurityDeviceGroup(ctx, \"example\", \u0026iot.SecurityDeviceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-device-security-group\"),\n\t\t\tIothubId: exampleIoTHub.ID(),\n\t\t\tAllowRule: \u0026iot.SecurityDeviceGroupAllowRuleArgs{\n\t\t\t\tConnectionToIpsNotAlloweds: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"10.0.0.0/24\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tRangeRules: iot.SecurityDeviceGroupRangeRuleArray{\n\t\t\t\t\u0026iot.SecurityDeviceGroupRangeRuleArgs{\n\t\t\t\t\tType:     pulumi.String(\"ActiveConnectionsNotInAllowedRange\"),\n\t\t\t\t\tMin:      pulumi.Int(0),\n\t\t\t\t\tMax:      pulumi.Int(30),\n\t\t\t\t\tDuration: pulumi.String(\"PT5M\"),\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleSecuritySolution,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.iot.IoTHub;\nimport com.pulumi.azure.iot.IoTHubArgs;\nimport com.pulumi.azure.iot.inputs.IoTHubSkuArgs;\nimport com.pulumi.azure.iot.SecuritySolution;\nimport com.pulumi.azure.iot.SecuritySolutionArgs;\nimport com.pulumi.azure.iot.SecurityDeviceGroup;\nimport com.pulumi.azure.iot.SecurityDeviceGroupArgs;\nimport com.pulumi.azure.iot.inputs.SecurityDeviceGroupAllowRuleArgs;\nimport com.pulumi.azure.iot.inputs.SecurityDeviceGroupRangeRuleArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleIoTHub = new IoTHub(\"exampleIoTHub\", IoTHubArgs.builder()\n            .name(\"example-IoTHub\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .sku(IoTHubSkuArgs.builder()\n                .name(\"S1\")\n                .capacity(1)\n                .build())\n            .build());\n\n        var exampleSecuritySolution = new SecuritySolution(\"exampleSecuritySolution\", SecuritySolutionArgs.builder()\n            .name(\"example-Iot-Security-Solution\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .displayName(\"Iot Security Solution\")\n            .iothubIds(exampleIoTHub.id())\n            .build());\n\n        var exampleSecurityDeviceGroup = new SecurityDeviceGroup(\"exampleSecurityDeviceGroup\", SecurityDeviceGroupArgs.builder()\n            .name(\"example-device-security-group\")\n            .iothubId(exampleIoTHub.id())\n            .allowRule(SecurityDeviceGroupAllowRuleArgs.builder()\n                .connectionToIpsNotAlloweds(\"10.0.0.0/24\")\n                .build())\n            .rangeRules(SecurityDeviceGroupRangeRuleArgs.builder()\n                .type(\"ActiveConnectionsNotInAllowedRange\")\n                .min(0)\n                .max(30)\n                .duration(\"PT5M\")\n                .build())\n            .build(), CustomResourceOptions.builder()\n                .dependsOn(exampleSecuritySolution)\n                .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleIoTHub:\n    type: azure:iot:IoTHub\n    name: example\n    properties:\n      name: example-IoTHub\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      sku:\n        name: S1\n        capacity: '1'\n  exampleSecuritySolution:\n    type: azure:iot:SecuritySolution\n    name: example\n    properties:\n      name: example-Iot-Security-Solution\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      displayName: Iot Security Solution\n      iothubIds:\n        - ${exampleIoTHub.id}\n  exampleSecurityDeviceGroup:\n    type: azure:iot:SecurityDeviceGroup\n    name: example\n    properties:\n      name: example-device-security-group\n      iothubId: ${exampleIoTHub.id}\n      allowRule:\n        connectionToIpsNotAlloweds:\n          - 10.0.0.0/24\n      rangeRules:\n        - type: ActiveConnectionsNotInAllowedRange\n          min: 0\n          max: 30\n          duration: PT5M\n    options:\n      dependsOn:\n        - ${exampleSecuritySolution}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nIot Security Device Group can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:iot/securityDeviceGroup:SecurityDeviceGroup example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resGroup1/providers/Microsoft.Devices/iotHubs/hub1/providers/Microsoft.Security/deviceSecurityGroups/group1\n```\n\n","properties":{"allowRule":{"$ref":"#/types/azure:iot/SecurityDeviceGroupAllowRule:SecurityDeviceGroupAllowRule","description":"an \u003cspan pulumi-lang-nodejs=\"`allowRule`\" pulumi-lang-dotnet=\"`AllowRule`\" pulumi-lang-go=\"`allowRule`\" pulumi-lang-python=\"`allow_rule`\" pulumi-lang-yaml=\"`allowRule`\" pulumi-lang-java=\"`allowRule`\"\u003e`allow_rule`\u003c/span\u003e blocks as defined below.\n"},"iothubId":{"type":"string","description":"The ID of the IoT Hub which to link the Security Device Group to. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"Specifies the name of the Device Security Group. Changing this forces a new resource to be created.\n"},"rangeRules":{"type":"array","items":{"$ref":"#/types/azure:iot/SecurityDeviceGroupRangeRule:SecurityDeviceGroupRangeRule"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`rangeRule`\" pulumi-lang-dotnet=\"`RangeRule`\" pulumi-lang-go=\"`rangeRule`\" pulumi-lang-python=\"`range_rule`\" pulumi-lang-yaml=\"`rangeRule`\" pulumi-lang-java=\"`rangeRule`\"\u003e`range_rule`\u003c/span\u003e blocks as defined below.\n"}},"required":["iothubId","name"],"inputProperties":{"allowRule":{"$ref":"#/types/azure:iot/SecurityDeviceGroupAllowRule:SecurityDeviceGroupAllowRule","description":"an \u003cspan pulumi-lang-nodejs=\"`allowRule`\" pulumi-lang-dotnet=\"`AllowRule`\" pulumi-lang-go=\"`allowRule`\" pulumi-lang-python=\"`allow_rule`\" pulumi-lang-yaml=\"`allowRule`\" pulumi-lang-java=\"`allowRule`\"\u003e`allow_rule`\u003c/span\u003e blocks as defined below.\n"},"iothubId":{"type":"string","description":"The ID of the IoT Hub which to link the Security Device Group to. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the Device Security Group. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"rangeRules":{"type":"array","items":{"$ref":"#/types/azure:iot/SecurityDeviceGroupRangeRule:SecurityDeviceGroupRangeRule"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`rangeRule`\" pulumi-lang-dotnet=\"`RangeRule`\" pulumi-lang-go=\"`rangeRule`\" pulumi-lang-python=\"`range_rule`\" pulumi-lang-yaml=\"`rangeRule`\" pulumi-lang-java=\"`rangeRule`\"\u003e`range_rule`\u003c/span\u003e blocks as defined below.\n"}},"requiredInputs":["iothubId"],"stateInputs":{"description":"Input properties used for looking up and filtering SecurityDeviceGroup resources.\n","properties":{"allowRule":{"$ref":"#/types/azure:iot/SecurityDeviceGroupAllowRule:SecurityDeviceGroupAllowRule","description":"an \u003cspan pulumi-lang-nodejs=\"`allowRule`\" pulumi-lang-dotnet=\"`AllowRule`\" pulumi-lang-go=\"`allowRule`\" pulumi-lang-python=\"`allow_rule`\" pulumi-lang-yaml=\"`allowRule`\" pulumi-lang-java=\"`allowRule`\"\u003e`allow_rule`\u003c/span\u003e blocks as defined below.\n"},"iothubId":{"type":"string","description":"The ID of the IoT Hub which to link the Security Device Group to. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the Device Security Group. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"rangeRules":{"type":"array","items":{"$ref":"#/types/azure:iot/SecurityDeviceGroupRangeRule:SecurityDeviceGroupRangeRule"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`rangeRule`\" pulumi-lang-dotnet=\"`RangeRule`\" pulumi-lang-go=\"`rangeRule`\" pulumi-lang-python=\"`range_rule`\" pulumi-lang-yaml=\"`rangeRule`\" pulumi-lang-java=\"`rangeRule`\"\u003e`range_rule`\u003c/span\u003e blocks as defined below.\n"}},"type":"object"}},"azure:iot/securitySolution:SecuritySolution":{"description":"Manages an iot security solution.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleIoTHub = new azure.iot.IoTHub(\"example\", {\n    name: \"example-IoTHub\",\n    resourceGroupName: example.name,\n    location: example.location,\n    sku: {\n        name: \"S1\",\n        capacity: 1,\n    },\n});\nconst exampleSecuritySolution = new azure.iot.SecuritySolution(\"example\", {\n    name: \"example-Iot-Security-Solution\",\n    resourceGroupName: example.name,\n    location: example.location,\n    displayName: \"Iot Security Solution\",\n    iothubIds: [exampleIoTHub.id],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_io_t_hub = azure.iot.IoTHub(\"example\",\n    name=\"example-IoTHub\",\n    resource_group_name=example.name,\n    location=example.location,\n    sku={\n        \"name\": \"S1\",\n        \"capacity\": 1,\n    })\nexample_security_solution = azure.iot.SecuritySolution(\"example\",\n    name=\"example-Iot-Security-Solution\",\n    resource_group_name=example.name,\n    location=example.location,\n    display_name=\"Iot Security Solution\",\n    iothub_ids=[example_io_t_hub.id])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleIoTHub = new Azure.Iot.IoTHub(\"example\", new()\n    {\n        Name = \"example-IoTHub\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        Sku = new Azure.Iot.Inputs.IoTHubSkuArgs\n        {\n            Name = \"S1\",\n            Capacity = 1,\n        },\n    });\n\n    var exampleSecuritySolution = new Azure.Iot.SecuritySolution(\"example\", new()\n    {\n        Name = \"example-Iot-Security-Solution\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        DisplayName = \"Iot Security Solution\",\n        IothubIds = new[]\n        {\n            exampleIoTHub.Id,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/iot\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleIoTHub, err := iot.NewIoTHub(ctx, \"example\", \u0026iot.IoTHubArgs{\n\t\t\tName:              pulumi.String(\"example-IoTHub\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tSku: \u0026iot.IoTHubSkuArgs{\n\t\t\t\tName:     pulumi.String(\"S1\"),\n\t\t\t\tCapacity: pulumi.Int(1),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iot.NewSecuritySolution(ctx, \"example\", \u0026iot.SecuritySolutionArgs{\n\t\t\tName:              pulumi.String(\"example-Iot-Security-Solution\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tDisplayName:       pulumi.String(\"Iot Security Solution\"),\n\t\t\tIothubIds: pulumi.StringArray{\n\t\t\t\texampleIoTHub.ID(),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.iot.IoTHub;\nimport com.pulumi.azure.iot.IoTHubArgs;\nimport com.pulumi.azure.iot.inputs.IoTHubSkuArgs;\nimport com.pulumi.azure.iot.SecuritySolution;\nimport com.pulumi.azure.iot.SecuritySolutionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleIoTHub = new IoTHub(\"exampleIoTHub\", IoTHubArgs.builder()\n            .name(\"example-IoTHub\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .sku(IoTHubSkuArgs.builder()\n                .name(\"S1\")\n                .capacity(1)\n                .build())\n            .build());\n\n        var exampleSecuritySolution = new SecuritySolution(\"exampleSecuritySolution\", SecuritySolutionArgs.builder()\n            .name(\"example-Iot-Security-Solution\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .displayName(\"Iot Security Solution\")\n            .iothubIds(exampleIoTHub.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleIoTHub:\n    type: azure:iot:IoTHub\n    name: example\n    properties:\n      name: example-IoTHub\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      sku:\n        name: S1\n        capacity: '1'\n  exampleSecuritySolution:\n    type: azure:iot:SecuritySolution\n    name: example\n    properties:\n      name: example-Iot-Security-Solution\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      displayName: Iot Security Solution\n      iothubIds:\n        - ${exampleIoTHub.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nIot Security Solution can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:iot/securitySolution:SecuritySolution example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resGroup1/providers/Microsoft.Security/iotSecuritySolutions/solution1\n```\n\n","properties":{"additionalWorkspaces":{"type":"array","items":{"$ref":"#/types/azure:iot/SecuritySolutionAdditionalWorkspace:SecuritySolutionAdditionalWorkspace"},"description":"A \u003cspan pulumi-lang-nodejs=\"`additionalWorkspace`\" pulumi-lang-dotnet=\"`AdditionalWorkspace`\" pulumi-lang-go=\"`additionalWorkspace`\" pulumi-lang-python=\"`additional_workspace`\" pulumi-lang-yaml=\"`additionalWorkspace`\" pulumi-lang-java=\"`additionalWorkspace`\"\u003e`additional_workspace`\u003c/span\u003e block as defined below.\n"},"disabledDataSources":{"type":"array","items":{"type":"string"},"description":"A list of disabled data sources for the Iot Security Solution. Possible value is `TwinData`.\n"},"displayName":{"type":"string","description":"Specifies the Display Name for this Iot Security Solution.\n"},"enabled":{"type":"boolean","description":"Is the Iot Security Solution enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"eventsToExports":{"type":"array","items":{"type":"string"},"description":"A list of data which is to exported to analytic workspace. Valid values include `RawEvents`.\n"},"iothubIds":{"type":"array","items":{"type":"string"},"description":"Specifies the IoT Hub resource IDs to which this Iot Security Solution is applied.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n"},"logAnalyticsWorkspaceId":{"type":"string","description":"Specifies the Log Analytics Workspace ID to which the security data will be sent.\n"},"logUnmaskedIpsEnabled":{"type":"boolean","description":"Should IP addressed be unmasked in the log? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"name":{"type":"string","description":"Specifies the name of the Iot Security Solution. Changing this forces a new resource to be created.\n"},"queryForResources":{"type":"string","description":"An Azure Resource Graph query used to set the resources monitored.\n"},"querySubscriptionIds":{"type":"array","items":{"type":"string"},"description":"A list of subscription Ids on which the user defined resources query should be executed.\n"},"recommendationsEnabled":{"$ref":"#/types/azure:iot/SecuritySolutionRecommendationsEnabled:SecuritySolutionRecommendationsEnabled","description":"A \u003cspan pulumi-lang-nodejs=\"`recommendationsEnabled`\" pulumi-lang-dotnet=\"`RecommendationsEnabled`\" pulumi-lang-go=\"`recommendationsEnabled`\" pulumi-lang-python=\"`recommendations_enabled`\" pulumi-lang-yaml=\"`recommendationsEnabled`\" pulumi-lang-java=\"`recommendationsEnabled`\"\u003e`recommendations_enabled`\u003c/span\u003e block of options to enable or disable as defined below.\n"},"resourceGroupName":{"type":"string","description":"Specifies the name of the resource group in which to create the Iot Security Solution. Changing this forces a new resource to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"required":["displayName","iothubIds","location","name","queryForResources","querySubscriptionIds","recommendationsEnabled","resourceGroupName"],"inputProperties":{"additionalWorkspaces":{"type":"array","items":{"$ref":"#/types/azure:iot/SecuritySolutionAdditionalWorkspace:SecuritySolutionAdditionalWorkspace"},"description":"A \u003cspan pulumi-lang-nodejs=\"`additionalWorkspace`\" pulumi-lang-dotnet=\"`AdditionalWorkspace`\" pulumi-lang-go=\"`additionalWorkspace`\" pulumi-lang-python=\"`additional_workspace`\" pulumi-lang-yaml=\"`additionalWorkspace`\" pulumi-lang-java=\"`additionalWorkspace`\"\u003e`additional_workspace`\u003c/span\u003e block as defined below.\n"},"disabledDataSources":{"type":"array","items":{"type":"string"},"description":"A list of disabled data sources for the Iot Security Solution. Possible value is `TwinData`.\n"},"displayName":{"type":"string","description":"Specifies the Display Name for this Iot Security Solution.\n"},"enabled":{"type":"boolean","description":"Is the Iot Security Solution enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"eventsToExports":{"type":"array","items":{"type":"string"},"description":"A list of data which is to exported to analytic workspace. Valid values include `RawEvents`.\n"},"iothubIds":{"type":"array","items":{"type":"string"},"description":"Specifies the IoT Hub resource IDs to which this Iot Security Solution is applied.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"logAnalyticsWorkspaceId":{"type":"string","description":"Specifies the Log Analytics Workspace ID to which the security data will be sent.\n"},"logUnmaskedIpsEnabled":{"type":"boolean","description":"Should IP addressed be unmasked in the log? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"name":{"type":"string","description":"Specifies the name of the Iot Security Solution. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"queryForResources":{"type":"string","description":"An Azure Resource Graph query used to set the resources monitored.\n"},"querySubscriptionIds":{"type":"array","items":{"type":"string"},"description":"A list of subscription Ids on which the user defined resources query should be executed.\n"},"recommendationsEnabled":{"$ref":"#/types/azure:iot/SecuritySolutionRecommendationsEnabled:SecuritySolutionRecommendationsEnabled","description":"A \u003cspan pulumi-lang-nodejs=\"`recommendationsEnabled`\" pulumi-lang-dotnet=\"`RecommendationsEnabled`\" pulumi-lang-go=\"`recommendationsEnabled`\" pulumi-lang-python=\"`recommendations_enabled`\" pulumi-lang-yaml=\"`recommendationsEnabled`\" pulumi-lang-java=\"`recommendationsEnabled`\"\u003e`recommendations_enabled`\u003c/span\u003e block of options to enable or disable as defined below.\n"},"resourceGroupName":{"type":"string","description":"Specifies the name of the resource group in which to create the Iot Security Solution. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"requiredInputs":["displayName","iothubIds","resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering SecuritySolution resources.\n","properties":{"additionalWorkspaces":{"type":"array","items":{"$ref":"#/types/azure:iot/SecuritySolutionAdditionalWorkspace:SecuritySolutionAdditionalWorkspace"},"description":"A \u003cspan pulumi-lang-nodejs=\"`additionalWorkspace`\" pulumi-lang-dotnet=\"`AdditionalWorkspace`\" pulumi-lang-go=\"`additionalWorkspace`\" pulumi-lang-python=\"`additional_workspace`\" pulumi-lang-yaml=\"`additionalWorkspace`\" pulumi-lang-java=\"`additionalWorkspace`\"\u003e`additional_workspace`\u003c/span\u003e block as defined below.\n"},"disabledDataSources":{"type":"array","items":{"type":"string"},"description":"A list of disabled data sources for the Iot Security Solution. Possible value is `TwinData`.\n"},"displayName":{"type":"string","description":"Specifies the Display Name for this Iot Security Solution.\n"},"enabled":{"type":"boolean","description":"Is the Iot Security Solution enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"eventsToExports":{"type":"array","items":{"type":"string"},"description":"A list of data which is to exported to analytic workspace. Valid values include `RawEvents`.\n"},"iothubIds":{"type":"array","items":{"type":"string"},"description":"Specifies the IoT Hub resource IDs to which this Iot Security Solution is applied.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"logAnalyticsWorkspaceId":{"type":"string","description":"Specifies the Log Analytics Workspace ID to which the security data will be sent.\n"},"logUnmaskedIpsEnabled":{"type":"boolean","description":"Should IP addressed be unmasked in the log? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"name":{"type":"string","description":"Specifies the name of the Iot Security Solution. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"queryForResources":{"type":"string","description":"An Azure Resource Graph query used to set the resources monitored.\n"},"querySubscriptionIds":{"type":"array","items":{"type":"string"},"description":"A list of subscription Ids on which the user defined resources query should be executed.\n"},"recommendationsEnabled":{"$ref":"#/types/azure:iot/SecuritySolutionRecommendationsEnabled:SecuritySolutionRecommendationsEnabled","description":"A \u003cspan pulumi-lang-nodejs=\"`recommendationsEnabled`\" pulumi-lang-dotnet=\"`RecommendationsEnabled`\" pulumi-lang-go=\"`recommendationsEnabled`\" pulumi-lang-python=\"`recommendations_enabled`\" pulumi-lang-yaml=\"`recommendationsEnabled`\" pulumi-lang-java=\"`recommendationsEnabled`\"\u003e`recommendations_enabled`\u003c/span\u003e block of options to enable or disable as defined below.\n"},"resourceGroupName":{"type":"string","description":"Specifies the name of the resource group in which to create the Iot Security Solution. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"type":"object"}},"azure:iot/sharedAccessPolicy:SharedAccessPolicy":{"description":"Manages an IotHub Shared Access Policy\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleIoTHub = new azure.iot.IoTHub(\"example\", {\n    name: \"example\",\n    resourceGroupName: example.name,\n    location: example.location,\n    sku: {\n        name: \"S1\",\n        capacity: 1,\n    },\n});\nconst exampleSharedAccessPolicy = new azure.iot.SharedAccessPolicy(\"example\", {\n    name: \"example\",\n    resourceGroupName: example.name,\n    iothubName: exampleIoTHub.name,\n    registryRead: true,\n    registryWrite: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_io_t_hub = azure.iot.IoTHub(\"example\",\n    name=\"example\",\n    resource_group_name=example.name,\n    location=example.location,\n    sku={\n        \"name\": \"S1\",\n        \"capacity\": 1,\n    })\nexample_shared_access_policy = azure.iot.SharedAccessPolicy(\"example\",\n    name=\"example\",\n    resource_group_name=example.name,\n    iothub_name=example_io_t_hub.name,\n    registry_read=True,\n    registry_write=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleIoTHub = new Azure.Iot.IoTHub(\"example\", new()\n    {\n        Name = \"example\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        Sku = new Azure.Iot.Inputs.IoTHubSkuArgs\n        {\n            Name = \"S1\",\n            Capacity = 1,\n        },\n    });\n\n    var exampleSharedAccessPolicy = new Azure.Iot.SharedAccessPolicy(\"example\", new()\n    {\n        Name = \"example\",\n        ResourceGroupName = example.Name,\n        IothubName = exampleIoTHub.Name,\n        RegistryRead = true,\n        RegistryWrite = true,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/iot\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleIoTHub, err := iot.NewIoTHub(ctx, \"example\", \u0026iot.IoTHubArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tSku: \u0026iot.IoTHubSkuArgs{\n\t\t\t\tName:     pulumi.String(\"S1\"),\n\t\t\t\tCapacity: pulumi.Int(1),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iot.NewSharedAccessPolicy(ctx, \"example\", \u0026iot.SharedAccessPolicyArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tIothubName:        exampleIoTHub.Name,\n\t\t\tRegistryRead:      pulumi.Bool(true),\n\t\t\tRegistryWrite:     pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.iot.IoTHub;\nimport com.pulumi.azure.iot.IoTHubArgs;\nimport com.pulumi.azure.iot.inputs.IoTHubSkuArgs;\nimport com.pulumi.azure.iot.SharedAccessPolicy;\nimport com.pulumi.azure.iot.SharedAccessPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleIoTHub = new IoTHub(\"exampleIoTHub\", IoTHubArgs.builder()\n            .name(\"example\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .sku(IoTHubSkuArgs.builder()\n                .name(\"S1\")\n                .capacity(1)\n                .build())\n            .build());\n\n        var exampleSharedAccessPolicy = new SharedAccessPolicy(\"exampleSharedAccessPolicy\", SharedAccessPolicyArgs.builder()\n            .name(\"example\")\n            .resourceGroupName(example.name())\n            .iothubName(exampleIoTHub.name())\n            .registryRead(true)\n            .registryWrite(true)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleIoTHub:\n    type: azure:iot:IoTHub\n    name: example\n    properties:\n      name: example\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      sku:\n        name: S1\n        capacity: '1'\n  exampleSharedAccessPolicy:\n    type: azure:iot:SharedAccessPolicy\n    name: example\n    properties:\n      name: example\n      resourceGroupName: ${example.name}\n      iothubName: ${exampleIoTHub.name}\n      registryRead: true\n      registryWrite: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nIoTHub Shared Access Policies can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:iot/sharedAccessPolicy:SharedAccessPolicy shared_access_policy1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Devices/iotHubs/hub1/iotHubKeys/shared_access_policy1\n```\n\n","properties":{"deviceConnect":{"type":"boolean","description":"Adds `DeviceConnect` permission to this Shared Access Account. It allows sending and receiving on the device-side endpoints.\n\n\u003e **Note:** At least one of \u003cspan pulumi-lang-nodejs=\"`registryRead`\" pulumi-lang-dotnet=\"`RegistryRead`\" pulumi-lang-go=\"`registryRead`\" pulumi-lang-python=\"`registry_read`\" pulumi-lang-yaml=\"`registryRead`\" pulumi-lang-java=\"`registryRead`\"\u003e`registry_read`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`registryWrite`\" pulumi-lang-dotnet=\"`RegistryWrite`\" pulumi-lang-go=\"`registryWrite`\" pulumi-lang-python=\"`registry_write`\" pulumi-lang-yaml=\"`registryWrite`\" pulumi-lang-java=\"`registryWrite`\"\u003e`registry_write`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`serviceConnect`\" pulumi-lang-dotnet=\"`ServiceConnect`\" pulumi-lang-go=\"`serviceConnect`\" pulumi-lang-python=\"`service_connect`\" pulumi-lang-yaml=\"`serviceConnect`\" pulumi-lang-java=\"`serviceConnect`\"\u003e`service_connect`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`deviceConnect`\" pulumi-lang-dotnet=\"`DeviceConnect`\" pulumi-lang-go=\"`deviceConnect`\" pulumi-lang-python=\"`device_connect`\" pulumi-lang-yaml=\"`deviceConnect`\" pulumi-lang-java=\"`deviceConnect`\"\u003e`device_connect`\u003c/span\u003e permissions must be set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"iothubName":{"type":"string","description":"The name of the IoTHub to which this Shared Access Policy belongs. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"Specifies the name of the IotHub Shared Access Policy resource. Changing this forces a new resource to be created.\n"},"primaryConnectionString":{"type":"string","description":"The primary connection string of the Shared Access Policy.\n","secret":true},"primaryKey":{"type":"string","description":"The primary key used to create the authentication token.\n","secret":true},"registryRead":{"type":"boolean","description":"Adds `RegistryRead` permission to this Shared Access Account. It allows read access to the identity registry.\n"},"registryWrite":{"type":"boolean","description":"Adds `RegistryWrite` permission to this Shared Access Account. It allows write access to the identity registry.\n\n\u003e **Note:** When \u003cspan pulumi-lang-nodejs=\"`registryWrite`\" pulumi-lang-dotnet=\"`RegistryWrite`\" pulumi-lang-go=\"`registryWrite`\" pulumi-lang-python=\"`registry_write`\" pulumi-lang-yaml=\"`registryWrite`\" pulumi-lang-java=\"`registryWrite`\"\u003e`registry_write`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`registryRead`\" pulumi-lang-dotnet=\"`RegistryRead`\" pulumi-lang-go=\"`registryRead`\" pulumi-lang-python=\"`registry_read`\" pulumi-lang-yaml=\"`registryRead`\" pulumi-lang-java=\"`registryRead`\"\u003e`registry_read`\u003c/span\u003e must also be set to true. This is a limitation of the Azure REST API\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group under which the IotHub Shared Access Policy resource has to be created. Changing this forces a new resource to be created.\n"},"secondaryConnectionString":{"type":"string","description":"The secondary connection string of the Shared Access Policy.\n","secret":true},"secondaryKey":{"type":"string","description":"The secondary key used to create the authentication token.\n","secret":true},"serviceConnect":{"type":"boolean","description":"Adds `ServiceConnect` permission to this Shared Access Account. It allows sending and receiving on the cloud-side endpoints.\n"}},"required":["iothubName","name","primaryConnectionString","primaryKey","resourceGroupName","secondaryConnectionString","secondaryKey"],"inputProperties":{"deviceConnect":{"type":"boolean","description":"Adds `DeviceConnect` permission to this Shared Access Account. It allows sending and receiving on the device-side endpoints.\n\n\u003e **Note:** At least one of \u003cspan pulumi-lang-nodejs=\"`registryRead`\" pulumi-lang-dotnet=\"`RegistryRead`\" pulumi-lang-go=\"`registryRead`\" pulumi-lang-python=\"`registry_read`\" pulumi-lang-yaml=\"`registryRead`\" pulumi-lang-java=\"`registryRead`\"\u003e`registry_read`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`registryWrite`\" pulumi-lang-dotnet=\"`RegistryWrite`\" pulumi-lang-go=\"`registryWrite`\" pulumi-lang-python=\"`registry_write`\" pulumi-lang-yaml=\"`registryWrite`\" pulumi-lang-java=\"`registryWrite`\"\u003e`registry_write`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`serviceConnect`\" pulumi-lang-dotnet=\"`ServiceConnect`\" pulumi-lang-go=\"`serviceConnect`\" pulumi-lang-python=\"`service_connect`\" pulumi-lang-yaml=\"`serviceConnect`\" pulumi-lang-java=\"`serviceConnect`\"\u003e`service_connect`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`deviceConnect`\" pulumi-lang-dotnet=\"`DeviceConnect`\" pulumi-lang-go=\"`deviceConnect`\" pulumi-lang-python=\"`device_connect`\" pulumi-lang-yaml=\"`deviceConnect`\" pulumi-lang-java=\"`deviceConnect`\"\u003e`device_connect`\u003c/span\u003e permissions must be set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"iothubName":{"type":"string","description":"The name of the IoTHub to which this Shared Access Policy belongs. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the IotHub Shared Access Policy resource. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"registryRead":{"type":"boolean","description":"Adds `RegistryRead` permission to this Shared Access Account. It allows read access to the identity registry.\n"},"registryWrite":{"type":"boolean","description":"Adds `RegistryWrite` permission to this Shared Access Account. It allows write access to the identity registry.\n\n\u003e **Note:** When \u003cspan pulumi-lang-nodejs=\"`registryWrite`\" pulumi-lang-dotnet=\"`RegistryWrite`\" pulumi-lang-go=\"`registryWrite`\" pulumi-lang-python=\"`registry_write`\" pulumi-lang-yaml=\"`registryWrite`\" pulumi-lang-java=\"`registryWrite`\"\u003e`registry_write`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`registryRead`\" pulumi-lang-dotnet=\"`RegistryRead`\" pulumi-lang-go=\"`registryRead`\" pulumi-lang-python=\"`registry_read`\" pulumi-lang-yaml=\"`registryRead`\" pulumi-lang-java=\"`registryRead`\"\u003e`registry_read`\u003c/span\u003e must also be set to true. This is a limitation of the Azure REST API\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group under which the IotHub Shared Access Policy resource has to be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"serviceConnect":{"type":"boolean","description":"Adds `ServiceConnect` permission to this Shared Access Account. It allows sending and receiving on the cloud-side endpoints.\n"}},"requiredInputs":["iothubName","resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering SharedAccessPolicy resources.\n","properties":{"deviceConnect":{"type":"boolean","description":"Adds `DeviceConnect` permission to this Shared Access Account. It allows sending and receiving on the device-side endpoints.\n\n\u003e **Note:** At least one of \u003cspan pulumi-lang-nodejs=\"`registryRead`\" pulumi-lang-dotnet=\"`RegistryRead`\" pulumi-lang-go=\"`registryRead`\" pulumi-lang-python=\"`registry_read`\" pulumi-lang-yaml=\"`registryRead`\" pulumi-lang-java=\"`registryRead`\"\u003e`registry_read`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`registryWrite`\" pulumi-lang-dotnet=\"`RegistryWrite`\" pulumi-lang-go=\"`registryWrite`\" pulumi-lang-python=\"`registry_write`\" pulumi-lang-yaml=\"`registryWrite`\" pulumi-lang-java=\"`registryWrite`\"\u003e`registry_write`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`serviceConnect`\" pulumi-lang-dotnet=\"`ServiceConnect`\" pulumi-lang-go=\"`serviceConnect`\" pulumi-lang-python=\"`service_connect`\" pulumi-lang-yaml=\"`serviceConnect`\" pulumi-lang-java=\"`serviceConnect`\"\u003e`service_connect`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`deviceConnect`\" pulumi-lang-dotnet=\"`DeviceConnect`\" pulumi-lang-go=\"`deviceConnect`\" pulumi-lang-python=\"`device_connect`\" pulumi-lang-yaml=\"`deviceConnect`\" pulumi-lang-java=\"`deviceConnect`\"\u003e`device_connect`\u003c/span\u003e permissions must be set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"iothubName":{"type":"string","description":"The name of the IoTHub to which this Shared Access Policy belongs. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the IotHub Shared Access Policy resource. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"primaryConnectionString":{"type":"string","description":"The primary connection string of the Shared Access Policy.\n","secret":true},"primaryKey":{"type":"string","description":"The primary key used to create the authentication token.\n","secret":true},"registryRead":{"type":"boolean","description":"Adds `RegistryRead` permission to this Shared Access Account. It allows read access to the identity registry.\n"},"registryWrite":{"type":"boolean","description":"Adds `RegistryWrite` permission to this Shared Access Account. It allows write access to the identity registry.\n\n\u003e **Note:** When \u003cspan pulumi-lang-nodejs=\"`registryWrite`\" pulumi-lang-dotnet=\"`RegistryWrite`\" pulumi-lang-go=\"`registryWrite`\" pulumi-lang-python=\"`registry_write`\" pulumi-lang-yaml=\"`registryWrite`\" pulumi-lang-java=\"`registryWrite`\"\u003e`registry_write`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`registryRead`\" pulumi-lang-dotnet=\"`RegistryRead`\" pulumi-lang-go=\"`registryRead`\" pulumi-lang-python=\"`registry_read`\" pulumi-lang-yaml=\"`registryRead`\" pulumi-lang-java=\"`registryRead`\"\u003e`registry_read`\u003c/span\u003e must also be set to true. This is a limitation of the Azure REST API\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group under which the IotHub Shared Access Policy resource has to be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"secondaryConnectionString":{"type":"string","description":"The secondary connection string of the Shared Access Policy.\n","secret":true},"secondaryKey":{"type":"string","description":"The secondary key used to create the authentication token.\n","secret":true},"serviceConnect":{"type":"boolean","description":"Adds `ServiceConnect` permission to this Shared Access Account. It allows sending and receiving on the cloud-side endpoints.\n"}},"type":"object"}},"azure:iotcentral/application:Application":{"description":"Manages an IoT Central Application\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resource\",\n    location: \"West Europe\",\n});\nconst exampleApplication = new azure.iotcentral.Application(\"example\", {\n    name: \"example-iotcentral-app\",\n    resourceGroupName: example.name,\n    location: example.location,\n    subDomain: \"example-iotcentral-app-subdomain\",\n    displayName: \"example-iotcentral-app-display-name\",\n    sku: \"ST1\",\n    template: \"iotc-default@1.0.0\",\n    tags: {\n        Foo: \"Bar\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resource\",\n    location=\"West Europe\")\nexample_application = azure.iotcentral.Application(\"example\",\n    name=\"example-iotcentral-app\",\n    resource_group_name=example.name,\n    location=example.location,\n    sub_domain=\"example-iotcentral-app-subdomain\",\n    display_name=\"example-iotcentral-app-display-name\",\n    sku=\"ST1\",\n    template=\"iotc-default@1.0.0\",\n    tags={\n        \"Foo\": \"Bar\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resource\",\n        Location = \"West Europe\",\n    });\n\n    var exampleApplication = new Azure.IotCentral.Application(\"example\", new()\n    {\n        Name = \"example-iotcentral-app\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        SubDomain = \"example-iotcentral-app-subdomain\",\n        DisplayName = \"example-iotcentral-app-display-name\",\n        Sku = \"ST1\",\n        Template = \"iotc-default@1.0.0\",\n        Tags = \n        {\n            { \"Foo\", \"Bar\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/iotcentral\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resource\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iotcentral.NewApplication(ctx, \"example\", \u0026iotcentral.ApplicationArgs{\n\t\t\tName:              pulumi.String(\"example-iotcentral-app\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tSubDomain:         pulumi.String(\"example-iotcentral-app-subdomain\"),\n\t\t\tDisplayName:       pulumi.String(\"example-iotcentral-app-display-name\"),\n\t\t\tSku:               pulumi.String(\"ST1\"),\n\t\t\tTemplate:          pulumi.String(\"iotc-default@1.0.0\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Foo\": pulumi.String(\"Bar\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.iotcentral.Application;\nimport com.pulumi.azure.iotcentral.ApplicationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resource\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleApplication = new Application(\"exampleApplication\", ApplicationArgs.builder()\n            .name(\"example-iotcentral-app\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .subDomain(\"example-iotcentral-app-subdomain\")\n            .displayName(\"example-iotcentral-app-display-name\")\n            .sku(\"ST1\")\n            .template(\"iotc-default@1.0.0\")\n            .tags(Map.of(\"Foo\", \"Bar\"))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resource\n      location: West Europe\n  exampleApplication:\n    type: azure:iotcentral:Application\n    name: example\n    properties:\n      name: example-iotcentral-app\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      subDomain: example-iotcentral-app-subdomain\n      displayName: example-iotcentral-app-display-name\n      sku: ST1\n      template: iotc-default@1.0.0\n      tags:\n        Foo: Bar\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.IoTCentral` - 2021-11-01-preview\n\n## Import\n\nThe IoT Central Application can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:iotcentral/application:Application example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.IoTCentral/iotApps/app1\n```\n\n","properties":{"displayName":{"type":"string","description":"A \u003cspan pulumi-lang-nodejs=\"`displayName`\" pulumi-lang-dotnet=\"`DisplayName`\" pulumi-lang-go=\"`displayName`\" pulumi-lang-python=\"`display_name`\" pulumi-lang-yaml=\"`displayName`\" pulumi-lang-java=\"`displayName`\"\u003e`display_name`\u003c/span\u003e name. Custom display name for the IoT Central application. Default is resource name.\n\n\u003e **Note:** Due to a bug in the provider, the default value of \u003cspan pulumi-lang-nodejs=\"`displayName`\" pulumi-lang-dotnet=\"`DisplayName`\" pulumi-lang-go=\"`displayName`\" pulumi-lang-python=\"`display_name`\" pulumi-lang-yaml=\"`displayName`\" pulumi-lang-java=\"`displayName`\"\u003e`display_name`\u003c/span\u003e of a newly created IoT Central App will be the Resource Group Name, it will be fixed and use resource name in 4.0. For an existing IoT Central App, this could be fixed by specifying the \u003cspan pulumi-lang-nodejs=\"`displayName`\" pulumi-lang-dotnet=\"`DisplayName`\" pulumi-lang-go=\"`displayName`\" pulumi-lang-python=\"`display_name`\" pulumi-lang-yaml=\"`displayName`\" pulumi-lang-java=\"`displayName`\"\u003e`display_name`\u003c/span\u003e explicitly.\n"},"identity":{"$ref":"#/types/azure:iotcentral/ApplicationIdentity:ApplicationIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource has to be create. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"Specifies the name of the IotHub resource. Changing this forces a new resource to be created.\n"},"publicNetworkAccessEnabled":{"type":"boolean","description":"Whether public network access is allowed for the IoT Central Application. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group under which the IotHub resource has to be created. Changing this forces a new resource to be created.\n"},"sku":{"type":"string","description":"A \u003cspan pulumi-lang-nodejs=\"`sku`\" pulumi-lang-dotnet=\"`Sku`\" pulumi-lang-go=\"`sku`\" pulumi-lang-python=\"`sku`\" pulumi-lang-yaml=\"`sku`\" pulumi-lang-java=\"`sku`\"\u003e`sku`\u003c/span\u003e name. Possible values is `ST0`, `ST1`, `ST2`, Default value is `ST1`\n"},"subDomain":{"type":"string","description":"A \u003cspan pulumi-lang-nodejs=\"`subDomain`\" pulumi-lang-dotnet=\"`SubDomain`\" pulumi-lang-go=\"`subDomain`\" pulumi-lang-python=\"`sub_domain`\" pulumi-lang-yaml=\"`subDomain`\" pulumi-lang-java=\"`subDomain`\"\u003e`sub_domain`\u003c/span\u003e name. Subdomain for the IoT Central URL. Each application must have a unique subdomain.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"template":{"type":"string","description":"A \u003cspan pulumi-lang-nodejs=\"`template`\" pulumi-lang-dotnet=\"`Template`\" pulumi-lang-go=\"`template`\" pulumi-lang-python=\"`template`\" pulumi-lang-yaml=\"`template`\" pulumi-lang-java=\"`template`\"\u003e`template`\u003c/span\u003e name. IoT Central application template name. Defaults to `iotc-pnp-preview@1.0.0`. Changing this forces a new resource to be created.\n"}},"required":["displayName","location","name","resourceGroupName","subDomain"],"inputProperties":{"displayName":{"type":"string","description":"A \u003cspan pulumi-lang-nodejs=\"`displayName`\" pulumi-lang-dotnet=\"`DisplayName`\" pulumi-lang-go=\"`displayName`\" pulumi-lang-python=\"`display_name`\" pulumi-lang-yaml=\"`displayName`\" pulumi-lang-java=\"`displayName`\"\u003e`display_name`\u003c/span\u003e name. Custom display name for the IoT Central application. Default is resource name.\n\n\u003e **Note:** Due to a bug in the provider, the default value of \u003cspan pulumi-lang-nodejs=\"`displayName`\" pulumi-lang-dotnet=\"`DisplayName`\" pulumi-lang-go=\"`displayName`\" pulumi-lang-python=\"`display_name`\" pulumi-lang-yaml=\"`displayName`\" pulumi-lang-java=\"`displayName`\"\u003e`display_name`\u003c/span\u003e of a newly created IoT Central App will be the Resource Group Name, it will be fixed and use resource name in 4.0. For an existing IoT Central App, this could be fixed by specifying the \u003cspan pulumi-lang-nodejs=\"`displayName`\" pulumi-lang-dotnet=\"`DisplayName`\" pulumi-lang-go=\"`displayName`\" pulumi-lang-python=\"`display_name`\" pulumi-lang-yaml=\"`displayName`\" pulumi-lang-java=\"`displayName`\"\u003e`display_name`\u003c/span\u003e explicitly.\n"},"identity":{"$ref":"#/types/azure:iotcentral/ApplicationIdentity:ApplicationIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource has to be create. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the IotHub resource. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"publicNetworkAccessEnabled":{"type":"boolean","description":"Whether public network access is allowed for the IoT Central Application. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group under which the IotHub resource has to be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sku":{"type":"string","description":"A \u003cspan pulumi-lang-nodejs=\"`sku`\" pulumi-lang-dotnet=\"`Sku`\" pulumi-lang-go=\"`sku`\" pulumi-lang-python=\"`sku`\" pulumi-lang-yaml=\"`sku`\" pulumi-lang-java=\"`sku`\"\u003e`sku`\u003c/span\u003e name. Possible values is `ST0`, `ST1`, `ST2`, Default value is `ST1`\n"},"subDomain":{"type":"string","description":"A \u003cspan pulumi-lang-nodejs=\"`subDomain`\" pulumi-lang-dotnet=\"`SubDomain`\" pulumi-lang-go=\"`subDomain`\" pulumi-lang-python=\"`sub_domain`\" pulumi-lang-yaml=\"`subDomain`\" pulumi-lang-java=\"`subDomain`\"\u003e`sub_domain`\u003c/span\u003e name. Subdomain for the IoT Central URL. Each application must have a unique subdomain.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"template":{"type":"string","description":"A \u003cspan pulumi-lang-nodejs=\"`template`\" pulumi-lang-dotnet=\"`Template`\" pulumi-lang-go=\"`template`\" pulumi-lang-python=\"`template`\" pulumi-lang-yaml=\"`template`\" pulumi-lang-java=\"`template`\"\u003e`template`\u003c/span\u003e name. IoT Central application template name. Defaults to `iotc-pnp-preview@1.0.0`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["resourceGroupName","subDomain"],"stateInputs":{"description":"Input properties used for looking up and filtering Application resources.\n","properties":{"displayName":{"type":"string","description":"A \u003cspan pulumi-lang-nodejs=\"`displayName`\" pulumi-lang-dotnet=\"`DisplayName`\" pulumi-lang-go=\"`displayName`\" pulumi-lang-python=\"`display_name`\" pulumi-lang-yaml=\"`displayName`\" pulumi-lang-java=\"`displayName`\"\u003e`display_name`\u003c/span\u003e name. Custom display name for the IoT Central application. Default is resource name.\n\n\u003e **Note:** Due to a bug in the provider, the default value of \u003cspan pulumi-lang-nodejs=\"`displayName`\" pulumi-lang-dotnet=\"`DisplayName`\" pulumi-lang-go=\"`displayName`\" pulumi-lang-python=\"`display_name`\" pulumi-lang-yaml=\"`displayName`\" pulumi-lang-java=\"`displayName`\"\u003e`display_name`\u003c/span\u003e of a newly created IoT Central App will be the Resource Group Name, it will be fixed and use resource name in 4.0. For an existing IoT Central App, this could be fixed by specifying the \u003cspan pulumi-lang-nodejs=\"`displayName`\" pulumi-lang-dotnet=\"`DisplayName`\" pulumi-lang-go=\"`displayName`\" pulumi-lang-python=\"`display_name`\" pulumi-lang-yaml=\"`displayName`\" pulumi-lang-java=\"`displayName`\"\u003e`display_name`\u003c/span\u003e explicitly.\n"},"identity":{"$ref":"#/types/azure:iotcentral/ApplicationIdentity:ApplicationIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource has to be create. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the IotHub resource. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"publicNetworkAccessEnabled":{"type":"boolean","description":"Whether public network access is allowed for the IoT Central Application. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group under which the IotHub resource has to be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sku":{"type":"string","description":"A \u003cspan pulumi-lang-nodejs=\"`sku`\" pulumi-lang-dotnet=\"`Sku`\" pulumi-lang-go=\"`sku`\" pulumi-lang-python=\"`sku`\" pulumi-lang-yaml=\"`sku`\" pulumi-lang-java=\"`sku`\"\u003e`sku`\u003c/span\u003e name. Possible values is `ST0`, `ST1`, `ST2`, Default value is `ST1`\n"},"subDomain":{"type":"string","description":"A \u003cspan pulumi-lang-nodejs=\"`subDomain`\" pulumi-lang-dotnet=\"`SubDomain`\" pulumi-lang-go=\"`subDomain`\" pulumi-lang-python=\"`sub_domain`\" pulumi-lang-yaml=\"`subDomain`\" pulumi-lang-java=\"`subDomain`\"\u003e`sub_domain`\u003c/span\u003e name. Subdomain for the IoT Central URL. Each application must have a unique subdomain.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"template":{"type":"string","description":"A \u003cspan pulumi-lang-nodejs=\"`template`\" pulumi-lang-dotnet=\"`Template`\" pulumi-lang-go=\"`template`\" pulumi-lang-python=\"`template`\" pulumi-lang-yaml=\"`template`\" pulumi-lang-java=\"`template`\"\u003e`template`\u003c/span\u003e name. IoT Central application template name. Defaults to `iotc-pnp-preview@1.0.0`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:iotcentral/applicationNetworkRuleSet:ApplicationNetworkRuleSet":{"description":"Manages an IoT Central Application Network Rule Set.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resource\",\n    location: \"West Europe\",\n});\nconst exampleApplication = new azure.iotcentral.Application(\"example\", {\n    name: \"example-iotcentral-app\",\n    resourceGroupName: example.name,\n    location: example.location,\n    subDomain: \"example-iotcentral-app-subdomain\",\n    displayName: \"example-iotcentral-app-display-name\",\n    sku: \"ST1\",\n    tags: {\n        Foo: \"Bar\",\n    },\n});\nconst exampleApplicationNetworkRuleSet = new azure.iotcentral.ApplicationNetworkRuleSet(\"example\", {\n    iotcentralApplicationId: exampleApplication.id,\n    ipRules: [\n        {\n            name: \"rule1\",\n            ipMask: \"10.0.1.0/24\",\n        },\n        {\n            name: \"rule2\",\n            ipMask: \"10.1.1.0/24\",\n        },\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resource\",\n    location=\"West Europe\")\nexample_application = azure.iotcentral.Application(\"example\",\n    name=\"example-iotcentral-app\",\n    resource_group_name=example.name,\n    location=example.location,\n    sub_domain=\"example-iotcentral-app-subdomain\",\n    display_name=\"example-iotcentral-app-display-name\",\n    sku=\"ST1\",\n    tags={\n        \"Foo\": \"Bar\",\n    })\nexample_application_network_rule_set = azure.iotcentral.ApplicationNetworkRuleSet(\"example\",\n    iotcentral_application_id=example_application.id,\n    ip_rules=[\n        {\n            \"name\": \"rule1\",\n            \"ip_mask\": \"10.0.1.0/24\",\n        },\n        {\n            \"name\": \"rule2\",\n            \"ip_mask\": \"10.1.1.0/24\",\n        },\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resource\",\n        Location = \"West Europe\",\n    });\n\n    var exampleApplication = new Azure.IotCentral.Application(\"example\", new()\n    {\n        Name = \"example-iotcentral-app\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        SubDomain = \"example-iotcentral-app-subdomain\",\n        DisplayName = \"example-iotcentral-app-display-name\",\n        Sku = \"ST1\",\n        Tags = \n        {\n            { \"Foo\", \"Bar\" },\n        },\n    });\n\n    var exampleApplicationNetworkRuleSet = new Azure.IotCentral.ApplicationNetworkRuleSet(\"example\", new()\n    {\n        IotcentralApplicationId = exampleApplication.Id,\n        IpRules = new[]\n        {\n            new Azure.IotCentral.Inputs.ApplicationNetworkRuleSetIpRuleArgs\n            {\n                Name = \"rule1\",\n                IpMask = \"10.0.1.0/24\",\n            },\n            new Azure.IotCentral.Inputs.ApplicationNetworkRuleSetIpRuleArgs\n            {\n                Name = \"rule2\",\n                IpMask = \"10.1.1.0/24\",\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/iotcentral\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resource\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleApplication, err := iotcentral.NewApplication(ctx, \"example\", \u0026iotcentral.ApplicationArgs{\n\t\t\tName:              pulumi.String(\"example-iotcentral-app\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tSubDomain:         pulumi.String(\"example-iotcentral-app-subdomain\"),\n\t\t\tDisplayName:       pulumi.String(\"example-iotcentral-app-display-name\"),\n\t\t\tSku:               pulumi.String(\"ST1\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Foo\": pulumi.String(\"Bar\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iotcentral.NewApplicationNetworkRuleSet(ctx, \"example\", \u0026iotcentral.ApplicationNetworkRuleSetArgs{\n\t\t\tIotcentralApplicationId: exampleApplication.ID(),\n\t\t\tIpRules: iotcentral.ApplicationNetworkRuleSetIpRuleArray{\n\t\t\t\t\u0026iotcentral.ApplicationNetworkRuleSetIpRuleArgs{\n\t\t\t\t\tName:   pulumi.String(\"rule1\"),\n\t\t\t\t\tIpMask: pulumi.String(\"10.0.1.0/24\"),\n\t\t\t\t},\n\t\t\t\t\u0026iotcentral.ApplicationNetworkRuleSetIpRuleArgs{\n\t\t\t\t\tName:   pulumi.String(\"rule2\"),\n\t\t\t\t\tIpMask: pulumi.String(\"10.1.1.0/24\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.iotcentral.Application;\nimport com.pulumi.azure.iotcentral.ApplicationArgs;\nimport com.pulumi.azure.iotcentral.ApplicationNetworkRuleSet;\nimport com.pulumi.azure.iotcentral.ApplicationNetworkRuleSetArgs;\nimport com.pulumi.azure.iotcentral.inputs.ApplicationNetworkRuleSetIpRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resource\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleApplication = new Application(\"exampleApplication\", ApplicationArgs.builder()\n            .name(\"example-iotcentral-app\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .subDomain(\"example-iotcentral-app-subdomain\")\n            .displayName(\"example-iotcentral-app-display-name\")\n            .sku(\"ST1\")\n            .tags(Map.of(\"Foo\", \"Bar\"))\n            .build());\n\n        var exampleApplicationNetworkRuleSet = new ApplicationNetworkRuleSet(\"exampleApplicationNetworkRuleSet\", ApplicationNetworkRuleSetArgs.builder()\n            .iotcentralApplicationId(exampleApplication.id())\n            .ipRules(            \n                ApplicationNetworkRuleSetIpRuleArgs.builder()\n                    .name(\"rule1\")\n                    .ipMask(\"10.0.1.0/24\")\n                    .build(),\n                ApplicationNetworkRuleSetIpRuleArgs.builder()\n                    .name(\"rule2\")\n                    .ipMask(\"10.1.1.0/24\")\n                    .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resource\n      location: West Europe\n  exampleApplication:\n    type: azure:iotcentral:Application\n    name: example\n    properties:\n      name: example-iotcentral-app\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      subDomain: example-iotcentral-app-subdomain\n      displayName: example-iotcentral-app-display-name\n      sku: ST1\n      tags:\n        Foo: Bar\n  exampleApplicationNetworkRuleSet:\n    type: azure:iotcentral:ApplicationNetworkRuleSet\n    name: example\n    properties:\n      iotcentralApplicationId: ${exampleApplication.id}\n      ipRules:\n        - name: rule1\n          ipMask: 10.0.1.0/24\n        - name: rule2\n          ipMask: 10.1.1.0/24\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.IoTCentral` - 2021-11-01-preview\n\n## Import\n\nIoT Central Application Network Rule Sets can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:iotcentral/applicationNetworkRuleSet:ApplicationNetworkRuleSet example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.IoTCentral/iotApps/app1\n```\n\n","properties":{"applyToDevice":{"type":"boolean","description":"Whether these IP Rules apply for device connectivity to IoT Hub and Device Provisioning Service associated with this IoT Central Application. Possible values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e\n"},"defaultAction":{"type":"string","description":"Specifies the default action for the IoT Central Application Network Rule Set. Possible values are `Allow` and `Deny`. Defaults to `Deny`.\n"},"iotcentralApplicationId":{"type":"string","description":"The ID of the IoT Central Application. Changing this forces a new resource to be created.\n"},"ipRules":{"type":"array","items":{"$ref":"#/types/azure:iotcentral/ApplicationNetworkRuleSetIpRule:ApplicationNetworkRuleSetIpRule"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`ipRule`\" pulumi-lang-dotnet=\"`IpRule`\" pulumi-lang-go=\"`ipRule`\" pulumi-lang-python=\"`ip_rule`\" pulumi-lang-yaml=\"`ipRule`\" pulumi-lang-java=\"`ipRule`\"\u003e`ip_rule`\u003c/span\u003e blocks as defined below.\n"}},"required":["iotcentralApplicationId"],"inputProperties":{"applyToDevice":{"type":"boolean","description":"Whether these IP Rules apply for device connectivity to IoT Hub and Device Provisioning Service associated with this IoT Central Application. Possible values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e\n"},"defaultAction":{"type":"string","description":"Specifies the default action for the IoT Central Application Network Rule Set. Possible values are `Allow` and `Deny`. Defaults to `Deny`.\n"},"iotcentralApplicationId":{"type":"string","description":"The ID of the IoT Central Application. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"ipRules":{"type":"array","items":{"$ref":"#/types/azure:iotcentral/ApplicationNetworkRuleSetIpRule:ApplicationNetworkRuleSetIpRule"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`ipRule`\" pulumi-lang-dotnet=\"`IpRule`\" pulumi-lang-go=\"`ipRule`\" pulumi-lang-python=\"`ip_rule`\" pulumi-lang-yaml=\"`ipRule`\" pulumi-lang-java=\"`ipRule`\"\u003e`ip_rule`\u003c/span\u003e blocks as defined below.\n"}},"requiredInputs":["iotcentralApplicationId"],"stateInputs":{"description":"Input properties used for looking up and filtering ApplicationNetworkRuleSet resources.\n","properties":{"applyToDevice":{"type":"boolean","description":"Whether these IP Rules apply for device connectivity to IoT Hub and Device Provisioning Service associated with this IoT Central Application. Possible values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e\n"},"defaultAction":{"type":"string","description":"Specifies the default action for the IoT Central Application Network Rule Set. Possible values are `Allow` and `Deny`. Defaults to `Deny`.\n"},"iotcentralApplicationId":{"type":"string","description":"The ID of the IoT Central Application. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"ipRules":{"type":"array","items":{"$ref":"#/types/azure:iotcentral/ApplicationNetworkRuleSetIpRule:ApplicationNetworkRuleSetIpRule"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`ipRule`\" pulumi-lang-dotnet=\"`IpRule`\" pulumi-lang-go=\"`ipRule`\" pulumi-lang-python=\"`ip_rule`\" pulumi-lang-yaml=\"`ipRule`\" pulumi-lang-java=\"`ipRule`\"\u003e`ip_rule`\u003c/span\u003e blocks as defined below.\n"}},"type":"object"}},"azure:iotcentral/organization:Organization":{"description":"Manages an IoT Central Organization\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resource\",\n    location: \"West Europe\",\n});\nconst exampleApplication = new azure.iotcentral.Application(\"example\", {\n    name: \"example-iotcentral-app\",\n    resourceGroupName: example.name,\n    location: example.location,\n    subDomain: \"example-iotcentral-app-subdomain\",\n    displayName: \"example-iotcentral-app-display-name\",\n    sku: \"ST1\",\n    template: \"iotc-default@1.0.0\",\n    tags: {\n        Foo: \"Bar\",\n    },\n});\nconst exampleParent = new azure.iotcentral.Organization(\"example_parent\", {\n    iotcentralApplicationId: exampleApplication.id,\n    organizationId: \"example-parent-organization-id\",\n    displayName: \"Org example parent\",\n});\nconst exampleOrganization = new azure.iotcentral.Organization(\"example\", {\n    iotcentralApplicationId: exampleApplication.id,\n    organizationId: \"example-child-organization-id\",\n    displayName: \"Org example\",\n    parentOrganizationId: exampleParent.organizationId,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resource\",\n    location=\"West Europe\")\nexample_application = azure.iotcentral.Application(\"example\",\n    name=\"example-iotcentral-app\",\n    resource_group_name=example.name,\n    location=example.location,\n    sub_domain=\"example-iotcentral-app-subdomain\",\n    display_name=\"example-iotcentral-app-display-name\",\n    sku=\"ST1\",\n    template=\"iotc-default@1.0.0\",\n    tags={\n        \"Foo\": \"Bar\",\n    })\nexample_parent = azure.iotcentral.Organization(\"example_parent\",\n    iotcentral_application_id=example_application.id,\n    organization_id=\"example-parent-organization-id\",\n    display_name=\"Org example parent\")\nexample_organization = azure.iotcentral.Organization(\"example\",\n    iotcentral_application_id=example_application.id,\n    organization_id=\"example-child-organization-id\",\n    display_name=\"Org example\",\n    parent_organization_id=example_parent.organization_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resource\",\n        Location = \"West Europe\",\n    });\n\n    var exampleApplication = new Azure.IotCentral.Application(\"example\", new()\n    {\n        Name = \"example-iotcentral-app\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        SubDomain = \"example-iotcentral-app-subdomain\",\n        DisplayName = \"example-iotcentral-app-display-name\",\n        Sku = \"ST1\",\n        Template = \"iotc-default@1.0.0\",\n        Tags = \n        {\n            { \"Foo\", \"Bar\" },\n        },\n    });\n\n    var exampleParent = new Azure.IotCentral.Organization(\"example_parent\", new()\n    {\n        IotcentralApplicationId = exampleApplication.Id,\n        OrganizationId = \"example-parent-organization-id\",\n        DisplayName = \"Org example parent\",\n    });\n\n    var exampleOrganization = new Azure.IotCentral.Organization(\"example\", new()\n    {\n        IotcentralApplicationId = exampleApplication.Id,\n        OrganizationId = \"example-child-organization-id\",\n        DisplayName = \"Org example\",\n        ParentOrganizationId = exampleParent.OrganizationId,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/iotcentral\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resource\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleApplication, err := iotcentral.NewApplication(ctx, \"example\", \u0026iotcentral.ApplicationArgs{\n\t\t\tName:              pulumi.String(\"example-iotcentral-app\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tSubDomain:         pulumi.String(\"example-iotcentral-app-subdomain\"),\n\t\t\tDisplayName:       pulumi.String(\"example-iotcentral-app-display-name\"),\n\t\t\tSku:               pulumi.String(\"ST1\"),\n\t\t\tTemplate:          pulumi.String(\"iotc-default@1.0.0\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Foo\": pulumi.String(\"Bar\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleParent, err := iotcentral.NewOrganization(ctx, \"example_parent\", \u0026iotcentral.OrganizationArgs{\n\t\t\tIotcentralApplicationId: exampleApplication.ID(),\n\t\t\tOrganizationId:          pulumi.String(\"example-parent-organization-id\"),\n\t\t\tDisplayName:             pulumi.String(\"Org example parent\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iotcentral.NewOrganization(ctx, \"example\", \u0026iotcentral.OrganizationArgs{\n\t\t\tIotcentralApplicationId: exampleApplication.ID(),\n\t\t\tOrganizationId:          pulumi.String(\"example-child-organization-id\"),\n\t\t\tDisplayName:             pulumi.String(\"Org example\"),\n\t\t\tParentOrganizationId:    exampleParent.OrganizationId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.iotcentral.Application;\nimport com.pulumi.azure.iotcentral.ApplicationArgs;\nimport com.pulumi.azure.iotcentral.Organization;\nimport com.pulumi.azure.iotcentral.OrganizationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resource\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleApplication = new Application(\"exampleApplication\", ApplicationArgs.builder()\n            .name(\"example-iotcentral-app\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .subDomain(\"example-iotcentral-app-subdomain\")\n            .displayName(\"example-iotcentral-app-display-name\")\n            .sku(\"ST1\")\n            .template(\"iotc-default@1.0.0\")\n            .tags(Map.of(\"Foo\", \"Bar\"))\n            .build());\n\n        var exampleParent = new Organization(\"exampleParent\", OrganizationArgs.builder()\n            .iotcentralApplicationId(exampleApplication.id())\n            .organizationId(\"example-parent-organization-id\")\n            .displayName(\"Org example parent\")\n            .build());\n\n        var exampleOrganization = new Organization(\"exampleOrganization\", OrganizationArgs.builder()\n            .iotcentralApplicationId(exampleApplication.id())\n            .organizationId(\"example-child-organization-id\")\n            .displayName(\"Org example\")\n            .parentOrganizationId(exampleParent.organizationId())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resource\n      location: West Europe\n  exampleApplication:\n    type: azure:iotcentral:Application\n    name: example\n    properties:\n      name: example-iotcentral-app\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      subDomain: example-iotcentral-app-subdomain\n      displayName: example-iotcentral-app-display-name\n      sku: ST1\n      template: iotc-default@1.0.0\n      tags:\n        Foo: Bar\n  exampleParent:\n    type: azure:iotcentral:Organization\n    name: example_parent\n    properties:\n      iotcentralApplicationId: ${exampleApplication.id}\n      organizationId: example-parent-organization-id\n      displayName: Org example parent\n  exampleOrganization:\n    type: azure:iotcentral:Organization\n    name: example\n    properties:\n      iotcentralApplicationId: ${exampleApplication.id}\n      organizationId: example-child-organization-id\n      displayName: Org example\n      parentOrganizationId: ${exampleParent.organizationId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe IoT Central Organization can be imported using the \u003cspan pulumi-lang-nodejs=\"`id`\" pulumi-lang-dotnet=\"`Id`\" pulumi-lang-go=\"`id`\" pulumi-lang-python=\"`id`\" pulumi-lang-yaml=\"`id`\" pulumi-lang-java=\"`id`\"\u003e`id`\u003c/span\u003e, e.g.\n\n```sh\n$ pulumi import azure:iotcentral/organization:Organization example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.IoTCentral/iotApps/example/organizations/example\n```\n\n","properties":{"displayName":{"type":"string","description":"Custom \u003cspan pulumi-lang-nodejs=\"`displayName`\" pulumi-lang-dotnet=\"`DisplayName`\" pulumi-lang-go=\"`displayName`\" pulumi-lang-python=\"`display_name`\" pulumi-lang-yaml=\"`displayName`\" pulumi-lang-java=\"`displayName`\"\u003e`display_name`\u003c/span\u003e for the organization.\n"},"iotcentralApplicationId":{"type":"string","description":"The application \u003cspan pulumi-lang-nodejs=\"`id`\" pulumi-lang-dotnet=\"`Id`\" pulumi-lang-go=\"`id`\" pulumi-lang-python=\"`id`\" pulumi-lang-yaml=\"`id`\" pulumi-lang-java=\"`id`\"\u003e`id`\u003c/span\u003e. Changing this forces a new resource to be created.\n"},"organizationId":{"type":"string","description":"The ID of the organization. Changing this forces a new resource to be created.\n"},"parentOrganizationId":{"type":"string","description":"The \u003cspan pulumi-lang-nodejs=\"`organizationId`\" pulumi-lang-dotnet=\"`OrganizationId`\" pulumi-lang-go=\"`organizationId`\" pulumi-lang-python=\"`organization_id`\" pulumi-lang-yaml=\"`organizationId`\" pulumi-lang-java=\"`organizationId`\"\u003e`organization_id`\u003c/span\u003e of the parent organization. Changing this forces a new resource to be created.\n"}},"required":["displayName","iotcentralApplicationId","organizationId"],"inputProperties":{"displayName":{"type":"string","description":"Custom \u003cspan pulumi-lang-nodejs=\"`displayName`\" pulumi-lang-dotnet=\"`DisplayName`\" pulumi-lang-go=\"`displayName`\" pulumi-lang-python=\"`display_name`\" pulumi-lang-yaml=\"`displayName`\" pulumi-lang-java=\"`displayName`\"\u003e`display_name`\u003c/span\u003e for the organization.\n"},"iotcentralApplicationId":{"type":"string","description":"The application \u003cspan pulumi-lang-nodejs=\"`id`\" pulumi-lang-dotnet=\"`Id`\" pulumi-lang-go=\"`id`\" pulumi-lang-python=\"`id`\" pulumi-lang-yaml=\"`id`\" pulumi-lang-java=\"`id`\"\u003e`id`\u003c/span\u003e. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"organizationId":{"type":"string","description":"The ID of the organization. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"parentOrganizationId":{"type":"string","description":"The \u003cspan pulumi-lang-nodejs=\"`organizationId`\" pulumi-lang-dotnet=\"`OrganizationId`\" pulumi-lang-go=\"`organizationId`\" pulumi-lang-python=\"`organization_id`\" pulumi-lang-yaml=\"`organizationId`\" pulumi-lang-java=\"`organizationId`\"\u003e`organization_id`\u003c/span\u003e of the parent organization. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["displayName","iotcentralApplicationId","organizationId"],"stateInputs":{"description":"Input properties used for looking up and filtering Organization resources.\n","properties":{"displayName":{"type":"string","description":"Custom \u003cspan pulumi-lang-nodejs=\"`displayName`\" pulumi-lang-dotnet=\"`DisplayName`\" pulumi-lang-go=\"`displayName`\" pulumi-lang-python=\"`display_name`\" pulumi-lang-yaml=\"`displayName`\" pulumi-lang-java=\"`displayName`\"\u003e`display_name`\u003c/span\u003e for the organization.\n"},"iotcentralApplicationId":{"type":"string","description":"The application \u003cspan pulumi-lang-nodejs=\"`id`\" pulumi-lang-dotnet=\"`Id`\" pulumi-lang-go=\"`id`\" pulumi-lang-python=\"`id`\" pulumi-lang-yaml=\"`id`\" pulumi-lang-java=\"`id`\"\u003e`id`\u003c/span\u003e. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"organizationId":{"type":"string","description":"The ID of the organization. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"parentOrganizationId":{"type":"string","description":"The \u003cspan pulumi-lang-nodejs=\"`organizationId`\" pulumi-lang-dotnet=\"`OrganizationId`\" pulumi-lang-go=\"`organizationId`\" pulumi-lang-python=\"`organization_id`\" pulumi-lang-yaml=\"`organizationId`\" pulumi-lang-java=\"`organizationId`\"\u003e`organization_id`\u003c/span\u003e of the parent organization. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:keyvault/accessPolicy:AccessPolicy":{"description":"Manages a Key Vault Access Policy.\n\n\u003e **NOTE:** It's possible to define Key Vault Access Policies both within the \u003cspan pulumi-lang-nodejs=\"`azure.keyvault.KeyVault`\" pulumi-lang-dotnet=\"`azure.keyvault.KeyVault`\" pulumi-lang-go=\"`keyvault.KeyVault`\" pulumi-lang-python=\"`keyvault.KeyVault`\" pulumi-lang-yaml=\"`azure.keyvault.KeyVault`\" pulumi-lang-java=\"`azure.keyvault.KeyVault`\"\u003e`azure.keyvault.KeyVault`\u003c/span\u003e resource via the \u003cspan pulumi-lang-nodejs=\"`accessPolicy`\" pulumi-lang-dotnet=\"`AccessPolicy`\" pulumi-lang-go=\"`accessPolicy`\" pulumi-lang-python=\"`access_policy`\" pulumi-lang-yaml=\"`accessPolicy`\" pulumi-lang-java=\"`accessPolicy`\"\u003e`access_policy`\u003c/span\u003e block and by using the \u003cspan pulumi-lang-nodejs=\"`azure.keyvault.AccessPolicy`\" pulumi-lang-dotnet=\"`azure.keyvault.AccessPolicy`\" pulumi-lang-go=\"`keyvault.AccessPolicy`\" pulumi-lang-python=\"`keyvault.AccessPolicy`\" pulumi-lang-yaml=\"`azure.keyvault.AccessPolicy`\" pulumi-lang-java=\"`azure.keyvault.AccessPolicy`\"\u003e`azure.keyvault.AccessPolicy`\u003c/span\u003e resource. However it's not possible to use both methods to manage Access Policies within a KeyVault, since there'll be conflicts.\n\n\u003e **NOTE:** Azure permits a maximum of 1024 Access Policies per Key Vault - [more information can be found in this document](https://docs.microsoft.com/azure/key-vault/key-vault-secure-your-key-vault#data-plane-access-control).\n\n## Import\n\nKey Vault Access Policies can be imported using the Resource ID of the Key Vault, plus some additional metadata.\n\nIf both an \u003cspan pulumi-lang-nodejs=\"`objectId`\" pulumi-lang-dotnet=\"`ObjectId`\" pulumi-lang-go=\"`objectId`\" pulumi-lang-python=\"`object_id`\" pulumi-lang-yaml=\"`objectId`\" pulumi-lang-java=\"`objectId`\"\u003e`object_id`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`applicationId`\" pulumi-lang-dotnet=\"`ApplicationId`\" pulumi-lang-go=\"`applicationId`\" pulumi-lang-python=\"`application_id`\" pulumi-lang-yaml=\"`applicationId`\" pulumi-lang-java=\"`applicationId`\"\u003e`application_id`\u003c/span\u003e are specified, then the Access Policy can be imported using the following code:\n\n```sh\n$ pulumi import azure:keyvault/accessPolicy:AccessPolicy example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.KeyVault/vaults/test-vault/objectId/11111111-1111-1111-1111-111111111111/applicationId/22222222-2222-2222-2222-222222222222\n```\n\nwhere `11111111-1111-1111-1111-111111111111` is the \u003cspan pulumi-lang-nodejs=\"`objectId`\" pulumi-lang-dotnet=\"`ObjectId`\" pulumi-lang-go=\"`objectId`\" pulumi-lang-python=\"`object_id`\" pulumi-lang-yaml=\"`objectId`\" pulumi-lang-java=\"`objectId`\"\u003e`object_id`\u003c/span\u003e and `22222222-2222-2222-2222-222222222222` is the \u003cspan pulumi-lang-nodejs=\"`applicationId`\" pulumi-lang-dotnet=\"`ApplicationId`\" pulumi-lang-go=\"`applicationId`\" pulumi-lang-python=\"`application_id`\" pulumi-lang-yaml=\"`applicationId`\" pulumi-lang-java=\"`applicationId`\"\u003e`application_id`\u003c/span\u003e.\n\n---\n\nAccess Policies with an \u003cspan pulumi-lang-nodejs=\"`objectId`\" pulumi-lang-dotnet=\"`ObjectId`\" pulumi-lang-go=\"`objectId`\" pulumi-lang-python=\"`object_id`\" pulumi-lang-yaml=\"`objectId`\" pulumi-lang-java=\"`objectId`\"\u003e`object_id`\u003c/span\u003e but no \u003cspan pulumi-lang-nodejs=\"`applicationId`\" pulumi-lang-dotnet=\"`ApplicationId`\" pulumi-lang-go=\"`applicationId`\" pulumi-lang-python=\"`application_id`\" pulumi-lang-yaml=\"`applicationId`\" pulumi-lang-java=\"`applicationId`\"\u003e`application_id`\u003c/span\u003e can be imported using the following command:\n\n```sh\n$ pulumi import azure:keyvault/accessPolicy:AccessPolicy example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.KeyVault/vaults/test-vault/objectId/11111111-1111-1111-1111-111111111111\n```\n\nwhere `11111111-1111-1111-1111-111111111111` is the \u003cspan pulumi-lang-nodejs=\"`objectId`\" pulumi-lang-dotnet=\"`ObjectId`\" pulumi-lang-go=\"`objectId`\" pulumi-lang-python=\"`object_id`\" pulumi-lang-yaml=\"`objectId`\" pulumi-lang-java=\"`objectId`\"\u003e`object_id`\u003c/span\u003e.\n\n\u003e **NOTE:** Both Identifiers are unique to this provider and don't map to an existing object within Azure.\n\n","properties":{"applicationId":{"type":"string","description":"The object ID of an Application in Azure Active Directory. Changing this forces a new resource to be created.\n"},"certificatePermissions":{"type":"array","items":{"type":"string"},"description":"List of certificate permissions, must be one or more from the following: `Backup`, `Create`, `Delete`, `DeleteIssuers`, `Get`, `GetIssuers`, `Import`, `List`, `ListIssuers`, `ManageContacts`, `ManageIssuers`, `Purge`, `Recover`, `Restore`, `SetIssuers` and `Update`.\n"},"keyPermissions":{"type":"array","items":{"type":"string"},"description":"List of key permissions, must be one or more from the following: `Backup`, `Create`, `Decrypt`, `Delete`, `Encrypt`, `Get`, `Import`, `List`, `Purge`, `Recover`, `Restore`, `Sign`, `UnwrapKey`, `Update`, `Verify`, `WrapKey`, `Release`, `Rotate`, `GetRotationPolicy` and `SetRotationPolicy`.\n"},"keyVaultId":{"type":"string","description":"Specifies the id of the Key Vault resource. Changing this forces a new resource to be created.\n"},"objectId":{"type":"string","description":"The object ID of a user, service principal or security group in the Azure Active Directory tenant for the vault. The object ID of a service principal can be fetched from `azuread_service_principal.object_id`. The object ID must be unique for the list of access policies. Changing this forces a new resource to be created.\n"},"secretPermissions":{"type":"array","items":{"type":"string"},"description":"List of secret permissions, must be one or more from the following: `Backup`, `Delete`, `Get`, `List`, `Purge`, `Recover`, `Restore` and `Set`.\n"},"storagePermissions":{"type":"array","items":{"type":"string"},"description":"List of storage permissions, must be one or more from the following: `Backup`, `Delete`, `DeleteSAS`, `Get`, `GetSAS`, `List`, `ListSAS`, `Purge`, `Recover`, `RegenerateKey`, `Restore`, `Set`, `SetSAS` and `Update`.\n"},"tenantId":{"type":"string","description":"The Azure Active Directory tenant ID that should be used for authenticating requests to the key vault. Changing this forces a new resource to be created.\n"}},"required":["keyVaultId","objectId","tenantId"],"inputProperties":{"applicationId":{"type":"string","description":"The object ID of an Application in Azure Active Directory. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"certificatePermissions":{"type":"array","items":{"type":"string"},"description":"List of certificate permissions, must be one or more from the following: `Backup`, `Create`, `Delete`, `DeleteIssuers`, `Get`, `GetIssuers`, `Import`, `List`, `ListIssuers`, `ManageContacts`, `ManageIssuers`, `Purge`, `Recover`, `Restore`, `SetIssuers` and `Update`.\n"},"keyPermissions":{"type":"array","items":{"type":"string"},"description":"List of key permissions, must be one or more from the following: `Backup`, `Create`, `Decrypt`, `Delete`, `Encrypt`, `Get`, `Import`, `List`, `Purge`, `Recover`, `Restore`, `Sign`, `UnwrapKey`, `Update`, `Verify`, `WrapKey`, `Release`, `Rotate`, `GetRotationPolicy` and `SetRotationPolicy`.\n"},"keyVaultId":{"type":"string","description":"Specifies the id of the Key Vault resource. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"objectId":{"type":"string","description":"The object ID of a user, service principal or security group in the Azure Active Directory tenant for the vault. The object ID of a service principal can be fetched from `azuread_service_principal.object_id`. The object ID must be unique for the list of access policies. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"secretPermissions":{"type":"array","items":{"type":"string"},"description":"List of secret permissions, must be one or more from the following: `Backup`, `Delete`, `Get`, `List`, `Purge`, `Recover`, `Restore` and `Set`.\n"},"storagePermissions":{"type":"array","items":{"type":"string"},"description":"List of storage permissions, must be one or more from the following: `Backup`, `Delete`, `DeleteSAS`, `Get`, `GetSAS`, `List`, `ListSAS`, `Purge`, `Recover`, `RegenerateKey`, `Restore`, `Set`, `SetSAS` and `Update`.\n"},"tenantId":{"type":"string","description":"The Azure Active Directory tenant ID that should be used for authenticating requests to the key vault. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["keyVaultId","objectId","tenantId"],"stateInputs":{"description":"Input properties used for looking up and filtering AccessPolicy resources.\n","properties":{"applicationId":{"type":"string","description":"The object ID of an Application in Azure Active Directory. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"certificatePermissions":{"type":"array","items":{"type":"string"},"description":"List of certificate permissions, must be one or more from the following: `Backup`, `Create`, `Delete`, `DeleteIssuers`, `Get`, `GetIssuers`, `Import`, `List`, `ListIssuers`, `ManageContacts`, `ManageIssuers`, `Purge`, `Recover`, `Restore`, `SetIssuers` and `Update`.\n"},"keyPermissions":{"type":"array","items":{"type":"string"},"description":"List of key permissions, must be one or more from the following: `Backup`, `Create`, `Decrypt`, `Delete`, `Encrypt`, `Get`, `Import`, `List`, `Purge`, `Recover`, `Restore`, `Sign`, `UnwrapKey`, `Update`, `Verify`, `WrapKey`, `Release`, `Rotate`, `GetRotationPolicy` and `SetRotationPolicy`.\n"},"keyVaultId":{"type":"string","description":"Specifies the id of the Key Vault resource. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"objectId":{"type":"string","description":"The object ID of a user, service principal or security group in the Azure Active Directory tenant for the vault. The object ID of a service principal can be fetched from `azuread_service_principal.object_id`. The object ID must be unique for the list of access policies. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"secretPermissions":{"type":"array","items":{"type":"string"},"description":"List of secret permissions, must be one or more from the following: `Backup`, `Delete`, `Get`, `List`, `Purge`, `Recover`, `Restore` and `Set`.\n"},"storagePermissions":{"type":"array","items":{"type":"string"},"description":"List of storage permissions, must be one or more from the following: `Backup`, `Delete`, `DeleteSAS`, `Get`, `GetSAS`, `List`, `ListSAS`, `Purge`, `Recover`, `RegenerateKey`, `Restore`, `Set`, `SetSAS` and `Update`.\n"},"tenantId":{"type":"string","description":"The Azure Active Directory tenant ID that should be used for authenticating requests to the key vault. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:keyvault/certifiate:Certifiate":{"description":"Manages a Key Vault Certificate.\n\n## Example Usage\n\n### Importing A PFX)\n\n\u003e **Note:** this example assumed the PFX file is located in the same directory at `certificate-to-import.pfx`.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\nimport * as std from \"@pulumi/std\";\n\nconst current = azure.core.getClientConfig({});\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleKeyVault = new azure.keyvault.KeyVault(\"example\", {\n    name: \"examplekeyvault\",\n    location: example.location,\n    resourceGroupName: example.name,\n    tenantId: current.then(current =\u003e current.tenantId),\n    skuName: \"premium\",\n    accessPolicies: [{\n        tenantId: current.then(current =\u003e current.tenantId),\n        objectId: current.then(current =\u003e current.objectId),\n        certificatePermissions: [\n            \"Create\",\n            \"Delete\",\n            \"DeleteIssuers\",\n            \"Get\",\n            \"GetIssuers\",\n            \"Import\",\n            \"List\",\n            \"ListIssuers\",\n            \"ManageContacts\",\n            \"ManageIssuers\",\n            \"SetIssuers\",\n            \"Update\",\n        ],\n        keyPermissions: [\n            \"Backup\",\n            \"Create\",\n            \"Decrypt\",\n            \"Delete\",\n            \"Encrypt\",\n            \"Get\",\n            \"Import\",\n            \"List\",\n            \"Purge\",\n            \"Recover\",\n            \"Restore\",\n            \"Sign\",\n            \"UnwrapKey\",\n            \"Update\",\n            \"Verify\",\n            \"WrapKey\",\n        ],\n        secretPermissions: [\n            \"Backup\",\n            \"Delete\",\n            \"Get\",\n            \"List\",\n            \"Purge\",\n            \"Recover\",\n            \"Restore\",\n            \"Set\",\n        ],\n    }],\n});\nconst exampleCertificate = new azure.keyvault.Certificate(\"example\", {\n    name: \"imported-cert\",\n    keyVaultId: exampleKeyVault.id,\n    certificate: {\n        contents: std.filebase64({\n            input: \"certificate-to-import.pfx\",\n        }).then(invoke =\u003e invoke.result),\n        password: \"\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\nimport pulumi_std as std\n\ncurrent = azure.core.get_client_config()\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_key_vault = azure.keyvault.KeyVault(\"example\",\n    name=\"examplekeyvault\",\n    location=example.location,\n    resource_group_name=example.name,\n    tenant_id=current.tenant_id,\n    sku_name=\"premium\",\n    access_policies=[{\n        \"tenant_id\": current.tenant_id,\n        \"object_id\": current.object_id,\n        \"certificate_permissions\": [\n            \"Create\",\n            \"Delete\",\n            \"DeleteIssuers\",\n            \"Get\",\n            \"GetIssuers\",\n            \"Import\",\n            \"List\",\n            \"ListIssuers\",\n            \"ManageContacts\",\n            \"ManageIssuers\",\n            \"SetIssuers\",\n            \"Update\",\n        ],\n        \"key_permissions\": [\n            \"Backup\",\n            \"Create\",\n            \"Decrypt\",\n            \"Delete\",\n            \"Encrypt\",\n            \"Get\",\n            \"Import\",\n            \"List\",\n            \"Purge\",\n            \"Recover\",\n            \"Restore\",\n            \"Sign\",\n            \"UnwrapKey\",\n            \"Update\",\n            \"Verify\",\n            \"WrapKey\",\n        ],\n        \"secret_permissions\": [\n            \"Backup\",\n            \"Delete\",\n            \"Get\",\n            \"List\",\n            \"Purge\",\n            \"Recover\",\n            \"Restore\",\n            \"Set\",\n        ],\n    }])\nexample_certificate = azure.keyvault.Certificate(\"example\",\n    name=\"imported-cert\",\n    key_vault_id=example_key_vault.id,\n    certificate={\n        \"contents\": std.filebase64(input=\"certificate-to-import.pfx\").result,\n        \"password\": \"\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var current = Azure.Core.GetClientConfig.Invoke();\n\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleKeyVault = new Azure.KeyVault.KeyVault(\"example\", new()\n    {\n        Name = \"examplekeyvault\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        TenantId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.TenantId),\n        SkuName = \"premium\",\n        AccessPolicies = new[]\n        {\n            new Azure.KeyVault.Inputs.KeyVaultAccessPolicyArgs\n            {\n                TenantId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.TenantId),\n                ObjectId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.ObjectId),\n                CertificatePermissions = new[]\n                {\n                    \"Create\",\n                    \"Delete\",\n                    \"DeleteIssuers\",\n                    \"Get\",\n                    \"GetIssuers\",\n                    \"Import\",\n                    \"List\",\n                    \"ListIssuers\",\n                    \"ManageContacts\",\n                    \"ManageIssuers\",\n                    \"SetIssuers\",\n                    \"Update\",\n                },\n                KeyPermissions = new[]\n                {\n                    \"Backup\",\n                    \"Create\",\n                    \"Decrypt\",\n                    \"Delete\",\n                    \"Encrypt\",\n                    \"Get\",\n                    \"Import\",\n                    \"List\",\n                    \"Purge\",\n                    \"Recover\",\n                    \"Restore\",\n                    \"Sign\",\n                    \"UnwrapKey\",\n                    \"Update\",\n                    \"Verify\",\n                    \"WrapKey\",\n                },\n                SecretPermissions = new[]\n                {\n                    \"Backup\",\n                    \"Delete\",\n                    \"Get\",\n                    \"List\",\n                    \"Purge\",\n                    \"Recover\",\n                    \"Restore\",\n                    \"Set\",\n                },\n            },\n        },\n    });\n\n    var exampleCertificate = new Azure.KeyVault.Certificate(\"example\", new()\n    {\n        Name = \"imported-cert\",\n        KeyVaultId = exampleKeyVault.Id,\n        KeyVaultCertificate = new Azure.KeyVault.Inputs.CertificateCertificateArgs\n        {\n            Contents = Std.Filebase64.Invoke(new()\n            {\n                Input = \"certificate-to-import.pfx\",\n            }).Apply(invoke =\u003e invoke.Result),\n            Password = \"\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/keyvault\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := core.GetClientConfig(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleKeyVault, err := keyvault.NewKeyVault(ctx, \"example\", \u0026keyvault.KeyVaultArgs{\n\t\t\tName:              pulumi.String(\"examplekeyvault\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tTenantId:          pulumi.String(current.TenantId),\n\t\t\tSkuName:           pulumi.String(\"premium\"),\n\t\t\tAccessPolicies: keyvault.KeyVaultAccessPolicyArray{\n\t\t\t\t\u0026keyvault.KeyVaultAccessPolicyArgs{\n\t\t\t\t\tTenantId: pulumi.String(current.TenantId),\n\t\t\t\t\tObjectId: pulumi.String(current.ObjectId),\n\t\t\t\t\tCertificatePermissions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"Create\"),\n\t\t\t\t\t\tpulumi.String(\"Delete\"),\n\t\t\t\t\t\tpulumi.String(\"DeleteIssuers\"),\n\t\t\t\t\t\tpulumi.String(\"Get\"),\n\t\t\t\t\t\tpulumi.String(\"GetIssuers\"),\n\t\t\t\t\t\tpulumi.String(\"Import\"),\n\t\t\t\t\t\tpulumi.String(\"List\"),\n\t\t\t\t\t\tpulumi.String(\"ListIssuers\"),\n\t\t\t\t\t\tpulumi.String(\"ManageContacts\"),\n\t\t\t\t\t\tpulumi.String(\"ManageIssuers\"),\n\t\t\t\t\t\tpulumi.String(\"SetIssuers\"),\n\t\t\t\t\t\tpulumi.String(\"Update\"),\n\t\t\t\t\t},\n\t\t\t\t\tKeyPermissions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"Backup\"),\n\t\t\t\t\t\tpulumi.String(\"Create\"),\n\t\t\t\t\t\tpulumi.String(\"Decrypt\"),\n\t\t\t\t\t\tpulumi.String(\"Delete\"),\n\t\t\t\t\t\tpulumi.String(\"Encrypt\"),\n\t\t\t\t\t\tpulumi.String(\"Get\"),\n\t\t\t\t\t\tpulumi.String(\"Import\"),\n\t\t\t\t\t\tpulumi.String(\"List\"),\n\t\t\t\t\t\tpulumi.String(\"Purge\"),\n\t\t\t\t\t\tpulumi.String(\"Recover\"),\n\t\t\t\t\t\tpulumi.String(\"Restore\"),\n\t\t\t\t\t\tpulumi.String(\"Sign\"),\n\t\t\t\t\t\tpulumi.String(\"UnwrapKey\"),\n\t\t\t\t\t\tpulumi.String(\"Update\"),\n\t\t\t\t\t\tpulumi.String(\"Verify\"),\n\t\t\t\t\t\tpulumi.String(\"WrapKey\"),\n\t\t\t\t\t},\n\t\t\t\t\tSecretPermissions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"Backup\"),\n\t\t\t\t\t\tpulumi.String(\"Delete\"),\n\t\t\t\t\t\tpulumi.String(\"Get\"),\n\t\t\t\t\t\tpulumi.String(\"List\"),\n\t\t\t\t\t\tpulumi.String(\"Purge\"),\n\t\t\t\t\t\tpulumi.String(\"Recover\"),\n\t\t\t\t\t\tpulumi.String(\"Restore\"),\n\t\t\t\t\t\tpulumi.String(\"Set\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFilebase64, err := std.Filebase64(ctx, \u0026std.Filebase64Args{\n\t\t\tInput: \"certificate-to-import.pfx\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = keyvault.NewCertificate(ctx, \"example\", \u0026keyvault.CertificateArgs{\n\t\t\tName:       pulumi.String(\"imported-cert\"),\n\t\t\tKeyVaultId: exampleKeyVault.ID(),\n\t\t\tCertificate: \u0026keyvault.CertificateCertificateArgs{\n\t\t\t\tContents: pulumi.String(invokeFilebase64.Result),\n\t\t\t\tPassword: pulumi.String(\"\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.keyvault.KeyVault;\nimport com.pulumi.azure.keyvault.KeyVaultArgs;\nimport com.pulumi.azure.keyvault.inputs.KeyVaultAccessPolicyArgs;\nimport com.pulumi.azure.keyvault.Certificate;\nimport com.pulumi.azure.keyvault.CertificateArgs;\nimport com.pulumi.azure.keyvault.inputs.CertificateCertificateArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.Filebase64Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var current = CoreFunctions.getClientConfig(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleKeyVault = new KeyVault(\"exampleKeyVault\", KeyVaultArgs.builder()\n            .name(\"examplekeyvault\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .tenantId(current.tenantId())\n            .skuName(\"premium\")\n            .accessPolicies(KeyVaultAccessPolicyArgs.builder()\n                .tenantId(current.tenantId())\n                .objectId(current.objectId())\n                .certificatePermissions(                \n                    \"Create\",\n                    \"Delete\",\n                    \"DeleteIssuers\",\n                    \"Get\",\n                    \"GetIssuers\",\n                    \"Import\",\n                    \"List\",\n                    \"ListIssuers\",\n                    \"ManageContacts\",\n                    \"ManageIssuers\",\n                    \"SetIssuers\",\n                    \"Update\")\n                .keyPermissions(                \n                    \"Backup\",\n                    \"Create\",\n                    \"Decrypt\",\n                    \"Delete\",\n                    \"Encrypt\",\n                    \"Get\",\n                    \"Import\",\n                    \"List\",\n                    \"Purge\",\n                    \"Recover\",\n                    \"Restore\",\n                    \"Sign\",\n                    \"UnwrapKey\",\n                    \"Update\",\n                    \"Verify\",\n                    \"WrapKey\")\n                .secretPermissions(                \n                    \"Backup\",\n                    \"Delete\",\n                    \"Get\",\n                    \"List\",\n                    \"Purge\",\n                    \"Recover\",\n                    \"Restore\",\n                    \"Set\")\n                .build())\n            .build());\n\n        var exampleCertificate = new Certificate(\"exampleCertificate\", CertificateArgs.builder()\n            .name(\"imported-cert\")\n            .keyVaultId(exampleKeyVault.id())\n            .certificate(CertificateCertificateArgs.builder()\n                .contents(StdFunctions.filebase64(Filebase64Args.builder()\n                    .input(\"certificate-to-import.pfx\")\n                    .build()).result())\n                .password(\"\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleKeyVault:\n    type: azure:keyvault:KeyVault\n    name: example\n    properties:\n      name: examplekeyvault\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      tenantId: ${current.tenantId}\n      skuName: premium\n      accessPolicies:\n        - tenantId: ${current.tenantId}\n          objectId: ${current.objectId}\n          certificatePermissions:\n            - Create\n            - Delete\n            - DeleteIssuers\n            - Get\n            - GetIssuers\n            - Import\n            - List\n            - ListIssuers\n            - ManageContacts\n            - ManageIssuers\n            - SetIssuers\n            - Update\n          keyPermissions:\n            - Backup\n            - Create\n            - Decrypt\n            - Delete\n            - Encrypt\n            - Get\n            - Import\n            - List\n            - Purge\n            - Recover\n            - Restore\n            - Sign\n            - UnwrapKey\n            - Update\n            - Verify\n            - WrapKey\n          secretPermissions:\n            - Backup\n            - Delete\n            - Get\n            - List\n            - Purge\n            - Recover\n            - Restore\n            - Set\n  exampleCertificate:\n    type: azure:keyvault:Certificate\n    name: example\n    properties:\n      name: imported-cert\n      keyVaultId: ${exampleKeyVault.id}\n      certificate:\n        contents:\n          fn::invoke:\n            function: std:filebase64\n            arguments:\n              input: certificate-to-import.pfx\n            return: result\n        password: \"\"\nvariables:\n  current:\n    fn::invoke:\n      function: azure:core:getClientConfig\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Generating a new certificate\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst current = azure.core.getClientConfig({});\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleKeyVault = new azure.keyvault.KeyVault(\"example\", {\n    name: \"examplekeyvault\",\n    location: example.location,\n    resourceGroupName: example.name,\n    tenantId: current.then(current =\u003e current.tenantId),\n    skuName: \"standard\",\n    softDeleteRetentionDays: 7,\n    accessPolicies: [{\n        tenantId: current.then(current =\u003e current.tenantId),\n        objectId: current.then(current =\u003e current.objectId),\n        certificatePermissions: [\n            \"Create\",\n            \"Delete\",\n            \"DeleteIssuers\",\n            \"Get\",\n            \"GetIssuers\",\n            \"Import\",\n            \"List\",\n            \"ListIssuers\",\n            \"ManageContacts\",\n            \"ManageIssuers\",\n            \"Purge\",\n            \"SetIssuers\",\n            \"Update\",\n        ],\n        keyPermissions: [\n            \"Backup\",\n            \"Create\",\n            \"Decrypt\",\n            \"Delete\",\n            \"Encrypt\",\n            \"Get\",\n            \"Import\",\n            \"List\",\n            \"Purge\",\n            \"Recover\",\n            \"Restore\",\n            \"Sign\",\n            \"UnwrapKey\",\n            \"Update\",\n            \"Verify\",\n            \"WrapKey\",\n        ],\n        secretPermissions: [\n            \"Backup\",\n            \"Delete\",\n            \"Get\",\n            \"List\",\n            \"Purge\",\n            \"Recover\",\n            \"Restore\",\n            \"Set\",\n        ],\n    }],\n});\nconst exampleCertificate = new azure.keyvault.Certificate(\"example\", {\n    name: \"generated-cert\",\n    keyVaultId: exampleKeyVault.id,\n    certificatePolicy: {\n        issuerParameters: {\n            name: \"Self\",\n        },\n        keyProperties: {\n            exportable: true,\n            keySize: 2048,\n            keyType: \"RSA\",\n            reuseKey: true,\n        },\n        lifetimeActions: [{\n            action: {\n                actionType: \"AutoRenew\",\n            },\n            trigger: {\n                daysBeforeExpiry: 30,\n            },\n        }],\n        secretProperties: {\n            contentType: \"application/x-pkcs12\",\n        },\n        x509CertificateProperties: {\n            extendedKeyUsages: [\"1.3.6.1.5.5.7.3.1\"],\n            keyUsages: [\n                \"cRLSign\",\n                \"dataEncipherment\",\n                \"digitalSignature\",\n                \"keyAgreement\",\n                \"keyCertSign\",\n                \"keyEncipherment\",\n            ],\n            subjectAlternativeNames: {\n                dnsNames: [\n                    \"internal.contoso.com\",\n                    \"domain.hello.world\",\n                ],\n            },\n            subject: \"CN=hello-world\",\n            validityInMonths: 12,\n        },\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\ncurrent = azure.core.get_client_config()\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_key_vault = azure.keyvault.KeyVault(\"example\",\n    name=\"examplekeyvault\",\n    location=example.location,\n    resource_group_name=example.name,\n    tenant_id=current.tenant_id,\n    sku_name=\"standard\",\n    soft_delete_retention_days=7,\n    access_policies=[{\n        \"tenant_id\": current.tenant_id,\n        \"object_id\": current.object_id,\n        \"certificate_permissions\": [\n            \"Create\",\n            \"Delete\",\n            \"DeleteIssuers\",\n            \"Get\",\n            \"GetIssuers\",\n            \"Import\",\n            \"List\",\n            \"ListIssuers\",\n            \"ManageContacts\",\n            \"ManageIssuers\",\n            \"Purge\",\n            \"SetIssuers\",\n            \"Update\",\n        ],\n        \"key_permissions\": [\n            \"Backup\",\n            \"Create\",\n            \"Decrypt\",\n            \"Delete\",\n            \"Encrypt\",\n            \"Get\",\n            \"Import\",\n            \"List\",\n            \"Purge\",\n            \"Recover\",\n            \"Restore\",\n            \"Sign\",\n            \"UnwrapKey\",\n            \"Update\",\n            \"Verify\",\n            \"WrapKey\",\n        ],\n        \"secret_permissions\": [\n            \"Backup\",\n            \"Delete\",\n            \"Get\",\n            \"List\",\n            \"Purge\",\n            \"Recover\",\n            \"Restore\",\n            \"Set\",\n        ],\n    }])\nexample_certificate = azure.keyvault.Certificate(\"example\",\n    name=\"generated-cert\",\n    key_vault_id=example_key_vault.id,\n    certificate_policy={\n        \"issuer_parameters\": {\n            \"name\": \"Self\",\n        },\n        \"key_properties\": {\n            \"exportable\": True,\n            \"key_size\": 2048,\n            \"key_type\": \"RSA\",\n            \"reuse_key\": True,\n        },\n        \"lifetime_actions\": [{\n            \"action\": {\n                \"action_type\": \"AutoRenew\",\n            },\n            \"trigger\": {\n                \"days_before_expiry\": 30,\n            },\n        }],\n        \"secret_properties\": {\n            \"content_type\": \"application/x-pkcs12\",\n        },\n        \"x509_certificate_properties\": {\n            \"extended_key_usages\": [\"1.3.6.1.5.5.7.3.1\"],\n            \"key_usages\": [\n                \"cRLSign\",\n                \"dataEncipherment\",\n                \"digitalSignature\",\n                \"keyAgreement\",\n                \"keyCertSign\",\n                \"keyEncipherment\",\n            ],\n            \"subject_alternative_names\": {\n                \"dns_names\": [\n                    \"internal.contoso.com\",\n                    \"domain.hello.world\",\n                ],\n            },\n            \"subject\": \"CN=hello-world\",\n            \"validity_in_months\": 12,\n        },\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var current = Azure.Core.GetClientConfig.Invoke();\n\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleKeyVault = new Azure.KeyVault.KeyVault(\"example\", new()\n    {\n        Name = \"examplekeyvault\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        TenantId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.TenantId),\n        SkuName = \"standard\",\n        SoftDeleteRetentionDays = 7,\n        AccessPolicies = new[]\n        {\n            new Azure.KeyVault.Inputs.KeyVaultAccessPolicyArgs\n            {\n                TenantId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.TenantId),\n                ObjectId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.ObjectId),\n                CertificatePermissions = new[]\n                {\n                    \"Create\",\n                    \"Delete\",\n                    \"DeleteIssuers\",\n                    \"Get\",\n                    \"GetIssuers\",\n                    \"Import\",\n                    \"List\",\n                    \"ListIssuers\",\n                    \"ManageContacts\",\n                    \"ManageIssuers\",\n                    \"Purge\",\n                    \"SetIssuers\",\n                    \"Update\",\n                },\n                KeyPermissions = new[]\n                {\n                    \"Backup\",\n                    \"Create\",\n                    \"Decrypt\",\n                    \"Delete\",\n                    \"Encrypt\",\n                    \"Get\",\n                    \"Import\",\n                    \"List\",\n                    \"Purge\",\n                    \"Recover\",\n                    \"Restore\",\n                    \"Sign\",\n                    \"UnwrapKey\",\n                    \"Update\",\n                    \"Verify\",\n                    \"WrapKey\",\n                },\n                SecretPermissions = new[]\n                {\n                    \"Backup\",\n                    \"Delete\",\n                    \"Get\",\n                    \"List\",\n                    \"Purge\",\n                    \"Recover\",\n                    \"Restore\",\n                    \"Set\",\n                },\n            },\n        },\n    });\n\n    var exampleCertificate = new Azure.KeyVault.Certificate(\"example\", new()\n    {\n        Name = \"generated-cert\",\n        KeyVaultId = exampleKeyVault.Id,\n        CertificatePolicy = new Azure.KeyVault.Inputs.CertificateCertificatePolicyArgs\n        {\n            IssuerParameters = new Azure.KeyVault.Inputs.CertificateCertificatePolicyIssuerParametersArgs\n            {\n                Name = \"Self\",\n            },\n            KeyProperties = new Azure.KeyVault.Inputs.CertificateCertificatePolicyKeyPropertiesArgs\n            {\n                Exportable = true,\n                KeySize = 2048,\n                KeyType = \"RSA\",\n                ReuseKey = true,\n            },\n            LifetimeActions = new[]\n            {\n                new Azure.KeyVault.Inputs.CertificateCertificatePolicyLifetimeActionArgs\n                {\n                    Action = new Azure.KeyVault.Inputs.CertificateCertificatePolicyLifetimeActionActionArgs\n                    {\n                        ActionType = \"AutoRenew\",\n                    },\n                    Trigger = new Azure.KeyVault.Inputs.CertificateCertificatePolicyLifetimeActionTriggerArgs\n                    {\n                        DaysBeforeExpiry = 30,\n                    },\n                },\n            },\n            SecretProperties = new Azure.KeyVault.Inputs.CertificateCertificatePolicySecretPropertiesArgs\n            {\n                ContentType = \"application/x-pkcs12\",\n            },\n            X509CertificateProperties = new Azure.KeyVault.Inputs.CertificateCertificatePolicyX509CertificatePropertiesArgs\n            {\n                ExtendedKeyUsages = new[]\n                {\n                    \"1.3.6.1.5.5.7.3.1\",\n                },\n                KeyUsages = new[]\n                {\n                    \"cRLSign\",\n                    \"dataEncipherment\",\n                    \"digitalSignature\",\n                    \"keyAgreement\",\n                    \"keyCertSign\",\n                    \"keyEncipherment\",\n                },\n                SubjectAlternativeNames = new Azure.KeyVault.Inputs.CertificateCertificatePolicyX509CertificatePropertiesSubjectAlternativeNamesArgs\n                {\n                    DnsNames = new[]\n                    {\n                        \"internal.contoso.com\",\n                        \"domain.hello.world\",\n                    },\n                },\n                Subject = \"CN=hello-world\",\n                ValidityInMonths = 12,\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/keyvault\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := core.GetClientConfig(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleKeyVault, err := keyvault.NewKeyVault(ctx, \"example\", \u0026keyvault.KeyVaultArgs{\n\t\t\tName:                    pulumi.String(\"examplekeyvault\"),\n\t\t\tLocation:                example.Location,\n\t\t\tResourceGroupName:       example.Name,\n\t\t\tTenantId:                pulumi.String(current.TenantId),\n\t\t\tSkuName:                 pulumi.String(\"standard\"),\n\t\t\tSoftDeleteRetentionDays: pulumi.Int(7),\n\t\t\tAccessPolicies: keyvault.KeyVaultAccessPolicyArray{\n\t\t\t\t\u0026keyvault.KeyVaultAccessPolicyArgs{\n\t\t\t\t\tTenantId: pulumi.String(current.TenantId),\n\t\t\t\t\tObjectId: pulumi.String(current.ObjectId),\n\t\t\t\t\tCertificatePermissions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"Create\"),\n\t\t\t\t\t\tpulumi.String(\"Delete\"),\n\t\t\t\t\t\tpulumi.String(\"DeleteIssuers\"),\n\t\t\t\t\t\tpulumi.String(\"Get\"),\n\t\t\t\t\t\tpulumi.String(\"GetIssuers\"),\n\t\t\t\t\t\tpulumi.String(\"Import\"),\n\t\t\t\t\t\tpulumi.String(\"List\"),\n\t\t\t\t\t\tpulumi.String(\"ListIssuers\"),\n\t\t\t\t\t\tpulumi.String(\"ManageContacts\"),\n\t\t\t\t\t\tpulumi.String(\"ManageIssuers\"),\n\t\t\t\t\t\tpulumi.String(\"Purge\"),\n\t\t\t\t\t\tpulumi.String(\"SetIssuers\"),\n\t\t\t\t\t\tpulumi.String(\"Update\"),\n\t\t\t\t\t},\n\t\t\t\t\tKeyPermissions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"Backup\"),\n\t\t\t\t\t\tpulumi.String(\"Create\"),\n\t\t\t\t\t\tpulumi.String(\"Decrypt\"),\n\t\t\t\t\t\tpulumi.String(\"Delete\"),\n\t\t\t\t\t\tpulumi.String(\"Encrypt\"),\n\t\t\t\t\t\tpulumi.String(\"Get\"),\n\t\t\t\t\t\tpulumi.String(\"Import\"),\n\t\t\t\t\t\tpulumi.String(\"List\"),\n\t\t\t\t\t\tpulumi.String(\"Purge\"),\n\t\t\t\t\t\tpulumi.String(\"Recover\"),\n\t\t\t\t\t\tpulumi.String(\"Restore\"),\n\t\t\t\t\t\tpulumi.String(\"Sign\"),\n\t\t\t\t\t\tpulumi.String(\"UnwrapKey\"),\n\t\t\t\t\t\tpulumi.String(\"Update\"),\n\t\t\t\t\t\tpulumi.String(\"Verify\"),\n\t\t\t\t\t\tpulumi.String(\"WrapKey\"),\n\t\t\t\t\t},\n\t\t\t\t\tSecretPermissions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"Backup\"),\n\t\t\t\t\t\tpulumi.String(\"Delete\"),\n\t\t\t\t\t\tpulumi.String(\"Get\"),\n\t\t\t\t\t\tpulumi.String(\"List\"),\n\t\t\t\t\t\tpulumi.String(\"Purge\"),\n\t\t\t\t\t\tpulumi.String(\"Recover\"),\n\t\t\t\t\t\tpulumi.String(\"Restore\"),\n\t\t\t\t\t\tpulumi.String(\"Set\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = keyvault.NewCertificate(ctx, \"example\", \u0026keyvault.CertificateArgs{\n\t\t\tName:       pulumi.String(\"generated-cert\"),\n\t\t\tKeyVaultId: exampleKeyVault.ID(),\n\t\t\tCertificatePolicy: \u0026keyvault.CertificateCertificatePolicyArgs{\n\t\t\t\tIssuerParameters: \u0026keyvault.CertificateCertificatePolicyIssuerParametersArgs{\n\t\t\t\t\tName: pulumi.String(\"Self\"),\n\t\t\t\t},\n\t\t\t\tKeyProperties: \u0026keyvault.CertificateCertificatePolicyKeyPropertiesArgs{\n\t\t\t\t\tExportable: pulumi.Bool(true),\n\t\t\t\t\tKeySize:    pulumi.Int(2048),\n\t\t\t\t\tKeyType:    pulumi.String(\"RSA\"),\n\t\t\t\t\tReuseKey:   pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t\tLifetimeActions: keyvault.CertificateCertificatePolicyLifetimeActionArray{\n\t\t\t\t\t\u0026keyvault.CertificateCertificatePolicyLifetimeActionArgs{\n\t\t\t\t\t\tAction: \u0026keyvault.CertificateCertificatePolicyLifetimeActionActionArgs{\n\t\t\t\t\t\t\tActionType: pulumi.String(\"AutoRenew\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tTrigger: \u0026keyvault.CertificateCertificatePolicyLifetimeActionTriggerArgs{\n\t\t\t\t\t\t\tDaysBeforeExpiry: pulumi.Int(30),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tSecretProperties: \u0026keyvault.CertificateCertificatePolicySecretPropertiesArgs{\n\t\t\t\t\tContentType: pulumi.String(\"application/x-pkcs12\"),\n\t\t\t\t},\n\t\t\t\tX509CertificateProperties: \u0026keyvault.CertificateCertificatePolicyX509CertificatePropertiesArgs{\n\t\t\t\t\tExtendedKeyUsages: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"1.3.6.1.5.5.7.3.1\"),\n\t\t\t\t\t},\n\t\t\t\t\tKeyUsages: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"cRLSign\"),\n\t\t\t\t\t\tpulumi.String(\"dataEncipherment\"),\n\t\t\t\t\t\tpulumi.String(\"digitalSignature\"),\n\t\t\t\t\t\tpulumi.String(\"keyAgreement\"),\n\t\t\t\t\t\tpulumi.String(\"keyCertSign\"),\n\t\t\t\t\t\tpulumi.String(\"keyEncipherment\"),\n\t\t\t\t\t},\n\t\t\t\t\tSubjectAlternativeNames: \u0026keyvault.CertificateCertificatePolicyX509CertificatePropertiesSubjectAlternativeNamesArgs{\n\t\t\t\t\t\tDnsNames: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"internal.contoso.com\"),\n\t\t\t\t\t\t\tpulumi.String(\"domain.hello.world\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tSubject:          pulumi.String(\"CN=hello-world\"),\n\t\t\t\t\tValidityInMonths: pulumi.Int(12),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.keyvault.KeyVault;\nimport com.pulumi.azure.keyvault.KeyVaultArgs;\nimport com.pulumi.azure.keyvault.inputs.KeyVaultAccessPolicyArgs;\nimport com.pulumi.azure.keyvault.Certificate;\nimport com.pulumi.azure.keyvault.CertificateArgs;\nimport com.pulumi.azure.keyvault.inputs.CertificateCertificatePolicyArgs;\nimport com.pulumi.azure.keyvault.inputs.CertificateCertificatePolicyIssuerParametersArgs;\nimport com.pulumi.azure.keyvault.inputs.CertificateCertificatePolicyKeyPropertiesArgs;\nimport com.pulumi.azure.keyvault.inputs.CertificateCertificatePolicySecretPropertiesArgs;\nimport com.pulumi.azure.keyvault.inputs.CertificateCertificatePolicyX509CertificatePropertiesArgs;\nimport com.pulumi.azure.keyvault.inputs.CertificateCertificatePolicyX509CertificatePropertiesSubjectAlternativeNamesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var current = CoreFunctions.getClientConfig(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleKeyVault = new KeyVault(\"exampleKeyVault\", KeyVaultArgs.builder()\n            .name(\"examplekeyvault\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .tenantId(current.tenantId())\n            .skuName(\"standard\")\n            .softDeleteRetentionDays(7)\n            .accessPolicies(KeyVaultAccessPolicyArgs.builder()\n                .tenantId(current.tenantId())\n                .objectId(current.objectId())\n                .certificatePermissions(                \n                    \"Create\",\n                    \"Delete\",\n                    \"DeleteIssuers\",\n                    \"Get\",\n                    \"GetIssuers\",\n                    \"Import\",\n                    \"List\",\n                    \"ListIssuers\",\n                    \"ManageContacts\",\n                    \"ManageIssuers\",\n                    \"Purge\",\n                    \"SetIssuers\",\n                    \"Update\")\n                .keyPermissions(                \n                    \"Backup\",\n                    \"Create\",\n                    \"Decrypt\",\n                    \"Delete\",\n                    \"Encrypt\",\n                    \"Get\",\n                    \"Import\",\n                    \"List\",\n                    \"Purge\",\n                    \"Recover\",\n                    \"Restore\",\n                    \"Sign\",\n                    \"UnwrapKey\",\n                    \"Update\",\n                    \"Verify\",\n                    \"WrapKey\")\n                .secretPermissions(                \n                    \"Backup\",\n                    \"Delete\",\n                    \"Get\",\n                    \"List\",\n                    \"Purge\",\n                    \"Recover\",\n                    \"Restore\",\n                    \"Set\")\n                .build())\n            .build());\n\n        var exampleCertificate = new Certificate(\"exampleCertificate\", CertificateArgs.builder()\n            .name(\"generated-cert\")\n            .keyVaultId(exampleKeyVault.id())\n            .certificatePolicy(CertificateCertificatePolicyArgs.builder()\n                .issuerParameters(CertificateCertificatePolicyIssuerParametersArgs.builder()\n                    .name(\"Self\")\n                    .build())\n                .keyProperties(CertificateCertificatePolicyKeyPropertiesArgs.builder()\n                    .exportable(true)\n                    .keySize(2048)\n                    .keyType(\"RSA\")\n                    .reuseKey(true)\n                    .build())\n                .lifetimeActions(CertificateCertificatePolicyLifetimeActionArgs.builder()\n                    .action(CertificateCertificatePolicyLifetimeActionActionArgs.builder()\n                        .actionType(\"AutoRenew\")\n                        .build())\n                    .trigger(CertificateCertificatePolicyLifetimeActionTriggerArgs.builder()\n                        .daysBeforeExpiry(30)\n                        .build())\n                    .build())\n                .secretProperties(CertificateCertificatePolicySecretPropertiesArgs.builder()\n                    .contentType(\"application/x-pkcs12\")\n                    .build())\n                .x509CertificateProperties(CertificateCertificatePolicyX509CertificatePropertiesArgs.builder()\n                    .extendedKeyUsages(\"1.3.6.1.5.5.7.3.1\")\n                    .keyUsages(                    \n                        \"cRLSign\",\n                        \"dataEncipherment\",\n                        \"digitalSignature\",\n                        \"keyAgreement\",\n                        \"keyCertSign\",\n                        \"keyEncipherment\")\n                    .subjectAlternativeNames(CertificateCertificatePolicyX509CertificatePropertiesSubjectAlternativeNamesArgs.builder()\n                        .dnsNames(                        \n                            \"internal.contoso.com\",\n                            \"domain.hello.world\")\n                        .build())\n                    .subject(\"CN=hello-world\")\n                    .validityInMonths(12)\n                    .build())\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleKeyVault:\n    type: azure:keyvault:KeyVault\n    name: example\n    properties:\n      name: examplekeyvault\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      tenantId: ${current.tenantId}\n      skuName: standard\n      softDeleteRetentionDays: 7\n      accessPolicies:\n        - tenantId: ${current.tenantId}\n          objectId: ${current.objectId}\n          certificatePermissions:\n            - Create\n            - Delete\n            - DeleteIssuers\n            - Get\n            - GetIssuers\n            - Import\n            - List\n            - ListIssuers\n            - ManageContacts\n            - ManageIssuers\n            - Purge\n            - SetIssuers\n            - Update\n          keyPermissions:\n            - Backup\n            - Create\n            - Decrypt\n            - Delete\n            - Encrypt\n            - Get\n            - Import\n            - List\n            - Purge\n            - Recover\n            - Restore\n            - Sign\n            - UnwrapKey\n            - Update\n            - Verify\n            - WrapKey\n          secretPermissions:\n            - Backup\n            - Delete\n            - Get\n            - List\n            - Purge\n            - Recover\n            - Restore\n            - Set\n  exampleCertificate:\n    type: azure:keyvault:Certificate\n    name: example\n    properties:\n      name: generated-cert\n      keyVaultId: ${exampleKeyVault.id}\n      certificatePolicy:\n        issuerParameters:\n          name: Self\n        keyProperties:\n          exportable: true\n          keySize: 2048\n          keyType: RSA\n          reuseKey: true\n        lifetimeActions:\n          - action:\n              actionType: AutoRenew\n            trigger:\n              daysBeforeExpiry: 30\n        secretProperties:\n          contentType: application/x-pkcs12\n        x509CertificateProperties:\n          extendedKeyUsages:\n            - 1.3.6.1.5.5.7.3.1\n          keyUsages:\n            - cRLSign\n            - dataEncipherment\n            - digitalSignature\n            - keyAgreement\n            - keyCertSign\n            - keyEncipherment\n          subjectAlternativeNames:\n            dnsNames:\n              - internal.contoso.com\n              - domain.hello.world\n          subject: CN=hello-world\n          validityInMonths: 12\nvariables:\n  current:\n    fn::invoke:\n      function: azure:core:getClientConfig\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nKey Vault Certificates can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:keyvault/certifiate:Certifiate example \"https://example-keyvault.vault.azure.net/certificates/example/fdf067c93bbb4b22bff4d8b7a9a56217\"\n```\n\n","properties":{"certificate":{"$ref":"#/types/azure:keyvault/CertifiateCertificate:CertifiateCertificate","description":"A \u003cspan pulumi-lang-nodejs=\"`certificate`\" pulumi-lang-dotnet=\"`Certificate`\" pulumi-lang-go=\"`certificate`\" pulumi-lang-python=\"`certificate`\" pulumi-lang-yaml=\"`certificate`\" pulumi-lang-java=\"`certificate`\"\u003e`certificate`\u003c/span\u003e block as defined below, used to Import an existing certificate. Changing this will create a new version of the Key Vault Certificate.\n","language":{"csharp":{"name":"KeyVaultCertificate"}}},"certificateAttributes":{"type":"array","items":{"$ref":"#/types/azure:keyvault/CertifiateCertificateAttribute:CertifiateCertificateAttribute"},"description":"A \u003cspan pulumi-lang-nodejs=\"`certificateAttribute`\" pulumi-lang-dotnet=\"`CertificateAttribute`\" pulumi-lang-go=\"`certificateAttribute`\" pulumi-lang-python=\"`certificate_attribute`\" pulumi-lang-yaml=\"`certificateAttribute`\" pulumi-lang-java=\"`certificateAttribute`\"\u003e`certificate_attribute`\u003c/span\u003e block as defined below.\n"},"certificateData":{"type":"string","description":"The raw Key Vault Certificate data represented as a hexadecimal string.\n"},"certificateDataBase64":{"type":"string","description":"The Base64 encoded Key Vault Certificate data.\n"},"certificatePolicy":{"$ref":"#/types/azure:keyvault/CertifiateCertificatePolicy:CertifiateCertificatePolicy","description":"A \u003cspan pulumi-lang-nodejs=\"`certificatePolicy`\" pulumi-lang-dotnet=\"`CertificatePolicy`\" pulumi-lang-go=\"`certificatePolicy`\" pulumi-lang-python=\"`certificate_policy`\" pulumi-lang-yaml=\"`certificatePolicy`\" pulumi-lang-java=\"`certificatePolicy`\"\u003e`certificate_policy`\u003c/span\u003e block as defined below. Changing this (except the \u003cspan pulumi-lang-nodejs=\"`lifetimeAction`\" pulumi-lang-dotnet=\"`LifetimeAction`\" pulumi-lang-go=\"`lifetimeAction`\" pulumi-lang-python=\"`lifetime_action`\" pulumi-lang-yaml=\"`lifetimeAction`\" pulumi-lang-java=\"`lifetimeAction`\"\u003e`lifetime_action`\u003c/span\u003e field) will create a new version of the Key Vault Certificate.\n\n\u003e **NOTE:** When creating a Key Vault Certificate, at least one of \u003cspan pulumi-lang-nodejs=\"`certificate`\" pulumi-lang-dotnet=\"`Certificate`\" pulumi-lang-go=\"`certificate`\" pulumi-lang-python=\"`certificate`\" pulumi-lang-yaml=\"`certificate`\" pulumi-lang-java=\"`certificate`\"\u003e`certificate`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`certificatePolicy`\" pulumi-lang-dotnet=\"`CertificatePolicy`\" pulumi-lang-go=\"`certificatePolicy`\" pulumi-lang-python=\"`certificate_policy`\" pulumi-lang-yaml=\"`certificatePolicy`\" pulumi-lang-java=\"`certificatePolicy`\"\u003e`certificate_policy`\u003c/span\u003e is required. Provide \u003cspan pulumi-lang-nodejs=\"`certificate`\" pulumi-lang-dotnet=\"`Certificate`\" pulumi-lang-go=\"`certificate`\" pulumi-lang-python=\"`certificate`\" pulumi-lang-yaml=\"`certificate`\" pulumi-lang-java=\"`certificate`\"\u003e`certificate`\u003c/span\u003e to import an existing certificate, \u003cspan pulumi-lang-nodejs=\"`certificatePolicy`\" pulumi-lang-dotnet=\"`CertificatePolicy`\" pulumi-lang-go=\"`certificatePolicy`\" pulumi-lang-python=\"`certificate_policy`\" pulumi-lang-yaml=\"`certificatePolicy`\" pulumi-lang-java=\"`certificatePolicy`\"\u003e`certificate_policy`\u003c/span\u003e to generate a new certificate.\n"},"keyVaultId":{"type":"string","description":"The ID of the Key Vault where the Certificate should be created. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"Specifies the name of the Key Vault Certificate. Changing this forces a new resource to be created.\n"},"resourceManagerId":{"type":"string","description":"The (Versioned) ID for this Key Vault Certificate. This property points to a specific version of a Key Vault Certificate, as such using this won't auto-rotate values if used in other Azure Services.\n"},"resourceManagerVersionlessId":{"type":"string","description":"The Versionless ID of the Key Vault Certificate. This property allows other Azure Services (that support it) to auto-rotate their value when the Key Vault Certificate is updated.\n"},"secretId":{"type":"string","description":"The ID of the associated Key Vault Secret.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"thumbprint":{"type":"string","description":"The X509 Thumbprint of the Key Vault Certificate represented as a hexadecimal string.\n"},"version":{"type":"string","description":"The current version of the Key Vault Certificate.\n"},"versionlessId":{"type":"string","description":"The Base ID of the Key Vault Certificate.\n"},"versionlessSecretId":{"type":"string","description":"The Base ID of the Key Vault Secret.\n"}},"required":["certificateAttributes","certificateData","certificateDataBase64","certificatePolicy","keyVaultId","name","resourceManagerId","resourceManagerVersionlessId","secretId","thumbprint","version","versionlessId","versionlessSecretId"],"inputProperties":{"certificate":{"$ref":"#/types/azure:keyvault/CertifiateCertificate:CertifiateCertificate","description":"A \u003cspan pulumi-lang-nodejs=\"`certificate`\" pulumi-lang-dotnet=\"`Certificate`\" pulumi-lang-go=\"`certificate`\" pulumi-lang-python=\"`certificate`\" pulumi-lang-yaml=\"`certificate`\" pulumi-lang-java=\"`certificate`\"\u003e`certificate`\u003c/span\u003e block as defined below, used to Import an existing certificate. Changing this will create a new version of the Key Vault Certificate.\n","language":{"csharp":{"name":"KeyVaultCertificate"}}},"certificatePolicy":{"$ref":"#/types/azure:keyvault/CertifiateCertificatePolicy:CertifiateCertificatePolicy","description":"A \u003cspan pulumi-lang-nodejs=\"`certificatePolicy`\" pulumi-lang-dotnet=\"`CertificatePolicy`\" pulumi-lang-go=\"`certificatePolicy`\" pulumi-lang-python=\"`certificate_policy`\" pulumi-lang-yaml=\"`certificatePolicy`\" pulumi-lang-java=\"`certificatePolicy`\"\u003e`certificate_policy`\u003c/span\u003e block as defined below. Changing this (except the \u003cspan pulumi-lang-nodejs=\"`lifetimeAction`\" pulumi-lang-dotnet=\"`LifetimeAction`\" pulumi-lang-go=\"`lifetimeAction`\" pulumi-lang-python=\"`lifetime_action`\" pulumi-lang-yaml=\"`lifetimeAction`\" pulumi-lang-java=\"`lifetimeAction`\"\u003e`lifetime_action`\u003c/span\u003e field) will create a new version of the Key Vault Certificate.\n\n\u003e **NOTE:** When creating a Key Vault Certificate, at least one of \u003cspan pulumi-lang-nodejs=\"`certificate`\" pulumi-lang-dotnet=\"`Certificate`\" pulumi-lang-go=\"`certificate`\" pulumi-lang-python=\"`certificate`\" pulumi-lang-yaml=\"`certificate`\" pulumi-lang-java=\"`certificate`\"\u003e`certificate`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`certificatePolicy`\" pulumi-lang-dotnet=\"`CertificatePolicy`\" pulumi-lang-go=\"`certificatePolicy`\" pulumi-lang-python=\"`certificate_policy`\" pulumi-lang-yaml=\"`certificatePolicy`\" pulumi-lang-java=\"`certificatePolicy`\"\u003e`certificate_policy`\u003c/span\u003e is required. Provide \u003cspan pulumi-lang-nodejs=\"`certificate`\" pulumi-lang-dotnet=\"`Certificate`\" pulumi-lang-go=\"`certificate`\" pulumi-lang-python=\"`certificate`\" pulumi-lang-yaml=\"`certificate`\" pulumi-lang-java=\"`certificate`\"\u003e`certificate`\u003c/span\u003e to import an existing certificate, \u003cspan pulumi-lang-nodejs=\"`certificatePolicy`\" pulumi-lang-dotnet=\"`CertificatePolicy`\" pulumi-lang-go=\"`certificatePolicy`\" pulumi-lang-python=\"`certificate_policy`\" pulumi-lang-yaml=\"`certificatePolicy`\" pulumi-lang-java=\"`certificatePolicy`\"\u003e`certificate_policy`\u003c/span\u003e to generate a new certificate.\n"},"keyVaultId":{"type":"string","description":"The ID of the Key Vault where the Certificate should be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the Key Vault Certificate. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"requiredInputs":["keyVaultId"],"stateInputs":{"description":"Input properties used for looking up and filtering Certifiate resources.\n","properties":{"certificate":{"$ref":"#/types/azure:keyvault/CertifiateCertificate:CertifiateCertificate","description":"A \u003cspan pulumi-lang-nodejs=\"`certificate`\" pulumi-lang-dotnet=\"`Certificate`\" pulumi-lang-go=\"`certificate`\" pulumi-lang-python=\"`certificate`\" pulumi-lang-yaml=\"`certificate`\" pulumi-lang-java=\"`certificate`\"\u003e`certificate`\u003c/span\u003e block as defined below, used to Import an existing certificate. Changing this will create a new version of the Key Vault Certificate.\n","language":{"csharp":{"name":"KeyVaultCertificate"}}},"certificateAttributes":{"type":"array","items":{"$ref":"#/types/azure:keyvault/CertifiateCertificateAttribute:CertifiateCertificateAttribute"},"description":"A \u003cspan pulumi-lang-nodejs=\"`certificateAttribute`\" pulumi-lang-dotnet=\"`CertificateAttribute`\" pulumi-lang-go=\"`certificateAttribute`\" pulumi-lang-python=\"`certificate_attribute`\" pulumi-lang-yaml=\"`certificateAttribute`\" pulumi-lang-java=\"`certificateAttribute`\"\u003e`certificate_attribute`\u003c/span\u003e block as defined below.\n"},"certificateData":{"type":"string","description":"The raw Key Vault Certificate data represented as a hexadecimal string.\n"},"certificateDataBase64":{"type":"string","description":"The Base64 encoded Key Vault Certificate data.\n"},"certificatePolicy":{"$ref":"#/types/azure:keyvault/CertifiateCertificatePolicy:CertifiateCertificatePolicy","description":"A \u003cspan pulumi-lang-nodejs=\"`certificatePolicy`\" pulumi-lang-dotnet=\"`CertificatePolicy`\" pulumi-lang-go=\"`certificatePolicy`\" pulumi-lang-python=\"`certificate_policy`\" pulumi-lang-yaml=\"`certificatePolicy`\" pulumi-lang-java=\"`certificatePolicy`\"\u003e`certificate_policy`\u003c/span\u003e block as defined below. Changing this (except the \u003cspan pulumi-lang-nodejs=\"`lifetimeAction`\" pulumi-lang-dotnet=\"`LifetimeAction`\" pulumi-lang-go=\"`lifetimeAction`\" pulumi-lang-python=\"`lifetime_action`\" pulumi-lang-yaml=\"`lifetimeAction`\" pulumi-lang-java=\"`lifetimeAction`\"\u003e`lifetime_action`\u003c/span\u003e field) will create a new version of the Key Vault Certificate.\n\n\u003e **NOTE:** When creating a Key Vault Certificate, at least one of \u003cspan pulumi-lang-nodejs=\"`certificate`\" pulumi-lang-dotnet=\"`Certificate`\" pulumi-lang-go=\"`certificate`\" pulumi-lang-python=\"`certificate`\" pulumi-lang-yaml=\"`certificate`\" pulumi-lang-java=\"`certificate`\"\u003e`certificate`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`certificatePolicy`\" pulumi-lang-dotnet=\"`CertificatePolicy`\" pulumi-lang-go=\"`certificatePolicy`\" pulumi-lang-python=\"`certificate_policy`\" pulumi-lang-yaml=\"`certificatePolicy`\" pulumi-lang-java=\"`certificatePolicy`\"\u003e`certificate_policy`\u003c/span\u003e is required. Provide \u003cspan pulumi-lang-nodejs=\"`certificate`\" pulumi-lang-dotnet=\"`Certificate`\" pulumi-lang-go=\"`certificate`\" pulumi-lang-python=\"`certificate`\" pulumi-lang-yaml=\"`certificate`\" pulumi-lang-java=\"`certificate`\"\u003e`certificate`\u003c/span\u003e to import an existing certificate, \u003cspan pulumi-lang-nodejs=\"`certificatePolicy`\" pulumi-lang-dotnet=\"`CertificatePolicy`\" pulumi-lang-go=\"`certificatePolicy`\" pulumi-lang-python=\"`certificate_policy`\" pulumi-lang-yaml=\"`certificatePolicy`\" pulumi-lang-java=\"`certificatePolicy`\"\u003e`certificate_policy`\u003c/span\u003e to generate a new certificate.\n"},"keyVaultId":{"type":"string","description":"The ID of the Key Vault where the Certificate should be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the Key Vault Certificate. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceManagerId":{"type":"string","description":"The (Versioned) ID for this Key Vault Certificate. This property points to a specific version of a Key Vault Certificate, as such using this won't auto-rotate values if used in other Azure Services.\n"},"resourceManagerVersionlessId":{"type":"string","description":"The Versionless ID of the Key Vault Certificate. This property allows other Azure Services (that support it) to auto-rotate their value when the Key Vault Certificate is updated.\n"},"secretId":{"type":"string","description":"The ID of the associated Key Vault Secret.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"thumbprint":{"type":"string","description":"The X509 Thumbprint of the Key Vault Certificate represented as a hexadecimal string.\n"},"version":{"type":"string","description":"The current version of the Key Vault Certificate.\n"},"versionlessId":{"type":"string","description":"The Base ID of the Key Vault Certificate.\n"},"versionlessSecretId":{"type":"string","description":"The Base ID of the Key Vault Secret.\n"}},"type":"object"},"deprecationMessage":"azure.keyvault.Certifiate has been deprecated in favor of azure.keyvault.Certificate"},"azure:keyvault/certificate:Certificate":{"description":"Manages a Key Vault Certificate.\n\n## Example Usage\n\n### Importing A PFX)\n\n\u003e **Note:** this example assumed the PFX file is located in the same directory at `certificate-to-import.pfx`.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\nimport * as std from \"@pulumi/std\";\n\nconst current = azure.core.getClientConfig({});\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleKeyVault = new azure.keyvault.KeyVault(\"example\", {\n    name: \"examplekeyvault\",\n    location: example.location,\n    resourceGroupName: example.name,\n    tenantId: current.then(current =\u003e current.tenantId),\n    skuName: \"premium\",\n    accessPolicies: [{\n        tenantId: current.then(current =\u003e current.tenantId),\n        objectId: current.then(current =\u003e current.objectId),\n        certificatePermissions: [\n            \"Create\",\n            \"Delete\",\n            \"DeleteIssuers\",\n            \"Get\",\n            \"GetIssuers\",\n            \"Import\",\n            \"List\",\n            \"ListIssuers\",\n            \"ManageContacts\",\n            \"ManageIssuers\",\n            \"SetIssuers\",\n            \"Update\",\n        ],\n        keyPermissions: [\n            \"Backup\",\n            \"Create\",\n            \"Decrypt\",\n            \"Delete\",\n            \"Encrypt\",\n            \"Get\",\n            \"Import\",\n            \"List\",\n            \"Purge\",\n            \"Recover\",\n            \"Restore\",\n            \"Sign\",\n            \"UnwrapKey\",\n            \"Update\",\n            \"Verify\",\n            \"WrapKey\",\n        ],\n        secretPermissions: [\n            \"Backup\",\n            \"Delete\",\n            \"Get\",\n            \"List\",\n            \"Purge\",\n            \"Recover\",\n            \"Restore\",\n            \"Set\",\n        ],\n    }],\n});\nconst exampleCertificate = new azure.keyvault.Certificate(\"example\", {\n    name: \"imported-cert\",\n    keyVaultId: exampleKeyVault.id,\n    certificate: {\n        contents: std.filebase64({\n            input: \"certificate-to-import.pfx\",\n        }).then(invoke =\u003e invoke.result),\n        password: \"\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\nimport pulumi_std as std\n\ncurrent = azure.core.get_client_config()\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_key_vault = azure.keyvault.KeyVault(\"example\",\n    name=\"examplekeyvault\",\n    location=example.location,\n    resource_group_name=example.name,\n    tenant_id=current.tenant_id,\n    sku_name=\"premium\",\n    access_policies=[{\n        \"tenant_id\": current.tenant_id,\n        \"object_id\": current.object_id,\n        \"certificate_permissions\": [\n            \"Create\",\n            \"Delete\",\n            \"DeleteIssuers\",\n            \"Get\",\n            \"GetIssuers\",\n            \"Import\",\n            \"List\",\n            \"ListIssuers\",\n            \"ManageContacts\",\n            \"ManageIssuers\",\n            \"SetIssuers\",\n            \"Update\",\n        ],\n        \"key_permissions\": [\n            \"Backup\",\n            \"Create\",\n            \"Decrypt\",\n            \"Delete\",\n            \"Encrypt\",\n            \"Get\",\n            \"Import\",\n            \"List\",\n            \"Purge\",\n            \"Recover\",\n            \"Restore\",\n            \"Sign\",\n            \"UnwrapKey\",\n            \"Update\",\n            \"Verify\",\n            \"WrapKey\",\n        ],\n        \"secret_permissions\": [\n            \"Backup\",\n            \"Delete\",\n            \"Get\",\n            \"List\",\n            \"Purge\",\n            \"Recover\",\n            \"Restore\",\n            \"Set\",\n        ],\n    }])\nexample_certificate = azure.keyvault.Certificate(\"example\",\n    name=\"imported-cert\",\n    key_vault_id=example_key_vault.id,\n    certificate={\n        \"contents\": std.filebase64(input=\"certificate-to-import.pfx\").result,\n        \"password\": \"\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var current = Azure.Core.GetClientConfig.Invoke();\n\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleKeyVault = new Azure.KeyVault.KeyVault(\"example\", new()\n    {\n        Name = \"examplekeyvault\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        TenantId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.TenantId),\n        SkuName = \"premium\",\n        AccessPolicies = new[]\n        {\n            new Azure.KeyVault.Inputs.KeyVaultAccessPolicyArgs\n            {\n                TenantId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.TenantId),\n                ObjectId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.ObjectId),\n                CertificatePermissions = new[]\n                {\n                    \"Create\",\n                    \"Delete\",\n                    \"DeleteIssuers\",\n                    \"Get\",\n                    \"GetIssuers\",\n                    \"Import\",\n                    \"List\",\n                    \"ListIssuers\",\n                    \"ManageContacts\",\n                    \"ManageIssuers\",\n                    \"SetIssuers\",\n                    \"Update\",\n                },\n                KeyPermissions = new[]\n                {\n                    \"Backup\",\n                    \"Create\",\n                    \"Decrypt\",\n                    \"Delete\",\n                    \"Encrypt\",\n                    \"Get\",\n                    \"Import\",\n                    \"List\",\n                    \"Purge\",\n                    \"Recover\",\n                    \"Restore\",\n                    \"Sign\",\n                    \"UnwrapKey\",\n                    \"Update\",\n                    \"Verify\",\n                    \"WrapKey\",\n                },\n                SecretPermissions = new[]\n                {\n                    \"Backup\",\n                    \"Delete\",\n                    \"Get\",\n                    \"List\",\n                    \"Purge\",\n                    \"Recover\",\n                    \"Restore\",\n                    \"Set\",\n                },\n            },\n        },\n    });\n\n    var exampleCertificate = new Azure.KeyVault.Certificate(\"example\", new()\n    {\n        Name = \"imported-cert\",\n        KeyVaultId = exampleKeyVault.Id,\n        KeyVaultCertificate = new Azure.KeyVault.Inputs.CertificateCertificateArgs\n        {\n            Contents = Std.Filebase64.Invoke(new()\n            {\n                Input = \"certificate-to-import.pfx\",\n            }).Apply(invoke =\u003e invoke.Result),\n            Password = \"\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/keyvault\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := core.GetClientConfig(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleKeyVault, err := keyvault.NewKeyVault(ctx, \"example\", \u0026keyvault.KeyVaultArgs{\n\t\t\tName:              pulumi.String(\"examplekeyvault\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tTenantId:          pulumi.String(current.TenantId),\n\t\t\tSkuName:           pulumi.String(\"premium\"),\n\t\t\tAccessPolicies: keyvault.KeyVaultAccessPolicyArray{\n\t\t\t\t\u0026keyvault.KeyVaultAccessPolicyArgs{\n\t\t\t\t\tTenantId: pulumi.String(current.TenantId),\n\t\t\t\t\tObjectId: pulumi.String(current.ObjectId),\n\t\t\t\t\tCertificatePermissions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"Create\"),\n\t\t\t\t\t\tpulumi.String(\"Delete\"),\n\t\t\t\t\t\tpulumi.String(\"DeleteIssuers\"),\n\t\t\t\t\t\tpulumi.String(\"Get\"),\n\t\t\t\t\t\tpulumi.String(\"GetIssuers\"),\n\t\t\t\t\t\tpulumi.String(\"Import\"),\n\t\t\t\t\t\tpulumi.String(\"List\"),\n\t\t\t\t\t\tpulumi.String(\"ListIssuers\"),\n\t\t\t\t\t\tpulumi.String(\"ManageContacts\"),\n\t\t\t\t\t\tpulumi.String(\"ManageIssuers\"),\n\t\t\t\t\t\tpulumi.String(\"SetIssuers\"),\n\t\t\t\t\t\tpulumi.String(\"Update\"),\n\t\t\t\t\t},\n\t\t\t\t\tKeyPermissions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"Backup\"),\n\t\t\t\t\t\tpulumi.String(\"Create\"),\n\t\t\t\t\t\tpulumi.String(\"Decrypt\"),\n\t\t\t\t\t\tpulumi.String(\"Delete\"),\n\t\t\t\t\t\tpulumi.String(\"Encrypt\"),\n\t\t\t\t\t\tpulumi.String(\"Get\"),\n\t\t\t\t\t\tpulumi.String(\"Import\"),\n\t\t\t\t\t\tpulumi.String(\"List\"),\n\t\t\t\t\t\tpulumi.String(\"Purge\"),\n\t\t\t\t\t\tpulumi.String(\"Recover\"),\n\t\t\t\t\t\tpulumi.String(\"Restore\"),\n\t\t\t\t\t\tpulumi.String(\"Sign\"),\n\t\t\t\t\t\tpulumi.String(\"UnwrapKey\"),\n\t\t\t\t\t\tpulumi.String(\"Update\"),\n\t\t\t\t\t\tpulumi.String(\"Verify\"),\n\t\t\t\t\t\tpulumi.String(\"WrapKey\"),\n\t\t\t\t\t},\n\t\t\t\t\tSecretPermissions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"Backup\"),\n\t\t\t\t\t\tpulumi.String(\"Delete\"),\n\t\t\t\t\t\tpulumi.String(\"Get\"),\n\t\t\t\t\t\tpulumi.String(\"List\"),\n\t\t\t\t\t\tpulumi.String(\"Purge\"),\n\t\t\t\t\t\tpulumi.String(\"Recover\"),\n\t\t\t\t\t\tpulumi.String(\"Restore\"),\n\t\t\t\t\t\tpulumi.String(\"Set\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFilebase64, err := std.Filebase64(ctx, \u0026std.Filebase64Args{\n\t\t\tInput: \"certificate-to-import.pfx\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = keyvault.NewCertificate(ctx, \"example\", \u0026keyvault.CertificateArgs{\n\t\t\tName:       pulumi.String(\"imported-cert\"),\n\t\t\tKeyVaultId: exampleKeyVault.ID(),\n\t\t\tCertificate: \u0026keyvault.CertificateCertificateArgs{\n\t\t\t\tContents: pulumi.String(invokeFilebase64.Result),\n\t\t\t\tPassword: pulumi.String(\"\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.keyvault.KeyVault;\nimport com.pulumi.azure.keyvault.KeyVaultArgs;\nimport com.pulumi.azure.keyvault.inputs.KeyVaultAccessPolicyArgs;\nimport com.pulumi.azure.keyvault.Certificate;\nimport com.pulumi.azure.keyvault.CertificateArgs;\nimport com.pulumi.azure.keyvault.inputs.CertificateCertificateArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.Filebase64Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var current = CoreFunctions.getClientConfig(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleKeyVault = new KeyVault(\"exampleKeyVault\", KeyVaultArgs.builder()\n            .name(\"examplekeyvault\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .tenantId(current.tenantId())\n            .skuName(\"premium\")\n            .accessPolicies(KeyVaultAccessPolicyArgs.builder()\n                .tenantId(current.tenantId())\n                .objectId(current.objectId())\n                .certificatePermissions(                \n                    \"Create\",\n                    \"Delete\",\n                    \"DeleteIssuers\",\n                    \"Get\",\n                    \"GetIssuers\",\n                    \"Import\",\n                    \"List\",\n                    \"ListIssuers\",\n                    \"ManageContacts\",\n                    \"ManageIssuers\",\n                    \"SetIssuers\",\n                    \"Update\")\n                .keyPermissions(                \n                    \"Backup\",\n                    \"Create\",\n                    \"Decrypt\",\n                    \"Delete\",\n                    \"Encrypt\",\n                    \"Get\",\n                    \"Import\",\n                    \"List\",\n                    \"Purge\",\n                    \"Recover\",\n                    \"Restore\",\n                    \"Sign\",\n                    \"UnwrapKey\",\n                    \"Update\",\n                    \"Verify\",\n                    \"WrapKey\")\n                .secretPermissions(                \n                    \"Backup\",\n                    \"Delete\",\n                    \"Get\",\n                    \"List\",\n                    \"Purge\",\n                    \"Recover\",\n                    \"Restore\",\n                    \"Set\")\n                .build())\n            .build());\n\n        var exampleCertificate = new Certificate(\"exampleCertificate\", CertificateArgs.builder()\n            .name(\"imported-cert\")\n            .keyVaultId(exampleKeyVault.id())\n            .certificate(CertificateCertificateArgs.builder()\n                .contents(StdFunctions.filebase64(Filebase64Args.builder()\n                    .input(\"certificate-to-import.pfx\")\n                    .build()).result())\n                .password(\"\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleKeyVault:\n    type: azure:keyvault:KeyVault\n    name: example\n    properties:\n      name: examplekeyvault\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      tenantId: ${current.tenantId}\n      skuName: premium\n      accessPolicies:\n        - tenantId: ${current.tenantId}\n          objectId: ${current.objectId}\n          certificatePermissions:\n            - Create\n            - Delete\n            - DeleteIssuers\n            - Get\n            - GetIssuers\n            - Import\n            - List\n            - ListIssuers\n            - ManageContacts\n            - ManageIssuers\n            - SetIssuers\n            - Update\n          keyPermissions:\n            - Backup\n            - Create\n            - Decrypt\n            - Delete\n            - Encrypt\n            - Get\n            - Import\n            - List\n            - Purge\n            - Recover\n            - Restore\n            - Sign\n            - UnwrapKey\n            - Update\n            - Verify\n            - WrapKey\n          secretPermissions:\n            - Backup\n            - Delete\n            - Get\n            - List\n            - Purge\n            - Recover\n            - Restore\n            - Set\n  exampleCertificate:\n    type: azure:keyvault:Certificate\n    name: example\n    properties:\n      name: imported-cert\n      keyVaultId: ${exampleKeyVault.id}\n      certificate:\n        contents:\n          fn::invoke:\n            function: std:filebase64\n            arguments:\n              input: certificate-to-import.pfx\n            return: result\n        password: \"\"\nvariables:\n  current:\n    fn::invoke:\n      function: azure:core:getClientConfig\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Generating a new certificate\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst current = azure.core.getClientConfig({});\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleKeyVault = new azure.keyvault.KeyVault(\"example\", {\n    name: \"examplekeyvault\",\n    location: example.location,\n    resourceGroupName: example.name,\n    tenantId: current.then(current =\u003e current.tenantId),\n    skuName: \"standard\",\n    softDeleteRetentionDays: 7,\n    accessPolicies: [{\n        tenantId: current.then(current =\u003e current.tenantId),\n        objectId: current.then(current =\u003e current.objectId),\n        certificatePermissions: [\n            \"Create\",\n            \"Delete\",\n            \"DeleteIssuers\",\n            \"Get\",\n            \"GetIssuers\",\n            \"Import\",\n            \"List\",\n            \"ListIssuers\",\n            \"ManageContacts\",\n            \"ManageIssuers\",\n            \"Purge\",\n            \"SetIssuers\",\n            \"Update\",\n        ],\n        keyPermissions: [\n            \"Backup\",\n            \"Create\",\n            \"Decrypt\",\n            \"Delete\",\n            \"Encrypt\",\n            \"Get\",\n            \"Import\",\n            \"List\",\n            \"Purge\",\n            \"Recover\",\n            \"Restore\",\n            \"Sign\",\n            \"UnwrapKey\",\n            \"Update\",\n            \"Verify\",\n            \"WrapKey\",\n        ],\n        secretPermissions: [\n            \"Backup\",\n            \"Delete\",\n            \"Get\",\n            \"List\",\n            \"Purge\",\n            \"Recover\",\n            \"Restore\",\n            \"Set\",\n        ],\n    }],\n});\nconst exampleCertificate = new azure.keyvault.Certificate(\"example\", {\n    name: \"generated-cert\",\n    keyVaultId: exampleKeyVault.id,\n    certificatePolicy: {\n        issuerParameters: {\n            name: \"Self\",\n        },\n        keyProperties: {\n            exportable: true,\n            keySize: 2048,\n            keyType: \"RSA\",\n            reuseKey: true,\n        },\n        lifetimeActions: [{\n            action: {\n                actionType: \"AutoRenew\",\n            },\n            trigger: {\n                daysBeforeExpiry: 30,\n            },\n        }],\n        secretProperties: {\n            contentType: \"application/x-pkcs12\",\n        },\n        x509CertificateProperties: {\n            extendedKeyUsages: [\"1.3.6.1.5.5.7.3.1\"],\n            keyUsages: [\n                \"cRLSign\",\n                \"dataEncipherment\",\n                \"digitalSignature\",\n                \"keyAgreement\",\n                \"keyCertSign\",\n                \"keyEncipherment\",\n            ],\n            subjectAlternativeNames: {\n                dnsNames: [\n                    \"internal.contoso.com\",\n                    \"domain.hello.world\",\n                ],\n            },\n            subject: \"CN=hello-world\",\n            validityInMonths: 12,\n        },\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\ncurrent = azure.core.get_client_config()\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_key_vault = azure.keyvault.KeyVault(\"example\",\n    name=\"examplekeyvault\",\n    location=example.location,\n    resource_group_name=example.name,\n    tenant_id=current.tenant_id,\n    sku_name=\"standard\",\n    soft_delete_retention_days=7,\n    access_policies=[{\n        \"tenant_id\": current.tenant_id,\n        \"object_id\": current.object_id,\n        \"certificate_permissions\": [\n            \"Create\",\n            \"Delete\",\n            \"DeleteIssuers\",\n            \"Get\",\n            \"GetIssuers\",\n            \"Import\",\n            \"List\",\n            \"ListIssuers\",\n            \"ManageContacts\",\n            \"ManageIssuers\",\n            \"Purge\",\n            \"SetIssuers\",\n            \"Update\",\n        ],\n        \"key_permissions\": [\n            \"Backup\",\n            \"Create\",\n            \"Decrypt\",\n            \"Delete\",\n            \"Encrypt\",\n            \"Get\",\n            \"Import\",\n            \"List\",\n            \"Purge\",\n            \"Recover\",\n            \"Restore\",\n            \"Sign\",\n            \"UnwrapKey\",\n            \"Update\",\n            \"Verify\",\n            \"WrapKey\",\n        ],\n        \"secret_permissions\": [\n            \"Backup\",\n            \"Delete\",\n            \"Get\",\n            \"List\",\n            \"Purge\",\n            \"Recover\",\n            \"Restore\",\n            \"Set\",\n        ],\n    }])\nexample_certificate = azure.keyvault.Certificate(\"example\",\n    name=\"generated-cert\",\n    key_vault_id=example_key_vault.id,\n    certificate_policy={\n        \"issuer_parameters\": {\n            \"name\": \"Self\",\n        },\n        \"key_properties\": {\n            \"exportable\": True,\n            \"key_size\": 2048,\n            \"key_type\": \"RSA\",\n            \"reuse_key\": True,\n        },\n        \"lifetime_actions\": [{\n            \"action\": {\n                \"action_type\": \"AutoRenew\",\n            },\n            \"trigger\": {\n                \"days_before_expiry\": 30,\n            },\n        }],\n        \"secret_properties\": {\n            \"content_type\": \"application/x-pkcs12\",\n        },\n        \"x509_certificate_properties\": {\n            \"extended_key_usages\": [\"1.3.6.1.5.5.7.3.1\"],\n            \"key_usages\": [\n                \"cRLSign\",\n                \"dataEncipherment\",\n                \"digitalSignature\",\n                \"keyAgreement\",\n                \"keyCertSign\",\n                \"keyEncipherment\",\n            ],\n            \"subject_alternative_names\": {\n                \"dns_names\": [\n                    \"internal.contoso.com\",\n                    \"domain.hello.world\",\n                ],\n            },\n            \"subject\": \"CN=hello-world\",\n            \"validity_in_months\": 12,\n        },\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var current = Azure.Core.GetClientConfig.Invoke();\n\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleKeyVault = new Azure.KeyVault.KeyVault(\"example\", new()\n    {\n        Name = \"examplekeyvault\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        TenantId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.TenantId),\n        SkuName = \"standard\",\n        SoftDeleteRetentionDays = 7,\n        AccessPolicies = new[]\n        {\n            new Azure.KeyVault.Inputs.KeyVaultAccessPolicyArgs\n            {\n                TenantId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.TenantId),\n                ObjectId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.ObjectId),\n                CertificatePermissions = new[]\n                {\n                    \"Create\",\n                    \"Delete\",\n                    \"DeleteIssuers\",\n                    \"Get\",\n                    \"GetIssuers\",\n                    \"Import\",\n                    \"List\",\n                    \"ListIssuers\",\n                    \"ManageContacts\",\n                    \"ManageIssuers\",\n                    \"Purge\",\n                    \"SetIssuers\",\n                    \"Update\",\n                },\n                KeyPermissions = new[]\n                {\n                    \"Backup\",\n                    \"Create\",\n                    \"Decrypt\",\n                    \"Delete\",\n                    \"Encrypt\",\n                    \"Get\",\n                    \"Import\",\n                    \"List\",\n                    \"Purge\",\n                    \"Recover\",\n                    \"Restore\",\n                    \"Sign\",\n                    \"UnwrapKey\",\n                    \"Update\",\n                    \"Verify\",\n                    \"WrapKey\",\n                },\n                SecretPermissions = new[]\n                {\n                    \"Backup\",\n                    \"Delete\",\n                    \"Get\",\n                    \"List\",\n                    \"Purge\",\n                    \"Recover\",\n                    \"Restore\",\n                    \"Set\",\n                },\n            },\n        },\n    });\n\n    var exampleCertificate = new Azure.KeyVault.Certificate(\"example\", new()\n    {\n        Name = \"generated-cert\",\n        KeyVaultId = exampleKeyVault.Id,\n        CertificatePolicy = new Azure.KeyVault.Inputs.CertificateCertificatePolicyArgs\n        {\n            IssuerParameters = new Azure.KeyVault.Inputs.CertificateCertificatePolicyIssuerParametersArgs\n            {\n                Name = \"Self\",\n            },\n            KeyProperties = new Azure.KeyVault.Inputs.CertificateCertificatePolicyKeyPropertiesArgs\n            {\n                Exportable = true,\n                KeySize = 2048,\n                KeyType = \"RSA\",\n                ReuseKey = true,\n            },\n            LifetimeActions = new[]\n            {\n                new Azure.KeyVault.Inputs.CertificateCertificatePolicyLifetimeActionArgs\n                {\n                    Action = new Azure.KeyVault.Inputs.CertificateCertificatePolicyLifetimeActionActionArgs\n                    {\n                        ActionType = \"AutoRenew\",\n                    },\n                    Trigger = new Azure.KeyVault.Inputs.CertificateCertificatePolicyLifetimeActionTriggerArgs\n                    {\n                        DaysBeforeExpiry = 30,\n                    },\n                },\n            },\n            SecretProperties = new Azure.KeyVault.Inputs.CertificateCertificatePolicySecretPropertiesArgs\n            {\n                ContentType = \"application/x-pkcs12\",\n            },\n            X509CertificateProperties = new Azure.KeyVault.Inputs.CertificateCertificatePolicyX509CertificatePropertiesArgs\n            {\n                ExtendedKeyUsages = new[]\n                {\n                    \"1.3.6.1.5.5.7.3.1\",\n                },\n                KeyUsages = new[]\n                {\n                    \"cRLSign\",\n                    \"dataEncipherment\",\n                    \"digitalSignature\",\n                    \"keyAgreement\",\n                    \"keyCertSign\",\n                    \"keyEncipherment\",\n                },\n                SubjectAlternativeNames = new Azure.KeyVault.Inputs.CertificateCertificatePolicyX509CertificatePropertiesSubjectAlternativeNamesArgs\n                {\n                    DnsNames = new[]\n                    {\n                        \"internal.contoso.com\",\n                        \"domain.hello.world\",\n                    },\n                },\n                Subject = \"CN=hello-world\",\n                ValidityInMonths = 12,\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/keyvault\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := core.GetClientConfig(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleKeyVault, err := keyvault.NewKeyVault(ctx, \"example\", \u0026keyvault.KeyVaultArgs{\n\t\t\tName:                    pulumi.String(\"examplekeyvault\"),\n\t\t\tLocation:                example.Location,\n\t\t\tResourceGroupName:       example.Name,\n\t\t\tTenantId:                pulumi.String(current.TenantId),\n\t\t\tSkuName:                 pulumi.String(\"standard\"),\n\t\t\tSoftDeleteRetentionDays: pulumi.Int(7),\n\t\t\tAccessPolicies: keyvault.KeyVaultAccessPolicyArray{\n\t\t\t\t\u0026keyvault.KeyVaultAccessPolicyArgs{\n\t\t\t\t\tTenantId: pulumi.String(current.TenantId),\n\t\t\t\t\tObjectId: pulumi.String(current.ObjectId),\n\t\t\t\t\tCertificatePermissions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"Create\"),\n\t\t\t\t\t\tpulumi.String(\"Delete\"),\n\t\t\t\t\t\tpulumi.String(\"DeleteIssuers\"),\n\t\t\t\t\t\tpulumi.String(\"Get\"),\n\t\t\t\t\t\tpulumi.String(\"GetIssuers\"),\n\t\t\t\t\t\tpulumi.String(\"Import\"),\n\t\t\t\t\t\tpulumi.String(\"List\"),\n\t\t\t\t\t\tpulumi.String(\"ListIssuers\"),\n\t\t\t\t\t\tpulumi.String(\"ManageContacts\"),\n\t\t\t\t\t\tpulumi.String(\"ManageIssuers\"),\n\t\t\t\t\t\tpulumi.String(\"Purge\"),\n\t\t\t\t\t\tpulumi.String(\"SetIssuers\"),\n\t\t\t\t\t\tpulumi.String(\"Update\"),\n\t\t\t\t\t},\n\t\t\t\t\tKeyPermissions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"Backup\"),\n\t\t\t\t\t\tpulumi.String(\"Create\"),\n\t\t\t\t\t\tpulumi.String(\"Decrypt\"),\n\t\t\t\t\t\tpulumi.String(\"Delete\"),\n\t\t\t\t\t\tpulumi.String(\"Encrypt\"),\n\t\t\t\t\t\tpulumi.String(\"Get\"),\n\t\t\t\t\t\tpulumi.String(\"Import\"),\n\t\t\t\t\t\tpulumi.String(\"List\"),\n\t\t\t\t\t\tpulumi.String(\"Purge\"),\n\t\t\t\t\t\tpulumi.String(\"Recover\"),\n\t\t\t\t\t\tpulumi.String(\"Restore\"),\n\t\t\t\t\t\tpulumi.String(\"Sign\"),\n\t\t\t\t\t\tpulumi.String(\"UnwrapKey\"),\n\t\t\t\t\t\tpulumi.String(\"Update\"),\n\t\t\t\t\t\tpulumi.String(\"Verify\"),\n\t\t\t\t\t\tpulumi.String(\"WrapKey\"),\n\t\t\t\t\t},\n\t\t\t\t\tSecretPermissions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"Backup\"),\n\t\t\t\t\t\tpulumi.String(\"Delete\"),\n\t\t\t\t\t\tpulumi.String(\"Get\"),\n\t\t\t\t\t\tpulumi.String(\"List\"),\n\t\t\t\t\t\tpulumi.String(\"Purge\"),\n\t\t\t\t\t\tpulumi.String(\"Recover\"),\n\t\t\t\t\t\tpulumi.String(\"Restore\"),\n\t\t\t\t\t\tpulumi.String(\"Set\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = keyvault.NewCertificate(ctx, \"example\", \u0026keyvault.CertificateArgs{\n\t\t\tName:       pulumi.String(\"generated-cert\"),\n\t\t\tKeyVaultId: exampleKeyVault.ID(),\n\t\t\tCertificatePolicy: \u0026keyvault.CertificateCertificatePolicyArgs{\n\t\t\t\tIssuerParameters: \u0026keyvault.CertificateCertificatePolicyIssuerParametersArgs{\n\t\t\t\t\tName: pulumi.String(\"Self\"),\n\t\t\t\t},\n\t\t\t\tKeyProperties: \u0026keyvault.CertificateCertificatePolicyKeyPropertiesArgs{\n\t\t\t\t\tExportable: pulumi.Bool(true),\n\t\t\t\t\tKeySize:    pulumi.Int(2048),\n\t\t\t\t\tKeyType:    pulumi.String(\"RSA\"),\n\t\t\t\t\tReuseKey:   pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t\tLifetimeActions: keyvault.CertificateCertificatePolicyLifetimeActionArray{\n\t\t\t\t\t\u0026keyvault.CertificateCertificatePolicyLifetimeActionArgs{\n\t\t\t\t\t\tAction: \u0026keyvault.CertificateCertificatePolicyLifetimeActionActionArgs{\n\t\t\t\t\t\t\tActionType: pulumi.String(\"AutoRenew\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tTrigger: \u0026keyvault.CertificateCertificatePolicyLifetimeActionTriggerArgs{\n\t\t\t\t\t\t\tDaysBeforeExpiry: pulumi.Int(30),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tSecretProperties: \u0026keyvault.CertificateCertificatePolicySecretPropertiesArgs{\n\t\t\t\t\tContentType: pulumi.String(\"application/x-pkcs12\"),\n\t\t\t\t},\n\t\t\t\tX509CertificateProperties: \u0026keyvault.CertificateCertificatePolicyX509CertificatePropertiesArgs{\n\t\t\t\t\tExtendedKeyUsages: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"1.3.6.1.5.5.7.3.1\"),\n\t\t\t\t\t},\n\t\t\t\t\tKeyUsages: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"cRLSign\"),\n\t\t\t\t\t\tpulumi.String(\"dataEncipherment\"),\n\t\t\t\t\t\tpulumi.String(\"digitalSignature\"),\n\t\t\t\t\t\tpulumi.String(\"keyAgreement\"),\n\t\t\t\t\t\tpulumi.String(\"keyCertSign\"),\n\t\t\t\t\t\tpulumi.String(\"keyEncipherment\"),\n\t\t\t\t\t},\n\t\t\t\t\tSubjectAlternativeNames: \u0026keyvault.CertificateCertificatePolicyX509CertificatePropertiesSubjectAlternativeNamesArgs{\n\t\t\t\t\t\tDnsNames: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"internal.contoso.com\"),\n\t\t\t\t\t\t\tpulumi.String(\"domain.hello.world\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tSubject:          pulumi.String(\"CN=hello-world\"),\n\t\t\t\t\tValidityInMonths: pulumi.Int(12),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.keyvault.KeyVault;\nimport com.pulumi.azure.keyvault.KeyVaultArgs;\nimport com.pulumi.azure.keyvault.inputs.KeyVaultAccessPolicyArgs;\nimport com.pulumi.azure.keyvault.Certificate;\nimport com.pulumi.azure.keyvault.CertificateArgs;\nimport com.pulumi.azure.keyvault.inputs.CertificateCertificatePolicyArgs;\nimport com.pulumi.azure.keyvault.inputs.CertificateCertificatePolicyIssuerParametersArgs;\nimport com.pulumi.azure.keyvault.inputs.CertificateCertificatePolicyKeyPropertiesArgs;\nimport com.pulumi.azure.keyvault.inputs.CertificateCertificatePolicySecretPropertiesArgs;\nimport com.pulumi.azure.keyvault.inputs.CertificateCertificatePolicyX509CertificatePropertiesArgs;\nimport com.pulumi.azure.keyvault.inputs.CertificateCertificatePolicyX509CertificatePropertiesSubjectAlternativeNamesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var current = CoreFunctions.getClientConfig(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleKeyVault = new KeyVault(\"exampleKeyVault\", KeyVaultArgs.builder()\n            .name(\"examplekeyvault\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .tenantId(current.tenantId())\n            .skuName(\"standard\")\n            .softDeleteRetentionDays(7)\n            .accessPolicies(KeyVaultAccessPolicyArgs.builder()\n                .tenantId(current.tenantId())\n                .objectId(current.objectId())\n                .certificatePermissions(                \n                    \"Create\",\n                    \"Delete\",\n                    \"DeleteIssuers\",\n                    \"Get\",\n                    \"GetIssuers\",\n                    \"Import\",\n                    \"List\",\n                    \"ListIssuers\",\n                    \"ManageContacts\",\n                    \"ManageIssuers\",\n                    \"Purge\",\n                    \"SetIssuers\",\n                    \"Update\")\n                .keyPermissions(                \n                    \"Backup\",\n                    \"Create\",\n                    \"Decrypt\",\n                    \"Delete\",\n                    \"Encrypt\",\n                    \"Get\",\n                    \"Import\",\n                    \"List\",\n                    \"Purge\",\n                    \"Recover\",\n                    \"Restore\",\n                    \"Sign\",\n                    \"UnwrapKey\",\n                    \"Update\",\n                    \"Verify\",\n                    \"WrapKey\")\n                .secretPermissions(                \n                    \"Backup\",\n                    \"Delete\",\n                    \"Get\",\n                    \"List\",\n                    \"Purge\",\n                    \"Recover\",\n                    \"Restore\",\n                    \"Set\")\n                .build())\n            .build());\n\n        var exampleCertificate = new Certificate(\"exampleCertificate\", CertificateArgs.builder()\n            .name(\"generated-cert\")\n            .keyVaultId(exampleKeyVault.id())\n            .certificatePolicy(CertificateCertificatePolicyArgs.builder()\n                .issuerParameters(CertificateCertificatePolicyIssuerParametersArgs.builder()\n                    .name(\"Self\")\n                    .build())\n                .keyProperties(CertificateCertificatePolicyKeyPropertiesArgs.builder()\n                    .exportable(true)\n                    .keySize(2048)\n                    .keyType(\"RSA\")\n                    .reuseKey(true)\n                    .build())\n                .lifetimeActions(CertificateCertificatePolicyLifetimeActionArgs.builder()\n                    .action(CertificateCertificatePolicyLifetimeActionActionArgs.builder()\n                        .actionType(\"AutoRenew\")\n                        .build())\n                    .trigger(CertificateCertificatePolicyLifetimeActionTriggerArgs.builder()\n                        .daysBeforeExpiry(30)\n                        .build())\n                    .build())\n                .secretProperties(CertificateCertificatePolicySecretPropertiesArgs.builder()\n                    .contentType(\"application/x-pkcs12\")\n                    .build())\n                .x509CertificateProperties(CertificateCertificatePolicyX509CertificatePropertiesArgs.builder()\n                    .extendedKeyUsages(\"1.3.6.1.5.5.7.3.1\")\n                    .keyUsages(                    \n                        \"cRLSign\",\n                        \"dataEncipherment\",\n                        \"digitalSignature\",\n                        \"keyAgreement\",\n                        \"keyCertSign\",\n                        \"keyEncipherment\")\n                    .subjectAlternativeNames(CertificateCertificatePolicyX509CertificatePropertiesSubjectAlternativeNamesArgs.builder()\n                        .dnsNames(                        \n                            \"internal.contoso.com\",\n                            \"domain.hello.world\")\n                        .build())\n                    .subject(\"CN=hello-world\")\n                    .validityInMonths(12)\n                    .build())\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleKeyVault:\n    type: azure:keyvault:KeyVault\n    name: example\n    properties:\n      name: examplekeyvault\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      tenantId: ${current.tenantId}\n      skuName: standard\n      softDeleteRetentionDays: 7\n      accessPolicies:\n        - tenantId: ${current.tenantId}\n          objectId: ${current.objectId}\n          certificatePermissions:\n            - Create\n            - Delete\n            - DeleteIssuers\n            - Get\n            - GetIssuers\n            - Import\n            - List\n            - ListIssuers\n            - ManageContacts\n            - ManageIssuers\n            - Purge\n            - SetIssuers\n            - Update\n          keyPermissions:\n            - Backup\n            - Create\n            - Decrypt\n            - Delete\n            - Encrypt\n            - Get\n            - Import\n            - List\n            - Purge\n            - Recover\n            - Restore\n            - Sign\n            - UnwrapKey\n            - Update\n            - Verify\n            - WrapKey\n          secretPermissions:\n            - Backup\n            - Delete\n            - Get\n            - List\n            - Purge\n            - Recover\n            - Restore\n            - Set\n  exampleCertificate:\n    type: azure:keyvault:Certificate\n    name: example\n    properties:\n      name: generated-cert\n      keyVaultId: ${exampleKeyVault.id}\n      certificatePolicy:\n        issuerParameters:\n          name: Self\n        keyProperties:\n          exportable: true\n          keySize: 2048\n          keyType: RSA\n          reuseKey: true\n        lifetimeActions:\n          - action:\n              actionType: AutoRenew\n            trigger:\n              daysBeforeExpiry: 30\n        secretProperties:\n          contentType: application/x-pkcs12\n        x509CertificateProperties:\n          extendedKeyUsages:\n            - 1.3.6.1.5.5.7.3.1\n          keyUsages:\n            - cRLSign\n            - dataEncipherment\n            - digitalSignature\n            - keyAgreement\n            - keyCertSign\n            - keyEncipherment\n          subjectAlternativeNames:\n            dnsNames:\n              - internal.contoso.com\n              - domain.hello.world\n          subject: CN=hello-world\n          validityInMonths: 12\nvariables:\n  current:\n    fn::invoke:\n      function: azure:core:getClientConfig\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nKey Vault Certificates can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:keyvault/certificate:Certificate example \"https://example-keyvault.vault.azure.net/certificates/example/fdf067c93bbb4b22bff4d8b7a9a56217\"\n```\n\n","properties":{"certificate":{"$ref":"#/types/azure:keyvault/CertificateCertificate:CertificateCertificate","description":"A \u003cspan pulumi-lang-nodejs=\"`certificate`\" pulumi-lang-dotnet=\"`Certificate`\" pulumi-lang-go=\"`certificate`\" pulumi-lang-python=\"`certificate`\" pulumi-lang-yaml=\"`certificate`\" pulumi-lang-java=\"`certificate`\"\u003e`certificate`\u003c/span\u003e block as defined below, used to Import an existing certificate. Changing this will create a new version of the Key Vault Certificate.\n","language":{"csharp":{"name":"KeyVaultCertificate"}}},"certificateAttributes":{"type":"array","items":{"$ref":"#/types/azure:keyvault/CertificateCertificateAttribute:CertificateCertificateAttribute"},"description":"A \u003cspan pulumi-lang-nodejs=\"`certificateAttribute`\" pulumi-lang-dotnet=\"`CertificateAttribute`\" pulumi-lang-go=\"`certificateAttribute`\" pulumi-lang-python=\"`certificate_attribute`\" pulumi-lang-yaml=\"`certificateAttribute`\" pulumi-lang-java=\"`certificateAttribute`\"\u003e`certificate_attribute`\u003c/span\u003e block as defined below.\n"},"certificateData":{"type":"string","description":"The raw Key Vault Certificate data represented as a hexadecimal string.\n"},"certificateDataBase64":{"type":"string","description":"The Base64 encoded Key Vault Certificate data.\n"},"certificatePolicy":{"$ref":"#/types/azure:keyvault/CertificateCertificatePolicy:CertificateCertificatePolicy","description":"A \u003cspan pulumi-lang-nodejs=\"`certificatePolicy`\" pulumi-lang-dotnet=\"`CertificatePolicy`\" pulumi-lang-go=\"`certificatePolicy`\" pulumi-lang-python=\"`certificate_policy`\" pulumi-lang-yaml=\"`certificatePolicy`\" pulumi-lang-java=\"`certificatePolicy`\"\u003e`certificate_policy`\u003c/span\u003e block as defined below. Changing this (except the \u003cspan pulumi-lang-nodejs=\"`lifetimeAction`\" pulumi-lang-dotnet=\"`LifetimeAction`\" pulumi-lang-go=\"`lifetimeAction`\" pulumi-lang-python=\"`lifetime_action`\" pulumi-lang-yaml=\"`lifetimeAction`\" pulumi-lang-java=\"`lifetimeAction`\"\u003e`lifetime_action`\u003c/span\u003e field) will create a new version of the Key Vault Certificate.\n\n\u003e **NOTE:** When creating a Key Vault Certificate, at least one of \u003cspan pulumi-lang-nodejs=\"`certificate`\" pulumi-lang-dotnet=\"`Certificate`\" pulumi-lang-go=\"`certificate`\" pulumi-lang-python=\"`certificate`\" pulumi-lang-yaml=\"`certificate`\" pulumi-lang-java=\"`certificate`\"\u003e`certificate`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`certificatePolicy`\" pulumi-lang-dotnet=\"`CertificatePolicy`\" pulumi-lang-go=\"`certificatePolicy`\" pulumi-lang-python=\"`certificate_policy`\" pulumi-lang-yaml=\"`certificatePolicy`\" pulumi-lang-java=\"`certificatePolicy`\"\u003e`certificate_policy`\u003c/span\u003e is required. Provide \u003cspan pulumi-lang-nodejs=\"`certificate`\" pulumi-lang-dotnet=\"`Certificate`\" pulumi-lang-go=\"`certificate`\" pulumi-lang-python=\"`certificate`\" pulumi-lang-yaml=\"`certificate`\" pulumi-lang-java=\"`certificate`\"\u003e`certificate`\u003c/span\u003e to import an existing certificate, \u003cspan pulumi-lang-nodejs=\"`certificatePolicy`\" pulumi-lang-dotnet=\"`CertificatePolicy`\" pulumi-lang-go=\"`certificatePolicy`\" pulumi-lang-python=\"`certificate_policy`\" pulumi-lang-yaml=\"`certificatePolicy`\" pulumi-lang-java=\"`certificatePolicy`\"\u003e`certificate_policy`\u003c/span\u003e to generate a new certificate.\n"},"keyVaultId":{"type":"string","description":"The ID of the Key Vault where the Certificate should be created. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"Specifies the name of the Key Vault Certificate. Changing this forces a new resource to be created.\n"},"resourceManagerId":{"type":"string","description":"The (Versioned) ID for this Key Vault Certificate. This property points to a specific version of a Key Vault Certificate, as such using this won't auto-rotate values if used in other Azure Services.\n"},"resourceManagerVersionlessId":{"type":"string","description":"The Versionless ID of the Key Vault Certificate. This property allows other Azure Services (that support it) to auto-rotate their value when the Key Vault Certificate is updated.\n"},"secretId":{"type":"string","description":"The ID of the associated Key Vault Secret.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"thumbprint":{"type":"string","description":"The X509 Thumbprint of the Key Vault Certificate represented as a hexadecimal string.\n"},"version":{"type":"string","description":"The current version of the Key Vault Certificate.\n"},"versionlessId":{"type":"string","description":"The Base ID of the Key Vault Certificate.\n"},"versionlessSecretId":{"type":"string","description":"The Base ID of the Key Vault Secret.\n"}},"required":["certificateAttributes","certificateData","certificateDataBase64","certificatePolicy","keyVaultId","name","resourceManagerId","resourceManagerVersionlessId","secretId","thumbprint","version","versionlessId","versionlessSecretId"],"inputProperties":{"certificate":{"$ref":"#/types/azure:keyvault/CertificateCertificate:CertificateCertificate","description":"A \u003cspan pulumi-lang-nodejs=\"`certificate`\" pulumi-lang-dotnet=\"`Certificate`\" pulumi-lang-go=\"`certificate`\" pulumi-lang-python=\"`certificate`\" pulumi-lang-yaml=\"`certificate`\" pulumi-lang-java=\"`certificate`\"\u003e`certificate`\u003c/span\u003e block as defined below, used to Import an existing certificate. Changing this will create a new version of the Key Vault Certificate.\n","language":{"csharp":{"name":"KeyVaultCertificate"}}},"certificatePolicy":{"$ref":"#/types/azure:keyvault/CertificateCertificatePolicy:CertificateCertificatePolicy","description":"A \u003cspan pulumi-lang-nodejs=\"`certificatePolicy`\" pulumi-lang-dotnet=\"`CertificatePolicy`\" pulumi-lang-go=\"`certificatePolicy`\" pulumi-lang-python=\"`certificate_policy`\" pulumi-lang-yaml=\"`certificatePolicy`\" pulumi-lang-java=\"`certificatePolicy`\"\u003e`certificate_policy`\u003c/span\u003e block as defined below. Changing this (except the \u003cspan pulumi-lang-nodejs=\"`lifetimeAction`\" pulumi-lang-dotnet=\"`LifetimeAction`\" pulumi-lang-go=\"`lifetimeAction`\" pulumi-lang-python=\"`lifetime_action`\" pulumi-lang-yaml=\"`lifetimeAction`\" pulumi-lang-java=\"`lifetimeAction`\"\u003e`lifetime_action`\u003c/span\u003e field) will create a new version of the Key Vault Certificate.\n\n\u003e **NOTE:** When creating a Key Vault Certificate, at least one of \u003cspan pulumi-lang-nodejs=\"`certificate`\" pulumi-lang-dotnet=\"`Certificate`\" pulumi-lang-go=\"`certificate`\" pulumi-lang-python=\"`certificate`\" pulumi-lang-yaml=\"`certificate`\" pulumi-lang-java=\"`certificate`\"\u003e`certificate`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`certificatePolicy`\" pulumi-lang-dotnet=\"`CertificatePolicy`\" pulumi-lang-go=\"`certificatePolicy`\" pulumi-lang-python=\"`certificate_policy`\" pulumi-lang-yaml=\"`certificatePolicy`\" pulumi-lang-java=\"`certificatePolicy`\"\u003e`certificate_policy`\u003c/span\u003e is required. Provide \u003cspan pulumi-lang-nodejs=\"`certificate`\" pulumi-lang-dotnet=\"`Certificate`\" pulumi-lang-go=\"`certificate`\" pulumi-lang-python=\"`certificate`\" pulumi-lang-yaml=\"`certificate`\" pulumi-lang-java=\"`certificate`\"\u003e`certificate`\u003c/span\u003e to import an existing certificate, \u003cspan pulumi-lang-nodejs=\"`certificatePolicy`\" pulumi-lang-dotnet=\"`CertificatePolicy`\" pulumi-lang-go=\"`certificatePolicy`\" pulumi-lang-python=\"`certificate_policy`\" pulumi-lang-yaml=\"`certificatePolicy`\" pulumi-lang-java=\"`certificatePolicy`\"\u003e`certificate_policy`\u003c/span\u003e to generate a new certificate.\n"},"keyVaultId":{"type":"string","description":"The ID of the Key Vault where the Certificate should be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the Key Vault Certificate. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"requiredInputs":["keyVaultId"],"stateInputs":{"description":"Input properties used for looking up and filtering Certificate resources.\n","properties":{"certificate":{"$ref":"#/types/azure:keyvault/CertificateCertificate:CertificateCertificate","description":"A \u003cspan pulumi-lang-nodejs=\"`certificate`\" pulumi-lang-dotnet=\"`Certificate`\" pulumi-lang-go=\"`certificate`\" pulumi-lang-python=\"`certificate`\" pulumi-lang-yaml=\"`certificate`\" pulumi-lang-java=\"`certificate`\"\u003e`certificate`\u003c/span\u003e block as defined below, used to Import an existing certificate. Changing this will create a new version of the Key Vault Certificate.\n","language":{"csharp":{"name":"KeyVaultCertificate"}}},"certificateAttributes":{"type":"array","items":{"$ref":"#/types/azure:keyvault/CertificateCertificateAttribute:CertificateCertificateAttribute"},"description":"A \u003cspan pulumi-lang-nodejs=\"`certificateAttribute`\" pulumi-lang-dotnet=\"`CertificateAttribute`\" pulumi-lang-go=\"`certificateAttribute`\" pulumi-lang-python=\"`certificate_attribute`\" pulumi-lang-yaml=\"`certificateAttribute`\" pulumi-lang-java=\"`certificateAttribute`\"\u003e`certificate_attribute`\u003c/span\u003e block as defined below.\n"},"certificateData":{"type":"string","description":"The raw Key Vault Certificate data represented as a hexadecimal string.\n"},"certificateDataBase64":{"type":"string","description":"The Base64 encoded Key Vault Certificate data.\n"},"certificatePolicy":{"$ref":"#/types/azure:keyvault/CertificateCertificatePolicy:CertificateCertificatePolicy","description":"A \u003cspan pulumi-lang-nodejs=\"`certificatePolicy`\" pulumi-lang-dotnet=\"`CertificatePolicy`\" pulumi-lang-go=\"`certificatePolicy`\" pulumi-lang-python=\"`certificate_policy`\" pulumi-lang-yaml=\"`certificatePolicy`\" pulumi-lang-java=\"`certificatePolicy`\"\u003e`certificate_policy`\u003c/span\u003e block as defined below. Changing this (except the \u003cspan pulumi-lang-nodejs=\"`lifetimeAction`\" pulumi-lang-dotnet=\"`LifetimeAction`\" pulumi-lang-go=\"`lifetimeAction`\" pulumi-lang-python=\"`lifetime_action`\" pulumi-lang-yaml=\"`lifetimeAction`\" pulumi-lang-java=\"`lifetimeAction`\"\u003e`lifetime_action`\u003c/span\u003e field) will create a new version of the Key Vault Certificate.\n\n\u003e **NOTE:** When creating a Key Vault Certificate, at least one of \u003cspan pulumi-lang-nodejs=\"`certificate`\" pulumi-lang-dotnet=\"`Certificate`\" pulumi-lang-go=\"`certificate`\" pulumi-lang-python=\"`certificate`\" pulumi-lang-yaml=\"`certificate`\" pulumi-lang-java=\"`certificate`\"\u003e`certificate`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`certificatePolicy`\" pulumi-lang-dotnet=\"`CertificatePolicy`\" pulumi-lang-go=\"`certificatePolicy`\" pulumi-lang-python=\"`certificate_policy`\" pulumi-lang-yaml=\"`certificatePolicy`\" pulumi-lang-java=\"`certificatePolicy`\"\u003e`certificate_policy`\u003c/span\u003e is required. Provide \u003cspan pulumi-lang-nodejs=\"`certificate`\" pulumi-lang-dotnet=\"`Certificate`\" pulumi-lang-go=\"`certificate`\" pulumi-lang-python=\"`certificate`\" pulumi-lang-yaml=\"`certificate`\" pulumi-lang-java=\"`certificate`\"\u003e`certificate`\u003c/span\u003e to import an existing certificate, \u003cspan pulumi-lang-nodejs=\"`certificatePolicy`\" pulumi-lang-dotnet=\"`CertificatePolicy`\" pulumi-lang-go=\"`certificatePolicy`\" pulumi-lang-python=\"`certificate_policy`\" pulumi-lang-yaml=\"`certificatePolicy`\" pulumi-lang-java=\"`certificatePolicy`\"\u003e`certificate_policy`\u003c/span\u003e to generate a new certificate.\n"},"keyVaultId":{"type":"string","description":"The ID of the Key Vault where the Certificate should be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the Key Vault Certificate. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceManagerId":{"type":"string","description":"The (Versioned) ID for this Key Vault Certificate. This property points to a specific version of a Key Vault Certificate, as such using this won't auto-rotate values if used in other Azure Services.\n"},"resourceManagerVersionlessId":{"type":"string","description":"The Versionless ID of the Key Vault Certificate. This property allows other Azure Services (that support it) to auto-rotate their value when the Key Vault Certificate is updated.\n"},"secretId":{"type":"string","description":"The ID of the associated Key Vault Secret.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"thumbprint":{"type":"string","description":"The X509 Thumbprint of the Key Vault Certificate represented as a hexadecimal string.\n"},"version":{"type":"string","description":"The current version of the Key Vault Certificate.\n"},"versionlessId":{"type":"string","description":"The Base ID of the Key Vault Certificate.\n"},"versionlessSecretId":{"type":"string","description":"The Base ID of the Key Vault Secret.\n"}},"type":"object"},"aliases":[{"type":"azure:keyvault/certifiate:Certifiate"}]},"azure:keyvault/certificateContacts:CertificateContacts":{"description":"Manages Key Vault Certificate Contacts.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst current = azure.core.getClientConfig({});\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleKeyVault = new azure.keyvault.KeyVault(\"example\", {\n    name: \"examplekeyvault\",\n    location: example.location,\n    resourceGroupName: example.name,\n    tenantId: current.then(current =\u003e current.tenantId),\n    skuName: \"premium\",\n});\nconst exampleAccessPolicy = new azure.keyvault.AccessPolicy(\"example\", {\n    keyVaultId: exampleKeyVault.id,\n    tenantId: current.then(current =\u003e current.tenantId),\n    objectId: current.then(current =\u003e current.objectId),\n    certificatePermissions: [\"ManageContacts\"],\n    keyPermissions: [\"Create\"],\n    secretPermissions: [\"Set\"],\n});\nconst exampleCertificateContacts = new azure.keyvault.CertificateContacts(\"example\", {\n    keyVaultId: exampleKeyVault.id,\n    contacts: [\n        {\n            email: \"example@example.com\",\n            name: \"example\",\n            phone: \"01234567890\",\n        },\n        {\n            email: \"example2@example.com\",\n        },\n    ],\n}, {\n    dependsOn: [exampleAccessPolicy],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\ncurrent = azure.core.get_client_config()\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_key_vault = azure.keyvault.KeyVault(\"example\",\n    name=\"examplekeyvault\",\n    location=example.location,\n    resource_group_name=example.name,\n    tenant_id=current.tenant_id,\n    sku_name=\"premium\")\nexample_access_policy = azure.keyvault.AccessPolicy(\"example\",\n    key_vault_id=example_key_vault.id,\n    tenant_id=current.tenant_id,\n    object_id=current.object_id,\n    certificate_permissions=[\"ManageContacts\"],\n    key_permissions=[\"Create\"],\n    secret_permissions=[\"Set\"])\nexample_certificate_contacts = azure.keyvault.CertificateContacts(\"example\",\n    key_vault_id=example_key_vault.id,\n    contacts=[\n        {\n            \"email\": \"example@example.com\",\n            \"name\": \"example\",\n            \"phone\": \"01234567890\",\n        },\n        {\n            \"email\": \"example2@example.com\",\n        },\n    ],\n    opts = pulumi.ResourceOptions(depends_on=[example_access_policy]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var current = Azure.Core.GetClientConfig.Invoke();\n\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleKeyVault = new Azure.KeyVault.KeyVault(\"example\", new()\n    {\n        Name = \"examplekeyvault\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        TenantId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.TenantId),\n        SkuName = \"premium\",\n    });\n\n    var exampleAccessPolicy = new Azure.KeyVault.AccessPolicy(\"example\", new()\n    {\n        KeyVaultId = exampleKeyVault.Id,\n        TenantId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.TenantId),\n        ObjectId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.ObjectId),\n        CertificatePermissions = new[]\n        {\n            \"ManageContacts\",\n        },\n        KeyPermissions = new[]\n        {\n            \"Create\",\n        },\n        SecretPermissions = new[]\n        {\n            \"Set\",\n        },\n    });\n\n    var exampleCertificateContacts = new Azure.KeyVault.CertificateContacts(\"example\", new()\n    {\n        KeyVaultId = exampleKeyVault.Id,\n        Contacts = new[]\n        {\n            new Azure.KeyVault.Inputs.CertificateContactsContactArgs\n            {\n                Email = \"example@example.com\",\n                Name = \"example\",\n                Phone = \"01234567890\",\n            },\n            new Azure.KeyVault.Inputs.CertificateContactsContactArgs\n            {\n                Email = \"example2@example.com\",\n            },\n        },\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            exampleAccessPolicy,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/keyvault\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := core.GetClientConfig(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleKeyVault, err := keyvault.NewKeyVault(ctx, \"example\", \u0026keyvault.KeyVaultArgs{\n\t\t\tName:              pulumi.String(\"examplekeyvault\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tTenantId:          pulumi.String(current.TenantId),\n\t\t\tSkuName:           pulumi.String(\"premium\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccessPolicy, err := keyvault.NewAccessPolicy(ctx, \"example\", \u0026keyvault.AccessPolicyArgs{\n\t\t\tKeyVaultId: exampleKeyVault.ID(),\n\t\t\tTenantId:   pulumi.String(current.TenantId),\n\t\t\tObjectId:   pulumi.String(current.ObjectId),\n\t\t\tCertificatePermissions: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"ManageContacts\"),\n\t\t\t},\n\t\t\tKeyPermissions: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"Create\"),\n\t\t\t},\n\t\t\tSecretPermissions: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"Set\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = keyvault.NewCertificateContacts(ctx, \"example\", \u0026keyvault.CertificateContactsArgs{\n\t\t\tKeyVaultId: exampleKeyVault.ID(),\n\t\t\tContacts: keyvault.CertificateContactsContactArray{\n\t\t\t\t\u0026keyvault.CertificateContactsContactArgs{\n\t\t\t\t\tEmail: pulumi.String(\"example@example.com\"),\n\t\t\t\t\tName:  pulumi.String(\"example\"),\n\t\t\t\t\tPhone: pulumi.String(\"01234567890\"),\n\t\t\t\t},\n\t\t\t\t\u0026keyvault.CertificateContactsContactArgs{\n\t\t\t\t\tEmail: pulumi.String(\"example2@example.com\"),\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleAccessPolicy,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.keyvault.KeyVault;\nimport com.pulumi.azure.keyvault.KeyVaultArgs;\nimport com.pulumi.azure.keyvault.AccessPolicy;\nimport com.pulumi.azure.keyvault.AccessPolicyArgs;\nimport com.pulumi.azure.keyvault.CertificateContacts;\nimport com.pulumi.azure.keyvault.CertificateContactsArgs;\nimport com.pulumi.azure.keyvault.inputs.CertificateContactsContactArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var current = CoreFunctions.getClientConfig(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleKeyVault = new KeyVault(\"exampleKeyVault\", KeyVaultArgs.builder()\n            .name(\"examplekeyvault\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .tenantId(current.tenantId())\n            .skuName(\"premium\")\n            .build());\n\n        var exampleAccessPolicy = new AccessPolicy(\"exampleAccessPolicy\", AccessPolicyArgs.builder()\n            .keyVaultId(exampleKeyVault.id())\n            .tenantId(current.tenantId())\n            .objectId(current.objectId())\n            .certificatePermissions(\"ManageContacts\")\n            .keyPermissions(\"Create\")\n            .secretPermissions(\"Set\")\n            .build());\n\n        var exampleCertificateContacts = new CertificateContacts(\"exampleCertificateContacts\", CertificateContactsArgs.builder()\n            .keyVaultId(exampleKeyVault.id())\n            .contacts(            \n                CertificateContactsContactArgs.builder()\n                    .email(\"example@example.com\")\n                    .name(\"example\")\n                    .phone(\"01234567890\")\n                    .build(),\n                CertificateContactsContactArgs.builder()\n                    .email(\"example2@example.com\")\n                    .build())\n            .build(), CustomResourceOptions.builder()\n                .dependsOn(exampleAccessPolicy)\n                .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleKeyVault:\n    type: azure:keyvault:KeyVault\n    name: example\n    properties:\n      name: examplekeyvault\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      tenantId: ${current.tenantId}\n      skuName: premium\n  exampleAccessPolicy:\n    type: azure:keyvault:AccessPolicy\n    name: example\n    properties:\n      keyVaultId: ${exampleKeyVault.id}\n      tenantId: ${current.tenantId}\n      objectId: ${current.objectId}\n      certificatePermissions:\n        - ManageContacts\n      keyPermissions:\n        - Create\n      secretPermissions:\n        - Set\n  exampleCertificateContacts:\n    type: azure:keyvault:CertificateContacts\n    name: example\n    properties:\n      keyVaultId: ${exampleKeyVault.id}\n      contacts:\n        - email: example@example.com\n          name: example\n          phone: '01234567890'\n        - email: example2@example.com\n    options:\n      dependsOn:\n        - ${exampleAccessPolicy}\nvariables:\n  current:\n    fn::invoke:\n      function: azure:core:getClientConfig\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nKey Vault Certificate Contacts can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:keyvault/certificateContacts:CertificateContacts example https://example-keyvault.vault.azure.net/certificates/contacts\n```\n\n","properties":{"contacts":{"type":"array","items":{"$ref":"#/types/azure:keyvault/CertificateContactsContact:CertificateContactsContact"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`contact`\" pulumi-lang-dotnet=\"`Contact`\" pulumi-lang-go=\"`contact`\" pulumi-lang-python=\"`contact`\" pulumi-lang-yaml=\"`contact`\" pulumi-lang-java=\"`contact`\"\u003e`contact`\u003c/span\u003e blocks as defined below.\n"},"keyVaultId":{"type":"string","description":"The ID of the Key Vault. Changing this forces a new resource to be created.\n"}},"required":["keyVaultId"],"inputProperties":{"contacts":{"type":"array","items":{"$ref":"#/types/azure:keyvault/CertificateContactsContact:CertificateContactsContact"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`contact`\" pulumi-lang-dotnet=\"`Contact`\" pulumi-lang-go=\"`contact`\" pulumi-lang-python=\"`contact`\" pulumi-lang-yaml=\"`contact`\" pulumi-lang-java=\"`contact`\"\u003e`contact`\u003c/span\u003e blocks as defined below.\n"},"keyVaultId":{"type":"string","description":"The ID of the Key Vault. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["keyVaultId"],"stateInputs":{"description":"Input properties used for looking up and filtering CertificateContacts resources.\n","properties":{"contacts":{"type":"array","items":{"$ref":"#/types/azure:keyvault/CertificateContactsContact:CertificateContactsContact"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`contact`\" pulumi-lang-dotnet=\"`Contact`\" pulumi-lang-go=\"`contact`\" pulumi-lang-python=\"`contact`\" pulumi-lang-yaml=\"`contact`\" pulumi-lang-java=\"`contact`\"\u003e`contact`\u003c/span\u003e blocks as defined below.\n"},"keyVaultId":{"type":"string","description":"The ID of the Key Vault. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:keyvault/certificateIssuer:CertificateIssuer":{"description":"Manages a Key Vault Certificate Issuer.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst current = azure.core.getClientConfig({});\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleKeyVault = new azure.keyvault.KeyVault(\"example\", {\n    name: \"examplekeyvault\",\n    location: example.location,\n    resourceGroupName: example.name,\n    skuName: \"standard\",\n    tenantId: current.then(current =\u003e current.tenantId),\n});\nconst exampleCertificateIssuer = new azure.keyvault.CertificateIssuer(\"example\", {\n    name: \"example-issuer\",\n    orgId: \"ExampleOrgName\",\n    keyVaultId: exampleKeyVault.id,\n    providerName: \"DigiCert\",\n    accountId: \"0000\",\n    password: \"example-password\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\ncurrent = azure.core.get_client_config()\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_key_vault = azure.keyvault.KeyVault(\"example\",\n    name=\"examplekeyvault\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku_name=\"standard\",\n    tenant_id=current.tenant_id)\nexample_certificate_issuer = azure.keyvault.CertificateIssuer(\"example\",\n    name=\"example-issuer\",\n    org_id=\"ExampleOrgName\",\n    key_vault_id=example_key_vault.id,\n    provider_name=\"DigiCert\",\n    account_id=\"0000\",\n    password=\"example-password\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var current = Azure.Core.GetClientConfig.Invoke();\n\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleKeyVault = new Azure.KeyVault.KeyVault(\"example\", new()\n    {\n        Name = \"examplekeyvault\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        SkuName = \"standard\",\n        TenantId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.TenantId),\n    });\n\n    var exampleCertificateIssuer = new Azure.KeyVault.CertificateIssuer(\"example\", new()\n    {\n        Name = \"example-issuer\",\n        OrgId = \"ExampleOrgName\",\n        KeyVaultId = exampleKeyVault.Id,\n        ProviderName = \"DigiCert\",\n        AccountId = \"0000\",\n        Password = \"example-password\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/keyvault\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := core.GetClientConfig(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleKeyVault, err := keyvault.NewKeyVault(ctx, \"example\", \u0026keyvault.KeyVaultArgs{\n\t\t\tName:              pulumi.String(\"examplekeyvault\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSkuName:           pulumi.String(\"standard\"),\n\t\t\tTenantId:          pulumi.String(current.TenantId),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = keyvault.NewCertificateIssuer(ctx, \"example\", \u0026keyvault.CertificateIssuerArgs{\n\t\t\tName:         pulumi.String(\"example-issuer\"),\n\t\t\tOrgId:        pulumi.String(\"ExampleOrgName\"),\n\t\t\tKeyVaultId:   exampleKeyVault.ID(),\n\t\t\tProviderName: pulumi.String(\"DigiCert\"),\n\t\t\tAccountId:    pulumi.String(\"0000\"),\n\t\t\tPassword:     pulumi.String(\"example-password\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.keyvault.KeyVault;\nimport com.pulumi.azure.keyvault.KeyVaultArgs;\nimport com.pulumi.azure.keyvault.CertificateIssuer;\nimport com.pulumi.azure.keyvault.CertificateIssuerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var current = CoreFunctions.getClientConfig(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleKeyVault = new KeyVault(\"exampleKeyVault\", KeyVaultArgs.builder()\n            .name(\"examplekeyvault\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .skuName(\"standard\")\n            .tenantId(current.tenantId())\n            .build());\n\n        var exampleCertificateIssuer = new CertificateIssuer(\"exampleCertificateIssuer\", CertificateIssuerArgs.builder()\n            .name(\"example-issuer\")\n            .orgId(\"ExampleOrgName\")\n            .keyVaultId(exampleKeyVault.id())\n            .providerName(\"DigiCert\")\n            .accountId(\"0000\")\n            .password(\"example-password\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleKeyVault:\n    type: azure:keyvault:KeyVault\n    name: example\n    properties:\n      name: examplekeyvault\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      skuName: standard\n      tenantId: ${current.tenantId}\n  exampleCertificateIssuer:\n    type: azure:keyvault:CertificateIssuer\n    name: example\n    properties:\n      name: example-issuer\n      orgId: ExampleOrgName\n      keyVaultId: ${exampleKeyVault.id}\n      providerName: DigiCert\n      accountId: '0000'\n      password: example-password\nvariables:\n  current:\n    fn::invoke:\n      function: azure:core:getClientConfig\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nKey Vault Certificate Issuers can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:keyvault/certificateIssuer:CertificateIssuer example \"https://key-vault-name.vault.azure.net/certificates/issuers/example\"\n```\n\n","properties":{"accountId":{"type":"string","description":"The account number with the third-party Certificate Issuer.\n"},"admins":{"type":"array","items":{"$ref":"#/types/azure:keyvault/CertificateIssuerAdmin:CertificateIssuerAdmin"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`admin`\" pulumi-lang-dotnet=\"`Admin`\" pulumi-lang-go=\"`admin`\" pulumi-lang-python=\"`admin`\" pulumi-lang-yaml=\"`admin`\" pulumi-lang-java=\"`admin`\"\u003e`admin`\u003c/span\u003e blocks as defined below.\n"},"keyVaultId":{"type":"string","description":"The ID of the Key Vault in which to create the Certificate Issuer. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"The name which should be used for this Key Vault Certificate Issuer. Changing this forces a new Key Vault Certificate Issuer to be created.\n"},"orgId":{"type":"string","description":"The ID of the organization as provided to the issuer.\n"},"password":{"type":"string","description":"The password associated with the account and organization ID at the third-party Certificate Issuer. If not specified, will not overwrite any previous value.\n","secret":true},"providerName":{"type":"string","description":"The name of the third-party Certificate Issuer. Possible values are: `DigiCert`, `GlobalSign`, `OneCertV2-PrivateCA`, `OneCertV2-PublicCA` and `SslAdminV2`.\n"}},"required":["keyVaultId","name","providerName"],"inputProperties":{"accountId":{"type":"string","description":"The account number with the third-party Certificate Issuer.\n"},"admins":{"type":"array","items":{"$ref":"#/types/azure:keyvault/CertificateIssuerAdmin:CertificateIssuerAdmin"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`admin`\" pulumi-lang-dotnet=\"`Admin`\" pulumi-lang-go=\"`admin`\" pulumi-lang-python=\"`admin`\" pulumi-lang-yaml=\"`admin`\" pulumi-lang-java=\"`admin`\"\u003e`admin`\u003c/span\u003e blocks as defined below.\n"},"keyVaultId":{"type":"string","description":"The ID of the Key Vault in which to create the Certificate Issuer. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Key Vault Certificate Issuer. Changing this forces a new Key Vault Certificate Issuer to be created.\n","willReplaceOnChanges":true},"orgId":{"type":"string","description":"The ID of the organization as provided to the issuer.\n"},"password":{"type":"string","description":"The password associated with the account and organization ID at the third-party Certificate Issuer. If not specified, will not overwrite any previous value.\n","secret":true},"providerName":{"type":"string","description":"The name of the third-party Certificate Issuer. Possible values are: `DigiCert`, `GlobalSign`, `OneCertV2-PrivateCA`, `OneCertV2-PublicCA` and `SslAdminV2`.\n"}},"requiredInputs":["keyVaultId","providerName"],"stateInputs":{"description":"Input properties used for looking up and filtering CertificateIssuer resources.\n","properties":{"accountId":{"type":"string","description":"The account number with the third-party Certificate Issuer.\n"},"admins":{"type":"array","items":{"$ref":"#/types/azure:keyvault/CertificateIssuerAdmin:CertificateIssuerAdmin"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`admin`\" pulumi-lang-dotnet=\"`Admin`\" pulumi-lang-go=\"`admin`\" pulumi-lang-python=\"`admin`\" pulumi-lang-yaml=\"`admin`\" pulumi-lang-java=\"`admin`\"\u003e`admin`\u003c/span\u003e blocks as defined below.\n"},"keyVaultId":{"type":"string","description":"The ID of the Key Vault in which to create the Certificate Issuer. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Key Vault Certificate Issuer. Changing this forces a new Key Vault Certificate Issuer to be created.\n","willReplaceOnChanges":true},"orgId":{"type":"string","description":"The ID of the organization as provided to the issuer.\n"},"password":{"type":"string","description":"The password associated with the account and organization ID at the third-party Certificate Issuer. If not specified, will not overwrite any previous value.\n","secret":true},"providerName":{"type":"string","description":"The name of the third-party Certificate Issuer. Possible values are: `DigiCert`, `GlobalSign`, `OneCertV2-PrivateCA`, `OneCertV2-PublicCA` and `SslAdminV2`.\n"}},"type":"object"}},"azure:keyvault/key:Key":{"description":"Manages a Key Vault Key.\n\n## Example Usage\n\n\u003e **Note:** To use this resource, your client should have RBAC roles with permissions like `Key Vault Crypto Officer` or `Key Vault Administrator` or an assigned Key Vault Access Policy with permissions `Create`,`Delete`,`Get`,`Purge`,`Recover`,`Update` and `GetRotationPolicy` for keys without Rotation Policy. Include `SetRotationPolicy` for keys with Rotation Policy.\n\n\u003e **Note:** The Azure Provider includes a Feature Toggle which will purge a Key Vault Key resource on destroy, rather than the default soft-delete. See \u003cspan pulumi-lang-nodejs=\"`purgeSoftDeletedKeysOnDestroy`\" pulumi-lang-dotnet=\"`PurgeSoftDeletedKeysOnDestroy`\" pulumi-lang-go=\"`purgeSoftDeletedKeysOnDestroy`\" pulumi-lang-python=\"`purge_soft_deleted_keys_on_destroy`\" pulumi-lang-yaml=\"`purgeSoftDeletedKeysOnDestroy`\" pulumi-lang-java=\"`purgeSoftDeletedKeysOnDestroy`\"\u003e`purge_soft_deleted_keys_on_destroy`\u003c/span\u003e for more information.\n\n\n### Additional Examples\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst current = azure.core.getClientConfig({});\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleKeyVault = new azure.keyvault.KeyVault(\"example\", {\n    name: \"examplekeyvault\",\n    location: example.location,\n    resourceGroupName: example.name,\n    tenantId: current.then(current =\u003e current.tenantId),\n    skuName: \"premium\",\n    softDeleteRetentionDays: 7,\n    accessPolicies: [{\n        tenantId: current.then(current =\u003e current.tenantId),\n        objectId: current.then(current =\u003e current.objectId),\n        keyPermissions: [\n            \"Create\",\n            \"Delete\",\n            \"Get\",\n            \"Purge\",\n            \"Recover\",\n            \"Update\",\n            \"GetRotationPolicy\",\n            \"SetRotationPolicy\",\n        ],\n        secretPermissions: [\"Set\"],\n    }],\n});\nconst generated = new azure.keyvault.Key(\"generated\", {\n    name: \"generated-certificate\",\n    keyVaultId: exampleKeyVault.id,\n    keyType: \"RSA\",\n    keySize: 2048,\n    keyOpts: [\n        \"decrypt\",\n        \"encrypt\",\n        \"sign\",\n        \"unwrapKey\",\n        \"verify\",\n        \"wrapKey\",\n    ],\n    rotationPolicy: {\n        automatic: {\n            timeBeforeExpiry: \"P30D\",\n        },\n        expireAfter: \"P90D\",\n        notifyBeforeExpiry: \"P29D\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\ncurrent = azure.core.get_client_config()\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_key_vault = azure.keyvault.KeyVault(\"example\",\n    name=\"examplekeyvault\",\n    location=example.location,\n    resource_group_name=example.name,\n    tenant_id=current.tenant_id,\n    sku_name=\"premium\",\n    soft_delete_retention_days=7,\n    access_policies=[{\n        \"tenant_id\": current.tenant_id,\n        \"object_id\": current.object_id,\n        \"key_permissions\": [\n            \"Create\",\n            \"Delete\",\n            \"Get\",\n            \"Purge\",\n            \"Recover\",\n            \"Update\",\n            \"GetRotationPolicy\",\n            \"SetRotationPolicy\",\n        ],\n        \"secret_permissions\": [\"Set\"],\n    }])\ngenerated = azure.keyvault.Key(\"generated\",\n    name=\"generated-certificate\",\n    key_vault_id=example_key_vault.id,\n    key_type=\"RSA\",\n    key_size=2048,\n    key_opts=[\n        \"decrypt\",\n        \"encrypt\",\n        \"sign\",\n        \"unwrapKey\",\n        \"verify\",\n        \"wrapKey\",\n    ],\n    rotation_policy={\n        \"automatic\": {\n            \"time_before_expiry\": \"P30D\",\n        },\n        \"expire_after\": \"P90D\",\n        \"notify_before_expiry\": \"P29D\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var current = Azure.Core.GetClientConfig.Invoke();\n\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleKeyVault = new Azure.KeyVault.KeyVault(\"example\", new()\n    {\n        Name = \"examplekeyvault\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        TenantId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.TenantId),\n        SkuName = \"premium\",\n        SoftDeleteRetentionDays = 7,\n        AccessPolicies = new[]\n        {\n            new Azure.KeyVault.Inputs.KeyVaultAccessPolicyArgs\n            {\n                TenantId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.TenantId),\n                ObjectId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.ObjectId),\n                KeyPermissions = new[]\n                {\n                    \"Create\",\n                    \"Delete\",\n                    \"Get\",\n                    \"Purge\",\n                    \"Recover\",\n                    \"Update\",\n                    \"GetRotationPolicy\",\n                    \"SetRotationPolicy\",\n                },\n                SecretPermissions = new[]\n                {\n                    \"Set\",\n                },\n            },\n        },\n    });\n\n    var generated = new Azure.KeyVault.Key(\"generated\", new()\n    {\n        Name = \"generated-certificate\",\n        KeyVaultId = exampleKeyVault.Id,\n        KeyType = \"RSA\",\n        KeySize = 2048,\n        KeyOpts = new[]\n        {\n            \"decrypt\",\n            \"encrypt\",\n            \"sign\",\n            \"unwrapKey\",\n            \"verify\",\n            \"wrapKey\",\n        },\n        RotationPolicy = new Azure.KeyVault.Inputs.KeyRotationPolicyArgs\n        {\n            Automatic = new Azure.KeyVault.Inputs.KeyRotationPolicyAutomaticArgs\n            {\n                TimeBeforeExpiry = \"P30D\",\n            },\n            ExpireAfter = \"P90D\",\n            NotifyBeforeExpiry = \"P29D\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/keyvault\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := core.GetClientConfig(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleKeyVault, err := keyvault.NewKeyVault(ctx, \"example\", \u0026keyvault.KeyVaultArgs{\n\t\t\tName:                    pulumi.String(\"examplekeyvault\"),\n\t\t\tLocation:                example.Location,\n\t\t\tResourceGroupName:       example.Name,\n\t\t\tTenantId:                pulumi.String(current.TenantId),\n\t\t\tSkuName:                 pulumi.String(\"premium\"),\n\t\t\tSoftDeleteRetentionDays: pulumi.Int(7),\n\t\t\tAccessPolicies: keyvault.KeyVaultAccessPolicyArray{\n\t\t\t\t\u0026keyvault.KeyVaultAccessPolicyArgs{\n\t\t\t\t\tTenantId: pulumi.String(current.TenantId),\n\t\t\t\t\tObjectId: pulumi.String(current.ObjectId),\n\t\t\t\t\tKeyPermissions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"Create\"),\n\t\t\t\t\t\tpulumi.String(\"Delete\"),\n\t\t\t\t\t\tpulumi.String(\"Get\"),\n\t\t\t\t\t\tpulumi.String(\"Purge\"),\n\t\t\t\t\t\tpulumi.String(\"Recover\"),\n\t\t\t\t\t\tpulumi.String(\"Update\"),\n\t\t\t\t\t\tpulumi.String(\"GetRotationPolicy\"),\n\t\t\t\t\t\tpulumi.String(\"SetRotationPolicy\"),\n\t\t\t\t\t},\n\t\t\t\t\tSecretPermissions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"Set\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = keyvault.NewKey(ctx, \"generated\", \u0026keyvault.KeyArgs{\n\t\t\tName:       pulumi.String(\"generated-certificate\"),\n\t\t\tKeyVaultId: exampleKeyVault.ID(),\n\t\t\tKeyType:    pulumi.String(\"RSA\"),\n\t\t\tKeySize:    pulumi.Int(2048),\n\t\t\tKeyOpts: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"decrypt\"),\n\t\t\t\tpulumi.String(\"encrypt\"),\n\t\t\t\tpulumi.String(\"sign\"),\n\t\t\t\tpulumi.String(\"unwrapKey\"),\n\t\t\t\tpulumi.String(\"verify\"),\n\t\t\t\tpulumi.String(\"wrapKey\"),\n\t\t\t},\n\t\t\tRotationPolicy: \u0026keyvault.KeyRotationPolicyArgs{\n\t\t\t\tAutomatic: \u0026keyvault.KeyRotationPolicyAutomaticArgs{\n\t\t\t\t\tTimeBeforeExpiry: pulumi.String(\"P30D\"),\n\t\t\t\t},\n\t\t\t\tExpireAfter:        pulumi.String(\"P90D\"),\n\t\t\t\tNotifyBeforeExpiry: pulumi.String(\"P29D\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.keyvault.KeyVault;\nimport com.pulumi.azure.keyvault.KeyVaultArgs;\nimport com.pulumi.azure.keyvault.inputs.KeyVaultAccessPolicyArgs;\nimport com.pulumi.azure.keyvault.Key;\nimport com.pulumi.azure.keyvault.KeyArgs;\nimport com.pulumi.azure.keyvault.inputs.KeyRotationPolicyArgs;\nimport com.pulumi.azure.keyvault.inputs.KeyRotationPolicyAutomaticArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var current = CoreFunctions.getClientConfig(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleKeyVault = new KeyVault(\"exampleKeyVault\", KeyVaultArgs.builder()\n            .name(\"examplekeyvault\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .tenantId(current.tenantId())\n            .skuName(\"premium\")\n            .softDeleteRetentionDays(7)\n            .accessPolicies(KeyVaultAccessPolicyArgs.builder()\n                .tenantId(current.tenantId())\n                .objectId(current.objectId())\n                .keyPermissions(                \n                    \"Create\",\n                    \"Delete\",\n                    \"Get\",\n                    \"Purge\",\n                    \"Recover\",\n                    \"Update\",\n                    \"GetRotationPolicy\",\n                    \"SetRotationPolicy\")\n                .secretPermissions(\"Set\")\n                .build())\n            .build());\n\n        var generated = new Key(\"generated\", KeyArgs.builder()\n            .name(\"generated-certificate\")\n            .keyVaultId(exampleKeyVault.id())\n            .keyType(\"RSA\")\n            .keySize(2048)\n            .keyOpts(            \n                \"decrypt\",\n                \"encrypt\",\n                \"sign\",\n                \"unwrapKey\",\n                \"verify\",\n                \"wrapKey\")\n            .rotationPolicy(KeyRotationPolicyArgs.builder()\n                .automatic(KeyRotationPolicyAutomaticArgs.builder()\n                    .timeBeforeExpiry(\"P30D\")\n                    .build())\n                .expireAfter(\"P90D\")\n                .notifyBeforeExpiry(\"P29D\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleKeyVault:\n    type: azure:keyvault:KeyVault\n    name: example\n    properties:\n      name: examplekeyvault\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      tenantId: ${current.tenantId}\n      skuName: premium\n      softDeleteRetentionDays: 7\n      accessPolicies:\n        - tenantId: ${current.tenantId}\n          objectId: ${current.objectId}\n          keyPermissions:\n            - Create\n            - Delete\n            - Get\n            - Purge\n            - Recover\n            - Update\n            - GetRotationPolicy\n            - SetRotationPolicy\n          secretPermissions:\n            - Set\n  generated:\n    type: azure:keyvault:Key\n    properties:\n      name: generated-certificate\n      keyVaultId: ${exampleKeyVault.id}\n      keyType: RSA\n      keySize: 2048\n      keyOpts:\n        - decrypt\n        - encrypt\n        - sign\n        - unwrapKey\n        - verify\n        - wrapKey\n      rotationPolicy:\n        automatic:\n          timeBeforeExpiry: P30D\n        expireAfter: P90D\n        notifyBeforeExpiry: P29D\nvariables:\n  current:\n    fn::invoke:\n      function: azure:core:getClientConfig\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nKey Vault Key which is Enabled can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:keyvault/key:Key example \"https://example-keyvault.vault.azure.net/keys/example/fdf067c93bbb4b22bff4d8b7a9a56217\"\n```\n\n","properties":{"curve":{"type":"string","description":"Specifies the curve to use when creating an `EC` key. Possible values are `P-256`, `P-256K`, `P-384`, and `P-521`. This field will be required in a future release if \u003cspan pulumi-lang-nodejs=\"`keyType`\" pulumi-lang-dotnet=\"`KeyType`\" pulumi-lang-go=\"`keyType`\" pulumi-lang-python=\"`key_type`\" pulumi-lang-yaml=\"`keyType`\" pulumi-lang-java=\"`keyType`\"\u003e`key_type`\u003c/span\u003e is `EC` or `EC-HSM`. The API will default to `P-256` if nothing is specified. Changing this forces a new resource to be created.\n"},"e":{"type":"string","description":"The RSA public exponent of this Key Vault Key.\n"},"expirationDate":{"type":"string","description":"Expiration UTC datetime (Y-m-d'T'H:M:S'Z').\n\n\u003e **Note:** Removing this field from the config forces a new resource to be created.\n"},"keyOpts":{"type":"array","items":{"type":"string"},"description":"A list of JSON web key operations. Possible values include: \u003cspan pulumi-lang-nodejs=\"`decrypt`\" pulumi-lang-dotnet=\"`Decrypt`\" pulumi-lang-go=\"`decrypt`\" pulumi-lang-python=\"`decrypt`\" pulumi-lang-yaml=\"`decrypt`\" pulumi-lang-java=\"`decrypt`\"\u003e`decrypt`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`encrypt`\" pulumi-lang-dotnet=\"`Encrypt`\" pulumi-lang-go=\"`encrypt`\" pulumi-lang-python=\"`encrypt`\" pulumi-lang-yaml=\"`encrypt`\" pulumi-lang-java=\"`encrypt`\"\u003e`encrypt`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`sign`\" pulumi-lang-dotnet=\"`Sign`\" pulumi-lang-go=\"`sign`\" pulumi-lang-python=\"`sign`\" pulumi-lang-yaml=\"`sign`\" pulumi-lang-java=\"`sign`\"\u003e`sign`\u003c/span\u003e, `unwrapKey`, \u003cspan pulumi-lang-nodejs=\"`verify`\" pulumi-lang-dotnet=\"`Verify`\" pulumi-lang-go=\"`verify`\" pulumi-lang-python=\"`verify`\" pulumi-lang-yaml=\"`verify`\" pulumi-lang-java=\"`verify`\"\u003e`verify`\u003c/span\u003e and `wrapKey`. Please note these values are case sensitive.\n"},"keySize":{"type":"integer","description":"Specifies the Size of the RSA key to create in bytes. For example, 1024 or 2048. *Note*: This field is required if \u003cspan pulumi-lang-nodejs=\"`keyType`\" pulumi-lang-dotnet=\"`KeyType`\" pulumi-lang-go=\"`keyType`\" pulumi-lang-python=\"`key_type`\" pulumi-lang-yaml=\"`keyType`\" pulumi-lang-java=\"`keyType`\"\u003e`key_type`\u003c/span\u003e is `RSA` or `RSA-HSM`. Changing this forces a new resource to be created.\n"},"keyType":{"type":"string","description":"Specifies the Key Type to use for this Key Vault Key. Possible values are `EC` (Elliptic Curve), `EC-HSM`, `RSA` and `RSA-HSM`. Changing this forces a new resource to be created.\n"},"keyVaultId":{"type":"string","description":"The ID of the Key Vault where the Key should be created. Changing this forces a new resource to be created.\n"},"n":{"type":"string","description":"The RSA modulus of this Key Vault Key.\n"},"name":{"type":"string","description":"Specifies the name of the Key Vault Key. Changing this forces a new resource to be created.\n"},"notBeforeDate":{"type":"string","description":"Key not usable before the provided UTC datetime (Y-m-d'T'H:M:S'Z').\n\n\u003e **Note:** Once \u003cspan pulumi-lang-nodejs=\"`expirationDate`\" pulumi-lang-dotnet=\"`ExpirationDate`\" pulumi-lang-go=\"`expirationDate`\" pulumi-lang-python=\"`expiration_date`\" pulumi-lang-yaml=\"`expirationDate`\" pulumi-lang-java=\"`expirationDate`\"\u003e`expiration_date`\u003c/span\u003e is set, it's not possible to unset the key even if it is deleted \u0026 recreated as underlying Azure API uses the restore of the purged key.\n"},"publicKeyOpenssh":{"type":"string","description":"The OpenSSH encoded public key of this Key Vault Key.\n"},"publicKeyPem":{"type":"string","description":"The PEM encoded public key of this Key Vault Key.\n"},"resourceId":{"type":"string","description":"The (Versioned) ID for this Key Vault Key. This property points to a specific version of a Key Vault Key, as such using this won't auto-rotate values if used in other Azure Services.\n"},"resourceVersionlessId":{"type":"string","description":"The Versionless ID of the Key Vault Key. This property allows other Azure Services (that support it) to auto-rotate their value when the Key Vault Key is updated.\n"},"rotationPolicy":{"$ref":"#/types/azure:keyvault/KeyRotationPolicy:KeyRotationPolicy","description":"A \u003cspan pulumi-lang-nodejs=\"`rotationPolicy`\" pulumi-lang-dotnet=\"`RotationPolicy`\" pulumi-lang-go=\"`rotationPolicy`\" pulumi-lang-python=\"`rotation_policy`\" pulumi-lang-yaml=\"`rotationPolicy`\" pulumi-lang-java=\"`rotationPolicy`\"\u003e`rotation_policy`\u003c/span\u003e block as defined below.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"version":{"type":"string","description":"The current version of the Key Vault Key.\n"},"versionlessId":{"type":"string","description":"The Base ID of the Key Vault Key.\n"},"x":{"type":"string","description":"The EC X component of this Key Vault Key.\n"},"y":{"type":"string","description":"The EC Y component of this Key Vault Key.\n"}},"required":["curve","e","keyOpts","keyType","keyVaultId","n","name","publicKeyOpenssh","publicKeyPem","resourceId","resourceVersionlessId","version","versionlessId","x","y"],"inputProperties":{"curve":{"type":"string","description":"Specifies the curve to use when creating an `EC` key. Possible values are `P-256`, `P-256K`, `P-384`, and `P-521`. This field will be required in a future release if \u003cspan pulumi-lang-nodejs=\"`keyType`\" pulumi-lang-dotnet=\"`KeyType`\" pulumi-lang-go=\"`keyType`\" pulumi-lang-python=\"`key_type`\" pulumi-lang-yaml=\"`keyType`\" pulumi-lang-java=\"`keyType`\"\u003e`key_type`\u003c/span\u003e is `EC` or `EC-HSM`. The API will default to `P-256` if nothing is specified. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"expirationDate":{"type":"string","description":"Expiration UTC datetime (Y-m-d'T'H:M:S'Z').\n\n\u003e **Note:** Removing this field from the config forces a new resource to be created.\n"},"keyOpts":{"type":"array","items":{"type":"string"},"description":"A list of JSON web key operations. Possible values include: \u003cspan pulumi-lang-nodejs=\"`decrypt`\" pulumi-lang-dotnet=\"`Decrypt`\" pulumi-lang-go=\"`decrypt`\" pulumi-lang-python=\"`decrypt`\" pulumi-lang-yaml=\"`decrypt`\" pulumi-lang-java=\"`decrypt`\"\u003e`decrypt`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`encrypt`\" pulumi-lang-dotnet=\"`Encrypt`\" pulumi-lang-go=\"`encrypt`\" pulumi-lang-python=\"`encrypt`\" pulumi-lang-yaml=\"`encrypt`\" pulumi-lang-java=\"`encrypt`\"\u003e`encrypt`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`sign`\" pulumi-lang-dotnet=\"`Sign`\" pulumi-lang-go=\"`sign`\" pulumi-lang-python=\"`sign`\" pulumi-lang-yaml=\"`sign`\" pulumi-lang-java=\"`sign`\"\u003e`sign`\u003c/span\u003e, `unwrapKey`, \u003cspan pulumi-lang-nodejs=\"`verify`\" pulumi-lang-dotnet=\"`Verify`\" pulumi-lang-go=\"`verify`\" pulumi-lang-python=\"`verify`\" pulumi-lang-yaml=\"`verify`\" pulumi-lang-java=\"`verify`\"\u003e`verify`\u003c/span\u003e and `wrapKey`. Please note these values are case sensitive.\n"},"keySize":{"type":"integer","description":"Specifies the Size of the RSA key to create in bytes. For example, 1024 or 2048. *Note*: This field is required if \u003cspan pulumi-lang-nodejs=\"`keyType`\" pulumi-lang-dotnet=\"`KeyType`\" pulumi-lang-go=\"`keyType`\" pulumi-lang-python=\"`key_type`\" pulumi-lang-yaml=\"`keyType`\" pulumi-lang-java=\"`keyType`\"\u003e`key_type`\u003c/span\u003e is `RSA` or `RSA-HSM`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"keyType":{"type":"string","description":"Specifies the Key Type to use for this Key Vault Key. Possible values are `EC` (Elliptic Curve), `EC-HSM`, `RSA` and `RSA-HSM`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"keyVaultId":{"type":"string","description":"The ID of the Key Vault where the Key should be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the Key Vault Key. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"notBeforeDate":{"type":"string","description":"Key not usable before the provided UTC datetime (Y-m-d'T'H:M:S'Z').\n\n\u003e **Note:** Once \u003cspan pulumi-lang-nodejs=\"`expirationDate`\" pulumi-lang-dotnet=\"`ExpirationDate`\" pulumi-lang-go=\"`expirationDate`\" pulumi-lang-python=\"`expiration_date`\" pulumi-lang-yaml=\"`expirationDate`\" pulumi-lang-java=\"`expirationDate`\"\u003e`expiration_date`\u003c/span\u003e is set, it's not possible to unset the key even if it is deleted \u0026 recreated as underlying Azure API uses the restore of the purged key.\n"},"rotationPolicy":{"$ref":"#/types/azure:keyvault/KeyRotationPolicy:KeyRotationPolicy","description":"A \u003cspan pulumi-lang-nodejs=\"`rotationPolicy`\" pulumi-lang-dotnet=\"`RotationPolicy`\" pulumi-lang-go=\"`rotationPolicy`\" pulumi-lang-python=\"`rotation_policy`\" pulumi-lang-yaml=\"`rotationPolicy`\" pulumi-lang-java=\"`rotationPolicy`\"\u003e`rotation_policy`\u003c/span\u003e block as defined below.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"requiredInputs":["keyOpts","keyType","keyVaultId"],"stateInputs":{"description":"Input properties used for looking up and filtering Key resources.\n","properties":{"curve":{"type":"string","description":"Specifies the curve to use when creating an `EC` key. Possible values are `P-256`, `P-256K`, `P-384`, and `P-521`. This field will be required in a future release if \u003cspan pulumi-lang-nodejs=\"`keyType`\" pulumi-lang-dotnet=\"`KeyType`\" pulumi-lang-go=\"`keyType`\" pulumi-lang-python=\"`key_type`\" pulumi-lang-yaml=\"`keyType`\" pulumi-lang-java=\"`keyType`\"\u003e`key_type`\u003c/span\u003e is `EC` or `EC-HSM`. The API will default to `P-256` if nothing is specified. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"e":{"type":"string","description":"The RSA public exponent of this Key Vault Key.\n"},"expirationDate":{"type":"string","description":"Expiration UTC datetime (Y-m-d'T'H:M:S'Z').\n\n\u003e **Note:** Removing this field from the config forces a new resource to be created.\n"},"keyOpts":{"type":"array","items":{"type":"string"},"description":"A list of JSON web key operations. Possible values include: \u003cspan pulumi-lang-nodejs=\"`decrypt`\" pulumi-lang-dotnet=\"`Decrypt`\" pulumi-lang-go=\"`decrypt`\" pulumi-lang-python=\"`decrypt`\" pulumi-lang-yaml=\"`decrypt`\" pulumi-lang-java=\"`decrypt`\"\u003e`decrypt`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`encrypt`\" pulumi-lang-dotnet=\"`Encrypt`\" pulumi-lang-go=\"`encrypt`\" pulumi-lang-python=\"`encrypt`\" pulumi-lang-yaml=\"`encrypt`\" pulumi-lang-java=\"`encrypt`\"\u003e`encrypt`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`sign`\" pulumi-lang-dotnet=\"`Sign`\" pulumi-lang-go=\"`sign`\" pulumi-lang-python=\"`sign`\" pulumi-lang-yaml=\"`sign`\" pulumi-lang-java=\"`sign`\"\u003e`sign`\u003c/span\u003e, `unwrapKey`, \u003cspan pulumi-lang-nodejs=\"`verify`\" pulumi-lang-dotnet=\"`Verify`\" pulumi-lang-go=\"`verify`\" pulumi-lang-python=\"`verify`\" pulumi-lang-yaml=\"`verify`\" pulumi-lang-java=\"`verify`\"\u003e`verify`\u003c/span\u003e and `wrapKey`. Please note these values are case sensitive.\n"},"keySize":{"type":"integer","description":"Specifies the Size of the RSA key to create in bytes. For example, 1024 or 2048. *Note*: This field is required if \u003cspan pulumi-lang-nodejs=\"`keyType`\" pulumi-lang-dotnet=\"`KeyType`\" pulumi-lang-go=\"`keyType`\" pulumi-lang-python=\"`key_type`\" pulumi-lang-yaml=\"`keyType`\" pulumi-lang-java=\"`keyType`\"\u003e`key_type`\u003c/span\u003e is `RSA` or `RSA-HSM`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"keyType":{"type":"string","description":"Specifies the Key Type to use for this Key Vault Key. Possible values are `EC` (Elliptic Curve), `EC-HSM`, `RSA` and `RSA-HSM`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"keyVaultId":{"type":"string","description":"The ID of the Key Vault where the Key should be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"n":{"type":"string","description":"The RSA modulus of this Key Vault Key.\n"},"name":{"type":"string","description":"Specifies the name of the Key Vault Key. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"notBeforeDate":{"type":"string","description":"Key not usable before the provided UTC datetime (Y-m-d'T'H:M:S'Z').\n\n\u003e **Note:** Once \u003cspan pulumi-lang-nodejs=\"`expirationDate`\" pulumi-lang-dotnet=\"`ExpirationDate`\" pulumi-lang-go=\"`expirationDate`\" pulumi-lang-python=\"`expiration_date`\" pulumi-lang-yaml=\"`expirationDate`\" pulumi-lang-java=\"`expirationDate`\"\u003e`expiration_date`\u003c/span\u003e is set, it's not possible to unset the key even if it is deleted \u0026 recreated as underlying Azure API uses the restore of the purged key.\n"},"publicKeyOpenssh":{"type":"string","description":"The OpenSSH encoded public key of this Key Vault Key.\n"},"publicKeyPem":{"type":"string","description":"The PEM encoded public key of this Key Vault Key.\n"},"resourceId":{"type":"string","description":"The (Versioned) ID for this Key Vault Key. This property points to a specific version of a Key Vault Key, as such using this won't auto-rotate values if used in other Azure Services.\n"},"resourceVersionlessId":{"type":"string","description":"The Versionless ID of the Key Vault Key. This property allows other Azure Services (that support it) to auto-rotate their value when the Key Vault Key is updated.\n"},"rotationPolicy":{"$ref":"#/types/azure:keyvault/KeyRotationPolicy:KeyRotationPolicy","description":"A \u003cspan pulumi-lang-nodejs=\"`rotationPolicy`\" pulumi-lang-dotnet=\"`RotationPolicy`\" pulumi-lang-go=\"`rotationPolicy`\" pulumi-lang-python=\"`rotation_policy`\" pulumi-lang-yaml=\"`rotationPolicy`\" pulumi-lang-java=\"`rotationPolicy`\"\u003e`rotation_policy`\u003c/span\u003e block as defined below.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"version":{"type":"string","description":"The current version of the Key Vault Key.\n"},"versionlessId":{"type":"string","description":"The Base ID of the Key Vault Key.\n"},"x":{"type":"string","description":"The EC X component of this Key Vault Key.\n"},"y":{"type":"string","description":"The EC Y component of this Key Vault Key.\n"}},"type":"object"}},"azure:keyvault/keyVault:KeyVault":{"description":"Manages a Key Vault.\n\n## Disclaimers\n\n\u003e **Note:** It's possible to define Key Vault Access Policies both within the \u003cspan pulumi-lang-nodejs=\"`azure.keyvault.KeyVault`\" pulumi-lang-dotnet=\"`azure.keyvault.KeyVault`\" pulumi-lang-go=\"`keyvault.KeyVault`\" pulumi-lang-python=\"`keyvault.KeyVault`\" pulumi-lang-yaml=\"`azure.keyvault.KeyVault`\" pulumi-lang-java=\"`azure.keyvault.KeyVault`\"\u003e`azure.keyvault.KeyVault`\u003c/span\u003e resource via the \u003cspan pulumi-lang-nodejs=\"`accessPolicy`\" pulumi-lang-dotnet=\"`AccessPolicy`\" pulumi-lang-go=\"`accessPolicy`\" pulumi-lang-python=\"`access_policy`\" pulumi-lang-yaml=\"`accessPolicy`\" pulumi-lang-java=\"`accessPolicy`\"\u003e`access_policy`\u003c/span\u003e block and by using the \u003cspan pulumi-lang-nodejs=\"`azure.keyvault.AccessPolicy`\" pulumi-lang-dotnet=\"`azure.keyvault.AccessPolicy`\" pulumi-lang-go=\"`keyvault.AccessPolicy`\" pulumi-lang-python=\"`keyvault.AccessPolicy`\" pulumi-lang-yaml=\"`azure.keyvault.AccessPolicy`\" pulumi-lang-java=\"`azure.keyvault.AccessPolicy`\"\u003e`azure.keyvault.AccessPolicy`\u003c/span\u003e resource. However it's not possible to use both methods to manage Access Policies within a KeyVault, since there'll be conflicts.\n\n\u003e **Note:** It's possible to define Key Vault Certificate Contacts both within the \u003cspan pulumi-lang-nodejs=\"`azure.keyvault.KeyVault`\" pulumi-lang-dotnet=\"`azure.keyvault.KeyVault`\" pulumi-lang-go=\"`keyvault.KeyVault`\" pulumi-lang-python=\"`keyvault.KeyVault`\" pulumi-lang-yaml=\"`azure.keyvault.KeyVault`\" pulumi-lang-java=\"`azure.keyvault.KeyVault`\"\u003e`azure.keyvault.KeyVault`\u003c/span\u003e resource via the \u003cspan pulumi-lang-nodejs=\"`contact`\" pulumi-lang-dotnet=\"`Contact`\" pulumi-lang-go=\"`contact`\" pulumi-lang-python=\"`contact`\" pulumi-lang-yaml=\"`contact`\" pulumi-lang-java=\"`contact`\"\u003e`contact`\u003c/span\u003e block and by using the \u003cspan pulumi-lang-nodejs=\"`azure.keyvault.CertificateContacts`\" pulumi-lang-dotnet=\"`azure.keyvault.CertificateContacts`\" pulumi-lang-go=\"`keyvault.CertificateContacts`\" pulumi-lang-python=\"`keyvault.CertificateContacts`\" pulumi-lang-yaml=\"`azure.keyvault.CertificateContacts`\" pulumi-lang-java=\"`azure.keyvault.CertificateContacts`\"\u003e`azure.keyvault.CertificateContacts`\u003c/span\u003e resource. However it's not possible to use both methods to manage Certificate Contacts within a KeyVault, since there'll be conflicts.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst current = azure.core.getClientConfig({});\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleKeyVault = new azure.keyvault.KeyVault(\"example\", {\n    name: \"examplekeyvault\",\n    location: example.location,\n    resourceGroupName: example.name,\n    enabledForDiskEncryption: true,\n    tenantId: current.then(current =\u003e current.tenantId),\n    softDeleteRetentionDays: 7,\n    purgeProtectionEnabled: false,\n    skuName: \"standard\",\n    accessPolicies: [{\n        tenantId: current.then(current =\u003e current.tenantId),\n        objectId: current.then(current =\u003e current.objectId),\n        keyPermissions: [\"Get\"],\n        secretPermissions: [\"Get\"],\n        storagePermissions: [\"Get\"],\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\ncurrent = azure.core.get_client_config()\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_key_vault = azure.keyvault.KeyVault(\"example\",\n    name=\"examplekeyvault\",\n    location=example.location,\n    resource_group_name=example.name,\n    enabled_for_disk_encryption=True,\n    tenant_id=current.tenant_id,\n    soft_delete_retention_days=7,\n    purge_protection_enabled=False,\n    sku_name=\"standard\",\n    access_policies=[{\n        \"tenant_id\": current.tenant_id,\n        \"object_id\": current.object_id,\n        \"key_permissions\": [\"Get\"],\n        \"secret_permissions\": [\"Get\"],\n        \"storage_permissions\": [\"Get\"],\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var current = Azure.Core.GetClientConfig.Invoke();\n\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleKeyVault = new Azure.KeyVault.KeyVault(\"example\", new()\n    {\n        Name = \"examplekeyvault\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        EnabledForDiskEncryption = true,\n        TenantId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.TenantId),\n        SoftDeleteRetentionDays = 7,\n        PurgeProtectionEnabled = false,\n        SkuName = \"standard\",\n        AccessPolicies = new[]\n        {\n            new Azure.KeyVault.Inputs.KeyVaultAccessPolicyArgs\n            {\n                TenantId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.TenantId),\n                ObjectId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.ObjectId),\n                KeyPermissions = new[]\n                {\n                    \"Get\",\n                },\n                SecretPermissions = new[]\n                {\n                    \"Get\",\n                },\n                StoragePermissions = new[]\n                {\n                    \"Get\",\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/keyvault\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := core.GetClientConfig(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = keyvault.NewKeyVault(ctx, \"example\", \u0026keyvault.KeyVaultArgs{\n\t\t\tName:                     pulumi.String(\"examplekeyvault\"),\n\t\t\tLocation:                 example.Location,\n\t\t\tResourceGroupName:        example.Name,\n\t\t\tEnabledForDiskEncryption: pulumi.Bool(true),\n\t\t\tTenantId:                 pulumi.String(current.TenantId),\n\t\t\tSoftDeleteRetentionDays:  pulumi.Int(7),\n\t\t\tPurgeProtectionEnabled:   pulumi.Bool(false),\n\t\t\tSkuName:                  pulumi.String(\"standard\"),\n\t\t\tAccessPolicies: keyvault.KeyVaultAccessPolicyArray{\n\t\t\t\t\u0026keyvault.KeyVaultAccessPolicyArgs{\n\t\t\t\t\tTenantId: pulumi.String(current.TenantId),\n\t\t\t\t\tObjectId: pulumi.String(current.ObjectId),\n\t\t\t\t\tKeyPermissions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"Get\"),\n\t\t\t\t\t},\n\t\t\t\t\tSecretPermissions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"Get\"),\n\t\t\t\t\t},\n\t\t\t\t\tStoragePermissions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"Get\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.keyvault.KeyVault;\nimport com.pulumi.azure.keyvault.KeyVaultArgs;\nimport com.pulumi.azure.keyvault.inputs.KeyVaultAccessPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var current = CoreFunctions.getClientConfig(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleKeyVault = new KeyVault(\"exampleKeyVault\", KeyVaultArgs.builder()\n            .name(\"examplekeyvault\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .enabledForDiskEncryption(true)\n            .tenantId(current.tenantId())\n            .softDeleteRetentionDays(7)\n            .purgeProtectionEnabled(false)\n            .skuName(\"standard\")\n            .accessPolicies(KeyVaultAccessPolicyArgs.builder()\n                .tenantId(current.tenantId())\n                .objectId(current.objectId())\n                .keyPermissions(\"Get\")\n                .secretPermissions(\"Get\")\n                .storagePermissions(\"Get\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleKeyVault:\n    type: azure:keyvault:KeyVault\n    name: example\n    properties:\n      name: examplekeyvault\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      enabledForDiskEncryption: true\n      tenantId: ${current.tenantId}\n      softDeleteRetentionDays: 7\n      purgeProtectionEnabled: false\n      skuName: standard\n      accessPolicies:\n        - tenantId: ${current.tenantId}\n          objectId: ${current.objectId}\n          keyPermissions:\n            - Get\n          secretPermissions:\n            - Get\n          storagePermissions:\n            - Get\nvariables:\n  current:\n    fn::invoke:\n      function: azure:core:getClientConfig\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nKey Vault's can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:keyvault/keyVault:KeyVault example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.KeyVault/vaults/vault1\n```\n\n","properties":{"accessPolicies":{"type":"array","items":{"$ref":"#/types/azure:keyvault/KeyVaultAccessPolicy:KeyVaultAccessPolicy"},"description":"A list of up to 1024 objects describing access policies, as described below.\n\n\u003e **Note:** Since \u003cspan pulumi-lang-nodejs=\"`accessPolicy`\" pulumi-lang-dotnet=\"`AccessPolicy`\" pulumi-lang-go=\"`accessPolicy`\" pulumi-lang-python=\"`access_policy`\" pulumi-lang-yaml=\"`accessPolicy`\" pulumi-lang-java=\"`accessPolicy`\"\u003e`access_policy`\u003c/span\u003e can be configured both inline and via the separate \u003cspan pulumi-lang-nodejs=\"`azure.keyvault.AccessPolicy`\" pulumi-lang-dotnet=\"`azure.keyvault.AccessPolicy`\" pulumi-lang-go=\"`keyvault.AccessPolicy`\" pulumi-lang-python=\"`keyvault.AccessPolicy`\" pulumi-lang-yaml=\"`azure.keyvault.AccessPolicy`\" pulumi-lang-java=\"`azure.keyvault.AccessPolicy`\"\u003e`azure.keyvault.AccessPolicy`\u003c/span\u003e resource, we have to explicitly set it to empty slice (`[]`) to remove it.\n"},"contacts":{"type":"array","items":{"$ref":"#/types/azure:keyvault/KeyVaultContact:KeyVaultContact"},"deprecationMessage":"As the \u003cspan pulumi-lang-nodejs=\"`contact`\" pulumi-lang-dotnet=\"`Contact`\" pulumi-lang-go=\"`contact`\" pulumi-lang-python=\"`contact`\" pulumi-lang-yaml=\"`contact`\" pulumi-lang-java=\"`contact`\"\u003e`contact`\u003c/span\u003e property uses a data plane API, to better support private endpoints and key vaults with public network access disabled, new key vaults with the \u003cspan pulumi-lang-nodejs=\"`contact`\" pulumi-lang-dotnet=\"`Contact`\" pulumi-lang-go=\"`contact`\" pulumi-lang-python=\"`contact`\" pulumi-lang-yaml=\"`contact`\" pulumi-lang-java=\"`contact`\"\u003e`contact`\u003c/span\u003e field defined in the configuration file will now be required to use the \u003cspan pulumi-lang-nodejs=\"`azure.keyvault.CertificateContacts`\" pulumi-lang-dotnet=\"`azure.keyvault.CertificateContacts`\" pulumi-lang-go=\"`keyvault.CertificateContacts`\" pulumi-lang-python=\"`keyvault.CertificateContacts`\" pulumi-lang-yaml=\"`azure.keyvault.CertificateContacts`\" pulumi-lang-java=\"`azure.keyvault.CertificateContacts`\"\u003e`azure.keyvault.CertificateContacts`\u003c/span\u003e resource instead of the exposed \u003cspan pulumi-lang-nodejs=\"`contact`\" pulumi-lang-dotnet=\"`Contact`\" pulumi-lang-go=\"`contact`\" pulumi-lang-python=\"`contact`\" pulumi-lang-yaml=\"`contact`\" pulumi-lang-java=\"`contact`\"\u003e`contact`\u003c/span\u003e field in the key vault resource itself. This field will be removed in v5.0 of the provider."},"enableRbacAuthorization":{"type":"boolean","deprecationMessage":"This property has been renamed to \u003cspan pulumi-lang-nodejs=\"`rbacAuthorizationEnabled`\" pulumi-lang-dotnet=\"`RbacAuthorizationEnabled`\" pulumi-lang-go=\"`rbacAuthorizationEnabled`\" pulumi-lang-python=\"`rbac_authorization_enabled`\" pulumi-lang-yaml=\"`rbacAuthorizationEnabled`\" pulumi-lang-java=\"`rbacAuthorizationEnabled`\"\u003e`rbac_authorization_enabled`\u003c/span\u003e and will be removed in v5.0 of the provider"},"enabledForDeployment":{"type":"boolean","description":"Boolean flag to specify whether Azure Virtual Machines are permitted to retrieve certificates stored as secrets from the key vault.\n"},"enabledForDiskEncryption":{"type":"boolean","description":"Boolean flag to specify whether Azure Disk Encryption is permitted to retrieve secrets from the vault and unwrap keys.\n"},"enabledForTemplateDeployment":{"type":"boolean","description":"Boolean flag to specify whether Azure Resource Manager is permitted to retrieve secrets from the key vault.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"Specifies the name of the Key Vault. Changing this forces a new resource to be created. The name must be globally unique. If the vault is in a recoverable state then the vault will need to be purged before reusing the name.\n"},"networkAcls":{"$ref":"#/types/azure:keyvault/KeyVaultNetworkAcls:KeyVaultNetworkAcls","description":"A \u003cspan pulumi-lang-nodejs=\"`networkAcls`\" pulumi-lang-dotnet=\"`NetworkAcls`\" pulumi-lang-go=\"`networkAcls`\" pulumi-lang-python=\"`network_acls`\" pulumi-lang-yaml=\"`networkAcls`\" pulumi-lang-java=\"`networkAcls`\"\u003e`network_acls`\u003c/span\u003e block as defined below.\n"},"publicNetworkAccessEnabled":{"type":"boolean","description":"Whether public network access is allowed for this Key Vault. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"purgeProtectionEnabled":{"type":"boolean","description":"Is Purge Protection enabled for this Key Vault? \n\n!\u003e **Note:** Once Purge Protection has been Enabled it's not possible to Disable it. Support for [disabling purge protection is being tracked in this Azure API issue](https://github.com/Azure/azure-rest-api-specs/issues/8075). Deleting the Key Vault with Purge Protection Enabled will schedule the Key Vault to be deleted (which will happen by Azure in the configured number of days, currently 90 days).\n"},"rbacAuthorizationEnabled":{"type":"boolean","description":"Boolean flag to specify whether Azure Key Vault uses Role Based Access Control (RBAC) for authorization of data actions.\n\n\u003e **Note:** Changing the permission model requires unrestricted (no conditions on the role assignment) `Microsoft.Authorization/roleAssignments/write` permission, which is part of the `Owner` and `User Access Administrator` roles. Classic subscription administrator roles like `Service Administrator` and `Co-Administrator`, or restricted `Key Vault Data Access Administrator` cannot be used to change the permission model. For more information, please see the [product documentation](https://learn.microsoft.com/azure/key-vault/general/rbac-guide?tabs=azure-cli#using-azure-rbac-secret-key-and-certificate-permissions-with-key-vault:~:text=Enable%20Azure%20RBAC,change%20permission%20model).\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the Key Vault. Changing this forces a new resource to be created.\n"},"skuName":{"type":"string","description":"The Name of the SKU used for this Key Vault. Possible values are \u003cspan pulumi-lang-nodejs=\"`standard`\" pulumi-lang-dotnet=\"`Standard`\" pulumi-lang-go=\"`standard`\" pulumi-lang-python=\"`standard`\" pulumi-lang-yaml=\"`standard`\" pulumi-lang-java=\"`standard`\"\u003e`standard`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`premium`\" pulumi-lang-dotnet=\"`Premium`\" pulumi-lang-go=\"`premium`\" pulumi-lang-python=\"`premium`\" pulumi-lang-yaml=\"`premium`\" pulumi-lang-java=\"`premium`\"\u003e`premium`\u003c/span\u003e.\n"},"softDeleteRetentionDays":{"type":"integer","description":"The number of days that items should be retained for once soft-deleted. This value can be between \u003cspan pulumi-lang-nodejs=\"`7`\" pulumi-lang-dotnet=\"`7`\" pulumi-lang-go=\"`7`\" pulumi-lang-python=\"`7`\" pulumi-lang-yaml=\"`7`\" pulumi-lang-java=\"`7`\"\u003e`7`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`90`\" pulumi-lang-dotnet=\"`90`\" pulumi-lang-go=\"`90`\" pulumi-lang-python=\"`90`\" pulumi-lang-yaml=\"`90`\" pulumi-lang-java=\"`90`\"\u003e`90`\u003c/span\u003e (the default) days.\n\n\u003e **Note:** This field can only be configured one time and cannot be updated.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"tenantId":{"type":"string","description":"The Azure Active Directory tenant ID that should be used for authenticating requests to the key vault.\n"},"vaultUri":{"type":"string","description":"The URI of the Key Vault, used for performing operations on keys and secrets.\n"}},"required":["accessPolicies","contacts","enableRbacAuthorization","location","name","networkAcls","rbacAuthorizationEnabled","resourceGroupName","skuName","tenantId","vaultUri"],"inputProperties":{"accessPolicies":{"type":"array","items":{"$ref":"#/types/azure:keyvault/KeyVaultAccessPolicy:KeyVaultAccessPolicy"},"description":"A list of up to 1024 objects describing access policies, as described below.\n\n\u003e **Note:** Since \u003cspan pulumi-lang-nodejs=\"`accessPolicy`\" pulumi-lang-dotnet=\"`AccessPolicy`\" pulumi-lang-go=\"`accessPolicy`\" pulumi-lang-python=\"`access_policy`\" pulumi-lang-yaml=\"`accessPolicy`\" pulumi-lang-java=\"`accessPolicy`\"\u003e`access_policy`\u003c/span\u003e can be configured both inline and via the separate \u003cspan pulumi-lang-nodejs=\"`azure.keyvault.AccessPolicy`\" pulumi-lang-dotnet=\"`azure.keyvault.AccessPolicy`\" pulumi-lang-go=\"`keyvault.AccessPolicy`\" pulumi-lang-python=\"`keyvault.AccessPolicy`\" pulumi-lang-yaml=\"`azure.keyvault.AccessPolicy`\" pulumi-lang-java=\"`azure.keyvault.AccessPolicy`\"\u003e`azure.keyvault.AccessPolicy`\u003c/span\u003e resource, we have to explicitly set it to empty slice (`[]`) to remove it.\n"},"contacts":{"type":"array","items":{"$ref":"#/types/azure:keyvault/KeyVaultContact:KeyVaultContact"},"deprecationMessage":"As the \u003cspan pulumi-lang-nodejs=\"`contact`\" pulumi-lang-dotnet=\"`Contact`\" pulumi-lang-go=\"`contact`\" pulumi-lang-python=\"`contact`\" pulumi-lang-yaml=\"`contact`\" pulumi-lang-java=\"`contact`\"\u003e`contact`\u003c/span\u003e property uses a data plane API, to better support private endpoints and key vaults with public network access disabled, new key vaults with the \u003cspan pulumi-lang-nodejs=\"`contact`\" pulumi-lang-dotnet=\"`Contact`\" pulumi-lang-go=\"`contact`\" pulumi-lang-python=\"`contact`\" pulumi-lang-yaml=\"`contact`\" pulumi-lang-java=\"`contact`\"\u003e`contact`\u003c/span\u003e field defined in the configuration file will now be required to use the \u003cspan pulumi-lang-nodejs=\"`azure.keyvault.CertificateContacts`\" pulumi-lang-dotnet=\"`azure.keyvault.CertificateContacts`\" pulumi-lang-go=\"`keyvault.CertificateContacts`\" pulumi-lang-python=\"`keyvault.CertificateContacts`\" pulumi-lang-yaml=\"`azure.keyvault.CertificateContacts`\" pulumi-lang-java=\"`azure.keyvault.CertificateContacts`\"\u003e`azure.keyvault.CertificateContacts`\u003c/span\u003e resource instead of the exposed \u003cspan pulumi-lang-nodejs=\"`contact`\" pulumi-lang-dotnet=\"`Contact`\" pulumi-lang-go=\"`contact`\" pulumi-lang-python=\"`contact`\" pulumi-lang-yaml=\"`contact`\" pulumi-lang-java=\"`contact`\"\u003e`contact`\u003c/span\u003e field in the key vault resource itself. This field will be removed in v5.0 of the provider."},"enableRbacAuthorization":{"type":"boolean","deprecationMessage":"This property has been renamed to \u003cspan pulumi-lang-nodejs=\"`rbacAuthorizationEnabled`\" pulumi-lang-dotnet=\"`RbacAuthorizationEnabled`\" pulumi-lang-go=\"`rbacAuthorizationEnabled`\" pulumi-lang-python=\"`rbac_authorization_enabled`\" pulumi-lang-yaml=\"`rbacAuthorizationEnabled`\" pulumi-lang-java=\"`rbacAuthorizationEnabled`\"\u003e`rbac_authorization_enabled`\u003c/span\u003e and will be removed in v5.0 of the provider"},"enabledForDeployment":{"type":"boolean","description":"Boolean flag to specify whether Azure Virtual Machines are permitted to retrieve certificates stored as secrets from the key vault.\n"},"enabledForDiskEncryption":{"type":"boolean","description":"Boolean flag to specify whether Azure Disk Encryption is permitted to retrieve secrets from the vault and unwrap keys.\n"},"enabledForTemplateDeployment":{"type":"boolean","description":"Boolean flag to specify whether Azure Resource Manager is permitted to retrieve secrets from the key vault.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the Key Vault. Changing this forces a new resource to be created. The name must be globally unique. If the vault is in a recoverable state then the vault will need to be purged before reusing the name.\n","willReplaceOnChanges":true},"networkAcls":{"$ref":"#/types/azure:keyvault/KeyVaultNetworkAcls:KeyVaultNetworkAcls","description":"A \u003cspan pulumi-lang-nodejs=\"`networkAcls`\" pulumi-lang-dotnet=\"`NetworkAcls`\" pulumi-lang-go=\"`networkAcls`\" pulumi-lang-python=\"`network_acls`\" pulumi-lang-yaml=\"`networkAcls`\" pulumi-lang-java=\"`networkAcls`\"\u003e`network_acls`\u003c/span\u003e block as defined below.\n"},"publicNetworkAccessEnabled":{"type":"boolean","description":"Whether public network access is allowed for this Key Vault. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"purgeProtectionEnabled":{"type":"boolean","description":"Is Purge Protection enabled for this Key Vault? \n\n!\u003e **Note:** Once Purge Protection has been Enabled it's not possible to Disable it. Support for [disabling purge protection is being tracked in this Azure API issue](https://github.com/Azure/azure-rest-api-specs/issues/8075). Deleting the Key Vault with Purge Protection Enabled will schedule the Key Vault to be deleted (which will happen by Azure in the configured number of days, currently 90 days).\n"},"rbacAuthorizationEnabled":{"type":"boolean","description":"Boolean flag to specify whether Azure Key Vault uses Role Based Access Control (RBAC) for authorization of data actions.\n\n\u003e **Note:** Changing the permission model requires unrestricted (no conditions on the role assignment) `Microsoft.Authorization/roleAssignments/write` permission, which is part of the `Owner` and `User Access Administrator` roles. Classic subscription administrator roles like `Service Administrator` and `Co-Administrator`, or restricted `Key Vault Data Access Administrator` cannot be used to change the permission model. For more information, please see the [product documentation](https://learn.microsoft.com/azure/key-vault/general/rbac-guide?tabs=azure-cli#using-azure-rbac-secret-key-and-certificate-permissions-with-key-vault:~:text=Enable%20Azure%20RBAC,change%20permission%20model).\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the Key Vault. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"skuName":{"type":"string","description":"The Name of the SKU used for this Key Vault. Possible values are \u003cspan pulumi-lang-nodejs=\"`standard`\" pulumi-lang-dotnet=\"`Standard`\" pulumi-lang-go=\"`standard`\" pulumi-lang-python=\"`standard`\" pulumi-lang-yaml=\"`standard`\" pulumi-lang-java=\"`standard`\"\u003e`standard`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`premium`\" pulumi-lang-dotnet=\"`Premium`\" pulumi-lang-go=\"`premium`\" pulumi-lang-python=\"`premium`\" pulumi-lang-yaml=\"`premium`\" pulumi-lang-java=\"`premium`\"\u003e`premium`\u003c/span\u003e.\n"},"softDeleteRetentionDays":{"type":"integer","description":"The number of days that items should be retained for once soft-deleted. This value can be between \u003cspan pulumi-lang-nodejs=\"`7`\" pulumi-lang-dotnet=\"`7`\" pulumi-lang-go=\"`7`\" pulumi-lang-python=\"`7`\" pulumi-lang-yaml=\"`7`\" pulumi-lang-java=\"`7`\"\u003e`7`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`90`\" pulumi-lang-dotnet=\"`90`\" pulumi-lang-go=\"`90`\" pulumi-lang-python=\"`90`\" pulumi-lang-yaml=\"`90`\" pulumi-lang-java=\"`90`\"\u003e`90`\u003c/span\u003e (the default) days.\n\n\u003e **Note:** This field can only be configured one time and cannot be updated.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"tenantId":{"type":"string","description":"The Azure Active Directory tenant ID that should be used for authenticating requests to the key vault.\n"}},"requiredInputs":["resourceGroupName","skuName","tenantId"],"stateInputs":{"description":"Input properties used for looking up and filtering KeyVault resources.\n","properties":{"accessPolicies":{"type":"array","items":{"$ref":"#/types/azure:keyvault/KeyVaultAccessPolicy:KeyVaultAccessPolicy"},"description":"A list of up to 1024 objects describing access policies, as described below.\n\n\u003e **Note:** Since \u003cspan pulumi-lang-nodejs=\"`accessPolicy`\" pulumi-lang-dotnet=\"`AccessPolicy`\" pulumi-lang-go=\"`accessPolicy`\" pulumi-lang-python=\"`access_policy`\" pulumi-lang-yaml=\"`accessPolicy`\" pulumi-lang-java=\"`accessPolicy`\"\u003e`access_policy`\u003c/span\u003e can be configured both inline and via the separate \u003cspan pulumi-lang-nodejs=\"`azure.keyvault.AccessPolicy`\" pulumi-lang-dotnet=\"`azure.keyvault.AccessPolicy`\" pulumi-lang-go=\"`keyvault.AccessPolicy`\" pulumi-lang-python=\"`keyvault.AccessPolicy`\" pulumi-lang-yaml=\"`azure.keyvault.AccessPolicy`\" pulumi-lang-java=\"`azure.keyvault.AccessPolicy`\"\u003e`azure.keyvault.AccessPolicy`\u003c/span\u003e resource, we have to explicitly set it to empty slice (`[]`) to remove it.\n"},"contacts":{"type":"array","items":{"$ref":"#/types/azure:keyvault/KeyVaultContact:KeyVaultContact"},"deprecationMessage":"As the \u003cspan pulumi-lang-nodejs=\"`contact`\" pulumi-lang-dotnet=\"`Contact`\" pulumi-lang-go=\"`contact`\" pulumi-lang-python=\"`contact`\" pulumi-lang-yaml=\"`contact`\" pulumi-lang-java=\"`contact`\"\u003e`contact`\u003c/span\u003e property uses a data plane API, to better support private endpoints and key vaults with public network access disabled, new key vaults with the \u003cspan pulumi-lang-nodejs=\"`contact`\" pulumi-lang-dotnet=\"`Contact`\" pulumi-lang-go=\"`contact`\" pulumi-lang-python=\"`contact`\" pulumi-lang-yaml=\"`contact`\" pulumi-lang-java=\"`contact`\"\u003e`contact`\u003c/span\u003e field defined in the configuration file will now be required to use the \u003cspan pulumi-lang-nodejs=\"`azure.keyvault.CertificateContacts`\" pulumi-lang-dotnet=\"`azure.keyvault.CertificateContacts`\" pulumi-lang-go=\"`keyvault.CertificateContacts`\" pulumi-lang-python=\"`keyvault.CertificateContacts`\" pulumi-lang-yaml=\"`azure.keyvault.CertificateContacts`\" pulumi-lang-java=\"`azure.keyvault.CertificateContacts`\"\u003e`azure.keyvault.CertificateContacts`\u003c/span\u003e resource instead of the exposed \u003cspan pulumi-lang-nodejs=\"`contact`\" pulumi-lang-dotnet=\"`Contact`\" pulumi-lang-go=\"`contact`\" pulumi-lang-python=\"`contact`\" pulumi-lang-yaml=\"`contact`\" pulumi-lang-java=\"`contact`\"\u003e`contact`\u003c/span\u003e field in the key vault resource itself. This field will be removed in v5.0 of the provider."},"enableRbacAuthorization":{"type":"boolean","deprecationMessage":"This property has been renamed to \u003cspan pulumi-lang-nodejs=\"`rbacAuthorizationEnabled`\" pulumi-lang-dotnet=\"`RbacAuthorizationEnabled`\" pulumi-lang-go=\"`rbacAuthorizationEnabled`\" pulumi-lang-python=\"`rbac_authorization_enabled`\" pulumi-lang-yaml=\"`rbacAuthorizationEnabled`\" pulumi-lang-java=\"`rbacAuthorizationEnabled`\"\u003e`rbac_authorization_enabled`\u003c/span\u003e and will be removed in v5.0 of the provider"},"enabledForDeployment":{"type":"boolean","description":"Boolean flag to specify whether Azure Virtual Machines are permitted to retrieve certificates stored as secrets from the key vault.\n"},"enabledForDiskEncryption":{"type":"boolean","description":"Boolean flag to specify whether Azure Disk Encryption is permitted to retrieve secrets from the vault and unwrap keys.\n"},"enabledForTemplateDeployment":{"type":"boolean","description":"Boolean flag to specify whether Azure Resource Manager is permitted to retrieve secrets from the key vault.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the Key Vault. Changing this forces a new resource to be created. The name must be globally unique. If the vault is in a recoverable state then the vault will need to be purged before reusing the name.\n","willReplaceOnChanges":true},"networkAcls":{"$ref":"#/types/azure:keyvault/KeyVaultNetworkAcls:KeyVaultNetworkAcls","description":"A \u003cspan pulumi-lang-nodejs=\"`networkAcls`\" pulumi-lang-dotnet=\"`NetworkAcls`\" pulumi-lang-go=\"`networkAcls`\" pulumi-lang-python=\"`network_acls`\" pulumi-lang-yaml=\"`networkAcls`\" pulumi-lang-java=\"`networkAcls`\"\u003e`network_acls`\u003c/span\u003e block as defined below.\n"},"publicNetworkAccessEnabled":{"type":"boolean","description":"Whether public network access is allowed for this Key Vault. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"purgeProtectionEnabled":{"type":"boolean","description":"Is Purge Protection enabled for this Key Vault? \n\n!\u003e **Note:** Once Purge Protection has been Enabled it's not possible to Disable it. Support for [disabling purge protection is being tracked in this Azure API issue](https://github.com/Azure/azure-rest-api-specs/issues/8075). Deleting the Key Vault with Purge Protection Enabled will schedule the Key Vault to be deleted (which will happen by Azure in the configured number of days, currently 90 days).\n"},"rbacAuthorizationEnabled":{"type":"boolean","description":"Boolean flag to specify whether Azure Key Vault uses Role Based Access Control (RBAC) for authorization of data actions.\n\n\u003e **Note:** Changing the permission model requires unrestricted (no conditions on the role assignment) `Microsoft.Authorization/roleAssignments/write` permission, which is part of the `Owner` and `User Access Administrator` roles. Classic subscription administrator roles like `Service Administrator` and `Co-Administrator`, or restricted `Key Vault Data Access Administrator` cannot be used to change the permission model. For more information, please see the [product documentation](https://learn.microsoft.com/azure/key-vault/general/rbac-guide?tabs=azure-cli#using-azure-rbac-secret-key-and-certificate-permissions-with-key-vault:~:text=Enable%20Azure%20RBAC,change%20permission%20model).\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the Key Vault. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"skuName":{"type":"string","description":"The Name of the SKU used for this Key Vault. Possible values are \u003cspan pulumi-lang-nodejs=\"`standard`\" pulumi-lang-dotnet=\"`Standard`\" pulumi-lang-go=\"`standard`\" pulumi-lang-python=\"`standard`\" pulumi-lang-yaml=\"`standard`\" pulumi-lang-java=\"`standard`\"\u003e`standard`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`premium`\" pulumi-lang-dotnet=\"`Premium`\" pulumi-lang-go=\"`premium`\" pulumi-lang-python=\"`premium`\" pulumi-lang-yaml=\"`premium`\" pulumi-lang-java=\"`premium`\"\u003e`premium`\u003c/span\u003e.\n"},"softDeleteRetentionDays":{"type":"integer","description":"The number of days that items should be retained for once soft-deleted. This value can be between \u003cspan pulumi-lang-nodejs=\"`7`\" pulumi-lang-dotnet=\"`7`\" pulumi-lang-go=\"`7`\" pulumi-lang-python=\"`7`\" pulumi-lang-yaml=\"`7`\" pulumi-lang-java=\"`7`\"\u003e`7`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`90`\" pulumi-lang-dotnet=\"`90`\" pulumi-lang-go=\"`90`\" pulumi-lang-python=\"`90`\" pulumi-lang-yaml=\"`90`\" pulumi-lang-java=\"`90`\"\u003e`90`\u003c/span\u003e (the default) days.\n\n\u003e **Note:** This field can only be configured one time and cannot be updated.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"tenantId":{"type":"string","description":"The Azure Active Directory tenant ID that should be used for authenticating requests to the key vault.\n"},"vaultUri":{"type":"string","description":"The URI of the Key Vault, used for performing operations on keys and secrets.\n"}},"type":"object"}},"azure:keyvault/managedHardwareSecurityModule:ManagedHardwareSecurityModule":{"description":"Manages a Key Vault Managed Hardware Security Module.\n\n\u003e **Note:** The Azure Provider includes a Feature Toggle which will purge a Key Vault Managed Hardware Security Module resource on destroy, rather than the default soft-delete. See \u003cspan pulumi-lang-nodejs=\"`purgeSoftDeletedHardwareSecurityModulesOnDestroy`\" pulumi-lang-dotnet=\"`PurgeSoftDeletedHardwareSecurityModulesOnDestroy`\" pulumi-lang-go=\"`purgeSoftDeletedHardwareSecurityModulesOnDestroy`\" pulumi-lang-python=\"`purge_soft_deleted_hardware_security_modules_on_destroy`\" pulumi-lang-yaml=\"`purgeSoftDeletedHardwareSecurityModulesOnDestroy`\" pulumi-lang-java=\"`purgeSoftDeletedHardwareSecurityModulesOnDestroy`\"\u003e`purge_soft_deleted_hardware_security_modules_on_destroy`\u003c/span\u003e for more information.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst current = azure.core.getClientConfig({});\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleManagedHardwareSecurityModule = new azure.keyvault.ManagedHardwareSecurityModule(\"example\", {\n    name: \"exampleKVHsm\",\n    resourceGroupName: example.name,\n    location: example.location,\n    skuName: \"Standard_B1\",\n    purgeProtectionEnabled: false,\n    softDeleteRetentionDays: 90,\n    tenantId: current.then(current =\u003e current.tenantId),\n    adminObjectIds: [current.then(current =\u003e current.objectId)],\n    tags: {\n        Env: \"Test\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\ncurrent = azure.core.get_client_config()\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_managed_hardware_security_module = azure.keyvault.ManagedHardwareSecurityModule(\"example\",\n    name=\"exampleKVHsm\",\n    resource_group_name=example.name,\n    location=example.location,\n    sku_name=\"Standard_B1\",\n    purge_protection_enabled=False,\n    soft_delete_retention_days=90,\n    tenant_id=current.tenant_id,\n    admin_object_ids=[current.object_id],\n    tags={\n        \"Env\": \"Test\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var current = Azure.Core.GetClientConfig.Invoke();\n\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleManagedHardwareSecurityModule = new Azure.KeyVault.ManagedHardwareSecurityModule(\"example\", new()\n    {\n        Name = \"exampleKVHsm\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        SkuName = \"Standard_B1\",\n        PurgeProtectionEnabled = false,\n        SoftDeleteRetentionDays = 90,\n        TenantId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.TenantId),\n        AdminObjectIds = new[]\n        {\n            current.Apply(getClientConfigResult =\u003e getClientConfigResult.ObjectId),\n        },\n        Tags = \n        {\n            { \"Env\", \"Test\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/keyvault\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := core.GetClientConfig(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = keyvault.NewManagedHardwareSecurityModule(ctx, \"example\", \u0026keyvault.ManagedHardwareSecurityModuleArgs{\n\t\t\tName:                    pulumi.String(\"exampleKVHsm\"),\n\t\t\tResourceGroupName:       example.Name,\n\t\t\tLocation:                example.Location,\n\t\t\tSkuName:                 pulumi.String(\"Standard_B1\"),\n\t\t\tPurgeProtectionEnabled:  pulumi.Bool(false),\n\t\t\tSoftDeleteRetentionDays: pulumi.Int(90),\n\t\t\tTenantId:                pulumi.String(current.TenantId),\n\t\t\tAdminObjectIds: pulumi.StringArray{\n\t\t\t\tpulumi.String(current.ObjectId),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Env\": pulumi.String(\"Test\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.keyvault.ManagedHardwareSecurityModule;\nimport com.pulumi.azure.keyvault.ManagedHardwareSecurityModuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var current = CoreFunctions.getClientConfig(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleManagedHardwareSecurityModule = new ManagedHardwareSecurityModule(\"exampleManagedHardwareSecurityModule\", ManagedHardwareSecurityModuleArgs.builder()\n            .name(\"exampleKVHsm\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .skuName(\"Standard_B1\")\n            .purgeProtectionEnabled(false)\n            .softDeleteRetentionDays(90)\n            .tenantId(current.tenantId())\n            .adminObjectIds(current.objectId())\n            .tags(Map.of(\"Env\", \"Test\"))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleManagedHardwareSecurityModule:\n    type: azure:keyvault:ManagedHardwareSecurityModule\n    name: example\n    properties:\n      name: exampleKVHsm\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      skuName: Standard_B1\n      purgeProtectionEnabled: false\n      softDeleteRetentionDays: 90\n      tenantId: ${current.tenantId}\n      adminObjectIds:\n        - ${current.objectId}\n      tags:\n        Env: Test\nvariables:\n  current:\n    fn::invoke:\n      function: azure:core:getClientConfig\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.KeyVault` - 2023-07-01\n\n## Import\n\nKey Vault Managed Hardware Security Module can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:keyvault/managedHardwareSecurityModule:ManagedHardwareSecurityModule example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.KeyVault/managedHSMs/hsm1\n```\n\n","properties":{"adminObjectIds":{"type":"array","items":{"type":"string"},"description":"Specifies a list of administrators object IDs for the key vault Managed Hardware Security Module. Changing this forces a new resource to be created.\n"},"hsmUri":{"type":"string","description":"The URI of the Key Vault Managed Hardware Security Module, used for performing operations on keys.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"Specifies the name of the Key Vault Managed Hardware Security Module. Changing this forces a new resource to be created.\n"},"networkAcls":{"$ref":"#/types/azure:keyvault/ManagedHardwareSecurityModuleNetworkAcls:ManagedHardwareSecurityModuleNetworkAcls","description":"A \u003cspan pulumi-lang-nodejs=\"`networkAcls`\" pulumi-lang-dotnet=\"`NetworkAcls`\" pulumi-lang-go=\"`networkAcls`\" pulumi-lang-python=\"`network_acls`\" pulumi-lang-yaml=\"`networkAcls`\" pulumi-lang-java=\"`networkAcls`\"\u003e`network_acls`\u003c/span\u003e block as defined below.\n"},"publicNetworkAccessEnabled":{"type":"boolean","description":"Whether traffic from public networks is permitted. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"purgeProtectionEnabled":{"type":"boolean","description":"Is Purge Protection enabled for this Key Vault Managed Hardware Security Module? Changing this forces a new resource to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the Key Vault Managed Hardware Security Module. Changing this forces a new resource to be created.\n"},"securityDomainEncryptedData":{"type":"string","description":"This attribute can be used for disaster recovery or when creating another Managed HSM that shares the same security domain.\n","secret":true},"securityDomainKeyVaultCertificateIds":{"type":"array","items":{"type":"string"},"description":"A list of KeyVault certificates resource IDs (minimum of three and up to a maximum of 10) to activate this Managed HSM. More information see [activate-your-managed-hsm](https://learn.microsoft.com/azure/key-vault/managed-hsm/quick-create-cli#activate-your-managed-hsm)\n"},"securityDomainQuorum":{"type":"integer","description":"Specifies the minimum number of shares required to decrypt the security domain for recovery. This is required when \u003cspan pulumi-lang-nodejs=\"`securityDomainKeyVaultCertificateIds`\" pulumi-lang-dotnet=\"`SecurityDomainKeyVaultCertificateIds`\" pulumi-lang-go=\"`securityDomainKeyVaultCertificateIds`\" pulumi-lang-python=\"`security_domain_key_vault_certificate_ids`\" pulumi-lang-yaml=\"`securityDomainKeyVaultCertificateIds`\" pulumi-lang-java=\"`securityDomainKeyVaultCertificateIds`\"\u003e`security_domain_key_vault_certificate_ids`\u003c/span\u003e is specified. Valid values are between 2 and 10.\n"},"skuName":{"type":"string","description":"The Name of the SKU used for this Key Vault Managed Hardware Security Module. Possible value is `Standard_B1`. Changing this forces a new resource to be created.\n"},"softDeleteRetentionDays":{"type":"integer","description":"The number of days that items should be retained for once soft-deleted. This value can be between \u003cspan pulumi-lang-nodejs=\"`7`\" pulumi-lang-dotnet=\"`7`\" pulumi-lang-go=\"`7`\" pulumi-lang-python=\"`7`\" pulumi-lang-yaml=\"`7`\" pulumi-lang-java=\"`7`\"\u003e`7`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`90`\" pulumi-lang-dotnet=\"`90`\" pulumi-lang-go=\"`90`\" pulumi-lang-python=\"`90`\" pulumi-lang-yaml=\"`90`\" pulumi-lang-java=\"`90`\"\u003e`90`\u003c/span\u003e days. Defaults to \u003cspan pulumi-lang-nodejs=\"`90`\" pulumi-lang-dotnet=\"`90`\" pulumi-lang-go=\"`90`\" pulumi-lang-python=\"`90`\" pulumi-lang-yaml=\"`90`\" pulumi-lang-java=\"`90`\"\u003e`90`\u003c/span\u003e. Changing this forces a new resource to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"tenantId":{"type":"string","description":"The Azure Active Directory Tenant ID that should be used for authenticating requests to the key vault Managed Hardware Security Module. Changing this forces a new resource to be created.\n"}},"required":["adminObjectIds","hsmUri","location","name","networkAcls","resourceGroupName","securityDomainEncryptedData","skuName","tenantId"],"inputProperties":{"adminObjectIds":{"type":"array","items":{"type":"string"},"description":"Specifies a list of administrators object IDs for the key vault Managed Hardware Security Module. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the Key Vault Managed Hardware Security Module. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"networkAcls":{"$ref":"#/types/azure:keyvault/ManagedHardwareSecurityModuleNetworkAcls:ManagedHardwareSecurityModuleNetworkAcls","description":"A \u003cspan pulumi-lang-nodejs=\"`networkAcls`\" pulumi-lang-dotnet=\"`NetworkAcls`\" pulumi-lang-go=\"`networkAcls`\" pulumi-lang-python=\"`network_acls`\" pulumi-lang-yaml=\"`networkAcls`\" pulumi-lang-java=\"`networkAcls`\"\u003e`network_acls`\u003c/span\u003e block as defined below.\n"},"publicNetworkAccessEnabled":{"type":"boolean","description":"Whether traffic from public networks is permitted. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"purgeProtectionEnabled":{"type":"boolean","description":"Is Purge Protection enabled for this Key Vault Managed Hardware Security Module? Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the Key Vault Managed Hardware Security Module. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"securityDomainKeyVaultCertificateIds":{"type":"array","items":{"type":"string"},"description":"A list of KeyVault certificates resource IDs (minimum of three and up to a maximum of 10) to activate this Managed HSM. More information see [activate-your-managed-hsm](https://learn.microsoft.com/azure/key-vault/managed-hsm/quick-create-cli#activate-your-managed-hsm)\n"},"securityDomainQuorum":{"type":"integer","description":"Specifies the minimum number of shares required to decrypt the security domain for recovery. This is required when \u003cspan pulumi-lang-nodejs=\"`securityDomainKeyVaultCertificateIds`\" pulumi-lang-dotnet=\"`SecurityDomainKeyVaultCertificateIds`\" pulumi-lang-go=\"`securityDomainKeyVaultCertificateIds`\" pulumi-lang-python=\"`security_domain_key_vault_certificate_ids`\" pulumi-lang-yaml=\"`securityDomainKeyVaultCertificateIds`\" pulumi-lang-java=\"`securityDomainKeyVaultCertificateIds`\"\u003e`security_domain_key_vault_certificate_ids`\u003c/span\u003e is specified. Valid values are between 2 and 10.\n"},"skuName":{"type":"string","description":"The Name of the SKU used for this Key Vault Managed Hardware Security Module. Possible value is `Standard_B1`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"softDeleteRetentionDays":{"type":"integer","description":"The number of days that items should be retained for once soft-deleted. This value can be between \u003cspan pulumi-lang-nodejs=\"`7`\" pulumi-lang-dotnet=\"`7`\" pulumi-lang-go=\"`7`\" pulumi-lang-python=\"`7`\" pulumi-lang-yaml=\"`7`\" pulumi-lang-java=\"`7`\"\u003e`7`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`90`\" pulumi-lang-dotnet=\"`90`\" pulumi-lang-go=\"`90`\" pulumi-lang-python=\"`90`\" pulumi-lang-yaml=\"`90`\" pulumi-lang-java=\"`90`\"\u003e`90`\u003c/span\u003e days. Defaults to \u003cspan pulumi-lang-nodejs=\"`90`\" pulumi-lang-dotnet=\"`90`\" pulumi-lang-go=\"`90`\" pulumi-lang-python=\"`90`\" pulumi-lang-yaml=\"`90`\" pulumi-lang-java=\"`90`\"\u003e`90`\u003c/span\u003e. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"tenantId":{"type":"string","description":"The Azure Active Directory Tenant ID that should be used for authenticating requests to the key vault Managed Hardware Security Module. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["adminObjectIds","resourceGroupName","skuName","tenantId"],"stateInputs":{"description":"Input properties used for looking up and filtering ManagedHardwareSecurityModule resources.\n","properties":{"adminObjectIds":{"type":"array","items":{"type":"string"},"description":"Specifies a list of administrators object IDs for the key vault Managed Hardware Security Module. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"hsmUri":{"type":"string","description":"The URI of the Key Vault Managed Hardware Security Module, used for performing operations on keys.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the Key Vault Managed Hardware Security Module. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"networkAcls":{"$ref":"#/types/azure:keyvault/ManagedHardwareSecurityModuleNetworkAcls:ManagedHardwareSecurityModuleNetworkAcls","description":"A \u003cspan pulumi-lang-nodejs=\"`networkAcls`\" pulumi-lang-dotnet=\"`NetworkAcls`\" pulumi-lang-go=\"`networkAcls`\" pulumi-lang-python=\"`network_acls`\" pulumi-lang-yaml=\"`networkAcls`\" pulumi-lang-java=\"`networkAcls`\"\u003e`network_acls`\u003c/span\u003e block as defined below.\n"},"publicNetworkAccessEnabled":{"type":"boolean","description":"Whether traffic from public networks is permitted. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"purgeProtectionEnabled":{"type":"boolean","description":"Is Purge Protection enabled for this Key Vault Managed Hardware Security Module? Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the Key Vault Managed Hardware Security Module. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"securityDomainEncryptedData":{"type":"string","description":"This attribute can be used for disaster recovery or when creating another Managed HSM that shares the same security domain.\n","secret":true},"securityDomainKeyVaultCertificateIds":{"type":"array","items":{"type":"string"},"description":"A list of KeyVault certificates resource IDs (minimum of three and up to a maximum of 10) to activate this Managed HSM. More information see [activate-your-managed-hsm](https://learn.microsoft.com/azure/key-vault/managed-hsm/quick-create-cli#activate-your-managed-hsm)\n"},"securityDomainQuorum":{"type":"integer","description":"Specifies the minimum number of shares required to decrypt the security domain for recovery. This is required when \u003cspan pulumi-lang-nodejs=\"`securityDomainKeyVaultCertificateIds`\" pulumi-lang-dotnet=\"`SecurityDomainKeyVaultCertificateIds`\" pulumi-lang-go=\"`securityDomainKeyVaultCertificateIds`\" pulumi-lang-python=\"`security_domain_key_vault_certificate_ids`\" pulumi-lang-yaml=\"`securityDomainKeyVaultCertificateIds`\" pulumi-lang-java=\"`securityDomainKeyVaultCertificateIds`\"\u003e`security_domain_key_vault_certificate_ids`\u003c/span\u003e is specified. Valid values are between 2 and 10.\n"},"skuName":{"type":"string","description":"The Name of the SKU used for this Key Vault Managed Hardware Security Module. Possible value is `Standard_B1`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"softDeleteRetentionDays":{"type":"integer","description":"The number of days that items should be retained for once soft-deleted. This value can be between \u003cspan pulumi-lang-nodejs=\"`7`\" pulumi-lang-dotnet=\"`7`\" pulumi-lang-go=\"`7`\" pulumi-lang-python=\"`7`\" pulumi-lang-yaml=\"`7`\" pulumi-lang-java=\"`7`\"\u003e`7`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`90`\" pulumi-lang-dotnet=\"`90`\" pulumi-lang-go=\"`90`\" pulumi-lang-python=\"`90`\" pulumi-lang-yaml=\"`90`\" pulumi-lang-java=\"`90`\"\u003e`90`\u003c/span\u003e days. Defaults to \u003cspan pulumi-lang-nodejs=\"`90`\" pulumi-lang-dotnet=\"`90`\" pulumi-lang-go=\"`90`\" pulumi-lang-python=\"`90`\" pulumi-lang-yaml=\"`90`\" pulumi-lang-java=\"`90`\"\u003e`90`\u003c/span\u003e. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"tenantId":{"type":"string","description":"The Azure Active Directory Tenant ID that should be used for authenticating requests to the key vault Managed Hardware Security Module. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:keyvault/managedHardwareSecurityModuleKey:ManagedHardwareSecurityModuleKey":{"description":"Manages a Key Vault Managed Hardware Security Module Key.\n\n\u003e **Note:** The Azure Provider includes a Feature Toggle which will purge a Key Vault Managed Hardware Security Module Key resource on destroy, rather than the default soft-delete. See \u003cspan pulumi-lang-nodejs=\"`purgeSoftDeletedHardwareSecurityModulesOnDestroy`\" pulumi-lang-dotnet=\"`PurgeSoftDeletedHardwareSecurityModulesOnDestroy`\" pulumi-lang-go=\"`purgeSoftDeletedHardwareSecurityModulesOnDestroy`\" pulumi-lang-python=\"`purge_soft_deleted_hardware_security_modules_on_destroy`\" pulumi-lang-yaml=\"`purgeSoftDeletedHardwareSecurityModulesOnDestroy`\" pulumi-lang-java=\"`purgeSoftDeletedHardwareSecurityModulesOnDestroy`\"\u003e`purge_soft_deleted_hardware_security_modules_on_destroy`\u003c/span\u003e for more information.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst current = azure.core.getClientConfig({});\nconst example = new azure.keyvault.ManagedHardwareSecurityModule(\"example\", {\n    name: \"example\",\n    resourceGroupName: exampleAzurermResourceGroup.name,\n    location: exampleAzurermResourceGroup.location,\n    skuName: \"Standard_B1\",\n    tenantId: current.then(current =\u003e current.tenantId),\n    adminObjectIds: [current.then(current =\u003e current.objectId)],\n    purgeProtectionEnabled: false,\n    activeConfig: [{\n        securityDomainCertificate: [\n            cert[0].id,\n            cert[1].id,\n            cert[2].id,\n        ],\n        securityDomainQuorum: 2,\n    }],\n});\n// this gives your service principal the HSM Crypto User role which lets you create and destroy hsm keys\nconst hsm_crypto_user = new azure.keyvault.ManagedHardwareSecurityModuleRoleAssignment(\"hsm-crypto-user\", {\n    managedHsmId: test.id,\n    name: \"1e243909-064c-6ac3-84e9-1c8bf8d6ad22\",\n    scope: \"/keys\",\n    roleDefinitionId: \"/Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/21dbd100-6940-42c2-9190-5d6cb909625b\",\n    principalId: current.then(current =\u003e current.objectId),\n});\n// this gives your service principal the HSM Crypto Officer role which lets you purge hsm keys\nconst hsm_crypto_officer = new azure.keyvault.ManagedHardwareSecurityModuleRoleAssignment(\"hsm-crypto-officer\", {\n    managedHsmId: test.id,\n    name: \"1e243909-064c-6ac3-84e9-1c8bf8d6ad23\",\n    scope: \"/keys\",\n    roleDefinitionId: \"/Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/515eb02d-2335-4d2d-92f2-b1cbdf9c3778\",\n    principalId: current.then(current =\u003e current.objectId),\n});\nconst exampleManagedHardwareSecurityModuleKey = new azure.keyvault.ManagedHardwareSecurityModuleKey(\"example\", {\n    name: \"example\",\n    managedHsmId: test.id,\n    keyType: \"EC-HSM\",\n    curve: \"P-521\",\n    keyOpts: [\"sign\"],\n}, {\n    dependsOn: [\n        testAzurermKeyVaultManagedHardwareSecurityModuleRoleAssignment,\n        test1,\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\ncurrent = azure.core.get_client_config()\nexample = azure.keyvault.ManagedHardwareSecurityModule(\"example\",\n    name=\"example\",\n    resource_group_name=example_azurerm_resource_group[\"name\"],\n    location=example_azurerm_resource_group[\"location\"],\n    sku_name=\"Standard_B1\",\n    tenant_id=current.tenant_id,\n    admin_object_ids=[current.object_id],\n    purge_protection_enabled=False,\n    active_config=[{\n        \"securityDomainCertificate\": [\n            cert[0][\"id\"],\n            cert[1][\"id\"],\n            cert[2][\"id\"],\n        ],\n        \"securityDomainQuorum\": 2,\n    }])\n# this gives your service principal the HSM Crypto User role which lets you create and destroy hsm keys\nhsm_crypto_user = azure.keyvault.ManagedHardwareSecurityModuleRoleAssignment(\"hsm-crypto-user\",\n    managed_hsm_id=test[\"id\"],\n    name=\"1e243909-064c-6ac3-84e9-1c8bf8d6ad22\",\n    scope=\"/keys\",\n    role_definition_id=\"/Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/21dbd100-6940-42c2-9190-5d6cb909625b\",\n    principal_id=current.object_id)\n# this gives your service principal the HSM Crypto Officer role which lets you purge hsm keys\nhsm_crypto_officer = azure.keyvault.ManagedHardwareSecurityModuleRoleAssignment(\"hsm-crypto-officer\",\n    managed_hsm_id=test[\"id\"],\n    name=\"1e243909-064c-6ac3-84e9-1c8bf8d6ad23\",\n    scope=\"/keys\",\n    role_definition_id=\"/Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/515eb02d-2335-4d2d-92f2-b1cbdf9c3778\",\n    principal_id=current.object_id)\nexample_managed_hardware_security_module_key = azure.keyvault.ManagedHardwareSecurityModuleKey(\"example\",\n    name=\"example\",\n    managed_hsm_id=test[\"id\"],\n    key_type=\"EC-HSM\",\n    curve=\"P-521\",\n    key_opts=[\"sign\"],\n    opts = pulumi.ResourceOptions(depends_on=[\n            test_azurerm_key_vault_managed_hardware_security_module_role_assignment,\n            test1,\n        ]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var current = Azure.Core.GetClientConfig.Invoke();\n\n    var example = new Azure.KeyVault.ManagedHardwareSecurityModule(\"example\", new()\n    {\n        Name = \"example\",\n        ResourceGroupName = exampleAzurermResourceGroup.Name,\n        Location = exampleAzurermResourceGroup.Location,\n        SkuName = \"Standard_B1\",\n        TenantId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.TenantId),\n        AdminObjectIds = new[]\n        {\n            current.Apply(getClientConfigResult =\u003e getClientConfigResult.ObjectId),\n        },\n        PurgeProtectionEnabled = false,\n        ActiveConfig = new[]\n        {\n            \n            {\n                { \"securityDomainCertificate\", new[]\n                {\n                    cert[0].Id,\n                    cert[1].Id,\n                    cert[2].Id,\n                } },\n                { \"securityDomainQuorum\", 2 },\n            },\n        },\n    });\n\n    // this gives your service principal the HSM Crypto User role which lets you create and destroy hsm keys\n    var hsm_crypto_user = new Azure.KeyVault.ManagedHardwareSecurityModuleRoleAssignment(\"hsm-crypto-user\", new()\n    {\n        ManagedHsmId = test.Id,\n        Name = \"1e243909-064c-6ac3-84e9-1c8bf8d6ad22\",\n        Scope = \"/keys\",\n        RoleDefinitionId = \"/Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/21dbd100-6940-42c2-9190-5d6cb909625b\",\n        PrincipalId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.ObjectId),\n    });\n\n    // this gives your service principal the HSM Crypto Officer role which lets you purge hsm keys\n    var hsm_crypto_officer = new Azure.KeyVault.ManagedHardwareSecurityModuleRoleAssignment(\"hsm-crypto-officer\", new()\n    {\n        ManagedHsmId = test.Id,\n        Name = \"1e243909-064c-6ac3-84e9-1c8bf8d6ad23\",\n        Scope = \"/keys\",\n        RoleDefinitionId = \"/Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/515eb02d-2335-4d2d-92f2-b1cbdf9c3778\",\n        PrincipalId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.ObjectId),\n    });\n\n    var exampleManagedHardwareSecurityModuleKey = new Azure.KeyVault.ManagedHardwareSecurityModuleKey(\"example\", new()\n    {\n        Name = \"example\",\n        ManagedHsmId = test.Id,\n        KeyType = \"EC-HSM\",\n        Curve = \"P-521\",\n        KeyOpts = new[]\n        {\n            \"sign\",\n        },\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            testAzurermKeyVaultManagedHardwareSecurityModuleRoleAssignment,\n            test1,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/keyvault\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := core.GetClientConfig(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = keyvault.NewManagedHardwareSecurityModule(ctx, \"example\", \u0026keyvault.ManagedHardwareSecurityModuleArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tResourceGroupName: pulumi.Any(exampleAzurermResourceGroup.Name),\n\t\t\tLocation:          pulumi.Any(exampleAzurermResourceGroup.Location),\n\t\t\tSkuName:           pulumi.String(\"Standard_B1\"),\n\t\t\tTenantId:          pulumi.String(current.TenantId),\n\t\t\tAdminObjectIds: pulumi.StringArray{\n\t\t\t\tpulumi.String(current.ObjectId),\n\t\t\t},\n\t\t\tPurgeProtectionEnabled: pulumi.Bool(false),\n\t\t\tActiveConfig: []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"securityDomainCertificate\": []interface{}{\n\t\t\t\t\t\tcert[0].Id,\n\t\t\t\t\t\tcert[1].Id,\n\t\t\t\t\t\tcert[2].Id,\n\t\t\t\t\t},\n\t\t\t\t\t\"securityDomainQuorum\": 2,\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// this gives your service principal the HSM Crypto User role which lets you create and destroy hsm keys\n\t\t_, err = keyvault.NewManagedHardwareSecurityModuleRoleAssignment(ctx, \"hsm-crypto-user\", \u0026keyvault.ManagedHardwareSecurityModuleRoleAssignmentArgs{\n\t\t\tManagedHsmId:     pulumi.Any(test.Id),\n\t\t\tName:             pulumi.String(\"1e243909-064c-6ac3-84e9-1c8bf8d6ad22\"),\n\t\t\tScope:            pulumi.String(\"/keys\"),\n\t\t\tRoleDefinitionId: pulumi.String(\"/Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/21dbd100-6940-42c2-9190-5d6cb909625b\"),\n\t\t\tPrincipalId:      pulumi.String(current.ObjectId),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// this gives your service principal the HSM Crypto Officer role which lets you purge hsm keys\n\t\t_, err = keyvault.NewManagedHardwareSecurityModuleRoleAssignment(ctx, \"hsm-crypto-officer\", \u0026keyvault.ManagedHardwareSecurityModuleRoleAssignmentArgs{\n\t\t\tManagedHsmId:     pulumi.Any(test.Id),\n\t\t\tName:             pulumi.String(\"1e243909-064c-6ac3-84e9-1c8bf8d6ad23\"),\n\t\t\tScope:            pulumi.String(\"/keys\"),\n\t\t\tRoleDefinitionId: pulumi.String(\"/Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/515eb02d-2335-4d2d-92f2-b1cbdf9c3778\"),\n\t\t\tPrincipalId:      pulumi.String(current.ObjectId),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = keyvault.NewManagedHardwareSecurityModuleKey(ctx, \"example\", \u0026keyvault.ManagedHardwareSecurityModuleKeyArgs{\n\t\t\tName:         pulumi.String(\"example\"),\n\t\t\tManagedHsmId: pulumi.Any(test.Id),\n\t\t\tKeyType:      pulumi.String(\"EC-HSM\"),\n\t\t\tCurve:        pulumi.String(\"P-521\"),\n\t\t\tKeyOpts: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"sign\"),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\ttestAzurermKeyVaultManagedHardwareSecurityModuleRoleAssignment,\n\t\t\ttest1,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.keyvault.ManagedHardwareSecurityModule;\nimport com.pulumi.azure.keyvault.ManagedHardwareSecurityModuleArgs;\nimport com.pulumi.azure.keyvault.ManagedHardwareSecurityModuleRoleAssignment;\nimport com.pulumi.azure.keyvault.ManagedHardwareSecurityModuleRoleAssignmentArgs;\nimport com.pulumi.azure.keyvault.ManagedHardwareSecurityModuleKey;\nimport com.pulumi.azure.keyvault.ManagedHardwareSecurityModuleKeyArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var current = CoreFunctions.getClientConfig(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n        var example = new ManagedHardwareSecurityModule(\"example\", ManagedHardwareSecurityModuleArgs.builder()\n            .name(\"example\")\n            .resourceGroupName(exampleAzurermResourceGroup.name())\n            .location(exampleAzurermResourceGroup.location())\n            .skuName(\"Standard_B1\")\n            .tenantId(current.tenantId())\n            .adminObjectIds(current.objectId())\n            .purgeProtectionEnabled(false)\n            .activeConfig(List.of(Map.ofEntries(\n                Map.entry(\"securityDomainCertificate\", List.of(                \n                    cert[0].id(),\n                    cert[1].id(),\n                    cert[2].id())),\n                Map.entry(\"securityDomainQuorum\", 2)\n            )))\n            .build());\n\n        // this gives your service principal the HSM Crypto User role which lets you create and destroy hsm keys\n        var hsm_crypto_user = new ManagedHardwareSecurityModuleRoleAssignment(\"hsm-crypto-user\", ManagedHardwareSecurityModuleRoleAssignmentArgs.builder()\n            .managedHsmId(test.id())\n            .name(\"1e243909-064c-6ac3-84e9-1c8bf8d6ad22\")\n            .scope(\"/keys\")\n            .roleDefinitionId(\"/Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/21dbd100-6940-42c2-9190-5d6cb909625b\")\n            .principalId(current.objectId())\n            .build());\n\n        // this gives your service principal the HSM Crypto Officer role which lets you purge hsm keys\n        var hsm_crypto_officer = new ManagedHardwareSecurityModuleRoleAssignment(\"hsm-crypto-officer\", ManagedHardwareSecurityModuleRoleAssignmentArgs.builder()\n            .managedHsmId(test.id())\n            .name(\"1e243909-064c-6ac3-84e9-1c8bf8d6ad23\")\n            .scope(\"/keys\")\n            .roleDefinitionId(\"/Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/515eb02d-2335-4d2d-92f2-b1cbdf9c3778\")\n            .principalId(current.objectId())\n            .build());\n\n        var exampleManagedHardwareSecurityModuleKey = new ManagedHardwareSecurityModuleKey(\"exampleManagedHardwareSecurityModuleKey\", ManagedHardwareSecurityModuleKeyArgs.builder()\n            .name(\"example\")\n            .managedHsmId(test.id())\n            .keyType(\"EC-HSM\")\n            .curve(\"P-521\")\n            .keyOpts(\"sign\")\n            .build(), CustomResourceOptions.builder()\n                .dependsOn(                \n                    testAzurermKeyVaultManagedHardwareSecurityModuleRoleAssignment,\n                    test1)\n                .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:keyvault:ManagedHardwareSecurityModule\n    properties:\n      name: example\n      resourceGroupName: ${exampleAzurermResourceGroup.name}\n      location: ${exampleAzurermResourceGroup.location}\n      skuName: Standard_B1\n      tenantId: ${current.tenantId}\n      adminObjectIds:\n        - ${current.objectId}\n      purgeProtectionEnabled: false\n      activeConfig:\n        - securityDomainCertificate:\n            - ${cert[0].id}\n            - ${cert[1].id}\n            - ${cert[2].id}\n          securityDomainQuorum: 2\n  # this gives your service principal the HSM Crypto User role which lets you create and destroy hsm keys\n  hsm-crypto-user:\n    type: azure:keyvault:ManagedHardwareSecurityModuleRoleAssignment\n    properties:\n      managedHsmId: ${test.id}\n      name: 1e243909-064c-6ac3-84e9-1c8bf8d6ad22\n      scope: /keys\n      roleDefinitionId: /Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/21dbd100-6940-42c2-9190-5d6cb909625b\n      principalId: ${current.objectId}\n  # this gives your service principal the HSM Crypto Officer role which lets you purge hsm keys\n  hsm-crypto-officer:\n    type: azure:keyvault:ManagedHardwareSecurityModuleRoleAssignment\n    properties:\n      managedHsmId: ${test.id}\n      name: 1e243909-064c-6ac3-84e9-1c8bf8d6ad23\n      scope: /keys\n      roleDefinitionId: /Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/515eb02d-2335-4d2d-92f2-b1cbdf9c3778\n      principalId: ${current.objectId}\n  exampleManagedHardwareSecurityModuleKey:\n    type: azure:keyvault:ManagedHardwareSecurityModuleKey\n    name: example\n    properties:\n      name: example\n      managedHsmId: ${test.id}\n      keyType: EC-HSM\n      curve: P-521\n      keyOpts:\n        - sign\n    options:\n      dependsOn:\n        - ${testAzurermKeyVaultManagedHardwareSecurityModuleRoleAssignment}\n        - ${test1}\nvariables:\n  current:\n    fn::invoke:\n      function: azure:core:getClientConfig\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.KeyVault` - 2023-07-01\n\n## Import\n\nKey Vault Managed Hardware Security Module Key can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:keyvault/managedHardwareSecurityModuleKey:ManagedHardwareSecurityModuleKey example https://exampleHSM.managedhsm.azure.net/keys/exampleKey\n```\n\n","properties":{"curve":{"type":"string","description":"Specifies the curve to use when creating an `EC-HSM` key. Possible values are `P-256`, `P-256K`, `P-384`, and `P-521`. This field is required if \u003cspan pulumi-lang-nodejs=\"`keyType`\" pulumi-lang-dotnet=\"`KeyType`\" pulumi-lang-go=\"`keyType`\" pulumi-lang-python=\"`key_type`\" pulumi-lang-yaml=\"`keyType`\" pulumi-lang-java=\"`keyType`\"\u003e`key_type`\u003c/span\u003e is `EC-HSM`. Changing this forces a new resource to be created.\n"},"expirationDate":{"type":"string","description":"Expiration UTC datetime (Y-m-d'T'H:M:S'Z'). When this parameter gets changed on reruns, if newer date is ahead of current date, an update is performed. If the newer date is before the current date, resource will be force created.\n"},"keyOpts":{"type":"array","items":{"type":"string"},"description":"A list of JSON web key operations. Possible values include: \u003cspan pulumi-lang-nodejs=\"`decrypt`\" pulumi-lang-dotnet=\"`Decrypt`\" pulumi-lang-go=\"`decrypt`\" pulumi-lang-python=\"`decrypt`\" pulumi-lang-yaml=\"`decrypt`\" pulumi-lang-java=\"`decrypt`\"\u003e`decrypt`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`encrypt`\" pulumi-lang-dotnet=\"`Encrypt`\" pulumi-lang-go=\"`encrypt`\" pulumi-lang-python=\"`encrypt`\" pulumi-lang-yaml=\"`encrypt`\" pulumi-lang-java=\"`encrypt`\"\u003e`encrypt`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`sign`\" pulumi-lang-dotnet=\"`Sign`\" pulumi-lang-go=\"`sign`\" pulumi-lang-python=\"`sign`\" pulumi-lang-yaml=\"`sign`\" pulumi-lang-java=\"`sign`\"\u003e`sign`\u003c/span\u003e, `unwrapKey`, \u003cspan pulumi-lang-nodejs=\"`verify`\" pulumi-lang-dotnet=\"`Verify`\" pulumi-lang-go=\"`verify`\" pulumi-lang-python=\"`verify`\" pulumi-lang-yaml=\"`verify`\" pulumi-lang-java=\"`verify`\"\u003e`verify`\u003c/span\u003e, `wrapKey` and \u003cspan pulumi-lang-nodejs=\"`import`\" pulumi-lang-dotnet=\"`Import`\" pulumi-lang-go=\"`import`\" pulumi-lang-python=\"`import`\" pulumi-lang-yaml=\"`import`\" pulumi-lang-java=\"`import`\"\u003e`import`\u003c/span\u003e. Please note these values are case-sensitive.\n"},"keySize":{"type":"integer","description":"Specifies the Size of the RSA key to create in bytes. For example, 1024 or 2048. *Note*: This field is required if \u003cspan pulumi-lang-nodejs=\"`keyType`\" pulumi-lang-dotnet=\"`KeyType`\" pulumi-lang-go=\"`keyType`\" pulumi-lang-python=\"`key_type`\" pulumi-lang-yaml=\"`keyType`\" pulumi-lang-java=\"`keyType`\"\u003e`key_type`\u003c/span\u003e is `RSA-HSM` or `oct-HSM`. Changing this forces a new resource to be created.\n"},"keyType":{"type":"string","description":"Specifies the Key Type to use for this Key Vault Managed Hardware Security Module Key. Possible values are `EC-HSM`, `oct-HSM` and `RSA-HSM`. More details see [HSM-protected keys](https://learn.microsoft.com/en-us/azure/key-vault/keys/about-keys#hsm-protected-keys). Changing this forces a new resource to be created.\n"},"managedHsmId":{"type":"string","description":"Specifies the ID of the Key Vault Managed Hardware Security Module that they key will be owned by. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"Specifies the name of the Key Vault Managed Hardware Security Module Key. Changing this forces a new resource to be created.\n"},"notBeforeDate":{"type":"string","description":"Key not usable before the provided UTC datetime (Y-m-d'T'H:M:S'Z').\n\n\u003e **Note:** Once \u003cspan pulumi-lang-nodejs=\"`expirationDate`\" pulumi-lang-dotnet=\"`ExpirationDate`\" pulumi-lang-go=\"`expirationDate`\" pulumi-lang-python=\"`expiration_date`\" pulumi-lang-yaml=\"`expirationDate`\" pulumi-lang-java=\"`expirationDate`\"\u003e`expiration_date`\u003c/span\u003e is set, it's not possible to unset the key even if it is deleted \u0026 recreated as underlying Azure API uses the restore of the purged key.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"versionedId":{"type":"string","description":"The versioned Key Vault Secret Managed Hardware Security Module Key ID.\n"}},"required":["keyOpts","keyType","managedHsmId","name","versionedId"],"inputProperties":{"curve":{"type":"string","description":"Specifies the curve to use when creating an `EC-HSM` key. Possible values are `P-256`, `P-256K`, `P-384`, and `P-521`. This field is required if \u003cspan pulumi-lang-nodejs=\"`keyType`\" pulumi-lang-dotnet=\"`KeyType`\" pulumi-lang-go=\"`keyType`\" pulumi-lang-python=\"`key_type`\" pulumi-lang-yaml=\"`keyType`\" pulumi-lang-java=\"`keyType`\"\u003e`key_type`\u003c/span\u003e is `EC-HSM`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"expirationDate":{"type":"string","description":"Expiration UTC datetime (Y-m-d'T'H:M:S'Z'). When this parameter gets changed on reruns, if newer date is ahead of current date, an update is performed. If the newer date is before the current date, resource will be force created.\n"},"keyOpts":{"type":"array","items":{"type":"string"},"description":"A list of JSON web key operations. Possible values include: \u003cspan pulumi-lang-nodejs=\"`decrypt`\" pulumi-lang-dotnet=\"`Decrypt`\" pulumi-lang-go=\"`decrypt`\" pulumi-lang-python=\"`decrypt`\" pulumi-lang-yaml=\"`decrypt`\" pulumi-lang-java=\"`decrypt`\"\u003e`decrypt`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`encrypt`\" pulumi-lang-dotnet=\"`Encrypt`\" pulumi-lang-go=\"`encrypt`\" pulumi-lang-python=\"`encrypt`\" pulumi-lang-yaml=\"`encrypt`\" pulumi-lang-java=\"`encrypt`\"\u003e`encrypt`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`sign`\" pulumi-lang-dotnet=\"`Sign`\" pulumi-lang-go=\"`sign`\" pulumi-lang-python=\"`sign`\" pulumi-lang-yaml=\"`sign`\" pulumi-lang-java=\"`sign`\"\u003e`sign`\u003c/span\u003e, `unwrapKey`, \u003cspan pulumi-lang-nodejs=\"`verify`\" pulumi-lang-dotnet=\"`Verify`\" pulumi-lang-go=\"`verify`\" pulumi-lang-python=\"`verify`\" pulumi-lang-yaml=\"`verify`\" pulumi-lang-java=\"`verify`\"\u003e`verify`\u003c/span\u003e, `wrapKey` and \u003cspan pulumi-lang-nodejs=\"`import`\" pulumi-lang-dotnet=\"`Import`\" pulumi-lang-go=\"`import`\" pulumi-lang-python=\"`import`\" pulumi-lang-yaml=\"`import`\" pulumi-lang-java=\"`import`\"\u003e`import`\u003c/span\u003e. Please note these values are case-sensitive.\n"},"keySize":{"type":"integer","description":"Specifies the Size of the RSA key to create in bytes. For example, 1024 or 2048. *Note*: This field is required if \u003cspan pulumi-lang-nodejs=\"`keyType`\" pulumi-lang-dotnet=\"`KeyType`\" pulumi-lang-go=\"`keyType`\" pulumi-lang-python=\"`key_type`\" pulumi-lang-yaml=\"`keyType`\" pulumi-lang-java=\"`keyType`\"\u003e`key_type`\u003c/span\u003e is `RSA-HSM` or `oct-HSM`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"keyType":{"type":"string","description":"Specifies the Key Type to use for this Key Vault Managed Hardware Security Module Key. Possible values are `EC-HSM`, `oct-HSM` and `RSA-HSM`. More details see [HSM-protected keys](https://learn.microsoft.com/en-us/azure/key-vault/keys/about-keys#hsm-protected-keys). Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"managedHsmId":{"type":"string","description":"Specifies the ID of the Key Vault Managed Hardware Security Module that they key will be owned by. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the Key Vault Managed Hardware Security Module Key. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"notBeforeDate":{"type":"string","description":"Key not usable before the provided UTC datetime (Y-m-d'T'H:M:S'Z').\n\n\u003e **Note:** Once \u003cspan pulumi-lang-nodejs=\"`expirationDate`\" pulumi-lang-dotnet=\"`ExpirationDate`\" pulumi-lang-go=\"`expirationDate`\" pulumi-lang-python=\"`expiration_date`\" pulumi-lang-yaml=\"`expirationDate`\" pulumi-lang-java=\"`expirationDate`\"\u003e`expiration_date`\u003c/span\u003e is set, it's not possible to unset the key even if it is deleted \u0026 recreated as underlying Azure API uses the restore of the purged key.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"requiredInputs":["keyOpts","keyType","managedHsmId"],"stateInputs":{"description":"Input properties used for looking up and filtering ManagedHardwareSecurityModuleKey resources.\n","properties":{"curve":{"type":"string","description":"Specifies the curve to use when creating an `EC-HSM` key. Possible values are `P-256`, `P-256K`, `P-384`, and `P-521`. This field is required if \u003cspan pulumi-lang-nodejs=\"`keyType`\" pulumi-lang-dotnet=\"`KeyType`\" pulumi-lang-go=\"`keyType`\" pulumi-lang-python=\"`key_type`\" pulumi-lang-yaml=\"`keyType`\" pulumi-lang-java=\"`keyType`\"\u003e`key_type`\u003c/span\u003e is `EC-HSM`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"expirationDate":{"type":"string","description":"Expiration UTC datetime (Y-m-d'T'H:M:S'Z'). When this parameter gets changed on reruns, if newer date is ahead of current date, an update is performed. If the newer date is before the current date, resource will be force created.\n"},"keyOpts":{"type":"array","items":{"type":"string"},"description":"A list of JSON web key operations. Possible values include: \u003cspan pulumi-lang-nodejs=\"`decrypt`\" pulumi-lang-dotnet=\"`Decrypt`\" pulumi-lang-go=\"`decrypt`\" pulumi-lang-python=\"`decrypt`\" pulumi-lang-yaml=\"`decrypt`\" pulumi-lang-java=\"`decrypt`\"\u003e`decrypt`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`encrypt`\" pulumi-lang-dotnet=\"`Encrypt`\" pulumi-lang-go=\"`encrypt`\" pulumi-lang-python=\"`encrypt`\" pulumi-lang-yaml=\"`encrypt`\" pulumi-lang-java=\"`encrypt`\"\u003e`encrypt`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`sign`\" pulumi-lang-dotnet=\"`Sign`\" pulumi-lang-go=\"`sign`\" pulumi-lang-python=\"`sign`\" pulumi-lang-yaml=\"`sign`\" pulumi-lang-java=\"`sign`\"\u003e`sign`\u003c/span\u003e, `unwrapKey`, \u003cspan pulumi-lang-nodejs=\"`verify`\" pulumi-lang-dotnet=\"`Verify`\" pulumi-lang-go=\"`verify`\" pulumi-lang-python=\"`verify`\" pulumi-lang-yaml=\"`verify`\" pulumi-lang-java=\"`verify`\"\u003e`verify`\u003c/span\u003e, `wrapKey` and \u003cspan pulumi-lang-nodejs=\"`import`\" pulumi-lang-dotnet=\"`Import`\" pulumi-lang-go=\"`import`\" pulumi-lang-python=\"`import`\" pulumi-lang-yaml=\"`import`\" pulumi-lang-java=\"`import`\"\u003e`import`\u003c/span\u003e. Please note these values are case-sensitive.\n"},"keySize":{"type":"integer","description":"Specifies the Size of the RSA key to create in bytes. For example, 1024 or 2048. *Note*: This field is required if \u003cspan pulumi-lang-nodejs=\"`keyType`\" pulumi-lang-dotnet=\"`KeyType`\" pulumi-lang-go=\"`keyType`\" pulumi-lang-python=\"`key_type`\" pulumi-lang-yaml=\"`keyType`\" pulumi-lang-java=\"`keyType`\"\u003e`key_type`\u003c/span\u003e is `RSA-HSM` or `oct-HSM`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"keyType":{"type":"string","description":"Specifies the Key Type to use for this Key Vault Managed Hardware Security Module Key. Possible values are `EC-HSM`, `oct-HSM` and `RSA-HSM`. More details see [HSM-protected keys](https://learn.microsoft.com/en-us/azure/key-vault/keys/about-keys#hsm-protected-keys). Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"managedHsmId":{"type":"string","description":"Specifies the ID of the Key Vault Managed Hardware Security Module that they key will be owned by. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the Key Vault Managed Hardware Security Module Key. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"notBeforeDate":{"type":"string","description":"Key not usable before the provided UTC datetime (Y-m-d'T'H:M:S'Z').\n\n\u003e **Note:** Once \u003cspan pulumi-lang-nodejs=\"`expirationDate`\" pulumi-lang-dotnet=\"`ExpirationDate`\" pulumi-lang-go=\"`expirationDate`\" pulumi-lang-python=\"`expiration_date`\" pulumi-lang-yaml=\"`expirationDate`\" pulumi-lang-java=\"`expirationDate`\"\u003e`expiration_date`\u003c/span\u003e is set, it's not possible to unset the key even if it is deleted \u0026 recreated as underlying Azure API uses the restore of the purged key.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"versionedId":{"type":"string","description":"The versioned Key Vault Secret Managed Hardware Security Module Key ID.\n"}},"type":"object"}},"azure:keyvault/managedHardwareSecurityModuleKeyRotationPolicy:ManagedHardwareSecurityModuleKeyRotationPolicy":{"description":"Manages a Managed HSM Key rotation policy.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.keyvault.ManagedHardwareSecurityModuleKey(\"example\", {\n    name: \"example-key\",\n    managedHsmId: exampleAzurermKeyVaultManagedHardwareSecurityModule.id,\n    keyType: \"EC-HSM\",\n    curve: \"P-521\",\n    keyOpts: [\"sign\"],\n});\nconst exampleManagedHardwareSecurityModuleKeyRotationPolicy = new azure.keyvault.ManagedHardwareSecurityModuleKeyRotationPolicy(\"example\", {\n    managedHsmKeyId: example.id,\n    expireAfter: \"P60D\",\n    timeBeforeExpiry: \"P30D\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.keyvault.ManagedHardwareSecurityModuleKey(\"example\",\n    name=\"example-key\",\n    managed_hsm_id=example_azurerm_key_vault_managed_hardware_security_module[\"id\"],\n    key_type=\"EC-HSM\",\n    curve=\"P-521\",\n    key_opts=[\"sign\"])\nexample_managed_hardware_security_module_key_rotation_policy = azure.keyvault.ManagedHardwareSecurityModuleKeyRotationPolicy(\"example\",\n    managed_hsm_key_id=example.id,\n    expire_after=\"P60D\",\n    time_before_expiry=\"P30D\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.KeyVault.ManagedHardwareSecurityModuleKey(\"example\", new()\n    {\n        Name = \"example-key\",\n        ManagedHsmId = exampleAzurermKeyVaultManagedHardwareSecurityModule.Id,\n        KeyType = \"EC-HSM\",\n        Curve = \"P-521\",\n        KeyOpts = new[]\n        {\n            \"sign\",\n        },\n    });\n\n    var exampleManagedHardwareSecurityModuleKeyRotationPolicy = new Azure.KeyVault.ManagedHardwareSecurityModuleKeyRotationPolicy(\"example\", new()\n    {\n        ManagedHsmKeyId = example.Id,\n        ExpireAfter = \"P60D\",\n        TimeBeforeExpiry = \"P30D\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/keyvault\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := keyvault.NewManagedHardwareSecurityModuleKey(ctx, \"example\", \u0026keyvault.ManagedHardwareSecurityModuleKeyArgs{\n\t\t\tName:         pulumi.String(\"example-key\"),\n\t\t\tManagedHsmId: pulumi.Any(exampleAzurermKeyVaultManagedHardwareSecurityModule.Id),\n\t\t\tKeyType:      pulumi.String(\"EC-HSM\"),\n\t\t\tCurve:        pulumi.String(\"P-521\"),\n\t\t\tKeyOpts: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"sign\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = keyvault.NewManagedHardwareSecurityModuleKeyRotationPolicy(ctx, \"example\", \u0026keyvault.ManagedHardwareSecurityModuleKeyRotationPolicyArgs{\n\t\t\tManagedHsmKeyId:  example.ID(),\n\t\t\tExpireAfter:      pulumi.String(\"P60D\"),\n\t\t\tTimeBeforeExpiry: pulumi.String(\"P30D\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.keyvault.ManagedHardwareSecurityModuleKey;\nimport com.pulumi.azure.keyvault.ManagedHardwareSecurityModuleKeyArgs;\nimport com.pulumi.azure.keyvault.ManagedHardwareSecurityModuleKeyRotationPolicy;\nimport com.pulumi.azure.keyvault.ManagedHardwareSecurityModuleKeyRotationPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ManagedHardwareSecurityModuleKey(\"example\", ManagedHardwareSecurityModuleKeyArgs.builder()\n            .name(\"example-key\")\n            .managedHsmId(exampleAzurermKeyVaultManagedHardwareSecurityModule.id())\n            .keyType(\"EC-HSM\")\n            .curve(\"P-521\")\n            .keyOpts(\"sign\")\n            .build());\n\n        var exampleManagedHardwareSecurityModuleKeyRotationPolicy = new ManagedHardwareSecurityModuleKeyRotationPolicy(\"exampleManagedHardwareSecurityModuleKeyRotationPolicy\", ManagedHardwareSecurityModuleKeyRotationPolicyArgs.builder()\n            .managedHsmKeyId(example.id())\n            .expireAfter(\"P60D\")\n            .timeBeforeExpiry(\"P30D\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:keyvault:ManagedHardwareSecurityModuleKey\n    properties:\n      name: example-key\n      managedHsmId: ${exampleAzurermKeyVaultManagedHardwareSecurityModule.id}\n      keyType: EC-HSM\n      curve: P-521\n      keyOpts:\n        - sign\n  exampleManagedHardwareSecurityModuleKeyRotationPolicy:\n    type: azure:keyvault:ManagedHardwareSecurityModuleKeyRotationPolicy\n    name: example\n    properties:\n      managedHsmKeyId: ${example.id}\n      expireAfter: P60D\n      timeBeforeExpiry: P30D\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nManaged HSM Key rotation policy can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:keyvault/managedHardwareSecurityModuleKeyRotationPolicy:ManagedHardwareSecurityModuleKeyRotationPolicy example https://example-hsm.managedhsm.azure.net/keys/example\n```\n\n","properties":{"expireAfter":{"type":"string","description":"Specify the expiration duration on a newly rotated key as an [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations). The minimum duration is `P28D`.\n"},"managedHsmKeyId":{"type":"string","description":"The ID of the Managed HSM Key. Changing this forces a new Managed HSM Key rotation policy to be created.\n"},"timeAfterCreation":{"type":"string","description":"Rotate automatically at a duration after key creation as an [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations). Exactly one of \u003cspan pulumi-lang-nodejs=\"`timeAfterCreation`\" pulumi-lang-dotnet=\"`TimeAfterCreation`\" pulumi-lang-go=\"`timeAfterCreation`\" pulumi-lang-python=\"`time_after_creation`\" pulumi-lang-yaml=\"`timeAfterCreation`\" pulumi-lang-java=\"`timeAfterCreation`\"\u003e`time_after_creation`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`timeBeforeExpiry`\" pulumi-lang-dotnet=\"`TimeBeforeExpiry`\" pulumi-lang-go=\"`timeBeforeExpiry`\" pulumi-lang-python=\"`time_before_expiry`\" pulumi-lang-yaml=\"`timeBeforeExpiry`\" pulumi-lang-java=\"`timeBeforeExpiry`\"\u003e`time_before_expiry`\u003c/span\u003e should be specified.\n"},"timeBeforeExpiry":{"type":"string","description":"Rotate automatically at a duration before key expiry as an [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations). Exactly one of \u003cspan pulumi-lang-nodejs=\"`timeAfterCreation`\" pulumi-lang-dotnet=\"`TimeAfterCreation`\" pulumi-lang-go=\"`timeAfterCreation`\" pulumi-lang-python=\"`time_after_creation`\" pulumi-lang-yaml=\"`timeAfterCreation`\" pulumi-lang-java=\"`timeAfterCreation`\"\u003e`time_after_creation`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`timeBeforeExpiry`\" pulumi-lang-dotnet=\"`TimeBeforeExpiry`\" pulumi-lang-go=\"`timeBeforeExpiry`\" pulumi-lang-python=\"`time_before_expiry`\" pulumi-lang-yaml=\"`timeBeforeExpiry`\" pulumi-lang-java=\"`timeBeforeExpiry`\"\u003e`time_before_expiry`\u003c/span\u003e should be specified.\n"}},"required":["expireAfter","managedHsmKeyId"],"inputProperties":{"expireAfter":{"type":"string","description":"Specify the expiration duration on a newly rotated key as an [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations). The minimum duration is `P28D`.\n"},"managedHsmKeyId":{"type":"string","description":"The ID of the Managed HSM Key. Changing this forces a new Managed HSM Key rotation policy to be created.\n","willReplaceOnChanges":true},"timeAfterCreation":{"type":"string","description":"Rotate automatically at a duration after key creation as an [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations). Exactly one of \u003cspan pulumi-lang-nodejs=\"`timeAfterCreation`\" pulumi-lang-dotnet=\"`TimeAfterCreation`\" pulumi-lang-go=\"`timeAfterCreation`\" pulumi-lang-python=\"`time_after_creation`\" pulumi-lang-yaml=\"`timeAfterCreation`\" pulumi-lang-java=\"`timeAfterCreation`\"\u003e`time_after_creation`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`timeBeforeExpiry`\" pulumi-lang-dotnet=\"`TimeBeforeExpiry`\" pulumi-lang-go=\"`timeBeforeExpiry`\" pulumi-lang-python=\"`time_before_expiry`\" pulumi-lang-yaml=\"`timeBeforeExpiry`\" pulumi-lang-java=\"`timeBeforeExpiry`\"\u003e`time_before_expiry`\u003c/span\u003e should be specified.\n"},"timeBeforeExpiry":{"type":"string","description":"Rotate automatically at a duration before key expiry as an [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations). Exactly one of \u003cspan pulumi-lang-nodejs=\"`timeAfterCreation`\" pulumi-lang-dotnet=\"`TimeAfterCreation`\" pulumi-lang-go=\"`timeAfterCreation`\" pulumi-lang-python=\"`time_after_creation`\" pulumi-lang-yaml=\"`timeAfterCreation`\" pulumi-lang-java=\"`timeAfterCreation`\"\u003e`time_after_creation`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`timeBeforeExpiry`\" pulumi-lang-dotnet=\"`TimeBeforeExpiry`\" pulumi-lang-go=\"`timeBeforeExpiry`\" pulumi-lang-python=\"`time_before_expiry`\" pulumi-lang-yaml=\"`timeBeforeExpiry`\" pulumi-lang-java=\"`timeBeforeExpiry`\"\u003e`time_before_expiry`\u003c/span\u003e should be specified.\n"}},"requiredInputs":["expireAfter","managedHsmKeyId"],"stateInputs":{"description":"Input properties used for looking up and filtering ManagedHardwareSecurityModuleKeyRotationPolicy resources.\n","properties":{"expireAfter":{"type":"string","description":"Specify the expiration duration on a newly rotated key as an [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations). The minimum duration is `P28D`.\n"},"managedHsmKeyId":{"type":"string","description":"The ID of the Managed HSM Key. Changing this forces a new Managed HSM Key rotation policy to be created.\n","willReplaceOnChanges":true},"timeAfterCreation":{"type":"string","description":"Rotate automatically at a duration after key creation as an [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations). Exactly one of \u003cspan pulumi-lang-nodejs=\"`timeAfterCreation`\" pulumi-lang-dotnet=\"`TimeAfterCreation`\" pulumi-lang-go=\"`timeAfterCreation`\" pulumi-lang-python=\"`time_after_creation`\" pulumi-lang-yaml=\"`timeAfterCreation`\" pulumi-lang-java=\"`timeAfterCreation`\"\u003e`time_after_creation`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`timeBeforeExpiry`\" pulumi-lang-dotnet=\"`TimeBeforeExpiry`\" pulumi-lang-go=\"`timeBeforeExpiry`\" pulumi-lang-python=\"`time_before_expiry`\" pulumi-lang-yaml=\"`timeBeforeExpiry`\" pulumi-lang-java=\"`timeBeforeExpiry`\"\u003e`time_before_expiry`\u003c/span\u003e should be specified.\n"},"timeBeforeExpiry":{"type":"string","description":"Rotate automatically at a duration before key expiry as an [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations). Exactly one of \u003cspan pulumi-lang-nodejs=\"`timeAfterCreation`\" pulumi-lang-dotnet=\"`TimeAfterCreation`\" pulumi-lang-go=\"`timeAfterCreation`\" pulumi-lang-python=\"`time_after_creation`\" pulumi-lang-yaml=\"`timeAfterCreation`\" pulumi-lang-java=\"`timeAfterCreation`\"\u003e`time_after_creation`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`timeBeforeExpiry`\" pulumi-lang-dotnet=\"`TimeBeforeExpiry`\" pulumi-lang-go=\"`timeBeforeExpiry`\" pulumi-lang-python=\"`time_before_expiry`\" pulumi-lang-yaml=\"`timeBeforeExpiry`\" pulumi-lang-java=\"`timeBeforeExpiry`\"\u003e`time_before_expiry`\u003c/span\u003e should be specified.\n"}},"type":"object"}},"azure:keyvault/managedHardwareSecurityModuleRoleAssignment:ManagedHardwareSecurityModuleRoleAssignment":{"description":"Manages a Managed Hardware Security Module Role Assignment.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst user = azure.keyvault.getManagedHardwareSecurityModuleRoleDefinition({\n    managedHsmId: exampleAzurermKeyVaultManagedHardwareSecurityModule.id,\n    name: \"21dbd100-6940-42c2-9190-5d6cb909625b\",\n});\nconst example = new azure.keyvault.ManagedHardwareSecurityModuleRoleAssignment(\"example\", {\n    name: \"a9dbe818-56e7-5878-c0ce-a1477692c1d6\",\n    managedHsmId: exampleAzurermKeyVaultManagedHardwareSecurityModule.id,\n    scope: user.then(user =\u003e user.scope),\n    roleDefinitionId: user.then(user =\u003e user.resourceManagerId),\n    principalId: current.objectId,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nuser = azure.keyvault.get_managed_hardware_security_module_role_definition(managed_hsm_id=example_azurerm_key_vault_managed_hardware_security_module[\"id\"],\n    name=\"21dbd100-6940-42c2-9190-5d6cb909625b\")\nexample = azure.keyvault.ManagedHardwareSecurityModuleRoleAssignment(\"example\",\n    name=\"a9dbe818-56e7-5878-c0ce-a1477692c1d6\",\n    managed_hsm_id=example_azurerm_key_vault_managed_hardware_security_module[\"id\"],\n    scope=user.scope,\n    role_definition_id=user.resource_manager_id,\n    principal_id=current[\"objectId\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var user = Azure.KeyVault.GetManagedHardwareSecurityModuleRoleDefinition.Invoke(new()\n    {\n        ManagedHsmId = exampleAzurermKeyVaultManagedHardwareSecurityModule.Id,\n        Name = \"21dbd100-6940-42c2-9190-5d6cb909625b\",\n    });\n\n    var example = new Azure.KeyVault.ManagedHardwareSecurityModuleRoleAssignment(\"example\", new()\n    {\n        Name = \"a9dbe818-56e7-5878-c0ce-a1477692c1d6\",\n        ManagedHsmId = exampleAzurermKeyVaultManagedHardwareSecurityModule.Id,\n        Scope = user.Apply(getManagedHardwareSecurityModuleRoleDefinitionResult =\u003e getManagedHardwareSecurityModuleRoleDefinitionResult.Scope),\n        RoleDefinitionId = user.Apply(getManagedHardwareSecurityModuleRoleDefinitionResult =\u003e getManagedHardwareSecurityModuleRoleDefinitionResult.ResourceManagerId),\n        PrincipalId = current.ObjectId,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/keyvault\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tuser, err := keyvault.LookupManagedHardwareSecurityModuleRoleDefinition(ctx, \u0026keyvault.LookupManagedHardwareSecurityModuleRoleDefinitionArgs{\n\t\t\tManagedHsmId: exampleAzurermKeyVaultManagedHardwareSecurityModule.Id,\n\t\t\tName:         \"21dbd100-6940-42c2-9190-5d6cb909625b\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = keyvault.NewManagedHardwareSecurityModuleRoleAssignment(ctx, \"example\", \u0026keyvault.ManagedHardwareSecurityModuleRoleAssignmentArgs{\n\t\t\tName:             pulumi.String(\"a9dbe818-56e7-5878-c0ce-a1477692c1d6\"),\n\t\t\tManagedHsmId:     pulumi.Any(exampleAzurermKeyVaultManagedHardwareSecurityModule.Id),\n\t\t\tScope:            pulumi.Any(user.Scope),\n\t\t\tRoleDefinitionId: pulumi.String(user.ResourceManagerId),\n\t\t\tPrincipalId:      pulumi.Any(current.ObjectId),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.keyvault.KeyvaultFunctions;\nimport com.pulumi.azure.keyvault.inputs.GetManagedHardwareSecurityModuleRoleDefinitionArgs;\nimport com.pulumi.azure.keyvault.ManagedHardwareSecurityModuleRoleAssignment;\nimport com.pulumi.azure.keyvault.ManagedHardwareSecurityModuleRoleAssignmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var user = KeyvaultFunctions.getManagedHardwareSecurityModuleRoleDefinition(GetManagedHardwareSecurityModuleRoleDefinitionArgs.builder()\n            .managedHsmId(exampleAzurermKeyVaultManagedHardwareSecurityModule.id())\n            .name(\"21dbd100-6940-42c2-9190-5d6cb909625b\")\n            .build());\n\n        var example = new ManagedHardwareSecurityModuleRoleAssignment(\"example\", ManagedHardwareSecurityModuleRoleAssignmentArgs.builder()\n            .name(\"a9dbe818-56e7-5878-c0ce-a1477692c1d6\")\n            .managedHsmId(exampleAzurermKeyVaultManagedHardwareSecurityModule.id())\n            .scope(user.scope())\n            .roleDefinitionId(user.resourceManagerId())\n            .principalId(current.objectId())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:keyvault:ManagedHardwareSecurityModuleRoleAssignment\n    properties:\n      name: a9dbe818-56e7-5878-c0ce-a1477692c1d6\n      managedHsmId: ${exampleAzurermKeyVaultManagedHardwareSecurityModule.id}\n      scope: ${user.scope}\n      roleDefinitionId: ${user.resourceManagerId}\n      principalId: ${current.objectId}\nvariables:\n  user:\n    fn::invoke:\n      function: azure:keyvault:getManagedHardwareSecurityModuleRoleDefinition\n      arguments:\n        managedHsmId: ${exampleAzurermKeyVaultManagedHardwareSecurityModule.id}\n        name: 21dbd100-6940-42c2-9190-5d6cb909625b\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nManaged Hardware Security Modules can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:keyvault/managedHardwareSecurityModuleRoleAssignment:ManagedHardwareSecurityModuleRoleAssignment example https://0000.managedhsm.azure.net///RoleAssignment/00000000-0000-0000-0000-000000000000\n```\n\n","properties":{"managedHsmId":{"type":"string","description":"The ID of a Managed Hardware Security Module resource. Changing this forces a new Managed Hardware Security Module to be created.\n"},"name":{"type":"string","description":"The name in GUID notation which should be used for this Managed Hardware Security Module Role Assignment. Changing this forces a new Managed Hardware Security Module to be created.\n"},"principalId":{"type":"string","description":"The principal ID to be assigned to this role. It can point to a user, service principal, or security group. Changing this forces a new Managed Hardware Security Module to be created.\n"},"resourceId":{"type":"string","description":"(Deprecated) The resource id of created assignment resource.\n"},"roleDefinitionId":{"type":"string","description":"The resource ID of the role definition to assign. Changing this forces a new Managed Hardware Security Module to be created.\n"},"scope":{"type":"string","description":"Specifies the scope to create the role assignment. Changing this forces a new Managed Hardware Security Module to be created.\n"}},"required":["managedHsmId","name","principalId","resourceId","roleDefinitionId","scope"],"inputProperties":{"managedHsmId":{"type":"string","description":"The ID of a Managed Hardware Security Module resource. Changing this forces a new Managed Hardware Security Module to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name in GUID notation which should be used for this Managed Hardware Security Module Role Assignment. Changing this forces a new Managed Hardware Security Module to be created.\n","willReplaceOnChanges":true},"principalId":{"type":"string","description":"The principal ID to be assigned to this role. It can point to a user, service principal, or security group. Changing this forces a new Managed Hardware Security Module to be created.\n","willReplaceOnChanges":true},"roleDefinitionId":{"type":"string","description":"The resource ID of the role definition to assign. Changing this forces a new Managed Hardware Security Module to be created.\n","willReplaceOnChanges":true},"scope":{"type":"string","description":"Specifies the scope to create the role assignment. Changing this forces a new Managed Hardware Security Module to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["managedHsmId","principalId","roleDefinitionId","scope"],"stateInputs":{"description":"Input properties used for looking up and filtering ManagedHardwareSecurityModuleRoleAssignment resources.\n","properties":{"managedHsmId":{"type":"string","description":"The ID of a Managed Hardware Security Module resource. Changing this forces a new Managed Hardware Security Module to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name in GUID notation which should be used for this Managed Hardware Security Module Role Assignment. Changing this forces a new Managed Hardware Security Module to be created.\n","willReplaceOnChanges":true},"principalId":{"type":"string","description":"The principal ID to be assigned to this role. It can point to a user, service principal, or security group. Changing this forces a new Managed Hardware Security Module to be created.\n","willReplaceOnChanges":true},"resourceId":{"type":"string","description":"(Deprecated) The resource id of created assignment resource.\n"},"roleDefinitionId":{"type":"string","description":"The resource ID of the role definition to assign. Changing this forces a new Managed Hardware Security Module to be created.\n","willReplaceOnChanges":true},"scope":{"type":"string","description":"Specifies the scope to create the role assignment. Changing this forces a new Managed Hardware Security Module to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:keyvault/managedHardwareSecurityModuleRoleDefinition:ManagedHardwareSecurityModuleRoleDefinition":{"description":"Manages a Key Vault Managed Hardware Security Module Role Definition. This resource works together with Managed hardware security module resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.keyvault.ManagedHardwareSecurityModule(\"example\", {\n    name: \"example\",\n    resourceGroupName: exampleAzurermResourceGroup.name,\n    location: exampleAzurermResourceGroup.location,\n    skuName: \"Standard_B1\",\n    tenantId: current.tenantId,\n    adminObjectIds: [current.objectId],\n    purgeProtectionEnabled: false,\n    activeConfig: [{\n        securityDomainCertificate: [\n            cert[0].id,\n            cert[1].id,\n            cert[2].id,\n        ],\n        securityDomainQuorum: 2,\n    }],\n});\nconst exampleManagedHardwareSecurityModuleRoleDefinition = new azure.keyvault.ManagedHardwareSecurityModuleRoleDefinition(\"example\", {\n    name: \"7d206142-bf01-11ed-80bc-00155d61ee9e\",\n    managedHsmId: example.id,\n    description: \"desc foo\",\n    permissions: [{\n        dataActions: [\"Microsoft.KeyVault/managedHsm/keys/read/action\"],\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.keyvault.ManagedHardwareSecurityModule(\"example\",\n    name=\"example\",\n    resource_group_name=example_azurerm_resource_group[\"name\"],\n    location=example_azurerm_resource_group[\"location\"],\n    sku_name=\"Standard_B1\",\n    tenant_id=current[\"tenantId\"],\n    admin_object_ids=[current[\"objectId\"]],\n    purge_protection_enabled=False,\n    active_config=[{\n        \"securityDomainCertificate\": [\n            cert[0][\"id\"],\n            cert[1][\"id\"],\n            cert[2][\"id\"],\n        ],\n        \"securityDomainQuorum\": 2,\n    }])\nexample_managed_hardware_security_module_role_definition = azure.keyvault.ManagedHardwareSecurityModuleRoleDefinition(\"example\",\n    name=\"7d206142-bf01-11ed-80bc-00155d61ee9e\",\n    managed_hsm_id=example.id,\n    description=\"desc foo\",\n    permissions=[{\n        \"data_actions\": [\"Microsoft.KeyVault/managedHsm/keys/read/action\"],\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.KeyVault.ManagedHardwareSecurityModule(\"example\", new()\n    {\n        Name = \"example\",\n        ResourceGroupName = exampleAzurermResourceGroup.Name,\n        Location = exampleAzurermResourceGroup.Location,\n        SkuName = \"Standard_B1\",\n        TenantId = current.TenantId,\n        AdminObjectIds = new[]\n        {\n            current.ObjectId,\n        },\n        PurgeProtectionEnabled = false,\n        ActiveConfig = new[]\n        {\n            \n            {\n                { \"securityDomainCertificate\", new[]\n                {\n                    cert[0].Id,\n                    cert[1].Id,\n                    cert[2].Id,\n                } },\n                { \"securityDomainQuorum\", 2 },\n            },\n        },\n    });\n\n    var exampleManagedHardwareSecurityModuleRoleDefinition = new Azure.KeyVault.ManagedHardwareSecurityModuleRoleDefinition(\"example\", new()\n    {\n        Name = \"7d206142-bf01-11ed-80bc-00155d61ee9e\",\n        ManagedHsmId = example.Id,\n        Description = \"desc foo\",\n        Permissions = new[]\n        {\n            new Azure.KeyVault.Inputs.ManagedHardwareSecurityModuleRoleDefinitionPermissionArgs\n            {\n                DataActions = new[]\n                {\n                    \"Microsoft.KeyVault/managedHsm/keys/read/action\",\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/keyvault\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := keyvault.NewManagedHardwareSecurityModule(ctx, \"example\", \u0026keyvault.ManagedHardwareSecurityModuleArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tResourceGroupName: pulumi.Any(exampleAzurermResourceGroup.Name),\n\t\t\tLocation:          pulumi.Any(exampleAzurermResourceGroup.Location),\n\t\t\tSkuName:           pulumi.String(\"Standard_B1\"),\n\t\t\tTenantId:          pulumi.Any(current.TenantId),\n\t\t\tAdminObjectIds: pulumi.StringArray{\n\t\t\t\tcurrent.ObjectId,\n\t\t\t},\n\t\t\tPurgeProtectionEnabled: pulumi.Bool(false),\n\t\t\tActiveConfig: []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"securityDomainCertificate\": []interface{}{\n\t\t\t\t\t\tcert[0].Id,\n\t\t\t\t\t\tcert[1].Id,\n\t\t\t\t\t\tcert[2].Id,\n\t\t\t\t\t},\n\t\t\t\t\t\"securityDomainQuorum\": 2,\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = keyvault.NewManagedHardwareSecurityModuleRoleDefinition(ctx, \"example\", \u0026keyvault.ManagedHardwareSecurityModuleRoleDefinitionArgs{\n\t\t\tName:         pulumi.String(\"7d206142-bf01-11ed-80bc-00155d61ee9e\"),\n\t\t\tManagedHsmId: example.ID(),\n\t\t\tDescription:  pulumi.String(\"desc foo\"),\n\t\t\tPermissions: keyvault.ManagedHardwareSecurityModuleRoleDefinitionPermissionArray{\n\t\t\t\t\u0026keyvault.ManagedHardwareSecurityModuleRoleDefinitionPermissionArgs{\n\t\t\t\t\tDataActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"Microsoft.KeyVault/managedHsm/keys/read/action\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.keyvault.ManagedHardwareSecurityModule;\nimport com.pulumi.azure.keyvault.ManagedHardwareSecurityModuleArgs;\nimport com.pulumi.azure.keyvault.ManagedHardwareSecurityModuleRoleDefinition;\nimport com.pulumi.azure.keyvault.ManagedHardwareSecurityModuleRoleDefinitionArgs;\nimport com.pulumi.azure.keyvault.inputs.ManagedHardwareSecurityModuleRoleDefinitionPermissionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ManagedHardwareSecurityModule(\"example\", ManagedHardwareSecurityModuleArgs.builder()\n            .name(\"example\")\n            .resourceGroupName(exampleAzurermResourceGroup.name())\n            .location(exampleAzurermResourceGroup.location())\n            .skuName(\"Standard_B1\")\n            .tenantId(current.tenantId())\n            .adminObjectIds(current.objectId())\n            .purgeProtectionEnabled(false)\n            .activeConfig(List.of(Map.ofEntries(\n                Map.entry(\"securityDomainCertificate\", List.of(                \n                    cert[0].id(),\n                    cert[1].id(),\n                    cert[2].id())),\n                Map.entry(\"securityDomainQuorum\", 2)\n            )))\n            .build());\n\n        var exampleManagedHardwareSecurityModuleRoleDefinition = new ManagedHardwareSecurityModuleRoleDefinition(\"exampleManagedHardwareSecurityModuleRoleDefinition\", ManagedHardwareSecurityModuleRoleDefinitionArgs.builder()\n            .name(\"7d206142-bf01-11ed-80bc-00155d61ee9e\")\n            .managedHsmId(example.id())\n            .description(\"desc foo\")\n            .permissions(ManagedHardwareSecurityModuleRoleDefinitionPermissionArgs.builder()\n                .dataActions(\"Microsoft.KeyVault/managedHsm/keys/read/action\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:keyvault:ManagedHardwareSecurityModule\n    properties:\n      name: example\n      resourceGroupName: ${exampleAzurermResourceGroup.name}\n      location: ${exampleAzurermResourceGroup.location}\n      skuName: Standard_B1\n      tenantId: ${current.tenantId}\n      adminObjectIds:\n        - ${current.objectId}\n      purgeProtectionEnabled: false\n      activeConfig:\n        - securityDomainCertificate:\n            - ${cert[0].id}\n            - ${cert[1].id}\n            - ${cert[2].id}\n          securityDomainQuorum: 2\n  exampleManagedHardwareSecurityModuleRoleDefinition:\n    type: azure:keyvault:ManagedHardwareSecurityModuleRoleDefinition\n    name: example\n    properties:\n      name: 7d206142-bf01-11ed-80bc-00155d61ee9e\n      managedHsmId: ${example.id}\n      description: desc foo\n      permissions:\n        - dataActions:\n            - Microsoft.KeyVault/managedHsm/keys/read/action\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nKey Vault Managed Hardware Security Module Role Definitions can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:keyvault/managedHardwareSecurityModuleRoleDefinition:ManagedHardwareSecurityModuleRoleDefinition example https://0000.managedhsm.azure.net///RoleDefinition/00000000-0000-0000-0000-000000000000\n```\n\n","properties":{"description":{"type":"string","description":"Specifies a text description about this Key Vault Managed Hardware Security Module Role Definition.\n"},"managedHsmId":{"type":"string","description":"The ID of the Key Vault Managed Hardware Security Module. Changing this forces a new Key Vault Managed Hardware Security Module Role Definition to be created.\n"},"name":{"type":"string","description":"The name in UUID notation of this Key Vault Managed Hardware Security Module Role Definition. Changing this forces a new Key Vault Managed Hardware Security Module Role Definition to be created.\n"},"permissions":{"type":"array","items":{"$ref":"#/types/azure:keyvault/ManagedHardwareSecurityModuleRoleDefinitionPermission:ManagedHardwareSecurityModuleRoleDefinitionPermission"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`permission`\" pulumi-lang-dotnet=\"`Permission`\" pulumi-lang-go=\"`permission`\" pulumi-lang-python=\"`permission`\" pulumi-lang-yaml=\"`permission`\" pulumi-lang-java=\"`permission`\"\u003e`permission`\u003c/span\u003e blocks as defined below.\n"},"resourceManagerId":{"type":"string","description":"The ID of the role definition resource without Key Vault base URL.\n"},"roleName":{"type":"string","description":"Specify a display name for this Key Vault Managed Hardware Security Module Role Definition.\n"},"roleType":{"type":"string","description":"The type of the role definition. Possible values are `AKVBuiltInRole` and `CustomRole`.\n"}},"required":["managedHsmId","name","resourceManagerId","roleType"],"inputProperties":{"description":{"type":"string","description":"Specifies a text description about this Key Vault Managed Hardware Security Module Role Definition.\n"},"managedHsmId":{"type":"string","description":"The ID of the Key Vault Managed Hardware Security Module. Changing this forces a new Key Vault Managed Hardware Security Module Role Definition to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name in UUID notation of this Key Vault Managed Hardware Security Module Role Definition. Changing this forces a new Key Vault Managed Hardware Security Module Role Definition to be created.\n","willReplaceOnChanges":true},"permissions":{"type":"array","items":{"$ref":"#/types/azure:keyvault/ManagedHardwareSecurityModuleRoleDefinitionPermission:ManagedHardwareSecurityModuleRoleDefinitionPermission"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`permission`\" pulumi-lang-dotnet=\"`Permission`\" pulumi-lang-go=\"`permission`\" pulumi-lang-python=\"`permission`\" pulumi-lang-yaml=\"`permission`\" pulumi-lang-java=\"`permission`\"\u003e`permission`\u003c/span\u003e blocks as defined below.\n"},"roleName":{"type":"string","description":"Specify a display name for this Key Vault Managed Hardware Security Module Role Definition.\n"}},"requiredInputs":["managedHsmId"],"stateInputs":{"description":"Input properties used for looking up and filtering ManagedHardwareSecurityModuleRoleDefinition resources.\n","properties":{"description":{"type":"string","description":"Specifies a text description about this Key Vault Managed Hardware Security Module Role Definition.\n"},"managedHsmId":{"type":"string","description":"The ID of the Key Vault Managed Hardware Security Module. Changing this forces a new Key Vault Managed Hardware Security Module Role Definition to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name in UUID notation of this Key Vault Managed Hardware Security Module Role Definition. Changing this forces a new Key Vault Managed Hardware Security Module Role Definition to be created.\n","willReplaceOnChanges":true},"permissions":{"type":"array","items":{"$ref":"#/types/azure:keyvault/ManagedHardwareSecurityModuleRoleDefinitionPermission:ManagedHardwareSecurityModuleRoleDefinitionPermission"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`permission`\" pulumi-lang-dotnet=\"`Permission`\" pulumi-lang-go=\"`permission`\" pulumi-lang-python=\"`permission`\" pulumi-lang-yaml=\"`permission`\" pulumi-lang-java=\"`permission`\"\u003e`permission`\u003c/span\u003e blocks as defined below.\n"},"resourceManagerId":{"type":"string","description":"The ID of the role definition resource without Key Vault base URL.\n"},"roleName":{"type":"string","description":"Specify a display name for this Key Vault Managed Hardware Security Module Role Definition.\n"},"roleType":{"type":"string","description":"The type of the role definition. Possible values are `AKVBuiltInRole` and `CustomRole`.\n"}},"type":"object"}},"azure:keyvault/managedStorageAccount:ManagedStorageAccount":{"description":"Manages a Key Vault Managed Storage Account.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst current = azure.core.getClientConfig({});\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleAccount = new azure.storage.Account(\"example\", {\n    name: \"storageaccountname\",\n    resourceGroupName: example.name,\n    location: example.location,\n    accountTier: \"Standard\",\n    accountReplicationType: \"LRS\",\n});\nconst exampleKeyVault = new azure.keyvault.KeyVault(\"example\", {\n    name: \"keyvaultname\",\n    location: example.location,\n    resourceGroupName: example.name,\n    tenantId: current.then(current =\u003e current.tenantId),\n    skuName: \"standard\",\n    accessPolicies: [{\n        tenantId: current.then(current =\u003e current.tenantId),\n        objectId: current.then(current =\u003e current.objectId),\n        secretPermissions: [\n            \"Get\",\n            \"Delete\",\n        ],\n        storagePermissions: [\n            \"Get\",\n            \"List\",\n            \"Set\",\n            \"SetSAS\",\n            \"GetSAS\",\n            \"DeleteSAS\",\n            \"Update\",\n            \"RegenerateKey\",\n        ],\n    }],\n});\nconst exampleManagedStorageAccount = new azure.keyvault.ManagedStorageAccount(\"example\", {\n    name: \"examplemanagedstorage\",\n    keyVaultId: exampleKeyVault.id,\n    storageAccountId: exampleAccount.id,\n    storageAccountKey: \"key1\",\n    regenerateKeyAutomatically: false,\n    regenerationPeriod: \"P1D\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\ncurrent = azure.core.get_client_config()\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_account = azure.storage.Account(\"example\",\n    name=\"storageaccountname\",\n    resource_group_name=example.name,\n    location=example.location,\n    account_tier=\"Standard\",\n    account_replication_type=\"LRS\")\nexample_key_vault = azure.keyvault.KeyVault(\"example\",\n    name=\"keyvaultname\",\n    location=example.location,\n    resource_group_name=example.name,\n    tenant_id=current.tenant_id,\n    sku_name=\"standard\",\n    access_policies=[{\n        \"tenant_id\": current.tenant_id,\n        \"object_id\": current.object_id,\n        \"secret_permissions\": [\n            \"Get\",\n            \"Delete\",\n        ],\n        \"storage_permissions\": [\n            \"Get\",\n            \"List\",\n            \"Set\",\n            \"SetSAS\",\n            \"GetSAS\",\n            \"DeleteSAS\",\n            \"Update\",\n            \"RegenerateKey\",\n        ],\n    }])\nexample_managed_storage_account = azure.keyvault.ManagedStorageAccount(\"example\",\n    name=\"examplemanagedstorage\",\n    key_vault_id=example_key_vault.id,\n    storage_account_id=example_account.id,\n    storage_account_key=\"key1\",\n    regenerate_key_automatically=False,\n    regeneration_period=\"P1D\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var current = Azure.Core.GetClientConfig.Invoke();\n\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleAccount = new Azure.Storage.Account(\"example\", new()\n    {\n        Name = \"storageaccountname\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        AccountTier = \"Standard\",\n        AccountReplicationType = \"LRS\",\n    });\n\n    var exampleKeyVault = new Azure.KeyVault.KeyVault(\"example\", new()\n    {\n        Name = \"keyvaultname\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        TenantId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.TenantId),\n        SkuName = \"standard\",\n        AccessPolicies = new[]\n        {\n            new Azure.KeyVault.Inputs.KeyVaultAccessPolicyArgs\n            {\n                TenantId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.TenantId),\n                ObjectId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.ObjectId),\n                SecretPermissions = new[]\n                {\n                    \"Get\",\n                    \"Delete\",\n                },\n                StoragePermissions = new[]\n                {\n                    \"Get\",\n                    \"List\",\n                    \"Set\",\n                    \"SetSAS\",\n                    \"GetSAS\",\n                    \"DeleteSAS\",\n                    \"Update\",\n                    \"RegenerateKey\",\n                },\n            },\n        },\n    });\n\n    var exampleManagedStorageAccount = new Azure.KeyVault.ManagedStorageAccount(\"example\", new()\n    {\n        Name = \"examplemanagedstorage\",\n        KeyVaultId = exampleKeyVault.Id,\n        StorageAccountId = exampleAccount.Id,\n        StorageAccountKey = \"key1\",\n        RegenerateKeyAutomatically = false,\n        RegenerationPeriod = \"P1D\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/keyvault\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := core.GetClientConfig(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := storage.NewAccount(ctx, \"example\", \u0026storage.AccountArgs{\n\t\t\tName:                   pulumi.String(\"storageaccountname\"),\n\t\t\tResourceGroupName:      example.Name,\n\t\t\tLocation:               example.Location,\n\t\t\tAccountTier:            pulumi.String(\"Standard\"),\n\t\t\tAccountReplicationType: pulumi.String(\"LRS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleKeyVault, err := keyvault.NewKeyVault(ctx, \"example\", \u0026keyvault.KeyVaultArgs{\n\t\t\tName:              pulumi.String(\"keyvaultname\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tTenantId:          pulumi.String(current.TenantId),\n\t\t\tSkuName:           pulumi.String(\"standard\"),\n\t\t\tAccessPolicies: keyvault.KeyVaultAccessPolicyArray{\n\t\t\t\t\u0026keyvault.KeyVaultAccessPolicyArgs{\n\t\t\t\t\tTenantId: pulumi.String(current.TenantId),\n\t\t\t\t\tObjectId: pulumi.String(current.ObjectId),\n\t\t\t\t\tSecretPermissions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"Get\"),\n\t\t\t\t\t\tpulumi.String(\"Delete\"),\n\t\t\t\t\t},\n\t\t\t\t\tStoragePermissions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"Get\"),\n\t\t\t\t\t\tpulumi.String(\"List\"),\n\t\t\t\t\t\tpulumi.String(\"Set\"),\n\t\t\t\t\t\tpulumi.String(\"SetSAS\"),\n\t\t\t\t\t\tpulumi.String(\"GetSAS\"),\n\t\t\t\t\t\tpulumi.String(\"DeleteSAS\"),\n\t\t\t\t\t\tpulumi.String(\"Update\"),\n\t\t\t\t\t\tpulumi.String(\"RegenerateKey\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = keyvault.NewManagedStorageAccount(ctx, \"example\", \u0026keyvault.ManagedStorageAccountArgs{\n\t\t\tName:                       pulumi.String(\"examplemanagedstorage\"),\n\t\t\tKeyVaultId:                 exampleKeyVault.ID(),\n\t\t\tStorageAccountId:           exampleAccount.ID(),\n\t\t\tStorageAccountKey:          pulumi.String(\"key1\"),\n\t\t\tRegenerateKeyAutomatically: pulumi.Bool(false),\n\t\t\tRegenerationPeriod:         pulumi.String(\"P1D\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.storage.Account;\nimport com.pulumi.azure.storage.AccountArgs;\nimport com.pulumi.azure.keyvault.KeyVault;\nimport com.pulumi.azure.keyvault.KeyVaultArgs;\nimport com.pulumi.azure.keyvault.inputs.KeyVaultAccessPolicyArgs;\nimport com.pulumi.azure.keyvault.ManagedStorageAccount;\nimport com.pulumi.azure.keyvault.ManagedStorageAccountArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var current = CoreFunctions.getClientConfig(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"storageaccountname\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .accountTier(\"Standard\")\n            .accountReplicationType(\"LRS\")\n            .build());\n\n        var exampleKeyVault = new KeyVault(\"exampleKeyVault\", KeyVaultArgs.builder()\n            .name(\"keyvaultname\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .tenantId(current.tenantId())\n            .skuName(\"standard\")\n            .accessPolicies(KeyVaultAccessPolicyArgs.builder()\n                .tenantId(current.tenantId())\n                .objectId(current.objectId())\n                .secretPermissions(                \n                    \"Get\",\n                    \"Delete\")\n                .storagePermissions(                \n                    \"Get\",\n                    \"List\",\n                    \"Set\",\n                    \"SetSAS\",\n                    \"GetSAS\",\n                    \"DeleteSAS\",\n                    \"Update\",\n                    \"RegenerateKey\")\n                .build())\n            .build());\n\n        var exampleManagedStorageAccount = new ManagedStorageAccount(\"exampleManagedStorageAccount\", ManagedStorageAccountArgs.builder()\n            .name(\"examplemanagedstorage\")\n            .keyVaultId(exampleKeyVault.id())\n            .storageAccountId(exampleAccount.id())\n            .storageAccountKey(\"key1\")\n            .regenerateKeyAutomatically(false)\n            .regenerationPeriod(\"P1D\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleAccount:\n    type: azure:storage:Account\n    name: example\n    properties:\n      name: storageaccountname\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      accountTier: Standard\n      accountReplicationType: LRS\n  exampleKeyVault:\n    type: azure:keyvault:KeyVault\n    name: example\n    properties:\n      name: keyvaultname\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      tenantId: ${current.tenantId}\n      skuName: standard\n      accessPolicies:\n        - tenantId: ${current.tenantId}\n          objectId: ${current.objectId}\n          secretPermissions:\n            - Get\n            - Delete\n          storagePermissions:\n            - Get\n            - List\n            - Set\n            - SetSAS\n            - GetSAS\n            - DeleteSAS\n            - Update\n            - RegenerateKey\n  exampleManagedStorageAccount:\n    type: azure:keyvault:ManagedStorageAccount\n    name: example\n    properties:\n      name: examplemanagedstorage\n      keyVaultId: ${exampleKeyVault.id}\n      storageAccountId: ${exampleAccount.id}\n      storageAccountKey: key1\n      regenerateKeyAutomatically: false\n      regenerationPeriod: P1D\nvariables:\n  current:\n    fn::invoke:\n      function: azure:core:getClientConfig\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\n## Import\n\nKey Vault Managed Storage Accounts can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:keyvault/managedStorageAccount:ManagedStorageAccount example https://example-keyvault.vault.azure.net/storage/exampleStorageAcc01\n```\n\n","properties":{"keyVaultId":{"type":"string","description":"The ID of the Key Vault where the Managed Storage Account should be created. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"The name which should be used for this Key Vault Managed Storage Account. Changing this forces a new Key Vault Managed Storage Account to be created.\n"},"regenerateKeyAutomatically":{"type":"boolean","description":"Should Storage Account access key be regenerated periodically?\n\n\u003e **Note:** Azure Key Vault application needs to have access to Storage Account for auto regeneration to work. Example can be found above.\n"},"regenerationPeriod":{"type":"string","description":"How often Storage Account access key should be regenerated. Value needs to be in [ISO 8601 duration format](https://en.wikipedia.org/wiki/ISO_8601#Durations).\n"},"storageAccountId":{"type":"string","description":"The ID of the Storage Account.\n"},"storageAccountKey":{"type":"string","description":"Which Storage Account access key that is managed by Key Vault. Possible values are \u003cspan pulumi-lang-nodejs=\"`key1`\" pulumi-lang-dotnet=\"`Key1`\" pulumi-lang-go=\"`key1`\" pulumi-lang-python=\"`key1`\" pulumi-lang-yaml=\"`key1`\" pulumi-lang-java=\"`key1`\"\u003e`key1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`key2`\" pulumi-lang-dotnet=\"`Key2`\" pulumi-lang-go=\"`key2`\" pulumi-lang-python=\"`key2`\" pulumi-lang-yaml=\"`key2`\" pulumi-lang-java=\"`key2`\"\u003e`key2`\u003c/span\u003e.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Key Vault Managed Storage Account. Changing this forces a new resource to be created.\n"}},"required":["keyVaultId","name","storageAccountId","storageAccountKey"],"inputProperties":{"keyVaultId":{"type":"string","description":"The ID of the Key Vault where the Managed Storage Account should be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Key Vault Managed Storage Account. Changing this forces a new Key Vault Managed Storage Account to be created.\n","willReplaceOnChanges":true},"regenerateKeyAutomatically":{"type":"boolean","description":"Should Storage Account access key be regenerated periodically?\n\n\u003e **Note:** Azure Key Vault application needs to have access to Storage Account for auto regeneration to work. Example can be found above.\n"},"regenerationPeriod":{"type":"string","description":"How often Storage Account access key should be regenerated. Value needs to be in [ISO 8601 duration format](https://en.wikipedia.org/wiki/ISO_8601#Durations).\n"},"storageAccountId":{"type":"string","description":"The ID of the Storage Account.\n"},"storageAccountKey":{"type":"string","description":"Which Storage Account access key that is managed by Key Vault. Possible values are \u003cspan pulumi-lang-nodejs=\"`key1`\" pulumi-lang-dotnet=\"`Key1`\" pulumi-lang-go=\"`key1`\" pulumi-lang-python=\"`key1`\" pulumi-lang-yaml=\"`key1`\" pulumi-lang-java=\"`key1`\"\u003e`key1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`key2`\" pulumi-lang-dotnet=\"`Key2`\" pulumi-lang-go=\"`key2`\" pulumi-lang-python=\"`key2`\" pulumi-lang-yaml=\"`key2`\" pulumi-lang-java=\"`key2`\"\u003e`key2`\u003c/span\u003e.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Key Vault Managed Storage Account. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["keyVaultId","storageAccountId","storageAccountKey"],"stateInputs":{"description":"Input properties used for looking up and filtering ManagedStorageAccount resources.\n","properties":{"keyVaultId":{"type":"string","description":"The ID of the Key Vault where the Managed Storage Account should be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Key Vault Managed Storage Account. Changing this forces a new Key Vault Managed Storage Account to be created.\n","willReplaceOnChanges":true},"regenerateKeyAutomatically":{"type":"boolean","description":"Should Storage Account access key be regenerated periodically?\n\n\u003e **Note:** Azure Key Vault application needs to have access to Storage Account for auto regeneration to work. Example can be found above.\n"},"regenerationPeriod":{"type":"string","description":"How often Storage Account access key should be regenerated. Value needs to be in [ISO 8601 duration format](https://en.wikipedia.org/wiki/ISO_8601#Durations).\n"},"storageAccountId":{"type":"string","description":"The ID of the Storage Account.\n"},"storageAccountKey":{"type":"string","description":"Which Storage Account access key that is managed by Key Vault. Possible values are \u003cspan pulumi-lang-nodejs=\"`key1`\" pulumi-lang-dotnet=\"`Key1`\" pulumi-lang-go=\"`key1`\" pulumi-lang-python=\"`key1`\" pulumi-lang-yaml=\"`key1`\" pulumi-lang-java=\"`key1`\"\u003e`key1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`key2`\" pulumi-lang-dotnet=\"`Key2`\" pulumi-lang-go=\"`key2`\" pulumi-lang-python=\"`key2`\" pulumi-lang-yaml=\"`key2`\" pulumi-lang-java=\"`key2`\"\u003e`key2`\u003c/span\u003e.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Key Vault Managed Storage Account. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:keyvault/managedStorageAccountSasTokenDefinition:ManagedStorageAccountSasTokenDefinition":{"description":"Manages a Key Vault Managed Storage Account SAS Definition.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.core.getClientConfig({});\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleAccount = new azure.storage.Account(\"example\", {\n    name: \"storageaccountname\",\n    resourceGroupName: exampleResourceGroup.name,\n    location: exampleResourceGroup.location,\n    accountTier: \"Standard\",\n    accountReplicationType: \"LRS\",\n});\nconst exampleGetAccountSAS = azure.storage.getAccountSASOutput({\n    connectionString: exampleAccount.primaryConnectionString,\n    httpsOnly: true,\n    resourceTypes: {\n        service: true,\n        container: false,\n        object: false,\n    },\n    services: {\n        blob: true,\n        queue: false,\n        table: false,\n        file: false,\n    },\n    start: \"2021-04-30T00:00:00Z\",\n    expiry: \"2023-04-30T00:00:00Z\",\n    permissions: {\n        read: true,\n        write: true,\n        \"delete\": false,\n        list: false,\n        add: true,\n        create: true,\n        update: false,\n        process: false,\n        tag: false,\n        filter: false,\n    },\n});\nconst exampleKeyVault = new azure.keyvault.KeyVault(\"example\", {\n    name: \"example-keyvault\",\n    location: exampleResourceGroup.location,\n    resourceGroupName: exampleResourceGroup.name,\n    tenantId: example.then(example =\u003e example.tenantId),\n    skuName: \"standard\",\n    accessPolicies: [{\n        tenantId: example.then(example =\u003e example.tenantId),\n        objectId: example.then(example =\u003e example.objectId),\n        secretPermissions: [\n            \"Get\",\n            \"Delete\",\n        ],\n        storagePermissions: [\n            \"Get\",\n            \"List\",\n            \"Set\",\n            \"SetSAS\",\n            \"GetSAS\",\n            \"DeleteSAS\",\n            \"Update\",\n            \"RegenerateKey\",\n        ],\n    }],\n});\nconst exampleManagedStorageAccount = new azure.keyvault.ManagedStorageAccount(\"example\", {\n    name: \"examplemanagedstorage\",\n    keyVaultId: exampleKeyVault.id,\n    storageAccountId: exampleAccount.id,\n    storageAccountKey: \"key1\",\n    regenerateKeyAutomatically: false,\n    regenerationPeriod: \"P1D\",\n});\nconst exampleManagedStorageAccountSasTokenDefinition = new azure.keyvault.ManagedStorageAccountSasTokenDefinition(\"example\", {\n    name: \"examplesasdefinition\",\n    validityPeriod: \"P1D\",\n    managedStorageAccountId: exampleManagedStorageAccount.id,\n    sasTemplateUri: exampleGetAccountSAS.apply(exampleGetAccountSAS =\u003e exampleGetAccountSAS.sas),\n    sasType: \"account\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.get_client_config()\nexample_resource_group = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_account = azure.storage.Account(\"example\",\n    name=\"storageaccountname\",\n    resource_group_name=example_resource_group.name,\n    location=example_resource_group.location,\n    account_tier=\"Standard\",\n    account_replication_type=\"LRS\")\nexample_get_account_sas = azure.storage.get_account_sas_output(connection_string=example_account.primary_connection_string,\n    https_only=True,\n    resource_types={\n        \"service\": True,\n        \"container\": False,\n        \"object\": False,\n    },\n    services={\n        \"blob\": True,\n        \"queue\": False,\n        \"table\": False,\n        \"file\": False,\n    },\n    start=\"2021-04-30T00:00:00Z\",\n    expiry=\"2023-04-30T00:00:00Z\",\n    permissions={\n        \"read\": True,\n        \"write\": True,\n        \"delete\": False,\n        \"list\": False,\n        \"add\": True,\n        \"create\": True,\n        \"update\": False,\n        \"process\": False,\n        \"tag\": False,\n        \"filter\": False,\n    })\nexample_key_vault = azure.keyvault.KeyVault(\"example\",\n    name=\"example-keyvault\",\n    location=example_resource_group.location,\n    resource_group_name=example_resource_group.name,\n    tenant_id=example.tenant_id,\n    sku_name=\"standard\",\n    access_policies=[{\n        \"tenant_id\": example.tenant_id,\n        \"object_id\": example.object_id,\n        \"secret_permissions\": [\n            \"Get\",\n            \"Delete\",\n        ],\n        \"storage_permissions\": [\n            \"Get\",\n            \"List\",\n            \"Set\",\n            \"SetSAS\",\n            \"GetSAS\",\n            \"DeleteSAS\",\n            \"Update\",\n            \"RegenerateKey\",\n        ],\n    }])\nexample_managed_storage_account = azure.keyvault.ManagedStorageAccount(\"example\",\n    name=\"examplemanagedstorage\",\n    key_vault_id=example_key_vault.id,\n    storage_account_id=example_account.id,\n    storage_account_key=\"key1\",\n    regenerate_key_automatically=False,\n    regeneration_period=\"P1D\")\nexample_managed_storage_account_sas_token_definition = azure.keyvault.ManagedStorageAccountSasTokenDefinition(\"example\",\n    name=\"examplesasdefinition\",\n    validity_period=\"P1D\",\n    managed_storage_account_id=example_managed_storage_account.id,\n    sas_template_uri=example_get_account_sas.sas,\n    sas_type=\"account\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Core.GetClientConfig.Invoke();\n\n    var exampleResourceGroup = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleAccount = new Azure.Storage.Account(\"example\", new()\n    {\n        Name = \"storageaccountname\",\n        ResourceGroupName = exampleResourceGroup.Name,\n        Location = exampleResourceGroup.Location,\n        AccountTier = \"Standard\",\n        AccountReplicationType = \"LRS\",\n    });\n\n    var exampleGetAccountSAS = Azure.Storage.GetAccountSAS.Invoke(new()\n    {\n        ConnectionString = exampleAccount.PrimaryConnectionString,\n        HttpsOnly = true,\n        ResourceTypes = new Azure.Storage.Inputs.GetAccountSASResourceTypesInputArgs\n        {\n            Service = true,\n            Container = false,\n            Object = false,\n        },\n        Services = new Azure.Storage.Inputs.GetAccountSASServicesInputArgs\n        {\n            Blob = true,\n            Queue = false,\n            Table = false,\n            File = false,\n        },\n        Start = \"2021-04-30T00:00:00Z\",\n        Expiry = \"2023-04-30T00:00:00Z\",\n        Permissions = new Azure.Storage.Inputs.GetAccountSASPermissionsInputArgs\n        {\n            Read = true,\n            Write = true,\n            Delete = false,\n            List = false,\n            Add = true,\n            Create = true,\n            Update = false,\n            Process = false,\n            Tag = false,\n            Filter = false,\n        },\n    });\n\n    var exampleKeyVault = new Azure.KeyVault.KeyVault(\"example\", new()\n    {\n        Name = \"example-keyvault\",\n        Location = exampleResourceGroup.Location,\n        ResourceGroupName = exampleResourceGroup.Name,\n        TenantId = example.Apply(getClientConfigResult =\u003e getClientConfigResult.TenantId),\n        SkuName = \"standard\",\n        AccessPolicies = new[]\n        {\n            new Azure.KeyVault.Inputs.KeyVaultAccessPolicyArgs\n            {\n                TenantId = example.Apply(getClientConfigResult =\u003e getClientConfigResult.TenantId),\n                ObjectId = example.Apply(getClientConfigResult =\u003e getClientConfigResult.ObjectId),\n                SecretPermissions = new[]\n                {\n                    \"Get\",\n                    \"Delete\",\n                },\n                StoragePermissions = new[]\n                {\n                    \"Get\",\n                    \"List\",\n                    \"Set\",\n                    \"SetSAS\",\n                    \"GetSAS\",\n                    \"DeleteSAS\",\n                    \"Update\",\n                    \"RegenerateKey\",\n                },\n            },\n        },\n    });\n\n    var exampleManagedStorageAccount = new Azure.KeyVault.ManagedStorageAccount(\"example\", new()\n    {\n        Name = \"examplemanagedstorage\",\n        KeyVaultId = exampleKeyVault.Id,\n        StorageAccountId = exampleAccount.Id,\n        StorageAccountKey = \"key1\",\n        RegenerateKeyAutomatically = false,\n        RegenerationPeriod = \"P1D\",\n    });\n\n    var exampleManagedStorageAccountSasTokenDefinition = new Azure.KeyVault.ManagedStorageAccountSasTokenDefinition(\"example\", new()\n    {\n        Name = \"examplesasdefinition\",\n        ValidityPeriod = \"P1D\",\n        ManagedStorageAccountId = exampleManagedStorageAccount.Id,\n        SasTemplateUri = exampleGetAccountSAS.Apply(getAccountSASResult =\u003e getAccountSASResult.Sas),\n        SasType = \"account\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/keyvault\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.GetClientConfig(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := storage.NewAccount(ctx, \"example\", \u0026storage.AccountArgs{\n\t\t\tName:                   pulumi.String(\"storageaccountname\"),\n\t\t\tResourceGroupName:      exampleResourceGroup.Name,\n\t\t\tLocation:               exampleResourceGroup.Location,\n\t\t\tAccountTier:            pulumi.String(\"Standard\"),\n\t\t\tAccountReplicationType: pulumi.String(\"LRS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleGetAccountSAS := storage.GetAccountSASOutput(ctx, storage.GetAccountSASOutputArgs{\n\t\t\tConnectionString: exampleAccount.PrimaryConnectionString,\n\t\t\tHttpsOnly:        pulumi.Bool(true),\n\t\t\tResourceTypes: \u0026storage.GetAccountSASResourceTypesArgs{\n\t\t\t\tService:   pulumi.Bool(true),\n\t\t\t\tContainer: pulumi.Bool(false),\n\t\t\t\tObject:    pulumi.Bool(false),\n\t\t\t},\n\t\t\tServices: \u0026storage.GetAccountSASServicesArgs{\n\t\t\t\tBlob:  pulumi.Bool(true),\n\t\t\t\tQueue: pulumi.Bool(false),\n\t\t\t\tTable: pulumi.Bool(false),\n\t\t\t\tFile:  pulumi.Bool(false),\n\t\t\t},\n\t\t\tStart:  pulumi.String(\"2021-04-30T00:00:00Z\"),\n\t\t\tExpiry: pulumi.String(\"2023-04-30T00:00:00Z\"),\n\t\t\tPermissions: \u0026storage.GetAccountSASPermissionsArgs{\n\t\t\t\tRead:    pulumi.Bool(true),\n\t\t\t\tWrite:   pulumi.Bool(true),\n\t\t\t\tDelete:  pulumi.Bool(false),\n\t\t\t\tList:    pulumi.Bool(false),\n\t\t\t\tAdd:     pulumi.Bool(true),\n\t\t\t\tCreate:  pulumi.Bool(true),\n\t\t\t\tUpdate:  pulumi.Bool(false),\n\t\t\t\tProcess: pulumi.Bool(false),\n\t\t\t\tTag:     pulumi.Bool(false),\n\t\t\t\tFilter:  pulumi.Bool(false),\n\t\t\t},\n\t\t}, nil)\n\t\texampleKeyVault, err := keyvault.NewKeyVault(ctx, \"example\", \u0026keyvault.KeyVaultArgs{\n\t\t\tName:              pulumi.String(\"example-keyvault\"),\n\t\t\tLocation:          exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tTenantId:          pulumi.String(example.TenantId),\n\t\t\tSkuName:           pulumi.String(\"standard\"),\n\t\t\tAccessPolicies: keyvault.KeyVaultAccessPolicyArray{\n\t\t\t\t\u0026keyvault.KeyVaultAccessPolicyArgs{\n\t\t\t\t\tTenantId: pulumi.String(example.TenantId),\n\t\t\t\t\tObjectId: pulumi.String(example.ObjectId),\n\t\t\t\t\tSecretPermissions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"Get\"),\n\t\t\t\t\t\tpulumi.String(\"Delete\"),\n\t\t\t\t\t},\n\t\t\t\t\tStoragePermissions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"Get\"),\n\t\t\t\t\t\tpulumi.String(\"List\"),\n\t\t\t\t\t\tpulumi.String(\"Set\"),\n\t\t\t\t\t\tpulumi.String(\"SetSAS\"),\n\t\t\t\t\t\tpulumi.String(\"GetSAS\"),\n\t\t\t\t\t\tpulumi.String(\"DeleteSAS\"),\n\t\t\t\t\t\tpulumi.String(\"Update\"),\n\t\t\t\t\t\tpulumi.String(\"RegenerateKey\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleManagedStorageAccount, err := keyvault.NewManagedStorageAccount(ctx, \"example\", \u0026keyvault.ManagedStorageAccountArgs{\n\t\t\tName:                       pulumi.String(\"examplemanagedstorage\"),\n\t\t\tKeyVaultId:                 exampleKeyVault.ID(),\n\t\t\tStorageAccountId:           exampleAccount.ID(),\n\t\t\tStorageAccountKey:          pulumi.String(\"key1\"),\n\t\t\tRegenerateKeyAutomatically: pulumi.Bool(false),\n\t\t\tRegenerationPeriod:         pulumi.String(\"P1D\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = keyvault.NewManagedStorageAccountSasTokenDefinition(ctx, \"example\", \u0026keyvault.ManagedStorageAccountSasTokenDefinitionArgs{\n\t\t\tName:                    pulumi.String(\"examplesasdefinition\"),\n\t\t\tValidityPeriod:          pulumi.String(\"P1D\"),\n\t\t\tManagedStorageAccountId: exampleManagedStorageAccount.ID(),\n\t\t\tSasTemplateUri: pulumi.String(exampleGetAccountSAS.ApplyT(func(exampleGetAccountSAS storage.GetAccountSASResult) (*string, error) {\n\t\t\t\treturn \u0026exampleGetAccountSAS.Sas, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tSasType: pulumi.String(\"account\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.storage.Account;\nimport com.pulumi.azure.storage.AccountArgs;\nimport com.pulumi.azure.storage.StorageFunctions;\nimport com.pulumi.azure.storage.inputs.GetAccountSASArgs;\nimport com.pulumi.azure.storage.inputs.GetAccountSASResourceTypesArgs;\nimport com.pulumi.azure.storage.inputs.GetAccountSASServicesArgs;\nimport com.pulumi.azure.storage.inputs.GetAccountSASPermissionsArgs;\nimport com.pulumi.azure.keyvault.KeyVault;\nimport com.pulumi.azure.keyvault.KeyVaultArgs;\nimport com.pulumi.azure.keyvault.inputs.KeyVaultAccessPolicyArgs;\nimport com.pulumi.azure.keyvault.ManagedStorageAccount;\nimport com.pulumi.azure.keyvault.ManagedStorageAccountArgs;\nimport com.pulumi.azure.keyvault.ManagedStorageAccountSasTokenDefinition;\nimport com.pulumi.azure.keyvault.ManagedStorageAccountSasTokenDefinitionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = CoreFunctions.getClientConfig(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n        var exampleResourceGroup = new ResourceGroup(\"exampleResourceGroup\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"storageaccountname\")\n            .resourceGroupName(exampleResourceGroup.name())\n            .location(exampleResourceGroup.location())\n            .accountTier(\"Standard\")\n            .accountReplicationType(\"LRS\")\n            .build());\n\n        final var exampleGetAccountSAS = StorageFunctions.getAccountSAS(GetAccountSASArgs.builder()\n            .connectionString(exampleAccount.primaryConnectionString())\n            .httpsOnly(true)\n            .resourceTypes(GetAccountSASResourceTypesArgs.builder()\n                .service(true)\n                .container(false)\n                .object(false)\n                .build())\n            .services(GetAccountSASServicesArgs.builder()\n                .blob(true)\n                .queue(false)\n                .table(false)\n                .file(false)\n                .build())\n            .start(\"2021-04-30T00:00:00Z\")\n            .expiry(\"2023-04-30T00:00:00Z\")\n            .permissions(GetAccountSASPermissionsArgs.builder()\n                .read(true)\n                .write(true)\n                .delete(false)\n                .list(false)\n                .add(true)\n                .create(true)\n                .update(false)\n                .process(false)\n                .tag(false)\n                .filter(false)\n                .build())\n            .build());\n\n        var exampleKeyVault = new KeyVault(\"exampleKeyVault\", KeyVaultArgs.builder()\n            .name(\"example-keyvault\")\n            .location(exampleResourceGroup.location())\n            .resourceGroupName(exampleResourceGroup.name())\n            .tenantId(example.tenantId())\n            .skuName(\"standard\")\n            .accessPolicies(KeyVaultAccessPolicyArgs.builder()\n                .tenantId(example.tenantId())\n                .objectId(example.objectId())\n                .secretPermissions(                \n                    \"Get\",\n                    \"Delete\")\n                .storagePermissions(                \n                    \"Get\",\n                    \"List\",\n                    \"Set\",\n                    \"SetSAS\",\n                    \"GetSAS\",\n                    \"DeleteSAS\",\n                    \"Update\",\n                    \"RegenerateKey\")\n                .build())\n            .build());\n\n        var exampleManagedStorageAccount = new ManagedStorageAccount(\"exampleManagedStorageAccount\", ManagedStorageAccountArgs.builder()\n            .name(\"examplemanagedstorage\")\n            .keyVaultId(exampleKeyVault.id())\n            .storageAccountId(exampleAccount.id())\n            .storageAccountKey(\"key1\")\n            .regenerateKeyAutomatically(false)\n            .regenerationPeriod(\"P1D\")\n            .build());\n\n        var exampleManagedStorageAccountSasTokenDefinition = new ManagedStorageAccountSasTokenDefinition(\"exampleManagedStorageAccountSasTokenDefinition\", ManagedStorageAccountSasTokenDefinitionArgs.builder()\n            .name(\"examplesasdefinition\")\n            .validityPeriod(\"P1D\")\n            .managedStorageAccountId(exampleManagedStorageAccount.id())\n            .sasTemplateUri(exampleGetAccountSAS.applyValue(_exampleGetAccountSAS -\u003e _exampleGetAccountSAS.sas()))\n            .sasType(\"account\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleResourceGroup:\n    type: azure:core:ResourceGroup\n    name: example\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleAccount:\n    type: azure:storage:Account\n    name: example\n    properties:\n      name: storageaccountname\n      resourceGroupName: ${exampleResourceGroup.name}\n      location: ${exampleResourceGroup.location}\n      accountTier: Standard\n      accountReplicationType: LRS\n  exampleKeyVault:\n    type: azure:keyvault:KeyVault\n    name: example\n    properties:\n      name: example-keyvault\n      location: ${exampleResourceGroup.location}\n      resourceGroupName: ${exampleResourceGroup.name}\n      tenantId: ${example.tenantId}\n      skuName: standard\n      accessPolicies:\n        - tenantId: ${example.tenantId}\n          objectId: ${example.objectId}\n          secretPermissions:\n            - Get\n            - Delete\n          storagePermissions:\n            - Get\n            - List\n            - Set\n            - SetSAS\n            - GetSAS\n            - DeleteSAS\n            - Update\n            - RegenerateKey\n  exampleManagedStorageAccount:\n    type: azure:keyvault:ManagedStorageAccount\n    name: example\n    properties:\n      name: examplemanagedstorage\n      keyVaultId: ${exampleKeyVault.id}\n      storageAccountId: ${exampleAccount.id}\n      storageAccountKey: key1\n      regenerateKeyAutomatically: false\n      regenerationPeriod: P1D\n  exampleManagedStorageAccountSasTokenDefinition:\n    type: azure:keyvault:ManagedStorageAccountSasTokenDefinition\n    name: example\n    properties:\n      name: examplesasdefinition\n      validityPeriod: P1D\n      managedStorageAccountId: ${exampleManagedStorageAccount.id}\n      sasTemplateUri: ${exampleGetAccountSAS.sas}\n      sasType: account\nvariables:\n  example:\n    fn::invoke:\n      function: azure:core:getClientConfig\n      arguments: {}\n  exampleGetAccountSAS:\n    fn::invoke:\n      function: azure:storage:getAccountSAS\n      arguments:\n        connectionString: ${exampleAccount.primaryConnectionString}\n        httpsOnly: true\n        resourceTypes:\n          service: true\n          container: false\n          object: false\n        services:\n          blob: true\n          queue: false\n          table: false\n          file: false\n        start: 2021-04-30T00:00:00Z\n        expiry: 2023-04-30T00:00:00Z\n        permissions:\n          read: true\n          write: true\n          delete: false\n          list: false\n          add: true\n          create: true\n          update: false\n          process: false\n          tag: false\n          filter: false\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nKey Vaults can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:keyvault/managedStorageAccountSasTokenDefinition:ManagedStorageAccountSasTokenDefinition example https://example-keyvault.vault.azure.net/storage/exampleStorageAcc01/sas/exampleSasDefinition01\n```\n\n","properties":{"managedStorageAccountId":{"type":"string","description":"The ID of the Managed Storage Account.\n"},"name":{"type":"string","description":"The name which should be used for this SAS Definition.\n"},"sasTemplateUri":{"type":"string","description":"The SAS definition token template signed with an arbitrary key. Tokens created according to the SAS definition will have the same properties as the template, but regenerated with a new validity period.\n"},"sasType":{"type":"string","description":"The type of SAS token the SAS definition will create. Possible values are \u003cspan pulumi-lang-nodejs=\"`account`\" pulumi-lang-dotnet=\"`Account`\" pulumi-lang-go=\"`account`\" pulumi-lang-python=\"`account`\" pulumi-lang-yaml=\"`account`\" pulumi-lang-java=\"`account`\"\u003e`account`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`service`\" pulumi-lang-dotnet=\"`Service`\" pulumi-lang-go=\"`service`\" pulumi-lang-python=\"`service`\" pulumi-lang-yaml=\"`service`\" pulumi-lang-java=\"`service`\"\u003e`service`\u003c/span\u003e.\n"},"secretId":{"type":"string","description":"The ID of the Secret that is created by Managed Storage Account SAS Definition.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the SAS Definition. Changing this forces a new resource to be created.\n"},"validityPeriod":{"type":"string","description":"Validity period of SAS token. Value needs to be in [ISO 8601 duration format](https://en.wikipedia.org/wiki/ISO_8601#Durations).\n"}},"required":["managedStorageAccountId","name","sasTemplateUri","sasType","secretId","validityPeriod"],"inputProperties":{"managedStorageAccountId":{"type":"string","description":"The ID of the Managed Storage Account.\n"},"name":{"type":"string","description":"The name which should be used for this SAS Definition.\n"},"sasTemplateUri":{"type":"string","description":"The SAS definition token template signed with an arbitrary key. Tokens created according to the SAS definition will have the same properties as the template, but regenerated with a new validity period.\n"},"sasType":{"type":"string","description":"The type of SAS token the SAS definition will create. Possible values are \u003cspan pulumi-lang-nodejs=\"`account`\" pulumi-lang-dotnet=\"`Account`\" pulumi-lang-go=\"`account`\" pulumi-lang-python=\"`account`\" pulumi-lang-yaml=\"`account`\" pulumi-lang-java=\"`account`\"\u003e`account`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`service`\" pulumi-lang-dotnet=\"`Service`\" pulumi-lang-go=\"`service`\" pulumi-lang-python=\"`service`\" pulumi-lang-yaml=\"`service`\" pulumi-lang-java=\"`service`\"\u003e`service`\u003c/span\u003e.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the SAS Definition. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"validityPeriod":{"type":"string","description":"Validity period of SAS token. Value needs to be in [ISO 8601 duration format](https://en.wikipedia.org/wiki/ISO_8601#Durations).\n"}},"requiredInputs":["managedStorageAccountId","sasTemplateUri","sasType","validityPeriod"],"stateInputs":{"description":"Input properties used for looking up and filtering ManagedStorageAccountSasTokenDefinition resources.\n","properties":{"managedStorageAccountId":{"type":"string","description":"The ID of the Managed Storage Account.\n"},"name":{"type":"string","description":"The name which should be used for this SAS Definition.\n"},"sasTemplateUri":{"type":"string","description":"The SAS definition token template signed with an arbitrary key. Tokens created according to the SAS definition will have the same properties as the template, but regenerated with a new validity period.\n"},"sasType":{"type":"string","description":"The type of SAS token the SAS definition will create. Possible values are \u003cspan pulumi-lang-nodejs=\"`account`\" pulumi-lang-dotnet=\"`Account`\" pulumi-lang-go=\"`account`\" pulumi-lang-python=\"`account`\" pulumi-lang-yaml=\"`account`\" pulumi-lang-java=\"`account`\"\u003e`account`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`service`\" pulumi-lang-dotnet=\"`Service`\" pulumi-lang-go=\"`service`\" pulumi-lang-python=\"`service`\" pulumi-lang-yaml=\"`service`\" pulumi-lang-java=\"`service`\"\u003e`service`\u003c/span\u003e.\n"},"secretId":{"type":"string","description":"The ID of the Secret that is created by Managed Storage Account SAS Definition.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the SAS Definition. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"validityPeriod":{"type":"string","description":"Validity period of SAS token. Value needs to be in [ISO 8601 duration format](https://en.wikipedia.org/wiki/ISO_8601#Durations).\n"}},"type":"object"}},"azure:keyvault/secret:Secret":{"description":"Manages a Key Vault Secret.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst current = azure.core.getClientConfig({});\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleKeyVault = new azure.keyvault.KeyVault(\"example\", {\n    name: \"examplekeyvault\",\n    location: example.location,\n    resourceGroupName: example.name,\n    tenantId: current.then(current =\u003e current.tenantId),\n    skuName: \"premium\",\n    softDeleteRetentionDays: 7,\n    accessPolicies: [{\n        tenantId: current.then(current =\u003e current.tenantId),\n        objectId: current.then(current =\u003e current.objectId),\n        keyPermissions: [\n            \"Create\",\n            \"Get\",\n        ],\n        secretPermissions: [\n            \"Set\",\n            \"Get\",\n            \"Delete\",\n            \"Purge\",\n            \"Recover\",\n        ],\n    }],\n});\nconst exampleSecret = new azure.keyvault.Secret(\"example\", {\n    name: \"secret-sauce\",\n    value: \"szechuan\",\n    keyVaultId: exampleKeyVault.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\ncurrent = azure.core.get_client_config()\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_key_vault = azure.keyvault.KeyVault(\"example\",\n    name=\"examplekeyvault\",\n    location=example.location,\n    resource_group_name=example.name,\n    tenant_id=current.tenant_id,\n    sku_name=\"premium\",\n    soft_delete_retention_days=7,\n    access_policies=[{\n        \"tenant_id\": current.tenant_id,\n        \"object_id\": current.object_id,\n        \"key_permissions\": [\n            \"Create\",\n            \"Get\",\n        ],\n        \"secret_permissions\": [\n            \"Set\",\n            \"Get\",\n            \"Delete\",\n            \"Purge\",\n            \"Recover\",\n        ],\n    }])\nexample_secret = azure.keyvault.Secret(\"example\",\n    name=\"secret-sauce\",\n    value=\"szechuan\",\n    key_vault_id=example_key_vault.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var current = Azure.Core.GetClientConfig.Invoke();\n\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleKeyVault = new Azure.KeyVault.KeyVault(\"example\", new()\n    {\n        Name = \"examplekeyvault\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        TenantId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.TenantId),\n        SkuName = \"premium\",\n        SoftDeleteRetentionDays = 7,\n        AccessPolicies = new[]\n        {\n            new Azure.KeyVault.Inputs.KeyVaultAccessPolicyArgs\n            {\n                TenantId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.TenantId),\n                ObjectId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.ObjectId),\n                KeyPermissions = new[]\n                {\n                    \"Create\",\n                    \"Get\",\n                },\n                SecretPermissions = new[]\n                {\n                    \"Set\",\n                    \"Get\",\n                    \"Delete\",\n                    \"Purge\",\n                    \"Recover\",\n                },\n            },\n        },\n    });\n\n    var exampleSecret = new Azure.KeyVault.Secret(\"example\", new()\n    {\n        Name = \"secret-sauce\",\n        Value = \"szechuan\",\n        KeyVaultId = exampleKeyVault.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/keyvault\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := core.GetClientConfig(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleKeyVault, err := keyvault.NewKeyVault(ctx, \"example\", \u0026keyvault.KeyVaultArgs{\n\t\t\tName:                    pulumi.String(\"examplekeyvault\"),\n\t\t\tLocation:                example.Location,\n\t\t\tResourceGroupName:       example.Name,\n\t\t\tTenantId:                pulumi.String(current.TenantId),\n\t\t\tSkuName:                 pulumi.String(\"premium\"),\n\t\t\tSoftDeleteRetentionDays: pulumi.Int(7),\n\t\t\tAccessPolicies: keyvault.KeyVaultAccessPolicyArray{\n\t\t\t\t\u0026keyvault.KeyVaultAccessPolicyArgs{\n\t\t\t\t\tTenantId: pulumi.String(current.TenantId),\n\t\t\t\t\tObjectId: pulumi.String(current.ObjectId),\n\t\t\t\t\tKeyPermissions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"Create\"),\n\t\t\t\t\t\tpulumi.String(\"Get\"),\n\t\t\t\t\t},\n\t\t\t\t\tSecretPermissions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"Set\"),\n\t\t\t\t\t\tpulumi.String(\"Get\"),\n\t\t\t\t\t\tpulumi.String(\"Delete\"),\n\t\t\t\t\t\tpulumi.String(\"Purge\"),\n\t\t\t\t\t\tpulumi.String(\"Recover\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = keyvault.NewSecret(ctx, \"example\", \u0026keyvault.SecretArgs{\n\t\t\tName:       pulumi.String(\"secret-sauce\"),\n\t\t\tValue:      pulumi.String(\"szechuan\"),\n\t\t\tKeyVaultId: exampleKeyVault.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.keyvault.KeyVault;\nimport com.pulumi.azure.keyvault.KeyVaultArgs;\nimport com.pulumi.azure.keyvault.inputs.KeyVaultAccessPolicyArgs;\nimport com.pulumi.azure.keyvault.Secret;\nimport com.pulumi.azure.keyvault.SecretArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var current = CoreFunctions.getClientConfig(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleKeyVault = new KeyVault(\"exampleKeyVault\", KeyVaultArgs.builder()\n            .name(\"examplekeyvault\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .tenantId(current.tenantId())\n            .skuName(\"premium\")\n            .softDeleteRetentionDays(7)\n            .accessPolicies(KeyVaultAccessPolicyArgs.builder()\n                .tenantId(current.tenantId())\n                .objectId(current.objectId())\n                .keyPermissions(                \n                    \"Create\",\n                    \"Get\")\n                .secretPermissions(                \n                    \"Set\",\n                    \"Get\",\n                    \"Delete\",\n                    \"Purge\",\n                    \"Recover\")\n                .build())\n            .build());\n\n        var exampleSecret = new Secret(\"exampleSecret\", SecretArgs.builder()\n            .name(\"secret-sauce\")\n            .value(\"szechuan\")\n            .keyVaultId(exampleKeyVault.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleKeyVault:\n    type: azure:keyvault:KeyVault\n    name: example\n    properties:\n      name: examplekeyvault\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      tenantId: ${current.tenantId}\n      skuName: premium\n      softDeleteRetentionDays: 7\n      accessPolicies:\n        - tenantId: ${current.tenantId}\n          objectId: ${current.objectId}\n          keyPermissions:\n            - Create\n            - Get\n          secretPermissions:\n            - Set\n            - Get\n            - Delete\n            - Purge\n            - Recover\n  exampleSecret:\n    type: azure:keyvault:Secret\n    name: example\n    properties:\n      name: secret-sauce\n      value: szechuan\n      keyVaultId: ${exampleKeyVault.id}\nvariables:\n  current:\n    fn::invoke:\n      function: azure:core:getClientConfig\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nKey Vault Secrets which are Enabled can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:keyvault/secret:Secret example \"https://example-keyvault.vault.azure.net/secrets/example/fdf067c93bbb4b22bff4d8b7a9a56217\"\n```\n\n","properties":{"contentType":{"type":"string","description":"Specifies the content type for the Key Vault Secret.\n"},"expirationDate":{"type":"string","description":"Expiration UTC datetime (Y-m-d'T'H:M:S'Z').\n"},"keyVaultId":{"type":"string","description":"The ID of the Key Vault where the Secret should be created. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"Specifies the name of the Key Vault Secret. Changing this forces a new resource to be created.\n"},"notBeforeDate":{"type":"string","description":"Key not usable before the provided UTC datetime (Y-m-d'T'H:M:S'Z').\n"},"resourceId":{"type":"string","description":"The (Versioned) ID for this Key Vault Secret. This property points to a specific version of a Key Vault Secret, as such using this won't auto-rotate values if used in other Azure Services.\n"},"resourceVersionlessId":{"type":"string","description":"The Versionless ID of the Key Vault Secret. This property allows other Azure Services (that support it) to auto-rotate their value when the Key Vault Secret is updated.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"value":{"type":"string","description":"Specifies the value of the Key Vault Secret. Changing this will create a new version of the Key Vault Secret.\n","secret":true},"valueWo":{"type":"string","description":"**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nSpecifies the value of the Key Vault Secret. Changing this will create a new version of the Key Vault Secret.\n\n\u003e **Note:** One of \u003cspan pulumi-lang-nodejs=\"`value`\" pulumi-lang-dotnet=\"`Value`\" pulumi-lang-go=\"`value`\" pulumi-lang-python=\"`value`\" pulumi-lang-yaml=\"`value`\" pulumi-lang-java=\"`value`\"\u003e`value`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`valueWo`\" pulumi-lang-dotnet=\"`ValueWo`\" pulumi-lang-go=\"`valueWo`\" pulumi-lang-python=\"`value_wo`\" pulumi-lang-yaml=\"`valueWo`\" pulumi-lang-java=\"`valueWo`\"\u003e`value_wo`\u003c/span\u003e must be specified.\n","secret":true},"valueWoVersion":{"type":"integer","description":"An integer value used to trigger an update for \u003cspan pulumi-lang-nodejs=\"`valueWo`\" pulumi-lang-dotnet=\"`ValueWo`\" pulumi-lang-go=\"`valueWo`\" pulumi-lang-python=\"`value_wo`\" pulumi-lang-yaml=\"`valueWo`\" pulumi-lang-java=\"`valueWo`\"\u003e`value_wo`\u003c/span\u003e. This property should be incremented when updating \u003cspan pulumi-lang-nodejs=\"`valueWo`\" pulumi-lang-dotnet=\"`ValueWo`\" pulumi-lang-go=\"`valueWo`\" pulumi-lang-python=\"`value_wo`\" pulumi-lang-yaml=\"`valueWo`\" pulumi-lang-java=\"`valueWo`\"\u003e`value_wo`\u003c/span\u003e.\n\n\u003e **Note:** Key Vault strips newlines. To preserve newlines in multi-line secrets try replacing them with `\\n` or by base 64 encoding them with `replace(file(\u003cspan pulumi-lang-nodejs=\"\"mySecretFile\"\" pulumi-lang-dotnet=\"\"MySecretFile\"\" pulumi-lang-go=\"\"mySecretFile\"\" pulumi-lang-python=\"\"my_secret_file\"\" pulumi-lang-yaml=\"\"mySecretFile\"\" pulumi-lang-java=\"\"mySecretFile\"\"\u003e\"my_secret_file\"\u003c/span\u003e), \"/\\n/\", \"\\n\")` or `base64encode(file(\u003cspan pulumi-lang-nodejs=\"\"mySecretFile\"\" pulumi-lang-dotnet=\"\"MySecretFile\"\" pulumi-lang-go=\"\"mySecretFile\"\" pulumi-lang-python=\"\"my_secret_file\"\" pulumi-lang-yaml=\"\"mySecretFile\"\" pulumi-lang-java=\"\"mySecretFile\"\"\u003e\"my_secret_file\"\u003c/span\u003e))`, respectively.\n"},"version":{"type":"string","description":"The current version of the Key Vault Secret.\n"},"versionlessId":{"type":"string","description":"The Base ID of the Key Vault Secret.\n"}},"required":["keyVaultId","name","resourceId","resourceVersionlessId","version","versionlessId"],"inputProperties":{"contentType":{"type":"string","description":"Specifies the content type for the Key Vault Secret.\n"},"expirationDate":{"type":"string","description":"Expiration UTC datetime (Y-m-d'T'H:M:S'Z').\n"},"keyVaultId":{"type":"string","description":"The ID of the Key Vault where the Secret should be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the Key Vault Secret. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"notBeforeDate":{"type":"string","description":"Key not usable before the provided UTC datetime (Y-m-d'T'H:M:S'Z').\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"value":{"type":"string","description":"Specifies the value of the Key Vault Secret. Changing this will create a new version of the Key Vault Secret.\n","secret":true},"valueWo":{"type":"string","description":"**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nSpecifies the value of the Key Vault Secret. Changing this will create a new version of the Key Vault Secret.\n\n\u003e **Note:** One of \u003cspan pulumi-lang-nodejs=\"`value`\" pulumi-lang-dotnet=\"`Value`\" pulumi-lang-go=\"`value`\" pulumi-lang-python=\"`value`\" pulumi-lang-yaml=\"`value`\" pulumi-lang-java=\"`value`\"\u003e`value`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`valueWo`\" pulumi-lang-dotnet=\"`ValueWo`\" pulumi-lang-go=\"`valueWo`\" pulumi-lang-python=\"`value_wo`\" pulumi-lang-yaml=\"`valueWo`\" pulumi-lang-java=\"`valueWo`\"\u003e`value_wo`\u003c/span\u003e must be specified.\n","secret":true},"valueWoVersion":{"type":"integer","description":"An integer value used to trigger an update for \u003cspan pulumi-lang-nodejs=\"`valueWo`\" pulumi-lang-dotnet=\"`ValueWo`\" pulumi-lang-go=\"`valueWo`\" pulumi-lang-python=\"`value_wo`\" pulumi-lang-yaml=\"`valueWo`\" pulumi-lang-java=\"`valueWo`\"\u003e`value_wo`\u003c/span\u003e. This property should be incremented when updating \u003cspan pulumi-lang-nodejs=\"`valueWo`\" pulumi-lang-dotnet=\"`ValueWo`\" pulumi-lang-go=\"`valueWo`\" pulumi-lang-python=\"`value_wo`\" pulumi-lang-yaml=\"`valueWo`\" pulumi-lang-java=\"`valueWo`\"\u003e`value_wo`\u003c/span\u003e.\n\n\u003e **Note:** Key Vault strips newlines. To preserve newlines in multi-line secrets try replacing them with `\\n` or by base 64 encoding them with `replace(file(\u003cspan pulumi-lang-nodejs=\"\"mySecretFile\"\" pulumi-lang-dotnet=\"\"MySecretFile\"\" pulumi-lang-go=\"\"mySecretFile\"\" pulumi-lang-python=\"\"my_secret_file\"\" pulumi-lang-yaml=\"\"mySecretFile\"\" pulumi-lang-java=\"\"mySecretFile\"\"\u003e\"my_secret_file\"\u003c/span\u003e), \"/\\n/\", \"\\n\")` or `base64encode(file(\u003cspan pulumi-lang-nodejs=\"\"mySecretFile\"\" pulumi-lang-dotnet=\"\"MySecretFile\"\" pulumi-lang-go=\"\"mySecretFile\"\" pulumi-lang-python=\"\"my_secret_file\"\" pulumi-lang-yaml=\"\"mySecretFile\"\" pulumi-lang-java=\"\"mySecretFile\"\"\u003e\"my_secret_file\"\u003c/span\u003e))`, respectively.\n"}},"requiredInputs":["keyVaultId"],"stateInputs":{"description":"Input properties used for looking up and filtering Secret resources.\n","properties":{"contentType":{"type":"string","description":"Specifies the content type for the Key Vault Secret.\n"},"expirationDate":{"type":"string","description":"Expiration UTC datetime (Y-m-d'T'H:M:S'Z').\n"},"keyVaultId":{"type":"string","description":"The ID of the Key Vault where the Secret should be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the Key Vault Secret. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"notBeforeDate":{"type":"string","description":"Key not usable before the provided UTC datetime (Y-m-d'T'H:M:S'Z').\n"},"resourceId":{"type":"string","description":"The (Versioned) ID for this Key Vault Secret. This property points to a specific version of a Key Vault Secret, as such using this won't auto-rotate values if used in other Azure Services.\n"},"resourceVersionlessId":{"type":"string","description":"The Versionless ID of the Key Vault Secret. This property allows other Azure Services (that support it) to auto-rotate their value when the Key Vault Secret is updated.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"value":{"type":"string","description":"Specifies the value of the Key Vault Secret. Changing this will create a new version of the Key Vault Secret.\n","secret":true},"valueWo":{"type":"string","description":"**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nSpecifies the value of the Key Vault Secret. Changing this will create a new version of the Key Vault Secret.\n\n\u003e **Note:** One of \u003cspan pulumi-lang-nodejs=\"`value`\" pulumi-lang-dotnet=\"`Value`\" pulumi-lang-go=\"`value`\" pulumi-lang-python=\"`value`\" pulumi-lang-yaml=\"`value`\" pulumi-lang-java=\"`value`\"\u003e`value`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`valueWo`\" pulumi-lang-dotnet=\"`ValueWo`\" pulumi-lang-go=\"`valueWo`\" pulumi-lang-python=\"`value_wo`\" pulumi-lang-yaml=\"`valueWo`\" pulumi-lang-java=\"`valueWo`\"\u003e`value_wo`\u003c/span\u003e must be specified.\n","secret":true},"valueWoVersion":{"type":"integer","description":"An integer value used to trigger an update for \u003cspan pulumi-lang-nodejs=\"`valueWo`\" pulumi-lang-dotnet=\"`ValueWo`\" pulumi-lang-go=\"`valueWo`\" pulumi-lang-python=\"`value_wo`\" pulumi-lang-yaml=\"`valueWo`\" pulumi-lang-java=\"`valueWo`\"\u003e`value_wo`\u003c/span\u003e. This property should be incremented when updating \u003cspan pulumi-lang-nodejs=\"`valueWo`\" pulumi-lang-dotnet=\"`ValueWo`\" pulumi-lang-go=\"`valueWo`\" pulumi-lang-python=\"`value_wo`\" pulumi-lang-yaml=\"`valueWo`\" pulumi-lang-java=\"`valueWo`\"\u003e`value_wo`\u003c/span\u003e.\n\n\u003e **Note:** Key Vault strips newlines. To preserve newlines in multi-line secrets try replacing them with `\\n` or by base 64 encoding them with `replace(file(\u003cspan pulumi-lang-nodejs=\"\"mySecretFile\"\" pulumi-lang-dotnet=\"\"MySecretFile\"\" pulumi-lang-go=\"\"mySecretFile\"\" pulumi-lang-python=\"\"my_secret_file\"\" pulumi-lang-yaml=\"\"mySecretFile\"\" pulumi-lang-java=\"\"mySecretFile\"\"\u003e\"my_secret_file\"\u003c/span\u003e), \"/\\n/\", \"\\n\")` or `base64encode(file(\u003cspan pulumi-lang-nodejs=\"\"mySecretFile\"\" pulumi-lang-dotnet=\"\"MySecretFile\"\" pulumi-lang-go=\"\"mySecretFile\"\" pulumi-lang-python=\"\"my_secret_file\"\" pulumi-lang-yaml=\"\"mySecretFile\"\" pulumi-lang-java=\"\"mySecretFile\"\"\u003e\"my_secret_file\"\u003c/span\u003e))`, respectively.\n"},"version":{"type":"string","description":"The current version of the Key Vault Secret.\n"},"versionlessId":{"type":"string","description":"The Base ID of the Key Vault Secret.\n"}},"type":"object"}},"azure:kusto/attachedDatabaseConfiguration:AttachedDatabaseConfiguration":{"description":"Manages a Kusto (also known as Azure Data Explorer) Attached Database Configuration\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"my-kusto-rg\",\n    location: \"West Europe\",\n});\nconst followerCluster = new azure.kusto.Cluster(\"follower_cluster\", {\n    name: \"cluster1\",\n    location: example.location,\n    resourceGroupName: example.name,\n    sku: {\n        name: \"Dev(No SLA)_Standard_D11_v2\",\n        capacity: 1,\n    },\n});\nconst followedCluster = new azure.kusto.Cluster(\"followed_cluster\", {\n    name: \"cluster2\",\n    location: example.location,\n    resourceGroupName: example.name,\n    sku: {\n        name: \"Dev(No SLA)_Standard_D11_v2\",\n        capacity: 1,\n    },\n});\nconst followedDatabase = new azure.kusto.Database(\"followed_database\", {\n    name: \"my-followed-database\",\n    resourceGroupName: example.name,\n    location: example.location,\n    clusterName: followerCluster.name,\n});\nconst exampleDatabase = new azure.kusto.Database(\"example\", {\n    name: \"example\",\n    resourceGroupName: example.name,\n    location: example.location,\n    clusterName: followerCluster.name,\n});\nconst exampleAttachedDatabaseConfiguration = new azure.kusto.AttachedDatabaseConfiguration(\"example\", {\n    name: \"configuration1\",\n    resourceGroupName: example.name,\n    location: example.location,\n    clusterName: followerCluster.name,\n    clusterResourceId: followedCluster.id,\n    databaseName: exampleDatabase.name,\n    sharing: {\n        externalTablesToExcludes: [\"ExternalTable2\"],\n        externalTablesToIncludes: [\"ExternalTable1\"],\n        materializedViewsToExcludes: [\"MaterializedViewTable2\"],\n        materializedViewsToIncludes: [\"MaterializedViewTable1\"],\n        tablesToExcludes: [\"Table2\"],\n        tablesToIncludes: [\"Table1\"],\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"my-kusto-rg\",\n    location=\"West Europe\")\nfollower_cluster = azure.kusto.Cluster(\"follower_cluster\",\n    name=\"cluster1\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku={\n        \"name\": \"Dev(No SLA)_Standard_D11_v2\",\n        \"capacity\": 1,\n    })\nfollowed_cluster = azure.kusto.Cluster(\"followed_cluster\",\n    name=\"cluster2\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku={\n        \"name\": \"Dev(No SLA)_Standard_D11_v2\",\n        \"capacity\": 1,\n    })\nfollowed_database = azure.kusto.Database(\"followed_database\",\n    name=\"my-followed-database\",\n    resource_group_name=example.name,\n    location=example.location,\n    cluster_name=follower_cluster.name)\nexample_database = azure.kusto.Database(\"example\",\n    name=\"example\",\n    resource_group_name=example.name,\n    location=example.location,\n    cluster_name=follower_cluster.name)\nexample_attached_database_configuration = azure.kusto.AttachedDatabaseConfiguration(\"example\",\n    name=\"configuration1\",\n    resource_group_name=example.name,\n    location=example.location,\n    cluster_name=follower_cluster.name,\n    cluster_resource_id=followed_cluster.id,\n    database_name=example_database.name,\n    sharing={\n        \"external_tables_to_excludes\": [\"ExternalTable2\"],\n        \"external_tables_to_includes\": [\"ExternalTable1\"],\n        \"materialized_views_to_excludes\": [\"MaterializedViewTable2\"],\n        \"materialized_views_to_includes\": [\"MaterializedViewTable1\"],\n        \"tables_to_excludes\": [\"Table2\"],\n        \"tables_to_includes\": [\"Table1\"],\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"my-kusto-rg\",\n        Location = \"West Europe\",\n    });\n\n    var followerCluster = new Azure.Kusto.Cluster(\"follower_cluster\", new()\n    {\n        Name = \"cluster1\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Sku = new Azure.Kusto.Inputs.ClusterSkuArgs\n        {\n            Name = \"Dev(No SLA)_Standard_D11_v2\",\n            Capacity = 1,\n        },\n    });\n\n    var followedCluster = new Azure.Kusto.Cluster(\"followed_cluster\", new()\n    {\n        Name = \"cluster2\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Sku = new Azure.Kusto.Inputs.ClusterSkuArgs\n        {\n            Name = \"Dev(No SLA)_Standard_D11_v2\",\n            Capacity = 1,\n        },\n    });\n\n    var followedDatabase = new Azure.Kusto.Database(\"followed_database\", new()\n    {\n        Name = \"my-followed-database\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        ClusterName = followerCluster.Name,\n    });\n\n    var exampleDatabase = new Azure.Kusto.Database(\"example\", new()\n    {\n        Name = \"example\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        ClusterName = followerCluster.Name,\n    });\n\n    var exampleAttachedDatabaseConfiguration = new Azure.Kusto.AttachedDatabaseConfiguration(\"example\", new()\n    {\n        Name = \"configuration1\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        ClusterName = followerCluster.Name,\n        ClusterResourceId = followedCluster.Id,\n        DatabaseName = exampleDatabase.Name,\n        Sharing = new Azure.Kusto.Inputs.AttachedDatabaseConfigurationSharingArgs\n        {\n            ExternalTablesToExcludes = new[]\n            {\n                \"ExternalTable2\",\n            },\n            ExternalTablesToIncludes = new[]\n            {\n                \"ExternalTable1\",\n            },\n            MaterializedViewsToExcludes = new[]\n            {\n                \"MaterializedViewTable2\",\n            },\n            MaterializedViewsToIncludes = new[]\n            {\n                \"MaterializedViewTable1\",\n            },\n            TablesToExcludes = new[]\n            {\n                \"Table2\",\n            },\n            TablesToIncludes = new[]\n            {\n                \"Table1\",\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/kusto\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"my-kusto-rg\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfollowerCluster, err := kusto.NewCluster(ctx, \"follower_cluster\", \u0026kusto.ClusterArgs{\n\t\t\tName:              pulumi.String(\"cluster1\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSku: \u0026kusto.ClusterSkuArgs{\n\t\t\t\tName:     pulumi.String(\"Dev(No SLA)_Standard_D11_v2\"),\n\t\t\t\tCapacity: pulumi.Int(1),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfollowedCluster, err := kusto.NewCluster(ctx, \"followed_cluster\", \u0026kusto.ClusterArgs{\n\t\t\tName:              pulumi.String(\"cluster2\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSku: \u0026kusto.ClusterSkuArgs{\n\t\t\t\tName:     pulumi.String(\"Dev(No SLA)_Standard_D11_v2\"),\n\t\t\t\tCapacity: pulumi.Int(1),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = kusto.NewDatabase(ctx, \"followed_database\", \u0026kusto.DatabaseArgs{\n\t\t\tName:              pulumi.String(\"my-followed-database\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tClusterName:       followerCluster.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleDatabase, err := kusto.NewDatabase(ctx, \"example\", \u0026kusto.DatabaseArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tClusterName:       followerCluster.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = kusto.NewAttachedDatabaseConfiguration(ctx, \"example\", \u0026kusto.AttachedDatabaseConfigurationArgs{\n\t\t\tName:              pulumi.String(\"configuration1\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tClusterName:       followerCluster.Name,\n\t\t\tClusterResourceId: followedCluster.ID(),\n\t\t\tDatabaseName:      exampleDatabase.Name,\n\t\t\tSharing: \u0026kusto.AttachedDatabaseConfigurationSharingArgs{\n\t\t\t\tExternalTablesToExcludes: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"ExternalTable2\"),\n\t\t\t\t},\n\t\t\t\tExternalTablesToIncludes: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"ExternalTable1\"),\n\t\t\t\t},\n\t\t\t\tMaterializedViewsToExcludes: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"MaterializedViewTable2\"),\n\t\t\t\t},\n\t\t\t\tMaterializedViewsToIncludes: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"MaterializedViewTable1\"),\n\t\t\t\t},\n\t\t\t\tTablesToExcludes: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"Table2\"),\n\t\t\t\t},\n\t\t\t\tTablesToIncludes: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"Table1\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.kusto.Cluster;\nimport com.pulumi.azure.kusto.ClusterArgs;\nimport com.pulumi.azure.kusto.inputs.ClusterSkuArgs;\nimport com.pulumi.azure.kusto.Database;\nimport com.pulumi.azure.kusto.DatabaseArgs;\nimport com.pulumi.azure.kusto.AttachedDatabaseConfiguration;\nimport com.pulumi.azure.kusto.AttachedDatabaseConfigurationArgs;\nimport com.pulumi.azure.kusto.inputs.AttachedDatabaseConfigurationSharingArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"my-kusto-rg\")\n            .location(\"West Europe\")\n            .build());\n\n        var followerCluster = new Cluster(\"followerCluster\", ClusterArgs.builder()\n            .name(\"cluster1\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .sku(ClusterSkuArgs.builder()\n                .name(\"Dev(No SLA)_Standard_D11_v2\")\n                .capacity(1)\n                .build())\n            .build());\n\n        var followedCluster = new Cluster(\"followedCluster\", ClusterArgs.builder()\n            .name(\"cluster2\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .sku(ClusterSkuArgs.builder()\n                .name(\"Dev(No SLA)_Standard_D11_v2\")\n                .capacity(1)\n                .build())\n            .build());\n\n        var followedDatabase = new Database(\"followedDatabase\", DatabaseArgs.builder()\n            .name(\"my-followed-database\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .clusterName(followerCluster.name())\n            .build());\n\n        var exampleDatabase = new Database(\"exampleDatabase\", DatabaseArgs.builder()\n            .name(\"example\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .clusterName(followerCluster.name())\n            .build());\n\n        var exampleAttachedDatabaseConfiguration = new AttachedDatabaseConfiguration(\"exampleAttachedDatabaseConfiguration\", AttachedDatabaseConfigurationArgs.builder()\n            .name(\"configuration1\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .clusterName(followerCluster.name())\n            .clusterResourceId(followedCluster.id())\n            .databaseName(exampleDatabase.name())\n            .sharing(AttachedDatabaseConfigurationSharingArgs.builder()\n                .externalTablesToExcludes(\"ExternalTable2\")\n                .externalTablesToIncludes(\"ExternalTable1\")\n                .materializedViewsToExcludes(\"MaterializedViewTable2\")\n                .materializedViewsToIncludes(\"MaterializedViewTable1\")\n                .tablesToExcludes(\"Table2\")\n                .tablesToIncludes(\"Table1\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: my-kusto-rg\n      location: West Europe\n  followerCluster:\n    type: azure:kusto:Cluster\n    name: follower_cluster\n    properties:\n      name: cluster1\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      sku:\n        name: Dev(No SLA)_Standard_D11_v2\n        capacity: 1\n  followedCluster:\n    type: azure:kusto:Cluster\n    name: followed_cluster\n    properties:\n      name: cluster2\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      sku:\n        name: Dev(No SLA)_Standard_D11_v2\n        capacity: 1\n  followedDatabase:\n    type: azure:kusto:Database\n    name: followed_database\n    properties:\n      name: my-followed-database\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      clusterName: ${followerCluster.name}\n  exampleDatabase:\n    type: azure:kusto:Database\n    name: example\n    properties:\n      name: example\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      clusterName: ${followerCluster.name}\n  exampleAttachedDatabaseConfiguration:\n    type: azure:kusto:AttachedDatabaseConfiguration\n    name: example\n    properties:\n      name: configuration1\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      clusterName: ${followerCluster.name}\n      clusterResourceId: ${followedCluster.id}\n      databaseName: ${exampleDatabase.name}\n      sharing:\n        externalTablesToExcludes:\n          - ExternalTable2\n        externalTablesToIncludes:\n          - ExternalTable1\n        materializedViewsToExcludes:\n          - MaterializedViewTable2\n        materializedViewsToIncludes:\n          - MaterializedViewTable1\n        tablesToExcludes:\n          - Table2\n        tablesToIncludes:\n          - Table1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Kusto` - 2024-04-13\n\n## Import\n\nKusto Attached Database Configurations can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:kusto/attachedDatabaseConfiguration:AttachedDatabaseConfiguration example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Kusto/clusters/cluster1/attachedDatabaseConfigurations/configuration1\n```\n\n","properties":{"attachedDatabaseNames":{"type":"array","items":{"type":"string"},"description":"The list of databases from the \u003cspan pulumi-lang-nodejs=\"`clusterResourceId`\" pulumi-lang-dotnet=\"`ClusterResourceId`\" pulumi-lang-go=\"`clusterResourceId`\" pulumi-lang-python=\"`cluster_resource_id`\" pulumi-lang-yaml=\"`clusterResourceId`\" pulumi-lang-java=\"`clusterResourceId`\"\u003e`cluster_resource_id`\u003c/span\u003e which are currently attached to the cluster.\n"},"clusterId":{"type":"string","description":"The resource id of the cluster where the databases you would like to attach reside.\n"},"clusterName":{"type":"string","description":"Specifies the name of the Kusto Cluster for which the configuration will be created. Changing this forces a new resource to be created.\n"},"clusterResourceId":{"type":"string","deprecationMessage":"\u003cspan pulumi-lang-nodejs=\"`clusterResourceId`\" pulumi-lang-dotnet=\"`ClusterResourceId`\" pulumi-lang-go=\"`clusterResourceId`\" pulumi-lang-python=\"`cluster_resource_id`\" pulumi-lang-yaml=\"`clusterResourceId`\" pulumi-lang-java=\"`clusterResourceId`\"\u003e`cluster_resource_id`\u003c/span\u003e has been deprecated in favour of the \u003cspan pulumi-lang-nodejs=\"`clusterId`\" pulumi-lang-dotnet=\"`ClusterId`\" pulumi-lang-go=\"`clusterId`\" pulumi-lang-python=\"`cluster_id`\" pulumi-lang-yaml=\"`clusterId`\" pulumi-lang-java=\"`clusterId`\"\u003e`cluster_id`\u003c/span\u003e property and will be removed in v5.0 of the AzureRM Provider."},"databaseName":{"type":"string","description":"The name of the database which you would like to attach, use * if you want to follow all current and future databases. Changing this forces a new resource to be created.\n"},"defaultPrincipalModificationKind":{"type":"string","description":"The default principals modification kind. Valid values are: `None` (default), `Replace` and `Union`. Defaults to `None`.\n"},"location":{"type":"string","description":"Specifies the location of the Kusto Cluster for which the configuration will be created. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"The name of the Kusto Attached Database Configuration to create. Changing this forces a new resource to be created.\n"},"resourceGroupName":{"type":"string","description":"Specifies the resource group of the Kusto Cluster for which the configuration will be created. Changing this forces a new resource to be created.\n"},"sharing":{"$ref":"#/types/azure:kusto/AttachedDatabaseConfigurationSharing:AttachedDatabaseConfigurationSharing","description":"A \u003cspan pulumi-lang-nodejs=\"`sharing`\" pulumi-lang-dotnet=\"`Sharing`\" pulumi-lang-go=\"`sharing`\" pulumi-lang-python=\"`sharing`\" pulumi-lang-yaml=\"`sharing`\" pulumi-lang-java=\"`sharing`\"\u003e`sharing`\u003c/span\u003e block as defined below.\n"}},"required":["attachedDatabaseNames","clusterId","clusterName","clusterResourceId","databaseName","location","name","resourceGroupName"],"inputProperties":{"clusterId":{"type":"string","description":"The resource id of the cluster where the databases you would like to attach reside.\n"},"clusterName":{"type":"string","description":"Specifies the name of the Kusto Cluster for which the configuration will be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"clusterResourceId":{"type":"string","deprecationMessage":"\u003cspan pulumi-lang-nodejs=\"`clusterResourceId`\" pulumi-lang-dotnet=\"`ClusterResourceId`\" pulumi-lang-go=\"`clusterResourceId`\" pulumi-lang-python=\"`cluster_resource_id`\" pulumi-lang-yaml=\"`clusterResourceId`\" pulumi-lang-java=\"`clusterResourceId`\"\u003e`cluster_resource_id`\u003c/span\u003e has been deprecated in favour of the \u003cspan pulumi-lang-nodejs=\"`clusterId`\" pulumi-lang-dotnet=\"`ClusterId`\" pulumi-lang-go=\"`clusterId`\" pulumi-lang-python=\"`cluster_id`\" pulumi-lang-yaml=\"`clusterId`\" pulumi-lang-java=\"`clusterId`\"\u003e`cluster_id`\u003c/span\u003e property and will be removed in v5.0 of the AzureRM Provider."},"databaseName":{"type":"string","description":"The name of the database which you would like to attach, use * if you want to follow all current and future databases. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"defaultPrincipalModificationKind":{"type":"string","description":"The default principals modification kind. Valid values are: `None` (default), `Replace` and `Union`. Defaults to `None`.\n"},"location":{"type":"string","description":"Specifies the location of the Kusto Cluster for which the configuration will be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the Kusto Attached Database Configuration to create. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"Specifies the resource group of the Kusto Cluster for which the configuration will be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sharing":{"$ref":"#/types/azure:kusto/AttachedDatabaseConfigurationSharing:AttachedDatabaseConfigurationSharing","description":"A \u003cspan pulumi-lang-nodejs=\"`sharing`\" pulumi-lang-dotnet=\"`Sharing`\" pulumi-lang-go=\"`sharing`\" pulumi-lang-python=\"`sharing`\" pulumi-lang-yaml=\"`sharing`\" pulumi-lang-java=\"`sharing`\"\u003e`sharing`\u003c/span\u003e block as defined below.\n"}},"requiredInputs":["clusterName","databaseName","resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering AttachedDatabaseConfiguration resources.\n","properties":{"attachedDatabaseNames":{"type":"array","items":{"type":"string"},"description":"The list of databases from the \u003cspan pulumi-lang-nodejs=\"`clusterResourceId`\" pulumi-lang-dotnet=\"`ClusterResourceId`\" pulumi-lang-go=\"`clusterResourceId`\" pulumi-lang-python=\"`cluster_resource_id`\" pulumi-lang-yaml=\"`clusterResourceId`\" pulumi-lang-java=\"`clusterResourceId`\"\u003e`cluster_resource_id`\u003c/span\u003e which are currently attached to the cluster.\n"},"clusterId":{"type":"string","description":"The resource id of the cluster where the databases you would like to attach reside.\n"},"clusterName":{"type":"string","description":"Specifies the name of the Kusto Cluster for which the configuration will be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"clusterResourceId":{"type":"string","deprecationMessage":"\u003cspan pulumi-lang-nodejs=\"`clusterResourceId`\" pulumi-lang-dotnet=\"`ClusterResourceId`\" pulumi-lang-go=\"`clusterResourceId`\" pulumi-lang-python=\"`cluster_resource_id`\" pulumi-lang-yaml=\"`clusterResourceId`\" pulumi-lang-java=\"`clusterResourceId`\"\u003e`cluster_resource_id`\u003c/span\u003e has been deprecated in favour of the \u003cspan pulumi-lang-nodejs=\"`clusterId`\" pulumi-lang-dotnet=\"`ClusterId`\" pulumi-lang-go=\"`clusterId`\" pulumi-lang-python=\"`cluster_id`\" pulumi-lang-yaml=\"`clusterId`\" pulumi-lang-java=\"`clusterId`\"\u003e`cluster_id`\u003c/span\u003e property and will be removed in v5.0 of the AzureRM Provider."},"databaseName":{"type":"string","description":"The name of the database which you would like to attach, use * if you want to follow all current and future databases. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"defaultPrincipalModificationKind":{"type":"string","description":"The default principals modification kind. Valid values are: `None` (default), `Replace` and `Union`. Defaults to `None`.\n"},"location":{"type":"string","description":"Specifies the location of the Kusto Cluster for which the configuration will be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the Kusto Attached Database Configuration to create. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"Specifies the resource group of the Kusto Cluster for which the configuration will be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sharing":{"$ref":"#/types/azure:kusto/AttachedDatabaseConfigurationSharing:AttachedDatabaseConfigurationSharing","description":"A \u003cspan pulumi-lang-nodejs=\"`sharing`\" pulumi-lang-dotnet=\"`Sharing`\" pulumi-lang-go=\"`sharing`\" pulumi-lang-python=\"`sharing`\" pulumi-lang-yaml=\"`sharing`\" pulumi-lang-java=\"`sharing`\"\u003e`sharing`\u003c/span\u003e block as defined below.\n"}},"type":"object"}},"azure:kusto/cluster:Cluster":{"description":"Manages a Kusto (also known as Azure Data Explorer) Cluster\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example\",\n    location: \"West Europe\",\n});\nconst exampleCluster = new azure.kusto.Cluster(\"example\", {\n    name: \"example\",\n    location: example.location,\n    resourceGroupName: example.name,\n    sku: {\n        name: \"Standard_D13_v2\",\n        capacity: 2,\n    },\n    tags: {\n        Environment: \"Production\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example\",\n    location=\"West Europe\")\nexample_cluster = azure.kusto.Cluster(\"example\",\n    name=\"example\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku={\n        \"name\": \"Standard_D13_v2\",\n        \"capacity\": 2,\n    },\n    tags={\n        \"Environment\": \"Production\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example\",\n        Location = \"West Europe\",\n    });\n\n    var exampleCluster = new Azure.Kusto.Cluster(\"example\", new()\n    {\n        Name = \"example\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Sku = new Azure.Kusto.Inputs.ClusterSkuArgs\n        {\n            Name = \"Standard_D13_v2\",\n            Capacity = 2,\n        },\n        Tags = \n        {\n            { \"Environment\", \"Production\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/kusto\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = kusto.NewCluster(ctx, \"example\", \u0026kusto.ClusterArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSku: \u0026kusto.ClusterSkuArgs{\n\t\t\t\tName:     pulumi.String(\"Standard_D13_v2\"),\n\t\t\t\tCapacity: pulumi.Int(2),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Environment\": pulumi.String(\"Production\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.kusto.Cluster;\nimport com.pulumi.azure.kusto.ClusterArgs;\nimport com.pulumi.azure.kusto.inputs.ClusterSkuArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleCluster = new Cluster(\"exampleCluster\", ClusterArgs.builder()\n            .name(\"example\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .sku(ClusterSkuArgs.builder()\n                .name(\"Standard_D13_v2\")\n                .capacity(2)\n                .build())\n            .tags(Map.of(\"Environment\", \"Production\"))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example\n      location: West Europe\n  exampleCluster:\n    type: azure:kusto:Cluster\n    name: example\n    properties:\n      name: example\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      sku:\n        name: Standard_D13_v2\n        capacity: 2\n      tags:\n        Environment: Production\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Kusto` - 2024-04-13\n\n## Import\n\nKusto Clusters can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:kusto/cluster:Cluster example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Kusto/clusters/cluster1\n```\n\n","properties":{"allowedFqdns":{"type":"array","items":{"type":"string"},"description":"List of allowed FQDNs (Fully Qualified Domain Name) for egress from Cluster.\n"},"allowedIpRanges":{"type":"array","items":{"type":"string"},"description":"The list of ips in the format of CIDR allowed to connect to the cluster.\n"},"autoStopEnabled":{"type":"boolean","description":"Specifies if the cluster could be automatically stopped (due to lack of data or no activity for many days). Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"dataIngestionUri":{"type":"string","description":"The Kusto Cluster URI to be used for data ingestion.\n"},"diskEncryptionEnabled":{"type":"boolean","description":"Specifies if the cluster's disks are encrypted. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"doubleEncryptionEnabled":{"type":"boolean","description":"Is the cluster's double encryption enabled? Changing this forces a new resource to be created.\n"},"identity":{"$ref":"#/types/azure:kusto/ClusterIdentity:ClusterIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"languageExtension":{"type":"array","items":{"$ref":"#/types/azure:kusto/ClusterLanguageExtension:ClusterLanguageExtension"},"description":"A \u003cspan pulumi-lang-nodejs=\"`languageExtension`\" pulumi-lang-dotnet=\"`LanguageExtension`\" pulumi-lang-go=\"`languageExtension`\" pulumi-lang-python=\"`language_extension`\" pulumi-lang-yaml=\"`languageExtension`\" pulumi-lang-java=\"`languageExtension`\"\u003e`language_extension`\u003c/span\u003e block as defined below.\n"},"languageExtensions":{"type":"array","items":{"$ref":"#/types/azure:kusto/ClusterLanguageExtension:ClusterLanguageExtension"},"deprecationMessage":"\u003cspan pulumi-lang-nodejs=\"`languageExtensions`\" pulumi-lang-dotnet=\"`LanguageExtensions`\" pulumi-lang-go=\"`languageExtensions`\" pulumi-lang-python=\"`language_extensions`\" pulumi-lang-yaml=\"`languageExtensions`\" pulumi-lang-java=\"`languageExtensions`\"\u003e`language_extensions`\u003c/span\u003e has been deprecated in favour of \u003cspan pulumi-lang-nodejs=\"`languageExtension`\" pulumi-lang-dotnet=\"`LanguageExtension`\" pulumi-lang-go=\"`languageExtension`\" pulumi-lang-python=\"`language_extension`\" pulumi-lang-yaml=\"`languageExtension`\" pulumi-lang-java=\"`languageExtension`\"\u003e`language_extension`\u003c/span\u003e and will be removed in v5.0 of the AzureRM provider"},"location":{"type":"string","description":"The location where the Kusto Cluster should be created. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"The name of the Kusto Cluster to create. Only lowercase Alphanumeric characters allowed, starting with a letter. Changing this forces a new resource to be created.\n"},"optimizedAutoScale":{"$ref":"#/types/azure:kusto/ClusterOptimizedAutoScale:ClusterOptimizedAutoScale","description":"An \u003cspan pulumi-lang-nodejs=\"`optimizedAutoScale`\" pulumi-lang-dotnet=\"`OptimizedAutoScale`\" pulumi-lang-go=\"`optimizedAutoScale`\" pulumi-lang-python=\"`optimized_auto_scale`\" pulumi-lang-yaml=\"`optimizedAutoScale`\" pulumi-lang-java=\"`optimizedAutoScale`\"\u003e`optimized_auto_scale`\u003c/span\u003e block as defined below.\n"},"outboundNetworkAccessRestricted":{"type":"boolean","description":"Whether to restrict outbound network access. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"publicIpType":{"type":"string","description":"Indicates what public IP type to create - IPv4 (default), or DualStack (both IPv4 and IPv6). Defaults to `IPv4`.\n"},"publicNetworkAccessEnabled":{"type":"boolean","description":"Is the public network access enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"purgeEnabled":{"type":"boolean","description":"Specifies if the purge operations are enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"resourceGroupName":{"type":"string","description":"Specifies the Resource Group where the Kusto Cluster should exist. Changing this forces a new resource to be created.\n"},"sku":{"$ref":"#/types/azure:kusto/ClusterSku:ClusterSku","description":"A \u003cspan pulumi-lang-nodejs=\"`sku`\" pulumi-lang-dotnet=\"`Sku`\" pulumi-lang-go=\"`sku`\" pulumi-lang-python=\"`sku`\" pulumi-lang-yaml=\"`sku`\" pulumi-lang-java=\"`sku`\"\u003e`sku`\u003c/span\u003e block as defined below.\n"},"streamingIngestionEnabled":{"type":"boolean","description":"Specifies if the streaming ingest is enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"trustedExternalTenants":{"type":"array","items":{"type":"string"},"description":"Specifies a list of tenant IDs that are trusted by the cluster. Default setting trusts all other tenants. Use \u003cspan pulumi-lang-nodejs=\"`trustedExternalTenants \" pulumi-lang-dotnet=\"`TrustedExternalTenants \" pulumi-lang-go=\"`trustedExternalTenants \" pulumi-lang-python=\"`trusted_external_tenants \" pulumi-lang-yaml=\"`trustedExternalTenants \" pulumi-lang-java=\"`trustedExternalTenants \"\u003e`trusted_external_tenants \u003c/span\u003e= [\"*\"]` to explicitly allow all other tenants, \u003cspan pulumi-lang-nodejs=\"`trustedExternalTenants \" pulumi-lang-dotnet=\"`TrustedExternalTenants \" pulumi-lang-go=\"`trustedExternalTenants \" pulumi-lang-python=\"`trusted_external_tenants \" pulumi-lang-yaml=\"`trustedExternalTenants \" pulumi-lang-java=\"`trustedExternalTenants \"\u003e`trusted_external_tenants \u003c/span\u003e= [\"MyTenantOnly\"]` for only your tenant or \u003cspan pulumi-lang-nodejs=\"`trustedExternalTenants \" pulumi-lang-dotnet=\"`TrustedExternalTenants \" pulumi-lang-go=\"`trustedExternalTenants \" pulumi-lang-python=\"`trusted_external_tenants \" pulumi-lang-yaml=\"`trustedExternalTenants \" pulumi-lang-java=\"`trustedExternalTenants \"\u003e`trusted_external_tenants \u003c/span\u003e= [\"\u003ctenantId1\u003e\", \"\u003ctenantIdx\u003e\"]` to allow specific other tenants.\n\n\u003e **Note:** In v3.0 of \u003cspan pulumi-lang-nodejs=\"`azurerm`\" pulumi-lang-dotnet=\"`Azurerm`\" pulumi-lang-go=\"`azurerm`\" pulumi-lang-python=\"`azurerm`\" pulumi-lang-yaml=\"`azurerm`\" pulumi-lang-java=\"`azurerm`\"\u003e`azurerm`\u003c/span\u003e a new or updated Kusto Cluster will only allow your own tenant by default. Explicit configuration of this setting will change from \u003cspan pulumi-lang-nodejs=\"`trustedExternalTenants \" pulumi-lang-dotnet=\"`TrustedExternalTenants \" pulumi-lang-go=\"`trustedExternalTenants \" pulumi-lang-python=\"`trusted_external_tenants \" pulumi-lang-yaml=\"`trustedExternalTenants \" pulumi-lang-java=\"`trustedExternalTenants \"\u003e`trusted_external_tenants \u003c/span\u003e= [\"MyTenantOnly\"]` to \u003cspan pulumi-lang-nodejs=\"`trustedExternalTenants \" pulumi-lang-dotnet=\"`TrustedExternalTenants \" pulumi-lang-go=\"`trustedExternalTenants \" pulumi-lang-python=\"`trusted_external_tenants \" pulumi-lang-yaml=\"`trustedExternalTenants \" pulumi-lang-java=\"`trustedExternalTenants \"\u003e`trusted_external_tenants \u003c/span\u003e= []`.\n"},"uri":{"type":"string","description":"The FQDN of the Azure Kusto Cluster.\n"},"virtualNetworkConfiguration":{"$ref":"#/types/azure:kusto/ClusterVirtualNetworkConfiguration:ClusterVirtualNetworkConfiguration","deprecationMessage":"The \u003cspan pulumi-lang-nodejs=\"`virtualNetworkConfiguration`\" pulumi-lang-dotnet=\"`VirtualNetworkConfiguration`\" pulumi-lang-go=\"`virtualNetworkConfiguration`\" pulumi-lang-python=\"`virtual_network_configuration`\" pulumi-lang-yaml=\"`virtualNetworkConfiguration`\" pulumi-lang-java=\"`virtualNetworkConfiguration`\"\u003e`virtual_network_configuration`\u003c/span\u003e block has been deprecated as it is no longer supported by Azure and will be removed in v5.0 of the AzureRM Provider - for more information see https://techcommunity.microsoft.com/blog/azuredataexplorer/deprecation-of-virtual-network-injection-for-azure-data-explorer/4198192"},"zones":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Availability Zones in which this Kusto Cluster should be located. Changing this forces a new Kusto Cluster to be created.\n"}},"required":["dataIngestionUri","languageExtension","languageExtensions","location","name","resourceGroupName","sku","trustedExternalTenants","uri"],"inputProperties":{"allowedFqdns":{"type":"array","items":{"type":"string"},"description":"List of allowed FQDNs (Fully Qualified Domain Name) for egress from Cluster.\n"},"allowedIpRanges":{"type":"array","items":{"type":"string"},"description":"The list of ips in the format of CIDR allowed to connect to the cluster.\n"},"autoStopEnabled":{"type":"boolean","description":"Specifies if the cluster could be automatically stopped (due to lack of data or no activity for many days). Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"diskEncryptionEnabled":{"type":"boolean","description":"Specifies if the cluster's disks are encrypted. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"doubleEncryptionEnabled":{"type":"boolean","description":"Is the cluster's double encryption enabled? Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"identity":{"$ref":"#/types/azure:kusto/ClusterIdentity:ClusterIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"languageExtension":{"type":"array","items":{"$ref":"#/types/azure:kusto/ClusterLanguageExtension:ClusterLanguageExtension"},"description":"A \u003cspan pulumi-lang-nodejs=\"`languageExtension`\" pulumi-lang-dotnet=\"`LanguageExtension`\" pulumi-lang-go=\"`languageExtension`\" pulumi-lang-python=\"`language_extension`\" pulumi-lang-yaml=\"`languageExtension`\" pulumi-lang-java=\"`languageExtension`\"\u003e`language_extension`\u003c/span\u003e block as defined below.\n"},"languageExtensions":{"type":"array","items":{"$ref":"#/types/azure:kusto/ClusterLanguageExtension:ClusterLanguageExtension"},"deprecationMessage":"\u003cspan pulumi-lang-nodejs=\"`languageExtensions`\" pulumi-lang-dotnet=\"`LanguageExtensions`\" pulumi-lang-go=\"`languageExtensions`\" pulumi-lang-python=\"`language_extensions`\" pulumi-lang-yaml=\"`languageExtensions`\" pulumi-lang-java=\"`languageExtensions`\"\u003e`language_extensions`\u003c/span\u003e has been deprecated in favour of \u003cspan pulumi-lang-nodejs=\"`languageExtension`\" pulumi-lang-dotnet=\"`LanguageExtension`\" pulumi-lang-go=\"`languageExtension`\" pulumi-lang-python=\"`language_extension`\" pulumi-lang-yaml=\"`languageExtension`\" pulumi-lang-java=\"`languageExtension`\"\u003e`language_extension`\u003c/span\u003e and will be removed in v5.0 of the AzureRM provider"},"location":{"type":"string","description":"The location where the Kusto Cluster should be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the Kusto Cluster to create. Only lowercase Alphanumeric characters allowed, starting with a letter. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"optimizedAutoScale":{"$ref":"#/types/azure:kusto/ClusterOptimizedAutoScale:ClusterOptimizedAutoScale","description":"An \u003cspan pulumi-lang-nodejs=\"`optimizedAutoScale`\" pulumi-lang-dotnet=\"`OptimizedAutoScale`\" pulumi-lang-go=\"`optimizedAutoScale`\" pulumi-lang-python=\"`optimized_auto_scale`\" pulumi-lang-yaml=\"`optimizedAutoScale`\" pulumi-lang-java=\"`optimizedAutoScale`\"\u003e`optimized_auto_scale`\u003c/span\u003e block as defined below.\n"},"outboundNetworkAccessRestricted":{"type":"boolean","description":"Whether to restrict outbound network access. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"publicIpType":{"type":"string","description":"Indicates what public IP type to create - IPv4 (default), or DualStack (both IPv4 and IPv6). Defaults to `IPv4`.\n"},"publicNetworkAccessEnabled":{"type":"boolean","description":"Is the public network access enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"purgeEnabled":{"type":"boolean","description":"Specifies if the purge operations are enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"resourceGroupName":{"type":"string","description":"Specifies the Resource Group where the Kusto Cluster should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sku":{"$ref":"#/types/azure:kusto/ClusterSku:ClusterSku","description":"A \u003cspan pulumi-lang-nodejs=\"`sku`\" pulumi-lang-dotnet=\"`Sku`\" pulumi-lang-go=\"`sku`\" pulumi-lang-python=\"`sku`\" pulumi-lang-yaml=\"`sku`\" pulumi-lang-java=\"`sku`\"\u003e`sku`\u003c/span\u003e block as defined below.\n"},"streamingIngestionEnabled":{"type":"boolean","description":"Specifies if the streaming ingest is enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"trustedExternalTenants":{"type":"array","items":{"type":"string"},"description":"Specifies a list of tenant IDs that are trusted by the cluster. Default setting trusts all other tenants. Use \u003cspan pulumi-lang-nodejs=\"`trustedExternalTenants \" pulumi-lang-dotnet=\"`TrustedExternalTenants \" pulumi-lang-go=\"`trustedExternalTenants \" pulumi-lang-python=\"`trusted_external_tenants \" pulumi-lang-yaml=\"`trustedExternalTenants \" pulumi-lang-java=\"`trustedExternalTenants \"\u003e`trusted_external_tenants \u003c/span\u003e= [\"*\"]` to explicitly allow all other tenants, \u003cspan pulumi-lang-nodejs=\"`trustedExternalTenants \" pulumi-lang-dotnet=\"`TrustedExternalTenants \" pulumi-lang-go=\"`trustedExternalTenants \" pulumi-lang-python=\"`trusted_external_tenants \" pulumi-lang-yaml=\"`trustedExternalTenants \" pulumi-lang-java=\"`trustedExternalTenants \"\u003e`trusted_external_tenants \u003c/span\u003e= [\"MyTenantOnly\"]` for only your tenant or \u003cspan pulumi-lang-nodejs=\"`trustedExternalTenants \" pulumi-lang-dotnet=\"`TrustedExternalTenants \" pulumi-lang-go=\"`trustedExternalTenants \" pulumi-lang-python=\"`trusted_external_tenants \" pulumi-lang-yaml=\"`trustedExternalTenants \" pulumi-lang-java=\"`trustedExternalTenants \"\u003e`trusted_external_tenants \u003c/span\u003e= [\"\u003ctenantId1\u003e\", \"\u003ctenantIdx\u003e\"]` to allow specific other tenants.\n\n\u003e **Note:** In v3.0 of \u003cspan pulumi-lang-nodejs=\"`azurerm`\" pulumi-lang-dotnet=\"`Azurerm`\" pulumi-lang-go=\"`azurerm`\" pulumi-lang-python=\"`azurerm`\" pulumi-lang-yaml=\"`azurerm`\" pulumi-lang-java=\"`azurerm`\"\u003e`azurerm`\u003c/span\u003e a new or updated Kusto Cluster will only allow your own tenant by default. Explicit configuration of this setting will change from \u003cspan pulumi-lang-nodejs=\"`trustedExternalTenants \" pulumi-lang-dotnet=\"`TrustedExternalTenants \" pulumi-lang-go=\"`trustedExternalTenants \" pulumi-lang-python=\"`trusted_external_tenants \" pulumi-lang-yaml=\"`trustedExternalTenants \" pulumi-lang-java=\"`trustedExternalTenants \"\u003e`trusted_external_tenants \u003c/span\u003e= [\"MyTenantOnly\"]` to \u003cspan pulumi-lang-nodejs=\"`trustedExternalTenants \" pulumi-lang-dotnet=\"`TrustedExternalTenants \" pulumi-lang-go=\"`trustedExternalTenants \" pulumi-lang-python=\"`trusted_external_tenants \" pulumi-lang-yaml=\"`trustedExternalTenants \" pulumi-lang-java=\"`trustedExternalTenants \"\u003e`trusted_external_tenants \u003c/span\u003e= []`.\n"},"virtualNetworkConfiguration":{"$ref":"#/types/azure:kusto/ClusterVirtualNetworkConfiguration:ClusterVirtualNetworkConfiguration","deprecationMessage":"The \u003cspan pulumi-lang-nodejs=\"`virtualNetworkConfiguration`\" pulumi-lang-dotnet=\"`VirtualNetworkConfiguration`\" pulumi-lang-go=\"`virtualNetworkConfiguration`\" pulumi-lang-python=\"`virtual_network_configuration`\" pulumi-lang-yaml=\"`virtualNetworkConfiguration`\" pulumi-lang-java=\"`virtualNetworkConfiguration`\"\u003e`virtual_network_configuration`\u003c/span\u003e block has been deprecated as it is no longer supported by Azure and will be removed in v5.0 of the AzureRM Provider - for more information see https://techcommunity.microsoft.com/blog/azuredataexplorer/deprecation-of-virtual-network-injection-for-azure-data-explorer/4198192"},"zones":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Availability Zones in which this Kusto Cluster should be located. Changing this forces a new Kusto Cluster to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["resourceGroupName","sku"],"stateInputs":{"description":"Input properties used for looking up and filtering Cluster resources.\n","properties":{"allowedFqdns":{"type":"array","items":{"type":"string"},"description":"List of allowed FQDNs (Fully Qualified Domain Name) for egress from Cluster.\n"},"allowedIpRanges":{"type":"array","items":{"type":"string"},"description":"The list of ips in the format of CIDR allowed to connect to the cluster.\n"},"autoStopEnabled":{"type":"boolean","description":"Specifies if the cluster could be automatically stopped (due to lack of data or no activity for many days). Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"dataIngestionUri":{"type":"string","description":"The Kusto Cluster URI to be used for data ingestion.\n"},"diskEncryptionEnabled":{"type":"boolean","description":"Specifies if the cluster's disks are encrypted. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"doubleEncryptionEnabled":{"type":"boolean","description":"Is the cluster's double encryption enabled? Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"identity":{"$ref":"#/types/azure:kusto/ClusterIdentity:ClusterIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"languageExtension":{"type":"array","items":{"$ref":"#/types/azure:kusto/ClusterLanguageExtension:ClusterLanguageExtension"},"description":"A \u003cspan pulumi-lang-nodejs=\"`languageExtension`\" pulumi-lang-dotnet=\"`LanguageExtension`\" pulumi-lang-go=\"`languageExtension`\" pulumi-lang-python=\"`language_extension`\" pulumi-lang-yaml=\"`languageExtension`\" pulumi-lang-java=\"`languageExtension`\"\u003e`language_extension`\u003c/span\u003e block as defined below.\n"},"languageExtensions":{"type":"array","items":{"$ref":"#/types/azure:kusto/ClusterLanguageExtension:ClusterLanguageExtension"},"deprecationMessage":"\u003cspan pulumi-lang-nodejs=\"`languageExtensions`\" pulumi-lang-dotnet=\"`LanguageExtensions`\" pulumi-lang-go=\"`languageExtensions`\" pulumi-lang-python=\"`language_extensions`\" pulumi-lang-yaml=\"`languageExtensions`\" pulumi-lang-java=\"`languageExtensions`\"\u003e`language_extensions`\u003c/span\u003e has been deprecated in favour of \u003cspan pulumi-lang-nodejs=\"`languageExtension`\" pulumi-lang-dotnet=\"`LanguageExtension`\" pulumi-lang-go=\"`languageExtension`\" pulumi-lang-python=\"`language_extension`\" pulumi-lang-yaml=\"`languageExtension`\" pulumi-lang-java=\"`languageExtension`\"\u003e`language_extension`\u003c/span\u003e and will be removed in v5.0 of the AzureRM provider"},"location":{"type":"string","description":"The location where the Kusto Cluster should be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the Kusto Cluster to create. Only lowercase Alphanumeric characters allowed, starting with a letter. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"optimizedAutoScale":{"$ref":"#/types/azure:kusto/ClusterOptimizedAutoScale:ClusterOptimizedAutoScale","description":"An \u003cspan pulumi-lang-nodejs=\"`optimizedAutoScale`\" pulumi-lang-dotnet=\"`OptimizedAutoScale`\" pulumi-lang-go=\"`optimizedAutoScale`\" pulumi-lang-python=\"`optimized_auto_scale`\" pulumi-lang-yaml=\"`optimizedAutoScale`\" pulumi-lang-java=\"`optimizedAutoScale`\"\u003e`optimized_auto_scale`\u003c/span\u003e block as defined below.\n"},"outboundNetworkAccessRestricted":{"type":"boolean","description":"Whether to restrict outbound network access. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"publicIpType":{"type":"string","description":"Indicates what public IP type to create - IPv4 (default), or DualStack (both IPv4 and IPv6). Defaults to `IPv4`.\n"},"publicNetworkAccessEnabled":{"type":"boolean","description":"Is the public network access enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"purgeEnabled":{"type":"boolean","description":"Specifies if the purge operations are enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"resourceGroupName":{"type":"string","description":"Specifies the Resource Group where the Kusto Cluster should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sku":{"$ref":"#/types/azure:kusto/ClusterSku:ClusterSku","description":"A \u003cspan pulumi-lang-nodejs=\"`sku`\" pulumi-lang-dotnet=\"`Sku`\" pulumi-lang-go=\"`sku`\" pulumi-lang-python=\"`sku`\" pulumi-lang-yaml=\"`sku`\" pulumi-lang-java=\"`sku`\"\u003e`sku`\u003c/span\u003e block as defined below.\n"},"streamingIngestionEnabled":{"type":"boolean","description":"Specifies if the streaming ingest is enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"trustedExternalTenants":{"type":"array","items":{"type":"string"},"description":"Specifies a list of tenant IDs that are trusted by the cluster. Default setting trusts all other tenants. Use \u003cspan pulumi-lang-nodejs=\"`trustedExternalTenants \" pulumi-lang-dotnet=\"`TrustedExternalTenants \" pulumi-lang-go=\"`trustedExternalTenants \" pulumi-lang-python=\"`trusted_external_tenants \" pulumi-lang-yaml=\"`trustedExternalTenants \" pulumi-lang-java=\"`trustedExternalTenants \"\u003e`trusted_external_tenants \u003c/span\u003e= [\"*\"]` to explicitly allow all other tenants, \u003cspan pulumi-lang-nodejs=\"`trustedExternalTenants \" pulumi-lang-dotnet=\"`TrustedExternalTenants \" pulumi-lang-go=\"`trustedExternalTenants \" pulumi-lang-python=\"`trusted_external_tenants \" pulumi-lang-yaml=\"`trustedExternalTenants \" pulumi-lang-java=\"`trustedExternalTenants \"\u003e`trusted_external_tenants \u003c/span\u003e= [\"MyTenantOnly\"]` for only your tenant or \u003cspan pulumi-lang-nodejs=\"`trustedExternalTenants \" pulumi-lang-dotnet=\"`TrustedExternalTenants \" pulumi-lang-go=\"`trustedExternalTenants \" pulumi-lang-python=\"`trusted_external_tenants \" pulumi-lang-yaml=\"`trustedExternalTenants \" pulumi-lang-java=\"`trustedExternalTenants \"\u003e`trusted_external_tenants \u003c/span\u003e= [\"\u003ctenantId1\u003e\", \"\u003ctenantIdx\u003e\"]` to allow specific other tenants.\n\n\u003e **Note:** In v3.0 of \u003cspan pulumi-lang-nodejs=\"`azurerm`\" pulumi-lang-dotnet=\"`Azurerm`\" pulumi-lang-go=\"`azurerm`\" pulumi-lang-python=\"`azurerm`\" pulumi-lang-yaml=\"`azurerm`\" pulumi-lang-java=\"`azurerm`\"\u003e`azurerm`\u003c/span\u003e a new or updated Kusto Cluster will only allow your own tenant by default. Explicit configuration of this setting will change from \u003cspan pulumi-lang-nodejs=\"`trustedExternalTenants \" pulumi-lang-dotnet=\"`TrustedExternalTenants \" pulumi-lang-go=\"`trustedExternalTenants \" pulumi-lang-python=\"`trusted_external_tenants \" pulumi-lang-yaml=\"`trustedExternalTenants \" pulumi-lang-java=\"`trustedExternalTenants \"\u003e`trusted_external_tenants \u003c/span\u003e= [\"MyTenantOnly\"]` to \u003cspan pulumi-lang-nodejs=\"`trustedExternalTenants \" pulumi-lang-dotnet=\"`TrustedExternalTenants \" pulumi-lang-go=\"`trustedExternalTenants \" pulumi-lang-python=\"`trusted_external_tenants \" pulumi-lang-yaml=\"`trustedExternalTenants \" pulumi-lang-java=\"`trustedExternalTenants \"\u003e`trusted_external_tenants \u003c/span\u003e= []`.\n"},"uri":{"type":"string","description":"The FQDN of the Azure Kusto Cluster.\n"},"virtualNetworkConfiguration":{"$ref":"#/types/azure:kusto/ClusterVirtualNetworkConfiguration:ClusterVirtualNetworkConfiguration","deprecationMessage":"The \u003cspan pulumi-lang-nodejs=\"`virtualNetworkConfiguration`\" pulumi-lang-dotnet=\"`VirtualNetworkConfiguration`\" pulumi-lang-go=\"`virtualNetworkConfiguration`\" pulumi-lang-python=\"`virtual_network_configuration`\" pulumi-lang-yaml=\"`virtualNetworkConfiguration`\" pulumi-lang-java=\"`virtualNetworkConfiguration`\"\u003e`virtual_network_configuration`\u003c/span\u003e block has been deprecated as it is no longer supported by Azure and will be removed in v5.0 of the AzureRM Provider - for more information see https://techcommunity.microsoft.com/blog/azuredataexplorer/deprecation-of-virtual-network-injection-for-azure-data-explorer/4198192"},"zones":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Availability Zones in which this Kusto Cluster should be located. Changing this forces a new Kusto Cluster to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:kusto/clusterCustomerManagedKey:ClusterCustomerManagedKey":{"description":"Manages a Customer Managed Key for a Kusto Cluster.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst current = azure.core.getClientConfig({});\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleKeyVault = new azure.keyvault.KeyVault(\"example\", {\n    name: \"examplekv\",\n    location: example.location,\n    resourceGroupName: example.name,\n    tenantId: current.then(current =\u003e current.tenantId),\n    skuName: \"standard\",\n    purgeProtectionEnabled: true,\n});\nconst exampleCluster = new azure.kusto.Cluster(\"example\", {\n    name: \"kustocluster\",\n    location: example.location,\n    resourceGroupName: example.name,\n    sku: {\n        name: \"Standard_D13_v2\",\n        capacity: 2,\n    },\n    identity: {\n        type: \"SystemAssigned\",\n    },\n});\nconst cluster = new azure.keyvault.AccessPolicy(\"cluster\", {\n    keyVaultId: exampleKeyVault.id,\n    tenantId: current.then(current =\u003e current.tenantId),\n    objectId: exampleCluster.identity.apply(identity =\u003e identity?.principalId),\n    keyPermissions: [\n        \"Get\",\n        \"UnwrapKey\",\n        \"WrapKey\",\n    ],\n});\nconst client = new azure.keyvault.AccessPolicy(\"client\", {\n    keyVaultId: exampleKeyVault.id,\n    tenantId: current.then(current =\u003e current.tenantId),\n    objectId: current.then(current =\u003e current.objectId),\n    keyPermissions: [\n        \"Get\",\n        \"List\",\n        \"Create\",\n        \"Delete\",\n        \"Recover\",\n        \"GetRotationPolicy\",\n    ],\n});\nconst exampleKey = new azure.keyvault.Key(\"example\", {\n    name: \"tfex-key\",\n    keyVaultId: exampleKeyVault.id,\n    keyType: \"RSA\",\n    keySize: 2048,\n    keyOpts: [\n        \"decrypt\",\n        \"encrypt\",\n        \"sign\",\n        \"unwrapKey\",\n        \"verify\",\n        \"wrapKey\",\n    ],\n}, {\n    dependsOn: [\n        client,\n        cluster,\n    ],\n});\nconst exampleClusterCustomerManagedKey = new azure.kusto.ClusterCustomerManagedKey(\"example\", {\n    clusterId: exampleCluster.id,\n    keyVaultId: exampleKeyVault.id,\n    keyName: exampleKey.name,\n    keyVersion: exampleKey.version,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\ncurrent = azure.core.get_client_config()\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_key_vault = azure.keyvault.KeyVault(\"example\",\n    name=\"examplekv\",\n    location=example.location,\n    resource_group_name=example.name,\n    tenant_id=current.tenant_id,\n    sku_name=\"standard\",\n    purge_protection_enabled=True)\nexample_cluster = azure.kusto.Cluster(\"example\",\n    name=\"kustocluster\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku={\n        \"name\": \"Standard_D13_v2\",\n        \"capacity\": 2,\n    },\n    identity={\n        \"type\": \"SystemAssigned\",\n    })\ncluster = azure.keyvault.AccessPolicy(\"cluster\",\n    key_vault_id=example_key_vault.id,\n    tenant_id=current.tenant_id,\n    object_id=example_cluster.identity.principal_id,\n    key_permissions=[\n        \"Get\",\n        \"UnwrapKey\",\n        \"WrapKey\",\n    ])\nclient = azure.keyvault.AccessPolicy(\"client\",\n    key_vault_id=example_key_vault.id,\n    tenant_id=current.tenant_id,\n    object_id=current.object_id,\n    key_permissions=[\n        \"Get\",\n        \"List\",\n        \"Create\",\n        \"Delete\",\n        \"Recover\",\n        \"GetRotationPolicy\",\n    ])\nexample_key = azure.keyvault.Key(\"example\",\n    name=\"tfex-key\",\n    key_vault_id=example_key_vault.id,\n    key_type=\"RSA\",\n    key_size=2048,\n    key_opts=[\n        \"decrypt\",\n        \"encrypt\",\n        \"sign\",\n        \"unwrapKey\",\n        \"verify\",\n        \"wrapKey\",\n    ],\n    opts = pulumi.ResourceOptions(depends_on=[\n            client,\n            cluster,\n        ]))\nexample_cluster_customer_managed_key = azure.kusto.ClusterCustomerManagedKey(\"example\",\n    cluster_id=example_cluster.id,\n    key_vault_id=example_key_vault.id,\n    key_name=example_key.name,\n    key_version=example_key.version)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var current = Azure.Core.GetClientConfig.Invoke();\n\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleKeyVault = new Azure.KeyVault.KeyVault(\"example\", new()\n    {\n        Name = \"examplekv\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        TenantId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.TenantId),\n        SkuName = \"standard\",\n        PurgeProtectionEnabled = true,\n    });\n\n    var exampleCluster = new Azure.Kusto.Cluster(\"example\", new()\n    {\n        Name = \"kustocluster\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Sku = new Azure.Kusto.Inputs.ClusterSkuArgs\n        {\n            Name = \"Standard_D13_v2\",\n            Capacity = 2,\n        },\n        Identity = new Azure.Kusto.Inputs.ClusterIdentityArgs\n        {\n            Type = \"SystemAssigned\",\n        },\n    });\n\n    var cluster = new Azure.KeyVault.AccessPolicy(\"cluster\", new()\n    {\n        KeyVaultId = exampleKeyVault.Id,\n        TenantId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.TenantId),\n        ObjectId = exampleCluster.Identity.Apply(identity =\u003e identity?.PrincipalId),\n        KeyPermissions = new[]\n        {\n            \"Get\",\n            \"UnwrapKey\",\n            \"WrapKey\",\n        },\n    });\n\n    var client = new Azure.KeyVault.AccessPolicy(\"client\", new()\n    {\n        KeyVaultId = exampleKeyVault.Id,\n        TenantId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.TenantId),\n        ObjectId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.ObjectId),\n        KeyPermissions = new[]\n        {\n            \"Get\",\n            \"List\",\n            \"Create\",\n            \"Delete\",\n            \"Recover\",\n            \"GetRotationPolicy\",\n        },\n    });\n\n    var exampleKey = new Azure.KeyVault.Key(\"example\", new()\n    {\n        Name = \"tfex-key\",\n        KeyVaultId = exampleKeyVault.Id,\n        KeyType = \"RSA\",\n        KeySize = 2048,\n        KeyOpts = new[]\n        {\n            \"decrypt\",\n            \"encrypt\",\n            \"sign\",\n            \"unwrapKey\",\n            \"verify\",\n            \"wrapKey\",\n        },\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            client,\n            cluster,\n        },\n    });\n\n    var exampleClusterCustomerManagedKey = new Azure.Kusto.ClusterCustomerManagedKey(\"example\", new()\n    {\n        ClusterId = exampleCluster.Id,\n        KeyVaultId = exampleKeyVault.Id,\n        KeyName = exampleKey.Name,\n        KeyVersion = exampleKey.Version,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/keyvault\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/kusto\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := core.GetClientConfig(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleKeyVault, err := keyvault.NewKeyVault(ctx, \"example\", \u0026keyvault.KeyVaultArgs{\n\t\t\tName:                   pulumi.String(\"examplekv\"),\n\t\t\tLocation:               example.Location,\n\t\t\tResourceGroupName:      example.Name,\n\t\t\tTenantId:               pulumi.String(current.TenantId),\n\t\t\tSkuName:                pulumi.String(\"standard\"),\n\t\t\tPurgeProtectionEnabled: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleCluster, err := kusto.NewCluster(ctx, \"example\", \u0026kusto.ClusterArgs{\n\t\t\tName:              pulumi.String(\"kustocluster\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSku: \u0026kusto.ClusterSkuArgs{\n\t\t\t\tName:     pulumi.String(\"Standard_D13_v2\"),\n\t\t\t\tCapacity: pulumi.Int(2),\n\t\t\t},\n\t\t\tIdentity: \u0026kusto.ClusterIdentityArgs{\n\t\t\t\tType: pulumi.String(\"SystemAssigned\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcluster, err := keyvault.NewAccessPolicy(ctx, \"cluster\", \u0026keyvault.AccessPolicyArgs{\n\t\t\tKeyVaultId: exampleKeyVault.ID(),\n\t\t\tTenantId:   pulumi.String(current.TenantId),\n\t\t\tObjectId: pulumi.String(exampleCluster.Identity.ApplyT(func(identity kusto.ClusterIdentity) (*string, error) {\n\t\t\t\treturn \u0026identity.PrincipalId, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tKeyPermissions: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"Get\"),\n\t\t\t\tpulumi.String(\"UnwrapKey\"),\n\t\t\t\tpulumi.String(\"WrapKey\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tclient, err := keyvault.NewAccessPolicy(ctx, \"client\", \u0026keyvault.AccessPolicyArgs{\n\t\t\tKeyVaultId: exampleKeyVault.ID(),\n\t\t\tTenantId:   pulumi.String(current.TenantId),\n\t\t\tObjectId:   pulumi.String(current.ObjectId),\n\t\t\tKeyPermissions: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"Get\"),\n\t\t\t\tpulumi.String(\"List\"),\n\t\t\t\tpulumi.String(\"Create\"),\n\t\t\t\tpulumi.String(\"Delete\"),\n\t\t\t\tpulumi.String(\"Recover\"),\n\t\t\t\tpulumi.String(\"GetRotationPolicy\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleKey, err := keyvault.NewKey(ctx, \"example\", \u0026keyvault.KeyArgs{\n\t\t\tName:       pulumi.String(\"tfex-key\"),\n\t\t\tKeyVaultId: exampleKeyVault.ID(),\n\t\t\tKeyType:    pulumi.String(\"RSA\"),\n\t\t\tKeySize:    pulumi.Int(2048),\n\t\t\tKeyOpts: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"decrypt\"),\n\t\t\t\tpulumi.String(\"encrypt\"),\n\t\t\t\tpulumi.String(\"sign\"),\n\t\t\t\tpulumi.String(\"unwrapKey\"),\n\t\t\t\tpulumi.String(\"verify\"),\n\t\t\t\tpulumi.String(\"wrapKey\"),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tclient,\n\t\t\tcluster,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = kusto.NewClusterCustomerManagedKey(ctx, \"example\", \u0026kusto.ClusterCustomerManagedKeyArgs{\n\t\t\tClusterId:  exampleCluster.ID(),\n\t\t\tKeyVaultId: exampleKeyVault.ID(),\n\t\t\tKeyName:    exampleKey.Name,\n\t\t\tKeyVersion: exampleKey.Version,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.keyvault.KeyVault;\nimport com.pulumi.azure.keyvault.KeyVaultArgs;\nimport com.pulumi.azure.kusto.Cluster;\nimport com.pulumi.azure.kusto.ClusterArgs;\nimport com.pulumi.azure.kusto.inputs.ClusterSkuArgs;\nimport com.pulumi.azure.kusto.inputs.ClusterIdentityArgs;\nimport com.pulumi.azure.keyvault.AccessPolicy;\nimport com.pulumi.azure.keyvault.AccessPolicyArgs;\nimport com.pulumi.azure.keyvault.Key;\nimport com.pulumi.azure.keyvault.KeyArgs;\nimport com.pulumi.azure.kusto.ClusterCustomerManagedKey;\nimport com.pulumi.azure.kusto.ClusterCustomerManagedKeyArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var current = CoreFunctions.getClientConfig(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleKeyVault = new KeyVault(\"exampleKeyVault\", KeyVaultArgs.builder()\n            .name(\"examplekv\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .tenantId(current.tenantId())\n            .skuName(\"standard\")\n            .purgeProtectionEnabled(true)\n            .build());\n\n        var exampleCluster = new Cluster(\"exampleCluster\", ClusterArgs.builder()\n            .name(\"kustocluster\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .sku(ClusterSkuArgs.builder()\n                .name(\"Standard_D13_v2\")\n                .capacity(2)\n                .build())\n            .identity(ClusterIdentityArgs.builder()\n                .type(\"SystemAssigned\")\n                .build())\n            .build());\n\n        var cluster = new AccessPolicy(\"cluster\", AccessPolicyArgs.builder()\n            .keyVaultId(exampleKeyVault.id())\n            .tenantId(current.tenantId())\n            .objectId(exampleCluster.identity().applyValue(_identity -\u003e _identity.principalId()))\n            .keyPermissions(            \n                \"Get\",\n                \"UnwrapKey\",\n                \"WrapKey\")\n            .build());\n\n        var client = new AccessPolicy(\"client\", AccessPolicyArgs.builder()\n            .keyVaultId(exampleKeyVault.id())\n            .tenantId(current.tenantId())\n            .objectId(current.objectId())\n            .keyPermissions(            \n                \"Get\",\n                \"List\",\n                \"Create\",\n                \"Delete\",\n                \"Recover\",\n                \"GetRotationPolicy\")\n            .build());\n\n        var exampleKey = new Key(\"exampleKey\", KeyArgs.builder()\n            .name(\"tfex-key\")\n            .keyVaultId(exampleKeyVault.id())\n            .keyType(\"RSA\")\n            .keySize(2048)\n            .keyOpts(            \n                \"decrypt\",\n                \"encrypt\",\n                \"sign\",\n                \"unwrapKey\",\n                \"verify\",\n                \"wrapKey\")\n            .build(), CustomResourceOptions.builder()\n                .dependsOn(                \n                    client,\n                    cluster)\n                .build());\n\n        var exampleClusterCustomerManagedKey = new ClusterCustomerManagedKey(\"exampleClusterCustomerManagedKey\", ClusterCustomerManagedKeyArgs.builder()\n            .clusterId(exampleCluster.id())\n            .keyVaultId(exampleKeyVault.id())\n            .keyName(exampleKey.name())\n            .keyVersion(exampleKey.version())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleKeyVault:\n    type: azure:keyvault:KeyVault\n    name: example\n    properties:\n      name: examplekv\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      tenantId: ${current.tenantId}\n      skuName: standard\n      purgeProtectionEnabled: true\n  cluster:\n    type: azure:keyvault:AccessPolicy\n    properties:\n      keyVaultId: ${exampleKeyVault.id}\n      tenantId: ${current.tenantId}\n      objectId: ${exampleCluster.identity.principalId}\n      keyPermissions:\n        - Get\n        - UnwrapKey\n        - WrapKey\n  client:\n    type: azure:keyvault:AccessPolicy\n    properties:\n      keyVaultId: ${exampleKeyVault.id}\n      tenantId: ${current.tenantId}\n      objectId: ${current.objectId}\n      keyPermissions:\n        - Get\n        - List\n        - Create\n        - Delete\n        - Recover\n        - GetRotationPolicy\n  exampleKey:\n    type: azure:keyvault:Key\n    name: example\n    properties:\n      name: tfex-key\n      keyVaultId: ${exampleKeyVault.id}\n      keyType: RSA\n      keySize: 2048\n      keyOpts:\n        - decrypt\n        - encrypt\n        - sign\n        - unwrapKey\n        - verify\n        - wrapKey\n    options:\n      dependsOn:\n        - ${client}\n        - ${cluster}\n  exampleCluster:\n    type: azure:kusto:Cluster\n    name: example\n    properties:\n      name: kustocluster\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      sku:\n        name: Standard_D13_v2\n        capacity: 2\n      identity:\n        type: SystemAssigned\n  exampleClusterCustomerManagedKey:\n    type: azure:kusto:ClusterCustomerManagedKey\n    name: example\n    properties:\n      clusterId: ${exampleCluster.id}\n      keyVaultId: ${exampleKeyVault.id}\n      keyName: ${exampleKey.name}\n      keyVersion: ${exampleKey.version}\nvariables:\n  current:\n    fn::invoke:\n      function: azure:core:getClientConfig\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Kusto` - 2024-04-13\n\n## Import\n\nCustomer Managed Keys for a Kusto Cluster can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:kusto/clusterCustomerManagedKey:ClusterCustomerManagedKey example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Kusto/clusters/cluster1\n```\n\n","properties":{"clusterId":{"type":"string","description":"The ID of the Kusto Cluster. Changing this forces a new resource to be created.\n"},"keyName":{"type":"string","description":"The name of Key Vault Key.\n"},"keyVaultId":{"type":"string","description":"The ID of the Key Vault for CMK encryption.\n"},"keyVersion":{"type":"string","description":"The version of Key Vault Key.\n"},"managedHsmKeyId":{"type":"string","description":"The Managed HSM Key ID for CMK encryption.\n\n\u003e **Note:** Exactly one of \u003cspan pulumi-lang-nodejs=\"`managedHsmKeyId`\" pulumi-lang-dotnet=\"`ManagedHsmKeyId`\" pulumi-lang-go=\"`managedHsmKeyId`\" pulumi-lang-python=\"`managed_hsm_key_id`\" pulumi-lang-yaml=\"`managedHsmKeyId`\" pulumi-lang-java=\"`managedHsmKeyId`\"\u003e`managed_hsm_key_id`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`keyVaultId`\" pulumi-lang-dotnet=\"`KeyVaultId`\" pulumi-lang-go=\"`keyVaultId`\" pulumi-lang-python=\"`key_vault_id`\" pulumi-lang-yaml=\"`keyVaultId`\" pulumi-lang-java=\"`keyVaultId`\"\u003e`key_vault_id`\u003c/span\u003e must be specified.\n"},"userIdentity":{"type":"string","description":"The user assigned identity that has access to the Key Vault Key. If not specified, system assigned identity will be used.\n"}},"required":["clusterId"],"inputProperties":{"clusterId":{"type":"string","description":"The ID of the Kusto Cluster. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"keyName":{"type":"string","description":"The name of Key Vault Key.\n"},"keyVaultId":{"type":"string","description":"The ID of the Key Vault for CMK encryption.\n"},"keyVersion":{"type":"string","description":"The version of Key Vault Key.\n"},"managedHsmKeyId":{"type":"string","description":"The Managed HSM Key ID for CMK encryption.\n\n\u003e **Note:** Exactly one of \u003cspan pulumi-lang-nodejs=\"`managedHsmKeyId`\" pulumi-lang-dotnet=\"`ManagedHsmKeyId`\" pulumi-lang-go=\"`managedHsmKeyId`\" pulumi-lang-python=\"`managed_hsm_key_id`\" pulumi-lang-yaml=\"`managedHsmKeyId`\" pulumi-lang-java=\"`managedHsmKeyId`\"\u003e`managed_hsm_key_id`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`keyVaultId`\" pulumi-lang-dotnet=\"`KeyVaultId`\" pulumi-lang-go=\"`keyVaultId`\" pulumi-lang-python=\"`key_vault_id`\" pulumi-lang-yaml=\"`keyVaultId`\" pulumi-lang-java=\"`keyVaultId`\"\u003e`key_vault_id`\u003c/span\u003e must be specified.\n"},"userIdentity":{"type":"string","description":"The user assigned identity that has access to the Key Vault Key. If not specified, system assigned identity will be used.\n"}},"requiredInputs":["clusterId"],"stateInputs":{"description":"Input properties used for looking up and filtering ClusterCustomerManagedKey resources.\n","properties":{"clusterId":{"type":"string","description":"The ID of the Kusto Cluster. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"keyName":{"type":"string","description":"The name of Key Vault Key.\n"},"keyVaultId":{"type":"string","description":"The ID of the Key Vault for CMK encryption.\n"},"keyVersion":{"type":"string","description":"The version of Key Vault Key.\n"},"managedHsmKeyId":{"type":"string","description":"The Managed HSM Key ID for CMK encryption.\n\n\u003e **Note:** Exactly one of \u003cspan pulumi-lang-nodejs=\"`managedHsmKeyId`\" pulumi-lang-dotnet=\"`ManagedHsmKeyId`\" pulumi-lang-go=\"`managedHsmKeyId`\" pulumi-lang-python=\"`managed_hsm_key_id`\" pulumi-lang-yaml=\"`managedHsmKeyId`\" pulumi-lang-java=\"`managedHsmKeyId`\"\u003e`managed_hsm_key_id`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`keyVaultId`\" pulumi-lang-dotnet=\"`KeyVaultId`\" pulumi-lang-go=\"`keyVaultId`\" pulumi-lang-python=\"`key_vault_id`\" pulumi-lang-yaml=\"`keyVaultId`\" pulumi-lang-java=\"`keyVaultId`\"\u003e`key_vault_id`\u003c/span\u003e must be specified.\n"},"userIdentity":{"type":"string","description":"The user assigned identity that has access to the Key Vault Key. If not specified, system assigned identity will be used.\n"}},"type":"object"}},"azure:kusto/clusterManagedPrivateEndpoint:ClusterManagedPrivateEndpoint":{"description":"Manages a Managed Private Endpoint for a Kusto Cluster.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst current = azure.core.getClientConfig({});\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleCluster = new azure.kusto.Cluster(\"example\", {\n    name: \"examplekc\",\n    location: example.location,\n    resourceGroupName: example.name,\n    sku: {\n        name: \"Dev(No SLA)_Standard_D11_v2\",\n        capacity: 1,\n    },\n});\nconst exampleAccount = new azure.storage.Account(\"example\", {\n    name: \"examplesa\",\n    resourceGroupName: example.name,\n    location: example.location,\n    accountTier: \"Standard\",\n    accountReplicationType: \"LRS\",\n});\nconst exampleClusterManagedPrivateEndpoint = new azure.kusto.ClusterManagedPrivateEndpoint(\"example\", {\n    name: \"examplempe\",\n    resourceGroupName: example.name,\n    clusterName: exampleCluster.name,\n    privateLinkResourceId: exampleAccount.id,\n    privateLinkResourceRegion: exampleAccount.location,\n    groupId: \"blob\",\n    requestMessage: \"Please Approve\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\ncurrent = azure.core.get_client_config()\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_cluster = azure.kusto.Cluster(\"example\",\n    name=\"examplekc\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku={\n        \"name\": \"Dev(No SLA)_Standard_D11_v2\",\n        \"capacity\": 1,\n    })\nexample_account = azure.storage.Account(\"example\",\n    name=\"examplesa\",\n    resource_group_name=example.name,\n    location=example.location,\n    account_tier=\"Standard\",\n    account_replication_type=\"LRS\")\nexample_cluster_managed_private_endpoint = azure.kusto.ClusterManagedPrivateEndpoint(\"example\",\n    name=\"examplempe\",\n    resource_group_name=example.name,\n    cluster_name=example_cluster.name,\n    private_link_resource_id=example_account.id,\n    private_link_resource_region=example_account.location,\n    group_id=\"blob\",\n    request_message=\"Please Approve\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var current = Azure.Core.GetClientConfig.Invoke();\n\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleCluster = new Azure.Kusto.Cluster(\"example\", new()\n    {\n        Name = \"examplekc\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Sku = new Azure.Kusto.Inputs.ClusterSkuArgs\n        {\n            Name = \"Dev(No SLA)_Standard_D11_v2\",\n            Capacity = 1,\n        },\n    });\n\n    var exampleAccount = new Azure.Storage.Account(\"example\", new()\n    {\n        Name = \"examplesa\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        AccountTier = \"Standard\",\n        AccountReplicationType = \"LRS\",\n    });\n\n    var exampleClusterManagedPrivateEndpoint = new Azure.Kusto.ClusterManagedPrivateEndpoint(\"example\", new()\n    {\n        Name = \"examplempe\",\n        ResourceGroupName = example.Name,\n        ClusterName = exampleCluster.Name,\n        PrivateLinkResourceId = exampleAccount.Id,\n        PrivateLinkResourceRegion = exampleAccount.Location,\n        GroupId = \"blob\",\n        RequestMessage = \"Please Approve\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/kusto\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := core.GetClientConfig(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleCluster, err := kusto.NewCluster(ctx, \"example\", \u0026kusto.ClusterArgs{\n\t\t\tName:              pulumi.String(\"examplekc\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSku: \u0026kusto.ClusterSkuArgs{\n\t\t\t\tName:     pulumi.String(\"Dev(No SLA)_Standard_D11_v2\"),\n\t\t\t\tCapacity: pulumi.Int(1),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := storage.NewAccount(ctx, \"example\", \u0026storage.AccountArgs{\n\t\t\tName:                   pulumi.String(\"examplesa\"),\n\t\t\tResourceGroupName:      example.Name,\n\t\t\tLocation:               example.Location,\n\t\t\tAccountTier:            pulumi.String(\"Standard\"),\n\t\t\tAccountReplicationType: pulumi.String(\"LRS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = kusto.NewClusterManagedPrivateEndpoint(ctx, \"example\", \u0026kusto.ClusterManagedPrivateEndpointArgs{\n\t\t\tName:                      pulumi.String(\"examplempe\"),\n\t\t\tResourceGroupName:         example.Name,\n\t\t\tClusterName:               exampleCluster.Name,\n\t\t\tPrivateLinkResourceId:     exampleAccount.ID(),\n\t\t\tPrivateLinkResourceRegion: exampleAccount.Location,\n\t\t\tGroupId:                   pulumi.String(\"blob\"),\n\t\t\tRequestMessage:            pulumi.String(\"Please Approve\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.kusto.Cluster;\nimport com.pulumi.azure.kusto.ClusterArgs;\nimport com.pulumi.azure.kusto.inputs.ClusterSkuArgs;\nimport com.pulumi.azure.storage.Account;\nimport com.pulumi.azure.storage.AccountArgs;\nimport com.pulumi.azure.kusto.ClusterManagedPrivateEndpoint;\nimport com.pulumi.azure.kusto.ClusterManagedPrivateEndpointArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var current = CoreFunctions.getClientConfig(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleCluster = new Cluster(\"exampleCluster\", ClusterArgs.builder()\n            .name(\"examplekc\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .sku(ClusterSkuArgs.builder()\n                .name(\"Dev(No SLA)_Standard_D11_v2\")\n                .capacity(1)\n                .build())\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"examplesa\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .accountTier(\"Standard\")\n            .accountReplicationType(\"LRS\")\n            .build());\n\n        var exampleClusterManagedPrivateEndpoint = new ClusterManagedPrivateEndpoint(\"exampleClusterManagedPrivateEndpoint\", ClusterManagedPrivateEndpointArgs.builder()\n            .name(\"examplempe\")\n            .resourceGroupName(example.name())\n            .clusterName(exampleCluster.name())\n            .privateLinkResourceId(exampleAccount.id())\n            .privateLinkResourceRegion(exampleAccount.location())\n            .groupId(\"blob\")\n            .requestMessage(\"Please Approve\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleCluster:\n    type: azure:kusto:Cluster\n    name: example\n    properties:\n      name: examplekc\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      sku:\n        name: Dev(No SLA)_Standard_D11_v2\n        capacity: 1\n  exampleAccount:\n    type: azure:storage:Account\n    name: example\n    properties:\n      name: examplesa\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      accountTier: Standard\n      accountReplicationType: LRS\n  exampleClusterManagedPrivateEndpoint:\n    type: azure:kusto:ClusterManagedPrivateEndpoint\n    name: example\n    properties:\n      name: examplempe\n      resourceGroupName: ${example.name}\n      clusterName: ${exampleCluster.name}\n      privateLinkResourceId: ${exampleAccount.id}\n      privateLinkResourceRegion: ${exampleAccount.location}\n      groupId: blob\n      requestMessage: Please Approve\nvariables:\n  current:\n    fn::invoke:\n      function: azure:core:getClientConfig\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Kusto` - 2024-04-13\n\n## Import\n\nManaged Private Endpoint for a Kusto Cluster can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:kusto/clusterManagedPrivateEndpoint:ClusterManagedPrivateEndpoint example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Kusto/clusters/cluster1/managedPrivateEndpoints/managedPrivateEndpoint1\n```\n\n","properties":{"clusterName":{"type":"string","description":"The name of the Kusto Cluster. Changing this forces a new resource to be created.\n"},"groupId":{"type":"string","description":"The group id in which the managed private endpoint is created. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"The name of the Managed Private Endpoints to create. Changing this forces a new resource to be created.\n"},"privateLinkResourceId":{"type":"string","description":"The ARM resource ID of the resource for which the managed private endpoint is created. Changing this forces a new resource to be created.\n"},"privateLinkResourceRegion":{"type":"string","description":"The region of the resource to which the managed private endpoint is created. Changing this forces a new resource to be created.\n"},"requestMessage":{"type":"string","description":"The user request message.\n"},"resourceGroupName":{"type":"string","description":"Specifies the Resource Group where the Kusto Cluster should exist. Changing this forces a new resource to be created.\n"}},"required":["clusterName","groupId","name","privateLinkResourceId","resourceGroupName"],"inputProperties":{"clusterName":{"type":"string","description":"The name of the Kusto Cluster. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"groupId":{"type":"string","description":"The group id in which the managed private endpoint is created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the Managed Private Endpoints to create. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"privateLinkResourceId":{"type":"string","description":"The ARM resource ID of the resource for which the managed private endpoint is created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"privateLinkResourceRegion":{"type":"string","description":"The region of the resource to which the managed private endpoint is created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"requestMessage":{"type":"string","description":"The user request message.\n"},"resourceGroupName":{"type":"string","description":"Specifies the Resource Group where the Kusto Cluster should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["clusterName","groupId","privateLinkResourceId","resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering ClusterManagedPrivateEndpoint resources.\n","properties":{"clusterName":{"type":"string","description":"The name of the Kusto Cluster. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"groupId":{"type":"string","description":"The group id in which the managed private endpoint is created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the Managed Private Endpoints to create. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"privateLinkResourceId":{"type":"string","description":"The ARM resource ID of the resource for which the managed private endpoint is created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"privateLinkResourceRegion":{"type":"string","description":"The region of the resource to which the managed private endpoint is created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"requestMessage":{"type":"string","description":"The user request message.\n"},"resourceGroupName":{"type":"string","description":"Specifies the Resource Group where the Kusto Cluster should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:kusto/clusterPrincipalAssignment:ClusterPrincipalAssignment":{"description":"Manages a Kusto Cluster Principal Assignment.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst current = azure.core.getClientConfig({});\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"KustoRG\",\n    location: \"West Europe\",\n});\nconst exampleCluster = new azure.kusto.Cluster(\"example\", {\n    name: \"kustocluster\",\n    location: example.location,\n    resourceGroupName: example.name,\n    sku: {\n        name: \"Standard_D13_v2\",\n        capacity: 2,\n    },\n});\nconst exampleClusterPrincipalAssignment = new azure.kusto.ClusterPrincipalAssignment(\"example\", {\n    name: \"KustoPrincipalAssignment\",\n    resourceGroupName: example.name,\n    clusterName: exampleCluster.name,\n    tenantId: current.then(current =\u003e current.tenantId),\n    principalId: current.then(current =\u003e current.principalId),\n    principalType: \"App\",\n    role: \"AllDatabasesAdmin\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\ncurrent = azure.core.get_client_config()\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"KustoRG\",\n    location=\"West Europe\")\nexample_cluster = azure.kusto.Cluster(\"example\",\n    name=\"kustocluster\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku={\n        \"name\": \"Standard_D13_v2\",\n        \"capacity\": 2,\n    })\nexample_cluster_principal_assignment = azure.kusto.ClusterPrincipalAssignment(\"example\",\n    name=\"KustoPrincipalAssignment\",\n    resource_group_name=example.name,\n    cluster_name=example_cluster.name,\n    tenant_id=current.tenant_id,\n    principal_id=current.principal_id,\n    principal_type=\"App\",\n    role=\"AllDatabasesAdmin\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var current = Azure.Core.GetClientConfig.Invoke();\n\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"KustoRG\",\n        Location = \"West Europe\",\n    });\n\n    var exampleCluster = new Azure.Kusto.Cluster(\"example\", new()\n    {\n        Name = \"kustocluster\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Sku = new Azure.Kusto.Inputs.ClusterSkuArgs\n        {\n            Name = \"Standard_D13_v2\",\n            Capacity = 2,\n        },\n    });\n\n    var exampleClusterPrincipalAssignment = new Azure.Kusto.ClusterPrincipalAssignment(\"example\", new()\n    {\n        Name = \"KustoPrincipalAssignment\",\n        ResourceGroupName = example.Name,\n        ClusterName = exampleCluster.Name,\n        TenantId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.TenantId),\n        PrincipalId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.PrincipalId),\n        PrincipalType = \"App\",\n        Role = \"AllDatabasesAdmin\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/kusto\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := core.GetClientConfig(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"KustoRG\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleCluster, err := kusto.NewCluster(ctx, \"example\", \u0026kusto.ClusterArgs{\n\t\t\tName:              pulumi.String(\"kustocluster\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSku: \u0026kusto.ClusterSkuArgs{\n\t\t\t\tName:     pulumi.String(\"Standard_D13_v2\"),\n\t\t\t\tCapacity: pulumi.Int(2),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = kusto.NewClusterPrincipalAssignment(ctx, \"example\", \u0026kusto.ClusterPrincipalAssignmentArgs{\n\t\t\tName:              pulumi.String(\"KustoPrincipalAssignment\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tClusterName:       exampleCluster.Name,\n\t\t\tTenantId:          pulumi.String(current.TenantId),\n\t\t\tPrincipalId:       pulumi.Any(current.PrincipalId),\n\t\t\tPrincipalType:     pulumi.String(\"App\"),\n\t\t\tRole:              pulumi.String(\"AllDatabasesAdmin\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.kusto.Cluster;\nimport com.pulumi.azure.kusto.ClusterArgs;\nimport com.pulumi.azure.kusto.inputs.ClusterSkuArgs;\nimport com.pulumi.azure.kusto.ClusterPrincipalAssignment;\nimport com.pulumi.azure.kusto.ClusterPrincipalAssignmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var current = CoreFunctions.getClientConfig(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"KustoRG\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleCluster = new Cluster(\"exampleCluster\", ClusterArgs.builder()\n            .name(\"kustocluster\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .sku(ClusterSkuArgs.builder()\n                .name(\"Standard_D13_v2\")\n                .capacity(2)\n                .build())\n            .build());\n\n        var exampleClusterPrincipalAssignment = new ClusterPrincipalAssignment(\"exampleClusterPrincipalAssignment\", ClusterPrincipalAssignmentArgs.builder()\n            .name(\"KustoPrincipalAssignment\")\n            .resourceGroupName(example.name())\n            .clusterName(exampleCluster.name())\n            .tenantId(current.tenantId())\n            .principalId(current.principalId())\n            .principalType(\"App\")\n            .role(\"AllDatabasesAdmin\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: KustoRG\n      location: West Europe\n  exampleCluster:\n    type: azure:kusto:Cluster\n    name: example\n    properties:\n      name: kustocluster\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      sku:\n        name: Standard_D13_v2\n        capacity: 2\n  exampleClusterPrincipalAssignment:\n    type: azure:kusto:ClusterPrincipalAssignment\n    name: example\n    properties:\n      name: KustoPrincipalAssignment\n      resourceGroupName: ${example.name}\n      clusterName: ${exampleCluster.name}\n      tenantId: ${current.tenantId}\n      principalId: ${current.principalId}\n      principalType: App\n      role: AllDatabasesAdmin\nvariables:\n  current:\n    fn::invoke:\n      function: azure:core:getClientConfig\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Kusto` - 2024-04-13\n\n## Import\n\nData Explorer Cluster Principal Assignments can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:kusto/clusterPrincipalAssignment:ClusterPrincipalAssignment example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Kusto/clusters/cluster1/principalAssignments/assignment1\n```\n\n","properties":{"clusterName":{"type":"string","description":"The name of the cluster in which to create the resource. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"The name of the Kusto cluster principal assignment. Changing this forces a new resource to be created.\n"},"principalId":{"type":"string","description":"The object id of the principal. Changing this forces a new resource to be created.\n"},"principalName":{"type":"string","description":"The name of the principal.\n"},"principalType":{"type":"string","description":"The type of the principal. Valid values include `App`, `Group`, `User`. Changing this forces a new resource to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the resource. Changing this forces a new resource to be created.\n"},"role":{"type":"string","description":"The cluster role assigned to the principal. Valid values include `AllDatabasesAdmin`, `AllDatabasesViewer`, and `AllDatabasesMonitor`. Changing this forces a new resource to be created.\n"},"tenantId":{"type":"string","description":"The tenant id in which the principal resides. Changing this forces a new resource to be created.\n"},"tenantName":{"type":"string","description":"The name of the tenant.\n"}},"required":["clusterName","name","principalId","principalName","principalType","resourceGroupName","role","tenantId","tenantName"],"inputProperties":{"clusterName":{"type":"string","description":"The name of the cluster in which to create the resource. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the Kusto cluster principal assignment. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"principalId":{"type":"string","description":"The object id of the principal. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"principalType":{"type":"string","description":"The type of the principal. Valid values include `App`, `Group`, `User`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the resource. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"role":{"type":"string","description":"The cluster role assigned to the principal. Valid values include `AllDatabasesAdmin`, `AllDatabasesViewer`, and `AllDatabasesMonitor`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tenantId":{"type":"string","description":"The tenant id in which the principal resides. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["clusterName","principalId","principalType","resourceGroupName","role","tenantId"],"stateInputs":{"description":"Input properties used for looking up and filtering ClusterPrincipalAssignment resources.\n","properties":{"clusterName":{"type":"string","description":"The name of the cluster in which to create the resource. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the Kusto cluster principal assignment. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"principalId":{"type":"string","description":"The object id of the principal. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"principalName":{"type":"string","description":"The name of the principal.\n"},"principalType":{"type":"string","description":"The type of the principal. Valid values include `App`, `Group`, `User`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the resource. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"role":{"type":"string","description":"The cluster role assigned to the principal. Valid values include `AllDatabasesAdmin`, `AllDatabasesViewer`, and `AllDatabasesMonitor`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tenantId":{"type":"string","description":"The tenant id in which the principal resides. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tenantName":{"type":"string","description":"The name of the tenant.\n"}},"type":"object"}},"azure:kusto/cosmosdbDataConnection:CosmosdbDataConnection":{"description":"Manages a Kusto / Cosmos Database Data Connection.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst current = azure.core.getClientConfig({});\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"example\", {\n    name: \"exampleRG\",\n    location: \"West Europe\",\n});\nconst builtin = azure.authorization.getRoleDefinition({\n    roleDefinitionId: \"fbdf93bf-df7d-467e-a4d2-9458aa1360c8\",\n});\nconst exampleCluster = new azure.kusto.Cluster(\"example\", {\n    name: \"examplekc\",\n    location: exampleResourceGroup.location,\n    resourceGroupName: exampleResourceGroup.name,\n    sku: {\n        name: \"Dev(No SLA)_Standard_D11_v2\",\n        capacity: 1,\n    },\n    identity: {\n        type: \"SystemAssigned\",\n    },\n});\nconst exampleAssignment = new azure.authorization.Assignment(\"example\", {\n    scope: exampleResourceGroup.id,\n    roleDefinitionName: builtin.then(builtin =\u003e builtin.name),\n    principalId: exampleCluster.identity.apply(identity =\u003e identity?.principalId),\n});\nconst exampleAccount = new azure.cosmosdb.Account(\"example\", {\n    name: \"example-ca\",\n    location: exampleResourceGroup.location,\n    resourceGroupName: exampleResourceGroup.name,\n    offerType: \"Standard\",\n    kind: \"GlobalDocumentDB\",\n    consistencyPolicy: {\n        consistencyLevel: \"Session\",\n        maxIntervalInSeconds: 5,\n        maxStalenessPrefix: 100,\n    },\n    geoLocations: [{\n        location: exampleResourceGroup.location,\n        failoverPriority: 0,\n    }],\n});\nconst exampleSqlDatabase = new azure.cosmosdb.SqlDatabase(\"example\", {\n    name: \"examplecosmosdbsqldb\",\n    resourceGroupName: exampleAccount.resourceGroupName,\n    accountName: exampleAccount.name,\n});\nconst exampleSqlContainer = new azure.cosmosdb.SqlContainer(\"example\", {\n    name: \"examplecosmosdbsqlcon\",\n    resourceGroupName: exampleAccount.resourceGroupName,\n    accountName: exampleAccount.name,\n    databaseName: exampleSqlDatabase.name,\n    partitionKeyPath: \"/part\",\n    throughput: 400,\n});\nconst example = azure.cosmosdb.getSqlRoleDefinitionOutput({\n    roleDefinitionId: \"00000000-0000-0000-0000-000000000001\",\n    resourceGroupName: exampleResourceGroup.name,\n    accountName: exampleAccount.name,\n});\nconst exampleSqlRoleAssignment = new azure.cosmosdb.SqlRoleAssignment(\"example\", {\n    resourceGroupName: exampleResourceGroup.name,\n    accountName: exampleAccount.name,\n    roleDefinitionId: example.apply(example =\u003e example.id),\n    principalId: exampleCluster.identity.apply(identity =\u003e identity?.principalId),\n    scope: exampleAccount.id,\n});\nconst exampleDatabase = new azure.kusto.Database(\"example\", {\n    name: \"examplekd\",\n    resourceGroupName: exampleResourceGroup.name,\n    location: exampleResourceGroup.location,\n    clusterName: exampleCluster.name,\n});\nconst exampleScript = new azure.kusto.Script(\"example\", {\n    name: \"create-table-script\",\n    databaseId: exampleDatabase.id,\n    scriptContent: `.create table TestTable(Id:string, Name:string, _ts:long, _timestamp:datetime)\n.create table TestTable ingestion json mapping \\\\\"TestMapping\\\\\"\n'['\n'    {\\\\\"column\\\\\":\\\\\"Id\\\\\",\\\\\"path\\\\\":\\\\\".id\\\\\"},'\n'    {\\\\\"column\\\\\":\\\\\"Name\\\\\",\\\\\"path\\\\\":\\\\\".name\\\\\"},'\n'    {\\\\\"column\\\\\":\\\\\"_ts\\\\\",\\\\\"path\\\\\":\\\\\"._ts\\\\\"},'\n'    {\\\\\"column\\\\\":\\\\\"_timestamp\\\\\",\\\\\"path\\\\\":\\\\\"._ts\\\\\", \\\\\"transform\\\\\":\\\\\"DateTimeFromUnixSeconds\\\\\"}'\n']'\n.alter table TestTable policy ingestionbatching \\\\\"{'MaximumBatchingTimeSpan': '0:0:10', 'MaximumNumberOfItems': 10000}\\\\\"\n`,\n});\nconst exampleCosmosdbDataConnection = new azure.kusto.CosmosdbDataConnection(\"example\", {\n    name: \"examplekcdcd\",\n    location: exampleResourceGroup.location,\n    cosmosdbContainerId: exampleSqlContainer.id,\n    kustoDatabaseId: exampleDatabase.id,\n    managedIdentityId: exampleCluster.id,\n    tableName: \"TestTable\",\n    mappingRuleName: \"TestMapping\",\n    retrievalStartDate: \"2023-06-26T12:00:00.6554616Z\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\ncurrent = azure.core.get_client_config()\nexample_resource_group = azure.core.ResourceGroup(\"example\",\n    name=\"exampleRG\",\n    location=\"West Europe\")\nbuiltin = azure.authorization.get_role_definition(role_definition_id=\"fbdf93bf-df7d-467e-a4d2-9458aa1360c8\")\nexample_cluster = azure.kusto.Cluster(\"example\",\n    name=\"examplekc\",\n    location=example_resource_group.location,\n    resource_group_name=example_resource_group.name,\n    sku={\n        \"name\": \"Dev(No SLA)_Standard_D11_v2\",\n        \"capacity\": 1,\n    },\n    identity={\n        \"type\": \"SystemAssigned\",\n    })\nexample_assignment = azure.authorization.Assignment(\"example\",\n    scope=example_resource_group.id,\n    role_definition_name=builtin.name,\n    principal_id=example_cluster.identity.principal_id)\nexample_account = azure.cosmosdb.Account(\"example\",\n    name=\"example-ca\",\n    location=example_resource_group.location,\n    resource_group_name=example_resource_group.name,\n    offer_type=\"Standard\",\n    kind=\"GlobalDocumentDB\",\n    consistency_policy={\n        \"consistency_level\": \"Session\",\n        \"max_interval_in_seconds\": 5,\n        \"max_staleness_prefix\": 100,\n    },\n    geo_locations=[{\n        \"location\": example_resource_group.location,\n        \"failover_priority\": 0,\n    }])\nexample_sql_database = azure.cosmosdb.SqlDatabase(\"example\",\n    name=\"examplecosmosdbsqldb\",\n    resource_group_name=example_account.resource_group_name,\n    account_name=example_account.name)\nexample_sql_container = azure.cosmosdb.SqlContainer(\"example\",\n    name=\"examplecosmosdbsqlcon\",\n    resource_group_name=example_account.resource_group_name,\n    account_name=example_account.name,\n    database_name=example_sql_database.name,\n    partition_key_path=\"/part\",\n    throughput=400)\nexample = azure.cosmosdb.get_sql_role_definition_output(role_definition_id=\"00000000-0000-0000-0000-000000000001\",\n    resource_group_name=example_resource_group.name,\n    account_name=example_account.name)\nexample_sql_role_assignment = azure.cosmosdb.SqlRoleAssignment(\"example\",\n    resource_group_name=example_resource_group.name,\n    account_name=example_account.name,\n    role_definition_id=example.id,\n    principal_id=example_cluster.identity.principal_id,\n    scope=example_account.id)\nexample_database = azure.kusto.Database(\"example\",\n    name=\"examplekd\",\n    resource_group_name=example_resource_group.name,\n    location=example_resource_group.location,\n    cluster_name=example_cluster.name)\nexample_script = azure.kusto.Script(\"example\",\n    name=\"create-table-script\",\n    database_id=example_database.id,\n    script_content=\"\"\".create table TestTable(Id:string, Name:string, _ts:long, _timestamp:datetime)\n.create table TestTable ingestion json mapping \\\"TestMapping\\\"\n'['\n'    {\\\"column\\\":\\\"Id\\\",\\\"path\\\":\\\"$.id\\\"},'\n'    {\\\"column\\\":\\\"Name\\\",\\\"path\\\":\\\"$.name\\\"},'\n'    {\\\"column\\\":\\\"_ts\\\",\\\"path\\\":\\\"$._ts\\\"},'\n'    {\\\"column\\\":\\\"_timestamp\\\",\\\"path\\\":\\\"$._ts\\\", \\\"transform\\\":\\\"DateTimeFromUnixSeconds\\\"}'\n']'\n.alter table TestTable policy ingestionbatching \\\"{'MaximumBatchingTimeSpan': '0:0:10', 'MaximumNumberOfItems': 10000}\\\"\n\"\"\")\nexample_cosmosdb_data_connection = azure.kusto.CosmosdbDataConnection(\"example\",\n    name=\"examplekcdcd\",\n    location=example_resource_group.location,\n    cosmosdb_container_id=example_sql_container.id,\n    kusto_database_id=example_database.id,\n    managed_identity_id=example_cluster.id,\n    table_name=\"TestTable\",\n    mapping_rule_name=\"TestMapping\",\n    retrieval_start_date=\"2023-06-26T12:00:00.6554616Z\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var current = Azure.Core.GetClientConfig.Invoke();\n\n    var exampleResourceGroup = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"exampleRG\",\n        Location = \"West Europe\",\n    });\n\n    var builtin = Azure.Authorization.GetRoleDefinition.Invoke(new()\n    {\n        RoleDefinitionId = \"fbdf93bf-df7d-467e-a4d2-9458aa1360c8\",\n    });\n\n    var exampleCluster = new Azure.Kusto.Cluster(\"example\", new()\n    {\n        Name = \"examplekc\",\n        Location = exampleResourceGroup.Location,\n        ResourceGroupName = exampleResourceGroup.Name,\n        Sku = new Azure.Kusto.Inputs.ClusterSkuArgs\n        {\n            Name = \"Dev(No SLA)_Standard_D11_v2\",\n            Capacity = 1,\n        },\n        Identity = new Azure.Kusto.Inputs.ClusterIdentityArgs\n        {\n            Type = \"SystemAssigned\",\n        },\n    });\n\n    var exampleAssignment = new Azure.Authorization.Assignment(\"example\", new()\n    {\n        Scope = exampleResourceGroup.Id,\n        RoleDefinitionName = builtin.Apply(getRoleDefinitionResult =\u003e getRoleDefinitionResult.Name),\n        PrincipalId = exampleCluster.Identity.Apply(identity =\u003e identity?.PrincipalId),\n    });\n\n    var exampleAccount = new Azure.CosmosDB.Account(\"example\", new()\n    {\n        Name = \"example-ca\",\n        Location = exampleResourceGroup.Location,\n        ResourceGroupName = exampleResourceGroup.Name,\n        OfferType = \"Standard\",\n        Kind = \"GlobalDocumentDB\",\n        ConsistencyPolicy = new Azure.CosmosDB.Inputs.AccountConsistencyPolicyArgs\n        {\n            ConsistencyLevel = \"Session\",\n            MaxIntervalInSeconds = 5,\n            MaxStalenessPrefix = 100,\n        },\n        GeoLocations = new[]\n        {\n            new Azure.CosmosDB.Inputs.AccountGeoLocationArgs\n            {\n                Location = exampleResourceGroup.Location,\n                FailoverPriority = 0,\n            },\n        },\n    });\n\n    var exampleSqlDatabase = new Azure.CosmosDB.SqlDatabase(\"example\", new()\n    {\n        Name = \"examplecosmosdbsqldb\",\n        ResourceGroupName = exampleAccount.ResourceGroupName,\n        AccountName = exampleAccount.Name,\n    });\n\n    var exampleSqlContainer = new Azure.CosmosDB.SqlContainer(\"example\", new()\n    {\n        Name = \"examplecosmosdbsqlcon\",\n        ResourceGroupName = exampleAccount.ResourceGroupName,\n        AccountName = exampleAccount.Name,\n        DatabaseName = exampleSqlDatabase.Name,\n        PartitionKeyPath = \"/part\",\n        Throughput = 400,\n    });\n\n    var example = Azure.CosmosDB.GetSqlRoleDefinition.Invoke(new()\n    {\n        RoleDefinitionId = \"00000000-0000-0000-0000-000000000001\",\n        ResourceGroupName = exampleResourceGroup.Name,\n        AccountName = exampleAccount.Name,\n    });\n\n    var exampleSqlRoleAssignment = new Azure.CosmosDB.SqlRoleAssignment(\"example\", new()\n    {\n        ResourceGroupName = exampleResourceGroup.Name,\n        AccountName = exampleAccount.Name,\n        RoleDefinitionId = example.Apply(getSqlRoleDefinitionResult =\u003e getSqlRoleDefinitionResult.Id),\n        PrincipalId = exampleCluster.Identity.Apply(identity =\u003e identity?.PrincipalId),\n        Scope = exampleAccount.Id,\n    });\n\n    var exampleDatabase = new Azure.Kusto.Database(\"example\", new()\n    {\n        Name = \"examplekd\",\n        ResourceGroupName = exampleResourceGroup.Name,\n        Location = exampleResourceGroup.Location,\n        ClusterName = exampleCluster.Name,\n    });\n\n    var exampleScript = new Azure.Kusto.Script(\"example\", new()\n    {\n        Name = \"create-table-script\",\n        DatabaseId = exampleDatabase.Id,\n        ScriptContent = @\".create table TestTable(Id:string, Name:string, _ts:long, _timestamp:datetime)\n.create table TestTable ingestion json mapping \\\"\"TestMapping\\\"\"\n'['\n'    {\\\"\"column\\\"\":\\\"\"Id\\\"\",\\\"\"path\\\"\":\\\"\"$.id\\\"\"},'\n'    {\\\"\"column\\\"\":\\\"\"Name\\\"\",\\\"\"path\\\"\":\\\"\"$.name\\\"\"},'\n'    {\\\"\"column\\\"\":\\\"\"_ts\\\"\",\\\"\"path\\\"\":\\\"\"$._ts\\\"\"},'\n'    {\\\"\"column\\\"\":\\\"\"_timestamp\\\"\",\\\"\"path\\\"\":\\\"\"$._ts\\\"\", \\\"\"transform\\\"\":\\\"\"DateTimeFromUnixSeconds\\\"\"}'\n']'\n.alter table TestTable policy ingestionbatching \\\"\"{'MaximumBatchingTimeSpan': '0:0:10', 'MaximumNumberOfItems': 10000}\\\"\"\n\",\n    });\n\n    var exampleCosmosdbDataConnection = new Azure.Kusto.CosmosdbDataConnection(\"example\", new()\n    {\n        Name = \"examplekcdcd\",\n        Location = exampleResourceGroup.Location,\n        CosmosdbContainerId = exampleSqlContainer.Id,\n        KustoDatabaseId = exampleDatabase.Id,\n        ManagedIdentityId = exampleCluster.Id,\n        TableName = \"TestTable\",\n        MappingRuleName = \"TestMapping\",\n        RetrievalStartDate = \"2023-06-26T12:00:00.6554616Z\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/authorization\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/cosmosdb\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/kusto\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := core.GetClientConfig(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"exampleRG\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tbuiltin, err := authorization.LookupRoleDefinition(ctx, \u0026authorization.LookupRoleDefinitionArgs{\n\t\t\tRoleDefinitionId: pulumi.StringRef(\"fbdf93bf-df7d-467e-a4d2-9458aa1360c8\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleCluster, err := kusto.NewCluster(ctx, \"example\", \u0026kusto.ClusterArgs{\n\t\t\tName:              pulumi.String(\"examplekc\"),\n\t\t\tLocation:          exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tSku: \u0026kusto.ClusterSkuArgs{\n\t\t\t\tName:     pulumi.String(\"Dev(No SLA)_Standard_D11_v2\"),\n\t\t\t\tCapacity: pulumi.Int(1),\n\t\t\t},\n\t\t\tIdentity: \u0026kusto.ClusterIdentityArgs{\n\t\t\t\tType: pulumi.String(\"SystemAssigned\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = authorization.NewAssignment(ctx, \"example\", \u0026authorization.AssignmentArgs{\n\t\t\tScope:              exampleResourceGroup.ID(),\n\t\t\tRoleDefinitionName: pulumi.String(builtin.Name),\n\t\t\tPrincipalId: pulumi.String(exampleCluster.Identity.ApplyT(func(identity kusto.ClusterIdentity) (*string, error) {\n\t\t\t\treturn \u0026identity.PrincipalId, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := cosmosdb.NewAccount(ctx, \"example\", \u0026cosmosdb.AccountArgs{\n\t\t\tName:              pulumi.String(\"example-ca\"),\n\t\t\tLocation:          exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tOfferType:         pulumi.String(\"Standard\"),\n\t\t\tKind:              pulumi.String(\"GlobalDocumentDB\"),\n\t\t\tConsistencyPolicy: \u0026cosmosdb.AccountConsistencyPolicyArgs{\n\t\t\t\tConsistencyLevel:     pulumi.String(\"Session\"),\n\t\t\t\tMaxIntervalInSeconds: pulumi.Int(5),\n\t\t\t\tMaxStalenessPrefix:   pulumi.Int(100),\n\t\t\t},\n\t\t\tGeoLocations: cosmosdb.AccountGeoLocationArray{\n\t\t\t\t\u0026cosmosdb.AccountGeoLocationArgs{\n\t\t\t\t\tLocation:         exampleResourceGroup.Location,\n\t\t\t\t\tFailoverPriority: pulumi.Int(0),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSqlDatabase, err := cosmosdb.NewSqlDatabase(ctx, \"example\", \u0026cosmosdb.SqlDatabaseArgs{\n\t\t\tName:              pulumi.String(\"examplecosmosdbsqldb\"),\n\t\t\tResourceGroupName: exampleAccount.ResourceGroupName,\n\t\t\tAccountName:       exampleAccount.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSqlContainer, err := cosmosdb.NewSqlContainer(ctx, \"example\", \u0026cosmosdb.SqlContainerArgs{\n\t\t\tName:              pulumi.String(\"examplecosmosdbsqlcon\"),\n\t\t\tResourceGroupName: exampleAccount.ResourceGroupName,\n\t\t\tAccountName:       exampleAccount.Name,\n\t\t\tDatabaseName:      exampleSqlDatabase.Name,\n\t\t\tPartitionKeyPath:  \"/part\",\n\t\t\tThroughput:        pulumi.Int(400),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample := cosmosdb.LookupSqlRoleDefinitionOutput(ctx, cosmosdb.GetSqlRoleDefinitionOutputArgs{\n\t\t\tRoleDefinitionId:  pulumi.String(\"00000000-0000-0000-0000-000000000001\"),\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tAccountName:       exampleAccount.Name,\n\t\t}, nil)\n\t\t_, err = cosmosdb.NewSqlRoleAssignment(ctx, \"example\", \u0026cosmosdb.SqlRoleAssignmentArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tAccountName:       exampleAccount.Name,\n\t\t\tRoleDefinitionId: pulumi.String(example.ApplyT(func(example cosmosdb.GetSqlRoleDefinitionResult) (*string, error) {\n\t\t\t\treturn \u0026example.Id, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tPrincipalId: pulumi.String(exampleCluster.Identity.ApplyT(func(identity kusto.ClusterIdentity) (*string, error) {\n\t\t\t\treturn \u0026identity.PrincipalId, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tScope: exampleAccount.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleDatabase, err := kusto.NewDatabase(ctx, \"example\", \u0026kusto.DatabaseArgs{\n\t\t\tName:              pulumi.String(\"examplekd\"),\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tLocation:          exampleResourceGroup.Location,\n\t\t\tClusterName:       exampleCluster.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = kusto.NewScript(ctx, \"example\", \u0026kusto.ScriptArgs{\n\t\t\tName:       pulumi.String(\"create-table-script\"),\n\t\t\tDatabaseId: exampleDatabase.ID(),\n\t\t\tScriptContent: pulumi.String(`.create table TestTable(Id:string, Name:string, _ts:long, _timestamp:datetime)\n.create table TestTable ingestion json mapping \\\"TestMapping\\\"\n'['\n'    {\\\"column\\\":\\\"Id\\\",\\\"path\\\":\\\"$.id\\\"},'\n'    {\\\"column\\\":\\\"Name\\\",\\\"path\\\":\\\"$.name\\\"},'\n'    {\\\"column\\\":\\\"_ts\\\",\\\"path\\\":\\\"$._ts\\\"},'\n'    {\\\"column\\\":\\\"_timestamp\\\",\\\"path\\\":\\\"$._ts\\\", \\\"transform\\\":\\\"DateTimeFromUnixSeconds\\\"}'\n']'\n.alter table TestTable policy ingestionbatching \\\"{'MaximumBatchingTimeSpan': '0:0:10', 'MaximumNumberOfItems': 10000}\\\"\n`),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = kusto.NewCosmosdbDataConnection(ctx, \"example\", \u0026kusto.CosmosdbDataConnectionArgs{\n\t\t\tName:                pulumi.String(\"examplekcdcd\"),\n\t\t\tLocation:            exampleResourceGroup.Location,\n\t\t\tCosmosdbContainerId: exampleSqlContainer.ID(),\n\t\t\tKustoDatabaseId:     exampleDatabase.ID(),\n\t\t\tManagedIdentityId:   exampleCluster.ID(),\n\t\t\tTableName:           pulumi.String(\"TestTable\"),\n\t\t\tMappingRuleName:     pulumi.String(\"TestMapping\"),\n\t\t\tRetrievalStartDate:  pulumi.String(\"2023-06-26T12:00:00.6554616Z\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.authorization.AuthorizationFunctions;\nimport com.pulumi.azure.authorization.inputs.GetRoleDefinitionArgs;\nimport com.pulumi.azure.kusto.Cluster;\nimport com.pulumi.azure.kusto.ClusterArgs;\nimport com.pulumi.azure.kusto.inputs.ClusterSkuArgs;\nimport com.pulumi.azure.kusto.inputs.ClusterIdentityArgs;\nimport com.pulumi.azure.authorization.Assignment;\nimport com.pulumi.azure.authorization.AssignmentArgs;\nimport com.pulumi.azure.cosmosdb.Account;\nimport com.pulumi.azure.cosmosdb.AccountArgs;\nimport com.pulumi.azure.cosmosdb.inputs.AccountConsistencyPolicyArgs;\nimport com.pulumi.azure.cosmosdb.inputs.AccountGeoLocationArgs;\nimport com.pulumi.azure.cosmosdb.SqlDatabase;\nimport com.pulumi.azure.cosmosdb.SqlDatabaseArgs;\nimport com.pulumi.azure.cosmosdb.SqlContainer;\nimport com.pulumi.azure.cosmosdb.SqlContainerArgs;\nimport com.pulumi.azure.cosmosdb.CosmosdbFunctions;\nimport com.pulumi.azure.cosmosdb.inputs.GetSqlRoleDefinitionArgs;\nimport com.pulumi.azure.cosmosdb.SqlRoleAssignment;\nimport com.pulumi.azure.cosmosdb.SqlRoleAssignmentArgs;\nimport com.pulumi.azure.kusto.Database;\nimport com.pulumi.azure.kusto.DatabaseArgs;\nimport com.pulumi.azure.kusto.Script;\nimport com.pulumi.azure.kusto.ScriptArgs;\nimport com.pulumi.azure.kusto.CosmosdbDataConnection;\nimport com.pulumi.azure.kusto.CosmosdbDataConnectionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var current = CoreFunctions.getClientConfig(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n        var exampleResourceGroup = new ResourceGroup(\"exampleResourceGroup\", ResourceGroupArgs.builder()\n            .name(\"exampleRG\")\n            .location(\"West Europe\")\n            .build());\n\n        final var builtin = AuthorizationFunctions.getRoleDefinition(GetRoleDefinitionArgs.builder()\n            .roleDefinitionId(\"fbdf93bf-df7d-467e-a4d2-9458aa1360c8\")\n            .build());\n\n        var exampleCluster = new Cluster(\"exampleCluster\", ClusterArgs.builder()\n            .name(\"examplekc\")\n            .location(exampleResourceGroup.location())\n            .resourceGroupName(exampleResourceGroup.name())\n            .sku(ClusterSkuArgs.builder()\n                .name(\"Dev(No SLA)_Standard_D11_v2\")\n                .capacity(1)\n                .build())\n            .identity(ClusterIdentityArgs.builder()\n                .type(\"SystemAssigned\")\n                .build())\n            .build());\n\n        var exampleAssignment = new Assignment(\"exampleAssignment\", AssignmentArgs.builder()\n            .scope(exampleResourceGroup.id())\n            .roleDefinitionName(builtin.name())\n            .principalId(exampleCluster.identity().applyValue(_identity -\u003e _identity.principalId()))\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"example-ca\")\n            .location(exampleResourceGroup.location())\n            .resourceGroupName(exampleResourceGroup.name())\n            .offerType(\"Standard\")\n            .kind(\"GlobalDocumentDB\")\n            .consistencyPolicy(AccountConsistencyPolicyArgs.builder()\n                .consistencyLevel(\"Session\")\n                .maxIntervalInSeconds(5)\n                .maxStalenessPrefix(100)\n                .build())\n            .geoLocations(AccountGeoLocationArgs.builder()\n                .location(exampleResourceGroup.location())\n                .failoverPriority(0)\n                .build())\n            .build());\n\n        var exampleSqlDatabase = new SqlDatabase(\"exampleSqlDatabase\", SqlDatabaseArgs.builder()\n            .name(\"examplecosmosdbsqldb\")\n            .resourceGroupName(exampleAccount.resourceGroupName())\n            .accountName(exampleAccount.name())\n            .build());\n\n        var exampleSqlContainer = new SqlContainer(\"exampleSqlContainer\", SqlContainerArgs.builder()\n            .name(\"examplecosmosdbsqlcon\")\n            .resourceGroupName(exampleAccount.resourceGroupName())\n            .accountName(exampleAccount.name())\n            .databaseName(exampleSqlDatabase.name())\n            .partitionKeyPath(\"/part\")\n            .throughput(400)\n            .build());\n\n        final var example = CosmosdbFunctions.getSqlRoleDefinition(GetSqlRoleDefinitionArgs.builder()\n            .roleDefinitionId(\"00000000-0000-0000-0000-000000000001\")\n            .resourceGroupName(exampleResourceGroup.name())\n            .accountName(exampleAccount.name())\n            .build());\n\n        var exampleSqlRoleAssignment = new SqlRoleAssignment(\"exampleSqlRoleAssignment\", SqlRoleAssignmentArgs.builder()\n            .resourceGroupName(exampleResourceGroup.name())\n            .accountName(exampleAccount.name())\n            .roleDefinitionId(example.applyValue(_example -\u003e _example.id()))\n            .principalId(exampleCluster.identity().applyValue(_identity -\u003e _identity.principalId()))\n            .scope(exampleAccount.id())\n            .build());\n\n        var exampleDatabase = new Database(\"exampleDatabase\", DatabaseArgs.builder()\n            .name(\"examplekd\")\n            .resourceGroupName(exampleResourceGroup.name())\n            .location(exampleResourceGroup.location())\n            .clusterName(exampleCluster.name())\n            .build());\n\n        var exampleScript = new Script(\"exampleScript\", ScriptArgs.builder()\n            .name(\"create-table-script\")\n            .databaseId(exampleDatabase.id())\n            .scriptContent(\"\"\"\n.create table TestTable(Id:string, Name:string, _ts:long, _timestamp:datetime)\n.create table TestTable ingestion json mapping \\\"TestMapping\\\"\n'['\n'    {\\\"column\\\":\\\"Id\\\",\\\"path\\\":\\\"$.id\\\"},'\n'    {\\\"column\\\":\\\"Name\\\",\\\"path\\\":\\\"$.name\\\"},'\n'    {\\\"column\\\":\\\"_ts\\\",\\\"path\\\":\\\"$._ts\\\"},'\n'    {\\\"column\\\":\\\"_timestamp\\\",\\\"path\\\":\\\"$._ts\\\", \\\"transform\\\":\\\"DateTimeFromUnixSeconds\\\"}'\n']'\n.alter table TestTable policy ingestionbatching \\\"{'MaximumBatchingTimeSpan': '0:0:10', 'MaximumNumberOfItems': 10000}\\\"\n            \"\"\")\n            .build());\n\n        var exampleCosmosdbDataConnection = new CosmosdbDataConnection(\"exampleCosmosdbDataConnection\", CosmosdbDataConnectionArgs.builder()\n            .name(\"examplekcdcd\")\n            .location(exampleResourceGroup.location())\n            .cosmosdbContainerId(exampleSqlContainer.id())\n            .kustoDatabaseId(exampleDatabase.id())\n            .managedIdentityId(exampleCluster.id())\n            .tableName(\"TestTable\")\n            .mappingRuleName(\"TestMapping\")\n            .retrievalStartDate(\"2023-06-26T12:00:00.6554616Z\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleResourceGroup:\n    type: azure:core:ResourceGroup\n    name: example\n    properties:\n      name: exampleRG\n      location: West Europe\n  exampleAssignment:\n    type: azure:authorization:Assignment\n    name: example\n    properties:\n      scope: ${exampleResourceGroup.id}\n      roleDefinitionName: ${builtin.name}\n      principalId: ${exampleCluster.identity.principalId}\n  exampleAccount:\n    type: azure:cosmosdb:Account\n    name: example\n    properties:\n      name: example-ca\n      location: ${exampleResourceGroup.location}\n      resourceGroupName: ${exampleResourceGroup.name}\n      offerType: Standard\n      kind: GlobalDocumentDB\n      consistencyPolicy:\n        consistencyLevel: Session\n        maxIntervalInSeconds: 5\n        maxStalenessPrefix: 100\n      geoLocations:\n        - location: ${exampleResourceGroup.location}\n          failoverPriority: 0\n  exampleSqlDatabase:\n    type: azure:cosmosdb:SqlDatabase\n    name: example\n    properties:\n      name: examplecosmosdbsqldb\n      resourceGroupName: ${exampleAccount.resourceGroupName}\n      accountName: ${exampleAccount.name}\n  exampleSqlContainer:\n    type: azure:cosmosdb:SqlContainer\n    name: example\n    properties:\n      name: examplecosmosdbsqlcon\n      resourceGroupName: ${exampleAccount.resourceGroupName}\n      accountName: ${exampleAccount.name}\n      databaseName: ${exampleSqlDatabase.name}\n      partitionKeyPath: /part\n      throughput: 400\n  exampleSqlRoleAssignment:\n    type: azure:cosmosdb:SqlRoleAssignment\n    name: example\n    properties:\n      resourceGroupName: ${exampleResourceGroup.name}\n      accountName: ${exampleAccount.name}\n      roleDefinitionId: ${example.id}\n      principalId: ${exampleCluster.identity.principalId}\n      scope: ${exampleAccount.id}\n  exampleCluster:\n    type: azure:kusto:Cluster\n    name: example\n    properties:\n      name: examplekc\n      location: ${exampleResourceGroup.location}\n      resourceGroupName: ${exampleResourceGroup.name}\n      sku:\n        name: Dev(No SLA)_Standard_D11_v2\n        capacity: 1\n      identity:\n        type: SystemAssigned\n  exampleDatabase:\n    type: azure:kusto:Database\n    name: example\n    properties:\n      name: examplekd\n      resourceGroupName: ${exampleResourceGroup.name}\n      location: ${exampleResourceGroup.location}\n      clusterName: ${exampleCluster.name}\n  exampleScript:\n    type: azure:kusto:Script\n    name: example\n    properties:\n      name: create-table-script\n      databaseId: ${exampleDatabase.id}\n      scriptContent: |\n        .create table TestTable(Id:string, Name:string, _ts:long, _timestamp:datetime)\n        .create table TestTable ingestion json mapping \\\"TestMapping\\\"\n        '['\n        '    {\\\"column\\\":\\\"Id\\\",\\\"path\\\":\\\"$.id\\\"},'\n        '    {\\\"column\\\":\\\"Name\\\",\\\"path\\\":\\\"$.name\\\"},'\n        '    {\\\"column\\\":\\\"_ts\\\",\\\"path\\\":\\\"$._ts\\\"},'\n        '    {\\\"column\\\":\\\"_timestamp\\\",\\\"path\\\":\\\"$._ts\\\", \\\"transform\\\":\\\"DateTimeFromUnixSeconds\\\"}'\n        ']'\n        .alter table TestTable policy ingestionbatching \\\"{'MaximumBatchingTimeSpan': '0:0:10', 'MaximumNumberOfItems': 10000}\\\"\n  exampleCosmosdbDataConnection:\n    type: azure:kusto:CosmosdbDataConnection\n    name: example\n    properties:\n      name: examplekcdcd\n      location: ${exampleResourceGroup.location}\n      cosmosdbContainerId: ${exampleSqlContainer.id}\n      kustoDatabaseId: ${exampleDatabase.id}\n      managedIdentityId: ${exampleCluster.id}\n      tableName: TestTable\n      mappingRuleName: TestMapping\n      retrievalStartDate: 2023-06-26T12:00:00.6554616Z\nvariables:\n  current:\n    fn::invoke:\n      function: azure:core:getClientConfig\n      arguments: {}\n  builtin:\n    fn::invoke:\n      function: azure:authorization:getRoleDefinition\n      arguments:\n        roleDefinitionId: fbdf93bf-df7d-467e-a4d2-9458aa1360c8\n  example:\n    fn::invoke:\n      function: azure:cosmosdb:getSqlRoleDefinition\n      arguments:\n        roleDefinitionId: 00000000-0000-0000-0000-000000000001\n        resourceGroupName: ${exampleResourceGroup.name}\n        accountName: ${exampleAccount.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Kusto` - 2024-04-13\n\n## Import\n\nKusto / Cosmos Database Data Connection can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:kusto/cosmosdbDataConnection:CosmosdbDataConnection example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Kusto/clusters/cluster1/databases/database1/dataConnections/dataConnection1\n```\n\n","properties":{"cosmosdbContainerId":{"type":"string","description":"The name of an existing container in the Cosmos DB database. Changing this forces a new Kusto Cosmos DB Connection to be created.\n"},"kustoDatabaseId":{"type":"string","description":"The name of the database in the Kusto cluster. Changing this forces a new Kusto Cosmos DB Connection to be created.\n"},"location":{"type":"string","description":"The Azure Region where the Data Explorer should exist. Changing this forces a new Kusto Cosmos DB Connection to be created.\n"},"managedIdentityId":{"type":"string","description":"The resource ID of a managed system or user-assigned identity. The identity is used to authenticate with Cosmos DB. Changing this forces a new Kusto Cosmos DB Connection to be created.\n"},"mappingRuleName":{"type":"string","description":"The name of an existing mapping rule to use when ingesting the retrieved data. Changing this forces a new Kusto Cosmos DB Connection to be created.\n"},"name":{"type":"string","description":"The name of the data connection. Changing this forces a new Kusto Cosmos DB Connection to be created.\n"},"retrievalStartDate":{"type":"string","description":"If defined, the data connection retrieves Cosmos DB documents created or updated after the specified retrieval start date. Changing this forces a new Kusto Cosmos DB Connection to be created.\n"},"tableName":{"type":"string","description":"The case-sensitive name of the existing target table in your cluster. Retrieved data is ingested into this table. Changing this forces a new Kusto Cosmos DB Connection to be created.\n"}},"required":["cosmosdbContainerId","kustoDatabaseId","location","managedIdentityId","name","tableName"],"inputProperties":{"cosmosdbContainerId":{"type":"string","description":"The name of an existing container in the Cosmos DB database. Changing this forces a new Kusto Cosmos DB Connection to be created.\n","willReplaceOnChanges":true},"kustoDatabaseId":{"type":"string","description":"The name of the database in the Kusto cluster. Changing this forces a new Kusto Cosmos DB Connection to be created.\n","willReplaceOnChanges":true},"location":{"type":"string","description":"The Azure Region where the Data Explorer should exist. Changing this forces a new Kusto Cosmos DB Connection to be created.\n","willReplaceOnChanges":true},"managedIdentityId":{"type":"string","description":"The resource ID of a managed system or user-assigned identity. The identity is used to authenticate with Cosmos DB. Changing this forces a new Kusto Cosmos DB Connection to be created.\n","willReplaceOnChanges":true},"mappingRuleName":{"type":"string","description":"The name of an existing mapping rule to use when ingesting the retrieved data. Changing this forces a new Kusto Cosmos DB Connection to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the data connection. Changing this forces a new Kusto Cosmos DB Connection to be created.\n","willReplaceOnChanges":true},"retrievalStartDate":{"type":"string","description":"If defined, the data connection retrieves Cosmos DB documents created or updated after the specified retrieval start date. Changing this forces a new Kusto Cosmos DB Connection to be created.\n","willReplaceOnChanges":true},"tableName":{"type":"string","description":"The case-sensitive name of the existing target table in your cluster. Retrieved data is ingested into this table. Changing this forces a new Kusto Cosmos DB Connection to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["cosmosdbContainerId","kustoDatabaseId","managedIdentityId","tableName"],"stateInputs":{"description":"Input properties used for looking up and filtering CosmosdbDataConnection resources.\n","properties":{"cosmosdbContainerId":{"type":"string","description":"The name of an existing container in the Cosmos DB database. Changing this forces a new Kusto Cosmos DB Connection to be created.\n","willReplaceOnChanges":true},"kustoDatabaseId":{"type":"string","description":"The name of the database in the Kusto cluster. Changing this forces a new Kusto Cosmos DB Connection to be created.\n","willReplaceOnChanges":true},"location":{"type":"string","description":"The Azure Region where the Data Explorer should exist. Changing this forces a new Kusto Cosmos DB Connection to be created.\n","willReplaceOnChanges":true},"managedIdentityId":{"type":"string","description":"The resource ID of a managed system or user-assigned identity. The identity is used to authenticate with Cosmos DB. Changing this forces a new Kusto Cosmos DB Connection to be created.\n","willReplaceOnChanges":true},"mappingRuleName":{"type":"string","description":"The name of an existing mapping rule to use when ingesting the retrieved data. Changing this forces a new Kusto Cosmos DB Connection to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the data connection. Changing this forces a new Kusto Cosmos DB Connection to be created.\n","willReplaceOnChanges":true},"retrievalStartDate":{"type":"string","description":"If defined, the data connection retrieves Cosmos DB documents created or updated after the specified retrieval start date. Changing this forces a new Kusto Cosmos DB Connection to be created.\n","willReplaceOnChanges":true},"tableName":{"type":"string","description":"The case-sensitive name of the existing target table in your cluster. Retrieved data is ingested into this table. Changing this forces a new Kusto Cosmos DB Connection to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:kusto/database:Database":{"description":"Manages a Kusto (also known as Azure Data Explorer) Database\n\n!\u003e **Note:** To mitigate the possibility of accidental data loss it is highly recommended that you use the \u003cspan pulumi-lang-nodejs=\"`preventDestroy`\" pulumi-lang-dotnet=\"`PreventDestroy`\" pulumi-lang-go=\"`preventDestroy`\" pulumi-lang-python=\"`prevent_destroy`\" pulumi-lang-yaml=\"`preventDestroy`\" pulumi-lang-java=\"`preventDestroy`\"\u003e`prevent_destroy`\u003c/span\u003e lifecycle argument in your configuration file for this resource. For more information on the \u003cspan pulumi-lang-nodejs=\"`preventDestroy`\" pulumi-lang-dotnet=\"`PreventDestroy`\" pulumi-lang-go=\"`preventDestroy`\" pulumi-lang-python=\"`prevent_destroy`\" pulumi-lang-yaml=\"`preventDestroy`\" pulumi-lang-java=\"`preventDestroy`\"\u003e`prevent_destroy`\u003c/span\u003e lifecycle argument please see the terraform documentation.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"my-kusto-rg\",\n    location: \"West Europe\",\n});\nconst cluster = new azure.kusto.Cluster(\"cluster\", {\n    name: \"kustocluster\",\n    location: example.location,\n    resourceGroupName: example.name,\n    sku: {\n        name: \"Standard_D13_v2\",\n        capacity: 2,\n    },\n});\nconst database = new azure.kusto.Database(\"database\", {\n    name: \"my-kusto-database\",\n    resourceGroupName: example.name,\n    location: example.location,\n    clusterName: cluster.name,\n    hotCachePeriod: \"P7D\",\n    softDeletePeriod: \"P31D\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"my-kusto-rg\",\n    location=\"West Europe\")\ncluster = azure.kusto.Cluster(\"cluster\",\n    name=\"kustocluster\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku={\n        \"name\": \"Standard_D13_v2\",\n        \"capacity\": 2,\n    })\ndatabase = azure.kusto.Database(\"database\",\n    name=\"my-kusto-database\",\n    resource_group_name=example.name,\n    location=example.location,\n    cluster_name=cluster.name,\n    hot_cache_period=\"P7D\",\n    soft_delete_period=\"P31D\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"my-kusto-rg\",\n        Location = \"West Europe\",\n    });\n\n    var cluster = new Azure.Kusto.Cluster(\"cluster\", new()\n    {\n        Name = \"kustocluster\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Sku = new Azure.Kusto.Inputs.ClusterSkuArgs\n        {\n            Name = \"Standard_D13_v2\",\n            Capacity = 2,\n        },\n    });\n\n    var database = new Azure.Kusto.Database(\"database\", new()\n    {\n        Name = \"my-kusto-database\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        ClusterName = cluster.Name,\n        HotCachePeriod = \"P7D\",\n        SoftDeletePeriod = \"P31D\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/kusto\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"my-kusto-rg\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcluster, err := kusto.NewCluster(ctx, \"cluster\", \u0026kusto.ClusterArgs{\n\t\t\tName:              pulumi.String(\"kustocluster\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSku: \u0026kusto.ClusterSkuArgs{\n\t\t\t\tName:     pulumi.String(\"Standard_D13_v2\"),\n\t\t\t\tCapacity: pulumi.Int(2),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = kusto.NewDatabase(ctx, \"database\", \u0026kusto.DatabaseArgs{\n\t\t\tName:              pulumi.String(\"my-kusto-database\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tClusterName:       cluster.Name,\n\t\t\tHotCachePeriod:    pulumi.String(\"P7D\"),\n\t\t\tSoftDeletePeriod:  pulumi.String(\"P31D\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.kusto.Cluster;\nimport com.pulumi.azure.kusto.ClusterArgs;\nimport com.pulumi.azure.kusto.inputs.ClusterSkuArgs;\nimport com.pulumi.azure.kusto.Database;\nimport com.pulumi.azure.kusto.DatabaseArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"my-kusto-rg\")\n            .location(\"West Europe\")\n            .build());\n\n        var cluster = new Cluster(\"cluster\", ClusterArgs.builder()\n            .name(\"kustocluster\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .sku(ClusterSkuArgs.builder()\n                .name(\"Standard_D13_v2\")\n                .capacity(2)\n                .build())\n            .build());\n\n        var database = new Database(\"database\", DatabaseArgs.builder()\n            .name(\"my-kusto-database\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .clusterName(cluster.name())\n            .hotCachePeriod(\"P7D\")\n            .softDeletePeriod(\"P31D\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: my-kusto-rg\n      location: West Europe\n  cluster:\n    type: azure:kusto:Cluster\n    properties:\n      name: kustocluster\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      sku:\n        name: Standard_D13_v2\n        capacity: 2\n  database:\n    type: azure:kusto:Database\n    properties:\n      name: my-kusto-database\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      clusterName: ${cluster.name}\n      hotCachePeriod: P7D\n      softDeletePeriod: P31D\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Kusto` - 2024-04-13\n\n## Import\n\nKusto Clusters can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:kusto/database:Database example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Kusto/clusters/cluster1/databases/database1\n```\n\n","properties":{"clusterName":{"type":"string","description":"Specifies the name of the Kusto Cluster this database will be added to. Changing this forces a new resource to be created.\n"},"hotCachePeriod":{"type":"string","description":"The time the data that should be kept in cache for fast queries as ISO 8601 timespan. Default is unlimited. For more information see: [ISO 8601 Timespan](https://en.wikipedia.org/wiki/ISO_8601#Durations)\n"},"location":{"type":"string","description":"The location where the Kusto Database should be created. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"The name of the Kusto Database to create. Changing this forces a new resource to be created.\n"},"resourceGroupName":{"type":"string","description":"Specifies the Resource Group where the Kusto Database should exist. Changing this forces a new resource to be created.\n"},"size":{"type":"number","description":"The size of the database in bytes.\n"},"softDeletePeriod":{"type":"string","description":"The time the data should be kept before it stops being accessible to queries as ISO 8601 timespan. Default is unlimited. For more information see: [ISO 8601 Timespan](https://en.wikipedia.org/wiki/ISO_8601#Durations)\n"}},"required":["clusterName","location","name","resourceGroupName","size"],"inputProperties":{"clusterName":{"type":"string","description":"Specifies the name of the Kusto Cluster this database will be added to. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"hotCachePeriod":{"type":"string","description":"The time the data that should be kept in cache for fast queries as ISO 8601 timespan. Default is unlimited. For more information see: [ISO 8601 Timespan](https://en.wikipedia.org/wiki/ISO_8601#Durations)\n"},"location":{"type":"string","description":"The location where the Kusto Database should be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the Kusto Database to create. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"Specifies the Resource Group where the Kusto Database should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"softDeletePeriod":{"type":"string","description":"The time the data should be kept before it stops being accessible to queries as ISO 8601 timespan. Default is unlimited. For more information see: [ISO 8601 Timespan](https://en.wikipedia.org/wiki/ISO_8601#Durations)\n"}},"requiredInputs":["clusterName","resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering Database resources.\n","properties":{"clusterName":{"type":"string","description":"Specifies the name of the Kusto Cluster this database will be added to. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"hotCachePeriod":{"type":"string","description":"The time the data that should be kept in cache for fast queries as ISO 8601 timespan. Default is unlimited. For more information see: [ISO 8601 Timespan](https://en.wikipedia.org/wiki/ISO_8601#Durations)\n"},"location":{"type":"string","description":"The location where the Kusto Database should be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the Kusto Database to create. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"Specifies the Resource Group where the Kusto Database should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"size":{"type":"number","description":"The size of the database in bytes.\n"},"softDeletePeriod":{"type":"string","description":"The time the data should be kept before it stops being accessible to queries as ISO 8601 timespan. Default is unlimited. For more information see: [ISO 8601 Timespan](https://en.wikipedia.org/wiki/ISO_8601#Durations)\n"}},"type":"object"}},"azure:kusto/databasePrincipalAssignment:DatabasePrincipalAssignment":{"description":"Manages a Kusto (also known as Azure Data Explorer) Database Principal Assignment.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst current = azure.core.getClientConfig({});\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"KustoRG\",\n    location: \"West Europe\",\n});\nconst exampleCluster = new azure.kusto.Cluster(\"example\", {\n    name: \"kustocluster\",\n    location: example.location,\n    resourceGroupName: example.name,\n    sku: {\n        name: \"Standard_D13_v2\",\n        capacity: 2,\n    },\n});\nconst exampleDatabase = new azure.kusto.Database(\"example\", {\n    name: \"KustoDatabase\",\n    resourceGroupName: example.name,\n    location: example.location,\n    clusterName: exampleCluster.name,\n    hotCachePeriod: \"P7D\",\n    softDeletePeriod: \"P31D\",\n});\nconst exampleDatabasePrincipalAssignment = new azure.kusto.DatabasePrincipalAssignment(\"example\", {\n    name: \"KustoPrincipalAssignment\",\n    resourceGroupName: example.name,\n    clusterName: exampleCluster.name,\n    databaseName: exampleDatabase.name,\n    tenantId: current.then(current =\u003e current.tenantId),\n    principalId: current.then(current =\u003e current.clientId),\n    principalType: \"App\",\n    role: \"Viewer\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\ncurrent = azure.core.get_client_config()\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"KustoRG\",\n    location=\"West Europe\")\nexample_cluster = azure.kusto.Cluster(\"example\",\n    name=\"kustocluster\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku={\n        \"name\": \"Standard_D13_v2\",\n        \"capacity\": 2,\n    })\nexample_database = azure.kusto.Database(\"example\",\n    name=\"KustoDatabase\",\n    resource_group_name=example.name,\n    location=example.location,\n    cluster_name=example_cluster.name,\n    hot_cache_period=\"P7D\",\n    soft_delete_period=\"P31D\")\nexample_database_principal_assignment = azure.kusto.DatabasePrincipalAssignment(\"example\",\n    name=\"KustoPrincipalAssignment\",\n    resource_group_name=example.name,\n    cluster_name=example_cluster.name,\n    database_name=example_database.name,\n    tenant_id=current.tenant_id,\n    principal_id=current.client_id,\n    principal_type=\"App\",\n    role=\"Viewer\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var current = Azure.Core.GetClientConfig.Invoke();\n\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"KustoRG\",\n        Location = \"West Europe\",\n    });\n\n    var exampleCluster = new Azure.Kusto.Cluster(\"example\", new()\n    {\n        Name = \"kustocluster\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Sku = new Azure.Kusto.Inputs.ClusterSkuArgs\n        {\n            Name = \"Standard_D13_v2\",\n            Capacity = 2,\n        },\n    });\n\n    var exampleDatabase = new Azure.Kusto.Database(\"example\", new()\n    {\n        Name = \"KustoDatabase\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        ClusterName = exampleCluster.Name,\n        HotCachePeriod = \"P7D\",\n        SoftDeletePeriod = \"P31D\",\n    });\n\n    var exampleDatabasePrincipalAssignment = new Azure.Kusto.DatabasePrincipalAssignment(\"example\", new()\n    {\n        Name = \"KustoPrincipalAssignment\",\n        ResourceGroupName = example.Name,\n        ClusterName = exampleCluster.Name,\n        DatabaseName = exampleDatabase.Name,\n        TenantId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.TenantId),\n        PrincipalId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.ClientId),\n        PrincipalType = \"App\",\n        Role = \"Viewer\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/kusto\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := core.GetClientConfig(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"KustoRG\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleCluster, err := kusto.NewCluster(ctx, \"example\", \u0026kusto.ClusterArgs{\n\t\t\tName:              pulumi.String(\"kustocluster\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSku: \u0026kusto.ClusterSkuArgs{\n\t\t\t\tName:     pulumi.String(\"Standard_D13_v2\"),\n\t\t\t\tCapacity: pulumi.Int(2),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleDatabase, err := kusto.NewDatabase(ctx, \"example\", \u0026kusto.DatabaseArgs{\n\t\t\tName:              pulumi.String(\"KustoDatabase\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tClusterName:       exampleCluster.Name,\n\t\t\tHotCachePeriod:    pulumi.String(\"P7D\"),\n\t\t\tSoftDeletePeriod:  pulumi.String(\"P31D\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = kusto.NewDatabasePrincipalAssignment(ctx, \"example\", \u0026kusto.DatabasePrincipalAssignmentArgs{\n\t\t\tName:              pulumi.String(\"KustoPrincipalAssignment\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tClusterName:       exampleCluster.Name,\n\t\t\tDatabaseName:      exampleDatabase.Name,\n\t\t\tTenantId:          pulumi.String(current.TenantId),\n\t\t\tPrincipalId:       pulumi.String(current.ClientId),\n\t\t\tPrincipalType:     pulumi.String(\"App\"),\n\t\t\tRole:              pulumi.String(\"Viewer\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.kusto.Cluster;\nimport com.pulumi.azure.kusto.ClusterArgs;\nimport com.pulumi.azure.kusto.inputs.ClusterSkuArgs;\nimport com.pulumi.azure.kusto.Database;\nimport com.pulumi.azure.kusto.DatabaseArgs;\nimport com.pulumi.azure.kusto.DatabasePrincipalAssignment;\nimport com.pulumi.azure.kusto.DatabasePrincipalAssignmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var current = CoreFunctions.getClientConfig(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"KustoRG\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleCluster = new Cluster(\"exampleCluster\", ClusterArgs.builder()\n            .name(\"kustocluster\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .sku(ClusterSkuArgs.builder()\n                .name(\"Standard_D13_v2\")\n                .capacity(2)\n                .build())\n            .build());\n\n        var exampleDatabase = new Database(\"exampleDatabase\", DatabaseArgs.builder()\n            .name(\"KustoDatabase\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .clusterName(exampleCluster.name())\n            .hotCachePeriod(\"P7D\")\n            .softDeletePeriod(\"P31D\")\n            .build());\n\n        var exampleDatabasePrincipalAssignment = new DatabasePrincipalAssignment(\"exampleDatabasePrincipalAssignment\", DatabasePrincipalAssignmentArgs.builder()\n            .name(\"KustoPrincipalAssignment\")\n            .resourceGroupName(example.name())\n            .clusterName(exampleCluster.name())\n            .databaseName(exampleDatabase.name())\n            .tenantId(current.tenantId())\n            .principalId(current.clientId())\n            .principalType(\"App\")\n            .role(\"Viewer\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: KustoRG\n      location: West Europe\n  exampleCluster:\n    type: azure:kusto:Cluster\n    name: example\n    properties:\n      name: kustocluster\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      sku:\n        name: Standard_D13_v2\n        capacity: 2\n  exampleDatabase:\n    type: azure:kusto:Database\n    name: example\n    properties:\n      name: KustoDatabase\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      clusterName: ${exampleCluster.name}\n      hotCachePeriod: P7D\n      softDeletePeriod: P31D\n  exampleDatabasePrincipalAssignment:\n    type: azure:kusto:DatabasePrincipalAssignment\n    name: example\n    properties:\n      name: KustoPrincipalAssignment\n      resourceGroupName: ${example.name}\n      clusterName: ${exampleCluster.name}\n      databaseName: ${exampleDatabase.name}\n      tenantId: ${current.tenantId}\n      principalId: ${current.clientId}\n      principalType: App\n      role: Viewer\nvariables:\n  current:\n    fn::invoke:\n      function: azure:core:getClientConfig\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Kusto` - 2024-04-13\n\n## Import\n\nKusto Database Principal Assignment can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:kusto/databasePrincipalAssignment:DatabasePrincipalAssignment example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Kusto/clusters/cluster1/databases/database1/principalAssignments/assignment1\n```\n\n","properties":{"clusterName":{"type":"string","description":"The name of the cluster in which to create the resource. Changing this forces a new resource to be created.\n"},"databaseName":{"type":"string","description":"The name of the database in which to create the resource. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"The name of the kusto principal assignment. Changing this forces a new resource to be created.\n"},"principalId":{"type":"string","description":"The object id of the principal. Changing this forces a new resource to be created.\n"},"principalName":{"type":"string","description":"The name of the principal.\n"},"principalType":{"type":"string","description":"The type of the principal. Valid values include `App`, `Group`, `User`. Changing this forces a new resource to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the resource. Changing this forces a new resource to be created.\n"},"role":{"type":"string","description":"The database role assigned to the principal. Valid values include `Admin`, `Ingestor`, `Monitor`, `UnrestrictedViewer`, `User` and `Viewer`. Changing this forces a new resource to be created.\n"},"tenantId":{"type":"string","description":"The tenant id in which the principal resides. Changing this forces a new resource to be created.\n"},"tenantName":{"type":"string","description":"The name of the tenant.\n"}},"required":["clusterName","databaseName","name","principalId","principalName","principalType","resourceGroupName","role","tenantId","tenantName"],"inputProperties":{"clusterName":{"type":"string","description":"The name of the cluster in which to create the resource. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"databaseName":{"type":"string","description":"The name of the database in which to create the resource. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the kusto principal assignment. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"principalId":{"type":"string","description":"The object id of the principal. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"principalType":{"type":"string","description":"The type of the principal. Valid values include `App`, `Group`, `User`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the resource. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"role":{"type":"string","description":"The database role assigned to the principal. Valid values include `Admin`, `Ingestor`, `Monitor`, `UnrestrictedViewer`, `User` and `Viewer`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tenantId":{"type":"string","description":"The tenant id in which the principal resides. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["clusterName","databaseName","principalId","principalType","resourceGroupName","role","tenantId"],"stateInputs":{"description":"Input properties used for looking up and filtering DatabasePrincipalAssignment resources.\n","properties":{"clusterName":{"type":"string","description":"The name of the cluster in which to create the resource. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"databaseName":{"type":"string","description":"The name of the database in which to create the resource. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the kusto principal assignment. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"principalId":{"type":"string","description":"The object id of the principal. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"principalName":{"type":"string","description":"The name of the principal.\n"},"principalType":{"type":"string","description":"The type of the principal. Valid values include `App`, `Group`, `User`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the resource. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"role":{"type":"string","description":"The database role assigned to the principal. Valid values include `Admin`, `Ingestor`, `Monitor`, `UnrestrictedViewer`, `User` and `Viewer`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tenantId":{"type":"string","description":"The tenant id in which the principal resides. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tenantName":{"type":"string","description":"The name of the tenant.\n"}},"type":"object"}},"azure:kusto/eventGridDataConnection:EventGridDataConnection":{"description":"Manages a Kusto (also known as Azure Data Explorer) Event Grid Data Connection\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleCluster = new azure.kusto.Cluster(\"example\", {\n    name: \"examplekustocluster\",\n    location: example.location,\n    resourceGroupName: example.name,\n    sku: {\n        name: \"Standard_D13_v2\",\n        capacity: 2,\n    },\n});\nconst exampleDatabase = new azure.kusto.Database(\"example\", {\n    name: \"example-kusto-database\",\n    resourceGroupName: example.name,\n    location: example.location,\n    clusterName: exampleCluster.name,\n    hotCachePeriod: \"P7D\",\n    softDeletePeriod: \"P31D\",\n});\nconst exampleAccount = new azure.storage.Account(\"example\", {\n    name: \"storageaccountname\",\n    resourceGroupName: example.name,\n    location: example.location,\n    accountTier: \"Standard\",\n    accountReplicationType: \"GRS\",\n});\nconst exampleEventHubNamespace = new azure.eventhub.EventHubNamespace(\"example\", {\n    name: \"eventhubnamespace-example\",\n    location: example.location,\n    resourceGroupName: example.name,\n    sku: \"Standard\",\n});\nconst exampleEventHub = new azure.eventhub.EventHub(\"example\", {\n    name: \"eventhub-example\",\n    namespaceName: exampleEventHubNamespace.name,\n    resourceGroupName: example.name,\n    partitionCount: 1,\n    messageRetention: 1,\n});\nconst exampleConsumerGroup = new azure.eventhub.ConsumerGroup(\"example\", {\n    name: \"consumergroup-example\",\n    namespaceName: exampleEventHubNamespace.name,\n    eventhubName: exampleEventHub.name,\n    resourceGroupName: example.name,\n});\nconst exampleEventSubscription = new azure.eventgrid.EventSubscription(\"example\", {\n    name: \"eventgrid-example\",\n    scope: exampleAccount.id,\n    eventhubEndpointId: exampleEventHub.id,\n    eventDeliverySchema: \"EventGridSchema\",\n    includedEventTypes: [\n        \"Microsoft.Storage.BlobCreated\",\n        \"Microsoft.Storage.BlobRenamed\",\n    ],\n    retryPolicy: {\n        eventTimeToLive: 144,\n        maxDeliveryAttempts: 10,\n    },\n});\nconst exampleEventGridDataConnection = new azure.kusto.EventGridDataConnection(\"example\", {\n    name: \"my-kusto-eventgrid-data-connection\",\n    resourceGroupName: example.name,\n    location: example.location,\n    clusterName: exampleCluster.name,\n    databaseName: exampleDatabase.name,\n    storageAccountId: exampleAccount.id,\n    eventhubId: exampleEventHub.id,\n    eventhubConsumerGroupName: exampleConsumerGroup.name,\n    tableName: \"my-table\",\n    mappingRuleName: \"my-table-mapping\",\n    dataFormat: \"JSON\",\n}, {\n    dependsOn: [exampleEventSubscription],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_cluster = azure.kusto.Cluster(\"example\",\n    name=\"examplekustocluster\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku={\n        \"name\": \"Standard_D13_v2\",\n        \"capacity\": 2,\n    })\nexample_database = azure.kusto.Database(\"example\",\n    name=\"example-kusto-database\",\n    resource_group_name=example.name,\n    location=example.location,\n    cluster_name=example_cluster.name,\n    hot_cache_period=\"P7D\",\n    soft_delete_period=\"P31D\")\nexample_account = azure.storage.Account(\"example\",\n    name=\"storageaccountname\",\n    resource_group_name=example.name,\n    location=example.location,\n    account_tier=\"Standard\",\n    account_replication_type=\"GRS\")\nexample_event_hub_namespace = azure.eventhub.EventHubNamespace(\"example\",\n    name=\"eventhubnamespace-example\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku=\"Standard\")\nexample_event_hub = azure.eventhub.EventHub(\"example\",\n    name=\"eventhub-example\",\n    namespace_name=example_event_hub_namespace.name,\n    resource_group_name=example.name,\n    partition_count=1,\n    message_retention=1)\nexample_consumer_group = azure.eventhub.ConsumerGroup(\"example\",\n    name=\"consumergroup-example\",\n    namespace_name=example_event_hub_namespace.name,\n    eventhub_name=example_event_hub.name,\n    resource_group_name=example.name)\nexample_event_subscription = azure.eventgrid.EventSubscription(\"example\",\n    name=\"eventgrid-example\",\n    scope=example_account.id,\n    eventhub_endpoint_id=example_event_hub.id,\n    event_delivery_schema=\"EventGridSchema\",\n    included_event_types=[\n        \"Microsoft.Storage.BlobCreated\",\n        \"Microsoft.Storage.BlobRenamed\",\n    ],\n    retry_policy={\n        \"event_time_to_live\": 144,\n        \"max_delivery_attempts\": 10,\n    })\nexample_event_grid_data_connection = azure.kusto.EventGridDataConnection(\"example\",\n    name=\"my-kusto-eventgrid-data-connection\",\n    resource_group_name=example.name,\n    location=example.location,\n    cluster_name=example_cluster.name,\n    database_name=example_database.name,\n    storage_account_id=example_account.id,\n    eventhub_id=example_event_hub.id,\n    eventhub_consumer_group_name=example_consumer_group.name,\n    table_name=\"my-table\",\n    mapping_rule_name=\"my-table-mapping\",\n    data_format=\"JSON\",\n    opts = pulumi.ResourceOptions(depends_on=[example_event_subscription]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleCluster = new Azure.Kusto.Cluster(\"example\", new()\n    {\n        Name = \"examplekustocluster\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Sku = new Azure.Kusto.Inputs.ClusterSkuArgs\n        {\n            Name = \"Standard_D13_v2\",\n            Capacity = 2,\n        },\n    });\n\n    var exampleDatabase = new Azure.Kusto.Database(\"example\", new()\n    {\n        Name = \"example-kusto-database\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        ClusterName = exampleCluster.Name,\n        HotCachePeriod = \"P7D\",\n        SoftDeletePeriod = \"P31D\",\n    });\n\n    var exampleAccount = new Azure.Storage.Account(\"example\", new()\n    {\n        Name = \"storageaccountname\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        AccountTier = \"Standard\",\n        AccountReplicationType = \"GRS\",\n    });\n\n    var exampleEventHubNamespace = new Azure.EventHub.EventHubNamespace(\"example\", new()\n    {\n        Name = \"eventhubnamespace-example\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Sku = \"Standard\",\n    });\n\n    var exampleEventHub = new Azure.EventHub.EventHub(\"example\", new()\n    {\n        Name = \"eventhub-example\",\n        NamespaceName = exampleEventHubNamespace.Name,\n        ResourceGroupName = example.Name,\n        PartitionCount = 1,\n        MessageRetention = 1,\n    });\n\n    var exampleConsumerGroup = new Azure.EventHub.ConsumerGroup(\"example\", new()\n    {\n        Name = \"consumergroup-example\",\n        NamespaceName = exampleEventHubNamespace.Name,\n        EventhubName = exampleEventHub.Name,\n        ResourceGroupName = example.Name,\n    });\n\n    var exampleEventSubscription = new Azure.EventGrid.EventSubscription(\"example\", new()\n    {\n        Name = \"eventgrid-example\",\n        Scope = exampleAccount.Id,\n        EventhubEndpointId = exampleEventHub.Id,\n        EventDeliverySchema = \"EventGridSchema\",\n        IncludedEventTypes = new[]\n        {\n            \"Microsoft.Storage.BlobCreated\",\n            \"Microsoft.Storage.BlobRenamed\",\n        },\n        RetryPolicy = new Azure.EventGrid.Inputs.EventSubscriptionRetryPolicyArgs\n        {\n            EventTimeToLive = 144,\n            MaxDeliveryAttempts = 10,\n        },\n    });\n\n    var exampleEventGridDataConnection = new Azure.Kusto.EventGridDataConnection(\"example\", new()\n    {\n        Name = \"my-kusto-eventgrid-data-connection\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        ClusterName = exampleCluster.Name,\n        DatabaseName = exampleDatabase.Name,\n        StorageAccountId = exampleAccount.Id,\n        EventhubId = exampleEventHub.Id,\n        EventhubConsumerGroupName = exampleConsumerGroup.Name,\n        TableName = \"my-table\",\n        MappingRuleName = \"my-table-mapping\",\n        DataFormat = \"JSON\",\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            exampleEventSubscription,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/eventgrid\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/eventhub\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/kusto\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleCluster, err := kusto.NewCluster(ctx, \"example\", \u0026kusto.ClusterArgs{\n\t\t\tName:              pulumi.String(\"examplekustocluster\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSku: \u0026kusto.ClusterSkuArgs{\n\t\t\t\tName:     pulumi.String(\"Standard_D13_v2\"),\n\t\t\t\tCapacity: pulumi.Int(2),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleDatabase, err := kusto.NewDatabase(ctx, \"example\", \u0026kusto.DatabaseArgs{\n\t\t\tName:              pulumi.String(\"example-kusto-database\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tClusterName:       exampleCluster.Name,\n\t\t\tHotCachePeriod:    pulumi.String(\"P7D\"),\n\t\t\tSoftDeletePeriod:  pulumi.String(\"P31D\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := storage.NewAccount(ctx, \"example\", \u0026storage.AccountArgs{\n\t\t\tName:                   pulumi.String(\"storageaccountname\"),\n\t\t\tResourceGroupName:      example.Name,\n\t\t\tLocation:               example.Location,\n\t\t\tAccountTier:            pulumi.String(\"Standard\"),\n\t\t\tAccountReplicationType: pulumi.String(\"GRS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleEventHubNamespace, err := eventhub.NewEventHubNamespace(ctx, \"example\", \u0026eventhub.EventHubNamespaceArgs{\n\t\t\tName:              pulumi.String(\"eventhubnamespace-example\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSku:               pulumi.String(\"Standard\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleEventHub, err := eventhub.NewEventHub(ctx, \"example\", \u0026eventhub.EventHubArgs{\n\t\t\tName:              pulumi.String(\"eventhub-example\"),\n\t\t\tNamespaceName:     exampleEventHubNamespace.Name,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tPartitionCount:    pulumi.Int(1),\n\t\t\tMessageRetention:  pulumi.Int(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleConsumerGroup, err := eventhub.NewConsumerGroup(ctx, \"example\", \u0026eventhub.ConsumerGroupArgs{\n\t\t\tName:              pulumi.String(\"consumergroup-example\"),\n\t\t\tNamespaceName:     exampleEventHubNamespace.Name,\n\t\t\tEventhubName:      exampleEventHub.Name,\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleEventSubscription, err := eventgrid.NewEventSubscription(ctx, \"example\", \u0026eventgrid.EventSubscriptionArgs{\n\t\t\tName:                pulumi.String(\"eventgrid-example\"),\n\t\t\tScope:               exampleAccount.ID(),\n\t\t\tEventhubEndpointId:  exampleEventHub.ID(),\n\t\t\tEventDeliverySchema: pulumi.String(\"EventGridSchema\"),\n\t\t\tIncludedEventTypes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"Microsoft.Storage.BlobCreated\"),\n\t\t\t\tpulumi.String(\"Microsoft.Storage.BlobRenamed\"),\n\t\t\t},\n\t\t\tRetryPolicy: \u0026eventgrid.EventSubscriptionRetryPolicyArgs{\n\t\t\t\tEventTimeToLive:     pulumi.Int(144),\n\t\t\t\tMaxDeliveryAttempts: pulumi.Int(10),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = kusto.NewEventGridDataConnection(ctx, \"example\", \u0026kusto.EventGridDataConnectionArgs{\n\t\t\tName:                      pulumi.String(\"my-kusto-eventgrid-data-connection\"),\n\t\t\tResourceGroupName:         example.Name,\n\t\t\tLocation:                  example.Location,\n\t\t\tClusterName:               exampleCluster.Name,\n\t\t\tDatabaseName:              exampleDatabase.Name,\n\t\t\tStorageAccountId:          exampleAccount.ID(),\n\t\t\tEventhubId:                exampleEventHub.ID(),\n\t\t\tEventhubConsumerGroupName: exampleConsumerGroup.Name,\n\t\t\tTableName:                 pulumi.String(\"my-table\"),\n\t\t\tMappingRuleName:           pulumi.String(\"my-table-mapping\"),\n\t\t\tDataFormat:                pulumi.String(\"JSON\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleEventSubscription,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.kusto.Cluster;\nimport com.pulumi.azure.kusto.ClusterArgs;\nimport com.pulumi.azure.kusto.inputs.ClusterSkuArgs;\nimport com.pulumi.azure.kusto.Database;\nimport com.pulumi.azure.kusto.DatabaseArgs;\nimport com.pulumi.azure.storage.Account;\nimport com.pulumi.azure.storage.AccountArgs;\nimport com.pulumi.azure.eventhub.EventHubNamespace;\nimport com.pulumi.azure.eventhub.EventHubNamespaceArgs;\nimport com.pulumi.azure.eventhub.EventHub;\nimport com.pulumi.azure.eventhub.EventHubArgs;\nimport com.pulumi.azure.eventhub.ConsumerGroup;\nimport com.pulumi.azure.eventhub.ConsumerGroupArgs;\nimport com.pulumi.azure.eventgrid.EventSubscription;\nimport com.pulumi.azure.eventgrid.EventSubscriptionArgs;\nimport com.pulumi.azure.eventgrid.inputs.EventSubscriptionRetryPolicyArgs;\nimport com.pulumi.azure.kusto.EventGridDataConnection;\nimport com.pulumi.azure.kusto.EventGridDataConnectionArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleCluster = new Cluster(\"exampleCluster\", ClusterArgs.builder()\n            .name(\"examplekustocluster\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .sku(ClusterSkuArgs.builder()\n                .name(\"Standard_D13_v2\")\n                .capacity(2)\n                .build())\n            .build());\n\n        var exampleDatabase = new Database(\"exampleDatabase\", DatabaseArgs.builder()\n            .name(\"example-kusto-database\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .clusterName(exampleCluster.name())\n            .hotCachePeriod(\"P7D\")\n            .softDeletePeriod(\"P31D\")\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"storageaccountname\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .accountTier(\"Standard\")\n            .accountReplicationType(\"GRS\")\n            .build());\n\n        var exampleEventHubNamespace = new EventHubNamespace(\"exampleEventHubNamespace\", EventHubNamespaceArgs.builder()\n            .name(\"eventhubnamespace-example\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .sku(\"Standard\")\n            .build());\n\n        var exampleEventHub = new EventHub(\"exampleEventHub\", EventHubArgs.builder()\n            .name(\"eventhub-example\")\n            .namespaceName(exampleEventHubNamespace.name())\n            .resourceGroupName(example.name())\n            .partitionCount(1)\n            .messageRetention(1)\n            .build());\n\n        var exampleConsumerGroup = new ConsumerGroup(\"exampleConsumerGroup\", ConsumerGroupArgs.builder()\n            .name(\"consumergroup-example\")\n            .namespaceName(exampleEventHubNamespace.name())\n            .eventhubName(exampleEventHub.name())\n            .resourceGroupName(example.name())\n            .build());\n\n        var exampleEventSubscription = new EventSubscription(\"exampleEventSubscription\", EventSubscriptionArgs.builder()\n            .name(\"eventgrid-example\")\n            .scope(exampleAccount.id())\n            .eventhubEndpointId(exampleEventHub.id())\n            .eventDeliverySchema(\"EventGridSchema\")\n            .includedEventTypes(            \n                \"Microsoft.Storage.BlobCreated\",\n                \"Microsoft.Storage.BlobRenamed\")\n            .retryPolicy(EventSubscriptionRetryPolicyArgs.builder()\n                .eventTimeToLive(144)\n                .maxDeliveryAttempts(10)\n                .build())\n            .build());\n\n        var exampleEventGridDataConnection = new EventGridDataConnection(\"exampleEventGridDataConnection\", EventGridDataConnectionArgs.builder()\n            .name(\"my-kusto-eventgrid-data-connection\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .clusterName(exampleCluster.name())\n            .databaseName(exampleDatabase.name())\n            .storageAccountId(exampleAccount.id())\n            .eventhubId(exampleEventHub.id())\n            .eventhubConsumerGroupName(exampleConsumerGroup.name())\n            .tableName(\"my-table\")\n            .mappingRuleName(\"my-table-mapping\")\n            .dataFormat(\"JSON\")\n            .build(), CustomResourceOptions.builder()\n                .dependsOn(exampleEventSubscription)\n                .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleCluster:\n    type: azure:kusto:Cluster\n    name: example\n    properties:\n      name: examplekustocluster\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      sku:\n        name: Standard_D13_v2\n        capacity: 2\n  exampleDatabase:\n    type: azure:kusto:Database\n    name: example\n    properties:\n      name: example-kusto-database\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      clusterName: ${exampleCluster.name}\n      hotCachePeriod: P7D\n      softDeletePeriod: P31D\n  exampleAccount:\n    type: azure:storage:Account\n    name: example\n    properties:\n      name: storageaccountname\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      accountTier: Standard\n      accountReplicationType: GRS\n  exampleEventHubNamespace:\n    type: azure:eventhub:EventHubNamespace\n    name: example\n    properties:\n      name: eventhubnamespace-example\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      sku: Standard\n  exampleEventHub:\n    type: azure:eventhub:EventHub\n    name: example\n    properties:\n      name: eventhub-example\n      namespaceName: ${exampleEventHubNamespace.name}\n      resourceGroupName: ${example.name}\n      partitionCount: 1\n      messageRetention: 1\n  exampleConsumerGroup:\n    type: azure:eventhub:ConsumerGroup\n    name: example\n    properties:\n      name: consumergroup-example\n      namespaceName: ${exampleEventHubNamespace.name}\n      eventhubName: ${exampleEventHub.name}\n      resourceGroupName: ${example.name}\n  exampleEventSubscription:\n    type: azure:eventgrid:EventSubscription\n    name: example\n    properties:\n      name: eventgrid-example\n      scope: ${exampleAccount.id}\n      eventhubEndpointId: ${exampleEventHub.id}\n      eventDeliverySchema: EventGridSchema\n      includedEventTypes:\n        - Microsoft.Storage.BlobCreated\n        - Microsoft.Storage.BlobRenamed\n      retryPolicy:\n        eventTimeToLive: 144\n        maxDeliveryAttempts: 10\n  exampleEventGridDataConnection:\n    type: azure:kusto:EventGridDataConnection\n    name: example\n    properties:\n      name: my-kusto-eventgrid-data-connection\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      clusterName: ${exampleCluster.name}\n      databaseName: ${exampleDatabase.name}\n      storageAccountId: ${exampleAccount.id}\n      eventhubId: ${exampleEventHub.id}\n      eventhubConsumerGroupName: ${exampleConsumerGroup.name}\n      tableName: my-table\n      mappingRuleName: my-table-mapping\n      dataFormat: JSON\n    options:\n      dependsOn:\n        - ${exampleEventSubscription}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Kusto` - 2024-04-13\n\n## Import\n\nKusto Event Grid Data Connections can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:kusto/eventGridDataConnection:EventGridDataConnection example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Kusto/clusters/cluster1/databases/database1/dataConnections/dataConnection1\n```\n\n","properties":{"blobStorageEventType":{"type":"string","description":"Specifies the blob storage event type that needs to be processed. Possible Values are `Microsoft.Storage.BlobCreated` and `Microsoft.Storage.BlobRenamed`. Defaults to `Microsoft.Storage.BlobCreated`.\n"},"clusterName":{"type":"string","description":"Specifies the name of the Kusto Cluster this data connection will be added to. Changing this forces a new resource to be created.\n"},"dataFormat":{"type":"string","description":"Specifies the data format of the EventHub messages. Allowed values: `APACHEAVRO`, `AVRO`, `CSV`, `JSON`, `MULTIJSON`, `ORC`, `PARQUET`, `PSV`, `RAW`, `SCSV`, `SINGLEJSON`, `SOHSV`, `TSV`, `TSVE`, `TXT` and `W3CLOGFILE`.\n"},"databaseName":{"type":"string","description":"Specifies the name of the Kusto Database this data connection will be added to. Changing this forces a new resource to be created.\n"},"databaseRoutingType":{"type":"string","description":"Indication for database routing information from the data connection, by default only database routing information is allowed. Allowed values: `Single`, `Multi`. Changing this forces a new resource to be created. Defaults to `Single`.\n"},"eventgridEventSubscriptionId":{"type":"string","description":"The resource ID of the event grid that is subscribed to the storage account events.\n"},"eventgridResourceId":{"type":"string","deprecationMessage":"\u003cspan pulumi-lang-nodejs=\"`eventgridResourceId`\" pulumi-lang-dotnet=\"`EventgridResourceId`\" pulumi-lang-go=\"`eventgridResourceId`\" pulumi-lang-python=\"`eventgrid_resource_id`\" pulumi-lang-yaml=\"`eventgridResourceId`\" pulumi-lang-java=\"`eventgridResourceId`\"\u003e`eventgrid_resource_id`\u003c/span\u003e has been deprecated in favour of the \u003cspan pulumi-lang-nodejs=\"`eventgridEventSubscriptionId`\" pulumi-lang-dotnet=\"`EventgridEventSubscriptionId`\" pulumi-lang-go=\"`eventgridEventSubscriptionId`\" pulumi-lang-python=\"`eventgrid_event_subscription_id`\" pulumi-lang-yaml=\"`eventgridEventSubscriptionId`\" pulumi-lang-java=\"`eventgridEventSubscriptionId`\"\u003e`eventgrid_event_subscription_id`\u003c/span\u003e property and will be removed in v5.0 of the AzureRM Provider."},"eventhubConsumerGroupName":{"type":"string","description":"Specifies the Event Hub consumer group this data connection will use for ingestion. Changing this forces a new resource to be created.\n"},"eventhubId":{"type":"string","description":"Specifies the resource id of the Event Hub this data connection will use for ingestion. Changing this forces a new resource to be created.\n"},"location":{"type":"string","description":"The location where the Kusto Database should be created. Changing this forces a new resource to be created.\n"},"managedIdentityId":{"type":"string","description":"Empty for non-managed identity based data connection. For system assigned identity, provide cluster resource Id. For user assigned identity (UAI) provide the UAI resource Id.\n"},"managedIdentityResourceId":{"type":"string","deprecationMessage":"\u003cspan pulumi-lang-nodejs=\"`managedIdentityResourceId`\" pulumi-lang-dotnet=\"`ManagedIdentityResourceId`\" pulumi-lang-go=\"`managedIdentityResourceId`\" pulumi-lang-python=\"`managed_identity_resource_id`\" pulumi-lang-yaml=\"`managedIdentityResourceId`\" pulumi-lang-java=\"`managedIdentityResourceId`\"\u003e`managed_identity_resource_id`\u003c/span\u003e has been deprecated in favour of the \u003cspan pulumi-lang-nodejs=\"`managedIdentityId`\" pulumi-lang-dotnet=\"`ManagedIdentityId`\" pulumi-lang-go=\"`managedIdentityId`\" pulumi-lang-python=\"`managed_identity_id`\" pulumi-lang-yaml=\"`managedIdentityId`\" pulumi-lang-java=\"`managedIdentityId`\"\u003e`managed_identity_id`\u003c/span\u003e property and will be removed in v5.0 of the AzureRM Provider."},"mappingRuleName":{"type":"string","description":"Specifies the mapping rule used for the message ingestion. Mapping rule must exist before resource is created.\n"},"name":{"type":"string","description":"The name of the Kusto Event Grid Data Connection to create. Changing this forces a new resource to be created.\n"},"resourceGroupName":{"type":"string","description":"Specifies the Resource Group where the Kusto Database should exist. Changing this forces a new resource to be created.\n"},"skipFirstRecord":{"type":"boolean","description":"is the first record of every file ignored? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"storageAccountId":{"type":"string","description":"Specifies the resource id of the Storage Account this data connection will use for ingestion. Changing this forces a new resource to be created.\n"},"tableName":{"type":"string","description":"Specifies the target table name used for the message ingestion. Table must exist before resource is created.\n"}},"required":["clusterName","databaseName","eventgridEventSubscriptionId","eventgridResourceId","eventhubConsumerGroupName","eventhubId","location","managedIdentityId","managedIdentityResourceId","name","resourceGroupName","storageAccountId"],"inputProperties":{"blobStorageEventType":{"type":"string","description":"Specifies the blob storage event type that needs to be processed. Possible Values are `Microsoft.Storage.BlobCreated` and `Microsoft.Storage.BlobRenamed`. Defaults to `Microsoft.Storage.BlobCreated`.\n"},"clusterName":{"type":"string","description":"Specifies the name of the Kusto Cluster this data connection will be added to. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"dataFormat":{"type":"string","description":"Specifies the data format of the EventHub messages. Allowed values: `APACHEAVRO`, `AVRO`, `CSV`, `JSON`, `MULTIJSON`, `ORC`, `PARQUET`, `PSV`, `RAW`, `SCSV`, `SINGLEJSON`, `SOHSV`, `TSV`, `TSVE`, `TXT` and `W3CLOGFILE`.\n"},"databaseName":{"type":"string","description":"Specifies the name of the Kusto Database this data connection will be added to. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"databaseRoutingType":{"type":"string","description":"Indication for database routing information from the data connection, by default only database routing information is allowed. Allowed values: `Single`, `Multi`. Changing this forces a new resource to be created. Defaults to `Single`.\n","willReplaceOnChanges":true},"eventgridEventSubscriptionId":{"type":"string","description":"The resource ID of the event grid that is subscribed to the storage account events.\n"},"eventgridResourceId":{"type":"string","deprecationMessage":"\u003cspan pulumi-lang-nodejs=\"`eventgridResourceId`\" pulumi-lang-dotnet=\"`EventgridResourceId`\" pulumi-lang-go=\"`eventgridResourceId`\" pulumi-lang-python=\"`eventgrid_resource_id`\" pulumi-lang-yaml=\"`eventgridResourceId`\" pulumi-lang-java=\"`eventgridResourceId`\"\u003e`eventgrid_resource_id`\u003c/span\u003e has been deprecated in favour of the \u003cspan pulumi-lang-nodejs=\"`eventgridEventSubscriptionId`\" pulumi-lang-dotnet=\"`EventgridEventSubscriptionId`\" pulumi-lang-go=\"`eventgridEventSubscriptionId`\" pulumi-lang-python=\"`eventgrid_event_subscription_id`\" pulumi-lang-yaml=\"`eventgridEventSubscriptionId`\" pulumi-lang-java=\"`eventgridEventSubscriptionId`\"\u003e`eventgrid_event_subscription_id`\u003c/span\u003e property and will be removed in v5.0 of the AzureRM Provider."},"eventhubConsumerGroupName":{"type":"string","description":"Specifies the Event Hub consumer group this data connection will use for ingestion. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"eventhubId":{"type":"string","description":"Specifies the resource id of the Event Hub this data connection will use for ingestion. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"location":{"type":"string","description":"The location where the Kusto Database should be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"managedIdentityId":{"type":"string","description":"Empty for non-managed identity based data connection. For system assigned identity, provide cluster resource Id. For user assigned identity (UAI) provide the UAI resource Id.\n"},"managedIdentityResourceId":{"type":"string","deprecationMessage":"\u003cspan pulumi-lang-nodejs=\"`managedIdentityResourceId`\" pulumi-lang-dotnet=\"`ManagedIdentityResourceId`\" pulumi-lang-go=\"`managedIdentityResourceId`\" pulumi-lang-python=\"`managed_identity_resource_id`\" pulumi-lang-yaml=\"`managedIdentityResourceId`\" pulumi-lang-java=\"`managedIdentityResourceId`\"\u003e`managed_identity_resource_id`\u003c/span\u003e has been deprecated in favour of the \u003cspan pulumi-lang-nodejs=\"`managedIdentityId`\" pulumi-lang-dotnet=\"`ManagedIdentityId`\" pulumi-lang-go=\"`managedIdentityId`\" pulumi-lang-python=\"`managed_identity_id`\" pulumi-lang-yaml=\"`managedIdentityId`\" pulumi-lang-java=\"`managedIdentityId`\"\u003e`managed_identity_id`\u003c/span\u003e property and will be removed in v5.0 of the AzureRM Provider."},"mappingRuleName":{"type":"string","description":"Specifies the mapping rule used for the message ingestion. Mapping rule must exist before resource is created.\n"},"name":{"type":"string","description":"The name of the Kusto Event Grid Data Connection to create. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"Specifies the Resource Group where the Kusto Database should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"skipFirstRecord":{"type":"boolean","description":"is the first record of every file ignored? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"storageAccountId":{"type":"string","description":"Specifies the resource id of the Storage Account this data connection will use for ingestion. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tableName":{"type":"string","description":"Specifies the target table name used for the message ingestion. Table must exist before resource is created.\n"}},"requiredInputs":["clusterName","databaseName","eventhubConsumerGroupName","eventhubId","resourceGroupName","storageAccountId"],"stateInputs":{"description":"Input properties used for looking up and filtering EventGridDataConnection resources.\n","properties":{"blobStorageEventType":{"type":"string","description":"Specifies the blob storage event type that needs to be processed. Possible Values are `Microsoft.Storage.BlobCreated` and `Microsoft.Storage.BlobRenamed`. Defaults to `Microsoft.Storage.BlobCreated`.\n"},"clusterName":{"type":"string","description":"Specifies the name of the Kusto Cluster this data connection will be added to. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"dataFormat":{"type":"string","description":"Specifies the data format of the EventHub messages. Allowed values: `APACHEAVRO`, `AVRO`, `CSV`, `JSON`, `MULTIJSON`, `ORC`, `PARQUET`, `PSV`, `RAW`, `SCSV`, `SINGLEJSON`, `SOHSV`, `TSV`, `TSVE`, `TXT` and `W3CLOGFILE`.\n"},"databaseName":{"type":"string","description":"Specifies the name of the Kusto Database this data connection will be added to. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"databaseRoutingType":{"type":"string","description":"Indication for database routing information from the data connection, by default only database routing information is allowed. Allowed values: `Single`, `Multi`. Changing this forces a new resource to be created. Defaults to `Single`.\n","willReplaceOnChanges":true},"eventgridEventSubscriptionId":{"type":"string","description":"The resource ID of the event grid that is subscribed to the storage account events.\n"},"eventgridResourceId":{"type":"string","deprecationMessage":"\u003cspan pulumi-lang-nodejs=\"`eventgridResourceId`\" pulumi-lang-dotnet=\"`EventgridResourceId`\" pulumi-lang-go=\"`eventgridResourceId`\" pulumi-lang-python=\"`eventgrid_resource_id`\" pulumi-lang-yaml=\"`eventgridResourceId`\" pulumi-lang-java=\"`eventgridResourceId`\"\u003e`eventgrid_resource_id`\u003c/span\u003e has been deprecated in favour of the \u003cspan pulumi-lang-nodejs=\"`eventgridEventSubscriptionId`\" pulumi-lang-dotnet=\"`EventgridEventSubscriptionId`\" pulumi-lang-go=\"`eventgridEventSubscriptionId`\" pulumi-lang-python=\"`eventgrid_event_subscription_id`\" pulumi-lang-yaml=\"`eventgridEventSubscriptionId`\" pulumi-lang-java=\"`eventgridEventSubscriptionId`\"\u003e`eventgrid_event_subscription_id`\u003c/span\u003e property and will be removed in v5.0 of the AzureRM Provider."},"eventhubConsumerGroupName":{"type":"string","description":"Specifies the Event Hub consumer group this data connection will use for ingestion. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"eventhubId":{"type":"string","description":"Specifies the resource id of the Event Hub this data connection will use for ingestion. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"location":{"type":"string","description":"The location where the Kusto Database should be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"managedIdentityId":{"type":"string","description":"Empty for non-managed identity based data connection. For system assigned identity, provide cluster resource Id. For user assigned identity (UAI) provide the UAI resource Id.\n"},"managedIdentityResourceId":{"type":"string","deprecationMessage":"\u003cspan pulumi-lang-nodejs=\"`managedIdentityResourceId`\" pulumi-lang-dotnet=\"`ManagedIdentityResourceId`\" pulumi-lang-go=\"`managedIdentityResourceId`\" pulumi-lang-python=\"`managed_identity_resource_id`\" pulumi-lang-yaml=\"`managedIdentityResourceId`\" pulumi-lang-java=\"`managedIdentityResourceId`\"\u003e`managed_identity_resource_id`\u003c/span\u003e has been deprecated in favour of the \u003cspan pulumi-lang-nodejs=\"`managedIdentityId`\" pulumi-lang-dotnet=\"`ManagedIdentityId`\" pulumi-lang-go=\"`managedIdentityId`\" pulumi-lang-python=\"`managed_identity_id`\" pulumi-lang-yaml=\"`managedIdentityId`\" pulumi-lang-java=\"`managedIdentityId`\"\u003e`managed_identity_id`\u003c/span\u003e property and will be removed in v5.0 of the AzureRM Provider."},"mappingRuleName":{"type":"string","description":"Specifies the mapping rule used for the message ingestion. Mapping rule must exist before resource is created.\n"},"name":{"type":"string","description":"The name of the Kusto Event Grid Data Connection to create. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"Specifies the Resource Group where the Kusto Database should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"skipFirstRecord":{"type":"boolean","description":"is the first record of every file ignored? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"storageAccountId":{"type":"string","description":"Specifies the resource id of the Storage Account this data connection will use for ingestion. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tableName":{"type":"string","description":"Specifies the target table name used for the message ingestion. Table must exist before resource is created.\n"}},"type":"object"}},"azure:kusto/eventhubDataConnection:EventhubDataConnection":{"description":"Manages a Kusto (also known as Azure Data Explorer) EventHub Data Connection\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"my-kusto-rg\",\n    location: \"West Europe\",\n});\nconst cluster = new azure.kusto.Cluster(\"cluster\", {\n    name: \"kustocluster\",\n    location: example.location,\n    resourceGroupName: example.name,\n    sku: {\n        name: \"Standard_D13_v2\",\n        capacity: 2,\n    },\n});\nconst database = new azure.kusto.Database(\"database\", {\n    name: \"my-kusto-database\",\n    resourceGroupName: example.name,\n    location: example.location,\n    clusterName: cluster.name,\n    hotCachePeriod: \"P7D\",\n    softDeletePeriod: \"P31D\",\n});\nconst eventhubNs = new azure.eventhub.EventHubNamespace(\"eventhub_ns\", {\n    name: \"my-eventhub-ns\",\n    location: example.location,\n    resourceGroupName: example.name,\n    sku: \"Standard\",\n});\nconst eventhub = new azure.eventhub.EventHub(\"eventhub\", {\n    name: \"my-eventhub\",\n    namespaceName: eventhubNs.name,\n    resourceGroupName: example.name,\n    partitionCount: 1,\n    messageRetention: 1,\n});\nconst consumerGroup = new azure.eventhub.ConsumerGroup(\"consumer_group\", {\n    name: \"my-eventhub-consumergroup\",\n    namespaceName: eventhubNs.name,\n    eventhubName: eventhub.name,\n    resourceGroupName: example.name,\n});\nconst eventhubConnection = new azure.kusto.EventhubDataConnection(\"eventhub_connection\", {\n    name: \"my-kusto-eventhub-data-connection\",\n    resourceGroupName: example.name,\n    location: example.location,\n    clusterName: cluster.name,\n    databaseName: database.name,\n    eventhubId: eventhub.id,\n    consumerGroup: consumerGroup.name,\n    tableName: \"my-table\",\n    mappingRuleName: \"my-table-mapping\",\n    dataFormat: \"JSON\",\n    retrievalStartDate: \"2023-06-26T12:00:00Z\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"my-kusto-rg\",\n    location=\"West Europe\")\ncluster = azure.kusto.Cluster(\"cluster\",\n    name=\"kustocluster\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku={\n        \"name\": \"Standard_D13_v2\",\n        \"capacity\": 2,\n    })\ndatabase = azure.kusto.Database(\"database\",\n    name=\"my-kusto-database\",\n    resource_group_name=example.name,\n    location=example.location,\n    cluster_name=cluster.name,\n    hot_cache_period=\"P7D\",\n    soft_delete_period=\"P31D\")\neventhub_ns = azure.eventhub.EventHubNamespace(\"eventhub_ns\",\n    name=\"my-eventhub-ns\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku=\"Standard\")\neventhub = azure.eventhub.EventHub(\"eventhub\",\n    name=\"my-eventhub\",\n    namespace_name=eventhub_ns.name,\n    resource_group_name=example.name,\n    partition_count=1,\n    message_retention=1)\nconsumer_group = azure.eventhub.ConsumerGroup(\"consumer_group\",\n    name=\"my-eventhub-consumergroup\",\n    namespace_name=eventhub_ns.name,\n    eventhub_name=eventhub.name,\n    resource_group_name=example.name)\neventhub_connection = azure.kusto.EventhubDataConnection(\"eventhub_connection\",\n    name=\"my-kusto-eventhub-data-connection\",\n    resource_group_name=example.name,\n    location=example.location,\n    cluster_name=cluster.name,\n    database_name=database.name,\n    eventhub_id=eventhub.id,\n    consumer_group=consumer_group.name,\n    table_name=\"my-table\",\n    mapping_rule_name=\"my-table-mapping\",\n    data_format=\"JSON\",\n    retrieval_start_date=\"2023-06-26T12:00:00Z\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"my-kusto-rg\",\n        Location = \"West Europe\",\n    });\n\n    var cluster = new Azure.Kusto.Cluster(\"cluster\", new()\n    {\n        Name = \"kustocluster\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Sku = new Azure.Kusto.Inputs.ClusterSkuArgs\n        {\n            Name = \"Standard_D13_v2\",\n            Capacity = 2,\n        },\n    });\n\n    var database = new Azure.Kusto.Database(\"database\", new()\n    {\n        Name = \"my-kusto-database\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        ClusterName = cluster.Name,\n        HotCachePeriod = \"P7D\",\n        SoftDeletePeriod = \"P31D\",\n    });\n\n    var eventhubNs = new Azure.EventHub.EventHubNamespace(\"eventhub_ns\", new()\n    {\n        Name = \"my-eventhub-ns\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Sku = \"Standard\",\n    });\n\n    var eventhub = new Azure.EventHub.EventHub(\"eventhub\", new()\n    {\n        Name = \"my-eventhub\",\n        NamespaceName = eventhubNs.Name,\n        ResourceGroupName = example.Name,\n        PartitionCount = 1,\n        MessageRetention = 1,\n    });\n\n    var consumerGroup = new Azure.EventHub.ConsumerGroup(\"consumer_group\", new()\n    {\n        Name = \"my-eventhub-consumergroup\",\n        NamespaceName = eventhubNs.Name,\n        EventhubName = eventhub.Name,\n        ResourceGroupName = example.Name,\n    });\n\n    var eventhubConnection = new Azure.Kusto.EventhubDataConnection(\"eventhub_connection\", new()\n    {\n        Name = \"my-kusto-eventhub-data-connection\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        ClusterName = cluster.Name,\n        DatabaseName = database.Name,\n        EventhubId = eventhub.Id,\n        ConsumerGroup = consumerGroup.Name,\n        TableName = \"my-table\",\n        MappingRuleName = \"my-table-mapping\",\n        DataFormat = \"JSON\",\n        RetrievalStartDate = \"2023-06-26T12:00:00Z\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/eventhub\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/kusto\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"my-kusto-rg\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcluster, err := kusto.NewCluster(ctx, \"cluster\", \u0026kusto.ClusterArgs{\n\t\t\tName:              pulumi.String(\"kustocluster\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSku: \u0026kusto.ClusterSkuArgs{\n\t\t\t\tName:     pulumi.String(\"Standard_D13_v2\"),\n\t\t\t\tCapacity: pulumi.Int(2),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdatabase, err := kusto.NewDatabase(ctx, \"database\", \u0026kusto.DatabaseArgs{\n\t\t\tName:              pulumi.String(\"my-kusto-database\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tClusterName:       cluster.Name,\n\t\t\tHotCachePeriod:    pulumi.String(\"P7D\"),\n\t\t\tSoftDeletePeriod:  pulumi.String(\"P31D\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\teventhubNs, err := eventhub.NewEventHubNamespace(ctx, \"eventhub_ns\", \u0026eventhub.EventHubNamespaceArgs{\n\t\t\tName:              pulumi.String(\"my-eventhub-ns\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSku:               pulumi.String(\"Standard\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\teventhub, err := eventhub.NewEventHub(ctx, \"eventhub\", \u0026eventhub.EventHubArgs{\n\t\t\tName:              pulumi.String(\"my-eventhub\"),\n\t\t\tNamespaceName:     eventhubNs.Name,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tPartitionCount:    pulumi.Int(1),\n\t\t\tMessageRetention:  pulumi.Int(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tconsumerGroup, err := eventhub.NewConsumerGroup(ctx, \"consumer_group\", \u0026eventhub.ConsumerGroupArgs{\n\t\t\tName:              pulumi.String(\"my-eventhub-consumergroup\"),\n\t\t\tNamespaceName:     eventhubNs.Name,\n\t\t\tEventhubName:      eventhub.Name,\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = kusto.NewEventhubDataConnection(ctx, \"eventhub_connection\", \u0026kusto.EventhubDataConnectionArgs{\n\t\t\tName:               pulumi.String(\"my-kusto-eventhub-data-connection\"),\n\t\t\tResourceGroupName:  example.Name,\n\t\t\tLocation:           example.Location,\n\t\t\tClusterName:        cluster.Name,\n\t\t\tDatabaseName:       database.Name,\n\t\t\tEventhubId:         eventhub.ID(),\n\t\t\tConsumerGroup:      consumerGroup.Name,\n\t\t\tTableName:          pulumi.String(\"my-table\"),\n\t\t\tMappingRuleName:    pulumi.String(\"my-table-mapping\"),\n\t\t\tDataFormat:         pulumi.String(\"JSON\"),\n\t\t\tRetrievalStartDate: pulumi.String(\"2023-06-26T12:00:00Z\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.kusto.Cluster;\nimport com.pulumi.azure.kusto.ClusterArgs;\nimport com.pulumi.azure.kusto.inputs.ClusterSkuArgs;\nimport com.pulumi.azure.kusto.Database;\nimport com.pulumi.azure.kusto.DatabaseArgs;\nimport com.pulumi.azure.eventhub.EventHubNamespace;\nimport com.pulumi.azure.eventhub.EventHubNamespaceArgs;\nimport com.pulumi.azure.eventhub.EventHub;\nimport com.pulumi.azure.eventhub.EventHubArgs;\nimport com.pulumi.azure.eventhub.ConsumerGroup;\nimport com.pulumi.azure.eventhub.ConsumerGroupArgs;\nimport com.pulumi.azure.kusto.EventhubDataConnection;\nimport com.pulumi.azure.kusto.EventhubDataConnectionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"my-kusto-rg\")\n            .location(\"West Europe\")\n            .build());\n\n        var cluster = new Cluster(\"cluster\", ClusterArgs.builder()\n            .name(\"kustocluster\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .sku(ClusterSkuArgs.builder()\n                .name(\"Standard_D13_v2\")\n                .capacity(2)\n                .build())\n            .build());\n\n        var database = new Database(\"database\", DatabaseArgs.builder()\n            .name(\"my-kusto-database\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .clusterName(cluster.name())\n            .hotCachePeriod(\"P7D\")\n            .softDeletePeriod(\"P31D\")\n            .build());\n\n        var eventhubNs = new EventHubNamespace(\"eventhubNs\", EventHubNamespaceArgs.builder()\n            .name(\"my-eventhub-ns\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .sku(\"Standard\")\n            .build());\n\n        var eventhub = new EventHub(\"eventhub\", EventHubArgs.builder()\n            .name(\"my-eventhub\")\n            .namespaceName(eventhubNs.name())\n            .resourceGroupName(example.name())\n            .partitionCount(1)\n            .messageRetention(1)\n            .build());\n\n        var consumerGroup = new ConsumerGroup(\"consumerGroup\", ConsumerGroupArgs.builder()\n            .name(\"my-eventhub-consumergroup\")\n            .namespaceName(eventhubNs.name())\n            .eventhubName(eventhub.name())\n            .resourceGroupName(example.name())\n            .build());\n\n        var eventhubConnection = new EventhubDataConnection(\"eventhubConnection\", EventhubDataConnectionArgs.builder()\n            .name(\"my-kusto-eventhub-data-connection\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .clusterName(cluster.name())\n            .databaseName(database.name())\n            .eventhubId(eventhub.id())\n            .consumerGroup(consumerGroup.name())\n            .tableName(\"my-table\")\n            .mappingRuleName(\"my-table-mapping\")\n            .dataFormat(\"JSON\")\n            .retrievalStartDate(\"2023-06-26T12:00:00Z\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: my-kusto-rg\n      location: West Europe\n  cluster:\n    type: azure:kusto:Cluster\n    properties:\n      name: kustocluster\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      sku:\n        name: Standard_D13_v2\n        capacity: 2\n  database:\n    type: azure:kusto:Database\n    properties:\n      name: my-kusto-database\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      clusterName: ${cluster.name}\n      hotCachePeriod: P7D\n      softDeletePeriod: P31D\n  eventhubNs:\n    type: azure:eventhub:EventHubNamespace\n    name: eventhub_ns\n    properties:\n      name: my-eventhub-ns\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      sku: Standard\n  eventhub:\n    type: azure:eventhub:EventHub\n    properties:\n      name: my-eventhub\n      namespaceName: ${eventhubNs.name}\n      resourceGroupName: ${example.name}\n      partitionCount: 1\n      messageRetention: 1\n  consumerGroup:\n    type: azure:eventhub:ConsumerGroup\n    name: consumer_group\n    properties:\n      name: my-eventhub-consumergroup\n      namespaceName: ${eventhubNs.name}\n      eventhubName: ${eventhub.name}\n      resourceGroupName: ${example.name}\n  eventhubConnection:\n    type: azure:kusto:EventhubDataConnection\n    name: eventhub_connection\n    properties:\n      name: my-kusto-eventhub-data-connection\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      clusterName: ${cluster.name}\n      databaseName: ${database.name}\n      eventhubId: ${eventhub.id}\n      consumerGroup: ${consumerGroup.name}\n      tableName: my-table\n      mappingRuleName: my-table-mapping\n      dataFormat: JSON\n      retrievalStartDate: 2023-06-26T12:00:00Z\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Kusto` - 2024-04-13\n\n## Import\n\nKusto EventHub Data Connections can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:kusto/eventhubDataConnection:EventhubDataConnection example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Kusto/clusters/cluster1/databases/database1/dataConnections/eventHubConnection1\n```\n\n","properties":{"clusterName":{"type":"string","description":"Specifies the name of the Kusto Cluster this data connection will be added to. Changing this forces a new resource to be created.\n"},"compression":{"type":"string","description":"Specifies compression type for the connection. Allowed values: `GZip` and `None`. Defaults to `None`. Changing this forces a new resource to be created.\n"},"consumerGroup":{"type":"string","description":"Specifies the EventHub consumer group this data connection will use for ingestion. Changing this forces a new resource to be created.\n"},"dataFormat":{"type":"string","description":"Specifies the data format of the EventHub messages. Allowed values: `APACHEAVRO`, `AVRO`, `CSV`, `JSON`, `MULTIJSON`, `ORC`, `PARQUET`, `PSV`, `RAW`, `SCSV`, `SINGLEJSON`, `SOHSV`, `TSVE`, `TSV`, `TXT`, and `W3CLOGFILE`.\n"},"databaseName":{"type":"string","description":"Specifies the name of the Kusto Database this data connection will be added to. Changing this forces a new resource to be created.\n"},"databaseRoutingType":{"type":"string","description":"Indication for database routing information from the data connection, by default only database routing information is allowed. Allowed values: `Single`, `Multi`. Changing this forces a new resource to be created. Defaults to `Single`.\n"},"eventSystemProperties":{"type":"array","items":{"type":"string"},"description":"Specifies a list of system properties for the Event Hub.\n"},"eventhubId":{"type":"string","description":"Specifies the resource id of the EventHub this data connection will use for ingestion. Changing this forces a new resource to be created.\n"},"identityId":{"type":"string","description":"The resource ID of a managed identity (system or user assigned) to be used to authenticate with event hub.\n"},"location":{"type":"string","description":"The location where the Kusto Database should be created. Changing this forces a new resource to be created.\n"},"mappingRuleName":{"type":"string","description":"Specifies the mapping rule used for the message ingestion. Mapping rule must exist before resource is created.\n"},"name":{"type":"string","description":"The name of the Kusto EventHub Data Connection to create. Changing this forces a new resource to be created.\n"},"resourceGroupName":{"type":"string","description":"Specifies the Resource Group where the Kusto Database should exist. Changing this forces a new resource to be created.\n"},"retrievalStartDate":{"type":"string","description":"Specifies the date after which data should be retrieved from Event Hub. When defined, the data connection retrieves existing events created since the specified retrieval start date. It can only retrieve events retained by the Event Hub, based on its retention period. The value should be in RFC3339 format (e.g., `2023-06-26T12:00:00Z`).\n"},"tableName":{"type":"string","description":"Specifies the target table name used for the message ingestion. Table must exist before resource is created.\n"}},"required":["clusterName","consumerGroup","databaseName","eventSystemProperties","eventhubId","location","name","resourceGroupName","retrievalStartDate"],"inputProperties":{"clusterName":{"type":"string","description":"Specifies the name of the Kusto Cluster this data connection will be added to. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"compression":{"type":"string","description":"Specifies compression type for the connection. Allowed values: `GZip` and `None`. Defaults to `None`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"consumerGroup":{"type":"string","description":"Specifies the EventHub consumer group this data connection will use for ingestion. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"dataFormat":{"type":"string","description":"Specifies the data format of the EventHub messages. Allowed values: `APACHEAVRO`, `AVRO`, `CSV`, `JSON`, `MULTIJSON`, `ORC`, `PARQUET`, `PSV`, `RAW`, `SCSV`, `SINGLEJSON`, `SOHSV`, `TSVE`, `TSV`, `TXT`, and `W3CLOGFILE`.\n"},"databaseName":{"type":"string","description":"Specifies the name of the Kusto Database this data connection will be added to. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"databaseRoutingType":{"type":"string","description":"Indication for database routing information from the data connection, by default only database routing information is allowed. Allowed values: `Single`, `Multi`. Changing this forces a new resource to be created. Defaults to `Single`.\n","willReplaceOnChanges":true},"eventSystemProperties":{"type":"array","items":{"type":"string"},"description":"Specifies a list of system properties for the Event Hub.\n"},"eventhubId":{"type":"string","description":"Specifies the resource id of the EventHub this data connection will use for ingestion. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"identityId":{"type":"string","description":"The resource ID of a managed identity (system or user assigned) to be used to authenticate with event hub.\n"},"location":{"type":"string","description":"The location where the Kusto Database should be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"mappingRuleName":{"type":"string","description":"Specifies the mapping rule used for the message ingestion. Mapping rule must exist before resource is created.\n"},"name":{"type":"string","description":"The name of the Kusto EventHub Data Connection to create. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"Specifies the Resource Group where the Kusto Database should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"retrievalStartDate":{"type":"string","description":"Specifies the date after which data should be retrieved from Event Hub. When defined, the data connection retrieves existing events created since the specified retrieval start date. It can only retrieve events retained by the Event Hub, based on its retention period. The value should be in RFC3339 format (e.g., `2023-06-26T12:00:00Z`).\n"},"tableName":{"type":"string","description":"Specifies the target table name used for the message ingestion. Table must exist before resource is created.\n"}},"requiredInputs":["clusterName","consumerGroup","databaseName","eventhubId","resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering EventhubDataConnection resources.\n","properties":{"clusterName":{"type":"string","description":"Specifies the name of the Kusto Cluster this data connection will be added to. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"compression":{"type":"string","description":"Specifies compression type for the connection. Allowed values: `GZip` and `None`. Defaults to `None`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"consumerGroup":{"type":"string","description":"Specifies the EventHub consumer group this data connection will use for ingestion. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"dataFormat":{"type":"string","description":"Specifies the data format of the EventHub messages. Allowed values: `APACHEAVRO`, `AVRO`, `CSV`, `JSON`, `MULTIJSON`, `ORC`, `PARQUET`, `PSV`, `RAW`, `SCSV`, `SINGLEJSON`, `SOHSV`, `TSVE`, `TSV`, `TXT`, and `W3CLOGFILE`.\n"},"databaseName":{"type":"string","description":"Specifies the name of the Kusto Database this data connection will be added to. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"databaseRoutingType":{"type":"string","description":"Indication for database routing information from the data connection, by default only database routing information is allowed. Allowed values: `Single`, `Multi`. Changing this forces a new resource to be created. Defaults to `Single`.\n","willReplaceOnChanges":true},"eventSystemProperties":{"type":"array","items":{"type":"string"},"description":"Specifies a list of system properties for the Event Hub.\n"},"eventhubId":{"type":"string","description":"Specifies the resource id of the EventHub this data connection will use for ingestion. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"identityId":{"type":"string","description":"The resource ID of a managed identity (system or user assigned) to be used to authenticate with event hub.\n"},"location":{"type":"string","description":"The location where the Kusto Database should be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"mappingRuleName":{"type":"string","description":"Specifies the mapping rule used for the message ingestion. Mapping rule must exist before resource is created.\n"},"name":{"type":"string","description":"The name of the Kusto EventHub Data Connection to create. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"Specifies the Resource Group where the Kusto Database should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"retrievalStartDate":{"type":"string","description":"Specifies the date after which data should be retrieved from Event Hub. When defined, the data connection retrieves existing events created since the specified retrieval start date. It can only retrieve events retained by the Event Hub, based on its retention period. The value should be in RFC3339 format (e.g., `2023-06-26T12:00:00Z`).\n"},"tableName":{"type":"string","description":"Specifies the target table name used for the message ingestion. Table must exist before resource is created.\n"}},"type":"object"}},"azure:kusto/iotHubDataConnection:IotHubDataConnection":{"description":"Manages a Kusto (also known as Azure Data Explorer) IotHub Data Connection\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleCluster = new azure.kusto.Cluster(\"example\", {\n    name: \"examplekustocluster\",\n    location: example.location,\n    resourceGroupName: example.name,\n    sku: {\n        name: \"Standard_D13_v2\",\n        capacity: 2,\n    },\n});\nconst exampleDatabase = new azure.kusto.Database(\"example\", {\n    name: \"example-kusto-database\",\n    resourceGroupName: example.name,\n    location: example.location,\n    clusterName: exampleCluster.name,\n    hotCachePeriod: \"P7D\",\n    softDeletePeriod: \"P31D\",\n});\nconst exampleIoTHub = new azure.iot.IoTHub(\"example\", {\n    name: \"exampleIoTHub\",\n    resourceGroupName: example.name,\n    location: example.location,\n    sku: {\n        name: \"B1\",\n        capacity: 1,\n    },\n});\nconst exampleSharedAccessPolicy = new azure.iot.SharedAccessPolicy(\"example\", {\n    name: \"example-shared-access-policy\",\n    resourceGroupName: example.name,\n    iothubName: exampleIoTHub.name,\n    registryRead: true,\n});\nconst exampleConsumerGroup = new azure.iot.ConsumerGroup(\"example\", {\n    name: \"example-consumer-group\",\n    resourceGroupName: example.name,\n    iothubName: exampleIoTHub.name,\n    eventhubEndpointName: \"events\",\n});\nconst exampleIotHubDataConnection = new azure.kusto.IotHubDataConnection(\"example\", {\n    name: \"my-kusto-iothub-data-connection\",\n    resourceGroupName: example.name,\n    location: example.location,\n    clusterName: exampleCluster.name,\n    databaseName: exampleDatabase.name,\n    iothubId: exampleIoTHub.id,\n    consumerGroup: exampleConsumerGroup.name,\n    sharedAccessPolicyName: exampleSharedAccessPolicy.name,\n    eventSystemProperties: [\n        \"message-id\",\n        \"sequence-number\",\n        \"to\",\n    ],\n    tableName: \"my-table\",\n    mappingRuleName: \"my-table-mapping\",\n    dataFormat: \"JSON\",\n    retrievalStartDate: \"2023-06-26T12:00:00Z\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_cluster = azure.kusto.Cluster(\"example\",\n    name=\"examplekustocluster\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku={\n        \"name\": \"Standard_D13_v2\",\n        \"capacity\": 2,\n    })\nexample_database = azure.kusto.Database(\"example\",\n    name=\"example-kusto-database\",\n    resource_group_name=example.name,\n    location=example.location,\n    cluster_name=example_cluster.name,\n    hot_cache_period=\"P7D\",\n    soft_delete_period=\"P31D\")\nexample_io_t_hub = azure.iot.IoTHub(\"example\",\n    name=\"exampleIoTHub\",\n    resource_group_name=example.name,\n    location=example.location,\n    sku={\n        \"name\": \"B1\",\n        \"capacity\": 1,\n    })\nexample_shared_access_policy = azure.iot.SharedAccessPolicy(\"example\",\n    name=\"example-shared-access-policy\",\n    resource_group_name=example.name,\n    iothub_name=example_io_t_hub.name,\n    registry_read=True)\nexample_consumer_group = azure.iot.ConsumerGroup(\"example\",\n    name=\"example-consumer-group\",\n    resource_group_name=example.name,\n    iothub_name=example_io_t_hub.name,\n    eventhub_endpoint_name=\"events\")\nexample_iot_hub_data_connection = azure.kusto.IotHubDataConnection(\"example\",\n    name=\"my-kusto-iothub-data-connection\",\n    resource_group_name=example.name,\n    location=example.location,\n    cluster_name=example_cluster.name,\n    database_name=example_database.name,\n    iothub_id=example_io_t_hub.id,\n    consumer_group=example_consumer_group.name,\n    shared_access_policy_name=example_shared_access_policy.name,\n    event_system_properties=[\n        \"message-id\",\n        \"sequence-number\",\n        \"to\",\n    ],\n    table_name=\"my-table\",\n    mapping_rule_name=\"my-table-mapping\",\n    data_format=\"JSON\",\n    retrieval_start_date=\"2023-06-26T12:00:00Z\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleCluster = new Azure.Kusto.Cluster(\"example\", new()\n    {\n        Name = \"examplekustocluster\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Sku = new Azure.Kusto.Inputs.ClusterSkuArgs\n        {\n            Name = \"Standard_D13_v2\",\n            Capacity = 2,\n        },\n    });\n\n    var exampleDatabase = new Azure.Kusto.Database(\"example\", new()\n    {\n        Name = \"example-kusto-database\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        ClusterName = exampleCluster.Name,\n        HotCachePeriod = \"P7D\",\n        SoftDeletePeriod = \"P31D\",\n    });\n\n    var exampleIoTHub = new Azure.Iot.IoTHub(\"example\", new()\n    {\n        Name = \"exampleIoTHub\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        Sku = new Azure.Iot.Inputs.IoTHubSkuArgs\n        {\n            Name = \"B1\",\n            Capacity = 1,\n        },\n    });\n\n    var exampleSharedAccessPolicy = new Azure.Iot.SharedAccessPolicy(\"example\", new()\n    {\n        Name = \"example-shared-access-policy\",\n        ResourceGroupName = example.Name,\n        IothubName = exampleIoTHub.Name,\n        RegistryRead = true,\n    });\n\n    var exampleConsumerGroup = new Azure.Iot.ConsumerGroup(\"example\", new()\n    {\n        Name = \"example-consumer-group\",\n        ResourceGroupName = example.Name,\n        IothubName = exampleIoTHub.Name,\n        EventhubEndpointName = \"events\",\n    });\n\n    var exampleIotHubDataConnection = new Azure.Kusto.IotHubDataConnection(\"example\", new()\n    {\n        Name = \"my-kusto-iothub-data-connection\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        ClusterName = exampleCluster.Name,\n        DatabaseName = exampleDatabase.Name,\n        IothubId = exampleIoTHub.Id,\n        ConsumerGroup = exampleConsumerGroup.Name,\n        SharedAccessPolicyName = exampleSharedAccessPolicy.Name,\n        EventSystemProperties = new[]\n        {\n            \"message-id\",\n            \"sequence-number\",\n            \"to\",\n        },\n        TableName = \"my-table\",\n        MappingRuleName = \"my-table-mapping\",\n        DataFormat = \"JSON\",\n        RetrievalStartDate = \"2023-06-26T12:00:00Z\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/iot\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/kusto\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleCluster, err := kusto.NewCluster(ctx, \"example\", \u0026kusto.ClusterArgs{\n\t\t\tName:              pulumi.String(\"examplekustocluster\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSku: \u0026kusto.ClusterSkuArgs{\n\t\t\t\tName:     pulumi.String(\"Standard_D13_v2\"),\n\t\t\t\tCapacity: pulumi.Int(2),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleDatabase, err := kusto.NewDatabase(ctx, \"example\", \u0026kusto.DatabaseArgs{\n\t\t\tName:              pulumi.String(\"example-kusto-database\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tClusterName:       exampleCluster.Name,\n\t\t\tHotCachePeriod:    pulumi.String(\"P7D\"),\n\t\t\tSoftDeletePeriod:  pulumi.String(\"P31D\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleIoTHub, err := iot.NewIoTHub(ctx, \"example\", \u0026iot.IoTHubArgs{\n\t\t\tName:              pulumi.String(\"exampleIoTHub\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tSku: \u0026iot.IoTHubSkuArgs{\n\t\t\t\tName:     pulumi.String(\"B1\"),\n\t\t\t\tCapacity: pulumi.Int(1),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSharedAccessPolicy, err := iot.NewSharedAccessPolicy(ctx, \"example\", \u0026iot.SharedAccessPolicyArgs{\n\t\t\tName:              pulumi.String(\"example-shared-access-policy\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tIothubName:        exampleIoTHub.Name,\n\t\t\tRegistryRead:      pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleConsumerGroup, err := iot.NewConsumerGroup(ctx, \"example\", \u0026iot.ConsumerGroupArgs{\n\t\t\tName:                 pulumi.String(\"example-consumer-group\"),\n\t\t\tResourceGroupName:    example.Name,\n\t\t\tIothubName:           exampleIoTHub.Name,\n\t\t\tEventhubEndpointName: pulumi.String(\"events\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = kusto.NewIotHubDataConnection(ctx, \"example\", \u0026kusto.IotHubDataConnectionArgs{\n\t\t\tName:                   pulumi.String(\"my-kusto-iothub-data-connection\"),\n\t\t\tResourceGroupName:      example.Name,\n\t\t\tLocation:               example.Location,\n\t\t\tClusterName:            exampleCluster.Name,\n\t\t\tDatabaseName:           exampleDatabase.Name,\n\t\t\tIothubId:               exampleIoTHub.ID(),\n\t\t\tConsumerGroup:          exampleConsumerGroup.Name,\n\t\t\tSharedAccessPolicyName: exampleSharedAccessPolicy.Name,\n\t\t\tEventSystemProperties: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"message-id\"),\n\t\t\t\tpulumi.String(\"sequence-number\"),\n\t\t\t\tpulumi.String(\"to\"),\n\t\t\t},\n\t\t\tTableName:          pulumi.String(\"my-table\"),\n\t\t\tMappingRuleName:    pulumi.String(\"my-table-mapping\"),\n\t\t\tDataFormat:         pulumi.String(\"JSON\"),\n\t\t\tRetrievalStartDate: pulumi.String(\"2023-06-26T12:00:00Z\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.kusto.Cluster;\nimport com.pulumi.azure.kusto.ClusterArgs;\nimport com.pulumi.azure.kusto.inputs.ClusterSkuArgs;\nimport com.pulumi.azure.kusto.Database;\nimport com.pulumi.azure.kusto.DatabaseArgs;\nimport com.pulumi.azure.iot.IoTHub;\nimport com.pulumi.azure.iot.IoTHubArgs;\nimport com.pulumi.azure.iot.inputs.IoTHubSkuArgs;\nimport com.pulumi.azure.iot.SharedAccessPolicy;\nimport com.pulumi.azure.iot.SharedAccessPolicyArgs;\nimport com.pulumi.azure.iot.ConsumerGroup;\nimport com.pulumi.azure.iot.ConsumerGroupArgs;\nimport com.pulumi.azure.kusto.IotHubDataConnection;\nimport com.pulumi.azure.kusto.IotHubDataConnectionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleCluster = new Cluster(\"exampleCluster\", ClusterArgs.builder()\n            .name(\"examplekustocluster\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .sku(ClusterSkuArgs.builder()\n                .name(\"Standard_D13_v2\")\n                .capacity(2)\n                .build())\n            .build());\n\n        var exampleDatabase = new Database(\"exampleDatabase\", DatabaseArgs.builder()\n            .name(\"example-kusto-database\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .clusterName(exampleCluster.name())\n            .hotCachePeriod(\"P7D\")\n            .softDeletePeriod(\"P31D\")\n            .build());\n\n        var exampleIoTHub = new IoTHub(\"exampleIoTHub\", IoTHubArgs.builder()\n            .name(\"exampleIoTHub\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .sku(IoTHubSkuArgs.builder()\n                .name(\"B1\")\n                .capacity(1)\n                .build())\n            .build());\n\n        var exampleSharedAccessPolicy = new SharedAccessPolicy(\"exampleSharedAccessPolicy\", SharedAccessPolicyArgs.builder()\n            .name(\"example-shared-access-policy\")\n            .resourceGroupName(example.name())\n            .iothubName(exampleIoTHub.name())\n            .registryRead(true)\n            .build());\n\n        var exampleConsumerGroup = new ConsumerGroup(\"exampleConsumerGroup\", ConsumerGroupArgs.builder()\n            .name(\"example-consumer-group\")\n            .resourceGroupName(example.name())\n            .iothubName(exampleIoTHub.name())\n            .eventhubEndpointName(\"events\")\n            .build());\n\n        var exampleIotHubDataConnection = new IotHubDataConnection(\"exampleIotHubDataConnection\", IotHubDataConnectionArgs.builder()\n            .name(\"my-kusto-iothub-data-connection\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .clusterName(exampleCluster.name())\n            .databaseName(exampleDatabase.name())\n            .iothubId(exampleIoTHub.id())\n            .consumerGroup(exampleConsumerGroup.name())\n            .sharedAccessPolicyName(exampleSharedAccessPolicy.name())\n            .eventSystemProperties(            \n                \"message-id\",\n                \"sequence-number\",\n                \"to\")\n            .tableName(\"my-table\")\n            .mappingRuleName(\"my-table-mapping\")\n            .dataFormat(\"JSON\")\n            .retrievalStartDate(\"2023-06-26T12:00:00Z\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleCluster:\n    type: azure:kusto:Cluster\n    name: example\n    properties:\n      name: examplekustocluster\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      sku:\n        name: Standard_D13_v2\n        capacity: 2\n  exampleDatabase:\n    type: azure:kusto:Database\n    name: example\n    properties:\n      name: example-kusto-database\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      clusterName: ${exampleCluster.name}\n      hotCachePeriod: P7D\n      softDeletePeriod: P31D\n  exampleIoTHub:\n    type: azure:iot:IoTHub\n    name: example\n    properties:\n      name: exampleIoTHub\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      sku:\n        name: B1\n        capacity: '1'\n  exampleSharedAccessPolicy:\n    type: azure:iot:SharedAccessPolicy\n    name: example\n    properties:\n      name: example-shared-access-policy\n      resourceGroupName: ${example.name}\n      iothubName: ${exampleIoTHub.name}\n      registryRead: true\n  exampleConsumerGroup:\n    type: azure:iot:ConsumerGroup\n    name: example\n    properties:\n      name: example-consumer-group\n      resourceGroupName: ${example.name}\n      iothubName: ${exampleIoTHub.name}\n      eventhubEndpointName: events\n  exampleIotHubDataConnection:\n    type: azure:kusto:IotHubDataConnection\n    name: example\n    properties:\n      name: my-kusto-iothub-data-connection\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      clusterName: ${exampleCluster.name}\n      databaseName: ${exampleDatabase.name}\n      iothubId: ${exampleIoTHub.id}\n      consumerGroup: ${exampleConsumerGroup.name}\n      sharedAccessPolicyName: ${exampleSharedAccessPolicy.name}\n      eventSystemProperties:\n        - message-id\n        - sequence-number\n        - to\n      tableName: my-table\n      mappingRuleName: my-table-mapping\n      dataFormat: JSON\n      retrievalStartDate: 2023-06-26T12:00:00Z\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Kusto` - 2024-04-13\n\n## Import\n\nKusto IotHub Data Connections can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:kusto/iotHubDataConnection:IotHubDataConnection example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Kusto/clusters/cluster1/databases/database1/dataConnections/dataConnection1\n```\n\n","properties":{"clusterName":{"type":"string","description":"Specifies the name of the Kusto Cluster this data connection will be added to. Changing this forces a new resource to be created.\n"},"consumerGroup":{"type":"string","description":"Specifies the IotHub consumer group this data connection will use for ingestion. Changing this forces a new resource to be created.\n"},"dataFormat":{"type":"string","description":"Specifies the data format of the IoTHub messages. Allowed values: `APACHEAVRO`, `AVRO`, `CSV`, `JSON`, `MULTIJSON`, `ORC`, `PARQUET`, `PSV`, `RAW`, `SCSV`, `SINGLEJSON`, `SOHSV`, `TSV`, `TSVE`, `TXT` and `W3CLOGFILE`. Changing this forces a new resource to be created.\n"},"databaseName":{"type":"string","description":"Specifies the name of the Kusto Database this data connection will be added to. Changing this forces a new resource to be created.\n"},"databaseRoutingType":{"type":"string","description":"Indication for database routing information from the data connection, by default only database routing information is allowed. Allowed values: `Single`, `Multi`. Changing this forces a new resource to be created. Defaults to `Single`.\n"},"eventSystemProperties":{"type":"array","items":{"type":"string"},"description":"Specifies the System Properties that each IoT Hub message should contain. Changing this forces a new resource to be created.\n"},"iothubId":{"type":"string","description":"Specifies the resource id of the IotHub this data connection will use for ingestion. Changing this forces a new resource to be created.\n"},"location":{"type":"string","description":"The location where the Kusto Database should be created. Changing this forces a new resource to be created.\n"},"mappingRuleName":{"type":"string","description":"Specifies the mapping rule used for the message ingestion. Mapping rule must exist before resource is created. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"The name of the Kusto IotHub Data Connection to create. Changing this forces a new resource to be created.\n"},"resourceGroupName":{"type":"string","description":"Specifies the Resource Group where the Kusto Database should exist. Changing this forces a new resource to be created.\n"},"retrievalStartDate":{"type":"string","description":"Specifies the date after which data should be retrieved from IoT Hub. When defined, the data connection retrieves existing events created since the specified retrieval start date. It can only retrieve events retained by the IoT Hub, based on its retention period. The value should be in RFC3339 format (e.g., `2023-06-26T12:00:00Z`).\n"},"sharedAccessPolicyName":{"type":"string","description":"Specifies the IotHub Shared Access Policy this data connection will use for ingestion, which must have read permission. Changing this forces a new resource to be created.\n"},"tableName":{"type":"string","description":"Specifies the target table name used for the message ingestion. Table must exist before resource is created. Changing this forces a new resource to be created.\n"}},"required":["clusterName","consumerGroup","databaseName","iothubId","location","name","resourceGroupName","retrievalStartDate","sharedAccessPolicyName"],"inputProperties":{"clusterName":{"type":"string","description":"Specifies the name of the Kusto Cluster this data connection will be added to. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"consumerGroup":{"type":"string","description":"Specifies the IotHub consumer group this data connection will use for ingestion. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"dataFormat":{"type":"string","description":"Specifies the data format of the IoTHub messages. Allowed values: `APACHEAVRO`, `AVRO`, `CSV`, `JSON`, `MULTIJSON`, `ORC`, `PARQUET`, `PSV`, `RAW`, `SCSV`, `SINGLEJSON`, `SOHSV`, `TSV`, `TSVE`, `TXT` and `W3CLOGFILE`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"databaseName":{"type":"string","description":"Specifies the name of the Kusto Database this data connection will be added to. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"databaseRoutingType":{"type":"string","description":"Indication for database routing information from the data connection, by default only database routing information is allowed. Allowed values: `Single`, `Multi`. Changing this forces a new resource to be created. Defaults to `Single`.\n","willReplaceOnChanges":true},"eventSystemProperties":{"type":"array","items":{"type":"string"},"description":"Specifies the System Properties that each IoT Hub message should contain. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"iothubId":{"type":"string","description":"Specifies the resource id of the IotHub this data connection will use for ingestion. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"location":{"type":"string","description":"The location where the Kusto Database should be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"mappingRuleName":{"type":"string","description":"Specifies the mapping rule used for the message ingestion. Mapping rule must exist before resource is created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the Kusto IotHub Data Connection to create. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"Specifies the Resource Group where the Kusto Database should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"retrievalStartDate":{"type":"string","description":"Specifies the date after which data should be retrieved from IoT Hub. When defined, the data connection retrieves existing events created since the specified retrieval start date. It can only retrieve events retained by the IoT Hub, based on its retention period. The value should be in RFC3339 format (e.g., `2023-06-26T12:00:00Z`).\n"},"sharedAccessPolicyName":{"type":"string","description":"Specifies the IotHub Shared Access Policy this data connection will use for ingestion, which must have read permission. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tableName":{"type":"string","description":"Specifies the target table name used for the message ingestion. Table must exist before resource is created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["clusterName","consumerGroup","databaseName","iothubId","resourceGroupName","sharedAccessPolicyName"],"stateInputs":{"description":"Input properties used for looking up and filtering IotHubDataConnection resources.\n","properties":{"clusterName":{"type":"string","description":"Specifies the name of the Kusto Cluster this data connection will be added to. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"consumerGroup":{"type":"string","description":"Specifies the IotHub consumer group this data connection will use for ingestion. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"dataFormat":{"type":"string","description":"Specifies the data format of the IoTHub messages. Allowed values: `APACHEAVRO`, `AVRO`, `CSV`, `JSON`, `MULTIJSON`, `ORC`, `PARQUET`, `PSV`, `RAW`, `SCSV`, `SINGLEJSON`, `SOHSV`, `TSV`, `TSVE`, `TXT` and `W3CLOGFILE`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"databaseName":{"type":"string","description":"Specifies the name of the Kusto Database this data connection will be added to. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"databaseRoutingType":{"type":"string","description":"Indication for database routing information from the data connection, by default only database routing information is allowed. Allowed values: `Single`, `Multi`. Changing this forces a new resource to be created. Defaults to `Single`.\n","willReplaceOnChanges":true},"eventSystemProperties":{"type":"array","items":{"type":"string"},"description":"Specifies the System Properties that each IoT Hub message should contain. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"iothubId":{"type":"string","description":"Specifies the resource id of the IotHub this data connection will use for ingestion. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"location":{"type":"string","description":"The location where the Kusto Database should be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"mappingRuleName":{"type":"string","description":"Specifies the mapping rule used for the message ingestion. Mapping rule must exist before resource is created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the Kusto IotHub Data Connection to create. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"Specifies the Resource Group where the Kusto Database should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"retrievalStartDate":{"type":"string","description":"Specifies the date after which data should be retrieved from IoT Hub. When defined, the data connection retrieves existing events created since the specified retrieval start date. It can only retrieve events retained by the IoT Hub, based on its retention period. The value should be in RFC3339 format (e.g., `2023-06-26T12:00:00Z`).\n"},"sharedAccessPolicyName":{"type":"string","description":"Specifies the IotHub Shared Access Policy this data connection will use for ingestion, which must have read permission. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tableName":{"type":"string","description":"Specifies the target table name used for the message ingestion. Table must exist before resource is created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:kusto/script:Script":{"description":"Manages a Kusto Script.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"example\", {\n    name: \"example\",\n    location: \"West Europe\",\n});\nconst exampleCluster = new azure.kusto.Cluster(\"example\", {\n    name: \"example\",\n    location: exampleResourceGroup.location,\n    resourceGroupName: exampleResourceGroup.name,\n    sku: {\n        name: \"Dev(No SLA)_Standard_D11_v2\",\n        capacity: 1,\n    },\n});\nconst exampleDatabase = new azure.kusto.Database(\"example\", {\n    name: \"example\",\n    resourceGroupName: exampleResourceGroup.name,\n    location: exampleResourceGroup.location,\n    clusterName: exampleCluster.name,\n});\nconst exampleAccount = new azure.storage.Account(\"example\", {\n    name: \"example\",\n    resourceGroupName: exampleResourceGroup.name,\n    location: exampleResourceGroup.location,\n    accountTier: \"Standard\",\n    accountReplicationType: \"LRS\",\n});\nconst exampleContainer = new azure.storage.Container(\"example\", {\n    name: \"setup-files\",\n    storageAccountName: exampleAccount.name,\n    containerAccessType: \"private\",\n});\nconst exampleBlob = new azure.storage.Blob(\"example\", {\n    name: \"script.txt\",\n    storageAccountName: exampleAccount.name,\n    storageContainerName: exampleContainer.name,\n    type: \"Block\",\n    sourceContent: \".create table MyTable (Level:string, Timestamp:datetime, UserId:string, TraceId:string, Message:string, ProcessId:int32)\",\n});\nconst example = azure.storage.getAccountBlobContainerSASOutput({\n    connectionString: exampleAccount.primaryConnectionString,\n    containerName: exampleContainer.name,\n    httpsOnly: true,\n    start: \"2017-03-21\",\n    expiry: \"2022-03-21\",\n    permissions: {\n        read: true,\n        add: false,\n        create: false,\n        write: true,\n        \"delete\": false,\n        list: true,\n    },\n});\nconst exampleScript = new azure.kusto.Script(\"example\", {\n    name: \"example\",\n    databaseId: exampleDatabase.id,\n    url: exampleBlob.id,\n    sasToken: example.apply(example =\u003e example.sas),\n    continueOnErrorsEnabled: true,\n    forceAnUpdateWhenValueChanged: \"first\",\n    scriptLevel: \"Database\",\n    principalPermissionsAction: \"RemovePermissionOnScriptCompletion\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"example\",\n    name=\"example\",\n    location=\"West Europe\")\nexample_cluster = azure.kusto.Cluster(\"example\",\n    name=\"example\",\n    location=example_resource_group.location,\n    resource_group_name=example_resource_group.name,\n    sku={\n        \"name\": \"Dev(No SLA)_Standard_D11_v2\",\n        \"capacity\": 1,\n    })\nexample_database = azure.kusto.Database(\"example\",\n    name=\"example\",\n    resource_group_name=example_resource_group.name,\n    location=example_resource_group.location,\n    cluster_name=example_cluster.name)\nexample_account = azure.storage.Account(\"example\",\n    name=\"example\",\n    resource_group_name=example_resource_group.name,\n    location=example_resource_group.location,\n    account_tier=\"Standard\",\n    account_replication_type=\"LRS\")\nexample_container = azure.storage.Container(\"example\",\n    name=\"setup-files\",\n    storage_account_name=example_account.name,\n    container_access_type=\"private\")\nexample_blob = azure.storage.Blob(\"example\",\n    name=\"script.txt\",\n    storage_account_name=example_account.name,\n    storage_container_name=example_container.name,\n    type=\"Block\",\n    source_content=\".create table MyTable (Level:string, Timestamp:datetime, UserId:string, TraceId:string, Message:string, ProcessId:int32)\")\nexample = azure.storage.get_account_blob_container_sas_output(connection_string=example_account.primary_connection_string,\n    container_name=example_container.name,\n    https_only=True,\n    start=\"2017-03-21\",\n    expiry=\"2022-03-21\",\n    permissions={\n        \"read\": True,\n        \"add\": False,\n        \"create\": False,\n        \"write\": True,\n        \"delete\": False,\n        \"list\": True,\n    })\nexample_script = azure.kusto.Script(\"example\",\n    name=\"example\",\n    database_id=example_database.id,\n    url=example_blob.id,\n    sas_token=example.sas,\n    continue_on_errors_enabled=True,\n    force_an_update_when_value_changed=\"first\",\n    script_level=\"Database\",\n    principal_permissions_action=\"RemovePermissionOnScriptCompletion\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleResourceGroup = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example\",\n        Location = \"West Europe\",\n    });\n\n    var exampleCluster = new Azure.Kusto.Cluster(\"example\", new()\n    {\n        Name = \"example\",\n        Location = exampleResourceGroup.Location,\n        ResourceGroupName = exampleResourceGroup.Name,\n        Sku = new Azure.Kusto.Inputs.ClusterSkuArgs\n        {\n            Name = \"Dev(No SLA)_Standard_D11_v2\",\n            Capacity = 1,\n        },\n    });\n\n    var exampleDatabase = new Azure.Kusto.Database(\"example\", new()\n    {\n        Name = \"example\",\n        ResourceGroupName = exampleResourceGroup.Name,\n        Location = exampleResourceGroup.Location,\n        ClusterName = exampleCluster.Name,\n    });\n\n    var exampleAccount = new Azure.Storage.Account(\"example\", new()\n    {\n        Name = \"example\",\n        ResourceGroupName = exampleResourceGroup.Name,\n        Location = exampleResourceGroup.Location,\n        AccountTier = \"Standard\",\n        AccountReplicationType = \"LRS\",\n    });\n\n    var exampleContainer = new Azure.Storage.Container(\"example\", new()\n    {\n        Name = \"setup-files\",\n        StorageAccountName = exampleAccount.Name,\n        ContainerAccessType = \"private\",\n    });\n\n    var exampleBlob = new Azure.Storage.Blob(\"example\", new()\n    {\n        Name = \"script.txt\",\n        StorageAccountName = exampleAccount.Name,\n        StorageContainerName = exampleContainer.Name,\n        Type = \"Block\",\n        SourceContent = \".create table MyTable (Level:string, Timestamp:datetime, UserId:string, TraceId:string, Message:string, ProcessId:int32)\",\n    });\n\n    var example = Azure.Storage.GetAccountBlobContainerSAS.Invoke(new()\n    {\n        ConnectionString = exampleAccount.PrimaryConnectionString,\n        ContainerName = exampleContainer.Name,\n        HttpsOnly = true,\n        Start = \"2017-03-21\",\n        Expiry = \"2022-03-21\",\n        Permissions = new Azure.Storage.Inputs.GetAccountBlobContainerSASPermissionsInputArgs\n        {\n            Read = true,\n            Add = false,\n            Create = false,\n            Write = true,\n            Delete = false,\n            List = true,\n        },\n    });\n\n    var exampleScript = new Azure.Kusto.Script(\"example\", new()\n    {\n        Name = \"example\",\n        DatabaseId = exampleDatabase.Id,\n        Url = exampleBlob.Id,\n        SasToken = example.Apply(getAccountBlobContainerSASResult =\u003e getAccountBlobContainerSASResult.Sas),\n        ContinueOnErrorsEnabled = true,\n        ForceAnUpdateWhenValueChanged = \"first\",\n        ScriptLevel = \"Database\",\n        PrincipalPermissionsAction = \"RemovePermissionOnScriptCompletion\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/kusto\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleCluster, err := kusto.NewCluster(ctx, \"example\", \u0026kusto.ClusterArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tLocation:          exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tSku: \u0026kusto.ClusterSkuArgs{\n\t\t\t\tName:     pulumi.String(\"Dev(No SLA)_Standard_D11_v2\"),\n\t\t\t\tCapacity: pulumi.Int(1),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleDatabase, err := kusto.NewDatabase(ctx, \"example\", \u0026kusto.DatabaseArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tLocation:          exampleResourceGroup.Location,\n\t\t\tClusterName:       exampleCluster.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := storage.NewAccount(ctx, \"example\", \u0026storage.AccountArgs{\n\t\t\tName:                   pulumi.String(\"example\"),\n\t\t\tResourceGroupName:      exampleResourceGroup.Name,\n\t\t\tLocation:               exampleResourceGroup.Location,\n\t\t\tAccountTier:            pulumi.String(\"Standard\"),\n\t\t\tAccountReplicationType: pulumi.String(\"LRS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleContainer, err := storage.NewContainer(ctx, \"example\", \u0026storage.ContainerArgs{\n\t\t\tName:                pulumi.String(\"setup-files\"),\n\t\t\tStorageAccountName:  exampleAccount.Name,\n\t\t\tContainerAccessType: pulumi.String(\"private\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleBlob, err := storage.NewBlob(ctx, \"example\", \u0026storage.BlobArgs{\n\t\t\tName:                 pulumi.String(\"script.txt\"),\n\t\t\tStorageAccountName:   exampleAccount.Name,\n\t\t\tStorageContainerName: exampleContainer.Name,\n\t\t\tType:                 pulumi.String(\"Block\"),\n\t\t\tSourceContent:        pulumi.String(\".create table MyTable (Level:string, Timestamp:datetime, UserId:string, TraceId:string, Message:string, ProcessId:int32)\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample := storage.GetAccountBlobContainerSASOutput(ctx, storage.GetAccountBlobContainerSASOutputArgs{\n\t\t\tConnectionString: exampleAccount.PrimaryConnectionString,\n\t\t\tContainerName:    exampleContainer.Name,\n\t\t\tHttpsOnly:        pulumi.Bool(true),\n\t\t\tStart:            pulumi.String(\"2017-03-21\"),\n\t\t\tExpiry:           pulumi.String(\"2022-03-21\"),\n\t\t\tPermissions: \u0026storage.GetAccountBlobContainerSASPermissionsArgs{\n\t\t\t\tRead:   pulumi.Bool(true),\n\t\t\t\tAdd:    pulumi.Bool(false),\n\t\t\t\tCreate: pulumi.Bool(false),\n\t\t\t\tWrite:  pulumi.Bool(true),\n\t\t\t\tDelete: pulumi.Bool(false),\n\t\t\t\tList:   pulumi.Bool(true),\n\t\t\t},\n\t\t}, nil)\n\t\t_, err = kusto.NewScript(ctx, \"example\", \u0026kusto.ScriptArgs{\n\t\t\tName:       pulumi.String(\"example\"),\n\t\t\tDatabaseId: exampleDatabase.ID(),\n\t\t\tUrl:        exampleBlob.ID(),\n\t\t\tSasToken: pulumi.String(example.ApplyT(func(example storage.GetAccountBlobContainerSASResult) (*string, error) {\n\t\t\t\treturn \u0026example.Sas, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tContinueOnErrorsEnabled:       pulumi.Bool(true),\n\t\t\tForceAnUpdateWhenValueChanged: pulumi.String(\"first\"),\n\t\t\tScriptLevel:                   pulumi.String(\"Database\"),\n\t\t\tPrincipalPermissionsAction:    pulumi.String(\"RemovePermissionOnScriptCompletion\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.kusto.Cluster;\nimport com.pulumi.azure.kusto.ClusterArgs;\nimport com.pulumi.azure.kusto.inputs.ClusterSkuArgs;\nimport com.pulumi.azure.kusto.Database;\nimport com.pulumi.azure.kusto.DatabaseArgs;\nimport com.pulumi.azure.storage.Account;\nimport com.pulumi.azure.storage.AccountArgs;\nimport com.pulumi.azure.storage.Container;\nimport com.pulumi.azure.storage.ContainerArgs;\nimport com.pulumi.azure.storage.Blob;\nimport com.pulumi.azure.storage.BlobArgs;\nimport com.pulumi.azure.storage.StorageFunctions;\nimport com.pulumi.azure.storage.inputs.GetAccountBlobContainerSASArgs;\nimport com.pulumi.azure.storage.inputs.GetAccountBlobContainerSASPermissionsArgs;\nimport com.pulumi.azure.kusto.Script;\nimport com.pulumi.azure.kusto.ScriptArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var exampleResourceGroup = new ResourceGroup(\"exampleResourceGroup\", ResourceGroupArgs.builder()\n            .name(\"example\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleCluster = new Cluster(\"exampleCluster\", ClusterArgs.builder()\n            .name(\"example\")\n            .location(exampleResourceGroup.location())\n            .resourceGroupName(exampleResourceGroup.name())\n            .sku(ClusterSkuArgs.builder()\n                .name(\"Dev(No SLA)_Standard_D11_v2\")\n                .capacity(1)\n                .build())\n            .build());\n\n        var exampleDatabase = new Database(\"exampleDatabase\", DatabaseArgs.builder()\n            .name(\"example\")\n            .resourceGroupName(exampleResourceGroup.name())\n            .location(exampleResourceGroup.location())\n            .clusterName(exampleCluster.name())\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"example\")\n            .resourceGroupName(exampleResourceGroup.name())\n            .location(exampleResourceGroup.location())\n            .accountTier(\"Standard\")\n            .accountReplicationType(\"LRS\")\n            .build());\n\n        var exampleContainer = new Container(\"exampleContainer\", ContainerArgs.builder()\n            .name(\"setup-files\")\n            .storageAccountName(exampleAccount.name())\n            .containerAccessType(\"private\")\n            .build());\n\n        var exampleBlob = new Blob(\"exampleBlob\", BlobArgs.builder()\n            .name(\"script.txt\")\n            .storageAccountName(exampleAccount.name())\n            .storageContainerName(exampleContainer.name())\n            .type(\"Block\")\n            .sourceContent(\".create table MyTable (Level:string, Timestamp:datetime, UserId:string, TraceId:string, Message:string, ProcessId:int32)\")\n            .build());\n\n        final var example = StorageFunctions.getAccountBlobContainerSAS(GetAccountBlobContainerSASArgs.builder()\n            .connectionString(exampleAccount.primaryConnectionString())\n            .containerName(exampleContainer.name())\n            .httpsOnly(true)\n            .start(\"2017-03-21\")\n            .expiry(\"2022-03-21\")\n            .permissions(GetAccountBlobContainerSASPermissionsArgs.builder()\n                .read(true)\n                .add(false)\n                .create(false)\n                .write(true)\n                .delete(false)\n                .list(true)\n                .build())\n            .build());\n\n        var exampleScript = new Script(\"exampleScript\", ScriptArgs.builder()\n            .name(\"example\")\n            .databaseId(exampleDatabase.id())\n            .url(exampleBlob.id())\n            .sasToken(example.applyValue(_example -\u003e _example.sas()))\n            .continueOnErrorsEnabled(true)\n            .forceAnUpdateWhenValueChanged(\"first\")\n            .scriptLevel(\"Database\")\n            .principalPermissionsAction(\"RemovePermissionOnScriptCompletion\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleResourceGroup:\n    type: azure:core:ResourceGroup\n    name: example\n    properties:\n      name: example\n      location: West Europe\n  exampleCluster:\n    type: azure:kusto:Cluster\n    name: example\n    properties:\n      name: example\n      location: ${exampleResourceGroup.location}\n      resourceGroupName: ${exampleResourceGroup.name}\n      sku:\n        name: Dev(No SLA)_Standard_D11_v2\n        capacity: 1\n  exampleDatabase:\n    type: azure:kusto:Database\n    name: example\n    properties:\n      name: example\n      resourceGroupName: ${exampleResourceGroup.name}\n      location: ${exampleResourceGroup.location}\n      clusterName: ${exampleCluster.name}\n  exampleAccount:\n    type: azure:storage:Account\n    name: example\n    properties:\n      name: example\n      resourceGroupName: ${exampleResourceGroup.name}\n      location: ${exampleResourceGroup.location}\n      accountTier: Standard\n      accountReplicationType: LRS\n  exampleContainer:\n    type: azure:storage:Container\n    name: example\n    properties:\n      name: setup-files\n      storageAccountName: ${exampleAccount.name}\n      containerAccessType: private\n  exampleBlob:\n    type: azure:storage:Blob\n    name: example\n    properties:\n      name: script.txt\n      storageAccountName: ${exampleAccount.name}\n      storageContainerName: ${exampleContainer.name}\n      type: Block\n      sourceContent: .create table MyTable (Level:string, Timestamp:datetime, UserId:string, TraceId:string, Message:string, ProcessId:int32)\n  exampleScript:\n    type: azure:kusto:Script\n    name: example\n    properties:\n      name: example\n      databaseId: ${exampleDatabase.id}\n      url: ${exampleBlob.id}\n      sasToken: ${example.sas}\n      continueOnErrorsEnabled: true\n      forceAnUpdateWhenValueChanged: first\n      scriptLevel: Database\n      principalPermissionsAction: RemovePermissionOnScriptCompletion\nvariables:\n  example:\n    fn::invoke:\n      function: azure:storage:getAccountBlobContainerSAS\n      arguments:\n        connectionString: ${exampleAccount.primaryConnectionString}\n        containerName: ${exampleContainer.name}\n        httpsOnly: true\n        start: 2017-03-21\n        expiry: 2022-03-21\n        permissions:\n          read: true\n          add: false\n          create: false\n          write: true\n          delete: false\n          list: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Kusto` - 2024-04-13\n\n## Import\n\nKusto Scripts can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:kusto/script:Script example /subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/resGroup1/providers/Microsoft.Kusto/clusters/cluster1/databases/database1/scripts/script1\n```\n\n","properties":{"continueOnErrorsEnabled":{"type":"boolean","description":"Flag that indicates whether to continue if one of the command fails.\n"},"databaseId":{"type":"string","description":"The ID of the Kusto Database. Changing this forces a new Kusto Script to be created.\n"},"forceAnUpdateWhenValueChanged":{"type":"string","description":"A unique string. If changed the script will be applied again.\n"},"name":{"type":"string","description":"The name which should be used for this Kusto Script. Changing this forces a new Kusto Script to be created.\n"},"principalPermissionsAction":{"type":"string","description":"Whether the script caller’s permissions remain in effect after the script has finished running? Possible values are `RemovePermissionOnScriptCompletion` and `RetainPermissionOnScriptCompletion`.\n"},"sasToken":{"type":"string","description":"The SAS token used to access the script. Must be provided when using scriptUrl property. Changing this forces a new resource to be created.\n","secret":true},"scriptContent":{"type":"string","description":"The script content. This property should be used when the script is provide inline and not through file in a SA. Must not be used together with \u003cspan pulumi-lang-nodejs=\"`url`\" pulumi-lang-dotnet=\"`Url`\" pulumi-lang-go=\"`url`\" pulumi-lang-python=\"`url`\" pulumi-lang-yaml=\"`url`\" pulumi-lang-java=\"`url`\"\u003e`url`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`sasToken`\" pulumi-lang-dotnet=\"`SasToken`\" pulumi-lang-go=\"`sasToken`\" pulumi-lang-python=\"`sas_token`\" pulumi-lang-yaml=\"`sasToken`\" pulumi-lang-java=\"`sasToken`\"\u003e`sas_token`\u003c/span\u003e properties. Changing this forces a new resource to be created.\n","secret":true},"scriptLevel":{"type":"string","description":"The type of script commands. Possible values are `Database` or `Cluster`. Defaults to `Database`. Changing this forces a new resource to be created.\n"},"url":{"type":"string","description":"The url to the KQL script blob file. Must not be used together with scriptContent property. Please reference [this documentation](https://docs.microsoft.com/azure/data-explorer/database-script) that describes the commands that are allowed in the script.\n"}},"required":["databaseId","forceAnUpdateWhenValueChanged","name"],"inputProperties":{"continueOnErrorsEnabled":{"type":"boolean","description":"Flag that indicates whether to continue if one of the command fails.\n"},"databaseId":{"type":"string","description":"The ID of the Kusto Database. Changing this forces a new Kusto Script to be created.\n","willReplaceOnChanges":true},"forceAnUpdateWhenValueChanged":{"type":"string","description":"A unique string. If changed the script will be applied again.\n"},"name":{"type":"string","description":"The name which should be used for this Kusto Script. Changing this forces a new Kusto Script to be created.\n","willReplaceOnChanges":true},"principalPermissionsAction":{"type":"string","description":"Whether the script caller’s permissions remain in effect after the script has finished running? Possible values are `RemovePermissionOnScriptCompletion` and `RetainPermissionOnScriptCompletion`.\n"},"sasToken":{"type":"string","description":"The SAS token used to access the script. Must be provided when using scriptUrl property. Changing this forces a new resource to be created.\n","secret":true,"willReplaceOnChanges":true},"scriptContent":{"type":"string","description":"The script content. This property should be used when the script is provide inline and not through file in a SA. Must not be used together with \u003cspan pulumi-lang-nodejs=\"`url`\" pulumi-lang-dotnet=\"`Url`\" pulumi-lang-go=\"`url`\" pulumi-lang-python=\"`url`\" pulumi-lang-yaml=\"`url`\" pulumi-lang-java=\"`url`\"\u003e`url`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`sasToken`\" pulumi-lang-dotnet=\"`SasToken`\" pulumi-lang-go=\"`sasToken`\" pulumi-lang-python=\"`sas_token`\" pulumi-lang-yaml=\"`sasToken`\" pulumi-lang-java=\"`sasToken`\"\u003e`sas_token`\u003c/span\u003e properties. Changing this forces a new resource to be created.\n","secret":true,"willReplaceOnChanges":true},"scriptLevel":{"type":"string","description":"The type of script commands. Possible values are `Database` or `Cluster`. Defaults to `Database`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"url":{"type":"string","description":"The url to the KQL script blob file. Must not be used together with scriptContent property. Please reference [this documentation](https://docs.microsoft.com/azure/data-explorer/database-script) that describes the commands that are allowed in the script.\n"}},"requiredInputs":["databaseId"],"stateInputs":{"description":"Input properties used for looking up and filtering Script resources.\n","properties":{"continueOnErrorsEnabled":{"type":"boolean","description":"Flag that indicates whether to continue if one of the command fails.\n"},"databaseId":{"type":"string","description":"The ID of the Kusto Database. Changing this forces a new Kusto Script to be created.\n","willReplaceOnChanges":true},"forceAnUpdateWhenValueChanged":{"type":"string","description":"A unique string. If changed the script will be applied again.\n"},"name":{"type":"string","description":"The name which should be used for this Kusto Script. Changing this forces a new Kusto Script to be created.\n","willReplaceOnChanges":true},"principalPermissionsAction":{"type":"string","description":"Whether the script caller’s permissions remain in effect after the script has finished running? Possible values are `RemovePermissionOnScriptCompletion` and `RetainPermissionOnScriptCompletion`.\n"},"sasToken":{"type":"string","description":"The SAS token used to access the script. Must be provided when using scriptUrl property. Changing this forces a new resource to be created.\n","secret":true,"willReplaceOnChanges":true},"scriptContent":{"type":"string","description":"The script content. This property should be used when the script is provide inline and not through file in a SA. Must not be used together with \u003cspan pulumi-lang-nodejs=\"`url`\" pulumi-lang-dotnet=\"`Url`\" pulumi-lang-go=\"`url`\" pulumi-lang-python=\"`url`\" pulumi-lang-yaml=\"`url`\" pulumi-lang-java=\"`url`\"\u003e`url`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`sasToken`\" pulumi-lang-dotnet=\"`SasToken`\" pulumi-lang-go=\"`sasToken`\" pulumi-lang-python=\"`sas_token`\" pulumi-lang-yaml=\"`sasToken`\" pulumi-lang-java=\"`sasToken`\"\u003e`sas_token`\u003c/span\u003e properties. Changing this forces a new resource to be created.\n","secret":true,"willReplaceOnChanges":true},"scriptLevel":{"type":"string","description":"The type of script commands. Possible values are `Database` or `Cluster`. Defaults to `Database`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"url":{"type":"string","description":"The url to the KQL script blob file. Must not be used together with scriptContent property. Please reference [this documentation](https://docs.microsoft.com/azure/data-explorer/database-script) that describes the commands that are allowed in the script.\n"}},"type":"object"}},"azure:lb/backendAddressPool:BackendAddressPool":{"description":"Manages a Load Balancer Backend Address Pool.\n\n\u003e **Note:** When using this resource, the Load Balancer needs to have a FrontEnd IP Configuration Attached\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"LoadBalancerRG\",\n    location: \"West Europe\",\n});\nconst examplePublicIp = new azure.network.PublicIp(\"example\", {\n    name: \"PublicIPForLB\",\n    location: example.location,\n    resourceGroupName: example.name,\n    allocationMethod: \"Static\",\n});\nconst exampleLoadBalancer = new azure.lb.LoadBalancer(\"example\", {\n    name: \"TestLoadBalancer\",\n    location: example.location,\n    resourceGroupName: example.name,\n    frontendIpConfigurations: [{\n        name: \"PublicIPAddress\",\n        publicIpAddressId: examplePublicIp.id,\n    }],\n});\nconst exampleBackendAddressPool = new azure.lb.BackendAddressPool(\"example\", {\n    loadbalancerId: exampleLoadBalancer.id,\n    name: \"BackEndAddressPool\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"LoadBalancerRG\",\n    location=\"West Europe\")\nexample_public_ip = azure.network.PublicIp(\"example\",\n    name=\"PublicIPForLB\",\n    location=example.location,\n    resource_group_name=example.name,\n    allocation_method=\"Static\")\nexample_load_balancer = azure.lb.LoadBalancer(\"example\",\n    name=\"TestLoadBalancer\",\n    location=example.location,\n    resource_group_name=example.name,\n    frontend_ip_configurations=[{\n        \"name\": \"PublicIPAddress\",\n        \"public_ip_address_id\": example_public_ip.id,\n    }])\nexample_backend_address_pool = azure.lb.BackendAddressPool(\"example\",\n    loadbalancer_id=example_load_balancer.id,\n    name=\"BackEndAddressPool\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"LoadBalancerRG\",\n        Location = \"West Europe\",\n    });\n\n    var examplePublicIp = new Azure.Network.PublicIp(\"example\", new()\n    {\n        Name = \"PublicIPForLB\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        AllocationMethod = \"Static\",\n    });\n\n    var exampleLoadBalancer = new Azure.Lb.LoadBalancer(\"example\", new()\n    {\n        Name = \"TestLoadBalancer\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        FrontendIpConfigurations = new[]\n        {\n            new Azure.Lb.Inputs.LoadBalancerFrontendIpConfigurationArgs\n            {\n                Name = \"PublicIPAddress\",\n                PublicIpAddressId = examplePublicIp.Id,\n            },\n        },\n    });\n\n    var exampleBackendAddressPool = new Azure.Lb.BackendAddressPool(\"example\", new()\n    {\n        LoadbalancerId = exampleLoadBalancer.Id,\n        Name = \"BackEndAddressPool\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/lb\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"LoadBalancerRG\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texamplePublicIp, err := network.NewPublicIp(ctx, \"example\", \u0026network.PublicIpArgs{\n\t\t\tName:              pulumi.String(\"PublicIPForLB\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tAllocationMethod:  pulumi.String(\"Static\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleLoadBalancer, err := lb.NewLoadBalancer(ctx, \"example\", \u0026lb.LoadBalancerArgs{\n\t\t\tName:              pulumi.String(\"TestLoadBalancer\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tFrontendIpConfigurations: lb.LoadBalancerFrontendIpConfigurationArray{\n\t\t\t\t\u0026lb.LoadBalancerFrontendIpConfigurationArgs{\n\t\t\t\t\tName:              pulumi.String(\"PublicIPAddress\"),\n\t\t\t\t\tPublicIpAddressId: examplePublicIp.ID(),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lb.NewBackendAddressPool(ctx, \"example\", \u0026lb.BackendAddressPoolArgs{\n\t\t\tLoadbalancerId: exampleLoadBalancer.ID(),\n\t\t\tName:           pulumi.String(\"BackEndAddressPool\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.PublicIp;\nimport com.pulumi.azure.network.PublicIpArgs;\nimport com.pulumi.azure.lb.LoadBalancer;\nimport com.pulumi.azure.lb.LoadBalancerArgs;\nimport com.pulumi.azure.lb.inputs.LoadBalancerFrontendIpConfigurationArgs;\nimport com.pulumi.azure.lb.BackendAddressPool;\nimport com.pulumi.azure.lb.BackendAddressPoolArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"LoadBalancerRG\")\n            .location(\"West Europe\")\n            .build());\n\n        var examplePublicIp = new PublicIp(\"examplePublicIp\", PublicIpArgs.builder()\n            .name(\"PublicIPForLB\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .allocationMethod(\"Static\")\n            .build());\n\n        var exampleLoadBalancer = new LoadBalancer(\"exampleLoadBalancer\", LoadBalancerArgs.builder()\n            .name(\"TestLoadBalancer\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .frontendIpConfigurations(LoadBalancerFrontendIpConfigurationArgs.builder()\n                .name(\"PublicIPAddress\")\n                .publicIpAddressId(examplePublicIp.id())\n                .build())\n            .build());\n\n        var exampleBackendAddressPool = new BackendAddressPool(\"exampleBackendAddressPool\", BackendAddressPoolArgs.builder()\n            .loadbalancerId(exampleLoadBalancer.id())\n            .name(\"BackEndAddressPool\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: LoadBalancerRG\n      location: West Europe\n  examplePublicIp:\n    type: azure:network:PublicIp\n    name: example\n    properties:\n      name: PublicIPForLB\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      allocationMethod: Static\n  exampleLoadBalancer:\n    type: azure:lb:LoadBalancer\n    name: example\n    properties:\n      name: TestLoadBalancer\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      frontendIpConfigurations:\n        - name: PublicIPAddress\n          publicIpAddressId: ${examplePublicIp.id}\n  exampleBackendAddressPool:\n    type: azure:lb:BackendAddressPool\n    name: example\n    properties:\n      loadbalancerId: ${exampleLoadBalancer.id}\n      name: BackEndAddressPool\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2023-09-01\n\n## Import\n\nLoad Balancer Backend Address Pools can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:lb/backendAddressPool:BackendAddressPool example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Network/loadBalancers/lb1/backendAddressPools/pool1\n```\n\n","properties":{"backendIpConfigurations":{"type":"array","items":{"type":"string"},"description":"The Backend IP Configurations associated with this Backend Address Pool.\n"},"inboundNatRules":{"type":"array","items":{"type":"string"},"description":"An array of the Load Balancing Inbound NAT Rules associated with this Backend Address Pool.\n"},"loadBalancingRules":{"type":"array","items":{"type":"string"},"description":"The Load Balancing Rules associated with this Backend Address Pool.\n"},"loadbalancerId":{"type":"string","description":"The ID of the Load Balancer in which to create the Backend Address Pool. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"Specifies the name of the Backend Address Pool. Changing this forces a new resource to be created.\n"},"outboundRules":{"type":"array","items":{"type":"string"},"description":"An array of the Load Balancing Outbound Rules associated with this Backend Address Pool.\n"},"synchronousMode":{"type":"string","description":"The backend address synchronous mode for the Backend Address Pool. Possible values are `Automatic` and `Manual`. This is required with \u003cspan pulumi-lang-nodejs=\"`virtualNetworkId`\" pulumi-lang-dotnet=\"`VirtualNetworkId`\" pulumi-lang-go=\"`virtualNetworkId`\" pulumi-lang-python=\"`virtual_network_id`\" pulumi-lang-yaml=\"`virtualNetworkId`\" pulumi-lang-java=\"`virtualNetworkId`\"\u003e`virtual_network_id`\u003c/span\u003e. Changing this forces a new resource to be created.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`synchronousMode`\" pulumi-lang-dotnet=\"`SynchronousMode`\" pulumi-lang-go=\"`synchronousMode`\" pulumi-lang-python=\"`synchronous_mode`\" pulumi-lang-yaml=\"`synchronousMode`\" pulumi-lang-java=\"`synchronousMode`\"\u003e`synchronous_mode`\u003c/span\u003e can set only for Load Balancer with `Standard` SKU.\n"},"tunnelInterfaces":{"type":"array","items":{"$ref":"#/types/azure:lb/BackendAddressPoolTunnelInterface:BackendAddressPoolTunnelInterface"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`tunnelInterface`\" pulumi-lang-dotnet=\"`TunnelInterface`\" pulumi-lang-go=\"`tunnelInterface`\" pulumi-lang-python=\"`tunnel_interface`\" pulumi-lang-yaml=\"`tunnelInterface`\" pulumi-lang-java=\"`tunnelInterface`\"\u003e`tunnel_interface`\u003c/span\u003e blocks as defined below.\n"},"virtualNetworkId":{"type":"string","description":"The ID of the Virtual Network within which the Backend Address Pool should exist.\n"}},"required":["backendIpConfigurations","inboundNatRules","loadBalancingRules","loadbalancerId","name","outboundRules"],"inputProperties":{"loadbalancerId":{"type":"string","description":"The ID of the Load Balancer in which to create the Backend Address Pool. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the Backend Address Pool. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"synchronousMode":{"type":"string","description":"The backend address synchronous mode for the Backend Address Pool. Possible values are `Automatic` and `Manual`. This is required with \u003cspan pulumi-lang-nodejs=\"`virtualNetworkId`\" pulumi-lang-dotnet=\"`VirtualNetworkId`\" pulumi-lang-go=\"`virtualNetworkId`\" pulumi-lang-python=\"`virtual_network_id`\" pulumi-lang-yaml=\"`virtualNetworkId`\" pulumi-lang-java=\"`virtualNetworkId`\"\u003e`virtual_network_id`\u003c/span\u003e. Changing this forces a new resource to be created.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`synchronousMode`\" pulumi-lang-dotnet=\"`SynchronousMode`\" pulumi-lang-go=\"`synchronousMode`\" pulumi-lang-python=\"`synchronous_mode`\" pulumi-lang-yaml=\"`synchronousMode`\" pulumi-lang-java=\"`synchronousMode`\"\u003e`synchronous_mode`\u003c/span\u003e can set only for Load Balancer with `Standard` SKU.\n","willReplaceOnChanges":true},"tunnelInterfaces":{"type":"array","items":{"$ref":"#/types/azure:lb/BackendAddressPoolTunnelInterface:BackendAddressPoolTunnelInterface"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`tunnelInterface`\" pulumi-lang-dotnet=\"`TunnelInterface`\" pulumi-lang-go=\"`tunnelInterface`\" pulumi-lang-python=\"`tunnel_interface`\" pulumi-lang-yaml=\"`tunnelInterface`\" pulumi-lang-java=\"`tunnelInterface`\"\u003e`tunnel_interface`\u003c/span\u003e blocks as defined below.\n"},"virtualNetworkId":{"type":"string","description":"The ID of the Virtual Network within which the Backend Address Pool should exist.\n"}},"requiredInputs":["loadbalancerId"],"stateInputs":{"description":"Input properties used for looking up and filtering BackendAddressPool resources.\n","properties":{"backendIpConfigurations":{"type":"array","items":{"type":"string"},"description":"The Backend IP Configurations associated with this Backend Address Pool.\n"},"inboundNatRules":{"type":"array","items":{"type":"string"},"description":"An array of the Load Balancing Inbound NAT Rules associated with this Backend Address Pool.\n"},"loadBalancingRules":{"type":"array","items":{"type":"string"},"description":"The Load Balancing Rules associated with this Backend Address Pool.\n"},"loadbalancerId":{"type":"string","description":"The ID of the Load Balancer in which to create the Backend Address Pool. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the Backend Address Pool. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"outboundRules":{"type":"array","items":{"type":"string"},"description":"An array of the Load Balancing Outbound Rules associated with this Backend Address Pool.\n"},"synchronousMode":{"type":"string","description":"The backend address synchronous mode for the Backend Address Pool. Possible values are `Automatic` and `Manual`. This is required with \u003cspan pulumi-lang-nodejs=\"`virtualNetworkId`\" pulumi-lang-dotnet=\"`VirtualNetworkId`\" pulumi-lang-go=\"`virtualNetworkId`\" pulumi-lang-python=\"`virtual_network_id`\" pulumi-lang-yaml=\"`virtualNetworkId`\" pulumi-lang-java=\"`virtualNetworkId`\"\u003e`virtual_network_id`\u003c/span\u003e. Changing this forces a new resource to be created.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`synchronousMode`\" pulumi-lang-dotnet=\"`SynchronousMode`\" pulumi-lang-go=\"`synchronousMode`\" pulumi-lang-python=\"`synchronous_mode`\" pulumi-lang-yaml=\"`synchronousMode`\" pulumi-lang-java=\"`synchronousMode`\"\u003e`synchronous_mode`\u003c/span\u003e can set only for Load Balancer with `Standard` SKU.\n","willReplaceOnChanges":true},"tunnelInterfaces":{"type":"array","items":{"$ref":"#/types/azure:lb/BackendAddressPoolTunnelInterface:BackendAddressPoolTunnelInterface"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`tunnelInterface`\" pulumi-lang-dotnet=\"`TunnelInterface`\" pulumi-lang-go=\"`tunnelInterface`\" pulumi-lang-python=\"`tunnel_interface`\" pulumi-lang-yaml=\"`tunnelInterface`\" pulumi-lang-java=\"`tunnelInterface`\"\u003e`tunnel_interface`\u003c/span\u003e blocks as defined below.\n"},"virtualNetworkId":{"type":"string","description":"The ID of the Virtual Network within which the Backend Address Pool should exist.\n"}},"type":"object"}},"azure:lb/backendAddressPoolAddress:BackendAddressPoolAddress":{"description":"Manages a Backend Address within a Backend Address Pool.\n\n\u003e **Note:** Backend Addresses can only be added to a `Standard` SKU Load Balancer.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.network.getVirtualNetwork({\n    name: \"example-network\",\n    resourceGroupName: \"example-resources\",\n});\nconst exampleGetLB = azure.lb.getLB({\n    name: \"example-lb\",\n    resourceGroupName: \"example-resources\",\n});\nconst exampleGetBackendAddressPool = exampleGetLB.then(exampleGetLB =\u003e azure.lb.getBackendAddressPool({\n    name: \"first\",\n    loadbalancerId: exampleGetLB.id,\n}));\nconst exampleBackendAddressPoolAddress = new azure.lb.BackendAddressPoolAddress(\"example\", {\n    name: \"example\",\n    backendAddressPoolId: exampleGetBackendAddressPool.then(exampleGetBackendAddressPool =\u003e exampleGetBackendAddressPool.id),\n    virtualNetworkId: example.then(example =\u003e example.id),\n    ipAddress: \"10.0.0.1\",\n});\nconst backend_pool_cr = exampleGetLB.then(exampleGetLB =\u003e azure.lb.getBackendAddressPool({\n    name: \"globalLBBackendPool\",\n    loadbalancerId: exampleGetLB.id,\n}));\nconst example_1 = new azure.lb.BackendAddressPoolAddress(\"example-1\", {\n    name: \"address1\",\n    backendAddressPoolId: backend_pool_cr.then(backend_pool_cr =\u003e backend_pool_cr.id),\n    backendAddressIpConfigurationId: backend_lb_R1.frontendIpConfiguration[0].id,\n});\nconst example_2 = new azure.lb.BackendAddressPoolAddress(\"example-2\", {\n    name: \"address2\",\n    backendAddressPoolId: backend_pool_cr.then(backend_pool_cr =\u003e backend_pool_cr.id),\n    backendAddressIpConfigurationId: backend_lb_R2.frontendIpConfiguration[0].id,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.network.get_virtual_network(name=\"example-network\",\n    resource_group_name=\"example-resources\")\nexample_get_lb = azure.lb.get_lb(name=\"example-lb\",\n    resource_group_name=\"example-resources\")\nexample_get_backend_address_pool = azure.lb.get_backend_address_pool(name=\"first\",\n    loadbalancer_id=example_get_lb.id)\nexample_backend_address_pool_address = azure.lb.BackendAddressPoolAddress(\"example\",\n    name=\"example\",\n    backend_address_pool_id=example_get_backend_address_pool.id,\n    virtual_network_id=example.id,\n    ip_address=\"10.0.0.1\")\nbackend_pool_cr = azure.lb.get_backend_address_pool(name=\"globalLBBackendPool\",\n    loadbalancer_id=example_get_lb.id)\nexample_1 = azure.lb.BackendAddressPoolAddress(\"example-1\",\n    name=\"address1\",\n    backend_address_pool_id=backend_pool_cr.id,\n    backend_address_ip_configuration_id=backend_lb__r1[\"frontendIpConfiguration\"][0][\"id\"])\nexample_2 = azure.lb.BackendAddressPoolAddress(\"example-2\",\n    name=\"address2\",\n    backend_address_pool_id=backend_pool_cr.id,\n    backend_address_ip_configuration_id=backend_lb__r2[\"frontendIpConfiguration\"][0][\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Network.GetVirtualNetwork.Invoke(new()\n    {\n        Name = \"example-network\",\n        ResourceGroupName = \"example-resources\",\n    });\n\n    var exampleGetLB = Azure.Lb.GetLB.Invoke(new()\n    {\n        Name = \"example-lb\",\n        ResourceGroupName = \"example-resources\",\n    });\n\n    var exampleGetBackendAddressPool = Azure.Lb.GetBackendAddressPool.Invoke(new()\n    {\n        Name = \"first\",\n        LoadbalancerId = exampleGetLB.Apply(getLBResult =\u003e getLBResult.Id),\n    });\n\n    var exampleBackendAddressPoolAddress = new Azure.Lb.BackendAddressPoolAddress(\"example\", new()\n    {\n        Name = \"example\",\n        BackendAddressPoolId = exampleGetBackendAddressPool.Apply(getBackendAddressPoolResult =\u003e getBackendAddressPoolResult.Id),\n        VirtualNetworkId = example.Apply(getVirtualNetworkResult =\u003e getVirtualNetworkResult.Id),\n        IpAddress = \"10.0.0.1\",\n    });\n\n    var backend_pool_cr = Azure.Lb.GetBackendAddressPool.Invoke(new()\n    {\n        Name = \"globalLBBackendPool\",\n        LoadbalancerId = exampleGetLB.Apply(getLBResult =\u003e getLBResult.Id),\n    });\n\n    var example_1 = new Azure.Lb.BackendAddressPoolAddress(\"example-1\", new()\n    {\n        Name = \"address1\",\n        BackendAddressPoolId = backend_pool_cr.Apply(backend_pool_cr =\u003e backend_pool_cr.Apply(getBackendAddressPoolResult =\u003e getBackendAddressPoolResult.Id)),\n        BackendAddressIpConfigurationId = backend_lb_R1.FrontendIpConfiguration[0].Id,\n    });\n\n    var example_2 = new Azure.Lb.BackendAddressPoolAddress(\"example-2\", new()\n    {\n        Name = \"address2\",\n        BackendAddressPoolId = backend_pool_cr.Apply(backend_pool_cr =\u003e backend_pool_cr.Apply(getBackendAddressPoolResult =\u003e getBackendAddressPoolResult.Id)),\n        BackendAddressIpConfigurationId = backend_lb_R2.FrontendIpConfiguration[0].Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/lb\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := network.LookupVirtualNetwork(ctx, \u0026network.LookupVirtualNetworkArgs{\n\t\t\tName:              \"example-network\",\n\t\t\tResourceGroupName: \"example-resources\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleGetLB, err := lb.GetLB(ctx, \u0026lb.GetLBArgs{\n\t\t\tName:              \"example-lb\",\n\t\t\tResourceGroupName: \"example-resources\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleGetBackendAddressPool, err := lb.LookupBackendAddressPool(ctx, \u0026lb.LookupBackendAddressPoolArgs{\n\t\t\tName:           \"first\",\n\t\t\tLoadbalancerId: exampleGetLB.Id,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lb.NewBackendAddressPoolAddress(ctx, \"example\", \u0026lb.BackendAddressPoolAddressArgs{\n\t\t\tName:                 pulumi.String(\"example\"),\n\t\t\tBackendAddressPoolId: pulumi.String(exampleGetBackendAddressPool.Id),\n\t\t\tVirtualNetworkId:     pulumi.String(example.Id),\n\t\t\tIpAddress:            pulumi.String(\"10.0.0.1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tbackend_pool_cr, err := lb.LookupBackendAddressPool(ctx, \u0026lb.LookupBackendAddressPoolArgs{\n\t\t\tName:           \"globalLBBackendPool\",\n\t\t\tLoadbalancerId: exampleGetLB.Id,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lb.NewBackendAddressPoolAddress(ctx, \"example-1\", \u0026lb.BackendAddressPoolAddressArgs{\n\t\t\tName:                            pulumi.String(\"address1\"),\n\t\t\tBackendAddressPoolId:            pulumi.String(backend_pool_cr.Id),\n\t\t\tBackendAddressIpConfigurationId: pulumi.Any(backend_lb_R1.FrontendIpConfiguration[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lb.NewBackendAddressPoolAddress(ctx, \"example-2\", \u0026lb.BackendAddressPoolAddressArgs{\n\t\t\tName:                            pulumi.String(\"address2\"),\n\t\t\tBackendAddressPoolId:            pulumi.String(backend_pool_cr.Id),\n\t\t\tBackendAddressIpConfigurationId: pulumi.Any(backend_lb_R2.FrontendIpConfiguration[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.network.NetworkFunctions;\nimport com.pulumi.azure.network.inputs.GetVirtualNetworkArgs;\nimport com.pulumi.azure.lb.LbFunctions;\nimport com.pulumi.azure.lb.inputs.GetLBArgs;\nimport com.pulumi.azure.lb.inputs.GetBackendAddressPoolArgs;\nimport com.pulumi.azure.lb.BackendAddressPoolAddress;\nimport com.pulumi.azure.lb.BackendAddressPoolAddressArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = NetworkFunctions.getVirtualNetwork(GetVirtualNetworkArgs.builder()\n            .name(\"example-network\")\n            .resourceGroupName(\"example-resources\")\n            .build());\n\n        final var exampleGetLB = LbFunctions.getLB(GetLBArgs.builder()\n            .name(\"example-lb\")\n            .resourceGroupName(\"example-resources\")\n            .build());\n\n        final var exampleGetBackendAddressPool = LbFunctions.getBackendAddressPool(GetBackendAddressPoolArgs.builder()\n            .name(\"first\")\n            .loadbalancerId(exampleGetLB.id())\n            .build());\n\n        var exampleBackendAddressPoolAddress = new BackendAddressPoolAddress(\"exampleBackendAddressPoolAddress\", BackendAddressPoolAddressArgs.builder()\n            .name(\"example\")\n            .backendAddressPoolId(exampleGetBackendAddressPool.id())\n            .virtualNetworkId(example.id())\n            .ipAddress(\"10.0.0.1\")\n            .build());\n\n        final var backend-pool-cr = LbFunctions.getBackendAddressPool(GetBackendAddressPoolArgs.builder()\n            .name(\"globalLBBackendPool\")\n            .loadbalancerId(exampleGetLB.id())\n            .build());\n\n        var example_1 = new BackendAddressPoolAddress(\"example-1\", BackendAddressPoolAddressArgs.builder()\n            .name(\"address1\")\n            .backendAddressPoolId(backend_pool_cr.id())\n            .backendAddressIpConfigurationId(backend_lb_R1.frontendIpConfiguration()[0].id())\n            .build());\n\n        var example_2 = new BackendAddressPoolAddress(\"example-2\", BackendAddressPoolAddressArgs.builder()\n            .name(\"address2\")\n            .backendAddressPoolId(backend_pool_cr.id())\n            .backendAddressIpConfigurationId(backend_lb_R2.frontendIpConfiguration()[0].id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleBackendAddressPoolAddress:\n    type: azure:lb:BackendAddressPoolAddress\n    name: example\n    properties:\n      name: example\n      backendAddressPoolId: ${exampleGetBackendAddressPool.id}\n      virtualNetworkId: ${example.id}\n      ipAddress: 10.0.0.1\n  example-1:\n    type: azure:lb:BackendAddressPoolAddress\n    properties:\n      name: address1\n      backendAddressPoolId: ${[\"backend-pool-cr\"].id}\n      backendAddressIpConfigurationId: ${[\"backend-lb-R1\"].frontendIpConfiguration[0].id}\n  example-2:\n    type: azure:lb:BackendAddressPoolAddress\n    properties:\n      name: address2\n      backendAddressPoolId: ${[\"backend-pool-cr\"].id}\n      backendAddressIpConfigurationId: ${[\"backend-lb-R2\"].frontendIpConfiguration[0].id}\nvariables:\n  example:\n    fn::invoke:\n      function: azure:network:getVirtualNetwork\n      arguments:\n        name: example-network\n        resourceGroupName: example-resources\n  exampleGetLB:\n    fn::invoke:\n      function: azure:lb:getLB\n      arguments:\n        name: example-lb\n        resourceGroupName: example-resources\n  exampleGetBackendAddressPool:\n    fn::invoke:\n      function: azure:lb:getBackendAddressPool\n      arguments:\n        name: first\n        loadbalancerId: ${exampleGetLB.id}\n  backend-pool-cr:\n    fn::invoke:\n      function: azure:lb:getBackendAddressPool\n      arguments:\n        name: globalLBBackendPool\n        loadbalancerId: ${exampleGetLB.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2023-09-01\n\n## Import\n\nBackend Address Pool Addresses can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:lb/backendAddressPoolAddress:BackendAddressPoolAddress example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Network/loadBalancers/loadBalancer1/backendAddressPools/backendAddressPool1/addresses/address1\n```\n\n","properties":{"backendAddressIpConfigurationId":{"type":"string","description":"The ip config ID of the regional load balancer that's added to the global load balancer's backend address pool.\n\n\u003e **Note:** For cross-region load balancer, please append the name of the load balancers, virtual machines, and other resources in each region with a -R1 and -R2.\n"},"backendAddressPoolId":{"type":"string","description":"The ID of the Backend Address Pool. Changing this forces a new Backend Address Pool Address to be created.\n"},"inboundNatRulePortMappings":{"type":"array","items":{"$ref":"#/types/azure:lb/BackendAddressPoolAddressInboundNatRulePortMapping:BackendAddressPoolAddressInboundNatRulePortMapping"},"description":"A list of \u003cspan pulumi-lang-nodejs=\"`inboundNatRulePortMapping`\" pulumi-lang-dotnet=\"`InboundNatRulePortMapping`\" pulumi-lang-go=\"`inboundNatRulePortMapping`\" pulumi-lang-python=\"`inbound_nat_rule_port_mapping`\" pulumi-lang-yaml=\"`inboundNatRulePortMapping`\" pulumi-lang-java=\"`inboundNatRulePortMapping`\"\u003e`inbound_nat_rule_port_mapping`\u003c/span\u003e block as defined below.\n"},"ipAddress":{"type":"string","description":"The Static IP Address which should be allocated to this Backend Address Pool.\n"},"name":{"type":"string","description":"The name which should be used for this Backend Address Pool Address. Changing this forces a new Backend Address Pool Address to be created.\n"},"virtualNetworkId":{"type":"string","description":"The ID of the Virtual Network within which the Backend Address Pool should exist.\n"}},"required":["backendAddressPoolId","inboundNatRulePortMappings","name"],"inputProperties":{"backendAddressIpConfigurationId":{"type":"string","description":"The ip config ID of the regional load balancer that's added to the global load balancer's backend address pool.\n\n\u003e **Note:** For cross-region load balancer, please append the name of the load balancers, virtual machines, and other resources in each region with a -R1 and -R2.\n"},"backendAddressPoolId":{"type":"string","description":"The ID of the Backend Address Pool. Changing this forces a new Backend Address Pool Address to be created.\n","willReplaceOnChanges":true},"ipAddress":{"type":"string","description":"The Static IP Address which should be allocated to this Backend Address Pool.\n"},"name":{"type":"string","description":"The name which should be used for this Backend Address Pool Address. Changing this forces a new Backend Address Pool Address to be created.\n","willReplaceOnChanges":true},"virtualNetworkId":{"type":"string","description":"The ID of the Virtual Network within which the Backend Address Pool should exist.\n"}},"requiredInputs":["backendAddressPoolId"],"stateInputs":{"description":"Input properties used for looking up and filtering BackendAddressPoolAddress resources.\n","properties":{"backendAddressIpConfigurationId":{"type":"string","description":"The ip config ID of the regional load balancer that's added to the global load balancer's backend address pool.\n\n\u003e **Note:** For cross-region load balancer, please append the name of the load balancers, virtual machines, and other resources in each region with a -R1 and -R2.\n"},"backendAddressPoolId":{"type":"string","description":"The ID of the Backend Address Pool. Changing this forces a new Backend Address Pool Address to be created.\n","willReplaceOnChanges":true},"inboundNatRulePortMappings":{"type":"array","items":{"$ref":"#/types/azure:lb/BackendAddressPoolAddressInboundNatRulePortMapping:BackendAddressPoolAddressInboundNatRulePortMapping"},"description":"A list of \u003cspan pulumi-lang-nodejs=\"`inboundNatRulePortMapping`\" pulumi-lang-dotnet=\"`InboundNatRulePortMapping`\" pulumi-lang-go=\"`inboundNatRulePortMapping`\" pulumi-lang-python=\"`inbound_nat_rule_port_mapping`\" pulumi-lang-yaml=\"`inboundNatRulePortMapping`\" pulumi-lang-java=\"`inboundNatRulePortMapping`\"\u003e`inbound_nat_rule_port_mapping`\u003c/span\u003e block as defined below.\n"},"ipAddress":{"type":"string","description":"The Static IP Address which should be allocated to this Backend Address Pool.\n"},"name":{"type":"string","description":"The name which should be used for this Backend Address Pool Address. Changing this forces a new Backend Address Pool Address to be created.\n","willReplaceOnChanges":true},"virtualNetworkId":{"type":"string","description":"The ID of the Virtual Network within which the Backend Address Pool should exist.\n"}},"type":"object"}},"azure:lb/loadBalancer:LoadBalancer":{"description":"Manages a Load Balancer Resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"LoadBalancerRG\",\n    location: \"West Europe\",\n});\nconst examplePublicIp = new azure.network.PublicIp(\"example\", {\n    name: \"PublicIPForLB\",\n    location: example.location,\n    resourceGroupName: example.name,\n    allocationMethod: \"Static\",\n});\nconst exampleLoadBalancer = new azure.lb.LoadBalancer(\"example\", {\n    name: \"TestLoadBalancer\",\n    location: example.location,\n    resourceGroupName: example.name,\n    frontendIpConfigurations: [{\n        name: \"PublicIPAddress\",\n        publicIpAddressId: examplePublicIp.id,\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"LoadBalancerRG\",\n    location=\"West Europe\")\nexample_public_ip = azure.network.PublicIp(\"example\",\n    name=\"PublicIPForLB\",\n    location=example.location,\n    resource_group_name=example.name,\n    allocation_method=\"Static\")\nexample_load_balancer = azure.lb.LoadBalancer(\"example\",\n    name=\"TestLoadBalancer\",\n    location=example.location,\n    resource_group_name=example.name,\n    frontend_ip_configurations=[{\n        \"name\": \"PublicIPAddress\",\n        \"public_ip_address_id\": example_public_ip.id,\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"LoadBalancerRG\",\n        Location = \"West Europe\",\n    });\n\n    var examplePublicIp = new Azure.Network.PublicIp(\"example\", new()\n    {\n        Name = \"PublicIPForLB\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        AllocationMethod = \"Static\",\n    });\n\n    var exampleLoadBalancer = new Azure.Lb.LoadBalancer(\"example\", new()\n    {\n        Name = \"TestLoadBalancer\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        FrontendIpConfigurations = new[]\n        {\n            new Azure.Lb.Inputs.LoadBalancerFrontendIpConfigurationArgs\n            {\n                Name = \"PublicIPAddress\",\n                PublicIpAddressId = examplePublicIp.Id,\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/lb\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"LoadBalancerRG\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texamplePublicIp, err := network.NewPublicIp(ctx, \"example\", \u0026network.PublicIpArgs{\n\t\t\tName:              pulumi.String(\"PublicIPForLB\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tAllocationMethod:  pulumi.String(\"Static\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lb.NewLoadBalancer(ctx, \"example\", \u0026lb.LoadBalancerArgs{\n\t\t\tName:              pulumi.String(\"TestLoadBalancer\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tFrontendIpConfigurations: lb.LoadBalancerFrontendIpConfigurationArray{\n\t\t\t\t\u0026lb.LoadBalancerFrontendIpConfigurationArgs{\n\t\t\t\t\tName:              pulumi.String(\"PublicIPAddress\"),\n\t\t\t\t\tPublicIpAddressId: examplePublicIp.ID(),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.PublicIp;\nimport com.pulumi.azure.network.PublicIpArgs;\nimport com.pulumi.azure.lb.LoadBalancer;\nimport com.pulumi.azure.lb.LoadBalancerArgs;\nimport com.pulumi.azure.lb.inputs.LoadBalancerFrontendIpConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"LoadBalancerRG\")\n            .location(\"West Europe\")\n            .build());\n\n        var examplePublicIp = new PublicIp(\"examplePublicIp\", PublicIpArgs.builder()\n            .name(\"PublicIPForLB\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .allocationMethod(\"Static\")\n            .build());\n\n        var exampleLoadBalancer = new LoadBalancer(\"exampleLoadBalancer\", LoadBalancerArgs.builder()\n            .name(\"TestLoadBalancer\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .frontendIpConfigurations(LoadBalancerFrontendIpConfigurationArgs.builder()\n                .name(\"PublicIPAddress\")\n                .publicIpAddressId(examplePublicIp.id())\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: LoadBalancerRG\n      location: West Europe\n  examplePublicIp:\n    type: azure:network:PublicIp\n    name: example\n    properties:\n      name: PublicIPForLB\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      allocationMethod: Static\n  exampleLoadBalancer:\n    type: azure:lb:LoadBalancer\n    name: example\n    properties:\n      name: TestLoadBalancer\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      frontendIpConfigurations:\n        - name: PublicIPAddress\n          publicIpAddressId: ${examplePublicIp.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2023-09-01\n\n## Import\n\nLoad Balancers can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:lb/loadBalancer:LoadBalancer example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Network/loadBalancers/lb1\n```\n\n","properties":{"edgeZone":{"type":"string","description":"Specifies the Edge Zone within the Azure Region where this Load Balancer should exist. Changing this forces a new Load Balancer to be created.\n"},"frontendIpConfigurations":{"type":"array","items":{"$ref":"#/types/azure:lb/LoadBalancerFrontendIpConfiguration:LoadBalancerFrontendIpConfiguration"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`frontendIpConfiguration`\" pulumi-lang-dotnet=\"`FrontendIpConfiguration`\" pulumi-lang-go=\"`frontendIpConfiguration`\" pulumi-lang-python=\"`frontend_ip_configuration`\" pulumi-lang-yaml=\"`frontendIpConfiguration`\" pulumi-lang-java=\"`frontendIpConfiguration`\"\u003e`frontend_ip_configuration`\u003c/span\u003e blocks as documented below.\n\n\u003e **Note:** Azure Load Balancer does not allow the complete removal of all previously attached frontend configurations. If you have previously applied with one or more \u003cspan pulumi-lang-nodejs=\"`frontendIpConfiguration`\" pulumi-lang-dotnet=\"`FrontendIpConfiguration`\" pulumi-lang-go=\"`frontendIpConfiguration`\" pulumi-lang-python=\"`frontend_ip_configuration`\" pulumi-lang-yaml=\"`frontendIpConfiguration`\" pulumi-lang-java=\"`frontendIpConfiguration`\"\u003e`frontend_ip_configuration`\u003c/span\u003e arguments, the removal of them all will result in a replacement  (destroy/create) of the Load Balancer.\n"},"location":{"type":"string","description":"Specifies the supported Azure Region where the Load Balancer should be created. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"Specifies the name of the Load Balancer. Changing this forces a new resource to be created.\n"},"privateIpAddress":{"type":"string","description":"Private IP Address to assign to the Load Balancer.\n"},"privateIpAddresses":{"type":"array","items":{"type":"string"},"description":"The list of private IP address assigned to the load balancer in \u003cspan pulumi-lang-nodejs=\"`frontendIpConfiguration`\" pulumi-lang-dotnet=\"`FrontendIpConfiguration`\" pulumi-lang-go=\"`frontendIpConfiguration`\" pulumi-lang-python=\"`frontend_ip_configuration`\" pulumi-lang-yaml=\"`frontendIpConfiguration`\" pulumi-lang-java=\"`frontendIpConfiguration`\"\u003e`frontend_ip_configuration`\u003c/span\u003e blocks, if any.\n"},"publicIpAddressId":{"type":"string","description":"The ID of a Public IP Address which is associated with this Load Balancer.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group in which to create the Load Balancer. Changing this forces a new resource to be created.\n"},"sku":{"type":"string","description":"The SKU of the Azure Load Balancer. Accepted values are `Basic`, `Standard` and `Gateway`. Defaults to `Standard`. Changing this forces a new resource to be created.\n\n\u003e **Note:** The `Microsoft.Network/AllowGatewayLoadBalancer` feature is required to be registered in order to use the `Gateway` SKU. The feature can only be registered by the Azure service team, please submit an [Azure support ticket](https://azure.microsoft.com/en-us/support/create-ticket/) for that.\n"},"skuTier":{"type":"string","description":"\u003cspan pulumi-lang-nodejs=\"`skuTier`\" pulumi-lang-dotnet=\"`SkuTier`\" pulumi-lang-go=\"`skuTier`\" pulumi-lang-python=\"`sku_tier`\" pulumi-lang-yaml=\"`skuTier`\" pulumi-lang-java=\"`skuTier`\"\u003e`sku_tier`\u003c/span\u003e - (Optional) The SKU tier of this Load Balancer. Possible values are `Global` and `Regional`. Defaults to `Regional`. Changing this forces a new resource to be created.\n"},"subnetId":{"type":"string","description":"The ID of the Subnet which is associated with the IP Configuration.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"required":["location","name","privateIpAddress","privateIpAddresses","publicIpAddressId","resourceGroupName","subnetId"],"inputProperties":{"edgeZone":{"type":"string","description":"Specifies the Edge Zone within the Azure Region where this Load Balancer should exist. Changing this forces a new Load Balancer to be created.\n","willReplaceOnChanges":true},"frontendIpConfigurations":{"type":"array","items":{"$ref":"#/types/azure:lb/LoadBalancerFrontendIpConfiguration:LoadBalancerFrontendIpConfiguration"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`frontendIpConfiguration`\" pulumi-lang-dotnet=\"`FrontendIpConfiguration`\" pulumi-lang-go=\"`frontendIpConfiguration`\" pulumi-lang-python=\"`frontend_ip_configuration`\" pulumi-lang-yaml=\"`frontendIpConfiguration`\" pulumi-lang-java=\"`frontendIpConfiguration`\"\u003e`frontend_ip_configuration`\u003c/span\u003e blocks as documented below.\n\n\u003e **Note:** Azure Load Balancer does not allow the complete removal of all previously attached frontend configurations. If you have previously applied with one or more \u003cspan pulumi-lang-nodejs=\"`frontendIpConfiguration`\" pulumi-lang-dotnet=\"`FrontendIpConfiguration`\" pulumi-lang-go=\"`frontendIpConfiguration`\" pulumi-lang-python=\"`frontend_ip_configuration`\" pulumi-lang-yaml=\"`frontendIpConfiguration`\" pulumi-lang-java=\"`frontendIpConfiguration`\"\u003e`frontend_ip_configuration`\u003c/span\u003e arguments, the removal of them all will result in a replacement  (destroy/create) of the Load Balancer.\n"},"location":{"type":"string","description":"Specifies the supported Azure Region where the Load Balancer should be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the Load Balancer. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"publicIpAddressId":{"type":"string","description":"The ID of a Public IP Address which is associated with this Load Balancer.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group in which to create the Load Balancer. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sku":{"type":"string","description":"The SKU of the Azure Load Balancer. Accepted values are `Basic`, `Standard` and `Gateway`. Defaults to `Standard`. Changing this forces a new resource to be created.\n\n\u003e **Note:** The `Microsoft.Network/AllowGatewayLoadBalancer` feature is required to be registered in order to use the `Gateway` SKU. The feature can only be registered by the Azure service team, please submit an [Azure support ticket](https://azure.microsoft.com/en-us/support/create-ticket/) for that.\n","willReplaceOnChanges":true},"skuTier":{"type":"string","description":"\u003cspan pulumi-lang-nodejs=\"`skuTier`\" pulumi-lang-dotnet=\"`SkuTier`\" pulumi-lang-go=\"`skuTier`\" pulumi-lang-python=\"`sku_tier`\" pulumi-lang-yaml=\"`skuTier`\" pulumi-lang-java=\"`skuTier`\"\u003e`sku_tier`\u003c/span\u003e - (Optional) The SKU tier of this Load Balancer. Possible values are `Global` and `Regional`. Defaults to `Regional`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"subnetId":{"type":"string","description":"The ID of the Subnet which is associated with the IP Configuration.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"requiredInputs":["resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering LoadBalancer resources.\n","properties":{"edgeZone":{"type":"string","description":"Specifies the Edge Zone within the Azure Region where this Load Balancer should exist. Changing this forces a new Load Balancer to be created.\n","willReplaceOnChanges":true},"frontendIpConfigurations":{"type":"array","items":{"$ref":"#/types/azure:lb/LoadBalancerFrontendIpConfiguration:LoadBalancerFrontendIpConfiguration"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`frontendIpConfiguration`\" pulumi-lang-dotnet=\"`FrontendIpConfiguration`\" pulumi-lang-go=\"`frontendIpConfiguration`\" pulumi-lang-python=\"`frontend_ip_configuration`\" pulumi-lang-yaml=\"`frontendIpConfiguration`\" pulumi-lang-java=\"`frontendIpConfiguration`\"\u003e`frontend_ip_configuration`\u003c/span\u003e blocks as documented below.\n\n\u003e **Note:** Azure Load Balancer does not allow the complete removal of all previously attached frontend configurations. If you have previously applied with one or more \u003cspan pulumi-lang-nodejs=\"`frontendIpConfiguration`\" pulumi-lang-dotnet=\"`FrontendIpConfiguration`\" pulumi-lang-go=\"`frontendIpConfiguration`\" pulumi-lang-python=\"`frontend_ip_configuration`\" pulumi-lang-yaml=\"`frontendIpConfiguration`\" pulumi-lang-java=\"`frontendIpConfiguration`\"\u003e`frontend_ip_configuration`\u003c/span\u003e arguments, the removal of them all will result in a replacement  (destroy/create) of the Load Balancer.\n"},"location":{"type":"string","description":"Specifies the supported Azure Region where the Load Balancer should be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the Load Balancer. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"privateIpAddress":{"type":"string","description":"Private IP Address to assign to the Load Balancer.\n"},"privateIpAddresses":{"type":"array","items":{"type":"string"},"description":"The list of private IP address assigned to the load balancer in \u003cspan pulumi-lang-nodejs=\"`frontendIpConfiguration`\" pulumi-lang-dotnet=\"`FrontendIpConfiguration`\" pulumi-lang-go=\"`frontendIpConfiguration`\" pulumi-lang-python=\"`frontend_ip_configuration`\" pulumi-lang-yaml=\"`frontendIpConfiguration`\" pulumi-lang-java=\"`frontendIpConfiguration`\"\u003e`frontend_ip_configuration`\u003c/span\u003e blocks, if any.\n"},"publicIpAddressId":{"type":"string","description":"The ID of a Public IP Address which is associated with this Load Balancer.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group in which to create the Load Balancer. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sku":{"type":"string","description":"The SKU of the Azure Load Balancer. Accepted values are `Basic`, `Standard` and `Gateway`. Defaults to `Standard`. Changing this forces a new resource to be created.\n\n\u003e **Note:** The `Microsoft.Network/AllowGatewayLoadBalancer` feature is required to be registered in order to use the `Gateway` SKU. The feature can only be registered by the Azure service team, please submit an [Azure support ticket](https://azure.microsoft.com/en-us/support/create-ticket/) for that.\n","willReplaceOnChanges":true},"skuTier":{"type":"string","description":"\u003cspan pulumi-lang-nodejs=\"`skuTier`\" pulumi-lang-dotnet=\"`SkuTier`\" pulumi-lang-go=\"`skuTier`\" pulumi-lang-python=\"`sku_tier`\" pulumi-lang-yaml=\"`skuTier`\" pulumi-lang-java=\"`skuTier`\"\u003e`sku_tier`\u003c/span\u003e - (Optional) The SKU tier of this Load Balancer. Possible values are `Global` and `Regional`. Defaults to `Regional`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"subnetId":{"type":"string","description":"The ID of the Subnet which is associated with the IP Configuration.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"type":"object"}},"azure:lb/natPool:NatPool":{"description":"Manages a Load Balancer NAT pool.\n\n\u003e **Note:** This resource cannot be used with with virtual machines, instead use the \u003cspan pulumi-lang-nodejs=\"`azure.lb.NatRule`\" pulumi-lang-dotnet=\"`azure.lb.NatRule`\" pulumi-lang-go=\"`lb.NatRule`\" pulumi-lang-python=\"`lb.NatRule`\" pulumi-lang-yaml=\"`azure.lb.NatRule`\" pulumi-lang-java=\"`azure.lb.NatRule`\"\u003e`azure.lb.NatRule`\u003c/span\u003e resource.\n\n\u003e **Note:** When using this resource, the Load Balancer needs to have a FrontEnd IP Configuration Attached\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"LoadBalancerRG\",\n    location: \"West Europe\",\n});\nconst examplePublicIp = new azure.network.PublicIp(\"example\", {\n    name: \"PublicIPForLB\",\n    location: example.location,\n    resourceGroupName: example.name,\n    allocationMethod: \"Static\",\n});\nconst exampleLoadBalancer = new azure.lb.LoadBalancer(\"example\", {\n    name: \"TestLoadBalancer\",\n    location: example.location,\n    resourceGroupName: example.name,\n    frontendIpConfigurations: [{\n        name: \"PublicIPAddress\",\n        publicIpAddressId: examplePublicIp.id,\n    }],\n});\nconst exampleNatPool = new azure.lb.NatPool(\"example\", {\n    resourceGroupName: example.name,\n    loadbalancerId: exampleLoadBalancer.id,\n    name: \"SampleApplicationPool\",\n    protocol: \"Tcp\",\n    frontendPortStart: 80,\n    frontendPortEnd: 81,\n    backendPort: 8080,\n    frontendIpConfigurationName: \"PublicIPAddress\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"LoadBalancerRG\",\n    location=\"West Europe\")\nexample_public_ip = azure.network.PublicIp(\"example\",\n    name=\"PublicIPForLB\",\n    location=example.location,\n    resource_group_name=example.name,\n    allocation_method=\"Static\")\nexample_load_balancer = azure.lb.LoadBalancer(\"example\",\n    name=\"TestLoadBalancer\",\n    location=example.location,\n    resource_group_name=example.name,\n    frontend_ip_configurations=[{\n        \"name\": \"PublicIPAddress\",\n        \"public_ip_address_id\": example_public_ip.id,\n    }])\nexample_nat_pool = azure.lb.NatPool(\"example\",\n    resource_group_name=example.name,\n    loadbalancer_id=example_load_balancer.id,\n    name=\"SampleApplicationPool\",\n    protocol=\"Tcp\",\n    frontend_port_start=80,\n    frontend_port_end=81,\n    backend_port=8080,\n    frontend_ip_configuration_name=\"PublicIPAddress\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"LoadBalancerRG\",\n        Location = \"West Europe\",\n    });\n\n    var examplePublicIp = new Azure.Network.PublicIp(\"example\", new()\n    {\n        Name = \"PublicIPForLB\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        AllocationMethod = \"Static\",\n    });\n\n    var exampleLoadBalancer = new Azure.Lb.LoadBalancer(\"example\", new()\n    {\n        Name = \"TestLoadBalancer\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        FrontendIpConfigurations = new[]\n        {\n            new Azure.Lb.Inputs.LoadBalancerFrontendIpConfigurationArgs\n            {\n                Name = \"PublicIPAddress\",\n                PublicIpAddressId = examplePublicIp.Id,\n            },\n        },\n    });\n\n    var exampleNatPool = new Azure.Lb.NatPool(\"example\", new()\n    {\n        ResourceGroupName = example.Name,\n        LoadbalancerId = exampleLoadBalancer.Id,\n        Name = \"SampleApplicationPool\",\n        Protocol = \"Tcp\",\n        FrontendPortStart = 80,\n        FrontendPortEnd = 81,\n        BackendPort = 8080,\n        FrontendIpConfigurationName = \"PublicIPAddress\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/lb\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"LoadBalancerRG\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texamplePublicIp, err := network.NewPublicIp(ctx, \"example\", \u0026network.PublicIpArgs{\n\t\t\tName:              pulumi.String(\"PublicIPForLB\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tAllocationMethod:  pulumi.String(\"Static\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleLoadBalancer, err := lb.NewLoadBalancer(ctx, \"example\", \u0026lb.LoadBalancerArgs{\n\t\t\tName:              pulumi.String(\"TestLoadBalancer\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tFrontendIpConfigurations: lb.LoadBalancerFrontendIpConfigurationArray{\n\t\t\t\t\u0026lb.LoadBalancerFrontendIpConfigurationArgs{\n\t\t\t\t\tName:              pulumi.String(\"PublicIPAddress\"),\n\t\t\t\t\tPublicIpAddressId: examplePublicIp.ID(),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lb.NewNatPool(ctx, \"example\", \u0026lb.NatPoolArgs{\n\t\t\tResourceGroupName:           example.Name,\n\t\t\tLoadbalancerId:              exampleLoadBalancer.ID(),\n\t\t\tName:                        pulumi.String(\"SampleApplicationPool\"),\n\t\t\tProtocol:                    pulumi.String(\"Tcp\"),\n\t\t\tFrontendPortStart:           pulumi.Int(80),\n\t\t\tFrontendPortEnd:             pulumi.Int(81),\n\t\t\tBackendPort:                 pulumi.Int(8080),\n\t\t\tFrontendIpConfigurationName: pulumi.String(\"PublicIPAddress\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.PublicIp;\nimport com.pulumi.azure.network.PublicIpArgs;\nimport com.pulumi.azure.lb.LoadBalancer;\nimport com.pulumi.azure.lb.LoadBalancerArgs;\nimport com.pulumi.azure.lb.inputs.LoadBalancerFrontendIpConfigurationArgs;\nimport com.pulumi.azure.lb.NatPool;\nimport com.pulumi.azure.lb.NatPoolArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"LoadBalancerRG\")\n            .location(\"West Europe\")\n            .build());\n\n        var examplePublicIp = new PublicIp(\"examplePublicIp\", PublicIpArgs.builder()\n            .name(\"PublicIPForLB\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .allocationMethod(\"Static\")\n            .build());\n\n        var exampleLoadBalancer = new LoadBalancer(\"exampleLoadBalancer\", LoadBalancerArgs.builder()\n            .name(\"TestLoadBalancer\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .frontendIpConfigurations(LoadBalancerFrontendIpConfigurationArgs.builder()\n                .name(\"PublicIPAddress\")\n                .publicIpAddressId(examplePublicIp.id())\n                .build())\n            .build());\n\n        var exampleNatPool = new NatPool(\"exampleNatPool\", NatPoolArgs.builder()\n            .resourceGroupName(example.name())\n            .loadbalancerId(exampleLoadBalancer.id())\n            .name(\"SampleApplicationPool\")\n            .protocol(\"Tcp\")\n            .frontendPortStart(80)\n            .frontendPortEnd(81)\n            .backendPort(8080)\n            .frontendIpConfigurationName(\"PublicIPAddress\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: LoadBalancerRG\n      location: West Europe\n  examplePublicIp:\n    type: azure:network:PublicIp\n    name: example\n    properties:\n      name: PublicIPForLB\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      allocationMethod: Static\n  exampleLoadBalancer:\n    type: azure:lb:LoadBalancer\n    name: example\n    properties:\n      name: TestLoadBalancer\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      frontendIpConfigurations:\n        - name: PublicIPAddress\n          publicIpAddressId: ${examplePublicIp.id}\n  exampleNatPool:\n    type: azure:lb:NatPool\n    name: example\n    properties:\n      resourceGroupName: ${example.name}\n      loadbalancerId: ${exampleLoadBalancer.id}\n      name: SampleApplicationPool\n      protocol: Tcp\n      frontendPortStart: 80\n      frontendPortEnd: 81\n      backendPort: 8080\n      frontendIpConfigurationName: PublicIPAddress\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2023-09-01\n\n## Import\n\nLoad Balancer NAT Pools can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:lb/natPool:NatPool example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Network/loadBalancers/lb1/inboundNatPools/pool1\n```\n\n","properties":{"backendPort":{"type":"integer","description":"The port used for the internal endpoint. Possible values range between 1 and 65535, inclusive.\n"},"floatingIpEnabled":{"type":"boolean","description":"Are the floating IPs enabled for this Load Balancer Rule? A floating IP is reassigned to a secondary server in case the primary server fails. Required to configure a SQL AlwaysOn Availability Group.\n"},"frontendIpConfigurationId":{"type":"string"},"frontendIpConfigurationName":{"type":"string","description":"The name of the frontend IP configuration exposing this rule.\n"},"frontendPortEnd":{"type":"integer","description":"The last port number in the range of external ports that will be used to provide Inbound NAT to NICs associated with this Load Balancer. Possible values range between 1 and 65534, inclusive.\n"},"frontendPortStart":{"type":"integer","description":"The first port number in the range of external ports that will be used to provide Inbound NAT to NICs associated with this Load Balancer. Possible values range between 1 and 65534, inclusive.\n"},"idleTimeoutInMinutes":{"type":"integer","description":"Specifies the idle timeout in minutes for TCP connections. Valid values are between \u003cspan pulumi-lang-nodejs=\"`4`\" pulumi-lang-dotnet=\"`4`\" pulumi-lang-go=\"`4`\" pulumi-lang-python=\"`4`\" pulumi-lang-yaml=\"`4`\" pulumi-lang-java=\"`4`\"\u003e`4`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`30`\" pulumi-lang-dotnet=\"`30`\" pulumi-lang-go=\"`30`\" pulumi-lang-python=\"`30`\" pulumi-lang-yaml=\"`30`\" pulumi-lang-java=\"`30`\"\u003e`30`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`4`\" pulumi-lang-dotnet=\"`4`\" pulumi-lang-go=\"`4`\" pulumi-lang-python=\"`4`\" pulumi-lang-yaml=\"`4`\" pulumi-lang-java=\"`4`\"\u003e`4`\u003c/span\u003e.\n"},"loadbalancerId":{"type":"string","description":"The ID of the Load Balancer in which to create the NAT pool. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"Specifies the name of the NAT pool. Changing this forces a new resource to be created.\n"},"protocol":{"type":"string","description":"The transport protocol for the external endpoint. Possible values are `All`, `Tcp` and `Udp`.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the resource. Changing this forces a new resource to be created.\n"},"tcpResetEnabled":{"type":"boolean","description":"Is TCP Reset enabled for this Load Balancer Rule?\n"}},"required":["backendPort","frontendIpConfigurationId","frontendIpConfigurationName","frontendPortEnd","frontendPortStart","loadbalancerId","name","protocol","resourceGroupName"],"inputProperties":{"backendPort":{"type":"integer","description":"The port used for the internal endpoint. Possible values range between 1 and 65535, inclusive.\n"},"floatingIpEnabled":{"type":"boolean","description":"Are the floating IPs enabled for this Load Balancer Rule? A floating IP is reassigned to a secondary server in case the primary server fails. Required to configure a SQL AlwaysOn Availability Group.\n"},"frontendIpConfigurationName":{"type":"string","description":"The name of the frontend IP configuration exposing this rule.\n"},"frontendPortEnd":{"type":"integer","description":"The last port number in the range of external ports that will be used to provide Inbound NAT to NICs associated with this Load Balancer. Possible values range between 1 and 65534, inclusive.\n"},"frontendPortStart":{"type":"integer","description":"The first port number in the range of external ports that will be used to provide Inbound NAT to NICs associated with this Load Balancer. Possible values range between 1 and 65534, inclusive.\n"},"idleTimeoutInMinutes":{"type":"integer","description":"Specifies the idle timeout in minutes for TCP connections. Valid values are between \u003cspan pulumi-lang-nodejs=\"`4`\" pulumi-lang-dotnet=\"`4`\" pulumi-lang-go=\"`4`\" pulumi-lang-python=\"`4`\" pulumi-lang-yaml=\"`4`\" pulumi-lang-java=\"`4`\"\u003e`4`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`30`\" pulumi-lang-dotnet=\"`30`\" pulumi-lang-go=\"`30`\" pulumi-lang-python=\"`30`\" pulumi-lang-yaml=\"`30`\" pulumi-lang-java=\"`30`\"\u003e`30`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`4`\" pulumi-lang-dotnet=\"`4`\" pulumi-lang-go=\"`4`\" pulumi-lang-python=\"`4`\" pulumi-lang-yaml=\"`4`\" pulumi-lang-java=\"`4`\"\u003e`4`\u003c/span\u003e.\n"},"loadbalancerId":{"type":"string","description":"The ID of the Load Balancer in which to create the NAT pool. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the NAT pool. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"protocol":{"type":"string","description":"The transport protocol for the external endpoint. Possible values are `All`, `Tcp` and `Udp`.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the resource. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tcpResetEnabled":{"type":"boolean","description":"Is TCP Reset enabled for this Load Balancer Rule?\n"}},"requiredInputs":["backendPort","frontendIpConfigurationName","frontendPortEnd","frontendPortStart","loadbalancerId","protocol","resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering NatPool resources.\n","properties":{"backendPort":{"type":"integer","description":"The port used for the internal endpoint. Possible values range between 1 and 65535, inclusive.\n"},"floatingIpEnabled":{"type":"boolean","description":"Are the floating IPs enabled for this Load Balancer Rule? A floating IP is reassigned to a secondary server in case the primary server fails. Required to configure a SQL AlwaysOn Availability Group.\n"},"frontendIpConfigurationId":{"type":"string"},"frontendIpConfigurationName":{"type":"string","description":"The name of the frontend IP configuration exposing this rule.\n"},"frontendPortEnd":{"type":"integer","description":"The last port number in the range of external ports that will be used to provide Inbound NAT to NICs associated with this Load Balancer. Possible values range between 1 and 65534, inclusive.\n"},"frontendPortStart":{"type":"integer","description":"The first port number in the range of external ports that will be used to provide Inbound NAT to NICs associated with this Load Balancer. Possible values range between 1 and 65534, inclusive.\n"},"idleTimeoutInMinutes":{"type":"integer","description":"Specifies the idle timeout in minutes for TCP connections. Valid values are between \u003cspan pulumi-lang-nodejs=\"`4`\" pulumi-lang-dotnet=\"`4`\" pulumi-lang-go=\"`4`\" pulumi-lang-python=\"`4`\" pulumi-lang-yaml=\"`4`\" pulumi-lang-java=\"`4`\"\u003e`4`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`30`\" pulumi-lang-dotnet=\"`30`\" pulumi-lang-go=\"`30`\" pulumi-lang-python=\"`30`\" pulumi-lang-yaml=\"`30`\" pulumi-lang-java=\"`30`\"\u003e`30`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`4`\" pulumi-lang-dotnet=\"`4`\" pulumi-lang-go=\"`4`\" pulumi-lang-python=\"`4`\" pulumi-lang-yaml=\"`4`\" pulumi-lang-java=\"`4`\"\u003e`4`\u003c/span\u003e.\n"},"loadbalancerId":{"type":"string","description":"The ID of the Load Balancer in which to create the NAT pool. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the NAT pool. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"protocol":{"type":"string","description":"The transport protocol for the external endpoint. Possible values are `All`, `Tcp` and `Udp`.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the resource. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tcpResetEnabled":{"type":"boolean","description":"Is TCP Reset enabled for this Load Balancer Rule?\n"}},"type":"object"}},"azure:lb/natRule:NatRule":{"description":"Manages a Load Balancer NAT Rule.\n\n\u003e **Note:** This resource cannot be used with with virtual machine scale sets, instead use the \u003cspan pulumi-lang-nodejs=\"`azure.lb.NatPool`\" pulumi-lang-dotnet=\"`azure.lb.NatPool`\" pulumi-lang-go=\"`lb.NatPool`\" pulumi-lang-python=\"`lb.NatPool`\" pulumi-lang-yaml=\"`azure.lb.NatPool`\" pulumi-lang-java=\"`azure.lb.NatPool`\"\u003e`azure.lb.NatPool`\u003c/span\u003e resource.\n\n\u003e **Note:** When using this resource, the Load Balancer needs to have a FrontEnd IP Configuration Attached\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"LoadBalancerRG\",\n    location: \"West Europe\",\n});\nconst examplePublicIp = new azure.network.PublicIp(\"example\", {\n    name: \"PublicIPForLB\",\n    location: \"West US\",\n    resourceGroupName: example.name,\n    allocationMethod: \"Static\",\n});\nconst exampleLoadBalancer = new azure.lb.LoadBalancer(\"example\", {\n    name: \"TestLoadBalancer\",\n    location: \"West US\",\n    resourceGroupName: example.name,\n    frontendIpConfigurations: [{\n        name: \"PublicIPAddress\",\n        publicIpAddressId: examplePublicIp.id,\n    }],\n});\nconst exampleBackendAddressPool = new azure.lb.BackendAddressPool(\"example\", {\n    loadbalancerId: exampleLoadBalancer.id,\n    name: \"be\",\n});\nconst exampleNatRule = new azure.lb.NatRule(\"example\", {\n    resourceGroupName: example.name,\n    loadbalancerId: exampleLoadBalancer.id,\n    name: \"RDPAccess\",\n    protocol: \"Tcp\",\n    frontendPort: 3389,\n    backendPort: 3389,\n    frontendIpConfigurationName: \"PublicIPAddress\",\n});\nconst example1 = new azure.lb.NatRule(\"example1\", {\n    resourceGroupName: example.name,\n    loadbalancerId: exampleLoadBalancer.id,\n    name: \"RDPAccess\",\n    protocol: \"Tcp\",\n    frontendPortStart: 3000,\n    frontendPortEnd: 3389,\n    backendPort: 3389,\n    backendAddressPoolId: exampleBackendAddressPool.id,\n    frontendIpConfigurationName: \"PublicIPAddress\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"LoadBalancerRG\",\n    location=\"West Europe\")\nexample_public_ip = azure.network.PublicIp(\"example\",\n    name=\"PublicIPForLB\",\n    location=\"West US\",\n    resource_group_name=example.name,\n    allocation_method=\"Static\")\nexample_load_balancer = azure.lb.LoadBalancer(\"example\",\n    name=\"TestLoadBalancer\",\n    location=\"West US\",\n    resource_group_name=example.name,\n    frontend_ip_configurations=[{\n        \"name\": \"PublicIPAddress\",\n        \"public_ip_address_id\": example_public_ip.id,\n    }])\nexample_backend_address_pool = azure.lb.BackendAddressPool(\"example\",\n    loadbalancer_id=example_load_balancer.id,\n    name=\"be\")\nexample_nat_rule = azure.lb.NatRule(\"example\",\n    resource_group_name=example.name,\n    loadbalancer_id=example_load_balancer.id,\n    name=\"RDPAccess\",\n    protocol=\"Tcp\",\n    frontend_port=3389,\n    backend_port=3389,\n    frontend_ip_configuration_name=\"PublicIPAddress\")\nexample1 = azure.lb.NatRule(\"example1\",\n    resource_group_name=example.name,\n    loadbalancer_id=example_load_balancer.id,\n    name=\"RDPAccess\",\n    protocol=\"Tcp\",\n    frontend_port_start=3000,\n    frontend_port_end=3389,\n    backend_port=3389,\n    backend_address_pool_id=example_backend_address_pool.id,\n    frontend_ip_configuration_name=\"PublicIPAddress\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"LoadBalancerRG\",\n        Location = \"West Europe\",\n    });\n\n    var examplePublicIp = new Azure.Network.PublicIp(\"example\", new()\n    {\n        Name = \"PublicIPForLB\",\n        Location = \"West US\",\n        ResourceGroupName = example.Name,\n        AllocationMethod = \"Static\",\n    });\n\n    var exampleLoadBalancer = new Azure.Lb.LoadBalancer(\"example\", new()\n    {\n        Name = \"TestLoadBalancer\",\n        Location = \"West US\",\n        ResourceGroupName = example.Name,\n        FrontendIpConfigurations = new[]\n        {\n            new Azure.Lb.Inputs.LoadBalancerFrontendIpConfigurationArgs\n            {\n                Name = \"PublicIPAddress\",\n                PublicIpAddressId = examplePublicIp.Id,\n            },\n        },\n    });\n\n    var exampleBackendAddressPool = new Azure.Lb.BackendAddressPool(\"example\", new()\n    {\n        LoadbalancerId = exampleLoadBalancer.Id,\n        Name = \"be\",\n    });\n\n    var exampleNatRule = new Azure.Lb.NatRule(\"example\", new()\n    {\n        ResourceGroupName = example.Name,\n        LoadbalancerId = exampleLoadBalancer.Id,\n        Name = \"RDPAccess\",\n        Protocol = \"Tcp\",\n        FrontendPort = 3389,\n        BackendPort = 3389,\n        FrontendIpConfigurationName = \"PublicIPAddress\",\n    });\n\n    var example1 = new Azure.Lb.NatRule(\"example1\", new()\n    {\n        ResourceGroupName = example.Name,\n        LoadbalancerId = exampleLoadBalancer.Id,\n        Name = \"RDPAccess\",\n        Protocol = \"Tcp\",\n        FrontendPortStart = 3000,\n        FrontendPortEnd = 3389,\n        BackendPort = 3389,\n        BackendAddressPoolId = exampleBackendAddressPool.Id,\n        FrontendIpConfigurationName = \"PublicIPAddress\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/lb\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"LoadBalancerRG\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texamplePublicIp, err := network.NewPublicIp(ctx, \"example\", \u0026network.PublicIpArgs{\n\t\t\tName:              pulumi.String(\"PublicIPForLB\"),\n\t\t\tLocation:          pulumi.String(\"West US\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tAllocationMethod:  pulumi.String(\"Static\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleLoadBalancer, err := lb.NewLoadBalancer(ctx, \"example\", \u0026lb.LoadBalancerArgs{\n\t\t\tName:              pulumi.String(\"TestLoadBalancer\"),\n\t\t\tLocation:          pulumi.String(\"West US\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tFrontendIpConfigurations: lb.LoadBalancerFrontendIpConfigurationArray{\n\t\t\t\t\u0026lb.LoadBalancerFrontendIpConfigurationArgs{\n\t\t\t\t\tName:              pulumi.String(\"PublicIPAddress\"),\n\t\t\t\t\tPublicIpAddressId: examplePublicIp.ID(),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleBackendAddressPool, err := lb.NewBackendAddressPool(ctx, \"example\", \u0026lb.BackendAddressPoolArgs{\n\t\t\tLoadbalancerId: exampleLoadBalancer.ID(),\n\t\t\tName:           pulumi.String(\"be\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lb.NewNatRule(ctx, \"example\", \u0026lb.NatRuleArgs{\n\t\t\tResourceGroupName:           example.Name,\n\t\t\tLoadbalancerId:              exampleLoadBalancer.ID(),\n\t\t\tName:                        pulumi.String(\"RDPAccess\"),\n\t\t\tProtocol:                    pulumi.String(\"Tcp\"),\n\t\t\tFrontendPort:                pulumi.Int(3389),\n\t\t\tBackendPort:                 pulumi.Int(3389),\n\t\t\tFrontendIpConfigurationName: pulumi.String(\"PublicIPAddress\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lb.NewNatRule(ctx, \"example1\", \u0026lb.NatRuleArgs{\n\t\t\tResourceGroupName:           example.Name,\n\t\t\tLoadbalancerId:              exampleLoadBalancer.ID(),\n\t\t\tName:                        pulumi.String(\"RDPAccess\"),\n\t\t\tProtocol:                    pulumi.String(\"Tcp\"),\n\t\t\tFrontendPortStart:           pulumi.Int(3000),\n\t\t\tFrontendPortEnd:             pulumi.Int(3389),\n\t\t\tBackendPort:                 pulumi.Int(3389),\n\t\t\tBackendAddressPoolId:        exampleBackendAddressPool.ID(),\n\t\t\tFrontendIpConfigurationName: pulumi.String(\"PublicIPAddress\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.PublicIp;\nimport com.pulumi.azure.network.PublicIpArgs;\nimport com.pulumi.azure.lb.LoadBalancer;\nimport com.pulumi.azure.lb.LoadBalancerArgs;\nimport com.pulumi.azure.lb.inputs.LoadBalancerFrontendIpConfigurationArgs;\nimport com.pulumi.azure.lb.BackendAddressPool;\nimport com.pulumi.azure.lb.BackendAddressPoolArgs;\nimport com.pulumi.azure.lb.NatRule;\nimport com.pulumi.azure.lb.NatRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"LoadBalancerRG\")\n            .location(\"West Europe\")\n            .build());\n\n        var examplePublicIp = new PublicIp(\"examplePublicIp\", PublicIpArgs.builder()\n            .name(\"PublicIPForLB\")\n            .location(\"West US\")\n            .resourceGroupName(example.name())\n            .allocationMethod(\"Static\")\n            .build());\n\n        var exampleLoadBalancer = new LoadBalancer(\"exampleLoadBalancer\", LoadBalancerArgs.builder()\n            .name(\"TestLoadBalancer\")\n            .location(\"West US\")\n            .resourceGroupName(example.name())\n            .frontendIpConfigurations(LoadBalancerFrontendIpConfigurationArgs.builder()\n                .name(\"PublicIPAddress\")\n                .publicIpAddressId(examplePublicIp.id())\n                .build())\n            .build());\n\n        var exampleBackendAddressPool = new BackendAddressPool(\"exampleBackendAddressPool\", BackendAddressPoolArgs.builder()\n            .loadbalancerId(exampleLoadBalancer.id())\n            .name(\"be\")\n            .build());\n\n        var exampleNatRule = new NatRule(\"exampleNatRule\", NatRuleArgs.builder()\n            .resourceGroupName(example.name())\n            .loadbalancerId(exampleLoadBalancer.id())\n            .name(\"RDPAccess\")\n            .protocol(\"Tcp\")\n            .frontendPort(3389)\n            .backendPort(3389)\n            .frontendIpConfigurationName(\"PublicIPAddress\")\n            .build());\n\n        var example1 = new NatRule(\"example1\", NatRuleArgs.builder()\n            .resourceGroupName(example.name())\n            .loadbalancerId(exampleLoadBalancer.id())\n            .name(\"RDPAccess\")\n            .protocol(\"Tcp\")\n            .frontendPortStart(3000)\n            .frontendPortEnd(3389)\n            .backendPort(3389)\n            .backendAddressPoolId(exampleBackendAddressPool.id())\n            .frontendIpConfigurationName(\"PublicIPAddress\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: LoadBalancerRG\n      location: West Europe\n  examplePublicIp:\n    type: azure:network:PublicIp\n    name: example\n    properties:\n      name: PublicIPForLB\n      location: West US\n      resourceGroupName: ${example.name}\n      allocationMethod: Static\n  exampleLoadBalancer:\n    type: azure:lb:LoadBalancer\n    name: example\n    properties:\n      name: TestLoadBalancer\n      location: West US\n      resourceGroupName: ${example.name}\n      frontendIpConfigurations:\n        - name: PublicIPAddress\n          publicIpAddressId: ${examplePublicIp.id}\n  exampleBackendAddressPool:\n    type: azure:lb:BackendAddressPool\n    name: example\n    properties:\n      loadbalancerId: ${exampleLoadBalancer.id}\n      name: be\n  exampleNatRule:\n    type: azure:lb:NatRule\n    name: example\n    properties:\n      resourceGroupName: ${example.name}\n      loadbalancerId: ${exampleLoadBalancer.id}\n      name: RDPAccess\n      protocol: Tcp\n      frontendPort: 3389\n      backendPort: 3389\n      frontendIpConfigurationName: PublicIPAddress\n  example1:\n    type: azure:lb:NatRule\n    properties:\n      resourceGroupName: ${example.name}\n      loadbalancerId: ${exampleLoadBalancer.id}\n      name: RDPAccess\n      protocol: Tcp\n      frontendPortStart: 3000\n      frontendPortEnd: 3389\n      backendPort: 3389\n      backendAddressPoolId: ${exampleBackendAddressPool.id}\n      frontendIpConfigurationName: PublicIPAddress\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2023-09-01\n\n## Import\n\nLoad Balancer NAT Rules can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:lb/natRule:NatRule example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Network/loadBalancers/lb1/inboundNatRules/rule1\n```\n\n","properties":{"backendAddressPoolId":{"type":"string","description":"Specifies a reference to backendAddressPool resource.\n"},"backendIpConfigurationId":{"type":"string"},"backendPort":{"type":"integer","description":"The port used for internal connections on the endpoint. Possible values range between 1 and 65535, inclusive.\n"},"enableFloatingIp":{"type":"boolean","deprecationMessage":"This field is deprecated in favour of \u003cspan pulumi-lang-nodejs=\"`floatingIpEnabled`\" pulumi-lang-dotnet=\"`FloatingIpEnabled`\" pulumi-lang-go=\"`floatingIpEnabled`\" pulumi-lang-python=\"`floating_ip_enabled`\" pulumi-lang-yaml=\"`floatingIpEnabled`\" pulumi-lang-java=\"`floatingIpEnabled`\"\u003e`floating_ip_enabled`\u003c/span\u003e and will be removed in version 5.0 of the provider."},"enableTcpReset":{"type":"boolean","deprecationMessage":"This field is deprecated in favour of \u003cspan pulumi-lang-nodejs=\"`tcpResetEnabled`\" pulumi-lang-dotnet=\"`TcpResetEnabled`\" pulumi-lang-go=\"`tcpResetEnabled`\" pulumi-lang-python=\"`tcp_reset_enabled`\" pulumi-lang-yaml=\"`tcpResetEnabled`\" pulumi-lang-java=\"`tcpResetEnabled`\"\u003e`tcp_reset_enabled`\u003c/span\u003e and will be removed in version 5.0 of the provider."},"floatingIpEnabled":{"type":"boolean","description":"Are the Floating IPs enabled for this Load Balancer Rule? A \"floating\" IP is reassigned to a secondary server in case the primary server fails. Required to configure a SQL AlwaysOn Availability Group. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"frontendIpConfigurationId":{"type":"string"},"frontendIpConfigurationName":{"type":"string","description":"The name of the frontend IP configuration exposing this rule.\n"},"frontendPort":{"type":"integer","description":"The port for the external endpoint. Port numbers for each Rule must be unique within the Load Balancer. Possible values range between 1 and 65534, inclusive.\n"},"frontendPortEnd":{"type":"integer","description":"The port range end for the external endpoint. This property is used together with BackendAddressPool and FrontendPortRangeStart. Individual inbound NAT rule port mappings will be created for each backend address from BackendAddressPool. Acceptable values range from 1 to 65534, inclusive.\n"},"frontendPortStart":{"type":"integer","description":"The port range start for the external endpoint. This property is used together with BackendAddressPool and FrontendPortRangeEnd. Individual inbound NAT rule port mappings will be created for each backend address from BackendAddressPool. Acceptable values range from 1 to 65534, inclusive.\n"},"idleTimeoutInMinutes":{"type":"integer","description":"Specifies the idle timeout in minutes for TCP connections. Valid values are between \u003cspan pulumi-lang-nodejs=\"`4`\" pulumi-lang-dotnet=\"`4`\" pulumi-lang-go=\"`4`\" pulumi-lang-python=\"`4`\" pulumi-lang-yaml=\"`4`\" pulumi-lang-java=\"`4`\"\u003e`4`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`30`\" pulumi-lang-dotnet=\"`30`\" pulumi-lang-go=\"`30`\" pulumi-lang-python=\"`30`\" pulumi-lang-yaml=\"`30`\" pulumi-lang-java=\"`30`\"\u003e`30`\u003c/span\u003e minutes. Defaults to \u003cspan pulumi-lang-nodejs=\"`4`\" pulumi-lang-dotnet=\"`4`\" pulumi-lang-go=\"`4`\" pulumi-lang-python=\"`4`\" pulumi-lang-yaml=\"`4`\" pulumi-lang-java=\"`4`\"\u003e`4`\u003c/span\u003e minutes.\n"},"loadbalancerId":{"type":"string","description":"The ID of the Load Balancer in which to create the NAT Rule. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"Specifies the name of the NAT Rule. Changing this forces a new resource to be created.\n"},"protocol":{"type":"string","description":"The transport protocol for the external endpoint. Possible values are `Udp`, `Tcp` or `All`.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the resource. Changing this forces a new resource to be created.\n"},"tcpResetEnabled":{"type":"boolean","description":"Is TCP Reset enabled for this Load Balancer Rule?\n"}},"required":["backendIpConfigurationId","backendPort","enableFloatingIp","enableTcpReset","floatingIpEnabled","frontendIpConfigurationId","frontendIpConfigurationName","loadbalancerId","name","protocol","resourceGroupName","tcpResetEnabled"],"inputProperties":{"backendAddressPoolId":{"type":"string","description":"Specifies a reference to backendAddressPool resource.\n"},"backendPort":{"type":"integer","description":"The port used for internal connections on the endpoint. Possible values range between 1 and 65535, inclusive.\n"},"enableFloatingIp":{"type":"boolean","deprecationMessage":"This field is deprecated in favour of \u003cspan pulumi-lang-nodejs=\"`floatingIpEnabled`\" pulumi-lang-dotnet=\"`FloatingIpEnabled`\" pulumi-lang-go=\"`floatingIpEnabled`\" pulumi-lang-python=\"`floating_ip_enabled`\" pulumi-lang-yaml=\"`floatingIpEnabled`\" pulumi-lang-java=\"`floatingIpEnabled`\"\u003e`floating_ip_enabled`\u003c/span\u003e and will be removed in version 5.0 of the provider."},"enableTcpReset":{"type":"boolean","deprecationMessage":"This field is deprecated in favour of \u003cspan pulumi-lang-nodejs=\"`tcpResetEnabled`\" pulumi-lang-dotnet=\"`TcpResetEnabled`\" pulumi-lang-go=\"`tcpResetEnabled`\" pulumi-lang-python=\"`tcp_reset_enabled`\" pulumi-lang-yaml=\"`tcpResetEnabled`\" pulumi-lang-java=\"`tcpResetEnabled`\"\u003e`tcp_reset_enabled`\u003c/span\u003e and will be removed in version 5.0 of the provider."},"floatingIpEnabled":{"type":"boolean","description":"Are the Floating IPs enabled for this Load Balancer Rule? A \"floating\" IP is reassigned to a secondary server in case the primary server fails. Required to configure a SQL AlwaysOn Availability Group. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"frontendIpConfigurationName":{"type":"string","description":"The name of the frontend IP configuration exposing this rule.\n"},"frontendPort":{"type":"integer","description":"The port for the external endpoint. Port numbers for each Rule must be unique within the Load Balancer. Possible values range between 1 and 65534, inclusive.\n"},"frontendPortEnd":{"type":"integer","description":"The port range end for the external endpoint. This property is used together with BackendAddressPool and FrontendPortRangeStart. Individual inbound NAT rule port mappings will be created for each backend address from BackendAddressPool. Acceptable values range from 1 to 65534, inclusive.\n"},"frontendPortStart":{"type":"integer","description":"The port range start for the external endpoint. This property is used together with BackendAddressPool and FrontendPortRangeEnd. Individual inbound NAT rule port mappings will be created for each backend address from BackendAddressPool. Acceptable values range from 1 to 65534, inclusive.\n"},"idleTimeoutInMinutes":{"type":"integer","description":"Specifies the idle timeout in minutes for TCP connections. Valid values are between \u003cspan pulumi-lang-nodejs=\"`4`\" pulumi-lang-dotnet=\"`4`\" pulumi-lang-go=\"`4`\" pulumi-lang-python=\"`4`\" pulumi-lang-yaml=\"`4`\" pulumi-lang-java=\"`4`\"\u003e`4`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`30`\" pulumi-lang-dotnet=\"`30`\" pulumi-lang-go=\"`30`\" pulumi-lang-python=\"`30`\" pulumi-lang-yaml=\"`30`\" pulumi-lang-java=\"`30`\"\u003e`30`\u003c/span\u003e minutes. Defaults to \u003cspan pulumi-lang-nodejs=\"`4`\" pulumi-lang-dotnet=\"`4`\" pulumi-lang-go=\"`4`\" pulumi-lang-python=\"`4`\" pulumi-lang-yaml=\"`4`\" pulumi-lang-java=\"`4`\"\u003e`4`\u003c/span\u003e minutes.\n"},"loadbalancerId":{"type":"string","description":"The ID of the Load Balancer in which to create the NAT Rule. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the NAT Rule. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"protocol":{"type":"string","description":"The transport protocol for the external endpoint. Possible values are `Udp`, `Tcp` or `All`.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the resource. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tcpResetEnabled":{"type":"boolean","description":"Is TCP Reset enabled for this Load Balancer Rule?\n"}},"requiredInputs":["backendPort","frontendIpConfigurationName","loadbalancerId","protocol","resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering NatRule resources.\n","properties":{"backendAddressPoolId":{"type":"string","description":"Specifies a reference to backendAddressPool resource.\n"},"backendIpConfigurationId":{"type":"string"},"backendPort":{"type":"integer","description":"The port used for internal connections on the endpoint. Possible values range between 1 and 65535, inclusive.\n"},"enableFloatingIp":{"type":"boolean","deprecationMessage":"This field is deprecated in favour of \u003cspan pulumi-lang-nodejs=\"`floatingIpEnabled`\" pulumi-lang-dotnet=\"`FloatingIpEnabled`\" pulumi-lang-go=\"`floatingIpEnabled`\" pulumi-lang-python=\"`floating_ip_enabled`\" pulumi-lang-yaml=\"`floatingIpEnabled`\" pulumi-lang-java=\"`floatingIpEnabled`\"\u003e`floating_ip_enabled`\u003c/span\u003e and will be removed in version 5.0 of the provider."},"enableTcpReset":{"type":"boolean","deprecationMessage":"This field is deprecated in favour of \u003cspan pulumi-lang-nodejs=\"`tcpResetEnabled`\" pulumi-lang-dotnet=\"`TcpResetEnabled`\" pulumi-lang-go=\"`tcpResetEnabled`\" pulumi-lang-python=\"`tcp_reset_enabled`\" pulumi-lang-yaml=\"`tcpResetEnabled`\" pulumi-lang-java=\"`tcpResetEnabled`\"\u003e`tcp_reset_enabled`\u003c/span\u003e and will be removed in version 5.0 of the provider."},"floatingIpEnabled":{"type":"boolean","description":"Are the Floating IPs enabled for this Load Balancer Rule? A \"floating\" IP is reassigned to a secondary server in case the primary server fails. Required to configure a SQL AlwaysOn Availability Group. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"frontendIpConfigurationId":{"type":"string"},"frontendIpConfigurationName":{"type":"string","description":"The name of the frontend IP configuration exposing this rule.\n"},"frontendPort":{"type":"integer","description":"The port for the external endpoint. Port numbers for each Rule must be unique within the Load Balancer. Possible values range between 1 and 65534, inclusive.\n"},"frontendPortEnd":{"type":"integer","description":"The port range end for the external endpoint. This property is used together with BackendAddressPool and FrontendPortRangeStart. Individual inbound NAT rule port mappings will be created for each backend address from BackendAddressPool. Acceptable values range from 1 to 65534, inclusive.\n"},"frontendPortStart":{"type":"integer","description":"The port range start for the external endpoint. This property is used together with BackendAddressPool and FrontendPortRangeEnd. Individual inbound NAT rule port mappings will be created for each backend address from BackendAddressPool. Acceptable values range from 1 to 65534, inclusive.\n"},"idleTimeoutInMinutes":{"type":"integer","description":"Specifies the idle timeout in minutes for TCP connections. Valid values are between \u003cspan pulumi-lang-nodejs=\"`4`\" pulumi-lang-dotnet=\"`4`\" pulumi-lang-go=\"`4`\" pulumi-lang-python=\"`4`\" pulumi-lang-yaml=\"`4`\" pulumi-lang-java=\"`4`\"\u003e`4`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`30`\" pulumi-lang-dotnet=\"`30`\" pulumi-lang-go=\"`30`\" pulumi-lang-python=\"`30`\" pulumi-lang-yaml=\"`30`\" pulumi-lang-java=\"`30`\"\u003e`30`\u003c/span\u003e minutes. Defaults to \u003cspan pulumi-lang-nodejs=\"`4`\" pulumi-lang-dotnet=\"`4`\" pulumi-lang-go=\"`4`\" pulumi-lang-python=\"`4`\" pulumi-lang-yaml=\"`4`\" pulumi-lang-java=\"`4`\"\u003e`4`\u003c/span\u003e minutes.\n"},"loadbalancerId":{"type":"string","description":"The ID of the Load Balancer in which to create the NAT Rule. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the NAT Rule. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"protocol":{"type":"string","description":"The transport protocol for the external endpoint. Possible values are `Udp`, `Tcp` or `All`.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the resource. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tcpResetEnabled":{"type":"boolean","description":"Is TCP Reset enabled for this Load Balancer Rule?\n"}},"type":"object"}},"azure:lb/outboundRule:OutboundRule":{"description":"Manages a Load Balancer Outbound Rule.\n\n\u003e **Note:** When using this resource, the Load Balancer needs to have a FrontEnd IP Configuration and a Backend Address Pool Attached.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"LoadBalancerRG\",\n    location: \"West Europe\",\n});\nconst examplePublicIp = new azure.network.PublicIp(\"example\", {\n    name: \"PublicIPForLB\",\n    location: example.location,\n    resourceGroupName: example.name,\n    allocationMethod: \"Static\",\n});\nconst exampleLoadBalancer = new azure.lb.LoadBalancer(\"example\", {\n    name: \"TestLoadBalancer\",\n    location: example.location,\n    resourceGroupName: example.name,\n    frontendIpConfigurations: [{\n        name: \"PublicIPAddress\",\n        publicIpAddressId: examplePublicIp.id,\n    }],\n});\nconst exampleBackendAddressPool = new azure.lb.BackendAddressPool(\"example\", {\n    name: \"example\",\n    loadbalancerId: exampleLoadBalancer.id,\n});\nconst exampleOutboundRule = new azure.lb.OutboundRule(\"example\", {\n    name: \"OutboundRule\",\n    loadbalancerId: exampleLoadBalancer.id,\n    protocol: \"Tcp\",\n    backendAddressPoolId: exampleBackendAddressPool.id,\n    frontendIpConfigurations: [{\n        name: \"PublicIPAddress\",\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"LoadBalancerRG\",\n    location=\"West Europe\")\nexample_public_ip = azure.network.PublicIp(\"example\",\n    name=\"PublicIPForLB\",\n    location=example.location,\n    resource_group_name=example.name,\n    allocation_method=\"Static\")\nexample_load_balancer = azure.lb.LoadBalancer(\"example\",\n    name=\"TestLoadBalancer\",\n    location=example.location,\n    resource_group_name=example.name,\n    frontend_ip_configurations=[{\n        \"name\": \"PublicIPAddress\",\n        \"public_ip_address_id\": example_public_ip.id,\n    }])\nexample_backend_address_pool = azure.lb.BackendAddressPool(\"example\",\n    name=\"example\",\n    loadbalancer_id=example_load_balancer.id)\nexample_outbound_rule = azure.lb.OutboundRule(\"example\",\n    name=\"OutboundRule\",\n    loadbalancer_id=example_load_balancer.id,\n    protocol=\"Tcp\",\n    backend_address_pool_id=example_backend_address_pool.id,\n    frontend_ip_configurations=[{\n        \"name\": \"PublicIPAddress\",\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"LoadBalancerRG\",\n        Location = \"West Europe\",\n    });\n\n    var examplePublicIp = new Azure.Network.PublicIp(\"example\", new()\n    {\n        Name = \"PublicIPForLB\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        AllocationMethod = \"Static\",\n    });\n\n    var exampleLoadBalancer = new Azure.Lb.LoadBalancer(\"example\", new()\n    {\n        Name = \"TestLoadBalancer\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        FrontendIpConfigurations = new[]\n        {\n            new Azure.Lb.Inputs.LoadBalancerFrontendIpConfigurationArgs\n            {\n                Name = \"PublicIPAddress\",\n                PublicIpAddressId = examplePublicIp.Id,\n            },\n        },\n    });\n\n    var exampleBackendAddressPool = new Azure.Lb.BackendAddressPool(\"example\", new()\n    {\n        Name = \"example\",\n        LoadbalancerId = exampleLoadBalancer.Id,\n    });\n\n    var exampleOutboundRule = new Azure.Lb.OutboundRule(\"example\", new()\n    {\n        Name = \"OutboundRule\",\n        LoadbalancerId = exampleLoadBalancer.Id,\n        Protocol = \"Tcp\",\n        BackendAddressPoolId = exampleBackendAddressPool.Id,\n        FrontendIpConfigurations = new[]\n        {\n            new Azure.Lb.Inputs.OutboundRuleFrontendIpConfigurationArgs\n            {\n                Name = \"PublicIPAddress\",\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/lb\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"LoadBalancerRG\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texamplePublicIp, err := network.NewPublicIp(ctx, \"example\", \u0026network.PublicIpArgs{\n\t\t\tName:              pulumi.String(\"PublicIPForLB\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tAllocationMethod:  pulumi.String(\"Static\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleLoadBalancer, err := lb.NewLoadBalancer(ctx, \"example\", \u0026lb.LoadBalancerArgs{\n\t\t\tName:              pulumi.String(\"TestLoadBalancer\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tFrontendIpConfigurations: lb.LoadBalancerFrontendIpConfigurationArray{\n\t\t\t\t\u0026lb.LoadBalancerFrontendIpConfigurationArgs{\n\t\t\t\t\tName:              pulumi.String(\"PublicIPAddress\"),\n\t\t\t\t\tPublicIpAddressId: examplePublicIp.ID(),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleBackendAddressPool, err := lb.NewBackendAddressPool(ctx, \"example\", \u0026lb.BackendAddressPoolArgs{\n\t\t\tName:           pulumi.String(\"example\"),\n\t\t\tLoadbalancerId: exampleLoadBalancer.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lb.NewOutboundRule(ctx, \"example\", \u0026lb.OutboundRuleArgs{\n\t\t\tName:                 pulumi.String(\"OutboundRule\"),\n\t\t\tLoadbalancerId:       exampleLoadBalancer.ID(),\n\t\t\tProtocol:             pulumi.String(\"Tcp\"),\n\t\t\tBackendAddressPoolId: exampleBackendAddressPool.ID(),\n\t\t\tFrontendIpConfigurations: lb.OutboundRuleFrontendIpConfigurationArray{\n\t\t\t\t\u0026lb.OutboundRuleFrontendIpConfigurationArgs{\n\t\t\t\t\tName: pulumi.String(\"PublicIPAddress\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.PublicIp;\nimport com.pulumi.azure.network.PublicIpArgs;\nimport com.pulumi.azure.lb.LoadBalancer;\nimport com.pulumi.azure.lb.LoadBalancerArgs;\nimport com.pulumi.azure.lb.inputs.LoadBalancerFrontendIpConfigurationArgs;\nimport com.pulumi.azure.lb.BackendAddressPool;\nimport com.pulumi.azure.lb.BackendAddressPoolArgs;\nimport com.pulumi.azure.lb.OutboundRule;\nimport com.pulumi.azure.lb.OutboundRuleArgs;\nimport com.pulumi.azure.lb.inputs.OutboundRuleFrontendIpConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"LoadBalancerRG\")\n            .location(\"West Europe\")\n            .build());\n\n        var examplePublicIp = new PublicIp(\"examplePublicIp\", PublicIpArgs.builder()\n            .name(\"PublicIPForLB\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .allocationMethod(\"Static\")\n            .build());\n\n        var exampleLoadBalancer = new LoadBalancer(\"exampleLoadBalancer\", LoadBalancerArgs.builder()\n            .name(\"TestLoadBalancer\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .frontendIpConfigurations(LoadBalancerFrontendIpConfigurationArgs.builder()\n                .name(\"PublicIPAddress\")\n                .publicIpAddressId(examplePublicIp.id())\n                .build())\n            .build());\n\n        var exampleBackendAddressPool = new BackendAddressPool(\"exampleBackendAddressPool\", BackendAddressPoolArgs.builder()\n            .name(\"example\")\n            .loadbalancerId(exampleLoadBalancer.id())\n            .build());\n\n        var exampleOutboundRule = new OutboundRule(\"exampleOutboundRule\", OutboundRuleArgs.builder()\n            .name(\"OutboundRule\")\n            .loadbalancerId(exampleLoadBalancer.id())\n            .protocol(\"Tcp\")\n            .backendAddressPoolId(exampleBackendAddressPool.id())\n            .frontendIpConfigurations(OutboundRuleFrontendIpConfigurationArgs.builder()\n                .name(\"PublicIPAddress\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: LoadBalancerRG\n      location: West Europe\n  examplePublicIp:\n    type: azure:network:PublicIp\n    name: example\n    properties:\n      name: PublicIPForLB\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      allocationMethod: Static\n  exampleLoadBalancer:\n    type: azure:lb:LoadBalancer\n    name: example\n    properties:\n      name: TestLoadBalancer\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      frontendIpConfigurations:\n        - name: PublicIPAddress\n          publicIpAddressId: ${examplePublicIp.id}\n  exampleBackendAddressPool:\n    type: azure:lb:BackendAddressPool\n    name: example\n    properties:\n      name: example\n      loadbalancerId: ${exampleLoadBalancer.id}\n  exampleOutboundRule:\n    type: azure:lb:OutboundRule\n    name: example\n    properties:\n      name: OutboundRule\n      loadbalancerId: ${exampleLoadBalancer.id}\n      protocol: Tcp\n      backendAddressPoolId: ${exampleBackendAddressPool.id}\n      frontendIpConfigurations:\n        - name: PublicIPAddress\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2023-09-01\n\n## Import\n\nLoad Balancer Outbound Rules can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:lb/outboundRule:OutboundRule example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Network/loadBalancers/lb1/outboundRules/rule1\n```\n\n","properties":{"allocatedOutboundPorts":{"type":"integer","description":"The number of outbound ports to be used for NAT. Defaults to \u003cspan pulumi-lang-nodejs=\"`1024`\" pulumi-lang-dotnet=\"`1024`\" pulumi-lang-go=\"`1024`\" pulumi-lang-python=\"`1024`\" pulumi-lang-yaml=\"`1024`\" pulumi-lang-java=\"`1024`\"\u003e`1024`\u003c/span\u003e.\n"},"backendAddressPoolId":{"type":"string","description":"The ID of the Backend Address Pool. Outbound traffic is randomly load balanced across IPs in the backend IPs.\n"},"enableTcpReset":{"type":"boolean","deprecationMessage":"This property is being deprecated in favour of \u003cspan pulumi-lang-nodejs=\"`tcpResetEnabled`\" pulumi-lang-dotnet=\"`TcpResetEnabled`\" pulumi-lang-go=\"`tcpResetEnabled`\" pulumi-lang-python=\"`tcp_reset_enabled`\" pulumi-lang-yaml=\"`tcpResetEnabled`\" pulumi-lang-java=\"`tcpResetEnabled`\"\u003e`tcp_reset_enabled`\u003c/span\u003e and will be removed in version 5.0 of the provider."},"frontendIpConfigurations":{"type":"array","items":{"$ref":"#/types/azure:lb/OutboundRuleFrontendIpConfiguration:OutboundRuleFrontendIpConfiguration"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`frontendIpConfiguration`\" pulumi-lang-dotnet=\"`FrontendIpConfiguration`\" pulumi-lang-go=\"`frontendIpConfiguration`\" pulumi-lang-python=\"`frontend_ip_configuration`\" pulumi-lang-yaml=\"`frontendIpConfiguration`\" pulumi-lang-java=\"`frontendIpConfiguration`\"\u003e`frontend_ip_configuration`\u003c/span\u003e blocks as defined below.\n"},"idleTimeoutInMinutes":{"type":"integer","description":"The timeout for the TCP idle connection Defaults to \u003cspan pulumi-lang-nodejs=\"`4`\" pulumi-lang-dotnet=\"`4`\" pulumi-lang-go=\"`4`\" pulumi-lang-python=\"`4`\" pulumi-lang-yaml=\"`4`\" pulumi-lang-java=\"`4`\"\u003e`4`\u003c/span\u003e.\n"},"loadbalancerId":{"type":"string","description":"The ID of the Load Balancer in which to create the Outbound Rule. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"Specifies the name of the Outbound Rule. Changing this forces a new resource to be created.\n"},"protocol":{"type":"string","description":"The transport protocol for the external endpoint. Possible values are `Udp`, `Tcp` or `All`.\n"},"tcpResetEnabled":{"type":"boolean","description":"Receive bidirectional TCP Reset on TCP flow idle timeout or unexpected connection termination. This element is only used when the protocol is set to TCP.\n"}},"required":["backendAddressPoolId","enableTcpReset","loadbalancerId","name","protocol","tcpResetEnabled"],"inputProperties":{"allocatedOutboundPorts":{"type":"integer","description":"The number of outbound ports to be used for NAT. Defaults to \u003cspan pulumi-lang-nodejs=\"`1024`\" pulumi-lang-dotnet=\"`1024`\" pulumi-lang-go=\"`1024`\" pulumi-lang-python=\"`1024`\" pulumi-lang-yaml=\"`1024`\" pulumi-lang-java=\"`1024`\"\u003e`1024`\u003c/span\u003e.\n"},"backendAddressPoolId":{"type":"string","description":"The ID of the Backend Address Pool. Outbound traffic is randomly load balanced across IPs in the backend IPs.\n"},"enableTcpReset":{"type":"boolean","deprecationMessage":"This property is being deprecated in favour of \u003cspan pulumi-lang-nodejs=\"`tcpResetEnabled`\" pulumi-lang-dotnet=\"`TcpResetEnabled`\" pulumi-lang-go=\"`tcpResetEnabled`\" pulumi-lang-python=\"`tcp_reset_enabled`\" pulumi-lang-yaml=\"`tcpResetEnabled`\" pulumi-lang-java=\"`tcpResetEnabled`\"\u003e`tcp_reset_enabled`\u003c/span\u003e and will be removed in version 5.0 of the provider."},"frontendIpConfigurations":{"type":"array","items":{"$ref":"#/types/azure:lb/OutboundRuleFrontendIpConfiguration:OutboundRuleFrontendIpConfiguration"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`frontendIpConfiguration`\" pulumi-lang-dotnet=\"`FrontendIpConfiguration`\" pulumi-lang-go=\"`frontendIpConfiguration`\" pulumi-lang-python=\"`frontend_ip_configuration`\" pulumi-lang-yaml=\"`frontendIpConfiguration`\" pulumi-lang-java=\"`frontendIpConfiguration`\"\u003e`frontend_ip_configuration`\u003c/span\u003e blocks as defined below.\n"},"idleTimeoutInMinutes":{"type":"integer","description":"The timeout for the TCP idle connection Defaults to \u003cspan pulumi-lang-nodejs=\"`4`\" pulumi-lang-dotnet=\"`4`\" pulumi-lang-go=\"`4`\" pulumi-lang-python=\"`4`\" pulumi-lang-yaml=\"`4`\" pulumi-lang-java=\"`4`\"\u003e`4`\u003c/span\u003e.\n"},"loadbalancerId":{"type":"string","description":"The ID of the Load Balancer in which to create the Outbound Rule. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the Outbound Rule. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"protocol":{"type":"string","description":"The transport protocol for the external endpoint. Possible values are `Udp`, `Tcp` or `All`.\n"},"tcpResetEnabled":{"type":"boolean","description":"Receive bidirectional TCP Reset on TCP flow idle timeout or unexpected connection termination. This element is only used when the protocol is set to TCP.\n"}},"requiredInputs":["backendAddressPoolId","loadbalancerId","protocol"],"stateInputs":{"description":"Input properties used for looking up and filtering OutboundRule resources.\n","properties":{"allocatedOutboundPorts":{"type":"integer","description":"The number of outbound ports to be used for NAT. Defaults to \u003cspan pulumi-lang-nodejs=\"`1024`\" pulumi-lang-dotnet=\"`1024`\" pulumi-lang-go=\"`1024`\" pulumi-lang-python=\"`1024`\" pulumi-lang-yaml=\"`1024`\" pulumi-lang-java=\"`1024`\"\u003e`1024`\u003c/span\u003e.\n"},"backendAddressPoolId":{"type":"string","description":"The ID of the Backend Address Pool. Outbound traffic is randomly load balanced across IPs in the backend IPs.\n"},"enableTcpReset":{"type":"boolean","deprecationMessage":"This property is being deprecated in favour of \u003cspan pulumi-lang-nodejs=\"`tcpResetEnabled`\" pulumi-lang-dotnet=\"`TcpResetEnabled`\" pulumi-lang-go=\"`tcpResetEnabled`\" pulumi-lang-python=\"`tcp_reset_enabled`\" pulumi-lang-yaml=\"`tcpResetEnabled`\" pulumi-lang-java=\"`tcpResetEnabled`\"\u003e`tcp_reset_enabled`\u003c/span\u003e and will be removed in version 5.0 of the provider."},"frontendIpConfigurations":{"type":"array","items":{"$ref":"#/types/azure:lb/OutboundRuleFrontendIpConfiguration:OutboundRuleFrontendIpConfiguration"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`frontendIpConfiguration`\" pulumi-lang-dotnet=\"`FrontendIpConfiguration`\" pulumi-lang-go=\"`frontendIpConfiguration`\" pulumi-lang-python=\"`frontend_ip_configuration`\" pulumi-lang-yaml=\"`frontendIpConfiguration`\" pulumi-lang-java=\"`frontendIpConfiguration`\"\u003e`frontend_ip_configuration`\u003c/span\u003e blocks as defined below.\n"},"idleTimeoutInMinutes":{"type":"integer","description":"The timeout for the TCP idle connection Defaults to \u003cspan pulumi-lang-nodejs=\"`4`\" pulumi-lang-dotnet=\"`4`\" pulumi-lang-go=\"`4`\" pulumi-lang-python=\"`4`\" pulumi-lang-yaml=\"`4`\" pulumi-lang-java=\"`4`\"\u003e`4`\u003c/span\u003e.\n"},"loadbalancerId":{"type":"string","description":"The ID of the Load Balancer in which to create the Outbound Rule. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the Outbound Rule. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"protocol":{"type":"string","description":"The transport protocol for the external endpoint. Possible values are `Udp`, `Tcp` or `All`.\n"},"tcpResetEnabled":{"type":"boolean","description":"Receive bidirectional TCP Reset on TCP flow idle timeout or unexpected connection termination. This element is only used when the protocol is set to TCP.\n"}},"type":"object"}},"azure:lb/probe:Probe":{"description":"Manages a LoadBalancer Probe Resource.\n\n\u003e **Note:** When using this resource, the Load Balancer needs to have a FrontEnd IP Configuration Attached\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"LoadBalancerRG\",\n    location: \"West Europe\",\n});\nconst examplePublicIp = new azure.network.PublicIp(\"example\", {\n    name: \"PublicIPForLB\",\n    location: example.location,\n    resourceGroupName: example.name,\n    allocationMethod: \"Static\",\n});\nconst exampleLoadBalancer = new azure.lb.LoadBalancer(\"example\", {\n    name: \"TestLoadBalancer\",\n    location: example.location,\n    resourceGroupName: example.name,\n    frontendIpConfigurations: [{\n        name: \"PublicIPAddress\",\n        publicIpAddressId: examplePublicIp.id,\n    }],\n});\nconst exampleProbe = new azure.lb.Probe(\"example\", {\n    loadbalancerId: exampleLoadBalancer.id,\n    name: \"ssh-running-probe\",\n    port: 22,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"LoadBalancerRG\",\n    location=\"West Europe\")\nexample_public_ip = azure.network.PublicIp(\"example\",\n    name=\"PublicIPForLB\",\n    location=example.location,\n    resource_group_name=example.name,\n    allocation_method=\"Static\")\nexample_load_balancer = azure.lb.LoadBalancer(\"example\",\n    name=\"TestLoadBalancer\",\n    location=example.location,\n    resource_group_name=example.name,\n    frontend_ip_configurations=[{\n        \"name\": \"PublicIPAddress\",\n        \"public_ip_address_id\": example_public_ip.id,\n    }])\nexample_probe = azure.lb.Probe(\"example\",\n    loadbalancer_id=example_load_balancer.id,\n    name=\"ssh-running-probe\",\n    port=22)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"LoadBalancerRG\",\n        Location = \"West Europe\",\n    });\n\n    var examplePublicIp = new Azure.Network.PublicIp(\"example\", new()\n    {\n        Name = \"PublicIPForLB\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        AllocationMethod = \"Static\",\n    });\n\n    var exampleLoadBalancer = new Azure.Lb.LoadBalancer(\"example\", new()\n    {\n        Name = \"TestLoadBalancer\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        FrontendIpConfigurations = new[]\n        {\n            new Azure.Lb.Inputs.LoadBalancerFrontendIpConfigurationArgs\n            {\n                Name = \"PublicIPAddress\",\n                PublicIpAddressId = examplePublicIp.Id,\n            },\n        },\n    });\n\n    var exampleProbe = new Azure.Lb.Probe(\"example\", new()\n    {\n        LoadbalancerId = exampleLoadBalancer.Id,\n        Name = \"ssh-running-probe\",\n        Port = 22,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/lb\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"LoadBalancerRG\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texamplePublicIp, err := network.NewPublicIp(ctx, \"example\", \u0026network.PublicIpArgs{\n\t\t\tName:              pulumi.String(\"PublicIPForLB\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tAllocationMethod:  pulumi.String(\"Static\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleLoadBalancer, err := lb.NewLoadBalancer(ctx, \"example\", \u0026lb.LoadBalancerArgs{\n\t\t\tName:              pulumi.String(\"TestLoadBalancer\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tFrontendIpConfigurations: lb.LoadBalancerFrontendIpConfigurationArray{\n\t\t\t\t\u0026lb.LoadBalancerFrontendIpConfigurationArgs{\n\t\t\t\t\tName:              pulumi.String(\"PublicIPAddress\"),\n\t\t\t\t\tPublicIpAddressId: examplePublicIp.ID(),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lb.NewProbe(ctx, \"example\", \u0026lb.ProbeArgs{\n\t\t\tLoadbalancerId: exampleLoadBalancer.ID(),\n\t\t\tName:           pulumi.String(\"ssh-running-probe\"),\n\t\t\tPort:           pulumi.Int(22),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.PublicIp;\nimport com.pulumi.azure.network.PublicIpArgs;\nimport com.pulumi.azure.lb.LoadBalancer;\nimport com.pulumi.azure.lb.LoadBalancerArgs;\nimport com.pulumi.azure.lb.inputs.LoadBalancerFrontendIpConfigurationArgs;\nimport com.pulumi.azure.lb.Probe;\nimport com.pulumi.azure.lb.ProbeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"LoadBalancerRG\")\n            .location(\"West Europe\")\n            .build());\n\n        var examplePublicIp = new PublicIp(\"examplePublicIp\", PublicIpArgs.builder()\n            .name(\"PublicIPForLB\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .allocationMethod(\"Static\")\n            .build());\n\n        var exampleLoadBalancer = new LoadBalancer(\"exampleLoadBalancer\", LoadBalancerArgs.builder()\n            .name(\"TestLoadBalancer\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .frontendIpConfigurations(LoadBalancerFrontendIpConfigurationArgs.builder()\n                .name(\"PublicIPAddress\")\n                .publicIpAddressId(examplePublicIp.id())\n                .build())\n            .build());\n\n        var exampleProbe = new Probe(\"exampleProbe\", ProbeArgs.builder()\n            .loadbalancerId(exampleLoadBalancer.id())\n            .name(\"ssh-running-probe\")\n            .port(22)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: LoadBalancerRG\n      location: West Europe\n  examplePublicIp:\n    type: azure:network:PublicIp\n    name: example\n    properties:\n      name: PublicIPForLB\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      allocationMethod: Static\n  exampleLoadBalancer:\n    type: azure:lb:LoadBalancer\n    name: example\n    properties:\n      name: TestLoadBalancer\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      frontendIpConfigurations:\n        - name: PublicIPAddress\n          publicIpAddressId: ${examplePublicIp.id}\n  exampleProbe:\n    type: azure:lb:Probe\n    name: example\n    properties:\n      loadbalancerId: ${exampleLoadBalancer.id}\n      name: ssh-running-probe\n      port: 22\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2023-09-01\n\n## Import\n\nLoad Balancer Probes can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:lb/probe:Probe example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Network/loadBalancers/lb1/probes/probe1\n```\n\n","properties":{"intervalInSeconds":{"type":"integer","description":"The interval, in seconds between probes to the backend endpoint for health status. The default value is 15, the minimum value is 5.\n"},"loadBalancerRules":{"type":"array","items":{"type":"string"}},"loadbalancerId":{"type":"string","description":"The ID of the LoadBalancer in which to create the Probe. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"Specifies the name of the Probe. Changing this forces a new resource to be created.\n"},"numberOfProbes":{"type":"integer","description":"The number of failed probe attempts after which the backend endpoint is removed from rotation. Default to \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e. NumberOfProbes multiplied by intervalInSeconds value must be greater or equal to 10.Endpoints are returned to rotation when at least one probe is successful.\n"},"port":{"type":"integer","description":"Port on which the Probe queries the backend endpoint. Possible values range from 1 to 65535, inclusive.\n"},"probeThreshold":{"type":"integer","description":"The number of consecutive successful or failed probes that allow or deny traffic to this endpoint. Possible values range from \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`100`\" pulumi-lang-dotnet=\"`100`\" pulumi-lang-go=\"`100`\" pulumi-lang-python=\"`100`\" pulumi-lang-yaml=\"`100`\" pulumi-lang-java=\"`100`\"\u003e`100`\u003c/span\u003e. The default value is \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e.\n"},"protocol":{"type":"string","description":"Specifies the protocol of the end point. Possible values are `Http`, `Https` or `Tcp`. If TCP is specified, a received ACK is required for the probe to be successful. If HTTP is specified, a 200 OK response from the specified URI is required for the probe to be successful. Defaults to `Tcp`.\n"},"requestPath":{"type":"string","description":"The URI used for requesting health status from the backend endpoint. Required if protocol is set to `Http` or `Https`. Otherwise, it is not allowed.\n"}},"required":["loadBalancerRules","loadbalancerId","name","port"],"inputProperties":{"intervalInSeconds":{"type":"integer","description":"The interval, in seconds between probes to the backend endpoint for health status. The default value is 15, the minimum value is 5.\n"},"loadbalancerId":{"type":"string","description":"The ID of the LoadBalancer in which to create the Probe. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the Probe. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"numberOfProbes":{"type":"integer","description":"The number of failed probe attempts after which the backend endpoint is removed from rotation. Default to \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e. NumberOfProbes multiplied by intervalInSeconds value must be greater or equal to 10.Endpoints are returned to rotation when at least one probe is successful.\n"},"port":{"type":"integer","description":"Port on which the Probe queries the backend endpoint. Possible values range from 1 to 65535, inclusive.\n"},"probeThreshold":{"type":"integer","description":"The number of consecutive successful or failed probes that allow or deny traffic to this endpoint. Possible values range from \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`100`\" pulumi-lang-dotnet=\"`100`\" pulumi-lang-go=\"`100`\" pulumi-lang-python=\"`100`\" pulumi-lang-yaml=\"`100`\" pulumi-lang-java=\"`100`\"\u003e`100`\u003c/span\u003e. The default value is \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e.\n"},"protocol":{"type":"string","description":"Specifies the protocol of the end point. Possible values are `Http`, `Https` or `Tcp`. If TCP is specified, a received ACK is required for the probe to be successful. If HTTP is specified, a 200 OK response from the specified URI is required for the probe to be successful. Defaults to `Tcp`.\n"},"requestPath":{"type":"string","description":"The URI used for requesting health status from the backend endpoint. Required if protocol is set to `Http` or `Https`. Otherwise, it is not allowed.\n"}},"requiredInputs":["loadbalancerId","port"],"stateInputs":{"description":"Input properties used for looking up and filtering Probe resources.\n","properties":{"intervalInSeconds":{"type":"integer","description":"The interval, in seconds between probes to the backend endpoint for health status. The default value is 15, the minimum value is 5.\n"},"loadBalancerRules":{"type":"array","items":{"type":"string"}},"loadbalancerId":{"type":"string","description":"The ID of the LoadBalancer in which to create the Probe. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the Probe. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"numberOfProbes":{"type":"integer","description":"The number of failed probe attempts after which the backend endpoint is removed from rotation. Default to \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e. NumberOfProbes multiplied by intervalInSeconds value must be greater or equal to 10.Endpoints are returned to rotation when at least one probe is successful.\n"},"port":{"type":"integer","description":"Port on which the Probe queries the backend endpoint. Possible values range from 1 to 65535, inclusive.\n"},"probeThreshold":{"type":"integer","description":"The number of consecutive successful or failed probes that allow or deny traffic to this endpoint. Possible values range from \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`100`\" pulumi-lang-dotnet=\"`100`\" pulumi-lang-go=\"`100`\" pulumi-lang-python=\"`100`\" pulumi-lang-yaml=\"`100`\" pulumi-lang-java=\"`100`\"\u003e`100`\u003c/span\u003e. The default value is \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e.\n"},"protocol":{"type":"string","description":"Specifies the protocol of the end point. Possible values are `Http`, `Https` or `Tcp`. If TCP is specified, a received ACK is required for the probe to be successful. If HTTP is specified, a 200 OK response from the specified URI is required for the probe to be successful. Defaults to `Tcp`.\n"},"requestPath":{"type":"string","description":"The URI used for requesting health status from the backend endpoint. Required if protocol is set to `Http` or `Https`. Otherwise, it is not allowed.\n"}},"type":"object"}},"azure:lb/rule:Rule":{"description":"Manages a Load Balancer Rule.\n\n\u003e **Note:** When using this resource, the Load Balancer needs to have a FrontEnd IP Configuration Attached\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"LoadBalancerRG\",\n    location: \"West Europe\",\n});\nconst examplePublicIp = new azure.network.PublicIp(\"example\", {\n    name: \"PublicIPForLB\",\n    location: \"West US\",\n    resourceGroupName: example.name,\n    allocationMethod: \"Static\",\n});\nconst exampleLoadBalancer = new azure.lb.LoadBalancer(\"example\", {\n    name: \"TestLoadBalancer\",\n    location: \"West US\",\n    resourceGroupName: example.name,\n    frontendIpConfigurations: [{\n        name: \"PublicIPAddress\",\n        publicIpAddressId: examplePublicIp.id,\n    }],\n});\nconst exampleRule = new azure.lb.Rule(\"example\", {\n    loadbalancerId: exampleLoadBalancer.id,\n    name: \"LBRule\",\n    protocol: \"Tcp\",\n    frontendPort: 3389,\n    backendPort: 3389,\n    frontendIpConfigurationName: \"PublicIPAddress\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"LoadBalancerRG\",\n    location=\"West Europe\")\nexample_public_ip = azure.network.PublicIp(\"example\",\n    name=\"PublicIPForLB\",\n    location=\"West US\",\n    resource_group_name=example.name,\n    allocation_method=\"Static\")\nexample_load_balancer = azure.lb.LoadBalancer(\"example\",\n    name=\"TestLoadBalancer\",\n    location=\"West US\",\n    resource_group_name=example.name,\n    frontend_ip_configurations=[{\n        \"name\": \"PublicIPAddress\",\n        \"public_ip_address_id\": example_public_ip.id,\n    }])\nexample_rule = azure.lb.Rule(\"example\",\n    loadbalancer_id=example_load_balancer.id,\n    name=\"LBRule\",\n    protocol=\"Tcp\",\n    frontend_port=3389,\n    backend_port=3389,\n    frontend_ip_configuration_name=\"PublicIPAddress\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"LoadBalancerRG\",\n        Location = \"West Europe\",\n    });\n\n    var examplePublicIp = new Azure.Network.PublicIp(\"example\", new()\n    {\n        Name = \"PublicIPForLB\",\n        Location = \"West US\",\n        ResourceGroupName = example.Name,\n        AllocationMethod = \"Static\",\n    });\n\n    var exampleLoadBalancer = new Azure.Lb.LoadBalancer(\"example\", new()\n    {\n        Name = \"TestLoadBalancer\",\n        Location = \"West US\",\n        ResourceGroupName = example.Name,\n        FrontendIpConfigurations = new[]\n        {\n            new Azure.Lb.Inputs.LoadBalancerFrontendIpConfigurationArgs\n            {\n                Name = \"PublicIPAddress\",\n                PublicIpAddressId = examplePublicIp.Id,\n            },\n        },\n    });\n\n    var exampleRule = new Azure.Lb.Rule(\"example\", new()\n    {\n        LoadbalancerId = exampleLoadBalancer.Id,\n        Name = \"LBRule\",\n        Protocol = \"Tcp\",\n        FrontendPort = 3389,\n        BackendPort = 3389,\n        FrontendIpConfigurationName = \"PublicIPAddress\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/lb\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"LoadBalancerRG\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texamplePublicIp, err := network.NewPublicIp(ctx, \"example\", \u0026network.PublicIpArgs{\n\t\t\tName:              pulumi.String(\"PublicIPForLB\"),\n\t\t\tLocation:          pulumi.String(\"West US\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tAllocationMethod:  pulumi.String(\"Static\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleLoadBalancer, err := lb.NewLoadBalancer(ctx, \"example\", \u0026lb.LoadBalancerArgs{\n\t\t\tName:              pulumi.String(\"TestLoadBalancer\"),\n\t\t\tLocation:          pulumi.String(\"West US\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tFrontendIpConfigurations: lb.LoadBalancerFrontendIpConfigurationArray{\n\t\t\t\t\u0026lb.LoadBalancerFrontendIpConfigurationArgs{\n\t\t\t\t\tName:              pulumi.String(\"PublicIPAddress\"),\n\t\t\t\t\tPublicIpAddressId: examplePublicIp.ID(),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lb.NewRule(ctx, \"example\", \u0026lb.RuleArgs{\n\t\t\tLoadbalancerId:              exampleLoadBalancer.ID(),\n\t\t\tName:                        pulumi.String(\"LBRule\"),\n\t\t\tProtocol:                    pulumi.String(\"Tcp\"),\n\t\t\tFrontendPort:                pulumi.Int(3389),\n\t\t\tBackendPort:                 pulumi.Int(3389),\n\t\t\tFrontendIpConfigurationName: pulumi.String(\"PublicIPAddress\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.PublicIp;\nimport com.pulumi.azure.network.PublicIpArgs;\nimport com.pulumi.azure.lb.LoadBalancer;\nimport com.pulumi.azure.lb.LoadBalancerArgs;\nimport com.pulumi.azure.lb.inputs.LoadBalancerFrontendIpConfigurationArgs;\nimport com.pulumi.azure.lb.Rule;\nimport com.pulumi.azure.lb.RuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"LoadBalancerRG\")\n            .location(\"West Europe\")\n            .build());\n\n        var examplePublicIp = new PublicIp(\"examplePublicIp\", PublicIpArgs.builder()\n            .name(\"PublicIPForLB\")\n            .location(\"West US\")\n            .resourceGroupName(example.name())\n            .allocationMethod(\"Static\")\n            .build());\n\n        var exampleLoadBalancer = new LoadBalancer(\"exampleLoadBalancer\", LoadBalancerArgs.builder()\n            .name(\"TestLoadBalancer\")\n            .location(\"West US\")\n            .resourceGroupName(example.name())\n            .frontendIpConfigurations(LoadBalancerFrontendIpConfigurationArgs.builder()\n                .name(\"PublicIPAddress\")\n                .publicIpAddressId(examplePublicIp.id())\n                .build())\n            .build());\n\n        var exampleRule = new Rule(\"exampleRule\", RuleArgs.builder()\n            .loadbalancerId(exampleLoadBalancer.id())\n            .name(\"LBRule\")\n            .protocol(\"Tcp\")\n            .frontendPort(3389)\n            .backendPort(3389)\n            .frontendIpConfigurationName(\"PublicIPAddress\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: LoadBalancerRG\n      location: West Europe\n  examplePublicIp:\n    type: azure:network:PublicIp\n    name: example\n    properties:\n      name: PublicIPForLB\n      location: West US\n      resourceGroupName: ${example.name}\n      allocationMethod: Static\n  exampleLoadBalancer:\n    type: azure:lb:LoadBalancer\n    name: example\n    properties:\n      name: TestLoadBalancer\n      location: West US\n      resourceGroupName: ${example.name}\n      frontendIpConfigurations:\n        - name: PublicIPAddress\n          publicIpAddressId: ${examplePublicIp.id}\n  exampleRule:\n    type: azure:lb:Rule\n    name: example\n    properties:\n      loadbalancerId: ${exampleLoadBalancer.id}\n      name: LBRule\n      protocol: Tcp\n      frontendPort: 3389\n      backendPort: 3389\n      frontendIpConfigurationName: PublicIPAddress\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2023-09-01\n\n## Import\n\nLoad Balancer Rules can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:lb/rule:Rule example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Network/loadBalancers/lb1/loadBalancingRules/rule1\n```\n\n","properties":{"backendAddressPoolIds":{"type":"array","items":{"type":"string"},"description":"A list of reference to a Backend Address Pool over which this Load Balancing Rule operates.\n\n\u003e **Note:** In most cases users can only set one Backend Address Pool ID in the \u003cspan pulumi-lang-nodejs=\"`backendAddressPoolIds`\" pulumi-lang-dotnet=\"`BackendAddressPoolIds`\" pulumi-lang-go=\"`backendAddressPoolIds`\" pulumi-lang-python=\"`backend_address_pool_ids`\" pulumi-lang-yaml=\"`backendAddressPoolIds`\" pulumi-lang-java=\"`backendAddressPoolIds`\"\u003e`backend_address_pool_ids`\u003c/span\u003e. Especially, when the sku of the LB is `Gateway`, users can set up to two IDs in the \u003cspan pulumi-lang-nodejs=\"`backendAddressPoolIds`\" pulumi-lang-dotnet=\"`BackendAddressPoolIds`\" pulumi-lang-go=\"`backendAddressPoolIds`\" pulumi-lang-python=\"`backend_address_pool_ids`\" pulumi-lang-yaml=\"`backendAddressPoolIds`\" pulumi-lang-java=\"`backendAddressPoolIds`\"\u003e`backend_address_pool_ids`\u003c/span\u003e.\n"},"backendPort":{"type":"integer","description":"The port used for internal connections on the endpoint. Possible values range between 0 and 65535, inclusive. A port of \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e means \"Any Port\".\n"},"disableOutboundSnat":{"type":"boolean","description":"Is snat enabled for this Load Balancer Rule? Default \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"enableFloatingIp":{"type":"boolean","deprecationMessage":"This field is deprecated in favour of \u003cspan pulumi-lang-nodejs=\"`floatingIpEnabled`\" pulumi-lang-dotnet=\"`FloatingIpEnabled`\" pulumi-lang-go=\"`floatingIpEnabled`\" pulumi-lang-python=\"`floating_ip_enabled`\" pulumi-lang-yaml=\"`floatingIpEnabled`\" pulumi-lang-java=\"`floatingIpEnabled`\"\u003e`floating_ip_enabled`\u003c/span\u003e and will be removed in version 5.0 of the provider."},"enableTcpReset":{"type":"boolean","deprecationMessage":"This field is deprecated in favour of \u003cspan pulumi-lang-nodejs=\"`tcpResetEnabled`\" pulumi-lang-dotnet=\"`TcpResetEnabled`\" pulumi-lang-go=\"`tcpResetEnabled`\" pulumi-lang-python=\"`tcp_reset_enabled`\" pulumi-lang-yaml=\"`tcpResetEnabled`\" pulumi-lang-java=\"`tcpResetEnabled`\"\u003e`tcp_reset_enabled`\u003c/span\u003e and will be removed in version 5.0 of the provider."},"floatingIpEnabled":{"type":"boolean","description":"Are the Floating IPs enabled for this Load Balancer Rule? A \"floating\" IP is reassigned to a secondary server in case the primary server fails. Required to configure a SQL AlwaysOn Availability Group. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"frontendIpConfigurationId":{"type":"string"},"frontendIpConfigurationName":{"type":"string","description":"The name of the frontend IP configuration to which the rule is associated.\n"},"frontendPort":{"type":"integer","description":"The port for the external endpoint. Port numbers for each Rule must be unique within the Load Balancer. Possible values range between 0 and 65534, inclusive. A port of \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e means \"Any Port\".\n"},"idleTimeoutInMinutes":{"type":"integer","description":"Specifies the idle timeout in minutes for TCP connections. Valid values are between \u003cspan pulumi-lang-nodejs=\"`4`\" pulumi-lang-dotnet=\"`4`\" pulumi-lang-go=\"`4`\" pulumi-lang-python=\"`4`\" pulumi-lang-yaml=\"`4`\" pulumi-lang-java=\"`4`\"\u003e`4`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`100`\" pulumi-lang-dotnet=\"`100`\" pulumi-lang-go=\"`100`\" pulumi-lang-python=\"`100`\" pulumi-lang-yaml=\"`100`\" pulumi-lang-java=\"`100`\"\u003e`100`\u003c/span\u003e minutes. Defaults to \u003cspan pulumi-lang-nodejs=\"`4`\" pulumi-lang-dotnet=\"`4`\" pulumi-lang-go=\"`4`\" pulumi-lang-python=\"`4`\" pulumi-lang-yaml=\"`4`\" pulumi-lang-java=\"`4`\"\u003e`4`\u003c/span\u003e minutes.\n"},"loadDistribution":{"type":"string","description":"Specifies the load balancing distribution type to be used by the Load Balancer. Possible values are `Default`, `SourceIP` and `SourceIPProtocol`. Defaults to `Default.`\n* `Default` – The load balancer is configured to use a 5 tuple hash to map traffic to available servers.\n* `SourceIP` – The load balancer is configured to use a 2 tuple hash to map traffic to available servers.\n* `SourceIPProtocol` – The load balancer is configured to use a 3 tuple hash to map traffic to available servers.\n\n\u003e **Note:** In the portal, this is known as Session Persistence where the options are `None`, `Client IP` and `Client IP and Protocol` respectively.\n"},"loadbalancerId":{"type":"string","description":"The ID of the Load Balancer in which to create the Rule. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"Specifies the name of the LB Rule. Changing this forces a new resource to be created.\n"},"probeId":{"type":"string","description":"A reference to a Probe used by this Load Balancing Rule.\n"},"protocol":{"type":"string","description":"The transport protocol for the external endpoint. Possible values are `Tcp`, `Udp` or `All`.\n"},"tcpResetEnabled":{"type":"boolean","description":"Is TCP Reset enabled for this Load Balancer Rule?\n"}},"required":["backendPort","enableFloatingIp","enableTcpReset","floatingIpEnabled","frontendIpConfigurationId","frontendIpConfigurationName","frontendPort","loadbalancerId","name","protocol","tcpResetEnabled"],"inputProperties":{"backendAddressPoolIds":{"type":"array","items":{"type":"string"},"description":"A list of reference to a Backend Address Pool over which this Load Balancing Rule operates.\n\n\u003e **Note:** In most cases users can only set one Backend Address Pool ID in the \u003cspan pulumi-lang-nodejs=\"`backendAddressPoolIds`\" pulumi-lang-dotnet=\"`BackendAddressPoolIds`\" pulumi-lang-go=\"`backendAddressPoolIds`\" pulumi-lang-python=\"`backend_address_pool_ids`\" pulumi-lang-yaml=\"`backendAddressPoolIds`\" pulumi-lang-java=\"`backendAddressPoolIds`\"\u003e`backend_address_pool_ids`\u003c/span\u003e. Especially, when the sku of the LB is `Gateway`, users can set up to two IDs in the \u003cspan pulumi-lang-nodejs=\"`backendAddressPoolIds`\" pulumi-lang-dotnet=\"`BackendAddressPoolIds`\" pulumi-lang-go=\"`backendAddressPoolIds`\" pulumi-lang-python=\"`backend_address_pool_ids`\" pulumi-lang-yaml=\"`backendAddressPoolIds`\" pulumi-lang-java=\"`backendAddressPoolIds`\"\u003e`backend_address_pool_ids`\u003c/span\u003e.\n"},"backendPort":{"type":"integer","description":"The port used for internal connections on the endpoint. Possible values range between 0 and 65535, inclusive. A port of \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e means \"Any Port\".\n"},"disableOutboundSnat":{"type":"boolean","description":"Is snat enabled for this Load Balancer Rule? Default \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"enableFloatingIp":{"type":"boolean","deprecationMessage":"This field is deprecated in favour of \u003cspan pulumi-lang-nodejs=\"`floatingIpEnabled`\" pulumi-lang-dotnet=\"`FloatingIpEnabled`\" pulumi-lang-go=\"`floatingIpEnabled`\" pulumi-lang-python=\"`floating_ip_enabled`\" pulumi-lang-yaml=\"`floatingIpEnabled`\" pulumi-lang-java=\"`floatingIpEnabled`\"\u003e`floating_ip_enabled`\u003c/span\u003e and will be removed in version 5.0 of the provider."},"enableTcpReset":{"type":"boolean","deprecationMessage":"This field is deprecated in favour of \u003cspan pulumi-lang-nodejs=\"`tcpResetEnabled`\" pulumi-lang-dotnet=\"`TcpResetEnabled`\" pulumi-lang-go=\"`tcpResetEnabled`\" pulumi-lang-python=\"`tcp_reset_enabled`\" pulumi-lang-yaml=\"`tcpResetEnabled`\" pulumi-lang-java=\"`tcpResetEnabled`\"\u003e`tcp_reset_enabled`\u003c/span\u003e and will be removed in version 5.0 of the provider."},"floatingIpEnabled":{"type":"boolean","description":"Are the Floating IPs enabled for this Load Balancer Rule? A \"floating\" IP is reassigned to a secondary server in case the primary server fails. Required to configure a SQL AlwaysOn Availability Group. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"frontendIpConfigurationName":{"type":"string","description":"The name of the frontend IP configuration to which the rule is associated.\n"},"frontendPort":{"type":"integer","description":"The port for the external endpoint. Port numbers for each Rule must be unique within the Load Balancer. Possible values range between 0 and 65534, inclusive. A port of \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e means \"Any Port\".\n"},"idleTimeoutInMinutes":{"type":"integer","description":"Specifies the idle timeout in minutes for TCP connections. Valid values are between \u003cspan pulumi-lang-nodejs=\"`4`\" pulumi-lang-dotnet=\"`4`\" pulumi-lang-go=\"`4`\" pulumi-lang-python=\"`4`\" pulumi-lang-yaml=\"`4`\" pulumi-lang-java=\"`4`\"\u003e`4`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`100`\" pulumi-lang-dotnet=\"`100`\" pulumi-lang-go=\"`100`\" pulumi-lang-python=\"`100`\" pulumi-lang-yaml=\"`100`\" pulumi-lang-java=\"`100`\"\u003e`100`\u003c/span\u003e minutes. Defaults to \u003cspan pulumi-lang-nodejs=\"`4`\" pulumi-lang-dotnet=\"`4`\" pulumi-lang-go=\"`4`\" pulumi-lang-python=\"`4`\" pulumi-lang-yaml=\"`4`\" pulumi-lang-java=\"`4`\"\u003e`4`\u003c/span\u003e minutes.\n"},"loadDistribution":{"type":"string","description":"Specifies the load balancing distribution type to be used by the Load Balancer. Possible values are `Default`, `SourceIP` and `SourceIPProtocol`. Defaults to `Default.`\n* `Default` – The load balancer is configured to use a 5 tuple hash to map traffic to available servers.\n* `SourceIP` – The load balancer is configured to use a 2 tuple hash to map traffic to available servers.\n* `SourceIPProtocol` – The load balancer is configured to use a 3 tuple hash to map traffic to available servers.\n\n\u003e **Note:** In the portal, this is known as Session Persistence where the options are `None`, `Client IP` and `Client IP and Protocol` respectively.\n"},"loadbalancerId":{"type":"string","description":"The ID of the Load Balancer in which to create the Rule. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the LB Rule. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"probeId":{"type":"string","description":"A reference to a Probe used by this Load Balancing Rule.\n"},"protocol":{"type":"string","description":"The transport protocol for the external endpoint. Possible values are `Tcp`, `Udp` or `All`.\n"},"tcpResetEnabled":{"type":"boolean","description":"Is TCP Reset enabled for this Load Balancer Rule?\n"}},"requiredInputs":["backendPort","frontendIpConfigurationName","frontendPort","loadbalancerId","protocol"],"stateInputs":{"description":"Input properties used for looking up and filtering Rule resources.\n","properties":{"backendAddressPoolIds":{"type":"array","items":{"type":"string"},"description":"A list of reference to a Backend Address Pool over which this Load Balancing Rule operates.\n\n\u003e **Note:** In most cases users can only set one Backend Address Pool ID in the \u003cspan pulumi-lang-nodejs=\"`backendAddressPoolIds`\" pulumi-lang-dotnet=\"`BackendAddressPoolIds`\" pulumi-lang-go=\"`backendAddressPoolIds`\" pulumi-lang-python=\"`backend_address_pool_ids`\" pulumi-lang-yaml=\"`backendAddressPoolIds`\" pulumi-lang-java=\"`backendAddressPoolIds`\"\u003e`backend_address_pool_ids`\u003c/span\u003e. Especially, when the sku of the LB is `Gateway`, users can set up to two IDs in the \u003cspan pulumi-lang-nodejs=\"`backendAddressPoolIds`\" pulumi-lang-dotnet=\"`BackendAddressPoolIds`\" pulumi-lang-go=\"`backendAddressPoolIds`\" pulumi-lang-python=\"`backend_address_pool_ids`\" pulumi-lang-yaml=\"`backendAddressPoolIds`\" pulumi-lang-java=\"`backendAddressPoolIds`\"\u003e`backend_address_pool_ids`\u003c/span\u003e.\n"},"backendPort":{"type":"integer","description":"The port used for internal connections on the endpoint. Possible values range between 0 and 65535, inclusive. A port of \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e means \"Any Port\".\n"},"disableOutboundSnat":{"type":"boolean","description":"Is snat enabled for this Load Balancer Rule? Default \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"enableFloatingIp":{"type":"boolean","deprecationMessage":"This field is deprecated in favour of \u003cspan pulumi-lang-nodejs=\"`floatingIpEnabled`\" pulumi-lang-dotnet=\"`FloatingIpEnabled`\" pulumi-lang-go=\"`floatingIpEnabled`\" pulumi-lang-python=\"`floating_ip_enabled`\" pulumi-lang-yaml=\"`floatingIpEnabled`\" pulumi-lang-java=\"`floatingIpEnabled`\"\u003e`floating_ip_enabled`\u003c/span\u003e and will be removed in version 5.0 of the provider."},"enableTcpReset":{"type":"boolean","deprecationMessage":"This field is deprecated in favour of \u003cspan pulumi-lang-nodejs=\"`tcpResetEnabled`\" pulumi-lang-dotnet=\"`TcpResetEnabled`\" pulumi-lang-go=\"`tcpResetEnabled`\" pulumi-lang-python=\"`tcp_reset_enabled`\" pulumi-lang-yaml=\"`tcpResetEnabled`\" pulumi-lang-java=\"`tcpResetEnabled`\"\u003e`tcp_reset_enabled`\u003c/span\u003e and will be removed in version 5.0 of the provider."},"floatingIpEnabled":{"type":"boolean","description":"Are the Floating IPs enabled for this Load Balancer Rule? A \"floating\" IP is reassigned to a secondary server in case the primary server fails. Required to configure a SQL AlwaysOn Availability Group. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"frontendIpConfigurationId":{"type":"string"},"frontendIpConfigurationName":{"type":"string","description":"The name of the frontend IP configuration to which the rule is associated.\n"},"frontendPort":{"type":"integer","description":"The port for the external endpoint. Port numbers for each Rule must be unique within the Load Balancer. Possible values range between 0 and 65534, inclusive. A port of \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e means \"Any Port\".\n"},"idleTimeoutInMinutes":{"type":"integer","description":"Specifies the idle timeout in minutes for TCP connections. Valid values are between \u003cspan pulumi-lang-nodejs=\"`4`\" pulumi-lang-dotnet=\"`4`\" pulumi-lang-go=\"`4`\" pulumi-lang-python=\"`4`\" pulumi-lang-yaml=\"`4`\" pulumi-lang-java=\"`4`\"\u003e`4`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`100`\" pulumi-lang-dotnet=\"`100`\" pulumi-lang-go=\"`100`\" pulumi-lang-python=\"`100`\" pulumi-lang-yaml=\"`100`\" pulumi-lang-java=\"`100`\"\u003e`100`\u003c/span\u003e minutes. Defaults to \u003cspan pulumi-lang-nodejs=\"`4`\" pulumi-lang-dotnet=\"`4`\" pulumi-lang-go=\"`4`\" pulumi-lang-python=\"`4`\" pulumi-lang-yaml=\"`4`\" pulumi-lang-java=\"`4`\"\u003e`4`\u003c/span\u003e minutes.\n"},"loadDistribution":{"type":"string","description":"Specifies the load balancing distribution type to be used by the Load Balancer. Possible values are `Default`, `SourceIP` and `SourceIPProtocol`. Defaults to `Default.`\n* `Default` – The load balancer is configured to use a 5 tuple hash to map traffic to available servers.\n* `SourceIP` – The load balancer is configured to use a 2 tuple hash to map traffic to available servers.\n* `SourceIPProtocol` – The load balancer is configured to use a 3 tuple hash to map traffic to available servers.\n\n\u003e **Note:** In the portal, this is known as Session Persistence where the options are `None`, `Client IP` and `Client IP and Protocol` respectively.\n"},"loadbalancerId":{"type":"string","description":"The ID of the Load Balancer in which to create the Rule. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the LB Rule. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"probeId":{"type":"string","description":"A reference to a Probe used by this Load Balancing Rule.\n"},"protocol":{"type":"string","description":"The transport protocol for the external endpoint. Possible values are `Tcp`, `Udp` or `All`.\n"},"tcpResetEnabled":{"type":"boolean","description":"Is TCP Reset enabled for this Load Balancer Rule?\n"}},"type":"object"}},"azure:lighthouse/assignment:Assignment":{"description":"Manages a [Lighthouse](https://docs.microsoft.com/azure/lighthouse) Assignment to a subscription, or to a resource group.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst primary = azure.core.getSubscription({});\nconst example = new azure.lighthouse.Assignment(\"example\", {\n    scope: primary.then(primary =\u003e primary.id),\n    lighthouseDefinitionId: \"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedServices/registrationDefinitions/00000000-0000-0000-0000-000000000000\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nprimary = azure.core.get_subscription()\nexample = azure.lighthouse.Assignment(\"example\",\n    scope=primary.id,\n    lighthouse_definition_id=\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedServices/registrationDefinitions/00000000-0000-0000-0000-000000000000\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var primary = Azure.Core.GetSubscription.Invoke();\n\n    var example = new Azure.Lighthouse.Assignment(\"example\", new()\n    {\n        Scope = primary.Apply(getSubscriptionResult =\u003e getSubscriptionResult.Id),\n        LighthouseDefinitionId = \"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedServices/registrationDefinitions/00000000-0000-0000-0000-000000000000\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/lighthouse\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tprimary, err := core.LookupSubscription(ctx, \u0026core.LookupSubscriptionArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lighthouse.NewAssignment(ctx, \"example\", \u0026lighthouse.AssignmentArgs{\n\t\t\tScope:                  pulumi.String(primary.Id),\n\t\t\tLighthouseDefinitionId: pulumi.String(\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedServices/registrationDefinitions/00000000-0000-0000-0000-000000000000\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.core.inputs.GetSubscriptionArgs;\nimport com.pulumi.azure.lighthouse.Assignment;\nimport com.pulumi.azure.lighthouse.AssignmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var primary = CoreFunctions.getSubscription(GetSubscriptionArgs.builder()\n            .build());\n\n        var example = new Assignment(\"example\", AssignmentArgs.builder()\n            .scope(primary.id())\n            .lighthouseDefinitionId(\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedServices/registrationDefinitions/00000000-0000-0000-0000-000000000000\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:lighthouse:Assignment\n    properties:\n      scope: ${primary.id}\n      lighthouseDefinitionId: /subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedServices/registrationDefinitions/00000000-0000-0000-0000-000000000000\nvariables:\n  primary:\n    fn::invoke:\n      function: azure:core:getSubscription\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.ManagedServices` - 2022-10-01\n\n## Import\n\nLighthouse Assignments can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:lighthouse/assignment:Assignment example /subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedServices/registrationAssignments/00000000-0000-0000-0000-000000000000\n```\n\n","properties":{"lighthouseDefinitionId":{"type":"string","description":"A Fully qualified path of the lighthouse definition, such as `/subscriptions/0afefe50-734e-4610-8c82-a144aff49dea/providers/Microsoft.ManagedServices/registrationDefinitions/26c128c2-fefa-4340-9bb1-8e081c90ada2`. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"A unique UUID/GUID which identifies this lighthouse assignment- one will be generated if not specified. Changing this forces a new resource to be created.\n"},"scope":{"type":"string","description":"The scope at which the Lighthouse Assignment applies too, such as `/subscriptions/0b1f6471-1bf0-4dda-aec3-111122223333` or `/subscriptions/0b1f6471-1bf0-4dda-aec3-111122223333/resourceGroups/myGroup`. Changing this forces a new resource to be created.\n"}},"required":["lighthouseDefinitionId","name","scope"],"inputProperties":{"lighthouseDefinitionId":{"type":"string","description":"A Fully qualified path of the lighthouse definition, such as `/subscriptions/0afefe50-734e-4610-8c82-a144aff49dea/providers/Microsoft.ManagedServices/registrationDefinitions/26c128c2-fefa-4340-9bb1-8e081c90ada2`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"A unique UUID/GUID which identifies this lighthouse assignment- one will be generated if not specified. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"scope":{"type":"string","description":"The scope at which the Lighthouse Assignment applies too, such as `/subscriptions/0b1f6471-1bf0-4dda-aec3-111122223333` or `/subscriptions/0b1f6471-1bf0-4dda-aec3-111122223333/resourceGroups/myGroup`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["lighthouseDefinitionId","scope"],"stateInputs":{"description":"Input properties used for looking up and filtering Assignment resources.\n","properties":{"lighthouseDefinitionId":{"type":"string","description":"A Fully qualified path of the lighthouse definition, such as `/subscriptions/0afefe50-734e-4610-8c82-a144aff49dea/providers/Microsoft.ManagedServices/registrationDefinitions/26c128c2-fefa-4340-9bb1-8e081c90ada2`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"A unique UUID/GUID which identifies this lighthouse assignment- one will be generated if not specified. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"scope":{"type":"string","description":"The scope at which the Lighthouse Assignment applies too, such as `/subscriptions/0b1f6471-1bf0-4dda-aec3-111122223333` or `/subscriptions/0b1f6471-1bf0-4dda-aec3-111122223333/resourceGroups/myGroup`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:lighthouse/definition:Definition":{"description":"Manages a [Lighthouse](https://docs.microsoft.com/azure/lighthouse) Definition.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst contributor = azure.authorization.getRoleDefinition({\n    roleDefinitionId: \"b24988ac-6180-42a0-ab88-20f7382dd24c\",\n});\nconst example = new azure.lighthouse.Definition(\"example\", {\n    name: \"Sample definition\",\n    description: \"This is a lighthouse definition created IaC\",\n    managingTenantId: \"00000000-0000-0000-0000-000000000000\",\n    scope: \"/subscriptions/00000000-0000-0000-0000-000000000000\",\n    authorizations: [{\n        principalId: \"00000000-0000-0000-0000-000000000000\",\n        roleDefinitionId: contributor.then(contributor =\u003e contributor.roleDefinitionId),\n        principalDisplayName: \"Tier 1 Support\",\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\ncontributor = azure.authorization.get_role_definition(role_definition_id=\"b24988ac-6180-42a0-ab88-20f7382dd24c\")\nexample = azure.lighthouse.Definition(\"example\",\n    name=\"Sample definition\",\n    description=\"This is a lighthouse definition created IaC\",\n    managing_tenant_id=\"00000000-0000-0000-0000-000000000000\",\n    scope=\"/subscriptions/00000000-0000-0000-0000-000000000000\",\n    authorizations=[{\n        \"principal_id\": \"00000000-0000-0000-0000-000000000000\",\n        \"role_definition_id\": contributor.role_definition_id,\n        \"principal_display_name\": \"Tier 1 Support\",\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var contributor = Azure.Authorization.GetRoleDefinition.Invoke(new()\n    {\n        RoleDefinitionId = \"b24988ac-6180-42a0-ab88-20f7382dd24c\",\n    });\n\n    var example = new Azure.Lighthouse.Definition(\"example\", new()\n    {\n        Name = \"Sample definition\",\n        Description = \"This is a lighthouse definition created IaC\",\n        ManagingTenantId = \"00000000-0000-0000-0000-000000000000\",\n        Scope = \"/subscriptions/00000000-0000-0000-0000-000000000000\",\n        Authorizations = new[]\n        {\n            new Azure.Lighthouse.Inputs.DefinitionAuthorizationArgs\n            {\n                PrincipalId = \"00000000-0000-0000-0000-000000000000\",\n                RoleDefinitionId = contributor.Apply(getRoleDefinitionResult =\u003e getRoleDefinitionResult.RoleDefinitionId),\n                PrincipalDisplayName = \"Tier 1 Support\",\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/authorization\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/lighthouse\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcontributor, err := authorization.LookupRoleDefinition(ctx, \u0026authorization.LookupRoleDefinitionArgs{\n\t\t\tRoleDefinitionId: pulumi.StringRef(\"b24988ac-6180-42a0-ab88-20f7382dd24c\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lighthouse.NewDefinition(ctx, \"example\", \u0026lighthouse.DefinitionArgs{\n\t\t\tName:             pulumi.String(\"Sample definition\"),\n\t\t\tDescription:      pulumi.String(\"This is a lighthouse definition created IaC\"),\n\t\t\tManagingTenantId: pulumi.String(\"00000000-0000-0000-0000-000000000000\"),\n\t\t\tScope:            pulumi.String(\"/subscriptions/00000000-0000-0000-0000-000000000000\"),\n\t\t\tAuthorizations: lighthouse.DefinitionAuthorizationArray{\n\t\t\t\t\u0026lighthouse.DefinitionAuthorizationArgs{\n\t\t\t\t\tPrincipalId:          pulumi.String(\"00000000-0000-0000-0000-000000000000\"),\n\t\t\t\t\tRoleDefinitionId:     pulumi.String(contributor.RoleDefinitionId),\n\t\t\t\t\tPrincipalDisplayName: pulumi.String(\"Tier 1 Support\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.authorization.AuthorizationFunctions;\nimport com.pulumi.azure.authorization.inputs.GetRoleDefinitionArgs;\nimport com.pulumi.azure.lighthouse.Definition;\nimport com.pulumi.azure.lighthouse.DefinitionArgs;\nimport com.pulumi.azure.lighthouse.inputs.DefinitionAuthorizationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var contributor = AuthorizationFunctions.getRoleDefinition(GetRoleDefinitionArgs.builder()\n            .roleDefinitionId(\"b24988ac-6180-42a0-ab88-20f7382dd24c\")\n            .build());\n\n        var example = new Definition(\"example\", DefinitionArgs.builder()\n            .name(\"Sample definition\")\n            .description(\"This is a lighthouse definition created IaC\")\n            .managingTenantId(\"00000000-0000-0000-0000-000000000000\")\n            .scope(\"/subscriptions/00000000-0000-0000-0000-000000000000\")\n            .authorizations(DefinitionAuthorizationArgs.builder()\n                .principalId(\"00000000-0000-0000-0000-000000000000\")\n                .roleDefinitionId(contributor.roleDefinitionId())\n                .principalDisplayName(\"Tier 1 Support\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:lighthouse:Definition\n    properties:\n      name: Sample definition\n      description: This is a lighthouse definition created IaC\n      managingTenantId: 00000000-0000-0000-0000-000000000000\n      scope: /subscriptions/00000000-0000-0000-0000-000000000000\n      authorizations:\n        - principalId: 00000000-0000-0000-0000-000000000000\n          roleDefinitionId: ${contributor.roleDefinitionId}\n          principalDisplayName: Tier 1 Support\nvariables:\n  contributor:\n    fn::invoke:\n      function: azure:authorization:getRoleDefinition\n      arguments:\n        roleDefinitionId: b24988ac-6180-42a0-ab88-20f7382dd24c\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.ManagedServices` - 2022-10-01\n\n## Import\n\nLighthouse Definitions can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:lighthouse/definition:Definition example /subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedServices/registrationDefinitions/00000000-0000-0000-0000-000000000000\n```\n\n","properties":{"authorizations":{"type":"array","items":{"$ref":"#/types/azure:lighthouse/DefinitionAuthorization:DefinitionAuthorization"},"description":"An \u003cspan pulumi-lang-nodejs=\"`authorization`\" pulumi-lang-dotnet=\"`Authorization`\" pulumi-lang-go=\"`authorization`\" pulumi-lang-python=\"`authorization`\" pulumi-lang-yaml=\"`authorization`\" pulumi-lang-java=\"`authorization`\"\u003e`authorization`\u003c/span\u003e block as defined below.\n"},"description":{"type":"string","description":"A description of the Lighthouse Definition.\n"},"eligibleAuthorizations":{"type":"array","items":{"$ref":"#/types/azure:lighthouse/DefinitionEligibleAuthorization:DefinitionEligibleAuthorization"},"description":"An \u003cspan pulumi-lang-nodejs=\"`eligibleAuthorization`\" pulumi-lang-dotnet=\"`EligibleAuthorization`\" pulumi-lang-go=\"`eligibleAuthorization`\" pulumi-lang-python=\"`eligible_authorization`\" pulumi-lang-yaml=\"`eligibleAuthorization`\" pulumi-lang-java=\"`eligibleAuthorization`\"\u003e`eligible_authorization`\u003c/span\u003e block as defined below.\n"},"lighthouseDefinitionId":{"type":"string","description":"A unique UUID/GUID which identifies this lighthouse definition - one will be generated if not specified. Changing this forces a new resource to be created.\n"},"managingTenantId":{"type":"string","description":"The ID of the managing tenant. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"The name of the Lighthouse Definition. Changing this forces a new resource to be created.\n"},"plan":{"$ref":"#/types/azure:lighthouse/DefinitionPlan:DefinitionPlan","description":"A \u003cspan pulumi-lang-nodejs=\"`plan`\" pulumi-lang-dotnet=\"`Plan`\" pulumi-lang-go=\"`plan`\" pulumi-lang-python=\"`plan`\" pulumi-lang-yaml=\"`plan`\" pulumi-lang-java=\"`plan`\"\u003e`plan`\u003c/span\u003e block as defined below.\n"},"scope":{"type":"string","description":"The ID of the managed subscription. Changing this forces a new resource to be created.\n"}},"required":["authorizations","lighthouseDefinitionId","managingTenantId","name","scope"],"inputProperties":{"authorizations":{"type":"array","items":{"$ref":"#/types/azure:lighthouse/DefinitionAuthorization:DefinitionAuthorization"},"description":"An \u003cspan pulumi-lang-nodejs=\"`authorization`\" pulumi-lang-dotnet=\"`Authorization`\" pulumi-lang-go=\"`authorization`\" pulumi-lang-python=\"`authorization`\" pulumi-lang-yaml=\"`authorization`\" pulumi-lang-java=\"`authorization`\"\u003e`authorization`\u003c/span\u003e block as defined below.\n"},"description":{"type":"string","description":"A description of the Lighthouse Definition.\n"},"eligibleAuthorizations":{"type":"array","items":{"$ref":"#/types/azure:lighthouse/DefinitionEligibleAuthorization:DefinitionEligibleAuthorization"},"description":"An \u003cspan pulumi-lang-nodejs=\"`eligibleAuthorization`\" pulumi-lang-dotnet=\"`EligibleAuthorization`\" pulumi-lang-go=\"`eligibleAuthorization`\" pulumi-lang-python=\"`eligible_authorization`\" pulumi-lang-yaml=\"`eligibleAuthorization`\" pulumi-lang-java=\"`eligibleAuthorization`\"\u003e`eligible_authorization`\u003c/span\u003e block as defined below.\n"},"lighthouseDefinitionId":{"type":"string","description":"A unique UUID/GUID which identifies this lighthouse definition - one will be generated if not specified. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"managingTenantId":{"type":"string","description":"The ID of the managing tenant. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the Lighthouse Definition. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"plan":{"$ref":"#/types/azure:lighthouse/DefinitionPlan:DefinitionPlan","description":"A \u003cspan pulumi-lang-nodejs=\"`plan`\" pulumi-lang-dotnet=\"`Plan`\" pulumi-lang-go=\"`plan`\" pulumi-lang-python=\"`plan`\" pulumi-lang-yaml=\"`plan`\" pulumi-lang-java=\"`plan`\"\u003e`plan`\u003c/span\u003e block as defined below.\n"},"scope":{"type":"string","description":"The ID of the managed subscription. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["authorizations","managingTenantId","scope"],"stateInputs":{"description":"Input properties used for looking up and filtering Definition resources.\n","properties":{"authorizations":{"type":"array","items":{"$ref":"#/types/azure:lighthouse/DefinitionAuthorization:DefinitionAuthorization"},"description":"An \u003cspan pulumi-lang-nodejs=\"`authorization`\" pulumi-lang-dotnet=\"`Authorization`\" pulumi-lang-go=\"`authorization`\" pulumi-lang-python=\"`authorization`\" pulumi-lang-yaml=\"`authorization`\" pulumi-lang-java=\"`authorization`\"\u003e`authorization`\u003c/span\u003e block as defined below.\n"},"description":{"type":"string","description":"A description of the Lighthouse Definition.\n"},"eligibleAuthorizations":{"type":"array","items":{"$ref":"#/types/azure:lighthouse/DefinitionEligibleAuthorization:DefinitionEligibleAuthorization"},"description":"An \u003cspan pulumi-lang-nodejs=\"`eligibleAuthorization`\" pulumi-lang-dotnet=\"`EligibleAuthorization`\" pulumi-lang-go=\"`eligibleAuthorization`\" pulumi-lang-python=\"`eligible_authorization`\" pulumi-lang-yaml=\"`eligibleAuthorization`\" pulumi-lang-java=\"`eligibleAuthorization`\"\u003e`eligible_authorization`\u003c/span\u003e block as defined below.\n"},"lighthouseDefinitionId":{"type":"string","description":"A unique UUID/GUID which identifies this lighthouse definition - one will be generated if not specified. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"managingTenantId":{"type":"string","description":"The ID of the managing tenant. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the Lighthouse Definition. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"plan":{"$ref":"#/types/azure:lighthouse/DefinitionPlan:DefinitionPlan","description":"A \u003cspan pulumi-lang-nodejs=\"`plan`\" pulumi-lang-dotnet=\"`Plan`\" pulumi-lang-go=\"`plan`\" pulumi-lang-python=\"`plan`\" pulumi-lang-yaml=\"`plan`\" pulumi-lang-java=\"`plan`\"\u003e`plan`\u003c/span\u003e block as defined below.\n"},"scope":{"type":"string","description":"The ID of the managed subscription. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:loadtest/loadTest:LoadTest":{"description":"Manages a Load Test Service.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleUserAssignedIdentity = new azure.authorization.UserAssignedIdentity(\"example\", {\n    name: \"example\",\n    resourceGroupName: example.name,\n    location: example.location,\n});\nconst exampleLoadTest = new azure.loadtest.LoadTest(\"example\", {\n    location: example.location,\n    name: \"example\",\n    resourceGroupName: example.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_user_assigned_identity = azure.authorization.UserAssignedIdentity(\"example\",\n    name=\"example\",\n    resource_group_name=example.name,\n    location=example.location)\nexample_load_test = azure.loadtest.LoadTest(\"example\",\n    location=example.location,\n    name=\"example\",\n    resource_group_name=example.name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleUserAssignedIdentity = new Azure.Authorization.UserAssignedIdentity(\"example\", new()\n    {\n        Name = \"example\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n    });\n\n    var exampleLoadTest = new Azure.LoadTest.LoadTest(\"example\", new()\n    {\n        Location = example.Location,\n        Name = \"example\",\n        ResourceGroupName = example.Name,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/authorization\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/loadtest\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = authorization.NewUserAssignedIdentity(ctx, \"example\", \u0026authorization.UserAssignedIdentityArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = loadtest.NewLoadTest(ctx, \"example\", \u0026loadtest.LoadTestArgs{\n\t\t\tLocation:          example.Location,\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.authorization.UserAssignedIdentity;\nimport com.pulumi.azure.authorization.UserAssignedIdentityArgs;\nimport com.pulumi.azure.loadtest.LoadTest;\nimport com.pulumi.azure.loadtest.LoadTestArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleUserAssignedIdentity = new UserAssignedIdentity(\"exampleUserAssignedIdentity\", UserAssignedIdentityArgs.builder()\n            .name(\"example\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .build());\n\n        var exampleLoadTest = new LoadTest(\"exampleLoadTest\", LoadTestArgs.builder()\n            .location(example.location())\n            .name(\"example\")\n            .resourceGroupName(example.name())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleUserAssignedIdentity:\n    type: azure:authorization:UserAssignedIdentity\n    name: example\n    properties:\n      name: example\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n  exampleLoadTest:\n    type: azure:loadtest:LoadTest\n    name: example\n    properties:\n      location: ${example.location}\n      name: example\n      resourceGroupName: ${example.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.LoadTestService` - 2022-12-01\n\n## Import\n\nAn existing Load Test can be imported into Pulumi using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:loadtest/loadTest:LoadTest example /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LoadTestService/loadTests/{loadTestName}\n```\n\n* Where `{subscriptionId}` is the ID of the Azure Subscription where the Load Test exists. For example `12345678-1234-9876-4563-123456789012`.\n* Where `{resourceGroupName}` is the name of Resource Group where this Load Test exists. For example `example-resource-group`.\n* Where `{loadTestName}` is the name of the Load Test. For example `loadTestValue`.\n\n","properties":{"dataPlaneUri":{"type":"string","description":"Resource data plane URI.\n"},"description":{"type":"string","description":"Description of the resource.\n"},"encryption":{"$ref":"#/types/azure:loadtest/LoadTestEncryption:LoadTestEncryption","description":"An \u003cspan pulumi-lang-nodejs=\"`encryption`\" pulumi-lang-dotnet=\"`Encryption`\" pulumi-lang-go=\"`encryption`\" pulumi-lang-python=\"`encryption`\" pulumi-lang-yaml=\"`encryption`\" pulumi-lang-java=\"`encryption`\"\u003e`encryption`\u003c/span\u003e block as defined below. Changing this forces a new Load Test to be created.\n"},"identity":{"$ref":"#/types/azure:loadtest/LoadTestIdentity:LoadTestIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below. Specifies the Managed Identity which should be assigned to this Load Test.\n"},"location":{"type":"string","description":"The Azure Region where the Load Test should exist. Changing this forces a new Load Test to be created.\n"},"name":{"type":"string","description":"Specifies the name of this Load Test. Changing this forces a new Load Test to be created.\n"},"resourceGroupName":{"type":"string","description":"Specifies the name of the Resource Group within which this Load Test should exist. Changing this forces a new Load Test to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Load Test.\n"}},"required":["dataPlaneUri","location","name","resourceGroupName"],"inputProperties":{"description":{"type":"string","description":"Description of the resource.\n"},"encryption":{"$ref":"#/types/azure:loadtest/LoadTestEncryption:LoadTestEncryption","description":"An \u003cspan pulumi-lang-nodejs=\"`encryption`\" pulumi-lang-dotnet=\"`Encryption`\" pulumi-lang-go=\"`encryption`\" pulumi-lang-python=\"`encryption`\" pulumi-lang-yaml=\"`encryption`\" pulumi-lang-java=\"`encryption`\"\u003e`encryption`\u003c/span\u003e block as defined below. Changing this forces a new Load Test to be created.\n","willReplaceOnChanges":true},"identity":{"$ref":"#/types/azure:loadtest/LoadTestIdentity:LoadTestIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below. Specifies the Managed Identity which should be assigned to this Load Test.\n"},"location":{"type":"string","description":"The Azure Region where the Load Test should exist. Changing this forces a new Load Test to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of this Load Test. Changing this forces a new Load Test to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"Specifies the name of the Resource Group within which this Load Test should exist. Changing this forces a new Load Test to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Load Test.\n"}},"requiredInputs":["resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering LoadTest resources.\n","properties":{"dataPlaneUri":{"type":"string","description":"Resource data plane URI.\n"},"description":{"type":"string","description":"Description of the resource.\n"},"encryption":{"$ref":"#/types/azure:loadtest/LoadTestEncryption:LoadTestEncryption","description":"An \u003cspan pulumi-lang-nodejs=\"`encryption`\" pulumi-lang-dotnet=\"`Encryption`\" pulumi-lang-go=\"`encryption`\" pulumi-lang-python=\"`encryption`\" pulumi-lang-yaml=\"`encryption`\" pulumi-lang-java=\"`encryption`\"\u003e`encryption`\u003c/span\u003e block as defined below. Changing this forces a new Load Test to be created.\n","willReplaceOnChanges":true},"identity":{"$ref":"#/types/azure:loadtest/LoadTestIdentity:LoadTestIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below. Specifies the Managed Identity which should be assigned to this Load Test.\n"},"location":{"type":"string","description":"The Azure Region where the Load Test should exist. Changing this forces a new Load Test to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of this Load Test. Changing this forces a new Load Test to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"Specifies the name of the Resource Group within which this Load Test should exist. Changing this forces a new Load Test to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Load Test.\n"}},"type":"object"}},"azure:loganalytics/cluster:Cluster":{"description":"\u003e **Note:** Log Analytics Clusters are subject to 14-day soft delete policy. Clusters created with the same resource group \u0026 name as a previously deleted cluster will be recovered rather than creating anew.\n\nManages a Log Analytics Cluster.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleCluster = new azure.loganalytics.Cluster(\"example\", {\n    name: \"example-cluster\",\n    resourceGroupName: example.name,\n    location: example.location,\n    identity: {\n        type: \"SystemAssigned\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_cluster = azure.loganalytics.Cluster(\"example\",\n    name=\"example-cluster\",\n    resource_group_name=example.name,\n    location=example.location,\n    identity={\n        \"type\": \"SystemAssigned\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleCluster = new Azure.LogAnalytics.Cluster(\"example\", new()\n    {\n        Name = \"example-cluster\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        Identity = new Azure.LogAnalytics.Inputs.ClusterIdentityArgs\n        {\n            Type = \"SystemAssigned\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/loganalytics\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = loganalytics.NewCluster(ctx, \"example\", \u0026loganalytics.ClusterArgs{\n\t\t\tName:              pulumi.String(\"example-cluster\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tIdentity: \u0026loganalytics.ClusterIdentityArgs{\n\t\t\t\tType: pulumi.String(\"SystemAssigned\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.loganalytics.Cluster;\nimport com.pulumi.azure.loganalytics.ClusterArgs;\nimport com.pulumi.azure.loganalytics.inputs.ClusterIdentityArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleCluster = new Cluster(\"exampleCluster\", ClusterArgs.builder()\n            .name(\"example-cluster\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .identity(ClusterIdentityArgs.builder()\n                .type(\"SystemAssigned\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleCluster:\n    type: azure:loganalytics:Cluster\n    name: example\n    properties:\n      name: example-cluster\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      identity:\n        type: SystemAssigned\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.OperationalInsights` - 2022-10-01\n\n## Import\n\nLog Analytics Clusters can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:loganalytics/cluster:Cluster example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.OperationalInsights/clusters/cluster1\n```\n\n","properties":{"clusterId":{"type":"string","description":"The GUID of the cluster.\n"},"identity":{"$ref":"#/types/azure:loganalytics/ClusterIdentity:ClusterIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below. Changing this forces a new Log Analytics Cluster to be created.\n"},"location":{"type":"string","description":"The Azure Region where the Log Analytics Cluster should exist. Changing this forces a new Log Analytics Cluster to be created.\n"},"name":{"type":"string","description":"The name which should be used for this Log Analytics Cluster. Changing this forces a new Log Analytics Cluster to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Log Analytics Cluster should exist. Changing this forces a new Log Analytics Cluster to be created.\n"},"sizeGb":{"type":"integer","description":"The capacity of the Log Analytics Cluster is specified in GB/day. Possible values include \u003cspan pulumi-lang-nodejs=\"`100`\" pulumi-lang-dotnet=\"`100`\" pulumi-lang-go=\"`100`\" pulumi-lang-python=\"`100`\" pulumi-lang-yaml=\"`100`\" pulumi-lang-java=\"`100`\"\u003e`100`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`200`\" pulumi-lang-dotnet=\"`200`\" pulumi-lang-go=\"`200`\" pulumi-lang-python=\"`200`\" pulumi-lang-yaml=\"`200`\" pulumi-lang-java=\"`200`\"\u003e`200`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`300`\" pulumi-lang-dotnet=\"`300`\" pulumi-lang-go=\"`300`\" pulumi-lang-python=\"`300`\" pulumi-lang-yaml=\"`300`\" pulumi-lang-java=\"`300`\"\u003e`300`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`400`\" pulumi-lang-dotnet=\"`400`\" pulumi-lang-go=\"`400`\" pulumi-lang-python=\"`400`\" pulumi-lang-yaml=\"`400`\" pulumi-lang-java=\"`400`\"\u003e`400`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`500`\" pulumi-lang-dotnet=\"`500`\" pulumi-lang-go=\"`500`\" pulumi-lang-python=\"`500`\" pulumi-lang-yaml=\"`500`\" pulumi-lang-java=\"`500`\"\u003e`500`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`1000`\" pulumi-lang-dotnet=\"`1000`\" pulumi-lang-go=\"`1000`\" pulumi-lang-python=\"`1000`\" pulumi-lang-yaml=\"`1000`\" pulumi-lang-java=\"`1000`\"\u003e`1000`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`2000`\" pulumi-lang-dotnet=\"`2000`\" pulumi-lang-go=\"`2000`\" pulumi-lang-python=\"`2000`\" pulumi-lang-yaml=\"`2000`\" pulumi-lang-java=\"`2000`\"\u003e`2000`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`5000`\" pulumi-lang-dotnet=\"`5000`\" pulumi-lang-go=\"`5000`\" pulumi-lang-python=\"`5000`\" pulumi-lang-yaml=\"`5000`\" pulumi-lang-java=\"`5000`\"\u003e`5000`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`10000`\" pulumi-lang-dotnet=\"`10000`\" pulumi-lang-go=\"`10000`\" pulumi-lang-python=\"`10000`\" pulumi-lang-yaml=\"`10000`\" pulumi-lang-java=\"`10000`\"\u003e`10000`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`25000`\" pulumi-lang-dotnet=\"`25000`\" pulumi-lang-go=\"`25000`\" pulumi-lang-python=\"`25000`\" pulumi-lang-yaml=\"`25000`\" pulumi-lang-java=\"`25000`\"\u003e`25000`\u003c/span\u003e, or \u003cspan pulumi-lang-nodejs=\"`50000`\" pulumi-lang-dotnet=\"`50000`\" pulumi-lang-go=\"`50000`\" pulumi-lang-python=\"`50000`\" pulumi-lang-yaml=\"`50000`\" pulumi-lang-java=\"`50000`\"\u003e`50000`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`100`\" pulumi-lang-dotnet=\"`100`\" pulumi-lang-go=\"`100`\" pulumi-lang-python=\"`100`\" pulumi-lang-yaml=\"`100`\" pulumi-lang-java=\"`100`\"\u003e`100`\u003c/span\u003e.\n\n\u003e **Note:** The cluster capacity must start at 100 GB and can be set to 500, 1000, 2000 or 5000 GB/day. For more information on cluster costs, see [Dedicated clusters](https://docs.microsoft.com/en-us/azure/azure-monitor/logs/cost-logs#dedicated-clusters).\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Log Analytics Cluster.\n"}},"required":["clusterId","identity","location","name","resourceGroupName"],"inputProperties":{"identity":{"$ref":"#/types/azure:loganalytics/ClusterIdentity:ClusterIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below. Changing this forces a new Log Analytics Cluster to be created.\n","willReplaceOnChanges":true},"location":{"type":"string","description":"The Azure Region where the Log Analytics Cluster should exist. Changing this forces a new Log Analytics Cluster to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Log Analytics Cluster. Changing this forces a new Log Analytics Cluster to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Log Analytics Cluster should exist. Changing this forces a new Log Analytics Cluster to be created.\n","willReplaceOnChanges":true},"sizeGb":{"type":"integer","description":"The capacity of the Log Analytics Cluster is specified in GB/day. Possible values include \u003cspan pulumi-lang-nodejs=\"`100`\" pulumi-lang-dotnet=\"`100`\" pulumi-lang-go=\"`100`\" pulumi-lang-python=\"`100`\" pulumi-lang-yaml=\"`100`\" pulumi-lang-java=\"`100`\"\u003e`100`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`200`\" pulumi-lang-dotnet=\"`200`\" pulumi-lang-go=\"`200`\" pulumi-lang-python=\"`200`\" pulumi-lang-yaml=\"`200`\" pulumi-lang-java=\"`200`\"\u003e`200`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`300`\" pulumi-lang-dotnet=\"`300`\" pulumi-lang-go=\"`300`\" pulumi-lang-python=\"`300`\" pulumi-lang-yaml=\"`300`\" pulumi-lang-java=\"`300`\"\u003e`300`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`400`\" pulumi-lang-dotnet=\"`400`\" pulumi-lang-go=\"`400`\" pulumi-lang-python=\"`400`\" pulumi-lang-yaml=\"`400`\" pulumi-lang-java=\"`400`\"\u003e`400`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`500`\" pulumi-lang-dotnet=\"`500`\" pulumi-lang-go=\"`500`\" pulumi-lang-python=\"`500`\" pulumi-lang-yaml=\"`500`\" pulumi-lang-java=\"`500`\"\u003e`500`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`1000`\" pulumi-lang-dotnet=\"`1000`\" pulumi-lang-go=\"`1000`\" pulumi-lang-python=\"`1000`\" pulumi-lang-yaml=\"`1000`\" pulumi-lang-java=\"`1000`\"\u003e`1000`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`2000`\" pulumi-lang-dotnet=\"`2000`\" pulumi-lang-go=\"`2000`\" pulumi-lang-python=\"`2000`\" pulumi-lang-yaml=\"`2000`\" pulumi-lang-java=\"`2000`\"\u003e`2000`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`5000`\" pulumi-lang-dotnet=\"`5000`\" pulumi-lang-go=\"`5000`\" pulumi-lang-python=\"`5000`\" pulumi-lang-yaml=\"`5000`\" pulumi-lang-java=\"`5000`\"\u003e`5000`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`10000`\" pulumi-lang-dotnet=\"`10000`\" pulumi-lang-go=\"`10000`\" pulumi-lang-python=\"`10000`\" pulumi-lang-yaml=\"`10000`\" pulumi-lang-java=\"`10000`\"\u003e`10000`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`25000`\" pulumi-lang-dotnet=\"`25000`\" pulumi-lang-go=\"`25000`\" pulumi-lang-python=\"`25000`\" pulumi-lang-yaml=\"`25000`\" pulumi-lang-java=\"`25000`\"\u003e`25000`\u003c/span\u003e, or \u003cspan pulumi-lang-nodejs=\"`50000`\" pulumi-lang-dotnet=\"`50000`\" pulumi-lang-go=\"`50000`\" pulumi-lang-python=\"`50000`\" pulumi-lang-yaml=\"`50000`\" pulumi-lang-java=\"`50000`\"\u003e`50000`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`100`\" pulumi-lang-dotnet=\"`100`\" pulumi-lang-go=\"`100`\" pulumi-lang-python=\"`100`\" pulumi-lang-yaml=\"`100`\" pulumi-lang-java=\"`100`\"\u003e`100`\u003c/span\u003e.\n\n\u003e **Note:** The cluster capacity must start at 100 GB and can be set to 500, 1000, 2000 or 5000 GB/day. For more information on cluster costs, see [Dedicated clusters](https://docs.microsoft.com/en-us/azure/azure-monitor/logs/cost-logs#dedicated-clusters).\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Log Analytics Cluster.\n"}},"requiredInputs":["identity","resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering Cluster resources.\n","properties":{"clusterId":{"type":"string","description":"The GUID of the cluster.\n"},"identity":{"$ref":"#/types/azure:loganalytics/ClusterIdentity:ClusterIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below. Changing this forces a new Log Analytics Cluster to be created.\n","willReplaceOnChanges":true},"location":{"type":"string","description":"The Azure Region where the Log Analytics Cluster should exist. Changing this forces a new Log Analytics Cluster to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Log Analytics Cluster. Changing this forces a new Log Analytics Cluster to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Log Analytics Cluster should exist. Changing this forces a new Log Analytics Cluster to be created.\n","willReplaceOnChanges":true},"sizeGb":{"type":"integer","description":"The capacity of the Log Analytics Cluster is specified in GB/day. Possible values include \u003cspan pulumi-lang-nodejs=\"`100`\" pulumi-lang-dotnet=\"`100`\" pulumi-lang-go=\"`100`\" pulumi-lang-python=\"`100`\" pulumi-lang-yaml=\"`100`\" pulumi-lang-java=\"`100`\"\u003e`100`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`200`\" pulumi-lang-dotnet=\"`200`\" pulumi-lang-go=\"`200`\" pulumi-lang-python=\"`200`\" pulumi-lang-yaml=\"`200`\" pulumi-lang-java=\"`200`\"\u003e`200`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`300`\" pulumi-lang-dotnet=\"`300`\" pulumi-lang-go=\"`300`\" pulumi-lang-python=\"`300`\" pulumi-lang-yaml=\"`300`\" pulumi-lang-java=\"`300`\"\u003e`300`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`400`\" pulumi-lang-dotnet=\"`400`\" pulumi-lang-go=\"`400`\" pulumi-lang-python=\"`400`\" pulumi-lang-yaml=\"`400`\" pulumi-lang-java=\"`400`\"\u003e`400`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`500`\" pulumi-lang-dotnet=\"`500`\" pulumi-lang-go=\"`500`\" pulumi-lang-python=\"`500`\" pulumi-lang-yaml=\"`500`\" pulumi-lang-java=\"`500`\"\u003e`500`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`1000`\" pulumi-lang-dotnet=\"`1000`\" pulumi-lang-go=\"`1000`\" pulumi-lang-python=\"`1000`\" pulumi-lang-yaml=\"`1000`\" pulumi-lang-java=\"`1000`\"\u003e`1000`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`2000`\" pulumi-lang-dotnet=\"`2000`\" pulumi-lang-go=\"`2000`\" pulumi-lang-python=\"`2000`\" pulumi-lang-yaml=\"`2000`\" pulumi-lang-java=\"`2000`\"\u003e`2000`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`5000`\" pulumi-lang-dotnet=\"`5000`\" pulumi-lang-go=\"`5000`\" pulumi-lang-python=\"`5000`\" pulumi-lang-yaml=\"`5000`\" pulumi-lang-java=\"`5000`\"\u003e`5000`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`10000`\" pulumi-lang-dotnet=\"`10000`\" pulumi-lang-go=\"`10000`\" pulumi-lang-python=\"`10000`\" pulumi-lang-yaml=\"`10000`\" pulumi-lang-java=\"`10000`\"\u003e`10000`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`25000`\" pulumi-lang-dotnet=\"`25000`\" pulumi-lang-go=\"`25000`\" pulumi-lang-python=\"`25000`\" pulumi-lang-yaml=\"`25000`\" pulumi-lang-java=\"`25000`\"\u003e`25000`\u003c/span\u003e, or \u003cspan pulumi-lang-nodejs=\"`50000`\" pulumi-lang-dotnet=\"`50000`\" pulumi-lang-go=\"`50000`\" pulumi-lang-python=\"`50000`\" pulumi-lang-yaml=\"`50000`\" pulumi-lang-java=\"`50000`\"\u003e`50000`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`100`\" pulumi-lang-dotnet=\"`100`\" pulumi-lang-go=\"`100`\" pulumi-lang-python=\"`100`\" pulumi-lang-yaml=\"`100`\" pulumi-lang-java=\"`100`\"\u003e`100`\u003c/span\u003e.\n\n\u003e **Note:** The cluster capacity must start at 100 GB and can be set to 500, 1000, 2000 or 5000 GB/day. For more information on cluster costs, see [Dedicated clusters](https://docs.microsoft.com/en-us/azure/azure-monitor/logs/cost-logs#dedicated-clusters).\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Log Analytics Cluster.\n"}},"type":"object"}},"azure:loganalytics/clusterCustomerManagedKey:ClusterCustomerManagedKey":{"description":"Manages a Log Analytics Cluster Customer Managed Key.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst current = azure.core.getClientConfig({});\nconst exampleCluster = new azure.loganalytics.Cluster(\"example\", {\n    name: \"example-cluster\",\n    resourceGroupName: example.name,\n    location: example.location,\n    identity: {\n        type: \"SystemAssigned\",\n    },\n});\nconst exampleKeyVault = new azure.keyvault.KeyVault(\"example\", {\n    name: \"keyvaultkeyexample\",\n    location: example.location,\n    resourceGroupName: example.name,\n    tenantId: current.then(current =\u003e current.tenantId),\n    skuName: \"premium\",\n    accessPolicies: [\n        {\n            tenantId: current.then(current =\u003e current.tenantId),\n            objectId: current.then(current =\u003e current.objectId),\n            keyPermissions: [\n                \"Create\",\n                \"Get\",\n                \"GetRotationPolicy\",\n            ],\n            secretPermissions: [\"Set\"],\n        },\n        {\n            tenantId: exampleCluster.identity.apply(identity =\u003e identity.tenantId),\n            objectId: exampleCluster.identity.apply(identity =\u003e identity.principalId),\n            keyPermissions: [\n                \"Get\",\n                \"Unwrapkey\",\n                \"Wrapkey\",\n            ],\n        },\n    ],\n    tags: {\n        environment: \"Production\",\n    },\n});\nconst exampleKey = new azure.keyvault.Key(\"example\", {\n    name: \"generated-certificate\",\n    keyVaultId: exampleKeyVault.id,\n    keyType: \"RSA\",\n    keySize: 2048,\n    keyOpts: [\n        \"decrypt\",\n        \"encrypt\",\n        \"sign\",\n        \"unwrapKey\",\n        \"verify\",\n        \"wrapKey\",\n    ],\n});\nconst exampleClusterCustomerManagedKey = new azure.loganalytics.ClusterCustomerManagedKey(\"example\", {\n    logAnalyticsClusterId: exampleCluster.id,\n    keyVaultKeyId: exampleKey.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\ncurrent = azure.core.get_client_config()\nexample_cluster = azure.loganalytics.Cluster(\"example\",\n    name=\"example-cluster\",\n    resource_group_name=example.name,\n    location=example.location,\n    identity={\n        \"type\": \"SystemAssigned\",\n    })\nexample_key_vault = azure.keyvault.KeyVault(\"example\",\n    name=\"keyvaultkeyexample\",\n    location=example.location,\n    resource_group_name=example.name,\n    tenant_id=current.tenant_id,\n    sku_name=\"premium\",\n    access_policies=[\n        {\n            \"tenant_id\": current.tenant_id,\n            \"object_id\": current.object_id,\n            \"key_permissions\": [\n                \"Create\",\n                \"Get\",\n                \"GetRotationPolicy\",\n            ],\n            \"secret_permissions\": [\"Set\"],\n        },\n        {\n            \"tenant_id\": example_cluster.identity.tenant_id,\n            \"object_id\": example_cluster.identity.principal_id,\n            \"key_permissions\": [\n                \"Get\",\n                \"Unwrapkey\",\n                \"Wrapkey\",\n            ],\n        },\n    ],\n    tags={\n        \"environment\": \"Production\",\n    })\nexample_key = azure.keyvault.Key(\"example\",\n    name=\"generated-certificate\",\n    key_vault_id=example_key_vault.id,\n    key_type=\"RSA\",\n    key_size=2048,\n    key_opts=[\n        \"decrypt\",\n        \"encrypt\",\n        \"sign\",\n        \"unwrapKey\",\n        \"verify\",\n        \"wrapKey\",\n    ])\nexample_cluster_customer_managed_key = azure.loganalytics.ClusterCustomerManagedKey(\"example\",\n    log_analytics_cluster_id=example_cluster.id,\n    key_vault_key_id=example_key.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var current = Azure.Core.GetClientConfig.Invoke();\n\n    var exampleCluster = new Azure.LogAnalytics.Cluster(\"example\", new()\n    {\n        Name = \"example-cluster\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        Identity = new Azure.LogAnalytics.Inputs.ClusterIdentityArgs\n        {\n            Type = \"SystemAssigned\",\n        },\n    });\n\n    var exampleKeyVault = new Azure.KeyVault.KeyVault(\"example\", new()\n    {\n        Name = \"keyvaultkeyexample\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        TenantId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.TenantId),\n        SkuName = \"premium\",\n        AccessPolicies = new[]\n        {\n            new Azure.KeyVault.Inputs.KeyVaultAccessPolicyArgs\n            {\n                TenantId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.TenantId),\n                ObjectId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.ObjectId),\n                KeyPermissions = new[]\n                {\n                    \"Create\",\n                    \"Get\",\n                    \"GetRotationPolicy\",\n                },\n                SecretPermissions = new[]\n                {\n                    \"Set\",\n                },\n            },\n            new Azure.KeyVault.Inputs.KeyVaultAccessPolicyArgs\n            {\n                TenantId = exampleCluster.Identity.Apply(identity =\u003e identity.TenantId),\n                ObjectId = exampleCluster.Identity.Apply(identity =\u003e identity.PrincipalId),\n                KeyPermissions = new[]\n                {\n                    \"Get\",\n                    \"Unwrapkey\",\n                    \"Wrapkey\",\n                },\n            },\n        },\n        Tags = \n        {\n            { \"environment\", \"Production\" },\n        },\n    });\n\n    var exampleKey = new Azure.KeyVault.Key(\"example\", new()\n    {\n        Name = \"generated-certificate\",\n        KeyVaultId = exampleKeyVault.Id,\n        KeyType = \"RSA\",\n        KeySize = 2048,\n        KeyOpts = new[]\n        {\n            \"decrypt\",\n            \"encrypt\",\n            \"sign\",\n            \"unwrapKey\",\n            \"verify\",\n            \"wrapKey\",\n        },\n    });\n\n    var exampleClusterCustomerManagedKey = new Azure.LogAnalytics.ClusterCustomerManagedKey(\"example\", new()\n    {\n        LogAnalyticsClusterId = exampleCluster.Id,\n        KeyVaultKeyId = exampleKey.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/keyvault\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/loganalytics\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrent, err := core.GetClientConfig(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleCluster, err := loganalytics.NewCluster(ctx, \"example\", \u0026loganalytics.ClusterArgs{\n\t\t\tName:              pulumi.String(\"example-cluster\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tIdentity: \u0026loganalytics.ClusterIdentityArgs{\n\t\t\t\tType: pulumi.String(\"SystemAssigned\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleKeyVault, err := keyvault.NewKeyVault(ctx, \"example\", \u0026keyvault.KeyVaultArgs{\n\t\t\tName:              pulumi.String(\"keyvaultkeyexample\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tTenantId:          pulumi.String(current.TenantId),\n\t\t\tSkuName:           pulumi.String(\"premium\"),\n\t\t\tAccessPolicies: keyvault.KeyVaultAccessPolicyArray{\n\t\t\t\t\u0026keyvault.KeyVaultAccessPolicyArgs{\n\t\t\t\t\tTenantId: pulumi.String(current.TenantId),\n\t\t\t\t\tObjectId: pulumi.String(current.ObjectId),\n\t\t\t\t\tKeyPermissions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"Create\"),\n\t\t\t\t\t\tpulumi.String(\"Get\"),\n\t\t\t\t\t\tpulumi.String(\"GetRotationPolicy\"),\n\t\t\t\t\t},\n\t\t\t\t\tSecretPermissions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"Set\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026keyvault.KeyVaultAccessPolicyArgs{\n\t\t\t\t\tTenantId: exampleCluster.Identity.ApplyT(func(identity loganalytics.ClusterIdentity) (*string, error) {\n\t\t\t\t\t\treturn \u0026identity.TenantId, nil\n\t\t\t\t\t}).(pulumi.StringPtrOutput),\n\t\t\t\t\tObjectId: exampleCluster.Identity.ApplyT(func(identity loganalytics.ClusterIdentity) (*string, error) {\n\t\t\t\t\t\treturn \u0026identity.PrincipalId, nil\n\t\t\t\t\t}).(pulumi.StringPtrOutput),\n\t\t\t\t\tKeyPermissions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"Get\"),\n\t\t\t\t\t\tpulumi.String(\"Unwrapkey\"),\n\t\t\t\t\t\tpulumi.String(\"Wrapkey\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"environment\": pulumi.String(\"Production\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleKey, err := keyvault.NewKey(ctx, \"example\", \u0026keyvault.KeyArgs{\n\t\t\tName:       pulumi.String(\"generated-certificate\"),\n\t\t\tKeyVaultId: exampleKeyVault.ID(),\n\t\t\tKeyType:    pulumi.String(\"RSA\"),\n\t\t\tKeySize:    pulumi.Int(2048),\n\t\t\tKeyOpts: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"decrypt\"),\n\t\t\t\tpulumi.String(\"encrypt\"),\n\t\t\t\tpulumi.String(\"sign\"),\n\t\t\t\tpulumi.String(\"unwrapKey\"),\n\t\t\t\tpulumi.String(\"verify\"),\n\t\t\t\tpulumi.String(\"wrapKey\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = loganalytics.NewClusterCustomerManagedKey(ctx, \"example\", \u0026loganalytics.ClusterCustomerManagedKeyArgs{\n\t\t\tLogAnalyticsClusterId: exampleCluster.ID(),\n\t\t\tKeyVaultKeyId:         exampleKey.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.loganalytics.Cluster;\nimport com.pulumi.azure.loganalytics.ClusterArgs;\nimport com.pulumi.azure.loganalytics.inputs.ClusterIdentityArgs;\nimport com.pulumi.azure.keyvault.KeyVault;\nimport com.pulumi.azure.keyvault.KeyVaultArgs;\nimport com.pulumi.azure.keyvault.inputs.KeyVaultAccessPolicyArgs;\nimport com.pulumi.azure.keyvault.Key;\nimport com.pulumi.azure.keyvault.KeyArgs;\nimport com.pulumi.azure.loganalytics.ClusterCustomerManagedKey;\nimport com.pulumi.azure.loganalytics.ClusterCustomerManagedKeyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        final var current = CoreFunctions.getClientConfig(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n        var exampleCluster = new Cluster(\"exampleCluster\", ClusterArgs.builder()\n            .name(\"example-cluster\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .identity(ClusterIdentityArgs.builder()\n                .type(\"SystemAssigned\")\n                .build())\n            .build());\n\n        var exampleKeyVault = new KeyVault(\"exampleKeyVault\", KeyVaultArgs.builder()\n            .name(\"keyvaultkeyexample\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .tenantId(current.tenantId())\n            .skuName(\"premium\")\n            .accessPolicies(            \n                KeyVaultAccessPolicyArgs.builder()\n                    .tenantId(current.tenantId())\n                    .objectId(current.objectId())\n                    .keyPermissions(                    \n                        \"Create\",\n                        \"Get\",\n                        \"GetRotationPolicy\")\n                    .secretPermissions(\"Set\")\n                    .build(),\n                KeyVaultAccessPolicyArgs.builder()\n                    .tenantId(exampleCluster.identity().applyValue(_identity -\u003e _identity.tenantId()))\n                    .objectId(exampleCluster.identity().applyValue(_identity -\u003e _identity.principalId()))\n                    .keyPermissions(                    \n                        \"Get\",\n                        \"Unwrapkey\",\n                        \"Wrapkey\")\n                    .build())\n            .tags(Map.of(\"environment\", \"Production\"))\n            .build());\n\n        var exampleKey = new Key(\"exampleKey\", KeyArgs.builder()\n            .name(\"generated-certificate\")\n            .keyVaultId(exampleKeyVault.id())\n            .keyType(\"RSA\")\n            .keySize(2048)\n            .keyOpts(            \n                \"decrypt\",\n                \"encrypt\",\n                \"sign\",\n                \"unwrapKey\",\n                \"verify\",\n                \"wrapKey\")\n            .build());\n\n        var exampleClusterCustomerManagedKey = new ClusterCustomerManagedKey(\"exampleClusterCustomerManagedKey\", ClusterCustomerManagedKeyArgs.builder()\n            .logAnalyticsClusterId(exampleCluster.id())\n            .keyVaultKeyId(exampleKey.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleCluster:\n    type: azure:loganalytics:Cluster\n    name: example\n    properties:\n      name: example-cluster\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      identity:\n        type: SystemAssigned\n  exampleKeyVault:\n    type: azure:keyvault:KeyVault\n    name: example\n    properties:\n      name: keyvaultkeyexample\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      tenantId: ${current.tenantId}\n      skuName: premium\n      accessPolicies:\n        - tenantId: ${current.tenantId}\n          objectId: ${current.objectId}\n          keyPermissions:\n            - Create\n            - Get\n            - GetRotationPolicy\n          secretPermissions:\n            - Set\n        - tenantId: ${exampleCluster.identity.tenantId}\n          objectId: ${exampleCluster.identity.principalId}\n          keyPermissions:\n            - Get\n            - Unwrapkey\n            - Wrapkey\n      tags:\n        environment: Production\n  exampleKey:\n    type: azure:keyvault:Key\n    name: example\n    properties:\n      name: generated-certificate\n      keyVaultId: ${exampleKeyVault.id}\n      keyType: RSA\n      keySize: 2048\n      keyOpts:\n        - decrypt\n        - encrypt\n        - sign\n        - unwrapKey\n        - verify\n        - wrapKey\n  exampleClusterCustomerManagedKey:\n    type: azure:loganalytics:ClusterCustomerManagedKey\n    name: example\n    properties:\n      logAnalyticsClusterId: ${exampleCluster.id}\n      keyVaultKeyId: ${exampleKey.id}\nvariables:\n  current:\n    fn::invoke:\n      function: azure:core:getClientConfig\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.OperationalInsights` - 2022-10-01\n\n## Import\n\nLog Analytics Cluster Customer Managed Keys can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:loganalytics/clusterCustomerManagedKey:ClusterCustomerManagedKey example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.OperationalInsights/clusters/cluster1\n```\n\n","properties":{"keyVaultKeyId":{"type":"string","description":"The ID of the Key Vault Key to use for encryption.\n"},"logAnalyticsClusterId":{"type":"string","description":"The ID of the Log Analytics Cluster. Changing this forces a new Log Analytics Cluster Customer Managed Key to be created.\n"}},"required":["keyVaultKeyId","logAnalyticsClusterId"],"inputProperties":{"keyVaultKeyId":{"type":"string","description":"The ID of the Key Vault Key to use for encryption.\n"},"logAnalyticsClusterId":{"type":"string","description":"The ID of the Log Analytics Cluster. Changing this forces a new Log Analytics Cluster Customer Managed Key to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["keyVaultKeyId","logAnalyticsClusterId"],"stateInputs":{"description":"Input properties used for looking up and filtering ClusterCustomerManagedKey resources.\n","properties":{"keyVaultKeyId":{"type":"string","description":"The ID of the Key Vault Key to use for encryption.\n"},"logAnalyticsClusterId":{"type":"string","description":"The ID of the Log Analytics Cluster. Changing this forces a new Log Analytics Cluster Customer Managed Key to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:loganalytics/dataExportRule:DataExportRule":{"description":"Manages a Log Analytics Data Export Rule.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleAnalyticsWorkspace = new azure.operationalinsights.AnalyticsWorkspace(\"example\", {\n    name: \"exampleworkspace\",\n    location: example.location,\n    resourceGroupName: example.name,\n    sku: \"PerGB2018\",\n    retentionInDays: 30,\n});\nconst exampleAccount = new azure.storage.Account(\"example\", {\n    name: \"examplestoracc\",\n    resourceGroupName: example.name,\n    location: example.location,\n    accountTier: \"Standard\",\n    accountReplicationType: \"LRS\",\n});\nconst exampleDataExportRule = new azure.loganalytics.DataExportRule(\"example\", {\n    name: \"dataExport1\",\n    resourceGroupName: example.name,\n    workspaceResourceId: exampleAnalyticsWorkspace.id,\n    destinationResourceId: exampleAccount.id,\n    tableNames: [\"Heartbeat\"],\n    enabled: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_analytics_workspace = azure.operationalinsights.AnalyticsWorkspace(\"example\",\n    name=\"exampleworkspace\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku=\"PerGB2018\",\n    retention_in_days=30)\nexample_account = azure.storage.Account(\"example\",\n    name=\"examplestoracc\",\n    resource_group_name=example.name,\n    location=example.location,\n    account_tier=\"Standard\",\n    account_replication_type=\"LRS\")\nexample_data_export_rule = azure.loganalytics.DataExportRule(\"example\",\n    name=\"dataExport1\",\n    resource_group_name=example.name,\n    workspace_resource_id=example_analytics_workspace.id,\n    destination_resource_id=example_account.id,\n    table_names=[\"Heartbeat\"],\n    enabled=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleAnalyticsWorkspace = new Azure.OperationalInsights.AnalyticsWorkspace(\"example\", new()\n    {\n        Name = \"exampleworkspace\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Sku = \"PerGB2018\",\n        RetentionInDays = 30,\n    });\n\n    var exampleAccount = new Azure.Storage.Account(\"example\", new()\n    {\n        Name = \"examplestoracc\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        AccountTier = \"Standard\",\n        AccountReplicationType = \"LRS\",\n    });\n\n    var exampleDataExportRule = new Azure.LogAnalytics.DataExportRule(\"example\", new()\n    {\n        Name = \"dataExport1\",\n        ResourceGroupName = example.Name,\n        WorkspaceResourceId = exampleAnalyticsWorkspace.Id,\n        DestinationResourceId = exampleAccount.Id,\n        TableNames = new[]\n        {\n            \"Heartbeat\",\n        },\n        Enabled = true,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/loganalytics\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/operationalinsights\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAnalyticsWorkspace, err := operationalinsights.NewAnalyticsWorkspace(ctx, \"example\", \u0026operationalinsights.AnalyticsWorkspaceArgs{\n\t\t\tName:              pulumi.String(\"exampleworkspace\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSku:               pulumi.String(\"PerGB2018\"),\n\t\t\tRetentionInDays:   pulumi.Int(30),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := storage.NewAccount(ctx, \"example\", \u0026storage.AccountArgs{\n\t\t\tName:                   pulumi.String(\"examplestoracc\"),\n\t\t\tResourceGroupName:      example.Name,\n\t\t\tLocation:               example.Location,\n\t\t\tAccountTier:            pulumi.String(\"Standard\"),\n\t\t\tAccountReplicationType: pulumi.String(\"LRS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = loganalytics.NewDataExportRule(ctx, \"example\", \u0026loganalytics.DataExportRuleArgs{\n\t\t\tName:                  pulumi.String(\"dataExport1\"),\n\t\t\tResourceGroupName:     example.Name,\n\t\t\tWorkspaceResourceId:   exampleAnalyticsWorkspace.ID(),\n\t\t\tDestinationResourceId: exampleAccount.ID(),\n\t\t\tTableNames: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"Heartbeat\"),\n\t\t\t},\n\t\t\tEnabled: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.operationalinsights.AnalyticsWorkspace;\nimport com.pulumi.azure.operationalinsights.AnalyticsWorkspaceArgs;\nimport com.pulumi.azure.storage.Account;\nimport com.pulumi.azure.storage.AccountArgs;\nimport com.pulumi.azure.loganalytics.DataExportRule;\nimport com.pulumi.azure.loganalytics.DataExportRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleAnalyticsWorkspace = new AnalyticsWorkspace(\"exampleAnalyticsWorkspace\", AnalyticsWorkspaceArgs.builder()\n            .name(\"exampleworkspace\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .sku(\"PerGB2018\")\n            .retentionInDays(30)\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"examplestoracc\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .accountTier(\"Standard\")\n            .accountReplicationType(\"LRS\")\n            .build());\n\n        var exampleDataExportRule = new DataExportRule(\"exampleDataExportRule\", DataExportRuleArgs.builder()\n            .name(\"dataExport1\")\n            .resourceGroupName(example.name())\n            .workspaceResourceId(exampleAnalyticsWorkspace.id())\n            .destinationResourceId(exampleAccount.id())\n            .tableNames(\"Heartbeat\")\n            .enabled(true)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleAnalyticsWorkspace:\n    type: azure:operationalinsights:AnalyticsWorkspace\n    name: example\n    properties:\n      name: exampleworkspace\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      sku: PerGB2018\n      retentionInDays: 30\n  exampleAccount:\n    type: azure:storage:Account\n    name: example\n    properties:\n      name: examplestoracc\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      accountTier: Standard\n      accountReplicationType: LRS\n  exampleDataExportRule:\n    type: azure:loganalytics:DataExportRule\n    name: example\n    properties:\n      name: dataExport1\n      resourceGroupName: ${example.name}\n      workspaceResourceId: ${exampleAnalyticsWorkspace.id}\n      destinationResourceId: ${exampleAccount.id}\n      tableNames:\n        - Heartbeat\n      enabled: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.OperationalInsights` - 2020-08-01\n\n## Import\n\nLog Analytics Data Export Rule can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:loganalytics/dataExportRule:DataExportRule example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.OperationalInsights/workspaces/workspace1/dataExports/dataExport1\n```\n\n","properties":{"destinationResourceId":{"type":"string","description":"The destination resource ID. It should be a storage account, an event hub namespace or an event hub. If the destination is an event hub namespace, an event hub would be created for each table automatically.\n"},"enabled":{"type":"boolean","description":"Is this Log Analytics Data Export Rule enabled? Possible values include \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"exportRuleId":{"type":"string","description":"The ID of the created Data Export Rule.\n"},"name":{"type":"string","description":"The name of the Log Analytics Data Export Rule. Changing this forces a new Log Analytics Data Export Rule to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Log Analytics Data Export should exist. Changing this forces a new Log Analytics Data Export Rule to be created.\n"},"tableNames":{"type":"array","items":{"type":"string"},"description":"A list of table names to export to the destination resource, for example: `[\"Heartbeat\", \"SecurityEvent\"]`.\n"},"workspaceResourceId":{"type":"string","description":"The resource ID of the workspace. Changing this forces a new Log Analytics Data Export Rule to be created.\n"}},"required":["destinationResourceId","exportRuleId","name","resourceGroupName","tableNames","workspaceResourceId"],"inputProperties":{"destinationResourceId":{"type":"string","description":"The destination resource ID. It should be a storage account, an event hub namespace or an event hub. If the destination is an event hub namespace, an event hub would be created for each table automatically.\n"},"enabled":{"type":"boolean","description":"Is this Log Analytics Data Export Rule enabled? Possible values include \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"name":{"type":"string","description":"The name of the Log Analytics Data Export Rule. Changing this forces a new Log Analytics Data Export Rule to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Log Analytics Data Export should exist. Changing this forces a new Log Analytics Data Export Rule to be created.\n","willReplaceOnChanges":true},"tableNames":{"type":"array","items":{"type":"string"},"description":"A list of table names to export to the destination resource, for example: `[\"Heartbeat\", \"SecurityEvent\"]`.\n"},"workspaceResourceId":{"type":"string","description":"The resource ID of the workspace. Changing this forces a new Log Analytics Data Export Rule to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["destinationResourceId","resourceGroupName","tableNames","workspaceResourceId"],"stateInputs":{"description":"Input properties used for looking up and filtering DataExportRule resources.\n","properties":{"destinationResourceId":{"type":"string","description":"The destination resource ID. It should be a storage account, an event hub namespace or an event hub. If the destination is an event hub namespace, an event hub would be created for each table automatically.\n"},"enabled":{"type":"boolean","description":"Is this Log Analytics Data Export Rule enabled? Possible values include \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"exportRuleId":{"type":"string","description":"The ID of the created Data Export Rule.\n"},"name":{"type":"string","description":"The name of the Log Analytics Data Export Rule. Changing this forces a new Log Analytics Data Export Rule to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Log Analytics Data Export should exist. Changing this forces a new Log Analytics Data Export Rule to be created.\n","willReplaceOnChanges":true},"tableNames":{"type":"array","items":{"type":"string"},"description":"A list of table names to export to the destination resource, for example: `[\"Heartbeat\", \"SecurityEvent\"]`.\n"},"workspaceResourceId":{"type":"string","description":"The resource ID of the workspace. Changing this forces a new Log Analytics Data Export Rule to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:loganalytics/dataSourceWindowsEvent:DataSourceWindowsEvent":{"description":"Manages a Log Analytics Windows Event DataSource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleAnalyticsWorkspace = new azure.operationalinsights.AnalyticsWorkspace(\"example\", {\n    name: \"example-law\",\n    location: example.location,\n    resourceGroupName: example.name,\n    sku: \"PerGB2018\",\n});\nconst exampleDataSourceWindowsEvent = new azure.loganalytics.DataSourceWindowsEvent(\"example\", {\n    name: \"example-lad-wpc\",\n    resourceGroupName: example.name,\n    workspaceName: exampleAnalyticsWorkspace.name,\n    eventLogName: \"Application\",\n    eventTypes: [\"Error\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_analytics_workspace = azure.operationalinsights.AnalyticsWorkspace(\"example\",\n    name=\"example-law\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku=\"PerGB2018\")\nexample_data_source_windows_event = azure.loganalytics.DataSourceWindowsEvent(\"example\",\n    name=\"example-lad-wpc\",\n    resource_group_name=example.name,\n    workspace_name=example_analytics_workspace.name,\n    event_log_name=\"Application\",\n    event_types=[\"Error\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleAnalyticsWorkspace = new Azure.OperationalInsights.AnalyticsWorkspace(\"example\", new()\n    {\n        Name = \"example-law\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Sku = \"PerGB2018\",\n    });\n\n    var exampleDataSourceWindowsEvent = new Azure.LogAnalytics.DataSourceWindowsEvent(\"example\", new()\n    {\n        Name = \"example-lad-wpc\",\n        ResourceGroupName = example.Name,\n        WorkspaceName = exampleAnalyticsWorkspace.Name,\n        EventLogName = \"Application\",\n        EventTypes = new[]\n        {\n            \"Error\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/loganalytics\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/operationalinsights\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAnalyticsWorkspace, err := operationalinsights.NewAnalyticsWorkspace(ctx, \"example\", \u0026operationalinsights.AnalyticsWorkspaceArgs{\n\t\t\tName:              pulumi.String(\"example-law\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSku:               pulumi.String(\"PerGB2018\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = loganalytics.NewDataSourceWindowsEvent(ctx, \"example\", \u0026loganalytics.DataSourceWindowsEventArgs{\n\t\t\tName:              pulumi.String(\"example-lad-wpc\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tWorkspaceName:     exampleAnalyticsWorkspace.Name,\n\t\t\tEventLogName:      pulumi.String(\"Application\"),\n\t\t\tEventTypes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"Error\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.operationalinsights.AnalyticsWorkspace;\nimport com.pulumi.azure.operationalinsights.AnalyticsWorkspaceArgs;\nimport com.pulumi.azure.loganalytics.DataSourceWindowsEvent;\nimport com.pulumi.azure.loganalytics.DataSourceWindowsEventArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleAnalyticsWorkspace = new AnalyticsWorkspace(\"exampleAnalyticsWorkspace\", AnalyticsWorkspaceArgs.builder()\n            .name(\"example-law\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .sku(\"PerGB2018\")\n            .build());\n\n        var exampleDataSourceWindowsEvent = new DataSourceWindowsEvent(\"exampleDataSourceWindowsEvent\", DataSourceWindowsEventArgs.builder()\n            .name(\"example-lad-wpc\")\n            .resourceGroupName(example.name())\n            .workspaceName(exampleAnalyticsWorkspace.name())\n            .eventLogName(\"Application\")\n            .eventTypes(\"Error\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleAnalyticsWorkspace:\n    type: azure:operationalinsights:AnalyticsWorkspace\n    name: example\n    properties:\n      name: example-law\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      sku: PerGB2018\n  exampleDataSourceWindowsEvent:\n    type: azure:loganalytics:DataSourceWindowsEvent\n    name: example\n    properties:\n      name: example-lad-wpc\n      resourceGroupName: ${example.name}\n      workspaceName: ${exampleAnalyticsWorkspace.name}\n      eventLogName: Application\n      eventTypes:\n        - Error\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.OperationalInsights` - 2020-08-01\n\n## Import\n\nLog Analytics Windows Event DataSources can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:loganalytics/dataSourceWindowsEvent:DataSourceWindowsEvent example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.OperationalInsights/workspaces/workspace1/dataSources/datasource1\n```\n\n","properties":{"eventLogName":{"type":"string","description":"Specifies the name of the Windows Event Log to collect events from.\n"},"eventTypes":{"type":"array","items":{"type":"string"},"description":"Specifies an array of event types applied to the specified event log. Possible values include `Error`, `Warning` and `Information`.\n"},"name":{"type":"string","description":"The name which should be used for this Log Analytics Windows Event DataSource. Changing this forces a new Log Analytics Windows Event DataSource to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Log Analytics Windows Event DataSource should exist. Changing this forces a new Log Analytics Windows Event DataSource to be created.\n"},"workspaceName":{"type":"string","description":"The name of the Log Analytics Workspace where the Log Analytics Windows Event DataSource should exist. Changing this forces a new Log Analytics Windows Event DataSource to be created.\n"}},"required":["eventLogName","eventTypes","name","resourceGroupName","workspaceName"],"inputProperties":{"eventLogName":{"type":"string","description":"Specifies the name of the Windows Event Log to collect events from.\n"},"eventTypes":{"type":"array","items":{"type":"string"},"description":"Specifies an array of event types applied to the specified event log. Possible values include `Error`, `Warning` and `Information`.\n"},"name":{"type":"string","description":"The name which should be used for this Log Analytics Windows Event DataSource. Changing this forces a new Log Analytics Windows Event DataSource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Log Analytics Windows Event DataSource should exist. Changing this forces a new Log Analytics Windows Event DataSource to be created.\n","willReplaceOnChanges":true},"workspaceName":{"type":"string","description":"The name of the Log Analytics Workspace where the Log Analytics Windows Event DataSource should exist. Changing this forces a new Log Analytics Windows Event DataSource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["eventLogName","eventTypes","resourceGroupName","workspaceName"],"stateInputs":{"description":"Input properties used for looking up and filtering DataSourceWindowsEvent resources.\n","properties":{"eventLogName":{"type":"string","description":"Specifies the name of the Windows Event Log to collect events from.\n"},"eventTypes":{"type":"array","items":{"type":"string"},"description":"Specifies an array of event types applied to the specified event log. Possible values include `Error`, `Warning` and `Information`.\n"},"name":{"type":"string","description":"The name which should be used for this Log Analytics Windows Event DataSource. Changing this forces a new Log Analytics Windows Event DataSource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Log Analytics Windows Event DataSource should exist. Changing this forces a new Log Analytics Windows Event DataSource to be created.\n","willReplaceOnChanges":true},"workspaceName":{"type":"string","description":"The name of the Log Analytics Workspace where the Log Analytics Windows Event DataSource should exist. Changing this forces a new Log Analytics Windows Event DataSource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:loganalytics/dataSourceWindowsPerformanceCounter:DataSourceWindowsPerformanceCounter":{"description":"Manages a Log Analytics (formally Operational Insights) Windows Performance Counter DataSource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleAnalyticsWorkspace = new azure.operationalinsights.AnalyticsWorkspace(\"example\", {\n    name: \"example-law\",\n    location: example.location,\n    resourceGroupName: example.name,\n    sku: \"PerGB2018\",\n});\nconst exampleDataSourceWindowsPerformanceCounter = new azure.loganalytics.DataSourceWindowsPerformanceCounter(\"example\", {\n    name: \"example-lad-wpc\",\n    resourceGroupName: example.name,\n    workspaceName: exampleAnalyticsWorkspace.name,\n    objectName: \"CPU\",\n    instanceName: \"*\",\n    counterName: \"CPU\",\n    intervalSeconds: 10,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_analytics_workspace = azure.operationalinsights.AnalyticsWorkspace(\"example\",\n    name=\"example-law\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku=\"PerGB2018\")\nexample_data_source_windows_performance_counter = azure.loganalytics.DataSourceWindowsPerformanceCounter(\"example\",\n    name=\"example-lad-wpc\",\n    resource_group_name=example.name,\n    workspace_name=example_analytics_workspace.name,\n    object_name=\"CPU\",\n    instance_name=\"*\",\n    counter_name=\"CPU\",\n    interval_seconds=10)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleAnalyticsWorkspace = new Azure.OperationalInsights.AnalyticsWorkspace(\"example\", new()\n    {\n        Name = \"example-law\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Sku = \"PerGB2018\",\n    });\n\n    var exampleDataSourceWindowsPerformanceCounter = new Azure.LogAnalytics.DataSourceWindowsPerformanceCounter(\"example\", new()\n    {\n        Name = \"example-lad-wpc\",\n        ResourceGroupName = example.Name,\n        WorkspaceName = exampleAnalyticsWorkspace.Name,\n        ObjectName = \"CPU\",\n        InstanceName = \"*\",\n        CounterName = \"CPU\",\n        IntervalSeconds = 10,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/loganalytics\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/operationalinsights\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAnalyticsWorkspace, err := operationalinsights.NewAnalyticsWorkspace(ctx, \"example\", \u0026operationalinsights.AnalyticsWorkspaceArgs{\n\t\t\tName:              pulumi.String(\"example-law\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSku:               pulumi.String(\"PerGB2018\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = loganalytics.NewDataSourceWindowsPerformanceCounter(ctx, \"example\", \u0026loganalytics.DataSourceWindowsPerformanceCounterArgs{\n\t\t\tName:              pulumi.String(\"example-lad-wpc\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tWorkspaceName:     exampleAnalyticsWorkspace.Name,\n\t\t\tObjectName:        pulumi.String(\"CPU\"),\n\t\t\tInstanceName:      pulumi.String(\"*\"),\n\t\t\tCounterName:       pulumi.String(\"CPU\"),\n\t\t\tIntervalSeconds:   pulumi.Int(10),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.operationalinsights.AnalyticsWorkspace;\nimport com.pulumi.azure.operationalinsights.AnalyticsWorkspaceArgs;\nimport com.pulumi.azure.loganalytics.DataSourceWindowsPerformanceCounter;\nimport com.pulumi.azure.loganalytics.DataSourceWindowsPerformanceCounterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleAnalyticsWorkspace = new AnalyticsWorkspace(\"exampleAnalyticsWorkspace\", AnalyticsWorkspaceArgs.builder()\n            .name(\"example-law\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .sku(\"PerGB2018\")\n            .build());\n\n        var exampleDataSourceWindowsPerformanceCounter = new DataSourceWindowsPerformanceCounter(\"exampleDataSourceWindowsPerformanceCounter\", DataSourceWindowsPerformanceCounterArgs.builder()\n            .name(\"example-lad-wpc\")\n            .resourceGroupName(example.name())\n            .workspaceName(exampleAnalyticsWorkspace.name())\n            .objectName(\"CPU\")\n            .instanceName(\"*\")\n            .counterName(\"CPU\")\n            .intervalSeconds(10)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleAnalyticsWorkspace:\n    type: azure:operationalinsights:AnalyticsWorkspace\n    name: example\n    properties:\n      name: example-law\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      sku: PerGB2018\n  exampleDataSourceWindowsPerformanceCounter:\n    type: azure:loganalytics:DataSourceWindowsPerformanceCounter\n    name: example\n    properties:\n      name: example-lad-wpc\n      resourceGroupName: ${example.name}\n      workspaceName: ${exampleAnalyticsWorkspace.name}\n      objectName: CPU\n      instanceName: '*'\n      counterName: CPU\n      intervalSeconds: 10\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.OperationalInsights` - 2020-08-01\n\n## Import\n\nLog Analytics Windows Performance Counter DataSources can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:loganalytics/dataSourceWindowsPerformanceCounter:DataSourceWindowsPerformanceCounter example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.OperationalInsights/workspaces/workspace1/dataSources/datasource1\n```\n\n","properties":{"counterName":{"type":"string","description":"The friendly name of the performance counter.\n"},"instanceName":{"type":"string","description":"The name of the virtual machine instance to which the Windows Performance Counter DataSource be applied. Specify a `*` will apply to all instances.\n"},"intervalSeconds":{"type":"integer","description":"The time of sample interval in seconds. Supports values between 10 and 2147483647.\n"},"name":{"type":"string","description":"The Name which should be used for this Log Analytics Windows Performance Counter DataSource. Changing this forces a new Log Analytics Windows Performance Counter DataSource to be created.\n"},"objectName":{"type":"string","description":"The object name of the Log Analytics Windows Performance Counter DataSource.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Log Analytics Windows Performance Counter DataSource should exist. Changing this forces a new Log Analytics Windows Performance Counter DataSource to be created.\n"},"workspaceName":{"type":"string","description":"The name of the Log Analytics Workspace where the Log Analytics Windows Performance Counter DataSource should exist. Changing this forces a new Log Analytics Windows Performance Counter DataSource to be created.\n"}},"required":["counterName","instanceName","intervalSeconds","name","objectName","resourceGroupName","workspaceName"],"inputProperties":{"counterName":{"type":"string","description":"The friendly name of the performance counter.\n"},"instanceName":{"type":"string","description":"The name of the virtual machine instance to which the Windows Performance Counter DataSource be applied. Specify a `*` will apply to all instances.\n"},"intervalSeconds":{"type":"integer","description":"The time of sample interval in seconds. Supports values between 10 and 2147483647.\n"},"name":{"type":"string","description":"The Name which should be used for this Log Analytics Windows Performance Counter DataSource. Changing this forces a new Log Analytics Windows Performance Counter DataSource to be created.\n","willReplaceOnChanges":true},"objectName":{"type":"string","description":"The object name of the Log Analytics Windows Performance Counter DataSource.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Log Analytics Windows Performance Counter DataSource should exist. Changing this forces a new Log Analytics Windows Performance Counter DataSource to be created.\n","willReplaceOnChanges":true},"workspaceName":{"type":"string","description":"The name of the Log Analytics Workspace where the Log Analytics Windows Performance Counter DataSource should exist. Changing this forces a new Log Analytics Windows Performance Counter DataSource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["counterName","instanceName","intervalSeconds","objectName","resourceGroupName","workspaceName"],"stateInputs":{"description":"Input properties used for looking up and filtering DataSourceWindowsPerformanceCounter resources.\n","properties":{"counterName":{"type":"string","description":"The friendly name of the performance counter.\n"},"instanceName":{"type":"string","description":"The name of the virtual machine instance to which the Windows Performance Counter DataSource be applied. Specify a `*` will apply to all instances.\n"},"intervalSeconds":{"type":"integer","description":"The time of sample interval in seconds. Supports values between 10 and 2147483647.\n"},"name":{"type":"string","description":"The Name which should be used for this Log Analytics Windows Performance Counter DataSource. Changing this forces a new Log Analytics Windows Performance Counter DataSource to be created.\n","willReplaceOnChanges":true},"objectName":{"type":"string","description":"The object name of the Log Analytics Windows Performance Counter DataSource.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Log Analytics Windows Performance Counter DataSource should exist. Changing this forces a new Log Analytics Windows Performance Counter DataSource to be created.\n","willReplaceOnChanges":true},"workspaceName":{"type":"string","description":"The name of the Log Analytics Workspace where the Log Analytics Windows Performance Counter DataSource should exist. Changing this forces a new Log Analytics Windows Performance Counter DataSource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:loganalytics/linkedService:LinkedService":{"description":"Manages a Log Analytics Linked Service.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"resourcegroup-01\",\n    location: \"West Europe\",\n});\nconst exampleAccount = new azure.automation.Account(\"example\", {\n    name: \"automation-01\",\n    location: example.location,\n    resourceGroupName: example.name,\n    skuName: \"Basic\",\n    tags: {\n        environment: \"development\",\n    },\n});\nconst exampleAnalyticsWorkspace = new azure.operationalinsights.AnalyticsWorkspace(\"example\", {\n    name: \"workspace-01\",\n    location: example.location,\n    resourceGroupName: example.name,\n    sku: \"PerGB2018\",\n    retentionInDays: 30,\n});\nconst exampleLinkedService = new azure.loganalytics.LinkedService(\"example\", {\n    resourceGroupName: example.name,\n    workspaceId: exampleAnalyticsWorkspace.id,\n    readAccessId: exampleAccount.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"resourcegroup-01\",\n    location=\"West Europe\")\nexample_account = azure.automation.Account(\"example\",\n    name=\"automation-01\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku_name=\"Basic\",\n    tags={\n        \"environment\": \"development\",\n    })\nexample_analytics_workspace = azure.operationalinsights.AnalyticsWorkspace(\"example\",\n    name=\"workspace-01\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku=\"PerGB2018\",\n    retention_in_days=30)\nexample_linked_service = azure.loganalytics.LinkedService(\"example\",\n    resource_group_name=example.name,\n    workspace_id=example_analytics_workspace.id,\n    read_access_id=example_account.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"resourcegroup-01\",\n        Location = \"West Europe\",\n    });\n\n    var exampleAccount = new Azure.Automation.Account(\"example\", new()\n    {\n        Name = \"automation-01\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        SkuName = \"Basic\",\n        Tags = \n        {\n            { \"environment\", \"development\" },\n        },\n    });\n\n    var exampleAnalyticsWorkspace = new Azure.OperationalInsights.AnalyticsWorkspace(\"example\", new()\n    {\n        Name = \"workspace-01\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Sku = \"PerGB2018\",\n        RetentionInDays = 30,\n    });\n\n    var exampleLinkedService = new Azure.LogAnalytics.LinkedService(\"example\", new()\n    {\n        ResourceGroupName = example.Name,\n        WorkspaceId = exampleAnalyticsWorkspace.Id,\n        ReadAccessId = exampleAccount.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/automation\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/loganalytics\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/operationalinsights\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"resourcegroup-01\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := automation.NewAccount(ctx, \"example\", \u0026automation.AccountArgs{\n\t\t\tName:              pulumi.String(\"automation-01\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSkuName:           pulumi.String(\"Basic\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"environment\": pulumi.String(\"development\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAnalyticsWorkspace, err := operationalinsights.NewAnalyticsWorkspace(ctx, \"example\", \u0026operationalinsights.AnalyticsWorkspaceArgs{\n\t\t\tName:              pulumi.String(\"workspace-01\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSku:               pulumi.String(\"PerGB2018\"),\n\t\t\tRetentionInDays:   pulumi.Int(30),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = loganalytics.NewLinkedService(ctx, \"example\", \u0026loganalytics.LinkedServiceArgs{\n\t\t\tResourceGroupName: example.Name,\n\t\t\tWorkspaceId:       exampleAnalyticsWorkspace.ID(),\n\t\t\tReadAccessId:      exampleAccount.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.automation.Account;\nimport com.pulumi.azure.automation.AccountArgs;\nimport com.pulumi.azure.operationalinsights.AnalyticsWorkspace;\nimport com.pulumi.azure.operationalinsights.AnalyticsWorkspaceArgs;\nimport com.pulumi.azure.loganalytics.LinkedService;\nimport com.pulumi.azure.loganalytics.LinkedServiceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"resourcegroup-01\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"automation-01\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .skuName(\"Basic\")\n            .tags(Map.of(\"environment\", \"development\"))\n            .build());\n\n        var exampleAnalyticsWorkspace = new AnalyticsWorkspace(\"exampleAnalyticsWorkspace\", AnalyticsWorkspaceArgs.builder()\n            .name(\"workspace-01\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .sku(\"PerGB2018\")\n            .retentionInDays(30)\n            .build());\n\n        var exampleLinkedService = new LinkedService(\"exampleLinkedService\", LinkedServiceArgs.builder()\n            .resourceGroupName(example.name())\n            .workspaceId(exampleAnalyticsWorkspace.id())\n            .readAccessId(exampleAccount.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: resourcegroup-01\n      location: West Europe\n  exampleAccount:\n    type: azure:automation:Account\n    name: example\n    properties:\n      name: automation-01\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      skuName: Basic\n      tags:\n        environment: development\n  exampleAnalyticsWorkspace:\n    type: azure:operationalinsights:AnalyticsWorkspace\n    name: example\n    properties:\n      name: workspace-01\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      sku: PerGB2018\n      retentionInDays: 30\n  exampleLinkedService:\n    type: azure:loganalytics:LinkedService\n    name: example\n    properties:\n      resourceGroupName: ${example.name}\n      workspaceId: ${exampleAnalyticsWorkspace.id}\n      readAccessId: ${exampleAccount.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.OperationalInsights` - 2020-08-01\n\n## Import\n\nLog Analytics Workspaces can be imported using the `resource id`, e.g.\n\nWhen \u003cspan pulumi-lang-nodejs=\"`readAccessId`\" pulumi-lang-dotnet=\"`ReadAccessId`\" pulumi-lang-go=\"`readAccessId`\" pulumi-lang-python=\"`read_access_id`\" pulumi-lang-yaml=\"`readAccessId`\" pulumi-lang-java=\"`readAccessId`\"\u003e`read_access_id`\u003c/span\u003e has been specified:\n```sh\n$ pulumi import azure:loganalytics/linkedService:LinkedService example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.OperationalInsights/workspaces/workspace1/linkedServices/Automation\n```\nWhen \u003cspan pulumi-lang-nodejs=\"`readAccessId`\" pulumi-lang-dotnet=\"`ReadAccessId`\" pulumi-lang-go=\"`readAccessId`\" pulumi-lang-python=\"`read_access_id`\" pulumi-lang-yaml=\"`readAccessId`\" pulumi-lang-java=\"`readAccessId`\"\u003e`read_access_id`\u003c/span\u003e has been omitted:\n```sh\n$ pulumi import azure:loganalytics/linkedService:LinkedService example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.OperationalInsights/workspaces/workspace1/linkedServices/Cluster\n```\n\n","properties":{"name":{"type":"string","description":"The generated name of the Linked Service. The format for this attribute is always `\u003cworkspace name\u003e/\u003clinked service type\u003e`(e.g. `workspace1/Automation` or `workspace1/Cluster`)\n"},"readAccessId":{"type":"string","description":"The ID of the readable Resource that will be linked to the workspace. This should be used for linking to an Automation Account resource.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the Log Analytics Linked Service is created. Changing this forces a new resource to be created.\n"},"workspaceId":{"type":"string","description":"The ID of the Log Analytics Workspace that will contain the Log Analytics Linked Service resource.\n"},"writeAccessId":{"type":"string","description":"The ID of the writable Resource that will be linked to the workspace. This should be used for linking to a Log Analytics Cluster resource.\n\n\u003e **Note:** You must define at least one of the above access resource id attributes (e.g. \u003cspan pulumi-lang-nodejs=\"`readAccessId`\" pulumi-lang-dotnet=\"`ReadAccessId`\" pulumi-lang-go=\"`readAccessId`\" pulumi-lang-python=\"`read_access_id`\" pulumi-lang-yaml=\"`readAccessId`\" pulumi-lang-java=\"`readAccessId`\"\u003e`read_access_id`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`writeAccessId`\" pulumi-lang-dotnet=\"`WriteAccessId`\" pulumi-lang-go=\"`writeAccessId`\" pulumi-lang-python=\"`write_access_id`\" pulumi-lang-yaml=\"`writeAccessId`\" pulumi-lang-java=\"`writeAccessId`\"\u003e`write_access_id`\u003c/span\u003e).\n"}},"required":["name","readAccessId","resourceGroupName","workspaceId"],"inputProperties":{"readAccessId":{"type":"string","description":"The ID of the readable Resource that will be linked to the workspace. This should be used for linking to an Automation Account resource.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the Log Analytics Linked Service is created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"workspaceId":{"type":"string","description":"The ID of the Log Analytics Workspace that will contain the Log Analytics Linked Service resource.\n"},"writeAccessId":{"type":"string","description":"The ID of the writable Resource that will be linked to the workspace. This should be used for linking to a Log Analytics Cluster resource.\n\n\u003e **Note:** You must define at least one of the above access resource id attributes (e.g. \u003cspan pulumi-lang-nodejs=\"`readAccessId`\" pulumi-lang-dotnet=\"`ReadAccessId`\" pulumi-lang-go=\"`readAccessId`\" pulumi-lang-python=\"`read_access_id`\" pulumi-lang-yaml=\"`readAccessId`\" pulumi-lang-java=\"`readAccessId`\"\u003e`read_access_id`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`writeAccessId`\" pulumi-lang-dotnet=\"`WriteAccessId`\" pulumi-lang-go=\"`writeAccessId`\" pulumi-lang-python=\"`write_access_id`\" pulumi-lang-yaml=\"`writeAccessId`\" pulumi-lang-java=\"`writeAccessId`\"\u003e`write_access_id`\u003c/span\u003e).\n"}},"requiredInputs":["resourceGroupName","workspaceId"],"stateInputs":{"description":"Input properties used for looking up and filtering LinkedService resources.\n","properties":{"name":{"type":"string","description":"The generated name of the Linked Service. The format for this attribute is always `\u003cworkspace name\u003e/\u003clinked service type\u003e`(e.g. `workspace1/Automation` or `workspace1/Cluster`)\n"},"readAccessId":{"type":"string","description":"The ID of the readable Resource that will be linked to the workspace. This should be used for linking to an Automation Account resource.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the Log Analytics Linked Service is created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"workspaceId":{"type":"string","description":"The ID of the Log Analytics Workspace that will contain the Log Analytics Linked Service resource.\n"},"writeAccessId":{"type":"string","description":"The ID of the writable Resource that will be linked to the workspace. This should be used for linking to a Log Analytics Cluster resource.\n\n\u003e **Note:** You must define at least one of the above access resource id attributes (e.g. \u003cspan pulumi-lang-nodejs=\"`readAccessId`\" pulumi-lang-dotnet=\"`ReadAccessId`\" pulumi-lang-go=\"`readAccessId`\" pulumi-lang-python=\"`read_access_id`\" pulumi-lang-yaml=\"`readAccessId`\" pulumi-lang-java=\"`readAccessId`\"\u003e`read_access_id`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`writeAccessId`\" pulumi-lang-dotnet=\"`WriteAccessId`\" pulumi-lang-go=\"`writeAccessId`\" pulumi-lang-python=\"`write_access_id`\" pulumi-lang-yaml=\"`writeAccessId`\" pulumi-lang-java=\"`writeAccessId`\"\u003e`write_access_id`\u003c/span\u003e).\n"}},"type":"object"}},"azure:loganalytics/linkedStorageAccount:LinkedStorageAccount":{"description":"Manages a Log Analytics Linked Storage Account.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleAccount = new azure.storage.Account(\"example\", {\n    name: \"examplesa\",\n    resourceGroupName: example.name,\n    location: example.location,\n    accountTier: \"Standard\",\n    accountReplicationType: \"GRS\",\n});\nconst exampleAnalyticsWorkspace = new azure.operationalinsights.AnalyticsWorkspace(\"example\", {\n    name: \"exampleworkspace\",\n    location: example.location,\n    resourceGroupName: example.name,\n    sku: \"PerGB2018\",\n});\nconst exampleLinkedStorageAccount = new azure.loganalytics.LinkedStorageAccount(\"example\", {\n    dataSourceType: \"CustomLogs\",\n    resourceGroupName: example.name,\n    workspaceId: exampleAnalyticsWorkspace.id,\n    storageAccountIds: [exampleAccount.id],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_account = azure.storage.Account(\"example\",\n    name=\"examplesa\",\n    resource_group_name=example.name,\n    location=example.location,\n    account_tier=\"Standard\",\n    account_replication_type=\"GRS\")\nexample_analytics_workspace = azure.operationalinsights.AnalyticsWorkspace(\"example\",\n    name=\"exampleworkspace\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku=\"PerGB2018\")\nexample_linked_storage_account = azure.loganalytics.LinkedStorageAccount(\"example\",\n    data_source_type=\"CustomLogs\",\n    resource_group_name=example.name,\n    workspace_id=example_analytics_workspace.id,\n    storage_account_ids=[example_account.id])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleAccount = new Azure.Storage.Account(\"example\", new()\n    {\n        Name = \"examplesa\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        AccountTier = \"Standard\",\n        AccountReplicationType = \"GRS\",\n    });\n\n    var exampleAnalyticsWorkspace = new Azure.OperationalInsights.AnalyticsWorkspace(\"example\", new()\n    {\n        Name = \"exampleworkspace\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Sku = \"PerGB2018\",\n    });\n\n    var exampleLinkedStorageAccount = new Azure.LogAnalytics.LinkedStorageAccount(\"example\", new()\n    {\n        DataSourceType = \"CustomLogs\",\n        ResourceGroupName = example.Name,\n        WorkspaceId = exampleAnalyticsWorkspace.Id,\n        StorageAccountIds = new[]\n        {\n            exampleAccount.Id,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/loganalytics\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/operationalinsights\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := storage.NewAccount(ctx, \"example\", \u0026storage.AccountArgs{\n\t\t\tName:                   pulumi.String(\"examplesa\"),\n\t\t\tResourceGroupName:      example.Name,\n\t\t\tLocation:               example.Location,\n\t\t\tAccountTier:            pulumi.String(\"Standard\"),\n\t\t\tAccountReplicationType: pulumi.String(\"GRS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAnalyticsWorkspace, err := operationalinsights.NewAnalyticsWorkspace(ctx, \"example\", \u0026operationalinsights.AnalyticsWorkspaceArgs{\n\t\t\tName:              pulumi.String(\"exampleworkspace\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSku:               pulumi.String(\"PerGB2018\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = loganalytics.NewLinkedStorageAccount(ctx, \"example\", \u0026loganalytics.LinkedStorageAccountArgs{\n\t\t\tDataSourceType:    pulumi.String(\"CustomLogs\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tWorkspaceId:       exampleAnalyticsWorkspace.ID(),\n\t\t\tStorageAccountIds: pulumi.StringArray{\n\t\t\t\texampleAccount.ID(),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.storage.Account;\nimport com.pulumi.azure.storage.AccountArgs;\nimport com.pulumi.azure.operationalinsights.AnalyticsWorkspace;\nimport com.pulumi.azure.operationalinsights.AnalyticsWorkspaceArgs;\nimport com.pulumi.azure.loganalytics.LinkedStorageAccount;\nimport com.pulumi.azure.loganalytics.LinkedStorageAccountArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"examplesa\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .accountTier(\"Standard\")\n            .accountReplicationType(\"GRS\")\n            .build());\n\n        var exampleAnalyticsWorkspace = new AnalyticsWorkspace(\"exampleAnalyticsWorkspace\", AnalyticsWorkspaceArgs.builder()\n            .name(\"exampleworkspace\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .sku(\"PerGB2018\")\n            .build());\n\n        var exampleLinkedStorageAccount = new LinkedStorageAccount(\"exampleLinkedStorageAccount\", LinkedStorageAccountArgs.builder()\n            .dataSourceType(\"CustomLogs\")\n            .resourceGroupName(example.name())\n            .workspaceId(exampleAnalyticsWorkspace.id())\n            .storageAccountIds(exampleAccount.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleAccount:\n    type: azure:storage:Account\n    name: example\n    properties:\n      name: examplesa\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      accountTier: Standard\n      accountReplicationType: GRS\n  exampleAnalyticsWorkspace:\n    type: azure:operationalinsights:AnalyticsWorkspace\n    name: example\n    properties:\n      name: exampleworkspace\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      sku: PerGB2018\n  exampleLinkedStorageAccount:\n    type: azure:loganalytics:LinkedStorageAccount\n    name: example\n    properties:\n      dataSourceType: CustomLogs\n      resourceGroupName: ${example.name}\n      workspaceId: ${exampleAnalyticsWorkspace.id}\n      storageAccountIds:\n        - ${exampleAccount.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.OperationalInsights` - 2020-08-01\n\n## Import\n\nLog Analytics Linked Storage Accounts can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:loganalytics/linkedStorageAccount:LinkedStorageAccount example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.OperationalInsights/workspaces/workspace1/linkedStorageAccounts/{dataSourceType}\n```\n\n","properties":{"dataSourceType":{"type":"string","description":"The data source type which should be used for this Log Analytics Linked Storage Account. Possible values are `CustomLogs`, `AzureWatson`, `Query`, `Ingestion` and `Alerts`. Changing this forces a new Log Analytics Linked Storage Account to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Log Analytics Linked Storage Account should exist. Changing this forces a new Log Analytics Linked Storage Account to be created.\n"},"storageAccountIds":{"type":"array","items":{"type":"string"},"description":"The storage account resource ids to be linked.\n"},"workspaceId":{"type":"string","description":"The resource ID of the Log Analytics Workspace. Changing this forces a new Log Analytics Linked Storage Account to be created.\n"},"workspaceResourceId":{"type":"string"}},"required":["dataSourceType","resourceGroupName","storageAccountIds","workspaceId","workspaceResourceId"],"inputProperties":{"dataSourceType":{"type":"string","description":"The data source type which should be used for this Log Analytics Linked Storage Account. Possible values are `CustomLogs`, `AzureWatson`, `Query`, `Ingestion` and `Alerts`. Changing this forces a new Log Analytics Linked Storage Account to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Log Analytics Linked Storage Account should exist. Changing this forces a new Log Analytics Linked Storage Account to be created.\n","willReplaceOnChanges":true},"storageAccountIds":{"type":"array","items":{"type":"string"},"description":"The storage account resource ids to be linked.\n"},"workspaceId":{"type":"string","description":"The resource ID of the Log Analytics Workspace. Changing this forces a new Log Analytics Linked Storage Account to be created.\n","willReplaceOnChanges":true},"workspaceResourceId":{"type":"string","willReplaceOnChanges":true}},"requiredInputs":["dataSourceType","resourceGroupName","storageAccountIds"],"stateInputs":{"description":"Input properties used for looking up and filtering LinkedStorageAccount resources.\n","properties":{"dataSourceType":{"type":"string","description":"The data source type which should be used for this Log Analytics Linked Storage Account. Possible values are `CustomLogs`, `AzureWatson`, `Query`, `Ingestion` and `Alerts`. Changing this forces a new Log Analytics Linked Storage Account to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Log Analytics Linked Storage Account should exist. Changing this forces a new Log Analytics Linked Storage Account to be created.\n","willReplaceOnChanges":true},"storageAccountIds":{"type":"array","items":{"type":"string"},"description":"The storage account resource ids to be linked.\n"},"workspaceId":{"type":"string","description":"The resource ID of the Log Analytics Workspace. Changing this forces a new Log Analytics Linked Storage Account to be created.\n","willReplaceOnChanges":true},"workspaceResourceId":{"type":"string","willReplaceOnChanges":true}},"type":"object"}},"azure:loganalytics/queryPack:QueryPack":{"description":"Manages a Log Analytics Query Pack.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleQueryPack = new azure.loganalytics.QueryPack(\"example\", {\n    name: \"example-laqp\",\n    resourceGroupName: example.name,\n    location: example.location,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_query_pack = azure.loganalytics.QueryPack(\"example\",\n    name=\"example-laqp\",\n    resource_group_name=example.name,\n    location=example.location)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleQueryPack = new Azure.LogAnalytics.QueryPack(\"example\", new()\n    {\n        Name = \"example-laqp\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/loganalytics\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = loganalytics.NewQueryPack(ctx, \"example\", \u0026loganalytics.QueryPackArgs{\n\t\t\tName:              pulumi.String(\"example-laqp\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.loganalytics.QueryPack;\nimport com.pulumi.azure.loganalytics.QueryPackArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleQueryPack = new QueryPack(\"exampleQueryPack\", QueryPackArgs.builder()\n            .name(\"example-laqp\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleQueryPack:\n    type: azure:loganalytics:QueryPack\n    name: example\n    properties:\n      name: example-laqp\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.OperationalInsights` - 2019-09-01\n\n## Import\n\nLog Analytics Query Packs can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:loganalytics/queryPack:QueryPack example /subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/group1/providers/Microsoft.OperationalInsights/queryPacks/queryPack1\n```\n\n","properties":{"location":{"type":"string","description":"The Azure Region where the Log Analytics Query Pack should exist. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"The name which should be used for this Log Analytics Query Pack. Changing this forces a new resource to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Log Analytics Query Pack should exist. Changing this forces a new resource to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Log Analytics Query Pack.\n"}},"required":["location","name","resourceGroupName"],"inputProperties":{"location":{"type":"string","description":"The Azure Region where the Log Analytics Query Pack should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Log Analytics Query Pack. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Log Analytics Query Pack should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Log Analytics Query Pack.\n"}},"requiredInputs":["resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering QueryPack resources.\n","properties":{"location":{"type":"string","description":"The Azure Region where the Log Analytics Query Pack should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Log Analytics Query Pack. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Log Analytics Query Pack should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Log Analytics Query Pack.\n"}},"type":"object"}},"azure:loganalytics/savedSearch:SavedSearch":{"description":"Manages a Log Analytics (formally Operational Insights) Saved Search.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleAnalyticsWorkspace = new azure.operationalinsights.AnalyticsWorkspace(\"example\", {\n    name: \"acctest-01\",\n    location: example.location,\n    resourceGroupName: example.name,\n    sku: \"PerGB2018\",\n    retentionInDays: 30,\n});\nconst exampleSavedSearch = new azure.loganalytics.SavedSearch(\"example\", {\n    name: \"exampleSavedSearch\",\n    logAnalyticsWorkspaceId: exampleAnalyticsWorkspace.id,\n    category: \"exampleCategory\",\n    displayName: \"exampleDisplayName\",\n    query: \"exampleQuery\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_analytics_workspace = azure.operationalinsights.AnalyticsWorkspace(\"example\",\n    name=\"acctest-01\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku=\"PerGB2018\",\n    retention_in_days=30)\nexample_saved_search = azure.loganalytics.SavedSearch(\"example\",\n    name=\"exampleSavedSearch\",\n    log_analytics_workspace_id=example_analytics_workspace.id,\n    category=\"exampleCategory\",\n    display_name=\"exampleDisplayName\",\n    query=\"exampleQuery\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleAnalyticsWorkspace = new Azure.OperationalInsights.AnalyticsWorkspace(\"example\", new()\n    {\n        Name = \"acctest-01\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Sku = \"PerGB2018\",\n        RetentionInDays = 30,\n    });\n\n    var exampleSavedSearch = new Azure.LogAnalytics.SavedSearch(\"example\", new()\n    {\n        Name = \"exampleSavedSearch\",\n        LogAnalyticsWorkspaceId = exampleAnalyticsWorkspace.Id,\n        Category = \"exampleCategory\",\n        DisplayName = \"exampleDisplayName\",\n        Query = \"exampleQuery\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/loganalytics\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/operationalinsights\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAnalyticsWorkspace, err := operationalinsights.NewAnalyticsWorkspace(ctx, \"example\", \u0026operationalinsights.AnalyticsWorkspaceArgs{\n\t\t\tName:              pulumi.String(\"acctest-01\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSku:               pulumi.String(\"PerGB2018\"),\n\t\t\tRetentionInDays:   pulumi.Int(30),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = loganalytics.NewSavedSearch(ctx, \"example\", \u0026loganalytics.SavedSearchArgs{\n\t\t\tName:                    pulumi.String(\"exampleSavedSearch\"),\n\t\t\tLogAnalyticsWorkspaceId: exampleAnalyticsWorkspace.ID(),\n\t\t\tCategory:                pulumi.String(\"exampleCategory\"),\n\t\t\tDisplayName:             pulumi.String(\"exampleDisplayName\"),\n\t\t\tQuery:                   pulumi.String(\"exampleQuery\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.operationalinsights.AnalyticsWorkspace;\nimport com.pulumi.azure.operationalinsights.AnalyticsWorkspaceArgs;\nimport com.pulumi.azure.loganalytics.SavedSearch;\nimport com.pulumi.azure.loganalytics.SavedSearchArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleAnalyticsWorkspace = new AnalyticsWorkspace(\"exampleAnalyticsWorkspace\", AnalyticsWorkspaceArgs.builder()\n            .name(\"acctest-01\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .sku(\"PerGB2018\")\n            .retentionInDays(30)\n            .build());\n\n        var exampleSavedSearch = new SavedSearch(\"exampleSavedSearch\", SavedSearchArgs.builder()\n            .name(\"exampleSavedSearch\")\n            .logAnalyticsWorkspaceId(exampleAnalyticsWorkspace.id())\n            .category(\"exampleCategory\")\n            .displayName(\"exampleDisplayName\")\n            .query(\"exampleQuery\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleAnalyticsWorkspace:\n    type: azure:operationalinsights:AnalyticsWorkspace\n    name: example\n    properties:\n      name: acctest-01\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      sku: PerGB2018\n      retentionInDays: 30\n  exampleSavedSearch:\n    type: azure:loganalytics:SavedSearch\n    name: example\n    properties:\n      name: exampleSavedSearch\n      logAnalyticsWorkspaceId: ${exampleAnalyticsWorkspace.id}\n      category: exampleCategory\n      displayName: exampleDisplayName\n      query: exampleQuery\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.OperationalInsights` - 2020-08-01\n\n## Import\n\nLog Analytics Saved Searches can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:loganalytics/savedSearch:SavedSearch search1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.OperationalInsights/workspaces/workspace1/savedSearches/search1\n```\n\n","properties":{"category":{"type":"string","description":"The category that the Saved Search will be listed under. Changing this forces a new resource to be created.\n"},"displayName":{"type":"string","description":"The name that Saved Search will be displayed as. Changing this forces a new resource to be created.\n"},"functionAlias":{"type":"string","description":"The function alias if the query serves as a function. Changing this forces a new resource to be created.\n"},"functionParameters":{"type":"array","items":{"type":"string"},"description":"The function parameters if the query serves as a function. Changing this forces a new resource to be created. For more examples and proper syntax please refer to [this document](https://learn.microsoft.com/en-us/azure/data-explorer/kusto/query/functions/user-defined-functions).\n"},"logAnalyticsWorkspaceId":{"type":"string","description":"Specifies the ID of the Log Analytics Workspace that the Saved Search will be associated with. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"Specifies the name of the Log Analytics Saved Search. Changing this forces a new resource to be created.\n"},"query":{"type":"string","description":"The query expression for the saved search. Changing this forces a new resource to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Logs Analytics Saved Search. Changing this forces a new resource to be created.\n"}},"required":["category","displayName","logAnalyticsWorkspaceId","name","query"],"inputProperties":{"category":{"type":"string","description":"The category that the Saved Search will be listed under. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"displayName":{"type":"string","description":"The name that Saved Search will be displayed as. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"functionAlias":{"type":"string","description":"The function alias if the query serves as a function. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"functionParameters":{"type":"array","items":{"type":"string"},"description":"The function parameters if the query serves as a function. Changing this forces a new resource to be created. For more examples and proper syntax please refer to [this document](https://learn.microsoft.com/en-us/azure/data-explorer/kusto/query/functions/user-defined-functions).\n","willReplaceOnChanges":true},"logAnalyticsWorkspaceId":{"type":"string","description":"Specifies the ID of the Log Analytics Workspace that the Saved Search will be associated with. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the Log Analytics Saved Search. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"query":{"type":"string","description":"The query expression for the saved search. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Logs Analytics Saved Search. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["category","displayName","logAnalyticsWorkspaceId","query"],"stateInputs":{"description":"Input properties used for looking up and filtering SavedSearch resources.\n","properties":{"category":{"type":"string","description":"The category that the Saved Search will be listed under. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"displayName":{"type":"string","description":"The name that Saved Search will be displayed as. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"functionAlias":{"type":"string","description":"The function alias if the query serves as a function. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"functionParameters":{"type":"array","items":{"type":"string"},"description":"The function parameters if the query serves as a function. Changing this forces a new resource to be created. For more examples and proper syntax please refer to [this document](https://learn.microsoft.com/en-us/azure/data-explorer/kusto/query/functions/user-defined-functions).\n","willReplaceOnChanges":true},"logAnalyticsWorkspaceId":{"type":"string","description":"Specifies the ID of the Log Analytics Workspace that the Saved Search will be associated with. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the Log Analytics Saved Search. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"query":{"type":"string","description":"The query expression for the saved search. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Logs Analytics Saved Search. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:loganalytics/storageInsights:StorageInsights":{"description":"Manages a Log Analytics Storage Insights resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleAnalyticsWorkspace = new azure.operationalinsights.AnalyticsWorkspace(\"example\", {\n    name: \"exampleworkspace\",\n    location: example.location,\n    resourceGroupName: example.name,\n    sku: \"PerGB2018\",\n    retentionInDays: 30,\n});\nconst exampleAccount = new azure.storage.Account(\"example\", {\n    name: \"examplestoracc\",\n    resourceGroupName: example.name,\n    location: example.location,\n    accountTier: \"Standard\",\n    accountReplicationType: \"LRS\",\n});\nconst exampleStorageInsights = new azure.loganalytics.StorageInsights(\"example\", {\n    name: \"example-storageinsightconfig\",\n    resourceGroupName: example.name,\n    workspaceId: exampleAnalyticsWorkspace.id,\n    storageAccountId: exampleAccount.id,\n    storageAccountKey: exampleAccount.primaryAccessKey,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_analytics_workspace = azure.operationalinsights.AnalyticsWorkspace(\"example\",\n    name=\"exampleworkspace\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku=\"PerGB2018\",\n    retention_in_days=30)\nexample_account = azure.storage.Account(\"example\",\n    name=\"examplestoracc\",\n    resource_group_name=example.name,\n    location=example.location,\n    account_tier=\"Standard\",\n    account_replication_type=\"LRS\")\nexample_storage_insights = azure.loganalytics.StorageInsights(\"example\",\n    name=\"example-storageinsightconfig\",\n    resource_group_name=example.name,\n    workspace_id=example_analytics_workspace.id,\n    storage_account_id=example_account.id,\n    storage_account_key=example_account.primary_access_key)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleAnalyticsWorkspace = new Azure.OperationalInsights.AnalyticsWorkspace(\"example\", new()\n    {\n        Name = \"exampleworkspace\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Sku = \"PerGB2018\",\n        RetentionInDays = 30,\n    });\n\n    var exampleAccount = new Azure.Storage.Account(\"example\", new()\n    {\n        Name = \"examplestoracc\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        AccountTier = \"Standard\",\n        AccountReplicationType = \"LRS\",\n    });\n\n    var exampleStorageInsights = new Azure.LogAnalytics.StorageInsights(\"example\", new()\n    {\n        Name = \"example-storageinsightconfig\",\n        ResourceGroupName = example.Name,\n        WorkspaceId = exampleAnalyticsWorkspace.Id,\n        StorageAccountId = exampleAccount.Id,\n        StorageAccountKey = exampleAccount.PrimaryAccessKey,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/loganalytics\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/operationalinsights\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAnalyticsWorkspace, err := operationalinsights.NewAnalyticsWorkspace(ctx, \"example\", \u0026operationalinsights.AnalyticsWorkspaceArgs{\n\t\t\tName:              pulumi.String(\"exampleworkspace\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSku:               pulumi.String(\"PerGB2018\"),\n\t\t\tRetentionInDays:   pulumi.Int(30),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := storage.NewAccount(ctx, \"example\", \u0026storage.AccountArgs{\n\t\t\tName:                   pulumi.String(\"examplestoracc\"),\n\t\t\tResourceGroupName:      example.Name,\n\t\t\tLocation:               example.Location,\n\t\t\tAccountTier:            pulumi.String(\"Standard\"),\n\t\t\tAccountReplicationType: pulumi.String(\"LRS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = loganalytics.NewStorageInsights(ctx, \"example\", \u0026loganalytics.StorageInsightsArgs{\n\t\t\tName:              pulumi.String(\"example-storageinsightconfig\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tWorkspaceId:       exampleAnalyticsWorkspace.ID(),\n\t\t\tStorageAccountId:  exampleAccount.ID(),\n\t\t\tStorageAccountKey: exampleAccount.PrimaryAccessKey,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.operationalinsights.AnalyticsWorkspace;\nimport com.pulumi.azure.operationalinsights.AnalyticsWorkspaceArgs;\nimport com.pulumi.azure.storage.Account;\nimport com.pulumi.azure.storage.AccountArgs;\nimport com.pulumi.azure.loganalytics.StorageInsights;\nimport com.pulumi.azure.loganalytics.StorageInsightsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleAnalyticsWorkspace = new AnalyticsWorkspace(\"exampleAnalyticsWorkspace\", AnalyticsWorkspaceArgs.builder()\n            .name(\"exampleworkspace\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .sku(\"PerGB2018\")\n            .retentionInDays(30)\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"examplestoracc\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .accountTier(\"Standard\")\n            .accountReplicationType(\"LRS\")\n            .build());\n\n        var exampleStorageInsights = new StorageInsights(\"exampleStorageInsights\", StorageInsightsArgs.builder()\n            .name(\"example-storageinsightconfig\")\n            .resourceGroupName(example.name())\n            .workspaceId(exampleAnalyticsWorkspace.id())\n            .storageAccountId(exampleAccount.id())\n            .storageAccountKey(exampleAccount.primaryAccessKey())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleAnalyticsWorkspace:\n    type: azure:operationalinsights:AnalyticsWorkspace\n    name: example\n    properties:\n      name: exampleworkspace\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      sku: PerGB2018\n      retentionInDays: 30\n  exampleAccount:\n    type: azure:storage:Account\n    name: example\n    properties:\n      name: examplestoracc\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      accountTier: Standard\n      accountReplicationType: LRS\n  exampleStorageInsights:\n    type: azure:loganalytics:StorageInsights\n    name: example\n    properties:\n      name: example-storageinsightconfig\n      resourceGroupName: ${example.name}\n      workspaceId: ${exampleAnalyticsWorkspace.id}\n      storageAccountId: ${exampleAccount.id}\n      storageAccountKey: ${exampleAccount.primaryAccessKey}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.OperationalInsights` - 2020-08-01\n\n## Import\n\nLog Analytics Storage Insight Configs can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:loganalytics/storageInsights:StorageInsights example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.OperationalInsights/workspaces/workspace1/storageInsightConfigs/storageInsight1\n```\n\n","properties":{"blobContainerNames":{"type":"array","items":{"type":"string"},"description":"The names of the blob containers that the workspace should read.\n"},"name":{"type":"string","description":"The name which should be used for this Log Analytics Storage Insights. Changing this forces a new Log Analytics Storage Insights to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Log Analytics Storage Insights should exist. Changing this forces a new Log Analytics Storage Insights to be created.\n"},"storageAccountId":{"type":"string","description":"The ID of the Storage Account used by this Log Analytics Storage Insights.\n"},"storageAccountKey":{"type":"string","description":"The storage access key to be used to connect to the storage account.\n","secret":true},"tableNames":{"type":"array","items":{"type":"string"},"description":"The names of the Azure tables that the workspace should read.\n"},"workspaceId":{"type":"string","description":"The ID of the Log Analytics Workspace within which the Storage Insights should exist. Changing this forces a new Log Analytics Storage Insights to be created.\n"}},"required":["name","resourceGroupName","storageAccountId","storageAccountKey","workspaceId"],"inputProperties":{"blobContainerNames":{"type":"array","items":{"type":"string"},"description":"The names of the blob containers that the workspace should read.\n"},"name":{"type":"string","description":"The name which should be used for this Log Analytics Storage Insights. Changing this forces a new Log Analytics Storage Insights to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Log Analytics Storage Insights should exist. Changing this forces a new Log Analytics Storage Insights to be created.\n","willReplaceOnChanges":true},"storageAccountId":{"type":"string","description":"The ID of the Storage Account used by this Log Analytics Storage Insights.\n"},"storageAccountKey":{"type":"string","description":"The storage access key to be used to connect to the storage account.\n","secret":true},"tableNames":{"type":"array","items":{"type":"string"},"description":"The names of the Azure tables that the workspace should read.\n"},"workspaceId":{"type":"string","description":"The ID of the Log Analytics Workspace within which the Storage Insights should exist. Changing this forces a new Log Analytics Storage Insights to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["resourceGroupName","storageAccountId","storageAccountKey","workspaceId"],"stateInputs":{"description":"Input properties used for looking up and filtering StorageInsights resources.\n","properties":{"blobContainerNames":{"type":"array","items":{"type":"string"},"description":"The names of the blob containers that the workspace should read.\n"},"name":{"type":"string","description":"The name which should be used for this Log Analytics Storage Insights. Changing this forces a new Log Analytics Storage Insights to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Log Analytics Storage Insights should exist. Changing this forces a new Log Analytics Storage Insights to be created.\n","willReplaceOnChanges":true},"storageAccountId":{"type":"string","description":"The ID of the Storage Account used by this Log Analytics Storage Insights.\n"},"storageAccountKey":{"type":"string","description":"The storage access key to be used to connect to the storage account.\n","secret":true},"tableNames":{"type":"array","items":{"type":"string"},"description":"The names of the Azure tables that the workspace should read.\n"},"workspaceId":{"type":"string","description":"The ID of the Log Analytics Workspace within which the Storage Insights should exist. Changing this forces a new Log Analytics Storage Insights to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:loganalytics/workspaceTable:WorkspaceTable":{"description":"Manages a Table in a Log Analytics (formally Operational Insights) Workspace.\n\n\u003e **Note:** This resource does not create or destroy tables. This resource is used to update attributes (currently only retention_in_days) of the tables created when a Log Analytics Workspace is created. Deleting an\u003cspan pulumi-lang-nodejs=\" azure.loganalytics.WorkspaceTable \" pulumi-lang-dotnet=\" azure.loganalytics.WorkspaceTable \" pulumi-lang-go=\" loganalytics.WorkspaceTable \" pulumi-lang-python=\" loganalytics.WorkspaceTable \" pulumi-lang-yaml=\" azure.loganalytics.WorkspaceTable \" pulumi-lang-java=\" azure.loganalytics.WorkspaceTable \"\u003e azure.loganalytics.WorkspaceTable \u003c/span\u003eresource will not delete the table. Instead, the table's\u003cspan pulumi-lang-nodejs=\" retentionInDays \" pulumi-lang-dotnet=\" RetentionInDays \" pulumi-lang-go=\" retentionInDays \" pulumi-lang-python=\" retention_in_days \" pulumi-lang-yaml=\" retentionInDays \" pulumi-lang-java=\" retentionInDays \"\u003e retention_in_days \u003c/span\u003efield will be set to the value of\u003cspan pulumi-lang-nodejs=\" azure.operationalinsights.AnalyticsWorkspace \" pulumi-lang-dotnet=\" azure.operationalinsights.AnalyticsWorkspace \" pulumi-lang-go=\" operationalinsights.AnalyticsWorkspace \" pulumi-lang-python=\" operationalinsights.AnalyticsWorkspace \" pulumi-lang-yaml=\" azure.operationalinsights.AnalyticsWorkspace \" pulumi-lang-java=\" azure.operationalinsights.AnalyticsWorkspace \"\u003e azure.operationalinsights.AnalyticsWorkspace \u003c/span\u003eretention_in_days\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleAnalyticsWorkspace = new azure.operationalinsights.AnalyticsWorkspace(\"example\", {\n    name: \"example\",\n    location: example.location,\n    resourceGroupName: example.name,\n    sku: \"PerGB2018\",\n    retentionInDays: 30,\n});\nconst exampleWorkspaceTable = new azure.loganalytics.WorkspaceTable(\"example\", {\n    workspaceId: exampleAnalyticsWorkspace.id,\n    name: \"AppMetrics\",\n    retentionInDays: 60,\n    totalRetentionInDays: 180,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_analytics_workspace = azure.operationalinsights.AnalyticsWorkspace(\"example\",\n    name=\"example\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku=\"PerGB2018\",\n    retention_in_days=30)\nexample_workspace_table = azure.loganalytics.WorkspaceTable(\"example\",\n    workspace_id=example_analytics_workspace.id,\n    name=\"AppMetrics\",\n    retention_in_days=60,\n    total_retention_in_days=180)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleAnalyticsWorkspace = new Azure.OperationalInsights.AnalyticsWorkspace(\"example\", new()\n    {\n        Name = \"example\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Sku = \"PerGB2018\",\n        RetentionInDays = 30,\n    });\n\n    var exampleWorkspaceTable = new Azure.LogAnalytics.WorkspaceTable(\"example\", new()\n    {\n        WorkspaceId = exampleAnalyticsWorkspace.Id,\n        Name = \"AppMetrics\",\n        RetentionInDays = 60,\n        TotalRetentionInDays = 180,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/loganalytics\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/operationalinsights\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAnalyticsWorkspace, err := operationalinsights.NewAnalyticsWorkspace(ctx, \"example\", \u0026operationalinsights.AnalyticsWorkspaceArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSku:               pulumi.String(\"PerGB2018\"),\n\t\t\tRetentionInDays:   pulumi.Int(30),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = loganalytics.NewWorkspaceTable(ctx, \"example\", \u0026loganalytics.WorkspaceTableArgs{\n\t\t\tWorkspaceId:          exampleAnalyticsWorkspace.ID(),\n\t\t\tName:                 pulumi.String(\"AppMetrics\"),\n\t\t\tRetentionInDays:      pulumi.Int(60),\n\t\t\tTotalRetentionInDays: pulumi.Int(180),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.operationalinsights.AnalyticsWorkspace;\nimport com.pulumi.azure.operationalinsights.AnalyticsWorkspaceArgs;\nimport com.pulumi.azure.loganalytics.WorkspaceTable;\nimport com.pulumi.azure.loganalytics.WorkspaceTableArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleAnalyticsWorkspace = new AnalyticsWorkspace(\"exampleAnalyticsWorkspace\", AnalyticsWorkspaceArgs.builder()\n            .name(\"example\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .sku(\"PerGB2018\")\n            .retentionInDays(30)\n            .build());\n\n        var exampleWorkspaceTable = new WorkspaceTable(\"exampleWorkspaceTable\", WorkspaceTableArgs.builder()\n            .workspaceId(exampleAnalyticsWorkspace.id())\n            .name(\"AppMetrics\")\n            .retentionInDays(60)\n            .totalRetentionInDays(180)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleAnalyticsWorkspace:\n    type: azure:operationalinsights:AnalyticsWorkspace\n    name: example\n    properties:\n      name: example\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      sku: PerGB2018\n      retentionInDays: 30\n  exampleWorkspaceTable:\n    type: azure:loganalytics:WorkspaceTable\n    name: example\n    properties:\n      workspaceId: ${exampleAnalyticsWorkspace.id}\n      name: AppMetrics\n      retentionInDays: 60\n      totalRetentionInDays: 180\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.OperationalInsights` - 2022-10-01\n","properties":{"name":{"type":"string","description":"Specifies the name of a table in a Log Analytics Workspace.\n"},"plan":{"type":"string","description":"Specify the system how to handle and charge the logs ingested to the table. Possible values are `Analytics` and `Basic`. Defaults to `Analytics`.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e of tables currently supported by the `Basic` plan can be found [here](https://learn.microsoft.com/en-us/azure/azure-monitor/logs/basic-logs-azure-tables).\n"},"retentionInDays":{"type":"integer","description":"The table's retention in days. Possible values are either \u003cspan pulumi-lang-nodejs=\"`8`\" pulumi-lang-dotnet=\"`8`\" pulumi-lang-go=\"`8`\" pulumi-lang-python=\"`8`\" pulumi-lang-yaml=\"`8`\" pulumi-lang-java=\"`8`\"\u003e`8`\u003c/span\u003e (Basic Tier only) or range between \u003cspan pulumi-lang-nodejs=\"`4`\" pulumi-lang-dotnet=\"`4`\" pulumi-lang-go=\"`4`\" pulumi-lang-python=\"`4`\" pulumi-lang-yaml=\"`4`\" pulumi-lang-java=\"`4`\"\u003e`4`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`730`\" pulumi-lang-dotnet=\"`730`\" pulumi-lang-go=\"`730`\" pulumi-lang-python=\"`730`\" pulumi-lang-yaml=\"`730`\" pulumi-lang-java=\"`730`\"\u003e`730`\u003c/span\u003e.\n"},"totalRetentionInDays":{"type":"integer","description":"The table's total retention in days. Possible values range between \u003cspan pulumi-lang-nodejs=\"`4`\" pulumi-lang-dotnet=\"`4`\" pulumi-lang-go=\"`4`\" pulumi-lang-python=\"`4`\" pulumi-lang-yaml=\"`4`\" pulumi-lang-java=\"`4`\"\u003e`4`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`730`\" pulumi-lang-dotnet=\"`730`\" pulumi-lang-go=\"`730`\" pulumi-lang-python=\"`730`\" pulumi-lang-yaml=\"`730`\" pulumi-lang-java=\"`730`\"\u003e`730`\u003c/span\u003e; or \u003cspan pulumi-lang-nodejs=\"`1095`\" pulumi-lang-dotnet=\"`1095`\" pulumi-lang-go=\"`1095`\" pulumi-lang-python=\"`1095`\" pulumi-lang-yaml=\"`1095`\" pulumi-lang-java=\"`1095`\"\u003e`1095`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`1460`\" pulumi-lang-dotnet=\"`1460`\" pulumi-lang-go=\"`1460`\" pulumi-lang-python=\"`1460`\" pulumi-lang-yaml=\"`1460`\" pulumi-lang-java=\"`1460`\"\u003e`1460`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`1826`\" pulumi-lang-dotnet=\"`1826`\" pulumi-lang-go=\"`1826`\" pulumi-lang-python=\"`1826`\" pulumi-lang-yaml=\"`1826`\" pulumi-lang-java=\"`1826`\"\u003e`1826`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`2191`\" pulumi-lang-dotnet=\"`2191`\" pulumi-lang-go=\"`2191`\" pulumi-lang-python=\"`2191`\" pulumi-lang-yaml=\"`2191`\" pulumi-lang-java=\"`2191`\"\u003e`2191`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`2556`\" pulumi-lang-dotnet=\"`2556`\" pulumi-lang-go=\"`2556`\" pulumi-lang-python=\"`2556`\" pulumi-lang-yaml=\"`2556`\" pulumi-lang-java=\"`2556`\"\u003e`2556`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`2922`\" pulumi-lang-dotnet=\"`2922`\" pulumi-lang-go=\"`2922`\" pulumi-lang-python=\"`2922`\" pulumi-lang-yaml=\"`2922`\" pulumi-lang-java=\"`2922`\"\u003e`2922`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`3288`\" pulumi-lang-dotnet=\"`3288`\" pulumi-lang-go=\"`3288`\" pulumi-lang-python=\"`3288`\" pulumi-lang-yaml=\"`3288`\" pulumi-lang-java=\"`3288`\"\u003e`3288`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`3653`\" pulumi-lang-dotnet=\"`3653`\" pulumi-lang-go=\"`3653`\" pulumi-lang-python=\"`3653`\" pulumi-lang-yaml=\"`3653`\" pulumi-lang-java=\"`3653`\"\u003e`3653`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`4018`\" pulumi-lang-dotnet=\"`4018`\" pulumi-lang-go=\"`4018`\" pulumi-lang-python=\"`4018`\" pulumi-lang-yaml=\"`4018`\" pulumi-lang-java=\"`4018`\"\u003e`4018`\u003c/span\u003e, or \u003cspan pulumi-lang-nodejs=\"`4383`\" pulumi-lang-dotnet=\"`4383`\" pulumi-lang-go=\"`4383`\" pulumi-lang-python=\"`4383`\" pulumi-lang-yaml=\"`4383`\" pulumi-lang-java=\"`4383`\"\u003e`4383`\u003c/span\u003e.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`retentionInDays`\" pulumi-lang-dotnet=\"`RetentionInDays`\" pulumi-lang-go=\"`retentionInDays`\" pulumi-lang-python=\"`retention_in_days`\" pulumi-lang-yaml=\"`retentionInDays`\" pulumi-lang-java=\"`retentionInDays`\"\u003e`retention_in_days`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`totalRetentionInDays`\" pulumi-lang-dotnet=\"`TotalRetentionInDays`\" pulumi-lang-go=\"`totalRetentionInDays`\" pulumi-lang-python=\"`total_retention_in_days`\" pulumi-lang-yaml=\"`totalRetentionInDays`\" pulumi-lang-java=\"`totalRetentionInDays`\"\u003e`total_retention_in_days`\u003c/span\u003e will revert back to the value of\u003cspan pulumi-lang-nodejs=\" azure.operationalinsights.AnalyticsWorkspace \" pulumi-lang-dotnet=\" azure.operationalinsights.AnalyticsWorkspace \" pulumi-lang-go=\" operationalinsights.AnalyticsWorkspace \" pulumi-lang-python=\" operationalinsights.AnalyticsWorkspace \" pulumi-lang-yaml=\" azure.operationalinsights.AnalyticsWorkspace \" pulumi-lang-java=\" azure.operationalinsights.AnalyticsWorkspace \"\u003e azure.operationalinsights.AnalyticsWorkspace \u003c/span\u003eretention_in_days when a\u003cspan pulumi-lang-nodejs=\" azure.loganalytics.WorkspaceTable \" pulumi-lang-dotnet=\" azure.loganalytics.WorkspaceTable \" pulumi-lang-go=\" loganalytics.WorkspaceTable \" pulumi-lang-python=\" loganalytics.WorkspaceTable \" pulumi-lang-yaml=\" azure.loganalytics.WorkspaceTable \" pulumi-lang-java=\" azure.loganalytics.WorkspaceTable \"\u003e azure.loganalytics.WorkspaceTable \u003c/span\u003eis deleted.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`retentionInDays`\" pulumi-lang-dotnet=\"`RetentionInDays`\" pulumi-lang-go=\"`retentionInDays`\" pulumi-lang-python=\"`retention_in_days`\" pulumi-lang-yaml=\"`retentionInDays`\" pulumi-lang-java=\"`retentionInDays`\"\u003e`retention_in_days`\u003c/span\u003e cannot be specified when \u003cspan pulumi-lang-nodejs=\"`plan`\" pulumi-lang-dotnet=\"`Plan`\" pulumi-lang-go=\"`plan`\" pulumi-lang-python=\"`plan`\" pulumi-lang-yaml=\"`plan`\" pulumi-lang-java=\"`plan`\"\u003e`plan`\u003c/span\u003e is `Basic` because the retention is fixed at eight days.\n"},"workspaceId":{"type":"string","description":"The object ID of the Log Analytics Workspace that contains the table.\n"}},"required":["name","workspaceId"],"inputProperties":{"name":{"type":"string","description":"Specifies the name of a table in a Log Analytics Workspace.\n"},"plan":{"type":"string","description":"Specify the system how to handle and charge the logs ingested to the table. Possible values are `Analytics` and `Basic`. Defaults to `Analytics`.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e of tables currently supported by the `Basic` plan can be found [here](https://learn.microsoft.com/en-us/azure/azure-monitor/logs/basic-logs-azure-tables).\n"},"retentionInDays":{"type":"integer","description":"The table's retention in days. Possible values are either \u003cspan pulumi-lang-nodejs=\"`8`\" pulumi-lang-dotnet=\"`8`\" pulumi-lang-go=\"`8`\" pulumi-lang-python=\"`8`\" pulumi-lang-yaml=\"`8`\" pulumi-lang-java=\"`8`\"\u003e`8`\u003c/span\u003e (Basic Tier only) or range between \u003cspan pulumi-lang-nodejs=\"`4`\" pulumi-lang-dotnet=\"`4`\" pulumi-lang-go=\"`4`\" pulumi-lang-python=\"`4`\" pulumi-lang-yaml=\"`4`\" pulumi-lang-java=\"`4`\"\u003e`4`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`730`\" pulumi-lang-dotnet=\"`730`\" pulumi-lang-go=\"`730`\" pulumi-lang-python=\"`730`\" pulumi-lang-yaml=\"`730`\" pulumi-lang-java=\"`730`\"\u003e`730`\u003c/span\u003e.\n"},"totalRetentionInDays":{"type":"integer","description":"The table's total retention in days. Possible values range between \u003cspan pulumi-lang-nodejs=\"`4`\" pulumi-lang-dotnet=\"`4`\" pulumi-lang-go=\"`4`\" pulumi-lang-python=\"`4`\" pulumi-lang-yaml=\"`4`\" pulumi-lang-java=\"`4`\"\u003e`4`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`730`\" pulumi-lang-dotnet=\"`730`\" pulumi-lang-go=\"`730`\" pulumi-lang-python=\"`730`\" pulumi-lang-yaml=\"`730`\" pulumi-lang-java=\"`730`\"\u003e`730`\u003c/span\u003e; or \u003cspan pulumi-lang-nodejs=\"`1095`\" pulumi-lang-dotnet=\"`1095`\" pulumi-lang-go=\"`1095`\" pulumi-lang-python=\"`1095`\" pulumi-lang-yaml=\"`1095`\" pulumi-lang-java=\"`1095`\"\u003e`1095`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`1460`\" pulumi-lang-dotnet=\"`1460`\" pulumi-lang-go=\"`1460`\" pulumi-lang-python=\"`1460`\" pulumi-lang-yaml=\"`1460`\" pulumi-lang-java=\"`1460`\"\u003e`1460`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`1826`\" pulumi-lang-dotnet=\"`1826`\" pulumi-lang-go=\"`1826`\" pulumi-lang-python=\"`1826`\" pulumi-lang-yaml=\"`1826`\" pulumi-lang-java=\"`1826`\"\u003e`1826`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`2191`\" pulumi-lang-dotnet=\"`2191`\" pulumi-lang-go=\"`2191`\" pulumi-lang-python=\"`2191`\" pulumi-lang-yaml=\"`2191`\" pulumi-lang-java=\"`2191`\"\u003e`2191`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`2556`\" pulumi-lang-dotnet=\"`2556`\" pulumi-lang-go=\"`2556`\" pulumi-lang-python=\"`2556`\" pulumi-lang-yaml=\"`2556`\" pulumi-lang-java=\"`2556`\"\u003e`2556`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`2922`\" pulumi-lang-dotnet=\"`2922`\" pulumi-lang-go=\"`2922`\" pulumi-lang-python=\"`2922`\" pulumi-lang-yaml=\"`2922`\" pulumi-lang-java=\"`2922`\"\u003e`2922`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`3288`\" pulumi-lang-dotnet=\"`3288`\" pulumi-lang-go=\"`3288`\" pulumi-lang-python=\"`3288`\" pulumi-lang-yaml=\"`3288`\" pulumi-lang-java=\"`3288`\"\u003e`3288`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`3653`\" pulumi-lang-dotnet=\"`3653`\" pulumi-lang-go=\"`3653`\" pulumi-lang-python=\"`3653`\" pulumi-lang-yaml=\"`3653`\" pulumi-lang-java=\"`3653`\"\u003e`3653`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`4018`\" pulumi-lang-dotnet=\"`4018`\" pulumi-lang-go=\"`4018`\" pulumi-lang-python=\"`4018`\" pulumi-lang-yaml=\"`4018`\" pulumi-lang-java=\"`4018`\"\u003e`4018`\u003c/span\u003e, or \u003cspan pulumi-lang-nodejs=\"`4383`\" pulumi-lang-dotnet=\"`4383`\" pulumi-lang-go=\"`4383`\" pulumi-lang-python=\"`4383`\" pulumi-lang-yaml=\"`4383`\" pulumi-lang-java=\"`4383`\"\u003e`4383`\u003c/span\u003e.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`retentionInDays`\" pulumi-lang-dotnet=\"`RetentionInDays`\" pulumi-lang-go=\"`retentionInDays`\" pulumi-lang-python=\"`retention_in_days`\" pulumi-lang-yaml=\"`retentionInDays`\" pulumi-lang-java=\"`retentionInDays`\"\u003e`retention_in_days`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`totalRetentionInDays`\" pulumi-lang-dotnet=\"`TotalRetentionInDays`\" pulumi-lang-go=\"`totalRetentionInDays`\" pulumi-lang-python=\"`total_retention_in_days`\" pulumi-lang-yaml=\"`totalRetentionInDays`\" pulumi-lang-java=\"`totalRetentionInDays`\"\u003e`total_retention_in_days`\u003c/span\u003e will revert back to the value of\u003cspan pulumi-lang-nodejs=\" azure.operationalinsights.AnalyticsWorkspace \" pulumi-lang-dotnet=\" azure.operationalinsights.AnalyticsWorkspace \" pulumi-lang-go=\" operationalinsights.AnalyticsWorkspace \" pulumi-lang-python=\" operationalinsights.AnalyticsWorkspace \" pulumi-lang-yaml=\" azure.operationalinsights.AnalyticsWorkspace \" pulumi-lang-java=\" azure.operationalinsights.AnalyticsWorkspace \"\u003e azure.operationalinsights.AnalyticsWorkspace \u003c/span\u003eretention_in_days when a\u003cspan pulumi-lang-nodejs=\" azure.loganalytics.WorkspaceTable \" pulumi-lang-dotnet=\" azure.loganalytics.WorkspaceTable \" pulumi-lang-go=\" loganalytics.WorkspaceTable \" pulumi-lang-python=\" loganalytics.WorkspaceTable \" pulumi-lang-yaml=\" azure.loganalytics.WorkspaceTable \" pulumi-lang-java=\" azure.loganalytics.WorkspaceTable \"\u003e azure.loganalytics.WorkspaceTable \u003c/span\u003eis deleted.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`retentionInDays`\" pulumi-lang-dotnet=\"`RetentionInDays`\" pulumi-lang-go=\"`retentionInDays`\" pulumi-lang-python=\"`retention_in_days`\" pulumi-lang-yaml=\"`retentionInDays`\" pulumi-lang-java=\"`retentionInDays`\"\u003e`retention_in_days`\u003c/span\u003e cannot be specified when \u003cspan pulumi-lang-nodejs=\"`plan`\" pulumi-lang-dotnet=\"`Plan`\" pulumi-lang-go=\"`plan`\" pulumi-lang-python=\"`plan`\" pulumi-lang-yaml=\"`plan`\" pulumi-lang-java=\"`plan`\"\u003e`plan`\u003c/span\u003e is `Basic` because the retention is fixed at eight days.\n"},"workspaceId":{"type":"string","description":"The object ID of the Log Analytics Workspace that contains the table.\n"}},"requiredInputs":["workspaceId"],"stateInputs":{"description":"Input properties used for looking up and filtering WorkspaceTable resources.\n","properties":{"name":{"type":"string","description":"Specifies the name of a table in a Log Analytics Workspace.\n"},"plan":{"type":"string","description":"Specify the system how to handle and charge the logs ingested to the table. Possible values are `Analytics` and `Basic`. Defaults to `Analytics`.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e of tables currently supported by the `Basic` plan can be found [here](https://learn.microsoft.com/en-us/azure/azure-monitor/logs/basic-logs-azure-tables).\n"},"retentionInDays":{"type":"integer","description":"The table's retention in days. Possible values are either \u003cspan pulumi-lang-nodejs=\"`8`\" pulumi-lang-dotnet=\"`8`\" pulumi-lang-go=\"`8`\" pulumi-lang-python=\"`8`\" pulumi-lang-yaml=\"`8`\" pulumi-lang-java=\"`8`\"\u003e`8`\u003c/span\u003e (Basic Tier only) or range between \u003cspan pulumi-lang-nodejs=\"`4`\" pulumi-lang-dotnet=\"`4`\" pulumi-lang-go=\"`4`\" pulumi-lang-python=\"`4`\" pulumi-lang-yaml=\"`4`\" pulumi-lang-java=\"`4`\"\u003e`4`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`730`\" pulumi-lang-dotnet=\"`730`\" pulumi-lang-go=\"`730`\" pulumi-lang-python=\"`730`\" pulumi-lang-yaml=\"`730`\" pulumi-lang-java=\"`730`\"\u003e`730`\u003c/span\u003e.\n"},"totalRetentionInDays":{"type":"integer","description":"The table's total retention in days. Possible values range between \u003cspan pulumi-lang-nodejs=\"`4`\" pulumi-lang-dotnet=\"`4`\" pulumi-lang-go=\"`4`\" pulumi-lang-python=\"`4`\" pulumi-lang-yaml=\"`4`\" pulumi-lang-java=\"`4`\"\u003e`4`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`730`\" pulumi-lang-dotnet=\"`730`\" pulumi-lang-go=\"`730`\" pulumi-lang-python=\"`730`\" pulumi-lang-yaml=\"`730`\" pulumi-lang-java=\"`730`\"\u003e`730`\u003c/span\u003e; or \u003cspan pulumi-lang-nodejs=\"`1095`\" pulumi-lang-dotnet=\"`1095`\" pulumi-lang-go=\"`1095`\" pulumi-lang-python=\"`1095`\" pulumi-lang-yaml=\"`1095`\" pulumi-lang-java=\"`1095`\"\u003e`1095`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`1460`\" pulumi-lang-dotnet=\"`1460`\" pulumi-lang-go=\"`1460`\" pulumi-lang-python=\"`1460`\" pulumi-lang-yaml=\"`1460`\" pulumi-lang-java=\"`1460`\"\u003e`1460`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`1826`\" pulumi-lang-dotnet=\"`1826`\" pulumi-lang-go=\"`1826`\" pulumi-lang-python=\"`1826`\" pulumi-lang-yaml=\"`1826`\" pulumi-lang-java=\"`1826`\"\u003e`1826`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`2191`\" pulumi-lang-dotnet=\"`2191`\" pulumi-lang-go=\"`2191`\" pulumi-lang-python=\"`2191`\" pulumi-lang-yaml=\"`2191`\" pulumi-lang-java=\"`2191`\"\u003e`2191`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`2556`\" pulumi-lang-dotnet=\"`2556`\" pulumi-lang-go=\"`2556`\" pulumi-lang-python=\"`2556`\" pulumi-lang-yaml=\"`2556`\" pulumi-lang-java=\"`2556`\"\u003e`2556`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`2922`\" pulumi-lang-dotnet=\"`2922`\" pulumi-lang-go=\"`2922`\" pulumi-lang-python=\"`2922`\" pulumi-lang-yaml=\"`2922`\" pulumi-lang-java=\"`2922`\"\u003e`2922`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`3288`\" pulumi-lang-dotnet=\"`3288`\" pulumi-lang-go=\"`3288`\" pulumi-lang-python=\"`3288`\" pulumi-lang-yaml=\"`3288`\" pulumi-lang-java=\"`3288`\"\u003e`3288`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`3653`\" pulumi-lang-dotnet=\"`3653`\" pulumi-lang-go=\"`3653`\" pulumi-lang-python=\"`3653`\" pulumi-lang-yaml=\"`3653`\" pulumi-lang-java=\"`3653`\"\u003e`3653`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`4018`\" pulumi-lang-dotnet=\"`4018`\" pulumi-lang-go=\"`4018`\" pulumi-lang-python=\"`4018`\" pulumi-lang-yaml=\"`4018`\" pulumi-lang-java=\"`4018`\"\u003e`4018`\u003c/span\u003e, or \u003cspan pulumi-lang-nodejs=\"`4383`\" pulumi-lang-dotnet=\"`4383`\" pulumi-lang-go=\"`4383`\" pulumi-lang-python=\"`4383`\" pulumi-lang-yaml=\"`4383`\" pulumi-lang-java=\"`4383`\"\u003e`4383`\u003c/span\u003e.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`retentionInDays`\" pulumi-lang-dotnet=\"`RetentionInDays`\" pulumi-lang-go=\"`retentionInDays`\" pulumi-lang-python=\"`retention_in_days`\" pulumi-lang-yaml=\"`retentionInDays`\" pulumi-lang-java=\"`retentionInDays`\"\u003e`retention_in_days`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`totalRetentionInDays`\" pulumi-lang-dotnet=\"`TotalRetentionInDays`\" pulumi-lang-go=\"`totalRetentionInDays`\" pulumi-lang-python=\"`total_retention_in_days`\" pulumi-lang-yaml=\"`totalRetentionInDays`\" pulumi-lang-java=\"`totalRetentionInDays`\"\u003e`total_retention_in_days`\u003c/span\u003e will revert back to the value of\u003cspan pulumi-lang-nodejs=\" azure.operationalinsights.AnalyticsWorkspace \" pulumi-lang-dotnet=\" azure.operationalinsights.AnalyticsWorkspace \" pulumi-lang-go=\" operationalinsights.AnalyticsWorkspace \" pulumi-lang-python=\" operationalinsights.AnalyticsWorkspace \" pulumi-lang-yaml=\" azure.operationalinsights.AnalyticsWorkspace \" pulumi-lang-java=\" azure.operationalinsights.AnalyticsWorkspace \"\u003e azure.operationalinsights.AnalyticsWorkspace \u003c/span\u003eretention_in_days when a\u003cspan pulumi-lang-nodejs=\" azure.loganalytics.WorkspaceTable \" pulumi-lang-dotnet=\" azure.loganalytics.WorkspaceTable \" pulumi-lang-go=\" loganalytics.WorkspaceTable \" pulumi-lang-python=\" loganalytics.WorkspaceTable \" pulumi-lang-yaml=\" azure.loganalytics.WorkspaceTable \" pulumi-lang-java=\" azure.loganalytics.WorkspaceTable \"\u003e azure.loganalytics.WorkspaceTable \u003c/span\u003eis deleted.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`retentionInDays`\" pulumi-lang-dotnet=\"`RetentionInDays`\" pulumi-lang-go=\"`retentionInDays`\" pulumi-lang-python=\"`retention_in_days`\" pulumi-lang-yaml=\"`retentionInDays`\" pulumi-lang-java=\"`retentionInDays`\"\u003e`retention_in_days`\u003c/span\u003e cannot be specified when \u003cspan pulumi-lang-nodejs=\"`plan`\" pulumi-lang-dotnet=\"`Plan`\" pulumi-lang-go=\"`plan`\" pulumi-lang-python=\"`plan`\" pulumi-lang-yaml=\"`plan`\" pulumi-lang-java=\"`plan`\"\u003e`plan`\u003c/span\u003e is `Basic` because the retention is fixed at eight days.\n"},"workspaceId":{"type":"string","description":"The object ID of the Log Analytics Workspace that contains the table.\n"}},"type":"object"}},"azure:loganalytics/workspaceTableCustomLog:WorkspaceTableCustomLog":{"description":"Manages a Custom Log Table in a Log Analytics (formally Operational Insights) Workspace.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleAnalyticsWorkspace = new azure.operationalinsights.AnalyticsWorkspace(\"example\", {\n    name: \"example\",\n    location: example.location,\n    resourceGroupName: example.name,\n    sku: \"PerGB2018\",\n    retentionInDays: 30,\n});\nconst exampleWorkspaceTableCustomLog = new azure.loganalytics.WorkspaceTableCustomLog(\"example\", {\n    name: \"example_CL\",\n    workspaceId: exampleAnalyticsWorkspace.id,\n    columns: [{\n        name: \"TimeGenerated\",\n        type: \"datetime\",\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_analytics_workspace = azure.operationalinsights.AnalyticsWorkspace(\"example\",\n    name=\"example\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku=\"PerGB2018\",\n    retention_in_days=30)\nexample_workspace_table_custom_log = azure.loganalytics.WorkspaceTableCustomLog(\"example\",\n    name=\"example_CL\",\n    workspace_id=example_analytics_workspace.id,\n    columns=[{\n        \"name\": \"TimeGenerated\",\n        \"type\": \"datetime\",\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleAnalyticsWorkspace = new Azure.OperationalInsights.AnalyticsWorkspace(\"example\", new()\n    {\n        Name = \"example\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Sku = \"PerGB2018\",\n        RetentionInDays = 30,\n    });\n\n    var exampleWorkspaceTableCustomLog = new Azure.LogAnalytics.WorkspaceTableCustomLog(\"example\", new()\n    {\n        Name = \"example_CL\",\n        WorkspaceId = exampleAnalyticsWorkspace.Id,\n        Columns = new[]\n        {\n            new Azure.LogAnalytics.Inputs.WorkspaceTableCustomLogColumnArgs\n            {\n                Name = \"TimeGenerated\",\n                Type = \"datetime\",\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/loganalytics\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/operationalinsights\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAnalyticsWorkspace, err := operationalinsights.NewAnalyticsWorkspace(ctx, \"example\", \u0026operationalinsights.AnalyticsWorkspaceArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSku:               pulumi.String(\"PerGB2018\"),\n\t\t\tRetentionInDays:   pulumi.Int(30),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = loganalytics.NewWorkspaceTableCustomLog(ctx, \"example\", \u0026loganalytics.WorkspaceTableCustomLogArgs{\n\t\t\tName:        pulumi.String(\"example_CL\"),\n\t\t\tWorkspaceId: exampleAnalyticsWorkspace.ID(),\n\t\t\tColumns: loganalytics.WorkspaceTableCustomLogColumnArray{\n\t\t\t\t\u0026loganalytics.WorkspaceTableCustomLogColumnArgs{\n\t\t\t\t\tName: pulumi.String(\"TimeGenerated\"),\n\t\t\t\t\tType: pulumi.String(\"datetime\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.operationalinsights.AnalyticsWorkspace;\nimport com.pulumi.azure.operationalinsights.AnalyticsWorkspaceArgs;\nimport com.pulumi.azure.loganalytics.WorkspaceTableCustomLog;\nimport com.pulumi.azure.loganalytics.WorkspaceTableCustomLogArgs;\nimport com.pulumi.azure.loganalytics.inputs.WorkspaceTableCustomLogColumnArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleAnalyticsWorkspace = new AnalyticsWorkspace(\"exampleAnalyticsWorkspace\", AnalyticsWorkspaceArgs.builder()\n            .name(\"example\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .sku(\"PerGB2018\")\n            .retentionInDays(30)\n            .build());\n\n        var exampleWorkspaceTableCustomLog = new WorkspaceTableCustomLog(\"exampleWorkspaceTableCustomLog\", WorkspaceTableCustomLogArgs.builder()\n            .name(\"example_CL\")\n            .workspaceId(exampleAnalyticsWorkspace.id())\n            .columns(WorkspaceTableCustomLogColumnArgs.builder()\n                .name(\"TimeGenerated\")\n                .type(\"datetime\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleAnalyticsWorkspace:\n    type: azure:operationalinsights:AnalyticsWorkspace\n    name: example\n    properties:\n      name: example\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      sku: PerGB2018\n      retentionInDays: 30\n  exampleWorkspaceTableCustomLog:\n    type: azure:loganalytics:WorkspaceTableCustomLog\n    name: example\n    properties:\n      name: example_CL\n      workspaceId: ${exampleAnalyticsWorkspace.id}\n      columns:\n        - name: TimeGenerated\n          type: datetime\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.OperationalInsights` - 2022-10-01\n\n## Import\n\nLog Analytics Workspace Table Custom Logs can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:loganalytics/workspaceTableCustomLog:WorkspaceTableCustomLog example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.OperationalInsights/workspaces/workspace1/tables/table1\n```\n\n","properties":{"columns":{"type":"array","items":{"$ref":"#/types/azure:loganalytics/WorkspaceTableCustomLogColumn:WorkspaceTableCustomLogColumn"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`column`\" pulumi-lang-dotnet=\"`Column`\" pulumi-lang-go=\"`column`\" pulumi-lang-python=\"`column`\" pulumi-lang-yaml=\"`column`\" pulumi-lang-java=\"`column`\"\u003e`column`\u003c/span\u003e blocks as defined below.\n"},"description":{"type":"string","description":"The description of the table.\n"},"displayName":{"type":"string","description":"The display name of the table.\n"},"name":{"type":"string","description":"Specifies the name of the Log Analytics Workspace Table Custom Log. Changing this forces a new resource to be created.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e must end with `_CL`.\n"},"plan":{"type":"string","description":"Specify the system how to handle and charge the logs ingested to the table. Possible values are `Analytics` and `Basic`. Defaults to `Analytics`.\n\n\u003e **Note:** Changing the table's \u003cspan pulumi-lang-nodejs=\"`plan`\" pulumi-lang-dotnet=\"`Plan`\" pulumi-lang-go=\"`plan`\" pulumi-lang-python=\"`plan`\" pulumi-lang-yaml=\"`plan`\" pulumi-lang-java=\"`plan`\"\u003e`plan`\u003c/span\u003e is limited to once a week.\n"},"retentionInDays":{"type":"integer","description":"The table's retention in days. Possible values range between \u003cspan pulumi-lang-nodejs=\"`4`\" pulumi-lang-dotnet=\"`4`\" pulumi-lang-go=\"`4`\" pulumi-lang-python=\"`4`\" pulumi-lang-yaml=\"`4`\" pulumi-lang-java=\"`4`\"\u003e`4`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`730`\" pulumi-lang-dotnet=\"`730`\" pulumi-lang-go=\"`730`\" pulumi-lang-python=\"`730`\" pulumi-lang-yaml=\"`730`\" pulumi-lang-java=\"`730`\"\u003e`730`\u003c/span\u003e.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`retentionInDays`\" pulumi-lang-dotnet=\"`RetentionInDays`\" pulumi-lang-go=\"`retentionInDays`\" pulumi-lang-python=\"`retention_in_days`\" pulumi-lang-yaml=\"`retentionInDays`\" pulumi-lang-java=\"`retentionInDays`\"\u003e`retention_in_days`\u003c/span\u003e cannot be set when \u003cspan pulumi-lang-nodejs=\"`plan`\" pulumi-lang-dotnet=\"`Plan`\" pulumi-lang-go=\"`plan`\" pulumi-lang-python=\"`plan`\" pulumi-lang-yaml=\"`plan`\" pulumi-lang-java=\"`plan`\"\u003e`plan`\u003c/span\u003e is set to `Basic` because the retention is fixed.\n"},"solutions":{"type":"array","items":{"type":"string"},"description":"A list of solutions associated with the table.\n"},"standardColumns":{"type":"array","items":{"$ref":"#/types/azure:loganalytics/WorkspaceTableCustomLogStandardColumn:WorkspaceTableCustomLogStandardColumn"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`standardColumn`\" pulumi-lang-dotnet=\"`StandardColumn`\" pulumi-lang-go=\"`standardColumn`\" pulumi-lang-python=\"`standard_column`\" pulumi-lang-yaml=\"`standardColumn`\" pulumi-lang-java=\"`standardColumn`\"\u003e`standard_column`\u003c/span\u003e blocks as defined below.\n"},"totalRetentionInDays":{"type":"integer","description":"The table's total retention in days. Possible values range between \u003cspan pulumi-lang-nodejs=\"`4`\" pulumi-lang-dotnet=\"`4`\" pulumi-lang-go=\"`4`\" pulumi-lang-python=\"`4`\" pulumi-lang-yaml=\"`4`\" pulumi-lang-java=\"`4`\"\u003e`4`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`730`\" pulumi-lang-dotnet=\"`730`\" pulumi-lang-go=\"`730`\" pulumi-lang-python=\"`730`\" pulumi-lang-yaml=\"`730`\" pulumi-lang-java=\"`730`\"\u003e`730`\u003c/span\u003e; or \u003cspan pulumi-lang-nodejs=\"`1095`\" pulumi-lang-dotnet=\"`1095`\" pulumi-lang-go=\"`1095`\" pulumi-lang-python=\"`1095`\" pulumi-lang-yaml=\"`1095`\" pulumi-lang-java=\"`1095`\"\u003e`1095`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`1460`\" pulumi-lang-dotnet=\"`1460`\" pulumi-lang-go=\"`1460`\" pulumi-lang-python=\"`1460`\" pulumi-lang-yaml=\"`1460`\" pulumi-lang-java=\"`1460`\"\u003e`1460`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`1826`\" pulumi-lang-dotnet=\"`1826`\" pulumi-lang-go=\"`1826`\" pulumi-lang-python=\"`1826`\" pulumi-lang-yaml=\"`1826`\" pulumi-lang-java=\"`1826`\"\u003e`1826`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`2191`\" pulumi-lang-dotnet=\"`2191`\" pulumi-lang-go=\"`2191`\" pulumi-lang-python=\"`2191`\" pulumi-lang-yaml=\"`2191`\" pulumi-lang-java=\"`2191`\"\u003e`2191`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`2556`\" pulumi-lang-dotnet=\"`2556`\" pulumi-lang-go=\"`2556`\" pulumi-lang-python=\"`2556`\" pulumi-lang-yaml=\"`2556`\" pulumi-lang-java=\"`2556`\"\u003e`2556`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`2922`\" pulumi-lang-dotnet=\"`2922`\" pulumi-lang-go=\"`2922`\" pulumi-lang-python=\"`2922`\" pulumi-lang-yaml=\"`2922`\" pulumi-lang-java=\"`2922`\"\u003e`2922`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`3288`\" pulumi-lang-dotnet=\"`3288`\" pulumi-lang-go=\"`3288`\" pulumi-lang-python=\"`3288`\" pulumi-lang-yaml=\"`3288`\" pulumi-lang-java=\"`3288`\"\u003e`3288`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`3653`\" pulumi-lang-dotnet=\"`3653`\" pulumi-lang-go=\"`3653`\" pulumi-lang-python=\"`3653`\" pulumi-lang-yaml=\"`3653`\" pulumi-lang-java=\"`3653`\"\u003e`3653`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`4018`\" pulumi-lang-dotnet=\"`4018`\" pulumi-lang-go=\"`4018`\" pulumi-lang-python=\"`4018`\" pulumi-lang-yaml=\"`4018`\" pulumi-lang-java=\"`4018`\"\u003e`4018`\u003c/span\u003e, or \u003cspan pulumi-lang-nodejs=\"`4383`\" pulumi-lang-dotnet=\"`4383`\" pulumi-lang-go=\"`4383`\" pulumi-lang-python=\"`4383`\" pulumi-lang-yaml=\"`4383`\" pulumi-lang-java=\"`4383`\"\u003e`4383`\u003c/span\u003e.\n"},"workspaceId":{"type":"string","description":"The object ID of the Log Analytics Workspace that contains the table. Changing this forces a new resource to be created.\n"}},"required":["columns","name","solutions","standardColumns","workspaceId"],"inputProperties":{"columns":{"type":"array","items":{"$ref":"#/types/azure:loganalytics/WorkspaceTableCustomLogColumn:WorkspaceTableCustomLogColumn"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`column`\" pulumi-lang-dotnet=\"`Column`\" pulumi-lang-go=\"`column`\" pulumi-lang-python=\"`column`\" pulumi-lang-yaml=\"`column`\" pulumi-lang-java=\"`column`\"\u003e`column`\u003c/span\u003e blocks as defined below.\n"},"description":{"type":"string","description":"The description of the table.\n"},"displayName":{"type":"string","description":"The display name of the table.\n"},"name":{"type":"string","description":"Specifies the name of the Log Analytics Workspace Table Custom Log. Changing this forces a new resource to be created.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e must end with `_CL`.\n","willReplaceOnChanges":true},"plan":{"type":"string","description":"Specify the system how to handle and charge the logs ingested to the table. Possible values are `Analytics` and `Basic`. Defaults to `Analytics`.\n\n\u003e **Note:** Changing the table's \u003cspan pulumi-lang-nodejs=\"`plan`\" pulumi-lang-dotnet=\"`Plan`\" pulumi-lang-go=\"`plan`\" pulumi-lang-python=\"`plan`\" pulumi-lang-yaml=\"`plan`\" pulumi-lang-java=\"`plan`\"\u003e`plan`\u003c/span\u003e is limited to once a week.\n"},"retentionInDays":{"type":"integer","description":"The table's retention in days. Possible values range between \u003cspan pulumi-lang-nodejs=\"`4`\" pulumi-lang-dotnet=\"`4`\" pulumi-lang-go=\"`4`\" pulumi-lang-python=\"`4`\" pulumi-lang-yaml=\"`4`\" pulumi-lang-java=\"`4`\"\u003e`4`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`730`\" pulumi-lang-dotnet=\"`730`\" pulumi-lang-go=\"`730`\" pulumi-lang-python=\"`730`\" pulumi-lang-yaml=\"`730`\" pulumi-lang-java=\"`730`\"\u003e`730`\u003c/span\u003e.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`retentionInDays`\" pulumi-lang-dotnet=\"`RetentionInDays`\" pulumi-lang-go=\"`retentionInDays`\" pulumi-lang-python=\"`retention_in_days`\" pulumi-lang-yaml=\"`retentionInDays`\" pulumi-lang-java=\"`retentionInDays`\"\u003e`retention_in_days`\u003c/span\u003e cannot be set when \u003cspan pulumi-lang-nodejs=\"`plan`\" pulumi-lang-dotnet=\"`Plan`\" pulumi-lang-go=\"`plan`\" pulumi-lang-python=\"`plan`\" pulumi-lang-yaml=\"`plan`\" pulumi-lang-java=\"`plan`\"\u003e`plan`\u003c/span\u003e is set to `Basic` because the retention is fixed.\n"},"totalRetentionInDays":{"type":"integer","description":"The table's total retention in days. Possible values range between \u003cspan pulumi-lang-nodejs=\"`4`\" pulumi-lang-dotnet=\"`4`\" pulumi-lang-go=\"`4`\" pulumi-lang-python=\"`4`\" pulumi-lang-yaml=\"`4`\" pulumi-lang-java=\"`4`\"\u003e`4`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`730`\" pulumi-lang-dotnet=\"`730`\" pulumi-lang-go=\"`730`\" pulumi-lang-python=\"`730`\" pulumi-lang-yaml=\"`730`\" pulumi-lang-java=\"`730`\"\u003e`730`\u003c/span\u003e; or \u003cspan pulumi-lang-nodejs=\"`1095`\" pulumi-lang-dotnet=\"`1095`\" pulumi-lang-go=\"`1095`\" pulumi-lang-python=\"`1095`\" pulumi-lang-yaml=\"`1095`\" pulumi-lang-java=\"`1095`\"\u003e`1095`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`1460`\" pulumi-lang-dotnet=\"`1460`\" pulumi-lang-go=\"`1460`\" pulumi-lang-python=\"`1460`\" pulumi-lang-yaml=\"`1460`\" pulumi-lang-java=\"`1460`\"\u003e`1460`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`1826`\" pulumi-lang-dotnet=\"`1826`\" pulumi-lang-go=\"`1826`\" pulumi-lang-python=\"`1826`\" pulumi-lang-yaml=\"`1826`\" pulumi-lang-java=\"`1826`\"\u003e`1826`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`2191`\" pulumi-lang-dotnet=\"`2191`\" pulumi-lang-go=\"`2191`\" pulumi-lang-python=\"`2191`\" pulumi-lang-yaml=\"`2191`\" pulumi-lang-java=\"`2191`\"\u003e`2191`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`2556`\" pulumi-lang-dotnet=\"`2556`\" pulumi-lang-go=\"`2556`\" pulumi-lang-python=\"`2556`\" pulumi-lang-yaml=\"`2556`\" pulumi-lang-java=\"`2556`\"\u003e`2556`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`2922`\" pulumi-lang-dotnet=\"`2922`\" pulumi-lang-go=\"`2922`\" pulumi-lang-python=\"`2922`\" pulumi-lang-yaml=\"`2922`\" pulumi-lang-java=\"`2922`\"\u003e`2922`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`3288`\" pulumi-lang-dotnet=\"`3288`\" pulumi-lang-go=\"`3288`\" pulumi-lang-python=\"`3288`\" pulumi-lang-yaml=\"`3288`\" pulumi-lang-java=\"`3288`\"\u003e`3288`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`3653`\" pulumi-lang-dotnet=\"`3653`\" pulumi-lang-go=\"`3653`\" pulumi-lang-python=\"`3653`\" pulumi-lang-yaml=\"`3653`\" pulumi-lang-java=\"`3653`\"\u003e`3653`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`4018`\" pulumi-lang-dotnet=\"`4018`\" pulumi-lang-go=\"`4018`\" pulumi-lang-python=\"`4018`\" pulumi-lang-yaml=\"`4018`\" pulumi-lang-java=\"`4018`\"\u003e`4018`\u003c/span\u003e, or \u003cspan pulumi-lang-nodejs=\"`4383`\" pulumi-lang-dotnet=\"`4383`\" pulumi-lang-go=\"`4383`\" pulumi-lang-python=\"`4383`\" pulumi-lang-yaml=\"`4383`\" pulumi-lang-java=\"`4383`\"\u003e`4383`\u003c/span\u003e.\n"},"workspaceId":{"type":"string","description":"The object ID of the Log Analytics Workspace that contains the table. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["columns","workspaceId"],"stateInputs":{"description":"Input properties used for looking up and filtering WorkspaceTableCustomLog resources.\n","properties":{"columns":{"type":"array","items":{"$ref":"#/types/azure:loganalytics/WorkspaceTableCustomLogColumn:WorkspaceTableCustomLogColumn"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`column`\" pulumi-lang-dotnet=\"`Column`\" pulumi-lang-go=\"`column`\" pulumi-lang-python=\"`column`\" pulumi-lang-yaml=\"`column`\" pulumi-lang-java=\"`column`\"\u003e`column`\u003c/span\u003e blocks as defined below.\n"},"description":{"type":"string","description":"The description of the table.\n"},"displayName":{"type":"string","description":"The display name of the table.\n"},"name":{"type":"string","description":"Specifies the name of the Log Analytics Workspace Table Custom Log. Changing this forces a new resource to be created.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e must end with `_CL`.\n","willReplaceOnChanges":true},"plan":{"type":"string","description":"Specify the system how to handle and charge the logs ingested to the table. Possible values are `Analytics` and `Basic`. Defaults to `Analytics`.\n\n\u003e **Note:** Changing the table's \u003cspan pulumi-lang-nodejs=\"`plan`\" pulumi-lang-dotnet=\"`Plan`\" pulumi-lang-go=\"`plan`\" pulumi-lang-python=\"`plan`\" pulumi-lang-yaml=\"`plan`\" pulumi-lang-java=\"`plan`\"\u003e`plan`\u003c/span\u003e is limited to once a week.\n"},"retentionInDays":{"type":"integer","description":"The table's retention in days. Possible values range between \u003cspan pulumi-lang-nodejs=\"`4`\" pulumi-lang-dotnet=\"`4`\" pulumi-lang-go=\"`4`\" pulumi-lang-python=\"`4`\" pulumi-lang-yaml=\"`4`\" pulumi-lang-java=\"`4`\"\u003e`4`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`730`\" pulumi-lang-dotnet=\"`730`\" pulumi-lang-go=\"`730`\" pulumi-lang-python=\"`730`\" pulumi-lang-yaml=\"`730`\" pulumi-lang-java=\"`730`\"\u003e`730`\u003c/span\u003e.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`retentionInDays`\" pulumi-lang-dotnet=\"`RetentionInDays`\" pulumi-lang-go=\"`retentionInDays`\" pulumi-lang-python=\"`retention_in_days`\" pulumi-lang-yaml=\"`retentionInDays`\" pulumi-lang-java=\"`retentionInDays`\"\u003e`retention_in_days`\u003c/span\u003e cannot be set when \u003cspan pulumi-lang-nodejs=\"`plan`\" pulumi-lang-dotnet=\"`Plan`\" pulumi-lang-go=\"`plan`\" pulumi-lang-python=\"`plan`\" pulumi-lang-yaml=\"`plan`\" pulumi-lang-java=\"`plan`\"\u003e`plan`\u003c/span\u003e is set to `Basic` because the retention is fixed.\n"},"solutions":{"type":"array","items":{"type":"string"},"description":"A list of solutions associated with the table.\n"},"standardColumns":{"type":"array","items":{"$ref":"#/types/azure:loganalytics/WorkspaceTableCustomLogStandardColumn:WorkspaceTableCustomLogStandardColumn"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`standardColumn`\" pulumi-lang-dotnet=\"`StandardColumn`\" pulumi-lang-go=\"`standardColumn`\" pulumi-lang-python=\"`standard_column`\" pulumi-lang-yaml=\"`standardColumn`\" pulumi-lang-java=\"`standardColumn`\"\u003e`standard_column`\u003c/span\u003e blocks as defined below.\n"},"totalRetentionInDays":{"type":"integer","description":"The table's total retention in days. Possible values range between \u003cspan pulumi-lang-nodejs=\"`4`\" pulumi-lang-dotnet=\"`4`\" pulumi-lang-go=\"`4`\" pulumi-lang-python=\"`4`\" pulumi-lang-yaml=\"`4`\" pulumi-lang-java=\"`4`\"\u003e`4`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`730`\" pulumi-lang-dotnet=\"`730`\" pulumi-lang-go=\"`730`\" pulumi-lang-python=\"`730`\" pulumi-lang-yaml=\"`730`\" pulumi-lang-java=\"`730`\"\u003e`730`\u003c/span\u003e; or \u003cspan pulumi-lang-nodejs=\"`1095`\" pulumi-lang-dotnet=\"`1095`\" pulumi-lang-go=\"`1095`\" pulumi-lang-python=\"`1095`\" pulumi-lang-yaml=\"`1095`\" pulumi-lang-java=\"`1095`\"\u003e`1095`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`1460`\" pulumi-lang-dotnet=\"`1460`\" pulumi-lang-go=\"`1460`\" pulumi-lang-python=\"`1460`\" pulumi-lang-yaml=\"`1460`\" pulumi-lang-java=\"`1460`\"\u003e`1460`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`1826`\" pulumi-lang-dotnet=\"`1826`\" pulumi-lang-go=\"`1826`\" pulumi-lang-python=\"`1826`\" pulumi-lang-yaml=\"`1826`\" pulumi-lang-java=\"`1826`\"\u003e`1826`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`2191`\" pulumi-lang-dotnet=\"`2191`\" pulumi-lang-go=\"`2191`\" pulumi-lang-python=\"`2191`\" pulumi-lang-yaml=\"`2191`\" pulumi-lang-java=\"`2191`\"\u003e`2191`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`2556`\" pulumi-lang-dotnet=\"`2556`\" pulumi-lang-go=\"`2556`\" pulumi-lang-python=\"`2556`\" pulumi-lang-yaml=\"`2556`\" pulumi-lang-java=\"`2556`\"\u003e`2556`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`2922`\" pulumi-lang-dotnet=\"`2922`\" pulumi-lang-go=\"`2922`\" pulumi-lang-python=\"`2922`\" pulumi-lang-yaml=\"`2922`\" pulumi-lang-java=\"`2922`\"\u003e`2922`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`3288`\" pulumi-lang-dotnet=\"`3288`\" pulumi-lang-go=\"`3288`\" pulumi-lang-python=\"`3288`\" pulumi-lang-yaml=\"`3288`\" pulumi-lang-java=\"`3288`\"\u003e`3288`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`3653`\" pulumi-lang-dotnet=\"`3653`\" pulumi-lang-go=\"`3653`\" pulumi-lang-python=\"`3653`\" pulumi-lang-yaml=\"`3653`\" pulumi-lang-java=\"`3653`\"\u003e`3653`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`4018`\" pulumi-lang-dotnet=\"`4018`\" pulumi-lang-go=\"`4018`\" pulumi-lang-python=\"`4018`\" pulumi-lang-yaml=\"`4018`\" pulumi-lang-java=\"`4018`\"\u003e`4018`\u003c/span\u003e, or \u003cspan pulumi-lang-nodejs=\"`4383`\" pulumi-lang-dotnet=\"`4383`\" pulumi-lang-go=\"`4383`\" pulumi-lang-python=\"`4383`\" pulumi-lang-yaml=\"`4383`\" pulumi-lang-java=\"`4383`\"\u003e`4383`\u003c/span\u003e.\n"},"workspaceId":{"type":"string","description":"The object ID of the Log Analytics Workspace that contains the table. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:logicapps/actionCustom:ActionCustom":{"description":"Manages a Custom Action within a Logic App Workflow\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"workflow-resources\",\n    location: \"West Europe\",\n});\nconst exampleWorkflow = new azure.logicapps.Workflow(\"example\", {\n    name: \"workflow1\",\n    location: example.location,\n    resourceGroupName: example.name,\n});\nconst exampleActionCustom = new azure.logicapps.ActionCustom(\"example\", {\n    name: \"example-action\",\n    logicAppId: exampleWorkflow.id,\n    body: `{\n    \\\\\"description\\\\\": \\\\\"A variable to configure the auto expiration age in days. Configured in negative number. Default is -30 (30 days old).\\\\\",\n    \\\\\"inputs\\\\\": {\n        \\\\\"variables\\\\\": [\n            {\n                \\\\\"name\\\\\": \\\\\"ExpirationAgeInDays\\\\\",\n                \\\\\"type\\\\\": \\\\\"Integer\\\\\",\n                \\\\\"value\\\\\": -30\n            }\n        ]\n    },\n    \\\\\"runAfter\\\\\": {},\n    \\\\\"type\\\\\": \\\\\"InitializeVariable\\\\\"\n}\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"workflow-resources\",\n    location=\"West Europe\")\nexample_workflow = azure.logicapps.Workflow(\"example\",\n    name=\"workflow1\",\n    location=example.location,\n    resource_group_name=example.name)\nexample_action_custom = azure.logicapps.ActionCustom(\"example\",\n    name=\"example-action\",\n    logic_app_id=example_workflow.id,\n    body=\"\"\"{\n    \\\"description\\\": \\\"A variable to configure the auto expiration age in days. Configured in negative number. Default is -30 (30 days old).\\\",\n    \\\"inputs\\\": {\n        \\\"variables\\\": [\n            {\n                \\\"name\\\": \\\"ExpirationAgeInDays\\\",\n                \\\"type\\\": \\\"Integer\\\",\n                \\\"value\\\": -30\n            }\n        ]\n    },\n    \\\"runAfter\\\": {},\n    \\\"type\\\": \\\"InitializeVariable\\\"\n}\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"workflow-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleWorkflow = new Azure.LogicApps.Workflow(\"example\", new()\n    {\n        Name = \"workflow1\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n    });\n\n    var exampleActionCustom = new Azure.LogicApps.ActionCustom(\"example\", new()\n    {\n        Name = \"example-action\",\n        LogicAppId = exampleWorkflow.Id,\n        Body = @\"{\n    \\\"\"description\\\"\": \\\"\"A variable to configure the auto expiration age in days. Configured in negative number. Default is -30 (30 days old).\\\"\",\n    \\\"\"inputs\\\"\": {\n        \\\"\"variables\\\"\": [\n            {\n                \\\"\"name\\\"\": \\\"\"ExpirationAgeInDays\\\"\",\n                \\\"\"type\\\"\": \\\"\"Integer\\\"\",\n                \\\"\"value\\\"\": -30\n            }\n        ]\n    },\n    \\\"\"runAfter\\\"\": {},\n    \\\"\"type\\\"\": \\\"\"InitializeVariable\\\"\"\n}\n\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/logicapps\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"workflow-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleWorkflow, err := logicapps.NewWorkflow(ctx, \"example\", \u0026logicapps.WorkflowArgs{\n\t\t\tName:              pulumi.String(\"workflow1\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = logicapps.NewActionCustom(ctx, \"example\", \u0026logicapps.ActionCustomArgs{\n\t\t\tName:       pulumi.String(\"example-action\"),\n\t\t\tLogicAppId: exampleWorkflow.ID(),\n\t\t\tBody: pulumi.String(`{\n    \\\"description\\\": \\\"A variable to configure the auto expiration age in days. Configured in negative number. Default is -30 (30 days old).\\\",\n    \\\"inputs\\\": {\n        \\\"variables\\\": [\n            {\n                \\\"name\\\": \\\"ExpirationAgeInDays\\\",\n                \\\"type\\\": \\\"Integer\\\",\n                \\\"value\\\": -30\n            }\n        ]\n    },\n    \\\"runAfter\\\": {},\n    \\\"type\\\": \\\"InitializeVariable\\\"\n}\n`),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.logicapps.Workflow;\nimport com.pulumi.azure.logicapps.WorkflowArgs;\nimport com.pulumi.azure.logicapps.ActionCustom;\nimport com.pulumi.azure.logicapps.ActionCustomArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"workflow-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleWorkflow = new Workflow(\"exampleWorkflow\", WorkflowArgs.builder()\n            .name(\"workflow1\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .build());\n\n        var exampleActionCustom = new ActionCustom(\"exampleActionCustom\", ActionCustomArgs.builder()\n            .name(\"example-action\")\n            .logicAppId(exampleWorkflow.id())\n            .body(\"\"\"\n{\n    \\\"description\\\": \\\"A variable to configure the auto expiration age in days. Configured in negative number. Default is -30 (30 days old).\\\",\n    \\\"inputs\\\": {\n        \\\"variables\\\": [\n            {\n                \\\"name\\\": \\\"ExpirationAgeInDays\\\",\n                \\\"type\\\": \\\"Integer\\\",\n                \\\"value\\\": -30\n            }\n        ]\n    },\n    \\\"runAfter\\\": {},\n    \\\"type\\\": \\\"InitializeVariable\\\"\n}\n            \"\"\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: workflow-resources\n      location: West Europe\n  exampleWorkflow:\n    type: azure:logicapps:Workflow\n    name: example\n    properties:\n      name: workflow1\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n  exampleActionCustom:\n    type: azure:logicapps:ActionCustom\n    name: example\n    properties:\n      name: example-action\n      logicAppId: ${exampleWorkflow.id}\n      body: |\n        {\n            \\\"description\\\": \\\"A variable to configure the auto expiration age in days. Configured in negative number. Default is -30 (30 days old).\\\",\n            \\\"inputs\\\": {\n                \\\"variables\\\": [\n                    {\n                        \\\"name\\\": \\\"ExpirationAgeInDays\\\",\n                        \\\"type\\\": \\\"Integer\\\",\n                        \\\"value\\\": -30\n                    }\n                ]\n            },\n            \\\"runAfter\\\": {},\n            \\\"type\\\": \\\"InitializeVariable\\\"\n        }\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nLogic App Custom Actions can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:logicapps/actionCustom:ActionCustom custom1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Logic/workflows/workflow1/actions/custom1\n```\n\n\u003e **NOTE:** This ID is unique to this provider and doesn't directly match to any other resource. To compose this ID, you can take the ID Logic App Workflow and append `/actions/{name of the action}`.\n\n","properties":{"body":{"type":"string","description":"Specifies the JSON Blob defining the Body of this Custom Action.\n"},"logicAppId":{"type":"string","description":"Specifies the ID of the Logic App Workflow. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"Specifies the name of the HTTP Action to be created within the Logic App Workflow. Changing this forces a new resource to be created.\n\n\u003e **NOTE:** This name must be unique across all Actions within the Logic App Workflow.\n"}},"required":["body","logicAppId","name"],"inputProperties":{"body":{"type":"string","description":"Specifies the JSON Blob defining the Body of this Custom Action.\n"},"logicAppId":{"type":"string","description":"Specifies the ID of the Logic App Workflow. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the HTTP Action to be created within the Logic App Workflow. Changing this forces a new resource to be created.\n\n\u003e **NOTE:** This name must be unique across all Actions within the Logic App Workflow.\n","willReplaceOnChanges":true}},"requiredInputs":["body","logicAppId"],"stateInputs":{"description":"Input properties used for looking up and filtering ActionCustom resources.\n","properties":{"body":{"type":"string","description":"Specifies the JSON Blob defining the Body of this Custom Action.\n"},"logicAppId":{"type":"string","description":"Specifies the ID of the Logic App Workflow. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the HTTP Action to be created within the Logic App Workflow. Changing this forces a new resource to be created.\n\n\u003e **NOTE:** This name must be unique across all Actions within the Logic App Workflow.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:logicapps/actionHttp:ActionHttp":{"description":"Manages an HTTP Action within a Logic App Workflow\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"workflow-resources\",\n    location: \"West Europe\",\n});\nconst exampleWorkflow = new azure.logicapps.Workflow(\"example\", {\n    name: \"workflow1\",\n    location: example.location,\n    resourceGroupName: example.name,\n});\nconst exampleActionHttp = new azure.logicapps.ActionHttp(\"example\", {\n    name: \"webhook\",\n    logicAppId: exampleWorkflow.id,\n    method: \"GET\",\n    uri: \"http://example.com/some-webhook\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"workflow-resources\",\n    location=\"West Europe\")\nexample_workflow = azure.logicapps.Workflow(\"example\",\n    name=\"workflow1\",\n    location=example.location,\n    resource_group_name=example.name)\nexample_action_http = azure.logicapps.ActionHttp(\"example\",\n    name=\"webhook\",\n    logic_app_id=example_workflow.id,\n    method=\"GET\",\n    uri=\"http://example.com/some-webhook\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"workflow-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleWorkflow = new Azure.LogicApps.Workflow(\"example\", new()\n    {\n        Name = \"workflow1\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n    });\n\n    var exampleActionHttp = new Azure.LogicApps.ActionHttp(\"example\", new()\n    {\n        Name = \"webhook\",\n        LogicAppId = exampleWorkflow.Id,\n        Method = \"GET\",\n        Uri = \"http://example.com/some-webhook\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/logicapps\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"workflow-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleWorkflow, err := logicapps.NewWorkflow(ctx, \"example\", \u0026logicapps.WorkflowArgs{\n\t\t\tName:              pulumi.String(\"workflow1\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = logicapps.NewActionHttp(ctx, \"example\", \u0026logicapps.ActionHttpArgs{\n\t\t\tName:       pulumi.String(\"webhook\"),\n\t\t\tLogicAppId: exampleWorkflow.ID(),\n\t\t\tMethod:     pulumi.String(\"GET\"),\n\t\t\tUri:        pulumi.String(\"http://example.com/some-webhook\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.logicapps.Workflow;\nimport com.pulumi.azure.logicapps.WorkflowArgs;\nimport com.pulumi.azure.logicapps.ActionHttp;\nimport com.pulumi.azure.logicapps.ActionHttpArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"workflow-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleWorkflow = new Workflow(\"exampleWorkflow\", WorkflowArgs.builder()\n            .name(\"workflow1\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .build());\n\n        var exampleActionHttp = new ActionHttp(\"exampleActionHttp\", ActionHttpArgs.builder()\n            .name(\"webhook\")\n            .logicAppId(exampleWorkflow.id())\n            .method(\"GET\")\n            .uri(\"http://example.com/some-webhook\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: workflow-resources\n      location: West Europe\n  exampleWorkflow:\n    type: azure:logicapps:Workflow\n    name: example\n    properties:\n      name: workflow1\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n  exampleActionHttp:\n    type: azure:logicapps:ActionHttp\n    name: example\n    properties:\n      name: webhook\n      logicAppId: ${exampleWorkflow.id}\n      method: GET\n      uri: http://example.com/some-webhook\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nLogic App HTTP Actions can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:logicapps/actionHttp:ActionHttp webhook1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Logic/workflows/workflow1/actions/webhook1\n```\n\n\u003e **NOTE:** This ID is unique to this provider and doesn't directly match to any other resource. To compose this ID, you can take the ID Logic App Workflow and append `/actions/{name of the action}`.\n\n","properties":{"body":{"type":"string","description":"Specifies the HTTP Body that should be sent to the \u003cspan pulumi-lang-nodejs=\"`uri`\" pulumi-lang-dotnet=\"`Uri`\" pulumi-lang-go=\"`uri`\" pulumi-lang-python=\"`uri`\" pulumi-lang-yaml=\"`uri`\" pulumi-lang-java=\"`uri`\"\u003e`uri`\u003c/span\u003e when this HTTP Action is triggered.\n"},"headers":{"type":"object","additionalProperties":{"type":"string"},"description":"Specifies a Map of Key-Value Pairs that should be sent to the \u003cspan pulumi-lang-nodejs=\"`uri`\" pulumi-lang-dotnet=\"`Uri`\" pulumi-lang-go=\"`uri`\" pulumi-lang-python=\"`uri`\" pulumi-lang-yaml=\"`uri`\" pulumi-lang-java=\"`uri`\"\u003e`uri`\u003c/span\u003e when this HTTP Action is triggered.\n"},"logicAppId":{"type":"string","description":"Specifies the ID of the Logic App Workflow. Changing this forces a new resource to be created.\n"},"method":{"type":"string","description":"Specifies the HTTP Method which should be used for this HTTP Action. Possible values include `DELETE`, `GET`, `PATCH`, `POST` and `PUT`.\n"},"name":{"type":"string","description":"Specifies the name of the HTTP Action to be created within the Logic App Workflow. Changing this forces a new resource to be created.\n\n\u003e **NOTE:** This name must be unique across all Actions within the Logic App Workflow.\n"},"queries":{"type":"object","additionalProperties":{"type":"string"},"description":"Specifies a Map of Key-Value Pairs that should be sent to the \u003cspan pulumi-lang-nodejs=\"`uri`\" pulumi-lang-dotnet=\"`Uri`\" pulumi-lang-go=\"`uri`\" pulumi-lang-python=\"`uri`\" pulumi-lang-yaml=\"`uri`\" pulumi-lang-java=\"`uri`\"\u003e`uri`\u003c/span\u003e when this HTTP Action is triggered.\n"},"runAfters":{"type":"array","items":{"$ref":"#/types/azure:logicapps/ActionHttpRunAfter:ActionHttpRunAfter"},"description":"Specifies the place of the HTTP Action in the Logic App Workflow. If not specified, the HTTP Action is right after the Trigger. A \u003cspan pulumi-lang-nodejs=\"`runAfter`\" pulumi-lang-dotnet=\"`RunAfter`\" pulumi-lang-go=\"`runAfter`\" pulumi-lang-python=\"`run_after`\" pulumi-lang-yaml=\"`runAfter`\" pulumi-lang-java=\"`runAfter`\"\u003e`run_after`\u003c/span\u003e block is as defined below.\n"},"uri":{"type":"string","description":"Specifies the URI which will be called when this HTTP Action is triggered.\n"}},"required":["logicAppId","method","name","uri"],"inputProperties":{"body":{"type":"string","description":"Specifies the HTTP Body that should be sent to the \u003cspan pulumi-lang-nodejs=\"`uri`\" pulumi-lang-dotnet=\"`Uri`\" pulumi-lang-go=\"`uri`\" pulumi-lang-python=\"`uri`\" pulumi-lang-yaml=\"`uri`\" pulumi-lang-java=\"`uri`\"\u003e`uri`\u003c/span\u003e when this HTTP Action is triggered.\n"},"headers":{"type":"object","additionalProperties":{"type":"string"},"description":"Specifies a Map of Key-Value Pairs that should be sent to the \u003cspan pulumi-lang-nodejs=\"`uri`\" pulumi-lang-dotnet=\"`Uri`\" pulumi-lang-go=\"`uri`\" pulumi-lang-python=\"`uri`\" pulumi-lang-yaml=\"`uri`\" pulumi-lang-java=\"`uri`\"\u003e`uri`\u003c/span\u003e when this HTTP Action is triggered.\n"},"logicAppId":{"type":"string","description":"Specifies the ID of the Logic App Workflow. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"method":{"type":"string","description":"Specifies the HTTP Method which should be used for this HTTP Action. Possible values include `DELETE`, `GET`, `PATCH`, `POST` and `PUT`.\n"},"name":{"type":"string","description":"Specifies the name of the HTTP Action to be created within the Logic App Workflow. Changing this forces a new resource to be created.\n\n\u003e **NOTE:** This name must be unique across all Actions within the Logic App Workflow.\n","willReplaceOnChanges":true},"queries":{"type":"object","additionalProperties":{"type":"string"},"description":"Specifies a Map of Key-Value Pairs that should be sent to the \u003cspan pulumi-lang-nodejs=\"`uri`\" pulumi-lang-dotnet=\"`Uri`\" pulumi-lang-go=\"`uri`\" pulumi-lang-python=\"`uri`\" pulumi-lang-yaml=\"`uri`\" pulumi-lang-java=\"`uri`\"\u003e`uri`\u003c/span\u003e when this HTTP Action is triggered.\n"},"runAfters":{"type":"array","items":{"$ref":"#/types/azure:logicapps/ActionHttpRunAfter:ActionHttpRunAfter"},"description":"Specifies the place of the HTTP Action in the Logic App Workflow. If not specified, the HTTP Action is right after the Trigger. A \u003cspan pulumi-lang-nodejs=\"`runAfter`\" pulumi-lang-dotnet=\"`RunAfter`\" pulumi-lang-go=\"`runAfter`\" pulumi-lang-python=\"`run_after`\" pulumi-lang-yaml=\"`runAfter`\" pulumi-lang-java=\"`runAfter`\"\u003e`run_after`\u003c/span\u003e block is as defined below.\n"},"uri":{"type":"string","description":"Specifies the URI which will be called when this HTTP Action is triggered.\n"}},"requiredInputs":["logicAppId","method","uri"],"stateInputs":{"description":"Input properties used for looking up and filtering ActionHttp resources.\n","properties":{"body":{"type":"string","description":"Specifies the HTTP Body that should be sent to the \u003cspan pulumi-lang-nodejs=\"`uri`\" pulumi-lang-dotnet=\"`Uri`\" pulumi-lang-go=\"`uri`\" pulumi-lang-python=\"`uri`\" pulumi-lang-yaml=\"`uri`\" pulumi-lang-java=\"`uri`\"\u003e`uri`\u003c/span\u003e when this HTTP Action is triggered.\n"},"headers":{"type":"object","additionalProperties":{"type":"string"},"description":"Specifies a Map of Key-Value Pairs that should be sent to the \u003cspan pulumi-lang-nodejs=\"`uri`\" pulumi-lang-dotnet=\"`Uri`\" pulumi-lang-go=\"`uri`\" pulumi-lang-python=\"`uri`\" pulumi-lang-yaml=\"`uri`\" pulumi-lang-java=\"`uri`\"\u003e`uri`\u003c/span\u003e when this HTTP Action is triggered.\n"},"logicAppId":{"type":"string","description":"Specifies the ID of the Logic App Workflow. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"method":{"type":"string","description":"Specifies the HTTP Method which should be used for this HTTP Action. Possible values include `DELETE`, `GET`, `PATCH`, `POST` and `PUT`.\n"},"name":{"type":"string","description":"Specifies the name of the HTTP Action to be created within the Logic App Workflow. Changing this forces a new resource to be created.\n\n\u003e **NOTE:** This name must be unique across all Actions within the Logic App Workflow.\n","willReplaceOnChanges":true},"queries":{"type":"object","additionalProperties":{"type":"string"},"description":"Specifies a Map of Key-Value Pairs that should be sent to the \u003cspan pulumi-lang-nodejs=\"`uri`\" pulumi-lang-dotnet=\"`Uri`\" pulumi-lang-go=\"`uri`\" pulumi-lang-python=\"`uri`\" pulumi-lang-yaml=\"`uri`\" pulumi-lang-java=\"`uri`\"\u003e`uri`\u003c/span\u003e when this HTTP Action is triggered.\n"},"runAfters":{"type":"array","items":{"$ref":"#/types/azure:logicapps/ActionHttpRunAfter:ActionHttpRunAfter"},"description":"Specifies the place of the HTTP Action in the Logic App Workflow. If not specified, the HTTP Action is right after the Trigger. A \u003cspan pulumi-lang-nodejs=\"`runAfter`\" pulumi-lang-dotnet=\"`RunAfter`\" pulumi-lang-go=\"`runAfter`\" pulumi-lang-python=\"`run_after`\" pulumi-lang-yaml=\"`runAfter`\" pulumi-lang-java=\"`runAfter`\"\u003e`run_after`\u003c/span\u003e block is as defined below.\n"},"uri":{"type":"string","description":"Specifies the URI which will be called when this HTTP Action is triggered.\n"}},"type":"object"}},"azure:logicapps/integrationAccount:IntegrationAccount":{"description":"Manages a Logic App Integration Account.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleIntegrationAccount = new azure.logicapps.IntegrationAccount(\"example\", {\n    name: \"example-ia\",\n    resourceGroupName: example.name,\n    location: example.location,\n    skuName: \"Standard\",\n    tags: {\n        foo: \"bar\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_integration_account = azure.logicapps.IntegrationAccount(\"example\",\n    name=\"example-ia\",\n    resource_group_name=example.name,\n    location=example.location,\n    sku_name=\"Standard\",\n    tags={\n        \"foo\": \"bar\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleIntegrationAccount = new Azure.LogicApps.IntegrationAccount(\"example\", new()\n    {\n        Name = \"example-ia\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        SkuName = \"Standard\",\n        Tags = \n        {\n            { \"foo\", \"bar\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/logicapps\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = logicapps.NewIntegrationAccount(ctx, \"example\", \u0026logicapps.IntegrationAccountArgs{\n\t\t\tName:              pulumi.String(\"example-ia\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tSkuName:           pulumi.String(\"Standard\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"foo\": pulumi.String(\"bar\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.logicapps.IntegrationAccount;\nimport com.pulumi.azure.logicapps.IntegrationAccountArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleIntegrationAccount = new IntegrationAccount(\"exampleIntegrationAccount\", IntegrationAccountArgs.builder()\n            .name(\"example-ia\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .skuName(\"Standard\")\n            .tags(Map.of(\"foo\", \"bar\"))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleIntegrationAccount:\n    type: azure:logicapps:IntegrationAccount\n    name: example\n    properties:\n      name: example-ia\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      skuName: Standard\n      tags:\n        foo: bar\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Logic` - 2019-05-01\n\n## Import\n\nLogic App Integration Accounts can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:logicapps/integrationAccount:IntegrationAccount example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Logic/integrationAccounts/account1\n```\n\n","properties":{"integrationServiceEnvironmentId":{"type":"string","description":"The resource ID of the Integration Service Environment. Changing this forces a new Logic App Integration Account to be created.\n"},"location":{"type":"string","description":"The Azure Region where the Logic App Integration Account should exist. Changing this forces a new Logic App Integration Account to be created.\n"},"name":{"type":"string","description":"The name which should be used for this Logic App Integration Account. Changing this forces a new Logic App Integration Account to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Logic App Integration Account should exist. Changing this forces a new Logic App Integration Account to be created.\n"},"skuName":{"type":"string","description":"The SKU name of the Logic App Integration Account. Possible Values are `Basic`, `Free` and `Standard`.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Logic App Integration Account.\n"}},"required":["location","name","resourceGroupName","skuName"],"inputProperties":{"integrationServiceEnvironmentId":{"type":"string","description":"The resource ID of the Integration Service Environment. Changing this forces a new Logic App Integration Account to be created.\n","willReplaceOnChanges":true},"location":{"type":"string","description":"The Azure Region where the Logic App Integration Account should exist. Changing this forces a new Logic App Integration Account to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Logic App Integration Account. Changing this forces a new Logic App Integration Account to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Logic App Integration Account should exist. Changing this forces a new Logic App Integration Account to be created.\n","willReplaceOnChanges":true},"skuName":{"type":"string","description":"The SKU name of the Logic App Integration Account. Possible Values are `Basic`, `Free` and `Standard`.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Logic App Integration Account.\n"}},"requiredInputs":["resourceGroupName","skuName"],"stateInputs":{"description":"Input properties used for looking up and filtering IntegrationAccount resources.\n","properties":{"integrationServiceEnvironmentId":{"type":"string","description":"The resource ID of the Integration Service Environment. Changing this forces a new Logic App Integration Account to be created.\n","willReplaceOnChanges":true},"location":{"type":"string","description":"The Azure Region where the Logic App Integration Account should exist. Changing this forces a new Logic App Integration Account to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Logic App Integration Account. Changing this forces a new Logic App Integration Account to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Logic App Integration Account should exist. Changing this forces a new Logic App Integration Account to be created.\n","willReplaceOnChanges":true},"skuName":{"type":"string","description":"The SKU name of the Logic App Integration Account. Possible Values are `Basic`, `Free` and `Standard`.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Logic App Integration Account.\n"}},"type":"object"}},"azure:logicapps/integrationAccountAgreement:IntegrationAccountAgreement":{"description":"Manages a Logic App Integration Account Agreement.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\nimport * as std from \"@pulumi/std\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst test = new azure.logicapps.IntegrationAccount(\"test\", {\n    name: \"example-ia\",\n    location: example.location,\n    resourceGroupName: example.name,\n    skuName: \"Standard\",\n});\nconst host = new azure.logicapps.IntegrationAccountPartner(\"host\", {\n    name: \"example-hostpartner\",\n    resourceGroupName: example.name,\n    integrationAccountName: test.name,\n    businessIdentities: [{\n        qualifier: \"AS2Identity\",\n        value: \"FabrikamNY\",\n    }],\n});\nconst guest = new azure.logicapps.IntegrationAccountPartner(\"guest\", {\n    name: \"example-guestpartner\",\n    resourceGroupName: example.name,\n    integrationAccountName: test.name,\n    businessIdentities: [{\n        qualifier: \"AS2Identity\",\n        value: \"FabrikamDC\",\n    }],\n});\nconst testIntegrationAccountAgreement = new azure.logicapps.IntegrationAccountAgreement(\"test\", {\n    name: \"example-agreement\",\n    resourceGroupName: example.name,\n    integrationAccountName: test.name,\n    agreementType: \"AS2\",\n    hostPartnerName: host.name,\n    guestPartnerName: guest.name,\n    content: std.file({\n        input: \"testdata/integration_account_agreement_content_as2.json\",\n    }).then(invoke =\u003e invoke.result),\n    hostIdentity: {\n        qualifier: \"AS2Identity\",\n        value: \"FabrikamNY\",\n    },\n    guestIdentity: {\n        qualifier: \"AS2Identity\",\n        value: \"FabrikamDC\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\nimport pulumi_std as std\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\ntest = azure.logicapps.IntegrationAccount(\"test\",\n    name=\"example-ia\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku_name=\"Standard\")\nhost = azure.logicapps.IntegrationAccountPartner(\"host\",\n    name=\"example-hostpartner\",\n    resource_group_name=example.name,\n    integration_account_name=test.name,\n    business_identities=[{\n        \"qualifier\": \"AS2Identity\",\n        \"value\": \"FabrikamNY\",\n    }])\nguest = azure.logicapps.IntegrationAccountPartner(\"guest\",\n    name=\"example-guestpartner\",\n    resource_group_name=example.name,\n    integration_account_name=test.name,\n    business_identities=[{\n        \"qualifier\": \"AS2Identity\",\n        \"value\": \"FabrikamDC\",\n    }])\ntest_integration_account_agreement = azure.logicapps.IntegrationAccountAgreement(\"test\",\n    name=\"example-agreement\",\n    resource_group_name=example.name,\n    integration_account_name=test.name,\n    agreement_type=\"AS2\",\n    host_partner_name=host.name,\n    guest_partner_name=guest.name,\n    content=std.file(input=\"testdata/integration_account_agreement_content_as2.json\").result,\n    host_identity={\n        \"qualifier\": \"AS2Identity\",\n        \"value\": \"FabrikamNY\",\n    },\n    guest_identity={\n        \"qualifier\": \"AS2Identity\",\n        \"value\": \"FabrikamDC\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var test = new Azure.LogicApps.IntegrationAccount(\"test\", new()\n    {\n        Name = \"example-ia\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        SkuName = \"Standard\",\n    });\n\n    var host = new Azure.LogicApps.IntegrationAccountPartner(\"host\", new()\n    {\n        Name = \"example-hostpartner\",\n        ResourceGroupName = example.Name,\n        IntegrationAccountName = test.Name,\n        BusinessIdentities = new[]\n        {\n            new Azure.LogicApps.Inputs.IntegrationAccountPartnerBusinessIdentityArgs\n            {\n                Qualifier = \"AS2Identity\",\n                Value = \"FabrikamNY\",\n            },\n        },\n    });\n\n    var guest = new Azure.LogicApps.IntegrationAccountPartner(\"guest\", new()\n    {\n        Name = \"example-guestpartner\",\n        ResourceGroupName = example.Name,\n        IntegrationAccountName = test.Name,\n        BusinessIdentities = new[]\n        {\n            new Azure.LogicApps.Inputs.IntegrationAccountPartnerBusinessIdentityArgs\n            {\n                Qualifier = \"AS2Identity\",\n                Value = \"FabrikamDC\",\n            },\n        },\n    });\n\n    var testIntegrationAccountAgreement = new Azure.LogicApps.IntegrationAccountAgreement(\"test\", new()\n    {\n        Name = \"example-agreement\",\n        ResourceGroupName = example.Name,\n        IntegrationAccountName = test.Name,\n        AgreementType = \"AS2\",\n        HostPartnerName = host.Name,\n        GuestPartnerName = guest.Name,\n        Content = Std.File.Invoke(new()\n        {\n            Input = \"testdata/integration_account_agreement_content_as2.json\",\n        }).Apply(invoke =\u003e invoke.Result),\n        HostIdentity = new Azure.LogicApps.Inputs.IntegrationAccountAgreementHostIdentityArgs\n        {\n            Qualifier = \"AS2Identity\",\n            Value = \"FabrikamNY\",\n        },\n        GuestIdentity = new Azure.LogicApps.Inputs.IntegrationAccountAgreementGuestIdentityArgs\n        {\n            Qualifier = \"AS2Identity\",\n            Value = \"FabrikamDC\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/logicapps\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttest, err := logicapps.NewIntegrationAccount(ctx, \"test\", \u0026logicapps.IntegrationAccountArgs{\n\t\t\tName:              pulumi.String(\"example-ia\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSkuName:           pulumi.String(\"Standard\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\thost, err := logicapps.NewIntegrationAccountPartner(ctx, \"host\", \u0026logicapps.IntegrationAccountPartnerArgs{\n\t\t\tName:                   pulumi.String(\"example-hostpartner\"),\n\t\t\tResourceGroupName:      example.Name,\n\t\t\tIntegrationAccountName: test.Name,\n\t\t\tBusinessIdentities: logicapps.IntegrationAccountPartnerBusinessIdentityArray{\n\t\t\t\t\u0026logicapps.IntegrationAccountPartnerBusinessIdentityArgs{\n\t\t\t\t\tQualifier: pulumi.String(\"AS2Identity\"),\n\t\t\t\t\tValue:     pulumi.String(\"FabrikamNY\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tguest, err := logicapps.NewIntegrationAccountPartner(ctx, \"guest\", \u0026logicapps.IntegrationAccountPartnerArgs{\n\t\t\tName:                   pulumi.String(\"example-guestpartner\"),\n\t\t\tResourceGroupName:      example.Name,\n\t\t\tIntegrationAccountName: test.Name,\n\t\t\tBusinessIdentities: logicapps.IntegrationAccountPartnerBusinessIdentityArray{\n\t\t\t\t\u0026logicapps.IntegrationAccountPartnerBusinessIdentityArgs{\n\t\t\t\t\tQualifier: pulumi.String(\"AS2Identity\"),\n\t\t\t\t\tValue:     pulumi.String(\"FabrikamDC\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"testdata/integration_account_agreement_content_as2.json\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = logicapps.NewIntegrationAccountAgreement(ctx, \"test\", \u0026logicapps.IntegrationAccountAgreementArgs{\n\t\t\tName:                   pulumi.String(\"example-agreement\"),\n\t\t\tResourceGroupName:      example.Name,\n\t\t\tIntegrationAccountName: test.Name,\n\t\t\tAgreementType:          pulumi.String(\"AS2\"),\n\t\t\tHostPartnerName:        host.Name,\n\t\t\tGuestPartnerName:       guest.Name,\n\t\t\tContent:                pulumi.String(invokeFile.Result),\n\t\t\tHostIdentity: \u0026logicapps.IntegrationAccountAgreementHostIdentityArgs{\n\t\t\t\tQualifier: pulumi.String(\"AS2Identity\"),\n\t\t\t\tValue:     pulumi.String(\"FabrikamNY\"),\n\t\t\t},\n\t\t\tGuestIdentity: \u0026logicapps.IntegrationAccountAgreementGuestIdentityArgs{\n\t\t\t\tQualifier: pulumi.String(\"AS2Identity\"),\n\t\t\t\tValue:     pulumi.String(\"FabrikamDC\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.logicapps.IntegrationAccount;\nimport com.pulumi.azure.logicapps.IntegrationAccountArgs;\nimport com.pulumi.azure.logicapps.IntegrationAccountPartner;\nimport com.pulumi.azure.logicapps.IntegrationAccountPartnerArgs;\nimport com.pulumi.azure.logicapps.inputs.IntegrationAccountPartnerBusinessIdentityArgs;\nimport com.pulumi.azure.logicapps.IntegrationAccountAgreement;\nimport com.pulumi.azure.logicapps.IntegrationAccountAgreementArgs;\nimport com.pulumi.azure.logicapps.inputs.IntegrationAccountAgreementHostIdentityArgs;\nimport com.pulumi.azure.logicapps.inputs.IntegrationAccountAgreementGuestIdentityArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.FileArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var test = new IntegrationAccount(\"test\", IntegrationAccountArgs.builder()\n            .name(\"example-ia\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .skuName(\"Standard\")\n            .build());\n\n        var host = new IntegrationAccountPartner(\"host\", IntegrationAccountPartnerArgs.builder()\n            .name(\"example-hostpartner\")\n            .resourceGroupName(example.name())\n            .integrationAccountName(test.name())\n            .businessIdentities(IntegrationAccountPartnerBusinessIdentityArgs.builder()\n                .qualifier(\"AS2Identity\")\n                .value(\"FabrikamNY\")\n                .build())\n            .build());\n\n        var guest = new IntegrationAccountPartner(\"guest\", IntegrationAccountPartnerArgs.builder()\n            .name(\"example-guestpartner\")\n            .resourceGroupName(example.name())\n            .integrationAccountName(test.name())\n            .businessIdentities(IntegrationAccountPartnerBusinessIdentityArgs.builder()\n                .qualifier(\"AS2Identity\")\n                .value(\"FabrikamDC\")\n                .build())\n            .build());\n\n        var testIntegrationAccountAgreement = new IntegrationAccountAgreement(\"testIntegrationAccountAgreement\", IntegrationAccountAgreementArgs.builder()\n            .name(\"example-agreement\")\n            .resourceGroupName(example.name())\n            .integrationAccountName(test.name())\n            .agreementType(\"AS2\")\n            .hostPartnerName(host.name())\n            .guestPartnerName(guest.name())\n            .content(StdFunctions.file(FileArgs.builder()\n                .input(\"testdata/integration_account_agreement_content_as2.json\")\n                .build()).result())\n            .hostIdentity(IntegrationAccountAgreementHostIdentityArgs.builder()\n                .qualifier(\"AS2Identity\")\n                .value(\"FabrikamNY\")\n                .build())\n            .guestIdentity(IntegrationAccountAgreementGuestIdentityArgs.builder()\n                .qualifier(\"AS2Identity\")\n                .value(\"FabrikamDC\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  test:\n    type: azure:logicapps:IntegrationAccount\n    properties:\n      name: example-ia\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      skuName: Standard\n  host:\n    type: azure:logicapps:IntegrationAccountPartner\n    properties:\n      name: example-hostpartner\n      resourceGroupName: ${example.name}\n      integrationAccountName: ${test.name}\n      businessIdentities:\n        - qualifier: AS2Identity\n          value: FabrikamNY\n  guest:\n    type: azure:logicapps:IntegrationAccountPartner\n    properties:\n      name: example-guestpartner\n      resourceGroupName: ${example.name}\n      integrationAccountName: ${test.name}\n      businessIdentities:\n        - qualifier: AS2Identity\n          value: FabrikamDC\n  testIntegrationAccountAgreement:\n    type: azure:logicapps:IntegrationAccountAgreement\n    name: test\n    properties:\n      name: example-agreement\n      resourceGroupName: ${example.name}\n      integrationAccountName: ${test.name}\n      agreementType: AS2\n      hostPartnerName: ${host.name}\n      guestPartnerName: ${guest.name}\n      content:\n        fn::invoke:\n          function: std:file\n          arguments:\n            input: testdata/integration_account_agreement_content_as2.json\n          return: result\n      hostIdentity:\n        qualifier: AS2Identity\n        value: FabrikamNY\n      guestIdentity:\n        qualifier: AS2Identity\n        value: FabrikamDC\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Logic` - 2019-05-01\n\n## Import\n\nLogic App Integration Account Agreements can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:logicapps/integrationAccountAgreement:IntegrationAccountAgreement example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Logic/integrationAccounts/account1/agreements/agreement1\n```\n\n","properties":{"agreementType":{"type":"string","description":"The type of the Logic App Integration Account Agreement. Possible values are `AS2`, `X12` and `Edifact`.\n"},"content":{"type":"string","description":"The content of the Logic App Integration Account Agreement.\n"},"guestIdentity":{"$ref":"#/types/azure:logicapps/IntegrationAccountAgreementGuestIdentity:IntegrationAccountAgreementGuestIdentity","description":"A \u003cspan pulumi-lang-nodejs=\"`guestIdentity`\" pulumi-lang-dotnet=\"`GuestIdentity`\" pulumi-lang-go=\"`guestIdentity`\" pulumi-lang-python=\"`guest_identity`\" pulumi-lang-yaml=\"`guestIdentity`\" pulumi-lang-java=\"`guestIdentity`\"\u003e`guest_identity`\u003c/span\u003e block as documented below.\n"},"guestPartnerName":{"type":"string","description":"The name of the guest Logic App Integration Account Partner.\n"},"hostIdentity":{"$ref":"#/types/azure:logicapps/IntegrationAccountAgreementHostIdentity:IntegrationAccountAgreementHostIdentity","description":"A \u003cspan pulumi-lang-nodejs=\"`hostIdentity`\" pulumi-lang-dotnet=\"`HostIdentity`\" pulumi-lang-go=\"`hostIdentity`\" pulumi-lang-python=\"`host_identity`\" pulumi-lang-yaml=\"`hostIdentity`\" pulumi-lang-java=\"`hostIdentity`\"\u003e`host_identity`\u003c/span\u003e block as documented below.\n"},"hostPartnerName":{"type":"string","description":"The name of the host Logic App Integration Account Partner.\n"},"integrationAccountName":{"type":"string","description":"The name of the Logic App Integration Account. Changing this forces a new resource to be created.\n"},"metadata":{"type":"object","additionalProperties":{"type":"string"},"description":"The metadata of the Logic App Integration Account Agreement.\n"},"name":{"type":"string","description":"The name which should be used for this Logic App Integration Account Agreement. Changing this forces a new resource to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Logic App Integration Account Agreement should exist. Changing this forces a new resource to be created.\n"}},"required":["agreementType","content","guestIdentity","guestPartnerName","hostIdentity","hostPartnerName","integrationAccountName","name","resourceGroupName"],"inputProperties":{"agreementType":{"type":"string","description":"The type of the Logic App Integration Account Agreement. Possible values are `AS2`, `X12` and `Edifact`.\n"},"content":{"type":"string","description":"The content of the Logic App Integration Account Agreement.\n"},"guestIdentity":{"$ref":"#/types/azure:logicapps/IntegrationAccountAgreementGuestIdentity:IntegrationAccountAgreementGuestIdentity","description":"A \u003cspan pulumi-lang-nodejs=\"`guestIdentity`\" pulumi-lang-dotnet=\"`GuestIdentity`\" pulumi-lang-go=\"`guestIdentity`\" pulumi-lang-python=\"`guest_identity`\" pulumi-lang-yaml=\"`guestIdentity`\" pulumi-lang-java=\"`guestIdentity`\"\u003e`guest_identity`\u003c/span\u003e block as documented below.\n"},"guestPartnerName":{"type":"string","description":"The name of the guest Logic App Integration Account Partner.\n"},"hostIdentity":{"$ref":"#/types/azure:logicapps/IntegrationAccountAgreementHostIdentity:IntegrationAccountAgreementHostIdentity","description":"A \u003cspan pulumi-lang-nodejs=\"`hostIdentity`\" pulumi-lang-dotnet=\"`HostIdentity`\" pulumi-lang-go=\"`hostIdentity`\" pulumi-lang-python=\"`host_identity`\" pulumi-lang-yaml=\"`hostIdentity`\" pulumi-lang-java=\"`hostIdentity`\"\u003e`host_identity`\u003c/span\u003e block as documented below.\n"},"hostPartnerName":{"type":"string","description":"The name of the host Logic App Integration Account Partner.\n"},"integrationAccountName":{"type":"string","description":"The name of the Logic App Integration Account. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"metadata":{"type":"object","additionalProperties":{"type":"string"},"description":"The metadata of the Logic App Integration Account Agreement.\n"},"name":{"type":"string","description":"The name which should be used for this Logic App Integration Account Agreement. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Logic App Integration Account Agreement should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["agreementType","content","guestIdentity","guestPartnerName","hostIdentity","hostPartnerName","integrationAccountName","resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering IntegrationAccountAgreement resources.\n","properties":{"agreementType":{"type":"string","description":"The type of the Logic App Integration Account Agreement. Possible values are `AS2`, `X12` and `Edifact`.\n"},"content":{"type":"string","description":"The content of the Logic App Integration Account Agreement.\n"},"guestIdentity":{"$ref":"#/types/azure:logicapps/IntegrationAccountAgreementGuestIdentity:IntegrationAccountAgreementGuestIdentity","description":"A \u003cspan pulumi-lang-nodejs=\"`guestIdentity`\" pulumi-lang-dotnet=\"`GuestIdentity`\" pulumi-lang-go=\"`guestIdentity`\" pulumi-lang-python=\"`guest_identity`\" pulumi-lang-yaml=\"`guestIdentity`\" pulumi-lang-java=\"`guestIdentity`\"\u003e`guest_identity`\u003c/span\u003e block as documented below.\n"},"guestPartnerName":{"type":"string","description":"The name of the guest Logic App Integration Account Partner.\n"},"hostIdentity":{"$ref":"#/types/azure:logicapps/IntegrationAccountAgreementHostIdentity:IntegrationAccountAgreementHostIdentity","description":"A \u003cspan pulumi-lang-nodejs=\"`hostIdentity`\" pulumi-lang-dotnet=\"`HostIdentity`\" pulumi-lang-go=\"`hostIdentity`\" pulumi-lang-python=\"`host_identity`\" pulumi-lang-yaml=\"`hostIdentity`\" pulumi-lang-java=\"`hostIdentity`\"\u003e`host_identity`\u003c/span\u003e block as documented below.\n"},"hostPartnerName":{"type":"string","description":"The name of the host Logic App Integration Account Partner.\n"},"integrationAccountName":{"type":"string","description":"The name of the Logic App Integration Account. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"metadata":{"type":"object","additionalProperties":{"type":"string"},"description":"The metadata of the Logic App Integration Account Agreement.\n"},"name":{"type":"string","description":"The name which should be used for this Logic App Integration Account Agreement. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Logic App Integration Account Agreement should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:logicapps/integrationAccountAssembly:IntegrationAccountAssembly":{"description":"Manages a Logic App Integration Account Assembly.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\nimport * as std from \"@pulumi/std\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleIntegrationAccount = new azure.logicapps.IntegrationAccount(\"example\", {\n    name: \"example-ia\",\n    location: example.location,\n    resourceGroupName: example.name,\n    skuName: \"Basic\",\n});\nconst exampleIntegrationAccountAssembly = new azure.logicapps.IntegrationAccountAssembly(\"example\", {\n    name: \"example-assembly\",\n    resourceGroupName: example.name,\n    integrationAccountName: exampleIntegrationAccount.name,\n    assemblyName: \"TestAssembly\",\n    content: std.filebase64({\n        input: \"testdata/log4net.dll\",\n    }).then(invoke =\u003e invoke.result),\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\nimport pulumi_std as std\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_integration_account = azure.logicapps.IntegrationAccount(\"example\",\n    name=\"example-ia\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku_name=\"Basic\")\nexample_integration_account_assembly = azure.logicapps.IntegrationAccountAssembly(\"example\",\n    name=\"example-assembly\",\n    resource_group_name=example.name,\n    integration_account_name=example_integration_account.name,\n    assembly_name=\"TestAssembly\",\n    content=std.filebase64(input=\"testdata/log4net.dll\").result)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleIntegrationAccount = new Azure.LogicApps.IntegrationAccount(\"example\", new()\n    {\n        Name = \"example-ia\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        SkuName = \"Basic\",\n    });\n\n    var exampleIntegrationAccountAssembly = new Azure.LogicApps.IntegrationAccountAssembly(\"example\", new()\n    {\n        Name = \"example-assembly\",\n        ResourceGroupName = example.Name,\n        IntegrationAccountName = exampleIntegrationAccount.Name,\n        AssemblyName = \"TestAssembly\",\n        Content = Std.Filebase64.Invoke(new()\n        {\n            Input = \"testdata/log4net.dll\",\n        }).Apply(invoke =\u003e invoke.Result),\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/logicapps\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleIntegrationAccount, err := logicapps.NewIntegrationAccount(ctx, \"example\", \u0026logicapps.IntegrationAccountArgs{\n\t\t\tName:              pulumi.String(\"example-ia\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSkuName:           pulumi.String(\"Basic\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFilebase64, err := std.Filebase64(ctx, \u0026std.Filebase64Args{\n\t\t\tInput: \"testdata/log4net.dll\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = logicapps.NewIntegrationAccountAssembly(ctx, \"example\", \u0026logicapps.IntegrationAccountAssemblyArgs{\n\t\t\tName:                   pulumi.String(\"example-assembly\"),\n\t\t\tResourceGroupName:      example.Name,\n\t\t\tIntegrationAccountName: exampleIntegrationAccount.Name,\n\t\t\tAssemblyName:           pulumi.String(\"TestAssembly\"),\n\t\t\tContent:                pulumi.String(invokeFilebase64.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.logicapps.IntegrationAccount;\nimport com.pulumi.azure.logicapps.IntegrationAccountArgs;\nimport com.pulumi.azure.logicapps.IntegrationAccountAssembly;\nimport com.pulumi.azure.logicapps.IntegrationAccountAssemblyArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.Filebase64Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleIntegrationAccount = new IntegrationAccount(\"exampleIntegrationAccount\", IntegrationAccountArgs.builder()\n            .name(\"example-ia\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .skuName(\"Basic\")\n            .build());\n\n        var exampleIntegrationAccountAssembly = new IntegrationAccountAssembly(\"exampleIntegrationAccountAssembly\", IntegrationAccountAssemblyArgs.builder()\n            .name(\"example-assembly\")\n            .resourceGroupName(example.name())\n            .integrationAccountName(exampleIntegrationAccount.name())\n            .assemblyName(\"TestAssembly\")\n            .content(StdFunctions.filebase64(Filebase64Args.builder()\n                .input(\"testdata/log4net.dll\")\n                .build()).result())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleIntegrationAccount:\n    type: azure:logicapps:IntegrationAccount\n    name: example\n    properties:\n      name: example-ia\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      skuName: Basic\n  exampleIntegrationAccountAssembly:\n    type: azure:logicapps:IntegrationAccountAssembly\n    name: example\n    properties:\n      name: example-assembly\n      resourceGroupName: ${example.name}\n      integrationAccountName: ${exampleIntegrationAccount.name}\n      assemblyName: TestAssembly\n      content:\n        fn::invoke:\n          function: std:filebase64\n          arguments:\n            input: testdata/log4net.dll\n          return: result\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Logic` - 2019-05-01\n\n## Import\n\nLogic App Integration Account Assemblies can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:logicapps/integrationAccountAssembly:IntegrationAccountAssembly example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Logic/integrationAccounts/account1/assemblies/assembly1\n```\n\n","properties":{"assemblyName":{"type":"string","description":"The name of the Logic App Integration Account Assembly.\n"},"assemblyVersion":{"type":"string","description":"The version of the Logic App Integration Account Assembly. Defaults to `0.0.0.0`.\n"},"content":{"type":"string","description":"The content of the Logic App Integration Account Assembly.\n"},"contentLinkUri":{"type":"string","description":"The content link URI of the Logic App Integration Account Assembly.\n"},"integrationAccountName":{"type":"string","description":"The name of the Logic App Integration Account. Changing this forces a new resource to be created.\n"},"metadata":{"type":"object","additionalProperties":{"type":"string"},"description":"The metadata of the Logic App Integration Account Assembly.\n"},"name":{"type":"string","description":"The name which should be used for this Logic App Integration Account Assembly Artifact. Changing this forces a new resource to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Logic App Integration Account Assembly Artifact should exist. Changing this forces a new resource to be created.\n"}},"required":["assemblyName","integrationAccountName","name","resourceGroupName"],"inputProperties":{"assemblyName":{"type":"string","description":"The name of the Logic App Integration Account Assembly.\n"},"assemblyVersion":{"type":"string","description":"The version of the Logic App Integration Account Assembly. Defaults to `0.0.0.0`.\n"},"content":{"type":"string","description":"The content of the Logic App Integration Account Assembly.\n"},"contentLinkUri":{"type":"string","description":"The content link URI of the Logic App Integration Account Assembly.\n"},"integrationAccountName":{"type":"string","description":"The name of the Logic App Integration Account. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"metadata":{"type":"object","additionalProperties":{"type":"string"},"description":"The metadata of the Logic App Integration Account Assembly.\n"},"name":{"type":"string","description":"The name which should be used for this Logic App Integration Account Assembly Artifact. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Logic App Integration Account Assembly Artifact should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["assemblyName","integrationAccountName","resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering IntegrationAccountAssembly resources.\n","properties":{"assemblyName":{"type":"string","description":"The name of the Logic App Integration Account Assembly.\n"},"assemblyVersion":{"type":"string","description":"The version of the Logic App Integration Account Assembly. Defaults to `0.0.0.0`.\n"},"content":{"type":"string","description":"The content of the Logic App Integration Account Assembly.\n"},"contentLinkUri":{"type":"string","description":"The content link URI of the Logic App Integration Account Assembly.\n"},"integrationAccountName":{"type":"string","description":"The name of the Logic App Integration Account. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"metadata":{"type":"object","additionalProperties":{"type":"string"},"description":"The metadata of the Logic App Integration Account Assembly.\n"},"name":{"type":"string","description":"The name which should be used for this Logic App Integration Account Assembly Artifact. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Logic App Integration Account Assembly Artifact should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:logicapps/integrationAccountBatchConfiguration:IntegrationAccountBatchConfiguration":{"description":"Manages a Logic App Integration Account Batch Configuration.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleIntegrationAccount = new azure.logicapps.IntegrationAccount(\"example\", {\n    name: \"example-ia\",\n    location: example.location,\n    resourceGroupName: example.name,\n    skuName: \"Standard\",\n});\nconst exampleIntegrationAccountBatchConfiguration = new azure.logicapps.IntegrationAccountBatchConfiguration(\"example\", {\n    name: \"exampleiabc\",\n    resourceGroupName: example.name,\n    integrationAccountName: exampleIntegrationAccount.name,\n    batchGroupName: \"TestBatchGroup\",\n    releaseCriteria: {\n        messageCount: 80,\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_integration_account = azure.logicapps.IntegrationAccount(\"example\",\n    name=\"example-ia\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku_name=\"Standard\")\nexample_integration_account_batch_configuration = azure.logicapps.IntegrationAccountBatchConfiguration(\"example\",\n    name=\"exampleiabc\",\n    resource_group_name=example.name,\n    integration_account_name=example_integration_account.name,\n    batch_group_name=\"TestBatchGroup\",\n    release_criteria={\n        \"message_count\": 80,\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleIntegrationAccount = new Azure.LogicApps.IntegrationAccount(\"example\", new()\n    {\n        Name = \"example-ia\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        SkuName = \"Standard\",\n    });\n\n    var exampleIntegrationAccountBatchConfiguration = new Azure.LogicApps.IntegrationAccountBatchConfiguration(\"example\", new()\n    {\n        Name = \"exampleiabc\",\n        ResourceGroupName = example.Name,\n        IntegrationAccountName = exampleIntegrationAccount.Name,\n        BatchGroupName = \"TestBatchGroup\",\n        ReleaseCriteria = new Azure.LogicApps.Inputs.IntegrationAccountBatchConfigurationReleaseCriteriaArgs\n        {\n            MessageCount = 80,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/logicapps\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleIntegrationAccount, err := logicapps.NewIntegrationAccount(ctx, \"example\", \u0026logicapps.IntegrationAccountArgs{\n\t\t\tName:              pulumi.String(\"example-ia\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSkuName:           pulumi.String(\"Standard\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = logicapps.NewIntegrationAccountBatchConfiguration(ctx, \"example\", \u0026logicapps.IntegrationAccountBatchConfigurationArgs{\n\t\t\tName:                   pulumi.String(\"exampleiabc\"),\n\t\t\tResourceGroupName:      example.Name,\n\t\t\tIntegrationAccountName: exampleIntegrationAccount.Name,\n\t\t\tBatchGroupName:         pulumi.String(\"TestBatchGroup\"),\n\t\t\tReleaseCriteria: \u0026logicapps.IntegrationAccountBatchConfigurationReleaseCriteriaArgs{\n\t\t\t\tMessageCount: pulumi.Int(80),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.logicapps.IntegrationAccount;\nimport com.pulumi.azure.logicapps.IntegrationAccountArgs;\nimport com.pulumi.azure.logicapps.IntegrationAccountBatchConfiguration;\nimport com.pulumi.azure.logicapps.IntegrationAccountBatchConfigurationArgs;\nimport com.pulumi.azure.logicapps.inputs.IntegrationAccountBatchConfigurationReleaseCriteriaArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleIntegrationAccount = new IntegrationAccount(\"exampleIntegrationAccount\", IntegrationAccountArgs.builder()\n            .name(\"example-ia\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .skuName(\"Standard\")\n            .build());\n\n        var exampleIntegrationAccountBatchConfiguration = new IntegrationAccountBatchConfiguration(\"exampleIntegrationAccountBatchConfiguration\", IntegrationAccountBatchConfigurationArgs.builder()\n            .name(\"exampleiabc\")\n            .resourceGroupName(example.name())\n            .integrationAccountName(exampleIntegrationAccount.name())\n            .batchGroupName(\"TestBatchGroup\")\n            .releaseCriteria(IntegrationAccountBatchConfigurationReleaseCriteriaArgs.builder()\n                .messageCount(80)\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleIntegrationAccount:\n    type: azure:logicapps:IntegrationAccount\n    name: example\n    properties:\n      name: example-ia\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      skuName: Standard\n  exampleIntegrationAccountBatchConfiguration:\n    type: azure:logicapps:IntegrationAccountBatchConfiguration\n    name: example\n    properties:\n      name: exampleiabc\n      resourceGroupName: ${example.name}\n      integrationAccountName: ${exampleIntegrationAccount.name}\n      batchGroupName: TestBatchGroup\n      releaseCriteria:\n        messageCount: 80\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Logic` - 2019-05-01\n\n## Import\n\nLogic App Integration Account Batch Configurations can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:logicapps/integrationAccountBatchConfiguration:IntegrationAccountBatchConfiguration example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Logic/integrationAccounts/account1/batchConfigurations/batchConfiguration1\n```\n\n","properties":{"batchGroupName":{"type":"string","description":"The batch group name of the Logic App Integration Batch Configuration. Changing this forces a new resource to be created.\n"},"integrationAccountName":{"type":"string","description":"The name of the Logic App Integration Account. Changing this forces a new resource to be created.\n"},"metadata":{"type":"object","additionalProperties":{"type":"string"},"description":"A JSON mapping of any Metadata for this Logic App Integration Account Batch Configuration.\n"},"name":{"type":"string","description":"The name which should be used for this Logic App Integration Account Batch Configuration. Only Alphanumeric characters allowed. Changing this forces a new resource to be created.\n"},"releaseCriteria":{"$ref":"#/types/azure:logicapps/IntegrationAccountBatchConfigurationReleaseCriteria:IntegrationAccountBatchConfigurationReleaseCriteria","description":"A \u003cspan pulumi-lang-nodejs=\"`releaseCriteria`\" pulumi-lang-dotnet=\"`ReleaseCriteria`\" pulumi-lang-go=\"`releaseCriteria`\" pulumi-lang-python=\"`release_criteria`\" pulumi-lang-yaml=\"`releaseCriteria`\" pulumi-lang-java=\"`releaseCriteria`\"\u003e`release_criteria`\u003c/span\u003e block as documented below, which is used to select the criteria to meet before processing each batch.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Logic App Integration Account Batch Configuration should exist. Changing this forces a new resource to be created.\n"}},"required":["batchGroupName","integrationAccountName","name","releaseCriteria","resourceGroupName"],"inputProperties":{"batchGroupName":{"type":"string","description":"The batch group name of the Logic App Integration Batch Configuration. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"integrationAccountName":{"type":"string","description":"The name of the Logic App Integration Account. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"metadata":{"type":"object","additionalProperties":{"type":"string"},"description":"A JSON mapping of any Metadata for this Logic App Integration Account Batch Configuration.\n"},"name":{"type":"string","description":"The name which should be used for this Logic App Integration Account Batch Configuration. Only Alphanumeric characters allowed. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"releaseCriteria":{"$ref":"#/types/azure:logicapps/IntegrationAccountBatchConfigurationReleaseCriteria:IntegrationAccountBatchConfigurationReleaseCriteria","description":"A \u003cspan pulumi-lang-nodejs=\"`releaseCriteria`\" pulumi-lang-dotnet=\"`ReleaseCriteria`\" pulumi-lang-go=\"`releaseCriteria`\" pulumi-lang-python=\"`release_criteria`\" pulumi-lang-yaml=\"`releaseCriteria`\" pulumi-lang-java=\"`releaseCriteria`\"\u003e`release_criteria`\u003c/span\u003e block as documented below, which is used to select the criteria to meet before processing each batch.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Logic App Integration Account Batch Configuration should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["batchGroupName","integrationAccountName","releaseCriteria","resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering IntegrationAccountBatchConfiguration resources.\n","properties":{"batchGroupName":{"type":"string","description":"The batch group name of the Logic App Integration Batch Configuration. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"integrationAccountName":{"type":"string","description":"The name of the Logic App Integration Account. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"metadata":{"type":"object","additionalProperties":{"type":"string"},"description":"A JSON mapping of any Metadata for this Logic App Integration Account Batch Configuration.\n"},"name":{"type":"string","description":"The name which should be used for this Logic App Integration Account Batch Configuration. Only Alphanumeric characters allowed. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"releaseCriteria":{"$ref":"#/types/azure:logicapps/IntegrationAccountBatchConfigurationReleaseCriteria:IntegrationAccountBatchConfigurationReleaseCriteria","description":"A \u003cspan pulumi-lang-nodejs=\"`releaseCriteria`\" pulumi-lang-dotnet=\"`ReleaseCriteria`\" pulumi-lang-go=\"`releaseCriteria`\" pulumi-lang-python=\"`release_criteria`\" pulumi-lang-yaml=\"`releaseCriteria`\" pulumi-lang-java=\"`releaseCriteria`\"\u003e`release_criteria`\u003c/span\u003e block as documented below, which is used to select the criteria to meet before processing each batch.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Logic App Integration Account Batch Configuration should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:logicapps/integrationAccountCertificate:IntegrationAccountCertificate":{"description":"Manages a Logic App Integration Account Certificate.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleIntegrationAccount = new azure.logicapps.IntegrationAccount(\"example\", {\n    name: \"example-ia\",\n    location: example.location,\n    resourceGroupName: example.name,\n    skuName: \"Standard\",\n});\nconst exampleIntegrationAccountCertificate = new azure.logicapps.IntegrationAccountCertificate(\"example\", {\n    name: \"example-iac\",\n    resourceGroupName: example.name,\n    integrationAccountName: exampleIntegrationAccount.name,\n    publicCertificate: \"MIIDbzCCAlegAwIBAgIJAIzjRD36sIbbMA0GCSqGSIb3DQEBCwUAME0xCzAJBgNVBAYTAlVTMRMwEQYDVQQIDApTb21lLVN0YXRlMRIwEAYDVQQKDAl0ZXJyYWZvcm0xFTATBgNVBAMMDHRlcnJhZm9ybS5pbzAgFw0xNzA0MjEyMDA1MjdaGA8yMTE3MDMyODIwMDUyN1owTTELMAkGA1UEBhMCVVMxEzARBgNVBAgMClNvbWUtU3RhdGUxEjAQBgNVBAoMCXRlcnJhZm9ybTEVMBMGA1UEAwwMdGVycmFmb3JtLmlvMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA3L9L5szT4+FLykTFNyyPjy/k3BQTYAfRQzP2dhnsuUKm3cdPC0NyZ+wEXIUGhoDO2YG6EYChOl8fsDqDOjloSUGKqYw++nlpHIuUgJx8IxxG2XkALCjFU7EmF+w7kn76d0ezpEIYxnLP+KG2DVornoEt1aLhv1MLmpgEZZPhDbMSLhSYWeTVRMayXLwqtfgnDumQSB+8d/1JuJqrSI4pD12JozVThzb6hsjfb6RMX4epPmrGn0PbTPEEA6awmsxBCXB0s13nNQt/O0hLM2agwvAyozilQV+s616Ckgk6DJoUkqZhDy7vPYMIRSr98fBws6zkrV6tTLjmD8xAvobePQIDAQABo1AwTjAdBgNVHQ4EFgQUXIqO421zMMmbcRRX9wctZFCQuPIwHwYDVR0jBBgwFoAUXIqO421zMMmbcRRX9wctZFCQuPIwDAYDVR0TBAUwAwEB/zANBgkqhkiG9w0BAQsFAAOCAQEAr82NeT3BYJOKLlUL6Om5LjUF66ewcJjG9ltdvyQwVneMcq7t5UAPxgChzqNRVk4da8PzkXpjBJyWezHupdJNX3XqeUk2kSxqQ6/gmhqvfI3y7djrwoO6jvMEY26WqtkTNORWDP3THJJVimC3zV+KMU5UBVrEzhOVhHSU709lBP75o0BBn3xGsPqSq9k8IotIFfyAc6a+XP3+ZMpvh7wqAUml7vWa5wlcXExCx39h1balfDSLGNC4swWPCp9AMnQR0p+vMay9hNP1Eh+9QYUai14d5KS3cFV+KxE1cJR5HD/iLltnnOEbpMsB0eVOZWkFvE7Y5lW0oVSAfin5TwTJMQ==\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_integration_account = azure.logicapps.IntegrationAccount(\"example\",\n    name=\"example-ia\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku_name=\"Standard\")\nexample_integration_account_certificate = azure.logicapps.IntegrationAccountCertificate(\"example\",\n    name=\"example-iac\",\n    resource_group_name=example.name,\n    integration_account_name=example_integration_account.name,\n    public_certificate=\"MIIDbzCCAlegAwIBAgIJAIzjRD36sIbbMA0GCSqGSIb3DQEBCwUAME0xCzAJBgNVBAYTAlVTMRMwEQYDVQQIDApTb21lLVN0YXRlMRIwEAYDVQQKDAl0ZXJyYWZvcm0xFTATBgNVBAMMDHRlcnJhZm9ybS5pbzAgFw0xNzA0MjEyMDA1MjdaGA8yMTE3MDMyODIwMDUyN1owTTELMAkGA1UEBhMCVVMxEzARBgNVBAgMClNvbWUtU3RhdGUxEjAQBgNVBAoMCXRlcnJhZm9ybTEVMBMGA1UEAwwMdGVycmFmb3JtLmlvMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA3L9L5szT4+FLykTFNyyPjy/k3BQTYAfRQzP2dhnsuUKm3cdPC0NyZ+wEXIUGhoDO2YG6EYChOl8fsDqDOjloSUGKqYw++nlpHIuUgJx8IxxG2XkALCjFU7EmF+w7kn76d0ezpEIYxnLP+KG2DVornoEt1aLhv1MLmpgEZZPhDbMSLhSYWeTVRMayXLwqtfgnDumQSB+8d/1JuJqrSI4pD12JozVThzb6hsjfb6RMX4epPmrGn0PbTPEEA6awmsxBCXB0s13nNQt/O0hLM2agwvAyozilQV+s616Ckgk6DJoUkqZhDy7vPYMIRSr98fBws6zkrV6tTLjmD8xAvobePQIDAQABo1AwTjAdBgNVHQ4EFgQUXIqO421zMMmbcRRX9wctZFCQuPIwHwYDVR0jBBgwFoAUXIqO421zMMmbcRRX9wctZFCQuPIwDAYDVR0TBAUwAwEB/zANBgkqhkiG9w0BAQsFAAOCAQEAr82NeT3BYJOKLlUL6Om5LjUF66ewcJjG9ltdvyQwVneMcq7t5UAPxgChzqNRVk4da8PzkXpjBJyWezHupdJNX3XqeUk2kSxqQ6/gmhqvfI3y7djrwoO6jvMEY26WqtkTNORWDP3THJJVimC3zV+KMU5UBVrEzhOVhHSU709lBP75o0BBn3xGsPqSq9k8IotIFfyAc6a+XP3+ZMpvh7wqAUml7vWa5wlcXExCx39h1balfDSLGNC4swWPCp9AMnQR0p+vMay9hNP1Eh+9QYUai14d5KS3cFV+KxE1cJR5HD/iLltnnOEbpMsB0eVOZWkFvE7Y5lW0oVSAfin5TwTJMQ==\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleIntegrationAccount = new Azure.LogicApps.IntegrationAccount(\"example\", new()\n    {\n        Name = \"example-ia\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        SkuName = \"Standard\",\n    });\n\n    var exampleIntegrationAccountCertificate = new Azure.LogicApps.IntegrationAccountCertificate(\"example\", new()\n    {\n        Name = \"example-iac\",\n        ResourceGroupName = example.Name,\n        IntegrationAccountName = exampleIntegrationAccount.Name,\n        PublicCertificate = \"MIIDbzCCAlegAwIBAgIJAIzjRD36sIbbMA0GCSqGSIb3DQEBCwUAME0xCzAJBgNVBAYTAlVTMRMwEQYDVQQIDApTb21lLVN0YXRlMRIwEAYDVQQKDAl0ZXJyYWZvcm0xFTATBgNVBAMMDHRlcnJhZm9ybS5pbzAgFw0xNzA0MjEyMDA1MjdaGA8yMTE3MDMyODIwMDUyN1owTTELMAkGA1UEBhMCVVMxEzARBgNVBAgMClNvbWUtU3RhdGUxEjAQBgNVBAoMCXRlcnJhZm9ybTEVMBMGA1UEAwwMdGVycmFmb3JtLmlvMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA3L9L5szT4+FLykTFNyyPjy/k3BQTYAfRQzP2dhnsuUKm3cdPC0NyZ+wEXIUGhoDO2YG6EYChOl8fsDqDOjloSUGKqYw++nlpHIuUgJx8IxxG2XkALCjFU7EmF+w7kn76d0ezpEIYxnLP+KG2DVornoEt1aLhv1MLmpgEZZPhDbMSLhSYWeTVRMayXLwqtfgnDumQSB+8d/1JuJqrSI4pD12JozVThzb6hsjfb6RMX4epPmrGn0PbTPEEA6awmsxBCXB0s13nNQt/O0hLM2agwvAyozilQV+s616Ckgk6DJoUkqZhDy7vPYMIRSr98fBws6zkrV6tTLjmD8xAvobePQIDAQABo1AwTjAdBgNVHQ4EFgQUXIqO421zMMmbcRRX9wctZFCQuPIwHwYDVR0jBBgwFoAUXIqO421zMMmbcRRX9wctZFCQuPIwDAYDVR0TBAUwAwEB/zANBgkqhkiG9w0BAQsFAAOCAQEAr82NeT3BYJOKLlUL6Om5LjUF66ewcJjG9ltdvyQwVneMcq7t5UAPxgChzqNRVk4da8PzkXpjBJyWezHupdJNX3XqeUk2kSxqQ6/gmhqvfI3y7djrwoO6jvMEY26WqtkTNORWDP3THJJVimC3zV+KMU5UBVrEzhOVhHSU709lBP75o0BBn3xGsPqSq9k8IotIFfyAc6a+XP3+ZMpvh7wqAUml7vWa5wlcXExCx39h1balfDSLGNC4swWPCp9AMnQR0p+vMay9hNP1Eh+9QYUai14d5KS3cFV+KxE1cJR5HD/iLltnnOEbpMsB0eVOZWkFvE7Y5lW0oVSAfin5TwTJMQ==\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/logicapps\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleIntegrationAccount, err := logicapps.NewIntegrationAccount(ctx, \"example\", \u0026logicapps.IntegrationAccountArgs{\n\t\t\tName:              pulumi.String(\"example-ia\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSkuName:           pulumi.String(\"Standard\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = logicapps.NewIntegrationAccountCertificate(ctx, \"example\", \u0026logicapps.IntegrationAccountCertificateArgs{\n\t\t\tName:                   pulumi.String(\"example-iac\"),\n\t\t\tResourceGroupName:      example.Name,\n\t\t\tIntegrationAccountName: exampleIntegrationAccount.Name,\n\t\t\tPublicCertificate:      pulumi.String(\"MIIDbzCCAlegAwIBAgIJAIzjRD36sIbbMA0GCSqGSIb3DQEBCwUAME0xCzAJBgNVBAYTAlVTMRMwEQYDVQQIDApTb21lLVN0YXRlMRIwEAYDVQQKDAl0ZXJyYWZvcm0xFTATBgNVBAMMDHRlcnJhZm9ybS5pbzAgFw0xNzA0MjEyMDA1MjdaGA8yMTE3MDMyODIwMDUyN1owTTELMAkGA1UEBhMCVVMxEzARBgNVBAgMClNvbWUtU3RhdGUxEjAQBgNVBAoMCXRlcnJhZm9ybTEVMBMGA1UEAwwMdGVycmFmb3JtLmlvMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA3L9L5szT4+FLykTFNyyPjy/k3BQTYAfRQzP2dhnsuUKm3cdPC0NyZ+wEXIUGhoDO2YG6EYChOl8fsDqDOjloSUGKqYw++nlpHIuUgJx8IxxG2XkALCjFU7EmF+w7kn76d0ezpEIYxnLP+KG2DVornoEt1aLhv1MLmpgEZZPhDbMSLhSYWeTVRMayXLwqtfgnDumQSB+8d/1JuJqrSI4pD12JozVThzb6hsjfb6RMX4epPmrGn0PbTPEEA6awmsxBCXB0s13nNQt/O0hLM2agwvAyozilQV+s616Ckgk6DJoUkqZhDy7vPYMIRSr98fBws6zkrV6tTLjmD8xAvobePQIDAQABo1AwTjAdBgNVHQ4EFgQUXIqO421zMMmbcRRX9wctZFCQuPIwHwYDVR0jBBgwFoAUXIqO421zMMmbcRRX9wctZFCQuPIwDAYDVR0TBAUwAwEB/zANBgkqhkiG9w0BAQsFAAOCAQEAr82NeT3BYJOKLlUL6Om5LjUF66ewcJjG9ltdvyQwVneMcq7t5UAPxgChzqNRVk4da8PzkXpjBJyWezHupdJNX3XqeUk2kSxqQ6/gmhqvfI3y7djrwoO6jvMEY26WqtkTNORWDP3THJJVimC3zV+KMU5UBVrEzhOVhHSU709lBP75o0BBn3xGsPqSq9k8IotIFfyAc6a+XP3+ZMpvh7wqAUml7vWa5wlcXExCx39h1balfDSLGNC4swWPCp9AMnQR0p+vMay9hNP1Eh+9QYUai14d5KS3cFV+KxE1cJR5HD/iLltnnOEbpMsB0eVOZWkFvE7Y5lW0oVSAfin5TwTJMQ==\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.logicapps.IntegrationAccount;\nimport com.pulumi.azure.logicapps.IntegrationAccountArgs;\nimport com.pulumi.azure.logicapps.IntegrationAccountCertificate;\nimport com.pulumi.azure.logicapps.IntegrationAccountCertificateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleIntegrationAccount = new IntegrationAccount(\"exampleIntegrationAccount\", IntegrationAccountArgs.builder()\n            .name(\"example-ia\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .skuName(\"Standard\")\n            .build());\n\n        var exampleIntegrationAccountCertificate = new IntegrationAccountCertificate(\"exampleIntegrationAccountCertificate\", IntegrationAccountCertificateArgs.builder()\n            .name(\"example-iac\")\n            .resourceGroupName(example.name())\n            .integrationAccountName(exampleIntegrationAccount.name())\n            .publicCertificate(\"MIIDbzCCAlegAwIBAgIJAIzjRD36sIbbMA0GCSqGSIb3DQEBCwUAME0xCzAJBgNVBAYTAlVTMRMwEQYDVQQIDApTb21lLVN0YXRlMRIwEAYDVQQKDAl0ZXJyYWZvcm0xFTATBgNVBAMMDHRlcnJhZm9ybS5pbzAgFw0xNzA0MjEyMDA1MjdaGA8yMTE3MDMyODIwMDUyN1owTTELMAkGA1UEBhMCVVMxEzARBgNVBAgMClNvbWUtU3RhdGUxEjAQBgNVBAoMCXRlcnJhZm9ybTEVMBMGA1UEAwwMdGVycmFmb3JtLmlvMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA3L9L5szT4+FLykTFNyyPjy/k3BQTYAfRQzP2dhnsuUKm3cdPC0NyZ+wEXIUGhoDO2YG6EYChOl8fsDqDOjloSUGKqYw++nlpHIuUgJx8IxxG2XkALCjFU7EmF+w7kn76d0ezpEIYxnLP+KG2DVornoEt1aLhv1MLmpgEZZPhDbMSLhSYWeTVRMayXLwqtfgnDumQSB+8d/1JuJqrSI4pD12JozVThzb6hsjfb6RMX4epPmrGn0PbTPEEA6awmsxBCXB0s13nNQt/O0hLM2agwvAyozilQV+s616Ckgk6DJoUkqZhDy7vPYMIRSr98fBws6zkrV6tTLjmD8xAvobePQIDAQABo1AwTjAdBgNVHQ4EFgQUXIqO421zMMmbcRRX9wctZFCQuPIwHwYDVR0jBBgwFoAUXIqO421zMMmbcRRX9wctZFCQuPIwDAYDVR0TBAUwAwEB/zANBgkqhkiG9w0BAQsFAAOCAQEAr82NeT3BYJOKLlUL6Om5LjUF66ewcJjG9ltdvyQwVneMcq7t5UAPxgChzqNRVk4da8PzkXpjBJyWezHupdJNX3XqeUk2kSxqQ6/gmhqvfI3y7djrwoO6jvMEY26WqtkTNORWDP3THJJVimC3zV+KMU5UBVrEzhOVhHSU709lBP75o0BBn3xGsPqSq9k8IotIFfyAc6a+XP3+ZMpvh7wqAUml7vWa5wlcXExCx39h1balfDSLGNC4swWPCp9AMnQR0p+vMay9hNP1Eh+9QYUai14d5KS3cFV+KxE1cJR5HD/iLltnnOEbpMsB0eVOZWkFvE7Y5lW0oVSAfin5TwTJMQ==\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleIntegrationAccount:\n    type: azure:logicapps:IntegrationAccount\n    name: example\n    properties:\n      name: example-ia\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      skuName: Standard\n  exampleIntegrationAccountCertificate:\n    type: azure:logicapps:IntegrationAccountCertificate\n    name: example\n    properties:\n      name: example-iac\n      resourceGroupName: ${example.name}\n      integrationAccountName: ${exampleIntegrationAccount.name}\n      publicCertificate: MIIDbzCCAlegAwIBAgIJAIzjRD36sIbbMA0GCSqGSIb3DQEBCwUAME0xCzAJBgNVBAYTAlVTMRMwEQYDVQQIDApTb21lLVN0YXRlMRIwEAYDVQQKDAl0ZXJyYWZvcm0xFTATBgNVBAMMDHRlcnJhZm9ybS5pbzAgFw0xNzA0MjEyMDA1MjdaGA8yMTE3MDMyODIwMDUyN1owTTELMAkGA1UEBhMCVVMxEzARBgNVBAgMClNvbWUtU3RhdGUxEjAQBgNVBAoMCXRlcnJhZm9ybTEVMBMGA1UEAwwMdGVycmFmb3JtLmlvMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA3L9L5szT4+FLykTFNyyPjy/k3BQTYAfRQzP2dhnsuUKm3cdPC0NyZ+wEXIUGhoDO2YG6EYChOl8fsDqDOjloSUGKqYw++nlpHIuUgJx8IxxG2XkALCjFU7EmF+w7kn76d0ezpEIYxnLP+KG2DVornoEt1aLhv1MLmpgEZZPhDbMSLhSYWeTVRMayXLwqtfgnDumQSB+8d/1JuJqrSI4pD12JozVThzb6hsjfb6RMX4epPmrGn0PbTPEEA6awmsxBCXB0s13nNQt/O0hLM2agwvAyozilQV+s616Ckgk6DJoUkqZhDy7vPYMIRSr98fBws6zkrV6tTLjmD8xAvobePQIDAQABo1AwTjAdBgNVHQ4EFgQUXIqO421zMMmbcRRX9wctZFCQuPIwHwYDVR0jBBgwFoAUXIqO421zMMmbcRRX9wctZFCQuPIwDAYDVR0TBAUwAwEB/zANBgkqhkiG9w0BAQsFAAOCAQEAr82NeT3BYJOKLlUL6Om5LjUF66ewcJjG9ltdvyQwVneMcq7t5UAPxgChzqNRVk4da8PzkXpjBJyWezHupdJNX3XqeUk2kSxqQ6/gmhqvfI3y7djrwoO6jvMEY26WqtkTNORWDP3THJJVimC3zV+KMU5UBVrEzhOVhHSU709lBP75o0BBn3xGsPqSq9k8IotIFfyAc6a+XP3+ZMpvh7wqAUml7vWa5wlcXExCx39h1balfDSLGNC4swWPCp9AMnQR0p+vMay9hNP1Eh+9QYUai14d5KS3cFV+KxE1cJR5HD/iLltnnOEbpMsB0eVOZWkFvE7Y5lW0oVSAfin5TwTJMQ==\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Logic` - 2019-05-01\n\n## Import\n\nLogic App Integration Account Certificates can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:logicapps/integrationAccountCertificate:IntegrationAccountCertificate example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Logic/integrationAccounts/account1/certificates/certificate1\n```\n\n","properties":{"integrationAccountName":{"type":"string","description":"The name of the Logic App Integration Account. Changing this forces a new Logic App Integration Account Certificate to be created.\n"},"keyVaultKey":{"$ref":"#/types/azure:logicapps/IntegrationAccountCertificateKeyVaultKey:IntegrationAccountCertificateKeyVaultKey","description":"A \u003cspan pulumi-lang-nodejs=\"`keyVaultKey`\" pulumi-lang-dotnet=\"`KeyVaultKey`\" pulumi-lang-go=\"`keyVaultKey`\" pulumi-lang-python=\"`key_vault_key`\" pulumi-lang-yaml=\"`keyVaultKey`\" pulumi-lang-java=\"`keyVaultKey`\"\u003e`key_vault_key`\u003c/span\u003e block as documented below.\n"},"metadata":{"type":"string","description":"A JSON mapping of any Metadata for this Logic App Integration Account Certificate.\n"},"name":{"type":"string","description":"The name which should be used for this Logic App Integration Account Certificate. Changing this forces a new Logic App Integration Account Certificate to be created.\n"},"publicCertificate":{"type":"string","description":"The public certificate for the Logic App Integration Account Certificate.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Logic App Integration Account Certificate should exist. Changing this forces a new Logic App Integration Account Certificate to be created.\n"}},"required":["integrationAccountName","name","resourceGroupName"],"inputProperties":{"integrationAccountName":{"type":"string","description":"The name of the Logic App Integration Account. Changing this forces a new Logic App Integration Account Certificate to be created.\n","willReplaceOnChanges":true},"keyVaultKey":{"$ref":"#/types/azure:logicapps/IntegrationAccountCertificateKeyVaultKey:IntegrationAccountCertificateKeyVaultKey","description":"A \u003cspan pulumi-lang-nodejs=\"`keyVaultKey`\" pulumi-lang-dotnet=\"`KeyVaultKey`\" pulumi-lang-go=\"`keyVaultKey`\" pulumi-lang-python=\"`key_vault_key`\" pulumi-lang-yaml=\"`keyVaultKey`\" pulumi-lang-java=\"`keyVaultKey`\"\u003e`key_vault_key`\u003c/span\u003e block as documented below.\n"},"metadata":{"type":"string","description":"A JSON mapping of any Metadata for this Logic App Integration Account Certificate.\n"},"name":{"type":"string","description":"The name which should be used for this Logic App Integration Account Certificate. Changing this forces a new Logic App Integration Account Certificate to be created.\n","willReplaceOnChanges":true},"publicCertificate":{"type":"string","description":"The public certificate for the Logic App Integration Account Certificate.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Logic App Integration Account Certificate should exist. Changing this forces a new Logic App Integration Account Certificate to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["integrationAccountName","resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering IntegrationAccountCertificate resources.\n","properties":{"integrationAccountName":{"type":"string","description":"The name of the Logic App Integration Account. Changing this forces a new Logic App Integration Account Certificate to be created.\n","willReplaceOnChanges":true},"keyVaultKey":{"$ref":"#/types/azure:logicapps/IntegrationAccountCertificateKeyVaultKey:IntegrationAccountCertificateKeyVaultKey","description":"A \u003cspan pulumi-lang-nodejs=\"`keyVaultKey`\" pulumi-lang-dotnet=\"`KeyVaultKey`\" pulumi-lang-go=\"`keyVaultKey`\" pulumi-lang-python=\"`key_vault_key`\" pulumi-lang-yaml=\"`keyVaultKey`\" pulumi-lang-java=\"`keyVaultKey`\"\u003e`key_vault_key`\u003c/span\u003e block as documented below.\n"},"metadata":{"type":"string","description":"A JSON mapping of any Metadata for this Logic App Integration Account Certificate.\n"},"name":{"type":"string","description":"The name which should be used for this Logic App Integration Account Certificate. Changing this forces a new Logic App Integration Account Certificate to be created.\n","willReplaceOnChanges":true},"publicCertificate":{"type":"string","description":"The public certificate for the Logic App Integration Account Certificate.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Logic App Integration Account Certificate should exist. Changing this forces a new Logic App Integration Account Certificate to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:logicapps/integrationAccountMap:IntegrationAccountMap":{"description":"Manages a Logic App Integration Account Map.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\nimport * as std from \"@pulumi/std\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleIntegrationAccount = new azure.logicapps.IntegrationAccount(\"example\", {\n    name: \"example-ia\",\n    location: example.location,\n    resourceGroupName: example.name,\n    skuName: \"Standard\",\n});\nconst exampleIntegrationAccountMap = new azure.logicapps.IntegrationAccountMap(\"example\", {\n    name: \"example-iamap\",\n    resourceGroupName: example.name,\n    integrationAccountName: exampleIntegrationAccount.name,\n    mapType: \"Xslt\",\n    content: std.file({\n        input: \"testdata/integration_account_map_content.xsd\",\n    }).then(invoke =\u003e invoke.result),\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\nimport pulumi_std as std\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_integration_account = azure.logicapps.IntegrationAccount(\"example\",\n    name=\"example-ia\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku_name=\"Standard\")\nexample_integration_account_map = azure.logicapps.IntegrationAccountMap(\"example\",\n    name=\"example-iamap\",\n    resource_group_name=example.name,\n    integration_account_name=example_integration_account.name,\n    map_type=\"Xslt\",\n    content=std.file(input=\"testdata/integration_account_map_content.xsd\").result)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleIntegrationAccount = new Azure.LogicApps.IntegrationAccount(\"example\", new()\n    {\n        Name = \"example-ia\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        SkuName = \"Standard\",\n    });\n\n    var exampleIntegrationAccountMap = new Azure.LogicApps.IntegrationAccountMap(\"example\", new()\n    {\n        Name = \"example-iamap\",\n        ResourceGroupName = example.Name,\n        IntegrationAccountName = exampleIntegrationAccount.Name,\n        MapType = \"Xslt\",\n        Content = Std.File.Invoke(new()\n        {\n            Input = \"testdata/integration_account_map_content.xsd\",\n        }).Apply(invoke =\u003e invoke.Result),\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/logicapps\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleIntegrationAccount, err := logicapps.NewIntegrationAccount(ctx, \"example\", \u0026logicapps.IntegrationAccountArgs{\n\t\t\tName:              pulumi.String(\"example-ia\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSkuName:           pulumi.String(\"Standard\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"testdata/integration_account_map_content.xsd\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = logicapps.NewIntegrationAccountMapResource(ctx, \"example\", \u0026logicapps.IntegrationAccountMapResourceArgs{\n\t\t\tName:                   pulumi.String(\"example-iamap\"),\n\t\t\tResourceGroupName:      example.Name,\n\t\t\tIntegrationAccountName: exampleIntegrationAccount.Name,\n\t\t\tMapType:                pulumi.String(\"Xslt\"),\n\t\t\tContent:                pulumi.String(invokeFile.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.logicapps.IntegrationAccount;\nimport com.pulumi.azure.logicapps.IntegrationAccountArgs;\nimport com.pulumi.azure.logicapps.IntegrationAccountMap;\nimport com.pulumi.azure.logicapps.IntegrationAccountMapArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.FileArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleIntegrationAccount = new IntegrationAccount(\"exampleIntegrationAccount\", IntegrationAccountArgs.builder()\n            .name(\"example-ia\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .skuName(\"Standard\")\n            .build());\n\n        var exampleIntegrationAccountMap = new IntegrationAccountMap(\"exampleIntegrationAccountMap\", IntegrationAccountMapArgs.builder()\n            .name(\"example-iamap\")\n            .resourceGroupName(example.name())\n            .integrationAccountName(exampleIntegrationAccount.name())\n            .mapType(\"Xslt\")\n            .content(StdFunctions.file(FileArgs.builder()\n                .input(\"testdata/integration_account_map_content.xsd\")\n                .build()).result())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleIntegrationAccount:\n    type: azure:logicapps:IntegrationAccount\n    name: example\n    properties:\n      name: example-ia\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      skuName: Standard\n  exampleIntegrationAccountMap:\n    type: azure:logicapps:IntegrationAccountMap\n    name: example\n    properties:\n      name: example-iamap\n      resourceGroupName: ${example.name}\n      integrationAccountName: ${exampleIntegrationAccount.name}\n      mapType: Xslt\n      content:\n        fn::invoke:\n          function: std:file\n          arguments:\n            input: testdata/integration_account_map_content.xsd\n          return: result\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Logic` - 2019-05-01\n\n## Import\n\nLogic App Integration Account Maps can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:logicapps/integrationAccountMap:IntegrationAccountMap example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Logic/integrationAccounts/account1/maps/map1\n```\n\n","properties":{"content":{"type":"string","description":"The content of the Logic App Integration Account Map.\n"},"integrationAccountName":{"type":"string","description":"The name of the Logic App Integration Account. Changing this forces a new Logic App Integration Account Map to be created.\n"},"mapType":{"type":"string","description":"The type of the Logic App Integration Account Map. Possible values are `Liquid`, `NotSpecified`, `Xslt`, `Xslt30` and `Xslt20`.\n"},"metadata":{"type":"object","additionalProperties":{"type":"string"},"description":"The metadata of the Logic App Integration Account Map.\n"},"name":{"type":"string","description":"The name which should be used for this Logic App Integration Account Map. Changing this forces a new Logic App Integration Account Map to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Logic App Integration Account Map should exist. Changing this forces a new Logic App Integration Account Map to be created.\n"}},"required":["content","integrationAccountName","mapType","name","resourceGroupName"],"inputProperties":{"content":{"type":"string","description":"The content of the Logic App Integration Account Map.\n"},"integrationAccountName":{"type":"string","description":"The name of the Logic App Integration Account. Changing this forces a new Logic App Integration Account Map to be created.\n","willReplaceOnChanges":true},"mapType":{"type":"string","description":"The type of the Logic App Integration Account Map. Possible values are `Liquid`, `NotSpecified`, `Xslt`, `Xslt30` and `Xslt20`.\n"},"metadata":{"type":"object","additionalProperties":{"type":"string"},"description":"The metadata of the Logic App Integration Account Map.\n"},"name":{"type":"string","description":"The name which should be used for this Logic App Integration Account Map. Changing this forces a new Logic App Integration Account Map to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Logic App Integration Account Map should exist. Changing this forces a new Logic App Integration Account Map to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["content","integrationAccountName","mapType","resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering IntegrationAccountMap resources.\n","properties":{"content":{"type":"string","description":"The content of the Logic App Integration Account Map.\n"},"integrationAccountName":{"type":"string","description":"The name of the Logic App Integration Account. Changing this forces a new Logic App Integration Account Map to be created.\n","willReplaceOnChanges":true},"mapType":{"type":"string","description":"The type of the Logic App Integration Account Map. Possible values are `Liquid`, `NotSpecified`, `Xslt`, `Xslt30` and `Xslt20`.\n"},"metadata":{"type":"object","additionalProperties":{"type":"string"},"description":"The metadata of the Logic App Integration Account Map.\n"},"name":{"type":"string","description":"The name which should be used for this Logic App Integration Account Map. Changing this forces a new Logic App Integration Account Map to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Logic App Integration Account Map should exist. Changing this forces a new Logic App Integration Account Map to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:logicapps/integrationAccountPartner:IntegrationAccountPartner":{"description":"Manages a Logic App Integration Account Partner.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleIntegrationAccount = new azure.logicapps.IntegrationAccount(\"example\", {\n    name: \"example-ia\",\n    location: example.location,\n    resourceGroupName: example.name,\n    skuName: \"Standard\",\n});\nconst exampleIntegrationAccountPartner = new azure.logicapps.IntegrationAccountPartner(\"example\", {\n    name: \"example-iap\",\n    resourceGroupName: example.name,\n    integrationAccountName: exampleIntegrationAccount.name,\n    businessIdentities: [{\n        qualifier: \"ZZ\",\n        value: \"AA\",\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_integration_account = azure.logicapps.IntegrationAccount(\"example\",\n    name=\"example-ia\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku_name=\"Standard\")\nexample_integration_account_partner = azure.logicapps.IntegrationAccountPartner(\"example\",\n    name=\"example-iap\",\n    resource_group_name=example.name,\n    integration_account_name=example_integration_account.name,\n    business_identities=[{\n        \"qualifier\": \"ZZ\",\n        \"value\": \"AA\",\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleIntegrationAccount = new Azure.LogicApps.IntegrationAccount(\"example\", new()\n    {\n        Name = \"example-ia\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        SkuName = \"Standard\",\n    });\n\n    var exampleIntegrationAccountPartner = new Azure.LogicApps.IntegrationAccountPartner(\"example\", new()\n    {\n        Name = \"example-iap\",\n        ResourceGroupName = example.Name,\n        IntegrationAccountName = exampleIntegrationAccount.Name,\n        BusinessIdentities = new[]\n        {\n            new Azure.LogicApps.Inputs.IntegrationAccountPartnerBusinessIdentityArgs\n            {\n                Qualifier = \"ZZ\",\n                Value = \"AA\",\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/logicapps\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleIntegrationAccount, err := logicapps.NewIntegrationAccount(ctx, \"example\", \u0026logicapps.IntegrationAccountArgs{\n\t\t\tName:              pulumi.String(\"example-ia\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSkuName:           pulumi.String(\"Standard\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = logicapps.NewIntegrationAccountPartner(ctx, \"example\", \u0026logicapps.IntegrationAccountPartnerArgs{\n\t\t\tName:                   pulumi.String(\"example-iap\"),\n\t\t\tResourceGroupName:      example.Name,\n\t\t\tIntegrationAccountName: exampleIntegrationAccount.Name,\n\t\t\tBusinessIdentities: logicapps.IntegrationAccountPartnerBusinessIdentityArray{\n\t\t\t\t\u0026logicapps.IntegrationAccountPartnerBusinessIdentityArgs{\n\t\t\t\t\tQualifier: pulumi.String(\"ZZ\"),\n\t\t\t\t\tValue:     pulumi.String(\"AA\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.logicapps.IntegrationAccount;\nimport com.pulumi.azure.logicapps.IntegrationAccountArgs;\nimport com.pulumi.azure.logicapps.IntegrationAccountPartner;\nimport com.pulumi.azure.logicapps.IntegrationAccountPartnerArgs;\nimport com.pulumi.azure.logicapps.inputs.IntegrationAccountPartnerBusinessIdentityArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleIntegrationAccount = new IntegrationAccount(\"exampleIntegrationAccount\", IntegrationAccountArgs.builder()\n            .name(\"example-ia\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .skuName(\"Standard\")\n            .build());\n\n        var exampleIntegrationAccountPartner = new IntegrationAccountPartner(\"exampleIntegrationAccountPartner\", IntegrationAccountPartnerArgs.builder()\n            .name(\"example-iap\")\n            .resourceGroupName(example.name())\n            .integrationAccountName(exampleIntegrationAccount.name())\n            .businessIdentities(IntegrationAccountPartnerBusinessIdentityArgs.builder()\n                .qualifier(\"ZZ\")\n                .value(\"AA\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleIntegrationAccount:\n    type: azure:logicapps:IntegrationAccount\n    name: example\n    properties:\n      name: example-ia\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      skuName: Standard\n  exampleIntegrationAccountPartner:\n    type: azure:logicapps:IntegrationAccountPartner\n    name: example\n    properties:\n      name: example-iap\n      resourceGroupName: ${example.name}\n      integrationAccountName: ${exampleIntegrationAccount.name}\n      businessIdentities:\n        - qualifier: ZZ\n          value: AA\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Logic` - 2019-05-01\n\n## Import\n\nLogic App Integration Account Partners can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:logicapps/integrationAccountPartner:IntegrationAccountPartner example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Logic/integrationAccounts/account1/partners/partner1\n```\n\n","properties":{"businessIdentities":{"type":"array","items":{"$ref":"#/types/azure:logicapps/IntegrationAccountPartnerBusinessIdentity:IntegrationAccountPartnerBusinessIdentity"},"description":"A \u003cspan pulumi-lang-nodejs=\"`businessIdentity`\" pulumi-lang-dotnet=\"`BusinessIdentity`\" pulumi-lang-go=\"`businessIdentity`\" pulumi-lang-python=\"`business_identity`\" pulumi-lang-yaml=\"`businessIdentity`\" pulumi-lang-java=\"`businessIdentity`\"\u003e`business_identity`\u003c/span\u003e block as documented below.\n"},"integrationAccountName":{"type":"string","description":"The name of the Logic App Integration Account. Changing this forces a new Logic App Integration Account Partner to be created.\n"},"metadata":{"type":"string","description":"A JSON mapping of any Metadata for this Logic App Integration Account Partner.\n"},"name":{"type":"string","description":"The name which should be used for this Logic App Integration Account Partner. Changing this forces a new Logic App Integration Account Partner to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Logic App Integration Account Partner should exist. Changing this forces a new Logic App Integration Account Partner to be created.\n"}},"required":["businessIdentities","integrationAccountName","name","resourceGroupName"],"inputProperties":{"businessIdentities":{"type":"array","items":{"$ref":"#/types/azure:logicapps/IntegrationAccountPartnerBusinessIdentity:IntegrationAccountPartnerBusinessIdentity"},"description":"A \u003cspan pulumi-lang-nodejs=\"`businessIdentity`\" pulumi-lang-dotnet=\"`BusinessIdentity`\" pulumi-lang-go=\"`businessIdentity`\" pulumi-lang-python=\"`business_identity`\" pulumi-lang-yaml=\"`businessIdentity`\" pulumi-lang-java=\"`businessIdentity`\"\u003e`business_identity`\u003c/span\u003e block as documented below.\n"},"integrationAccountName":{"type":"string","description":"The name of the Logic App Integration Account. Changing this forces a new Logic App Integration Account Partner to be created.\n","willReplaceOnChanges":true},"metadata":{"type":"string","description":"A JSON mapping of any Metadata for this Logic App Integration Account Partner.\n"},"name":{"type":"string","description":"The name which should be used for this Logic App Integration Account Partner. Changing this forces a new Logic App Integration Account Partner to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Logic App Integration Account Partner should exist. Changing this forces a new Logic App Integration Account Partner to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["businessIdentities","integrationAccountName","resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering IntegrationAccountPartner resources.\n","properties":{"businessIdentities":{"type":"array","items":{"$ref":"#/types/azure:logicapps/IntegrationAccountPartnerBusinessIdentity:IntegrationAccountPartnerBusinessIdentity"},"description":"A \u003cspan pulumi-lang-nodejs=\"`businessIdentity`\" pulumi-lang-dotnet=\"`BusinessIdentity`\" pulumi-lang-go=\"`businessIdentity`\" pulumi-lang-python=\"`business_identity`\" pulumi-lang-yaml=\"`businessIdentity`\" pulumi-lang-java=\"`businessIdentity`\"\u003e`business_identity`\u003c/span\u003e block as documented below.\n"},"integrationAccountName":{"type":"string","description":"The name of the Logic App Integration Account. Changing this forces a new Logic App Integration Account Partner to be created.\n","willReplaceOnChanges":true},"metadata":{"type":"string","description":"A JSON mapping of any Metadata for this Logic App Integration Account Partner.\n"},"name":{"type":"string","description":"The name which should be used for this Logic App Integration Account Partner. Changing this forces a new Logic App Integration Account Partner to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Logic App Integration Account Partner should exist. Changing this forces a new Logic App Integration Account Partner to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:logicapps/integrationAccountSchema:IntegrationAccountSchema":{"description":"Manages a Logic App Integration Account Schema.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\nimport * as std from \"@pulumi/std\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleIntegrationAccount = new azure.logicapps.IntegrationAccount(\"example\", {\n    name: \"example-ia\",\n    location: example.location,\n    resourceGroupName: example.name,\n    skuName: \"Basic\",\n});\nconst exampleIntegrationAccountSchema = new azure.logicapps.IntegrationAccountSchema(\"example\", {\n    name: \"example-ias\",\n    resourceGroupName: example.name,\n    integrationAccountName: exampleIntegrationAccount.name,\n    content: std.file({\n        input: \"testdata/integration_account_schema_content.xsd\",\n    }).then(invoke =\u003e invoke.result),\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\nimport pulumi_std as std\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_integration_account = azure.logicapps.IntegrationAccount(\"example\",\n    name=\"example-ia\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku_name=\"Basic\")\nexample_integration_account_schema = azure.logicapps.IntegrationAccountSchema(\"example\",\n    name=\"example-ias\",\n    resource_group_name=example.name,\n    integration_account_name=example_integration_account.name,\n    content=std.file(input=\"testdata/integration_account_schema_content.xsd\").result)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleIntegrationAccount = new Azure.LogicApps.IntegrationAccount(\"example\", new()\n    {\n        Name = \"example-ia\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        SkuName = \"Basic\",\n    });\n\n    var exampleIntegrationAccountSchema = new Azure.LogicApps.IntegrationAccountSchema(\"example\", new()\n    {\n        Name = \"example-ias\",\n        ResourceGroupName = example.Name,\n        IntegrationAccountName = exampleIntegrationAccount.Name,\n        Content = Std.File.Invoke(new()\n        {\n            Input = \"testdata/integration_account_schema_content.xsd\",\n        }).Apply(invoke =\u003e invoke.Result),\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/logicapps\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleIntegrationAccount, err := logicapps.NewIntegrationAccount(ctx, \"example\", \u0026logicapps.IntegrationAccountArgs{\n\t\t\tName:              pulumi.String(\"example-ia\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSkuName:           pulumi.String(\"Basic\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"testdata/integration_account_schema_content.xsd\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = logicapps.NewIntegrationAccountSchema(ctx, \"example\", \u0026logicapps.IntegrationAccountSchemaArgs{\n\t\t\tName:                   pulumi.String(\"example-ias\"),\n\t\t\tResourceGroupName:      example.Name,\n\t\t\tIntegrationAccountName: exampleIntegrationAccount.Name,\n\t\t\tContent:                pulumi.String(invokeFile.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.logicapps.IntegrationAccount;\nimport com.pulumi.azure.logicapps.IntegrationAccountArgs;\nimport com.pulumi.azure.logicapps.IntegrationAccountSchema;\nimport com.pulumi.azure.logicapps.IntegrationAccountSchemaArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.FileArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleIntegrationAccount = new IntegrationAccount(\"exampleIntegrationAccount\", IntegrationAccountArgs.builder()\n            .name(\"example-ia\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .skuName(\"Basic\")\n            .build());\n\n        var exampleIntegrationAccountSchema = new IntegrationAccountSchema(\"exampleIntegrationAccountSchema\", IntegrationAccountSchemaArgs.builder()\n            .name(\"example-ias\")\n            .resourceGroupName(example.name())\n            .integrationAccountName(exampleIntegrationAccount.name())\n            .content(StdFunctions.file(FileArgs.builder()\n                .input(\"testdata/integration_account_schema_content.xsd\")\n                .build()).result())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleIntegrationAccount:\n    type: azure:logicapps:IntegrationAccount\n    name: example\n    properties:\n      name: example-ia\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      skuName: Basic\n  exampleIntegrationAccountSchema:\n    type: azure:logicapps:IntegrationAccountSchema\n    name: example\n    properties:\n      name: example-ias\n      resourceGroupName: ${example.name}\n      integrationAccountName: ${exampleIntegrationAccount.name}\n      content:\n        fn::invoke:\n          function: std:file\n          arguments:\n            input: testdata/integration_account_schema_content.xsd\n          return: result\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Logic` - 2019-05-01\n\n## Import\n\nLogic App Integration Account Schemas can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:logicapps/integrationAccountSchema:IntegrationAccountSchema example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Logic/integrationAccounts/account1/schemas/schema1\n```\n\n","properties":{"content":{"type":"string","description":"The content of the Logic App Integration Account Schema.\n"},"fileName":{"type":"string","description":"The file name of the Logic App Integration Account Schema.\n"},"integrationAccountName":{"type":"string","description":"The name of the Logic App Integration Account. Changing this forces a new Logic App Integration Account Schema to be created.\n"},"metadata":{"type":"string","description":"The metadata of the Logic App Integration Account Schema.\n"},"name":{"type":"string","description":"The name which should be used for this Logic App Integration Account Schema. Changing this forces a new Logic App Integration Account Schema to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Logic App Integration Account Schema should exist. Changing this forces a new Logic App Integration Account Schema to be created.\n"}},"required":["content","integrationAccountName","name","resourceGroupName"],"inputProperties":{"content":{"type":"string","description":"The content of the Logic App Integration Account Schema.\n"},"fileName":{"type":"string","description":"The file name of the Logic App Integration Account Schema.\n"},"integrationAccountName":{"type":"string","description":"The name of the Logic App Integration Account. Changing this forces a new Logic App Integration Account Schema to be created.\n","willReplaceOnChanges":true},"metadata":{"type":"string","description":"The metadata of the Logic App Integration Account Schema.\n"},"name":{"type":"string","description":"The name which should be used for this Logic App Integration Account Schema. Changing this forces a new Logic App Integration Account Schema to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Logic App Integration Account Schema should exist. Changing this forces a new Logic App Integration Account Schema to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["content","integrationAccountName","resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering IntegrationAccountSchema resources.\n","properties":{"content":{"type":"string","description":"The content of the Logic App Integration Account Schema.\n"},"fileName":{"type":"string","description":"The file name of the Logic App Integration Account Schema.\n"},"integrationAccountName":{"type":"string","description":"The name of the Logic App Integration Account. Changing this forces a new Logic App Integration Account Schema to be created.\n","willReplaceOnChanges":true},"metadata":{"type":"string","description":"The metadata of the Logic App Integration Account Schema.\n"},"name":{"type":"string","description":"The name which should be used for this Logic App Integration Account Schema. Changing this forces a new Logic App Integration Account Schema to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Logic App Integration Account Schema should exist. Changing this forces a new Logic App Integration Account Schema to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:logicapps/integrationAccountSession:IntegrationAccountSession":{"description":"Manages a Logic App Integration Account Session.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleIntegrationAccount = new azure.logicapps.IntegrationAccount(\"example\", {\n    name: \"example-ia\",\n    location: example.location,\n    resourceGroupName: example.name,\n    skuName: \"Basic\",\n});\nconst exampleIntegrationAccountSession = new azure.logicapps.IntegrationAccountSession(\"example\", {\n    name: \"example-ias\",\n    resourceGroupName: example.name,\n    integrationAccountName: exampleIntegrationAccount.name,\n    content: ` {\n       \\\\\"controlNumber\\\\\": \\\\\"1234\\\\\"\n    }\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_integration_account = azure.logicapps.IntegrationAccount(\"example\",\n    name=\"example-ia\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku_name=\"Basic\")\nexample_integration_account_session = azure.logicapps.IntegrationAccountSession(\"example\",\n    name=\"example-ias\",\n    resource_group_name=example.name,\n    integration_account_name=example_integration_account.name,\n    content=\"\"\" {\n       \\\"controlNumber\\\": \\\"1234\\\"\n    }\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleIntegrationAccount = new Azure.LogicApps.IntegrationAccount(\"example\", new()\n    {\n        Name = \"example-ia\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        SkuName = \"Basic\",\n    });\n\n    var exampleIntegrationAccountSession = new Azure.LogicApps.IntegrationAccountSession(\"example\", new()\n    {\n        Name = \"example-ias\",\n        ResourceGroupName = example.Name,\n        IntegrationAccountName = exampleIntegrationAccount.Name,\n        Content = @\" {\n       \\\"\"controlNumber\\\"\": \\\"\"1234\\\"\"\n    }\n\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/logicapps\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleIntegrationAccount, err := logicapps.NewIntegrationAccount(ctx, \"example\", \u0026logicapps.IntegrationAccountArgs{\n\t\t\tName:              pulumi.String(\"example-ia\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSkuName:           pulumi.String(\"Basic\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = logicapps.NewIntegrationAccountSession(ctx, \"example\", \u0026logicapps.IntegrationAccountSessionArgs{\n\t\t\tName:                   pulumi.String(\"example-ias\"),\n\t\t\tResourceGroupName:      example.Name,\n\t\t\tIntegrationAccountName: exampleIntegrationAccount.Name,\n\t\t\tContent:                pulumi.String(\" {\\n       \\\\\\\"controlNumber\\\\\\\": \\\\\\\"1234\\\\\\\"\\n    }\\n\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.logicapps.IntegrationAccount;\nimport com.pulumi.azure.logicapps.IntegrationAccountArgs;\nimport com.pulumi.azure.logicapps.IntegrationAccountSession;\nimport com.pulumi.azure.logicapps.IntegrationAccountSessionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleIntegrationAccount = new IntegrationAccount(\"exampleIntegrationAccount\", IntegrationAccountArgs.builder()\n            .name(\"example-ia\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .skuName(\"Basic\")\n            .build());\n\n        var exampleIntegrationAccountSession = new IntegrationAccountSession(\"exampleIntegrationAccountSession\", IntegrationAccountSessionArgs.builder()\n            .name(\"example-ias\")\n            .resourceGroupName(example.name())\n            .integrationAccountName(exampleIntegrationAccount.name())\n            .content(\"\"\"\n {\n       \\\"controlNumber\\\": \\\"1234\\\"\n    }\n            \"\"\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleIntegrationAccount:\n    type: azure:logicapps:IntegrationAccount\n    name: example\n    properties:\n      name: example-ia\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      skuName: Basic\n  exampleIntegrationAccountSession:\n    type: azure:logicapps:IntegrationAccountSession\n    name: example\n    properties:\n      name: example-ias\n      resourceGroupName: ${example.name}\n      integrationAccountName: ${exampleIntegrationAccount.name}\n      content: |2\n         {\n               \\\"controlNumber\\\": \\\"1234\\\"\n            }\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Logic` - 2019-05-01\n\n## Import\n\nLogic App Integration Account Sessions can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:logicapps/integrationAccountSession:IntegrationAccountSession example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Logic/integrationAccounts/account1/sessions/session1\n```\n\n","properties":{"content":{"type":"string","description":"The content of the Logic App Integration Account Session.\n"},"integrationAccountName":{"type":"string","description":"The name of the Logic App Integration Account. Changing this forces a new Logic App Integration Account Session to be created.\n"},"name":{"type":"string","description":"The name which should be used for this Logic App Integration Account Session. Changing this forces a new Logic App Integration Account Session to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Logic App Integration Account Session should exist. Changing this forces a new Logic App Integration Account Session to be created.\n"}},"required":["content","integrationAccountName","name","resourceGroupName"],"inputProperties":{"content":{"type":"string","description":"The content of the Logic App Integration Account Session.\n"},"integrationAccountName":{"type":"string","description":"The name of the Logic App Integration Account. Changing this forces a new Logic App Integration Account Session to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Logic App Integration Account Session. Changing this forces a new Logic App Integration Account Session to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Logic App Integration Account Session should exist. Changing this forces a new Logic App Integration Account Session to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["content","integrationAccountName","resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering IntegrationAccountSession resources.\n","properties":{"content":{"type":"string","description":"The content of the Logic App Integration Account Session.\n"},"integrationAccountName":{"type":"string","description":"The name of the Logic App Integration Account. Changing this forces a new Logic App Integration Account Session to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Logic App Integration Account Session. Changing this forces a new Logic App Integration Account Session to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Logic App Integration Account Session should exist. Changing this forces a new Logic App Integration Account Session to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:logicapps/standard:Standard":{"description":"Manages a Logic App (Standard / Single Tenant)\n\n## Example Usage\n\n### With App Service Plan)\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example\",\n    location: \"West Europe\",\n});\nconst exampleAccount = new azure.storage.Account(\"example\", {\n    name: \"examplestorageaccount\",\n    resourceGroupName: example.name,\n    location: example.location,\n    accountTier: \"Standard\",\n    accountReplicationType: \"LRS\",\n});\nconst exampleServicePlan = new azure.appservice.ServicePlan(\"example\", {\n    name: \"example-service-plan\",\n    location: example.location,\n    resourceGroupName: example.name,\n    osType: \"Windows\",\n    skuName: \"WS1\",\n});\nconst exampleStandard = new azure.logicapps.Standard(\"example\", {\n    name: \"example-logic-app\",\n    location: example.location,\n    resourceGroupName: example.name,\n    appServicePlanId: exampleAzurermAppServicePlan.id,\n    storageAccountName: exampleAccount.name,\n    storageAccountAccessKey: exampleAccount.primaryAccessKey,\n    appSettings: {\n        FUNCTIONS_WORKER_RUNTIME: \"node\",\n        WEBSITE_NODE_DEFAULT_VERSION: \"~18\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example\",\n    location=\"West Europe\")\nexample_account = azure.storage.Account(\"example\",\n    name=\"examplestorageaccount\",\n    resource_group_name=example.name,\n    location=example.location,\n    account_tier=\"Standard\",\n    account_replication_type=\"LRS\")\nexample_service_plan = azure.appservice.ServicePlan(\"example\",\n    name=\"example-service-plan\",\n    location=example.location,\n    resource_group_name=example.name,\n    os_type=\"Windows\",\n    sku_name=\"WS1\")\nexample_standard = azure.logicapps.Standard(\"example\",\n    name=\"example-logic-app\",\n    location=example.location,\n    resource_group_name=example.name,\n    app_service_plan_id=example_azurerm_app_service_plan[\"id\"],\n    storage_account_name=example_account.name,\n    storage_account_access_key=example_account.primary_access_key,\n    app_settings={\n        \"FUNCTIONS_WORKER_RUNTIME\": \"node\",\n        \"WEBSITE_NODE_DEFAULT_VERSION\": \"~18\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example\",\n        Location = \"West Europe\",\n    });\n\n    var exampleAccount = new Azure.Storage.Account(\"example\", new()\n    {\n        Name = \"examplestorageaccount\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        AccountTier = \"Standard\",\n        AccountReplicationType = \"LRS\",\n    });\n\n    var exampleServicePlan = new Azure.AppService.ServicePlan(\"example\", new()\n    {\n        Name = \"example-service-plan\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        OsType = \"Windows\",\n        SkuName = \"WS1\",\n    });\n\n    var exampleStandard = new Azure.LogicApps.Standard(\"example\", new()\n    {\n        Name = \"example-logic-app\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        AppServicePlanId = exampleAzurermAppServicePlan.Id,\n        StorageAccountName = exampleAccount.Name,\n        StorageAccountAccessKey = exampleAccount.PrimaryAccessKey,\n        AppSettings = \n        {\n            { \"FUNCTIONS_WORKER_RUNTIME\", \"node\" },\n            { \"WEBSITE_NODE_DEFAULT_VERSION\", \"~18\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/appservice\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/logicapps\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := storage.NewAccount(ctx, \"example\", \u0026storage.AccountArgs{\n\t\t\tName:                   pulumi.String(\"examplestorageaccount\"),\n\t\t\tResourceGroupName:      example.Name,\n\t\t\tLocation:               example.Location,\n\t\t\tAccountTier:            pulumi.String(\"Standard\"),\n\t\t\tAccountReplicationType: pulumi.String(\"LRS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = appservice.NewServicePlan(ctx, \"example\", \u0026appservice.ServicePlanArgs{\n\t\t\tName:              pulumi.String(\"example-service-plan\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tOsType:            pulumi.String(\"Windows\"),\n\t\t\tSkuName:           pulumi.String(\"WS1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = logicapps.NewStandard(ctx, \"example\", \u0026logicapps.StandardArgs{\n\t\t\tName:                    pulumi.String(\"example-logic-app\"),\n\t\t\tLocation:                example.Location,\n\t\t\tResourceGroupName:       example.Name,\n\t\t\tAppServicePlanId:        pulumi.Any(exampleAzurermAppServicePlan.Id),\n\t\t\tStorageAccountName:      exampleAccount.Name,\n\t\t\tStorageAccountAccessKey: exampleAccount.PrimaryAccessKey,\n\t\t\tAppSettings: pulumi.StringMap{\n\t\t\t\t\"FUNCTIONS_WORKER_RUNTIME\":     pulumi.String(\"node\"),\n\t\t\t\t\"WEBSITE_NODE_DEFAULT_VERSION\": pulumi.String(\"~18\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.storage.Account;\nimport com.pulumi.azure.storage.AccountArgs;\nimport com.pulumi.azure.appservice.ServicePlan;\nimport com.pulumi.azure.appservice.ServicePlanArgs;\nimport com.pulumi.azure.logicapps.Standard;\nimport com.pulumi.azure.logicapps.StandardArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"examplestorageaccount\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .accountTier(\"Standard\")\n            .accountReplicationType(\"LRS\")\n            .build());\n\n        var exampleServicePlan = new ServicePlan(\"exampleServicePlan\", ServicePlanArgs.builder()\n            .name(\"example-service-plan\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .osType(\"Windows\")\n            .skuName(\"WS1\")\n            .build());\n\n        var exampleStandard = new Standard(\"exampleStandard\", StandardArgs.builder()\n            .name(\"example-logic-app\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .appServicePlanId(exampleAzurermAppServicePlan.id())\n            .storageAccountName(exampleAccount.name())\n            .storageAccountAccessKey(exampleAccount.primaryAccessKey())\n            .appSettings(Map.ofEntries(\n                Map.entry(\"FUNCTIONS_WORKER_RUNTIME\", \"node\"),\n                Map.entry(\"WEBSITE_NODE_DEFAULT_VERSION\", \"~18\")\n            ))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example\n      location: West Europe\n  exampleAccount:\n    type: azure:storage:Account\n    name: example\n    properties:\n      name: examplestorageaccount\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      accountTier: Standard\n      accountReplicationType: LRS\n  exampleServicePlan:\n    type: azure:appservice:ServicePlan\n    name: example\n    properties:\n      name: example-service-plan\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      osType: Windows\n      skuName: WS1\n  exampleStandard:\n    type: azure:logicapps:Standard\n    name: example\n    properties:\n      name: example-logic-app\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      appServicePlanId: ${exampleAzurermAppServicePlan.id}\n      storageAccountName: ${exampleAccount.name}\n      storageAccountAccessKey: ${exampleAccount.primaryAccessKey}\n      appSettings:\n        FUNCTIONS_WORKER_RUNTIME: node\n        WEBSITE_NODE_DEFAULT_VERSION: ~18\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\n### For Container Mode)\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example\",\n    location: \"West Europe\",\n});\nconst exampleAccount = new azure.storage.Account(\"example\", {\n    name: \"examplestorageaccount\",\n    resourceGroupName: example.name,\n    location: example.location,\n    accountTier: \"Standard\",\n    accountReplicationType: \"LRS\",\n});\nconst examplePlan = new azure.appservice.Plan(\"example\", {\n    name: \"example-service-plan\",\n    location: example.location,\n    resourceGroupName: example.name,\n    kind: \"Linux\",\n    reserved: true,\n    sku: {\n        tier: \"WorkflowStandard\",\n        size: \"WS1\",\n    },\n});\nconst exampleStandard = new azure.logicapps.Standard(\"example\", {\n    name: \"example-logic-app\",\n    location: example.location,\n    resourceGroupName: example.name,\n    appServicePlanId: examplePlan.id,\n    storageAccountName: exampleAccount.name,\n    storageAccountAccessKey: exampleAccount.primaryAccessKey,\n    siteConfig: {\n        linuxFxVersion: \"DOCKER|mcr.microsoft.com/azure-functions/dotnet:3.0-appservice\",\n    },\n    appSettings: {\n        DOCKER_REGISTRY_SERVER_URL: \"https://\u003cserver-name\u003e.azurecr.io\",\n        DOCKER_REGISTRY_SERVER_USERNAME: \"username\",\n        DOCKER_REGISTRY_SERVER_PASSWORD: \"password\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example\",\n    location=\"West Europe\")\nexample_account = azure.storage.Account(\"example\",\n    name=\"examplestorageaccount\",\n    resource_group_name=example.name,\n    location=example.location,\n    account_tier=\"Standard\",\n    account_replication_type=\"LRS\")\nexample_plan = azure.appservice.Plan(\"example\",\n    name=\"example-service-plan\",\n    location=example.location,\n    resource_group_name=example.name,\n    kind=\"Linux\",\n    reserved=True,\n    sku={\n        \"tier\": \"WorkflowStandard\",\n        \"size\": \"WS1\",\n    })\nexample_standard = azure.logicapps.Standard(\"example\",\n    name=\"example-logic-app\",\n    location=example.location,\n    resource_group_name=example.name,\n    app_service_plan_id=example_plan.id,\n    storage_account_name=example_account.name,\n    storage_account_access_key=example_account.primary_access_key,\n    site_config={\n        \"linux_fx_version\": \"DOCKER|mcr.microsoft.com/azure-functions/dotnet:3.0-appservice\",\n    },\n    app_settings={\n        \"DOCKER_REGISTRY_SERVER_URL\": \"https://\u003cserver-name\u003e.azurecr.io\",\n        \"DOCKER_REGISTRY_SERVER_USERNAME\": \"username\",\n        \"DOCKER_REGISTRY_SERVER_PASSWORD\": \"password\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example\",\n        Location = \"West Europe\",\n    });\n\n    var exampleAccount = new Azure.Storage.Account(\"example\", new()\n    {\n        Name = \"examplestorageaccount\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        AccountTier = \"Standard\",\n        AccountReplicationType = \"LRS\",\n    });\n\n    var examplePlan = new Azure.AppService.Plan(\"example\", new()\n    {\n        Name = \"example-service-plan\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Kind = \"Linux\",\n        Reserved = true,\n        Sku = new Azure.AppService.Inputs.PlanSkuArgs\n        {\n            Tier = \"WorkflowStandard\",\n            Size = \"WS1\",\n        },\n    });\n\n    var exampleStandard = new Azure.LogicApps.Standard(\"example\", new()\n    {\n        Name = \"example-logic-app\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        AppServicePlanId = examplePlan.Id,\n        StorageAccountName = exampleAccount.Name,\n        StorageAccountAccessKey = exampleAccount.PrimaryAccessKey,\n        SiteConfig = new Azure.LogicApps.Inputs.StandardSiteConfigArgs\n        {\n            LinuxFxVersion = \"DOCKER|mcr.microsoft.com/azure-functions/dotnet:3.0-appservice\",\n        },\n        AppSettings = \n        {\n            { \"DOCKER_REGISTRY_SERVER_URL\", \"https://\u003cserver-name\u003e.azurecr.io\" },\n            { \"DOCKER_REGISTRY_SERVER_USERNAME\", \"username\" },\n            { \"DOCKER_REGISTRY_SERVER_PASSWORD\", \"password\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/appservice\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/logicapps\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := storage.NewAccount(ctx, \"example\", \u0026storage.AccountArgs{\n\t\t\tName:                   pulumi.String(\"examplestorageaccount\"),\n\t\t\tResourceGroupName:      example.Name,\n\t\t\tLocation:               example.Location,\n\t\t\tAccountTier:            pulumi.String(\"Standard\"),\n\t\t\tAccountReplicationType: pulumi.String(\"LRS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texamplePlan, err := appservice.NewPlan(ctx, \"example\", \u0026appservice.PlanArgs{\n\t\t\tName:              pulumi.String(\"example-service-plan\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tKind:              pulumi.Any(\"Linux\"),\n\t\t\tReserved:          pulumi.Bool(true),\n\t\t\tSku: \u0026appservice.PlanSkuArgs{\n\t\t\t\tTier: pulumi.String(\"WorkflowStandard\"),\n\t\t\t\tSize: pulumi.String(\"WS1\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = logicapps.NewStandard(ctx, \"example\", \u0026logicapps.StandardArgs{\n\t\t\tName:                    pulumi.String(\"example-logic-app\"),\n\t\t\tLocation:                example.Location,\n\t\t\tResourceGroupName:       example.Name,\n\t\t\tAppServicePlanId:        examplePlan.ID(),\n\t\t\tStorageAccountName:      exampleAccount.Name,\n\t\t\tStorageAccountAccessKey: exampleAccount.PrimaryAccessKey,\n\t\t\tSiteConfig: \u0026logicapps.StandardSiteConfigArgs{\n\t\t\t\tLinuxFxVersion: pulumi.String(\"DOCKER|mcr.microsoft.com/azure-functions/dotnet:3.0-appservice\"),\n\t\t\t},\n\t\t\tAppSettings: pulumi.StringMap{\n\t\t\t\t\"DOCKER_REGISTRY_SERVER_URL\":      pulumi.String(\"https://\u003cserver-name\u003e.azurecr.io\"),\n\t\t\t\t\"DOCKER_REGISTRY_SERVER_USERNAME\": pulumi.String(\"username\"),\n\t\t\t\t\"DOCKER_REGISTRY_SERVER_PASSWORD\": pulumi.String(\"password\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.storage.Account;\nimport com.pulumi.azure.storage.AccountArgs;\nimport com.pulumi.azure.appservice.Plan;\nimport com.pulumi.azure.appservice.PlanArgs;\nimport com.pulumi.azure.appservice.inputs.PlanSkuArgs;\nimport com.pulumi.azure.logicapps.Standard;\nimport com.pulumi.azure.logicapps.StandardArgs;\nimport com.pulumi.azure.logicapps.inputs.StandardSiteConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"examplestorageaccount\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .accountTier(\"Standard\")\n            .accountReplicationType(\"LRS\")\n            .build());\n\n        var examplePlan = new Plan(\"examplePlan\", PlanArgs.builder()\n            .name(\"example-service-plan\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .kind(\"Linux\")\n            .reserved(true)\n            .sku(PlanSkuArgs.builder()\n                .tier(\"WorkflowStandard\")\n                .size(\"WS1\")\n                .build())\n            .build());\n\n        var exampleStandard = new Standard(\"exampleStandard\", StandardArgs.builder()\n            .name(\"example-logic-app\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .appServicePlanId(examplePlan.id())\n            .storageAccountName(exampleAccount.name())\n            .storageAccountAccessKey(exampleAccount.primaryAccessKey())\n            .siteConfig(StandardSiteConfigArgs.builder()\n                .linuxFxVersion(\"DOCKER|mcr.microsoft.com/azure-functions/dotnet:3.0-appservice\")\n                .build())\n            .appSettings(Map.ofEntries(\n                Map.entry(\"DOCKER_REGISTRY_SERVER_URL\", \"https://\u003cserver-name\u003e.azurecr.io\"),\n                Map.entry(\"DOCKER_REGISTRY_SERVER_USERNAME\", \"username\"),\n                Map.entry(\"DOCKER_REGISTRY_SERVER_PASSWORD\", \"password\")\n            ))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example\n      location: West Europe\n  exampleAccount:\n    type: azure:storage:Account\n    name: example\n    properties:\n      name: examplestorageaccount\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      accountTier: Standard\n      accountReplicationType: LRS\n  examplePlan:\n    type: azure:appservice:Plan\n    name: example\n    properties:\n      name: example-service-plan\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      kind: Linux\n      reserved: true\n      sku:\n        tier: WorkflowStandard\n        size: WS1\n  exampleStandard:\n    type: azure:logicapps:Standard\n    name: example\n    properties:\n      name: example-logic-app\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      appServicePlanId: ${examplePlan.id}\n      storageAccountName: ${exampleAccount.name}\n      storageAccountAccessKey: ${exampleAccount.primaryAccessKey}\n      siteConfig:\n        linuxFxVersion: DOCKER|mcr.microsoft.com/azure-functions/dotnet:3.0-appservice\n      appSettings:\n        DOCKER_REGISTRY_SERVER_URL: https://\u003cserver-name\u003e.azurecr.io\n        DOCKER_REGISTRY_SERVER_USERNAME: username\n        DOCKER_REGISTRY_SERVER_PASSWORD: password\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Web` - 2023-12-01, 2023-01-01\n\n## Import\n\nLogic Apps can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:logicapps/standard:Standard logicapp1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Web/sites/logicapp1\n```\n\n","properties":{"appServicePlanId":{"type":"string","description":"The ID of the App Service Plan within which to create this Logic App.\n"},"appSettings":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of key-value pairs for [App Settings](https://docs.microsoft.com/azure/azure-functions/functions-app-settings) and custom values.\n\n\u003e **Note:** There are a number of application settings that will be managed for you by this resource type and *shouldn't* be configured separately as part of the\u003cspan pulumi-lang-nodejs=\" appSettings \" pulumi-lang-dotnet=\" AppSettings \" pulumi-lang-go=\" appSettings \" pulumi-lang-python=\" app_settings \" pulumi-lang-yaml=\" appSettings \" pulumi-lang-java=\" appSettings \"\u003e app_settings \u003c/span\u003eyou specify.  `AzureWebJobsStorage` is filled based on \u003cspan pulumi-lang-nodejs=\"`storageAccountName`\" pulumi-lang-dotnet=\"`StorageAccountName`\" pulumi-lang-go=\"`storageAccountName`\" pulumi-lang-python=\"`storage_account_name`\" pulumi-lang-yaml=\"`storageAccountName`\" pulumi-lang-java=\"`storageAccountName`\"\u003e`storage_account_name`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`storageAccountAccessKey`\" pulumi-lang-dotnet=\"`StorageAccountAccessKey`\" pulumi-lang-go=\"`storageAccountAccessKey`\" pulumi-lang-python=\"`storage_account_access_key`\" pulumi-lang-yaml=\"`storageAccountAccessKey`\" pulumi-lang-java=\"`storageAccountAccessKey`\"\u003e`storage_account_access_key`\u003c/span\u003e. `WEBSITE_CONTENTSHARE` is detailed below. `FUNCTIONS_EXTENSION_VERSION` is filled based on \u003cspan pulumi-lang-nodejs=\"`version`\" pulumi-lang-dotnet=\"`Version`\" pulumi-lang-go=\"`version`\" pulumi-lang-python=\"`version`\" pulumi-lang-yaml=\"`version`\" pulumi-lang-java=\"`version`\"\u003e`version`\u003c/span\u003e. `APP_KIND` is set to workflowApp and `AzureFunctionsJobHost__extensionBundle__id` and `AzureFunctionsJobHost__extensionBundle__version` are set as detailed below.\n"},"bundleVersion":{"type":"string","description":"If \u003cspan pulumi-lang-nodejs=\"`useExtensionBundle`\" pulumi-lang-dotnet=\"`UseExtensionBundle`\" pulumi-lang-go=\"`useExtensionBundle`\" pulumi-lang-python=\"`use_extension_bundle`\" pulumi-lang-yaml=\"`useExtensionBundle`\" pulumi-lang-java=\"`useExtensionBundle`\"\u003e`use_extension_bundle`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e this controls the allowed range for bundle versions. Defaults to `[1.*, 2.0.0)`.\n"},"clientAffinityEnabled":{"type":"boolean","description":"Should the Logic App send session affinity cookies, which route client requests in the same session to the same instance?\n"},"clientCertificateMode":{"type":"string","description":"The mode of the Logic App's client certificates requirement for incoming requests. Possible values are `Required`, `Optional`, and `OptionalInteractiveUser`.\n"},"connectionStrings":{"type":"array","items":{"$ref":"#/types/azure:logicapps/StandardConnectionString:StandardConnectionString"},"description":"A \u003cspan pulumi-lang-nodejs=\"`connectionString`\" pulumi-lang-dotnet=\"`ConnectionString`\" pulumi-lang-go=\"`connectionString`\" pulumi-lang-python=\"`connection_string`\" pulumi-lang-yaml=\"`connectionString`\" pulumi-lang-java=\"`connectionString`\"\u003e`connection_string`\u003c/span\u003e block as defined below.\n"},"customDomainVerificationId":{"type":"string","description":"An identifier used by App Service to perform domain ownership verification via DNS TXT record.\n"},"defaultHostname":{"type":"string","description":"The default hostname associated with the Logic App - such as `mysite.azurewebsites.net`.\n"},"enabled":{"type":"boolean","description":"Is the Logic App enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"ftpPublishBasicAuthenticationEnabled":{"type":"boolean","description":"Whether the FTP basic authentication publishing profile is enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"httpsOnly":{"type":"boolean","description":"Can the Logic App only be accessed via HTTPS? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"identity":{"$ref":"#/types/azure:logicapps/StandardIdentity:StandardIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"kind":{"type":"string","description":"The Logic App kind.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"Specifies the name of the Logic App. Changing this forces a new resource to be created.\n"},"outboundIpAddresses":{"type":"string","description":"A comma separated list of outbound IP addresses - such as `52.23.25.3,52.143.43.12`.\n"},"possibleOutboundIpAddresses":{"type":"string","description":"A comma separated list of outbound IP addresses - such as `52.23.25.3,52.143.43.12,52.143.43.17` - not all of which are necessarily in use. Superset of \u003cspan pulumi-lang-nodejs=\"`outboundIpAddresses`\" pulumi-lang-dotnet=\"`OutboundIpAddresses`\" pulumi-lang-go=\"`outboundIpAddresses`\" pulumi-lang-python=\"`outbound_ip_addresses`\" pulumi-lang-yaml=\"`outboundIpAddresses`\" pulumi-lang-java=\"`outboundIpAddresses`\"\u003e`outbound_ip_addresses`\u003c/span\u003e.\n"},"publicNetworkAccess":{"type":"string","description":"Whether Public Network Access should be enabled or not. Possible values are `Enabled` and `Disabled`. Defaults to `Enabled`.\n\n\u003e **Note:** Setting this property will also set it in the Site Config.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the Logic App. Changing this forces a new resource to be created.\n"},"scmPublishBasicAuthenticationEnabled":{"type":"boolean","description":"Whether the default SCM basic authentication publishing profile is enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"siteConfig":{"$ref":"#/types/azure:logicapps/StandardSiteConfig:StandardSiteConfig","description":"A \u003cspan pulumi-lang-nodejs=\"`siteConfig`\" pulumi-lang-dotnet=\"`SiteConfig`\" pulumi-lang-go=\"`siteConfig`\" pulumi-lang-python=\"`site_config`\" pulumi-lang-yaml=\"`siteConfig`\" pulumi-lang-java=\"`siteConfig`\"\u003e`site_config`\u003c/span\u003e object as defined below.\n"},"siteCredentials":{"type":"array","items":{"$ref":"#/types/azure:logicapps/StandardSiteCredential:StandardSiteCredential"},"description":"A \u003cspan pulumi-lang-nodejs=\"`siteCredential`\" pulumi-lang-dotnet=\"`SiteCredential`\" pulumi-lang-go=\"`siteCredential`\" pulumi-lang-python=\"`site_credential`\" pulumi-lang-yaml=\"`siteCredential`\" pulumi-lang-java=\"`siteCredential`\"\u003e`site_credential`\u003c/span\u003e block as defined below, which contains the site-level credentials used to publish to this App Service.\n"},"storageAccountAccessKey":{"type":"string","description":"The access key which will be used to access the backend storage account for the Logic App.\n","secret":true},"storageAccountName":{"type":"string","description":"The backend storage account name which will be used by this Logic App (e.g. for Stateful workflows data). Changing this forces a new resource to be created.\n"},"storageAccountShareName":{"type":"string","description":"The name of the share used by the logic app, if you want to use a custom name. This corresponds to the WEBSITE_CONTENTSHARE appsetting, which this resource will create for you. If you don't specify a name, then this resource will generate a dynamic name. This setting is useful if you want to provision a storage account and create a share using \u003cspan pulumi-lang-nodejs=\"`azure.storage.Share`\" pulumi-lang-dotnet=\"`azure.storage.Share`\" pulumi-lang-go=\"`storage.Share`\" pulumi-lang-python=\"`storage.Share`\" pulumi-lang-yaml=\"`azure.storage.Share`\" pulumi-lang-java=\"`azure.storage.Share`\"\u003e`azure.storage.Share`\u003c/span\u003e.\n\n\u003e **Note:** When integrating a `CI/CD pipeline` and expecting to run from a deployed package in `Azure` you must seed your `app settings` as part of terraform code for Logic App to be successfully deployed. `Important Default key pairs`: (`\"WEBSITE_RUN_FROM_PACKAGE\" = \"\"`, `\"FUNCTIONS_WORKER_RUNTIME\" = \"node\"` (or Python, etc.), `\"WEBSITE_NODE_DEFAULT_VERSION\" = \"10.14.1\"`, `\"APPINSIGHTS_INSTRUMENTATIONKEY\" = \"\"`).\n\n\u003e **Note:** When using an App Service Plan in the `Free` or `Shared` Tiers \u003cspan pulumi-lang-nodejs=\"`use32BitWorkerProcess`\" pulumi-lang-dotnet=\"`Use32BitWorkerProcess`\" pulumi-lang-go=\"`use32BitWorkerProcess`\" pulumi-lang-python=\"`use_32_bit_worker_process`\" pulumi-lang-yaml=\"`use32BitWorkerProcess`\" pulumi-lang-java=\"`use32BitWorkerProcess`\"\u003e`use_32_bit_worker_process`\u003c/span\u003e must be set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"useExtensionBundle":{"type":"boolean","description":"Should the logic app use the bundled extension package? If true, then application settings for `AzureFunctionsJobHost__extensionBundle__id` and `AzureFunctionsJobHost__extensionBundle__version` will be created. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"version":{"type":"string","description":"The runtime version associated with the Logic App. Defaults to `~4`.\n"},"virtualNetworkSubnetId":{"type":"string","description":"The subnet ID which will be used by this resource for [regional virtual network integration](https://docs.microsoft.com/en-us/azure/app-service/overview-vnet-integration#regional-virtual-network-integration).\n\n\u003e **Note:** The AzureRM Terraform provider provides regional virtual network integration via the standalone resource\u003cspan pulumi-lang-nodejs=\" appServiceVirtualNetworkSwiftConnection \" pulumi-lang-dotnet=\" AppServiceVirtualNetworkSwiftConnection \" pulumi-lang-go=\" appServiceVirtualNetworkSwiftConnection \" pulumi-lang-python=\" app_service_virtual_network_swift_connection \" pulumi-lang-yaml=\" appServiceVirtualNetworkSwiftConnection \" pulumi-lang-java=\" appServiceVirtualNetworkSwiftConnection \"\u003e app_service_virtual_network_swift_connection \u003c/span\u003eand in-line within this resource using the \u003cspan pulumi-lang-nodejs=\"`virtualNetworkSubnetId`\" pulumi-lang-dotnet=\"`VirtualNetworkSubnetId`\" pulumi-lang-go=\"`virtualNetworkSubnetId`\" pulumi-lang-python=\"`virtual_network_subnet_id`\" pulumi-lang-yaml=\"`virtualNetworkSubnetId`\" pulumi-lang-java=\"`virtualNetworkSubnetId`\"\u003e`virtual_network_subnet_id`\u003c/span\u003e property. You cannot use both methods simultaneously.\n\n\u003e **Note:** Assigning the \u003cspan pulumi-lang-nodejs=\"`virtualNetworkSubnetId`\" pulumi-lang-dotnet=\"`VirtualNetworkSubnetId`\" pulumi-lang-go=\"`virtualNetworkSubnetId`\" pulumi-lang-python=\"`virtual_network_subnet_id`\" pulumi-lang-yaml=\"`virtualNetworkSubnetId`\" pulumi-lang-java=\"`virtualNetworkSubnetId`\"\u003e`virtual_network_subnet_id`\u003c/span\u003e property requires [RBAC permissions on the subnet](https://docs.microsoft.com/en-us/azure/app-service/overview-vnet-integration#permissions)\n"},"vnetContentShareEnabled":{"type":"boolean","description":"Specifies whether allow routing traffic between the Logic App and Storage Account content share through a virtual network. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"}},"required":["appServicePlanId","appSettings","clientAffinityEnabled","connectionStrings","customDomainVerificationId","defaultHostname","kind","location","name","outboundIpAddresses","possibleOutboundIpAddresses","publicNetworkAccess","resourceGroupName","siteConfig","siteCredentials","storageAccountAccessKey","storageAccountName","storageAccountShareName"],"inputProperties":{"appServicePlanId":{"type":"string","description":"The ID of the App Service Plan within which to create this Logic App.\n"},"appSettings":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of key-value pairs for [App Settings](https://docs.microsoft.com/azure/azure-functions/functions-app-settings) and custom values.\n\n\u003e **Note:** There are a number of application settings that will be managed for you by this resource type and *shouldn't* be configured separately as part of the\u003cspan pulumi-lang-nodejs=\" appSettings \" pulumi-lang-dotnet=\" AppSettings \" pulumi-lang-go=\" appSettings \" pulumi-lang-python=\" app_settings \" pulumi-lang-yaml=\" appSettings \" pulumi-lang-java=\" appSettings \"\u003e app_settings \u003c/span\u003eyou specify.  `AzureWebJobsStorage` is filled based on \u003cspan pulumi-lang-nodejs=\"`storageAccountName`\" pulumi-lang-dotnet=\"`StorageAccountName`\" pulumi-lang-go=\"`storageAccountName`\" pulumi-lang-python=\"`storage_account_name`\" pulumi-lang-yaml=\"`storageAccountName`\" pulumi-lang-java=\"`storageAccountName`\"\u003e`storage_account_name`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`storageAccountAccessKey`\" pulumi-lang-dotnet=\"`StorageAccountAccessKey`\" pulumi-lang-go=\"`storageAccountAccessKey`\" pulumi-lang-python=\"`storage_account_access_key`\" pulumi-lang-yaml=\"`storageAccountAccessKey`\" pulumi-lang-java=\"`storageAccountAccessKey`\"\u003e`storage_account_access_key`\u003c/span\u003e. `WEBSITE_CONTENTSHARE` is detailed below. `FUNCTIONS_EXTENSION_VERSION` is filled based on \u003cspan pulumi-lang-nodejs=\"`version`\" pulumi-lang-dotnet=\"`Version`\" pulumi-lang-go=\"`version`\" pulumi-lang-python=\"`version`\" pulumi-lang-yaml=\"`version`\" pulumi-lang-java=\"`version`\"\u003e`version`\u003c/span\u003e. `APP_KIND` is set to workflowApp and `AzureFunctionsJobHost__extensionBundle__id` and `AzureFunctionsJobHost__extensionBundle__version` are set as detailed below.\n"},"bundleVersion":{"type":"string","description":"If \u003cspan pulumi-lang-nodejs=\"`useExtensionBundle`\" pulumi-lang-dotnet=\"`UseExtensionBundle`\" pulumi-lang-go=\"`useExtensionBundle`\" pulumi-lang-python=\"`use_extension_bundle`\" pulumi-lang-yaml=\"`useExtensionBundle`\" pulumi-lang-java=\"`useExtensionBundle`\"\u003e`use_extension_bundle`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e this controls the allowed range for bundle versions. Defaults to `[1.*, 2.0.0)`.\n"},"clientAffinityEnabled":{"type":"boolean","description":"Should the Logic App send session affinity cookies, which route client requests in the same session to the same instance?\n"},"clientCertificateMode":{"type":"string","description":"The mode of the Logic App's client certificates requirement for incoming requests. Possible values are `Required`, `Optional`, and `OptionalInteractiveUser`.\n"},"connectionStrings":{"type":"array","items":{"$ref":"#/types/azure:logicapps/StandardConnectionString:StandardConnectionString"},"description":"A \u003cspan pulumi-lang-nodejs=\"`connectionString`\" pulumi-lang-dotnet=\"`ConnectionString`\" pulumi-lang-go=\"`connectionString`\" pulumi-lang-python=\"`connection_string`\" pulumi-lang-yaml=\"`connectionString`\" pulumi-lang-java=\"`connectionString`\"\u003e`connection_string`\u003c/span\u003e block as defined below.\n"},"enabled":{"type":"boolean","description":"Is the Logic App enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"ftpPublishBasicAuthenticationEnabled":{"type":"boolean","description":"Whether the FTP basic authentication publishing profile is enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"httpsOnly":{"type":"boolean","description":"Can the Logic App only be accessed via HTTPS? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"identity":{"$ref":"#/types/azure:logicapps/StandardIdentity:StandardIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the Logic App. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"publicNetworkAccess":{"type":"string","description":"Whether Public Network Access should be enabled or not. Possible values are `Enabled` and `Disabled`. Defaults to `Enabled`.\n\n\u003e **Note:** Setting this property will also set it in the Site Config.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the Logic App. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"scmPublishBasicAuthenticationEnabled":{"type":"boolean","description":"Whether the default SCM basic authentication publishing profile is enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"siteConfig":{"$ref":"#/types/azure:logicapps/StandardSiteConfig:StandardSiteConfig","description":"A \u003cspan pulumi-lang-nodejs=\"`siteConfig`\" pulumi-lang-dotnet=\"`SiteConfig`\" pulumi-lang-go=\"`siteConfig`\" pulumi-lang-python=\"`site_config`\" pulumi-lang-yaml=\"`siteConfig`\" pulumi-lang-java=\"`siteConfig`\"\u003e`site_config`\u003c/span\u003e object as defined below.\n"},"storageAccountAccessKey":{"type":"string","description":"The access key which will be used to access the backend storage account for the Logic App.\n","secret":true},"storageAccountName":{"type":"string","description":"The backend storage account name which will be used by this Logic App (e.g. for Stateful workflows data). Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"storageAccountShareName":{"type":"string","description":"The name of the share used by the logic app, if you want to use a custom name. This corresponds to the WEBSITE_CONTENTSHARE appsetting, which this resource will create for you. If you don't specify a name, then this resource will generate a dynamic name. This setting is useful if you want to provision a storage account and create a share using \u003cspan pulumi-lang-nodejs=\"`azure.storage.Share`\" pulumi-lang-dotnet=\"`azure.storage.Share`\" pulumi-lang-go=\"`storage.Share`\" pulumi-lang-python=\"`storage.Share`\" pulumi-lang-yaml=\"`azure.storage.Share`\" pulumi-lang-java=\"`azure.storage.Share`\"\u003e`azure.storage.Share`\u003c/span\u003e.\n\n\u003e **Note:** When integrating a `CI/CD pipeline` and expecting to run from a deployed package in `Azure` you must seed your `app settings` as part of terraform code for Logic App to be successfully deployed. `Important Default key pairs`: (`\"WEBSITE_RUN_FROM_PACKAGE\" = \"\"`, `\"FUNCTIONS_WORKER_RUNTIME\" = \"node\"` (or Python, etc.), `\"WEBSITE_NODE_DEFAULT_VERSION\" = \"10.14.1\"`, `\"APPINSIGHTS_INSTRUMENTATIONKEY\" = \"\"`).\n\n\u003e **Note:** When using an App Service Plan in the `Free` or `Shared` Tiers \u003cspan pulumi-lang-nodejs=\"`use32BitWorkerProcess`\" pulumi-lang-dotnet=\"`Use32BitWorkerProcess`\" pulumi-lang-go=\"`use32BitWorkerProcess`\" pulumi-lang-python=\"`use_32_bit_worker_process`\" pulumi-lang-yaml=\"`use32BitWorkerProcess`\" pulumi-lang-java=\"`use32BitWorkerProcess`\"\u003e`use_32_bit_worker_process`\u003c/span\u003e must be set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"useExtensionBundle":{"type":"boolean","description":"Should the logic app use the bundled extension package? If true, then application settings for `AzureFunctionsJobHost__extensionBundle__id` and `AzureFunctionsJobHost__extensionBundle__version` will be created. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"version":{"type":"string","description":"The runtime version associated with the Logic App. Defaults to `~4`.\n"},"virtualNetworkSubnetId":{"type":"string","description":"The subnet ID which will be used by this resource for [regional virtual network integration](https://docs.microsoft.com/en-us/azure/app-service/overview-vnet-integration#regional-virtual-network-integration).\n\n\u003e **Note:** The AzureRM Terraform provider provides regional virtual network integration via the standalone resource\u003cspan pulumi-lang-nodejs=\" appServiceVirtualNetworkSwiftConnection \" pulumi-lang-dotnet=\" AppServiceVirtualNetworkSwiftConnection \" pulumi-lang-go=\" appServiceVirtualNetworkSwiftConnection \" pulumi-lang-python=\" app_service_virtual_network_swift_connection \" pulumi-lang-yaml=\" appServiceVirtualNetworkSwiftConnection \" pulumi-lang-java=\" appServiceVirtualNetworkSwiftConnection \"\u003e app_service_virtual_network_swift_connection \u003c/span\u003eand in-line within this resource using the \u003cspan pulumi-lang-nodejs=\"`virtualNetworkSubnetId`\" pulumi-lang-dotnet=\"`VirtualNetworkSubnetId`\" pulumi-lang-go=\"`virtualNetworkSubnetId`\" pulumi-lang-python=\"`virtual_network_subnet_id`\" pulumi-lang-yaml=\"`virtualNetworkSubnetId`\" pulumi-lang-java=\"`virtualNetworkSubnetId`\"\u003e`virtual_network_subnet_id`\u003c/span\u003e property. You cannot use both methods simultaneously.\n\n\u003e **Note:** Assigning the \u003cspan pulumi-lang-nodejs=\"`virtualNetworkSubnetId`\" pulumi-lang-dotnet=\"`VirtualNetworkSubnetId`\" pulumi-lang-go=\"`virtualNetworkSubnetId`\" pulumi-lang-python=\"`virtual_network_subnet_id`\" pulumi-lang-yaml=\"`virtualNetworkSubnetId`\" pulumi-lang-java=\"`virtualNetworkSubnetId`\"\u003e`virtual_network_subnet_id`\u003c/span\u003e property requires [RBAC permissions on the subnet](https://docs.microsoft.com/en-us/azure/app-service/overview-vnet-integration#permissions)\n"},"vnetContentShareEnabled":{"type":"boolean","description":"Specifies whether allow routing traffic between the Logic App and Storage Account content share through a virtual network. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"}},"requiredInputs":["appServicePlanId","resourceGroupName","storageAccountAccessKey","storageAccountName"],"stateInputs":{"description":"Input properties used for looking up and filtering Standard resources.\n","properties":{"appServicePlanId":{"type":"string","description":"The ID of the App Service Plan within which to create this Logic App.\n"},"appSettings":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of key-value pairs for [App Settings](https://docs.microsoft.com/azure/azure-functions/functions-app-settings) and custom values.\n\n\u003e **Note:** There are a number of application settings that will be managed for you by this resource type and *shouldn't* be configured separately as part of the\u003cspan pulumi-lang-nodejs=\" appSettings \" pulumi-lang-dotnet=\" AppSettings \" pulumi-lang-go=\" appSettings \" pulumi-lang-python=\" app_settings \" pulumi-lang-yaml=\" appSettings \" pulumi-lang-java=\" appSettings \"\u003e app_settings \u003c/span\u003eyou specify.  `AzureWebJobsStorage` is filled based on \u003cspan pulumi-lang-nodejs=\"`storageAccountName`\" pulumi-lang-dotnet=\"`StorageAccountName`\" pulumi-lang-go=\"`storageAccountName`\" pulumi-lang-python=\"`storage_account_name`\" pulumi-lang-yaml=\"`storageAccountName`\" pulumi-lang-java=\"`storageAccountName`\"\u003e`storage_account_name`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`storageAccountAccessKey`\" pulumi-lang-dotnet=\"`StorageAccountAccessKey`\" pulumi-lang-go=\"`storageAccountAccessKey`\" pulumi-lang-python=\"`storage_account_access_key`\" pulumi-lang-yaml=\"`storageAccountAccessKey`\" pulumi-lang-java=\"`storageAccountAccessKey`\"\u003e`storage_account_access_key`\u003c/span\u003e. `WEBSITE_CONTENTSHARE` is detailed below. `FUNCTIONS_EXTENSION_VERSION` is filled based on \u003cspan pulumi-lang-nodejs=\"`version`\" pulumi-lang-dotnet=\"`Version`\" pulumi-lang-go=\"`version`\" pulumi-lang-python=\"`version`\" pulumi-lang-yaml=\"`version`\" pulumi-lang-java=\"`version`\"\u003e`version`\u003c/span\u003e. `APP_KIND` is set to workflowApp and `AzureFunctionsJobHost__extensionBundle__id` and `AzureFunctionsJobHost__extensionBundle__version` are set as detailed below.\n"},"bundleVersion":{"type":"string","description":"If \u003cspan pulumi-lang-nodejs=\"`useExtensionBundle`\" pulumi-lang-dotnet=\"`UseExtensionBundle`\" pulumi-lang-go=\"`useExtensionBundle`\" pulumi-lang-python=\"`use_extension_bundle`\" pulumi-lang-yaml=\"`useExtensionBundle`\" pulumi-lang-java=\"`useExtensionBundle`\"\u003e`use_extension_bundle`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e this controls the allowed range for bundle versions. Defaults to `[1.*, 2.0.0)`.\n"},"clientAffinityEnabled":{"type":"boolean","description":"Should the Logic App send session affinity cookies, which route client requests in the same session to the same instance?\n"},"clientCertificateMode":{"type":"string","description":"The mode of the Logic App's client certificates requirement for incoming requests. Possible values are `Required`, `Optional`, and `OptionalInteractiveUser`.\n"},"connectionStrings":{"type":"array","items":{"$ref":"#/types/azure:logicapps/StandardConnectionString:StandardConnectionString"},"description":"A \u003cspan pulumi-lang-nodejs=\"`connectionString`\" pulumi-lang-dotnet=\"`ConnectionString`\" pulumi-lang-go=\"`connectionString`\" pulumi-lang-python=\"`connection_string`\" pulumi-lang-yaml=\"`connectionString`\" pulumi-lang-java=\"`connectionString`\"\u003e`connection_string`\u003c/span\u003e block as defined below.\n"},"customDomainVerificationId":{"type":"string","description":"An identifier used by App Service to perform domain ownership verification via DNS TXT record.\n"},"defaultHostname":{"type":"string","description":"The default hostname associated with the Logic App - such as `mysite.azurewebsites.net`.\n"},"enabled":{"type":"boolean","description":"Is the Logic App enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"ftpPublishBasicAuthenticationEnabled":{"type":"boolean","description":"Whether the FTP basic authentication publishing profile is enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"httpsOnly":{"type":"boolean","description":"Can the Logic App only be accessed via HTTPS? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"identity":{"$ref":"#/types/azure:logicapps/StandardIdentity:StandardIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"kind":{"type":"string","description":"The Logic App kind.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the Logic App. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"outboundIpAddresses":{"type":"string","description":"A comma separated list of outbound IP addresses - such as `52.23.25.3,52.143.43.12`.\n"},"possibleOutboundIpAddresses":{"type":"string","description":"A comma separated list of outbound IP addresses - such as `52.23.25.3,52.143.43.12,52.143.43.17` - not all of which are necessarily in use. Superset of \u003cspan pulumi-lang-nodejs=\"`outboundIpAddresses`\" pulumi-lang-dotnet=\"`OutboundIpAddresses`\" pulumi-lang-go=\"`outboundIpAddresses`\" pulumi-lang-python=\"`outbound_ip_addresses`\" pulumi-lang-yaml=\"`outboundIpAddresses`\" pulumi-lang-java=\"`outboundIpAddresses`\"\u003e`outbound_ip_addresses`\u003c/span\u003e.\n"},"publicNetworkAccess":{"type":"string","description":"Whether Public Network Access should be enabled or not. Possible values are `Enabled` and `Disabled`. Defaults to `Enabled`.\n\n\u003e **Note:** Setting this property will also set it in the Site Config.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the Logic App. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"scmPublishBasicAuthenticationEnabled":{"type":"boolean","description":"Whether the default SCM basic authentication publishing profile is enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"siteConfig":{"$ref":"#/types/azure:logicapps/StandardSiteConfig:StandardSiteConfig","description":"A \u003cspan pulumi-lang-nodejs=\"`siteConfig`\" pulumi-lang-dotnet=\"`SiteConfig`\" pulumi-lang-go=\"`siteConfig`\" pulumi-lang-python=\"`site_config`\" pulumi-lang-yaml=\"`siteConfig`\" pulumi-lang-java=\"`siteConfig`\"\u003e`site_config`\u003c/span\u003e object as defined below.\n"},"siteCredentials":{"type":"array","items":{"$ref":"#/types/azure:logicapps/StandardSiteCredential:StandardSiteCredential"},"description":"A \u003cspan pulumi-lang-nodejs=\"`siteCredential`\" pulumi-lang-dotnet=\"`SiteCredential`\" pulumi-lang-go=\"`siteCredential`\" pulumi-lang-python=\"`site_credential`\" pulumi-lang-yaml=\"`siteCredential`\" pulumi-lang-java=\"`siteCredential`\"\u003e`site_credential`\u003c/span\u003e block as defined below, which contains the site-level credentials used to publish to this App Service.\n"},"storageAccountAccessKey":{"type":"string","description":"The access key which will be used to access the backend storage account for the Logic App.\n","secret":true},"storageAccountName":{"type":"string","description":"The backend storage account name which will be used by this Logic App (e.g. for Stateful workflows data). Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"storageAccountShareName":{"type":"string","description":"The name of the share used by the logic app, if you want to use a custom name. This corresponds to the WEBSITE_CONTENTSHARE appsetting, which this resource will create for you. If you don't specify a name, then this resource will generate a dynamic name. This setting is useful if you want to provision a storage account and create a share using \u003cspan pulumi-lang-nodejs=\"`azure.storage.Share`\" pulumi-lang-dotnet=\"`azure.storage.Share`\" pulumi-lang-go=\"`storage.Share`\" pulumi-lang-python=\"`storage.Share`\" pulumi-lang-yaml=\"`azure.storage.Share`\" pulumi-lang-java=\"`azure.storage.Share`\"\u003e`azure.storage.Share`\u003c/span\u003e.\n\n\u003e **Note:** When integrating a `CI/CD pipeline` and expecting to run from a deployed package in `Azure` you must seed your `app settings` as part of terraform code for Logic App to be successfully deployed. `Important Default key pairs`: (`\"WEBSITE_RUN_FROM_PACKAGE\" = \"\"`, `\"FUNCTIONS_WORKER_RUNTIME\" = \"node\"` (or Python, etc.), `\"WEBSITE_NODE_DEFAULT_VERSION\" = \"10.14.1\"`, `\"APPINSIGHTS_INSTRUMENTATIONKEY\" = \"\"`).\n\n\u003e **Note:** When using an App Service Plan in the `Free` or `Shared` Tiers \u003cspan pulumi-lang-nodejs=\"`use32BitWorkerProcess`\" pulumi-lang-dotnet=\"`Use32BitWorkerProcess`\" pulumi-lang-go=\"`use32BitWorkerProcess`\" pulumi-lang-python=\"`use_32_bit_worker_process`\" pulumi-lang-yaml=\"`use32BitWorkerProcess`\" pulumi-lang-java=\"`use32BitWorkerProcess`\"\u003e`use_32_bit_worker_process`\u003c/span\u003e must be set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"useExtensionBundle":{"type":"boolean","description":"Should the logic app use the bundled extension package? If true, then application settings for `AzureFunctionsJobHost__extensionBundle__id` and `AzureFunctionsJobHost__extensionBundle__version` will be created. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"version":{"type":"string","description":"The runtime version associated with the Logic App. Defaults to `~4`.\n"},"virtualNetworkSubnetId":{"type":"string","description":"The subnet ID which will be used by this resource for [regional virtual network integration](https://docs.microsoft.com/en-us/azure/app-service/overview-vnet-integration#regional-virtual-network-integration).\n\n\u003e **Note:** The AzureRM Terraform provider provides regional virtual network integration via the standalone resource\u003cspan pulumi-lang-nodejs=\" appServiceVirtualNetworkSwiftConnection \" pulumi-lang-dotnet=\" AppServiceVirtualNetworkSwiftConnection \" pulumi-lang-go=\" appServiceVirtualNetworkSwiftConnection \" pulumi-lang-python=\" app_service_virtual_network_swift_connection \" pulumi-lang-yaml=\" appServiceVirtualNetworkSwiftConnection \" pulumi-lang-java=\" appServiceVirtualNetworkSwiftConnection \"\u003e app_service_virtual_network_swift_connection \u003c/span\u003eand in-line within this resource using the \u003cspan pulumi-lang-nodejs=\"`virtualNetworkSubnetId`\" pulumi-lang-dotnet=\"`VirtualNetworkSubnetId`\" pulumi-lang-go=\"`virtualNetworkSubnetId`\" pulumi-lang-python=\"`virtual_network_subnet_id`\" pulumi-lang-yaml=\"`virtualNetworkSubnetId`\" pulumi-lang-java=\"`virtualNetworkSubnetId`\"\u003e`virtual_network_subnet_id`\u003c/span\u003e property. You cannot use both methods simultaneously.\n\n\u003e **Note:** Assigning the \u003cspan pulumi-lang-nodejs=\"`virtualNetworkSubnetId`\" pulumi-lang-dotnet=\"`VirtualNetworkSubnetId`\" pulumi-lang-go=\"`virtualNetworkSubnetId`\" pulumi-lang-python=\"`virtual_network_subnet_id`\" pulumi-lang-yaml=\"`virtualNetworkSubnetId`\" pulumi-lang-java=\"`virtualNetworkSubnetId`\"\u003e`virtual_network_subnet_id`\u003c/span\u003e property requires [RBAC permissions on the subnet](https://docs.microsoft.com/en-us/azure/app-service/overview-vnet-integration#permissions)\n"},"vnetContentShareEnabled":{"type":"boolean","description":"Specifies whether allow routing traffic between the Logic App and Storage Account content share through a virtual network. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"}},"type":"object"}},"azure:logicapps/triggerCustom:TriggerCustom":{"description":"Manages a Custom Trigger within a Logic App Workflow\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"workflow-resources\",\n    location: \"West Europe\",\n});\nconst exampleWorkflow = new azure.logicapps.Workflow(\"example\", {\n    name: \"workflow1\",\n    location: example.location,\n    resourceGroupName: example.name,\n});\nconst exampleTriggerCustom = new azure.logicapps.TriggerCustom(\"example\", {\n    name: \"example-trigger\",\n    logicAppId: exampleWorkflow.id,\n    body: `{\n  \\\\\"recurrence\\\\\": {\n    \\\\\"frequency\\\\\": \\\\\"Day\\\\\",\n    \\\\\"interval\\\\\": 1\n  },\n  \\\\\"type\\\\\": \\\\\"Recurrence\\\\\"\n}\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"workflow-resources\",\n    location=\"West Europe\")\nexample_workflow = azure.logicapps.Workflow(\"example\",\n    name=\"workflow1\",\n    location=example.location,\n    resource_group_name=example.name)\nexample_trigger_custom = azure.logicapps.TriggerCustom(\"example\",\n    name=\"example-trigger\",\n    logic_app_id=example_workflow.id,\n    body=\"\"\"{\n  \\\"recurrence\\\": {\n    \\\"frequency\\\": \\\"Day\\\",\n    \\\"interval\\\": 1\n  },\n  \\\"type\\\": \\\"Recurrence\\\"\n}\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"workflow-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleWorkflow = new Azure.LogicApps.Workflow(\"example\", new()\n    {\n        Name = \"workflow1\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n    });\n\n    var exampleTriggerCustom = new Azure.LogicApps.TriggerCustom(\"example\", new()\n    {\n        Name = \"example-trigger\",\n        LogicAppId = exampleWorkflow.Id,\n        Body = @\"{\n  \\\"\"recurrence\\\"\": {\n    \\\"\"frequency\\\"\": \\\"\"Day\\\"\",\n    \\\"\"interval\\\"\": 1\n  },\n  \\\"\"type\\\"\": \\\"\"Recurrence\\\"\"\n}\n\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/logicapps\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"workflow-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleWorkflow, err := logicapps.NewWorkflow(ctx, \"example\", \u0026logicapps.WorkflowArgs{\n\t\t\tName:              pulumi.String(\"workflow1\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = logicapps.NewTriggerCustom(ctx, \"example\", \u0026logicapps.TriggerCustomArgs{\n\t\t\tName:       pulumi.String(\"example-trigger\"),\n\t\t\tLogicAppId: exampleWorkflow.ID(),\n\t\t\tBody: pulumi.String(`{\n  \\\"recurrence\\\": {\n    \\\"frequency\\\": \\\"Day\\\",\n    \\\"interval\\\": 1\n  },\n  \\\"type\\\": \\\"Recurrence\\\"\n}\n`),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.logicapps.Workflow;\nimport com.pulumi.azure.logicapps.WorkflowArgs;\nimport com.pulumi.azure.logicapps.TriggerCustom;\nimport com.pulumi.azure.logicapps.TriggerCustomArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"workflow-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleWorkflow = new Workflow(\"exampleWorkflow\", WorkflowArgs.builder()\n            .name(\"workflow1\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .build());\n\n        var exampleTriggerCustom = new TriggerCustom(\"exampleTriggerCustom\", TriggerCustomArgs.builder()\n            .name(\"example-trigger\")\n            .logicAppId(exampleWorkflow.id())\n            .body(\"\"\"\n{\n  \\\"recurrence\\\": {\n    \\\"frequency\\\": \\\"Day\\\",\n    \\\"interval\\\": 1\n  },\n  \\\"type\\\": \\\"Recurrence\\\"\n}\n            \"\"\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: workflow-resources\n      location: West Europe\n  exampleWorkflow:\n    type: azure:logicapps:Workflow\n    name: example\n    properties:\n      name: workflow1\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n  exampleTriggerCustom:\n    type: azure:logicapps:TriggerCustom\n    name: example\n    properties:\n      name: example-trigger\n      logicAppId: ${exampleWorkflow.id}\n      body: |\n        {\n          \\\"recurrence\\\": {\n            \\\"frequency\\\": \\\"Day\\\",\n            \\\"interval\\\": 1\n          },\n          \\\"type\\\": \\\"Recurrence\\\"\n        }\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nLogic App Custom Triggers can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:logicapps/triggerCustom:TriggerCustom custom1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Logic/workflows/workflow1/triggers/custom1\n```\n\n\u003e **NOTE:** This ID is unique to this provider and doesn't directly match to any other resource. To compose this ID, you can take the ID Logic App Workflow and append `/triggers/{name of the trigger}`.\n\n","properties":{"body":{"type":"string","description":"Specifies the JSON Blob defining the Body of this Custom Trigger.\n"},"callbackUrl":{"type":"string","description":"The URL of the Trigger within the Logic App Workflow. For use with certain resources like\u003cspan pulumi-lang-nodejs=\" monitorActionGroup \" pulumi-lang-dotnet=\" MonitorActionGroup \" pulumi-lang-go=\" monitorActionGroup \" pulumi-lang-python=\" monitor_action_group \" pulumi-lang-yaml=\" monitorActionGroup \" pulumi-lang-java=\" monitorActionGroup \"\u003e monitor_action_group \u003c/span\u003eand security_center_automation.\n"},"logicAppId":{"type":"string","description":"Specifies the ID of the Logic App Workflow. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"Specifies the name of the HTTP Trigger to be created within the Logic App Workflow. Changing this forces a new resource to be created.\n\n\u003e **NOTE:** This name must be unique across all Triggers within the Logic App Workflow.\n"}},"required":["body","callbackUrl","logicAppId","name"],"inputProperties":{"body":{"type":"string","description":"Specifies the JSON Blob defining the Body of this Custom Trigger.\n"},"logicAppId":{"type":"string","description":"Specifies the ID of the Logic App Workflow. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the HTTP Trigger to be created within the Logic App Workflow. Changing this forces a new resource to be created.\n\n\u003e **NOTE:** This name must be unique across all Triggers within the Logic App Workflow.\n","willReplaceOnChanges":true}},"requiredInputs":["body","logicAppId"],"stateInputs":{"description":"Input properties used for looking up and filtering TriggerCustom resources.\n","properties":{"body":{"type":"string","description":"Specifies the JSON Blob defining the Body of this Custom Trigger.\n"},"callbackUrl":{"type":"string","description":"The URL of the Trigger within the Logic App Workflow. For use with certain resources like\u003cspan pulumi-lang-nodejs=\" monitorActionGroup \" pulumi-lang-dotnet=\" MonitorActionGroup \" pulumi-lang-go=\" monitorActionGroup \" pulumi-lang-python=\" monitor_action_group \" pulumi-lang-yaml=\" monitorActionGroup \" pulumi-lang-java=\" monitorActionGroup \"\u003e monitor_action_group \u003c/span\u003eand security_center_automation.\n"},"logicAppId":{"type":"string","description":"Specifies the ID of the Logic App Workflow. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the HTTP Trigger to be created within the Logic App Workflow. Changing this forces a new resource to be created.\n\n\u003e **NOTE:** This name must be unique across all Triggers within the Logic App Workflow.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:logicapps/triggerHttpRequest:TriggerHttpRequest":{"description":"Manages a HTTP Request Trigger within a Logic App Workflow\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"workflow-resources\",\n    location: \"West Europe\",\n});\nconst exampleWorkflow = new azure.logicapps.Workflow(\"example\", {\n    name: \"workflow1\",\n    location: example.location,\n    resourceGroupName: example.name,\n});\nconst exampleTriggerHttpRequest = new azure.logicapps.TriggerHttpRequest(\"example\", {\n    name: \"some-http-trigger\",\n    logicAppId: exampleWorkflow.id,\n    schema: `{\n    \\\\\"type\\\\\": \\\\\"object\\\\\",\n    \\\\\"properties\\\\\": {\n        \\\\\"hello\\\\\": {\n            \\\\\"type\\\\\": \\\\\"string\\\\\"\n        }\n    }\n}\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"workflow-resources\",\n    location=\"West Europe\")\nexample_workflow = azure.logicapps.Workflow(\"example\",\n    name=\"workflow1\",\n    location=example.location,\n    resource_group_name=example.name)\nexample_trigger_http_request = azure.logicapps.TriggerHttpRequest(\"example\",\n    name=\"some-http-trigger\",\n    logic_app_id=example_workflow.id,\n    schema=\"\"\"{\n    \\\"type\\\": \\\"object\\\",\n    \\\"properties\\\": {\n        \\\"hello\\\": {\n            \\\"type\\\": \\\"string\\\"\n        }\n    }\n}\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"workflow-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleWorkflow = new Azure.LogicApps.Workflow(\"example\", new()\n    {\n        Name = \"workflow1\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n    });\n\n    var exampleTriggerHttpRequest = new Azure.LogicApps.TriggerHttpRequest(\"example\", new()\n    {\n        Name = \"some-http-trigger\",\n        LogicAppId = exampleWorkflow.Id,\n        Schema = @\"{\n    \\\"\"type\\\"\": \\\"\"object\\\"\",\n    \\\"\"properties\\\"\": {\n        \\\"\"hello\\\"\": {\n            \\\"\"type\\\"\": \\\"\"string\\\"\"\n        }\n    }\n}\n\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/logicapps\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"workflow-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleWorkflow, err := logicapps.NewWorkflow(ctx, \"example\", \u0026logicapps.WorkflowArgs{\n\t\t\tName:              pulumi.String(\"workflow1\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = logicapps.NewTriggerHttpRequest(ctx, \"example\", \u0026logicapps.TriggerHttpRequestArgs{\n\t\t\tName:       pulumi.String(\"some-http-trigger\"),\n\t\t\tLogicAppId: exampleWorkflow.ID(),\n\t\t\tSchema: pulumi.String(`{\n    \\\"type\\\": \\\"object\\\",\n    \\\"properties\\\": {\n        \\\"hello\\\": {\n            \\\"type\\\": \\\"string\\\"\n        }\n    }\n}\n`),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.logicapps.Workflow;\nimport com.pulumi.azure.logicapps.WorkflowArgs;\nimport com.pulumi.azure.logicapps.TriggerHttpRequest;\nimport com.pulumi.azure.logicapps.TriggerHttpRequestArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"workflow-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleWorkflow = new Workflow(\"exampleWorkflow\", WorkflowArgs.builder()\n            .name(\"workflow1\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .build());\n\n        var exampleTriggerHttpRequest = new TriggerHttpRequest(\"exampleTriggerHttpRequest\", TriggerHttpRequestArgs.builder()\n            .name(\"some-http-trigger\")\n            .logicAppId(exampleWorkflow.id())\n            .schema(\"\"\"\n{\n    \\\"type\\\": \\\"object\\\",\n    \\\"properties\\\": {\n        \\\"hello\\\": {\n            \\\"type\\\": \\\"string\\\"\n        }\n    }\n}\n            \"\"\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: workflow-resources\n      location: West Europe\n  exampleWorkflow:\n    type: azure:logicapps:Workflow\n    name: example\n    properties:\n      name: workflow1\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n  exampleTriggerHttpRequest:\n    type: azure:logicapps:TriggerHttpRequest\n    name: example\n    properties:\n      name: some-http-trigger\n      logicAppId: ${exampleWorkflow.id}\n      schema: |\n        {\n            \\\"type\\\": \\\"object\\\",\n            \\\"properties\\\": {\n                \\\"hello\\\": {\n                    \\\"type\\\": \\\"string\\\"\n                }\n            }\n        }\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nLogic App HTTP Request Triggers can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:logicapps/triggerHttpRequest:TriggerHttpRequest request1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Logic/workflows/workflow1/triggers/request1\n```\n\n\u003e **NOTE:** This ID is unique to this provider and doesn't directly match to any other resource. To compose this ID, you can take the ID Logic App Workflow and append `/triggers/{name of the trigger}`.\n\n","properties":{"callbackUrl":{"type":"string","description":"The URL of the Trigger within the Logic App Workflow. For use with certain resources like\u003cspan pulumi-lang-nodejs=\" monitorActionGroup \" pulumi-lang-dotnet=\" MonitorActionGroup \" pulumi-lang-go=\" monitorActionGroup \" pulumi-lang-python=\" monitor_action_group \" pulumi-lang-yaml=\" monitorActionGroup \" pulumi-lang-java=\" monitorActionGroup \"\u003e monitor_action_group \u003c/span\u003eand security_center_automation.\n"},"logicAppId":{"type":"string","description":"Specifies the ID of the Logic App Workflow. Changing this forces a new resource to be created.\n"},"method":{"type":"string","description":"Specifies the HTTP Method which the request be using. Possible values include `DELETE`, `GET`, `PATCH`, `POST` or `PUT`.\n"},"name":{"type":"string","description":"Specifies the name of the HTTP Request Trigger to be created within the Logic App Workflow. Changing this forces a new resource to be created.\n\n\u003e **NOTE:** This name must be unique across all Triggers within the Logic App Workflow.\n"},"relativePath":{"type":"string","description":"Specifies the Relative Path used for this Request.\n\n\u003e **NOTE:** When \u003cspan pulumi-lang-nodejs=\"`relativePath`\" pulumi-lang-dotnet=\"`RelativePath`\" pulumi-lang-go=\"`relativePath`\" pulumi-lang-python=\"`relative_path`\" pulumi-lang-yaml=\"`relativePath`\" pulumi-lang-java=\"`relativePath`\"\u003e`relative_path`\u003c/span\u003e is set a \u003cspan pulumi-lang-nodejs=\"`method`\" pulumi-lang-dotnet=\"`Method`\" pulumi-lang-go=\"`method`\" pulumi-lang-python=\"`method`\" pulumi-lang-yaml=\"`method`\" pulumi-lang-java=\"`method`\"\u003e`method`\u003c/span\u003e must also be set.\n"},"schema":{"type":"string","description":"A JSON Blob defining the Schema of the incoming request. This needs to be valid JSON.\n"}},"required":["callbackUrl","logicAppId","name","schema"],"inputProperties":{"logicAppId":{"type":"string","description":"Specifies the ID of the Logic App Workflow. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"method":{"type":"string","description":"Specifies the HTTP Method which the request be using. Possible values include `DELETE`, `GET`, `PATCH`, `POST` or `PUT`.\n"},"name":{"type":"string","description":"Specifies the name of the HTTP Request Trigger to be created within the Logic App Workflow. Changing this forces a new resource to be created.\n\n\u003e **NOTE:** This name must be unique across all Triggers within the Logic App Workflow.\n","willReplaceOnChanges":true},"relativePath":{"type":"string","description":"Specifies the Relative Path used for this Request.\n\n\u003e **NOTE:** When \u003cspan pulumi-lang-nodejs=\"`relativePath`\" pulumi-lang-dotnet=\"`RelativePath`\" pulumi-lang-go=\"`relativePath`\" pulumi-lang-python=\"`relative_path`\" pulumi-lang-yaml=\"`relativePath`\" pulumi-lang-java=\"`relativePath`\"\u003e`relative_path`\u003c/span\u003e is set a \u003cspan pulumi-lang-nodejs=\"`method`\" pulumi-lang-dotnet=\"`Method`\" pulumi-lang-go=\"`method`\" pulumi-lang-python=\"`method`\" pulumi-lang-yaml=\"`method`\" pulumi-lang-java=\"`method`\"\u003e`method`\u003c/span\u003e must also be set.\n"},"schema":{"type":"string","description":"A JSON Blob defining the Schema of the incoming request. This needs to be valid JSON.\n"}},"requiredInputs":["logicAppId","schema"],"stateInputs":{"description":"Input properties used for looking up and filtering TriggerHttpRequest resources.\n","properties":{"callbackUrl":{"type":"string","description":"The URL of the Trigger within the Logic App Workflow. For use with certain resources like\u003cspan pulumi-lang-nodejs=\" monitorActionGroup \" pulumi-lang-dotnet=\" MonitorActionGroup \" pulumi-lang-go=\" monitorActionGroup \" pulumi-lang-python=\" monitor_action_group \" pulumi-lang-yaml=\" monitorActionGroup \" pulumi-lang-java=\" monitorActionGroup \"\u003e monitor_action_group \u003c/span\u003eand security_center_automation.\n"},"logicAppId":{"type":"string","description":"Specifies the ID of the Logic App Workflow. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"method":{"type":"string","description":"Specifies the HTTP Method which the request be using. Possible values include `DELETE`, `GET`, `PATCH`, `POST` or `PUT`.\n"},"name":{"type":"string","description":"Specifies the name of the HTTP Request Trigger to be created within the Logic App Workflow. Changing this forces a new resource to be created.\n\n\u003e **NOTE:** This name must be unique across all Triggers within the Logic App Workflow.\n","willReplaceOnChanges":true},"relativePath":{"type":"string","description":"Specifies the Relative Path used for this Request.\n\n\u003e **NOTE:** When \u003cspan pulumi-lang-nodejs=\"`relativePath`\" pulumi-lang-dotnet=\"`RelativePath`\" pulumi-lang-go=\"`relativePath`\" pulumi-lang-python=\"`relative_path`\" pulumi-lang-yaml=\"`relativePath`\" pulumi-lang-java=\"`relativePath`\"\u003e`relative_path`\u003c/span\u003e is set a \u003cspan pulumi-lang-nodejs=\"`method`\" pulumi-lang-dotnet=\"`Method`\" pulumi-lang-go=\"`method`\" pulumi-lang-python=\"`method`\" pulumi-lang-yaml=\"`method`\" pulumi-lang-java=\"`method`\"\u003e`method`\u003c/span\u003e must also be set.\n"},"schema":{"type":"string","description":"A JSON Blob defining the Schema of the incoming request. This needs to be valid JSON.\n"}},"type":"object"}},"azure:logicapps/triggerRecurrence:TriggerRecurrence":{"description":"Manages a Recurrence Trigger within a Logic App Workflow\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"workflow-resources\",\n    location: \"West Europe\",\n});\nconst exampleWorkflow = new azure.logicapps.Workflow(\"example\", {\n    name: \"workflow1\",\n    location: example.location,\n    resourceGroupName: example.name,\n});\nconst exampleTriggerRecurrence = new azure.logicapps.TriggerRecurrence(\"example\", {\n    name: \"run-every-day\",\n    logicAppId: exampleWorkflow.id,\n    frequency: \"Day\",\n    interval: 1,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"workflow-resources\",\n    location=\"West Europe\")\nexample_workflow = azure.logicapps.Workflow(\"example\",\n    name=\"workflow1\",\n    location=example.location,\n    resource_group_name=example.name)\nexample_trigger_recurrence = azure.logicapps.TriggerRecurrence(\"example\",\n    name=\"run-every-day\",\n    logic_app_id=example_workflow.id,\n    frequency=\"Day\",\n    interval=1)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"workflow-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleWorkflow = new Azure.LogicApps.Workflow(\"example\", new()\n    {\n        Name = \"workflow1\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n    });\n\n    var exampleTriggerRecurrence = new Azure.LogicApps.TriggerRecurrence(\"example\", new()\n    {\n        Name = \"run-every-day\",\n        LogicAppId = exampleWorkflow.Id,\n        Frequency = \"Day\",\n        Interval = 1,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/logicapps\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"workflow-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleWorkflow, err := logicapps.NewWorkflow(ctx, \"example\", \u0026logicapps.WorkflowArgs{\n\t\t\tName:              pulumi.String(\"workflow1\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = logicapps.NewTriggerRecurrence(ctx, \"example\", \u0026logicapps.TriggerRecurrenceArgs{\n\t\t\tName:       pulumi.String(\"run-every-day\"),\n\t\t\tLogicAppId: exampleWorkflow.ID(),\n\t\t\tFrequency:  pulumi.String(\"Day\"),\n\t\t\tInterval:   pulumi.Int(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.logicapps.Workflow;\nimport com.pulumi.azure.logicapps.WorkflowArgs;\nimport com.pulumi.azure.logicapps.TriggerRecurrence;\nimport com.pulumi.azure.logicapps.TriggerRecurrenceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"workflow-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleWorkflow = new Workflow(\"exampleWorkflow\", WorkflowArgs.builder()\n            .name(\"workflow1\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .build());\n\n        var exampleTriggerRecurrence = new TriggerRecurrence(\"exampleTriggerRecurrence\", TriggerRecurrenceArgs.builder()\n            .name(\"run-every-day\")\n            .logicAppId(exampleWorkflow.id())\n            .frequency(\"Day\")\n            .interval(1)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: workflow-resources\n      location: West Europe\n  exampleWorkflow:\n    type: azure:logicapps:Workflow\n    name: example\n    properties:\n      name: workflow1\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n  exampleTriggerRecurrence:\n    type: azure:logicapps:TriggerRecurrence\n    name: example\n    properties:\n      name: run-every-day\n      logicAppId: ${exampleWorkflow.id}\n      frequency: Day\n      interval: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nLogic App Recurrence Triggers can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:logicapps/triggerRecurrence:TriggerRecurrence daily /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Logic/workflows/workflow1/triggers/daily\n```\n\n\u003e **NOTE:** This ID is unique to this provider and doesn't directly match to any other resource. To compose this ID, you can take the ID Logic App Workflow and append `/triggers/{name of the trigger}`.\n\n","properties":{"frequency":{"type":"string","description":"Specifies the Frequency at which this Trigger should be run. Possible values include `Month`, `Week`, `Day`, `Hour`, `Minute` and `Second`.\n"},"interval":{"type":"integer","description":"Specifies interval used for the Frequency, for example a value of \u003cspan pulumi-lang-nodejs=\"`4`\" pulumi-lang-dotnet=\"`4`\" pulumi-lang-go=\"`4`\" pulumi-lang-python=\"`4`\" pulumi-lang-yaml=\"`4`\" pulumi-lang-java=\"`4`\"\u003e`4`\u003c/span\u003e for \u003cspan pulumi-lang-nodejs=\"`interval`\" pulumi-lang-dotnet=\"`Interval`\" pulumi-lang-go=\"`interval`\" pulumi-lang-python=\"`interval`\" pulumi-lang-yaml=\"`interval`\" pulumi-lang-java=\"`interval`\"\u003e`interval`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`hour`\" pulumi-lang-dotnet=\"`Hour`\" pulumi-lang-go=\"`hour`\" pulumi-lang-python=\"`hour`\" pulumi-lang-yaml=\"`hour`\" pulumi-lang-java=\"`hour`\"\u003e`hour`\u003c/span\u003e for \u003cspan pulumi-lang-nodejs=\"`frequency`\" pulumi-lang-dotnet=\"`Frequency`\" pulumi-lang-go=\"`frequency`\" pulumi-lang-python=\"`frequency`\" pulumi-lang-yaml=\"`frequency`\" pulumi-lang-java=\"`frequency`\"\u003e`frequency`\u003c/span\u003e would run the Trigger every 4 hours.\n"},"logicAppId":{"type":"string","description":"Specifies the ID of the Logic App Workflow. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"Specifies the name of the Recurrence Triggers to be created within the Logic App Workflow. Changing this forces a new resource to be created.\n\n\u003e **NOTE:** This name must be unique across all Triggers within the Logic App Workflow.\n"},"schedule":{"$ref":"#/types/azure:logicapps/TriggerRecurrenceSchedule:TriggerRecurrenceSchedule","description":"A \u003cspan pulumi-lang-nodejs=\"`schedule`\" pulumi-lang-dotnet=\"`Schedule`\" pulumi-lang-go=\"`schedule`\" pulumi-lang-python=\"`schedule`\" pulumi-lang-yaml=\"`schedule`\" pulumi-lang-java=\"`schedule`\"\u003e`schedule`\u003c/span\u003e block as specified below.\n"},"startTime":{"type":"string","description":"Specifies the start date and time for this trigger in RFC3339 format: `2000-01-02T03:04:05Z`.\n"},"timeZone":{"type":"string","description":"Specifies the time zone for this trigger. Supported time zone options are listed [here](https://support.microsoft.com/en-us/help/973627/microsoft-time-zone-index-values)\n"}},"required":["frequency","interval","logicAppId","name","timeZone"],"inputProperties":{"frequency":{"type":"string","description":"Specifies the Frequency at which this Trigger should be run. Possible values include `Month`, `Week`, `Day`, `Hour`, `Minute` and `Second`.\n"},"interval":{"type":"integer","description":"Specifies interval used for the Frequency, for example a value of \u003cspan pulumi-lang-nodejs=\"`4`\" pulumi-lang-dotnet=\"`4`\" pulumi-lang-go=\"`4`\" pulumi-lang-python=\"`4`\" pulumi-lang-yaml=\"`4`\" pulumi-lang-java=\"`4`\"\u003e`4`\u003c/span\u003e for \u003cspan pulumi-lang-nodejs=\"`interval`\" pulumi-lang-dotnet=\"`Interval`\" pulumi-lang-go=\"`interval`\" pulumi-lang-python=\"`interval`\" pulumi-lang-yaml=\"`interval`\" pulumi-lang-java=\"`interval`\"\u003e`interval`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`hour`\" pulumi-lang-dotnet=\"`Hour`\" pulumi-lang-go=\"`hour`\" pulumi-lang-python=\"`hour`\" pulumi-lang-yaml=\"`hour`\" pulumi-lang-java=\"`hour`\"\u003e`hour`\u003c/span\u003e for \u003cspan pulumi-lang-nodejs=\"`frequency`\" pulumi-lang-dotnet=\"`Frequency`\" pulumi-lang-go=\"`frequency`\" pulumi-lang-python=\"`frequency`\" pulumi-lang-yaml=\"`frequency`\" pulumi-lang-java=\"`frequency`\"\u003e`frequency`\u003c/span\u003e would run the Trigger every 4 hours.\n"},"logicAppId":{"type":"string","description":"Specifies the ID of the Logic App Workflow. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the Recurrence Triggers to be created within the Logic App Workflow. Changing this forces a new resource to be created.\n\n\u003e **NOTE:** This name must be unique across all Triggers within the Logic App Workflow.\n","willReplaceOnChanges":true},"schedule":{"$ref":"#/types/azure:logicapps/TriggerRecurrenceSchedule:TriggerRecurrenceSchedule","description":"A \u003cspan pulumi-lang-nodejs=\"`schedule`\" pulumi-lang-dotnet=\"`Schedule`\" pulumi-lang-go=\"`schedule`\" pulumi-lang-python=\"`schedule`\" pulumi-lang-yaml=\"`schedule`\" pulumi-lang-java=\"`schedule`\"\u003e`schedule`\u003c/span\u003e block as specified below.\n"},"startTime":{"type":"string","description":"Specifies the start date and time for this trigger in RFC3339 format: `2000-01-02T03:04:05Z`.\n"},"timeZone":{"type":"string","description":"Specifies the time zone for this trigger. Supported time zone options are listed [here](https://support.microsoft.com/en-us/help/973627/microsoft-time-zone-index-values)\n"}},"requiredInputs":["frequency","interval","logicAppId"],"stateInputs":{"description":"Input properties used for looking up and filtering TriggerRecurrence resources.\n","properties":{"frequency":{"type":"string","description":"Specifies the Frequency at which this Trigger should be run. Possible values include `Month`, `Week`, `Day`, `Hour`, `Minute` and `Second`.\n"},"interval":{"type":"integer","description":"Specifies interval used for the Frequency, for example a value of \u003cspan pulumi-lang-nodejs=\"`4`\" pulumi-lang-dotnet=\"`4`\" pulumi-lang-go=\"`4`\" pulumi-lang-python=\"`4`\" pulumi-lang-yaml=\"`4`\" pulumi-lang-java=\"`4`\"\u003e`4`\u003c/span\u003e for \u003cspan pulumi-lang-nodejs=\"`interval`\" pulumi-lang-dotnet=\"`Interval`\" pulumi-lang-go=\"`interval`\" pulumi-lang-python=\"`interval`\" pulumi-lang-yaml=\"`interval`\" pulumi-lang-java=\"`interval`\"\u003e`interval`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`hour`\" pulumi-lang-dotnet=\"`Hour`\" pulumi-lang-go=\"`hour`\" pulumi-lang-python=\"`hour`\" pulumi-lang-yaml=\"`hour`\" pulumi-lang-java=\"`hour`\"\u003e`hour`\u003c/span\u003e for \u003cspan pulumi-lang-nodejs=\"`frequency`\" pulumi-lang-dotnet=\"`Frequency`\" pulumi-lang-go=\"`frequency`\" pulumi-lang-python=\"`frequency`\" pulumi-lang-yaml=\"`frequency`\" pulumi-lang-java=\"`frequency`\"\u003e`frequency`\u003c/span\u003e would run the Trigger every 4 hours.\n"},"logicAppId":{"type":"string","description":"Specifies the ID of the Logic App Workflow. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the Recurrence Triggers to be created within the Logic App Workflow. Changing this forces a new resource to be created.\n\n\u003e **NOTE:** This name must be unique across all Triggers within the Logic App Workflow.\n","willReplaceOnChanges":true},"schedule":{"$ref":"#/types/azure:logicapps/TriggerRecurrenceSchedule:TriggerRecurrenceSchedule","description":"A \u003cspan pulumi-lang-nodejs=\"`schedule`\" pulumi-lang-dotnet=\"`Schedule`\" pulumi-lang-go=\"`schedule`\" pulumi-lang-python=\"`schedule`\" pulumi-lang-yaml=\"`schedule`\" pulumi-lang-java=\"`schedule`\"\u003e`schedule`\u003c/span\u003e block as specified below.\n"},"startTime":{"type":"string","description":"Specifies the start date and time for this trigger in RFC3339 format: `2000-01-02T03:04:05Z`.\n"},"timeZone":{"type":"string","description":"Specifies the time zone for this trigger. Supported time zone options are listed [here](https://support.microsoft.com/en-us/help/973627/microsoft-time-zone-index-values)\n"}},"type":"object"}},"azure:logicapps/workflow:Workflow":{"description":"Manages a Logic App Workflow.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"workflow-resources\",\n    location: \"West Europe\",\n});\nconst exampleWorkflow = new azure.logicapps.Workflow(\"example\", {\n    name: \"workflow1\",\n    location: example.location,\n    resourceGroupName: example.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"workflow-resources\",\n    location=\"West Europe\")\nexample_workflow = azure.logicapps.Workflow(\"example\",\n    name=\"workflow1\",\n    location=example.location,\n    resource_group_name=example.name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"workflow-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleWorkflow = new Azure.LogicApps.Workflow(\"example\", new()\n    {\n        Name = \"workflow1\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/logicapps\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"workflow-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = logicapps.NewWorkflow(ctx, \"example\", \u0026logicapps.WorkflowArgs{\n\t\t\tName:              pulumi.String(\"workflow1\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.logicapps.Workflow;\nimport com.pulumi.azure.logicapps.WorkflowArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"workflow-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleWorkflow = new Workflow(\"exampleWorkflow\", WorkflowArgs.builder()\n            .name(\"workflow1\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: workflow-resources\n      location: West Europe\n  exampleWorkflow:\n    type: azure:logicapps:Workflow\n    name: example\n    properties:\n      name: workflow1\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Logic` - 2019-05-01\n\n## Import\n\nLogic App Workflows can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:logicapps/workflow:Workflow workflow1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Logic/workflows/workflow1\n```\n\n","properties":{"accessControl":{"$ref":"#/types/azure:logicapps/WorkflowAccessControl:WorkflowAccessControl","description":"A \u003cspan pulumi-lang-nodejs=\"`accessControl`\" pulumi-lang-dotnet=\"`AccessControl`\" pulumi-lang-go=\"`accessControl`\" pulumi-lang-python=\"`access_control`\" pulumi-lang-yaml=\"`accessControl`\" pulumi-lang-java=\"`accessControl`\"\u003e`access_control`\u003c/span\u003e block as defined below.\n"},"accessEndpoint":{"type":"string","description":"The Access Endpoint for the Logic App Workflow.\n"},"connectorEndpointIpAddresses":{"type":"array","items":{"type":"string"},"description":"The list of access endpoint IP addresses of connector.\n"},"connectorOutboundIpAddresses":{"type":"array","items":{"type":"string"},"description":"The list of outgoing IP addresses of connector.\n"},"enabled":{"type":"boolean","description":"Is the Logic App Workflow enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"identity":{"$ref":"#/types/azure:logicapps/WorkflowIdentity:WorkflowIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"integrationServiceEnvironmentId":{"type":"string","description":"The ID of the Integration Service Environment to which this Logic App Workflow belongs. Changing this forces a new Logic App Workflow to be created.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the Logic App Workflow exists. Changing this forces a new resource to be created.\n"},"logicAppIntegrationAccountId":{"type":"string","description":"The ID of the integration account linked by this Logic App Workflow.\n"},"name":{"type":"string","description":"Specifies the name of the Logic App Workflow. Changing this forces a new resource to be created.\n"},"parameters":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of Key-Value pairs.\n\n\u003e **Note:** Any parameters specified must exist in the Schema defined in \u003cspan pulumi-lang-nodejs=\"`workflowParameters`\" pulumi-lang-dotnet=\"`WorkflowParameters`\" pulumi-lang-go=\"`workflowParameters`\" pulumi-lang-python=\"`workflow_parameters`\" pulumi-lang-yaml=\"`workflowParameters`\" pulumi-lang-java=\"`workflowParameters`\"\u003e`workflow_parameters`\u003c/span\u003e.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group in which the Logic App Workflow should be created. Changing this forces a new resource to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"workflowEndpointIpAddresses":{"type":"array","items":{"type":"string"},"description":"The list of access endpoint IP addresses of workflow.\n"},"workflowOutboundIpAddresses":{"type":"array","items":{"type":"string"},"description":"The list of outgoing IP addresses of workflow.\n"},"workflowParameters":{"type":"object","additionalProperties":{"type":"string"},"description":"Specifies a map of Key-Value pairs of the Parameter Definitions to use for this Logic App Workflow. The key is the parameter name, and the value is a JSON encoded string of the parameter definition (see: \u003chttps://docs.microsoft.com/azure/logic-apps/logic-apps-workflow-definition-language#parameters\u003e).\n"},"workflowSchema":{"type":"string","description":"Specifies the Schema to use for this Logic App Workflow. Defaults to `https://schema.management.azure.com/providers/Microsoft.Logic/schemas/2016-06-01/workflowdefinition.json#`. Changing this forces a new resource to be created.\n"},"workflowVersion":{"type":"string","description":"Specifies the version of the Schema used for this Logic App Workflow. Defaults to `1.0.0.0`. Changing this forces a new resource to be created.\n"}},"required":["accessEndpoint","connectorEndpointIpAddresses","connectorOutboundIpAddresses","location","name","resourceGroupName","workflowEndpointIpAddresses","workflowOutboundIpAddresses"],"inputProperties":{"accessControl":{"$ref":"#/types/azure:logicapps/WorkflowAccessControl:WorkflowAccessControl","description":"A \u003cspan pulumi-lang-nodejs=\"`accessControl`\" pulumi-lang-dotnet=\"`AccessControl`\" pulumi-lang-go=\"`accessControl`\" pulumi-lang-python=\"`access_control`\" pulumi-lang-yaml=\"`accessControl`\" pulumi-lang-java=\"`accessControl`\"\u003e`access_control`\u003c/span\u003e block as defined below.\n"},"enabled":{"type":"boolean","description":"Is the Logic App Workflow enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"identity":{"$ref":"#/types/azure:logicapps/WorkflowIdentity:WorkflowIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"integrationServiceEnvironmentId":{"type":"string","description":"The ID of the Integration Service Environment to which this Logic App Workflow belongs. Changing this forces a new Logic App Workflow to be created.\n","willReplaceOnChanges":true},"location":{"type":"string","description":"Specifies the supported Azure location where the Logic App Workflow exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"logicAppIntegrationAccountId":{"type":"string","description":"The ID of the integration account linked by this Logic App Workflow.\n"},"name":{"type":"string","description":"Specifies the name of the Logic App Workflow. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"parameters":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of Key-Value pairs.\n\n\u003e **Note:** Any parameters specified must exist in the Schema defined in \u003cspan pulumi-lang-nodejs=\"`workflowParameters`\" pulumi-lang-dotnet=\"`WorkflowParameters`\" pulumi-lang-go=\"`workflowParameters`\" pulumi-lang-python=\"`workflow_parameters`\" pulumi-lang-yaml=\"`workflowParameters`\" pulumi-lang-java=\"`workflowParameters`\"\u003e`workflow_parameters`\u003c/span\u003e.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group in which the Logic App Workflow should be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"workflowParameters":{"type":"object","additionalProperties":{"type":"string"},"description":"Specifies a map of Key-Value pairs of the Parameter Definitions to use for this Logic App Workflow. The key is the parameter name, and the value is a JSON encoded string of the parameter definition (see: \u003chttps://docs.microsoft.com/azure/logic-apps/logic-apps-workflow-definition-language#parameters\u003e).\n"},"workflowSchema":{"type":"string","description":"Specifies the Schema to use for this Logic App Workflow. Defaults to `https://schema.management.azure.com/providers/Microsoft.Logic/schemas/2016-06-01/workflowdefinition.json#`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"workflowVersion":{"type":"string","description":"Specifies the version of the Schema used for this Logic App Workflow. Defaults to `1.0.0.0`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering Workflow resources.\n","properties":{"accessControl":{"$ref":"#/types/azure:logicapps/WorkflowAccessControl:WorkflowAccessControl","description":"A \u003cspan pulumi-lang-nodejs=\"`accessControl`\" pulumi-lang-dotnet=\"`AccessControl`\" pulumi-lang-go=\"`accessControl`\" pulumi-lang-python=\"`access_control`\" pulumi-lang-yaml=\"`accessControl`\" pulumi-lang-java=\"`accessControl`\"\u003e`access_control`\u003c/span\u003e block as defined below.\n"},"accessEndpoint":{"type":"string","description":"The Access Endpoint for the Logic App Workflow.\n"},"connectorEndpointIpAddresses":{"type":"array","items":{"type":"string"},"description":"The list of access endpoint IP addresses of connector.\n"},"connectorOutboundIpAddresses":{"type":"array","items":{"type":"string"},"description":"The list of outgoing IP addresses of connector.\n"},"enabled":{"type":"boolean","description":"Is the Logic App Workflow enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"identity":{"$ref":"#/types/azure:logicapps/WorkflowIdentity:WorkflowIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"integrationServiceEnvironmentId":{"type":"string","description":"The ID of the Integration Service Environment to which this Logic App Workflow belongs. Changing this forces a new Logic App Workflow to be created.\n","willReplaceOnChanges":true},"location":{"type":"string","description":"Specifies the supported Azure location where the Logic App Workflow exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"logicAppIntegrationAccountId":{"type":"string","description":"The ID of the integration account linked by this Logic App Workflow.\n"},"name":{"type":"string","description":"Specifies the name of the Logic App Workflow. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"parameters":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of Key-Value pairs.\n\n\u003e **Note:** Any parameters specified must exist in the Schema defined in \u003cspan pulumi-lang-nodejs=\"`workflowParameters`\" pulumi-lang-dotnet=\"`WorkflowParameters`\" pulumi-lang-go=\"`workflowParameters`\" pulumi-lang-python=\"`workflow_parameters`\" pulumi-lang-yaml=\"`workflowParameters`\" pulumi-lang-java=\"`workflowParameters`\"\u003e`workflow_parameters`\u003c/span\u003e.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group in which the Logic App Workflow should be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"workflowEndpointIpAddresses":{"type":"array","items":{"type":"string"},"description":"The list of access endpoint IP addresses of workflow.\n"},"workflowOutboundIpAddresses":{"type":"array","items":{"type":"string"},"description":"The list of outgoing IP addresses of workflow.\n"},"workflowParameters":{"type":"object","additionalProperties":{"type":"string"},"description":"Specifies a map of Key-Value pairs of the Parameter Definitions to use for this Logic App Workflow. The key is the parameter name, and the value is a JSON encoded string of the parameter definition (see: \u003chttps://docs.microsoft.com/azure/logic-apps/logic-apps-workflow-definition-language#parameters\u003e).\n"},"workflowSchema":{"type":"string","description":"Specifies the Schema to use for this Logic App Workflow. Defaults to `https://schema.management.azure.com/providers/Microsoft.Logic/schemas/2016-06-01/workflowdefinition.json#`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"workflowVersion":{"type":"string","description":"Specifies the version of the Schema used for this Logic App Workflow. Defaults to `1.0.0.0`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:machinelearning/computeCluster:ComputeCluster":{"description":"Manages a Machine Learning Compute Cluster.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst current = azure.core.getClientConfig({});\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-rg\",\n    location: \"west europe\",\n    tags: {\n        stage: \"example\",\n    },\n});\nconst exampleInsights = new azure.appinsights.Insights(\"example\", {\n    name: \"example-ai\",\n    location: example.location,\n    resourceGroupName: example.name,\n    applicationType: \"web\",\n});\nconst exampleKeyVault = new azure.keyvault.KeyVault(\"example\", {\n    name: \"example-kv\",\n    location: example.location,\n    resourceGroupName: example.name,\n    tenantId: current.then(current =\u003e current.tenantId),\n    skuName: \"standard\",\n    purgeProtectionEnabled: true,\n});\nconst exampleAccount = new azure.storage.Account(\"example\", {\n    name: \"examplesa\",\n    location: example.location,\n    resourceGroupName: example.name,\n    accountTier: \"Standard\",\n    accountReplicationType: \"LRS\",\n});\nconst exampleWorkspace = new azure.machinelearning.Workspace(\"example\", {\n    name: \"example-mlw\",\n    location: example.location,\n    resourceGroupName: example.name,\n    applicationInsightsId: exampleInsights.id,\n    keyVaultId: exampleKeyVault.id,\n    storageAccountId: exampleAccount.id,\n    identity: {\n        type: \"SystemAssigned\",\n    },\n});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"example\", {\n    name: \"example-vnet\",\n    addressSpaces: [\"10.1.0.0/16\"],\n    location: example.location,\n    resourceGroupName: example.name,\n});\nconst exampleSubnet = new azure.network.Subnet(\"example\", {\n    name: \"example-subnet\",\n    resourceGroupName: example.name,\n    virtualNetworkName: exampleVirtualNetwork.name,\n    addressPrefixes: [\"10.1.0.0/24\"],\n});\nconst test = new azure.machinelearning.ComputeCluster(\"test\", {\n    name: \"example\",\n    location: example.location,\n    vmPriority: \"LowPriority\",\n    vmSize: \"Standard_DS2_v2\",\n    machineLearningWorkspaceId: exampleWorkspace.id,\n    subnetResourceId: exampleSubnet.id,\n    scaleSettings: {\n        minNodeCount: 0,\n        maxNodeCount: 1,\n        scaleDownNodesAfterIdleDuration: \"PT30S\",\n    },\n    identity: {\n        type: \"SystemAssigned\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\ncurrent = azure.core.get_client_config()\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-rg\",\n    location=\"west europe\",\n    tags={\n        \"stage\": \"example\",\n    })\nexample_insights = azure.appinsights.Insights(\"example\",\n    name=\"example-ai\",\n    location=example.location,\n    resource_group_name=example.name,\n    application_type=\"web\")\nexample_key_vault = azure.keyvault.KeyVault(\"example\",\n    name=\"example-kv\",\n    location=example.location,\n    resource_group_name=example.name,\n    tenant_id=current.tenant_id,\n    sku_name=\"standard\",\n    purge_protection_enabled=True)\nexample_account = azure.storage.Account(\"example\",\n    name=\"examplesa\",\n    location=example.location,\n    resource_group_name=example.name,\n    account_tier=\"Standard\",\n    account_replication_type=\"LRS\")\nexample_workspace = azure.machinelearning.Workspace(\"example\",\n    name=\"example-mlw\",\n    location=example.location,\n    resource_group_name=example.name,\n    application_insights_id=example_insights.id,\n    key_vault_id=example_key_vault.id,\n    storage_account_id=example_account.id,\n    identity={\n        \"type\": \"SystemAssigned\",\n    })\nexample_virtual_network = azure.network.VirtualNetwork(\"example\",\n    name=\"example-vnet\",\n    address_spaces=[\"10.1.0.0/16\"],\n    location=example.location,\n    resource_group_name=example.name)\nexample_subnet = azure.network.Subnet(\"example\",\n    name=\"example-subnet\",\n    resource_group_name=example.name,\n    virtual_network_name=example_virtual_network.name,\n    address_prefixes=[\"10.1.0.0/24\"])\ntest = azure.machinelearning.ComputeCluster(\"test\",\n    name=\"example\",\n    location=example.location,\n    vm_priority=\"LowPriority\",\n    vm_size=\"Standard_DS2_v2\",\n    machine_learning_workspace_id=example_workspace.id,\n    subnet_resource_id=example_subnet.id,\n    scale_settings={\n        \"min_node_count\": 0,\n        \"max_node_count\": 1,\n        \"scale_down_nodes_after_idle_duration\": \"PT30S\",\n    },\n    identity={\n        \"type\": \"SystemAssigned\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var current = Azure.Core.GetClientConfig.Invoke();\n\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-rg\",\n        Location = \"west europe\",\n        Tags = \n        {\n            { \"stage\", \"example\" },\n        },\n    });\n\n    var exampleInsights = new Azure.AppInsights.Insights(\"example\", new()\n    {\n        Name = \"example-ai\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        ApplicationType = \"web\",\n    });\n\n    var exampleKeyVault = new Azure.KeyVault.KeyVault(\"example\", new()\n    {\n        Name = \"example-kv\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        TenantId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.TenantId),\n        SkuName = \"standard\",\n        PurgeProtectionEnabled = true,\n    });\n\n    var exampleAccount = new Azure.Storage.Account(\"example\", new()\n    {\n        Name = \"examplesa\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        AccountTier = \"Standard\",\n        AccountReplicationType = \"LRS\",\n    });\n\n    var exampleWorkspace = new Azure.MachineLearning.Workspace(\"example\", new()\n    {\n        Name = \"example-mlw\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        ApplicationInsightsId = exampleInsights.Id,\n        KeyVaultId = exampleKeyVault.Id,\n        StorageAccountId = exampleAccount.Id,\n        Identity = new Azure.MachineLearning.Inputs.WorkspaceIdentityArgs\n        {\n            Type = \"SystemAssigned\",\n        },\n    });\n\n    var exampleVirtualNetwork = new Azure.Network.VirtualNetwork(\"example\", new()\n    {\n        Name = \"example-vnet\",\n        AddressSpaces = new[]\n        {\n            \"10.1.0.0/16\",\n        },\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n    });\n\n    var exampleSubnet = new Azure.Network.Subnet(\"example\", new()\n    {\n        Name = \"example-subnet\",\n        ResourceGroupName = example.Name,\n        VirtualNetworkName = exampleVirtualNetwork.Name,\n        AddressPrefixes = new[]\n        {\n            \"10.1.0.0/24\",\n        },\n    });\n\n    var test = new Azure.MachineLearning.ComputeCluster(\"test\", new()\n    {\n        Name = \"example\",\n        Location = example.Location,\n        VmPriority = \"LowPriority\",\n        VmSize = \"Standard_DS2_v2\",\n        MachineLearningWorkspaceId = exampleWorkspace.Id,\n        SubnetResourceId = exampleSubnet.Id,\n        ScaleSettings = new Azure.MachineLearning.Inputs.ComputeClusterScaleSettingsArgs\n        {\n            MinNodeCount = 0,\n            MaxNodeCount = 1,\n            ScaleDownNodesAfterIdleDuration = \"PT30S\",\n        },\n        Identity = new Azure.MachineLearning.Inputs.ComputeClusterIdentityArgs\n        {\n            Type = \"SystemAssigned\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/appinsights\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/keyvault\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/machinelearning\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := core.GetClientConfig(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-rg\"),\n\t\t\tLocation: pulumi.String(\"west europe\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"stage\": pulumi.String(\"example\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleInsights, err := appinsights.NewInsights(ctx, \"example\", \u0026appinsights.InsightsArgs{\n\t\t\tName:              pulumi.String(\"example-ai\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tApplicationType:   pulumi.String(\"web\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleKeyVault, err := keyvault.NewKeyVault(ctx, \"example\", \u0026keyvault.KeyVaultArgs{\n\t\t\tName:                   pulumi.String(\"example-kv\"),\n\t\t\tLocation:               example.Location,\n\t\t\tResourceGroupName:      example.Name,\n\t\t\tTenantId:               pulumi.String(current.TenantId),\n\t\t\tSkuName:                pulumi.String(\"standard\"),\n\t\t\tPurgeProtectionEnabled: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := storage.NewAccount(ctx, \"example\", \u0026storage.AccountArgs{\n\t\t\tName:                   pulumi.String(\"examplesa\"),\n\t\t\tLocation:               example.Location,\n\t\t\tResourceGroupName:      example.Name,\n\t\t\tAccountTier:            pulumi.String(\"Standard\"),\n\t\t\tAccountReplicationType: pulumi.String(\"LRS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleWorkspace, err := machinelearning.NewWorkspace(ctx, \"example\", \u0026machinelearning.WorkspaceArgs{\n\t\t\tName:                  pulumi.String(\"example-mlw\"),\n\t\t\tLocation:              example.Location,\n\t\t\tResourceGroupName:     example.Name,\n\t\t\tApplicationInsightsId: exampleInsights.ID(),\n\t\t\tKeyVaultId:            exampleKeyVault.ID(),\n\t\t\tStorageAccountId:      exampleAccount.ID(),\n\t\t\tIdentity: \u0026machinelearning.WorkspaceIdentityArgs{\n\t\t\t\tType: pulumi.String(\"SystemAssigned\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, \"example\", \u0026network.VirtualNetworkArgs{\n\t\t\tName: pulumi.String(\"example-vnet\"),\n\t\t\tAddressSpaces: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.1.0.0/16\"),\n\t\t\t},\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSubnet, err := network.NewSubnet(ctx, \"example\", \u0026network.SubnetArgs{\n\t\t\tName:               pulumi.String(\"example-subnet\"),\n\t\t\tResourceGroupName:  example.Name,\n\t\t\tVirtualNetworkName: exampleVirtualNetwork.Name,\n\t\t\tAddressPrefixes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.1.0.0/24\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = machinelearning.NewComputeCluster(ctx, \"test\", \u0026machinelearning.ComputeClusterArgs{\n\t\t\tName:                       pulumi.String(\"example\"),\n\t\t\tLocation:                   example.Location,\n\t\t\tVmPriority:                 pulumi.String(\"LowPriority\"),\n\t\t\tVmSize:                     pulumi.String(\"Standard_DS2_v2\"),\n\t\t\tMachineLearningWorkspaceId: exampleWorkspace.ID(),\n\t\t\tSubnetResourceId:           exampleSubnet.ID(),\n\t\t\tScaleSettings: \u0026machinelearning.ComputeClusterScaleSettingsArgs{\n\t\t\t\tMinNodeCount:                    pulumi.Int(0),\n\t\t\t\tMaxNodeCount:                    pulumi.Int(1),\n\t\t\t\tScaleDownNodesAfterIdleDuration: pulumi.String(\"PT30S\"),\n\t\t\t},\n\t\t\tIdentity: \u0026machinelearning.ComputeClusterIdentityArgs{\n\t\t\t\tType: pulumi.String(\"SystemAssigned\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.appinsights.Insights;\nimport com.pulumi.azure.appinsights.InsightsArgs;\nimport com.pulumi.azure.keyvault.KeyVault;\nimport com.pulumi.azure.keyvault.KeyVaultArgs;\nimport com.pulumi.azure.storage.Account;\nimport com.pulumi.azure.storage.AccountArgs;\nimport com.pulumi.azure.machinelearning.Workspace;\nimport com.pulumi.azure.machinelearning.WorkspaceArgs;\nimport com.pulumi.azure.machinelearning.inputs.WorkspaceIdentityArgs;\nimport com.pulumi.azure.network.VirtualNetwork;\nimport com.pulumi.azure.network.VirtualNetworkArgs;\nimport com.pulumi.azure.network.Subnet;\nimport com.pulumi.azure.network.SubnetArgs;\nimport com.pulumi.azure.machinelearning.ComputeCluster;\nimport com.pulumi.azure.machinelearning.ComputeClusterArgs;\nimport com.pulumi.azure.machinelearning.inputs.ComputeClusterScaleSettingsArgs;\nimport com.pulumi.azure.machinelearning.inputs.ComputeClusterIdentityArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var current = CoreFunctions.getClientConfig(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-rg\")\n            .location(\"west europe\")\n            .tags(Map.of(\"stage\", \"example\"))\n            .build());\n\n        var exampleInsights = new Insights(\"exampleInsights\", InsightsArgs.builder()\n            .name(\"example-ai\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .applicationType(\"web\")\n            .build());\n\n        var exampleKeyVault = new KeyVault(\"exampleKeyVault\", KeyVaultArgs.builder()\n            .name(\"example-kv\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .tenantId(current.tenantId())\n            .skuName(\"standard\")\n            .purgeProtectionEnabled(true)\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"examplesa\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .accountTier(\"Standard\")\n            .accountReplicationType(\"LRS\")\n            .build());\n\n        var exampleWorkspace = new Workspace(\"exampleWorkspace\", WorkspaceArgs.builder()\n            .name(\"example-mlw\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .applicationInsightsId(exampleInsights.id())\n            .keyVaultId(exampleKeyVault.id())\n            .storageAccountId(exampleAccount.id())\n            .identity(WorkspaceIdentityArgs.builder()\n                .type(\"SystemAssigned\")\n                .build())\n            .build());\n\n        var exampleVirtualNetwork = new VirtualNetwork(\"exampleVirtualNetwork\", VirtualNetworkArgs.builder()\n            .name(\"example-vnet\")\n            .addressSpaces(\"10.1.0.0/16\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .build());\n\n        var exampleSubnet = new Subnet(\"exampleSubnet\", SubnetArgs.builder()\n            .name(\"example-subnet\")\n            .resourceGroupName(example.name())\n            .virtualNetworkName(exampleVirtualNetwork.name())\n            .addressPrefixes(\"10.1.0.0/24\")\n            .build());\n\n        var test = new ComputeCluster(\"test\", ComputeClusterArgs.builder()\n            .name(\"example\")\n            .location(example.location())\n            .vmPriority(\"LowPriority\")\n            .vmSize(\"Standard_DS2_v2\")\n            .machineLearningWorkspaceId(exampleWorkspace.id())\n            .subnetResourceId(exampleSubnet.id())\n            .scaleSettings(ComputeClusterScaleSettingsArgs.builder()\n                .minNodeCount(0)\n                .maxNodeCount(1)\n                .scaleDownNodesAfterIdleDuration(\"PT30S\")\n                .build())\n            .identity(ComputeClusterIdentityArgs.builder()\n                .type(\"SystemAssigned\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-rg\n      location: west europe\n      tags:\n        stage: example\n  exampleInsights:\n    type: azure:appinsights:Insights\n    name: example\n    properties:\n      name: example-ai\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      applicationType: web\n  exampleKeyVault:\n    type: azure:keyvault:KeyVault\n    name: example\n    properties:\n      name: example-kv\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      tenantId: ${current.tenantId}\n      skuName: standard\n      purgeProtectionEnabled: true\n  exampleAccount:\n    type: azure:storage:Account\n    name: example\n    properties:\n      name: examplesa\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      accountTier: Standard\n      accountReplicationType: LRS\n  exampleWorkspace:\n    type: azure:machinelearning:Workspace\n    name: example\n    properties:\n      name: example-mlw\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      applicationInsightsId: ${exampleInsights.id}\n      keyVaultId: ${exampleKeyVault.id}\n      storageAccountId: ${exampleAccount.id}\n      identity:\n        type: SystemAssigned\n  exampleVirtualNetwork:\n    type: azure:network:VirtualNetwork\n    name: example\n    properties:\n      name: example-vnet\n      addressSpaces:\n        - 10.1.0.0/16\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n  exampleSubnet:\n    type: azure:network:Subnet\n    name: example\n    properties:\n      name: example-subnet\n      resourceGroupName: ${example.name}\n      virtualNetworkName: ${exampleVirtualNetwork.name}\n      addressPrefixes:\n        - 10.1.0.0/24\n  test:\n    type: azure:machinelearning:ComputeCluster\n    properties:\n      name: example\n      location: ${example.location}\n      vmPriority: LowPriority\n      vmSize: Standard_DS2_v2\n      machineLearningWorkspaceId: ${exampleWorkspace.id}\n      subnetResourceId: ${exampleSubnet.id}\n      scaleSettings:\n        minNodeCount: 0\n        maxNodeCount: 1\n        scaleDownNodesAfterIdleDuration: PT30S\n      identity:\n        type: SystemAssigned\nvariables:\n  current:\n    fn::invoke:\n      function: azure:core:getClientConfig\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.MachineLearningServices` - 2025-06-01\n\n## Import\n\nMachine Learning Compute Clusters can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:machinelearning/computeCluster:ComputeCluster example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resGroup1/providers/Microsoft.MachineLearningServices/workspaces/workspace1/computes/cluster1\n```\n\n","properties":{"description":{"type":"string","description":"The description of the Machine Learning compute. Changing this forces a new Machine Learning Compute Cluster to be created.\n"},"identity":{"$ref":"#/types/azure:machinelearning/ComputeClusterIdentity:ComputeClusterIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"localAuthEnabled":{"type":"boolean","description":"Whether local authentication methods is enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e. Changing this forces a new Machine Learning Compute Cluster to be created.\n"},"location":{"type":"string","description":"The Azure Region where the Machine Learning Compute Cluster should exist. Changing this forces a new Machine Learning Compute Cluster to be created.\n"},"machineLearningWorkspaceId":{"type":"string","description":"The ID of the Machine Learning Workspace. Changing this forces a new Machine Learning Compute Cluster to be created.\n"},"name":{"type":"string","description":"The name which should be used for this Machine Learning Compute Cluster. Changing this forces a new Machine Learning Compute Cluster to be created.\n"},"nodePublicIpEnabled":{"type":"boolean","description":"Whether the compute cluster will have a public ip. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e. Changing this forces a new Machine Learning Compute Cluster to be created.\n"},"scaleSettings":{"$ref":"#/types/azure:machinelearning/ComputeClusterScaleSettings:ComputeClusterScaleSettings","description":"A \u003cspan pulumi-lang-nodejs=\"`scaleSettings`\" pulumi-lang-dotnet=\"`ScaleSettings`\" pulumi-lang-go=\"`scaleSettings`\" pulumi-lang-python=\"`scale_settings`\" pulumi-lang-yaml=\"`scaleSettings`\" pulumi-lang-java=\"`scaleSettings`\"\u003e`scale_settings`\u003c/span\u003e block as defined below.\n"},"ssh":{"$ref":"#/types/azure:machinelearning/ComputeClusterSsh:ComputeClusterSsh","description":"Credentials for an administrator user account that will be created on each compute node. A \u003cspan pulumi-lang-nodejs=\"`ssh`\" pulumi-lang-dotnet=\"`Ssh`\" pulumi-lang-go=\"`ssh`\" pulumi-lang-python=\"`ssh`\" pulumi-lang-yaml=\"`ssh`\" pulumi-lang-java=\"`ssh`\"\u003e`ssh`\u003c/span\u003e block as defined below. Changing this forces a new Machine Learning Compute Cluster to be created.\n"},"sshPublicAccessEnabled":{"type":"boolean","description":"A boolean value indicating whether enable the public SSH port. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Changing this forces a new Machine Learning Compute Cluster to be created.\n"},"subnetResourceId":{"type":"string","description":"The ID of the Subnet that the Compute Cluster should reside in. Changing this forces a new Machine Learning Compute Cluster to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Machine Learning Compute Cluster.\n"},"vmPriority":{"type":"string","description":"The priority of the VM. Changing this forces a new Machine Learning Compute Cluster to be created. Accepted values are `Dedicated` and `LowPriority`.\n"},"vmSize":{"type":"string","description":"The size of the VM. Changing this forces a new Machine Learning Compute Cluster to be created.\n"}},"required":["location","machineLearningWorkspaceId","name","scaleSettings","subnetResourceId","vmPriority","vmSize"],"inputProperties":{"description":{"type":"string","description":"The description of the Machine Learning compute. Changing this forces a new Machine Learning Compute Cluster to be created.\n","willReplaceOnChanges":true},"identity":{"$ref":"#/types/azure:machinelearning/ComputeClusterIdentity:ComputeClusterIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"localAuthEnabled":{"type":"boolean","description":"Whether local authentication methods is enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e. Changing this forces a new Machine Learning Compute Cluster to be created.\n","willReplaceOnChanges":true},"location":{"type":"string","description":"The Azure Region where the Machine Learning Compute Cluster should exist. Changing this forces a new Machine Learning Compute Cluster to be created.\n","willReplaceOnChanges":true},"machineLearningWorkspaceId":{"type":"string","description":"The ID of the Machine Learning Workspace. Changing this forces a new Machine Learning Compute Cluster to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Machine Learning Compute Cluster. Changing this forces a new Machine Learning Compute Cluster to be created.\n","willReplaceOnChanges":true},"nodePublicIpEnabled":{"type":"boolean","description":"Whether the compute cluster will have a public ip. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e. Changing this forces a new Machine Learning Compute Cluster to be created.\n","willReplaceOnChanges":true},"scaleSettings":{"$ref":"#/types/azure:machinelearning/ComputeClusterScaleSettings:ComputeClusterScaleSettings","description":"A \u003cspan pulumi-lang-nodejs=\"`scaleSettings`\" pulumi-lang-dotnet=\"`ScaleSettings`\" pulumi-lang-go=\"`scaleSettings`\" pulumi-lang-python=\"`scale_settings`\" pulumi-lang-yaml=\"`scaleSettings`\" pulumi-lang-java=\"`scaleSettings`\"\u003e`scale_settings`\u003c/span\u003e block as defined below.\n"},"ssh":{"$ref":"#/types/azure:machinelearning/ComputeClusterSsh:ComputeClusterSsh","description":"Credentials for an administrator user account that will be created on each compute node. A \u003cspan pulumi-lang-nodejs=\"`ssh`\" pulumi-lang-dotnet=\"`Ssh`\" pulumi-lang-go=\"`ssh`\" pulumi-lang-python=\"`ssh`\" pulumi-lang-yaml=\"`ssh`\" pulumi-lang-java=\"`ssh`\"\u003e`ssh`\u003c/span\u003e block as defined below. Changing this forces a new Machine Learning Compute Cluster to be created.\n","willReplaceOnChanges":true},"sshPublicAccessEnabled":{"type":"boolean","description":"A boolean value indicating whether enable the public SSH port. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Changing this forces a new Machine Learning Compute Cluster to be created.\n","willReplaceOnChanges":true},"subnetResourceId":{"type":"string","description":"The ID of the Subnet that the Compute Cluster should reside in. Changing this forces a new Machine Learning Compute Cluster to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Machine Learning Compute Cluster.\n"},"vmPriority":{"type":"string","description":"The priority of the VM. Changing this forces a new Machine Learning Compute Cluster to be created. Accepted values are `Dedicated` and `LowPriority`.\n","willReplaceOnChanges":true},"vmSize":{"type":"string","description":"The size of the VM. Changing this forces a new Machine Learning Compute Cluster to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["machineLearningWorkspaceId","scaleSettings","vmPriority","vmSize"],"stateInputs":{"description":"Input properties used for looking up and filtering ComputeCluster resources.\n","properties":{"description":{"type":"string","description":"The description of the Machine Learning compute. Changing this forces a new Machine Learning Compute Cluster to be created.\n","willReplaceOnChanges":true},"identity":{"$ref":"#/types/azure:machinelearning/ComputeClusterIdentity:ComputeClusterIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"localAuthEnabled":{"type":"boolean","description":"Whether local authentication methods is enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e. Changing this forces a new Machine Learning Compute Cluster to be created.\n","willReplaceOnChanges":true},"location":{"type":"string","description":"The Azure Region where the Machine Learning Compute Cluster should exist. Changing this forces a new Machine Learning Compute Cluster to be created.\n","willReplaceOnChanges":true},"machineLearningWorkspaceId":{"type":"string","description":"The ID of the Machine Learning Workspace. Changing this forces a new Machine Learning Compute Cluster to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Machine Learning Compute Cluster. Changing this forces a new Machine Learning Compute Cluster to be created.\n","willReplaceOnChanges":true},"nodePublicIpEnabled":{"type":"boolean","description":"Whether the compute cluster will have a public ip. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e. Changing this forces a new Machine Learning Compute Cluster to be created.\n","willReplaceOnChanges":true},"scaleSettings":{"$ref":"#/types/azure:machinelearning/ComputeClusterScaleSettings:ComputeClusterScaleSettings","description":"A \u003cspan pulumi-lang-nodejs=\"`scaleSettings`\" pulumi-lang-dotnet=\"`ScaleSettings`\" pulumi-lang-go=\"`scaleSettings`\" pulumi-lang-python=\"`scale_settings`\" pulumi-lang-yaml=\"`scaleSettings`\" pulumi-lang-java=\"`scaleSettings`\"\u003e`scale_settings`\u003c/span\u003e block as defined below.\n"},"ssh":{"$ref":"#/types/azure:machinelearning/ComputeClusterSsh:ComputeClusterSsh","description":"Credentials for an administrator user account that will be created on each compute node. A \u003cspan pulumi-lang-nodejs=\"`ssh`\" pulumi-lang-dotnet=\"`Ssh`\" pulumi-lang-go=\"`ssh`\" pulumi-lang-python=\"`ssh`\" pulumi-lang-yaml=\"`ssh`\" pulumi-lang-java=\"`ssh`\"\u003e`ssh`\u003c/span\u003e block as defined below. Changing this forces a new Machine Learning Compute Cluster to be created.\n","willReplaceOnChanges":true},"sshPublicAccessEnabled":{"type":"boolean","description":"A boolean value indicating whether enable the public SSH port. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Changing this forces a new Machine Learning Compute Cluster to be created.\n","willReplaceOnChanges":true},"subnetResourceId":{"type":"string","description":"The ID of the Subnet that the Compute Cluster should reside in. Changing this forces a new Machine Learning Compute Cluster to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Machine Learning Compute Cluster.\n"},"vmPriority":{"type":"string","description":"The priority of the VM. Changing this forces a new Machine Learning Compute Cluster to be created. Accepted values are `Dedicated` and `LowPriority`.\n","willReplaceOnChanges":true},"vmSize":{"type":"string","description":"The size of the VM. Changing this forces a new Machine Learning Compute Cluster to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:machinelearning/computeInstance:ComputeInstance":{"description":"Manages a Machine Learning Compute Instance.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst current = azure.core.getClientConfig({});\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-rg\",\n    location: \"west europe\",\n    tags: {\n        stage: \"example\",\n    },\n});\nconst exampleInsights = new azure.appinsights.Insights(\"example\", {\n    name: \"example-ai\",\n    location: example.location,\n    resourceGroupName: example.name,\n    applicationType: \"web\",\n});\nconst exampleKeyVault = new azure.keyvault.KeyVault(\"example\", {\n    name: \"example-kv\",\n    location: example.location,\n    resourceGroupName: example.name,\n    tenantId: current.then(current =\u003e current.tenantId),\n    skuName: \"standard\",\n    purgeProtectionEnabled: true,\n});\nconst exampleAccount = new azure.storage.Account(\"example\", {\n    name: \"examplesa\",\n    location: example.location,\n    resourceGroupName: example.name,\n    accountTier: \"Standard\",\n    accountReplicationType: \"LRS\",\n});\nconst exampleWorkspace = new azure.machinelearning.Workspace(\"example\", {\n    name: \"example-mlw\",\n    location: example.location,\n    resourceGroupName: example.name,\n    applicationInsightsId: exampleInsights.id,\n    keyVaultId: exampleKeyVault.id,\n    storageAccountId: exampleAccount.id,\n    identity: {\n        type: \"SystemAssigned\",\n    },\n});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"example\", {\n    name: \"example-vnet\",\n    addressSpaces: [\"10.1.0.0/16\"],\n    location: example.location,\n    resourceGroupName: example.name,\n});\nconst exampleSubnet = new azure.network.Subnet(\"example\", {\n    name: \"example-subnet\",\n    resourceGroupName: example.name,\n    virtualNetworkName: exampleVirtualNetwork.name,\n    addressPrefixes: [\"10.1.0.0/24\"],\n});\nconst config = new pulumi.Config();\nconst sshKey = config.get(\"sshKey\") || \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCqaZoyiz1qbdOQ8xEf6uEu1cCwYowo5FHtsBhqLoDnnp7KUTEBN+L2NxRIfQ781rxV6Iq5jSav6b2Q8z5KiseOlvKA/RF2wqU0UPYqQviQhLmW6THTpmrv/YkUCuzxDpsH7DUDhZcwySLKVVe0Qm3+5N2Ta6UYH3lsDf9R9wTP2K/+vAnflKebuypNlmocIvakFWoZda18FOmsOoIVXQ8HWFNCuw9ZCunMSN62QGamCe3dL5cXlkgHYv7ekJE15IA9aOJcM7e90oeTqo+7HTcWfdu0qQqPWY5ujyMw/llas8tsXY85LFqRnr3gJ02bAscjc477+X+j/gkpFoN1QEmt terraform@demo.tld\";\nconst exampleComputeInstance = new azure.machinelearning.ComputeInstance(\"example\", {\n    name: \"example\",\n    machineLearningWorkspaceId: exampleWorkspace.id,\n    virtualMachineSize: \"STANDARD_DS2_V2\",\n    authorizationType: \"personal\",\n    ssh: {\n        publicKey: sshKey,\n    },\n    subnetResourceId: exampleSubnet.id,\n    description: \"foo\",\n    tags: {\n        foo: \"bar\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\ncurrent = azure.core.get_client_config()\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-rg\",\n    location=\"west europe\",\n    tags={\n        \"stage\": \"example\",\n    })\nexample_insights = azure.appinsights.Insights(\"example\",\n    name=\"example-ai\",\n    location=example.location,\n    resource_group_name=example.name,\n    application_type=\"web\")\nexample_key_vault = azure.keyvault.KeyVault(\"example\",\n    name=\"example-kv\",\n    location=example.location,\n    resource_group_name=example.name,\n    tenant_id=current.tenant_id,\n    sku_name=\"standard\",\n    purge_protection_enabled=True)\nexample_account = azure.storage.Account(\"example\",\n    name=\"examplesa\",\n    location=example.location,\n    resource_group_name=example.name,\n    account_tier=\"Standard\",\n    account_replication_type=\"LRS\")\nexample_workspace = azure.machinelearning.Workspace(\"example\",\n    name=\"example-mlw\",\n    location=example.location,\n    resource_group_name=example.name,\n    application_insights_id=example_insights.id,\n    key_vault_id=example_key_vault.id,\n    storage_account_id=example_account.id,\n    identity={\n        \"type\": \"SystemAssigned\",\n    })\nexample_virtual_network = azure.network.VirtualNetwork(\"example\",\n    name=\"example-vnet\",\n    address_spaces=[\"10.1.0.0/16\"],\n    location=example.location,\n    resource_group_name=example.name)\nexample_subnet = azure.network.Subnet(\"example\",\n    name=\"example-subnet\",\n    resource_group_name=example.name,\n    virtual_network_name=example_virtual_network.name,\n    address_prefixes=[\"10.1.0.0/24\"])\nconfig = pulumi.Config()\nssh_key = config.get(\"sshKey\")\nif ssh_key is None:\n    ssh_key = \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCqaZoyiz1qbdOQ8xEf6uEu1cCwYowo5FHtsBhqLoDnnp7KUTEBN+L2NxRIfQ781rxV6Iq5jSav6b2Q8z5KiseOlvKA/RF2wqU0UPYqQviQhLmW6THTpmrv/YkUCuzxDpsH7DUDhZcwySLKVVe0Qm3+5N2Ta6UYH3lsDf9R9wTP2K/+vAnflKebuypNlmocIvakFWoZda18FOmsOoIVXQ8HWFNCuw9ZCunMSN62QGamCe3dL5cXlkgHYv7ekJE15IA9aOJcM7e90oeTqo+7HTcWfdu0qQqPWY5ujyMw/llas8tsXY85LFqRnr3gJ02bAscjc477+X+j/gkpFoN1QEmt terraform@demo.tld\"\nexample_compute_instance = azure.machinelearning.ComputeInstance(\"example\",\n    name=\"example\",\n    machine_learning_workspace_id=example_workspace.id,\n    virtual_machine_size=\"STANDARD_DS2_V2\",\n    authorization_type=\"personal\",\n    ssh={\n        \"public_key\": ssh_key,\n    },\n    subnet_resource_id=example_subnet.id,\n    description=\"foo\",\n    tags={\n        \"foo\": \"bar\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var current = Azure.Core.GetClientConfig.Invoke();\n\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-rg\",\n        Location = \"west europe\",\n        Tags = \n        {\n            { \"stage\", \"example\" },\n        },\n    });\n\n    var exampleInsights = new Azure.AppInsights.Insights(\"example\", new()\n    {\n        Name = \"example-ai\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        ApplicationType = \"web\",\n    });\n\n    var exampleKeyVault = new Azure.KeyVault.KeyVault(\"example\", new()\n    {\n        Name = \"example-kv\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        TenantId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.TenantId),\n        SkuName = \"standard\",\n        PurgeProtectionEnabled = true,\n    });\n\n    var exampleAccount = new Azure.Storage.Account(\"example\", new()\n    {\n        Name = \"examplesa\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        AccountTier = \"Standard\",\n        AccountReplicationType = \"LRS\",\n    });\n\n    var exampleWorkspace = new Azure.MachineLearning.Workspace(\"example\", new()\n    {\n        Name = \"example-mlw\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        ApplicationInsightsId = exampleInsights.Id,\n        KeyVaultId = exampleKeyVault.Id,\n        StorageAccountId = exampleAccount.Id,\n        Identity = new Azure.MachineLearning.Inputs.WorkspaceIdentityArgs\n        {\n            Type = \"SystemAssigned\",\n        },\n    });\n\n    var exampleVirtualNetwork = new Azure.Network.VirtualNetwork(\"example\", new()\n    {\n        Name = \"example-vnet\",\n        AddressSpaces = new[]\n        {\n            \"10.1.0.0/16\",\n        },\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n    });\n\n    var exampleSubnet = new Azure.Network.Subnet(\"example\", new()\n    {\n        Name = \"example-subnet\",\n        ResourceGroupName = example.Name,\n        VirtualNetworkName = exampleVirtualNetwork.Name,\n        AddressPrefixes = new[]\n        {\n            \"10.1.0.0/24\",\n        },\n    });\n\n    var config = new Config();\n    var sshKey = config.Get(\"sshKey\") ?? \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCqaZoyiz1qbdOQ8xEf6uEu1cCwYowo5FHtsBhqLoDnnp7KUTEBN+L2NxRIfQ781rxV6Iq5jSav6b2Q8z5KiseOlvKA/RF2wqU0UPYqQviQhLmW6THTpmrv/YkUCuzxDpsH7DUDhZcwySLKVVe0Qm3+5N2Ta6UYH3lsDf9R9wTP2K/+vAnflKebuypNlmocIvakFWoZda18FOmsOoIVXQ8HWFNCuw9ZCunMSN62QGamCe3dL5cXlkgHYv7ekJE15IA9aOJcM7e90oeTqo+7HTcWfdu0qQqPWY5ujyMw/llas8tsXY85LFqRnr3gJ02bAscjc477+X+j/gkpFoN1QEmt terraform@demo.tld\";\n    var exampleComputeInstance = new Azure.MachineLearning.ComputeInstance(\"example\", new()\n    {\n        Name = \"example\",\n        MachineLearningWorkspaceId = exampleWorkspace.Id,\n        VirtualMachineSize = \"STANDARD_DS2_V2\",\n        AuthorizationType = \"personal\",\n        Ssh = new Azure.MachineLearning.Inputs.ComputeInstanceSshArgs\n        {\n            PublicKey = sshKey,\n        },\n        SubnetResourceId = exampleSubnet.Id,\n        Description = \"foo\",\n        Tags = \n        {\n            { \"foo\", \"bar\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/appinsights\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/keyvault\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/machinelearning\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := core.GetClientConfig(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-rg\"),\n\t\t\tLocation: pulumi.String(\"west europe\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"stage\": pulumi.String(\"example\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleInsights, err := appinsights.NewInsights(ctx, \"example\", \u0026appinsights.InsightsArgs{\n\t\t\tName:              pulumi.String(\"example-ai\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tApplicationType:   pulumi.String(\"web\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleKeyVault, err := keyvault.NewKeyVault(ctx, \"example\", \u0026keyvault.KeyVaultArgs{\n\t\t\tName:                   pulumi.String(\"example-kv\"),\n\t\t\tLocation:               example.Location,\n\t\t\tResourceGroupName:      example.Name,\n\t\t\tTenantId:               pulumi.String(current.TenantId),\n\t\t\tSkuName:                pulumi.String(\"standard\"),\n\t\t\tPurgeProtectionEnabled: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := storage.NewAccount(ctx, \"example\", \u0026storage.AccountArgs{\n\t\t\tName:                   pulumi.String(\"examplesa\"),\n\t\t\tLocation:               example.Location,\n\t\t\tResourceGroupName:      example.Name,\n\t\t\tAccountTier:            pulumi.String(\"Standard\"),\n\t\t\tAccountReplicationType: pulumi.String(\"LRS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleWorkspace, err := machinelearning.NewWorkspace(ctx, \"example\", \u0026machinelearning.WorkspaceArgs{\n\t\t\tName:                  pulumi.String(\"example-mlw\"),\n\t\t\tLocation:              example.Location,\n\t\t\tResourceGroupName:     example.Name,\n\t\t\tApplicationInsightsId: exampleInsights.ID(),\n\t\t\tKeyVaultId:            exampleKeyVault.ID(),\n\t\t\tStorageAccountId:      exampleAccount.ID(),\n\t\t\tIdentity: \u0026machinelearning.WorkspaceIdentityArgs{\n\t\t\t\tType: pulumi.String(\"SystemAssigned\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, \"example\", \u0026network.VirtualNetworkArgs{\n\t\t\tName: pulumi.String(\"example-vnet\"),\n\t\t\tAddressSpaces: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.1.0.0/16\"),\n\t\t\t},\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSubnet, err := network.NewSubnet(ctx, \"example\", \u0026network.SubnetArgs{\n\t\t\tName:               pulumi.String(\"example-subnet\"),\n\t\t\tResourceGroupName:  example.Name,\n\t\t\tVirtualNetworkName: exampleVirtualNetwork.Name,\n\t\t\tAddressPrefixes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.1.0.0/24\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcfg := config.New(ctx, \"\")\n\t\tsshKey := \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCqaZoyiz1qbdOQ8xEf6uEu1cCwYowo5FHtsBhqLoDnnp7KUTEBN+L2NxRIfQ781rxV6Iq5jSav6b2Q8z5KiseOlvKA/RF2wqU0UPYqQviQhLmW6THTpmrv/YkUCuzxDpsH7DUDhZcwySLKVVe0Qm3+5N2Ta6UYH3lsDf9R9wTP2K/+vAnflKebuypNlmocIvakFWoZda18FOmsOoIVXQ8HWFNCuw9ZCunMSN62QGamCe3dL5cXlkgHYv7ekJE15IA9aOJcM7e90oeTqo+7HTcWfdu0qQqPWY5ujyMw/llas8tsXY85LFqRnr3gJ02bAscjc477+X+j/gkpFoN1QEmt terraform@demo.tld\"\n\t\tif param := cfg.Get(\"sshKey\"); param != \"\" {\n\t\t\tsshKey = param\n\t\t}\n\t\t_, err = machinelearning.NewComputeInstance(ctx, \"example\", \u0026machinelearning.ComputeInstanceArgs{\n\t\t\tName:                       pulumi.String(\"example\"),\n\t\t\tMachineLearningWorkspaceId: exampleWorkspace.ID(),\n\t\t\tVirtualMachineSize:         pulumi.String(\"STANDARD_DS2_V2\"),\n\t\t\tAuthorizationType:          pulumi.String(\"personal\"),\n\t\t\tSsh: \u0026machinelearning.ComputeInstanceSshArgs{\n\t\t\t\tPublicKey: pulumi.String(sshKey),\n\t\t\t},\n\t\t\tSubnetResourceId: exampleSubnet.ID(),\n\t\t\tDescription:      pulumi.String(\"foo\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"foo\": pulumi.String(\"bar\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.appinsights.Insights;\nimport com.pulumi.azure.appinsights.InsightsArgs;\nimport com.pulumi.azure.keyvault.KeyVault;\nimport com.pulumi.azure.keyvault.KeyVaultArgs;\nimport com.pulumi.azure.storage.Account;\nimport com.pulumi.azure.storage.AccountArgs;\nimport com.pulumi.azure.machinelearning.Workspace;\nimport com.pulumi.azure.machinelearning.WorkspaceArgs;\nimport com.pulumi.azure.machinelearning.inputs.WorkspaceIdentityArgs;\nimport com.pulumi.azure.network.VirtualNetwork;\nimport com.pulumi.azure.network.VirtualNetworkArgs;\nimport com.pulumi.azure.network.Subnet;\nimport com.pulumi.azure.network.SubnetArgs;\nimport com.pulumi.azure.machinelearning.ComputeInstance;\nimport com.pulumi.azure.machinelearning.ComputeInstanceArgs;\nimport com.pulumi.azure.machinelearning.inputs.ComputeInstanceSshArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var current = CoreFunctions.getClientConfig(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-rg\")\n            .location(\"west europe\")\n            .tags(Map.of(\"stage\", \"example\"))\n            .build());\n\n        var exampleInsights = new Insights(\"exampleInsights\", InsightsArgs.builder()\n            .name(\"example-ai\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .applicationType(\"web\")\n            .build());\n\n        var exampleKeyVault = new KeyVault(\"exampleKeyVault\", KeyVaultArgs.builder()\n            .name(\"example-kv\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .tenantId(current.tenantId())\n            .skuName(\"standard\")\n            .purgeProtectionEnabled(true)\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"examplesa\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .accountTier(\"Standard\")\n            .accountReplicationType(\"LRS\")\n            .build());\n\n        var exampleWorkspace = new Workspace(\"exampleWorkspace\", WorkspaceArgs.builder()\n            .name(\"example-mlw\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .applicationInsightsId(exampleInsights.id())\n            .keyVaultId(exampleKeyVault.id())\n            .storageAccountId(exampleAccount.id())\n            .identity(WorkspaceIdentityArgs.builder()\n                .type(\"SystemAssigned\")\n                .build())\n            .build());\n\n        var exampleVirtualNetwork = new VirtualNetwork(\"exampleVirtualNetwork\", VirtualNetworkArgs.builder()\n            .name(\"example-vnet\")\n            .addressSpaces(\"10.1.0.0/16\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .build());\n\n        var exampleSubnet = new Subnet(\"exampleSubnet\", SubnetArgs.builder()\n            .name(\"example-subnet\")\n            .resourceGroupName(example.name())\n            .virtualNetworkName(exampleVirtualNetwork.name())\n            .addressPrefixes(\"10.1.0.0/24\")\n            .build());\n\n        final var sshKey = config.get(\"sshKey\").orElse(\"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCqaZoyiz1qbdOQ8xEf6uEu1cCwYowo5FHtsBhqLoDnnp7KUTEBN+L2NxRIfQ781rxV6Iq5jSav6b2Q8z5KiseOlvKA/RF2wqU0UPYqQviQhLmW6THTpmrv/YkUCuzxDpsH7DUDhZcwySLKVVe0Qm3+5N2Ta6UYH3lsDf9R9wTP2K/+vAnflKebuypNlmocIvakFWoZda18FOmsOoIVXQ8HWFNCuw9ZCunMSN62QGamCe3dL5cXlkgHYv7ekJE15IA9aOJcM7e90oeTqo+7HTcWfdu0qQqPWY5ujyMw/llas8tsXY85LFqRnr3gJ02bAscjc477+X+j/gkpFoN1QEmt terraform@demo.tld\");\n        var exampleComputeInstance = new ComputeInstance(\"exampleComputeInstance\", ComputeInstanceArgs.builder()\n            .name(\"example\")\n            .machineLearningWorkspaceId(exampleWorkspace.id())\n            .virtualMachineSize(\"STANDARD_DS2_V2\")\n            .authorizationType(\"personal\")\n            .ssh(ComputeInstanceSshArgs.builder()\n                .publicKey(sshKey)\n                .build())\n            .subnetResourceId(exampleSubnet.id())\n            .description(\"foo\")\n            .tags(Map.of(\"foo\", \"bar\"))\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  sshKey:\n    type: string\n    default: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCqaZoyiz1qbdOQ8xEf6uEu1cCwYowo5FHtsBhqLoDnnp7KUTEBN+L2NxRIfQ781rxV6Iq5jSav6b2Q8z5KiseOlvKA/RF2wqU0UPYqQviQhLmW6THTpmrv/YkUCuzxDpsH7DUDhZcwySLKVVe0Qm3+5N2Ta6UYH3lsDf9R9wTP2K/+vAnflKebuypNlmocIvakFWoZda18FOmsOoIVXQ8HWFNCuw9ZCunMSN62QGamCe3dL5cXlkgHYv7ekJE15IA9aOJcM7e90oeTqo+7HTcWfdu0qQqPWY5ujyMw/llas8tsXY85LFqRnr3gJ02bAscjc477+X+j/gkpFoN1QEmt terraform@demo.tld\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-rg\n      location: west europe\n      tags:\n        stage: example\n  exampleInsights:\n    type: azure:appinsights:Insights\n    name: example\n    properties:\n      name: example-ai\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      applicationType: web\n  exampleKeyVault:\n    type: azure:keyvault:KeyVault\n    name: example\n    properties:\n      name: example-kv\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      tenantId: ${current.tenantId}\n      skuName: standard\n      purgeProtectionEnabled: true\n  exampleAccount:\n    type: azure:storage:Account\n    name: example\n    properties:\n      name: examplesa\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      accountTier: Standard\n      accountReplicationType: LRS\n  exampleWorkspace:\n    type: azure:machinelearning:Workspace\n    name: example\n    properties:\n      name: example-mlw\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      applicationInsightsId: ${exampleInsights.id}\n      keyVaultId: ${exampleKeyVault.id}\n      storageAccountId: ${exampleAccount.id}\n      identity:\n        type: SystemAssigned\n  exampleVirtualNetwork:\n    type: azure:network:VirtualNetwork\n    name: example\n    properties:\n      name: example-vnet\n      addressSpaces:\n        - 10.1.0.0/16\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n  exampleSubnet:\n    type: azure:network:Subnet\n    name: example\n    properties:\n      name: example-subnet\n      resourceGroupName: ${example.name}\n      virtualNetworkName: ${exampleVirtualNetwork.name}\n      addressPrefixes:\n        - 10.1.0.0/24\n  exampleComputeInstance:\n    type: azure:machinelearning:ComputeInstance\n    name: example\n    properties:\n      name: example\n      machineLearningWorkspaceId: ${exampleWorkspace.id}\n      virtualMachineSize: STANDARD_DS2_V2\n      authorizationType: personal\n      ssh:\n        publicKey: ${sshKey}\n      subnetResourceId: ${exampleSubnet.id}\n      description: foo\n      tags:\n        foo: bar\nvariables:\n  current:\n    fn::invoke:\n      function: azure:core:getClientConfig\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.MachineLearningServices` - 2025-06-01\n\n## Import\n\nMachine Learning Compute Instances can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:machinelearning/computeInstance:ComputeInstance example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resGroup1/providers/Microsoft.MachineLearningServices/workspaces/workspace1/computes/compute1\n```\n\n","properties":{"assignToUser":{"$ref":"#/types/azure:machinelearning/ComputeInstanceAssignToUser:ComputeInstanceAssignToUser","description":"A \u003cspan pulumi-lang-nodejs=\"`assignToUser`\" pulumi-lang-dotnet=\"`AssignToUser`\" pulumi-lang-go=\"`assignToUser`\" pulumi-lang-python=\"`assign_to_user`\" pulumi-lang-yaml=\"`assignToUser`\" pulumi-lang-java=\"`assignToUser`\"\u003e`assign_to_user`\u003c/span\u003e block as defined below. A user explicitly assigned to a personal compute instance. Changing this forces a new Machine Learning Compute Instance to be created.\n"},"authorizationType":{"type":"string","description":"The Compute Instance Authorization type. Possible values include: \u003cspan pulumi-lang-nodejs=\"`personal`\" pulumi-lang-dotnet=\"`Personal`\" pulumi-lang-go=\"`personal`\" pulumi-lang-python=\"`personal`\" pulumi-lang-yaml=\"`personal`\" pulumi-lang-java=\"`personal`\"\u003e`personal`\u003c/span\u003e. Changing this forces a new Machine Learning Compute Instance to be created.\n"},"description":{"type":"string","description":"The description of the Machine Learning Compute Instance. Changing this forces a new Machine Learning Compute Instance to be created.\n"},"identity":{"$ref":"#/types/azure:machinelearning/ComputeInstanceIdentity:ComputeInstanceIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below. Changing this forces a new Machine Learning Compute Instance to be created.\n"},"localAuthEnabled":{"type":"boolean","description":"Whether local authentication methods is enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e. Changing this forces a new Machine Learning Compute Instance to be created.\n"},"machineLearningWorkspaceId":{"type":"string","description":"The ID of the Machine Learning Workspace. Changing this forces a new Machine Learning Compute Instance to be created.\n"},"name":{"type":"string","description":"The name which should be used for this Machine Learning Compute Instance. Changing this forces a new Machine Learning Compute Instance to be created.\n"},"nodePublicIpEnabled":{"type":"boolean","description":"Whether the compute instance will have a public ip. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e. Changing this forces a new Machine Learning Compute Cluster to be created.\n\n\u003e **Note:** The property \u003cspan pulumi-lang-nodejs=\"`subnetResourceId`\" pulumi-lang-dotnet=\"`SubnetResourceId`\" pulumi-lang-go=\"`subnetResourceId`\" pulumi-lang-python=\"`subnet_resource_id`\" pulumi-lang-yaml=\"`subnetResourceId`\" pulumi-lang-java=\"`subnetResourceId`\"\u003e`subnet_resource_id`\u003c/span\u003e becomes required if \u003cspan pulumi-lang-nodejs=\"`nodePublicIpEnabled`\" pulumi-lang-dotnet=\"`NodePublicIpEnabled`\" pulumi-lang-go=\"`nodePublicIpEnabled`\" pulumi-lang-python=\"`node_public_ip_enabled`\" pulumi-lang-yaml=\"`nodePublicIpEnabled`\" pulumi-lang-java=\"`nodePublicIpEnabled`\"\u003e`node_public_ip_enabled`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e, and the instance's workspace is not using a managed network (i.e. the workspace's outbound isolation mode is `Disabled`).\n"},"ssh":{"$ref":"#/types/azure:machinelearning/ComputeInstanceSsh:ComputeInstanceSsh","description":"A \u003cspan pulumi-lang-nodejs=\"`ssh`\" pulumi-lang-dotnet=\"`Ssh`\" pulumi-lang-go=\"`ssh`\" pulumi-lang-python=\"`ssh`\" pulumi-lang-yaml=\"`ssh`\" pulumi-lang-java=\"`ssh`\"\u003e`ssh`\u003c/span\u003e block as defined below. Specifies policy and settings for SSH access. Changing this forces a new Machine Learning Compute Instance to be created.\n"},"subnetResourceId":{"type":"string","description":"Virtual network subnet resource ID the compute nodes belong to. Changing this forces a new Machine Learning Compute Instance to be created.\n\n\u003e **Note:** The property \u003cspan pulumi-lang-nodejs=\"`subnetResourceId`\" pulumi-lang-dotnet=\"`SubnetResourceId`\" pulumi-lang-go=\"`subnetResourceId`\" pulumi-lang-python=\"`subnet_resource_id`\" pulumi-lang-yaml=\"`subnetResourceId`\" pulumi-lang-java=\"`subnetResourceId`\"\u003e`subnet_resource_id`\u003c/span\u003e can be set only if the instance's workspace is not using Azure-managed networking.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Machine Learning Compute Instance. Changing this forces a new Machine Learning Compute Instance to be created.\n"},"virtualMachineSize":{"type":"string","description":"The Virtual Machine Size. Changing this forces a new Machine Learning Compute Instance to be created.\n"}},"required":["machineLearningWorkspaceId","name","virtualMachineSize"],"inputProperties":{"assignToUser":{"$ref":"#/types/azure:machinelearning/ComputeInstanceAssignToUser:ComputeInstanceAssignToUser","description":"A \u003cspan pulumi-lang-nodejs=\"`assignToUser`\" pulumi-lang-dotnet=\"`AssignToUser`\" pulumi-lang-go=\"`assignToUser`\" pulumi-lang-python=\"`assign_to_user`\" pulumi-lang-yaml=\"`assignToUser`\" pulumi-lang-java=\"`assignToUser`\"\u003e`assign_to_user`\u003c/span\u003e block as defined below. A user explicitly assigned to a personal compute instance. Changing this forces a new Machine Learning Compute Instance to be created.\n","willReplaceOnChanges":true},"authorizationType":{"type":"string","description":"The Compute Instance Authorization type. Possible values include: \u003cspan pulumi-lang-nodejs=\"`personal`\" pulumi-lang-dotnet=\"`Personal`\" pulumi-lang-go=\"`personal`\" pulumi-lang-python=\"`personal`\" pulumi-lang-yaml=\"`personal`\" pulumi-lang-java=\"`personal`\"\u003e`personal`\u003c/span\u003e. Changing this forces a new Machine Learning Compute Instance to be created.\n","willReplaceOnChanges":true},"description":{"type":"string","description":"The description of the Machine Learning Compute Instance. Changing this forces a new Machine Learning Compute Instance to be created.\n","willReplaceOnChanges":true},"identity":{"$ref":"#/types/azure:machinelearning/ComputeInstanceIdentity:ComputeInstanceIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below. Changing this forces a new Machine Learning Compute Instance to be created.\n","willReplaceOnChanges":true},"localAuthEnabled":{"type":"boolean","description":"Whether local authentication methods is enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e. Changing this forces a new Machine Learning Compute Instance to be created.\n","willReplaceOnChanges":true},"machineLearningWorkspaceId":{"type":"string","description":"The ID of the Machine Learning Workspace. Changing this forces a new Machine Learning Compute Instance to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Machine Learning Compute Instance. Changing this forces a new Machine Learning Compute Instance to be created.\n","willReplaceOnChanges":true},"nodePublicIpEnabled":{"type":"boolean","description":"Whether the compute instance will have a public ip. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e. Changing this forces a new Machine Learning Compute Cluster to be created.\n\n\u003e **Note:** The property \u003cspan pulumi-lang-nodejs=\"`subnetResourceId`\" pulumi-lang-dotnet=\"`SubnetResourceId`\" pulumi-lang-go=\"`subnetResourceId`\" pulumi-lang-python=\"`subnet_resource_id`\" pulumi-lang-yaml=\"`subnetResourceId`\" pulumi-lang-java=\"`subnetResourceId`\"\u003e`subnet_resource_id`\u003c/span\u003e becomes required if \u003cspan pulumi-lang-nodejs=\"`nodePublicIpEnabled`\" pulumi-lang-dotnet=\"`NodePublicIpEnabled`\" pulumi-lang-go=\"`nodePublicIpEnabled`\" pulumi-lang-python=\"`node_public_ip_enabled`\" pulumi-lang-yaml=\"`nodePublicIpEnabled`\" pulumi-lang-java=\"`nodePublicIpEnabled`\"\u003e`node_public_ip_enabled`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e, and the instance's workspace is not using a managed network (i.e. the workspace's outbound isolation mode is `Disabled`).\n","willReplaceOnChanges":true},"ssh":{"$ref":"#/types/azure:machinelearning/ComputeInstanceSsh:ComputeInstanceSsh","description":"A \u003cspan pulumi-lang-nodejs=\"`ssh`\" pulumi-lang-dotnet=\"`Ssh`\" pulumi-lang-go=\"`ssh`\" pulumi-lang-python=\"`ssh`\" pulumi-lang-yaml=\"`ssh`\" pulumi-lang-java=\"`ssh`\"\u003e`ssh`\u003c/span\u003e block as defined below. Specifies policy and settings for SSH access. Changing this forces a new Machine Learning Compute Instance to be created.\n","willReplaceOnChanges":true},"subnetResourceId":{"type":"string","description":"Virtual network subnet resource ID the compute nodes belong to. Changing this forces a new Machine Learning Compute Instance to be created.\n\n\u003e **Note:** The property \u003cspan pulumi-lang-nodejs=\"`subnetResourceId`\" pulumi-lang-dotnet=\"`SubnetResourceId`\" pulumi-lang-go=\"`subnetResourceId`\" pulumi-lang-python=\"`subnet_resource_id`\" pulumi-lang-yaml=\"`subnetResourceId`\" pulumi-lang-java=\"`subnetResourceId`\"\u003e`subnet_resource_id`\u003c/span\u003e can be set only if the instance's workspace is not using Azure-managed networking.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Machine Learning Compute Instance. Changing this forces a new Machine Learning Compute Instance to be created.\n","willReplaceOnChanges":true},"virtualMachineSize":{"type":"string","description":"The Virtual Machine Size. Changing this forces a new Machine Learning Compute Instance to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["machineLearningWorkspaceId","virtualMachineSize"],"stateInputs":{"description":"Input properties used for looking up and filtering ComputeInstance resources.\n","properties":{"assignToUser":{"$ref":"#/types/azure:machinelearning/ComputeInstanceAssignToUser:ComputeInstanceAssignToUser","description":"A \u003cspan pulumi-lang-nodejs=\"`assignToUser`\" pulumi-lang-dotnet=\"`AssignToUser`\" pulumi-lang-go=\"`assignToUser`\" pulumi-lang-python=\"`assign_to_user`\" pulumi-lang-yaml=\"`assignToUser`\" pulumi-lang-java=\"`assignToUser`\"\u003e`assign_to_user`\u003c/span\u003e block as defined below. A user explicitly assigned to a personal compute instance. Changing this forces a new Machine Learning Compute Instance to be created.\n","willReplaceOnChanges":true},"authorizationType":{"type":"string","description":"The Compute Instance Authorization type. Possible values include: \u003cspan pulumi-lang-nodejs=\"`personal`\" pulumi-lang-dotnet=\"`Personal`\" pulumi-lang-go=\"`personal`\" pulumi-lang-python=\"`personal`\" pulumi-lang-yaml=\"`personal`\" pulumi-lang-java=\"`personal`\"\u003e`personal`\u003c/span\u003e. Changing this forces a new Machine Learning Compute Instance to be created.\n","willReplaceOnChanges":true},"description":{"type":"string","description":"The description of the Machine Learning Compute Instance. Changing this forces a new Machine Learning Compute Instance to be created.\n","willReplaceOnChanges":true},"identity":{"$ref":"#/types/azure:machinelearning/ComputeInstanceIdentity:ComputeInstanceIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below. Changing this forces a new Machine Learning Compute Instance to be created.\n","willReplaceOnChanges":true},"localAuthEnabled":{"type":"boolean","description":"Whether local authentication methods is enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e. Changing this forces a new Machine Learning Compute Instance to be created.\n","willReplaceOnChanges":true},"machineLearningWorkspaceId":{"type":"string","description":"The ID of the Machine Learning Workspace. Changing this forces a new Machine Learning Compute Instance to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Machine Learning Compute Instance. Changing this forces a new Machine Learning Compute Instance to be created.\n","willReplaceOnChanges":true},"nodePublicIpEnabled":{"type":"boolean","description":"Whether the compute instance will have a public ip. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e. Changing this forces a new Machine Learning Compute Cluster to be created.\n\n\u003e **Note:** The property \u003cspan pulumi-lang-nodejs=\"`subnetResourceId`\" pulumi-lang-dotnet=\"`SubnetResourceId`\" pulumi-lang-go=\"`subnetResourceId`\" pulumi-lang-python=\"`subnet_resource_id`\" pulumi-lang-yaml=\"`subnetResourceId`\" pulumi-lang-java=\"`subnetResourceId`\"\u003e`subnet_resource_id`\u003c/span\u003e becomes required if \u003cspan pulumi-lang-nodejs=\"`nodePublicIpEnabled`\" pulumi-lang-dotnet=\"`NodePublicIpEnabled`\" pulumi-lang-go=\"`nodePublicIpEnabled`\" pulumi-lang-python=\"`node_public_ip_enabled`\" pulumi-lang-yaml=\"`nodePublicIpEnabled`\" pulumi-lang-java=\"`nodePublicIpEnabled`\"\u003e`node_public_ip_enabled`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e, and the instance's workspace is not using a managed network (i.e. the workspace's outbound isolation mode is `Disabled`).\n","willReplaceOnChanges":true},"ssh":{"$ref":"#/types/azure:machinelearning/ComputeInstanceSsh:ComputeInstanceSsh","description":"A \u003cspan pulumi-lang-nodejs=\"`ssh`\" pulumi-lang-dotnet=\"`Ssh`\" pulumi-lang-go=\"`ssh`\" pulumi-lang-python=\"`ssh`\" pulumi-lang-yaml=\"`ssh`\" pulumi-lang-java=\"`ssh`\"\u003e`ssh`\u003c/span\u003e block as defined below. Specifies policy and settings for SSH access. Changing this forces a new Machine Learning Compute Instance to be created.\n","willReplaceOnChanges":true},"subnetResourceId":{"type":"string","description":"Virtual network subnet resource ID the compute nodes belong to. Changing this forces a new Machine Learning Compute Instance to be created.\n\n\u003e **Note:** The property \u003cspan pulumi-lang-nodejs=\"`subnetResourceId`\" pulumi-lang-dotnet=\"`SubnetResourceId`\" pulumi-lang-go=\"`subnetResourceId`\" pulumi-lang-python=\"`subnet_resource_id`\" pulumi-lang-yaml=\"`subnetResourceId`\" pulumi-lang-java=\"`subnetResourceId`\"\u003e`subnet_resource_id`\u003c/span\u003e can be set only if the instance's workspace is not using Azure-managed networking.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Machine Learning Compute Instance. Changing this forces a new Machine Learning Compute Instance to be created.\n","willReplaceOnChanges":true},"virtualMachineSize":{"type":"string","description":"The Virtual Machine Size. Changing this forces a new Machine Learning Compute Instance to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:machinelearning/datastoreBlobstorage:DatastoreBlobstorage":{"description":"Manages a Machine Learning Blob Storage DataStore.\n\n## Example Usage\n\n### With Azure Blob\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst current = azure.core.getClientConfig({});\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleInsights = new azure.appinsights.Insights(\"example\", {\n    name: \"workspace-example-ai\",\n    location: example.location,\n    resourceGroupName: example.name,\n    applicationType: \"web\",\n});\nconst exampleKeyVault = new azure.keyvault.KeyVault(\"example\", {\n    name: \"workspaceexamplekeyvault\",\n    location: example.location,\n    resourceGroupName: example.name,\n    tenantId: current.then(current =\u003e current.tenantId),\n    skuName: \"premium\",\n});\nconst exampleAccount = new azure.storage.Account(\"example\", {\n    name: \"workspacestorageaccount\",\n    location: example.location,\n    resourceGroupName: example.name,\n    accountTier: \"Standard\",\n    accountReplicationType: \"GRS\",\n});\nconst exampleWorkspace = new azure.machinelearning.Workspace(\"example\", {\n    name: \"example-workspace\",\n    location: example.location,\n    resourceGroupName: example.name,\n    applicationInsightsId: exampleInsights.id,\n    keyVaultId: exampleKeyVault.id,\n    storageAccountId: exampleAccount.id,\n    identity: {\n        type: \"SystemAssigned\",\n    },\n});\nconst exampleContainer = new azure.storage.Container(\"example\", {\n    name: \"example-container\",\n    storageAccountName: exampleAccount.name,\n    containerAccessType: \"private\",\n});\nconst exampleDatastoreBlobstorage = new azure.machinelearning.DatastoreBlobstorage(\"example\", {\n    name: \"example-datastore\",\n    workspaceId: exampleWorkspace.id,\n    storageContainerId: exampleContainer.id,\n    accountKey: exampleAccount.primaryAccessKey,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\ncurrent = azure.core.get_client_config()\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_insights = azure.appinsights.Insights(\"example\",\n    name=\"workspace-example-ai\",\n    location=example.location,\n    resource_group_name=example.name,\n    application_type=\"web\")\nexample_key_vault = azure.keyvault.KeyVault(\"example\",\n    name=\"workspaceexamplekeyvault\",\n    location=example.location,\n    resource_group_name=example.name,\n    tenant_id=current.tenant_id,\n    sku_name=\"premium\")\nexample_account = azure.storage.Account(\"example\",\n    name=\"workspacestorageaccount\",\n    location=example.location,\n    resource_group_name=example.name,\n    account_tier=\"Standard\",\n    account_replication_type=\"GRS\")\nexample_workspace = azure.machinelearning.Workspace(\"example\",\n    name=\"example-workspace\",\n    location=example.location,\n    resource_group_name=example.name,\n    application_insights_id=example_insights.id,\n    key_vault_id=example_key_vault.id,\n    storage_account_id=example_account.id,\n    identity={\n        \"type\": \"SystemAssigned\",\n    })\nexample_container = azure.storage.Container(\"example\",\n    name=\"example-container\",\n    storage_account_name=example_account.name,\n    container_access_type=\"private\")\nexample_datastore_blobstorage = azure.machinelearning.DatastoreBlobstorage(\"example\",\n    name=\"example-datastore\",\n    workspace_id=example_workspace.id,\n    storage_container_id=example_container.id,\n    account_key=example_account.primary_access_key)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var current = Azure.Core.GetClientConfig.Invoke();\n\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleInsights = new Azure.AppInsights.Insights(\"example\", new()\n    {\n        Name = \"workspace-example-ai\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        ApplicationType = \"web\",\n    });\n\n    var exampleKeyVault = new Azure.KeyVault.KeyVault(\"example\", new()\n    {\n        Name = \"workspaceexamplekeyvault\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        TenantId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.TenantId),\n        SkuName = \"premium\",\n    });\n\n    var exampleAccount = new Azure.Storage.Account(\"example\", new()\n    {\n        Name = \"workspacestorageaccount\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        AccountTier = \"Standard\",\n        AccountReplicationType = \"GRS\",\n    });\n\n    var exampleWorkspace = new Azure.MachineLearning.Workspace(\"example\", new()\n    {\n        Name = \"example-workspace\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        ApplicationInsightsId = exampleInsights.Id,\n        KeyVaultId = exampleKeyVault.Id,\n        StorageAccountId = exampleAccount.Id,\n        Identity = new Azure.MachineLearning.Inputs.WorkspaceIdentityArgs\n        {\n            Type = \"SystemAssigned\",\n        },\n    });\n\n    var exampleContainer = new Azure.Storage.Container(\"example\", new()\n    {\n        Name = \"example-container\",\n        StorageAccountName = exampleAccount.Name,\n        ContainerAccessType = \"private\",\n    });\n\n    var exampleDatastoreBlobstorage = new Azure.MachineLearning.DatastoreBlobstorage(\"example\", new()\n    {\n        Name = \"example-datastore\",\n        WorkspaceId = exampleWorkspace.Id,\n        StorageContainerId = exampleContainer.Id,\n        AccountKey = exampleAccount.PrimaryAccessKey,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/appinsights\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/keyvault\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/machinelearning\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := core.GetClientConfig(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleInsights, err := appinsights.NewInsights(ctx, \"example\", \u0026appinsights.InsightsArgs{\n\t\t\tName:              pulumi.String(\"workspace-example-ai\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tApplicationType:   pulumi.String(\"web\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleKeyVault, err := keyvault.NewKeyVault(ctx, \"example\", \u0026keyvault.KeyVaultArgs{\n\t\t\tName:              pulumi.String(\"workspaceexamplekeyvault\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tTenantId:          pulumi.String(current.TenantId),\n\t\t\tSkuName:           pulumi.String(\"premium\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := storage.NewAccount(ctx, \"example\", \u0026storage.AccountArgs{\n\t\t\tName:                   pulumi.String(\"workspacestorageaccount\"),\n\t\t\tLocation:               example.Location,\n\t\t\tResourceGroupName:      example.Name,\n\t\t\tAccountTier:            pulumi.String(\"Standard\"),\n\t\t\tAccountReplicationType: pulumi.String(\"GRS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleWorkspace, err := machinelearning.NewWorkspace(ctx, \"example\", \u0026machinelearning.WorkspaceArgs{\n\t\t\tName:                  pulumi.String(\"example-workspace\"),\n\t\t\tLocation:              example.Location,\n\t\t\tResourceGroupName:     example.Name,\n\t\t\tApplicationInsightsId: exampleInsights.ID(),\n\t\t\tKeyVaultId:            exampleKeyVault.ID(),\n\t\t\tStorageAccountId:      exampleAccount.ID(),\n\t\t\tIdentity: \u0026machinelearning.WorkspaceIdentityArgs{\n\t\t\t\tType: pulumi.String(\"SystemAssigned\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleContainer, err := storage.NewContainer(ctx, \"example\", \u0026storage.ContainerArgs{\n\t\t\tName:                pulumi.String(\"example-container\"),\n\t\t\tStorageAccountName:  exampleAccount.Name,\n\t\t\tContainerAccessType: pulumi.String(\"private\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = machinelearning.NewDatastoreBlobstorage(ctx, \"example\", \u0026machinelearning.DatastoreBlobstorageArgs{\n\t\t\tName:               pulumi.String(\"example-datastore\"),\n\t\t\tWorkspaceId:        exampleWorkspace.ID(),\n\t\t\tStorageContainerId: exampleContainer.ID(),\n\t\t\tAccountKey:         exampleAccount.PrimaryAccessKey,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.appinsights.Insights;\nimport com.pulumi.azure.appinsights.InsightsArgs;\nimport com.pulumi.azure.keyvault.KeyVault;\nimport com.pulumi.azure.keyvault.KeyVaultArgs;\nimport com.pulumi.azure.storage.Account;\nimport com.pulumi.azure.storage.AccountArgs;\nimport com.pulumi.azure.machinelearning.Workspace;\nimport com.pulumi.azure.machinelearning.WorkspaceArgs;\nimport com.pulumi.azure.machinelearning.inputs.WorkspaceIdentityArgs;\nimport com.pulumi.azure.storage.Container;\nimport com.pulumi.azure.storage.ContainerArgs;\nimport com.pulumi.azure.machinelearning.DatastoreBlobstorage;\nimport com.pulumi.azure.machinelearning.DatastoreBlobstorageArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var current = CoreFunctions.getClientConfig(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleInsights = new Insights(\"exampleInsights\", InsightsArgs.builder()\n            .name(\"workspace-example-ai\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .applicationType(\"web\")\n            .build());\n\n        var exampleKeyVault = new KeyVault(\"exampleKeyVault\", KeyVaultArgs.builder()\n            .name(\"workspaceexamplekeyvault\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .tenantId(current.tenantId())\n            .skuName(\"premium\")\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"workspacestorageaccount\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .accountTier(\"Standard\")\n            .accountReplicationType(\"GRS\")\n            .build());\n\n        var exampleWorkspace = new Workspace(\"exampleWorkspace\", WorkspaceArgs.builder()\n            .name(\"example-workspace\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .applicationInsightsId(exampleInsights.id())\n            .keyVaultId(exampleKeyVault.id())\n            .storageAccountId(exampleAccount.id())\n            .identity(WorkspaceIdentityArgs.builder()\n                .type(\"SystemAssigned\")\n                .build())\n            .build());\n\n        var exampleContainer = new Container(\"exampleContainer\", ContainerArgs.builder()\n            .name(\"example-container\")\n            .storageAccountName(exampleAccount.name())\n            .containerAccessType(\"private\")\n            .build());\n\n        var exampleDatastoreBlobstorage = new DatastoreBlobstorage(\"exampleDatastoreBlobstorage\", DatastoreBlobstorageArgs.builder()\n            .name(\"example-datastore\")\n            .workspaceId(exampleWorkspace.id())\n            .storageContainerId(exampleContainer.id())\n            .accountKey(exampleAccount.primaryAccessKey())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleInsights:\n    type: azure:appinsights:Insights\n    name: example\n    properties:\n      name: workspace-example-ai\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      applicationType: web\n  exampleKeyVault:\n    type: azure:keyvault:KeyVault\n    name: example\n    properties:\n      name: workspaceexamplekeyvault\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      tenantId: ${current.tenantId}\n      skuName: premium\n  exampleAccount:\n    type: azure:storage:Account\n    name: example\n    properties:\n      name: workspacestorageaccount\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      accountTier: Standard\n      accountReplicationType: GRS\n  exampleWorkspace:\n    type: azure:machinelearning:Workspace\n    name: example\n    properties:\n      name: example-workspace\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      applicationInsightsId: ${exampleInsights.id}\n      keyVaultId: ${exampleKeyVault.id}\n      storageAccountId: ${exampleAccount.id}\n      identity:\n        type: SystemAssigned\n  exampleContainer:\n    type: azure:storage:Container\n    name: example\n    properties:\n      name: example-container\n      storageAccountName: ${exampleAccount.name}\n      containerAccessType: private\n  exampleDatastoreBlobstorage:\n    type: azure:machinelearning:DatastoreBlobstorage\n    name: example\n    properties:\n      name: example-datastore\n      workspaceId: ${exampleWorkspace.id}\n      storageContainerId: ${exampleContainer.id}\n      accountKey: ${exampleAccount.primaryAccessKey}\nvariables:\n  current:\n    fn::invoke:\n      function: azure:core:getClientConfig\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.MachineLearningServices` - 2025-06-01\n\n## Import\n\nMachine Learning DataStores can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:machinelearning/datastoreBlobstorage:DatastoreBlobstorage example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.MachineLearningServices/workspaces/mlw1/dataStores/datastore1\n```\n\n","properties":{"accountKey":{"type":"string","description":"The access key of the Storage Account. Conflicts with \u003cspan pulumi-lang-nodejs=\"`sharedAccessSignature`\" pulumi-lang-dotnet=\"`SharedAccessSignature`\" pulumi-lang-go=\"`sharedAccessSignature`\" pulumi-lang-python=\"`shared_access_signature`\" pulumi-lang-yaml=\"`sharedAccessSignature`\" pulumi-lang-java=\"`sharedAccessSignature`\"\u003e`shared_access_signature`\u003c/span\u003e.\n","secret":true},"description":{"type":"string","description":"Text used to describe the asset. Changing this forces a new Machine Learning DataStore to be created.\n"},"isDefault":{"type":"boolean","description":"Specifies whether this Machines Learning DataStore is the default for the Workspace. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`isDefault`\" pulumi-lang-dotnet=\"`IsDefault`\" pulumi-lang-go=\"`isDefault`\" pulumi-lang-python=\"`is_default`\" pulumi-lang-yaml=\"`isDefault`\" pulumi-lang-java=\"`isDefault`\"\u003e`is_default`\u003c/span\u003e can only be set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e on update.\n"},"name":{"type":"string","description":"The name of the Machine Learning DataStore. Changing this forces a new Machine Learning DataStore to be created.\n"},"serviceDataAuthIdentity":{"type":"string","description":"Specifies which identity to use when retrieving data from the specified source. Defaults to `None`. Possible values are `None`, `WorkspaceSystemAssignedIdentity` and `WorkspaceUserAssignedIdentity`.\n"},"sharedAccessSignature":{"type":"string","description":"The Shared Access Signature of the Storage Account. Conflicts with \u003cspan pulumi-lang-nodejs=\"`accountKey`\" pulumi-lang-dotnet=\"`AccountKey`\" pulumi-lang-go=\"`accountKey`\" pulumi-lang-python=\"`account_key`\" pulumi-lang-yaml=\"`accountKey`\" pulumi-lang-java=\"`accountKey`\"\u003e`account_key`\u003c/span\u003e.\n\n\u003e **Note:** If \u003cspan pulumi-lang-nodejs=\"`serviceDataAuthIdentity`\" pulumi-lang-dotnet=\"`ServiceDataAuthIdentity`\" pulumi-lang-go=\"`serviceDataAuthIdentity`\" pulumi-lang-python=\"`service_data_auth_identity`\" pulumi-lang-yaml=\"`serviceDataAuthIdentity`\" pulumi-lang-java=\"`serviceDataAuthIdentity`\"\u003e`service_data_auth_identity`\u003c/span\u003e is set to `None` or omitted, one of \u003cspan pulumi-lang-nodejs=\"`accountKey`\" pulumi-lang-dotnet=\"`AccountKey`\" pulumi-lang-go=\"`accountKey`\" pulumi-lang-python=\"`account_key`\" pulumi-lang-yaml=\"`accountKey`\" pulumi-lang-java=\"`accountKey`\"\u003e`account_key`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`sharedAccessSignature`\" pulumi-lang-dotnet=\"`SharedAccessSignature`\" pulumi-lang-go=\"`sharedAccessSignature`\" pulumi-lang-python=\"`shared_access_signature`\" pulumi-lang-yaml=\"`sharedAccessSignature`\" pulumi-lang-java=\"`sharedAccessSignature`\"\u003e`shared_access_signature`\u003c/span\u003e must be specified.\n","secret":true},"storageContainerId":{"type":"string","description":"The ID of the Storage Account Container. Changing this forces a new Machine Learning DataStore to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Machine Learning DataStore. Changing this forces a new Machine Learning DataStore to be created.\n"},"workspaceId":{"type":"string","description":"The ID of the Machine Learning Workspace. Changing this forces a new Machine Learning DataStore to be created.\n"}},"required":["name","storageContainerId","workspaceId"],"inputProperties":{"accountKey":{"type":"string","description":"The access key of the Storage Account. Conflicts with \u003cspan pulumi-lang-nodejs=\"`sharedAccessSignature`\" pulumi-lang-dotnet=\"`SharedAccessSignature`\" pulumi-lang-go=\"`sharedAccessSignature`\" pulumi-lang-python=\"`shared_access_signature`\" pulumi-lang-yaml=\"`sharedAccessSignature`\" pulumi-lang-java=\"`sharedAccessSignature`\"\u003e`shared_access_signature`\u003c/span\u003e.\n","secret":true},"description":{"type":"string","description":"Text used to describe the asset. Changing this forces a new Machine Learning DataStore to be created.\n","willReplaceOnChanges":true},"isDefault":{"type":"boolean","description":"Specifies whether this Machines Learning DataStore is the default for the Workspace. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`isDefault`\" pulumi-lang-dotnet=\"`IsDefault`\" pulumi-lang-go=\"`isDefault`\" pulumi-lang-python=\"`is_default`\" pulumi-lang-yaml=\"`isDefault`\" pulumi-lang-java=\"`isDefault`\"\u003e`is_default`\u003c/span\u003e can only be set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e on update.\n"},"name":{"type":"string","description":"The name of the Machine Learning DataStore. Changing this forces a new Machine Learning DataStore to be created.\n","willReplaceOnChanges":true},"serviceDataAuthIdentity":{"type":"string","description":"Specifies which identity to use when retrieving data from the specified source. Defaults to `None`. Possible values are `None`, `WorkspaceSystemAssignedIdentity` and `WorkspaceUserAssignedIdentity`.\n"},"sharedAccessSignature":{"type":"string","description":"The Shared Access Signature of the Storage Account. Conflicts with \u003cspan pulumi-lang-nodejs=\"`accountKey`\" pulumi-lang-dotnet=\"`AccountKey`\" pulumi-lang-go=\"`accountKey`\" pulumi-lang-python=\"`account_key`\" pulumi-lang-yaml=\"`accountKey`\" pulumi-lang-java=\"`accountKey`\"\u003e`account_key`\u003c/span\u003e.\n\n\u003e **Note:** If \u003cspan pulumi-lang-nodejs=\"`serviceDataAuthIdentity`\" pulumi-lang-dotnet=\"`ServiceDataAuthIdentity`\" pulumi-lang-go=\"`serviceDataAuthIdentity`\" pulumi-lang-python=\"`service_data_auth_identity`\" pulumi-lang-yaml=\"`serviceDataAuthIdentity`\" pulumi-lang-java=\"`serviceDataAuthIdentity`\"\u003e`service_data_auth_identity`\u003c/span\u003e is set to `None` or omitted, one of \u003cspan pulumi-lang-nodejs=\"`accountKey`\" pulumi-lang-dotnet=\"`AccountKey`\" pulumi-lang-go=\"`accountKey`\" pulumi-lang-python=\"`account_key`\" pulumi-lang-yaml=\"`accountKey`\" pulumi-lang-java=\"`accountKey`\"\u003e`account_key`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`sharedAccessSignature`\" pulumi-lang-dotnet=\"`SharedAccessSignature`\" pulumi-lang-go=\"`sharedAccessSignature`\" pulumi-lang-python=\"`shared_access_signature`\" pulumi-lang-yaml=\"`sharedAccessSignature`\" pulumi-lang-java=\"`sharedAccessSignature`\"\u003e`shared_access_signature`\u003c/span\u003e must be specified.\n","secret":true},"storageContainerId":{"type":"string","description":"The ID of the Storage Account Container. Changing this forces a new Machine Learning DataStore to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Machine Learning DataStore. Changing this forces a new Machine Learning DataStore to be created.\n","willReplaceOnChanges":true},"workspaceId":{"type":"string","description":"The ID of the Machine Learning Workspace. Changing this forces a new Machine Learning DataStore to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["storageContainerId","workspaceId"],"stateInputs":{"description":"Input properties used for looking up and filtering DatastoreBlobstorage resources.\n","properties":{"accountKey":{"type":"string","description":"The access key of the Storage Account. Conflicts with \u003cspan pulumi-lang-nodejs=\"`sharedAccessSignature`\" pulumi-lang-dotnet=\"`SharedAccessSignature`\" pulumi-lang-go=\"`sharedAccessSignature`\" pulumi-lang-python=\"`shared_access_signature`\" pulumi-lang-yaml=\"`sharedAccessSignature`\" pulumi-lang-java=\"`sharedAccessSignature`\"\u003e`shared_access_signature`\u003c/span\u003e.\n","secret":true},"description":{"type":"string","description":"Text used to describe the asset. Changing this forces a new Machine Learning DataStore to be created.\n","willReplaceOnChanges":true},"isDefault":{"type":"boolean","description":"Specifies whether this Machines Learning DataStore is the default for the Workspace. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`isDefault`\" pulumi-lang-dotnet=\"`IsDefault`\" pulumi-lang-go=\"`isDefault`\" pulumi-lang-python=\"`is_default`\" pulumi-lang-yaml=\"`isDefault`\" pulumi-lang-java=\"`isDefault`\"\u003e`is_default`\u003c/span\u003e can only be set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e on update.\n"},"name":{"type":"string","description":"The name of the Machine Learning DataStore. Changing this forces a new Machine Learning DataStore to be created.\n","willReplaceOnChanges":true},"serviceDataAuthIdentity":{"type":"string","description":"Specifies which identity to use when retrieving data from the specified source. Defaults to `None`. Possible values are `None`, `WorkspaceSystemAssignedIdentity` and `WorkspaceUserAssignedIdentity`.\n"},"sharedAccessSignature":{"type":"string","description":"The Shared Access Signature of the Storage Account. Conflicts with \u003cspan pulumi-lang-nodejs=\"`accountKey`\" pulumi-lang-dotnet=\"`AccountKey`\" pulumi-lang-go=\"`accountKey`\" pulumi-lang-python=\"`account_key`\" pulumi-lang-yaml=\"`accountKey`\" pulumi-lang-java=\"`accountKey`\"\u003e`account_key`\u003c/span\u003e.\n\n\u003e **Note:** If \u003cspan pulumi-lang-nodejs=\"`serviceDataAuthIdentity`\" pulumi-lang-dotnet=\"`ServiceDataAuthIdentity`\" pulumi-lang-go=\"`serviceDataAuthIdentity`\" pulumi-lang-python=\"`service_data_auth_identity`\" pulumi-lang-yaml=\"`serviceDataAuthIdentity`\" pulumi-lang-java=\"`serviceDataAuthIdentity`\"\u003e`service_data_auth_identity`\u003c/span\u003e is set to `None` or omitted, one of \u003cspan pulumi-lang-nodejs=\"`accountKey`\" pulumi-lang-dotnet=\"`AccountKey`\" pulumi-lang-go=\"`accountKey`\" pulumi-lang-python=\"`account_key`\" pulumi-lang-yaml=\"`accountKey`\" pulumi-lang-java=\"`accountKey`\"\u003e`account_key`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`sharedAccessSignature`\" pulumi-lang-dotnet=\"`SharedAccessSignature`\" pulumi-lang-go=\"`sharedAccessSignature`\" pulumi-lang-python=\"`shared_access_signature`\" pulumi-lang-yaml=\"`sharedAccessSignature`\" pulumi-lang-java=\"`sharedAccessSignature`\"\u003e`shared_access_signature`\u003c/span\u003e must be specified.\n","secret":true},"storageContainerId":{"type":"string","description":"The ID of the Storage Account Container. Changing this forces a new Machine Learning DataStore to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Machine Learning DataStore. Changing this forces a new Machine Learning DataStore to be created.\n","willReplaceOnChanges":true},"workspaceId":{"type":"string","description":"The ID of the Machine Learning Workspace. Changing this forces a new Machine Learning DataStore to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:machinelearning/datastoreDatalakeGen2:DatastoreDatalakeGen2":{"description":"Manages a Machine Learning Data Lake Gen2 DataStore.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst current = azure.core.getClientConfig({});\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleInsights = new azure.appinsights.Insights(\"example\", {\n    name: \"workspace-example-ai\",\n    location: example.location,\n    resourceGroupName: example.name,\n    applicationType: \"web\",\n});\nconst exampleKeyVault = new azure.keyvault.KeyVault(\"example\", {\n    name: \"workspaceexamplekeyvault\",\n    location: example.location,\n    resourceGroupName: example.name,\n    tenantId: current.then(current =\u003e current.tenantId),\n    skuName: \"premium\",\n});\nconst exampleAccount = new azure.storage.Account(\"example\", {\n    name: \"workspacestorageaccount\",\n    location: example.location,\n    resourceGroupName: example.name,\n    accountTier: \"Standard\",\n    accountReplicationType: \"GRS\",\n});\nconst exampleWorkspace = new azure.machinelearning.Workspace(\"example\", {\n    name: \"example-workspace\",\n    location: example.location,\n    resourceGroupName: example.name,\n    applicationInsightsId: exampleInsights.id,\n    keyVaultId: exampleKeyVault.id,\n    storageAccountId: exampleAccount.id,\n    identity: {\n        type: \"SystemAssigned\",\n    },\n});\nconst exampleContainer = new azure.storage.Container(\"example\", {\n    name: \"example-container\",\n    storageAccountName: exampleAccount.name,\n    containerAccessType: \"private\",\n});\nconst exampleDatastoreDatalakeGen2 = new azure.machinelearning.DatastoreDatalakeGen2(\"example\", {\n    name: \"example-datastore\",\n    workspaceId: exampleWorkspace.id,\n    storageContainerId: exampleContainer.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\ncurrent = azure.core.get_client_config()\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_insights = azure.appinsights.Insights(\"example\",\n    name=\"workspace-example-ai\",\n    location=example.location,\n    resource_group_name=example.name,\n    application_type=\"web\")\nexample_key_vault = azure.keyvault.KeyVault(\"example\",\n    name=\"workspaceexamplekeyvault\",\n    location=example.location,\n    resource_group_name=example.name,\n    tenant_id=current.tenant_id,\n    sku_name=\"premium\")\nexample_account = azure.storage.Account(\"example\",\n    name=\"workspacestorageaccount\",\n    location=example.location,\n    resource_group_name=example.name,\n    account_tier=\"Standard\",\n    account_replication_type=\"GRS\")\nexample_workspace = azure.machinelearning.Workspace(\"example\",\n    name=\"example-workspace\",\n    location=example.location,\n    resource_group_name=example.name,\n    application_insights_id=example_insights.id,\n    key_vault_id=example_key_vault.id,\n    storage_account_id=example_account.id,\n    identity={\n        \"type\": \"SystemAssigned\",\n    })\nexample_container = azure.storage.Container(\"example\",\n    name=\"example-container\",\n    storage_account_name=example_account.name,\n    container_access_type=\"private\")\nexample_datastore_datalake_gen2 = azure.machinelearning.DatastoreDatalakeGen2(\"example\",\n    name=\"example-datastore\",\n    workspace_id=example_workspace.id,\n    storage_container_id=example_container.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var current = Azure.Core.GetClientConfig.Invoke();\n\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleInsights = new Azure.AppInsights.Insights(\"example\", new()\n    {\n        Name = \"workspace-example-ai\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        ApplicationType = \"web\",\n    });\n\n    var exampleKeyVault = new Azure.KeyVault.KeyVault(\"example\", new()\n    {\n        Name = \"workspaceexamplekeyvault\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        TenantId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.TenantId),\n        SkuName = \"premium\",\n    });\n\n    var exampleAccount = new Azure.Storage.Account(\"example\", new()\n    {\n        Name = \"workspacestorageaccount\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        AccountTier = \"Standard\",\n        AccountReplicationType = \"GRS\",\n    });\n\n    var exampleWorkspace = new Azure.MachineLearning.Workspace(\"example\", new()\n    {\n        Name = \"example-workspace\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        ApplicationInsightsId = exampleInsights.Id,\n        KeyVaultId = exampleKeyVault.Id,\n        StorageAccountId = exampleAccount.Id,\n        Identity = new Azure.MachineLearning.Inputs.WorkspaceIdentityArgs\n        {\n            Type = \"SystemAssigned\",\n        },\n    });\n\n    var exampleContainer = new Azure.Storage.Container(\"example\", new()\n    {\n        Name = \"example-container\",\n        StorageAccountName = exampleAccount.Name,\n        ContainerAccessType = \"private\",\n    });\n\n    var exampleDatastoreDatalakeGen2 = new Azure.MachineLearning.DatastoreDatalakeGen2(\"example\", new()\n    {\n        Name = \"example-datastore\",\n        WorkspaceId = exampleWorkspace.Id,\n        StorageContainerId = exampleContainer.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/appinsights\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/keyvault\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/machinelearning\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := core.GetClientConfig(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleInsights, err := appinsights.NewInsights(ctx, \"example\", \u0026appinsights.InsightsArgs{\n\t\t\tName:              pulumi.String(\"workspace-example-ai\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tApplicationType:   pulumi.String(\"web\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleKeyVault, err := keyvault.NewKeyVault(ctx, \"example\", \u0026keyvault.KeyVaultArgs{\n\t\t\tName:              pulumi.String(\"workspaceexamplekeyvault\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tTenantId:          pulumi.String(current.TenantId),\n\t\t\tSkuName:           pulumi.String(\"premium\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := storage.NewAccount(ctx, \"example\", \u0026storage.AccountArgs{\n\t\t\tName:                   pulumi.String(\"workspacestorageaccount\"),\n\t\t\tLocation:               example.Location,\n\t\t\tResourceGroupName:      example.Name,\n\t\t\tAccountTier:            pulumi.String(\"Standard\"),\n\t\t\tAccountReplicationType: pulumi.String(\"GRS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleWorkspace, err := machinelearning.NewWorkspace(ctx, \"example\", \u0026machinelearning.WorkspaceArgs{\n\t\t\tName:                  pulumi.String(\"example-workspace\"),\n\t\t\tLocation:              example.Location,\n\t\t\tResourceGroupName:     example.Name,\n\t\t\tApplicationInsightsId: exampleInsights.ID(),\n\t\t\tKeyVaultId:            exampleKeyVault.ID(),\n\t\t\tStorageAccountId:      exampleAccount.ID(),\n\t\t\tIdentity: \u0026machinelearning.WorkspaceIdentityArgs{\n\t\t\t\tType: pulumi.String(\"SystemAssigned\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleContainer, err := storage.NewContainer(ctx, \"example\", \u0026storage.ContainerArgs{\n\t\t\tName:                pulumi.String(\"example-container\"),\n\t\t\tStorageAccountName:  exampleAccount.Name,\n\t\t\tContainerAccessType: pulumi.String(\"private\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = machinelearning.NewDatastoreDatalakeGen2(ctx, \"example\", \u0026machinelearning.DatastoreDatalakeGen2Args{\n\t\t\tName:               pulumi.String(\"example-datastore\"),\n\t\t\tWorkspaceId:        exampleWorkspace.ID(),\n\t\t\tStorageContainerId: exampleContainer.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.appinsights.Insights;\nimport com.pulumi.azure.appinsights.InsightsArgs;\nimport com.pulumi.azure.keyvault.KeyVault;\nimport com.pulumi.azure.keyvault.KeyVaultArgs;\nimport com.pulumi.azure.storage.Account;\nimport com.pulumi.azure.storage.AccountArgs;\nimport com.pulumi.azure.machinelearning.Workspace;\nimport com.pulumi.azure.machinelearning.WorkspaceArgs;\nimport com.pulumi.azure.machinelearning.inputs.WorkspaceIdentityArgs;\nimport com.pulumi.azure.storage.Container;\nimport com.pulumi.azure.storage.ContainerArgs;\nimport com.pulumi.azure.machinelearning.DatastoreDatalakeGen2;\nimport com.pulumi.azure.machinelearning.DatastoreDatalakeGen2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var current = CoreFunctions.getClientConfig(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleInsights = new Insights(\"exampleInsights\", InsightsArgs.builder()\n            .name(\"workspace-example-ai\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .applicationType(\"web\")\n            .build());\n\n        var exampleKeyVault = new KeyVault(\"exampleKeyVault\", KeyVaultArgs.builder()\n            .name(\"workspaceexamplekeyvault\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .tenantId(current.tenantId())\n            .skuName(\"premium\")\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"workspacestorageaccount\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .accountTier(\"Standard\")\n            .accountReplicationType(\"GRS\")\n            .build());\n\n        var exampleWorkspace = new Workspace(\"exampleWorkspace\", WorkspaceArgs.builder()\n            .name(\"example-workspace\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .applicationInsightsId(exampleInsights.id())\n            .keyVaultId(exampleKeyVault.id())\n            .storageAccountId(exampleAccount.id())\n            .identity(WorkspaceIdentityArgs.builder()\n                .type(\"SystemAssigned\")\n                .build())\n            .build());\n\n        var exampleContainer = new Container(\"exampleContainer\", ContainerArgs.builder()\n            .name(\"example-container\")\n            .storageAccountName(exampleAccount.name())\n            .containerAccessType(\"private\")\n            .build());\n\n        var exampleDatastoreDatalakeGen2 = new DatastoreDatalakeGen2(\"exampleDatastoreDatalakeGen2\", DatastoreDatalakeGen2Args.builder()\n            .name(\"example-datastore\")\n            .workspaceId(exampleWorkspace.id())\n            .storageContainerId(exampleContainer.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleInsights:\n    type: azure:appinsights:Insights\n    name: example\n    properties:\n      name: workspace-example-ai\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      applicationType: web\n  exampleKeyVault:\n    type: azure:keyvault:KeyVault\n    name: example\n    properties:\n      name: workspaceexamplekeyvault\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      tenantId: ${current.tenantId}\n      skuName: premium\n  exampleAccount:\n    type: azure:storage:Account\n    name: example\n    properties:\n      name: workspacestorageaccount\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      accountTier: Standard\n      accountReplicationType: GRS\n  exampleWorkspace:\n    type: azure:machinelearning:Workspace\n    name: example\n    properties:\n      name: example-workspace\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      applicationInsightsId: ${exampleInsights.id}\n      keyVaultId: ${exampleKeyVault.id}\n      storageAccountId: ${exampleAccount.id}\n      identity:\n        type: SystemAssigned\n  exampleContainer:\n    type: azure:storage:Container\n    name: example\n    properties:\n      name: example-container\n      storageAccountName: ${exampleAccount.name}\n      containerAccessType: private\n  exampleDatastoreDatalakeGen2:\n    type: azure:machinelearning:DatastoreDatalakeGen2\n    name: example\n    properties:\n      name: example-datastore\n      workspaceId: ${exampleWorkspace.id}\n      storageContainerId: ${exampleContainer.id}\nvariables:\n  current:\n    fn::invoke:\n      function: azure:core:getClientConfig\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.MachineLearningServices` - 2025-06-01\n\n## Import\n\nMachine Learning DataStores can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:machinelearning/datastoreDatalakeGen2:DatastoreDatalakeGen2 example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.MachineLearningServices/workspaces/mlw1/dataStores/datastore1\n```\n\n","properties":{"authorityUrl":{"type":"string","description":"An URL used for authentication.\n"},"clientId":{"type":"string","description":"The object ID of the Service Principal.\n"},"clientSecret":{"type":"string","description":"The secret of the Service Principal.\n","secret":true},"description":{"type":"string","description":"Text used to describe the asset. Changing this forces a new Machine Learning DataStore to be created.\n"},"isDefault":{"type":"boolean","description":"Indicates whether this Machines Learning DataStore is the default for the Workspace.\n"},"name":{"type":"string","description":"The name of the Machine Learning DataStore. Changing this forces a new Machine Learning DataStore to be created.\n"},"serviceDataIdentity":{"type":"string","description":"Specifies which identity to use when retrieving data from the specified source. Defaults to `None`. Possible values are `None`, `WorkspaceSystemAssignedIdentity` and `WorkspaceUserAssignedIdentity`.\n"},"storageContainerId":{"type":"string","description":"The ID of the Storage Account Container. Changing this forces a new Machine Learning DataStore to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Machine Learning DataStore. Changing this forces a new Machine Learning DataStore to be created.\n"},"tenantId":{"type":"string","description":"The ID of the Tenant which the Service Principal belongs to.\n"},"workspaceId":{"type":"string","description":"The ID of the Machine Learning Workspace. Changing this forces a new Machine Learning DataStore to be created.\n"}},"required":["isDefault","name","storageContainerId","workspaceId"],"inputProperties":{"authorityUrl":{"type":"string","description":"An URL used for authentication.\n"},"clientId":{"type":"string","description":"The object ID of the Service Principal.\n"},"clientSecret":{"type":"string","description":"The secret of the Service Principal.\n","secret":true},"description":{"type":"string","description":"Text used to describe the asset. Changing this forces a new Machine Learning DataStore to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the Machine Learning DataStore. Changing this forces a new Machine Learning DataStore to be created.\n","willReplaceOnChanges":true},"serviceDataIdentity":{"type":"string","description":"Specifies which identity to use when retrieving data from the specified source. Defaults to `None`. Possible values are `None`, `WorkspaceSystemAssignedIdentity` and `WorkspaceUserAssignedIdentity`.\n"},"storageContainerId":{"type":"string","description":"The ID of the Storage Account Container. Changing this forces a new Machine Learning DataStore to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Machine Learning DataStore. Changing this forces a new Machine Learning DataStore to be created.\n","willReplaceOnChanges":true},"tenantId":{"type":"string","description":"The ID of the Tenant which the Service Principal belongs to.\n"},"workspaceId":{"type":"string","description":"The ID of the Machine Learning Workspace. Changing this forces a new Machine Learning DataStore to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["storageContainerId","workspaceId"],"stateInputs":{"description":"Input properties used for looking up and filtering DatastoreDatalakeGen2 resources.\n","properties":{"authorityUrl":{"type":"string","description":"An URL used for authentication.\n"},"clientId":{"type":"string","description":"The object ID of the Service Principal.\n"},"clientSecret":{"type":"string","description":"The secret of the Service Principal.\n","secret":true},"description":{"type":"string","description":"Text used to describe the asset. Changing this forces a new Machine Learning DataStore to be created.\n","willReplaceOnChanges":true},"isDefault":{"type":"boolean","description":"Indicates whether this Machines Learning DataStore is the default for the Workspace.\n"},"name":{"type":"string","description":"The name of the Machine Learning DataStore. Changing this forces a new Machine Learning DataStore to be created.\n","willReplaceOnChanges":true},"serviceDataIdentity":{"type":"string","description":"Specifies which identity to use when retrieving data from the specified source. Defaults to `None`. Possible values are `None`, `WorkspaceSystemAssignedIdentity` and `WorkspaceUserAssignedIdentity`.\n"},"storageContainerId":{"type":"string","description":"The ID of the Storage Account Container. Changing this forces a new Machine Learning DataStore to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Machine Learning DataStore. Changing this forces a new Machine Learning DataStore to be created.\n","willReplaceOnChanges":true},"tenantId":{"type":"string","description":"The ID of the Tenant which the Service Principal belongs to.\n"},"workspaceId":{"type":"string","description":"The ID of the Machine Learning Workspace. Changing this forces a new Machine Learning DataStore to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:machinelearning/datastoreFileshare:DatastoreFileshare":{"description":"Manages a Machine Learning File Share DataStore.\n\n## Example Usage\n\n### With Azure File Share\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst current = azure.core.getClientConfig({});\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleInsights = new azure.appinsights.Insights(\"example\", {\n    name: \"workspace-example-ai\",\n    location: example.location,\n    resourceGroupName: example.name,\n    applicationType: \"web\",\n});\nconst exampleKeyVault = new azure.keyvault.KeyVault(\"example\", {\n    name: \"workspaceexamplekeyvault\",\n    location: example.location,\n    resourceGroupName: example.name,\n    tenantId: current.then(current =\u003e current.tenantId),\n    skuName: \"premium\",\n});\nconst exampleAccount = new azure.storage.Account(\"example\", {\n    name: \"workspacestorageaccount\",\n    location: example.location,\n    resourceGroupName: example.name,\n    accountTier: \"Standard\",\n    accountReplicationType: \"GRS\",\n});\nconst exampleWorkspace = new azure.machinelearning.Workspace(\"example\", {\n    name: \"example-workspace\",\n    location: example.location,\n    resourceGroupName: example.name,\n    applicationInsightsId: exampleInsights.id,\n    keyVaultId: exampleKeyVault.id,\n    storageAccountId: exampleAccount.id,\n    identity: {\n        type: \"SystemAssigned\",\n    },\n});\nconst exampleShare = new azure.storage.Share(\"example\", {\n    name: \"example\",\n    storageAccountName: exampleAccount.name,\n    quota: 1,\n});\nconst exampleDatastoreFileshare = new azure.machinelearning.DatastoreFileshare(\"example\", {\n    name: \"example-datastore\",\n    workspaceId: exampleWorkspace.id,\n    storageFileshareId: exampleShare.resourceManagerId,\n    accountKey: exampleAccount.primaryAccessKey,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\ncurrent = azure.core.get_client_config()\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_insights = azure.appinsights.Insights(\"example\",\n    name=\"workspace-example-ai\",\n    location=example.location,\n    resource_group_name=example.name,\n    application_type=\"web\")\nexample_key_vault = azure.keyvault.KeyVault(\"example\",\n    name=\"workspaceexamplekeyvault\",\n    location=example.location,\n    resource_group_name=example.name,\n    tenant_id=current.tenant_id,\n    sku_name=\"premium\")\nexample_account = azure.storage.Account(\"example\",\n    name=\"workspacestorageaccount\",\n    location=example.location,\n    resource_group_name=example.name,\n    account_tier=\"Standard\",\n    account_replication_type=\"GRS\")\nexample_workspace = azure.machinelearning.Workspace(\"example\",\n    name=\"example-workspace\",\n    location=example.location,\n    resource_group_name=example.name,\n    application_insights_id=example_insights.id,\n    key_vault_id=example_key_vault.id,\n    storage_account_id=example_account.id,\n    identity={\n        \"type\": \"SystemAssigned\",\n    })\nexample_share = azure.storage.Share(\"example\",\n    name=\"example\",\n    storage_account_name=example_account.name,\n    quota=1)\nexample_datastore_fileshare = azure.machinelearning.DatastoreFileshare(\"example\",\n    name=\"example-datastore\",\n    workspace_id=example_workspace.id,\n    storage_fileshare_id=example_share.resource_manager_id,\n    account_key=example_account.primary_access_key)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var current = Azure.Core.GetClientConfig.Invoke();\n\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleInsights = new Azure.AppInsights.Insights(\"example\", new()\n    {\n        Name = \"workspace-example-ai\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        ApplicationType = \"web\",\n    });\n\n    var exampleKeyVault = new Azure.KeyVault.KeyVault(\"example\", new()\n    {\n        Name = \"workspaceexamplekeyvault\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        TenantId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.TenantId),\n        SkuName = \"premium\",\n    });\n\n    var exampleAccount = new Azure.Storage.Account(\"example\", new()\n    {\n        Name = \"workspacestorageaccount\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        AccountTier = \"Standard\",\n        AccountReplicationType = \"GRS\",\n    });\n\n    var exampleWorkspace = new Azure.MachineLearning.Workspace(\"example\", new()\n    {\n        Name = \"example-workspace\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        ApplicationInsightsId = exampleInsights.Id,\n        KeyVaultId = exampleKeyVault.Id,\n        StorageAccountId = exampleAccount.Id,\n        Identity = new Azure.MachineLearning.Inputs.WorkspaceIdentityArgs\n        {\n            Type = \"SystemAssigned\",\n        },\n    });\n\n    var exampleShare = new Azure.Storage.Share(\"example\", new()\n    {\n        Name = \"example\",\n        StorageAccountName = exampleAccount.Name,\n        Quota = 1,\n    });\n\n    var exampleDatastoreFileshare = new Azure.MachineLearning.DatastoreFileshare(\"example\", new()\n    {\n        Name = \"example-datastore\",\n        WorkspaceId = exampleWorkspace.Id,\n        StorageFileshareId = exampleShare.ResourceManagerId,\n        AccountKey = exampleAccount.PrimaryAccessKey,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/appinsights\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/keyvault\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/machinelearning\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := core.GetClientConfig(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleInsights, err := appinsights.NewInsights(ctx, \"example\", \u0026appinsights.InsightsArgs{\n\t\t\tName:              pulumi.String(\"workspace-example-ai\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tApplicationType:   pulumi.String(\"web\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleKeyVault, err := keyvault.NewKeyVault(ctx, \"example\", \u0026keyvault.KeyVaultArgs{\n\t\t\tName:              pulumi.String(\"workspaceexamplekeyvault\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tTenantId:          pulumi.String(current.TenantId),\n\t\t\tSkuName:           pulumi.String(\"premium\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := storage.NewAccount(ctx, \"example\", \u0026storage.AccountArgs{\n\t\t\tName:                   pulumi.String(\"workspacestorageaccount\"),\n\t\t\tLocation:               example.Location,\n\t\t\tResourceGroupName:      example.Name,\n\t\t\tAccountTier:            pulumi.String(\"Standard\"),\n\t\t\tAccountReplicationType: pulumi.String(\"GRS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleWorkspace, err := machinelearning.NewWorkspace(ctx, \"example\", \u0026machinelearning.WorkspaceArgs{\n\t\t\tName:                  pulumi.String(\"example-workspace\"),\n\t\t\tLocation:              example.Location,\n\t\t\tResourceGroupName:     example.Name,\n\t\t\tApplicationInsightsId: exampleInsights.ID(),\n\t\t\tKeyVaultId:            exampleKeyVault.ID(),\n\t\t\tStorageAccountId:      exampleAccount.ID(),\n\t\t\tIdentity: \u0026machinelearning.WorkspaceIdentityArgs{\n\t\t\t\tType: pulumi.String(\"SystemAssigned\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleShare, err := storage.NewShare(ctx, \"example\", \u0026storage.ShareArgs{\n\t\t\tName:               pulumi.String(\"example\"),\n\t\t\tStorageAccountName: exampleAccount.Name,\n\t\t\tQuota:              pulumi.Int(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = machinelearning.NewDatastoreFileshare(ctx, \"example\", \u0026machinelearning.DatastoreFileshareArgs{\n\t\t\tName:               pulumi.String(\"example-datastore\"),\n\t\t\tWorkspaceId:        exampleWorkspace.ID(),\n\t\t\tStorageFileshareId: exampleShare.ResourceManagerId,\n\t\t\tAccountKey:         exampleAccount.PrimaryAccessKey,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.appinsights.Insights;\nimport com.pulumi.azure.appinsights.InsightsArgs;\nimport com.pulumi.azure.keyvault.KeyVault;\nimport com.pulumi.azure.keyvault.KeyVaultArgs;\nimport com.pulumi.azure.storage.Account;\nimport com.pulumi.azure.storage.AccountArgs;\nimport com.pulumi.azure.machinelearning.Workspace;\nimport com.pulumi.azure.machinelearning.WorkspaceArgs;\nimport com.pulumi.azure.machinelearning.inputs.WorkspaceIdentityArgs;\nimport com.pulumi.azure.storage.Share;\nimport com.pulumi.azure.storage.ShareArgs;\nimport com.pulumi.azure.machinelearning.DatastoreFileshare;\nimport com.pulumi.azure.machinelearning.DatastoreFileshareArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var current = CoreFunctions.getClientConfig(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleInsights = new Insights(\"exampleInsights\", InsightsArgs.builder()\n            .name(\"workspace-example-ai\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .applicationType(\"web\")\n            .build());\n\n        var exampleKeyVault = new KeyVault(\"exampleKeyVault\", KeyVaultArgs.builder()\n            .name(\"workspaceexamplekeyvault\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .tenantId(current.tenantId())\n            .skuName(\"premium\")\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"workspacestorageaccount\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .accountTier(\"Standard\")\n            .accountReplicationType(\"GRS\")\n            .build());\n\n        var exampleWorkspace = new Workspace(\"exampleWorkspace\", WorkspaceArgs.builder()\n            .name(\"example-workspace\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .applicationInsightsId(exampleInsights.id())\n            .keyVaultId(exampleKeyVault.id())\n            .storageAccountId(exampleAccount.id())\n            .identity(WorkspaceIdentityArgs.builder()\n                .type(\"SystemAssigned\")\n                .build())\n            .build());\n\n        var exampleShare = new Share(\"exampleShare\", ShareArgs.builder()\n            .name(\"example\")\n            .storageAccountName(exampleAccount.name())\n            .quota(1)\n            .build());\n\n        var exampleDatastoreFileshare = new DatastoreFileshare(\"exampleDatastoreFileshare\", DatastoreFileshareArgs.builder()\n            .name(\"example-datastore\")\n            .workspaceId(exampleWorkspace.id())\n            .storageFileshareId(exampleShare.resourceManagerId())\n            .accountKey(exampleAccount.primaryAccessKey())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleInsights:\n    type: azure:appinsights:Insights\n    name: example\n    properties:\n      name: workspace-example-ai\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      applicationType: web\n  exampleKeyVault:\n    type: azure:keyvault:KeyVault\n    name: example\n    properties:\n      name: workspaceexamplekeyvault\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      tenantId: ${current.tenantId}\n      skuName: premium\n  exampleAccount:\n    type: azure:storage:Account\n    name: example\n    properties:\n      name: workspacestorageaccount\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      accountTier: Standard\n      accountReplicationType: GRS\n  exampleWorkspace:\n    type: azure:machinelearning:Workspace\n    name: example\n    properties:\n      name: example-workspace\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      applicationInsightsId: ${exampleInsights.id}\n      keyVaultId: ${exampleKeyVault.id}\n      storageAccountId: ${exampleAccount.id}\n      identity:\n        type: SystemAssigned\n  exampleShare:\n    type: azure:storage:Share\n    name: example\n    properties:\n      name: example\n      storageAccountName: ${exampleAccount.name}\n      quota: 1\n  exampleDatastoreFileshare:\n    type: azure:machinelearning:DatastoreFileshare\n    name: example\n    properties:\n      name: example-datastore\n      workspaceId: ${exampleWorkspace.id}\n      storageFileshareId: ${exampleShare.resourceManagerId}\n      accountKey: ${exampleAccount.primaryAccessKey}\nvariables:\n  current:\n    fn::invoke:\n      function: azure:core:getClientConfig\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.MachineLearningServices` - 2025-06-01\n\n## Import\n\nMachine Learning DataStores can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:machinelearning/datastoreFileshare:DatastoreFileshare example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.MachineLearningServices/workspaces/mlw1/dataStores/datastore1\n```\n\n","properties":{"accountKey":{"type":"string","description":"The access key of the Storage Account. Conflicts with \u003cspan pulumi-lang-nodejs=\"`sharedAccessSignature`\" pulumi-lang-dotnet=\"`SharedAccessSignature`\" pulumi-lang-go=\"`sharedAccessSignature`\" pulumi-lang-python=\"`shared_access_signature`\" pulumi-lang-yaml=\"`sharedAccessSignature`\" pulumi-lang-java=\"`sharedAccessSignature`\"\u003e`shared_access_signature`\u003c/span\u003e.\n","secret":true},"description":{"type":"string","description":"Text used to describe the asset. Changing this forces a new Machine Learning DataStore to be created.\n"},"isDefault":{"type":"boolean","description":"Indicate whether this Machines Learning DataStore is the default for the Workspace.\n"},"name":{"type":"string","description":"The name of the Machine Learning DataStore. Changing this forces a new Machine Learning DataStore to be created.\n"},"serviceDataIdentity":{"type":"string","description":"Specifies which identity to use when retrieving data from the specified source. Defaults to `None`. Possible values are `None`, `WorkspaceSystemAssignedIdentity` and `WorkspaceUserAssignedIdentity`.\n"},"sharedAccessSignature":{"type":"string","description":"The Shared Access Signature of the Storage Account. Conflicts with \u003cspan pulumi-lang-nodejs=\"`accountKey`\" pulumi-lang-dotnet=\"`AccountKey`\" pulumi-lang-go=\"`accountKey`\" pulumi-lang-python=\"`account_key`\" pulumi-lang-yaml=\"`accountKey`\" pulumi-lang-java=\"`accountKey`\"\u003e`account_key`\u003c/span\u003e.\n","secret":true},"storageFileshareId":{"type":"string","description":"The ID of the Storage Account File Share. Changing this forces a new Machine Learning DataStore to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Machine Learning DataStore. Changing this forces a new Machine Learning DataStore to be created.\n"},"workspaceId":{"type":"string","description":"The ID of the Machine Learning Workspace. Changing this forces a new Machine Learning DataStore to be created.\n"}},"required":["isDefault","name","storageFileshareId","workspaceId"],"inputProperties":{"accountKey":{"type":"string","description":"The access key of the Storage Account. Conflicts with \u003cspan pulumi-lang-nodejs=\"`sharedAccessSignature`\" pulumi-lang-dotnet=\"`SharedAccessSignature`\" pulumi-lang-go=\"`sharedAccessSignature`\" pulumi-lang-python=\"`shared_access_signature`\" pulumi-lang-yaml=\"`sharedAccessSignature`\" pulumi-lang-java=\"`sharedAccessSignature`\"\u003e`shared_access_signature`\u003c/span\u003e.\n","secret":true},"description":{"type":"string","description":"Text used to describe the asset. Changing this forces a new Machine Learning DataStore to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the Machine Learning DataStore. Changing this forces a new Machine Learning DataStore to be created.\n","willReplaceOnChanges":true},"serviceDataIdentity":{"type":"string","description":"Specifies which identity to use when retrieving data from the specified source. Defaults to `None`. Possible values are `None`, `WorkspaceSystemAssignedIdentity` and `WorkspaceUserAssignedIdentity`.\n"},"sharedAccessSignature":{"type":"string","description":"The Shared Access Signature of the Storage Account. Conflicts with \u003cspan pulumi-lang-nodejs=\"`accountKey`\" pulumi-lang-dotnet=\"`AccountKey`\" pulumi-lang-go=\"`accountKey`\" pulumi-lang-python=\"`account_key`\" pulumi-lang-yaml=\"`accountKey`\" pulumi-lang-java=\"`accountKey`\"\u003e`account_key`\u003c/span\u003e.\n","secret":true},"storageFileshareId":{"type":"string","description":"The ID of the Storage Account File Share. Changing this forces a new Machine Learning DataStore to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Machine Learning DataStore. Changing this forces a new Machine Learning DataStore to be created.\n","willReplaceOnChanges":true},"workspaceId":{"type":"string","description":"The ID of the Machine Learning Workspace. Changing this forces a new Machine Learning DataStore to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["storageFileshareId","workspaceId"],"stateInputs":{"description":"Input properties used for looking up and filtering DatastoreFileshare resources.\n","properties":{"accountKey":{"type":"string","description":"The access key of the Storage Account. Conflicts with \u003cspan pulumi-lang-nodejs=\"`sharedAccessSignature`\" pulumi-lang-dotnet=\"`SharedAccessSignature`\" pulumi-lang-go=\"`sharedAccessSignature`\" pulumi-lang-python=\"`shared_access_signature`\" pulumi-lang-yaml=\"`sharedAccessSignature`\" pulumi-lang-java=\"`sharedAccessSignature`\"\u003e`shared_access_signature`\u003c/span\u003e.\n","secret":true},"description":{"type":"string","description":"Text used to describe the asset. Changing this forces a new Machine Learning DataStore to be created.\n","willReplaceOnChanges":true},"isDefault":{"type":"boolean","description":"Indicate whether this Machines Learning DataStore is the default for the Workspace.\n"},"name":{"type":"string","description":"The name of the Machine Learning DataStore. Changing this forces a new Machine Learning DataStore to be created.\n","willReplaceOnChanges":true},"serviceDataIdentity":{"type":"string","description":"Specifies which identity to use when retrieving data from the specified source. Defaults to `None`. Possible values are `None`, `WorkspaceSystemAssignedIdentity` and `WorkspaceUserAssignedIdentity`.\n"},"sharedAccessSignature":{"type":"string","description":"The Shared Access Signature of the Storage Account. Conflicts with \u003cspan pulumi-lang-nodejs=\"`accountKey`\" pulumi-lang-dotnet=\"`AccountKey`\" pulumi-lang-go=\"`accountKey`\" pulumi-lang-python=\"`account_key`\" pulumi-lang-yaml=\"`accountKey`\" pulumi-lang-java=\"`accountKey`\"\u003e`account_key`\u003c/span\u003e.\n","secret":true},"storageFileshareId":{"type":"string","description":"The ID of the Storage Account File Share. Changing this forces a new Machine Learning DataStore to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Machine Learning DataStore. Changing this forces a new Machine Learning DataStore to be created.\n","willReplaceOnChanges":true},"workspaceId":{"type":"string","description":"The ID of the Machine Learning Workspace. Changing this forces a new Machine Learning DataStore to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:machinelearning/inferenceCluster:InferenceCluster":{"description":"Manages a Machine Learning Inference Cluster.\n\n\u003e **Note:** The Machine Learning Inference Cluster resource is used to attach an existing AKS cluster to the Machine Learning Workspace, it doesn't create the AKS cluster itself. Therefore it can only be created and deleted, not updated. Any change to the configuration will recreate the resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst current = azure.core.getClientConfig({});\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-rg\",\n    location: \"west europe\",\n    tags: {\n        stage: \"example\",\n    },\n});\nconst exampleInsights = new azure.appinsights.Insights(\"example\", {\n    name: \"example-ai\",\n    location: example.location,\n    resourceGroupName: example.name,\n    applicationType: \"web\",\n});\nconst exampleKeyVault = new azure.keyvault.KeyVault(\"example\", {\n    name: \"example-kv\",\n    location: example.location,\n    resourceGroupName: example.name,\n    tenantId: current.then(current =\u003e current.tenantId),\n    skuName: \"standard\",\n    purgeProtectionEnabled: true,\n});\nconst exampleAccount = new azure.storage.Account(\"example\", {\n    name: \"examplesa\",\n    location: example.location,\n    resourceGroupName: example.name,\n    accountTier: \"Standard\",\n    accountReplicationType: \"LRS\",\n});\nconst exampleWorkspace = new azure.machinelearning.Workspace(\"example\", {\n    name: \"example-mlw\",\n    location: example.location,\n    resourceGroupName: example.name,\n    applicationInsightsId: exampleInsights.id,\n    keyVaultId: exampleKeyVault.id,\n    storageAccountId: exampleAccount.id,\n    identity: {\n        type: \"SystemAssigned\",\n    },\n});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"example\", {\n    name: \"example-vnet\",\n    addressSpaces: [\"10.1.0.0/16\"],\n    location: example.location,\n    resourceGroupName: example.name,\n});\nconst exampleSubnet = new azure.network.Subnet(\"example\", {\n    name: \"example-subnet\",\n    resourceGroupName: example.name,\n    virtualNetworkName: exampleVirtualNetwork.name,\n    addressPrefixes: [\"10.1.0.0/24\"],\n});\nconst exampleKubernetesCluster = new azure.containerservice.KubernetesCluster(\"example\", {\n    name: \"example-aks\",\n    location: example.location,\n    resourceGroupName: example.name,\n    dnsPrefixPrivateCluster: \"prefix\",\n    defaultNodePool: {\n        name: \"default\",\n        nodeCount: 3,\n        vmSize: \"Standard_D3_v2\",\n        vnetSubnetId: exampleSubnet.id,\n    },\n    identity: {\n        type: \"SystemAssigned\",\n    },\n});\nconst exampleInferenceCluster = new azure.machinelearning.InferenceCluster(\"example\", {\n    name: \"example\",\n    location: example.location,\n    clusterPurpose: \"FastProd\",\n    kubernetesClusterId: exampleKubernetesCluster.id,\n    description: \"This is an example cluster used with Terraform\",\n    machineLearningWorkspaceId: exampleWorkspace.id,\n    tags: {\n        stage: \"example\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\ncurrent = azure.core.get_client_config()\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-rg\",\n    location=\"west europe\",\n    tags={\n        \"stage\": \"example\",\n    })\nexample_insights = azure.appinsights.Insights(\"example\",\n    name=\"example-ai\",\n    location=example.location,\n    resource_group_name=example.name,\n    application_type=\"web\")\nexample_key_vault = azure.keyvault.KeyVault(\"example\",\n    name=\"example-kv\",\n    location=example.location,\n    resource_group_name=example.name,\n    tenant_id=current.tenant_id,\n    sku_name=\"standard\",\n    purge_protection_enabled=True)\nexample_account = azure.storage.Account(\"example\",\n    name=\"examplesa\",\n    location=example.location,\n    resource_group_name=example.name,\n    account_tier=\"Standard\",\n    account_replication_type=\"LRS\")\nexample_workspace = azure.machinelearning.Workspace(\"example\",\n    name=\"example-mlw\",\n    location=example.location,\n    resource_group_name=example.name,\n    application_insights_id=example_insights.id,\n    key_vault_id=example_key_vault.id,\n    storage_account_id=example_account.id,\n    identity={\n        \"type\": \"SystemAssigned\",\n    })\nexample_virtual_network = azure.network.VirtualNetwork(\"example\",\n    name=\"example-vnet\",\n    address_spaces=[\"10.1.0.0/16\"],\n    location=example.location,\n    resource_group_name=example.name)\nexample_subnet = azure.network.Subnet(\"example\",\n    name=\"example-subnet\",\n    resource_group_name=example.name,\n    virtual_network_name=example_virtual_network.name,\n    address_prefixes=[\"10.1.0.0/24\"])\nexample_kubernetes_cluster = azure.containerservice.KubernetesCluster(\"example\",\n    name=\"example-aks\",\n    location=example.location,\n    resource_group_name=example.name,\n    dns_prefix_private_cluster=\"prefix\",\n    default_node_pool={\n        \"name\": \"default\",\n        \"node_count\": 3,\n        \"vm_size\": \"Standard_D3_v2\",\n        \"vnet_subnet_id\": example_subnet.id,\n    },\n    identity={\n        \"type\": \"SystemAssigned\",\n    })\nexample_inference_cluster = azure.machinelearning.InferenceCluster(\"example\",\n    name=\"example\",\n    location=example.location,\n    cluster_purpose=\"FastProd\",\n    kubernetes_cluster_id=example_kubernetes_cluster.id,\n    description=\"This is an example cluster used with Terraform\",\n    machine_learning_workspace_id=example_workspace.id,\n    tags={\n        \"stage\": \"example\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var current = Azure.Core.GetClientConfig.Invoke();\n\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-rg\",\n        Location = \"west europe\",\n        Tags = \n        {\n            { \"stage\", \"example\" },\n        },\n    });\n\n    var exampleInsights = new Azure.AppInsights.Insights(\"example\", new()\n    {\n        Name = \"example-ai\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        ApplicationType = \"web\",\n    });\n\n    var exampleKeyVault = new Azure.KeyVault.KeyVault(\"example\", new()\n    {\n        Name = \"example-kv\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        TenantId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.TenantId),\n        SkuName = \"standard\",\n        PurgeProtectionEnabled = true,\n    });\n\n    var exampleAccount = new Azure.Storage.Account(\"example\", new()\n    {\n        Name = \"examplesa\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        AccountTier = \"Standard\",\n        AccountReplicationType = \"LRS\",\n    });\n\n    var exampleWorkspace = new Azure.MachineLearning.Workspace(\"example\", new()\n    {\n        Name = \"example-mlw\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        ApplicationInsightsId = exampleInsights.Id,\n        KeyVaultId = exampleKeyVault.Id,\n        StorageAccountId = exampleAccount.Id,\n        Identity = new Azure.MachineLearning.Inputs.WorkspaceIdentityArgs\n        {\n            Type = \"SystemAssigned\",\n        },\n    });\n\n    var exampleVirtualNetwork = new Azure.Network.VirtualNetwork(\"example\", new()\n    {\n        Name = \"example-vnet\",\n        AddressSpaces = new[]\n        {\n            \"10.1.0.0/16\",\n        },\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n    });\n\n    var exampleSubnet = new Azure.Network.Subnet(\"example\", new()\n    {\n        Name = \"example-subnet\",\n        ResourceGroupName = example.Name,\n        VirtualNetworkName = exampleVirtualNetwork.Name,\n        AddressPrefixes = new[]\n        {\n            \"10.1.0.0/24\",\n        },\n    });\n\n    var exampleKubernetesCluster = new Azure.ContainerService.KubernetesCluster(\"example\", new()\n    {\n        Name = \"example-aks\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        DnsPrefixPrivateCluster = \"prefix\",\n        DefaultNodePool = new Azure.ContainerService.Inputs.KubernetesClusterDefaultNodePoolArgs\n        {\n            Name = \"default\",\n            NodeCount = 3,\n            VmSize = \"Standard_D3_v2\",\n            VnetSubnetId = exampleSubnet.Id,\n        },\n        Identity = new Azure.ContainerService.Inputs.KubernetesClusterIdentityArgs\n        {\n            Type = \"SystemAssigned\",\n        },\n    });\n\n    var exampleInferenceCluster = new Azure.MachineLearning.InferenceCluster(\"example\", new()\n    {\n        Name = \"example\",\n        Location = example.Location,\n        ClusterPurpose = \"FastProd\",\n        KubernetesClusterId = exampleKubernetesCluster.Id,\n        Description = \"This is an example cluster used with Terraform\",\n        MachineLearningWorkspaceId = exampleWorkspace.Id,\n        Tags = \n        {\n            { \"stage\", \"example\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/appinsights\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/containerservice\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/keyvault\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/machinelearning\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := core.GetClientConfig(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-rg\"),\n\t\t\tLocation: pulumi.String(\"west europe\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"stage\": pulumi.String(\"example\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleInsights, err := appinsights.NewInsights(ctx, \"example\", \u0026appinsights.InsightsArgs{\n\t\t\tName:              pulumi.String(\"example-ai\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tApplicationType:   pulumi.String(\"web\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleKeyVault, err := keyvault.NewKeyVault(ctx, \"example\", \u0026keyvault.KeyVaultArgs{\n\t\t\tName:                   pulumi.String(\"example-kv\"),\n\t\t\tLocation:               example.Location,\n\t\t\tResourceGroupName:      example.Name,\n\t\t\tTenantId:               pulumi.String(current.TenantId),\n\t\t\tSkuName:                pulumi.String(\"standard\"),\n\t\t\tPurgeProtectionEnabled: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := storage.NewAccount(ctx, \"example\", \u0026storage.AccountArgs{\n\t\t\tName:                   pulumi.String(\"examplesa\"),\n\t\t\tLocation:               example.Location,\n\t\t\tResourceGroupName:      example.Name,\n\t\t\tAccountTier:            pulumi.String(\"Standard\"),\n\t\t\tAccountReplicationType: pulumi.String(\"LRS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleWorkspace, err := machinelearning.NewWorkspace(ctx, \"example\", \u0026machinelearning.WorkspaceArgs{\n\t\t\tName:                  pulumi.String(\"example-mlw\"),\n\t\t\tLocation:              example.Location,\n\t\t\tResourceGroupName:     example.Name,\n\t\t\tApplicationInsightsId: exampleInsights.ID(),\n\t\t\tKeyVaultId:            exampleKeyVault.ID(),\n\t\t\tStorageAccountId:      exampleAccount.ID(),\n\t\t\tIdentity: \u0026machinelearning.WorkspaceIdentityArgs{\n\t\t\t\tType: pulumi.String(\"SystemAssigned\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, \"example\", \u0026network.VirtualNetworkArgs{\n\t\t\tName: pulumi.String(\"example-vnet\"),\n\t\t\tAddressSpaces: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.1.0.0/16\"),\n\t\t\t},\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSubnet, err := network.NewSubnet(ctx, \"example\", \u0026network.SubnetArgs{\n\t\t\tName:               pulumi.String(\"example-subnet\"),\n\t\t\tResourceGroupName:  example.Name,\n\t\t\tVirtualNetworkName: exampleVirtualNetwork.Name,\n\t\t\tAddressPrefixes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.1.0.0/24\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleKubernetesCluster, err := containerservice.NewKubernetesCluster(ctx, \"example\", \u0026containerservice.KubernetesClusterArgs{\n\t\t\tName:                    pulumi.String(\"example-aks\"),\n\t\t\tLocation:                example.Location,\n\t\t\tResourceGroupName:       example.Name,\n\t\t\tDnsPrefixPrivateCluster: pulumi.String(\"prefix\"),\n\t\t\tDefaultNodePool: \u0026containerservice.KubernetesClusterDefaultNodePoolArgs{\n\t\t\t\tName:         pulumi.String(\"default\"),\n\t\t\t\tNodeCount:    pulumi.Int(3),\n\t\t\t\tVmSize:       pulumi.String(\"Standard_D3_v2\"),\n\t\t\t\tVnetSubnetId: exampleSubnet.ID(),\n\t\t\t},\n\t\t\tIdentity: \u0026containerservice.KubernetesClusterIdentityArgs{\n\t\t\t\tType: pulumi.String(\"SystemAssigned\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = machinelearning.NewInferenceCluster(ctx, \"example\", \u0026machinelearning.InferenceClusterArgs{\n\t\t\tName:                       pulumi.String(\"example\"),\n\t\t\tLocation:                   example.Location,\n\t\t\tClusterPurpose:             pulumi.String(\"FastProd\"),\n\t\t\tKubernetesClusterId:        exampleKubernetesCluster.ID(),\n\t\t\tDescription:                pulumi.String(\"This is an example cluster used with Terraform\"),\n\t\t\tMachineLearningWorkspaceId: exampleWorkspace.ID(),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"stage\": pulumi.String(\"example\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.appinsights.Insights;\nimport com.pulumi.azure.appinsights.InsightsArgs;\nimport com.pulumi.azure.keyvault.KeyVault;\nimport com.pulumi.azure.keyvault.KeyVaultArgs;\nimport com.pulumi.azure.storage.Account;\nimport com.pulumi.azure.storage.AccountArgs;\nimport com.pulumi.azure.machinelearning.Workspace;\nimport com.pulumi.azure.machinelearning.WorkspaceArgs;\nimport com.pulumi.azure.machinelearning.inputs.WorkspaceIdentityArgs;\nimport com.pulumi.azure.network.VirtualNetwork;\nimport com.pulumi.azure.network.VirtualNetworkArgs;\nimport com.pulumi.azure.network.Subnet;\nimport com.pulumi.azure.network.SubnetArgs;\nimport com.pulumi.azure.containerservice.KubernetesCluster;\nimport com.pulumi.azure.containerservice.KubernetesClusterArgs;\nimport com.pulumi.azure.containerservice.inputs.KubernetesClusterDefaultNodePoolArgs;\nimport com.pulumi.azure.containerservice.inputs.KubernetesClusterIdentityArgs;\nimport com.pulumi.azure.machinelearning.InferenceCluster;\nimport com.pulumi.azure.machinelearning.InferenceClusterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var current = CoreFunctions.getClientConfig(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-rg\")\n            .location(\"west europe\")\n            .tags(Map.of(\"stage\", \"example\"))\n            .build());\n\n        var exampleInsights = new Insights(\"exampleInsights\", InsightsArgs.builder()\n            .name(\"example-ai\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .applicationType(\"web\")\n            .build());\n\n        var exampleKeyVault = new KeyVault(\"exampleKeyVault\", KeyVaultArgs.builder()\n            .name(\"example-kv\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .tenantId(current.tenantId())\n            .skuName(\"standard\")\n            .purgeProtectionEnabled(true)\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"examplesa\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .accountTier(\"Standard\")\n            .accountReplicationType(\"LRS\")\n            .build());\n\n        var exampleWorkspace = new Workspace(\"exampleWorkspace\", WorkspaceArgs.builder()\n            .name(\"example-mlw\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .applicationInsightsId(exampleInsights.id())\n            .keyVaultId(exampleKeyVault.id())\n            .storageAccountId(exampleAccount.id())\n            .identity(WorkspaceIdentityArgs.builder()\n                .type(\"SystemAssigned\")\n                .build())\n            .build());\n\n        var exampleVirtualNetwork = new VirtualNetwork(\"exampleVirtualNetwork\", VirtualNetworkArgs.builder()\n            .name(\"example-vnet\")\n            .addressSpaces(\"10.1.0.0/16\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .build());\n\n        var exampleSubnet = new Subnet(\"exampleSubnet\", SubnetArgs.builder()\n            .name(\"example-subnet\")\n            .resourceGroupName(example.name())\n            .virtualNetworkName(exampleVirtualNetwork.name())\n            .addressPrefixes(\"10.1.0.0/24\")\n            .build());\n\n        var exampleKubernetesCluster = new KubernetesCluster(\"exampleKubernetesCluster\", KubernetesClusterArgs.builder()\n            .name(\"example-aks\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .dnsPrefixPrivateCluster(\"prefix\")\n            .defaultNodePool(KubernetesClusterDefaultNodePoolArgs.builder()\n                .name(\"default\")\n                .nodeCount(3)\n                .vmSize(\"Standard_D3_v2\")\n                .vnetSubnetId(exampleSubnet.id())\n                .build())\n            .identity(KubernetesClusterIdentityArgs.builder()\n                .type(\"SystemAssigned\")\n                .build())\n            .build());\n\n        var exampleInferenceCluster = new InferenceCluster(\"exampleInferenceCluster\", InferenceClusterArgs.builder()\n            .name(\"example\")\n            .location(example.location())\n            .clusterPurpose(\"FastProd\")\n            .kubernetesClusterId(exampleKubernetesCluster.id())\n            .description(\"This is an example cluster used with Terraform\")\n            .machineLearningWorkspaceId(exampleWorkspace.id())\n            .tags(Map.of(\"stage\", \"example\"))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-rg\n      location: west europe\n      tags:\n        stage: example\n  exampleInsights:\n    type: azure:appinsights:Insights\n    name: example\n    properties:\n      name: example-ai\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      applicationType: web\n  exampleKeyVault:\n    type: azure:keyvault:KeyVault\n    name: example\n    properties:\n      name: example-kv\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      tenantId: ${current.tenantId}\n      skuName: standard\n      purgeProtectionEnabled: true\n  exampleAccount:\n    type: azure:storage:Account\n    name: example\n    properties:\n      name: examplesa\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      accountTier: Standard\n      accountReplicationType: LRS\n  exampleWorkspace:\n    type: azure:machinelearning:Workspace\n    name: example\n    properties:\n      name: example-mlw\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      applicationInsightsId: ${exampleInsights.id}\n      keyVaultId: ${exampleKeyVault.id}\n      storageAccountId: ${exampleAccount.id}\n      identity:\n        type: SystemAssigned\n  exampleVirtualNetwork:\n    type: azure:network:VirtualNetwork\n    name: example\n    properties:\n      name: example-vnet\n      addressSpaces:\n        - 10.1.0.0/16\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n  exampleSubnet:\n    type: azure:network:Subnet\n    name: example\n    properties:\n      name: example-subnet\n      resourceGroupName: ${example.name}\n      virtualNetworkName: ${exampleVirtualNetwork.name}\n      addressPrefixes:\n        - 10.1.0.0/24\n  exampleKubernetesCluster:\n    type: azure:containerservice:KubernetesCluster\n    name: example\n    properties:\n      name: example-aks\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      dnsPrefixPrivateCluster: prefix\n      defaultNodePool:\n        name: default\n        nodeCount: 3\n        vmSize: Standard_D3_v2\n        vnetSubnetId: ${exampleSubnet.id}\n      identity:\n        type: SystemAssigned\n  exampleInferenceCluster:\n    type: azure:machinelearning:InferenceCluster\n    name: example\n    properties:\n      name: example\n      location: ${example.location}\n      clusterPurpose: FastProd\n      kubernetesClusterId: ${exampleKubernetesCluster.id}\n      description: This is an example cluster used with Terraform\n      machineLearningWorkspaceId: ${exampleWorkspace.id}\n      tags:\n        stage: example\nvariables:\n  current:\n    fn::invoke:\n      function: azure:core:getClientConfig\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.ContainerService` - 2025-07-01\n\n* `Microsoft.MachineLearningServices` - 2025-06-01\n\n## Import\n\nMachine Learning Inference Clusters can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:machinelearning/inferenceCluster:InferenceCluster example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resGroup1/providers/Microsoft.MachineLearningServices/workspaces/workspace1/computes/cluster1\n```\n\n","properties":{"clusterPurpose":{"type":"string","description":"The purpose of the Inference Cluster. Options are `DevTest`, `DenseProd` and `FastProd`. If used for Development or Testing, use `DevTest` here. Default purpose is `FastProd`, which is recommended for production workloads. Changing this forces a new Machine Learning Inference Cluster to be created.\n\n\u003e **Note:** When creating or attaching a cluster, if the cluster will be used for production (\u003cspan pulumi-lang-nodejs=\"`clusterPurpose \" pulumi-lang-dotnet=\"`ClusterPurpose \" pulumi-lang-go=\"`clusterPurpose \" pulumi-lang-python=\"`cluster_purpose \" pulumi-lang-yaml=\"`clusterPurpose \" pulumi-lang-java=\"`clusterPurpose \"\u003e`cluster_purpose \u003c/span\u003e= \"FastProd\"`), then it must contain at least 12 virtual CPUs. The number of virtual CPUs can be calculated by multiplying the number of nodes in the cluster by the number of cores provided by the VM size selected. For example, if you use a VM size of \"Standard_D3_v2\", which has 4 virtual cores, then you should select 3 or greater as the number of nodes.\n"},"description":{"type":"string","description":"The description of the Machine Learning Inference Cluster. Changing this forces a new Machine Learning Inference Cluster to be created.\n"},"identity":{"$ref":"#/types/azure:machinelearning/InferenceClusterIdentity:InferenceClusterIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below. Changing this forces a new Machine Learning Inference Cluster to be created.\n"},"kubernetesClusterId":{"type":"string","description":"The ID of the Kubernetes Cluster. Changing this forces a new Machine Learning Inference Cluster to be created.\n"},"location":{"type":"string","description":"The Azure Region where the Machine Learning Inference Cluster should exist. Changing this forces a new Machine Learning Inference Cluster to be created.\n"},"machineLearningWorkspaceId":{"type":"string","description":"The ID of the Machine Learning Workspace. Changing this forces a new Machine Learning Inference Cluster to be created.\n"},"name":{"type":"string","description":"The name which should be used for this Machine Learning Inference Cluster. Changing this forces a new Machine Learning Inference Cluster to be created.\n"},"ssl":{"$ref":"#/types/azure:machinelearning/InferenceClusterSsl:InferenceClusterSsl","description":"A \u003cspan pulumi-lang-nodejs=\"`ssl`\" pulumi-lang-dotnet=\"`Ssl`\" pulumi-lang-go=\"`ssl`\" pulumi-lang-python=\"`ssl`\" pulumi-lang-yaml=\"`ssl`\" pulumi-lang-java=\"`ssl`\"\u003e`ssl`\u003c/span\u003e block as defined below. Changing this forces a new Machine Learning Inference Cluster to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Machine Learning Inference Cluster. Changing this forces a new Machine Learning Inference Cluster to be created.\n"}},"required":["kubernetesClusterId","location","machineLearningWorkspaceId","name"],"inputProperties":{"clusterPurpose":{"type":"string","description":"The purpose of the Inference Cluster. Options are `DevTest`, `DenseProd` and `FastProd`. If used for Development or Testing, use `DevTest` here. Default purpose is `FastProd`, which is recommended for production workloads. Changing this forces a new Machine Learning Inference Cluster to be created.\n\n\u003e **Note:** When creating or attaching a cluster, if the cluster will be used for production (\u003cspan pulumi-lang-nodejs=\"`clusterPurpose \" pulumi-lang-dotnet=\"`ClusterPurpose \" pulumi-lang-go=\"`clusterPurpose \" pulumi-lang-python=\"`cluster_purpose \" pulumi-lang-yaml=\"`clusterPurpose \" pulumi-lang-java=\"`clusterPurpose \"\u003e`cluster_purpose \u003c/span\u003e= \"FastProd\"`), then it must contain at least 12 virtual CPUs. The number of virtual CPUs can be calculated by multiplying the number of nodes in the cluster by the number of cores provided by the VM size selected. For example, if you use a VM size of \"Standard_D3_v2\", which has 4 virtual cores, then you should select 3 or greater as the number of nodes.\n","willReplaceOnChanges":true},"description":{"type":"string","description":"The description of the Machine Learning Inference Cluster. Changing this forces a new Machine Learning Inference Cluster to be created.\n","willReplaceOnChanges":true},"identity":{"$ref":"#/types/azure:machinelearning/InferenceClusterIdentity:InferenceClusterIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below. Changing this forces a new Machine Learning Inference Cluster to be created.\n","willReplaceOnChanges":true},"kubernetesClusterId":{"type":"string","description":"The ID of the Kubernetes Cluster. Changing this forces a new Machine Learning Inference Cluster to be created.\n","willReplaceOnChanges":true},"location":{"type":"string","description":"The Azure Region where the Machine Learning Inference Cluster should exist. Changing this forces a new Machine Learning Inference Cluster to be created.\n","willReplaceOnChanges":true},"machineLearningWorkspaceId":{"type":"string","description":"The ID of the Machine Learning Workspace. Changing this forces a new Machine Learning Inference Cluster to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Machine Learning Inference Cluster. Changing this forces a new Machine Learning Inference Cluster to be created.\n","willReplaceOnChanges":true},"ssl":{"$ref":"#/types/azure:machinelearning/InferenceClusterSsl:InferenceClusterSsl","description":"A \u003cspan pulumi-lang-nodejs=\"`ssl`\" pulumi-lang-dotnet=\"`Ssl`\" pulumi-lang-go=\"`ssl`\" pulumi-lang-python=\"`ssl`\" pulumi-lang-yaml=\"`ssl`\" pulumi-lang-java=\"`ssl`\"\u003e`ssl`\u003c/span\u003e block as defined below. Changing this forces a new Machine Learning Inference Cluster to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Machine Learning Inference Cluster. Changing this forces a new Machine Learning Inference Cluster to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["kubernetesClusterId","machineLearningWorkspaceId"],"stateInputs":{"description":"Input properties used for looking up and filtering InferenceCluster resources.\n","properties":{"clusterPurpose":{"type":"string","description":"The purpose of the Inference Cluster. Options are `DevTest`, `DenseProd` and `FastProd`. If used for Development or Testing, use `DevTest` here. Default purpose is `FastProd`, which is recommended for production workloads. Changing this forces a new Machine Learning Inference Cluster to be created.\n\n\u003e **Note:** When creating or attaching a cluster, if the cluster will be used for production (\u003cspan pulumi-lang-nodejs=\"`clusterPurpose \" pulumi-lang-dotnet=\"`ClusterPurpose \" pulumi-lang-go=\"`clusterPurpose \" pulumi-lang-python=\"`cluster_purpose \" pulumi-lang-yaml=\"`clusterPurpose \" pulumi-lang-java=\"`clusterPurpose \"\u003e`cluster_purpose \u003c/span\u003e= \"FastProd\"`), then it must contain at least 12 virtual CPUs. The number of virtual CPUs can be calculated by multiplying the number of nodes in the cluster by the number of cores provided by the VM size selected. For example, if you use a VM size of \"Standard_D3_v2\", which has 4 virtual cores, then you should select 3 or greater as the number of nodes.\n","willReplaceOnChanges":true},"description":{"type":"string","description":"The description of the Machine Learning Inference Cluster. Changing this forces a new Machine Learning Inference Cluster to be created.\n","willReplaceOnChanges":true},"identity":{"$ref":"#/types/azure:machinelearning/InferenceClusterIdentity:InferenceClusterIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below. Changing this forces a new Machine Learning Inference Cluster to be created.\n","willReplaceOnChanges":true},"kubernetesClusterId":{"type":"string","description":"The ID of the Kubernetes Cluster. Changing this forces a new Machine Learning Inference Cluster to be created.\n","willReplaceOnChanges":true},"location":{"type":"string","description":"The Azure Region where the Machine Learning Inference Cluster should exist. Changing this forces a new Machine Learning Inference Cluster to be created.\n","willReplaceOnChanges":true},"machineLearningWorkspaceId":{"type":"string","description":"The ID of the Machine Learning Workspace. Changing this forces a new Machine Learning Inference Cluster to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Machine Learning Inference Cluster. Changing this forces a new Machine Learning Inference Cluster to be created.\n","willReplaceOnChanges":true},"ssl":{"$ref":"#/types/azure:machinelearning/InferenceClusterSsl:InferenceClusterSsl","description":"A \u003cspan pulumi-lang-nodejs=\"`ssl`\" pulumi-lang-dotnet=\"`Ssl`\" pulumi-lang-go=\"`ssl`\" pulumi-lang-python=\"`ssl`\" pulumi-lang-yaml=\"`ssl`\" pulumi-lang-java=\"`ssl`\"\u003e`ssl`\u003c/span\u003e block as defined below. Changing this forces a new Machine Learning Inference Cluster to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Machine Learning Inference Cluster. Changing this forces a new Machine Learning Inference Cluster to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:machinelearning/synapseSpark:SynapseSpark":{"description":"Manages the linked service to link an Azure Machine learning workspace to an Azure Synapse workspace.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst current = azure.core.getClientConfig({});\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-rg\",\n    location: \"west europe\",\n    tags: {\n        stage: \"example\",\n    },\n});\nconst exampleInsights = new azure.appinsights.Insights(\"example\", {\n    name: \"example-ai\",\n    location: example.location,\n    resourceGroupName: example.name,\n    applicationType: \"web\",\n});\nconst exampleKeyVault = new azure.keyvault.KeyVault(\"example\", {\n    name: \"example-kv\",\n    location: example.location,\n    resourceGroupName: example.name,\n    tenantId: current.then(current =\u003e current.tenantId),\n    skuName: \"standard\",\n    purgeProtectionEnabled: true,\n});\nconst exampleAccount = new azure.storage.Account(\"example\", {\n    name: \"examplesa\",\n    location: example.location,\n    resourceGroupName: example.name,\n    accountTier: \"Standard\",\n    accountReplicationType: \"LRS\",\n});\nconst exampleWorkspace = new azure.machinelearning.Workspace(\"example\", {\n    name: \"example-mlw\",\n    location: example.location,\n    resourceGroupName: example.name,\n    applicationInsightsId: exampleInsights.id,\n    keyVaultId: exampleKeyVault.id,\n    storageAccountId: exampleAccount.id,\n    identity: {\n        type: \"SystemAssigned\",\n    },\n});\nconst exampleDataLakeGen2Filesystem = new azure.storage.DataLakeGen2Filesystem(\"example\", {\n    name: \"example\",\n    storageAccountId: exampleAccount.id,\n});\nconst exampleWorkspace2 = new azure.synapse.Workspace(\"example\", {\n    name: \"example\",\n    resourceGroupName: example.name,\n    location: example.location,\n    storageDataLakeGen2FilesystemId: exampleDataLakeGen2Filesystem.id,\n    sqlAdministratorLogin: \"sqladminuser\",\n    sqlAdministratorLoginPassword: \"H@Sh1CoR3!\",\n    identity: {\n        type: \"SystemAssigned\",\n    },\n});\nconst exampleSparkPool = new azure.synapse.SparkPool(\"example\", {\n    name: \"example\",\n    synapseWorkspaceId: exampleWorkspace2.id,\n    nodeSizeFamily: \"MemoryOptimized\",\n    nodeSize: \"Small\",\n    nodeCount: 3,\n});\nconst exampleSynapseSpark = new azure.machinelearning.SynapseSpark(\"example\", {\n    name: \"example\",\n    machineLearningWorkspaceId: exampleWorkspace.id,\n    location: example.location,\n    synapseSparkPoolId: exampleSparkPool.id,\n    identity: {\n        type: \"SystemAssigned\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\ncurrent = azure.core.get_client_config()\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-rg\",\n    location=\"west europe\",\n    tags={\n        \"stage\": \"example\",\n    })\nexample_insights = azure.appinsights.Insights(\"example\",\n    name=\"example-ai\",\n    location=example.location,\n    resource_group_name=example.name,\n    application_type=\"web\")\nexample_key_vault = azure.keyvault.KeyVault(\"example\",\n    name=\"example-kv\",\n    location=example.location,\n    resource_group_name=example.name,\n    tenant_id=current.tenant_id,\n    sku_name=\"standard\",\n    purge_protection_enabled=True)\nexample_account = azure.storage.Account(\"example\",\n    name=\"examplesa\",\n    location=example.location,\n    resource_group_name=example.name,\n    account_tier=\"Standard\",\n    account_replication_type=\"LRS\")\nexample_workspace = azure.machinelearning.Workspace(\"example\",\n    name=\"example-mlw\",\n    location=example.location,\n    resource_group_name=example.name,\n    application_insights_id=example_insights.id,\n    key_vault_id=example_key_vault.id,\n    storage_account_id=example_account.id,\n    identity={\n        \"type\": \"SystemAssigned\",\n    })\nexample_data_lake_gen2_filesystem = azure.storage.DataLakeGen2Filesystem(\"example\",\n    name=\"example\",\n    storage_account_id=example_account.id)\nexample_workspace2 = azure.synapse.Workspace(\"example\",\n    name=\"example\",\n    resource_group_name=example.name,\n    location=example.location,\n    storage_data_lake_gen2_filesystem_id=example_data_lake_gen2_filesystem.id,\n    sql_administrator_login=\"sqladminuser\",\n    sql_administrator_login_password=\"H@Sh1CoR3!\",\n    identity={\n        \"type\": \"SystemAssigned\",\n    })\nexample_spark_pool = azure.synapse.SparkPool(\"example\",\n    name=\"example\",\n    synapse_workspace_id=example_workspace2.id,\n    node_size_family=\"MemoryOptimized\",\n    node_size=\"Small\",\n    node_count=3)\nexample_synapse_spark = azure.machinelearning.SynapseSpark(\"example\",\n    name=\"example\",\n    machine_learning_workspace_id=example_workspace.id,\n    location=example.location,\n    synapse_spark_pool_id=example_spark_pool.id,\n    identity={\n        \"type\": \"SystemAssigned\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var current = Azure.Core.GetClientConfig.Invoke();\n\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-rg\",\n        Location = \"west europe\",\n        Tags = \n        {\n            { \"stage\", \"example\" },\n        },\n    });\n\n    var exampleInsights = new Azure.AppInsights.Insights(\"example\", new()\n    {\n        Name = \"example-ai\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        ApplicationType = \"web\",\n    });\n\n    var exampleKeyVault = new Azure.KeyVault.KeyVault(\"example\", new()\n    {\n        Name = \"example-kv\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        TenantId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.TenantId),\n        SkuName = \"standard\",\n        PurgeProtectionEnabled = true,\n    });\n\n    var exampleAccount = new Azure.Storage.Account(\"example\", new()\n    {\n        Name = \"examplesa\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        AccountTier = \"Standard\",\n        AccountReplicationType = \"LRS\",\n    });\n\n    var exampleWorkspace = new Azure.MachineLearning.Workspace(\"example\", new()\n    {\n        Name = \"example-mlw\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        ApplicationInsightsId = exampleInsights.Id,\n        KeyVaultId = exampleKeyVault.Id,\n        StorageAccountId = exampleAccount.Id,\n        Identity = new Azure.MachineLearning.Inputs.WorkspaceIdentityArgs\n        {\n            Type = \"SystemAssigned\",\n        },\n    });\n\n    var exampleDataLakeGen2Filesystem = new Azure.Storage.DataLakeGen2Filesystem(\"example\", new()\n    {\n        Name = \"example\",\n        StorageAccountId = exampleAccount.Id,\n    });\n\n    var exampleWorkspace2 = new Azure.Synapse.Workspace(\"example\", new()\n    {\n        Name = \"example\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        StorageDataLakeGen2FilesystemId = exampleDataLakeGen2Filesystem.Id,\n        SqlAdministratorLogin = \"sqladminuser\",\n        SqlAdministratorLoginPassword = \"H@Sh1CoR3!\",\n        Identity = new Azure.Synapse.Inputs.WorkspaceIdentityArgs\n        {\n            Type = \"SystemAssigned\",\n        },\n    });\n\n    var exampleSparkPool = new Azure.Synapse.SparkPool(\"example\", new()\n    {\n        Name = \"example\",\n        SynapseWorkspaceId = exampleWorkspace2.Id,\n        NodeSizeFamily = \"MemoryOptimized\",\n        NodeSize = \"Small\",\n        NodeCount = 3,\n    });\n\n    var exampleSynapseSpark = new Azure.MachineLearning.SynapseSpark(\"example\", new()\n    {\n        Name = \"example\",\n        MachineLearningWorkspaceId = exampleWorkspace.Id,\n        Location = example.Location,\n        SynapseSparkPoolId = exampleSparkPool.Id,\n        Identity = new Azure.MachineLearning.Inputs.SynapseSparkIdentityArgs\n        {\n            Type = \"SystemAssigned\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/appinsights\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/keyvault\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/machinelearning\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/synapse\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := core.GetClientConfig(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-rg\"),\n\t\t\tLocation: pulumi.String(\"west europe\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"stage\": pulumi.String(\"example\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleInsights, err := appinsights.NewInsights(ctx, \"example\", \u0026appinsights.InsightsArgs{\n\t\t\tName:              pulumi.String(\"example-ai\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tApplicationType:   pulumi.String(\"web\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleKeyVault, err := keyvault.NewKeyVault(ctx, \"example\", \u0026keyvault.KeyVaultArgs{\n\t\t\tName:                   pulumi.String(\"example-kv\"),\n\t\t\tLocation:               example.Location,\n\t\t\tResourceGroupName:      example.Name,\n\t\t\tTenantId:               pulumi.String(current.TenantId),\n\t\t\tSkuName:                pulumi.String(\"standard\"),\n\t\t\tPurgeProtectionEnabled: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := storage.NewAccount(ctx, \"example\", \u0026storage.AccountArgs{\n\t\t\tName:                   pulumi.String(\"examplesa\"),\n\t\t\tLocation:               example.Location,\n\t\t\tResourceGroupName:      example.Name,\n\t\t\tAccountTier:            pulumi.String(\"Standard\"),\n\t\t\tAccountReplicationType: pulumi.String(\"LRS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleWorkspace, err := machinelearning.NewWorkspace(ctx, \"example\", \u0026machinelearning.WorkspaceArgs{\n\t\t\tName:                  pulumi.String(\"example-mlw\"),\n\t\t\tLocation:              example.Location,\n\t\t\tResourceGroupName:     example.Name,\n\t\t\tApplicationInsightsId: exampleInsights.ID(),\n\t\t\tKeyVaultId:            exampleKeyVault.ID(),\n\t\t\tStorageAccountId:      exampleAccount.ID(),\n\t\t\tIdentity: \u0026machinelearning.WorkspaceIdentityArgs{\n\t\t\t\tType: pulumi.String(\"SystemAssigned\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleDataLakeGen2Filesystem, err := storage.NewDataLakeGen2Filesystem(ctx, \"example\", \u0026storage.DataLakeGen2FilesystemArgs{\n\t\t\tName:             pulumi.String(\"example\"),\n\t\t\tStorageAccountId: exampleAccount.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleWorkspace2, err := synapse.NewWorkspace(ctx, \"example\", \u0026synapse.WorkspaceArgs{\n\t\t\tName:                            pulumi.String(\"example\"),\n\t\t\tResourceGroupName:               example.Name,\n\t\t\tLocation:                        example.Location,\n\t\t\tStorageDataLakeGen2FilesystemId: exampleDataLakeGen2Filesystem.ID(),\n\t\t\tSqlAdministratorLogin:           pulumi.String(\"sqladminuser\"),\n\t\t\tSqlAdministratorLoginPassword:   pulumi.String(\"H@Sh1CoR3!\"),\n\t\t\tIdentity: \u0026synapse.WorkspaceIdentityArgs{\n\t\t\t\tType: pulumi.String(\"SystemAssigned\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSparkPool, err := synapse.NewSparkPool(ctx, \"example\", \u0026synapse.SparkPoolArgs{\n\t\t\tName:               pulumi.String(\"example\"),\n\t\t\tSynapseWorkspaceId: exampleWorkspace2.ID(),\n\t\t\tNodeSizeFamily:     pulumi.String(\"MemoryOptimized\"),\n\t\t\tNodeSize:           pulumi.String(\"Small\"),\n\t\t\tNodeCount:          pulumi.Int(3),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = machinelearning.NewSynapseSpark(ctx, \"example\", \u0026machinelearning.SynapseSparkArgs{\n\t\t\tName:                       pulumi.String(\"example\"),\n\t\t\tMachineLearningWorkspaceId: exampleWorkspace.ID(),\n\t\t\tLocation:                   example.Location,\n\t\t\tSynapseSparkPoolId:         exampleSparkPool.ID(),\n\t\t\tIdentity: \u0026machinelearning.SynapseSparkIdentityArgs{\n\t\t\t\tType: pulumi.String(\"SystemAssigned\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.appinsights.Insights;\nimport com.pulumi.azure.appinsights.InsightsArgs;\nimport com.pulumi.azure.keyvault.KeyVault;\nimport com.pulumi.azure.keyvault.KeyVaultArgs;\nimport com.pulumi.azure.storage.Account;\nimport com.pulumi.azure.storage.AccountArgs;\nimport com.pulumi.azure.storage.DataLakeGen2Filesystem;\nimport com.pulumi.azure.storage.DataLakeGen2FilesystemArgs;\nimport com.pulumi.azure.synapse.SparkPool;\nimport com.pulumi.azure.synapse.SparkPoolArgs;\nimport com.pulumi.azure.machinelearning.SynapseSpark;\nimport com.pulumi.azure.machinelearning.SynapseSparkArgs;\nimport com.pulumi.azure.machinelearning.inputs.SynapseSparkIdentityArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var current = CoreFunctions.getClientConfig(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-rg\")\n            .location(\"west europe\")\n            .tags(Map.of(\"stage\", \"example\"))\n            .build());\n\n        var exampleInsights = new Insights(\"exampleInsights\", InsightsArgs.builder()\n            .name(\"example-ai\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .applicationType(\"web\")\n            .build());\n\n        var exampleKeyVault = new KeyVault(\"exampleKeyVault\", KeyVaultArgs.builder()\n            .name(\"example-kv\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .tenantId(current.tenantId())\n            .skuName(\"standard\")\n            .purgeProtectionEnabled(true)\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"examplesa\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .accountTier(\"Standard\")\n            .accountReplicationType(\"LRS\")\n            .build());\n\n        var exampleWorkspace = new com.pulumi.azure.machinelearning.Workspace(\"exampleWorkspace\", com.pulumi.azure.machinelearning.WorkspaceArgs.builder()\n            .name(\"example-mlw\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .applicationInsightsId(exampleInsights.id())\n            .keyVaultId(exampleKeyVault.id())\n            .storageAccountId(exampleAccount.id())\n            .identity(WorkspaceIdentityArgs.builder()\n                .type(\"SystemAssigned\")\n                .build())\n            .build());\n\n        var exampleDataLakeGen2Filesystem = new DataLakeGen2Filesystem(\"exampleDataLakeGen2Filesystem\", DataLakeGen2FilesystemArgs.builder()\n            .name(\"example\")\n            .storageAccountId(exampleAccount.id())\n            .build());\n\n        var exampleWorkspace2 = new com.pulumi.azure.synapse.Workspace(\"exampleWorkspace2\", com.pulumi.azure.synapse.WorkspaceArgs.builder()\n            .name(\"example\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .storageDataLakeGen2FilesystemId(exampleDataLakeGen2Filesystem.id())\n            .sqlAdministratorLogin(\"sqladminuser\")\n            .sqlAdministratorLoginPassword(\"H@Sh1CoR3!\")\n            .identity(WorkspaceIdentityArgs.builder()\n                .type(\"SystemAssigned\")\n                .build())\n            .build());\n\n        var exampleSparkPool = new SparkPool(\"exampleSparkPool\", SparkPoolArgs.builder()\n            .name(\"example\")\n            .synapseWorkspaceId(exampleWorkspace2.id())\n            .nodeSizeFamily(\"MemoryOptimized\")\n            .nodeSize(\"Small\")\n            .nodeCount(3)\n            .build());\n\n        var exampleSynapseSpark = new SynapseSpark(\"exampleSynapseSpark\", SynapseSparkArgs.builder()\n            .name(\"example\")\n            .machineLearningWorkspaceId(exampleWorkspace.id())\n            .location(example.location())\n            .synapseSparkPoolId(exampleSparkPool.id())\n            .identity(SynapseSparkIdentityArgs.builder()\n                .type(\"SystemAssigned\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-rg\n      location: west europe\n      tags:\n        stage: example\n  exampleInsights:\n    type: azure:appinsights:Insights\n    name: example\n    properties:\n      name: example-ai\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      applicationType: web\n  exampleKeyVault:\n    type: azure:keyvault:KeyVault\n    name: example\n    properties:\n      name: example-kv\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      tenantId: ${current.tenantId}\n      skuName: standard\n      purgeProtectionEnabled: true\n  exampleAccount:\n    type: azure:storage:Account\n    name: example\n    properties:\n      name: examplesa\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      accountTier: Standard\n      accountReplicationType: LRS\n  exampleWorkspace:\n    type: azure:machinelearning:Workspace\n    name: example\n    properties:\n      name: example-mlw\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      applicationInsightsId: ${exampleInsights.id}\n      keyVaultId: ${exampleKeyVault.id}\n      storageAccountId: ${exampleAccount.id}\n      identity:\n        type: SystemAssigned\n  exampleDataLakeGen2Filesystem:\n    type: azure:storage:DataLakeGen2Filesystem\n    name: example\n    properties:\n      name: example\n      storageAccountId: ${exampleAccount.id}\n  exampleWorkspace2:\n    type: azure:synapse:Workspace\n    name: example\n    properties:\n      name: example\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      storageDataLakeGen2FilesystemId: ${exampleDataLakeGen2Filesystem.id}\n      sqlAdministratorLogin: sqladminuser\n      sqlAdministratorLoginPassword: H@Sh1CoR3!\n      identity:\n        type: SystemAssigned\n  exampleSparkPool:\n    type: azure:synapse:SparkPool\n    name: example\n    properties:\n      name: example\n      synapseWorkspaceId: ${exampleWorkspace2.id}\n      nodeSizeFamily: MemoryOptimized\n      nodeSize: Small\n      nodeCount: 3\n  exampleSynapseSpark:\n    type: azure:machinelearning:SynapseSpark\n    name: example\n    properties:\n      name: example\n      machineLearningWorkspaceId: ${exampleWorkspace.id}\n      location: ${example.location}\n      synapseSparkPoolId: ${exampleSparkPool.id}\n      identity:\n        type: SystemAssigned\nvariables:\n  current:\n    fn::invoke:\n      function: azure:core:getClientConfig\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.MachineLearningServices` - 2025-06-01\n\n## Import\n\nMachine Learning Synapse Sparks can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:machinelearning/synapseSpark:SynapseSpark example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resGroup1/providers/Microsoft.MachineLearningServices/workspaces/workspace1/computes/compute1\n```\n\n","properties":{"description":{"type":"string","description":"The description of the Machine Learning Synapse Spark. Changing this forces a new Machine Learning Synapse Spark to be created.\n"},"identity":{"$ref":"#/types/azure:machinelearning/SynapseSparkIdentity:SynapseSparkIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below. Changing this forces a new Machine Learning Synapse Spark to be created.\n"},"localAuthEnabled":{"type":"boolean","description":"Whether local authentication methods is enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e. Changing this forces a new Machine Learning Synapse Spark to be created.\n"},"location":{"type":"string","description":"The Azure Region where the Machine Learning Synapse Spark should exist. Changing this forces a new Machine Learning Synapse Spark to be created.\n"},"machineLearningWorkspaceId":{"type":"string","description":"The ID of the Machine Learning Workspace. Changing this forces a new Machine Learning Synapse Spark to be created.\n"},"name":{"type":"string","description":"The name which should be used for this Machine Learning Synapse Spark. Changing this forces a new Machine Learning Synapse Spark to be created.\n"},"synapseSparkPoolId":{"type":"string","description":"The ID of the linked Synapse Spark Pool. Changing this forces a new Machine Learning Synapse Spark to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Machine Learning Synapse Spark. Changing this forces a new Machine Learning Synapse Spark to be created.\n"}},"required":["location","machineLearningWorkspaceId","name","synapseSparkPoolId"],"inputProperties":{"description":{"type":"string","description":"The description of the Machine Learning Synapse Spark. Changing this forces a new Machine Learning Synapse Spark to be created.\n","willReplaceOnChanges":true},"identity":{"$ref":"#/types/azure:machinelearning/SynapseSparkIdentity:SynapseSparkIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below. Changing this forces a new Machine Learning Synapse Spark to be created.\n","willReplaceOnChanges":true},"localAuthEnabled":{"type":"boolean","description":"Whether local authentication methods is enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e. Changing this forces a new Machine Learning Synapse Spark to be created.\n","willReplaceOnChanges":true},"location":{"type":"string","description":"The Azure Region where the Machine Learning Synapse Spark should exist. Changing this forces a new Machine Learning Synapse Spark to be created.\n","willReplaceOnChanges":true},"machineLearningWorkspaceId":{"type":"string","description":"The ID of the Machine Learning Workspace. Changing this forces a new Machine Learning Synapse Spark to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Machine Learning Synapse Spark. Changing this forces a new Machine Learning Synapse Spark to be created.\n","willReplaceOnChanges":true},"synapseSparkPoolId":{"type":"string","description":"The ID of the linked Synapse Spark Pool. Changing this forces a new Machine Learning Synapse Spark to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Machine Learning Synapse Spark. Changing this forces a new Machine Learning Synapse Spark to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["machineLearningWorkspaceId","synapseSparkPoolId"],"stateInputs":{"description":"Input properties used for looking up and filtering SynapseSpark resources.\n","properties":{"description":{"type":"string","description":"The description of the Machine Learning Synapse Spark. Changing this forces a new Machine Learning Synapse Spark to be created.\n","willReplaceOnChanges":true},"identity":{"$ref":"#/types/azure:machinelearning/SynapseSparkIdentity:SynapseSparkIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below. Changing this forces a new Machine Learning Synapse Spark to be created.\n","willReplaceOnChanges":true},"localAuthEnabled":{"type":"boolean","description":"Whether local authentication methods is enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e. Changing this forces a new Machine Learning Synapse Spark to be created.\n","willReplaceOnChanges":true},"location":{"type":"string","description":"The Azure Region where the Machine Learning Synapse Spark should exist. Changing this forces a new Machine Learning Synapse Spark to be created.\n","willReplaceOnChanges":true},"machineLearningWorkspaceId":{"type":"string","description":"The ID of the Machine Learning Workspace. Changing this forces a new Machine Learning Synapse Spark to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Machine Learning Synapse Spark. Changing this forces a new Machine Learning Synapse Spark to be created.\n","willReplaceOnChanges":true},"synapseSparkPoolId":{"type":"string","description":"The ID of the linked Synapse Spark Pool. Changing this forces a new Machine Learning Synapse Spark to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Machine Learning Synapse Spark. Changing this forces a new Machine Learning Synapse Spark to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:machinelearning/workspace:Workspace":{"description":"Manages a Azure Machine Learning Workspace\n\n\u003e **Note:** For examples on how to set up the Azure Machine Learning workspace, together with compute and integrated services, see Terraform Quickstart\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst current = azure.core.getClientConfig({});\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleInsights = new azure.appinsights.Insights(\"example\", {\n    name: \"workspace-example-ai\",\n    location: example.location,\n    resourceGroupName: example.name,\n    applicationType: \"web\",\n});\nconst exampleKeyVault = new azure.keyvault.KeyVault(\"example\", {\n    name: \"workspaceexamplekeyvault\",\n    location: example.location,\n    resourceGroupName: example.name,\n    tenantId: current.then(current =\u003e current.tenantId),\n    skuName: \"premium\",\n});\nconst exampleAccount = new azure.storage.Account(\"example\", {\n    name: \"workspacestorageaccount\",\n    location: example.location,\n    resourceGroupName: example.name,\n    accountTier: \"Standard\",\n    accountReplicationType: \"GRS\",\n});\nconst exampleWorkspace = new azure.machinelearning.Workspace(\"example\", {\n    name: \"example-workspace\",\n    location: example.location,\n    resourceGroupName: example.name,\n    applicationInsightsId: exampleInsights.id,\n    keyVaultId: exampleKeyVault.id,\n    storageAccountId: exampleAccount.id,\n    identity: {\n        type: \"SystemAssigned\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\ncurrent = azure.core.get_client_config()\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_insights = azure.appinsights.Insights(\"example\",\n    name=\"workspace-example-ai\",\n    location=example.location,\n    resource_group_name=example.name,\n    application_type=\"web\")\nexample_key_vault = azure.keyvault.KeyVault(\"example\",\n    name=\"workspaceexamplekeyvault\",\n    location=example.location,\n    resource_group_name=example.name,\n    tenant_id=current.tenant_id,\n    sku_name=\"premium\")\nexample_account = azure.storage.Account(\"example\",\n    name=\"workspacestorageaccount\",\n    location=example.location,\n    resource_group_name=example.name,\n    account_tier=\"Standard\",\n    account_replication_type=\"GRS\")\nexample_workspace = azure.machinelearning.Workspace(\"example\",\n    name=\"example-workspace\",\n    location=example.location,\n    resource_group_name=example.name,\n    application_insights_id=example_insights.id,\n    key_vault_id=example_key_vault.id,\n    storage_account_id=example_account.id,\n    identity={\n        \"type\": \"SystemAssigned\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var current = Azure.Core.GetClientConfig.Invoke();\n\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleInsights = new Azure.AppInsights.Insights(\"example\", new()\n    {\n        Name = \"workspace-example-ai\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        ApplicationType = \"web\",\n    });\n\n    var exampleKeyVault = new Azure.KeyVault.KeyVault(\"example\", new()\n    {\n        Name = \"workspaceexamplekeyvault\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        TenantId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.TenantId),\n        SkuName = \"premium\",\n    });\n\n    var exampleAccount = new Azure.Storage.Account(\"example\", new()\n    {\n        Name = \"workspacestorageaccount\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        AccountTier = \"Standard\",\n        AccountReplicationType = \"GRS\",\n    });\n\n    var exampleWorkspace = new Azure.MachineLearning.Workspace(\"example\", new()\n    {\n        Name = \"example-workspace\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        ApplicationInsightsId = exampleInsights.Id,\n        KeyVaultId = exampleKeyVault.Id,\n        StorageAccountId = exampleAccount.Id,\n        Identity = new Azure.MachineLearning.Inputs.WorkspaceIdentityArgs\n        {\n            Type = \"SystemAssigned\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/appinsights\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/keyvault\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/machinelearning\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := core.GetClientConfig(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleInsights, err := appinsights.NewInsights(ctx, \"example\", \u0026appinsights.InsightsArgs{\n\t\t\tName:              pulumi.String(\"workspace-example-ai\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tApplicationType:   pulumi.String(\"web\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleKeyVault, err := keyvault.NewKeyVault(ctx, \"example\", \u0026keyvault.KeyVaultArgs{\n\t\t\tName:              pulumi.String(\"workspaceexamplekeyvault\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tTenantId:          pulumi.String(current.TenantId),\n\t\t\tSkuName:           pulumi.String(\"premium\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := storage.NewAccount(ctx, \"example\", \u0026storage.AccountArgs{\n\t\t\tName:                   pulumi.String(\"workspacestorageaccount\"),\n\t\t\tLocation:               example.Location,\n\t\t\tResourceGroupName:      example.Name,\n\t\t\tAccountTier:            pulumi.String(\"Standard\"),\n\t\t\tAccountReplicationType: pulumi.String(\"GRS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = machinelearning.NewWorkspace(ctx, \"example\", \u0026machinelearning.WorkspaceArgs{\n\t\t\tName:                  pulumi.String(\"example-workspace\"),\n\t\t\tLocation:              example.Location,\n\t\t\tResourceGroupName:     example.Name,\n\t\t\tApplicationInsightsId: exampleInsights.ID(),\n\t\t\tKeyVaultId:            exampleKeyVault.ID(),\n\t\t\tStorageAccountId:      exampleAccount.ID(),\n\t\t\tIdentity: \u0026machinelearning.WorkspaceIdentityArgs{\n\t\t\t\tType: pulumi.String(\"SystemAssigned\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.appinsights.Insights;\nimport com.pulumi.azure.appinsights.InsightsArgs;\nimport com.pulumi.azure.keyvault.KeyVault;\nimport com.pulumi.azure.keyvault.KeyVaultArgs;\nimport com.pulumi.azure.storage.Account;\nimport com.pulumi.azure.storage.AccountArgs;\nimport com.pulumi.azure.machinelearning.Workspace;\nimport com.pulumi.azure.machinelearning.WorkspaceArgs;\nimport com.pulumi.azure.machinelearning.inputs.WorkspaceIdentityArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var current = CoreFunctions.getClientConfig(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleInsights = new Insights(\"exampleInsights\", InsightsArgs.builder()\n            .name(\"workspace-example-ai\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .applicationType(\"web\")\n            .build());\n\n        var exampleKeyVault = new KeyVault(\"exampleKeyVault\", KeyVaultArgs.builder()\n            .name(\"workspaceexamplekeyvault\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .tenantId(current.tenantId())\n            .skuName(\"premium\")\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"workspacestorageaccount\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .accountTier(\"Standard\")\n            .accountReplicationType(\"GRS\")\n            .build());\n\n        var exampleWorkspace = new Workspace(\"exampleWorkspace\", WorkspaceArgs.builder()\n            .name(\"example-workspace\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .applicationInsightsId(exampleInsights.id())\n            .keyVaultId(exampleKeyVault.id())\n            .storageAccountId(exampleAccount.id())\n            .identity(WorkspaceIdentityArgs.builder()\n                .type(\"SystemAssigned\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleInsights:\n    type: azure:appinsights:Insights\n    name: example\n    properties:\n      name: workspace-example-ai\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      applicationType: web\n  exampleKeyVault:\n    type: azure:keyvault:KeyVault\n    name: example\n    properties:\n      name: workspaceexamplekeyvault\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      tenantId: ${current.tenantId}\n      skuName: premium\n  exampleAccount:\n    type: azure:storage:Account\n    name: example\n    properties:\n      name: workspacestorageaccount\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      accountTier: Standard\n      accountReplicationType: GRS\n  exampleWorkspace:\n    type: azure:machinelearning:Workspace\n    name: example\n    properties:\n      name: example-workspace\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      applicationInsightsId: ${exampleInsights.id}\n      keyVaultId: ${exampleKeyVault.id}\n      storageAccountId: ${exampleAccount.id}\n      identity:\n        type: SystemAssigned\nvariables:\n  current:\n    fn::invoke:\n      function: azure:core:getClientConfig\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\n### With Data Encryption\n\n\u003e **Note:** The Key Vault must enable purge protection.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst current = azure.core.getClientConfig({});\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleInsights = new azure.appinsights.Insights(\"example\", {\n    name: \"workspace-example-ai\",\n    location: example.location,\n    resourceGroupName: example.name,\n    applicationType: \"web\",\n});\nconst exampleKeyVault = new azure.keyvault.KeyVault(\"example\", {\n    name: \"workspaceexamplekeyvault\",\n    location: example.location,\n    resourceGroupName: example.name,\n    tenantId: current.then(current =\u003e current.tenantId),\n    skuName: \"premium\",\n    purgeProtectionEnabled: true,\n});\nconst exampleAccessPolicy = new azure.keyvault.AccessPolicy(\"example\", {\n    keyVaultId: exampleKeyVault.id,\n    tenantId: current.then(current =\u003e current.tenantId),\n    objectId: current.then(current =\u003e current.objectId),\n    keyPermissions: [\n        \"Create\",\n        \"Get\",\n        \"Delete\",\n        \"Purge\",\n        \"GetRotationPolicy\",\n    ],\n});\nconst exampleAccount = new azure.storage.Account(\"example\", {\n    name: \"workspacestorageaccount\",\n    location: example.location,\n    resourceGroupName: example.name,\n    accountTier: \"Standard\",\n    accountReplicationType: \"GRS\",\n});\nconst exampleKey = new azure.keyvault.Key(\"example\", {\n    name: \"workspaceexamplekeyvaultkey\",\n    keyVaultId: exampleKeyVault.id,\n    keyType: \"RSA\",\n    keySize: 2048,\n    keyOpts: [\n        \"decrypt\",\n        \"encrypt\",\n        \"sign\",\n        \"unwrapKey\",\n        \"verify\",\n        \"wrapKey\",\n    ],\n}, {\n    dependsOn: [\n        exampleKeyVault,\n        exampleAccessPolicy,\n    ],\n});\nconst exampleWorkspace = new azure.machinelearning.Workspace(\"example\", {\n    name: \"example-workspace\",\n    location: example.location,\n    resourceGroupName: example.name,\n    applicationInsightsId: exampleInsights.id,\n    keyVaultId: exampleKeyVault.id,\n    storageAccountId: exampleAccount.id,\n    identity: {\n        type: \"SystemAssigned\",\n    },\n    encryption: {\n        keyVaultId: exampleKeyVault.id,\n        keyId: exampleKey.id,\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\ncurrent = azure.core.get_client_config()\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_insights = azure.appinsights.Insights(\"example\",\n    name=\"workspace-example-ai\",\n    location=example.location,\n    resource_group_name=example.name,\n    application_type=\"web\")\nexample_key_vault = azure.keyvault.KeyVault(\"example\",\n    name=\"workspaceexamplekeyvault\",\n    location=example.location,\n    resource_group_name=example.name,\n    tenant_id=current.tenant_id,\n    sku_name=\"premium\",\n    purge_protection_enabled=True)\nexample_access_policy = azure.keyvault.AccessPolicy(\"example\",\n    key_vault_id=example_key_vault.id,\n    tenant_id=current.tenant_id,\n    object_id=current.object_id,\n    key_permissions=[\n        \"Create\",\n        \"Get\",\n        \"Delete\",\n        \"Purge\",\n        \"GetRotationPolicy\",\n    ])\nexample_account = azure.storage.Account(\"example\",\n    name=\"workspacestorageaccount\",\n    location=example.location,\n    resource_group_name=example.name,\n    account_tier=\"Standard\",\n    account_replication_type=\"GRS\")\nexample_key = azure.keyvault.Key(\"example\",\n    name=\"workspaceexamplekeyvaultkey\",\n    key_vault_id=example_key_vault.id,\n    key_type=\"RSA\",\n    key_size=2048,\n    key_opts=[\n        \"decrypt\",\n        \"encrypt\",\n        \"sign\",\n        \"unwrapKey\",\n        \"verify\",\n        \"wrapKey\",\n    ],\n    opts = pulumi.ResourceOptions(depends_on=[\n            example_key_vault,\n            example_access_policy,\n        ]))\nexample_workspace = azure.machinelearning.Workspace(\"example\",\n    name=\"example-workspace\",\n    location=example.location,\n    resource_group_name=example.name,\n    application_insights_id=example_insights.id,\n    key_vault_id=example_key_vault.id,\n    storage_account_id=example_account.id,\n    identity={\n        \"type\": \"SystemAssigned\",\n    },\n    encryption={\n        \"key_vault_id\": example_key_vault.id,\n        \"key_id\": example_key.id,\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var current = Azure.Core.GetClientConfig.Invoke();\n\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleInsights = new Azure.AppInsights.Insights(\"example\", new()\n    {\n        Name = \"workspace-example-ai\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        ApplicationType = \"web\",\n    });\n\n    var exampleKeyVault = new Azure.KeyVault.KeyVault(\"example\", new()\n    {\n        Name = \"workspaceexamplekeyvault\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        TenantId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.TenantId),\n        SkuName = \"premium\",\n        PurgeProtectionEnabled = true,\n    });\n\n    var exampleAccessPolicy = new Azure.KeyVault.AccessPolicy(\"example\", new()\n    {\n        KeyVaultId = exampleKeyVault.Id,\n        TenantId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.TenantId),\n        ObjectId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.ObjectId),\n        KeyPermissions = new[]\n        {\n            \"Create\",\n            \"Get\",\n            \"Delete\",\n            \"Purge\",\n            \"GetRotationPolicy\",\n        },\n    });\n\n    var exampleAccount = new Azure.Storage.Account(\"example\", new()\n    {\n        Name = \"workspacestorageaccount\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        AccountTier = \"Standard\",\n        AccountReplicationType = \"GRS\",\n    });\n\n    var exampleKey = new Azure.KeyVault.Key(\"example\", new()\n    {\n        Name = \"workspaceexamplekeyvaultkey\",\n        KeyVaultId = exampleKeyVault.Id,\n        KeyType = \"RSA\",\n        KeySize = 2048,\n        KeyOpts = new[]\n        {\n            \"decrypt\",\n            \"encrypt\",\n            \"sign\",\n            \"unwrapKey\",\n            \"verify\",\n            \"wrapKey\",\n        },\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            exampleKeyVault,\n            exampleAccessPolicy,\n        },\n    });\n\n    var exampleWorkspace = new Azure.MachineLearning.Workspace(\"example\", new()\n    {\n        Name = \"example-workspace\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        ApplicationInsightsId = exampleInsights.Id,\n        KeyVaultId = exampleKeyVault.Id,\n        StorageAccountId = exampleAccount.Id,\n        Identity = new Azure.MachineLearning.Inputs.WorkspaceIdentityArgs\n        {\n            Type = \"SystemAssigned\",\n        },\n        Encryption = new Azure.MachineLearning.Inputs.WorkspaceEncryptionArgs\n        {\n            KeyVaultId = exampleKeyVault.Id,\n            KeyId = exampleKey.Id,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/appinsights\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/keyvault\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/machinelearning\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := core.GetClientConfig(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleInsights, err := appinsights.NewInsights(ctx, \"example\", \u0026appinsights.InsightsArgs{\n\t\t\tName:              pulumi.String(\"workspace-example-ai\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tApplicationType:   pulumi.String(\"web\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleKeyVault, err := keyvault.NewKeyVault(ctx, \"example\", \u0026keyvault.KeyVaultArgs{\n\t\t\tName:                   pulumi.String(\"workspaceexamplekeyvault\"),\n\t\t\tLocation:               example.Location,\n\t\t\tResourceGroupName:      example.Name,\n\t\t\tTenantId:               pulumi.String(current.TenantId),\n\t\t\tSkuName:                pulumi.String(\"premium\"),\n\t\t\tPurgeProtectionEnabled: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccessPolicy, err := keyvault.NewAccessPolicy(ctx, \"example\", \u0026keyvault.AccessPolicyArgs{\n\t\t\tKeyVaultId: exampleKeyVault.ID(),\n\t\t\tTenantId:   pulumi.String(current.TenantId),\n\t\t\tObjectId:   pulumi.String(current.ObjectId),\n\t\t\tKeyPermissions: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"Create\"),\n\t\t\t\tpulumi.String(\"Get\"),\n\t\t\t\tpulumi.String(\"Delete\"),\n\t\t\t\tpulumi.String(\"Purge\"),\n\t\t\t\tpulumi.String(\"GetRotationPolicy\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := storage.NewAccount(ctx, \"example\", \u0026storage.AccountArgs{\n\t\t\tName:                   pulumi.String(\"workspacestorageaccount\"),\n\t\t\tLocation:               example.Location,\n\t\t\tResourceGroupName:      example.Name,\n\t\t\tAccountTier:            pulumi.String(\"Standard\"),\n\t\t\tAccountReplicationType: pulumi.String(\"GRS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleKey, err := keyvault.NewKey(ctx, \"example\", \u0026keyvault.KeyArgs{\n\t\t\tName:       pulumi.String(\"workspaceexamplekeyvaultkey\"),\n\t\t\tKeyVaultId: exampleKeyVault.ID(),\n\t\t\tKeyType:    pulumi.String(\"RSA\"),\n\t\t\tKeySize:    pulumi.Int(2048),\n\t\t\tKeyOpts: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"decrypt\"),\n\t\t\t\tpulumi.String(\"encrypt\"),\n\t\t\t\tpulumi.String(\"sign\"),\n\t\t\t\tpulumi.String(\"unwrapKey\"),\n\t\t\t\tpulumi.String(\"verify\"),\n\t\t\t\tpulumi.String(\"wrapKey\"),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleKeyVault,\n\t\t\texampleAccessPolicy,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = machinelearning.NewWorkspace(ctx, \"example\", \u0026machinelearning.WorkspaceArgs{\n\t\t\tName:                  pulumi.String(\"example-workspace\"),\n\t\t\tLocation:              example.Location,\n\t\t\tResourceGroupName:     example.Name,\n\t\t\tApplicationInsightsId: exampleInsights.ID(),\n\t\t\tKeyVaultId:            exampleKeyVault.ID(),\n\t\t\tStorageAccountId:      exampleAccount.ID(),\n\t\t\tIdentity: \u0026machinelearning.WorkspaceIdentityArgs{\n\t\t\t\tType: pulumi.String(\"SystemAssigned\"),\n\t\t\t},\n\t\t\tEncryption: \u0026machinelearning.WorkspaceEncryptionArgs{\n\t\t\t\tKeyVaultId: exampleKeyVault.ID(),\n\t\t\t\tKeyId:      exampleKey.ID(),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.appinsights.Insights;\nimport com.pulumi.azure.appinsights.InsightsArgs;\nimport com.pulumi.azure.keyvault.KeyVault;\nimport com.pulumi.azure.keyvault.KeyVaultArgs;\nimport com.pulumi.azure.keyvault.AccessPolicy;\nimport com.pulumi.azure.keyvault.AccessPolicyArgs;\nimport com.pulumi.azure.storage.Account;\nimport com.pulumi.azure.storage.AccountArgs;\nimport com.pulumi.azure.keyvault.Key;\nimport com.pulumi.azure.keyvault.KeyArgs;\nimport com.pulumi.azure.machinelearning.Workspace;\nimport com.pulumi.azure.machinelearning.WorkspaceArgs;\nimport com.pulumi.azure.machinelearning.inputs.WorkspaceIdentityArgs;\nimport com.pulumi.azure.machinelearning.inputs.WorkspaceEncryptionArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var current = CoreFunctions.getClientConfig(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleInsights = new Insights(\"exampleInsights\", InsightsArgs.builder()\n            .name(\"workspace-example-ai\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .applicationType(\"web\")\n            .build());\n\n        var exampleKeyVault = new KeyVault(\"exampleKeyVault\", KeyVaultArgs.builder()\n            .name(\"workspaceexamplekeyvault\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .tenantId(current.tenantId())\n            .skuName(\"premium\")\n            .purgeProtectionEnabled(true)\n            .build());\n\n        var exampleAccessPolicy = new AccessPolicy(\"exampleAccessPolicy\", AccessPolicyArgs.builder()\n            .keyVaultId(exampleKeyVault.id())\n            .tenantId(current.tenantId())\n            .objectId(current.objectId())\n            .keyPermissions(            \n                \"Create\",\n                \"Get\",\n                \"Delete\",\n                \"Purge\",\n                \"GetRotationPolicy\")\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"workspacestorageaccount\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .accountTier(\"Standard\")\n            .accountReplicationType(\"GRS\")\n            .build());\n\n        var exampleKey = new Key(\"exampleKey\", KeyArgs.builder()\n            .name(\"workspaceexamplekeyvaultkey\")\n            .keyVaultId(exampleKeyVault.id())\n            .keyType(\"RSA\")\n            .keySize(2048)\n            .keyOpts(            \n                \"decrypt\",\n                \"encrypt\",\n                \"sign\",\n                \"unwrapKey\",\n                \"verify\",\n                \"wrapKey\")\n            .build(), CustomResourceOptions.builder()\n                .dependsOn(                \n                    exampleKeyVault,\n                    exampleAccessPolicy)\n                .build());\n\n        var exampleWorkspace = new Workspace(\"exampleWorkspace\", WorkspaceArgs.builder()\n            .name(\"example-workspace\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .applicationInsightsId(exampleInsights.id())\n            .keyVaultId(exampleKeyVault.id())\n            .storageAccountId(exampleAccount.id())\n            .identity(WorkspaceIdentityArgs.builder()\n                .type(\"SystemAssigned\")\n                .build())\n            .encryption(WorkspaceEncryptionArgs.builder()\n                .keyVaultId(exampleKeyVault.id())\n                .keyId(exampleKey.id())\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleInsights:\n    type: azure:appinsights:Insights\n    name: example\n    properties:\n      name: workspace-example-ai\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      applicationType: web\n  exampleKeyVault:\n    type: azure:keyvault:KeyVault\n    name: example\n    properties:\n      name: workspaceexamplekeyvault\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      tenantId: ${current.tenantId}\n      skuName: premium\n      purgeProtectionEnabled: true\n  exampleAccessPolicy:\n    type: azure:keyvault:AccessPolicy\n    name: example\n    properties:\n      keyVaultId: ${exampleKeyVault.id}\n      tenantId: ${current.tenantId}\n      objectId: ${current.objectId}\n      keyPermissions:\n        - Create\n        - Get\n        - Delete\n        - Purge\n        - GetRotationPolicy\n  exampleAccount:\n    type: azure:storage:Account\n    name: example\n    properties:\n      name: workspacestorageaccount\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      accountTier: Standard\n      accountReplicationType: GRS\n  exampleKey:\n    type: azure:keyvault:Key\n    name: example\n    properties:\n      name: workspaceexamplekeyvaultkey\n      keyVaultId: ${exampleKeyVault.id}\n      keyType: RSA\n      keySize: 2048\n      keyOpts:\n        - decrypt\n        - encrypt\n        - sign\n        - unwrapKey\n        - verify\n        - wrapKey\n    options:\n      dependsOn:\n        - ${exampleKeyVault}\n        - ${exampleAccessPolicy}\n  exampleWorkspace:\n    type: azure:machinelearning:Workspace\n    name: example\n    properties:\n      name: example-workspace\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      applicationInsightsId: ${exampleInsights.id}\n      keyVaultId: ${exampleKeyVault.id}\n      storageAccountId: ${exampleAccount.id}\n      identity:\n        type: SystemAssigned\n      encryption:\n        keyVaultId: ${exampleKeyVault.id}\n        keyId: ${exampleKey.id}\nvariables:\n  current:\n    fn::invoke:\n      function: azure:core:getClientConfig\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\n## Import\n\nMachine Learning Workspace can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:machinelearning/workspace:Workspace example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.MachineLearningServices/workspaces/workspace1\n```\n\n","properties":{"applicationInsightsId":{"type":"string","description":"The ID of the Application Insights associated with this Machine Learning Workspace. Changing this forces a new resource to be created.\n"},"containerRegistryId":{"type":"string","description":"The ID of the container registry associated with this Machine Learning Workspace. Changing this forces a new resource to be created.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`adminEnabled`\" pulumi-lang-dotnet=\"`AdminEnabled`\" pulumi-lang-go=\"`adminEnabled`\" pulumi-lang-python=\"`admin_enabled`\" pulumi-lang-yaml=\"`adminEnabled`\" pulumi-lang-java=\"`adminEnabled`\"\u003e`admin_enabled`\u003c/span\u003e should be \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e in order to associate the Container Registry to this Machine Learning Workspace.\n"},"description":{"type":"string","description":"The description of this Machine Learning Workspace.\n"},"discoveryUrl":{"type":"string","description":"The url for the discovery service to identify regional endpoints for machine learning experimentation services.\n"},"encryption":{"$ref":"#/types/azure:machinelearning/WorkspaceEncryption:WorkspaceEncryption","description":"An \u003cspan pulumi-lang-nodejs=\"`encryption`\" pulumi-lang-dotnet=\"`Encryption`\" pulumi-lang-go=\"`encryption`\" pulumi-lang-python=\"`encryption`\" pulumi-lang-yaml=\"`encryption`\" pulumi-lang-java=\"`encryption`\"\u003e`encryption`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n"},"featureStore":{"$ref":"#/types/azure:machinelearning/WorkspaceFeatureStore:WorkspaceFeatureStore","description":"A \u003cspan pulumi-lang-nodejs=\"`featureStore`\" pulumi-lang-dotnet=\"`FeatureStore`\" pulumi-lang-go=\"`featureStore`\" pulumi-lang-python=\"`feature_store`\" pulumi-lang-yaml=\"`featureStore`\" pulumi-lang-java=\"`featureStore`\"\u003e`feature_store`\u003c/span\u003e block as defined below.\n"},"friendlyName":{"type":"string","description":"Display name for this Machine Learning Workspace.\n"},"highBusinessImpact":{"type":"boolean","description":"Flag to signal High Business Impact (HBI) data in the workspace and reduce diagnostic data collected by the service. Changing this forces a new resource to be created.\n"},"identity":{"$ref":"#/types/azure:machinelearning/WorkspaceIdentity:WorkspaceIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"imageBuildComputeName":{"type":"string","description":"The compute name for image build of the Machine Learning Workspace.\n"},"keyVaultId":{"type":"string","description":"The ID of key vault associated with this Machine Learning Workspace. Changing this forces a new resource to be created.\n"},"kind":{"type":"string","description":"The type of the Workspace. Possible values are `Default`, `FeatureStore`. Defaults to `Default`\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the Machine Learning Workspace should exist. Changing this forces a new resource to be created.\n"},"managedNetwork":{"$ref":"#/types/azure:machinelearning/WorkspaceManagedNetwork:WorkspaceManagedNetwork","description":"A \u003cspan pulumi-lang-nodejs=\"`managedNetwork`\" pulumi-lang-dotnet=\"`ManagedNetwork`\" pulumi-lang-go=\"`managedNetwork`\" pulumi-lang-python=\"`managed_network`\" pulumi-lang-yaml=\"`managedNetwork`\" pulumi-lang-java=\"`managedNetwork`\"\u003e`managed_network`\u003c/span\u003e block as defined below.\n"},"name":{"type":"string","description":"Specifies the name of the Machine Learning Workspace. Changing this forces a new resource to be created.\n"},"primaryUserAssignedIdentity":{"type":"string","description":"The user assigned identity id that represents the workspace identity.\n"},"publicNetworkAccessEnabled":{"type":"boolean","description":"Enable public access when this Machine Learning Workspace is behind VNet. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`publicAccessBehindVirtualNetworkEnabled`\" pulumi-lang-dotnet=\"`PublicAccessBehindVirtualNetworkEnabled`\" pulumi-lang-go=\"`publicAccessBehindVirtualNetworkEnabled`\" pulumi-lang-python=\"`public_access_behind_virtual_network_enabled`\" pulumi-lang-yaml=\"`publicAccessBehindVirtualNetworkEnabled`\" pulumi-lang-java=\"`publicAccessBehindVirtualNetworkEnabled`\"\u003e`public_access_behind_virtual_network_enabled`\u003c/span\u003e is deprecated and will be removed in favour of the property \u003cspan pulumi-lang-nodejs=\"`publicNetworkAccessEnabled`\" pulumi-lang-dotnet=\"`PublicNetworkAccessEnabled`\" pulumi-lang-go=\"`publicNetworkAccessEnabled`\" pulumi-lang-python=\"`public_network_access_enabled`\" pulumi-lang-yaml=\"`publicNetworkAccessEnabled`\" pulumi-lang-java=\"`publicNetworkAccessEnabled`\"\u003e`public_network_access_enabled`\u003c/span\u003e.\n"},"resourceGroupName":{"type":"string","description":"Specifies the name of the Resource Group in which the Machine Learning Workspace should exist. Changing this forces a new resource to be created.\n"},"serverlessCompute":{"$ref":"#/types/azure:machinelearning/WorkspaceServerlessCompute:WorkspaceServerlessCompute","description":"A \u003cspan pulumi-lang-nodejs=\"`serverlessCompute`\" pulumi-lang-dotnet=\"`ServerlessCompute`\" pulumi-lang-go=\"`serverlessCompute`\" pulumi-lang-python=\"`serverless_compute`\" pulumi-lang-yaml=\"`serverlessCompute`\" pulumi-lang-java=\"`serverlessCompute`\"\u003e`serverless_compute`\u003c/span\u003e block as defined below.\n"},"serviceSideEncryptionEnabled":{"type":"boolean","description":"Whether to enable service-side encryption with customer-managed keys (CMK). Default to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Changing this forces a new resource to be created.\n\n!\u003e **Note:** Setting \u003cspan pulumi-lang-nodejs=\"`serviceSideEncryptionEnabled`\" pulumi-lang-dotnet=\"`ServiceSideEncryptionEnabled`\" pulumi-lang-go=\"`serviceSideEncryptionEnabled`\" pulumi-lang-python=\"`service_side_encryption_enabled`\" pulumi-lang-yaml=\"`serviceSideEncryptionEnabled`\" pulumi-lang-java=\"`serviceSideEncryptionEnabled`\"\u003e`service_side_encryption_enabled`\u003c/span\u003e requires the \u003cspan pulumi-lang-nodejs=\"`encryption`\" pulumi-lang-dotnet=\"`Encryption`\" pulumi-lang-go=\"`encryption`\" pulumi-lang-python=\"`encryption`\" pulumi-lang-yaml=\"`encryption`\" pulumi-lang-java=\"`encryption`\"\u003e`encryption`\u003c/span\u003e block to be set. When you use service-side encryption, Azure charges will continue to accrue during the soft delete retention period.\n"},"skuName":{"type":"string","description":"SKU/edition of the Machine Learning Workspace, possible values are `Free`, `Basic`, `Standard` and `Premium`. Defaults to `Basic`.\n"},"storageAccountId":{"type":"string","description":"The ID of the Storage Account associated with this Machine Learning Workspace. Changing this forces a new resource to be created.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`accountTier`\" pulumi-lang-dotnet=\"`AccountTier`\" pulumi-lang-go=\"`accountTier`\" pulumi-lang-python=\"`account_tier`\" pulumi-lang-yaml=\"`accountTier`\" pulumi-lang-java=\"`accountTier`\"\u003e`account_tier`\u003c/span\u003e cannot be `Premium` in order to associate the Storage Account to this Machine Learning Workspace.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"v1LegacyModeEnabled":{"type":"boolean","description":"Enable V1 API features, enabling \u003cspan pulumi-lang-nodejs=\"`v1LegacyMode`\" pulumi-lang-dotnet=\"`V1LegacyMode`\" pulumi-lang-go=\"`v1LegacyMode`\" pulumi-lang-python=\"`v1_legacy_mode`\" pulumi-lang-yaml=\"`v1LegacyMode`\" pulumi-lang-java=\"`v1LegacyMode`\"\u003e`v1_legacy_mode`\u003c/span\u003e may prevent you from using features provided by the v2 API. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"workspaceId":{"type":"string","description":"The immutable id associated with this workspace.\n"}},"required":["applicationInsightsId","discoveryUrl","identity","keyVaultId","location","managedNetwork","name","resourceGroupName","storageAccountId","workspaceId"],"inputProperties":{"applicationInsightsId":{"type":"string","description":"The ID of the Application Insights associated with this Machine Learning Workspace. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"containerRegistryId":{"type":"string","description":"The ID of the container registry associated with this Machine Learning Workspace. Changing this forces a new resource to be created.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`adminEnabled`\" pulumi-lang-dotnet=\"`AdminEnabled`\" pulumi-lang-go=\"`adminEnabled`\" pulumi-lang-python=\"`admin_enabled`\" pulumi-lang-yaml=\"`adminEnabled`\" pulumi-lang-java=\"`adminEnabled`\"\u003e`admin_enabled`\u003c/span\u003e should be \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e in order to associate the Container Registry to this Machine Learning Workspace.\n","willReplaceOnChanges":true},"description":{"type":"string","description":"The description of this Machine Learning Workspace.\n"},"encryption":{"$ref":"#/types/azure:machinelearning/WorkspaceEncryption:WorkspaceEncryption","description":"An \u003cspan pulumi-lang-nodejs=\"`encryption`\" pulumi-lang-dotnet=\"`Encryption`\" pulumi-lang-go=\"`encryption`\" pulumi-lang-python=\"`encryption`\" pulumi-lang-yaml=\"`encryption`\" pulumi-lang-java=\"`encryption`\"\u003e`encryption`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"featureStore":{"$ref":"#/types/azure:machinelearning/WorkspaceFeatureStore:WorkspaceFeatureStore","description":"A \u003cspan pulumi-lang-nodejs=\"`featureStore`\" pulumi-lang-dotnet=\"`FeatureStore`\" pulumi-lang-go=\"`featureStore`\" pulumi-lang-python=\"`feature_store`\" pulumi-lang-yaml=\"`featureStore`\" pulumi-lang-java=\"`featureStore`\"\u003e`feature_store`\u003c/span\u003e block as defined below.\n"},"friendlyName":{"type":"string","description":"Display name for this Machine Learning Workspace.\n"},"highBusinessImpact":{"type":"boolean","description":"Flag to signal High Business Impact (HBI) data in the workspace and reduce diagnostic data collected by the service. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"identity":{"$ref":"#/types/azure:machinelearning/WorkspaceIdentity:WorkspaceIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"imageBuildComputeName":{"type":"string","description":"The compute name for image build of the Machine Learning Workspace.\n"},"keyVaultId":{"type":"string","description":"The ID of key vault associated with this Machine Learning Workspace. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"kind":{"type":"string","description":"The type of the Workspace. Possible values are `Default`, `FeatureStore`. Defaults to `Default`\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the Machine Learning Workspace should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"managedNetwork":{"$ref":"#/types/azure:machinelearning/WorkspaceManagedNetwork:WorkspaceManagedNetwork","description":"A \u003cspan pulumi-lang-nodejs=\"`managedNetwork`\" pulumi-lang-dotnet=\"`ManagedNetwork`\" pulumi-lang-go=\"`managedNetwork`\" pulumi-lang-python=\"`managed_network`\" pulumi-lang-yaml=\"`managedNetwork`\" pulumi-lang-java=\"`managedNetwork`\"\u003e`managed_network`\u003c/span\u003e block as defined below.\n"},"name":{"type":"string","description":"Specifies the name of the Machine Learning Workspace. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"primaryUserAssignedIdentity":{"type":"string","description":"The user assigned identity id that represents the workspace identity.\n"},"publicNetworkAccessEnabled":{"type":"boolean","description":"Enable public access when this Machine Learning Workspace is behind VNet. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`publicAccessBehindVirtualNetworkEnabled`\" pulumi-lang-dotnet=\"`PublicAccessBehindVirtualNetworkEnabled`\" pulumi-lang-go=\"`publicAccessBehindVirtualNetworkEnabled`\" pulumi-lang-python=\"`public_access_behind_virtual_network_enabled`\" pulumi-lang-yaml=\"`publicAccessBehindVirtualNetworkEnabled`\" pulumi-lang-java=\"`publicAccessBehindVirtualNetworkEnabled`\"\u003e`public_access_behind_virtual_network_enabled`\u003c/span\u003e is deprecated and will be removed in favour of the property \u003cspan pulumi-lang-nodejs=\"`publicNetworkAccessEnabled`\" pulumi-lang-dotnet=\"`PublicNetworkAccessEnabled`\" pulumi-lang-go=\"`publicNetworkAccessEnabled`\" pulumi-lang-python=\"`public_network_access_enabled`\" pulumi-lang-yaml=\"`publicNetworkAccessEnabled`\" pulumi-lang-java=\"`publicNetworkAccessEnabled`\"\u003e`public_network_access_enabled`\u003c/span\u003e.\n"},"resourceGroupName":{"type":"string","description":"Specifies the name of the Resource Group in which the Machine Learning Workspace should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"serverlessCompute":{"$ref":"#/types/azure:machinelearning/WorkspaceServerlessCompute:WorkspaceServerlessCompute","description":"A \u003cspan pulumi-lang-nodejs=\"`serverlessCompute`\" pulumi-lang-dotnet=\"`ServerlessCompute`\" pulumi-lang-go=\"`serverlessCompute`\" pulumi-lang-python=\"`serverless_compute`\" pulumi-lang-yaml=\"`serverlessCompute`\" pulumi-lang-java=\"`serverlessCompute`\"\u003e`serverless_compute`\u003c/span\u003e block as defined below.\n"},"serviceSideEncryptionEnabled":{"type":"boolean","description":"Whether to enable service-side encryption with customer-managed keys (CMK). Default to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Changing this forces a new resource to be created.\n\n!\u003e **Note:** Setting \u003cspan pulumi-lang-nodejs=\"`serviceSideEncryptionEnabled`\" pulumi-lang-dotnet=\"`ServiceSideEncryptionEnabled`\" pulumi-lang-go=\"`serviceSideEncryptionEnabled`\" pulumi-lang-python=\"`service_side_encryption_enabled`\" pulumi-lang-yaml=\"`serviceSideEncryptionEnabled`\" pulumi-lang-java=\"`serviceSideEncryptionEnabled`\"\u003e`service_side_encryption_enabled`\u003c/span\u003e requires the \u003cspan pulumi-lang-nodejs=\"`encryption`\" pulumi-lang-dotnet=\"`Encryption`\" pulumi-lang-go=\"`encryption`\" pulumi-lang-python=\"`encryption`\" pulumi-lang-yaml=\"`encryption`\" pulumi-lang-java=\"`encryption`\"\u003e`encryption`\u003c/span\u003e block to be set. When you use service-side encryption, Azure charges will continue to accrue during the soft delete retention period.\n","willReplaceOnChanges":true},"skuName":{"type":"string","description":"SKU/edition of the Machine Learning Workspace, possible values are `Free`, `Basic`, `Standard` and `Premium`. Defaults to `Basic`.\n"},"storageAccountId":{"type":"string","description":"The ID of the Storage Account associated with this Machine Learning Workspace. Changing this forces a new resource to be created.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`accountTier`\" pulumi-lang-dotnet=\"`AccountTier`\" pulumi-lang-go=\"`accountTier`\" pulumi-lang-python=\"`account_tier`\" pulumi-lang-yaml=\"`accountTier`\" pulumi-lang-java=\"`accountTier`\"\u003e`account_tier`\u003c/span\u003e cannot be `Premium` in order to associate the Storage Account to this Machine Learning Workspace.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"v1LegacyModeEnabled":{"type":"boolean","description":"Enable V1 API features, enabling \u003cspan pulumi-lang-nodejs=\"`v1LegacyMode`\" pulumi-lang-dotnet=\"`V1LegacyMode`\" pulumi-lang-go=\"`v1LegacyMode`\" pulumi-lang-python=\"`v1_legacy_mode`\" pulumi-lang-yaml=\"`v1LegacyMode`\" pulumi-lang-java=\"`v1LegacyMode`\"\u003e`v1_legacy_mode`\u003c/span\u003e may prevent you from using features provided by the v2 API. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"}},"requiredInputs":["applicationInsightsId","identity","keyVaultId","resourceGroupName","storageAccountId"],"stateInputs":{"description":"Input properties used for looking up and filtering Workspace resources.\n","properties":{"applicationInsightsId":{"type":"string","description":"The ID of the Application Insights associated with this Machine Learning Workspace. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"containerRegistryId":{"type":"string","description":"The ID of the container registry associated with this Machine Learning Workspace. Changing this forces a new resource to be created.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`adminEnabled`\" pulumi-lang-dotnet=\"`AdminEnabled`\" pulumi-lang-go=\"`adminEnabled`\" pulumi-lang-python=\"`admin_enabled`\" pulumi-lang-yaml=\"`adminEnabled`\" pulumi-lang-java=\"`adminEnabled`\"\u003e`admin_enabled`\u003c/span\u003e should be \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e in order to associate the Container Registry to this Machine Learning Workspace.\n","willReplaceOnChanges":true},"description":{"type":"string","description":"The description of this Machine Learning Workspace.\n"},"discoveryUrl":{"type":"string","description":"The url for the discovery service to identify regional endpoints for machine learning experimentation services.\n"},"encryption":{"$ref":"#/types/azure:machinelearning/WorkspaceEncryption:WorkspaceEncryption","description":"An \u003cspan pulumi-lang-nodejs=\"`encryption`\" pulumi-lang-dotnet=\"`Encryption`\" pulumi-lang-go=\"`encryption`\" pulumi-lang-python=\"`encryption`\" pulumi-lang-yaml=\"`encryption`\" pulumi-lang-java=\"`encryption`\"\u003e`encryption`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"featureStore":{"$ref":"#/types/azure:machinelearning/WorkspaceFeatureStore:WorkspaceFeatureStore","description":"A \u003cspan pulumi-lang-nodejs=\"`featureStore`\" pulumi-lang-dotnet=\"`FeatureStore`\" pulumi-lang-go=\"`featureStore`\" pulumi-lang-python=\"`feature_store`\" pulumi-lang-yaml=\"`featureStore`\" pulumi-lang-java=\"`featureStore`\"\u003e`feature_store`\u003c/span\u003e block as defined below.\n"},"friendlyName":{"type":"string","description":"Display name for this Machine Learning Workspace.\n"},"highBusinessImpact":{"type":"boolean","description":"Flag to signal High Business Impact (HBI) data in the workspace and reduce diagnostic data collected by the service. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"identity":{"$ref":"#/types/azure:machinelearning/WorkspaceIdentity:WorkspaceIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"imageBuildComputeName":{"type":"string","description":"The compute name for image build of the Machine Learning Workspace.\n"},"keyVaultId":{"type":"string","description":"The ID of key vault associated with this Machine Learning Workspace. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"kind":{"type":"string","description":"The type of the Workspace. Possible values are `Default`, `FeatureStore`. Defaults to `Default`\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the Machine Learning Workspace should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"managedNetwork":{"$ref":"#/types/azure:machinelearning/WorkspaceManagedNetwork:WorkspaceManagedNetwork","description":"A \u003cspan pulumi-lang-nodejs=\"`managedNetwork`\" pulumi-lang-dotnet=\"`ManagedNetwork`\" pulumi-lang-go=\"`managedNetwork`\" pulumi-lang-python=\"`managed_network`\" pulumi-lang-yaml=\"`managedNetwork`\" pulumi-lang-java=\"`managedNetwork`\"\u003e`managed_network`\u003c/span\u003e block as defined below.\n"},"name":{"type":"string","description":"Specifies the name of the Machine Learning Workspace. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"primaryUserAssignedIdentity":{"type":"string","description":"The user assigned identity id that represents the workspace identity.\n"},"publicNetworkAccessEnabled":{"type":"boolean","description":"Enable public access when this Machine Learning Workspace is behind VNet. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`publicAccessBehindVirtualNetworkEnabled`\" pulumi-lang-dotnet=\"`PublicAccessBehindVirtualNetworkEnabled`\" pulumi-lang-go=\"`publicAccessBehindVirtualNetworkEnabled`\" pulumi-lang-python=\"`public_access_behind_virtual_network_enabled`\" pulumi-lang-yaml=\"`publicAccessBehindVirtualNetworkEnabled`\" pulumi-lang-java=\"`publicAccessBehindVirtualNetworkEnabled`\"\u003e`public_access_behind_virtual_network_enabled`\u003c/span\u003e is deprecated and will be removed in favour of the property \u003cspan pulumi-lang-nodejs=\"`publicNetworkAccessEnabled`\" pulumi-lang-dotnet=\"`PublicNetworkAccessEnabled`\" pulumi-lang-go=\"`publicNetworkAccessEnabled`\" pulumi-lang-python=\"`public_network_access_enabled`\" pulumi-lang-yaml=\"`publicNetworkAccessEnabled`\" pulumi-lang-java=\"`publicNetworkAccessEnabled`\"\u003e`public_network_access_enabled`\u003c/span\u003e.\n"},"resourceGroupName":{"type":"string","description":"Specifies the name of the Resource Group in which the Machine Learning Workspace should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"serverlessCompute":{"$ref":"#/types/azure:machinelearning/WorkspaceServerlessCompute:WorkspaceServerlessCompute","description":"A \u003cspan pulumi-lang-nodejs=\"`serverlessCompute`\" pulumi-lang-dotnet=\"`ServerlessCompute`\" pulumi-lang-go=\"`serverlessCompute`\" pulumi-lang-python=\"`serverless_compute`\" pulumi-lang-yaml=\"`serverlessCompute`\" pulumi-lang-java=\"`serverlessCompute`\"\u003e`serverless_compute`\u003c/span\u003e block as defined below.\n"},"serviceSideEncryptionEnabled":{"type":"boolean","description":"Whether to enable service-side encryption with customer-managed keys (CMK). Default to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Changing this forces a new resource to be created.\n\n!\u003e **Note:** Setting \u003cspan pulumi-lang-nodejs=\"`serviceSideEncryptionEnabled`\" pulumi-lang-dotnet=\"`ServiceSideEncryptionEnabled`\" pulumi-lang-go=\"`serviceSideEncryptionEnabled`\" pulumi-lang-python=\"`service_side_encryption_enabled`\" pulumi-lang-yaml=\"`serviceSideEncryptionEnabled`\" pulumi-lang-java=\"`serviceSideEncryptionEnabled`\"\u003e`service_side_encryption_enabled`\u003c/span\u003e requires the \u003cspan pulumi-lang-nodejs=\"`encryption`\" pulumi-lang-dotnet=\"`Encryption`\" pulumi-lang-go=\"`encryption`\" pulumi-lang-python=\"`encryption`\" pulumi-lang-yaml=\"`encryption`\" pulumi-lang-java=\"`encryption`\"\u003e`encryption`\u003c/span\u003e block to be set. When you use service-side encryption, Azure charges will continue to accrue during the soft delete retention period.\n","willReplaceOnChanges":true},"skuName":{"type":"string","description":"SKU/edition of the Machine Learning Workspace, possible values are `Free`, `Basic`, `Standard` and `Premium`. Defaults to `Basic`.\n"},"storageAccountId":{"type":"string","description":"The ID of the Storage Account associated with this Machine Learning Workspace. Changing this forces a new resource to be created.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`accountTier`\" pulumi-lang-dotnet=\"`AccountTier`\" pulumi-lang-go=\"`accountTier`\" pulumi-lang-python=\"`account_tier`\" pulumi-lang-yaml=\"`accountTier`\" pulumi-lang-java=\"`accountTier`\"\u003e`account_tier`\u003c/span\u003e cannot be `Premium` in order to associate the Storage Account to this Machine Learning Workspace.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"v1LegacyModeEnabled":{"type":"boolean","description":"Enable V1 API features, enabling \u003cspan pulumi-lang-nodejs=\"`v1LegacyMode`\" pulumi-lang-dotnet=\"`V1LegacyMode`\" pulumi-lang-go=\"`v1LegacyMode`\" pulumi-lang-python=\"`v1_legacy_mode`\" pulumi-lang-yaml=\"`v1LegacyMode`\" pulumi-lang-java=\"`v1LegacyMode`\"\u003e`v1_legacy_mode`\u003c/span\u003e may prevent you from using features provided by the v2 API. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"workspaceId":{"type":"string","description":"The immutable id associated with this workspace.\n"}},"type":"object"}},"azure:machinelearning/workspaceNetworkOutboundRuleFqdn:WorkspaceNetworkOutboundRuleFqdn":{"description":"Manages an Azure Machine Learning Workspace FQDN Network Outbound Rule.\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst current = azure.core.getClientConfig({});\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleInsights = new azure.appinsights.Insights(\"example\", {\n    name: \"workspace-example-ai\",\n    location: example.location,\n    resourceGroupName: example.name,\n    applicationType: \"web\",\n});\nconst exampleKeyVault = new azure.keyvault.KeyVault(\"example\", {\n    name: \"workspaceexamplekeyvault\",\n    location: example.location,\n    resourceGroupName: example.name,\n    tenantId: current.then(current =\u003e current.tenantId),\n    skuName: \"premium\",\n});\nconst exampleAccount = new azure.storage.Account(\"example\", {\n    name: \"workspacestorageaccount\",\n    location: example.location,\n    resourceGroupName: example.name,\n    accountTier: \"Standard\",\n    accountReplicationType: \"GRS\",\n});\nconst exampleWorkspace = new azure.machinelearning.Workspace(\"example\", {\n    name: \"example-workspace\",\n    location: example.location,\n    resourceGroupName: example.name,\n    applicationInsightsId: exampleInsights.id,\n    keyVaultId: exampleKeyVault.id,\n    storageAccountId: exampleAccount.id,\n    managedNetwork: {\n        isolationMode: \"AllowOnlyApprovedOutbound\",\n    },\n    identity: {\n        type: \"SystemAssigned\",\n    },\n});\nconst exampleWorkspaceNetworkOutboundRuleFqdn = new azure.machinelearning.WorkspaceNetworkOutboundRuleFqdn(\"example\", {\n    name: \"example-outboundrule\",\n    workspaceId: exampleWorkspace.id,\n    destinationFqdn: \"example.com\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\ncurrent = azure.core.get_client_config()\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_insights = azure.appinsights.Insights(\"example\",\n    name=\"workspace-example-ai\",\n    location=example.location,\n    resource_group_name=example.name,\n    application_type=\"web\")\nexample_key_vault = azure.keyvault.KeyVault(\"example\",\n    name=\"workspaceexamplekeyvault\",\n    location=example.location,\n    resource_group_name=example.name,\n    tenant_id=current.tenant_id,\n    sku_name=\"premium\")\nexample_account = azure.storage.Account(\"example\",\n    name=\"workspacestorageaccount\",\n    location=example.location,\n    resource_group_name=example.name,\n    account_tier=\"Standard\",\n    account_replication_type=\"GRS\")\nexample_workspace = azure.machinelearning.Workspace(\"example\",\n    name=\"example-workspace\",\n    location=example.location,\n    resource_group_name=example.name,\n    application_insights_id=example_insights.id,\n    key_vault_id=example_key_vault.id,\n    storage_account_id=example_account.id,\n    managed_network={\n        \"isolation_mode\": \"AllowOnlyApprovedOutbound\",\n    },\n    identity={\n        \"type\": \"SystemAssigned\",\n    })\nexample_workspace_network_outbound_rule_fqdn = azure.machinelearning.WorkspaceNetworkOutboundRuleFqdn(\"example\",\n    name=\"example-outboundrule\",\n    workspace_id=example_workspace.id,\n    destination_fqdn=\"example.com\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var current = Azure.Core.GetClientConfig.Invoke();\n\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleInsights = new Azure.AppInsights.Insights(\"example\", new()\n    {\n        Name = \"workspace-example-ai\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        ApplicationType = \"web\",\n    });\n\n    var exampleKeyVault = new Azure.KeyVault.KeyVault(\"example\", new()\n    {\n        Name = \"workspaceexamplekeyvault\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        TenantId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.TenantId),\n        SkuName = \"premium\",\n    });\n\n    var exampleAccount = new Azure.Storage.Account(\"example\", new()\n    {\n        Name = \"workspacestorageaccount\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        AccountTier = \"Standard\",\n        AccountReplicationType = \"GRS\",\n    });\n\n    var exampleWorkspace = new Azure.MachineLearning.Workspace(\"example\", new()\n    {\n        Name = \"example-workspace\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        ApplicationInsightsId = exampleInsights.Id,\n        KeyVaultId = exampleKeyVault.Id,\n        StorageAccountId = exampleAccount.Id,\n        ManagedNetwork = new Azure.MachineLearning.Inputs.WorkspaceManagedNetworkArgs\n        {\n            IsolationMode = \"AllowOnlyApprovedOutbound\",\n        },\n        Identity = new Azure.MachineLearning.Inputs.WorkspaceIdentityArgs\n        {\n            Type = \"SystemAssigned\",\n        },\n    });\n\n    var exampleWorkspaceNetworkOutboundRuleFqdn = new Azure.MachineLearning.WorkspaceNetworkOutboundRuleFqdn(\"example\", new()\n    {\n        Name = \"example-outboundrule\",\n        WorkspaceId = exampleWorkspace.Id,\n        DestinationFqdn = \"example.com\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/appinsights\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/keyvault\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/machinelearning\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := core.GetClientConfig(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleInsights, err := appinsights.NewInsights(ctx, \"example\", \u0026appinsights.InsightsArgs{\n\t\t\tName:              pulumi.String(\"workspace-example-ai\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tApplicationType:   pulumi.String(\"web\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleKeyVault, err := keyvault.NewKeyVault(ctx, \"example\", \u0026keyvault.KeyVaultArgs{\n\t\t\tName:              pulumi.String(\"workspaceexamplekeyvault\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tTenantId:          pulumi.String(current.TenantId),\n\t\t\tSkuName:           pulumi.String(\"premium\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := storage.NewAccount(ctx, \"example\", \u0026storage.AccountArgs{\n\t\t\tName:                   pulumi.String(\"workspacestorageaccount\"),\n\t\t\tLocation:               example.Location,\n\t\t\tResourceGroupName:      example.Name,\n\t\t\tAccountTier:            pulumi.String(\"Standard\"),\n\t\t\tAccountReplicationType: pulumi.String(\"GRS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleWorkspace, err := machinelearning.NewWorkspace(ctx, \"example\", \u0026machinelearning.WorkspaceArgs{\n\t\t\tName:                  pulumi.String(\"example-workspace\"),\n\t\t\tLocation:              example.Location,\n\t\t\tResourceGroupName:     example.Name,\n\t\t\tApplicationInsightsId: exampleInsights.ID(),\n\t\t\tKeyVaultId:            exampleKeyVault.ID(),\n\t\t\tStorageAccountId:      exampleAccount.ID(),\n\t\t\tManagedNetwork: \u0026machinelearning.WorkspaceManagedNetworkArgs{\n\t\t\t\tIsolationMode: pulumi.String(\"AllowOnlyApprovedOutbound\"),\n\t\t\t},\n\t\t\tIdentity: \u0026machinelearning.WorkspaceIdentityArgs{\n\t\t\t\tType: pulumi.String(\"SystemAssigned\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = machinelearning.NewWorkspaceNetworkOutboundRuleFqdn(ctx, \"example\", \u0026machinelearning.WorkspaceNetworkOutboundRuleFqdnArgs{\n\t\t\tName:            pulumi.String(\"example-outboundrule\"),\n\t\t\tWorkspaceId:     exampleWorkspace.ID(),\n\t\t\tDestinationFqdn: pulumi.String(\"example.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.appinsights.Insights;\nimport com.pulumi.azure.appinsights.InsightsArgs;\nimport com.pulumi.azure.keyvault.KeyVault;\nimport com.pulumi.azure.keyvault.KeyVaultArgs;\nimport com.pulumi.azure.storage.Account;\nimport com.pulumi.azure.storage.AccountArgs;\nimport com.pulumi.azure.machinelearning.Workspace;\nimport com.pulumi.azure.machinelearning.WorkspaceArgs;\nimport com.pulumi.azure.machinelearning.inputs.WorkspaceManagedNetworkArgs;\nimport com.pulumi.azure.machinelearning.inputs.WorkspaceIdentityArgs;\nimport com.pulumi.azure.machinelearning.WorkspaceNetworkOutboundRuleFqdn;\nimport com.pulumi.azure.machinelearning.WorkspaceNetworkOutboundRuleFqdnArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var current = CoreFunctions.getClientConfig(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleInsights = new Insights(\"exampleInsights\", InsightsArgs.builder()\n            .name(\"workspace-example-ai\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .applicationType(\"web\")\n            .build());\n\n        var exampleKeyVault = new KeyVault(\"exampleKeyVault\", KeyVaultArgs.builder()\n            .name(\"workspaceexamplekeyvault\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .tenantId(current.tenantId())\n            .skuName(\"premium\")\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"workspacestorageaccount\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .accountTier(\"Standard\")\n            .accountReplicationType(\"GRS\")\n            .build());\n\n        var exampleWorkspace = new Workspace(\"exampleWorkspace\", WorkspaceArgs.builder()\n            .name(\"example-workspace\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .applicationInsightsId(exampleInsights.id())\n            .keyVaultId(exampleKeyVault.id())\n            .storageAccountId(exampleAccount.id())\n            .managedNetwork(WorkspaceManagedNetworkArgs.builder()\n                .isolationMode(\"AllowOnlyApprovedOutbound\")\n                .build())\n            .identity(WorkspaceIdentityArgs.builder()\n                .type(\"SystemAssigned\")\n                .build())\n            .build());\n\n        var exampleWorkspaceNetworkOutboundRuleFqdn = new WorkspaceNetworkOutboundRuleFqdn(\"exampleWorkspaceNetworkOutboundRuleFqdn\", WorkspaceNetworkOutboundRuleFqdnArgs.builder()\n            .name(\"example-outboundrule\")\n            .workspaceId(exampleWorkspace.id())\n            .destinationFqdn(\"example.com\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleInsights:\n    type: azure:appinsights:Insights\n    name: example\n    properties:\n      name: workspace-example-ai\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      applicationType: web\n  exampleKeyVault:\n    type: azure:keyvault:KeyVault\n    name: example\n    properties:\n      name: workspaceexamplekeyvault\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      tenantId: ${current.tenantId}\n      skuName: premium\n  exampleAccount:\n    type: azure:storage:Account\n    name: example\n    properties:\n      name: workspacestorageaccount\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      accountTier: Standard\n      accountReplicationType: GRS\n  exampleWorkspace:\n    type: azure:machinelearning:Workspace\n    name: example\n    properties:\n      name: example-workspace\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      applicationInsightsId: ${exampleInsights.id}\n      keyVaultId: ${exampleKeyVault.id}\n      storageAccountId: ${exampleAccount.id}\n      managedNetwork:\n        isolationMode: AllowOnlyApprovedOutbound\n      identity:\n        type: SystemAssigned\n  exampleWorkspaceNetworkOutboundRuleFqdn:\n    type: azure:machinelearning:WorkspaceNetworkOutboundRuleFqdn\n    name: example\n    properties:\n      name: example-outboundrule\n      workspaceId: ${exampleWorkspace.id}\n      destinationFqdn: example.com\nvariables:\n  current:\n    fn::invoke:\n      function: azure:core:getClientConfig\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.MachineLearningServices` - 2025-06-01\n\n## Import\n\nMachine Learning Workspace FQDN Network Outbound Rule can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:machinelearning/workspaceNetworkOutboundRuleFqdn:WorkspaceNetworkOutboundRuleFqdn example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.MachineLearningServices/workspaces/workspace1/outboundRules/rule1\n```\n\n","properties":{"destinationFqdn":{"type":"string","description":"Specifies the fully qualified domain name to allow for outbound traffic.\n"},"name":{"type":"string","description":"Specifies the name of the Machine Learning Workspace FQDN Network Outbound Rule. Changing this forces a new resource to be created.\n"},"workspaceId":{"type":"string","description":"Specifies the ID of the Machine Learning Workspace. Changing this forces a new resource to be created.\n"}},"required":["destinationFqdn","name","workspaceId"],"inputProperties":{"destinationFqdn":{"type":"string","description":"Specifies the fully qualified domain name to allow for outbound traffic.\n"},"name":{"type":"string","description":"Specifies the name of the Machine Learning Workspace FQDN Network Outbound Rule. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"workspaceId":{"type":"string","description":"Specifies the ID of the Machine Learning Workspace. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["destinationFqdn","workspaceId"],"stateInputs":{"description":"Input properties used for looking up and filtering WorkspaceNetworkOutboundRuleFqdn resources.\n","properties":{"destinationFqdn":{"type":"string","description":"Specifies the fully qualified domain name to allow for outbound traffic.\n"},"name":{"type":"string","description":"Specifies the name of the Machine Learning Workspace FQDN Network Outbound Rule. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"workspaceId":{"type":"string","description":"Specifies the ID of the Machine Learning Workspace. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:machinelearning/workspaceNetworkOutboundRulePrivateEndpoint:WorkspaceNetworkOutboundRulePrivateEndpoint":{"description":"Manages an Azure Machine Learning Workspace Network Outbound Rule Private Endpoint.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst current = azure.core.getClientConfig({});\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleInsights = new azure.appinsights.Insights(\"example\", {\n    name: \"workspace-example-ai\",\n    location: example.location,\n    resourceGroupName: example.name,\n    applicationType: \"web\",\n});\nconst exampleKeyVault = new azure.keyvault.KeyVault(\"example\", {\n    name: \"workspaceexamplekeyvault\",\n    location: example.location,\n    resourceGroupName: example.name,\n    tenantId: current.then(current =\u003e current.tenantId),\n    skuName: \"premium\",\n});\nconst exampleAccount = new azure.storage.Account(\"example\", {\n    name: \"workspacestorageaccount\",\n    location: example.location,\n    resourceGroupName: example.name,\n    accountTier: \"Standard\",\n    accountReplicationType: \"GRS\",\n});\nconst exampleWorkspace = new azure.machinelearning.Workspace(\"example\", {\n    name: \"example-workspace\",\n    location: example.location,\n    resourceGroupName: example.name,\n    applicationInsightsId: exampleInsights.id,\n    keyVaultId: exampleKeyVault.id,\n    storageAccountId: exampleAccount.id,\n    managedNetwork: {\n        isolationMode: \"AllowOnlyApprovedOutbound\",\n    },\n    identity: {\n        type: \"SystemAssigned\",\n    },\n});\nconst example2 = new azure.storage.Account(\"example2\", {\n    name: \"example-sa\",\n    location: test.location,\n    resourceGroupName: test.name,\n    accountTier: \"Standard\",\n    accountReplicationType: \"LRS\",\n});\nconst exampleWorkspaceNetworkOutboundRulePrivateEndpoint = new azure.machinelearning.WorkspaceNetworkOutboundRulePrivateEndpoint(\"example\", {\n    name: \"example-outboundrule\",\n    workspaceId: exampleWorkspace.id,\n    serviceResourceId: example2.id,\n    subResourceTarget: \"blob\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\ncurrent = azure.core.get_client_config()\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_insights = azure.appinsights.Insights(\"example\",\n    name=\"workspace-example-ai\",\n    location=example.location,\n    resource_group_name=example.name,\n    application_type=\"web\")\nexample_key_vault = azure.keyvault.KeyVault(\"example\",\n    name=\"workspaceexamplekeyvault\",\n    location=example.location,\n    resource_group_name=example.name,\n    tenant_id=current.tenant_id,\n    sku_name=\"premium\")\nexample_account = azure.storage.Account(\"example\",\n    name=\"workspacestorageaccount\",\n    location=example.location,\n    resource_group_name=example.name,\n    account_tier=\"Standard\",\n    account_replication_type=\"GRS\")\nexample_workspace = azure.machinelearning.Workspace(\"example\",\n    name=\"example-workspace\",\n    location=example.location,\n    resource_group_name=example.name,\n    application_insights_id=example_insights.id,\n    key_vault_id=example_key_vault.id,\n    storage_account_id=example_account.id,\n    managed_network={\n        \"isolation_mode\": \"AllowOnlyApprovedOutbound\",\n    },\n    identity={\n        \"type\": \"SystemAssigned\",\n    })\nexample2 = azure.storage.Account(\"example2\",\n    name=\"example-sa\",\n    location=test[\"location\"],\n    resource_group_name=test[\"name\"],\n    account_tier=\"Standard\",\n    account_replication_type=\"LRS\")\nexample_workspace_network_outbound_rule_private_endpoint = azure.machinelearning.WorkspaceNetworkOutboundRulePrivateEndpoint(\"example\",\n    name=\"example-outboundrule\",\n    workspace_id=example_workspace.id,\n    service_resource_id=example2.id,\n    sub_resource_target=\"blob\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var current = Azure.Core.GetClientConfig.Invoke();\n\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleInsights = new Azure.AppInsights.Insights(\"example\", new()\n    {\n        Name = \"workspace-example-ai\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        ApplicationType = \"web\",\n    });\n\n    var exampleKeyVault = new Azure.KeyVault.KeyVault(\"example\", new()\n    {\n        Name = \"workspaceexamplekeyvault\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        TenantId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.TenantId),\n        SkuName = \"premium\",\n    });\n\n    var exampleAccount = new Azure.Storage.Account(\"example\", new()\n    {\n        Name = \"workspacestorageaccount\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        AccountTier = \"Standard\",\n        AccountReplicationType = \"GRS\",\n    });\n\n    var exampleWorkspace = new Azure.MachineLearning.Workspace(\"example\", new()\n    {\n        Name = \"example-workspace\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        ApplicationInsightsId = exampleInsights.Id,\n        KeyVaultId = exampleKeyVault.Id,\n        StorageAccountId = exampleAccount.Id,\n        ManagedNetwork = new Azure.MachineLearning.Inputs.WorkspaceManagedNetworkArgs\n        {\n            IsolationMode = \"AllowOnlyApprovedOutbound\",\n        },\n        Identity = new Azure.MachineLearning.Inputs.WorkspaceIdentityArgs\n        {\n            Type = \"SystemAssigned\",\n        },\n    });\n\n    var example2 = new Azure.Storage.Account(\"example2\", new()\n    {\n        Name = \"example-sa\",\n        Location = test.Location,\n        ResourceGroupName = test.Name,\n        AccountTier = \"Standard\",\n        AccountReplicationType = \"LRS\",\n    });\n\n    var exampleWorkspaceNetworkOutboundRulePrivateEndpoint = new Azure.MachineLearning.WorkspaceNetworkOutboundRulePrivateEndpoint(\"example\", new()\n    {\n        Name = \"example-outboundrule\",\n        WorkspaceId = exampleWorkspace.Id,\n        ServiceResourceId = example2.Id,\n        SubResourceTarget = \"blob\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/appinsights\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/keyvault\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/machinelearning\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := core.GetClientConfig(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleInsights, err := appinsights.NewInsights(ctx, \"example\", \u0026appinsights.InsightsArgs{\n\t\t\tName:              pulumi.String(\"workspace-example-ai\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tApplicationType:   pulumi.String(\"web\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleKeyVault, err := keyvault.NewKeyVault(ctx, \"example\", \u0026keyvault.KeyVaultArgs{\n\t\t\tName:              pulumi.String(\"workspaceexamplekeyvault\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tTenantId:          pulumi.String(current.TenantId),\n\t\t\tSkuName:           pulumi.String(\"premium\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := storage.NewAccount(ctx, \"example\", \u0026storage.AccountArgs{\n\t\t\tName:                   pulumi.String(\"workspacestorageaccount\"),\n\t\t\tLocation:               example.Location,\n\t\t\tResourceGroupName:      example.Name,\n\t\t\tAccountTier:            pulumi.String(\"Standard\"),\n\t\t\tAccountReplicationType: pulumi.String(\"GRS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleWorkspace, err := machinelearning.NewWorkspace(ctx, \"example\", \u0026machinelearning.WorkspaceArgs{\n\t\t\tName:                  pulumi.String(\"example-workspace\"),\n\t\t\tLocation:              example.Location,\n\t\t\tResourceGroupName:     example.Name,\n\t\t\tApplicationInsightsId: exampleInsights.ID(),\n\t\t\tKeyVaultId:            exampleKeyVault.ID(),\n\t\t\tStorageAccountId:      exampleAccount.ID(),\n\t\t\tManagedNetwork: \u0026machinelearning.WorkspaceManagedNetworkArgs{\n\t\t\t\tIsolationMode: pulumi.String(\"AllowOnlyApprovedOutbound\"),\n\t\t\t},\n\t\t\tIdentity: \u0026machinelearning.WorkspaceIdentityArgs{\n\t\t\t\tType: pulumi.String(\"SystemAssigned\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample2, err := storage.NewAccount(ctx, \"example2\", \u0026storage.AccountArgs{\n\t\t\tName:                   pulumi.String(\"example-sa\"),\n\t\t\tLocation:               pulumi.Any(test.Location),\n\t\t\tResourceGroupName:      pulumi.Any(test.Name),\n\t\t\tAccountTier:            pulumi.String(\"Standard\"),\n\t\t\tAccountReplicationType: pulumi.String(\"LRS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = machinelearning.NewWorkspaceNetworkOutboundRulePrivateEndpoint(ctx, \"example\", \u0026machinelearning.WorkspaceNetworkOutboundRulePrivateEndpointArgs{\n\t\t\tName:              pulumi.String(\"example-outboundrule\"),\n\t\t\tWorkspaceId:       exampleWorkspace.ID(),\n\t\t\tServiceResourceId: example2.ID(),\n\t\t\tSubResourceTarget: pulumi.String(\"blob\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.appinsights.Insights;\nimport com.pulumi.azure.appinsights.InsightsArgs;\nimport com.pulumi.azure.keyvault.KeyVault;\nimport com.pulumi.azure.keyvault.KeyVaultArgs;\nimport com.pulumi.azure.storage.Account;\nimport com.pulumi.azure.storage.AccountArgs;\nimport com.pulumi.azure.machinelearning.Workspace;\nimport com.pulumi.azure.machinelearning.WorkspaceArgs;\nimport com.pulumi.azure.machinelearning.inputs.WorkspaceManagedNetworkArgs;\nimport com.pulumi.azure.machinelearning.inputs.WorkspaceIdentityArgs;\nimport com.pulumi.azure.machinelearning.WorkspaceNetworkOutboundRulePrivateEndpoint;\nimport com.pulumi.azure.machinelearning.WorkspaceNetworkOutboundRulePrivateEndpointArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var current = CoreFunctions.getClientConfig(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleInsights = new Insights(\"exampleInsights\", InsightsArgs.builder()\n            .name(\"workspace-example-ai\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .applicationType(\"web\")\n            .build());\n\n        var exampleKeyVault = new KeyVault(\"exampleKeyVault\", KeyVaultArgs.builder()\n            .name(\"workspaceexamplekeyvault\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .tenantId(current.tenantId())\n            .skuName(\"premium\")\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"workspacestorageaccount\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .accountTier(\"Standard\")\n            .accountReplicationType(\"GRS\")\n            .build());\n\n        var exampleWorkspace = new Workspace(\"exampleWorkspace\", WorkspaceArgs.builder()\n            .name(\"example-workspace\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .applicationInsightsId(exampleInsights.id())\n            .keyVaultId(exampleKeyVault.id())\n            .storageAccountId(exampleAccount.id())\n            .managedNetwork(WorkspaceManagedNetworkArgs.builder()\n                .isolationMode(\"AllowOnlyApprovedOutbound\")\n                .build())\n            .identity(WorkspaceIdentityArgs.builder()\n                .type(\"SystemAssigned\")\n                .build())\n            .build());\n\n        var example2 = new Account(\"example2\", AccountArgs.builder()\n            .name(\"example-sa\")\n            .location(test.location())\n            .resourceGroupName(test.name())\n            .accountTier(\"Standard\")\n            .accountReplicationType(\"LRS\")\n            .build());\n\n        var exampleWorkspaceNetworkOutboundRulePrivateEndpoint = new WorkspaceNetworkOutboundRulePrivateEndpoint(\"exampleWorkspaceNetworkOutboundRulePrivateEndpoint\", WorkspaceNetworkOutboundRulePrivateEndpointArgs.builder()\n            .name(\"example-outboundrule\")\n            .workspaceId(exampleWorkspace.id())\n            .serviceResourceId(example2.id())\n            .subResourceTarget(\"blob\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleInsights:\n    type: azure:appinsights:Insights\n    name: example\n    properties:\n      name: workspace-example-ai\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      applicationType: web\n  exampleKeyVault:\n    type: azure:keyvault:KeyVault\n    name: example\n    properties:\n      name: workspaceexamplekeyvault\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      tenantId: ${current.tenantId}\n      skuName: premium\n  exampleAccount:\n    type: azure:storage:Account\n    name: example\n    properties:\n      name: workspacestorageaccount\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      accountTier: Standard\n      accountReplicationType: GRS\n  exampleWorkspace:\n    type: azure:machinelearning:Workspace\n    name: example\n    properties:\n      name: example-workspace\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      applicationInsightsId: ${exampleInsights.id}\n      keyVaultId: ${exampleKeyVault.id}\n      storageAccountId: ${exampleAccount.id}\n      managedNetwork:\n        isolationMode: AllowOnlyApprovedOutbound\n      identity:\n        type: SystemAssigned\n  example2:\n    type: azure:storage:Account\n    properties:\n      name: example-sa\n      location: ${test.location}\n      resourceGroupName: ${test.name}\n      accountTier: Standard\n      accountReplicationType: LRS\n  exampleWorkspaceNetworkOutboundRulePrivateEndpoint:\n    type: azure:machinelearning:WorkspaceNetworkOutboundRulePrivateEndpoint\n    name: example\n    properties:\n      name: example-outboundrule\n      workspaceId: ${exampleWorkspace.id}\n      serviceResourceId: ${example2.id}\n      subResourceTarget: blob\nvariables:\n  current:\n    fn::invoke:\n      function: azure:core:getClientConfig\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.MachineLearningServices` - 2025-06-01\n\n## Import\n\nMachine Learning Workspace Network Outbound Rule Private Endpoint can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:machinelearning/workspaceNetworkOutboundRulePrivateEndpoint:WorkspaceNetworkOutboundRulePrivateEndpoint example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.MachineLearningServices/workspaces/workspace1/outboundRules/rule1\n```\n\n","properties":{"name":{"type":"string","description":"Specifies the name of the Machine Learning Workspace Network Outbound Rule Private Endpoint. Changing this forces a new resource to be created.\n"},"serviceResourceId":{"type":"string","description":"Specifies the Service Resource ID to connect. Changing this forces a new resource to be created.\n\n\u003e **Note:** Supported service resources: **Key Vault**, **Storage Account**, **Machine Learning Workspace**, **Redis**.\n"},"sparkEnabled":{"type":"boolean","description":"Whether to enable an additional private endpoint to be used by jobs running on Spark. Changing this forces a new resource to be created.\n"},"subResourceTarget":{"type":"string","description":"Specifies the Sub Resource of the service resource to connect to. Possible values are \u003cspan pulumi-lang-nodejs=\"`vault`\" pulumi-lang-dotnet=\"`Vault`\" pulumi-lang-go=\"`vault`\" pulumi-lang-python=\"`vault`\" pulumi-lang-yaml=\"`vault`\" pulumi-lang-java=\"`vault`\"\u003e`vault`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`amlworkspace`\" pulumi-lang-dotnet=\"`Amlworkspace`\" pulumi-lang-go=\"`amlworkspace`\" pulumi-lang-python=\"`amlworkspace`\" pulumi-lang-yaml=\"`amlworkspace`\" pulumi-lang-java=\"`amlworkspace`\"\u003e`amlworkspace`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`blob`\" pulumi-lang-dotnet=\"`Blob`\" pulumi-lang-go=\"`blob`\" pulumi-lang-python=\"`blob`\" pulumi-lang-yaml=\"`blob`\" pulumi-lang-java=\"`blob`\"\u003e`blob`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`table`\" pulumi-lang-dotnet=\"`Table`\" pulumi-lang-go=\"`table`\" pulumi-lang-python=\"`table`\" pulumi-lang-yaml=\"`table`\" pulumi-lang-java=\"`table`\"\u003e`table`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`queue`\" pulumi-lang-dotnet=\"`Queue`\" pulumi-lang-go=\"`queue`\" pulumi-lang-python=\"`queue`\" pulumi-lang-yaml=\"`queue`\" pulumi-lang-java=\"`queue`\"\u003e`queue`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`file`\" pulumi-lang-dotnet=\"`File`\" pulumi-lang-go=\"`file`\" pulumi-lang-python=\"`file`\" pulumi-lang-yaml=\"`file`\" pulumi-lang-java=\"`file`\"\u003e`file`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`web`\" pulumi-lang-dotnet=\"`Web`\" pulumi-lang-go=\"`web`\" pulumi-lang-python=\"`web`\" pulumi-lang-yaml=\"`web`\" pulumi-lang-java=\"`web`\"\u003e`web`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`dfs`\" pulumi-lang-dotnet=\"`Dfs`\" pulumi-lang-go=\"`dfs`\" pulumi-lang-python=\"`dfs`\" pulumi-lang-yaml=\"`dfs`\" pulumi-lang-java=\"`dfs`\"\u003e`dfs`\u003c/span\u003e, `redisCache`. Changing this forces a new resource to be created.\n\n| Service                    | Sub Resource Type                         |\n|----------------------------|-------------------------------------------|\n| Machine Learning Workspace | \u003cspan pulumi-lang-nodejs=\"`amlworkspace`\" pulumi-lang-dotnet=\"`Amlworkspace`\" pulumi-lang-go=\"`amlworkspace`\" pulumi-lang-python=\"`amlworkspace`\" pulumi-lang-yaml=\"`amlworkspace`\" pulumi-lang-java=\"`amlworkspace`\"\u003e`amlworkspace`\u003c/span\u003e                            |\n| Redis                      | `redisCache`                              |\n| Storage Account            | \u003cspan pulumi-lang-nodejs=\"`blob`\" pulumi-lang-dotnet=\"`Blob`\" pulumi-lang-go=\"`blob`\" pulumi-lang-python=\"`blob`\" pulumi-lang-yaml=\"`blob`\" pulumi-lang-java=\"`blob`\"\u003e`blob`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`table`\" pulumi-lang-dotnet=\"`Table`\" pulumi-lang-go=\"`table`\" pulumi-lang-python=\"`table`\" pulumi-lang-yaml=\"`table`\" pulumi-lang-java=\"`table`\"\u003e`table`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`queue`\" pulumi-lang-dotnet=\"`Queue`\" pulumi-lang-go=\"`queue`\" pulumi-lang-python=\"`queue`\" pulumi-lang-yaml=\"`queue`\" pulumi-lang-java=\"`queue`\"\u003e`queue`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`file`\" pulumi-lang-dotnet=\"`File`\" pulumi-lang-go=\"`file`\" pulumi-lang-python=\"`file`\" pulumi-lang-yaml=\"`file`\" pulumi-lang-java=\"`file`\"\u003e`file`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`web`\" pulumi-lang-dotnet=\"`Web`\" pulumi-lang-go=\"`web`\" pulumi-lang-python=\"`web`\" pulumi-lang-yaml=\"`web`\" pulumi-lang-java=\"`web`\"\u003e`web`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`dfs`\" pulumi-lang-dotnet=\"`Dfs`\" pulumi-lang-go=\"`dfs`\" pulumi-lang-python=\"`dfs`\" pulumi-lang-yaml=\"`dfs`\" pulumi-lang-java=\"`dfs`\"\u003e`dfs`\u003c/span\u003e |\n| Key Vault                  | \u003cspan pulumi-lang-nodejs=\"`vault`\" pulumi-lang-dotnet=\"`Vault`\" pulumi-lang-go=\"`vault`\" pulumi-lang-python=\"`vault`\" pulumi-lang-yaml=\"`vault`\" pulumi-lang-java=\"`vault`\"\u003e`vault`\u003c/span\u003e                                   |\n"},"workspaceId":{"type":"string","description":"Specifies the ID of the Machine Learning Workspace. Changing this forces a new resource to be created.\n"}},"required":["name","serviceResourceId","subResourceTarget","workspaceId"],"inputProperties":{"name":{"type":"string","description":"Specifies the name of the Machine Learning Workspace Network Outbound Rule Private Endpoint. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"serviceResourceId":{"type":"string","description":"Specifies the Service Resource ID to connect. Changing this forces a new resource to be created.\n\n\u003e **Note:** Supported service resources: **Key Vault**, **Storage Account**, **Machine Learning Workspace**, **Redis**.\n","willReplaceOnChanges":true},"sparkEnabled":{"type":"boolean","description":"Whether to enable an additional private endpoint to be used by jobs running on Spark. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"subResourceTarget":{"type":"string","description":"Specifies the Sub Resource of the service resource to connect to. Possible values are \u003cspan pulumi-lang-nodejs=\"`vault`\" pulumi-lang-dotnet=\"`Vault`\" pulumi-lang-go=\"`vault`\" pulumi-lang-python=\"`vault`\" pulumi-lang-yaml=\"`vault`\" pulumi-lang-java=\"`vault`\"\u003e`vault`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`amlworkspace`\" pulumi-lang-dotnet=\"`Amlworkspace`\" pulumi-lang-go=\"`amlworkspace`\" pulumi-lang-python=\"`amlworkspace`\" pulumi-lang-yaml=\"`amlworkspace`\" pulumi-lang-java=\"`amlworkspace`\"\u003e`amlworkspace`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`blob`\" pulumi-lang-dotnet=\"`Blob`\" pulumi-lang-go=\"`blob`\" pulumi-lang-python=\"`blob`\" pulumi-lang-yaml=\"`blob`\" pulumi-lang-java=\"`blob`\"\u003e`blob`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`table`\" pulumi-lang-dotnet=\"`Table`\" pulumi-lang-go=\"`table`\" pulumi-lang-python=\"`table`\" pulumi-lang-yaml=\"`table`\" pulumi-lang-java=\"`table`\"\u003e`table`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`queue`\" pulumi-lang-dotnet=\"`Queue`\" pulumi-lang-go=\"`queue`\" pulumi-lang-python=\"`queue`\" pulumi-lang-yaml=\"`queue`\" pulumi-lang-java=\"`queue`\"\u003e`queue`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`file`\" pulumi-lang-dotnet=\"`File`\" pulumi-lang-go=\"`file`\" pulumi-lang-python=\"`file`\" pulumi-lang-yaml=\"`file`\" pulumi-lang-java=\"`file`\"\u003e`file`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`web`\" pulumi-lang-dotnet=\"`Web`\" pulumi-lang-go=\"`web`\" pulumi-lang-python=\"`web`\" pulumi-lang-yaml=\"`web`\" pulumi-lang-java=\"`web`\"\u003e`web`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`dfs`\" pulumi-lang-dotnet=\"`Dfs`\" pulumi-lang-go=\"`dfs`\" pulumi-lang-python=\"`dfs`\" pulumi-lang-yaml=\"`dfs`\" pulumi-lang-java=\"`dfs`\"\u003e`dfs`\u003c/span\u003e, `redisCache`. Changing this forces a new resource to be created.\n\n| Service                    | Sub Resource Type                         |\n|----------------------------|-------------------------------------------|\n| Machine Learning Workspace | \u003cspan pulumi-lang-nodejs=\"`amlworkspace`\" pulumi-lang-dotnet=\"`Amlworkspace`\" pulumi-lang-go=\"`amlworkspace`\" pulumi-lang-python=\"`amlworkspace`\" pulumi-lang-yaml=\"`amlworkspace`\" pulumi-lang-java=\"`amlworkspace`\"\u003e`amlworkspace`\u003c/span\u003e                            |\n| Redis                      | `redisCache`                              |\n| Storage Account            | \u003cspan pulumi-lang-nodejs=\"`blob`\" pulumi-lang-dotnet=\"`Blob`\" pulumi-lang-go=\"`blob`\" pulumi-lang-python=\"`blob`\" pulumi-lang-yaml=\"`blob`\" pulumi-lang-java=\"`blob`\"\u003e`blob`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`table`\" pulumi-lang-dotnet=\"`Table`\" pulumi-lang-go=\"`table`\" pulumi-lang-python=\"`table`\" pulumi-lang-yaml=\"`table`\" pulumi-lang-java=\"`table`\"\u003e`table`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`queue`\" pulumi-lang-dotnet=\"`Queue`\" pulumi-lang-go=\"`queue`\" pulumi-lang-python=\"`queue`\" pulumi-lang-yaml=\"`queue`\" pulumi-lang-java=\"`queue`\"\u003e`queue`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`file`\" pulumi-lang-dotnet=\"`File`\" pulumi-lang-go=\"`file`\" pulumi-lang-python=\"`file`\" pulumi-lang-yaml=\"`file`\" pulumi-lang-java=\"`file`\"\u003e`file`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`web`\" pulumi-lang-dotnet=\"`Web`\" pulumi-lang-go=\"`web`\" pulumi-lang-python=\"`web`\" pulumi-lang-yaml=\"`web`\" pulumi-lang-java=\"`web`\"\u003e`web`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`dfs`\" pulumi-lang-dotnet=\"`Dfs`\" pulumi-lang-go=\"`dfs`\" pulumi-lang-python=\"`dfs`\" pulumi-lang-yaml=\"`dfs`\" pulumi-lang-java=\"`dfs`\"\u003e`dfs`\u003c/span\u003e |\n| Key Vault                  | \u003cspan pulumi-lang-nodejs=\"`vault`\" pulumi-lang-dotnet=\"`Vault`\" pulumi-lang-go=\"`vault`\" pulumi-lang-python=\"`vault`\" pulumi-lang-yaml=\"`vault`\" pulumi-lang-java=\"`vault`\"\u003e`vault`\u003c/span\u003e                                   |\n","willReplaceOnChanges":true},"workspaceId":{"type":"string","description":"Specifies the ID of the Machine Learning Workspace. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["serviceResourceId","subResourceTarget","workspaceId"],"stateInputs":{"description":"Input properties used for looking up and filtering WorkspaceNetworkOutboundRulePrivateEndpoint resources.\n","properties":{"name":{"type":"string","description":"Specifies the name of the Machine Learning Workspace Network Outbound Rule Private Endpoint. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"serviceResourceId":{"type":"string","description":"Specifies the Service Resource ID to connect. Changing this forces a new resource to be created.\n\n\u003e **Note:** Supported service resources: **Key Vault**, **Storage Account**, **Machine Learning Workspace**, **Redis**.\n","willReplaceOnChanges":true},"sparkEnabled":{"type":"boolean","description":"Whether to enable an additional private endpoint to be used by jobs running on Spark. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"subResourceTarget":{"type":"string","description":"Specifies the Sub Resource of the service resource to connect to. Possible values are \u003cspan pulumi-lang-nodejs=\"`vault`\" pulumi-lang-dotnet=\"`Vault`\" pulumi-lang-go=\"`vault`\" pulumi-lang-python=\"`vault`\" pulumi-lang-yaml=\"`vault`\" pulumi-lang-java=\"`vault`\"\u003e`vault`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`amlworkspace`\" pulumi-lang-dotnet=\"`Amlworkspace`\" pulumi-lang-go=\"`amlworkspace`\" pulumi-lang-python=\"`amlworkspace`\" pulumi-lang-yaml=\"`amlworkspace`\" pulumi-lang-java=\"`amlworkspace`\"\u003e`amlworkspace`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`blob`\" pulumi-lang-dotnet=\"`Blob`\" pulumi-lang-go=\"`blob`\" pulumi-lang-python=\"`blob`\" pulumi-lang-yaml=\"`blob`\" pulumi-lang-java=\"`blob`\"\u003e`blob`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`table`\" pulumi-lang-dotnet=\"`Table`\" pulumi-lang-go=\"`table`\" pulumi-lang-python=\"`table`\" pulumi-lang-yaml=\"`table`\" pulumi-lang-java=\"`table`\"\u003e`table`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`queue`\" pulumi-lang-dotnet=\"`Queue`\" pulumi-lang-go=\"`queue`\" pulumi-lang-python=\"`queue`\" pulumi-lang-yaml=\"`queue`\" pulumi-lang-java=\"`queue`\"\u003e`queue`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`file`\" pulumi-lang-dotnet=\"`File`\" pulumi-lang-go=\"`file`\" pulumi-lang-python=\"`file`\" pulumi-lang-yaml=\"`file`\" pulumi-lang-java=\"`file`\"\u003e`file`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`web`\" pulumi-lang-dotnet=\"`Web`\" pulumi-lang-go=\"`web`\" pulumi-lang-python=\"`web`\" pulumi-lang-yaml=\"`web`\" pulumi-lang-java=\"`web`\"\u003e`web`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`dfs`\" pulumi-lang-dotnet=\"`Dfs`\" pulumi-lang-go=\"`dfs`\" pulumi-lang-python=\"`dfs`\" pulumi-lang-yaml=\"`dfs`\" pulumi-lang-java=\"`dfs`\"\u003e`dfs`\u003c/span\u003e, `redisCache`. Changing this forces a new resource to be created.\n\n| Service                    | Sub Resource Type                         |\n|----------------------------|-------------------------------------------|\n| Machine Learning Workspace | \u003cspan pulumi-lang-nodejs=\"`amlworkspace`\" pulumi-lang-dotnet=\"`Amlworkspace`\" pulumi-lang-go=\"`amlworkspace`\" pulumi-lang-python=\"`amlworkspace`\" pulumi-lang-yaml=\"`amlworkspace`\" pulumi-lang-java=\"`amlworkspace`\"\u003e`amlworkspace`\u003c/span\u003e                            |\n| Redis                      | `redisCache`                              |\n| Storage Account            | \u003cspan pulumi-lang-nodejs=\"`blob`\" pulumi-lang-dotnet=\"`Blob`\" pulumi-lang-go=\"`blob`\" pulumi-lang-python=\"`blob`\" pulumi-lang-yaml=\"`blob`\" pulumi-lang-java=\"`blob`\"\u003e`blob`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`table`\" pulumi-lang-dotnet=\"`Table`\" pulumi-lang-go=\"`table`\" pulumi-lang-python=\"`table`\" pulumi-lang-yaml=\"`table`\" pulumi-lang-java=\"`table`\"\u003e`table`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`queue`\" pulumi-lang-dotnet=\"`Queue`\" pulumi-lang-go=\"`queue`\" pulumi-lang-python=\"`queue`\" pulumi-lang-yaml=\"`queue`\" pulumi-lang-java=\"`queue`\"\u003e`queue`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`file`\" pulumi-lang-dotnet=\"`File`\" pulumi-lang-go=\"`file`\" pulumi-lang-python=\"`file`\" pulumi-lang-yaml=\"`file`\" pulumi-lang-java=\"`file`\"\u003e`file`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`web`\" pulumi-lang-dotnet=\"`Web`\" pulumi-lang-go=\"`web`\" pulumi-lang-python=\"`web`\" pulumi-lang-yaml=\"`web`\" pulumi-lang-java=\"`web`\"\u003e`web`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`dfs`\" pulumi-lang-dotnet=\"`Dfs`\" pulumi-lang-go=\"`dfs`\" pulumi-lang-python=\"`dfs`\" pulumi-lang-yaml=\"`dfs`\" pulumi-lang-java=\"`dfs`\"\u003e`dfs`\u003c/span\u003e |\n| Key Vault                  | \u003cspan pulumi-lang-nodejs=\"`vault`\" pulumi-lang-dotnet=\"`Vault`\" pulumi-lang-go=\"`vault`\" pulumi-lang-python=\"`vault`\" pulumi-lang-yaml=\"`vault`\" pulumi-lang-java=\"`vault`\"\u003e`vault`\u003c/span\u003e                                   |\n","willReplaceOnChanges":true},"workspaceId":{"type":"string","description":"Specifies the ID of the Machine Learning Workspace. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:machinelearning/workspaceNetworkOutboundRuleServiceTag:WorkspaceNetworkOutboundRuleServiceTag":{"description":"Manages an Azure Machine Learning Workspace Network Outbound Rule Service Tag.\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst current = azure.core.getClientConfig({});\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleInsights = new azure.appinsights.Insights(\"example\", {\n    name: \"workspace-example-ai\",\n    location: example.location,\n    resourceGroupName: example.name,\n    applicationType: \"web\",\n});\nconst exampleKeyVault = new azure.keyvault.KeyVault(\"example\", {\n    name: \"workspaceexamplekeyvault\",\n    location: example.location,\n    resourceGroupName: example.name,\n    tenantId: current.then(current =\u003e current.tenantId),\n    skuName: \"premium\",\n});\nconst exampleAccount = new azure.storage.Account(\"example\", {\n    name: \"workspacestorageaccount\",\n    location: example.location,\n    resourceGroupName: example.name,\n    accountTier: \"Standard\",\n    accountReplicationType: \"GRS\",\n});\nconst exampleWorkspace = new azure.machinelearning.Workspace(\"example\", {\n    name: \"example-workspace\",\n    location: example.location,\n    resourceGroupName: example.name,\n    applicationInsightsId: exampleInsights.id,\n    keyVaultId: exampleKeyVault.id,\n    storageAccountId: exampleAccount.id,\n    managedNetwork: {\n        isolationMode: \"AllowOnlyApprovedOutbound\",\n    },\n    identity: {\n        type: \"SystemAssigned\",\n    },\n});\nconst exampleWorkspaceNetworkOutboundRuleServiceTag = new azure.machinelearning.WorkspaceNetworkOutboundRuleServiceTag(\"example\", {\n    name: \"example-outboundrule\",\n    workspaceId: exampleWorkspace.id,\n    serviceTag: \"AppService\",\n    protocol: \"TCP\",\n    portRanges: \"443\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\ncurrent = azure.core.get_client_config()\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_insights = azure.appinsights.Insights(\"example\",\n    name=\"workspace-example-ai\",\n    location=example.location,\n    resource_group_name=example.name,\n    application_type=\"web\")\nexample_key_vault = azure.keyvault.KeyVault(\"example\",\n    name=\"workspaceexamplekeyvault\",\n    location=example.location,\n    resource_group_name=example.name,\n    tenant_id=current.tenant_id,\n    sku_name=\"premium\")\nexample_account = azure.storage.Account(\"example\",\n    name=\"workspacestorageaccount\",\n    location=example.location,\n    resource_group_name=example.name,\n    account_tier=\"Standard\",\n    account_replication_type=\"GRS\")\nexample_workspace = azure.machinelearning.Workspace(\"example\",\n    name=\"example-workspace\",\n    location=example.location,\n    resource_group_name=example.name,\n    application_insights_id=example_insights.id,\n    key_vault_id=example_key_vault.id,\n    storage_account_id=example_account.id,\n    managed_network={\n        \"isolation_mode\": \"AllowOnlyApprovedOutbound\",\n    },\n    identity={\n        \"type\": \"SystemAssigned\",\n    })\nexample_workspace_network_outbound_rule_service_tag = azure.machinelearning.WorkspaceNetworkOutboundRuleServiceTag(\"example\",\n    name=\"example-outboundrule\",\n    workspace_id=example_workspace.id,\n    service_tag=\"AppService\",\n    protocol=\"TCP\",\n    port_ranges=\"443\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var current = Azure.Core.GetClientConfig.Invoke();\n\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleInsights = new Azure.AppInsights.Insights(\"example\", new()\n    {\n        Name = \"workspace-example-ai\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        ApplicationType = \"web\",\n    });\n\n    var exampleKeyVault = new Azure.KeyVault.KeyVault(\"example\", new()\n    {\n        Name = \"workspaceexamplekeyvault\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        TenantId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.TenantId),\n        SkuName = \"premium\",\n    });\n\n    var exampleAccount = new Azure.Storage.Account(\"example\", new()\n    {\n        Name = \"workspacestorageaccount\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        AccountTier = \"Standard\",\n        AccountReplicationType = \"GRS\",\n    });\n\n    var exampleWorkspace = new Azure.MachineLearning.Workspace(\"example\", new()\n    {\n        Name = \"example-workspace\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        ApplicationInsightsId = exampleInsights.Id,\n        KeyVaultId = exampleKeyVault.Id,\n        StorageAccountId = exampleAccount.Id,\n        ManagedNetwork = new Azure.MachineLearning.Inputs.WorkspaceManagedNetworkArgs\n        {\n            IsolationMode = \"AllowOnlyApprovedOutbound\",\n        },\n        Identity = new Azure.MachineLearning.Inputs.WorkspaceIdentityArgs\n        {\n            Type = \"SystemAssigned\",\n        },\n    });\n\n    var exampleWorkspaceNetworkOutboundRuleServiceTag = new Azure.MachineLearning.WorkspaceNetworkOutboundRuleServiceTag(\"example\", new()\n    {\n        Name = \"example-outboundrule\",\n        WorkspaceId = exampleWorkspace.Id,\n        ServiceTag = \"AppService\",\n        Protocol = \"TCP\",\n        PortRanges = \"443\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/appinsights\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/keyvault\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/machinelearning\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := core.GetClientConfig(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleInsights, err := appinsights.NewInsights(ctx, \"example\", \u0026appinsights.InsightsArgs{\n\t\t\tName:              pulumi.String(\"workspace-example-ai\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tApplicationType:   pulumi.String(\"web\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleKeyVault, err := keyvault.NewKeyVault(ctx, \"example\", \u0026keyvault.KeyVaultArgs{\n\t\t\tName:              pulumi.String(\"workspaceexamplekeyvault\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tTenantId:          pulumi.String(current.TenantId),\n\t\t\tSkuName:           pulumi.String(\"premium\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := storage.NewAccount(ctx, \"example\", \u0026storage.AccountArgs{\n\t\t\tName:                   pulumi.String(\"workspacestorageaccount\"),\n\t\t\tLocation:               example.Location,\n\t\t\tResourceGroupName:      example.Name,\n\t\t\tAccountTier:            pulumi.String(\"Standard\"),\n\t\t\tAccountReplicationType: pulumi.String(\"GRS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleWorkspace, err := machinelearning.NewWorkspace(ctx, \"example\", \u0026machinelearning.WorkspaceArgs{\n\t\t\tName:                  pulumi.String(\"example-workspace\"),\n\t\t\tLocation:              example.Location,\n\t\t\tResourceGroupName:     example.Name,\n\t\t\tApplicationInsightsId: exampleInsights.ID(),\n\t\t\tKeyVaultId:            exampleKeyVault.ID(),\n\t\t\tStorageAccountId:      exampleAccount.ID(),\n\t\t\tManagedNetwork: \u0026machinelearning.WorkspaceManagedNetworkArgs{\n\t\t\t\tIsolationMode: pulumi.String(\"AllowOnlyApprovedOutbound\"),\n\t\t\t},\n\t\t\tIdentity: \u0026machinelearning.WorkspaceIdentityArgs{\n\t\t\t\tType: pulumi.String(\"SystemAssigned\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = machinelearning.NewWorkspaceNetworkOutboundRuleServiceTag(ctx, \"example\", \u0026machinelearning.WorkspaceNetworkOutboundRuleServiceTagArgs{\n\t\t\tName:        pulumi.String(\"example-outboundrule\"),\n\t\t\tWorkspaceId: exampleWorkspace.ID(),\n\t\t\tServiceTag:  pulumi.String(\"AppService\"),\n\t\t\tProtocol:    pulumi.String(\"TCP\"),\n\t\t\tPortRanges:  pulumi.String(\"443\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.appinsights.Insights;\nimport com.pulumi.azure.appinsights.InsightsArgs;\nimport com.pulumi.azure.keyvault.KeyVault;\nimport com.pulumi.azure.keyvault.KeyVaultArgs;\nimport com.pulumi.azure.storage.Account;\nimport com.pulumi.azure.storage.AccountArgs;\nimport com.pulumi.azure.machinelearning.Workspace;\nimport com.pulumi.azure.machinelearning.WorkspaceArgs;\nimport com.pulumi.azure.machinelearning.inputs.WorkspaceManagedNetworkArgs;\nimport com.pulumi.azure.machinelearning.inputs.WorkspaceIdentityArgs;\nimport com.pulumi.azure.machinelearning.WorkspaceNetworkOutboundRuleServiceTag;\nimport com.pulumi.azure.machinelearning.WorkspaceNetworkOutboundRuleServiceTagArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var current = CoreFunctions.getClientConfig(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleInsights = new Insights(\"exampleInsights\", InsightsArgs.builder()\n            .name(\"workspace-example-ai\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .applicationType(\"web\")\n            .build());\n\n        var exampleKeyVault = new KeyVault(\"exampleKeyVault\", KeyVaultArgs.builder()\n            .name(\"workspaceexamplekeyvault\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .tenantId(current.tenantId())\n            .skuName(\"premium\")\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"workspacestorageaccount\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .accountTier(\"Standard\")\n            .accountReplicationType(\"GRS\")\n            .build());\n\n        var exampleWorkspace = new Workspace(\"exampleWorkspace\", WorkspaceArgs.builder()\n            .name(\"example-workspace\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .applicationInsightsId(exampleInsights.id())\n            .keyVaultId(exampleKeyVault.id())\n            .storageAccountId(exampleAccount.id())\n            .managedNetwork(WorkspaceManagedNetworkArgs.builder()\n                .isolationMode(\"AllowOnlyApprovedOutbound\")\n                .build())\n            .identity(WorkspaceIdentityArgs.builder()\n                .type(\"SystemAssigned\")\n                .build())\n            .build());\n\n        var exampleWorkspaceNetworkOutboundRuleServiceTag = new WorkspaceNetworkOutboundRuleServiceTag(\"exampleWorkspaceNetworkOutboundRuleServiceTag\", WorkspaceNetworkOutboundRuleServiceTagArgs.builder()\n            .name(\"example-outboundrule\")\n            .workspaceId(exampleWorkspace.id())\n            .serviceTag(\"AppService\")\n            .protocol(\"TCP\")\n            .portRanges(\"443\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleInsights:\n    type: azure:appinsights:Insights\n    name: example\n    properties:\n      name: workspace-example-ai\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      applicationType: web\n  exampleKeyVault:\n    type: azure:keyvault:KeyVault\n    name: example\n    properties:\n      name: workspaceexamplekeyvault\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      tenantId: ${current.tenantId}\n      skuName: premium\n  exampleAccount:\n    type: azure:storage:Account\n    name: example\n    properties:\n      name: workspacestorageaccount\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      accountTier: Standard\n      accountReplicationType: GRS\n  exampleWorkspace:\n    type: azure:machinelearning:Workspace\n    name: example\n    properties:\n      name: example-workspace\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      applicationInsightsId: ${exampleInsights.id}\n      keyVaultId: ${exampleKeyVault.id}\n      storageAccountId: ${exampleAccount.id}\n      managedNetwork:\n        isolationMode: AllowOnlyApprovedOutbound\n      identity:\n        type: SystemAssigned\n  exampleWorkspaceNetworkOutboundRuleServiceTag:\n    type: azure:machinelearning:WorkspaceNetworkOutboundRuleServiceTag\n    name: example\n    properties:\n      name: example-outboundrule\n      workspaceId: ${exampleWorkspace.id}\n      serviceTag: AppService\n      protocol: TCP\n      portRanges: '443'\nvariables:\n  current:\n    fn::invoke:\n      function: azure:core:getClientConfig\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.MachineLearningServices` - 2025-06-01\n\n## Import\n\nMachine Learning Workspace Network Outbound Rule Service Tag can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:machinelearning/workspaceNetworkOutboundRuleServiceTag:WorkspaceNetworkOutboundRuleServiceTag example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.MachineLearningServices/workspaces/workspace1/outboundRules/rule1\n```\n\n","properties":{"name":{"type":"string","description":"Specifies the name of the Machine Learning Workspace Network Outbound Rule Service Tag. Changing this forces a new resource to be created.\n"},"portRanges":{"type":"string","description":"Specifies which ports traffic will be allowed by this rule. You can specify a single port (e.g. ` 80`) , a port range (e.g. `1024-655535`) or a comma-separated list of single ports and/or port ranges(e.g. `80,1024-655535`). `*` can be used to allow traffic on any port.\n"},"protocol":{"type":"string","description":"Specifies the network protocol. Possible values are `*`, `TCP`, `UDP` and `ICMP`\n"},"serviceTag":{"type":"string","description":"Specifies the fully qualified domain name to allow for outbound traffic. Possible values are `AppConfiguration`,`AppService`,`AzureActiveDirectory`,`AzureAdvancedThreatProtection`,`AzureArcInfrastructure`,`AzureAttestation`,`AzureBackup`,`AzureBotService`,`AzureContainerRegistry`,`AzureCosmosDB`,`AzureDataLake`,`AzureDevSpaces`,`AzureInformationProtection`,`AzureIoTHub`,`AzureKeyVault`,`AzureManagedGrafana`,`AzureMonitor`,`AzureOpenDatasets`,`AzurePlatformDNS`,`AzurePlatformIMDS`,`AzurePlatformLKM`,`AzureResourceManager`,`AzureSignalR`,`AzureSiteRecovery`,`AzureSpringCloud`,`AzureStack`,`AzureUpdateDelivery`,`DataFactoryManagement`,`EventHub`,`GuestAndHybridManagement`,`M365ManagementActivityApi`,`M365ManagementActivityApi`,`MicrosoftAzureFluidRelay`,`MicrosoftCloudAppSecurity`,`MicrosoftContainerRegistry`,`PowerPlatformInfra`,`ServiceBus`,`Sql`,`Storage`,`WindowsAdminCenter`,`AppServiceManagement`,`AutonomousDevelopmentPlatform`,`AzureActiveDirectoryDomainServices`,`AzureCloud`,`AzureConnectors`,`AzureContainerAppsService`,`AzureDatabricks`,`AzureDeviceUpdate`,`AzureEventGrid`,`AzureFrontDoor.Frontend`,`AzureFrontDoor.Backend`,`AzureFrontDoor.FirstParty`,`AzureHealthcareAPIs`,`AzureLoadBalancer`,`AzureMachineLearning`,`AzureSphere`,`AzureWebPubSub`,`BatchNodeManagement`,`ChaosStudio`,`CognitiveServicesFrontend`,`CognitiveServicesManagement`,`DataFactory`,`Dynamics365ForMarketingEmail`,`Dynamics365BusinessCentral`,`EOPExternalPublishedIPs`,`Internet`,`LogicApps`,`Marketplace`,`MicrosoftDefenderForEndpoint`,`PowerBI`,`PowerQueryOnline`,`ServiceFabric`,`SqlManagement`,`StorageSyncService`,`WindowsVirtualDesktop` and `VirtualNetwork`.\n"},"workspaceId":{"type":"string","description":"Specifies the ID of the Machine Learning Workspace. Changing this forces a new resource to be created.\n"}},"required":["name","portRanges","protocol","serviceTag","workspaceId"],"inputProperties":{"name":{"type":"string","description":"Specifies the name of the Machine Learning Workspace Network Outbound Rule Service Tag. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"portRanges":{"type":"string","description":"Specifies which ports traffic will be allowed by this rule. You can specify a single port (e.g. ` 80`) , a port range (e.g. `1024-655535`) or a comma-separated list of single ports and/or port ranges(e.g. `80,1024-655535`). `*` can be used to allow traffic on any port.\n"},"protocol":{"type":"string","description":"Specifies the network protocol. Possible values are `*`, `TCP`, `UDP` and `ICMP`\n"},"serviceTag":{"type":"string","description":"Specifies the fully qualified domain name to allow for outbound traffic. Possible values are `AppConfiguration`,`AppService`,`AzureActiveDirectory`,`AzureAdvancedThreatProtection`,`AzureArcInfrastructure`,`AzureAttestation`,`AzureBackup`,`AzureBotService`,`AzureContainerRegistry`,`AzureCosmosDB`,`AzureDataLake`,`AzureDevSpaces`,`AzureInformationProtection`,`AzureIoTHub`,`AzureKeyVault`,`AzureManagedGrafana`,`AzureMonitor`,`AzureOpenDatasets`,`AzurePlatformDNS`,`AzurePlatformIMDS`,`AzurePlatformLKM`,`AzureResourceManager`,`AzureSignalR`,`AzureSiteRecovery`,`AzureSpringCloud`,`AzureStack`,`AzureUpdateDelivery`,`DataFactoryManagement`,`EventHub`,`GuestAndHybridManagement`,`M365ManagementActivityApi`,`M365ManagementActivityApi`,`MicrosoftAzureFluidRelay`,`MicrosoftCloudAppSecurity`,`MicrosoftContainerRegistry`,`PowerPlatformInfra`,`ServiceBus`,`Sql`,`Storage`,`WindowsAdminCenter`,`AppServiceManagement`,`AutonomousDevelopmentPlatform`,`AzureActiveDirectoryDomainServices`,`AzureCloud`,`AzureConnectors`,`AzureContainerAppsService`,`AzureDatabricks`,`AzureDeviceUpdate`,`AzureEventGrid`,`AzureFrontDoor.Frontend`,`AzureFrontDoor.Backend`,`AzureFrontDoor.FirstParty`,`AzureHealthcareAPIs`,`AzureLoadBalancer`,`AzureMachineLearning`,`AzureSphere`,`AzureWebPubSub`,`BatchNodeManagement`,`ChaosStudio`,`CognitiveServicesFrontend`,`CognitiveServicesManagement`,`DataFactory`,`Dynamics365ForMarketingEmail`,`Dynamics365BusinessCentral`,`EOPExternalPublishedIPs`,`Internet`,`LogicApps`,`Marketplace`,`MicrosoftDefenderForEndpoint`,`PowerBI`,`PowerQueryOnline`,`ServiceFabric`,`SqlManagement`,`StorageSyncService`,`WindowsVirtualDesktop` and `VirtualNetwork`.\n"},"workspaceId":{"type":"string","description":"Specifies the ID of the Machine Learning Workspace. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["portRanges","protocol","serviceTag","workspaceId"],"stateInputs":{"description":"Input properties used for looking up and filtering WorkspaceNetworkOutboundRuleServiceTag resources.\n","properties":{"name":{"type":"string","description":"Specifies the name of the Machine Learning Workspace Network Outbound Rule Service Tag. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"portRanges":{"type":"string","description":"Specifies which ports traffic will be allowed by this rule. You can specify a single port (e.g. ` 80`) , a port range (e.g. `1024-655535`) or a comma-separated list of single ports and/or port ranges(e.g. `80,1024-655535`). `*` can be used to allow traffic on any port.\n"},"protocol":{"type":"string","description":"Specifies the network protocol. Possible values are `*`, `TCP`, `UDP` and `ICMP`\n"},"serviceTag":{"type":"string","description":"Specifies the fully qualified domain name to allow for outbound traffic. Possible values are `AppConfiguration`,`AppService`,`AzureActiveDirectory`,`AzureAdvancedThreatProtection`,`AzureArcInfrastructure`,`AzureAttestation`,`AzureBackup`,`AzureBotService`,`AzureContainerRegistry`,`AzureCosmosDB`,`AzureDataLake`,`AzureDevSpaces`,`AzureInformationProtection`,`AzureIoTHub`,`AzureKeyVault`,`AzureManagedGrafana`,`AzureMonitor`,`AzureOpenDatasets`,`AzurePlatformDNS`,`AzurePlatformIMDS`,`AzurePlatformLKM`,`AzureResourceManager`,`AzureSignalR`,`AzureSiteRecovery`,`AzureSpringCloud`,`AzureStack`,`AzureUpdateDelivery`,`DataFactoryManagement`,`EventHub`,`GuestAndHybridManagement`,`M365ManagementActivityApi`,`M365ManagementActivityApi`,`MicrosoftAzureFluidRelay`,`MicrosoftCloudAppSecurity`,`MicrosoftContainerRegistry`,`PowerPlatformInfra`,`ServiceBus`,`Sql`,`Storage`,`WindowsAdminCenter`,`AppServiceManagement`,`AutonomousDevelopmentPlatform`,`AzureActiveDirectoryDomainServices`,`AzureCloud`,`AzureConnectors`,`AzureContainerAppsService`,`AzureDatabricks`,`AzureDeviceUpdate`,`AzureEventGrid`,`AzureFrontDoor.Frontend`,`AzureFrontDoor.Backend`,`AzureFrontDoor.FirstParty`,`AzureHealthcareAPIs`,`AzureLoadBalancer`,`AzureMachineLearning`,`AzureSphere`,`AzureWebPubSub`,`BatchNodeManagement`,`ChaosStudio`,`CognitiveServicesFrontend`,`CognitiveServicesManagement`,`DataFactory`,`Dynamics365ForMarketingEmail`,`Dynamics365BusinessCentral`,`EOPExternalPublishedIPs`,`Internet`,`LogicApps`,`Marketplace`,`MicrosoftDefenderForEndpoint`,`PowerBI`,`PowerQueryOnline`,`ServiceFabric`,`SqlManagement`,`StorageSyncService`,`WindowsVirtualDesktop` and `VirtualNetwork`.\n"},"workspaceId":{"type":"string","description":"Specifies the ID of the Machine Learning Workspace. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:maintenance/assignmentDedicatedHost:AssignmentDedicatedHost":{"description":"Manages a maintenance assignment to Dedicated Host.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleDedicatedHostGroup = new azure.compute.DedicatedHostGroup(\"example\", {\n    name: \"example-host-group\",\n    resourceGroupName: example.name,\n    location: example.location,\n    platformFaultDomainCount: 2,\n});\nconst exampleDedicatedHost = new azure.compute.DedicatedHost(\"example\", {\n    name: \"example-host\",\n    location: example.location,\n    dedicatedHostGroupId: exampleDedicatedHostGroup.id,\n    skuName: \"DSv3-Type3\",\n    platformFaultDomain: 1,\n});\nconst exampleConfiguration = new azure.maintenance.Configuration(\"example\", {\n    name: \"example-mc\",\n    resourceGroupName: example.name,\n    location: example.location,\n    scope: \"Host\",\n});\nconst exampleAssignmentDedicatedHost = new azure.maintenance.AssignmentDedicatedHost(\"example\", {\n    location: example.location,\n    maintenanceConfigurationId: exampleConfiguration.id,\n    dedicatedHostId: exampleDedicatedHost.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_dedicated_host_group = azure.compute.DedicatedHostGroup(\"example\",\n    name=\"example-host-group\",\n    resource_group_name=example.name,\n    location=example.location,\n    platform_fault_domain_count=2)\nexample_dedicated_host = azure.compute.DedicatedHost(\"example\",\n    name=\"example-host\",\n    location=example.location,\n    dedicated_host_group_id=example_dedicated_host_group.id,\n    sku_name=\"DSv3-Type3\",\n    platform_fault_domain=1)\nexample_configuration = azure.maintenance.Configuration(\"example\",\n    name=\"example-mc\",\n    resource_group_name=example.name,\n    location=example.location,\n    scope=\"Host\")\nexample_assignment_dedicated_host = azure.maintenance.AssignmentDedicatedHost(\"example\",\n    location=example.location,\n    maintenance_configuration_id=example_configuration.id,\n    dedicated_host_id=example_dedicated_host.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleDedicatedHostGroup = new Azure.Compute.DedicatedHostGroup(\"example\", new()\n    {\n        Name = \"example-host-group\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        PlatformFaultDomainCount = 2,\n    });\n\n    var exampleDedicatedHost = new Azure.Compute.DedicatedHost(\"example\", new()\n    {\n        Name = \"example-host\",\n        Location = example.Location,\n        DedicatedHostGroupId = exampleDedicatedHostGroup.Id,\n        SkuName = \"DSv3-Type3\",\n        PlatformFaultDomain = 1,\n    });\n\n    var exampleConfiguration = new Azure.Maintenance.Configuration(\"example\", new()\n    {\n        Name = \"example-mc\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        Scope = \"Host\",\n    });\n\n    var exampleAssignmentDedicatedHost = new Azure.Maintenance.AssignmentDedicatedHost(\"example\", new()\n    {\n        Location = example.Location,\n        MaintenanceConfigurationId = exampleConfiguration.Id,\n        DedicatedHostId = exampleDedicatedHost.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/compute\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/maintenance\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleDedicatedHostGroup, err := compute.NewDedicatedHostGroup(ctx, \"example\", \u0026compute.DedicatedHostGroupArgs{\n\t\t\tName:                     pulumi.String(\"example-host-group\"),\n\t\t\tResourceGroupName:        example.Name,\n\t\t\tLocation:                 example.Location,\n\t\t\tPlatformFaultDomainCount: pulumi.Int(2),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleDedicatedHost, err := compute.NewDedicatedHost(ctx, \"example\", \u0026compute.DedicatedHostArgs{\n\t\t\tName:                 pulumi.String(\"example-host\"),\n\t\t\tLocation:             example.Location,\n\t\t\tDedicatedHostGroupId: exampleDedicatedHostGroup.ID(),\n\t\t\tSkuName:              pulumi.String(\"DSv3-Type3\"),\n\t\t\tPlatformFaultDomain:  pulumi.Int(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleConfiguration, err := maintenance.NewConfiguration(ctx, \"example\", \u0026maintenance.ConfigurationArgs{\n\t\t\tName:              pulumi.String(\"example-mc\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tScope:             pulumi.String(\"Host\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = maintenance.NewAssignmentDedicatedHost(ctx, \"example\", \u0026maintenance.AssignmentDedicatedHostArgs{\n\t\t\tLocation:                   example.Location,\n\t\t\tMaintenanceConfigurationId: exampleConfiguration.ID(),\n\t\t\tDedicatedHostId:            exampleDedicatedHost.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.compute.DedicatedHostGroup;\nimport com.pulumi.azure.compute.DedicatedHostGroupArgs;\nimport com.pulumi.azure.compute.DedicatedHost;\nimport com.pulumi.azure.compute.DedicatedHostArgs;\nimport com.pulumi.azure.maintenance.Configuration;\nimport com.pulumi.azure.maintenance.ConfigurationArgs;\nimport com.pulumi.azure.maintenance.AssignmentDedicatedHost;\nimport com.pulumi.azure.maintenance.AssignmentDedicatedHostArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleDedicatedHostGroup = new DedicatedHostGroup(\"exampleDedicatedHostGroup\", DedicatedHostGroupArgs.builder()\n            .name(\"example-host-group\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .platformFaultDomainCount(2)\n            .build());\n\n        var exampleDedicatedHost = new DedicatedHost(\"exampleDedicatedHost\", DedicatedHostArgs.builder()\n            .name(\"example-host\")\n            .location(example.location())\n            .dedicatedHostGroupId(exampleDedicatedHostGroup.id())\n            .skuName(\"DSv3-Type3\")\n            .platformFaultDomain(1)\n            .build());\n\n        var exampleConfiguration = new Configuration(\"exampleConfiguration\", ConfigurationArgs.builder()\n            .name(\"example-mc\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .scope(\"Host\")\n            .build());\n\n        var exampleAssignmentDedicatedHost = new AssignmentDedicatedHost(\"exampleAssignmentDedicatedHost\", AssignmentDedicatedHostArgs.builder()\n            .location(example.location())\n            .maintenanceConfigurationId(exampleConfiguration.id())\n            .dedicatedHostId(exampleDedicatedHost.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleDedicatedHostGroup:\n    type: azure:compute:DedicatedHostGroup\n    name: example\n    properties:\n      name: example-host-group\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      platformFaultDomainCount: 2\n  exampleDedicatedHost:\n    type: azure:compute:DedicatedHost\n    name: example\n    properties:\n      name: example-host\n      location: ${example.location}\n      dedicatedHostGroupId: ${exampleDedicatedHostGroup.id}\n      skuName: DSv3-Type3\n      platformFaultDomain: 1\n  exampleConfiguration:\n    type: azure:maintenance:Configuration\n    name: example\n    properties:\n      name: example-mc\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      scope: Host\n  exampleAssignmentDedicatedHost:\n    type: azure:maintenance:AssignmentDedicatedHost\n    name: example\n    properties:\n      location: ${example.location}\n      maintenanceConfigurationId: ${exampleConfiguration.id}\n      dedicatedHostId: ${exampleDedicatedHost.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Maintenance` - 2023-04-01\n\n## Import\n\nMaintenance Assignment can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:maintenance/assignmentDedicatedHost:AssignmentDedicatedHost example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resGroup1/providers/Microsoft.Compute/hostGroups/group1/hosts/host1/providers/Microsoft.Maintenance/configurationAssignments/assign1\n```\n\n","properties":{"dedicatedHostId":{"type":"string","description":"Specifies the Dedicated Host ID to which the Maintenance Configuration will be assigned. Changing this forces a new resource to be created.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n"},"maintenanceConfigurationId":{"type":"string","description":"Specifies the ID of the Maintenance Configuration Resource. Changing this forces a new resource to be created.\n"}},"required":["dedicatedHostId","location","maintenanceConfigurationId"],"inputProperties":{"dedicatedHostId":{"type":"string","description":"Specifies the Dedicated Host ID to which the Maintenance Configuration will be assigned. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"maintenanceConfigurationId":{"type":"string","description":"Specifies the ID of the Maintenance Configuration Resource. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["dedicatedHostId","maintenanceConfigurationId"],"stateInputs":{"description":"Input properties used for looking up and filtering AssignmentDedicatedHost resources.\n","properties":{"dedicatedHostId":{"type":"string","description":"Specifies the Dedicated Host ID to which the Maintenance Configuration will be assigned. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"maintenanceConfigurationId":{"type":"string","description":"Specifies the ID of the Maintenance Configuration Resource. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:maintenance/assignmentDynamicScope:AssignmentDynamicScope":{"description":"Manages a Dynamic Maintenance Assignment.\n\n\u003e **Note:** Only valid for `InGuestPatch` Maintenance Configuration Scopes.\n\n## Import\n\nDynamic Maintenance Assignments can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:maintenance/assignmentDynamicScope:AssignmentDynamicScope example /subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Maintenance/configurationAssignments/assignmentName\n```\n\n","properties":{"filter":{"$ref":"#/types/azure:maintenance/AssignmentDynamicScopeFilter:AssignmentDynamicScopeFilter","description":"A \u003cspan pulumi-lang-nodejs=\"`filter`\" pulumi-lang-dotnet=\"`Filter`\" pulumi-lang-go=\"`filter`\" pulumi-lang-python=\"`filter`\" pulumi-lang-yaml=\"`filter`\" pulumi-lang-java=\"`filter`\"\u003e`filter`\u003c/span\u003e block as defined below.\n"},"maintenanceConfigurationId":{"type":"string","description":"The ID of the Maintenance Configuration Resource. Changing this forces a new Dynamic Maintenance Assignment to be created.\n"},"name":{"type":"string","description":"The name which should be used for this Dynamic Maintenance Assignment. Changing this forces a new Dynamic Maintenance Assignment to be created.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e must be unique per subscription.\n"}},"required":["filter","maintenanceConfigurationId","name"],"inputProperties":{"filter":{"$ref":"#/types/azure:maintenance/AssignmentDynamicScopeFilter:AssignmentDynamicScopeFilter","description":"A \u003cspan pulumi-lang-nodejs=\"`filter`\" pulumi-lang-dotnet=\"`Filter`\" pulumi-lang-go=\"`filter`\" pulumi-lang-python=\"`filter`\" pulumi-lang-yaml=\"`filter`\" pulumi-lang-java=\"`filter`\"\u003e`filter`\u003c/span\u003e block as defined below.\n"},"maintenanceConfigurationId":{"type":"string","description":"The ID of the Maintenance Configuration Resource. Changing this forces a new Dynamic Maintenance Assignment to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Dynamic Maintenance Assignment. Changing this forces a new Dynamic Maintenance Assignment to be created.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e must be unique per subscription.\n","willReplaceOnChanges":true}},"requiredInputs":["filter","maintenanceConfigurationId"],"stateInputs":{"description":"Input properties used for looking up and filtering AssignmentDynamicScope resources.\n","properties":{"filter":{"$ref":"#/types/azure:maintenance/AssignmentDynamicScopeFilter:AssignmentDynamicScopeFilter","description":"A \u003cspan pulumi-lang-nodejs=\"`filter`\" pulumi-lang-dotnet=\"`Filter`\" pulumi-lang-go=\"`filter`\" pulumi-lang-python=\"`filter`\" pulumi-lang-yaml=\"`filter`\" pulumi-lang-java=\"`filter`\"\u003e`filter`\u003c/span\u003e block as defined below.\n"},"maintenanceConfigurationId":{"type":"string","description":"The ID of the Maintenance Configuration Resource. Changing this forces a new Dynamic Maintenance Assignment to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Dynamic Maintenance Assignment. Changing this forces a new Dynamic Maintenance Assignment to be created.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e must be unique per subscription.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:maintenance/assignmentVirtualMachine:AssignmentVirtualMachine":{"description":"Manages a maintenance assignment to virtual machine.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\nimport * as std from \"@pulumi/std\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"example\", {\n    name: \"example-network\",\n    addressSpaces: [\"10.0.0.0/16\"],\n    location: example.location,\n    resourceGroupName: example.name,\n});\nconst exampleSubnet = new azure.network.Subnet(\"example\", {\n    name: \"internal\",\n    resourceGroupName: example.name,\n    virtualNetworkName: exampleVirtualNetwork.name,\n    addressPrefixes: [\"10.0.2.0/24\"],\n});\nconst exampleNetworkInterface = new azure.network.NetworkInterface(\"example\", {\n    name: \"example-nic\",\n    location: example.location,\n    resourceGroupName: example.name,\n    ipConfigurations: [{\n        name: \"internal\",\n        subnetId: exampleSubnet.id,\n        privateIpAddressAllocation: \"Dynamic\",\n    }],\n});\nconst exampleLinuxVirtualMachine = new azure.compute.LinuxVirtualMachine(\"example\", {\n    name: \"example-machine\",\n    resourceGroupName: example.name,\n    location: example.location,\n    size: \"Standard_F2\",\n    adminUsername: \"adminuser\",\n    networkInterfaceIds: [exampleNetworkInterface.id],\n    adminSshKeys: [{\n        username: \"adminuser\",\n        publicKey: std.file({\n            input: \"~/.ssh/id_rsa.pub\",\n        }).then(invoke =\u003e invoke.result),\n    }],\n    osDisk: {\n        caching: \"ReadWrite\",\n        storageAccountType: \"Standard_LRS\",\n    },\n    sourceImageReference: {\n        publisher: \"Canonical\",\n        offer: \"0001-com-ubuntu-server-jammy\",\n        sku: \"22_04-lts\",\n        version: \"latest\",\n    },\n});\nconst exampleConfiguration = new azure.maintenance.Configuration(\"example\", {\n    name: \"example-mc\",\n    resourceGroupName: example.name,\n    location: example.location,\n    scope: \"All\",\n});\nconst exampleAssignmentVirtualMachine = new azure.maintenance.AssignmentVirtualMachine(\"example\", {\n    location: example.location,\n    maintenanceConfigurationId: exampleConfiguration.id,\n    virtualMachineId: exampleLinuxVirtualMachine.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\nimport pulumi_std as std\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_virtual_network = azure.network.VirtualNetwork(\"example\",\n    name=\"example-network\",\n    address_spaces=[\"10.0.0.0/16\"],\n    location=example.location,\n    resource_group_name=example.name)\nexample_subnet = azure.network.Subnet(\"example\",\n    name=\"internal\",\n    resource_group_name=example.name,\n    virtual_network_name=example_virtual_network.name,\n    address_prefixes=[\"10.0.2.0/24\"])\nexample_network_interface = azure.network.NetworkInterface(\"example\",\n    name=\"example-nic\",\n    location=example.location,\n    resource_group_name=example.name,\n    ip_configurations=[{\n        \"name\": \"internal\",\n        \"subnet_id\": example_subnet.id,\n        \"private_ip_address_allocation\": \"Dynamic\",\n    }])\nexample_linux_virtual_machine = azure.compute.LinuxVirtualMachine(\"example\",\n    name=\"example-machine\",\n    resource_group_name=example.name,\n    location=example.location,\n    size=\"Standard_F2\",\n    admin_username=\"adminuser\",\n    network_interface_ids=[example_network_interface.id],\n    admin_ssh_keys=[{\n        \"username\": \"adminuser\",\n        \"public_key\": std.file(input=\"~/.ssh/id_rsa.pub\").result,\n    }],\n    os_disk={\n        \"caching\": \"ReadWrite\",\n        \"storage_account_type\": \"Standard_LRS\",\n    },\n    source_image_reference={\n        \"publisher\": \"Canonical\",\n        \"offer\": \"0001-com-ubuntu-server-jammy\",\n        \"sku\": \"22_04-lts\",\n        \"version\": \"latest\",\n    })\nexample_configuration = azure.maintenance.Configuration(\"example\",\n    name=\"example-mc\",\n    resource_group_name=example.name,\n    location=example.location,\n    scope=\"All\")\nexample_assignment_virtual_machine = azure.maintenance.AssignmentVirtualMachine(\"example\",\n    location=example.location,\n    maintenance_configuration_id=example_configuration.id,\n    virtual_machine_id=example_linux_virtual_machine.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleVirtualNetwork = new Azure.Network.VirtualNetwork(\"example\", new()\n    {\n        Name = \"example-network\",\n        AddressSpaces = new[]\n        {\n            \"10.0.0.0/16\",\n        },\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n    });\n\n    var exampleSubnet = new Azure.Network.Subnet(\"example\", new()\n    {\n        Name = \"internal\",\n        ResourceGroupName = example.Name,\n        VirtualNetworkName = exampleVirtualNetwork.Name,\n        AddressPrefixes = new[]\n        {\n            \"10.0.2.0/24\",\n        },\n    });\n\n    var exampleNetworkInterface = new Azure.Network.NetworkInterface(\"example\", new()\n    {\n        Name = \"example-nic\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        IpConfigurations = new[]\n        {\n            new Azure.Network.Inputs.NetworkInterfaceIpConfigurationArgs\n            {\n                Name = \"internal\",\n                SubnetId = exampleSubnet.Id,\n                PrivateIpAddressAllocation = \"Dynamic\",\n            },\n        },\n    });\n\n    var exampleLinuxVirtualMachine = new Azure.Compute.LinuxVirtualMachine(\"example\", new()\n    {\n        Name = \"example-machine\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        Size = \"Standard_F2\",\n        AdminUsername = \"adminuser\",\n        NetworkInterfaceIds = new[]\n        {\n            exampleNetworkInterface.Id,\n        },\n        AdminSshKeys = new[]\n        {\n            new Azure.Compute.Inputs.LinuxVirtualMachineAdminSshKeyArgs\n            {\n                Username = \"adminuser\",\n                PublicKey = Std.File.Invoke(new()\n                {\n                    Input = \"~/.ssh/id_rsa.pub\",\n                }).Apply(invoke =\u003e invoke.Result),\n            },\n        },\n        OsDisk = new Azure.Compute.Inputs.LinuxVirtualMachineOsDiskArgs\n        {\n            Caching = \"ReadWrite\",\n            StorageAccountType = \"Standard_LRS\",\n        },\n        SourceImageReference = new Azure.Compute.Inputs.LinuxVirtualMachineSourceImageReferenceArgs\n        {\n            Publisher = \"Canonical\",\n            Offer = \"0001-com-ubuntu-server-jammy\",\n            Sku = \"22_04-lts\",\n            Version = \"latest\",\n        },\n    });\n\n    var exampleConfiguration = new Azure.Maintenance.Configuration(\"example\", new()\n    {\n        Name = \"example-mc\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        Scope = \"All\",\n    });\n\n    var exampleAssignmentVirtualMachine = new Azure.Maintenance.AssignmentVirtualMachine(\"example\", new()\n    {\n        Location = example.Location,\n        MaintenanceConfigurationId = exampleConfiguration.Id,\n        VirtualMachineId = exampleLinuxVirtualMachine.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/compute\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/maintenance\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, \"example\", \u0026network.VirtualNetworkArgs{\n\t\t\tName: pulumi.String(\"example-network\"),\n\t\t\tAddressSpaces: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.0.0/16\"),\n\t\t\t},\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSubnet, err := network.NewSubnet(ctx, \"example\", \u0026network.SubnetArgs{\n\t\t\tName:               pulumi.String(\"internal\"),\n\t\t\tResourceGroupName:  example.Name,\n\t\t\tVirtualNetworkName: exampleVirtualNetwork.Name,\n\t\t\tAddressPrefixes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.2.0/24\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNetworkInterface, err := network.NewNetworkInterface(ctx, \"example\", \u0026network.NetworkInterfaceArgs{\n\t\t\tName:              pulumi.String(\"example-nic\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tIpConfigurations: network.NetworkInterfaceIpConfigurationArray{\n\t\t\t\t\u0026network.NetworkInterfaceIpConfigurationArgs{\n\t\t\t\t\tName:                       pulumi.String(\"internal\"),\n\t\t\t\t\tSubnetId:                   exampleSubnet.ID(),\n\t\t\t\t\tPrivateIpAddressAllocation: pulumi.String(\"Dynamic\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"~/.ssh/id_rsa.pub\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleLinuxVirtualMachine, err := compute.NewLinuxVirtualMachine(ctx, \"example\", \u0026compute.LinuxVirtualMachineArgs{\n\t\t\tName:              pulumi.String(\"example-machine\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tSize:              pulumi.String(\"Standard_F2\"),\n\t\t\tAdminUsername:     pulumi.String(\"adminuser\"),\n\t\t\tNetworkInterfaceIds: pulumi.StringArray{\n\t\t\t\texampleNetworkInterface.ID(),\n\t\t\t},\n\t\t\tAdminSshKeys: compute.LinuxVirtualMachineAdminSshKeyArray{\n\t\t\t\t\u0026compute.LinuxVirtualMachineAdminSshKeyArgs{\n\t\t\t\t\tUsername:  pulumi.String(\"adminuser\"),\n\t\t\t\t\tPublicKey: pulumi.String(invokeFile.Result),\n\t\t\t\t},\n\t\t\t},\n\t\t\tOsDisk: \u0026compute.LinuxVirtualMachineOsDiskArgs{\n\t\t\t\tCaching:            pulumi.String(\"ReadWrite\"),\n\t\t\t\tStorageAccountType: pulumi.String(\"Standard_LRS\"),\n\t\t\t},\n\t\t\tSourceImageReference: \u0026compute.LinuxVirtualMachineSourceImageReferenceArgs{\n\t\t\t\tPublisher: pulumi.String(\"Canonical\"),\n\t\t\t\tOffer:     pulumi.String(\"0001-com-ubuntu-server-jammy\"),\n\t\t\t\tSku:       pulumi.String(\"22_04-lts\"),\n\t\t\t\tVersion:   pulumi.String(\"latest\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleConfiguration, err := maintenance.NewConfiguration(ctx, \"example\", \u0026maintenance.ConfigurationArgs{\n\t\t\tName:              pulumi.String(\"example-mc\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tScope:             pulumi.String(\"All\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = maintenance.NewAssignmentVirtualMachine(ctx, \"example\", \u0026maintenance.AssignmentVirtualMachineArgs{\n\t\t\tLocation:                   example.Location,\n\t\t\tMaintenanceConfigurationId: exampleConfiguration.ID(),\n\t\t\tVirtualMachineId:           exampleLinuxVirtualMachine.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.VirtualNetwork;\nimport com.pulumi.azure.network.VirtualNetworkArgs;\nimport com.pulumi.azure.network.Subnet;\nimport com.pulumi.azure.network.SubnetArgs;\nimport com.pulumi.azure.network.NetworkInterface;\nimport com.pulumi.azure.network.NetworkInterfaceArgs;\nimport com.pulumi.azure.network.inputs.NetworkInterfaceIpConfigurationArgs;\nimport com.pulumi.azure.compute.LinuxVirtualMachine;\nimport com.pulumi.azure.compute.LinuxVirtualMachineArgs;\nimport com.pulumi.azure.compute.inputs.LinuxVirtualMachineAdminSshKeyArgs;\nimport com.pulumi.azure.compute.inputs.LinuxVirtualMachineOsDiskArgs;\nimport com.pulumi.azure.compute.inputs.LinuxVirtualMachineSourceImageReferenceArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.FileArgs;\nimport com.pulumi.azure.maintenance.Configuration;\nimport com.pulumi.azure.maintenance.ConfigurationArgs;\nimport com.pulumi.azure.maintenance.AssignmentVirtualMachine;\nimport com.pulumi.azure.maintenance.AssignmentVirtualMachineArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleVirtualNetwork = new VirtualNetwork(\"exampleVirtualNetwork\", VirtualNetworkArgs.builder()\n            .name(\"example-network\")\n            .addressSpaces(\"10.0.0.0/16\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .build());\n\n        var exampleSubnet = new Subnet(\"exampleSubnet\", SubnetArgs.builder()\n            .name(\"internal\")\n            .resourceGroupName(example.name())\n            .virtualNetworkName(exampleVirtualNetwork.name())\n            .addressPrefixes(\"10.0.2.0/24\")\n            .build());\n\n        var exampleNetworkInterface = new NetworkInterface(\"exampleNetworkInterface\", NetworkInterfaceArgs.builder()\n            .name(\"example-nic\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .ipConfigurations(NetworkInterfaceIpConfigurationArgs.builder()\n                .name(\"internal\")\n                .subnetId(exampleSubnet.id())\n                .privateIpAddressAllocation(\"Dynamic\")\n                .build())\n            .build());\n\n        var exampleLinuxVirtualMachine = new LinuxVirtualMachine(\"exampleLinuxVirtualMachine\", LinuxVirtualMachineArgs.builder()\n            .name(\"example-machine\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .size(\"Standard_F2\")\n            .adminUsername(\"adminuser\")\n            .networkInterfaceIds(exampleNetworkInterface.id())\n            .adminSshKeys(LinuxVirtualMachineAdminSshKeyArgs.builder()\n                .username(\"adminuser\")\n                .publicKey(StdFunctions.file(FileArgs.builder()\n                    .input(\"~/.ssh/id_rsa.pub\")\n                    .build()).result())\n                .build())\n            .osDisk(LinuxVirtualMachineOsDiskArgs.builder()\n                .caching(\"ReadWrite\")\n                .storageAccountType(\"Standard_LRS\")\n                .build())\n            .sourceImageReference(LinuxVirtualMachineSourceImageReferenceArgs.builder()\n                .publisher(\"Canonical\")\n                .offer(\"0001-com-ubuntu-server-jammy\")\n                .sku(\"22_04-lts\")\n                .version(\"latest\")\n                .build())\n            .build());\n\n        var exampleConfiguration = new Configuration(\"exampleConfiguration\", ConfigurationArgs.builder()\n            .name(\"example-mc\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .scope(\"All\")\n            .build());\n\n        var exampleAssignmentVirtualMachine = new AssignmentVirtualMachine(\"exampleAssignmentVirtualMachine\", AssignmentVirtualMachineArgs.builder()\n            .location(example.location())\n            .maintenanceConfigurationId(exampleConfiguration.id())\n            .virtualMachineId(exampleLinuxVirtualMachine.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleVirtualNetwork:\n    type: azure:network:VirtualNetwork\n    name: example\n    properties:\n      name: example-network\n      addressSpaces:\n        - 10.0.0.0/16\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n  exampleSubnet:\n    type: azure:network:Subnet\n    name: example\n    properties:\n      name: internal\n      resourceGroupName: ${example.name}\n      virtualNetworkName: ${exampleVirtualNetwork.name}\n      addressPrefixes:\n        - 10.0.2.0/24\n  exampleNetworkInterface:\n    type: azure:network:NetworkInterface\n    name: example\n    properties:\n      name: example-nic\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      ipConfigurations:\n        - name: internal\n          subnetId: ${exampleSubnet.id}\n          privateIpAddressAllocation: Dynamic\n  exampleLinuxVirtualMachine:\n    type: azure:compute:LinuxVirtualMachine\n    name: example\n    properties:\n      name: example-machine\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      size: Standard_F2\n      adminUsername: adminuser\n      networkInterfaceIds:\n        - ${exampleNetworkInterface.id}\n      adminSshKeys:\n        - username: adminuser\n          publicKey:\n            fn::invoke:\n              function: std:file\n              arguments:\n                input: ~/.ssh/id_rsa.pub\n              return: result\n      osDisk:\n        caching: ReadWrite\n        storageAccountType: Standard_LRS\n      sourceImageReference:\n        publisher: Canonical\n        offer: 0001-com-ubuntu-server-jammy\n        sku: 22_04-lts\n        version: latest\n  exampleConfiguration:\n    type: azure:maintenance:Configuration\n    name: example\n    properties:\n      name: example-mc\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      scope: All\n  exampleAssignmentVirtualMachine:\n    type: azure:maintenance:AssignmentVirtualMachine\n    name: example\n    properties:\n      location: ${example.location}\n      maintenanceConfigurationId: ${exampleConfiguration.id}\n      virtualMachineId: ${exampleLinuxVirtualMachine.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Maintenance` - 2023-04-01\n\n## Import\n\nMaintenance Assignment can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:maintenance/assignmentVirtualMachine:AssignmentVirtualMachine example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resGroup1/providers/Microsoft.Compute/virtualMachines/vm1/providers/Microsoft.Maintenance/configurationAssignments/assign1\n```\n\n","properties":{"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n"},"maintenanceConfigurationId":{"type":"string","description":"Specifies the ID of the Maintenance Configuration Resource. Changing this forces a new resource to be created.\n"},"virtualMachineId":{"type":"string","description":"Specifies the Virtual Machine ID to which the Maintenance Configuration will be assigned. Changing this forces a new resource to be created.\n"}},"required":["location","maintenanceConfigurationId","virtualMachineId"],"inputProperties":{"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"maintenanceConfigurationId":{"type":"string","description":"Specifies the ID of the Maintenance Configuration Resource. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"virtualMachineId":{"type":"string","description":"Specifies the Virtual Machine ID to which the Maintenance Configuration will be assigned. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["maintenanceConfigurationId","virtualMachineId"],"stateInputs":{"description":"Input properties used for looking up and filtering AssignmentVirtualMachine resources.\n","properties":{"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"maintenanceConfigurationId":{"type":"string","description":"Specifies the ID of the Maintenance Configuration Resource. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"virtualMachineId":{"type":"string","description":"Specifies the Virtual Machine ID to which the Maintenance Configuration will be assigned. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:maintenance/assignmentVirtualMachineScaleSet:AssignmentVirtualMachineScaleSet":{"description":"Manages a maintenance assignment to a virtual machine scale set.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"example\", {\n    name: \"example-network\",\n    addressSpaces: [\"10.0.0.0/16\"],\n    location: example.location,\n    resourceGroupName: example.name,\n});\nconst exampleSubnet = new azure.network.Subnet(\"example\", {\n    name: \"internal\",\n    resourceGroupName: example.name,\n    virtualNetworkName: exampleVirtualNetwork.name,\n    addressPrefixes: [\"10.0.2.0/24\"],\n});\nconst examplePublicIp = new azure.network.PublicIp(\"example\", {\n    name: example.name,\n    location: example.location,\n    resourceGroupName: example.name,\n    allocationMethod: \"Static\",\n});\nconst exampleLoadBalancer = new azure.lb.LoadBalancer(\"example\", {\n    name: example.name,\n    location: example.location,\n    resourceGroupName: example.name,\n    frontendIpConfigurations: [{\n        name: \"internal\",\n        publicIpAddressId: examplePublicIp.id,\n    }],\n});\nconst exampleBackendAddressPool = new azure.lb.BackendAddressPool(\"example\", {\n    name: \"example\",\n    loadbalancerId: exampleLoadBalancer.id,\n});\nconst exampleProbe = new azure.lb.Probe(\"example\", {\n    name: \"example\",\n    loadbalancerId: exampleLoadBalancer.id,\n    port: 22,\n    protocol: \"Tcp\",\n});\nconst exampleRule = new azure.lb.Rule(\"example\", {\n    name: \"example\",\n    loadbalancerId: exampleLoadBalancer.id,\n    probeId: exampleProbe.id,\n    frontendIpConfigurationName: \"internal\",\n    protocol: \"Tcp\",\n    frontendPort: 22,\n    backendPort: 22,\n});\nconst exampleConfiguration = new azure.maintenance.Configuration(\"example\", {\n    name: \"example\",\n    resourceGroupName: example.name,\n    location: example.location,\n    scope: \"OSImage\",\n    visibility: \"Custom\",\n    window: {\n        startDateTime: \"2021-12-31 00:00\",\n        expirationDateTime: \"9999-12-31 00:00\",\n        duration: \"06:00\",\n        timeZone: \"Pacific Standard Time\",\n        recurEvery: \"1Days\",\n    },\n});\nconst exampleNetworkInterface = new azure.network.NetworkInterface(\"example\", {\n    name: \"sample-nic\",\n    location: example.location,\n    resourceGroupName: example.name,\n    ipConfigurations: [{\n        name: \"testconfiguration1\",\n        privateIpAddressAllocation: \"Dynamic\",\n    }],\n});\nconst exampleLinuxVirtualMachine = new azure.compute.LinuxVirtualMachine(\"example\", {\n    name: \"example-machine\",\n    resourceGroupName: example.name,\n    location: example.location,\n    size: \"Standard_F2\",\n    adminUsername: \"adminuser\",\n    networkInterfaceIds: [exampleNetworkInterface.id],\n    osDisk: {\n        caching: \"ReadWrite\",\n        storageAccountType: \"Standard_LRS\",\n    },\n});\nconst exampleLinuxVirtualMachineScaleSet = new azure.compute.LinuxVirtualMachineScaleSet(\"example\", {\n    name: \"example\",\n    resourceGroupName: example.name,\n    location: example.location,\n    sku: \"Standard_F2\",\n    instances: 1,\n    adminUsername: \"adminuser\",\n    adminPassword: \"P@ssword1234!\",\n    upgradeMode: \"Automatic\",\n    healthProbeId: exampleProbe.id,\n    disablePasswordAuthentication: false,\n    sourceImageReference: {\n        publisher: \"Canonical\",\n        offer: \"0001-com-ubuntu-server-jammy\",\n        sku: \"22_04-lts\",\n        version: \"latest\",\n    },\n    osDisk: {\n        storageAccountType: \"Standard_LRS\",\n        caching: \"ReadWrite\",\n    },\n    networkInterfaces: [{\n        name: \"example\",\n        primary: true,\n        ipConfigurations: [{\n            name: \"internal\",\n            primary: true,\n            subnetId: exampleSubnet.id,\n            loadBalancerBackendAddressPoolIds: [exampleBackendAddressPool.id],\n        }],\n    }],\n    automaticOsUpgradePolicy: {\n        disableAutomaticRollback: true,\n        enableAutomaticOsUpgrade: true,\n    },\n    rollingUpgradePolicy: {\n        maxBatchInstancePercent: 20,\n        maxUnhealthyInstancePercent: 20,\n        maxUnhealthyUpgradedInstancePercent: 20,\n        pauseTimeBetweenBatches: \"PT0S\",\n    },\n}, {\n    dependsOn: [exampleRule],\n});\nconst exampleAssignmentVirtualMachineScaleSet = new azure.maintenance.AssignmentVirtualMachineScaleSet(\"example\", {\n    location: example.location,\n    maintenanceConfigurationId: exampleConfiguration.id,\n    virtualMachineScaleSetId: exampleLinuxVirtualMachine.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_virtual_network = azure.network.VirtualNetwork(\"example\",\n    name=\"example-network\",\n    address_spaces=[\"10.0.0.0/16\"],\n    location=example.location,\n    resource_group_name=example.name)\nexample_subnet = azure.network.Subnet(\"example\",\n    name=\"internal\",\n    resource_group_name=example.name,\n    virtual_network_name=example_virtual_network.name,\n    address_prefixes=[\"10.0.2.0/24\"])\nexample_public_ip = azure.network.PublicIp(\"example\",\n    name=example.name,\n    location=example.location,\n    resource_group_name=example.name,\n    allocation_method=\"Static\")\nexample_load_balancer = azure.lb.LoadBalancer(\"example\",\n    name=example.name,\n    location=example.location,\n    resource_group_name=example.name,\n    frontend_ip_configurations=[{\n        \"name\": \"internal\",\n        \"public_ip_address_id\": example_public_ip.id,\n    }])\nexample_backend_address_pool = azure.lb.BackendAddressPool(\"example\",\n    name=\"example\",\n    loadbalancer_id=example_load_balancer.id)\nexample_probe = azure.lb.Probe(\"example\",\n    name=\"example\",\n    loadbalancer_id=example_load_balancer.id,\n    port=22,\n    protocol=\"Tcp\")\nexample_rule = azure.lb.Rule(\"example\",\n    name=\"example\",\n    loadbalancer_id=example_load_balancer.id,\n    probe_id=example_probe.id,\n    frontend_ip_configuration_name=\"internal\",\n    protocol=\"Tcp\",\n    frontend_port=22,\n    backend_port=22)\nexample_configuration = azure.maintenance.Configuration(\"example\",\n    name=\"example\",\n    resource_group_name=example.name,\n    location=example.location,\n    scope=\"OSImage\",\n    visibility=\"Custom\",\n    window={\n        \"start_date_time\": \"2021-12-31 00:00\",\n        \"expiration_date_time\": \"9999-12-31 00:00\",\n        \"duration\": \"06:00\",\n        \"time_zone\": \"Pacific Standard Time\",\n        \"recur_every\": \"1Days\",\n    })\nexample_network_interface = azure.network.NetworkInterface(\"example\",\n    name=\"sample-nic\",\n    location=example.location,\n    resource_group_name=example.name,\n    ip_configurations=[{\n        \"name\": \"testconfiguration1\",\n        \"private_ip_address_allocation\": \"Dynamic\",\n    }])\nexample_linux_virtual_machine = azure.compute.LinuxVirtualMachine(\"example\",\n    name=\"example-machine\",\n    resource_group_name=example.name,\n    location=example.location,\n    size=\"Standard_F2\",\n    admin_username=\"adminuser\",\n    network_interface_ids=[example_network_interface.id],\n    os_disk={\n        \"caching\": \"ReadWrite\",\n        \"storage_account_type\": \"Standard_LRS\",\n    })\nexample_linux_virtual_machine_scale_set = azure.compute.LinuxVirtualMachineScaleSet(\"example\",\n    name=\"example\",\n    resource_group_name=example.name,\n    location=example.location,\n    sku=\"Standard_F2\",\n    instances=1,\n    admin_username=\"adminuser\",\n    admin_password=\"P@ssword1234!\",\n    upgrade_mode=\"Automatic\",\n    health_probe_id=example_probe.id,\n    disable_password_authentication=False,\n    source_image_reference={\n        \"publisher\": \"Canonical\",\n        \"offer\": \"0001-com-ubuntu-server-jammy\",\n        \"sku\": \"22_04-lts\",\n        \"version\": \"latest\",\n    },\n    os_disk={\n        \"storage_account_type\": \"Standard_LRS\",\n        \"caching\": \"ReadWrite\",\n    },\n    network_interfaces=[{\n        \"name\": \"example\",\n        \"primary\": True,\n        \"ip_configurations\": [{\n            \"name\": \"internal\",\n            \"primary\": True,\n            \"subnet_id\": example_subnet.id,\n            \"load_balancer_backend_address_pool_ids\": [example_backend_address_pool.id],\n        }],\n    }],\n    automatic_os_upgrade_policy={\n        \"disable_automatic_rollback\": True,\n        \"enable_automatic_os_upgrade\": True,\n    },\n    rolling_upgrade_policy={\n        \"max_batch_instance_percent\": 20,\n        \"max_unhealthy_instance_percent\": 20,\n        \"max_unhealthy_upgraded_instance_percent\": 20,\n        \"pause_time_between_batches\": \"PT0S\",\n    },\n    opts = pulumi.ResourceOptions(depends_on=[example_rule]))\nexample_assignment_virtual_machine_scale_set = azure.maintenance.AssignmentVirtualMachineScaleSet(\"example\",\n    location=example.location,\n    maintenance_configuration_id=example_configuration.id,\n    virtual_machine_scale_set_id=example_linux_virtual_machine.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleVirtualNetwork = new Azure.Network.VirtualNetwork(\"example\", new()\n    {\n        Name = \"example-network\",\n        AddressSpaces = new[]\n        {\n            \"10.0.0.0/16\",\n        },\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n    });\n\n    var exampleSubnet = new Azure.Network.Subnet(\"example\", new()\n    {\n        Name = \"internal\",\n        ResourceGroupName = example.Name,\n        VirtualNetworkName = exampleVirtualNetwork.Name,\n        AddressPrefixes = new[]\n        {\n            \"10.0.2.0/24\",\n        },\n    });\n\n    var examplePublicIp = new Azure.Network.PublicIp(\"example\", new()\n    {\n        Name = example.Name,\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        AllocationMethod = \"Static\",\n    });\n\n    var exampleLoadBalancer = new Azure.Lb.LoadBalancer(\"example\", new()\n    {\n        Name = example.Name,\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        FrontendIpConfigurations = new[]\n        {\n            new Azure.Lb.Inputs.LoadBalancerFrontendIpConfigurationArgs\n            {\n                Name = \"internal\",\n                PublicIpAddressId = examplePublicIp.Id,\n            },\n        },\n    });\n\n    var exampleBackendAddressPool = new Azure.Lb.BackendAddressPool(\"example\", new()\n    {\n        Name = \"example\",\n        LoadbalancerId = exampleLoadBalancer.Id,\n    });\n\n    var exampleProbe = new Azure.Lb.Probe(\"example\", new()\n    {\n        Name = \"example\",\n        LoadbalancerId = exampleLoadBalancer.Id,\n        Port = 22,\n        Protocol = \"Tcp\",\n    });\n\n    var exampleRule = new Azure.Lb.Rule(\"example\", new()\n    {\n        Name = \"example\",\n        LoadbalancerId = exampleLoadBalancer.Id,\n        ProbeId = exampleProbe.Id,\n        FrontendIpConfigurationName = \"internal\",\n        Protocol = \"Tcp\",\n        FrontendPort = 22,\n        BackendPort = 22,\n    });\n\n    var exampleConfiguration = new Azure.Maintenance.Configuration(\"example\", new()\n    {\n        Name = \"example\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        Scope = \"OSImage\",\n        Visibility = \"Custom\",\n        Window = new Azure.Maintenance.Inputs.ConfigurationWindowArgs\n        {\n            StartDateTime = \"2021-12-31 00:00\",\n            ExpirationDateTime = \"9999-12-31 00:00\",\n            Duration = \"06:00\",\n            TimeZone = \"Pacific Standard Time\",\n            RecurEvery = \"1Days\",\n        },\n    });\n\n    var exampleNetworkInterface = new Azure.Network.NetworkInterface(\"example\", new()\n    {\n        Name = \"sample-nic\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        IpConfigurations = new[]\n        {\n            new Azure.Network.Inputs.NetworkInterfaceIpConfigurationArgs\n            {\n                Name = \"testconfiguration1\",\n                PrivateIpAddressAllocation = \"Dynamic\",\n            },\n        },\n    });\n\n    var exampleLinuxVirtualMachine = new Azure.Compute.LinuxVirtualMachine(\"example\", new()\n    {\n        Name = \"example-machine\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        Size = \"Standard_F2\",\n        AdminUsername = \"adminuser\",\n        NetworkInterfaceIds = new[]\n        {\n            exampleNetworkInterface.Id,\n        },\n        OsDisk = new Azure.Compute.Inputs.LinuxVirtualMachineOsDiskArgs\n        {\n            Caching = \"ReadWrite\",\n            StorageAccountType = \"Standard_LRS\",\n        },\n    });\n\n    var exampleLinuxVirtualMachineScaleSet = new Azure.Compute.LinuxVirtualMachineScaleSet(\"example\", new()\n    {\n        Name = \"example\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        Sku = \"Standard_F2\",\n        Instances = 1,\n        AdminUsername = \"adminuser\",\n        AdminPassword = \"P@ssword1234!\",\n        UpgradeMode = \"Automatic\",\n        HealthProbeId = exampleProbe.Id,\n        DisablePasswordAuthentication = false,\n        SourceImageReference = new Azure.Compute.Inputs.LinuxVirtualMachineScaleSetSourceImageReferenceArgs\n        {\n            Publisher = \"Canonical\",\n            Offer = \"0001-com-ubuntu-server-jammy\",\n            Sku = \"22_04-lts\",\n            Version = \"latest\",\n        },\n        OsDisk = new Azure.Compute.Inputs.LinuxVirtualMachineScaleSetOsDiskArgs\n        {\n            StorageAccountType = \"Standard_LRS\",\n            Caching = \"ReadWrite\",\n        },\n        NetworkInterfaces = new[]\n        {\n            new Azure.Compute.Inputs.LinuxVirtualMachineScaleSetNetworkInterfaceArgs\n            {\n                Name = \"example\",\n                Primary = true,\n                IpConfigurations = new[]\n                {\n                    new Azure.Compute.Inputs.LinuxVirtualMachineScaleSetNetworkInterfaceIpConfigurationArgs\n                    {\n                        Name = \"internal\",\n                        Primary = true,\n                        SubnetId = exampleSubnet.Id,\n                        LoadBalancerBackendAddressPoolIds = new[]\n                        {\n                            exampleBackendAddressPool.Id,\n                        },\n                    },\n                },\n            },\n        },\n        AutomaticOsUpgradePolicy = new Azure.Compute.Inputs.LinuxVirtualMachineScaleSetAutomaticOsUpgradePolicyArgs\n        {\n            DisableAutomaticRollback = true,\n            EnableAutomaticOsUpgrade = true,\n        },\n        RollingUpgradePolicy = new Azure.Compute.Inputs.LinuxVirtualMachineScaleSetRollingUpgradePolicyArgs\n        {\n            MaxBatchInstancePercent = 20,\n            MaxUnhealthyInstancePercent = 20,\n            MaxUnhealthyUpgradedInstancePercent = 20,\n            PauseTimeBetweenBatches = \"PT0S\",\n        },\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            exampleRule,\n        },\n    });\n\n    var exampleAssignmentVirtualMachineScaleSet = new Azure.Maintenance.AssignmentVirtualMachineScaleSet(\"example\", new()\n    {\n        Location = example.Location,\n        MaintenanceConfigurationId = exampleConfiguration.Id,\n        VirtualMachineScaleSetId = exampleLinuxVirtualMachine.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/compute\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/lb\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/maintenance\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, \"example\", \u0026network.VirtualNetworkArgs{\n\t\t\tName: pulumi.String(\"example-network\"),\n\t\t\tAddressSpaces: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.0.0/16\"),\n\t\t\t},\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSubnet, err := network.NewSubnet(ctx, \"example\", \u0026network.SubnetArgs{\n\t\t\tName:               pulumi.String(\"internal\"),\n\t\t\tResourceGroupName:  example.Name,\n\t\t\tVirtualNetworkName: exampleVirtualNetwork.Name,\n\t\t\tAddressPrefixes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.2.0/24\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texamplePublicIp, err := network.NewPublicIp(ctx, \"example\", \u0026network.PublicIpArgs{\n\t\t\tName:              example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tAllocationMethod:  pulumi.String(\"Static\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleLoadBalancer, err := lb.NewLoadBalancer(ctx, \"example\", \u0026lb.LoadBalancerArgs{\n\t\t\tName:              example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tFrontendIpConfigurations: lb.LoadBalancerFrontendIpConfigurationArray{\n\t\t\t\t\u0026lb.LoadBalancerFrontendIpConfigurationArgs{\n\t\t\t\t\tName:              pulumi.String(\"internal\"),\n\t\t\t\t\tPublicIpAddressId: examplePublicIp.ID(),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleBackendAddressPool, err := lb.NewBackendAddressPool(ctx, \"example\", \u0026lb.BackendAddressPoolArgs{\n\t\t\tName:           pulumi.String(\"example\"),\n\t\t\tLoadbalancerId: exampleLoadBalancer.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleProbe, err := lb.NewProbe(ctx, \"example\", \u0026lb.ProbeArgs{\n\t\t\tName:           pulumi.String(\"example\"),\n\t\t\tLoadbalancerId: exampleLoadBalancer.ID(),\n\t\t\tPort:           pulumi.Int(22),\n\t\t\tProtocol:       pulumi.String(\"Tcp\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleRule, err := lb.NewRule(ctx, \"example\", \u0026lb.RuleArgs{\n\t\t\tName:                        pulumi.String(\"example\"),\n\t\t\tLoadbalancerId:              exampleLoadBalancer.ID(),\n\t\t\tProbeId:                     exampleProbe.ID(),\n\t\t\tFrontendIpConfigurationName: pulumi.String(\"internal\"),\n\t\t\tProtocol:                    pulumi.String(\"Tcp\"),\n\t\t\tFrontendPort:                pulumi.Int(22),\n\t\t\tBackendPort:                 pulumi.Int(22),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleConfiguration, err := maintenance.NewConfiguration(ctx, \"example\", \u0026maintenance.ConfigurationArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tScope:             pulumi.String(\"OSImage\"),\n\t\t\tVisibility:        pulumi.String(\"Custom\"),\n\t\t\tWindow: \u0026maintenance.ConfigurationWindowArgs{\n\t\t\t\tStartDateTime:      pulumi.String(\"2021-12-31 00:00\"),\n\t\t\t\tExpirationDateTime: pulumi.String(\"9999-12-31 00:00\"),\n\t\t\t\tDuration:           pulumi.String(\"06:00\"),\n\t\t\t\tTimeZone:           pulumi.String(\"Pacific Standard Time\"),\n\t\t\t\tRecurEvery:         pulumi.String(\"1Days\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNetworkInterface, err := network.NewNetworkInterface(ctx, \"example\", \u0026network.NetworkInterfaceArgs{\n\t\t\tName:              pulumi.String(\"sample-nic\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tIpConfigurations: network.NetworkInterfaceIpConfigurationArray{\n\t\t\t\t\u0026network.NetworkInterfaceIpConfigurationArgs{\n\t\t\t\t\tName:                       pulumi.String(\"testconfiguration1\"),\n\t\t\t\t\tPrivateIpAddressAllocation: pulumi.String(\"Dynamic\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleLinuxVirtualMachine, err := compute.NewLinuxVirtualMachine(ctx, \"example\", \u0026compute.LinuxVirtualMachineArgs{\n\t\t\tName:              pulumi.String(\"example-machine\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tSize:              pulumi.String(\"Standard_F2\"),\n\t\t\tAdminUsername:     pulumi.String(\"adminuser\"),\n\t\t\tNetworkInterfaceIds: pulumi.StringArray{\n\t\t\t\texampleNetworkInterface.ID(),\n\t\t\t},\n\t\t\tOsDisk: \u0026compute.LinuxVirtualMachineOsDiskArgs{\n\t\t\t\tCaching:            pulumi.String(\"ReadWrite\"),\n\t\t\t\tStorageAccountType: pulumi.String(\"Standard_LRS\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = compute.NewLinuxVirtualMachineScaleSet(ctx, \"example\", \u0026compute.LinuxVirtualMachineScaleSetArgs{\n\t\t\tName:                          pulumi.String(\"example\"),\n\t\t\tResourceGroupName:             example.Name,\n\t\t\tLocation:                      example.Location,\n\t\t\tSku:                           pulumi.String(\"Standard_F2\"),\n\t\t\tInstances:                     pulumi.Int(1),\n\t\t\tAdminUsername:                 pulumi.String(\"adminuser\"),\n\t\t\tAdminPassword:                 pulumi.String(\"P@ssword1234!\"),\n\t\t\tUpgradeMode:                   pulumi.String(\"Automatic\"),\n\t\t\tHealthProbeId:                 exampleProbe.ID(),\n\t\t\tDisablePasswordAuthentication: pulumi.Bool(false),\n\t\t\tSourceImageReference: \u0026compute.LinuxVirtualMachineScaleSetSourceImageReferenceArgs{\n\t\t\t\tPublisher: pulumi.String(\"Canonical\"),\n\t\t\t\tOffer:     pulumi.String(\"0001-com-ubuntu-server-jammy\"),\n\t\t\t\tSku:       pulumi.String(\"22_04-lts\"),\n\t\t\t\tVersion:   pulumi.String(\"latest\"),\n\t\t\t},\n\t\t\tOsDisk: \u0026compute.LinuxVirtualMachineScaleSetOsDiskArgs{\n\t\t\t\tStorageAccountType: pulumi.String(\"Standard_LRS\"),\n\t\t\t\tCaching:            pulumi.String(\"ReadWrite\"),\n\t\t\t},\n\t\t\tNetworkInterfaces: compute.LinuxVirtualMachineScaleSetNetworkInterfaceArray{\n\t\t\t\t\u0026compute.LinuxVirtualMachineScaleSetNetworkInterfaceArgs{\n\t\t\t\t\tName:    pulumi.String(\"example\"),\n\t\t\t\t\tPrimary: pulumi.Bool(true),\n\t\t\t\t\tIpConfigurations: compute.LinuxVirtualMachineScaleSetNetworkInterfaceIpConfigurationArray{\n\t\t\t\t\t\t\u0026compute.LinuxVirtualMachineScaleSetNetworkInterfaceIpConfigurationArgs{\n\t\t\t\t\t\t\tName:     pulumi.String(\"internal\"),\n\t\t\t\t\t\t\tPrimary:  pulumi.Bool(true),\n\t\t\t\t\t\t\tSubnetId: exampleSubnet.ID(),\n\t\t\t\t\t\t\tLoadBalancerBackendAddressPoolIds: pulumi.StringArray{\n\t\t\t\t\t\t\t\texampleBackendAddressPool.ID(),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tAutomaticOsUpgradePolicy: \u0026compute.LinuxVirtualMachineScaleSetAutomaticOsUpgradePolicyArgs{\n\t\t\t\tDisableAutomaticRollback: pulumi.Bool(true),\n\t\t\t\tEnableAutomaticOsUpgrade: pulumi.Bool(true),\n\t\t\t},\n\t\t\tRollingUpgradePolicy: \u0026compute.LinuxVirtualMachineScaleSetRollingUpgradePolicyArgs{\n\t\t\t\tMaxBatchInstancePercent:             pulumi.Int(20),\n\t\t\t\tMaxUnhealthyInstancePercent:         pulumi.Int(20),\n\t\t\t\tMaxUnhealthyUpgradedInstancePercent: pulumi.Int(20),\n\t\t\t\tPauseTimeBetweenBatches:             pulumi.String(\"PT0S\"),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleRule,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = maintenance.NewAssignmentVirtualMachineScaleSet(ctx, \"example\", \u0026maintenance.AssignmentVirtualMachineScaleSetArgs{\n\t\t\tLocation:                   example.Location,\n\t\t\tMaintenanceConfigurationId: exampleConfiguration.ID(),\n\t\t\tVirtualMachineScaleSetId:   exampleLinuxVirtualMachine.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.VirtualNetwork;\nimport com.pulumi.azure.network.VirtualNetworkArgs;\nimport com.pulumi.azure.network.Subnet;\nimport com.pulumi.azure.network.SubnetArgs;\nimport com.pulumi.azure.network.PublicIp;\nimport com.pulumi.azure.network.PublicIpArgs;\nimport com.pulumi.azure.lb.LoadBalancer;\nimport com.pulumi.azure.lb.LoadBalancerArgs;\nimport com.pulumi.azure.lb.inputs.LoadBalancerFrontendIpConfigurationArgs;\nimport com.pulumi.azure.lb.BackendAddressPool;\nimport com.pulumi.azure.lb.BackendAddressPoolArgs;\nimport com.pulumi.azure.lb.Probe;\nimport com.pulumi.azure.lb.ProbeArgs;\nimport com.pulumi.azure.lb.Rule;\nimport com.pulumi.azure.lb.RuleArgs;\nimport com.pulumi.azure.maintenance.Configuration;\nimport com.pulumi.azure.maintenance.ConfigurationArgs;\nimport com.pulumi.azure.maintenance.inputs.ConfigurationWindowArgs;\nimport com.pulumi.azure.network.NetworkInterface;\nimport com.pulumi.azure.network.NetworkInterfaceArgs;\nimport com.pulumi.azure.network.inputs.NetworkInterfaceIpConfigurationArgs;\nimport com.pulumi.azure.compute.LinuxVirtualMachine;\nimport com.pulumi.azure.compute.LinuxVirtualMachineArgs;\nimport com.pulumi.azure.compute.inputs.LinuxVirtualMachineOsDiskArgs;\nimport com.pulumi.azure.compute.LinuxVirtualMachineScaleSet;\nimport com.pulumi.azure.compute.LinuxVirtualMachineScaleSetArgs;\nimport com.pulumi.azure.compute.inputs.LinuxVirtualMachineScaleSetSourceImageReferenceArgs;\nimport com.pulumi.azure.compute.inputs.LinuxVirtualMachineScaleSetOsDiskArgs;\nimport com.pulumi.azure.compute.inputs.LinuxVirtualMachineScaleSetNetworkInterfaceArgs;\nimport com.pulumi.azure.compute.inputs.LinuxVirtualMachineScaleSetAutomaticOsUpgradePolicyArgs;\nimport com.pulumi.azure.compute.inputs.LinuxVirtualMachineScaleSetRollingUpgradePolicyArgs;\nimport com.pulumi.azure.maintenance.AssignmentVirtualMachineScaleSet;\nimport com.pulumi.azure.maintenance.AssignmentVirtualMachineScaleSetArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleVirtualNetwork = new VirtualNetwork(\"exampleVirtualNetwork\", VirtualNetworkArgs.builder()\n            .name(\"example-network\")\n            .addressSpaces(\"10.0.0.0/16\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .build());\n\n        var exampleSubnet = new Subnet(\"exampleSubnet\", SubnetArgs.builder()\n            .name(\"internal\")\n            .resourceGroupName(example.name())\n            .virtualNetworkName(exampleVirtualNetwork.name())\n            .addressPrefixes(\"10.0.2.0/24\")\n            .build());\n\n        var examplePublicIp = new PublicIp(\"examplePublicIp\", PublicIpArgs.builder()\n            .name(example.name())\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .allocationMethod(\"Static\")\n            .build());\n\n        var exampleLoadBalancer = new LoadBalancer(\"exampleLoadBalancer\", LoadBalancerArgs.builder()\n            .name(example.name())\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .frontendIpConfigurations(LoadBalancerFrontendIpConfigurationArgs.builder()\n                .name(\"internal\")\n                .publicIpAddressId(examplePublicIp.id())\n                .build())\n            .build());\n\n        var exampleBackendAddressPool = new BackendAddressPool(\"exampleBackendAddressPool\", BackendAddressPoolArgs.builder()\n            .name(\"example\")\n            .loadbalancerId(exampleLoadBalancer.id())\n            .build());\n\n        var exampleProbe = new Probe(\"exampleProbe\", ProbeArgs.builder()\n            .name(\"example\")\n            .loadbalancerId(exampleLoadBalancer.id())\n            .port(22)\n            .protocol(\"Tcp\")\n            .build());\n\n        var exampleRule = new Rule(\"exampleRule\", RuleArgs.builder()\n            .name(\"example\")\n            .loadbalancerId(exampleLoadBalancer.id())\n            .probeId(exampleProbe.id())\n            .frontendIpConfigurationName(\"internal\")\n            .protocol(\"Tcp\")\n            .frontendPort(22)\n            .backendPort(22)\n            .build());\n\n        var exampleConfiguration = new Configuration(\"exampleConfiguration\", ConfigurationArgs.builder()\n            .name(\"example\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .scope(\"OSImage\")\n            .visibility(\"Custom\")\n            .window(ConfigurationWindowArgs.builder()\n                .startDateTime(\"2021-12-31 00:00\")\n                .expirationDateTime(\"9999-12-31 00:00\")\n                .duration(\"06:00\")\n                .timeZone(\"Pacific Standard Time\")\n                .recurEvery(\"1Days\")\n                .build())\n            .build());\n\n        var exampleNetworkInterface = new NetworkInterface(\"exampleNetworkInterface\", NetworkInterfaceArgs.builder()\n            .name(\"sample-nic\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .ipConfigurations(NetworkInterfaceIpConfigurationArgs.builder()\n                .name(\"testconfiguration1\")\n                .privateIpAddressAllocation(\"Dynamic\")\n                .build())\n            .build());\n\n        var exampleLinuxVirtualMachine = new LinuxVirtualMachine(\"exampleLinuxVirtualMachine\", LinuxVirtualMachineArgs.builder()\n            .name(\"example-machine\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .size(\"Standard_F2\")\n            .adminUsername(\"adminuser\")\n            .networkInterfaceIds(exampleNetworkInterface.id())\n            .osDisk(LinuxVirtualMachineOsDiskArgs.builder()\n                .caching(\"ReadWrite\")\n                .storageAccountType(\"Standard_LRS\")\n                .build())\n            .build());\n\n        var exampleLinuxVirtualMachineScaleSet = new LinuxVirtualMachineScaleSet(\"exampleLinuxVirtualMachineScaleSet\", LinuxVirtualMachineScaleSetArgs.builder()\n            .name(\"example\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .sku(\"Standard_F2\")\n            .instances(1)\n            .adminUsername(\"adminuser\")\n            .adminPassword(\"P@ssword1234!\")\n            .upgradeMode(\"Automatic\")\n            .healthProbeId(exampleProbe.id())\n            .disablePasswordAuthentication(false)\n            .sourceImageReference(LinuxVirtualMachineScaleSetSourceImageReferenceArgs.builder()\n                .publisher(\"Canonical\")\n                .offer(\"0001-com-ubuntu-server-jammy\")\n                .sku(\"22_04-lts\")\n                .version(\"latest\")\n                .build())\n            .osDisk(LinuxVirtualMachineScaleSetOsDiskArgs.builder()\n                .storageAccountType(\"Standard_LRS\")\n                .caching(\"ReadWrite\")\n                .build())\n            .networkInterfaces(LinuxVirtualMachineScaleSetNetworkInterfaceArgs.builder()\n                .name(\"example\")\n                .primary(true)\n                .ipConfigurations(LinuxVirtualMachineScaleSetNetworkInterfaceIpConfigurationArgs.builder()\n                    .name(\"internal\")\n                    .primary(true)\n                    .subnetId(exampleSubnet.id())\n                    .loadBalancerBackendAddressPoolIds(exampleBackendAddressPool.id())\n                    .build())\n                .build())\n            .automaticOsUpgradePolicy(LinuxVirtualMachineScaleSetAutomaticOsUpgradePolicyArgs.builder()\n                .disableAutomaticRollback(true)\n                .enableAutomaticOsUpgrade(true)\n                .build())\n            .rollingUpgradePolicy(LinuxVirtualMachineScaleSetRollingUpgradePolicyArgs.builder()\n                .maxBatchInstancePercent(20)\n                .maxUnhealthyInstancePercent(20)\n                .maxUnhealthyUpgradedInstancePercent(20)\n                .pauseTimeBetweenBatches(\"PT0S\")\n                .build())\n            .build(), CustomResourceOptions.builder()\n                .dependsOn(exampleRule)\n                .build());\n\n        var exampleAssignmentVirtualMachineScaleSet = new AssignmentVirtualMachineScaleSet(\"exampleAssignmentVirtualMachineScaleSet\", AssignmentVirtualMachineScaleSetArgs.builder()\n            .location(example.location())\n            .maintenanceConfigurationId(exampleConfiguration.id())\n            .virtualMachineScaleSetId(exampleLinuxVirtualMachine.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleVirtualNetwork:\n    type: azure:network:VirtualNetwork\n    name: example\n    properties:\n      name: example-network\n      addressSpaces:\n        - 10.0.0.0/16\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n  exampleSubnet:\n    type: azure:network:Subnet\n    name: example\n    properties:\n      name: internal\n      resourceGroupName: ${example.name}\n      virtualNetworkName: ${exampleVirtualNetwork.name}\n      addressPrefixes:\n        - 10.0.2.0/24\n  examplePublicIp:\n    type: azure:network:PublicIp\n    name: example\n    properties:\n      name: ${example.name}\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      allocationMethod: Static\n  exampleLoadBalancer:\n    type: azure:lb:LoadBalancer\n    name: example\n    properties:\n      name: ${example.name}\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      frontendIpConfigurations:\n        - name: internal\n          publicIpAddressId: ${examplePublicIp.id}\n  exampleBackendAddressPool:\n    type: azure:lb:BackendAddressPool\n    name: example\n    properties:\n      name: example\n      loadbalancerId: ${exampleLoadBalancer.id}\n  exampleProbe:\n    type: azure:lb:Probe\n    name: example\n    properties:\n      name: example\n      loadbalancerId: ${exampleLoadBalancer.id}\n      port: 22\n      protocol: Tcp\n  exampleRule:\n    type: azure:lb:Rule\n    name: example\n    properties:\n      name: example\n      loadbalancerId: ${exampleLoadBalancer.id}\n      probeId: ${exampleProbe.id}\n      frontendIpConfigurationName: internal\n      protocol: Tcp\n      frontendPort: 22\n      backendPort: 22\n  exampleConfiguration:\n    type: azure:maintenance:Configuration\n    name: example\n    properties:\n      name: example\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      scope: OSImage\n      visibility: Custom\n      window:\n        startDateTime: 2021-12-31 00:00\n        expirationDateTime: 9999-12-31 00:00\n        duration: 06:00\n        timeZone: Pacific Standard Time\n        recurEvery: 1Days\n  exampleNetworkInterface:\n    type: azure:network:NetworkInterface\n    name: example\n    properties:\n      name: sample-nic\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      ipConfigurations:\n        - name: testconfiguration1\n          privateIpAddressAllocation: Dynamic\n  exampleLinuxVirtualMachine:\n    type: azure:compute:LinuxVirtualMachine\n    name: example\n    properties:\n      name: example-machine\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      size: Standard_F2\n      adminUsername: adminuser\n      networkInterfaceIds:\n        - ${exampleNetworkInterface.id}\n      osDisk:\n        caching: ReadWrite\n        storageAccountType: Standard_LRS\n  exampleLinuxVirtualMachineScaleSet:\n    type: azure:compute:LinuxVirtualMachineScaleSet\n    name: example\n    properties:\n      name: example\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      sku: Standard_F2\n      instances: 1\n      adminUsername: adminuser\n      adminPassword: P@ssword1234!\n      upgradeMode: Automatic\n      healthProbeId: ${exampleProbe.id}\n      disablePasswordAuthentication: false\n      sourceImageReference:\n        publisher: Canonical\n        offer: 0001-com-ubuntu-server-jammy\n        sku: 22_04-lts\n        version: latest\n      osDisk:\n        storageAccountType: Standard_LRS\n        caching: ReadWrite\n      networkInterfaces:\n        - name: example\n          primary: true\n          ipConfigurations:\n            - name: internal\n              primary: true\n              subnetId: ${exampleSubnet.id}\n              loadBalancerBackendAddressPoolIds:\n                - ${exampleBackendAddressPool.id}\n      automaticOsUpgradePolicy:\n        disableAutomaticRollback: true\n        enableAutomaticOsUpgrade: true\n      rollingUpgradePolicy:\n        maxBatchInstancePercent: 20\n        maxUnhealthyInstancePercent: 20\n        maxUnhealthyUpgradedInstancePercent: 20\n        pauseTimeBetweenBatches: PT0S\n    options:\n      dependsOn:\n        - ${exampleRule}\n  exampleAssignmentVirtualMachineScaleSet:\n    type: azure:maintenance:AssignmentVirtualMachineScaleSet\n    name: example\n    properties:\n      location: ${example.location}\n      maintenanceConfigurationId: ${exampleConfiguration.id}\n      virtualMachineScaleSetId: ${exampleLinuxVirtualMachine.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Maintenance` - 2023-04-01\n\n## Import\n\nMaintenance Assignment can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:maintenance/assignmentVirtualMachineScaleSet:AssignmentVirtualMachineScaleSet example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resGroup1/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1/providers/Microsoft.Maintenance/configurationAssignments/assign1\n```\n\n","properties":{"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n"},"maintenanceConfigurationId":{"type":"string","description":"Specifies the ID of the Maintenance Configuration Resource. Changing this forces a new resource to be created.\n"},"virtualMachineScaleSetId":{"type":"string","description":"Specifies the Virtual Machine Scale Set ID to which the Maintenance Configuration will be assigned. Changing this forces a new resource to be created.\n"}},"required":["location","maintenanceConfigurationId","virtualMachineScaleSetId"],"inputProperties":{"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"maintenanceConfigurationId":{"type":"string","description":"Specifies the ID of the Maintenance Configuration Resource. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"virtualMachineScaleSetId":{"type":"string","description":"Specifies the Virtual Machine Scale Set ID to which the Maintenance Configuration will be assigned. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["maintenanceConfigurationId","virtualMachineScaleSetId"],"stateInputs":{"description":"Input properties used for looking up and filtering AssignmentVirtualMachineScaleSet resources.\n","properties":{"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"maintenanceConfigurationId":{"type":"string","description":"Specifies the ID of the Maintenance Configuration Resource. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"virtualMachineScaleSetId":{"type":"string","description":"Specifies the Virtual Machine Scale Set ID to which the Maintenance Configuration will be assigned. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:maintenance/configuration:Configuration":{"description":"Manages a maintenance configuration.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleConfiguration = new azure.maintenance.Configuration(\"example\", {\n    name: \"example-mc\",\n    resourceGroupName: example.name,\n    location: example.location,\n    scope: \"SQLDB\",\n    tags: {\n        Env: \"prod\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_configuration = azure.maintenance.Configuration(\"example\",\n    name=\"example-mc\",\n    resource_group_name=example.name,\n    location=example.location,\n    scope=\"SQLDB\",\n    tags={\n        \"Env\": \"prod\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleConfiguration = new Azure.Maintenance.Configuration(\"example\", new()\n    {\n        Name = \"example-mc\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        Scope = \"SQLDB\",\n        Tags = \n        {\n            { \"Env\", \"prod\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/maintenance\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = maintenance.NewConfiguration(ctx, \"example\", \u0026maintenance.ConfigurationArgs{\n\t\t\tName:              pulumi.String(\"example-mc\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tScope:             pulumi.String(\"SQLDB\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Env\": pulumi.String(\"prod\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.maintenance.Configuration;\nimport com.pulumi.azure.maintenance.ConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleConfiguration = new Configuration(\"exampleConfiguration\", ConfigurationArgs.builder()\n            .name(\"example-mc\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .scope(\"SQLDB\")\n            .tags(Map.of(\"Env\", \"prod\"))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleConfiguration:\n    type: azure:maintenance:Configuration\n    name: example\n    properties:\n      name: example-mc\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      scope: SQLDB\n      tags:\n        Env: prod\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Maintenance` - 2023-04-01\n\n## Import\n\nMaintenance Configuration can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:maintenance/configuration:Configuration example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Maintenance/maintenanceConfigurations/example-mc\n```\n\n","properties":{"inGuestUserPatchMode":{"type":"string","description":"The in guest user patch mode. Possible values are `Platform` or `User`. Must be specified when \u003cspan pulumi-lang-nodejs=\"`scope`\" pulumi-lang-dotnet=\"`Scope`\" pulumi-lang-go=\"`scope`\" pulumi-lang-python=\"`scope`\" pulumi-lang-yaml=\"`scope`\" pulumi-lang-java=\"`scope`\"\u003e`scope`\u003c/span\u003e is `InGuestPatch`.\n"},"installPatches":{"$ref":"#/types/azure:maintenance/ConfigurationInstallPatches:ConfigurationInstallPatches","description":"An \u003cspan pulumi-lang-nodejs=\"`installPatches`\" pulumi-lang-dotnet=\"`InstallPatches`\" pulumi-lang-go=\"`installPatches`\" pulumi-lang-python=\"`install_patches`\" pulumi-lang-yaml=\"`installPatches`\" pulumi-lang-java=\"`installPatches`\"\u003e`install_patches`\u003c/span\u003e block as defined below.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`installPatches`\" pulumi-lang-dotnet=\"`InstallPatches`\" pulumi-lang-go=\"`installPatches`\" pulumi-lang-python=\"`install_patches`\" pulumi-lang-yaml=\"`installPatches`\" pulumi-lang-java=\"`installPatches`\"\u003e`install_patches`\u003c/span\u003e must be specified when \u003cspan pulumi-lang-nodejs=\"`scope`\" pulumi-lang-dotnet=\"`Scope`\" pulumi-lang-go=\"`scope`\" pulumi-lang-python=\"`scope`\" pulumi-lang-yaml=\"`scope`\" pulumi-lang-java=\"`scope`\"\u003e`scope`\u003c/span\u003e is `InGuestPatch`.\n"},"location":{"type":"string","description":"Specified the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"Specifies the name of the Maintenance Configuration. Changing this forces a new resource to be created.\n"},"properties":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of properties to assign to the resource.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Maintenance Configuration should exist. Changing this forces a new resource to be created.\n"},"scope":{"type":"string","description":"The scope of the Maintenance Configuration. Possible values are `Extension`, `Host`, `InGuestPatch`, `OSImage`, `SQLDB` or `SQLManagedInstance`.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource. The key could not contain upper case letter.\n"},"visibility":{"type":"string","description":"The visibility of the Maintenance Configuration. The only allowable value is `Custom`. Defaults to `Custom`.\n"},"window":{"$ref":"#/types/azure:maintenance/ConfigurationWindow:ConfigurationWindow","description":"A \u003cspan pulumi-lang-nodejs=\"`window`\" pulumi-lang-dotnet=\"`Window`\" pulumi-lang-go=\"`window`\" pulumi-lang-python=\"`window`\" pulumi-lang-yaml=\"`window`\" pulumi-lang-java=\"`window`\"\u003e`window`\u003c/span\u003e block as defined below.\n"}},"required":["location","name","resourceGroupName","scope"],"inputProperties":{"inGuestUserPatchMode":{"type":"string","description":"The in guest user patch mode. Possible values are `Platform` or `User`. Must be specified when \u003cspan pulumi-lang-nodejs=\"`scope`\" pulumi-lang-dotnet=\"`Scope`\" pulumi-lang-go=\"`scope`\" pulumi-lang-python=\"`scope`\" pulumi-lang-yaml=\"`scope`\" pulumi-lang-java=\"`scope`\"\u003e`scope`\u003c/span\u003e is `InGuestPatch`.\n"},"installPatches":{"$ref":"#/types/azure:maintenance/ConfigurationInstallPatches:ConfigurationInstallPatches","description":"An \u003cspan pulumi-lang-nodejs=\"`installPatches`\" pulumi-lang-dotnet=\"`InstallPatches`\" pulumi-lang-go=\"`installPatches`\" pulumi-lang-python=\"`install_patches`\" pulumi-lang-yaml=\"`installPatches`\" pulumi-lang-java=\"`installPatches`\"\u003e`install_patches`\u003c/span\u003e block as defined below.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`installPatches`\" pulumi-lang-dotnet=\"`InstallPatches`\" pulumi-lang-go=\"`installPatches`\" pulumi-lang-python=\"`install_patches`\" pulumi-lang-yaml=\"`installPatches`\" pulumi-lang-java=\"`installPatches`\"\u003e`install_patches`\u003c/span\u003e must be specified when \u003cspan pulumi-lang-nodejs=\"`scope`\" pulumi-lang-dotnet=\"`Scope`\" pulumi-lang-go=\"`scope`\" pulumi-lang-python=\"`scope`\" pulumi-lang-yaml=\"`scope`\" pulumi-lang-java=\"`scope`\"\u003e`scope`\u003c/span\u003e is `InGuestPatch`.\n"},"location":{"type":"string","description":"Specified the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the Maintenance Configuration. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"properties":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of properties to assign to the resource.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Maintenance Configuration should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"scope":{"type":"string","description":"The scope of the Maintenance Configuration. Possible values are `Extension`, `Host`, `InGuestPatch`, `OSImage`, `SQLDB` or `SQLManagedInstance`.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource. The key could not contain upper case letter.\n"},"visibility":{"type":"string","description":"The visibility of the Maintenance Configuration. The only allowable value is `Custom`. Defaults to `Custom`.\n"},"window":{"$ref":"#/types/azure:maintenance/ConfigurationWindow:ConfigurationWindow","description":"A \u003cspan pulumi-lang-nodejs=\"`window`\" pulumi-lang-dotnet=\"`Window`\" pulumi-lang-go=\"`window`\" pulumi-lang-python=\"`window`\" pulumi-lang-yaml=\"`window`\" pulumi-lang-java=\"`window`\"\u003e`window`\u003c/span\u003e block as defined below.\n"}},"requiredInputs":["resourceGroupName","scope"],"stateInputs":{"description":"Input properties used for looking up and filtering Configuration resources.\n","properties":{"inGuestUserPatchMode":{"type":"string","description":"The in guest user patch mode. Possible values are `Platform` or `User`. Must be specified when \u003cspan pulumi-lang-nodejs=\"`scope`\" pulumi-lang-dotnet=\"`Scope`\" pulumi-lang-go=\"`scope`\" pulumi-lang-python=\"`scope`\" pulumi-lang-yaml=\"`scope`\" pulumi-lang-java=\"`scope`\"\u003e`scope`\u003c/span\u003e is `InGuestPatch`.\n"},"installPatches":{"$ref":"#/types/azure:maintenance/ConfigurationInstallPatches:ConfigurationInstallPatches","description":"An \u003cspan pulumi-lang-nodejs=\"`installPatches`\" pulumi-lang-dotnet=\"`InstallPatches`\" pulumi-lang-go=\"`installPatches`\" pulumi-lang-python=\"`install_patches`\" pulumi-lang-yaml=\"`installPatches`\" pulumi-lang-java=\"`installPatches`\"\u003e`install_patches`\u003c/span\u003e block as defined below.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`installPatches`\" pulumi-lang-dotnet=\"`InstallPatches`\" pulumi-lang-go=\"`installPatches`\" pulumi-lang-python=\"`install_patches`\" pulumi-lang-yaml=\"`installPatches`\" pulumi-lang-java=\"`installPatches`\"\u003e`install_patches`\u003c/span\u003e must be specified when \u003cspan pulumi-lang-nodejs=\"`scope`\" pulumi-lang-dotnet=\"`Scope`\" pulumi-lang-go=\"`scope`\" pulumi-lang-python=\"`scope`\" pulumi-lang-yaml=\"`scope`\" pulumi-lang-java=\"`scope`\"\u003e`scope`\u003c/span\u003e is `InGuestPatch`.\n"},"location":{"type":"string","description":"Specified the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the Maintenance Configuration. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"properties":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of properties to assign to the resource.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Maintenance Configuration should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"scope":{"type":"string","description":"The scope of the Maintenance Configuration. Possible values are `Extension`, `Host`, `InGuestPatch`, `OSImage`, `SQLDB` or `SQLManagedInstance`.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource. The key could not contain upper case letter.\n"},"visibility":{"type":"string","description":"The visibility of the Maintenance Configuration. The only allowable value is `Custom`. Defaults to `Custom`.\n"},"window":{"$ref":"#/types/azure:maintenance/ConfigurationWindow:ConfigurationWindow","description":"A \u003cspan pulumi-lang-nodejs=\"`window`\" pulumi-lang-dotnet=\"`Window`\" pulumi-lang-go=\"`window`\" pulumi-lang-python=\"`window`\" pulumi-lang-yaml=\"`window`\" pulumi-lang-java=\"`window`\"\u003e`window`\u003c/span\u003e block as defined below.\n"}},"type":"object"}},"azure:managedapplication/application:Application":{"description":"Manages a Managed Application.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\nimport * as std from \"@pulumi/std\";\n\nconst current = azure.core.getClientConfig({});\nconst builtin = azure.authorization.getRoleDefinition({\n    name: \"Contributor\",\n});\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleDefinition = new azure.managedapplication.Definition(\"example\", {\n    name: \"examplemanagedapplicationdefinition\",\n    location: example.location,\n    resourceGroupName: example.name,\n    lockLevel: \"ReadOnly\",\n    packageFileUri: \"https://github.com/Azure/azure-managedapp-samples/raw/master/Managed Application Sample Packages/201-managed-storage-account/managedstorage.zip\",\n    displayName: \"TestManagedAppDefinition\",\n    description: \"Test Managed App Definition\",\n    authorizations: [{\n        servicePrincipalId: current.then(current =\u003e current.objectId),\n        roleDefinitionId: pulumi.all([builtin.then(builtin =\u003e std.split({\n            separator: \"/\",\n            text: builtin.id,\n        })), builtin.then(builtin =\u003e std.split({\n            separator: \"/\",\n            text: builtin.id,\n        })).then(invoke =\u003e invoke.result).length]).apply(([invoke, length]) =\u003e invoke.result[length - 1]),\n    }],\n});\nconst exampleApplication = new azure.managedapplication.Application(\"example\", {\n    name: \"example-managedapplication\",\n    location: example.location,\n    resourceGroupName: example.name,\n    kind: \"ServiceCatalog\",\n    managedResourceGroupName: \"infrastructureGroup\",\n    applicationDefinitionId: exampleDefinition.id,\n    parameterValues: pulumi.jsonStringify({\n        location: {\n            value: example.location,\n        },\n        storageAccountNamePrefix: {\n            value: \"storeNamePrefix\",\n        },\n        storageAccountType: {\n            value: \"Standard_LRS\",\n        },\n    }),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_azure as azure\nimport pulumi_std as std\n\ncurrent = azure.core.get_client_config()\nbuiltin = azure.authorization.get_role_definition(name=\"Contributor\")\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_definition = azure.managedapplication.Definition(\"example\",\n    name=\"examplemanagedapplicationdefinition\",\n    location=example.location,\n    resource_group_name=example.name,\n    lock_level=\"ReadOnly\",\n    package_file_uri=\"https://github.com/Azure/azure-managedapp-samples/raw/master/Managed Application Sample Packages/201-managed-storage-account/managedstorage.zip\",\n    display_name=\"TestManagedAppDefinition\",\n    description=\"Test Managed App Definition\",\n    authorizations=[{\n        \"service_principal_id\": current.object_id,\n        \"role_definition_id\": len(std.split(separator=\"/\",\n            text=builtin.id).result).apply(lambda length: std.split(separator=\"/\",\n            text=builtin.id).result[length - 1]),\n    }])\nexample_application = azure.managedapplication.Application(\"example\",\n    name=\"example-managedapplication\",\n    location=example.location,\n    resource_group_name=example.name,\n    kind=\"ServiceCatalog\",\n    managed_resource_group_name=\"infrastructureGroup\",\n    application_definition_id=example_definition.id,\n    parameter_values=pulumi.Output.json_dumps({\n        \"location\": {\n            \"value\": example.location,\n        },\n        \"storageAccountNamePrefix\": {\n            \"value\": \"storeNamePrefix\",\n        },\n        \"storageAccountType\": {\n            \"value\": \"Standard_LRS\",\n        },\n    }))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var current = Azure.Core.GetClientConfig.Invoke();\n\n    var builtin = Azure.Authorization.GetRoleDefinition.Invoke(new()\n    {\n        Name = \"Contributor\",\n    });\n\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleDefinition = new Azure.ManagedApplication.Definition(\"example\", new()\n    {\n        Name = \"examplemanagedapplicationdefinition\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        LockLevel = \"ReadOnly\",\n        PackageFileUri = \"https://github.com/Azure/azure-managedapp-samples/raw/master/Managed Application Sample Packages/201-managed-storage-account/managedstorage.zip\",\n        DisplayName = \"TestManagedAppDefinition\",\n        Description = \"Test Managed App Definition\",\n        Authorizations = new[]\n        {\n            new Azure.ManagedApplication.Inputs.DefinitionAuthorizationArgs\n            {\n                ServicePrincipalId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.ObjectId),\n                RoleDefinitionId = Output.Tuple(Std.Split.Invoke(new()\n                {\n                    Separator = \"/\",\n                    Text = builtin.Apply(getRoleDefinitionResult =\u003e getRoleDefinitionResult.Id),\n                }), Std.Split.Invoke(new()\n                {\n                    Separator = \"/\",\n                    Text = builtin.Apply(getRoleDefinitionResult =\u003e getRoleDefinitionResult.Id),\n                }).Apply(invoke =\u003e invoke.Result).Length).Apply(values =\u003e\n                {\n                    var invoke = values.Item1;\n                    var length = values.Item2;\n                    return invoke.Result[length - 1];\n                }),\n            },\n        },\n    });\n\n    var exampleApplication = new Azure.ManagedApplication.Application(\"example\", new()\n    {\n        Name = \"example-managedapplication\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Kind = \"ServiceCatalog\",\n        ManagedResourceGroupName = \"infrastructureGroup\",\n        ApplicationDefinitionId = exampleDefinition.Id,\n        ParameterValues = Output.JsonSerialize(Output.Create(new Dictionary\u003cstring, object?\u003e\n        {\n            [\"location\"] = new Dictionary\u003cstring, object?\u003e\n            {\n                [\"value\"] = example.Location,\n            },\n            [\"storageAccountNamePrefix\"] = new Dictionary\u003cstring, object?\u003e\n            {\n                [\"value\"] = \"storeNamePrefix\",\n            },\n            [\"storageAccountType\"] = new Dictionary\u003cstring, object?\u003e\n            {\n                [\"value\"] = \"Standard_LRS\",\n            },\n        })),\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/authorization\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/managedapplication\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\ncurrent, err := core.GetClientConfig(ctx, map[string]interface{}{\n}, nil);\nif err != nil {\nreturn err\n}\nbuiltin, err := authorization.LookupRoleDefinition(ctx, \u0026authorization.LookupRoleDefinitionArgs{\nName: pulumi.StringRef(\"Contributor\"),\n}, nil);\nif err != nil {\nreturn err\n}\nexample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\nName: pulumi.String(\"example-resources\"),\nLocation: pulumi.String(\"West Europe\"),\n})\nif err != nil {\nreturn err\n}\ninvokeSplit, err := std.Split(ctx, \u0026std.SplitArgs{\nSeparator: \"/\",\nText: builtin.Id,\n}, nil)\nif err != nil {\nreturn err\n}\ninvokeSplit1, err := std.Split(ctx, \u0026std.SplitArgs{\nSeparator: \"/\",\nText: builtin.Id,\n}, nil)\nif err != nil {\nreturn err\n}\nexampleDefinition, err := managedapplication.NewDefinition(ctx, \"example\", \u0026managedapplication.DefinitionArgs{\nName: pulumi.String(\"examplemanagedapplicationdefinition\"),\nLocation: example.Location,\nResourceGroupName: example.Name,\nLockLevel: pulumi.String(\"ReadOnly\"),\nPackageFileUri: pulumi.String(\"https://github.com/Azure/azure-managedapp-samples/raw/master/Managed Application Sample Packages/201-managed-storage-account/managedstorage.zip\"),\nDisplayName: pulumi.String(\"TestManagedAppDefinition\"),\nDescription: pulumi.String(\"Test Managed App Definition\"),\nAuthorizations: managedapplication.DefinitionAuthorizationArray{\n\u0026managedapplication.DefinitionAuthorizationArgs{\nServicePrincipalId: pulumi.String(current.ObjectId),\nRoleDefinitionId: len(invokeSplit.Result).ApplyT(func(length int) (string, error) {\n%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference)).(pulumi.StringOutput),\n},\n},\n})\nif err != nil {\nreturn err\n}\n_, err = managedapplication.NewApplication(ctx, \"example\", \u0026managedapplication.ApplicationArgs{\nName: pulumi.String(\"example-managedapplication\"),\nLocation: example.Location,\nResourceGroupName: example.Name,\nKind: pulumi.String(\"ServiceCatalog\"),\nManagedResourceGroupName: pulumi.String(\"infrastructureGroup\"),\nApplicationDefinitionId: exampleDefinition.ID(),\nParameterValues: example.Location.ApplyT(func(location string) (pulumi.String, error) {\nvar _zero pulumi.String\ntmpJSON0, err := json.Marshal(map[string]interface{}{\n\"location\": map[string]interface{}{\n\"value\": location,\n},\n\"storageAccountNamePrefix\": map[string]interface{}{\n\"value\": \"storeNamePrefix\",\n},\n\"storageAccountType\": map[string]interface{}{\n\"value\": \"Standard_LRS\",\n},\n})\nif err != nil {\nreturn _zero, err\n}\njson0 := string(tmpJSON0)\nreturn pulumi.String(json0), nil\n}).(pulumi.StringOutput),\n})\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.authorization.AuthorizationFunctions;\nimport com.pulumi.azure.authorization.inputs.GetRoleDefinitionArgs;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.managedapplication.Definition;\nimport com.pulumi.azure.managedapplication.DefinitionArgs;\nimport com.pulumi.azure.managedapplication.inputs.DefinitionAuthorizationArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.SplitArgs;\nimport com.pulumi.azure.managedapplication.Application;\nimport com.pulumi.azure.managedapplication.ApplicationArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var current = CoreFunctions.getClientConfig(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n        final var builtin = AuthorizationFunctions.getRoleDefinition(GetRoleDefinitionArgs.builder()\n            .name(\"Contributor\")\n            .build());\n\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleDefinition = new Definition(\"exampleDefinition\", DefinitionArgs.builder()\n            .name(\"examplemanagedapplicationdefinition\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .lockLevel(\"ReadOnly\")\n            .packageFileUri(\"https://github.com/Azure/azure-managedapp-samples/raw/master/Managed Application Sample Packages/201-managed-storage-account/managedstorage.zip\")\n            .displayName(\"TestManagedAppDefinition\")\n            .description(\"Test Managed App Definition\")\n            .authorizations(DefinitionAuthorizationArgs.builder()\n                .servicePrincipalId(current.objectId())\n                .roleDefinitionId(StdFunctions.split(SplitArgs.builder()\n                    .separator(\"/\")\n                    .text(builtin.id())\n                    .build()).result().length().applyValue(_length -\u003e StdFunctions.split(SplitArgs.builder()\n                    .separator(\"/\")\n                    .text(builtin.id())\n                    .build()).result()[_length.applyValue(___convert -\u003e ___convert - 1)]))\n                .build())\n            .build());\n\n        var exampleApplication = new Application(\"exampleApplication\", ApplicationArgs.builder()\n            .name(\"example-managedapplication\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .kind(\"ServiceCatalog\")\n            .managedResourceGroupName(\"infrastructureGroup\")\n            .applicationDefinitionId(exampleDefinition.id())\n            .parameterValues(example.location().applyValue(_location -\u003e serializeJson(\n                jsonObject(\n                    jsonProperty(\"location\", jsonObject(\n                        jsonProperty(\"value\", _location)\n                    )),\n                    jsonProperty(\"storageAccountNamePrefix\", jsonObject(\n                        jsonProperty(\"value\", \"storeNamePrefix\")\n                    )),\n                    jsonProperty(\"storageAccountType\", jsonObject(\n                        jsonProperty(\"value\", \"Standard_LRS\")\n                    ))\n                ))))\n            .build());\n\n    }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Solutions` - 2021-07-01\n\n## Import\n\nManaged Application can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:managedapplication/application:Application example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Solutions/applications/app1\n```\n\n","properties":{"applicationDefinitionId":{"type":"string","description":"The application definition ID to deploy.\n"},"kind":{"type":"string","description":"The kind of the managed application to deploy. Possible values are `MarketPlace` and `ServiceCatalog`. Changing this forces a new resource to be created.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n"},"managedResourceGroupName":{"type":"string","description":"The name of the target resource group where all the resources deployed by the managed application will reside. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"Specifies the name of the Managed Application. Changing this forces a new resource to be created.\n"},"outputs":{"type":"object","additionalProperties":{"type":"string"},"description":"The name and value pairs that define the managed application outputs.\n"},"parameterValues":{"type":"string","description":"The parameter values to pass to the Managed Application. This field is a JSON object that allows you to assign parameters to this Managed Application.\n"},"plan":{"$ref":"#/types/azure:managedapplication/ApplicationPlan:ApplicationPlan","description":"One \u003cspan pulumi-lang-nodejs=\"`plan`\" pulumi-lang-dotnet=\"`Plan`\" pulumi-lang-go=\"`plan`\" pulumi-lang-python=\"`plan`\" pulumi-lang-yaml=\"`plan`\" pulumi-lang-java=\"`plan`\"\u003e`plan`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Managed Application should exist. Changing this forces a new resource to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"required":["kind","location","managedResourceGroupName","name","outputs","parameterValues","resourceGroupName"],"inputProperties":{"applicationDefinitionId":{"type":"string","description":"The application definition ID to deploy.\n"},"kind":{"type":"string","description":"The kind of the managed application to deploy. Possible values are `MarketPlace` and `ServiceCatalog`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"managedResourceGroupName":{"type":"string","description":"The name of the target resource group where all the resources deployed by the managed application will reside. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the Managed Application. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"parameterValues":{"type":"string","description":"The parameter values to pass to the Managed Application. This field is a JSON object that allows you to assign parameters to this Managed Application.\n"},"plan":{"$ref":"#/types/azure:managedapplication/ApplicationPlan:ApplicationPlan","description":"One \u003cspan pulumi-lang-nodejs=\"`plan`\" pulumi-lang-dotnet=\"`Plan`\" pulumi-lang-go=\"`plan`\" pulumi-lang-python=\"`plan`\" pulumi-lang-yaml=\"`plan`\" pulumi-lang-java=\"`plan`\"\u003e`plan`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Managed Application should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"requiredInputs":["kind","managedResourceGroupName","resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering Application resources.\n","properties":{"applicationDefinitionId":{"type":"string","description":"The application definition ID to deploy.\n"},"kind":{"type":"string","description":"The kind of the managed application to deploy. Possible values are `MarketPlace` and `ServiceCatalog`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"managedResourceGroupName":{"type":"string","description":"The name of the target resource group where all the resources deployed by the managed application will reside. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the Managed Application. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"outputs":{"type":"object","additionalProperties":{"type":"string"},"description":"The name and value pairs that define the managed application outputs.\n"},"parameterValues":{"type":"string","description":"The parameter values to pass to the Managed Application. This field is a JSON object that allows you to assign parameters to this Managed Application.\n"},"plan":{"$ref":"#/types/azure:managedapplication/ApplicationPlan:ApplicationPlan","description":"One \u003cspan pulumi-lang-nodejs=\"`plan`\" pulumi-lang-dotnet=\"`Plan`\" pulumi-lang-go=\"`plan`\" pulumi-lang-python=\"`plan`\" pulumi-lang-yaml=\"`plan`\" pulumi-lang-java=\"`plan`\"\u003e`plan`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Managed Application should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"type":"object"}},"azure:managedapplication/definition:Definition":{"description":"Manages a Managed Application Definition.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst current = azure.core.getClientConfig({});\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleDefinition = new azure.managedapplication.Definition(\"example\", {\n    name: \"examplemanagedapplicationdefinition\",\n    location: example.location,\n    resourceGroupName: example.name,\n    lockLevel: \"ReadOnly\",\n    packageFileUri: \"https://github.com/Azure/azure-managedapp-samples/raw/master/Managed Application Sample Packages/201-managed-storage-account/managedstorage.zip\",\n    displayName: \"TestManagedApplicationDefinition\",\n    description: \"Test Managed Application Definition\",\n    authorizations: [{\n        servicePrincipalId: current.then(current =\u003e current.objectId),\n        roleDefinitionId: \"a094b430-dad3-424d-ae58-13f72fd72591\",\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\ncurrent = azure.core.get_client_config()\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_definition = azure.managedapplication.Definition(\"example\",\n    name=\"examplemanagedapplicationdefinition\",\n    location=example.location,\n    resource_group_name=example.name,\n    lock_level=\"ReadOnly\",\n    package_file_uri=\"https://github.com/Azure/azure-managedapp-samples/raw/master/Managed Application Sample Packages/201-managed-storage-account/managedstorage.zip\",\n    display_name=\"TestManagedApplicationDefinition\",\n    description=\"Test Managed Application Definition\",\n    authorizations=[{\n        \"service_principal_id\": current.object_id,\n        \"role_definition_id\": \"a094b430-dad3-424d-ae58-13f72fd72591\",\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var current = Azure.Core.GetClientConfig.Invoke();\n\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleDefinition = new Azure.ManagedApplication.Definition(\"example\", new()\n    {\n        Name = \"examplemanagedapplicationdefinition\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        LockLevel = \"ReadOnly\",\n        PackageFileUri = \"https://github.com/Azure/azure-managedapp-samples/raw/master/Managed Application Sample Packages/201-managed-storage-account/managedstorage.zip\",\n        DisplayName = \"TestManagedApplicationDefinition\",\n        Description = \"Test Managed Application Definition\",\n        Authorizations = new[]\n        {\n            new Azure.ManagedApplication.Inputs.DefinitionAuthorizationArgs\n            {\n                ServicePrincipalId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.ObjectId),\n                RoleDefinitionId = \"a094b430-dad3-424d-ae58-13f72fd72591\",\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/managedapplication\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := core.GetClientConfig(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = managedapplication.NewDefinition(ctx, \"example\", \u0026managedapplication.DefinitionArgs{\n\t\t\tName:              pulumi.String(\"examplemanagedapplicationdefinition\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLockLevel:         pulumi.String(\"ReadOnly\"),\n\t\t\tPackageFileUri:    pulumi.String(\"https://github.com/Azure/azure-managedapp-samples/raw/master/Managed Application Sample Packages/201-managed-storage-account/managedstorage.zip\"),\n\t\t\tDisplayName:       pulumi.String(\"TestManagedApplicationDefinition\"),\n\t\t\tDescription:       pulumi.String(\"Test Managed Application Definition\"),\n\t\t\tAuthorizations: managedapplication.DefinitionAuthorizationArray{\n\t\t\t\t\u0026managedapplication.DefinitionAuthorizationArgs{\n\t\t\t\t\tServicePrincipalId: pulumi.String(current.ObjectId),\n\t\t\t\t\tRoleDefinitionId:   pulumi.String(\"a094b430-dad3-424d-ae58-13f72fd72591\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.managedapplication.Definition;\nimport com.pulumi.azure.managedapplication.DefinitionArgs;\nimport com.pulumi.azure.managedapplication.inputs.DefinitionAuthorizationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var current = CoreFunctions.getClientConfig(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleDefinition = new Definition(\"exampleDefinition\", DefinitionArgs.builder()\n            .name(\"examplemanagedapplicationdefinition\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .lockLevel(\"ReadOnly\")\n            .packageFileUri(\"https://github.com/Azure/azure-managedapp-samples/raw/master/Managed Application Sample Packages/201-managed-storage-account/managedstorage.zip\")\n            .displayName(\"TestManagedApplicationDefinition\")\n            .description(\"Test Managed Application Definition\")\n            .authorizations(DefinitionAuthorizationArgs.builder()\n                .servicePrincipalId(current.objectId())\n                .roleDefinitionId(\"a094b430-dad3-424d-ae58-13f72fd72591\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleDefinition:\n    type: azure:managedapplication:Definition\n    name: example\n    properties:\n      name: examplemanagedapplicationdefinition\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      lockLevel: ReadOnly\n      packageFileUri: https://github.com/Azure/azure-managedapp-samples/raw/master/Managed Application Sample Packages/201-managed-storage-account/managedstorage.zip\n      displayName: TestManagedApplicationDefinition\n      description: Test Managed Application Definition\n      authorizations:\n        - servicePrincipalId: ${current.objectId}\n          roleDefinitionId: a094b430-dad3-424d-ae58-13f72fd72591\nvariables:\n  current:\n    fn::invoke:\n      function: azure:core:getClientConfig\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Solutions` - 2021-07-01\n\n## Import\n\nManaged Application Definition can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:managedapplication/definition:Definition example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Solutions/applicationDefinitions/appDefinition1\n```\n\n","properties":{"authorizations":{"type":"array","items":{"$ref":"#/types/azure:managedapplication/DefinitionAuthorization:DefinitionAuthorization"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`authorization`\" pulumi-lang-dotnet=\"`Authorization`\" pulumi-lang-go=\"`authorization`\" pulumi-lang-python=\"`authorization`\" pulumi-lang-yaml=\"`authorization`\" pulumi-lang-java=\"`authorization`\"\u003e`authorization`\u003c/span\u003e block defined below.\n"},"createUiDefinition":{"type":"string","description":"Specifies the `createUiDefinition` JSON for the backing template with `Microsoft.Solutions/applications` resource.\n"},"description":{"type":"string","description":"Specifies the managed application definition description.\n"},"displayName":{"type":"string","description":"Specifies the managed application definition display name.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n"},"lockLevel":{"type":"string","description":"Specifies the managed application lock level. Valid values include `CanNotDelete`, `None`, `ReadOnly`. Changing this forces a new resource to be created.\n"},"mainTemplate":{"type":"string","description":"Specifies the inline main template JSON which has resources to be provisioned.\n"},"name":{"type":"string","description":"Specifies the name of the Managed Application Definition. Changing this forces a new resource to be created.\n"},"packageEnabled":{"type":"boolean","description":"Is the package enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"packageFileUri":{"type":"string","description":"Specifies the managed application definition package file Uri.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Managed Application Definition should exist. Changing this forces a new resource to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n\n\u003e **Note:** If either \u003cspan pulumi-lang-nodejs=\"`createUiDefinition`\" pulumi-lang-dotnet=\"`CreateUiDefinition`\" pulumi-lang-go=\"`createUiDefinition`\" pulumi-lang-python=\"`create_ui_definition`\" pulumi-lang-yaml=\"`createUiDefinition`\" pulumi-lang-java=\"`createUiDefinition`\"\u003e`create_ui_definition`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`mainTemplate`\" pulumi-lang-dotnet=\"`MainTemplate`\" pulumi-lang-go=\"`mainTemplate`\" pulumi-lang-python=\"`main_template`\" pulumi-lang-yaml=\"`mainTemplate`\" pulumi-lang-java=\"`mainTemplate`\"\u003e`main_template`\u003c/span\u003e is set they both must be set.\n"}},"required":["displayName","location","lockLevel","name","resourceGroupName"],"inputProperties":{"authorizations":{"type":"array","items":{"$ref":"#/types/azure:managedapplication/DefinitionAuthorization:DefinitionAuthorization"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`authorization`\" pulumi-lang-dotnet=\"`Authorization`\" pulumi-lang-go=\"`authorization`\" pulumi-lang-python=\"`authorization`\" pulumi-lang-yaml=\"`authorization`\" pulumi-lang-java=\"`authorization`\"\u003e`authorization`\u003c/span\u003e block defined below.\n"},"createUiDefinition":{"type":"string","description":"Specifies the `createUiDefinition` JSON for the backing template with `Microsoft.Solutions/applications` resource.\n"},"description":{"type":"string","description":"Specifies the managed application definition description.\n"},"displayName":{"type":"string","description":"Specifies the managed application definition display name.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"lockLevel":{"type":"string","description":"Specifies the managed application lock level. Valid values include `CanNotDelete`, `None`, `ReadOnly`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"mainTemplate":{"type":"string","description":"Specifies the inline main template JSON which has resources to be provisioned.\n"},"name":{"type":"string","description":"Specifies the name of the Managed Application Definition. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"packageEnabled":{"type":"boolean","description":"Is the package enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"packageFileUri":{"type":"string","description":"Specifies the managed application definition package file Uri.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Managed Application Definition should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n\n\u003e **Note:** If either \u003cspan pulumi-lang-nodejs=\"`createUiDefinition`\" pulumi-lang-dotnet=\"`CreateUiDefinition`\" pulumi-lang-go=\"`createUiDefinition`\" pulumi-lang-python=\"`create_ui_definition`\" pulumi-lang-yaml=\"`createUiDefinition`\" pulumi-lang-java=\"`createUiDefinition`\"\u003e`create_ui_definition`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`mainTemplate`\" pulumi-lang-dotnet=\"`MainTemplate`\" pulumi-lang-go=\"`mainTemplate`\" pulumi-lang-python=\"`main_template`\" pulumi-lang-yaml=\"`mainTemplate`\" pulumi-lang-java=\"`mainTemplate`\"\u003e`main_template`\u003c/span\u003e is set they both must be set.\n"}},"requiredInputs":["displayName","lockLevel","resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering Definition resources.\n","properties":{"authorizations":{"type":"array","items":{"$ref":"#/types/azure:managedapplication/DefinitionAuthorization:DefinitionAuthorization"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`authorization`\" pulumi-lang-dotnet=\"`Authorization`\" pulumi-lang-go=\"`authorization`\" pulumi-lang-python=\"`authorization`\" pulumi-lang-yaml=\"`authorization`\" pulumi-lang-java=\"`authorization`\"\u003e`authorization`\u003c/span\u003e block defined below.\n"},"createUiDefinition":{"type":"string","description":"Specifies the `createUiDefinition` JSON for the backing template with `Microsoft.Solutions/applications` resource.\n"},"description":{"type":"string","description":"Specifies the managed application definition description.\n"},"displayName":{"type":"string","description":"Specifies the managed application definition display name.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"lockLevel":{"type":"string","description":"Specifies the managed application lock level. Valid values include `CanNotDelete`, `None`, `ReadOnly`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"mainTemplate":{"type":"string","description":"Specifies the inline main template JSON which has resources to be provisioned.\n"},"name":{"type":"string","description":"Specifies the name of the Managed Application Definition. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"packageEnabled":{"type":"boolean","description":"Is the package enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"packageFileUri":{"type":"string","description":"Specifies the managed application definition package file Uri.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Managed Application Definition should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n\n\u003e **Note:** If either \u003cspan pulumi-lang-nodejs=\"`createUiDefinition`\" pulumi-lang-dotnet=\"`CreateUiDefinition`\" pulumi-lang-go=\"`createUiDefinition`\" pulumi-lang-python=\"`create_ui_definition`\" pulumi-lang-yaml=\"`createUiDefinition`\" pulumi-lang-java=\"`createUiDefinition`\"\u003e`create_ui_definition`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`mainTemplate`\" pulumi-lang-dotnet=\"`MainTemplate`\" pulumi-lang-go=\"`mainTemplate`\" pulumi-lang-python=\"`main_template`\" pulumi-lang-yaml=\"`mainTemplate`\" pulumi-lang-java=\"`mainTemplate`\"\u003e`main_template`\u003c/span\u003e is set they both must be set.\n"}},"type":"object"}},"azure:managedlustre/fileSystem:FileSystem":{"description":"Manages an Azure Managed Lustre File System.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"example\", {\n    name: \"example-vnet\",\n    addressSpaces: [\"10.0.0.0/16\"],\n    location: example.location,\n    resourceGroupName: example.name,\n});\nconst exampleSubnet = new azure.network.Subnet(\"example\", {\n    name: \"example-subnet\",\n    resourceGroupName: example.name,\n    virtualNetworkName: exampleVirtualNetwork.name,\n    addressPrefixes: [\"10.0.2.0/24\"],\n});\nconst exampleFileSystem = new azure.managedlustre.FileSystem(\"example\", {\n    name: \"example-amlfs\",\n    resourceGroupName: example.name,\n    location: example.location,\n    skuName: \"AMLFS-Durable-Premium-250\",\n    subnetId: exampleSubnet.id,\n    storageCapacityInTb: 8,\n    zones: [\"2\"],\n    maintenanceWindow: {\n        dayOfWeek: \"Friday\",\n        timeOfDayUtc: \"22:00\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_virtual_network = azure.network.VirtualNetwork(\"example\",\n    name=\"example-vnet\",\n    address_spaces=[\"10.0.0.0/16\"],\n    location=example.location,\n    resource_group_name=example.name)\nexample_subnet = azure.network.Subnet(\"example\",\n    name=\"example-subnet\",\n    resource_group_name=example.name,\n    virtual_network_name=example_virtual_network.name,\n    address_prefixes=[\"10.0.2.0/24\"])\nexample_file_system = azure.managedlustre.FileSystem(\"example\",\n    name=\"example-amlfs\",\n    resource_group_name=example.name,\n    location=example.location,\n    sku_name=\"AMLFS-Durable-Premium-250\",\n    subnet_id=example_subnet.id,\n    storage_capacity_in_tb=8,\n    zones=[\"2\"],\n    maintenance_window={\n        \"day_of_week\": \"Friday\",\n        \"time_of_day_utc\": \"22:00\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleVirtualNetwork = new Azure.Network.VirtualNetwork(\"example\", new()\n    {\n        Name = \"example-vnet\",\n        AddressSpaces = new[]\n        {\n            \"10.0.0.0/16\",\n        },\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n    });\n\n    var exampleSubnet = new Azure.Network.Subnet(\"example\", new()\n    {\n        Name = \"example-subnet\",\n        ResourceGroupName = example.Name,\n        VirtualNetworkName = exampleVirtualNetwork.Name,\n        AddressPrefixes = new[]\n        {\n            \"10.0.2.0/24\",\n        },\n    });\n\n    var exampleFileSystem = new Azure.ManagedLustre.FileSystem(\"example\", new()\n    {\n        Name = \"example-amlfs\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        SkuName = \"AMLFS-Durable-Premium-250\",\n        SubnetId = exampleSubnet.Id,\n        StorageCapacityInTb = 8,\n        Zones = new[]\n        {\n            \"2\",\n        },\n        MaintenanceWindow = new Azure.ManagedLustre.Inputs.FileSystemMaintenanceWindowArgs\n        {\n            DayOfWeek = \"Friday\",\n            TimeOfDayUtc = \"22:00\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/managedlustre\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, \"example\", \u0026network.VirtualNetworkArgs{\n\t\t\tName: pulumi.String(\"example-vnet\"),\n\t\t\tAddressSpaces: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.0.0/16\"),\n\t\t\t},\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSubnet, err := network.NewSubnet(ctx, \"example\", \u0026network.SubnetArgs{\n\t\t\tName:               pulumi.String(\"example-subnet\"),\n\t\t\tResourceGroupName:  example.Name,\n\t\t\tVirtualNetworkName: exampleVirtualNetwork.Name,\n\t\t\tAddressPrefixes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.2.0/24\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = managedlustre.NewFileSystem(ctx, \"example\", \u0026managedlustre.FileSystemArgs{\n\t\t\tName:                pulumi.String(\"example-amlfs\"),\n\t\t\tResourceGroupName:   example.Name,\n\t\t\tLocation:            example.Location,\n\t\t\tSkuName:             pulumi.String(\"AMLFS-Durable-Premium-250\"),\n\t\t\tSubnetId:            exampleSubnet.ID(),\n\t\t\tStorageCapacityInTb: pulumi.Int(8),\n\t\t\tZones: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"2\"),\n\t\t\t},\n\t\t\tMaintenanceWindow: \u0026managedlustre.FileSystemMaintenanceWindowArgs{\n\t\t\t\tDayOfWeek:    pulumi.String(\"Friday\"),\n\t\t\t\tTimeOfDayUtc: \"22:00\",\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.VirtualNetwork;\nimport com.pulumi.azure.network.VirtualNetworkArgs;\nimport com.pulumi.azure.network.Subnet;\nimport com.pulumi.azure.network.SubnetArgs;\nimport com.pulumi.azure.managedlustre.FileSystem;\nimport com.pulumi.azure.managedlustre.FileSystemArgs;\nimport com.pulumi.azure.managedlustre.inputs.FileSystemMaintenanceWindowArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleVirtualNetwork = new VirtualNetwork(\"exampleVirtualNetwork\", VirtualNetworkArgs.builder()\n            .name(\"example-vnet\")\n            .addressSpaces(\"10.0.0.0/16\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .build());\n\n        var exampleSubnet = new Subnet(\"exampleSubnet\", SubnetArgs.builder()\n            .name(\"example-subnet\")\n            .resourceGroupName(example.name())\n            .virtualNetworkName(exampleVirtualNetwork.name())\n            .addressPrefixes(\"10.0.2.0/24\")\n            .build());\n\n        var exampleFileSystem = new FileSystem(\"exampleFileSystem\", FileSystemArgs.builder()\n            .name(\"example-amlfs\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .skuName(\"AMLFS-Durable-Premium-250\")\n            .subnetId(exampleSubnet.id())\n            .storageCapacityInTb(8)\n            .zones(\"2\")\n            .maintenanceWindow(FileSystemMaintenanceWindowArgs.builder()\n                .dayOfWeek(\"Friday\")\n                .timeOfDayUtc(\"22:00\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleVirtualNetwork:\n    type: azure:network:VirtualNetwork\n    name: example\n    properties:\n      name: example-vnet\n      addressSpaces:\n        - 10.0.0.0/16\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n  exampleSubnet:\n    type: azure:network:Subnet\n    name: example\n    properties:\n      name: example-subnet\n      resourceGroupName: ${example.name}\n      virtualNetworkName: ${exampleVirtualNetwork.name}\n      addressPrefixes:\n        - 10.0.2.0/24\n  exampleFileSystem:\n    type: azure:managedlustre:FileSystem\n    name: example\n    properties:\n      name: example-amlfs\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      skuName: AMLFS-Durable-Premium-250\n      subnetId: ${exampleSubnet.id}\n      storageCapacityInTb: 8\n      zones:\n        - '2'\n      maintenanceWindow:\n        dayOfWeek: Friday\n        timeOfDayUtc: 22:00\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.StorageCache` - 2024-07-01\n\n## Import\n\nAzure Managed Lustre File Systems can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:managedlustre/fileSystem:FileSystem example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup1/providers/Microsoft.StorageCache/amlFilesystems/amlFilesystem1\n```\n\n","properties":{"encryptionKey":{"$ref":"#/types/azure:managedlustre/FileSystemEncryptionKey:FileSystemEncryptionKey","description":"An \u003cspan pulumi-lang-nodejs=\"`encryptionKey`\" pulumi-lang-dotnet=\"`EncryptionKey`\" pulumi-lang-go=\"`encryptionKey`\" pulumi-lang-python=\"`encryption_key`\" pulumi-lang-yaml=\"`encryptionKey`\" pulumi-lang-java=\"`encryptionKey`\"\u003e`encryption_key`\u003c/span\u003e block as defined below.\n\n\u003e **Note:** Removing \u003cspan pulumi-lang-nodejs=\"`encryptionKey`\" pulumi-lang-dotnet=\"`EncryptionKey`\" pulumi-lang-go=\"`encryptionKey`\" pulumi-lang-python=\"`encryption_key`\" pulumi-lang-yaml=\"`encryptionKey`\" pulumi-lang-java=\"`encryptionKey`\"\u003e`encryption_key`\u003c/span\u003e forces a new resource to be created.\n"},"hsmSetting":{"$ref":"#/types/azure:managedlustre/FileSystemHsmSetting:FileSystemHsmSetting","description":"A \u003cspan pulumi-lang-nodejs=\"`hsmSetting`\" pulumi-lang-dotnet=\"`HsmSetting`\" pulumi-lang-go=\"`hsmSetting`\" pulumi-lang-python=\"`hsm_setting`\" pulumi-lang-yaml=\"`hsmSetting`\" pulumi-lang-java=\"`hsmSetting`\"\u003e`hsm_setting`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n"},"identity":{"$ref":"#/types/azure:managedlustre/FileSystemIdentity:FileSystemIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n"},"location":{"type":"string","description":"The Azure Region where the Azure Managed Lustre File System should exist. Changing this forces a new resource to be created.\n"},"maintenanceWindow":{"$ref":"#/types/azure:managedlustre/FileSystemMaintenanceWindow:FileSystemMaintenanceWindow","description":"A \u003cspan pulumi-lang-nodejs=\"`maintenanceWindow`\" pulumi-lang-dotnet=\"`MaintenanceWindow`\" pulumi-lang-go=\"`maintenanceWindow`\" pulumi-lang-python=\"`maintenance_window`\" pulumi-lang-yaml=\"`maintenanceWindow`\" pulumi-lang-java=\"`maintenanceWindow`\"\u003e`maintenance_window`\u003c/span\u003e block as defined below.\n"},"mgsAddress":{"type":"string","description":"IP Address of Managed Lustre File System Services.\n"},"name":{"type":"string","description":"The name which should be used for this Azure Managed Lustre File System. Changing this forces a new resource to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Azure Managed Lustre File System should exist. Changing this forces a new resource to be created.\n"},"rootSquash":{"$ref":"#/types/azure:managedlustre/FileSystemRootSquash:FileSystemRootSquash","description":"A \u003cspan pulumi-lang-nodejs=\"`rootSquash`\" pulumi-lang-dotnet=\"`RootSquash`\" pulumi-lang-go=\"`rootSquash`\" pulumi-lang-python=\"`root_squash`\" pulumi-lang-yaml=\"`rootSquash`\" pulumi-lang-java=\"`rootSquash`\"\u003e`root_squash`\u003c/span\u003e block as defined below.\n"},"skuName":{"type":"string","description":"The SKU name for the Azure Managed Lustre File System. Possible values are `AMLFS-Durable-Premium-40`, `AMLFS-Durable-Premium-125`, `AMLFS-Durable-Premium-250` and `AMLFS-Durable-Premium-500`. Changing this forces a new resource to be created.\n"},"storageCapacityInTb":{"type":"integer","description":"The size of the Azure Managed Lustre File System in TiB. The valid values for this field are dependant on which \u003cspan pulumi-lang-nodejs=\"`skuName`\" pulumi-lang-dotnet=\"`SkuName`\" pulumi-lang-go=\"`skuName`\" pulumi-lang-python=\"`sku_name`\" pulumi-lang-yaml=\"`skuName`\" pulumi-lang-java=\"`skuName`\"\u003e`sku_name`\u003c/span\u003e has been defined in the configuration file. For more information on the valid values for this field please see the [product documentation](https://learn.microsoft.com/azure/azure-managed-lustre/create-file-system-resource-manager#file-system-type-and-size-options). Changing this forces a new resource to be created.\n"},"subnetId":{"type":"string","description":"The resource ID of the Subnet that is used for managing the Azure Managed Lustre file system and for client-facing operations. This subnet should have at least a /24 subnet mask within the Virtual Network's address space. Changing this forces a new resource to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Azure Managed Lustre File System.\n"},"zones":{"type":"array","items":{"type":"string"},"description":"A list of availability zones for the Azure Managed Lustre File System. Changing this forces a new resource to be created.\n"}},"required":["location","maintenanceWindow","mgsAddress","name","resourceGroupName","skuName","storageCapacityInTb","subnetId","zones"],"inputProperties":{"encryptionKey":{"$ref":"#/types/azure:managedlustre/FileSystemEncryptionKey:FileSystemEncryptionKey","description":"An \u003cspan pulumi-lang-nodejs=\"`encryptionKey`\" pulumi-lang-dotnet=\"`EncryptionKey`\" pulumi-lang-go=\"`encryptionKey`\" pulumi-lang-python=\"`encryption_key`\" pulumi-lang-yaml=\"`encryptionKey`\" pulumi-lang-java=\"`encryptionKey`\"\u003e`encryption_key`\u003c/span\u003e block as defined below.\n\n\u003e **Note:** Removing \u003cspan pulumi-lang-nodejs=\"`encryptionKey`\" pulumi-lang-dotnet=\"`EncryptionKey`\" pulumi-lang-go=\"`encryptionKey`\" pulumi-lang-python=\"`encryption_key`\" pulumi-lang-yaml=\"`encryptionKey`\" pulumi-lang-java=\"`encryptionKey`\"\u003e`encryption_key`\u003c/span\u003e forces a new resource to be created.\n"},"hsmSetting":{"$ref":"#/types/azure:managedlustre/FileSystemHsmSetting:FileSystemHsmSetting","description":"A \u003cspan pulumi-lang-nodejs=\"`hsmSetting`\" pulumi-lang-dotnet=\"`HsmSetting`\" pulumi-lang-go=\"`hsmSetting`\" pulumi-lang-python=\"`hsm_setting`\" pulumi-lang-yaml=\"`hsmSetting`\" pulumi-lang-java=\"`hsmSetting`\"\u003e`hsm_setting`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"identity":{"$ref":"#/types/azure:managedlustre/FileSystemIdentity:FileSystemIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"location":{"type":"string","description":"The Azure Region where the Azure Managed Lustre File System should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"maintenanceWindow":{"$ref":"#/types/azure:managedlustre/FileSystemMaintenanceWindow:FileSystemMaintenanceWindow","description":"A \u003cspan pulumi-lang-nodejs=\"`maintenanceWindow`\" pulumi-lang-dotnet=\"`MaintenanceWindow`\" pulumi-lang-go=\"`maintenanceWindow`\" pulumi-lang-python=\"`maintenance_window`\" pulumi-lang-yaml=\"`maintenanceWindow`\" pulumi-lang-java=\"`maintenanceWindow`\"\u003e`maintenance_window`\u003c/span\u003e block as defined below.\n"},"name":{"type":"string","description":"The name which should be used for this Azure Managed Lustre File System. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Azure Managed Lustre File System should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"rootSquash":{"$ref":"#/types/azure:managedlustre/FileSystemRootSquash:FileSystemRootSquash","description":"A \u003cspan pulumi-lang-nodejs=\"`rootSquash`\" pulumi-lang-dotnet=\"`RootSquash`\" pulumi-lang-go=\"`rootSquash`\" pulumi-lang-python=\"`root_squash`\" pulumi-lang-yaml=\"`rootSquash`\" pulumi-lang-java=\"`rootSquash`\"\u003e`root_squash`\u003c/span\u003e block as defined below.\n"},"skuName":{"type":"string","description":"The SKU name for the Azure Managed Lustre File System. Possible values are `AMLFS-Durable-Premium-40`, `AMLFS-Durable-Premium-125`, `AMLFS-Durable-Premium-250` and `AMLFS-Durable-Premium-500`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"storageCapacityInTb":{"type":"integer","description":"The size of the Azure Managed Lustre File System in TiB. The valid values for this field are dependant on which \u003cspan pulumi-lang-nodejs=\"`skuName`\" pulumi-lang-dotnet=\"`SkuName`\" pulumi-lang-go=\"`skuName`\" pulumi-lang-python=\"`sku_name`\" pulumi-lang-yaml=\"`skuName`\" pulumi-lang-java=\"`skuName`\"\u003e`sku_name`\u003c/span\u003e has been defined in the configuration file. For more information on the valid values for this field please see the [product documentation](https://learn.microsoft.com/azure/azure-managed-lustre/create-file-system-resource-manager#file-system-type-and-size-options). Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"subnetId":{"type":"string","description":"The resource ID of the Subnet that is used for managing the Azure Managed Lustre file system and for client-facing operations. This subnet should have at least a /24 subnet mask within the Virtual Network's address space. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Azure Managed Lustre File System.\n"},"zones":{"type":"array","items":{"type":"string"},"description":"A list of availability zones for the Azure Managed Lustre File System. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["maintenanceWindow","resourceGroupName","skuName","storageCapacityInTb","subnetId","zones"],"stateInputs":{"description":"Input properties used for looking up and filtering FileSystem resources.\n","properties":{"encryptionKey":{"$ref":"#/types/azure:managedlustre/FileSystemEncryptionKey:FileSystemEncryptionKey","description":"An \u003cspan pulumi-lang-nodejs=\"`encryptionKey`\" pulumi-lang-dotnet=\"`EncryptionKey`\" pulumi-lang-go=\"`encryptionKey`\" pulumi-lang-python=\"`encryption_key`\" pulumi-lang-yaml=\"`encryptionKey`\" pulumi-lang-java=\"`encryptionKey`\"\u003e`encryption_key`\u003c/span\u003e block as defined below.\n\n\u003e **Note:** Removing \u003cspan pulumi-lang-nodejs=\"`encryptionKey`\" pulumi-lang-dotnet=\"`EncryptionKey`\" pulumi-lang-go=\"`encryptionKey`\" pulumi-lang-python=\"`encryption_key`\" pulumi-lang-yaml=\"`encryptionKey`\" pulumi-lang-java=\"`encryptionKey`\"\u003e`encryption_key`\u003c/span\u003e forces a new resource to be created.\n"},"hsmSetting":{"$ref":"#/types/azure:managedlustre/FileSystemHsmSetting:FileSystemHsmSetting","description":"A \u003cspan pulumi-lang-nodejs=\"`hsmSetting`\" pulumi-lang-dotnet=\"`HsmSetting`\" pulumi-lang-go=\"`hsmSetting`\" pulumi-lang-python=\"`hsm_setting`\" pulumi-lang-yaml=\"`hsmSetting`\" pulumi-lang-java=\"`hsmSetting`\"\u003e`hsm_setting`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"identity":{"$ref":"#/types/azure:managedlustre/FileSystemIdentity:FileSystemIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"location":{"type":"string","description":"The Azure Region where the Azure Managed Lustre File System should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"maintenanceWindow":{"$ref":"#/types/azure:managedlustre/FileSystemMaintenanceWindow:FileSystemMaintenanceWindow","description":"A \u003cspan pulumi-lang-nodejs=\"`maintenanceWindow`\" pulumi-lang-dotnet=\"`MaintenanceWindow`\" pulumi-lang-go=\"`maintenanceWindow`\" pulumi-lang-python=\"`maintenance_window`\" pulumi-lang-yaml=\"`maintenanceWindow`\" pulumi-lang-java=\"`maintenanceWindow`\"\u003e`maintenance_window`\u003c/span\u003e block as defined below.\n"},"mgsAddress":{"type":"string","description":"IP Address of Managed Lustre File System Services.\n"},"name":{"type":"string","description":"The name which should be used for this Azure Managed Lustre File System. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Azure Managed Lustre File System should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"rootSquash":{"$ref":"#/types/azure:managedlustre/FileSystemRootSquash:FileSystemRootSquash","description":"A \u003cspan pulumi-lang-nodejs=\"`rootSquash`\" pulumi-lang-dotnet=\"`RootSquash`\" pulumi-lang-go=\"`rootSquash`\" pulumi-lang-python=\"`root_squash`\" pulumi-lang-yaml=\"`rootSquash`\" pulumi-lang-java=\"`rootSquash`\"\u003e`root_squash`\u003c/span\u003e block as defined below.\n"},"skuName":{"type":"string","description":"The SKU name for the Azure Managed Lustre File System. Possible values are `AMLFS-Durable-Premium-40`, `AMLFS-Durable-Premium-125`, `AMLFS-Durable-Premium-250` and `AMLFS-Durable-Premium-500`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"storageCapacityInTb":{"type":"integer","description":"The size of the Azure Managed Lustre File System in TiB. The valid values for this field are dependant on which \u003cspan pulumi-lang-nodejs=\"`skuName`\" pulumi-lang-dotnet=\"`SkuName`\" pulumi-lang-go=\"`skuName`\" pulumi-lang-python=\"`sku_name`\" pulumi-lang-yaml=\"`skuName`\" pulumi-lang-java=\"`skuName`\"\u003e`sku_name`\u003c/span\u003e has been defined in the configuration file. For more information on the valid values for this field please see the [product documentation](https://learn.microsoft.com/azure/azure-managed-lustre/create-file-system-resource-manager#file-system-type-and-size-options). Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"subnetId":{"type":"string","description":"The resource ID of the Subnet that is used for managing the Azure Managed Lustre file system and for client-facing operations. This subnet should have at least a /24 subnet mask within the Virtual Network's address space. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Azure Managed Lustre File System.\n"},"zones":{"type":"array","items":{"type":"string"},"description":"A list of availability zones for the Azure Managed Lustre File System. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:managedredis/accessPolicyAssignment:AccessPolicyAssignment":{"description":"Manages a Managed Redis Access Policy Assignment.\n\n## Import\n\nManaged Redis Access Policy Assignments can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:managedredis/accessPolicyAssignment:AccessPolicyAssignment example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Cache/redisEnterprise/redis1/databases/default/accessPolicyAssignments/00000000-0000-0000-0000-000000000000\n```\n\n","properties":{"managedRedisId":{"type":"string","description":"The ID of the Managed Redis instance. Changing this forces a new Access Policy Assignment to be created.\n"},"objectId":{"type":"string","description":"The object ID of the Azure Active Directory user, group, service principal, or managed identity to assign the access policy to. Changing this forces a new Access Policy Assignment to be created.\n\n\u003e **Note:** Access Policy Assignments are created on the \u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\"\u003e`default`\u003c/span\u003e database of the Managed Redis instance.\n"}},"required":["managedRedisId","objectId"],"inputProperties":{"managedRedisId":{"type":"string","description":"The ID of the Managed Redis instance. Changing this forces a new Access Policy Assignment to be created.\n","willReplaceOnChanges":true},"objectId":{"type":"string","description":"The object ID of the Azure Active Directory user, group, service principal, or managed identity to assign the access policy to. Changing this forces a new Access Policy Assignment to be created.\n\n\u003e **Note:** Access Policy Assignments are created on the \u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\"\u003e`default`\u003c/span\u003e database of the Managed Redis instance.\n","willReplaceOnChanges":true}},"requiredInputs":["managedRedisId","objectId"],"stateInputs":{"description":"Input properties used for looking up and filtering AccessPolicyAssignment resources.\n","properties":{"managedRedisId":{"type":"string","description":"The ID of the Managed Redis instance. Changing this forces a new Access Policy Assignment to be created.\n","willReplaceOnChanges":true},"objectId":{"type":"string","description":"The object ID of the Azure Active Directory user, group, service principal, or managed identity to assign the access policy to. Changing this forces a new Access Policy Assignment to be created.\n\n\u003e **Note:** Access Policy Assignments are created on the \u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\"\u003e`default`\u003c/span\u003e database of the Managed Redis instance.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:managedredis/geoReplication:GeoReplication":{"description":"Manages Managed Redis Geo-Replication by linking and unlinking databases in a geo-replication group.\n\n\u003e **Note:** This resource manages the geo-replication group membership for Managed Redis databases. All databases to be linked must have \u003cspan pulumi-lang-nodejs=\"`geoReplicationGroupName`\" pulumi-lang-dotnet=\"`GeoReplicationGroupName`\" pulumi-lang-go=\"`geoReplicationGroupName`\" pulumi-lang-python=\"`geo_replication_group_name`\" pulumi-lang-yaml=\"`geoReplicationGroupName`\" pulumi-lang-java=\"`geoReplicationGroupName`\"\u003e`geo_replication_group_name`\u003c/span\u003e provided with the same value. Linking will [discard cache data and cause temporary outage](https://learn.microsoft.com/azure/redis/how-to-active-geo-replication#add-an-existing-instance-to-an-active-geo-replication-group).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-managedredis\",\n    location: \"West Europe\",\n});\nconst amr1 = new azure.managedredis.ManagedRedis(\"amr1\", {\n    name: \"example-managedredis-amr1\",\n    resourceGroupName: example.name,\n    location: \"West Europe\",\n    skuName: \"Balanced_B3\",\n    defaultDatabase: {\n        geoReplicationGroupName: \"example-geo-group\",\n    },\n});\nconst amr2 = new azure.managedredis.ManagedRedis(\"amr2\", {\n    name: \"example-managedredis-amr2\",\n    resourceGroupName: example.name,\n    location: \"Central US\",\n    skuName: \"Balanced_B3\",\n    defaultDatabase: {\n        geoReplicationGroupName: \"example-geo-group\",\n    },\n});\nconst exampleGeoReplication = new azure.managedredis.GeoReplication(\"example\", {\n    managedRedisId: amr1.id,\n    linkedManagedRedisIds: [amr2.id],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-managedredis\",\n    location=\"West Europe\")\namr1 = azure.managedredis.ManagedRedis(\"amr1\",\n    name=\"example-managedredis-amr1\",\n    resource_group_name=example.name,\n    location=\"West Europe\",\n    sku_name=\"Balanced_B3\",\n    default_database={\n        \"geo_replication_group_name\": \"example-geo-group\",\n    })\namr2 = azure.managedredis.ManagedRedis(\"amr2\",\n    name=\"example-managedredis-amr2\",\n    resource_group_name=example.name,\n    location=\"Central US\",\n    sku_name=\"Balanced_B3\",\n    default_database={\n        \"geo_replication_group_name\": \"example-geo-group\",\n    })\nexample_geo_replication = azure.managedredis.GeoReplication(\"example\",\n    managed_redis_id=amr1.id,\n    linked_managed_redis_ids=[amr2.id])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-managedredis\",\n        Location = \"West Europe\",\n    });\n\n    var amr1 = new Azure.ManagedRedis.ManagedRedis(\"amr1\", new()\n    {\n        Name = \"example-managedredis-amr1\",\n        ResourceGroupName = example.Name,\n        Location = \"West Europe\",\n        SkuName = \"Balanced_B3\",\n        DefaultDatabase = new Azure.ManagedRedis.Inputs.ManagedRedisDefaultDatabaseArgs\n        {\n            GeoReplicationGroupName = \"example-geo-group\",\n        },\n    });\n\n    var amr2 = new Azure.ManagedRedis.ManagedRedis(\"amr2\", new()\n    {\n        Name = \"example-managedredis-amr2\",\n        ResourceGroupName = example.Name,\n        Location = \"Central US\",\n        SkuName = \"Balanced_B3\",\n        DefaultDatabase = new Azure.ManagedRedis.Inputs.ManagedRedisDefaultDatabaseArgs\n        {\n            GeoReplicationGroupName = \"example-geo-group\",\n        },\n    });\n\n    var exampleGeoReplication = new Azure.ManagedRedis.GeoReplication(\"example\", new()\n    {\n        ManagedRedisId = amr1.Id,\n        LinkedManagedRedisIds = new[]\n        {\n            amr2.Id,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/managedredis\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-managedredis\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tamr1, err := managedredis.NewManagedRedis(ctx, \"amr1\", \u0026managedredis.ManagedRedisArgs{\n\t\t\tName:              pulumi.String(\"example-managedredis-amr1\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          pulumi.String(\"West Europe\"),\n\t\t\tSkuName:           pulumi.String(\"Balanced_B3\"),\n\t\t\tDefaultDatabase: \u0026managedredis.ManagedRedisDefaultDatabaseArgs{\n\t\t\t\tGeoReplicationGroupName: pulumi.String(\"example-geo-group\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tamr2, err := managedredis.NewManagedRedis(ctx, \"amr2\", \u0026managedredis.ManagedRedisArgs{\n\t\t\tName:              pulumi.String(\"example-managedredis-amr2\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          pulumi.String(\"Central US\"),\n\t\t\tSkuName:           pulumi.String(\"Balanced_B3\"),\n\t\t\tDefaultDatabase: \u0026managedredis.ManagedRedisDefaultDatabaseArgs{\n\t\t\t\tGeoReplicationGroupName: pulumi.String(\"example-geo-group\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = managedredis.NewGeoReplication(ctx, \"example\", \u0026managedredis.GeoReplicationArgs{\n\t\t\tManagedRedisId: amr1.ID(),\n\t\t\tLinkedManagedRedisIds: pulumi.StringArray{\n\t\t\t\tamr2.ID(),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.managedredis.ManagedRedis;\nimport com.pulumi.azure.managedredis.ManagedRedisArgs;\nimport com.pulumi.azure.managedredis.inputs.ManagedRedisDefaultDatabaseArgs;\nimport com.pulumi.azure.managedredis.GeoReplication;\nimport com.pulumi.azure.managedredis.GeoReplicationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-managedredis\")\n            .location(\"West Europe\")\n            .build());\n\n        var amr1 = new ManagedRedis(\"amr1\", ManagedRedisArgs.builder()\n            .name(\"example-managedredis-amr1\")\n            .resourceGroupName(example.name())\n            .location(\"West Europe\")\n            .skuName(\"Balanced_B3\")\n            .defaultDatabase(ManagedRedisDefaultDatabaseArgs.builder()\n                .geoReplicationGroupName(\"example-geo-group\")\n                .build())\n            .build());\n\n        var amr2 = new ManagedRedis(\"amr2\", ManagedRedisArgs.builder()\n            .name(\"example-managedredis-amr2\")\n            .resourceGroupName(example.name())\n            .location(\"Central US\")\n            .skuName(\"Balanced_B3\")\n            .defaultDatabase(ManagedRedisDefaultDatabaseArgs.builder()\n                .geoReplicationGroupName(\"example-geo-group\")\n                .build())\n            .build());\n\n        var exampleGeoReplication = new GeoReplication(\"exampleGeoReplication\", GeoReplicationArgs.builder()\n            .managedRedisId(amr1.id())\n            .linkedManagedRedisIds(amr2.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-managedredis\n      location: West Europe\n  amr1:\n    type: azure:managedredis:ManagedRedis\n    properties:\n      name: example-managedredis-amr1\n      resourceGroupName: ${example.name}\n      location: West Europe\n      skuName: Balanced_B3\n      defaultDatabase:\n        geoReplicationGroupName: example-geo-group\n  amr2:\n    type: azure:managedredis:ManagedRedis\n    properties:\n      name: example-managedredis-amr2\n      resourceGroupName: ${example.name}\n      location: Central US\n      skuName: Balanced_B3\n      defaultDatabase:\n        geoReplicationGroupName: example-geo-group\n  exampleGeoReplication:\n    type: azure:managedredis:GeoReplication\n    name: example\n    properties:\n      managedRedisId: ${amr1.id}\n      linkedManagedRedisIds:\n        - ${amr2.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Cache` - 2025-07-01\n\n## Import\n\nManaged Redis Database Geo-Replication can be imported using the Managed Redis `resource id`, e.g.\n\n```sh\n$ pulumi import azure:managedredis/geoReplication:GeoReplication example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Cache/redisEnterprise/cluster1\n```\n\n","properties":{"linkedManagedRedisIds":{"type":"array","items":{"type":"string"},"description":"A set of other Managed Redis IDs to link together in the geo-replication group. The ID of this Managed Redis is always included by default and does not need to be provided here. Can contain up to 4 Managed Redis IDs, making up a group of 5 in total. All Managed Redis must have the same \u003cspan pulumi-lang-nodejs=\"`geoReplicationGroupName`\" pulumi-lang-dotnet=\"`GeoReplicationGroupName`\" pulumi-lang-go=\"`geoReplicationGroupName`\" pulumi-lang-python=\"`geo_replication_group_name`\" pulumi-lang-yaml=\"`geoReplicationGroupName`\" pulumi-lang-java=\"`geoReplicationGroupName`\"\u003e`geo_replication_group_name`\u003c/span\u003e configured. Once linked, the geo-replication state of all Managed Redis will be updated.\n"},"managedRedisId":{"type":"string","description":"The ID of the Managed Redis through which geo-replication group will be managed. Linking is reciprocal, if A is linked to B, both A and B will have the same linking state. There is no need to have duplicate \u003cspan pulumi-lang-nodejs=\"`azure.managedredis.GeoReplication`\" pulumi-lang-dotnet=\"`azure.managedredis.GeoReplication`\" pulumi-lang-go=\"`managedredis.GeoReplication`\" pulumi-lang-python=\"`managedredis.GeoReplication`\" pulumi-lang-yaml=\"`azure.managedredis.GeoReplication`\" pulumi-lang-java=\"`azure.managedredis.GeoReplication`\"\u003e`azure.managedredis.GeoReplication`\u003c/span\u003e resources for each. Changing this forces a new resource to be created.\n"}},"required":["linkedManagedRedisIds","managedRedisId"],"inputProperties":{"linkedManagedRedisIds":{"type":"array","items":{"type":"string"},"description":"A set of other Managed Redis IDs to link together in the geo-replication group. The ID of this Managed Redis is always included by default and does not need to be provided here. Can contain up to 4 Managed Redis IDs, making up a group of 5 in total. All Managed Redis must have the same \u003cspan pulumi-lang-nodejs=\"`geoReplicationGroupName`\" pulumi-lang-dotnet=\"`GeoReplicationGroupName`\" pulumi-lang-go=\"`geoReplicationGroupName`\" pulumi-lang-python=\"`geo_replication_group_name`\" pulumi-lang-yaml=\"`geoReplicationGroupName`\" pulumi-lang-java=\"`geoReplicationGroupName`\"\u003e`geo_replication_group_name`\u003c/span\u003e configured. Once linked, the geo-replication state of all Managed Redis will be updated.\n"},"managedRedisId":{"type":"string","description":"The ID of the Managed Redis through which geo-replication group will be managed. Linking is reciprocal, if A is linked to B, both A and B will have the same linking state. There is no need to have duplicate \u003cspan pulumi-lang-nodejs=\"`azure.managedredis.GeoReplication`\" pulumi-lang-dotnet=\"`azure.managedredis.GeoReplication`\" pulumi-lang-go=\"`managedredis.GeoReplication`\" pulumi-lang-python=\"`managedredis.GeoReplication`\" pulumi-lang-yaml=\"`azure.managedredis.GeoReplication`\" pulumi-lang-java=\"`azure.managedredis.GeoReplication`\"\u003e`azure.managedredis.GeoReplication`\u003c/span\u003e resources for each. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["linkedManagedRedisIds","managedRedisId"],"stateInputs":{"description":"Input properties used for looking up and filtering GeoReplication resources.\n","properties":{"linkedManagedRedisIds":{"type":"array","items":{"type":"string"},"description":"A set of other Managed Redis IDs to link together in the geo-replication group. The ID of this Managed Redis is always included by default and does not need to be provided here. Can contain up to 4 Managed Redis IDs, making up a group of 5 in total. All Managed Redis must have the same \u003cspan pulumi-lang-nodejs=\"`geoReplicationGroupName`\" pulumi-lang-dotnet=\"`GeoReplicationGroupName`\" pulumi-lang-go=\"`geoReplicationGroupName`\" pulumi-lang-python=\"`geo_replication_group_name`\" pulumi-lang-yaml=\"`geoReplicationGroupName`\" pulumi-lang-java=\"`geoReplicationGroupName`\"\u003e`geo_replication_group_name`\u003c/span\u003e configured. Once linked, the geo-replication state of all Managed Redis will be updated.\n"},"managedRedisId":{"type":"string","description":"The ID of the Managed Redis through which geo-replication group will be managed. Linking is reciprocal, if A is linked to B, both A and B will have the same linking state. There is no need to have duplicate \u003cspan pulumi-lang-nodejs=\"`azure.managedredis.GeoReplication`\" pulumi-lang-dotnet=\"`azure.managedredis.GeoReplication`\" pulumi-lang-go=\"`managedredis.GeoReplication`\" pulumi-lang-python=\"`managedredis.GeoReplication`\" pulumi-lang-yaml=\"`azure.managedredis.GeoReplication`\" pulumi-lang-java=\"`azure.managedredis.GeoReplication`\"\u003e`azure.managedredis.GeoReplication`\u003c/span\u003e resources for each. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:managedredis/managedRedis:ManagedRedis":{"description":"Manages a [Managed Redis](https://learn.microsoft.com/azure/redis/overview). This resource supersedes\u003cspan pulumi-lang-nodejs=\" azure.redis.EnterpriseCluster \" pulumi-lang-dotnet=\" azure.redis.EnterpriseCluster \" pulumi-lang-go=\" redis.EnterpriseCluster \" pulumi-lang-python=\" redis.EnterpriseCluster \" pulumi-lang-yaml=\" azure.redis.EnterpriseCluster \" pulumi-lang-java=\" azure.redis.EnterpriseCluster \"\u003e azure.redis.EnterpriseCluster \u003c/span\u003eand\u003cspan pulumi-lang-nodejs=\" azure.redis.EnterpriseDatabase \" pulumi-lang-dotnet=\" azure.redis.EnterpriseDatabase \" pulumi-lang-go=\" redis.EnterpriseDatabase \" pulumi-lang-python=\" redis.EnterpriseDatabase \" pulumi-lang-yaml=\" azure.redis.EnterpriseDatabase \" pulumi-lang-java=\" azure.redis.EnterpriseDatabase \"\u003e azure.redis.EnterpriseDatabase \u003c/span\u003eresources. Please refer to the migration guide for more information on migrating from Redis Enterprise to Managed Redis: [Migrating from Redis Enterprise to Managed Redis](https://learn.microsoft.com/azure/redis/migrate/migrate-overview).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleManagedRedis = new azure.managedredis.ManagedRedis(\"example\", {\n    name: \"example-managed-redis\",\n    resourceGroupName: example.name,\n    location: example.location,\n    skuName: \"Balanced_B3\",\n    defaultDatabase: {\n        geoReplicationGroupName: \"myGeoGroup\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_managed_redis = azure.managedredis.ManagedRedis(\"example\",\n    name=\"example-managed-redis\",\n    resource_group_name=example.name,\n    location=example.location,\n    sku_name=\"Balanced_B3\",\n    default_database={\n        \"geo_replication_group_name\": \"myGeoGroup\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleManagedRedis = new Azure.ManagedRedis.ManagedRedis(\"example\", new()\n    {\n        Name = \"example-managed-redis\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        SkuName = \"Balanced_B3\",\n        DefaultDatabase = new Azure.ManagedRedis.Inputs.ManagedRedisDefaultDatabaseArgs\n        {\n            GeoReplicationGroupName = \"myGeoGroup\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/managedredis\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = managedredis.NewManagedRedis(ctx, \"example\", \u0026managedredis.ManagedRedisArgs{\n\t\t\tName:              pulumi.String(\"example-managed-redis\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tSkuName:           pulumi.String(\"Balanced_B3\"),\n\t\t\tDefaultDatabase: \u0026managedredis.ManagedRedisDefaultDatabaseArgs{\n\t\t\t\tGeoReplicationGroupName: pulumi.String(\"myGeoGroup\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.managedredis.ManagedRedis;\nimport com.pulumi.azure.managedredis.ManagedRedisArgs;\nimport com.pulumi.azure.managedredis.inputs.ManagedRedisDefaultDatabaseArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleManagedRedis = new ManagedRedis(\"exampleManagedRedis\", ManagedRedisArgs.builder()\n            .name(\"example-managed-redis\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .skuName(\"Balanced_B3\")\n            .defaultDatabase(ManagedRedisDefaultDatabaseArgs.builder()\n                .geoReplicationGroupName(\"myGeoGroup\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleManagedRedis:\n    type: azure:managedredis:ManagedRedis\n    name: example\n    properties:\n      name: example-managed-redis\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      skuName: Balanced_B3\n      defaultDatabase:\n        geoReplicationGroupName: myGeoGroup\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\n### With Customer Managed Key\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst current = azure.core.getClientConfig({});\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleUserAssignedIdentity = new azure.authorization.UserAssignedIdentity(\"example\", {\n    name: \"example\",\n    resourceGroupName: example.name,\n    location: example.location,\n});\nconst exampleKeyVault = new azure.keyvault.KeyVault(\"example\", {\n    name: \"example\",\n    location: example.location,\n    resourceGroupName: example.name,\n    tenantId: current.then(current =\u003e current.tenantId),\n    skuName: \"standard\",\n    purgeProtectionEnabled: true,\n    accessPolicies: [\n        {\n            tenantId: current.then(current =\u003e current.tenantId),\n            objectId: current.then(current =\u003e current.objectId),\n            keyPermissions: [\n                \"Create\",\n                \"Delete\",\n                \"Get\",\n                \"List\",\n                \"Purge\",\n                \"Recover\",\n                \"Update\",\n                \"GetRotationPolicy\",\n                \"SetRotationPolicy\",\n            ],\n        },\n        {\n            tenantId: current.then(current =\u003e current.tenantId),\n            objectId: exampleUserAssignedIdentity.principalId,\n            keyPermissions: [\n                \"Get\",\n                \"WrapKey\",\n                \"UnwrapKey\",\n            ],\n        },\n    ],\n});\nconst exampleKey = new azure.keyvault.Key(\"example\", {\n    name: \"managedrediscmk\",\n    keyVaultId: exampleKeyVault.id,\n    keyType: \"RSA\",\n    keySize: 2048,\n    keyOpts: [\n        \"unwrapKey\",\n        \"wrapKey\",\n    ],\n});\nconst exampleManagedRedis = new azure.managedredis.ManagedRedis(\"example\", {\n    name: \"example-managed-redis\",\n    resourceGroupName: example.name,\n    location: example.location,\n    skuName: \"Balanced_B3\",\n    identity: {\n        type: \"UserAssigned\",\n        identityIds: [exampleUserAssignedIdentity.id],\n    },\n    customerManagedKey: {\n        keyVaultKeyId: exampleKey.id,\n        userAssignedIdentityId: exampleUserAssignedIdentity.id,\n    },\n    defaultDatabase: {\n        geoReplicationGroupName: \"myGeoGroup\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\ncurrent = azure.core.get_client_config()\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_user_assigned_identity = azure.authorization.UserAssignedIdentity(\"example\",\n    name=\"example\",\n    resource_group_name=example.name,\n    location=example.location)\nexample_key_vault = azure.keyvault.KeyVault(\"example\",\n    name=\"example\",\n    location=example.location,\n    resource_group_name=example.name,\n    tenant_id=current.tenant_id,\n    sku_name=\"standard\",\n    purge_protection_enabled=True,\n    access_policies=[\n        {\n            \"tenant_id\": current.tenant_id,\n            \"object_id\": current.object_id,\n            \"key_permissions\": [\n                \"Create\",\n                \"Delete\",\n                \"Get\",\n                \"List\",\n                \"Purge\",\n                \"Recover\",\n                \"Update\",\n                \"GetRotationPolicy\",\n                \"SetRotationPolicy\",\n            ],\n        },\n        {\n            \"tenant_id\": current.tenant_id,\n            \"object_id\": example_user_assigned_identity.principal_id,\n            \"key_permissions\": [\n                \"Get\",\n                \"WrapKey\",\n                \"UnwrapKey\",\n            ],\n        },\n    ])\nexample_key = azure.keyvault.Key(\"example\",\n    name=\"managedrediscmk\",\n    key_vault_id=example_key_vault.id,\n    key_type=\"RSA\",\n    key_size=2048,\n    key_opts=[\n        \"unwrapKey\",\n        \"wrapKey\",\n    ])\nexample_managed_redis = azure.managedredis.ManagedRedis(\"example\",\n    name=\"example-managed-redis\",\n    resource_group_name=example.name,\n    location=example.location,\n    sku_name=\"Balanced_B3\",\n    identity={\n        \"type\": \"UserAssigned\",\n        \"identity_ids\": [example_user_assigned_identity.id],\n    },\n    customer_managed_key={\n        \"key_vault_key_id\": example_key.id,\n        \"user_assigned_identity_id\": example_user_assigned_identity.id,\n    },\n    default_database={\n        \"geo_replication_group_name\": \"myGeoGroup\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var current = Azure.Core.GetClientConfig.Invoke();\n\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleUserAssignedIdentity = new Azure.Authorization.UserAssignedIdentity(\"example\", new()\n    {\n        Name = \"example\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n    });\n\n    var exampleKeyVault = new Azure.KeyVault.KeyVault(\"example\", new()\n    {\n        Name = \"example\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        TenantId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.TenantId),\n        SkuName = \"standard\",\n        PurgeProtectionEnabled = true,\n        AccessPolicies = new[]\n        {\n            new Azure.KeyVault.Inputs.KeyVaultAccessPolicyArgs\n            {\n                TenantId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.TenantId),\n                ObjectId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.ObjectId),\n                KeyPermissions = new[]\n                {\n                    \"Create\",\n                    \"Delete\",\n                    \"Get\",\n                    \"List\",\n                    \"Purge\",\n                    \"Recover\",\n                    \"Update\",\n                    \"GetRotationPolicy\",\n                    \"SetRotationPolicy\",\n                },\n            },\n            new Azure.KeyVault.Inputs.KeyVaultAccessPolicyArgs\n            {\n                TenantId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.TenantId),\n                ObjectId = exampleUserAssignedIdentity.PrincipalId,\n                KeyPermissions = new[]\n                {\n                    \"Get\",\n                    \"WrapKey\",\n                    \"UnwrapKey\",\n                },\n            },\n        },\n    });\n\n    var exampleKey = new Azure.KeyVault.Key(\"example\", new()\n    {\n        Name = \"managedrediscmk\",\n        KeyVaultId = exampleKeyVault.Id,\n        KeyType = \"RSA\",\n        KeySize = 2048,\n        KeyOpts = new[]\n        {\n            \"unwrapKey\",\n            \"wrapKey\",\n        },\n    });\n\n    var exampleManagedRedis = new Azure.ManagedRedis.ManagedRedis(\"example\", new()\n    {\n        Name = \"example-managed-redis\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        SkuName = \"Balanced_B3\",\n        Identity = new Azure.ManagedRedis.Inputs.ManagedRedisIdentityArgs\n        {\n            Type = \"UserAssigned\",\n            IdentityIds = new[]\n            {\n                exampleUserAssignedIdentity.Id,\n            },\n        },\n        CustomerManagedKey = new Azure.ManagedRedis.Inputs.ManagedRedisCustomerManagedKeyArgs\n        {\n            KeyVaultKeyId = exampleKey.Id,\n            UserAssignedIdentityId = exampleUserAssignedIdentity.Id,\n        },\n        DefaultDatabase = new Azure.ManagedRedis.Inputs.ManagedRedisDefaultDatabaseArgs\n        {\n            GeoReplicationGroupName = \"myGeoGroup\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/authorization\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/keyvault\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/managedredis\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := core.GetClientConfig(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleUserAssignedIdentity, err := authorization.NewUserAssignedIdentity(ctx, \"example\", \u0026authorization.UserAssignedIdentityArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleKeyVault, err := keyvault.NewKeyVault(ctx, \"example\", \u0026keyvault.KeyVaultArgs{\n\t\t\tName:                   pulumi.String(\"example\"),\n\t\t\tLocation:               example.Location,\n\t\t\tResourceGroupName:      example.Name,\n\t\t\tTenantId:               pulumi.String(current.TenantId),\n\t\t\tSkuName:                pulumi.String(\"standard\"),\n\t\t\tPurgeProtectionEnabled: pulumi.Bool(true),\n\t\t\tAccessPolicies: keyvault.KeyVaultAccessPolicyArray{\n\t\t\t\t\u0026keyvault.KeyVaultAccessPolicyArgs{\n\t\t\t\t\tTenantId: pulumi.String(current.TenantId),\n\t\t\t\t\tObjectId: pulumi.String(current.ObjectId),\n\t\t\t\t\tKeyPermissions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"Create\"),\n\t\t\t\t\t\tpulumi.String(\"Delete\"),\n\t\t\t\t\t\tpulumi.String(\"Get\"),\n\t\t\t\t\t\tpulumi.String(\"List\"),\n\t\t\t\t\t\tpulumi.String(\"Purge\"),\n\t\t\t\t\t\tpulumi.String(\"Recover\"),\n\t\t\t\t\t\tpulumi.String(\"Update\"),\n\t\t\t\t\t\tpulumi.String(\"GetRotationPolicy\"),\n\t\t\t\t\t\tpulumi.String(\"SetRotationPolicy\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026keyvault.KeyVaultAccessPolicyArgs{\n\t\t\t\t\tTenantId: pulumi.String(current.TenantId),\n\t\t\t\t\tObjectId: exampleUserAssignedIdentity.PrincipalId,\n\t\t\t\t\tKeyPermissions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"Get\"),\n\t\t\t\t\t\tpulumi.String(\"WrapKey\"),\n\t\t\t\t\t\tpulumi.String(\"UnwrapKey\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleKey, err := keyvault.NewKey(ctx, \"example\", \u0026keyvault.KeyArgs{\n\t\t\tName:       pulumi.String(\"managedrediscmk\"),\n\t\t\tKeyVaultId: exampleKeyVault.ID(),\n\t\t\tKeyType:    pulumi.String(\"RSA\"),\n\t\t\tKeySize:    pulumi.Int(2048),\n\t\t\tKeyOpts: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"unwrapKey\"),\n\t\t\t\tpulumi.String(\"wrapKey\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = managedredis.NewManagedRedis(ctx, \"example\", \u0026managedredis.ManagedRedisArgs{\n\t\t\tName:              pulumi.String(\"example-managed-redis\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tSkuName:           pulumi.String(\"Balanced_B3\"),\n\t\t\tIdentity: \u0026managedredis.ManagedRedisIdentityArgs{\n\t\t\t\tType: pulumi.String(\"UserAssigned\"),\n\t\t\t\tIdentityIds: pulumi.StringArray{\n\t\t\t\t\texampleUserAssignedIdentity.ID(),\n\t\t\t\t},\n\t\t\t},\n\t\t\tCustomerManagedKey: \u0026managedredis.ManagedRedisCustomerManagedKeyArgs{\n\t\t\t\tKeyVaultKeyId:          exampleKey.ID(),\n\t\t\t\tUserAssignedIdentityId: exampleUserAssignedIdentity.ID(),\n\t\t\t},\n\t\t\tDefaultDatabase: \u0026managedredis.ManagedRedisDefaultDatabaseArgs{\n\t\t\t\tGeoReplicationGroupName: pulumi.String(\"myGeoGroup\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.authorization.UserAssignedIdentity;\nimport com.pulumi.azure.authorization.UserAssignedIdentityArgs;\nimport com.pulumi.azure.keyvault.KeyVault;\nimport com.pulumi.azure.keyvault.KeyVaultArgs;\nimport com.pulumi.azure.keyvault.inputs.KeyVaultAccessPolicyArgs;\nimport com.pulumi.azure.keyvault.Key;\nimport com.pulumi.azure.keyvault.KeyArgs;\nimport com.pulumi.azure.managedredis.ManagedRedis;\nimport com.pulumi.azure.managedredis.ManagedRedisArgs;\nimport com.pulumi.azure.managedredis.inputs.ManagedRedisIdentityArgs;\nimport com.pulumi.azure.managedredis.inputs.ManagedRedisCustomerManagedKeyArgs;\nimport com.pulumi.azure.managedredis.inputs.ManagedRedisDefaultDatabaseArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var current = CoreFunctions.getClientConfig(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleUserAssignedIdentity = new UserAssignedIdentity(\"exampleUserAssignedIdentity\", UserAssignedIdentityArgs.builder()\n            .name(\"example\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .build());\n\n        var exampleKeyVault = new KeyVault(\"exampleKeyVault\", KeyVaultArgs.builder()\n            .name(\"example\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .tenantId(current.tenantId())\n            .skuName(\"standard\")\n            .purgeProtectionEnabled(true)\n            .accessPolicies(            \n                KeyVaultAccessPolicyArgs.builder()\n                    .tenantId(current.tenantId())\n                    .objectId(current.objectId())\n                    .keyPermissions(                    \n                        \"Create\",\n                        \"Delete\",\n                        \"Get\",\n                        \"List\",\n                        \"Purge\",\n                        \"Recover\",\n                        \"Update\",\n                        \"GetRotationPolicy\",\n                        \"SetRotationPolicy\")\n                    .build(),\n                KeyVaultAccessPolicyArgs.builder()\n                    .tenantId(current.tenantId())\n                    .objectId(exampleUserAssignedIdentity.principalId())\n                    .keyPermissions(                    \n                        \"Get\",\n                        \"WrapKey\",\n                        \"UnwrapKey\")\n                    .build())\n            .build());\n\n        var exampleKey = new Key(\"exampleKey\", KeyArgs.builder()\n            .name(\"managedrediscmk\")\n            .keyVaultId(exampleKeyVault.id())\n            .keyType(\"RSA\")\n            .keySize(2048)\n            .keyOpts(            \n                \"unwrapKey\",\n                \"wrapKey\")\n            .build());\n\n        var exampleManagedRedis = new ManagedRedis(\"exampleManagedRedis\", ManagedRedisArgs.builder()\n            .name(\"example-managed-redis\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .skuName(\"Balanced_B3\")\n            .identity(ManagedRedisIdentityArgs.builder()\n                .type(\"UserAssigned\")\n                .identityIds(exampleUserAssignedIdentity.id())\n                .build())\n            .customerManagedKey(ManagedRedisCustomerManagedKeyArgs.builder()\n                .keyVaultKeyId(exampleKey.id())\n                .userAssignedIdentityId(exampleUserAssignedIdentity.id())\n                .build())\n            .defaultDatabase(ManagedRedisDefaultDatabaseArgs.builder()\n                .geoReplicationGroupName(\"myGeoGroup\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleUserAssignedIdentity:\n    type: azure:authorization:UserAssignedIdentity\n    name: example\n    properties:\n      name: example\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n  exampleKeyVault:\n    type: azure:keyvault:KeyVault\n    name: example\n    properties:\n      name: example\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      tenantId: ${current.tenantId}\n      skuName: standard\n      purgeProtectionEnabled: true\n      accessPolicies:\n        - tenantId: ${current.tenantId}\n          objectId: ${current.objectId}\n          keyPermissions:\n            - Create\n            - Delete\n            - Get\n            - List\n            - Purge\n            - Recover\n            - Update\n            - GetRotationPolicy\n            - SetRotationPolicy\n        - tenantId: ${current.tenantId}\n          objectId: ${exampleUserAssignedIdentity.principalId}\n          keyPermissions:\n            - Get\n            - WrapKey\n            - UnwrapKey\n  exampleKey:\n    type: azure:keyvault:Key\n    name: example\n    properties:\n      name: managedrediscmk\n      keyVaultId: ${exampleKeyVault.id}\n      keyType: RSA\n      keySize: 2048\n      keyOpts:\n        - unwrapKey\n        - wrapKey\n  exampleManagedRedis:\n    type: azure:managedredis:ManagedRedis\n    name: example\n    properties:\n      name: example-managed-redis\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      skuName: Balanced_B3\n      identity:\n        type: UserAssigned\n        identityIds:\n          - ${exampleUserAssignedIdentity.id}\n      customerManagedKey:\n        keyVaultKeyId: ${exampleKey.id}\n        userAssignedIdentityId: ${exampleUserAssignedIdentity.id}\n      defaultDatabase:\n        geoReplicationGroupName: myGeoGroup\nvariables:\n  current:\n    fn::invoke:\n      function: azure:core:getClientConfig\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Cache` - 2025-07-01\n\n## Import\n\nManaged Redis instances can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:managedredis/managedRedis:ManagedRedis example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Cache/redisEnterprise/cluster1\n```\n\n","properties":{"customerManagedKey":{"$ref":"#/types/azure:managedredis/ManagedRedisCustomerManagedKey:ManagedRedisCustomerManagedKey","description":"A \u003cspan pulumi-lang-nodejs=\"`customerManagedKey`\" pulumi-lang-dotnet=\"`CustomerManagedKey`\" pulumi-lang-go=\"`customerManagedKey`\" pulumi-lang-python=\"`customer_managed_key`\" pulumi-lang-yaml=\"`customerManagedKey`\" pulumi-lang-java=\"`customerManagedKey`\"\u003e`customer_managed_key`\u003c/span\u003e block as defined below.\n"},"defaultDatabase":{"$ref":"#/types/azure:managedredis/ManagedRedisDefaultDatabase:ManagedRedisDefaultDatabase","description":"A \u003cspan pulumi-lang-nodejs=\"`defaultDatabase`\" pulumi-lang-dotnet=\"`DefaultDatabase`\" pulumi-lang-go=\"`defaultDatabase`\" pulumi-lang-python=\"`default_database`\" pulumi-lang-yaml=\"`defaultDatabase`\" pulumi-lang-java=\"`defaultDatabase`\"\u003e`default_database`\u003c/span\u003e block as defined below.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`defaultDatabase`\" pulumi-lang-dotnet=\"`DefaultDatabase`\" pulumi-lang-go=\"`defaultDatabase`\" pulumi-lang-python=\"`default_database`\" pulumi-lang-yaml=\"`defaultDatabase`\" pulumi-lang-java=\"`defaultDatabase`\"\u003e`default_database`\u003c/span\u003e is Required when creating a new Managed Redis.\n\n\u003e **Note:** A \u003cspan pulumi-lang-nodejs=\"`defaultDatabase`\" pulumi-lang-dotnet=\"`DefaultDatabase`\" pulumi-lang-go=\"`defaultDatabase`\" pulumi-lang-python=\"`default_database`\" pulumi-lang-yaml=\"`defaultDatabase`\" pulumi-lang-java=\"`defaultDatabase`\"\u003e`default_database`\u003c/span\u003e can be deleted or recreated in-place but most properties will trigger an entire cluster replacement if changed. Data will be lost and Managed Redis will be unavailable during recreation.\n"},"highAvailabilityEnabled":{"type":"boolean","description":"Whether to enable high availability for the Managed Redis instance. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e. Changing this forces a new Managed Redis instance to be created.\n"},"hostname":{"type":"string","description":"DNS name of the cluster endpoint.\n"},"identity":{"$ref":"#/types/azure:managedredis/ManagedRedisIdentity:ManagedRedisIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"location":{"type":"string","description":"The Azure Region where the Managed Redis instance should exist. Refer to \"Redis Cache\" on the [product availability documentation](https://azure.microsoft.com/explore/global-infrastructure/products-by-region/table) for supported locations. Changing this forces a new Managed Redis instance to be created.\n"},"name":{"type":"string","description":"The name which should be used for this Managed Redis instance. Changing this forces a new Managed Redis instance to be created.\n"},"publicNetworkAccess":{"type":"string","description":"The public network access setting for the Managed Redis instance. Possible values are `Enabled` and `Disabled`. Defaults to `Enabled`.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Managed Redis instance should exist. Changing this forces a new Managed Redis instance to be created.\n"},"skuName":{"type":"string","description":"The features and specification of the Managed Redis instance to deploy. Possible values are `Balanced_B0`, `Balanced_B1`, `Balanced_B10`, `Balanced_B100`, `Balanced_B1000`, `Balanced_B150`, `Balanced_B20`, `Balanced_B250`, `Balanced_B3`, `Balanced_B350`, `Balanced_B5`, `Balanced_B50`, `Balanced_B500`, `Balanced_B700`, `ComputeOptimized_X10`, `ComputeOptimized_X100`, `ComputeOptimized_X150`, `ComputeOptimized_X20`, `ComputeOptimized_X250`, `ComputeOptimized_X3`, `ComputeOptimized_X350`, `ComputeOptimized_X5`, `ComputeOptimized_X50`, `ComputeOptimized_X500`, `ComputeOptimized_X700`, `FlashOptimized_A1000`, `FlashOptimized_A1500`, `FlashOptimized_A2000`, `FlashOptimized_A250`, `FlashOptimized_A4500`, `FlashOptimized_A500`, `FlashOptimized_A700`, `MemoryOptimized_M10`, `MemoryOptimized_M100`, `MemoryOptimized_M1000`, `MemoryOptimized_M150`, `MemoryOptimized_M1500`, `MemoryOptimized_M20`, `MemoryOptimized_M2000`, `MemoryOptimized_M250`, `MemoryOptimized_M350`, `MemoryOptimized_M50`, `MemoryOptimized_M500` and `MemoryOptimized_M700`. `Balanced_B3` SKU or higher is required for geo-replication.\n\n\u003e **Note:** `Enterprise_` and `EnterpriseFlash_` prefixed SKUs were previously used by Redis Enterprise, and [not supported by Managed Redis](https://learn.microsoft.com/azure/redis/migrate/migrate-overview).\n\n\u003e **Note:** Changing \u003cspan pulumi-lang-nodejs=\"`skuName`\" pulumi-lang-dotnet=\"`SkuName`\" pulumi-lang-go=\"`skuName`\" pulumi-lang-python=\"`sku_name`\" pulumi-lang-yaml=\"`skuName`\" pulumi-lang-java=\"`skuName`\"\u003e`sku_name`\u003c/span\u003e to a lower tier is restricted by Azure under certain conditions, in which case the resource will be marked for recreation. Validation for this is on a best-effort basis, if the provider is unable to determine whether it can change the SKU in-place, it will attempt to do regardless and this request may fail. Please refer to the [Azure documentation](https://learn.microsoft.com/en-us/azure/redis/how-to-scale) for more information.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Managed Redis instance.\n"}},"required":["hostname","location","name","resourceGroupName","skuName"],"inputProperties":{"customerManagedKey":{"$ref":"#/types/azure:managedredis/ManagedRedisCustomerManagedKey:ManagedRedisCustomerManagedKey","description":"A \u003cspan pulumi-lang-nodejs=\"`customerManagedKey`\" pulumi-lang-dotnet=\"`CustomerManagedKey`\" pulumi-lang-go=\"`customerManagedKey`\" pulumi-lang-python=\"`customer_managed_key`\" pulumi-lang-yaml=\"`customerManagedKey`\" pulumi-lang-java=\"`customerManagedKey`\"\u003e`customer_managed_key`\u003c/span\u003e block as defined below.\n"},"defaultDatabase":{"$ref":"#/types/azure:managedredis/ManagedRedisDefaultDatabase:ManagedRedisDefaultDatabase","description":"A \u003cspan pulumi-lang-nodejs=\"`defaultDatabase`\" pulumi-lang-dotnet=\"`DefaultDatabase`\" pulumi-lang-go=\"`defaultDatabase`\" pulumi-lang-python=\"`default_database`\" pulumi-lang-yaml=\"`defaultDatabase`\" pulumi-lang-java=\"`defaultDatabase`\"\u003e`default_database`\u003c/span\u003e block as defined below.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`defaultDatabase`\" pulumi-lang-dotnet=\"`DefaultDatabase`\" pulumi-lang-go=\"`defaultDatabase`\" pulumi-lang-python=\"`default_database`\" pulumi-lang-yaml=\"`defaultDatabase`\" pulumi-lang-java=\"`defaultDatabase`\"\u003e`default_database`\u003c/span\u003e is Required when creating a new Managed Redis.\n\n\u003e **Note:** A \u003cspan pulumi-lang-nodejs=\"`defaultDatabase`\" pulumi-lang-dotnet=\"`DefaultDatabase`\" pulumi-lang-go=\"`defaultDatabase`\" pulumi-lang-python=\"`default_database`\" pulumi-lang-yaml=\"`defaultDatabase`\" pulumi-lang-java=\"`defaultDatabase`\"\u003e`default_database`\u003c/span\u003e can be deleted or recreated in-place but most properties will trigger an entire cluster replacement if changed. Data will be lost and Managed Redis will be unavailable during recreation.\n"},"highAvailabilityEnabled":{"type":"boolean","description":"Whether to enable high availability for the Managed Redis instance. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e. Changing this forces a new Managed Redis instance to be created.\n","willReplaceOnChanges":true},"identity":{"$ref":"#/types/azure:managedredis/ManagedRedisIdentity:ManagedRedisIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"location":{"type":"string","description":"The Azure Region where the Managed Redis instance should exist. Refer to \"Redis Cache\" on the [product availability documentation](https://azure.microsoft.com/explore/global-infrastructure/products-by-region/table) for supported locations. Changing this forces a new Managed Redis instance to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Managed Redis instance. Changing this forces a new Managed Redis instance to be created.\n","willReplaceOnChanges":true},"publicNetworkAccess":{"type":"string","description":"The public network access setting for the Managed Redis instance. Possible values are `Enabled` and `Disabled`. Defaults to `Enabled`.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Managed Redis instance should exist. Changing this forces a new Managed Redis instance to be created.\n","willReplaceOnChanges":true},"skuName":{"type":"string","description":"The features and specification of the Managed Redis instance to deploy. Possible values are `Balanced_B0`, `Balanced_B1`, `Balanced_B10`, `Balanced_B100`, `Balanced_B1000`, `Balanced_B150`, `Balanced_B20`, `Balanced_B250`, `Balanced_B3`, `Balanced_B350`, `Balanced_B5`, `Balanced_B50`, `Balanced_B500`, `Balanced_B700`, `ComputeOptimized_X10`, `ComputeOptimized_X100`, `ComputeOptimized_X150`, `ComputeOptimized_X20`, `ComputeOptimized_X250`, `ComputeOptimized_X3`, `ComputeOptimized_X350`, `ComputeOptimized_X5`, `ComputeOptimized_X50`, `ComputeOptimized_X500`, `ComputeOptimized_X700`, `FlashOptimized_A1000`, `FlashOptimized_A1500`, `FlashOptimized_A2000`, `FlashOptimized_A250`, `FlashOptimized_A4500`, `FlashOptimized_A500`, `FlashOptimized_A700`, `MemoryOptimized_M10`, `MemoryOptimized_M100`, `MemoryOptimized_M1000`, `MemoryOptimized_M150`, `MemoryOptimized_M1500`, `MemoryOptimized_M20`, `MemoryOptimized_M2000`, `MemoryOptimized_M250`, `MemoryOptimized_M350`, `MemoryOptimized_M50`, `MemoryOptimized_M500` and `MemoryOptimized_M700`. `Balanced_B3` SKU or higher is required for geo-replication.\n\n\u003e **Note:** `Enterprise_` and `EnterpriseFlash_` prefixed SKUs were previously used by Redis Enterprise, and [not supported by Managed Redis](https://learn.microsoft.com/azure/redis/migrate/migrate-overview).\n\n\u003e **Note:** Changing \u003cspan pulumi-lang-nodejs=\"`skuName`\" pulumi-lang-dotnet=\"`SkuName`\" pulumi-lang-go=\"`skuName`\" pulumi-lang-python=\"`sku_name`\" pulumi-lang-yaml=\"`skuName`\" pulumi-lang-java=\"`skuName`\"\u003e`sku_name`\u003c/span\u003e to a lower tier is restricted by Azure under certain conditions, in which case the resource will be marked for recreation. Validation for this is on a best-effort basis, if the provider is unable to determine whether it can change the SKU in-place, it will attempt to do regardless and this request may fail. Please refer to the [Azure documentation](https://learn.microsoft.com/en-us/azure/redis/how-to-scale) for more information.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Managed Redis instance.\n"}},"requiredInputs":["resourceGroupName","skuName"],"stateInputs":{"description":"Input properties used for looking up and filtering ManagedRedis resources.\n","properties":{"customerManagedKey":{"$ref":"#/types/azure:managedredis/ManagedRedisCustomerManagedKey:ManagedRedisCustomerManagedKey","description":"A \u003cspan pulumi-lang-nodejs=\"`customerManagedKey`\" pulumi-lang-dotnet=\"`CustomerManagedKey`\" pulumi-lang-go=\"`customerManagedKey`\" pulumi-lang-python=\"`customer_managed_key`\" pulumi-lang-yaml=\"`customerManagedKey`\" pulumi-lang-java=\"`customerManagedKey`\"\u003e`customer_managed_key`\u003c/span\u003e block as defined below.\n"},"defaultDatabase":{"$ref":"#/types/azure:managedredis/ManagedRedisDefaultDatabase:ManagedRedisDefaultDatabase","description":"A \u003cspan pulumi-lang-nodejs=\"`defaultDatabase`\" pulumi-lang-dotnet=\"`DefaultDatabase`\" pulumi-lang-go=\"`defaultDatabase`\" pulumi-lang-python=\"`default_database`\" pulumi-lang-yaml=\"`defaultDatabase`\" pulumi-lang-java=\"`defaultDatabase`\"\u003e`default_database`\u003c/span\u003e block as defined below.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`defaultDatabase`\" pulumi-lang-dotnet=\"`DefaultDatabase`\" pulumi-lang-go=\"`defaultDatabase`\" pulumi-lang-python=\"`default_database`\" pulumi-lang-yaml=\"`defaultDatabase`\" pulumi-lang-java=\"`defaultDatabase`\"\u003e`default_database`\u003c/span\u003e is Required when creating a new Managed Redis.\n\n\u003e **Note:** A \u003cspan pulumi-lang-nodejs=\"`defaultDatabase`\" pulumi-lang-dotnet=\"`DefaultDatabase`\" pulumi-lang-go=\"`defaultDatabase`\" pulumi-lang-python=\"`default_database`\" pulumi-lang-yaml=\"`defaultDatabase`\" pulumi-lang-java=\"`defaultDatabase`\"\u003e`default_database`\u003c/span\u003e can be deleted or recreated in-place but most properties will trigger an entire cluster replacement if changed. Data will be lost and Managed Redis will be unavailable during recreation.\n"},"highAvailabilityEnabled":{"type":"boolean","description":"Whether to enable high availability for the Managed Redis instance. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e. Changing this forces a new Managed Redis instance to be created.\n","willReplaceOnChanges":true},"hostname":{"type":"string","description":"DNS name of the cluster endpoint.\n"},"identity":{"$ref":"#/types/azure:managedredis/ManagedRedisIdentity:ManagedRedisIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"location":{"type":"string","description":"The Azure Region where the Managed Redis instance should exist. Refer to \"Redis Cache\" on the [product availability documentation](https://azure.microsoft.com/explore/global-infrastructure/products-by-region/table) for supported locations. Changing this forces a new Managed Redis instance to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Managed Redis instance. Changing this forces a new Managed Redis instance to be created.\n","willReplaceOnChanges":true},"publicNetworkAccess":{"type":"string","description":"The public network access setting for the Managed Redis instance. Possible values are `Enabled` and `Disabled`. Defaults to `Enabled`.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Managed Redis instance should exist. Changing this forces a new Managed Redis instance to be created.\n","willReplaceOnChanges":true},"skuName":{"type":"string","description":"The features and specification of the Managed Redis instance to deploy. Possible values are `Balanced_B0`, `Balanced_B1`, `Balanced_B10`, `Balanced_B100`, `Balanced_B1000`, `Balanced_B150`, `Balanced_B20`, `Balanced_B250`, `Balanced_B3`, `Balanced_B350`, `Balanced_B5`, `Balanced_B50`, `Balanced_B500`, `Balanced_B700`, `ComputeOptimized_X10`, `ComputeOptimized_X100`, `ComputeOptimized_X150`, `ComputeOptimized_X20`, `ComputeOptimized_X250`, `ComputeOptimized_X3`, `ComputeOptimized_X350`, `ComputeOptimized_X5`, `ComputeOptimized_X50`, `ComputeOptimized_X500`, `ComputeOptimized_X700`, `FlashOptimized_A1000`, `FlashOptimized_A1500`, `FlashOptimized_A2000`, `FlashOptimized_A250`, `FlashOptimized_A4500`, `FlashOptimized_A500`, `FlashOptimized_A700`, `MemoryOptimized_M10`, `MemoryOptimized_M100`, `MemoryOptimized_M1000`, `MemoryOptimized_M150`, `MemoryOptimized_M1500`, `MemoryOptimized_M20`, `MemoryOptimized_M2000`, `MemoryOptimized_M250`, `MemoryOptimized_M350`, `MemoryOptimized_M50`, `MemoryOptimized_M500` and `MemoryOptimized_M700`. `Balanced_B3` SKU or higher is required for geo-replication.\n\n\u003e **Note:** `Enterprise_` and `EnterpriseFlash_` prefixed SKUs were previously used by Redis Enterprise, and [not supported by Managed Redis](https://learn.microsoft.com/azure/redis/migrate/migrate-overview).\n\n\u003e **Note:** Changing \u003cspan pulumi-lang-nodejs=\"`skuName`\" pulumi-lang-dotnet=\"`SkuName`\" pulumi-lang-go=\"`skuName`\" pulumi-lang-python=\"`sku_name`\" pulumi-lang-yaml=\"`skuName`\" pulumi-lang-java=\"`skuName`\"\u003e`sku_name`\u003c/span\u003e to a lower tier is restricted by Azure under certain conditions, in which case the resource will be marked for recreation. Validation for this is on a best-effort basis, if the provider is unable to determine whether it can change the SKU in-place, it will attempt to do regardless and this request may fail. Please refer to the [Azure documentation](https://learn.microsoft.com/en-us/azure/redis/how-to-scale) for more information.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Managed Redis instance.\n"}},"type":"object"}},"azure:management/group:Group":{"description":"Manages a Management Group.\n\n!\u003e **Note:** Configuring \u003cspan pulumi-lang-nodejs=\"`subscriptionIds`\" pulumi-lang-dotnet=\"`SubscriptionIds`\" pulumi-lang-go=\"`subscriptionIds`\" pulumi-lang-python=\"`subscription_ids`\" pulumi-lang-yaml=\"`subscriptionIds`\" pulumi-lang-java=\"`subscriptionIds`\"\u003e`subscription_ids`\u003c/span\u003e is not supported when using the \u003cspan pulumi-lang-nodejs=\"`azure.management.GroupSubscriptionAssociation`\" pulumi-lang-dotnet=\"`azure.management.GroupSubscriptionAssociation`\" pulumi-lang-go=\"`management.GroupSubscriptionAssociation`\" pulumi-lang-python=\"`management.GroupSubscriptionAssociation`\" pulumi-lang-yaml=\"`azure.management.GroupSubscriptionAssociation`\" pulumi-lang-java=\"`azure.management.GroupSubscriptionAssociation`\"\u003e`azure.management.GroupSubscriptionAssociation`\u003c/span\u003e resource, results will be unpredictable.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst current = azure.core.getSubscription({});\nconst exampleParent = new azure.management.Group(\"example_parent\", {\n    displayName: \"ParentGroup\",\n    subscriptionIds: [current.then(current =\u003e current.subscriptionId)],\n});\nconst exampleChild = new azure.management.Group(\"example_child\", {\n    displayName: \"ChildGroup\",\n    parentManagementGroupId: exampleParent.id,\n    subscriptionIds: [current.then(current =\u003e current.subscriptionId)],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\ncurrent = azure.core.get_subscription()\nexample_parent = azure.management.Group(\"example_parent\",\n    display_name=\"ParentGroup\",\n    subscription_ids=[current.subscription_id])\nexample_child = azure.management.Group(\"example_child\",\n    display_name=\"ChildGroup\",\n    parent_management_group_id=example_parent.id,\n    subscription_ids=[current.subscription_id])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var current = Azure.Core.GetSubscription.Invoke();\n\n    var exampleParent = new Azure.Management.Group(\"example_parent\", new()\n    {\n        DisplayName = \"ParentGroup\",\n        SubscriptionIds = new[]\n        {\n            current.Apply(getSubscriptionResult =\u003e getSubscriptionResult.SubscriptionId),\n        },\n    });\n\n    var exampleChild = new Azure.Management.Group(\"example_child\", new()\n    {\n        DisplayName = \"ChildGroup\",\n        ParentManagementGroupId = exampleParent.Id,\n        SubscriptionIds = new[]\n        {\n            current.Apply(getSubscriptionResult =\u003e getSubscriptionResult.SubscriptionId),\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/management\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := core.LookupSubscription(ctx, \u0026core.LookupSubscriptionArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleParent, err := management.NewGroup(ctx, \"example_parent\", \u0026management.GroupArgs{\n\t\t\tDisplayName: pulumi.String(\"ParentGroup\"),\n\t\t\tSubscriptionIds: pulumi.StringArray{\n\t\t\t\tpulumi.String(current.SubscriptionId),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = management.NewGroup(ctx, \"example_child\", \u0026management.GroupArgs{\n\t\t\tDisplayName:             pulumi.String(\"ChildGroup\"),\n\t\t\tParentManagementGroupId: exampleParent.ID(),\n\t\t\tSubscriptionIds: pulumi.StringArray{\n\t\t\t\tpulumi.String(current.SubscriptionId),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.core.inputs.GetSubscriptionArgs;\nimport com.pulumi.azure.management.Group;\nimport com.pulumi.azure.management.GroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var current = CoreFunctions.getSubscription(GetSubscriptionArgs.builder()\n            .build());\n\n        var exampleParent = new Group(\"exampleParent\", GroupArgs.builder()\n            .displayName(\"ParentGroup\")\n            .subscriptionIds(current.subscriptionId())\n            .build());\n\n        var exampleChild = new Group(\"exampleChild\", GroupArgs.builder()\n            .displayName(\"ChildGroup\")\n            .parentManagementGroupId(exampleParent.id())\n            .subscriptionIds(current.subscriptionId())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleParent:\n    type: azure:management:Group\n    name: example_parent\n    properties:\n      displayName: ParentGroup\n      subscriptionIds:\n        - ${current.subscriptionId}\n  exampleChild:\n    type: azure:management:Group\n    name: example_child\n    properties:\n      displayName: ChildGroup\n      parentManagementGroupId: ${exampleParent.id}\n      subscriptionIds: # other subscription IDs can go here\n        - ${current.subscriptionId}\nvariables:\n  current:\n    fn::invoke:\n      function: azure:core:getSubscription\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Management` - 2020-05-01\n\n## Import\n\nManagement Groups can be imported using the `management group resource id`, e.g.\n\n```sh\n$ pulumi import azure:management/group:Group example /providers/Microsoft.Management/managementGroups/group1\n```\n\n","properties":{"displayName":{"type":"string","description":"A friendly name for this Management Group. If not specified, this will be the same as the \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e.\n"},"name":{"type":"string","description":"The name or UUID for this Management Group, which needs to be unique across your tenant. A new UUID will be generated if not provided. Changing this forces a new resource to be created.\n"},"parentManagementGroupId":{"type":"string","description":"The ID of the Parent Management Group.\n"},"subscriptionIds":{"type":"array","items":{"type":"string"},"description":"A list of Subscription GUIDs which should be assigned to the Management Group.\n\n\u003e **Note:** To clear all Subscriptions from the Management Group set \u003cspan pulumi-lang-nodejs=\"`subscriptionIds`\" pulumi-lang-dotnet=\"`SubscriptionIds`\" pulumi-lang-go=\"`subscriptionIds`\" pulumi-lang-python=\"`subscription_ids`\" pulumi-lang-yaml=\"`subscriptionIds`\" pulumi-lang-java=\"`subscriptionIds`\"\u003e`subscription_ids`\u003c/span\u003e to an empty list\n"},"tenantScopedId":{"type":"string","description":"The Management Group ID with the Tenant ID prefix.\n"}},"required":["displayName","name","parentManagementGroupId","subscriptionIds","tenantScopedId"],"inputProperties":{"displayName":{"type":"string","description":"A friendly name for this Management Group. If not specified, this will be the same as the \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e.\n"},"name":{"type":"string","description":"The name or UUID for this Management Group, which needs to be unique across your tenant. A new UUID will be generated if not provided. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"parentManagementGroupId":{"type":"string","description":"The ID of the Parent Management Group.\n"},"subscriptionIds":{"type":"array","items":{"type":"string"},"description":"A list of Subscription GUIDs which should be assigned to the Management Group.\n\n\u003e **Note:** To clear all Subscriptions from the Management Group set \u003cspan pulumi-lang-nodejs=\"`subscriptionIds`\" pulumi-lang-dotnet=\"`SubscriptionIds`\" pulumi-lang-go=\"`subscriptionIds`\" pulumi-lang-python=\"`subscription_ids`\" pulumi-lang-yaml=\"`subscriptionIds`\" pulumi-lang-java=\"`subscriptionIds`\"\u003e`subscription_ids`\u003c/span\u003e to an empty list\n"}},"stateInputs":{"description":"Input properties used for looking up and filtering Group resources.\n","properties":{"displayName":{"type":"string","description":"A friendly name for this Management Group. If not specified, this will be the same as the \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e.\n"},"name":{"type":"string","description":"The name or UUID for this Management Group, which needs to be unique across your tenant. A new UUID will be generated if not provided. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"parentManagementGroupId":{"type":"string","description":"The ID of the Parent Management Group.\n"},"subscriptionIds":{"type":"array","items":{"type":"string"},"description":"A list of Subscription GUIDs which should be assigned to the Management Group.\n\n\u003e **Note:** To clear all Subscriptions from the Management Group set \u003cspan pulumi-lang-nodejs=\"`subscriptionIds`\" pulumi-lang-dotnet=\"`SubscriptionIds`\" pulumi-lang-go=\"`subscriptionIds`\" pulumi-lang-python=\"`subscription_ids`\" pulumi-lang-yaml=\"`subscriptionIds`\" pulumi-lang-java=\"`subscriptionIds`\"\u003e`subscription_ids`\u003c/span\u003e to an empty list\n"},"tenantScopedId":{"type":"string","description":"The Management Group ID with the Tenant ID prefix.\n"}},"type":"object"},"aliases":[{"type":"azure:managementgroups/managementGroup:ManagementGroup"}]},"azure:management/groupPolicyAssignment:GroupPolicyAssignment":{"description":"Manages a Policy Assignment to a Management Group.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.management.Group(\"example\", {displayName: \"Some Management Group\"});\nconst exampleDefinition = new azure.policy.Definition(\"example\", {\n    name: \"only-deploy-in-westeurope\",\n    policyType: \"Custom\",\n    mode: \"All\",\n    displayName: \"my-policy-definition\",\n    managementGroupId: example.id,\n    policyRule: ` {\n    \"if\": {\n      \"not\": {\n        \"field\": \"location\",\n        \"equals\": \"westeurope\"\n      }\n    },\n    \"then\": {\n      \"effect\": \"Deny\"\n    }\n  }\n`,\n});\nconst exampleGroupPolicyAssignment = new azure.management.GroupPolicyAssignment(\"example\", {\n    name: \"example-policy\",\n    policyDefinitionId: exampleDefinition.id,\n    managementGroupId: example.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.management.Group(\"example\", display_name=\"Some Management Group\")\nexample_definition = azure.policy.Definition(\"example\",\n    name=\"only-deploy-in-westeurope\",\n    policy_type=\"Custom\",\n    mode=\"All\",\n    display_name=\"my-policy-definition\",\n    management_group_id=example.id,\n    policy_rule=\"\"\" {\n    \"if\": {\n      \"not\": {\n        \"field\": \"location\",\n        \"equals\": \"westeurope\"\n      }\n    },\n    \"then\": {\n      \"effect\": \"Deny\"\n    }\n  }\n\"\"\")\nexample_group_policy_assignment = azure.management.GroupPolicyAssignment(\"example\",\n    name=\"example-policy\",\n    policy_definition_id=example_definition.id,\n    management_group_id=example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Management.Group(\"example\", new()\n    {\n        DisplayName = \"Some Management Group\",\n    });\n\n    var exampleDefinition = new Azure.Policy.Definition(\"example\", new()\n    {\n        Name = \"only-deploy-in-westeurope\",\n        PolicyType = \"Custom\",\n        Mode = \"All\",\n        DisplayName = \"my-policy-definition\",\n        ManagementGroupId = example.Id,\n        PolicyRule = @\" {\n    \"\"if\"\": {\n      \"\"not\"\": {\n        \"\"field\"\": \"\"location\"\",\n        \"\"equals\"\": \"\"westeurope\"\"\n      }\n    },\n    \"\"then\"\": {\n      \"\"effect\"\": \"\"Deny\"\"\n    }\n  }\n\",\n    });\n\n    var exampleGroupPolicyAssignment = new Azure.Management.GroupPolicyAssignment(\"example\", new()\n    {\n        Name = \"example-policy\",\n        PolicyDefinitionId = exampleDefinition.Id,\n        ManagementGroupId = example.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/management\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/policy\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := management.NewGroup(ctx, \"example\", \u0026management.GroupArgs{\n\t\t\tDisplayName: pulumi.String(\"Some Management Group\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleDefinition, err := policy.NewDefinition(ctx, \"example\", \u0026policy.DefinitionArgs{\n\t\t\tName:              pulumi.String(\"only-deploy-in-westeurope\"),\n\t\t\tPolicyType:        pulumi.String(\"Custom\"),\n\t\t\tMode:              pulumi.String(\"All\"),\n\t\t\tDisplayName:       pulumi.String(\"my-policy-definition\"),\n\t\t\tManagementGroupId: example.ID(),\n\t\t\tPolicyRule: pulumi.String(` {\n    \"if\": {\n      \"not\": {\n        \"field\": \"location\",\n        \"equals\": \"westeurope\"\n      }\n    },\n    \"then\": {\n      \"effect\": \"Deny\"\n    }\n  }\n`),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = management.NewGroupPolicyAssignment(ctx, \"example\", \u0026management.GroupPolicyAssignmentArgs{\n\t\t\tName:               pulumi.String(\"example-policy\"),\n\t\t\tPolicyDefinitionId: exampleDefinition.ID(),\n\t\t\tManagementGroupId:  example.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.management.Group;\nimport com.pulumi.azure.management.GroupArgs;\nimport com.pulumi.azure.policy.Definition;\nimport com.pulumi.azure.policy.DefinitionArgs;\nimport com.pulumi.azure.management.GroupPolicyAssignment;\nimport com.pulumi.azure.management.GroupPolicyAssignmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new Group(\"example\", GroupArgs.builder()\n            .displayName(\"Some Management Group\")\n            .build());\n\n        var exampleDefinition = new Definition(\"exampleDefinition\", DefinitionArgs.builder()\n            .name(\"only-deploy-in-westeurope\")\n            .policyType(\"Custom\")\n            .mode(\"All\")\n            .displayName(\"my-policy-definition\")\n            .managementGroupId(example.id())\n            .policyRule(\"\"\"\n {\n    \"if\": {\n      \"not\": {\n        \"field\": \"location\",\n        \"equals\": \"westeurope\"\n      }\n    },\n    \"then\": {\n      \"effect\": \"Deny\"\n    }\n  }\n            \"\"\")\n            .build());\n\n        var exampleGroupPolicyAssignment = new GroupPolicyAssignment(\"exampleGroupPolicyAssignment\", GroupPolicyAssignmentArgs.builder()\n            .name(\"example-policy\")\n            .policyDefinitionId(exampleDefinition.id())\n            .managementGroupId(example.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:management:Group\n    properties:\n      displayName: Some Management Group\n  exampleDefinition:\n    type: azure:policy:Definition\n    name: example\n    properties:\n      name: only-deploy-in-westeurope\n      policyType: Custom\n      mode: All\n      displayName: my-policy-definition\n      managementGroupId: ${example.id}\n      policyRule: |2\n         {\n            \"if\": {\n              \"not\": {\n                \"field\": \"location\",\n                \"equals\": \"westeurope\"\n              }\n            },\n            \"then\": {\n              \"effect\": \"Deny\"\n            }\n          }\n  exampleGroupPolicyAssignment:\n    type: azure:management:GroupPolicyAssignment\n    name: example\n    properties:\n      name: example-policy\n      policyDefinitionId: ${exampleDefinition.id}\n      managementGroupId: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Authorization` - 2022-06-01\n\n## Import\n\nManagement Group Policy Assignments can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:management/groupPolicyAssignment:GroupPolicyAssignment example /providers/Microsoft.Management/managementGroups/group1/providers/Microsoft.Authorization/policyAssignments/assignment1\n```\n\n","properties":{"description":{"type":"string","description":"A description which should be used for this Policy Assignment.\n"},"displayName":{"type":"string","description":"The Display Name for this Policy Assignment.\n"},"enforce":{"type":"boolean","description":"Specifies if this Policy should be enforced or not? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"identity":{"$ref":"#/types/azure:management/GroupPolicyAssignmentIdentity:GroupPolicyAssignmentIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`location`\" pulumi-lang-dotnet=\"`Location`\" pulumi-lang-go=\"`location`\" pulumi-lang-python=\"`location`\" pulumi-lang-yaml=\"`location`\" pulumi-lang-java=\"`location`\"\u003e`location`\u003c/span\u003e field must also be specified when \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e is specified.\n"},"location":{"type":"string","description":"The Azure Region where the Policy Assignment should exist. Changing this forces a new Policy Assignment to be created.\n"},"managementGroupId":{"type":"string","description":"The ID of the Management Group. Changing this forces a new Policy Assignment to be created.\n"},"metadata":{"type":"string","description":"A JSON mapping of any Metadata for this Policy.\n"},"name":{"type":"string","description":"The name which should be used for this Policy Assignment. Cannot exceed 24 characters in length. Changing this forces a new Policy Assignment to be created.\n"},"nonComplianceMessages":{"type":"array","items":{"$ref":"#/types/azure:management/GroupPolicyAssignmentNonComplianceMessage:GroupPolicyAssignmentNonComplianceMessage"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`nonComplianceMessage`\" pulumi-lang-dotnet=\"`NonComplianceMessage`\" pulumi-lang-go=\"`nonComplianceMessage`\" pulumi-lang-python=\"`non_compliance_message`\" pulumi-lang-yaml=\"`nonComplianceMessage`\" pulumi-lang-java=\"`nonComplianceMessage`\"\u003e`non_compliance_message`\u003c/span\u003e blocks as defined below.\n"},"notScopes":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Resource Scopes (for example a Subscription, or a Resource Group) within this Management Group which are excluded from this Policy.\n"},"overrides":{"type":"array","items":{"$ref":"#/types/azure:management/GroupPolicyAssignmentOverride:GroupPolicyAssignmentOverride"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`overrides`\" pulumi-lang-dotnet=\"`Overrides`\" pulumi-lang-go=\"`overrides`\" pulumi-lang-python=\"`overrides`\" pulumi-lang-yaml=\"`overrides`\" pulumi-lang-java=\"`overrides`\"\u003e`overrides`\u003c/span\u003e blocks as defined below. More detail about \u003cspan pulumi-lang-nodejs=\"`overrides`\" pulumi-lang-dotnet=\"`Overrides`\" pulumi-lang-go=\"`overrides`\" pulumi-lang-python=\"`overrides`\" pulumi-lang-yaml=\"`overrides`\" pulumi-lang-java=\"`overrides`\"\u003e`overrides`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`resourceSelectors`\" pulumi-lang-dotnet=\"`ResourceSelectors`\" pulumi-lang-go=\"`resourceSelectors`\" pulumi-lang-python=\"`resource_selectors`\" pulumi-lang-yaml=\"`resourceSelectors`\" pulumi-lang-java=\"`resourceSelectors`\"\u003e`resource_selectors`\u003c/span\u003e see [policy assignment structure](https://learn.microsoft.com/en-us/azure/governance/policy/concepts/assignment-structure)\n"},"parameters":{"type":"string","description":"A JSON mapping of any Parameters for this Policy.\n"},"policyDefinitionId":{"type":"string","description":"The ID of the Policy Definition or Policy Definition Set. Changing this forces a new Policy Assignment to be created.\n"},"resourceSelectors":{"type":"array","items":{"$ref":"#/types/azure:management/GroupPolicyAssignmentResourceSelector:GroupPolicyAssignmentResourceSelector"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`resourceSelectors`\" pulumi-lang-dotnet=\"`ResourceSelectors`\" pulumi-lang-go=\"`resourceSelectors`\" pulumi-lang-python=\"`resource_selectors`\" pulumi-lang-yaml=\"`resourceSelectors`\" pulumi-lang-java=\"`resourceSelectors`\"\u003e`resource_selectors`\u003c/span\u003e blocks as defined below to filter polices by resource properties.\n"}},"required":["location","managementGroupId","metadata","name","policyDefinitionId"],"inputProperties":{"description":{"type":"string","description":"A description which should be used for this Policy Assignment.\n"},"displayName":{"type":"string","description":"The Display Name for this Policy Assignment.\n"},"enforce":{"type":"boolean","description":"Specifies if this Policy should be enforced or not? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"identity":{"$ref":"#/types/azure:management/GroupPolicyAssignmentIdentity:GroupPolicyAssignmentIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`location`\" pulumi-lang-dotnet=\"`Location`\" pulumi-lang-go=\"`location`\" pulumi-lang-python=\"`location`\" pulumi-lang-yaml=\"`location`\" pulumi-lang-java=\"`location`\"\u003e`location`\u003c/span\u003e field must also be specified when \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e is specified.\n"},"location":{"type":"string","description":"The Azure Region where the Policy Assignment should exist. Changing this forces a new Policy Assignment to be created.\n","willReplaceOnChanges":true},"managementGroupId":{"type":"string","description":"The ID of the Management Group. Changing this forces a new Policy Assignment to be created.\n","willReplaceOnChanges":true},"metadata":{"type":"string","description":"A JSON mapping of any Metadata for this Policy.\n"},"name":{"type":"string","description":"The name which should be used for this Policy Assignment. Cannot exceed 24 characters in length. Changing this forces a new Policy Assignment to be created.\n","willReplaceOnChanges":true},"nonComplianceMessages":{"type":"array","items":{"$ref":"#/types/azure:management/GroupPolicyAssignmentNonComplianceMessage:GroupPolicyAssignmentNonComplianceMessage"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`nonComplianceMessage`\" pulumi-lang-dotnet=\"`NonComplianceMessage`\" pulumi-lang-go=\"`nonComplianceMessage`\" pulumi-lang-python=\"`non_compliance_message`\" pulumi-lang-yaml=\"`nonComplianceMessage`\" pulumi-lang-java=\"`nonComplianceMessage`\"\u003e`non_compliance_message`\u003c/span\u003e blocks as defined below.\n"},"notScopes":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Resource Scopes (for example a Subscription, or a Resource Group) within this Management Group which are excluded from this Policy.\n"},"overrides":{"type":"array","items":{"$ref":"#/types/azure:management/GroupPolicyAssignmentOverride:GroupPolicyAssignmentOverride"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`overrides`\" pulumi-lang-dotnet=\"`Overrides`\" pulumi-lang-go=\"`overrides`\" pulumi-lang-python=\"`overrides`\" pulumi-lang-yaml=\"`overrides`\" pulumi-lang-java=\"`overrides`\"\u003e`overrides`\u003c/span\u003e blocks as defined below. More detail about \u003cspan pulumi-lang-nodejs=\"`overrides`\" pulumi-lang-dotnet=\"`Overrides`\" pulumi-lang-go=\"`overrides`\" pulumi-lang-python=\"`overrides`\" pulumi-lang-yaml=\"`overrides`\" pulumi-lang-java=\"`overrides`\"\u003e`overrides`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`resourceSelectors`\" pulumi-lang-dotnet=\"`ResourceSelectors`\" pulumi-lang-go=\"`resourceSelectors`\" pulumi-lang-python=\"`resource_selectors`\" pulumi-lang-yaml=\"`resourceSelectors`\" pulumi-lang-java=\"`resourceSelectors`\"\u003e`resource_selectors`\u003c/span\u003e see [policy assignment structure](https://learn.microsoft.com/en-us/azure/governance/policy/concepts/assignment-structure)\n"},"parameters":{"type":"string","description":"A JSON mapping of any Parameters for this Policy.\n"},"policyDefinitionId":{"type":"string","description":"The ID of the Policy Definition or Policy Definition Set. Changing this forces a new Policy Assignment to be created.\n","willReplaceOnChanges":true},"resourceSelectors":{"type":"array","items":{"$ref":"#/types/azure:management/GroupPolicyAssignmentResourceSelector:GroupPolicyAssignmentResourceSelector"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`resourceSelectors`\" pulumi-lang-dotnet=\"`ResourceSelectors`\" pulumi-lang-go=\"`resourceSelectors`\" pulumi-lang-python=\"`resource_selectors`\" pulumi-lang-yaml=\"`resourceSelectors`\" pulumi-lang-java=\"`resourceSelectors`\"\u003e`resource_selectors`\u003c/span\u003e blocks as defined below to filter polices by resource properties.\n"}},"requiredInputs":["managementGroupId","policyDefinitionId"],"stateInputs":{"description":"Input properties used for looking up and filtering GroupPolicyAssignment resources.\n","properties":{"description":{"type":"string","description":"A description which should be used for this Policy Assignment.\n"},"displayName":{"type":"string","description":"The Display Name for this Policy Assignment.\n"},"enforce":{"type":"boolean","description":"Specifies if this Policy should be enforced or not? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"identity":{"$ref":"#/types/azure:management/GroupPolicyAssignmentIdentity:GroupPolicyAssignmentIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`location`\" pulumi-lang-dotnet=\"`Location`\" pulumi-lang-go=\"`location`\" pulumi-lang-python=\"`location`\" pulumi-lang-yaml=\"`location`\" pulumi-lang-java=\"`location`\"\u003e`location`\u003c/span\u003e field must also be specified when \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e is specified.\n"},"location":{"type":"string","description":"The Azure Region where the Policy Assignment should exist. Changing this forces a new Policy Assignment to be created.\n","willReplaceOnChanges":true},"managementGroupId":{"type":"string","description":"The ID of the Management Group. Changing this forces a new Policy Assignment to be created.\n","willReplaceOnChanges":true},"metadata":{"type":"string","description":"A JSON mapping of any Metadata for this Policy.\n"},"name":{"type":"string","description":"The name which should be used for this Policy Assignment. Cannot exceed 24 characters in length. Changing this forces a new Policy Assignment to be created.\n","willReplaceOnChanges":true},"nonComplianceMessages":{"type":"array","items":{"$ref":"#/types/azure:management/GroupPolicyAssignmentNonComplianceMessage:GroupPolicyAssignmentNonComplianceMessage"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`nonComplianceMessage`\" pulumi-lang-dotnet=\"`NonComplianceMessage`\" pulumi-lang-go=\"`nonComplianceMessage`\" pulumi-lang-python=\"`non_compliance_message`\" pulumi-lang-yaml=\"`nonComplianceMessage`\" pulumi-lang-java=\"`nonComplianceMessage`\"\u003e`non_compliance_message`\u003c/span\u003e blocks as defined below.\n"},"notScopes":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Resource Scopes (for example a Subscription, or a Resource Group) within this Management Group which are excluded from this Policy.\n"},"overrides":{"type":"array","items":{"$ref":"#/types/azure:management/GroupPolicyAssignmentOverride:GroupPolicyAssignmentOverride"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`overrides`\" pulumi-lang-dotnet=\"`Overrides`\" pulumi-lang-go=\"`overrides`\" pulumi-lang-python=\"`overrides`\" pulumi-lang-yaml=\"`overrides`\" pulumi-lang-java=\"`overrides`\"\u003e`overrides`\u003c/span\u003e blocks as defined below. More detail about \u003cspan pulumi-lang-nodejs=\"`overrides`\" pulumi-lang-dotnet=\"`Overrides`\" pulumi-lang-go=\"`overrides`\" pulumi-lang-python=\"`overrides`\" pulumi-lang-yaml=\"`overrides`\" pulumi-lang-java=\"`overrides`\"\u003e`overrides`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`resourceSelectors`\" pulumi-lang-dotnet=\"`ResourceSelectors`\" pulumi-lang-go=\"`resourceSelectors`\" pulumi-lang-python=\"`resource_selectors`\" pulumi-lang-yaml=\"`resourceSelectors`\" pulumi-lang-java=\"`resourceSelectors`\"\u003e`resource_selectors`\u003c/span\u003e see [policy assignment structure](https://learn.microsoft.com/en-us/azure/governance/policy/concepts/assignment-structure)\n"},"parameters":{"type":"string","description":"A JSON mapping of any Parameters for this Policy.\n"},"policyDefinitionId":{"type":"string","description":"The ID of the Policy Definition or Policy Definition Set. Changing this forces a new Policy Assignment to be created.\n","willReplaceOnChanges":true},"resourceSelectors":{"type":"array","items":{"$ref":"#/types/azure:management/GroupPolicyAssignmentResourceSelector:GroupPolicyAssignmentResourceSelector"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`resourceSelectors`\" pulumi-lang-dotnet=\"`ResourceSelectors`\" pulumi-lang-go=\"`resourceSelectors`\" pulumi-lang-python=\"`resource_selectors`\" pulumi-lang-yaml=\"`resourceSelectors`\" pulumi-lang-java=\"`resourceSelectors`\"\u003e`resource_selectors`\u003c/span\u003e blocks as defined below to filter polices by resource properties.\n"}},"type":"object"}},"azure:management/groupPolicyExemption:GroupPolicyExemption":{"description":"Manages a Management Group Policy Exemption.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleGroup = new azure.management.Group(\"example\", {displayName: \"Example MgmtGroup\"});\nconst example = azure.policy.getPolicySetDefinition({\n    displayName: \"Audit machines with insecure password security settings\",\n});\nconst exampleGroupPolicyAssignment = new azure.management.GroupPolicyAssignment(\"example\", {\n    name: \"assignment1\",\n    managementGroupId: exampleGroup.id,\n    policyDefinitionId: example.then(example =\u003e example.id),\n    location: \"westus\",\n    identity: {\n        type: \"SystemAssigned\",\n    },\n});\nconst exampleGroupPolicyExemption = new azure.management.GroupPolicyExemption(\"example\", {\n    name: \"exemption1\",\n    managementGroupId: exampleGroup.id,\n    policyAssignmentId: exampleGroupPolicyAssignment.id,\n    exemptionCategory: \"Mitigated\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_group = azure.management.Group(\"example\", display_name=\"Example MgmtGroup\")\nexample = azure.policy.get_policy_set_definition(display_name=\"Audit machines with insecure password security settings\")\nexample_group_policy_assignment = azure.management.GroupPolicyAssignment(\"example\",\n    name=\"assignment1\",\n    management_group_id=example_group.id,\n    policy_definition_id=example.id,\n    location=\"westus\",\n    identity={\n        \"type\": \"SystemAssigned\",\n    })\nexample_group_policy_exemption = azure.management.GroupPolicyExemption(\"example\",\n    name=\"exemption1\",\n    management_group_id=example_group.id,\n    policy_assignment_id=example_group_policy_assignment.id,\n    exemption_category=\"Mitigated\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleGroup = new Azure.Management.Group(\"example\", new()\n    {\n        DisplayName = \"Example MgmtGroup\",\n    });\n\n    var example = Azure.Policy.GetPolicySetDefinition.Invoke(new()\n    {\n        DisplayName = \"Audit machines with insecure password security settings\",\n    });\n\n    var exampleGroupPolicyAssignment = new Azure.Management.GroupPolicyAssignment(\"example\", new()\n    {\n        Name = \"assignment1\",\n        ManagementGroupId = exampleGroup.Id,\n        PolicyDefinitionId = example.Apply(getPolicySetDefinitionResult =\u003e getPolicySetDefinitionResult.Id),\n        Location = \"westus\",\n        Identity = new Azure.Management.Inputs.GroupPolicyAssignmentIdentityArgs\n        {\n            Type = \"SystemAssigned\",\n        },\n    });\n\n    var exampleGroupPolicyExemption = new Azure.Management.GroupPolicyExemption(\"example\", new()\n    {\n        Name = \"exemption1\",\n        ManagementGroupId = exampleGroup.Id,\n        PolicyAssignmentId = exampleGroupPolicyAssignment.Id,\n        ExemptionCategory = \"Mitigated\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/management\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/policy\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleGroup, err := management.NewGroup(ctx, \"example\", \u0026management.GroupArgs{\n\t\t\tDisplayName: pulumi.String(\"Example MgmtGroup\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := policy.LookupPolicySetDefinition(ctx, \u0026policy.LookupPolicySetDefinitionArgs{\n\t\t\tDisplayName: pulumi.StringRef(\"Audit machines with insecure password security settings\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleGroupPolicyAssignment, err := management.NewGroupPolicyAssignment(ctx, \"example\", \u0026management.GroupPolicyAssignmentArgs{\n\t\t\tName:               pulumi.String(\"assignment1\"),\n\t\t\tManagementGroupId:  exampleGroup.ID(),\n\t\t\tPolicyDefinitionId: pulumi.String(example.Id),\n\t\t\tLocation:           pulumi.String(\"westus\"),\n\t\t\tIdentity: \u0026management.GroupPolicyAssignmentIdentityArgs{\n\t\t\t\tType: pulumi.String(\"SystemAssigned\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = management.NewGroupPolicyExemption(ctx, \"example\", \u0026management.GroupPolicyExemptionArgs{\n\t\t\tName:               pulumi.String(\"exemption1\"),\n\t\t\tManagementGroupId:  exampleGroup.ID(),\n\t\t\tPolicyAssignmentId: exampleGroupPolicyAssignment.ID(),\n\t\t\tExemptionCategory:  pulumi.String(\"Mitigated\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.management.Group;\nimport com.pulumi.azure.management.GroupArgs;\nimport com.pulumi.azure.policy.PolicyFunctions;\nimport com.pulumi.azure.policy.inputs.GetPolicySetDefinitionArgs;\nimport com.pulumi.azure.management.GroupPolicyAssignment;\nimport com.pulumi.azure.management.GroupPolicyAssignmentArgs;\nimport com.pulumi.azure.management.inputs.GroupPolicyAssignmentIdentityArgs;\nimport com.pulumi.azure.management.GroupPolicyExemption;\nimport com.pulumi.azure.management.GroupPolicyExemptionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var exampleGroup = new Group(\"exampleGroup\", GroupArgs.builder()\n            .displayName(\"Example MgmtGroup\")\n            .build());\n\n        final var example = PolicyFunctions.getPolicySetDefinition(GetPolicySetDefinitionArgs.builder()\n            .displayName(\"Audit machines with insecure password security settings\")\n            .build());\n\n        var exampleGroupPolicyAssignment = new GroupPolicyAssignment(\"exampleGroupPolicyAssignment\", GroupPolicyAssignmentArgs.builder()\n            .name(\"assignment1\")\n            .managementGroupId(exampleGroup.id())\n            .policyDefinitionId(example.id())\n            .location(\"westus\")\n            .identity(GroupPolicyAssignmentIdentityArgs.builder()\n                .type(\"SystemAssigned\")\n                .build())\n            .build());\n\n        var exampleGroupPolicyExemption = new GroupPolicyExemption(\"exampleGroupPolicyExemption\", GroupPolicyExemptionArgs.builder()\n            .name(\"exemption1\")\n            .managementGroupId(exampleGroup.id())\n            .policyAssignmentId(exampleGroupPolicyAssignment.id())\n            .exemptionCategory(\"Mitigated\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleGroup:\n    type: azure:management:Group\n    name: example\n    properties:\n      displayName: Example MgmtGroup\n  exampleGroupPolicyAssignment:\n    type: azure:management:GroupPolicyAssignment\n    name: example\n    properties:\n      name: assignment1\n      managementGroupId: ${exampleGroup.id}\n      policyDefinitionId: ${example.id}\n      location: westus\n      identity:\n        type: SystemAssigned\n  exampleGroupPolicyExemption:\n    type: azure:management:GroupPolicyExemption\n    name: example\n    properties:\n      name: exemption1\n      managementGroupId: ${exampleGroup.id}\n      policyAssignmentId: ${exampleGroupPolicyAssignment.id}\n      exemptionCategory: Mitigated\nvariables:\n  example:\n    fn::invoke:\n      function: azure:policy:getPolicySetDefinition\n      arguments:\n        displayName: Audit machines with insecure password security settings\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nPolicy Exemptions can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:management/groupPolicyExemption:GroupPolicyExemption exemption1 /providers/Microsoft.Management/managementGroups/group1/providers/Microsoft.Authorization/policyExemptions/exemption1\n```\n\n","properties":{"description":{"type":"string","description":"A description to use for this Policy Exemption.\n"},"displayName":{"type":"string","description":"A friendly display name to use for this Policy Exemption.\n"},"exemptionCategory":{"type":"string","description":"The category of this policy exemption. Possible values are `Waiver` and `Mitigated`.\n"},"expiresOn":{"type":"string","description":"The expiration date and time in UTC ISO 8601 format of this policy exemption.\n"},"managementGroupId":{"type":"string","description":"The Management Group ID where the Policy Exemption should be applied. Changing this forces a new resource to be created.\n"},"metadata":{"type":"string","description":"The metadata for this policy exemption. This is a JSON string representing additional metadata that should be stored with the policy exemption.\n"},"name":{"type":"string","description":"The name of the Policy Exemption. Changing this forces a new resource to be created.\n"},"policyAssignmentId":{"type":"string","description":"The ID of the Policy Assignment to be exempted at the specified Scope.\n"},"policyDefinitionReferenceIds":{"type":"array","items":{"type":"string"},"description":"The policy definition reference ID list when the associated policy assignment is an assignment of a policy set definition.\n"}},"required":["exemptionCategory","managementGroupId","metadata","name","policyAssignmentId"],"inputProperties":{"description":{"type":"string","description":"A description to use for this Policy Exemption.\n"},"displayName":{"type":"string","description":"A friendly display name to use for this Policy Exemption.\n"},"exemptionCategory":{"type":"string","description":"The category of this policy exemption. Possible values are `Waiver` and `Mitigated`.\n"},"expiresOn":{"type":"string","description":"The expiration date and time in UTC ISO 8601 format of this policy exemption.\n"},"managementGroupId":{"type":"string","description":"The Management Group ID where the Policy Exemption should be applied. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"metadata":{"type":"string","description":"The metadata for this policy exemption. This is a JSON string representing additional metadata that should be stored with the policy exemption.\n"},"name":{"type":"string","description":"The name of the Policy Exemption. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"policyAssignmentId":{"type":"string","description":"The ID of the Policy Assignment to be exempted at the specified Scope.\n"},"policyDefinitionReferenceIds":{"type":"array","items":{"type":"string"},"description":"The policy definition reference ID list when the associated policy assignment is an assignment of a policy set definition.\n"}},"requiredInputs":["exemptionCategory","managementGroupId","policyAssignmentId"],"stateInputs":{"description":"Input properties used for looking up and filtering GroupPolicyExemption resources.\n","properties":{"description":{"type":"string","description":"A description to use for this Policy Exemption.\n"},"displayName":{"type":"string","description":"A friendly display name to use for this Policy Exemption.\n"},"exemptionCategory":{"type":"string","description":"The category of this policy exemption. Possible values are `Waiver` and `Mitigated`.\n"},"expiresOn":{"type":"string","description":"The expiration date and time in UTC ISO 8601 format of this policy exemption.\n"},"managementGroupId":{"type":"string","description":"The Management Group ID where the Policy Exemption should be applied. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"metadata":{"type":"string","description":"The metadata for this policy exemption. This is a JSON string representing additional metadata that should be stored with the policy exemption.\n"},"name":{"type":"string","description":"The name of the Policy Exemption. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"policyAssignmentId":{"type":"string","description":"The ID of the Policy Assignment to be exempted at the specified Scope.\n"},"policyDefinitionReferenceIds":{"type":"array","items":{"type":"string"},"description":"The policy definition reference ID list when the associated policy assignment is an assignment of a policy set definition.\n"}},"type":"object"}},"azure:management/groupPolicyRemediation:GroupPolicyRemediation":{"description":"Manages an Azure Management Group Policy Remediation.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleGroup = new azure.management.Group(\"example\", {displayName: \"Example Management Group\"});\nconst example = azure.policy.getPolicyDefintion({\n    displayName: \"Allowed locations\",\n});\nconst exampleGroupPolicyAssignment = new azure.management.GroupPolicyAssignment(\"example\", {\n    name: \"exampleAssignment\",\n    managementGroupId: exampleGroup.id,\n    policyDefinitionId: example.then(example =\u003e example.id),\n    parameters: JSON.stringify({\n        listOfAllowedLocations: {\n            value: [\"East US\"],\n        },\n    }),\n});\nconst exampleGroupPolicyRemediation = new azure.management.GroupPolicyRemediation(\"example\", {\n    name: \"example\",\n    managementGroupId: exampleGroup.id,\n    policyAssignmentId: exampleGroupPolicyAssignment.id,\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_azure as azure\n\nexample_group = azure.management.Group(\"example\", display_name=\"Example Management Group\")\nexample = azure.policy.get_policy_defintion(display_name=\"Allowed locations\")\nexample_group_policy_assignment = azure.management.GroupPolicyAssignment(\"example\",\n    name=\"exampleAssignment\",\n    management_group_id=example_group.id,\n    policy_definition_id=example.id,\n    parameters=json.dumps({\n        \"listOfAllowedLocations\": {\n            \"value\": [\"East US\"],\n        },\n    }))\nexample_group_policy_remediation = azure.management.GroupPolicyRemediation(\"example\",\n    name=\"example\",\n    management_group_id=example_group.id,\n    policy_assignment_id=example_group_policy_assignment.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleGroup = new Azure.Management.Group(\"example\", new()\n    {\n        DisplayName = \"Example Management Group\",\n    });\n\n    var example = Azure.Policy.GetPolicyDefintion.Invoke(new()\n    {\n        DisplayName = \"Allowed locations\",\n    });\n\n    var exampleGroupPolicyAssignment = new Azure.Management.GroupPolicyAssignment(\"example\", new()\n    {\n        Name = \"exampleAssignment\",\n        ManagementGroupId = exampleGroup.Id,\n        PolicyDefinitionId = example.Apply(getPolicyDefintionResult =\u003e getPolicyDefintionResult.Id),\n        Parameters = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n        {\n            [\"listOfAllowedLocations\"] = new Dictionary\u003cstring, object?\u003e\n            {\n                [\"value\"] = new[]\n                {\n                    \"East US\",\n                },\n            },\n        }),\n    });\n\n    var exampleGroupPolicyRemediation = new Azure.Management.GroupPolicyRemediation(\"example\", new()\n    {\n        Name = \"example\",\n        ManagementGroupId = exampleGroup.Id,\n        PolicyAssignmentId = exampleGroupPolicyAssignment.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/management\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/policy\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleGroup, err := management.NewGroup(ctx, \"example\", \u0026management.GroupArgs{\n\t\t\tDisplayName: pulumi.String(\"Example Management Group\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := policy.GetPolicyDefintion(ctx, \u0026policy.GetPolicyDefintionArgs{\n\t\t\tDisplayName: pulumi.StringRef(\"Allowed locations\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"listOfAllowedLocations\": map[string]interface{}{\n\t\t\t\t\"value\": []string{\n\t\t\t\t\t\"East US\",\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson0 := string(tmpJSON0)\n\t\texampleGroupPolicyAssignment, err := management.NewGroupPolicyAssignment(ctx, \"example\", \u0026management.GroupPolicyAssignmentArgs{\n\t\t\tName:               pulumi.String(\"exampleAssignment\"),\n\t\t\tManagementGroupId:  exampleGroup.ID(),\n\t\t\tPolicyDefinitionId: pulumi.String(example.Id),\n\t\t\tParameters:         pulumi.String(json0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = management.NewGroupPolicyRemediation(ctx, \"example\", \u0026management.GroupPolicyRemediationArgs{\n\t\t\tName:               pulumi.String(\"example\"),\n\t\t\tManagementGroupId:  exampleGroup.ID(),\n\t\t\tPolicyAssignmentId: exampleGroupPolicyAssignment.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.management.Group;\nimport com.pulumi.azure.management.GroupArgs;\nimport com.pulumi.azure.policy.PolicyFunctions;\nimport com.pulumi.azure.policy.inputs.GetPolicyDefintionArgs;\nimport com.pulumi.azure.management.GroupPolicyAssignment;\nimport com.pulumi.azure.management.GroupPolicyAssignmentArgs;\nimport com.pulumi.azure.management.GroupPolicyRemediation;\nimport com.pulumi.azure.management.GroupPolicyRemediationArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var exampleGroup = new Group(\"exampleGroup\", GroupArgs.builder()\n            .displayName(\"Example Management Group\")\n            .build());\n\n        final var example = PolicyFunctions.getPolicyDefintion(GetPolicyDefintionArgs.builder()\n            .displayName(\"Allowed locations\")\n            .build());\n\n        var exampleGroupPolicyAssignment = new GroupPolicyAssignment(\"exampleGroupPolicyAssignment\", GroupPolicyAssignmentArgs.builder()\n            .name(\"exampleAssignment\")\n            .managementGroupId(exampleGroup.id())\n            .policyDefinitionId(example.id())\n            .parameters(serializeJson(\n                jsonObject(\n                    jsonProperty(\"listOfAllowedLocations\", jsonObject(\n                        jsonProperty(\"value\", jsonArray(\"East US\"))\n                    ))\n                )))\n            .build());\n\n        var exampleGroupPolicyRemediation = new GroupPolicyRemediation(\"exampleGroupPolicyRemediation\", GroupPolicyRemediationArgs.builder()\n            .name(\"example\")\n            .managementGroupId(exampleGroup.id())\n            .policyAssignmentId(exampleGroupPolicyAssignment.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleGroup:\n    type: azure:management:Group\n    name: example\n    properties:\n      displayName: Example Management Group\n  exampleGroupPolicyAssignment:\n    type: azure:management:GroupPolicyAssignment\n    name: example\n    properties:\n      name: exampleAssignment\n      managementGroupId: ${exampleGroup.id}\n      policyDefinitionId: ${example.id}\n      parameters:\n        fn::toJSON:\n          listOfAllowedLocations:\n            value:\n              - East US\n  exampleGroupPolicyRemediation:\n    type: azure:management:GroupPolicyRemediation\n    name: example\n    properties:\n      name: example\n      managementGroupId: ${exampleGroup.id}\n      policyAssignmentId: ${exampleGroupPolicyAssignment.id}\nvariables:\n  example:\n    fn::invoke:\n      function: azure:policy:getPolicyDefintion\n      arguments:\n        displayName: Allowed locations\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Management` - 2021-10-01\n\n## Import\n\nPolicy Remediations can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:management/groupPolicyRemediation:GroupPolicyRemediation example /providers/Microsoft.Management/managementGroups/my-mgmt-group-id/providers/Microsoft.PolicyInsights/remediations/remediation1\n```\n\n","properties":{"failurePercentage":{"type":"number","description":"The percentage failure threshold. Possible values range between `0.0` and `1.0`. The remediation will fail if the percentage of failed remediation operations (i.e. failed deployments) exceeds this threshold.\n"},"locationFilters":{"type":"array","items":{"type":"string"},"description":"A list of the resource locations that will be remediated.\n"},"managementGroupId":{"type":"string","description":"The Management Group ID at which the Policy Remediation should be applied. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"The name of the Policy Remediation. Changing this forces a new resource to be created.\n"},"parallelDeployments":{"type":"integer","description":"Determines how many resources to remediate at any given time. Can be used to increase or reduce the pace of the remediation. If not provided, the default parallel deployments value is used.\n"},"policyAssignmentId":{"type":"string","description":"The ID of the Policy Assignment that should be remediated.\n"},"policyDefinitionReferenceId":{"type":"string","description":"The unique ID for the policy definition reference within the policy set definition that should be remediated. Required when the policy assignment being remediated assigns a policy set definition.\n"},"resourceCount":{"type":"integer","description":"Determines the max number of resources that can be remediated by the remediation job. If not provided, the default resource count is used.\n"}},"required":["managementGroupId","name","policyAssignmentId"],"inputProperties":{"failurePercentage":{"type":"number","description":"The percentage failure threshold. Possible values range between `0.0` and `1.0`. The remediation will fail if the percentage of failed remediation operations (i.e. failed deployments) exceeds this threshold.\n"},"locationFilters":{"type":"array","items":{"type":"string"},"description":"A list of the resource locations that will be remediated.\n"},"managementGroupId":{"type":"string","description":"The Management Group ID at which the Policy Remediation should be applied. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the Policy Remediation. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"parallelDeployments":{"type":"integer","description":"Determines how many resources to remediate at any given time. Can be used to increase or reduce the pace of the remediation. If not provided, the default parallel deployments value is used.\n"},"policyAssignmentId":{"type":"string","description":"The ID of the Policy Assignment that should be remediated.\n"},"policyDefinitionReferenceId":{"type":"string","description":"The unique ID for the policy definition reference within the policy set definition that should be remediated. Required when the policy assignment being remediated assigns a policy set definition.\n"},"resourceCount":{"type":"integer","description":"Determines the max number of resources that can be remediated by the remediation job. If not provided, the default resource count is used.\n"}},"requiredInputs":["managementGroupId","policyAssignmentId"],"stateInputs":{"description":"Input properties used for looking up and filtering GroupPolicyRemediation resources.\n","properties":{"failurePercentage":{"type":"number","description":"The percentage failure threshold. Possible values range between `0.0` and `1.0`. The remediation will fail if the percentage of failed remediation operations (i.e. failed deployments) exceeds this threshold.\n"},"locationFilters":{"type":"array","items":{"type":"string"},"description":"A list of the resource locations that will be remediated.\n"},"managementGroupId":{"type":"string","description":"The Management Group ID at which the Policy Remediation should be applied. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the Policy Remediation. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"parallelDeployments":{"type":"integer","description":"Determines how many resources to remediate at any given time. Can be used to increase or reduce the pace of the remediation. If not provided, the default parallel deployments value is used.\n"},"policyAssignmentId":{"type":"string","description":"The ID of the Policy Assignment that should be remediated.\n"},"policyDefinitionReferenceId":{"type":"string","description":"The unique ID for the policy definition reference within the policy set definition that should be remediated. Required when the policy assignment being remediated assigns a policy set definition.\n"},"resourceCount":{"type":"integer","description":"Determines the max number of resources that can be remediated by the remediation job. If not provided, the default resource count is used.\n"}},"type":"object"}},"azure:management/groupPolicySetDefinition:GroupPolicySetDefinition":{"description":"Manages a Policy Set Definition for a Management Group.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.management.Group(\"example\", {displayName: \"Example\"});\nconst exampleGroupPolicySetDefinition = new azure.management.GroupPolicySetDefinition(\"example\", {\n    name: \"example\",\n    policyType: \"Custom\",\n    displayName: \"Example\",\n    managementGroupId: example.id,\n    parameters: `   {\n       \\\\\"allowedLocations\\\\\": {\n           \\\\\"type\\\\\": \\\\\"Array\\\\\",\n           \\\\\"metadata\\\\\": {\n               \\\\\"description\\\\\": \\\\\"The list of allowed locations for resources.\\\\\",\n               \\\\\"displayName\\\\\": \\\\\"Allowed locations\\\\\",\n               \\\\\"strongType\\\\\": \\\\\"location\\\\\"\n           }\n       }\n   }\n`,\n    policyDefinitionReferences: [{\n        version: \"1.0.*\",\n        policyDefinitionId: \"/providers/Microsoft.Authorization/policyDefinitions/e765b5de-1225-4ba3-bd56-1ac6695af988\",\n        parameterValues: `   {\n     \\\\\"listOfAllowedLocations\\\\\": {\\\\\"value\\\\\": \\\\\"[parameters('allowedLocations')]\\\\\"}\n   }\n`,\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.management.Group(\"example\", display_name=\"Example\")\nexample_group_policy_set_definition = azure.management.GroupPolicySetDefinition(\"example\",\n    name=\"example\",\n    policy_type=\"Custom\",\n    display_name=\"Example\",\n    management_group_id=example.id,\n    parameters=\"\"\"   {\n       \\\"allowedLocations\\\": {\n           \\\"type\\\": \\\"Array\\\",\n           \\\"metadata\\\": {\n               \\\"description\\\": \\\"The list of allowed locations for resources.\\\",\n               \\\"displayName\\\": \\\"Allowed locations\\\",\n               \\\"strongType\\\": \\\"location\\\"\n           }\n       }\n   }\n\"\"\",\n    policy_definition_references=[{\n        \"version\": \"1.0.*\",\n        \"policy_definition_id\": \"/providers/Microsoft.Authorization/policyDefinitions/e765b5de-1225-4ba3-bd56-1ac6695af988\",\n        \"parameter_values\": \"\"\"   {\n     \\\"listOfAllowedLocations\\\": {\\\"value\\\": \\\"[parameters('allowedLocations')]\\\"}\n   }\n\"\"\",\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Management.Group(\"example\", new()\n    {\n        DisplayName = \"Example\",\n    });\n\n    var exampleGroupPolicySetDefinition = new Azure.Management.GroupPolicySetDefinition(\"example\", new()\n    {\n        Name = \"example\",\n        PolicyType = \"Custom\",\n        DisplayName = \"Example\",\n        ManagementGroupId = example.Id,\n        Parameters = @\"   {\n       \\\"\"allowedLocations\\\"\": {\n           \\\"\"type\\\"\": \\\"\"Array\\\"\",\n           \\\"\"metadata\\\"\": {\n               \\\"\"description\\\"\": \\\"\"The list of allowed locations for resources.\\\"\",\n               \\\"\"displayName\\\"\": \\\"\"Allowed locations\\\"\",\n               \\\"\"strongType\\\"\": \\\"\"location\\\"\"\n           }\n       }\n   }\n\",\n        PolicyDefinitionReferences = new[]\n        {\n            new Azure.Management.Inputs.GroupPolicySetDefinitionPolicyDefinitionReferenceArgs\n            {\n                Version = \"1.0.*\",\n                PolicyDefinitionId = \"/providers/Microsoft.Authorization/policyDefinitions/e765b5de-1225-4ba3-bd56-1ac6695af988\",\n                ParameterValues = @\"   {\n     \\\"\"listOfAllowedLocations\\\"\": {\\\"\"value\\\"\": \\\"\"[parameters('allowedLocations')]\\\"\"}\n   }\n\",\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/management\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := management.NewGroup(ctx, \"example\", \u0026management.GroupArgs{\n\t\t\tDisplayName: pulumi.String(\"Example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = management.NewGroupPolicySetDefinition(ctx, \"example\", \u0026management.GroupPolicySetDefinitionArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tPolicyType:        pulumi.String(\"Custom\"),\n\t\t\tDisplayName:       pulumi.String(\"Example\"),\n\t\t\tManagementGroupId: example.ID(),\n\t\t\tParameters: pulumi.String(`   {\n       \\\"allowedLocations\\\": {\n           \\\"type\\\": \\\"Array\\\",\n           \\\"metadata\\\": {\n               \\\"description\\\": \\\"The list of allowed locations for resources.\\\",\n               \\\"displayName\\\": \\\"Allowed locations\\\",\n               \\\"strongType\\\": \\\"location\\\"\n           }\n       }\n   }\n`),\n\t\t\tPolicyDefinitionReferences: management.GroupPolicySetDefinitionPolicyDefinitionReferenceArray{\n\t\t\t\t\u0026management.GroupPolicySetDefinitionPolicyDefinitionReferenceArgs{\n\t\t\t\t\tVersion:            pulumi.String(\"1.0.*\"),\n\t\t\t\t\tPolicyDefinitionId: pulumi.String(\"/providers/Microsoft.Authorization/policyDefinitions/e765b5de-1225-4ba3-bd56-1ac6695af988\"),\n\t\t\t\t\tParameterValues:    pulumi.String(\"   {\\n     \\\\\\\"listOfAllowedLocations\\\\\\\": {\\\\\\\"value\\\\\\\": \\\\\\\"[parameters('allowedLocations')]\\\\\\\"}\\n   }\\n\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.management.Group;\nimport com.pulumi.azure.management.GroupArgs;\nimport com.pulumi.azure.management.GroupPolicySetDefinition;\nimport com.pulumi.azure.management.GroupPolicySetDefinitionArgs;\nimport com.pulumi.azure.management.inputs.GroupPolicySetDefinitionPolicyDefinitionReferenceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new Group(\"example\", GroupArgs.builder()\n            .displayName(\"Example\")\n            .build());\n\n        var exampleGroupPolicySetDefinition = new GroupPolicySetDefinition(\"exampleGroupPolicySetDefinition\", GroupPolicySetDefinitionArgs.builder()\n            .name(\"example\")\n            .policyType(\"Custom\")\n            .displayName(\"Example\")\n            .managementGroupId(example.id())\n            .parameters(\"\"\"\n   {\n       \\\"allowedLocations\\\": {\n           \\\"type\\\": \\\"Array\\\",\n           \\\"metadata\\\": {\n               \\\"description\\\": \\\"The list of allowed locations for resources.\\\",\n               \\\"displayName\\\": \\\"Allowed locations\\\",\n               \\\"strongType\\\": \\\"location\\\"\n           }\n       }\n   }\n            \"\"\")\n            .policyDefinitionReferences(GroupPolicySetDefinitionPolicyDefinitionReferenceArgs.builder()\n                .version(\"1.0.*\")\n                .policyDefinitionId(\"/providers/Microsoft.Authorization/policyDefinitions/e765b5de-1225-4ba3-bd56-1ac6695af988\")\n                .parameterValues(\"\"\"\n   {\n     \\\"listOfAllowedLocations\\\": {\\\"value\\\": \\\"[parameters('allowedLocations')]\\\"}\n   }\n                \"\"\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:management:Group\n    properties:\n      displayName: Example\n  exampleGroupPolicySetDefinition:\n    type: azure:management:GroupPolicySetDefinition\n    name: example\n    properties:\n      name: example\n      policyType: Custom\n      displayName: Example\n      managementGroupId: ${example.id}\n      parameters: |2\n           {\n               \\\"allowedLocations\\\": {\n                   \\\"type\\\": \\\"Array\\\",\n                   \\\"metadata\\\": {\n                       \\\"description\\\": \\\"The list of allowed locations for resources.\\\",\n                       \\\"displayName\\\": \\\"Allowed locations\\\",\n                       \\\"strongType\\\": \\\"location\\\"\n                   }\n               }\n           }\n      policyDefinitionReferences:\n        - version: 1.0.*\n          policyDefinitionId: /providers/Microsoft.Authorization/policyDefinitions/e765b5de-1225-4ba3-bd56-1ac6695af988\n          parameterValues: |2\n               {\n                 \\\"listOfAllowedLocations\\\": {\\\"value\\\": \\\"[parameters('allowedLocations')]\\\"}\n               }\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Management` - 2025-01-01\n\n## Import\n\nPolicy Set Definitions can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:management/groupPolicySetDefinition:GroupPolicySetDefinition example /providers/Microsoft.Management/managementGroups/0000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/policySetDefinitions/policySetDefinitionName\n```\n\n","properties":{"description":{"type":"string","description":"The description of this Policy Set Definition.\n"},"displayName":{"type":"string","description":"The display name of this Policy Set Definition.\n"},"managementGroupId":{"type":"string","description":"The ID of the Management Group where this Policy Set Definition should be created. Changing this forces a new Policy Set Definition to be created.\n"},"metadata":{"type":"string","description":"The metadata for the Policy Set Definition in JSON format.\n"},"name":{"type":"string","description":"The name which should be used for this Policy Set Definition. Changing this forces a new Policy Set Definition to be created.\n"},"parameters":{"type":"string","description":"The parameters for the Policy Set Definition in JSON format. Reducing the number of parameters forces a new resource to be created.\n"},"policyDefinitionGroups":{"type":"array","items":{"$ref":"#/types/azure:management/GroupPolicySetDefinitionPolicyDefinitionGroup:GroupPolicySetDefinitionPolicyDefinitionGroup"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`policyDefinitionGroup`\" pulumi-lang-dotnet=\"`PolicyDefinitionGroup`\" pulumi-lang-go=\"`policyDefinitionGroup`\" pulumi-lang-python=\"`policy_definition_group`\" pulumi-lang-yaml=\"`policyDefinitionGroup`\" pulumi-lang-java=\"`policyDefinitionGroup`\"\u003e`policy_definition_group`\u003c/span\u003e blocks as defined below.\n"},"policyDefinitionReferences":{"type":"array","items":{"$ref":"#/types/azure:management/GroupPolicySetDefinitionPolicyDefinitionReference:GroupPolicySetDefinitionPolicyDefinitionReference"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`policyDefinitionReference`\" pulumi-lang-dotnet=\"`PolicyDefinitionReference`\" pulumi-lang-go=\"`policyDefinitionReference`\" pulumi-lang-python=\"`policy_definition_reference`\" pulumi-lang-yaml=\"`policyDefinitionReference`\" pulumi-lang-java=\"`policyDefinitionReference`\"\u003e`policy_definition_reference`\u003c/span\u003e blocks as defined below.\n"},"policyType":{"type":"string","description":"The Policy Set Definition type. Possible values are `BuiltIn`, `Custom`, `NotSpecified`, and `Static`. Changing this forces a new Policy Set Definition to be created.\n"}},"required":["displayName","managementGroupId","metadata","name","policyDefinitionReferences","policyType"],"inputProperties":{"description":{"type":"string","description":"The description of this Policy Set Definition.\n"},"displayName":{"type":"string","description":"The display name of this Policy Set Definition.\n"},"managementGroupId":{"type":"string","description":"The ID of the Management Group where this Policy Set Definition should be created. Changing this forces a new Policy Set Definition to be created.\n","willReplaceOnChanges":true},"metadata":{"type":"string","description":"The metadata for the Policy Set Definition in JSON format.\n"},"name":{"type":"string","description":"The name which should be used for this Policy Set Definition. Changing this forces a new Policy Set Definition to be created.\n","willReplaceOnChanges":true},"parameters":{"type":"string","description":"The parameters for the Policy Set Definition in JSON format. Reducing the number of parameters forces a new resource to be created.\n"},"policyDefinitionGroups":{"type":"array","items":{"$ref":"#/types/azure:management/GroupPolicySetDefinitionPolicyDefinitionGroup:GroupPolicySetDefinitionPolicyDefinitionGroup"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`policyDefinitionGroup`\" pulumi-lang-dotnet=\"`PolicyDefinitionGroup`\" pulumi-lang-go=\"`policyDefinitionGroup`\" pulumi-lang-python=\"`policy_definition_group`\" pulumi-lang-yaml=\"`policyDefinitionGroup`\" pulumi-lang-java=\"`policyDefinitionGroup`\"\u003e`policy_definition_group`\u003c/span\u003e blocks as defined below.\n"},"policyDefinitionReferences":{"type":"array","items":{"$ref":"#/types/azure:management/GroupPolicySetDefinitionPolicyDefinitionReference:GroupPolicySetDefinitionPolicyDefinitionReference"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`policyDefinitionReference`\" pulumi-lang-dotnet=\"`PolicyDefinitionReference`\" pulumi-lang-go=\"`policyDefinitionReference`\" pulumi-lang-python=\"`policy_definition_reference`\" pulumi-lang-yaml=\"`policyDefinitionReference`\" pulumi-lang-java=\"`policyDefinitionReference`\"\u003e`policy_definition_reference`\u003c/span\u003e blocks as defined below.\n"},"policyType":{"type":"string","description":"The Policy Set Definition type. Possible values are `BuiltIn`, `Custom`, `NotSpecified`, and `Static`. Changing this forces a new Policy Set Definition to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["displayName","managementGroupId","policyDefinitionReferences","policyType"],"stateInputs":{"description":"Input properties used for looking up and filtering GroupPolicySetDefinition resources.\n","properties":{"description":{"type":"string","description":"The description of this Policy Set Definition.\n"},"displayName":{"type":"string","description":"The display name of this Policy Set Definition.\n"},"managementGroupId":{"type":"string","description":"The ID of the Management Group where this Policy Set Definition should be created. Changing this forces a new Policy Set Definition to be created.\n","willReplaceOnChanges":true},"metadata":{"type":"string","description":"The metadata for the Policy Set Definition in JSON format.\n"},"name":{"type":"string","description":"The name which should be used for this Policy Set Definition. Changing this forces a new Policy Set Definition to be created.\n","willReplaceOnChanges":true},"parameters":{"type":"string","description":"The parameters for the Policy Set Definition in JSON format. Reducing the number of parameters forces a new resource to be created.\n"},"policyDefinitionGroups":{"type":"array","items":{"$ref":"#/types/azure:management/GroupPolicySetDefinitionPolicyDefinitionGroup:GroupPolicySetDefinitionPolicyDefinitionGroup"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`policyDefinitionGroup`\" pulumi-lang-dotnet=\"`PolicyDefinitionGroup`\" pulumi-lang-go=\"`policyDefinitionGroup`\" pulumi-lang-python=\"`policy_definition_group`\" pulumi-lang-yaml=\"`policyDefinitionGroup`\" pulumi-lang-java=\"`policyDefinitionGroup`\"\u003e`policy_definition_group`\u003c/span\u003e blocks as defined below.\n"},"policyDefinitionReferences":{"type":"array","items":{"$ref":"#/types/azure:management/GroupPolicySetDefinitionPolicyDefinitionReference:GroupPolicySetDefinitionPolicyDefinitionReference"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`policyDefinitionReference`\" pulumi-lang-dotnet=\"`PolicyDefinitionReference`\" pulumi-lang-go=\"`policyDefinitionReference`\" pulumi-lang-python=\"`policy_definition_reference`\" pulumi-lang-yaml=\"`policyDefinitionReference`\" pulumi-lang-java=\"`policyDefinitionReference`\"\u003e`policy_definition_reference`\u003c/span\u003e blocks as defined below.\n"},"policyType":{"type":"string","description":"The Policy Set Definition type. Possible values are `BuiltIn`, `Custom`, `NotSpecified`, and `Static`. Changing this forces a new Policy Set Definition to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:management/groupSubscriptionAssociation:GroupSubscriptionAssociation":{"description":"Manages a Management Group Subscription Association.\n\n!\u003e **Note:** When using this resource, configuring \u003cspan pulumi-lang-nodejs=\"`subscriptionIds`\" pulumi-lang-dotnet=\"`SubscriptionIds`\" pulumi-lang-go=\"`subscriptionIds`\" pulumi-lang-python=\"`subscription_ids`\" pulumi-lang-yaml=\"`subscriptionIds`\" pulumi-lang-java=\"`subscriptionIds`\"\u003e`subscription_ids`\u003c/span\u003e on the \u003cspan pulumi-lang-nodejs=\"`azure.management.Group`\" pulumi-lang-dotnet=\"`azure.management.Group`\" pulumi-lang-go=\"`management.Group`\" pulumi-lang-python=\"`management.Group`\" pulumi-lang-yaml=\"`azure.management.Group`\" pulumi-lang-java=\"`azure.management.Group`\"\u003e`azure.management.Group`\u003c/span\u003e resource is not supported.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.management.getGroup({\n    name: \"exampleManagementGroup\",\n});\nconst exampleGetSubscription = azure.core.getSubscription({\n    subscriptionId: \"12345678-1234-1234-1234-123456789012\",\n});\nconst exampleGroupSubscriptionAssociation = new azure.management.GroupSubscriptionAssociation(\"example\", {\n    managementGroupId: example.then(example =\u003e example.id),\n    subscriptionId: exampleGetSubscription.then(exampleGetSubscription =\u003e exampleGetSubscription.id),\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.management.get_group(name=\"exampleManagementGroup\")\nexample_get_subscription = azure.core.get_subscription(subscription_id=\"12345678-1234-1234-1234-123456789012\")\nexample_group_subscription_association = azure.management.GroupSubscriptionAssociation(\"example\",\n    management_group_id=example.id,\n    subscription_id=example_get_subscription.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Management.GetGroup.Invoke(new()\n    {\n        Name = \"exampleManagementGroup\",\n    });\n\n    var exampleGetSubscription = Azure.Core.GetSubscription.Invoke(new()\n    {\n        SubscriptionId = \"12345678-1234-1234-1234-123456789012\",\n    });\n\n    var exampleGroupSubscriptionAssociation = new Azure.Management.GroupSubscriptionAssociation(\"example\", new()\n    {\n        ManagementGroupId = example.Apply(getGroupResult =\u003e getGroupResult.Id),\n        SubscriptionId = exampleGetSubscription.Apply(getSubscriptionResult =\u003e getSubscriptionResult.Id),\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/management\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := management.LookupGroup(ctx, \u0026management.LookupGroupArgs{\n\t\t\tName: pulumi.StringRef(\"exampleManagementGroup\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleGetSubscription, err := core.LookupSubscription(ctx, \u0026core.LookupSubscriptionArgs{\n\t\t\tSubscriptionId: pulumi.StringRef(\"12345678-1234-1234-1234-123456789012\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = management.NewGroupSubscriptionAssociation(ctx, \"example\", \u0026management.GroupSubscriptionAssociationArgs{\n\t\t\tManagementGroupId: pulumi.String(example.Id),\n\t\t\tSubscriptionId:    pulumi.String(exampleGetSubscription.Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.management.ManagementFunctions;\nimport com.pulumi.azure.management.inputs.GetGroupArgs;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.core.inputs.GetSubscriptionArgs;\nimport com.pulumi.azure.management.GroupSubscriptionAssociation;\nimport com.pulumi.azure.management.GroupSubscriptionAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = ManagementFunctions.getGroup(GetGroupArgs.builder()\n            .name(\"exampleManagementGroup\")\n            .build());\n\n        final var exampleGetSubscription = CoreFunctions.getSubscription(GetSubscriptionArgs.builder()\n            .subscriptionId(\"12345678-1234-1234-1234-123456789012\")\n            .build());\n\n        var exampleGroupSubscriptionAssociation = new GroupSubscriptionAssociation(\"exampleGroupSubscriptionAssociation\", GroupSubscriptionAssociationArgs.builder()\n            .managementGroupId(example.id())\n            .subscriptionId(exampleGetSubscription.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleGroupSubscriptionAssociation:\n    type: azure:management:GroupSubscriptionAssociation\n    name: example\n    properties:\n      managementGroupId: ${example.id}\n      subscriptionId: ${exampleGetSubscription.id}\nvariables:\n  example:\n    fn::invoke:\n      function: azure:management:getGroup\n      arguments:\n        name: exampleManagementGroup\n  exampleGetSubscription:\n    fn::invoke:\n      function: azure:core:getSubscription\n      arguments:\n        subscriptionId: 12345678-1234-1234-1234-123456789012\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Management` - 2020-05-01\n\n## Import\n\nManagements can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:management/groupSubscriptionAssociation:GroupSubscriptionAssociation example /providers/Microsoft.Management/managementGroups/MyManagementGroup/subscriptions/12345678-1234-1234-1234-123456789012\n```\n\n","properties":{"managementGroupId":{"type":"string","description":"The ID of the Management Group to associate the Subscription with. Changing this forces a new Management to be created.\n"},"subscriptionId":{"type":"string","description":"The ID of the Subscription to be associated with the Management Group. Changing this forces a new Management to be created.\n"}},"required":["managementGroupId","subscriptionId"],"inputProperties":{"managementGroupId":{"type":"string","description":"The ID of the Management Group to associate the Subscription with. Changing this forces a new Management to be created.\n","willReplaceOnChanges":true},"subscriptionId":{"type":"string","description":"The ID of the Subscription to be associated with the Management Group. Changing this forces a new Management to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["managementGroupId","subscriptionId"],"stateInputs":{"description":"Input properties used for looking up and filtering GroupSubscriptionAssociation resources.\n","properties":{"managementGroupId":{"type":"string","description":"The ID of the Management Group to associate the Subscription with. Changing this forces a new Management to be created.\n","willReplaceOnChanges":true},"subscriptionId":{"type":"string","description":"The ID of the Subscription to be associated with the Management Group. Changing this forces a new Management to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:management/groupTemplateDeployment:GroupTemplateDeployment":{"description":"Manages a Template Deployment at a Management Group Scope.\n\n\u003e **Note:** Deleting a Deployment at the Management Group Scope will not delete any resources created by the deployment.\n\n\u003e **Note:** Deployments to a Management Group are always Incrementally applied. Existing resources that are not part of the template will not be removed.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.management.getGroup({\n    name: \"00000000-0000-0000-0000-000000000000\",\n});\nconst exampleGroupTemplateDeployment = new azure.management.GroupTemplateDeployment(\"example\", {\n    name: \"example\",\n    location: \"West Europe\",\n    managementGroupId: example.then(example =\u003e example.id),\n    templateContent: `{\n  \\\\\"schema\\\\\": \\\\\"https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#\\\\\",\n  \\\\\"contentVersion\\\\\": \\\\\"1.0.0.0\\\\\",\n  \\\\\"parameters\\\\\": {\n    \\\\\"policyAssignmentName\\\\\": {\n      \\\\\"type\\\\\": \\\\\"string\\\\\",\n      \\\\\"defaultValue\\\\\": \\\\\"[guid(parameters('policyDefinitionID'), resourceGroup().name)]\\\\\",\n      \\\\\"metadata\\\\\": {\n        \\\\\"description\\\\\": \\\\\"Specifies the name of the policy assignment, can be used defined or an idempotent name as the defaultValue provides.\\\\\"\n      }\n    },\n    \\\\\"policyDefinitionID\\\\\": {\n      \\\\\"type\\\\\": \\\\\"string\\\\\",\n      \\\\\"metadata\\\\\": {\n        \\\\\"description\\\\\": \\\\\"Specifies the ID of the policy definition or policy set definition being assigned.\\\\\"\n      }\n    }\n  },\n  \\\\\"resources\\\\\": [\n    {\n      \\\\\"type\\\\\": \\\\\"Microsoft.Authorization/policyAssignments\\\\\",\n      \\\\\"name\\\\\": \\\\\"[parameters('policyAssignmentName')]\\\\\",\n      \\\\\"apiVersion\\\\\": \\\\\"2019-09-01\\\\\",\n      \\\\\"properties\\\\\": {\n        \\\\\"scope\\\\\": \\\\\"[subscriptionResourceId('Microsoft.Resources/resourceGroups', resourceGroup().name)]\\\\\",\n        \\\\\"policyDefinitionId\\\\\": \\\\\"[parameters('policyDefinitionID')]\\\\\"\n      }\n    }\n  ]\n}\n`,\n    parametersContent: `{\n  \\\\\"schema\\\\\": \\\\\"https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#\\\\\",\n  \\\\\"contentVersion\\\\\": \\\\\"1.0.0.0\\\\\",\n  \\\\\"parameters\\\\\": {\n    \\\\\"policyDefinitionID\\\\\": {\n      \\\\\"value\\\\\": \\\\\"/providers/Microsoft.Authorization/policyDefinitions/0a914e76-4921-4c19-b460-a2d36003525a\\\\\"\n    }\n  }\n}\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.management.get_group(name=\"00000000-0000-0000-0000-000000000000\")\nexample_group_template_deployment = azure.management.GroupTemplateDeployment(\"example\",\n    name=\"example\",\n    location=\"West Europe\",\n    management_group_id=example.id,\n    template_content=\"\"\"{\n  \\\"$schema\\\": \\\"https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#\\\",\n  \\\"contentVersion\\\": \\\"1.0.0.0\\\",\n  \\\"parameters\\\": {\n    \\\"policyAssignmentName\\\": {\n      \\\"type\\\": \\\"string\\\",\n      \\\"defaultValue\\\": \\\"[guid(parameters('policyDefinitionID'), resourceGroup().name)]\\\",\n      \\\"metadata\\\": {\n        \\\"description\\\": \\\"Specifies the name of the policy assignment, can be used defined or an idempotent name as the defaultValue provides.\\\"\n      }\n    },\n    \\\"policyDefinitionID\\\": {\n      \\\"type\\\": \\\"string\\\",\n      \\\"metadata\\\": {\n        \\\"description\\\": \\\"Specifies the ID of the policy definition or policy set definition being assigned.\\\"\n      }\n    }\n  },\n  \\\"resources\\\": [\n    {\n      \\\"type\\\": \\\"Microsoft.Authorization/policyAssignments\\\",\n      \\\"name\\\": \\\"[parameters('policyAssignmentName')]\\\",\n      \\\"apiVersion\\\": \\\"2019-09-01\\\",\n      \\\"properties\\\": {\n        \\\"scope\\\": \\\"[subscriptionResourceId('Microsoft.Resources/resourceGroups', resourceGroup().name)]\\\",\n        \\\"policyDefinitionId\\\": \\\"[parameters('policyDefinitionID')]\\\"\n      }\n    }\n  ]\n}\n\"\"\",\n    parameters_content=\"\"\"{\n  \\\"$schema\\\": \\\"https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#\\\",\n  \\\"contentVersion\\\": \\\"1.0.0.0\\\",\n  \\\"parameters\\\": {\n    \\\"policyDefinitionID\\\": {\n      \\\"value\\\": \\\"/providers/Microsoft.Authorization/policyDefinitions/0a914e76-4921-4c19-b460-a2d36003525a\\\"\n    }\n  }\n}\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Management.GetGroup.Invoke(new()\n    {\n        Name = \"00000000-0000-0000-0000-000000000000\",\n    });\n\n    var exampleGroupTemplateDeployment = new Azure.Management.GroupTemplateDeployment(\"example\", new()\n    {\n        Name = \"example\",\n        Location = \"West Europe\",\n        ManagementGroupId = example.Apply(getGroupResult =\u003e getGroupResult.Id),\n        TemplateContent = @\"{\n  \\\"\"$schema\\\"\": \\\"\"https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#\\\"\",\n  \\\"\"contentVersion\\\"\": \\\"\"1.0.0.0\\\"\",\n  \\\"\"parameters\\\"\": {\n    \\\"\"policyAssignmentName\\\"\": {\n      \\\"\"type\\\"\": \\\"\"string\\\"\",\n      \\\"\"defaultValue\\\"\": \\\"\"[guid(parameters('policyDefinitionID'), resourceGroup().name)]\\\"\",\n      \\\"\"metadata\\\"\": {\n        \\\"\"description\\\"\": \\\"\"Specifies the name of the policy assignment, can be used defined or an idempotent name as the defaultValue provides.\\\"\"\n      }\n    },\n    \\\"\"policyDefinitionID\\\"\": {\n      \\\"\"type\\\"\": \\\"\"string\\\"\",\n      \\\"\"metadata\\\"\": {\n        \\\"\"description\\\"\": \\\"\"Specifies the ID of the policy definition or policy set definition being assigned.\\\"\"\n      }\n    }\n  },\n  \\\"\"resources\\\"\": [\n    {\n      \\\"\"type\\\"\": \\\"\"Microsoft.Authorization/policyAssignments\\\"\",\n      \\\"\"name\\\"\": \\\"\"[parameters('policyAssignmentName')]\\\"\",\n      \\\"\"apiVersion\\\"\": \\\"\"2019-09-01\\\"\",\n      \\\"\"properties\\\"\": {\n        \\\"\"scope\\\"\": \\\"\"[subscriptionResourceId('Microsoft.Resources/resourceGroups', resourceGroup().name)]\\\"\",\n        \\\"\"policyDefinitionId\\\"\": \\\"\"[parameters('policyDefinitionID')]\\\"\"\n      }\n    }\n  ]\n}\n\",\n        ParametersContent = @\"{\n  \\\"\"$schema\\\"\": \\\"\"https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#\\\"\",\n  \\\"\"contentVersion\\\"\": \\\"\"1.0.0.0\\\"\",\n  \\\"\"parameters\\\"\": {\n    \\\"\"policyDefinitionID\\\"\": {\n      \\\"\"value\\\"\": \\\"\"/providers/Microsoft.Authorization/policyDefinitions/0a914e76-4921-4c19-b460-a2d36003525a\\\"\"\n    }\n  }\n}\n\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/management\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := management.LookupGroup(ctx, \u0026management.LookupGroupArgs{\n\t\t\tName: pulumi.StringRef(\"00000000-0000-0000-0000-000000000000\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = management.NewGroupTemplateDeployment(ctx, \"example\", \u0026management.GroupTemplateDeploymentArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tLocation:          pulumi.String(\"West Europe\"),\n\t\t\tManagementGroupId: pulumi.String(example.Id),\n\t\t\tTemplateContent: pulumi.String(`{\n  \\\"$schema\\\": \\\"https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#\\\",\n  \\\"contentVersion\\\": \\\"1.0.0.0\\\",\n  \\\"parameters\\\": {\n    \\\"policyAssignmentName\\\": {\n      \\\"type\\\": \\\"string\\\",\n      \\\"defaultValue\\\": \\\"[guid(parameters('policyDefinitionID'), resourceGroup().name)]\\\",\n      \\\"metadata\\\": {\n        \\\"description\\\": \\\"Specifies the name of the policy assignment, can be used defined or an idempotent name as the defaultValue provides.\\\"\n      }\n    },\n    \\\"policyDefinitionID\\\": {\n      \\\"type\\\": \\\"string\\\",\n      \\\"metadata\\\": {\n        \\\"description\\\": \\\"Specifies the ID of the policy definition or policy set definition being assigned.\\\"\n      }\n    }\n  },\n  \\\"resources\\\": [\n    {\n      \\\"type\\\": \\\"Microsoft.Authorization/policyAssignments\\\",\n      \\\"name\\\": \\\"[parameters('policyAssignmentName')]\\\",\n      \\\"apiVersion\\\": \\\"2019-09-01\\\",\n      \\\"properties\\\": {\n        \\\"scope\\\": \\\"[subscriptionResourceId('Microsoft.Resources/resourceGroups', resourceGroup().name)]\\\",\n        \\\"policyDefinitionId\\\": \\\"[parameters('policyDefinitionID')]\\\"\n      }\n    }\n  ]\n}\n`),\n\t\t\tParametersContent: pulumi.String(`{\n  \\\"$schema\\\": \\\"https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#\\\",\n  \\\"contentVersion\\\": \\\"1.0.0.0\\\",\n  \\\"parameters\\\": {\n    \\\"policyDefinitionID\\\": {\n      \\\"value\\\": \\\"/providers/Microsoft.Authorization/policyDefinitions/0a914e76-4921-4c19-b460-a2d36003525a\\\"\n    }\n  }\n}\n`),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.management.ManagementFunctions;\nimport com.pulumi.azure.management.inputs.GetGroupArgs;\nimport com.pulumi.azure.management.GroupTemplateDeployment;\nimport com.pulumi.azure.management.GroupTemplateDeploymentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = ManagementFunctions.getGroup(GetGroupArgs.builder()\n            .name(\"00000000-0000-0000-0000-000000000000\")\n            .build());\n\n        var exampleGroupTemplateDeployment = new GroupTemplateDeployment(\"exampleGroupTemplateDeployment\", GroupTemplateDeploymentArgs.builder()\n            .name(\"example\")\n            .location(\"West Europe\")\n            .managementGroupId(example.id())\n            .templateContent(\"\"\"\n{\n  \\\"$schema\\\": \\\"https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#\\\",\n  \\\"contentVersion\\\": \\\"1.0.0.0\\\",\n  \\\"parameters\\\": {\n    \\\"policyAssignmentName\\\": {\n      \\\"type\\\": \\\"string\\\",\n      \\\"defaultValue\\\": \\\"[guid(parameters('policyDefinitionID'), resourceGroup().name)]\\\",\n      \\\"metadata\\\": {\n        \\\"description\\\": \\\"Specifies the name of the policy assignment, can be used defined or an idempotent name as the defaultValue provides.\\\"\n      }\n    },\n    \\\"policyDefinitionID\\\": {\n      \\\"type\\\": \\\"string\\\",\n      \\\"metadata\\\": {\n        \\\"description\\\": \\\"Specifies the ID of the policy definition or policy set definition being assigned.\\\"\n      }\n    }\n  },\n  \\\"resources\\\": [\n    {\n      \\\"type\\\": \\\"Microsoft.Authorization/policyAssignments\\\",\n      \\\"name\\\": \\\"[parameters('policyAssignmentName')]\\\",\n      \\\"apiVersion\\\": \\\"2019-09-01\\\",\n      \\\"properties\\\": {\n        \\\"scope\\\": \\\"[subscriptionResourceId('Microsoft.Resources/resourceGroups', resourceGroup().name)]\\\",\n        \\\"policyDefinitionId\\\": \\\"[parameters('policyDefinitionID')]\\\"\n      }\n    }\n  ]\n}\n            \"\"\")\n            .parametersContent(\"\"\"\n{\n  \\\"$schema\\\": \\\"https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#\\\",\n  \\\"contentVersion\\\": \\\"1.0.0.0\\\",\n  \\\"parameters\\\": {\n    \\\"policyDefinitionID\\\": {\n      \\\"value\\\": \\\"/providers/Microsoft.Authorization/policyDefinitions/0a914e76-4921-4c19-b460-a2d36003525a\\\"\n    }\n  }\n}\n            \"\"\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleGroupTemplateDeployment:\n    type: azure:management:GroupTemplateDeployment\n    name: example\n    properties:\n      name: example\n      location: West Europe\n      managementGroupId: ${example.id}\n      templateContent: |\n        {\n          \\\"$schema\\\": \\\"https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#\\\",\n          \\\"contentVersion\\\": \\\"1.0.0.0\\\",\n          \\\"parameters\\\": {\n            \\\"policyAssignmentName\\\": {\n              \\\"type\\\": \\\"string\\\",\n              \\\"defaultValue\\\": \\\"[guid(parameters('policyDefinitionID'), resourceGroup().name)]\\\",\n              \\\"metadata\\\": {\n                \\\"description\\\": \\\"Specifies the name of the policy assignment, can be used defined or an idempotent name as the defaultValue provides.\\\"\n              }\n            },\n            \\\"policyDefinitionID\\\": {\n              \\\"type\\\": \\\"string\\\",\n              \\\"metadata\\\": {\n                \\\"description\\\": \\\"Specifies the ID of the policy definition or policy set definition being assigned.\\\"\n              }\n            }\n          },\n          \\\"resources\\\": [\n            {\n              \\\"type\\\": \\\"Microsoft.Authorization/policyAssignments\\\",\n              \\\"name\\\": \\\"[parameters('policyAssignmentName')]\\\",\n              \\\"apiVersion\\\": \\\"2019-09-01\\\",\n              \\\"properties\\\": {\n                \\\"scope\\\": \\\"[subscriptionResourceId('Microsoft.Resources/resourceGroups', resourceGroup().name)]\\\",\n                \\\"policyDefinitionId\\\": \\\"[parameters('policyDefinitionID')]\\\"\n              }\n            }\n          ]\n        }\n      parametersContent: |\n        {\n          \\\"$schema\\\": \\\"https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#\\\",\n          \\\"contentVersion\\\": \\\"1.0.0.0\\\",\n          \\\"parameters\\\": {\n            \\\"policyDefinitionID\\\": {\n              \\\"value\\\": \\\"/providers/Microsoft.Authorization/policyDefinitions/0a914e76-4921-4c19-b460-a2d36003525a\\\"\n            }\n          }\n        }\nvariables:\n  example:\n    fn::invoke:\n      function: azure:management:getGroup\n      arguments:\n        name: 00000000-0000-0000-0000-000000000000\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\nimport * as std from \"@pulumi/std\";\n\nconst example = azure.management.getGroup({\n    name: \"00000000-0000-0000-0000-000000000000\",\n});\nconst exampleGroupTemplateDeployment = new azure.management.GroupTemplateDeployment(\"example\", {\n    name: \"example\",\n    location: \"West Europe\",\n    managementGroupId: example.then(example =\u003e example.id),\n    templateContent: std.file({\n        input: \"templates/example-deploy-template.json\",\n    }).then(invoke =\u003e invoke.result),\n    parametersContent: std.file({\n        input: \"templates/example-deploy-params.json\",\n    }).then(invoke =\u003e invoke.result),\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\nimport pulumi_std as std\n\nexample = azure.management.get_group(name=\"00000000-0000-0000-0000-000000000000\")\nexample_group_template_deployment = azure.management.GroupTemplateDeployment(\"example\",\n    name=\"example\",\n    location=\"West Europe\",\n    management_group_id=example.id,\n    template_content=std.file(input=\"templates/example-deploy-template.json\").result,\n    parameters_content=std.file(input=\"templates/example-deploy-params.json\").result)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Management.GetGroup.Invoke(new()\n    {\n        Name = \"00000000-0000-0000-0000-000000000000\",\n    });\n\n    var exampleGroupTemplateDeployment = new Azure.Management.GroupTemplateDeployment(\"example\", new()\n    {\n        Name = \"example\",\n        Location = \"West Europe\",\n        ManagementGroupId = example.Apply(getGroupResult =\u003e getGroupResult.Id),\n        TemplateContent = Std.File.Invoke(new()\n        {\n            Input = \"templates/example-deploy-template.json\",\n        }).Apply(invoke =\u003e invoke.Result),\n        ParametersContent = Std.File.Invoke(new()\n        {\n            Input = \"templates/example-deploy-params.json\",\n        }).Apply(invoke =\u003e invoke.Result),\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/management\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := management.LookupGroup(ctx, \u0026management.LookupGroupArgs{\n\t\t\tName: pulumi.StringRef(\"00000000-0000-0000-0000-000000000000\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"templates/example-deploy-template.json\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFile1, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"templates/example-deploy-params.json\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = management.NewGroupTemplateDeployment(ctx, \"example\", \u0026management.GroupTemplateDeploymentArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tLocation:          pulumi.String(\"West Europe\"),\n\t\t\tManagementGroupId: pulumi.String(example.Id),\n\t\t\tTemplateContent:   pulumi.String(invokeFile.Result),\n\t\t\tParametersContent: pulumi.String(invokeFile1.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.management.ManagementFunctions;\nimport com.pulumi.azure.management.inputs.GetGroupArgs;\nimport com.pulumi.azure.management.GroupTemplateDeployment;\nimport com.pulumi.azure.management.GroupTemplateDeploymentArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.FileArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = ManagementFunctions.getGroup(GetGroupArgs.builder()\n            .name(\"00000000-0000-0000-0000-000000000000\")\n            .build());\n\n        var exampleGroupTemplateDeployment = new GroupTemplateDeployment(\"exampleGroupTemplateDeployment\", GroupTemplateDeploymentArgs.builder()\n            .name(\"example\")\n            .location(\"West Europe\")\n            .managementGroupId(example.id())\n            .templateContent(StdFunctions.file(FileArgs.builder()\n                .input(\"templates/example-deploy-template.json\")\n                .build()).result())\n            .parametersContent(StdFunctions.file(FileArgs.builder()\n                .input(\"templates/example-deploy-params.json\")\n                .build()).result())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleGroupTemplateDeployment:\n    type: azure:management:GroupTemplateDeployment\n    name: example\n    properties:\n      name: example\n      location: West Europe\n      managementGroupId: ${example.id}\n      templateContent:\n        fn::invoke:\n          function: std:file\n          arguments:\n            input: templates/example-deploy-template.json\n          return: result\n      parametersContent:\n        fn::invoke:\n          function: std:file\n          arguments:\n            input: templates/example-deploy-params.json\n          return: result\nvariables:\n  example:\n    fn::invoke:\n      function: azure:management:getGroup\n      arguments:\n        name: 00000000-0000-0000-0000-000000000000\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.management.getGroup({\n    name: \"00000000-0000-0000-0000-000000000000\",\n});\nconst exampleGetTemplateSpecVersion = azure.core.getTemplateSpecVersion({\n    name: \"exampleTemplateForManagementGroup\",\n    resourceGroupName: \"exampleResourceGroup\",\n    version: \"v1.0.9\",\n});\nconst exampleGroupTemplateDeployment = new azure.management.GroupTemplateDeployment(\"example\", {\n    name: \"example\",\n    location: \"West Europe\",\n    managementGroupId: example.then(example =\u003e example.id),\n    templateSpecVersionId: exampleGetTemplateSpecVersion.then(exampleGetTemplateSpecVersion =\u003e exampleGetTemplateSpecVersion.id),\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.management.get_group(name=\"00000000-0000-0000-0000-000000000000\")\nexample_get_template_spec_version = azure.core.get_template_spec_version(name=\"exampleTemplateForManagementGroup\",\n    resource_group_name=\"exampleResourceGroup\",\n    version=\"v1.0.9\")\nexample_group_template_deployment = azure.management.GroupTemplateDeployment(\"example\",\n    name=\"example\",\n    location=\"West Europe\",\n    management_group_id=example.id,\n    template_spec_version_id=example_get_template_spec_version.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Management.GetGroup.Invoke(new()\n    {\n        Name = \"00000000-0000-0000-0000-000000000000\",\n    });\n\n    var exampleGetTemplateSpecVersion = Azure.Core.GetTemplateSpecVersion.Invoke(new()\n    {\n        Name = \"exampleTemplateForManagementGroup\",\n        ResourceGroupName = \"exampleResourceGroup\",\n        Version = \"v1.0.9\",\n    });\n\n    var exampleGroupTemplateDeployment = new Azure.Management.GroupTemplateDeployment(\"example\", new()\n    {\n        Name = \"example\",\n        Location = \"West Europe\",\n        ManagementGroupId = example.Apply(getGroupResult =\u003e getGroupResult.Id),\n        TemplateSpecVersionId = exampleGetTemplateSpecVersion.Apply(getTemplateSpecVersionResult =\u003e getTemplateSpecVersionResult.Id),\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/management\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := management.LookupGroup(ctx, \u0026management.LookupGroupArgs{\n\t\t\tName: pulumi.StringRef(\"00000000-0000-0000-0000-000000000000\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleGetTemplateSpecVersion, err := core.GetTemplateSpecVersion(ctx, \u0026core.GetTemplateSpecVersionArgs{\n\t\t\tName:              \"exampleTemplateForManagementGroup\",\n\t\t\tResourceGroupName: \"exampleResourceGroup\",\n\t\t\tVersion:           \"v1.0.9\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = management.NewGroupTemplateDeployment(ctx, \"example\", \u0026management.GroupTemplateDeploymentArgs{\n\t\t\tName:                  pulumi.String(\"example\"),\n\t\t\tLocation:              pulumi.String(\"West Europe\"),\n\t\t\tManagementGroupId:     pulumi.String(example.Id),\n\t\t\tTemplateSpecVersionId: pulumi.String(exampleGetTemplateSpecVersion.Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.management.ManagementFunctions;\nimport com.pulumi.azure.management.inputs.GetGroupArgs;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.core.inputs.GetTemplateSpecVersionArgs;\nimport com.pulumi.azure.management.GroupTemplateDeployment;\nimport com.pulumi.azure.management.GroupTemplateDeploymentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = ManagementFunctions.getGroup(GetGroupArgs.builder()\n            .name(\"00000000-0000-0000-0000-000000000000\")\n            .build());\n\n        final var exampleGetTemplateSpecVersion = CoreFunctions.getTemplateSpecVersion(GetTemplateSpecVersionArgs.builder()\n            .name(\"exampleTemplateForManagementGroup\")\n            .resourceGroupName(\"exampleResourceGroup\")\n            .version(\"v1.0.9\")\n            .build());\n\n        var exampleGroupTemplateDeployment = new GroupTemplateDeployment(\"exampleGroupTemplateDeployment\", GroupTemplateDeploymentArgs.builder()\n            .name(\"example\")\n            .location(\"West Europe\")\n            .managementGroupId(example.id())\n            .templateSpecVersionId(exampleGetTemplateSpecVersion.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleGroupTemplateDeployment:\n    type: azure:management:GroupTemplateDeployment\n    name: example\n    properties:\n      name: example\n      location: West Europe\n      managementGroupId: ${example.id}\n      templateSpecVersionId: ${exampleGetTemplateSpecVersion.id}\nvariables:\n  example:\n    fn::invoke:\n      function: azure:management:getGroup\n      arguments:\n        name: 00000000-0000-0000-0000-000000000000\n  exampleGetTemplateSpecVersion:\n    fn::invoke:\n      function: azure:core:getTemplateSpecVersion\n      arguments:\n        name: exampleTemplateForManagementGroup\n        resourceGroupName: exampleResourceGroup\n        version: v1.0.9\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nManagement Group Template Deployments can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:management/groupTemplateDeployment:GroupTemplateDeployment example /providers/Microsoft.Management/managementGroups/my-management-group-id/providers/Microsoft.Resources/deployments/deploy1\n```\n\n","properties":{"debugLevel":{"type":"string","description":"The Debug Level which should be used for this Resource Group Template Deployment. Possible values are \u003cspan pulumi-lang-nodejs=\"`none`\" pulumi-lang-dotnet=\"`None`\" pulumi-lang-go=\"`none`\" pulumi-lang-python=\"`none`\" pulumi-lang-yaml=\"`none`\" pulumi-lang-java=\"`none`\"\u003e`none`\u003c/span\u003e, `requestContent`, `responseContent` and `requestContent, responseContent`.\n"},"location":{"type":"string","description":"The Azure Region where the Template should exist. Changing this forces a new Template to be created.\n"},"managementGroupId":{"type":"string","description":"The ID of the Management Group to apply the Deployment Template to. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"The name which should be used for this Template Deployment. Changing this forces a new Template Deployment to be created.\n"},"outputContent":{"type":"string","description":"The JSON Content of the Outputs of the ARM Template Deployment.\n"},"parametersContent":{"type":"string","description":"The contents of the ARM Template parameters file - containing a JSON list of parameters.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Template.\n"},"templateContent":{"type":"string","description":"The contents of the ARM Template which should be deployed into this Resource Group. Cannot be specified with \u003cspan pulumi-lang-nodejs=\"`templateSpecVersionId`\" pulumi-lang-dotnet=\"`TemplateSpecVersionId`\" pulumi-lang-go=\"`templateSpecVersionId`\" pulumi-lang-python=\"`template_spec_version_id`\" pulumi-lang-yaml=\"`templateSpecVersionId`\" pulumi-lang-java=\"`templateSpecVersionId`\"\u003e`template_spec_version_id`\u003c/span\u003e.\n"},"templateSpecVersionId":{"type":"string","description":"The ID of the Template Spec Version to deploy. Cannot be specified with \u003cspan pulumi-lang-nodejs=\"`templateContent`\" pulumi-lang-dotnet=\"`TemplateContent`\" pulumi-lang-go=\"`templateContent`\" pulumi-lang-python=\"`template_content`\" pulumi-lang-yaml=\"`templateContent`\" pulumi-lang-java=\"`templateContent`\"\u003e`template_content`\u003c/span\u003e.\n"}},"required":["location","managementGroupId","name","outputContent","parametersContent","templateContent"],"inputProperties":{"debugLevel":{"type":"string","description":"The Debug Level which should be used for this Resource Group Template Deployment. Possible values are \u003cspan pulumi-lang-nodejs=\"`none`\" pulumi-lang-dotnet=\"`None`\" pulumi-lang-go=\"`none`\" pulumi-lang-python=\"`none`\" pulumi-lang-yaml=\"`none`\" pulumi-lang-java=\"`none`\"\u003e`none`\u003c/span\u003e, `requestContent`, `responseContent` and `requestContent, responseContent`.\n"},"location":{"type":"string","description":"The Azure Region where the Template should exist. Changing this forces a new Template to be created.\n","willReplaceOnChanges":true},"managementGroupId":{"type":"string","description":"The ID of the Management Group to apply the Deployment Template to. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Template Deployment. Changing this forces a new Template Deployment to be created.\n","willReplaceOnChanges":true},"parametersContent":{"type":"string","description":"The contents of the ARM Template parameters file - containing a JSON list of parameters.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Template.\n"},"templateContent":{"type":"string","description":"The contents of the ARM Template which should be deployed into this Resource Group. Cannot be specified with \u003cspan pulumi-lang-nodejs=\"`templateSpecVersionId`\" pulumi-lang-dotnet=\"`TemplateSpecVersionId`\" pulumi-lang-go=\"`templateSpecVersionId`\" pulumi-lang-python=\"`template_spec_version_id`\" pulumi-lang-yaml=\"`templateSpecVersionId`\" pulumi-lang-java=\"`templateSpecVersionId`\"\u003e`template_spec_version_id`\u003c/span\u003e.\n"},"templateSpecVersionId":{"type":"string","description":"The ID of the Template Spec Version to deploy. Cannot be specified with \u003cspan pulumi-lang-nodejs=\"`templateContent`\" pulumi-lang-dotnet=\"`TemplateContent`\" pulumi-lang-go=\"`templateContent`\" pulumi-lang-python=\"`template_content`\" pulumi-lang-yaml=\"`templateContent`\" pulumi-lang-java=\"`templateContent`\"\u003e`template_content`\u003c/span\u003e.\n"}},"requiredInputs":["managementGroupId"],"stateInputs":{"description":"Input properties used for looking up and filtering GroupTemplateDeployment resources.\n","properties":{"debugLevel":{"type":"string","description":"The Debug Level which should be used for this Resource Group Template Deployment. Possible values are \u003cspan pulumi-lang-nodejs=\"`none`\" pulumi-lang-dotnet=\"`None`\" pulumi-lang-go=\"`none`\" pulumi-lang-python=\"`none`\" pulumi-lang-yaml=\"`none`\" pulumi-lang-java=\"`none`\"\u003e`none`\u003c/span\u003e, `requestContent`, `responseContent` and `requestContent, responseContent`.\n"},"location":{"type":"string","description":"The Azure Region where the Template should exist. Changing this forces a new Template to be created.\n","willReplaceOnChanges":true},"managementGroupId":{"type":"string","description":"The ID of the Management Group to apply the Deployment Template to. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Template Deployment. Changing this forces a new Template Deployment to be created.\n","willReplaceOnChanges":true},"outputContent":{"type":"string","description":"The JSON Content of the Outputs of the ARM Template Deployment.\n"},"parametersContent":{"type":"string","description":"The contents of the ARM Template parameters file - containing a JSON list of parameters.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Template.\n"},"templateContent":{"type":"string","description":"The contents of the ARM Template which should be deployed into this Resource Group. Cannot be specified with \u003cspan pulumi-lang-nodejs=\"`templateSpecVersionId`\" pulumi-lang-dotnet=\"`TemplateSpecVersionId`\" pulumi-lang-go=\"`templateSpecVersionId`\" pulumi-lang-python=\"`template_spec_version_id`\" pulumi-lang-yaml=\"`templateSpecVersionId`\" pulumi-lang-java=\"`templateSpecVersionId`\"\u003e`template_spec_version_id`\u003c/span\u003e.\n"},"templateSpecVersionId":{"type":"string","description":"The ID of the Template Spec Version to deploy. Cannot be specified with \u003cspan pulumi-lang-nodejs=\"`templateContent`\" pulumi-lang-dotnet=\"`TemplateContent`\" pulumi-lang-go=\"`templateContent`\" pulumi-lang-python=\"`template_content`\" pulumi-lang-yaml=\"`templateContent`\" pulumi-lang-java=\"`templateContent`\"\u003e`template_content`\u003c/span\u003e.\n"}},"type":"object"}},"azure:management/lock:Lock":{"description":"Manages a Management Lock which is scoped to a Subscription, Resource Group or Resource.\n\n## Example Usage\n\n### Subscription Level Lock)\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst current = azure.core.getSubscription({});\nconst subscription_level = new azure.management.Lock(\"subscription-level\", {\n    name: \"subscription-level\",\n    scope: current.then(current =\u003e current.id),\n    lockLevel: \"CanNotDelete\",\n    notes: \"Items can't be deleted in this subscription!\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\ncurrent = azure.core.get_subscription()\nsubscription_level = azure.management.Lock(\"subscription-level\",\n    name=\"subscription-level\",\n    scope=current.id,\n    lock_level=\"CanNotDelete\",\n    notes=\"Items can't be deleted in this subscription!\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var current = Azure.Core.GetSubscription.Invoke();\n\n    var subscription_level = new Azure.Management.Lock(\"subscription-level\", new()\n    {\n        Name = \"subscription-level\",\n        Scope = current.Apply(getSubscriptionResult =\u003e getSubscriptionResult.Id),\n        LockLevel = \"CanNotDelete\",\n        Notes = \"Items can't be deleted in this subscription!\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/management\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := core.LookupSubscription(ctx, \u0026core.LookupSubscriptionArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = management.NewLock(ctx, \"subscription-level\", \u0026management.LockArgs{\n\t\t\tName:      pulumi.String(\"subscription-level\"),\n\t\t\tScope:     pulumi.String(current.Id),\n\t\t\tLockLevel: pulumi.String(\"CanNotDelete\"),\n\t\t\tNotes:     pulumi.String(\"Items can't be deleted in this subscription!\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.core.inputs.GetSubscriptionArgs;\nimport com.pulumi.azure.management.Lock;\nimport com.pulumi.azure.management.LockArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var current = CoreFunctions.getSubscription(GetSubscriptionArgs.builder()\n            .build());\n\n        var subscription_level = new Lock(\"subscription-level\", LockArgs.builder()\n            .name(\"subscription-level\")\n            .scope(current.id())\n            .lockLevel(\"CanNotDelete\")\n            .notes(\"Items can't be deleted in this subscription!\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  subscription-level:\n    type: azure:management:Lock\n    properties:\n      name: subscription-level\n      scope: ${current.id}\n      lockLevel: CanNotDelete\n      notes: Items can't be deleted in this subscription!\nvariables:\n  current:\n    fn::invoke:\n      function: azure:core:getSubscription\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\n### Resource Group Level Lock)\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"locked-resource-group\",\n    location: \"West Europe\",\n});\nconst resource_group_level = new azure.management.Lock(\"resource-group-level\", {\n    name: \"resource-group-level\",\n    scope: example.id,\n    lockLevel: \"ReadOnly\",\n    notes: \"This Resource Group is Read-Only\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"locked-resource-group\",\n    location=\"West Europe\")\nresource_group_level = azure.management.Lock(\"resource-group-level\",\n    name=\"resource-group-level\",\n    scope=example.id,\n    lock_level=\"ReadOnly\",\n    notes=\"This Resource Group is Read-Only\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"locked-resource-group\",\n        Location = \"West Europe\",\n    });\n\n    var resource_group_level = new Azure.Management.Lock(\"resource-group-level\", new()\n    {\n        Name = \"resource-group-level\",\n        Scope = example.Id,\n        LockLevel = \"ReadOnly\",\n        Notes = \"This Resource Group is Read-Only\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/management\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"locked-resource-group\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = management.NewLock(ctx, \"resource-group-level\", \u0026management.LockArgs{\n\t\t\tName:      pulumi.String(\"resource-group-level\"),\n\t\t\tScope:     example.ID(),\n\t\t\tLockLevel: pulumi.String(\"ReadOnly\"),\n\t\t\tNotes:     pulumi.String(\"This Resource Group is Read-Only\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.management.Lock;\nimport com.pulumi.azure.management.LockArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"locked-resource-group\")\n            .location(\"West Europe\")\n            .build());\n\n        var resource_group_level = new Lock(\"resource-group-level\", LockArgs.builder()\n            .name(\"resource-group-level\")\n            .scope(example.id())\n            .lockLevel(\"ReadOnly\")\n            .notes(\"This Resource Group is Read-Only\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: locked-resource-group\n      location: West Europe\n  resource-group-level:\n    type: azure:management:Lock\n    properties:\n      name: resource-group-level\n      scope: ${example.id}\n      lockLevel: ReadOnly\n      notes: This Resource Group is Read-Only\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\n### Resource Level Lock)\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"locked-resource-group\",\n    location: \"West Europe\",\n});\nconst examplePublicIp = new azure.network.PublicIp(\"example\", {\n    name: \"locked-publicip\",\n    location: example.location,\n    resourceGroupName: example.name,\n    allocationMethod: \"Static\",\n    idleTimeoutInMinutes: 30,\n});\nconst public_ip = new azure.management.Lock(\"public-ip\", {\n    name: \"resource-ip\",\n    scope: examplePublicIp.id,\n    lockLevel: \"CanNotDelete\",\n    notes: \"Locked because it's needed by a third-party\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"locked-resource-group\",\n    location=\"West Europe\")\nexample_public_ip = azure.network.PublicIp(\"example\",\n    name=\"locked-publicip\",\n    location=example.location,\n    resource_group_name=example.name,\n    allocation_method=\"Static\",\n    idle_timeout_in_minutes=30)\npublic_ip = azure.management.Lock(\"public-ip\",\n    name=\"resource-ip\",\n    scope=example_public_ip.id,\n    lock_level=\"CanNotDelete\",\n    notes=\"Locked because it's needed by a third-party\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"locked-resource-group\",\n        Location = \"West Europe\",\n    });\n\n    var examplePublicIp = new Azure.Network.PublicIp(\"example\", new()\n    {\n        Name = \"locked-publicip\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        AllocationMethod = \"Static\",\n        IdleTimeoutInMinutes = 30,\n    });\n\n    var public_ip = new Azure.Management.Lock(\"public-ip\", new()\n    {\n        Name = \"resource-ip\",\n        Scope = examplePublicIp.Id,\n        LockLevel = \"CanNotDelete\",\n        Notes = \"Locked because it's needed by a third-party\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/management\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"locked-resource-group\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texamplePublicIp, err := network.NewPublicIp(ctx, \"example\", \u0026network.PublicIpArgs{\n\t\t\tName:                 pulumi.String(\"locked-publicip\"),\n\t\t\tLocation:             example.Location,\n\t\t\tResourceGroupName:    example.Name,\n\t\t\tAllocationMethod:     pulumi.String(\"Static\"),\n\t\t\tIdleTimeoutInMinutes: pulumi.Int(30),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = management.NewLock(ctx, \"public-ip\", \u0026management.LockArgs{\n\t\t\tName:      pulumi.String(\"resource-ip\"),\n\t\t\tScope:     examplePublicIp.ID(),\n\t\t\tLockLevel: pulumi.String(\"CanNotDelete\"),\n\t\t\tNotes:     pulumi.String(\"Locked because it's needed by a third-party\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.PublicIp;\nimport com.pulumi.azure.network.PublicIpArgs;\nimport com.pulumi.azure.management.Lock;\nimport com.pulumi.azure.management.LockArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"locked-resource-group\")\n            .location(\"West Europe\")\n            .build());\n\n        var examplePublicIp = new PublicIp(\"examplePublicIp\", PublicIpArgs.builder()\n            .name(\"locked-publicip\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .allocationMethod(\"Static\")\n            .idleTimeoutInMinutes(30)\n            .build());\n\n        var public_ip = new Lock(\"public-ip\", LockArgs.builder()\n            .name(\"resource-ip\")\n            .scope(examplePublicIp.id())\n            .lockLevel(\"CanNotDelete\")\n            .notes(\"Locked because it's needed by a third-party\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: locked-resource-group\n      location: West Europe\n  examplePublicIp:\n    type: azure:network:PublicIp\n    name: example\n    properties:\n      name: locked-publicip\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      allocationMethod: Static\n      idleTimeoutInMinutes: 30\n  public-ip:\n    type: azure:management:Lock\n    properties:\n      name: resource-ip\n      scope: ${examplePublicIp.id}\n      lockLevel: CanNotDelete\n      notes: Locked because it's needed by a third-party\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Authorization` - 2020-05-01\n\n## Import\n\nManagement Locks can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:management/lock:Lock lock1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Authorization/locks/lock1\n```\n\n","properties":{"lockLevel":{"type":"string","description":"Specifies the Level to be used for this Lock. Possible values are `CanNotDelete` and `ReadOnly`. Changing this forces a new resource to be created.\n\n\u003e **Note:** `CanNotDelete` means authorized users are able to read and modify the resources, but not delete. `ReadOnly` means authorized users can only read from a resource, but they can't modify or delete it.\n"},"name":{"type":"string","description":"Specifies the name of the Management Lock. Changing this forces a new resource to be created.\n"},"notes":{"type":"string","description":"Specifies some notes about the lock. Maximum of 512 characters. Changing this forces a new resource to be created.\n"},"scope":{"type":"string","description":"Specifies the scope at which the Management Lock should be created. Changing this forces a new resource to be created.\n"}},"required":["lockLevel","name","scope"],"inputProperties":{"lockLevel":{"type":"string","description":"Specifies the Level to be used for this Lock. Possible values are `CanNotDelete` and `ReadOnly`. Changing this forces a new resource to be created.\n\n\u003e **Note:** `CanNotDelete` means authorized users are able to read and modify the resources, but not delete. `ReadOnly` means authorized users can only read from a resource, but they can't modify or delete it.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the Management Lock. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"notes":{"type":"string","description":"Specifies some notes about the lock. Maximum of 512 characters. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"scope":{"type":"string","description":"Specifies the scope at which the Management Lock should be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["lockLevel","scope"],"stateInputs":{"description":"Input properties used for looking up and filtering Lock resources.\n","properties":{"lockLevel":{"type":"string","description":"Specifies the Level to be used for this Lock. Possible values are `CanNotDelete` and `ReadOnly`. Changing this forces a new resource to be created.\n\n\u003e **Note:** `CanNotDelete` means authorized users are able to read and modify the resources, but not delete. `ReadOnly` means authorized users can only read from a resource, but they can't modify or delete it.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the Management Lock. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"notes":{"type":"string","description":"Specifies some notes about the lock. Maximum of 512 characters. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"scope":{"type":"string","description":"Specifies the scope at which the Management Lock should be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"},"aliases":[{"type":"azure:managementresource/manangementLock:ManangementLock"}]},"azure:management/privateLink:PrivateLink":{"description":"Manages a Resource Management Private Link to restrict access for managing resources in the tenant.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst examplePrivateLink = new azure.management.PrivateLink(\"example\", {\n    name: \"example\",\n    resourceGroupName: example.name,\n    location: example.location,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_private_link = azure.management.PrivateLink(\"example\",\n    name=\"example\",\n    resource_group_name=example.name,\n    location=example.location)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var examplePrivateLink = new Azure.Management.PrivateLink(\"example\", new()\n    {\n        Name = \"example\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/management\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = management.NewPrivateLink(ctx, \"example\", \u0026management.PrivateLinkArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.management.PrivateLink;\nimport com.pulumi.azure.management.PrivateLinkArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var examplePrivateLink = new PrivateLink(\"examplePrivateLink\", PrivateLinkArgs.builder()\n            .name(\"example\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  examplePrivateLink:\n    type: azure:management:PrivateLink\n    name: example\n    properties:\n      name: example\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Authorization` - 2020-05-01\n\n## Import\n\nAn existing Resource Management Private Link can be imported into Pulumi using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:management/privateLink:PrivateLink example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Authorization/resourceManagementPrivateLinks/link1\n```\n\n","properties":{"location":{"type":"string","description":"The Azure Region where the Resource Management Private Link should exist. Changing this forces a new Resource Management Private Link to be created.\n"},"name":{"type":"string","description":"Specifies the name of this Resource Management Private Link. Changing this forces a new Resource Management Private Link to be created.\n"},"resourceGroupName":{"type":"string","description":"Specifies the name of the Resource Group within which this Resource Management Private Link should exist. Changing this forces a new Resource Management Private Link to be created.\n"}},"required":["location","name","resourceGroupName"],"inputProperties":{"location":{"type":"string","description":"The Azure Region where the Resource Management Private Link should exist. Changing this forces a new Resource Management Private Link to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of this Resource Management Private Link. Changing this forces a new Resource Management Private Link to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"Specifies the name of the Resource Group within which this Resource Management Private Link should exist. Changing this forces a new Resource Management Private Link to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering PrivateLink resources.\n","properties":{"location":{"type":"string","description":"The Azure Region where the Resource Management Private Link should exist. Changing this forces a new Resource Management Private Link to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of this Resource Management Private Link. Changing this forces a new Resource Management Private Link to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"Specifies the name of the Resource Group within which this Resource Management Private Link should exist. Changing this forces a new Resource Management Private Link to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:management/privateLinkAssociation:PrivateLinkAssociation":{"description":"Manages a Resource Management Private Link Association.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\nimport * as random from \"@pulumi/random\";\n\nconst example = azure.core.getClientConfig({});\nconst exampleGetGroup = example.then(example =\u003e azure.management.getGroup({\n    name: example.tenantId,\n}));\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"example\", {\n    name: \"example\",\n    location: \"West Europe\",\n});\nconst examplePrivateLink = new azure.management.PrivateLink(\"example\", {\n    name: \"example\",\n    resourceGroupName: exampleResourceGroup.name,\n    location: exampleResourceGroup.location,\n});\nconst exampleUuid = new random.index.Uuid(\"example\", {});\nconst examplePrivateLinkAssociation = new azure.management.PrivateLinkAssociation(\"example\", {\n    name: exampleUuid.result,\n    managementGroupId: exampleAzurermManagementGroup.id,\n    resourceManagementPrivateLinkId: examplePrivateLink.id,\n    publicNetworkAccessEnabled: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\nimport pulumi_random as random\n\nexample = azure.core.get_client_config()\nexample_get_group = azure.management.get_group(name=example.tenant_id)\nexample_resource_group = azure.core.ResourceGroup(\"example\",\n    name=\"example\",\n    location=\"West Europe\")\nexample_private_link = azure.management.PrivateLink(\"example\",\n    name=\"example\",\n    resource_group_name=example_resource_group.name,\n    location=example_resource_group.location)\nexample_uuid = random.index.Uuid(\"example\")\nexample_private_link_association = azure.management.PrivateLinkAssociation(\"example\",\n    name=example_uuid[\"result\"],\n    management_group_id=example_azurerm_management_group[\"id\"],\n    resource_management_private_link_id=example_private_link.id,\n    public_network_access_enabled=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Core.GetClientConfig.Invoke();\n\n    var exampleGetGroup = Azure.Management.GetGroup.Invoke(new()\n    {\n        Name = example.Apply(getClientConfigResult =\u003e getClientConfigResult.TenantId),\n    });\n\n    var exampleResourceGroup = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example\",\n        Location = \"West Europe\",\n    });\n\n    var examplePrivateLink = new Azure.Management.PrivateLink(\"example\", new()\n    {\n        Name = \"example\",\n        ResourceGroupName = exampleResourceGroup.Name,\n        Location = exampleResourceGroup.Location,\n    });\n\n    var exampleUuid = new Random.Index.Uuid(\"example\");\n\n    var examplePrivateLinkAssociation = new Azure.Management.PrivateLinkAssociation(\"example\", new()\n    {\n        Name = exampleUuid.Result,\n        ManagementGroupId = exampleAzurermManagementGroup.Id,\n        ResourceManagementPrivateLinkId = examplePrivateLink.Id,\n        PublicNetworkAccessEnabled = true,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/management\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.GetClientConfig(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = management.LookupGroup(ctx, \u0026management.LookupGroupArgs{\n\t\t\tName: pulumi.StringRef(example.TenantId),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texamplePrivateLink, err := management.NewPrivateLink(ctx, \"example\", \u0026management.PrivateLinkArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tLocation:          exampleResourceGroup.Location,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleUuid, err := random.NewUuid(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = management.NewPrivateLinkAssociation(ctx, \"example\", \u0026management.PrivateLinkAssociationArgs{\n\t\t\tName:                            exampleUuid.Result,\n\t\t\tManagementGroupId:               pulumi.Any(exampleAzurermManagementGroup.Id),\n\t\t\tResourceManagementPrivateLinkId: examplePrivateLink.ID(),\n\t\t\tPublicNetworkAccessEnabled:      pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.management.ManagementFunctions;\nimport com.pulumi.azure.management.inputs.GetGroupArgs;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.management.PrivateLink;\nimport com.pulumi.azure.management.PrivateLinkArgs;\nimport com.pulumi.random.Uuid;\nimport com.pulumi.azure.management.PrivateLinkAssociation;\nimport com.pulumi.azure.management.PrivateLinkAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = CoreFunctions.getClientConfig(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n        final var exampleGetGroup = ManagementFunctions.getGroup(GetGroupArgs.builder()\n            .name(example.tenantId())\n            .build());\n\n        var exampleResourceGroup = new ResourceGroup(\"exampleResourceGroup\", ResourceGroupArgs.builder()\n            .name(\"example\")\n            .location(\"West Europe\")\n            .build());\n\n        var examplePrivateLink = new PrivateLink(\"examplePrivateLink\", PrivateLinkArgs.builder()\n            .name(\"example\")\n            .resourceGroupName(exampleResourceGroup.name())\n            .location(exampleResourceGroup.location())\n            .build());\n\n        var exampleUuid = new Uuid(\"exampleUuid\");\n\n        var examplePrivateLinkAssociation = new PrivateLinkAssociation(\"examplePrivateLinkAssociation\", PrivateLinkAssociationArgs.builder()\n            .name(exampleUuid.result())\n            .managementGroupId(exampleAzurermManagementGroup.id())\n            .resourceManagementPrivateLinkId(examplePrivateLink.id())\n            .publicNetworkAccessEnabled(true)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleResourceGroup:\n    type: azure:core:ResourceGroup\n    name: example\n    properties:\n      name: example\n      location: West Europe\n  examplePrivateLink:\n    type: azure:management:PrivateLink\n    name: example\n    properties:\n      name: example\n      resourceGroupName: ${exampleResourceGroup.name}\n      location: ${exampleResourceGroup.location}\n  exampleUuid:\n    type: random:Uuid\n    name: example\n  examplePrivateLinkAssociation:\n    type: azure:management:PrivateLinkAssociation\n    name: example\n    properties:\n      name: ${exampleUuid.result}\n      managementGroupId: ${exampleAzurermManagementGroup.id}\n      resourceManagementPrivateLinkId: ${examplePrivateLink.id}\n      publicNetworkAccessEnabled: true\nvariables:\n  example:\n    fn::invoke:\n      function: azure:core:getClientConfig\n      arguments: {}\n  exampleGetGroup:\n    fn::invoke:\n      function: azure:management:getGroup\n      arguments:\n        name: ${example.tenantId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Management` - 2020-05-01\n\n## Import\n\nAn existing Private Link Association can be imported into Pulumi using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:management/privateLinkAssociation:PrivateLinkAssociation example /providers/Microsoft.Management/managementGroups/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/privateLinkAssociations/00000000-0000-0000-0000-000000000000\n```\n\n","properties":{"managementGroupId":{"type":"string","description":"Specifies the Management Group ID within which this Private Link Association should exist. Changing this forces a new Private Link Association to be created.\n\n\u003e **Note:** For now, \u003cspan pulumi-lang-nodejs=\"`managementGroupId`\" pulumi-lang-dotnet=\"`ManagementGroupId`\" pulumi-lang-go=\"`managementGroupId`\" pulumi-lang-python=\"`management_group_id`\" pulumi-lang-yaml=\"`managementGroupId`\" pulumi-lang-java=\"`managementGroupId`\"\u003e`management_group_id`\u003c/span\u003e must be the ID of [Root Management Group](https://learn.microsoft.com/en-us/azure/governance/management-groups/overview#root-management-group-for-each-directory).\n"},"name":{"type":"string","description":"Specifies the name of this Private Link Association, which should be a UUID. If \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e is not provided, a UUID will be generated, you should use the \u003cspan pulumi-lang-nodejs=\"`ignoreChanges`\" pulumi-lang-dotnet=\"`IgnoreChanges`\" pulumi-lang-go=\"`ignoreChanges`\" pulumi-lang-python=\"`ignore_changes`\" pulumi-lang-yaml=\"`ignoreChanges`\" pulumi-lang-java=\"`ignoreChanges`\"\u003e`ignore_changes`\u003c/span\u003e attribute to ignore changes to this field. Changing this forces a new Private Link Association to be created.\n"},"publicNetworkAccessEnabled":{"type":"boolean","description":"Whether public network access is allowed. Changing this forces a new Private Link Association to be created.\n"},"resourceManagementPrivateLinkId":{"type":"string","description":"The Resource ID of Resource Management Private Link. Changing this forces a new Private Link Association to be created.\n"},"tenantId":{"type":"string","description":"The Tenant ID.\n"}},"required":["managementGroupId","name","publicNetworkAccessEnabled","resourceManagementPrivateLinkId","tenantId"],"inputProperties":{"managementGroupId":{"type":"string","description":"Specifies the Management Group ID within which this Private Link Association should exist. Changing this forces a new Private Link Association to be created.\n\n\u003e **Note:** For now, \u003cspan pulumi-lang-nodejs=\"`managementGroupId`\" pulumi-lang-dotnet=\"`ManagementGroupId`\" pulumi-lang-go=\"`managementGroupId`\" pulumi-lang-python=\"`management_group_id`\" pulumi-lang-yaml=\"`managementGroupId`\" pulumi-lang-java=\"`managementGroupId`\"\u003e`management_group_id`\u003c/span\u003e must be the ID of [Root Management Group](https://learn.microsoft.com/en-us/azure/governance/management-groups/overview#root-management-group-for-each-directory).\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of this Private Link Association, which should be a UUID. If \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e is not provided, a UUID will be generated, you should use the \u003cspan pulumi-lang-nodejs=\"`ignoreChanges`\" pulumi-lang-dotnet=\"`IgnoreChanges`\" pulumi-lang-go=\"`ignoreChanges`\" pulumi-lang-python=\"`ignore_changes`\" pulumi-lang-yaml=\"`ignoreChanges`\" pulumi-lang-java=\"`ignoreChanges`\"\u003e`ignore_changes`\u003c/span\u003e attribute to ignore changes to this field. Changing this forces a new Private Link Association to be created.\n","willReplaceOnChanges":true},"publicNetworkAccessEnabled":{"type":"boolean","description":"Whether public network access is allowed. Changing this forces a new Private Link Association to be created.\n","willReplaceOnChanges":true},"resourceManagementPrivateLinkId":{"type":"string","description":"The Resource ID of Resource Management Private Link. Changing this forces a new Private Link Association to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["managementGroupId","publicNetworkAccessEnabled","resourceManagementPrivateLinkId"],"stateInputs":{"description":"Input properties used for looking up and filtering PrivateLinkAssociation resources.\n","properties":{"managementGroupId":{"type":"string","description":"Specifies the Management Group ID within which this Private Link Association should exist. Changing this forces a new Private Link Association to be created.\n\n\u003e **Note:** For now, \u003cspan pulumi-lang-nodejs=\"`managementGroupId`\" pulumi-lang-dotnet=\"`ManagementGroupId`\" pulumi-lang-go=\"`managementGroupId`\" pulumi-lang-python=\"`management_group_id`\" pulumi-lang-yaml=\"`managementGroupId`\" pulumi-lang-java=\"`managementGroupId`\"\u003e`management_group_id`\u003c/span\u003e must be the ID of [Root Management Group](https://learn.microsoft.com/en-us/azure/governance/management-groups/overview#root-management-group-for-each-directory).\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of this Private Link Association, which should be a UUID. If \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e is not provided, a UUID will be generated, you should use the \u003cspan pulumi-lang-nodejs=\"`ignoreChanges`\" pulumi-lang-dotnet=\"`IgnoreChanges`\" pulumi-lang-go=\"`ignoreChanges`\" pulumi-lang-python=\"`ignore_changes`\" pulumi-lang-yaml=\"`ignoreChanges`\" pulumi-lang-java=\"`ignoreChanges`\"\u003e`ignore_changes`\u003c/span\u003e attribute to ignore changes to this field. Changing this forces a new Private Link Association to be created.\n","willReplaceOnChanges":true},"publicNetworkAccessEnabled":{"type":"boolean","description":"Whether public network access is allowed. Changing this forces a new Private Link Association to be created.\n","willReplaceOnChanges":true},"resourceManagementPrivateLinkId":{"type":"string","description":"The Resource ID of Resource Management Private Link. Changing this forces a new Private Link Association to be created.\n","willReplaceOnChanges":true},"tenantId":{"type":"string","description":"The Tenant ID.\n"}},"type":"object"}},"azure:managementgroups/managementGroup:ManagementGroup":{"description":"Manages a Management Group.\n\n!\u003e **Note:** Configuring \u003cspan pulumi-lang-nodejs=\"`subscriptionIds`\" pulumi-lang-dotnet=\"`SubscriptionIds`\" pulumi-lang-go=\"`subscriptionIds`\" pulumi-lang-python=\"`subscription_ids`\" pulumi-lang-yaml=\"`subscriptionIds`\" pulumi-lang-java=\"`subscriptionIds`\"\u003e`subscription_ids`\u003c/span\u003e is not supported when using the \u003cspan pulumi-lang-nodejs=\"`azure.management.GroupSubscriptionAssociation`\" pulumi-lang-dotnet=\"`azure.management.GroupSubscriptionAssociation`\" pulumi-lang-go=\"`management.GroupSubscriptionAssociation`\" pulumi-lang-python=\"`management.GroupSubscriptionAssociation`\" pulumi-lang-yaml=\"`azure.management.GroupSubscriptionAssociation`\" pulumi-lang-java=\"`azure.management.GroupSubscriptionAssociation`\"\u003e`azure.management.GroupSubscriptionAssociation`\u003c/span\u003e resource, results will be unpredictable.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst current = azure.core.getSubscription({});\nconst exampleParent = new azure.management.Group(\"example_parent\", {\n    displayName: \"ParentGroup\",\n    subscriptionIds: [current.then(current =\u003e current.subscriptionId)],\n});\nconst exampleChild = new azure.management.Group(\"example_child\", {\n    displayName: \"ChildGroup\",\n    parentManagementGroupId: exampleParent.id,\n    subscriptionIds: [current.then(current =\u003e current.subscriptionId)],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\ncurrent = azure.core.get_subscription()\nexample_parent = azure.management.Group(\"example_parent\",\n    display_name=\"ParentGroup\",\n    subscription_ids=[current.subscription_id])\nexample_child = azure.management.Group(\"example_child\",\n    display_name=\"ChildGroup\",\n    parent_management_group_id=example_parent.id,\n    subscription_ids=[current.subscription_id])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var current = Azure.Core.GetSubscription.Invoke();\n\n    var exampleParent = new Azure.Management.Group(\"example_parent\", new()\n    {\n        DisplayName = \"ParentGroup\",\n        SubscriptionIds = new[]\n        {\n            current.Apply(getSubscriptionResult =\u003e getSubscriptionResult.SubscriptionId),\n        },\n    });\n\n    var exampleChild = new Azure.Management.Group(\"example_child\", new()\n    {\n        DisplayName = \"ChildGroup\",\n        ParentManagementGroupId = exampleParent.Id,\n        SubscriptionIds = new[]\n        {\n            current.Apply(getSubscriptionResult =\u003e getSubscriptionResult.SubscriptionId),\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/management\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := core.LookupSubscription(ctx, \u0026core.LookupSubscriptionArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleParent, err := management.NewGroup(ctx, \"example_parent\", \u0026management.GroupArgs{\n\t\t\tDisplayName: pulumi.String(\"ParentGroup\"),\n\t\t\tSubscriptionIds: pulumi.StringArray{\n\t\t\t\tpulumi.String(current.SubscriptionId),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = management.NewGroup(ctx, \"example_child\", \u0026management.GroupArgs{\n\t\t\tDisplayName:             pulumi.String(\"ChildGroup\"),\n\t\t\tParentManagementGroupId: exampleParent.ID(),\n\t\t\tSubscriptionIds: pulumi.StringArray{\n\t\t\t\tpulumi.String(current.SubscriptionId),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.core.inputs.GetSubscriptionArgs;\nimport com.pulumi.azure.management.Group;\nimport com.pulumi.azure.management.GroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var current = CoreFunctions.getSubscription(GetSubscriptionArgs.builder()\n            .build());\n\n        var exampleParent = new Group(\"exampleParent\", GroupArgs.builder()\n            .displayName(\"ParentGroup\")\n            .subscriptionIds(current.subscriptionId())\n            .build());\n\n        var exampleChild = new Group(\"exampleChild\", GroupArgs.builder()\n            .displayName(\"ChildGroup\")\n            .parentManagementGroupId(exampleParent.id())\n            .subscriptionIds(current.subscriptionId())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleParent:\n    type: azure:management:Group\n    name: example_parent\n    properties:\n      displayName: ParentGroup\n      subscriptionIds:\n        - ${current.subscriptionId}\n  exampleChild:\n    type: azure:management:Group\n    name: example_child\n    properties:\n      displayName: ChildGroup\n      parentManagementGroupId: ${exampleParent.id}\n      subscriptionIds: # other subscription IDs can go here\n        - ${current.subscriptionId}\nvariables:\n  current:\n    fn::invoke:\n      function: azure:core:getSubscription\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Management` - 2020-05-01\n\n## Import\n\nManagement Groups can be imported using the `management group resource id`, e.g.\n\n```sh\n$ pulumi import azure:managementgroups/managementGroup:ManagementGroup example /providers/Microsoft.Management/managementGroups/group1\n```\n\n","properties":{"displayName":{"type":"string","description":"A friendly name for this Management Group. If not specified, this will be the same as the \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e.\n"},"name":{"type":"string","description":"The name or UUID for this Management Group, which needs to be unique across your tenant. A new UUID will be generated if not provided. Changing this forces a new resource to be created.\n"},"parentManagementGroupId":{"type":"string","description":"The ID of the Parent Management Group.\n"},"subscriptionIds":{"type":"array","items":{"type":"string"},"description":"A list of Subscription GUIDs which should be assigned to the Management Group.\n\n\u003e **Note:** To clear all Subscriptions from the Management Group set \u003cspan pulumi-lang-nodejs=\"`subscriptionIds`\" pulumi-lang-dotnet=\"`SubscriptionIds`\" pulumi-lang-go=\"`subscriptionIds`\" pulumi-lang-python=\"`subscription_ids`\" pulumi-lang-yaml=\"`subscriptionIds`\" pulumi-lang-java=\"`subscriptionIds`\"\u003e`subscription_ids`\u003c/span\u003e to an empty list\n"},"tenantScopedId":{"type":"string","description":"The Management Group ID with the Tenant ID prefix.\n"}},"required":["displayName","name","parentManagementGroupId","subscriptionIds","tenantScopedId"],"inputProperties":{"displayName":{"type":"string","description":"A friendly name for this Management Group. If not specified, this will be the same as the \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e.\n"},"name":{"type":"string","description":"The name or UUID for this Management Group, which needs to be unique across your tenant. A new UUID will be generated if not provided. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"parentManagementGroupId":{"type":"string","description":"The ID of the Parent Management Group.\n"},"subscriptionIds":{"type":"array","items":{"type":"string"},"description":"A list of Subscription GUIDs which should be assigned to the Management Group.\n\n\u003e **Note:** To clear all Subscriptions from the Management Group set \u003cspan pulumi-lang-nodejs=\"`subscriptionIds`\" pulumi-lang-dotnet=\"`SubscriptionIds`\" pulumi-lang-go=\"`subscriptionIds`\" pulumi-lang-python=\"`subscription_ids`\" pulumi-lang-yaml=\"`subscriptionIds`\" pulumi-lang-java=\"`subscriptionIds`\"\u003e`subscription_ids`\u003c/span\u003e to an empty list\n"}},"stateInputs":{"description":"Input properties used for looking up and filtering ManagementGroup resources.\n","properties":{"displayName":{"type":"string","description":"A friendly name for this Management Group. If not specified, this will be the same as the \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e.\n"},"name":{"type":"string","description":"The name or UUID for this Management Group, which needs to be unique across your tenant. A new UUID will be generated if not provided. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"parentManagementGroupId":{"type":"string","description":"The ID of the Parent Management Group.\n"},"subscriptionIds":{"type":"array","items":{"type":"string"},"description":"A list of Subscription GUIDs which should be assigned to the Management Group.\n\n\u003e **Note:** To clear all Subscriptions from the Management Group set \u003cspan pulumi-lang-nodejs=\"`subscriptionIds`\" pulumi-lang-dotnet=\"`SubscriptionIds`\" pulumi-lang-go=\"`subscriptionIds`\" pulumi-lang-python=\"`subscription_ids`\" pulumi-lang-yaml=\"`subscriptionIds`\" pulumi-lang-java=\"`subscriptionIds`\"\u003e`subscription_ids`\u003c/span\u003e to an empty list\n"},"tenantScopedId":{"type":"string","description":"The Management Group ID with the Tenant ID prefix.\n"}},"type":"object"},"deprecationMessage":"azure.managementgroups.ManagementGroup has been deprecated in favor of azure.management.Group"},"azure:managementresource/manangementLock:ManangementLock":{"description":"Manages a Management Lock which is scoped to a Subscription, Resource Group or Resource.\n\n## Example Usage\n\n### Subscription Level Lock)\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst current = azure.core.getSubscription({});\nconst subscription_level = new azure.management.Lock(\"subscription-level\", {\n    name: \"subscription-level\",\n    scope: current.then(current =\u003e current.id),\n    lockLevel: \"CanNotDelete\",\n    notes: \"Items can't be deleted in this subscription!\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\ncurrent = azure.core.get_subscription()\nsubscription_level = azure.management.Lock(\"subscription-level\",\n    name=\"subscription-level\",\n    scope=current.id,\n    lock_level=\"CanNotDelete\",\n    notes=\"Items can't be deleted in this subscription!\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var current = Azure.Core.GetSubscription.Invoke();\n\n    var subscription_level = new Azure.Management.Lock(\"subscription-level\", new()\n    {\n        Name = \"subscription-level\",\n        Scope = current.Apply(getSubscriptionResult =\u003e getSubscriptionResult.Id),\n        LockLevel = \"CanNotDelete\",\n        Notes = \"Items can't be deleted in this subscription!\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/management\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := core.LookupSubscription(ctx, \u0026core.LookupSubscriptionArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = management.NewLock(ctx, \"subscription-level\", \u0026management.LockArgs{\n\t\t\tName:      pulumi.String(\"subscription-level\"),\n\t\t\tScope:     pulumi.String(current.Id),\n\t\t\tLockLevel: pulumi.String(\"CanNotDelete\"),\n\t\t\tNotes:     pulumi.String(\"Items can't be deleted in this subscription!\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.core.inputs.GetSubscriptionArgs;\nimport com.pulumi.azure.management.Lock;\nimport com.pulumi.azure.management.LockArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var current = CoreFunctions.getSubscription(GetSubscriptionArgs.builder()\n            .build());\n\n        var subscription_level = new Lock(\"subscription-level\", LockArgs.builder()\n            .name(\"subscription-level\")\n            .scope(current.id())\n            .lockLevel(\"CanNotDelete\")\n            .notes(\"Items can't be deleted in this subscription!\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  subscription-level:\n    type: azure:management:Lock\n    properties:\n      name: subscription-level\n      scope: ${current.id}\n      lockLevel: CanNotDelete\n      notes: Items can't be deleted in this subscription!\nvariables:\n  current:\n    fn::invoke:\n      function: azure:core:getSubscription\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\n### Resource Group Level Lock)\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"locked-resource-group\",\n    location: \"West Europe\",\n});\nconst resource_group_level = new azure.management.Lock(\"resource-group-level\", {\n    name: \"resource-group-level\",\n    scope: example.id,\n    lockLevel: \"ReadOnly\",\n    notes: \"This Resource Group is Read-Only\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"locked-resource-group\",\n    location=\"West Europe\")\nresource_group_level = azure.management.Lock(\"resource-group-level\",\n    name=\"resource-group-level\",\n    scope=example.id,\n    lock_level=\"ReadOnly\",\n    notes=\"This Resource Group is Read-Only\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"locked-resource-group\",\n        Location = \"West Europe\",\n    });\n\n    var resource_group_level = new Azure.Management.Lock(\"resource-group-level\", new()\n    {\n        Name = \"resource-group-level\",\n        Scope = example.Id,\n        LockLevel = \"ReadOnly\",\n        Notes = \"This Resource Group is Read-Only\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/management\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"locked-resource-group\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = management.NewLock(ctx, \"resource-group-level\", \u0026management.LockArgs{\n\t\t\tName:      pulumi.String(\"resource-group-level\"),\n\t\t\tScope:     example.ID(),\n\t\t\tLockLevel: pulumi.String(\"ReadOnly\"),\n\t\t\tNotes:     pulumi.String(\"This Resource Group is Read-Only\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.management.Lock;\nimport com.pulumi.azure.management.LockArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"locked-resource-group\")\n            .location(\"West Europe\")\n            .build());\n\n        var resource_group_level = new Lock(\"resource-group-level\", LockArgs.builder()\n            .name(\"resource-group-level\")\n            .scope(example.id())\n            .lockLevel(\"ReadOnly\")\n            .notes(\"This Resource Group is Read-Only\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: locked-resource-group\n      location: West Europe\n  resource-group-level:\n    type: azure:management:Lock\n    properties:\n      name: resource-group-level\n      scope: ${example.id}\n      lockLevel: ReadOnly\n      notes: This Resource Group is Read-Only\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\n### Resource Level Lock)\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"locked-resource-group\",\n    location: \"West Europe\",\n});\nconst examplePublicIp = new azure.network.PublicIp(\"example\", {\n    name: \"locked-publicip\",\n    location: example.location,\n    resourceGroupName: example.name,\n    allocationMethod: \"Static\",\n    idleTimeoutInMinutes: 30,\n});\nconst public_ip = new azure.management.Lock(\"public-ip\", {\n    name: \"resource-ip\",\n    scope: examplePublicIp.id,\n    lockLevel: \"CanNotDelete\",\n    notes: \"Locked because it's needed by a third-party\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"locked-resource-group\",\n    location=\"West Europe\")\nexample_public_ip = azure.network.PublicIp(\"example\",\n    name=\"locked-publicip\",\n    location=example.location,\n    resource_group_name=example.name,\n    allocation_method=\"Static\",\n    idle_timeout_in_minutes=30)\npublic_ip = azure.management.Lock(\"public-ip\",\n    name=\"resource-ip\",\n    scope=example_public_ip.id,\n    lock_level=\"CanNotDelete\",\n    notes=\"Locked because it's needed by a third-party\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"locked-resource-group\",\n        Location = \"West Europe\",\n    });\n\n    var examplePublicIp = new Azure.Network.PublicIp(\"example\", new()\n    {\n        Name = \"locked-publicip\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        AllocationMethod = \"Static\",\n        IdleTimeoutInMinutes = 30,\n    });\n\n    var public_ip = new Azure.Management.Lock(\"public-ip\", new()\n    {\n        Name = \"resource-ip\",\n        Scope = examplePublicIp.Id,\n        LockLevel = \"CanNotDelete\",\n        Notes = \"Locked because it's needed by a third-party\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/management\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"locked-resource-group\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texamplePublicIp, err := network.NewPublicIp(ctx, \"example\", \u0026network.PublicIpArgs{\n\t\t\tName:                 pulumi.String(\"locked-publicip\"),\n\t\t\tLocation:             example.Location,\n\t\t\tResourceGroupName:    example.Name,\n\t\t\tAllocationMethod:     pulumi.String(\"Static\"),\n\t\t\tIdleTimeoutInMinutes: pulumi.Int(30),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = management.NewLock(ctx, \"public-ip\", \u0026management.LockArgs{\n\t\t\tName:      pulumi.String(\"resource-ip\"),\n\t\t\tScope:     examplePublicIp.ID(),\n\t\t\tLockLevel: pulumi.String(\"CanNotDelete\"),\n\t\t\tNotes:     pulumi.String(\"Locked because it's needed by a third-party\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.PublicIp;\nimport com.pulumi.azure.network.PublicIpArgs;\nimport com.pulumi.azure.management.Lock;\nimport com.pulumi.azure.management.LockArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"locked-resource-group\")\n            .location(\"West Europe\")\n            .build());\n\n        var examplePublicIp = new PublicIp(\"examplePublicIp\", PublicIpArgs.builder()\n            .name(\"locked-publicip\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .allocationMethod(\"Static\")\n            .idleTimeoutInMinutes(30)\n            .build());\n\n        var public_ip = new Lock(\"public-ip\", LockArgs.builder()\n            .name(\"resource-ip\")\n            .scope(examplePublicIp.id())\n            .lockLevel(\"CanNotDelete\")\n            .notes(\"Locked because it's needed by a third-party\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: locked-resource-group\n      location: West Europe\n  examplePublicIp:\n    type: azure:network:PublicIp\n    name: example\n    properties:\n      name: locked-publicip\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      allocationMethod: Static\n      idleTimeoutInMinutes: 30\n  public-ip:\n    type: azure:management:Lock\n    properties:\n      name: resource-ip\n      scope: ${examplePublicIp.id}\n      lockLevel: CanNotDelete\n      notes: Locked because it's needed by a third-party\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Authorization` - 2020-05-01\n\n## Import\n\nManagement Locks can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:managementresource/manangementLock:ManangementLock lock1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Authorization/locks/lock1\n```\n\n","properties":{"lockLevel":{"type":"string","description":"Specifies the Level to be used for this Lock. Possible values are `CanNotDelete` and `ReadOnly`. Changing this forces a new resource to be created.\n\n\u003e **Note:** `CanNotDelete` means authorized users are able to read and modify the resources, but not delete. `ReadOnly` means authorized users can only read from a resource, but they can't modify or delete it.\n"},"name":{"type":"string","description":"Specifies the name of the Management Lock. Changing this forces a new resource to be created.\n"},"notes":{"type":"string","description":"Specifies some notes about the lock. Maximum of 512 characters. Changing this forces a new resource to be created.\n"},"scope":{"type":"string","description":"Specifies the scope at which the Management Lock should be created. Changing this forces a new resource to be created.\n"}},"required":["lockLevel","name","scope"],"inputProperties":{"lockLevel":{"type":"string","description":"Specifies the Level to be used for this Lock. Possible values are `CanNotDelete` and `ReadOnly`. Changing this forces a new resource to be created.\n\n\u003e **Note:** `CanNotDelete` means authorized users are able to read and modify the resources, but not delete. `ReadOnly` means authorized users can only read from a resource, but they can't modify or delete it.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the Management Lock. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"notes":{"type":"string","description":"Specifies some notes about the lock. Maximum of 512 characters. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"scope":{"type":"string","description":"Specifies the scope at which the Management Lock should be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["lockLevel","scope"],"stateInputs":{"description":"Input properties used for looking up and filtering ManangementLock resources.\n","properties":{"lockLevel":{"type":"string","description":"Specifies the Level to be used for this Lock. Possible values are `CanNotDelete` and `ReadOnly`. Changing this forces a new resource to be created.\n\n\u003e **Note:** `CanNotDelete` means authorized users are able to read and modify the resources, but not delete. `ReadOnly` means authorized users can only read from a resource, but they can't modify or delete it.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the Management Lock. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"notes":{"type":"string","description":"Specifies some notes about the lock. Maximum of 512 characters. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"scope":{"type":"string","description":"Specifies the scope at which the Management Lock should be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"},"deprecationMessage":"azure.managementresource.ManangementLock has been deprecated in favor of azure.management.Lock"},"azure:maps/account:Account":{"description":"Manages an Azure Maps Account.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleAccount = new azure.maps.Account(\"example\", {\n    name: \"example-maps-account\",\n    resourceGroupName: example.name,\n    skuName: \"S1\",\n    localAuthenticationEnabled: true,\n    tags: {\n        environment: \"Test\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_account = azure.maps.Account(\"example\",\n    name=\"example-maps-account\",\n    resource_group_name=example.name,\n    sku_name=\"S1\",\n    local_authentication_enabled=True,\n    tags={\n        \"environment\": \"Test\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleAccount = new Azure.Maps.Account(\"example\", new()\n    {\n        Name = \"example-maps-account\",\n        ResourceGroupName = example.Name,\n        SkuName = \"S1\",\n        LocalAuthenticationEnabled = true,\n        Tags = \n        {\n            { \"environment\", \"Test\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/maps\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = maps.NewAccount(ctx, \"example\", \u0026maps.AccountArgs{\n\t\t\tName:                       pulumi.String(\"example-maps-account\"),\n\t\t\tResourceGroupName:          example.Name,\n\t\t\tSkuName:                    pulumi.String(\"S1\"),\n\t\t\tLocalAuthenticationEnabled: pulumi.Bool(true),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"environment\": pulumi.String(\"Test\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.maps.Account;\nimport com.pulumi.azure.maps.AccountArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"example-maps-account\")\n            .resourceGroupName(example.name())\n            .skuName(\"S1\")\n            .localAuthenticationEnabled(true)\n            .tags(Map.of(\"environment\", \"Test\"))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleAccount:\n    type: azure:maps:Account\n    name: example\n    properties:\n      name: example-maps-account\n      resourceGroupName: ${example.name}\n      skuName: S1\n      localAuthenticationEnabled: true\n      tags:\n        environment: Test\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Maps` - 2023-06-01\n\n## Import\n\nA Maps Account can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:maps/account:Account example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Maps/accounts/my-maps-account\n```\n\n","properties":{"cors":{"$ref":"#/types/azure:maps/AccountCors:AccountCors","description":"A \u003cspan pulumi-lang-nodejs=\"`cors`\" pulumi-lang-dotnet=\"`Cors`\" pulumi-lang-go=\"`cors`\" pulumi-lang-python=\"`cors`\" pulumi-lang-yaml=\"`cors`\" pulumi-lang-java=\"`cors`\"\u003e`cors`\u003c/span\u003e block as defined below\n"},"dataStores":{"type":"array","items":{"$ref":"#/types/azure:maps/AccountDataStore:AccountDataStore"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`dataStore`\" pulumi-lang-dotnet=\"`DataStore`\" pulumi-lang-go=\"`dataStore`\" pulumi-lang-python=\"`data_store`\" pulumi-lang-yaml=\"`dataStore`\" pulumi-lang-java=\"`dataStore`\"\u003e`data_store`\u003c/span\u003e blocks as defined below.\n"},"identity":{"$ref":"#/types/azure:maps/AccountIdentity:AccountIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"localAuthenticationEnabled":{"type":"boolean","description":"Is local authentication enabled for this Azure Maps Account? When \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e, all authentication to the Azure Maps data-plane REST API is disabled, except Azure AD authentication. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"location":{"type":"string","description":"The Location in which the Azure Maps Account should be provisioned. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"The name of the Azure Maps Account. Changing this forces a new resource to be created.\n"},"primaryAccessKey":{"type":"string","description":"The primary key used to authenticate and authorize access to the Maps REST APIs.\n","secret":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group in which the Azure Maps Account should exist. Changing this forces a new resource to be created.\n"},"secondaryAccessKey":{"type":"string","description":"The secondary key used to authenticate and authorize access to the Maps REST APIs.\n","secret":true},"skuName":{"type":"string","description":"The SKU of the Azure Maps Account. Possible values are `S0`, `S1` and `G2`. Changing this forces a new resource to be created.\n\n\u003e **Note:** Gen1 SKUs (`S0` and `S1`) are deprecated and can no longer be used for new deployments, which should instead use a Gen2 SKU (`G2`) - more information can be found [in the Azure documentation](https://learn.microsoft.com/azure/azure-maps/how-to-manage-pricing-tier).\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the Azure Maps Account.\n"},"xMsClientId":{"type":"string","description":"A unique identifier for the Maps Account.\n"}},"required":["location","name","primaryAccessKey","resourceGroupName","secondaryAccessKey","skuName","xMsClientId"],"inputProperties":{"cors":{"$ref":"#/types/azure:maps/AccountCors:AccountCors","description":"A \u003cspan pulumi-lang-nodejs=\"`cors`\" pulumi-lang-dotnet=\"`Cors`\" pulumi-lang-go=\"`cors`\" pulumi-lang-python=\"`cors`\" pulumi-lang-yaml=\"`cors`\" pulumi-lang-java=\"`cors`\"\u003e`cors`\u003c/span\u003e block as defined below\n"},"dataStores":{"type":"array","items":{"$ref":"#/types/azure:maps/AccountDataStore:AccountDataStore"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`dataStore`\" pulumi-lang-dotnet=\"`DataStore`\" pulumi-lang-go=\"`dataStore`\" pulumi-lang-python=\"`data_store`\" pulumi-lang-yaml=\"`dataStore`\" pulumi-lang-java=\"`dataStore`\"\u003e`data_store`\u003c/span\u003e blocks as defined below.\n"},"identity":{"$ref":"#/types/azure:maps/AccountIdentity:AccountIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"localAuthenticationEnabled":{"type":"boolean","description":"Is local authentication enabled for this Azure Maps Account? When \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e, all authentication to the Azure Maps data-plane REST API is disabled, except Azure AD authentication. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"location":{"type":"string","description":"The Location in which the Azure Maps Account should be provisioned. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the Azure Maps Account. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group in which the Azure Maps Account should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"skuName":{"type":"string","description":"The SKU of the Azure Maps Account. Possible values are `S0`, `S1` and `G2`. Changing this forces a new resource to be created.\n\n\u003e **Note:** Gen1 SKUs (`S0` and `S1`) are deprecated and can no longer be used for new deployments, which should instead use a Gen2 SKU (`G2`) - more information can be found [in the Azure documentation](https://learn.microsoft.com/azure/azure-maps/how-to-manage-pricing-tier).\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the Azure Maps Account.\n"}},"requiredInputs":["resourceGroupName","skuName"],"stateInputs":{"description":"Input properties used for looking up and filtering Account resources.\n","properties":{"cors":{"$ref":"#/types/azure:maps/AccountCors:AccountCors","description":"A \u003cspan pulumi-lang-nodejs=\"`cors`\" pulumi-lang-dotnet=\"`Cors`\" pulumi-lang-go=\"`cors`\" pulumi-lang-python=\"`cors`\" pulumi-lang-yaml=\"`cors`\" pulumi-lang-java=\"`cors`\"\u003e`cors`\u003c/span\u003e block as defined below\n"},"dataStores":{"type":"array","items":{"$ref":"#/types/azure:maps/AccountDataStore:AccountDataStore"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`dataStore`\" pulumi-lang-dotnet=\"`DataStore`\" pulumi-lang-go=\"`dataStore`\" pulumi-lang-python=\"`data_store`\" pulumi-lang-yaml=\"`dataStore`\" pulumi-lang-java=\"`dataStore`\"\u003e`data_store`\u003c/span\u003e blocks as defined below.\n"},"identity":{"$ref":"#/types/azure:maps/AccountIdentity:AccountIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"localAuthenticationEnabled":{"type":"boolean","description":"Is local authentication enabled for this Azure Maps Account? When \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e, all authentication to the Azure Maps data-plane REST API is disabled, except Azure AD authentication. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"location":{"type":"string","description":"The Location in which the Azure Maps Account should be provisioned. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the Azure Maps Account. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"primaryAccessKey":{"type":"string","description":"The primary key used to authenticate and authorize access to the Maps REST APIs.\n","secret":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group in which the Azure Maps Account should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"secondaryAccessKey":{"type":"string","description":"The secondary key used to authenticate and authorize access to the Maps REST APIs.\n","secret":true},"skuName":{"type":"string","description":"The SKU of the Azure Maps Account. Possible values are `S0`, `S1` and `G2`. Changing this forces a new resource to be created.\n\n\u003e **Note:** Gen1 SKUs (`S0` and `S1`) are deprecated and can no longer be used for new deployments, which should instead use a Gen2 SKU (`G2`) - more information can be found [in the Azure documentation](https://learn.microsoft.com/azure/azure-maps/how-to-manage-pricing-tier).\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the Azure Maps Account.\n"},"xMsClientId":{"type":"string","description":"A unique identifier for the Maps Account.\n"}},"type":"object"}},"azure:maps/creator:Creator":{"description":"Manages an Azure Maps Creator.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`azure.maps.Creator`\" pulumi-lang-dotnet=\"`azure.maps.Creator`\" pulumi-lang-go=\"`maps.Creator`\" pulumi-lang-python=\"`maps.Creator`\" pulumi-lang-yaml=\"`azure.maps.Creator`\" pulumi-lang-java=\"`azure.maps.Creator`\"\u003e`azure.maps.Creator`\u003c/span\u003e resource has been deprecated because the service is retiring from 2024-09-23 and will be removed in v5.0 of the AzureRM Provider.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleAccount = new azure.maps.Account(\"example\", {\n    name: \"example-maps-account\",\n    resourceGroupName: example.name,\n    skuName: \"G2\",\n    tags: {\n        environment: \"Test\",\n    },\n});\nconst exampleCreator = new azure.maps.Creator(\"example\", {\n    name: \"example-maps-creator\",\n    mapsAccountId: exampleAccount.id,\n    location: example.location,\n    storageUnits: 1,\n    tags: {\n        environment: \"Test\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_account = azure.maps.Account(\"example\",\n    name=\"example-maps-account\",\n    resource_group_name=example.name,\n    sku_name=\"G2\",\n    tags={\n        \"environment\": \"Test\",\n    })\nexample_creator = azure.maps.Creator(\"example\",\n    name=\"example-maps-creator\",\n    maps_account_id=example_account.id,\n    location=example.location,\n    storage_units=1,\n    tags={\n        \"environment\": \"Test\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleAccount = new Azure.Maps.Account(\"example\", new()\n    {\n        Name = \"example-maps-account\",\n        ResourceGroupName = example.Name,\n        SkuName = \"G2\",\n        Tags = \n        {\n            { \"environment\", \"Test\" },\n        },\n    });\n\n    var exampleCreator = new Azure.Maps.Creator(\"example\", new()\n    {\n        Name = \"example-maps-creator\",\n        MapsAccountId = exampleAccount.Id,\n        Location = example.Location,\n        StorageUnits = 1,\n        Tags = \n        {\n            { \"environment\", \"Test\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/maps\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := maps.NewAccount(ctx, \"example\", \u0026maps.AccountArgs{\n\t\t\tName:              pulumi.String(\"example-maps-account\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSkuName:           pulumi.String(\"G2\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"environment\": pulumi.String(\"Test\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = maps.NewCreator(ctx, \"example\", \u0026maps.CreatorArgs{\n\t\t\tName:          pulumi.String(\"example-maps-creator\"),\n\t\t\tMapsAccountId: exampleAccount.ID(),\n\t\t\tLocation:      example.Location,\n\t\t\tStorageUnits:  pulumi.Int(1),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"environment\": pulumi.String(\"Test\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.maps.Account;\nimport com.pulumi.azure.maps.AccountArgs;\nimport com.pulumi.azure.maps.Creator;\nimport com.pulumi.azure.maps.CreatorArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"example-maps-account\")\n            .resourceGroupName(example.name())\n            .skuName(\"G2\")\n            .tags(Map.of(\"environment\", \"Test\"))\n            .build());\n\n        var exampleCreator = new Creator(\"exampleCreator\", CreatorArgs.builder()\n            .name(\"example-maps-creator\")\n            .mapsAccountId(exampleAccount.id())\n            .location(example.location())\n            .storageUnits(1)\n            .tags(Map.of(\"environment\", \"Test\"))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleAccount:\n    type: azure:maps:Account\n    name: example\n    properties:\n      name: example-maps-account\n      resourceGroupName: ${example.name}\n      skuName: G2\n      tags:\n        environment: Test\n  exampleCreator:\n    type: azure:maps:Creator\n    name: example\n    properties:\n      name: example-maps-creator\n      mapsAccountId: ${exampleAccount.id}\n      location: ${example.location}\n      storageUnits: 1\n      tags:\n        environment: Test\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Maps` - 2023-06-01\n\n## Import\n\nAn Azure Maps Creators can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:maps/creator:Creator example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup1/providers/Microsoft.Maps/accounts/account1/creators/creator1\n```\n\n","properties":{"location":{"type":"string","description":"The Azure Region where the Azure Maps Creator should exist. Changing this forces a new resource to be created.\n"},"mapsAccountId":{"type":"string","description":"The ID of the Azure Maps Creator. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"The name of the Azure Maps Creator. Changing this forces a new resource to be created.\n"},"storageUnits":{"type":"integer","description":"The storage units to be allocated. Integer values from 1 to 100, inclusive.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Azure Maps Creator.\n"}},"required":["location","mapsAccountId","name","storageUnits"],"inputProperties":{"location":{"type":"string","description":"The Azure Region where the Azure Maps Creator should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"mapsAccountId":{"type":"string","description":"The ID of the Azure Maps Creator. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the Azure Maps Creator. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"storageUnits":{"type":"integer","description":"The storage units to be allocated. Integer values from 1 to 100, inclusive.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Azure Maps Creator.\n"}},"requiredInputs":["mapsAccountId","storageUnits"],"stateInputs":{"description":"Input properties used for looking up and filtering Creator resources.\n","properties":{"location":{"type":"string","description":"The Azure Region where the Azure Maps Creator should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"mapsAccountId":{"type":"string","description":"The ID of the Azure Maps Creator. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the Azure Maps Creator. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"storageUnits":{"type":"integer","description":"The storage units to be allocated. Integer values from 1 to 100, inclusive.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Azure Maps Creator.\n"}},"type":"object"}},"azure:marketplace/agreement:Agreement":{"description":"Allows accepting the Legal Terms for a Marketplace Image.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst barracuda = new azure.marketplace.Agreement(\"barracuda\", {\n    publisher: \"barracudanetworks\",\n    offer: \"waf\",\n    plan: \"hourly\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nbarracuda = azure.marketplace.Agreement(\"barracuda\",\n    publisher=\"barracudanetworks\",\n    offer=\"waf\",\n    plan=\"hourly\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var barracuda = new Azure.Marketplace.Agreement(\"barracuda\", new()\n    {\n        Publisher = \"barracudanetworks\",\n        Offer = \"waf\",\n        Plan = \"hourly\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/marketplace\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := marketplace.NewAgreement(ctx, \"barracuda\", \u0026marketplace.AgreementArgs{\n\t\t\tPublisher: pulumi.String(\"barracudanetworks\"),\n\t\t\tOffer:     pulumi.String(\"waf\"),\n\t\t\tPlan:      pulumi.String(\"hourly\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.marketplace.Agreement;\nimport com.pulumi.azure.marketplace.AgreementArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var barracuda = new Agreement(\"barracuda\", AgreementArgs.builder()\n            .publisher(\"barracudanetworks\")\n            .offer(\"waf\")\n            .plan(\"hourly\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  barracuda:\n    type: azure:marketplace:Agreement\n    properties:\n      publisher: barracudanetworks\n      offer: waf\n      plan: hourly\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.MarketplaceOrdering` - 2015-06-01\n\n## Import\n\nMarketplace Agreement can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:marketplace/agreement:Agreement example /subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.MarketplaceOrdering/agreements/publisher1/offers/offer1/plans/plan1\n```\n\n","properties":{"licenseTextLink":{"type":"string"},"offer":{"type":"string","description":"The Offer of the Marketplace Image. Changing this forces a new resource to be created.\n"},"plan":{"type":"string","description":"The Plan of the Marketplace Image. Changing this forces a new resource to be created.\n"},"privacyPolicyLink":{"type":"string"},"publisher":{"type":"string","description":"The Publisher of the Marketplace Image. Changing this forces a new resource to be created.\n"}},"required":["licenseTextLink","offer","plan","privacyPolicyLink","publisher"],"inputProperties":{"offer":{"type":"string","description":"The Offer of the Marketplace Image. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"plan":{"type":"string","description":"The Plan of the Marketplace Image. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"publisher":{"type":"string","description":"The Publisher of the Marketplace Image. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["offer","plan","publisher"],"stateInputs":{"description":"Input properties used for looking up and filtering Agreement resources.\n","properties":{"licenseTextLink":{"type":"string"},"offer":{"type":"string","description":"The Offer of the Marketplace Image. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"plan":{"type":"string","description":"The Plan of the Marketplace Image. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"privacyPolicyLink":{"type":"string"},"publisher":{"type":"string","description":"The Publisher of the Marketplace Image. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:marketplace/roleAssignment:RoleAssignment":{"description":"Assigns a given Principal (User or Group) to a given Role in a Private Azure Marketplace.\n\n## Example Usage\n\n### Using A Role Definition Name)\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.core.getClientConfig({});\nconst exampleRoleAssignment = new azure.marketplace.RoleAssignment(\"example\", {\n    roleDefinitionName: \"Marketplace Admin\",\n    principalId: example.then(example =\u003e example.objectId),\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.get_client_config()\nexample_role_assignment = azure.marketplace.RoleAssignment(\"example\",\n    role_definition_name=\"Marketplace Admin\",\n    principal_id=example.object_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Core.GetClientConfig.Invoke();\n\n    var exampleRoleAssignment = new Azure.Marketplace.RoleAssignment(\"example\", new()\n    {\n        RoleDefinitionName = \"Marketplace Admin\",\n        PrincipalId = example.Apply(getClientConfigResult =\u003e getClientConfigResult.ObjectId),\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/marketplace\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.GetClientConfig(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = marketplace.NewRoleAssignment(ctx, \"example\", \u0026marketplace.RoleAssignmentArgs{\n\t\t\tRoleDefinitionName: pulumi.String(\"Marketplace Admin\"),\n\t\t\tPrincipalId:        pulumi.String(example.ObjectId),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.marketplace.RoleAssignment;\nimport com.pulumi.azure.marketplace.RoleAssignmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = CoreFunctions.getClientConfig(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n        var exampleRoleAssignment = new RoleAssignment(\"exampleRoleAssignment\", RoleAssignmentArgs.builder()\n            .roleDefinitionName(\"Marketplace Admin\")\n            .principalId(example.objectId())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleRoleAssignment:\n    type: azure:marketplace:RoleAssignment\n    name: example\n    properties:\n      roleDefinitionName: Marketplace Admin\n      principalId: ${example.objectId}\nvariables:\n  example:\n    fn::invoke:\n      function: azure:core:getClientConfig\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\n### Using A Role Definition ID)\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.core.getClientConfig({});\nconst exampleGetRoleDefinition = azure.authorization.getRoleDefinition({\n    name: \"Log Analytics Reader\",\n});\nconst exampleRoleAssignment = new azure.marketplace.RoleAssignment(\"example\", {\n    roleDefinitionId: exampleGetRoleDefinition.then(exampleGetRoleDefinition =\u003e exampleGetRoleDefinition.id),\n    principalId: example.then(example =\u003e example.objectId),\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.get_client_config()\nexample_get_role_definition = azure.authorization.get_role_definition(name=\"Log Analytics Reader\")\nexample_role_assignment = azure.marketplace.RoleAssignment(\"example\",\n    role_definition_id=example_get_role_definition.id,\n    principal_id=example.object_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Core.GetClientConfig.Invoke();\n\n    var exampleGetRoleDefinition = Azure.Authorization.GetRoleDefinition.Invoke(new()\n    {\n        Name = \"Log Analytics Reader\",\n    });\n\n    var exampleRoleAssignment = new Azure.Marketplace.RoleAssignment(\"example\", new()\n    {\n        RoleDefinitionId = exampleGetRoleDefinition.Apply(getRoleDefinitionResult =\u003e getRoleDefinitionResult.Id),\n        PrincipalId = example.Apply(getClientConfigResult =\u003e getClientConfigResult.ObjectId),\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/authorization\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/marketplace\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.GetClientConfig(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleGetRoleDefinition, err := authorization.LookupRoleDefinition(ctx, \u0026authorization.LookupRoleDefinitionArgs{\n\t\t\tName: pulumi.StringRef(\"Log Analytics Reader\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = marketplace.NewRoleAssignment(ctx, \"example\", \u0026marketplace.RoleAssignmentArgs{\n\t\t\tRoleDefinitionId: pulumi.String(exampleGetRoleDefinition.Id),\n\t\t\tPrincipalId:      pulumi.String(example.ObjectId),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.authorization.AuthorizationFunctions;\nimport com.pulumi.azure.authorization.inputs.GetRoleDefinitionArgs;\nimport com.pulumi.azure.marketplace.RoleAssignment;\nimport com.pulumi.azure.marketplace.RoleAssignmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = CoreFunctions.getClientConfig(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n        final var exampleGetRoleDefinition = AuthorizationFunctions.getRoleDefinition(GetRoleDefinitionArgs.builder()\n            .name(\"Log Analytics Reader\")\n            .build());\n\n        var exampleRoleAssignment = new RoleAssignment(\"exampleRoleAssignment\", RoleAssignmentArgs.builder()\n            .roleDefinitionId(exampleGetRoleDefinition.id())\n            .principalId(example.objectId())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleRoleAssignment:\n    type: azure:marketplace:RoleAssignment\n    name: example\n    properties:\n      roleDefinitionId: ${exampleGetRoleDefinition.id}\n      principalId: ${example.objectId}\nvariables:\n  example:\n    fn::invoke:\n      function: azure:core:getClientConfig\n      arguments: {}\n  exampleGetRoleDefinition:\n    fn::invoke:\n      function: azure:authorization:getRoleDefinition\n      arguments:\n        name: Log Analytics Reader\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Authorization` - 2022-05-01-preview, 2022-04-01\n\n## Import\n\nRole Assignments can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:marketplace/roleAssignment:RoleAssignment example /providers/Microsoft.Marketplace/providers/Microsoft.Authorization/roleAssignments/00000000-0000-0000-0000-000000000000\n```\n\n\u003e **Note:** For cross tenant scenarios, the format of the `resource id` consists of the Azure resource ID and the tenant ID, for example:\n\n```text\n/providers/Microsoft.Marketplace/providers/Microsoft.Authorization/roleAssignments/00000000-0000-0000-0000-000000000000|00000000-0000-0000-0000-000000000000\n```\n\n","properties":{"condition":{"type":"string","description":"The condition that limits the resources that the role can be assigned to. Changing this forces a new resource to be created.\n"},"conditionVersion":{"type":"string","description":"The version of the condition. Possible values are `1.0` or `2.0`. Changing this forces a new resource to be created.\n"},"delegatedManagedIdentityResourceId":{"type":"string","description":"The delegated Azure Resource ID which contains a Managed Identity. Changing this forces a new resource to be created.\n\n\u003e **Note:** This field is only used in cross tenant scenarios.\n"},"description":{"type":"string","description":"The description for this Role Assignment. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"A unique UUID/GUID for this Role Assignment - one will be generated if not specified. Changing this forces a new resource to be created.\n"},"principalId":{"type":"string","description":"The ID of the Principal (User, Group or Service Principal) to assign the Role Definition to. Changing this forces a new resource to be created.\n\n\u003e **Note:** The Principal ID is also known as the Object ID (i.e. not the \"Application ID\" for applications). To assign Azure roles, the Principal must have `Microsoft.Authorization/roleAssignments/write` permissions. See [documentation](https://learn.microsoft.com/en-us/azure/role-based-access-control/role-assignments-portal) for more information.\n"},"principalType":{"type":"string","description":"The type of the \u003cspan pulumi-lang-nodejs=\"`principalId`\" pulumi-lang-dotnet=\"`PrincipalId`\" pulumi-lang-go=\"`principalId`\" pulumi-lang-python=\"`principal_id`\" pulumi-lang-yaml=\"`principalId`\" pulumi-lang-java=\"`principalId`\"\u003e`principal_id`\u003c/span\u003e, e.g. User, Group, Service Principal, Application, etc.\n"},"roleDefinitionId":{"type":"string","description":"The Scoped-ID of the Role Definition. Changing this forces a new resource to be created. Conflicts with \u003cspan pulumi-lang-nodejs=\"`roleDefinitionName`\" pulumi-lang-dotnet=\"`RoleDefinitionName`\" pulumi-lang-go=\"`roleDefinitionName`\" pulumi-lang-python=\"`role_definition_name`\" pulumi-lang-yaml=\"`roleDefinitionName`\" pulumi-lang-java=\"`roleDefinitionName`\"\u003e`role_definition_name`\u003c/span\u003e.\n"},"roleDefinitionName":{"type":"string","description":"The name of a built-in Role. Changing this forces a new resource to be created. Conflicts with \u003cspan pulumi-lang-nodejs=\"`roleDefinitionId`\" pulumi-lang-dotnet=\"`RoleDefinitionId`\" pulumi-lang-go=\"`roleDefinitionId`\" pulumi-lang-python=\"`role_definition_id`\" pulumi-lang-yaml=\"`roleDefinitionId`\" pulumi-lang-java=\"`roleDefinitionId`\"\u003e`role_definition_id`\u003c/span\u003e.\n\n\u003e **Note:** To assign `Marketplace Admin` role, the calling Principal must first be assigned Privileged Role Administrator (like `Owner` role) or Global Administrator. See [documentation](https://learn.microsoft.com/en-us/marketplace/create-manage-private-azure-marketplace-new#prerequisites) for more information.\n"},"skipServicePrincipalAadCheck":{"type":"boolean","description":"If the \u003cspan pulumi-lang-nodejs=\"`principalId`\" pulumi-lang-dotnet=\"`PrincipalId`\" pulumi-lang-go=\"`principalId`\" pulumi-lang-python=\"`principal_id`\" pulumi-lang-yaml=\"`principalId`\" pulumi-lang-java=\"`principalId`\"\u003e`principal_id`\u003c/span\u003e is a newly provisioned `Service Principal` set this value to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e to skip the `Azure Active Directory` check which may fail due to replication lag. This argument is only valid if the \u003cspan pulumi-lang-nodejs=\"`principalId`\" pulumi-lang-dotnet=\"`PrincipalId`\" pulumi-lang-go=\"`principalId`\" pulumi-lang-python=\"`principal_id`\" pulumi-lang-yaml=\"`principalId`\" pulumi-lang-java=\"`principalId`\"\u003e`principal_id`\u003c/span\u003e is a `Service Principal` identity. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Changing this forces a new resource to be created.\n\n\u003e **Note:** This field takes effect only when \u003cspan pulumi-lang-nodejs=\"`principalId`\" pulumi-lang-dotnet=\"`PrincipalId`\" pulumi-lang-go=\"`principalId`\" pulumi-lang-python=\"`principal_id`\" pulumi-lang-yaml=\"`principalId`\" pulumi-lang-java=\"`principalId`\"\u003e`principal_id`\u003c/span\u003e is a `Service Principal` identity.\n"}},"required":["name","principalId","principalType"],"inputProperties":{"condition":{"type":"string","description":"The condition that limits the resources that the role can be assigned to. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"conditionVersion":{"type":"string","description":"The version of the condition. Possible values are `1.0` or `2.0`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"delegatedManagedIdentityResourceId":{"type":"string","description":"The delegated Azure Resource ID which contains a Managed Identity. Changing this forces a new resource to be created.\n\n\u003e **Note:** This field is only used in cross tenant scenarios.\n","willReplaceOnChanges":true},"description":{"type":"string","description":"The description for this Role Assignment. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"A unique UUID/GUID for this Role Assignment - one will be generated if not specified. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"principalId":{"type":"string","description":"The ID of the Principal (User, Group or Service Principal) to assign the Role Definition to. Changing this forces a new resource to be created.\n\n\u003e **Note:** The Principal ID is also known as the Object ID (i.e. not the \"Application ID\" for applications). To assign Azure roles, the Principal must have `Microsoft.Authorization/roleAssignments/write` permissions. See [documentation](https://learn.microsoft.com/en-us/azure/role-based-access-control/role-assignments-portal) for more information.\n","willReplaceOnChanges":true},"roleDefinitionId":{"type":"string","description":"The Scoped-ID of the Role Definition. Changing this forces a new resource to be created. Conflicts with \u003cspan pulumi-lang-nodejs=\"`roleDefinitionName`\" pulumi-lang-dotnet=\"`RoleDefinitionName`\" pulumi-lang-go=\"`roleDefinitionName`\" pulumi-lang-python=\"`role_definition_name`\" pulumi-lang-yaml=\"`roleDefinitionName`\" pulumi-lang-java=\"`roleDefinitionName`\"\u003e`role_definition_name`\u003c/span\u003e.\n","willReplaceOnChanges":true},"roleDefinitionName":{"type":"string","description":"The name of a built-in Role. Changing this forces a new resource to be created. Conflicts with \u003cspan pulumi-lang-nodejs=\"`roleDefinitionId`\" pulumi-lang-dotnet=\"`RoleDefinitionId`\" pulumi-lang-go=\"`roleDefinitionId`\" pulumi-lang-python=\"`role_definition_id`\" pulumi-lang-yaml=\"`roleDefinitionId`\" pulumi-lang-java=\"`roleDefinitionId`\"\u003e`role_definition_id`\u003c/span\u003e.\n\n\u003e **Note:** To assign `Marketplace Admin` role, the calling Principal must first be assigned Privileged Role Administrator (like `Owner` role) or Global Administrator. See [documentation](https://learn.microsoft.com/en-us/marketplace/create-manage-private-azure-marketplace-new#prerequisites) for more information.\n","willReplaceOnChanges":true},"skipServicePrincipalAadCheck":{"type":"boolean","description":"If the \u003cspan pulumi-lang-nodejs=\"`principalId`\" pulumi-lang-dotnet=\"`PrincipalId`\" pulumi-lang-go=\"`principalId`\" pulumi-lang-python=\"`principal_id`\" pulumi-lang-yaml=\"`principalId`\" pulumi-lang-java=\"`principalId`\"\u003e`principal_id`\u003c/span\u003e is a newly provisioned `Service Principal` set this value to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e to skip the `Azure Active Directory` check which may fail due to replication lag. This argument is only valid if the \u003cspan pulumi-lang-nodejs=\"`principalId`\" pulumi-lang-dotnet=\"`PrincipalId`\" pulumi-lang-go=\"`principalId`\" pulumi-lang-python=\"`principal_id`\" pulumi-lang-yaml=\"`principalId`\" pulumi-lang-java=\"`principalId`\"\u003e`principal_id`\u003c/span\u003e is a `Service Principal` identity. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Changing this forces a new resource to be created.\n\n\u003e **Note:** This field takes effect only when \u003cspan pulumi-lang-nodejs=\"`principalId`\" pulumi-lang-dotnet=\"`PrincipalId`\" pulumi-lang-go=\"`principalId`\" pulumi-lang-python=\"`principal_id`\" pulumi-lang-yaml=\"`principalId`\" pulumi-lang-java=\"`principalId`\"\u003e`principal_id`\u003c/span\u003e is a `Service Principal` identity.\n","willReplaceOnChanges":true}},"requiredInputs":["principalId"],"stateInputs":{"description":"Input properties used for looking up and filtering RoleAssignment resources.\n","properties":{"condition":{"type":"string","description":"The condition that limits the resources that the role can be assigned to. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"conditionVersion":{"type":"string","description":"The version of the condition. Possible values are `1.0` or `2.0`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"delegatedManagedIdentityResourceId":{"type":"string","description":"The delegated Azure Resource ID which contains a Managed Identity. Changing this forces a new resource to be created.\n\n\u003e **Note:** This field is only used in cross tenant scenarios.\n","willReplaceOnChanges":true},"description":{"type":"string","description":"The description for this Role Assignment. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"A unique UUID/GUID for this Role Assignment - one will be generated if not specified. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"principalId":{"type":"string","description":"The ID of the Principal (User, Group or Service Principal) to assign the Role Definition to. Changing this forces a new resource to be created.\n\n\u003e **Note:** The Principal ID is also known as the Object ID (i.e. not the \"Application ID\" for applications). To assign Azure roles, the Principal must have `Microsoft.Authorization/roleAssignments/write` permissions. See [documentation](https://learn.microsoft.com/en-us/azure/role-based-access-control/role-assignments-portal) for more information.\n","willReplaceOnChanges":true},"principalType":{"type":"string","description":"The type of the \u003cspan pulumi-lang-nodejs=\"`principalId`\" pulumi-lang-dotnet=\"`PrincipalId`\" pulumi-lang-go=\"`principalId`\" pulumi-lang-python=\"`principal_id`\" pulumi-lang-yaml=\"`principalId`\" pulumi-lang-java=\"`principalId`\"\u003e`principal_id`\u003c/span\u003e, e.g. User, Group, Service Principal, Application, etc.\n"},"roleDefinitionId":{"type":"string","description":"The Scoped-ID of the Role Definition. Changing this forces a new resource to be created. Conflicts with \u003cspan pulumi-lang-nodejs=\"`roleDefinitionName`\" pulumi-lang-dotnet=\"`RoleDefinitionName`\" pulumi-lang-go=\"`roleDefinitionName`\" pulumi-lang-python=\"`role_definition_name`\" pulumi-lang-yaml=\"`roleDefinitionName`\" pulumi-lang-java=\"`roleDefinitionName`\"\u003e`role_definition_name`\u003c/span\u003e.\n","willReplaceOnChanges":true},"roleDefinitionName":{"type":"string","description":"The name of a built-in Role. Changing this forces a new resource to be created. Conflicts with \u003cspan pulumi-lang-nodejs=\"`roleDefinitionId`\" pulumi-lang-dotnet=\"`RoleDefinitionId`\" pulumi-lang-go=\"`roleDefinitionId`\" pulumi-lang-python=\"`role_definition_id`\" pulumi-lang-yaml=\"`roleDefinitionId`\" pulumi-lang-java=\"`roleDefinitionId`\"\u003e`role_definition_id`\u003c/span\u003e.\n\n\u003e **Note:** To assign `Marketplace Admin` role, the calling Principal must first be assigned Privileged Role Administrator (like `Owner` role) or Global Administrator. See [documentation](https://learn.microsoft.com/en-us/marketplace/create-manage-private-azure-marketplace-new#prerequisites) for more information.\n","willReplaceOnChanges":true},"skipServicePrincipalAadCheck":{"type":"boolean","description":"If the \u003cspan pulumi-lang-nodejs=\"`principalId`\" pulumi-lang-dotnet=\"`PrincipalId`\" pulumi-lang-go=\"`principalId`\" pulumi-lang-python=\"`principal_id`\" pulumi-lang-yaml=\"`principalId`\" pulumi-lang-java=\"`principalId`\"\u003e`principal_id`\u003c/span\u003e is a newly provisioned `Service Principal` set this value to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e to skip the `Azure Active Directory` check which may fail due to replication lag. This argument is only valid if the \u003cspan pulumi-lang-nodejs=\"`principalId`\" pulumi-lang-dotnet=\"`PrincipalId`\" pulumi-lang-go=\"`principalId`\" pulumi-lang-python=\"`principal_id`\" pulumi-lang-yaml=\"`principalId`\" pulumi-lang-java=\"`principalId`\"\u003e`principal_id`\u003c/span\u003e is a `Service Principal` identity. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Changing this forces a new resource to be created.\n\n\u003e **Note:** This field takes effect only when \u003cspan pulumi-lang-nodejs=\"`principalId`\" pulumi-lang-dotnet=\"`PrincipalId`\" pulumi-lang-go=\"`principalId`\" pulumi-lang-python=\"`principal_id`\" pulumi-lang-yaml=\"`principalId`\" pulumi-lang-java=\"`principalId`\"\u003e`principal_id`\u003c/span\u003e is a `Service Principal` identity.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:mongocluster/firewallRule:FirewallRule":{"description":"Manages a Mongo Cluster Firewall Rule.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleMongoCluster = new azure.mongocluster.MongoCluster(\"example\", {\n    name: \"example-mongocluster\",\n    resourceGroupName: example.name,\n    location: example.location,\n    administratorUsername: \"adminuser\",\n    administratorPassword: \"P@ssw0rd1234!\",\n    shardCount: 1,\n    computeTier: \"M30\",\n    highAvailabilityMode: \"Disabled\",\n    storageSizeInGb: 32,\n    version: \"7.0\",\n});\nconst exampleFirewallRule = new azure.mongocluster.FirewallRule(\"example\", {\n    name: \"example-firewall-rule\",\n    mongoClusterId: exampleMongoCluster.id,\n    startIpAddress: \"10.0.0.1\",\n    endIpAddress: \"10.0.0.255\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_mongo_cluster = azure.mongocluster.MongoCluster(\"example\",\n    name=\"example-mongocluster\",\n    resource_group_name=example.name,\n    location=example.location,\n    administrator_username=\"adminuser\",\n    administrator_password=\"P@ssw0rd1234!\",\n    shard_count=1,\n    compute_tier=\"M30\",\n    high_availability_mode=\"Disabled\",\n    storage_size_in_gb=32,\n    version=\"7.0\")\nexample_firewall_rule = azure.mongocluster.FirewallRule(\"example\",\n    name=\"example-firewall-rule\",\n    mongo_cluster_id=example_mongo_cluster.id,\n    start_ip_address=\"10.0.0.1\",\n    end_ip_address=\"10.0.0.255\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleMongoCluster = new Azure.MongoCluster.MongoCluster(\"example\", new()\n    {\n        Name = \"example-mongocluster\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        AdministratorUsername = \"adminuser\",\n        AdministratorPassword = \"P@ssw0rd1234!\",\n        ShardCount = 1,\n        ComputeTier = \"M30\",\n        HighAvailabilityMode = \"Disabled\",\n        StorageSizeInGb = 32,\n        Version = \"7.0\",\n    });\n\n    var exampleFirewallRule = new Azure.MongoCluster.FirewallRule(\"example\", new()\n    {\n        Name = \"example-firewall-rule\",\n        MongoClusterId = exampleMongoCluster.Id,\n        StartIpAddress = \"10.0.0.1\",\n        EndIpAddress = \"10.0.0.255\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/mongocluster\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleMongoCluster, err := mongocluster.NewMongoCluster(ctx, \"example\", \u0026mongocluster.MongoClusterArgs{\n\t\t\tName:                  pulumi.String(\"example-mongocluster\"),\n\t\t\tResourceGroupName:     example.Name,\n\t\t\tLocation:              example.Location,\n\t\t\tAdministratorUsername: pulumi.String(\"adminuser\"),\n\t\t\tAdministratorPassword: pulumi.String(\"P@ssw0rd1234!\"),\n\t\t\tShardCount:            pulumi.Int(1),\n\t\t\tComputeTier:           pulumi.String(\"M30\"),\n\t\t\tHighAvailabilityMode:  pulumi.String(\"Disabled\"),\n\t\t\tStorageSizeInGb:       pulumi.Int(32),\n\t\t\tVersion:               pulumi.String(\"7.0\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = mongocluster.NewFirewallRule(ctx, \"example\", \u0026mongocluster.FirewallRuleArgs{\n\t\t\tName:           pulumi.String(\"example-firewall-rule\"),\n\t\t\tMongoClusterId: exampleMongoCluster.ID(),\n\t\t\tStartIpAddress: pulumi.String(\"10.0.0.1\"),\n\t\t\tEndIpAddress:   pulumi.String(\"10.0.0.255\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.mongocluster.MongoCluster;\nimport com.pulumi.azure.mongocluster.MongoClusterArgs;\nimport com.pulumi.azure.mongocluster.FirewallRule;\nimport com.pulumi.azure.mongocluster.FirewallRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleMongoCluster = new MongoCluster(\"exampleMongoCluster\", MongoClusterArgs.builder()\n            .name(\"example-mongocluster\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .administratorUsername(\"adminuser\")\n            .administratorPassword(\"P@ssw0rd1234!\")\n            .shardCount(1)\n            .computeTier(\"M30\")\n            .highAvailabilityMode(\"Disabled\")\n            .storageSizeInGb(32)\n            .version(\"7.0\")\n            .build());\n\n        var exampleFirewallRule = new FirewallRule(\"exampleFirewallRule\", FirewallRuleArgs.builder()\n            .name(\"example-firewall-rule\")\n            .mongoClusterId(exampleMongoCluster.id())\n            .startIpAddress(\"10.0.0.1\")\n            .endIpAddress(\"10.0.0.255\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleMongoCluster:\n    type: azure:mongocluster:MongoCluster\n    name: example\n    properties:\n      name: example-mongocluster\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      administratorUsername: adminuser\n      administratorPassword: P@ssw0rd1234!\n      shardCount: 1\n      computeTier: M30\n      highAvailabilityMode: Disabled\n      storageSizeInGb: 32\n      version: '7.0'\n  exampleFirewallRule:\n    type: azure:mongocluster:FirewallRule\n    name: example\n    properties:\n      name: example-firewall-rule\n      mongoClusterId: ${exampleMongoCluster.id}\n      startIpAddress: 10.0.0.1\n      endIpAddress: 10.0.0.255\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.DocumentDB` - 2025-09-01\n\n## Import\n\nMongo Cluster Firewall Rules can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:mongocluster/firewallRule:FirewallRule example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.DocumentDB/mongoClusters/cluster1/firewallRules/rule1\n```\n\n","properties":{"endIpAddress":{"type":"string","description":"The end IP address of the Mongo Cluster Firewall Rule.\n"},"mongoClusterId":{"type":"string","description":"The ID of the Mongo Cluster. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"The name of the Mongo Cluster Firewall Rule. Changing this forces a new resource to be created.\n"},"startIpAddress":{"type":"string","description":"The start IP address of the Mongo Cluster Firewall Rule.\n"}},"required":["endIpAddress","mongoClusterId","name","startIpAddress"],"inputProperties":{"endIpAddress":{"type":"string","description":"The end IP address of the Mongo Cluster Firewall Rule.\n"},"mongoClusterId":{"type":"string","description":"The ID of the Mongo Cluster. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the Mongo Cluster Firewall Rule. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"startIpAddress":{"type":"string","description":"The start IP address of the Mongo Cluster Firewall Rule.\n"}},"requiredInputs":["endIpAddress","mongoClusterId","startIpAddress"],"stateInputs":{"description":"Input properties used for looking up and filtering FirewallRule resources.\n","properties":{"endIpAddress":{"type":"string","description":"The end IP address of the Mongo Cluster Firewall Rule.\n"},"mongoClusterId":{"type":"string","description":"The ID of the Mongo Cluster. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the Mongo Cluster Firewall Rule. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"startIpAddress":{"type":"string","description":"The start IP address of the Mongo Cluster Firewall Rule.\n"}},"type":"object"}},"azure:mongocluster/mongoCluster:MongoCluster":{"description":"Manages a MongoDB Cluster using vCore Architecture.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-rg\",\n    location: \"East US\",\n});\nconst exampleMongoCluster = new azure.mongocluster.MongoCluster(\"example\", {\n    name: \"example-mc\",\n    resourceGroupName: example.name,\n    location: example.location,\n    administratorUsername: \"adminTerraform\",\n    administratorPassword: \"QAZwsx123\",\n    shardCount: 1,\n    computeTier: \"Free\",\n    highAvailabilityMode: \"Disabled\",\n    storageSizeInGb: 32,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-rg\",\n    location=\"East US\")\nexample_mongo_cluster = azure.mongocluster.MongoCluster(\"example\",\n    name=\"example-mc\",\n    resource_group_name=example.name,\n    location=example.location,\n    administrator_username=\"adminTerraform\",\n    administrator_password=\"QAZwsx123\",\n    shard_count=1,\n    compute_tier=\"Free\",\n    high_availability_mode=\"Disabled\",\n    storage_size_in_gb=32)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-rg\",\n        Location = \"East US\",\n    });\n\n    var exampleMongoCluster = new Azure.MongoCluster.MongoCluster(\"example\", new()\n    {\n        Name = \"example-mc\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        AdministratorUsername = \"adminTerraform\",\n        AdministratorPassword = \"QAZwsx123\",\n        ShardCount = 1,\n        ComputeTier = \"Free\",\n        HighAvailabilityMode = \"Disabled\",\n        StorageSizeInGb = 32,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/mongocluster\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-rg\"),\n\t\t\tLocation: pulumi.String(\"East US\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = mongocluster.NewMongoCluster(ctx, \"example\", \u0026mongocluster.MongoClusterArgs{\n\t\t\tName:                  pulumi.String(\"example-mc\"),\n\t\t\tResourceGroupName:     example.Name,\n\t\t\tLocation:              example.Location,\n\t\t\tAdministratorUsername: pulumi.String(\"adminTerraform\"),\n\t\t\tAdministratorPassword: pulumi.String(\"QAZwsx123\"),\n\t\t\tShardCount:            pulumi.Int(1),\n\t\t\tComputeTier:           pulumi.String(\"Free\"),\n\t\t\tHighAvailabilityMode:  pulumi.String(\"Disabled\"),\n\t\t\tStorageSizeInGb:       pulumi.Int(32),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.mongocluster.MongoCluster;\nimport com.pulumi.azure.mongocluster.MongoClusterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-rg\")\n            .location(\"East US\")\n            .build());\n\n        var exampleMongoCluster = new MongoCluster(\"exampleMongoCluster\", MongoClusterArgs.builder()\n            .name(\"example-mc\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .administratorUsername(\"adminTerraform\")\n            .administratorPassword(\"QAZwsx123\")\n            .shardCount(1)\n            .computeTier(\"Free\")\n            .highAvailabilityMode(\"Disabled\")\n            .storageSizeInGb(32)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-rg\n      location: East US\n  exampleMongoCluster:\n    type: azure:mongocluster:MongoCluster\n    name: example\n    properties:\n      name: example-mc\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      administratorUsername: adminTerraform\n      administratorPassword: QAZwsx123\n      shardCount: '1'\n      computeTier: Free\n      highAvailabilityMode: Disabled\n      storageSizeInGb: '32'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\n### Preview Feature GeoReplicas)\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-rg\",\n    location: \"East US\",\n});\nconst exampleMongoCluster = new azure.mongocluster.MongoCluster(\"example\", {\n    name: \"example-mc\",\n    resourceGroupName: example.name,\n    location: example.location,\n    administratorUsername: \"adminTerraform\",\n    administratorPassword: \"QAZwsx123\",\n    shardCount: 1,\n    computeTier: \"M30\",\n    highAvailabilityMode: \"ZoneRedundantPreferred\",\n    storageSizeInGb: 64,\n    previewFeatures: [\"GeoReplicas\"],\n});\nconst exampleGeoReplica = new azure.mongocluster.MongoCluster(\"example_geo_replica\", {\n    name: \"example-mc-geo\",\n    resourceGroupName: example.name,\n    location: \"Central US\",\n    sourceServerId: exampleMongoCluster.id,\n    sourceLocation: exampleMongoCluster.location,\n    createMode: \"GeoReplica\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-rg\",\n    location=\"East US\")\nexample_mongo_cluster = azure.mongocluster.MongoCluster(\"example\",\n    name=\"example-mc\",\n    resource_group_name=example.name,\n    location=example.location,\n    administrator_username=\"adminTerraform\",\n    administrator_password=\"QAZwsx123\",\n    shard_count=1,\n    compute_tier=\"M30\",\n    high_availability_mode=\"ZoneRedundantPreferred\",\n    storage_size_in_gb=64,\n    preview_features=[\"GeoReplicas\"])\nexample_geo_replica = azure.mongocluster.MongoCluster(\"example_geo_replica\",\n    name=\"example-mc-geo\",\n    resource_group_name=example.name,\n    location=\"Central US\",\n    source_server_id=example_mongo_cluster.id,\n    source_location=example_mongo_cluster.location,\n    create_mode=\"GeoReplica\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-rg\",\n        Location = \"East US\",\n    });\n\n    var exampleMongoCluster = new Azure.MongoCluster.MongoCluster(\"example\", new()\n    {\n        Name = \"example-mc\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        AdministratorUsername = \"adminTerraform\",\n        AdministratorPassword = \"QAZwsx123\",\n        ShardCount = 1,\n        ComputeTier = \"M30\",\n        HighAvailabilityMode = \"ZoneRedundantPreferred\",\n        StorageSizeInGb = 64,\n        PreviewFeatures = new[]\n        {\n            \"GeoReplicas\",\n        },\n    });\n\n    var exampleGeoReplica = new Azure.MongoCluster.MongoCluster(\"example_geo_replica\", new()\n    {\n        Name = \"example-mc-geo\",\n        ResourceGroupName = example.Name,\n        Location = \"Central US\",\n        SourceServerId = exampleMongoCluster.Id,\n        SourceLocation = exampleMongoCluster.Location,\n        CreateMode = \"GeoReplica\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/mongocluster\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-rg\"),\n\t\t\tLocation: pulumi.String(\"East US\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleMongoCluster, err := mongocluster.NewMongoCluster(ctx, \"example\", \u0026mongocluster.MongoClusterArgs{\n\t\t\tName:                  pulumi.String(\"example-mc\"),\n\t\t\tResourceGroupName:     example.Name,\n\t\t\tLocation:              example.Location,\n\t\t\tAdministratorUsername: pulumi.String(\"adminTerraform\"),\n\t\t\tAdministratorPassword: pulumi.String(\"QAZwsx123\"),\n\t\t\tShardCount:            pulumi.Int(1),\n\t\t\tComputeTier:           pulumi.String(\"M30\"),\n\t\t\tHighAvailabilityMode:  pulumi.String(\"ZoneRedundantPreferred\"),\n\t\t\tStorageSizeInGb:       pulumi.Int(64),\n\t\t\tPreviewFeatures: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"GeoReplicas\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = mongocluster.NewMongoCluster(ctx, \"example_geo_replica\", \u0026mongocluster.MongoClusterArgs{\n\t\t\tName:              pulumi.String(\"example-mc-geo\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          pulumi.String(\"Central US\"),\n\t\t\tSourceServerId:    exampleMongoCluster.ID(),\n\t\t\tSourceLocation:    exampleMongoCluster.Location,\n\t\t\tCreateMode:        pulumi.String(\"GeoReplica\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.mongocluster.MongoCluster;\nimport com.pulumi.azure.mongocluster.MongoClusterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-rg\")\n            .location(\"East US\")\n            .build());\n\n        var exampleMongoCluster = new MongoCluster(\"exampleMongoCluster\", MongoClusterArgs.builder()\n            .name(\"example-mc\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .administratorUsername(\"adminTerraform\")\n            .administratorPassword(\"QAZwsx123\")\n            .shardCount(1)\n            .computeTier(\"M30\")\n            .highAvailabilityMode(\"ZoneRedundantPreferred\")\n            .storageSizeInGb(64)\n            .previewFeatures(\"GeoReplicas\")\n            .build());\n\n        var exampleGeoReplica = new MongoCluster(\"exampleGeoReplica\", MongoClusterArgs.builder()\n            .name(\"example-mc-geo\")\n            .resourceGroupName(example.name())\n            .location(\"Central US\")\n            .sourceServerId(exampleMongoCluster.id())\n            .sourceLocation(exampleMongoCluster.location())\n            .createMode(\"GeoReplica\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-rg\n      location: East US\n  exampleMongoCluster:\n    type: azure:mongocluster:MongoCluster\n    name: example\n    properties:\n      name: example-mc\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      administratorUsername: adminTerraform\n      administratorPassword: QAZwsx123\n      shardCount: '1'\n      computeTier: M30\n      highAvailabilityMode: ZoneRedundantPreferred\n      storageSizeInGb: '64'\n      previewFeatures:\n        - GeoReplicas\n  exampleGeoReplica:\n    type: azure:mongocluster:MongoCluster\n    name: example_geo_replica\n    properties:\n      name: example-mc-geo\n      resourceGroupName: ${example.name}\n      location: Central US\n      sourceServerId: ${exampleMongoCluster.id}\n      sourceLocation: ${exampleMongoCluster.location}\n      createMode: GeoReplica\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.DocumentDB` - 2025-09-01\n\n## Import\n\nMongoDB Clusters can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:mongocluster/mongoCluster:MongoCluster example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.DocumentDB/mongoClusters/myMongoCluster\n```\n\n","properties":{"administratorPassword":{"type":"string","description":"The Password associated with the \u003cspan pulumi-lang-nodejs=\"`administratorUsername`\" pulumi-lang-dotnet=\"`AdministratorUsername`\" pulumi-lang-go=\"`administratorUsername`\" pulumi-lang-python=\"`administrator_username`\" pulumi-lang-yaml=\"`administratorUsername`\" pulumi-lang-java=\"`administratorUsername`\"\u003e`administrator_username`\u003c/span\u003e for the MongoDB Cluster.\n","secret":true},"administratorUsername":{"type":"string","description":"The administrator username of the MongoDB Cluster. Changing this forces a new resource to be created.\n"},"authenticationMethods":{"type":"array","items":{"type":"string"},"description":"A list of allowed authentication modes for the MongoDB Cluster. Possible values are `NativeAuth` and `MicrosoftEntraID`.\n"},"computeTier":{"type":"string","description":"The compute tier to assign to the MongoDB Cluster. Possible values are `Free`, `M10`, `M20`, `M25`, `M30`, `M40`, `M50`, `M60`, `M80`, and `M200`.\n"},"connectionStrings":{"type":"array","items":{"$ref":"#/types/azure:mongocluster/MongoClusterConnectionString:MongoClusterConnectionString"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`connectionStrings`\" pulumi-lang-dotnet=\"`ConnectionStrings`\" pulumi-lang-go=\"`connectionStrings`\" pulumi-lang-python=\"`connection_strings`\" pulumi-lang-yaml=\"`connectionStrings`\" pulumi-lang-java=\"`connectionStrings`\"\u003e`connection_strings`\u003c/span\u003e blocks as defined below.\n","secret":true},"createMode":{"type":"string","description":"The creation mode for the MongoDB Cluster. Possible values are `Default`, `GeoReplica` and `PointInTimeRestore`. Defaults to `Default`. Changing this forces a new resource to be created.\n"},"customerManagedKey":{"$ref":"#/types/azure:mongocluster/MongoClusterCustomerManagedKey:MongoClusterCustomerManagedKey","description":"A \u003cspan pulumi-lang-nodejs=\"`customerManagedKey`\" pulumi-lang-dotnet=\"`CustomerManagedKey`\" pulumi-lang-go=\"`customerManagedKey`\" pulumi-lang-python=\"`customer_managed_key`\" pulumi-lang-yaml=\"`customerManagedKey`\" pulumi-lang-java=\"`customerManagedKey`\"\u003e`customer_managed_key`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n"},"dataApiModeEnabled":{"type":"boolean","description":"Is the Data API for the MongoDB Cluster enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`dataApiModeEnabled`\" pulumi-lang-dotnet=\"`DataApiModeEnabled`\" pulumi-lang-go=\"`dataApiModeEnabled`\" pulumi-lang-python=\"`data_api_mode_enabled`\" pulumi-lang-yaml=\"`dataApiModeEnabled`\" pulumi-lang-java=\"`dataApiModeEnabled`\"\u003e`data_api_mode_enabled`\u003c/span\u003e can only be set when \u003cspan pulumi-lang-nodejs=\"`createMode`\" pulumi-lang-dotnet=\"`CreateMode`\" pulumi-lang-go=\"`createMode`\" pulumi-lang-python=\"`create_mode`\" pulumi-lang-yaml=\"`createMode`\" pulumi-lang-java=\"`createMode`\"\u003e`create_mode`\u003c/span\u003e is `Default`. Once enabled, it can only be disabled by recreating the resource.\n"},"highAvailabilityMode":{"type":"string","description":"The high availability mode for the MongoDB Cluster. Possibles values are `Disabled` and `ZoneRedundantPreferred`.\n"},"identity":{"$ref":"#/types/azure:mongocluster/MongoClusterIdentity:MongoClusterIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as detailed below.\n\n\u003e **Note:** When adding or removing \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e, a resource recreation will be triggered.\n"},"location":{"type":"string","description":"The supported Azure location where the MongoDB Cluster exists. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"The name which should be used for the MongoDB Cluster. Changing this forces a new resource to be created.\n"},"previewFeatures":{"type":"array","items":{"type":"string"},"description":"The preview features that can be enabled on the MongoDB Cluster. Changing this forces a new resource to be created.\n"},"publicNetworkAccess":{"type":"string","description":"The Public Network Access setting for the MongoDB Cluster. Possibles values are `Disabled` and `Enabled`. Defaults to `Enabled`.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the MongoDB Cluster. Changing this forces a new resource to be created.\n"},"restore":{"$ref":"#/types/azure:mongocluster/MongoClusterRestore:MongoClusterRestore","description":"A \u003cspan pulumi-lang-nodejs=\"`restore`\" pulumi-lang-dotnet=\"`Restore`\" pulumi-lang-go=\"`restore`\" pulumi-lang-python=\"`restore`\" pulumi-lang-yaml=\"`restore`\" pulumi-lang-java=\"`restore`\"\u003e`restore`\u003c/span\u003e block as defined below. Required when \u003cspan pulumi-lang-nodejs=\"`createMode`\" pulumi-lang-dotnet=\"`CreateMode`\" pulumi-lang-go=\"`createMode`\" pulumi-lang-python=\"`create_mode`\" pulumi-lang-yaml=\"`createMode`\" pulumi-lang-java=\"`createMode`\"\u003e`create_mode`\u003c/span\u003e is set to `PointInTimeRestore`. Changing this forces a new resource to be created.\n\n\u003e **Note:** When `PointInTimeRestore` is enabled, service API will also assign a value to \u003cspan pulumi-lang-nodejs=\"`sourceServerId`\" pulumi-lang-dotnet=\"`SourceServerId`\" pulumi-lang-go=\"`sourceServerId`\" pulumi-lang-python=\"`source_server_id`\" pulumi-lang-yaml=\"`sourceServerId`\" pulumi-lang-java=\"`sourceServerId`\"\u003e`source_server_id`\u003c/span\u003e. The user has to explicitly set this property in the Terraform configuration or handle it using \u003cspan pulumi-lang-nodejs=\"`ignoreChanges`\" pulumi-lang-dotnet=\"`IgnoreChanges`\" pulumi-lang-go=\"`ignoreChanges`\" pulumi-lang-python=\"`ignore_changes`\" pulumi-lang-yaml=\"`ignoreChanges`\" pulumi-lang-java=\"`ignoreChanges`\"\u003e`ignore_changes`\u003c/span\u003e.\n"},"shardCount":{"type":"integer","description":"The Number of shards to provision on the MongoDB Cluster. Changing this forces a new resource to be created.\n"},"sourceLocation":{"type":"string","description":"The location of the source MongoDB Cluster. Changing this forces a new resource to be created.\n"},"sourceServerId":{"type":"string","description":"The ID of the replication source MongoDB Cluster. Changing this forces a new resource to be created.\n"},"storageSizeInGb":{"type":"integer","description":"The size of the data disk space for the MongoDB Cluster.\n"},"storageType":{"type":"string","description":"The storage type for the MongoDB Cluster. Possible values are `PremiumSSD` and `PremiumSSDv2`. Defaults to `PremiumSSD`. Changing this forces a new resource to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the MongoDB Cluster.\n"},"version":{"type":"string","description":"The version for the MongoDB Cluster. Possibles values are `5.0`, `6.0`, `7.0` and `8.0`.\n"}},"required":["authenticationMethods","connectionStrings","location","name","resourceGroupName"],"inputProperties":{"administratorPassword":{"type":"string","description":"The Password associated with the \u003cspan pulumi-lang-nodejs=\"`administratorUsername`\" pulumi-lang-dotnet=\"`AdministratorUsername`\" pulumi-lang-go=\"`administratorUsername`\" pulumi-lang-python=\"`administrator_username`\" pulumi-lang-yaml=\"`administratorUsername`\" pulumi-lang-java=\"`administratorUsername`\"\u003e`administrator_username`\u003c/span\u003e for the MongoDB Cluster.\n","secret":true},"administratorUsername":{"type":"string","description":"The administrator username of the MongoDB Cluster. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"authenticationMethods":{"type":"array","items":{"type":"string"},"description":"A list of allowed authentication modes for the MongoDB Cluster. Possible values are `NativeAuth` and `MicrosoftEntraID`.\n"},"computeTier":{"type":"string","description":"The compute tier to assign to the MongoDB Cluster. Possible values are `Free`, `M10`, `M20`, `M25`, `M30`, `M40`, `M50`, `M60`, `M80`, and `M200`.\n"},"createMode":{"type":"string","description":"The creation mode for the MongoDB Cluster. Possible values are `Default`, `GeoReplica` and `PointInTimeRestore`. Defaults to `Default`. Changing this forces a new resource to be created.\n"},"customerManagedKey":{"$ref":"#/types/azure:mongocluster/MongoClusterCustomerManagedKey:MongoClusterCustomerManagedKey","description":"A \u003cspan pulumi-lang-nodejs=\"`customerManagedKey`\" pulumi-lang-dotnet=\"`CustomerManagedKey`\" pulumi-lang-go=\"`customerManagedKey`\" pulumi-lang-python=\"`customer_managed_key`\" pulumi-lang-yaml=\"`customerManagedKey`\" pulumi-lang-java=\"`customerManagedKey`\"\u003e`customer_managed_key`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"dataApiModeEnabled":{"type":"boolean","description":"Is the Data API for the MongoDB Cluster enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`dataApiModeEnabled`\" pulumi-lang-dotnet=\"`DataApiModeEnabled`\" pulumi-lang-go=\"`dataApiModeEnabled`\" pulumi-lang-python=\"`data_api_mode_enabled`\" pulumi-lang-yaml=\"`dataApiModeEnabled`\" pulumi-lang-java=\"`dataApiModeEnabled`\"\u003e`data_api_mode_enabled`\u003c/span\u003e can only be set when \u003cspan pulumi-lang-nodejs=\"`createMode`\" pulumi-lang-dotnet=\"`CreateMode`\" pulumi-lang-go=\"`createMode`\" pulumi-lang-python=\"`create_mode`\" pulumi-lang-yaml=\"`createMode`\" pulumi-lang-java=\"`createMode`\"\u003e`create_mode`\u003c/span\u003e is `Default`. Once enabled, it can only be disabled by recreating the resource.\n"},"highAvailabilityMode":{"type":"string","description":"The high availability mode for the MongoDB Cluster. Possibles values are `Disabled` and `ZoneRedundantPreferred`.\n"},"identity":{"$ref":"#/types/azure:mongocluster/MongoClusterIdentity:MongoClusterIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as detailed below.\n\n\u003e **Note:** When adding or removing \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e, a resource recreation will be triggered.\n"},"location":{"type":"string","description":"The supported Azure location where the MongoDB Cluster exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for the MongoDB Cluster. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"previewFeatures":{"type":"array","items":{"type":"string"},"description":"The preview features that can be enabled on the MongoDB Cluster. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"publicNetworkAccess":{"type":"string","description":"The Public Network Access setting for the MongoDB Cluster. Possibles values are `Disabled` and `Enabled`. Defaults to `Enabled`.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the MongoDB Cluster. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"restore":{"$ref":"#/types/azure:mongocluster/MongoClusterRestore:MongoClusterRestore","description":"A \u003cspan pulumi-lang-nodejs=\"`restore`\" pulumi-lang-dotnet=\"`Restore`\" pulumi-lang-go=\"`restore`\" pulumi-lang-python=\"`restore`\" pulumi-lang-yaml=\"`restore`\" pulumi-lang-java=\"`restore`\"\u003e`restore`\u003c/span\u003e block as defined below. Required when \u003cspan pulumi-lang-nodejs=\"`createMode`\" pulumi-lang-dotnet=\"`CreateMode`\" pulumi-lang-go=\"`createMode`\" pulumi-lang-python=\"`create_mode`\" pulumi-lang-yaml=\"`createMode`\" pulumi-lang-java=\"`createMode`\"\u003e`create_mode`\u003c/span\u003e is set to `PointInTimeRestore`. Changing this forces a new resource to be created.\n\n\u003e **Note:** When `PointInTimeRestore` is enabled, service API will also assign a value to \u003cspan pulumi-lang-nodejs=\"`sourceServerId`\" pulumi-lang-dotnet=\"`SourceServerId`\" pulumi-lang-go=\"`sourceServerId`\" pulumi-lang-python=\"`source_server_id`\" pulumi-lang-yaml=\"`sourceServerId`\" pulumi-lang-java=\"`sourceServerId`\"\u003e`source_server_id`\u003c/span\u003e. The user has to explicitly set this property in the Terraform configuration or handle it using \u003cspan pulumi-lang-nodejs=\"`ignoreChanges`\" pulumi-lang-dotnet=\"`IgnoreChanges`\" pulumi-lang-go=\"`ignoreChanges`\" pulumi-lang-python=\"`ignore_changes`\" pulumi-lang-yaml=\"`ignoreChanges`\" pulumi-lang-java=\"`ignoreChanges`\"\u003e`ignore_changes`\u003c/span\u003e.\n","willReplaceOnChanges":true},"shardCount":{"type":"integer","description":"The Number of shards to provision on the MongoDB Cluster. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sourceLocation":{"type":"string","description":"The location of the source MongoDB Cluster. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sourceServerId":{"type":"string","description":"The ID of the replication source MongoDB Cluster. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"storageSizeInGb":{"type":"integer","description":"The size of the data disk space for the MongoDB Cluster.\n"},"storageType":{"type":"string","description":"The storage type for the MongoDB Cluster. Possible values are `PremiumSSD` and `PremiumSSDv2`. Defaults to `PremiumSSD`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the MongoDB Cluster.\n"},"version":{"type":"string","description":"The version for the MongoDB Cluster. Possibles values are `5.0`, `6.0`, `7.0` and `8.0`.\n"}},"requiredInputs":["resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering MongoCluster resources.\n","properties":{"administratorPassword":{"type":"string","description":"The Password associated with the \u003cspan pulumi-lang-nodejs=\"`administratorUsername`\" pulumi-lang-dotnet=\"`AdministratorUsername`\" pulumi-lang-go=\"`administratorUsername`\" pulumi-lang-python=\"`administrator_username`\" pulumi-lang-yaml=\"`administratorUsername`\" pulumi-lang-java=\"`administratorUsername`\"\u003e`administrator_username`\u003c/span\u003e for the MongoDB Cluster.\n","secret":true},"administratorUsername":{"type":"string","description":"The administrator username of the MongoDB Cluster. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"authenticationMethods":{"type":"array","items":{"type":"string"},"description":"A list of allowed authentication modes for the MongoDB Cluster. Possible values are `NativeAuth` and `MicrosoftEntraID`.\n"},"computeTier":{"type":"string","description":"The compute tier to assign to the MongoDB Cluster. Possible values are `Free`, `M10`, `M20`, `M25`, `M30`, `M40`, `M50`, `M60`, `M80`, and `M200`.\n"},"connectionStrings":{"type":"array","items":{"$ref":"#/types/azure:mongocluster/MongoClusterConnectionString:MongoClusterConnectionString"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`connectionStrings`\" pulumi-lang-dotnet=\"`ConnectionStrings`\" pulumi-lang-go=\"`connectionStrings`\" pulumi-lang-python=\"`connection_strings`\" pulumi-lang-yaml=\"`connectionStrings`\" pulumi-lang-java=\"`connectionStrings`\"\u003e`connection_strings`\u003c/span\u003e blocks as defined below.\n","secret":true},"createMode":{"type":"string","description":"The creation mode for the MongoDB Cluster. Possible values are `Default`, `GeoReplica` and `PointInTimeRestore`. Defaults to `Default`. Changing this forces a new resource to be created.\n"},"customerManagedKey":{"$ref":"#/types/azure:mongocluster/MongoClusterCustomerManagedKey:MongoClusterCustomerManagedKey","description":"A \u003cspan pulumi-lang-nodejs=\"`customerManagedKey`\" pulumi-lang-dotnet=\"`CustomerManagedKey`\" pulumi-lang-go=\"`customerManagedKey`\" pulumi-lang-python=\"`customer_managed_key`\" pulumi-lang-yaml=\"`customerManagedKey`\" pulumi-lang-java=\"`customerManagedKey`\"\u003e`customer_managed_key`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"dataApiModeEnabled":{"type":"boolean","description":"Is the Data API for the MongoDB Cluster enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`dataApiModeEnabled`\" pulumi-lang-dotnet=\"`DataApiModeEnabled`\" pulumi-lang-go=\"`dataApiModeEnabled`\" pulumi-lang-python=\"`data_api_mode_enabled`\" pulumi-lang-yaml=\"`dataApiModeEnabled`\" pulumi-lang-java=\"`dataApiModeEnabled`\"\u003e`data_api_mode_enabled`\u003c/span\u003e can only be set when \u003cspan pulumi-lang-nodejs=\"`createMode`\" pulumi-lang-dotnet=\"`CreateMode`\" pulumi-lang-go=\"`createMode`\" pulumi-lang-python=\"`create_mode`\" pulumi-lang-yaml=\"`createMode`\" pulumi-lang-java=\"`createMode`\"\u003e`create_mode`\u003c/span\u003e is `Default`. Once enabled, it can only be disabled by recreating the resource.\n"},"highAvailabilityMode":{"type":"string","description":"The high availability mode for the MongoDB Cluster. Possibles values are `Disabled` and `ZoneRedundantPreferred`.\n"},"identity":{"$ref":"#/types/azure:mongocluster/MongoClusterIdentity:MongoClusterIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as detailed below.\n\n\u003e **Note:** When adding or removing \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e, a resource recreation will be triggered.\n"},"location":{"type":"string","description":"The supported Azure location where the MongoDB Cluster exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for the MongoDB Cluster. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"previewFeatures":{"type":"array","items":{"type":"string"},"description":"The preview features that can be enabled on the MongoDB Cluster. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"publicNetworkAccess":{"type":"string","description":"The Public Network Access setting for the MongoDB Cluster. Possibles values are `Disabled` and `Enabled`. Defaults to `Enabled`.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the MongoDB Cluster. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"restore":{"$ref":"#/types/azure:mongocluster/MongoClusterRestore:MongoClusterRestore","description":"A \u003cspan pulumi-lang-nodejs=\"`restore`\" pulumi-lang-dotnet=\"`Restore`\" pulumi-lang-go=\"`restore`\" pulumi-lang-python=\"`restore`\" pulumi-lang-yaml=\"`restore`\" pulumi-lang-java=\"`restore`\"\u003e`restore`\u003c/span\u003e block as defined below. Required when \u003cspan pulumi-lang-nodejs=\"`createMode`\" pulumi-lang-dotnet=\"`CreateMode`\" pulumi-lang-go=\"`createMode`\" pulumi-lang-python=\"`create_mode`\" pulumi-lang-yaml=\"`createMode`\" pulumi-lang-java=\"`createMode`\"\u003e`create_mode`\u003c/span\u003e is set to `PointInTimeRestore`. Changing this forces a new resource to be created.\n\n\u003e **Note:** When `PointInTimeRestore` is enabled, service API will also assign a value to \u003cspan pulumi-lang-nodejs=\"`sourceServerId`\" pulumi-lang-dotnet=\"`SourceServerId`\" pulumi-lang-go=\"`sourceServerId`\" pulumi-lang-python=\"`source_server_id`\" pulumi-lang-yaml=\"`sourceServerId`\" pulumi-lang-java=\"`sourceServerId`\"\u003e`source_server_id`\u003c/span\u003e. The user has to explicitly set this property in the Terraform configuration or handle it using \u003cspan pulumi-lang-nodejs=\"`ignoreChanges`\" pulumi-lang-dotnet=\"`IgnoreChanges`\" pulumi-lang-go=\"`ignoreChanges`\" pulumi-lang-python=\"`ignore_changes`\" pulumi-lang-yaml=\"`ignoreChanges`\" pulumi-lang-java=\"`ignoreChanges`\"\u003e`ignore_changes`\u003c/span\u003e.\n","willReplaceOnChanges":true},"shardCount":{"type":"integer","description":"The Number of shards to provision on the MongoDB Cluster. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sourceLocation":{"type":"string","description":"The location of the source MongoDB Cluster. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sourceServerId":{"type":"string","description":"The ID of the replication source MongoDB Cluster. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"storageSizeInGb":{"type":"integer","description":"The size of the data disk space for the MongoDB Cluster.\n"},"storageType":{"type":"string","description":"The storage type for the MongoDB Cluster. Possible values are `PremiumSSD` and `PremiumSSDv2`. Defaults to `PremiumSSD`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the MongoDB Cluster.\n"},"version":{"type":"string","description":"The version for the MongoDB Cluster. Possibles values are `5.0`, `6.0`, `7.0` and `8.0`.\n"}},"type":"object"},"aliases":[{"type":"azure:cosmosdb/mongoCluster:MongoCluster"}]},"azure:mongocluster/user:User":{"description":"Manages a Mongo Cluster User.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst current = azure.core.getClientConfig({});\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleMongoCluster = new azure.mongocluster.MongoCluster(\"example\", {\n    name: \"example-mc\",\n    resourceGroupName: example.name,\n    location: example.location,\n    administratorUsername: \"adminTerraform\",\n    administratorPassword: \"QAZwsx123\",\n    shardCount: 1,\n    computeTier: \"M30\",\n    highAvailabilityMode: \"Disabled\",\n    storageSizeInGb: 32,\n    version: \"8.0\",\n    authenticationMethods: [\n        \"NativeAuth\",\n        \"MicrosoftEntraID\",\n    ],\n});\nconst exampleUser = new azure.mongocluster.User(\"example\", {\n    objectId: current.then(current =\u003e current.objectId),\n    mongoClusterId: exampleMongoCluster.id,\n    identityProviderType: \"MicrosoftEntraID\",\n    principalType: \"servicePrincipal\",\n    roles: [{\n        database: \"admin\",\n        name: \"root\",\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\ncurrent = azure.core.get_client_config()\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_mongo_cluster = azure.mongocluster.MongoCluster(\"example\",\n    name=\"example-mc\",\n    resource_group_name=example.name,\n    location=example.location,\n    administrator_username=\"adminTerraform\",\n    administrator_password=\"QAZwsx123\",\n    shard_count=1,\n    compute_tier=\"M30\",\n    high_availability_mode=\"Disabled\",\n    storage_size_in_gb=32,\n    version=\"8.0\",\n    authentication_methods=[\n        \"NativeAuth\",\n        \"MicrosoftEntraID\",\n    ])\nexample_user = azure.mongocluster.User(\"example\",\n    object_id=current.object_id,\n    mongo_cluster_id=example_mongo_cluster.id,\n    identity_provider_type=\"MicrosoftEntraID\",\n    principal_type=\"servicePrincipal\",\n    roles=[{\n        \"database\": \"admin\",\n        \"name\": \"root\",\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var current = Azure.Core.GetClientConfig.Invoke();\n\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleMongoCluster = new Azure.MongoCluster.MongoCluster(\"example\", new()\n    {\n        Name = \"example-mc\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        AdministratorUsername = \"adminTerraform\",\n        AdministratorPassword = \"QAZwsx123\",\n        ShardCount = 1,\n        ComputeTier = \"M30\",\n        HighAvailabilityMode = \"Disabled\",\n        StorageSizeInGb = 32,\n        Version = \"8.0\",\n        AuthenticationMethods = new[]\n        {\n            \"NativeAuth\",\n            \"MicrosoftEntraID\",\n        },\n    });\n\n    var exampleUser = new Azure.MongoCluster.User(\"example\", new()\n    {\n        ObjectId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.ObjectId),\n        MongoClusterId = exampleMongoCluster.Id,\n        IdentityProviderType = \"MicrosoftEntraID\",\n        PrincipalType = \"servicePrincipal\",\n        Roles = new[]\n        {\n            new Azure.MongoCluster.Inputs.UserRoleArgs\n            {\n                Database = \"admin\",\n                Name = \"root\",\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/mongocluster\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := core.GetClientConfig(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleMongoCluster, err := mongocluster.NewMongoCluster(ctx, \"example\", \u0026mongocluster.MongoClusterArgs{\n\t\t\tName:                  pulumi.String(\"example-mc\"),\n\t\t\tResourceGroupName:     example.Name,\n\t\t\tLocation:              example.Location,\n\t\t\tAdministratorUsername: pulumi.String(\"adminTerraform\"),\n\t\t\tAdministratorPassword: pulumi.String(\"QAZwsx123\"),\n\t\t\tShardCount:            pulumi.Int(1),\n\t\t\tComputeTier:           pulumi.String(\"M30\"),\n\t\t\tHighAvailabilityMode:  pulumi.String(\"Disabled\"),\n\t\t\tStorageSizeInGb:       pulumi.Int(32),\n\t\t\tVersion:               pulumi.String(\"8.0\"),\n\t\t\tAuthenticationMethods: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"NativeAuth\"),\n\t\t\t\tpulumi.String(\"MicrosoftEntraID\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = mongocluster.NewUser(ctx, \"example\", \u0026mongocluster.UserArgs{\n\t\t\tObjectId:             pulumi.String(current.ObjectId),\n\t\t\tMongoClusterId:       exampleMongoCluster.ID(),\n\t\t\tIdentityProviderType: pulumi.String(\"MicrosoftEntraID\"),\n\t\t\tPrincipalType:        pulumi.String(\"servicePrincipal\"),\n\t\t\tRoles: mongocluster.UserRoleArray{\n\t\t\t\t\u0026mongocluster.UserRoleArgs{\n\t\t\t\t\tDatabase: pulumi.String(\"admin\"),\n\t\t\t\t\tName:     pulumi.String(\"root\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.mongocluster.MongoCluster;\nimport com.pulumi.azure.mongocluster.MongoClusterArgs;\nimport com.pulumi.azure.mongocluster.User;\nimport com.pulumi.azure.mongocluster.UserArgs;\nimport com.pulumi.azure.mongocluster.inputs.UserRoleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var current = CoreFunctions.getClientConfig(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleMongoCluster = new MongoCluster(\"exampleMongoCluster\", MongoClusterArgs.builder()\n            .name(\"example-mc\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .administratorUsername(\"adminTerraform\")\n            .administratorPassword(\"QAZwsx123\")\n            .shardCount(1)\n            .computeTier(\"M30\")\n            .highAvailabilityMode(\"Disabled\")\n            .storageSizeInGb(32)\n            .version(\"8.0\")\n            .authenticationMethods(            \n                \"NativeAuth\",\n                \"MicrosoftEntraID\")\n            .build());\n\n        var exampleUser = new User(\"exampleUser\", UserArgs.builder()\n            .objectId(current.objectId())\n            .mongoClusterId(exampleMongoCluster.id())\n            .identityProviderType(\"MicrosoftEntraID\")\n            .principalType(\"servicePrincipal\")\n            .roles(UserRoleArgs.builder()\n                .database(\"admin\")\n                .name(\"root\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleMongoCluster:\n    type: azure:mongocluster:MongoCluster\n    name: example\n    properties:\n      name: example-mc\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      administratorUsername: adminTerraform\n      administratorPassword: QAZwsx123\n      shardCount: '1'\n      computeTier: M30\n      highAvailabilityMode: Disabled\n      storageSizeInGb: '32'\n      version: '8.0'\n      authenticationMethods:\n        - NativeAuth\n        - MicrosoftEntraID\n  exampleUser:\n    type: azure:mongocluster:User\n    name: example\n    properties:\n      objectId: ${current.objectId}\n      mongoClusterId: ${exampleMongoCluster.id}\n      identityProviderType: MicrosoftEntraID\n      principalType: servicePrincipal\n      roles:\n        - database: admin\n          name: root\nvariables:\n  current:\n    fn::invoke:\n      function: azure:core:getClientConfig\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.DocumentDB` - 2025-09-01\n\n## Import\n\nMongo Cluster Users can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:mongocluster/user:User example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.DocumentDB/mongoClusters/cluster1/users/user1\n```\n\n","properties":{"identityProviderType":{"type":"string","description":"The identity provider type for the Mongo Cluster User. The only possible value is `MicrosoftEntraID`. Changing this forces a new resource to be created.\n"},"mongoClusterId":{"type":"string","description":"The ID of the Mongo Cluster where the User should exist. Changing this forces a new resource to be created.\n"},"objectId":{"type":"string","description":"The Object ID of the Entra ID User or Service Principal. Changing this forces a new resource to be created.\n"},"principalType":{"type":"string","description":"The principal type for the Mongo Cluster User. Possible values are \u003cspan pulumi-lang-nodejs=\"`user`\" pulumi-lang-dotnet=\"`User`\" pulumi-lang-go=\"`user`\" pulumi-lang-python=\"`user`\" pulumi-lang-yaml=\"`user`\" pulumi-lang-java=\"`user`\"\u003e`user`\u003c/span\u003e and `servicePrincipal`. Changing this forces a new resource to be created.\n"},"roles":{"type":"array","items":{"$ref":"#/types/azure:mongocluster/UserRole:UserRole"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`role`\" pulumi-lang-dotnet=\"`Role`\" pulumi-lang-go=\"`role`\" pulumi-lang-python=\"`role`\" pulumi-lang-yaml=\"`role`\" pulumi-lang-java=\"`role`\"\u003e`role`\u003c/span\u003e blocks as defined below. Changing this forces a new resource to be created.\n"}},"required":["identityProviderType","mongoClusterId","objectId","principalType","roles"],"inputProperties":{"identityProviderType":{"type":"string","description":"The identity provider type for the Mongo Cluster User. The only possible value is `MicrosoftEntraID`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"mongoClusterId":{"type":"string","description":"The ID of the Mongo Cluster where the User should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"objectId":{"type":"string","description":"The Object ID of the Entra ID User or Service Principal. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"principalType":{"type":"string","description":"The principal type for the Mongo Cluster User. Possible values are \u003cspan pulumi-lang-nodejs=\"`user`\" pulumi-lang-dotnet=\"`User`\" pulumi-lang-go=\"`user`\" pulumi-lang-python=\"`user`\" pulumi-lang-yaml=\"`user`\" pulumi-lang-java=\"`user`\"\u003e`user`\u003c/span\u003e and `servicePrincipal`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"roles":{"type":"array","items":{"$ref":"#/types/azure:mongocluster/UserRole:UserRole"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`role`\" pulumi-lang-dotnet=\"`Role`\" pulumi-lang-go=\"`role`\" pulumi-lang-python=\"`role`\" pulumi-lang-yaml=\"`role`\" pulumi-lang-java=\"`role`\"\u003e`role`\u003c/span\u003e blocks as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["identityProviderType","mongoClusterId","objectId","principalType","roles"],"stateInputs":{"description":"Input properties used for looking up and filtering User resources.\n","properties":{"identityProviderType":{"type":"string","description":"The identity provider type for the Mongo Cluster User. The only possible value is `MicrosoftEntraID`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"mongoClusterId":{"type":"string","description":"The ID of the Mongo Cluster where the User should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"objectId":{"type":"string","description":"The Object ID of the Entra ID User or Service Principal. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"principalType":{"type":"string","description":"The principal type for the Mongo Cluster User. Possible values are \u003cspan pulumi-lang-nodejs=\"`user`\" pulumi-lang-dotnet=\"`User`\" pulumi-lang-go=\"`user`\" pulumi-lang-python=\"`user`\" pulumi-lang-yaml=\"`user`\" pulumi-lang-java=\"`user`\"\u003e`user`\u003c/span\u003e and `servicePrincipal`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"roles":{"type":"array","items":{"$ref":"#/types/azure:mongocluster/UserRole:UserRole"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`role`\" pulumi-lang-dotnet=\"`Role`\" pulumi-lang-go=\"`role`\" pulumi-lang-python=\"`role`\" pulumi-lang-yaml=\"`role`\" pulumi-lang-java=\"`role`\"\u003e`role`\u003c/span\u003e blocks as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:monitoring/aadDiagnosticSetting:AadDiagnosticSetting":{"description":"Manages an Azure Active Directory Diagnostic Setting for Azure Monitor.\n\n\u003e **Note:** When using Service Principal authentication, the Service Principal must be assigned the _Contributor_ role at the scope `/providers/Microsoft.aadiam`. You can assign this role using the \u003cspan pulumi-lang-nodejs=\"`az`\" pulumi-lang-dotnet=\"`Az`\" pulumi-lang-go=\"`az`\" pulumi-lang-python=\"`az`\" pulumi-lang-yaml=\"`az`\" pulumi-lang-java=\"`az`\"\u003e`az`\u003c/span\u003e CLI command: `az role assignment create --assignee-principal-type ServicePrincipal --assignee-object-id \"\u003csp-object-id\u003e\" --scope \"/providers/Microsoft.aadiam\" --role \"Contributor\"`. The assigning user must be a User Access Administrator at the root level. Refer to the [Azure elevation guide](https://learn.microsoft.com/en-us/azure/role-based-access-control/elevate-access-global-admin) for details.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-rg\",\n    location: \"west europe\",\n});\nconst exampleAccount = new azure.storage.Account(\"example\", {\n    name: \"examplestorageaccount\",\n    resourceGroupName: example.name,\n    location: example.location,\n    accountTier: \"Standard\",\n    accountKind: \"StorageV2\",\n    accountReplicationType: \"LRS\",\n});\nconst exampleAadDiagnosticSetting = new azure.monitoring.AadDiagnosticSetting(\"example\", {\n    name: \"setting1\",\n    storageAccountId: exampleAccount.id,\n    enabledLogs: [\n        {\n            category: \"SignInLogs\",\n        },\n        {\n            category: \"AuditLogs\",\n        },\n        {\n            category: \"NonInteractiveUserSignInLogs\",\n        },\n        {\n            category: \"ServicePrincipalSignInLogs\",\n        },\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-rg\",\n    location=\"west europe\")\nexample_account = azure.storage.Account(\"example\",\n    name=\"examplestorageaccount\",\n    resource_group_name=example.name,\n    location=example.location,\n    account_tier=\"Standard\",\n    account_kind=\"StorageV2\",\n    account_replication_type=\"LRS\")\nexample_aad_diagnostic_setting = azure.monitoring.AadDiagnosticSetting(\"example\",\n    name=\"setting1\",\n    storage_account_id=example_account.id,\n    enabled_logs=[\n        {\n            \"category\": \"SignInLogs\",\n        },\n        {\n            \"category\": \"AuditLogs\",\n        },\n        {\n            \"category\": \"NonInteractiveUserSignInLogs\",\n        },\n        {\n            \"category\": \"ServicePrincipalSignInLogs\",\n        },\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-rg\",\n        Location = \"west europe\",\n    });\n\n    var exampleAccount = new Azure.Storage.Account(\"example\", new()\n    {\n        Name = \"examplestorageaccount\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        AccountTier = \"Standard\",\n        AccountKind = \"StorageV2\",\n        AccountReplicationType = \"LRS\",\n    });\n\n    var exampleAadDiagnosticSetting = new Azure.Monitoring.AadDiagnosticSetting(\"example\", new()\n    {\n        Name = \"setting1\",\n        StorageAccountId = exampleAccount.Id,\n        EnabledLogs = new[]\n        {\n            new Azure.Monitoring.Inputs.AadDiagnosticSettingEnabledLogArgs\n            {\n                Category = \"SignInLogs\",\n            },\n            new Azure.Monitoring.Inputs.AadDiagnosticSettingEnabledLogArgs\n            {\n                Category = \"AuditLogs\",\n            },\n            new Azure.Monitoring.Inputs.AadDiagnosticSettingEnabledLogArgs\n            {\n                Category = \"NonInteractiveUserSignInLogs\",\n            },\n            new Azure.Monitoring.Inputs.AadDiagnosticSettingEnabledLogArgs\n            {\n                Category = \"ServicePrincipalSignInLogs\",\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/monitoring\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-rg\"),\n\t\t\tLocation: pulumi.String(\"west europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := storage.NewAccount(ctx, \"example\", \u0026storage.AccountArgs{\n\t\t\tName:                   pulumi.String(\"examplestorageaccount\"),\n\t\t\tResourceGroupName:      example.Name,\n\t\t\tLocation:               example.Location,\n\t\t\tAccountTier:            pulumi.String(\"Standard\"),\n\t\t\tAccountKind:            pulumi.String(\"StorageV2\"),\n\t\t\tAccountReplicationType: pulumi.String(\"LRS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = monitoring.NewAadDiagnosticSetting(ctx, \"example\", \u0026monitoring.AadDiagnosticSettingArgs{\n\t\t\tName:             pulumi.String(\"setting1\"),\n\t\t\tStorageAccountId: exampleAccount.ID(),\n\t\t\tEnabledLogs: monitoring.AadDiagnosticSettingEnabledLogArray{\n\t\t\t\t\u0026monitoring.AadDiagnosticSettingEnabledLogArgs{\n\t\t\t\t\tCategory: pulumi.String(\"SignInLogs\"),\n\t\t\t\t},\n\t\t\t\t\u0026monitoring.AadDiagnosticSettingEnabledLogArgs{\n\t\t\t\t\tCategory: pulumi.String(\"AuditLogs\"),\n\t\t\t\t},\n\t\t\t\t\u0026monitoring.AadDiagnosticSettingEnabledLogArgs{\n\t\t\t\t\tCategory: pulumi.String(\"NonInteractiveUserSignInLogs\"),\n\t\t\t\t},\n\t\t\t\t\u0026monitoring.AadDiagnosticSettingEnabledLogArgs{\n\t\t\t\t\tCategory: pulumi.String(\"ServicePrincipalSignInLogs\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.storage.Account;\nimport com.pulumi.azure.storage.AccountArgs;\nimport com.pulumi.azure.monitoring.AadDiagnosticSetting;\nimport com.pulumi.azure.monitoring.AadDiagnosticSettingArgs;\nimport com.pulumi.azure.monitoring.inputs.AadDiagnosticSettingEnabledLogArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-rg\")\n            .location(\"west europe\")\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"examplestorageaccount\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .accountTier(\"Standard\")\n            .accountKind(\"StorageV2\")\n            .accountReplicationType(\"LRS\")\n            .build());\n\n        var exampleAadDiagnosticSetting = new AadDiagnosticSetting(\"exampleAadDiagnosticSetting\", AadDiagnosticSettingArgs.builder()\n            .name(\"setting1\")\n            .storageAccountId(exampleAccount.id())\n            .enabledLogs(            \n                AadDiagnosticSettingEnabledLogArgs.builder()\n                    .category(\"SignInLogs\")\n                    .build(),\n                AadDiagnosticSettingEnabledLogArgs.builder()\n                    .category(\"AuditLogs\")\n                    .build(),\n                AadDiagnosticSettingEnabledLogArgs.builder()\n                    .category(\"NonInteractiveUserSignInLogs\")\n                    .build(),\n                AadDiagnosticSettingEnabledLogArgs.builder()\n                    .category(\"ServicePrincipalSignInLogs\")\n                    .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-rg\n      location: west europe\n  exampleAccount:\n    type: azure:storage:Account\n    name: example\n    properties:\n      name: examplestorageaccount\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      accountTier: Standard\n      accountKind: StorageV2\n      accountReplicationType: LRS\n  exampleAadDiagnosticSetting:\n    type: azure:monitoring:AadDiagnosticSetting\n    name: example\n    properties:\n      name: setting1\n      storageAccountId: ${exampleAccount.id}\n      enabledLogs:\n        - category: SignInLogs\n        - category: AuditLogs\n        - category: NonInteractiveUserSignInLogs\n        - category: ServicePrincipalSignInLogs\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.AADIAM` - 2017-04-01\n\n## Import\n\nMonitor Azure Active Directory Diagnostic Settings can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:monitoring/aadDiagnosticSetting:AadDiagnosticSetting example /providers/Microsoft.AADIAM/diagnosticSettings/setting1\n```\n\n","properties":{"enabledLogs":{"type":"array","items":{"$ref":"#/types/azure:monitoring/AadDiagnosticSettingEnabledLog:AadDiagnosticSettingEnabledLog"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`enabledLog`\" pulumi-lang-dotnet=\"`EnabledLog`\" pulumi-lang-go=\"`enabledLog`\" pulumi-lang-python=\"`enabled_log`\" pulumi-lang-yaml=\"`enabledLog`\" pulumi-lang-java=\"`enabledLog`\"\u003e`enabled_log`\u003c/span\u003e blocks as defined below.\n"},"eventhubAuthorizationRuleId":{"type":"string","description":"Specifies the ID of an Event Hub Namespace Authorization Rule used to send Diagnostics Data. Changing this forces a new resource to be created.\n\n\u003e **Note:** This can be sourced from the \u003cspan pulumi-lang-nodejs=\"`azure.eventhub.EventHubNamespaceAuthorizationRule`\" pulumi-lang-dotnet=\"`azure.eventhub.EventHubNamespaceAuthorizationRule`\" pulumi-lang-go=\"`eventhub.EventHubNamespaceAuthorizationRule`\" pulumi-lang-python=\"`eventhub.EventHubNamespaceAuthorizationRule`\" pulumi-lang-yaml=\"`azure.eventhub.EventHubNamespaceAuthorizationRule`\" pulumi-lang-java=\"`azure.eventhub.EventHubNamespaceAuthorizationRule`\"\u003e`azure.eventhub.EventHubNamespaceAuthorizationRule`\u003c/span\u003e resource and is different from a \u003cspan pulumi-lang-nodejs=\"`azure.eventhub.AuthorizationRule`\" pulumi-lang-dotnet=\"`azure.eventhub.AuthorizationRule`\" pulumi-lang-go=\"`eventhub.AuthorizationRule`\" pulumi-lang-python=\"`eventhub.AuthorizationRule`\" pulumi-lang-yaml=\"`azure.eventhub.AuthorizationRule`\" pulumi-lang-java=\"`azure.eventhub.AuthorizationRule`\"\u003e`azure.eventhub.AuthorizationRule`\u003c/span\u003e resource.\n"},"eventhubName":{"type":"string","description":"Specifies the name of the Event Hub where Diagnostics Data should be sent. If not specified, the default Event Hub will be used. Changing this forces a new resource to be created.\n"},"logAnalyticsWorkspaceId":{"type":"string","description":"Specifies the ID of a Log Analytics Workspace where Diagnostics Data should be sent.\n"},"name":{"type":"string","description":"The name which should be used for this Monitor Azure Active Directory Diagnostic Setting. Changing this forces a new Monitor Azure Active Directory Diagnostic Setting to be created.\n"},"storageAccountId":{"type":"string","description":"The ID of the Storage Account where logs should be sent. Changing this forces a new resource to be created.\n\n\u003e **Note:** One of \u003cspan pulumi-lang-nodejs=\"`eventhubAuthorizationRuleId`\" pulumi-lang-dotnet=\"`EventhubAuthorizationRuleId`\" pulumi-lang-go=\"`eventhubAuthorizationRuleId`\" pulumi-lang-python=\"`eventhub_authorization_rule_id`\" pulumi-lang-yaml=\"`eventhubAuthorizationRuleId`\" pulumi-lang-java=\"`eventhubAuthorizationRuleId`\"\u003e`eventhub_authorization_rule_id`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`logAnalyticsWorkspaceId`\" pulumi-lang-dotnet=\"`LogAnalyticsWorkspaceId`\" pulumi-lang-go=\"`logAnalyticsWorkspaceId`\" pulumi-lang-python=\"`log_analytics_workspace_id`\" pulumi-lang-yaml=\"`logAnalyticsWorkspaceId`\" pulumi-lang-java=\"`logAnalyticsWorkspaceId`\"\u003e`log_analytics_workspace_id`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`storageAccountId`\" pulumi-lang-dotnet=\"`StorageAccountId`\" pulumi-lang-go=\"`storageAccountId`\" pulumi-lang-python=\"`storage_account_id`\" pulumi-lang-yaml=\"`storageAccountId`\" pulumi-lang-java=\"`storageAccountId`\"\u003e`storage_account_id`\u003c/span\u003e must be specified.\n"}},"required":["name"],"inputProperties":{"enabledLogs":{"type":"array","items":{"$ref":"#/types/azure:monitoring/AadDiagnosticSettingEnabledLog:AadDiagnosticSettingEnabledLog"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`enabledLog`\" pulumi-lang-dotnet=\"`EnabledLog`\" pulumi-lang-go=\"`enabledLog`\" pulumi-lang-python=\"`enabled_log`\" pulumi-lang-yaml=\"`enabledLog`\" pulumi-lang-java=\"`enabledLog`\"\u003e`enabled_log`\u003c/span\u003e blocks as defined below.\n"},"eventhubAuthorizationRuleId":{"type":"string","description":"Specifies the ID of an Event Hub Namespace Authorization Rule used to send Diagnostics Data. Changing this forces a new resource to be created.\n\n\u003e **Note:** This can be sourced from the \u003cspan pulumi-lang-nodejs=\"`azure.eventhub.EventHubNamespaceAuthorizationRule`\" pulumi-lang-dotnet=\"`azure.eventhub.EventHubNamespaceAuthorizationRule`\" pulumi-lang-go=\"`eventhub.EventHubNamespaceAuthorizationRule`\" pulumi-lang-python=\"`eventhub.EventHubNamespaceAuthorizationRule`\" pulumi-lang-yaml=\"`azure.eventhub.EventHubNamespaceAuthorizationRule`\" pulumi-lang-java=\"`azure.eventhub.EventHubNamespaceAuthorizationRule`\"\u003e`azure.eventhub.EventHubNamespaceAuthorizationRule`\u003c/span\u003e resource and is different from a \u003cspan pulumi-lang-nodejs=\"`azure.eventhub.AuthorizationRule`\" pulumi-lang-dotnet=\"`azure.eventhub.AuthorizationRule`\" pulumi-lang-go=\"`eventhub.AuthorizationRule`\" pulumi-lang-python=\"`eventhub.AuthorizationRule`\" pulumi-lang-yaml=\"`azure.eventhub.AuthorizationRule`\" pulumi-lang-java=\"`azure.eventhub.AuthorizationRule`\"\u003e`azure.eventhub.AuthorizationRule`\u003c/span\u003e resource.\n","willReplaceOnChanges":true},"eventhubName":{"type":"string","description":"Specifies the name of the Event Hub where Diagnostics Data should be sent. If not specified, the default Event Hub will be used. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"logAnalyticsWorkspaceId":{"type":"string","description":"Specifies the ID of a Log Analytics Workspace where Diagnostics Data should be sent.\n"},"name":{"type":"string","description":"The name which should be used for this Monitor Azure Active Directory Diagnostic Setting. Changing this forces a new Monitor Azure Active Directory Diagnostic Setting to be created.\n","willReplaceOnChanges":true},"storageAccountId":{"type":"string","description":"The ID of the Storage Account where logs should be sent. Changing this forces a new resource to be created.\n\n\u003e **Note:** One of \u003cspan pulumi-lang-nodejs=\"`eventhubAuthorizationRuleId`\" pulumi-lang-dotnet=\"`EventhubAuthorizationRuleId`\" pulumi-lang-go=\"`eventhubAuthorizationRuleId`\" pulumi-lang-python=\"`eventhub_authorization_rule_id`\" pulumi-lang-yaml=\"`eventhubAuthorizationRuleId`\" pulumi-lang-java=\"`eventhubAuthorizationRuleId`\"\u003e`eventhub_authorization_rule_id`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`logAnalyticsWorkspaceId`\" pulumi-lang-dotnet=\"`LogAnalyticsWorkspaceId`\" pulumi-lang-go=\"`logAnalyticsWorkspaceId`\" pulumi-lang-python=\"`log_analytics_workspace_id`\" pulumi-lang-yaml=\"`logAnalyticsWorkspaceId`\" pulumi-lang-java=\"`logAnalyticsWorkspaceId`\"\u003e`log_analytics_workspace_id`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`storageAccountId`\" pulumi-lang-dotnet=\"`StorageAccountId`\" pulumi-lang-go=\"`storageAccountId`\" pulumi-lang-python=\"`storage_account_id`\" pulumi-lang-yaml=\"`storageAccountId`\" pulumi-lang-java=\"`storageAccountId`\"\u003e`storage_account_id`\u003c/span\u003e must be specified.\n","willReplaceOnChanges":true}},"stateInputs":{"description":"Input properties used for looking up and filtering AadDiagnosticSetting resources.\n","properties":{"enabledLogs":{"type":"array","items":{"$ref":"#/types/azure:monitoring/AadDiagnosticSettingEnabledLog:AadDiagnosticSettingEnabledLog"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`enabledLog`\" pulumi-lang-dotnet=\"`EnabledLog`\" pulumi-lang-go=\"`enabledLog`\" pulumi-lang-python=\"`enabled_log`\" pulumi-lang-yaml=\"`enabledLog`\" pulumi-lang-java=\"`enabledLog`\"\u003e`enabled_log`\u003c/span\u003e blocks as defined below.\n"},"eventhubAuthorizationRuleId":{"type":"string","description":"Specifies the ID of an Event Hub Namespace Authorization Rule used to send Diagnostics Data. Changing this forces a new resource to be created.\n\n\u003e **Note:** This can be sourced from the \u003cspan pulumi-lang-nodejs=\"`azure.eventhub.EventHubNamespaceAuthorizationRule`\" pulumi-lang-dotnet=\"`azure.eventhub.EventHubNamespaceAuthorizationRule`\" pulumi-lang-go=\"`eventhub.EventHubNamespaceAuthorizationRule`\" pulumi-lang-python=\"`eventhub.EventHubNamespaceAuthorizationRule`\" pulumi-lang-yaml=\"`azure.eventhub.EventHubNamespaceAuthorizationRule`\" pulumi-lang-java=\"`azure.eventhub.EventHubNamespaceAuthorizationRule`\"\u003e`azure.eventhub.EventHubNamespaceAuthorizationRule`\u003c/span\u003e resource and is different from a \u003cspan pulumi-lang-nodejs=\"`azure.eventhub.AuthorizationRule`\" pulumi-lang-dotnet=\"`azure.eventhub.AuthorizationRule`\" pulumi-lang-go=\"`eventhub.AuthorizationRule`\" pulumi-lang-python=\"`eventhub.AuthorizationRule`\" pulumi-lang-yaml=\"`azure.eventhub.AuthorizationRule`\" pulumi-lang-java=\"`azure.eventhub.AuthorizationRule`\"\u003e`azure.eventhub.AuthorizationRule`\u003c/span\u003e resource.\n","willReplaceOnChanges":true},"eventhubName":{"type":"string","description":"Specifies the name of the Event Hub where Diagnostics Data should be sent. If not specified, the default Event Hub will be used. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"logAnalyticsWorkspaceId":{"type":"string","description":"Specifies the ID of a Log Analytics Workspace where Diagnostics Data should be sent.\n"},"name":{"type":"string","description":"The name which should be used for this Monitor Azure Active Directory Diagnostic Setting. Changing this forces a new Monitor Azure Active Directory Diagnostic Setting to be created.\n","willReplaceOnChanges":true},"storageAccountId":{"type":"string","description":"The ID of the Storage Account where logs should be sent. Changing this forces a new resource to be created.\n\n\u003e **Note:** One of \u003cspan pulumi-lang-nodejs=\"`eventhubAuthorizationRuleId`\" pulumi-lang-dotnet=\"`EventhubAuthorizationRuleId`\" pulumi-lang-go=\"`eventhubAuthorizationRuleId`\" pulumi-lang-python=\"`eventhub_authorization_rule_id`\" pulumi-lang-yaml=\"`eventhubAuthorizationRuleId`\" pulumi-lang-java=\"`eventhubAuthorizationRuleId`\"\u003e`eventhub_authorization_rule_id`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`logAnalyticsWorkspaceId`\" pulumi-lang-dotnet=\"`LogAnalyticsWorkspaceId`\" pulumi-lang-go=\"`logAnalyticsWorkspaceId`\" pulumi-lang-python=\"`log_analytics_workspace_id`\" pulumi-lang-yaml=\"`logAnalyticsWorkspaceId`\" pulumi-lang-java=\"`logAnalyticsWorkspaceId`\"\u003e`log_analytics_workspace_id`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`storageAccountId`\" pulumi-lang-dotnet=\"`StorageAccountId`\" pulumi-lang-go=\"`storageAccountId`\" pulumi-lang-python=\"`storage_account_id`\" pulumi-lang-yaml=\"`storageAccountId`\" pulumi-lang-java=\"`storageAccountId`\"\u003e`storage_account_id`\u003c/span\u003e must be specified.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:monitoring/actionGroup:ActionGroup":{"description":"Manages an Action Group within Azure Monitor.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"monitoring-resources\",\n    location: \"West Europe\",\n});\nconst current = azure.core.getClientConfig({});\nconst exampleAnalyticsWorkspace = new azure.operationalinsights.AnalyticsWorkspace(\"example\", {\n    name: \"workspace-01\",\n    location: example.location,\n    resourceGroupName: example.name,\n});\nconst exampleActionGroup = new azure.monitoring.ActionGroup(\"example\", {\n    name: \"CriticalAlertsAction\",\n    resourceGroupName: example.name,\n    shortName: \"p0action\",\n    armRoleReceivers: [{\n        name: \"armroleaction\",\n        roleId: \"de139f84-1756-47ae-9be6-808fbbe84772\",\n        useCommonAlertSchema: true,\n    }],\n    automationRunbookReceivers: [{\n        name: \"action_name_1\",\n        automationAccountId: \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg-runbooks/providers/Microsoft.Automation/automationAccounts/aaa001\",\n        runbookName: \"my runbook\",\n        webhookResourceId: \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg-runbooks/providers/Microsoft.Automation/automationAccounts/aaa001/webHooks/webhook_alert\",\n        isGlobalRunbook: true,\n        serviceUri: \"https://s13events.azure-automation.net/webhooks?token=randomtoken\",\n        useCommonAlertSchema: true,\n    }],\n    azureAppPushReceivers: [{\n        name: \"pushtoadmin\",\n        emailAddress: \"admin@contoso.com\",\n    }],\n    azureFunctionReceivers: [{\n        name: \"funcaction\",\n        functionAppResourceId: \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg-funcapp/providers/Microsoft.Web/sites/funcapp\",\n        functionName: \"myfunc\",\n        httpTriggerUrl: \"https://example.com/trigger\",\n        useCommonAlertSchema: true,\n    }],\n    emailReceivers: [\n        {\n            name: \"sendtoadmin\",\n            emailAddress: \"admin@contoso.com\",\n        },\n        {\n            name: \"sendtodevops\",\n            emailAddress: \"devops@contoso.com\",\n            useCommonAlertSchema: true,\n        },\n    ],\n    eventHubReceivers: [{\n        name: \"sendtoeventhub\",\n        eventHubNamespace: \"eventhubnamespace\",\n        eventHubName: \"eventhub1\",\n        subscriptionId: \"00000000-0000-0000-0000-000000000000\",\n        useCommonAlertSchema: false,\n    }],\n    itsmReceivers: [{\n        name: \"createorupdateticket\",\n        workspaceId: pulumi.all([current, exampleAnalyticsWorkspace.workspaceId]).apply(([current, workspaceId]) =\u003e `${current.subscriptionId}|${workspaceId}`),\n        connectionId: \"53de6956-42b4-41ba-be3c-b154cdf17b13\",\n        ticketConfiguration: \"{\\\"PayloadRevision\\\":0,\\\"WorkItemType\\\":\\\"Incident\\\",\\\"UseTemplate\\\":false,\\\"WorkItemData\\\":\\\"{}\\\",\\\"CreateOneWIPerCI\\\":false}\",\n        region: \"southcentralus\",\n    }],\n    logicAppReceivers: [{\n        name: \"logicappaction\",\n        resourceId: \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg-logicapp/providers/Microsoft.Logic/workflows/logicapp\",\n        callbackUrl: \"https://logicapptriggerurl/...\",\n        useCommonAlertSchema: true,\n    }],\n    smsReceivers: [{\n        name: \"oncallmsg\",\n        countryCode: \"1\",\n        phoneNumber: \"1231231234\",\n    }],\n    voiceReceivers: [{\n        name: \"remotesupport\",\n        countryCode: \"86\",\n        phoneNumber: \"13888888888\",\n    }],\n    webhookReceivers: [{\n        name: \"callmyapiaswell\",\n        serviceUri: \"http://example.com/alert\",\n        useCommonAlertSchema: true,\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"monitoring-resources\",\n    location=\"West Europe\")\ncurrent = azure.core.get_client_config()\nexample_analytics_workspace = azure.operationalinsights.AnalyticsWorkspace(\"example\",\n    name=\"workspace-01\",\n    location=example.location,\n    resource_group_name=example.name)\nexample_action_group = azure.monitoring.ActionGroup(\"example\",\n    name=\"CriticalAlertsAction\",\n    resource_group_name=example.name,\n    short_name=\"p0action\",\n    arm_role_receivers=[{\n        \"name\": \"armroleaction\",\n        \"role_id\": \"de139f84-1756-47ae-9be6-808fbbe84772\",\n        \"use_common_alert_schema\": True,\n    }],\n    automation_runbook_receivers=[{\n        \"name\": \"action_name_1\",\n        \"automation_account_id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg-runbooks/providers/Microsoft.Automation/automationAccounts/aaa001\",\n        \"runbook_name\": \"my runbook\",\n        \"webhook_resource_id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg-runbooks/providers/Microsoft.Automation/automationAccounts/aaa001/webHooks/webhook_alert\",\n        \"is_global_runbook\": True,\n        \"service_uri\": \"https://s13events.azure-automation.net/webhooks?token=randomtoken\",\n        \"use_common_alert_schema\": True,\n    }],\n    azure_app_push_receivers=[{\n        \"name\": \"pushtoadmin\",\n        \"email_address\": \"admin@contoso.com\",\n    }],\n    azure_function_receivers=[{\n        \"name\": \"funcaction\",\n        \"function_app_resource_id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg-funcapp/providers/Microsoft.Web/sites/funcapp\",\n        \"function_name\": \"myfunc\",\n        \"http_trigger_url\": \"https://example.com/trigger\",\n        \"use_common_alert_schema\": True,\n    }],\n    email_receivers=[\n        {\n            \"name\": \"sendtoadmin\",\n            \"email_address\": \"admin@contoso.com\",\n        },\n        {\n            \"name\": \"sendtodevops\",\n            \"email_address\": \"devops@contoso.com\",\n            \"use_common_alert_schema\": True,\n        },\n    ],\n    event_hub_receivers=[{\n        \"name\": \"sendtoeventhub\",\n        \"event_hub_namespace\": \"eventhubnamespace\",\n        \"event_hub_name\": \"eventhub1\",\n        \"subscription_id\": \"00000000-0000-0000-0000-000000000000\",\n        \"use_common_alert_schema\": False,\n    }],\n    itsm_receivers=[{\n        \"name\": \"createorupdateticket\",\n        \"workspace_id\": example_analytics_workspace.workspace_id.apply(lambda workspace_id: f\"{current.subscription_id}|{workspace_id}\"),\n        \"connection_id\": \"53de6956-42b4-41ba-be3c-b154cdf17b13\",\n        \"ticket_configuration\": \"{\\\"PayloadRevision\\\":0,\\\"WorkItemType\\\":\\\"Incident\\\",\\\"UseTemplate\\\":false,\\\"WorkItemData\\\":\\\"{}\\\",\\\"CreateOneWIPerCI\\\":false}\",\n        \"region\": \"southcentralus\",\n    }],\n    logic_app_receivers=[{\n        \"name\": \"logicappaction\",\n        \"resource_id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg-logicapp/providers/Microsoft.Logic/workflows/logicapp\",\n        \"callback_url\": \"https://logicapptriggerurl/...\",\n        \"use_common_alert_schema\": True,\n    }],\n    sms_receivers=[{\n        \"name\": \"oncallmsg\",\n        \"country_code\": \"1\",\n        \"phone_number\": \"1231231234\",\n    }],\n    voice_receivers=[{\n        \"name\": \"remotesupport\",\n        \"country_code\": \"86\",\n        \"phone_number\": \"13888888888\",\n    }],\n    webhook_receivers=[{\n        \"name\": \"callmyapiaswell\",\n        \"service_uri\": \"http://example.com/alert\",\n        \"use_common_alert_schema\": True,\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"monitoring-resources\",\n        Location = \"West Europe\",\n    });\n\n    var current = Azure.Core.GetClientConfig.Invoke();\n\n    var exampleAnalyticsWorkspace = new Azure.OperationalInsights.AnalyticsWorkspace(\"example\", new()\n    {\n        Name = \"workspace-01\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n    });\n\n    var exampleActionGroup = new Azure.Monitoring.ActionGroup(\"example\", new()\n    {\n        Name = \"CriticalAlertsAction\",\n        ResourceGroupName = example.Name,\n        ShortName = \"p0action\",\n        ArmRoleReceivers = new[]\n        {\n            new Azure.Monitoring.Inputs.ActionGroupArmRoleReceiverArgs\n            {\n                Name = \"armroleaction\",\n                RoleId = \"de139f84-1756-47ae-9be6-808fbbe84772\",\n                UseCommonAlertSchema = true,\n            },\n        },\n        AutomationRunbookReceivers = new[]\n        {\n            new Azure.Monitoring.Inputs.ActionGroupAutomationRunbookReceiverArgs\n            {\n                Name = \"action_name_1\",\n                AutomationAccountId = \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg-runbooks/providers/Microsoft.Automation/automationAccounts/aaa001\",\n                RunbookName = \"my runbook\",\n                WebhookResourceId = \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg-runbooks/providers/Microsoft.Automation/automationAccounts/aaa001/webHooks/webhook_alert\",\n                IsGlobalRunbook = true,\n                ServiceUri = \"https://s13events.azure-automation.net/webhooks?token=randomtoken\",\n                UseCommonAlertSchema = true,\n            },\n        },\n        AzureAppPushReceivers = new[]\n        {\n            new Azure.Monitoring.Inputs.ActionGroupAzureAppPushReceiverArgs\n            {\n                Name = \"pushtoadmin\",\n                EmailAddress = \"admin@contoso.com\",\n            },\n        },\n        AzureFunctionReceivers = new[]\n        {\n            new Azure.Monitoring.Inputs.ActionGroupAzureFunctionReceiverArgs\n            {\n                Name = \"funcaction\",\n                FunctionAppResourceId = \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg-funcapp/providers/Microsoft.Web/sites/funcapp\",\n                FunctionName = \"myfunc\",\n                HttpTriggerUrl = \"https://example.com/trigger\",\n                UseCommonAlertSchema = true,\n            },\n        },\n        EmailReceivers = new[]\n        {\n            new Azure.Monitoring.Inputs.ActionGroupEmailReceiverArgs\n            {\n                Name = \"sendtoadmin\",\n                EmailAddress = \"admin@contoso.com\",\n            },\n            new Azure.Monitoring.Inputs.ActionGroupEmailReceiverArgs\n            {\n                Name = \"sendtodevops\",\n                EmailAddress = \"devops@contoso.com\",\n                UseCommonAlertSchema = true,\n            },\n        },\n        EventHubReceivers = new[]\n        {\n            new Azure.Monitoring.Inputs.ActionGroupEventHubReceiverArgs\n            {\n                Name = \"sendtoeventhub\",\n                EventHubNamespace = \"eventhubnamespace\",\n                EventHubName = \"eventhub1\",\n                SubscriptionId = \"00000000-0000-0000-0000-000000000000\",\n                UseCommonAlertSchema = false,\n            },\n        },\n        ItsmReceivers = new[]\n        {\n            new Azure.Monitoring.Inputs.ActionGroupItsmReceiverArgs\n            {\n                Name = \"createorupdateticket\",\n                WorkspaceId = Output.Tuple(current, exampleAnalyticsWorkspace.WorkspaceId).Apply(values =\u003e\n                {\n                    var current = values.Item1;\n                    var workspaceId = values.Item2;\n                    return $\"{current.Apply(getClientConfigResult =\u003e getClientConfigResult.SubscriptionId)}|{workspaceId}\";\n                }),\n                ConnectionId = \"53de6956-42b4-41ba-be3c-b154cdf17b13\",\n                TicketConfiguration = \"{\\\"PayloadRevision\\\":0,\\\"WorkItemType\\\":\\\"Incident\\\",\\\"UseTemplate\\\":false,\\\"WorkItemData\\\":\\\"{}\\\",\\\"CreateOneWIPerCI\\\":false}\",\n                Region = \"southcentralus\",\n            },\n        },\n        LogicAppReceivers = new[]\n        {\n            new Azure.Monitoring.Inputs.ActionGroupLogicAppReceiverArgs\n            {\n                Name = \"logicappaction\",\n                ResourceId = \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg-logicapp/providers/Microsoft.Logic/workflows/logicapp\",\n                CallbackUrl = \"https://logicapptriggerurl/...\",\n                UseCommonAlertSchema = true,\n            },\n        },\n        SmsReceivers = new[]\n        {\n            new Azure.Monitoring.Inputs.ActionGroupSmsReceiverArgs\n            {\n                Name = \"oncallmsg\",\n                CountryCode = \"1\",\n                PhoneNumber = \"1231231234\",\n            },\n        },\n        VoiceReceivers = new[]\n        {\n            new Azure.Monitoring.Inputs.ActionGroupVoiceReceiverArgs\n            {\n                Name = \"remotesupport\",\n                CountryCode = \"86\",\n                PhoneNumber = \"13888888888\",\n            },\n        },\n        WebhookReceivers = new[]\n        {\n            new Azure.Monitoring.Inputs.ActionGroupWebhookReceiverArgs\n            {\n                Name = \"callmyapiaswell\",\n                ServiceUri = \"http://example.com/alert\",\n                UseCommonAlertSchema = true,\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/monitoring\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/operationalinsights\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"monitoring-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrent, err := core.GetClientConfig(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAnalyticsWorkspace, err := operationalinsights.NewAnalyticsWorkspace(ctx, \"example\", \u0026operationalinsights.AnalyticsWorkspaceArgs{\n\t\t\tName:              pulumi.String(\"workspace-01\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = monitoring.NewActionGroup(ctx, \"example\", \u0026monitoring.ActionGroupArgs{\n\t\t\tName:              pulumi.String(\"CriticalAlertsAction\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tShortName:         pulumi.String(\"p0action\"),\n\t\t\tArmRoleReceivers: monitoring.ActionGroupArmRoleReceiverArray{\n\t\t\t\t\u0026monitoring.ActionGroupArmRoleReceiverArgs{\n\t\t\t\t\tName:                 pulumi.String(\"armroleaction\"),\n\t\t\t\t\tRoleId:               pulumi.String(\"de139f84-1756-47ae-9be6-808fbbe84772\"),\n\t\t\t\t\tUseCommonAlertSchema: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t},\n\t\t\tAutomationRunbookReceivers: monitoring.ActionGroupAutomationRunbookReceiverArray{\n\t\t\t\t\u0026monitoring.ActionGroupAutomationRunbookReceiverArgs{\n\t\t\t\t\tName:                 pulumi.String(\"action_name_1\"),\n\t\t\t\t\tAutomationAccountId:  pulumi.String(\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg-runbooks/providers/Microsoft.Automation/automationAccounts/aaa001\"),\n\t\t\t\t\tRunbookName:          pulumi.String(\"my runbook\"),\n\t\t\t\t\tWebhookResourceId:    pulumi.String(\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg-runbooks/providers/Microsoft.Automation/automationAccounts/aaa001/webHooks/webhook_alert\"),\n\t\t\t\t\tIsGlobalRunbook:      pulumi.Bool(true),\n\t\t\t\t\tServiceUri:           pulumi.String(\"https://s13events.azure-automation.net/webhooks?token=randomtoken\"),\n\t\t\t\t\tUseCommonAlertSchema: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t},\n\t\t\tAzureAppPushReceivers: monitoring.ActionGroupAzureAppPushReceiverArray{\n\t\t\t\t\u0026monitoring.ActionGroupAzureAppPushReceiverArgs{\n\t\t\t\t\tName:         pulumi.String(\"pushtoadmin\"),\n\t\t\t\t\tEmailAddress: pulumi.String(\"admin@contoso.com\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tAzureFunctionReceivers: monitoring.ActionGroupAzureFunctionReceiverArray{\n\t\t\t\t\u0026monitoring.ActionGroupAzureFunctionReceiverArgs{\n\t\t\t\t\tName:                  pulumi.String(\"funcaction\"),\n\t\t\t\t\tFunctionAppResourceId: pulumi.String(\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg-funcapp/providers/Microsoft.Web/sites/funcapp\"),\n\t\t\t\t\tFunctionName:          pulumi.String(\"myfunc\"),\n\t\t\t\t\tHttpTriggerUrl:        pulumi.String(\"https://example.com/trigger\"),\n\t\t\t\t\tUseCommonAlertSchema:  pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t},\n\t\t\tEmailReceivers: monitoring.ActionGroupEmailReceiverArray{\n\t\t\t\t\u0026monitoring.ActionGroupEmailReceiverArgs{\n\t\t\t\t\tName:         pulumi.String(\"sendtoadmin\"),\n\t\t\t\t\tEmailAddress: pulumi.String(\"admin@contoso.com\"),\n\t\t\t\t},\n\t\t\t\t\u0026monitoring.ActionGroupEmailReceiverArgs{\n\t\t\t\t\tName:                 pulumi.String(\"sendtodevops\"),\n\t\t\t\t\tEmailAddress:         pulumi.String(\"devops@contoso.com\"),\n\t\t\t\t\tUseCommonAlertSchema: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t},\n\t\t\tEventHubReceivers: monitoring.ActionGroupEventHubReceiverArray{\n\t\t\t\t\u0026monitoring.ActionGroupEventHubReceiverArgs{\n\t\t\t\t\tName:                 pulumi.String(\"sendtoeventhub\"),\n\t\t\t\t\tEventHubNamespace:    pulumi.String(\"eventhubnamespace\"),\n\t\t\t\t\tEventHubName:         pulumi.String(\"eventhub1\"),\n\t\t\t\t\tSubscriptionId:       pulumi.String(\"00000000-0000-0000-0000-000000000000\"),\n\t\t\t\t\tUseCommonAlertSchema: pulumi.Bool(false),\n\t\t\t\t},\n\t\t\t},\n\t\t\tItsmReceivers: monitoring.ActionGroupItsmReceiverArray{\n\t\t\t\t\u0026monitoring.ActionGroupItsmReceiverArgs{\n\t\t\t\t\tName: pulumi.String(\"createorupdateticket\"),\n\t\t\t\t\tWorkspaceId: exampleAnalyticsWorkspace.WorkspaceId.ApplyT(func(workspaceId string) (string, error) {\n\t\t\t\t\t\treturn fmt.Sprintf(\"%v|%v\", current.SubscriptionId, workspaceId), nil\n\t\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\t\tConnectionId:        pulumi.String(\"53de6956-42b4-41ba-be3c-b154cdf17b13\"),\n\t\t\t\t\tTicketConfiguration: pulumi.String(\"{\\\"PayloadRevision\\\":0,\\\"WorkItemType\\\":\\\"Incident\\\",\\\"UseTemplate\\\":false,\\\"WorkItemData\\\":\\\"{}\\\",\\\"CreateOneWIPerCI\\\":false}\"),\n\t\t\t\t\tRegion:              pulumi.String(\"southcentralus\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tLogicAppReceivers: monitoring.ActionGroupLogicAppReceiverArray{\n\t\t\t\t\u0026monitoring.ActionGroupLogicAppReceiverArgs{\n\t\t\t\t\tName:                 pulumi.String(\"logicappaction\"),\n\t\t\t\t\tResourceId:           pulumi.String(\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg-logicapp/providers/Microsoft.Logic/workflows/logicapp\"),\n\t\t\t\t\tCallbackUrl:          pulumi.String(\"https://logicapptriggerurl/...\"),\n\t\t\t\t\tUseCommonAlertSchema: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t},\n\t\t\tSmsReceivers: monitoring.ActionGroupSmsReceiverArray{\n\t\t\t\t\u0026monitoring.ActionGroupSmsReceiverArgs{\n\t\t\t\t\tName:        pulumi.String(\"oncallmsg\"),\n\t\t\t\t\tCountryCode: pulumi.String(\"1\"),\n\t\t\t\t\tPhoneNumber: pulumi.String(\"1231231234\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tVoiceReceivers: monitoring.ActionGroupVoiceReceiverArray{\n\t\t\t\t\u0026monitoring.ActionGroupVoiceReceiverArgs{\n\t\t\t\t\tName:        pulumi.String(\"remotesupport\"),\n\t\t\t\t\tCountryCode: pulumi.String(\"86\"),\n\t\t\t\t\tPhoneNumber: pulumi.String(\"13888888888\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tWebhookReceivers: monitoring.ActionGroupWebhookReceiverArray{\n\t\t\t\t\u0026monitoring.ActionGroupWebhookReceiverArgs{\n\t\t\t\t\tName:                 pulumi.String(\"callmyapiaswell\"),\n\t\t\t\t\tServiceUri:           pulumi.String(\"http://example.com/alert\"),\n\t\t\t\t\tUseCommonAlertSchema: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.operationalinsights.AnalyticsWorkspace;\nimport com.pulumi.azure.operationalinsights.AnalyticsWorkspaceArgs;\nimport com.pulumi.azure.monitoring.ActionGroup;\nimport com.pulumi.azure.monitoring.ActionGroupArgs;\nimport com.pulumi.azure.monitoring.inputs.ActionGroupArmRoleReceiverArgs;\nimport com.pulumi.azure.monitoring.inputs.ActionGroupAutomationRunbookReceiverArgs;\nimport com.pulumi.azure.monitoring.inputs.ActionGroupAzureAppPushReceiverArgs;\nimport com.pulumi.azure.monitoring.inputs.ActionGroupAzureFunctionReceiverArgs;\nimport com.pulumi.azure.monitoring.inputs.ActionGroupEmailReceiverArgs;\nimport com.pulumi.azure.monitoring.inputs.ActionGroupEventHubReceiverArgs;\nimport com.pulumi.azure.monitoring.inputs.ActionGroupItsmReceiverArgs;\nimport com.pulumi.azure.monitoring.inputs.ActionGroupLogicAppReceiverArgs;\nimport com.pulumi.azure.monitoring.inputs.ActionGroupSmsReceiverArgs;\nimport com.pulumi.azure.monitoring.inputs.ActionGroupVoiceReceiverArgs;\nimport com.pulumi.azure.monitoring.inputs.ActionGroupWebhookReceiverArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"monitoring-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        final var current = CoreFunctions.getClientConfig(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n        var exampleAnalyticsWorkspace = new AnalyticsWorkspace(\"exampleAnalyticsWorkspace\", AnalyticsWorkspaceArgs.builder()\n            .name(\"workspace-01\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .build());\n\n        var exampleActionGroup = new ActionGroup(\"exampleActionGroup\", ActionGroupArgs.builder()\n            .name(\"CriticalAlertsAction\")\n            .resourceGroupName(example.name())\n            .shortName(\"p0action\")\n            .armRoleReceivers(ActionGroupArmRoleReceiverArgs.builder()\n                .name(\"armroleaction\")\n                .roleId(\"de139f84-1756-47ae-9be6-808fbbe84772\")\n                .useCommonAlertSchema(true)\n                .build())\n            .automationRunbookReceivers(ActionGroupAutomationRunbookReceiverArgs.builder()\n                .name(\"action_name_1\")\n                .automationAccountId(\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg-runbooks/providers/Microsoft.Automation/automationAccounts/aaa001\")\n                .runbookName(\"my runbook\")\n                .webhookResourceId(\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg-runbooks/providers/Microsoft.Automation/automationAccounts/aaa001/webHooks/webhook_alert\")\n                .isGlobalRunbook(true)\n                .serviceUri(\"https://s13events.azure-automation.net/webhooks?token=randomtoken\")\n                .useCommonAlertSchema(true)\n                .build())\n            .azureAppPushReceivers(ActionGroupAzureAppPushReceiverArgs.builder()\n                .name(\"pushtoadmin\")\n                .emailAddress(\"admin@contoso.com\")\n                .build())\n            .azureFunctionReceivers(ActionGroupAzureFunctionReceiverArgs.builder()\n                .name(\"funcaction\")\n                .functionAppResourceId(\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg-funcapp/providers/Microsoft.Web/sites/funcapp\")\n                .functionName(\"myfunc\")\n                .httpTriggerUrl(\"https://example.com/trigger\")\n                .useCommonAlertSchema(true)\n                .build())\n            .emailReceivers(            \n                ActionGroupEmailReceiverArgs.builder()\n                    .name(\"sendtoadmin\")\n                    .emailAddress(\"admin@contoso.com\")\n                    .build(),\n                ActionGroupEmailReceiverArgs.builder()\n                    .name(\"sendtodevops\")\n                    .emailAddress(\"devops@contoso.com\")\n                    .useCommonAlertSchema(true)\n                    .build())\n            .eventHubReceivers(ActionGroupEventHubReceiverArgs.builder()\n                .name(\"sendtoeventhub\")\n                .eventHubNamespace(\"eventhubnamespace\")\n                .eventHubName(\"eventhub1\")\n                .subscriptionId(\"00000000-0000-0000-0000-000000000000\")\n                .useCommonAlertSchema(false)\n                .build())\n            .itsmReceivers(ActionGroupItsmReceiverArgs.builder()\n                .name(\"createorupdateticket\")\n                .workspaceId(exampleAnalyticsWorkspace.workspaceId().applyValue(_workspaceId -\u003e String.format(\"%s|%s\", current.subscriptionId(),_workspaceId)))\n                .connectionId(\"53de6956-42b4-41ba-be3c-b154cdf17b13\")\n                .ticketConfiguration(\"{\\\"PayloadRevision\\\":0,\\\"WorkItemType\\\":\\\"Incident\\\",\\\"UseTemplate\\\":false,\\\"WorkItemData\\\":\\\"{}\\\",\\\"CreateOneWIPerCI\\\":false}\")\n                .region(\"southcentralus\")\n                .build())\n            .logicAppReceivers(ActionGroupLogicAppReceiverArgs.builder()\n                .name(\"logicappaction\")\n                .resourceId(\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg-logicapp/providers/Microsoft.Logic/workflows/logicapp\")\n                .callbackUrl(\"https://logicapptriggerurl/...\")\n                .useCommonAlertSchema(true)\n                .build())\n            .smsReceivers(ActionGroupSmsReceiverArgs.builder()\n                .name(\"oncallmsg\")\n                .countryCode(\"1\")\n                .phoneNumber(\"1231231234\")\n                .build())\n            .voiceReceivers(ActionGroupVoiceReceiverArgs.builder()\n                .name(\"remotesupport\")\n                .countryCode(\"86\")\n                .phoneNumber(\"13888888888\")\n                .build())\n            .webhookReceivers(ActionGroupWebhookReceiverArgs.builder()\n                .name(\"callmyapiaswell\")\n                .serviceUri(\"http://example.com/alert\")\n                .useCommonAlertSchema(true)\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: monitoring-resources\n      location: West Europe\n  exampleAnalyticsWorkspace:\n    type: azure:operationalinsights:AnalyticsWorkspace\n    name: example\n    properties:\n      name: workspace-01\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n  exampleActionGroup:\n    type: azure:monitoring:ActionGroup\n    name: example\n    properties:\n      name: CriticalAlertsAction\n      resourceGroupName: ${example.name}\n      shortName: p0action\n      armRoleReceivers:\n        - name: armroleaction\n          roleId: de139f84-1756-47ae-9be6-808fbbe84772\n          useCommonAlertSchema: true\n      automationRunbookReceivers:\n        - name: action_name_1\n          automationAccountId: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg-runbooks/providers/Microsoft.Automation/automationAccounts/aaa001\n          runbookName: my runbook\n          webhookResourceId: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg-runbooks/providers/Microsoft.Automation/automationAccounts/aaa001/webHooks/webhook_alert\n          isGlobalRunbook: true\n          serviceUri: https://s13events.azure-automation.net/webhooks?token=randomtoken\n          useCommonAlertSchema: true\n      azureAppPushReceivers:\n        - name: pushtoadmin\n          emailAddress: admin@contoso.com\n      azureFunctionReceivers:\n        - name: funcaction\n          functionAppResourceId: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg-funcapp/providers/Microsoft.Web/sites/funcapp\n          functionName: myfunc\n          httpTriggerUrl: https://example.com/trigger\n          useCommonAlertSchema: true\n      emailReceivers:\n        - name: sendtoadmin\n          emailAddress: admin@contoso.com\n        - name: sendtodevops\n          emailAddress: devops@contoso.com\n          useCommonAlertSchema: true\n      eventHubReceivers:\n        - name: sendtoeventhub\n          eventHubNamespace: eventhubnamespace\n          eventHubName: eventhub1\n          subscriptionId: 00000000-0000-0000-0000-000000000000\n          useCommonAlertSchema: false\n      itsmReceivers:\n        - name: createorupdateticket\n          workspaceId: ${current.subscriptionId}|${exampleAnalyticsWorkspace.workspaceId}\n          connectionId: 53de6956-42b4-41ba-be3c-b154cdf17b13\n          ticketConfiguration: '{\"PayloadRevision\":0,\"WorkItemType\":\"Incident\",\"UseTemplate\":false,\"WorkItemData\":\"{}\",\"CreateOneWIPerCI\":false}'\n          region: southcentralus\n      logicAppReceivers:\n        - name: logicappaction\n          resourceId: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg-logicapp/providers/Microsoft.Logic/workflows/logicapp\n          callbackUrl: https://logicapptriggerurl/...\n          useCommonAlertSchema: true\n      smsReceivers:\n        - name: oncallmsg\n          countryCode: '1'\n          phoneNumber: '1231231234'\n      voiceReceivers:\n        - name: remotesupport\n          countryCode: '86'\n          phoneNumber: '13888888888'\n      webhookReceivers:\n        - name: callmyapiaswell\n          serviceUri: http://example.com/alert\n          useCommonAlertSchema: true\nvariables:\n  current:\n    fn::invoke:\n      function: azure:core:getClientConfig\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Insights` - 2023-01-01\n\n## Import\n\nAction Groups can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:monitoring/actionGroup:ActionGroup example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Insights/actionGroups/myagname\n```\n\n","properties":{"armRoleReceivers":{"type":"array","items":{"$ref":"#/types/azure:monitoring/ActionGroupArmRoleReceiver:ActionGroupArmRoleReceiver"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`armRoleReceiver`\" pulumi-lang-dotnet=\"`ArmRoleReceiver`\" pulumi-lang-go=\"`armRoleReceiver`\" pulumi-lang-python=\"`arm_role_receiver`\" pulumi-lang-yaml=\"`armRoleReceiver`\" pulumi-lang-java=\"`armRoleReceiver`\"\u003e`arm_role_receiver`\u003c/span\u003e blocks as defined below.\n"},"automationRunbookReceivers":{"type":"array","items":{"$ref":"#/types/azure:monitoring/ActionGroupAutomationRunbookReceiver:ActionGroupAutomationRunbookReceiver"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`automationRunbookReceiver`\" pulumi-lang-dotnet=\"`AutomationRunbookReceiver`\" pulumi-lang-go=\"`automationRunbookReceiver`\" pulumi-lang-python=\"`automation_runbook_receiver`\" pulumi-lang-yaml=\"`automationRunbookReceiver`\" pulumi-lang-java=\"`automationRunbookReceiver`\"\u003e`automation_runbook_receiver`\u003c/span\u003e blocks as defined below.\n"},"azureAppPushReceivers":{"type":"array","items":{"$ref":"#/types/azure:monitoring/ActionGroupAzureAppPushReceiver:ActionGroupAzureAppPushReceiver"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`azureAppPushReceiver`\" pulumi-lang-dotnet=\"`AzureAppPushReceiver`\" pulumi-lang-go=\"`azureAppPushReceiver`\" pulumi-lang-python=\"`azure_app_push_receiver`\" pulumi-lang-yaml=\"`azureAppPushReceiver`\" pulumi-lang-java=\"`azureAppPushReceiver`\"\u003e`azure_app_push_receiver`\u003c/span\u003e blocks as defined below.\n"},"azureFunctionReceivers":{"type":"array","items":{"$ref":"#/types/azure:monitoring/ActionGroupAzureFunctionReceiver:ActionGroupAzureFunctionReceiver"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`azureFunctionReceiver`\" pulumi-lang-dotnet=\"`AzureFunctionReceiver`\" pulumi-lang-go=\"`azureFunctionReceiver`\" pulumi-lang-python=\"`azure_function_receiver`\" pulumi-lang-yaml=\"`azureFunctionReceiver`\" pulumi-lang-java=\"`azureFunctionReceiver`\"\u003e`azure_function_receiver`\u003c/span\u003e blocks as defined below.\n"},"emailReceivers":{"type":"array","items":{"$ref":"#/types/azure:monitoring/ActionGroupEmailReceiver:ActionGroupEmailReceiver"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`emailReceiver`\" pulumi-lang-dotnet=\"`EmailReceiver`\" pulumi-lang-go=\"`emailReceiver`\" pulumi-lang-python=\"`email_receiver`\" pulumi-lang-yaml=\"`emailReceiver`\" pulumi-lang-java=\"`emailReceiver`\"\u003e`email_receiver`\u003c/span\u003e blocks as defined below.\n"},"enabled":{"type":"boolean","description":"Whether this action group is enabled. If an action group is not enabled, then none of its receivers will receive communications. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"eventHubReceivers":{"type":"array","items":{"$ref":"#/types/azure:monitoring/ActionGroupEventHubReceiver:ActionGroupEventHubReceiver"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`eventHubReceiver`\" pulumi-lang-dotnet=\"`EventHubReceiver`\" pulumi-lang-go=\"`eventHubReceiver`\" pulumi-lang-python=\"`event_hub_receiver`\" pulumi-lang-yaml=\"`eventHubReceiver`\" pulumi-lang-java=\"`eventHubReceiver`\"\u003e`event_hub_receiver`\u003c/span\u003e blocks as defined below.\n"},"itsmReceivers":{"type":"array","items":{"$ref":"#/types/azure:monitoring/ActionGroupItsmReceiver:ActionGroupItsmReceiver"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`itsmReceiver`\" pulumi-lang-dotnet=\"`ItsmReceiver`\" pulumi-lang-go=\"`itsmReceiver`\" pulumi-lang-python=\"`itsm_receiver`\" pulumi-lang-yaml=\"`itsmReceiver`\" pulumi-lang-java=\"`itsmReceiver`\"\u003e`itsm_receiver`\u003c/span\u003e blocks as defined below.\n"},"location":{"type":"string","description":"The Azure Region where the Action Group should exist. Changing this forces a new Action Group to be created. Defaults to \u003cspan pulumi-lang-nodejs=\"`global`\" pulumi-lang-dotnet=\"`Global`\" pulumi-lang-go=\"`global`\" pulumi-lang-python=\"`global`\" pulumi-lang-yaml=\"`global`\" pulumi-lang-java=\"`global`\"\u003e`global`\u003c/span\u003e.\n"},"logicAppReceivers":{"type":"array","items":{"$ref":"#/types/azure:monitoring/ActionGroupLogicAppReceiver:ActionGroupLogicAppReceiver"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`logicAppReceiver`\" pulumi-lang-dotnet=\"`LogicAppReceiver`\" pulumi-lang-go=\"`logicAppReceiver`\" pulumi-lang-python=\"`logic_app_receiver`\" pulumi-lang-yaml=\"`logicAppReceiver`\" pulumi-lang-java=\"`logicAppReceiver`\"\u003e`logic_app_receiver`\u003c/span\u003e blocks as defined below.\n"},"name":{"type":"string","description":"The name of the Action Group. Changing this forces a new resource to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the Action Group instance. Changing this forces a new resource to be created.\n"},"shortName":{"type":"string","description":"The short name of the action group. This will be used in SMS messages.\n"},"smsReceivers":{"type":"array","items":{"$ref":"#/types/azure:monitoring/ActionGroupSmsReceiver:ActionGroupSmsReceiver"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`smsReceiver`\" pulumi-lang-dotnet=\"`SmsReceiver`\" pulumi-lang-go=\"`smsReceiver`\" pulumi-lang-python=\"`sms_receiver`\" pulumi-lang-yaml=\"`smsReceiver`\" pulumi-lang-java=\"`smsReceiver`\"\u003e`sms_receiver`\u003c/span\u003e blocks as defined below.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"voiceReceivers":{"type":"array","items":{"$ref":"#/types/azure:monitoring/ActionGroupVoiceReceiver:ActionGroupVoiceReceiver"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`voiceReceiver`\" pulumi-lang-dotnet=\"`VoiceReceiver`\" pulumi-lang-go=\"`voiceReceiver`\" pulumi-lang-python=\"`voice_receiver`\" pulumi-lang-yaml=\"`voiceReceiver`\" pulumi-lang-java=\"`voiceReceiver`\"\u003e`voice_receiver`\u003c/span\u003e blocks as defined below.\n"},"webhookReceivers":{"type":"array","items":{"$ref":"#/types/azure:monitoring/ActionGroupWebhookReceiver:ActionGroupWebhookReceiver"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`webhookReceiver`\" pulumi-lang-dotnet=\"`WebhookReceiver`\" pulumi-lang-go=\"`webhookReceiver`\" pulumi-lang-python=\"`webhook_receiver`\" pulumi-lang-yaml=\"`webhookReceiver`\" pulumi-lang-java=\"`webhookReceiver`\"\u003e`webhook_receiver`\u003c/span\u003e blocks as defined below.\n"}},"required":["location","name","resourceGroupName","shortName"],"inputProperties":{"armRoleReceivers":{"type":"array","items":{"$ref":"#/types/azure:monitoring/ActionGroupArmRoleReceiver:ActionGroupArmRoleReceiver"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`armRoleReceiver`\" pulumi-lang-dotnet=\"`ArmRoleReceiver`\" pulumi-lang-go=\"`armRoleReceiver`\" pulumi-lang-python=\"`arm_role_receiver`\" pulumi-lang-yaml=\"`armRoleReceiver`\" pulumi-lang-java=\"`armRoleReceiver`\"\u003e`arm_role_receiver`\u003c/span\u003e blocks as defined below.\n"},"automationRunbookReceivers":{"type":"array","items":{"$ref":"#/types/azure:monitoring/ActionGroupAutomationRunbookReceiver:ActionGroupAutomationRunbookReceiver"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`automationRunbookReceiver`\" pulumi-lang-dotnet=\"`AutomationRunbookReceiver`\" pulumi-lang-go=\"`automationRunbookReceiver`\" pulumi-lang-python=\"`automation_runbook_receiver`\" pulumi-lang-yaml=\"`automationRunbookReceiver`\" pulumi-lang-java=\"`automationRunbookReceiver`\"\u003e`automation_runbook_receiver`\u003c/span\u003e blocks as defined below.\n"},"azureAppPushReceivers":{"type":"array","items":{"$ref":"#/types/azure:monitoring/ActionGroupAzureAppPushReceiver:ActionGroupAzureAppPushReceiver"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`azureAppPushReceiver`\" pulumi-lang-dotnet=\"`AzureAppPushReceiver`\" pulumi-lang-go=\"`azureAppPushReceiver`\" pulumi-lang-python=\"`azure_app_push_receiver`\" pulumi-lang-yaml=\"`azureAppPushReceiver`\" pulumi-lang-java=\"`azureAppPushReceiver`\"\u003e`azure_app_push_receiver`\u003c/span\u003e blocks as defined below.\n"},"azureFunctionReceivers":{"type":"array","items":{"$ref":"#/types/azure:monitoring/ActionGroupAzureFunctionReceiver:ActionGroupAzureFunctionReceiver"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`azureFunctionReceiver`\" pulumi-lang-dotnet=\"`AzureFunctionReceiver`\" pulumi-lang-go=\"`azureFunctionReceiver`\" pulumi-lang-python=\"`azure_function_receiver`\" pulumi-lang-yaml=\"`azureFunctionReceiver`\" pulumi-lang-java=\"`azureFunctionReceiver`\"\u003e`azure_function_receiver`\u003c/span\u003e blocks as defined below.\n"},"emailReceivers":{"type":"array","items":{"$ref":"#/types/azure:monitoring/ActionGroupEmailReceiver:ActionGroupEmailReceiver"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`emailReceiver`\" pulumi-lang-dotnet=\"`EmailReceiver`\" pulumi-lang-go=\"`emailReceiver`\" pulumi-lang-python=\"`email_receiver`\" pulumi-lang-yaml=\"`emailReceiver`\" pulumi-lang-java=\"`emailReceiver`\"\u003e`email_receiver`\u003c/span\u003e blocks as defined below.\n"},"enabled":{"type":"boolean","description":"Whether this action group is enabled. If an action group is not enabled, then none of its receivers will receive communications. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"eventHubReceivers":{"type":"array","items":{"$ref":"#/types/azure:monitoring/ActionGroupEventHubReceiver:ActionGroupEventHubReceiver"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`eventHubReceiver`\" pulumi-lang-dotnet=\"`EventHubReceiver`\" pulumi-lang-go=\"`eventHubReceiver`\" pulumi-lang-python=\"`event_hub_receiver`\" pulumi-lang-yaml=\"`eventHubReceiver`\" pulumi-lang-java=\"`eventHubReceiver`\"\u003e`event_hub_receiver`\u003c/span\u003e blocks as defined below.\n"},"itsmReceivers":{"type":"array","items":{"$ref":"#/types/azure:monitoring/ActionGroupItsmReceiver:ActionGroupItsmReceiver"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`itsmReceiver`\" pulumi-lang-dotnet=\"`ItsmReceiver`\" pulumi-lang-go=\"`itsmReceiver`\" pulumi-lang-python=\"`itsm_receiver`\" pulumi-lang-yaml=\"`itsmReceiver`\" pulumi-lang-java=\"`itsmReceiver`\"\u003e`itsm_receiver`\u003c/span\u003e blocks as defined below.\n"},"location":{"type":"string","description":"The Azure Region where the Action Group should exist. Changing this forces a new Action Group to be created. Defaults to \u003cspan pulumi-lang-nodejs=\"`global`\" pulumi-lang-dotnet=\"`Global`\" pulumi-lang-go=\"`global`\" pulumi-lang-python=\"`global`\" pulumi-lang-yaml=\"`global`\" pulumi-lang-java=\"`global`\"\u003e`global`\u003c/span\u003e.\n","willReplaceOnChanges":true},"logicAppReceivers":{"type":"array","items":{"$ref":"#/types/azure:monitoring/ActionGroupLogicAppReceiver:ActionGroupLogicAppReceiver"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`logicAppReceiver`\" pulumi-lang-dotnet=\"`LogicAppReceiver`\" pulumi-lang-go=\"`logicAppReceiver`\" pulumi-lang-python=\"`logic_app_receiver`\" pulumi-lang-yaml=\"`logicAppReceiver`\" pulumi-lang-java=\"`logicAppReceiver`\"\u003e`logic_app_receiver`\u003c/span\u003e blocks as defined below.\n"},"name":{"type":"string","description":"The name of the Action Group. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the Action Group instance. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"shortName":{"type":"string","description":"The short name of the action group. This will be used in SMS messages.\n"},"smsReceivers":{"type":"array","items":{"$ref":"#/types/azure:monitoring/ActionGroupSmsReceiver:ActionGroupSmsReceiver"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`smsReceiver`\" pulumi-lang-dotnet=\"`SmsReceiver`\" pulumi-lang-go=\"`smsReceiver`\" pulumi-lang-python=\"`sms_receiver`\" pulumi-lang-yaml=\"`smsReceiver`\" pulumi-lang-java=\"`smsReceiver`\"\u003e`sms_receiver`\u003c/span\u003e blocks as defined below.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"voiceReceivers":{"type":"array","items":{"$ref":"#/types/azure:monitoring/ActionGroupVoiceReceiver:ActionGroupVoiceReceiver"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`voiceReceiver`\" pulumi-lang-dotnet=\"`VoiceReceiver`\" pulumi-lang-go=\"`voiceReceiver`\" pulumi-lang-python=\"`voice_receiver`\" pulumi-lang-yaml=\"`voiceReceiver`\" pulumi-lang-java=\"`voiceReceiver`\"\u003e`voice_receiver`\u003c/span\u003e blocks as defined below.\n"},"webhookReceivers":{"type":"array","items":{"$ref":"#/types/azure:monitoring/ActionGroupWebhookReceiver:ActionGroupWebhookReceiver"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`webhookReceiver`\" pulumi-lang-dotnet=\"`WebhookReceiver`\" pulumi-lang-go=\"`webhookReceiver`\" pulumi-lang-python=\"`webhook_receiver`\" pulumi-lang-yaml=\"`webhookReceiver`\" pulumi-lang-java=\"`webhookReceiver`\"\u003e`webhook_receiver`\u003c/span\u003e blocks as defined below.\n"}},"requiredInputs":["resourceGroupName","shortName"],"stateInputs":{"description":"Input properties used for looking up and filtering ActionGroup resources.\n","properties":{"armRoleReceivers":{"type":"array","items":{"$ref":"#/types/azure:monitoring/ActionGroupArmRoleReceiver:ActionGroupArmRoleReceiver"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`armRoleReceiver`\" pulumi-lang-dotnet=\"`ArmRoleReceiver`\" pulumi-lang-go=\"`armRoleReceiver`\" pulumi-lang-python=\"`arm_role_receiver`\" pulumi-lang-yaml=\"`armRoleReceiver`\" pulumi-lang-java=\"`armRoleReceiver`\"\u003e`arm_role_receiver`\u003c/span\u003e blocks as defined below.\n"},"automationRunbookReceivers":{"type":"array","items":{"$ref":"#/types/azure:monitoring/ActionGroupAutomationRunbookReceiver:ActionGroupAutomationRunbookReceiver"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`automationRunbookReceiver`\" pulumi-lang-dotnet=\"`AutomationRunbookReceiver`\" pulumi-lang-go=\"`automationRunbookReceiver`\" pulumi-lang-python=\"`automation_runbook_receiver`\" pulumi-lang-yaml=\"`automationRunbookReceiver`\" pulumi-lang-java=\"`automationRunbookReceiver`\"\u003e`automation_runbook_receiver`\u003c/span\u003e blocks as defined below.\n"},"azureAppPushReceivers":{"type":"array","items":{"$ref":"#/types/azure:monitoring/ActionGroupAzureAppPushReceiver:ActionGroupAzureAppPushReceiver"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`azureAppPushReceiver`\" pulumi-lang-dotnet=\"`AzureAppPushReceiver`\" pulumi-lang-go=\"`azureAppPushReceiver`\" pulumi-lang-python=\"`azure_app_push_receiver`\" pulumi-lang-yaml=\"`azureAppPushReceiver`\" pulumi-lang-java=\"`azureAppPushReceiver`\"\u003e`azure_app_push_receiver`\u003c/span\u003e blocks as defined below.\n"},"azureFunctionReceivers":{"type":"array","items":{"$ref":"#/types/azure:monitoring/ActionGroupAzureFunctionReceiver:ActionGroupAzureFunctionReceiver"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`azureFunctionReceiver`\" pulumi-lang-dotnet=\"`AzureFunctionReceiver`\" pulumi-lang-go=\"`azureFunctionReceiver`\" pulumi-lang-python=\"`azure_function_receiver`\" pulumi-lang-yaml=\"`azureFunctionReceiver`\" pulumi-lang-java=\"`azureFunctionReceiver`\"\u003e`azure_function_receiver`\u003c/span\u003e blocks as defined below.\n"},"emailReceivers":{"type":"array","items":{"$ref":"#/types/azure:monitoring/ActionGroupEmailReceiver:ActionGroupEmailReceiver"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`emailReceiver`\" pulumi-lang-dotnet=\"`EmailReceiver`\" pulumi-lang-go=\"`emailReceiver`\" pulumi-lang-python=\"`email_receiver`\" pulumi-lang-yaml=\"`emailReceiver`\" pulumi-lang-java=\"`emailReceiver`\"\u003e`email_receiver`\u003c/span\u003e blocks as defined below.\n"},"enabled":{"type":"boolean","description":"Whether this action group is enabled. If an action group is not enabled, then none of its receivers will receive communications. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"eventHubReceivers":{"type":"array","items":{"$ref":"#/types/azure:monitoring/ActionGroupEventHubReceiver:ActionGroupEventHubReceiver"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`eventHubReceiver`\" pulumi-lang-dotnet=\"`EventHubReceiver`\" pulumi-lang-go=\"`eventHubReceiver`\" pulumi-lang-python=\"`event_hub_receiver`\" pulumi-lang-yaml=\"`eventHubReceiver`\" pulumi-lang-java=\"`eventHubReceiver`\"\u003e`event_hub_receiver`\u003c/span\u003e blocks as defined below.\n"},"itsmReceivers":{"type":"array","items":{"$ref":"#/types/azure:monitoring/ActionGroupItsmReceiver:ActionGroupItsmReceiver"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`itsmReceiver`\" pulumi-lang-dotnet=\"`ItsmReceiver`\" pulumi-lang-go=\"`itsmReceiver`\" pulumi-lang-python=\"`itsm_receiver`\" pulumi-lang-yaml=\"`itsmReceiver`\" pulumi-lang-java=\"`itsmReceiver`\"\u003e`itsm_receiver`\u003c/span\u003e blocks as defined below.\n"},"location":{"type":"string","description":"The Azure Region where the Action Group should exist. Changing this forces a new Action Group to be created. Defaults to \u003cspan pulumi-lang-nodejs=\"`global`\" pulumi-lang-dotnet=\"`Global`\" pulumi-lang-go=\"`global`\" pulumi-lang-python=\"`global`\" pulumi-lang-yaml=\"`global`\" pulumi-lang-java=\"`global`\"\u003e`global`\u003c/span\u003e.\n","willReplaceOnChanges":true},"logicAppReceivers":{"type":"array","items":{"$ref":"#/types/azure:monitoring/ActionGroupLogicAppReceiver:ActionGroupLogicAppReceiver"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`logicAppReceiver`\" pulumi-lang-dotnet=\"`LogicAppReceiver`\" pulumi-lang-go=\"`logicAppReceiver`\" pulumi-lang-python=\"`logic_app_receiver`\" pulumi-lang-yaml=\"`logicAppReceiver`\" pulumi-lang-java=\"`logicAppReceiver`\"\u003e`logic_app_receiver`\u003c/span\u003e blocks as defined below.\n"},"name":{"type":"string","description":"The name of the Action Group. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the Action Group instance. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"shortName":{"type":"string","description":"The short name of the action group. This will be used in SMS messages.\n"},"smsReceivers":{"type":"array","items":{"$ref":"#/types/azure:monitoring/ActionGroupSmsReceiver:ActionGroupSmsReceiver"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`smsReceiver`\" pulumi-lang-dotnet=\"`SmsReceiver`\" pulumi-lang-go=\"`smsReceiver`\" pulumi-lang-python=\"`sms_receiver`\" pulumi-lang-yaml=\"`smsReceiver`\" pulumi-lang-java=\"`smsReceiver`\"\u003e`sms_receiver`\u003c/span\u003e blocks as defined below.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"voiceReceivers":{"type":"array","items":{"$ref":"#/types/azure:monitoring/ActionGroupVoiceReceiver:ActionGroupVoiceReceiver"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`voiceReceiver`\" pulumi-lang-dotnet=\"`VoiceReceiver`\" pulumi-lang-go=\"`voiceReceiver`\" pulumi-lang-python=\"`voice_receiver`\" pulumi-lang-yaml=\"`voiceReceiver`\" pulumi-lang-java=\"`voiceReceiver`\"\u003e`voice_receiver`\u003c/span\u003e blocks as defined below.\n"},"webhookReceivers":{"type":"array","items":{"$ref":"#/types/azure:monitoring/ActionGroupWebhookReceiver:ActionGroupWebhookReceiver"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`webhookReceiver`\" pulumi-lang-dotnet=\"`WebhookReceiver`\" pulumi-lang-go=\"`webhookReceiver`\" pulumi-lang-python=\"`webhook_receiver`\" pulumi-lang-yaml=\"`webhookReceiver`\" pulumi-lang-java=\"`webhookReceiver`\"\u003e`webhook_receiver`\u003c/span\u003e blocks as defined below.\n"}},"type":"object"}},"azure:monitoring/activityLogAlert:ActivityLogAlert":{"description":"Manages an Activity Log Alert within Azure Monitor.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst main = new azure.monitoring.ActionGroup(\"main\", {\n    name: \"example-actiongroup\",\n    resourceGroupName: example.name,\n    shortName: \"p0action\",\n    webhookReceivers: [{\n        name: \"callmyapi\",\n        serviceUri: \"http://example.com/alert\",\n    }],\n});\nconst toMonitor = new azure.storage.Account(\"to_monitor\", {\n    name: \"examplesa\",\n    resourceGroupName: example.name,\n    location: example.location,\n    accountTier: \"Standard\",\n    accountReplicationType: \"GRS\",\n});\nconst mainActivityLogAlert = new azure.monitoring.ActivityLogAlert(\"main\", {\n    name: \"example-activitylogalert\",\n    resourceGroupName: example.name,\n    location: example.location,\n    scopes: [example.id],\n    description: \"This alert will monitor a specific storage account updates.\",\n    criteria: {\n        resourceId: toMonitor.id,\n        operationName: \"Microsoft.Storage/storageAccounts/write\",\n        category: \"Recommendation\",\n    },\n    actions: [{\n        actionGroupId: main.id,\n        webhookProperties: {\n            from: \"source\",\n        },\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nmain = azure.monitoring.ActionGroup(\"main\",\n    name=\"example-actiongroup\",\n    resource_group_name=example.name,\n    short_name=\"p0action\",\n    webhook_receivers=[{\n        \"name\": \"callmyapi\",\n        \"service_uri\": \"http://example.com/alert\",\n    }])\nto_monitor = azure.storage.Account(\"to_monitor\",\n    name=\"examplesa\",\n    resource_group_name=example.name,\n    location=example.location,\n    account_tier=\"Standard\",\n    account_replication_type=\"GRS\")\nmain_activity_log_alert = azure.monitoring.ActivityLogAlert(\"main\",\n    name=\"example-activitylogalert\",\n    resource_group_name=example.name,\n    location=example.location,\n    scopes=[example.id],\n    description=\"This alert will monitor a specific storage account updates.\",\n    criteria={\n        \"resource_id\": to_monitor.id,\n        \"operation_name\": \"Microsoft.Storage/storageAccounts/write\",\n        \"category\": \"Recommendation\",\n    },\n    actions=[{\n        \"action_group_id\": main.id,\n        \"webhook_properties\": {\n            \"from\": \"source\",\n        },\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var main = new Azure.Monitoring.ActionGroup(\"main\", new()\n    {\n        Name = \"example-actiongroup\",\n        ResourceGroupName = example.Name,\n        ShortName = \"p0action\",\n        WebhookReceivers = new[]\n        {\n            new Azure.Monitoring.Inputs.ActionGroupWebhookReceiverArgs\n            {\n                Name = \"callmyapi\",\n                ServiceUri = \"http://example.com/alert\",\n            },\n        },\n    });\n\n    var toMonitor = new Azure.Storage.Account(\"to_monitor\", new()\n    {\n        Name = \"examplesa\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        AccountTier = \"Standard\",\n        AccountReplicationType = \"GRS\",\n    });\n\n    var mainActivityLogAlert = new Azure.Monitoring.ActivityLogAlert(\"main\", new()\n    {\n        Name = \"example-activitylogalert\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        Scopes = new[]\n        {\n            example.Id,\n        },\n        Description = \"This alert will monitor a specific storage account updates.\",\n        Criteria = new Azure.Monitoring.Inputs.ActivityLogAlertCriteriaArgs\n        {\n            ResourceId = toMonitor.Id,\n            OperationName = \"Microsoft.Storage/storageAccounts/write\",\n            Category = \"Recommendation\",\n        },\n        Actions = new[]\n        {\n            new Azure.Monitoring.Inputs.ActivityLogAlertActionArgs\n            {\n                ActionGroupId = main.Id,\n                WebhookProperties = \n                {\n                    { \"from\", \"source\" },\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/monitoring\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmain, err := monitoring.NewActionGroup(ctx, \"main\", \u0026monitoring.ActionGroupArgs{\n\t\t\tName:              pulumi.String(\"example-actiongroup\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tShortName:         pulumi.String(\"p0action\"),\n\t\t\tWebhookReceivers: monitoring.ActionGroupWebhookReceiverArray{\n\t\t\t\t\u0026monitoring.ActionGroupWebhookReceiverArgs{\n\t\t\t\t\tName:       pulumi.String(\"callmyapi\"),\n\t\t\t\t\tServiceUri: pulumi.String(\"http://example.com/alert\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttoMonitor, err := storage.NewAccount(ctx, \"to_monitor\", \u0026storage.AccountArgs{\n\t\t\tName:                   pulumi.String(\"examplesa\"),\n\t\t\tResourceGroupName:      example.Name,\n\t\t\tLocation:               example.Location,\n\t\t\tAccountTier:            pulumi.String(\"Standard\"),\n\t\t\tAccountReplicationType: pulumi.String(\"GRS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = monitoring.NewActivityLogAlert(ctx, \"main\", \u0026monitoring.ActivityLogAlertArgs{\n\t\t\tName:              pulumi.String(\"example-activitylogalert\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tScopes: pulumi.StringArray{\n\t\t\t\texample.ID(),\n\t\t\t},\n\t\t\tDescription: pulumi.String(\"This alert will monitor a specific storage account updates.\"),\n\t\t\tCriteria: \u0026monitoring.ActivityLogAlertCriteriaArgs{\n\t\t\t\tResourceId:    toMonitor.ID(),\n\t\t\t\tOperationName: pulumi.String(\"Microsoft.Storage/storageAccounts/write\"),\n\t\t\t\tCategory:      pulumi.String(\"Recommendation\"),\n\t\t\t},\n\t\t\tActions: monitoring.ActivityLogAlertActionArray{\n\t\t\t\t\u0026monitoring.ActivityLogAlertActionArgs{\n\t\t\t\t\tActionGroupId: main.ID(),\n\t\t\t\t\tWebhookProperties: pulumi.StringMap{\n\t\t\t\t\t\t\"from\": pulumi.String(\"source\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.monitoring.ActionGroup;\nimport com.pulumi.azure.monitoring.ActionGroupArgs;\nimport com.pulumi.azure.monitoring.inputs.ActionGroupWebhookReceiverArgs;\nimport com.pulumi.azure.storage.Account;\nimport com.pulumi.azure.storage.AccountArgs;\nimport com.pulumi.azure.monitoring.ActivityLogAlert;\nimport com.pulumi.azure.monitoring.ActivityLogAlertArgs;\nimport com.pulumi.azure.monitoring.inputs.ActivityLogAlertCriteriaArgs;\nimport com.pulumi.azure.monitoring.inputs.ActivityLogAlertActionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var main = new ActionGroup(\"main\", ActionGroupArgs.builder()\n            .name(\"example-actiongroup\")\n            .resourceGroupName(example.name())\n            .shortName(\"p0action\")\n            .webhookReceivers(ActionGroupWebhookReceiverArgs.builder()\n                .name(\"callmyapi\")\n                .serviceUri(\"http://example.com/alert\")\n                .build())\n            .build());\n\n        var toMonitor = new Account(\"toMonitor\", AccountArgs.builder()\n            .name(\"examplesa\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .accountTier(\"Standard\")\n            .accountReplicationType(\"GRS\")\n            .build());\n\n        var mainActivityLogAlert = new ActivityLogAlert(\"mainActivityLogAlert\", ActivityLogAlertArgs.builder()\n            .name(\"example-activitylogalert\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .scopes(example.id())\n            .description(\"This alert will monitor a specific storage account updates.\")\n            .criteria(ActivityLogAlertCriteriaArgs.builder()\n                .resourceId(toMonitor.id())\n                .operationName(\"Microsoft.Storage/storageAccounts/write\")\n                .category(\"Recommendation\")\n                .build())\n            .actions(ActivityLogAlertActionArgs.builder()\n                .actionGroupId(main.id())\n                .webhookProperties(Map.of(\"from\", \"source\"))\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  main:\n    type: azure:monitoring:ActionGroup\n    properties:\n      name: example-actiongroup\n      resourceGroupName: ${example.name}\n      shortName: p0action\n      webhookReceivers:\n        - name: callmyapi\n          serviceUri: http://example.com/alert\n  toMonitor:\n    type: azure:storage:Account\n    name: to_monitor\n    properties:\n      name: examplesa\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      accountTier: Standard\n      accountReplicationType: GRS\n  mainActivityLogAlert:\n    type: azure:monitoring:ActivityLogAlert\n    name: main\n    properties:\n      name: example-activitylogalert\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      scopes:\n        - ${example.id}\n      description: This alert will monitor a specific storage account updates.\n      criteria:\n        resourceId: ${toMonitor.id}\n        operationName: Microsoft.Storage/storageAccounts/write\n        category: Recommendation\n      actions:\n        - actionGroupId: ${main.id}\n          webhookProperties:\n            from: source\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Insights` - 2020-10-01\n\n## Import\n\nActivity log alerts can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:monitoring/activityLogAlert:ActivityLogAlert example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Insights/activityLogAlerts/myalertname\n```\n\n","properties":{"actions":{"type":"array","items":{"$ref":"#/types/azure:monitoring/ActivityLogAlertAction:ActivityLogAlertAction"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`action`\" pulumi-lang-dotnet=\"`Action`\" pulumi-lang-go=\"`action`\" pulumi-lang-python=\"`action`\" pulumi-lang-yaml=\"`action`\" pulumi-lang-java=\"`action`\"\u003e`action`\u003c/span\u003e blocks as defined below.\n"},"criteria":{"$ref":"#/types/azure:monitoring/ActivityLogAlertCriteria:ActivityLogAlertCriteria","description":"A \u003cspan pulumi-lang-nodejs=\"`criteria`\" pulumi-lang-dotnet=\"`Criteria`\" pulumi-lang-go=\"`criteria`\" pulumi-lang-python=\"`criteria`\" pulumi-lang-yaml=\"`criteria`\" pulumi-lang-java=\"`criteria`\"\u003e`criteria`\u003c/span\u003e block as defined below.\n"},"description":{"type":"string","description":"The description of this activity log alert.\n"},"enabled":{"type":"boolean","description":"Should this Activity Log Alert be enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"location":{"type":"string","description":"The Azure Region where the activity log alert rule should exist. Possible values are \u003cspan pulumi-lang-nodejs=\"`global`\" pulumi-lang-dotnet=\"`Global`\" pulumi-lang-go=\"`global`\" pulumi-lang-python=\"`global`\" pulumi-lang-yaml=\"`global`\" pulumi-lang-java=\"`global`\"\u003e`global`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`westeurope`\" pulumi-lang-dotnet=\"`Westeurope`\" pulumi-lang-go=\"`westeurope`\" pulumi-lang-python=\"`westeurope`\" pulumi-lang-yaml=\"`westeurope`\" pulumi-lang-java=\"`westeurope`\"\u003e`westeurope`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`northeurope`\" pulumi-lang-dotnet=\"`Northeurope`\" pulumi-lang-go=\"`northeurope`\" pulumi-lang-python=\"`northeurope`\" pulumi-lang-yaml=\"`northeurope`\" pulumi-lang-java=\"`northeurope`\"\u003e`northeurope`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`eastus2euap`\" pulumi-lang-dotnet=\"`Eastus2euap`\" pulumi-lang-go=\"`eastus2euap`\" pulumi-lang-python=\"`eastus2euap`\" pulumi-lang-yaml=\"`eastus2euap`\" pulumi-lang-java=\"`eastus2euap`\"\u003e`eastus2euap`\u003c/span\u003e. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"The name of the activity log alert. Changing this forces a new resource to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the activity log alert instance. Changing this forces a new resource to be created.\n"},"scopes":{"type":"array","items":{"type":"string"},"description":"The Scope at which the Activity Log should be applied. A list of strings which could be a resource group , or a subscription, or a resource ID (such as a Storage Account).\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"required":["criteria","location","name","resourceGroupName","scopes"],"inputProperties":{"actions":{"type":"array","items":{"$ref":"#/types/azure:monitoring/ActivityLogAlertAction:ActivityLogAlertAction"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`action`\" pulumi-lang-dotnet=\"`Action`\" pulumi-lang-go=\"`action`\" pulumi-lang-python=\"`action`\" pulumi-lang-yaml=\"`action`\" pulumi-lang-java=\"`action`\"\u003e`action`\u003c/span\u003e blocks as defined below.\n"},"criteria":{"$ref":"#/types/azure:monitoring/ActivityLogAlertCriteria:ActivityLogAlertCriteria","description":"A \u003cspan pulumi-lang-nodejs=\"`criteria`\" pulumi-lang-dotnet=\"`Criteria`\" pulumi-lang-go=\"`criteria`\" pulumi-lang-python=\"`criteria`\" pulumi-lang-yaml=\"`criteria`\" pulumi-lang-java=\"`criteria`\"\u003e`criteria`\u003c/span\u003e block as defined below.\n"},"description":{"type":"string","description":"The description of this activity log alert.\n"},"enabled":{"type":"boolean","description":"Should this Activity Log Alert be enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"location":{"type":"string","description":"The Azure Region where the activity log alert rule should exist. Possible values are \u003cspan pulumi-lang-nodejs=\"`global`\" pulumi-lang-dotnet=\"`Global`\" pulumi-lang-go=\"`global`\" pulumi-lang-python=\"`global`\" pulumi-lang-yaml=\"`global`\" pulumi-lang-java=\"`global`\"\u003e`global`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`westeurope`\" pulumi-lang-dotnet=\"`Westeurope`\" pulumi-lang-go=\"`westeurope`\" pulumi-lang-python=\"`westeurope`\" pulumi-lang-yaml=\"`westeurope`\" pulumi-lang-java=\"`westeurope`\"\u003e`westeurope`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`northeurope`\" pulumi-lang-dotnet=\"`Northeurope`\" pulumi-lang-go=\"`northeurope`\" pulumi-lang-python=\"`northeurope`\" pulumi-lang-yaml=\"`northeurope`\" pulumi-lang-java=\"`northeurope`\"\u003e`northeurope`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`eastus2euap`\" pulumi-lang-dotnet=\"`Eastus2euap`\" pulumi-lang-go=\"`eastus2euap`\" pulumi-lang-python=\"`eastus2euap`\" pulumi-lang-yaml=\"`eastus2euap`\" pulumi-lang-java=\"`eastus2euap`\"\u003e`eastus2euap`\u003c/span\u003e. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the activity log alert. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the activity log alert instance. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"scopes":{"type":"array","items":{"type":"string"},"description":"The Scope at which the Activity Log should be applied. A list of strings which could be a resource group , or a subscription, or a resource ID (such as a Storage Account).\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"requiredInputs":["criteria","resourceGroupName","scopes"],"stateInputs":{"description":"Input properties used for looking up and filtering ActivityLogAlert resources.\n","properties":{"actions":{"type":"array","items":{"$ref":"#/types/azure:monitoring/ActivityLogAlertAction:ActivityLogAlertAction"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`action`\" pulumi-lang-dotnet=\"`Action`\" pulumi-lang-go=\"`action`\" pulumi-lang-python=\"`action`\" pulumi-lang-yaml=\"`action`\" pulumi-lang-java=\"`action`\"\u003e`action`\u003c/span\u003e blocks as defined below.\n"},"criteria":{"$ref":"#/types/azure:monitoring/ActivityLogAlertCriteria:ActivityLogAlertCriteria","description":"A \u003cspan pulumi-lang-nodejs=\"`criteria`\" pulumi-lang-dotnet=\"`Criteria`\" pulumi-lang-go=\"`criteria`\" pulumi-lang-python=\"`criteria`\" pulumi-lang-yaml=\"`criteria`\" pulumi-lang-java=\"`criteria`\"\u003e`criteria`\u003c/span\u003e block as defined below.\n"},"description":{"type":"string","description":"The description of this activity log alert.\n"},"enabled":{"type":"boolean","description":"Should this Activity Log Alert be enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"location":{"type":"string","description":"The Azure Region where the activity log alert rule should exist. Possible values are \u003cspan pulumi-lang-nodejs=\"`global`\" pulumi-lang-dotnet=\"`Global`\" pulumi-lang-go=\"`global`\" pulumi-lang-python=\"`global`\" pulumi-lang-yaml=\"`global`\" pulumi-lang-java=\"`global`\"\u003e`global`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`westeurope`\" pulumi-lang-dotnet=\"`Westeurope`\" pulumi-lang-go=\"`westeurope`\" pulumi-lang-python=\"`westeurope`\" pulumi-lang-yaml=\"`westeurope`\" pulumi-lang-java=\"`westeurope`\"\u003e`westeurope`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`northeurope`\" pulumi-lang-dotnet=\"`Northeurope`\" pulumi-lang-go=\"`northeurope`\" pulumi-lang-python=\"`northeurope`\" pulumi-lang-yaml=\"`northeurope`\" pulumi-lang-java=\"`northeurope`\"\u003e`northeurope`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`eastus2euap`\" pulumi-lang-dotnet=\"`Eastus2euap`\" pulumi-lang-go=\"`eastus2euap`\" pulumi-lang-python=\"`eastus2euap`\" pulumi-lang-yaml=\"`eastus2euap`\" pulumi-lang-java=\"`eastus2euap`\"\u003e`eastus2euap`\u003c/span\u003e. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the activity log alert. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the activity log alert instance. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"scopes":{"type":"array","items":{"type":"string"},"description":"The Scope at which the Activity Log should be applied. A list of strings which could be a resource group , or a subscription, or a resource ID (such as a Storage Account).\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"type":"object"}},"azure:monitoring/alertProcessingRuleActionGroup:AlertProcessingRuleActionGroup":{"description":"Manages an Alert Processing Rule which apply action group.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleActionGroup = new azure.monitoring.ActionGroup(\"example\", {\n    name: \"example-action-group\",\n    resourceGroupName: example.name,\n    shortName: \"action\",\n});\nconst exampleAlertProcessingRuleActionGroup = new azure.monitoring.AlertProcessingRuleActionGroup(\"example\", {\n    name: \"example\",\n    resourceGroupName: \"example\",\n    scopes: [example.id],\n    addActionGroupIds: [exampleActionGroup.id],\n    condition: {\n        targetResourceType: {\n            operator: \"Equals\",\n            values: [\"Microsoft.Compute/VirtualMachines\"],\n        },\n        severity: {\n            operator: \"Equals\",\n            values: [\n                \"Sev0\",\n                \"Sev1\",\n                \"Sev2\",\n            ],\n        },\n    },\n    schedule: {\n        effectiveFrom: \"2022-01-01T01:02:03\",\n        effectiveUntil: \"2022-02-02T01:02:03\",\n        timeZone: \"Pacific Standard Time\",\n        recurrence: {\n            dailies: [{\n                startTime: \"17:00:00\",\n                endTime: \"09:00:00\",\n            }],\n            weeklies: [{\n                daysOfWeeks: [\n                    \"Saturday\",\n                    \"Sunday\",\n                ],\n            }],\n        },\n    },\n    tags: {\n        foo: \"bar\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_action_group = azure.monitoring.ActionGroup(\"example\",\n    name=\"example-action-group\",\n    resource_group_name=example.name,\n    short_name=\"action\")\nexample_alert_processing_rule_action_group = azure.monitoring.AlertProcessingRuleActionGroup(\"example\",\n    name=\"example\",\n    resource_group_name=\"example\",\n    scopes=[example.id],\n    add_action_group_ids=[example_action_group.id],\n    condition={\n        \"target_resource_type\": {\n            \"operator\": \"Equals\",\n            \"values\": [\"Microsoft.Compute/VirtualMachines\"],\n        },\n        \"severity\": {\n            \"operator\": \"Equals\",\n            \"values\": [\n                \"Sev0\",\n                \"Sev1\",\n                \"Sev2\",\n            ],\n        },\n    },\n    schedule={\n        \"effective_from\": \"2022-01-01T01:02:03\",\n        \"effective_until\": \"2022-02-02T01:02:03\",\n        \"time_zone\": \"Pacific Standard Time\",\n        \"recurrence\": {\n            \"dailies\": [{\n                \"start_time\": \"17:00:00\",\n                \"end_time\": \"09:00:00\",\n            }],\n            \"weeklies\": [{\n                \"days_of_weeks\": [\n                    \"Saturday\",\n                    \"Sunday\",\n                ],\n            }],\n        },\n    },\n    tags={\n        \"foo\": \"bar\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleActionGroup = new Azure.Monitoring.ActionGroup(\"example\", new()\n    {\n        Name = \"example-action-group\",\n        ResourceGroupName = example.Name,\n        ShortName = \"action\",\n    });\n\n    var exampleAlertProcessingRuleActionGroup = new Azure.Monitoring.AlertProcessingRuleActionGroup(\"example\", new()\n    {\n        Name = \"example\",\n        ResourceGroupName = \"example\",\n        Scopes = new[]\n        {\n            example.Id,\n        },\n        AddActionGroupIds = new[]\n        {\n            exampleActionGroup.Id,\n        },\n        Condition = new Azure.Monitoring.Inputs.AlertProcessingRuleActionGroupConditionArgs\n        {\n            TargetResourceType = new Azure.Monitoring.Inputs.AlertProcessingRuleActionGroupConditionTargetResourceTypeArgs\n            {\n                Operator = \"Equals\",\n                Values = new[]\n                {\n                    \"Microsoft.Compute/VirtualMachines\",\n                },\n            },\n            Severity = new Azure.Monitoring.Inputs.AlertProcessingRuleActionGroupConditionSeverityArgs\n            {\n                Operator = \"Equals\",\n                Values = new[]\n                {\n                    \"Sev0\",\n                    \"Sev1\",\n                    \"Sev2\",\n                },\n            },\n        },\n        Schedule = new Azure.Monitoring.Inputs.AlertProcessingRuleActionGroupScheduleArgs\n        {\n            EffectiveFrom = \"2022-01-01T01:02:03\",\n            EffectiveUntil = \"2022-02-02T01:02:03\",\n            TimeZone = \"Pacific Standard Time\",\n            Recurrence = new Azure.Monitoring.Inputs.AlertProcessingRuleActionGroupScheduleRecurrenceArgs\n            {\n                Dailies = new[]\n                {\n                    new Azure.Monitoring.Inputs.AlertProcessingRuleActionGroupScheduleRecurrenceDailyArgs\n                    {\n                        StartTime = \"17:00:00\",\n                        EndTime = \"09:00:00\",\n                    },\n                },\n                Weeklies = new[]\n                {\n                    new Azure.Monitoring.Inputs.AlertProcessingRuleActionGroupScheduleRecurrenceWeeklyArgs\n                    {\n                        DaysOfWeeks = new[]\n                        {\n                            \"Saturday\",\n                            \"Sunday\",\n                        },\n                    },\n                },\n            },\n        },\n        Tags = \n        {\n            { \"foo\", \"bar\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/monitoring\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleActionGroup, err := monitoring.NewActionGroup(ctx, \"example\", \u0026monitoring.ActionGroupArgs{\n\t\t\tName:              pulumi.String(\"example-action-group\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tShortName:         pulumi.String(\"action\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = monitoring.NewAlertProcessingRuleActionGroup(ctx, \"example\", \u0026monitoring.AlertProcessingRuleActionGroupArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tResourceGroupName: pulumi.String(\"example\"),\n\t\t\tScopes: pulumi.StringArray{\n\t\t\t\texample.ID(),\n\t\t\t},\n\t\t\tAddActionGroupIds: pulumi.StringArray{\n\t\t\t\texampleActionGroup.ID(),\n\t\t\t},\n\t\t\tCondition: \u0026monitoring.AlertProcessingRuleActionGroupConditionArgs{\n\t\t\t\tTargetResourceType: \u0026monitoring.AlertProcessingRuleActionGroupConditionTargetResourceTypeArgs{\n\t\t\t\t\tOperator: pulumi.String(\"Equals\"),\n\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"Microsoft.Compute/VirtualMachines\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tSeverity: \u0026monitoring.AlertProcessingRuleActionGroupConditionSeverityArgs{\n\t\t\t\t\tOperator: pulumi.String(\"Equals\"),\n\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"Sev0\"),\n\t\t\t\t\t\tpulumi.String(\"Sev1\"),\n\t\t\t\t\t\tpulumi.String(\"Sev2\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tSchedule: \u0026monitoring.AlertProcessingRuleActionGroupScheduleArgs{\n\t\t\t\tEffectiveFrom:  pulumi.String(\"2022-01-01T01:02:03\"),\n\t\t\t\tEffectiveUntil: pulumi.String(\"2022-02-02T01:02:03\"),\n\t\t\t\tTimeZone:       pulumi.String(\"Pacific Standard Time\"),\n\t\t\t\tRecurrence: \u0026monitoring.AlertProcessingRuleActionGroupScheduleRecurrenceArgs{\n\t\t\t\t\tDailies: monitoring.AlertProcessingRuleActionGroupScheduleRecurrenceDailyArray{\n\t\t\t\t\t\t\u0026monitoring.AlertProcessingRuleActionGroupScheduleRecurrenceDailyArgs{\n\t\t\t\t\t\t\tStartTime: pulumi.String(\"17:00:00\"),\n\t\t\t\t\t\t\tEndTime:   pulumi.String(\"09:00:00\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tWeeklies: monitoring.AlertProcessingRuleActionGroupScheduleRecurrenceWeeklyArray{\n\t\t\t\t\t\t\u0026monitoring.AlertProcessingRuleActionGroupScheduleRecurrenceWeeklyArgs{\n\t\t\t\t\t\t\tDaysOfWeeks: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"Saturday\"),\n\t\t\t\t\t\t\t\tpulumi.String(\"Sunday\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"foo\": pulumi.String(\"bar\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.monitoring.ActionGroup;\nimport com.pulumi.azure.monitoring.ActionGroupArgs;\nimport com.pulumi.azure.monitoring.AlertProcessingRuleActionGroup;\nimport com.pulumi.azure.monitoring.AlertProcessingRuleActionGroupArgs;\nimport com.pulumi.azure.monitoring.inputs.AlertProcessingRuleActionGroupConditionArgs;\nimport com.pulumi.azure.monitoring.inputs.AlertProcessingRuleActionGroupConditionTargetResourceTypeArgs;\nimport com.pulumi.azure.monitoring.inputs.AlertProcessingRuleActionGroupConditionSeverityArgs;\nimport com.pulumi.azure.monitoring.inputs.AlertProcessingRuleActionGroupScheduleArgs;\nimport com.pulumi.azure.monitoring.inputs.AlertProcessingRuleActionGroupScheduleRecurrenceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleActionGroup = new ActionGroup(\"exampleActionGroup\", ActionGroupArgs.builder()\n            .name(\"example-action-group\")\n            .resourceGroupName(example.name())\n            .shortName(\"action\")\n            .build());\n\n        var exampleAlertProcessingRuleActionGroup = new AlertProcessingRuleActionGroup(\"exampleAlertProcessingRuleActionGroup\", AlertProcessingRuleActionGroupArgs.builder()\n            .name(\"example\")\n            .resourceGroupName(\"example\")\n            .scopes(example.id())\n            .addActionGroupIds(exampleActionGroup.id())\n            .condition(AlertProcessingRuleActionGroupConditionArgs.builder()\n                .targetResourceType(AlertProcessingRuleActionGroupConditionTargetResourceTypeArgs.builder()\n                    .operator(\"Equals\")\n                    .values(\"Microsoft.Compute/VirtualMachines\")\n                    .build())\n                .severity(AlertProcessingRuleActionGroupConditionSeverityArgs.builder()\n                    .operator(\"Equals\")\n                    .values(                    \n                        \"Sev0\",\n                        \"Sev1\",\n                        \"Sev2\")\n                    .build())\n                .build())\n            .schedule(AlertProcessingRuleActionGroupScheduleArgs.builder()\n                .effectiveFrom(\"2022-01-01T01:02:03\")\n                .effectiveUntil(\"2022-02-02T01:02:03\")\n                .timeZone(\"Pacific Standard Time\")\n                .recurrence(AlertProcessingRuleActionGroupScheduleRecurrenceArgs.builder()\n                    .dailies(AlertProcessingRuleActionGroupScheduleRecurrenceDailyArgs.builder()\n                        .startTime(\"17:00:00\")\n                        .endTime(\"09:00:00\")\n                        .build())\n                    .weeklies(AlertProcessingRuleActionGroupScheduleRecurrenceWeeklyArgs.builder()\n                        .daysOfWeeks(                        \n                            \"Saturday\",\n                            \"Sunday\")\n                        .build())\n                    .build())\n                .build())\n            .tags(Map.of(\"foo\", \"bar\"))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleActionGroup:\n    type: azure:monitoring:ActionGroup\n    name: example\n    properties:\n      name: example-action-group\n      resourceGroupName: ${example.name}\n      shortName: action\n  exampleAlertProcessingRuleActionGroup:\n    type: azure:monitoring:AlertProcessingRuleActionGroup\n    name: example\n    properties:\n      name: example\n      resourceGroupName: example\n      scopes:\n        - ${example.id}\n      addActionGroupIds:\n        - ${exampleActionGroup.id}\n      condition:\n        targetResourceType:\n          operator: Equals\n          values:\n            - Microsoft.Compute/VirtualMachines\n        severity:\n          operator: Equals\n          values:\n            - Sev0\n            - Sev1\n            - Sev2\n      schedule:\n        effectiveFrom: 2022-01-01T01:02:03\n        effectiveUntil: 2022-02-02T01:02:03\n        timeZone: Pacific Standard Time\n        recurrence:\n          dailies:\n            - startTime: 17:00:00\n              endTime: 09:00:00\n          weeklies:\n            - daysOfWeeks:\n                - Saturday\n                - Sunday\n      tags:\n        foo: bar\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.AlertsManagement` - 2021-08-08\n\n## Import\n\nAlert Processing Rules can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:monitoring/alertProcessingRuleActionGroup:AlertProcessingRuleActionGroup example /subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/group1/providers/Microsoft.AlertsManagement/actionRules/actionRule1\n```\n\n","properties":{"addActionGroupIds":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Action Group IDs.\n"},"condition":{"$ref":"#/types/azure:monitoring/AlertProcessingRuleActionGroupCondition:AlertProcessingRuleActionGroupCondition","description":"A \u003cspan pulumi-lang-nodejs=\"`condition`\" pulumi-lang-dotnet=\"`Condition`\" pulumi-lang-go=\"`condition`\" pulumi-lang-python=\"`condition`\" pulumi-lang-yaml=\"`condition`\" pulumi-lang-java=\"`condition`\"\u003e`condition`\u003c/span\u003e block as defined below.\n"},"description":{"type":"string","description":"Specifies a description for the Alert Processing Rule.\n"},"enabled":{"type":"boolean","description":"Should the Alert Processing Rule be enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"name":{"type":"string","description":"The name which should be used for this Alert Processing Rule. Changing this forces a new Alert Processing Rule to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Alert Processing Rule should exist. Changing this forces a new Alert Processing Rule to be created.\n"},"schedule":{"$ref":"#/types/azure:monitoring/AlertProcessingRuleActionGroupSchedule:AlertProcessingRuleActionGroupSchedule","description":"A \u003cspan pulumi-lang-nodejs=\"`schedule`\" pulumi-lang-dotnet=\"`Schedule`\" pulumi-lang-go=\"`schedule`\" pulumi-lang-python=\"`schedule`\" pulumi-lang-yaml=\"`schedule`\" pulumi-lang-java=\"`schedule`\"\u003e`schedule`\u003c/span\u003e block as defined below.\n"},"scopes":{"type":"array","items":{"type":"string"},"description":"A list of resource IDs which will be the target of alert processing rule.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Alert Processing Rule.\n"}},"required":["addActionGroupIds","name","resourceGroupName","scopes"],"inputProperties":{"addActionGroupIds":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Action Group IDs.\n"},"condition":{"$ref":"#/types/azure:monitoring/AlertProcessingRuleActionGroupCondition:AlertProcessingRuleActionGroupCondition","description":"A \u003cspan pulumi-lang-nodejs=\"`condition`\" pulumi-lang-dotnet=\"`Condition`\" pulumi-lang-go=\"`condition`\" pulumi-lang-python=\"`condition`\" pulumi-lang-yaml=\"`condition`\" pulumi-lang-java=\"`condition`\"\u003e`condition`\u003c/span\u003e block as defined below.\n"},"description":{"type":"string","description":"Specifies a description for the Alert Processing Rule.\n"},"enabled":{"type":"boolean","description":"Should the Alert Processing Rule be enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"name":{"type":"string","description":"The name which should be used for this Alert Processing Rule. Changing this forces a new Alert Processing Rule to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Alert Processing Rule should exist. Changing this forces a new Alert Processing Rule to be created.\n","willReplaceOnChanges":true},"schedule":{"$ref":"#/types/azure:monitoring/AlertProcessingRuleActionGroupSchedule:AlertProcessingRuleActionGroupSchedule","description":"A \u003cspan pulumi-lang-nodejs=\"`schedule`\" pulumi-lang-dotnet=\"`Schedule`\" pulumi-lang-go=\"`schedule`\" pulumi-lang-python=\"`schedule`\" pulumi-lang-yaml=\"`schedule`\" pulumi-lang-java=\"`schedule`\"\u003e`schedule`\u003c/span\u003e block as defined below.\n"},"scopes":{"type":"array","items":{"type":"string"},"description":"A list of resource IDs which will be the target of alert processing rule.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Alert Processing Rule.\n"}},"requiredInputs":["addActionGroupIds","resourceGroupName","scopes"],"stateInputs":{"description":"Input properties used for looking up and filtering AlertProcessingRuleActionGroup resources.\n","properties":{"addActionGroupIds":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Action Group IDs.\n"},"condition":{"$ref":"#/types/azure:monitoring/AlertProcessingRuleActionGroupCondition:AlertProcessingRuleActionGroupCondition","description":"A \u003cspan pulumi-lang-nodejs=\"`condition`\" pulumi-lang-dotnet=\"`Condition`\" pulumi-lang-go=\"`condition`\" pulumi-lang-python=\"`condition`\" pulumi-lang-yaml=\"`condition`\" pulumi-lang-java=\"`condition`\"\u003e`condition`\u003c/span\u003e block as defined below.\n"},"description":{"type":"string","description":"Specifies a description for the Alert Processing Rule.\n"},"enabled":{"type":"boolean","description":"Should the Alert Processing Rule be enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"name":{"type":"string","description":"The name which should be used for this Alert Processing Rule. Changing this forces a new Alert Processing Rule to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Alert Processing Rule should exist. Changing this forces a new Alert Processing Rule to be created.\n","willReplaceOnChanges":true},"schedule":{"$ref":"#/types/azure:monitoring/AlertProcessingRuleActionGroupSchedule:AlertProcessingRuleActionGroupSchedule","description":"A \u003cspan pulumi-lang-nodejs=\"`schedule`\" pulumi-lang-dotnet=\"`Schedule`\" pulumi-lang-go=\"`schedule`\" pulumi-lang-python=\"`schedule`\" pulumi-lang-yaml=\"`schedule`\" pulumi-lang-java=\"`schedule`\"\u003e`schedule`\u003c/span\u003e block as defined below.\n"},"scopes":{"type":"array","items":{"type":"string"},"description":"A list of resource IDs which will be the target of alert processing rule.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Alert Processing Rule.\n"}},"type":"object"},"aliases":[{"type":"azure:monitoring/actionRuleActionGroup:ActionRuleActionGroup"}]},"azure:monitoring/alertProcessingRuleSuppression:AlertProcessingRuleSuppression":{"description":"Manages an Alert Processing Rule which suppress notifications.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleAlertProcessingRuleSuppression = new azure.monitoring.AlertProcessingRuleSuppression(\"example\", {\n    name: \"example\",\n    resourceGroupName: \"example\",\n    scopes: [example.id],\n    condition: {\n        targetResourceType: {\n            operator: \"Equals\",\n            values: [\"Microsoft.Compute/VirtualMachines\"],\n        },\n        severity: {\n            operator: \"Equals\",\n            values: [\n                \"Sev0\",\n                \"Sev1\",\n                \"Sev2\",\n            ],\n        },\n    },\n    schedule: {\n        effectiveFrom: \"2022-01-01T01:02:03\",\n        effectiveUntil: \"2022-02-02T01:02:03\",\n        timeZone: \"Pacific Standard Time\",\n        recurrence: {\n            dailies: [{\n                startTime: \"17:00:00\",\n                endTime: \"09:00:00\",\n            }],\n            weeklies: [{\n                daysOfWeeks: [\n                    \"Saturday\",\n                    \"Sunday\",\n                ],\n            }],\n        },\n    },\n    tags: {\n        foo: \"bar\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_alert_processing_rule_suppression = azure.monitoring.AlertProcessingRuleSuppression(\"example\",\n    name=\"example\",\n    resource_group_name=\"example\",\n    scopes=[example.id],\n    condition={\n        \"target_resource_type\": {\n            \"operator\": \"Equals\",\n            \"values\": [\"Microsoft.Compute/VirtualMachines\"],\n        },\n        \"severity\": {\n            \"operator\": \"Equals\",\n            \"values\": [\n                \"Sev0\",\n                \"Sev1\",\n                \"Sev2\",\n            ],\n        },\n    },\n    schedule={\n        \"effective_from\": \"2022-01-01T01:02:03\",\n        \"effective_until\": \"2022-02-02T01:02:03\",\n        \"time_zone\": \"Pacific Standard Time\",\n        \"recurrence\": {\n            \"dailies\": [{\n                \"start_time\": \"17:00:00\",\n                \"end_time\": \"09:00:00\",\n            }],\n            \"weeklies\": [{\n                \"days_of_weeks\": [\n                    \"Saturday\",\n                    \"Sunday\",\n                ],\n            }],\n        },\n    },\n    tags={\n        \"foo\": \"bar\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleAlertProcessingRuleSuppression = new Azure.Monitoring.AlertProcessingRuleSuppression(\"example\", new()\n    {\n        Name = \"example\",\n        ResourceGroupName = \"example\",\n        Scopes = new[]\n        {\n            example.Id,\n        },\n        Condition = new Azure.Monitoring.Inputs.AlertProcessingRuleSuppressionConditionArgs\n        {\n            TargetResourceType = new Azure.Monitoring.Inputs.AlertProcessingRuleSuppressionConditionTargetResourceTypeArgs\n            {\n                Operator = \"Equals\",\n                Values = new[]\n                {\n                    \"Microsoft.Compute/VirtualMachines\",\n                },\n            },\n            Severity = new Azure.Monitoring.Inputs.AlertProcessingRuleSuppressionConditionSeverityArgs\n            {\n                Operator = \"Equals\",\n                Values = new[]\n                {\n                    \"Sev0\",\n                    \"Sev1\",\n                    \"Sev2\",\n                },\n            },\n        },\n        Schedule = new Azure.Monitoring.Inputs.AlertProcessingRuleSuppressionScheduleArgs\n        {\n            EffectiveFrom = \"2022-01-01T01:02:03\",\n            EffectiveUntil = \"2022-02-02T01:02:03\",\n            TimeZone = \"Pacific Standard Time\",\n            Recurrence = new Azure.Monitoring.Inputs.AlertProcessingRuleSuppressionScheduleRecurrenceArgs\n            {\n                Dailies = new[]\n                {\n                    new Azure.Monitoring.Inputs.AlertProcessingRuleSuppressionScheduleRecurrenceDailyArgs\n                    {\n                        StartTime = \"17:00:00\",\n                        EndTime = \"09:00:00\",\n                    },\n                },\n                Weeklies = new[]\n                {\n                    new Azure.Monitoring.Inputs.AlertProcessingRuleSuppressionScheduleRecurrenceWeeklyArgs\n                    {\n                        DaysOfWeeks = new[]\n                        {\n                            \"Saturday\",\n                            \"Sunday\",\n                        },\n                    },\n                },\n            },\n        },\n        Tags = \n        {\n            { \"foo\", \"bar\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/monitoring\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = monitoring.NewAlertProcessingRuleSuppression(ctx, \"example\", \u0026monitoring.AlertProcessingRuleSuppressionArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tResourceGroupName: pulumi.String(\"example\"),\n\t\t\tScopes: pulumi.StringArray{\n\t\t\t\texample.ID(),\n\t\t\t},\n\t\t\tCondition: \u0026monitoring.AlertProcessingRuleSuppressionConditionArgs{\n\t\t\t\tTargetResourceType: \u0026monitoring.AlertProcessingRuleSuppressionConditionTargetResourceTypeArgs{\n\t\t\t\t\tOperator: pulumi.String(\"Equals\"),\n\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"Microsoft.Compute/VirtualMachines\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tSeverity: \u0026monitoring.AlertProcessingRuleSuppressionConditionSeverityArgs{\n\t\t\t\t\tOperator: pulumi.String(\"Equals\"),\n\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"Sev0\"),\n\t\t\t\t\t\tpulumi.String(\"Sev1\"),\n\t\t\t\t\t\tpulumi.String(\"Sev2\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tSchedule: \u0026monitoring.AlertProcessingRuleSuppressionScheduleArgs{\n\t\t\t\tEffectiveFrom:  pulumi.String(\"2022-01-01T01:02:03\"),\n\t\t\t\tEffectiveUntil: pulumi.String(\"2022-02-02T01:02:03\"),\n\t\t\t\tTimeZone:       pulumi.String(\"Pacific Standard Time\"),\n\t\t\t\tRecurrence: \u0026monitoring.AlertProcessingRuleSuppressionScheduleRecurrenceArgs{\n\t\t\t\t\tDailies: monitoring.AlertProcessingRuleSuppressionScheduleRecurrenceDailyArray{\n\t\t\t\t\t\t\u0026monitoring.AlertProcessingRuleSuppressionScheduleRecurrenceDailyArgs{\n\t\t\t\t\t\t\tStartTime: pulumi.String(\"17:00:00\"),\n\t\t\t\t\t\t\tEndTime:   pulumi.String(\"09:00:00\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tWeeklies: monitoring.AlertProcessingRuleSuppressionScheduleRecurrenceWeeklyArray{\n\t\t\t\t\t\t\u0026monitoring.AlertProcessingRuleSuppressionScheduleRecurrenceWeeklyArgs{\n\t\t\t\t\t\t\tDaysOfWeeks: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"Saturday\"),\n\t\t\t\t\t\t\t\tpulumi.String(\"Sunday\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"foo\": pulumi.String(\"bar\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.monitoring.AlertProcessingRuleSuppression;\nimport com.pulumi.azure.monitoring.AlertProcessingRuleSuppressionArgs;\nimport com.pulumi.azure.monitoring.inputs.AlertProcessingRuleSuppressionConditionArgs;\nimport com.pulumi.azure.monitoring.inputs.AlertProcessingRuleSuppressionConditionTargetResourceTypeArgs;\nimport com.pulumi.azure.monitoring.inputs.AlertProcessingRuleSuppressionConditionSeverityArgs;\nimport com.pulumi.azure.monitoring.inputs.AlertProcessingRuleSuppressionScheduleArgs;\nimport com.pulumi.azure.monitoring.inputs.AlertProcessingRuleSuppressionScheduleRecurrenceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleAlertProcessingRuleSuppression = new AlertProcessingRuleSuppression(\"exampleAlertProcessingRuleSuppression\", AlertProcessingRuleSuppressionArgs.builder()\n            .name(\"example\")\n            .resourceGroupName(\"example\")\n            .scopes(example.id())\n            .condition(AlertProcessingRuleSuppressionConditionArgs.builder()\n                .targetResourceType(AlertProcessingRuleSuppressionConditionTargetResourceTypeArgs.builder()\n                    .operator(\"Equals\")\n                    .values(\"Microsoft.Compute/VirtualMachines\")\n                    .build())\n                .severity(AlertProcessingRuleSuppressionConditionSeverityArgs.builder()\n                    .operator(\"Equals\")\n                    .values(                    \n                        \"Sev0\",\n                        \"Sev1\",\n                        \"Sev2\")\n                    .build())\n                .build())\n            .schedule(AlertProcessingRuleSuppressionScheduleArgs.builder()\n                .effectiveFrom(\"2022-01-01T01:02:03\")\n                .effectiveUntil(\"2022-02-02T01:02:03\")\n                .timeZone(\"Pacific Standard Time\")\n                .recurrence(AlertProcessingRuleSuppressionScheduleRecurrenceArgs.builder()\n                    .dailies(AlertProcessingRuleSuppressionScheduleRecurrenceDailyArgs.builder()\n                        .startTime(\"17:00:00\")\n                        .endTime(\"09:00:00\")\n                        .build())\n                    .weeklies(AlertProcessingRuleSuppressionScheduleRecurrenceWeeklyArgs.builder()\n                        .daysOfWeeks(                        \n                            \"Saturday\",\n                            \"Sunday\")\n                        .build())\n                    .build())\n                .build())\n            .tags(Map.of(\"foo\", \"bar\"))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleAlertProcessingRuleSuppression:\n    type: azure:monitoring:AlertProcessingRuleSuppression\n    name: example\n    properties:\n      name: example\n      resourceGroupName: example\n      scopes:\n        - ${example.id}\n      condition:\n        targetResourceType:\n          operator: Equals\n          values:\n            - Microsoft.Compute/VirtualMachines\n        severity:\n          operator: Equals\n          values:\n            - Sev0\n            - Sev1\n            - Sev2\n      schedule:\n        effectiveFrom: 2022-01-01T01:02:03\n        effectiveUntil: 2022-02-02T01:02:03\n        timeZone: Pacific Standard Time\n        recurrence:\n          dailies:\n            - startTime: 17:00:00\n              endTime: 09:00:00\n          weeklies:\n            - daysOfWeeks:\n                - Saturday\n                - Sunday\n      tags:\n        foo: bar\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.AlertsManagement` - 2021-08-08\n\n## Import\n\nAlert Processing Rules can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:monitoring/alertProcessingRuleSuppression:AlertProcessingRuleSuppression example /subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/group1/providers/Microsoft.AlertsManagement/actionRules/actionRule1\n```\n\n","properties":{"condition":{"$ref":"#/types/azure:monitoring/AlertProcessingRuleSuppressionCondition:AlertProcessingRuleSuppressionCondition","description":"A \u003cspan pulumi-lang-nodejs=\"`condition`\" pulumi-lang-dotnet=\"`Condition`\" pulumi-lang-go=\"`condition`\" pulumi-lang-python=\"`condition`\" pulumi-lang-yaml=\"`condition`\" pulumi-lang-java=\"`condition`\"\u003e`condition`\u003c/span\u003e block as defined below.\n"},"description":{"type":"string","description":"Specifies a description for the Alert Processing Rule.\n"},"enabled":{"type":"boolean","description":"Should the Alert Processing Rule be enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"name":{"type":"string","description":"The name which should be used for this Alert Processing Rule. Changing this forces a new Alert Processing Rule to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Alert Processing Rule should exist. Changing this forces a new Alert Processing Rule to be created.\n"},"schedule":{"$ref":"#/types/azure:monitoring/AlertProcessingRuleSuppressionSchedule:AlertProcessingRuleSuppressionSchedule","description":"A \u003cspan pulumi-lang-nodejs=\"`schedule`\" pulumi-lang-dotnet=\"`Schedule`\" pulumi-lang-go=\"`schedule`\" pulumi-lang-python=\"`schedule`\" pulumi-lang-yaml=\"`schedule`\" pulumi-lang-java=\"`schedule`\"\u003e`schedule`\u003c/span\u003e block as defined below.\n"},"scopes":{"type":"array","items":{"type":"string"},"description":"A list of resource IDs which will be the target of Alert Processing Rule.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Alert Processing Rule.\n"}},"required":["name","resourceGroupName","scopes"],"inputProperties":{"condition":{"$ref":"#/types/azure:monitoring/AlertProcessingRuleSuppressionCondition:AlertProcessingRuleSuppressionCondition","description":"A \u003cspan pulumi-lang-nodejs=\"`condition`\" pulumi-lang-dotnet=\"`Condition`\" pulumi-lang-go=\"`condition`\" pulumi-lang-python=\"`condition`\" pulumi-lang-yaml=\"`condition`\" pulumi-lang-java=\"`condition`\"\u003e`condition`\u003c/span\u003e block as defined below.\n"},"description":{"type":"string","description":"Specifies a description for the Alert Processing Rule.\n"},"enabled":{"type":"boolean","description":"Should the Alert Processing Rule be enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"name":{"type":"string","description":"The name which should be used for this Alert Processing Rule. Changing this forces a new Alert Processing Rule to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Alert Processing Rule should exist. Changing this forces a new Alert Processing Rule to be created.\n","willReplaceOnChanges":true},"schedule":{"$ref":"#/types/azure:monitoring/AlertProcessingRuleSuppressionSchedule:AlertProcessingRuleSuppressionSchedule","description":"A \u003cspan pulumi-lang-nodejs=\"`schedule`\" pulumi-lang-dotnet=\"`Schedule`\" pulumi-lang-go=\"`schedule`\" pulumi-lang-python=\"`schedule`\" pulumi-lang-yaml=\"`schedule`\" pulumi-lang-java=\"`schedule`\"\u003e`schedule`\u003c/span\u003e block as defined below.\n"},"scopes":{"type":"array","items":{"type":"string"},"description":"A list of resource IDs which will be the target of Alert Processing Rule.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Alert Processing Rule.\n"}},"requiredInputs":["resourceGroupName","scopes"],"stateInputs":{"description":"Input properties used for looking up and filtering AlertProcessingRuleSuppression resources.\n","properties":{"condition":{"$ref":"#/types/azure:monitoring/AlertProcessingRuleSuppressionCondition:AlertProcessingRuleSuppressionCondition","description":"A \u003cspan pulumi-lang-nodejs=\"`condition`\" pulumi-lang-dotnet=\"`Condition`\" pulumi-lang-go=\"`condition`\" pulumi-lang-python=\"`condition`\" pulumi-lang-yaml=\"`condition`\" pulumi-lang-java=\"`condition`\"\u003e`condition`\u003c/span\u003e block as defined below.\n"},"description":{"type":"string","description":"Specifies a description for the Alert Processing Rule.\n"},"enabled":{"type":"boolean","description":"Should the Alert Processing Rule be enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"name":{"type":"string","description":"The name which should be used for this Alert Processing Rule. Changing this forces a new Alert Processing Rule to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Alert Processing Rule should exist. Changing this forces a new Alert Processing Rule to be created.\n","willReplaceOnChanges":true},"schedule":{"$ref":"#/types/azure:monitoring/AlertProcessingRuleSuppressionSchedule:AlertProcessingRuleSuppressionSchedule","description":"A \u003cspan pulumi-lang-nodejs=\"`schedule`\" pulumi-lang-dotnet=\"`Schedule`\" pulumi-lang-go=\"`schedule`\" pulumi-lang-python=\"`schedule`\" pulumi-lang-yaml=\"`schedule`\" pulumi-lang-java=\"`schedule`\"\u003e`schedule`\u003c/span\u003e block as defined below.\n"},"scopes":{"type":"array","items":{"type":"string"},"description":"A list of resource IDs which will be the target of Alert Processing Rule.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Alert Processing Rule.\n"}},"type":"object"},"aliases":[{"type":"azure:monitoring/actionRuleSuppression:ActionRuleSuppression"}]},"azure:monitoring/alertPrometheusRuleGroup:AlertPrometheusRuleGroup":{"description":"Manages an Alert Management Prometheus Rule Group.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleActionGroup = new azure.monitoring.ActionGroup(\"example\", {\n    name: \"example-mag\",\n    resourceGroupName: example.name,\n    shortName: \"testag\",\n});\nconst exampleWorkspace = new azure.monitoring.Workspace(\"example\", {\n    name: \"example-amw\",\n    resourceGroupName: example.name,\n    location: example.location,\n});\nconst exampleKubernetesCluster = new azure.containerservice.KubernetesCluster(\"example\", {\n    name: \"example-cluster\",\n    location: example.location,\n    resourceGroupName: example.name,\n    dnsPrefix: \"example-aks\",\n    defaultNodePool: {\n        name: \"default\",\n        nodeCount: 1,\n        vmSize: \"Standard_DS2_v2\",\n        hostEncryptionEnabled: true,\n    },\n    identity: {\n        type: \"SystemAssigned\",\n    },\n});\nconst exampleAlertPrometheusRuleGroup = new azure.monitoring.AlertPrometheusRuleGroup(\"example\", {\n    name: \"example-amprg\",\n    location: \"West Europe\",\n    resourceGroupName: example.name,\n    clusterName: exampleKubernetesCluster.name,\n    description: \"This is the description of the following rule group\",\n    ruleGroupEnabled: false,\n    interval: \"PT1M\",\n    scopes: [exampleWorkspace.id],\n    rules: [\n        {\n            enabled: false,\n            expression: \"histogram_quantile(0.99, sum(rate(jobs_duration_seconds_bucket{service=\\\\\\\"billing-processing\\\\\\\"}[5m])) by (job_type))\\n\",\n            record: \"job_type:billing_jobs_duration_seconds:99p5m\",\n            labels: {\n                team: \"prod\",\n            },\n        },\n        {\n            alert: \"Billing_Processing_Very_Slow\",\n            enabled: true,\n            expression: \"histogram_quantile(0.99, sum(rate(jobs_duration_seconds_bucket{service=\\\\\\\"billing-processing\\\\\\\"}[5m])) by (job_type))\\n\",\n            \"for\": \"PT5M\",\n            severity: 2,\n            actions: [{\n                actionGroupId: exampleActionGroup.id,\n            }],\n            alertResolution: {\n                autoResolved: true,\n                timeToResolve: \"PT10M\",\n            },\n            annotations: {\n                annotationName: \"annotationValue\",\n            },\n            labels: {\n                team: \"prod\",\n            },\n        },\n    ],\n    tags: {\n        key: \"value\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_action_group = azure.monitoring.ActionGroup(\"example\",\n    name=\"example-mag\",\n    resource_group_name=example.name,\n    short_name=\"testag\")\nexample_workspace = azure.monitoring.Workspace(\"example\",\n    name=\"example-amw\",\n    resource_group_name=example.name,\n    location=example.location)\nexample_kubernetes_cluster = azure.containerservice.KubernetesCluster(\"example\",\n    name=\"example-cluster\",\n    location=example.location,\n    resource_group_name=example.name,\n    dns_prefix=\"example-aks\",\n    default_node_pool={\n        \"name\": \"default\",\n        \"node_count\": 1,\n        \"vm_size\": \"Standard_DS2_v2\",\n        \"host_encryption_enabled\": True,\n    },\n    identity={\n        \"type\": \"SystemAssigned\",\n    })\nexample_alert_prometheus_rule_group = azure.monitoring.AlertPrometheusRuleGroup(\"example\",\n    name=\"example-amprg\",\n    location=\"West Europe\",\n    resource_group_name=example.name,\n    cluster_name=example_kubernetes_cluster.name,\n    description=\"This is the description of the following rule group\",\n    rule_group_enabled=False,\n    interval=\"PT1M\",\n    scopes=[example_workspace.id],\n    rules=[\n        {\n            \"enabled\": False,\n            \"expression\": \"histogram_quantile(0.99, sum(rate(jobs_duration_seconds_bucket{service=\\\\\\\"billing-processing\\\\\\\"}[5m])) by (job_type))\\n\",\n            \"record\": \"job_type:billing_jobs_duration_seconds:99p5m\",\n            \"labels\": {\n                \"team\": \"prod\",\n            },\n        },\n        {\n            \"alert\": \"Billing_Processing_Very_Slow\",\n            \"enabled\": True,\n            \"expression\": \"histogram_quantile(0.99, sum(rate(jobs_duration_seconds_bucket{service=\\\\\\\"billing-processing\\\\\\\"}[5m])) by (job_type))\\n\",\n            \"for_\": \"PT5M\",\n            \"severity\": 2,\n            \"actions\": [{\n                \"action_group_id\": example_action_group.id,\n            }],\n            \"alert_resolution\": {\n                \"auto_resolved\": True,\n                \"time_to_resolve\": \"PT10M\",\n            },\n            \"annotations\": {\n                \"annotationName\": \"annotationValue\",\n            },\n            \"labels\": {\n                \"team\": \"prod\",\n            },\n        },\n    ],\n    tags={\n        \"key\": \"value\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleActionGroup = new Azure.Monitoring.ActionGroup(\"example\", new()\n    {\n        Name = \"example-mag\",\n        ResourceGroupName = example.Name,\n        ShortName = \"testag\",\n    });\n\n    var exampleWorkspace = new Azure.Monitoring.Workspace(\"example\", new()\n    {\n        Name = \"example-amw\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n    });\n\n    var exampleKubernetesCluster = new Azure.ContainerService.KubernetesCluster(\"example\", new()\n    {\n        Name = \"example-cluster\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        DnsPrefix = \"example-aks\",\n        DefaultNodePool = new Azure.ContainerService.Inputs.KubernetesClusterDefaultNodePoolArgs\n        {\n            Name = \"default\",\n            NodeCount = 1,\n            VmSize = \"Standard_DS2_v2\",\n            HostEncryptionEnabled = true,\n        },\n        Identity = new Azure.ContainerService.Inputs.KubernetesClusterIdentityArgs\n        {\n            Type = \"SystemAssigned\",\n        },\n    });\n\n    var exampleAlertPrometheusRuleGroup = new Azure.Monitoring.AlertPrometheusRuleGroup(\"example\", new()\n    {\n        Name = \"example-amprg\",\n        Location = \"West Europe\",\n        ResourceGroupName = example.Name,\n        ClusterName = exampleKubernetesCluster.Name,\n        Description = \"This is the description of the following rule group\",\n        RuleGroupEnabled = false,\n        Interval = \"PT1M\",\n        Scopes = new[]\n        {\n            exampleWorkspace.Id,\n        },\n        Rules = new[]\n        {\n            new Azure.Monitoring.Inputs.AlertPrometheusRuleGroupRuleArgs\n            {\n                Enabled = false,\n                Expression = @\"histogram_quantile(0.99, sum(rate(jobs_duration_seconds_bucket{service=\\\"\"billing-processing\\\"\"}[5m])) by (job_type))\n\",\n                Record = \"job_type:billing_jobs_duration_seconds:99p5m\",\n                Labels = \n                {\n                    { \"team\", \"prod\" },\n                },\n            },\n            new Azure.Monitoring.Inputs.AlertPrometheusRuleGroupRuleArgs\n            {\n                Alert = \"Billing_Processing_Very_Slow\",\n                Enabled = true,\n                Expression = @\"histogram_quantile(0.99, sum(rate(jobs_duration_seconds_bucket{service=\\\"\"billing-processing\\\"\"}[5m])) by (job_type))\n\",\n                For = \"PT5M\",\n                Severity = 2,\n                Actions = new[]\n                {\n                    new Azure.Monitoring.Inputs.AlertPrometheusRuleGroupRuleActionArgs\n                    {\n                        ActionGroupId = exampleActionGroup.Id,\n                    },\n                },\n                AlertResolution = new Azure.Monitoring.Inputs.AlertPrometheusRuleGroupRuleAlertResolutionArgs\n                {\n                    AutoResolved = true,\n                    TimeToResolve = \"PT10M\",\n                },\n                Annotations = \n                {\n                    { \"annotationName\", \"annotationValue\" },\n                },\n                Labels = \n                {\n                    { \"team\", \"prod\" },\n                },\n            },\n        },\n        Tags = \n        {\n            { \"key\", \"value\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/containerservice\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/monitoring\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleActionGroup, err := monitoring.NewActionGroup(ctx, \"example\", \u0026monitoring.ActionGroupArgs{\n\t\t\tName:              pulumi.String(\"example-mag\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tShortName:         pulumi.String(\"testag\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleWorkspace, err := monitoring.NewWorkspace(ctx, \"example\", \u0026monitoring.WorkspaceArgs{\n\t\t\tName:              pulumi.String(\"example-amw\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleKubernetesCluster, err := containerservice.NewKubernetesCluster(ctx, \"example\", \u0026containerservice.KubernetesClusterArgs{\n\t\t\tName:              pulumi.String(\"example-cluster\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tDnsPrefix:         pulumi.String(\"example-aks\"),\n\t\t\tDefaultNodePool: \u0026containerservice.KubernetesClusterDefaultNodePoolArgs{\n\t\t\t\tName:                  pulumi.String(\"default\"),\n\t\t\t\tNodeCount:             pulumi.Int(1),\n\t\t\t\tVmSize:                pulumi.String(\"Standard_DS2_v2\"),\n\t\t\t\tHostEncryptionEnabled: pulumi.Bool(true),\n\t\t\t},\n\t\t\tIdentity: \u0026containerservice.KubernetesClusterIdentityArgs{\n\t\t\t\tType: pulumi.String(\"SystemAssigned\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = monitoring.NewAlertPrometheusRuleGroup(ctx, \"example\", \u0026monitoring.AlertPrometheusRuleGroupArgs{\n\t\t\tName:              pulumi.String(\"example-amprg\"),\n\t\t\tLocation:          pulumi.String(\"West Europe\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tClusterName:       exampleKubernetesCluster.Name,\n\t\t\tDescription:       pulumi.String(\"This is the description of the following rule group\"),\n\t\t\tRuleGroupEnabled:  pulumi.Bool(false),\n\t\t\tInterval:          pulumi.String(\"PT1M\"),\n\t\t\tScopes: pulumi.StringArray{\n\t\t\t\texampleWorkspace.ID(),\n\t\t\t},\n\t\t\tRules: monitoring.AlertPrometheusRuleGroupRuleArray{\n\t\t\t\t\u0026monitoring.AlertPrometheusRuleGroupRuleArgs{\n\t\t\t\t\tEnabled:    pulumi.Bool(false),\n\t\t\t\t\tExpression: pulumi.String(\"histogram_quantile(0.99, sum(rate(jobs_duration_seconds_bucket{service=\\\\\\\"billing-processing\\\\\\\"}[5m])) by (job_type))\\n\"),\n\t\t\t\t\tRecord:     pulumi.String(\"job_type:billing_jobs_duration_seconds:99p5m\"),\n\t\t\t\t\tLabels: pulumi.StringMap{\n\t\t\t\t\t\t\"team\": pulumi.String(\"prod\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026monitoring.AlertPrometheusRuleGroupRuleArgs{\n\t\t\t\t\tAlert:      pulumi.String(\"Billing_Processing_Very_Slow\"),\n\t\t\t\t\tEnabled:    pulumi.Bool(true),\n\t\t\t\t\tExpression: pulumi.String(\"histogram_quantile(0.99, sum(rate(jobs_duration_seconds_bucket{service=\\\\\\\"billing-processing\\\\\\\"}[5m])) by (job_type))\\n\"),\n\t\t\t\t\tFor:        pulumi.String(\"PT5M\"),\n\t\t\t\t\tSeverity:   pulumi.Int(2),\n\t\t\t\t\tActions: monitoring.AlertPrometheusRuleGroupRuleActionArray{\n\t\t\t\t\t\t\u0026monitoring.AlertPrometheusRuleGroupRuleActionArgs{\n\t\t\t\t\t\t\tActionGroupId: exampleActionGroup.ID(),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tAlertResolution: \u0026monitoring.AlertPrometheusRuleGroupRuleAlertResolutionArgs{\n\t\t\t\t\t\tAutoResolved:  pulumi.Bool(true),\n\t\t\t\t\t\tTimeToResolve: pulumi.String(\"PT10M\"),\n\t\t\t\t\t},\n\t\t\t\t\tAnnotations: pulumi.StringMap{\n\t\t\t\t\t\t\"annotationName\": pulumi.String(\"annotationValue\"),\n\t\t\t\t\t},\n\t\t\t\t\tLabels: pulumi.StringMap{\n\t\t\t\t\t\t\"team\": pulumi.String(\"prod\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"key\": pulumi.String(\"value\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.monitoring.ActionGroup;\nimport com.pulumi.azure.monitoring.ActionGroupArgs;\nimport com.pulumi.azure.monitoring.Workspace;\nimport com.pulumi.azure.monitoring.WorkspaceArgs;\nimport com.pulumi.azure.containerservice.KubernetesCluster;\nimport com.pulumi.azure.containerservice.KubernetesClusterArgs;\nimport com.pulumi.azure.containerservice.inputs.KubernetesClusterDefaultNodePoolArgs;\nimport com.pulumi.azure.containerservice.inputs.KubernetesClusterIdentityArgs;\nimport com.pulumi.azure.monitoring.AlertPrometheusRuleGroup;\nimport com.pulumi.azure.monitoring.AlertPrometheusRuleGroupArgs;\nimport com.pulumi.azure.monitoring.inputs.AlertPrometheusRuleGroupRuleArgs;\nimport com.pulumi.azure.monitoring.inputs.AlertPrometheusRuleGroupRuleAlertResolutionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleActionGroup = new ActionGroup(\"exampleActionGroup\", ActionGroupArgs.builder()\n            .name(\"example-mag\")\n            .resourceGroupName(example.name())\n            .shortName(\"testag\")\n            .build());\n\n        var exampleWorkspace = new Workspace(\"exampleWorkspace\", WorkspaceArgs.builder()\n            .name(\"example-amw\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .build());\n\n        var exampleKubernetesCluster = new KubernetesCluster(\"exampleKubernetesCluster\", KubernetesClusterArgs.builder()\n            .name(\"example-cluster\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .dnsPrefix(\"example-aks\")\n            .defaultNodePool(KubernetesClusterDefaultNodePoolArgs.builder()\n                .name(\"default\")\n                .nodeCount(1)\n                .vmSize(\"Standard_DS2_v2\")\n                .hostEncryptionEnabled(true)\n                .build())\n            .identity(KubernetesClusterIdentityArgs.builder()\n                .type(\"SystemAssigned\")\n                .build())\n            .build());\n\n        var exampleAlertPrometheusRuleGroup = new AlertPrometheusRuleGroup(\"exampleAlertPrometheusRuleGroup\", AlertPrometheusRuleGroupArgs.builder()\n            .name(\"example-amprg\")\n            .location(\"West Europe\")\n            .resourceGroupName(example.name())\n            .clusterName(exampleKubernetesCluster.name())\n            .description(\"This is the description of the following rule group\")\n            .ruleGroupEnabled(false)\n            .interval(\"PT1M\")\n            .scopes(exampleWorkspace.id())\n            .rules(            \n                AlertPrometheusRuleGroupRuleArgs.builder()\n                    .enabled(false)\n                    .expression(\"\"\"\nhistogram_quantile(0.99, sum(rate(jobs_duration_seconds_bucket{service=\\\"billing-processing\\\"}[5m])) by (job_type))\n                    \"\"\")\n                    .record(\"job_type:billing_jobs_duration_seconds:99p5m\")\n                    .labels(Map.of(\"team\", \"prod\"))\n                    .build(),\n                AlertPrometheusRuleGroupRuleArgs.builder()\n                    .alert(\"Billing_Processing_Very_Slow\")\n                    .enabled(true)\n                    .expression(\"\"\"\nhistogram_quantile(0.99, sum(rate(jobs_duration_seconds_bucket{service=\\\"billing-processing\\\"}[5m])) by (job_type))\n                    \"\"\")\n                    .for_(\"PT5M\")\n                    .severity(2)\n                    .actions(AlertPrometheusRuleGroupRuleActionArgs.builder()\n                        .actionGroupId(exampleActionGroup.id())\n                        .build())\n                    .alertResolution(AlertPrometheusRuleGroupRuleAlertResolutionArgs.builder()\n                        .autoResolved(true)\n                        .timeToResolve(\"PT10M\")\n                        .build())\n                    .annotations(Map.of(\"annotationName\", \"annotationValue\"))\n                    .labels(Map.of(\"team\", \"prod\"))\n                    .build())\n            .tags(Map.of(\"key\", \"value\"))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleActionGroup:\n    type: azure:monitoring:ActionGroup\n    name: example\n    properties:\n      name: example-mag\n      resourceGroupName: ${example.name}\n      shortName: testag\n  exampleWorkspace:\n    type: azure:monitoring:Workspace\n    name: example\n    properties:\n      name: example-amw\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n  exampleKubernetesCluster:\n    type: azure:containerservice:KubernetesCluster\n    name: example\n    properties:\n      name: example-cluster\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      dnsPrefix: example-aks\n      defaultNodePool:\n        name: default\n        nodeCount: 1\n        vmSize: Standard_DS2_v2\n        hostEncryptionEnabled: true\n      identity:\n        type: SystemAssigned\n  exampleAlertPrometheusRuleGroup:\n    type: azure:monitoring:AlertPrometheusRuleGroup\n    name: example\n    properties:\n      name: example-amprg\n      location: West Europe\n      resourceGroupName: ${example.name}\n      clusterName: ${exampleKubernetesCluster.name}\n      description: This is the description of the following rule group\n      ruleGroupEnabled: false\n      interval: PT1M\n      scopes:\n        - ${exampleWorkspace.id}\n      rules:\n        - enabled: false\n          expression: |\n            histogram_quantile(0.99, sum(rate(jobs_duration_seconds_bucket{service=\\\"billing-processing\\\"}[5m])) by (job_type))\n          record: job_type:billing_jobs_duration_seconds:99p5m\n          labels:\n            team: prod\n        - alert: Billing_Processing_Very_Slow\n          enabled: true\n          expression: |\n            histogram_quantile(0.99, sum(rate(jobs_duration_seconds_bucket{service=\\\"billing-processing\\\"}[5m])) by (job_type))\n          for: PT5M\n          severity: 2\n          actions:\n            - actionGroupId: ${exampleActionGroup.id}\n          alertResolution:\n            autoResolved: true\n            timeToResolve: PT10M\n          annotations:\n            annotationName: annotationValue\n          labels:\n            team: prod\n      tags:\n        key: value\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.AlertsManagement` - 2023-03-01\n\n## Import\n\nAlert Management Prometheus Rule Group can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:monitoring/alertPrometheusRuleGroup:AlertPrometheusRuleGroup example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup1/providers/Microsoft.AlertsManagement/prometheusRuleGroups/ruleGroup1\n```\n\n","properties":{"clusterName":{"type":"string","description":"Specifies the name of the Managed Kubernetes Cluster.\n"},"description":{"type":"string","description":"The description of the Alert Management Prometheus Rule Group.\n"},"interval":{"type":"string","description":"Specifies the interval in which to run the Alert Management Prometheus Rule Group represented in ISO 8601 duration format. Possible values are between `PT1M` and `PT15M`.\n"},"location":{"type":"string","description":"Specifies the Azure Region where the Alert Management Prometheus Rule Group should exist. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"Specifies the name which should be used for this Alert Management Prometheus Rule Group. Changing this forces a new resource to be created.\n"},"resourceGroupName":{"type":"string","description":"Specifies the name of the Resource Group where the Alert Management Prometheus Rule Group should exist. Changing this forces a new resource to be created.\n"},"ruleGroupEnabled":{"type":"boolean","description":"Is this Alert Management Prometheus Rule Group enabled? Possible values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"rules":{"type":"array","items":{"$ref":"#/types/azure:monitoring/AlertPrometheusRuleGroupRule:AlertPrometheusRuleGroupRule"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`rule`\" pulumi-lang-dotnet=\"`Rule`\" pulumi-lang-go=\"`rule`\" pulumi-lang-python=\"`rule`\" pulumi-lang-yaml=\"`rule`\" pulumi-lang-java=\"`rule`\"\u003e`rule`\u003c/span\u003e blocks as defined below.\n"},"scopes":{"type":"array","items":{"type":"string"},"description":"Specifies the resource ID of the Azure Monitor Workspace.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the Alert Management Prometheus Rule Group.\n"}},"required":["location","name","resourceGroupName","rules","scopes"],"inputProperties":{"clusterName":{"type":"string","description":"Specifies the name of the Managed Kubernetes Cluster.\n"},"description":{"type":"string","description":"The description of the Alert Management Prometheus Rule Group.\n"},"interval":{"type":"string","description":"Specifies the interval in which to run the Alert Management Prometheus Rule Group represented in ISO 8601 duration format. Possible values are between `PT1M` and `PT15M`.\n"},"location":{"type":"string","description":"Specifies the Azure Region where the Alert Management Prometheus Rule Group should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name which should be used for this Alert Management Prometheus Rule Group. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"Specifies the name of the Resource Group where the Alert Management Prometheus Rule Group should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"ruleGroupEnabled":{"type":"boolean","description":"Is this Alert Management Prometheus Rule Group enabled? Possible values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"rules":{"type":"array","items":{"$ref":"#/types/azure:monitoring/AlertPrometheusRuleGroupRule:AlertPrometheusRuleGroupRule"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`rule`\" pulumi-lang-dotnet=\"`Rule`\" pulumi-lang-go=\"`rule`\" pulumi-lang-python=\"`rule`\" pulumi-lang-yaml=\"`rule`\" pulumi-lang-java=\"`rule`\"\u003e`rule`\u003c/span\u003e blocks as defined below.\n"},"scopes":{"type":"array","items":{"type":"string"},"description":"Specifies the resource ID of the Azure Monitor Workspace.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the Alert Management Prometheus Rule Group.\n"}},"requiredInputs":["resourceGroupName","rules","scopes"],"stateInputs":{"description":"Input properties used for looking up and filtering AlertPrometheusRuleGroup resources.\n","properties":{"clusterName":{"type":"string","description":"Specifies the name of the Managed Kubernetes Cluster.\n"},"description":{"type":"string","description":"The description of the Alert Management Prometheus Rule Group.\n"},"interval":{"type":"string","description":"Specifies the interval in which to run the Alert Management Prometheus Rule Group represented in ISO 8601 duration format. Possible values are between `PT1M` and `PT15M`.\n"},"location":{"type":"string","description":"Specifies the Azure Region where the Alert Management Prometheus Rule Group should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name which should be used for this Alert Management Prometheus Rule Group. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"Specifies the name of the Resource Group where the Alert Management Prometheus Rule Group should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"ruleGroupEnabled":{"type":"boolean","description":"Is this Alert Management Prometheus Rule Group enabled? Possible values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"rules":{"type":"array","items":{"$ref":"#/types/azure:monitoring/AlertPrometheusRuleGroupRule:AlertPrometheusRuleGroupRule"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`rule`\" pulumi-lang-dotnet=\"`Rule`\" pulumi-lang-go=\"`rule`\" pulumi-lang-python=\"`rule`\" pulumi-lang-yaml=\"`rule`\" pulumi-lang-java=\"`rule`\"\u003e`rule`\u003c/span\u003e blocks as defined below.\n"},"scopes":{"type":"array","items":{"type":"string"},"description":"Specifies the resource ID of the Azure Monitor Workspace.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the Alert Management Prometheus Rule Group.\n"}},"type":"object"}},"azure:monitoring/autoscaleSetting:AutoscaleSetting":{"description":"Manages a AutoScale Setting which can be applied to Virtual Machine Scale Sets, App Services and other scalable resources.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"autoscalingTest\",\n    location: \"West Europe\",\n});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"example\", {\n    name: \"acctvn\",\n    addressSpaces: [\"10.0.0.0/16\"],\n    location: example.location,\n    resourceGroupName: example.name,\n});\nconst exampleSubnet = new azure.network.Subnet(\"example\", {\n    name: \"acctsub\",\n    resourceGroupName: example.name,\n    virtualNetworkName: exampleVirtualNetwork.name,\n    addressPrefixes: [\"10.0.2.0/24\"],\n});\nconst exampleLinuxVirtualMachineScaleSet = new azure.compute.LinuxVirtualMachineScaleSet(\"example\", {\n    name: \"exampleset\",\n    location: example.location,\n    resourceGroupName: example.name,\n    upgradeMode: \"Manual\",\n    sku: \"Standard_F2\",\n    instances: 2,\n    adminUsername: \"myadmin\",\n    adminSshKeys: [{\n        username: \"myadmin\",\n        publicKey: \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDCsTcryUl51Q2VSEHqDRNmceUFo55ZtcIwxl2QITbN1RREti5ml/VTytC0yeBOvnZA4x4CFpdw/lCDPk0yrH9Ei5vVkXmOrExdTlT3qI7YaAzj1tUVlBd4S6LX1F7y6VLActvdHuDDuXZXzCDd/97420jrDfWZqJMlUK/EmCE5ParCeHIRIvmBxcEnGfFIsw8xQZl0HphxWOtJil8qsUWSdMyCiJYYQpMoMliO99X40AUc4/AlsyPyT5ddbKk08YrZ+rKDVHF7o29rh4vi5MmHkVgVQHKiKybWlHq+b71gIAUQk9wrJxD+dqt4igrmDSpIjfjwnd+l5UIn5fJSO5DYV4YT/4hwK7OKmuo7OFHD0WyY5YnkYEMtFgzemnRBdE8ulcT60DQpVgRMXFWHvhyCWy0L6sgj1QWDZlLpvsIvNfHsyhKFMG1frLnMt/nP0+YCcfg+v1JYeCKjeoJxB8DWcRBsjzItY0CGmzP8UYZiYKl/2u+2TgFS5r7NWH11bxoUzjKdaa1NLw+ieA8GlBFfCbfWe6YVB9ggUte4VtYFMZGxOjS2bAiYtfgTKFJv+XqORAwExG6+G2eDxIDyo80/OA9IG7Xv/jwQr7D6KDjDuULFcN/iTxuttoKrHeYz1hf5ZQlBdllwJHYx6fK2g8kha6r2JIQKocvsAXiiONqSfw== hello@world.com\",\n    }],\n    networkInterfaces: [{\n        name: \"TestNetworkProfile\",\n        primary: true,\n        ipConfigurations: [{\n            name: \"TestIPConfiguration\",\n            primary: true,\n            subnetId: exampleSubnet.id,\n        }],\n    }],\n    osDisk: {\n        caching: \"ReadWrite\",\n        storageAccountType: \"StandardSSD_LRS\",\n    },\n    sourceImageReference: {\n        publisher: \"Canonical\",\n        offer: \"0001-com-ubuntu-server-jammy\",\n        sku: \"22_04-lts\",\n        version: \"latest\",\n    },\n});\nconst exampleAutoscaleSetting = new azure.monitoring.AutoscaleSetting(\"example\", {\n    name: \"myAutoscaleSetting\",\n    resourceGroupName: example.name,\n    location: example.location,\n    targetResourceId: exampleLinuxVirtualMachineScaleSet.id,\n    profiles: [{\n        name: \"defaultProfile\",\n        capacity: {\n            \"default\": 1,\n            minimum: 1,\n            maximum: 10,\n        },\n        rules: [\n            {\n                metricTrigger: {\n                    metricName: \"Percentage CPU\",\n                    metricResourceId: exampleLinuxVirtualMachineScaleSet.id,\n                    timeGrain: \"PT1M\",\n                    statistic: \"Average\",\n                    timeWindow: \"PT5M\",\n                    timeAggregation: \"Average\",\n                    operator: \"GreaterThan\",\n                    threshold: 75,\n                    metricNamespace: \"microsoft.compute/virtualmachinescalesets\",\n                    dimensions: [{\n                        name: \"AppName\",\n                        operator: \"Equals\",\n                        values: [\"App1\"],\n                    }],\n                },\n                scaleAction: {\n                    direction: \"Increase\",\n                    type: \"ChangeCount\",\n                    value: 1,\n                    cooldown: \"PT1M\",\n                },\n            },\n            {\n                metricTrigger: {\n                    metricName: \"Percentage CPU\",\n                    metricResourceId: exampleLinuxVirtualMachineScaleSet.id,\n                    timeGrain: \"PT1M\",\n                    statistic: \"Average\",\n                    timeWindow: \"PT5M\",\n                    timeAggregation: \"Average\",\n                    operator: \"LessThan\",\n                    threshold: 25,\n                },\n                scaleAction: {\n                    direction: \"Decrease\",\n                    type: \"ChangeCount\",\n                    value: 1,\n                    cooldown: \"PT1M\",\n                },\n            },\n        ],\n    }],\n    predictive: {\n        scaleMode: \"Enabled\",\n        lookAheadTime: \"PT5M\",\n    },\n    notification: {\n        email: {\n            sendToSubscriptionAdministrator: true,\n            sendToSubscriptionCoAdministrator: true,\n            customEmails: [\"admin@contoso.com\"],\n        },\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"autoscalingTest\",\n    location=\"West Europe\")\nexample_virtual_network = azure.network.VirtualNetwork(\"example\",\n    name=\"acctvn\",\n    address_spaces=[\"10.0.0.0/16\"],\n    location=example.location,\n    resource_group_name=example.name)\nexample_subnet = azure.network.Subnet(\"example\",\n    name=\"acctsub\",\n    resource_group_name=example.name,\n    virtual_network_name=example_virtual_network.name,\n    address_prefixes=[\"10.0.2.0/24\"])\nexample_linux_virtual_machine_scale_set = azure.compute.LinuxVirtualMachineScaleSet(\"example\",\n    name=\"exampleset\",\n    location=example.location,\n    resource_group_name=example.name,\n    upgrade_mode=\"Manual\",\n    sku=\"Standard_F2\",\n    instances=2,\n    admin_username=\"myadmin\",\n    admin_ssh_keys=[{\n        \"username\": \"myadmin\",\n        \"public_key\": \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDCsTcryUl51Q2VSEHqDRNmceUFo55ZtcIwxl2QITbN1RREti5ml/VTytC0yeBOvnZA4x4CFpdw/lCDPk0yrH9Ei5vVkXmOrExdTlT3qI7YaAzj1tUVlBd4S6LX1F7y6VLActvdHuDDuXZXzCDd/97420jrDfWZqJMlUK/EmCE5ParCeHIRIvmBxcEnGfFIsw8xQZl0HphxWOtJil8qsUWSdMyCiJYYQpMoMliO99X40AUc4/AlsyPyT5ddbKk08YrZ+rKDVHF7o29rh4vi5MmHkVgVQHKiKybWlHq+b71gIAUQk9wrJxD+dqt4igrmDSpIjfjwnd+l5UIn5fJSO5DYV4YT/4hwK7OKmuo7OFHD0WyY5YnkYEMtFgzemnRBdE8ulcT60DQpVgRMXFWHvhyCWy0L6sgj1QWDZlLpvsIvNfHsyhKFMG1frLnMt/nP0+YCcfg+v1JYeCKjeoJxB8DWcRBsjzItY0CGmzP8UYZiYKl/2u+2TgFS5r7NWH11bxoUzjKdaa1NLw+ieA8GlBFfCbfWe6YVB9ggUte4VtYFMZGxOjS2bAiYtfgTKFJv+XqORAwExG6+G2eDxIDyo80/OA9IG7Xv/jwQr7D6KDjDuULFcN/iTxuttoKrHeYz1hf5ZQlBdllwJHYx6fK2g8kha6r2JIQKocvsAXiiONqSfw== hello@world.com\",\n    }],\n    network_interfaces=[{\n        \"name\": \"TestNetworkProfile\",\n        \"primary\": True,\n        \"ip_configurations\": [{\n            \"name\": \"TestIPConfiguration\",\n            \"primary\": True,\n            \"subnet_id\": example_subnet.id,\n        }],\n    }],\n    os_disk={\n        \"caching\": \"ReadWrite\",\n        \"storage_account_type\": \"StandardSSD_LRS\",\n    },\n    source_image_reference={\n        \"publisher\": \"Canonical\",\n        \"offer\": \"0001-com-ubuntu-server-jammy\",\n        \"sku\": \"22_04-lts\",\n        \"version\": \"latest\",\n    })\nexample_autoscale_setting = azure.monitoring.AutoscaleSetting(\"example\",\n    name=\"myAutoscaleSetting\",\n    resource_group_name=example.name,\n    location=example.location,\n    target_resource_id=example_linux_virtual_machine_scale_set.id,\n    profiles=[{\n        \"name\": \"defaultProfile\",\n        \"capacity\": {\n            \"default\": 1,\n            \"minimum\": 1,\n            \"maximum\": 10,\n        },\n        \"rules\": [\n            {\n                \"metric_trigger\": {\n                    \"metric_name\": \"Percentage CPU\",\n                    \"metric_resource_id\": example_linux_virtual_machine_scale_set.id,\n                    \"time_grain\": \"PT1M\",\n                    \"statistic\": \"Average\",\n                    \"time_window\": \"PT5M\",\n                    \"time_aggregation\": \"Average\",\n                    \"operator\": \"GreaterThan\",\n                    \"threshold\": 75,\n                    \"metric_namespace\": \"microsoft.compute/virtualmachinescalesets\",\n                    \"dimensions\": [{\n                        \"name\": \"AppName\",\n                        \"operator\": \"Equals\",\n                        \"values\": [\"App1\"],\n                    }],\n                },\n                \"scale_action\": {\n                    \"direction\": \"Increase\",\n                    \"type\": \"ChangeCount\",\n                    \"value\": 1,\n                    \"cooldown\": \"PT1M\",\n                },\n            },\n            {\n                \"metric_trigger\": {\n                    \"metric_name\": \"Percentage CPU\",\n                    \"metric_resource_id\": example_linux_virtual_machine_scale_set.id,\n                    \"time_grain\": \"PT1M\",\n                    \"statistic\": \"Average\",\n                    \"time_window\": \"PT5M\",\n                    \"time_aggregation\": \"Average\",\n                    \"operator\": \"LessThan\",\n                    \"threshold\": 25,\n                },\n                \"scale_action\": {\n                    \"direction\": \"Decrease\",\n                    \"type\": \"ChangeCount\",\n                    \"value\": 1,\n                    \"cooldown\": \"PT1M\",\n                },\n            },\n        ],\n    }],\n    predictive={\n        \"scale_mode\": \"Enabled\",\n        \"look_ahead_time\": \"PT5M\",\n    },\n    notification={\n        \"email\": {\n            \"send_to_subscription_administrator\": True,\n            \"send_to_subscription_co_administrator\": True,\n            \"custom_emails\": [\"admin@contoso.com\"],\n        },\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"autoscalingTest\",\n        Location = \"West Europe\",\n    });\n\n    var exampleVirtualNetwork = new Azure.Network.VirtualNetwork(\"example\", new()\n    {\n        Name = \"acctvn\",\n        AddressSpaces = new[]\n        {\n            \"10.0.0.0/16\",\n        },\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n    });\n\n    var exampleSubnet = new Azure.Network.Subnet(\"example\", new()\n    {\n        Name = \"acctsub\",\n        ResourceGroupName = example.Name,\n        VirtualNetworkName = exampleVirtualNetwork.Name,\n        AddressPrefixes = new[]\n        {\n            \"10.0.2.0/24\",\n        },\n    });\n\n    var exampleLinuxVirtualMachineScaleSet = new Azure.Compute.LinuxVirtualMachineScaleSet(\"example\", new()\n    {\n        Name = \"exampleset\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        UpgradeMode = \"Manual\",\n        Sku = \"Standard_F2\",\n        Instances = 2,\n        AdminUsername = \"myadmin\",\n        AdminSshKeys = new[]\n        {\n            new Azure.Compute.Inputs.LinuxVirtualMachineScaleSetAdminSshKeyArgs\n            {\n                Username = \"myadmin\",\n                PublicKey = \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDCsTcryUl51Q2VSEHqDRNmceUFo55ZtcIwxl2QITbN1RREti5ml/VTytC0yeBOvnZA4x4CFpdw/lCDPk0yrH9Ei5vVkXmOrExdTlT3qI7YaAzj1tUVlBd4S6LX1F7y6VLActvdHuDDuXZXzCDd/97420jrDfWZqJMlUK/EmCE5ParCeHIRIvmBxcEnGfFIsw8xQZl0HphxWOtJil8qsUWSdMyCiJYYQpMoMliO99X40AUc4/AlsyPyT5ddbKk08YrZ+rKDVHF7o29rh4vi5MmHkVgVQHKiKybWlHq+b71gIAUQk9wrJxD+dqt4igrmDSpIjfjwnd+l5UIn5fJSO5DYV4YT/4hwK7OKmuo7OFHD0WyY5YnkYEMtFgzemnRBdE8ulcT60DQpVgRMXFWHvhyCWy0L6sgj1QWDZlLpvsIvNfHsyhKFMG1frLnMt/nP0+YCcfg+v1JYeCKjeoJxB8DWcRBsjzItY0CGmzP8UYZiYKl/2u+2TgFS5r7NWH11bxoUzjKdaa1NLw+ieA8GlBFfCbfWe6YVB9ggUte4VtYFMZGxOjS2bAiYtfgTKFJv+XqORAwExG6+G2eDxIDyo80/OA9IG7Xv/jwQr7D6KDjDuULFcN/iTxuttoKrHeYz1hf5ZQlBdllwJHYx6fK2g8kha6r2JIQKocvsAXiiONqSfw== hello@world.com\",\n            },\n        },\n        NetworkInterfaces = new[]\n        {\n            new Azure.Compute.Inputs.LinuxVirtualMachineScaleSetNetworkInterfaceArgs\n            {\n                Name = \"TestNetworkProfile\",\n                Primary = true,\n                IpConfigurations = new[]\n                {\n                    new Azure.Compute.Inputs.LinuxVirtualMachineScaleSetNetworkInterfaceIpConfigurationArgs\n                    {\n                        Name = \"TestIPConfiguration\",\n                        Primary = true,\n                        SubnetId = exampleSubnet.Id,\n                    },\n                },\n            },\n        },\n        OsDisk = new Azure.Compute.Inputs.LinuxVirtualMachineScaleSetOsDiskArgs\n        {\n            Caching = \"ReadWrite\",\n            StorageAccountType = \"StandardSSD_LRS\",\n        },\n        SourceImageReference = new Azure.Compute.Inputs.LinuxVirtualMachineScaleSetSourceImageReferenceArgs\n        {\n            Publisher = \"Canonical\",\n            Offer = \"0001-com-ubuntu-server-jammy\",\n            Sku = \"22_04-lts\",\n            Version = \"latest\",\n        },\n    });\n\n    var exampleAutoscaleSetting = new Azure.Monitoring.AutoscaleSetting(\"example\", new()\n    {\n        Name = \"myAutoscaleSetting\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        TargetResourceId = exampleLinuxVirtualMachineScaleSet.Id,\n        Profiles = new[]\n        {\n            new Azure.Monitoring.Inputs.AutoscaleSettingProfileArgs\n            {\n                Name = \"defaultProfile\",\n                Capacity = new Azure.Monitoring.Inputs.AutoscaleSettingProfileCapacityArgs\n                {\n                    Default = 1,\n                    Minimum = 1,\n                    Maximum = 10,\n                },\n                Rules = new[]\n                {\n                    new Azure.Monitoring.Inputs.AutoscaleSettingProfileRuleArgs\n                    {\n                        MetricTrigger = new Azure.Monitoring.Inputs.AutoscaleSettingProfileRuleMetricTriggerArgs\n                        {\n                            MetricName = \"Percentage CPU\",\n                            MetricResourceId = exampleLinuxVirtualMachineScaleSet.Id,\n                            TimeGrain = \"PT1M\",\n                            Statistic = \"Average\",\n                            TimeWindow = \"PT5M\",\n                            TimeAggregation = \"Average\",\n                            Operator = \"GreaterThan\",\n                            Threshold = 75,\n                            MetricNamespace = \"microsoft.compute/virtualmachinescalesets\",\n                            Dimensions = new[]\n                            {\n                                new Azure.Monitoring.Inputs.AutoscaleSettingProfileRuleMetricTriggerDimensionArgs\n                                {\n                                    Name = \"AppName\",\n                                    Operator = \"Equals\",\n                                    Values = new[]\n                                    {\n                                        \"App1\",\n                                    },\n                                },\n                            },\n                        },\n                        ScaleAction = new Azure.Monitoring.Inputs.AutoscaleSettingProfileRuleScaleActionArgs\n                        {\n                            Direction = \"Increase\",\n                            Type = \"ChangeCount\",\n                            Value = 1,\n                            Cooldown = \"PT1M\",\n                        },\n                    },\n                    new Azure.Monitoring.Inputs.AutoscaleSettingProfileRuleArgs\n                    {\n                        MetricTrigger = new Azure.Monitoring.Inputs.AutoscaleSettingProfileRuleMetricTriggerArgs\n                        {\n                            MetricName = \"Percentage CPU\",\n                            MetricResourceId = exampleLinuxVirtualMachineScaleSet.Id,\n                            TimeGrain = \"PT1M\",\n                            Statistic = \"Average\",\n                            TimeWindow = \"PT5M\",\n                            TimeAggregation = \"Average\",\n                            Operator = \"LessThan\",\n                            Threshold = 25,\n                        },\n                        ScaleAction = new Azure.Monitoring.Inputs.AutoscaleSettingProfileRuleScaleActionArgs\n                        {\n                            Direction = \"Decrease\",\n                            Type = \"ChangeCount\",\n                            Value = 1,\n                            Cooldown = \"PT1M\",\n                        },\n                    },\n                },\n            },\n        },\n        Predictive = new Azure.Monitoring.Inputs.AutoscaleSettingPredictiveArgs\n        {\n            ScaleMode = \"Enabled\",\n            LookAheadTime = \"PT5M\",\n        },\n        Notification = new Azure.Monitoring.Inputs.AutoscaleSettingNotificationArgs\n        {\n            Email = new Azure.Monitoring.Inputs.AutoscaleSettingNotificationEmailArgs\n            {\n                SendToSubscriptionAdministrator = true,\n                SendToSubscriptionCoAdministrator = true,\n                CustomEmails = new[]\n                {\n                    \"admin@contoso.com\",\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/compute\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/monitoring\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"autoscalingTest\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, \"example\", \u0026network.VirtualNetworkArgs{\n\t\t\tName: pulumi.String(\"acctvn\"),\n\t\t\tAddressSpaces: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.0.0/16\"),\n\t\t\t},\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSubnet, err := network.NewSubnet(ctx, \"example\", \u0026network.SubnetArgs{\n\t\t\tName:               pulumi.String(\"acctsub\"),\n\t\t\tResourceGroupName:  example.Name,\n\t\t\tVirtualNetworkName: exampleVirtualNetwork.Name,\n\t\t\tAddressPrefixes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.2.0/24\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleLinuxVirtualMachineScaleSet, err := compute.NewLinuxVirtualMachineScaleSet(ctx, \"example\", \u0026compute.LinuxVirtualMachineScaleSetArgs{\n\t\t\tName:              pulumi.String(\"exampleset\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tUpgradeMode:       pulumi.String(\"Manual\"),\n\t\t\tSku:               pulumi.String(\"Standard_F2\"),\n\t\t\tInstances:         pulumi.Int(2),\n\t\t\tAdminUsername:     pulumi.String(\"myadmin\"),\n\t\t\tAdminSshKeys: compute.LinuxVirtualMachineScaleSetAdminSshKeyArray{\n\t\t\t\t\u0026compute.LinuxVirtualMachineScaleSetAdminSshKeyArgs{\n\t\t\t\t\tUsername:  pulumi.String(\"myadmin\"),\n\t\t\t\t\tPublicKey: pulumi.String(\"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDCsTcryUl51Q2VSEHqDRNmceUFo55ZtcIwxl2QITbN1RREti5ml/VTytC0yeBOvnZA4x4CFpdw/lCDPk0yrH9Ei5vVkXmOrExdTlT3qI7YaAzj1tUVlBd4S6LX1F7y6VLActvdHuDDuXZXzCDd/97420jrDfWZqJMlUK/EmCE5ParCeHIRIvmBxcEnGfFIsw8xQZl0HphxWOtJil8qsUWSdMyCiJYYQpMoMliO99X40AUc4/AlsyPyT5ddbKk08YrZ+rKDVHF7o29rh4vi5MmHkVgVQHKiKybWlHq+b71gIAUQk9wrJxD+dqt4igrmDSpIjfjwnd+l5UIn5fJSO5DYV4YT/4hwK7OKmuo7OFHD0WyY5YnkYEMtFgzemnRBdE8ulcT60DQpVgRMXFWHvhyCWy0L6sgj1QWDZlLpvsIvNfHsyhKFMG1frLnMt/nP0+YCcfg+v1JYeCKjeoJxB8DWcRBsjzItY0CGmzP8UYZiYKl/2u+2TgFS5r7NWH11bxoUzjKdaa1NLw+ieA8GlBFfCbfWe6YVB9ggUte4VtYFMZGxOjS2bAiYtfgTKFJv+XqORAwExG6+G2eDxIDyo80/OA9IG7Xv/jwQr7D6KDjDuULFcN/iTxuttoKrHeYz1hf5ZQlBdllwJHYx6fK2g8kha6r2JIQKocvsAXiiONqSfw== hello@world.com\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tNetworkInterfaces: compute.LinuxVirtualMachineScaleSetNetworkInterfaceArray{\n\t\t\t\t\u0026compute.LinuxVirtualMachineScaleSetNetworkInterfaceArgs{\n\t\t\t\t\tName:    pulumi.String(\"TestNetworkProfile\"),\n\t\t\t\t\tPrimary: pulumi.Bool(true),\n\t\t\t\t\tIpConfigurations: compute.LinuxVirtualMachineScaleSetNetworkInterfaceIpConfigurationArray{\n\t\t\t\t\t\t\u0026compute.LinuxVirtualMachineScaleSetNetworkInterfaceIpConfigurationArgs{\n\t\t\t\t\t\t\tName:     pulumi.String(\"TestIPConfiguration\"),\n\t\t\t\t\t\t\tPrimary:  pulumi.Bool(true),\n\t\t\t\t\t\t\tSubnetId: exampleSubnet.ID(),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tOsDisk: \u0026compute.LinuxVirtualMachineScaleSetOsDiskArgs{\n\t\t\t\tCaching:            pulumi.String(\"ReadWrite\"),\n\t\t\t\tStorageAccountType: pulumi.String(\"StandardSSD_LRS\"),\n\t\t\t},\n\t\t\tSourceImageReference: \u0026compute.LinuxVirtualMachineScaleSetSourceImageReferenceArgs{\n\t\t\t\tPublisher: pulumi.String(\"Canonical\"),\n\t\t\t\tOffer:     pulumi.String(\"0001-com-ubuntu-server-jammy\"),\n\t\t\t\tSku:       pulumi.String(\"22_04-lts\"),\n\t\t\t\tVersion:   pulumi.String(\"latest\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = monitoring.NewAutoscaleSetting(ctx, \"example\", \u0026monitoring.AutoscaleSettingArgs{\n\t\t\tName:              pulumi.String(\"myAutoscaleSetting\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tTargetResourceId:  exampleLinuxVirtualMachineScaleSet.ID(),\n\t\t\tProfiles: monitoring.AutoscaleSettingProfileArray{\n\t\t\t\t\u0026monitoring.AutoscaleSettingProfileArgs{\n\t\t\t\t\tName: pulumi.String(\"defaultProfile\"),\n\t\t\t\t\tCapacity: \u0026monitoring.AutoscaleSettingProfileCapacityArgs{\n\t\t\t\t\t\tDefault: pulumi.Int(1),\n\t\t\t\t\t\tMinimum: pulumi.Int(1),\n\t\t\t\t\t\tMaximum: pulumi.Int(10),\n\t\t\t\t\t},\n\t\t\t\t\tRules: monitoring.AutoscaleSettingProfileRuleArray{\n\t\t\t\t\t\t\u0026monitoring.AutoscaleSettingProfileRuleArgs{\n\t\t\t\t\t\t\tMetricTrigger: \u0026monitoring.AutoscaleSettingProfileRuleMetricTriggerArgs{\n\t\t\t\t\t\t\t\tMetricName:       pulumi.String(\"Percentage CPU\"),\n\t\t\t\t\t\t\t\tMetricResourceId: exampleLinuxVirtualMachineScaleSet.ID(),\n\t\t\t\t\t\t\t\tTimeGrain:        pulumi.String(\"PT1M\"),\n\t\t\t\t\t\t\t\tStatistic:        pulumi.String(\"Average\"),\n\t\t\t\t\t\t\t\tTimeWindow:       pulumi.String(\"PT5M\"),\n\t\t\t\t\t\t\t\tTimeAggregation:  pulumi.String(\"Average\"),\n\t\t\t\t\t\t\t\tOperator:         pulumi.String(\"GreaterThan\"),\n\t\t\t\t\t\t\t\tThreshold:        pulumi.Float64(75),\n\t\t\t\t\t\t\t\tMetricNamespace:  pulumi.String(\"microsoft.compute/virtualmachinescalesets\"),\n\t\t\t\t\t\t\t\tDimensions: monitoring.AutoscaleSettingProfileRuleMetricTriggerDimensionArray{\n\t\t\t\t\t\t\t\t\t\u0026monitoring.AutoscaleSettingProfileRuleMetricTriggerDimensionArgs{\n\t\t\t\t\t\t\t\t\t\tName:     pulumi.String(\"AppName\"),\n\t\t\t\t\t\t\t\t\t\tOperator: pulumi.String(\"Equals\"),\n\t\t\t\t\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\t\t\t\t\tpulumi.String(\"App1\"),\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tScaleAction: \u0026monitoring.AutoscaleSettingProfileRuleScaleActionArgs{\n\t\t\t\t\t\t\t\tDirection: pulumi.String(\"Increase\"),\n\t\t\t\t\t\t\t\tType:      pulumi.String(\"ChangeCount\"),\n\t\t\t\t\t\t\t\tValue:     pulumi.Int(1),\n\t\t\t\t\t\t\t\tCooldown:  pulumi.String(\"PT1M\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026monitoring.AutoscaleSettingProfileRuleArgs{\n\t\t\t\t\t\t\tMetricTrigger: \u0026monitoring.AutoscaleSettingProfileRuleMetricTriggerArgs{\n\t\t\t\t\t\t\t\tMetricName:       pulumi.String(\"Percentage CPU\"),\n\t\t\t\t\t\t\t\tMetricResourceId: exampleLinuxVirtualMachineScaleSet.ID(),\n\t\t\t\t\t\t\t\tTimeGrain:        pulumi.String(\"PT1M\"),\n\t\t\t\t\t\t\t\tStatistic:        pulumi.String(\"Average\"),\n\t\t\t\t\t\t\t\tTimeWindow:       pulumi.String(\"PT5M\"),\n\t\t\t\t\t\t\t\tTimeAggregation:  pulumi.String(\"Average\"),\n\t\t\t\t\t\t\t\tOperator:         pulumi.String(\"LessThan\"),\n\t\t\t\t\t\t\t\tThreshold:        pulumi.Float64(25),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tScaleAction: \u0026monitoring.AutoscaleSettingProfileRuleScaleActionArgs{\n\t\t\t\t\t\t\t\tDirection: pulumi.String(\"Decrease\"),\n\t\t\t\t\t\t\t\tType:      pulumi.String(\"ChangeCount\"),\n\t\t\t\t\t\t\t\tValue:     pulumi.Int(1),\n\t\t\t\t\t\t\t\tCooldown:  pulumi.String(\"PT1M\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tPredictive: \u0026monitoring.AutoscaleSettingPredictiveArgs{\n\t\t\t\tScaleMode:     pulumi.String(\"Enabled\"),\n\t\t\t\tLookAheadTime: pulumi.String(\"PT5M\"),\n\t\t\t},\n\t\t\tNotification: \u0026monitoring.AutoscaleSettingNotificationArgs{\n\t\t\t\tEmail: \u0026monitoring.AutoscaleSettingNotificationEmailArgs{\n\t\t\t\t\tSendToSubscriptionAdministrator:   pulumi.Bool(true),\n\t\t\t\t\tSendToSubscriptionCoAdministrator: pulumi.Bool(true),\n\t\t\t\t\tCustomEmails: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"admin@contoso.com\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.VirtualNetwork;\nimport com.pulumi.azure.network.VirtualNetworkArgs;\nimport com.pulumi.azure.network.Subnet;\nimport com.pulumi.azure.network.SubnetArgs;\nimport com.pulumi.azure.compute.LinuxVirtualMachineScaleSet;\nimport com.pulumi.azure.compute.LinuxVirtualMachineScaleSetArgs;\nimport com.pulumi.azure.compute.inputs.LinuxVirtualMachineScaleSetAdminSshKeyArgs;\nimport com.pulumi.azure.compute.inputs.LinuxVirtualMachineScaleSetNetworkInterfaceArgs;\nimport com.pulumi.azure.compute.inputs.LinuxVirtualMachineScaleSetOsDiskArgs;\nimport com.pulumi.azure.compute.inputs.LinuxVirtualMachineScaleSetSourceImageReferenceArgs;\nimport com.pulumi.azure.monitoring.AutoscaleSetting;\nimport com.pulumi.azure.monitoring.AutoscaleSettingArgs;\nimport com.pulumi.azure.monitoring.inputs.AutoscaleSettingProfileArgs;\nimport com.pulumi.azure.monitoring.inputs.AutoscaleSettingProfileCapacityArgs;\nimport com.pulumi.azure.monitoring.inputs.AutoscaleSettingPredictiveArgs;\nimport com.pulumi.azure.monitoring.inputs.AutoscaleSettingNotificationArgs;\nimport com.pulumi.azure.monitoring.inputs.AutoscaleSettingNotificationEmailArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"autoscalingTest\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleVirtualNetwork = new VirtualNetwork(\"exampleVirtualNetwork\", VirtualNetworkArgs.builder()\n            .name(\"acctvn\")\n            .addressSpaces(\"10.0.0.0/16\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .build());\n\n        var exampleSubnet = new Subnet(\"exampleSubnet\", SubnetArgs.builder()\n            .name(\"acctsub\")\n            .resourceGroupName(example.name())\n            .virtualNetworkName(exampleVirtualNetwork.name())\n            .addressPrefixes(\"10.0.2.0/24\")\n            .build());\n\n        var exampleLinuxVirtualMachineScaleSet = new LinuxVirtualMachineScaleSet(\"exampleLinuxVirtualMachineScaleSet\", LinuxVirtualMachineScaleSetArgs.builder()\n            .name(\"exampleset\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .upgradeMode(\"Manual\")\n            .sku(\"Standard_F2\")\n            .instances(2)\n            .adminUsername(\"myadmin\")\n            .adminSshKeys(LinuxVirtualMachineScaleSetAdminSshKeyArgs.builder()\n                .username(\"myadmin\")\n                .publicKey(\"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDCsTcryUl51Q2VSEHqDRNmceUFo55ZtcIwxl2QITbN1RREti5ml/VTytC0yeBOvnZA4x4CFpdw/lCDPk0yrH9Ei5vVkXmOrExdTlT3qI7YaAzj1tUVlBd4S6LX1F7y6VLActvdHuDDuXZXzCDd/97420jrDfWZqJMlUK/EmCE5ParCeHIRIvmBxcEnGfFIsw8xQZl0HphxWOtJil8qsUWSdMyCiJYYQpMoMliO99X40AUc4/AlsyPyT5ddbKk08YrZ+rKDVHF7o29rh4vi5MmHkVgVQHKiKybWlHq+b71gIAUQk9wrJxD+dqt4igrmDSpIjfjwnd+l5UIn5fJSO5DYV4YT/4hwK7OKmuo7OFHD0WyY5YnkYEMtFgzemnRBdE8ulcT60DQpVgRMXFWHvhyCWy0L6sgj1QWDZlLpvsIvNfHsyhKFMG1frLnMt/nP0+YCcfg+v1JYeCKjeoJxB8DWcRBsjzItY0CGmzP8UYZiYKl/2u+2TgFS5r7NWH11bxoUzjKdaa1NLw+ieA8GlBFfCbfWe6YVB9ggUte4VtYFMZGxOjS2bAiYtfgTKFJv+XqORAwExG6+G2eDxIDyo80/OA9IG7Xv/jwQr7D6KDjDuULFcN/iTxuttoKrHeYz1hf5ZQlBdllwJHYx6fK2g8kha6r2JIQKocvsAXiiONqSfw== hello@world.com\")\n                .build())\n            .networkInterfaces(LinuxVirtualMachineScaleSetNetworkInterfaceArgs.builder()\n                .name(\"TestNetworkProfile\")\n                .primary(true)\n                .ipConfigurations(LinuxVirtualMachineScaleSetNetworkInterfaceIpConfigurationArgs.builder()\n                    .name(\"TestIPConfiguration\")\n                    .primary(true)\n                    .subnetId(exampleSubnet.id())\n                    .build())\n                .build())\n            .osDisk(LinuxVirtualMachineScaleSetOsDiskArgs.builder()\n                .caching(\"ReadWrite\")\n                .storageAccountType(\"StandardSSD_LRS\")\n                .build())\n            .sourceImageReference(LinuxVirtualMachineScaleSetSourceImageReferenceArgs.builder()\n                .publisher(\"Canonical\")\n                .offer(\"0001-com-ubuntu-server-jammy\")\n                .sku(\"22_04-lts\")\n                .version(\"latest\")\n                .build())\n            .build());\n\n        var exampleAutoscaleSetting = new AutoscaleSetting(\"exampleAutoscaleSetting\", AutoscaleSettingArgs.builder()\n            .name(\"myAutoscaleSetting\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .targetResourceId(exampleLinuxVirtualMachineScaleSet.id())\n            .profiles(AutoscaleSettingProfileArgs.builder()\n                .name(\"defaultProfile\")\n                .capacity(AutoscaleSettingProfileCapacityArgs.builder()\n                    .default_(1)\n                    .minimum(1)\n                    .maximum(10)\n                    .build())\n                .rules(                \n                    AutoscaleSettingProfileRuleArgs.builder()\n                        .metricTrigger(AutoscaleSettingProfileRuleMetricTriggerArgs.builder()\n                            .metricName(\"Percentage CPU\")\n                            .metricResourceId(exampleLinuxVirtualMachineScaleSet.id())\n                            .timeGrain(\"PT1M\")\n                            .statistic(\"Average\")\n                            .timeWindow(\"PT5M\")\n                            .timeAggregation(\"Average\")\n                            .operator(\"GreaterThan\")\n                            .threshold(75.0)\n                            .metricNamespace(\"microsoft.compute/virtualmachinescalesets\")\n                            .dimensions(AutoscaleSettingProfileRuleMetricTriggerDimensionArgs.builder()\n                                .name(\"AppName\")\n                                .operator(\"Equals\")\n                                .values(\"App1\")\n                                .build())\n                            .build())\n                        .scaleAction(AutoscaleSettingProfileRuleScaleActionArgs.builder()\n                            .direction(\"Increase\")\n                            .type(\"ChangeCount\")\n                            .value(1)\n                            .cooldown(\"PT1M\")\n                            .build())\n                        .build(),\n                    AutoscaleSettingProfileRuleArgs.builder()\n                        .metricTrigger(AutoscaleSettingProfileRuleMetricTriggerArgs.builder()\n                            .metricName(\"Percentage CPU\")\n                            .metricResourceId(exampleLinuxVirtualMachineScaleSet.id())\n                            .timeGrain(\"PT1M\")\n                            .statistic(\"Average\")\n                            .timeWindow(\"PT5M\")\n                            .timeAggregation(\"Average\")\n                            .operator(\"LessThan\")\n                            .threshold(25.0)\n                            .build())\n                        .scaleAction(AutoscaleSettingProfileRuleScaleActionArgs.builder()\n                            .direction(\"Decrease\")\n                            .type(\"ChangeCount\")\n                            .value(1)\n                            .cooldown(\"PT1M\")\n                            .build())\n                        .build())\n                .build())\n            .predictive(AutoscaleSettingPredictiveArgs.builder()\n                .scaleMode(\"Enabled\")\n                .lookAheadTime(\"PT5M\")\n                .build())\n            .notification(AutoscaleSettingNotificationArgs.builder()\n                .email(AutoscaleSettingNotificationEmailArgs.builder()\n                    .sendToSubscriptionAdministrator(true)\n                    .sendToSubscriptionCoAdministrator(true)\n                    .customEmails(\"admin@contoso.com\")\n                    .build())\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: autoscalingTest\n      location: West Europe\n  exampleVirtualNetwork:\n    type: azure:network:VirtualNetwork\n    name: example\n    properties:\n      name: acctvn\n      addressSpaces:\n        - 10.0.0.0/16\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n  exampleSubnet:\n    type: azure:network:Subnet\n    name: example\n    properties:\n      name: acctsub\n      resourceGroupName: ${example.name}\n      virtualNetworkName: ${exampleVirtualNetwork.name}\n      addressPrefixes:\n        - 10.0.2.0/24\n  exampleLinuxVirtualMachineScaleSet:\n    type: azure:compute:LinuxVirtualMachineScaleSet\n    name: example\n    properties:\n      name: exampleset\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      upgradeMode: Manual\n      sku: Standard_F2\n      instances: 2\n      adminUsername: myadmin\n      adminSshKeys:\n        - username: myadmin\n          publicKey: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDCsTcryUl51Q2VSEHqDRNmceUFo55ZtcIwxl2QITbN1RREti5ml/VTytC0yeBOvnZA4x4CFpdw/lCDPk0yrH9Ei5vVkXmOrExdTlT3qI7YaAzj1tUVlBd4S6LX1F7y6VLActvdHuDDuXZXzCDd/97420jrDfWZqJMlUK/EmCE5ParCeHIRIvmBxcEnGfFIsw8xQZl0HphxWOtJil8qsUWSdMyCiJYYQpMoMliO99X40AUc4/AlsyPyT5ddbKk08YrZ+rKDVHF7o29rh4vi5MmHkVgVQHKiKybWlHq+b71gIAUQk9wrJxD+dqt4igrmDSpIjfjwnd+l5UIn5fJSO5DYV4YT/4hwK7OKmuo7OFHD0WyY5YnkYEMtFgzemnRBdE8ulcT60DQpVgRMXFWHvhyCWy0L6sgj1QWDZlLpvsIvNfHsyhKFMG1frLnMt/nP0+YCcfg+v1JYeCKjeoJxB8DWcRBsjzItY0CGmzP8UYZiYKl/2u+2TgFS5r7NWH11bxoUzjKdaa1NLw+ieA8GlBFfCbfWe6YVB9ggUte4VtYFMZGxOjS2bAiYtfgTKFJv+XqORAwExG6+G2eDxIDyo80/OA9IG7Xv/jwQr7D6KDjDuULFcN/iTxuttoKrHeYz1hf5ZQlBdllwJHYx6fK2g8kha6r2JIQKocvsAXiiONqSfw== hello@world.com\n      networkInterfaces:\n        - name: TestNetworkProfile\n          primary: true\n          ipConfigurations:\n            - name: TestIPConfiguration\n              primary: true\n              subnetId: ${exampleSubnet.id}\n      osDisk:\n        caching: ReadWrite\n        storageAccountType: StandardSSD_LRS\n      sourceImageReference:\n        publisher: Canonical\n        offer: 0001-com-ubuntu-server-jammy\n        sku: 22_04-lts\n        version: latest\n  exampleAutoscaleSetting:\n    type: azure:monitoring:AutoscaleSetting\n    name: example\n    properties:\n      name: myAutoscaleSetting\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      targetResourceId: ${exampleLinuxVirtualMachineScaleSet.id}\n      profiles:\n        - name: defaultProfile\n          capacity:\n            default: 1\n            minimum: 1\n            maximum: 10\n          rules:\n            - metricTrigger:\n                metricName: Percentage CPU\n                metricResourceId: ${exampleLinuxVirtualMachineScaleSet.id}\n                timeGrain: PT1M\n                statistic: Average\n                timeWindow: PT5M\n                timeAggregation: Average\n                operator: GreaterThan\n                threshold: 75\n                metricNamespace: microsoft.compute/virtualmachinescalesets\n                dimensions:\n                  - name: AppName\n                    operator: Equals\n                    values:\n                      - App1\n              scaleAction:\n                direction: Increase\n                type: ChangeCount\n                value: '1'\n                cooldown: PT1M\n            - metricTrigger:\n                metricName: Percentage CPU\n                metricResourceId: ${exampleLinuxVirtualMachineScaleSet.id}\n                timeGrain: PT1M\n                statistic: Average\n                timeWindow: PT5M\n                timeAggregation: Average\n                operator: LessThan\n                threshold: 25\n              scaleAction:\n                direction: Decrease\n                type: ChangeCount\n                value: '1'\n                cooldown: PT1M\n      predictive:\n        scaleMode: Enabled\n        lookAheadTime: PT5M\n      notification:\n        email:\n          sendToSubscriptionAdministrator: true\n          sendToSubscriptionCoAdministrator: true\n          customEmails:\n            - admin@contoso.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\n### Repeating On Weekends)\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"autoscalingTest\",\n    location: \"West Europe\",\n});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"example\", {\n    name: \"acctvn\",\n    addressSpaces: [\"10.0.0.0/16\"],\n    location: example.location,\n    resourceGroupName: example.name,\n});\nconst exampleSubnet = new azure.network.Subnet(\"example\", {\n    name: \"acctsub\",\n    resourceGroupName: example.name,\n    virtualNetworkName: exampleVirtualNetwork.name,\n    addressPrefixes: [\"10.0.2.0/24\"],\n});\nconst exampleLinuxVirtualMachineScaleSet = new azure.compute.LinuxVirtualMachineScaleSet(\"example\", {\n    name: \"exampleset\",\n    location: example.location,\n    resourceGroupName: example.name,\n    upgradeMode: \"Manual\",\n    sku: \"Standard_F2\",\n    instances: 2,\n    adminUsername: \"myadmin\",\n    adminSshKeys: [{\n        username: \"myadmin\",\n        publicKey: \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDCsTcryUl51Q2VSEHqDRNmceUFo55ZtcIwxl2QITbN1RREti5ml/VTytC0yeBOvnZA4x4CFpdw/lCDPk0yrH9Ei5vVkXmOrExdTlT3qI7YaAzj1tUVlBd4S6LX1F7y6VLActvdHuDDuXZXzCDd/97420jrDfWZqJMlUK/EmCE5ParCeHIRIvmBxcEnGfFIsw8xQZl0HphxWOtJil8qsUWSdMyCiJYYQpMoMliO99X40AUc4/AlsyPyT5ddbKk08YrZ+rKDVHF7o29rh4vi5MmHkVgVQHKiKybWlHq+b71gIAUQk9wrJxD+dqt4igrmDSpIjfjwnd+l5UIn5fJSO5DYV4YT/4hwK7OKmuo7OFHD0WyY5YnkYEMtFgzemnRBdE8ulcT60DQpVgRMXFWHvhyCWy0L6sgj1QWDZlLpvsIvNfHsyhKFMG1frLnMt/nP0+YCcfg+v1JYeCKjeoJxB8DWcRBsjzItY0CGmzP8UYZiYKl/2u+2TgFS5r7NWH11bxoUzjKdaa1NLw+ieA8GlBFfCbfWe6YVB9ggUte4VtYFMZGxOjS2bAiYtfgTKFJv+XqORAwExG6+G2eDxIDyo80/OA9IG7Xv/jwQr7D6KDjDuULFcN/iTxuttoKrHeYz1hf5ZQlBdllwJHYx6fK2g8kha6r2JIQKocvsAXiiONqSfw== hello@world.com\",\n    }],\n    networkInterfaces: [{\n        name: \"TestNetworkProfile\",\n        primary: true,\n        ipConfigurations: [{\n            name: \"TestIPConfiguration\",\n            primary: true,\n            subnetId: exampleSubnet.id,\n        }],\n    }],\n    osDisk: {\n        caching: \"ReadWrite\",\n        storageAccountType: \"StandardSSD_LRS\",\n    },\n    sourceImageReference: {\n        publisher: \"Canonical\",\n        offer: \"0001-com-ubuntu-server-jammy\",\n        sku: \"22_04-lts\",\n        version: \"latest\",\n    },\n});\nconst exampleAutoscaleSetting = new azure.monitoring.AutoscaleSetting(\"example\", {\n    name: \"myAutoscaleSetting\",\n    resourceGroupName: example.name,\n    location: example.location,\n    targetResourceId: exampleLinuxVirtualMachineScaleSet.id,\n    profiles: [{\n        name: \"Weekends\",\n        capacity: {\n            \"default\": 1,\n            minimum: 1,\n            maximum: 10,\n        },\n        rules: [\n            {\n                metricTrigger: {\n                    metricName: \"Percentage CPU\",\n                    metricResourceId: exampleLinuxVirtualMachineScaleSet.id,\n                    timeGrain: \"PT1M\",\n                    statistic: \"Average\",\n                    timeWindow: \"PT5M\",\n                    timeAggregation: \"Average\",\n                    operator: \"GreaterThan\",\n                    threshold: 90,\n                },\n                scaleAction: {\n                    direction: \"Increase\",\n                    type: \"ChangeCount\",\n                    value: 2,\n                    cooldown: \"PT1M\",\n                },\n            },\n            {\n                metricTrigger: {\n                    metricName: \"Percentage CPU\",\n                    metricResourceId: exampleLinuxVirtualMachineScaleSet.id,\n                    timeGrain: \"PT1M\",\n                    statistic: \"Average\",\n                    timeWindow: \"PT5M\",\n                    timeAggregation: \"Average\",\n                    operator: \"LessThan\",\n                    threshold: 10,\n                },\n                scaleAction: {\n                    direction: \"Decrease\",\n                    type: \"ChangeCount\",\n                    value: 2,\n                    cooldown: \"PT1M\",\n                },\n            },\n        ],\n        recurrence: {\n            timezone: \"Pacific Standard Time\",\n            days: [\n                \"Saturday\",\n                \"Sunday\",\n            ],\n            hours: 12,\n            minutes: 0,\n        },\n    }],\n    notification: {\n        email: {\n            sendToSubscriptionAdministrator: true,\n            sendToSubscriptionCoAdministrator: true,\n            customEmails: [\"admin@contoso.com\"],\n        },\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"autoscalingTest\",\n    location=\"West Europe\")\nexample_virtual_network = azure.network.VirtualNetwork(\"example\",\n    name=\"acctvn\",\n    address_spaces=[\"10.0.0.0/16\"],\n    location=example.location,\n    resource_group_name=example.name)\nexample_subnet = azure.network.Subnet(\"example\",\n    name=\"acctsub\",\n    resource_group_name=example.name,\n    virtual_network_name=example_virtual_network.name,\n    address_prefixes=[\"10.0.2.0/24\"])\nexample_linux_virtual_machine_scale_set = azure.compute.LinuxVirtualMachineScaleSet(\"example\",\n    name=\"exampleset\",\n    location=example.location,\n    resource_group_name=example.name,\n    upgrade_mode=\"Manual\",\n    sku=\"Standard_F2\",\n    instances=2,\n    admin_username=\"myadmin\",\n    admin_ssh_keys=[{\n        \"username\": \"myadmin\",\n        \"public_key\": \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDCsTcryUl51Q2VSEHqDRNmceUFo55ZtcIwxl2QITbN1RREti5ml/VTytC0yeBOvnZA4x4CFpdw/lCDPk0yrH9Ei5vVkXmOrExdTlT3qI7YaAzj1tUVlBd4S6LX1F7y6VLActvdHuDDuXZXzCDd/97420jrDfWZqJMlUK/EmCE5ParCeHIRIvmBxcEnGfFIsw8xQZl0HphxWOtJil8qsUWSdMyCiJYYQpMoMliO99X40AUc4/AlsyPyT5ddbKk08YrZ+rKDVHF7o29rh4vi5MmHkVgVQHKiKybWlHq+b71gIAUQk9wrJxD+dqt4igrmDSpIjfjwnd+l5UIn5fJSO5DYV4YT/4hwK7OKmuo7OFHD0WyY5YnkYEMtFgzemnRBdE8ulcT60DQpVgRMXFWHvhyCWy0L6sgj1QWDZlLpvsIvNfHsyhKFMG1frLnMt/nP0+YCcfg+v1JYeCKjeoJxB8DWcRBsjzItY0CGmzP8UYZiYKl/2u+2TgFS5r7NWH11bxoUzjKdaa1NLw+ieA8GlBFfCbfWe6YVB9ggUte4VtYFMZGxOjS2bAiYtfgTKFJv+XqORAwExG6+G2eDxIDyo80/OA9IG7Xv/jwQr7D6KDjDuULFcN/iTxuttoKrHeYz1hf5ZQlBdllwJHYx6fK2g8kha6r2JIQKocvsAXiiONqSfw== hello@world.com\",\n    }],\n    network_interfaces=[{\n        \"name\": \"TestNetworkProfile\",\n        \"primary\": True,\n        \"ip_configurations\": [{\n            \"name\": \"TestIPConfiguration\",\n            \"primary\": True,\n            \"subnet_id\": example_subnet.id,\n        }],\n    }],\n    os_disk={\n        \"caching\": \"ReadWrite\",\n        \"storage_account_type\": \"StandardSSD_LRS\",\n    },\n    source_image_reference={\n        \"publisher\": \"Canonical\",\n        \"offer\": \"0001-com-ubuntu-server-jammy\",\n        \"sku\": \"22_04-lts\",\n        \"version\": \"latest\",\n    })\nexample_autoscale_setting = azure.monitoring.AutoscaleSetting(\"example\",\n    name=\"myAutoscaleSetting\",\n    resource_group_name=example.name,\n    location=example.location,\n    target_resource_id=example_linux_virtual_machine_scale_set.id,\n    profiles=[{\n        \"name\": \"Weekends\",\n        \"capacity\": {\n            \"default\": 1,\n            \"minimum\": 1,\n            \"maximum\": 10,\n        },\n        \"rules\": [\n            {\n                \"metric_trigger\": {\n                    \"metric_name\": \"Percentage CPU\",\n                    \"metric_resource_id\": example_linux_virtual_machine_scale_set.id,\n                    \"time_grain\": \"PT1M\",\n                    \"statistic\": \"Average\",\n                    \"time_window\": \"PT5M\",\n                    \"time_aggregation\": \"Average\",\n                    \"operator\": \"GreaterThan\",\n                    \"threshold\": 90,\n                },\n                \"scale_action\": {\n                    \"direction\": \"Increase\",\n                    \"type\": \"ChangeCount\",\n                    \"value\": 2,\n                    \"cooldown\": \"PT1M\",\n                },\n            },\n            {\n                \"metric_trigger\": {\n                    \"metric_name\": \"Percentage CPU\",\n                    \"metric_resource_id\": example_linux_virtual_machine_scale_set.id,\n                    \"time_grain\": \"PT1M\",\n                    \"statistic\": \"Average\",\n                    \"time_window\": \"PT5M\",\n                    \"time_aggregation\": \"Average\",\n                    \"operator\": \"LessThan\",\n                    \"threshold\": 10,\n                },\n                \"scale_action\": {\n                    \"direction\": \"Decrease\",\n                    \"type\": \"ChangeCount\",\n                    \"value\": 2,\n                    \"cooldown\": \"PT1M\",\n                },\n            },\n        ],\n        \"recurrence\": {\n            \"timezone\": \"Pacific Standard Time\",\n            \"days\": [\n                \"Saturday\",\n                \"Sunday\",\n            ],\n            \"hours\": 12,\n            \"minutes\": 0,\n        },\n    }],\n    notification={\n        \"email\": {\n            \"send_to_subscription_administrator\": True,\n            \"send_to_subscription_co_administrator\": True,\n            \"custom_emails\": [\"admin@contoso.com\"],\n        },\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"autoscalingTest\",\n        Location = \"West Europe\",\n    });\n\n    var exampleVirtualNetwork = new Azure.Network.VirtualNetwork(\"example\", new()\n    {\n        Name = \"acctvn\",\n        AddressSpaces = new[]\n        {\n            \"10.0.0.0/16\",\n        },\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n    });\n\n    var exampleSubnet = new Azure.Network.Subnet(\"example\", new()\n    {\n        Name = \"acctsub\",\n        ResourceGroupName = example.Name,\n        VirtualNetworkName = exampleVirtualNetwork.Name,\n        AddressPrefixes = new[]\n        {\n            \"10.0.2.0/24\",\n        },\n    });\n\n    var exampleLinuxVirtualMachineScaleSet = new Azure.Compute.LinuxVirtualMachineScaleSet(\"example\", new()\n    {\n        Name = \"exampleset\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        UpgradeMode = \"Manual\",\n        Sku = \"Standard_F2\",\n        Instances = 2,\n        AdminUsername = \"myadmin\",\n        AdminSshKeys = new[]\n        {\n            new Azure.Compute.Inputs.LinuxVirtualMachineScaleSetAdminSshKeyArgs\n            {\n                Username = \"myadmin\",\n                PublicKey = \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDCsTcryUl51Q2VSEHqDRNmceUFo55ZtcIwxl2QITbN1RREti5ml/VTytC0yeBOvnZA4x4CFpdw/lCDPk0yrH9Ei5vVkXmOrExdTlT3qI7YaAzj1tUVlBd4S6LX1F7y6VLActvdHuDDuXZXzCDd/97420jrDfWZqJMlUK/EmCE5ParCeHIRIvmBxcEnGfFIsw8xQZl0HphxWOtJil8qsUWSdMyCiJYYQpMoMliO99X40AUc4/AlsyPyT5ddbKk08YrZ+rKDVHF7o29rh4vi5MmHkVgVQHKiKybWlHq+b71gIAUQk9wrJxD+dqt4igrmDSpIjfjwnd+l5UIn5fJSO5DYV4YT/4hwK7OKmuo7OFHD0WyY5YnkYEMtFgzemnRBdE8ulcT60DQpVgRMXFWHvhyCWy0L6sgj1QWDZlLpvsIvNfHsyhKFMG1frLnMt/nP0+YCcfg+v1JYeCKjeoJxB8DWcRBsjzItY0CGmzP8UYZiYKl/2u+2TgFS5r7NWH11bxoUzjKdaa1NLw+ieA8GlBFfCbfWe6YVB9ggUte4VtYFMZGxOjS2bAiYtfgTKFJv+XqORAwExG6+G2eDxIDyo80/OA9IG7Xv/jwQr7D6KDjDuULFcN/iTxuttoKrHeYz1hf5ZQlBdllwJHYx6fK2g8kha6r2JIQKocvsAXiiONqSfw== hello@world.com\",\n            },\n        },\n        NetworkInterfaces = new[]\n        {\n            new Azure.Compute.Inputs.LinuxVirtualMachineScaleSetNetworkInterfaceArgs\n            {\n                Name = \"TestNetworkProfile\",\n                Primary = true,\n                IpConfigurations = new[]\n                {\n                    new Azure.Compute.Inputs.LinuxVirtualMachineScaleSetNetworkInterfaceIpConfigurationArgs\n                    {\n                        Name = \"TestIPConfiguration\",\n                        Primary = true,\n                        SubnetId = exampleSubnet.Id,\n                    },\n                },\n            },\n        },\n        OsDisk = new Azure.Compute.Inputs.LinuxVirtualMachineScaleSetOsDiskArgs\n        {\n            Caching = \"ReadWrite\",\n            StorageAccountType = \"StandardSSD_LRS\",\n        },\n        SourceImageReference = new Azure.Compute.Inputs.LinuxVirtualMachineScaleSetSourceImageReferenceArgs\n        {\n            Publisher = \"Canonical\",\n            Offer = \"0001-com-ubuntu-server-jammy\",\n            Sku = \"22_04-lts\",\n            Version = \"latest\",\n        },\n    });\n\n    var exampleAutoscaleSetting = new Azure.Monitoring.AutoscaleSetting(\"example\", new()\n    {\n        Name = \"myAutoscaleSetting\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        TargetResourceId = exampleLinuxVirtualMachineScaleSet.Id,\n        Profiles = new[]\n        {\n            new Azure.Monitoring.Inputs.AutoscaleSettingProfileArgs\n            {\n                Name = \"Weekends\",\n                Capacity = new Azure.Monitoring.Inputs.AutoscaleSettingProfileCapacityArgs\n                {\n                    Default = 1,\n                    Minimum = 1,\n                    Maximum = 10,\n                },\n                Rules = new[]\n                {\n                    new Azure.Monitoring.Inputs.AutoscaleSettingProfileRuleArgs\n                    {\n                        MetricTrigger = new Azure.Monitoring.Inputs.AutoscaleSettingProfileRuleMetricTriggerArgs\n                        {\n                            MetricName = \"Percentage CPU\",\n                            MetricResourceId = exampleLinuxVirtualMachineScaleSet.Id,\n                            TimeGrain = \"PT1M\",\n                            Statistic = \"Average\",\n                            TimeWindow = \"PT5M\",\n                            TimeAggregation = \"Average\",\n                            Operator = \"GreaterThan\",\n                            Threshold = 90,\n                        },\n                        ScaleAction = new Azure.Monitoring.Inputs.AutoscaleSettingProfileRuleScaleActionArgs\n                        {\n                            Direction = \"Increase\",\n                            Type = \"ChangeCount\",\n                            Value = 2,\n                            Cooldown = \"PT1M\",\n                        },\n                    },\n                    new Azure.Monitoring.Inputs.AutoscaleSettingProfileRuleArgs\n                    {\n                        MetricTrigger = new Azure.Monitoring.Inputs.AutoscaleSettingProfileRuleMetricTriggerArgs\n                        {\n                            MetricName = \"Percentage CPU\",\n                            MetricResourceId = exampleLinuxVirtualMachineScaleSet.Id,\n                            TimeGrain = \"PT1M\",\n                            Statistic = \"Average\",\n                            TimeWindow = \"PT5M\",\n                            TimeAggregation = \"Average\",\n                            Operator = \"LessThan\",\n                            Threshold = 10,\n                        },\n                        ScaleAction = new Azure.Monitoring.Inputs.AutoscaleSettingProfileRuleScaleActionArgs\n                        {\n                            Direction = \"Decrease\",\n                            Type = \"ChangeCount\",\n                            Value = 2,\n                            Cooldown = \"PT1M\",\n                        },\n                    },\n                },\n                Recurrence = new Azure.Monitoring.Inputs.AutoscaleSettingProfileRecurrenceArgs\n                {\n                    Timezone = \"Pacific Standard Time\",\n                    Days = new[]\n                    {\n                        \"Saturday\",\n                        \"Sunday\",\n                    },\n                    Hours = 12,\n                    Minutes = 0,\n                },\n            },\n        },\n        Notification = new Azure.Monitoring.Inputs.AutoscaleSettingNotificationArgs\n        {\n            Email = new Azure.Monitoring.Inputs.AutoscaleSettingNotificationEmailArgs\n            {\n                SendToSubscriptionAdministrator = true,\n                SendToSubscriptionCoAdministrator = true,\n                CustomEmails = new[]\n                {\n                    \"admin@contoso.com\",\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/compute\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/monitoring\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"autoscalingTest\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, \"example\", \u0026network.VirtualNetworkArgs{\n\t\t\tName: pulumi.String(\"acctvn\"),\n\t\t\tAddressSpaces: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.0.0/16\"),\n\t\t\t},\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSubnet, err := network.NewSubnet(ctx, \"example\", \u0026network.SubnetArgs{\n\t\t\tName:               pulumi.String(\"acctsub\"),\n\t\t\tResourceGroupName:  example.Name,\n\t\t\tVirtualNetworkName: exampleVirtualNetwork.Name,\n\t\t\tAddressPrefixes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.2.0/24\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleLinuxVirtualMachineScaleSet, err := compute.NewLinuxVirtualMachineScaleSet(ctx, \"example\", \u0026compute.LinuxVirtualMachineScaleSetArgs{\n\t\t\tName:              pulumi.String(\"exampleset\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tUpgradeMode:       pulumi.String(\"Manual\"),\n\t\t\tSku:               pulumi.String(\"Standard_F2\"),\n\t\t\tInstances:         pulumi.Int(2),\n\t\t\tAdminUsername:     pulumi.String(\"myadmin\"),\n\t\t\tAdminSshKeys: compute.LinuxVirtualMachineScaleSetAdminSshKeyArray{\n\t\t\t\t\u0026compute.LinuxVirtualMachineScaleSetAdminSshKeyArgs{\n\t\t\t\t\tUsername:  pulumi.String(\"myadmin\"),\n\t\t\t\t\tPublicKey: pulumi.String(\"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDCsTcryUl51Q2VSEHqDRNmceUFo55ZtcIwxl2QITbN1RREti5ml/VTytC0yeBOvnZA4x4CFpdw/lCDPk0yrH9Ei5vVkXmOrExdTlT3qI7YaAzj1tUVlBd4S6LX1F7y6VLActvdHuDDuXZXzCDd/97420jrDfWZqJMlUK/EmCE5ParCeHIRIvmBxcEnGfFIsw8xQZl0HphxWOtJil8qsUWSdMyCiJYYQpMoMliO99X40AUc4/AlsyPyT5ddbKk08YrZ+rKDVHF7o29rh4vi5MmHkVgVQHKiKybWlHq+b71gIAUQk9wrJxD+dqt4igrmDSpIjfjwnd+l5UIn5fJSO5DYV4YT/4hwK7OKmuo7OFHD0WyY5YnkYEMtFgzemnRBdE8ulcT60DQpVgRMXFWHvhyCWy0L6sgj1QWDZlLpvsIvNfHsyhKFMG1frLnMt/nP0+YCcfg+v1JYeCKjeoJxB8DWcRBsjzItY0CGmzP8UYZiYKl/2u+2TgFS5r7NWH11bxoUzjKdaa1NLw+ieA8GlBFfCbfWe6YVB9ggUte4VtYFMZGxOjS2bAiYtfgTKFJv+XqORAwExG6+G2eDxIDyo80/OA9IG7Xv/jwQr7D6KDjDuULFcN/iTxuttoKrHeYz1hf5ZQlBdllwJHYx6fK2g8kha6r2JIQKocvsAXiiONqSfw== hello@world.com\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tNetworkInterfaces: compute.LinuxVirtualMachineScaleSetNetworkInterfaceArray{\n\t\t\t\t\u0026compute.LinuxVirtualMachineScaleSetNetworkInterfaceArgs{\n\t\t\t\t\tName:    pulumi.String(\"TestNetworkProfile\"),\n\t\t\t\t\tPrimary: pulumi.Bool(true),\n\t\t\t\t\tIpConfigurations: compute.LinuxVirtualMachineScaleSetNetworkInterfaceIpConfigurationArray{\n\t\t\t\t\t\t\u0026compute.LinuxVirtualMachineScaleSetNetworkInterfaceIpConfigurationArgs{\n\t\t\t\t\t\t\tName:     pulumi.String(\"TestIPConfiguration\"),\n\t\t\t\t\t\t\tPrimary:  pulumi.Bool(true),\n\t\t\t\t\t\t\tSubnetId: exampleSubnet.ID(),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tOsDisk: \u0026compute.LinuxVirtualMachineScaleSetOsDiskArgs{\n\t\t\t\tCaching:            pulumi.String(\"ReadWrite\"),\n\t\t\t\tStorageAccountType: pulumi.String(\"StandardSSD_LRS\"),\n\t\t\t},\n\t\t\tSourceImageReference: \u0026compute.LinuxVirtualMachineScaleSetSourceImageReferenceArgs{\n\t\t\t\tPublisher: pulumi.String(\"Canonical\"),\n\t\t\t\tOffer:     pulumi.String(\"0001-com-ubuntu-server-jammy\"),\n\t\t\t\tSku:       pulumi.String(\"22_04-lts\"),\n\t\t\t\tVersion:   pulumi.String(\"latest\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = monitoring.NewAutoscaleSetting(ctx, \"example\", \u0026monitoring.AutoscaleSettingArgs{\n\t\t\tName:              pulumi.String(\"myAutoscaleSetting\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tTargetResourceId:  exampleLinuxVirtualMachineScaleSet.ID(),\n\t\t\tProfiles: monitoring.AutoscaleSettingProfileArray{\n\t\t\t\t\u0026monitoring.AutoscaleSettingProfileArgs{\n\t\t\t\t\tName: pulumi.String(\"Weekends\"),\n\t\t\t\t\tCapacity: \u0026monitoring.AutoscaleSettingProfileCapacityArgs{\n\t\t\t\t\t\tDefault: pulumi.Int(1),\n\t\t\t\t\t\tMinimum: pulumi.Int(1),\n\t\t\t\t\t\tMaximum: pulumi.Int(10),\n\t\t\t\t\t},\n\t\t\t\t\tRules: monitoring.AutoscaleSettingProfileRuleArray{\n\t\t\t\t\t\t\u0026monitoring.AutoscaleSettingProfileRuleArgs{\n\t\t\t\t\t\t\tMetricTrigger: \u0026monitoring.AutoscaleSettingProfileRuleMetricTriggerArgs{\n\t\t\t\t\t\t\t\tMetricName:       pulumi.String(\"Percentage CPU\"),\n\t\t\t\t\t\t\t\tMetricResourceId: exampleLinuxVirtualMachineScaleSet.ID(),\n\t\t\t\t\t\t\t\tTimeGrain:        pulumi.String(\"PT1M\"),\n\t\t\t\t\t\t\t\tStatistic:        pulumi.String(\"Average\"),\n\t\t\t\t\t\t\t\tTimeWindow:       pulumi.String(\"PT5M\"),\n\t\t\t\t\t\t\t\tTimeAggregation:  pulumi.String(\"Average\"),\n\t\t\t\t\t\t\t\tOperator:         pulumi.String(\"GreaterThan\"),\n\t\t\t\t\t\t\t\tThreshold:        pulumi.Float64(90),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tScaleAction: \u0026monitoring.AutoscaleSettingProfileRuleScaleActionArgs{\n\t\t\t\t\t\t\t\tDirection: pulumi.String(\"Increase\"),\n\t\t\t\t\t\t\t\tType:      pulumi.String(\"ChangeCount\"),\n\t\t\t\t\t\t\t\tValue:     pulumi.Int(2),\n\t\t\t\t\t\t\t\tCooldown:  pulumi.String(\"PT1M\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026monitoring.AutoscaleSettingProfileRuleArgs{\n\t\t\t\t\t\t\tMetricTrigger: \u0026monitoring.AutoscaleSettingProfileRuleMetricTriggerArgs{\n\t\t\t\t\t\t\t\tMetricName:       pulumi.String(\"Percentage CPU\"),\n\t\t\t\t\t\t\t\tMetricResourceId: exampleLinuxVirtualMachineScaleSet.ID(),\n\t\t\t\t\t\t\t\tTimeGrain:        pulumi.String(\"PT1M\"),\n\t\t\t\t\t\t\t\tStatistic:        pulumi.String(\"Average\"),\n\t\t\t\t\t\t\t\tTimeWindow:       pulumi.String(\"PT5M\"),\n\t\t\t\t\t\t\t\tTimeAggregation:  pulumi.String(\"Average\"),\n\t\t\t\t\t\t\t\tOperator:         pulumi.String(\"LessThan\"),\n\t\t\t\t\t\t\t\tThreshold:        pulumi.Float64(10),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tScaleAction: \u0026monitoring.AutoscaleSettingProfileRuleScaleActionArgs{\n\t\t\t\t\t\t\t\tDirection: pulumi.String(\"Decrease\"),\n\t\t\t\t\t\t\t\tType:      pulumi.String(\"ChangeCount\"),\n\t\t\t\t\t\t\t\tValue:     pulumi.Int(2),\n\t\t\t\t\t\t\t\tCooldown:  pulumi.String(\"PT1M\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tRecurrence: \u0026monitoring.AutoscaleSettingProfileRecurrenceArgs{\n\t\t\t\t\t\tTimezone: pulumi.String(\"Pacific Standard Time\"),\n\t\t\t\t\t\tDays: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"Saturday\"),\n\t\t\t\t\t\t\tpulumi.String(\"Sunday\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tHours:   pulumi.Int(12),\n\t\t\t\t\t\tMinutes: pulumi.Int(0),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tNotification: \u0026monitoring.AutoscaleSettingNotificationArgs{\n\t\t\t\tEmail: \u0026monitoring.AutoscaleSettingNotificationEmailArgs{\n\t\t\t\t\tSendToSubscriptionAdministrator:   pulumi.Bool(true),\n\t\t\t\t\tSendToSubscriptionCoAdministrator: pulumi.Bool(true),\n\t\t\t\t\tCustomEmails: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"admin@contoso.com\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.VirtualNetwork;\nimport com.pulumi.azure.network.VirtualNetworkArgs;\nimport com.pulumi.azure.network.Subnet;\nimport com.pulumi.azure.network.SubnetArgs;\nimport com.pulumi.azure.compute.LinuxVirtualMachineScaleSet;\nimport com.pulumi.azure.compute.LinuxVirtualMachineScaleSetArgs;\nimport com.pulumi.azure.compute.inputs.LinuxVirtualMachineScaleSetAdminSshKeyArgs;\nimport com.pulumi.azure.compute.inputs.LinuxVirtualMachineScaleSetNetworkInterfaceArgs;\nimport com.pulumi.azure.compute.inputs.LinuxVirtualMachineScaleSetOsDiskArgs;\nimport com.pulumi.azure.compute.inputs.LinuxVirtualMachineScaleSetSourceImageReferenceArgs;\nimport com.pulumi.azure.monitoring.AutoscaleSetting;\nimport com.pulumi.azure.monitoring.AutoscaleSettingArgs;\nimport com.pulumi.azure.monitoring.inputs.AutoscaleSettingProfileArgs;\nimport com.pulumi.azure.monitoring.inputs.AutoscaleSettingProfileCapacityArgs;\nimport com.pulumi.azure.monitoring.inputs.AutoscaleSettingProfileRecurrenceArgs;\nimport com.pulumi.azure.monitoring.inputs.AutoscaleSettingNotificationArgs;\nimport com.pulumi.azure.monitoring.inputs.AutoscaleSettingNotificationEmailArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"autoscalingTest\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleVirtualNetwork = new VirtualNetwork(\"exampleVirtualNetwork\", VirtualNetworkArgs.builder()\n            .name(\"acctvn\")\n            .addressSpaces(\"10.0.0.0/16\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .build());\n\n        var exampleSubnet = new Subnet(\"exampleSubnet\", SubnetArgs.builder()\n            .name(\"acctsub\")\n            .resourceGroupName(example.name())\n            .virtualNetworkName(exampleVirtualNetwork.name())\n            .addressPrefixes(\"10.0.2.0/24\")\n            .build());\n\n        var exampleLinuxVirtualMachineScaleSet = new LinuxVirtualMachineScaleSet(\"exampleLinuxVirtualMachineScaleSet\", LinuxVirtualMachineScaleSetArgs.builder()\n            .name(\"exampleset\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .upgradeMode(\"Manual\")\n            .sku(\"Standard_F2\")\n            .instances(2)\n            .adminUsername(\"myadmin\")\n            .adminSshKeys(LinuxVirtualMachineScaleSetAdminSshKeyArgs.builder()\n                .username(\"myadmin\")\n                .publicKey(\"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDCsTcryUl51Q2VSEHqDRNmceUFo55ZtcIwxl2QITbN1RREti5ml/VTytC0yeBOvnZA4x4CFpdw/lCDPk0yrH9Ei5vVkXmOrExdTlT3qI7YaAzj1tUVlBd4S6LX1F7y6VLActvdHuDDuXZXzCDd/97420jrDfWZqJMlUK/EmCE5ParCeHIRIvmBxcEnGfFIsw8xQZl0HphxWOtJil8qsUWSdMyCiJYYQpMoMliO99X40AUc4/AlsyPyT5ddbKk08YrZ+rKDVHF7o29rh4vi5MmHkVgVQHKiKybWlHq+b71gIAUQk9wrJxD+dqt4igrmDSpIjfjwnd+l5UIn5fJSO5DYV4YT/4hwK7OKmuo7OFHD0WyY5YnkYEMtFgzemnRBdE8ulcT60DQpVgRMXFWHvhyCWy0L6sgj1QWDZlLpvsIvNfHsyhKFMG1frLnMt/nP0+YCcfg+v1JYeCKjeoJxB8DWcRBsjzItY0CGmzP8UYZiYKl/2u+2TgFS5r7NWH11bxoUzjKdaa1NLw+ieA8GlBFfCbfWe6YVB9ggUte4VtYFMZGxOjS2bAiYtfgTKFJv+XqORAwExG6+G2eDxIDyo80/OA9IG7Xv/jwQr7D6KDjDuULFcN/iTxuttoKrHeYz1hf5ZQlBdllwJHYx6fK2g8kha6r2JIQKocvsAXiiONqSfw== hello@world.com\")\n                .build())\n            .networkInterfaces(LinuxVirtualMachineScaleSetNetworkInterfaceArgs.builder()\n                .name(\"TestNetworkProfile\")\n                .primary(true)\n                .ipConfigurations(LinuxVirtualMachineScaleSetNetworkInterfaceIpConfigurationArgs.builder()\n                    .name(\"TestIPConfiguration\")\n                    .primary(true)\n                    .subnetId(exampleSubnet.id())\n                    .build())\n                .build())\n            .osDisk(LinuxVirtualMachineScaleSetOsDiskArgs.builder()\n                .caching(\"ReadWrite\")\n                .storageAccountType(\"StandardSSD_LRS\")\n                .build())\n            .sourceImageReference(LinuxVirtualMachineScaleSetSourceImageReferenceArgs.builder()\n                .publisher(\"Canonical\")\n                .offer(\"0001-com-ubuntu-server-jammy\")\n                .sku(\"22_04-lts\")\n                .version(\"latest\")\n                .build())\n            .build());\n\n        var exampleAutoscaleSetting = new AutoscaleSetting(\"exampleAutoscaleSetting\", AutoscaleSettingArgs.builder()\n            .name(\"myAutoscaleSetting\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .targetResourceId(exampleLinuxVirtualMachineScaleSet.id())\n            .profiles(AutoscaleSettingProfileArgs.builder()\n                .name(\"Weekends\")\n                .capacity(AutoscaleSettingProfileCapacityArgs.builder()\n                    .default_(1)\n                    .minimum(1)\n                    .maximum(10)\n                    .build())\n                .rules(                \n                    AutoscaleSettingProfileRuleArgs.builder()\n                        .metricTrigger(AutoscaleSettingProfileRuleMetricTriggerArgs.builder()\n                            .metricName(\"Percentage CPU\")\n                            .metricResourceId(exampleLinuxVirtualMachineScaleSet.id())\n                            .timeGrain(\"PT1M\")\n                            .statistic(\"Average\")\n                            .timeWindow(\"PT5M\")\n                            .timeAggregation(\"Average\")\n                            .operator(\"GreaterThan\")\n                            .threshold(90.0)\n                            .build())\n                        .scaleAction(AutoscaleSettingProfileRuleScaleActionArgs.builder()\n                            .direction(\"Increase\")\n                            .type(\"ChangeCount\")\n                            .value(2)\n                            .cooldown(\"PT1M\")\n                            .build())\n                        .build(),\n                    AutoscaleSettingProfileRuleArgs.builder()\n                        .metricTrigger(AutoscaleSettingProfileRuleMetricTriggerArgs.builder()\n                            .metricName(\"Percentage CPU\")\n                            .metricResourceId(exampleLinuxVirtualMachineScaleSet.id())\n                            .timeGrain(\"PT1M\")\n                            .statistic(\"Average\")\n                            .timeWindow(\"PT5M\")\n                            .timeAggregation(\"Average\")\n                            .operator(\"LessThan\")\n                            .threshold(10.0)\n                            .build())\n                        .scaleAction(AutoscaleSettingProfileRuleScaleActionArgs.builder()\n                            .direction(\"Decrease\")\n                            .type(\"ChangeCount\")\n                            .value(2)\n                            .cooldown(\"PT1M\")\n                            .build())\n                        .build())\n                .recurrence(AutoscaleSettingProfileRecurrenceArgs.builder()\n                    .timezone(\"Pacific Standard Time\")\n                    .days(                    \n                        \"Saturday\",\n                        \"Sunday\")\n                    .hours(12)\n                    .minutes(0)\n                    .build())\n                .build())\n            .notification(AutoscaleSettingNotificationArgs.builder()\n                .email(AutoscaleSettingNotificationEmailArgs.builder()\n                    .sendToSubscriptionAdministrator(true)\n                    .sendToSubscriptionCoAdministrator(true)\n                    .customEmails(\"admin@contoso.com\")\n                    .build())\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: autoscalingTest\n      location: West Europe\n  exampleVirtualNetwork:\n    type: azure:network:VirtualNetwork\n    name: example\n    properties:\n      name: acctvn\n      addressSpaces:\n        - 10.0.0.0/16\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n  exampleSubnet:\n    type: azure:network:Subnet\n    name: example\n    properties:\n      name: acctsub\n      resourceGroupName: ${example.name}\n      virtualNetworkName: ${exampleVirtualNetwork.name}\n      addressPrefixes:\n        - 10.0.2.0/24\n  exampleLinuxVirtualMachineScaleSet:\n    type: azure:compute:LinuxVirtualMachineScaleSet\n    name: example\n    properties:\n      name: exampleset\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      upgradeMode: Manual\n      sku: Standard_F2\n      instances: 2\n      adminUsername: myadmin\n      adminSshKeys:\n        - username: myadmin\n          publicKey: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDCsTcryUl51Q2VSEHqDRNmceUFo55ZtcIwxl2QITbN1RREti5ml/VTytC0yeBOvnZA4x4CFpdw/lCDPk0yrH9Ei5vVkXmOrExdTlT3qI7YaAzj1tUVlBd4S6LX1F7y6VLActvdHuDDuXZXzCDd/97420jrDfWZqJMlUK/EmCE5ParCeHIRIvmBxcEnGfFIsw8xQZl0HphxWOtJil8qsUWSdMyCiJYYQpMoMliO99X40AUc4/AlsyPyT5ddbKk08YrZ+rKDVHF7o29rh4vi5MmHkVgVQHKiKybWlHq+b71gIAUQk9wrJxD+dqt4igrmDSpIjfjwnd+l5UIn5fJSO5DYV4YT/4hwK7OKmuo7OFHD0WyY5YnkYEMtFgzemnRBdE8ulcT60DQpVgRMXFWHvhyCWy0L6sgj1QWDZlLpvsIvNfHsyhKFMG1frLnMt/nP0+YCcfg+v1JYeCKjeoJxB8DWcRBsjzItY0CGmzP8UYZiYKl/2u+2TgFS5r7NWH11bxoUzjKdaa1NLw+ieA8GlBFfCbfWe6YVB9ggUte4VtYFMZGxOjS2bAiYtfgTKFJv+XqORAwExG6+G2eDxIDyo80/OA9IG7Xv/jwQr7D6KDjDuULFcN/iTxuttoKrHeYz1hf5ZQlBdllwJHYx6fK2g8kha6r2JIQKocvsAXiiONqSfw== hello@world.com\n      networkInterfaces:\n        - name: TestNetworkProfile\n          primary: true\n          ipConfigurations:\n            - name: TestIPConfiguration\n              primary: true\n              subnetId: ${exampleSubnet.id}\n      osDisk:\n        caching: ReadWrite\n        storageAccountType: StandardSSD_LRS\n      sourceImageReference:\n        publisher: Canonical\n        offer: 0001-com-ubuntu-server-jammy\n        sku: 22_04-lts\n        version: latest\n  exampleAutoscaleSetting:\n    type: azure:monitoring:AutoscaleSetting\n    name: example\n    properties:\n      name: myAutoscaleSetting\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      targetResourceId: ${exampleLinuxVirtualMachineScaleSet.id}\n      profiles:\n        - name: Weekends\n          capacity:\n            default: 1\n            minimum: 1\n            maximum: 10\n          rules:\n            - metricTrigger:\n                metricName: Percentage CPU\n                metricResourceId: ${exampleLinuxVirtualMachineScaleSet.id}\n                timeGrain: PT1M\n                statistic: Average\n                timeWindow: PT5M\n                timeAggregation: Average\n                operator: GreaterThan\n                threshold: 90\n              scaleAction:\n                direction: Increase\n                type: ChangeCount\n                value: '2'\n                cooldown: PT1M\n            - metricTrigger:\n                metricName: Percentage CPU\n                metricResourceId: ${exampleLinuxVirtualMachineScaleSet.id}\n                timeGrain: PT1M\n                statistic: Average\n                timeWindow: PT5M\n                timeAggregation: Average\n                operator: LessThan\n                threshold: 10\n              scaleAction:\n                direction: Decrease\n                type: ChangeCount\n                value: '2'\n                cooldown: PT1M\n          recurrence:\n            timezone: Pacific Standard Time\n            days:\n              - Saturday\n              - Sunday\n            hours: 12\n            minutes: 0\n      notification:\n        email:\n          sendToSubscriptionAdministrator: true\n          sendToSubscriptionCoAdministrator: true\n          customEmails:\n            - admin@contoso.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\n### For Fixed Dates)\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"autoscalingTest\",\n    location: \"West Europe\",\n});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"example\", {\n    name: \"acctvn\",\n    addressSpaces: [\"10.0.0.0/16\"],\n    location: example.location,\n    resourceGroupName: example.name,\n});\nconst exampleSubnet = new azure.network.Subnet(\"example\", {\n    name: \"acctsub\",\n    resourceGroupName: example.name,\n    virtualNetworkName: exampleVirtualNetwork.name,\n    addressPrefixes: [\"10.0.2.0/24\"],\n});\nconst exampleLinuxVirtualMachineScaleSet = new azure.compute.LinuxVirtualMachineScaleSet(\"example\", {\n    name: \"exampleset\",\n    location: example.location,\n    resourceGroupName: example.name,\n    upgradeMode: \"Manual\",\n    sku: \"Standard_F2\",\n    instances: 2,\n    adminUsername: \"myadmin\",\n    adminSshKeys: [{\n        username: \"myadmin\",\n        publicKey: \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDCsTcryUl51Q2VSEHqDRNmceUFo55ZtcIwxl2QITbN1RREti5ml/VTytC0yeBOvnZA4x4CFpdw/lCDPk0yrH9Ei5vVkXmOrExdTlT3qI7YaAzj1tUVlBd4S6LX1F7y6VLActvdHuDDuXZXzCDd/97420jrDfWZqJMlUK/EmCE5ParCeHIRIvmBxcEnGfFIsw8xQZl0HphxWOtJil8qsUWSdMyCiJYYQpMoMliO99X40AUc4/AlsyPyT5ddbKk08YrZ+rKDVHF7o29rh4vi5MmHkVgVQHKiKybWlHq+b71gIAUQk9wrJxD+dqt4igrmDSpIjfjwnd+l5UIn5fJSO5DYV4YT/4hwK7OKmuo7OFHD0WyY5YnkYEMtFgzemnRBdE8ulcT60DQpVgRMXFWHvhyCWy0L6sgj1QWDZlLpvsIvNfHsyhKFMG1frLnMt/nP0+YCcfg+v1JYeCKjeoJxB8DWcRBsjzItY0CGmzP8UYZiYKl/2u+2TgFS5r7NWH11bxoUzjKdaa1NLw+ieA8GlBFfCbfWe6YVB9ggUte4VtYFMZGxOjS2bAiYtfgTKFJv+XqORAwExG6+G2eDxIDyo80/OA9IG7Xv/jwQr7D6KDjDuULFcN/iTxuttoKrHeYz1hf5ZQlBdllwJHYx6fK2g8kha6r2JIQKocvsAXiiONqSfw== hello@world.com\",\n    }],\n    networkInterfaces: [{\n        name: \"TestNetworkProfile\",\n        primary: true,\n        ipConfigurations: [{\n            name: \"TestIPConfiguration\",\n            primary: true,\n            subnetId: exampleSubnet.id,\n        }],\n    }],\n    osDisk: {\n        caching: \"ReadWrite\",\n        storageAccountType: \"StandardSSD_LRS\",\n    },\n    sourceImageReference: {\n        publisher: \"Canonical\",\n        offer: \"0001-com-ubuntu-server-jammy\",\n        sku: \"22_04-lts\",\n        version: \"latest\",\n    },\n});\nconst exampleAutoscaleSetting = new azure.monitoring.AutoscaleSetting(\"example\", {\n    name: \"myAutoscaleSetting\",\n    enabled: true,\n    resourceGroupName: example.name,\n    location: example.location,\n    targetResourceId: exampleLinuxVirtualMachineScaleSet.id,\n    profiles: [{\n        name: \"forJuly\",\n        capacity: {\n            \"default\": 1,\n            minimum: 1,\n            maximum: 10,\n        },\n        rules: [\n            {\n                metricTrigger: {\n                    metricName: \"Percentage CPU\",\n                    metricResourceId: exampleLinuxVirtualMachineScaleSet.id,\n                    timeGrain: \"PT1M\",\n                    statistic: \"Average\",\n                    timeWindow: \"PT5M\",\n                    timeAggregation: \"Average\",\n                    operator: \"GreaterThan\",\n                    threshold: 90,\n                },\n                scaleAction: {\n                    direction: \"Increase\",\n                    type: \"ChangeCount\",\n                    value: 2,\n                    cooldown: \"PT1M\",\n                },\n            },\n            {\n                metricTrigger: {\n                    metricName: \"Percentage CPU\",\n                    metricResourceId: exampleLinuxVirtualMachineScaleSet.id,\n                    timeGrain: \"PT1M\",\n                    statistic: \"Average\",\n                    timeWindow: \"PT5M\",\n                    timeAggregation: \"Average\",\n                    operator: \"LessThan\",\n                    threshold: 10,\n                },\n                scaleAction: {\n                    direction: \"Decrease\",\n                    type: \"ChangeCount\",\n                    value: 2,\n                    cooldown: \"PT1M\",\n                },\n            },\n        ],\n        fixedDate: {\n            timezone: \"Pacific Standard Time\",\n            start: \"2020-07-01T00:00:00Z\",\n            end: \"2020-07-31T23:59:59Z\",\n        },\n    }],\n    notification: {\n        email: {\n            sendToSubscriptionAdministrator: true,\n            sendToSubscriptionCoAdministrator: true,\n            customEmails: [\"admin@contoso.com\"],\n        },\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"autoscalingTest\",\n    location=\"West Europe\")\nexample_virtual_network = azure.network.VirtualNetwork(\"example\",\n    name=\"acctvn\",\n    address_spaces=[\"10.0.0.0/16\"],\n    location=example.location,\n    resource_group_name=example.name)\nexample_subnet = azure.network.Subnet(\"example\",\n    name=\"acctsub\",\n    resource_group_name=example.name,\n    virtual_network_name=example_virtual_network.name,\n    address_prefixes=[\"10.0.2.0/24\"])\nexample_linux_virtual_machine_scale_set = azure.compute.LinuxVirtualMachineScaleSet(\"example\",\n    name=\"exampleset\",\n    location=example.location,\n    resource_group_name=example.name,\n    upgrade_mode=\"Manual\",\n    sku=\"Standard_F2\",\n    instances=2,\n    admin_username=\"myadmin\",\n    admin_ssh_keys=[{\n        \"username\": \"myadmin\",\n        \"public_key\": \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDCsTcryUl51Q2VSEHqDRNmceUFo55ZtcIwxl2QITbN1RREti5ml/VTytC0yeBOvnZA4x4CFpdw/lCDPk0yrH9Ei5vVkXmOrExdTlT3qI7YaAzj1tUVlBd4S6LX1F7y6VLActvdHuDDuXZXzCDd/97420jrDfWZqJMlUK/EmCE5ParCeHIRIvmBxcEnGfFIsw8xQZl0HphxWOtJil8qsUWSdMyCiJYYQpMoMliO99X40AUc4/AlsyPyT5ddbKk08YrZ+rKDVHF7o29rh4vi5MmHkVgVQHKiKybWlHq+b71gIAUQk9wrJxD+dqt4igrmDSpIjfjwnd+l5UIn5fJSO5DYV4YT/4hwK7OKmuo7OFHD0WyY5YnkYEMtFgzemnRBdE8ulcT60DQpVgRMXFWHvhyCWy0L6sgj1QWDZlLpvsIvNfHsyhKFMG1frLnMt/nP0+YCcfg+v1JYeCKjeoJxB8DWcRBsjzItY0CGmzP8UYZiYKl/2u+2TgFS5r7NWH11bxoUzjKdaa1NLw+ieA8GlBFfCbfWe6YVB9ggUte4VtYFMZGxOjS2bAiYtfgTKFJv+XqORAwExG6+G2eDxIDyo80/OA9IG7Xv/jwQr7D6KDjDuULFcN/iTxuttoKrHeYz1hf5ZQlBdllwJHYx6fK2g8kha6r2JIQKocvsAXiiONqSfw== hello@world.com\",\n    }],\n    network_interfaces=[{\n        \"name\": \"TestNetworkProfile\",\n        \"primary\": True,\n        \"ip_configurations\": [{\n            \"name\": \"TestIPConfiguration\",\n            \"primary\": True,\n            \"subnet_id\": example_subnet.id,\n        }],\n    }],\n    os_disk={\n        \"caching\": \"ReadWrite\",\n        \"storage_account_type\": \"StandardSSD_LRS\",\n    },\n    source_image_reference={\n        \"publisher\": \"Canonical\",\n        \"offer\": \"0001-com-ubuntu-server-jammy\",\n        \"sku\": \"22_04-lts\",\n        \"version\": \"latest\",\n    })\nexample_autoscale_setting = azure.monitoring.AutoscaleSetting(\"example\",\n    name=\"myAutoscaleSetting\",\n    enabled=True,\n    resource_group_name=example.name,\n    location=example.location,\n    target_resource_id=example_linux_virtual_machine_scale_set.id,\n    profiles=[{\n        \"name\": \"forJuly\",\n        \"capacity\": {\n            \"default\": 1,\n            \"minimum\": 1,\n            \"maximum\": 10,\n        },\n        \"rules\": [\n            {\n                \"metric_trigger\": {\n                    \"metric_name\": \"Percentage CPU\",\n                    \"metric_resource_id\": example_linux_virtual_machine_scale_set.id,\n                    \"time_grain\": \"PT1M\",\n                    \"statistic\": \"Average\",\n                    \"time_window\": \"PT5M\",\n                    \"time_aggregation\": \"Average\",\n                    \"operator\": \"GreaterThan\",\n                    \"threshold\": 90,\n                },\n                \"scale_action\": {\n                    \"direction\": \"Increase\",\n                    \"type\": \"ChangeCount\",\n                    \"value\": 2,\n                    \"cooldown\": \"PT1M\",\n                },\n            },\n            {\n                \"metric_trigger\": {\n                    \"metric_name\": \"Percentage CPU\",\n                    \"metric_resource_id\": example_linux_virtual_machine_scale_set.id,\n                    \"time_grain\": \"PT1M\",\n                    \"statistic\": \"Average\",\n                    \"time_window\": \"PT5M\",\n                    \"time_aggregation\": \"Average\",\n                    \"operator\": \"LessThan\",\n                    \"threshold\": 10,\n                },\n                \"scale_action\": {\n                    \"direction\": \"Decrease\",\n                    \"type\": \"ChangeCount\",\n                    \"value\": 2,\n                    \"cooldown\": \"PT1M\",\n                },\n            },\n        ],\n        \"fixed_date\": {\n            \"timezone\": \"Pacific Standard Time\",\n            \"start\": \"2020-07-01T00:00:00Z\",\n            \"end\": \"2020-07-31T23:59:59Z\",\n        },\n    }],\n    notification={\n        \"email\": {\n            \"send_to_subscription_administrator\": True,\n            \"send_to_subscription_co_administrator\": True,\n            \"custom_emails\": [\"admin@contoso.com\"],\n        },\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"autoscalingTest\",\n        Location = \"West Europe\",\n    });\n\n    var exampleVirtualNetwork = new Azure.Network.VirtualNetwork(\"example\", new()\n    {\n        Name = \"acctvn\",\n        AddressSpaces = new[]\n        {\n            \"10.0.0.0/16\",\n        },\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n    });\n\n    var exampleSubnet = new Azure.Network.Subnet(\"example\", new()\n    {\n        Name = \"acctsub\",\n        ResourceGroupName = example.Name,\n        VirtualNetworkName = exampleVirtualNetwork.Name,\n        AddressPrefixes = new[]\n        {\n            \"10.0.2.0/24\",\n        },\n    });\n\n    var exampleLinuxVirtualMachineScaleSet = new Azure.Compute.LinuxVirtualMachineScaleSet(\"example\", new()\n    {\n        Name = \"exampleset\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        UpgradeMode = \"Manual\",\n        Sku = \"Standard_F2\",\n        Instances = 2,\n        AdminUsername = \"myadmin\",\n        AdminSshKeys = new[]\n        {\n            new Azure.Compute.Inputs.LinuxVirtualMachineScaleSetAdminSshKeyArgs\n            {\n                Username = \"myadmin\",\n                PublicKey = \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDCsTcryUl51Q2VSEHqDRNmceUFo55ZtcIwxl2QITbN1RREti5ml/VTytC0yeBOvnZA4x4CFpdw/lCDPk0yrH9Ei5vVkXmOrExdTlT3qI7YaAzj1tUVlBd4S6LX1F7y6VLActvdHuDDuXZXzCDd/97420jrDfWZqJMlUK/EmCE5ParCeHIRIvmBxcEnGfFIsw8xQZl0HphxWOtJil8qsUWSdMyCiJYYQpMoMliO99X40AUc4/AlsyPyT5ddbKk08YrZ+rKDVHF7o29rh4vi5MmHkVgVQHKiKybWlHq+b71gIAUQk9wrJxD+dqt4igrmDSpIjfjwnd+l5UIn5fJSO5DYV4YT/4hwK7OKmuo7OFHD0WyY5YnkYEMtFgzemnRBdE8ulcT60DQpVgRMXFWHvhyCWy0L6sgj1QWDZlLpvsIvNfHsyhKFMG1frLnMt/nP0+YCcfg+v1JYeCKjeoJxB8DWcRBsjzItY0CGmzP8UYZiYKl/2u+2TgFS5r7NWH11bxoUzjKdaa1NLw+ieA8GlBFfCbfWe6YVB9ggUte4VtYFMZGxOjS2bAiYtfgTKFJv+XqORAwExG6+G2eDxIDyo80/OA9IG7Xv/jwQr7D6KDjDuULFcN/iTxuttoKrHeYz1hf5ZQlBdllwJHYx6fK2g8kha6r2JIQKocvsAXiiONqSfw== hello@world.com\",\n            },\n        },\n        NetworkInterfaces = new[]\n        {\n            new Azure.Compute.Inputs.LinuxVirtualMachineScaleSetNetworkInterfaceArgs\n            {\n                Name = \"TestNetworkProfile\",\n                Primary = true,\n                IpConfigurations = new[]\n                {\n                    new Azure.Compute.Inputs.LinuxVirtualMachineScaleSetNetworkInterfaceIpConfigurationArgs\n                    {\n                        Name = \"TestIPConfiguration\",\n                        Primary = true,\n                        SubnetId = exampleSubnet.Id,\n                    },\n                },\n            },\n        },\n        OsDisk = new Azure.Compute.Inputs.LinuxVirtualMachineScaleSetOsDiskArgs\n        {\n            Caching = \"ReadWrite\",\n            StorageAccountType = \"StandardSSD_LRS\",\n        },\n        SourceImageReference = new Azure.Compute.Inputs.LinuxVirtualMachineScaleSetSourceImageReferenceArgs\n        {\n            Publisher = \"Canonical\",\n            Offer = \"0001-com-ubuntu-server-jammy\",\n            Sku = \"22_04-lts\",\n            Version = \"latest\",\n        },\n    });\n\n    var exampleAutoscaleSetting = new Azure.Monitoring.AutoscaleSetting(\"example\", new()\n    {\n        Name = \"myAutoscaleSetting\",\n        Enabled = true,\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        TargetResourceId = exampleLinuxVirtualMachineScaleSet.Id,\n        Profiles = new[]\n        {\n            new Azure.Monitoring.Inputs.AutoscaleSettingProfileArgs\n            {\n                Name = \"forJuly\",\n                Capacity = new Azure.Monitoring.Inputs.AutoscaleSettingProfileCapacityArgs\n                {\n                    Default = 1,\n                    Minimum = 1,\n                    Maximum = 10,\n                },\n                Rules = new[]\n                {\n                    new Azure.Monitoring.Inputs.AutoscaleSettingProfileRuleArgs\n                    {\n                        MetricTrigger = new Azure.Monitoring.Inputs.AutoscaleSettingProfileRuleMetricTriggerArgs\n                        {\n                            MetricName = \"Percentage CPU\",\n                            MetricResourceId = exampleLinuxVirtualMachineScaleSet.Id,\n                            TimeGrain = \"PT1M\",\n                            Statistic = \"Average\",\n                            TimeWindow = \"PT5M\",\n                            TimeAggregation = \"Average\",\n                            Operator = \"GreaterThan\",\n                            Threshold = 90,\n                        },\n                        ScaleAction = new Azure.Monitoring.Inputs.AutoscaleSettingProfileRuleScaleActionArgs\n                        {\n                            Direction = \"Increase\",\n                            Type = \"ChangeCount\",\n                            Value = 2,\n                            Cooldown = \"PT1M\",\n                        },\n                    },\n                    new Azure.Monitoring.Inputs.AutoscaleSettingProfileRuleArgs\n                    {\n                        MetricTrigger = new Azure.Monitoring.Inputs.AutoscaleSettingProfileRuleMetricTriggerArgs\n                        {\n                            MetricName = \"Percentage CPU\",\n                            MetricResourceId = exampleLinuxVirtualMachineScaleSet.Id,\n                            TimeGrain = \"PT1M\",\n                            Statistic = \"Average\",\n                            TimeWindow = \"PT5M\",\n                            TimeAggregation = \"Average\",\n                            Operator = \"LessThan\",\n                            Threshold = 10,\n                        },\n                        ScaleAction = new Azure.Monitoring.Inputs.AutoscaleSettingProfileRuleScaleActionArgs\n                        {\n                            Direction = \"Decrease\",\n                            Type = \"ChangeCount\",\n                            Value = 2,\n                            Cooldown = \"PT1M\",\n                        },\n                    },\n                },\n                FixedDate = new Azure.Monitoring.Inputs.AutoscaleSettingProfileFixedDateArgs\n                {\n                    Timezone = \"Pacific Standard Time\",\n                    Start = \"2020-07-01T00:00:00Z\",\n                    End = \"2020-07-31T23:59:59Z\",\n                },\n            },\n        },\n        Notification = new Azure.Monitoring.Inputs.AutoscaleSettingNotificationArgs\n        {\n            Email = new Azure.Monitoring.Inputs.AutoscaleSettingNotificationEmailArgs\n            {\n                SendToSubscriptionAdministrator = true,\n                SendToSubscriptionCoAdministrator = true,\n                CustomEmails = new[]\n                {\n                    \"admin@contoso.com\",\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/compute\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/monitoring\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"autoscalingTest\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, \"example\", \u0026network.VirtualNetworkArgs{\n\t\t\tName: pulumi.String(\"acctvn\"),\n\t\t\tAddressSpaces: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.0.0/16\"),\n\t\t\t},\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSubnet, err := network.NewSubnet(ctx, \"example\", \u0026network.SubnetArgs{\n\t\t\tName:               pulumi.String(\"acctsub\"),\n\t\t\tResourceGroupName:  example.Name,\n\t\t\tVirtualNetworkName: exampleVirtualNetwork.Name,\n\t\t\tAddressPrefixes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.2.0/24\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleLinuxVirtualMachineScaleSet, err := compute.NewLinuxVirtualMachineScaleSet(ctx, \"example\", \u0026compute.LinuxVirtualMachineScaleSetArgs{\n\t\t\tName:              pulumi.String(\"exampleset\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tUpgradeMode:       pulumi.String(\"Manual\"),\n\t\t\tSku:               pulumi.String(\"Standard_F2\"),\n\t\t\tInstances:         pulumi.Int(2),\n\t\t\tAdminUsername:     pulumi.String(\"myadmin\"),\n\t\t\tAdminSshKeys: compute.LinuxVirtualMachineScaleSetAdminSshKeyArray{\n\t\t\t\t\u0026compute.LinuxVirtualMachineScaleSetAdminSshKeyArgs{\n\t\t\t\t\tUsername:  pulumi.String(\"myadmin\"),\n\t\t\t\t\tPublicKey: pulumi.String(\"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDCsTcryUl51Q2VSEHqDRNmceUFo55ZtcIwxl2QITbN1RREti5ml/VTytC0yeBOvnZA4x4CFpdw/lCDPk0yrH9Ei5vVkXmOrExdTlT3qI7YaAzj1tUVlBd4S6LX1F7y6VLActvdHuDDuXZXzCDd/97420jrDfWZqJMlUK/EmCE5ParCeHIRIvmBxcEnGfFIsw8xQZl0HphxWOtJil8qsUWSdMyCiJYYQpMoMliO99X40AUc4/AlsyPyT5ddbKk08YrZ+rKDVHF7o29rh4vi5MmHkVgVQHKiKybWlHq+b71gIAUQk9wrJxD+dqt4igrmDSpIjfjwnd+l5UIn5fJSO5DYV4YT/4hwK7OKmuo7OFHD0WyY5YnkYEMtFgzemnRBdE8ulcT60DQpVgRMXFWHvhyCWy0L6sgj1QWDZlLpvsIvNfHsyhKFMG1frLnMt/nP0+YCcfg+v1JYeCKjeoJxB8DWcRBsjzItY0CGmzP8UYZiYKl/2u+2TgFS5r7NWH11bxoUzjKdaa1NLw+ieA8GlBFfCbfWe6YVB9ggUte4VtYFMZGxOjS2bAiYtfgTKFJv+XqORAwExG6+G2eDxIDyo80/OA9IG7Xv/jwQr7D6KDjDuULFcN/iTxuttoKrHeYz1hf5ZQlBdllwJHYx6fK2g8kha6r2JIQKocvsAXiiONqSfw== hello@world.com\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tNetworkInterfaces: compute.LinuxVirtualMachineScaleSetNetworkInterfaceArray{\n\t\t\t\t\u0026compute.LinuxVirtualMachineScaleSetNetworkInterfaceArgs{\n\t\t\t\t\tName:    pulumi.String(\"TestNetworkProfile\"),\n\t\t\t\t\tPrimary: pulumi.Bool(true),\n\t\t\t\t\tIpConfigurations: compute.LinuxVirtualMachineScaleSetNetworkInterfaceIpConfigurationArray{\n\t\t\t\t\t\t\u0026compute.LinuxVirtualMachineScaleSetNetworkInterfaceIpConfigurationArgs{\n\t\t\t\t\t\t\tName:     pulumi.String(\"TestIPConfiguration\"),\n\t\t\t\t\t\t\tPrimary:  pulumi.Bool(true),\n\t\t\t\t\t\t\tSubnetId: exampleSubnet.ID(),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tOsDisk: \u0026compute.LinuxVirtualMachineScaleSetOsDiskArgs{\n\t\t\t\tCaching:            pulumi.String(\"ReadWrite\"),\n\t\t\t\tStorageAccountType: pulumi.String(\"StandardSSD_LRS\"),\n\t\t\t},\n\t\t\tSourceImageReference: \u0026compute.LinuxVirtualMachineScaleSetSourceImageReferenceArgs{\n\t\t\t\tPublisher: pulumi.String(\"Canonical\"),\n\t\t\t\tOffer:     pulumi.String(\"0001-com-ubuntu-server-jammy\"),\n\t\t\t\tSku:       pulumi.String(\"22_04-lts\"),\n\t\t\t\tVersion:   pulumi.String(\"latest\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = monitoring.NewAutoscaleSetting(ctx, \"example\", \u0026monitoring.AutoscaleSettingArgs{\n\t\t\tName:              pulumi.String(\"myAutoscaleSetting\"),\n\t\t\tEnabled:           pulumi.Bool(true),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tTargetResourceId:  exampleLinuxVirtualMachineScaleSet.ID(),\n\t\t\tProfiles: monitoring.AutoscaleSettingProfileArray{\n\t\t\t\t\u0026monitoring.AutoscaleSettingProfileArgs{\n\t\t\t\t\tName: pulumi.String(\"forJuly\"),\n\t\t\t\t\tCapacity: \u0026monitoring.AutoscaleSettingProfileCapacityArgs{\n\t\t\t\t\t\tDefault: pulumi.Int(1),\n\t\t\t\t\t\tMinimum: pulumi.Int(1),\n\t\t\t\t\t\tMaximum: pulumi.Int(10),\n\t\t\t\t\t},\n\t\t\t\t\tRules: monitoring.AutoscaleSettingProfileRuleArray{\n\t\t\t\t\t\t\u0026monitoring.AutoscaleSettingProfileRuleArgs{\n\t\t\t\t\t\t\tMetricTrigger: \u0026monitoring.AutoscaleSettingProfileRuleMetricTriggerArgs{\n\t\t\t\t\t\t\t\tMetricName:       pulumi.String(\"Percentage CPU\"),\n\t\t\t\t\t\t\t\tMetricResourceId: exampleLinuxVirtualMachineScaleSet.ID(),\n\t\t\t\t\t\t\t\tTimeGrain:        pulumi.String(\"PT1M\"),\n\t\t\t\t\t\t\t\tStatistic:        pulumi.String(\"Average\"),\n\t\t\t\t\t\t\t\tTimeWindow:       pulumi.String(\"PT5M\"),\n\t\t\t\t\t\t\t\tTimeAggregation:  pulumi.String(\"Average\"),\n\t\t\t\t\t\t\t\tOperator:         pulumi.String(\"GreaterThan\"),\n\t\t\t\t\t\t\t\tThreshold:        pulumi.Float64(90),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tScaleAction: \u0026monitoring.AutoscaleSettingProfileRuleScaleActionArgs{\n\t\t\t\t\t\t\t\tDirection: pulumi.String(\"Increase\"),\n\t\t\t\t\t\t\t\tType:      pulumi.String(\"ChangeCount\"),\n\t\t\t\t\t\t\t\tValue:     pulumi.Int(2),\n\t\t\t\t\t\t\t\tCooldown:  pulumi.String(\"PT1M\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026monitoring.AutoscaleSettingProfileRuleArgs{\n\t\t\t\t\t\t\tMetricTrigger: \u0026monitoring.AutoscaleSettingProfileRuleMetricTriggerArgs{\n\t\t\t\t\t\t\t\tMetricName:       pulumi.String(\"Percentage CPU\"),\n\t\t\t\t\t\t\t\tMetricResourceId: exampleLinuxVirtualMachineScaleSet.ID(),\n\t\t\t\t\t\t\t\tTimeGrain:        pulumi.String(\"PT1M\"),\n\t\t\t\t\t\t\t\tStatistic:        pulumi.String(\"Average\"),\n\t\t\t\t\t\t\t\tTimeWindow:       pulumi.String(\"PT5M\"),\n\t\t\t\t\t\t\t\tTimeAggregation:  pulumi.String(\"Average\"),\n\t\t\t\t\t\t\t\tOperator:         pulumi.String(\"LessThan\"),\n\t\t\t\t\t\t\t\tThreshold:        pulumi.Float64(10),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tScaleAction: \u0026monitoring.AutoscaleSettingProfileRuleScaleActionArgs{\n\t\t\t\t\t\t\t\tDirection: pulumi.String(\"Decrease\"),\n\t\t\t\t\t\t\t\tType:      pulumi.String(\"ChangeCount\"),\n\t\t\t\t\t\t\t\tValue:     pulumi.Int(2),\n\t\t\t\t\t\t\t\tCooldown:  pulumi.String(\"PT1M\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tFixedDate: \u0026monitoring.AutoscaleSettingProfileFixedDateArgs{\n\t\t\t\t\t\tTimezone: pulumi.String(\"Pacific Standard Time\"),\n\t\t\t\t\t\tStart:    pulumi.String(\"2020-07-01T00:00:00Z\"),\n\t\t\t\t\t\tEnd:      pulumi.String(\"2020-07-31T23:59:59Z\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tNotification: \u0026monitoring.AutoscaleSettingNotificationArgs{\n\t\t\t\tEmail: \u0026monitoring.AutoscaleSettingNotificationEmailArgs{\n\t\t\t\t\tSendToSubscriptionAdministrator:   pulumi.Bool(true),\n\t\t\t\t\tSendToSubscriptionCoAdministrator: pulumi.Bool(true),\n\t\t\t\t\tCustomEmails: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"admin@contoso.com\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.VirtualNetwork;\nimport com.pulumi.azure.network.VirtualNetworkArgs;\nimport com.pulumi.azure.network.Subnet;\nimport com.pulumi.azure.network.SubnetArgs;\nimport com.pulumi.azure.compute.LinuxVirtualMachineScaleSet;\nimport com.pulumi.azure.compute.LinuxVirtualMachineScaleSetArgs;\nimport com.pulumi.azure.compute.inputs.LinuxVirtualMachineScaleSetAdminSshKeyArgs;\nimport com.pulumi.azure.compute.inputs.LinuxVirtualMachineScaleSetNetworkInterfaceArgs;\nimport com.pulumi.azure.compute.inputs.LinuxVirtualMachineScaleSetOsDiskArgs;\nimport com.pulumi.azure.compute.inputs.LinuxVirtualMachineScaleSetSourceImageReferenceArgs;\nimport com.pulumi.azure.monitoring.AutoscaleSetting;\nimport com.pulumi.azure.monitoring.AutoscaleSettingArgs;\nimport com.pulumi.azure.monitoring.inputs.AutoscaleSettingProfileArgs;\nimport com.pulumi.azure.monitoring.inputs.AutoscaleSettingProfileCapacityArgs;\nimport com.pulumi.azure.monitoring.inputs.AutoscaleSettingProfileFixedDateArgs;\nimport com.pulumi.azure.monitoring.inputs.AutoscaleSettingNotificationArgs;\nimport com.pulumi.azure.monitoring.inputs.AutoscaleSettingNotificationEmailArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"autoscalingTest\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleVirtualNetwork = new VirtualNetwork(\"exampleVirtualNetwork\", VirtualNetworkArgs.builder()\n            .name(\"acctvn\")\n            .addressSpaces(\"10.0.0.0/16\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .build());\n\n        var exampleSubnet = new Subnet(\"exampleSubnet\", SubnetArgs.builder()\n            .name(\"acctsub\")\n            .resourceGroupName(example.name())\n            .virtualNetworkName(exampleVirtualNetwork.name())\n            .addressPrefixes(\"10.0.2.0/24\")\n            .build());\n\n        var exampleLinuxVirtualMachineScaleSet = new LinuxVirtualMachineScaleSet(\"exampleLinuxVirtualMachineScaleSet\", LinuxVirtualMachineScaleSetArgs.builder()\n            .name(\"exampleset\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .upgradeMode(\"Manual\")\n            .sku(\"Standard_F2\")\n            .instances(2)\n            .adminUsername(\"myadmin\")\n            .adminSshKeys(LinuxVirtualMachineScaleSetAdminSshKeyArgs.builder()\n                .username(\"myadmin\")\n                .publicKey(\"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDCsTcryUl51Q2VSEHqDRNmceUFo55ZtcIwxl2QITbN1RREti5ml/VTytC0yeBOvnZA4x4CFpdw/lCDPk0yrH9Ei5vVkXmOrExdTlT3qI7YaAzj1tUVlBd4S6LX1F7y6VLActvdHuDDuXZXzCDd/97420jrDfWZqJMlUK/EmCE5ParCeHIRIvmBxcEnGfFIsw8xQZl0HphxWOtJil8qsUWSdMyCiJYYQpMoMliO99X40AUc4/AlsyPyT5ddbKk08YrZ+rKDVHF7o29rh4vi5MmHkVgVQHKiKybWlHq+b71gIAUQk9wrJxD+dqt4igrmDSpIjfjwnd+l5UIn5fJSO5DYV4YT/4hwK7OKmuo7OFHD0WyY5YnkYEMtFgzemnRBdE8ulcT60DQpVgRMXFWHvhyCWy0L6sgj1QWDZlLpvsIvNfHsyhKFMG1frLnMt/nP0+YCcfg+v1JYeCKjeoJxB8DWcRBsjzItY0CGmzP8UYZiYKl/2u+2TgFS5r7NWH11bxoUzjKdaa1NLw+ieA8GlBFfCbfWe6YVB9ggUte4VtYFMZGxOjS2bAiYtfgTKFJv+XqORAwExG6+G2eDxIDyo80/OA9IG7Xv/jwQr7D6KDjDuULFcN/iTxuttoKrHeYz1hf5ZQlBdllwJHYx6fK2g8kha6r2JIQKocvsAXiiONqSfw== hello@world.com\")\n                .build())\n            .networkInterfaces(LinuxVirtualMachineScaleSetNetworkInterfaceArgs.builder()\n                .name(\"TestNetworkProfile\")\n                .primary(true)\n                .ipConfigurations(LinuxVirtualMachineScaleSetNetworkInterfaceIpConfigurationArgs.builder()\n                    .name(\"TestIPConfiguration\")\n                    .primary(true)\n                    .subnetId(exampleSubnet.id())\n                    .build())\n                .build())\n            .osDisk(LinuxVirtualMachineScaleSetOsDiskArgs.builder()\n                .caching(\"ReadWrite\")\n                .storageAccountType(\"StandardSSD_LRS\")\n                .build())\n            .sourceImageReference(LinuxVirtualMachineScaleSetSourceImageReferenceArgs.builder()\n                .publisher(\"Canonical\")\n                .offer(\"0001-com-ubuntu-server-jammy\")\n                .sku(\"22_04-lts\")\n                .version(\"latest\")\n                .build())\n            .build());\n\n        var exampleAutoscaleSetting = new AutoscaleSetting(\"exampleAutoscaleSetting\", AutoscaleSettingArgs.builder()\n            .name(\"myAutoscaleSetting\")\n            .enabled(true)\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .targetResourceId(exampleLinuxVirtualMachineScaleSet.id())\n            .profiles(AutoscaleSettingProfileArgs.builder()\n                .name(\"forJuly\")\n                .capacity(AutoscaleSettingProfileCapacityArgs.builder()\n                    .default_(1)\n                    .minimum(1)\n                    .maximum(10)\n                    .build())\n                .rules(                \n                    AutoscaleSettingProfileRuleArgs.builder()\n                        .metricTrigger(AutoscaleSettingProfileRuleMetricTriggerArgs.builder()\n                            .metricName(\"Percentage CPU\")\n                            .metricResourceId(exampleLinuxVirtualMachineScaleSet.id())\n                            .timeGrain(\"PT1M\")\n                            .statistic(\"Average\")\n                            .timeWindow(\"PT5M\")\n                            .timeAggregation(\"Average\")\n                            .operator(\"GreaterThan\")\n                            .threshold(90.0)\n                            .build())\n                        .scaleAction(AutoscaleSettingProfileRuleScaleActionArgs.builder()\n                            .direction(\"Increase\")\n                            .type(\"ChangeCount\")\n                            .value(2)\n                            .cooldown(\"PT1M\")\n                            .build())\n                        .build(),\n                    AutoscaleSettingProfileRuleArgs.builder()\n                        .metricTrigger(AutoscaleSettingProfileRuleMetricTriggerArgs.builder()\n                            .metricName(\"Percentage CPU\")\n                            .metricResourceId(exampleLinuxVirtualMachineScaleSet.id())\n                            .timeGrain(\"PT1M\")\n                            .statistic(\"Average\")\n                            .timeWindow(\"PT5M\")\n                            .timeAggregation(\"Average\")\n                            .operator(\"LessThan\")\n                            .threshold(10.0)\n                            .build())\n                        .scaleAction(AutoscaleSettingProfileRuleScaleActionArgs.builder()\n                            .direction(\"Decrease\")\n                            .type(\"ChangeCount\")\n                            .value(2)\n                            .cooldown(\"PT1M\")\n                            .build())\n                        .build())\n                .fixedDate(AutoscaleSettingProfileFixedDateArgs.builder()\n                    .timezone(\"Pacific Standard Time\")\n                    .start(\"2020-07-01T00:00:00Z\")\n                    .end(\"2020-07-31T23:59:59Z\")\n                    .build())\n                .build())\n            .notification(AutoscaleSettingNotificationArgs.builder()\n                .email(AutoscaleSettingNotificationEmailArgs.builder()\n                    .sendToSubscriptionAdministrator(true)\n                    .sendToSubscriptionCoAdministrator(true)\n                    .customEmails(\"admin@contoso.com\")\n                    .build())\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: autoscalingTest\n      location: West Europe\n  exampleVirtualNetwork:\n    type: azure:network:VirtualNetwork\n    name: example\n    properties:\n      name: acctvn\n      addressSpaces:\n        - 10.0.0.0/16\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n  exampleSubnet:\n    type: azure:network:Subnet\n    name: example\n    properties:\n      name: acctsub\n      resourceGroupName: ${example.name}\n      virtualNetworkName: ${exampleVirtualNetwork.name}\n      addressPrefixes:\n        - 10.0.2.0/24\n  exampleLinuxVirtualMachineScaleSet:\n    type: azure:compute:LinuxVirtualMachineScaleSet\n    name: example\n    properties:\n      name: exampleset\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      upgradeMode: Manual\n      sku: Standard_F2\n      instances: 2\n      adminUsername: myadmin\n      adminSshKeys:\n        - username: myadmin\n          publicKey: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDCsTcryUl51Q2VSEHqDRNmceUFo55ZtcIwxl2QITbN1RREti5ml/VTytC0yeBOvnZA4x4CFpdw/lCDPk0yrH9Ei5vVkXmOrExdTlT3qI7YaAzj1tUVlBd4S6LX1F7y6VLActvdHuDDuXZXzCDd/97420jrDfWZqJMlUK/EmCE5ParCeHIRIvmBxcEnGfFIsw8xQZl0HphxWOtJil8qsUWSdMyCiJYYQpMoMliO99X40AUc4/AlsyPyT5ddbKk08YrZ+rKDVHF7o29rh4vi5MmHkVgVQHKiKybWlHq+b71gIAUQk9wrJxD+dqt4igrmDSpIjfjwnd+l5UIn5fJSO5DYV4YT/4hwK7OKmuo7OFHD0WyY5YnkYEMtFgzemnRBdE8ulcT60DQpVgRMXFWHvhyCWy0L6sgj1QWDZlLpvsIvNfHsyhKFMG1frLnMt/nP0+YCcfg+v1JYeCKjeoJxB8DWcRBsjzItY0CGmzP8UYZiYKl/2u+2TgFS5r7NWH11bxoUzjKdaa1NLw+ieA8GlBFfCbfWe6YVB9ggUte4VtYFMZGxOjS2bAiYtfgTKFJv+XqORAwExG6+G2eDxIDyo80/OA9IG7Xv/jwQr7D6KDjDuULFcN/iTxuttoKrHeYz1hf5ZQlBdllwJHYx6fK2g8kha6r2JIQKocvsAXiiONqSfw== hello@world.com\n      networkInterfaces:\n        - name: TestNetworkProfile\n          primary: true\n          ipConfigurations:\n            - name: TestIPConfiguration\n              primary: true\n              subnetId: ${exampleSubnet.id}\n      osDisk:\n        caching: ReadWrite\n        storageAccountType: StandardSSD_LRS\n      sourceImageReference:\n        publisher: Canonical\n        offer: 0001-com-ubuntu-server-jammy\n        sku: 22_04-lts\n        version: latest\n  exampleAutoscaleSetting:\n    type: azure:monitoring:AutoscaleSetting\n    name: example\n    properties:\n      name: myAutoscaleSetting\n      enabled: true\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      targetResourceId: ${exampleLinuxVirtualMachineScaleSet.id}\n      profiles:\n        - name: forJuly\n          capacity:\n            default: 1\n            minimum: 1\n            maximum: 10\n          rules:\n            - metricTrigger:\n                metricName: Percentage CPU\n                metricResourceId: ${exampleLinuxVirtualMachineScaleSet.id}\n                timeGrain: PT1M\n                statistic: Average\n                timeWindow: PT5M\n                timeAggregation: Average\n                operator: GreaterThan\n                threshold: 90\n              scaleAction:\n                direction: Increase\n                type: ChangeCount\n                value: '2'\n                cooldown: PT1M\n            - metricTrigger:\n                metricName: Percentage CPU\n                metricResourceId: ${exampleLinuxVirtualMachineScaleSet.id}\n                timeGrain: PT1M\n                statistic: Average\n                timeWindow: PT5M\n                timeAggregation: Average\n                operator: LessThan\n                threshold: 10\n              scaleAction:\n                direction: Decrease\n                type: ChangeCount\n                value: '2'\n                cooldown: PT1M\n          fixedDate:\n            timezone: Pacific Standard Time\n            start: 2020-07-01T00:00:00Z\n            end: 2020-07-31T23:59:59Z\n      notification:\n        email:\n          sendToSubscriptionAdministrator: true\n          sendToSubscriptionCoAdministrator: true\n          customEmails:\n            - admin@contoso.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Insights` - 2022-10-01\n\n## Import\n\nAutoScale Setting can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:monitoring/autoscaleSetting:AutoscaleSetting example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Insights/autoScaleSettings/setting1\n```\n\n","properties":{"enabled":{"type":"boolean","description":"Specifies whether automatic scaling is enabled for the target resource. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the AutoScale Setting should exist. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"The name of the AutoScale Setting. Changing this forces a new resource to be created.\n"},"notification":{"$ref":"#/types/azure:monitoring/AutoscaleSettingNotification:AutoscaleSettingNotification","description":"Specifies a \u003cspan pulumi-lang-nodejs=\"`notification`\" pulumi-lang-dotnet=\"`Notification`\" pulumi-lang-go=\"`notification`\" pulumi-lang-python=\"`notification`\" pulumi-lang-yaml=\"`notification`\" pulumi-lang-java=\"`notification`\"\u003e`notification`\u003c/span\u003e block as defined below.\n"},"predictive":{"$ref":"#/types/azure:monitoring/AutoscaleSettingPredictive:AutoscaleSettingPredictive","description":"A \u003cspan pulumi-lang-nodejs=\"`predictive`\" pulumi-lang-dotnet=\"`Predictive`\" pulumi-lang-go=\"`predictive`\" pulumi-lang-python=\"`predictive`\" pulumi-lang-yaml=\"`predictive`\" pulumi-lang-java=\"`predictive`\"\u003e`predictive`\u003c/span\u003e block as defined below.\n"},"profiles":{"type":"array","items":{"$ref":"#/types/azure:monitoring/AutoscaleSettingProfile:AutoscaleSettingProfile"},"description":"Specifies one or more (up to 20) \u003cspan pulumi-lang-nodejs=\"`profile`\" pulumi-lang-dotnet=\"`Profile`\" pulumi-lang-go=\"`profile`\" pulumi-lang-python=\"`profile`\" pulumi-lang-yaml=\"`profile`\" pulumi-lang-java=\"`profile`\"\u003e`profile`\u003c/span\u003e blocks as defined below.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group in the AutoScale Setting should be created. Changing this forces a new resource to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"targetResourceId":{"type":"string","description":"Specifies the resource ID of the resource that the autoscale setting should be added to. Changing this forces a new resource to be created.\n"}},"required":["location","name","profiles","resourceGroupName","targetResourceId"],"inputProperties":{"enabled":{"type":"boolean","description":"Specifies whether automatic scaling is enabled for the target resource. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the AutoScale Setting should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the AutoScale Setting. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"notification":{"$ref":"#/types/azure:monitoring/AutoscaleSettingNotification:AutoscaleSettingNotification","description":"Specifies a \u003cspan pulumi-lang-nodejs=\"`notification`\" pulumi-lang-dotnet=\"`Notification`\" pulumi-lang-go=\"`notification`\" pulumi-lang-python=\"`notification`\" pulumi-lang-yaml=\"`notification`\" pulumi-lang-java=\"`notification`\"\u003e`notification`\u003c/span\u003e block as defined below.\n"},"predictive":{"$ref":"#/types/azure:monitoring/AutoscaleSettingPredictive:AutoscaleSettingPredictive","description":"A \u003cspan pulumi-lang-nodejs=\"`predictive`\" pulumi-lang-dotnet=\"`Predictive`\" pulumi-lang-go=\"`predictive`\" pulumi-lang-python=\"`predictive`\" pulumi-lang-yaml=\"`predictive`\" pulumi-lang-java=\"`predictive`\"\u003e`predictive`\u003c/span\u003e block as defined below.\n"},"profiles":{"type":"array","items":{"$ref":"#/types/azure:monitoring/AutoscaleSettingProfile:AutoscaleSettingProfile"},"description":"Specifies one or more (up to 20) \u003cspan pulumi-lang-nodejs=\"`profile`\" pulumi-lang-dotnet=\"`Profile`\" pulumi-lang-go=\"`profile`\" pulumi-lang-python=\"`profile`\" pulumi-lang-yaml=\"`profile`\" pulumi-lang-java=\"`profile`\"\u003e`profile`\u003c/span\u003e blocks as defined below.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group in the AutoScale Setting should be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"targetResourceId":{"type":"string","description":"Specifies the resource ID of the resource that the autoscale setting should be added to. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["profiles","resourceGroupName","targetResourceId"],"stateInputs":{"description":"Input properties used for looking up and filtering AutoscaleSetting resources.\n","properties":{"enabled":{"type":"boolean","description":"Specifies whether automatic scaling is enabled for the target resource. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the AutoScale Setting should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the AutoScale Setting. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"notification":{"$ref":"#/types/azure:monitoring/AutoscaleSettingNotification:AutoscaleSettingNotification","description":"Specifies a \u003cspan pulumi-lang-nodejs=\"`notification`\" pulumi-lang-dotnet=\"`Notification`\" pulumi-lang-go=\"`notification`\" pulumi-lang-python=\"`notification`\" pulumi-lang-yaml=\"`notification`\" pulumi-lang-java=\"`notification`\"\u003e`notification`\u003c/span\u003e block as defined below.\n"},"predictive":{"$ref":"#/types/azure:monitoring/AutoscaleSettingPredictive:AutoscaleSettingPredictive","description":"A \u003cspan pulumi-lang-nodejs=\"`predictive`\" pulumi-lang-dotnet=\"`Predictive`\" pulumi-lang-go=\"`predictive`\" pulumi-lang-python=\"`predictive`\" pulumi-lang-yaml=\"`predictive`\" pulumi-lang-java=\"`predictive`\"\u003e`predictive`\u003c/span\u003e block as defined below.\n"},"profiles":{"type":"array","items":{"$ref":"#/types/azure:monitoring/AutoscaleSettingProfile:AutoscaleSettingProfile"},"description":"Specifies one or more (up to 20) \u003cspan pulumi-lang-nodejs=\"`profile`\" pulumi-lang-dotnet=\"`Profile`\" pulumi-lang-go=\"`profile`\" pulumi-lang-python=\"`profile`\" pulumi-lang-yaml=\"`profile`\" pulumi-lang-java=\"`profile`\"\u003e`profile`\u003c/span\u003e blocks as defined below.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group in the AutoScale Setting should be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"targetResourceId":{"type":"string","description":"Specifies the resource ID of the resource that the autoscale setting should be added to. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:monitoring/dataCollectionEndpoint:DataCollectionEndpoint":{"description":"Manages a Data Collection Endpoint.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-rg\",\n    location: \"West Europe\",\n});\nconst exampleDataCollectionEndpoint = new azure.monitoring.DataCollectionEndpoint(\"example\", {\n    name: \"example-mdce\",\n    resourceGroupName: example.name,\n    location: example.location,\n    kind: \"Windows\",\n    publicNetworkAccessEnabled: true,\n    description: \"monitor_data_collection_endpoint example\",\n    tags: {\n        foo: \"bar\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-rg\",\n    location=\"West Europe\")\nexample_data_collection_endpoint = azure.monitoring.DataCollectionEndpoint(\"example\",\n    name=\"example-mdce\",\n    resource_group_name=example.name,\n    location=example.location,\n    kind=\"Windows\",\n    public_network_access_enabled=True,\n    description=\"monitor_data_collection_endpoint example\",\n    tags={\n        \"foo\": \"bar\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-rg\",\n        Location = \"West Europe\",\n    });\n\n    var exampleDataCollectionEndpoint = new Azure.Monitoring.DataCollectionEndpoint(\"example\", new()\n    {\n        Name = \"example-mdce\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        Kind = \"Windows\",\n        PublicNetworkAccessEnabled = true,\n        Description = \"monitor_data_collection_endpoint example\",\n        Tags = \n        {\n            { \"foo\", \"bar\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/monitoring\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-rg\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = monitoring.NewDataCollectionEndpoint(ctx, \"example\", \u0026monitoring.DataCollectionEndpointArgs{\n\t\t\tName:                       pulumi.String(\"example-mdce\"),\n\t\t\tResourceGroupName:          example.Name,\n\t\t\tLocation:                   example.Location,\n\t\t\tKind:                       pulumi.String(\"Windows\"),\n\t\t\tPublicNetworkAccessEnabled: pulumi.Bool(true),\n\t\t\tDescription:                pulumi.String(\"monitor_data_collection_endpoint example\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"foo\": pulumi.String(\"bar\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.monitoring.DataCollectionEndpoint;\nimport com.pulumi.azure.monitoring.DataCollectionEndpointArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-rg\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleDataCollectionEndpoint = new DataCollectionEndpoint(\"exampleDataCollectionEndpoint\", DataCollectionEndpointArgs.builder()\n            .name(\"example-mdce\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .kind(\"Windows\")\n            .publicNetworkAccessEnabled(true)\n            .description(\"monitor_data_collection_endpoint example\")\n            .tags(Map.of(\"foo\", \"bar\"))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-rg\n      location: West Europe\n  exampleDataCollectionEndpoint:\n    type: azure:monitoring:DataCollectionEndpoint\n    name: example\n    properties:\n      name: example-mdce\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      kind: Windows\n      publicNetworkAccessEnabled: true\n      description: monitor_data_collection_endpoint example\n      tags:\n        foo: bar\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Insights` - 2023-03-11\n\n## Import\n\nData Collection Endpoints can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:monitoring/dataCollectionEndpoint:DataCollectionEndpoint example /subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/group1/providers/Microsoft.Insights/dataCollectionEndpoints/endpoint1\n```\n\n","properties":{"configurationAccessEndpoint":{"type":"string","description":"The endpoint used for accessing configuration, e.g., `https://mydce-abcd.eastus-1.control.monitor.azure.com`.\n"},"description":{"type":"string","description":"Specifies a description for the Data Collection Endpoint.\n"},"immutableId":{"type":"string","description":"The immutable ID of the Data Collection Endpoint.\n"},"kind":{"type":"string","description":"The kind of the Data Collection Endpoint. Possible values are `Linux` and `Windows`.\n"},"location":{"type":"string","description":"The Azure Region where the Data Collection Endpoint should exist. Changing this forces a new Data Collection Endpoint to be created.\n"},"logsIngestionEndpoint":{"type":"string","description":"The endpoint used for ingesting logs, e.g., `https://mydce-abcd.eastus-1.ingest.monitor.azure.com`.\n"},"metricsIngestionEndpoint":{"type":"string","description":"The endpoint used for ingesting metrics, e.g., `https://mydce-abcd.eastus-1.metrics.ingest.monitor.azure.com`.\n"},"name":{"type":"string","description":"The name which should be used for this Data Collection Endpoint. Changing this forces a new Data Collection Endpoint to be created.\n"},"publicNetworkAccessEnabled":{"type":"boolean","description":"Whether network access from public internet to the Data Collection Endpoint are allowed. Possible values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Default to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Data Collection Endpoint should exist. Changing this forces a new Data Collection Endpoint to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Data Collection Endpoint.\n"}},"required":["configurationAccessEndpoint","immutableId","location","logsIngestionEndpoint","metricsIngestionEndpoint","name","resourceGroupName"],"inputProperties":{"description":{"type":"string","description":"Specifies a description for the Data Collection Endpoint.\n"},"kind":{"type":"string","description":"The kind of the Data Collection Endpoint. Possible values are `Linux` and `Windows`.\n"},"location":{"type":"string","description":"The Azure Region where the Data Collection Endpoint should exist. Changing this forces a new Data Collection Endpoint to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Data Collection Endpoint. Changing this forces a new Data Collection Endpoint to be created.\n","willReplaceOnChanges":true},"publicNetworkAccessEnabled":{"type":"boolean","description":"Whether network access from public internet to the Data Collection Endpoint are allowed. Possible values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Default to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Data Collection Endpoint should exist. Changing this forces a new Data Collection Endpoint to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Data Collection Endpoint.\n"}},"requiredInputs":["resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering DataCollectionEndpoint resources.\n","properties":{"configurationAccessEndpoint":{"type":"string","description":"The endpoint used for accessing configuration, e.g., `https://mydce-abcd.eastus-1.control.monitor.azure.com`.\n"},"description":{"type":"string","description":"Specifies a description for the Data Collection Endpoint.\n"},"immutableId":{"type":"string","description":"The immutable ID of the Data Collection Endpoint.\n"},"kind":{"type":"string","description":"The kind of the Data Collection Endpoint. Possible values are `Linux` and `Windows`.\n"},"location":{"type":"string","description":"The Azure Region where the Data Collection Endpoint should exist. Changing this forces a new Data Collection Endpoint to be created.\n","willReplaceOnChanges":true},"logsIngestionEndpoint":{"type":"string","description":"The endpoint used for ingesting logs, e.g., `https://mydce-abcd.eastus-1.ingest.monitor.azure.com`.\n"},"metricsIngestionEndpoint":{"type":"string","description":"The endpoint used for ingesting metrics, e.g., `https://mydce-abcd.eastus-1.metrics.ingest.monitor.azure.com`.\n"},"name":{"type":"string","description":"The name which should be used for this Data Collection Endpoint. Changing this forces a new Data Collection Endpoint to be created.\n","willReplaceOnChanges":true},"publicNetworkAccessEnabled":{"type":"boolean","description":"Whether network access from public internet to the Data Collection Endpoint are allowed. Possible values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Default to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Data Collection Endpoint should exist. Changing this forces a new Data Collection Endpoint to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Data Collection Endpoint.\n"}},"type":"object"}},"azure:monitoring/dataCollectionRule:DataCollectionRule":{"description":"Manages a Data Collection Rule.\n\n## Import\n\nData Collection Rules can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:monitoring/dataCollectionRule:DataCollectionRule example /subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/group1/providers/Microsoft.Insights/dataCollectionRules/rule1\n```\n\n","properties":{"dataCollectionEndpointId":{"type":"string","description":"The resource ID of the Data Collection Endpoint that this rule can be used with.\n"},"dataFlows":{"type":"array","items":{"$ref":"#/types/azure:monitoring/DataCollectionRuleDataFlow:DataCollectionRuleDataFlow"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`dataFlow`\" pulumi-lang-dotnet=\"`DataFlow`\" pulumi-lang-go=\"`dataFlow`\" pulumi-lang-python=\"`data_flow`\" pulumi-lang-yaml=\"`dataFlow`\" pulumi-lang-java=\"`dataFlow`\"\u003e`data_flow`\u003c/span\u003e blocks as defined below.\n"},"dataSources":{"$ref":"#/types/azure:monitoring/DataCollectionRuleDataSources:DataCollectionRuleDataSources","description":"A \u003cspan pulumi-lang-nodejs=\"`dataSources`\" pulumi-lang-dotnet=\"`DataSources`\" pulumi-lang-go=\"`dataSources`\" pulumi-lang-python=\"`data_sources`\" pulumi-lang-yaml=\"`dataSources`\" pulumi-lang-java=\"`dataSources`\"\u003e`data_sources`\u003c/span\u003e block as defined below. This property is optional and can be omitted if the rule is meant to be used via direct calls to the provisioned endpoint.\n"},"description":{"type":"string","description":"The description of the Data Collection Rule.\n"},"destinations":{"$ref":"#/types/azure:monitoring/DataCollectionRuleDestinations:DataCollectionRuleDestinations","description":"A \u003cspan pulumi-lang-nodejs=\"`destinations`\" pulumi-lang-dotnet=\"`Destinations`\" pulumi-lang-go=\"`destinations`\" pulumi-lang-python=\"`destinations`\" pulumi-lang-yaml=\"`destinations`\" pulumi-lang-java=\"`destinations`\"\u003e`destinations`\u003c/span\u003e block as defined below.\n"},"identity":{"$ref":"#/types/azure:monitoring/DataCollectionRuleIdentity:DataCollectionRuleIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"immutableId":{"type":"string","description":"The immutable ID of the Data Collection Rule.\n"},"kind":{"type":"string","description":"The kind of the Data Collection Rule. Possible values are `Linux`, `Windows`, `AgentDirectToStore` and `WorkspaceTransforms`. A rule of kind `Linux` does not allow for \u003cspan pulumi-lang-nodejs=\"`windowsEventLog`\" pulumi-lang-dotnet=\"`WindowsEventLog`\" pulumi-lang-go=\"`windowsEventLog`\" pulumi-lang-python=\"`windows_event_log`\" pulumi-lang-yaml=\"`windowsEventLog`\" pulumi-lang-java=\"`windowsEventLog`\"\u003e`windows_event_log`\u003c/span\u003e data sources. And a rule of kind `Windows` does not allow for \u003cspan pulumi-lang-nodejs=\"`syslog`\" pulumi-lang-dotnet=\"`Syslog`\" pulumi-lang-go=\"`syslog`\" pulumi-lang-python=\"`syslog`\" pulumi-lang-yaml=\"`syslog`\" pulumi-lang-java=\"`syslog`\"\u003e`syslog`\u003c/span\u003e data sources. If kind is not specified, all kinds of data sources are allowed.\n\n\u003e **Note:** Once \u003cspan pulumi-lang-nodejs=\"`kind`\" pulumi-lang-dotnet=\"`Kind`\" pulumi-lang-go=\"`kind`\" pulumi-lang-python=\"`kind`\" pulumi-lang-yaml=\"`kind`\" pulumi-lang-java=\"`kind`\"\u003e`kind`\u003c/span\u003e has been set, changing it forces a new Data Collection Rule to be created.\n"},"location":{"type":"string","description":"The Azure Region where the Data Collection Rule should exist. Changing this forces a new Data Collection Rule to be created.\n"},"name":{"type":"string","description":"The name which should be used for this Data Collection Rule. Changing this forces a new Data Collection Rule to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Data Collection Rule should exist. Changing this forces a new Data Collection Rule to be created.\n"},"streamDeclarations":{"type":"array","items":{"$ref":"#/types/azure:monitoring/DataCollectionRuleStreamDeclaration:DataCollectionRuleStreamDeclaration"},"description":"A \u003cspan pulumi-lang-nodejs=\"`streamDeclaration`\" pulumi-lang-dotnet=\"`StreamDeclaration`\" pulumi-lang-go=\"`streamDeclaration`\" pulumi-lang-python=\"`stream_declaration`\" pulumi-lang-yaml=\"`streamDeclaration`\" pulumi-lang-java=\"`streamDeclaration`\"\u003e`stream_declaration`\u003c/span\u003e block as defined below.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Data Collection Rule.\n"}},"required":["dataFlows","destinations","immutableId","location","name","resourceGroupName"],"inputProperties":{"dataCollectionEndpointId":{"type":"string","description":"The resource ID of the Data Collection Endpoint that this rule can be used with.\n"},"dataFlows":{"type":"array","items":{"$ref":"#/types/azure:monitoring/DataCollectionRuleDataFlow:DataCollectionRuleDataFlow"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`dataFlow`\" pulumi-lang-dotnet=\"`DataFlow`\" pulumi-lang-go=\"`dataFlow`\" pulumi-lang-python=\"`data_flow`\" pulumi-lang-yaml=\"`dataFlow`\" pulumi-lang-java=\"`dataFlow`\"\u003e`data_flow`\u003c/span\u003e blocks as defined below.\n"},"dataSources":{"$ref":"#/types/azure:monitoring/DataCollectionRuleDataSources:DataCollectionRuleDataSources","description":"A \u003cspan pulumi-lang-nodejs=\"`dataSources`\" pulumi-lang-dotnet=\"`DataSources`\" pulumi-lang-go=\"`dataSources`\" pulumi-lang-python=\"`data_sources`\" pulumi-lang-yaml=\"`dataSources`\" pulumi-lang-java=\"`dataSources`\"\u003e`data_sources`\u003c/span\u003e block as defined below. This property is optional and can be omitted if the rule is meant to be used via direct calls to the provisioned endpoint.\n"},"description":{"type":"string","description":"The description of the Data Collection Rule.\n"},"destinations":{"$ref":"#/types/azure:monitoring/DataCollectionRuleDestinations:DataCollectionRuleDestinations","description":"A \u003cspan pulumi-lang-nodejs=\"`destinations`\" pulumi-lang-dotnet=\"`Destinations`\" pulumi-lang-go=\"`destinations`\" pulumi-lang-python=\"`destinations`\" pulumi-lang-yaml=\"`destinations`\" pulumi-lang-java=\"`destinations`\"\u003e`destinations`\u003c/span\u003e block as defined below.\n"},"identity":{"$ref":"#/types/azure:monitoring/DataCollectionRuleIdentity:DataCollectionRuleIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"kind":{"type":"string","description":"The kind of the Data Collection Rule. Possible values are `Linux`, `Windows`, `AgentDirectToStore` and `WorkspaceTransforms`. A rule of kind `Linux` does not allow for \u003cspan pulumi-lang-nodejs=\"`windowsEventLog`\" pulumi-lang-dotnet=\"`WindowsEventLog`\" pulumi-lang-go=\"`windowsEventLog`\" pulumi-lang-python=\"`windows_event_log`\" pulumi-lang-yaml=\"`windowsEventLog`\" pulumi-lang-java=\"`windowsEventLog`\"\u003e`windows_event_log`\u003c/span\u003e data sources. And a rule of kind `Windows` does not allow for \u003cspan pulumi-lang-nodejs=\"`syslog`\" pulumi-lang-dotnet=\"`Syslog`\" pulumi-lang-go=\"`syslog`\" pulumi-lang-python=\"`syslog`\" pulumi-lang-yaml=\"`syslog`\" pulumi-lang-java=\"`syslog`\"\u003e`syslog`\u003c/span\u003e data sources. If kind is not specified, all kinds of data sources are allowed.\n\n\u003e **Note:** Once \u003cspan pulumi-lang-nodejs=\"`kind`\" pulumi-lang-dotnet=\"`Kind`\" pulumi-lang-go=\"`kind`\" pulumi-lang-python=\"`kind`\" pulumi-lang-yaml=\"`kind`\" pulumi-lang-java=\"`kind`\"\u003e`kind`\u003c/span\u003e has been set, changing it forces a new Data Collection Rule to be created.\n"},"location":{"type":"string","description":"The Azure Region where the Data Collection Rule should exist. Changing this forces a new Data Collection Rule to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Data Collection Rule. Changing this forces a new Data Collection Rule to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Data Collection Rule should exist. Changing this forces a new Data Collection Rule to be created.\n","willReplaceOnChanges":true},"streamDeclarations":{"type":"array","items":{"$ref":"#/types/azure:monitoring/DataCollectionRuleStreamDeclaration:DataCollectionRuleStreamDeclaration"},"description":"A \u003cspan pulumi-lang-nodejs=\"`streamDeclaration`\" pulumi-lang-dotnet=\"`StreamDeclaration`\" pulumi-lang-go=\"`streamDeclaration`\" pulumi-lang-python=\"`stream_declaration`\" pulumi-lang-yaml=\"`streamDeclaration`\" pulumi-lang-java=\"`streamDeclaration`\"\u003e`stream_declaration`\u003c/span\u003e block as defined below.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Data Collection Rule.\n"}},"requiredInputs":["dataFlows","destinations","resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering DataCollectionRule resources.\n","properties":{"dataCollectionEndpointId":{"type":"string","description":"The resource ID of the Data Collection Endpoint that this rule can be used with.\n"},"dataFlows":{"type":"array","items":{"$ref":"#/types/azure:monitoring/DataCollectionRuleDataFlow:DataCollectionRuleDataFlow"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`dataFlow`\" pulumi-lang-dotnet=\"`DataFlow`\" pulumi-lang-go=\"`dataFlow`\" pulumi-lang-python=\"`data_flow`\" pulumi-lang-yaml=\"`dataFlow`\" pulumi-lang-java=\"`dataFlow`\"\u003e`data_flow`\u003c/span\u003e blocks as defined below.\n"},"dataSources":{"$ref":"#/types/azure:monitoring/DataCollectionRuleDataSources:DataCollectionRuleDataSources","description":"A \u003cspan pulumi-lang-nodejs=\"`dataSources`\" pulumi-lang-dotnet=\"`DataSources`\" pulumi-lang-go=\"`dataSources`\" pulumi-lang-python=\"`data_sources`\" pulumi-lang-yaml=\"`dataSources`\" pulumi-lang-java=\"`dataSources`\"\u003e`data_sources`\u003c/span\u003e block as defined below. This property is optional and can be omitted if the rule is meant to be used via direct calls to the provisioned endpoint.\n"},"description":{"type":"string","description":"The description of the Data Collection Rule.\n"},"destinations":{"$ref":"#/types/azure:monitoring/DataCollectionRuleDestinations:DataCollectionRuleDestinations","description":"A \u003cspan pulumi-lang-nodejs=\"`destinations`\" pulumi-lang-dotnet=\"`Destinations`\" pulumi-lang-go=\"`destinations`\" pulumi-lang-python=\"`destinations`\" pulumi-lang-yaml=\"`destinations`\" pulumi-lang-java=\"`destinations`\"\u003e`destinations`\u003c/span\u003e block as defined below.\n"},"identity":{"$ref":"#/types/azure:monitoring/DataCollectionRuleIdentity:DataCollectionRuleIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"immutableId":{"type":"string","description":"The immutable ID of the Data Collection Rule.\n"},"kind":{"type":"string","description":"The kind of the Data Collection Rule. Possible values are `Linux`, `Windows`, `AgentDirectToStore` and `WorkspaceTransforms`. A rule of kind `Linux` does not allow for \u003cspan pulumi-lang-nodejs=\"`windowsEventLog`\" pulumi-lang-dotnet=\"`WindowsEventLog`\" pulumi-lang-go=\"`windowsEventLog`\" pulumi-lang-python=\"`windows_event_log`\" pulumi-lang-yaml=\"`windowsEventLog`\" pulumi-lang-java=\"`windowsEventLog`\"\u003e`windows_event_log`\u003c/span\u003e data sources. And a rule of kind `Windows` does not allow for \u003cspan pulumi-lang-nodejs=\"`syslog`\" pulumi-lang-dotnet=\"`Syslog`\" pulumi-lang-go=\"`syslog`\" pulumi-lang-python=\"`syslog`\" pulumi-lang-yaml=\"`syslog`\" pulumi-lang-java=\"`syslog`\"\u003e`syslog`\u003c/span\u003e data sources. If kind is not specified, all kinds of data sources are allowed.\n\n\u003e **Note:** Once \u003cspan pulumi-lang-nodejs=\"`kind`\" pulumi-lang-dotnet=\"`Kind`\" pulumi-lang-go=\"`kind`\" pulumi-lang-python=\"`kind`\" pulumi-lang-yaml=\"`kind`\" pulumi-lang-java=\"`kind`\"\u003e`kind`\u003c/span\u003e has been set, changing it forces a new Data Collection Rule to be created.\n"},"location":{"type":"string","description":"The Azure Region where the Data Collection Rule should exist. Changing this forces a new Data Collection Rule to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Data Collection Rule. Changing this forces a new Data Collection Rule to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Data Collection Rule should exist. Changing this forces a new Data Collection Rule to be created.\n","willReplaceOnChanges":true},"streamDeclarations":{"type":"array","items":{"$ref":"#/types/azure:monitoring/DataCollectionRuleStreamDeclaration:DataCollectionRuleStreamDeclaration"},"description":"A \u003cspan pulumi-lang-nodejs=\"`streamDeclaration`\" pulumi-lang-dotnet=\"`StreamDeclaration`\" pulumi-lang-go=\"`streamDeclaration`\" pulumi-lang-python=\"`stream_declaration`\" pulumi-lang-yaml=\"`streamDeclaration`\" pulumi-lang-java=\"`streamDeclaration`\"\u003e`stream_declaration`\u003c/span\u003e block as defined below.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Data Collection Rule.\n"}},"type":"object"}},"azure:monitoring/dataCollectionRuleAssociation:DataCollectionRuleAssociation":{"description":"Manages a Data Collection Rule Association.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"example\", {\n    name: \"virtualnetwork\",\n    addressSpaces: [\"10.0.0.0/16\"],\n    location: example.location,\n    resourceGroupName: example.name,\n});\nconst exampleSubnet = new azure.network.Subnet(\"example\", {\n    name: \"subnet\",\n    resourceGroupName: example.name,\n    virtualNetworkName: exampleVirtualNetwork.name,\n    addressPrefixes: [\"10.0.2.0/24\"],\n});\nconst exampleNetworkInterface = new azure.network.NetworkInterface(\"example\", {\n    name: \"nic\",\n    location: example.location,\n    resourceGroupName: example.name,\n    ipConfigurations: [{\n        name: \"internal\",\n        subnetId: exampleSubnet.id,\n        privateIpAddressAllocation: \"Dynamic\",\n    }],\n});\nconst exampleLinuxVirtualMachine = new azure.compute.LinuxVirtualMachine(\"example\", {\n    name: \"machine\",\n    resourceGroupName: example.name,\n    location: example.location,\n    size: \"Standard_B1ls\",\n    adminUsername: \"adminuser\",\n    networkInterfaceIds: [exampleNetworkInterface.id],\n    adminPassword: \"example-Password@7890\",\n    disablePasswordAuthentication: false,\n    osDisk: {\n        caching: \"ReadWrite\",\n        storageAccountType: \"Standard_LRS\",\n    },\n    sourceImageReference: {\n        publisher: \"Canonical\",\n        offer: \"0001-com-ubuntu-server-jammy\",\n        sku: \"22_04-lts\",\n        version: \"latest\",\n    },\n});\nconst exampleDataCollectionRule = new azure.monitoring.DataCollectionRule(\"example\", {\n    name: \"example-dcr\",\n    resourceGroupName: example.name,\n    location: example.location,\n    destinations: {\n        azureMonitorMetrics: {\n            name: \"example-destination-metrics\",\n        },\n    },\n    dataFlows: [{\n        streams: [\"Microsoft-InsightsMetrics\"],\n        destinations: [\"example-destination-metrics\"],\n    }],\n});\nconst exampleDataCollectionEndpoint = new azure.monitoring.DataCollectionEndpoint(\"example\", {\n    name: \"example-dce\",\n    resourceGroupName: example.name,\n    location: example.location,\n});\n// associate to a Data Collection Rule\nconst example1 = new azure.monitoring.DataCollectionRuleAssociation(\"example1\", {\n    name: \"example1-dcra\",\n    targetResourceId: exampleLinuxVirtualMachine.id,\n    dataCollectionRuleId: exampleDataCollectionRule.id,\n    description: \"example\",\n});\n// associate to a Data Collection Endpoint\nconst example2 = new azure.monitoring.DataCollectionRuleAssociation(\"example2\", {\n    targetResourceId: exampleLinuxVirtualMachine.id,\n    dataCollectionEndpointId: exampleDataCollectionEndpoint.id,\n    description: \"example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_virtual_network = azure.network.VirtualNetwork(\"example\",\n    name=\"virtualnetwork\",\n    address_spaces=[\"10.0.0.0/16\"],\n    location=example.location,\n    resource_group_name=example.name)\nexample_subnet = azure.network.Subnet(\"example\",\n    name=\"subnet\",\n    resource_group_name=example.name,\n    virtual_network_name=example_virtual_network.name,\n    address_prefixes=[\"10.0.2.0/24\"])\nexample_network_interface = azure.network.NetworkInterface(\"example\",\n    name=\"nic\",\n    location=example.location,\n    resource_group_name=example.name,\n    ip_configurations=[{\n        \"name\": \"internal\",\n        \"subnet_id\": example_subnet.id,\n        \"private_ip_address_allocation\": \"Dynamic\",\n    }])\nexample_linux_virtual_machine = azure.compute.LinuxVirtualMachine(\"example\",\n    name=\"machine\",\n    resource_group_name=example.name,\n    location=example.location,\n    size=\"Standard_B1ls\",\n    admin_username=\"adminuser\",\n    network_interface_ids=[example_network_interface.id],\n    admin_password=\"example-Password@7890\",\n    disable_password_authentication=False,\n    os_disk={\n        \"caching\": \"ReadWrite\",\n        \"storage_account_type\": \"Standard_LRS\",\n    },\n    source_image_reference={\n        \"publisher\": \"Canonical\",\n        \"offer\": \"0001-com-ubuntu-server-jammy\",\n        \"sku\": \"22_04-lts\",\n        \"version\": \"latest\",\n    })\nexample_data_collection_rule = azure.monitoring.DataCollectionRule(\"example\",\n    name=\"example-dcr\",\n    resource_group_name=example.name,\n    location=example.location,\n    destinations={\n        \"azure_monitor_metrics\": {\n            \"name\": \"example-destination-metrics\",\n        },\n    },\n    data_flows=[{\n        \"streams\": [\"Microsoft-InsightsMetrics\"],\n        \"destinations\": [\"example-destination-metrics\"],\n    }])\nexample_data_collection_endpoint = azure.monitoring.DataCollectionEndpoint(\"example\",\n    name=\"example-dce\",\n    resource_group_name=example.name,\n    location=example.location)\n# associate to a Data Collection Rule\nexample1 = azure.monitoring.DataCollectionRuleAssociation(\"example1\",\n    name=\"example1-dcra\",\n    target_resource_id=example_linux_virtual_machine.id,\n    data_collection_rule_id=example_data_collection_rule.id,\n    description=\"example\")\n# associate to a Data Collection Endpoint\nexample2 = azure.monitoring.DataCollectionRuleAssociation(\"example2\",\n    target_resource_id=example_linux_virtual_machine.id,\n    data_collection_endpoint_id=example_data_collection_endpoint.id,\n    description=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleVirtualNetwork = new Azure.Network.VirtualNetwork(\"example\", new()\n    {\n        Name = \"virtualnetwork\",\n        AddressSpaces = new[]\n        {\n            \"10.0.0.0/16\",\n        },\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n    });\n\n    var exampleSubnet = new Azure.Network.Subnet(\"example\", new()\n    {\n        Name = \"subnet\",\n        ResourceGroupName = example.Name,\n        VirtualNetworkName = exampleVirtualNetwork.Name,\n        AddressPrefixes = new[]\n        {\n            \"10.0.2.0/24\",\n        },\n    });\n\n    var exampleNetworkInterface = new Azure.Network.NetworkInterface(\"example\", new()\n    {\n        Name = \"nic\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        IpConfigurations = new[]\n        {\n            new Azure.Network.Inputs.NetworkInterfaceIpConfigurationArgs\n            {\n                Name = \"internal\",\n                SubnetId = exampleSubnet.Id,\n                PrivateIpAddressAllocation = \"Dynamic\",\n            },\n        },\n    });\n\n    var exampleLinuxVirtualMachine = new Azure.Compute.LinuxVirtualMachine(\"example\", new()\n    {\n        Name = \"machine\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        Size = \"Standard_B1ls\",\n        AdminUsername = \"adminuser\",\n        NetworkInterfaceIds = new[]\n        {\n            exampleNetworkInterface.Id,\n        },\n        AdminPassword = \"example-Password@7890\",\n        DisablePasswordAuthentication = false,\n        OsDisk = new Azure.Compute.Inputs.LinuxVirtualMachineOsDiskArgs\n        {\n            Caching = \"ReadWrite\",\n            StorageAccountType = \"Standard_LRS\",\n        },\n        SourceImageReference = new Azure.Compute.Inputs.LinuxVirtualMachineSourceImageReferenceArgs\n        {\n            Publisher = \"Canonical\",\n            Offer = \"0001-com-ubuntu-server-jammy\",\n            Sku = \"22_04-lts\",\n            Version = \"latest\",\n        },\n    });\n\n    var exampleDataCollectionRule = new Azure.Monitoring.DataCollectionRule(\"example\", new()\n    {\n        Name = \"example-dcr\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        Destinations = new Azure.Monitoring.Inputs.DataCollectionRuleDestinationsArgs\n        {\n            AzureMonitorMetrics = new Azure.Monitoring.Inputs.DataCollectionRuleDestinationsAzureMonitorMetricsArgs\n            {\n                Name = \"example-destination-metrics\",\n            },\n        },\n        DataFlows = new[]\n        {\n            new Azure.Monitoring.Inputs.DataCollectionRuleDataFlowArgs\n            {\n                Streams = new[]\n                {\n                    \"Microsoft-InsightsMetrics\",\n                },\n                Destinations = new[]\n                {\n                    \"example-destination-metrics\",\n                },\n            },\n        },\n    });\n\n    var exampleDataCollectionEndpoint = new Azure.Monitoring.DataCollectionEndpoint(\"example\", new()\n    {\n        Name = \"example-dce\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n    });\n\n    // associate to a Data Collection Rule\n    var example1 = new Azure.Monitoring.DataCollectionRuleAssociation(\"example1\", new()\n    {\n        Name = \"example1-dcra\",\n        TargetResourceId = exampleLinuxVirtualMachine.Id,\n        DataCollectionRuleId = exampleDataCollectionRule.Id,\n        Description = \"example\",\n    });\n\n    // associate to a Data Collection Endpoint\n    var example2 = new Azure.Monitoring.DataCollectionRuleAssociation(\"example2\", new()\n    {\n        TargetResourceId = exampleLinuxVirtualMachine.Id,\n        DataCollectionEndpointId = exampleDataCollectionEndpoint.Id,\n        Description = \"example\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/compute\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/monitoring\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, \"example\", \u0026network.VirtualNetworkArgs{\n\t\t\tName: pulumi.String(\"virtualnetwork\"),\n\t\t\tAddressSpaces: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.0.0/16\"),\n\t\t\t},\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSubnet, err := network.NewSubnet(ctx, \"example\", \u0026network.SubnetArgs{\n\t\t\tName:               pulumi.String(\"subnet\"),\n\t\t\tResourceGroupName:  example.Name,\n\t\t\tVirtualNetworkName: exampleVirtualNetwork.Name,\n\t\t\tAddressPrefixes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.2.0/24\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNetworkInterface, err := network.NewNetworkInterface(ctx, \"example\", \u0026network.NetworkInterfaceArgs{\n\t\t\tName:              pulumi.String(\"nic\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tIpConfigurations: network.NetworkInterfaceIpConfigurationArray{\n\t\t\t\t\u0026network.NetworkInterfaceIpConfigurationArgs{\n\t\t\t\t\tName:                       pulumi.String(\"internal\"),\n\t\t\t\t\tSubnetId:                   exampleSubnet.ID(),\n\t\t\t\t\tPrivateIpAddressAllocation: pulumi.String(\"Dynamic\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleLinuxVirtualMachine, err := compute.NewLinuxVirtualMachine(ctx, \"example\", \u0026compute.LinuxVirtualMachineArgs{\n\t\t\tName:              pulumi.String(\"machine\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tSize:              pulumi.String(\"Standard_B1ls\"),\n\t\t\tAdminUsername:     pulumi.String(\"adminuser\"),\n\t\t\tNetworkInterfaceIds: pulumi.StringArray{\n\t\t\t\texampleNetworkInterface.ID(),\n\t\t\t},\n\t\t\tAdminPassword:                 pulumi.String(\"example-Password@7890\"),\n\t\t\tDisablePasswordAuthentication: pulumi.Bool(false),\n\t\t\tOsDisk: \u0026compute.LinuxVirtualMachineOsDiskArgs{\n\t\t\t\tCaching:            pulumi.String(\"ReadWrite\"),\n\t\t\t\tStorageAccountType: pulumi.String(\"Standard_LRS\"),\n\t\t\t},\n\t\t\tSourceImageReference: \u0026compute.LinuxVirtualMachineSourceImageReferenceArgs{\n\t\t\t\tPublisher: pulumi.String(\"Canonical\"),\n\t\t\t\tOffer:     pulumi.String(\"0001-com-ubuntu-server-jammy\"),\n\t\t\t\tSku:       pulumi.String(\"22_04-lts\"),\n\t\t\t\tVersion:   pulumi.String(\"latest\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleDataCollectionRule, err := monitoring.NewDataCollectionRule(ctx, \"example\", \u0026monitoring.DataCollectionRuleArgs{\n\t\t\tName:              pulumi.String(\"example-dcr\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tDestinations: \u0026monitoring.DataCollectionRuleDestinationsArgs{\n\t\t\t\tAzureMonitorMetrics: \u0026monitoring.DataCollectionRuleDestinationsAzureMonitorMetricsArgs{\n\t\t\t\t\tName: pulumi.String(\"example-destination-metrics\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tDataFlows: monitoring.DataCollectionRuleDataFlowArray{\n\t\t\t\t\u0026monitoring.DataCollectionRuleDataFlowArgs{\n\t\t\t\t\tStreams: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"Microsoft-InsightsMetrics\"),\n\t\t\t\t\t},\n\t\t\t\t\tDestinations: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"example-destination-metrics\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleDataCollectionEndpoint, err := monitoring.NewDataCollectionEndpoint(ctx, \"example\", \u0026monitoring.DataCollectionEndpointArgs{\n\t\t\tName:              pulumi.String(\"example-dce\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// associate to a Data Collection Rule\n\t\t_, err = monitoring.NewDataCollectionRuleAssociation(ctx, \"example1\", \u0026monitoring.DataCollectionRuleAssociationArgs{\n\t\t\tName:                 pulumi.String(\"example1-dcra\"),\n\t\t\tTargetResourceId:     exampleLinuxVirtualMachine.ID(),\n\t\t\tDataCollectionRuleId: exampleDataCollectionRule.ID(),\n\t\t\tDescription:          pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// associate to a Data Collection Endpoint\n\t\t_, err = monitoring.NewDataCollectionRuleAssociation(ctx, \"example2\", \u0026monitoring.DataCollectionRuleAssociationArgs{\n\t\t\tTargetResourceId:         exampleLinuxVirtualMachine.ID(),\n\t\t\tDataCollectionEndpointId: exampleDataCollectionEndpoint.ID(),\n\t\t\tDescription:              pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.VirtualNetwork;\nimport com.pulumi.azure.network.VirtualNetworkArgs;\nimport com.pulumi.azure.network.Subnet;\nimport com.pulumi.azure.network.SubnetArgs;\nimport com.pulumi.azure.network.NetworkInterface;\nimport com.pulumi.azure.network.NetworkInterfaceArgs;\nimport com.pulumi.azure.network.inputs.NetworkInterfaceIpConfigurationArgs;\nimport com.pulumi.azure.compute.LinuxVirtualMachine;\nimport com.pulumi.azure.compute.LinuxVirtualMachineArgs;\nimport com.pulumi.azure.compute.inputs.LinuxVirtualMachineOsDiskArgs;\nimport com.pulumi.azure.compute.inputs.LinuxVirtualMachineSourceImageReferenceArgs;\nimport com.pulumi.azure.monitoring.DataCollectionRule;\nimport com.pulumi.azure.monitoring.DataCollectionRuleArgs;\nimport com.pulumi.azure.monitoring.inputs.DataCollectionRuleDestinationsArgs;\nimport com.pulumi.azure.monitoring.inputs.DataCollectionRuleDestinationsAzureMonitorMetricsArgs;\nimport com.pulumi.azure.monitoring.inputs.DataCollectionRuleDataFlowArgs;\nimport com.pulumi.azure.monitoring.DataCollectionEndpoint;\nimport com.pulumi.azure.monitoring.DataCollectionEndpointArgs;\nimport com.pulumi.azure.monitoring.DataCollectionRuleAssociation;\nimport com.pulumi.azure.monitoring.DataCollectionRuleAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleVirtualNetwork = new VirtualNetwork(\"exampleVirtualNetwork\", VirtualNetworkArgs.builder()\n            .name(\"virtualnetwork\")\n            .addressSpaces(\"10.0.0.0/16\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .build());\n\n        var exampleSubnet = new Subnet(\"exampleSubnet\", SubnetArgs.builder()\n            .name(\"subnet\")\n            .resourceGroupName(example.name())\n            .virtualNetworkName(exampleVirtualNetwork.name())\n            .addressPrefixes(\"10.0.2.0/24\")\n            .build());\n\n        var exampleNetworkInterface = new NetworkInterface(\"exampleNetworkInterface\", NetworkInterfaceArgs.builder()\n            .name(\"nic\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .ipConfigurations(NetworkInterfaceIpConfigurationArgs.builder()\n                .name(\"internal\")\n                .subnetId(exampleSubnet.id())\n                .privateIpAddressAllocation(\"Dynamic\")\n                .build())\n            .build());\n\n        var exampleLinuxVirtualMachine = new LinuxVirtualMachine(\"exampleLinuxVirtualMachine\", LinuxVirtualMachineArgs.builder()\n            .name(\"machine\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .size(\"Standard_B1ls\")\n            .adminUsername(\"adminuser\")\n            .networkInterfaceIds(exampleNetworkInterface.id())\n            .adminPassword(\"example-Password@7890\")\n            .disablePasswordAuthentication(false)\n            .osDisk(LinuxVirtualMachineOsDiskArgs.builder()\n                .caching(\"ReadWrite\")\n                .storageAccountType(\"Standard_LRS\")\n                .build())\n            .sourceImageReference(LinuxVirtualMachineSourceImageReferenceArgs.builder()\n                .publisher(\"Canonical\")\n                .offer(\"0001-com-ubuntu-server-jammy\")\n                .sku(\"22_04-lts\")\n                .version(\"latest\")\n                .build())\n            .build());\n\n        var exampleDataCollectionRule = new DataCollectionRule(\"exampleDataCollectionRule\", DataCollectionRuleArgs.builder()\n            .name(\"example-dcr\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .destinations(DataCollectionRuleDestinationsArgs.builder()\n                .azureMonitorMetrics(DataCollectionRuleDestinationsAzureMonitorMetricsArgs.builder()\n                    .name(\"example-destination-metrics\")\n                    .build())\n                .build())\n            .dataFlows(DataCollectionRuleDataFlowArgs.builder()\n                .streams(\"Microsoft-InsightsMetrics\")\n                .destinations(\"example-destination-metrics\")\n                .build())\n            .build());\n\n        var exampleDataCollectionEndpoint = new DataCollectionEndpoint(\"exampleDataCollectionEndpoint\", DataCollectionEndpointArgs.builder()\n            .name(\"example-dce\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .build());\n\n        // associate to a Data Collection Rule\n        var example1 = new DataCollectionRuleAssociation(\"example1\", DataCollectionRuleAssociationArgs.builder()\n            .name(\"example1-dcra\")\n            .targetResourceId(exampleLinuxVirtualMachine.id())\n            .dataCollectionRuleId(exampleDataCollectionRule.id())\n            .description(\"example\")\n            .build());\n\n        // associate to a Data Collection Endpoint\n        var example2 = new DataCollectionRuleAssociation(\"example2\", DataCollectionRuleAssociationArgs.builder()\n            .targetResourceId(exampleLinuxVirtualMachine.id())\n            .dataCollectionEndpointId(exampleDataCollectionEndpoint.id())\n            .description(\"example\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleVirtualNetwork:\n    type: azure:network:VirtualNetwork\n    name: example\n    properties:\n      name: virtualnetwork\n      addressSpaces:\n        - 10.0.0.0/16\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n  exampleSubnet:\n    type: azure:network:Subnet\n    name: example\n    properties:\n      name: subnet\n      resourceGroupName: ${example.name}\n      virtualNetworkName: ${exampleVirtualNetwork.name}\n      addressPrefixes:\n        - 10.0.2.0/24\n  exampleNetworkInterface:\n    type: azure:network:NetworkInterface\n    name: example\n    properties:\n      name: nic\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      ipConfigurations:\n        - name: internal\n          subnetId: ${exampleSubnet.id}\n          privateIpAddressAllocation: Dynamic\n  exampleLinuxVirtualMachine:\n    type: azure:compute:LinuxVirtualMachine\n    name: example\n    properties:\n      name: machine\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      size: Standard_B1ls\n      adminUsername: adminuser\n      networkInterfaceIds:\n        - ${exampleNetworkInterface.id}\n      adminPassword: example-Password@7890\n      disablePasswordAuthentication: false\n      osDisk:\n        caching: ReadWrite\n        storageAccountType: Standard_LRS\n      sourceImageReference:\n        publisher: Canonical\n        offer: 0001-com-ubuntu-server-jammy\n        sku: 22_04-lts\n        version: latest\n  exampleDataCollectionRule:\n    type: azure:monitoring:DataCollectionRule\n    name: example\n    properties:\n      name: example-dcr\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      destinations:\n        azureMonitorMetrics:\n          name: example-destination-metrics\n      dataFlows:\n        - streams:\n            - Microsoft-InsightsMetrics\n          destinations:\n            - example-destination-metrics\n  exampleDataCollectionEndpoint:\n    type: azure:monitoring:DataCollectionEndpoint\n    name: example\n    properties:\n      name: example-dce\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n  # associate to a Data Collection Rule\n  example1:\n    type: azure:monitoring:DataCollectionRuleAssociation\n    properties:\n      name: example1-dcra\n      targetResourceId: ${exampleLinuxVirtualMachine.id}\n      dataCollectionRuleId: ${exampleDataCollectionRule.id}\n      description: example\n  # associate to a Data Collection Endpoint\n  example2:\n    type: azure:monitoring:DataCollectionRuleAssociation\n    properties:\n      targetResourceId: ${exampleLinuxVirtualMachine.id}\n      dataCollectionEndpointId: ${exampleDataCollectionEndpoint.id}\n      description: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Insights` - 2023-03-11\n\n## Import\n\nData Collection Rules Association can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:monitoring/dataCollectionRuleAssociation:DataCollectionRuleAssociation example /subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/rg1/providers/Microsoft.Compute/virtualMachines/vm1/providers/Microsoft.Insights/dataCollectionRuleAssociations/dca1\n```\n\n","properties":{"dataCollectionEndpointId":{"type":"string","description":"The ID of the Data Collection Endpoint which will be associated to the target resource.\n"},"dataCollectionRuleId":{"type":"string","description":"The ID of the Data Collection Rule which will be associated to the target resource.\n\n\u003e **Note:** Exactly one of \u003cspan pulumi-lang-nodejs=\"`dataCollectionEndpointId`\" pulumi-lang-dotnet=\"`DataCollectionEndpointId`\" pulumi-lang-go=\"`dataCollectionEndpointId`\" pulumi-lang-python=\"`data_collection_endpoint_id`\" pulumi-lang-yaml=\"`dataCollectionEndpointId`\" pulumi-lang-java=\"`dataCollectionEndpointId`\"\u003e`data_collection_endpoint_id`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`dataCollectionRuleId`\" pulumi-lang-dotnet=\"`DataCollectionRuleId`\" pulumi-lang-go=\"`dataCollectionRuleId`\" pulumi-lang-python=\"`data_collection_rule_id`\" pulumi-lang-yaml=\"`dataCollectionRuleId`\" pulumi-lang-java=\"`dataCollectionRuleId`\"\u003e`data_collection_rule_id`\u003c/span\u003e blocks must be specified.\n"},"description":{"type":"string","description":"The description of the Data Collection Rule Association.\n"},"name":{"type":"string","description":"The name which should be used for this Data Collection Rule Association. Changing this forces a new Data Collection Rule Association to be created. Defaults to `configurationAccessEndpoint`.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e is required when \u003cspan pulumi-lang-nodejs=\"`dataCollectionRuleId`\" pulumi-lang-dotnet=\"`DataCollectionRuleId`\" pulumi-lang-go=\"`dataCollectionRuleId`\" pulumi-lang-python=\"`data_collection_rule_id`\" pulumi-lang-yaml=\"`dataCollectionRuleId`\" pulumi-lang-java=\"`dataCollectionRuleId`\"\u003e`data_collection_rule_id`\u003c/span\u003e is specified. And when \u003cspan pulumi-lang-nodejs=\"`dataCollectionEndpointId`\" pulumi-lang-dotnet=\"`DataCollectionEndpointId`\" pulumi-lang-go=\"`dataCollectionEndpointId`\" pulumi-lang-python=\"`data_collection_endpoint_id`\" pulumi-lang-yaml=\"`dataCollectionEndpointId`\" pulumi-lang-java=\"`dataCollectionEndpointId`\"\u003e`data_collection_endpoint_id`\u003c/span\u003e is specified, the \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e is populated with `configurationAccessEndpoint`.\n"},"targetResourceId":{"type":"string","description":"The ID of the Azure Resource which to associate to a Data Collection Rule or a Data Collection Endpoint. Changing this forces a new resource to be created.\n"}},"required":["name","targetResourceId"],"inputProperties":{"dataCollectionEndpointId":{"type":"string","description":"The ID of the Data Collection Endpoint which will be associated to the target resource.\n"},"dataCollectionRuleId":{"type":"string","description":"The ID of the Data Collection Rule which will be associated to the target resource.\n\n\u003e **Note:** Exactly one of \u003cspan pulumi-lang-nodejs=\"`dataCollectionEndpointId`\" pulumi-lang-dotnet=\"`DataCollectionEndpointId`\" pulumi-lang-go=\"`dataCollectionEndpointId`\" pulumi-lang-python=\"`data_collection_endpoint_id`\" pulumi-lang-yaml=\"`dataCollectionEndpointId`\" pulumi-lang-java=\"`dataCollectionEndpointId`\"\u003e`data_collection_endpoint_id`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`dataCollectionRuleId`\" pulumi-lang-dotnet=\"`DataCollectionRuleId`\" pulumi-lang-go=\"`dataCollectionRuleId`\" pulumi-lang-python=\"`data_collection_rule_id`\" pulumi-lang-yaml=\"`dataCollectionRuleId`\" pulumi-lang-java=\"`dataCollectionRuleId`\"\u003e`data_collection_rule_id`\u003c/span\u003e blocks must be specified.\n"},"description":{"type":"string","description":"The description of the Data Collection Rule Association.\n"},"name":{"type":"string","description":"The name which should be used for this Data Collection Rule Association. Changing this forces a new Data Collection Rule Association to be created. Defaults to `configurationAccessEndpoint`.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e is required when \u003cspan pulumi-lang-nodejs=\"`dataCollectionRuleId`\" pulumi-lang-dotnet=\"`DataCollectionRuleId`\" pulumi-lang-go=\"`dataCollectionRuleId`\" pulumi-lang-python=\"`data_collection_rule_id`\" pulumi-lang-yaml=\"`dataCollectionRuleId`\" pulumi-lang-java=\"`dataCollectionRuleId`\"\u003e`data_collection_rule_id`\u003c/span\u003e is specified. And when \u003cspan pulumi-lang-nodejs=\"`dataCollectionEndpointId`\" pulumi-lang-dotnet=\"`DataCollectionEndpointId`\" pulumi-lang-go=\"`dataCollectionEndpointId`\" pulumi-lang-python=\"`data_collection_endpoint_id`\" pulumi-lang-yaml=\"`dataCollectionEndpointId`\" pulumi-lang-java=\"`dataCollectionEndpointId`\"\u003e`data_collection_endpoint_id`\u003c/span\u003e is specified, the \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e is populated with `configurationAccessEndpoint`.\n","willReplaceOnChanges":true},"targetResourceId":{"type":"string","description":"The ID of the Azure Resource which to associate to a Data Collection Rule or a Data Collection Endpoint. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["targetResourceId"],"stateInputs":{"description":"Input properties used for looking up and filtering DataCollectionRuleAssociation resources.\n","properties":{"dataCollectionEndpointId":{"type":"string","description":"The ID of the Data Collection Endpoint which will be associated to the target resource.\n"},"dataCollectionRuleId":{"type":"string","description":"The ID of the Data Collection Rule which will be associated to the target resource.\n\n\u003e **Note:** Exactly one of \u003cspan pulumi-lang-nodejs=\"`dataCollectionEndpointId`\" pulumi-lang-dotnet=\"`DataCollectionEndpointId`\" pulumi-lang-go=\"`dataCollectionEndpointId`\" pulumi-lang-python=\"`data_collection_endpoint_id`\" pulumi-lang-yaml=\"`dataCollectionEndpointId`\" pulumi-lang-java=\"`dataCollectionEndpointId`\"\u003e`data_collection_endpoint_id`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`dataCollectionRuleId`\" pulumi-lang-dotnet=\"`DataCollectionRuleId`\" pulumi-lang-go=\"`dataCollectionRuleId`\" pulumi-lang-python=\"`data_collection_rule_id`\" pulumi-lang-yaml=\"`dataCollectionRuleId`\" pulumi-lang-java=\"`dataCollectionRuleId`\"\u003e`data_collection_rule_id`\u003c/span\u003e blocks must be specified.\n"},"description":{"type":"string","description":"The description of the Data Collection Rule Association.\n"},"name":{"type":"string","description":"The name which should be used for this Data Collection Rule Association. Changing this forces a new Data Collection Rule Association to be created. Defaults to `configurationAccessEndpoint`.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e is required when \u003cspan pulumi-lang-nodejs=\"`dataCollectionRuleId`\" pulumi-lang-dotnet=\"`DataCollectionRuleId`\" pulumi-lang-go=\"`dataCollectionRuleId`\" pulumi-lang-python=\"`data_collection_rule_id`\" pulumi-lang-yaml=\"`dataCollectionRuleId`\" pulumi-lang-java=\"`dataCollectionRuleId`\"\u003e`data_collection_rule_id`\u003c/span\u003e is specified. And when \u003cspan pulumi-lang-nodejs=\"`dataCollectionEndpointId`\" pulumi-lang-dotnet=\"`DataCollectionEndpointId`\" pulumi-lang-go=\"`dataCollectionEndpointId`\" pulumi-lang-python=\"`data_collection_endpoint_id`\" pulumi-lang-yaml=\"`dataCollectionEndpointId`\" pulumi-lang-java=\"`dataCollectionEndpointId`\"\u003e`data_collection_endpoint_id`\u003c/span\u003e is specified, the \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e is populated with `configurationAccessEndpoint`.\n","willReplaceOnChanges":true},"targetResourceId":{"type":"string","description":"The ID of the Azure Resource which to associate to a Data Collection Rule or a Data Collection Endpoint. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:monitoring/diagnosticSetting:DiagnosticSetting":{"description":"Manages a Diagnostic Setting for an existing Resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleAccount = new azure.storage.Account(\"example\", {\n    name: \"storageaccountname\",\n    resourceGroupName: example.name,\n    location: example.location,\n    accountTier: \"Standard\",\n    accountReplicationType: \"LRS\",\n});\nconst current = azure.core.getClientConfig({});\nconst exampleKeyVault = new azure.keyvault.KeyVault(\"example\", {\n    name: \"examplekeyvault\",\n    location: example.location,\n    resourceGroupName: example.name,\n    tenantId: current.then(current =\u003e current.tenantId),\n    softDeleteRetentionDays: 7,\n    purgeProtectionEnabled: false,\n    skuName: \"standard\",\n});\nconst exampleDiagnosticSetting = new azure.monitoring.DiagnosticSetting(\"example\", {\n    name: \"example\",\n    targetResourceId: exampleKeyVault.id,\n    storageAccountId: exampleAccount.id,\n    enabledLogs: [{\n        category: \"AuditEvent\",\n    }],\n    enabledMetrics: [{\n        category: \"AllMetrics\",\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_account = azure.storage.Account(\"example\",\n    name=\"storageaccountname\",\n    resource_group_name=example.name,\n    location=example.location,\n    account_tier=\"Standard\",\n    account_replication_type=\"LRS\")\ncurrent = azure.core.get_client_config()\nexample_key_vault = azure.keyvault.KeyVault(\"example\",\n    name=\"examplekeyvault\",\n    location=example.location,\n    resource_group_name=example.name,\n    tenant_id=current.tenant_id,\n    soft_delete_retention_days=7,\n    purge_protection_enabled=False,\n    sku_name=\"standard\")\nexample_diagnostic_setting = azure.monitoring.DiagnosticSetting(\"example\",\n    name=\"example\",\n    target_resource_id=example_key_vault.id,\n    storage_account_id=example_account.id,\n    enabled_logs=[{\n        \"category\": \"AuditEvent\",\n    }],\n    enabled_metrics=[{\n        \"category\": \"AllMetrics\",\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleAccount = new Azure.Storage.Account(\"example\", new()\n    {\n        Name = \"storageaccountname\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        AccountTier = \"Standard\",\n        AccountReplicationType = \"LRS\",\n    });\n\n    var current = Azure.Core.GetClientConfig.Invoke();\n\n    var exampleKeyVault = new Azure.KeyVault.KeyVault(\"example\", new()\n    {\n        Name = \"examplekeyvault\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        TenantId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.TenantId),\n        SoftDeleteRetentionDays = 7,\n        PurgeProtectionEnabled = false,\n        SkuName = \"standard\",\n    });\n\n    var exampleDiagnosticSetting = new Azure.Monitoring.DiagnosticSetting(\"example\", new()\n    {\n        Name = \"example\",\n        TargetResourceId = exampleKeyVault.Id,\n        StorageAccountId = exampleAccount.Id,\n        EnabledLogs = new[]\n        {\n            new Azure.Monitoring.Inputs.DiagnosticSettingEnabledLogArgs\n            {\n                Category = \"AuditEvent\",\n            },\n        },\n        EnabledMetrics = new[]\n        {\n            new Azure.Monitoring.Inputs.DiagnosticSettingEnabledMetricArgs\n            {\n                Category = \"AllMetrics\",\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/keyvault\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/monitoring\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := storage.NewAccount(ctx, \"example\", \u0026storage.AccountArgs{\n\t\t\tName:                   pulumi.String(\"storageaccountname\"),\n\t\t\tResourceGroupName:      example.Name,\n\t\t\tLocation:               example.Location,\n\t\t\tAccountTier:            pulumi.String(\"Standard\"),\n\t\t\tAccountReplicationType: pulumi.String(\"LRS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrent, err := core.GetClientConfig(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleKeyVault, err := keyvault.NewKeyVault(ctx, \"example\", \u0026keyvault.KeyVaultArgs{\n\t\t\tName:                    pulumi.String(\"examplekeyvault\"),\n\t\t\tLocation:                example.Location,\n\t\t\tResourceGroupName:       example.Name,\n\t\t\tTenantId:                pulumi.String(current.TenantId),\n\t\t\tSoftDeleteRetentionDays: pulumi.Int(7),\n\t\t\tPurgeProtectionEnabled:  pulumi.Bool(false),\n\t\t\tSkuName:                 pulumi.String(\"standard\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = monitoring.NewDiagnosticSetting(ctx, \"example\", \u0026monitoring.DiagnosticSettingArgs{\n\t\t\tName:             pulumi.String(\"example\"),\n\t\t\tTargetResourceId: exampleKeyVault.ID(),\n\t\t\tStorageAccountId: exampleAccount.ID(),\n\t\t\tEnabledLogs: monitoring.DiagnosticSettingEnabledLogArray{\n\t\t\t\t\u0026monitoring.DiagnosticSettingEnabledLogArgs{\n\t\t\t\t\tCategory: pulumi.String(\"AuditEvent\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tEnabledMetrics: monitoring.DiagnosticSettingEnabledMetricArray{\n\t\t\t\t\u0026monitoring.DiagnosticSettingEnabledMetricArgs{\n\t\t\t\t\tCategory: pulumi.String(\"AllMetrics\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.storage.Account;\nimport com.pulumi.azure.storage.AccountArgs;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.keyvault.KeyVault;\nimport com.pulumi.azure.keyvault.KeyVaultArgs;\nimport com.pulumi.azure.monitoring.DiagnosticSetting;\nimport com.pulumi.azure.monitoring.DiagnosticSettingArgs;\nimport com.pulumi.azure.monitoring.inputs.DiagnosticSettingEnabledLogArgs;\nimport com.pulumi.azure.monitoring.inputs.DiagnosticSettingEnabledMetricArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"storageaccountname\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .accountTier(\"Standard\")\n            .accountReplicationType(\"LRS\")\n            .build());\n\n        final var current = CoreFunctions.getClientConfig(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n        var exampleKeyVault = new KeyVault(\"exampleKeyVault\", KeyVaultArgs.builder()\n            .name(\"examplekeyvault\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .tenantId(current.tenantId())\n            .softDeleteRetentionDays(7)\n            .purgeProtectionEnabled(false)\n            .skuName(\"standard\")\n            .build());\n\n        var exampleDiagnosticSetting = new DiagnosticSetting(\"exampleDiagnosticSetting\", DiagnosticSettingArgs.builder()\n            .name(\"example\")\n            .targetResourceId(exampleKeyVault.id())\n            .storageAccountId(exampleAccount.id())\n            .enabledLogs(DiagnosticSettingEnabledLogArgs.builder()\n                .category(\"AuditEvent\")\n                .build())\n            .enabledMetrics(DiagnosticSettingEnabledMetricArgs.builder()\n                .category(\"AllMetrics\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleAccount:\n    type: azure:storage:Account\n    name: example\n    properties:\n      name: storageaccountname\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      accountTier: Standard\n      accountReplicationType: LRS\n  exampleKeyVault:\n    type: azure:keyvault:KeyVault\n    name: example\n    properties:\n      name: examplekeyvault\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      tenantId: ${current.tenantId}\n      softDeleteRetentionDays: 7\n      purgeProtectionEnabled: false\n      skuName: standard\n  exampleDiagnosticSetting:\n    type: azure:monitoring:DiagnosticSetting\n    name: example\n    properties:\n      name: example\n      targetResourceId: ${exampleKeyVault.id}\n      storageAccountId: ${exampleAccount.id}\n      enabledLogs:\n        - category: AuditEvent\n      enabledMetrics:\n        - category: AllMetrics\nvariables:\n  current:\n    fn::invoke:\n      function: azure:core:getClientConfig\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Insights` - 2021-05-01-preview\n\n## Import\n\nDiagnostic Settings can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:monitoring/diagnosticSetting:DiagnosticSetting example \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.KeyVault/vaults/vault1|logMonitoring1\"\n```\n\n\u003e **Note:** This is an ID specific to this resource provider which uses the format `{resourceId}|{diagnosticSettingName}`\n\n","properties":{"enabledLogs":{"type":"array","items":{"$ref":"#/types/azure:monitoring/DiagnosticSettingEnabledLog:DiagnosticSettingEnabledLog"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`enabledLog`\" pulumi-lang-dotnet=\"`EnabledLog`\" pulumi-lang-go=\"`enabledLog`\" pulumi-lang-python=\"`enabled_log`\" pulumi-lang-yaml=\"`enabledLog`\" pulumi-lang-java=\"`enabledLog`\"\u003e`enabled_log`\u003c/span\u003e blocks as defined below.\n\n\u003e **Note:** At least one \u003cspan pulumi-lang-nodejs=\"`enabledLog`\" pulumi-lang-dotnet=\"`EnabledLog`\" pulumi-lang-go=\"`enabledLog`\" pulumi-lang-python=\"`enabled_log`\" pulumi-lang-yaml=\"`enabledLog`\" pulumi-lang-java=\"`enabledLog`\"\u003e`enabled_log`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`enabledMetric`\" pulumi-lang-dotnet=\"`EnabledMetric`\" pulumi-lang-go=\"`enabledMetric`\" pulumi-lang-python=\"`enabled_metric`\" pulumi-lang-yaml=\"`enabledMetric`\" pulumi-lang-java=\"`enabledMetric`\"\u003e`enabled_metric`\u003c/span\u003e block must be specified. At least one type of Log or Metric must be enabled.\n"},"enabledMetrics":{"type":"array","items":{"$ref":"#/types/azure:monitoring/DiagnosticSettingEnabledMetric:DiagnosticSettingEnabledMetric"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`enabledMetric`\" pulumi-lang-dotnet=\"`EnabledMetric`\" pulumi-lang-go=\"`enabledMetric`\" pulumi-lang-python=\"`enabled_metric`\" pulumi-lang-yaml=\"`enabledMetric`\" pulumi-lang-java=\"`enabledMetric`\"\u003e`enabled_metric`\u003c/span\u003e blocks as defined below.\n\n\u003e **Note:** At least one \u003cspan pulumi-lang-nodejs=\"`enabledLog`\" pulumi-lang-dotnet=\"`EnabledLog`\" pulumi-lang-go=\"`enabledLog`\" pulumi-lang-python=\"`enabled_log`\" pulumi-lang-yaml=\"`enabledLog`\" pulumi-lang-java=\"`enabledLog`\"\u003e`enabled_log`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`enabledMetric`\" pulumi-lang-dotnet=\"`EnabledMetric`\" pulumi-lang-go=\"`enabledMetric`\" pulumi-lang-python=\"`enabled_metric`\" pulumi-lang-yaml=\"`enabledMetric`\" pulumi-lang-java=\"`enabledMetric`\"\u003e`enabled_metric`\u003c/span\u003e block must be specified.\n"},"eventhubAuthorizationRuleId":{"type":"string","description":"Specifies the ID of an Event Hub Namespace Authorization Rule used to send Diagnostics Data. \n\n\u003e **NOTE:** This can be sourced from the \u003cspan pulumi-lang-nodejs=\"`azure.eventhub.EventHubNamespaceAuthorizationRule`\" pulumi-lang-dotnet=\"`azure.eventhub.EventHubNamespaceAuthorizationRule`\" pulumi-lang-go=\"`eventhub.EventHubNamespaceAuthorizationRule`\" pulumi-lang-python=\"`eventhub.EventHubNamespaceAuthorizationRule`\" pulumi-lang-yaml=\"`azure.eventhub.EventHubNamespaceAuthorizationRule`\" pulumi-lang-java=\"`azure.eventhub.EventHubNamespaceAuthorizationRule`\"\u003e`azure.eventhub.EventHubNamespaceAuthorizationRule`\u003c/span\u003e resource and is different from a \u003cspan pulumi-lang-nodejs=\"`azure.eventhub.AuthorizationRule`\" pulumi-lang-dotnet=\"`azure.eventhub.AuthorizationRule`\" pulumi-lang-go=\"`eventhub.AuthorizationRule`\" pulumi-lang-python=\"`eventhub.AuthorizationRule`\" pulumi-lang-yaml=\"`azure.eventhub.AuthorizationRule`\" pulumi-lang-java=\"`azure.eventhub.AuthorizationRule`\"\u003e`azure.eventhub.AuthorizationRule`\u003c/span\u003e resource.\n\n\u003e **NOTE:** At least one of \u003cspan pulumi-lang-nodejs=\"`eventhubAuthorizationRuleId`\" pulumi-lang-dotnet=\"`EventhubAuthorizationRuleId`\" pulumi-lang-go=\"`eventhubAuthorizationRuleId`\" pulumi-lang-python=\"`eventhub_authorization_rule_id`\" pulumi-lang-yaml=\"`eventhubAuthorizationRuleId`\" pulumi-lang-java=\"`eventhubAuthorizationRuleId`\"\u003e`eventhub_authorization_rule_id`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`logAnalyticsWorkspaceId`\" pulumi-lang-dotnet=\"`LogAnalyticsWorkspaceId`\" pulumi-lang-go=\"`logAnalyticsWorkspaceId`\" pulumi-lang-python=\"`log_analytics_workspace_id`\" pulumi-lang-yaml=\"`logAnalyticsWorkspaceId`\" pulumi-lang-java=\"`logAnalyticsWorkspaceId`\"\u003e`log_analytics_workspace_id`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`partnerSolutionId`\" pulumi-lang-dotnet=\"`PartnerSolutionId`\" pulumi-lang-go=\"`partnerSolutionId`\" pulumi-lang-python=\"`partner_solution_id`\" pulumi-lang-yaml=\"`partnerSolutionId`\" pulumi-lang-java=\"`partnerSolutionId`\"\u003e`partner_solution_id`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`storageAccountId`\" pulumi-lang-dotnet=\"`StorageAccountId`\" pulumi-lang-go=\"`storageAccountId`\" pulumi-lang-python=\"`storage_account_id`\" pulumi-lang-yaml=\"`storageAccountId`\" pulumi-lang-java=\"`storageAccountId`\"\u003e`storage_account_id`\u003c/span\u003e must be specified.\n"},"eventhubName":{"type":"string","description":"Specifies the name of the Event Hub where Diagnostics Data should be sent.\n\n\u003e **NOTE:** If this isn't specified then the default Event Hub will be used.\n"},"logAnalyticsDestinationType":{"type":"string","description":"Possible values are `AzureDiagnostics` and `Dedicated`. When set to `Dedicated`, logs sent to a Log Analytics workspace will go into resource specific tables, instead of the legacy `AzureDiagnostics` table.\n\n\u003e **NOTE:** This setting will only have an effect if a \u003cspan pulumi-lang-nodejs=\"`logAnalyticsWorkspaceId`\" pulumi-lang-dotnet=\"`LogAnalyticsWorkspaceId`\" pulumi-lang-go=\"`logAnalyticsWorkspaceId`\" pulumi-lang-python=\"`log_analytics_workspace_id`\" pulumi-lang-yaml=\"`logAnalyticsWorkspaceId`\" pulumi-lang-java=\"`logAnalyticsWorkspaceId`\"\u003e`log_analytics_workspace_id`\u003c/span\u003e is provided. For some target resource type (e.g., Key Vault), this field is unconfigurable. Please see [resource types](https://learn.microsoft.com/en-us/azure/azure-monitor/reference/tables/azurediagnostics#resource-types) for services that use each method. Please [see the documentation](https://docs.microsoft.com/azure/azure-monitor/platform/diagnostic-logs-stream-log-store#azure-diagnostics-vs-resource-specific) for details on the differences between destination types.\n"},"logAnalyticsWorkspaceId":{"type":"string","description":"Specifies the ID of a Log Analytics Workspace where Diagnostics Data should be sent.\n\n\u003e **NOTE:** At least one of \u003cspan pulumi-lang-nodejs=\"`eventhubAuthorizationRuleId`\" pulumi-lang-dotnet=\"`EventhubAuthorizationRuleId`\" pulumi-lang-go=\"`eventhubAuthorizationRuleId`\" pulumi-lang-python=\"`eventhub_authorization_rule_id`\" pulumi-lang-yaml=\"`eventhubAuthorizationRuleId`\" pulumi-lang-java=\"`eventhubAuthorizationRuleId`\"\u003e`eventhub_authorization_rule_id`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`logAnalyticsWorkspaceId`\" pulumi-lang-dotnet=\"`LogAnalyticsWorkspaceId`\" pulumi-lang-go=\"`logAnalyticsWorkspaceId`\" pulumi-lang-python=\"`log_analytics_workspace_id`\" pulumi-lang-yaml=\"`logAnalyticsWorkspaceId`\" pulumi-lang-java=\"`logAnalyticsWorkspaceId`\"\u003e`log_analytics_workspace_id`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`partnerSolutionId`\" pulumi-lang-dotnet=\"`PartnerSolutionId`\" pulumi-lang-go=\"`partnerSolutionId`\" pulumi-lang-python=\"`partner_solution_id`\" pulumi-lang-yaml=\"`partnerSolutionId`\" pulumi-lang-java=\"`partnerSolutionId`\"\u003e`partner_solution_id`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`storageAccountId`\" pulumi-lang-dotnet=\"`StorageAccountId`\" pulumi-lang-go=\"`storageAccountId`\" pulumi-lang-python=\"`storage_account_id`\" pulumi-lang-yaml=\"`storageAccountId`\" pulumi-lang-java=\"`storageAccountId`\"\u003e`storage_account_id`\u003c/span\u003e must be specified.\n"},"metrics":{"type":"array","items":{"$ref":"#/types/azure:monitoring/DiagnosticSettingMetric:DiagnosticSettingMetric"},"deprecationMessage":"\u003cspan pulumi-lang-nodejs=\"`metric`\" pulumi-lang-dotnet=\"`Metric`\" pulumi-lang-go=\"`metric`\" pulumi-lang-python=\"`metric`\" pulumi-lang-yaml=\"`metric`\" pulumi-lang-java=\"`metric`\"\u003e`metric`\u003c/span\u003e has been deprecated in favor of the \u003cspan pulumi-lang-nodejs=\"`enabledMetric`\" pulumi-lang-dotnet=\"`EnabledMetric`\" pulumi-lang-go=\"`enabledMetric`\" pulumi-lang-python=\"`enabled_metric`\" pulumi-lang-yaml=\"`enabledMetric`\" pulumi-lang-java=\"`enabledMetric`\"\u003e`enabled_metric`\u003c/span\u003e property and will be removed in v5.0 of the AzureRM provider"},"name":{"type":"string","description":"Specifies the name of the Diagnostic Setting. Changing this forces a new resource to be created.\n\n\u003e **NOTE:** If the name is set to 'service' it will not be possible to fully delete the diagnostic setting. This is due to legacy API support.\n"},"partnerSolutionId":{"type":"string","description":"The ID of the market partner solution where Diagnostics Data should be sent. For potential partner integrations, [click to learn more about partner integration](https://learn.microsoft.com/en-us/azure/partner-solutions/overview).\n\n\u003e **NOTE:** At least one of \u003cspan pulumi-lang-nodejs=\"`eventhubAuthorizationRuleId`\" pulumi-lang-dotnet=\"`EventhubAuthorizationRuleId`\" pulumi-lang-go=\"`eventhubAuthorizationRuleId`\" pulumi-lang-python=\"`eventhub_authorization_rule_id`\" pulumi-lang-yaml=\"`eventhubAuthorizationRuleId`\" pulumi-lang-java=\"`eventhubAuthorizationRuleId`\"\u003e`eventhub_authorization_rule_id`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`logAnalyticsWorkspaceId`\" pulumi-lang-dotnet=\"`LogAnalyticsWorkspaceId`\" pulumi-lang-go=\"`logAnalyticsWorkspaceId`\" pulumi-lang-python=\"`log_analytics_workspace_id`\" pulumi-lang-yaml=\"`logAnalyticsWorkspaceId`\" pulumi-lang-java=\"`logAnalyticsWorkspaceId`\"\u003e`log_analytics_workspace_id`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`partnerSolutionId`\" pulumi-lang-dotnet=\"`PartnerSolutionId`\" pulumi-lang-go=\"`partnerSolutionId`\" pulumi-lang-python=\"`partner_solution_id`\" pulumi-lang-yaml=\"`partnerSolutionId`\" pulumi-lang-java=\"`partnerSolutionId`\"\u003e`partner_solution_id`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`storageAccountId`\" pulumi-lang-dotnet=\"`StorageAccountId`\" pulumi-lang-go=\"`storageAccountId`\" pulumi-lang-python=\"`storage_account_id`\" pulumi-lang-yaml=\"`storageAccountId`\" pulumi-lang-java=\"`storageAccountId`\"\u003e`storage_account_id`\u003c/span\u003e must be specified.\n"},"storageAccountId":{"type":"string","description":"The ID of the Storage Account where logs should be sent. \n\n\u003e **NOTE:** At least one of \u003cspan pulumi-lang-nodejs=\"`eventhubAuthorizationRuleId`\" pulumi-lang-dotnet=\"`EventhubAuthorizationRuleId`\" pulumi-lang-go=\"`eventhubAuthorizationRuleId`\" pulumi-lang-python=\"`eventhub_authorization_rule_id`\" pulumi-lang-yaml=\"`eventhubAuthorizationRuleId`\" pulumi-lang-java=\"`eventhubAuthorizationRuleId`\"\u003e`eventhub_authorization_rule_id`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`logAnalyticsWorkspaceId`\" pulumi-lang-dotnet=\"`LogAnalyticsWorkspaceId`\" pulumi-lang-go=\"`logAnalyticsWorkspaceId`\" pulumi-lang-python=\"`log_analytics_workspace_id`\" pulumi-lang-yaml=\"`logAnalyticsWorkspaceId`\" pulumi-lang-java=\"`logAnalyticsWorkspaceId`\"\u003e`log_analytics_workspace_id`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`partnerSolutionId`\" pulumi-lang-dotnet=\"`PartnerSolutionId`\" pulumi-lang-go=\"`partnerSolutionId`\" pulumi-lang-python=\"`partner_solution_id`\" pulumi-lang-yaml=\"`partnerSolutionId`\" pulumi-lang-java=\"`partnerSolutionId`\"\u003e`partner_solution_id`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`storageAccountId`\" pulumi-lang-dotnet=\"`StorageAccountId`\" pulumi-lang-go=\"`storageAccountId`\" pulumi-lang-python=\"`storage_account_id`\" pulumi-lang-yaml=\"`storageAccountId`\" pulumi-lang-java=\"`storageAccountId`\"\u003e`storage_account_id`\u003c/span\u003e must be specified.\n"},"targetResourceId":{"type":"string","description":"The ID of an existing Resource on which to configure Diagnostic Settings. Changing this forces a new resource to be created.\n"}},"required":["enabledMetrics","logAnalyticsDestinationType","metrics","name","targetResourceId"],"inputProperties":{"enabledLogs":{"type":"array","items":{"$ref":"#/types/azure:monitoring/DiagnosticSettingEnabledLog:DiagnosticSettingEnabledLog"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`enabledLog`\" pulumi-lang-dotnet=\"`EnabledLog`\" pulumi-lang-go=\"`enabledLog`\" pulumi-lang-python=\"`enabled_log`\" pulumi-lang-yaml=\"`enabledLog`\" pulumi-lang-java=\"`enabledLog`\"\u003e`enabled_log`\u003c/span\u003e blocks as defined below.\n\n\u003e **Note:** At least one \u003cspan pulumi-lang-nodejs=\"`enabledLog`\" pulumi-lang-dotnet=\"`EnabledLog`\" pulumi-lang-go=\"`enabledLog`\" pulumi-lang-python=\"`enabled_log`\" pulumi-lang-yaml=\"`enabledLog`\" pulumi-lang-java=\"`enabledLog`\"\u003e`enabled_log`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`enabledMetric`\" pulumi-lang-dotnet=\"`EnabledMetric`\" pulumi-lang-go=\"`enabledMetric`\" pulumi-lang-python=\"`enabled_metric`\" pulumi-lang-yaml=\"`enabledMetric`\" pulumi-lang-java=\"`enabledMetric`\"\u003e`enabled_metric`\u003c/span\u003e block must be specified. At least one type of Log or Metric must be enabled.\n"},"enabledMetrics":{"type":"array","items":{"$ref":"#/types/azure:monitoring/DiagnosticSettingEnabledMetric:DiagnosticSettingEnabledMetric"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`enabledMetric`\" pulumi-lang-dotnet=\"`EnabledMetric`\" pulumi-lang-go=\"`enabledMetric`\" pulumi-lang-python=\"`enabled_metric`\" pulumi-lang-yaml=\"`enabledMetric`\" pulumi-lang-java=\"`enabledMetric`\"\u003e`enabled_metric`\u003c/span\u003e blocks as defined below.\n\n\u003e **Note:** At least one \u003cspan pulumi-lang-nodejs=\"`enabledLog`\" pulumi-lang-dotnet=\"`EnabledLog`\" pulumi-lang-go=\"`enabledLog`\" pulumi-lang-python=\"`enabled_log`\" pulumi-lang-yaml=\"`enabledLog`\" pulumi-lang-java=\"`enabledLog`\"\u003e`enabled_log`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`enabledMetric`\" pulumi-lang-dotnet=\"`EnabledMetric`\" pulumi-lang-go=\"`enabledMetric`\" pulumi-lang-python=\"`enabled_metric`\" pulumi-lang-yaml=\"`enabledMetric`\" pulumi-lang-java=\"`enabledMetric`\"\u003e`enabled_metric`\u003c/span\u003e block must be specified.\n"},"eventhubAuthorizationRuleId":{"type":"string","description":"Specifies the ID of an Event Hub Namespace Authorization Rule used to send Diagnostics Data. \n\n\u003e **NOTE:** This can be sourced from the \u003cspan pulumi-lang-nodejs=\"`azure.eventhub.EventHubNamespaceAuthorizationRule`\" pulumi-lang-dotnet=\"`azure.eventhub.EventHubNamespaceAuthorizationRule`\" pulumi-lang-go=\"`eventhub.EventHubNamespaceAuthorizationRule`\" pulumi-lang-python=\"`eventhub.EventHubNamespaceAuthorizationRule`\" pulumi-lang-yaml=\"`azure.eventhub.EventHubNamespaceAuthorizationRule`\" pulumi-lang-java=\"`azure.eventhub.EventHubNamespaceAuthorizationRule`\"\u003e`azure.eventhub.EventHubNamespaceAuthorizationRule`\u003c/span\u003e resource and is different from a \u003cspan pulumi-lang-nodejs=\"`azure.eventhub.AuthorizationRule`\" pulumi-lang-dotnet=\"`azure.eventhub.AuthorizationRule`\" pulumi-lang-go=\"`eventhub.AuthorizationRule`\" pulumi-lang-python=\"`eventhub.AuthorizationRule`\" pulumi-lang-yaml=\"`azure.eventhub.AuthorizationRule`\" pulumi-lang-java=\"`azure.eventhub.AuthorizationRule`\"\u003e`azure.eventhub.AuthorizationRule`\u003c/span\u003e resource.\n\n\u003e **NOTE:** At least one of \u003cspan pulumi-lang-nodejs=\"`eventhubAuthorizationRuleId`\" pulumi-lang-dotnet=\"`EventhubAuthorizationRuleId`\" pulumi-lang-go=\"`eventhubAuthorizationRuleId`\" pulumi-lang-python=\"`eventhub_authorization_rule_id`\" pulumi-lang-yaml=\"`eventhubAuthorizationRuleId`\" pulumi-lang-java=\"`eventhubAuthorizationRuleId`\"\u003e`eventhub_authorization_rule_id`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`logAnalyticsWorkspaceId`\" pulumi-lang-dotnet=\"`LogAnalyticsWorkspaceId`\" pulumi-lang-go=\"`logAnalyticsWorkspaceId`\" pulumi-lang-python=\"`log_analytics_workspace_id`\" pulumi-lang-yaml=\"`logAnalyticsWorkspaceId`\" pulumi-lang-java=\"`logAnalyticsWorkspaceId`\"\u003e`log_analytics_workspace_id`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`partnerSolutionId`\" pulumi-lang-dotnet=\"`PartnerSolutionId`\" pulumi-lang-go=\"`partnerSolutionId`\" pulumi-lang-python=\"`partner_solution_id`\" pulumi-lang-yaml=\"`partnerSolutionId`\" pulumi-lang-java=\"`partnerSolutionId`\"\u003e`partner_solution_id`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`storageAccountId`\" pulumi-lang-dotnet=\"`StorageAccountId`\" pulumi-lang-go=\"`storageAccountId`\" pulumi-lang-python=\"`storage_account_id`\" pulumi-lang-yaml=\"`storageAccountId`\" pulumi-lang-java=\"`storageAccountId`\"\u003e`storage_account_id`\u003c/span\u003e must be specified.\n"},"eventhubName":{"type":"string","description":"Specifies the name of the Event Hub where Diagnostics Data should be sent.\n\n\u003e **NOTE:** If this isn't specified then the default Event Hub will be used.\n"},"logAnalyticsDestinationType":{"type":"string","description":"Possible values are `AzureDiagnostics` and `Dedicated`. When set to `Dedicated`, logs sent to a Log Analytics workspace will go into resource specific tables, instead of the legacy `AzureDiagnostics` table.\n\n\u003e **NOTE:** This setting will only have an effect if a \u003cspan pulumi-lang-nodejs=\"`logAnalyticsWorkspaceId`\" pulumi-lang-dotnet=\"`LogAnalyticsWorkspaceId`\" pulumi-lang-go=\"`logAnalyticsWorkspaceId`\" pulumi-lang-python=\"`log_analytics_workspace_id`\" pulumi-lang-yaml=\"`logAnalyticsWorkspaceId`\" pulumi-lang-java=\"`logAnalyticsWorkspaceId`\"\u003e`log_analytics_workspace_id`\u003c/span\u003e is provided. For some target resource type (e.g., Key Vault), this field is unconfigurable. Please see [resource types](https://learn.microsoft.com/en-us/azure/azure-monitor/reference/tables/azurediagnostics#resource-types) for services that use each method. Please [see the documentation](https://docs.microsoft.com/azure/azure-monitor/platform/diagnostic-logs-stream-log-store#azure-diagnostics-vs-resource-specific) for details on the differences between destination types.\n"},"logAnalyticsWorkspaceId":{"type":"string","description":"Specifies the ID of a Log Analytics Workspace where Diagnostics Data should be sent.\n\n\u003e **NOTE:** At least one of \u003cspan pulumi-lang-nodejs=\"`eventhubAuthorizationRuleId`\" pulumi-lang-dotnet=\"`EventhubAuthorizationRuleId`\" pulumi-lang-go=\"`eventhubAuthorizationRuleId`\" pulumi-lang-python=\"`eventhub_authorization_rule_id`\" pulumi-lang-yaml=\"`eventhubAuthorizationRuleId`\" pulumi-lang-java=\"`eventhubAuthorizationRuleId`\"\u003e`eventhub_authorization_rule_id`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`logAnalyticsWorkspaceId`\" pulumi-lang-dotnet=\"`LogAnalyticsWorkspaceId`\" pulumi-lang-go=\"`logAnalyticsWorkspaceId`\" pulumi-lang-python=\"`log_analytics_workspace_id`\" pulumi-lang-yaml=\"`logAnalyticsWorkspaceId`\" pulumi-lang-java=\"`logAnalyticsWorkspaceId`\"\u003e`log_analytics_workspace_id`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`partnerSolutionId`\" pulumi-lang-dotnet=\"`PartnerSolutionId`\" pulumi-lang-go=\"`partnerSolutionId`\" pulumi-lang-python=\"`partner_solution_id`\" pulumi-lang-yaml=\"`partnerSolutionId`\" pulumi-lang-java=\"`partnerSolutionId`\"\u003e`partner_solution_id`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`storageAccountId`\" pulumi-lang-dotnet=\"`StorageAccountId`\" pulumi-lang-go=\"`storageAccountId`\" pulumi-lang-python=\"`storage_account_id`\" pulumi-lang-yaml=\"`storageAccountId`\" pulumi-lang-java=\"`storageAccountId`\"\u003e`storage_account_id`\u003c/span\u003e must be specified.\n"},"metrics":{"type":"array","items":{"$ref":"#/types/azure:monitoring/DiagnosticSettingMetric:DiagnosticSettingMetric"},"deprecationMessage":"\u003cspan pulumi-lang-nodejs=\"`metric`\" pulumi-lang-dotnet=\"`Metric`\" pulumi-lang-go=\"`metric`\" pulumi-lang-python=\"`metric`\" pulumi-lang-yaml=\"`metric`\" pulumi-lang-java=\"`metric`\"\u003e`metric`\u003c/span\u003e has been deprecated in favor of the \u003cspan pulumi-lang-nodejs=\"`enabledMetric`\" pulumi-lang-dotnet=\"`EnabledMetric`\" pulumi-lang-go=\"`enabledMetric`\" pulumi-lang-python=\"`enabled_metric`\" pulumi-lang-yaml=\"`enabledMetric`\" pulumi-lang-java=\"`enabledMetric`\"\u003e`enabled_metric`\u003c/span\u003e property and will be removed in v5.0 of the AzureRM provider"},"name":{"type":"string","description":"Specifies the name of the Diagnostic Setting. Changing this forces a new resource to be created.\n\n\u003e **NOTE:** If the name is set to 'service' it will not be possible to fully delete the diagnostic setting. This is due to legacy API support.\n","willReplaceOnChanges":true},"partnerSolutionId":{"type":"string","description":"The ID of the market partner solution where Diagnostics Data should be sent. For potential partner integrations, [click to learn more about partner integration](https://learn.microsoft.com/en-us/azure/partner-solutions/overview).\n\n\u003e **NOTE:** At least one of \u003cspan pulumi-lang-nodejs=\"`eventhubAuthorizationRuleId`\" pulumi-lang-dotnet=\"`EventhubAuthorizationRuleId`\" pulumi-lang-go=\"`eventhubAuthorizationRuleId`\" pulumi-lang-python=\"`eventhub_authorization_rule_id`\" pulumi-lang-yaml=\"`eventhubAuthorizationRuleId`\" pulumi-lang-java=\"`eventhubAuthorizationRuleId`\"\u003e`eventhub_authorization_rule_id`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`logAnalyticsWorkspaceId`\" pulumi-lang-dotnet=\"`LogAnalyticsWorkspaceId`\" pulumi-lang-go=\"`logAnalyticsWorkspaceId`\" pulumi-lang-python=\"`log_analytics_workspace_id`\" pulumi-lang-yaml=\"`logAnalyticsWorkspaceId`\" pulumi-lang-java=\"`logAnalyticsWorkspaceId`\"\u003e`log_analytics_workspace_id`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`partnerSolutionId`\" pulumi-lang-dotnet=\"`PartnerSolutionId`\" pulumi-lang-go=\"`partnerSolutionId`\" pulumi-lang-python=\"`partner_solution_id`\" pulumi-lang-yaml=\"`partnerSolutionId`\" pulumi-lang-java=\"`partnerSolutionId`\"\u003e`partner_solution_id`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`storageAccountId`\" pulumi-lang-dotnet=\"`StorageAccountId`\" pulumi-lang-go=\"`storageAccountId`\" pulumi-lang-python=\"`storage_account_id`\" pulumi-lang-yaml=\"`storageAccountId`\" pulumi-lang-java=\"`storageAccountId`\"\u003e`storage_account_id`\u003c/span\u003e must be specified.\n"},"storageAccountId":{"type":"string","description":"The ID of the Storage Account where logs should be sent. \n\n\u003e **NOTE:** At least one of \u003cspan pulumi-lang-nodejs=\"`eventhubAuthorizationRuleId`\" pulumi-lang-dotnet=\"`EventhubAuthorizationRuleId`\" pulumi-lang-go=\"`eventhubAuthorizationRuleId`\" pulumi-lang-python=\"`eventhub_authorization_rule_id`\" pulumi-lang-yaml=\"`eventhubAuthorizationRuleId`\" pulumi-lang-java=\"`eventhubAuthorizationRuleId`\"\u003e`eventhub_authorization_rule_id`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`logAnalyticsWorkspaceId`\" pulumi-lang-dotnet=\"`LogAnalyticsWorkspaceId`\" pulumi-lang-go=\"`logAnalyticsWorkspaceId`\" pulumi-lang-python=\"`log_analytics_workspace_id`\" pulumi-lang-yaml=\"`logAnalyticsWorkspaceId`\" pulumi-lang-java=\"`logAnalyticsWorkspaceId`\"\u003e`log_analytics_workspace_id`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`partnerSolutionId`\" pulumi-lang-dotnet=\"`PartnerSolutionId`\" pulumi-lang-go=\"`partnerSolutionId`\" pulumi-lang-python=\"`partner_solution_id`\" pulumi-lang-yaml=\"`partnerSolutionId`\" pulumi-lang-java=\"`partnerSolutionId`\"\u003e`partner_solution_id`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`storageAccountId`\" pulumi-lang-dotnet=\"`StorageAccountId`\" pulumi-lang-go=\"`storageAccountId`\" pulumi-lang-python=\"`storage_account_id`\" pulumi-lang-yaml=\"`storageAccountId`\" pulumi-lang-java=\"`storageAccountId`\"\u003e`storage_account_id`\u003c/span\u003e must be specified.\n"},"targetResourceId":{"type":"string","description":"The ID of an existing Resource on which to configure Diagnostic Settings. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["targetResourceId"],"stateInputs":{"description":"Input properties used for looking up and filtering DiagnosticSetting resources.\n","properties":{"enabledLogs":{"type":"array","items":{"$ref":"#/types/azure:monitoring/DiagnosticSettingEnabledLog:DiagnosticSettingEnabledLog"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`enabledLog`\" pulumi-lang-dotnet=\"`EnabledLog`\" pulumi-lang-go=\"`enabledLog`\" pulumi-lang-python=\"`enabled_log`\" pulumi-lang-yaml=\"`enabledLog`\" pulumi-lang-java=\"`enabledLog`\"\u003e`enabled_log`\u003c/span\u003e blocks as defined below.\n\n\u003e **Note:** At least one \u003cspan pulumi-lang-nodejs=\"`enabledLog`\" pulumi-lang-dotnet=\"`EnabledLog`\" pulumi-lang-go=\"`enabledLog`\" pulumi-lang-python=\"`enabled_log`\" pulumi-lang-yaml=\"`enabledLog`\" pulumi-lang-java=\"`enabledLog`\"\u003e`enabled_log`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`enabledMetric`\" pulumi-lang-dotnet=\"`EnabledMetric`\" pulumi-lang-go=\"`enabledMetric`\" pulumi-lang-python=\"`enabled_metric`\" pulumi-lang-yaml=\"`enabledMetric`\" pulumi-lang-java=\"`enabledMetric`\"\u003e`enabled_metric`\u003c/span\u003e block must be specified. At least one type of Log or Metric must be enabled.\n"},"enabledMetrics":{"type":"array","items":{"$ref":"#/types/azure:monitoring/DiagnosticSettingEnabledMetric:DiagnosticSettingEnabledMetric"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`enabledMetric`\" pulumi-lang-dotnet=\"`EnabledMetric`\" pulumi-lang-go=\"`enabledMetric`\" pulumi-lang-python=\"`enabled_metric`\" pulumi-lang-yaml=\"`enabledMetric`\" pulumi-lang-java=\"`enabledMetric`\"\u003e`enabled_metric`\u003c/span\u003e blocks as defined below.\n\n\u003e **Note:** At least one \u003cspan pulumi-lang-nodejs=\"`enabledLog`\" pulumi-lang-dotnet=\"`EnabledLog`\" pulumi-lang-go=\"`enabledLog`\" pulumi-lang-python=\"`enabled_log`\" pulumi-lang-yaml=\"`enabledLog`\" pulumi-lang-java=\"`enabledLog`\"\u003e`enabled_log`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`enabledMetric`\" pulumi-lang-dotnet=\"`EnabledMetric`\" pulumi-lang-go=\"`enabledMetric`\" pulumi-lang-python=\"`enabled_metric`\" pulumi-lang-yaml=\"`enabledMetric`\" pulumi-lang-java=\"`enabledMetric`\"\u003e`enabled_metric`\u003c/span\u003e block must be specified.\n"},"eventhubAuthorizationRuleId":{"type":"string","description":"Specifies the ID of an Event Hub Namespace Authorization Rule used to send Diagnostics Data. \n\n\u003e **NOTE:** This can be sourced from the \u003cspan pulumi-lang-nodejs=\"`azure.eventhub.EventHubNamespaceAuthorizationRule`\" pulumi-lang-dotnet=\"`azure.eventhub.EventHubNamespaceAuthorizationRule`\" pulumi-lang-go=\"`eventhub.EventHubNamespaceAuthorizationRule`\" pulumi-lang-python=\"`eventhub.EventHubNamespaceAuthorizationRule`\" pulumi-lang-yaml=\"`azure.eventhub.EventHubNamespaceAuthorizationRule`\" pulumi-lang-java=\"`azure.eventhub.EventHubNamespaceAuthorizationRule`\"\u003e`azure.eventhub.EventHubNamespaceAuthorizationRule`\u003c/span\u003e resource and is different from a \u003cspan pulumi-lang-nodejs=\"`azure.eventhub.AuthorizationRule`\" pulumi-lang-dotnet=\"`azure.eventhub.AuthorizationRule`\" pulumi-lang-go=\"`eventhub.AuthorizationRule`\" pulumi-lang-python=\"`eventhub.AuthorizationRule`\" pulumi-lang-yaml=\"`azure.eventhub.AuthorizationRule`\" pulumi-lang-java=\"`azure.eventhub.AuthorizationRule`\"\u003e`azure.eventhub.AuthorizationRule`\u003c/span\u003e resource.\n\n\u003e **NOTE:** At least one of \u003cspan pulumi-lang-nodejs=\"`eventhubAuthorizationRuleId`\" pulumi-lang-dotnet=\"`EventhubAuthorizationRuleId`\" pulumi-lang-go=\"`eventhubAuthorizationRuleId`\" pulumi-lang-python=\"`eventhub_authorization_rule_id`\" pulumi-lang-yaml=\"`eventhubAuthorizationRuleId`\" pulumi-lang-java=\"`eventhubAuthorizationRuleId`\"\u003e`eventhub_authorization_rule_id`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`logAnalyticsWorkspaceId`\" pulumi-lang-dotnet=\"`LogAnalyticsWorkspaceId`\" pulumi-lang-go=\"`logAnalyticsWorkspaceId`\" pulumi-lang-python=\"`log_analytics_workspace_id`\" pulumi-lang-yaml=\"`logAnalyticsWorkspaceId`\" pulumi-lang-java=\"`logAnalyticsWorkspaceId`\"\u003e`log_analytics_workspace_id`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`partnerSolutionId`\" pulumi-lang-dotnet=\"`PartnerSolutionId`\" pulumi-lang-go=\"`partnerSolutionId`\" pulumi-lang-python=\"`partner_solution_id`\" pulumi-lang-yaml=\"`partnerSolutionId`\" pulumi-lang-java=\"`partnerSolutionId`\"\u003e`partner_solution_id`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`storageAccountId`\" pulumi-lang-dotnet=\"`StorageAccountId`\" pulumi-lang-go=\"`storageAccountId`\" pulumi-lang-python=\"`storage_account_id`\" pulumi-lang-yaml=\"`storageAccountId`\" pulumi-lang-java=\"`storageAccountId`\"\u003e`storage_account_id`\u003c/span\u003e must be specified.\n"},"eventhubName":{"type":"string","description":"Specifies the name of the Event Hub where Diagnostics Data should be sent.\n\n\u003e **NOTE:** If this isn't specified then the default Event Hub will be used.\n"},"logAnalyticsDestinationType":{"type":"string","description":"Possible values are `AzureDiagnostics` and `Dedicated`. When set to `Dedicated`, logs sent to a Log Analytics workspace will go into resource specific tables, instead of the legacy `AzureDiagnostics` table.\n\n\u003e **NOTE:** This setting will only have an effect if a \u003cspan pulumi-lang-nodejs=\"`logAnalyticsWorkspaceId`\" pulumi-lang-dotnet=\"`LogAnalyticsWorkspaceId`\" pulumi-lang-go=\"`logAnalyticsWorkspaceId`\" pulumi-lang-python=\"`log_analytics_workspace_id`\" pulumi-lang-yaml=\"`logAnalyticsWorkspaceId`\" pulumi-lang-java=\"`logAnalyticsWorkspaceId`\"\u003e`log_analytics_workspace_id`\u003c/span\u003e is provided. For some target resource type (e.g., Key Vault), this field is unconfigurable. Please see [resource types](https://learn.microsoft.com/en-us/azure/azure-monitor/reference/tables/azurediagnostics#resource-types) for services that use each method. Please [see the documentation](https://docs.microsoft.com/azure/azure-monitor/platform/diagnostic-logs-stream-log-store#azure-diagnostics-vs-resource-specific) for details on the differences between destination types.\n"},"logAnalyticsWorkspaceId":{"type":"string","description":"Specifies the ID of a Log Analytics Workspace where Diagnostics Data should be sent.\n\n\u003e **NOTE:** At least one of \u003cspan pulumi-lang-nodejs=\"`eventhubAuthorizationRuleId`\" pulumi-lang-dotnet=\"`EventhubAuthorizationRuleId`\" pulumi-lang-go=\"`eventhubAuthorizationRuleId`\" pulumi-lang-python=\"`eventhub_authorization_rule_id`\" pulumi-lang-yaml=\"`eventhubAuthorizationRuleId`\" pulumi-lang-java=\"`eventhubAuthorizationRuleId`\"\u003e`eventhub_authorization_rule_id`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`logAnalyticsWorkspaceId`\" pulumi-lang-dotnet=\"`LogAnalyticsWorkspaceId`\" pulumi-lang-go=\"`logAnalyticsWorkspaceId`\" pulumi-lang-python=\"`log_analytics_workspace_id`\" pulumi-lang-yaml=\"`logAnalyticsWorkspaceId`\" pulumi-lang-java=\"`logAnalyticsWorkspaceId`\"\u003e`log_analytics_workspace_id`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`partnerSolutionId`\" pulumi-lang-dotnet=\"`PartnerSolutionId`\" pulumi-lang-go=\"`partnerSolutionId`\" pulumi-lang-python=\"`partner_solution_id`\" pulumi-lang-yaml=\"`partnerSolutionId`\" pulumi-lang-java=\"`partnerSolutionId`\"\u003e`partner_solution_id`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`storageAccountId`\" pulumi-lang-dotnet=\"`StorageAccountId`\" pulumi-lang-go=\"`storageAccountId`\" pulumi-lang-python=\"`storage_account_id`\" pulumi-lang-yaml=\"`storageAccountId`\" pulumi-lang-java=\"`storageAccountId`\"\u003e`storage_account_id`\u003c/span\u003e must be specified.\n"},"metrics":{"type":"array","items":{"$ref":"#/types/azure:monitoring/DiagnosticSettingMetric:DiagnosticSettingMetric"},"deprecationMessage":"\u003cspan pulumi-lang-nodejs=\"`metric`\" pulumi-lang-dotnet=\"`Metric`\" pulumi-lang-go=\"`metric`\" pulumi-lang-python=\"`metric`\" pulumi-lang-yaml=\"`metric`\" pulumi-lang-java=\"`metric`\"\u003e`metric`\u003c/span\u003e has been deprecated in favor of the \u003cspan pulumi-lang-nodejs=\"`enabledMetric`\" pulumi-lang-dotnet=\"`EnabledMetric`\" pulumi-lang-go=\"`enabledMetric`\" pulumi-lang-python=\"`enabled_metric`\" pulumi-lang-yaml=\"`enabledMetric`\" pulumi-lang-java=\"`enabledMetric`\"\u003e`enabled_metric`\u003c/span\u003e property and will be removed in v5.0 of the AzureRM provider"},"name":{"type":"string","description":"Specifies the name of the Diagnostic Setting. Changing this forces a new resource to be created.\n\n\u003e **NOTE:** If the name is set to 'service' it will not be possible to fully delete the diagnostic setting. This is due to legacy API support.\n","willReplaceOnChanges":true},"partnerSolutionId":{"type":"string","description":"The ID of the market partner solution where Diagnostics Data should be sent. For potential partner integrations, [click to learn more about partner integration](https://learn.microsoft.com/en-us/azure/partner-solutions/overview).\n\n\u003e **NOTE:** At least one of \u003cspan pulumi-lang-nodejs=\"`eventhubAuthorizationRuleId`\" pulumi-lang-dotnet=\"`EventhubAuthorizationRuleId`\" pulumi-lang-go=\"`eventhubAuthorizationRuleId`\" pulumi-lang-python=\"`eventhub_authorization_rule_id`\" pulumi-lang-yaml=\"`eventhubAuthorizationRuleId`\" pulumi-lang-java=\"`eventhubAuthorizationRuleId`\"\u003e`eventhub_authorization_rule_id`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`logAnalyticsWorkspaceId`\" pulumi-lang-dotnet=\"`LogAnalyticsWorkspaceId`\" pulumi-lang-go=\"`logAnalyticsWorkspaceId`\" pulumi-lang-python=\"`log_analytics_workspace_id`\" pulumi-lang-yaml=\"`logAnalyticsWorkspaceId`\" pulumi-lang-java=\"`logAnalyticsWorkspaceId`\"\u003e`log_analytics_workspace_id`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`partnerSolutionId`\" pulumi-lang-dotnet=\"`PartnerSolutionId`\" pulumi-lang-go=\"`partnerSolutionId`\" pulumi-lang-python=\"`partner_solution_id`\" pulumi-lang-yaml=\"`partnerSolutionId`\" pulumi-lang-java=\"`partnerSolutionId`\"\u003e`partner_solution_id`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`storageAccountId`\" pulumi-lang-dotnet=\"`StorageAccountId`\" pulumi-lang-go=\"`storageAccountId`\" pulumi-lang-python=\"`storage_account_id`\" pulumi-lang-yaml=\"`storageAccountId`\" pulumi-lang-java=\"`storageAccountId`\"\u003e`storage_account_id`\u003c/span\u003e must be specified.\n"},"storageAccountId":{"type":"string","description":"The ID of the Storage Account where logs should be sent. \n\n\u003e **NOTE:** At least one of \u003cspan pulumi-lang-nodejs=\"`eventhubAuthorizationRuleId`\" pulumi-lang-dotnet=\"`EventhubAuthorizationRuleId`\" pulumi-lang-go=\"`eventhubAuthorizationRuleId`\" pulumi-lang-python=\"`eventhub_authorization_rule_id`\" pulumi-lang-yaml=\"`eventhubAuthorizationRuleId`\" pulumi-lang-java=\"`eventhubAuthorizationRuleId`\"\u003e`eventhub_authorization_rule_id`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`logAnalyticsWorkspaceId`\" pulumi-lang-dotnet=\"`LogAnalyticsWorkspaceId`\" pulumi-lang-go=\"`logAnalyticsWorkspaceId`\" pulumi-lang-python=\"`log_analytics_workspace_id`\" pulumi-lang-yaml=\"`logAnalyticsWorkspaceId`\" pulumi-lang-java=\"`logAnalyticsWorkspaceId`\"\u003e`log_analytics_workspace_id`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`partnerSolutionId`\" pulumi-lang-dotnet=\"`PartnerSolutionId`\" pulumi-lang-go=\"`partnerSolutionId`\" pulumi-lang-python=\"`partner_solution_id`\" pulumi-lang-yaml=\"`partnerSolutionId`\" pulumi-lang-java=\"`partnerSolutionId`\"\u003e`partner_solution_id`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`storageAccountId`\" pulumi-lang-dotnet=\"`StorageAccountId`\" pulumi-lang-go=\"`storageAccountId`\" pulumi-lang-python=\"`storage_account_id`\" pulumi-lang-yaml=\"`storageAccountId`\" pulumi-lang-java=\"`storageAccountId`\"\u003e`storage_account_id`\u003c/span\u003e must be specified.\n"},"targetResourceId":{"type":"string","description":"The ID of an existing Resource on which to configure Diagnostic Settings. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:monitoring/metricAlert:MetricAlert":{"description":"Manages a Metric Alert within Azure Monitor.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst toMonitor = new azure.storage.Account(\"to_monitor\", {\n    name: \"examplestorageaccount\",\n    resourceGroupName: example.name,\n    location: example.location,\n    accountTier: \"Standard\",\n    accountReplicationType: \"LRS\",\n});\nconst main = new azure.monitoring.ActionGroup(\"main\", {\n    name: \"example-actiongroup\",\n    resourceGroupName: example.name,\n    shortName: \"exampleact\",\n    webhookReceivers: [{\n        name: \"callmyapi\",\n        serviceUri: \"http://example.com/alert\",\n    }],\n});\nconst exampleMetricAlert = new azure.monitoring.MetricAlert(\"example\", {\n    name: \"example-metricalert\",\n    resourceGroupName: example.name,\n    scopes: [toMonitor.id],\n    description: \"Action will be triggered when Transactions count is greater than 50.\",\n    criterias: [{\n        metricNamespace: \"Microsoft.Storage/storageAccounts\",\n        metricName: \"Transactions\",\n        aggregation: \"Total\",\n        operator: \"GreaterThan\",\n        threshold: 50,\n        dimensions: [{\n            name: \"ApiName\",\n            operator: \"Include\",\n            values: [\"*\"],\n        }],\n    }],\n    actions: [{\n        actionGroupId: main.id,\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nto_monitor = azure.storage.Account(\"to_monitor\",\n    name=\"examplestorageaccount\",\n    resource_group_name=example.name,\n    location=example.location,\n    account_tier=\"Standard\",\n    account_replication_type=\"LRS\")\nmain = azure.monitoring.ActionGroup(\"main\",\n    name=\"example-actiongroup\",\n    resource_group_name=example.name,\n    short_name=\"exampleact\",\n    webhook_receivers=[{\n        \"name\": \"callmyapi\",\n        \"service_uri\": \"http://example.com/alert\",\n    }])\nexample_metric_alert = azure.monitoring.MetricAlert(\"example\",\n    name=\"example-metricalert\",\n    resource_group_name=example.name,\n    scopes=[to_monitor.id],\n    description=\"Action will be triggered when Transactions count is greater than 50.\",\n    criterias=[{\n        \"metric_namespace\": \"Microsoft.Storage/storageAccounts\",\n        \"metric_name\": \"Transactions\",\n        \"aggregation\": \"Total\",\n        \"operator\": \"GreaterThan\",\n        \"threshold\": 50,\n        \"dimensions\": [{\n            \"name\": \"ApiName\",\n            \"operator\": \"Include\",\n            \"values\": [\"*\"],\n        }],\n    }],\n    actions=[{\n        \"action_group_id\": main.id,\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var toMonitor = new Azure.Storage.Account(\"to_monitor\", new()\n    {\n        Name = \"examplestorageaccount\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        AccountTier = \"Standard\",\n        AccountReplicationType = \"LRS\",\n    });\n\n    var main = new Azure.Monitoring.ActionGroup(\"main\", new()\n    {\n        Name = \"example-actiongroup\",\n        ResourceGroupName = example.Name,\n        ShortName = \"exampleact\",\n        WebhookReceivers = new[]\n        {\n            new Azure.Monitoring.Inputs.ActionGroupWebhookReceiverArgs\n            {\n                Name = \"callmyapi\",\n                ServiceUri = \"http://example.com/alert\",\n            },\n        },\n    });\n\n    var exampleMetricAlert = new Azure.Monitoring.MetricAlert(\"example\", new()\n    {\n        Name = \"example-metricalert\",\n        ResourceGroupName = example.Name,\n        Scopes = new[]\n        {\n            toMonitor.Id,\n        },\n        Description = \"Action will be triggered when Transactions count is greater than 50.\",\n        Criterias = new[]\n        {\n            new Azure.Monitoring.Inputs.MetricAlertCriteriaArgs\n            {\n                MetricNamespace = \"Microsoft.Storage/storageAccounts\",\n                MetricName = \"Transactions\",\n                Aggregation = \"Total\",\n                Operator = \"GreaterThan\",\n                Threshold = 50,\n                Dimensions = new[]\n                {\n                    new Azure.Monitoring.Inputs.MetricAlertCriteriaDimensionArgs\n                    {\n                        Name = \"ApiName\",\n                        Operator = \"Include\",\n                        Values = new[]\n                        {\n                            \"*\",\n                        },\n                    },\n                },\n            },\n        },\n        Actions = new[]\n        {\n            new Azure.Monitoring.Inputs.MetricAlertActionArgs\n            {\n                ActionGroupId = main.Id,\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/monitoring\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttoMonitor, err := storage.NewAccount(ctx, \"to_monitor\", \u0026storage.AccountArgs{\n\t\t\tName:                   pulumi.String(\"examplestorageaccount\"),\n\t\t\tResourceGroupName:      example.Name,\n\t\t\tLocation:               example.Location,\n\t\t\tAccountTier:            pulumi.String(\"Standard\"),\n\t\t\tAccountReplicationType: pulumi.String(\"LRS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmain, err := monitoring.NewActionGroup(ctx, \"main\", \u0026monitoring.ActionGroupArgs{\n\t\t\tName:              pulumi.String(\"example-actiongroup\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tShortName:         pulumi.String(\"exampleact\"),\n\t\t\tWebhookReceivers: monitoring.ActionGroupWebhookReceiverArray{\n\t\t\t\t\u0026monitoring.ActionGroupWebhookReceiverArgs{\n\t\t\t\t\tName:       pulumi.String(\"callmyapi\"),\n\t\t\t\t\tServiceUri: pulumi.String(\"http://example.com/alert\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = monitoring.NewMetricAlert(ctx, \"example\", \u0026monitoring.MetricAlertArgs{\n\t\t\tName:              pulumi.String(\"example-metricalert\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tScopes: pulumi.StringArray{\n\t\t\t\ttoMonitor.ID(),\n\t\t\t},\n\t\t\tDescription: pulumi.String(\"Action will be triggered when Transactions count is greater than 50.\"),\n\t\t\tCriterias: monitoring.MetricAlertCriteriaArray{\n\t\t\t\t\u0026monitoring.MetricAlertCriteriaArgs{\n\t\t\t\t\tMetricNamespace: pulumi.String(\"Microsoft.Storage/storageAccounts\"),\n\t\t\t\t\tMetricName:      pulumi.String(\"Transactions\"),\n\t\t\t\t\tAggregation:     pulumi.String(\"Total\"),\n\t\t\t\t\tOperator:        pulumi.String(\"GreaterThan\"),\n\t\t\t\t\tThreshold:       pulumi.Float64(50),\n\t\t\t\t\tDimensions: monitoring.MetricAlertCriteriaDimensionArray{\n\t\t\t\t\t\t\u0026monitoring.MetricAlertCriteriaDimensionArgs{\n\t\t\t\t\t\t\tName:     pulumi.String(\"ApiName\"),\n\t\t\t\t\t\t\tOperator: pulumi.String(\"Include\"),\n\t\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"*\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tActions: monitoring.MetricAlertActionArray{\n\t\t\t\t\u0026monitoring.MetricAlertActionArgs{\n\t\t\t\t\tActionGroupId: main.ID(),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.storage.Account;\nimport com.pulumi.azure.storage.AccountArgs;\nimport com.pulumi.azure.monitoring.ActionGroup;\nimport com.pulumi.azure.monitoring.ActionGroupArgs;\nimport com.pulumi.azure.monitoring.inputs.ActionGroupWebhookReceiverArgs;\nimport com.pulumi.azure.monitoring.MetricAlert;\nimport com.pulumi.azure.monitoring.MetricAlertArgs;\nimport com.pulumi.azure.monitoring.inputs.MetricAlertCriteriaArgs;\nimport com.pulumi.azure.monitoring.inputs.MetricAlertActionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var toMonitor = new Account(\"toMonitor\", AccountArgs.builder()\n            .name(\"examplestorageaccount\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .accountTier(\"Standard\")\n            .accountReplicationType(\"LRS\")\n            .build());\n\n        var main = new ActionGroup(\"main\", ActionGroupArgs.builder()\n            .name(\"example-actiongroup\")\n            .resourceGroupName(example.name())\n            .shortName(\"exampleact\")\n            .webhookReceivers(ActionGroupWebhookReceiverArgs.builder()\n                .name(\"callmyapi\")\n                .serviceUri(\"http://example.com/alert\")\n                .build())\n            .build());\n\n        var exampleMetricAlert = new MetricAlert(\"exampleMetricAlert\", MetricAlertArgs.builder()\n            .name(\"example-metricalert\")\n            .resourceGroupName(example.name())\n            .scopes(toMonitor.id())\n            .description(\"Action will be triggered when Transactions count is greater than 50.\")\n            .criterias(MetricAlertCriteriaArgs.builder()\n                .metricNamespace(\"Microsoft.Storage/storageAccounts\")\n                .metricName(\"Transactions\")\n                .aggregation(\"Total\")\n                .operator(\"GreaterThan\")\n                .threshold(50.0)\n                .dimensions(MetricAlertCriteriaDimensionArgs.builder()\n                    .name(\"ApiName\")\n                    .operator(\"Include\")\n                    .values(\"*\")\n                    .build())\n                .build())\n            .actions(MetricAlertActionArgs.builder()\n                .actionGroupId(main.id())\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  toMonitor:\n    type: azure:storage:Account\n    name: to_monitor\n    properties:\n      name: examplestorageaccount\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      accountTier: Standard\n      accountReplicationType: LRS\n  main:\n    type: azure:monitoring:ActionGroup\n    properties:\n      name: example-actiongroup\n      resourceGroupName: ${example.name}\n      shortName: exampleact\n      webhookReceivers:\n        - name: callmyapi\n          serviceUri: http://example.com/alert\n  exampleMetricAlert:\n    type: azure:monitoring:MetricAlert\n    name: example\n    properties:\n      name: example-metricalert\n      resourceGroupName: ${example.name}\n      scopes:\n        - ${toMonitor.id}\n      description: Action will be triggered when Transactions count is greater than 50.\n      criterias:\n        - metricNamespace: Microsoft.Storage/storageAccounts\n          metricName: Transactions\n          aggregation: Total\n          operator: GreaterThan\n          threshold: 50\n          dimensions:\n            - name: ApiName\n              operator: Include\n              values:\n                - '*'\n      actions:\n        - actionGroupId: ${main.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Insights` - 2018-03-01\n\n## Import\n\nMetric Alerts can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:monitoring/metricAlert:MetricAlert main /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/example-resources/providers/Microsoft.Insights/metricAlerts/example-metricalert\n```\n\n","properties":{"actions":{"type":"array","items":{"$ref":"#/types/azure:monitoring/MetricAlertAction:MetricAlertAction"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`action`\" pulumi-lang-dotnet=\"`Action`\" pulumi-lang-go=\"`action`\" pulumi-lang-python=\"`action`\" pulumi-lang-yaml=\"`action`\" pulumi-lang-java=\"`action`\"\u003e`action`\u003c/span\u003e blocks as defined below.\n"},"applicationInsightsWebTestLocationAvailabilityCriteria":{"$ref":"#/types/azure:monitoring/MetricAlertApplicationInsightsWebTestLocationAvailabilityCriteria:MetricAlertApplicationInsightsWebTestLocationAvailabilityCriteria","description":"A \u003cspan pulumi-lang-nodejs=\"`applicationInsightsWebTestLocationAvailabilityCriteria`\" pulumi-lang-dotnet=\"`ApplicationInsightsWebTestLocationAvailabilityCriteria`\" pulumi-lang-go=\"`applicationInsightsWebTestLocationAvailabilityCriteria`\" pulumi-lang-python=\"`application_insights_web_test_location_availability_criteria`\" pulumi-lang-yaml=\"`applicationInsightsWebTestLocationAvailabilityCriteria`\" pulumi-lang-java=\"`applicationInsightsWebTestLocationAvailabilityCriteria`\"\u003e`application_insights_web_test_location_availability_criteria`\u003c/span\u003e block as defined below.\n\n\u003e **Note:** One of either \u003cspan pulumi-lang-nodejs=\"`criteria`\" pulumi-lang-dotnet=\"`Criteria`\" pulumi-lang-go=\"`criteria`\" pulumi-lang-python=\"`criteria`\" pulumi-lang-yaml=\"`criteria`\" pulumi-lang-java=\"`criteria`\"\u003e`criteria`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`dynamicCriteria`\" pulumi-lang-dotnet=\"`DynamicCriteria`\" pulumi-lang-go=\"`dynamicCriteria`\" pulumi-lang-python=\"`dynamic_criteria`\" pulumi-lang-yaml=\"`dynamicCriteria`\" pulumi-lang-java=\"`dynamicCriteria`\"\u003e`dynamic_criteria`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`applicationInsightsWebTestLocationAvailabilityCriteria`\" pulumi-lang-dotnet=\"`ApplicationInsightsWebTestLocationAvailabilityCriteria`\" pulumi-lang-go=\"`applicationInsightsWebTestLocationAvailabilityCriteria`\" pulumi-lang-python=\"`application_insights_web_test_location_availability_criteria`\" pulumi-lang-yaml=\"`applicationInsightsWebTestLocationAvailabilityCriteria`\" pulumi-lang-java=\"`applicationInsightsWebTestLocationAvailabilityCriteria`\"\u003e`application_insights_web_test_location_availability_criteria`\u003c/span\u003e must be specified.\n"},"autoMitigate":{"type":"boolean","description":"Should the alerts in this Metric Alert be auto resolved? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"criterias":{"type":"array","items":{"$ref":"#/types/azure:monitoring/MetricAlertCriteria:MetricAlertCriteria"},"description":"One or more (static) \u003cspan pulumi-lang-nodejs=\"`criteria`\" pulumi-lang-dotnet=\"`Criteria`\" pulumi-lang-go=\"`criteria`\" pulumi-lang-python=\"`criteria`\" pulumi-lang-yaml=\"`criteria`\" pulumi-lang-java=\"`criteria`\"\u003e`criteria`\u003c/span\u003e blocks as defined below.\n\n\u003e **Note:** One of either \u003cspan pulumi-lang-nodejs=\"`criteria`\" pulumi-lang-dotnet=\"`Criteria`\" pulumi-lang-go=\"`criteria`\" pulumi-lang-python=\"`criteria`\" pulumi-lang-yaml=\"`criteria`\" pulumi-lang-java=\"`criteria`\"\u003e`criteria`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`dynamicCriteria`\" pulumi-lang-dotnet=\"`DynamicCriteria`\" pulumi-lang-go=\"`dynamicCriteria`\" pulumi-lang-python=\"`dynamic_criteria`\" pulumi-lang-yaml=\"`dynamicCriteria`\" pulumi-lang-java=\"`dynamicCriteria`\"\u003e`dynamic_criteria`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`applicationInsightsWebTestLocationAvailabilityCriteria`\" pulumi-lang-dotnet=\"`ApplicationInsightsWebTestLocationAvailabilityCriteria`\" pulumi-lang-go=\"`applicationInsightsWebTestLocationAvailabilityCriteria`\" pulumi-lang-python=\"`application_insights_web_test_location_availability_criteria`\" pulumi-lang-yaml=\"`applicationInsightsWebTestLocationAvailabilityCriteria`\" pulumi-lang-java=\"`applicationInsightsWebTestLocationAvailabilityCriteria`\"\u003e`application_insights_web_test_location_availability_criteria`\u003c/span\u003e must be specified.\n"},"description":{"type":"string","description":"The description of this Metric Alert.\n"},"dynamicCriteria":{"$ref":"#/types/azure:monitoring/MetricAlertDynamicCriteria:MetricAlertDynamicCriteria","description":"A \u003cspan pulumi-lang-nodejs=\"`dynamicCriteria`\" pulumi-lang-dotnet=\"`DynamicCriteria`\" pulumi-lang-go=\"`dynamicCriteria`\" pulumi-lang-python=\"`dynamic_criteria`\" pulumi-lang-yaml=\"`dynamicCriteria`\" pulumi-lang-java=\"`dynamicCriteria`\"\u003e`dynamic_criteria`\u003c/span\u003e block as defined below.\n\n\u003e **Note:** One of either \u003cspan pulumi-lang-nodejs=\"`criteria`\" pulumi-lang-dotnet=\"`Criteria`\" pulumi-lang-go=\"`criteria`\" pulumi-lang-python=\"`criteria`\" pulumi-lang-yaml=\"`criteria`\" pulumi-lang-java=\"`criteria`\"\u003e`criteria`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`dynamicCriteria`\" pulumi-lang-dotnet=\"`DynamicCriteria`\" pulumi-lang-go=\"`dynamicCriteria`\" pulumi-lang-python=\"`dynamic_criteria`\" pulumi-lang-yaml=\"`dynamicCriteria`\" pulumi-lang-java=\"`dynamicCriteria`\"\u003e`dynamic_criteria`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`applicationInsightsWebTestLocationAvailabilityCriteria`\" pulumi-lang-dotnet=\"`ApplicationInsightsWebTestLocationAvailabilityCriteria`\" pulumi-lang-go=\"`applicationInsightsWebTestLocationAvailabilityCriteria`\" pulumi-lang-python=\"`application_insights_web_test_location_availability_criteria`\" pulumi-lang-yaml=\"`applicationInsightsWebTestLocationAvailabilityCriteria`\" pulumi-lang-java=\"`applicationInsightsWebTestLocationAvailabilityCriteria`\"\u003e`application_insights_web_test_location_availability_criteria`\u003c/span\u003e must be specified.\n"},"enabled":{"type":"boolean","description":"Should this Metric Alert be enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"frequency":{"type":"string","description":"The evaluation frequency of this Metric Alert, represented in ISO 8601 duration format. Possible values are `PT1M`, `PT5M`, `PT15M`, `PT30M` and `PT1H`. Defaults to `PT1M`.\n"},"name":{"type":"string","description":"The name of the Metric Alert. Changing this forces a new resource to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the Metric Alert instance. Changing this forces a new resource to be created.\n"},"scopes":{"type":"array","items":{"type":"string"},"description":"A set of strings of resource IDs at which the metric criteria should be applied.\n"},"severity":{"type":"integer","description":"The severity of this Metric Alert. Possible values are \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`4`\" pulumi-lang-dotnet=\"`4`\" pulumi-lang-go=\"`4`\" pulumi-lang-python=\"`4`\" pulumi-lang-yaml=\"`4`\" pulumi-lang-java=\"`4`\"\u003e`4`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"targetResourceLocation":{"type":"string","description":"The location of the target resource.\n\n\u003e **Note:** This is Required when using a Subscription as scope, a Resource Group as scope or Multiple Scopes.\n"},"targetResourceType":{"type":"string","description":"The resource type (e.g. `Microsoft.Compute/virtualMachines`) of the target resource.\n\n\u003e **Note:** This is Required when using a Subscription as scope, a Resource Group as scope or Multiple Scopes.\n"},"windowSize":{"type":"string","description":"The period of time that is used to monitor alert activity, represented in ISO 8601 duration format. This value must be greater than \u003cspan pulumi-lang-nodejs=\"`frequency`\" pulumi-lang-dotnet=\"`Frequency`\" pulumi-lang-go=\"`frequency`\" pulumi-lang-python=\"`frequency`\" pulumi-lang-yaml=\"`frequency`\" pulumi-lang-java=\"`frequency`\"\u003e`frequency`\u003c/span\u003e. Possible values are `PT1M`, `PT5M`, `PT15M`, `PT30M`, `PT1H`, `PT6H`, `PT12H` and `P1D`. Defaults to `PT5M`.\n"}},"required":["name","resourceGroupName","scopes","targetResourceLocation","targetResourceType"],"inputProperties":{"actions":{"type":"array","items":{"$ref":"#/types/azure:monitoring/MetricAlertAction:MetricAlertAction"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`action`\" pulumi-lang-dotnet=\"`Action`\" pulumi-lang-go=\"`action`\" pulumi-lang-python=\"`action`\" pulumi-lang-yaml=\"`action`\" pulumi-lang-java=\"`action`\"\u003e`action`\u003c/span\u003e blocks as defined below.\n"},"applicationInsightsWebTestLocationAvailabilityCriteria":{"$ref":"#/types/azure:monitoring/MetricAlertApplicationInsightsWebTestLocationAvailabilityCriteria:MetricAlertApplicationInsightsWebTestLocationAvailabilityCriteria","description":"A \u003cspan pulumi-lang-nodejs=\"`applicationInsightsWebTestLocationAvailabilityCriteria`\" pulumi-lang-dotnet=\"`ApplicationInsightsWebTestLocationAvailabilityCriteria`\" pulumi-lang-go=\"`applicationInsightsWebTestLocationAvailabilityCriteria`\" pulumi-lang-python=\"`application_insights_web_test_location_availability_criteria`\" pulumi-lang-yaml=\"`applicationInsightsWebTestLocationAvailabilityCriteria`\" pulumi-lang-java=\"`applicationInsightsWebTestLocationAvailabilityCriteria`\"\u003e`application_insights_web_test_location_availability_criteria`\u003c/span\u003e block as defined below.\n\n\u003e **Note:** One of either \u003cspan pulumi-lang-nodejs=\"`criteria`\" pulumi-lang-dotnet=\"`Criteria`\" pulumi-lang-go=\"`criteria`\" pulumi-lang-python=\"`criteria`\" pulumi-lang-yaml=\"`criteria`\" pulumi-lang-java=\"`criteria`\"\u003e`criteria`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`dynamicCriteria`\" pulumi-lang-dotnet=\"`DynamicCriteria`\" pulumi-lang-go=\"`dynamicCriteria`\" pulumi-lang-python=\"`dynamic_criteria`\" pulumi-lang-yaml=\"`dynamicCriteria`\" pulumi-lang-java=\"`dynamicCriteria`\"\u003e`dynamic_criteria`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`applicationInsightsWebTestLocationAvailabilityCriteria`\" pulumi-lang-dotnet=\"`ApplicationInsightsWebTestLocationAvailabilityCriteria`\" pulumi-lang-go=\"`applicationInsightsWebTestLocationAvailabilityCriteria`\" pulumi-lang-python=\"`application_insights_web_test_location_availability_criteria`\" pulumi-lang-yaml=\"`applicationInsightsWebTestLocationAvailabilityCriteria`\" pulumi-lang-java=\"`applicationInsightsWebTestLocationAvailabilityCriteria`\"\u003e`application_insights_web_test_location_availability_criteria`\u003c/span\u003e must be specified.\n"},"autoMitigate":{"type":"boolean","description":"Should the alerts in this Metric Alert be auto resolved? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"criterias":{"type":"array","items":{"$ref":"#/types/azure:monitoring/MetricAlertCriteria:MetricAlertCriteria"},"description":"One or more (static) \u003cspan pulumi-lang-nodejs=\"`criteria`\" pulumi-lang-dotnet=\"`Criteria`\" pulumi-lang-go=\"`criteria`\" pulumi-lang-python=\"`criteria`\" pulumi-lang-yaml=\"`criteria`\" pulumi-lang-java=\"`criteria`\"\u003e`criteria`\u003c/span\u003e blocks as defined below.\n\n\u003e **Note:** One of either \u003cspan pulumi-lang-nodejs=\"`criteria`\" pulumi-lang-dotnet=\"`Criteria`\" pulumi-lang-go=\"`criteria`\" pulumi-lang-python=\"`criteria`\" pulumi-lang-yaml=\"`criteria`\" pulumi-lang-java=\"`criteria`\"\u003e`criteria`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`dynamicCriteria`\" pulumi-lang-dotnet=\"`DynamicCriteria`\" pulumi-lang-go=\"`dynamicCriteria`\" pulumi-lang-python=\"`dynamic_criteria`\" pulumi-lang-yaml=\"`dynamicCriteria`\" pulumi-lang-java=\"`dynamicCriteria`\"\u003e`dynamic_criteria`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`applicationInsightsWebTestLocationAvailabilityCriteria`\" pulumi-lang-dotnet=\"`ApplicationInsightsWebTestLocationAvailabilityCriteria`\" pulumi-lang-go=\"`applicationInsightsWebTestLocationAvailabilityCriteria`\" pulumi-lang-python=\"`application_insights_web_test_location_availability_criteria`\" pulumi-lang-yaml=\"`applicationInsightsWebTestLocationAvailabilityCriteria`\" pulumi-lang-java=\"`applicationInsightsWebTestLocationAvailabilityCriteria`\"\u003e`application_insights_web_test_location_availability_criteria`\u003c/span\u003e must be specified.\n"},"description":{"type":"string","description":"The description of this Metric Alert.\n"},"dynamicCriteria":{"$ref":"#/types/azure:monitoring/MetricAlertDynamicCriteria:MetricAlertDynamicCriteria","description":"A \u003cspan pulumi-lang-nodejs=\"`dynamicCriteria`\" pulumi-lang-dotnet=\"`DynamicCriteria`\" pulumi-lang-go=\"`dynamicCriteria`\" pulumi-lang-python=\"`dynamic_criteria`\" pulumi-lang-yaml=\"`dynamicCriteria`\" pulumi-lang-java=\"`dynamicCriteria`\"\u003e`dynamic_criteria`\u003c/span\u003e block as defined below.\n\n\u003e **Note:** One of either \u003cspan pulumi-lang-nodejs=\"`criteria`\" pulumi-lang-dotnet=\"`Criteria`\" pulumi-lang-go=\"`criteria`\" pulumi-lang-python=\"`criteria`\" pulumi-lang-yaml=\"`criteria`\" pulumi-lang-java=\"`criteria`\"\u003e`criteria`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`dynamicCriteria`\" pulumi-lang-dotnet=\"`DynamicCriteria`\" pulumi-lang-go=\"`dynamicCriteria`\" pulumi-lang-python=\"`dynamic_criteria`\" pulumi-lang-yaml=\"`dynamicCriteria`\" pulumi-lang-java=\"`dynamicCriteria`\"\u003e`dynamic_criteria`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`applicationInsightsWebTestLocationAvailabilityCriteria`\" pulumi-lang-dotnet=\"`ApplicationInsightsWebTestLocationAvailabilityCriteria`\" pulumi-lang-go=\"`applicationInsightsWebTestLocationAvailabilityCriteria`\" pulumi-lang-python=\"`application_insights_web_test_location_availability_criteria`\" pulumi-lang-yaml=\"`applicationInsightsWebTestLocationAvailabilityCriteria`\" pulumi-lang-java=\"`applicationInsightsWebTestLocationAvailabilityCriteria`\"\u003e`application_insights_web_test_location_availability_criteria`\u003c/span\u003e must be specified.\n"},"enabled":{"type":"boolean","description":"Should this Metric Alert be enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"frequency":{"type":"string","description":"The evaluation frequency of this Metric Alert, represented in ISO 8601 duration format. Possible values are `PT1M`, `PT5M`, `PT15M`, `PT30M` and `PT1H`. Defaults to `PT1M`.\n"},"name":{"type":"string","description":"The name of the Metric Alert. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the Metric Alert instance. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"scopes":{"type":"array","items":{"type":"string"},"description":"A set of strings of resource IDs at which the metric criteria should be applied.\n"},"severity":{"type":"integer","description":"The severity of this Metric Alert. Possible values are \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`4`\" pulumi-lang-dotnet=\"`4`\" pulumi-lang-go=\"`4`\" pulumi-lang-python=\"`4`\" pulumi-lang-yaml=\"`4`\" pulumi-lang-java=\"`4`\"\u003e`4`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"targetResourceLocation":{"type":"string","description":"The location of the target resource.\n\n\u003e **Note:** This is Required when using a Subscription as scope, a Resource Group as scope or Multiple Scopes.\n"},"targetResourceType":{"type":"string","description":"The resource type (e.g. `Microsoft.Compute/virtualMachines`) of the target resource.\n\n\u003e **Note:** This is Required when using a Subscription as scope, a Resource Group as scope or Multiple Scopes.\n"},"windowSize":{"type":"string","description":"The period of time that is used to monitor alert activity, represented in ISO 8601 duration format. This value must be greater than \u003cspan pulumi-lang-nodejs=\"`frequency`\" pulumi-lang-dotnet=\"`Frequency`\" pulumi-lang-go=\"`frequency`\" pulumi-lang-python=\"`frequency`\" pulumi-lang-yaml=\"`frequency`\" pulumi-lang-java=\"`frequency`\"\u003e`frequency`\u003c/span\u003e. Possible values are `PT1M`, `PT5M`, `PT15M`, `PT30M`, `PT1H`, `PT6H`, `PT12H` and `P1D`. Defaults to `PT5M`.\n"}},"requiredInputs":["resourceGroupName","scopes"],"stateInputs":{"description":"Input properties used for looking up and filtering MetricAlert resources.\n","properties":{"actions":{"type":"array","items":{"$ref":"#/types/azure:monitoring/MetricAlertAction:MetricAlertAction"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`action`\" pulumi-lang-dotnet=\"`Action`\" pulumi-lang-go=\"`action`\" pulumi-lang-python=\"`action`\" pulumi-lang-yaml=\"`action`\" pulumi-lang-java=\"`action`\"\u003e`action`\u003c/span\u003e blocks as defined below.\n"},"applicationInsightsWebTestLocationAvailabilityCriteria":{"$ref":"#/types/azure:monitoring/MetricAlertApplicationInsightsWebTestLocationAvailabilityCriteria:MetricAlertApplicationInsightsWebTestLocationAvailabilityCriteria","description":"A \u003cspan pulumi-lang-nodejs=\"`applicationInsightsWebTestLocationAvailabilityCriteria`\" pulumi-lang-dotnet=\"`ApplicationInsightsWebTestLocationAvailabilityCriteria`\" pulumi-lang-go=\"`applicationInsightsWebTestLocationAvailabilityCriteria`\" pulumi-lang-python=\"`application_insights_web_test_location_availability_criteria`\" pulumi-lang-yaml=\"`applicationInsightsWebTestLocationAvailabilityCriteria`\" pulumi-lang-java=\"`applicationInsightsWebTestLocationAvailabilityCriteria`\"\u003e`application_insights_web_test_location_availability_criteria`\u003c/span\u003e block as defined below.\n\n\u003e **Note:** One of either \u003cspan pulumi-lang-nodejs=\"`criteria`\" pulumi-lang-dotnet=\"`Criteria`\" pulumi-lang-go=\"`criteria`\" pulumi-lang-python=\"`criteria`\" pulumi-lang-yaml=\"`criteria`\" pulumi-lang-java=\"`criteria`\"\u003e`criteria`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`dynamicCriteria`\" pulumi-lang-dotnet=\"`DynamicCriteria`\" pulumi-lang-go=\"`dynamicCriteria`\" pulumi-lang-python=\"`dynamic_criteria`\" pulumi-lang-yaml=\"`dynamicCriteria`\" pulumi-lang-java=\"`dynamicCriteria`\"\u003e`dynamic_criteria`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`applicationInsightsWebTestLocationAvailabilityCriteria`\" pulumi-lang-dotnet=\"`ApplicationInsightsWebTestLocationAvailabilityCriteria`\" pulumi-lang-go=\"`applicationInsightsWebTestLocationAvailabilityCriteria`\" pulumi-lang-python=\"`application_insights_web_test_location_availability_criteria`\" pulumi-lang-yaml=\"`applicationInsightsWebTestLocationAvailabilityCriteria`\" pulumi-lang-java=\"`applicationInsightsWebTestLocationAvailabilityCriteria`\"\u003e`application_insights_web_test_location_availability_criteria`\u003c/span\u003e must be specified.\n"},"autoMitigate":{"type":"boolean","description":"Should the alerts in this Metric Alert be auto resolved? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"criterias":{"type":"array","items":{"$ref":"#/types/azure:monitoring/MetricAlertCriteria:MetricAlertCriteria"},"description":"One or more (static) \u003cspan pulumi-lang-nodejs=\"`criteria`\" pulumi-lang-dotnet=\"`Criteria`\" pulumi-lang-go=\"`criteria`\" pulumi-lang-python=\"`criteria`\" pulumi-lang-yaml=\"`criteria`\" pulumi-lang-java=\"`criteria`\"\u003e`criteria`\u003c/span\u003e blocks as defined below.\n\n\u003e **Note:** One of either \u003cspan pulumi-lang-nodejs=\"`criteria`\" pulumi-lang-dotnet=\"`Criteria`\" pulumi-lang-go=\"`criteria`\" pulumi-lang-python=\"`criteria`\" pulumi-lang-yaml=\"`criteria`\" pulumi-lang-java=\"`criteria`\"\u003e`criteria`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`dynamicCriteria`\" pulumi-lang-dotnet=\"`DynamicCriteria`\" pulumi-lang-go=\"`dynamicCriteria`\" pulumi-lang-python=\"`dynamic_criteria`\" pulumi-lang-yaml=\"`dynamicCriteria`\" pulumi-lang-java=\"`dynamicCriteria`\"\u003e`dynamic_criteria`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`applicationInsightsWebTestLocationAvailabilityCriteria`\" pulumi-lang-dotnet=\"`ApplicationInsightsWebTestLocationAvailabilityCriteria`\" pulumi-lang-go=\"`applicationInsightsWebTestLocationAvailabilityCriteria`\" pulumi-lang-python=\"`application_insights_web_test_location_availability_criteria`\" pulumi-lang-yaml=\"`applicationInsightsWebTestLocationAvailabilityCriteria`\" pulumi-lang-java=\"`applicationInsightsWebTestLocationAvailabilityCriteria`\"\u003e`application_insights_web_test_location_availability_criteria`\u003c/span\u003e must be specified.\n"},"description":{"type":"string","description":"The description of this Metric Alert.\n"},"dynamicCriteria":{"$ref":"#/types/azure:monitoring/MetricAlertDynamicCriteria:MetricAlertDynamicCriteria","description":"A \u003cspan pulumi-lang-nodejs=\"`dynamicCriteria`\" pulumi-lang-dotnet=\"`DynamicCriteria`\" pulumi-lang-go=\"`dynamicCriteria`\" pulumi-lang-python=\"`dynamic_criteria`\" pulumi-lang-yaml=\"`dynamicCriteria`\" pulumi-lang-java=\"`dynamicCriteria`\"\u003e`dynamic_criteria`\u003c/span\u003e block as defined below.\n\n\u003e **Note:** One of either \u003cspan pulumi-lang-nodejs=\"`criteria`\" pulumi-lang-dotnet=\"`Criteria`\" pulumi-lang-go=\"`criteria`\" pulumi-lang-python=\"`criteria`\" pulumi-lang-yaml=\"`criteria`\" pulumi-lang-java=\"`criteria`\"\u003e`criteria`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`dynamicCriteria`\" pulumi-lang-dotnet=\"`DynamicCriteria`\" pulumi-lang-go=\"`dynamicCriteria`\" pulumi-lang-python=\"`dynamic_criteria`\" pulumi-lang-yaml=\"`dynamicCriteria`\" pulumi-lang-java=\"`dynamicCriteria`\"\u003e`dynamic_criteria`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`applicationInsightsWebTestLocationAvailabilityCriteria`\" pulumi-lang-dotnet=\"`ApplicationInsightsWebTestLocationAvailabilityCriteria`\" pulumi-lang-go=\"`applicationInsightsWebTestLocationAvailabilityCriteria`\" pulumi-lang-python=\"`application_insights_web_test_location_availability_criteria`\" pulumi-lang-yaml=\"`applicationInsightsWebTestLocationAvailabilityCriteria`\" pulumi-lang-java=\"`applicationInsightsWebTestLocationAvailabilityCriteria`\"\u003e`application_insights_web_test_location_availability_criteria`\u003c/span\u003e must be specified.\n"},"enabled":{"type":"boolean","description":"Should this Metric Alert be enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"frequency":{"type":"string","description":"The evaluation frequency of this Metric Alert, represented in ISO 8601 duration format. Possible values are `PT1M`, `PT5M`, `PT15M`, `PT30M` and `PT1H`. Defaults to `PT1M`.\n"},"name":{"type":"string","description":"The name of the Metric Alert. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the Metric Alert instance. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"scopes":{"type":"array","items":{"type":"string"},"description":"A set of strings of resource IDs at which the metric criteria should be applied.\n"},"severity":{"type":"integer","description":"The severity of this Metric Alert. Possible values are \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`4`\" pulumi-lang-dotnet=\"`4`\" pulumi-lang-go=\"`4`\" pulumi-lang-python=\"`4`\" pulumi-lang-yaml=\"`4`\" pulumi-lang-java=\"`4`\"\u003e`4`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"targetResourceLocation":{"type":"string","description":"The location of the target resource.\n\n\u003e **Note:** This is Required when using a Subscription as scope, a Resource Group as scope or Multiple Scopes.\n"},"targetResourceType":{"type":"string","description":"The resource type (e.g. `Microsoft.Compute/virtualMachines`) of the target resource.\n\n\u003e **Note:** This is Required when using a Subscription as scope, a Resource Group as scope or Multiple Scopes.\n"},"windowSize":{"type":"string","description":"The period of time that is used to monitor alert activity, represented in ISO 8601 duration format. This value must be greater than \u003cspan pulumi-lang-nodejs=\"`frequency`\" pulumi-lang-dotnet=\"`Frequency`\" pulumi-lang-go=\"`frequency`\" pulumi-lang-python=\"`frequency`\" pulumi-lang-yaml=\"`frequency`\" pulumi-lang-java=\"`frequency`\"\u003e`frequency`\u003c/span\u003e. Possible values are `PT1M`, `PT5M`, `PT15M`, `PT30M`, `PT1H`, `PT6H`, `PT12H` and `P1D`. Defaults to `PT5M`.\n"}},"type":"object"}},"azure:monitoring/privateLinkScope:PrivateLinkScope":{"description":"Manages an Azure Monitor Private Link Scope.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst examplePrivateLinkScope = new azure.monitoring.PrivateLinkScope(\"example\", {\n    name: \"example-ampls\",\n    resourceGroupName: example.name,\n    ingestionAccessMode: \"PrivateOnly\",\n    queryAccessMode: \"Open\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_private_link_scope = azure.monitoring.PrivateLinkScope(\"example\",\n    name=\"example-ampls\",\n    resource_group_name=example.name,\n    ingestion_access_mode=\"PrivateOnly\",\n    query_access_mode=\"Open\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var examplePrivateLinkScope = new Azure.Monitoring.PrivateLinkScope(\"example\", new()\n    {\n        Name = \"example-ampls\",\n        ResourceGroupName = example.Name,\n        IngestionAccessMode = \"PrivateOnly\",\n        QueryAccessMode = \"Open\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/monitoring\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = monitoring.NewPrivateLinkScope(ctx, \"example\", \u0026monitoring.PrivateLinkScopeArgs{\n\t\t\tName:                pulumi.String(\"example-ampls\"),\n\t\t\tResourceGroupName:   example.Name,\n\t\t\tIngestionAccessMode: pulumi.String(\"PrivateOnly\"),\n\t\t\tQueryAccessMode:     pulumi.String(\"Open\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.monitoring.PrivateLinkScope;\nimport com.pulumi.azure.monitoring.PrivateLinkScopeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var examplePrivateLinkScope = new PrivateLinkScope(\"examplePrivateLinkScope\", PrivateLinkScopeArgs.builder()\n            .name(\"example-ampls\")\n            .resourceGroupName(example.name())\n            .ingestionAccessMode(\"PrivateOnly\")\n            .queryAccessMode(\"Open\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  examplePrivateLinkScope:\n    type: azure:monitoring:PrivateLinkScope\n    name: example\n    properties:\n      name: example-ampls\n      resourceGroupName: ${example.name}\n      ingestionAccessMode: PrivateOnly\n      queryAccessMode: Open\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Insights` - 2021-07-01-preview\n\n## Import\n\nAzure Monitor Private Link Scopes can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:monitoring/privateLinkScope:PrivateLinkScope example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Insights/privateLinkScopes/pls1\n```\n\n","properties":{"ingestionAccessMode":{"type":"string","description":"The default ingestion access mode for the associated private endpoints in scope. Possible values are `Open` and `PrivateOnly`. Defaults to `Open`.\n"},"name":{"type":"string","description":"The name of the Azure Monitor Private Link Scope. Changing this forces a new resource to be created.\n"},"queryAccessMode":{"type":"string","description":"The default query access mode for hte associated private endpoints in scope. Possible values are `Open` and `PrivateOnly`. Defaults to `Open`.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Azure Monitor Private Link Scope should exist. Changing this forces a new resource to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Azure Monitor Private Link Scope.\n"}},"required":["name","resourceGroupName"],"inputProperties":{"ingestionAccessMode":{"type":"string","description":"The default ingestion access mode for the associated private endpoints in scope. Possible values are `Open` and `PrivateOnly`. Defaults to `Open`.\n"},"name":{"type":"string","description":"The name of the Azure Monitor Private Link Scope. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"queryAccessMode":{"type":"string","description":"The default query access mode for hte associated private endpoints in scope. Possible values are `Open` and `PrivateOnly`. Defaults to `Open`.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Azure Monitor Private Link Scope should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Azure Monitor Private Link Scope.\n"}},"requiredInputs":["resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering PrivateLinkScope resources.\n","properties":{"ingestionAccessMode":{"type":"string","description":"The default ingestion access mode for the associated private endpoints in scope. Possible values are `Open` and `PrivateOnly`. Defaults to `Open`.\n"},"name":{"type":"string","description":"The name of the Azure Monitor Private Link Scope. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"queryAccessMode":{"type":"string","description":"The default query access mode for hte associated private endpoints in scope. Possible values are `Open` and `PrivateOnly`. Defaults to `Open`.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Azure Monitor Private Link Scope should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Azure Monitor Private Link Scope.\n"}},"type":"object"}},"azure:monitoring/privateLinkScopedService:PrivateLinkScopedService":{"description":"Manages an Azure Monitor Private Link Scoped Service.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleInsights = new azure.appinsights.Insights(\"example\", {\n    name: \"example-appinsights\",\n    location: example.location,\n    resourceGroupName: example.name,\n    applicationType: \"web\",\n});\nconst examplePrivateLinkScope = new azure.monitoring.PrivateLinkScope(\"example\", {\n    name: \"example-ampls\",\n    resourceGroupName: example.name,\n});\nconst examplePrivateLinkScopedService = new azure.monitoring.PrivateLinkScopedService(\"example\", {\n    name: \"example-amplsservice\",\n    resourceGroupName: example.name,\n    scopeName: examplePrivateLinkScope.name,\n    linkedResourceId: exampleInsights.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_insights = azure.appinsights.Insights(\"example\",\n    name=\"example-appinsights\",\n    location=example.location,\n    resource_group_name=example.name,\n    application_type=\"web\")\nexample_private_link_scope = azure.monitoring.PrivateLinkScope(\"example\",\n    name=\"example-ampls\",\n    resource_group_name=example.name)\nexample_private_link_scoped_service = azure.monitoring.PrivateLinkScopedService(\"example\",\n    name=\"example-amplsservice\",\n    resource_group_name=example.name,\n    scope_name=example_private_link_scope.name,\n    linked_resource_id=example_insights.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleInsights = new Azure.AppInsights.Insights(\"example\", new()\n    {\n        Name = \"example-appinsights\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        ApplicationType = \"web\",\n    });\n\n    var examplePrivateLinkScope = new Azure.Monitoring.PrivateLinkScope(\"example\", new()\n    {\n        Name = \"example-ampls\",\n        ResourceGroupName = example.Name,\n    });\n\n    var examplePrivateLinkScopedService = new Azure.Monitoring.PrivateLinkScopedService(\"example\", new()\n    {\n        Name = \"example-amplsservice\",\n        ResourceGroupName = example.Name,\n        ScopeName = examplePrivateLinkScope.Name,\n        LinkedResourceId = exampleInsights.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/appinsights\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/monitoring\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleInsights, err := appinsights.NewInsights(ctx, \"example\", \u0026appinsights.InsightsArgs{\n\t\t\tName:              pulumi.String(\"example-appinsights\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tApplicationType:   pulumi.String(\"web\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texamplePrivateLinkScope, err := monitoring.NewPrivateLinkScope(ctx, \"example\", \u0026monitoring.PrivateLinkScopeArgs{\n\t\t\tName:              pulumi.String(\"example-ampls\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = monitoring.NewPrivateLinkScopedService(ctx, \"example\", \u0026monitoring.PrivateLinkScopedServiceArgs{\n\t\t\tName:              pulumi.String(\"example-amplsservice\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tScopeName:         examplePrivateLinkScope.Name,\n\t\t\tLinkedResourceId:  exampleInsights.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.appinsights.Insights;\nimport com.pulumi.azure.appinsights.InsightsArgs;\nimport com.pulumi.azure.monitoring.PrivateLinkScope;\nimport com.pulumi.azure.monitoring.PrivateLinkScopeArgs;\nimport com.pulumi.azure.monitoring.PrivateLinkScopedService;\nimport com.pulumi.azure.monitoring.PrivateLinkScopedServiceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleInsights = new Insights(\"exampleInsights\", InsightsArgs.builder()\n            .name(\"example-appinsights\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .applicationType(\"web\")\n            .build());\n\n        var examplePrivateLinkScope = new PrivateLinkScope(\"examplePrivateLinkScope\", PrivateLinkScopeArgs.builder()\n            .name(\"example-ampls\")\n            .resourceGroupName(example.name())\n            .build());\n\n        var examplePrivateLinkScopedService = new PrivateLinkScopedService(\"examplePrivateLinkScopedService\", PrivateLinkScopedServiceArgs.builder()\n            .name(\"example-amplsservice\")\n            .resourceGroupName(example.name())\n            .scopeName(examplePrivateLinkScope.name())\n            .linkedResourceId(exampleInsights.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleInsights:\n    type: azure:appinsights:Insights\n    name: example\n    properties:\n      name: example-appinsights\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      applicationType: web\n  examplePrivateLinkScope:\n    type: azure:monitoring:PrivateLinkScope\n    name: example\n    properties:\n      name: example-ampls\n      resourceGroupName: ${example.name}\n  examplePrivateLinkScopedService:\n    type: azure:monitoring:PrivateLinkScopedService\n    name: example\n    properties:\n      name: example-amplsservice\n      resourceGroupName: ${example.name}\n      scopeName: ${examplePrivateLinkScope.name}\n      linkedResourceId: ${exampleInsights.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Insights` - 2019-10-17-preview\n\n## Import\n\nAzure Monitor Private Link Scoped Services can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:monitoring/privateLinkScopedService:PrivateLinkScopedService example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Insights/privateLinkScopes/pls1/scopedResources/sr1\n```\n\n","properties":{"linkedResourceId":{"type":"string","description":"The ID of the linked resource. It must be the Log Analytics workspace or the Application Insights component or the Data Collection endpoint. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"The name of the Azure Monitor Private Link Scoped Service. Changing this forces a new resource to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Azure Monitor Private Link Scoped Service should exist. Changing this forces a new resource to be created.\n"},"scopeName":{"type":"string","description":"The name of the Azure Monitor Private Link Scope. Changing this forces a new resource to be created.\n"}},"required":["linkedResourceId","name","resourceGroupName","scopeName"],"inputProperties":{"linkedResourceId":{"type":"string","description":"The ID of the linked resource. It must be the Log Analytics workspace or the Application Insights component or the Data Collection endpoint. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the Azure Monitor Private Link Scoped Service. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Azure Monitor Private Link Scoped Service should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"scopeName":{"type":"string","description":"The name of the Azure Monitor Private Link Scope. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["linkedResourceId","resourceGroupName","scopeName"],"stateInputs":{"description":"Input properties used for looking up and filtering PrivateLinkScopedService resources.\n","properties":{"linkedResourceId":{"type":"string","description":"The ID of the linked resource. It must be the Log Analytics workspace or the Application Insights component or the Data Collection endpoint. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the Azure Monitor Private Link Scoped Service. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Azure Monitor Private Link Scoped Service should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"scopeName":{"type":"string","description":"The name of the Azure Monitor Private Link Scope. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:monitoring/scheduledQueryRulesAlert:ScheduledQueryRulesAlert":{"description":"Manages an AlertingAction Scheduled Query Rules resource within Azure Monitor.\n\n\u003e **Note:** This resource is using an older AzureRM API version which is known to cause problems e.g. with custom webhook properties not included in triggered alerts. This resource is superseded by the\u003cspan pulumi-lang-nodejs=\" azure.monitoring.ScheduledQueryRulesAlertV2 \" pulumi-lang-dotnet=\" azure.monitoring.ScheduledQueryRulesAlertV2 \" pulumi-lang-go=\" monitoring.ScheduledQueryRulesAlertV2 \" pulumi-lang-python=\" monitoring.ScheduledQueryRulesAlertV2 \" pulumi-lang-yaml=\" azure.monitoring.ScheduledQueryRulesAlertV2 \" pulumi-lang-java=\" azure.monitoring.ScheduledQueryRulesAlertV2 \"\u003e azure.monitoring.ScheduledQueryRulesAlertV2 \u003c/span\u003eresource using newer API versions.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\nimport * as std from \"@pulumi/std\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"monitoring-resources\",\n    location: \"West Europe\",\n});\nconst exampleInsights = new azure.appinsights.Insights(\"example\", {\n    name: \"appinsights\",\n    location: example.location,\n    resourceGroupName: example.name,\n    applicationType: \"web\",\n});\nconst example2 = new azure.appinsights.Insights(\"example2\", {\n    name: \"appinsights2\",\n    location: example.location,\n    resourceGroupName: example.name,\n    applicationType: \"web\",\n});\n// Example: Alerting Action with result count trigger\nconst exampleScheduledQueryRulesAlert = new azure.monitoring.ScheduledQueryRulesAlert(\"example\", {\n    name: \"example\",\n    location: example.location,\n    resourceGroupName: example.name,\n    action: {\n        actionGroups: [],\n        emailSubject: \"Email Header\",\n        customWebhookPayload: \"{}\",\n    },\n    dataSourceId: exampleInsights.id,\n    description: \"Alert when total results cross threshold\",\n    enabled: true,\n    query: `requests\n  | where tolong(resultCode) \u003e= 500\n  | summarize count() by bin(timestamp, 5m)\n`,\n    severity: 1,\n    frequency: 5,\n    timeWindow: 30,\n    trigger: {\n        operator: \"GreaterThan\",\n        threshold: 3,\n    },\n    tags: {\n        foo: \"bar\",\n    },\n});\n// Example: Alerting Action Cross-Resource\nconst example2ScheduledQueryRulesAlert = new azure.monitoring.ScheduledQueryRulesAlert(\"example2\", {\n    name: \"example\",\n    location: example.location,\n    resourceGroupName: example.name,\n    authorizedResourceIds: [example2.id],\n    action: {\n        actionGroups: [],\n        emailSubject: \"Email Header\",\n        customWebhookPayload: \"{}\",\n    },\n    dataSourceId: exampleInsights.id,\n    description: \"Query may access data within multiple resources\",\n    enabled: true,\n    query: std.format({\n        input: `let a=requests\n  | where toint(resultCode) \u003e= 500\n  | extend fail=1; let b=app('%s').requests\n  | where toint(resultCode) \u003e= 500 | extend fail=1; a\n  | join b on fail\n`,\n        args: [example2.id],\n    }).then(invoke =\u003e invoke.result),\n    severity: 1,\n    frequency: 5,\n    timeWindow: 30,\n    trigger: {\n        operator: \"GreaterThan\",\n        threshold: 3,\n    },\n    tags: {\n        foo: \"bar\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\nimport pulumi_std as std\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"monitoring-resources\",\n    location=\"West Europe\")\nexample_insights = azure.appinsights.Insights(\"example\",\n    name=\"appinsights\",\n    location=example.location,\n    resource_group_name=example.name,\n    application_type=\"web\")\nexample2 = azure.appinsights.Insights(\"example2\",\n    name=\"appinsights2\",\n    location=example.location,\n    resource_group_name=example.name,\n    application_type=\"web\")\n# Example: Alerting Action with result count trigger\nexample_scheduled_query_rules_alert = azure.monitoring.ScheduledQueryRulesAlert(\"example\",\n    name=\"example\",\n    location=example.location,\n    resource_group_name=example.name,\n    action={\n        \"action_groups\": [],\n        \"email_subject\": \"Email Header\",\n        \"custom_webhook_payload\": \"{}\",\n    },\n    data_source_id=example_insights.id,\n    description=\"Alert when total results cross threshold\",\n    enabled=True,\n    query=\"\"\"requests\n  | where tolong(resultCode) \u003e= 500\n  | summarize count() by bin(timestamp, 5m)\n\"\"\",\n    severity=1,\n    frequency=5,\n    time_window=30,\n    trigger={\n        \"operator\": \"GreaterThan\",\n        \"threshold\": 3,\n    },\n    tags={\n        \"foo\": \"bar\",\n    })\n# Example: Alerting Action Cross-Resource\nexample2_scheduled_query_rules_alert = azure.monitoring.ScheduledQueryRulesAlert(\"example2\",\n    name=\"example\",\n    location=example.location,\n    resource_group_name=example.name,\n    authorized_resource_ids=[example2.id],\n    action={\n        \"action_groups\": [],\n        \"email_subject\": \"Email Header\",\n        \"custom_webhook_payload\": \"{}\",\n    },\n    data_source_id=example_insights.id,\n    description=\"Query may access data within multiple resources\",\n    enabled=True,\n    query=std.format(input=\"\"\"let a=requests\n  | where toint(resultCode) \u003e= 500\n  | extend fail=1; let b=app('%s').requests\n  | where toint(resultCode) \u003e= 500 | extend fail=1; a\n  | join b on fail\n\"\"\",\n        args=[example2.id]).result,\n    severity=1,\n    frequency=5,\n    time_window=30,\n    trigger={\n        \"operator\": \"GreaterThan\",\n        \"threshold\": 3,\n    },\n    tags={\n        \"foo\": \"bar\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"monitoring-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleInsights = new Azure.AppInsights.Insights(\"example\", new()\n    {\n        Name = \"appinsights\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        ApplicationType = \"web\",\n    });\n\n    var example2 = new Azure.AppInsights.Insights(\"example2\", new()\n    {\n        Name = \"appinsights2\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        ApplicationType = \"web\",\n    });\n\n    // Example: Alerting Action with result count trigger\n    var exampleScheduledQueryRulesAlert = new Azure.Monitoring.ScheduledQueryRulesAlert(\"example\", new()\n    {\n        Name = \"example\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Action = new Azure.Monitoring.Inputs.ScheduledQueryRulesAlertActionArgs\n        {\n            ActionGroups = new() { },\n            EmailSubject = \"Email Header\",\n            CustomWebhookPayload = \"{}\",\n        },\n        DataSourceId = exampleInsights.Id,\n        Description = \"Alert when total results cross threshold\",\n        Enabled = true,\n        Query = @\"requests\n  | where tolong(resultCode) \u003e= 500\n  | summarize count() by bin(timestamp, 5m)\n\",\n        Severity = 1,\n        Frequency = 5,\n        TimeWindow = 30,\n        Trigger = new Azure.Monitoring.Inputs.ScheduledQueryRulesAlertTriggerArgs\n        {\n            Operator = \"GreaterThan\",\n            Threshold = 3,\n        },\n        Tags = \n        {\n            { \"foo\", \"bar\" },\n        },\n    });\n\n    // Example: Alerting Action Cross-Resource\n    var example2ScheduledQueryRulesAlert = new Azure.Monitoring.ScheduledQueryRulesAlert(\"example2\", new()\n    {\n        Name = \"example\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        AuthorizedResourceIds = new[]\n        {\n            example2.Id,\n        },\n        Action = new Azure.Monitoring.Inputs.ScheduledQueryRulesAlertActionArgs\n        {\n            ActionGroups = new() { },\n            EmailSubject = \"Email Header\",\n            CustomWebhookPayload = \"{}\",\n        },\n        DataSourceId = exampleInsights.Id,\n        Description = \"Query may access data within multiple resources\",\n        Enabled = true,\n        Query = Std.Format.Invoke(new()\n        {\n            Input = @\"let a=requests\n  | where toint(resultCode) \u003e= 500\n  | extend fail=1; let b=app('%s').requests\n  | where toint(resultCode) \u003e= 500 | extend fail=1; a\n  | join b on fail\n\",\n            Args = new[]\n            {\n                example2.Id,\n            },\n        }).Apply(invoke =\u003e invoke.Result),\n        Severity = 1,\n        Frequency = 5,\n        TimeWindow = 30,\n        Trigger = new Azure.Monitoring.Inputs.ScheduledQueryRulesAlertTriggerArgs\n        {\n            Operator = \"GreaterThan\",\n            Threshold = 3,\n        },\n        Tags = \n        {\n            { \"foo\", \"bar\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/appinsights\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/monitoring\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"monitoring-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleInsights, err := appinsights.NewInsights(ctx, \"example\", \u0026appinsights.InsightsArgs{\n\t\t\tName:              pulumi.String(\"appinsights\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tApplicationType:   pulumi.String(\"web\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample2, err := appinsights.NewInsights(ctx, \"example2\", \u0026appinsights.InsightsArgs{\n\t\t\tName:              pulumi.String(\"appinsights2\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tApplicationType:   pulumi.String(\"web\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Example: Alerting Action with result count trigger\n\t\t_, err = monitoring.NewScheduledQueryRulesAlert(ctx, \"example\", \u0026monitoring.ScheduledQueryRulesAlertArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tAction: \u0026monitoring.ScheduledQueryRulesAlertActionArgs{\n\t\t\t\tActionGroups:         pulumi.StringArray{},\n\t\t\t\tEmailSubject:         pulumi.String(\"Email Header\"),\n\t\t\t\tCustomWebhookPayload: pulumi.String(\"{}\"),\n\t\t\t},\n\t\t\tDataSourceId: exampleInsights.ID(),\n\t\t\tDescription:  pulumi.String(\"Alert when total results cross threshold\"),\n\t\t\tEnabled:      pulumi.Bool(true),\n\t\t\tQuery:        pulumi.String(\"requests\\n  | where tolong(resultCode) \u003e= 500\\n  | summarize count() by bin(timestamp, 5m)\\n\"),\n\t\t\tSeverity:     pulumi.Int(1),\n\t\t\tFrequency:    pulumi.Int(5),\n\t\t\tTimeWindow:   pulumi.Int(30),\n\t\t\tTrigger: \u0026monitoring.ScheduledQueryRulesAlertTriggerArgs{\n\t\t\t\tOperator:  pulumi.String(\"GreaterThan\"),\n\t\t\t\tThreshold: pulumi.Float64(3),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"foo\": pulumi.String(\"bar\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFormat, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: `let a=requests\n  | where toint(resultCode) \u003e= 500\n  | extend fail=1; let b=app('%s').requests\n  | where toint(resultCode) \u003e= 500 | extend fail=1; a\n  | join b on fail\n`,\n\t\t\tArgs: pulumi.StringArray{\n\t\t\t\texample2.ID(),\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Example: Alerting Action Cross-Resource\n\t\t_, err = monitoring.NewScheduledQueryRulesAlert(ctx, \"example2\", \u0026monitoring.ScheduledQueryRulesAlertArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tAuthorizedResourceIds: pulumi.StringArray{\n\t\t\t\texample2.ID(),\n\t\t\t},\n\t\t\tAction: \u0026monitoring.ScheduledQueryRulesAlertActionArgs{\n\t\t\t\tActionGroups:         pulumi.StringArray{},\n\t\t\t\tEmailSubject:         pulumi.String(\"Email Header\"),\n\t\t\t\tCustomWebhookPayload: pulumi.String(\"{}\"),\n\t\t\t},\n\t\t\tDataSourceId: exampleInsights.ID(),\n\t\t\tDescription:  pulumi.String(\"Query may access data within multiple resources\"),\n\t\t\tEnabled:      pulumi.Bool(true),\n\t\t\tQuery:        pulumi.String(invokeFormat.Result),\n\t\t\tSeverity:     pulumi.Int(1),\n\t\t\tFrequency:    pulumi.Int(5),\n\t\t\tTimeWindow:   pulumi.Int(30),\n\t\t\tTrigger: \u0026monitoring.ScheduledQueryRulesAlertTriggerArgs{\n\t\t\t\tOperator:  pulumi.String(\"GreaterThan\"),\n\t\t\t\tThreshold: pulumi.Float64(3),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"foo\": pulumi.String(\"bar\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.appinsights.Insights;\nimport com.pulumi.azure.appinsights.InsightsArgs;\nimport com.pulumi.azure.monitoring.ScheduledQueryRulesAlert;\nimport com.pulumi.azure.monitoring.ScheduledQueryRulesAlertArgs;\nimport com.pulumi.azure.monitoring.inputs.ScheduledQueryRulesAlertActionArgs;\nimport com.pulumi.azure.monitoring.inputs.ScheduledQueryRulesAlertTriggerArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.FormatArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"monitoring-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleInsights = new Insights(\"exampleInsights\", InsightsArgs.builder()\n            .name(\"appinsights\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .applicationType(\"web\")\n            .build());\n\n        var example2 = new Insights(\"example2\", InsightsArgs.builder()\n            .name(\"appinsights2\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .applicationType(\"web\")\n            .build());\n\n        // Example: Alerting Action with result count trigger\n        var exampleScheduledQueryRulesAlert = new ScheduledQueryRulesAlert(\"exampleScheduledQueryRulesAlert\", ScheduledQueryRulesAlertArgs.builder()\n            .name(\"example\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .action(ScheduledQueryRulesAlertActionArgs.builder()\n                .actionGroups()\n                .emailSubject(\"Email Header\")\n                .customWebhookPayload(\"{}\")\n                .build())\n            .dataSourceId(exampleInsights.id())\n            .description(\"Alert when total results cross threshold\")\n            .enabled(true)\n            .query(\"\"\"\nrequests\n  | where tolong(resultCode) \u003e= 500\n  | summarize count() by bin(timestamp, 5m)\n            \"\"\")\n            .severity(1)\n            .frequency(5)\n            .timeWindow(30)\n            .trigger(ScheduledQueryRulesAlertTriggerArgs.builder()\n                .operator(\"GreaterThan\")\n                .threshold(3.0)\n                .build())\n            .tags(Map.of(\"foo\", \"bar\"))\n            .build());\n\n        // Example: Alerting Action Cross-Resource\n        var example2ScheduledQueryRulesAlert = new ScheduledQueryRulesAlert(\"example2ScheduledQueryRulesAlert\", ScheduledQueryRulesAlertArgs.builder()\n            .name(\"example\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .authorizedResourceIds(example2.id())\n            .action(ScheduledQueryRulesAlertActionArgs.builder()\n                .actionGroups()\n                .emailSubject(\"Email Header\")\n                .customWebhookPayload(\"{}\")\n                .build())\n            .dataSourceId(exampleInsights.id())\n            .description(\"Query may access data within multiple resources\")\n            .enabled(true)\n            .query(StdFunctions.format(FormatArgs.builder()\n                .input(\"\"\"\nlet a=requests\n  | where toint(resultCode) \u003e= 500\n  | extend fail=1; let b=app('%s').requests\n  | where toint(resultCode) \u003e= 500 | extend fail=1; a\n  | join b on fail\n                \"\"\")\n                .args(example2.id())\n                .build()).result())\n            .severity(1)\n            .frequency(5)\n            .timeWindow(30)\n            .trigger(ScheduledQueryRulesAlertTriggerArgs.builder()\n                .operator(\"GreaterThan\")\n                .threshold(3.0)\n                .build())\n            .tags(Map.of(\"foo\", \"bar\"))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: monitoring-resources\n      location: West Europe\n  exampleInsights:\n    type: azure:appinsights:Insights\n    name: example\n    properties:\n      name: appinsights\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      applicationType: web\n  example2:\n    type: azure:appinsights:Insights\n    properties:\n      name: appinsights2\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      applicationType: web\n  # Example: Alerting Action with result count trigger\n  exampleScheduledQueryRulesAlert:\n    type: azure:monitoring:ScheduledQueryRulesAlert\n    name: example\n    properties:\n      name: example\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      action:\n        actionGroups: []\n        emailSubject: Email Header\n        customWebhookPayload: '{}'\n      dataSourceId: ${exampleInsights.id}\n      description: Alert when total results cross threshold\n      enabled: true # Count all requests with server error result code grouped into 5-minute bins\n      query: |\n        requests\n          | where tolong(resultCode) \u003e= 500\n          | summarize count() by bin(timestamp, 5m)\n      severity: 1\n      frequency: 5\n      timeWindow: 30\n      trigger:\n        operator: GreaterThan\n        threshold: 3\n      tags:\n        foo: bar\n  # Example: Alerting Action Cross-Resource\n  example2ScheduledQueryRulesAlert:\n    type: azure:monitoring:ScheduledQueryRulesAlert\n    name: example2\n    properties:\n      name: example\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      authorizedResourceIds:\n        - ${example2.id}\n      action:\n        actionGroups: []\n        emailSubject: Email Header\n        customWebhookPayload: '{}'\n      dataSourceId: ${exampleInsights.id}\n      description: Query may access data within multiple resources\n      enabled: true # Count requests in multiple log resources and group into 5-minute bins by HTTP operation\n      query:\n        fn::invoke:\n          function: std:format\n          arguments:\n            input: |\n              let a=requests\n                | where toint(resultCode) \u003e= 500\n                | extend fail=1; let b=app('%s').requests\n                | where toint(resultCode) \u003e= 500 | extend fail=1; a\n                | join b on fail\n            args:\n              - ${example2.id}\n          return: result\n      severity: 1\n      frequency: 5\n      timeWindow: 30\n      trigger:\n        operator: GreaterThan\n        threshold: 3\n      tags:\n        foo: bar\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Insights` - 2018-04-16\n\n## Import\n\nScheduled Query Rule Alerts can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:monitoring/scheduledQueryRulesAlert:ScheduledQueryRulesAlert example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Insights/scheduledQueryRules/myrulename\n```\n\n","properties":{"action":{"$ref":"#/types/azure:monitoring/ScheduledQueryRulesAlertAction:ScheduledQueryRulesAlertAction","description":"An \u003cspan pulumi-lang-nodejs=\"`action`\" pulumi-lang-dotnet=\"`Action`\" pulumi-lang-go=\"`action`\" pulumi-lang-python=\"`action`\" pulumi-lang-yaml=\"`action`\" pulumi-lang-java=\"`action`\"\u003e`action`\u003c/span\u003e block as defined below.\n"},"authorizedResourceIds":{"type":"array","items":{"type":"string"},"description":"List of Resource IDs referred into query.\n"},"autoMitigationEnabled":{"type":"boolean","description":"Should the alerts in this Metric Alert be auto resolved? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`autoMitigationEnabled`\" pulumi-lang-dotnet=\"`AutoMitigationEnabled`\" pulumi-lang-go=\"`autoMitigationEnabled`\" pulumi-lang-python=\"`auto_mitigation_enabled`\" pulumi-lang-yaml=\"`autoMitigationEnabled`\" pulumi-lang-java=\"`autoMitigationEnabled`\"\u003e`auto_mitigation_enabled`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`throttling`\" pulumi-lang-dotnet=\"`Throttling`\" pulumi-lang-go=\"`throttling`\" pulumi-lang-python=\"`throttling`\" pulumi-lang-yaml=\"`throttling`\" pulumi-lang-java=\"`throttling`\"\u003e`throttling`\u003c/span\u003e are mutually exclusive and cannot both be set.\n"},"dataSourceId":{"type":"string","description":"The resource URI over which log search query is to be run. Changing this forces a new resource to be created.\n"},"description":{"type":"string","description":"The description of the scheduled query rule.\n"},"enabled":{"type":"boolean","description":"Whether this scheduled query rule is enabled. Default is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"frequency":{"type":"integer","description":"Frequency (in minutes) at which rule condition should be evaluated. Values must be between 5 and 1440 (inclusive).\n"},"location":{"type":"string","description":"Specifies the Azure Region where the resource should exist. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"The name of the scheduled query rule. Changing this forces a new resource to be created.\n"},"query":{"type":"string","description":"Log search query.\n"},"queryType":{"type":"string","description":"The type of query results. Possible values are `ResultCount` and `Number`. Default is `ResultCount`. If set to `ResultCount`, \u003cspan pulumi-lang-nodejs=\"`query`\" pulumi-lang-dotnet=\"`Query`\" pulumi-lang-go=\"`query`\" pulumi-lang-python=\"`query`\" pulumi-lang-yaml=\"`query`\" pulumi-lang-java=\"`query`\"\u003e`query`\u003c/span\u003e must include an `AggregatedValue` column of a numeric type, for example, `Heartbeat | summarize AggregatedValue = count() by bin(TimeGenerated, 5m)`.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the scheduled query rule instance. Changing this forces a new resource to be created.\n"},"severity":{"type":"integer","description":"Severity of the alert. Possible values include: 0, 1, 2, 3, or 4.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"throttling":{"type":"integer","description":"Time (in minutes) for which Alerts should be throttled or suppressed. Values must be between 0 and 10000 (inclusive).\n"},"timeWindow":{"type":"integer","description":"Time window for which data needs to be fetched for query (must be greater than or equal to \u003cspan pulumi-lang-nodejs=\"`frequency`\" pulumi-lang-dotnet=\"`Frequency`\" pulumi-lang-go=\"`frequency`\" pulumi-lang-python=\"`frequency`\" pulumi-lang-yaml=\"`frequency`\" pulumi-lang-java=\"`frequency`\"\u003e`frequency`\u003c/span\u003e). Values must be between 5 and 2880 (inclusive).\n"},"trigger":{"$ref":"#/types/azure:monitoring/ScheduledQueryRulesAlertTrigger:ScheduledQueryRulesAlertTrigger","description":"A \u003cspan pulumi-lang-nodejs=\"`trigger`\" pulumi-lang-dotnet=\"`Trigger`\" pulumi-lang-go=\"`trigger`\" pulumi-lang-python=\"`trigger`\" pulumi-lang-yaml=\"`trigger`\" pulumi-lang-java=\"`trigger`\"\u003e`trigger`\u003c/span\u003e block as defined below.\n"}},"required":["action","dataSourceId","frequency","location","name","query","resourceGroupName","timeWindow","trigger"],"inputProperties":{"action":{"$ref":"#/types/azure:monitoring/ScheduledQueryRulesAlertAction:ScheduledQueryRulesAlertAction","description":"An \u003cspan pulumi-lang-nodejs=\"`action`\" pulumi-lang-dotnet=\"`Action`\" pulumi-lang-go=\"`action`\" pulumi-lang-python=\"`action`\" pulumi-lang-yaml=\"`action`\" pulumi-lang-java=\"`action`\"\u003e`action`\u003c/span\u003e block as defined below.\n"},"authorizedResourceIds":{"type":"array","items":{"type":"string"},"description":"List of Resource IDs referred into query.\n"},"autoMitigationEnabled":{"type":"boolean","description":"Should the alerts in this Metric Alert be auto resolved? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`autoMitigationEnabled`\" pulumi-lang-dotnet=\"`AutoMitigationEnabled`\" pulumi-lang-go=\"`autoMitigationEnabled`\" pulumi-lang-python=\"`auto_mitigation_enabled`\" pulumi-lang-yaml=\"`autoMitigationEnabled`\" pulumi-lang-java=\"`autoMitigationEnabled`\"\u003e`auto_mitigation_enabled`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`throttling`\" pulumi-lang-dotnet=\"`Throttling`\" pulumi-lang-go=\"`throttling`\" pulumi-lang-python=\"`throttling`\" pulumi-lang-yaml=\"`throttling`\" pulumi-lang-java=\"`throttling`\"\u003e`throttling`\u003c/span\u003e are mutually exclusive and cannot both be set.\n"},"dataSourceId":{"type":"string","description":"The resource URI over which log search query is to be run. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"description":{"type":"string","description":"The description of the scheduled query rule.\n"},"enabled":{"type":"boolean","description":"Whether this scheduled query rule is enabled. Default is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"frequency":{"type":"integer","description":"Frequency (in minutes) at which rule condition should be evaluated. Values must be between 5 and 1440 (inclusive).\n"},"location":{"type":"string","description":"Specifies the Azure Region where the resource should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the scheduled query rule. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"query":{"type":"string","description":"Log search query.\n"},"queryType":{"type":"string","description":"The type of query results. Possible values are `ResultCount` and `Number`. Default is `ResultCount`. If set to `ResultCount`, \u003cspan pulumi-lang-nodejs=\"`query`\" pulumi-lang-dotnet=\"`Query`\" pulumi-lang-go=\"`query`\" pulumi-lang-python=\"`query`\" pulumi-lang-yaml=\"`query`\" pulumi-lang-java=\"`query`\"\u003e`query`\u003c/span\u003e must include an `AggregatedValue` column of a numeric type, for example, `Heartbeat | summarize AggregatedValue = count() by bin(TimeGenerated, 5m)`.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the scheduled query rule instance. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"severity":{"type":"integer","description":"Severity of the alert. Possible values include: 0, 1, 2, 3, or 4.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"throttling":{"type":"integer","description":"Time (in minutes) for which Alerts should be throttled or suppressed. Values must be between 0 and 10000 (inclusive).\n"},"timeWindow":{"type":"integer","description":"Time window for which data needs to be fetched for query (must be greater than or equal to \u003cspan pulumi-lang-nodejs=\"`frequency`\" pulumi-lang-dotnet=\"`Frequency`\" pulumi-lang-go=\"`frequency`\" pulumi-lang-python=\"`frequency`\" pulumi-lang-yaml=\"`frequency`\" pulumi-lang-java=\"`frequency`\"\u003e`frequency`\u003c/span\u003e). Values must be between 5 and 2880 (inclusive).\n"},"trigger":{"$ref":"#/types/azure:monitoring/ScheduledQueryRulesAlertTrigger:ScheduledQueryRulesAlertTrigger","description":"A \u003cspan pulumi-lang-nodejs=\"`trigger`\" pulumi-lang-dotnet=\"`Trigger`\" pulumi-lang-go=\"`trigger`\" pulumi-lang-python=\"`trigger`\" pulumi-lang-yaml=\"`trigger`\" pulumi-lang-java=\"`trigger`\"\u003e`trigger`\u003c/span\u003e block as defined below.\n"}},"requiredInputs":["action","dataSourceId","frequency","query","resourceGroupName","timeWindow","trigger"],"stateInputs":{"description":"Input properties used for looking up and filtering ScheduledQueryRulesAlert resources.\n","properties":{"action":{"$ref":"#/types/azure:monitoring/ScheduledQueryRulesAlertAction:ScheduledQueryRulesAlertAction","description":"An \u003cspan pulumi-lang-nodejs=\"`action`\" pulumi-lang-dotnet=\"`Action`\" pulumi-lang-go=\"`action`\" pulumi-lang-python=\"`action`\" pulumi-lang-yaml=\"`action`\" pulumi-lang-java=\"`action`\"\u003e`action`\u003c/span\u003e block as defined below.\n"},"authorizedResourceIds":{"type":"array","items":{"type":"string"},"description":"List of Resource IDs referred into query.\n"},"autoMitigationEnabled":{"type":"boolean","description":"Should the alerts in this Metric Alert be auto resolved? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`autoMitigationEnabled`\" pulumi-lang-dotnet=\"`AutoMitigationEnabled`\" pulumi-lang-go=\"`autoMitigationEnabled`\" pulumi-lang-python=\"`auto_mitigation_enabled`\" pulumi-lang-yaml=\"`autoMitigationEnabled`\" pulumi-lang-java=\"`autoMitigationEnabled`\"\u003e`auto_mitigation_enabled`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`throttling`\" pulumi-lang-dotnet=\"`Throttling`\" pulumi-lang-go=\"`throttling`\" pulumi-lang-python=\"`throttling`\" pulumi-lang-yaml=\"`throttling`\" pulumi-lang-java=\"`throttling`\"\u003e`throttling`\u003c/span\u003e are mutually exclusive and cannot both be set.\n"},"dataSourceId":{"type":"string","description":"The resource URI over which log search query is to be run. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"description":{"type":"string","description":"The description of the scheduled query rule.\n"},"enabled":{"type":"boolean","description":"Whether this scheduled query rule is enabled. Default is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"frequency":{"type":"integer","description":"Frequency (in minutes) at which rule condition should be evaluated. Values must be between 5 and 1440 (inclusive).\n"},"location":{"type":"string","description":"Specifies the Azure Region where the resource should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the scheduled query rule. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"query":{"type":"string","description":"Log search query.\n"},"queryType":{"type":"string","description":"The type of query results. Possible values are `ResultCount` and `Number`. Default is `ResultCount`. If set to `ResultCount`, \u003cspan pulumi-lang-nodejs=\"`query`\" pulumi-lang-dotnet=\"`Query`\" pulumi-lang-go=\"`query`\" pulumi-lang-python=\"`query`\" pulumi-lang-yaml=\"`query`\" pulumi-lang-java=\"`query`\"\u003e`query`\u003c/span\u003e must include an `AggregatedValue` column of a numeric type, for example, `Heartbeat | summarize AggregatedValue = count() by bin(TimeGenerated, 5m)`.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the scheduled query rule instance. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"severity":{"type":"integer","description":"Severity of the alert. Possible values include: 0, 1, 2, 3, or 4.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"throttling":{"type":"integer","description":"Time (in minutes) for which Alerts should be throttled or suppressed. Values must be between 0 and 10000 (inclusive).\n"},"timeWindow":{"type":"integer","description":"Time window for which data needs to be fetched for query (must be greater than or equal to \u003cspan pulumi-lang-nodejs=\"`frequency`\" pulumi-lang-dotnet=\"`Frequency`\" pulumi-lang-go=\"`frequency`\" pulumi-lang-python=\"`frequency`\" pulumi-lang-yaml=\"`frequency`\" pulumi-lang-java=\"`frequency`\"\u003e`frequency`\u003c/span\u003e). Values must be between 5 and 2880 (inclusive).\n"},"trigger":{"$ref":"#/types/azure:monitoring/ScheduledQueryRulesAlertTrigger:ScheduledQueryRulesAlertTrigger","description":"A \u003cspan pulumi-lang-nodejs=\"`trigger`\" pulumi-lang-dotnet=\"`Trigger`\" pulumi-lang-go=\"`trigger`\" pulumi-lang-python=\"`trigger`\" pulumi-lang-yaml=\"`trigger`\" pulumi-lang-java=\"`trigger`\"\u003e`trigger`\u003c/span\u003e block as defined below.\n"}},"type":"object"}},"azure:monitoring/scheduledQueryRulesAlertV2:ScheduledQueryRulesAlertV2":{"description":"Manages an AlertingAction Scheduled Query Rules Version 2 resource within Azure Monitor\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleInsights = new azure.appinsights.Insights(\"example\", {\n    name: \"example-ai\",\n    location: example.location,\n    resourceGroupName: example.name,\n    applicationType: \"web\",\n});\nconst exampleActionGroup = new azure.monitoring.ActionGroup(\"example\", {\n    name: \"example-mag\",\n    resourceGroupName: example.name,\n    shortName: \"test mag\",\n});\nconst exampleUserAssignedIdentity = new azure.authorization.UserAssignedIdentity(\"example\", {\n    name: \"example-uai\",\n    location: example.location,\n    resourceGroupName: example.name,\n});\nconst exampleAssignment = new azure.authorization.Assignment(\"example\", {\n    scope: exampleInsights.id,\n    roleDefinitionName: \"Reader\",\n    principalId: exampleUserAssignedIdentity.principalId,\n});\nconst exampleScheduledQueryRulesAlertV2 = new azure.monitoring.ScheduledQueryRulesAlertV2(\"example\", {\n    name: \"example-msqrv2\",\n    resourceGroupName: example.name,\n    location: example.location,\n    evaluationFrequency: \"PT10M\",\n    windowDuration: \"PT10M\",\n    scopes: exampleInsights.id,\n    severity: 4,\n    criterias: [{\n        query: `requests\n  | summarize CountByCountry=count() by client_CountryOrRegion\n`,\n        timeAggregationMethod: \"Maximum\",\n        threshold: 17.5,\n        operator: \"LessThan\",\n        resourceIdColumn: \"client_CountryOrRegion\",\n        metricMeasureColumn: \"CountByCountry\",\n        dimensions: [{\n            name: \"client_CountryOrRegion\",\n            operator: \"Exclude\",\n            values: [\"123\"],\n        }],\n        failingPeriods: {\n            minimumFailingPeriodsToTriggerAlert: 1,\n            numberOfEvaluationPeriods: 1,\n        },\n    }],\n    autoMitigationEnabled: true,\n    workspaceAlertsStorageEnabled: false,\n    description: \"example sqr\",\n    displayName: \"example-sqr\",\n    enabled: true,\n    queryTimeRangeOverride: \"PT1H\",\n    skipQueryValidation: true,\n    action: {\n        actionGroups: [exampleActionGroup.id],\n        customProperties: {\n            key: \"value\",\n            key2: \"value2\",\n        },\n    },\n    identity: {\n        type: \"UserAssigned\",\n        identityIds: [exampleUserAssignedIdentity.id],\n    },\n    tags: {\n        key: \"value\",\n        key2: \"value2\",\n    },\n}, {\n    dependsOn: [exampleAssignment],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_insights = azure.appinsights.Insights(\"example\",\n    name=\"example-ai\",\n    location=example.location,\n    resource_group_name=example.name,\n    application_type=\"web\")\nexample_action_group = azure.monitoring.ActionGroup(\"example\",\n    name=\"example-mag\",\n    resource_group_name=example.name,\n    short_name=\"test mag\")\nexample_user_assigned_identity = azure.authorization.UserAssignedIdentity(\"example\",\n    name=\"example-uai\",\n    location=example.location,\n    resource_group_name=example.name)\nexample_assignment = azure.authorization.Assignment(\"example\",\n    scope=example_insights.id,\n    role_definition_name=\"Reader\",\n    principal_id=example_user_assigned_identity.principal_id)\nexample_scheduled_query_rules_alert_v2 = azure.monitoring.ScheduledQueryRulesAlertV2(\"example\",\n    name=\"example-msqrv2\",\n    resource_group_name=example.name,\n    location=example.location,\n    evaluation_frequency=\"PT10M\",\n    window_duration=\"PT10M\",\n    scopes=example_insights.id,\n    severity=4,\n    criterias=[{\n        \"query\": \"\"\"requests\n  | summarize CountByCountry=count() by client_CountryOrRegion\n\"\"\",\n        \"time_aggregation_method\": \"Maximum\",\n        \"threshold\": 17.5,\n        \"operator\": \"LessThan\",\n        \"resource_id_column\": \"client_CountryOrRegion\",\n        \"metric_measure_column\": \"CountByCountry\",\n        \"dimensions\": [{\n            \"name\": \"client_CountryOrRegion\",\n            \"operator\": \"Exclude\",\n            \"values\": [\"123\"],\n        }],\n        \"failing_periods\": {\n            \"minimum_failing_periods_to_trigger_alert\": 1,\n            \"number_of_evaluation_periods\": 1,\n        },\n    }],\n    auto_mitigation_enabled=True,\n    workspace_alerts_storage_enabled=False,\n    description=\"example sqr\",\n    display_name=\"example-sqr\",\n    enabled=True,\n    query_time_range_override=\"PT1H\",\n    skip_query_validation=True,\n    action={\n        \"action_groups\": [example_action_group.id],\n        \"custom_properties\": {\n            \"key\": \"value\",\n            \"key2\": \"value2\",\n        },\n    },\n    identity={\n        \"type\": \"UserAssigned\",\n        \"identity_ids\": [example_user_assigned_identity.id],\n    },\n    tags={\n        \"key\": \"value\",\n        \"key2\": \"value2\",\n    },\n    opts = pulumi.ResourceOptions(depends_on=[example_assignment]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleInsights = new Azure.AppInsights.Insights(\"example\", new()\n    {\n        Name = \"example-ai\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        ApplicationType = \"web\",\n    });\n\n    var exampleActionGroup = new Azure.Monitoring.ActionGroup(\"example\", new()\n    {\n        Name = \"example-mag\",\n        ResourceGroupName = example.Name,\n        ShortName = \"test mag\",\n    });\n\n    var exampleUserAssignedIdentity = new Azure.Authorization.UserAssignedIdentity(\"example\", new()\n    {\n        Name = \"example-uai\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n    });\n\n    var exampleAssignment = new Azure.Authorization.Assignment(\"example\", new()\n    {\n        Scope = exampleInsights.Id,\n        RoleDefinitionName = \"Reader\",\n        PrincipalId = exampleUserAssignedIdentity.PrincipalId,\n    });\n\n    var exampleScheduledQueryRulesAlertV2 = new Azure.Monitoring.ScheduledQueryRulesAlertV2(\"example\", new()\n    {\n        Name = \"example-msqrv2\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        EvaluationFrequency = \"PT10M\",\n        WindowDuration = \"PT10M\",\n        Scopes = exampleInsights.Id,\n        Severity = 4,\n        Criterias = new[]\n        {\n            new Azure.Monitoring.Inputs.ScheduledQueryRulesAlertV2CriteriaArgs\n            {\n                Query = @\"requests\n  | summarize CountByCountry=count() by client_CountryOrRegion\n\",\n                TimeAggregationMethod = \"Maximum\",\n                Threshold = 17.5,\n                Operator = \"LessThan\",\n                ResourceIdColumn = \"client_CountryOrRegion\",\n                MetricMeasureColumn = \"CountByCountry\",\n                Dimensions = new[]\n                {\n                    new Azure.Monitoring.Inputs.ScheduledQueryRulesAlertV2CriteriaDimensionArgs\n                    {\n                        Name = \"client_CountryOrRegion\",\n                        Operator = \"Exclude\",\n                        Values = new[]\n                        {\n                            \"123\",\n                        },\n                    },\n                },\n                FailingPeriods = new Azure.Monitoring.Inputs.ScheduledQueryRulesAlertV2CriteriaFailingPeriodsArgs\n                {\n                    MinimumFailingPeriodsToTriggerAlert = 1,\n                    NumberOfEvaluationPeriods = 1,\n                },\n            },\n        },\n        AutoMitigationEnabled = true,\n        WorkspaceAlertsStorageEnabled = false,\n        Description = \"example sqr\",\n        DisplayName = \"example-sqr\",\n        Enabled = true,\n        QueryTimeRangeOverride = \"PT1H\",\n        SkipQueryValidation = true,\n        Action = new Azure.Monitoring.Inputs.ScheduledQueryRulesAlertV2ActionArgs\n        {\n            ActionGroups = new[]\n            {\n                exampleActionGroup.Id,\n            },\n            CustomProperties = \n            {\n                { \"key\", \"value\" },\n                { \"key2\", \"value2\" },\n            },\n        },\n        Identity = new Azure.Monitoring.Inputs.ScheduledQueryRulesAlertV2IdentityArgs\n        {\n            Type = \"UserAssigned\",\n            IdentityIds = new[]\n            {\n                exampleUserAssignedIdentity.Id,\n            },\n        },\n        Tags = \n        {\n            { \"key\", \"value\" },\n            { \"key2\", \"value2\" },\n        },\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            exampleAssignment,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/appinsights\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/authorization\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/monitoring\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleInsights, err := appinsights.NewInsights(ctx, \"example\", \u0026appinsights.InsightsArgs{\n\t\t\tName:              pulumi.String(\"example-ai\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tApplicationType:   pulumi.String(\"web\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleActionGroup, err := monitoring.NewActionGroup(ctx, \"example\", \u0026monitoring.ActionGroupArgs{\n\t\t\tName:              pulumi.String(\"example-mag\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tShortName:         pulumi.String(\"test mag\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleUserAssignedIdentity, err := authorization.NewUserAssignedIdentity(ctx, \"example\", \u0026authorization.UserAssignedIdentityArgs{\n\t\t\tName:              pulumi.String(\"example-uai\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAssignment, err := authorization.NewAssignment(ctx, \"example\", \u0026authorization.AssignmentArgs{\n\t\t\tScope:              exampleInsights.ID(),\n\t\t\tRoleDefinitionName: pulumi.String(\"Reader\"),\n\t\t\tPrincipalId:        exampleUserAssignedIdentity.PrincipalId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = monitoring.NewScheduledQueryRulesAlertV2(ctx, \"example\", \u0026monitoring.ScheduledQueryRulesAlertV2Args{\n\t\t\tName:                pulumi.String(\"example-msqrv2\"),\n\t\t\tResourceGroupName:   example.Name,\n\t\t\tLocation:            example.Location,\n\t\t\tEvaluationFrequency: pulumi.String(\"PT10M\"),\n\t\t\tWindowDuration:      pulumi.String(\"PT10M\"),\n\t\t\tScopes:              exampleInsights.ID(),\n\t\t\tSeverity:            pulumi.Int(4),\n\t\t\tCriterias: monitoring.ScheduledQueryRulesAlertV2CriteriaArray{\n\t\t\t\t\u0026monitoring.ScheduledQueryRulesAlertV2CriteriaArgs{\n\t\t\t\t\tQuery:                 pulumi.String(\"requests\\n  | summarize CountByCountry=count() by client_CountryOrRegion\\n\"),\n\t\t\t\t\tTimeAggregationMethod: pulumi.String(\"Maximum\"),\n\t\t\t\t\tThreshold:             pulumi.Float64(17.5),\n\t\t\t\t\tOperator:              pulumi.String(\"LessThan\"),\n\t\t\t\t\tResourceIdColumn:      pulumi.String(\"client_CountryOrRegion\"),\n\t\t\t\t\tMetricMeasureColumn:   pulumi.String(\"CountByCountry\"),\n\t\t\t\t\tDimensions: monitoring.ScheduledQueryRulesAlertV2CriteriaDimensionArray{\n\t\t\t\t\t\t\u0026monitoring.ScheduledQueryRulesAlertV2CriteriaDimensionArgs{\n\t\t\t\t\t\t\tName:     pulumi.String(\"client_CountryOrRegion\"),\n\t\t\t\t\t\t\tOperator: pulumi.String(\"Exclude\"),\n\t\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"123\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tFailingPeriods: \u0026monitoring.ScheduledQueryRulesAlertV2CriteriaFailingPeriodsArgs{\n\t\t\t\t\t\tMinimumFailingPeriodsToTriggerAlert: pulumi.Int(1),\n\t\t\t\t\t\tNumberOfEvaluationPeriods:           pulumi.Int(1),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tAutoMitigationEnabled:         pulumi.Bool(true),\n\t\t\tWorkspaceAlertsStorageEnabled: pulumi.Bool(false),\n\t\t\tDescription:                   pulumi.String(\"example sqr\"),\n\t\t\tDisplayName:                   pulumi.String(\"example-sqr\"),\n\t\t\tEnabled:                       pulumi.Bool(true),\n\t\t\tQueryTimeRangeOverride:        pulumi.String(\"PT1H\"),\n\t\t\tSkipQueryValidation:           pulumi.Bool(true),\n\t\t\tAction: \u0026monitoring.ScheduledQueryRulesAlertV2ActionArgs{\n\t\t\t\tActionGroups: pulumi.StringArray{\n\t\t\t\t\texampleActionGroup.ID(),\n\t\t\t\t},\n\t\t\t\tCustomProperties: pulumi.StringMap{\n\t\t\t\t\t\"key\":  pulumi.String(\"value\"),\n\t\t\t\t\t\"key2\": pulumi.String(\"value2\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tIdentity: \u0026monitoring.ScheduledQueryRulesAlertV2IdentityArgs{\n\t\t\t\tType: pulumi.String(\"UserAssigned\"),\n\t\t\t\tIdentityIds: pulumi.StringArray{\n\t\t\t\t\texampleUserAssignedIdentity.ID(),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"key\":  pulumi.String(\"value\"),\n\t\t\t\t\"key2\": pulumi.String(\"value2\"),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleAssignment,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.appinsights.Insights;\nimport com.pulumi.azure.appinsights.InsightsArgs;\nimport com.pulumi.azure.monitoring.ActionGroup;\nimport com.pulumi.azure.monitoring.ActionGroupArgs;\nimport com.pulumi.azure.authorization.UserAssignedIdentity;\nimport com.pulumi.azure.authorization.UserAssignedIdentityArgs;\nimport com.pulumi.azure.authorization.Assignment;\nimport com.pulumi.azure.authorization.AssignmentArgs;\nimport com.pulumi.azure.monitoring.ScheduledQueryRulesAlertV2;\nimport com.pulumi.azure.monitoring.ScheduledQueryRulesAlertV2Args;\nimport com.pulumi.azure.monitoring.inputs.ScheduledQueryRulesAlertV2CriteriaArgs;\nimport com.pulumi.azure.monitoring.inputs.ScheduledQueryRulesAlertV2CriteriaFailingPeriodsArgs;\nimport com.pulumi.azure.monitoring.inputs.ScheduledQueryRulesAlertV2ActionArgs;\nimport com.pulumi.azure.monitoring.inputs.ScheduledQueryRulesAlertV2IdentityArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleInsights = new Insights(\"exampleInsights\", InsightsArgs.builder()\n            .name(\"example-ai\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .applicationType(\"web\")\n            .build());\n\n        var exampleActionGroup = new ActionGroup(\"exampleActionGroup\", ActionGroupArgs.builder()\n            .name(\"example-mag\")\n            .resourceGroupName(example.name())\n            .shortName(\"test mag\")\n            .build());\n\n        var exampleUserAssignedIdentity = new UserAssignedIdentity(\"exampleUserAssignedIdentity\", UserAssignedIdentityArgs.builder()\n            .name(\"example-uai\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .build());\n\n        var exampleAssignment = new Assignment(\"exampleAssignment\", AssignmentArgs.builder()\n            .scope(exampleInsights.id())\n            .roleDefinitionName(\"Reader\")\n            .principalId(exampleUserAssignedIdentity.principalId())\n            .build());\n\n        var exampleScheduledQueryRulesAlertV2 = new ScheduledQueryRulesAlertV2(\"exampleScheduledQueryRulesAlertV2\", ScheduledQueryRulesAlertV2Args.builder()\n            .name(\"example-msqrv2\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .evaluationFrequency(\"PT10M\")\n            .windowDuration(\"PT10M\")\n            .scopes(exampleInsights.id())\n            .severity(4)\n            .criterias(ScheduledQueryRulesAlertV2CriteriaArgs.builder()\n                .query(\"\"\"\nrequests\n  | summarize CountByCountry=count() by client_CountryOrRegion\n                \"\"\")\n                .timeAggregationMethod(\"Maximum\")\n                .threshold(17.5)\n                .operator(\"LessThan\")\n                .resourceIdColumn(\"client_CountryOrRegion\")\n                .metricMeasureColumn(\"CountByCountry\")\n                .dimensions(ScheduledQueryRulesAlertV2CriteriaDimensionArgs.builder()\n                    .name(\"client_CountryOrRegion\")\n                    .operator(\"Exclude\")\n                    .values(\"123\")\n                    .build())\n                .failingPeriods(ScheduledQueryRulesAlertV2CriteriaFailingPeriodsArgs.builder()\n                    .minimumFailingPeriodsToTriggerAlert(1)\n                    .numberOfEvaluationPeriods(1)\n                    .build())\n                .build())\n            .autoMitigationEnabled(true)\n            .workspaceAlertsStorageEnabled(false)\n            .description(\"example sqr\")\n            .displayName(\"example-sqr\")\n            .enabled(true)\n            .queryTimeRangeOverride(\"PT1H\")\n            .skipQueryValidation(true)\n            .action(ScheduledQueryRulesAlertV2ActionArgs.builder()\n                .actionGroups(exampleActionGroup.id())\n                .customProperties(Map.ofEntries(\n                    Map.entry(\"key\", \"value\"),\n                    Map.entry(\"key2\", \"value2\")\n                ))\n                .build())\n            .identity(ScheduledQueryRulesAlertV2IdentityArgs.builder()\n                .type(\"UserAssigned\")\n                .identityIds(exampleUserAssignedIdentity.id())\n                .build())\n            .tags(Map.ofEntries(\n                Map.entry(\"key\", \"value\"),\n                Map.entry(\"key2\", \"value2\")\n            ))\n            .build(), CustomResourceOptions.builder()\n                .dependsOn(exampleAssignment)\n                .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleInsights:\n    type: azure:appinsights:Insights\n    name: example\n    properties:\n      name: example-ai\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      applicationType: web\n  exampleActionGroup:\n    type: azure:monitoring:ActionGroup\n    name: example\n    properties:\n      name: example-mag\n      resourceGroupName: ${example.name}\n      shortName: test mag\n  exampleUserAssignedIdentity:\n    type: azure:authorization:UserAssignedIdentity\n    name: example\n    properties:\n      name: example-uai\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n  exampleAssignment:\n    type: azure:authorization:Assignment\n    name: example\n    properties:\n      scope: ${exampleInsights.id}\n      roleDefinitionName: Reader\n      principalId: ${exampleUserAssignedIdentity.principalId}\n  exampleScheduledQueryRulesAlertV2:\n    type: azure:monitoring:ScheduledQueryRulesAlertV2\n    name: example\n    properties:\n      name: example-msqrv2\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      evaluationFrequency: PT10M\n      windowDuration: PT10M\n      scopes: ${exampleInsights.id}\n      severity: 4\n      criterias:\n        - query: |\n            requests\n              | summarize CountByCountry=count() by client_CountryOrRegion\n          timeAggregationMethod: Maximum\n          threshold: 17.5\n          operator: LessThan\n          resourceIdColumn: client_CountryOrRegion\n          metricMeasureColumn: CountByCountry\n          dimensions:\n            - name: client_CountryOrRegion\n              operator: Exclude\n              values:\n                - '123'\n          failingPeriods:\n            minimumFailingPeriodsToTriggerAlert: 1\n            numberOfEvaluationPeriods: 1\n      autoMitigationEnabled: true\n      workspaceAlertsStorageEnabled: false\n      description: example sqr\n      displayName: example-sqr\n      enabled: true\n      queryTimeRangeOverride: PT1H\n      skipQueryValidation: true\n      action:\n        actionGroups:\n          - ${exampleActionGroup.id}\n        customProperties:\n          key: value\n          key2: value2\n      identity:\n        type: UserAssigned\n        identityIds:\n          - ${exampleUserAssignedIdentity.id}\n      tags:\n        key: value\n        key2: value2\n    options:\n      dependsOn:\n        - ${exampleAssignment}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Insights` - 2023-03-15-preview\n\n## Import\n\nMonitor Scheduled Query Rule Alert can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:monitoring/scheduledQueryRulesAlertV2:ScheduledQueryRulesAlertV2 example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup1/providers/Microsoft.Insights/scheduledQueryRules/rule1\n```\n\n","properties":{"action":{"$ref":"#/types/azure:monitoring/ScheduledQueryRulesAlertV2Action:ScheduledQueryRulesAlertV2Action","description":"An \u003cspan pulumi-lang-nodejs=\"`action`\" pulumi-lang-dotnet=\"`Action`\" pulumi-lang-go=\"`action`\" pulumi-lang-python=\"`action`\" pulumi-lang-yaml=\"`action`\" pulumi-lang-java=\"`action`\"\u003e`action`\u003c/span\u003e block as defined below.\n"},"autoMitigationEnabled":{"type":"boolean","description":"Specifies the flag that indicates whether the alert should be automatically resolved or not. Value should be \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. The default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"createdWithApiVersion":{"type":"string","description":"The api-version used when creating this alert rule.\n"},"criterias":{"type":"array","items":{"$ref":"#/types/azure:monitoring/ScheduledQueryRulesAlertV2Criteria:ScheduledQueryRulesAlertV2Criteria"},"description":"A \u003cspan pulumi-lang-nodejs=\"`criteria`\" pulumi-lang-dotnet=\"`Criteria`\" pulumi-lang-go=\"`criteria`\" pulumi-lang-python=\"`criteria`\" pulumi-lang-yaml=\"`criteria`\" pulumi-lang-java=\"`criteria`\"\u003e`criteria`\u003c/span\u003e block as defined below.\n"},"description":{"type":"string","description":"Specifies the description of the scheduled query rule.\n"},"displayName":{"type":"string","description":"Specifies the display name of the alert rule.\n"},"enabled":{"type":"boolean","description":"Specifies the flag which indicates whether this scheduled query rule is enabled. Value should be \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"evaluationFrequency":{"type":"string","description":"How often the scheduled query rule is evaluated, represented in ISO 8601 duration format. Possible values are `PT1M`, `PT5M`, `PT10M`, `PT15M`, `PT30M`, `PT45M`, `PT1H`, `PT2H`, `PT3H`, `PT4H`, `PT5H`, `PT6H`, `P1D`.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`evaluationFrequency`\" pulumi-lang-dotnet=\"`EvaluationFrequency`\" pulumi-lang-go=\"`evaluationFrequency`\" pulumi-lang-python=\"`evaluation_frequency`\" pulumi-lang-yaml=\"`evaluationFrequency`\" pulumi-lang-java=\"`evaluationFrequency`\"\u003e`evaluation_frequency`\u003c/span\u003e cannot be greater than the query look back which is \u003cspan pulumi-lang-nodejs=\"`windowDuration`\" pulumi-lang-dotnet=\"`WindowDuration`\" pulumi-lang-go=\"`windowDuration`\" pulumi-lang-python=\"`window_duration`\" pulumi-lang-yaml=\"`windowDuration`\" pulumi-lang-java=\"`windowDuration`\"\u003e`window_duration`\u003c/span\u003e*\u003cspan pulumi-lang-nodejs=\"`numberOfEvaluationPeriods`\" pulumi-lang-dotnet=\"`NumberOfEvaluationPeriods`\" pulumi-lang-go=\"`numberOfEvaluationPeriods`\" pulumi-lang-python=\"`number_of_evaluation_periods`\" pulumi-lang-yaml=\"`numberOfEvaluationPeriods`\" pulumi-lang-java=\"`numberOfEvaluationPeriods`\"\u003e`number_of_evaluation_periods`\u003c/span\u003e.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`evaluationFrequency`\" pulumi-lang-dotnet=\"`EvaluationFrequency`\" pulumi-lang-go=\"`evaluationFrequency`\" pulumi-lang-python=\"`evaluation_frequency`\" pulumi-lang-yaml=\"`evaluationFrequency`\" pulumi-lang-java=\"`evaluationFrequency`\"\u003e`evaluation_frequency`\u003c/span\u003e cannot be greater than the \u003cspan pulumi-lang-nodejs=\"`muteActionsAfterAlertDuration`\" pulumi-lang-dotnet=\"`MuteActionsAfterAlertDuration`\" pulumi-lang-go=\"`muteActionsAfterAlertDuration`\" pulumi-lang-python=\"`mute_actions_after_alert_duration`\" pulumi-lang-yaml=\"`muteActionsAfterAlertDuration`\" pulumi-lang-java=\"`muteActionsAfterAlertDuration`\"\u003e`mute_actions_after_alert_duration`\u003c/span\u003e.\n"},"identity":{"$ref":"#/types/azure:monitoring/ScheduledQueryRulesAlertV2Identity:ScheduledQueryRulesAlertV2Identity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"isALegacyLogAnalyticsRule":{"type":"boolean","description":"True if this alert rule is a legacy Log Analytic Rule.\n"},"isWorkspaceAlertsStorageConfigured":{"type":"boolean","description":"The flag indicates whether this Scheduled Query Rule has been configured to be stored in the customer's storage.\n"},"location":{"type":"string","description":"Specifies the Azure Region where the Monitor Scheduled Query Rule should exist. Changing this forces a new resource to be created.\n"},"muteActionsAfterAlertDuration":{"type":"string","description":"Mute actions for the chosen period of time in ISO 8601 duration format after the alert is fired. Possible values are `PT5M`, `PT10M`, `PT15M`, `PT30M`, `PT45M`, `PT1H`, `PT2H`, `PT3H`, `PT4H`, `PT5H`, `PT6H`, `P1D` and `P2D`.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`autoMitigationEnabled`\" pulumi-lang-dotnet=\"`AutoMitigationEnabled`\" pulumi-lang-go=\"`autoMitigationEnabled`\" pulumi-lang-python=\"`auto_mitigation_enabled`\" pulumi-lang-yaml=\"`autoMitigationEnabled`\" pulumi-lang-java=\"`autoMitigationEnabled`\"\u003e`auto_mitigation_enabled`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`muteActionsAfterAlertDuration`\" pulumi-lang-dotnet=\"`MuteActionsAfterAlertDuration`\" pulumi-lang-go=\"`muteActionsAfterAlertDuration`\" pulumi-lang-python=\"`mute_actions_after_alert_duration`\" pulumi-lang-yaml=\"`muteActionsAfterAlertDuration`\" pulumi-lang-java=\"`muteActionsAfterAlertDuration`\"\u003e`mute_actions_after_alert_duration`\u003c/span\u003e are mutually exclusive and cannot both be set.\n"},"name":{"type":"string","description":"Specifies the name which should be used for this Monitor Scheduled Query Rule. Changing this forces a new resource to be created.\n"},"queryTimeRangeOverride":{"type":"string","description":"Set this if the alert evaluation period is different from the query time range. If not specified, the value is \u003cspan pulumi-lang-nodejs=\"`windowDuration`\" pulumi-lang-dotnet=\"`WindowDuration`\" pulumi-lang-go=\"`windowDuration`\" pulumi-lang-python=\"`window_duration`\" pulumi-lang-yaml=\"`windowDuration`\" pulumi-lang-java=\"`windowDuration`\"\u003e`window_duration`\u003c/span\u003e*\u003cspan pulumi-lang-nodejs=\"`numberOfEvaluationPeriods`\" pulumi-lang-dotnet=\"`NumberOfEvaluationPeriods`\" pulumi-lang-go=\"`numberOfEvaluationPeriods`\" pulumi-lang-python=\"`number_of_evaluation_periods`\" pulumi-lang-yaml=\"`numberOfEvaluationPeriods`\" pulumi-lang-java=\"`numberOfEvaluationPeriods`\"\u003e`number_of_evaluation_periods`\u003c/span\u003e. Possible values are `PT5M`, `PT10M`, `PT15M`, `PT20M`, `PT30M`, `PT45M`, `PT1H`, `PT2H`, `PT3H`, `PT4H`, `PT5H`, `PT6H`, `P1D` and `P2D`.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`queryTimeRangeOverride`\" pulumi-lang-dotnet=\"`QueryTimeRangeOverride`\" pulumi-lang-go=\"`queryTimeRangeOverride`\" pulumi-lang-python=\"`query_time_range_override`\" pulumi-lang-yaml=\"`queryTimeRangeOverride`\" pulumi-lang-java=\"`queryTimeRangeOverride`\"\u003e`query_time_range_override`\u003c/span\u003e cannot be less than the query look back which is \u003cspan pulumi-lang-nodejs=\"`windowDuration`\" pulumi-lang-dotnet=\"`WindowDuration`\" pulumi-lang-go=\"`windowDuration`\" pulumi-lang-python=\"`window_duration`\" pulumi-lang-yaml=\"`windowDuration`\" pulumi-lang-java=\"`windowDuration`\"\u003e`window_duration`\u003c/span\u003e*\u003cspan pulumi-lang-nodejs=\"`numberOfEvaluationPeriods`\" pulumi-lang-dotnet=\"`NumberOfEvaluationPeriods`\" pulumi-lang-go=\"`numberOfEvaluationPeriods`\" pulumi-lang-python=\"`number_of_evaluation_periods`\" pulumi-lang-yaml=\"`numberOfEvaluationPeriods`\" pulumi-lang-java=\"`numberOfEvaluationPeriods`\"\u003e`number_of_evaluation_periods`\u003c/span\u003e.\n"},"resourceGroupName":{"type":"string","description":"Specifies the name of the Resource Group where the Monitor Scheduled Query Rule should exist. Changing this forces a new resource to be created.\n"},"scopes":{"type":"string","description":"Specifies the list of resource IDs that this scheduled query rule is scoped to. Changing this forces a new resource to be created. Currently, the API supports exactly 1 resource ID in the scopes list.\n"},"severity":{"type":"integer","description":"Severity of the alert. Should be an integer between 0 and 4. Value of 0 is severest.\n"},"skipQueryValidation":{"type":"boolean","description":"Specifies the flag which indicates whether the provided query should be validated or not. The default is false.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Monitor Scheduled Query Rule.\n"},"targetResourceTypes":{"type":"array","items":{"type":"string"},"description":"List of resource type of the target resource(s) on which the alert is created/updated. For example if the scope is a resource group and targetResourceTypes is `Microsoft.Compute/virtualMachines`, then a different alert will be fired for each virtual machine in the resource group which meet the alert criteria.\n"},"windowDuration":{"type":"string","description":"Specifies the period of time in ISO 8601 duration format on which the Scheduled Query Rule will be executed (bin size). If \u003cspan pulumi-lang-nodejs=\"`evaluationFrequency`\" pulumi-lang-dotnet=\"`EvaluationFrequency`\" pulumi-lang-go=\"`evaluationFrequency`\" pulumi-lang-python=\"`evaluation_frequency`\" pulumi-lang-yaml=\"`evaluationFrequency`\" pulumi-lang-java=\"`evaluationFrequency`\"\u003e`evaluation_frequency`\u003c/span\u003e is `PT1M`, possible values are `PT1M`, `PT5M`, `PT10M`, `PT15M`, `PT30M`, `PT45M`, `PT1H`, `PT2H`, `PT3H`, `PT4H`, `PT5H`, and `PT6H`. Otherwise, possible values are `PT5M`, `PT10M`, `PT15M`, `PT30M`, `PT45M`, `PT1H`, `PT2H`, `PT3H`, `PT4H`, `PT5H`, `PT6H`, `P1D`, and `P2D`.\n"},"workspaceAlertsStorageEnabled":{"type":"boolean","description":"Specifies the flag which indicates whether this scheduled query rule check if storage is configured. Value should be \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. The default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"}},"required":["createdWithApiVersion","criterias","evaluationFrequency","isALegacyLogAnalyticsRule","isWorkspaceAlertsStorageConfigured","location","name","resourceGroupName","scopes","severity","windowDuration"],"inputProperties":{"action":{"$ref":"#/types/azure:monitoring/ScheduledQueryRulesAlertV2Action:ScheduledQueryRulesAlertV2Action","description":"An \u003cspan pulumi-lang-nodejs=\"`action`\" pulumi-lang-dotnet=\"`Action`\" pulumi-lang-go=\"`action`\" pulumi-lang-python=\"`action`\" pulumi-lang-yaml=\"`action`\" pulumi-lang-java=\"`action`\"\u003e`action`\u003c/span\u003e block as defined below.\n"},"autoMitigationEnabled":{"type":"boolean","description":"Specifies the flag that indicates whether the alert should be automatically resolved or not. Value should be \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. The default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"criterias":{"type":"array","items":{"$ref":"#/types/azure:monitoring/ScheduledQueryRulesAlertV2Criteria:ScheduledQueryRulesAlertV2Criteria"},"description":"A \u003cspan pulumi-lang-nodejs=\"`criteria`\" pulumi-lang-dotnet=\"`Criteria`\" pulumi-lang-go=\"`criteria`\" pulumi-lang-python=\"`criteria`\" pulumi-lang-yaml=\"`criteria`\" pulumi-lang-java=\"`criteria`\"\u003e`criteria`\u003c/span\u003e block as defined below.\n"},"description":{"type":"string","description":"Specifies the description of the scheduled query rule.\n"},"displayName":{"type":"string","description":"Specifies the display name of the alert rule.\n"},"enabled":{"type":"boolean","description":"Specifies the flag which indicates whether this scheduled query rule is enabled. Value should be \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"evaluationFrequency":{"type":"string","description":"How often the scheduled query rule is evaluated, represented in ISO 8601 duration format. Possible values are `PT1M`, `PT5M`, `PT10M`, `PT15M`, `PT30M`, `PT45M`, `PT1H`, `PT2H`, `PT3H`, `PT4H`, `PT5H`, `PT6H`, `P1D`.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`evaluationFrequency`\" pulumi-lang-dotnet=\"`EvaluationFrequency`\" pulumi-lang-go=\"`evaluationFrequency`\" pulumi-lang-python=\"`evaluation_frequency`\" pulumi-lang-yaml=\"`evaluationFrequency`\" pulumi-lang-java=\"`evaluationFrequency`\"\u003e`evaluation_frequency`\u003c/span\u003e cannot be greater than the query look back which is \u003cspan pulumi-lang-nodejs=\"`windowDuration`\" pulumi-lang-dotnet=\"`WindowDuration`\" pulumi-lang-go=\"`windowDuration`\" pulumi-lang-python=\"`window_duration`\" pulumi-lang-yaml=\"`windowDuration`\" pulumi-lang-java=\"`windowDuration`\"\u003e`window_duration`\u003c/span\u003e*\u003cspan pulumi-lang-nodejs=\"`numberOfEvaluationPeriods`\" pulumi-lang-dotnet=\"`NumberOfEvaluationPeriods`\" pulumi-lang-go=\"`numberOfEvaluationPeriods`\" pulumi-lang-python=\"`number_of_evaluation_periods`\" pulumi-lang-yaml=\"`numberOfEvaluationPeriods`\" pulumi-lang-java=\"`numberOfEvaluationPeriods`\"\u003e`number_of_evaluation_periods`\u003c/span\u003e.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`evaluationFrequency`\" pulumi-lang-dotnet=\"`EvaluationFrequency`\" pulumi-lang-go=\"`evaluationFrequency`\" pulumi-lang-python=\"`evaluation_frequency`\" pulumi-lang-yaml=\"`evaluationFrequency`\" pulumi-lang-java=\"`evaluationFrequency`\"\u003e`evaluation_frequency`\u003c/span\u003e cannot be greater than the \u003cspan pulumi-lang-nodejs=\"`muteActionsAfterAlertDuration`\" pulumi-lang-dotnet=\"`MuteActionsAfterAlertDuration`\" pulumi-lang-go=\"`muteActionsAfterAlertDuration`\" pulumi-lang-python=\"`mute_actions_after_alert_duration`\" pulumi-lang-yaml=\"`muteActionsAfterAlertDuration`\" pulumi-lang-java=\"`muteActionsAfterAlertDuration`\"\u003e`mute_actions_after_alert_duration`\u003c/span\u003e.\n"},"identity":{"$ref":"#/types/azure:monitoring/ScheduledQueryRulesAlertV2Identity:ScheduledQueryRulesAlertV2Identity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"location":{"type":"string","description":"Specifies the Azure Region where the Monitor Scheduled Query Rule should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"muteActionsAfterAlertDuration":{"type":"string","description":"Mute actions for the chosen period of time in ISO 8601 duration format after the alert is fired. Possible values are `PT5M`, `PT10M`, `PT15M`, `PT30M`, `PT45M`, `PT1H`, `PT2H`, `PT3H`, `PT4H`, `PT5H`, `PT6H`, `P1D` and `P2D`.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`autoMitigationEnabled`\" pulumi-lang-dotnet=\"`AutoMitigationEnabled`\" pulumi-lang-go=\"`autoMitigationEnabled`\" pulumi-lang-python=\"`auto_mitigation_enabled`\" pulumi-lang-yaml=\"`autoMitigationEnabled`\" pulumi-lang-java=\"`autoMitigationEnabled`\"\u003e`auto_mitigation_enabled`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`muteActionsAfterAlertDuration`\" pulumi-lang-dotnet=\"`MuteActionsAfterAlertDuration`\" pulumi-lang-go=\"`muteActionsAfterAlertDuration`\" pulumi-lang-python=\"`mute_actions_after_alert_duration`\" pulumi-lang-yaml=\"`muteActionsAfterAlertDuration`\" pulumi-lang-java=\"`muteActionsAfterAlertDuration`\"\u003e`mute_actions_after_alert_duration`\u003c/span\u003e are mutually exclusive and cannot both be set.\n"},"name":{"type":"string","description":"Specifies the name which should be used for this Monitor Scheduled Query Rule. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"queryTimeRangeOverride":{"type":"string","description":"Set this if the alert evaluation period is different from the query time range. If not specified, the value is \u003cspan pulumi-lang-nodejs=\"`windowDuration`\" pulumi-lang-dotnet=\"`WindowDuration`\" pulumi-lang-go=\"`windowDuration`\" pulumi-lang-python=\"`window_duration`\" pulumi-lang-yaml=\"`windowDuration`\" pulumi-lang-java=\"`windowDuration`\"\u003e`window_duration`\u003c/span\u003e*\u003cspan pulumi-lang-nodejs=\"`numberOfEvaluationPeriods`\" pulumi-lang-dotnet=\"`NumberOfEvaluationPeriods`\" pulumi-lang-go=\"`numberOfEvaluationPeriods`\" pulumi-lang-python=\"`number_of_evaluation_periods`\" pulumi-lang-yaml=\"`numberOfEvaluationPeriods`\" pulumi-lang-java=\"`numberOfEvaluationPeriods`\"\u003e`number_of_evaluation_periods`\u003c/span\u003e. Possible values are `PT5M`, `PT10M`, `PT15M`, `PT20M`, `PT30M`, `PT45M`, `PT1H`, `PT2H`, `PT3H`, `PT4H`, `PT5H`, `PT6H`, `P1D` and `P2D`.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`queryTimeRangeOverride`\" pulumi-lang-dotnet=\"`QueryTimeRangeOverride`\" pulumi-lang-go=\"`queryTimeRangeOverride`\" pulumi-lang-python=\"`query_time_range_override`\" pulumi-lang-yaml=\"`queryTimeRangeOverride`\" pulumi-lang-java=\"`queryTimeRangeOverride`\"\u003e`query_time_range_override`\u003c/span\u003e cannot be less than the query look back which is \u003cspan pulumi-lang-nodejs=\"`windowDuration`\" pulumi-lang-dotnet=\"`WindowDuration`\" pulumi-lang-go=\"`windowDuration`\" pulumi-lang-python=\"`window_duration`\" pulumi-lang-yaml=\"`windowDuration`\" pulumi-lang-java=\"`windowDuration`\"\u003e`window_duration`\u003c/span\u003e*\u003cspan pulumi-lang-nodejs=\"`numberOfEvaluationPeriods`\" pulumi-lang-dotnet=\"`NumberOfEvaluationPeriods`\" pulumi-lang-go=\"`numberOfEvaluationPeriods`\" pulumi-lang-python=\"`number_of_evaluation_periods`\" pulumi-lang-yaml=\"`numberOfEvaluationPeriods`\" pulumi-lang-java=\"`numberOfEvaluationPeriods`\"\u003e`number_of_evaluation_periods`\u003c/span\u003e.\n"},"resourceGroupName":{"type":"string","description":"Specifies the name of the Resource Group where the Monitor Scheduled Query Rule should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"scopes":{"type":"string","description":"Specifies the list of resource IDs that this scheduled query rule is scoped to. Changing this forces a new resource to be created. Currently, the API supports exactly 1 resource ID in the scopes list.\n","willReplaceOnChanges":true},"severity":{"type":"integer","description":"Severity of the alert. Should be an integer between 0 and 4. Value of 0 is severest.\n"},"skipQueryValidation":{"type":"boolean","description":"Specifies the flag which indicates whether the provided query should be validated or not. The default is false.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Monitor Scheduled Query Rule.\n"},"targetResourceTypes":{"type":"array","items":{"type":"string"},"description":"List of resource type of the target resource(s) on which the alert is created/updated. For example if the scope is a resource group and targetResourceTypes is `Microsoft.Compute/virtualMachines`, then a different alert will be fired for each virtual machine in the resource group which meet the alert criteria.\n"},"windowDuration":{"type":"string","description":"Specifies the period of time in ISO 8601 duration format on which the Scheduled Query Rule will be executed (bin size). If \u003cspan pulumi-lang-nodejs=\"`evaluationFrequency`\" pulumi-lang-dotnet=\"`EvaluationFrequency`\" pulumi-lang-go=\"`evaluationFrequency`\" pulumi-lang-python=\"`evaluation_frequency`\" pulumi-lang-yaml=\"`evaluationFrequency`\" pulumi-lang-java=\"`evaluationFrequency`\"\u003e`evaluation_frequency`\u003c/span\u003e is `PT1M`, possible values are `PT1M`, `PT5M`, `PT10M`, `PT15M`, `PT30M`, `PT45M`, `PT1H`, `PT2H`, `PT3H`, `PT4H`, `PT5H`, and `PT6H`. Otherwise, possible values are `PT5M`, `PT10M`, `PT15M`, `PT30M`, `PT45M`, `PT1H`, `PT2H`, `PT3H`, `PT4H`, `PT5H`, `PT6H`, `P1D`, and `P2D`.\n"},"workspaceAlertsStorageEnabled":{"type":"boolean","description":"Specifies the flag which indicates whether this scheduled query rule check if storage is configured. Value should be \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. The default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"}},"requiredInputs":["criterias","evaluationFrequency","resourceGroupName","scopes","severity","windowDuration"],"stateInputs":{"description":"Input properties used for looking up and filtering ScheduledQueryRulesAlertV2 resources.\n","properties":{"action":{"$ref":"#/types/azure:monitoring/ScheduledQueryRulesAlertV2Action:ScheduledQueryRulesAlertV2Action","description":"An \u003cspan pulumi-lang-nodejs=\"`action`\" pulumi-lang-dotnet=\"`Action`\" pulumi-lang-go=\"`action`\" pulumi-lang-python=\"`action`\" pulumi-lang-yaml=\"`action`\" pulumi-lang-java=\"`action`\"\u003e`action`\u003c/span\u003e block as defined below.\n"},"autoMitigationEnabled":{"type":"boolean","description":"Specifies the flag that indicates whether the alert should be automatically resolved or not. Value should be \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. The default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"createdWithApiVersion":{"type":"string","description":"The api-version used when creating this alert rule.\n"},"criterias":{"type":"array","items":{"$ref":"#/types/azure:monitoring/ScheduledQueryRulesAlertV2Criteria:ScheduledQueryRulesAlertV2Criteria"},"description":"A \u003cspan pulumi-lang-nodejs=\"`criteria`\" pulumi-lang-dotnet=\"`Criteria`\" pulumi-lang-go=\"`criteria`\" pulumi-lang-python=\"`criteria`\" pulumi-lang-yaml=\"`criteria`\" pulumi-lang-java=\"`criteria`\"\u003e`criteria`\u003c/span\u003e block as defined below.\n"},"description":{"type":"string","description":"Specifies the description of the scheduled query rule.\n"},"displayName":{"type":"string","description":"Specifies the display name of the alert rule.\n"},"enabled":{"type":"boolean","description":"Specifies the flag which indicates whether this scheduled query rule is enabled. Value should be \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"evaluationFrequency":{"type":"string","description":"How often the scheduled query rule is evaluated, represented in ISO 8601 duration format. Possible values are `PT1M`, `PT5M`, `PT10M`, `PT15M`, `PT30M`, `PT45M`, `PT1H`, `PT2H`, `PT3H`, `PT4H`, `PT5H`, `PT6H`, `P1D`.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`evaluationFrequency`\" pulumi-lang-dotnet=\"`EvaluationFrequency`\" pulumi-lang-go=\"`evaluationFrequency`\" pulumi-lang-python=\"`evaluation_frequency`\" pulumi-lang-yaml=\"`evaluationFrequency`\" pulumi-lang-java=\"`evaluationFrequency`\"\u003e`evaluation_frequency`\u003c/span\u003e cannot be greater than the query look back which is \u003cspan pulumi-lang-nodejs=\"`windowDuration`\" pulumi-lang-dotnet=\"`WindowDuration`\" pulumi-lang-go=\"`windowDuration`\" pulumi-lang-python=\"`window_duration`\" pulumi-lang-yaml=\"`windowDuration`\" pulumi-lang-java=\"`windowDuration`\"\u003e`window_duration`\u003c/span\u003e*\u003cspan pulumi-lang-nodejs=\"`numberOfEvaluationPeriods`\" pulumi-lang-dotnet=\"`NumberOfEvaluationPeriods`\" pulumi-lang-go=\"`numberOfEvaluationPeriods`\" pulumi-lang-python=\"`number_of_evaluation_periods`\" pulumi-lang-yaml=\"`numberOfEvaluationPeriods`\" pulumi-lang-java=\"`numberOfEvaluationPeriods`\"\u003e`number_of_evaluation_periods`\u003c/span\u003e.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`evaluationFrequency`\" pulumi-lang-dotnet=\"`EvaluationFrequency`\" pulumi-lang-go=\"`evaluationFrequency`\" pulumi-lang-python=\"`evaluation_frequency`\" pulumi-lang-yaml=\"`evaluationFrequency`\" pulumi-lang-java=\"`evaluationFrequency`\"\u003e`evaluation_frequency`\u003c/span\u003e cannot be greater than the \u003cspan pulumi-lang-nodejs=\"`muteActionsAfterAlertDuration`\" pulumi-lang-dotnet=\"`MuteActionsAfterAlertDuration`\" pulumi-lang-go=\"`muteActionsAfterAlertDuration`\" pulumi-lang-python=\"`mute_actions_after_alert_duration`\" pulumi-lang-yaml=\"`muteActionsAfterAlertDuration`\" pulumi-lang-java=\"`muteActionsAfterAlertDuration`\"\u003e`mute_actions_after_alert_duration`\u003c/span\u003e.\n"},"identity":{"$ref":"#/types/azure:monitoring/ScheduledQueryRulesAlertV2Identity:ScheduledQueryRulesAlertV2Identity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"isALegacyLogAnalyticsRule":{"type":"boolean","description":"True if this alert rule is a legacy Log Analytic Rule.\n"},"isWorkspaceAlertsStorageConfigured":{"type":"boolean","description":"The flag indicates whether this Scheduled Query Rule has been configured to be stored in the customer's storage.\n"},"location":{"type":"string","description":"Specifies the Azure Region where the Monitor Scheduled Query Rule should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"muteActionsAfterAlertDuration":{"type":"string","description":"Mute actions for the chosen period of time in ISO 8601 duration format after the alert is fired. Possible values are `PT5M`, `PT10M`, `PT15M`, `PT30M`, `PT45M`, `PT1H`, `PT2H`, `PT3H`, `PT4H`, `PT5H`, `PT6H`, `P1D` and `P2D`.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`autoMitigationEnabled`\" pulumi-lang-dotnet=\"`AutoMitigationEnabled`\" pulumi-lang-go=\"`autoMitigationEnabled`\" pulumi-lang-python=\"`auto_mitigation_enabled`\" pulumi-lang-yaml=\"`autoMitigationEnabled`\" pulumi-lang-java=\"`autoMitigationEnabled`\"\u003e`auto_mitigation_enabled`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`muteActionsAfterAlertDuration`\" pulumi-lang-dotnet=\"`MuteActionsAfterAlertDuration`\" pulumi-lang-go=\"`muteActionsAfterAlertDuration`\" pulumi-lang-python=\"`mute_actions_after_alert_duration`\" pulumi-lang-yaml=\"`muteActionsAfterAlertDuration`\" pulumi-lang-java=\"`muteActionsAfterAlertDuration`\"\u003e`mute_actions_after_alert_duration`\u003c/span\u003e are mutually exclusive and cannot both be set.\n"},"name":{"type":"string","description":"Specifies the name which should be used for this Monitor Scheduled Query Rule. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"queryTimeRangeOverride":{"type":"string","description":"Set this if the alert evaluation period is different from the query time range. If not specified, the value is \u003cspan pulumi-lang-nodejs=\"`windowDuration`\" pulumi-lang-dotnet=\"`WindowDuration`\" pulumi-lang-go=\"`windowDuration`\" pulumi-lang-python=\"`window_duration`\" pulumi-lang-yaml=\"`windowDuration`\" pulumi-lang-java=\"`windowDuration`\"\u003e`window_duration`\u003c/span\u003e*\u003cspan pulumi-lang-nodejs=\"`numberOfEvaluationPeriods`\" pulumi-lang-dotnet=\"`NumberOfEvaluationPeriods`\" pulumi-lang-go=\"`numberOfEvaluationPeriods`\" pulumi-lang-python=\"`number_of_evaluation_periods`\" pulumi-lang-yaml=\"`numberOfEvaluationPeriods`\" pulumi-lang-java=\"`numberOfEvaluationPeriods`\"\u003e`number_of_evaluation_periods`\u003c/span\u003e. Possible values are `PT5M`, `PT10M`, `PT15M`, `PT20M`, `PT30M`, `PT45M`, `PT1H`, `PT2H`, `PT3H`, `PT4H`, `PT5H`, `PT6H`, `P1D` and `P2D`.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`queryTimeRangeOverride`\" pulumi-lang-dotnet=\"`QueryTimeRangeOverride`\" pulumi-lang-go=\"`queryTimeRangeOverride`\" pulumi-lang-python=\"`query_time_range_override`\" pulumi-lang-yaml=\"`queryTimeRangeOverride`\" pulumi-lang-java=\"`queryTimeRangeOverride`\"\u003e`query_time_range_override`\u003c/span\u003e cannot be less than the query look back which is \u003cspan pulumi-lang-nodejs=\"`windowDuration`\" pulumi-lang-dotnet=\"`WindowDuration`\" pulumi-lang-go=\"`windowDuration`\" pulumi-lang-python=\"`window_duration`\" pulumi-lang-yaml=\"`windowDuration`\" pulumi-lang-java=\"`windowDuration`\"\u003e`window_duration`\u003c/span\u003e*\u003cspan pulumi-lang-nodejs=\"`numberOfEvaluationPeriods`\" pulumi-lang-dotnet=\"`NumberOfEvaluationPeriods`\" pulumi-lang-go=\"`numberOfEvaluationPeriods`\" pulumi-lang-python=\"`number_of_evaluation_periods`\" pulumi-lang-yaml=\"`numberOfEvaluationPeriods`\" pulumi-lang-java=\"`numberOfEvaluationPeriods`\"\u003e`number_of_evaluation_periods`\u003c/span\u003e.\n"},"resourceGroupName":{"type":"string","description":"Specifies the name of the Resource Group where the Monitor Scheduled Query Rule should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"scopes":{"type":"string","description":"Specifies the list of resource IDs that this scheduled query rule is scoped to. Changing this forces a new resource to be created. Currently, the API supports exactly 1 resource ID in the scopes list.\n","willReplaceOnChanges":true},"severity":{"type":"integer","description":"Severity of the alert. Should be an integer between 0 and 4. Value of 0 is severest.\n"},"skipQueryValidation":{"type":"boolean","description":"Specifies the flag which indicates whether the provided query should be validated or not. The default is false.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Monitor Scheduled Query Rule.\n"},"targetResourceTypes":{"type":"array","items":{"type":"string"},"description":"List of resource type of the target resource(s) on which the alert is created/updated. For example if the scope is a resource group and targetResourceTypes is `Microsoft.Compute/virtualMachines`, then a different alert will be fired for each virtual machine in the resource group which meet the alert criteria.\n"},"windowDuration":{"type":"string","description":"Specifies the period of time in ISO 8601 duration format on which the Scheduled Query Rule will be executed (bin size). If \u003cspan pulumi-lang-nodejs=\"`evaluationFrequency`\" pulumi-lang-dotnet=\"`EvaluationFrequency`\" pulumi-lang-go=\"`evaluationFrequency`\" pulumi-lang-python=\"`evaluation_frequency`\" pulumi-lang-yaml=\"`evaluationFrequency`\" pulumi-lang-java=\"`evaluationFrequency`\"\u003e`evaluation_frequency`\u003c/span\u003e is `PT1M`, possible values are `PT1M`, `PT5M`, `PT10M`, `PT15M`, `PT30M`, `PT45M`, `PT1H`, `PT2H`, `PT3H`, `PT4H`, `PT5H`, and `PT6H`. Otherwise, possible values are `PT5M`, `PT10M`, `PT15M`, `PT30M`, `PT45M`, `PT1H`, `PT2H`, `PT3H`, `PT4H`, `PT5H`, `PT6H`, `P1D`, and `P2D`.\n"},"workspaceAlertsStorageEnabled":{"type":"boolean","description":"Specifies the flag which indicates whether this scheduled query rule check if storage is configured. Value should be \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. The default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"}},"type":"object"}},"azure:monitoring/scheduledQueryRulesLog:ScheduledQueryRulesLog":{"description":"Manages a LogToMetricAction Scheduled Query Rules resource within Azure Monitor.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"monitoring-resources\",\n    location: \"West Europe\",\n});\nconst exampleAnalyticsWorkspace = new azure.operationalinsights.AnalyticsWorkspace(\"example\", {\n    name: \"loganalytics\",\n    location: example.location,\n    resourceGroupName: example.name,\n    sku: \"PerGB2018\",\n    retentionInDays: 30,\n});\nconst exampleActionGroup = new azure.monitoring.ActionGroup(\"example\", {\n    name: \"example-actiongroup\",\n    resourceGroupName: example.name,\n    shortName: \"exampleact\",\n    webhookReceivers: [{\n        name: \"callmyapi\",\n        serviceUri: \"http://example.com/alert\",\n    }],\n});\n// Example: Creates alert using the new Scheduled Query Rules metric\nconst exampleMetricAlert = new azure.monitoring.MetricAlert(\"example\", {\n    name: \"example-metricalert\",\n    resourceGroupName: example.name,\n    scopes: [exampleAnalyticsWorkspace.id],\n    description: \"Action will be triggered when Average_% Idle Time metric is less than 10.\",\n    frequency: \"PT1M\",\n    windowSize: \"PT5M\",\n    criterias: [{\n        metricNamespace: \"Microsoft.OperationalInsights/workspaces\",\n        metricName: \"UsedCapacity\",\n        aggregation: \"Average\",\n        operator: \"LessThan\",\n        threshold: 10,\n    }],\n    actions: [{\n        actionGroupId: exampleActionGroup.id,\n    }],\n});\n// Example: LogToMetric Action for the named Computer\nconst exampleScheduledQueryRulesLog = new azure.monitoring.ScheduledQueryRulesLog(\"example\", {\n    name: \"example\",\n    location: example.location,\n    resourceGroupName: example.name,\n    criteria: {\n        metricName: \"Average_% Idle Time\",\n        dimensions: [{\n            name: \"Computer\",\n            operator: \"Include\",\n            values: [\"targetVM\"],\n        }],\n    },\n    dataSourceId: exampleAnalyticsWorkspace.id,\n    description: \"Scheduled query rule LogToMetric example\",\n    enabled: true,\n    tags: {\n        foo: \"bar\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"monitoring-resources\",\n    location=\"West Europe\")\nexample_analytics_workspace = azure.operationalinsights.AnalyticsWorkspace(\"example\",\n    name=\"loganalytics\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku=\"PerGB2018\",\n    retention_in_days=30)\nexample_action_group = azure.monitoring.ActionGroup(\"example\",\n    name=\"example-actiongroup\",\n    resource_group_name=example.name,\n    short_name=\"exampleact\",\n    webhook_receivers=[{\n        \"name\": \"callmyapi\",\n        \"service_uri\": \"http://example.com/alert\",\n    }])\n# Example: Creates alert using the new Scheduled Query Rules metric\nexample_metric_alert = azure.monitoring.MetricAlert(\"example\",\n    name=\"example-metricalert\",\n    resource_group_name=example.name,\n    scopes=[example_analytics_workspace.id],\n    description=\"Action will be triggered when Average_% Idle Time metric is less than 10.\",\n    frequency=\"PT1M\",\n    window_size=\"PT5M\",\n    criterias=[{\n        \"metric_namespace\": \"Microsoft.OperationalInsights/workspaces\",\n        \"metric_name\": \"UsedCapacity\",\n        \"aggregation\": \"Average\",\n        \"operator\": \"LessThan\",\n        \"threshold\": 10,\n    }],\n    actions=[{\n        \"action_group_id\": example_action_group.id,\n    }])\n# Example: LogToMetric Action for the named Computer\nexample_scheduled_query_rules_log = azure.monitoring.ScheduledQueryRulesLog(\"example\",\n    name=\"example\",\n    location=example.location,\n    resource_group_name=example.name,\n    criteria={\n        \"metric_name\": \"Average_% Idle Time\",\n        \"dimensions\": [{\n            \"name\": \"Computer\",\n            \"operator\": \"Include\",\n            \"values\": [\"targetVM\"],\n        }],\n    },\n    data_source_id=example_analytics_workspace.id,\n    description=\"Scheduled query rule LogToMetric example\",\n    enabled=True,\n    tags={\n        \"foo\": \"bar\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"monitoring-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleAnalyticsWorkspace = new Azure.OperationalInsights.AnalyticsWorkspace(\"example\", new()\n    {\n        Name = \"loganalytics\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Sku = \"PerGB2018\",\n        RetentionInDays = 30,\n    });\n\n    var exampleActionGroup = new Azure.Monitoring.ActionGroup(\"example\", new()\n    {\n        Name = \"example-actiongroup\",\n        ResourceGroupName = example.Name,\n        ShortName = \"exampleact\",\n        WebhookReceivers = new[]\n        {\n            new Azure.Monitoring.Inputs.ActionGroupWebhookReceiverArgs\n            {\n                Name = \"callmyapi\",\n                ServiceUri = \"http://example.com/alert\",\n            },\n        },\n    });\n\n    // Example: Creates alert using the new Scheduled Query Rules metric\n    var exampleMetricAlert = new Azure.Monitoring.MetricAlert(\"example\", new()\n    {\n        Name = \"example-metricalert\",\n        ResourceGroupName = example.Name,\n        Scopes = new[]\n        {\n            exampleAnalyticsWorkspace.Id,\n        },\n        Description = \"Action will be triggered when Average_% Idle Time metric is less than 10.\",\n        Frequency = \"PT1M\",\n        WindowSize = \"PT5M\",\n        Criterias = new[]\n        {\n            new Azure.Monitoring.Inputs.MetricAlertCriteriaArgs\n            {\n                MetricNamespace = \"Microsoft.OperationalInsights/workspaces\",\n                MetricName = \"UsedCapacity\",\n                Aggregation = \"Average\",\n                Operator = \"LessThan\",\n                Threshold = 10,\n            },\n        },\n        Actions = new[]\n        {\n            new Azure.Monitoring.Inputs.MetricAlertActionArgs\n            {\n                ActionGroupId = exampleActionGroup.Id,\n            },\n        },\n    });\n\n    // Example: LogToMetric Action for the named Computer\n    var exampleScheduledQueryRulesLog = new Azure.Monitoring.ScheduledQueryRulesLog(\"example\", new()\n    {\n        Name = \"example\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Criteria = new Azure.Monitoring.Inputs.ScheduledQueryRulesLogCriteriaArgs\n        {\n            MetricName = \"Average_% Idle Time\",\n            Dimensions = new[]\n            {\n                new Azure.Monitoring.Inputs.ScheduledQueryRulesLogCriteriaDimensionArgs\n                {\n                    Name = \"Computer\",\n                    Operator = \"Include\",\n                    Values = new[]\n                    {\n                        \"targetVM\",\n                    },\n                },\n            },\n        },\n        DataSourceId = exampleAnalyticsWorkspace.Id,\n        Description = \"Scheduled query rule LogToMetric example\",\n        Enabled = true,\n        Tags = \n        {\n            { \"foo\", \"bar\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/monitoring\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/operationalinsights\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"monitoring-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAnalyticsWorkspace, err := operationalinsights.NewAnalyticsWorkspace(ctx, \"example\", \u0026operationalinsights.AnalyticsWorkspaceArgs{\n\t\t\tName:              pulumi.String(\"loganalytics\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSku:               pulumi.String(\"PerGB2018\"),\n\t\t\tRetentionInDays:   pulumi.Int(30),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleActionGroup, err := monitoring.NewActionGroup(ctx, \"example\", \u0026monitoring.ActionGroupArgs{\n\t\t\tName:              pulumi.String(\"example-actiongroup\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tShortName:         pulumi.String(\"exampleact\"),\n\t\t\tWebhookReceivers: monitoring.ActionGroupWebhookReceiverArray{\n\t\t\t\t\u0026monitoring.ActionGroupWebhookReceiverArgs{\n\t\t\t\t\tName:       pulumi.String(\"callmyapi\"),\n\t\t\t\t\tServiceUri: pulumi.String(\"http://example.com/alert\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Example: Creates alert using the new Scheduled Query Rules metric\n\t\t_, err = monitoring.NewMetricAlert(ctx, \"example\", \u0026monitoring.MetricAlertArgs{\n\t\t\tName:              pulumi.String(\"example-metricalert\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tScopes: pulumi.StringArray{\n\t\t\t\texampleAnalyticsWorkspace.ID(),\n\t\t\t},\n\t\t\tDescription: pulumi.String(\"Action will be triggered when Average_% Idle Time metric is less than 10.\"),\n\t\t\tFrequency:   pulumi.String(\"PT1M\"),\n\t\t\tWindowSize:  pulumi.String(\"PT5M\"),\n\t\t\tCriterias: monitoring.MetricAlertCriteriaArray{\n\t\t\t\t\u0026monitoring.MetricAlertCriteriaArgs{\n\t\t\t\t\tMetricNamespace: pulumi.String(\"Microsoft.OperationalInsights/workspaces\"),\n\t\t\t\t\tMetricName:      pulumi.String(\"UsedCapacity\"),\n\t\t\t\t\tAggregation:     pulumi.String(\"Average\"),\n\t\t\t\t\tOperator:        pulumi.String(\"LessThan\"),\n\t\t\t\t\tThreshold:       pulumi.Float64(10),\n\t\t\t\t},\n\t\t\t},\n\t\t\tActions: monitoring.MetricAlertActionArray{\n\t\t\t\t\u0026monitoring.MetricAlertActionArgs{\n\t\t\t\t\tActionGroupId: exampleActionGroup.ID(),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Example: LogToMetric Action for the named Computer\n\t\t_, err = monitoring.NewScheduledQueryRulesLog(ctx, \"example\", \u0026monitoring.ScheduledQueryRulesLogArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tCriteria: \u0026monitoring.ScheduledQueryRulesLogCriteriaArgs{\n\t\t\t\tMetricName: pulumi.String(\"Average_% Idle Time\"),\n\t\t\t\tDimensions: monitoring.ScheduledQueryRulesLogCriteriaDimensionArray{\n\t\t\t\t\t\u0026monitoring.ScheduledQueryRulesLogCriteriaDimensionArgs{\n\t\t\t\t\t\tName:     pulumi.String(\"Computer\"),\n\t\t\t\t\t\tOperator: pulumi.String(\"Include\"),\n\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"targetVM\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tDataSourceId: exampleAnalyticsWorkspace.ID(),\n\t\t\tDescription:  pulumi.String(\"Scheduled query rule LogToMetric example\"),\n\t\t\tEnabled:      pulumi.Bool(true),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"foo\": pulumi.String(\"bar\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.operationalinsights.AnalyticsWorkspace;\nimport com.pulumi.azure.operationalinsights.AnalyticsWorkspaceArgs;\nimport com.pulumi.azure.monitoring.ActionGroup;\nimport com.pulumi.azure.monitoring.ActionGroupArgs;\nimport com.pulumi.azure.monitoring.inputs.ActionGroupWebhookReceiverArgs;\nimport com.pulumi.azure.monitoring.MetricAlert;\nimport com.pulumi.azure.monitoring.MetricAlertArgs;\nimport com.pulumi.azure.monitoring.inputs.MetricAlertCriteriaArgs;\nimport com.pulumi.azure.monitoring.inputs.MetricAlertActionArgs;\nimport com.pulumi.azure.monitoring.ScheduledQueryRulesLog;\nimport com.pulumi.azure.monitoring.ScheduledQueryRulesLogArgs;\nimport com.pulumi.azure.monitoring.inputs.ScheduledQueryRulesLogCriteriaArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"monitoring-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleAnalyticsWorkspace = new AnalyticsWorkspace(\"exampleAnalyticsWorkspace\", AnalyticsWorkspaceArgs.builder()\n            .name(\"loganalytics\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .sku(\"PerGB2018\")\n            .retentionInDays(30)\n            .build());\n\n        var exampleActionGroup = new ActionGroup(\"exampleActionGroup\", ActionGroupArgs.builder()\n            .name(\"example-actiongroup\")\n            .resourceGroupName(example.name())\n            .shortName(\"exampleact\")\n            .webhookReceivers(ActionGroupWebhookReceiverArgs.builder()\n                .name(\"callmyapi\")\n                .serviceUri(\"http://example.com/alert\")\n                .build())\n            .build());\n\n        // Example: Creates alert using the new Scheduled Query Rules metric\n        var exampleMetricAlert = new MetricAlert(\"exampleMetricAlert\", MetricAlertArgs.builder()\n            .name(\"example-metricalert\")\n            .resourceGroupName(example.name())\n            .scopes(exampleAnalyticsWorkspace.id())\n            .description(\"Action will be triggered when Average_% Idle Time metric is less than 10.\")\n            .frequency(\"PT1M\")\n            .windowSize(\"PT5M\")\n            .criterias(MetricAlertCriteriaArgs.builder()\n                .metricNamespace(\"Microsoft.OperationalInsights/workspaces\")\n                .metricName(\"UsedCapacity\")\n                .aggregation(\"Average\")\n                .operator(\"LessThan\")\n                .threshold(10.0)\n                .build())\n            .actions(MetricAlertActionArgs.builder()\n                .actionGroupId(exampleActionGroup.id())\n                .build())\n            .build());\n\n        // Example: LogToMetric Action for the named Computer\n        var exampleScheduledQueryRulesLog = new ScheduledQueryRulesLog(\"exampleScheduledQueryRulesLog\", ScheduledQueryRulesLogArgs.builder()\n            .name(\"example\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .criteria(ScheduledQueryRulesLogCriteriaArgs.builder()\n                .metricName(\"Average_% Idle Time\")\n                .dimensions(ScheduledQueryRulesLogCriteriaDimensionArgs.builder()\n                    .name(\"Computer\")\n                    .operator(\"Include\")\n                    .values(\"targetVM\")\n                    .build())\n                .build())\n            .dataSourceId(exampleAnalyticsWorkspace.id())\n            .description(\"Scheduled query rule LogToMetric example\")\n            .enabled(true)\n            .tags(Map.of(\"foo\", \"bar\"))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: monitoring-resources\n      location: West Europe\n  exampleAnalyticsWorkspace:\n    type: azure:operationalinsights:AnalyticsWorkspace\n    name: example\n    properties:\n      name: loganalytics\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      sku: PerGB2018\n      retentionInDays: 30\n  exampleActionGroup:\n    type: azure:monitoring:ActionGroup\n    name: example\n    properties:\n      name: example-actiongroup\n      resourceGroupName: ${example.name}\n      shortName: exampleact\n      webhookReceivers:\n        - name: callmyapi\n          serviceUri: http://example.com/alert\n  # Example: Creates alert using the new Scheduled Query Rules metric\n  exampleMetricAlert:\n    type: azure:monitoring:MetricAlert\n    name: example\n    properties:\n      name: example-metricalert\n      resourceGroupName: ${example.name}\n      scopes:\n        - ${exampleAnalyticsWorkspace.id}\n      description: Action will be triggered when Average_% Idle Time metric is less than 10.\n      frequency: PT1M\n      windowSize: PT5M\n      criterias:\n        - metricNamespace: Microsoft.OperationalInsights/workspaces\n          metricName: UsedCapacity\n          aggregation: Average\n          operator: LessThan\n          threshold: 10\n      actions:\n        - actionGroupId: ${exampleActionGroup.id}\n  # Example: LogToMetric Action for the named Computer\n  exampleScheduledQueryRulesLog:\n    type: azure:monitoring:ScheduledQueryRulesLog\n    name: example\n    properties:\n      name: example\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      criteria:\n        metricName: Average_% Idle Time\n        dimensions:\n          - name: Computer\n            operator: Include\n            values:\n              - targetVM\n      dataSourceId: ${exampleAnalyticsWorkspace.id}\n      description: Scheduled query rule LogToMetric example\n      enabled: true\n      tags:\n        foo: bar\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Insights` - 2018-04-16\n\n## Import\n\nScheduled Query Rule Log can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:monitoring/scheduledQueryRulesLog:ScheduledQueryRulesLog example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Insights/scheduledQueryRules/myrulename\n```\n\n","properties":{"authorizedResourceIds":{"type":"array","items":{"type":"string"},"description":"A list of IDs of Resources referred into query.\n"},"criteria":{"$ref":"#/types/azure:monitoring/ScheduledQueryRulesLogCriteria:ScheduledQueryRulesLogCriteria","description":"A \u003cspan pulumi-lang-nodejs=\"`criteria`\" pulumi-lang-dotnet=\"`Criteria`\" pulumi-lang-go=\"`criteria`\" pulumi-lang-python=\"`criteria`\" pulumi-lang-yaml=\"`criteria`\" pulumi-lang-java=\"`criteria`\"\u003e`criteria`\u003c/span\u003e block as defined below.\n"},"dataSourceId":{"type":"string","description":"The resource URI over which log search query is to be run. Changing this forces a new resource to be created.\n"},"description":{"type":"string","description":"The description of the scheduled query rule.\n"},"enabled":{"type":"boolean","description":"Whether this scheduled query rule is enabled. Default is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"location":{"type":"string","description":"Specifies the Azure Region where the resource should exist. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"The name of the scheduled query rule. Changing this forces a new resource to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the scheduled query rule instance. Changing this forces a new resource to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"required":["criteria","dataSourceId","location","name","resourceGroupName"],"inputProperties":{"authorizedResourceIds":{"type":"array","items":{"type":"string"},"description":"A list of IDs of Resources referred into query.\n"},"criteria":{"$ref":"#/types/azure:monitoring/ScheduledQueryRulesLogCriteria:ScheduledQueryRulesLogCriteria","description":"A \u003cspan pulumi-lang-nodejs=\"`criteria`\" pulumi-lang-dotnet=\"`Criteria`\" pulumi-lang-go=\"`criteria`\" pulumi-lang-python=\"`criteria`\" pulumi-lang-yaml=\"`criteria`\" pulumi-lang-java=\"`criteria`\"\u003e`criteria`\u003c/span\u003e block as defined below.\n"},"dataSourceId":{"type":"string","description":"The resource URI over which log search query is to be run. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"description":{"type":"string","description":"The description of the scheduled query rule.\n"},"enabled":{"type":"boolean","description":"Whether this scheduled query rule is enabled. Default is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"location":{"type":"string","description":"Specifies the Azure Region where the resource should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the scheduled query rule. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the scheduled query rule instance. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"requiredInputs":["criteria","dataSourceId","resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering ScheduledQueryRulesLog resources.\n","properties":{"authorizedResourceIds":{"type":"array","items":{"type":"string"},"description":"A list of IDs of Resources referred into query.\n"},"criteria":{"$ref":"#/types/azure:monitoring/ScheduledQueryRulesLogCriteria:ScheduledQueryRulesLogCriteria","description":"A \u003cspan pulumi-lang-nodejs=\"`criteria`\" pulumi-lang-dotnet=\"`Criteria`\" pulumi-lang-go=\"`criteria`\" pulumi-lang-python=\"`criteria`\" pulumi-lang-yaml=\"`criteria`\" pulumi-lang-java=\"`criteria`\"\u003e`criteria`\u003c/span\u003e block as defined below.\n"},"dataSourceId":{"type":"string","description":"The resource URI over which log search query is to be run. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"description":{"type":"string","description":"The description of the scheduled query rule.\n"},"enabled":{"type":"boolean","description":"Whether this scheduled query rule is enabled. Default is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"location":{"type":"string","description":"Specifies the Azure Region where the resource should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the scheduled query rule. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the scheduled query rule instance. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"type":"object"}},"azure:monitoring/smartDetectorAlertRule:SmartDetectorAlertRule":{"description":"Manages an Monitor Smart Detector Alert Rule.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleInsights = new azure.appinsights.Insights(\"example\", {\n    name: \"example-appinsights\",\n    location: example.location,\n    resourceGroupName: example.name,\n    applicationType: \"web\",\n});\nconst exampleActionGroup = new azure.monitoring.ActionGroup(\"example\", {\n    name: \"example-action-group\",\n    resourceGroupName: example.name,\n    shortName: \"example\",\n});\nconst exampleSmartDetectorAlertRule = new azure.monitoring.SmartDetectorAlertRule(\"example\", {\n    name: \"example-smart-detector-alert-rule\",\n    resourceGroupName: example.name,\n    severity: \"Sev0\",\n    scopeResourceIds: [exampleInsights.id],\n    frequency: \"PT1M\",\n    detectorType: \"FailureAnomaliesDetector\",\n    actionGroup: {\n        ids: [exampleActionGroup.id],\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_insights = azure.appinsights.Insights(\"example\",\n    name=\"example-appinsights\",\n    location=example.location,\n    resource_group_name=example.name,\n    application_type=\"web\")\nexample_action_group = azure.monitoring.ActionGroup(\"example\",\n    name=\"example-action-group\",\n    resource_group_name=example.name,\n    short_name=\"example\")\nexample_smart_detector_alert_rule = azure.monitoring.SmartDetectorAlertRule(\"example\",\n    name=\"example-smart-detector-alert-rule\",\n    resource_group_name=example.name,\n    severity=\"Sev0\",\n    scope_resource_ids=[example_insights.id],\n    frequency=\"PT1M\",\n    detector_type=\"FailureAnomaliesDetector\",\n    action_group={\n        \"ids\": [example_action_group.id],\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleInsights = new Azure.AppInsights.Insights(\"example\", new()\n    {\n        Name = \"example-appinsights\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        ApplicationType = \"web\",\n    });\n\n    var exampleActionGroup = new Azure.Monitoring.ActionGroup(\"example\", new()\n    {\n        Name = \"example-action-group\",\n        ResourceGroupName = example.Name,\n        ShortName = \"example\",\n    });\n\n    var exampleSmartDetectorAlertRule = new Azure.Monitoring.SmartDetectorAlertRule(\"example\", new()\n    {\n        Name = \"example-smart-detector-alert-rule\",\n        ResourceGroupName = example.Name,\n        Severity = \"Sev0\",\n        ScopeResourceIds = new[]\n        {\n            exampleInsights.Id,\n        },\n        Frequency = \"PT1M\",\n        DetectorType = \"FailureAnomaliesDetector\",\n        ActionGroup = new Azure.Monitoring.Inputs.SmartDetectorAlertRuleActionGroupArgs\n        {\n            Ids = new[]\n            {\n                exampleActionGroup.Id,\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/appinsights\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/monitoring\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleInsights, err := appinsights.NewInsights(ctx, \"example\", \u0026appinsights.InsightsArgs{\n\t\t\tName:              pulumi.String(\"example-appinsights\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tApplicationType:   pulumi.String(\"web\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleActionGroup, err := monitoring.NewActionGroup(ctx, \"example\", \u0026monitoring.ActionGroupArgs{\n\t\t\tName:              pulumi.String(\"example-action-group\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tShortName:         pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = monitoring.NewSmartDetectorAlertRule(ctx, \"example\", \u0026monitoring.SmartDetectorAlertRuleArgs{\n\t\t\tName:              pulumi.String(\"example-smart-detector-alert-rule\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSeverity:          pulumi.String(\"Sev0\"),\n\t\t\tScopeResourceIds: pulumi.StringArray{\n\t\t\t\texampleInsights.ID(),\n\t\t\t},\n\t\t\tFrequency:    pulumi.String(\"PT1M\"),\n\t\t\tDetectorType: pulumi.String(\"FailureAnomaliesDetector\"),\n\t\t\tActionGroup: \u0026monitoring.SmartDetectorAlertRuleActionGroupArgs{\n\t\t\t\tIds: pulumi.StringArray{\n\t\t\t\t\texampleActionGroup.ID(),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.appinsights.Insights;\nimport com.pulumi.azure.appinsights.InsightsArgs;\nimport com.pulumi.azure.monitoring.ActionGroup;\nimport com.pulumi.azure.monitoring.ActionGroupArgs;\nimport com.pulumi.azure.monitoring.SmartDetectorAlertRule;\nimport com.pulumi.azure.monitoring.SmartDetectorAlertRuleArgs;\nimport com.pulumi.azure.monitoring.inputs.SmartDetectorAlertRuleActionGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleInsights = new Insights(\"exampleInsights\", InsightsArgs.builder()\n            .name(\"example-appinsights\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .applicationType(\"web\")\n            .build());\n\n        var exampleActionGroup = new ActionGroup(\"exampleActionGroup\", ActionGroupArgs.builder()\n            .name(\"example-action-group\")\n            .resourceGroupName(example.name())\n            .shortName(\"example\")\n            .build());\n\n        var exampleSmartDetectorAlertRule = new SmartDetectorAlertRule(\"exampleSmartDetectorAlertRule\", SmartDetectorAlertRuleArgs.builder()\n            .name(\"example-smart-detector-alert-rule\")\n            .resourceGroupName(example.name())\n            .severity(\"Sev0\")\n            .scopeResourceIds(exampleInsights.id())\n            .frequency(\"PT1M\")\n            .detectorType(\"FailureAnomaliesDetector\")\n            .actionGroup(SmartDetectorAlertRuleActionGroupArgs.builder()\n                .ids(exampleActionGroup.id())\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleInsights:\n    type: azure:appinsights:Insights\n    name: example\n    properties:\n      name: example-appinsights\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      applicationType: web\n  exampleActionGroup:\n    type: azure:monitoring:ActionGroup\n    name: example\n    properties:\n      name: example-action-group\n      resourceGroupName: ${example.name}\n      shortName: example\n  exampleSmartDetectorAlertRule:\n    type: azure:monitoring:SmartDetectorAlertRule\n    name: example\n    properties:\n      name: example-smart-detector-alert-rule\n      resourceGroupName: ${example.name}\n      severity: Sev0\n      scopeResourceIds:\n        - ${exampleInsights.id}\n      frequency: PT1M\n      detectorType: FailureAnomaliesDetector\n      actionGroup:\n        ids:\n          - ${exampleActionGroup.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.AlertsManagement` - 2019-06-01\n\n## Import\n\nMonitor Smart Detector Alert Rule can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:monitoring/smartDetectorAlertRule:SmartDetectorAlertRule example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.AlertsManagement/smartDetectorAlertRules/rule1\n```\n\n","properties":{"actionGroup":{"$ref":"#/types/azure:monitoring/SmartDetectorAlertRuleActionGroup:SmartDetectorAlertRuleActionGroup","description":"An \u003cspan pulumi-lang-nodejs=\"`actionGroup`\" pulumi-lang-dotnet=\"`ActionGroup`\" pulumi-lang-go=\"`actionGroup`\" pulumi-lang-python=\"`action_group`\" pulumi-lang-yaml=\"`actionGroup`\" pulumi-lang-java=\"`actionGroup`\"\u003e`action_group`\u003c/span\u003e block as defined below.\n"},"description":{"type":"string","description":"Specifies a description for the Smart Detector Alert Rule.\n"},"detectorType":{"type":"string","description":"Specifies the Built-In Smart Detector type that this alert rule will use. Currently the only possible values are `FailureAnomaliesDetector`, `RequestPerformanceDegradationDetector`, `DependencyPerformanceDegradationDetector`, `ExceptionVolumeChangedDetector`, `TraceSeverityDetector`, `MemoryLeakDetector`.\n"},"enabled":{"type":"boolean","description":"Is the Smart Detector Alert Rule enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"frequency":{"type":"string","description":"Specifies the frequency of this Smart Detector Alert Rule in ISO8601 format.\n"},"name":{"type":"string","description":"Specifies the name of the Monitor Smart Detector Alert Rule. Changing this forces a new resource to be created.\n"},"resourceGroupName":{"type":"string","description":"Specifies the name of the resource group in which the Monitor Smart Detector Alert Rule should exist. Changing this forces a new resource to be created.\n"},"scopeResourceIds":{"type":"array","items":{"type":"string"},"description":"Specifies the scopes of this Smart Detector Alert Rule.\n"},"severity":{"type":"string","description":"Specifies the severity of this Smart Detector Alert Rule. Possible values are `Sev0`, `Sev1`, `Sev2`, `Sev3` or `Sev4`.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"throttlingDuration":{"type":"string","description":"Specifies the duration (in ISO8601 format) to wait before notifying on the alert rule again.\n"}},"required":["actionGroup","detectorType","frequency","name","resourceGroupName","scopeResourceIds","severity"],"inputProperties":{"actionGroup":{"$ref":"#/types/azure:monitoring/SmartDetectorAlertRuleActionGroup:SmartDetectorAlertRuleActionGroup","description":"An \u003cspan pulumi-lang-nodejs=\"`actionGroup`\" pulumi-lang-dotnet=\"`ActionGroup`\" pulumi-lang-go=\"`actionGroup`\" pulumi-lang-python=\"`action_group`\" pulumi-lang-yaml=\"`actionGroup`\" pulumi-lang-java=\"`actionGroup`\"\u003e`action_group`\u003c/span\u003e block as defined below.\n"},"description":{"type":"string","description":"Specifies a description for the Smart Detector Alert Rule.\n"},"detectorType":{"type":"string","description":"Specifies the Built-In Smart Detector type that this alert rule will use. Currently the only possible values are `FailureAnomaliesDetector`, `RequestPerformanceDegradationDetector`, `DependencyPerformanceDegradationDetector`, `ExceptionVolumeChangedDetector`, `TraceSeverityDetector`, `MemoryLeakDetector`.\n"},"enabled":{"type":"boolean","description":"Is the Smart Detector Alert Rule enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"frequency":{"type":"string","description":"Specifies the frequency of this Smart Detector Alert Rule in ISO8601 format.\n"},"name":{"type":"string","description":"Specifies the name of the Monitor Smart Detector Alert Rule. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"Specifies the name of the resource group in which the Monitor Smart Detector Alert Rule should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"scopeResourceIds":{"type":"array","items":{"type":"string"},"description":"Specifies the scopes of this Smart Detector Alert Rule.\n"},"severity":{"type":"string","description":"Specifies the severity of this Smart Detector Alert Rule. Possible values are `Sev0`, `Sev1`, `Sev2`, `Sev3` or `Sev4`.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"throttlingDuration":{"type":"string","description":"Specifies the duration (in ISO8601 format) to wait before notifying on the alert rule again.\n"}},"requiredInputs":["actionGroup","detectorType","frequency","resourceGroupName","scopeResourceIds","severity"],"stateInputs":{"description":"Input properties used for looking up and filtering SmartDetectorAlertRule resources.\n","properties":{"actionGroup":{"$ref":"#/types/azure:monitoring/SmartDetectorAlertRuleActionGroup:SmartDetectorAlertRuleActionGroup","description":"An \u003cspan pulumi-lang-nodejs=\"`actionGroup`\" pulumi-lang-dotnet=\"`ActionGroup`\" pulumi-lang-go=\"`actionGroup`\" pulumi-lang-python=\"`action_group`\" pulumi-lang-yaml=\"`actionGroup`\" pulumi-lang-java=\"`actionGroup`\"\u003e`action_group`\u003c/span\u003e block as defined below.\n"},"description":{"type":"string","description":"Specifies a description for the Smart Detector Alert Rule.\n"},"detectorType":{"type":"string","description":"Specifies the Built-In Smart Detector type that this alert rule will use. Currently the only possible values are `FailureAnomaliesDetector`, `RequestPerformanceDegradationDetector`, `DependencyPerformanceDegradationDetector`, `ExceptionVolumeChangedDetector`, `TraceSeverityDetector`, `MemoryLeakDetector`.\n"},"enabled":{"type":"boolean","description":"Is the Smart Detector Alert Rule enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"frequency":{"type":"string","description":"Specifies the frequency of this Smart Detector Alert Rule in ISO8601 format.\n"},"name":{"type":"string","description":"Specifies the name of the Monitor Smart Detector Alert Rule. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"Specifies the name of the resource group in which the Monitor Smart Detector Alert Rule should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"scopeResourceIds":{"type":"array","items":{"type":"string"},"description":"Specifies the scopes of this Smart Detector Alert Rule.\n"},"severity":{"type":"string","description":"Specifies the severity of this Smart Detector Alert Rule. Possible values are `Sev0`, `Sev1`, `Sev2`, `Sev3` or `Sev4`.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"throttlingDuration":{"type":"string","description":"Specifies the duration (in ISO8601 format) to wait before notifying on the alert rule again.\n"}},"type":"object"}},"azure:monitoring/workspace:Workspace":{"description":"Manages an Azure Monitor Workspace.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleWorkspace = new azure.monitoring.Workspace(\"example\", {\n    name: \"example-mamw\",\n    resourceGroupName: example.name,\n    location: \"West Europe\",\n    tags: {\n        key: \"value\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_workspace = azure.monitoring.Workspace(\"example\",\n    name=\"example-mamw\",\n    resource_group_name=example.name,\n    location=\"West Europe\",\n    tags={\n        \"key\": \"value\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleWorkspace = new Azure.Monitoring.Workspace(\"example\", new()\n    {\n        Name = \"example-mamw\",\n        ResourceGroupName = example.Name,\n        Location = \"West Europe\",\n        Tags = \n        {\n            { \"key\", \"value\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/monitoring\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = monitoring.NewWorkspace(ctx, \"example\", \u0026monitoring.WorkspaceArgs{\n\t\t\tName:              pulumi.String(\"example-mamw\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          pulumi.String(\"West Europe\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"key\": pulumi.String(\"value\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.monitoring.Workspace;\nimport com.pulumi.azure.monitoring.WorkspaceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleWorkspace = new Workspace(\"exampleWorkspace\", WorkspaceArgs.builder()\n            .name(\"example-mamw\")\n            .resourceGroupName(example.name())\n            .location(\"West Europe\")\n            .tags(Map.of(\"key\", \"value\"))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleWorkspace:\n    type: azure:monitoring:Workspace\n    name: example\n    properties:\n      name: example-mamw\n      resourceGroupName: ${example.name}\n      location: West Europe\n      tags:\n        key: value\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Monitor` - 2023-04-03\n\n## Import\n\nAzure Monitor Workspace can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:monitoring/workspace:Workspace example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup1/providers/Microsoft.Monitor/accounts/azureMonitorWorkspace1\n```\n\n","properties":{"defaultDataCollectionEndpointId":{"type":"string","description":"The ID of the managed default Data Collection Endpoint created with the Azure Monitor Workspace.\n"},"defaultDataCollectionRuleId":{"type":"string","description":"The ID of the managed default Data Collection Rule created with the Azure Monitor Workspace.\n"},"location":{"type":"string","description":"Specifies the Azure Region where the Azure Monitor Workspace should exist. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"Specifies the name which should be used for this Azure Monitor Workspace. Changing this forces a new resource to be created.\n"},"publicNetworkAccessEnabled":{"type":"boolean","description":"Is public network access enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"queryEndpoint":{"type":"string","description":"The query endpoint for the Azure Monitor Workspace.\n"},"resourceGroupName":{"type":"string","description":"Specifies the name of the Resource Group where the Azure Monitor Workspace should exist. Changing this forces a new resource to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Azure Monitor Workspace.\n"}},"required":["defaultDataCollectionEndpointId","defaultDataCollectionRuleId","location","name","queryEndpoint","resourceGroupName"],"inputProperties":{"location":{"type":"string","description":"Specifies the Azure Region where the Azure Monitor Workspace should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name which should be used for this Azure Monitor Workspace. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"publicNetworkAccessEnabled":{"type":"boolean","description":"Is public network access enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"resourceGroupName":{"type":"string","description":"Specifies the name of the Resource Group where the Azure Monitor Workspace should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Azure Monitor Workspace.\n"}},"requiredInputs":["resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering Workspace resources.\n","properties":{"defaultDataCollectionEndpointId":{"type":"string","description":"The ID of the managed default Data Collection Endpoint created with the Azure Monitor Workspace.\n"},"defaultDataCollectionRuleId":{"type":"string","description":"The ID of the managed default Data Collection Rule created with the Azure Monitor Workspace.\n"},"location":{"type":"string","description":"Specifies the Azure Region where the Azure Monitor Workspace should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name which should be used for this Azure Monitor Workspace. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"publicNetworkAccessEnabled":{"type":"boolean","description":"Is public network access enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"queryEndpoint":{"type":"string","description":"The query endpoint for the Azure Monitor Workspace.\n"},"resourceGroupName":{"type":"string","description":"Specifies the name of the Resource Group where the Azure Monitor Workspace should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Azure Monitor Workspace.\n"}},"type":"object"}},"azure:msi/userAssignedIdentity:UserAssignedIdentity":{"description":"\u003c!-- Note: This documentation is generated. Any manual changes will be overwritten --\u003e\n\nManages a User Assigned Identity.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleUserAssignedIdentity = new azure.authorization.UserAssignedIdentity(\"example\", {\n    location: example.location,\n    name: \"example\",\n    resourceGroupName: example.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_user_assigned_identity = azure.authorization.UserAssignedIdentity(\"example\",\n    location=example.location,\n    name=\"example\",\n    resource_group_name=example.name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleUserAssignedIdentity = new Azure.Authorization.UserAssignedIdentity(\"example\", new()\n    {\n        Location = example.Location,\n        Name = \"example\",\n        ResourceGroupName = example.Name,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/authorization\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = authorization.NewUserAssignedIdentity(ctx, \"example\", \u0026authorization.UserAssignedIdentityArgs{\n\t\t\tLocation:          example.Location,\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.authorization.UserAssignedIdentity;\nimport com.pulumi.azure.authorization.UserAssignedIdentityArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleUserAssignedIdentity = new UserAssignedIdentity(\"exampleUserAssignedIdentity\", UserAssignedIdentityArgs.builder()\n            .location(example.location())\n            .name(\"example\")\n            .resourceGroupName(example.name())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleUserAssignedIdentity:\n    type: azure:authorization:UserAssignedIdentity\n    name: example\n    properties:\n      location: ${example.location}\n      name: example\n      resourceGroupName: ${example.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.ManagedIdentity` - 2024-11-30\n\n## Import\n\nAn existing User Assigned Identity can be imported into Pulumi using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:msi/userAssignedIdentity:UserAssignedIdentity example /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{userAssignedIdentityName}\n```\n\n* Where `{subscriptionId}` is the ID of the Azure Subscription where the User Assigned Identity exists. For example `12345678-1234-9876-4563-123456789012`.\n* Where `{resourceGroupName}` is the name of Resource Group where this User Assigned Identity exists. For example `example-resource-group`.\n* Where `{userAssignedIdentityName}` is the name of the User Assigned Identity. For example `userAssignedIdentityValue`.\n\n","properties":{"clientId":{"type":"string","description":"The ID of the app associated with the Identity.\n"},"isolationScope":{"type":"string","description":"The isolation scope for the User Assigned Identity. The only possible value is `Regional`.\n"},"location":{"type":"string","description":"The Azure Region where the User Assigned Identity should exist. Changing this forces a new User Assigned Identity to be created.\n"},"name":{"type":"string","description":"Specifies the name of this User Assigned Identity. Changing this forces a new User Assigned Identity to be created.\n"},"principalId":{"type":"string","description":"The ID of the Service Principal object associated with the created Identity.\n"},"resourceGroupName":{"type":"string","description":"Specifies the name of the Resource Group within which this User Assigned Identity should exist. Changing this forces a new User Assigned Identity to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the User Assigned Identity.\n"},"tenantId":{"type":"string","description":"The ID of the Tenant which the Identity belongs to.\n"}},"required":["clientId","location","name","principalId","resourceGroupName","tenantId"],"inputProperties":{"isolationScope":{"type":"string","description":"The isolation scope for the User Assigned Identity. The only possible value is `Regional`.\n"},"location":{"type":"string","description":"The Azure Region where the User Assigned Identity should exist. Changing this forces a new User Assigned Identity to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of this User Assigned Identity. Changing this forces a new User Assigned Identity to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"Specifies the name of the Resource Group within which this User Assigned Identity should exist. Changing this forces a new User Assigned Identity to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the User Assigned Identity.\n"}},"requiredInputs":["resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering UserAssignedIdentity resources.\n","properties":{"clientId":{"type":"string","description":"The ID of the app associated with the Identity.\n"},"isolationScope":{"type":"string","description":"The isolation scope for the User Assigned Identity. The only possible value is `Regional`.\n"},"location":{"type":"string","description":"The Azure Region where the User Assigned Identity should exist. Changing this forces a new User Assigned Identity to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of this User Assigned Identity. Changing this forces a new User Assigned Identity to be created.\n","willReplaceOnChanges":true},"principalId":{"type":"string","description":"The ID of the Service Principal object associated with the created Identity.\n"},"resourceGroupName":{"type":"string","description":"Specifies the name of the Resource Group within which this User Assigned Identity should exist. Changing this forces a new User Assigned Identity to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the User Assigned Identity.\n"},"tenantId":{"type":"string","description":"The ID of the Tenant which the Identity belongs to.\n"}},"type":"object"},"deprecationMessage":"azure.msi.UserAssignedIdentity has been deprecated in favor of azure.authorization.UserAssignedIdentity"},"azure:mssql/database:Database":{"description":"Manages a MS SQL Database.\n\n!\u003e **Note:** To mitigate the possibility of accidental data loss it is highly recommended that you use the \u003cspan pulumi-lang-nodejs=\"`preventDestroy`\" pulumi-lang-dotnet=\"`PreventDestroy`\" pulumi-lang-go=\"`preventDestroy`\" pulumi-lang-python=\"`prevent_destroy`\" pulumi-lang-yaml=\"`preventDestroy`\" pulumi-lang-java=\"`preventDestroy`\"\u003e`prevent_destroy`\u003c/span\u003e lifecycle argument in your configuration file for this resource. For more information on the \u003cspan pulumi-lang-nodejs=\"`preventDestroy`\" pulumi-lang-dotnet=\"`PreventDestroy`\" pulumi-lang-go=\"`preventDestroy`\" pulumi-lang-python=\"`prevent_destroy`\" pulumi-lang-yaml=\"`preventDestroy`\" pulumi-lang-java=\"`preventDestroy`\"\u003e`prevent_destroy`\u003c/span\u003e lifecycle argument please see the terraform documentation.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleServer = new azure.mssql.Server(\"example\", {\n    name: \"example-sqlserver\",\n    resourceGroupName: example.name,\n    location: example.location,\n    version: \"12.0\",\n    administratorLogin: \"4dm1n157r470r\",\n    administratorLoginPassword: \"4-v3ry-53cr37-p455w0rd\",\n});\nconst exampleDatabase = new azure.mssql.Database(\"example\", {\n    name: \"example-db\",\n    serverId: exampleServer.id,\n    collation: \"SQL_Latin1_General_CP1_CI_AS\",\n    licenseType: \"LicenseIncluded\",\n    maxSizeGb: 2,\n    skuName: \"S0\",\n    enclaveType: \"VBS\",\n    tags: {\n        foo: \"bar\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_server = azure.mssql.Server(\"example\",\n    name=\"example-sqlserver\",\n    resource_group_name=example.name,\n    location=example.location,\n    version=\"12.0\",\n    administrator_login=\"4dm1n157r470r\",\n    administrator_login_password=\"4-v3ry-53cr37-p455w0rd\")\nexample_database = azure.mssql.Database(\"example\",\n    name=\"example-db\",\n    server_id=example_server.id,\n    collation=\"SQL_Latin1_General_CP1_CI_AS\",\n    license_type=\"LicenseIncluded\",\n    max_size_gb=2,\n    sku_name=\"S0\",\n    enclave_type=\"VBS\",\n    tags={\n        \"foo\": \"bar\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleServer = new Azure.MSSql.Server(\"example\", new()\n    {\n        Name = \"example-sqlserver\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        Version = \"12.0\",\n        AdministratorLogin = \"4dm1n157r470r\",\n        AdministratorLoginPassword = \"4-v3ry-53cr37-p455w0rd\",\n    });\n\n    var exampleDatabase = new Azure.MSSql.Database(\"example\", new()\n    {\n        Name = \"example-db\",\n        ServerId = exampleServer.Id,\n        Collation = \"SQL_Latin1_General_CP1_CI_AS\",\n        LicenseType = \"LicenseIncluded\",\n        MaxSizeGb = 2,\n        SkuName = \"S0\",\n        EnclaveType = \"VBS\",\n        Tags = \n        {\n            { \"foo\", \"bar\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/mssql\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleServer, err := mssql.NewServer(ctx, \"example\", \u0026mssql.ServerArgs{\n\t\t\tName:                       pulumi.String(\"example-sqlserver\"),\n\t\t\tResourceGroupName:          example.Name,\n\t\t\tLocation:                   example.Location,\n\t\t\tVersion:                    pulumi.String(\"12.0\"),\n\t\t\tAdministratorLogin:         pulumi.String(\"4dm1n157r470r\"),\n\t\t\tAdministratorLoginPassword: pulumi.String(\"4-v3ry-53cr37-p455w0rd\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = mssql.NewDatabase(ctx, \"example\", \u0026mssql.DatabaseArgs{\n\t\t\tName:        pulumi.String(\"example-db\"),\n\t\t\tServerId:    exampleServer.ID(),\n\t\t\tCollation:   pulumi.String(\"SQL_Latin1_General_CP1_CI_AS\"),\n\t\t\tLicenseType: pulumi.String(\"LicenseIncluded\"),\n\t\t\tMaxSizeGb:   pulumi.Float64(2),\n\t\t\tSkuName:     pulumi.String(\"S0\"),\n\t\t\tEnclaveType: pulumi.String(\"VBS\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"foo\": pulumi.String(\"bar\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.mssql.Server;\nimport com.pulumi.azure.mssql.ServerArgs;\nimport com.pulumi.azure.mssql.Database;\nimport com.pulumi.azure.mssql.DatabaseArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleServer = new Server(\"exampleServer\", ServerArgs.builder()\n            .name(\"example-sqlserver\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .version(\"12.0\")\n            .administratorLogin(\"4dm1n157r470r\")\n            .administratorLoginPassword(\"4-v3ry-53cr37-p455w0rd\")\n            .build());\n\n        var exampleDatabase = new Database(\"exampleDatabase\", DatabaseArgs.builder()\n            .name(\"example-db\")\n            .serverId(exampleServer.id())\n            .collation(\"SQL_Latin1_General_CP1_CI_AS\")\n            .licenseType(\"LicenseIncluded\")\n            .maxSizeGb(2.0)\n            .skuName(\"S0\")\n            .enclaveType(\"VBS\")\n            .tags(Map.of(\"foo\", \"bar\"))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleServer:\n    type: azure:mssql:Server\n    name: example\n    properties:\n      name: example-sqlserver\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      version: '12.0'\n      administratorLogin: 4dm1n157r470r\n      administratorLoginPassword: 4-v3ry-53cr37-p455w0rd\n  exampleDatabase:\n    type: azure:mssql:Database\n    name: example\n    properties:\n      name: example-db\n      serverId: ${exampleServer.id}\n      collation: SQL_Latin1_General_CP1_CI_AS\n      licenseType: LicenseIncluded\n      maxSizeGb: 2\n      skuName: S0\n      enclaveType: VBS\n      tags:\n        foo: bar\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\n### Transparent Data Encryption(TDE) With A Customer Managed Key(CMK) During Create\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleUserAssignedIdentity = new azure.authorization.UserAssignedIdentity(\"example\", {\n    name: \"example-admin\",\n    location: example.location,\n    resourceGroupName: example.name,\n});\nconst exampleAccount = new azure.storage.Account(\"example\", {\n    name: \"examplesa\",\n    resourceGroupName: example.name,\n    location: example.location,\n    accountTier: \"Standard\",\n    accountReplicationType: \"LRS\",\n});\nconst exampleServer = new azure.mssql.Server(\"example\", {\n    name: \"example-sqlserver\",\n    resourceGroupName: example.name,\n    location: example.location,\n    version: \"12.0\",\n    administratorLogin: \"4dm1n157r470r\",\n    administratorLoginPassword: \"4-v3ry-53cr37-p455w0rd\",\n});\n// Create a key vault with access policies which allow for the current user to get, list, create, delete, update, recover, purge and getRotationPolicy for the key vault key and also add a key vault access policy for the Microsoft Sql Server instance User Managed Identity to get, wrap, and unwrap key(s)\nconst exampleKeyVault = new azure.keyvault.KeyVault(\"example\", {\n    name: \"mssqltdeexample\",\n    location: example.location,\n    resourceGroupName: example.name,\n    enabledForDiskEncryption: true,\n    tenantId: exampleUserAssignedIdentity.tenantId,\n    softDeleteRetentionDays: 7,\n    purgeProtectionEnabled: true,\n    skuName: \"standard\",\n    accessPolicies: [\n        {\n            tenantId: current.tenantId,\n            objectId: current.objectId,\n            keyPermissions: [\n                \"Get\",\n                \"List\",\n                \"Create\",\n                \"Delete\",\n                \"Update\",\n                \"Recover\",\n                \"Purge\",\n                \"GetRotationPolicy\",\n            ],\n        },\n        {\n            tenantId: exampleUserAssignedIdentity.tenantId,\n            objectId: exampleUserAssignedIdentity.principalId,\n            keyPermissions: [\n                \"Get\",\n                \"WrapKey\",\n                \"UnwrapKey\",\n            ],\n        },\n    ],\n});\nconst exampleKey = new azure.keyvault.Key(\"example\", {\n    name: \"example-key\",\n    keyVaultId: exampleKeyVault.id,\n    keyType: \"RSA\",\n    keySize: 2048,\n    keyOpts: [\n        \"unwrapKey\",\n        \"wrapKey\",\n    ],\n}, {\n    dependsOn: [exampleKeyVault],\n});\nconst exampleDatabase = new azure.mssql.Database(\"example\", {\n    name: \"example-db\",\n    serverId: exampleServer.id,\n    collation: \"SQL_Latin1_General_CP1_CI_AS\",\n    licenseType: \"LicenseIncluded\",\n    maxSizeGb: 4,\n    readScale: true,\n    skuName: \"S0\",\n    zoneRedundant: true,\n    enclaveType: \"VBS\",\n    tags: {\n        foo: \"bar\",\n    },\n    identity: {\n        type: \"UserAssigned\",\n        identityIds: [exampleUserAssignedIdentity.id],\n    },\n    transparentDataEncryptionKeyVaultKeyId: exampleKey.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_user_assigned_identity = azure.authorization.UserAssignedIdentity(\"example\",\n    name=\"example-admin\",\n    location=example.location,\n    resource_group_name=example.name)\nexample_account = azure.storage.Account(\"example\",\n    name=\"examplesa\",\n    resource_group_name=example.name,\n    location=example.location,\n    account_tier=\"Standard\",\n    account_replication_type=\"LRS\")\nexample_server = azure.mssql.Server(\"example\",\n    name=\"example-sqlserver\",\n    resource_group_name=example.name,\n    location=example.location,\n    version=\"12.0\",\n    administrator_login=\"4dm1n157r470r\",\n    administrator_login_password=\"4-v3ry-53cr37-p455w0rd\")\n# Create a key vault with access policies which allow for the current user to get, list, create, delete, update, recover, purge and getRotationPolicy for the key vault key and also add a key vault access policy for the Microsoft Sql Server instance User Managed Identity to get, wrap, and unwrap key(s)\nexample_key_vault = azure.keyvault.KeyVault(\"example\",\n    name=\"mssqltdeexample\",\n    location=example.location,\n    resource_group_name=example.name,\n    enabled_for_disk_encryption=True,\n    tenant_id=example_user_assigned_identity.tenant_id,\n    soft_delete_retention_days=7,\n    purge_protection_enabled=True,\n    sku_name=\"standard\",\n    access_policies=[\n        {\n            \"tenant_id\": current[\"tenantId\"],\n            \"object_id\": current[\"objectId\"],\n            \"key_permissions\": [\n                \"Get\",\n                \"List\",\n                \"Create\",\n                \"Delete\",\n                \"Update\",\n                \"Recover\",\n                \"Purge\",\n                \"GetRotationPolicy\",\n            ],\n        },\n        {\n            \"tenant_id\": example_user_assigned_identity.tenant_id,\n            \"object_id\": example_user_assigned_identity.principal_id,\n            \"key_permissions\": [\n                \"Get\",\n                \"WrapKey\",\n                \"UnwrapKey\",\n            ],\n        },\n    ])\nexample_key = azure.keyvault.Key(\"example\",\n    name=\"example-key\",\n    key_vault_id=example_key_vault.id,\n    key_type=\"RSA\",\n    key_size=2048,\n    key_opts=[\n        \"unwrapKey\",\n        \"wrapKey\",\n    ],\n    opts = pulumi.ResourceOptions(depends_on=[example_key_vault]))\nexample_database = azure.mssql.Database(\"example\",\n    name=\"example-db\",\n    server_id=example_server.id,\n    collation=\"SQL_Latin1_General_CP1_CI_AS\",\n    license_type=\"LicenseIncluded\",\n    max_size_gb=4,\n    read_scale=True,\n    sku_name=\"S0\",\n    zone_redundant=True,\n    enclave_type=\"VBS\",\n    tags={\n        \"foo\": \"bar\",\n    },\n    identity={\n        \"type\": \"UserAssigned\",\n        \"identity_ids\": [example_user_assigned_identity.id],\n    },\n    transparent_data_encryption_key_vault_key_id=example_key.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleUserAssignedIdentity = new Azure.Authorization.UserAssignedIdentity(\"example\", new()\n    {\n        Name = \"example-admin\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n    });\n\n    var exampleAccount = new Azure.Storage.Account(\"example\", new()\n    {\n        Name = \"examplesa\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        AccountTier = \"Standard\",\n        AccountReplicationType = \"LRS\",\n    });\n\n    var exampleServer = new Azure.MSSql.Server(\"example\", new()\n    {\n        Name = \"example-sqlserver\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        Version = \"12.0\",\n        AdministratorLogin = \"4dm1n157r470r\",\n        AdministratorLoginPassword = \"4-v3ry-53cr37-p455w0rd\",\n    });\n\n    // Create a key vault with access policies which allow for the current user to get, list, create, delete, update, recover, purge and getRotationPolicy for the key vault key and also add a key vault access policy for the Microsoft Sql Server instance User Managed Identity to get, wrap, and unwrap key(s)\n    var exampleKeyVault = new Azure.KeyVault.KeyVault(\"example\", new()\n    {\n        Name = \"mssqltdeexample\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        EnabledForDiskEncryption = true,\n        TenantId = exampleUserAssignedIdentity.TenantId,\n        SoftDeleteRetentionDays = 7,\n        PurgeProtectionEnabled = true,\n        SkuName = \"standard\",\n        AccessPolicies = new[]\n        {\n            new Azure.KeyVault.Inputs.KeyVaultAccessPolicyArgs\n            {\n                TenantId = current.TenantId,\n                ObjectId = current.ObjectId,\n                KeyPermissions = new[]\n                {\n                    \"Get\",\n                    \"List\",\n                    \"Create\",\n                    \"Delete\",\n                    \"Update\",\n                    \"Recover\",\n                    \"Purge\",\n                    \"GetRotationPolicy\",\n                },\n            },\n            new Azure.KeyVault.Inputs.KeyVaultAccessPolicyArgs\n            {\n                TenantId = exampleUserAssignedIdentity.TenantId,\n                ObjectId = exampleUserAssignedIdentity.PrincipalId,\n                KeyPermissions = new[]\n                {\n                    \"Get\",\n                    \"WrapKey\",\n                    \"UnwrapKey\",\n                },\n            },\n        },\n    });\n\n    var exampleKey = new Azure.KeyVault.Key(\"example\", new()\n    {\n        Name = \"example-key\",\n        KeyVaultId = exampleKeyVault.Id,\n        KeyType = \"RSA\",\n        KeySize = 2048,\n        KeyOpts = new[]\n        {\n            \"unwrapKey\",\n            \"wrapKey\",\n        },\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            exampleKeyVault,\n        },\n    });\n\n    var exampleDatabase = new Azure.MSSql.Database(\"example\", new()\n    {\n        Name = \"example-db\",\n        ServerId = exampleServer.Id,\n        Collation = \"SQL_Latin1_General_CP1_CI_AS\",\n        LicenseType = \"LicenseIncluded\",\n        MaxSizeGb = 4,\n        ReadScale = true,\n        SkuName = \"S0\",\n        ZoneRedundant = true,\n        EnclaveType = \"VBS\",\n        Tags = \n        {\n            { \"foo\", \"bar\" },\n        },\n        Identity = new Azure.MSSql.Inputs.DatabaseIdentityArgs\n        {\n            Type = \"UserAssigned\",\n            IdentityIds = new[]\n            {\n                exampleUserAssignedIdentity.Id,\n            },\n        },\n        TransparentDataEncryptionKeyVaultKeyId = exampleKey.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/authorization\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/keyvault\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/mssql\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleUserAssignedIdentity, err := authorization.NewUserAssignedIdentity(ctx, \"example\", \u0026authorization.UserAssignedIdentityArgs{\n\t\t\tName:              pulumi.String(\"example-admin\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = storage.NewAccount(ctx, \"example\", \u0026storage.AccountArgs{\n\t\t\tName:                   pulumi.String(\"examplesa\"),\n\t\t\tResourceGroupName:      example.Name,\n\t\t\tLocation:               example.Location,\n\t\t\tAccountTier:            pulumi.String(\"Standard\"),\n\t\t\tAccountReplicationType: pulumi.String(\"LRS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleServer, err := mssql.NewServer(ctx, \"example\", \u0026mssql.ServerArgs{\n\t\t\tName:                       pulumi.String(\"example-sqlserver\"),\n\t\t\tResourceGroupName:          example.Name,\n\t\t\tLocation:                   example.Location,\n\t\t\tVersion:                    pulumi.String(\"12.0\"),\n\t\t\tAdministratorLogin:         pulumi.String(\"4dm1n157r470r\"),\n\t\t\tAdministratorLoginPassword: pulumi.String(\"4-v3ry-53cr37-p455w0rd\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create a key vault with access policies which allow for the current user to get, list, create, delete, update, recover, purge and getRotationPolicy for the key vault key and also add a key vault access policy for the Microsoft Sql Server instance User Managed Identity to get, wrap, and unwrap key(s)\n\t\texampleKeyVault, err := keyvault.NewKeyVault(ctx, \"example\", \u0026keyvault.KeyVaultArgs{\n\t\t\tName:                     pulumi.String(\"mssqltdeexample\"),\n\t\t\tLocation:                 example.Location,\n\t\t\tResourceGroupName:        example.Name,\n\t\t\tEnabledForDiskEncryption: pulumi.Bool(true),\n\t\t\tTenantId:                 exampleUserAssignedIdentity.TenantId,\n\t\t\tSoftDeleteRetentionDays:  pulumi.Int(7),\n\t\t\tPurgeProtectionEnabled:   pulumi.Bool(true),\n\t\t\tSkuName:                  pulumi.String(\"standard\"),\n\t\t\tAccessPolicies: keyvault.KeyVaultAccessPolicyArray{\n\t\t\t\t\u0026keyvault.KeyVaultAccessPolicyArgs{\n\t\t\t\t\tTenantId: pulumi.Any(current.TenantId),\n\t\t\t\t\tObjectId: pulumi.Any(current.ObjectId),\n\t\t\t\t\tKeyPermissions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"Get\"),\n\t\t\t\t\t\tpulumi.String(\"List\"),\n\t\t\t\t\t\tpulumi.String(\"Create\"),\n\t\t\t\t\t\tpulumi.String(\"Delete\"),\n\t\t\t\t\t\tpulumi.String(\"Update\"),\n\t\t\t\t\t\tpulumi.String(\"Recover\"),\n\t\t\t\t\t\tpulumi.String(\"Purge\"),\n\t\t\t\t\t\tpulumi.String(\"GetRotationPolicy\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026keyvault.KeyVaultAccessPolicyArgs{\n\t\t\t\t\tTenantId: exampleUserAssignedIdentity.TenantId,\n\t\t\t\t\tObjectId: exampleUserAssignedIdentity.PrincipalId,\n\t\t\t\t\tKeyPermissions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"Get\"),\n\t\t\t\t\t\tpulumi.String(\"WrapKey\"),\n\t\t\t\t\t\tpulumi.String(\"UnwrapKey\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleKey, err := keyvault.NewKey(ctx, \"example\", \u0026keyvault.KeyArgs{\n\t\t\tName:       pulumi.String(\"example-key\"),\n\t\t\tKeyVaultId: exampleKeyVault.ID(),\n\t\t\tKeyType:    pulumi.String(\"RSA\"),\n\t\t\tKeySize:    pulumi.Int(2048),\n\t\t\tKeyOpts: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"unwrapKey\"),\n\t\t\t\tpulumi.String(\"wrapKey\"),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleKeyVault,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = mssql.NewDatabase(ctx, \"example\", \u0026mssql.DatabaseArgs{\n\t\t\tName:          pulumi.String(\"example-db\"),\n\t\t\tServerId:      exampleServer.ID(),\n\t\t\tCollation:     pulumi.String(\"SQL_Latin1_General_CP1_CI_AS\"),\n\t\t\tLicenseType:   pulumi.String(\"LicenseIncluded\"),\n\t\t\tMaxSizeGb:     pulumi.Float64(4),\n\t\t\tReadScale:     pulumi.Bool(true),\n\t\t\tSkuName:       pulumi.String(\"S0\"),\n\t\t\tZoneRedundant: pulumi.Bool(true),\n\t\t\tEnclaveType:   pulumi.String(\"VBS\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"foo\": pulumi.String(\"bar\"),\n\t\t\t},\n\t\t\tIdentity: \u0026mssql.DatabaseIdentityArgs{\n\t\t\t\tType: pulumi.String(\"UserAssigned\"),\n\t\t\t\tIdentityIds: pulumi.StringArray{\n\t\t\t\t\texampleUserAssignedIdentity.ID(),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTransparentDataEncryptionKeyVaultKeyId: exampleKey.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.authorization.UserAssignedIdentity;\nimport com.pulumi.azure.authorization.UserAssignedIdentityArgs;\nimport com.pulumi.azure.storage.Account;\nimport com.pulumi.azure.storage.AccountArgs;\nimport com.pulumi.azure.mssql.Server;\nimport com.pulumi.azure.mssql.ServerArgs;\nimport com.pulumi.azure.keyvault.KeyVault;\nimport com.pulumi.azure.keyvault.KeyVaultArgs;\nimport com.pulumi.azure.keyvault.inputs.KeyVaultAccessPolicyArgs;\nimport com.pulumi.azure.keyvault.Key;\nimport com.pulumi.azure.keyvault.KeyArgs;\nimport com.pulumi.azure.mssql.Database;\nimport com.pulumi.azure.mssql.DatabaseArgs;\nimport com.pulumi.azure.mssql.inputs.DatabaseIdentityArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleUserAssignedIdentity = new UserAssignedIdentity(\"exampleUserAssignedIdentity\", UserAssignedIdentityArgs.builder()\n            .name(\"example-admin\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"examplesa\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .accountTier(\"Standard\")\n            .accountReplicationType(\"LRS\")\n            .build());\n\n        var exampleServer = new Server(\"exampleServer\", ServerArgs.builder()\n            .name(\"example-sqlserver\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .version(\"12.0\")\n            .administratorLogin(\"4dm1n157r470r\")\n            .administratorLoginPassword(\"4-v3ry-53cr37-p455w0rd\")\n            .build());\n\n        // Create a key vault with access policies which allow for the current user to get, list, create, delete, update, recover, purge and getRotationPolicy for the key vault key and also add a key vault access policy for the Microsoft Sql Server instance User Managed Identity to get, wrap, and unwrap key(s)\n        var exampleKeyVault = new KeyVault(\"exampleKeyVault\", KeyVaultArgs.builder()\n            .name(\"mssqltdeexample\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .enabledForDiskEncryption(true)\n            .tenantId(exampleUserAssignedIdentity.tenantId())\n            .softDeleteRetentionDays(7)\n            .purgeProtectionEnabled(true)\n            .skuName(\"standard\")\n            .accessPolicies(            \n                KeyVaultAccessPolicyArgs.builder()\n                    .tenantId(current.tenantId())\n                    .objectId(current.objectId())\n                    .keyPermissions(                    \n                        \"Get\",\n                        \"List\",\n                        \"Create\",\n                        \"Delete\",\n                        \"Update\",\n                        \"Recover\",\n                        \"Purge\",\n                        \"GetRotationPolicy\")\n                    .build(),\n                KeyVaultAccessPolicyArgs.builder()\n                    .tenantId(exampleUserAssignedIdentity.tenantId())\n                    .objectId(exampleUserAssignedIdentity.principalId())\n                    .keyPermissions(                    \n                        \"Get\",\n                        \"WrapKey\",\n                        \"UnwrapKey\")\n                    .build())\n            .build());\n\n        var exampleKey = new Key(\"exampleKey\", KeyArgs.builder()\n            .name(\"example-key\")\n            .keyVaultId(exampleKeyVault.id())\n            .keyType(\"RSA\")\n            .keySize(2048)\n            .keyOpts(            \n                \"unwrapKey\",\n                \"wrapKey\")\n            .build(), CustomResourceOptions.builder()\n                .dependsOn(exampleKeyVault)\n                .build());\n\n        var exampleDatabase = new Database(\"exampleDatabase\", DatabaseArgs.builder()\n            .name(\"example-db\")\n            .serverId(exampleServer.id())\n            .collation(\"SQL_Latin1_General_CP1_CI_AS\")\n            .licenseType(\"LicenseIncluded\")\n            .maxSizeGb(4.0)\n            .readScale(true)\n            .skuName(\"S0\")\n            .zoneRedundant(true)\n            .enclaveType(\"VBS\")\n            .tags(Map.of(\"foo\", \"bar\"))\n            .identity(DatabaseIdentityArgs.builder()\n                .type(\"UserAssigned\")\n                .identityIds(exampleUserAssignedIdentity.id())\n                .build())\n            .transparentDataEncryptionKeyVaultKeyId(exampleKey.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleUserAssignedIdentity:\n    type: azure:authorization:UserAssignedIdentity\n    name: example\n    properties:\n      name: example-admin\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n  exampleAccount:\n    type: azure:storage:Account\n    name: example\n    properties:\n      name: examplesa\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      accountTier: Standard\n      accountReplicationType: LRS\n  exampleServer:\n    type: azure:mssql:Server\n    name: example\n    properties:\n      name: example-sqlserver\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      version: '12.0'\n      administratorLogin: 4dm1n157r470r\n      administratorLoginPassword: 4-v3ry-53cr37-p455w0rd\n  exampleDatabase:\n    type: azure:mssql:Database\n    name: example\n    properties:\n      name: example-db\n      serverId: ${exampleServer.id}\n      collation: SQL_Latin1_General_CP1_CI_AS\n      licenseType: LicenseIncluded\n      maxSizeGb: 4\n      readScale: true\n      skuName: S0\n      zoneRedundant: true\n      enclaveType: VBS\n      tags:\n        foo: bar\n      identity:\n        type: UserAssigned\n        identityIds:\n          - ${exampleUserAssignedIdentity.id}\n      transparentDataEncryptionKeyVaultKeyId: ${exampleKey.id}\n  # Create a key vault with access policies which allow for the current user to get, list, create, delete, update, recover, purge and getRotationPolicy for the key vault key and also add a key vault access policy for the Microsoft Sql Server instance User Managed Identity to get, wrap, and unwrap key(s)\n  exampleKeyVault:\n    type: azure:keyvault:KeyVault\n    name: example\n    properties:\n      name: mssqltdeexample\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      enabledForDiskEncryption: true\n      tenantId: ${exampleUserAssignedIdentity.tenantId}\n      softDeleteRetentionDays: 7\n      purgeProtectionEnabled: true\n      skuName: standard\n      accessPolicies:\n        - tenantId: ${current.tenantId}\n          objectId: ${current.objectId}\n          keyPermissions:\n            - Get\n            - List\n            - Create\n            - Delete\n            - Update\n            - Recover\n            - Purge\n            - GetRotationPolicy\n        - tenantId: ${exampleUserAssignedIdentity.tenantId}\n          objectId: ${exampleUserAssignedIdentity.principalId}\n          keyPermissions:\n            - Get\n            - WrapKey\n            - UnwrapKey\n  exampleKey:\n    type: azure:keyvault:Key\n    name: example\n    properties:\n      name: example-key\n      keyVaultId: ${exampleKeyVault.id}\n      keyType: RSA\n      keySize: 2048\n      keyOpts:\n        - unwrapKey\n        - wrapKey\n    options:\n      dependsOn:\n        - ${exampleKeyVault}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Sql` - 2023-08-01-preview\n\n## Import\n\nSQL Database can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:mssql/database:Database example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/databases/example1\n```\n\n","properties":{"autoPauseDelayInMinutes":{"type":"integer","description":"Time in minutes after which database is automatically paused. A value of `-1` means that automatic pause is disabled. This property is only settable for Serverless databases.\n"},"collation":{"type":"string","description":"Specifies the collation of the database. Changing this forces a new resource to be created.\n"},"createMode":{"type":"string","description":"The create mode of the database. Possible values are `Copy`, `Default`, `OnlineSecondary`, `PointInTimeRestore`, `Recovery`, `Restore`, `RestoreExternalBackup`, `RestoreExternalBackupSecondary`, `RestoreLongTermRetentionBackup` and `Secondary`. Mutually exclusive with \u003cspan pulumi-lang-nodejs=\"`import`\" pulumi-lang-dotnet=\"`Import`\" pulumi-lang-go=\"`import`\" pulumi-lang-python=\"`import`\" pulumi-lang-yaml=\"`import`\" pulumi-lang-java=\"`import`\"\u003e`import`\u003c/span\u003e. Changing this forces a new resource to be created. Defaults to `Default`.\n"},"creationSourceDatabaseId":{"type":"string","description":"The ID of the source database from which to create the new database. This should only be used for databases with \u003cspan pulumi-lang-nodejs=\"`createMode`\" pulumi-lang-dotnet=\"`CreateMode`\" pulumi-lang-go=\"`createMode`\" pulumi-lang-python=\"`create_mode`\" pulumi-lang-yaml=\"`createMode`\" pulumi-lang-java=\"`createMode`\"\u003e`create_mode`\u003c/span\u003e values that use another database as reference. Changing this forces a new resource to be created.\n\n\u003e **Note:** When configuring a secondary database, please be aware of the constraints for the \u003cspan pulumi-lang-nodejs=\"`skuName`\" pulumi-lang-dotnet=\"`SkuName`\" pulumi-lang-go=\"`skuName`\" pulumi-lang-python=\"`sku_name`\" pulumi-lang-yaml=\"`skuName`\" pulumi-lang-java=\"`skuName`\"\u003e`sku_name`\u003c/span\u003e property, as noted below, for both the primary and secondary databases. The \u003cspan pulumi-lang-nodejs=\"`skuName`\" pulumi-lang-dotnet=\"`SkuName`\" pulumi-lang-go=\"`skuName`\" pulumi-lang-python=\"`sku_name`\" pulumi-lang-yaml=\"`skuName`\" pulumi-lang-java=\"`skuName`\"\u003e`sku_name`\u003c/span\u003e of the secondary database may be inadvertently changed to match that of the primary when an incompatible combination of SKUs is detected by the provider.\n"},"elasticPoolId":{"type":"string","description":"Specifies the ID of the elastic pool containing this database.\n"},"enclaveType":{"type":"string","description":"Specifies the type of enclave to be used by the elastic pool. When \u003cspan pulumi-lang-nodejs=\"`enclaveType`\" pulumi-lang-dotnet=\"`EnclaveType`\" pulumi-lang-go=\"`enclaveType`\" pulumi-lang-python=\"`enclave_type`\" pulumi-lang-yaml=\"`enclaveType`\" pulumi-lang-java=\"`enclaveType`\"\u003e`enclave_type`\u003c/span\u003e is not specified (e.g., the default) enclaves are not enabled on the database. Once enabled (e.g., by specifying `Default` or `VBS`) removing the \u003cspan pulumi-lang-nodejs=\"`enclaveType`\" pulumi-lang-dotnet=\"`EnclaveType`\" pulumi-lang-go=\"`enclaveType`\" pulumi-lang-python=\"`enclave_type`\" pulumi-lang-yaml=\"`enclaveType`\" pulumi-lang-java=\"`enclaveType`\"\u003e`enclave_type`\u003c/span\u003e field from the configuration file will force the creation of a new resource. Possible values are `Default` or `VBS`.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`enclaveType`\" pulumi-lang-dotnet=\"`EnclaveType`\" pulumi-lang-go=\"`enclaveType`\" pulumi-lang-python=\"`enclave_type`\" pulumi-lang-yaml=\"`enclaveType`\" pulumi-lang-java=\"`enclaveType`\"\u003e`enclave_type`\u003c/span\u003e is currently not supported for DW (e.g, DataWarehouse) and DC-series SKUs.\n\n\u003e **Note:** Geo Replicated and Failover databases must have the same \u003cspan pulumi-lang-nodejs=\"`enclaveType`\" pulumi-lang-dotnet=\"`EnclaveType`\" pulumi-lang-go=\"`enclaveType`\" pulumi-lang-python=\"`enclave_type`\" pulumi-lang-yaml=\"`enclaveType`\" pulumi-lang-java=\"`enclaveType`\"\u003e`enclave_type`\u003c/span\u003e.\n\n\u003e **Note:** The default value for the \u003cspan pulumi-lang-nodejs=\"`enclaveType`\" pulumi-lang-dotnet=\"`EnclaveType`\" pulumi-lang-go=\"`enclaveType`\" pulumi-lang-python=\"`enclave_type`\" pulumi-lang-yaml=\"`enclaveType`\" pulumi-lang-java=\"`enclaveType`\"\u003e`enclave_type`\u003c/span\u003e field is unset not `Default`.\n"},"geoBackupEnabled":{"type":"boolean","description":"A boolean that specifies if the Geo Backup Policy is enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`geoBackupEnabled`\" pulumi-lang-dotnet=\"`GeoBackupEnabled`\" pulumi-lang-go=\"`geoBackupEnabled`\" pulumi-lang-python=\"`geo_backup_enabled`\" pulumi-lang-yaml=\"`geoBackupEnabled`\" pulumi-lang-java=\"`geoBackupEnabled`\"\u003e`geo_backup_enabled`\u003c/span\u003e is only applicable for DataWarehouse SKUs (DW*). This setting is ignored for all other SKUs.\n"},"identity":{"$ref":"#/types/azure:mssql/DatabaseIdentity:DatabaseIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"import":{"$ref":"#/types/azure:mssql/DatabaseImport:DatabaseImport","description":"A \u003cspan pulumi-lang-nodejs=\"`import`\" pulumi-lang-dotnet=\"`Import`\" pulumi-lang-go=\"`import`\" pulumi-lang-python=\"`import`\" pulumi-lang-yaml=\"`import`\" pulumi-lang-java=\"`import`\"\u003e`import`\u003c/span\u003e block as documented below. Mutually exclusive with \u003cspan pulumi-lang-nodejs=\"`createMode`\" pulumi-lang-dotnet=\"`CreateMode`\" pulumi-lang-go=\"`createMode`\" pulumi-lang-python=\"`create_mode`\" pulumi-lang-yaml=\"`createMode`\" pulumi-lang-java=\"`createMode`\"\u003e`create_mode`\u003c/span\u003e.\n"},"ledgerEnabled":{"type":"boolean","description":"A boolean that specifies if this is a ledger database. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Changing this forces a new resource to be created.\n"},"licenseType":{"type":"string","description":"Specifies the license type applied to this database. Possible values are `LicenseIncluded` and `BasePrice`.\n"},"longTermRetentionPolicy":{"$ref":"#/types/azure:mssql/DatabaseLongTermRetentionPolicy:DatabaseLongTermRetentionPolicy","description":"A \u003cspan pulumi-lang-nodejs=\"`longTermRetentionPolicy`\" pulumi-lang-dotnet=\"`LongTermRetentionPolicy`\" pulumi-lang-go=\"`longTermRetentionPolicy`\" pulumi-lang-python=\"`long_term_retention_policy`\" pulumi-lang-yaml=\"`longTermRetentionPolicy`\" pulumi-lang-java=\"`longTermRetentionPolicy`\"\u003e`long_term_retention_policy`\u003c/span\u003e block as defined below.\n"},"maintenanceConfigurationName":{"type":"string","description":"The name of the Public Maintenance Configuration window to apply to the database. Valid values include `SQL_Default`, `SQL_EastUS_DB_1`, `SQL_EastUS2_DB_1`, `SQL_SoutheastAsia_DB_1`, `SQL_AustraliaEast_DB_1`, `SQL_NorthEurope_DB_1`, `SQL_SouthCentralUS_DB_1`, `SQL_WestUS2_DB_1`, `SQL_UKSouth_DB_1`, `SQL_WestEurope_DB_1`, `SQL_EastUS_DB_2`, `SQL_EastUS2_DB_2`, `SQL_WestUS2_DB_2`, `SQL_SoutheastAsia_DB_2`, `SQL_AustraliaEast_DB_2`, `SQL_NorthEurope_DB_2`, `SQL_SouthCentralUS_DB_2`, `SQL_UKSouth_DB_2`, `SQL_WestEurope_DB_2`, `SQL_AustraliaSoutheast_DB_1`, `SQL_BrazilSouth_DB_1`, `SQL_CanadaCentral_DB_1`, `SQL_CanadaEast_DB_1`, `SQL_CentralUS_DB_1`, `SQL_EastAsia_DB_1`, `SQL_FranceCentral_DB_1`, `SQL_GermanyWestCentral_DB_1`, `SQL_CentralIndia_DB_1`, `SQL_SouthIndia_DB_1`, `SQL_JapanEast_DB_1`, `SQL_JapanWest_DB_1`, `SQL_NorthCentralUS_DB_1`, `SQL_UKWest_DB_1`, `SQL_WestUS_DB_1`, `SQL_AustraliaSoutheast_DB_2`, `SQL_BrazilSouth_DB_2`, `SQL_CanadaCentral_DB_2`, `SQL_CanadaEast_DB_2`, `SQL_CentralUS_DB_2`, `SQL_EastAsia_DB_2`, `SQL_FranceCentral_DB_2`, `SQL_GermanyWestCentral_DB_2`, `SQL_CentralIndia_DB_2`, `SQL_SouthIndia_DB_2`, `SQL_JapanEast_DB_2`, `SQL_JapanWest_DB_2`, `SQL_NorthCentralUS_DB_2`, `SQL_UKWest_DB_2`, `SQL_WestUS_DB_2`, `SQL_WestCentralUS_DB_1`, `SQL_FranceSouth_DB_1`, `SQL_WestCentralUS_DB_2`, `SQL_FranceSouth_DB_2`, `SQL_SwitzerlandNorth_DB_1`, `SQL_SwitzerlandNorth_DB_2`, `SQL_BrazilSoutheast_DB_1`, `SQL_UAENorth_DB_1`, `SQL_BrazilSoutheast_DB_2`, `SQL_UAENorth_DB_2`, `SQL_SouthAfricaNorth_DB_1`, `SQL_SouthAfricaNorth_DB_2`, `SQL_WestUS3_DB_1`, `SQL_WestUS3_DB_2`, `SQL_SwedenCentral_DB_1`, `SQL_SwedenCentral_DB_2`. Defaults to `SQL_Default`.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`maintenanceConfigurationName`\" pulumi-lang-dotnet=\"`MaintenanceConfigurationName`\" pulumi-lang-go=\"`maintenanceConfigurationName`\" pulumi-lang-python=\"`maintenance_configuration_name`\" pulumi-lang-yaml=\"`maintenanceConfigurationName`\" pulumi-lang-java=\"`maintenanceConfigurationName`\"\u003e`maintenance_configuration_name`\u003c/span\u003e is only applicable if \u003cspan pulumi-lang-nodejs=\"`elasticPoolId`\" pulumi-lang-dotnet=\"`ElasticPoolId`\" pulumi-lang-go=\"`elasticPoolId`\" pulumi-lang-python=\"`elastic_pool_id`\" pulumi-lang-yaml=\"`elasticPoolId`\" pulumi-lang-java=\"`elasticPoolId`\"\u003e`elastic_pool_id`\u003c/span\u003e is not set.\n"},"maxSizeGb":{"type":"number","description":"The max size of the database in gigabytes.\n\n\u003e **Note:** This value should not be configured when the \u003cspan pulumi-lang-nodejs=\"`createMode`\" pulumi-lang-dotnet=\"`CreateMode`\" pulumi-lang-go=\"`createMode`\" pulumi-lang-python=\"`create_mode`\" pulumi-lang-yaml=\"`createMode`\" pulumi-lang-java=\"`createMode`\"\u003e`create_mode`\u003c/span\u003e is `Secondary` or `OnlineSecondary`, as the sizing of the primary is then used as per [Azure documentation](https://docs.microsoft.com/azure/azure-sql/database/single-database-scale#geo-replicated-database). The value of \u003cspan pulumi-lang-nodejs=\"`maxSizeGb`\" pulumi-lang-dotnet=\"`MaxSizeGb`\" pulumi-lang-go=\"`maxSizeGb`\" pulumi-lang-python=\"`max_size_gb`\" pulumi-lang-yaml=\"`maxSizeGb`\" pulumi-lang-java=\"`maxSizeGb`\"\u003e`max_size_gb`\u003c/span\u003e accepts `0.1`, `0.5` and positive integers greater than or equal to 1. `0.1` means `100MB`, and `0.5` means `500MB`.\n"},"minCapacity":{"type":"number","description":"Minimal capacity that database will always have allocated, if not paused. This property is only settable for Serverless databases.\n"},"name":{"type":"string","description":"The name of the MS SQL Database. Changing this forces a new resource to be created.\n"},"readReplicaCount":{"type":"integer","description":"The number of readonly secondary replicas associated with the database to which readonly application intent connections may be routed. This property is only settable for Hyperscale edition databases.\n"},"readScale":{"type":"boolean","description":"If enabled, connections that have application intent set to readonly in their connection string may be routed to a readonly secondary replica. This property is only settable for Premium and Business Critical databases.\n"},"recoverDatabaseId":{"type":"string","description":"The ID of the database to be recovered. This property is only applicable when the \u003cspan pulumi-lang-nodejs=\"`createMode`\" pulumi-lang-dotnet=\"`CreateMode`\" pulumi-lang-go=\"`createMode`\" pulumi-lang-python=\"`create_mode`\" pulumi-lang-yaml=\"`createMode`\" pulumi-lang-java=\"`createMode`\"\u003e`create_mode`\u003c/span\u003e is `Recovery`.\n"},"recoveryPointId":{"type":"string","description":"The ID of the Recovery Services Recovery Point Id to be restored. This property is only applicable when the \u003cspan pulumi-lang-nodejs=\"`createMode`\" pulumi-lang-dotnet=\"`CreateMode`\" pulumi-lang-go=\"`createMode`\" pulumi-lang-python=\"`create_mode`\" pulumi-lang-yaml=\"`createMode`\" pulumi-lang-java=\"`createMode`\"\u003e`create_mode`\u003c/span\u003e is `Recovery`.\n"},"restoreDroppedDatabaseId":{"type":"string","description":"The ID of the database to be restored. This property is only applicable when the \u003cspan pulumi-lang-nodejs=\"`createMode`\" pulumi-lang-dotnet=\"`CreateMode`\" pulumi-lang-go=\"`createMode`\" pulumi-lang-python=\"`create_mode`\" pulumi-lang-yaml=\"`createMode`\" pulumi-lang-java=\"`createMode`\"\u003e`create_mode`\u003c/span\u003e is `Restore`.\n"},"restoreLongTermRetentionBackupId":{"type":"string","description":"The ID of the long term retention backup to be restored. This property is only applicable when the \u003cspan pulumi-lang-nodejs=\"`createMode`\" pulumi-lang-dotnet=\"`CreateMode`\" pulumi-lang-go=\"`createMode`\" pulumi-lang-python=\"`create_mode`\" pulumi-lang-yaml=\"`createMode`\" pulumi-lang-java=\"`createMode`\"\u003e`create_mode`\u003c/span\u003e is `RestoreLongTermRetentionBackup`.\n"},"restorePointInTime":{"type":"string","description":"Specifies the point in time (ISO8601 format) of the source database that will be restored to create the new database. This property is only settable for \u003cspan pulumi-lang-nodejs=\"`createMode`\" pulumi-lang-dotnet=\"`CreateMode`\" pulumi-lang-go=\"`createMode`\" pulumi-lang-python=\"`create_mode`\" pulumi-lang-yaml=\"`createMode`\" pulumi-lang-java=\"`createMode`\"\u003e`create_mode`\u003c/span\u003e= `PointInTimeRestore` databases.\n"},"sampleName":{"type":"string","description":"Specifies the name of the sample schema to apply when creating this database. Possible value is `AdventureWorksLT`.\n"},"secondaryType":{"type":"string","description":"How do you want your replica to be made? Valid values include `Geo`, `Named` and `Standby`. Defaults to `Geo`. Changing this forces a new resource to be created.\n"},"serverId":{"type":"string","description":"The id of the MS SQL Server on which to create the database. Changing this forces a new resource to be created.\n\n\u003e **Note:** This setting is still required for \"Serverless\" SKUs\n"},"shortTermRetentionPolicy":{"$ref":"#/types/azure:mssql/DatabaseShortTermRetentionPolicy:DatabaseShortTermRetentionPolicy","description":"A \u003cspan pulumi-lang-nodejs=\"`shortTermRetentionPolicy`\" pulumi-lang-dotnet=\"`ShortTermRetentionPolicy`\" pulumi-lang-go=\"`shortTermRetentionPolicy`\" pulumi-lang-python=\"`short_term_retention_policy`\" pulumi-lang-yaml=\"`shortTermRetentionPolicy`\" pulumi-lang-java=\"`shortTermRetentionPolicy`\"\u003e`short_term_retention_policy`\u003c/span\u003e block as defined below.\n"},"skuName":{"type":"string","description":"Specifies the name of the SKU used by the database. For example, `GP_S_Gen5_2`,`HS_Gen4_1`,`BC_Gen5_2`, `ElasticPool`, `Basic`,`S0`, `P2` ,`DW100c`, `DS100`. Changing this from the HyperScale service tier to another service tier will create a new resource.\n\n\u003e **Note:** A full list of supported SKU names by region can be retrieved using the Azure CLI: `az sql db list-editions -l \u003cregion\u003e -o table`\n\n\u003e **Note:** The default \u003cspan pulumi-lang-nodejs=\"`skuName`\" pulumi-lang-dotnet=\"`SkuName`\" pulumi-lang-go=\"`skuName`\" pulumi-lang-python=\"`sku_name`\" pulumi-lang-yaml=\"`skuName`\" pulumi-lang-java=\"`skuName`\"\u003e`sku_name`\u003c/span\u003e value may differ between Azure locations depending on local availability of Gen4/Gen5 capacity. When databases are replicated using the \u003cspan pulumi-lang-nodejs=\"`creationSourceDatabaseId`\" pulumi-lang-dotnet=\"`CreationSourceDatabaseId`\" pulumi-lang-go=\"`creationSourceDatabaseId`\" pulumi-lang-python=\"`creation_source_database_id`\" pulumi-lang-yaml=\"`creationSourceDatabaseId`\" pulumi-lang-java=\"`creationSourceDatabaseId`\"\u003e`creation_source_database_id`\u003c/span\u003e property, the source (primary) database cannot have a higher SKU service tier than any secondary databases. When changing the \u003cspan pulumi-lang-nodejs=\"`skuName`\" pulumi-lang-dotnet=\"`SkuName`\" pulumi-lang-go=\"`skuName`\" pulumi-lang-python=\"`sku_name`\" pulumi-lang-yaml=\"`skuName`\" pulumi-lang-java=\"`skuName`\"\u003e`sku_name`\u003c/span\u003e of a database having one or more secondary databases, this resource will first update any secondary databases as necessary. In such cases it's recommended to use the same \u003cspan pulumi-lang-nodejs=\"`skuName`\" pulumi-lang-dotnet=\"`SkuName`\" pulumi-lang-go=\"`skuName`\" pulumi-lang-python=\"`sku_name`\" pulumi-lang-yaml=\"`skuName`\" pulumi-lang-java=\"`skuName`\"\u003e`sku_name`\u003c/span\u003e in your configuration for all related databases, as not doing so may cause an unresolvable diff during subsequent plans.\n"},"storageAccountType":{"type":"string","description":"Specifies the storage account type used to store backups for this database. Possible values are `Geo`, `GeoZone`, `Local` and `Zone`. Defaults to `Geo`.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"threatDetectionPolicy":{"$ref":"#/types/azure:mssql/DatabaseThreatDetectionPolicy:DatabaseThreatDetectionPolicy","description":"Threat detection policy configuration. The \u003cspan pulumi-lang-nodejs=\"`threatDetectionPolicy`\" pulumi-lang-dotnet=\"`ThreatDetectionPolicy`\" pulumi-lang-go=\"`threatDetectionPolicy`\" pulumi-lang-python=\"`threat_detection_policy`\" pulumi-lang-yaml=\"`threatDetectionPolicy`\" pulumi-lang-java=\"`threatDetectionPolicy`\"\u003e`threat_detection_policy`\u003c/span\u003e block supports fields documented below.\n"},"transparentDataEncryptionEnabled":{"type":"boolean","description":"If set to true, Transparent Data Encryption will be enabled on the database. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`transparentDataEncryptionEnabled`\" pulumi-lang-dotnet=\"`TransparentDataEncryptionEnabled`\" pulumi-lang-go=\"`transparentDataEncryptionEnabled`\" pulumi-lang-python=\"`transparent_data_encryption_enabled`\" pulumi-lang-yaml=\"`transparentDataEncryptionEnabled`\" pulumi-lang-java=\"`transparentDataEncryptionEnabled`\"\u003e`transparent_data_encryption_enabled`\u003c/span\u003e can only be set to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e on DW (e.g, DataWarehouse) server SKUs.\n"},"transparentDataEncryptionKeyAutomaticRotationEnabled":{"type":"boolean","description":"Boolean flag to specify whether TDE automatically rotates the encryption Key to latest version or not. Possible values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** When the \u003cspan pulumi-lang-nodejs=\"`skuName`\" pulumi-lang-dotnet=\"`SkuName`\" pulumi-lang-go=\"`skuName`\" pulumi-lang-python=\"`sku_name`\" pulumi-lang-yaml=\"`skuName`\" pulumi-lang-java=\"`skuName`\"\u003e`sku_name`\u003c/span\u003e is `DW100c`, the \u003cspan pulumi-lang-nodejs=\"`transparentDataEncryptionKeyAutomaticRotationEnabled`\" pulumi-lang-dotnet=\"`TransparentDataEncryptionKeyAutomaticRotationEnabled`\" pulumi-lang-go=\"`transparentDataEncryptionKeyAutomaticRotationEnabled`\" pulumi-lang-python=\"`transparent_data_encryption_key_automatic_rotation_enabled`\" pulumi-lang-yaml=\"`transparentDataEncryptionKeyAutomaticRotationEnabled`\" pulumi-lang-java=\"`transparentDataEncryptionKeyAutomaticRotationEnabled`\"\u003e`transparent_data_encryption_key_automatic_rotation_enabled`\u003c/span\u003e and the \u003cspan pulumi-lang-nodejs=\"`transparentDataEncryptionKeyVaultKeyId`\" pulumi-lang-dotnet=\"`TransparentDataEncryptionKeyVaultKeyId`\" pulumi-lang-go=\"`transparentDataEncryptionKeyVaultKeyId`\" pulumi-lang-python=\"`transparent_data_encryption_key_vault_key_id`\" pulumi-lang-yaml=\"`transparentDataEncryptionKeyVaultKeyId`\" pulumi-lang-java=\"`transparentDataEncryptionKeyVaultKeyId`\"\u003e`transparent_data_encryption_key_vault_key_id`\u003c/span\u003e properties should not be specified, as database-level CMK is not supported for Data Warehouse SKUs.\n"},"transparentDataEncryptionKeyVaultKeyId":{"type":"string","description":"The fully versioned `Key Vault` `Key` URL (e.g. `'https://\u003cYourVaultName\u003e.vault.azure.net/keys/\u003cYourKeyName\u003e/\u003cYourKeyVersion\u003e`) to be used as the `Customer Managed Key`(CMK/BYOK) for the `Transparent Data Encryption`(TDE) layer.\n\n\u003e **Note:** To successfully deploy a `Microsoft SQL Database` in CMK/BYOK TDE the `Key Vault` must have `Soft-delete` and `purge protection` enabled to protect from data loss due to accidental key and/or key vault deletion. The `Key Vault` and the `Microsoft SQL Server` `User Managed Identity Instance` must belong to the same `Azure Active Directory` \u003cspan pulumi-lang-nodejs=\"`tenant`\" pulumi-lang-dotnet=\"`Tenant`\" pulumi-lang-go=\"`tenant`\" pulumi-lang-python=\"`tenant`\" pulumi-lang-yaml=\"`tenant`\" pulumi-lang-java=\"`tenant`\"\u003e`tenant`\u003c/span\u003e.\n"},"zoneRedundant":{"type":"boolean","description":"Whether or not this database is zone redundant, which means the replicas of this database will be spread across multiple availability zones. This property is only settable for Premium and Business Critical databases.\n"}},"required":["autoPauseDelayInMinutes","collation","creationSourceDatabaseId","enclaveType","ledgerEnabled","licenseType","longTermRetentionPolicy","maintenanceConfigurationName","maxSizeGb","minCapacity","name","readReplicaCount","readScale","restorePointInTime","sampleName","secondaryType","serverId","shortTermRetentionPolicy","skuName","threatDetectionPolicy","zoneRedundant"],"inputProperties":{"autoPauseDelayInMinutes":{"type":"integer","description":"Time in minutes after which database is automatically paused. A value of `-1` means that automatic pause is disabled. This property is only settable for Serverless databases.\n"},"collation":{"type":"string","description":"Specifies the collation of the database. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"createMode":{"type":"string","description":"The create mode of the database. Possible values are `Copy`, `Default`, `OnlineSecondary`, `PointInTimeRestore`, `Recovery`, `Restore`, `RestoreExternalBackup`, `RestoreExternalBackupSecondary`, `RestoreLongTermRetentionBackup` and `Secondary`. Mutually exclusive with \u003cspan pulumi-lang-nodejs=\"`import`\" pulumi-lang-dotnet=\"`Import`\" pulumi-lang-go=\"`import`\" pulumi-lang-python=\"`import`\" pulumi-lang-yaml=\"`import`\" pulumi-lang-java=\"`import`\"\u003e`import`\u003c/span\u003e. Changing this forces a new resource to be created. Defaults to `Default`.\n","willReplaceOnChanges":true},"creationSourceDatabaseId":{"type":"string","description":"The ID of the source database from which to create the new database. This should only be used for databases with \u003cspan pulumi-lang-nodejs=\"`createMode`\" pulumi-lang-dotnet=\"`CreateMode`\" pulumi-lang-go=\"`createMode`\" pulumi-lang-python=\"`create_mode`\" pulumi-lang-yaml=\"`createMode`\" pulumi-lang-java=\"`createMode`\"\u003e`create_mode`\u003c/span\u003e values that use another database as reference. Changing this forces a new resource to be created.\n\n\u003e **Note:** When configuring a secondary database, please be aware of the constraints for the \u003cspan pulumi-lang-nodejs=\"`skuName`\" pulumi-lang-dotnet=\"`SkuName`\" pulumi-lang-go=\"`skuName`\" pulumi-lang-python=\"`sku_name`\" pulumi-lang-yaml=\"`skuName`\" pulumi-lang-java=\"`skuName`\"\u003e`sku_name`\u003c/span\u003e property, as noted below, for both the primary and secondary databases. The \u003cspan pulumi-lang-nodejs=\"`skuName`\" pulumi-lang-dotnet=\"`SkuName`\" pulumi-lang-go=\"`skuName`\" pulumi-lang-python=\"`sku_name`\" pulumi-lang-yaml=\"`skuName`\" pulumi-lang-java=\"`skuName`\"\u003e`sku_name`\u003c/span\u003e of the secondary database may be inadvertently changed to match that of the primary when an incompatible combination of SKUs is detected by the provider.\n","willReplaceOnChanges":true},"elasticPoolId":{"type":"string","description":"Specifies the ID of the elastic pool containing this database.\n"},"enclaveType":{"type":"string","description":"Specifies the type of enclave to be used by the elastic pool. When \u003cspan pulumi-lang-nodejs=\"`enclaveType`\" pulumi-lang-dotnet=\"`EnclaveType`\" pulumi-lang-go=\"`enclaveType`\" pulumi-lang-python=\"`enclave_type`\" pulumi-lang-yaml=\"`enclaveType`\" pulumi-lang-java=\"`enclaveType`\"\u003e`enclave_type`\u003c/span\u003e is not specified (e.g., the default) enclaves are not enabled on the database. Once enabled (e.g., by specifying `Default` or `VBS`) removing the \u003cspan pulumi-lang-nodejs=\"`enclaveType`\" pulumi-lang-dotnet=\"`EnclaveType`\" pulumi-lang-go=\"`enclaveType`\" pulumi-lang-python=\"`enclave_type`\" pulumi-lang-yaml=\"`enclaveType`\" pulumi-lang-java=\"`enclaveType`\"\u003e`enclave_type`\u003c/span\u003e field from the configuration file will force the creation of a new resource. Possible values are `Default` or `VBS`.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`enclaveType`\" pulumi-lang-dotnet=\"`EnclaveType`\" pulumi-lang-go=\"`enclaveType`\" pulumi-lang-python=\"`enclave_type`\" pulumi-lang-yaml=\"`enclaveType`\" pulumi-lang-java=\"`enclaveType`\"\u003e`enclave_type`\u003c/span\u003e is currently not supported for DW (e.g, DataWarehouse) and DC-series SKUs.\n\n\u003e **Note:** Geo Replicated and Failover databases must have the same \u003cspan pulumi-lang-nodejs=\"`enclaveType`\" pulumi-lang-dotnet=\"`EnclaveType`\" pulumi-lang-go=\"`enclaveType`\" pulumi-lang-python=\"`enclave_type`\" pulumi-lang-yaml=\"`enclaveType`\" pulumi-lang-java=\"`enclaveType`\"\u003e`enclave_type`\u003c/span\u003e.\n\n\u003e **Note:** The default value for the \u003cspan pulumi-lang-nodejs=\"`enclaveType`\" pulumi-lang-dotnet=\"`EnclaveType`\" pulumi-lang-go=\"`enclaveType`\" pulumi-lang-python=\"`enclave_type`\" pulumi-lang-yaml=\"`enclaveType`\" pulumi-lang-java=\"`enclaveType`\"\u003e`enclave_type`\u003c/span\u003e field is unset not `Default`.\n"},"geoBackupEnabled":{"type":"boolean","description":"A boolean that specifies if the Geo Backup Policy is enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`geoBackupEnabled`\" pulumi-lang-dotnet=\"`GeoBackupEnabled`\" pulumi-lang-go=\"`geoBackupEnabled`\" pulumi-lang-python=\"`geo_backup_enabled`\" pulumi-lang-yaml=\"`geoBackupEnabled`\" pulumi-lang-java=\"`geoBackupEnabled`\"\u003e`geo_backup_enabled`\u003c/span\u003e is only applicable for DataWarehouse SKUs (DW*). This setting is ignored for all other SKUs.\n"},"identity":{"$ref":"#/types/azure:mssql/DatabaseIdentity:DatabaseIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"import":{"$ref":"#/types/azure:mssql/DatabaseImport:DatabaseImport","description":"A \u003cspan pulumi-lang-nodejs=\"`import`\" pulumi-lang-dotnet=\"`Import`\" pulumi-lang-go=\"`import`\" pulumi-lang-python=\"`import`\" pulumi-lang-yaml=\"`import`\" pulumi-lang-java=\"`import`\"\u003e`import`\u003c/span\u003e block as documented below. Mutually exclusive with \u003cspan pulumi-lang-nodejs=\"`createMode`\" pulumi-lang-dotnet=\"`CreateMode`\" pulumi-lang-go=\"`createMode`\" pulumi-lang-python=\"`create_mode`\" pulumi-lang-yaml=\"`createMode`\" pulumi-lang-java=\"`createMode`\"\u003e`create_mode`\u003c/span\u003e.\n"},"ledgerEnabled":{"type":"boolean","description":"A boolean that specifies if this is a ledger database. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"licenseType":{"type":"string","description":"Specifies the license type applied to this database. Possible values are `LicenseIncluded` and `BasePrice`.\n"},"longTermRetentionPolicy":{"$ref":"#/types/azure:mssql/DatabaseLongTermRetentionPolicy:DatabaseLongTermRetentionPolicy","description":"A \u003cspan pulumi-lang-nodejs=\"`longTermRetentionPolicy`\" pulumi-lang-dotnet=\"`LongTermRetentionPolicy`\" pulumi-lang-go=\"`longTermRetentionPolicy`\" pulumi-lang-python=\"`long_term_retention_policy`\" pulumi-lang-yaml=\"`longTermRetentionPolicy`\" pulumi-lang-java=\"`longTermRetentionPolicy`\"\u003e`long_term_retention_policy`\u003c/span\u003e block as defined below.\n"},"maintenanceConfigurationName":{"type":"string","description":"The name of the Public Maintenance Configuration window to apply to the database. Valid values include `SQL_Default`, `SQL_EastUS_DB_1`, `SQL_EastUS2_DB_1`, `SQL_SoutheastAsia_DB_1`, `SQL_AustraliaEast_DB_1`, `SQL_NorthEurope_DB_1`, `SQL_SouthCentralUS_DB_1`, `SQL_WestUS2_DB_1`, `SQL_UKSouth_DB_1`, `SQL_WestEurope_DB_1`, `SQL_EastUS_DB_2`, `SQL_EastUS2_DB_2`, `SQL_WestUS2_DB_2`, `SQL_SoutheastAsia_DB_2`, `SQL_AustraliaEast_DB_2`, `SQL_NorthEurope_DB_2`, `SQL_SouthCentralUS_DB_2`, `SQL_UKSouth_DB_2`, `SQL_WestEurope_DB_2`, `SQL_AustraliaSoutheast_DB_1`, `SQL_BrazilSouth_DB_1`, `SQL_CanadaCentral_DB_1`, `SQL_CanadaEast_DB_1`, `SQL_CentralUS_DB_1`, `SQL_EastAsia_DB_1`, `SQL_FranceCentral_DB_1`, `SQL_GermanyWestCentral_DB_1`, `SQL_CentralIndia_DB_1`, `SQL_SouthIndia_DB_1`, `SQL_JapanEast_DB_1`, `SQL_JapanWest_DB_1`, `SQL_NorthCentralUS_DB_1`, `SQL_UKWest_DB_1`, `SQL_WestUS_DB_1`, `SQL_AustraliaSoutheast_DB_2`, `SQL_BrazilSouth_DB_2`, `SQL_CanadaCentral_DB_2`, `SQL_CanadaEast_DB_2`, `SQL_CentralUS_DB_2`, `SQL_EastAsia_DB_2`, `SQL_FranceCentral_DB_2`, `SQL_GermanyWestCentral_DB_2`, `SQL_CentralIndia_DB_2`, `SQL_SouthIndia_DB_2`, `SQL_JapanEast_DB_2`, `SQL_JapanWest_DB_2`, `SQL_NorthCentralUS_DB_2`, `SQL_UKWest_DB_2`, `SQL_WestUS_DB_2`, `SQL_WestCentralUS_DB_1`, `SQL_FranceSouth_DB_1`, `SQL_WestCentralUS_DB_2`, `SQL_FranceSouth_DB_2`, `SQL_SwitzerlandNorth_DB_1`, `SQL_SwitzerlandNorth_DB_2`, `SQL_BrazilSoutheast_DB_1`, `SQL_UAENorth_DB_1`, `SQL_BrazilSoutheast_DB_2`, `SQL_UAENorth_DB_2`, `SQL_SouthAfricaNorth_DB_1`, `SQL_SouthAfricaNorth_DB_2`, `SQL_WestUS3_DB_1`, `SQL_WestUS3_DB_2`, `SQL_SwedenCentral_DB_1`, `SQL_SwedenCentral_DB_2`. Defaults to `SQL_Default`.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`maintenanceConfigurationName`\" pulumi-lang-dotnet=\"`MaintenanceConfigurationName`\" pulumi-lang-go=\"`maintenanceConfigurationName`\" pulumi-lang-python=\"`maintenance_configuration_name`\" pulumi-lang-yaml=\"`maintenanceConfigurationName`\" pulumi-lang-java=\"`maintenanceConfigurationName`\"\u003e`maintenance_configuration_name`\u003c/span\u003e is only applicable if \u003cspan pulumi-lang-nodejs=\"`elasticPoolId`\" pulumi-lang-dotnet=\"`ElasticPoolId`\" pulumi-lang-go=\"`elasticPoolId`\" pulumi-lang-python=\"`elastic_pool_id`\" pulumi-lang-yaml=\"`elasticPoolId`\" pulumi-lang-java=\"`elasticPoolId`\"\u003e`elastic_pool_id`\u003c/span\u003e is not set.\n"},"maxSizeGb":{"type":"number","description":"The max size of the database in gigabytes.\n\n\u003e **Note:** This value should not be configured when the \u003cspan pulumi-lang-nodejs=\"`createMode`\" pulumi-lang-dotnet=\"`CreateMode`\" pulumi-lang-go=\"`createMode`\" pulumi-lang-python=\"`create_mode`\" pulumi-lang-yaml=\"`createMode`\" pulumi-lang-java=\"`createMode`\"\u003e`create_mode`\u003c/span\u003e is `Secondary` or `OnlineSecondary`, as the sizing of the primary is then used as per [Azure documentation](https://docs.microsoft.com/azure/azure-sql/database/single-database-scale#geo-replicated-database). The value of \u003cspan pulumi-lang-nodejs=\"`maxSizeGb`\" pulumi-lang-dotnet=\"`MaxSizeGb`\" pulumi-lang-go=\"`maxSizeGb`\" pulumi-lang-python=\"`max_size_gb`\" pulumi-lang-yaml=\"`maxSizeGb`\" pulumi-lang-java=\"`maxSizeGb`\"\u003e`max_size_gb`\u003c/span\u003e accepts `0.1`, `0.5` and positive integers greater than or equal to 1. `0.1` means `100MB`, and `0.5` means `500MB`.\n"},"minCapacity":{"type":"number","description":"Minimal capacity that database will always have allocated, if not paused. This property is only settable for Serverless databases.\n"},"name":{"type":"string","description":"The name of the MS SQL Database. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"readReplicaCount":{"type":"integer","description":"The number of readonly secondary replicas associated with the database to which readonly application intent connections may be routed. This property is only settable for Hyperscale edition databases.\n"},"readScale":{"type":"boolean","description":"If enabled, connections that have application intent set to readonly in their connection string may be routed to a readonly secondary replica. This property is only settable for Premium and Business Critical databases.\n"},"recoverDatabaseId":{"type":"string","description":"The ID of the database to be recovered. This property is only applicable when the \u003cspan pulumi-lang-nodejs=\"`createMode`\" pulumi-lang-dotnet=\"`CreateMode`\" pulumi-lang-go=\"`createMode`\" pulumi-lang-python=\"`create_mode`\" pulumi-lang-yaml=\"`createMode`\" pulumi-lang-java=\"`createMode`\"\u003e`create_mode`\u003c/span\u003e is `Recovery`.\n"},"recoveryPointId":{"type":"string","description":"The ID of the Recovery Services Recovery Point Id to be restored. This property is only applicable when the \u003cspan pulumi-lang-nodejs=\"`createMode`\" pulumi-lang-dotnet=\"`CreateMode`\" pulumi-lang-go=\"`createMode`\" pulumi-lang-python=\"`create_mode`\" pulumi-lang-yaml=\"`createMode`\" pulumi-lang-java=\"`createMode`\"\u003e`create_mode`\u003c/span\u003e is `Recovery`.\n"},"restoreDroppedDatabaseId":{"type":"string","description":"The ID of the database to be restored. This property is only applicable when the \u003cspan pulumi-lang-nodejs=\"`createMode`\" pulumi-lang-dotnet=\"`CreateMode`\" pulumi-lang-go=\"`createMode`\" pulumi-lang-python=\"`create_mode`\" pulumi-lang-yaml=\"`createMode`\" pulumi-lang-java=\"`createMode`\"\u003e`create_mode`\u003c/span\u003e is `Restore`.\n"},"restoreLongTermRetentionBackupId":{"type":"string","description":"The ID of the long term retention backup to be restored. This property is only applicable when the \u003cspan pulumi-lang-nodejs=\"`createMode`\" pulumi-lang-dotnet=\"`CreateMode`\" pulumi-lang-go=\"`createMode`\" pulumi-lang-python=\"`create_mode`\" pulumi-lang-yaml=\"`createMode`\" pulumi-lang-java=\"`createMode`\"\u003e`create_mode`\u003c/span\u003e is `RestoreLongTermRetentionBackup`.\n"},"restorePointInTime":{"type":"string","description":"Specifies the point in time (ISO8601 format) of the source database that will be restored to create the new database. This property is only settable for \u003cspan pulumi-lang-nodejs=\"`createMode`\" pulumi-lang-dotnet=\"`CreateMode`\" pulumi-lang-go=\"`createMode`\" pulumi-lang-python=\"`create_mode`\" pulumi-lang-yaml=\"`createMode`\" pulumi-lang-java=\"`createMode`\"\u003e`create_mode`\u003c/span\u003e= `PointInTimeRestore` databases.\n"},"sampleName":{"type":"string","description":"Specifies the name of the sample schema to apply when creating this database. Possible value is `AdventureWorksLT`.\n"},"secondaryType":{"type":"string","description":"How do you want your replica to be made? Valid values include `Geo`, `Named` and `Standby`. Defaults to `Geo`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"serverId":{"type":"string","description":"The id of the MS SQL Server on which to create the database. Changing this forces a new resource to be created.\n\n\u003e **Note:** This setting is still required for \"Serverless\" SKUs\n","willReplaceOnChanges":true},"shortTermRetentionPolicy":{"$ref":"#/types/azure:mssql/DatabaseShortTermRetentionPolicy:DatabaseShortTermRetentionPolicy","description":"A \u003cspan pulumi-lang-nodejs=\"`shortTermRetentionPolicy`\" pulumi-lang-dotnet=\"`ShortTermRetentionPolicy`\" pulumi-lang-go=\"`shortTermRetentionPolicy`\" pulumi-lang-python=\"`short_term_retention_policy`\" pulumi-lang-yaml=\"`shortTermRetentionPolicy`\" pulumi-lang-java=\"`shortTermRetentionPolicy`\"\u003e`short_term_retention_policy`\u003c/span\u003e block as defined below.\n"},"skuName":{"type":"string","description":"Specifies the name of the SKU used by the database. For example, `GP_S_Gen5_2`,`HS_Gen4_1`,`BC_Gen5_2`, `ElasticPool`, `Basic`,`S0`, `P2` ,`DW100c`, `DS100`. Changing this from the HyperScale service tier to another service tier will create a new resource.\n\n\u003e **Note:** A full list of supported SKU names by region can be retrieved using the Azure CLI: `az sql db list-editions -l \u003cregion\u003e -o table`\n\n\u003e **Note:** The default \u003cspan pulumi-lang-nodejs=\"`skuName`\" pulumi-lang-dotnet=\"`SkuName`\" pulumi-lang-go=\"`skuName`\" pulumi-lang-python=\"`sku_name`\" pulumi-lang-yaml=\"`skuName`\" pulumi-lang-java=\"`skuName`\"\u003e`sku_name`\u003c/span\u003e value may differ between Azure locations depending on local availability of Gen4/Gen5 capacity. When databases are replicated using the \u003cspan pulumi-lang-nodejs=\"`creationSourceDatabaseId`\" pulumi-lang-dotnet=\"`CreationSourceDatabaseId`\" pulumi-lang-go=\"`creationSourceDatabaseId`\" pulumi-lang-python=\"`creation_source_database_id`\" pulumi-lang-yaml=\"`creationSourceDatabaseId`\" pulumi-lang-java=\"`creationSourceDatabaseId`\"\u003e`creation_source_database_id`\u003c/span\u003e property, the source (primary) database cannot have a higher SKU service tier than any secondary databases. When changing the \u003cspan pulumi-lang-nodejs=\"`skuName`\" pulumi-lang-dotnet=\"`SkuName`\" pulumi-lang-go=\"`skuName`\" pulumi-lang-python=\"`sku_name`\" pulumi-lang-yaml=\"`skuName`\" pulumi-lang-java=\"`skuName`\"\u003e`sku_name`\u003c/span\u003e of a database having one or more secondary databases, this resource will first update any secondary databases as necessary. In such cases it's recommended to use the same \u003cspan pulumi-lang-nodejs=\"`skuName`\" pulumi-lang-dotnet=\"`SkuName`\" pulumi-lang-go=\"`skuName`\" pulumi-lang-python=\"`sku_name`\" pulumi-lang-yaml=\"`skuName`\" pulumi-lang-java=\"`skuName`\"\u003e`sku_name`\u003c/span\u003e in your configuration for all related databases, as not doing so may cause an unresolvable diff during subsequent plans.\n"},"storageAccountType":{"type":"string","description":"Specifies the storage account type used to store backups for this database. Possible values are `Geo`, `GeoZone`, `Local` and `Zone`. Defaults to `Geo`.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"threatDetectionPolicy":{"$ref":"#/types/azure:mssql/DatabaseThreatDetectionPolicy:DatabaseThreatDetectionPolicy","description":"Threat detection policy configuration. The \u003cspan pulumi-lang-nodejs=\"`threatDetectionPolicy`\" pulumi-lang-dotnet=\"`ThreatDetectionPolicy`\" pulumi-lang-go=\"`threatDetectionPolicy`\" pulumi-lang-python=\"`threat_detection_policy`\" pulumi-lang-yaml=\"`threatDetectionPolicy`\" pulumi-lang-java=\"`threatDetectionPolicy`\"\u003e`threat_detection_policy`\u003c/span\u003e block supports fields documented below.\n"},"transparentDataEncryptionEnabled":{"type":"boolean","description":"If set to true, Transparent Data Encryption will be enabled on the database. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`transparentDataEncryptionEnabled`\" pulumi-lang-dotnet=\"`TransparentDataEncryptionEnabled`\" pulumi-lang-go=\"`transparentDataEncryptionEnabled`\" pulumi-lang-python=\"`transparent_data_encryption_enabled`\" pulumi-lang-yaml=\"`transparentDataEncryptionEnabled`\" pulumi-lang-java=\"`transparentDataEncryptionEnabled`\"\u003e`transparent_data_encryption_enabled`\u003c/span\u003e can only be set to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e on DW (e.g, DataWarehouse) server SKUs.\n"},"transparentDataEncryptionKeyAutomaticRotationEnabled":{"type":"boolean","description":"Boolean flag to specify whether TDE automatically rotates the encryption Key to latest version or not. Possible values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** When the \u003cspan pulumi-lang-nodejs=\"`skuName`\" pulumi-lang-dotnet=\"`SkuName`\" pulumi-lang-go=\"`skuName`\" pulumi-lang-python=\"`sku_name`\" pulumi-lang-yaml=\"`skuName`\" pulumi-lang-java=\"`skuName`\"\u003e`sku_name`\u003c/span\u003e is `DW100c`, the \u003cspan pulumi-lang-nodejs=\"`transparentDataEncryptionKeyAutomaticRotationEnabled`\" pulumi-lang-dotnet=\"`TransparentDataEncryptionKeyAutomaticRotationEnabled`\" pulumi-lang-go=\"`transparentDataEncryptionKeyAutomaticRotationEnabled`\" pulumi-lang-python=\"`transparent_data_encryption_key_automatic_rotation_enabled`\" pulumi-lang-yaml=\"`transparentDataEncryptionKeyAutomaticRotationEnabled`\" pulumi-lang-java=\"`transparentDataEncryptionKeyAutomaticRotationEnabled`\"\u003e`transparent_data_encryption_key_automatic_rotation_enabled`\u003c/span\u003e and the \u003cspan pulumi-lang-nodejs=\"`transparentDataEncryptionKeyVaultKeyId`\" pulumi-lang-dotnet=\"`TransparentDataEncryptionKeyVaultKeyId`\" pulumi-lang-go=\"`transparentDataEncryptionKeyVaultKeyId`\" pulumi-lang-python=\"`transparent_data_encryption_key_vault_key_id`\" pulumi-lang-yaml=\"`transparentDataEncryptionKeyVaultKeyId`\" pulumi-lang-java=\"`transparentDataEncryptionKeyVaultKeyId`\"\u003e`transparent_data_encryption_key_vault_key_id`\u003c/span\u003e properties should not be specified, as database-level CMK is not supported for Data Warehouse SKUs.\n"},"transparentDataEncryptionKeyVaultKeyId":{"type":"string","description":"The fully versioned `Key Vault` `Key` URL (e.g. `'https://\u003cYourVaultName\u003e.vault.azure.net/keys/\u003cYourKeyName\u003e/\u003cYourKeyVersion\u003e`) to be used as the `Customer Managed Key`(CMK/BYOK) for the `Transparent Data Encryption`(TDE) layer.\n\n\u003e **Note:** To successfully deploy a `Microsoft SQL Database` in CMK/BYOK TDE the `Key Vault` must have `Soft-delete` and `purge protection` enabled to protect from data loss due to accidental key and/or key vault deletion. The `Key Vault` and the `Microsoft SQL Server` `User Managed Identity Instance` must belong to the same `Azure Active Directory` \u003cspan pulumi-lang-nodejs=\"`tenant`\" pulumi-lang-dotnet=\"`Tenant`\" pulumi-lang-go=\"`tenant`\" pulumi-lang-python=\"`tenant`\" pulumi-lang-yaml=\"`tenant`\" pulumi-lang-java=\"`tenant`\"\u003e`tenant`\u003c/span\u003e.\n"},"zoneRedundant":{"type":"boolean","description":"Whether or not this database is zone redundant, which means the replicas of this database will be spread across multiple availability zones. This property is only settable for Premium and Business Critical databases.\n"}},"requiredInputs":["serverId"],"stateInputs":{"description":"Input properties used for looking up and filtering Database resources.\n","properties":{"autoPauseDelayInMinutes":{"type":"integer","description":"Time in minutes after which database is automatically paused. A value of `-1` means that automatic pause is disabled. This property is only settable for Serverless databases.\n"},"collation":{"type":"string","description":"Specifies the collation of the database. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"createMode":{"type":"string","description":"The create mode of the database. Possible values are `Copy`, `Default`, `OnlineSecondary`, `PointInTimeRestore`, `Recovery`, `Restore`, `RestoreExternalBackup`, `RestoreExternalBackupSecondary`, `RestoreLongTermRetentionBackup` and `Secondary`. Mutually exclusive with \u003cspan pulumi-lang-nodejs=\"`import`\" pulumi-lang-dotnet=\"`Import`\" pulumi-lang-go=\"`import`\" pulumi-lang-python=\"`import`\" pulumi-lang-yaml=\"`import`\" pulumi-lang-java=\"`import`\"\u003e`import`\u003c/span\u003e. Changing this forces a new resource to be created. Defaults to `Default`.\n","willReplaceOnChanges":true},"creationSourceDatabaseId":{"type":"string","description":"The ID of the source database from which to create the new database. This should only be used for databases with \u003cspan pulumi-lang-nodejs=\"`createMode`\" pulumi-lang-dotnet=\"`CreateMode`\" pulumi-lang-go=\"`createMode`\" pulumi-lang-python=\"`create_mode`\" pulumi-lang-yaml=\"`createMode`\" pulumi-lang-java=\"`createMode`\"\u003e`create_mode`\u003c/span\u003e values that use another database as reference. Changing this forces a new resource to be created.\n\n\u003e **Note:** When configuring a secondary database, please be aware of the constraints for the \u003cspan pulumi-lang-nodejs=\"`skuName`\" pulumi-lang-dotnet=\"`SkuName`\" pulumi-lang-go=\"`skuName`\" pulumi-lang-python=\"`sku_name`\" pulumi-lang-yaml=\"`skuName`\" pulumi-lang-java=\"`skuName`\"\u003e`sku_name`\u003c/span\u003e property, as noted below, for both the primary and secondary databases. The \u003cspan pulumi-lang-nodejs=\"`skuName`\" pulumi-lang-dotnet=\"`SkuName`\" pulumi-lang-go=\"`skuName`\" pulumi-lang-python=\"`sku_name`\" pulumi-lang-yaml=\"`skuName`\" pulumi-lang-java=\"`skuName`\"\u003e`sku_name`\u003c/span\u003e of the secondary database may be inadvertently changed to match that of the primary when an incompatible combination of SKUs is detected by the provider.\n","willReplaceOnChanges":true},"elasticPoolId":{"type":"string","description":"Specifies the ID of the elastic pool containing this database.\n"},"enclaveType":{"type":"string","description":"Specifies the type of enclave to be used by the elastic pool. When \u003cspan pulumi-lang-nodejs=\"`enclaveType`\" pulumi-lang-dotnet=\"`EnclaveType`\" pulumi-lang-go=\"`enclaveType`\" pulumi-lang-python=\"`enclave_type`\" pulumi-lang-yaml=\"`enclaveType`\" pulumi-lang-java=\"`enclaveType`\"\u003e`enclave_type`\u003c/span\u003e is not specified (e.g., the default) enclaves are not enabled on the database. Once enabled (e.g., by specifying `Default` or `VBS`) removing the \u003cspan pulumi-lang-nodejs=\"`enclaveType`\" pulumi-lang-dotnet=\"`EnclaveType`\" pulumi-lang-go=\"`enclaveType`\" pulumi-lang-python=\"`enclave_type`\" pulumi-lang-yaml=\"`enclaveType`\" pulumi-lang-java=\"`enclaveType`\"\u003e`enclave_type`\u003c/span\u003e field from the configuration file will force the creation of a new resource. Possible values are `Default` or `VBS`.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`enclaveType`\" pulumi-lang-dotnet=\"`EnclaveType`\" pulumi-lang-go=\"`enclaveType`\" pulumi-lang-python=\"`enclave_type`\" pulumi-lang-yaml=\"`enclaveType`\" pulumi-lang-java=\"`enclaveType`\"\u003e`enclave_type`\u003c/span\u003e is currently not supported for DW (e.g, DataWarehouse) and DC-series SKUs.\n\n\u003e **Note:** Geo Replicated and Failover databases must have the same \u003cspan pulumi-lang-nodejs=\"`enclaveType`\" pulumi-lang-dotnet=\"`EnclaveType`\" pulumi-lang-go=\"`enclaveType`\" pulumi-lang-python=\"`enclave_type`\" pulumi-lang-yaml=\"`enclaveType`\" pulumi-lang-java=\"`enclaveType`\"\u003e`enclave_type`\u003c/span\u003e.\n\n\u003e **Note:** The default value for the \u003cspan pulumi-lang-nodejs=\"`enclaveType`\" pulumi-lang-dotnet=\"`EnclaveType`\" pulumi-lang-go=\"`enclaveType`\" pulumi-lang-python=\"`enclave_type`\" pulumi-lang-yaml=\"`enclaveType`\" pulumi-lang-java=\"`enclaveType`\"\u003e`enclave_type`\u003c/span\u003e field is unset not `Default`.\n"},"geoBackupEnabled":{"type":"boolean","description":"A boolean that specifies if the Geo Backup Policy is enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`geoBackupEnabled`\" pulumi-lang-dotnet=\"`GeoBackupEnabled`\" pulumi-lang-go=\"`geoBackupEnabled`\" pulumi-lang-python=\"`geo_backup_enabled`\" pulumi-lang-yaml=\"`geoBackupEnabled`\" pulumi-lang-java=\"`geoBackupEnabled`\"\u003e`geo_backup_enabled`\u003c/span\u003e is only applicable for DataWarehouse SKUs (DW*). This setting is ignored for all other SKUs.\n"},"identity":{"$ref":"#/types/azure:mssql/DatabaseIdentity:DatabaseIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"import":{"$ref":"#/types/azure:mssql/DatabaseImport:DatabaseImport","description":"A \u003cspan pulumi-lang-nodejs=\"`import`\" pulumi-lang-dotnet=\"`Import`\" pulumi-lang-go=\"`import`\" pulumi-lang-python=\"`import`\" pulumi-lang-yaml=\"`import`\" pulumi-lang-java=\"`import`\"\u003e`import`\u003c/span\u003e block as documented below. Mutually exclusive with \u003cspan pulumi-lang-nodejs=\"`createMode`\" pulumi-lang-dotnet=\"`CreateMode`\" pulumi-lang-go=\"`createMode`\" pulumi-lang-python=\"`create_mode`\" pulumi-lang-yaml=\"`createMode`\" pulumi-lang-java=\"`createMode`\"\u003e`create_mode`\u003c/span\u003e.\n"},"ledgerEnabled":{"type":"boolean","description":"A boolean that specifies if this is a ledger database. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"licenseType":{"type":"string","description":"Specifies the license type applied to this database. Possible values are `LicenseIncluded` and `BasePrice`.\n"},"longTermRetentionPolicy":{"$ref":"#/types/azure:mssql/DatabaseLongTermRetentionPolicy:DatabaseLongTermRetentionPolicy","description":"A \u003cspan pulumi-lang-nodejs=\"`longTermRetentionPolicy`\" pulumi-lang-dotnet=\"`LongTermRetentionPolicy`\" pulumi-lang-go=\"`longTermRetentionPolicy`\" pulumi-lang-python=\"`long_term_retention_policy`\" pulumi-lang-yaml=\"`longTermRetentionPolicy`\" pulumi-lang-java=\"`longTermRetentionPolicy`\"\u003e`long_term_retention_policy`\u003c/span\u003e block as defined below.\n"},"maintenanceConfigurationName":{"type":"string","description":"The name of the Public Maintenance Configuration window to apply to the database. Valid values include `SQL_Default`, `SQL_EastUS_DB_1`, `SQL_EastUS2_DB_1`, `SQL_SoutheastAsia_DB_1`, `SQL_AustraliaEast_DB_1`, `SQL_NorthEurope_DB_1`, `SQL_SouthCentralUS_DB_1`, `SQL_WestUS2_DB_1`, `SQL_UKSouth_DB_1`, `SQL_WestEurope_DB_1`, `SQL_EastUS_DB_2`, `SQL_EastUS2_DB_2`, `SQL_WestUS2_DB_2`, `SQL_SoutheastAsia_DB_2`, `SQL_AustraliaEast_DB_2`, `SQL_NorthEurope_DB_2`, `SQL_SouthCentralUS_DB_2`, `SQL_UKSouth_DB_2`, `SQL_WestEurope_DB_2`, `SQL_AustraliaSoutheast_DB_1`, `SQL_BrazilSouth_DB_1`, `SQL_CanadaCentral_DB_1`, `SQL_CanadaEast_DB_1`, `SQL_CentralUS_DB_1`, `SQL_EastAsia_DB_1`, `SQL_FranceCentral_DB_1`, `SQL_GermanyWestCentral_DB_1`, `SQL_CentralIndia_DB_1`, `SQL_SouthIndia_DB_1`, `SQL_JapanEast_DB_1`, `SQL_JapanWest_DB_1`, `SQL_NorthCentralUS_DB_1`, `SQL_UKWest_DB_1`, `SQL_WestUS_DB_1`, `SQL_AustraliaSoutheast_DB_2`, `SQL_BrazilSouth_DB_2`, `SQL_CanadaCentral_DB_2`, `SQL_CanadaEast_DB_2`, `SQL_CentralUS_DB_2`, `SQL_EastAsia_DB_2`, `SQL_FranceCentral_DB_2`, `SQL_GermanyWestCentral_DB_2`, `SQL_CentralIndia_DB_2`, `SQL_SouthIndia_DB_2`, `SQL_JapanEast_DB_2`, `SQL_JapanWest_DB_2`, `SQL_NorthCentralUS_DB_2`, `SQL_UKWest_DB_2`, `SQL_WestUS_DB_2`, `SQL_WestCentralUS_DB_1`, `SQL_FranceSouth_DB_1`, `SQL_WestCentralUS_DB_2`, `SQL_FranceSouth_DB_2`, `SQL_SwitzerlandNorth_DB_1`, `SQL_SwitzerlandNorth_DB_2`, `SQL_BrazilSoutheast_DB_1`, `SQL_UAENorth_DB_1`, `SQL_BrazilSoutheast_DB_2`, `SQL_UAENorth_DB_2`, `SQL_SouthAfricaNorth_DB_1`, `SQL_SouthAfricaNorth_DB_2`, `SQL_WestUS3_DB_1`, `SQL_WestUS3_DB_2`, `SQL_SwedenCentral_DB_1`, `SQL_SwedenCentral_DB_2`. Defaults to `SQL_Default`.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`maintenanceConfigurationName`\" pulumi-lang-dotnet=\"`MaintenanceConfigurationName`\" pulumi-lang-go=\"`maintenanceConfigurationName`\" pulumi-lang-python=\"`maintenance_configuration_name`\" pulumi-lang-yaml=\"`maintenanceConfigurationName`\" pulumi-lang-java=\"`maintenanceConfigurationName`\"\u003e`maintenance_configuration_name`\u003c/span\u003e is only applicable if \u003cspan pulumi-lang-nodejs=\"`elasticPoolId`\" pulumi-lang-dotnet=\"`ElasticPoolId`\" pulumi-lang-go=\"`elasticPoolId`\" pulumi-lang-python=\"`elastic_pool_id`\" pulumi-lang-yaml=\"`elasticPoolId`\" pulumi-lang-java=\"`elasticPoolId`\"\u003e`elastic_pool_id`\u003c/span\u003e is not set.\n"},"maxSizeGb":{"type":"number","description":"The max size of the database in gigabytes.\n\n\u003e **Note:** This value should not be configured when the \u003cspan pulumi-lang-nodejs=\"`createMode`\" pulumi-lang-dotnet=\"`CreateMode`\" pulumi-lang-go=\"`createMode`\" pulumi-lang-python=\"`create_mode`\" pulumi-lang-yaml=\"`createMode`\" pulumi-lang-java=\"`createMode`\"\u003e`create_mode`\u003c/span\u003e is `Secondary` or `OnlineSecondary`, as the sizing of the primary is then used as per [Azure documentation](https://docs.microsoft.com/azure/azure-sql/database/single-database-scale#geo-replicated-database). The value of \u003cspan pulumi-lang-nodejs=\"`maxSizeGb`\" pulumi-lang-dotnet=\"`MaxSizeGb`\" pulumi-lang-go=\"`maxSizeGb`\" pulumi-lang-python=\"`max_size_gb`\" pulumi-lang-yaml=\"`maxSizeGb`\" pulumi-lang-java=\"`maxSizeGb`\"\u003e`max_size_gb`\u003c/span\u003e accepts `0.1`, `0.5` and positive integers greater than or equal to 1. `0.1` means `100MB`, and `0.5` means `500MB`.\n"},"minCapacity":{"type":"number","description":"Minimal capacity that database will always have allocated, if not paused. This property is only settable for Serverless databases.\n"},"name":{"type":"string","description":"The name of the MS SQL Database. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"readReplicaCount":{"type":"integer","description":"The number of readonly secondary replicas associated with the database to which readonly application intent connections may be routed. This property is only settable for Hyperscale edition databases.\n"},"readScale":{"type":"boolean","description":"If enabled, connections that have application intent set to readonly in their connection string may be routed to a readonly secondary replica. This property is only settable for Premium and Business Critical databases.\n"},"recoverDatabaseId":{"type":"string","description":"The ID of the database to be recovered. This property is only applicable when the \u003cspan pulumi-lang-nodejs=\"`createMode`\" pulumi-lang-dotnet=\"`CreateMode`\" pulumi-lang-go=\"`createMode`\" pulumi-lang-python=\"`create_mode`\" pulumi-lang-yaml=\"`createMode`\" pulumi-lang-java=\"`createMode`\"\u003e`create_mode`\u003c/span\u003e is `Recovery`.\n"},"recoveryPointId":{"type":"string","description":"The ID of the Recovery Services Recovery Point Id to be restored. This property is only applicable when the \u003cspan pulumi-lang-nodejs=\"`createMode`\" pulumi-lang-dotnet=\"`CreateMode`\" pulumi-lang-go=\"`createMode`\" pulumi-lang-python=\"`create_mode`\" pulumi-lang-yaml=\"`createMode`\" pulumi-lang-java=\"`createMode`\"\u003e`create_mode`\u003c/span\u003e is `Recovery`.\n"},"restoreDroppedDatabaseId":{"type":"string","description":"The ID of the database to be restored. This property is only applicable when the \u003cspan pulumi-lang-nodejs=\"`createMode`\" pulumi-lang-dotnet=\"`CreateMode`\" pulumi-lang-go=\"`createMode`\" pulumi-lang-python=\"`create_mode`\" pulumi-lang-yaml=\"`createMode`\" pulumi-lang-java=\"`createMode`\"\u003e`create_mode`\u003c/span\u003e is `Restore`.\n"},"restoreLongTermRetentionBackupId":{"type":"string","description":"The ID of the long term retention backup to be restored. This property is only applicable when the \u003cspan pulumi-lang-nodejs=\"`createMode`\" pulumi-lang-dotnet=\"`CreateMode`\" pulumi-lang-go=\"`createMode`\" pulumi-lang-python=\"`create_mode`\" pulumi-lang-yaml=\"`createMode`\" pulumi-lang-java=\"`createMode`\"\u003e`create_mode`\u003c/span\u003e is `RestoreLongTermRetentionBackup`.\n"},"restorePointInTime":{"type":"string","description":"Specifies the point in time (ISO8601 format) of the source database that will be restored to create the new database. This property is only settable for \u003cspan pulumi-lang-nodejs=\"`createMode`\" pulumi-lang-dotnet=\"`CreateMode`\" pulumi-lang-go=\"`createMode`\" pulumi-lang-python=\"`create_mode`\" pulumi-lang-yaml=\"`createMode`\" pulumi-lang-java=\"`createMode`\"\u003e`create_mode`\u003c/span\u003e= `PointInTimeRestore` databases.\n"},"sampleName":{"type":"string","description":"Specifies the name of the sample schema to apply when creating this database. Possible value is `AdventureWorksLT`.\n"},"secondaryType":{"type":"string","description":"How do you want your replica to be made? Valid values include `Geo`, `Named` and `Standby`. Defaults to `Geo`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"serverId":{"type":"string","description":"The id of the MS SQL Server on which to create the database. Changing this forces a new resource to be created.\n\n\u003e **Note:** This setting is still required for \"Serverless\" SKUs\n","willReplaceOnChanges":true},"shortTermRetentionPolicy":{"$ref":"#/types/azure:mssql/DatabaseShortTermRetentionPolicy:DatabaseShortTermRetentionPolicy","description":"A \u003cspan pulumi-lang-nodejs=\"`shortTermRetentionPolicy`\" pulumi-lang-dotnet=\"`ShortTermRetentionPolicy`\" pulumi-lang-go=\"`shortTermRetentionPolicy`\" pulumi-lang-python=\"`short_term_retention_policy`\" pulumi-lang-yaml=\"`shortTermRetentionPolicy`\" pulumi-lang-java=\"`shortTermRetentionPolicy`\"\u003e`short_term_retention_policy`\u003c/span\u003e block as defined below.\n"},"skuName":{"type":"string","description":"Specifies the name of the SKU used by the database. For example, `GP_S_Gen5_2`,`HS_Gen4_1`,`BC_Gen5_2`, `ElasticPool`, `Basic`,`S0`, `P2` ,`DW100c`, `DS100`. Changing this from the HyperScale service tier to another service tier will create a new resource.\n\n\u003e **Note:** A full list of supported SKU names by region can be retrieved using the Azure CLI: `az sql db list-editions -l \u003cregion\u003e -o table`\n\n\u003e **Note:** The default \u003cspan pulumi-lang-nodejs=\"`skuName`\" pulumi-lang-dotnet=\"`SkuName`\" pulumi-lang-go=\"`skuName`\" pulumi-lang-python=\"`sku_name`\" pulumi-lang-yaml=\"`skuName`\" pulumi-lang-java=\"`skuName`\"\u003e`sku_name`\u003c/span\u003e value may differ between Azure locations depending on local availability of Gen4/Gen5 capacity. When databases are replicated using the \u003cspan pulumi-lang-nodejs=\"`creationSourceDatabaseId`\" pulumi-lang-dotnet=\"`CreationSourceDatabaseId`\" pulumi-lang-go=\"`creationSourceDatabaseId`\" pulumi-lang-python=\"`creation_source_database_id`\" pulumi-lang-yaml=\"`creationSourceDatabaseId`\" pulumi-lang-java=\"`creationSourceDatabaseId`\"\u003e`creation_source_database_id`\u003c/span\u003e property, the source (primary) database cannot have a higher SKU service tier than any secondary databases. When changing the \u003cspan pulumi-lang-nodejs=\"`skuName`\" pulumi-lang-dotnet=\"`SkuName`\" pulumi-lang-go=\"`skuName`\" pulumi-lang-python=\"`sku_name`\" pulumi-lang-yaml=\"`skuName`\" pulumi-lang-java=\"`skuName`\"\u003e`sku_name`\u003c/span\u003e of a database having one or more secondary databases, this resource will first update any secondary databases as necessary. In such cases it's recommended to use the same \u003cspan pulumi-lang-nodejs=\"`skuName`\" pulumi-lang-dotnet=\"`SkuName`\" pulumi-lang-go=\"`skuName`\" pulumi-lang-python=\"`sku_name`\" pulumi-lang-yaml=\"`skuName`\" pulumi-lang-java=\"`skuName`\"\u003e`sku_name`\u003c/span\u003e in your configuration for all related databases, as not doing so may cause an unresolvable diff during subsequent plans.\n"},"storageAccountType":{"type":"string","description":"Specifies the storage account type used to store backups for this database. Possible values are `Geo`, `GeoZone`, `Local` and `Zone`. Defaults to `Geo`.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"threatDetectionPolicy":{"$ref":"#/types/azure:mssql/DatabaseThreatDetectionPolicy:DatabaseThreatDetectionPolicy","description":"Threat detection policy configuration. The \u003cspan pulumi-lang-nodejs=\"`threatDetectionPolicy`\" pulumi-lang-dotnet=\"`ThreatDetectionPolicy`\" pulumi-lang-go=\"`threatDetectionPolicy`\" pulumi-lang-python=\"`threat_detection_policy`\" pulumi-lang-yaml=\"`threatDetectionPolicy`\" pulumi-lang-java=\"`threatDetectionPolicy`\"\u003e`threat_detection_policy`\u003c/span\u003e block supports fields documented below.\n"},"transparentDataEncryptionEnabled":{"type":"boolean","description":"If set to true, Transparent Data Encryption will be enabled on the database. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`transparentDataEncryptionEnabled`\" pulumi-lang-dotnet=\"`TransparentDataEncryptionEnabled`\" pulumi-lang-go=\"`transparentDataEncryptionEnabled`\" pulumi-lang-python=\"`transparent_data_encryption_enabled`\" pulumi-lang-yaml=\"`transparentDataEncryptionEnabled`\" pulumi-lang-java=\"`transparentDataEncryptionEnabled`\"\u003e`transparent_data_encryption_enabled`\u003c/span\u003e can only be set to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e on DW (e.g, DataWarehouse) server SKUs.\n"},"transparentDataEncryptionKeyAutomaticRotationEnabled":{"type":"boolean","description":"Boolean flag to specify whether TDE automatically rotates the encryption Key to latest version or not. Possible values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** When the \u003cspan pulumi-lang-nodejs=\"`skuName`\" pulumi-lang-dotnet=\"`SkuName`\" pulumi-lang-go=\"`skuName`\" pulumi-lang-python=\"`sku_name`\" pulumi-lang-yaml=\"`skuName`\" pulumi-lang-java=\"`skuName`\"\u003e`sku_name`\u003c/span\u003e is `DW100c`, the \u003cspan pulumi-lang-nodejs=\"`transparentDataEncryptionKeyAutomaticRotationEnabled`\" pulumi-lang-dotnet=\"`TransparentDataEncryptionKeyAutomaticRotationEnabled`\" pulumi-lang-go=\"`transparentDataEncryptionKeyAutomaticRotationEnabled`\" pulumi-lang-python=\"`transparent_data_encryption_key_automatic_rotation_enabled`\" pulumi-lang-yaml=\"`transparentDataEncryptionKeyAutomaticRotationEnabled`\" pulumi-lang-java=\"`transparentDataEncryptionKeyAutomaticRotationEnabled`\"\u003e`transparent_data_encryption_key_automatic_rotation_enabled`\u003c/span\u003e and the \u003cspan pulumi-lang-nodejs=\"`transparentDataEncryptionKeyVaultKeyId`\" pulumi-lang-dotnet=\"`TransparentDataEncryptionKeyVaultKeyId`\" pulumi-lang-go=\"`transparentDataEncryptionKeyVaultKeyId`\" pulumi-lang-python=\"`transparent_data_encryption_key_vault_key_id`\" pulumi-lang-yaml=\"`transparentDataEncryptionKeyVaultKeyId`\" pulumi-lang-java=\"`transparentDataEncryptionKeyVaultKeyId`\"\u003e`transparent_data_encryption_key_vault_key_id`\u003c/span\u003e properties should not be specified, as database-level CMK is not supported for Data Warehouse SKUs.\n"},"transparentDataEncryptionKeyVaultKeyId":{"type":"string","description":"The fully versioned `Key Vault` `Key` URL (e.g. `'https://\u003cYourVaultName\u003e.vault.azure.net/keys/\u003cYourKeyName\u003e/\u003cYourKeyVersion\u003e`) to be used as the `Customer Managed Key`(CMK/BYOK) for the `Transparent Data Encryption`(TDE) layer.\n\n\u003e **Note:** To successfully deploy a `Microsoft SQL Database` in CMK/BYOK TDE the `Key Vault` must have `Soft-delete` and `purge protection` enabled to protect from data loss due to accidental key and/or key vault deletion. The `Key Vault` and the `Microsoft SQL Server` `User Managed Identity Instance` must belong to the same `Azure Active Directory` \u003cspan pulumi-lang-nodejs=\"`tenant`\" pulumi-lang-dotnet=\"`Tenant`\" pulumi-lang-go=\"`tenant`\" pulumi-lang-python=\"`tenant`\" pulumi-lang-yaml=\"`tenant`\" pulumi-lang-java=\"`tenant`\"\u003e`tenant`\u003c/span\u003e.\n"},"zoneRedundant":{"type":"boolean","description":"Whether or not this database is zone redundant, which means the replicas of this database will be spread across multiple availability zones. This property is only settable for Premium and Business Critical databases.\n"}},"type":"object"},"aliases":[{"type":"azure:sql/database:Database"}]},"azure:mssql/databaseExtendedAuditingPolicy:DatabaseExtendedAuditingPolicy":{"description":"Manages a MS SQL Database Extended Auditing Policy.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleServer = new azure.mssql.Server(\"example\", {\n    name: \"example-sqlserver\",\n    resourceGroupName: example.name,\n    location: example.location,\n    version: \"12.0\",\n    administratorLogin: \"missadministrator\",\n    administratorLoginPassword: \"AdminPassword123!\",\n});\nconst exampleDatabase = new azure.mssql.Database(\"example\", {\n    name: \"example-db\",\n    serverId: exampleServer.id,\n});\nconst exampleAccount = new azure.storage.Account(\"example\", {\n    name: \"examplesa\",\n    resourceGroupName: example.name,\n    location: example.location,\n    accountTier: \"Standard\",\n    accountReplicationType: \"LRS\",\n});\nconst exampleDatabaseExtendedAuditingPolicy = new azure.mssql.DatabaseExtendedAuditingPolicy(\"example\", {\n    databaseId: exampleDatabase.id,\n    storageEndpoint: exampleAccount.primaryBlobEndpoint,\n    storageAccountAccessKey: exampleAccount.primaryAccessKey,\n    storageAccountAccessKeyIsSecondary: false,\n    retentionInDays: 6,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_server = azure.mssql.Server(\"example\",\n    name=\"example-sqlserver\",\n    resource_group_name=example.name,\n    location=example.location,\n    version=\"12.0\",\n    administrator_login=\"missadministrator\",\n    administrator_login_password=\"AdminPassword123!\")\nexample_database = azure.mssql.Database(\"example\",\n    name=\"example-db\",\n    server_id=example_server.id)\nexample_account = azure.storage.Account(\"example\",\n    name=\"examplesa\",\n    resource_group_name=example.name,\n    location=example.location,\n    account_tier=\"Standard\",\n    account_replication_type=\"LRS\")\nexample_database_extended_auditing_policy = azure.mssql.DatabaseExtendedAuditingPolicy(\"example\",\n    database_id=example_database.id,\n    storage_endpoint=example_account.primary_blob_endpoint,\n    storage_account_access_key=example_account.primary_access_key,\n    storage_account_access_key_is_secondary=False,\n    retention_in_days=6)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleServer = new Azure.MSSql.Server(\"example\", new()\n    {\n        Name = \"example-sqlserver\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        Version = \"12.0\",\n        AdministratorLogin = \"missadministrator\",\n        AdministratorLoginPassword = \"AdminPassword123!\",\n    });\n\n    var exampleDatabase = new Azure.MSSql.Database(\"example\", new()\n    {\n        Name = \"example-db\",\n        ServerId = exampleServer.Id,\n    });\n\n    var exampleAccount = new Azure.Storage.Account(\"example\", new()\n    {\n        Name = \"examplesa\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        AccountTier = \"Standard\",\n        AccountReplicationType = \"LRS\",\n    });\n\n    var exampleDatabaseExtendedAuditingPolicy = new Azure.MSSql.DatabaseExtendedAuditingPolicy(\"example\", new()\n    {\n        DatabaseId = exampleDatabase.Id,\n        StorageEndpoint = exampleAccount.PrimaryBlobEndpoint,\n        StorageAccountAccessKey = exampleAccount.PrimaryAccessKey,\n        StorageAccountAccessKeyIsSecondary = false,\n        RetentionInDays = 6,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/mssql\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleServer, err := mssql.NewServer(ctx, \"example\", \u0026mssql.ServerArgs{\n\t\t\tName:                       pulumi.String(\"example-sqlserver\"),\n\t\t\tResourceGroupName:          example.Name,\n\t\t\tLocation:                   example.Location,\n\t\t\tVersion:                    pulumi.String(\"12.0\"),\n\t\t\tAdministratorLogin:         pulumi.String(\"missadministrator\"),\n\t\t\tAdministratorLoginPassword: pulumi.String(\"AdminPassword123!\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleDatabase, err := mssql.NewDatabase(ctx, \"example\", \u0026mssql.DatabaseArgs{\n\t\t\tName:     pulumi.String(\"example-db\"),\n\t\t\tServerId: exampleServer.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := storage.NewAccount(ctx, \"example\", \u0026storage.AccountArgs{\n\t\t\tName:                   pulumi.String(\"examplesa\"),\n\t\t\tResourceGroupName:      example.Name,\n\t\t\tLocation:               example.Location,\n\t\t\tAccountTier:            pulumi.String(\"Standard\"),\n\t\t\tAccountReplicationType: pulumi.String(\"LRS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = mssql.NewDatabaseExtendedAuditingPolicy(ctx, \"example\", \u0026mssql.DatabaseExtendedAuditingPolicyArgs{\n\t\t\tDatabaseId:                         exampleDatabase.ID(),\n\t\t\tStorageEndpoint:                    exampleAccount.PrimaryBlobEndpoint,\n\t\t\tStorageAccountAccessKey:            exampleAccount.PrimaryAccessKey,\n\t\t\tStorageAccountAccessKeyIsSecondary: pulumi.Bool(false),\n\t\t\tRetentionInDays:                    pulumi.Int(6),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.mssql.Server;\nimport com.pulumi.azure.mssql.ServerArgs;\nimport com.pulumi.azure.mssql.Database;\nimport com.pulumi.azure.mssql.DatabaseArgs;\nimport com.pulumi.azure.storage.Account;\nimport com.pulumi.azure.storage.AccountArgs;\nimport com.pulumi.azure.mssql.DatabaseExtendedAuditingPolicy;\nimport com.pulumi.azure.mssql.DatabaseExtendedAuditingPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleServer = new Server(\"exampleServer\", ServerArgs.builder()\n            .name(\"example-sqlserver\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .version(\"12.0\")\n            .administratorLogin(\"missadministrator\")\n            .administratorLoginPassword(\"AdminPassword123!\")\n            .build());\n\n        var exampleDatabase = new Database(\"exampleDatabase\", DatabaseArgs.builder()\n            .name(\"example-db\")\n            .serverId(exampleServer.id())\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"examplesa\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .accountTier(\"Standard\")\n            .accountReplicationType(\"LRS\")\n            .build());\n\n        var exampleDatabaseExtendedAuditingPolicy = new DatabaseExtendedAuditingPolicy(\"exampleDatabaseExtendedAuditingPolicy\", DatabaseExtendedAuditingPolicyArgs.builder()\n            .databaseId(exampleDatabase.id())\n            .storageEndpoint(exampleAccount.primaryBlobEndpoint())\n            .storageAccountAccessKey(exampleAccount.primaryAccessKey())\n            .storageAccountAccessKeyIsSecondary(false)\n            .retentionInDays(6)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleServer:\n    type: azure:mssql:Server\n    name: example\n    properties:\n      name: example-sqlserver\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      version: '12.0'\n      administratorLogin: missadministrator\n      administratorLoginPassword: AdminPassword123!\n  exampleDatabase:\n    type: azure:mssql:Database\n    name: example\n    properties:\n      name: example-db\n      serverId: ${exampleServer.id}\n  exampleAccount:\n    type: azure:storage:Account\n    name: example\n    properties:\n      name: examplesa\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      accountTier: Standard\n      accountReplicationType: LRS\n  exampleDatabaseExtendedAuditingPolicy:\n    type: azure:mssql:DatabaseExtendedAuditingPolicy\n    name: example\n    properties:\n      databaseId: ${exampleDatabase.id}\n      storageEndpoint: ${exampleAccount.primaryBlobEndpoint}\n      storageAccountAccessKey: ${exampleAccount.primaryAccessKey}\n      storageAccountAccessKeyIsSecondary: false\n      retentionInDays: 6\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Sql` - 2023-08-01-preview\n\n## Import\n\nMS SQL Database Extended Auditing Policies can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:mssql/databaseExtendedAuditingPolicy:DatabaseExtendedAuditingPolicy example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Sql/servers/sqlServer1/databases/db1/extendedAuditingSettings/default\n```\n\n","properties":{"databaseId":{"type":"string","description":"The ID of the SQL database to set the extended auditing policy. Changing this forces a new resource to be created.\n"},"enabled":{"type":"boolean","description":"Whether to enable the extended auditing policy. Possible values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n\n\u003e **Note:** If \u003cspan pulumi-lang-nodejs=\"`enabled`\" pulumi-lang-dotnet=\"`Enabled`\" pulumi-lang-go=\"`enabled`\" pulumi-lang-python=\"`enabled`\" pulumi-lang-yaml=\"`enabled`\" pulumi-lang-java=\"`enabled`\"\u003e`enabled`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`storageEndpoint`\" pulumi-lang-dotnet=\"`StorageEndpoint`\" pulumi-lang-go=\"`storageEndpoint`\" pulumi-lang-python=\"`storage_endpoint`\" pulumi-lang-yaml=\"`storageEndpoint`\" pulumi-lang-java=\"`storageEndpoint`\"\u003e`storage_endpoint`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`logMonitoringEnabled`\" pulumi-lang-dotnet=\"`LogMonitoringEnabled`\" pulumi-lang-go=\"`logMonitoringEnabled`\" pulumi-lang-python=\"`log_monitoring_enabled`\" pulumi-lang-yaml=\"`logMonitoringEnabled`\" pulumi-lang-java=\"`logMonitoringEnabled`\"\u003e`log_monitoring_enabled`\u003c/span\u003e are required.\n"},"logMonitoringEnabled":{"type":"boolean","description":"Enable audit events to Azure Monitor? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n\n\u003e **Note:** To enable sending audit events to Log Analytics, please refer to the example which can be found in the `./examples/sql-azure/sql_auditing_log_analytics` directory within the GitHub Repository.  To enable sending server audit events to Log Analytics, please enable the master database to send audit events to Log Analytics.\nTo enable audit events to Eventhub, please refer to the example which can be found in the `./examples/sql-azure/sql_auditing_eventhub` directory within the GitHub Repository.\n"},"retentionInDays":{"type":"integer","description":"The number of days to retain logs for in the storage account. Defaults to \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"storageAccountAccessKey":{"type":"string","description":"The access key to use for the auditing storage account.\n","secret":true},"storageAccountAccessKeyIsSecondary":{"type":"boolean","description":"Is \u003cspan pulumi-lang-nodejs=\"`storageAccountAccessKey`\" pulumi-lang-dotnet=\"`StorageAccountAccessKey`\" pulumi-lang-go=\"`storageAccountAccessKey`\" pulumi-lang-python=\"`storage_account_access_key`\" pulumi-lang-yaml=\"`storageAccountAccessKey`\" pulumi-lang-java=\"`storageAccountAccessKey`\"\u003e`storage_account_access_key`\u003c/span\u003e value the storage's secondary key?\n"},"storageEndpoint":{"type":"string","description":"The blob storage endpoint (e.g. \u003chttps://example.blob.core.windows.net\u003e). This blob storage will hold all extended auditing logs.\n"}},"required":["databaseId"],"inputProperties":{"databaseId":{"type":"string","description":"The ID of the SQL database to set the extended auditing policy. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"enabled":{"type":"boolean","description":"Whether to enable the extended auditing policy. Possible values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n\n\u003e **Note:** If \u003cspan pulumi-lang-nodejs=\"`enabled`\" pulumi-lang-dotnet=\"`Enabled`\" pulumi-lang-go=\"`enabled`\" pulumi-lang-python=\"`enabled`\" pulumi-lang-yaml=\"`enabled`\" pulumi-lang-java=\"`enabled`\"\u003e`enabled`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`storageEndpoint`\" pulumi-lang-dotnet=\"`StorageEndpoint`\" pulumi-lang-go=\"`storageEndpoint`\" pulumi-lang-python=\"`storage_endpoint`\" pulumi-lang-yaml=\"`storageEndpoint`\" pulumi-lang-java=\"`storageEndpoint`\"\u003e`storage_endpoint`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`logMonitoringEnabled`\" pulumi-lang-dotnet=\"`LogMonitoringEnabled`\" pulumi-lang-go=\"`logMonitoringEnabled`\" pulumi-lang-python=\"`log_monitoring_enabled`\" pulumi-lang-yaml=\"`logMonitoringEnabled`\" pulumi-lang-java=\"`logMonitoringEnabled`\"\u003e`log_monitoring_enabled`\u003c/span\u003e are required.\n"},"logMonitoringEnabled":{"type":"boolean","description":"Enable audit events to Azure Monitor? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n\n\u003e **Note:** To enable sending audit events to Log Analytics, please refer to the example which can be found in the `./examples/sql-azure/sql_auditing_log_analytics` directory within the GitHub Repository.  To enable sending server audit events to Log Analytics, please enable the master database to send audit events to Log Analytics.\nTo enable audit events to Eventhub, please refer to the example which can be found in the `./examples/sql-azure/sql_auditing_eventhub` directory within the GitHub Repository.\n"},"retentionInDays":{"type":"integer","description":"The number of days to retain logs for in the storage account. Defaults to \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"storageAccountAccessKey":{"type":"string","description":"The access key to use for the auditing storage account.\n","secret":true},"storageAccountAccessKeyIsSecondary":{"type":"boolean","description":"Is \u003cspan pulumi-lang-nodejs=\"`storageAccountAccessKey`\" pulumi-lang-dotnet=\"`StorageAccountAccessKey`\" pulumi-lang-go=\"`storageAccountAccessKey`\" pulumi-lang-python=\"`storage_account_access_key`\" pulumi-lang-yaml=\"`storageAccountAccessKey`\" pulumi-lang-java=\"`storageAccountAccessKey`\"\u003e`storage_account_access_key`\u003c/span\u003e value the storage's secondary key?\n"},"storageEndpoint":{"type":"string","description":"The blob storage endpoint (e.g. \u003chttps://example.blob.core.windows.net\u003e). This blob storage will hold all extended auditing logs.\n"}},"requiredInputs":["databaseId"],"stateInputs":{"description":"Input properties used for looking up and filtering DatabaseExtendedAuditingPolicy resources.\n","properties":{"databaseId":{"type":"string","description":"The ID of the SQL database to set the extended auditing policy. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"enabled":{"type":"boolean","description":"Whether to enable the extended auditing policy. Possible values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n\n\u003e **Note:** If \u003cspan pulumi-lang-nodejs=\"`enabled`\" pulumi-lang-dotnet=\"`Enabled`\" pulumi-lang-go=\"`enabled`\" pulumi-lang-python=\"`enabled`\" pulumi-lang-yaml=\"`enabled`\" pulumi-lang-java=\"`enabled`\"\u003e`enabled`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`storageEndpoint`\" pulumi-lang-dotnet=\"`StorageEndpoint`\" pulumi-lang-go=\"`storageEndpoint`\" pulumi-lang-python=\"`storage_endpoint`\" pulumi-lang-yaml=\"`storageEndpoint`\" pulumi-lang-java=\"`storageEndpoint`\"\u003e`storage_endpoint`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`logMonitoringEnabled`\" pulumi-lang-dotnet=\"`LogMonitoringEnabled`\" pulumi-lang-go=\"`logMonitoringEnabled`\" pulumi-lang-python=\"`log_monitoring_enabled`\" pulumi-lang-yaml=\"`logMonitoringEnabled`\" pulumi-lang-java=\"`logMonitoringEnabled`\"\u003e`log_monitoring_enabled`\u003c/span\u003e are required.\n"},"logMonitoringEnabled":{"type":"boolean","description":"Enable audit events to Azure Monitor? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n\n\u003e **Note:** To enable sending audit events to Log Analytics, please refer to the example which can be found in the `./examples/sql-azure/sql_auditing_log_analytics` directory within the GitHub Repository.  To enable sending server audit events to Log Analytics, please enable the master database to send audit events to Log Analytics.\nTo enable audit events to Eventhub, please refer to the example which can be found in the `./examples/sql-azure/sql_auditing_eventhub` directory within the GitHub Repository.\n"},"retentionInDays":{"type":"integer","description":"The number of days to retain logs for in the storage account. Defaults to \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"storageAccountAccessKey":{"type":"string","description":"The access key to use for the auditing storage account.\n","secret":true},"storageAccountAccessKeyIsSecondary":{"type":"boolean","description":"Is \u003cspan pulumi-lang-nodejs=\"`storageAccountAccessKey`\" pulumi-lang-dotnet=\"`StorageAccountAccessKey`\" pulumi-lang-go=\"`storageAccountAccessKey`\" pulumi-lang-python=\"`storage_account_access_key`\" pulumi-lang-yaml=\"`storageAccountAccessKey`\" pulumi-lang-java=\"`storageAccountAccessKey`\"\u003e`storage_account_access_key`\u003c/span\u003e value the storage's secondary key?\n"},"storageEndpoint":{"type":"string","description":"The blob storage endpoint (e.g. \u003chttps://example.blob.core.windows.net\u003e). This blob storage will hold all extended auditing logs.\n"}},"type":"object"}},"azure:mssql/databaseVulnerabilityAssessmentRuleBaseline:DatabaseVulnerabilityAssessmentRuleBaseline":{"description":"Manages a Database Vulnerability Assessment Rule Baseline.\n\n\u003e **Note:** Database Vulnerability Assessment is currently only available for MS SQL databases.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleServer = new azure.mssql.Server(\"example\", {\n    name: \"mysqlserver\",\n    resourceGroupName: example.name,\n    location: example.location,\n    version: \"12.0\",\n    administratorLogin: \"4dm1n157r470r\",\n    administratorLoginPassword: \"4-v3ry-53cr37-p455w0rd\",\n});\nconst exampleAccount = new azure.storage.Account(\"example\", {\n    name: \"accteststorageaccount\",\n    resourceGroupName: example.name,\n    location: example.location,\n    accountTier: \"Standard\",\n    accountReplicationType: \"GRS\",\n});\nconst exampleContainer = new azure.storage.Container(\"example\", {\n    name: \"accteststoragecontainer\",\n    storageAccountName: exampleAccount.name,\n    containerAccessType: \"private\",\n});\nconst exampleServerSecurityAlertPolicy = new azure.mssql.ServerSecurityAlertPolicy(\"example\", {\n    resourceGroupName: example.name,\n    serverName: exampleServer.name,\n    state: \"Enabled\",\n});\nconst exampleDatabase = new azure.mssql.Database(\"example\", {\n    name: \"mysqldatabase\",\n    serverId: test.id,\n});\nconst exampleServerVulnerabilityAssessment = new azure.mssql.ServerVulnerabilityAssessment(\"example\", {\n    serverSecurityAlertPolicyId: exampleServerSecurityAlertPolicy.id,\n    storageContainerPath: pulumi.interpolate`${exampleAccount.primaryBlobEndpoint}${exampleContainer.name}/`,\n    storageAccountAccessKey: exampleAccount.primaryAccessKey,\n});\nconst exampleDatabaseVulnerabilityAssessmentRuleBaseline = new azure.mssql.DatabaseVulnerabilityAssessmentRuleBaseline(\"example\", {\n    serverVulnerabilityAssessmentId: exampleServerVulnerabilityAssessment.id,\n    databaseName: exampleDatabase.name,\n    ruleId: \"VA2065\",\n    baselineName: \"master\",\n    baselineResults: [\n        {\n            results: [\n                \"allowedip1\",\n                \"123.123.123.123\",\n                \"123.123.123.123\",\n            ],\n        },\n        {\n            results: [\n                \"allowedip2\",\n                \"255.255.255.255\",\n                \"255.255.255.255\",\n            ],\n        },\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_server = azure.mssql.Server(\"example\",\n    name=\"mysqlserver\",\n    resource_group_name=example.name,\n    location=example.location,\n    version=\"12.0\",\n    administrator_login=\"4dm1n157r470r\",\n    administrator_login_password=\"4-v3ry-53cr37-p455w0rd\")\nexample_account = azure.storage.Account(\"example\",\n    name=\"accteststorageaccount\",\n    resource_group_name=example.name,\n    location=example.location,\n    account_tier=\"Standard\",\n    account_replication_type=\"GRS\")\nexample_container = azure.storage.Container(\"example\",\n    name=\"accteststoragecontainer\",\n    storage_account_name=example_account.name,\n    container_access_type=\"private\")\nexample_server_security_alert_policy = azure.mssql.ServerSecurityAlertPolicy(\"example\",\n    resource_group_name=example.name,\n    server_name=example_server.name,\n    state=\"Enabled\")\nexample_database = azure.mssql.Database(\"example\",\n    name=\"mysqldatabase\",\n    server_id=test[\"id\"])\nexample_server_vulnerability_assessment = azure.mssql.ServerVulnerabilityAssessment(\"example\",\n    server_security_alert_policy_id=example_server_security_alert_policy.id,\n    storage_container_path=pulumi.Output.all(\n        primary_blob_endpoint=example_account.primary_blob_endpoint,\n        name=example_container.name\n).apply(lambda resolved_outputs: f\"{resolved_outputs['primary_blob_endpoint']}{resolved_outputs['name']}/\")\n,\n    storage_account_access_key=example_account.primary_access_key)\nexample_database_vulnerability_assessment_rule_baseline = azure.mssql.DatabaseVulnerabilityAssessmentRuleBaseline(\"example\",\n    server_vulnerability_assessment_id=example_server_vulnerability_assessment.id,\n    database_name=example_database.name,\n    rule_id=\"VA2065\",\n    baseline_name=\"master\",\n    baseline_results=[\n        {\n            \"results\": [\n                \"allowedip1\",\n                \"123.123.123.123\",\n                \"123.123.123.123\",\n            ],\n        },\n        {\n            \"results\": [\n                \"allowedip2\",\n                \"255.255.255.255\",\n                \"255.255.255.255\",\n            ],\n        },\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleServer = new Azure.MSSql.Server(\"example\", new()\n    {\n        Name = \"mysqlserver\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        Version = \"12.0\",\n        AdministratorLogin = \"4dm1n157r470r\",\n        AdministratorLoginPassword = \"4-v3ry-53cr37-p455w0rd\",\n    });\n\n    var exampleAccount = new Azure.Storage.Account(\"example\", new()\n    {\n        Name = \"accteststorageaccount\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        AccountTier = \"Standard\",\n        AccountReplicationType = \"GRS\",\n    });\n\n    var exampleContainer = new Azure.Storage.Container(\"example\", new()\n    {\n        Name = \"accteststoragecontainer\",\n        StorageAccountName = exampleAccount.Name,\n        ContainerAccessType = \"private\",\n    });\n\n    var exampleServerSecurityAlertPolicy = new Azure.MSSql.ServerSecurityAlertPolicy(\"example\", new()\n    {\n        ResourceGroupName = example.Name,\n        ServerName = exampleServer.Name,\n        State = \"Enabled\",\n    });\n\n    var exampleDatabase = new Azure.MSSql.Database(\"example\", new()\n    {\n        Name = \"mysqldatabase\",\n        ServerId = test.Id,\n    });\n\n    var exampleServerVulnerabilityAssessment = new Azure.MSSql.ServerVulnerabilityAssessment(\"example\", new()\n    {\n        ServerSecurityAlertPolicyId = exampleServerSecurityAlertPolicy.Id,\n        StorageContainerPath = Output.Tuple(exampleAccount.PrimaryBlobEndpoint, exampleContainer.Name).Apply(values =\u003e\n        {\n            var primaryBlobEndpoint = values.Item1;\n            var name = values.Item2;\n            return $\"{primaryBlobEndpoint}{name}/\";\n        }),\n        StorageAccountAccessKey = exampleAccount.PrimaryAccessKey,\n    });\n\n    var exampleDatabaseVulnerabilityAssessmentRuleBaseline = new Azure.MSSql.DatabaseVulnerabilityAssessmentRuleBaseline(\"example\", new()\n    {\n        ServerVulnerabilityAssessmentId = exampleServerVulnerabilityAssessment.Id,\n        DatabaseName = exampleDatabase.Name,\n        RuleId = \"VA2065\",\n        BaselineName = \"master\",\n        BaselineResults = new[]\n        {\n            new Azure.MSSql.Inputs.DatabaseVulnerabilityAssessmentRuleBaselineBaselineResultArgs\n            {\n                Results = new[]\n                {\n                    \"allowedip1\",\n                    \"123.123.123.123\",\n                    \"123.123.123.123\",\n                },\n            },\n            new Azure.MSSql.Inputs.DatabaseVulnerabilityAssessmentRuleBaselineBaselineResultArgs\n            {\n                Results = new[]\n                {\n                    \"allowedip2\",\n                    \"255.255.255.255\",\n                    \"255.255.255.255\",\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/mssql\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleServer, err := mssql.NewServer(ctx, \"example\", \u0026mssql.ServerArgs{\n\t\t\tName:                       pulumi.String(\"mysqlserver\"),\n\t\t\tResourceGroupName:          example.Name,\n\t\t\tLocation:                   example.Location,\n\t\t\tVersion:                    pulumi.String(\"12.0\"),\n\t\t\tAdministratorLogin:         pulumi.String(\"4dm1n157r470r\"),\n\t\t\tAdministratorLoginPassword: pulumi.String(\"4-v3ry-53cr37-p455w0rd\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := storage.NewAccount(ctx, \"example\", \u0026storage.AccountArgs{\n\t\t\tName:                   pulumi.String(\"accteststorageaccount\"),\n\t\t\tResourceGroupName:      example.Name,\n\t\t\tLocation:               example.Location,\n\t\t\tAccountTier:            pulumi.String(\"Standard\"),\n\t\t\tAccountReplicationType: pulumi.String(\"GRS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleContainer, err := storage.NewContainer(ctx, \"example\", \u0026storage.ContainerArgs{\n\t\t\tName:                pulumi.String(\"accteststoragecontainer\"),\n\t\t\tStorageAccountName:  exampleAccount.Name,\n\t\t\tContainerAccessType: pulumi.String(\"private\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleServerSecurityAlertPolicy, err := mssql.NewServerSecurityAlertPolicy(ctx, \"example\", \u0026mssql.ServerSecurityAlertPolicyArgs{\n\t\t\tResourceGroupName: example.Name,\n\t\t\tServerName:        exampleServer.Name,\n\t\t\tState:             pulumi.String(\"Enabled\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleDatabase, err := mssql.NewDatabase(ctx, \"example\", \u0026mssql.DatabaseArgs{\n\t\t\tName:     pulumi.String(\"mysqldatabase\"),\n\t\t\tServerId: pulumi.Any(test.Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleServerVulnerabilityAssessment, err := mssql.NewServerVulnerabilityAssessment(ctx, \"example\", \u0026mssql.ServerVulnerabilityAssessmentArgs{\n\t\t\tServerSecurityAlertPolicyId: exampleServerSecurityAlertPolicy.ID(),\n\t\t\tStorageContainerPath: pulumi.All(exampleAccount.PrimaryBlobEndpoint, exampleContainer.Name).ApplyT(func(_args []interface{}) (string, error) {\n\t\t\t\tprimaryBlobEndpoint := _args[0].(string)\n\t\t\t\tname := _args[1].(string)\n\t\t\t\treturn fmt.Sprintf(\"%v%v/\", primaryBlobEndpoint, name), nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t\tStorageAccountAccessKey: exampleAccount.PrimaryAccessKey,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = mssql.NewDatabaseVulnerabilityAssessmentRuleBaseline(ctx, \"example\", \u0026mssql.DatabaseVulnerabilityAssessmentRuleBaselineArgs{\n\t\t\tServerVulnerabilityAssessmentId: exampleServerVulnerabilityAssessment.ID(),\n\t\t\tDatabaseName:                    exampleDatabase.Name,\n\t\t\tRuleId:                          pulumi.String(\"VA2065\"),\n\t\t\tBaselineName:                    pulumi.String(\"master\"),\n\t\t\tBaselineResults: mssql.DatabaseVulnerabilityAssessmentRuleBaselineBaselineResultArray{\n\t\t\t\t\u0026mssql.DatabaseVulnerabilityAssessmentRuleBaselineBaselineResultArgs{\n\t\t\t\t\tResults: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"allowedip1\"),\n\t\t\t\t\t\tpulumi.String(\"123.123.123.123\"),\n\t\t\t\t\t\tpulumi.String(\"123.123.123.123\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026mssql.DatabaseVulnerabilityAssessmentRuleBaselineBaselineResultArgs{\n\t\t\t\t\tResults: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"allowedip2\"),\n\t\t\t\t\t\tpulumi.String(\"255.255.255.255\"),\n\t\t\t\t\t\tpulumi.String(\"255.255.255.255\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.mssql.Server;\nimport com.pulumi.azure.mssql.ServerArgs;\nimport com.pulumi.azure.storage.Account;\nimport com.pulumi.azure.storage.AccountArgs;\nimport com.pulumi.azure.storage.Container;\nimport com.pulumi.azure.storage.ContainerArgs;\nimport com.pulumi.azure.mssql.ServerSecurityAlertPolicy;\nimport com.pulumi.azure.mssql.ServerSecurityAlertPolicyArgs;\nimport com.pulumi.azure.mssql.Database;\nimport com.pulumi.azure.mssql.DatabaseArgs;\nimport com.pulumi.azure.mssql.ServerVulnerabilityAssessment;\nimport com.pulumi.azure.mssql.ServerVulnerabilityAssessmentArgs;\nimport com.pulumi.azure.mssql.DatabaseVulnerabilityAssessmentRuleBaseline;\nimport com.pulumi.azure.mssql.DatabaseVulnerabilityAssessmentRuleBaselineArgs;\nimport com.pulumi.azure.mssql.inputs.DatabaseVulnerabilityAssessmentRuleBaselineBaselineResultArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleServer = new Server(\"exampleServer\", ServerArgs.builder()\n            .name(\"mysqlserver\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .version(\"12.0\")\n            .administratorLogin(\"4dm1n157r470r\")\n            .administratorLoginPassword(\"4-v3ry-53cr37-p455w0rd\")\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"accteststorageaccount\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .accountTier(\"Standard\")\n            .accountReplicationType(\"GRS\")\n            .build());\n\n        var exampleContainer = new Container(\"exampleContainer\", ContainerArgs.builder()\n            .name(\"accteststoragecontainer\")\n            .storageAccountName(exampleAccount.name())\n            .containerAccessType(\"private\")\n            .build());\n\n        var exampleServerSecurityAlertPolicy = new ServerSecurityAlertPolicy(\"exampleServerSecurityAlertPolicy\", ServerSecurityAlertPolicyArgs.builder()\n            .resourceGroupName(example.name())\n            .serverName(exampleServer.name())\n            .state(\"Enabled\")\n            .build());\n\n        var exampleDatabase = new Database(\"exampleDatabase\", DatabaseArgs.builder()\n            .name(\"mysqldatabase\")\n            .serverId(test.id())\n            .build());\n\n        var exampleServerVulnerabilityAssessment = new ServerVulnerabilityAssessment(\"exampleServerVulnerabilityAssessment\", ServerVulnerabilityAssessmentArgs.builder()\n            .serverSecurityAlertPolicyId(exampleServerSecurityAlertPolicy.id())\n            .storageContainerPath(Output.tuple(exampleAccount.primaryBlobEndpoint(), exampleContainer.name()).applyValue(values -\u003e {\n                var primaryBlobEndpoint = values.t1;\n                var name = values.t2;\n                return String.format(\"%s%s/\", primaryBlobEndpoint,name);\n            }))\n            .storageAccountAccessKey(exampleAccount.primaryAccessKey())\n            .build());\n\n        var exampleDatabaseVulnerabilityAssessmentRuleBaseline = new DatabaseVulnerabilityAssessmentRuleBaseline(\"exampleDatabaseVulnerabilityAssessmentRuleBaseline\", DatabaseVulnerabilityAssessmentRuleBaselineArgs.builder()\n            .serverVulnerabilityAssessmentId(exampleServerVulnerabilityAssessment.id())\n            .databaseName(exampleDatabase.name())\n            .ruleId(\"VA2065\")\n            .baselineName(\"master\")\n            .baselineResults(            \n                DatabaseVulnerabilityAssessmentRuleBaselineBaselineResultArgs.builder()\n                    .results(                    \n                        \"allowedip1\",\n                        \"123.123.123.123\",\n                        \"123.123.123.123\")\n                    .build(),\n                DatabaseVulnerabilityAssessmentRuleBaselineBaselineResultArgs.builder()\n                    .results(                    \n                        \"allowedip2\",\n                        \"255.255.255.255\",\n                        \"255.255.255.255\")\n                    .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleServer:\n    type: azure:mssql:Server\n    name: example\n    properties:\n      name: mysqlserver\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      version: '12.0'\n      administratorLogin: 4dm1n157r470r\n      administratorLoginPassword: 4-v3ry-53cr37-p455w0rd\n  exampleAccount:\n    type: azure:storage:Account\n    name: example\n    properties:\n      name: accteststorageaccount\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      accountTier: Standard\n      accountReplicationType: GRS\n  exampleContainer:\n    type: azure:storage:Container\n    name: example\n    properties:\n      name: accteststoragecontainer\n      storageAccountName: ${exampleAccount.name}\n      containerAccessType: private\n  exampleServerSecurityAlertPolicy:\n    type: azure:mssql:ServerSecurityAlertPolicy\n    name: example\n    properties:\n      resourceGroupName: ${example.name}\n      serverName: ${exampleServer.name}\n      state: Enabled\n  exampleDatabase:\n    type: azure:mssql:Database\n    name: example\n    properties:\n      name: mysqldatabase\n      serverId: ${test.id}\n  exampleServerVulnerabilityAssessment:\n    type: azure:mssql:ServerVulnerabilityAssessment\n    name: example\n    properties:\n      serverSecurityAlertPolicyId: ${exampleServerSecurityAlertPolicy.id}\n      storageContainerPath: ${exampleAccount.primaryBlobEndpoint}${exampleContainer.name}/\n      storageAccountAccessKey: ${exampleAccount.primaryAccessKey}\n  exampleDatabaseVulnerabilityAssessmentRuleBaseline:\n    type: azure:mssql:DatabaseVulnerabilityAssessmentRuleBaseline\n    name: example\n    properties:\n      serverVulnerabilityAssessmentId: ${exampleServerVulnerabilityAssessment.id}\n      databaseName: ${exampleDatabase.name}\n      ruleId: VA2065\n      baselineName: master\n      baselineResults:\n        - results:\n            - allowedip1\n            - 123.123.123.123\n            - 123.123.123.123\n        - results:\n            - allowedip2\n            - 255.255.255.255\n            - 255.255.255.255\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Sql` - 2023-08-01-preview\n\n## Import\n\nDatabase Vulnerability Assessment Rule Baseline can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:mssql/databaseVulnerabilityAssessmentRuleBaseline:DatabaseVulnerabilityAssessmentRuleBaseline example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/acceptanceTestResourceGroup1/providers/Microsoft.Sql/servers/mssqlserver/databases/mysqldatabase/vulnerabilityAssessments/Default/rules/VA2065/baselines/master\n```\n\n","properties":{"baselineName":{"type":"string","description":"The name of the vulnerability assessment rule baseline. Valid options are \u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\"\u003e`default`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`master`\" pulumi-lang-dotnet=\"`Master`\" pulumi-lang-go=\"`master`\" pulumi-lang-python=\"`master`\" pulumi-lang-yaml=\"`master`\" pulumi-lang-java=\"`master`\"\u003e`master`\u003c/span\u003e. \u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\"\u003e`default`\u003c/span\u003e implies a baseline on a database level rule and \u003cspan pulumi-lang-nodejs=\"`master`\" pulumi-lang-dotnet=\"`Master`\" pulumi-lang-go=\"`master`\" pulumi-lang-python=\"`master`\" pulumi-lang-yaml=\"`master`\" pulumi-lang-java=\"`master`\"\u003e`master`\u003c/span\u003e for server level rule. Defaults to \u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\"\u003e`default`\u003c/span\u003e. Changing this forces a new resource to be created.\n"},"baselineResults":{"type":"array","items":{"$ref":"#/types/azure:mssql/DatabaseVulnerabilityAssessmentRuleBaselineBaselineResult:DatabaseVulnerabilityAssessmentRuleBaselineBaselineResult"},"description":"A \u003cspan pulumi-lang-nodejs=\"`baselineResult`\" pulumi-lang-dotnet=\"`BaselineResult`\" pulumi-lang-go=\"`baselineResult`\" pulumi-lang-python=\"`baseline_result`\" pulumi-lang-yaml=\"`baselineResult`\" pulumi-lang-java=\"`baselineResult`\"\u003e`baseline_result`\u003c/span\u003e block as documented below. Multiple blocks can be defined.\n"},"databaseName":{"type":"string","description":"Specifies the name of the MS SQL Database. Changing this forces a new resource to be created.\n"},"ruleId":{"type":"string","description":"The vulnerability assessment rule ID. Changing this forces a new resource to be created.\n"},"serverVulnerabilityAssessmentId":{"type":"string","description":"The Vulnerability Assessment ID of the MS SQL Server. Changing this forces a new resource to be created.\n"}},"required":["baselineResults","databaseName","ruleId","serverVulnerabilityAssessmentId"],"inputProperties":{"baselineName":{"type":"string","description":"The name of the vulnerability assessment rule baseline. Valid options are \u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\"\u003e`default`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`master`\" pulumi-lang-dotnet=\"`Master`\" pulumi-lang-go=\"`master`\" pulumi-lang-python=\"`master`\" pulumi-lang-yaml=\"`master`\" pulumi-lang-java=\"`master`\"\u003e`master`\u003c/span\u003e. \u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\"\u003e`default`\u003c/span\u003e implies a baseline on a database level rule and \u003cspan pulumi-lang-nodejs=\"`master`\" pulumi-lang-dotnet=\"`Master`\" pulumi-lang-go=\"`master`\" pulumi-lang-python=\"`master`\" pulumi-lang-yaml=\"`master`\" pulumi-lang-java=\"`master`\"\u003e`master`\u003c/span\u003e for server level rule. Defaults to \u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\"\u003e`default`\u003c/span\u003e. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"baselineResults":{"type":"array","items":{"$ref":"#/types/azure:mssql/DatabaseVulnerabilityAssessmentRuleBaselineBaselineResult:DatabaseVulnerabilityAssessmentRuleBaselineBaselineResult"},"description":"A \u003cspan pulumi-lang-nodejs=\"`baselineResult`\" pulumi-lang-dotnet=\"`BaselineResult`\" pulumi-lang-go=\"`baselineResult`\" pulumi-lang-python=\"`baseline_result`\" pulumi-lang-yaml=\"`baselineResult`\" pulumi-lang-java=\"`baselineResult`\"\u003e`baseline_result`\u003c/span\u003e block as documented below. Multiple blocks can be defined.\n"},"databaseName":{"type":"string","description":"Specifies the name of the MS SQL Database. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"ruleId":{"type":"string","description":"The vulnerability assessment rule ID. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"serverVulnerabilityAssessmentId":{"type":"string","description":"The Vulnerability Assessment ID of the MS SQL Server. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["baselineResults","databaseName","ruleId","serverVulnerabilityAssessmentId"],"stateInputs":{"description":"Input properties used for looking up and filtering DatabaseVulnerabilityAssessmentRuleBaseline resources.\n","properties":{"baselineName":{"type":"string","description":"The name of the vulnerability assessment rule baseline. Valid options are \u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\"\u003e`default`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`master`\" pulumi-lang-dotnet=\"`Master`\" pulumi-lang-go=\"`master`\" pulumi-lang-python=\"`master`\" pulumi-lang-yaml=\"`master`\" pulumi-lang-java=\"`master`\"\u003e`master`\u003c/span\u003e. \u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\"\u003e`default`\u003c/span\u003e implies a baseline on a database level rule and \u003cspan pulumi-lang-nodejs=\"`master`\" pulumi-lang-dotnet=\"`Master`\" pulumi-lang-go=\"`master`\" pulumi-lang-python=\"`master`\" pulumi-lang-yaml=\"`master`\" pulumi-lang-java=\"`master`\"\u003e`master`\u003c/span\u003e for server level rule. Defaults to \u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\"\u003e`default`\u003c/span\u003e. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"baselineResults":{"type":"array","items":{"$ref":"#/types/azure:mssql/DatabaseVulnerabilityAssessmentRuleBaselineBaselineResult:DatabaseVulnerabilityAssessmentRuleBaselineBaselineResult"},"description":"A \u003cspan pulumi-lang-nodejs=\"`baselineResult`\" pulumi-lang-dotnet=\"`BaselineResult`\" pulumi-lang-go=\"`baselineResult`\" pulumi-lang-python=\"`baseline_result`\" pulumi-lang-yaml=\"`baselineResult`\" pulumi-lang-java=\"`baselineResult`\"\u003e`baseline_result`\u003c/span\u003e block as documented below. Multiple blocks can be defined.\n"},"databaseName":{"type":"string","description":"Specifies the name of the MS SQL Database. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"ruleId":{"type":"string","description":"The vulnerability assessment rule ID. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"serverVulnerabilityAssessmentId":{"type":"string","description":"The Vulnerability Assessment ID of the MS SQL Server. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:mssql/elasticPool:ElasticPool":{"description":"Allows you to manage an Azure SQL Elastic Pool.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"my-resource-group\",\n    location: \"West Europe\",\n});\nconst exampleServer = new azure.mssql.Server(\"example\", {\n    name: \"my-sql-server\",\n    resourceGroupName: example.name,\n    location: example.location,\n    version: \"12.0\",\n    administratorLogin: \"4dm1n157r470r\",\n    administratorLoginPassword: \"4-v3ry-53cr37-p455w0rd\",\n});\nconst exampleElasticPool = new azure.mssql.ElasticPool(\"example\", {\n    name: \"test-epool\",\n    resourceGroupName: example.name,\n    location: example.location,\n    serverName: exampleServer.name,\n    licenseType: \"LicenseIncluded\",\n    maxSizeGb: 756,\n    sku: {\n        name: \"BasicPool\",\n        tier: \"Basic\",\n        family: \"Gen4\",\n        capacity: 4,\n    },\n    perDatabaseSettings: {\n        minCapacity: 0.25,\n        maxCapacity: 4,\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"my-resource-group\",\n    location=\"West Europe\")\nexample_server = azure.mssql.Server(\"example\",\n    name=\"my-sql-server\",\n    resource_group_name=example.name,\n    location=example.location,\n    version=\"12.0\",\n    administrator_login=\"4dm1n157r470r\",\n    administrator_login_password=\"4-v3ry-53cr37-p455w0rd\")\nexample_elastic_pool = azure.mssql.ElasticPool(\"example\",\n    name=\"test-epool\",\n    resource_group_name=example.name,\n    location=example.location,\n    server_name=example_server.name,\n    license_type=\"LicenseIncluded\",\n    max_size_gb=756,\n    sku={\n        \"name\": \"BasicPool\",\n        \"tier\": \"Basic\",\n        \"family\": \"Gen4\",\n        \"capacity\": 4,\n    },\n    per_database_settings={\n        \"min_capacity\": 0.25,\n        \"max_capacity\": 4,\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"my-resource-group\",\n        Location = \"West Europe\",\n    });\n\n    var exampleServer = new Azure.MSSql.Server(\"example\", new()\n    {\n        Name = \"my-sql-server\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        Version = \"12.0\",\n        AdministratorLogin = \"4dm1n157r470r\",\n        AdministratorLoginPassword = \"4-v3ry-53cr37-p455w0rd\",\n    });\n\n    var exampleElasticPool = new Azure.MSSql.ElasticPool(\"example\", new()\n    {\n        Name = \"test-epool\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        ServerName = exampleServer.Name,\n        LicenseType = \"LicenseIncluded\",\n        MaxSizeGb = 756,\n        Sku = new Azure.MSSql.Inputs.ElasticPoolSkuArgs\n        {\n            Name = \"BasicPool\",\n            Tier = \"Basic\",\n            Family = \"Gen4\",\n            Capacity = 4,\n        },\n        PerDatabaseSettings = new Azure.MSSql.Inputs.ElasticPoolPerDatabaseSettingsArgs\n        {\n            MinCapacity = 0.25,\n            MaxCapacity = 4,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/mssql\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"my-resource-group\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleServer, err := mssql.NewServer(ctx, \"example\", \u0026mssql.ServerArgs{\n\t\t\tName:                       pulumi.String(\"my-sql-server\"),\n\t\t\tResourceGroupName:          example.Name,\n\t\t\tLocation:                   example.Location,\n\t\t\tVersion:                    pulumi.String(\"12.0\"),\n\t\t\tAdministratorLogin:         pulumi.String(\"4dm1n157r470r\"),\n\t\t\tAdministratorLoginPassword: pulumi.String(\"4-v3ry-53cr37-p455w0rd\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = mssql.NewElasticPool(ctx, \"example\", \u0026mssql.ElasticPoolArgs{\n\t\t\tName:              pulumi.String(\"test-epool\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tServerName:        exampleServer.Name,\n\t\t\tLicenseType:       pulumi.String(\"LicenseIncluded\"),\n\t\t\tMaxSizeGb:         pulumi.Float64(756),\n\t\t\tSku: \u0026mssql.ElasticPoolSkuArgs{\n\t\t\t\tName:     pulumi.String(\"BasicPool\"),\n\t\t\t\tTier:     pulumi.String(\"Basic\"),\n\t\t\t\tFamily:   pulumi.String(\"Gen4\"),\n\t\t\t\tCapacity: pulumi.Int(4),\n\t\t\t},\n\t\t\tPerDatabaseSettings: \u0026mssql.ElasticPoolPerDatabaseSettingsArgs{\n\t\t\t\tMinCapacity: pulumi.Float64(0.25),\n\t\t\t\tMaxCapacity: pulumi.Float64(4),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.mssql.Server;\nimport com.pulumi.azure.mssql.ServerArgs;\nimport com.pulumi.azure.mssql.ElasticPool;\nimport com.pulumi.azure.mssql.ElasticPoolArgs;\nimport com.pulumi.azure.mssql.inputs.ElasticPoolSkuArgs;\nimport com.pulumi.azure.mssql.inputs.ElasticPoolPerDatabaseSettingsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"my-resource-group\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleServer = new Server(\"exampleServer\", ServerArgs.builder()\n            .name(\"my-sql-server\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .version(\"12.0\")\n            .administratorLogin(\"4dm1n157r470r\")\n            .administratorLoginPassword(\"4-v3ry-53cr37-p455w0rd\")\n            .build());\n\n        var exampleElasticPool = new ElasticPool(\"exampleElasticPool\", ElasticPoolArgs.builder()\n            .name(\"test-epool\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .serverName(exampleServer.name())\n            .licenseType(\"LicenseIncluded\")\n            .maxSizeGb(756.0)\n            .sku(ElasticPoolSkuArgs.builder()\n                .name(\"BasicPool\")\n                .tier(\"Basic\")\n                .family(\"Gen4\")\n                .capacity(4)\n                .build())\n            .perDatabaseSettings(ElasticPoolPerDatabaseSettingsArgs.builder()\n                .minCapacity(0.25)\n                .maxCapacity(4.0)\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: my-resource-group\n      location: West Europe\n  exampleServer:\n    type: azure:mssql:Server\n    name: example\n    properties:\n      name: my-sql-server\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      version: '12.0'\n      administratorLogin: 4dm1n157r470r\n      administratorLoginPassword: 4-v3ry-53cr37-p455w0rd\n  exampleElasticPool:\n    type: azure:mssql:ElasticPool\n    name: example\n    properties:\n      name: test-epool\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      serverName: ${exampleServer.name}\n      licenseType: LicenseIncluded\n      maxSizeGb: 756\n      sku:\n        name: BasicPool\n        tier: Basic\n        family: Gen4\n        capacity: 4\n      perDatabaseSettings:\n        minCapacity: 0.25\n        maxCapacity: 4\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Sql` - 2023-08-01-preview\n\n## Import\n\nSQL Elastic Pool can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:mssql/elasticPool:ElasticPool example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myresourcegroup/providers/Microsoft.Sql/servers/myserver/elasticPools/myelasticpoolname\n```\n\n","properties":{"enclaveType":{"type":"string","description":"Specifies the type of enclave to be used by the elastic pool. When \u003cspan pulumi-lang-nodejs=\"`enclaveType`\" pulumi-lang-dotnet=\"`EnclaveType`\" pulumi-lang-go=\"`enclaveType`\" pulumi-lang-python=\"`enclave_type`\" pulumi-lang-yaml=\"`enclaveType`\" pulumi-lang-java=\"`enclaveType`\"\u003e`enclave_type`\u003c/span\u003e is not specified (e.g., the default) enclaves are not enabled on the elastic pool. Once enabled (e.g., by specifying `Default` or `VBS`) removing the \u003cspan pulumi-lang-nodejs=\"`enclaveType`\" pulumi-lang-dotnet=\"`EnclaveType`\" pulumi-lang-go=\"`enclaveType`\" pulumi-lang-python=\"`enclave_type`\" pulumi-lang-yaml=\"`enclaveType`\" pulumi-lang-java=\"`enclaveType`\"\u003e`enclave_type`\u003c/span\u003e field from the configuration file will force the creation of a new resource. Possible values are `Default` or `VBS`.\n\n\u003e **Note:** All databases that are added to the elastic pool must have the same \u003cspan pulumi-lang-nodejs=\"`enclaveType`\" pulumi-lang-dotnet=\"`EnclaveType`\" pulumi-lang-go=\"`enclaveType`\" pulumi-lang-python=\"`enclave_type`\" pulumi-lang-yaml=\"`enclaveType`\" pulumi-lang-java=\"`enclaveType`\"\u003e`enclave_type`\u003c/span\u003e as the elastic pool.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`enclaveType`\" pulumi-lang-dotnet=\"`EnclaveType`\" pulumi-lang-go=\"`enclaveType`\" pulumi-lang-python=\"`enclave_type`\" pulumi-lang-yaml=\"`enclaveType`\" pulumi-lang-java=\"`enclaveType`\"\u003e`enclave_type`\u003c/span\u003e is not supported for DC-series SKUs.\n\n\u003e **Note:** The default value for \u003cspan pulumi-lang-nodejs=\"`enclaveType`\" pulumi-lang-dotnet=\"`EnclaveType`\" pulumi-lang-go=\"`enclaveType`\" pulumi-lang-python=\"`enclave_type`\" pulumi-lang-yaml=\"`enclaveType`\" pulumi-lang-java=\"`enclaveType`\"\u003e`enclave_type`\u003c/span\u003e field is unset not `Default`.\n"},"licenseType":{"type":"string","description":"Specifies the license type applied to this database. Possible values are `LicenseIncluded` and `BasePrice`.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n"},"maintenanceConfigurationName":{"type":"string","description":"The name of the Public Maintenance Configuration window to apply to the elastic pool. Valid values include `SQL_Default`, `SQL_EastUS_DB_1`, `SQL_EastUS2_DB_1`, `SQL_SoutheastAsia_DB_1`, `SQL_AustraliaEast_DB_1`, `SQL_NorthEurope_DB_1`, `SQL_SouthCentralUS_DB_1`, `SQL_WestUS2_DB_1`, `SQL_UKSouth_DB_1`, `SQL_WestEurope_DB_1`, `SQL_EastUS_DB_2`, `SQL_EastUS2_DB_2`, `SQL_WestUS2_DB_2`, `SQL_SoutheastAsia_DB_2`, `SQL_AustraliaEast_DB_2`, `SQL_NorthEurope_DB_2`, `SQL_SouthCentralUS_DB_2`, `SQL_UKSouth_DB_2`, `SQL_WestEurope_DB_2`, `SQL_AustraliaSoutheast_DB_1`, `SQL_BrazilSouth_DB_1`, `SQL_CanadaCentral_DB_1`, `SQL_CanadaEast_DB_1`, `SQL_CentralUS_DB_1`, `SQL_EastAsia_DB_1`, `SQL_FranceCentral_DB_1`, `SQL_GermanyWestCentral_DB_1`, `SQL_CentralIndia_DB_1`, `SQL_SouthIndia_DB_1`, `SQL_JapanEast_DB_1`, `SQL_JapanWest_DB_1`, `SQL_NorthCentralUS_DB_1`, `SQL_UKWest_DB_1`, `SQL_WestUS_DB_1`, `SQL_AustraliaSoutheast_DB_2`, `SQL_BrazilSouth_DB_2`, `SQL_CanadaCentral_DB_2`, `SQL_CanadaEast_DB_2`, `SQL_CentralUS_DB_2`, `SQL_EastAsia_DB_2`, `SQL_FranceCentral_DB_2`, `SQL_GermanyWestCentral_DB_2`, `SQL_CentralIndia_DB_2`, `SQL_SouthIndia_DB_2`, `SQL_JapanEast_DB_2`, `SQL_JapanWest_DB_2`, `SQL_NorthCentralUS_DB_2`, `SQL_UKWest_DB_2`, `SQL_WestUS_DB_2`, `SQL_WestCentralUS_DB_1`, `SQL_FranceSouth_DB_1`, `SQL_WestCentralUS_DB_2`, `SQL_FranceSouth_DB_2`, `SQL_SwitzerlandNorth_DB_1`, `SQL_SwitzerlandNorth_DB_2`, `SQL_BrazilSoutheast_DB_1`, `SQL_UAENorth_DB_1`, `SQL_BrazilSoutheast_DB_2`, `SQL_UAENorth_DB_2`, `SQL_SouthAfricaNorth_DB_1`, `SQL_SouthAfricaNorth_DB_2`, `SQL_WestUS3_DB_1`, `SQL_WestUS3_DB_2`, `SQL_SwedenCentral_DB_1`, `SQL_SwedenCentral_DB_2`. Defaults to `SQL_Default`.\n"},"maxSizeBytes":{"type":"integer","description":"The max data size of the elastic pool in bytes. Conflicts with \u003cspan pulumi-lang-nodejs=\"`maxSizeGb`\" pulumi-lang-dotnet=\"`MaxSizeGb`\" pulumi-lang-go=\"`maxSizeGb`\" pulumi-lang-python=\"`max_size_gb`\" pulumi-lang-yaml=\"`maxSizeGb`\" pulumi-lang-java=\"`maxSizeGb`\"\u003e`max_size_gb`\u003c/span\u003e.\n\n\u003e **Note:** One of either \u003cspan pulumi-lang-nodejs=\"`maxSizeGb`\" pulumi-lang-dotnet=\"`MaxSizeGb`\" pulumi-lang-go=\"`maxSizeGb`\" pulumi-lang-python=\"`max_size_gb`\" pulumi-lang-yaml=\"`maxSizeGb`\" pulumi-lang-java=\"`maxSizeGb`\"\u003e`max_size_gb`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`maxSizeBytes`\" pulumi-lang-dotnet=\"`MaxSizeBytes`\" pulumi-lang-go=\"`maxSizeBytes`\" pulumi-lang-python=\"`max_size_bytes`\" pulumi-lang-yaml=\"`maxSizeBytes`\" pulumi-lang-java=\"`maxSizeBytes`\"\u003e`max_size_bytes`\u003c/span\u003e must be specified.\n"},"maxSizeGb":{"type":"number","description":"The max data size of the elastic pool in gigabytes. Conflicts with \u003cspan pulumi-lang-nodejs=\"`maxSizeBytes`\" pulumi-lang-dotnet=\"`MaxSizeBytes`\" pulumi-lang-go=\"`maxSizeBytes`\" pulumi-lang-python=\"`max_size_bytes`\" pulumi-lang-yaml=\"`maxSizeBytes`\" pulumi-lang-java=\"`maxSizeBytes`\"\u003e`max_size_bytes`\u003c/span\u003e.\n"},"name":{"type":"string","description":"The name of the elastic pool. This needs to be globally unique. Changing this forces a new resource to be created.\n"},"perDatabaseSettings":{"$ref":"#/types/azure:mssql/ElasticPoolPerDatabaseSettings:ElasticPoolPerDatabaseSettings","description":"A \u003cspan pulumi-lang-nodejs=\"`perDatabaseSettings`\" pulumi-lang-dotnet=\"`PerDatabaseSettings`\" pulumi-lang-go=\"`perDatabaseSettings`\" pulumi-lang-python=\"`per_database_settings`\" pulumi-lang-yaml=\"`perDatabaseSettings`\" pulumi-lang-java=\"`perDatabaseSettings`\"\u003e`per_database_settings`\u003c/span\u003e block as defined below.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the elastic pool. This must be the same as the resource group of the underlying SQL server. Changing this forces a new resource to be created.\n"},"serverName":{"type":"string","description":"The name of the SQL Server on which to create the elastic pool. Changing this forces a new resource to be created.\n"},"sku":{"$ref":"#/types/azure:mssql/ElasticPoolSku:ElasticPoolSku","description":"A \u003cspan pulumi-lang-nodejs=\"`sku`\" pulumi-lang-dotnet=\"`Sku`\" pulumi-lang-go=\"`sku`\" pulumi-lang-python=\"`sku`\" pulumi-lang-yaml=\"`sku`\" pulumi-lang-java=\"`sku`\"\u003e`sku`\u003c/span\u003e block as defined below.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"zoneRedundant":{"type":"boolean","description":"Whether or not this elastic pool is zone redundant. \u003cspan pulumi-lang-nodejs=\"`tier`\" pulumi-lang-dotnet=\"`Tier`\" pulumi-lang-go=\"`tier`\" pulumi-lang-python=\"`tier`\" pulumi-lang-yaml=\"`tier`\" pulumi-lang-java=\"`tier`\"\u003e`tier`\u003c/span\u003e needs to be `Premium` for `DTU` based or `BusinessCritical` for `vCore` based \u003cspan pulumi-lang-nodejs=\"`sku`\" pulumi-lang-dotnet=\"`Sku`\" pulumi-lang-go=\"`sku`\" pulumi-lang-python=\"`sku`\" pulumi-lang-yaml=\"`sku`\" pulumi-lang-java=\"`sku`\"\u003e`sku`\u003c/span\u003e.\n"}},"required":["enclaveType","licenseType","location","maxSizeBytes","maxSizeGb","name","perDatabaseSettings","resourceGroupName","serverName","sku"],"inputProperties":{"enclaveType":{"type":"string","description":"Specifies the type of enclave to be used by the elastic pool. When \u003cspan pulumi-lang-nodejs=\"`enclaveType`\" pulumi-lang-dotnet=\"`EnclaveType`\" pulumi-lang-go=\"`enclaveType`\" pulumi-lang-python=\"`enclave_type`\" pulumi-lang-yaml=\"`enclaveType`\" pulumi-lang-java=\"`enclaveType`\"\u003e`enclave_type`\u003c/span\u003e is not specified (e.g., the default) enclaves are not enabled on the elastic pool. Once enabled (e.g., by specifying `Default` or `VBS`) removing the \u003cspan pulumi-lang-nodejs=\"`enclaveType`\" pulumi-lang-dotnet=\"`EnclaveType`\" pulumi-lang-go=\"`enclaveType`\" pulumi-lang-python=\"`enclave_type`\" pulumi-lang-yaml=\"`enclaveType`\" pulumi-lang-java=\"`enclaveType`\"\u003e`enclave_type`\u003c/span\u003e field from the configuration file will force the creation of a new resource. Possible values are `Default` or `VBS`.\n\n\u003e **Note:** All databases that are added to the elastic pool must have the same \u003cspan pulumi-lang-nodejs=\"`enclaveType`\" pulumi-lang-dotnet=\"`EnclaveType`\" pulumi-lang-go=\"`enclaveType`\" pulumi-lang-python=\"`enclave_type`\" pulumi-lang-yaml=\"`enclaveType`\" pulumi-lang-java=\"`enclaveType`\"\u003e`enclave_type`\u003c/span\u003e as the elastic pool.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`enclaveType`\" pulumi-lang-dotnet=\"`EnclaveType`\" pulumi-lang-go=\"`enclaveType`\" pulumi-lang-python=\"`enclave_type`\" pulumi-lang-yaml=\"`enclaveType`\" pulumi-lang-java=\"`enclaveType`\"\u003e`enclave_type`\u003c/span\u003e is not supported for DC-series SKUs.\n\n\u003e **Note:** The default value for \u003cspan pulumi-lang-nodejs=\"`enclaveType`\" pulumi-lang-dotnet=\"`EnclaveType`\" pulumi-lang-go=\"`enclaveType`\" pulumi-lang-python=\"`enclave_type`\" pulumi-lang-yaml=\"`enclaveType`\" pulumi-lang-java=\"`enclaveType`\"\u003e`enclave_type`\u003c/span\u003e field is unset not `Default`.\n"},"licenseType":{"type":"string","description":"Specifies the license type applied to this database. Possible values are `LicenseIncluded` and `BasePrice`.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"maintenanceConfigurationName":{"type":"string","description":"The name of the Public Maintenance Configuration window to apply to the elastic pool. Valid values include `SQL_Default`, `SQL_EastUS_DB_1`, `SQL_EastUS2_DB_1`, `SQL_SoutheastAsia_DB_1`, `SQL_AustraliaEast_DB_1`, `SQL_NorthEurope_DB_1`, `SQL_SouthCentralUS_DB_1`, `SQL_WestUS2_DB_1`, `SQL_UKSouth_DB_1`, `SQL_WestEurope_DB_1`, `SQL_EastUS_DB_2`, `SQL_EastUS2_DB_2`, `SQL_WestUS2_DB_2`, `SQL_SoutheastAsia_DB_2`, `SQL_AustraliaEast_DB_2`, `SQL_NorthEurope_DB_2`, `SQL_SouthCentralUS_DB_2`, `SQL_UKSouth_DB_2`, `SQL_WestEurope_DB_2`, `SQL_AustraliaSoutheast_DB_1`, `SQL_BrazilSouth_DB_1`, `SQL_CanadaCentral_DB_1`, `SQL_CanadaEast_DB_1`, `SQL_CentralUS_DB_1`, `SQL_EastAsia_DB_1`, `SQL_FranceCentral_DB_1`, `SQL_GermanyWestCentral_DB_1`, `SQL_CentralIndia_DB_1`, `SQL_SouthIndia_DB_1`, `SQL_JapanEast_DB_1`, `SQL_JapanWest_DB_1`, `SQL_NorthCentralUS_DB_1`, `SQL_UKWest_DB_1`, `SQL_WestUS_DB_1`, `SQL_AustraliaSoutheast_DB_2`, `SQL_BrazilSouth_DB_2`, `SQL_CanadaCentral_DB_2`, `SQL_CanadaEast_DB_2`, `SQL_CentralUS_DB_2`, `SQL_EastAsia_DB_2`, `SQL_FranceCentral_DB_2`, `SQL_GermanyWestCentral_DB_2`, `SQL_CentralIndia_DB_2`, `SQL_SouthIndia_DB_2`, `SQL_JapanEast_DB_2`, `SQL_JapanWest_DB_2`, `SQL_NorthCentralUS_DB_2`, `SQL_UKWest_DB_2`, `SQL_WestUS_DB_2`, `SQL_WestCentralUS_DB_1`, `SQL_FranceSouth_DB_1`, `SQL_WestCentralUS_DB_2`, `SQL_FranceSouth_DB_2`, `SQL_SwitzerlandNorth_DB_1`, `SQL_SwitzerlandNorth_DB_2`, `SQL_BrazilSoutheast_DB_1`, `SQL_UAENorth_DB_1`, `SQL_BrazilSoutheast_DB_2`, `SQL_UAENorth_DB_2`, `SQL_SouthAfricaNorth_DB_1`, `SQL_SouthAfricaNorth_DB_2`, `SQL_WestUS3_DB_1`, `SQL_WestUS3_DB_2`, `SQL_SwedenCentral_DB_1`, `SQL_SwedenCentral_DB_2`. Defaults to `SQL_Default`.\n"},"maxSizeBytes":{"type":"integer","description":"The max data size of the elastic pool in bytes. Conflicts with \u003cspan pulumi-lang-nodejs=\"`maxSizeGb`\" pulumi-lang-dotnet=\"`MaxSizeGb`\" pulumi-lang-go=\"`maxSizeGb`\" pulumi-lang-python=\"`max_size_gb`\" pulumi-lang-yaml=\"`maxSizeGb`\" pulumi-lang-java=\"`maxSizeGb`\"\u003e`max_size_gb`\u003c/span\u003e.\n\n\u003e **Note:** One of either \u003cspan pulumi-lang-nodejs=\"`maxSizeGb`\" pulumi-lang-dotnet=\"`MaxSizeGb`\" pulumi-lang-go=\"`maxSizeGb`\" pulumi-lang-python=\"`max_size_gb`\" pulumi-lang-yaml=\"`maxSizeGb`\" pulumi-lang-java=\"`maxSizeGb`\"\u003e`max_size_gb`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`maxSizeBytes`\" pulumi-lang-dotnet=\"`MaxSizeBytes`\" pulumi-lang-go=\"`maxSizeBytes`\" pulumi-lang-python=\"`max_size_bytes`\" pulumi-lang-yaml=\"`maxSizeBytes`\" pulumi-lang-java=\"`maxSizeBytes`\"\u003e`max_size_bytes`\u003c/span\u003e must be specified.\n"},"maxSizeGb":{"type":"number","description":"The max data size of the elastic pool in gigabytes. Conflicts with \u003cspan pulumi-lang-nodejs=\"`maxSizeBytes`\" pulumi-lang-dotnet=\"`MaxSizeBytes`\" pulumi-lang-go=\"`maxSizeBytes`\" pulumi-lang-python=\"`max_size_bytes`\" pulumi-lang-yaml=\"`maxSizeBytes`\" pulumi-lang-java=\"`maxSizeBytes`\"\u003e`max_size_bytes`\u003c/span\u003e.\n"},"name":{"type":"string","description":"The name of the elastic pool. This needs to be globally unique. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"perDatabaseSettings":{"$ref":"#/types/azure:mssql/ElasticPoolPerDatabaseSettings:ElasticPoolPerDatabaseSettings","description":"A \u003cspan pulumi-lang-nodejs=\"`perDatabaseSettings`\" pulumi-lang-dotnet=\"`PerDatabaseSettings`\" pulumi-lang-go=\"`perDatabaseSettings`\" pulumi-lang-python=\"`per_database_settings`\" pulumi-lang-yaml=\"`perDatabaseSettings`\" pulumi-lang-java=\"`perDatabaseSettings`\"\u003e`per_database_settings`\u003c/span\u003e block as defined below.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the elastic pool. This must be the same as the resource group of the underlying SQL server. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"serverName":{"type":"string","description":"The name of the SQL Server on which to create the elastic pool. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sku":{"$ref":"#/types/azure:mssql/ElasticPoolSku:ElasticPoolSku","description":"A \u003cspan pulumi-lang-nodejs=\"`sku`\" pulumi-lang-dotnet=\"`Sku`\" pulumi-lang-go=\"`sku`\" pulumi-lang-python=\"`sku`\" pulumi-lang-yaml=\"`sku`\" pulumi-lang-java=\"`sku`\"\u003e`sku`\u003c/span\u003e block as defined below.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"zoneRedundant":{"type":"boolean","description":"Whether or not this elastic pool is zone redundant. \u003cspan pulumi-lang-nodejs=\"`tier`\" pulumi-lang-dotnet=\"`Tier`\" pulumi-lang-go=\"`tier`\" pulumi-lang-python=\"`tier`\" pulumi-lang-yaml=\"`tier`\" pulumi-lang-java=\"`tier`\"\u003e`tier`\u003c/span\u003e needs to be `Premium` for `DTU` based or `BusinessCritical` for `vCore` based \u003cspan pulumi-lang-nodejs=\"`sku`\" pulumi-lang-dotnet=\"`Sku`\" pulumi-lang-go=\"`sku`\" pulumi-lang-python=\"`sku`\" pulumi-lang-yaml=\"`sku`\" pulumi-lang-java=\"`sku`\"\u003e`sku`\u003c/span\u003e.\n"}},"requiredInputs":["perDatabaseSettings","resourceGroupName","serverName","sku"],"stateInputs":{"description":"Input properties used for looking up and filtering ElasticPool resources.\n","properties":{"enclaveType":{"type":"string","description":"Specifies the type of enclave to be used by the elastic pool. When \u003cspan pulumi-lang-nodejs=\"`enclaveType`\" pulumi-lang-dotnet=\"`EnclaveType`\" pulumi-lang-go=\"`enclaveType`\" pulumi-lang-python=\"`enclave_type`\" pulumi-lang-yaml=\"`enclaveType`\" pulumi-lang-java=\"`enclaveType`\"\u003e`enclave_type`\u003c/span\u003e is not specified (e.g., the default) enclaves are not enabled on the elastic pool. Once enabled (e.g., by specifying `Default` or `VBS`) removing the \u003cspan pulumi-lang-nodejs=\"`enclaveType`\" pulumi-lang-dotnet=\"`EnclaveType`\" pulumi-lang-go=\"`enclaveType`\" pulumi-lang-python=\"`enclave_type`\" pulumi-lang-yaml=\"`enclaveType`\" pulumi-lang-java=\"`enclaveType`\"\u003e`enclave_type`\u003c/span\u003e field from the configuration file will force the creation of a new resource. Possible values are `Default` or `VBS`.\n\n\u003e **Note:** All databases that are added to the elastic pool must have the same \u003cspan pulumi-lang-nodejs=\"`enclaveType`\" pulumi-lang-dotnet=\"`EnclaveType`\" pulumi-lang-go=\"`enclaveType`\" pulumi-lang-python=\"`enclave_type`\" pulumi-lang-yaml=\"`enclaveType`\" pulumi-lang-java=\"`enclaveType`\"\u003e`enclave_type`\u003c/span\u003e as the elastic pool.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`enclaveType`\" pulumi-lang-dotnet=\"`EnclaveType`\" pulumi-lang-go=\"`enclaveType`\" pulumi-lang-python=\"`enclave_type`\" pulumi-lang-yaml=\"`enclaveType`\" pulumi-lang-java=\"`enclaveType`\"\u003e`enclave_type`\u003c/span\u003e is not supported for DC-series SKUs.\n\n\u003e **Note:** The default value for \u003cspan pulumi-lang-nodejs=\"`enclaveType`\" pulumi-lang-dotnet=\"`EnclaveType`\" pulumi-lang-go=\"`enclaveType`\" pulumi-lang-python=\"`enclave_type`\" pulumi-lang-yaml=\"`enclaveType`\" pulumi-lang-java=\"`enclaveType`\"\u003e`enclave_type`\u003c/span\u003e field is unset not `Default`.\n"},"licenseType":{"type":"string","description":"Specifies the license type applied to this database. Possible values are `LicenseIncluded` and `BasePrice`.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"maintenanceConfigurationName":{"type":"string","description":"The name of the Public Maintenance Configuration window to apply to the elastic pool. Valid values include `SQL_Default`, `SQL_EastUS_DB_1`, `SQL_EastUS2_DB_1`, `SQL_SoutheastAsia_DB_1`, `SQL_AustraliaEast_DB_1`, `SQL_NorthEurope_DB_1`, `SQL_SouthCentralUS_DB_1`, `SQL_WestUS2_DB_1`, `SQL_UKSouth_DB_1`, `SQL_WestEurope_DB_1`, `SQL_EastUS_DB_2`, `SQL_EastUS2_DB_2`, `SQL_WestUS2_DB_2`, `SQL_SoutheastAsia_DB_2`, `SQL_AustraliaEast_DB_2`, `SQL_NorthEurope_DB_2`, `SQL_SouthCentralUS_DB_2`, `SQL_UKSouth_DB_2`, `SQL_WestEurope_DB_2`, `SQL_AustraliaSoutheast_DB_1`, `SQL_BrazilSouth_DB_1`, `SQL_CanadaCentral_DB_1`, `SQL_CanadaEast_DB_1`, `SQL_CentralUS_DB_1`, `SQL_EastAsia_DB_1`, `SQL_FranceCentral_DB_1`, `SQL_GermanyWestCentral_DB_1`, `SQL_CentralIndia_DB_1`, `SQL_SouthIndia_DB_1`, `SQL_JapanEast_DB_1`, `SQL_JapanWest_DB_1`, `SQL_NorthCentralUS_DB_1`, `SQL_UKWest_DB_1`, `SQL_WestUS_DB_1`, `SQL_AustraliaSoutheast_DB_2`, `SQL_BrazilSouth_DB_2`, `SQL_CanadaCentral_DB_2`, `SQL_CanadaEast_DB_2`, `SQL_CentralUS_DB_2`, `SQL_EastAsia_DB_2`, `SQL_FranceCentral_DB_2`, `SQL_GermanyWestCentral_DB_2`, `SQL_CentralIndia_DB_2`, `SQL_SouthIndia_DB_2`, `SQL_JapanEast_DB_2`, `SQL_JapanWest_DB_2`, `SQL_NorthCentralUS_DB_2`, `SQL_UKWest_DB_2`, `SQL_WestUS_DB_2`, `SQL_WestCentralUS_DB_1`, `SQL_FranceSouth_DB_1`, `SQL_WestCentralUS_DB_2`, `SQL_FranceSouth_DB_2`, `SQL_SwitzerlandNorth_DB_1`, `SQL_SwitzerlandNorth_DB_2`, `SQL_BrazilSoutheast_DB_1`, `SQL_UAENorth_DB_1`, `SQL_BrazilSoutheast_DB_2`, `SQL_UAENorth_DB_2`, `SQL_SouthAfricaNorth_DB_1`, `SQL_SouthAfricaNorth_DB_2`, `SQL_WestUS3_DB_1`, `SQL_WestUS3_DB_2`, `SQL_SwedenCentral_DB_1`, `SQL_SwedenCentral_DB_2`. Defaults to `SQL_Default`.\n"},"maxSizeBytes":{"type":"integer","description":"The max data size of the elastic pool in bytes. Conflicts with \u003cspan pulumi-lang-nodejs=\"`maxSizeGb`\" pulumi-lang-dotnet=\"`MaxSizeGb`\" pulumi-lang-go=\"`maxSizeGb`\" pulumi-lang-python=\"`max_size_gb`\" pulumi-lang-yaml=\"`maxSizeGb`\" pulumi-lang-java=\"`maxSizeGb`\"\u003e`max_size_gb`\u003c/span\u003e.\n\n\u003e **Note:** One of either \u003cspan pulumi-lang-nodejs=\"`maxSizeGb`\" pulumi-lang-dotnet=\"`MaxSizeGb`\" pulumi-lang-go=\"`maxSizeGb`\" pulumi-lang-python=\"`max_size_gb`\" pulumi-lang-yaml=\"`maxSizeGb`\" pulumi-lang-java=\"`maxSizeGb`\"\u003e`max_size_gb`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`maxSizeBytes`\" pulumi-lang-dotnet=\"`MaxSizeBytes`\" pulumi-lang-go=\"`maxSizeBytes`\" pulumi-lang-python=\"`max_size_bytes`\" pulumi-lang-yaml=\"`maxSizeBytes`\" pulumi-lang-java=\"`maxSizeBytes`\"\u003e`max_size_bytes`\u003c/span\u003e must be specified.\n"},"maxSizeGb":{"type":"number","description":"The max data size of the elastic pool in gigabytes. Conflicts with \u003cspan pulumi-lang-nodejs=\"`maxSizeBytes`\" pulumi-lang-dotnet=\"`MaxSizeBytes`\" pulumi-lang-go=\"`maxSizeBytes`\" pulumi-lang-python=\"`max_size_bytes`\" pulumi-lang-yaml=\"`maxSizeBytes`\" pulumi-lang-java=\"`maxSizeBytes`\"\u003e`max_size_bytes`\u003c/span\u003e.\n"},"name":{"type":"string","description":"The name of the elastic pool. This needs to be globally unique. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"perDatabaseSettings":{"$ref":"#/types/azure:mssql/ElasticPoolPerDatabaseSettings:ElasticPoolPerDatabaseSettings","description":"A \u003cspan pulumi-lang-nodejs=\"`perDatabaseSettings`\" pulumi-lang-dotnet=\"`PerDatabaseSettings`\" pulumi-lang-go=\"`perDatabaseSettings`\" pulumi-lang-python=\"`per_database_settings`\" pulumi-lang-yaml=\"`perDatabaseSettings`\" pulumi-lang-java=\"`perDatabaseSettings`\"\u003e`per_database_settings`\u003c/span\u003e block as defined below.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the elastic pool. This must be the same as the resource group of the underlying SQL server. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"serverName":{"type":"string","description":"The name of the SQL Server on which to create the elastic pool. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sku":{"$ref":"#/types/azure:mssql/ElasticPoolSku:ElasticPoolSku","description":"A \u003cspan pulumi-lang-nodejs=\"`sku`\" pulumi-lang-dotnet=\"`Sku`\" pulumi-lang-go=\"`sku`\" pulumi-lang-python=\"`sku`\" pulumi-lang-yaml=\"`sku`\" pulumi-lang-java=\"`sku`\"\u003e`sku`\u003c/span\u003e block as defined below.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"zoneRedundant":{"type":"boolean","description":"Whether or not this elastic pool is zone redundant. \u003cspan pulumi-lang-nodejs=\"`tier`\" pulumi-lang-dotnet=\"`Tier`\" pulumi-lang-go=\"`tier`\" pulumi-lang-python=\"`tier`\" pulumi-lang-yaml=\"`tier`\" pulumi-lang-java=\"`tier`\"\u003e`tier`\u003c/span\u003e needs to be `Premium` for `DTU` based or `BusinessCritical` for `vCore` based \u003cspan pulumi-lang-nodejs=\"`sku`\" pulumi-lang-dotnet=\"`Sku`\" pulumi-lang-go=\"`sku`\" pulumi-lang-python=\"`sku`\" pulumi-lang-yaml=\"`sku`\" pulumi-lang-java=\"`sku`\"\u003e`sku`\u003c/span\u003e.\n"}},"type":"object"}},"azure:mssql/failoverGroup:FailoverGroup":{"description":"Manages a Microsoft Azure SQL Failover Group.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"database-rg\",\n    location: \"West Europe\",\n});\nconst primary = new azure.mssql.Server(\"primary\", {\n    name: \"mssqlserver-primary\",\n    resourceGroupName: example.name,\n    location: example.location,\n    version: \"12.0\",\n    administratorLogin: \"missadministrator\",\n    administratorLoginPassword: \"thisIsKat11\",\n});\nconst secondary = new azure.mssql.Server(\"secondary\", {\n    name: \"mssqlserver-secondary\",\n    resourceGroupName: example.name,\n    location: \"North Europe\",\n    version: \"12.0\",\n    administratorLogin: \"missadministrator\",\n    administratorLoginPassword: \"thisIsKat12\",\n});\nconst exampleDatabase = new azure.mssql.Database(\"example\", {\n    name: \"exampledb\",\n    serverId: primary.id,\n    skuName: \"S1\",\n    collation: \"SQL_Latin1_General_CP1_CI_AS\",\n    maxSizeGb: 200,\n});\nconst exampleFailoverGroup = new azure.mssql.FailoverGroup(\"example\", {\n    name: \"example\",\n    serverId: primary.id,\n    databases: [exampleDatabase.id],\n    partnerServers: [{\n        id: secondary.id,\n    }],\n    readWriteEndpointFailoverPolicy: {\n        mode: \"Automatic\",\n        graceMinutes: 80,\n    },\n    tags: {\n        environment: \"prod\",\n        database: \"example\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"database-rg\",\n    location=\"West Europe\")\nprimary = azure.mssql.Server(\"primary\",\n    name=\"mssqlserver-primary\",\n    resource_group_name=example.name,\n    location=example.location,\n    version=\"12.0\",\n    administrator_login=\"missadministrator\",\n    administrator_login_password=\"thisIsKat11\")\nsecondary = azure.mssql.Server(\"secondary\",\n    name=\"mssqlserver-secondary\",\n    resource_group_name=example.name,\n    location=\"North Europe\",\n    version=\"12.0\",\n    administrator_login=\"missadministrator\",\n    administrator_login_password=\"thisIsKat12\")\nexample_database = azure.mssql.Database(\"example\",\n    name=\"exampledb\",\n    server_id=primary.id,\n    sku_name=\"S1\",\n    collation=\"SQL_Latin1_General_CP1_CI_AS\",\n    max_size_gb=200)\nexample_failover_group = azure.mssql.FailoverGroup(\"example\",\n    name=\"example\",\n    server_id=primary.id,\n    databases=[example_database.id],\n    partner_servers=[{\n        \"id\": secondary.id,\n    }],\n    read_write_endpoint_failover_policy={\n        \"mode\": \"Automatic\",\n        \"grace_minutes\": 80,\n    },\n    tags={\n        \"environment\": \"prod\",\n        \"database\": \"example\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"database-rg\",\n        Location = \"West Europe\",\n    });\n\n    var primary = new Azure.MSSql.Server(\"primary\", new()\n    {\n        Name = \"mssqlserver-primary\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        Version = \"12.0\",\n        AdministratorLogin = \"missadministrator\",\n        AdministratorLoginPassword = \"thisIsKat11\",\n    });\n\n    var secondary = new Azure.MSSql.Server(\"secondary\", new()\n    {\n        Name = \"mssqlserver-secondary\",\n        ResourceGroupName = example.Name,\n        Location = \"North Europe\",\n        Version = \"12.0\",\n        AdministratorLogin = \"missadministrator\",\n        AdministratorLoginPassword = \"thisIsKat12\",\n    });\n\n    var exampleDatabase = new Azure.MSSql.Database(\"example\", new()\n    {\n        Name = \"exampledb\",\n        ServerId = primary.Id,\n        SkuName = \"S1\",\n        Collation = \"SQL_Latin1_General_CP1_CI_AS\",\n        MaxSizeGb = 200,\n    });\n\n    var exampleFailoverGroup = new Azure.MSSql.FailoverGroup(\"example\", new()\n    {\n        Name = \"example\",\n        ServerId = primary.Id,\n        Databases = new[]\n        {\n            exampleDatabase.Id,\n        },\n        PartnerServers = new[]\n        {\n            new Azure.MSSql.Inputs.FailoverGroupPartnerServerArgs\n            {\n                Id = secondary.Id,\n            },\n        },\n        ReadWriteEndpointFailoverPolicy = new Azure.MSSql.Inputs.FailoverGroupReadWriteEndpointFailoverPolicyArgs\n        {\n            Mode = \"Automatic\",\n            GraceMinutes = 80,\n        },\n        Tags = \n        {\n            { \"environment\", \"prod\" },\n            { \"database\", \"example\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/mssql\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"database-rg\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tprimary, err := mssql.NewServer(ctx, \"primary\", \u0026mssql.ServerArgs{\n\t\t\tName:                       pulumi.String(\"mssqlserver-primary\"),\n\t\t\tResourceGroupName:          example.Name,\n\t\t\tLocation:                   example.Location,\n\t\t\tVersion:                    pulumi.String(\"12.0\"),\n\t\t\tAdministratorLogin:         pulumi.String(\"missadministrator\"),\n\t\t\tAdministratorLoginPassword: pulumi.String(\"thisIsKat11\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsecondary, err := mssql.NewServer(ctx, \"secondary\", \u0026mssql.ServerArgs{\n\t\t\tName:                       pulumi.String(\"mssqlserver-secondary\"),\n\t\t\tResourceGroupName:          example.Name,\n\t\t\tLocation:                   pulumi.String(\"North Europe\"),\n\t\t\tVersion:                    pulumi.String(\"12.0\"),\n\t\t\tAdministratorLogin:         pulumi.String(\"missadministrator\"),\n\t\t\tAdministratorLoginPassword: pulumi.String(\"thisIsKat12\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleDatabase, err := mssql.NewDatabase(ctx, \"example\", \u0026mssql.DatabaseArgs{\n\t\t\tName:      pulumi.String(\"exampledb\"),\n\t\t\tServerId:  primary.ID(),\n\t\t\tSkuName:   pulumi.String(\"S1\"),\n\t\t\tCollation: pulumi.String(\"SQL_Latin1_General_CP1_CI_AS\"),\n\t\t\tMaxSizeGb: pulumi.Float64(200),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = mssql.NewFailoverGroup(ctx, \"example\", \u0026mssql.FailoverGroupArgs{\n\t\t\tName:     pulumi.String(\"example\"),\n\t\t\tServerId: primary.ID(),\n\t\t\tDatabases: pulumi.StringArray{\n\t\t\t\texampleDatabase.ID(),\n\t\t\t},\n\t\t\tPartnerServers: mssql.FailoverGroupPartnerServerArray{\n\t\t\t\t\u0026mssql.FailoverGroupPartnerServerArgs{\n\t\t\t\t\tId: secondary.ID(),\n\t\t\t\t},\n\t\t\t},\n\t\t\tReadWriteEndpointFailoverPolicy: \u0026mssql.FailoverGroupReadWriteEndpointFailoverPolicyArgs{\n\t\t\t\tMode:         pulumi.String(\"Automatic\"),\n\t\t\t\tGraceMinutes: pulumi.Int(80),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"environment\": pulumi.String(\"prod\"),\n\t\t\t\t\"database\":    pulumi.String(\"example\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.mssql.Server;\nimport com.pulumi.azure.mssql.ServerArgs;\nimport com.pulumi.azure.mssql.Database;\nimport com.pulumi.azure.mssql.DatabaseArgs;\nimport com.pulumi.azure.mssql.FailoverGroup;\nimport com.pulumi.azure.mssql.FailoverGroupArgs;\nimport com.pulumi.azure.mssql.inputs.FailoverGroupPartnerServerArgs;\nimport com.pulumi.azure.mssql.inputs.FailoverGroupReadWriteEndpointFailoverPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"database-rg\")\n            .location(\"West Europe\")\n            .build());\n\n        var primary = new Server(\"primary\", ServerArgs.builder()\n            .name(\"mssqlserver-primary\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .version(\"12.0\")\n            .administratorLogin(\"missadministrator\")\n            .administratorLoginPassword(\"thisIsKat11\")\n            .build());\n\n        var secondary = new Server(\"secondary\", ServerArgs.builder()\n            .name(\"mssqlserver-secondary\")\n            .resourceGroupName(example.name())\n            .location(\"North Europe\")\n            .version(\"12.0\")\n            .administratorLogin(\"missadministrator\")\n            .administratorLoginPassword(\"thisIsKat12\")\n            .build());\n\n        var exampleDatabase = new Database(\"exampleDatabase\", DatabaseArgs.builder()\n            .name(\"exampledb\")\n            .serverId(primary.id())\n            .skuName(\"S1\")\n            .collation(\"SQL_Latin1_General_CP1_CI_AS\")\n            .maxSizeGb(200.0)\n            .build());\n\n        var exampleFailoverGroup = new FailoverGroup(\"exampleFailoverGroup\", FailoverGroupArgs.builder()\n            .name(\"example\")\n            .serverId(primary.id())\n            .databases(exampleDatabase.id())\n            .partnerServers(FailoverGroupPartnerServerArgs.builder()\n                .id(secondary.id())\n                .build())\n            .readWriteEndpointFailoverPolicy(FailoverGroupReadWriteEndpointFailoverPolicyArgs.builder()\n                .mode(\"Automatic\")\n                .graceMinutes(80)\n                .build())\n            .tags(Map.ofEntries(\n                Map.entry(\"environment\", \"prod\"),\n                Map.entry(\"database\", \"example\")\n            ))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: database-rg\n      location: West Europe\n  primary:\n    type: azure:mssql:Server\n    properties:\n      name: mssqlserver-primary\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      version: '12.0'\n      administratorLogin: missadministrator\n      administratorLoginPassword: thisIsKat11\n  secondary:\n    type: azure:mssql:Server\n    properties:\n      name: mssqlserver-secondary\n      resourceGroupName: ${example.name}\n      location: North Europe\n      version: '12.0'\n      administratorLogin: missadministrator\n      administratorLoginPassword: thisIsKat12\n  exampleDatabase:\n    type: azure:mssql:Database\n    name: example\n    properties:\n      name: exampledb\n      serverId: ${primary.id}\n      skuName: S1\n      collation: SQL_Latin1_General_CP1_CI_AS\n      maxSizeGb: '200'\n  exampleFailoverGroup:\n    type: azure:mssql:FailoverGroup\n    name: example\n    properties:\n      name: example\n      serverId: ${primary.id}\n      databases:\n        - ${exampleDatabase.id}\n      partnerServers:\n        - id: ${secondary.id}\n      readWriteEndpointFailoverPolicy:\n        mode: Automatic\n        graceMinutes: 80\n      tags:\n        environment: prod\n        database: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Sql` - 2023-08-01-preview\n\n## Import\n\nFailover Groups can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:mssql/failoverGroup:FailoverGroup example /subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/resGroup1/providers/Microsoft.Sql/servers/server1/failoverGroups/failoverGroup1\n```\n\n","properties":{"databases":{"type":"array","items":{"type":"string"},"description":"A set of database names to include in the failover group.\n"},"name":{"type":"string","description":"The name of the Failover Group. Changing this forces a new resource to be created.\n"},"partnerServers":{"type":"array","items":{"$ref":"#/types/azure:mssql/FailoverGroupPartnerServer:FailoverGroupPartnerServer"},"description":"A \u003cspan pulumi-lang-nodejs=\"`partnerServer`\" pulumi-lang-dotnet=\"`PartnerServer`\" pulumi-lang-go=\"`partnerServer`\" pulumi-lang-python=\"`partner_server`\" pulumi-lang-yaml=\"`partnerServer`\" pulumi-lang-java=\"`partnerServer`\"\u003e`partner_server`\u003c/span\u003e block as defined below.\n"},"readWriteEndpointFailoverPolicy":{"$ref":"#/types/azure:mssql/FailoverGroupReadWriteEndpointFailoverPolicy:FailoverGroupReadWriteEndpointFailoverPolicy","description":"A \u003cspan pulumi-lang-nodejs=\"`readWriteEndpointFailoverPolicy`\" pulumi-lang-dotnet=\"`ReadWriteEndpointFailoverPolicy`\" pulumi-lang-go=\"`readWriteEndpointFailoverPolicy`\" pulumi-lang-python=\"`read_write_endpoint_failover_policy`\" pulumi-lang-yaml=\"`readWriteEndpointFailoverPolicy`\" pulumi-lang-java=\"`readWriteEndpointFailoverPolicy`\"\u003e`read_write_endpoint_failover_policy`\u003c/span\u003e block as defined below.\n"},"readonlyEndpointFailoverPolicyEnabled":{"type":"boolean","description":"Whether failover is enabled for the readonly endpoint. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"serverId":{"type":"string","description":"The ID of the primary SQL Server on which to create the failover group. Changing this forces a new resource to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"required":["name","partnerServers","readWriteEndpointFailoverPolicy","readonlyEndpointFailoverPolicyEnabled","serverId"],"inputProperties":{"databases":{"type":"array","items":{"type":"string"},"description":"A set of database names to include in the failover group.\n"},"name":{"type":"string","description":"The name of the Failover Group. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"partnerServers":{"type":"array","items":{"$ref":"#/types/azure:mssql/FailoverGroupPartnerServer:FailoverGroupPartnerServer"},"description":"A \u003cspan pulumi-lang-nodejs=\"`partnerServer`\" pulumi-lang-dotnet=\"`PartnerServer`\" pulumi-lang-go=\"`partnerServer`\" pulumi-lang-python=\"`partner_server`\" pulumi-lang-yaml=\"`partnerServer`\" pulumi-lang-java=\"`partnerServer`\"\u003e`partner_server`\u003c/span\u003e block as defined below.\n"},"readWriteEndpointFailoverPolicy":{"$ref":"#/types/azure:mssql/FailoverGroupReadWriteEndpointFailoverPolicy:FailoverGroupReadWriteEndpointFailoverPolicy","description":"A \u003cspan pulumi-lang-nodejs=\"`readWriteEndpointFailoverPolicy`\" pulumi-lang-dotnet=\"`ReadWriteEndpointFailoverPolicy`\" pulumi-lang-go=\"`readWriteEndpointFailoverPolicy`\" pulumi-lang-python=\"`read_write_endpoint_failover_policy`\" pulumi-lang-yaml=\"`readWriteEndpointFailoverPolicy`\" pulumi-lang-java=\"`readWriteEndpointFailoverPolicy`\"\u003e`read_write_endpoint_failover_policy`\u003c/span\u003e block as defined below.\n"},"readonlyEndpointFailoverPolicyEnabled":{"type":"boolean","description":"Whether failover is enabled for the readonly endpoint. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"serverId":{"type":"string","description":"The ID of the primary SQL Server on which to create the failover group. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"requiredInputs":["partnerServers","readWriteEndpointFailoverPolicy","serverId"],"stateInputs":{"description":"Input properties used for looking up and filtering FailoverGroup resources.\n","properties":{"databases":{"type":"array","items":{"type":"string"},"description":"A set of database names to include in the failover group.\n"},"name":{"type":"string","description":"The name of the Failover Group. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"partnerServers":{"type":"array","items":{"$ref":"#/types/azure:mssql/FailoverGroupPartnerServer:FailoverGroupPartnerServer"},"description":"A \u003cspan pulumi-lang-nodejs=\"`partnerServer`\" pulumi-lang-dotnet=\"`PartnerServer`\" pulumi-lang-go=\"`partnerServer`\" pulumi-lang-python=\"`partner_server`\" pulumi-lang-yaml=\"`partnerServer`\" pulumi-lang-java=\"`partnerServer`\"\u003e`partner_server`\u003c/span\u003e block as defined below.\n"},"readWriteEndpointFailoverPolicy":{"$ref":"#/types/azure:mssql/FailoverGroupReadWriteEndpointFailoverPolicy:FailoverGroupReadWriteEndpointFailoverPolicy","description":"A \u003cspan pulumi-lang-nodejs=\"`readWriteEndpointFailoverPolicy`\" pulumi-lang-dotnet=\"`ReadWriteEndpointFailoverPolicy`\" pulumi-lang-go=\"`readWriteEndpointFailoverPolicy`\" pulumi-lang-python=\"`read_write_endpoint_failover_policy`\" pulumi-lang-yaml=\"`readWriteEndpointFailoverPolicy`\" pulumi-lang-java=\"`readWriteEndpointFailoverPolicy`\"\u003e`read_write_endpoint_failover_policy`\u003c/span\u003e block as defined below.\n"},"readonlyEndpointFailoverPolicyEnabled":{"type":"boolean","description":"Whether failover is enabled for the readonly endpoint. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"serverId":{"type":"string","description":"The ID of the primary SQL Server on which to create the failover group. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"type":"object"},"aliases":[{"type":"azure:sql/failoverGroup:FailoverGroup"}]},"azure:mssql/firewallRule:FirewallRule":{"description":"Allows you to manage an Azure SQL Firewall Rule.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleServer = new azure.mssql.Server(\"example\", {\n    name: \"mysqlserver\",\n    resourceGroupName: example.name,\n    location: example.location,\n    version: \"12.0\",\n    administratorLogin: \"4dm1n157r470r\",\n    administratorLoginPassword: \"4-v3ry-53cr37-p455w0rd\",\n});\nconst exampleFirewallRule = new azure.mssql.FirewallRule(\"example\", {\n    name: \"FirewallRule1\",\n    serverId: exampleServer.id,\n    startIpAddress: \"10.0.17.62\",\n    endIpAddress: \"10.0.17.62\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_server = azure.mssql.Server(\"example\",\n    name=\"mysqlserver\",\n    resource_group_name=example.name,\n    location=example.location,\n    version=\"12.0\",\n    administrator_login=\"4dm1n157r470r\",\n    administrator_login_password=\"4-v3ry-53cr37-p455w0rd\")\nexample_firewall_rule = azure.mssql.FirewallRule(\"example\",\n    name=\"FirewallRule1\",\n    server_id=example_server.id,\n    start_ip_address=\"10.0.17.62\",\n    end_ip_address=\"10.0.17.62\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleServer = new Azure.MSSql.Server(\"example\", new()\n    {\n        Name = \"mysqlserver\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        Version = \"12.0\",\n        AdministratorLogin = \"4dm1n157r470r\",\n        AdministratorLoginPassword = \"4-v3ry-53cr37-p455w0rd\",\n    });\n\n    var exampleFirewallRule = new Azure.MSSql.FirewallRule(\"example\", new()\n    {\n        Name = \"FirewallRule1\",\n        ServerId = exampleServer.Id,\n        StartIpAddress = \"10.0.17.62\",\n        EndIpAddress = \"10.0.17.62\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/mssql\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleServer, err := mssql.NewServer(ctx, \"example\", \u0026mssql.ServerArgs{\n\t\t\tName:                       pulumi.String(\"mysqlserver\"),\n\t\t\tResourceGroupName:          example.Name,\n\t\t\tLocation:                   example.Location,\n\t\t\tVersion:                    pulumi.String(\"12.0\"),\n\t\t\tAdministratorLogin:         pulumi.String(\"4dm1n157r470r\"),\n\t\t\tAdministratorLoginPassword: pulumi.String(\"4-v3ry-53cr37-p455w0rd\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = mssql.NewFirewallRule(ctx, \"example\", \u0026mssql.FirewallRuleArgs{\n\t\t\tName:           pulumi.String(\"FirewallRule1\"),\n\t\t\tServerId:       exampleServer.ID(),\n\t\t\tStartIpAddress: pulumi.String(\"10.0.17.62\"),\n\t\t\tEndIpAddress:   pulumi.String(\"10.0.17.62\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.mssql.Server;\nimport com.pulumi.azure.mssql.ServerArgs;\nimport com.pulumi.azure.mssql.FirewallRule;\nimport com.pulumi.azure.mssql.FirewallRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleServer = new Server(\"exampleServer\", ServerArgs.builder()\n            .name(\"mysqlserver\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .version(\"12.0\")\n            .administratorLogin(\"4dm1n157r470r\")\n            .administratorLoginPassword(\"4-v3ry-53cr37-p455w0rd\")\n            .build());\n\n        var exampleFirewallRule = new FirewallRule(\"exampleFirewallRule\", FirewallRuleArgs.builder()\n            .name(\"FirewallRule1\")\n            .serverId(exampleServer.id())\n            .startIpAddress(\"10.0.17.62\")\n            .endIpAddress(\"10.0.17.62\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleServer:\n    type: azure:mssql:Server\n    name: example\n    properties:\n      name: mysqlserver\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      version: '12.0'\n      administratorLogin: 4dm1n157r470r\n      administratorLoginPassword: 4-v3ry-53cr37-p455w0rd\n  exampleFirewallRule:\n    type: azure:mssql:FirewallRule\n    name: example\n    properties:\n      name: FirewallRule1\n      serverId: ${exampleServer.id}\n      startIpAddress: 10.0.17.62\n      endIpAddress: 10.0.17.62\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Sql` - 2023-08-01-preview\n\n## Import\n\nSQL Firewall Rules can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:mssql/firewallRule:FirewallRule rule1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myresourcegroup/providers/Microsoft.Sql/servers/myserver/firewallRules/rule1\n```\n\n","properties":{"endIpAddress":{"type":"string","description":"The ending IP address to allow through the firewall for this rule.\n\n\u003e **Note:** The Azure feature `Allow access to Azure services` can be enabled by setting \u003cspan pulumi-lang-nodejs=\"`startIpAddress`\" pulumi-lang-dotnet=\"`StartIpAddress`\" pulumi-lang-go=\"`startIpAddress`\" pulumi-lang-python=\"`start_ip_address`\" pulumi-lang-yaml=\"`startIpAddress`\" pulumi-lang-java=\"`startIpAddress`\"\u003e`start_ip_address`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`endIpAddress`\" pulumi-lang-dotnet=\"`EndIpAddress`\" pulumi-lang-go=\"`endIpAddress`\" pulumi-lang-python=\"`end_ip_address`\" pulumi-lang-yaml=\"`endIpAddress`\" pulumi-lang-java=\"`endIpAddress`\"\u003e`end_ip_address`\u003c/span\u003e to `0.0.0.0` which ([is documented in the Azure API Docs](https://docs.microsoft.com/rest/api/sql/firewallrules/createorupdate)).\n"},"name":{"type":"string","description":"The name of the firewall rule. Changing this forces a new resource to be created.\n"},"serverId":{"type":"string","description":"The resource ID of the SQL Server on which to create the Firewall Rule. Changing this forces a new resource to be created.\n"},"startIpAddress":{"type":"string","description":"The starting IP address to allow through the firewall for this rule.\n"}},"required":["endIpAddress","name","serverId","startIpAddress"],"inputProperties":{"endIpAddress":{"type":"string","description":"The ending IP address to allow through the firewall for this rule.\n\n\u003e **Note:** The Azure feature `Allow access to Azure services` can be enabled by setting \u003cspan pulumi-lang-nodejs=\"`startIpAddress`\" pulumi-lang-dotnet=\"`StartIpAddress`\" pulumi-lang-go=\"`startIpAddress`\" pulumi-lang-python=\"`start_ip_address`\" pulumi-lang-yaml=\"`startIpAddress`\" pulumi-lang-java=\"`startIpAddress`\"\u003e`start_ip_address`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`endIpAddress`\" pulumi-lang-dotnet=\"`EndIpAddress`\" pulumi-lang-go=\"`endIpAddress`\" pulumi-lang-python=\"`end_ip_address`\" pulumi-lang-yaml=\"`endIpAddress`\" pulumi-lang-java=\"`endIpAddress`\"\u003e`end_ip_address`\u003c/span\u003e to `0.0.0.0` which ([is documented in the Azure API Docs](https://docs.microsoft.com/rest/api/sql/firewallrules/createorupdate)).\n"},"name":{"type":"string","description":"The name of the firewall rule. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"serverId":{"type":"string","description":"The resource ID of the SQL Server on which to create the Firewall Rule. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"startIpAddress":{"type":"string","description":"The starting IP address to allow through the firewall for this rule.\n"}},"requiredInputs":["endIpAddress","serverId","startIpAddress"],"stateInputs":{"description":"Input properties used for looking up and filtering FirewallRule resources.\n","properties":{"endIpAddress":{"type":"string","description":"The ending IP address to allow through the firewall for this rule.\n\n\u003e **Note:** The Azure feature `Allow access to Azure services` can be enabled by setting \u003cspan pulumi-lang-nodejs=\"`startIpAddress`\" pulumi-lang-dotnet=\"`StartIpAddress`\" pulumi-lang-go=\"`startIpAddress`\" pulumi-lang-python=\"`start_ip_address`\" pulumi-lang-yaml=\"`startIpAddress`\" pulumi-lang-java=\"`startIpAddress`\"\u003e`start_ip_address`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`endIpAddress`\" pulumi-lang-dotnet=\"`EndIpAddress`\" pulumi-lang-go=\"`endIpAddress`\" pulumi-lang-python=\"`end_ip_address`\" pulumi-lang-yaml=\"`endIpAddress`\" pulumi-lang-java=\"`endIpAddress`\"\u003e`end_ip_address`\u003c/span\u003e to `0.0.0.0` which ([is documented in the Azure API Docs](https://docs.microsoft.com/rest/api/sql/firewallrules/createorupdate)).\n"},"name":{"type":"string","description":"The name of the firewall rule. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"serverId":{"type":"string","description":"The resource ID of the SQL Server on which to create the Firewall Rule. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"startIpAddress":{"type":"string","description":"The starting IP address to allow through the firewall for this rule.\n"}},"type":"object"},"aliases":[{"type":"azure:sql/firewallRule:FirewallRule"}]},"azure:mssql/job:Job":{"description":"Manages an Elastic Job.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resource-group\",\n    location: \"East US\",\n});\nconst exampleServer = new azure.mssql.Server(\"example\", {\n    name: \"example-server\",\n    resourceGroupName: example.name,\n    location: example.location,\n    version: \"12.0\",\n    administratorLogin: \"4dm1n157r470r\",\n    administratorLoginPassword: \"4-v3ry-53cr37-p455w0rd\",\n});\nconst exampleDatabase = new azure.mssql.Database(\"example\", {\n    name: \"example-db\",\n    serverId: exampleServer.id,\n    collation: \"SQL_Latin1_General_CP1_CI_AS\",\n    skuName: \"S1\",\n});\nconst exampleJobAgent = new azure.mssql.JobAgent(\"example\", {\n    name: \"example-job-agent\",\n    location: example.location,\n    databaseId: exampleDatabase.id,\n});\nconst exampleJobCredential = new azure.mssql.JobCredential(\"example\", {\n    name: \"example-job-credential\",\n    jobAgentId: exampleJobAgent.id,\n    username: \"my-username\",\n    password: \"MyP4ssw0rd!!!\",\n});\nconst exampleJob = new azure.mssql.Job(\"example\", {\n    name: \"example-job\",\n    jobAgentId: exampleJobAgent.id,\n    description: \"example description\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resource-group\",\n    location=\"East US\")\nexample_server = azure.mssql.Server(\"example\",\n    name=\"example-server\",\n    resource_group_name=example.name,\n    location=example.location,\n    version=\"12.0\",\n    administrator_login=\"4dm1n157r470r\",\n    administrator_login_password=\"4-v3ry-53cr37-p455w0rd\")\nexample_database = azure.mssql.Database(\"example\",\n    name=\"example-db\",\n    server_id=example_server.id,\n    collation=\"SQL_Latin1_General_CP1_CI_AS\",\n    sku_name=\"S1\")\nexample_job_agent = azure.mssql.JobAgent(\"example\",\n    name=\"example-job-agent\",\n    location=example.location,\n    database_id=example_database.id)\nexample_job_credential = azure.mssql.JobCredential(\"example\",\n    name=\"example-job-credential\",\n    job_agent_id=example_job_agent.id,\n    username=\"my-username\",\n    password=\"MyP4ssw0rd!!!\")\nexample_job = azure.mssql.Job(\"example\",\n    name=\"example-job\",\n    job_agent_id=example_job_agent.id,\n    description=\"example description\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resource-group\",\n        Location = \"East US\",\n    });\n\n    var exampleServer = new Azure.MSSql.Server(\"example\", new()\n    {\n        Name = \"example-server\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        Version = \"12.0\",\n        AdministratorLogin = \"4dm1n157r470r\",\n        AdministratorLoginPassword = \"4-v3ry-53cr37-p455w0rd\",\n    });\n\n    var exampleDatabase = new Azure.MSSql.Database(\"example\", new()\n    {\n        Name = \"example-db\",\n        ServerId = exampleServer.Id,\n        Collation = \"SQL_Latin1_General_CP1_CI_AS\",\n        SkuName = \"S1\",\n    });\n\n    var exampleJobAgent = new Azure.MSSql.JobAgent(\"example\", new()\n    {\n        Name = \"example-job-agent\",\n        Location = example.Location,\n        DatabaseId = exampleDatabase.Id,\n    });\n\n    var exampleJobCredential = new Azure.MSSql.JobCredential(\"example\", new()\n    {\n        Name = \"example-job-credential\",\n        JobAgentId = exampleJobAgent.Id,\n        Username = \"my-username\",\n        Password = \"MyP4ssw0rd!!!\",\n    });\n\n    var exampleJob = new Azure.MSSql.Job(\"example\", new()\n    {\n        Name = \"example-job\",\n        JobAgentId = exampleJobAgent.Id,\n        Description = \"example description\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/mssql\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resource-group\"),\n\t\t\tLocation: pulumi.String(\"East US\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleServer, err := mssql.NewServer(ctx, \"example\", \u0026mssql.ServerArgs{\n\t\t\tName:                       pulumi.String(\"example-server\"),\n\t\t\tResourceGroupName:          example.Name,\n\t\t\tLocation:                   example.Location,\n\t\t\tVersion:                    pulumi.String(\"12.0\"),\n\t\t\tAdministratorLogin:         pulumi.String(\"4dm1n157r470r\"),\n\t\t\tAdministratorLoginPassword: pulumi.String(\"4-v3ry-53cr37-p455w0rd\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleDatabase, err := mssql.NewDatabase(ctx, \"example\", \u0026mssql.DatabaseArgs{\n\t\t\tName:      pulumi.String(\"example-db\"),\n\t\t\tServerId:  exampleServer.ID(),\n\t\t\tCollation: pulumi.String(\"SQL_Latin1_General_CP1_CI_AS\"),\n\t\t\tSkuName:   pulumi.String(\"S1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleJobAgent, err := mssql.NewJobAgent(ctx, \"example\", \u0026mssql.JobAgentArgs{\n\t\t\tName:       pulumi.String(\"example-job-agent\"),\n\t\t\tLocation:   example.Location,\n\t\t\tDatabaseId: exampleDatabase.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = mssql.NewJobCredential(ctx, \"example\", \u0026mssql.JobCredentialArgs{\n\t\t\tName:       pulumi.String(\"example-job-credential\"),\n\t\t\tJobAgentId: exampleJobAgent.ID(),\n\t\t\tUsername:   pulumi.String(\"my-username\"),\n\t\t\tPassword:   pulumi.String(\"MyP4ssw0rd!!!\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = mssql.NewJob(ctx, \"example\", \u0026mssql.JobArgs{\n\t\t\tName:        pulumi.String(\"example-job\"),\n\t\t\tJobAgentId:  exampleJobAgent.ID(),\n\t\t\tDescription: pulumi.String(\"example description\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.mssql.Server;\nimport com.pulumi.azure.mssql.ServerArgs;\nimport com.pulumi.azure.mssql.Database;\nimport com.pulumi.azure.mssql.DatabaseArgs;\nimport com.pulumi.azure.mssql.JobAgent;\nimport com.pulumi.azure.mssql.JobAgentArgs;\nimport com.pulumi.azure.mssql.JobCredential;\nimport com.pulumi.azure.mssql.JobCredentialArgs;\nimport com.pulumi.azure.mssql.Job;\nimport com.pulumi.azure.mssql.JobArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resource-group\")\n            .location(\"East US\")\n            .build());\n\n        var exampleServer = new Server(\"exampleServer\", ServerArgs.builder()\n            .name(\"example-server\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .version(\"12.0\")\n            .administratorLogin(\"4dm1n157r470r\")\n            .administratorLoginPassword(\"4-v3ry-53cr37-p455w0rd\")\n            .build());\n\n        var exampleDatabase = new Database(\"exampleDatabase\", DatabaseArgs.builder()\n            .name(\"example-db\")\n            .serverId(exampleServer.id())\n            .collation(\"SQL_Latin1_General_CP1_CI_AS\")\n            .skuName(\"S1\")\n            .build());\n\n        var exampleJobAgent = new JobAgent(\"exampleJobAgent\", JobAgentArgs.builder()\n            .name(\"example-job-agent\")\n            .location(example.location())\n            .databaseId(exampleDatabase.id())\n            .build());\n\n        var exampleJobCredential = new JobCredential(\"exampleJobCredential\", JobCredentialArgs.builder()\n            .name(\"example-job-credential\")\n            .jobAgentId(exampleJobAgent.id())\n            .username(\"my-username\")\n            .password(\"MyP4ssw0rd!!!\")\n            .build());\n\n        var exampleJob = new Job(\"exampleJob\", JobArgs.builder()\n            .name(\"example-job\")\n            .jobAgentId(exampleJobAgent.id())\n            .description(\"example description\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resource-group\n      location: East US\n  exampleServer:\n    type: azure:mssql:Server\n    name: example\n    properties:\n      name: example-server\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      version: '12.0'\n      administratorLogin: 4dm1n157r470r\n      administratorLoginPassword: 4-v3ry-53cr37-p455w0rd\n  exampleDatabase:\n    type: azure:mssql:Database\n    name: example\n    properties:\n      name: example-db\n      serverId: ${exampleServer.id}\n      collation: SQL_Latin1_General_CP1_CI_AS\n      skuName: S1\n  exampleJobAgent:\n    type: azure:mssql:JobAgent\n    name: example\n    properties:\n      name: example-job-agent\n      location: ${example.location}\n      databaseId: ${exampleDatabase.id}\n  exampleJobCredential:\n    type: azure:mssql:JobCredential\n    name: example\n    properties:\n      name: example-job-credential\n      jobAgentId: ${exampleJobAgent.id}\n      username: my-username\n      password: MyP4ssw0rd!!!\n  exampleJob:\n    type: azure:mssql:Job\n    name: example\n    properties:\n      name: example-job\n      jobAgentId: ${exampleJobAgent.id}\n      description: example description\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Sql` - 2023-08-01-preview\n\n## Import\n\nElastic Jobs can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:mssql/job:Job example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Sql/servers/myserver1/jobAgents/myjobagent1/jobs/myjob1\n```\n\n","properties":{"description":{"type":"string","description":"The description of the Elastic Job.\n"},"jobAgentId":{"type":"string","description":"The ID of the Elastic Job Agent. Changing this forces a new Elastic Job to be created.\n"},"name":{"type":"string","description":"The name which should be used for this Elastic Job. Changing this forces a new Elastic Job to be created.\n"}},"required":["jobAgentId","name"],"inputProperties":{"description":{"type":"string","description":"The description of the Elastic Job.\n"},"jobAgentId":{"type":"string","description":"The ID of the Elastic Job Agent. Changing this forces a new Elastic Job to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Elastic Job. Changing this forces a new Elastic Job to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["jobAgentId"],"stateInputs":{"description":"Input properties used for looking up and filtering Job resources.\n","properties":{"description":{"type":"string","description":"The description of the Elastic Job.\n"},"jobAgentId":{"type":"string","description":"The ID of the Elastic Job Agent. Changing this forces a new Elastic Job to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Elastic Job. Changing this forces a new Elastic Job to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:mssql/jobAgent:JobAgent":{"description":"Manages an Elastic Job Agent.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example\",\n    location: \"northeurope\",\n});\nconst exampleServer = new azure.mssql.Server(\"example\", {\n    name: \"example-server\",\n    resourceGroupName: example.name,\n    location: example.location,\n    version: \"12.0\",\n    administratorLogin: \"4dm1n157r470r\",\n    administratorLoginPassword: \"4-v3ry-53cr37-p455w0rd\",\n});\nconst exampleDatabase = new azure.mssql.Database(\"example\", {\n    name: \"example-db\",\n    serverId: exampleServer.id,\n    collation: \"SQL_Latin1_General_CP1_CI_AS\",\n    skuName: \"S1\",\n});\nconst exampleJobAgent = new azure.mssql.JobAgent(\"example\", {\n    name: \"example-job-agent\",\n    location: example.location,\n    databaseId: exampleDatabase.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example\",\n    location=\"northeurope\")\nexample_server = azure.mssql.Server(\"example\",\n    name=\"example-server\",\n    resource_group_name=example.name,\n    location=example.location,\n    version=\"12.0\",\n    administrator_login=\"4dm1n157r470r\",\n    administrator_login_password=\"4-v3ry-53cr37-p455w0rd\")\nexample_database = azure.mssql.Database(\"example\",\n    name=\"example-db\",\n    server_id=example_server.id,\n    collation=\"SQL_Latin1_General_CP1_CI_AS\",\n    sku_name=\"S1\")\nexample_job_agent = azure.mssql.JobAgent(\"example\",\n    name=\"example-job-agent\",\n    location=example.location,\n    database_id=example_database.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example\",\n        Location = \"northeurope\",\n    });\n\n    var exampleServer = new Azure.MSSql.Server(\"example\", new()\n    {\n        Name = \"example-server\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        Version = \"12.0\",\n        AdministratorLogin = \"4dm1n157r470r\",\n        AdministratorLoginPassword = \"4-v3ry-53cr37-p455w0rd\",\n    });\n\n    var exampleDatabase = new Azure.MSSql.Database(\"example\", new()\n    {\n        Name = \"example-db\",\n        ServerId = exampleServer.Id,\n        Collation = \"SQL_Latin1_General_CP1_CI_AS\",\n        SkuName = \"S1\",\n    });\n\n    var exampleJobAgent = new Azure.MSSql.JobAgent(\"example\", new()\n    {\n        Name = \"example-job-agent\",\n        Location = example.Location,\n        DatabaseId = exampleDatabase.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/mssql\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example\"),\n\t\t\tLocation: pulumi.String(\"northeurope\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleServer, err := mssql.NewServer(ctx, \"example\", \u0026mssql.ServerArgs{\n\t\t\tName:                       pulumi.String(\"example-server\"),\n\t\t\tResourceGroupName:          example.Name,\n\t\t\tLocation:                   example.Location,\n\t\t\tVersion:                    pulumi.String(\"12.0\"),\n\t\t\tAdministratorLogin:         pulumi.String(\"4dm1n157r470r\"),\n\t\t\tAdministratorLoginPassword: pulumi.String(\"4-v3ry-53cr37-p455w0rd\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleDatabase, err := mssql.NewDatabase(ctx, \"example\", \u0026mssql.DatabaseArgs{\n\t\t\tName:      pulumi.String(\"example-db\"),\n\t\t\tServerId:  exampleServer.ID(),\n\t\t\tCollation: pulumi.String(\"SQL_Latin1_General_CP1_CI_AS\"),\n\t\t\tSkuName:   pulumi.String(\"S1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = mssql.NewJobAgent(ctx, \"example\", \u0026mssql.JobAgentArgs{\n\t\t\tName:       pulumi.String(\"example-job-agent\"),\n\t\t\tLocation:   example.Location,\n\t\t\tDatabaseId: exampleDatabase.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.mssql.Server;\nimport com.pulumi.azure.mssql.ServerArgs;\nimport com.pulumi.azure.mssql.Database;\nimport com.pulumi.azure.mssql.DatabaseArgs;\nimport com.pulumi.azure.mssql.JobAgent;\nimport com.pulumi.azure.mssql.JobAgentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example\")\n            .location(\"northeurope\")\n            .build());\n\n        var exampleServer = new Server(\"exampleServer\", ServerArgs.builder()\n            .name(\"example-server\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .version(\"12.0\")\n            .administratorLogin(\"4dm1n157r470r\")\n            .administratorLoginPassword(\"4-v3ry-53cr37-p455w0rd\")\n            .build());\n\n        var exampleDatabase = new Database(\"exampleDatabase\", DatabaseArgs.builder()\n            .name(\"example-db\")\n            .serverId(exampleServer.id())\n            .collation(\"SQL_Latin1_General_CP1_CI_AS\")\n            .skuName(\"S1\")\n            .build());\n\n        var exampleJobAgent = new JobAgent(\"exampleJobAgent\", JobAgentArgs.builder()\n            .name(\"example-job-agent\")\n            .location(example.location())\n            .databaseId(exampleDatabase.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example\n      location: northeurope\n  exampleServer:\n    type: azure:mssql:Server\n    name: example\n    properties:\n      name: example-server\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      version: '12.0'\n      administratorLogin: 4dm1n157r470r\n      administratorLoginPassword: 4-v3ry-53cr37-p455w0rd\n  exampleDatabase:\n    type: azure:mssql:Database\n    name: example\n    properties:\n      name: example-db\n      serverId: ${exampleServer.id}\n      collation: SQL_Latin1_General_CP1_CI_AS\n      skuName: S1\n  exampleJobAgent:\n    type: azure:mssql:JobAgent\n    name: example\n    properties:\n      name: example-job-agent\n      location: ${example.location}\n      databaseId: ${exampleDatabase.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Sql` - 2023-08-01-preview\n\n## Import\n\nElastic Job Agents can be imported using the \u003cspan pulumi-lang-nodejs=\"`id`\" pulumi-lang-dotnet=\"`Id`\" pulumi-lang-go=\"`id`\" pulumi-lang-python=\"`id`\" pulumi-lang-yaml=\"`id`\" pulumi-lang-java=\"`id`\"\u003e`id`\u003c/span\u003e, e.g.\n\n```sh\n$ pulumi import azure:mssql/jobAgent:JobAgent example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Sql/servers/myserver1/jobAgents/myjobagent1\n```\n\n","properties":{"databaseId":{"type":"string","description":"The ID of the database to store metadata for this Elastic Job Agent. Changing this forces a new Elastic Job Agent to be created.\n"},"identity":{"$ref":"#/types/azure:mssql/JobAgentIdentity:JobAgentIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"location":{"type":"string","description":"The Azure Region where this Elastic Job Agent should exist. Changing this forces a new Elastic Job Agent to be created.\n"},"name":{"type":"string","description":"The name which should be used for this Elastic Job Agent. Changing this forces a new Elastic Job Agent to be created.\n"},"sku":{"type":"string","description":"The name of the SKU to use for this Elastic Job Agent. Possible values are `JA100`, `JA200`, `JA400`, and `JA800`. Defaults to `JA100`.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to this Elastic Job Agent.\n"}},"required":["databaseId","location","name"],"inputProperties":{"databaseId":{"type":"string","description":"The ID of the database to store metadata for this Elastic Job Agent. Changing this forces a new Elastic Job Agent to be created.\n","willReplaceOnChanges":true},"identity":{"$ref":"#/types/azure:mssql/JobAgentIdentity:JobAgentIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"location":{"type":"string","description":"The Azure Region where this Elastic Job Agent should exist. Changing this forces a new Elastic Job Agent to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Elastic Job Agent. Changing this forces a new Elastic Job Agent to be created.\n","willReplaceOnChanges":true},"sku":{"type":"string","description":"The name of the SKU to use for this Elastic Job Agent. Possible values are `JA100`, `JA200`, `JA400`, and `JA800`. Defaults to `JA100`.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to this Elastic Job Agent.\n"}},"requiredInputs":["databaseId"],"stateInputs":{"description":"Input properties used for looking up and filtering JobAgent resources.\n","properties":{"databaseId":{"type":"string","description":"The ID of the database to store metadata for this Elastic Job Agent. Changing this forces a new Elastic Job Agent to be created.\n","willReplaceOnChanges":true},"identity":{"$ref":"#/types/azure:mssql/JobAgentIdentity:JobAgentIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"location":{"type":"string","description":"The Azure Region where this Elastic Job Agent should exist. Changing this forces a new Elastic Job Agent to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Elastic Job Agent. Changing this forces a new Elastic Job Agent to be created.\n","willReplaceOnChanges":true},"sku":{"type":"string","description":"The name of the SKU to use for this Elastic Job Agent. Possible values are `JA100`, `JA200`, `JA400`, and `JA800`. Defaults to `JA100`.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to this Elastic Job Agent.\n"}},"type":"object"}},"azure:mssql/jobCredential:JobCredential":{"description":"Manages an Elastic Job Credential.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example\",\n    location: \"northeurope\",\n});\nconst exampleServer = new azure.mssql.Server(\"example\", {\n    name: \"example-server\",\n    resourceGroupName: example.name,\n    location: example.location,\n    version: \"12.0\",\n    administratorLogin: \"4dm1n157r470r\",\n    administratorLoginPassword: \"4-v3ry-53cr37-p455w0rd\",\n});\nconst exampleDatabase = new azure.mssql.Database(\"example\", {\n    name: \"example-db\",\n    serverId: exampleServer.id,\n    collation: \"SQL_Latin1_General_CP1_CI_AS\",\n    skuName: \"S1\",\n});\nconst exampleJobAgent = new azure.mssql.JobAgent(\"example\", {\n    name: \"example-job-agent\",\n    location: example.location,\n    databaseId: exampleDatabase.id,\n});\nconst exampleJobCredential = new azure.mssql.JobCredential(\"example\", {\n    name: \"example-credential\",\n    jobAgentId: exampleJobAgent.id,\n    username: \"my-username\",\n    password: \"MyP4ssw0rd!!!\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example\",\n    location=\"northeurope\")\nexample_server = azure.mssql.Server(\"example\",\n    name=\"example-server\",\n    resource_group_name=example.name,\n    location=example.location,\n    version=\"12.0\",\n    administrator_login=\"4dm1n157r470r\",\n    administrator_login_password=\"4-v3ry-53cr37-p455w0rd\")\nexample_database = azure.mssql.Database(\"example\",\n    name=\"example-db\",\n    server_id=example_server.id,\n    collation=\"SQL_Latin1_General_CP1_CI_AS\",\n    sku_name=\"S1\")\nexample_job_agent = azure.mssql.JobAgent(\"example\",\n    name=\"example-job-agent\",\n    location=example.location,\n    database_id=example_database.id)\nexample_job_credential = azure.mssql.JobCredential(\"example\",\n    name=\"example-credential\",\n    job_agent_id=example_job_agent.id,\n    username=\"my-username\",\n    password=\"MyP4ssw0rd!!!\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example\",\n        Location = \"northeurope\",\n    });\n\n    var exampleServer = new Azure.MSSql.Server(\"example\", new()\n    {\n        Name = \"example-server\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        Version = \"12.0\",\n        AdministratorLogin = \"4dm1n157r470r\",\n        AdministratorLoginPassword = \"4-v3ry-53cr37-p455w0rd\",\n    });\n\n    var exampleDatabase = new Azure.MSSql.Database(\"example\", new()\n    {\n        Name = \"example-db\",\n        ServerId = exampleServer.Id,\n        Collation = \"SQL_Latin1_General_CP1_CI_AS\",\n        SkuName = \"S1\",\n    });\n\n    var exampleJobAgent = new Azure.MSSql.JobAgent(\"example\", new()\n    {\n        Name = \"example-job-agent\",\n        Location = example.Location,\n        DatabaseId = exampleDatabase.Id,\n    });\n\n    var exampleJobCredential = new Azure.MSSql.JobCredential(\"example\", new()\n    {\n        Name = \"example-credential\",\n        JobAgentId = exampleJobAgent.Id,\n        Username = \"my-username\",\n        Password = \"MyP4ssw0rd!!!\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/mssql\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example\"),\n\t\t\tLocation: pulumi.String(\"northeurope\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleServer, err := mssql.NewServer(ctx, \"example\", \u0026mssql.ServerArgs{\n\t\t\tName:                       pulumi.String(\"example-server\"),\n\t\t\tResourceGroupName:          example.Name,\n\t\t\tLocation:                   example.Location,\n\t\t\tVersion:                    pulumi.String(\"12.0\"),\n\t\t\tAdministratorLogin:         pulumi.String(\"4dm1n157r470r\"),\n\t\t\tAdministratorLoginPassword: pulumi.String(\"4-v3ry-53cr37-p455w0rd\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleDatabase, err := mssql.NewDatabase(ctx, \"example\", \u0026mssql.DatabaseArgs{\n\t\t\tName:      pulumi.String(\"example-db\"),\n\t\t\tServerId:  exampleServer.ID(),\n\t\t\tCollation: pulumi.String(\"SQL_Latin1_General_CP1_CI_AS\"),\n\t\t\tSkuName:   pulumi.String(\"S1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleJobAgent, err := mssql.NewJobAgent(ctx, \"example\", \u0026mssql.JobAgentArgs{\n\t\t\tName:       pulumi.String(\"example-job-agent\"),\n\t\t\tLocation:   example.Location,\n\t\t\tDatabaseId: exampleDatabase.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = mssql.NewJobCredential(ctx, \"example\", \u0026mssql.JobCredentialArgs{\n\t\t\tName:       pulumi.String(\"example-credential\"),\n\t\t\tJobAgentId: exampleJobAgent.ID(),\n\t\t\tUsername:   pulumi.String(\"my-username\"),\n\t\t\tPassword:   pulumi.String(\"MyP4ssw0rd!!!\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.mssql.Server;\nimport com.pulumi.azure.mssql.ServerArgs;\nimport com.pulumi.azure.mssql.Database;\nimport com.pulumi.azure.mssql.DatabaseArgs;\nimport com.pulumi.azure.mssql.JobAgent;\nimport com.pulumi.azure.mssql.JobAgentArgs;\nimport com.pulumi.azure.mssql.JobCredential;\nimport com.pulumi.azure.mssql.JobCredentialArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example\")\n            .location(\"northeurope\")\n            .build());\n\n        var exampleServer = new Server(\"exampleServer\", ServerArgs.builder()\n            .name(\"example-server\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .version(\"12.0\")\n            .administratorLogin(\"4dm1n157r470r\")\n            .administratorLoginPassword(\"4-v3ry-53cr37-p455w0rd\")\n            .build());\n\n        var exampleDatabase = new Database(\"exampleDatabase\", DatabaseArgs.builder()\n            .name(\"example-db\")\n            .serverId(exampleServer.id())\n            .collation(\"SQL_Latin1_General_CP1_CI_AS\")\n            .skuName(\"S1\")\n            .build());\n\n        var exampleJobAgent = new JobAgent(\"exampleJobAgent\", JobAgentArgs.builder()\n            .name(\"example-job-agent\")\n            .location(example.location())\n            .databaseId(exampleDatabase.id())\n            .build());\n\n        var exampleJobCredential = new JobCredential(\"exampleJobCredential\", JobCredentialArgs.builder()\n            .name(\"example-credential\")\n            .jobAgentId(exampleJobAgent.id())\n            .username(\"my-username\")\n            .password(\"MyP4ssw0rd!!!\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example\n      location: northeurope\n  exampleServer:\n    type: azure:mssql:Server\n    name: example\n    properties:\n      name: example-server\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      version: '12.0'\n      administratorLogin: 4dm1n157r470r\n      administratorLoginPassword: 4-v3ry-53cr37-p455w0rd\n  exampleDatabase:\n    type: azure:mssql:Database\n    name: example\n    properties:\n      name: example-db\n      serverId: ${exampleServer.id}\n      collation: SQL_Latin1_General_CP1_CI_AS\n      skuName: S1\n  exampleJobAgent:\n    type: azure:mssql:JobAgent\n    name: example\n    properties:\n      name: example-job-agent\n      location: ${example.location}\n      databaseId: ${exampleDatabase.id}\n  exampleJobCredential:\n    type: azure:mssql:JobCredential\n    name: example\n    properties:\n      name: example-credential\n      jobAgentId: ${exampleJobAgent.id}\n      username: my-username\n      password: MyP4ssw0rd!!!\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Sql` - 2023-08-01-preview\n\n## Import\n\nElastic Job Credentials can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:mssql/jobCredential:JobCredential example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Sql/servers/myserver1/jobAgents/myjobagent1/credentials/credential1\n```\n\n","properties":{"jobAgentId":{"type":"string","description":"The ID of the Elastic Job Agent. Changing this forces a new Elastic Job Credential to be created.\n"},"name":{"type":"string","description":"The name which should be used for this Elastic Job Credential. Changing this forces a new Elastic Job Credential to be created.\n"},"password":{"type":"string","description":"The password to use for this Elastic Job credential.\n","secret":true},"passwordWoVersion":{"type":"integer","description":"An integer value used to trigger an update for \u003cspan pulumi-lang-nodejs=\"`passwordWo`\" pulumi-lang-dotnet=\"`PasswordWo`\" pulumi-lang-go=\"`passwordWo`\" pulumi-lang-python=\"`password_wo`\" pulumi-lang-yaml=\"`passwordWo`\" pulumi-lang-java=\"`passwordWo`\"\u003e`password_wo`\u003c/span\u003e. This property should be incremented when updating \u003cspan pulumi-lang-nodejs=\"`passwordWo`\" pulumi-lang-dotnet=\"`PasswordWo`\" pulumi-lang-go=\"`passwordWo`\" pulumi-lang-python=\"`password_wo`\" pulumi-lang-yaml=\"`passwordWo`\" pulumi-lang-java=\"`passwordWo`\"\u003e`password_wo`\u003c/span\u003e.\n"},"username":{"type":"string","description":"The username to use for this Elastic Job credential.\n"}},"required":["jobAgentId","name","username"],"inputProperties":{"jobAgentId":{"type":"string","description":"The ID of the Elastic Job Agent. Changing this forces a new Elastic Job Credential to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Elastic Job Credential. Changing this forces a new Elastic Job Credential to be created.\n","willReplaceOnChanges":true},"password":{"type":"string","description":"The password to use for this Elastic Job credential.\n","secret":true},"passwordWoVersion":{"type":"integer","description":"An integer value used to trigger an update for \u003cspan pulumi-lang-nodejs=\"`passwordWo`\" pulumi-lang-dotnet=\"`PasswordWo`\" pulumi-lang-go=\"`passwordWo`\" pulumi-lang-python=\"`password_wo`\" pulumi-lang-yaml=\"`passwordWo`\" pulumi-lang-java=\"`passwordWo`\"\u003e`password_wo`\u003c/span\u003e. This property should be incremented when updating \u003cspan pulumi-lang-nodejs=\"`passwordWo`\" pulumi-lang-dotnet=\"`PasswordWo`\" pulumi-lang-go=\"`passwordWo`\" pulumi-lang-python=\"`password_wo`\" pulumi-lang-yaml=\"`passwordWo`\" pulumi-lang-java=\"`passwordWo`\"\u003e`password_wo`\u003c/span\u003e.\n"},"username":{"type":"string","description":"The username to use for this Elastic Job credential.\n"}},"requiredInputs":["jobAgentId","username"],"stateInputs":{"description":"Input properties used for looking up and filtering JobCredential resources.\n","properties":{"jobAgentId":{"type":"string","description":"The ID of the Elastic Job Agent. Changing this forces a new Elastic Job Credential to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Elastic Job Credential. Changing this forces a new Elastic Job Credential to be created.\n","willReplaceOnChanges":true},"password":{"type":"string","description":"The password to use for this Elastic Job credential.\n","secret":true},"passwordWoVersion":{"type":"integer","description":"An integer value used to trigger an update for \u003cspan pulumi-lang-nodejs=\"`passwordWo`\" pulumi-lang-dotnet=\"`PasswordWo`\" pulumi-lang-go=\"`passwordWo`\" pulumi-lang-python=\"`password_wo`\" pulumi-lang-yaml=\"`passwordWo`\" pulumi-lang-java=\"`passwordWo`\"\u003e`password_wo`\u003c/span\u003e. This property should be incremented when updating \u003cspan pulumi-lang-nodejs=\"`passwordWo`\" pulumi-lang-dotnet=\"`PasswordWo`\" pulumi-lang-go=\"`passwordWo`\" pulumi-lang-python=\"`password_wo`\" pulumi-lang-yaml=\"`passwordWo`\" pulumi-lang-java=\"`passwordWo`\"\u003e`password_wo`\u003c/span\u003e.\n"},"username":{"type":"string","description":"The username to use for this Elastic Job credential.\n"}},"type":"object"}},"azure:mssql/jobSchedule:JobSchedule":{"description":"Manages an Elastic Job Schedule.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resource-group\",\n    location: \"East US\",\n});\nconst exampleServer = new azure.mssql.Server(\"example\", {\n    name: \"example-server\",\n    resourceGroupName: example.name,\n    location: example.location,\n    version: \"12.0\",\n    administratorLogin: \"4dm1n157r470r\",\n    administratorLoginPassword: \"4-v3ry-53cr37-p455w0rd\",\n});\nconst exampleDatabase = new azure.mssql.Database(\"example\", {\n    name: \"example-db\",\n    serverId: exampleServer.id,\n    collation: \"SQL_Latin1_General_CP1_CI_AS\",\n    skuName: \"S1\",\n});\nconst exampleJobAgent = new azure.mssql.JobAgent(\"example\", {\n    name: \"example-job-agent\",\n    location: example.location,\n    databaseId: exampleDatabase.id,\n});\nconst exampleJobCredential = new azure.mssql.JobCredential(\"example\", {\n    name: \"example-job-credential\",\n    jobAgentId: exampleJobAgent.id,\n    username: \"my-username\",\n    password: \"MyP4ssw0rd!!!\",\n});\nconst exampleJob = new azure.mssql.Job(\"example\", {\n    name: \"example-job\",\n    jobAgentId: exampleJobAgent.id,\n});\nconst exampleJobSchedule = new azure.mssql.JobSchedule(\"example\", {\n    jobId: exampleJob.id,\n    type: \"Recurring\",\n    enabled: true,\n    endTime: \"2025-12-01T00:00:00Z\",\n    interval: \"PT5M\",\n    startTime: \"2025-01-01T00:00:00Z\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resource-group\",\n    location=\"East US\")\nexample_server = azure.mssql.Server(\"example\",\n    name=\"example-server\",\n    resource_group_name=example.name,\n    location=example.location,\n    version=\"12.0\",\n    administrator_login=\"4dm1n157r470r\",\n    administrator_login_password=\"4-v3ry-53cr37-p455w0rd\")\nexample_database = azure.mssql.Database(\"example\",\n    name=\"example-db\",\n    server_id=example_server.id,\n    collation=\"SQL_Latin1_General_CP1_CI_AS\",\n    sku_name=\"S1\")\nexample_job_agent = azure.mssql.JobAgent(\"example\",\n    name=\"example-job-agent\",\n    location=example.location,\n    database_id=example_database.id)\nexample_job_credential = azure.mssql.JobCredential(\"example\",\n    name=\"example-job-credential\",\n    job_agent_id=example_job_agent.id,\n    username=\"my-username\",\n    password=\"MyP4ssw0rd!!!\")\nexample_job = azure.mssql.Job(\"example\",\n    name=\"example-job\",\n    job_agent_id=example_job_agent.id)\nexample_job_schedule = azure.mssql.JobSchedule(\"example\",\n    job_id=example_job.id,\n    type=\"Recurring\",\n    enabled=True,\n    end_time=\"2025-12-01T00:00:00Z\",\n    interval=\"PT5M\",\n    start_time=\"2025-01-01T00:00:00Z\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resource-group\",\n        Location = \"East US\",\n    });\n\n    var exampleServer = new Azure.MSSql.Server(\"example\", new()\n    {\n        Name = \"example-server\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        Version = \"12.0\",\n        AdministratorLogin = \"4dm1n157r470r\",\n        AdministratorLoginPassword = \"4-v3ry-53cr37-p455w0rd\",\n    });\n\n    var exampleDatabase = new Azure.MSSql.Database(\"example\", new()\n    {\n        Name = \"example-db\",\n        ServerId = exampleServer.Id,\n        Collation = \"SQL_Latin1_General_CP1_CI_AS\",\n        SkuName = \"S1\",\n    });\n\n    var exampleJobAgent = new Azure.MSSql.JobAgent(\"example\", new()\n    {\n        Name = \"example-job-agent\",\n        Location = example.Location,\n        DatabaseId = exampleDatabase.Id,\n    });\n\n    var exampleJobCredential = new Azure.MSSql.JobCredential(\"example\", new()\n    {\n        Name = \"example-job-credential\",\n        JobAgentId = exampleJobAgent.Id,\n        Username = \"my-username\",\n        Password = \"MyP4ssw0rd!!!\",\n    });\n\n    var exampleJob = new Azure.MSSql.Job(\"example\", new()\n    {\n        Name = \"example-job\",\n        JobAgentId = exampleJobAgent.Id,\n    });\n\n    var exampleJobSchedule = new Azure.MSSql.JobSchedule(\"example\", new()\n    {\n        JobId = exampleJob.Id,\n        Type = \"Recurring\",\n        Enabled = true,\n        EndTime = \"2025-12-01T00:00:00Z\",\n        Interval = \"PT5M\",\n        StartTime = \"2025-01-01T00:00:00Z\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/mssql\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resource-group\"),\n\t\t\tLocation: pulumi.String(\"East US\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleServer, err := mssql.NewServer(ctx, \"example\", \u0026mssql.ServerArgs{\n\t\t\tName:                       pulumi.String(\"example-server\"),\n\t\t\tResourceGroupName:          example.Name,\n\t\t\tLocation:                   example.Location,\n\t\t\tVersion:                    pulumi.String(\"12.0\"),\n\t\t\tAdministratorLogin:         pulumi.String(\"4dm1n157r470r\"),\n\t\t\tAdministratorLoginPassword: pulumi.String(\"4-v3ry-53cr37-p455w0rd\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleDatabase, err := mssql.NewDatabase(ctx, \"example\", \u0026mssql.DatabaseArgs{\n\t\t\tName:      pulumi.String(\"example-db\"),\n\t\t\tServerId:  exampleServer.ID(),\n\t\t\tCollation: pulumi.String(\"SQL_Latin1_General_CP1_CI_AS\"),\n\t\t\tSkuName:   pulumi.String(\"S1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleJobAgent, err := mssql.NewJobAgent(ctx, \"example\", \u0026mssql.JobAgentArgs{\n\t\t\tName:       pulumi.String(\"example-job-agent\"),\n\t\t\tLocation:   example.Location,\n\t\t\tDatabaseId: exampleDatabase.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = mssql.NewJobCredential(ctx, \"example\", \u0026mssql.JobCredentialArgs{\n\t\t\tName:       pulumi.String(\"example-job-credential\"),\n\t\t\tJobAgentId: exampleJobAgent.ID(),\n\t\t\tUsername:   pulumi.String(\"my-username\"),\n\t\t\tPassword:   pulumi.String(\"MyP4ssw0rd!!!\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleJob, err := mssql.NewJob(ctx, \"example\", \u0026mssql.JobArgs{\n\t\t\tName:       pulumi.String(\"example-job\"),\n\t\t\tJobAgentId: exampleJobAgent.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = mssql.NewJobSchedule(ctx, \"example\", \u0026mssql.JobScheduleArgs{\n\t\t\tJobId:     exampleJob.ID(),\n\t\t\tType:      pulumi.String(\"Recurring\"),\n\t\t\tEnabled:   pulumi.Bool(true),\n\t\t\tEndTime:   pulumi.String(\"2025-12-01T00:00:00Z\"),\n\t\t\tInterval:  pulumi.String(\"PT5M\"),\n\t\t\tStartTime: pulumi.String(\"2025-01-01T00:00:00Z\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.mssql.Server;\nimport com.pulumi.azure.mssql.ServerArgs;\nimport com.pulumi.azure.mssql.Database;\nimport com.pulumi.azure.mssql.DatabaseArgs;\nimport com.pulumi.azure.mssql.JobAgent;\nimport com.pulumi.azure.mssql.JobAgentArgs;\nimport com.pulumi.azure.mssql.JobCredential;\nimport com.pulumi.azure.mssql.JobCredentialArgs;\nimport com.pulumi.azure.mssql.Job;\nimport com.pulumi.azure.mssql.JobArgs;\nimport com.pulumi.azure.mssql.JobSchedule;\nimport com.pulumi.azure.mssql.JobScheduleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resource-group\")\n            .location(\"East US\")\n            .build());\n\n        var exampleServer = new Server(\"exampleServer\", ServerArgs.builder()\n            .name(\"example-server\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .version(\"12.0\")\n            .administratorLogin(\"4dm1n157r470r\")\n            .administratorLoginPassword(\"4-v3ry-53cr37-p455w0rd\")\n            .build());\n\n        var exampleDatabase = new Database(\"exampleDatabase\", DatabaseArgs.builder()\n            .name(\"example-db\")\n            .serverId(exampleServer.id())\n            .collation(\"SQL_Latin1_General_CP1_CI_AS\")\n            .skuName(\"S1\")\n            .build());\n\n        var exampleJobAgent = new JobAgent(\"exampleJobAgent\", JobAgentArgs.builder()\n            .name(\"example-job-agent\")\n            .location(example.location())\n            .databaseId(exampleDatabase.id())\n            .build());\n\n        var exampleJobCredential = new JobCredential(\"exampleJobCredential\", JobCredentialArgs.builder()\n            .name(\"example-job-credential\")\n            .jobAgentId(exampleJobAgent.id())\n            .username(\"my-username\")\n            .password(\"MyP4ssw0rd!!!\")\n            .build());\n\n        var exampleJob = new Job(\"exampleJob\", JobArgs.builder()\n            .name(\"example-job\")\n            .jobAgentId(exampleJobAgent.id())\n            .build());\n\n        var exampleJobSchedule = new JobSchedule(\"exampleJobSchedule\", JobScheduleArgs.builder()\n            .jobId(exampleJob.id())\n            .type(\"Recurring\")\n            .enabled(true)\n            .endTime(\"2025-12-01T00:00:00Z\")\n            .interval(\"PT5M\")\n            .startTime(\"2025-01-01T00:00:00Z\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resource-group\n      location: East US\n  exampleServer:\n    type: azure:mssql:Server\n    name: example\n    properties:\n      name: example-server\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      version: '12.0'\n      administratorLogin: 4dm1n157r470r\n      administratorLoginPassword: 4-v3ry-53cr37-p455w0rd\n  exampleDatabase:\n    type: azure:mssql:Database\n    name: example\n    properties:\n      name: example-db\n      serverId: ${exampleServer.id}\n      collation: SQL_Latin1_General_CP1_CI_AS\n      skuName: S1\n  exampleJobAgent:\n    type: azure:mssql:JobAgent\n    name: example\n    properties:\n      name: example-job-agent\n      location: ${example.location}\n      databaseId: ${exampleDatabase.id}\n  exampleJobCredential:\n    type: azure:mssql:JobCredential\n    name: example\n    properties:\n      name: example-job-credential\n      jobAgentId: ${exampleJobAgent.id}\n      username: my-username\n      password: MyP4ssw0rd!!!\n  exampleJob:\n    type: azure:mssql:Job\n    name: example\n    properties:\n      name: example-job\n      jobAgentId: ${exampleJobAgent.id}\n  exampleJobSchedule:\n    type: azure:mssql:JobSchedule\n    name: example\n    properties:\n      jobId: ${exampleJob.id}\n      type: Recurring\n      enabled: true\n      endTime: 2025-12-01T00:00:00Z\n      interval: PT5M\n      startTime: 2025-01-01T00:00:00Z\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Sql` - 2023-08-01-preview\n\n## Import\n\nElastic Job Schedules can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:mssql/jobSchedule:JobSchedule example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Sql/servers/myserver1/jobAgents/myjobagent1/jobs/myjob1\n```\n\n","properties":{"enabled":{"type":"boolean","description":"Should the Elastic Job Schedule be enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** When \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to `Once` and \u003cspan pulumi-lang-nodejs=\"`enabled`\" pulumi-lang-dotnet=\"`Enabled`\" pulumi-lang-go=\"`enabled`\" pulumi-lang-python=\"`enabled`\" pulumi-lang-yaml=\"`enabled`\" pulumi-lang-java=\"`enabled`\"\u003e`enabled`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, it's recommended to add \u003cspan pulumi-lang-nodejs=\"`enabled`\" pulumi-lang-dotnet=\"`Enabled`\" pulumi-lang-go=\"`enabled`\" pulumi-lang-python=\"`enabled`\" pulumi-lang-yaml=\"`enabled`\" pulumi-lang-java=\"`enabled`\"\u003e`enabled`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`ignoreChanges`\" pulumi-lang-dotnet=\"`IgnoreChanges`\" pulumi-lang-go=\"`ignoreChanges`\" pulumi-lang-python=\"`ignore_changes`\" pulumi-lang-yaml=\"`ignoreChanges`\" pulumi-lang-java=\"`ignoreChanges`\"\u003e`ignore_changes`\u003c/span\u003e. This is because Azure will set \u003cspan pulumi-lang-nodejs=\"`enabled`\" pulumi-lang-dotnet=\"`Enabled`\" pulumi-lang-go=\"`enabled`\" pulumi-lang-python=\"`enabled`\" pulumi-lang-yaml=\"`enabled`\" pulumi-lang-java=\"`enabled`\"\u003e`enabled`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e once the job has executed.\n"},"endTime":{"type":"string","description":"The end time of the schedule. Must be in RFC3339 format.\n"},"interval":{"type":"string","description":"The interval between job executions. Must be in ISO8601 duration format.\n"},"jobId":{"type":"string","description":"The ID of the Elastic Job. Changing this forces a new Elastic Job Schedule to be created.\n"},"startTime":{"type":"string","description":"The start time of the schedule. Must be in RFC3339 format.\n"},"type":{"type":"string","description":"The type of schedule. Possible values are `Once` and `Recurring`.\n"}},"required":["enabled","endTime","jobId","startTime","type"],"inputProperties":{"enabled":{"type":"boolean","description":"Should the Elastic Job Schedule be enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** When \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to `Once` and \u003cspan pulumi-lang-nodejs=\"`enabled`\" pulumi-lang-dotnet=\"`Enabled`\" pulumi-lang-go=\"`enabled`\" pulumi-lang-python=\"`enabled`\" pulumi-lang-yaml=\"`enabled`\" pulumi-lang-java=\"`enabled`\"\u003e`enabled`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, it's recommended to add \u003cspan pulumi-lang-nodejs=\"`enabled`\" pulumi-lang-dotnet=\"`Enabled`\" pulumi-lang-go=\"`enabled`\" pulumi-lang-python=\"`enabled`\" pulumi-lang-yaml=\"`enabled`\" pulumi-lang-java=\"`enabled`\"\u003e`enabled`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`ignoreChanges`\" pulumi-lang-dotnet=\"`IgnoreChanges`\" pulumi-lang-go=\"`ignoreChanges`\" pulumi-lang-python=\"`ignore_changes`\" pulumi-lang-yaml=\"`ignoreChanges`\" pulumi-lang-java=\"`ignoreChanges`\"\u003e`ignore_changes`\u003c/span\u003e. This is because Azure will set \u003cspan pulumi-lang-nodejs=\"`enabled`\" pulumi-lang-dotnet=\"`Enabled`\" pulumi-lang-go=\"`enabled`\" pulumi-lang-python=\"`enabled`\" pulumi-lang-yaml=\"`enabled`\" pulumi-lang-java=\"`enabled`\"\u003e`enabled`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e once the job has executed.\n"},"endTime":{"type":"string","description":"The end time of the schedule. Must be in RFC3339 format.\n"},"interval":{"type":"string","description":"The interval between job executions. Must be in ISO8601 duration format.\n"},"jobId":{"type":"string","description":"The ID of the Elastic Job. Changing this forces a new Elastic Job Schedule to be created.\n","willReplaceOnChanges":true},"startTime":{"type":"string","description":"The start time of the schedule. Must be in RFC3339 format.\n"},"type":{"type":"string","description":"The type of schedule. Possible values are `Once` and `Recurring`.\n"}},"requiredInputs":["jobId","type"],"stateInputs":{"description":"Input properties used for looking up and filtering JobSchedule resources.\n","properties":{"enabled":{"type":"boolean","description":"Should the Elastic Job Schedule be enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** When \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to `Once` and \u003cspan pulumi-lang-nodejs=\"`enabled`\" pulumi-lang-dotnet=\"`Enabled`\" pulumi-lang-go=\"`enabled`\" pulumi-lang-python=\"`enabled`\" pulumi-lang-yaml=\"`enabled`\" pulumi-lang-java=\"`enabled`\"\u003e`enabled`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, it's recommended to add \u003cspan pulumi-lang-nodejs=\"`enabled`\" pulumi-lang-dotnet=\"`Enabled`\" pulumi-lang-go=\"`enabled`\" pulumi-lang-python=\"`enabled`\" pulumi-lang-yaml=\"`enabled`\" pulumi-lang-java=\"`enabled`\"\u003e`enabled`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`ignoreChanges`\" pulumi-lang-dotnet=\"`IgnoreChanges`\" pulumi-lang-go=\"`ignoreChanges`\" pulumi-lang-python=\"`ignore_changes`\" pulumi-lang-yaml=\"`ignoreChanges`\" pulumi-lang-java=\"`ignoreChanges`\"\u003e`ignore_changes`\u003c/span\u003e. This is because Azure will set \u003cspan pulumi-lang-nodejs=\"`enabled`\" pulumi-lang-dotnet=\"`Enabled`\" pulumi-lang-go=\"`enabled`\" pulumi-lang-python=\"`enabled`\" pulumi-lang-yaml=\"`enabled`\" pulumi-lang-java=\"`enabled`\"\u003e`enabled`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e once the job has executed.\n"},"endTime":{"type":"string","description":"The end time of the schedule. Must be in RFC3339 format.\n"},"interval":{"type":"string","description":"The interval between job executions. Must be in ISO8601 duration format.\n"},"jobId":{"type":"string","description":"The ID of the Elastic Job. Changing this forces a new Elastic Job Schedule to be created.\n","willReplaceOnChanges":true},"startTime":{"type":"string","description":"The start time of the schedule. Must be in RFC3339 format.\n"},"type":{"type":"string","description":"The type of schedule. Possible values are `Once` and `Recurring`.\n"}},"type":"object"}},"azure:mssql/jobStep:JobStep":{"description":"Manages an Elastic Job Step.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example\",\n    location: \"westeurope\",\n});\nconst exampleServer = new azure.mssql.Server(\"example\", {\n    name: \"example-server\",\n    location: example.location,\n    resourceGroupName: example.name,\n    version: \"12.0\",\n    administratorLogin: \"4dm1n157r470r\",\n    administratorLoginPassword: \"4-v3ry-53cr37-p455w0rd\",\n});\nconst exampleDatabase = new azure.mssql.Database(\"example\", {\n    name: \"example-db\",\n    serverId: exampleServer.id,\n    collation: \"SQL_Latin1_General_CP1_CI_AS\",\n    skuName: \"S1\",\n});\nconst exampleJobAgent = new azure.mssql.JobAgent(\"example\", {\n    name: \"example-job-agent\",\n    location: example.location,\n    databaseId: exampleDatabase.id,\n});\nconst exampleJobCredential = new azure.mssql.JobCredential(\"example\", {\n    name: \"example-job-credential\",\n    jobAgentId: exampleJobAgent.id,\n    username: \"exampleusername\",\n    password: \"examplepassword\",\n});\nconst exampleJobTargetGroup = new azure.mssql.JobTargetGroup(\"example\", {\n    name: \"example-target-group\",\n    jobAgentId: exampleJobAgent.id,\n    jobTargets: [{\n        serverName: exampleServer.name,\n        databaseName: exampleDatabase.name,\n        jobCredentialId: exampleJobCredential.id,\n    }],\n});\nconst exampleJob = new azure.mssql.Job(\"example\", {\n    name: \"example-job\",\n    jobAgentId: exampleJobAgent.id,\n    description: \"example description\",\n});\nconst test = new azure.mssql.JobStep(\"test\", {\n    name: \"example-job-step\",\n    jobId: exampleJob.id,\n    jobCredentialId: exampleJobCredential.id,\n    jobTargetGroupId: exampleJobTargetGroup.id,\n    jobStepIndex: 1,\n    sqlScript: `IF NOT EXISTS (SELECT * FROM sys.objects WHERE [name] = N'Pets')\n  CREATE TABLE Pets (\n    Animal NVARCHAR(50),\n    Name NVARCHAR(50),\n  );\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example\",\n    location=\"westeurope\")\nexample_server = azure.mssql.Server(\"example\",\n    name=\"example-server\",\n    location=example.location,\n    resource_group_name=example.name,\n    version=\"12.0\",\n    administrator_login=\"4dm1n157r470r\",\n    administrator_login_password=\"4-v3ry-53cr37-p455w0rd\")\nexample_database = azure.mssql.Database(\"example\",\n    name=\"example-db\",\n    server_id=example_server.id,\n    collation=\"SQL_Latin1_General_CP1_CI_AS\",\n    sku_name=\"S1\")\nexample_job_agent = azure.mssql.JobAgent(\"example\",\n    name=\"example-job-agent\",\n    location=example.location,\n    database_id=example_database.id)\nexample_job_credential = azure.mssql.JobCredential(\"example\",\n    name=\"example-job-credential\",\n    job_agent_id=example_job_agent.id,\n    username=\"exampleusername\",\n    password=\"examplepassword\")\nexample_job_target_group = azure.mssql.JobTargetGroup(\"example\",\n    name=\"example-target-group\",\n    job_agent_id=example_job_agent.id,\n    job_targets=[{\n        \"server_name\": example_server.name,\n        \"database_name\": example_database.name,\n        \"job_credential_id\": example_job_credential.id,\n    }])\nexample_job = azure.mssql.Job(\"example\",\n    name=\"example-job\",\n    job_agent_id=example_job_agent.id,\n    description=\"example description\")\ntest = azure.mssql.JobStep(\"test\",\n    name=\"example-job-step\",\n    job_id=example_job.id,\n    job_credential_id=example_job_credential.id,\n    job_target_group_id=example_job_target_group.id,\n    job_step_index=1,\n    sql_script=\"\"\"IF NOT EXISTS (SELECT * FROM sys.objects WHERE [name] = N'Pets')\n  CREATE TABLE Pets (\n    Animal NVARCHAR(50),\n    Name NVARCHAR(50),\n  );\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example\",\n        Location = \"westeurope\",\n    });\n\n    var exampleServer = new Azure.MSSql.Server(\"example\", new()\n    {\n        Name = \"example-server\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Version = \"12.0\",\n        AdministratorLogin = \"4dm1n157r470r\",\n        AdministratorLoginPassword = \"4-v3ry-53cr37-p455w0rd\",\n    });\n\n    var exampleDatabase = new Azure.MSSql.Database(\"example\", new()\n    {\n        Name = \"example-db\",\n        ServerId = exampleServer.Id,\n        Collation = \"SQL_Latin1_General_CP1_CI_AS\",\n        SkuName = \"S1\",\n    });\n\n    var exampleJobAgent = new Azure.MSSql.JobAgent(\"example\", new()\n    {\n        Name = \"example-job-agent\",\n        Location = example.Location,\n        DatabaseId = exampleDatabase.Id,\n    });\n\n    var exampleJobCredential = new Azure.MSSql.JobCredential(\"example\", new()\n    {\n        Name = \"example-job-credential\",\n        JobAgentId = exampleJobAgent.Id,\n        Username = \"exampleusername\",\n        Password = \"examplepassword\",\n    });\n\n    var exampleJobTargetGroup = new Azure.MSSql.JobTargetGroup(\"example\", new()\n    {\n        Name = \"example-target-group\",\n        JobAgentId = exampleJobAgent.Id,\n        JobTargets = new[]\n        {\n            new Azure.MSSql.Inputs.JobTargetGroupJobTargetArgs\n            {\n                ServerName = exampleServer.Name,\n                DatabaseName = exampleDatabase.Name,\n                JobCredentialId = exampleJobCredential.Id,\n            },\n        },\n    });\n\n    var exampleJob = new Azure.MSSql.Job(\"example\", new()\n    {\n        Name = \"example-job\",\n        JobAgentId = exampleJobAgent.Id,\n        Description = \"example description\",\n    });\n\n    var test = new Azure.MSSql.JobStep(\"test\", new()\n    {\n        Name = \"example-job-step\",\n        JobId = exampleJob.Id,\n        JobCredentialId = exampleJobCredential.Id,\n        JobTargetGroupId = exampleJobTargetGroup.Id,\n        JobStepIndex = 1,\n        SqlScript = @\"IF NOT EXISTS (SELECT * FROM sys.objects WHERE [name] = N'Pets')\n  CREATE TABLE Pets (\n    Animal NVARCHAR(50),\n    Name NVARCHAR(50),\n  );\n\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/mssql\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example\"),\n\t\t\tLocation: pulumi.String(\"westeurope\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleServer, err := mssql.NewServer(ctx, \"example\", \u0026mssql.ServerArgs{\n\t\t\tName:                       pulumi.String(\"example-server\"),\n\t\t\tLocation:                   example.Location,\n\t\t\tResourceGroupName:          example.Name,\n\t\t\tVersion:                    pulumi.String(\"12.0\"),\n\t\t\tAdministratorLogin:         pulumi.String(\"4dm1n157r470r\"),\n\t\t\tAdministratorLoginPassword: pulumi.String(\"4-v3ry-53cr37-p455w0rd\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleDatabase, err := mssql.NewDatabase(ctx, \"example\", \u0026mssql.DatabaseArgs{\n\t\t\tName:      pulumi.String(\"example-db\"),\n\t\t\tServerId:  exampleServer.ID(),\n\t\t\tCollation: pulumi.String(\"SQL_Latin1_General_CP1_CI_AS\"),\n\t\t\tSkuName:   pulumi.String(\"S1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleJobAgent, err := mssql.NewJobAgent(ctx, \"example\", \u0026mssql.JobAgentArgs{\n\t\t\tName:       pulumi.String(\"example-job-agent\"),\n\t\t\tLocation:   example.Location,\n\t\t\tDatabaseId: exampleDatabase.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleJobCredential, err := mssql.NewJobCredential(ctx, \"example\", \u0026mssql.JobCredentialArgs{\n\t\t\tName:       pulumi.String(\"example-job-credential\"),\n\t\t\tJobAgentId: exampleJobAgent.ID(),\n\t\t\tUsername:   pulumi.String(\"exampleusername\"),\n\t\t\tPassword:   pulumi.String(\"examplepassword\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleJobTargetGroup, err := mssql.NewJobTargetGroup(ctx, \"example\", \u0026mssql.JobTargetGroupArgs{\n\t\t\tName:       pulumi.String(\"example-target-group\"),\n\t\t\tJobAgentId: exampleJobAgent.ID(),\n\t\t\tJobTargets: mssql.JobTargetGroupJobTargetArray{\n\t\t\t\t\u0026mssql.JobTargetGroupJobTargetArgs{\n\t\t\t\t\tServerName:      exampleServer.Name,\n\t\t\t\t\tDatabaseName:    exampleDatabase.Name,\n\t\t\t\t\tJobCredentialId: exampleJobCredential.ID(),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleJob, err := mssql.NewJob(ctx, \"example\", \u0026mssql.JobArgs{\n\t\t\tName:        pulumi.String(\"example-job\"),\n\t\t\tJobAgentId:  exampleJobAgent.ID(),\n\t\t\tDescription: pulumi.String(\"example description\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = mssql.NewJobStep(ctx, \"test\", \u0026mssql.JobStepArgs{\n\t\t\tName:             pulumi.String(\"example-job-step\"),\n\t\t\tJobId:            exampleJob.ID(),\n\t\t\tJobCredentialId:  exampleJobCredential.ID(),\n\t\t\tJobTargetGroupId: exampleJobTargetGroup.ID(),\n\t\t\tJobStepIndex:     pulumi.Int(1),\n\t\t\tSqlScript: pulumi.String(`IF NOT EXISTS (SELECT * FROM sys.objects WHERE [name] = N'Pets')\n  CREATE TABLE Pets (\n    Animal NVARCHAR(50),\n    Name NVARCHAR(50),\n  );\n`),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.mssql.Server;\nimport com.pulumi.azure.mssql.ServerArgs;\nimport com.pulumi.azure.mssql.Database;\nimport com.pulumi.azure.mssql.DatabaseArgs;\nimport com.pulumi.azure.mssql.JobAgent;\nimport com.pulumi.azure.mssql.JobAgentArgs;\nimport com.pulumi.azure.mssql.JobCredential;\nimport com.pulumi.azure.mssql.JobCredentialArgs;\nimport com.pulumi.azure.mssql.JobTargetGroup;\nimport com.pulumi.azure.mssql.JobTargetGroupArgs;\nimport com.pulumi.azure.mssql.inputs.JobTargetGroupJobTargetArgs;\nimport com.pulumi.azure.mssql.Job;\nimport com.pulumi.azure.mssql.JobArgs;\nimport com.pulumi.azure.mssql.JobStep;\nimport com.pulumi.azure.mssql.JobStepArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example\")\n            .location(\"westeurope\")\n            .build());\n\n        var exampleServer = new Server(\"exampleServer\", ServerArgs.builder()\n            .name(\"example-server\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .version(\"12.0\")\n            .administratorLogin(\"4dm1n157r470r\")\n            .administratorLoginPassword(\"4-v3ry-53cr37-p455w0rd\")\n            .build());\n\n        var exampleDatabase = new Database(\"exampleDatabase\", DatabaseArgs.builder()\n            .name(\"example-db\")\n            .serverId(exampleServer.id())\n            .collation(\"SQL_Latin1_General_CP1_CI_AS\")\n            .skuName(\"S1\")\n            .build());\n\n        var exampleJobAgent = new JobAgent(\"exampleJobAgent\", JobAgentArgs.builder()\n            .name(\"example-job-agent\")\n            .location(example.location())\n            .databaseId(exampleDatabase.id())\n            .build());\n\n        var exampleJobCredential = new JobCredential(\"exampleJobCredential\", JobCredentialArgs.builder()\n            .name(\"example-job-credential\")\n            .jobAgentId(exampleJobAgent.id())\n            .username(\"exampleusername\")\n            .password(\"examplepassword\")\n            .build());\n\n        var exampleJobTargetGroup = new JobTargetGroup(\"exampleJobTargetGroup\", JobTargetGroupArgs.builder()\n            .name(\"example-target-group\")\n            .jobAgentId(exampleJobAgent.id())\n            .jobTargets(JobTargetGroupJobTargetArgs.builder()\n                .serverName(exampleServer.name())\n                .databaseName(exampleDatabase.name())\n                .jobCredentialId(exampleJobCredential.id())\n                .build())\n            .build());\n\n        var exampleJob = new Job(\"exampleJob\", JobArgs.builder()\n            .name(\"example-job\")\n            .jobAgentId(exampleJobAgent.id())\n            .description(\"example description\")\n            .build());\n\n        var test = new JobStep(\"test\", JobStepArgs.builder()\n            .name(\"example-job-step\")\n            .jobId(exampleJob.id())\n            .jobCredentialId(exampleJobCredential.id())\n            .jobTargetGroupId(exampleJobTargetGroup.id())\n            .jobStepIndex(1)\n            .sqlScript(\"\"\"\nIF NOT EXISTS (SELECT * FROM sys.objects WHERE [name] = N'Pets')\n  CREATE TABLE Pets (\n    Animal NVARCHAR(50),\n    Name NVARCHAR(50),\n  );\n            \"\"\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example\n      location: westeurope\n  exampleServer:\n    type: azure:mssql:Server\n    name: example\n    properties:\n      name: example-server\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      version: '12.0'\n      administratorLogin: 4dm1n157r470r\n      administratorLoginPassword: 4-v3ry-53cr37-p455w0rd\n  exampleDatabase:\n    type: azure:mssql:Database\n    name: example\n    properties:\n      name: example-db\n      serverId: ${exampleServer.id}\n      collation: SQL_Latin1_General_CP1_CI_AS\n      skuName: S1\n  exampleJobAgent:\n    type: azure:mssql:JobAgent\n    name: example\n    properties:\n      name: example-job-agent\n      location: ${example.location}\n      databaseId: ${exampleDatabase.id}\n  exampleJobCredential:\n    type: azure:mssql:JobCredential\n    name: example\n    properties:\n      name: example-job-credential\n      jobAgentId: ${exampleJobAgent.id}\n      username: exampleusername\n      password: examplepassword\n  exampleJobTargetGroup:\n    type: azure:mssql:JobTargetGroup\n    name: example\n    properties:\n      name: example-target-group\n      jobAgentId: ${exampleJobAgent.id}\n      jobTargets:\n        - serverName: ${exampleServer.name}\n          databaseName: ${exampleDatabase.name}\n          jobCredentialId: ${exampleJobCredential.id}\n  exampleJob:\n    type: azure:mssql:Job\n    name: example\n    properties:\n      name: example-job\n      jobAgentId: ${exampleJobAgent.id}\n      description: example description\n  test:\n    type: azure:mssql:JobStep\n    properties:\n      name: example-job-step\n      jobId: ${exampleJob.id}\n      jobCredentialId: ${exampleJobCredential.id}\n      jobTargetGroupId: ${exampleJobTargetGroup.id}\n      jobStepIndex: 1\n      sqlScript: |\n        IF NOT EXISTS (SELECT * FROM sys.objects WHERE [name] = N'Pets')\n          CREATE TABLE Pets (\n            Animal NVARCHAR(50),\n            Name NVARCHAR(50),\n          );\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Sql` - 2023-08-01-preview\n\n## Import\n\nElastic Job Steps can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:mssql/jobStep:JobStep example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Sql/servers/myserver1/jobAgents/myjobagent1/jobs/myjob1/steps/myjobstep1\n```\n\n","properties":{"initialRetryIntervalSeconds":{"type":"integer","description":"The initial retry interval in seconds. Defaults to \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e.\n"},"jobCredentialId":{"type":"string","description":"The ID of the Elastic Job Credential to use when executing this Elastic Job Step. Omit this argument to run the step under the Job Agent's managed identity (user-assigned).\n\n!\u003e **Note:** Once set, \u003cspan pulumi-lang-nodejs=\"`jobCredentialId`\" pulumi-lang-dotnet=\"`JobCredentialId`\" pulumi-lang-go=\"`jobCredentialId`\" pulumi-lang-python=\"`job_credential_id`\" pulumi-lang-yaml=\"`jobCredentialId`\" pulumi-lang-java=\"`jobCredentialId`\"\u003e`job_credential_id`\u003c/span\u003e cannot be removed. Removing the credential will force a new resource to be created.\n"},"jobId":{"type":"string","description":"The ID of the Elastic Job. Changing this forces a new Elastic Job Step to be created.\n"},"jobStepIndex":{"type":"integer","description":"The index at which to insert this Elastic Job Step into the Elastic Job.\n\n\u003e **Note:** This value must be greater than or equal to 1 and less than or equal to the number of job steps in the Elastic Job.\n"},"jobTargetGroupId":{"type":"string","description":"The ID of the Elastic Job Target Group.\n"},"maximumRetryIntervalSeconds":{"type":"integer","description":"The maximum retry interval in seconds. Defaults to \u003cspan pulumi-lang-nodejs=\"`120`\" pulumi-lang-dotnet=\"`120`\" pulumi-lang-go=\"`120`\" pulumi-lang-python=\"`120`\" pulumi-lang-yaml=\"`120`\" pulumi-lang-java=\"`120`\"\u003e`120`\u003c/span\u003e.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`maximumRetryIntervalSeconds`\" pulumi-lang-dotnet=\"`MaximumRetryIntervalSeconds`\" pulumi-lang-go=\"`maximumRetryIntervalSeconds`\" pulumi-lang-python=\"`maximum_retry_interval_seconds`\" pulumi-lang-yaml=\"`maximumRetryIntervalSeconds`\" pulumi-lang-java=\"`maximumRetryIntervalSeconds`\"\u003e`maximum_retry_interval_seconds`\u003c/span\u003e must be greater than \u003cspan pulumi-lang-nodejs=\"`initialRetryIntervalSeconds`\" pulumi-lang-dotnet=\"`InitialRetryIntervalSeconds`\" pulumi-lang-go=\"`initialRetryIntervalSeconds`\" pulumi-lang-python=\"`initial_retry_interval_seconds`\" pulumi-lang-yaml=\"`initialRetryIntervalSeconds`\" pulumi-lang-java=\"`initialRetryIntervalSeconds`\"\u003e`initial_retry_interval_seconds`\u003c/span\u003e.\n"},"name":{"type":"string","description":"The name which should be used for this Elastic Job Step. Changing this forces a new Elastic Job Step to be created.\n"},"outputTarget":{"$ref":"#/types/azure:mssql/JobStepOutputTarget:JobStepOutputTarget","description":"An \u003cspan pulumi-lang-nodejs=\"`outputTarget`\" pulumi-lang-dotnet=\"`OutputTarget`\" pulumi-lang-go=\"`outputTarget`\" pulumi-lang-python=\"`output_target`\" pulumi-lang-yaml=\"`outputTarget`\" pulumi-lang-java=\"`outputTarget`\"\u003e`output_target`\u003c/span\u003e block as defined below.\n"},"retryAttempts":{"type":"integer","description":"The number of retry attempts. Defaults to \u003cspan pulumi-lang-nodejs=\"`10`\" pulumi-lang-dotnet=\"`10`\" pulumi-lang-go=\"`10`\" pulumi-lang-python=\"`10`\" pulumi-lang-yaml=\"`10`\" pulumi-lang-java=\"`10`\"\u003e`10`\u003c/span\u003e.\n"},"retryIntervalBackoffMultiplier":{"type":"number","description":"The multiplier for time between retries. Defaults to `2.0`.\n"},"sqlScript":{"type":"string","description":"The T-SQL script to be executed by this Elastic Job Step.\n\n\u003e **Note:** While Azure places no restrictions on the script provided here, it is recommended to ensure the script is idempotent.\n"},"timeoutSeconds":{"type":"integer","description":"The execution timeout in seconds for this Elastic Job Step. Defaults to \u003cspan pulumi-lang-nodejs=\"`43200`\" pulumi-lang-dotnet=\"`43200`\" pulumi-lang-go=\"`43200`\" pulumi-lang-python=\"`43200`\" pulumi-lang-yaml=\"`43200`\" pulumi-lang-java=\"`43200`\"\u003e`43200`\u003c/span\u003e.\n"}},"required":["jobId","jobStepIndex","jobTargetGroupId","name","sqlScript"],"inputProperties":{"initialRetryIntervalSeconds":{"type":"integer","description":"The initial retry interval in seconds. Defaults to \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e.\n"},"jobCredentialId":{"type":"string","description":"The ID of the Elastic Job Credential to use when executing this Elastic Job Step. Omit this argument to run the step under the Job Agent's managed identity (user-assigned).\n\n!\u003e **Note:** Once set, \u003cspan pulumi-lang-nodejs=\"`jobCredentialId`\" pulumi-lang-dotnet=\"`JobCredentialId`\" pulumi-lang-go=\"`jobCredentialId`\" pulumi-lang-python=\"`job_credential_id`\" pulumi-lang-yaml=\"`jobCredentialId`\" pulumi-lang-java=\"`jobCredentialId`\"\u003e`job_credential_id`\u003c/span\u003e cannot be removed. Removing the credential will force a new resource to be created.\n"},"jobId":{"type":"string","description":"The ID of the Elastic Job. Changing this forces a new Elastic Job Step to be created.\n","willReplaceOnChanges":true},"jobStepIndex":{"type":"integer","description":"The index at which to insert this Elastic Job Step into the Elastic Job.\n\n\u003e **Note:** This value must be greater than or equal to 1 and less than or equal to the number of job steps in the Elastic Job.\n"},"jobTargetGroupId":{"type":"string","description":"The ID of the Elastic Job Target Group.\n"},"maximumRetryIntervalSeconds":{"type":"integer","description":"The maximum retry interval in seconds. Defaults to \u003cspan pulumi-lang-nodejs=\"`120`\" pulumi-lang-dotnet=\"`120`\" pulumi-lang-go=\"`120`\" pulumi-lang-python=\"`120`\" pulumi-lang-yaml=\"`120`\" pulumi-lang-java=\"`120`\"\u003e`120`\u003c/span\u003e.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`maximumRetryIntervalSeconds`\" pulumi-lang-dotnet=\"`MaximumRetryIntervalSeconds`\" pulumi-lang-go=\"`maximumRetryIntervalSeconds`\" pulumi-lang-python=\"`maximum_retry_interval_seconds`\" pulumi-lang-yaml=\"`maximumRetryIntervalSeconds`\" pulumi-lang-java=\"`maximumRetryIntervalSeconds`\"\u003e`maximum_retry_interval_seconds`\u003c/span\u003e must be greater than \u003cspan pulumi-lang-nodejs=\"`initialRetryIntervalSeconds`\" pulumi-lang-dotnet=\"`InitialRetryIntervalSeconds`\" pulumi-lang-go=\"`initialRetryIntervalSeconds`\" pulumi-lang-python=\"`initial_retry_interval_seconds`\" pulumi-lang-yaml=\"`initialRetryIntervalSeconds`\" pulumi-lang-java=\"`initialRetryIntervalSeconds`\"\u003e`initial_retry_interval_seconds`\u003c/span\u003e.\n"},"name":{"type":"string","description":"The name which should be used for this Elastic Job Step. Changing this forces a new Elastic Job Step to be created.\n","willReplaceOnChanges":true},"outputTarget":{"$ref":"#/types/azure:mssql/JobStepOutputTarget:JobStepOutputTarget","description":"An \u003cspan pulumi-lang-nodejs=\"`outputTarget`\" pulumi-lang-dotnet=\"`OutputTarget`\" pulumi-lang-go=\"`outputTarget`\" pulumi-lang-python=\"`output_target`\" pulumi-lang-yaml=\"`outputTarget`\" pulumi-lang-java=\"`outputTarget`\"\u003e`output_target`\u003c/span\u003e block as defined below.\n"},"retryAttempts":{"type":"integer","description":"The number of retry attempts. Defaults to \u003cspan pulumi-lang-nodejs=\"`10`\" pulumi-lang-dotnet=\"`10`\" pulumi-lang-go=\"`10`\" pulumi-lang-python=\"`10`\" pulumi-lang-yaml=\"`10`\" pulumi-lang-java=\"`10`\"\u003e`10`\u003c/span\u003e.\n"},"retryIntervalBackoffMultiplier":{"type":"number","description":"The multiplier for time between retries. Defaults to `2.0`.\n"},"sqlScript":{"type":"string","description":"The T-SQL script to be executed by this Elastic Job Step.\n\n\u003e **Note:** While Azure places no restrictions on the script provided here, it is recommended to ensure the script is idempotent.\n"},"timeoutSeconds":{"type":"integer","description":"The execution timeout in seconds for this Elastic Job Step. Defaults to \u003cspan pulumi-lang-nodejs=\"`43200`\" pulumi-lang-dotnet=\"`43200`\" pulumi-lang-go=\"`43200`\" pulumi-lang-python=\"`43200`\" pulumi-lang-yaml=\"`43200`\" pulumi-lang-java=\"`43200`\"\u003e`43200`\u003c/span\u003e.\n"}},"requiredInputs":["jobId","jobStepIndex","jobTargetGroupId","sqlScript"],"stateInputs":{"description":"Input properties used for looking up and filtering JobStep resources.\n","properties":{"initialRetryIntervalSeconds":{"type":"integer","description":"The initial retry interval in seconds. Defaults to \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e.\n"},"jobCredentialId":{"type":"string","description":"The ID of the Elastic Job Credential to use when executing this Elastic Job Step. Omit this argument to run the step under the Job Agent's managed identity (user-assigned).\n\n!\u003e **Note:** Once set, \u003cspan pulumi-lang-nodejs=\"`jobCredentialId`\" pulumi-lang-dotnet=\"`JobCredentialId`\" pulumi-lang-go=\"`jobCredentialId`\" pulumi-lang-python=\"`job_credential_id`\" pulumi-lang-yaml=\"`jobCredentialId`\" pulumi-lang-java=\"`jobCredentialId`\"\u003e`job_credential_id`\u003c/span\u003e cannot be removed. Removing the credential will force a new resource to be created.\n"},"jobId":{"type":"string","description":"The ID of the Elastic Job. Changing this forces a new Elastic Job Step to be created.\n","willReplaceOnChanges":true},"jobStepIndex":{"type":"integer","description":"The index at which to insert this Elastic Job Step into the Elastic Job.\n\n\u003e **Note:** This value must be greater than or equal to 1 and less than or equal to the number of job steps in the Elastic Job.\n"},"jobTargetGroupId":{"type":"string","description":"The ID of the Elastic Job Target Group.\n"},"maximumRetryIntervalSeconds":{"type":"integer","description":"The maximum retry interval in seconds. Defaults to \u003cspan pulumi-lang-nodejs=\"`120`\" pulumi-lang-dotnet=\"`120`\" pulumi-lang-go=\"`120`\" pulumi-lang-python=\"`120`\" pulumi-lang-yaml=\"`120`\" pulumi-lang-java=\"`120`\"\u003e`120`\u003c/span\u003e.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`maximumRetryIntervalSeconds`\" pulumi-lang-dotnet=\"`MaximumRetryIntervalSeconds`\" pulumi-lang-go=\"`maximumRetryIntervalSeconds`\" pulumi-lang-python=\"`maximum_retry_interval_seconds`\" pulumi-lang-yaml=\"`maximumRetryIntervalSeconds`\" pulumi-lang-java=\"`maximumRetryIntervalSeconds`\"\u003e`maximum_retry_interval_seconds`\u003c/span\u003e must be greater than \u003cspan pulumi-lang-nodejs=\"`initialRetryIntervalSeconds`\" pulumi-lang-dotnet=\"`InitialRetryIntervalSeconds`\" pulumi-lang-go=\"`initialRetryIntervalSeconds`\" pulumi-lang-python=\"`initial_retry_interval_seconds`\" pulumi-lang-yaml=\"`initialRetryIntervalSeconds`\" pulumi-lang-java=\"`initialRetryIntervalSeconds`\"\u003e`initial_retry_interval_seconds`\u003c/span\u003e.\n"},"name":{"type":"string","description":"The name which should be used for this Elastic Job Step. Changing this forces a new Elastic Job Step to be created.\n","willReplaceOnChanges":true},"outputTarget":{"$ref":"#/types/azure:mssql/JobStepOutputTarget:JobStepOutputTarget","description":"An \u003cspan pulumi-lang-nodejs=\"`outputTarget`\" pulumi-lang-dotnet=\"`OutputTarget`\" pulumi-lang-go=\"`outputTarget`\" pulumi-lang-python=\"`output_target`\" pulumi-lang-yaml=\"`outputTarget`\" pulumi-lang-java=\"`outputTarget`\"\u003e`output_target`\u003c/span\u003e block as defined below.\n"},"retryAttempts":{"type":"integer","description":"The number of retry attempts. Defaults to \u003cspan pulumi-lang-nodejs=\"`10`\" pulumi-lang-dotnet=\"`10`\" pulumi-lang-go=\"`10`\" pulumi-lang-python=\"`10`\" pulumi-lang-yaml=\"`10`\" pulumi-lang-java=\"`10`\"\u003e`10`\u003c/span\u003e.\n"},"retryIntervalBackoffMultiplier":{"type":"number","description":"The multiplier for time between retries. Defaults to `2.0`.\n"},"sqlScript":{"type":"string","description":"The T-SQL script to be executed by this Elastic Job Step.\n\n\u003e **Note:** While Azure places no restrictions on the script provided here, it is recommended to ensure the script is idempotent.\n"},"timeoutSeconds":{"type":"integer","description":"The execution timeout in seconds for this Elastic Job Step. Defaults to \u003cspan pulumi-lang-nodejs=\"`43200`\" pulumi-lang-dotnet=\"`43200`\" pulumi-lang-go=\"`43200`\" pulumi-lang-python=\"`43200`\" pulumi-lang-yaml=\"`43200`\" pulumi-lang-java=\"`43200`\"\u003e`43200`\u003c/span\u003e.\n"}},"type":"object"}},"azure:mssql/jobTargetGroup:JobTargetGroup":{"description":"Manages a Job Target Group.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example\",\n    location: \"westeurope\",\n});\nconst exampleServer = new azure.mssql.Server(\"example\", {\n    name: \"example-server\",\n    location: example.location,\n    resourceGroupName: example.name,\n    version: \"12.0\",\n    administratorLogin: \"4dm1n157r470r\",\n    administratorLoginPassword: \"4-v3ry-53cr37-p455w0rd\",\n});\nconst exampleDatabase = new azure.mssql.Database(\"example\", {\n    name: \"example-db\",\n    serverId: exampleServer.id,\n    collation: \"SQL_Latin1_General_CP1_CI_AS\",\n    skuName: \"S1\",\n});\nconst exampleJobAgent = new azure.mssql.JobAgent(\"example\", {\n    name: \"example-job-agent\",\n    location: example.location,\n    databaseId: exampleDatabase.id,\n});\nconst exampleJobCredential = new azure.mssql.JobCredential(\"example\", {\n    name: \"example-job-credential\",\n    jobAgentId: exampleJobAgent.id,\n    username: \"testusername\",\n    password: \"testpassword\",\n});\nconst exampleJobTargetGroup = new azure.mssql.JobTargetGroup(\"example\", {\n    name: \"example-target-group\",\n    jobAgentId: exampleJobAgent.id,\n    jobTargets: [{\n        serverName: exampleServer.name,\n        jobCredentialId: exampleJobCredential.id,\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example\",\n    location=\"westeurope\")\nexample_server = azure.mssql.Server(\"example\",\n    name=\"example-server\",\n    location=example.location,\n    resource_group_name=example.name,\n    version=\"12.0\",\n    administrator_login=\"4dm1n157r470r\",\n    administrator_login_password=\"4-v3ry-53cr37-p455w0rd\")\nexample_database = azure.mssql.Database(\"example\",\n    name=\"example-db\",\n    server_id=example_server.id,\n    collation=\"SQL_Latin1_General_CP1_CI_AS\",\n    sku_name=\"S1\")\nexample_job_agent = azure.mssql.JobAgent(\"example\",\n    name=\"example-job-agent\",\n    location=example.location,\n    database_id=example_database.id)\nexample_job_credential = azure.mssql.JobCredential(\"example\",\n    name=\"example-job-credential\",\n    job_agent_id=example_job_agent.id,\n    username=\"testusername\",\n    password=\"testpassword\")\nexample_job_target_group = azure.mssql.JobTargetGroup(\"example\",\n    name=\"example-target-group\",\n    job_agent_id=example_job_agent.id,\n    job_targets=[{\n        \"server_name\": example_server.name,\n        \"job_credential_id\": example_job_credential.id,\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example\",\n        Location = \"westeurope\",\n    });\n\n    var exampleServer = new Azure.MSSql.Server(\"example\", new()\n    {\n        Name = \"example-server\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Version = \"12.0\",\n        AdministratorLogin = \"4dm1n157r470r\",\n        AdministratorLoginPassword = \"4-v3ry-53cr37-p455w0rd\",\n    });\n\n    var exampleDatabase = new Azure.MSSql.Database(\"example\", new()\n    {\n        Name = \"example-db\",\n        ServerId = exampleServer.Id,\n        Collation = \"SQL_Latin1_General_CP1_CI_AS\",\n        SkuName = \"S1\",\n    });\n\n    var exampleJobAgent = new Azure.MSSql.JobAgent(\"example\", new()\n    {\n        Name = \"example-job-agent\",\n        Location = example.Location,\n        DatabaseId = exampleDatabase.Id,\n    });\n\n    var exampleJobCredential = new Azure.MSSql.JobCredential(\"example\", new()\n    {\n        Name = \"example-job-credential\",\n        JobAgentId = exampleJobAgent.Id,\n        Username = \"testusername\",\n        Password = \"testpassword\",\n    });\n\n    var exampleJobTargetGroup = new Azure.MSSql.JobTargetGroup(\"example\", new()\n    {\n        Name = \"example-target-group\",\n        JobAgentId = exampleJobAgent.Id,\n        JobTargets = new[]\n        {\n            new Azure.MSSql.Inputs.JobTargetGroupJobTargetArgs\n            {\n                ServerName = exampleServer.Name,\n                JobCredentialId = exampleJobCredential.Id,\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/mssql\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example\"),\n\t\t\tLocation: pulumi.String(\"westeurope\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleServer, err := mssql.NewServer(ctx, \"example\", \u0026mssql.ServerArgs{\n\t\t\tName:                       pulumi.String(\"example-server\"),\n\t\t\tLocation:                   example.Location,\n\t\t\tResourceGroupName:          example.Name,\n\t\t\tVersion:                    pulumi.String(\"12.0\"),\n\t\t\tAdministratorLogin:         pulumi.String(\"4dm1n157r470r\"),\n\t\t\tAdministratorLoginPassword: pulumi.String(\"4-v3ry-53cr37-p455w0rd\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleDatabase, err := mssql.NewDatabase(ctx, \"example\", \u0026mssql.DatabaseArgs{\n\t\t\tName:      pulumi.String(\"example-db\"),\n\t\t\tServerId:  exampleServer.ID(),\n\t\t\tCollation: pulumi.String(\"SQL_Latin1_General_CP1_CI_AS\"),\n\t\t\tSkuName:   pulumi.String(\"S1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleJobAgent, err := mssql.NewJobAgent(ctx, \"example\", \u0026mssql.JobAgentArgs{\n\t\t\tName:       pulumi.String(\"example-job-agent\"),\n\t\t\tLocation:   example.Location,\n\t\t\tDatabaseId: exampleDatabase.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleJobCredential, err := mssql.NewJobCredential(ctx, \"example\", \u0026mssql.JobCredentialArgs{\n\t\t\tName:       pulumi.String(\"example-job-credential\"),\n\t\t\tJobAgentId: exampleJobAgent.ID(),\n\t\t\tUsername:   pulumi.String(\"testusername\"),\n\t\t\tPassword:   pulumi.String(\"testpassword\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = mssql.NewJobTargetGroup(ctx, \"example\", \u0026mssql.JobTargetGroupArgs{\n\t\t\tName:       pulumi.String(\"example-target-group\"),\n\t\t\tJobAgentId: exampleJobAgent.ID(),\n\t\t\tJobTargets: mssql.JobTargetGroupJobTargetArray{\n\t\t\t\t\u0026mssql.JobTargetGroupJobTargetArgs{\n\t\t\t\t\tServerName:      exampleServer.Name,\n\t\t\t\t\tJobCredentialId: exampleJobCredential.ID(),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.mssql.Server;\nimport com.pulumi.azure.mssql.ServerArgs;\nimport com.pulumi.azure.mssql.Database;\nimport com.pulumi.azure.mssql.DatabaseArgs;\nimport com.pulumi.azure.mssql.JobAgent;\nimport com.pulumi.azure.mssql.JobAgentArgs;\nimport com.pulumi.azure.mssql.JobCredential;\nimport com.pulumi.azure.mssql.JobCredentialArgs;\nimport com.pulumi.azure.mssql.JobTargetGroup;\nimport com.pulumi.azure.mssql.JobTargetGroupArgs;\nimport com.pulumi.azure.mssql.inputs.JobTargetGroupJobTargetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example\")\n            .location(\"westeurope\")\n            .build());\n\n        var exampleServer = new Server(\"exampleServer\", ServerArgs.builder()\n            .name(\"example-server\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .version(\"12.0\")\n            .administratorLogin(\"4dm1n157r470r\")\n            .administratorLoginPassword(\"4-v3ry-53cr37-p455w0rd\")\n            .build());\n\n        var exampleDatabase = new Database(\"exampleDatabase\", DatabaseArgs.builder()\n            .name(\"example-db\")\n            .serverId(exampleServer.id())\n            .collation(\"SQL_Latin1_General_CP1_CI_AS\")\n            .skuName(\"S1\")\n            .build());\n\n        var exampleJobAgent = new JobAgent(\"exampleJobAgent\", JobAgentArgs.builder()\n            .name(\"example-job-agent\")\n            .location(example.location())\n            .databaseId(exampleDatabase.id())\n            .build());\n\n        var exampleJobCredential = new JobCredential(\"exampleJobCredential\", JobCredentialArgs.builder()\n            .name(\"example-job-credential\")\n            .jobAgentId(exampleJobAgent.id())\n            .username(\"testusername\")\n            .password(\"testpassword\")\n            .build());\n\n        var exampleJobTargetGroup = new JobTargetGroup(\"exampleJobTargetGroup\", JobTargetGroupArgs.builder()\n            .name(\"example-target-group\")\n            .jobAgentId(exampleJobAgent.id())\n            .jobTargets(JobTargetGroupJobTargetArgs.builder()\n                .serverName(exampleServer.name())\n                .jobCredentialId(exampleJobCredential.id())\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example\n      location: westeurope\n  exampleServer:\n    type: azure:mssql:Server\n    name: example\n    properties:\n      name: example-server\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      version: '12.0'\n      administratorLogin: 4dm1n157r470r\n      administratorLoginPassword: 4-v3ry-53cr37-p455w0rd\n  exampleDatabase:\n    type: azure:mssql:Database\n    name: example\n    properties:\n      name: example-db\n      serverId: ${exampleServer.id}\n      collation: SQL_Latin1_General_CP1_CI_AS\n      skuName: S1\n  exampleJobAgent:\n    type: azure:mssql:JobAgent\n    name: example\n    properties:\n      name: example-job-agent\n      location: ${example.location}\n      databaseId: ${exampleDatabase.id}\n  exampleJobCredential:\n    type: azure:mssql:JobCredential\n    name: example\n    properties:\n      name: example-job-credential\n      jobAgentId: ${exampleJobAgent.id}\n      username: testusername\n      password: testpassword\n  exampleJobTargetGroup:\n    type: azure:mssql:JobTargetGroup\n    name: example\n    properties:\n      name: example-target-group\n      jobAgentId: ${exampleJobAgent.id}\n      jobTargets:\n        - serverName: ${exampleServer.name}\n          jobCredentialId: ${exampleJobCredential.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Sql` - 2023-08-01-preview\n\n## Import\n\nJob Target Groups can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:mssql/jobTargetGroup:JobTargetGroup example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Sql/servers/myserver1/jobAgents/myjobagent1/targetGroups/mytargetgroup1\n```\n\n","properties":{"jobAgentId":{"type":"string","description":"The ID of the Elastic Job Agent. Changing this forces a new Job Target Group to be created.\n"},"jobTargets":{"type":"array","items":{"$ref":"#/types/azure:mssql/JobTargetGroupJobTarget:JobTargetGroupJobTarget"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`jobTarget`\" pulumi-lang-dotnet=\"`JobTarget`\" pulumi-lang-go=\"`jobTarget`\" pulumi-lang-python=\"`job_target`\" pulumi-lang-yaml=\"`jobTarget`\" pulumi-lang-java=\"`jobTarget`\"\u003e`job_target`\u003c/span\u003e blocks as defined below.\n"},"name":{"type":"string","description":"The name which should be used for this Job Target Group. Changing this forces a new Job Target Group to be created.\n"}},"required":["jobAgentId","name"],"inputProperties":{"jobAgentId":{"type":"string","description":"The ID of the Elastic Job Agent. Changing this forces a new Job Target Group to be created.\n","willReplaceOnChanges":true},"jobTargets":{"type":"array","items":{"$ref":"#/types/azure:mssql/JobTargetGroupJobTarget:JobTargetGroupJobTarget"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`jobTarget`\" pulumi-lang-dotnet=\"`JobTarget`\" pulumi-lang-go=\"`jobTarget`\" pulumi-lang-python=\"`job_target`\" pulumi-lang-yaml=\"`jobTarget`\" pulumi-lang-java=\"`jobTarget`\"\u003e`job_target`\u003c/span\u003e blocks as defined below.\n"},"name":{"type":"string","description":"The name which should be used for this Job Target Group. Changing this forces a new Job Target Group to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["jobAgentId"],"stateInputs":{"description":"Input properties used for looking up and filtering JobTargetGroup resources.\n","properties":{"jobAgentId":{"type":"string","description":"The ID of the Elastic Job Agent. Changing this forces a new Job Target Group to be created.\n","willReplaceOnChanges":true},"jobTargets":{"type":"array","items":{"$ref":"#/types/azure:mssql/JobTargetGroupJobTarget:JobTargetGroupJobTarget"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`jobTarget`\" pulumi-lang-dotnet=\"`JobTarget`\" pulumi-lang-go=\"`jobTarget`\" pulumi-lang-python=\"`job_target`\" pulumi-lang-yaml=\"`jobTarget`\" pulumi-lang-java=\"`jobTarget`\"\u003e`job_target`\u003c/span\u003e blocks as defined below.\n"},"name":{"type":"string","description":"The name which should be used for this Job Target Group. Changing this forces a new Job Target Group to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:mssql/managedDatabase:ManagedDatabase":{"description":"Manages an Azure SQL Azure Managed Database for a SQL Managed Instance.\n\n!\u003e **Note:** To mitigate the possibility of accidental data loss it is highly recommended that you use the \u003cspan pulumi-lang-nodejs=\"`preventDestroy`\" pulumi-lang-dotnet=\"`PreventDestroy`\" pulumi-lang-go=\"`preventDestroy`\" pulumi-lang-python=\"`prevent_destroy`\" pulumi-lang-yaml=\"`preventDestroy`\" pulumi-lang-java=\"`preventDestroy`\"\u003e`prevent_destroy`\u003c/span\u003e lifecycle argument in your configuration file for this resource. For more information on the \u003cspan pulumi-lang-nodejs=\"`preventDestroy`\" pulumi-lang-dotnet=\"`PreventDestroy`\" pulumi-lang-go=\"`preventDestroy`\" pulumi-lang-python=\"`prevent_destroy`\" pulumi-lang-yaml=\"`preventDestroy`\" pulumi-lang-java=\"`preventDestroy`\"\u003e`prevent_destroy`\u003c/span\u003e lifecycle argument please see the terraform documentation.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example\",\n    location: \"West Europe\",\n});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"example\", {\n    name: \"example\",\n    location: example.location,\n    resourceGroupName: example.name,\n    addressSpaces: [\"10.0.0.0/16\"],\n});\nconst exampleSubnet = new azure.network.Subnet(\"example\", {\n    name: \"example\",\n    resourceGroupName: example.name,\n    virtualNetworkName: exampleVirtualNetwork.name,\n    addressPrefixes: [\"10.0.2.0/24\"],\n});\nconst exampleManagedInstance = new azure.mssql.ManagedInstance(\"example\", {\n    name: \"managedsqlinstance\",\n    resourceGroupName: example.name,\n    location: example.location,\n    licenseType: \"BasePrice\",\n    skuName: \"GP_Gen5\",\n    storageSizeInGb: 32,\n    subnetId: exampleSubnet.id,\n    vcores: 4,\n    administratorLogin: \"msadministrator\",\n    administratorLoginPassword: \"thisIsDog11\",\n});\nconst exampleManagedDatabase = new azure.mssql.ManagedDatabase(\"example\", {\n    name: \"example\",\n    managedInstanceId: exampleManagedInstance.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example\",\n    location=\"West Europe\")\nexample_virtual_network = azure.network.VirtualNetwork(\"example\",\n    name=\"example\",\n    location=example.location,\n    resource_group_name=example.name,\n    address_spaces=[\"10.0.0.0/16\"])\nexample_subnet = azure.network.Subnet(\"example\",\n    name=\"example\",\n    resource_group_name=example.name,\n    virtual_network_name=example_virtual_network.name,\n    address_prefixes=[\"10.0.2.0/24\"])\nexample_managed_instance = azure.mssql.ManagedInstance(\"example\",\n    name=\"managedsqlinstance\",\n    resource_group_name=example.name,\n    location=example.location,\n    license_type=\"BasePrice\",\n    sku_name=\"GP_Gen5\",\n    storage_size_in_gb=32,\n    subnet_id=example_subnet.id,\n    vcores=4,\n    administrator_login=\"msadministrator\",\n    administrator_login_password=\"thisIsDog11\")\nexample_managed_database = azure.mssql.ManagedDatabase(\"example\",\n    name=\"example\",\n    managed_instance_id=example_managed_instance.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example\",\n        Location = \"West Europe\",\n    });\n\n    var exampleVirtualNetwork = new Azure.Network.VirtualNetwork(\"example\", new()\n    {\n        Name = \"example\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        AddressSpaces = new[]\n        {\n            \"10.0.0.0/16\",\n        },\n    });\n\n    var exampleSubnet = new Azure.Network.Subnet(\"example\", new()\n    {\n        Name = \"example\",\n        ResourceGroupName = example.Name,\n        VirtualNetworkName = exampleVirtualNetwork.Name,\n        AddressPrefixes = new[]\n        {\n            \"10.0.2.0/24\",\n        },\n    });\n\n    var exampleManagedInstance = new Azure.MSSql.ManagedInstance(\"example\", new()\n    {\n        Name = \"managedsqlinstance\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        LicenseType = \"BasePrice\",\n        SkuName = \"GP_Gen5\",\n        StorageSizeInGb = 32,\n        SubnetId = exampleSubnet.Id,\n        Vcores = 4,\n        AdministratorLogin = \"msadministrator\",\n        AdministratorLoginPassword = \"thisIsDog11\",\n    });\n\n    var exampleManagedDatabase = new Azure.MSSql.ManagedDatabase(\"example\", new()\n    {\n        Name = \"example\",\n        ManagedInstanceId = exampleManagedInstance.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/mssql\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, \"example\", \u0026network.VirtualNetworkArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tAddressSpaces: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.0.0/16\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSubnet, err := network.NewSubnet(ctx, \"example\", \u0026network.SubnetArgs{\n\t\t\tName:               pulumi.String(\"example\"),\n\t\t\tResourceGroupName:  example.Name,\n\t\t\tVirtualNetworkName: exampleVirtualNetwork.Name,\n\t\t\tAddressPrefixes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.2.0/24\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleManagedInstance, err := mssql.NewManagedInstance(ctx, \"example\", \u0026mssql.ManagedInstanceArgs{\n\t\t\tName:                       pulumi.String(\"managedsqlinstance\"),\n\t\t\tResourceGroupName:          example.Name,\n\t\t\tLocation:                   example.Location,\n\t\t\tLicenseType:                pulumi.String(\"BasePrice\"),\n\t\t\tSkuName:                    pulumi.String(\"GP_Gen5\"),\n\t\t\tStorageSizeInGb:            pulumi.Int(32),\n\t\t\tSubnetId:                   exampleSubnet.ID(),\n\t\t\tVcores:                     pulumi.Int(4),\n\t\t\tAdministratorLogin:         pulumi.String(\"msadministrator\"),\n\t\t\tAdministratorLoginPassword: pulumi.String(\"thisIsDog11\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = mssql.NewManagedDatabase(ctx, \"example\", \u0026mssql.ManagedDatabaseArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tManagedInstanceId: exampleManagedInstance.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.VirtualNetwork;\nimport com.pulumi.azure.network.VirtualNetworkArgs;\nimport com.pulumi.azure.network.Subnet;\nimport com.pulumi.azure.network.SubnetArgs;\nimport com.pulumi.azure.mssql.ManagedInstance;\nimport com.pulumi.azure.mssql.ManagedInstanceArgs;\nimport com.pulumi.azure.mssql.ManagedDatabase;\nimport com.pulumi.azure.mssql.ManagedDatabaseArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleVirtualNetwork = new VirtualNetwork(\"exampleVirtualNetwork\", VirtualNetworkArgs.builder()\n            .name(\"example\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .addressSpaces(\"10.0.0.0/16\")\n            .build());\n\n        var exampleSubnet = new Subnet(\"exampleSubnet\", SubnetArgs.builder()\n            .name(\"example\")\n            .resourceGroupName(example.name())\n            .virtualNetworkName(exampleVirtualNetwork.name())\n            .addressPrefixes(\"10.0.2.0/24\")\n            .build());\n\n        var exampleManagedInstance = new ManagedInstance(\"exampleManagedInstance\", ManagedInstanceArgs.builder()\n            .name(\"managedsqlinstance\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .licenseType(\"BasePrice\")\n            .skuName(\"GP_Gen5\")\n            .storageSizeInGb(32)\n            .subnetId(exampleSubnet.id())\n            .vcores(4)\n            .administratorLogin(\"msadministrator\")\n            .administratorLoginPassword(\"thisIsDog11\")\n            .build());\n\n        var exampleManagedDatabase = new ManagedDatabase(\"exampleManagedDatabase\", ManagedDatabaseArgs.builder()\n            .name(\"example\")\n            .managedInstanceId(exampleManagedInstance.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example\n      location: West Europe\n  exampleVirtualNetwork:\n    type: azure:network:VirtualNetwork\n    name: example\n    properties:\n      name: example\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      addressSpaces:\n        - 10.0.0.0/16\n  exampleSubnet:\n    type: azure:network:Subnet\n    name: example\n    properties:\n      name: example\n      resourceGroupName: ${example.name}\n      virtualNetworkName: ${exampleVirtualNetwork.name}\n      addressPrefixes:\n        - 10.0.2.0/24\n  exampleManagedInstance:\n    type: azure:mssql:ManagedInstance\n    name: example\n    properties:\n      name: managedsqlinstance\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      licenseType: BasePrice\n      skuName: GP_Gen5\n      storageSizeInGb: 32\n      subnetId: ${exampleSubnet.id}\n      vcores: 4\n      administratorLogin: msadministrator\n      administratorLoginPassword: thisIsDog11\n  exampleManagedDatabase:\n    type: azure:mssql:ManagedDatabase\n    name: example\n    properties:\n      name: example\n      managedInstanceId: ${exampleManagedInstance.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Sql` - 2023-08-01-preview\n\n## Import\n\nSQL Managed Databases can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:mssql/managedDatabase:ManagedDatabase example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myresourcegroup/providers/Microsoft.Sql/managedInstances/myserver/databases/mydatabase\n```\n\n","properties":{"longTermRetentionPolicy":{"$ref":"#/types/azure:mssql/ManagedDatabaseLongTermRetentionPolicy:ManagedDatabaseLongTermRetentionPolicy","description":"A \u003cspan pulumi-lang-nodejs=\"`longTermRetentionPolicy`\" pulumi-lang-dotnet=\"`LongTermRetentionPolicy`\" pulumi-lang-go=\"`longTermRetentionPolicy`\" pulumi-lang-python=\"`long_term_retention_policy`\" pulumi-lang-yaml=\"`longTermRetentionPolicy`\" pulumi-lang-java=\"`longTermRetentionPolicy`\"\u003e`long_term_retention_policy`\u003c/span\u003e block as defined below.\n"},"managedInstanceId":{"type":"string","description":"The ID of the Azure SQL Managed Instance on which to create this Managed Database. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"The name of the Managed Database to create. Changing this forces a new resource to be created.\n"},"pointInTimeRestore":{"$ref":"#/types/azure:mssql/ManagedDatabasePointInTimeRestore:ManagedDatabasePointInTimeRestore","description":"A \u003cspan pulumi-lang-nodejs=\"`pointInTimeRestore`\" pulumi-lang-dotnet=\"`PointInTimeRestore`\" pulumi-lang-go=\"`pointInTimeRestore`\" pulumi-lang-python=\"`point_in_time_restore`\" pulumi-lang-yaml=\"`pointInTimeRestore`\" pulumi-lang-java=\"`pointInTimeRestore`\"\u003e`point_in_time_restore`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n"},"shortTermRetentionDays":{"type":"integer","description":"The backup retention period in days. This is how many days Point-in-Time Restore will be supported.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"required":["longTermRetentionPolicy","managedInstanceId","name"],"inputProperties":{"longTermRetentionPolicy":{"$ref":"#/types/azure:mssql/ManagedDatabaseLongTermRetentionPolicy:ManagedDatabaseLongTermRetentionPolicy","description":"A \u003cspan pulumi-lang-nodejs=\"`longTermRetentionPolicy`\" pulumi-lang-dotnet=\"`LongTermRetentionPolicy`\" pulumi-lang-go=\"`longTermRetentionPolicy`\" pulumi-lang-python=\"`long_term_retention_policy`\" pulumi-lang-yaml=\"`longTermRetentionPolicy`\" pulumi-lang-java=\"`longTermRetentionPolicy`\"\u003e`long_term_retention_policy`\u003c/span\u003e block as defined below.\n"},"managedInstanceId":{"type":"string","description":"The ID of the Azure SQL Managed Instance on which to create this Managed Database. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the Managed Database to create. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"pointInTimeRestore":{"$ref":"#/types/azure:mssql/ManagedDatabasePointInTimeRestore:ManagedDatabasePointInTimeRestore","description":"A \u003cspan pulumi-lang-nodejs=\"`pointInTimeRestore`\" pulumi-lang-dotnet=\"`PointInTimeRestore`\" pulumi-lang-go=\"`pointInTimeRestore`\" pulumi-lang-python=\"`point_in_time_restore`\" pulumi-lang-yaml=\"`pointInTimeRestore`\" pulumi-lang-java=\"`pointInTimeRestore`\"\u003e`point_in_time_restore`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"shortTermRetentionDays":{"type":"integer","description":"The backup retention period in days. This is how many days Point-in-Time Restore will be supported.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"requiredInputs":["managedInstanceId"],"stateInputs":{"description":"Input properties used for looking up and filtering ManagedDatabase resources.\n","properties":{"longTermRetentionPolicy":{"$ref":"#/types/azure:mssql/ManagedDatabaseLongTermRetentionPolicy:ManagedDatabaseLongTermRetentionPolicy","description":"A \u003cspan pulumi-lang-nodejs=\"`longTermRetentionPolicy`\" pulumi-lang-dotnet=\"`LongTermRetentionPolicy`\" pulumi-lang-go=\"`longTermRetentionPolicy`\" pulumi-lang-python=\"`long_term_retention_policy`\" pulumi-lang-yaml=\"`longTermRetentionPolicy`\" pulumi-lang-java=\"`longTermRetentionPolicy`\"\u003e`long_term_retention_policy`\u003c/span\u003e block as defined below.\n"},"managedInstanceId":{"type":"string","description":"The ID of the Azure SQL Managed Instance on which to create this Managed Database. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the Managed Database to create. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"pointInTimeRestore":{"$ref":"#/types/azure:mssql/ManagedDatabasePointInTimeRestore:ManagedDatabasePointInTimeRestore","description":"A \u003cspan pulumi-lang-nodejs=\"`pointInTimeRestore`\" pulumi-lang-dotnet=\"`PointInTimeRestore`\" pulumi-lang-go=\"`pointInTimeRestore`\" pulumi-lang-python=\"`point_in_time_restore`\" pulumi-lang-yaml=\"`pointInTimeRestore`\" pulumi-lang-java=\"`pointInTimeRestore`\"\u003e`point_in_time_restore`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"shortTermRetentionDays":{"type":"integer","description":"The backup retention period in days. This is how many days Point-in-Time Restore will be supported.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"type":"object"},"aliases":[{"type":"azure:sql/managedDatabase:ManagedDatabase"}]},"azure:mssql/managedInstance:ManagedInstance":{"description":"Manages a Microsoft SQL Azure Managed Instance.\n\n\u003e **Note:** All arguments including the administrator login and password will be stored in the raw state as plain-text. [Read more about sensitive data in state](https://www.terraform.io/docs/state/sensitive-data.html).\n\n\u003e **Note:** SQL Managed Instance needs permission to read Azure Active Directory when configuring the AAD administrator. [Read more about provisioning AAD administrators](https://learn.microsoft.com/en-us/azure/azure-sql/database/authentication-aad-configure?view=azuresql#provision-azure-ad-admin-sql-managed-instance).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"database-rg\",\n    location: \"West Europe\",\n});\nconst exampleNetworkSecurityGroup = new azure.network.NetworkSecurityGroup(\"example\", {\n    name: \"mi-security-group\",\n    location: example.location,\n    resourceGroupName: example.name,\n});\nconst allowManagementInbound = new azure.network.NetworkSecurityRule(\"allow_management_inbound\", {\n    name: \"allow_management_inbound\",\n    priority: 106,\n    direction: \"Inbound\",\n    access: \"Allow\",\n    protocol: \"Tcp\",\n    sourcePortRange: \"*\",\n    destinationPortRanges: [\n        \"9000\",\n        \"9003\",\n        \"1438\",\n        \"1440\",\n        \"1452\",\n    ],\n    sourceAddressPrefix: \"*\",\n    destinationAddressPrefix: \"*\",\n    resourceGroupName: example.name,\n    networkSecurityGroupName: exampleNetworkSecurityGroup.name,\n});\nconst allowMisubnetInbound = new azure.network.NetworkSecurityRule(\"allow_misubnet_inbound\", {\n    name: \"allow_misubnet_inbound\",\n    priority: 200,\n    direction: \"Inbound\",\n    access: \"Allow\",\n    protocol: \"*\",\n    sourcePortRange: \"*\",\n    destinationPortRange: \"*\",\n    sourceAddressPrefix: \"10.0.0.0/24\",\n    destinationAddressPrefix: \"*\",\n    resourceGroupName: example.name,\n    networkSecurityGroupName: exampleNetworkSecurityGroup.name,\n});\nconst allowHealthProbeInbound = new azure.network.NetworkSecurityRule(\"allow_health_probe_inbound\", {\n    name: \"allow_health_probe_inbound\",\n    priority: 300,\n    direction: \"Inbound\",\n    access: \"Allow\",\n    protocol: \"*\",\n    sourcePortRange: \"*\",\n    destinationPortRange: \"*\",\n    sourceAddressPrefix: \"AzureLoadBalancer\",\n    destinationAddressPrefix: \"*\",\n    resourceGroupName: example.name,\n    networkSecurityGroupName: exampleNetworkSecurityGroup.name,\n});\nconst allowTdsInbound = new azure.network.NetworkSecurityRule(\"allow_tds_inbound\", {\n    name: \"allow_tds_inbound\",\n    priority: 1000,\n    direction: \"Inbound\",\n    access: \"Allow\",\n    protocol: \"Tcp\",\n    sourcePortRange: \"*\",\n    destinationPortRange: \"1433\",\n    sourceAddressPrefix: \"VirtualNetwork\",\n    destinationAddressPrefix: \"*\",\n    resourceGroupName: example.name,\n    networkSecurityGroupName: exampleNetworkSecurityGroup.name,\n});\nconst denyAllInbound = new azure.network.NetworkSecurityRule(\"deny_all_inbound\", {\n    name: \"deny_all_inbound\",\n    priority: 4096,\n    direction: \"Inbound\",\n    access: \"Deny\",\n    protocol: \"*\",\n    sourcePortRange: \"*\",\n    destinationPortRange: \"*\",\n    sourceAddressPrefix: \"*\",\n    destinationAddressPrefix: \"*\",\n    resourceGroupName: example.name,\n    networkSecurityGroupName: exampleNetworkSecurityGroup.name,\n});\nconst allowManagementOutbound = new azure.network.NetworkSecurityRule(\"allow_management_outbound\", {\n    name: \"allow_management_outbound\",\n    priority: 102,\n    direction: \"Outbound\",\n    access: \"Allow\",\n    protocol: \"Tcp\",\n    sourcePortRange: \"*\",\n    destinationPortRanges: [\n        \"80\",\n        \"443\",\n        \"12000\",\n    ],\n    sourceAddressPrefix: \"*\",\n    destinationAddressPrefix: \"*\",\n    resourceGroupName: example.name,\n    networkSecurityGroupName: exampleNetworkSecurityGroup.name,\n});\nconst allowMisubnetOutbound = new azure.network.NetworkSecurityRule(\"allow_misubnet_outbound\", {\n    name: \"allow_misubnet_outbound\",\n    priority: 200,\n    direction: \"Outbound\",\n    access: \"Allow\",\n    protocol: \"*\",\n    sourcePortRange: \"*\",\n    destinationPortRange: \"*\",\n    sourceAddressPrefix: \"10.0.0.0/24\",\n    destinationAddressPrefix: \"*\",\n    resourceGroupName: example.name,\n    networkSecurityGroupName: exampleNetworkSecurityGroup.name,\n});\nconst denyAllOutbound = new azure.network.NetworkSecurityRule(\"deny_all_outbound\", {\n    name: \"deny_all_outbound\",\n    priority: 4096,\n    direction: \"Outbound\",\n    access: \"Deny\",\n    protocol: \"*\",\n    sourcePortRange: \"*\",\n    destinationPortRange: \"*\",\n    sourceAddressPrefix: \"*\",\n    destinationAddressPrefix: \"*\",\n    resourceGroupName: example.name,\n    networkSecurityGroupName: exampleNetworkSecurityGroup.name,\n});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"example\", {\n    name: \"vnet-mi\",\n    resourceGroupName: example.name,\n    addressSpaces: [\"10.0.0.0/16\"],\n    location: example.location,\n});\nconst exampleSubnet = new azure.network.Subnet(\"example\", {\n    name: \"subnet-mi\",\n    resourceGroupName: example.name,\n    virtualNetworkName: exampleVirtualNetwork.name,\n    addressPrefixes: [\"10.0.0.0/24\"],\n    delegations: [{\n        name: \"managedinstancedelegation\",\n        serviceDelegation: {\n            name: \"Microsoft.Sql/managedInstances\",\n            actions: [\n                \"Microsoft.Network/virtualNetworks/subnets/join/action\",\n                \"Microsoft.Network/virtualNetworks/subnets/prepareNetworkPolicies/action\",\n                \"Microsoft.Network/virtualNetworks/subnets/unprepareNetworkPolicies/action\",\n            ],\n        },\n    }],\n});\nconst exampleSubnetNetworkSecurityGroupAssociation = new azure.network.SubnetNetworkSecurityGroupAssociation(\"example\", {\n    subnetId: exampleSubnet.id,\n    networkSecurityGroupId: exampleNetworkSecurityGroup.id,\n});\nconst exampleRouteTable = new azure.network.RouteTable(\"example\", {\n    name: \"routetable-mi\",\n    location: example.location,\n    resourceGroupName: example.name,\n    bgpRoutePropagationEnabled: true,\n}, {\n    dependsOn: [exampleSubnet],\n});\nconst exampleSubnetRouteTableAssociation = new azure.network.SubnetRouteTableAssociation(\"example\", {\n    subnetId: exampleSubnet.id,\n    routeTableId: exampleRouteTable.id,\n});\nconst exampleManagedInstance = new azure.mssql.ManagedInstance(\"example\", {\n    name: \"managedsqlinstance\",\n    resourceGroupName: example.name,\n    location: example.location,\n    licenseType: \"BasePrice\",\n    skuName: \"GP_Gen5\",\n    storageSizeInGb: 32,\n    subnetId: exampleSubnet.id,\n    vcores: 4,\n    administratorLogin: \"mradministrator\",\n    administratorLoginPassword: \"thisIsDog11\",\n}, {\n    dependsOn: [\n        exampleSubnetNetworkSecurityGroupAssociation,\n        exampleSubnetRouteTableAssociation,\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"database-rg\",\n    location=\"West Europe\")\nexample_network_security_group = azure.network.NetworkSecurityGroup(\"example\",\n    name=\"mi-security-group\",\n    location=example.location,\n    resource_group_name=example.name)\nallow_management_inbound = azure.network.NetworkSecurityRule(\"allow_management_inbound\",\n    name=\"allow_management_inbound\",\n    priority=106,\n    direction=\"Inbound\",\n    access=\"Allow\",\n    protocol=\"Tcp\",\n    source_port_range=\"*\",\n    destination_port_ranges=[\n        \"9000\",\n        \"9003\",\n        \"1438\",\n        \"1440\",\n        \"1452\",\n    ],\n    source_address_prefix=\"*\",\n    destination_address_prefix=\"*\",\n    resource_group_name=example.name,\n    network_security_group_name=example_network_security_group.name)\nallow_misubnet_inbound = azure.network.NetworkSecurityRule(\"allow_misubnet_inbound\",\n    name=\"allow_misubnet_inbound\",\n    priority=200,\n    direction=\"Inbound\",\n    access=\"Allow\",\n    protocol=\"*\",\n    source_port_range=\"*\",\n    destination_port_range=\"*\",\n    source_address_prefix=\"10.0.0.0/24\",\n    destination_address_prefix=\"*\",\n    resource_group_name=example.name,\n    network_security_group_name=example_network_security_group.name)\nallow_health_probe_inbound = azure.network.NetworkSecurityRule(\"allow_health_probe_inbound\",\n    name=\"allow_health_probe_inbound\",\n    priority=300,\n    direction=\"Inbound\",\n    access=\"Allow\",\n    protocol=\"*\",\n    source_port_range=\"*\",\n    destination_port_range=\"*\",\n    source_address_prefix=\"AzureLoadBalancer\",\n    destination_address_prefix=\"*\",\n    resource_group_name=example.name,\n    network_security_group_name=example_network_security_group.name)\nallow_tds_inbound = azure.network.NetworkSecurityRule(\"allow_tds_inbound\",\n    name=\"allow_tds_inbound\",\n    priority=1000,\n    direction=\"Inbound\",\n    access=\"Allow\",\n    protocol=\"Tcp\",\n    source_port_range=\"*\",\n    destination_port_range=\"1433\",\n    source_address_prefix=\"VirtualNetwork\",\n    destination_address_prefix=\"*\",\n    resource_group_name=example.name,\n    network_security_group_name=example_network_security_group.name)\ndeny_all_inbound = azure.network.NetworkSecurityRule(\"deny_all_inbound\",\n    name=\"deny_all_inbound\",\n    priority=4096,\n    direction=\"Inbound\",\n    access=\"Deny\",\n    protocol=\"*\",\n    source_port_range=\"*\",\n    destination_port_range=\"*\",\n    source_address_prefix=\"*\",\n    destination_address_prefix=\"*\",\n    resource_group_name=example.name,\n    network_security_group_name=example_network_security_group.name)\nallow_management_outbound = azure.network.NetworkSecurityRule(\"allow_management_outbound\",\n    name=\"allow_management_outbound\",\n    priority=102,\n    direction=\"Outbound\",\n    access=\"Allow\",\n    protocol=\"Tcp\",\n    source_port_range=\"*\",\n    destination_port_ranges=[\n        \"80\",\n        \"443\",\n        \"12000\",\n    ],\n    source_address_prefix=\"*\",\n    destination_address_prefix=\"*\",\n    resource_group_name=example.name,\n    network_security_group_name=example_network_security_group.name)\nallow_misubnet_outbound = azure.network.NetworkSecurityRule(\"allow_misubnet_outbound\",\n    name=\"allow_misubnet_outbound\",\n    priority=200,\n    direction=\"Outbound\",\n    access=\"Allow\",\n    protocol=\"*\",\n    source_port_range=\"*\",\n    destination_port_range=\"*\",\n    source_address_prefix=\"10.0.0.0/24\",\n    destination_address_prefix=\"*\",\n    resource_group_name=example.name,\n    network_security_group_name=example_network_security_group.name)\ndeny_all_outbound = azure.network.NetworkSecurityRule(\"deny_all_outbound\",\n    name=\"deny_all_outbound\",\n    priority=4096,\n    direction=\"Outbound\",\n    access=\"Deny\",\n    protocol=\"*\",\n    source_port_range=\"*\",\n    destination_port_range=\"*\",\n    source_address_prefix=\"*\",\n    destination_address_prefix=\"*\",\n    resource_group_name=example.name,\n    network_security_group_name=example_network_security_group.name)\nexample_virtual_network = azure.network.VirtualNetwork(\"example\",\n    name=\"vnet-mi\",\n    resource_group_name=example.name,\n    address_spaces=[\"10.0.0.0/16\"],\n    location=example.location)\nexample_subnet = azure.network.Subnet(\"example\",\n    name=\"subnet-mi\",\n    resource_group_name=example.name,\n    virtual_network_name=example_virtual_network.name,\n    address_prefixes=[\"10.0.0.0/24\"],\n    delegations=[{\n        \"name\": \"managedinstancedelegation\",\n        \"service_delegation\": {\n            \"name\": \"Microsoft.Sql/managedInstances\",\n            \"actions\": [\n                \"Microsoft.Network/virtualNetworks/subnets/join/action\",\n                \"Microsoft.Network/virtualNetworks/subnets/prepareNetworkPolicies/action\",\n                \"Microsoft.Network/virtualNetworks/subnets/unprepareNetworkPolicies/action\",\n            ],\n        },\n    }])\nexample_subnet_network_security_group_association = azure.network.SubnetNetworkSecurityGroupAssociation(\"example\",\n    subnet_id=example_subnet.id,\n    network_security_group_id=example_network_security_group.id)\nexample_route_table = azure.network.RouteTable(\"example\",\n    name=\"routetable-mi\",\n    location=example.location,\n    resource_group_name=example.name,\n    bgp_route_propagation_enabled=True,\n    opts = pulumi.ResourceOptions(depends_on=[example_subnet]))\nexample_subnet_route_table_association = azure.network.SubnetRouteTableAssociation(\"example\",\n    subnet_id=example_subnet.id,\n    route_table_id=example_route_table.id)\nexample_managed_instance = azure.mssql.ManagedInstance(\"example\",\n    name=\"managedsqlinstance\",\n    resource_group_name=example.name,\n    location=example.location,\n    license_type=\"BasePrice\",\n    sku_name=\"GP_Gen5\",\n    storage_size_in_gb=32,\n    subnet_id=example_subnet.id,\n    vcores=4,\n    administrator_login=\"mradministrator\",\n    administrator_login_password=\"thisIsDog11\",\n    opts = pulumi.ResourceOptions(depends_on=[\n            example_subnet_network_security_group_association,\n            example_subnet_route_table_association,\n        ]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"database-rg\",\n        Location = \"West Europe\",\n    });\n\n    var exampleNetworkSecurityGroup = new Azure.Network.NetworkSecurityGroup(\"example\", new()\n    {\n        Name = \"mi-security-group\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n    });\n\n    var allowManagementInbound = new Azure.Network.NetworkSecurityRule(\"allow_management_inbound\", new()\n    {\n        Name = \"allow_management_inbound\",\n        Priority = 106,\n        Direction = \"Inbound\",\n        Access = \"Allow\",\n        Protocol = \"Tcp\",\n        SourcePortRange = \"*\",\n        DestinationPortRanges = new[]\n        {\n            \"9000\",\n            \"9003\",\n            \"1438\",\n            \"1440\",\n            \"1452\",\n        },\n        SourceAddressPrefix = \"*\",\n        DestinationAddressPrefix = \"*\",\n        ResourceGroupName = example.Name,\n        NetworkSecurityGroupName = exampleNetworkSecurityGroup.Name,\n    });\n\n    var allowMisubnetInbound = new Azure.Network.NetworkSecurityRule(\"allow_misubnet_inbound\", new()\n    {\n        Name = \"allow_misubnet_inbound\",\n        Priority = 200,\n        Direction = \"Inbound\",\n        Access = \"Allow\",\n        Protocol = \"*\",\n        SourcePortRange = \"*\",\n        DestinationPortRange = \"*\",\n        SourceAddressPrefix = \"10.0.0.0/24\",\n        DestinationAddressPrefix = \"*\",\n        ResourceGroupName = example.Name,\n        NetworkSecurityGroupName = exampleNetworkSecurityGroup.Name,\n    });\n\n    var allowHealthProbeInbound = new Azure.Network.NetworkSecurityRule(\"allow_health_probe_inbound\", new()\n    {\n        Name = \"allow_health_probe_inbound\",\n        Priority = 300,\n        Direction = \"Inbound\",\n        Access = \"Allow\",\n        Protocol = \"*\",\n        SourcePortRange = \"*\",\n        DestinationPortRange = \"*\",\n        SourceAddressPrefix = \"AzureLoadBalancer\",\n        DestinationAddressPrefix = \"*\",\n        ResourceGroupName = example.Name,\n        NetworkSecurityGroupName = exampleNetworkSecurityGroup.Name,\n    });\n\n    var allowTdsInbound = new Azure.Network.NetworkSecurityRule(\"allow_tds_inbound\", new()\n    {\n        Name = \"allow_tds_inbound\",\n        Priority = 1000,\n        Direction = \"Inbound\",\n        Access = \"Allow\",\n        Protocol = \"Tcp\",\n        SourcePortRange = \"*\",\n        DestinationPortRange = \"1433\",\n        SourceAddressPrefix = \"VirtualNetwork\",\n        DestinationAddressPrefix = \"*\",\n        ResourceGroupName = example.Name,\n        NetworkSecurityGroupName = exampleNetworkSecurityGroup.Name,\n    });\n\n    var denyAllInbound = new Azure.Network.NetworkSecurityRule(\"deny_all_inbound\", new()\n    {\n        Name = \"deny_all_inbound\",\n        Priority = 4096,\n        Direction = \"Inbound\",\n        Access = \"Deny\",\n        Protocol = \"*\",\n        SourcePortRange = \"*\",\n        DestinationPortRange = \"*\",\n        SourceAddressPrefix = \"*\",\n        DestinationAddressPrefix = \"*\",\n        ResourceGroupName = example.Name,\n        NetworkSecurityGroupName = exampleNetworkSecurityGroup.Name,\n    });\n\n    var allowManagementOutbound = new Azure.Network.NetworkSecurityRule(\"allow_management_outbound\", new()\n    {\n        Name = \"allow_management_outbound\",\n        Priority = 102,\n        Direction = \"Outbound\",\n        Access = \"Allow\",\n        Protocol = \"Tcp\",\n        SourcePortRange = \"*\",\n        DestinationPortRanges = new[]\n        {\n            \"80\",\n            \"443\",\n            \"12000\",\n        },\n        SourceAddressPrefix = \"*\",\n        DestinationAddressPrefix = \"*\",\n        ResourceGroupName = example.Name,\n        NetworkSecurityGroupName = exampleNetworkSecurityGroup.Name,\n    });\n\n    var allowMisubnetOutbound = new Azure.Network.NetworkSecurityRule(\"allow_misubnet_outbound\", new()\n    {\n        Name = \"allow_misubnet_outbound\",\n        Priority = 200,\n        Direction = \"Outbound\",\n        Access = \"Allow\",\n        Protocol = \"*\",\n        SourcePortRange = \"*\",\n        DestinationPortRange = \"*\",\n        SourceAddressPrefix = \"10.0.0.0/24\",\n        DestinationAddressPrefix = \"*\",\n        ResourceGroupName = example.Name,\n        NetworkSecurityGroupName = exampleNetworkSecurityGroup.Name,\n    });\n\n    var denyAllOutbound = new Azure.Network.NetworkSecurityRule(\"deny_all_outbound\", new()\n    {\n        Name = \"deny_all_outbound\",\n        Priority = 4096,\n        Direction = \"Outbound\",\n        Access = \"Deny\",\n        Protocol = \"*\",\n        SourcePortRange = \"*\",\n        DestinationPortRange = \"*\",\n        SourceAddressPrefix = \"*\",\n        DestinationAddressPrefix = \"*\",\n        ResourceGroupName = example.Name,\n        NetworkSecurityGroupName = exampleNetworkSecurityGroup.Name,\n    });\n\n    var exampleVirtualNetwork = new Azure.Network.VirtualNetwork(\"example\", new()\n    {\n        Name = \"vnet-mi\",\n        ResourceGroupName = example.Name,\n        AddressSpaces = new[]\n        {\n            \"10.0.0.0/16\",\n        },\n        Location = example.Location,\n    });\n\n    var exampleSubnet = new Azure.Network.Subnet(\"example\", new()\n    {\n        Name = \"subnet-mi\",\n        ResourceGroupName = example.Name,\n        VirtualNetworkName = exampleVirtualNetwork.Name,\n        AddressPrefixes = new[]\n        {\n            \"10.0.0.0/24\",\n        },\n        Delegations = new[]\n        {\n            new Azure.Network.Inputs.SubnetDelegationArgs\n            {\n                Name = \"managedinstancedelegation\",\n                ServiceDelegation = new Azure.Network.Inputs.SubnetDelegationServiceDelegationArgs\n                {\n                    Name = \"Microsoft.Sql/managedInstances\",\n                    Actions = new[]\n                    {\n                        \"Microsoft.Network/virtualNetworks/subnets/join/action\",\n                        \"Microsoft.Network/virtualNetworks/subnets/prepareNetworkPolicies/action\",\n                        \"Microsoft.Network/virtualNetworks/subnets/unprepareNetworkPolicies/action\",\n                    },\n                },\n            },\n        },\n    });\n\n    var exampleSubnetNetworkSecurityGroupAssociation = new Azure.Network.SubnetNetworkSecurityGroupAssociation(\"example\", new()\n    {\n        SubnetId = exampleSubnet.Id,\n        NetworkSecurityGroupId = exampleNetworkSecurityGroup.Id,\n    });\n\n    var exampleRouteTable = new Azure.Network.RouteTable(\"example\", new()\n    {\n        Name = \"routetable-mi\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        BgpRoutePropagationEnabled = true,\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            exampleSubnet,\n        },\n    });\n\n    var exampleSubnetRouteTableAssociation = new Azure.Network.SubnetRouteTableAssociation(\"example\", new()\n    {\n        SubnetId = exampleSubnet.Id,\n        RouteTableId = exampleRouteTable.Id,\n    });\n\n    var exampleManagedInstance = new Azure.MSSql.ManagedInstance(\"example\", new()\n    {\n        Name = \"managedsqlinstance\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        LicenseType = \"BasePrice\",\n        SkuName = \"GP_Gen5\",\n        StorageSizeInGb = 32,\n        SubnetId = exampleSubnet.Id,\n        Vcores = 4,\n        AdministratorLogin = \"mradministrator\",\n        AdministratorLoginPassword = \"thisIsDog11\",\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            exampleSubnetNetworkSecurityGroupAssociation,\n            exampleSubnetRouteTableAssociation,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/mssql\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"database-rg\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNetworkSecurityGroup, err := network.NewNetworkSecurityGroup(ctx, \"example\", \u0026network.NetworkSecurityGroupArgs{\n\t\t\tName:              pulumi.String(\"mi-security-group\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = network.NewNetworkSecurityRule(ctx, \"allow_management_inbound\", \u0026network.NetworkSecurityRuleArgs{\n\t\t\tName:            pulumi.String(\"allow_management_inbound\"),\n\t\t\tPriority:        pulumi.Int(106),\n\t\t\tDirection:       pulumi.String(\"Inbound\"),\n\t\t\tAccess:          pulumi.String(\"Allow\"),\n\t\t\tProtocol:        pulumi.String(\"Tcp\"),\n\t\t\tSourcePortRange: pulumi.String(\"*\"),\n\t\t\tDestinationPortRanges: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"9000\"),\n\t\t\t\tpulumi.String(\"9003\"),\n\t\t\t\tpulumi.String(\"1438\"),\n\t\t\t\tpulumi.String(\"1440\"),\n\t\t\t\tpulumi.String(\"1452\"),\n\t\t\t},\n\t\t\tSourceAddressPrefix:      pulumi.String(\"*\"),\n\t\t\tDestinationAddressPrefix: pulumi.String(\"*\"),\n\t\t\tResourceGroupName:        example.Name,\n\t\t\tNetworkSecurityGroupName: exampleNetworkSecurityGroup.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = network.NewNetworkSecurityRule(ctx, \"allow_misubnet_inbound\", \u0026network.NetworkSecurityRuleArgs{\n\t\t\tName:                     pulumi.String(\"allow_misubnet_inbound\"),\n\t\t\tPriority:                 pulumi.Int(200),\n\t\t\tDirection:                pulumi.String(\"Inbound\"),\n\t\t\tAccess:                   pulumi.String(\"Allow\"),\n\t\t\tProtocol:                 pulumi.String(\"*\"),\n\t\t\tSourcePortRange:          pulumi.String(\"*\"),\n\t\t\tDestinationPortRange:     pulumi.String(\"*\"),\n\t\t\tSourceAddressPrefix:      pulumi.String(\"10.0.0.0/24\"),\n\t\t\tDestinationAddressPrefix: pulumi.String(\"*\"),\n\t\t\tResourceGroupName:        example.Name,\n\t\t\tNetworkSecurityGroupName: exampleNetworkSecurityGroup.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = network.NewNetworkSecurityRule(ctx, \"allow_health_probe_inbound\", \u0026network.NetworkSecurityRuleArgs{\n\t\t\tName:                     pulumi.String(\"allow_health_probe_inbound\"),\n\t\t\tPriority:                 pulumi.Int(300),\n\t\t\tDirection:                pulumi.String(\"Inbound\"),\n\t\t\tAccess:                   pulumi.String(\"Allow\"),\n\t\t\tProtocol:                 pulumi.String(\"*\"),\n\t\t\tSourcePortRange:          pulumi.String(\"*\"),\n\t\t\tDestinationPortRange:     pulumi.String(\"*\"),\n\t\t\tSourceAddressPrefix:      pulumi.String(\"AzureLoadBalancer\"),\n\t\t\tDestinationAddressPrefix: pulumi.String(\"*\"),\n\t\t\tResourceGroupName:        example.Name,\n\t\t\tNetworkSecurityGroupName: exampleNetworkSecurityGroup.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = network.NewNetworkSecurityRule(ctx, \"allow_tds_inbound\", \u0026network.NetworkSecurityRuleArgs{\n\t\t\tName:                     pulumi.String(\"allow_tds_inbound\"),\n\t\t\tPriority:                 pulumi.Int(1000),\n\t\t\tDirection:                pulumi.String(\"Inbound\"),\n\t\t\tAccess:                   pulumi.String(\"Allow\"),\n\t\t\tProtocol:                 pulumi.String(\"Tcp\"),\n\t\t\tSourcePortRange:          pulumi.String(\"*\"),\n\t\t\tDestinationPortRange:     pulumi.String(\"1433\"),\n\t\t\tSourceAddressPrefix:      pulumi.String(\"VirtualNetwork\"),\n\t\t\tDestinationAddressPrefix: pulumi.String(\"*\"),\n\t\t\tResourceGroupName:        example.Name,\n\t\t\tNetworkSecurityGroupName: exampleNetworkSecurityGroup.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = network.NewNetworkSecurityRule(ctx, \"deny_all_inbound\", \u0026network.NetworkSecurityRuleArgs{\n\t\t\tName:                     pulumi.String(\"deny_all_inbound\"),\n\t\t\tPriority:                 pulumi.Int(4096),\n\t\t\tDirection:                pulumi.String(\"Inbound\"),\n\t\t\tAccess:                   pulumi.String(\"Deny\"),\n\t\t\tProtocol:                 pulumi.String(\"*\"),\n\t\t\tSourcePortRange:          pulumi.String(\"*\"),\n\t\t\tDestinationPortRange:     pulumi.String(\"*\"),\n\t\t\tSourceAddressPrefix:      pulumi.String(\"*\"),\n\t\t\tDestinationAddressPrefix: pulumi.String(\"*\"),\n\t\t\tResourceGroupName:        example.Name,\n\t\t\tNetworkSecurityGroupName: exampleNetworkSecurityGroup.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = network.NewNetworkSecurityRule(ctx, \"allow_management_outbound\", \u0026network.NetworkSecurityRuleArgs{\n\t\t\tName:            pulumi.String(\"allow_management_outbound\"),\n\t\t\tPriority:        pulumi.Int(102),\n\t\t\tDirection:       pulumi.String(\"Outbound\"),\n\t\t\tAccess:          pulumi.String(\"Allow\"),\n\t\t\tProtocol:        pulumi.String(\"Tcp\"),\n\t\t\tSourcePortRange: pulumi.String(\"*\"),\n\t\t\tDestinationPortRanges: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"80\"),\n\t\t\t\tpulumi.String(\"443\"),\n\t\t\t\tpulumi.String(\"12000\"),\n\t\t\t},\n\t\t\tSourceAddressPrefix:      pulumi.String(\"*\"),\n\t\t\tDestinationAddressPrefix: pulumi.String(\"*\"),\n\t\t\tResourceGroupName:        example.Name,\n\t\t\tNetworkSecurityGroupName: exampleNetworkSecurityGroup.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = network.NewNetworkSecurityRule(ctx, \"allow_misubnet_outbound\", \u0026network.NetworkSecurityRuleArgs{\n\t\t\tName:                     pulumi.String(\"allow_misubnet_outbound\"),\n\t\t\tPriority:                 pulumi.Int(200),\n\t\t\tDirection:                pulumi.String(\"Outbound\"),\n\t\t\tAccess:                   pulumi.String(\"Allow\"),\n\t\t\tProtocol:                 pulumi.String(\"*\"),\n\t\t\tSourcePortRange:          pulumi.String(\"*\"),\n\t\t\tDestinationPortRange:     pulumi.String(\"*\"),\n\t\t\tSourceAddressPrefix:      pulumi.String(\"10.0.0.0/24\"),\n\t\t\tDestinationAddressPrefix: pulumi.String(\"*\"),\n\t\t\tResourceGroupName:        example.Name,\n\t\t\tNetworkSecurityGroupName: exampleNetworkSecurityGroup.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = network.NewNetworkSecurityRule(ctx, \"deny_all_outbound\", \u0026network.NetworkSecurityRuleArgs{\n\t\t\tName:                     pulumi.String(\"deny_all_outbound\"),\n\t\t\tPriority:                 pulumi.Int(4096),\n\t\t\tDirection:                pulumi.String(\"Outbound\"),\n\t\t\tAccess:                   pulumi.String(\"Deny\"),\n\t\t\tProtocol:                 pulumi.String(\"*\"),\n\t\t\tSourcePortRange:          pulumi.String(\"*\"),\n\t\t\tDestinationPortRange:     pulumi.String(\"*\"),\n\t\t\tSourceAddressPrefix:      pulumi.String(\"*\"),\n\t\t\tDestinationAddressPrefix: pulumi.String(\"*\"),\n\t\t\tResourceGroupName:        example.Name,\n\t\t\tNetworkSecurityGroupName: exampleNetworkSecurityGroup.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, \"example\", \u0026network.VirtualNetworkArgs{\n\t\t\tName:              pulumi.String(\"vnet-mi\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tAddressSpaces: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.0.0/16\"),\n\t\t\t},\n\t\t\tLocation: example.Location,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSubnet, err := network.NewSubnet(ctx, \"example\", \u0026network.SubnetArgs{\n\t\t\tName:               pulumi.String(\"subnet-mi\"),\n\t\t\tResourceGroupName:  example.Name,\n\t\t\tVirtualNetworkName: exampleVirtualNetwork.Name,\n\t\t\tAddressPrefixes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.0.0/24\"),\n\t\t\t},\n\t\t\tDelegations: network.SubnetDelegationArray{\n\t\t\t\t\u0026network.SubnetDelegationArgs{\n\t\t\t\t\tName: pulumi.String(\"managedinstancedelegation\"),\n\t\t\t\t\tServiceDelegation: \u0026network.SubnetDelegationServiceDelegationArgs{\n\t\t\t\t\t\tName: pulumi.String(\"Microsoft.Sql/managedInstances\"),\n\t\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"Microsoft.Network/virtualNetworks/subnets/join/action\"),\n\t\t\t\t\t\t\tpulumi.String(\"Microsoft.Network/virtualNetworks/subnets/prepareNetworkPolicies/action\"),\n\t\t\t\t\t\t\tpulumi.String(\"Microsoft.Network/virtualNetworks/subnets/unprepareNetworkPolicies/action\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSubnetNetworkSecurityGroupAssociation, err := network.NewSubnetNetworkSecurityGroupAssociation(ctx, \"example\", \u0026network.SubnetNetworkSecurityGroupAssociationArgs{\n\t\t\tSubnetId:               exampleSubnet.ID(),\n\t\t\tNetworkSecurityGroupId: exampleNetworkSecurityGroup.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleRouteTable, err := network.NewRouteTable(ctx, \"example\", \u0026network.RouteTableArgs{\n\t\t\tName:                       pulumi.String(\"routetable-mi\"),\n\t\t\tLocation:                   example.Location,\n\t\t\tResourceGroupName:          example.Name,\n\t\t\tBgpRoutePropagationEnabled: pulumi.Bool(true),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleSubnet,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSubnetRouteTableAssociation, err := network.NewSubnetRouteTableAssociation(ctx, \"example\", \u0026network.SubnetRouteTableAssociationArgs{\n\t\t\tSubnetId:     exampleSubnet.ID(),\n\t\t\tRouteTableId: exampleRouteTable.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = mssql.NewManagedInstance(ctx, \"example\", \u0026mssql.ManagedInstanceArgs{\n\t\t\tName:                       pulumi.String(\"managedsqlinstance\"),\n\t\t\tResourceGroupName:          example.Name,\n\t\t\tLocation:                   example.Location,\n\t\t\tLicenseType:                pulumi.String(\"BasePrice\"),\n\t\t\tSkuName:                    pulumi.String(\"GP_Gen5\"),\n\t\t\tStorageSizeInGb:            pulumi.Int(32),\n\t\t\tSubnetId:                   exampleSubnet.ID(),\n\t\t\tVcores:                     pulumi.Int(4),\n\t\t\tAdministratorLogin:         pulumi.String(\"mradministrator\"),\n\t\t\tAdministratorLoginPassword: pulumi.String(\"thisIsDog11\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleSubnetNetworkSecurityGroupAssociation,\n\t\t\texampleSubnetRouteTableAssociation,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.NetworkSecurityGroup;\nimport com.pulumi.azure.network.NetworkSecurityGroupArgs;\nimport com.pulumi.azure.network.NetworkSecurityRule;\nimport com.pulumi.azure.network.NetworkSecurityRuleArgs;\nimport com.pulumi.azure.network.VirtualNetwork;\nimport com.pulumi.azure.network.VirtualNetworkArgs;\nimport com.pulumi.azure.network.Subnet;\nimport com.pulumi.azure.network.SubnetArgs;\nimport com.pulumi.azure.network.inputs.SubnetDelegationArgs;\nimport com.pulumi.azure.network.inputs.SubnetDelegationServiceDelegationArgs;\nimport com.pulumi.azure.network.SubnetNetworkSecurityGroupAssociation;\nimport com.pulumi.azure.network.SubnetNetworkSecurityGroupAssociationArgs;\nimport com.pulumi.azure.network.RouteTable;\nimport com.pulumi.azure.network.RouteTableArgs;\nimport com.pulumi.azure.network.SubnetRouteTableAssociation;\nimport com.pulumi.azure.network.SubnetRouteTableAssociationArgs;\nimport com.pulumi.azure.mssql.ManagedInstance;\nimport com.pulumi.azure.mssql.ManagedInstanceArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"database-rg\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleNetworkSecurityGroup = new NetworkSecurityGroup(\"exampleNetworkSecurityGroup\", NetworkSecurityGroupArgs.builder()\n            .name(\"mi-security-group\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .build());\n\n        var allowManagementInbound = new NetworkSecurityRule(\"allowManagementInbound\", NetworkSecurityRuleArgs.builder()\n            .name(\"allow_management_inbound\")\n            .priority(106)\n            .direction(\"Inbound\")\n            .access(\"Allow\")\n            .protocol(\"Tcp\")\n            .sourcePortRange(\"*\")\n            .destinationPortRanges(            \n                \"9000\",\n                \"9003\",\n                \"1438\",\n                \"1440\",\n                \"1452\")\n            .sourceAddressPrefix(\"*\")\n            .destinationAddressPrefix(\"*\")\n            .resourceGroupName(example.name())\n            .networkSecurityGroupName(exampleNetworkSecurityGroup.name())\n            .build());\n\n        var allowMisubnetInbound = new NetworkSecurityRule(\"allowMisubnetInbound\", NetworkSecurityRuleArgs.builder()\n            .name(\"allow_misubnet_inbound\")\n            .priority(200)\n            .direction(\"Inbound\")\n            .access(\"Allow\")\n            .protocol(\"*\")\n            .sourcePortRange(\"*\")\n            .destinationPortRange(\"*\")\n            .sourceAddressPrefix(\"10.0.0.0/24\")\n            .destinationAddressPrefix(\"*\")\n            .resourceGroupName(example.name())\n            .networkSecurityGroupName(exampleNetworkSecurityGroup.name())\n            .build());\n\n        var allowHealthProbeInbound = new NetworkSecurityRule(\"allowHealthProbeInbound\", NetworkSecurityRuleArgs.builder()\n            .name(\"allow_health_probe_inbound\")\n            .priority(300)\n            .direction(\"Inbound\")\n            .access(\"Allow\")\n            .protocol(\"*\")\n            .sourcePortRange(\"*\")\n            .destinationPortRange(\"*\")\n            .sourceAddressPrefix(\"AzureLoadBalancer\")\n            .destinationAddressPrefix(\"*\")\n            .resourceGroupName(example.name())\n            .networkSecurityGroupName(exampleNetworkSecurityGroup.name())\n            .build());\n\n        var allowTdsInbound = new NetworkSecurityRule(\"allowTdsInbound\", NetworkSecurityRuleArgs.builder()\n            .name(\"allow_tds_inbound\")\n            .priority(1000)\n            .direction(\"Inbound\")\n            .access(\"Allow\")\n            .protocol(\"Tcp\")\n            .sourcePortRange(\"*\")\n            .destinationPortRange(\"1433\")\n            .sourceAddressPrefix(\"VirtualNetwork\")\n            .destinationAddressPrefix(\"*\")\n            .resourceGroupName(example.name())\n            .networkSecurityGroupName(exampleNetworkSecurityGroup.name())\n            .build());\n\n        var denyAllInbound = new NetworkSecurityRule(\"denyAllInbound\", NetworkSecurityRuleArgs.builder()\n            .name(\"deny_all_inbound\")\n            .priority(4096)\n            .direction(\"Inbound\")\n            .access(\"Deny\")\n            .protocol(\"*\")\n            .sourcePortRange(\"*\")\n            .destinationPortRange(\"*\")\n            .sourceAddressPrefix(\"*\")\n            .destinationAddressPrefix(\"*\")\n            .resourceGroupName(example.name())\n            .networkSecurityGroupName(exampleNetworkSecurityGroup.name())\n            .build());\n\n        var allowManagementOutbound = new NetworkSecurityRule(\"allowManagementOutbound\", NetworkSecurityRuleArgs.builder()\n            .name(\"allow_management_outbound\")\n            .priority(102)\n            .direction(\"Outbound\")\n            .access(\"Allow\")\n            .protocol(\"Tcp\")\n            .sourcePortRange(\"*\")\n            .destinationPortRanges(            \n                \"80\",\n                \"443\",\n                \"12000\")\n            .sourceAddressPrefix(\"*\")\n            .destinationAddressPrefix(\"*\")\n            .resourceGroupName(example.name())\n            .networkSecurityGroupName(exampleNetworkSecurityGroup.name())\n            .build());\n\n        var allowMisubnetOutbound = new NetworkSecurityRule(\"allowMisubnetOutbound\", NetworkSecurityRuleArgs.builder()\n            .name(\"allow_misubnet_outbound\")\n            .priority(200)\n            .direction(\"Outbound\")\n            .access(\"Allow\")\n            .protocol(\"*\")\n            .sourcePortRange(\"*\")\n            .destinationPortRange(\"*\")\n            .sourceAddressPrefix(\"10.0.0.0/24\")\n            .destinationAddressPrefix(\"*\")\n            .resourceGroupName(example.name())\n            .networkSecurityGroupName(exampleNetworkSecurityGroup.name())\n            .build());\n\n        var denyAllOutbound = new NetworkSecurityRule(\"denyAllOutbound\", NetworkSecurityRuleArgs.builder()\n            .name(\"deny_all_outbound\")\n            .priority(4096)\n            .direction(\"Outbound\")\n            .access(\"Deny\")\n            .protocol(\"*\")\n            .sourcePortRange(\"*\")\n            .destinationPortRange(\"*\")\n            .sourceAddressPrefix(\"*\")\n            .destinationAddressPrefix(\"*\")\n            .resourceGroupName(example.name())\n            .networkSecurityGroupName(exampleNetworkSecurityGroup.name())\n            .build());\n\n        var exampleVirtualNetwork = new VirtualNetwork(\"exampleVirtualNetwork\", VirtualNetworkArgs.builder()\n            .name(\"vnet-mi\")\n            .resourceGroupName(example.name())\n            .addressSpaces(\"10.0.0.0/16\")\n            .location(example.location())\n            .build());\n\n        var exampleSubnet = new Subnet(\"exampleSubnet\", SubnetArgs.builder()\n            .name(\"subnet-mi\")\n            .resourceGroupName(example.name())\n            .virtualNetworkName(exampleVirtualNetwork.name())\n            .addressPrefixes(\"10.0.0.0/24\")\n            .delegations(SubnetDelegationArgs.builder()\n                .name(\"managedinstancedelegation\")\n                .serviceDelegation(SubnetDelegationServiceDelegationArgs.builder()\n                    .name(\"Microsoft.Sql/managedInstances\")\n                    .actions(                    \n                        \"Microsoft.Network/virtualNetworks/subnets/join/action\",\n                        \"Microsoft.Network/virtualNetworks/subnets/prepareNetworkPolicies/action\",\n                        \"Microsoft.Network/virtualNetworks/subnets/unprepareNetworkPolicies/action\")\n                    .build())\n                .build())\n            .build());\n\n        var exampleSubnetNetworkSecurityGroupAssociation = new SubnetNetworkSecurityGroupAssociation(\"exampleSubnetNetworkSecurityGroupAssociation\", SubnetNetworkSecurityGroupAssociationArgs.builder()\n            .subnetId(exampleSubnet.id())\n            .networkSecurityGroupId(exampleNetworkSecurityGroup.id())\n            .build());\n\n        var exampleRouteTable = new RouteTable(\"exampleRouteTable\", RouteTableArgs.builder()\n            .name(\"routetable-mi\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .bgpRoutePropagationEnabled(true)\n            .build(), CustomResourceOptions.builder()\n                .dependsOn(exampleSubnet)\n                .build());\n\n        var exampleSubnetRouteTableAssociation = new SubnetRouteTableAssociation(\"exampleSubnetRouteTableAssociation\", SubnetRouteTableAssociationArgs.builder()\n            .subnetId(exampleSubnet.id())\n            .routeTableId(exampleRouteTable.id())\n            .build());\n\n        var exampleManagedInstance = new ManagedInstance(\"exampleManagedInstance\", ManagedInstanceArgs.builder()\n            .name(\"managedsqlinstance\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .licenseType(\"BasePrice\")\n            .skuName(\"GP_Gen5\")\n            .storageSizeInGb(32)\n            .subnetId(exampleSubnet.id())\n            .vcores(4)\n            .administratorLogin(\"mradministrator\")\n            .administratorLoginPassword(\"thisIsDog11\")\n            .build(), CustomResourceOptions.builder()\n                .dependsOn(                \n                    exampleSubnetNetworkSecurityGroupAssociation,\n                    exampleSubnetRouteTableAssociation)\n                .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: database-rg\n      location: West Europe\n  exampleNetworkSecurityGroup:\n    type: azure:network:NetworkSecurityGroup\n    name: example\n    properties:\n      name: mi-security-group\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n  allowManagementInbound:\n    type: azure:network:NetworkSecurityRule\n    name: allow_management_inbound\n    properties:\n      name: allow_management_inbound\n      priority: 106\n      direction: Inbound\n      access: Allow\n      protocol: Tcp\n      sourcePortRange: '*'\n      destinationPortRanges:\n        - '9000'\n        - '9003'\n        - '1438'\n        - '1440'\n        - '1452'\n      sourceAddressPrefix: '*'\n      destinationAddressPrefix: '*'\n      resourceGroupName: ${example.name}\n      networkSecurityGroupName: ${exampleNetworkSecurityGroup.name}\n  allowMisubnetInbound:\n    type: azure:network:NetworkSecurityRule\n    name: allow_misubnet_inbound\n    properties:\n      name: allow_misubnet_inbound\n      priority: 200\n      direction: Inbound\n      access: Allow\n      protocol: '*'\n      sourcePortRange: '*'\n      destinationPortRange: '*'\n      sourceAddressPrefix: 10.0.0.0/24\n      destinationAddressPrefix: '*'\n      resourceGroupName: ${example.name}\n      networkSecurityGroupName: ${exampleNetworkSecurityGroup.name}\n  allowHealthProbeInbound:\n    type: azure:network:NetworkSecurityRule\n    name: allow_health_probe_inbound\n    properties:\n      name: allow_health_probe_inbound\n      priority: 300\n      direction: Inbound\n      access: Allow\n      protocol: '*'\n      sourcePortRange: '*'\n      destinationPortRange: '*'\n      sourceAddressPrefix: AzureLoadBalancer\n      destinationAddressPrefix: '*'\n      resourceGroupName: ${example.name}\n      networkSecurityGroupName: ${exampleNetworkSecurityGroup.name}\n  allowTdsInbound:\n    type: azure:network:NetworkSecurityRule\n    name: allow_tds_inbound\n    properties:\n      name: allow_tds_inbound\n      priority: 1000\n      direction: Inbound\n      access: Allow\n      protocol: Tcp\n      sourcePortRange: '*'\n      destinationPortRange: '1433'\n      sourceAddressPrefix: VirtualNetwork\n      destinationAddressPrefix: '*'\n      resourceGroupName: ${example.name}\n      networkSecurityGroupName: ${exampleNetworkSecurityGroup.name}\n  denyAllInbound:\n    type: azure:network:NetworkSecurityRule\n    name: deny_all_inbound\n    properties:\n      name: deny_all_inbound\n      priority: 4096\n      direction: Inbound\n      access: Deny\n      protocol: '*'\n      sourcePortRange: '*'\n      destinationPortRange: '*'\n      sourceAddressPrefix: '*'\n      destinationAddressPrefix: '*'\n      resourceGroupName: ${example.name}\n      networkSecurityGroupName: ${exampleNetworkSecurityGroup.name}\n  allowManagementOutbound:\n    type: azure:network:NetworkSecurityRule\n    name: allow_management_outbound\n    properties:\n      name: allow_management_outbound\n      priority: 102\n      direction: Outbound\n      access: Allow\n      protocol: Tcp\n      sourcePortRange: '*'\n      destinationPortRanges:\n        - '80'\n        - '443'\n        - '12000'\n      sourceAddressPrefix: '*'\n      destinationAddressPrefix: '*'\n      resourceGroupName: ${example.name}\n      networkSecurityGroupName: ${exampleNetworkSecurityGroup.name}\n  allowMisubnetOutbound:\n    type: azure:network:NetworkSecurityRule\n    name: allow_misubnet_outbound\n    properties:\n      name: allow_misubnet_outbound\n      priority: 200\n      direction: Outbound\n      access: Allow\n      protocol: '*'\n      sourcePortRange: '*'\n      destinationPortRange: '*'\n      sourceAddressPrefix: 10.0.0.0/24\n      destinationAddressPrefix: '*'\n      resourceGroupName: ${example.name}\n      networkSecurityGroupName: ${exampleNetworkSecurityGroup.name}\n  denyAllOutbound:\n    type: azure:network:NetworkSecurityRule\n    name: deny_all_outbound\n    properties:\n      name: deny_all_outbound\n      priority: 4096\n      direction: Outbound\n      access: Deny\n      protocol: '*'\n      sourcePortRange: '*'\n      destinationPortRange: '*'\n      sourceAddressPrefix: '*'\n      destinationAddressPrefix: '*'\n      resourceGroupName: ${example.name}\n      networkSecurityGroupName: ${exampleNetworkSecurityGroup.name}\n  exampleVirtualNetwork:\n    type: azure:network:VirtualNetwork\n    name: example\n    properties:\n      name: vnet-mi\n      resourceGroupName: ${example.name}\n      addressSpaces:\n        - 10.0.0.0/16\n      location: ${example.location}\n  exampleSubnet:\n    type: azure:network:Subnet\n    name: example\n    properties:\n      name: subnet-mi\n      resourceGroupName: ${example.name}\n      virtualNetworkName: ${exampleVirtualNetwork.name}\n      addressPrefixes:\n        - 10.0.0.0/24\n      delegations:\n        - name: managedinstancedelegation\n          serviceDelegation:\n            name: Microsoft.Sql/managedInstances\n            actions:\n              - Microsoft.Network/virtualNetworks/subnets/join/action\n              - Microsoft.Network/virtualNetworks/subnets/prepareNetworkPolicies/action\n              - Microsoft.Network/virtualNetworks/subnets/unprepareNetworkPolicies/action\n  exampleSubnetNetworkSecurityGroupAssociation:\n    type: azure:network:SubnetNetworkSecurityGroupAssociation\n    name: example\n    properties:\n      subnetId: ${exampleSubnet.id}\n      networkSecurityGroupId: ${exampleNetworkSecurityGroup.id}\n  exampleRouteTable:\n    type: azure:network:RouteTable\n    name: example\n    properties:\n      name: routetable-mi\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      bgpRoutePropagationEnabled: true\n    options:\n      dependsOn:\n        - ${exampleSubnet}\n  exampleSubnetRouteTableAssociation:\n    type: azure:network:SubnetRouteTableAssociation\n    name: example\n    properties:\n      subnetId: ${exampleSubnet.id}\n      routeTableId: ${exampleRouteTable.id}\n  exampleManagedInstance:\n    type: azure:mssql:ManagedInstance\n    name: example\n    properties:\n      name: managedsqlinstance\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      licenseType: BasePrice\n      skuName: GP_Gen5\n      storageSizeInGb: 32\n      subnetId: ${exampleSubnet.id}\n      vcores: 4\n      administratorLogin: mradministrator\n      administratorLoginPassword: thisIsDog11\n    options:\n      dependsOn:\n        - ${exampleSubnetNetworkSecurityGroupAssociation}\n        - ${exampleSubnetRouteTableAssociation}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Sql` - 2023-08-01-preview\n\n## Import\n\nMicrosoft SQL Managed Instances can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:mssql/managedInstance:ManagedInstance example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myresourcegroup/providers/Microsoft.Sql/managedInstances/myserver\n```\n\n","properties":{"administratorLogin":{"type":"string","description":"The administrator login name for the new SQL Managed Instance. Changing this forces a new resource to be created.\n"},"administratorLoginPassword":{"type":"string","description":"The password associated with the \u003cspan pulumi-lang-nodejs=\"`administratorLogin`\" pulumi-lang-dotnet=\"`AdministratorLogin`\" pulumi-lang-go=\"`administratorLogin`\" pulumi-lang-python=\"`administrator_login`\" pulumi-lang-yaml=\"`administratorLogin`\" pulumi-lang-java=\"`administratorLogin`\"\u003e`administrator_login`\u003c/span\u003e user. Needs to comply with Azure's [Password Policy](https://msdn.microsoft.com/library/ms161959.aspx)\n\n\u003e **Note:** Unless `azure_active_directory_administrator.azuread_authentication_only_enabled` is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`administratorLogin`\" pulumi-lang-dotnet=\"`AdministratorLogin`\" pulumi-lang-go=\"`administratorLogin`\" pulumi-lang-python=\"`administrator_login`\" pulumi-lang-yaml=\"`administratorLogin`\" pulumi-lang-java=\"`administratorLogin`\"\u003e`administrator_login`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`administratorLoginPassword`\" pulumi-lang-dotnet=\"`AdministratorLoginPassword`\" pulumi-lang-go=\"`administratorLoginPassword`\" pulumi-lang-python=\"`administrator_login_password`\" pulumi-lang-yaml=\"`administratorLoginPassword`\" pulumi-lang-java=\"`administratorLoginPassword`\"\u003e`administrator_login_password`\u003c/span\u003e are required.\n","secret":true},"azureActiveDirectoryAdministrator":{"$ref":"#/types/azure:mssql/ManagedInstanceAzureActiveDirectoryAdministrator:ManagedInstanceAzureActiveDirectoryAdministrator","description":"An \u003cspan pulumi-lang-nodejs=\"`azureActiveDirectoryAdministrator`\" pulumi-lang-dotnet=\"`AzureActiveDirectoryAdministrator`\" pulumi-lang-go=\"`azureActiveDirectoryAdministrator`\" pulumi-lang-python=\"`azure_active_directory_administrator`\" pulumi-lang-yaml=\"`azureActiveDirectoryAdministrator`\" pulumi-lang-java=\"`azureActiveDirectoryAdministrator`\"\u003e`azure_active_directory_administrator`\u003c/span\u003e block as defined below.\n"},"collation":{"type":"string","description":"Specifies how the SQL Managed Instance will be collated. Defaults to `SQL_Latin1_General_CP1_CI_AS`. Changing this forces a new resource to be created.\n"},"databaseFormat":{"type":"string","description":"Specifies the internal format of the SQL Managed Instance databases specific to the SQL engine version. Possible values are `AlwaysUpToDate` and `SQLServer2022`. Defaults to `SQLServer2022`.\n\n\u003e **Note:** Changing \u003cspan pulumi-lang-nodejs=\"`databaseFormat`\" pulumi-lang-dotnet=\"`DatabaseFormat`\" pulumi-lang-go=\"`databaseFormat`\" pulumi-lang-python=\"`database_format`\" pulumi-lang-yaml=\"`databaseFormat`\" pulumi-lang-java=\"`databaseFormat`\"\u003e`database_format`\u003c/span\u003e from `AlwaysUpToDate` to `SQLServer2022` forces a new SQL Managed Instance to be created.\n"},"dnsZone":{"type":"string","description":"The Dns Zone where the SQL Managed Instance is located.\n"},"dnsZonePartnerId":{"type":"string","description":"The ID of the SQL Managed Instance which will share the DNS zone. This is a prerequisite for creating an \u003cspan pulumi-lang-nodejs=\"`azurermSqlManagedInstanceFailoverGroup`\" pulumi-lang-dotnet=\"`AzurermSqlManagedInstanceFailoverGroup`\" pulumi-lang-go=\"`azurermSqlManagedInstanceFailoverGroup`\" pulumi-lang-python=\"`azurerm_sql_managed_instance_failover_group`\" pulumi-lang-yaml=\"`azurermSqlManagedInstanceFailoverGroup`\" pulumi-lang-java=\"`azurermSqlManagedInstanceFailoverGroup`\"\u003e`azurerm_sql_managed_instance_failover_group`\u003c/span\u003e. Setting this after creation forces a new resource to be created.\n"},"fqdn":{"type":"string","description":"The fully qualified domain name of the Azure Managed SQL Instance\n"},"hybridSecondaryUsage":{"type":"string","description":"Specifies the hybrid secondary usage for disaster recovery of the SQL Managed Instance. Possible values are `Active` and `Passive`. Defaults to `Active`.\n"},"identity":{"$ref":"#/types/azure:mssql/ManagedInstanceIdentity:ManagedInstanceIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"licenseType":{"type":"string","description":"What type of license the Managed Instance will use. Possible values are `LicenseIncluded` and `BasePrice`.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n"},"maintenanceConfigurationName":{"type":"string","description":"The name of the Public Maintenance Configuration window to apply to the SQL Managed Instance. Possible values are `SQL_Default` or an Azure Location in the format `SQL_{Location}_MI_{Size}`(for example `SQL_EastUS_MI_1`). Defaults to `SQL_Default`.\n"},"minimumTlsVersion":{"type":"string","description":"The Minimum TLS Version. Default value is `1.2` Valid values include `1.0`, `1.1`, `1.2`.\n\n\u003e **Note:** Azure Services will require TLS 1.2+ by August 2025, please see this [announcement](https://azure.microsoft.com/en-us/updates/v2/update-retirement-tls1-0-tls1-1-versions-azure-services/) for more.\n"},"name":{"type":"string","description":"The name of the SQL Managed Instance. This needs to be globally unique within Azure. Changing this forces a new resource to be created.\n"},"proxyOverride":{"type":"string","description":"Specifies how the SQL Managed Instance will be accessed. Defaults to `Default`. Possible values are `Default`, `Proxy`, and `Redirect`.\n"},"publicDataEndpointEnabled":{"type":"boolean","description":"Is the public data endpoint enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the SQL Managed Instance. Changing this forces a new resource to be created.\n"},"servicePrincipalType":{"type":"string","description":"The service principal type. The only possible value is `SystemAssigned`.\n"},"skuName":{"type":"string","description":"Specifies the SKU Name for the SQL Managed Instance. Possible values are `GP_Gen4`, `GP_Gen5`, `GP_Gen8IM`, `GP_Gen8IH`, `BC_Gen4`, `BC_Gen5`, `BC_Gen8IM` or `BC_Gen8IH`.\n"},"storageAccountType":{"type":"string","description":"Specifies the storage account type used to store backups for this database. Possible values are `GRS`, `GZRS`, `LRS`, and `ZRS`. Defaults to `GRS`.\n"},"storageSizeInGb":{"type":"integer","description":"Maximum storage space for the SQL Managed instance. This should be a multiple of 32 (GB).\n\n\u003e **Note:** The maximum storage size varies depending on the service tier and hardware generation. For General Purpose Next-gen instances, the maximum is 32,768 GB (32 TB), while Business Critical instances support up to 16,384 GB (16 TB). Refer to [Azure SQL Managed Instance resource limits](https://learn.microsoft.com/en-us/azure/azure-sql/managed-instance/resource-limits) for detailed information.\n"},"subnetId":{"type":"string","description":"The subnet resource id that the SQL Managed Instance will be associated with.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"timezoneId":{"type":"string","description":"The TimeZone ID that the SQL Managed Instance will be operating in. Defaults to `UTC`. Changing this forces a new resource to be created.\n"},"vcores":{"type":"integer","description":"Number of cores that should be assigned to the SQL Managed Instance. Values can be \u003cspan pulumi-lang-nodejs=\"`8`\" pulumi-lang-dotnet=\"`8`\" pulumi-lang-go=\"`8`\" pulumi-lang-python=\"`8`\" pulumi-lang-yaml=\"`8`\" pulumi-lang-java=\"`8`\"\u003e`8`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`16`\" pulumi-lang-dotnet=\"`16`\" pulumi-lang-go=\"`16`\" pulumi-lang-python=\"`16`\" pulumi-lang-yaml=\"`16`\" pulumi-lang-java=\"`16`\"\u003e`16`\u003c/span\u003e, or \u003cspan pulumi-lang-nodejs=\"`24`\" pulumi-lang-dotnet=\"`24`\" pulumi-lang-go=\"`24`\" pulumi-lang-python=\"`24`\" pulumi-lang-yaml=\"`24`\" pulumi-lang-java=\"`24`\"\u003e`24`\u003c/span\u003e for Gen4 SKUs, or \u003cspan pulumi-lang-nodejs=\"`4`\" pulumi-lang-dotnet=\"`4`\" pulumi-lang-go=\"`4`\" pulumi-lang-python=\"`4`\" pulumi-lang-yaml=\"`4`\" pulumi-lang-java=\"`4`\"\u003e`4`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`6`\" pulumi-lang-dotnet=\"`6`\" pulumi-lang-go=\"`6`\" pulumi-lang-python=\"`6`\" pulumi-lang-yaml=\"`6`\" pulumi-lang-java=\"`6`\"\u003e`6`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`8`\" pulumi-lang-dotnet=\"`8`\" pulumi-lang-go=\"`8`\" pulumi-lang-python=\"`8`\" pulumi-lang-yaml=\"`8`\" pulumi-lang-java=\"`8`\"\u003e`8`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`10`\" pulumi-lang-dotnet=\"`10`\" pulumi-lang-go=\"`10`\" pulumi-lang-python=\"`10`\" pulumi-lang-yaml=\"`10`\" pulumi-lang-java=\"`10`\"\u003e`10`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`12`\" pulumi-lang-dotnet=\"`12`\" pulumi-lang-go=\"`12`\" pulumi-lang-python=\"`12`\" pulumi-lang-yaml=\"`12`\" pulumi-lang-java=\"`12`\"\u003e`12`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`16`\" pulumi-lang-dotnet=\"`16`\" pulumi-lang-go=\"`16`\" pulumi-lang-python=\"`16`\" pulumi-lang-yaml=\"`16`\" pulumi-lang-java=\"`16`\"\u003e`16`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`20`\" pulumi-lang-dotnet=\"`20`\" pulumi-lang-go=\"`20`\" pulumi-lang-python=\"`20`\" pulumi-lang-yaml=\"`20`\" pulumi-lang-java=\"`20`\"\u003e`20`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`24`\" pulumi-lang-dotnet=\"`24`\" pulumi-lang-go=\"`24`\" pulumi-lang-python=\"`24`\" pulumi-lang-yaml=\"`24`\" pulumi-lang-java=\"`24`\"\u003e`24`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`32`\" pulumi-lang-dotnet=\"`32`\" pulumi-lang-go=\"`32`\" pulumi-lang-python=\"`32`\" pulumi-lang-yaml=\"`32`\" pulumi-lang-java=\"`32`\"\u003e`32`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`40`\" pulumi-lang-dotnet=\"`40`\" pulumi-lang-go=\"`40`\" pulumi-lang-python=\"`40`\" pulumi-lang-yaml=\"`40`\" pulumi-lang-java=\"`40`\"\u003e`40`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`48`\" pulumi-lang-dotnet=\"`48`\" pulumi-lang-go=\"`48`\" pulumi-lang-python=\"`48`\" pulumi-lang-yaml=\"`48`\" pulumi-lang-java=\"`48`\"\u003e`48`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`56`\" pulumi-lang-dotnet=\"`56`\" pulumi-lang-go=\"`56`\" pulumi-lang-python=\"`56`\" pulumi-lang-yaml=\"`56`\" pulumi-lang-java=\"`56`\"\u003e`56`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`64`\" pulumi-lang-dotnet=\"`64`\" pulumi-lang-go=\"`64`\" pulumi-lang-python=\"`64`\" pulumi-lang-yaml=\"`64`\" pulumi-lang-java=\"`64`\"\u003e`64`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`80`\" pulumi-lang-dotnet=\"`80`\" pulumi-lang-go=\"`80`\" pulumi-lang-python=\"`80`\" pulumi-lang-yaml=\"`80`\" pulumi-lang-java=\"`80`\"\u003e`80`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`96`\" pulumi-lang-dotnet=\"`96`\" pulumi-lang-go=\"`96`\" pulumi-lang-python=\"`96`\" pulumi-lang-yaml=\"`96`\" pulumi-lang-java=\"`96`\"\u003e`96`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`128`\" pulumi-lang-dotnet=\"`128`\" pulumi-lang-go=\"`128`\" pulumi-lang-python=\"`128`\" pulumi-lang-yaml=\"`128`\" pulumi-lang-java=\"`128`\"\u003e`128`\u003c/span\u003e for Gen5 SKUs.\n"},"zoneRedundantEnabled":{"type":"boolean","description":"Specifies whether the SQL Managed Instance is zone redundant. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"}},"required":["administratorLogin","dnsZone","fqdn","licenseType","location","name","proxyOverride","resourceGroupName","skuName","storageSizeInGb","subnetId","vcores"],"inputProperties":{"administratorLogin":{"type":"string","description":"The administrator login name for the new SQL Managed Instance. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"administratorLoginPassword":{"type":"string","description":"The password associated with the \u003cspan pulumi-lang-nodejs=\"`administratorLogin`\" pulumi-lang-dotnet=\"`AdministratorLogin`\" pulumi-lang-go=\"`administratorLogin`\" pulumi-lang-python=\"`administrator_login`\" pulumi-lang-yaml=\"`administratorLogin`\" pulumi-lang-java=\"`administratorLogin`\"\u003e`administrator_login`\u003c/span\u003e user. Needs to comply with Azure's [Password Policy](https://msdn.microsoft.com/library/ms161959.aspx)\n\n\u003e **Note:** Unless `azure_active_directory_administrator.azuread_authentication_only_enabled` is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`administratorLogin`\" pulumi-lang-dotnet=\"`AdministratorLogin`\" pulumi-lang-go=\"`administratorLogin`\" pulumi-lang-python=\"`administrator_login`\" pulumi-lang-yaml=\"`administratorLogin`\" pulumi-lang-java=\"`administratorLogin`\"\u003e`administrator_login`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`administratorLoginPassword`\" pulumi-lang-dotnet=\"`AdministratorLoginPassword`\" pulumi-lang-go=\"`administratorLoginPassword`\" pulumi-lang-python=\"`administrator_login_password`\" pulumi-lang-yaml=\"`administratorLoginPassword`\" pulumi-lang-java=\"`administratorLoginPassword`\"\u003e`administrator_login_password`\u003c/span\u003e are required.\n","secret":true},"azureActiveDirectoryAdministrator":{"$ref":"#/types/azure:mssql/ManagedInstanceAzureActiveDirectoryAdministrator:ManagedInstanceAzureActiveDirectoryAdministrator","description":"An \u003cspan pulumi-lang-nodejs=\"`azureActiveDirectoryAdministrator`\" pulumi-lang-dotnet=\"`AzureActiveDirectoryAdministrator`\" pulumi-lang-go=\"`azureActiveDirectoryAdministrator`\" pulumi-lang-python=\"`azure_active_directory_administrator`\" pulumi-lang-yaml=\"`azureActiveDirectoryAdministrator`\" pulumi-lang-java=\"`azureActiveDirectoryAdministrator`\"\u003e`azure_active_directory_administrator`\u003c/span\u003e block as defined below.\n"},"collation":{"type":"string","description":"Specifies how the SQL Managed Instance will be collated. Defaults to `SQL_Latin1_General_CP1_CI_AS`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"databaseFormat":{"type":"string","description":"Specifies the internal format of the SQL Managed Instance databases specific to the SQL engine version. Possible values are `AlwaysUpToDate` and `SQLServer2022`. Defaults to `SQLServer2022`.\n\n\u003e **Note:** Changing \u003cspan pulumi-lang-nodejs=\"`databaseFormat`\" pulumi-lang-dotnet=\"`DatabaseFormat`\" pulumi-lang-go=\"`databaseFormat`\" pulumi-lang-python=\"`database_format`\" pulumi-lang-yaml=\"`databaseFormat`\" pulumi-lang-java=\"`databaseFormat`\"\u003e`database_format`\u003c/span\u003e from `AlwaysUpToDate` to `SQLServer2022` forces a new SQL Managed Instance to be created.\n"},"dnsZonePartnerId":{"type":"string","description":"The ID of the SQL Managed Instance which will share the DNS zone. This is a prerequisite for creating an \u003cspan pulumi-lang-nodejs=\"`azurermSqlManagedInstanceFailoverGroup`\" pulumi-lang-dotnet=\"`AzurermSqlManagedInstanceFailoverGroup`\" pulumi-lang-go=\"`azurermSqlManagedInstanceFailoverGroup`\" pulumi-lang-python=\"`azurerm_sql_managed_instance_failover_group`\" pulumi-lang-yaml=\"`azurermSqlManagedInstanceFailoverGroup`\" pulumi-lang-java=\"`azurermSqlManagedInstanceFailoverGroup`\"\u003e`azurerm_sql_managed_instance_failover_group`\u003c/span\u003e. Setting this after creation forces a new resource to be created.\n"},"hybridSecondaryUsage":{"type":"string","description":"Specifies the hybrid secondary usage for disaster recovery of the SQL Managed Instance. Possible values are `Active` and `Passive`. Defaults to `Active`.\n"},"identity":{"$ref":"#/types/azure:mssql/ManagedInstanceIdentity:ManagedInstanceIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"licenseType":{"type":"string","description":"What type of license the Managed Instance will use. Possible values are `LicenseIncluded` and `BasePrice`.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"maintenanceConfigurationName":{"type":"string","description":"The name of the Public Maintenance Configuration window to apply to the SQL Managed Instance. Possible values are `SQL_Default` or an Azure Location in the format `SQL_{Location}_MI_{Size}`(for example `SQL_EastUS_MI_1`). Defaults to `SQL_Default`.\n"},"minimumTlsVersion":{"type":"string","description":"The Minimum TLS Version. Default value is `1.2` Valid values include `1.0`, `1.1`, `1.2`.\n\n\u003e **Note:** Azure Services will require TLS 1.2+ by August 2025, please see this [announcement](https://azure.microsoft.com/en-us/updates/v2/update-retirement-tls1-0-tls1-1-versions-azure-services/) for more.\n"},"name":{"type":"string","description":"The name of the SQL Managed Instance. This needs to be globally unique within Azure. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"proxyOverride":{"type":"string","description":"Specifies how the SQL Managed Instance will be accessed. Defaults to `Default`. Possible values are `Default`, `Proxy`, and `Redirect`.\n"},"publicDataEndpointEnabled":{"type":"boolean","description":"Is the public data endpoint enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the SQL Managed Instance. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"servicePrincipalType":{"type":"string","description":"The service principal type. The only possible value is `SystemAssigned`.\n"},"skuName":{"type":"string","description":"Specifies the SKU Name for the SQL Managed Instance. Possible values are `GP_Gen4`, `GP_Gen5`, `GP_Gen8IM`, `GP_Gen8IH`, `BC_Gen4`, `BC_Gen5`, `BC_Gen8IM` or `BC_Gen8IH`.\n"},"storageAccountType":{"type":"string","description":"Specifies the storage account type used to store backups for this database. Possible values are `GRS`, `GZRS`, `LRS`, and `ZRS`. Defaults to `GRS`.\n"},"storageSizeInGb":{"type":"integer","description":"Maximum storage space for the SQL Managed instance. This should be a multiple of 32 (GB).\n\n\u003e **Note:** The maximum storage size varies depending on the service tier and hardware generation. For General Purpose Next-gen instances, the maximum is 32,768 GB (32 TB), while Business Critical instances support up to 16,384 GB (16 TB). Refer to [Azure SQL Managed Instance resource limits](https://learn.microsoft.com/en-us/azure/azure-sql/managed-instance/resource-limits) for detailed information.\n"},"subnetId":{"type":"string","description":"The subnet resource id that the SQL Managed Instance will be associated with.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"timezoneId":{"type":"string","description":"The TimeZone ID that the SQL Managed Instance will be operating in. Defaults to `UTC`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"vcores":{"type":"integer","description":"Number of cores that should be assigned to the SQL Managed Instance. Values can be \u003cspan pulumi-lang-nodejs=\"`8`\" pulumi-lang-dotnet=\"`8`\" pulumi-lang-go=\"`8`\" pulumi-lang-python=\"`8`\" pulumi-lang-yaml=\"`8`\" pulumi-lang-java=\"`8`\"\u003e`8`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`16`\" pulumi-lang-dotnet=\"`16`\" pulumi-lang-go=\"`16`\" pulumi-lang-python=\"`16`\" pulumi-lang-yaml=\"`16`\" pulumi-lang-java=\"`16`\"\u003e`16`\u003c/span\u003e, or \u003cspan pulumi-lang-nodejs=\"`24`\" pulumi-lang-dotnet=\"`24`\" pulumi-lang-go=\"`24`\" pulumi-lang-python=\"`24`\" pulumi-lang-yaml=\"`24`\" pulumi-lang-java=\"`24`\"\u003e`24`\u003c/span\u003e for Gen4 SKUs, or \u003cspan pulumi-lang-nodejs=\"`4`\" pulumi-lang-dotnet=\"`4`\" pulumi-lang-go=\"`4`\" pulumi-lang-python=\"`4`\" pulumi-lang-yaml=\"`4`\" pulumi-lang-java=\"`4`\"\u003e`4`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`6`\" pulumi-lang-dotnet=\"`6`\" pulumi-lang-go=\"`6`\" pulumi-lang-python=\"`6`\" pulumi-lang-yaml=\"`6`\" pulumi-lang-java=\"`6`\"\u003e`6`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`8`\" pulumi-lang-dotnet=\"`8`\" pulumi-lang-go=\"`8`\" pulumi-lang-python=\"`8`\" pulumi-lang-yaml=\"`8`\" pulumi-lang-java=\"`8`\"\u003e`8`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`10`\" pulumi-lang-dotnet=\"`10`\" pulumi-lang-go=\"`10`\" pulumi-lang-python=\"`10`\" pulumi-lang-yaml=\"`10`\" pulumi-lang-java=\"`10`\"\u003e`10`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`12`\" pulumi-lang-dotnet=\"`12`\" pulumi-lang-go=\"`12`\" pulumi-lang-python=\"`12`\" pulumi-lang-yaml=\"`12`\" pulumi-lang-java=\"`12`\"\u003e`12`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`16`\" pulumi-lang-dotnet=\"`16`\" pulumi-lang-go=\"`16`\" pulumi-lang-python=\"`16`\" pulumi-lang-yaml=\"`16`\" pulumi-lang-java=\"`16`\"\u003e`16`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`20`\" pulumi-lang-dotnet=\"`20`\" pulumi-lang-go=\"`20`\" pulumi-lang-python=\"`20`\" pulumi-lang-yaml=\"`20`\" pulumi-lang-java=\"`20`\"\u003e`20`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`24`\" pulumi-lang-dotnet=\"`24`\" pulumi-lang-go=\"`24`\" pulumi-lang-python=\"`24`\" pulumi-lang-yaml=\"`24`\" pulumi-lang-java=\"`24`\"\u003e`24`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`32`\" pulumi-lang-dotnet=\"`32`\" pulumi-lang-go=\"`32`\" pulumi-lang-python=\"`32`\" pulumi-lang-yaml=\"`32`\" pulumi-lang-java=\"`32`\"\u003e`32`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`40`\" pulumi-lang-dotnet=\"`40`\" pulumi-lang-go=\"`40`\" pulumi-lang-python=\"`40`\" pulumi-lang-yaml=\"`40`\" pulumi-lang-java=\"`40`\"\u003e`40`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`48`\" pulumi-lang-dotnet=\"`48`\" pulumi-lang-go=\"`48`\" pulumi-lang-python=\"`48`\" pulumi-lang-yaml=\"`48`\" pulumi-lang-java=\"`48`\"\u003e`48`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`56`\" pulumi-lang-dotnet=\"`56`\" pulumi-lang-go=\"`56`\" pulumi-lang-python=\"`56`\" pulumi-lang-yaml=\"`56`\" pulumi-lang-java=\"`56`\"\u003e`56`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`64`\" pulumi-lang-dotnet=\"`64`\" pulumi-lang-go=\"`64`\" pulumi-lang-python=\"`64`\" pulumi-lang-yaml=\"`64`\" pulumi-lang-java=\"`64`\"\u003e`64`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`80`\" pulumi-lang-dotnet=\"`80`\" pulumi-lang-go=\"`80`\" pulumi-lang-python=\"`80`\" pulumi-lang-yaml=\"`80`\" pulumi-lang-java=\"`80`\"\u003e`80`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`96`\" pulumi-lang-dotnet=\"`96`\" pulumi-lang-go=\"`96`\" pulumi-lang-python=\"`96`\" pulumi-lang-yaml=\"`96`\" pulumi-lang-java=\"`96`\"\u003e`96`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`128`\" pulumi-lang-dotnet=\"`128`\" pulumi-lang-go=\"`128`\" pulumi-lang-python=\"`128`\" pulumi-lang-yaml=\"`128`\" pulumi-lang-java=\"`128`\"\u003e`128`\u003c/span\u003e for Gen5 SKUs.\n"},"zoneRedundantEnabled":{"type":"boolean","description":"Specifies whether the SQL Managed Instance is zone redundant. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"}},"requiredInputs":["licenseType","resourceGroupName","skuName","storageSizeInGb","subnetId","vcores"],"stateInputs":{"description":"Input properties used for looking up and filtering ManagedInstance resources.\n","properties":{"administratorLogin":{"type":"string","description":"The administrator login name for the new SQL Managed Instance. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"administratorLoginPassword":{"type":"string","description":"The password associated with the \u003cspan pulumi-lang-nodejs=\"`administratorLogin`\" pulumi-lang-dotnet=\"`AdministratorLogin`\" pulumi-lang-go=\"`administratorLogin`\" pulumi-lang-python=\"`administrator_login`\" pulumi-lang-yaml=\"`administratorLogin`\" pulumi-lang-java=\"`administratorLogin`\"\u003e`administrator_login`\u003c/span\u003e user. Needs to comply with Azure's [Password Policy](https://msdn.microsoft.com/library/ms161959.aspx)\n\n\u003e **Note:** Unless `azure_active_directory_administrator.azuread_authentication_only_enabled` is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`administratorLogin`\" pulumi-lang-dotnet=\"`AdministratorLogin`\" pulumi-lang-go=\"`administratorLogin`\" pulumi-lang-python=\"`administrator_login`\" pulumi-lang-yaml=\"`administratorLogin`\" pulumi-lang-java=\"`administratorLogin`\"\u003e`administrator_login`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`administratorLoginPassword`\" pulumi-lang-dotnet=\"`AdministratorLoginPassword`\" pulumi-lang-go=\"`administratorLoginPassword`\" pulumi-lang-python=\"`administrator_login_password`\" pulumi-lang-yaml=\"`administratorLoginPassword`\" pulumi-lang-java=\"`administratorLoginPassword`\"\u003e`administrator_login_password`\u003c/span\u003e are required.\n","secret":true},"azureActiveDirectoryAdministrator":{"$ref":"#/types/azure:mssql/ManagedInstanceAzureActiveDirectoryAdministrator:ManagedInstanceAzureActiveDirectoryAdministrator","description":"An \u003cspan pulumi-lang-nodejs=\"`azureActiveDirectoryAdministrator`\" pulumi-lang-dotnet=\"`AzureActiveDirectoryAdministrator`\" pulumi-lang-go=\"`azureActiveDirectoryAdministrator`\" pulumi-lang-python=\"`azure_active_directory_administrator`\" pulumi-lang-yaml=\"`azureActiveDirectoryAdministrator`\" pulumi-lang-java=\"`azureActiveDirectoryAdministrator`\"\u003e`azure_active_directory_administrator`\u003c/span\u003e block as defined below.\n"},"collation":{"type":"string","description":"Specifies how the SQL Managed Instance will be collated. Defaults to `SQL_Latin1_General_CP1_CI_AS`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"databaseFormat":{"type":"string","description":"Specifies the internal format of the SQL Managed Instance databases specific to the SQL engine version. Possible values are `AlwaysUpToDate` and `SQLServer2022`. Defaults to `SQLServer2022`.\n\n\u003e **Note:** Changing \u003cspan pulumi-lang-nodejs=\"`databaseFormat`\" pulumi-lang-dotnet=\"`DatabaseFormat`\" pulumi-lang-go=\"`databaseFormat`\" pulumi-lang-python=\"`database_format`\" pulumi-lang-yaml=\"`databaseFormat`\" pulumi-lang-java=\"`databaseFormat`\"\u003e`database_format`\u003c/span\u003e from `AlwaysUpToDate` to `SQLServer2022` forces a new SQL Managed Instance to be created.\n"},"dnsZone":{"type":"string","description":"The Dns Zone where the SQL Managed Instance is located.\n"},"dnsZonePartnerId":{"type":"string","description":"The ID of the SQL Managed Instance which will share the DNS zone. This is a prerequisite for creating an \u003cspan pulumi-lang-nodejs=\"`azurermSqlManagedInstanceFailoverGroup`\" pulumi-lang-dotnet=\"`AzurermSqlManagedInstanceFailoverGroup`\" pulumi-lang-go=\"`azurermSqlManagedInstanceFailoverGroup`\" pulumi-lang-python=\"`azurerm_sql_managed_instance_failover_group`\" pulumi-lang-yaml=\"`azurermSqlManagedInstanceFailoverGroup`\" pulumi-lang-java=\"`azurermSqlManagedInstanceFailoverGroup`\"\u003e`azurerm_sql_managed_instance_failover_group`\u003c/span\u003e. Setting this after creation forces a new resource to be created.\n"},"fqdn":{"type":"string","description":"The fully qualified domain name of the Azure Managed SQL Instance\n"},"hybridSecondaryUsage":{"type":"string","description":"Specifies the hybrid secondary usage for disaster recovery of the SQL Managed Instance. Possible values are `Active` and `Passive`. Defaults to `Active`.\n"},"identity":{"$ref":"#/types/azure:mssql/ManagedInstanceIdentity:ManagedInstanceIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"licenseType":{"type":"string","description":"What type of license the Managed Instance will use. Possible values are `LicenseIncluded` and `BasePrice`.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"maintenanceConfigurationName":{"type":"string","description":"The name of the Public Maintenance Configuration window to apply to the SQL Managed Instance. Possible values are `SQL_Default` or an Azure Location in the format `SQL_{Location}_MI_{Size}`(for example `SQL_EastUS_MI_1`). Defaults to `SQL_Default`.\n"},"minimumTlsVersion":{"type":"string","description":"The Minimum TLS Version. Default value is `1.2` Valid values include `1.0`, `1.1`, `1.2`.\n\n\u003e **Note:** Azure Services will require TLS 1.2+ by August 2025, please see this [announcement](https://azure.microsoft.com/en-us/updates/v2/update-retirement-tls1-0-tls1-1-versions-azure-services/) for more.\n"},"name":{"type":"string","description":"The name of the SQL Managed Instance. This needs to be globally unique within Azure. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"proxyOverride":{"type":"string","description":"Specifies how the SQL Managed Instance will be accessed. Defaults to `Default`. Possible values are `Default`, `Proxy`, and `Redirect`.\n"},"publicDataEndpointEnabled":{"type":"boolean","description":"Is the public data endpoint enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the SQL Managed Instance. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"servicePrincipalType":{"type":"string","description":"The service principal type. The only possible value is `SystemAssigned`.\n"},"skuName":{"type":"string","description":"Specifies the SKU Name for the SQL Managed Instance. Possible values are `GP_Gen4`, `GP_Gen5`, `GP_Gen8IM`, `GP_Gen8IH`, `BC_Gen4`, `BC_Gen5`, `BC_Gen8IM` or `BC_Gen8IH`.\n"},"storageAccountType":{"type":"string","description":"Specifies the storage account type used to store backups for this database. Possible values are `GRS`, `GZRS`, `LRS`, and `ZRS`. Defaults to `GRS`.\n"},"storageSizeInGb":{"type":"integer","description":"Maximum storage space for the SQL Managed instance. This should be a multiple of 32 (GB).\n\n\u003e **Note:** The maximum storage size varies depending on the service tier and hardware generation. For General Purpose Next-gen instances, the maximum is 32,768 GB (32 TB), while Business Critical instances support up to 16,384 GB (16 TB). Refer to [Azure SQL Managed Instance resource limits](https://learn.microsoft.com/en-us/azure/azure-sql/managed-instance/resource-limits) for detailed information.\n"},"subnetId":{"type":"string","description":"The subnet resource id that the SQL Managed Instance will be associated with.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"timezoneId":{"type":"string","description":"The TimeZone ID that the SQL Managed Instance will be operating in. Defaults to `UTC`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"vcores":{"type":"integer","description":"Number of cores that should be assigned to the SQL Managed Instance. Values can be \u003cspan pulumi-lang-nodejs=\"`8`\" pulumi-lang-dotnet=\"`8`\" pulumi-lang-go=\"`8`\" pulumi-lang-python=\"`8`\" pulumi-lang-yaml=\"`8`\" pulumi-lang-java=\"`8`\"\u003e`8`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`16`\" pulumi-lang-dotnet=\"`16`\" pulumi-lang-go=\"`16`\" pulumi-lang-python=\"`16`\" pulumi-lang-yaml=\"`16`\" pulumi-lang-java=\"`16`\"\u003e`16`\u003c/span\u003e, or \u003cspan pulumi-lang-nodejs=\"`24`\" pulumi-lang-dotnet=\"`24`\" pulumi-lang-go=\"`24`\" pulumi-lang-python=\"`24`\" pulumi-lang-yaml=\"`24`\" pulumi-lang-java=\"`24`\"\u003e`24`\u003c/span\u003e for Gen4 SKUs, or \u003cspan pulumi-lang-nodejs=\"`4`\" pulumi-lang-dotnet=\"`4`\" pulumi-lang-go=\"`4`\" pulumi-lang-python=\"`4`\" pulumi-lang-yaml=\"`4`\" pulumi-lang-java=\"`4`\"\u003e`4`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`6`\" pulumi-lang-dotnet=\"`6`\" pulumi-lang-go=\"`6`\" pulumi-lang-python=\"`6`\" pulumi-lang-yaml=\"`6`\" pulumi-lang-java=\"`6`\"\u003e`6`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`8`\" pulumi-lang-dotnet=\"`8`\" pulumi-lang-go=\"`8`\" pulumi-lang-python=\"`8`\" pulumi-lang-yaml=\"`8`\" pulumi-lang-java=\"`8`\"\u003e`8`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`10`\" pulumi-lang-dotnet=\"`10`\" pulumi-lang-go=\"`10`\" pulumi-lang-python=\"`10`\" pulumi-lang-yaml=\"`10`\" pulumi-lang-java=\"`10`\"\u003e`10`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`12`\" pulumi-lang-dotnet=\"`12`\" pulumi-lang-go=\"`12`\" pulumi-lang-python=\"`12`\" pulumi-lang-yaml=\"`12`\" pulumi-lang-java=\"`12`\"\u003e`12`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`16`\" pulumi-lang-dotnet=\"`16`\" pulumi-lang-go=\"`16`\" pulumi-lang-python=\"`16`\" pulumi-lang-yaml=\"`16`\" pulumi-lang-java=\"`16`\"\u003e`16`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`20`\" pulumi-lang-dotnet=\"`20`\" pulumi-lang-go=\"`20`\" pulumi-lang-python=\"`20`\" pulumi-lang-yaml=\"`20`\" pulumi-lang-java=\"`20`\"\u003e`20`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`24`\" pulumi-lang-dotnet=\"`24`\" pulumi-lang-go=\"`24`\" pulumi-lang-python=\"`24`\" pulumi-lang-yaml=\"`24`\" pulumi-lang-java=\"`24`\"\u003e`24`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`32`\" pulumi-lang-dotnet=\"`32`\" pulumi-lang-go=\"`32`\" pulumi-lang-python=\"`32`\" pulumi-lang-yaml=\"`32`\" pulumi-lang-java=\"`32`\"\u003e`32`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`40`\" pulumi-lang-dotnet=\"`40`\" pulumi-lang-go=\"`40`\" pulumi-lang-python=\"`40`\" pulumi-lang-yaml=\"`40`\" pulumi-lang-java=\"`40`\"\u003e`40`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`48`\" pulumi-lang-dotnet=\"`48`\" pulumi-lang-go=\"`48`\" pulumi-lang-python=\"`48`\" pulumi-lang-yaml=\"`48`\" pulumi-lang-java=\"`48`\"\u003e`48`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`56`\" pulumi-lang-dotnet=\"`56`\" pulumi-lang-go=\"`56`\" pulumi-lang-python=\"`56`\" pulumi-lang-yaml=\"`56`\" pulumi-lang-java=\"`56`\"\u003e`56`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`64`\" pulumi-lang-dotnet=\"`64`\" pulumi-lang-go=\"`64`\" pulumi-lang-python=\"`64`\" pulumi-lang-yaml=\"`64`\" pulumi-lang-java=\"`64`\"\u003e`64`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`80`\" pulumi-lang-dotnet=\"`80`\" pulumi-lang-go=\"`80`\" pulumi-lang-python=\"`80`\" pulumi-lang-yaml=\"`80`\" pulumi-lang-java=\"`80`\"\u003e`80`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`96`\" pulumi-lang-dotnet=\"`96`\" pulumi-lang-go=\"`96`\" pulumi-lang-python=\"`96`\" pulumi-lang-yaml=\"`96`\" pulumi-lang-java=\"`96`\"\u003e`96`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`128`\" pulumi-lang-dotnet=\"`128`\" pulumi-lang-go=\"`128`\" pulumi-lang-python=\"`128`\" pulumi-lang-yaml=\"`128`\" pulumi-lang-java=\"`128`\"\u003e`128`\u003c/span\u003e for Gen5 SKUs.\n"},"zoneRedundantEnabled":{"type":"boolean","description":"Specifies whether the SQL Managed Instance is zone redundant. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"}},"type":"object"},"aliases":[{"type":"azure:sql/managedInstance:ManagedInstance"}]},"azure:mssql/managedInstanceActiveDirectoryAdministrator:ManagedInstanceActiveDirectoryAdministrator":{"description":"Allows you to set a user, group or service principal as the AAD Administrator for an Azure SQL Managed Instance.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\nimport * as azuread from \"@pulumi/azuread\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"rg-example\",\n    location: \"West Europe\",\n});\nconst current = azure.core.getClientConfig({});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"example\", {\n    name: \"example\",\n    location: example.location,\n    resourceGroupName: example.name,\n    addressSpaces: [\"10.0.0.0/16\"],\n});\nconst exampleSubnet = new azure.network.Subnet(\"example\", {\n    name: \"example\",\n    resourceGroupName: example.name,\n    virtualNetworkName: exampleVirtualNetwork.name,\n    addressPrefixes: [\"10.0.2.0/24\"],\n});\nconst exampleManagedInstance = new azure.mssql.ManagedInstance(\"example\", {\n    name: \"managedsqlinstance\",\n    resourceGroupName: example.name,\n    location: example.location,\n    licenseType: \"BasePrice\",\n    skuName: \"GP_Gen5\",\n    storageSizeInGb: 32,\n    subnetId: exampleSubnet.id,\n    vcores: 4,\n    administratorLogin: \"msadministrator\",\n    administratorLoginPassword: \"thisIsDog11\",\n    identity: {\n        type: \"SystemAssigned\",\n    },\n});\nconst reader = new azuread.DirectoryRole(\"reader\", {displayName: \"Directory Readers\"});\nconst exampleDirectoryRoleMember = new azuread.DirectoryRoleMember(\"example\", {\n    roleObjectId: reader.objectId,\n    memberObjectId: exampleManagedInstance.identity.apply(identity =\u003e identity?.principalId),\n});\nconst admin = new azuread.User(\"admin\", {\n    userPrincipalName: \"ms.admin@example.com\",\n    displayName: \"Ms Admin\",\n    mailNickname: \"ms.admin\",\n    password: \"SecretP@sswd99!\",\n});\nconst exampleManagedInstanceActiveDirectoryAdministrator = new azure.mssql.ManagedInstanceActiveDirectoryAdministrator(\"example\", {\n    managedInstanceId: exampleManagedInstance.id,\n    loginUsername: \"msadmin\",\n    objectId: admin.objectId,\n    tenantId: current.then(current =\u003e current.tenantId),\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\nimport pulumi_azuread as azuread\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"rg-example\",\n    location=\"West Europe\")\ncurrent = azure.core.get_client_config()\nexample_virtual_network = azure.network.VirtualNetwork(\"example\",\n    name=\"example\",\n    location=example.location,\n    resource_group_name=example.name,\n    address_spaces=[\"10.0.0.0/16\"])\nexample_subnet = azure.network.Subnet(\"example\",\n    name=\"example\",\n    resource_group_name=example.name,\n    virtual_network_name=example_virtual_network.name,\n    address_prefixes=[\"10.0.2.0/24\"])\nexample_managed_instance = azure.mssql.ManagedInstance(\"example\",\n    name=\"managedsqlinstance\",\n    resource_group_name=example.name,\n    location=example.location,\n    license_type=\"BasePrice\",\n    sku_name=\"GP_Gen5\",\n    storage_size_in_gb=32,\n    subnet_id=example_subnet.id,\n    vcores=4,\n    administrator_login=\"msadministrator\",\n    administrator_login_password=\"thisIsDog11\",\n    identity={\n        \"type\": \"SystemAssigned\",\n    })\nreader = azuread.DirectoryRole(\"reader\", display_name=\"Directory Readers\")\nexample_directory_role_member = azuread.DirectoryRoleMember(\"example\",\n    role_object_id=reader.object_id,\n    member_object_id=example_managed_instance.identity.principal_id)\nadmin = azuread.User(\"admin\",\n    user_principal_name=\"ms.admin@example.com\",\n    display_name=\"Ms Admin\",\n    mail_nickname=\"ms.admin\",\n    password=\"SecretP@sswd99!\")\nexample_managed_instance_active_directory_administrator = azure.mssql.ManagedInstanceActiveDirectoryAdministrator(\"example\",\n    managed_instance_id=example_managed_instance.id,\n    login_username=\"msadmin\",\n    object_id=admin.object_id,\n    tenant_id=current.tenant_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\nusing AzureAD = Pulumi.AzureAD;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"rg-example\",\n        Location = \"West Europe\",\n    });\n\n    var current = Azure.Core.GetClientConfig.Invoke();\n\n    var exampleVirtualNetwork = new Azure.Network.VirtualNetwork(\"example\", new()\n    {\n        Name = \"example\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        AddressSpaces = new[]\n        {\n            \"10.0.0.0/16\",\n        },\n    });\n\n    var exampleSubnet = new Azure.Network.Subnet(\"example\", new()\n    {\n        Name = \"example\",\n        ResourceGroupName = example.Name,\n        VirtualNetworkName = exampleVirtualNetwork.Name,\n        AddressPrefixes = new[]\n        {\n            \"10.0.2.0/24\",\n        },\n    });\n\n    var exampleManagedInstance = new Azure.MSSql.ManagedInstance(\"example\", new()\n    {\n        Name = \"managedsqlinstance\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        LicenseType = \"BasePrice\",\n        SkuName = \"GP_Gen5\",\n        StorageSizeInGb = 32,\n        SubnetId = exampleSubnet.Id,\n        Vcores = 4,\n        AdministratorLogin = \"msadministrator\",\n        AdministratorLoginPassword = \"thisIsDog11\",\n        Identity = new Azure.MSSql.Inputs.ManagedInstanceIdentityArgs\n        {\n            Type = \"SystemAssigned\",\n        },\n    });\n\n    var reader = new AzureAD.DirectoryRole(\"reader\", new()\n    {\n        DisplayName = \"Directory Readers\",\n    });\n\n    var exampleDirectoryRoleMember = new AzureAD.DirectoryRoleMember(\"example\", new()\n    {\n        RoleObjectId = reader.ObjectId,\n        MemberObjectId = exampleManagedInstance.Identity.Apply(identity =\u003e identity?.PrincipalId),\n    });\n\n    var admin = new AzureAD.User(\"admin\", new()\n    {\n        UserPrincipalName = \"ms.admin@example.com\",\n        DisplayName = \"Ms Admin\",\n        MailNickname = \"ms.admin\",\n        Password = \"SecretP@sswd99!\",\n    });\n\n    var exampleManagedInstanceActiveDirectoryAdministrator = new Azure.MSSql.ManagedInstanceActiveDirectoryAdministrator(\"example\", new()\n    {\n        ManagedInstanceId = exampleManagedInstance.Id,\n        LoginUsername = \"msadmin\",\n        ObjectId = admin.ObjectId,\n        TenantId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.TenantId),\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/mssql\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi-azuread/sdk/v6/go/azuread\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"rg-example\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrent, err := core.GetClientConfig(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, \"example\", \u0026network.VirtualNetworkArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tAddressSpaces: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.0.0/16\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSubnet, err := network.NewSubnet(ctx, \"example\", \u0026network.SubnetArgs{\n\t\t\tName:               pulumi.String(\"example\"),\n\t\t\tResourceGroupName:  example.Name,\n\t\t\tVirtualNetworkName: exampleVirtualNetwork.Name,\n\t\t\tAddressPrefixes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.2.0/24\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleManagedInstance, err := mssql.NewManagedInstance(ctx, \"example\", \u0026mssql.ManagedInstanceArgs{\n\t\t\tName:                       pulumi.String(\"managedsqlinstance\"),\n\t\t\tResourceGroupName:          example.Name,\n\t\t\tLocation:                   example.Location,\n\t\t\tLicenseType:                pulumi.String(\"BasePrice\"),\n\t\t\tSkuName:                    pulumi.String(\"GP_Gen5\"),\n\t\t\tStorageSizeInGb:            pulumi.Int(32),\n\t\t\tSubnetId:                   exampleSubnet.ID(),\n\t\t\tVcores:                     pulumi.Int(4),\n\t\t\tAdministratorLogin:         pulumi.String(\"msadministrator\"),\n\t\t\tAdministratorLoginPassword: pulumi.String(\"thisIsDog11\"),\n\t\t\tIdentity: \u0026mssql.ManagedInstanceIdentityArgs{\n\t\t\t\tType: pulumi.String(\"SystemAssigned\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treader, err := azuread.NewDirectoryRole(ctx, \"reader\", \u0026azuread.DirectoryRoleArgs{\n\t\t\tDisplayName: pulumi.String(\"Directory Readers\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = azuread.NewDirectoryRoleMember(ctx, \"example\", \u0026azuread.DirectoryRoleMemberArgs{\n\t\t\tRoleObjectId: reader.ObjectId,\n\t\t\tMemberObjectId: pulumi.String(exampleManagedInstance.Identity.ApplyT(func(identity mssql.ManagedInstanceIdentity) (*string, error) {\n\t\t\t\treturn \u0026identity.PrincipalId, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tadmin, err := azuread.NewUser(ctx, \"admin\", \u0026azuread.UserArgs{\n\t\t\tUserPrincipalName: pulumi.String(\"ms.admin@example.com\"),\n\t\t\tDisplayName:       pulumi.String(\"Ms Admin\"),\n\t\t\tMailNickname:      pulumi.String(\"ms.admin\"),\n\t\t\tPassword:          pulumi.String(\"SecretP@sswd99!\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = mssql.NewManagedInstanceActiveDirectoryAdministrator(ctx, \"example\", \u0026mssql.ManagedInstanceActiveDirectoryAdministratorArgs{\n\t\t\tManagedInstanceId: exampleManagedInstance.ID(),\n\t\t\tLoginUsername:     pulumi.String(\"msadmin\"),\n\t\t\tObjectId:          admin.ObjectId,\n\t\t\tTenantId:          pulumi.String(current.TenantId),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.network.VirtualNetwork;\nimport com.pulumi.azure.network.VirtualNetworkArgs;\nimport com.pulumi.azure.network.Subnet;\nimport com.pulumi.azure.network.SubnetArgs;\nimport com.pulumi.azure.mssql.ManagedInstance;\nimport com.pulumi.azure.mssql.ManagedInstanceArgs;\nimport com.pulumi.azure.mssql.inputs.ManagedInstanceIdentityArgs;\nimport com.pulumi.azuread.DirectoryRole;\nimport com.pulumi.azuread.DirectoryRoleArgs;\nimport com.pulumi.azuread.DirectoryRoleMember;\nimport com.pulumi.azuread.DirectoryRoleMemberArgs;\nimport com.pulumi.azuread.User;\nimport com.pulumi.azuread.UserArgs;\nimport com.pulumi.azure.mssql.ManagedInstanceActiveDirectoryAdministrator;\nimport com.pulumi.azure.mssql.ManagedInstanceActiveDirectoryAdministratorArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"rg-example\")\n            .location(\"West Europe\")\n            .build());\n\n        final var current = CoreFunctions.getClientConfig(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n        var exampleVirtualNetwork = new VirtualNetwork(\"exampleVirtualNetwork\", VirtualNetworkArgs.builder()\n            .name(\"example\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .addressSpaces(\"10.0.0.0/16\")\n            .build());\n\n        var exampleSubnet = new Subnet(\"exampleSubnet\", SubnetArgs.builder()\n            .name(\"example\")\n            .resourceGroupName(example.name())\n            .virtualNetworkName(exampleVirtualNetwork.name())\n            .addressPrefixes(\"10.0.2.0/24\")\n            .build());\n\n        var exampleManagedInstance = new ManagedInstance(\"exampleManagedInstance\", ManagedInstanceArgs.builder()\n            .name(\"managedsqlinstance\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .licenseType(\"BasePrice\")\n            .skuName(\"GP_Gen5\")\n            .storageSizeInGb(32)\n            .subnetId(exampleSubnet.id())\n            .vcores(4)\n            .administratorLogin(\"msadministrator\")\n            .administratorLoginPassword(\"thisIsDog11\")\n            .identity(ManagedInstanceIdentityArgs.builder()\n                .type(\"SystemAssigned\")\n                .build())\n            .build());\n\n        var reader = new DirectoryRole(\"reader\", DirectoryRoleArgs.builder()\n            .displayName(\"Directory Readers\")\n            .build());\n\n        var exampleDirectoryRoleMember = new DirectoryRoleMember(\"exampleDirectoryRoleMember\", DirectoryRoleMemberArgs.builder()\n            .roleObjectId(reader.objectId())\n            .memberObjectId(exampleManagedInstance.identity().applyValue(_identity -\u003e _identity.principalId()))\n            .build());\n\n        var admin = new User(\"admin\", UserArgs.builder()\n            .userPrincipalName(\"ms.admin@example.com\")\n            .displayName(\"Ms Admin\")\n            .mailNickname(\"ms.admin\")\n            .password(\"SecretP@sswd99!\")\n            .build());\n\n        var exampleManagedInstanceActiveDirectoryAdministrator = new ManagedInstanceActiveDirectoryAdministrator(\"exampleManagedInstanceActiveDirectoryAdministrator\", ManagedInstanceActiveDirectoryAdministratorArgs.builder()\n            .managedInstanceId(exampleManagedInstance.id())\n            .loginUsername(\"msadmin\")\n            .objectId(admin.objectId())\n            .tenantId(current.tenantId())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: rg-example\n      location: West Europe\n  exampleVirtualNetwork:\n    type: azure:network:VirtualNetwork\n    name: example\n    properties:\n      name: example\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      addressSpaces:\n        - 10.0.0.0/16\n  exampleSubnet:\n    type: azure:network:Subnet\n    name: example\n    properties:\n      name: example\n      resourceGroupName: ${example.name}\n      virtualNetworkName: ${exampleVirtualNetwork.name}\n      addressPrefixes:\n        - 10.0.2.0/24\n  exampleManagedInstance:\n    type: azure:mssql:ManagedInstance\n    name: example\n    properties:\n      name: managedsqlinstance\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      licenseType: BasePrice\n      skuName: GP_Gen5\n      storageSizeInGb: 32\n      subnetId: ${exampleSubnet.id}\n      vcores: 4\n      administratorLogin: msadministrator\n      administratorLoginPassword: thisIsDog11\n      identity:\n        type: SystemAssigned\n  reader:\n    type: azuread:DirectoryRole\n    properties:\n      displayName: Directory Readers\n  exampleDirectoryRoleMember:\n    type: azuread:DirectoryRoleMember\n    name: example\n    properties:\n      roleObjectId: ${reader.objectId}\n      memberObjectId: ${exampleManagedInstance.identity.principalId}\n  admin:\n    type: azuread:User\n    properties:\n      userPrincipalName: ms.admin@example.com\n      displayName: Ms Admin\n      mailNickname: ms.admin\n      password: SecretP@sswd99!\n  exampleManagedInstanceActiveDirectoryAdministrator:\n    type: azure:mssql:ManagedInstanceActiveDirectoryAdministrator\n    name: example\n    properties:\n      managedInstanceId: ${exampleManagedInstance.id}\n      loginUsername: msadmin\n      objectId: ${admin.objectId}\n      tenantId: ${current.tenantId}\nvariables:\n  current:\n    fn::invoke:\n      function: azure:core:getClientConfig\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Sql` - 2023-08-01-preview\n\n## Import\n\nAn Azure SQL Active Directory Administrator can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:mssql/managedInstanceActiveDirectoryAdministrator:ManagedInstanceActiveDirectoryAdministrator administrator /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myresourcegroup/providers/Microsoft.Sql/managedInstances/mymanagedinstance/administrators/activeDirectory\n```\n\n","properties":{"azureadAuthenticationOnly":{"type":"boolean","description":"When \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, only permit logins from AAD users and administrators. When \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e, also allow local database users.\n"},"loginUsername":{"type":"string","description":"The login name of the principal to set as the Managed Instance Administrator.\n"},"managedInstanceId":{"type":"string","description":"The ID of the Azure SQL Managed Instance for which to set the administrator. Changing this forces a new resource to be created.\n"},"objectId":{"type":"string","description":"The Object ID of the principal to set as the Managed Instance Administrator.\n"},"tenantId":{"type":"string","description":"The Azure Active Directory Tenant ID.\n"}},"required":["loginUsername","managedInstanceId","objectId","tenantId"],"inputProperties":{"azureadAuthenticationOnly":{"type":"boolean","description":"When \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, only permit logins from AAD users and administrators. When \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e, also allow local database users.\n"},"loginUsername":{"type":"string","description":"The login name of the principal to set as the Managed Instance Administrator.\n"},"managedInstanceId":{"type":"string","description":"The ID of the Azure SQL Managed Instance for which to set the administrator. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"objectId":{"type":"string","description":"The Object ID of the principal to set as the Managed Instance Administrator.\n"},"tenantId":{"type":"string","description":"The Azure Active Directory Tenant ID.\n"}},"requiredInputs":["loginUsername","managedInstanceId","objectId","tenantId"],"stateInputs":{"description":"Input properties used for looking up and filtering ManagedInstanceActiveDirectoryAdministrator resources.\n","properties":{"azureadAuthenticationOnly":{"type":"boolean","description":"When \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, only permit logins from AAD users and administrators. When \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e, also allow local database users.\n"},"loginUsername":{"type":"string","description":"The login name of the principal to set as the Managed Instance Administrator.\n"},"managedInstanceId":{"type":"string","description":"The ID of the Azure SQL Managed Instance for which to set the administrator. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"objectId":{"type":"string","description":"The Object ID of the principal to set as the Managed Instance Administrator.\n"},"tenantId":{"type":"string","description":"The Azure Active Directory Tenant ID.\n"}},"type":"object"},"aliases":[{"type":"azure:sql/managedInstanceActiveDirectoryAdministrator:ManagedInstanceActiveDirectoryAdministrator"}]},"azure:mssql/managedInstanceFailoverGroup:ManagedInstanceFailoverGroup":{"description":"Manages an Azure SQL Managed Instance Failover Group.\n\n## Example Usage\n\n\u003e **Note:** For a more complete example, see the `./examples/sql-azure/managed_instance_failover_group` directory within the GitHub Repository.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst name = \"mymssqlmitest\";\nconst primaryName = `${name}-primary`;\nconst primaryLocation = \"West Europe\";\nconst failoverName = `${name}-failover`;\nconst failoverLocation = \"North Europe\";\n//# Primary SQL Managed Instance\nconst primary = new azure.core.ResourceGroup(\"primary\", {\n    name: primaryName,\n    location: primaryLocation,\n});\nconst exampleZone = new azure.privatedns.Zone(\"example\", {\n    name: `${name}.private`,\n    resourceGroupName: primary.name,\n});\nconst primaryVirtualNetwork = new azure.network.VirtualNetwork(\"primary\", {\n    name: primaryName,\n    location: primary.location,\n    resourceGroupName: primary.name,\n    addressSpaces: [\"10.0.0.0/16\"],\n});\nconst primaryZoneVirtualNetworkLink = new azure.privatedns.ZoneVirtualNetworkLink(\"primary\", {\n    name: \"primary-link\",\n    resourceGroupName: primary.name,\n    privateDnsZoneName: exampleZone.name,\n    virtualNetworkId: primaryVirtualNetwork.id,\n});\nconst primarySubnet = new azure.network.Subnet(\"primary\", {\n    name: primaryName,\n    resourceGroupName: primary.name,\n    virtualNetworkName: primaryVirtualNetwork.name,\n    addressPrefixes: [\"10.0.1.0/24\"],\n    delegations: [{\n        name: \"delegation\",\n        serviceDelegation: {\n            actions: [\n                \"Microsoft.Network/virtualNetworks/subnets/join/action\",\n                \"Microsoft.Network/virtualNetworks/subnets/prepareNetworkPolicies/action\",\n                \"Microsoft.Network/virtualNetworks/subnets/unprepareNetworkPolicies/action\",\n            ],\n            name: \"Microsoft.Sql/managedInstances\",\n        },\n    }],\n});\nconst primaryNetworkSecurityGroup = new azure.network.NetworkSecurityGroup(\"primary\", {\n    name: primaryName,\n    location: primary.location,\n    resourceGroupName: primary.name,\n});\nconst primarySubnetNetworkSecurityGroupAssociation = new azure.network.SubnetNetworkSecurityGroupAssociation(\"primary\", {\n    subnetId: primarySubnet.id,\n    networkSecurityGroupId: primaryNetworkSecurityGroup.id,\n});\nconst primaryRouteTable = new azure.network.RouteTable(\"primary\", {\n    name: primaryName,\n    location: primary.location,\n    resourceGroupName: primary.name,\n});\nconst primarySubnetRouteTableAssociation = new azure.network.SubnetRouteTableAssociation(\"primary\", {\n    subnetId: primarySubnet.id,\n    routeTableId: primaryRouteTable.id,\n});\nconst primaryManagedInstance = new azure.mssql.ManagedInstance(\"primary\", {\n    name: primaryName,\n    resourceGroupName: primary.name,\n    location: primary.location,\n    administratorLogin: \"mradministrator\",\n    administratorLoginPassword: \"thisIsDog11\",\n    licenseType: \"BasePrice\",\n    subnetId: primarySubnet.id,\n    skuName: \"GP_Gen5\",\n    vcores: 4,\n    storageSizeInGb: 32,\n}, {\n    dependsOn: [\n        primarySubnetNetworkSecurityGroupAssociation,\n        primarySubnetRouteTableAssociation,\n    ],\n});\n//# Secondary (Fail-over) SQL Managed Instance\nconst failover = new azure.core.ResourceGroup(\"failover\", {\n    name: failoverName,\n    location: failoverLocation,\n});\nconst failoverVirtualNetwork = new azure.network.VirtualNetwork(\"failover\", {\n    name: failoverName,\n    location: failover.location,\n    resourceGroupName: failover.name,\n    addressSpaces: [\"10.1.0.0/16\"],\n});\nconst failoverZoneVirtualNetworkLink = new azure.privatedns.ZoneVirtualNetworkLink(\"failover\", {\n    name: \"failover-link\",\n    resourceGroupName: exampleZone.resourceGroupName,\n    privateDnsZoneName: exampleZone.name,\n    virtualNetworkId: failoverVirtualNetwork.id,\n});\nconst failoverSubnet = new azure.network.Subnet(\"failover\", {\n    name: \"ManagedInstance\",\n    resourceGroupName: failover.name,\n    virtualNetworkName: failoverVirtualNetwork.name,\n    addressPrefixes: [\"10.1.1.0/24\"],\n    delegations: [{\n        name: \"delegation\",\n        serviceDelegation: {\n            actions: [\n                \"Microsoft.Network/virtualNetworks/subnets/join/action\",\n                \"Microsoft.Network/virtualNetworks/subnets/prepareNetworkPolicies/action\",\n                \"Microsoft.Network/virtualNetworks/subnets/unprepareNetworkPolicies/action\",\n            ],\n            name: \"Microsoft.Sql/managedInstances\",\n        },\n    }],\n});\nconst failoverNetworkSecurityGroup = new azure.network.NetworkSecurityGroup(\"failover\", {\n    name: failoverName,\n    location: failover.location,\n    resourceGroupName: failover.name,\n});\nconst failoverSubnetNetworkSecurityGroupAssociation = new azure.network.SubnetNetworkSecurityGroupAssociation(\"failover\", {\n    subnetId: failoverSubnet.id,\n    networkSecurityGroupId: failoverNetworkSecurityGroup.id,\n});\nconst failoverRouteTable = new azure.network.RouteTable(\"failover\", {\n    name: failoverName,\n    location: failover.location,\n    resourceGroupName: failover.name,\n});\nconst failoverSubnetRouteTableAssociation = new azure.network.SubnetRouteTableAssociation(\"failover\", {\n    subnetId: failoverSubnet.id,\n    routeTableId: failoverRouteTable.id,\n});\nconst failoverManagedInstance = new azure.mssql.ManagedInstance(\"failover\", {\n    name: failoverName,\n    resourceGroupName: failover.name,\n    location: failover.location,\n    administratorLogin: \"mradministrator\",\n    administratorLoginPassword: \"thisIsDog11\",\n    licenseType: \"BasePrice\",\n    subnetId: failoverSubnet.id,\n    skuName: \"GP_Gen5\",\n    vcores: 4,\n    storageSizeInGb: 32,\n    dnsZonePartnerId: primaryManagedInstance.id,\n}, {\n    dependsOn: [\n        failoverSubnetNetworkSecurityGroupAssociation,\n        failoverSubnetRouteTableAssociation,\n    ],\n});\nconst example = new azure.mssql.ManagedInstanceFailoverGroup(\"example\", {\n    name: \"example-failover-group\",\n    location: primaryManagedInstance.location,\n    managedInstanceId: primaryManagedInstance.id,\n    partnerManagedInstanceId: failoverManagedInstance.id,\n    secondaryType: \"Geo\",\n    readWriteEndpointFailoverPolicy: {\n        mode: \"Automatic\",\n        graceMinutes: 60,\n    },\n}, {\n    dependsOn: [\n        primaryZoneVirtualNetworkLink,\n        failoverZoneVirtualNetworkLink,\n    ],\n});\nconst primaryToFailover = new azure.network.VirtualNetworkPeering(\"primary_to_failover\", {\n    name: \"primary-to-failover\",\n    remoteVirtualNetworkId: failoverVirtualNetwork.id,\n    resourceGroupName: primary.name,\n    virtualNetworkName: primaryVirtualNetwork.name,\n});\nconst _default = new azure.network.Subnet(\"default\", {\n    name: \"default\",\n    resourceGroupName: failover.name,\n    virtualNetworkName: failoverVirtualNetwork.name,\n    addressPrefixes: [\"10.1.0.0/24\"],\n});\nconst failoverToPrimary = new azure.network.VirtualNetworkPeering(\"failover_to_primary\", {\n    name: \"failover-to-primary\",\n    remoteVirtualNetworkId: primaryVirtualNetwork.id,\n    resourceGroupName: failover.name,\n    virtualNetworkName: failoverVirtualNetwork.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nname = \"mymssqlmitest\"\nprimary_name = f\"{name}-primary\"\nprimary_location = \"West Europe\"\nfailover_name = f\"{name}-failover\"\nfailover_location = \"North Europe\"\n## Primary SQL Managed Instance\nprimary = azure.core.ResourceGroup(\"primary\",\n    name=primary_name,\n    location=primary_location)\nexample_zone = azure.privatedns.Zone(\"example\",\n    name=f\"{name}.private\",\n    resource_group_name=primary.name)\nprimary_virtual_network = azure.network.VirtualNetwork(\"primary\",\n    name=primary_name,\n    location=primary.location,\n    resource_group_name=primary.name,\n    address_spaces=[\"10.0.0.0/16\"])\nprimary_zone_virtual_network_link = azure.privatedns.ZoneVirtualNetworkLink(\"primary\",\n    name=\"primary-link\",\n    resource_group_name=primary.name,\n    private_dns_zone_name=example_zone.name,\n    virtual_network_id=primary_virtual_network.id)\nprimary_subnet = azure.network.Subnet(\"primary\",\n    name=primary_name,\n    resource_group_name=primary.name,\n    virtual_network_name=primary_virtual_network.name,\n    address_prefixes=[\"10.0.1.0/24\"],\n    delegations=[{\n        \"name\": \"delegation\",\n        \"service_delegation\": {\n            \"actions\": [\n                \"Microsoft.Network/virtualNetworks/subnets/join/action\",\n                \"Microsoft.Network/virtualNetworks/subnets/prepareNetworkPolicies/action\",\n                \"Microsoft.Network/virtualNetworks/subnets/unprepareNetworkPolicies/action\",\n            ],\n            \"name\": \"Microsoft.Sql/managedInstances\",\n        },\n    }])\nprimary_network_security_group = azure.network.NetworkSecurityGroup(\"primary\",\n    name=primary_name,\n    location=primary.location,\n    resource_group_name=primary.name)\nprimary_subnet_network_security_group_association = azure.network.SubnetNetworkSecurityGroupAssociation(\"primary\",\n    subnet_id=primary_subnet.id,\n    network_security_group_id=primary_network_security_group.id)\nprimary_route_table = azure.network.RouteTable(\"primary\",\n    name=primary_name,\n    location=primary.location,\n    resource_group_name=primary.name)\nprimary_subnet_route_table_association = azure.network.SubnetRouteTableAssociation(\"primary\",\n    subnet_id=primary_subnet.id,\n    route_table_id=primary_route_table.id)\nprimary_managed_instance = azure.mssql.ManagedInstance(\"primary\",\n    name=primary_name,\n    resource_group_name=primary.name,\n    location=primary.location,\n    administrator_login=\"mradministrator\",\n    administrator_login_password=\"thisIsDog11\",\n    license_type=\"BasePrice\",\n    subnet_id=primary_subnet.id,\n    sku_name=\"GP_Gen5\",\n    vcores=4,\n    storage_size_in_gb=32,\n    opts = pulumi.ResourceOptions(depends_on=[\n            primary_subnet_network_security_group_association,\n            primary_subnet_route_table_association,\n        ]))\n## Secondary (Fail-over) SQL Managed Instance\nfailover = azure.core.ResourceGroup(\"failover\",\n    name=failover_name,\n    location=failover_location)\nfailover_virtual_network = azure.network.VirtualNetwork(\"failover\",\n    name=failover_name,\n    location=failover.location,\n    resource_group_name=failover.name,\n    address_spaces=[\"10.1.0.0/16\"])\nfailover_zone_virtual_network_link = azure.privatedns.ZoneVirtualNetworkLink(\"failover\",\n    name=\"failover-link\",\n    resource_group_name=example_zone.resource_group_name,\n    private_dns_zone_name=example_zone.name,\n    virtual_network_id=failover_virtual_network.id)\nfailover_subnet = azure.network.Subnet(\"failover\",\n    name=\"ManagedInstance\",\n    resource_group_name=failover.name,\n    virtual_network_name=failover_virtual_network.name,\n    address_prefixes=[\"10.1.1.0/24\"],\n    delegations=[{\n        \"name\": \"delegation\",\n        \"service_delegation\": {\n            \"actions\": [\n                \"Microsoft.Network/virtualNetworks/subnets/join/action\",\n                \"Microsoft.Network/virtualNetworks/subnets/prepareNetworkPolicies/action\",\n                \"Microsoft.Network/virtualNetworks/subnets/unprepareNetworkPolicies/action\",\n            ],\n            \"name\": \"Microsoft.Sql/managedInstances\",\n        },\n    }])\nfailover_network_security_group = azure.network.NetworkSecurityGroup(\"failover\",\n    name=failover_name,\n    location=failover.location,\n    resource_group_name=failover.name)\nfailover_subnet_network_security_group_association = azure.network.SubnetNetworkSecurityGroupAssociation(\"failover\",\n    subnet_id=failover_subnet.id,\n    network_security_group_id=failover_network_security_group.id)\nfailover_route_table = azure.network.RouteTable(\"failover\",\n    name=failover_name,\n    location=failover.location,\n    resource_group_name=failover.name)\nfailover_subnet_route_table_association = azure.network.SubnetRouteTableAssociation(\"failover\",\n    subnet_id=failover_subnet.id,\n    route_table_id=failover_route_table.id)\nfailover_managed_instance = azure.mssql.ManagedInstance(\"failover\",\n    name=failover_name,\n    resource_group_name=failover.name,\n    location=failover.location,\n    administrator_login=\"mradministrator\",\n    administrator_login_password=\"thisIsDog11\",\n    license_type=\"BasePrice\",\n    subnet_id=failover_subnet.id,\n    sku_name=\"GP_Gen5\",\n    vcores=4,\n    storage_size_in_gb=32,\n    dns_zone_partner_id=primary_managed_instance.id,\n    opts = pulumi.ResourceOptions(depends_on=[\n            failover_subnet_network_security_group_association,\n            failover_subnet_route_table_association,\n        ]))\nexample = azure.mssql.ManagedInstanceFailoverGroup(\"example\",\n    name=\"example-failover-group\",\n    location=primary_managed_instance.location,\n    managed_instance_id=primary_managed_instance.id,\n    partner_managed_instance_id=failover_managed_instance.id,\n    secondary_type=\"Geo\",\n    read_write_endpoint_failover_policy={\n        \"mode\": \"Automatic\",\n        \"grace_minutes\": 60,\n    },\n    opts = pulumi.ResourceOptions(depends_on=[\n            primary_zone_virtual_network_link,\n            failover_zone_virtual_network_link,\n        ]))\nprimary_to_failover = azure.network.VirtualNetworkPeering(\"primary_to_failover\",\n    name=\"primary-to-failover\",\n    remote_virtual_network_id=failover_virtual_network.id,\n    resource_group_name=primary.name,\n    virtual_network_name=primary_virtual_network.name)\ndefault = azure.network.Subnet(\"default\",\n    name=\"default\",\n    resource_group_name=failover.name,\n    virtual_network_name=failover_virtual_network.name,\n    address_prefixes=[\"10.1.0.0/24\"])\nfailover_to_primary = azure.network.VirtualNetworkPeering(\"failover_to_primary\",\n    name=\"failover-to-primary\",\n    remote_virtual_network_id=primary_virtual_network.id,\n    resource_group_name=failover.name,\n    virtual_network_name=failover_virtual_network.name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var name = \"mymssqlmitest\";\n\n    var primaryName = $\"{name}-primary\";\n\n    var primaryLocation = \"West Europe\";\n\n    var failoverName = $\"{name}-failover\";\n\n    var failoverLocation = \"North Europe\";\n\n    //# Primary SQL Managed Instance\n    var primary = new Azure.Core.ResourceGroup(\"primary\", new()\n    {\n        Name = primaryName,\n        Location = primaryLocation,\n    });\n\n    var exampleZone = new Azure.PrivateDns.Zone(\"example\", new()\n    {\n        Name = $\"{name}.private\",\n        ResourceGroupName = primary.Name,\n    });\n\n    var primaryVirtualNetwork = new Azure.Network.VirtualNetwork(\"primary\", new()\n    {\n        Name = primaryName,\n        Location = primary.Location,\n        ResourceGroupName = primary.Name,\n        AddressSpaces = new[]\n        {\n            \"10.0.0.0/16\",\n        },\n    });\n\n    var primaryZoneVirtualNetworkLink = new Azure.PrivateDns.ZoneVirtualNetworkLink(\"primary\", new()\n    {\n        Name = \"primary-link\",\n        ResourceGroupName = primary.Name,\n        PrivateDnsZoneName = exampleZone.Name,\n        VirtualNetworkId = primaryVirtualNetwork.Id,\n    });\n\n    var primarySubnet = new Azure.Network.Subnet(\"primary\", new()\n    {\n        Name = primaryName,\n        ResourceGroupName = primary.Name,\n        VirtualNetworkName = primaryVirtualNetwork.Name,\n        AddressPrefixes = new[]\n        {\n            \"10.0.1.0/24\",\n        },\n        Delegations = new[]\n        {\n            new Azure.Network.Inputs.SubnetDelegationArgs\n            {\n                Name = \"delegation\",\n                ServiceDelegation = new Azure.Network.Inputs.SubnetDelegationServiceDelegationArgs\n                {\n                    Actions = new[]\n                    {\n                        \"Microsoft.Network/virtualNetworks/subnets/join/action\",\n                        \"Microsoft.Network/virtualNetworks/subnets/prepareNetworkPolicies/action\",\n                        \"Microsoft.Network/virtualNetworks/subnets/unprepareNetworkPolicies/action\",\n                    },\n                    Name = \"Microsoft.Sql/managedInstances\",\n                },\n            },\n        },\n    });\n\n    var primaryNetworkSecurityGroup = new Azure.Network.NetworkSecurityGroup(\"primary\", new()\n    {\n        Name = primaryName,\n        Location = primary.Location,\n        ResourceGroupName = primary.Name,\n    });\n\n    var primarySubnetNetworkSecurityGroupAssociation = new Azure.Network.SubnetNetworkSecurityGroupAssociation(\"primary\", new()\n    {\n        SubnetId = primarySubnet.Id,\n        NetworkSecurityGroupId = primaryNetworkSecurityGroup.Id,\n    });\n\n    var primaryRouteTable = new Azure.Network.RouteTable(\"primary\", new()\n    {\n        Name = primaryName,\n        Location = primary.Location,\n        ResourceGroupName = primary.Name,\n    });\n\n    var primarySubnetRouteTableAssociation = new Azure.Network.SubnetRouteTableAssociation(\"primary\", new()\n    {\n        SubnetId = primarySubnet.Id,\n        RouteTableId = primaryRouteTable.Id,\n    });\n\n    var primaryManagedInstance = new Azure.MSSql.ManagedInstance(\"primary\", new()\n    {\n        Name = primaryName,\n        ResourceGroupName = primary.Name,\n        Location = primary.Location,\n        AdministratorLogin = \"mradministrator\",\n        AdministratorLoginPassword = \"thisIsDog11\",\n        LicenseType = \"BasePrice\",\n        SubnetId = primarySubnet.Id,\n        SkuName = \"GP_Gen5\",\n        Vcores = 4,\n        StorageSizeInGb = 32,\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            primarySubnetNetworkSecurityGroupAssociation,\n            primarySubnetRouteTableAssociation,\n        },\n    });\n\n    //# Secondary (Fail-over) SQL Managed Instance\n    var failover = new Azure.Core.ResourceGroup(\"failover\", new()\n    {\n        Name = failoverName,\n        Location = failoverLocation,\n    });\n\n    var failoverVirtualNetwork = new Azure.Network.VirtualNetwork(\"failover\", new()\n    {\n        Name = failoverName,\n        Location = failover.Location,\n        ResourceGroupName = failover.Name,\n        AddressSpaces = new[]\n        {\n            \"10.1.0.0/16\",\n        },\n    });\n\n    var failoverZoneVirtualNetworkLink = new Azure.PrivateDns.ZoneVirtualNetworkLink(\"failover\", new()\n    {\n        Name = \"failover-link\",\n        ResourceGroupName = exampleZone.ResourceGroupName,\n        PrivateDnsZoneName = exampleZone.Name,\n        VirtualNetworkId = failoverVirtualNetwork.Id,\n    });\n\n    var failoverSubnet = new Azure.Network.Subnet(\"failover\", new()\n    {\n        Name = \"ManagedInstance\",\n        ResourceGroupName = failover.Name,\n        VirtualNetworkName = failoverVirtualNetwork.Name,\n        AddressPrefixes = new[]\n        {\n            \"10.1.1.0/24\",\n        },\n        Delegations = new[]\n        {\n            new Azure.Network.Inputs.SubnetDelegationArgs\n            {\n                Name = \"delegation\",\n                ServiceDelegation = new Azure.Network.Inputs.SubnetDelegationServiceDelegationArgs\n                {\n                    Actions = new[]\n                    {\n                        \"Microsoft.Network/virtualNetworks/subnets/join/action\",\n                        \"Microsoft.Network/virtualNetworks/subnets/prepareNetworkPolicies/action\",\n                        \"Microsoft.Network/virtualNetworks/subnets/unprepareNetworkPolicies/action\",\n                    },\n                    Name = \"Microsoft.Sql/managedInstances\",\n                },\n            },\n        },\n    });\n\n    var failoverNetworkSecurityGroup = new Azure.Network.NetworkSecurityGroup(\"failover\", new()\n    {\n        Name = failoverName,\n        Location = failover.Location,\n        ResourceGroupName = failover.Name,\n    });\n\n    var failoverSubnetNetworkSecurityGroupAssociation = new Azure.Network.SubnetNetworkSecurityGroupAssociation(\"failover\", new()\n    {\n        SubnetId = failoverSubnet.Id,\n        NetworkSecurityGroupId = failoverNetworkSecurityGroup.Id,\n    });\n\n    var failoverRouteTable = new Azure.Network.RouteTable(\"failover\", new()\n    {\n        Name = failoverName,\n        Location = failover.Location,\n        ResourceGroupName = failover.Name,\n    });\n\n    var failoverSubnetRouteTableAssociation = new Azure.Network.SubnetRouteTableAssociation(\"failover\", new()\n    {\n        SubnetId = failoverSubnet.Id,\n        RouteTableId = failoverRouteTable.Id,\n    });\n\n    var failoverManagedInstance = new Azure.MSSql.ManagedInstance(\"failover\", new()\n    {\n        Name = failoverName,\n        ResourceGroupName = failover.Name,\n        Location = failover.Location,\n        AdministratorLogin = \"mradministrator\",\n        AdministratorLoginPassword = \"thisIsDog11\",\n        LicenseType = \"BasePrice\",\n        SubnetId = failoverSubnet.Id,\n        SkuName = \"GP_Gen5\",\n        Vcores = 4,\n        StorageSizeInGb = 32,\n        DnsZonePartnerId = primaryManagedInstance.Id,\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            failoverSubnetNetworkSecurityGroupAssociation,\n            failoverSubnetRouteTableAssociation,\n        },\n    });\n\n    var example = new Azure.MSSql.ManagedInstanceFailoverGroup(\"example\", new()\n    {\n        Name = \"example-failover-group\",\n        Location = primaryManagedInstance.Location,\n        ManagedInstanceId = primaryManagedInstance.Id,\n        PartnerManagedInstanceId = failoverManagedInstance.Id,\n        SecondaryType = \"Geo\",\n        ReadWriteEndpointFailoverPolicy = new Azure.MSSql.Inputs.ManagedInstanceFailoverGroupReadWriteEndpointFailoverPolicyArgs\n        {\n            Mode = \"Automatic\",\n            GraceMinutes = 60,\n        },\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            primaryZoneVirtualNetworkLink,\n            failoverZoneVirtualNetworkLink,\n        },\n    });\n\n    var primaryToFailover = new Azure.Network.VirtualNetworkPeering(\"primary_to_failover\", new()\n    {\n        Name = \"primary-to-failover\",\n        RemoteVirtualNetworkId = failoverVirtualNetwork.Id,\n        ResourceGroupName = primary.Name,\n        VirtualNetworkName = primaryVirtualNetwork.Name,\n    });\n\n    var @default = new Azure.Network.Subnet(\"default\", new()\n    {\n        Name = \"default\",\n        ResourceGroupName = failover.Name,\n        VirtualNetworkName = failoverVirtualNetwork.Name,\n        AddressPrefixes = new[]\n        {\n            \"10.1.0.0/24\",\n        },\n    });\n\n    var failoverToPrimary = new Azure.Network.VirtualNetworkPeering(\"failover_to_primary\", new()\n    {\n        Name = \"failover-to-primary\",\n        RemoteVirtualNetworkId = primaryVirtualNetwork.Id,\n        ResourceGroupName = failover.Name,\n        VirtualNetworkName = failoverVirtualNetwork.Name,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/mssql\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/privatedns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tname := \"mymssqlmitest\"\n\t\tprimaryName := fmt.Sprintf(\"%v-primary\", name)\n\t\tprimaryLocation := \"West Europe\"\n\t\tfailoverName := fmt.Sprintf(\"%v-failover\", name)\n\t\tfailoverLocation := \"North Europe\"\n\t\t// # Primary SQL Managed Instance\n\t\tprimary, err := core.NewResourceGroup(ctx, \"primary\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(primaryName),\n\t\t\tLocation: pulumi.String(primaryLocation),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleZone, err := privatedns.NewZone(ctx, \"example\", \u0026privatedns.ZoneArgs{\n\t\t\tName:              pulumi.Sprintf(\"%v.private\", name),\n\t\t\tResourceGroupName: primary.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tprimaryVirtualNetwork, err := network.NewVirtualNetwork(ctx, \"primary\", \u0026network.VirtualNetworkArgs{\n\t\t\tName:              pulumi.String(primaryName),\n\t\t\tLocation:          primary.Location,\n\t\t\tResourceGroupName: primary.Name,\n\t\t\tAddressSpaces: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.0.0/16\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tprimaryZoneVirtualNetworkLink, err := privatedns.NewZoneVirtualNetworkLink(ctx, \"primary\", \u0026privatedns.ZoneVirtualNetworkLinkArgs{\n\t\t\tName:               pulumi.String(\"primary-link\"),\n\t\t\tResourceGroupName:  primary.Name,\n\t\t\tPrivateDnsZoneName: exampleZone.Name,\n\t\t\tVirtualNetworkId:   primaryVirtualNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tprimarySubnet, err := network.NewSubnet(ctx, \"primary\", \u0026network.SubnetArgs{\n\t\t\tName:               pulumi.String(primaryName),\n\t\t\tResourceGroupName:  primary.Name,\n\t\t\tVirtualNetworkName: primaryVirtualNetwork.Name,\n\t\t\tAddressPrefixes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.1.0/24\"),\n\t\t\t},\n\t\t\tDelegations: network.SubnetDelegationArray{\n\t\t\t\t\u0026network.SubnetDelegationArgs{\n\t\t\t\t\tName: pulumi.String(\"delegation\"),\n\t\t\t\t\tServiceDelegation: \u0026network.SubnetDelegationServiceDelegationArgs{\n\t\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"Microsoft.Network/virtualNetworks/subnets/join/action\"),\n\t\t\t\t\t\t\tpulumi.String(\"Microsoft.Network/virtualNetworks/subnets/prepareNetworkPolicies/action\"),\n\t\t\t\t\t\t\tpulumi.String(\"Microsoft.Network/virtualNetworks/subnets/unprepareNetworkPolicies/action\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tName: pulumi.String(\"Microsoft.Sql/managedInstances\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tprimaryNetworkSecurityGroup, err := network.NewNetworkSecurityGroup(ctx, \"primary\", \u0026network.NetworkSecurityGroupArgs{\n\t\t\tName:              pulumi.String(primaryName),\n\t\t\tLocation:          primary.Location,\n\t\t\tResourceGroupName: primary.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tprimarySubnetNetworkSecurityGroupAssociation, err := network.NewSubnetNetworkSecurityGroupAssociation(ctx, \"primary\", \u0026network.SubnetNetworkSecurityGroupAssociationArgs{\n\t\t\tSubnetId:               primarySubnet.ID(),\n\t\t\tNetworkSecurityGroupId: primaryNetworkSecurityGroup.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tprimaryRouteTable, err := network.NewRouteTable(ctx, \"primary\", \u0026network.RouteTableArgs{\n\t\t\tName:              pulumi.String(primaryName),\n\t\t\tLocation:          primary.Location,\n\t\t\tResourceGroupName: primary.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tprimarySubnetRouteTableAssociation, err := network.NewSubnetRouteTableAssociation(ctx, \"primary\", \u0026network.SubnetRouteTableAssociationArgs{\n\t\t\tSubnetId:     primarySubnet.ID(),\n\t\t\tRouteTableId: primaryRouteTable.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tprimaryManagedInstance, err := mssql.NewManagedInstance(ctx, \"primary\", \u0026mssql.ManagedInstanceArgs{\n\t\t\tName:                       pulumi.String(primaryName),\n\t\t\tResourceGroupName:          primary.Name,\n\t\t\tLocation:                   primary.Location,\n\t\t\tAdministratorLogin:         pulumi.String(\"mradministrator\"),\n\t\t\tAdministratorLoginPassword: pulumi.String(\"thisIsDog11\"),\n\t\t\tLicenseType:                pulumi.String(\"BasePrice\"),\n\t\t\tSubnetId:                   primarySubnet.ID(),\n\t\t\tSkuName:                    pulumi.String(\"GP_Gen5\"),\n\t\t\tVcores:                     pulumi.Int(4),\n\t\t\tStorageSizeInGb:            pulumi.Int(32),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tprimarySubnetNetworkSecurityGroupAssociation,\n\t\t\tprimarySubnetRouteTableAssociation,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// # Secondary (Fail-over) SQL Managed Instance\n\t\tfailover, err := core.NewResourceGroup(ctx, \"failover\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(failoverName),\n\t\t\tLocation: pulumi.String(failoverLocation),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfailoverVirtualNetwork, err := network.NewVirtualNetwork(ctx, \"failover\", \u0026network.VirtualNetworkArgs{\n\t\t\tName:              pulumi.String(failoverName),\n\t\t\tLocation:          failover.Location,\n\t\t\tResourceGroupName: failover.Name,\n\t\t\tAddressSpaces: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.1.0.0/16\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfailoverZoneVirtualNetworkLink, err := privatedns.NewZoneVirtualNetworkLink(ctx, \"failover\", \u0026privatedns.ZoneVirtualNetworkLinkArgs{\n\t\t\tName:               pulumi.String(\"failover-link\"),\n\t\t\tResourceGroupName:  exampleZone.ResourceGroupName,\n\t\t\tPrivateDnsZoneName: exampleZone.Name,\n\t\t\tVirtualNetworkId:   failoverVirtualNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfailoverSubnet, err := network.NewSubnet(ctx, \"failover\", \u0026network.SubnetArgs{\n\t\t\tName:               pulumi.String(\"ManagedInstance\"),\n\t\t\tResourceGroupName:  failover.Name,\n\t\t\tVirtualNetworkName: failoverVirtualNetwork.Name,\n\t\t\tAddressPrefixes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.1.1.0/24\"),\n\t\t\t},\n\t\t\tDelegations: network.SubnetDelegationArray{\n\t\t\t\t\u0026network.SubnetDelegationArgs{\n\t\t\t\t\tName: pulumi.String(\"delegation\"),\n\t\t\t\t\tServiceDelegation: \u0026network.SubnetDelegationServiceDelegationArgs{\n\t\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"Microsoft.Network/virtualNetworks/subnets/join/action\"),\n\t\t\t\t\t\t\tpulumi.String(\"Microsoft.Network/virtualNetworks/subnets/prepareNetworkPolicies/action\"),\n\t\t\t\t\t\t\tpulumi.String(\"Microsoft.Network/virtualNetworks/subnets/unprepareNetworkPolicies/action\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tName: pulumi.String(\"Microsoft.Sql/managedInstances\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfailoverNetworkSecurityGroup, err := network.NewNetworkSecurityGroup(ctx, \"failover\", \u0026network.NetworkSecurityGroupArgs{\n\t\t\tName:              pulumi.String(failoverName),\n\t\t\tLocation:          failover.Location,\n\t\t\tResourceGroupName: failover.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfailoverSubnetNetworkSecurityGroupAssociation, err := network.NewSubnetNetworkSecurityGroupAssociation(ctx, \"failover\", \u0026network.SubnetNetworkSecurityGroupAssociationArgs{\n\t\t\tSubnetId:               failoverSubnet.ID(),\n\t\t\tNetworkSecurityGroupId: failoverNetworkSecurityGroup.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfailoverRouteTable, err := network.NewRouteTable(ctx, \"failover\", \u0026network.RouteTableArgs{\n\t\t\tName:              pulumi.String(failoverName),\n\t\t\tLocation:          failover.Location,\n\t\t\tResourceGroupName: failover.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfailoverSubnetRouteTableAssociation, err := network.NewSubnetRouteTableAssociation(ctx, \"failover\", \u0026network.SubnetRouteTableAssociationArgs{\n\t\t\tSubnetId:     failoverSubnet.ID(),\n\t\t\tRouteTableId: failoverRouteTable.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfailoverManagedInstance, err := mssql.NewManagedInstance(ctx, \"failover\", \u0026mssql.ManagedInstanceArgs{\n\t\t\tName:                       pulumi.String(failoverName),\n\t\t\tResourceGroupName:          failover.Name,\n\t\t\tLocation:                   failover.Location,\n\t\t\tAdministratorLogin:         pulumi.String(\"mradministrator\"),\n\t\t\tAdministratorLoginPassword: pulumi.String(\"thisIsDog11\"),\n\t\t\tLicenseType:                pulumi.String(\"BasePrice\"),\n\t\t\tSubnetId:                   failoverSubnet.ID(),\n\t\t\tSkuName:                    pulumi.String(\"GP_Gen5\"),\n\t\t\tVcores:                     pulumi.Int(4),\n\t\t\tStorageSizeInGb:            pulumi.Int(32),\n\t\t\tDnsZonePartnerId:           primaryManagedInstance.ID(),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tfailoverSubnetNetworkSecurityGroupAssociation,\n\t\t\tfailoverSubnetRouteTableAssociation,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = mssql.NewManagedInstanceFailoverGroup(ctx, \"example\", \u0026mssql.ManagedInstanceFailoverGroupArgs{\n\t\t\tName:                     pulumi.String(\"example-failover-group\"),\n\t\t\tLocation:                 primaryManagedInstance.Location,\n\t\t\tManagedInstanceId:        primaryManagedInstance.ID(),\n\t\t\tPartnerManagedInstanceId: failoverManagedInstance.ID(),\n\t\t\tSecondaryType:            pulumi.String(\"Geo\"),\n\t\t\tReadWriteEndpointFailoverPolicy: \u0026mssql.ManagedInstanceFailoverGroupReadWriteEndpointFailoverPolicyArgs{\n\t\t\t\tMode:         pulumi.String(\"Automatic\"),\n\t\t\t\tGraceMinutes: pulumi.Int(60),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tprimaryZoneVirtualNetworkLink,\n\t\t\tfailoverZoneVirtualNetworkLink,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = network.NewVirtualNetworkPeering(ctx, \"primary_to_failover\", \u0026network.VirtualNetworkPeeringArgs{\n\t\t\tName:                   pulumi.String(\"primary-to-failover\"),\n\t\t\tRemoteVirtualNetworkId: failoverVirtualNetwork.ID(),\n\t\t\tResourceGroupName:      primary.Name,\n\t\t\tVirtualNetworkName:     primaryVirtualNetwork.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = network.NewSubnet(ctx, \"default\", \u0026network.SubnetArgs{\n\t\t\tName:               pulumi.String(\"default\"),\n\t\t\tResourceGroupName:  failover.Name,\n\t\t\tVirtualNetworkName: failoverVirtualNetwork.Name,\n\t\t\tAddressPrefixes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.1.0.0/24\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = network.NewVirtualNetworkPeering(ctx, \"failover_to_primary\", \u0026network.VirtualNetworkPeeringArgs{\n\t\t\tName:                   pulumi.String(\"failover-to-primary\"),\n\t\t\tRemoteVirtualNetworkId: primaryVirtualNetwork.ID(),\n\t\t\tResourceGroupName:      failover.Name,\n\t\t\tVirtualNetworkName:     failoverVirtualNetwork.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.privatedns.Zone;\nimport com.pulumi.azure.privatedns.ZoneArgs;\nimport com.pulumi.azure.network.VirtualNetwork;\nimport com.pulumi.azure.network.VirtualNetworkArgs;\nimport com.pulumi.azure.privatedns.ZoneVirtualNetworkLink;\nimport com.pulumi.azure.privatedns.ZoneVirtualNetworkLinkArgs;\nimport com.pulumi.azure.network.Subnet;\nimport com.pulumi.azure.network.SubnetArgs;\nimport com.pulumi.azure.network.inputs.SubnetDelegationArgs;\nimport com.pulumi.azure.network.inputs.SubnetDelegationServiceDelegationArgs;\nimport com.pulumi.azure.network.NetworkSecurityGroup;\nimport com.pulumi.azure.network.NetworkSecurityGroupArgs;\nimport com.pulumi.azure.network.SubnetNetworkSecurityGroupAssociation;\nimport com.pulumi.azure.network.SubnetNetworkSecurityGroupAssociationArgs;\nimport com.pulumi.azure.network.RouteTable;\nimport com.pulumi.azure.network.RouteTableArgs;\nimport com.pulumi.azure.network.SubnetRouteTableAssociation;\nimport com.pulumi.azure.network.SubnetRouteTableAssociationArgs;\nimport com.pulumi.azure.mssql.ManagedInstance;\nimport com.pulumi.azure.mssql.ManagedInstanceArgs;\nimport com.pulumi.azure.mssql.ManagedInstanceFailoverGroup;\nimport com.pulumi.azure.mssql.ManagedInstanceFailoverGroupArgs;\nimport com.pulumi.azure.mssql.inputs.ManagedInstanceFailoverGroupReadWriteEndpointFailoverPolicyArgs;\nimport com.pulumi.azure.network.VirtualNetworkPeering;\nimport com.pulumi.azure.network.VirtualNetworkPeeringArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var name = \"mymssqlmitest\";\n\n        final var primaryName = String.format(\"%s-primary\", name);\n\n        final var primaryLocation = \"West Europe\";\n\n        final var failoverName = String.format(\"%s-failover\", name);\n\n        final var failoverLocation = \"North Europe\";\n\n        //# Primary SQL Managed Instance\n        var primary = new ResourceGroup(\"primary\", ResourceGroupArgs.builder()\n            .name(primaryName)\n            .location(primaryLocation)\n            .build());\n\n        var exampleZone = new Zone(\"exampleZone\", ZoneArgs.builder()\n            .name(String.format(\"%s.private\", name))\n            .resourceGroupName(primary.name())\n            .build());\n\n        var primaryVirtualNetwork = new VirtualNetwork(\"primaryVirtualNetwork\", VirtualNetworkArgs.builder()\n            .name(primaryName)\n            .location(primary.location())\n            .resourceGroupName(primary.name())\n            .addressSpaces(\"10.0.0.0/16\")\n            .build());\n\n        var primaryZoneVirtualNetworkLink = new ZoneVirtualNetworkLink(\"primaryZoneVirtualNetworkLink\", ZoneVirtualNetworkLinkArgs.builder()\n            .name(\"primary-link\")\n            .resourceGroupName(primary.name())\n            .privateDnsZoneName(exampleZone.name())\n            .virtualNetworkId(primaryVirtualNetwork.id())\n            .build());\n\n        var primarySubnet = new Subnet(\"primarySubnet\", SubnetArgs.builder()\n            .name(primaryName)\n            .resourceGroupName(primary.name())\n            .virtualNetworkName(primaryVirtualNetwork.name())\n            .addressPrefixes(\"10.0.1.0/24\")\n            .delegations(SubnetDelegationArgs.builder()\n                .name(\"delegation\")\n                .serviceDelegation(SubnetDelegationServiceDelegationArgs.builder()\n                    .actions(                    \n                        \"Microsoft.Network/virtualNetworks/subnets/join/action\",\n                        \"Microsoft.Network/virtualNetworks/subnets/prepareNetworkPolicies/action\",\n                        \"Microsoft.Network/virtualNetworks/subnets/unprepareNetworkPolicies/action\")\n                    .name(\"Microsoft.Sql/managedInstances\")\n                    .build())\n                .build())\n            .build());\n\n        var primaryNetworkSecurityGroup = new NetworkSecurityGroup(\"primaryNetworkSecurityGroup\", NetworkSecurityGroupArgs.builder()\n            .name(primaryName)\n            .location(primary.location())\n            .resourceGroupName(primary.name())\n            .build());\n\n        var primarySubnetNetworkSecurityGroupAssociation = new SubnetNetworkSecurityGroupAssociation(\"primarySubnetNetworkSecurityGroupAssociation\", SubnetNetworkSecurityGroupAssociationArgs.builder()\n            .subnetId(primarySubnet.id())\n            .networkSecurityGroupId(primaryNetworkSecurityGroup.id())\n            .build());\n\n        var primaryRouteTable = new RouteTable(\"primaryRouteTable\", RouteTableArgs.builder()\n            .name(primaryName)\n            .location(primary.location())\n            .resourceGroupName(primary.name())\n            .build());\n\n        var primarySubnetRouteTableAssociation = new SubnetRouteTableAssociation(\"primarySubnetRouteTableAssociation\", SubnetRouteTableAssociationArgs.builder()\n            .subnetId(primarySubnet.id())\n            .routeTableId(primaryRouteTable.id())\n            .build());\n\n        var primaryManagedInstance = new ManagedInstance(\"primaryManagedInstance\", ManagedInstanceArgs.builder()\n            .name(primaryName)\n            .resourceGroupName(primary.name())\n            .location(primary.location())\n            .administratorLogin(\"mradministrator\")\n            .administratorLoginPassword(\"thisIsDog11\")\n            .licenseType(\"BasePrice\")\n            .subnetId(primarySubnet.id())\n            .skuName(\"GP_Gen5\")\n            .vcores(4)\n            .storageSizeInGb(32)\n            .build(), CustomResourceOptions.builder()\n                .dependsOn(                \n                    primarySubnetNetworkSecurityGroupAssociation,\n                    primarySubnetRouteTableAssociation)\n                .build());\n\n        //# Secondary (Fail-over) SQL Managed Instance\n        var failover = new ResourceGroup(\"failover\", ResourceGroupArgs.builder()\n            .name(failoverName)\n            .location(failoverLocation)\n            .build());\n\n        var failoverVirtualNetwork = new VirtualNetwork(\"failoverVirtualNetwork\", VirtualNetworkArgs.builder()\n            .name(failoverName)\n            .location(failover.location())\n            .resourceGroupName(failover.name())\n            .addressSpaces(\"10.1.0.0/16\")\n            .build());\n\n        var failoverZoneVirtualNetworkLink = new ZoneVirtualNetworkLink(\"failoverZoneVirtualNetworkLink\", ZoneVirtualNetworkLinkArgs.builder()\n            .name(\"failover-link\")\n            .resourceGroupName(exampleZone.resourceGroupName())\n            .privateDnsZoneName(exampleZone.name())\n            .virtualNetworkId(failoverVirtualNetwork.id())\n            .build());\n\n        var failoverSubnet = new Subnet(\"failoverSubnet\", SubnetArgs.builder()\n            .name(\"ManagedInstance\")\n            .resourceGroupName(failover.name())\n            .virtualNetworkName(failoverVirtualNetwork.name())\n            .addressPrefixes(\"10.1.1.0/24\")\n            .delegations(SubnetDelegationArgs.builder()\n                .name(\"delegation\")\n                .serviceDelegation(SubnetDelegationServiceDelegationArgs.builder()\n                    .actions(                    \n                        \"Microsoft.Network/virtualNetworks/subnets/join/action\",\n                        \"Microsoft.Network/virtualNetworks/subnets/prepareNetworkPolicies/action\",\n                        \"Microsoft.Network/virtualNetworks/subnets/unprepareNetworkPolicies/action\")\n                    .name(\"Microsoft.Sql/managedInstances\")\n                    .build())\n                .build())\n            .build());\n\n        var failoverNetworkSecurityGroup = new NetworkSecurityGroup(\"failoverNetworkSecurityGroup\", NetworkSecurityGroupArgs.builder()\n            .name(failoverName)\n            .location(failover.location())\n            .resourceGroupName(failover.name())\n            .build());\n\n        var failoverSubnetNetworkSecurityGroupAssociation = new SubnetNetworkSecurityGroupAssociation(\"failoverSubnetNetworkSecurityGroupAssociation\", SubnetNetworkSecurityGroupAssociationArgs.builder()\n            .subnetId(failoverSubnet.id())\n            .networkSecurityGroupId(failoverNetworkSecurityGroup.id())\n            .build());\n\n        var failoverRouteTable = new RouteTable(\"failoverRouteTable\", RouteTableArgs.builder()\n            .name(failoverName)\n            .location(failover.location())\n            .resourceGroupName(failover.name())\n            .build());\n\n        var failoverSubnetRouteTableAssociation = new SubnetRouteTableAssociation(\"failoverSubnetRouteTableAssociation\", SubnetRouteTableAssociationArgs.builder()\n            .subnetId(failoverSubnet.id())\n            .routeTableId(failoverRouteTable.id())\n            .build());\n\n        var failoverManagedInstance = new ManagedInstance(\"failoverManagedInstance\", ManagedInstanceArgs.builder()\n            .name(failoverName)\n            .resourceGroupName(failover.name())\n            .location(failover.location())\n            .administratorLogin(\"mradministrator\")\n            .administratorLoginPassword(\"thisIsDog11\")\n            .licenseType(\"BasePrice\")\n            .subnetId(failoverSubnet.id())\n            .skuName(\"GP_Gen5\")\n            .vcores(4)\n            .storageSizeInGb(32)\n            .dnsZonePartnerId(primaryManagedInstance.id())\n            .build(), CustomResourceOptions.builder()\n                .dependsOn(                \n                    failoverSubnetNetworkSecurityGroupAssociation,\n                    failoverSubnetRouteTableAssociation)\n                .build());\n\n        var example = new ManagedInstanceFailoverGroup(\"example\", ManagedInstanceFailoverGroupArgs.builder()\n            .name(\"example-failover-group\")\n            .location(primaryManagedInstance.location())\n            .managedInstanceId(primaryManagedInstance.id())\n            .partnerManagedInstanceId(failoverManagedInstance.id())\n            .secondaryType(\"Geo\")\n            .readWriteEndpointFailoverPolicy(ManagedInstanceFailoverGroupReadWriteEndpointFailoverPolicyArgs.builder()\n                .mode(\"Automatic\")\n                .graceMinutes(60)\n                .build())\n            .build(), CustomResourceOptions.builder()\n                .dependsOn(                \n                    primaryZoneVirtualNetworkLink,\n                    failoverZoneVirtualNetworkLink)\n                .build());\n\n        var primaryToFailover = new VirtualNetworkPeering(\"primaryToFailover\", VirtualNetworkPeeringArgs.builder()\n            .name(\"primary-to-failover\")\n            .remoteVirtualNetworkId(failoverVirtualNetwork.id())\n            .resourceGroupName(primary.name())\n            .virtualNetworkName(primaryVirtualNetwork.name())\n            .build());\n\n        var default_ = new Subnet(\"default\", SubnetArgs.builder()\n            .name(\"default\")\n            .resourceGroupName(failover.name())\n            .virtualNetworkName(failoverVirtualNetwork.name())\n            .addressPrefixes(\"10.1.0.0/24\")\n            .build());\n\n        var failoverToPrimary = new VirtualNetworkPeering(\"failoverToPrimary\", VirtualNetworkPeeringArgs.builder()\n            .name(\"failover-to-primary\")\n            .remoteVirtualNetworkId(primaryVirtualNetwork.id())\n            .resourceGroupName(failover.name())\n            .virtualNetworkName(failoverVirtualNetwork.name())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:mssql:ManagedInstanceFailoverGroup\n    properties:\n      name: example-failover-group\n      location: ${primaryManagedInstance.location}\n      managedInstanceId: ${primaryManagedInstance.id}\n      partnerManagedInstanceId: ${failoverManagedInstance.id}\n      secondaryType: Geo\n      readWriteEndpointFailoverPolicy:\n        mode: Automatic\n        graceMinutes: 60\n    options:\n      dependsOn:\n        - ${primaryZoneVirtualNetworkLink}\n        - ${failoverZoneVirtualNetworkLink}\n  exampleZone:\n    type: azure:privatedns:Zone\n    name: example\n    properties:\n      name: ${name}.private\n      resourceGroupName: ${primary.name}\n  ## Primary SQL Managed Instance\n  primary:\n    type: azure:core:ResourceGroup\n    properties:\n      name: ${primaryName}\n      location: ${primaryLocation}\n  primaryVirtualNetwork:\n    type: azure:network:VirtualNetwork\n    name: primary\n    properties:\n      name: ${primaryName}\n      location: ${primary.location}\n      resourceGroupName: ${primary.name}\n      addressSpaces:\n        - 10.0.0.0/16\n  primaryZoneVirtualNetworkLink:\n    type: azure:privatedns:ZoneVirtualNetworkLink\n    name: primary\n    properties:\n      name: primary-link\n      resourceGroupName: ${primary.name}\n      privateDnsZoneName: ${exampleZone.name}\n      virtualNetworkId: ${primaryVirtualNetwork.id}\n  primarySubnet:\n    type: azure:network:Subnet\n    name: primary\n    properties:\n      name: ${primaryName}\n      resourceGroupName: ${primary.name}\n      virtualNetworkName: ${primaryVirtualNetwork.name}\n      addressPrefixes:\n        - 10.0.1.0/24\n      delegations:\n        - name: delegation\n          serviceDelegation:\n            actions:\n              - Microsoft.Network/virtualNetworks/subnets/join/action\n              - Microsoft.Network/virtualNetworks/subnets/prepareNetworkPolicies/action\n              - Microsoft.Network/virtualNetworks/subnets/unprepareNetworkPolicies/action\n            name: Microsoft.Sql/managedInstances\n  primaryNetworkSecurityGroup:\n    type: azure:network:NetworkSecurityGroup\n    name: primary\n    properties:\n      name: ${primaryName}\n      location: ${primary.location}\n      resourceGroupName: ${primary.name}\n  primarySubnetNetworkSecurityGroupAssociation:\n    type: azure:network:SubnetNetworkSecurityGroupAssociation\n    name: primary\n    properties:\n      subnetId: ${primarySubnet.id}\n      networkSecurityGroupId: ${primaryNetworkSecurityGroup.id}\n  primaryRouteTable:\n    type: azure:network:RouteTable\n    name: primary\n    properties:\n      name: ${primaryName}\n      location: ${primary.location}\n      resourceGroupName: ${primary.name}\n  primarySubnetRouteTableAssociation:\n    type: azure:network:SubnetRouteTableAssociation\n    name: primary\n    properties:\n      subnetId: ${primarySubnet.id}\n      routeTableId: ${primaryRouteTable.id}\n  primaryManagedInstance:\n    type: azure:mssql:ManagedInstance\n    name: primary\n    properties:\n      name: ${primaryName}\n      resourceGroupName: ${primary.name}\n      location: ${primary.location}\n      administratorLogin: mradministrator\n      administratorLoginPassword: thisIsDog11\n      licenseType: BasePrice\n      subnetId: ${primarySubnet.id}\n      skuName: GP_Gen5\n      vcores: 4\n      storageSizeInGb: 32\n    options:\n      dependsOn:\n        - ${primarySubnetNetworkSecurityGroupAssociation}\n        - ${primarySubnetRouteTableAssociation}\n  primaryToFailover:\n    type: azure:network:VirtualNetworkPeering\n    name: primary_to_failover\n    properties:\n      name: primary-to-failover\n      remoteVirtualNetworkId: ${failoverVirtualNetwork.id}\n      resourceGroupName: ${primary.name}\n      virtualNetworkName: ${primaryVirtualNetwork.name}\n  ## Secondary (Fail-over) SQL Managed Instance\n  failover:\n    type: azure:core:ResourceGroup\n    properties:\n      name: ${failoverName}\n      location: ${failoverLocation}\n  failoverVirtualNetwork:\n    type: azure:network:VirtualNetwork\n    name: failover\n    properties:\n      name: ${failoverName}\n      location: ${failover.location}\n      resourceGroupName: ${failover.name}\n      addressSpaces:\n        - 10.1.0.0/16\n  failoverZoneVirtualNetworkLink:\n    type: azure:privatedns:ZoneVirtualNetworkLink\n    name: failover\n    properties:\n      name: failover-link\n      resourceGroupName: ${exampleZone.resourceGroupName}\n      privateDnsZoneName: ${exampleZone.name}\n      virtualNetworkId: ${failoverVirtualNetwork.id}\n  default:\n    type: azure:network:Subnet\n    properties:\n      name: default\n      resourceGroupName: ${failover.name}\n      virtualNetworkName: ${failoverVirtualNetwork.name}\n      addressPrefixes:\n        - 10.1.0.0/24\n  failoverSubnet:\n    type: azure:network:Subnet\n    name: failover\n    properties:\n      name: ManagedInstance\n      resourceGroupName: ${failover.name}\n      virtualNetworkName: ${failoverVirtualNetwork.name}\n      addressPrefixes:\n        - 10.1.1.0/24\n      delegations:\n        - name: delegation\n          serviceDelegation:\n            actions:\n              - Microsoft.Network/virtualNetworks/subnets/join/action\n              - Microsoft.Network/virtualNetworks/subnets/prepareNetworkPolicies/action\n              - Microsoft.Network/virtualNetworks/subnets/unprepareNetworkPolicies/action\n            name: Microsoft.Sql/managedInstances\n  failoverNetworkSecurityGroup:\n    type: azure:network:NetworkSecurityGroup\n    name: failover\n    properties:\n      name: ${failoverName}\n      location: ${failover.location}\n      resourceGroupName: ${failover.name}\n  failoverSubnetNetworkSecurityGroupAssociation:\n    type: azure:network:SubnetNetworkSecurityGroupAssociation\n    name: failover\n    properties:\n      subnetId: ${failoverSubnet.id}\n      networkSecurityGroupId: ${failoverNetworkSecurityGroup.id}\n  failoverRouteTable:\n    type: azure:network:RouteTable\n    name: failover\n    properties:\n      name: ${failoverName}\n      location: ${failover.location}\n      resourceGroupName: ${failover.name}\n  failoverSubnetRouteTableAssociation:\n    type: azure:network:SubnetRouteTableAssociation\n    name: failover\n    properties:\n      subnetId: ${failoverSubnet.id}\n      routeTableId: ${failoverRouteTable.id}\n  failoverManagedInstance:\n    type: azure:mssql:ManagedInstance\n    name: failover\n    properties:\n      name: ${failoverName}\n      resourceGroupName: ${failover.name}\n      location: ${failover.location}\n      administratorLogin: mradministrator\n      administratorLoginPassword: thisIsDog11\n      licenseType: BasePrice\n      subnetId: ${failoverSubnet.id}\n      skuName: GP_Gen5\n      vcores: 4\n      storageSizeInGb: 32\n      dnsZonePartnerId: ${primaryManagedInstance.id}\n    options:\n      dependsOn:\n        - ${failoverSubnetNetworkSecurityGroupAssociation}\n        - ${failoverSubnetRouteTableAssociation}\n  failoverToPrimary:\n    type: azure:network:VirtualNetworkPeering\n    name: failover_to_primary\n    properties:\n      name: failover-to-primary\n      remoteVirtualNetworkId: ${primaryVirtualNetwork.id}\n      resourceGroupName: ${failover.name}\n      virtualNetworkName: ${failoverVirtualNetwork.name}\nvariables:\n  name: mymssqlmitest\n  primaryName: ${name}-primary\n  primaryLocation: West Europe\n  failoverName: ${name}-failover\n  failoverLocation: North Europe\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003e **Note:** There are many prerequisites that must be in place before creating the failover group. To see them all, refer to [Configure a failover group for Azure SQL Managed Instance](https://learn.microsoft.com/en-us/azure/azure-sql/managed-instance/failover-group-configure-sql-mi).\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Sql` - 2023-08-01-preview\n\n## Import\n\nSQL Instance Failover Groups can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:mssql/managedInstanceFailoverGroup:ManagedInstanceFailoverGroup example /subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/resGroup1/providers/Microsoft.Sql/locations/Location/instanceFailoverGroups/failoverGroup1\n```\n\n","properties":{"location":{"type":"string","description":"The Azure Region where the Managed Instance Failover Group should exist. Changing this forces a new resource to be created.\n"},"managedInstanceId":{"type":"string","description":"The ID of the Azure SQL Managed Instance which will be replicated using a Managed Instance Failover Group. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"The name which should be used for this Managed Instance Failover Group. Changing this forces a new resource to be created.\n"},"partnerManagedInstanceId":{"type":"string","description":"The ID of the Azure SQL Managed Instance which will be replicated to. Changing this forces a new resource to be created.\n"},"partnerRegions":{"type":"array","items":{"$ref":"#/types/azure:mssql/ManagedInstanceFailoverGroupPartnerRegion:ManagedInstanceFailoverGroupPartnerRegion"},"description":"A \u003cspan pulumi-lang-nodejs=\"`partnerRegion`\" pulumi-lang-dotnet=\"`PartnerRegion`\" pulumi-lang-go=\"`partnerRegion`\" pulumi-lang-python=\"`partner_region`\" pulumi-lang-yaml=\"`partnerRegion`\" pulumi-lang-java=\"`partnerRegion`\"\u003e`partner_region`\u003c/span\u003e block as defined below.\n"},"readWriteEndpointFailoverPolicy":{"$ref":"#/types/azure:mssql/ManagedInstanceFailoverGroupReadWriteEndpointFailoverPolicy:ManagedInstanceFailoverGroupReadWriteEndpointFailoverPolicy","description":"A \u003cspan pulumi-lang-nodejs=\"`readWriteEndpointFailoverPolicy`\" pulumi-lang-dotnet=\"`ReadWriteEndpointFailoverPolicy`\" pulumi-lang-go=\"`readWriteEndpointFailoverPolicy`\" pulumi-lang-python=\"`read_write_endpoint_failover_policy`\" pulumi-lang-yaml=\"`readWriteEndpointFailoverPolicy`\" pulumi-lang-java=\"`readWriteEndpointFailoverPolicy`\"\u003e`read_write_endpoint_failover_policy`\u003c/span\u003e block as defined below.\n"},"readonlyEndpointFailoverPolicyEnabled":{"type":"boolean","description":"Failover policy for the read-only endpoint. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"role":{"type":"string","description":"The partner replication role of the Managed Instance Failover Group.\n"},"secondaryType":{"type":"string","description":"The type of the secondary Managed Instance. Possible values are `Geo`, `Standby`. Defaults to `Geo`.\n"}},"required":["location","managedInstanceId","name","partnerManagedInstanceId","partnerRegions","readWriteEndpointFailoverPolicy","role"],"inputProperties":{"location":{"type":"string","description":"The Azure Region where the Managed Instance Failover Group should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"managedInstanceId":{"type":"string","description":"The ID of the Azure SQL Managed Instance which will be replicated using a Managed Instance Failover Group. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Managed Instance Failover Group. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"partnerManagedInstanceId":{"type":"string","description":"The ID of the Azure SQL Managed Instance which will be replicated to. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"readWriteEndpointFailoverPolicy":{"$ref":"#/types/azure:mssql/ManagedInstanceFailoverGroupReadWriteEndpointFailoverPolicy:ManagedInstanceFailoverGroupReadWriteEndpointFailoverPolicy","description":"A \u003cspan pulumi-lang-nodejs=\"`readWriteEndpointFailoverPolicy`\" pulumi-lang-dotnet=\"`ReadWriteEndpointFailoverPolicy`\" pulumi-lang-go=\"`readWriteEndpointFailoverPolicy`\" pulumi-lang-python=\"`read_write_endpoint_failover_policy`\" pulumi-lang-yaml=\"`readWriteEndpointFailoverPolicy`\" pulumi-lang-java=\"`readWriteEndpointFailoverPolicy`\"\u003e`read_write_endpoint_failover_policy`\u003c/span\u003e block as defined below.\n"},"readonlyEndpointFailoverPolicyEnabled":{"type":"boolean","description":"Failover policy for the read-only endpoint. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"secondaryType":{"type":"string","description":"The type of the secondary Managed Instance. Possible values are `Geo`, `Standby`. Defaults to `Geo`.\n"}},"requiredInputs":["managedInstanceId","partnerManagedInstanceId","readWriteEndpointFailoverPolicy"],"stateInputs":{"description":"Input properties used for looking up and filtering ManagedInstanceFailoverGroup resources.\n","properties":{"location":{"type":"string","description":"The Azure Region where the Managed Instance Failover Group should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"managedInstanceId":{"type":"string","description":"The ID of the Azure SQL Managed Instance which will be replicated using a Managed Instance Failover Group. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Managed Instance Failover Group. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"partnerManagedInstanceId":{"type":"string","description":"The ID of the Azure SQL Managed Instance which will be replicated to. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"partnerRegions":{"type":"array","items":{"$ref":"#/types/azure:mssql/ManagedInstanceFailoverGroupPartnerRegion:ManagedInstanceFailoverGroupPartnerRegion"},"description":"A \u003cspan pulumi-lang-nodejs=\"`partnerRegion`\" pulumi-lang-dotnet=\"`PartnerRegion`\" pulumi-lang-go=\"`partnerRegion`\" pulumi-lang-python=\"`partner_region`\" pulumi-lang-yaml=\"`partnerRegion`\" pulumi-lang-java=\"`partnerRegion`\"\u003e`partner_region`\u003c/span\u003e block as defined below.\n"},"readWriteEndpointFailoverPolicy":{"$ref":"#/types/azure:mssql/ManagedInstanceFailoverGroupReadWriteEndpointFailoverPolicy:ManagedInstanceFailoverGroupReadWriteEndpointFailoverPolicy","description":"A \u003cspan pulumi-lang-nodejs=\"`readWriteEndpointFailoverPolicy`\" pulumi-lang-dotnet=\"`ReadWriteEndpointFailoverPolicy`\" pulumi-lang-go=\"`readWriteEndpointFailoverPolicy`\" pulumi-lang-python=\"`read_write_endpoint_failover_policy`\" pulumi-lang-yaml=\"`readWriteEndpointFailoverPolicy`\" pulumi-lang-java=\"`readWriteEndpointFailoverPolicy`\"\u003e`read_write_endpoint_failover_policy`\u003c/span\u003e block as defined below.\n"},"readonlyEndpointFailoverPolicyEnabled":{"type":"boolean","description":"Failover policy for the read-only endpoint. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"role":{"type":"string","description":"The partner replication role of the Managed Instance Failover Group.\n"},"secondaryType":{"type":"string","description":"The type of the secondary Managed Instance. Possible values are `Geo`, `Standby`. Defaults to `Geo`.\n"}},"type":"object"},"aliases":[{"type":"azure:sql/managedInstanceFailoverGroup:ManagedInstanceFailoverGroup"}]},"azure:mssql/managedInstanceSecurityAlertPolicy:ManagedInstanceSecurityAlertPolicy":{"description":"Manages a Security Alert Policy for an MS SQL Managed Instance.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"database-rg\",\n    location: \"West Europe\",\n});\nconst exampleNetworkSecurityGroup = new azure.network.NetworkSecurityGroup(\"example\", {\n    name: \"mi-security-group\",\n    location: example.location,\n    resourceGroupName: example.name,\n});\nconst allowManagementInbound = new azure.network.NetworkSecurityRule(\"allow_management_inbound\", {\n    name: \"allow_management_inbound\",\n    priority: 106,\n    direction: \"Inbound\",\n    access: \"Allow\",\n    protocol: \"Tcp\",\n    sourcePortRange: \"*\",\n    destinationPortRanges: [\n        \"9000\",\n        \"9003\",\n        \"1438\",\n        \"1440\",\n        \"1452\",\n    ],\n    sourceAddressPrefix: \"*\",\n    destinationAddressPrefix: \"*\",\n    resourceGroupName: example.name,\n    networkSecurityGroupName: exampleNetworkSecurityGroup.name,\n});\nconst allowMisubnetInbound = new azure.network.NetworkSecurityRule(\"allow_misubnet_inbound\", {\n    name: \"allow_misubnet_inbound\",\n    priority: 200,\n    direction: \"Inbound\",\n    access: \"Allow\",\n    protocol: \"*\",\n    sourcePortRange: \"*\",\n    destinationPortRange: \"*\",\n    sourceAddressPrefix: \"10.0.0.0/24\",\n    destinationAddressPrefix: \"*\",\n    resourceGroupName: example.name,\n    networkSecurityGroupName: exampleNetworkSecurityGroup.name,\n});\nconst allowHealthProbeInbound = new azure.network.NetworkSecurityRule(\"allow_health_probe_inbound\", {\n    name: \"allow_health_probe_inbound\",\n    priority: 300,\n    direction: \"Inbound\",\n    access: \"Allow\",\n    protocol: \"*\",\n    sourcePortRange: \"*\",\n    destinationPortRange: \"*\",\n    sourceAddressPrefix: \"AzureLoadBalancer\",\n    destinationAddressPrefix: \"*\",\n    resourceGroupName: example.name,\n    networkSecurityGroupName: exampleNetworkSecurityGroup.name,\n});\nconst allowTdsInbound = new azure.network.NetworkSecurityRule(\"allow_tds_inbound\", {\n    name: \"allow_tds_inbound\",\n    priority: 1000,\n    direction: \"Inbound\",\n    access: \"Allow\",\n    protocol: \"Tcp\",\n    sourcePortRange: \"*\",\n    destinationPortRange: \"1433\",\n    sourceAddressPrefix: \"VirtualNetwork\",\n    destinationAddressPrefix: \"*\",\n    resourceGroupName: example.name,\n    networkSecurityGroupName: exampleNetworkSecurityGroup.name,\n});\nconst denyAllInbound = new azure.network.NetworkSecurityRule(\"deny_all_inbound\", {\n    name: \"deny_all_inbound\",\n    priority: 4096,\n    direction: \"Inbound\",\n    access: \"Deny\",\n    protocol: \"*\",\n    sourcePortRange: \"*\",\n    destinationPortRange: \"*\",\n    sourceAddressPrefix: \"*\",\n    destinationAddressPrefix: \"*\",\n    resourceGroupName: example.name,\n    networkSecurityGroupName: exampleNetworkSecurityGroup.name,\n});\nconst allowManagementOutbound = new azure.network.NetworkSecurityRule(\"allow_management_outbound\", {\n    name: \"allow_management_outbound\",\n    priority: 102,\n    direction: \"Outbound\",\n    access: \"Allow\",\n    protocol: \"Tcp\",\n    sourcePortRange: \"*\",\n    destinationPortRanges: [\n        \"80\",\n        \"443\",\n        \"12000\",\n    ],\n    sourceAddressPrefix: \"*\",\n    destinationAddressPrefix: \"*\",\n    resourceGroupName: example.name,\n    networkSecurityGroupName: exampleNetworkSecurityGroup.name,\n});\nconst allowMisubnetOutbound = new azure.network.NetworkSecurityRule(\"allow_misubnet_outbound\", {\n    name: \"allow_misubnet_outbound\",\n    priority: 200,\n    direction: \"Outbound\",\n    access: \"Allow\",\n    protocol: \"*\",\n    sourcePortRange: \"*\",\n    destinationPortRange: \"*\",\n    sourceAddressPrefix: \"10.0.0.0/24\",\n    destinationAddressPrefix: \"*\",\n    resourceGroupName: example.name,\n    networkSecurityGroupName: exampleNetworkSecurityGroup.name,\n});\nconst denyAllOutbound = new azure.network.NetworkSecurityRule(\"deny_all_outbound\", {\n    name: \"deny_all_outbound\",\n    priority: 4096,\n    direction: \"Outbound\",\n    access: \"Deny\",\n    protocol: \"*\",\n    sourcePortRange: \"*\",\n    destinationPortRange: \"*\",\n    sourceAddressPrefix: \"*\",\n    destinationAddressPrefix: \"*\",\n    resourceGroupName: example.name,\n    networkSecurityGroupName: exampleNetworkSecurityGroup.name,\n});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"example\", {\n    name: \"vnet-mi\",\n    resourceGroupName: example.name,\n    addressSpaces: [\"10.0.0.0/16\"],\n    location: example.location,\n});\nconst exampleSubnet = new azure.network.Subnet(\"example\", {\n    name: \"subnet-mi\",\n    resourceGroupName: example.name,\n    virtualNetworkName: exampleVirtualNetwork.name,\n    addressPrefixes: [\"10.0.0.0/24\"],\n    delegations: [{\n        name: \"managedinstancedelegation\",\n        serviceDelegation: {\n            name: \"Microsoft.Sql/managedInstances\",\n            actions: [\n                \"Microsoft.Network/virtualNetworks/subnets/join/action\",\n                \"Microsoft.Network/virtualNetworks/subnets/prepareNetworkPolicies/action\",\n                \"Microsoft.Network/virtualNetworks/subnets/unprepareNetworkPolicies/action\",\n            ],\n        },\n    }],\n});\nconst exampleSubnetNetworkSecurityGroupAssociation = new azure.network.SubnetNetworkSecurityGroupAssociation(\"example\", {\n    subnetId: exampleSubnet.id,\n    networkSecurityGroupId: exampleNetworkSecurityGroup.id,\n});\nconst exampleRouteTable = new azure.network.RouteTable(\"example\", {\n    name: \"routetable-mi\",\n    location: example.location,\n    resourceGroupName: example.name,\n    disableBgpRoutePropagation: false,\n}, {\n    dependsOn: [exampleSubnet],\n});\nconst exampleSubnetRouteTableAssociation = new azure.network.SubnetRouteTableAssociation(\"example\", {\n    subnetId: exampleSubnet.id,\n    routeTableId: exampleRouteTable.id,\n});\nconst exampleManagedInstance = new azure.mssql.ManagedInstance(\"example\", {\n    name: \"managedsqlinstance\",\n    resourceGroupName: example.name,\n    location: example.location,\n    licenseType: \"BasePrice\",\n    skuName: \"GP_Gen5\",\n    storageSizeInGb: 32,\n    subnetId: exampleSubnet.id,\n    vcores: 4,\n    administratorLogin: \"mradministrator\",\n    administratorLoginPassword: \"thisIsDog11\",\n}, {\n    dependsOn: [\n        exampleSubnetNetworkSecurityGroupAssociation,\n        exampleSubnetRouteTableAssociation,\n    ],\n});\nconst exampleManagedInstanceSecurityAlertPolicy = new azure.mssql.ManagedInstanceSecurityAlertPolicy(\"example\", {\n    resourceGroupName: example.name,\n    managedInstanceName: exampleManagedInstance.name,\n    enabled: true,\n    storageEndpoint: exampleAzurermStorageAccount.primaryBlobEndpoint,\n    storageAccountAccessKey: exampleAzurermStorageAccount.primaryAccessKey,\n    disabledAlerts: [\n        \"Sql_Injection\",\n        \"Data_Exfiltration\",\n    ],\n    retentionDays: 20,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"database-rg\",\n    location=\"West Europe\")\nexample_network_security_group = azure.network.NetworkSecurityGroup(\"example\",\n    name=\"mi-security-group\",\n    location=example.location,\n    resource_group_name=example.name)\nallow_management_inbound = azure.network.NetworkSecurityRule(\"allow_management_inbound\",\n    name=\"allow_management_inbound\",\n    priority=106,\n    direction=\"Inbound\",\n    access=\"Allow\",\n    protocol=\"Tcp\",\n    source_port_range=\"*\",\n    destination_port_ranges=[\n        \"9000\",\n        \"9003\",\n        \"1438\",\n        \"1440\",\n        \"1452\",\n    ],\n    source_address_prefix=\"*\",\n    destination_address_prefix=\"*\",\n    resource_group_name=example.name,\n    network_security_group_name=example_network_security_group.name)\nallow_misubnet_inbound = azure.network.NetworkSecurityRule(\"allow_misubnet_inbound\",\n    name=\"allow_misubnet_inbound\",\n    priority=200,\n    direction=\"Inbound\",\n    access=\"Allow\",\n    protocol=\"*\",\n    source_port_range=\"*\",\n    destination_port_range=\"*\",\n    source_address_prefix=\"10.0.0.0/24\",\n    destination_address_prefix=\"*\",\n    resource_group_name=example.name,\n    network_security_group_name=example_network_security_group.name)\nallow_health_probe_inbound = azure.network.NetworkSecurityRule(\"allow_health_probe_inbound\",\n    name=\"allow_health_probe_inbound\",\n    priority=300,\n    direction=\"Inbound\",\n    access=\"Allow\",\n    protocol=\"*\",\n    source_port_range=\"*\",\n    destination_port_range=\"*\",\n    source_address_prefix=\"AzureLoadBalancer\",\n    destination_address_prefix=\"*\",\n    resource_group_name=example.name,\n    network_security_group_name=example_network_security_group.name)\nallow_tds_inbound = azure.network.NetworkSecurityRule(\"allow_tds_inbound\",\n    name=\"allow_tds_inbound\",\n    priority=1000,\n    direction=\"Inbound\",\n    access=\"Allow\",\n    protocol=\"Tcp\",\n    source_port_range=\"*\",\n    destination_port_range=\"1433\",\n    source_address_prefix=\"VirtualNetwork\",\n    destination_address_prefix=\"*\",\n    resource_group_name=example.name,\n    network_security_group_name=example_network_security_group.name)\ndeny_all_inbound = azure.network.NetworkSecurityRule(\"deny_all_inbound\",\n    name=\"deny_all_inbound\",\n    priority=4096,\n    direction=\"Inbound\",\n    access=\"Deny\",\n    protocol=\"*\",\n    source_port_range=\"*\",\n    destination_port_range=\"*\",\n    source_address_prefix=\"*\",\n    destination_address_prefix=\"*\",\n    resource_group_name=example.name,\n    network_security_group_name=example_network_security_group.name)\nallow_management_outbound = azure.network.NetworkSecurityRule(\"allow_management_outbound\",\n    name=\"allow_management_outbound\",\n    priority=102,\n    direction=\"Outbound\",\n    access=\"Allow\",\n    protocol=\"Tcp\",\n    source_port_range=\"*\",\n    destination_port_ranges=[\n        \"80\",\n        \"443\",\n        \"12000\",\n    ],\n    source_address_prefix=\"*\",\n    destination_address_prefix=\"*\",\n    resource_group_name=example.name,\n    network_security_group_name=example_network_security_group.name)\nallow_misubnet_outbound = azure.network.NetworkSecurityRule(\"allow_misubnet_outbound\",\n    name=\"allow_misubnet_outbound\",\n    priority=200,\n    direction=\"Outbound\",\n    access=\"Allow\",\n    protocol=\"*\",\n    source_port_range=\"*\",\n    destination_port_range=\"*\",\n    source_address_prefix=\"10.0.0.0/24\",\n    destination_address_prefix=\"*\",\n    resource_group_name=example.name,\n    network_security_group_name=example_network_security_group.name)\ndeny_all_outbound = azure.network.NetworkSecurityRule(\"deny_all_outbound\",\n    name=\"deny_all_outbound\",\n    priority=4096,\n    direction=\"Outbound\",\n    access=\"Deny\",\n    protocol=\"*\",\n    source_port_range=\"*\",\n    destination_port_range=\"*\",\n    source_address_prefix=\"*\",\n    destination_address_prefix=\"*\",\n    resource_group_name=example.name,\n    network_security_group_name=example_network_security_group.name)\nexample_virtual_network = azure.network.VirtualNetwork(\"example\",\n    name=\"vnet-mi\",\n    resource_group_name=example.name,\n    address_spaces=[\"10.0.0.0/16\"],\n    location=example.location)\nexample_subnet = azure.network.Subnet(\"example\",\n    name=\"subnet-mi\",\n    resource_group_name=example.name,\n    virtual_network_name=example_virtual_network.name,\n    address_prefixes=[\"10.0.0.0/24\"],\n    delegations=[{\n        \"name\": \"managedinstancedelegation\",\n        \"service_delegation\": {\n            \"name\": \"Microsoft.Sql/managedInstances\",\n            \"actions\": [\n                \"Microsoft.Network/virtualNetworks/subnets/join/action\",\n                \"Microsoft.Network/virtualNetworks/subnets/prepareNetworkPolicies/action\",\n                \"Microsoft.Network/virtualNetworks/subnets/unprepareNetworkPolicies/action\",\n            ],\n        },\n    }])\nexample_subnet_network_security_group_association = azure.network.SubnetNetworkSecurityGroupAssociation(\"example\",\n    subnet_id=example_subnet.id,\n    network_security_group_id=example_network_security_group.id)\nexample_route_table = azure.network.RouteTable(\"example\",\n    name=\"routetable-mi\",\n    location=example.location,\n    resource_group_name=example.name,\n    disable_bgp_route_propagation=False,\n    opts = pulumi.ResourceOptions(depends_on=[example_subnet]))\nexample_subnet_route_table_association = azure.network.SubnetRouteTableAssociation(\"example\",\n    subnet_id=example_subnet.id,\n    route_table_id=example_route_table.id)\nexample_managed_instance = azure.mssql.ManagedInstance(\"example\",\n    name=\"managedsqlinstance\",\n    resource_group_name=example.name,\n    location=example.location,\n    license_type=\"BasePrice\",\n    sku_name=\"GP_Gen5\",\n    storage_size_in_gb=32,\n    subnet_id=example_subnet.id,\n    vcores=4,\n    administrator_login=\"mradministrator\",\n    administrator_login_password=\"thisIsDog11\",\n    opts = pulumi.ResourceOptions(depends_on=[\n            example_subnet_network_security_group_association,\n            example_subnet_route_table_association,\n        ]))\nexample_managed_instance_security_alert_policy = azure.mssql.ManagedInstanceSecurityAlertPolicy(\"example\",\n    resource_group_name=example.name,\n    managed_instance_name=example_managed_instance.name,\n    enabled=True,\n    storage_endpoint=example_azurerm_storage_account[\"primaryBlobEndpoint\"],\n    storage_account_access_key=example_azurerm_storage_account[\"primaryAccessKey\"],\n    disabled_alerts=[\n        \"Sql_Injection\",\n        \"Data_Exfiltration\",\n    ],\n    retention_days=20)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"database-rg\",\n        Location = \"West Europe\",\n    });\n\n    var exampleNetworkSecurityGroup = new Azure.Network.NetworkSecurityGroup(\"example\", new()\n    {\n        Name = \"mi-security-group\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n    });\n\n    var allowManagementInbound = new Azure.Network.NetworkSecurityRule(\"allow_management_inbound\", new()\n    {\n        Name = \"allow_management_inbound\",\n        Priority = 106,\n        Direction = \"Inbound\",\n        Access = \"Allow\",\n        Protocol = \"Tcp\",\n        SourcePortRange = \"*\",\n        DestinationPortRanges = new[]\n        {\n            \"9000\",\n            \"9003\",\n            \"1438\",\n            \"1440\",\n            \"1452\",\n        },\n        SourceAddressPrefix = \"*\",\n        DestinationAddressPrefix = \"*\",\n        ResourceGroupName = example.Name,\n        NetworkSecurityGroupName = exampleNetworkSecurityGroup.Name,\n    });\n\n    var allowMisubnetInbound = new Azure.Network.NetworkSecurityRule(\"allow_misubnet_inbound\", new()\n    {\n        Name = \"allow_misubnet_inbound\",\n        Priority = 200,\n        Direction = \"Inbound\",\n        Access = \"Allow\",\n        Protocol = \"*\",\n        SourcePortRange = \"*\",\n        DestinationPortRange = \"*\",\n        SourceAddressPrefix = \"10.0.0.0/24\",\n        DestinationAddressPrefix = \"*\",\n        ResourceGroupName = example.Name,\n        NetworkSecurityGroupName = exampleNetworkSecurityGroup.Name,\n    });\n\n    var allowHealthProbeInbound = new Azure.Network.NetworkSecurityRule(\"allow_health_probe_inbound\", new()\n    {\n        Name = \"allow_health_probe_inbound\",\n        Priority = 300,\n        Direction = \"Inbound\",\n        Access = \"Allow\",\n        Protocol = \"*\",\n        SourcePortRange = \"*\",\n        DestinationPortRange = \"*\",\n        SourceAddressPrefix = \"AzureLoadBalancer\",\n        DestinationAddressPrefix = \"*\",\n        ResourceGroupName = example.Name,\n        NetworkSecurityGroupName = exampleNetworkSecurityGroup.Name,\n    });\n\n    var allowTdsInbound = new Azure.Network.NetworkSecurityRule(\"allow_tds_inbound\", new()\n    {\n        Name = \"allow_tds_inbound\",\n        Priority = 1000,\n        Direction = \"Inbound\",\n        Access = \"Allow\",\n        Protocol = \"Tcp\",\n        SourcePortRange = \"*\",\n        DestinationPortRange = \"1433\",\n        SourceAddressPrefix = \"VirtualNetwork\",\n        DestinationAddressPrefix = \"*\",\n        ResourceGroupName = example.Name,\n        NetworkSecurityGroupName = exampleNetworkSecurityGroup.Name,\n    });\n\n    var denyAllInbound = new Azure.Network.NetworkSecurityRule(\"deny_all_inbound\", new()\n    {\n        Name = \"deny_all_inbound\",\n        Priority = 4096,\n        Direction = \"Inbound\",\n        Access = \"Deny\",\n        Protocol = \"*\",\n        SourcePortRange = \"*\",\n        DestinationPortRange = \"*\",\n        SourceAddressPrefix = \"*\",\n        DestinationAddressPrefix = \"*\",\n        ResourceGroupName = example.Name,\n        NetworkSecurityGroupName = exampleNetworkSecurityGroup.Name,\n    });\n\n    var allowManagementOutbound = new Azure.Network.NetworkSecurityRule(\"allow_management_outbound\", new()\n    {\n        Name = \"allow_management_outbound\",\n        Priority = 102,\n        Direction = \"Outbound\",\n        Access = \"Allow\",\n        Protocol = \"Tcp\",\n        SourcePortRange = \"*\",\n        DestinationPortRanges = new[]\n        {\n            \"80\",\n            \"443\",\n            \"12000\",\n        },\n        SourceAddressPrefix = \"*\",\n        DestinationAddressPrefix = \"*\",\n        ResourceGroupName = example.Name,\n        NetworkSecurityGroupName = exampleNetworkSecurityGroup.Name,\n    });\n\n    var allowMisubnetOutbound = new Azure.Network.NetworkSecurityRule(\"allow_misubnet_outbound\", new()\n    {\n        Name = \"allow_misubnet_outbound\",\n        Priority = 200,\n        Direction = \"Outbound\",\n        Access = \"Allow\",\n        Protocol = \"*\",\n        SourcePortRange = \"*\",\n        DestinationPortRange = \"*\",\n        SourceAddressPrefix = \"10.0.0.0/24\",\n        DestinationAddressPrefix = \"*\",\n        ResourceGroupName = example.Name,\n        NetworkSecurityGroupName = exampleNetworkSecurityGroup.Name,\n    });\n\n    var denyAllOutbound = new Azure.Network.NetworkSecurityRule(\"deny_all_outbound\", new()\n    {\n        Name = \"deny_all_outbound\",\n        Priority = 4096,\n        Direction = \"Outbound\",\n        Access = \"Deny\",\n        Protocol = \"*\",\n        SourcePortRange = \"*\",\n        DestinationPortRange = \"*\",\n        SourceAddressPrefix = \"*\",\n        DestinationAddressPrefix = \"*\",\n        ResourceGroupName = example.Name,\n        NetworkSecurityGroupName = exampleNetworkSecurityGroup.Name,\n    });\n\n    var exampleVirtualNetwork = new Azure.Network.VirtualNetwork(\"example\", new()\n    {\n        Name = \"vnet-mi\",\n        ResourceGroupName = example.Name,\n        AddressSpaces = new[]\n        {\n            \"10.0.0.0/16\",\n        },\n        Location = example.Location,\n    });\n\n    var exampleSubnet = new Azure.Network.Subnet(\"example\", new()\n    {\n        Name = \"subnet-mi\",\n        ResourceGroupName = example.Name,\n        VirtualNetworkName = exampleVirtualNetwork.Name,\n        AddressPrefixes = new[]\n        {\n            \"10.0.0.0/24\",\n        },\n        Delegations = new[]\n        {\n            new Azure.Network.Inputs.SubnetDelegationArgs\n            {\n                Name = \"managedinstancedelegation\",\n                ServiceDelegation = new Azure.Network.Inputs.SubnetDelegationServiceDelegationArgs\n                {\n                    Name = \"Microsoft.Sql/managedInstances\",\n                    Actions = new[]\n                    {\n                        \"Microsoft.Network/virtualNetworks/subnets/join/action\",\n                        \"Microsoft.Network/virtualNetworks/subnets/prepareNetworkPolicies/action\",\n                        \"Microsoft.Network/virtualNetworks/subnets/unprepareNetworkPolicies/action\",\n                    },\n                },\n            },\n        },\n    });\n\n    var exampleSubnetNetworkSecurityGroupAssociation = new Azure.Network.SubnetNetworkSecurityGroupAssociation(\"example\", new()\n    {\n        SubnetId = exampleSubnet.Id,\n        NetworkSecurityGroupId = exampleNetworkSecurityGroup.Id,\n    });\n\n    var exampleRouteTable = new Azure.Network.RouteTable(\"example\", new()\n    {\n        Name = \"routetable-mi\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        DisableBgpRoutePropagation = false,\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            exampleSubnet,\n        },\n    });\n\n    var exampleSubnetRouteTableAssociation = new Azure.Network.SubnetRouteTableAssociation(\"example\", new()\n    {\n        SubnetId = exampleSubnet.Id,\n        RouteTableId = exampleRouteTable.Id,\n    });\n\n    var exampleManagedInstance = new Azure.MSSql.ManagedInstance(\"example\", new()\n    {\n        Name = \"managedsqlinstance\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        LicenseType = \"BasePrice\",\n        SkuName = \"GP_Gen5\",\n        StorageSizeInGb = 32,\n        SubnetId = exampleSubnet.Id,\n        Vcores = 4,\n        AdministratorLogin = \"mradministrator\",\n        AdministratorLoginPassword = \"thisIsDog11\",\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            exampleSubnetNetworkSecurityGroupAssociation,\n            exampleSubnetRouteTableAssociation,\n        },\n    });\n\n    var exampleManagedInstanceSecurityAlertPolicy = new Azure.MSSql.ManagedInstanceSecurityAlertPolicy(\"example\", new()\n    {\n        ResourceGroupName = example.Name,\n        ManagedInstanceName = exampleManagedInstance.Name,\n        Enabled = true,\n        StorageEndpoint = exampleAzurermStorageAccount.PrimaryBlobEndpoint,\n        StorageAccountAccessKey = exampleAzurermStorageAccount.PrimaryAccessKey,\n        DisabledAlerts = new[]\n        {\n            \"Sql_Injection\",\n            \"Data_Exfiltration\",\n        },\n        RetentionDays = 20,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/mssql\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"database-rg\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNetworkSecurityGroup, err := network.NewNetworkSecurityGroup(ctx, \"example\", \u0026network.NetworkSecurityGroupArgs{\n\t\t\tName:              pulumi.String(\"mi-security-group\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = network.NewNetworkSecurityRule(ctx, \"allow_management_inbound\", \u0026network.NetworkSecurityRuleArgs{\n\t\t\tName:            pulumi.String(\"allow_management_inbound\"),\n\t\t\tPriority:        pulumi.Int(106),\n\t\t\tDirection:       pulumi.String(\"Inbound\"),\n\t\t\tAccess:          pulumi.String(\"Allow\"),\n\t\t\tProtocol:        pulumi.String(\"Tcp\"),\n\t\t\tSourcePortRange: pulumi.String(\"*\"),\n\t\t\tDestinationPortRanges: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"9000\"),\n\t\t\t\tpulumi.String(\"9003\"),\n\t\t\t\tpulumi.String(\"1438\"),\n\t\t\t\tpulumi.String(\"1440\"),\n\t\t\t\tpulumi.String(\"1452\"),\n\t\t\t},\n\t\t\tSourceAddressPrefix:      pulumi.String(\"*\"),\n\t\t\tDestinationAddressPrefix: pulumi.String(\"*\"),\n\t\t\tResourceGroupName:        example.Name,\n\t\t\tNetworkSecurityGroupName: exampleNetworkSecurityGroup.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = network.NewNetworkSecurityRule(ctx, \"allow_misubnet_inbound\", \u0026network.NetworkSecurityRuleArgs{\n\t\t\tName:                     pulumi.String(\"allow_misubnet_inbound\"),\n\t\t\tPriority:                 pulumi.Int(200),\n\t\t\tDirection:                pulumi.String(\"Inbound\"),\n\t\t\tAccess:                   pulumi.String(\"Allow\"),\n\t\t\tProtocol:                 pulumi.String(\"*\"),\n\t\t\tSourcePortRange:          pulumi.String(\"*\"),\n\t\t\tDestinationPortRange:     pulumi.String(\"*\"),\n\t\t\tSourceAddressPrefix:      pulumi.String(\"10.0.0.0/24\"),\n\t\t\tDestinationAddressPrefix: pulumi.String(\"*\"),\n\t\t\tResourceGroupName:        example.Name,\n\t\t\tNetworkSecurityGroupName: exampleNetworkSecurityGroup.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = network.NewNetworkSecurityRule(ctx, \"allow_health_probe_inbound\", \u0026network.NetworkSecurityRuleArgs{\n\t\t\tName:                     pulumi.String(\"allow_health_probe_inbound\"),\n\t\t\tPriority:                 pulumi.Int(300),\n\t\t\tDirection:                pulumi.String(\"Inbound\"),\n\t\t\tAccess:                   pulumi.String(\"Allow\"),\n\t\t\tProtocol:                 pulumi.String(\"*\"),\n\t\t\tSourcePortRange:          pulumi.String(\"*\"),\n\t\t\tDestinationPortRange:     pulumi.String(\"*\"),\n\t\t\tSourceAddressPrefix:      pulumi.String(\"AzureLoadBalancer\"),\n\t\t\tDestinationAddressPrefix: pulumi.String(\"*\"),\n\t\t\tResourceGroupName:        example.Name,\n\t\t\tNetworkSecurityGroupName: exampleNetworkSecurityGroup.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = network.NewNetworkSecurityRule(ctx, \"allow_tds_inbound\", \u0026network.NetworkSecurityRuleArgs{\n\t\t\tName:                     pulumi.String(\"allow_tds_inbound\"),\n\t\t\tPriority:                 pulumi.Int(1000),\n\t\t\tDirection:                pulumi.String(\"Inbound\"),\n\t\t\tAccess:                   pulumi.String(\"Allow\"),\n\t\t\tProtocol:                 pulumi.String(\"Tcp\"),\n\t\t\tSourcePortRange:          pulumi.String(\"*\"),\n\t\t\tDestinationPortRange:     pulumi.String(\"1433\"),\n\t\t\tSourceAddressPrefix:      pulumi.String(\"VirtualNetwork\"),\n\t\t\tDestinationAddressPrefix: pulumi.String(\"*\"),\n\t\t\tResourceGroupName:        example.Name,\n\t\t\tNetworkSecurityGroupName: exampleNetworkSecurityGroup.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = network.NewNetworkSecurityRule(ctx, \"deny_all_inbound\", \u0026network.NetworkSecurityRuleArgs{\n\t\t\tName:                     pulumi.String(\"deny_all_inbound\"),\n\t\t\tPriority:                 pulumi.Int(4096),\n\t\t\tDirection:                pulumi.String(\"Inbound\"),\n\t\t\tAccess:                   pulumi.String(\"Deny\"),\n\t\t\tProtocol:                 pulumi.String(\"*\"),\n\t\t\tSourcePortRange:          pulumi.String(\"*\"),\n\t\t\tDestinationPortRange:     pulumi.String(\"*\"),\n\t\t\tSourceAddressPrefix:      pulumi.String(\"*\"),\n\t\t\tDestinationAddressPrefix: pulumi.String(\"*\"),\n\t\t\tResourceGroupName:        example.Name,\n\t\t\tNetworkSecurityGroupName: exampleNetworkSecurityGroup.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = network.NewNetworkSecurityRule(ctx, \"allow_management_outbound\", \u0026network.NetworkSecurityRuleArgs{\n\t\t\tName:            pulumi.String(\"allow_management_outbound\"),\n\t\t\tPriority:        pulumi.Int(102),\n\t\t\tDirection:       pulumi.String(\"Outbound\"),\n\t\t\tAccess:          pulumi.String(\"Allow\"),\n\t\t\tProtocol:        pulumi.String(\"Tcp\"),\n\t\t\tSourcePortRange: pulumi.String(\"*\"),\n\t\t\tDestinationPortRanges: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"80\"),\n\t\t\t\tpulumi.String(\"443\"),\n\t\t\t\tpulumi.String(\"12000\"),\n\t\t\t},\n\t\t\tSourceAddressPrefix:      pulumi.String(\"*\"),\n\t\t\tDestinationAddressPrefix: pulumi.String(\"*\"),\n\t\t\tResourceGroupName:        example.Name,\n\t\t\tNetworkSecurityGroupName: exampleNetworkSecurityGroup.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = network.NewNetworkSecurityRule(ctx, \"allow_misubnet_outbound\", \u0026network.NetworkSecurityRuleArgs{\n\t\t\tName:                     pulumi.String(\"allow_misubnet_outbound\"),\n\t\t\tPriority:                 pulumi.Int(200),\n\t\t\tDirection:                pulumi.String(\"Outbound\"),\n\t\t\tAccess:                   pulumi.String(\"Allow\"),\n\t\t\tProtocol:                 pulumi.String(\"*\"),\n\t\t\tSourcePortRange:          pulumi.String(\"*\"),\n\t\t\tDestinationPortRange:     pulumi.String(\"*\"),\n\t\t\tSourceAddressPrefix:      pulumi.String(\"10.0.0.0/24\"),\n\t\t\tDestinationAddressPrefix: pulumi.String(\"*\"),\n\t\t\tResourceGroupName:        example.Name,\n\t\t\tNetworkSecurityGroupName: exampleNetworkSecurityGroup.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = network.NewNetworkSecurityRule(ctx, \"deny_all_outbound\", \u0026network.NetworkSecurityRuleArgs{\n\t\t\tName:                     pulumi.String(\"deny_all_outbound\"),\n\t\t\tPriority:                 pulumi.Int(4096),\n\t\t\tDirection:                pulumi.String(\"Outbound\"),\n\t\t\tAccess:                   pulumi.String(\"Deny\"),\n\t\t\tProtocol:                 pulumi.String(\"*\"),\n\t\t\tSourcePortRange:          pulumi.String(\"*\"),\n\t\t\tDestinationPortRange:     pulumi.String(\"*\"),\n\t\t\tSourceAddressPrefix:      pulumi.String(\"*\"),\n\t\t\tDestinationAddressPrefix: pulumi.String(\"*\"),\n\t\t\tResourceGroupName:        example.Name,\n\t\t\tNetworkSecurityGroupName: exampleNetworkSecurityGroup.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, \"example\", \u0026network.VirtualNetworkArgs{\n\t\t\tName:              pulumi.String(\"vnet-mi\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tAddressSpaces: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.0.0/16\"),\n\t\t\t},\n\t\t\tLocation: example.Location,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSubnet, err := network.NewSubnet(ctx, \"example\", \u0026network.SubnetArgs{\n\t\t\tName:               pulumi.String(\"subnet-mi\"),\n\t\t\tResourceGroupName:  example.Name,\n\t\t\tVirtualNetworkName: exampleVirtualNetwork.Name,\n\t\t\tAddressPrefixes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.0.0/24\"),\n\t\t\t},\n\t\t\tDelegations: network.SubnetDelegationArray{\n\t\t\t\t\u0026network.SubnetDelegationArgs{\n\t\t\t\t\tName: pulumi.String(\"managedinstancedelegation\"),\n\t\t\t\t\tServiceDelegation: \u0026network.SubnetDelegationServiceDelegationArgs{\n\t\t\t\t\t\tName: pulumi.String(\"Microsoft.Sql/managedInstances\"),\n\t\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"Microsoft.Network/virtualNetworks/subnets/join/action\"),\n\t\t\t\t\t\t\tpulumi.String(\"Microsoft.Network/virtualNetworks/subnets/prepareNetworkPolicies/action\"),\n\t\t\t\t\t\t\tpulumi.String(\"Microsoft.Network/virtualNetworks/subnets/unprepareNetworkPolicies/action\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSubnetNetworkSecurityGroupAssociation, err := network.NewSubnetNetworkSecurityGroupAssociation(ctx, \"example\", \u0026network.SubnetNetworkSecurityGroupAssociationArgs{\n\t\t\tSubnetId:               exampleSubnet.ID(),\n\t\t\tNetworkSecurityGroupId: exampleNetworkSecurityGroup.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleRouteTable, err := network.NewRouteTable(ctx, \"example\", \u0026network.RouteTableArgs{\n\t\t\tName:                       pulumi.String(\"routetable-mi\"),\n\t\t\tLocation:                   example.Location,\n\t\t\tResourceGroupName:          example.Name,\n\t\t\tDisableBgpRoutePropagation: false,\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleSubnet,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSubnetRouteTableAssociation, err := network.NewSubnetRouteTableAssociation(ctx, \"example\", \u0026network.SubnetRouteTableAssociationArgs{\n\t\t\tSubnetId:     exampleSubnet.ID(),\n\t\t\tRouteTableId: exampleRouteTable.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleManagedInstance, err := mssql.NewManagedInstance(ctx, \"example\", \u0026mssql.ManagedInstanceArgs{\n\t\t\tName:                       pulumi.String(\"managedsqlinstance\"),\n\t\t\tResourceGroupName:          example.Name,\n\t\t\tLocation:                   example.Location,\n\t\t\tLicenseType:                pulumi.String(\"BasePrice\"),\n\t\t\tSkuName:                    pulumi.String(\"GP_Gen5\"),\n\t\t\tStorageSizeInGb:            pulumi.Int(32),\n\t\t\tSubnetId:                   exampleSubnet.ID(),\n\t\t\tVcores:                     pulumi.Int(4),\n\t\t\tAdministratorLogin:         pulumi.String(\"mradministrator\"),\n\t\t\tAdministratorLoginPassword: pulumi.String(\"thisIsDog11\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleSubnetNetworkSecurityGroupAssociation,\n\t\t\texampleSubnetRouteTableAssociation,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = mssql.NewManagedInstanceSecurityAlertPolicy(ctx, \"example\", \u0026mssql.ManagedInstanceSecurityAlertPolicyArgs{\n\t\t\tResourceGroupName:       example.Name,\n\t\t\tManagedInstanceName:     exampleManagedInstance.Name,\n\t\t\tEnabled:                 pulumi.Bool(true),\n\t\t\tStorageEndpoint:         pulumi.Any(exampleAzurermStorageAccount.PrimaryBlobEndpoint),\n\t\t\tStorageAccountAccessKey: pulumi.Any(exampleAzurermStorageAccount.PrimaryAccessKey),\n\t\t\tDisabledAlerts: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"Sql_Injection\"),\n\t\t\t\tpulumi.String(\"Data_Exfiltration\"),\n\t\t\t},\n\t\t\tRetentionDays: pulumi.Int(20),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.NetworkSecurityGroup;\nimport com.pulumi.azure.network.NetworkSecurityGroupArgs;\nimport com.pulumi.azure.network.NetworkSecurityRule;\nimport com.pulumi.azure.network.NetworkSecurityRuleArgs;\nimport com.pulumi.azure.network.VirtualNetwork;\nimport com.pulumi.azure.network.VirtualNetworkArgs;\nimport com.pulumi.azure.network.Subnet;\nimport com.pulumi.azure.network.SubnetArgs;\nimport com.pulumi.azure.network.inputs.SubnetDelegationArgs;\nimport com.pulumi.azure.network.inputs.SubnetDelegationServiceDelegationArgs;\nimport com.pulumi.azure.network.SubnetNetworkSecurityGroupAssociation;\nimport com.pulumi.azure.network.SubnetNetworkSecurityGroupAssociationArgs;\nimport com.pulumi.azure.network.RouteTable;\nimport com.pulumi.azure.network.RouteTableArgs;\nimport com.pulumi.azure.network.SubnetRouteTableAssociation;\nimport com.pulumi.azure.network.SubnetRouteTableAssociationArgs;\nimport com.pulumi.azure.mssql.ManagedInstance;\nimport com.pulumi.azure.mssql.ManagedInstanceArgs;\nimport com.pulumi.azure.mssql.ManagedInstanceSecurityAlertPolicy;\nimport com.pulumi.azure.mssql.ManagedInstanceSecurityAlertPolicyArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"database-rg\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleNetworkSecurityGroup = new NetworkSecurityGroup(\"exampleNetworkSecurityGroup\", NetworkSecurityGroupArgs.builder()\n            .name(\"mi-security-group\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .build());\n\n        var allowManagementInbound = new NetworkSecurityRule(\"allowManagementInbound\", NetworkSecurityRuleArgs.builder()\n            .name(\"allow_management_inbound\")\n            .priority(106)\n            .direction(\"Inbound\")\n            .access(\"Allow\")\n            .protocol(\"Tcp\")\n            .sourcePortRange(\"*\")\n            .destinationPortRanges(            \n                \"9000\",\n                \"9003\",\n                \"1438\",\n                \"1440\",\n                \"1452\")\n            .sourceAddressPrefix(\"*\")\n            .destinationAddressPrefix(\"*\")\n            .resourceGroupName(example.name())\n            .networkSecurityGroupName(exampleNetworkSecurityGroup.name())\n            .build());\n\n        var allowMisubnetInbound = new NetworkSecurityRule(\"allowMisubnetInbound\", NetworkSecurityRuleArgs.builder()\n            .name(\"allow_misubnet_inbound\")\n            .priority(200)\n            .direction(\"Inbound\")\n            .access(\"Allow\")\n            .protocol(\"*\")\n            .sourcePortRange(\"*\")\n            .destinationPortRange(\"*\")\n            .sourceAddressPrefix(\"10.0.0.0/24\")\n            .destinationAddressPrefix(\"*\")\n            .resourceGroupName(example.name())\n            .networkSecurityGroupName(exampleNetworkSecurityGroup.name())\n            .build());\n\n        var allowHealthProbeInbound = new NetworkSecurityRule(\"allowHealthProbeInbound\", NetworkSecurityRuleArgs.builder()\n            .name(\"allow_health_probe_inbound\")\n            .priority(300)\n            .direction(\"Inbound\")\n            .access(\"Allow\")\n            .protocol(\"*\")\n            .sourcePortRange(\"*\")\n            .destinationPortRange(\"*\")\n            .sourceAddressPrefix(\"AzureLoadBalancer\")\n            .destinationAddressPrefix(\"*\")\n            .resourceGroupName(example.name())\n            .networkSecurityGroupName(exampleNetworkSecurityGroup.name())\n            .build());\n\n        var allowTdsInbound = new NetworkSecurityRule(\"allowTdsInbound\", NetworkSecurityRuleArgs.builder()\n            .name(\"allow_tds_inbound\")\n            .priority(1000)\n            .direction(\"Inbound\")\n            .access(\"Allow\")\n            .protocol(\"Tcp\")\n            .sourcePortRange(\"*\")\n            .destinationPortRange(\"1433\")\n            .sourceAddressPrefix(\"VirtualNetwork\")\n            .destinationAddressPrefix(\"*\")\n            .resourceGroupName(example.name())\n            .networkSecurityGroupName(exampleNetworkSecurityGroup.name())\n            .build());\n\n        var denyAllInbound = new NetworkSecurityRule(\"denyAllInbound\", NetworkSecurityRuleArgs.builder()\n            .name(\"deny_all_inbound\")\n            .priority(4096)\n            .direction(\"Inbound\")\n            .access(\"Deny\")\n            .protocol(\"*\")\n            .sourcePortRange(\"*\")\n            .destinationPortRange(\"*\")\n            .sourceAddressPrefix(\"*\")\n            .destinationAddressPrefix(\"*\")\n            .resourceGroupName(example.name())\n            .networkSecurityGroupName(exampleNetworkSecurityGroup.name())\n            .build());\n\n        var allowManagementOutbound = new NetworkSecurityRule(\"allowManagementOutbound\", NetworkSecurityRuleArgs.builder()\n            .name(\"allow_management_outbound\")\n            .priority(102)\n            .direction(\"Outbound\")\n            .access(\"Allow\")\n            .protocol(\"Tcp\")\n            .sourcePortRange(\"*\")\n            .destinationPortRanges(            \n                \"80\",\n                \"443\",\n                \"12000\")\n            .sourceAddressPrefix(\"*\")\n            .destinationAddressPrefix(\"*\")\n            .resourceGroupName(example.name())\n            .networkSecurityGroupName(exampleNetworkSecurityGroup.name())\n            .build());\n\n        var allowMisubnetOutbound = new NetworkSecurityRule(\"allowMisubnetOutbound\", NetworkSecurityRuleArgs.builder()\n            .name(\"allow_misubnet_outbound\")\n            .priority(200)\n            .direction(\"Outbound\")\n            .access(\"Allow\")\n            .protocol(\"*\")\n            .sourcePortRange(\"*\")\n            .destinationPortRange(\"*\")\n            .sourceAddressPrefix(\"10.0.0.0/24\")\n            .destinationAddressPrefix(\"*\")\n            .resourceGroupName(example.name())\n            .networkSecurityGroupName(exampleNetworkSecurityGroup.name())\n            .build());\n\n        var denyAllOutbound = new NetworkSecurityRule(\"denyAllOutbound\", NetworkSecurityRuleArgs.builder()\n            .name(\"deny_all_outbound\")\n            .priority(4096)\n            .direction(\"Outbound\")\n            .access(\"Deny\")\n            .protocol(\"*\")\n            .sourcePortRange(\"*\")\n            .destinationPortRange(\"*\")\n            .sourceAddressPrefix(\"*\")\n            .destinationAddressPrefix(\"*\")\n            .resourceGroupName(example.name())\n            .networkSecurityGroupName(exampleNetworkSecurityGroup.name())\n            .build());\n\n        var exampleVirtualNetwork = new VirtualNetwork(\"exampleVirtualNetwork\", VirtualNetworkArgs.builder()\n            .name(\"vnet-mi\")\n            .resourceGroupName(example.name())\n            .addressSpaces(\"10.0.0.0/16\")\n            .location(example.location())\n            .build());\n\n        var exampleSubnet = new Subnet(\"exampleSubnet\", SubnetArgs.builder()\n            .name(\"subnet-mi\")\n            .resourceGroupName(example.name())\n            .virtualNetworkName(exampleVirtualNetwork.name())\n            .addressPrefixes(\"10.0.0.0/24\")\n            .delegations(SubnetDelegationArgs.builder()\n                .name(\"managedinstancedelegation\")\n                .serviceDelegation(SubnetDelegationServiceDelegationArgs.builder()\n                    .name(\"Microsoft.Sql/managedInstances\")\n                    .actions(                    \n                        \"Microsoft.Network/virtualNetworks/subnets/join/action\",\n                        \"Microsoft.Network/virtualNetworks/subnets/prepareNetworkPolicies/action\",\n                        \"Microsoft.Network/virtualNetworks/subnets/unprepareNetworkPolicies/action\")\n                    .build())\n                .build())\n            .build());\n\n        var exampleSubnetNetworkSecurityGroupAssociation = new SubnetNetworkSecurityGroupAssociation(\"exampleSubnetNetworkSecurityGroupAssociation\", SubnetNetworkSecurityGroupAssociationArgs.builder()\n            .subnetId(exampleSubnet.id())\n            .networkSecurityGroupId(exampleNetworkSecurityGroup.id())\n            .build());\n\n        var exampleRouteTable = new RouteTable(\"exampleRouteTable\", RouteTableArgs.builder()\n            .name(\"routetable-mi\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .disableBgpRoutePropagation(false)\n            .build(), CustomResourceOptions.builder()\n                .dependsOn(List.of(exampleSubnet))\n                .build());\n\n        var exampleSubnetRouteTableAssociation = new SubnetRouteTableAssociation(\"exampleSubnetRouteTableAssociation\", SubnetRouteTableAssociationArgs.builder()\n            .subnetId(exampleSubnet.id())\n            .routeTableId(exampleRouteTable.id())\n            .build());\n\n        var exampleManagedInstance = new ManagedInstance(\"exampleManagedInstance\", ManagedInstanceArgs.builder()\n            .name(\"managedsqlinstance\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .licenseType(\"BasePrice\")\n            .skuName(\"GP_Gen5\")\n            .storageSizeInGb(32)\n            .subnetId(exampleSubnet.id())\n            .vcores(4)\n            .administratorLogin(\"mradministrator\")\n            .administratorLoginPassword(\"thisIsDog11\")\n            .build(), CustomResourceOptions.builder()\n                .dependsOn(                \n                    exampleSubnetNetworkSecurityGroupAssociation,\n                    exampleSubnetRouteTableAssociation)\n                .build());\n\n        var exampleManagedInstanceSecurityAlertPolicy = new ManagedInstanceSecurityAlertPolicy(\"exampleManagedInstanceSecurityAlertPolicy\", ManagedInstanceSecurityAlertPolicyArgs.builder()\n            .resourceGroupName(example.name())\n            .managedInstanceName(exampleManagedInstance.name())\n            .enabled(true)\n            .storageEndpoint(exampleAzurermStorageAccount.primaryBlobEndpoint())\n            .storageAccountAccessKey(exampleAzurermStorageAccount.primaryAccessKey())\n            .disabledAlerts(            \n                \"Sql_Injection\",\n                \"Data_Exfiltration\")\n            .retentionDays(20)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: database-rg\n      location: West Europe\n  exampleNetworkSecurityGroup:\n    type: azure:network:NetworkSecurityGroup\n    name: example\n    properties:\n      name: mi-security-group\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n  allowManagementInbound:\n    type: azure:network:NetworkSecurityRule\n    name: allow_management_inbound\n    properties:\n      name: allow_management_inbound\n      priority: 106\n      direction: Inbound\n      access: Allow\n      protocol: Tcp\n      sourcePortRange: '*'\n      destinationPortRanges:\n        - '9000'\n        - '9003'\n        - '1438'\n        - '1440'\n        - '1452'\n      sourceAddressPrefix: '*'\n      destinationAddressPrefix: '*'\n      resourceGroupName: ${example.name}\n      networkSecurityGroupName: ${exampleNetworkSecurityGroup.name}\n  allowMisubnetInbound:\n    type: azure:network:NetworkSecurityRule\n    name: allow_misubnet_inbound\n    properties:\n      name: allow_misubnet_inbound\n      priority: 200\n      direction: Inbound\n      access: Allow\n      protocol: '*'\n      sourcePortRange: '*'\n      destinationPortRange: '*'\n      sourceAddressPrefix: 10.0.0.0/24\n      destinationAddressPrefix: '*'\n      resourceGroupName: ${example.name}\n      networkSecurityGroupName: ${exampleNetworkSecurityGroup.name}\n  allowHealthProbeInbound:\n    type: azure:network:NetworkSecurityRule\n    name: allow_health_probe_inbound\n    properties:\n      name: allow_health_probe_inbound\n      priority: 300\n      direction: Inbound\n      access: Allow\n      protocol: '*'\n      sourcePortRange: '*'\n      destinationPortRange: '*'\n      sourceAddressPrefix: AzureLoadBalancer\n      destinationAddressPrefix: '*'\n      resourceGroupName: ${example.name}\n      networkSecurityGroupName: ${exampleNetworkSecurityGroup.name}\n  allowTdsInbound:\n    type: azure:network:NetworkSecurityRule\n    name: allow_tds_inbound\n    properties:\n      name: allow_tds_inbound\n      priority: 1000\n      direction: Inbound\n      access: Allow\n      protocol: Tcp\n      sourcePortRange: '*'\n      destinationPortRange: '1433'\n      sourceAddressPrefix: VirtualNetwork\n      destinationAddressPrefix: '*'\n      resourceGroupName: ${example.name}\n      networkSecurityGroupName: ${exampleNetworkSecurityGroup.name}\n  denyAllInbound:\n    type: azure:network:NetworkSecurityRule\n    name: deny_all_inbound\n    properties:\n      name: deny_all_inbound\n      priority: 4096\n      direction: Inbound\n      access: Deny\n      protocol: '*'\n      sourcePortRange: '*'\n      destinationPortRange: '*'\n      sourceAddressPrefix: '*'\n      destinationAddressPrefix: '*'\n      resourceGroupName: ${example.name}\n      networkSecurityGroupName: ${exampleNetworkSecurityGroup.name}\n  allowManagementOutbound:\n    type: azure:network:NetworkSecurityRule\n    name: allow_management_outbound\n    properties:\n      name: allow_management_outbound\n      priority: 102\n      direction: Outbound\n      access: Allow\n      protocol: Tcp\n      sourcePortRange: '*'\n      destinationPortRanges:\n        - '80'\n        - '443'\n        - '12000'\n      sourceAddressPrefix: '*'\n      destinationAddressPrefix: '*'\n      resourceGroupName: ${example.name}\n      networkSecurityGroupName: ${exampleNetworkSecurityGroup.name}\n  allowMisubnetOutbound:\n    type: azure:network:NetworkSecurityRule\n    name: allow_misubnet_outbound\n    properties:\n      name: allow_misubnet_outbound\n      priority: 200\n      direction: Outbound\n      access: Allow\n      protocol: '*'\n      sourcePortRange: '*'\n      destinationPortRange: '*'\n      sourceAddressPrefix: 10.0.0.0/24\n      destinationAddressPrefix: '*'\n      resourceGroupName: ${example.name}\n      networkSecurityGroupName: ${exampleNetworkSecurityGroup.name}\n  denyAllOutbound:\n    type: azure:network:NetworkSecurityRule\n    name: deny_all_outbound\n    properties:\n      name: deny_all_outbound\n      priority: 4096\n      direction: Outbound\n      access: Deny\n      protocol: '*'\n      sourcePortRange: '*'\n      destinationPortRange: '*'\n      sourceAddressPrefix: '*'\n      destinationAddressPrefix: '*'\n      resourceGroupName: ${example.name}\n      networkSecurityGroupName: ${exampleNetworkSecurityGroup.name}\n  exampleVirtualNetwork:\n    type: azure:network:VirtualNetwork\n    name: example\n    properties:\n      name: vnet-mi\n      resourceGroupName: ${example.name}\n      addressSpaces:\n        - 10.0.0.0/16\n      location: ${example.location}\n  exampleSubnet:\n    type: azure:network:Subnet\n    name: example\n    properties:\n      name: subnet-mi\n      resourceGroupName: ${example.name}\n      virtualNetworkName: ${exampleVirtualNetwork.name}\n      addressPrefixes:\n        - 10.0.0.0/24\n      delegations:\n        - name: managedinstancedelegation\n          serviceDelegation:\n            name: Microsoft.Sql/managedInstances\n            actions:\n              - Microsoft.Network/virtualNetworks/subnets/join/action\n              - Microsoft.Network/virtualNetworks/subnets/prepareNetworkPolicies/action\n              - Microsoft.Network/virtualNetworks/subnets/unprepareNetworkPolicies/action\n  exampleSubnetNetworkSecurityGroupAssociation:\n    type: azure:network:SubnetNetworkSecurityGroupAssociation\n    name: example\n    properties:\n      subnetId: ${exampleSubnet.id}\n      networkSecurityGroupId: ${exampleNetworkSecurityGroup.id}\n  exampleRouteTable:\n    type: azure:network:RouteTable\n    name: example\n    properties:\n      name: routetable-mi\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      disableBgpRoutePropagation: false\n    options:\n      dependsOn:\n        - ${exampleSubnet}\n  exampleSubnetRouteTableAssociation:\n    type: azure:network:SubnetRouteTableAssociation\n    name: example\n    properties:\n      subnetId: ${exampleSubnet.id}\n      routeTableId: ${exampleRouteTable.id}\n  exampleManagedInstance:\n    type: azure:mssql:ManagedInstance\n    name: example\n    properties:\n      name: managedsqlinstance\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      licenseType: BasePrice\n      skuName: GP_Gen5\n      storageSizeInGb: 32\n      subnetId: ${exampleSubnet.id}\n      vcores: 4\n      administratorLogin: mradministrator\n      administratorLoginPassword: thisIsDog11\n    options:\n      dependsOn:\n        - ${exampleSubnetNetworkSecurityGroupAssociation}\n        - ${exampleSubnetRouteTableAssociation}\n  exampleManagedInstanceSecurityAlertPolicy:\n    type: azure:mssql:ManagedInstanceSecurityAlertPolicy\n    name: example\n    properties:\n      resourceGroupName: ${example.name}\n      managedInstanceName: ${exampleManagedInstance.name}\n      enabled: true\n      storageEndpoint: ${exampleAzurermStorageAccount.primaryBlobEndpoint}\n      storageAccountAccessKey: ${exampleAzurermStorageAccount.primaryAccessKey}\n      disabledAlerts:\n        - Sql_Injection\n        - Data_Exfiltration\n      retentionDays: 20\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Sql` - 2023-08-01-preview\n\n## Import\n\nMS SQL Managed Instance Security Alert Policy can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:mssql/managedInstanceSecurityAlertPolicy:ManagedInstanceSecurityAlertPolicy example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/acceptanceTestResourceGroup1/providers/Microsoft.Sql/managedInstances/instance1/securityAlertPolicies/Default\n```\n\n","properties":{"disabledAlerts":{"type":"array","items":{"type":"string"},"description":"Specifies an array of alerts that are disabled. Possible values are `Sql_Injection`, `Sql_Injection_Vulnerability`, `Access_Anomaly`, `Data_Exfiltration`, `Unsafe_Action` and `Brute_Force`.\n"},"emailAccountAdminsEnabled":{"type":"boolean","description":"Boolean flag which specifies if the alert is sent to the account administrators or not. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"emailAddresses":{"type":"array","items":{"type":"string"},"description":"Specifies an array of email addresses to which the alert is sent.\n"},"enabled":{"type":"boolean","description":"Specifies the state of the Security Alert Policy, whether it is enabled or disabled. Possible values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"managedInstanceName":{"type":"string","description":"Specifies the name of the MS SQL Managed Instance. Changing this forces a new resource to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group that contains the MS SQL Managed Instance. Changing this forces a new resource to be created.\n"},"retentionDays":{"type":"integer","description":"Specifies the number of days to keep in the Threat Detection audit logs. Defaults to \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"storageAccountAccessKey":{"type":"string","description":"Specifies the identifier key of the Threat Detection audit storage account. This is mandatory when you use \u003cspan pulumi-lang-nodejs=\"`storageEndpoint`\" pulumi-lang-dotnet=\"`StorageEndpoint`\" pulumi-lang-go=\"`storageEndpoint`\" pulumi-lang-python=\"`storage_endpoint`\" pulumi-lang-yaml=\"`storageEndpoint`\" pulumi-lang-java=\"`storageEndpoint`\"\u003e`storage_endpoint`\u003c/span\u003e to specify a storage account blob endpoint.\n\n\u003e **Note:** Please note that storage accounts configured with \u003cspan pulumi-lang-nodejs=\"`sharedAccessKeyEnabled \" pulumi-lang-dotnet=\"`SharedAccessKeyEnabled \" pulumi-lang-go=\"`sharedAccessKeyEnabled \" pulumi-lang-python=\"`shared_access_key_enabled \" pulumi-lang-yaml=\"`sharedAccessKeyEnabled \" pulumi-lang-java=\"`sharedAccessKeyEnabled \"\u003e`shared_access_key_enabled \u003c/span\u003e= false` cannot be used to configure \u003cspan pulumi-lang-nodejs=\"`azure.mssql.ManagedInstanceSecurityAlertPolicy`\" pulumi-lang-dotnet=\"`azure.mssql.ManagedInstanceSecurityAlertPolicy`\" pulumi-lang-go=\"`mssql.ManagedInstanceSecurityAlertPolicy`\" pulumi-lang-python=\"`mssql.ManagedInstanceSecurityAlertPolicy`\" pulumi-lang-yaml=\"`azure.mssql.ManagedInstanceSecurityAlertPolicy`\" pulumi-lang-java=\"`azure.mssql.ManagedInstanceSecurityAlertPolicy`\"\u003e`azure.mssql.ManagedInstanceSecurityAlertPolicy`\u003c/span\u003e with \u003cspan pulumi-lang-nodejs=\"`storageEndpoint`\" pulumi-lang-dotnet=\"`StorageEndpoint`\" pulumi-lang-go=\"`storageEndpoint`\" pulumi-lang-python=\"`storage_endpoint`\" pulumi-lang-yaml=\"`storageEndpoint`\" pulumi-lang-java=\"`storageEndpoint`\"\u003e`storage_endpoint`\u003c/span\u003e for now.\n","secret":true},"storageEndpoint":{"type":"string","description":"Specifies the blob storage endpoint (e.g. https://example.blob.core.windows.net). This blob storage will hold all Threat Detection audit logs.\n"}},"required":["managedInstanceName","resourceGroupName"],"inputProperties":{"disabledAlerts":{"type":"array","items":{"type":"string"},"description":"Specifies an array of alerts that are disabled. Possible values are `Sql_Injection`, `Sql_Injection_Vulnerability`, `Access_Anomaly`, `Data_Exfiltration`, `Unsafe_Action` and `Brute_Force`.\n"},"emailAccountAdminsEnabled":{"type":"boolean","description":"Boolean flag which specifies if the alert is sent to the account administrators or not. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"emailAddresses":{"type":"array","items":{"type":"string"},"description":"Specifies an array of email addresses to which the alert is sent.\n"},"enabled":{"type":"boolean","description":"Specifies the state of the Security Alert Policy, whether it is enabled or disabled. Possible values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"managedInstanceName":{"type":"string","description":"Specifies the name of the MS SQL Managed Instance. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group that contains the MS SQL Managed Instance. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"retentionDays":{"type":"integer","description":"Specifies the number of days to keep in the Threat Detection audit logs. Defaults to \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"storageAccountAccessKey":{"type":"string","description":"Specifies the identifier key of the Threat Detection audit storage account. This is mandatory when you use \u003cspan pulumi-lang-nodejs=\"`storageEndpoint`\" pulumi-lang-dotnet=\"`StorageEndpoint`\" pulumi-lang-go=\"`storageEndpoint`\" pulumi-lang-python=\"`storage_endpoint`\" pulumi-lang-yaml=\"`storageEndpoint`\" pulumi-lang-java=\"`storageEndpoint`\"\u003e`storage_endpoint`\u003c/span\u003e to specify a storage account blob endpoint.\n\n\u003e **Note:** Please note that storage accounts configured with \u003cspan pulumi-lang-nodejs=\"`sharedAccessKeyEnabled \" pulumi-lang-dotnet=\"`SharedAccessKeyEnabled \" pulumi-lang-go=\"`sharedAccessKeyEnabled \" pulumi-lang-python=\"`shared_access_key_enabled \" pulumi-lang-yaml=\"`sharedAccessKeyEnabled \" pulumi-lang-java=\"`sharedAccessKeyEnabled \"\u003e`shared_access_key_enabled \u003c/span\u003e= false` cannot be used to configure \u003cspan pulumi-lang-nodejs=\"`azure.mssql.ManagedInstanceSecurityAlertPolicy`\" pulumi-lang-dotnet=\"`azure.mssql.ManagedInstanceSecurityAlertPolicy`\" pulumi-lang-go=\"`mssql.ManagedInstanceSecurityAlertPolicy`\" pulumi-lang-python=\"`mssql.ManagedInstanceSecurityAlertPolicy`\" pulumi-lang-yaml=\"`azure.mssql.ManagedInstanceSecurityAlertPolicy`\" pulumi-lang-java=\"`azure.mssql.ManagedInstanceSecurityAlertPolicy`\"\u003e`azure.mssql.ManagedInstanceSecurityAlertPolicy`\u003c/span\u003e with \u003cspan pulumi-lang-nodejs=\"`storageEndpoint`\" pulumi-lang-dotnet=\"`StorageEndpoint`\" pulumi-lang-go=\"`storageEndpoint`\" pulumi-lang-python=\"`storage_endpoint`\" pulumi-lang-yaml=\"`storageEndpoint`\" pulumi-lang-java=\"`storageEndpoint`\"\u003e`storage_endpoint`\u003c/span\u003e for now.\n","secret":true},"storageEndpoint":{"type":"string","description":"Specifies the blob storage endpoint (e.g. https://example.blob.core.windows.net). This blob storage will hold all Threat Detection audit logs.\n"}},"requiredInputs":["managedInstanceName","resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering ManagedInstanceSecurityAlertPolicy resources.\n","properties":{"disabledAlerts":{"type":"array","items":{"type":"string"},"description":"Specifies an array of alerts that are disabled. Possible values are `Sql_Injection`, `Sql_Injection_Vulnerability`, `Access_Anomaly`, `Data_Exfiltration`, `Unsafe_Action` and `Brute_Force`.\n"},"emailAccountAdminsEnabled":{"type":"boolean","description":"Boolean flag which specifies if the alert is sent to the account administrators or not. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"emailAddresses":{"type":"array","items":{"type":"string"},"description":"Specifies an array of email addresses to which the alert is sent.\n"},"enabled":{"type":"boolean","description":"Specifies the state of the Security Alert Policy, whether it is enabled or disabled. Possible values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"managedInstanceName":{"type":"string","description":"Specifies the name of the MS SQL Managed Instance. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group that contains the MS SQL Managed Instance. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"retentionDays":{"type":"integer","description":"Specifies the number of days to keep in the Threat Detection audit logs. Defaults to \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"storageAccountAccessKey":{"type":"string","description":"Specifies the identifier key of the Threat Detection audit storage account. This is mandatory when you use \u003cspan pulumi-lang-nodejs=\"`storageEndpoint`\" pulumi-lang-dotnet=\"`StorageEndpoint`\" pulumi-lang-go=\"`storageEndpoint`\" pulumi-lang-python=\"`storage_endpoint`\" pulumi-lang-yaml=\"`storageEndpoint`\" pulumi-lang-java=\"`storageEndpoint`\"\u003e`storage_endpoint`\u003c/span\u003e to specify a storage account blob endpoint.\n\n\u003e **Note:** Please note that storage accounts configured with \u003cspan pulumi-lang-nodejs=\"`sharedAccessKeyEnabled \" pulumi-lang-dotnet=\"`SharedAccessKeyEnabled \" pulumi-lang-go=\"`sharedAccessKeyEnabled \" pulumi-lang-python=\"`shared_access_key_enabled \" pulumi-lang-yaml=\"`sharedAccessKeyEnabled \" pulumi-lang-java=\"`sharedAccessKeyEnabled \"\u003e`shared_access_key_enabled \u003c/span\u003e= false` cannot be used to configure \u003cspan pulumi-lang-nodejs=\"`azure.mssql.ManagedInstanceSecurityAlertPolicy`\" pulumi-lang-dotnet=\"`azure.mssql.ManagedInstanceSecurityAlertPolicy`\" pulumi-lang-go=\"`mssql.ManagedInstanceSecurityAlertPolicy`\" pulumi-lang-python=\"`mssql.ManagedInstanceSecurityAlertPolicy`\" pulumi-lang-yaml=\"`azure.mssql.ManagedInstanceSecurityAlertPolicy`\" pulumi-lang-java=\"`azure.mssql.ManagedInstanceSecurityAlertPolicy`\"\u003e`azure.mssql.ManagedInstanceSecurityAlertPolicy`\u003c/span\u003e with \u003cspan pulumi-lang-nodejs=\"`storageEndpoint`\" pulumi-lang-dotnet=\"`StorageEndpoint`\" pulumi-lang-go=\"`storageEndpoint`\" pulumi-lang-python=\"`storage_endpoint`\" pulumi-lang-yaml=\"`storageEndpoint`\" pulumi-lang-java=\"`storageEndpoint`\"\u003e`storage_endpoint`\u003c/span\u003e for now.\n","secret":true},"storageEndpoint":{"type":"string","description":"Specifies the blob storage endpoint (e.g. https://example.blob.core.windows.net). This blob storage will hold all Threat Detection audit logs.\n"}},"type":"object"}},"azure:mssql/managedInstanceStartStopSchedule:ManagedInstanceStartStopSchedule":{"description":"Manages Start Stop Schedules for an MS SQL Managed Instance.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"database-rg\",\n    location: \"West Europe\",\n});\nconst exampleNetworkSecurityGroup = new azure.network.NetworkSecurityGroup(\"example\", {\n    name: \"mi-security-group\",\n    location: example.location,\n    resourceGroupName: example.name,\n});\nconst allowManagementInbound = new azure.network.NetworkSecurityRule(\"allow_management_inbound\", {\n    name: \"allow_management_inbound\",\n    priority: 106,\n    direction: \"Inbound\",\n    access: \"Allow\",\n    protocol: \"Tcp\",\n    sourcePortRange: \"*\",\n    destinationPortRanges: [\n        \"9000\",\n        \"9003\",\n        \"1438\",\n        \"1440\",\n        \"1452\",\n    ],\n    sourceAddressPrefix: \"*\",\n    destinationAddressPrefix: \"*\",\n    resourceGroupName: example.name,\n    networkSecurityGroupName: exampleNetworkSecurityGroup.name,\n});\nconst allowMisubnetInbound = new azure.network.NetworkSecurityRule(\"allow_misubnet_inbound\", {\n    name: \"allow_misubnet_inbound\",\n    priority: 200,\n    direction: \"Inbound\",\n    access: \"Allow\",\n    protocol: \"*\",\n    sourcePortRange: \"*\",\n    destinationPortRange: \"*\",\n    sourceAddressPrefix: \"10.0.0.0/24\",\n    destinationAddressPrefix: \"*\",\n    resourceGroupName: example.name,\n    networkSecurityGroupName: exampleNetworkSecurityGroup.name,\n});\nconst allowHealthProbeInbound = new azure.network.NetworkSecurityRule(\"allow_health_probe_inbound\", {\n    name: \"allow_health_probe_inbound\",\n    priority: 300,\n    direction: \"Inbound\",\n    access: \"Allow\",\n    protocol: \"*\",\n    sourcePortRange: \"*\",\n    destinationPortRange: \"*\",\n    sourceAddressPrefix: \"AzureLoadBalancer\",\n    destinationAddressPrefix: \"*\",\n    resourceGroupName: example.name,\n    networkSecurityGroupName: exampleNetworkSecurityGroup.name,\n});\nconst allowTdsInbound = new azure.network.NetworkSecurityRule(\"allow_tds_inbound\", {\n    name: \"allow_tds_inbound\",\n    priority: 1000,\n    direction: \"Inbound\",\n    access: \"Allow\",\n    protocol: \"Tcp\",\n    sourcePortRange: \"*\",\n    destinationPortRange: \"1433\",\n    sourceAddressPrefix: \"VirtualNetwork\",\n    destinationAddressPrefix: \"*\",\n    resourceGroupName: example.name,\n    networkSecurityGroupName: exampleNetworkSecurityGroup.name,\n});\nconst denyAllInbound = new azure.network.NetworkSecurityRule(\"deny_all_inbound\", {\n    name: \"deny_all_inbound\",\n    priority: 4096,\n    direction: \"Inbound\",\n    access: \"Deny\",\n    protocol: \"*\",\n    sourcePortRange: \"*\",\n    destinationPortRange: \"*\",\n    sourceAddressPrefix: \"*\",\n    destinationAddressPrefix: \"*\",\n    resourceGroupName: example.name,\n    networkSecurityGroupName: exampleNetworkSecurityGroup.name,\n});\nconst allowManagementOutbound = new azure.network.NetworkSecurityRule(\"allow_management_outbound\", {\n    name: \"allow_management_outbound\",\n    priority: 102,\n    direction: \"Outbound\",\n    access: \"Allow\",\n    protocol: \"Tcp\",\n    sourcePortRange: \"*\",\n    destinationPortRanges: [\n        \"80\",\n        \"443\",\n        \"12000\",\n    ],\n    sourceAddressPrefix: \"*\",\n    destinationAddressPrefix: \"*\",\n    resourceGroupName: example.name,\n    networkSecurityGroupName: exampleNetworkSecurityGroup.name,\n});\nconst allowMisubnetOutbound = new azure.network.NetworkSecurityRule(\"allow_misubnet_outbound\", {\n    name: \"allow_misubnet_outbound\",\n    priority: 200,\n    direction: \"Outbound\",\n    access: \"Allow\",\n    protocol: \"*\",\n    sourcePortRange: \"*\",\n    destinationPortRange: \"*\",\n    sourceAddressPrefix: \"10.0.0.0/24\",\n    destinationAddressPrefix: \"*\",\n    resourceGroupName: example.name,\n    networkSecurityGroupName: exampleNetworkSecurityGroup.name,\n});\nconst denyAllOutbound = new azure.network.NetworkSecurityRule(\"deny_all_outbound\", {\n    name: \"deny_all_outbound\",\n    priority: 4096,\n    direction: \"Outbound\",\n    access: \"Deny\",\n    protocol: \"*\",\n    sourcePortRange: \"*\",\n    destinationPortRange: \"*\",\n    sourceAddressPrefix: \"*\",\n    destinationAddressPrefix: \"*\",\n    resourceGroupName: example.name,\n    networkSecurityGroupName: exampleNetworkSecurityGroup.name,\n});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"example\", {\n    name: \"vnet-mi\",\n    resourceGroupName: example.name,\n    addressSpaces: [\"10.0.0.0/16\"],\n    location: example.location,\n});\nconst exampleSubnet = new azure.network.Subnet(\"example\", {\n    name: \"subnet-mi\",\n    resourceGroupName: example.name,\n    virtualNetworkName: exampleVirtualNetwork.name,\n    addressPrefixes: [\"10.0.0.0/24\"],\n    delegations: [{\n        name: \"managedinstancedelegation\",\n        serviceDelegation: {\n            name: \"Microsoft.Sql/managedInstances\",\n            actions: [\n                \"Microsoft.Network/virtualNetworks/subnets/join/action\",\n                \"Microsoft.Network/virtualNetworks/subnets/prepareNetworkPolicies/action\",\n                \"Microsoft.Network/virtualNetworks/subnets/unprepareNetworkPolicies/action\",\n            ],\n        },\n    }],\n});\nconst exampleSubnetNetworkSecurityGroupAssociation = new azure.network.SubnetNetworkSecurityGroupAssociation(\"example\", {\n    subnetId: exampleSubnet.id,\n    networkSecurityGroupId: exampleNetworkSecurityGroup.id,\n});\nconst exampleRouteTable = new azure.network.RouteTable(\"example\", {\n    name: \"routetable-mi\",\n    location: example.location,\n    resourceGroupName: example.name,\n    disableBgpRoutePropagation: false,\n}, {\n    dependsOn: [exampleSubnet],\n});\nconst exampleSubnetRouteTableAssociation = new azure.network.SubnetRouteTableAssociation(\"example\", {\n    subnetId: exampleSubnet.id,\n    routeTableId: exampleRouteTable.id,\n});\nconst exampleManagedInstance = new azure.mssql.ManagedInstance(\"example\", {\n    name: \"managedsqlinstance\",\n    resourceGroupName: example.name,\n    location: example.location,\n    licenseType: \"BasePrice\",\n    skuName: \"GP_Gen5\",\n    storageSizeInGb: 32,\n    subnetId: exampleSubnet.id,\n    vcores: 4,\n    administratorLogin: \"mradministrator\",\n    administratorLoginPassword: \"thisIsDog11\",\n}, {\n    dependsOn: [\n        exampleSubnetNetworkSecurityGroupAssociation,\n        exampleSubnetRouteTableAssociation,\n    ],\n});\nconst exampleManagedInstanceStartStopSchedule = new azure.mssql.ManagedInstanceStartStopSchedule(\"example\", {\n    managedInstanceId: exampleManagedInstance.id,\n    timezoneId: \"Central European Standard Time\",\n    schedules: [\n        {\n            startDay: \"Monday\",\n            startTime: \"08:00\",\n            stopDay: \"Monday\",\n            stopTime: \"11:00\",\n        },\n        {\n            startDay: \"Tuesday\",\n            startTime: \"12:00\",\n            stopDay: \"Tuesday\",\n            stopTime: \"18:00\",\n        },\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"database-rg\",\n    location=\"West Europe\")\nexample_network_security_group = azure.network.NetworkSecurityGroup(\"example\",\n    name=\"mi-security-group\",\n    location=example.location,\n    resource_group_name=example.name)\nallow_management_inbound = azure.network.NetworkSecurityRule(\"allow_management_inbound\",\n    name=\"allow_management_inbound\",\n    priority=106,\n    direction=\"Inbound\",\n    access=\"Allow\",\n    protocol=\"Tcp\",\n    source_port_range=\"*\",\n    destination_port_ranges=[\n        \"9000\",\n        \"9003\",\n        \"1438\",\n        \"1440\",\n        \"1452\",\n    ],\n    source_address_prefix=\"*\",\n    destination_address_prefix=\"*\",\n    resource_group_name=example.name,\n    network_security_group_name=example_network_security_group.name)\nallow_misubnet_inbound = azure.network.NetworkSecurityRule(\"allow_misubnet_inbound\",\n    name=\"allow_misubnet_inbound\",\n    priority=200,\n    direction=\"Inbound\",\n    access=\"Allow\",\n    protocol=\"*\",\n    source_port_range=\"*\",\n    destination_port_range=\"*\",\n    source_address_prefix=\"10.0.0.0/24\",\n    destination_address_prefix=\"*\",\n    resource_group_name=example.name,\n    network_security_group_name=example_network_security_group.name)\nallow_health_probe_inbound = azure.network.NetworkSecurityRule(\"allow_health_probe_inbound\",\n    name=\"allow_health_probe_inbound\",\n    priority=300,\n    direction=\"Inbound\",\n    access=\"Allow\",\n    protocol=\"*\",\n    source_port_range=\"*\",\n    destination_port_range=\"*\",\n    source_address_prefix=\"AzureLoadBalancer\",\n    destination_address_prefix=\"*\",\n    resource_group_name=example.name,\n    network_security_group_name=example_network_security_group.name)\nallow_tds_inbound = azure.network.NetworkSecurityRule(\"allow_tds_inbound\",\n    name=\"allow_tds_inbound\",\n    priority=1000,\n    direction=\"Inbound\",\n    access=\"Allow\",\n    protocol=\"Tcp\",\n    source_port_range=\"*\",\n    destination_port_range=\"1433\",\n    source_address_prefix=\"VirtualNetwork\",\n    destination_address_prefix=\"*\",\n    resource_group_name=example.name,\n    network_security_group_name=example_network_security_group.name)\ndeny_all_inbound = azure.network.NetworkSecurityRule(\"deny_all_inbound\",\n    name=\"deny_all_inbound\",\n    priority=4096,\n    direction=\"Inbound\",\n    access=\"Deny\",\n    protocol=\"*\",\n    source_port_range=\"*\",\n    destination_port_range=\"*\",\n    source_address_prefix=\"*\",\n    destination_address_prefix=\"*\",\n    resource_group_name=example.name,\n    network_security_group_name=example_network_security_group.name)\nallow_management_outbound = azure.network.NetworkSecurityRule(\"allow_management_outbound\",\n    name=\"allow_management_outbound\",\n    priority=102,\n    direction=\"Outbound\",\n    access=\"Allow\",\n    protocol=\"Tcp\",\n    source_port_range=\"*\",\n    destination_port_ranges=[\n        \"80\",\n        \"443\",\n        \"12000\",\n    ],\n    source_address_prefix=\"*\",\n    destination_address_prefix=\"*\",\n    resource_group_name=example.name,\n    network_security_group_name=example_network_security_group.name)\nallow_misubnet_outbound = azure.network.NetworkSecurityRule(\"allow_misubnet_outbound\",\n    name=\"allow_misubnet_outbound\",\n    priority=200,\n    direction=\"Outbound\",\n    access=\"Allow\",\n    protocol=\"*\",\n    source_port_range=\"*\",\n    destination_port_range=\"*\",\n    source_address_prefix=\"10.0.0.0/24\",\n    destination_address_prefix=\"*\",\n    resource_group_name=example.name,\n    network_security_group_name=example_network_security_group.name)\ndeny_all_outbound = azure.network.NetworkSecurityRule(\"deny_all_outbound\",\n    name=\"deny_all_outbound\",\n    priority=4096,\n    direction=\"Outbound\",\n    access=\"Deny\",\n    protocol=\"*\",\n    source_port_range=\"*\",\n    destination_port_range=\"*\",\n    source_address_prefix=\"*\",\n    destination_address_prefix=\"*\",\n    resource_group_name=example.name,\n    network_security_group_name=example_network_security_group.name)\nexample_virtual_network = azure.network.VirtualNetwork(\"example\",\n    name=\"vnet-mi\",\n    resource_group_name=example.name,\n    address_spaces=[\"10.0.0.0/16\"],\n    location=example.location)\nexample_subnet = azure.network.Subnet(\"example\",\n    name=\"subnet-mi\",\n    resource_group_name=example.name,\n    virtual_network_name=example_virtual_network.name,\n    address_prefixes=[\"10.0.0.0/24\"],\n    delegations=[{\n        \"name\": \"managedinstancedelegation\",\n        \"service_delegation\": {\n            \"name\": \"Microsoft.Sql/managedInstances\",\n            \"actions\": [\n                \"Microsoft.Network/virtualNetworks/subnets/join/action\",\n                \"Microsoft.Network/virtualNetworks/subnets/prepareNetworkPolicies/action\",\n                \"Microsoft.Network/virtualNetworks/subnets/unprepareNetworkPolicies/action\",\n            ],\n        },\n    }])\nexample_subnet_network_security_group_association = azure.network.SubnetNetworkSecurityGroupAssociation(\"example\",\n    subnet_id=example_subnet.id,\n    network_security_group_id=example_network_security_group.id)\nexample_route_table = azure.network.RouteTable(\"example\",\n    name=\"routetable-mi\",\n    location=example.location,\n    resource_group_name=example.name,\n    disable_bgp_route_propagation=False,\n    opts = pulumi.ResourceOptions(depends_on=[example_subnet]))\nexample_subnet_route_table_association = azure.network.SubnetRouteTableAssociation(\"example\",\n    subnet_id=example_subnet.id,\n    route_table_id=example_route_table.id)\nexample_managed_instance = azure.mssql.ManagedInstance(\"example\",\n    name=\"managedsqlinstance\",\n    resource_group_name=example.name,\n    location=example.location,\n    license_type=\"BasePrice\",\n    sku_name=\"GP_Gen5\",\n    storage_size_in_gb=32,\n    subnet_id=example_subnet.id,\n    vcores=4,\n    administrator_login=\"mradministrator\",\n    administrator_login_password=\"thisIsDog11\",\n    opts = pulumi.ResourceOptions(depends_on=[\n            example_subnet_network_security_group_association,\n            example_subnet_route_table_association,\n        ]))\nexample_managed_instance_start_stop_schedule = azure.mssql.ManagedInstanceStartStopSchedule(\"example\",\n    managed_instance_id=example_managed_instance.id,\n    timezone_id=\"Central European Standard Time\",\n    schedules=[\n        {\n            \"start_day\": \"Monday\",\n            \"start_time\": \"08:00\",\n            \"stop_day\": \"Monday\",\n            \"stop_time\": \"11:00\",\n        },\n        {\n            \"start_day\": \"Tuesday\",\n            \"start_time\": \"12:00\",\n            \"stop_day\": \"Tuesday\",\n            \"stop_time\": \"18:00\",\n        },\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"database-rg\",\n        Location = \"West Europe\",\n    });\n\n    var exampleNetworkSecurityGroup = new Azure.Network.NetworkSecurityGroup(\"example\", new()\n    {\n        Name = \"mi-security-group\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n    });\n\n    var allowManagementInbound = new Azure.Network.NetworkSecurityRule(\"allow_management_inbound\", new()\n    {\n        Name = \"allow_management_inbound\",\n        Priority = 106,\n        Direction = \"Inbound\",\n        Access = \"Allow\",\n        Protocol = \"Tcp\",\n        SourcePortRange = \"*\",\n        DestinationPortRanges = new[]\n        {\n            \"9000\",\n            \"9003\",\n            \"1438\",\n            \"1440\",\n            \"1452\",\n        },\n        SourceAddressPrefix = \"*\",\n        DestinationAddressPrefix = \"*\",\n        ResourceGroupName = example.Name,\n        NetworkSecurityGroupName = exampleNetworkSecurityGroup.Name,\n    });\n\n    var allowMisubnetInbound = new Azure.Network.NetworkSecurityRule(\"allow_misubnet_inbound\", new()\n    {\n        Name = \"allow_misubnet_inbound\",\n        Priority = 200,\n        Direction = \"Inbound\",\n        Access = \"Allow\",\n        Protocol = \"*\",\n        SourcePortRange = \"*\",\n        DestinationPortRange = \"*\",\n        SourceAddressPrefix = \"10.0.0.0/24\",\n        DestinationAddressPrefix = \"*\",\n        ResourceGroupName = example.Name,\n        NetworkSecurityGroupName = exampleNetworkSecurityGroup.Name,\n    });\n\n    var allowHealthProbeInbound = new Azure.Network.NetworkSecurityRule(\"allow_health_probe_inbound\", new()\n    {\n        Name = \"allow_health_probe_inbound\",\n        Priority = 300,\n        Direction = \"Inbound\",\n        Access = \"Allow\",\n        Protocol = \"*\",\n        SourcePortRange = \"*\",\n        DestinationPortRange = \"*\",\n        SourceAddressPrefix = \"AzureLoadBalancer\",\n        DestinationAddressPrefix = \"*\",\n        ResourceGroupName = example.Name,\n        NetworkSecurityGroupName = exampleNetworkSecurityGroup.Name,\n    });\n\n    var allowTdsInbound = new Azure.Network.NetworkSecurityRule(\"allow_tds_inbound\", new()\n    {\n        Name = \"allow_tds_inbound\",\n        Priority = 1000,\n        Direction = \"Inbound\",\n        Access = \"Allow\",\n        Protocol = \"Tcp\",\n        SourcePortRange = \"*\",\n        DestinationPortRange = \"1433\",\n        SourceAddressPrefix = \"VirtualNetwork\",\n        DestinationAddressPrefix = \"*\",\n        ResourceGroupName = example.Name,\n        NetworkSecurityGroupName = exampleNetworkSecurityGroup.Name,\n    });\n\n    var denyAllInbound = new Azure.Network.NetworkSecurityRule(\"deny_all_inbound\", new()\n    {\n        Name = \"deny_all_inbound\",\n        Priority = 4096,\n        Direction = \"Inbound\",\n        Access = \"Deny\",\n        Protocol = \"*\",\n        SourcePortRange = \"*\",\n        DestinationPortRange = \"*\",\n        SourceAddressPrefix = \"*\",\n        DestinationAddressPrefix = \"*\",\n        ResourceGroupName = example.Name,\n        NetworkSecurityGroupName = exampleNetworkSecurityGroup.Name,\n    });\n\n    var allowManagementOutbound = new Azure.Network.NetworkSecurityRule(\"allow_management_outbound\", new()\n    {\n        Name = \"allow_management_outbound\",\n        Priority = 102,\n        Direction = \"Outbound\",\n        Access = \"Allow\",\n        Protocol = \"Tcp\",\n        SourcePortRange = \"*\",\n        DestinationPortRanges = new[]\n        {\n            \"80\",\n            \"443\",\n            \"12000\",\n        },\n        SourceAddressPrefix = \"*\",\n        DestinationAddressPrefix = \"*\",\n        ResourceGroupName = example.Name,\n        NetworkSecurityGroupName = exampleNetworkSecurityGroup.Name,\n    });\n\n    var allowMisubnetOutbound = new Azure.Network.NetworkSecurityRule(\"allow_misubnet_outbound\", new()\n    {\n        Name = \"allow_misubnet_outbound\",\n        Priority = 200,\n        Direction = \"Outbound\",\n        Access = \"Allow\",\n        Protocol = \"*\",\n        SourcePortRange = \"*\",\n        DestinationPortRange = \"*\",\n        SourceAddressPrefix = \"10.0.0.0/24\",\n        DestinationAddressPrefix = \"*\",\n        ResourceGroupName = example.Name,\n        NetworkSecurityGroupName = exampleNetworkSecurityGroup.Name,\n    });\n\n    var denyAllOutbound = new Azure.Network.NetworkSecurityRule(\"deny_all_outbound\", new()\n    {\n        Name = \"deny_all_outbound\",\n        Priority = 4096,\n        Direction = \"Outbound\",\n        Access = \"Deny\",\n        Protocol = \"*\",\n        SourcePortRange = \"*\",\n        DestinationPortRange = \"*\",\n        SourceAddressPrefix = \"*\",\n        DestinationAddressPrefix = \"*\",\n        ResourceGroupName = example.Name,\n        NetworkSecurityGroupName = exampleNetworkSecurityGroup.Name,\n    });\n\n    var exampleVirtualNetwork = new Azure.Network.VirtualNetwork(\"example\", new()\n    {\n        Name = \"vnet-mi\",\n        ResourceGroupName = example.Name,\n        AddressSpaces = new[]\n        {\n            \"10.0.0.0/16\",\n        },\n        Location = example.Location,\n    });\n\n    var exampleSubnet = new Azure.Network.Subnet(\"example\", new()\n    {\n        Name = \"subnet-mi\",\n        ResourceGroupName = example.Name,\n        VirtualNetworkName = exampleVirtualNetwork.Name,\n        AddressPrefixes = new[]\n        {\n            \"10.0.0.0/24\",\n        },\n        Delegations = new[]\n        {\n            new Azure.Network.Inputs.SubnetDelegationArgs\n            {\n                Name = \"managedinstancedelegation\",\n                ServiceDelegation = new Azure.Network.Inputs.SubnetDelegationServiceDelegationArgs\n                {\n                    Name = \"Microsoft.Sql/managedInstances\",\n                    Actions = new[]\n                    {\n                        \"Microsoft.Network/virtualNetworks/subnets/join/action\",\n                        \"Microsoft.Network/virtualNetworks/subnets/prepareNetworkPolicies/action\",\n                        \"Microsoft.Network/virtualNetworks/subnets/unprepareNetworkPolicies/action\",\n                    },\n                },\n            },\n        },\n    });\n\n    var exampleSubnetNetworkSecurityGroupAssociation = new Azure.Network.SubnetNetworkSecurityGroupAssociation(\"example\", new()\n    {\n        SubnetId = exampleSubnet.Id,\n        NetworkSecurityGroupId = exampleNetworkSecurityGroup.Id,\n    });\n\n    var exampleRouteTable = new Azure.Network.RouteTable(\"example\", new()\n    {\n        Name = \"routetable-mi\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        DisableBgpRoutePropagation = false,\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            exampleSubnet,\n        },\n    });\n\n    var exampleSubnetRouteTableAssociation = new Azure.Network.SubnetRouteTableAssociation(\"example\", new()\n    {\n        SubnetId = exampleSubnet.Id,\n        RouteTableId = exampleRouteTable.Id,\n    });\n\n    var exampleManagedInstance = new Azure.MSSql.ManagedInstance(\"example\", new()\n    {\n        Name = \"managedsqlinstance\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        LicenseType = \"BasePrice\",\n        SkuName = \"GP_Gen5\",\n        StorageSizeInGb = 32,\n        SubnetId = exampleSubnet.Id,\n        Vcores = 4,\n        AdministratorLogin = \"mradministrator\",\n        AdministratorLoginPassword = \"thisIsDog11\",\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            exampleSubnetNetworkSecurityGroupAssociation,\n            exampleSubnetRouteTableAssociation,\n        },\n    });\n\n    var exampleManagedInstanceStartStopSchedule = new Azure.MSSql.ManagedInstanceStartStopSchedule(\"example\", new()\n    {\n        ManagedInstanceId = exampleManagedInstance.Id,\n        TimezoneId = \"Central European Standard Time\",\n        Schedules = new[]\n        {\n            new Azure.MSSql.Inputs.ManagedInstanceStartStopScheduleScheduleArgs\n            {\n                StartDay = \"Monday\",\n                StartTime = \"08:00\",\n                StopDay = \"Monday\",\n                StopTime = \"11:00\",\n            },\n            new Azure.MSSql.Inputs.ManagedInstanceStartStopScheduleScheduleArgs\n            {\n                StartDay = \"Tuesday\",\n                StartTime = \"12:00\",\n                StopDay = \"Tuesday\",\n                StopTime = \"18:00\",\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/mssql\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"database-rg\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNetworkSecurityGroup, err := network.NewNetworkSecurityGroup(ctx, \"example\", \u0026network.NetworkSecurityGroupArgs{\n\t\t\tName:              pulumi.String(\"mi-security-group\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = network.NewNetworkSecurityRule(ctx, \"allow_management_inbound\", \u0026network.NetworkSecurityRuleArgs{\n\t\t\tName:            pulumi.String(\"allow_management_inbound\"),\n\t\t\tPriority:        pulumi.Int(106),\n\t\t\tDirection:       pulumi.String(\"Inbound\"),\n\t\t\tAccess:          pulumi.String(\"Allow\"),\n\t\t\tProtocol:        pulumi.String(\"Tcp\"),\n\t\t\tSourcePortRange: pulumi.String(\"*\"),\n\t\t\tDestinationPortRanges: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"9000\"),\n\t\t\t\tpulumi.String(\"9003\"),\n\t\t\t\tpulumi.String(\"1438\"),\n\t\t\t\tpulumi.String(\"1440\"),\n\t\t\t\tpulumi.String(\"1452\"),\n\t\t\t},\n\t\t\tSourceAddressPrefix:      pulumi.String(\"*\"),\n\t\t\tDestinationAddressPrefix: pulumi.String(\"*\"),\n\t\t\tResourceGroupName:        example.Name,\n\t\t\tNetworkSecurityGroupName: exampleNetworkSecurityGroup.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = network.NewNetworkSecurityRule(ctx, \"allow_misubnet_inbound\", \u0026network.NetworkSecurityRuleArgs{\n\t\t\tName:                     pulumi.String(\"allow_misubnet_inbound\"),\n\t\t\tPriority:                 pulumi.Int(200),\n\t\t\tDirection:                pulumi.String(\"Inbound\"),\n\t\t\tAccess:                   pulumi.String(\"Allow\"),\n\t\t\tProtocol:                 pulumi.String(\"*\"),\n\t\t\tSourcePortRange:          pulumi.String(\"*\"),\n\t\t\tDestinationPortRange:     pulumi.String(\"*\"),\n\t\t\tSourceAddressPrefix:      pulumi.String(\"10.0.0.0/24\"),\n\t\t\tDestinationAddressPrefix: pulumi.String(\"*\"),\n\t\t\tResourceGroupName:        example.Name,\n\t\t\tNetworkSecurityGroupName: exampleNetworkSecurityGroup.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = network.NewNetworkSecurityRule(ctx, \"allow_health_probe_inbound\", \u0026network.NetworkSecurityRuleArgs{\n\t\t\tName:                     pulumi.String(\"allow_health_probe_inbound\"),\n\t\t\tPriority:                 pulumi.Int(300),\n\t\t\tDirection:                pulumi.String(\"Inbound\"),\n\t\t\tAccess:                   pulumi.String(\"Allow\"),\n\t\t\tProtocol:                 pulumi.String(\"*\"),\n\t\t\tSourcePortRange:          pulumi.String(\"*\"),\n\t\t\tDestinationPortRange:     pulumi.String(\"*\"),\n\t\t\tSourceAddressPrefix:      pulumi.String(\"AzureLoadBalancer\"),\n\t\t\tDestinationAddressPrefix: pulumi.String(\"*\"),\n\t\t\tResourceGroupName:        example.Name,\n\t\t\tNetworkSecurityGroupName: exampleNetworkSecurityGroup.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = network.NewNetworkSecurityRule(ctx, \"allow_tds_inbound\", \u0026network.NetworkSecurityRuleArgs{\n\t\t\tName:                     pulumi.String(\"allow_tds_inbound\"),\n\t\t\tPriority:                 pulumi.Int(1000),\n\t\t\tDirection:                pulumi.String(\"Inbound\"),\n\t\t\tAccess:                   pulumi.String(\"Allow\"),\n\t\t\tProtocol:                 pulumi.String(\"Tcp\"),\n\t\t\tSourcePortRange:          pulumi.String(\"*\"),\n\t\t\tDestinationPortRange:     pulumi.String(\"1433\"),\n\t\t\tSourceAddressPrefix:      pulumi.String(\"VirtualNetwork\"),\n\t\t\tDestinationAddressPrefix: pulumi.String(\"*\"),\n\t\t\tResourceGroupName:        example.Name,\n\t\t\tNetworkSecurityGroupName: exampleNetworkSecurityGroup.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = network.NewNetworkSecurityRule(ctx, \"deny_all_inbound\", \u0026network.NetworkSecurityRuleArgs{\n\t\t\tName:                     pulumi.String(\"deny_all_inbound\"),\n\t\t\tPriority:                 pulumi.Int(4096),\n\t\t\tDirection:                pulumi.String(\"Inbound\"),\n\t\t\tAccess:                   pulumi.String(\"Deny\"),\n\t\t\tProtocol:                 pulumi.String(\"*\"),\n\t\t\tSourcePortRange:          pulumi.String(\"*\"),\n\t\t\tDestinationPortRange:     pulumi.String(\"*\"),\n\t\t\tSourceAddressPrefix:      pulumi.String(\"*\"),\n\t\t\tDestinationAddressPrefix: pulumi.String(\"*\"),\n\t\t\tResourceGroupName:        example.Name,\n\t\t\tNetworkSecurityGroupName: exampleNetworkSecurityGroup.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = network.NewNetworkSecurityRule(ctx, \"allow_management_outbound\", \u0026network.NetworkSecurityRuleArgs{\n\t\t\tName:            pulumi.String(\"allow_management_outbound\"),\n\t\t\tPriority:        pulumi.Int(102),\n\t\t\tDirection:       pulumi.String(\"Outbound\"),\n\t\t\tAccess:          pulumi.String(\"Allow\"),\n\t\t\tProtocol:        pulumi.String(\"Tcp\"),\n\t\t\tSourcePortRange: pulumi.String(\"*\"),\n\t\t\tDestinationPortRanges: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"80\"),\n\t\t\t\tpulumi.String(\"443\"),\n\t\t\t\tpulumi.String(\"12000\"),\n\t\t\t},\n\t\t\tSourceAddressPrefix:      pulumi.String(\"*\"),\n\t\t\tDestinationAddressPrefix: pulumi.String(\"*\"),\n\t\t\tResourceGroupName:        example.Name,\n\t\t\tNetworkSecurityGroupName: exampleNetworkSecurityGroup.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = network.NewNetworkSecurityRule(ctx, \"allow_misubnet_outbound\", \u0026network.NetworkSecurityRuleArgs{\n\t\t\tName:                     pulumi.String(\"allow_misubnet_outbound\"),\n\t\t\tPriority:                 pulumi.Int(200),\n\t\t\tDirection:                pulumi.String(\"Outbound\"),\n\t\t\tAccess:                   pulumi.String(\"Allow\"),\n\t\t\tProtocol:                 pulumi.String(\"*\"),\n\t\t\tSourcePortRange:          pulumi.String(\"*\"),\n\t\t\tDestinationPortRange:     pulumi.String(\"*\"),\n\t\t\tSourceAddressPrefix:      pulumi.String(\"10.0.0.0/24\"),\n\t\t\tDestinationAddressPrefix: pulumi.String(\"*\"),\n\t\t\tResourceGroupName:        example.Name,\n\t\t\tNetworkSecurityGroupName: exampleNetworkSecurityGroup.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = network.NewNetworkSecurityRule(ctx, \"deny_all_outbound\", \u0026network.NetworkSecurityRuleArgs{\n\t\t\tName:                     pulumi.String(\"deny_all_outbound\"),\n\t\t\tPriority:                 pulumi.Int(4096),\n\t\t\tDirection:                pulumi.String(\"Outbound\"),\n\t\t\tAccess:                   pulumi.String(\"Deny\"),\n\t\t\tProtocol:                 pulumi.String(\"*\"),\n\t\t\tSourcePortRange:          pulumi.String(\"*\"),\n\t\t\tDestinationPortRange:     pulumi.String(\"*\"),\n\t\t\tSourceAddressPrefix:      pulumi.String(\"*\"),\n\t\t\tDestinationAddressPrefix: pulumi.String(\"*\"),\n\t\t\tResourceGroupName:        example.Name,\n\t\t\tNetworkSecurityGroupName: exampleNetworkSecurityGroup.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, \"example\", \u0026network.VirtualNetworkArgs{\n\t\t\tName:              pulumi.String(\"vnet-mi\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tAddressSpaces: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.0.0/16\"),\n\t\t\t},\n\t\t\tLocation: example.Location,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSubnet, err := network.NewSubnet(ctx, \"example\", \u0026network.SubnetArgs{\n\t\t\tName:               pulumi.String(\"subnet-mi\"),\n\t\t\tResourceGroupName:  example.Name,\n\t\t\tVirtualNetworkName: exampleVirtualNetwork.Name,\n\t\t\tAddressPrefixes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.0.0/24\"),\n\t\t\t},\n\t\t\tDelegations: network.SubnetDelegationArray{\n\t\t\t\t\u0026network.SubnetDelegationArgs{\n\t\t\t\t\tName: pulumi.String(\"managedinstancedelegation\"),\n\t\t\t\t\tServiceDelegation: \u0026network.SubnetDelegationServiceDelegationArgs{\n\t\t\t\t\t\tName: pulumi.String(\"Microsoft.Sql/managedInstances\"),\n\t\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"Microsoft.Network/virtualNetworks/subnets/join/action\"),\n\t\t\t\t\t\t\tpulumi.String(\"Microsoft.Network/virtualNetworks/subnets/prepareNetworkPolicies/action\"),\n\t\t\t\t\t\t\tpulumi.String(\"Microsoft.Network/virtualNetworks/subnets/unprepareNetworkPolicies/action\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSubnetNetworkSecurityGroupAssociation, err := network.NewSubnetNetworkSecurityGroupAssociation(ctx, \"example\", \u0026network.SubnetNetworkSecurityGroupAssociationArgs{\n\t\t\tSubnetId:               exampleSubnet.ID(),\n\t\t\tNetworkSecurityGroupId: exampleNetworkSecurityGroup.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleRouteTable, err := network.NewRouteTable(ctx, \"example\", \u0026network.RouteTableArgs{\n\t\t\tName:                       pulumi.String(\"routetable-mi\"),\n\t\t\tLocation:                   example.Location,\n\t\t\tResourceGroupName:          example.Name,\n\t\t\tDisableBgpRoutePropagation: false,\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleSubnet,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSubnetRouteTableAssociation, err := network.NewSubnetRouteTableAssociation(ctx, \"example\", \u0026network.SubnetRouteTableAssociationArgs{\n\t\t\tSubnetId:     exampleSubnet.ID(),\n\t\t\tRouteTableId: exampleRouteTable.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleManagedInstance, err := mssql.NewManagedInstance(ctx, \"example\", \u0026mssql.ManagedInstanceArgs{\n\t\t\tName:                       pulumi.String(\"managedsqlinstance\"),\n\t\t\tResourceGroupName:          example.Name,\n\t\t\tLocation:                   example.Location,\n\t\t\tLicenseType:                pulumi.String(\"BasePrice\"),\n\t\t\tSkuName:                    pulumi.String(\"GP_Gen5\"),\n\t\t\tStorageSizeInGb:            pulumi.Int(32),\n\t\t\tSubnetId:                   exampleSubnet.ID(),\n\t\t\tVcores:                     pulumi.Int(4),\n\t\t\tAdministratorLogin:         pulumi.String(\"mradministrator\"),\n\t\t\tAdministratorLoginPassword: pulumi.String(\"thisIsDog11\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleSubnetNetworkSecurityGroupAssociation,\n\t\t\texampleSubnetRouteTableAssociation,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = mssql.NewManagedInstanceStartStopSchedule(ctx, \"example\", \u0026mssql.ManagedInstanceStartStopScheduleArgs{\n\t\t\tManagedInstanceId: exampleManagedInstance.ID(),\n\t\t\tTimezoneId:        pulumi.String(\"Central European Standard Time\"),\n\t\t\tSchedules: mssql.ManagedInstanceStartStopScheduleScheduleArray{\n\t\t\t\t\u0026mssql.ManagedInstanceStartStopScheduleScheduleArgs{\n\t\t\t\t\tStartDay:  pulumi.String(\"Monday\"),\n\t\t\t\t\tStartTime: pulumi.String(\"08:00\"),\n\t\t\t\t\tStopDay:   pulumi.String(\"Monday\"),\n\t\t\t\t\tStopTime:  pulumi.String(\"11:00\"),\n\t\t\t\t},\n\t\t\t\t\u0026mssql.ManagedInstanceStartStopScheduleScheduleArgs{\n\t\t\t\t\tStartDay:  pulumi.String(\"Tuesday\"),\n\t\t\t\t\tStartTime: pulumi.String(\"12:00\"),\n\t\t\t\t\tStopDay:   pulumi.String(\"Tuesday\"),\n\t\t\t\t\tStopTime:  pulumi.String(\"18:00\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.NetworkSecurityGroup;\nimport com.pulumi.azure.network.NetworkSecurityGroupArgs;\nimport com.pulumi.azure.network.NetworkSecurityRule;\nimport com.pulumi.azure.network.NetworkSecurityRuleArgs;\nimport com.pulumi.azure.network.VirtualNetwork;\nimport com.pulumi.azure.network.VirtualNetworkArgs;\nimport com.pulumi.azure.network.Subnet;\nimport com.pulumi.azure.network.SubnetArgs;\nimport com.pulumi.azure.network.inputs.SubnetDelegationArgs;\nimport com.pulumi.azure.network.inputs.SubnetDelegationServiceDelegationArgs;\nimport com.pulumi.azure.network.SubnetNetworkSecurityGroupAssociation;\nimport com.pulumi.azure.network.SubnetNetworkSecurityGroupAssociationArgs;\nimport com.pulumi.azure.network.RouteTable;\nimport com.pulumi.azure.network.RouteTableArgs;\nimport com.pulumi.azure.network.SubnetRouteTableAssociation;\nimport com.pulumi.azure.network.SubnetRouteTableAssociationArgs;\nimport com.pulumi.azure.mssql.ManagedInstance;\nimport com.pulumi.azure.mssql.ManagedInstanceArgs;\nimport com.pulumi.azure.mssql.ManagedInstanceStartStopSchedule;\nimport com.pulumi.azure.mssql.ManagedInstanceStartStopScheduleArgs;\nimport com.pulumi.azure.mssql.inputs.ManagedInstanceStartStopScheduleScheduleArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"database-rg\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleNetworkSecurityGroup = new NetworkSecurityGroup(\"exampleNetworkSecurityGroup\", NetworkSecurityGroupArgs.builder()\n            .name(\"mi-security-group\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .build());\n\n        var allowManagementInbound = new NetworkSecurityRule(\"allowManagementInbound\", NetworkSecurityRuleArgs.builder()\n            .name(\"allow_management_inbound\")\n            .priority(106)\n            .direction(\"Inbound\")\n            .access(\"Allow\")\n            .protocol(\"Tcp\")\n            .sourcePortRange(\"*\")\n            .destinationPortRanges(            \n                \"9000\",\n                \"9003\",\n                \"1438\",\n                \"1440\",\n                \"1452\")\n            .sourceAddressPrefix(\"*\")\n            .destinationAddressPrefix(\"*\")\n            .resourceGroupName(example.name())\n            .networkSecurityGroupName(exampleNetworkSecurityGroup.name())\n            .build());\n\n        var allowMisubnetInbound = new NetworkSecurityRule(\"allowMisubnetInbound\", NetworkSecurityRuleArgs.builder()\n            .name(\"allow_misubnet_inbound\")\n            .priority(200)\n            .direction(\"Inbound\")\n            .access(\"Allow\")\n            .protocol(\"*\")\n            .sourcePortRange(\"*\")\n            .destinationPortRange(\"*\")\n            .sourceAddressPrefix(\"10.0.0.0/24\")\n            .destinationAddressPrefix(\"*\")\n            .resourceGroupName(example.name())\n            .networkSecurityGroupName(exampleNetworkSecurityGroup.name())\n            .build());\n\n        var allowHealthProbeInbound = new NetworkSecurityRule(\"allowHealthProbeInbound\", NetworkSecurityRuleArgs.builder()\n            .name(\"allow_health_probe_inbound\")\n            .priority(300)\n            .direction(\"Inbound\")\n            .access(\"Allow\")\n            .protocol(\"*\")\n            .sourcePortRange(\"*\")\n            .destinationPortRange(\"*\")\n            .sourceAddressPrefix(\"AzureLoadBalancer\")\n            .destinationAddressPrefix(\"*\")\n            .resourceGroupName(example.name())\n            .networkSecurityGroupName(exampleNetworkSecurityGroup.name())\n            .build());\n\n        var allowTdsInbound = new NetworkSecurityRule(\"allowTdsInbound\", NetworkSecurityRuleArgs.builder()\n            .name(\"allow_tds_inbound\")\n            .priority(1000)\n            .direction(\"Inbound\")\n            .access(\"Allow\")\n            .protocol(\"Tcp\")\n            .sourcePortRange(\"*\")\n            .destinationPortRange(\"1433\")\n            .sourceAddressPrefix(\"VirtualNetwork\")\n            .destinationAddressPrefix(\"*\")\n            .resourceGroupName(example.name())\n            .networkSecurityGroupName(exampleNetworkSecurityGroup.name())\n            .build());\n\n        var denyAllInbound = new NetworkSecurityRule(\"denyAllInbound\", NetworkSecurityRuleArgs.builder()\n            .name(\"deny_all_inbound\")\n            .priority(4096)\n            .direction(\"Inbound\")\n            .access(\"Deny\")\n            .protocol(\"*\")\n            .sourcePortRange(\"*\")\n            .destinationPortRange(\"*\")\n            .sourceAddressPrefix(\"*\")\n            .destinationAddressPrefix(\"*\")\n            .resourceGroupName(example.name())\n            .networkSecurityGroupName(exampleNetworkSecurityGroup.name())\n            .build());\n\n        var allowManagementOutbound = new NetworkSecurityRule(\"allowManagementOutbound\", NetworkSecurityRuleArgs.builder()\n            .name(\"allow_management_outbound\")\n            .priority(102)\n            .direction(\"Outbound\")\n            .access(\"Allow\")\n            .protocol(\"Tcp\")\n            .sourcePortRange(\"*\")\n            .destinationPortRanges(            \n                \"80\",\n                \"443\",\n                \"12000\")\n            .sourceAddressPrefix(\"*\")\n            .destinationAddressPrefix(\"*\")\n            .resourceGroupName(example.name())\n            .networkSecurityGroupName(exampleNetworkSecurityGroup.name())\n            .build());\n\n        var allowMisubnetOutbound = new NetworkSecurityRule(\"allowMisubnetOutbound\", NetworkSecurityRuleArgs.builder()\n            .name(\"allow_misubnet_outbound\")\n            .priority(200)\n            .direction(\"Outbound\")\n            .access(\"Allow\")\n            .protocol(\"*\")\n            .sourcePortRange(\"*\")\n            .destinationPortRange(\"*\")\n            .sourceAddressPrefix(\"10.0.0.0/24\")\n            .destinationAddressPrefix(\"*\")\n            .resourceGroupName(example.name())\n            .networkSecurityGroupName(exampleNetworkSecurityGroup.name())\n            .build());\n\n        var denyAllOutbound = new NetworkSecurityRule(\"denyAllOutbound\", NetworkSecurityRuleArgs.builder()\n            .name(\"deny_all_outbound\")\n            .priority(4096)\n            .direction(\"Outbound\")\n            .access(\"Deny\")\n            .protocol(\"*\")\n            .sourcePortRange(\"*\")\n            .destinationPortRange(\"*\")\n            .sourceAddressPrefix(\"*\")\n            .destinationAddressPrefix(\"*\")\n            .resourceGroupName(example.name())\n            .networkSecurityGroupName(exampleNetworkSecurityGroup.name())\n            .build());\n\n        var exampleVirtualNetwork = new VirtualNetwork(\"exampleVirtualNetwork\", VirtualNetworkArgs.builder()\n            .name(\"vnet-mi\")\n            .resourceGroupName(example.name())\n            .addressSpaces(\"10.0.0.0/16\")\n            .location(example.location())\n            .build());\n\n        var exampleSubnet = new Subnet(\"exampleSubnet\", SubnetArgs.builder()\n            .name(\"subnet-mi\")\n            .resourceGroupName(example.name())\n            .virtualNetworkName(exampleVirtualNetwork.name())\n            .addressPrefixes(\"10.0.0.0/24\")\n            .delegations(SubnetDelegationArgs.builder()\n                .name(\"managedinstancedelegation\")\n                .serviceDelegation(SubnetDelegationServiceDelegationArgs.builder()\n                    .name(\"Microsoft.Sql/managedInstances\")\n                    .actions(                    \n                        \"Microsoft.Network/virtualNetworks/subnets/join/action\",\n                        \"Microsoft.Network/virtualNetworks/subnets/prepareNetworkPolicies/action\",\n                        \"Microsoft.Network/virtualNetworks/subnets/unprepareNetworkPolicies/action\")\n                    .build())\n                .build())\n            .build());\n\n        var exampleSubnetNetworkSecurityGroupAssociation = new SubnetNetworkSecurityGroupAssociation(\"exampleSubnetNetworkSecurityGroupAssociation\", SubnetNetworkSecurityGroupAssociationArgs.builder()\n            .subnetId(exampleSubnet.id())\n            .networkSecurityGroupId(exampleNetworkSecurityGroup.id())\n            .build());\n\n        var exampleRouteTable = new RouteTable(\"exampleRouteTable\", RouteTableArgs.builder()\n            .name(\"routetable-mi\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .disableBgpRoutePropagation(false)\n            .build(), CustomResourceOptions.builder()\n                .dependsOn(List.of(exampleSubnet))\n                .build());\n\n        var exampleSubnetRouteTableAssociation = new SubnetRouteTableAssociation(\"exampleSubnetRouteTableAssociation\", SubnetRouteTableAssociationArgs.builder()\n            .subnetId(exampleSubnet.id())\n            .routeTableId(exampleRouteTable.id())\n            .build());\n\n        var exampleManagedInstance = new ManagedInstance(\"exampleManagedInstance\", ManagedInstanceArgs.builder()\n            .name(\"managedsqlinstance\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .licenseType(\"BasePrice\")\n            .skuName(\"GP_Gen5\")\n            .storageSizeInGb(32)\n            .subnetId(exampleSubnet.id())\n            .vcores(4)\n            .administratorLogin(\"mradministrator\")\n            .administratorLoginPassword(\"thisIsDog11\")\n            .build(), CustomResourceOptions.builder()\n                .dependsOn(                \n                    exampleSubnetNetworkSecurityGroupAssociation,\n                    exampleSubnetRouteTableAssociation)\n                .build());\n\n        var exampleManagedInstanceStartStopSchedule = new ManagedInstanceStartStopSchedule(\"exampleManagedInstanceStartStopSchedule\", ManagedInstanceStartStopScheduleArgs.builder()\n            .managedInstanceId(exampleManagedInstance.id())\n            .timezoneId(\"Central European Standard Time\")\n            .schedules(            \n                ManagedInstanceStartStopScheduleScheduleArgs.builder()\n                    .startDay(\"Monday\")\n                    .startTime(\"08:00\")\n                    .stopDay(\"Monday\")\n                    .stopTime(\"11:00\")\n                    .build(),\n                ManagedInstanceStartStopScheduleScheduleArgs.builder()\n                    .startDay(\"Tuesday\")\n                    .startTime(\"12:00\")\n                    .stopDay(\"Tuesday\")\n                    .stopTime(\"18:00\")\n                    .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: database-rg\n      location: West Europe\n  exampleNetworkSecurityGroup:\n    type: azure:network:NetworkSecurityGroup\n    name: example\n    properties:\n      name: mi-security-group\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n  allowManagementInbound:\n    type: azure:network:NetworkSecurityRule\n    name: allow_management_inbound\n    properties:\n      name: allow_management_inbound\n      priority: 106\n      direction: Inbound\n      access: Allow\n      protocol: Tcp\n      sourcePortRange: '*'\n      destinationPortRanges:\n        - '9000'\n        - '9003'\n        - '1438'\n        - '1440'\n        - '1452'\n      sourceAddressPrefix: '*'\n      destinationAddressPrefix: '*'\n      resourceGroupName: ${example.name}\n      networkSecurityGroupName: ${exampleNetworkSecurityGroup.name}\n  allowMisubnetInbound:\n    type: azure:network:NetworkSecurityRule\n    name: allow_misubnet_inbound\n    properties:\n      name: allow_misubnet_inbound\n      priority: 200\n      direction: Inbound\n      access: Allow\n      protocol: '*'\n      sourcePortRange: '*'\n      destinationPortRange: '*'\n      sourceAddressPrefix: 10.0.0.0/24\n      destinationAddressPrefix: '*'\n      resourceGroupName: ${example.name}\n      networkSecurityGroupName: ${exampleNetworkSecurityGroup.name}\n  allowHealthProbeInbound:\n    type: azure:network:NetworkSecurityRule\n    name: allow_health_probe_inbound\n    properties:\n      name: allow_health_probe_inbound\n      priority: 300\n      direction: Inbound\n      access: Allow\n      protocol: '*'\n      sourcePortRange: '*'\n      destinationPortRange: '*'\n      sourceAddressPrefix: AzureLoadBalancer\n      destinationAddressPrefix: '*'\n      resourceGroupName: ${example.name}\n      networkSecurityGroupName: ${exampleNetworkSecurityGroup.name}\n  allowTdsInbound:\n    type: azure:network:NetworkSecurityRule\n    name: allow_tds_inbound\n    properties:\n      name: allow_tds_inbound\n      priority: 1000\n      direction: Inbound\n      access: Allow\n      protocol: Tcp\n      sourcePortRange: '*'\n      destinationPortRange: '1433'\n      sourceAddressPrefix: VirtualNetwork\n      destinationAddressPrefix: '*'\n      resourceGroupName: ${example.name}\n      networkSecurityGroupName: ${exampleNetworkSecurityGroup.name}\n  denyAllInbound:\n    type: azure:network:NetworkSecurityRule\n    name: deny_all_inbound\n    properties:\n      name: deny_all_inbound\n      priority: 4096\n      direction: Inbound\n      access: Deny\n      protocol: '*'\n      sourcePortRange: '*'\n      destinationPortRange: '*'\n      sourceAddressPrefix: '*'\n      destinationAddressPrefix: '*'\n      resourceGroupName: ${example.name}\n      networkSecurityGroupName: ${exampleNetworkSecurityGroup.name}\n  allowManagementOutbound:\n    type: azure:network:NetworkSecurityRule\n    name: allow_management_outbound\n    properties:\n      name: allow_management_outbound\n      priority: 102\n      direction: Outbound\n      access: Allow\n      protocol: Tcp\n      sourcePortRange: '*'\n      destinationPortRanges:\n        - '80'\n        - '443'\n        - '12000'\n      sourceAddressPrefix: '*'\n      destinationAddressPrefix: '*'\n      resourceGroupName: ${example.name}\n      networkSecurityGroupName: ${exampleNetworkSecurityGroup.name}\n  allowMisubnetOutbound:\n    type: azure:network:NetworkSecurityRule\n    name: allow_misubnet_outbound\n    properties:\n      name: allow_misubnet_outbound\n      priority: 200\n      direction: Outbound\n      access: Allow\n      protocol: '*'\n      sourcePortRange: '*'\n      destinationPortRange: '*'\n      sourceAddressPrefix: 10.0.0.0/24\n      destinationAddressPrefix: '*'\n      resourceGroupName: ${example.name}\n      networkSecurityGroupName: ${exampleNetworkSecurityGroup.name}\n  denyAllOutbound:\n    type: azure:network:NetworkSecurityRule\n    name: deny_all_outbound\n    properties:\n      name: deny_all_outbound\n      priority: 4096\n      direction: Outbound\n      access: Deny\n      protocol: '*'\n      sourcePortRange: '*'\n      destinationPortRange: '*'\n      sourceAddressPrefix: '*'\n      destinationAddressPrefix: '*'\n      resourceGroupName: ${example.name}\n      networkSecurityGroupName: ${exampleNetworkSecurityGroup.name}\n  exampleVirtualNetwork:\n    type: azure:network:VirtualNetwork\n    name: example\n    properties:\n      name: vnet-mi\n      resourceGroupName: ${example.name}\n      addressSpaces:\n        - 10.0.0.0/16\n      location: ${example.location}\n  exampleSubnet:\n    type: azure:network:Subnet\n    name: example\n    properties:\n      name: subnet-mi\n      resourceGroupName: ${example.name}\n      virtualNetworkName: ${exampleVirtualNetwork.name}\n      addressPrefixes:\n        - 10.0.0.0/24\n      delegations:\n        - name: managedinstancedelegation\n          serviceDelegation:\n            name: Microsoft.Sql/managedInstances\n            actions:\n              - Microsoft.Network/virtualNetworks/subnets/join/action\n              - Microsoft.Network/virtualNetworks/subnets/prepareNetworkPolicies/action\n              - Microsoft.Network/virtualNetworks/subnets/unprepareNetworkPolicies/action\n  exampleSubnetNetworkSecurityGroupAssociation:\n    type: azure:network:SubnetNetworkSecurityGroupAssociation\n    name: example\n    properties:\n      subnetId: ${exampleSubnet.id}\n      networkSecurityGroupId: ${exampleNetworkSecurityGroup.id}\n  exampleRouteTable:\n    type: azure:network:RouteTable\n    name: example\n    properties:\n      name: routetable-mi\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      disableBgpRoutePropagation: false\n    options:\n      dependsOn:\n        - ${exampleSubnet}\n  exampleSubnetRouteTableAssociation:\n    type: azure:network:SubnetRouteTableAssociation\n    name: example\n    properties:\n      subnetId: ${exampleSubnet.id}\n      routeTableId: ${exampleRouteTable.id}\n  exampleManagedInstance:\n    type: azure:mssql:ManagedInstance\n    name: example\n    properties:\n      name: managedsqlinstance\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      licenseType: BasePrice\n      skuName: GP_Gen5\n      storageSizeInGb: 32\n      subnetId: ${exampleSubnet.id}\n      vcores: 4\n      administratorLogin: mradministrator\n      administratorLoginPassword: thisIsDog11\n    options:\n      dependsOn:\n        - ${exampleSubnetNetworkSecurityGroupAssociation}\n        - ${exampleSubnetRouteTableAssociation}\n  exampleManagedInstanceStartStopSchedule:\n    type: azure:mssql:ManagedInstanceStartStopSchedule\n    name: example\n    properties:\n      managedInstanceId: ${exampleManagedInstance.id}\n      timezoneId: Central European Standard Time\n      schedules:\n        - startDay: Monday\n          startTime: 08:00\n          stopDay: Monday\n          stopTime: 11:00\n        - startDay: Tuesday\n          startTime: 12:00\n          stopDay: Tuesday\n          stopTime: 18:00\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Sql` - 2023-08-01-preview\n\n## Import\n\nMS SQL Managed Instance Start Stop Schedule can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:mssql/managedInstanceStartStopSchedule:ManagedInstanceStartStopSchedule example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup1/providers/Microsoft.Sql/managedInstances/managedInstance1/startStopSchedules/default\n```\n\n","properties":{"description":{"type":"string","description":"Specifies the description of the schedule.\n"},"managedInstanceId":{"type":"string","description":"Specifies the ID of the Managed Instance. Changing this forces a new Sql Start Stop Managed Instance Schedule to be created.\n"},"nextExecutionTime":{"type":"string","description":"Timestamp when the next action will be executed in the corresponding schedule time zone.\n"},"nextRunAction":{"type":"string","description":"Next action to be executed (Start or Stop).\n"},"schedules":{"type":"array","items":{"$ref":"#/types/azure:mssql/ManagedInstanceStartStopScheduleSchedule:ManagedInstanceStartStopScheduleSchedule"},"description":"A \u003cspan pulumi-lang-nodejs=\"`schedule`\" pulumi-lang-dotnet=\"`Schedule`\" pulumi-lang-go=\"`schedule`\" pulumi-lang-python=\"`schedule`\" pulumi-lang-yaml=\"`schedule`\" pulumi-lang-java=\"`schedule`\"\u003e`schedule`\u003c/span\u003e block as defined below.\n"},"timezoneId":{"type":"string","description":"Specifies the time zone of the schedule. Defaults to `UTC`.\n"}},"required":["managedInstanceId","nextExecutionTime","nextRunAction","schedules"],"inputProperties":{"description":{"type":"string","description":"Specifies the description of the schedule.\n"},"managedInstanceId":{"type":"string","description":"Specifies the ID of the Managed Instance. Changing this forces a new Sql Start Stop Managed Instance Schedule to be created.\n","willReplaceOnChanges":true},"schedules":{"type":"array","items":{"$ref":"#/types/azure:mssql/ManagedInstanceStartStopScheduleSchedule:ManagedInstanceStartStopScheduleSchedule"},"description":"A \u003cspan pulumi-lang-nodejs=\"`schedule`\" pulumi-lang-dotnet=\"`Schedule`\" pulumi-lang-go=\"`schedule`\" pulumi-lang-python=\"`schedule`\" pulumi-lang-yaml=\"`schedule`\" pulumi-lang-java=\"`schedule`\"\u003e`schedule`\u003c/span\u003e block as defined below.\n"},"timezoneId":{"type":"string","description":"Specifies the time zone of the schedule. Defaults to `UTC`.\n"}},"requiredInputs":["managedInstanceId","schedules"],"stateInputs":{"description":"Input properties used for looking up and filtering ManagedInstanceStartStopSchedule resources.\n","properties":{"description":{"type":"string","description":"Specifies the description of the schedule.\n"},"managedInstanceId":{"type":"string","description":"Specifies the ID of the Managed Instance. Changing this forces a new Sql Start Stop Managed Instance Schedule to be created.\n","willReplaceOnChanges":true},"nextExecutionTime":{"type":"string","description":"Timestamp when the next action will be executed in the corresponding schedule time zone.\n"},"nextRunAction":{"type":"string","description":"Next action to be executed (Start or Stop).\n"},"schedules":{"type":"array","items":{"$ref":"#/types/azure:mssql/ManagedInstanceStartStopScheduleSchedule:ManagedInstanceStartStopScheduleSchedule"},"description":"A \u003cspan pulumi-lang-nodejs=\"`schedule`\" pulumi-lang-dotnet=\"`Schedule`\" pulumi-lang-go=\"`schedule`\" pulumi-lang-python=\"`schedule`\" pulumi-lang-yaml=\"`schedule`\" pulumi-lang-java=\"`schedule`\"\u003e`schedule`\u003c/span\u003e block as defined below.\n"},"timezoneId":{"type":"string","description":"Specifies the time zone of the schedule. Defaults to `UTC`.\n"}},"type":"object"}},"azure:mssql/managedInstanceTransparentDataEncryption:ManagedInstanceTransparentDataEncryption":{"description":"Manages the transparent data encryption configuration for a MSSQL Managed Instance\n\n\u003e **Note:** Once transparent data encryption(TDE) is enabled on a MS SQL instance, it is not possible to remove TDE. You will be able to switch between 'ServiceManaged' and 'CustomerManaged' keys, but will not be able to remove encryption. For safety when this resource is deleted, the TDE mode will automatically be set to 'ServiceManaged'. As SQL Managed Instance only supports a single configuration for encryption settings, this resource will replace the current encryption settings on the server.\n\n\u003e **Note:** See [documentation](https://docs.microsoft.com/azure/azure-sql/database/transparent-data-encryption-byok-overview) for important information on how handle lifecycle management of the keys to prevent data lockout.\n\n## Example Usage\n\n### With Service Managed Key\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"EastUs\",\n});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"example\", {\n    name: \"acctest-vnet1-mssql\",\n    resourceGroupName: example.name,\n    addressSpaces: [\"10.0.0.0/16\"],\n    location: test.location,\n});\nconst exampleSubnet = new azure.network.Subnet(\"example\", {\n    name: \"subnet1-mssql\",\n    resourceGroupName: example.name,\n    virtualNetworkName: exampleVirtualNetwork.name,\n    addressPrefixes: [\"10.0.0.0/24\"],\n    delegations: [{\n        name: \"managedinstancedelegation\",\n        serviceDelegation: {\n            name: \"Microsoft.Sql/managedInstances\",\n            actions: [\n                \"Microsoft.Network/virtualNetworks/subnets/join/action\",\n                \"Microsoft.Network/virtualNetworks/subnets/prepareNetworkPolicies/action\",\n                \"Microsoft.Network/virtualNetworks/subnets/unprepareNetworkPolicies/action\",\n            ],\n        },\n    }],\n});\nconst exampleManagedInstance = new azure.mssql.ManagedInstance(\"example\", {\n    name: \"mssqlinstance\",\n    resourceGroupName: example.name,\n    location: example.location,\n    licenseType: \"BasePrice\",\n    skuName: \"GP_Gen5\",\n    storageSizeInGb: 32,\n    subnetId: exampleSubnet.id,\n    vcores: 4,\n    administratorLogin: \"missadministrator\",\n    administratorLoginPassword: \"NCC-1701-D\",\n    identity: {\n        type: \"SystemAssigned\",\n    },\n});\nconst exampleManagedInstanceTransparentDataEncryption = new azure.mssql.ManagedInstanceTransparentDataEncryption(\"example\", {managedInstanceId: exampleManagedInstance.id});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"EastUs\")\nexample_virtual_network = azure.network.VirtualNetwork(\"example\",\n    name=\"acctest-vnet1-mssql\",\n    resource_group_name=example.name,\n    address_spaces=[\"10.0.0.0/16\"],\n    location=test[\"location\"])\nexample_subnet = azure.network.Subnet(\"example\",\n    name=\"subnet1-mssql\",\n    resource_group_name=example.name,\n    virtual_network_name=example_virtual_network.name,\n    address_prefixes=[\"10.0.0.0/24\"],\n    delegations=[{\n        \"name\": \"managedinstancedelegation\",\n        \"service_delegation\": {\n            \"name\": \"Microsoft.Sql/managedInstances\",\n            \"actions\": [\n                \"Microsoft.Network/virtualNetworks/subnets/join/action\",\n                \"Microsoft.Network/virtualNetworks/subnets/prepareNetworkPolicies/action\",\n                \"Microsoft.Network/virtualNetworks/subnets/unprepareNetworkPolicies/action\",\n            ],\n        },\n    }])\nexample_managed_instance = azure.mssql.ManagedInstance(\"example\",\n    name=\"mssqlinstance\",\n    resource_group_name=example.name,\n    location=example.location,\n    license_type=\"BasePrice\",\n    sku_name=\"GP_Gen5\",\n    storage_size_in_gb=32,\n    subnet_id=example_subnet.id,\n    vcores=4,\n    administrator_login=\"missadministrator\",\n    administrator_login_password=\"NCC-1701-D\",\n    identity={\n        \"type\": \"SystemAssigned\",\n    })\nexample_managed_instance_transparent_data_encryption = azure.mssql.ManagedInstanceTransparentDataEncryption(\"example\", managed_instance_id=example_managed_instance.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"EastUs\",\n    });\n\n    var exampleVirtualNetwork = new Azure.Network.VirtualNetwork(\"example\", new()\n    {\n        Name = \"acctest-vnet1-mssql\",\n        ResourceGroupName = example.Name,\n        AddressSpaces = new[]\n        {\n            \"10.0.0.0/16\",\n        },\n        Location = test.Location,\n    });\n\n    var exampleSubnet = new Azure.Network.Subnet(\"example\", new()\n    {\n        Name = \"subnet1-mssql\",\n        ResourceGroupName = example.Name,\n        VirtualNetworkName = exampleVirtualNetwork.Name,\n        AddressPrefixes = new[]\n        {\n            \"10.0.0.0/24\",\n        },\n        Delegations = new[]\n        {\n            new Azure.Network.Inputs.SubnetDelegationArgs\n            {\n                Name = \"managedinstancedelegation\",\n                ServiceDelegation = new Azure.Network.Inputs.SubnetDelegationServiceDelegationArgs\n                {\n                    Name = \"Microsoft.Sql/managedInstances\",\n                    Actions = new[]\n                    {\n                        \"Microsoft.Network/virtualNetworks/subnets/join/action\",\n                        \"Microsoft.Network/virtualNetworks/subnets/prepareNetworkPolicies/action\",\n                        \"Microsoft.Network/virtualNetworks/subnets/unprepareNetworkPolicies/action\",\n                    },\n                },\n            },\n        },\n    });\n\n    var exampleManagedInstance = new Azure.MSSql.ManagedInstance(\"example\", new()\n    {\n        Name = \"mssqlinstance\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        LicenseType = \"BasePrice\",\n        SkuName = \"GP_Gen5\",\n        StorageSizeInGb = 32,\n        SubnetId = exampleSubnet.Id,\n        Vcores = 4,\n        AdministratorLogin = \"missadministrator\",\n        AdministratorLoginPassword = \"NCC-1701-D\",\n        Identity = new Azure.MSSql.Inputs.ManagedInstanceIdentityArgs\n        {\n            Type = \"SystemAssigned\",\n        },\n    });\n\n    var exampleManagedInstanceTransparentDataEncryption = new Azure.MSSql.ManagedInstanceTransparentDataEncryption(\"example\", new()\n    {\n        ManagedInstanceId = exampleManagedInstance.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/mssql\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"EastUs\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, \"example\", \u0026network.VirtualNetworkArgs{\n\t\t\tName:              pulumi.String(\"acctest-vnet1-mssql\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tAddressSpaces: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.0.0/16\"),\n\t\t\t},\n\t\t\tLocation: pulumi.Any(test.Location),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSubnet, err := network.NewSubnet(ctx, \"example\", \u0026network.SubnetArgs{\n\t\t\tName:               pulumi.String(\"subnet1-mssql\"),\n\t\t\tResourceGroupName:  example.Name,\n\t\t\tVirtualNetworkName: exampleVirtualNetwork.Name,\n\t\t\tAddressPrefixes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.0.0/24\"),\n\t\t\t},\n\t\t\tDelegations: network.SubnetDelegationArray{\n\t\t\t\t\u0026network.SubnetDelegationArgs{\n\t\t\t\t\tName: pulumi.String(\"managedinstancedelegation\"),\n\t\t\t\t\tServiceDelegation: \u0026network.SubnetDelegationServiceDelegationArgs{\n\t\t\t\t\t\tName: pulumi.String(\"Microsoft.Sql/managedInstances\"),\n\t\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"Microsoft.Network/virtualNetworks/subnets/join/action\"),\n\t\t\t\t\t\t\tpulumi.String(\"Microsoft.Network/virtualNetworks/subnets/prepareNetworkPolicies/action\"),\n\t\t\t\t\t\t\tpulumi.String(\"Microsoft.Network/virtualNetworks/subnets/unprepareNetworkPolicies/action\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleManagedInstance, err := mssql.NewManagedInstance(ctx, \"example\", \u0026mssql.ManagedInstanceArgs{\n\t\t\tName:                       pulumi.String(\"mssqlinstance\"),\n\t\t\tResourceGroupName:          example.Name,\n\t\t\tLocation:                   example.Location,\n\t\t\tLicenseType:                pulumi.String(\"BasePrice\"),\n\t\t\tSkuName:                    pulumi.String(\"GP_Gen5\"),\n\t\t\tStorageSizeInGb:            pulumi.Int(32),\n\t\t\tSubnetId:                   exampleSubnet.ID(),\n\t\t\tVcores:                     pulumi.Int(4),\n\t\t\tAdministratorLogin:         pulumi.String(\"missadministrator\"),\n\t\t\tAdministratorLoginPassword: pulumi.String(\"NCC-1701-D\"),\n\t\t\tIdentity: \u0026mssql.ManagedInstanceIdentityArgs{\n\t\t\t\tType: pulumi.String(\"SystemAssigned\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = mssql.NewManagedInstanceTransparentDataEncryption(ctx, \"example\", \u0026mssql.ManagedInstanceTransparentDataEncryptionArgs{\n\t\t\tManagedInstanceId: exampleManagedInstance.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.VirtualNetwork;\nimport com.pulumi.azure.network.VirtualNetworkArgs;\nimport com.pulumi.azure.network.Subnet;\nimport com.pulumi.azure.network.SubnetArgs;\nimport com.pulumi.azure.network.inputs.SubnetDelegationArgs;\nimport com.pulumi.azure.network.inputs.SubnetDelegationServiceDelegationArgs;\nimport com.pulumi.azure.mssql.ManagedInstance;\nimport com.pulumi.azure.mssql.ManagedInstanceArgs;\nimport com.pulumi.azure.mssql.inputs.ManagedInstanceIdentityArgs;\nimport com.pulumi.azure.mssql.ManagedInstanceTransparentDataEncryption;\nimport com.pulumi.azure.mssql.ManagedInstanceTransparentDataEncryptionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"EastUs\")\n            .build());\n\n        var exampleVirtualNetwork = new VirtualNetwork(\"exampleVirtualNetwork\", VirtualNetworkArgs.builder()\n            .name(\"acctest-vnet1-mssql\")\n            .resourceGroupName(example.name())\n            .addressSpaces(\"10.0.0.0/16\")\n            .location(test.location())\n            .build());\n\n        var exampleSubnet = new Subnet(\"exampleSubnet\", SubnetArgs.builder()\n            .name(\"subnet1-mssql\")\n            .resourceGroupName(example.name())\n            .virtualNetworkName(exampleVirtualNetwork.name())\n            .addressPrefixes(\"10.0.0.0/24\")\n            .delegations(SubnetDelegationArgs.builder()\n                .name(\"managedinstancedelegation\")\n                .serviceDelegation(SubnetDelegationServiceDelegationArgs.builder()\n                    .name(\"Microsoft.Sql/managedInstances\")\n                    .actions(                    \n                        \"Microsoft.Network/virtualNetworks/subnets/join/action\",\n                        \"Microsoft.Network/virtualNetworks/subnets/prepareNetworkPolicies/action\",\n                        \"Microsoft.Network/virtualNetworks/subnets/unprepareNetworkPolicies/action\")\n                    .build())\n                .build())\n            .build());\n\n        var exampleManagedInstance = new ManagedInstance(\"exampleManagedInstance\", ManagedInstanceArgs.builder()\n            .name(\"mssqlinstance\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .licenseType(\"BasePrice\")\n            .skuName(\"GP_Gen5\")\n            .storageSizeInGb(32)\n            .subnetId(exampleSubnet.id())\n            .vcores(4)\n            .administratorLogin(\"missadministrator\")\n            .administratorLoginPassword(\"NCC-1701-D\")\n            .identity(ManagedInstanceIdentityArgs.builder()\n                .type(\"SystemAssigned\")\n                .build())\n            .build());\n\n        var exampleManagedInstanceTransparentDataEncryption = new ManagedInstanceTransparentDataEncryption(\"exampleManagedInstanceTransparentDataEncryption\", ManagedInstanceTransparentDataEncryptionArgs.builder()\n            .managedInstanceId(exampleManagedInstance.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: EastUs\n  exampleVirtualNetwork:\n    type: azure:network:VirtualNetwork\n    name: example\n    properties:\n      name: acctest-vnet1-mssql\n      resourceGroupName: ${example.name}\n      addressSpaces:\n        - 10.0.0.0/16\n      location: ${test.location}\n  exampleSubnet:\n    type: azure:network:Subnet\n    name: example\n    properties:\n      name: subnet1-mssql\n      resourceGroupName: ${example.name}\n      virtualNetworkName: ${exampleVirtualNetwork.name}\n      addressPrefixes:\n        - 10.0.0.0/24\n      delegations:\n        - name: managedinstancedelegation\n          serviceDelegation:\n            name: Microsoft.Sql/managedInstances\n            actions:\n              - Microsoft.Network/virtualNetworks/subnets/join/action\n              - Microsoft.Network/virtualNetworks/subnets/prepareNetworkPolicies/action\n              - Microsoft.Network/virtualNetworks/subnets/unprepareNetworkPolicies/action\n  exampleManagedInstance:\n    type: azure:mssql:ManagedInstance\n    name: example\n    properties:\n      name: mssqlinstance\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      licenseType: BasePrice\n      skuName: GP_Gen5\n      storageSizeInGb: 32\n      subnetId: ${exampleSubnet.id}\n      vcores: 4\n      administratorLogin: missadministrator\n      administratorLoginPassword: NCC-1701-D\n      identity:\n        type: SystemAssigned\n  exampleManagedInstanceTransparentDataEncryption:\n    type: azure:mssql:ManagedInstanceTransparentDataEncryption\n    name: example\n    properties:\n      managedInstanceId: ${exampleManagedInstance.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\n### With Customer Managed Key\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst current = azure.core.getClientConfig({});\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"EastUs\",\n});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"example\", {\n    name: \"acctest-vnet1-mssql\",\n    resourceGroupName: example.name,\n    addressSpaces: [\"10.0.0.0/16\"],\n    location: test.location,\n});\nconst exampleSubnet = new azure.network.Subnet(\"example\", {\n    name: \"subnet1-mssql\",\n    resourceGroupName: example.name,\n    virtualNetworkName: exampleVirtualNetwork.name,\n    addressPrefixes: [\"10.0.0.0/24\"],\n    delegations: [{\n        name: \"managedinstancedelegation\",\n        serviceDelegation: {\n            name: \"Microsoft.Sql/managedInstances\",\n            actions: [\n                \"Microsoft.Network/virtualNetworks/subnets/join/action\",\n                \"Microsoft.Network/virtualNetworks/subnets/prepareNetworkPolicies/action\",\n                \"Microsoft.Network/virtualNetworks/subnets/unprepareNetworkPolicies/action\",\n            ],\n        },\n    }],\n});\nconst exampleManagedInstance = new azure.mssql.ManagedInstance(\"example\", {\n    name: \"mssqlinstance\",\n    resourceGroupName: example.name,\n    location: example.location,\n    licenseType: \"BasePrice\",\n    skuName: \"GP_Gen5\",\n    storageSizeInGb: 32,\n    subnetId: exampleSubnet.id,\n    vcores: 4,\n    administratorLogin: \"missadministrator\",\n    administratorLoginPassword: \"NCC-1701-D\",\n    identity: {\n        type: \"SystemAssigned\",\n    },\n});\n// Create a key vault with policies for the deployer to create a key \u0026 SQL Managed Instance to wrap/unwrap/get key\nconst exampleKeyVault = new azure.keyvault.KeyVault(\"example\", {\n    name: \"example\",\n    location: example.location,\n    resourceGroupName: example.name,\n    enabledForDiskEncryption: true,\n    tenantId: current.then(current =\u003e current.tenantId),\n    softDeleteRetentionDays: 7,\n    purgeProtectionEnabled: false,\n    skuName: \"standard\",\n    accessPolicies: [\n        {\n            tenantId: current.then(current =\u003e current.tenantId),\n            objectId: current.then(current =\u003e current.objectId),\n            keyPermissions: [\n                \"Get\",\n                \"List\",\n                \"Create\",\n                \"Delete\",\n                \"Update\",\n                \"Recover\",\n                \"Purge\",\n                \"GetRotationPolicy\",\n            ],\n        },\n        {\n            tenantId: exampleManagedInstance.identity.apply(identity =\u003e identity?.tenantId),\n            objectId: exampleManagedInstance.identity.apply(identity =\u003e identity?.principalId),\n            keyPermissions: [\n                \"Get\",\n                \"WrapKey\",\n                \"UnwrapKey\",\n            ],\n        },\n    ],\n});\nconst exampleKey = new azure.keyvault.Key(\"example\", {\n    name: \"byok\",\n    keyVaultId: exampleKeyVault.id,\n    keyType: \"RSA\",\n    keySize: 2048,\n    keyOpts: [\n        \"unwrapKey\",\n        \"wrapKey\",\n    ],\n}, {\n    dependsOn: [exampleKeyVault],\n});\nconst exampleManagedInstanceTransparentDataEncryption = new azure.mssql.ManagedInstanceTransparentDataEncryption(\"example\", {\n    managedInstanceId: exampleManagedInstance.id,\n    keyVaultKeyId: exampleKey.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\ncurrent = azure.core.get_client_config()\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"EastUs\")\nexample_virtual_network = azure.network.VirtualNetwork(\"example\",\n    name=\"acctest-vnet1-mssql\",\n    resource_group_name=example.name,\n    address_spaces=[\"10.0.0.0/16\"],\n    location=test[\"location\"])\nexample_subnet = azure.network.Subnet(\"example\",\n    name=\"subnet1-mssql\",\n    resource_group_name=example.name,\n    virtual_network_name=example_virtual_network.name,\n    address_prefixes=[\"10.0.0.0/24\"],\n    delegations=[{\n        \"name\": \"managedinstancedelegation\",\n        \"service_delegation\": {\n            \"name\": \"Microsoft.Sql/managedInstances\",\n            \"actions\": [\n                \"Microsoft.Network/virtualNetworks/subnets/join/action\",\n                \"Microsoft.Network/virtualNetworks/subnets/prepareNetworkPolicies/action\",\n                \"Microsoft.Network/virtualNetworks/subnets/unprepareNetworkPolicies/action\",\n            ],\n        },\n    }])\nexample_managed_instance = azure.mssql.ManagedInstance(\"example\",\n    name=\"mssqlinstance\",\n    resource_group_name=example.name,\n    location=example.location,\n    license_type=\"BasePrice\",\n    sku_name=\"GP_Gen5\",\n    storage_size_in_gb=32,\n    subnet_id=example_subnet.id,\n    vcores=4,\n    administrator_login=\"missadministrator\",\n    administrator_login_password=\"NCC-1701-D\",\n    identity={\n        \"type\": \"SystemAssigned\",\n    })\n# Create a key vault with policies for the deployer to create a key \u0026 SQL Managed Instance to wrap/unwrap/get key\nexample_key_vault = azure.keyvault.KeyVault(\"example\",\n    name=\"example\",\n    location=example.location,\n    resource_group_name=example.name,\n    enabled_for_disk_encryption=True,\n    tenant_id=current.tenant_id,\n    soft_delete_retention_days=7,\n    purge_protection_enabled=False,\n    sku_name=\"standard\",\n    access_policies=[\n        {\n            \"tenant_id\": current.tenant_id,\n            \"object_id\": current.object_id,\n            \"key_permissions\": [\n                \"Get\",\n                \"List\",\n                \"Create\",\n                \"Delete\",\n                \"Update\",\n                \"Recover\",\n                \"Purge\",\n                \"GetRotationPolicy\",\n            ],\n        },\n        {\n            \"tenant_id\": example_managed_instance.identity.tenant_id,\n            \"object_id\": example_managed_instance.identity.principal_id,\n            \"key_permissions\": [\n                \"Get\",\n                \"WrapKey\",\n                \"UnwrapKey\",\n            ],\n        },\n    ])\nexample_key = azure.keyvault.Key(\"example\",\n    name=\"byok\",\n    key_vault_id=example_key_vault.id,\n    key_type=\"RSA\",\n    key_size=2048,\n    key_opts=[\n        \"unwrapKey\",\n        \"wrapKey\",\n    ],\n    opts = pulumi.ResourceOptions(depends_on=[example_key_vault]))\nexample_managed_instance_transparent_data_encryption = azure.mssql.ManagedInstanceTransparentDataEncryption(\"example\",\n    managed_instance_id=example_managed_instance.id,\n    key_vault_key_id=example_key.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var current = Azure.Core.GetClientConfig.Invoke();\n\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"EastUs\",\n    });\n\n    var exampleVirtualNetwork = new Azure.Network.VirtualNetwork(\"example\", new()\n    {\n        Name = \"acctest-vnet1-mssql\",\n        ResourceGroupName = example.Name,\n        AddressSpaces = new[]\n        {\n            \"10.0.0.0/16\",\n        },\n        Location = test.Location,\n    });\n\n    var exampleSubnet = new Azure.Network.Subnet(\"example\", new()\n    {\n        Name = \"subnet1-mssql\",\n        ResourceGroupName = example.Name,\n        VirtualNetworkName = exampleVirtualNetwork.Name,\n        AddressPrefixes = new[]\n        {\n            \"10.0.0.0/24\",\n        },\n        Delegations = new[]\n        {\n            new Azure.Network.Inputs.SubnetDelegationArgs\n            {\n                Name = \"managedinstancedelegation\",\n                ServiceDelegation = new Azure.Network.Inputs.SubnetDelegationServiceDelegationArgs\n                {\n                    Name = \"Microsoft.Sql/managedInstances\",\n                    Actions = new[]\n                    {\n                        \"Microsoft.Network/virtualNetworks/subnets/join/action\",\n                        \"Microsoft.Network/virtualNetworks/subnets/prepareNetworkPolicies/action\",\n                        \"Microsoft.Network/virtualNetworks/subnets/unprepareNetworkPolicies/action\",\n                    },\n                },\n            },\n        },\n    });\n\n    var exampleManagedInstance = new Azure.MSSql.ManagedInstance(\"example\", new()\n    {\n        Name = \"mssqlinstance\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        LicenseType = \"BasePrice\",\n        SkuName = \"GP_Gen5\",\n        StorageSizeInGb = 32,\n        SubnetId = exampleSubnet.Id,\n        Vcores = 4,\n        AdministratorLogin = \"missadministrator\",\n        AdministratorLoginPassword = \"NCC-1701-D\",\n        Identity = new Azure.MSSql.Inputs.ManagedInstanceIdentityArgs\n        {\n            Type = \"SystemAssigned\",\n        },\n    });\n\n    // Create a key vault with policies for the deployer to create a key \u0026 SQL Managed Instance to wrap/unwrap/get key\n    var exampleKeyVault = new Azure.KeyVault.KeyVault(\"example\", new()\n    {\n        Name = \"example\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        EnabledForDiskEncryption = true,\n        TenantId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.TenantId),\n        SoftDeleteRetentionDays = 7,\n        PurgeProtectionEnabled = false,\n        SkuName = \"standard\",\n        AccessPolicies = new[]\n        {\n            new Azure.KeyVault.Inputs.KeyVaultAccessPolicyArgs\n            {\n                TenantId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.TenantId),\n                ObjectId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.ObjectId),\n                KeyPermissions = new[]\n                {\n                    \"Get\",\n                    \"List\",\n                    \"Create\",\n                    \"Delete\",\n                    \"Update\",\n                    \"Recover\",\n                    \"Purge\",\n                    \"GetRotationPolicy\",\n                },\n            },\n            new Azure.KeyVault.Inputs.KeyVaultAccessPolicyArgs\n            {\n                TenantId = exampleManagedInstance.Identity.Apply(identity =\u003e identity?.TenantId),\n                ObjectId = exampleManagedInstance.Identity.Apply(identity =\u003e identity?.PrincipalId),\n                KeyPermissions = new[]\n                {\n                    \"Get\",\n                    \"WrapKey\",\n                    \"UnwrapKey\",\n                },\n            },\n        },\n    });\n\n    var exampleKey = new Azure.KeyVault.Key(\"example\", new()\n    {\n        Name = \"byok\",\n        KeyVaultId = exampleKeyVault.Id,\n        KeyType = \"RSA\",\n        KeySize = 2048,\n        KeyOpts = new[]\n        {\n            \"unwrapKey\",\n            \"wrapKey\",\n        },\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            exampleKeyVault,\n        },\n    });\n\n    var exampleManagedInstanceTransparentDataEncryption = new Azure.MSSql.ManagedInstanceTransparentDataEncryption(\"example\", new()\n    {\n        ManagedInstanceId = exampleManagedInstance.Id,\n        KeyVaultKeyId = exampleKey.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/keyvault\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/mssql\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := core.GetClientConfig(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"EastUs\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, \"example\", \u0026network.VirtualNetworkArgs{\n\t\t\tName:              pulumi.String(\"acctest-vnet1-mssql\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tAddressSpaces: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.0.0/16\"),\n\t\t\t},\n\t\t\tLocation: pulumi.Any(test.Location),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSubnet, err := network.NewSubnet(ctx, \"example\", \u0026network.SubnetArgs{\n\t\t\tName:               pulumi.String(\"subnet1-mssql\"),\n\t\t\tResourceGroupName:  example.Name,\n\t\t\tVirtualNetworkName: exampleVirtualNetwork.Name,\n\t\t\tAddressPrefixes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.0.0/24\"),\n\t\t\t},\n\t\t\tDelegations: network.SubnetDelegationArray{\n\t\t\t\t\u0026network.SubnetDelegationArgs{\n\t\t\t\t\tName: pulumi.String(\"managedinstancedelegation\"),\n\t\t\t\t\tServiceDelegation: \u0026network.SubnetDelegationServiceDelegationArgs{\n\t\t\t\t\t\tName: pulumi.String(\"Microsoft.Sql/managedInstances\"),\n\t\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"Microsoft.Network/virtualNetworks/subnets/join/action\"),\n\t\t\t\t\t\t\tpulumi.String(\"Microsoft.Network/virtualNetworks/subnets/prepareNetworkPolicies/action\"),\n\t\t\t\t\t\t\tpulumi.String(\"Microsoft.Network/virtualNetworks/subnets/unprepareNetworkPolicies/action\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleManagedInstance, err := mssql.NewManagedInstance(ctx, \"example\", \u0026mssql.ManagedInstanceArgs{\n\t\t\tName:                       pulumi.String(\"mssqlinstance\"),\n\t\t\tResourceGroupName:          example.Name,\n\t\t\tLocation:                   example.Location,\n\t\t\tLicenseType:                pulumi.String(\"BasePrice\"),\n\t\t\tSkuName:                    pulumi.String(\"GP_Gen5\"),\n\t\t\tStorageSizeInGb:            pulumi.Int(32),\n\t\t\tSubnetId:                   exampleSubnet.ID(),\n\t\t\tVcores:                     pulumi.Int(4),\n\t\t\tAdministratorLogin:         pulumi.String(\"missadministrator\"),\n\t\t\tAdministratorLoginPassword: pulumi.String(\"NCC-1701-D\"),\n\t\t\tIdentity: \u0026mssql.ManagedInstanceIdentityArgs{\n\t\t\t\tType: pulumi.String(\"SystemAssigned\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create a key vault with policies for the deployer to create a key \u0026 SQL Managed Instance to wrap/unwrap/get key\n\t\texampleKeyVault, err := keyvault.NewKeyVault(ctx, \"example\", \u0026keyvault.KeyVaultArgs{\n\t\t\tName:                     pulumi.String(\"example\"),\n\t\t\tLocation:                 example.Location,\n\t\t\tResourceGroupName:        example.Name,\n\t\t\tEnabledForDiskEncryption: pulumi.Bool(true),\n\t\t\tTenantId:                 pulumi.String(current.TenantId),\n\t\t\tSoftDeleteRetentionDays:  pulumi.Int(7),\n\t\t\tPurgeProtectionEnabled:   pulumi.Bool(false),\n\t\t\tSkuName:                  pulumi.String(\"standard\"),\n\t\t\tAccessPolicies: keyvault.KeyVaultAccessPolicyArray{\n\t\t\t\t\u0026keyvault.KeyVaultAccessPolicyArgs{\n\t\t\t\t\tTenantId: pulumi.String(current.TenantId),\n\t\t\t\t\tObjectId: pulumi.String(current.ObjectId),\n\t\t\t\t\tKeyPermissions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"Get\"),\n\t\t\t\t\t\tpulumi.String(\"List\"),\n\t\t\t\t\t\tpulumi.String(\"Create\"),\n\t\t\t\t\t\tpulumi.String(\"Delete\"),\n\t\t\t\t\t\tpulumi.String(\"Update\"),\n\t\t\t\t\t\tpulumi.String(\"Recover\"),\n\t\t\t\t\t\tpulumi.String(\"Purge\"),\n\t\t\t\t\t\tpulumi.String(\"GetRotationPolicy\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026keyvault.KeyVaultAccessPolicyArgs{\n\t\t\t\t\tTenantId: exampleManagedInstance.Identity.ApplyT(func(identity mssql.ManagedInstanceIdentity) (*string, error) {\n\t\t\t\t\t\treturn \u0026identity.TenantId, nil\n\t\t\t\t\t}).(pulumi.StringPtrOutput),\n\t\t\t\t\tObjectId: exampleManagedInstance.Identity.ApplyT(func(identity mssql.ManagedInstanceIdentity) (*string, error) {\n\t\t\t\t\t\treturn \u0026identity.PrincipalId, nil\n\t\t\t\t\t}).(pulumi.StringPtrOutput),\n\t\t\t\t\tKeyPermissions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"Get\"),\n\t\t\t\t\t\tpulumi.String(\"WrapKey\"),\n\t\t\t\t\t\tpulumi.String(\"UnwrapKey\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleKey, err := keyvault.NewKey(ctx, \"example\", \u0026keyvault.KeyArgs{\n\t\t\tName:       pulumi.String(\"byok\"),\n\t\t\tKeyVaultId: exampleKeyVault.ID(),\n\t\t\tKeyType:    pulumi.String(\"RSA\"),\n\t\t\tKeySize:    pulumi.Int(2048),\n\t\t\tKeyOpts: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"unwrapKey\"),\n\t\t\t\tpulumi.String(\"wrapKey\"),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleKeyVault,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = mssql.NewManagedInstanceTransparentDataEncryption(ctx, \"example\", \u0026mssql.ManagedInstanceTransparentDataEncryptionArgs{\n\t\t\tManagedInstanceId: exampleManagedInstance.ID(),\n\t\t\tKeyVaultKeyId:     exampleKey.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.VirtualNetwork;\nimport com.pulumi.azure.network.VirtualNetworkArgs;\nimport com.pulumi.azure.network.Subnet;\nimport com.pulumi.azure.network.SubnetArgs;\nimport com.pulumi.azure.network.inputs.SubnetDelegationArgs;\nimport com.pulumi.azure.network.inputs.SubnetDelegationServiceDelegationArgs;\nimport com.pulumi.azure.mssql.ManagedInstance;\nimport com.pulumi.azure.mssql.ManagedInstanceArgs;\nimport com.pulumi.azure.mssql.inputs.ManagedInstanceIdentityArgs;\nimport com.pulumi.azure.keyvault.KeyVault;\nimport com.pulumi.azure.keyvault.KeyVaultArgs;\nimport com.pulumi.azure.keyvault.inputs.KeyVaultAccessPolicyArgs;\nimport com.pulumi.azure.keyvault.Key;\nimport com.pulumi.azure.keyvault.KeyArgs;\nimport com.pulumi.azure.mssql.ManagedInstanceTransparentDataEncryption;\nimport com.pulumi.azure.mssql.ManagedInstanceTransparentDataEncryptionArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var current = CoreFunctions.getClientConfig(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"EastUs\")\n            .build());\n\n        var exampleVirtualNetwork = new VirtualNetwork(\"exampleVirtualNetwork\", VirtualNetworkArgs.builder()\n            .name(\"acctest-vnet1-mssql\")\n            .resourceGroupName(example.name())\n            .addressSpaces(\"10.0.0.0/16\")\n            .location(test.location())\n            .build());\n\n        var exampleSubnet = new Subnet(\"exampleSubnet\", SubnetArgs.builder()\n            .name(\"subnet1-mssql\")\n            .resourceGroupName(example.name())\n            .virtualNetworkName(exampleVirtualNetwork.name())\n            .addressPrefixes(\"10.0.0.0/24\")\n            .delegations(SubnetDelegationArgs.builder()\n                .name(\"managedinstancedelegation\")\n                .serviceDelegation(SubnetDelegationServiceDelegationArgs.builder()\n                    .name(\"Microsoft.Sql/managedInstances\")\n                    .actions(                    \n                        \"Microsoft.Network/virtualNetworks/subnets/join/action\",\n                        \"Microsoft.Network/virtualNetworks/subnets/prepareNetworkPolicies/action\",\n                        \"Microsoft.Network/virtualNetworks/subnets/unprepareNetworkPolicies/action\")\n                    .build())\n                .build())\n            .build());\n\n        var exampleManagedInstance = new ManagedInstance(\"exampleManagedInstance\", ManagedInstanceArgs.builder()\n            .name(\"mssqlinstance\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .licenseType(\"BasePrice\")\n            .skuName(\"GP_Gen5\")\n            .storageSizeInGb(32)\n            .subnetId(exampleSubnet.id())\n            .vcores(4)\n            .administratorLogin(\"missadministrator\")\n            .administratorLoginPassword(\"NCC-1701-D\")\n            .identity(ManagedInstanceIdentityArgs.builder()\n                .type(\"SystemAssigned\")\n                .build())\n            .build());\n\n        // Create a key vault with policies for the deployer to create a key \u0026 SQL Managed Instance to wrap/unwrap/get key\n        var exampleKeyVault = new KeyVault(\"exampleKeyVault\", KeyVaultArgs.builder()\n            .name(\"example\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .enabledForDiskEncryption(true)\n            .tenantId(current.tenantId())\n            .softDeleteRetentionDays(7)\n            .purgeProtectionEnabled(false)\n            .skuName(\"standard\")\n            .accessPolicies(            \n                KeyVaultAccessPolicyArgs.builder()\n                    .tenantId(current.tenantId())\n                    .objectId(current.objectId())\n                    .keyPermissions(                    \n                        \"Get\",\n                        \"List\",\n                        \"Create\",\n                        \"Delete\",\n                        \"Update\",\n                        \"Recover\",\n                        \"Purge\",\n                        \"GetRotationPolicy\")\n                    .build(),\n                KeyVaultAccessPolicyArgs.builder()\n                    .tenantId(exampleManagedInstance.identity().applyValue(_identity -\u003e _identity.tenantId()))\n                    .objectId(exampleManagedInstance.identity().applyValue(_identity -\u003e _identity.principalId()))\n                    .keyPermissions(                    \n                        \"Get\",\n                        \"WrapKey\",\n                        \"UnwrapKey\")\n                    .build())\n            .build());\n\n        var exampleKey = new Key(\"exampleKey\", KeyArgs.builder()\n            .name(\"byok\")\n            .keyVaultId(exampleKeyVault.id())\n            .keyType(\"RSA\")\n            .keySize(2048)\n            .keyOpts(            \n                \"unwrapKey\",\n                \"wrapKey\")\n            .build(), CustomResourceOptions.builder()\n                .dependsOn(exampleKeyVault)\n                .build());\n\n        var exampleManagedInstanceTransparentDataEncryption = new ManagedInstanceTransparentDataEncryption(\"exampleManagedInstanceTransparentDataEncryption\", ManagedInstanceTransparentDataEncryptionArgs.builder()\n            .managedInstanceId(exampleManagedInstance.id())\n            .keyVaultKeyId(exampleKey.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: EastUs\n  exampleVirtualNetwork:\n    type: azure:network:VirtualNetwork\n    name: example\n    properties:\n      name: acctest-vnet1-mssql\n      resourceGroupName: ${example.name}\n      addressSpaces:\n        - 10.0.0.0/16\n      location: ${test.location}\n  exampleSubnet:\n    type: azure:network:Subnet\n    name: example\n    properties:\n      name: subnet1-mssql\n      resourceGroupName: ${example.name}\n      virtualNetworkName: ${exampleVirtualNetwork.name}\n      addressPrefixes:\n        - 10.0.0.0/24\n      delegations:\n        - name: managedinstancedelegation\n          serviceDelegation:\n            name: Microsoft.Sql/managedInstances\n            actions:\n              - Microsoft.Network/virtualNetworks/subnets/join/action\n              - Microsoft.Network/virtualNetworks/subnets/prepareNetworkPolicies/action\n              - Microsoft.Network/virtualNetworks/subnets/unprepareNetworkPolicies/action\n  exampleManagedInstance:\n    type: azure:mssql:ManagedInstance\n    name: example\n    properties:\n      name: mssqlinstance\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      licenseType: BasePrice\n      skuName: GP_Gen5\n      storageSizeInGb: 32\n      subnetId: ${exampleSubnet.id}\n      vcores: 4\n      administratorLogin: missadministrator\n      administratorLoginPassword: NCC-1701-D\n      identity:\n        type: SystemAssigned\n  # Create a key vault with policies for the deployer to create a key \u0026 SQL Managed Instance to wrap/unwrap/get key\n  exampleKeyVault:\n    type: azure:keyvault:KeyVault\n    name: example\n    properties:\n      name: example\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      enabledForDiskEncryption: true\n      tenantId: ${current.tenantId}\n      softDeleteRetentionDays: 7\n      purgeProtectionEnabled: false\n      skuName: standard\n      accessPolicies:\n        - tenantId: ${current.tenantId}\n          objectId: ${current.objectId}\n          keyPermissions:\n            - Get\n            - List\n            - Create\n            - Delete\n            - Update\n            - Recover\n            - Purge\n            - GetRotationPolicy\n        - tenantId: ${exampleManagedInstance.identity.tenantId}\n          objectId: ${exampleManagedInstance.identity.principalId}\n          keyPermissions:\n            - Get\n            - WrapKey\n            - UnwrapKey\n  exampleKey:\n    type: azure:keyvault:Key\n    name: example\n    properties:\n      name: byok\n      keyVaultId: ${exampleKeyVault.id}\n      keyType: RSA\n      keySize: 2048\n      keyOpts:\n        - unwrapKey\n        - wrapKey\n    options:\n      dependsOn:\n        - ${exampleKeyVault}\n  exampleManagedInstanceTransparentDataEncryption:\n    type: azure:mssql:ManagedInstanceTransparentDataEncryption\n    name: example\n    properties:\n      managedInstanceId: ${exampleManagedInstance.id}\n      keyVaultKeyId: ${exampleKey.id}\nvariables:\n  current:\n    fn::invoke:\n      function: azure:core:getClientConfig\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Sql` - 2023-08-01-preview\n\n## Import\n\n\u003e **Note:** This resource does not need to be imported to manage it, however the import will work.\n\nSQL Managed Instance Transparent Data Encryption can be imported using the resource id, e.g.\n\n```sh\n$ pulumi import azure:mssql/managedInstanceTransparentDataEncryption:ManagedInstanceTransparentDataEncryption example /subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/group1/providers/Microsoft.Sql/managedInstances/instance1/encryptionProtector/current\n```\n\n","properties":{"autoRotationEnabled":{"type":"boolean","description":"When enabled, the SQL Managed Instance will continuously check the key vault for any new versions of the key being used as the TDE protector. If a new version of the key is detected, the TDE protector on the SQL Managed Instance will be automatically rotated to the latest key version within 60 minutes.\n"},"keyVaultKeyId":{"type":"string","description":"To use customer managed keys from Azure Key Vault, provide the AKV Key ID. To use service managed keys, omit this field.\n\n\u003e **Note:** In order to use customer managed keys, the identity of the MSSQL Managed Instance must have the following permissions on the key vault: 'get', 'wrapKey' and 'unwrapKey'\n\n\u003e **Note:** If \u003cspan pulumi-lang-nodejs=\"`managedInstanceId`\" pulumi-lang-dotnet=\"`ManagedInstanceId`\" pulumi-lang-go=\"`managedInstanceId`\" pulumi-lang-python=\"`managed_instance_id`\" pulumi-lang-yaml=\"`managedInstanceId`\" pulumi-lang-java=\"`managedInstanceId`\"\u003e`managed_instance_id`\u003c/span\u003e denotes a secondary instance deployed for disaster recovery purposes, then the \u003cspan pulumi-lang-nodejs=\"`keyVaultKeyId`\" pulumi-lang-dotnet=\"`KeyVaultKeyId`\" pulumi-lang-go=\"`keyVaultKeyId`\" pulumi-lang-python=\"`key_vault_key_id`\" pulumi-lang-yaml=\"`keyVaultKeyId`\" pulumi-lang-java=\"`keyVaultKeyId`\"\u003e`key_vault_key_id`\u003c/span\u003e should be the same key used for the primary instance's transparent data encryption. Both primary and secondary instances should be encrypted with same key material.\n"},"managedHsmKeyId":{"type":"string"},"managedInstanceId":{"type":"string","description":"Specifies the name of the MS SQL Managed Instance. Changing this forces a new resource to be created.\n"}},"required":["managedInstanceId"],"inputProperties":{"autoRotationEnabled":{"type":"boolean","description":"When enabled, the SQL Managed Instance will continuously check the key vault for any new versions of the key being used as the TDE protector. If a new version of the key is detected, the TDE protector on the SQL Managed Instance will be automatically rotated to the latest key version within 60 minutes.\n"},"keyVaultKeyId":{"type":"string","description":"To use customer managed keys from Azure Key Vault, provide the AKV Key ID. To use service managed keys, omit this field.\n\n\u003e **Note:** In order to use customer managed keys, the identity of the MSSQL Managed Instance must have the following permissions on the key vault: 'get', 'wrapKey' and 'unwrapKey'\n\n\u003e **Note:** If \u003cspan pulumi-lang-nodejs=\"`managedInstanceId`\" pulumi-lang-dotnet=\"`ManagedInstanceId`\" pulumi-lang-go=\"`managedInstanceId`\" pulumi-lang-python=\"`managed_instance_id`\" pulumi-lang-yaml=\"`managedInstanceId`\" pulumi-lang-java=\"`managedInstanceId`\"\u003e`managed_instance_id`\u003c/span\u003e denotes a secondary instance deployed for disaster recovery purposes, then the \u003cspan pulumi-lang-nodejs=\"`keyVaultKeyId`\" pulumi-lang-dotnet=\"`KeyVaultKeyId`\" pulumi-lang-go=\"`keyVaultKeyId`\" pulumi-lang-python=\"`key_vault_key_id`\" pulumi-lang-yaml=\"`keyVaultKeyId`\" pulumi-lang-java=\"`keyVaultKeyId`\"\u003e`key_vault_key_id`\u003c/span\u003e should be the same key used for the primary instance's transparent data encryption. Both primary and secondary instances should be encrypted with same key material.\n"},"managedHsmKeyId":{"type":"string"},"managedInstanceId":{"type":"string","description":"Specifies the name of the MS SQL Managed Instance. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["managedInstanceId"],"stateInputs":{"description":"Input properties used for looking up and filtering ManagedInstanceTransparentDataEncryption resources.\n","properties":{"autoRotationEnabled":{"type":"boolean","description":"When enabled, the SQL Managed Instance will continuously check the key vault for any new versions of the key being used as the TDE protector. If a new version of the key is detected, the TDE protector on the SQL Managed Instance will be automatically rotated to the latest key version within 60 minutes.\n"},"keyVaultKeyId":{"type":"string","description":"To use customer managed keys from Azure Key Vault, provide the AKV Key ID. To use service managed keys, omit this field.\n\n\u003e **Note:** In order to use customer managed keys, the identity of the MSSQL Managed Instance must have the following permissions on the key vault: 'get', 'wrapKey' and 'unwrapKey'\n\n\u003e **Note:** If \u003cspan pulumi-lang-nodejs=\"`managedInstanceId`\" pulumi-lang-dotnet=\"`ManagedInstanceId`\" pulumi-lang-go=\"`managedInstanceId`\" pulumi-lang-python=\"`managed_instance_id`\" pulumi-lang-yaml=\"`managedInstanceId`\" pulumi-lang-java=\"`managedInstanceId`\"\u003e`managed_instance_id`\u003c/span\u003e denotes a secondary instance deployed for disaster recovery purposes, then the \u003cspan pulumi-lang-nodejs=\"`keyVaultKeyId`\" pulumi-lang-dotnet=\"`KeyVaultKeyId`\" pulumi-lang-go=\"`keyVaultKeyId`\" pulumi-lang-python=\"`key_vault_key_id`\" pulumi-lang-yaml=\"`keyVaultKeyId`\" pulumi-lang-java=\"`keyVaultKeyId`\"\u003e`key_vault_key_id`\u003c/span\u003e should be the same key used for the primary instance's transparent data encryption. Both primary and secondary instances should be encrypted with same key material.\n"},"managedHsmKeyId":{"type":"string"},"managedInstanceId":{"type":"string","description":"Specifies the name of the MS SQL Managed Instance. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:mssql/managedInstanceVulnerabilityAssessment:ManagedInstanceVulnerabilityAssessment":{"description":"Manages the Vulnerability Assessment for an MS Managed Instance.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"example\", {\n    name: \"example\",\n    location: example.location,\n    resourceGroupName: example.name,\n    addressSpaces: [\"10.0.0.0/16\"],\n});\nconst exampleSubnet = new azure.network.Subnet(\"example\", {\n    name: \"example\",\n    resourceGroupName: example.name,\n    virtualNetworkName: exampleVirtualNetwork.name,\n    addressPrefixes: [\"10.0.2.0/24\"],\n});\nconst exampleManagedInstance = new azure.mssql.ManagedInstance(\"example\", {\n    name: \"exampleinstance\",\n    resourceGroupName: example.name,\n    location: example.location,\n    licenseType: \"BasePrice\",\n    skuName: \"GP_Gen5\",\n    storageSizeInGb: 32,\n    subnetId: exampleSubnet.id,\n    vcores: 4,\n    administratorLogin: \"missadministrator\",\n    administratorLoginPassword: \"NCC-1701-D\",\n});\nconst exampleAccount = new azure.storage.Account(\"example\", {\n    name: \"accteststorageaccount\",\n    resourceGroupName: example.name,\n    location: example.location,\n    accountTier: \"Standard\",\n    accountReplicationType: \"GRS\",\n});\nconst exampleContainer = new azure.storage.Container(\"example\", {\n    name: \"accteststoragecontainer\",\n    storageAccountName: exampleAccount.name,\n    containerAccessType: \"private\",\n});\nconst exampleManagedInstanceSecurityAlertPolicy = new azure.mssql.ManagedInstanceSecurityAlertPolicy(\"example\", {\n    resourceGroupName: testAzurermResourceGroup.name,\n    managedInstanceName: test.name,\n    enabled: true,\n    storageEndpoint: testAzurermStorageAccount.primaryBlobEndpoint,\n    storageAccountAccessKey: testAzurermStorageAccount.primaryAccessKey,\n    retentionDays: 30,\n});\nconst exampleManagedInstanceVulnerabilityAssessment = new azure.mssql.ManagedInstanceVulnerabilityAssessment(\"example\", {\n    managedInstanceId: exampleManagedInstance.id,\n    storageContainerPath: pulumi.interpolate`${exampleAccount.primaryBlobEndpoint}${exampleContainer.name}/`,\n    storageAccountAccessKey: exampleAccount.primaryAccessKey,\n    recurringScans: {\n        enabled: true,\n        emailSubscriptionAdmins: true,\n        emails: [\n            \"email@example1.com\",\n            \"email@example2.com\",\n        ],\n    },\n}, {\n    dependsOn: [exampleManagedInstanceSecurityAlertPolicy],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_virtual_network = azure.network.VirtualNetwork(\"example\",\n    name=\"example\",\n    location=example.location,\n    resource_group_name=example.name,\n    address_spaces=[\"10.0.0.0/16\"])\nexample_subnet = azure.network.Subnet(\"example\",\n    name=\"example\",\n    resource_group_name=example.name,\n    virtual_network_name=example_virtual_network.name,\n    address_prefixes=[\"10.0.2.0/24\"])\nexample_managed_instance = azure.mssql.ManagedInstance(\"example\",\n    name=\"exampleinstance\",\n    resource_group_name=example.name,\n    location=example.location,\n    license_type=\"BasePrice\",\n    sku_name=\"GP_Gen5\",\n    storage_size_in_gb=32,\n    subnet_id=example_subnet.id,\n    vcores=4,\n    administrator_login=\"missadministrator\",\n    administrator_login_password=\"NCC-1701-D\")\nexample_account = azure.storage.Account(\"example\",\n    name=\"accteststorageaccount\",\n    resource_group_name=example.name,\n    location=example.location,\n    account_tier=\"Standard\",\n    account_replication_type=\"GRS\")\nexample_container = azure.storage.Container(\"example\",\n    name=\"accteststoragecontainer\",\n    storage_account_name=example_account.name,\n    container_access_type=\"private\")\nexample_managed_instance_security_alert_policy = azure.mssql.ManagedInstanceSecurityAlertPolicy(\"example\",\n    resource_group_name=test_azurerm_resource_group[\"name\"],\n    managed_instance_name=test[\"name\"],\n    enabled=True,\n    storage_endpoint=test_azurerm_storage_account[\"primaryBlobEndpoint\"],\n    storage_account_access_key=test_azurerm_storage_account[\"primaryAccessKey\"],\n    retention_days=30)\nexample_managed_instance_vulnerability_assessment = azure.mssql.ManagedInstanceVulnerabilityAssessment(\"example\",\n    managed_instance_id=example_managed_instance.id,\n    storage_container_path=pulumi.Output.all(\n        primary_blob_endpoint=example_account.primary_blob_endpoint,\n        name=example_container.name\n).apply(lambda resolved_outputs: f\"{resolved_outputs['primary_blob_endpoint']}{resolved_outputs['name']}/\")\n,\n    storage_account_access_key=example_account.primary_access_key,\n    recurring_scans={\n        \"enabled\": True,\n        \"email_subscription_admins\": True,\n        \"emails\": [\n            \"email@example1.com\",\n            \"email@example2.com\",\n        ],\n    },\n    opts = pulumi.ResourceOptions(depends_on=[example_managed_instance_security_alert_policy]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleVirtualNetwork = new Azure.Network.VirtualNetwork(\"example\", new()\n    {\n        Name = \"example\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        AddressSpaces = new[]\n        {\n            \"10.0.0.0/16\",\n        },\n    });\n\n    var exampleSubnet = new Azure.Network.Subnet(\"example\", new()\n    {\n        Name = \"example\",\n        ResourceGroupName = example.Name,\n        VirtualNetworkName = exampleVirtualNetwork.Name,\n        AddressPrefixes = new[]\n        {\n            \"10.0.2.0/24\",\n        },\n    });\n\n    var exampleManagedInstance = new Azure.MSSql.ManagedInstance(\"example\", new()\n    {\n        Name = \"exampleinstance\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        LicenseType = \"BasePrice\",\n        SkuName = \"GP_Gen5\",\n        StorageSizeInGb = 32,\n        SubnetId = exampleSubnet.Id,\n        Vcores = 4,\n        AdministratorLogin = \"missadministrator\",\n        AdministratorLoginPassword = \"NCC-1701-D\",\n    });\n\n    var exampleAccount = new Azure.Storage.Account(\"example\", new()\n    {\n        Name = \"accteststorageaccount\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        AccountTier = \"Standard\",\n        AccountReplicationType = \"GRS\",\n    });\n\n    var exampleContainer = new Azure.Storage.Container(\"example\", new()\n    {\n        Name = \"accteststoragecontainer\",\n        StorageAccountName = exampleAccount.Name,\n        ContainerAccessType = \"private\",\n    });\n\n    var exampleManagedInstanceSecurityAlertPolicy = new Azure.MSSql.ManagedInstanceSecurityAlertPolicy(\"example\", new()\n    {\n        ResourceGroupName = testAzurermResourceGroup.Name,\n        ManagedInstanceName = test.Name,\n        Enabled = true,\n        StorageEndpoint = testAzurermStorageAccount.PrimaryBlobEndpoint,\n        StorageAccountAccessKey = testAzurermStorageAccount.PrimaryAccessKey,\n        RetentionDays = 30,\n    });\n\n    var exampleManagedInstanceVulnerabilityAssessment = new Azure.MSSql.ManagedInstanceVulnerabilityAssessment(\"example\", new()\n    {\n        ManagedInstanceId = exampleManagedInstance.Id,\n        StorageContainerPath = Output.Tuple(exampleAccount.PrimaryBlobEndpoint, exampleContainer.Name).Apply(values =\u003e\n        {\n            var primaryBlobEndpoint = values.Item1;\n            var name = values.Item2;\n            return $\"{primaryBlobEndpoint}{name}/\";\n        }),\n        StorageAccountAccessKey = exampleAccount.PrimaryAccessKey,\n        RecurringScans = new Azure.MSSql.Inputs.ManagedInstanceVulnerabilityAssessmentRecurringScansArgs\n        {\n            Enabled = true,\n            EmailSubscriptionAdmins = true,\n            Emails = new[]\n            {\n                \"email@example1.com\",\n                \"email@example2.com\",\n            },\n        },\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            exampleManagedInstanceSecurityAlertPolicy,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/mssql\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, \"example\", \u0026network.VirtualNetworkArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tAddressSpaces: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.0.0/16\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSubnet, err := network.NewSubnet(ctx, \"example\", \u0026network.SubnetArgs{\n\t\t\tName:               pulumi.String(\"example\"),\n\t\t\tResourceGroupName:  example.Name,\n\t\t\tVirtualNetworkName: exampleVirtualNetwork.Name,\n\t\t\tAddressPrefixes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.2.0/24\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleManagedInstance, err := mssql.NewManagedInstance(ctx, \"example\", \u0026mssql.ManagedInstanceArgs{\n\t\t\tName:                       pulumi.String(\"exampleinstance\"),\n\t\t\tResourceGroupName:          example.Name,\n\t\t\tLocation:                   example.Location,\n\t\t\tLicenseType:                pulumi.String(\"BasePrice\"),\n\t\t\tSkuName:                    pulumi.String(\"GP_Gen5\"),\n\t\t\tStorageSizeInGb:            pulumi.Int(32),\n\t\t\tSubnetId:                   exampleSubnet.ID(),\n\t\t\tVcores:                     pulumi.Int(4),\n\t\t\tAdministratorLogin:         pulumi.String(\"missadministrator\"),\n\t\t\tAdministratorLoginPassword: pulumi.String(\"NCC-1701-D\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := storage.NewAccount(ctx, \"example\", \u0026storage.AccountArgs{\n\t\t\tName:                   pulumi.String(\"accteststorageaccount\"),\n\t\t\tResourceGroupName:      example.Name,\n\t\t\tLocation:               example.Location,\n\t\t\tAccountTier:            pulumi.String(\"Standard\"),\n\t\t\tAccountReplicationType: pulumi.String(\"GRS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleContainer, err := storage.NewContainer(ctx, \"example\", \u0026storage.ContainerArgs{\n\t\t\tName:                pulumi.String(\"accteststoragecontainer\"),\n\t\t\tStorageAccountName:  exampleAccount.Name,\n\t\t\tContainerAccessType: pulumi.String(\"private\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleManagedInstanceSecurityAlertPolicy, err := mssql.NewManagedInstanceSecurityAlertPolicy(ctx, \"example\", \u0026mssql.ManagedInstanceSecurityAlertPolicyArgs{\n\t\t\tResourceGroupName:       pulumi.Any(testAzurermResourceGroup.Name),\n\t\t\tManagedInstanceName:     pulumi.Any(test.Name),\n\t\t\tEnabled:                 pulumi.Bool(true),\n\t\t\tStorageEndpoint:         pulumi.Any(testAzurermStorageAccount.PrimaryBlobEndpoint),\n\t\t\tStorageAccountAccessKey: pulumi.Any(testAzurermStorageAccount.PrimaryAccessKey),\n\t\t\tRetentionDays:           pulumi.Int(30),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = mssql.NewManagedInstanceVulnerabilityAssessment(ctx, \"example\", \u0026mssql.ManagedInstanceVulnerabilityAssessmentArgs{\n\t\t\tManagedInstanceId: exampleManagedInstance.ID(),\n\t\t\tStorageContainerPath: pulumi.All(exampleAccount.PrimaryBlobEndpoint, exampleContainer.Name).ApplyT(func(_args []interface{}) (string, error) {\n\t\t\t\tprimaryBlobEndpoint := _args[0].(string)\n\t\t\t\tname := _args[1].(string)\n\t\t\t\treturn fmt.Sprintf(\"%v%v/\", primaryBlobEndpoint, name), nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t\tStorageAccountAccessKey: exampleAccount.PrimaryAccessKey,\n\t\t\tRecurringScans: \u0026mssql.ManagedInstanceVulnerabilityAssessmentRecurringScansArgs{\n\t\t\t\tEnabled:                 pulumi.Bool(true),\n\t\t\t\tEmailSubscriptionAdmins: pulumi.Bool(true),\n\t\t\t\tEmails: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"email@example1.com\"),\n\t\t\t\t\tpulumi.String(\"email@example2.com\"),\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleManagedInstanceSecurityAlertPolicy,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.VirtualNetwork;\nimport com.pulumi.azure.network.VirtualNetworkArgs;\nimport com.pulumi.azure.network.Subnet;\nimport com.pulumi.azure.network.SubnetArgs;\nimport com.pulumi.azure.mssql.ManagedInstance;\nimport com.pulumi.azure.mssql.ManagedInstanceArgs;\nimport com.pulumi.azure.storage.Account;\nimport com.pulumi.azure.storage.AccountArgs;\nimport com.pulumi.azure.storage.Container;\nimport com.pulumi.azure.storage.ContainerArgs;\nimport com.pulumi.azure.mssql.ManagedInstanceSecurityAlertPolicy;\nimport com.pulumi.azure.mssql.ManagedInstanceSecurityAlertPolicyArgs;\nimport com.pulumi.azure.mssql.ManagedInstanceVulnerabilityAssessment;\nimport com.pulumi.azure.mssql.ManagedInstanceVulnerabilityAssessmentArgs;\nimport com.pulumi.azure.mssql.inputs.ManagedInstanceVulnerabilityAssessmentRecurringScansArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleVirtualNetwork = new VirtualNetwork(\"exampleVirtualNetwork\", VirtualNetworkArgs.builder()\n            .name(\"example\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .addressSpaces(\"10.0.0.0/16\")\n            .build());\n\n        var exampleSubnet = new Subnet(\"exampleSubnet\", SubnetArgs.builder()\n            .name(\"example\")\n            .resourceGroupName(example.name())\n            .virtualNetworkName(exampleVirtualNetwork.name())\n            .addressPrefixes(\"10.0.2.0/24\")\n            .build());\n\n        var exampleManagedInstance = new ManagedInstance(\"exampleManagedInstance\", ManagedInstanceArgs.builder()\n            .name(\"exampleinstance\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .licenseType(\"BasePrice\")\n            .skuName(\"GP_Gen5\")\n            .storageSizeInGb(32)\n            .subnetId(exampleSubnet.id())\n            .vcores(4)\n            .administratorLogin(\"missadministrator\")\n            .administratorLoginPassword(\"NCC-1701-D\")\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"accteststorageaccount\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .accountTier(\"Standard\")\n            .accountReplicationType(\"GRS\")\n            .build());\n\n        var exampleContainer = new Container(\"exampleContainer\", ContainerArgs.builder()\n            .name(\"accteststoragecontainer\")\n            .storageAccountName(exampleAccount.name())\n            .containerAccessType(\"private\")\n            .build());\n\n        var exampleManagedInstanceSecurityAlertPolicy = new ManagedInstanceSecurityAlertPolicy(\"exampleManagedInstanceSecurityAlertPolicy\", ManagedInstanceSecurityAlertPolicyArgs.builder()\n            .resourceGroupName(testAzurermResourceGroup.name())\n            .managedInstanceName(test.name())\n            .enabled(true)\n            .storageEndpoint(testAzurermStorageAccount.primaryBlobEndpoint())\n            .storageAccountAccessKey(testAzurermStorageAccount.primaryAccessKey())\n            .retentionDays(30)\n            .build());\n\n        var exampleManagedInstanceVulnerabilityAssessment = new ManagedInstanceVulnerabilityAssessment(\"exampleManagedInstanceVulnerabilityAssessment\", ManagedInstanceVulnerabilityAssessmentArgs.builder()\n            .managedInstanceId(exampleManagedInstance.id())\n            .storageContainerPath(Output.tuple(exampleAccount.primaryBlobEndpoint(), exampleContainer.name()).applyValue(values -\u003e {\n                var primaryBlobEndpoint = values.t1;\n                var name = values.t2;\n                return String.format(\"%s%s/\", primaryBlobEndpoint,name);\n            }))\n            .storageAccountAccessKey(exampleAccount.primaryAccessKey())\n            .recurringScans(ManagedInstanceVulnerabilityAssessmentRecurringScansArgs.builder()\n                .enabled(true)\n                .emailSubscriptionAdmins(true)\n                .emails(                \n                    \"email@example1.com\",\n                    \"email@example2.com\")\n                .build())\n            .build(), CustomResourceOptions.builder()\n                .dependsOn(exampleManagedInstanceSecurityAlertPolicy)\n                .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleSubnet:\n    type: azure:network:Subnet\n    name: example\n    properties:\n      name: example\n      resourceGroupName: ${example.name}\n      virtualNetworkName: ${exampleVirtualNetwork.name}\n      addressPrefixes:\n        - 10.0.2.0/24\n  exampleVirtualNetwork:\n    type: azure:network:VirtualNetwork\n    name: example\n    properties:\n      name: example\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      addressSpaces:\n        - 10.0.0.0/16\n  exampleManagedInstance:\n    type: azure:mssql:ManagedInstance\n    name: example\n    properties:\n      name: exampleinstance\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      licenseType: BasePrice\n      skuName: GP_Gen5\n      storageSizeInGb: 32\n      subnetId: ${exampleSubnet.id}\n      vcores: 4\n      administratorLogin: missadministrator\n      administratorLoginPassword: NCC-1701-D\n  exampleAccount:\n    type: azure:storage:Account\n    name: example\n    properties:\n      name: accteststorageaccount\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      accountTier: Standard\n      accountReplicationType: GRS\n  exampleContainer:\n    type: azure:storage:Container\n    name: example\n    properties:\n      name: accteststoragecontainer\n      storageAccountName: ${exampleAccount.name}\n      containerAccessType: private\n  exampleManagedInstanceSecurityAlertPolicy:\n    type: azure:mssql:ManagedInstanceSecurityAlertPolicy\n    name: example\n    properties:\n      resourceGroupName: ${testAzurermResourceGroup.name}\n      managedInstanceName: ${test.name}\n      enabled: true\n      storageEndpoint: ${testAzurermStorageAccount.primaryBlobEndpoint}\n      storageAccountAccessKey: ${testAzurermStorageAccount.primaryAccessKey}\n      retentionDays: 30\n  exampleManagedInstanceVulnerabilityAssessment:\n    type: azure:mssql:ManagedInstanceVulnerabilityAssessment\n    name: example\n    properties:\n      managedInstanceId: ${exampleManagedInstance.id}\n      storageContainerPath: ${exampleAccount.primaryBlobEndpoint}${exampleContainer.name}/\n      storageAccountAccessKey: ${exampleAccount.primaryAccessKey}\n      recurringScans:\n        enabled: true\n        emailSubscriptionAdmins: true\n        emails:\n          - email@example1.com\n          - email@example2.com\n    options:\n      dependsOn:\n        - ${exampleManagedInstanceSecurityAlertPolicy}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Sql` - 2023-08-01-preview\n\n## Import\n\nThe Vulnerability Assessment can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:mssql/managedInstanceVulnerabilityAssessment:ManagedInstanceVulnerabilityAssessment example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/acceptanceTestResourceGroup1/providers/Microsoft.Sql/managedInstances/instance1/vulnerabilityAssessments/Default\n```\n\n","properties":{"managedInstanceId":{"type":"string","description":"The id of the MS SQL Managed Instance. Changing this forces a new resource to be created.\n"},"recurringScans":{"$ref":"#/types/azure:mssql/ManagedInstanceVulnerabilityAssessmentRecurringScans:ManagedInstanceVulnerabilityAssessmentRecurringScans","description":"The recurring scans settings. The \u003cspan pulumi-lang-nodejs=\"`recurringScans`\" pulumi-lang-dotnet=\"`RecurringScans`\" pulumi-lang-go=\"`recurringScans`\" pulumi-lang-python=\"`recurring_scans`\" pulumi-lang-yaml=\"`recurringScans`\" pulumi-lang-java=\"`recurringScans`\"\u003e`recurring_scans`\u003c/span\u003e block supports fields documented below.\n"},"storageAccountAccessKey":{"type":"string","description":"Specifies the identifier key of the storage account for vulnerability assessment scan results. If \u003cspan pulumi-lang-nodejs=\"`storageContainerSasKey`\" pulumi-lang-dotnet=\"`StorageContainerSasKey`\" pulumi-lang-go=\"`storageContainerSasKey`\" pulumi-lang-python=\"`storage_container_sas_key`\" pulumi-lang-yaml=\"`storageContainerSasKey`\" pulumi-lang-java=\"`storageContainerSasKey`\"\u003e`storage_container_sas_key`\u003c/span\u003e isn't specified, \u003cspan pulumi-lang-nodejs=\"`storageAccountAccessKey`\" pulumi-lang-dotnet=\"`StorageAccountAccessKey`\" pulumi-lang-go=\"`storageAccountAccessKey`\" pulumi-lang-python=\"`storage_account_access_key`\" pulumi-lang-yaml=\"`storageAccountAccessKey`\" pulumi-lang-java=\"`storageAccountAccessKey`\"\u003e`storage_account_access_key`\u003c/span\u003e is required.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`storageAccountAccessKey`\" pulumi-lang-dotnet=\"`StorageAccountAccessKey`\" pulumi-lang-go=\"`storageAccountAccessKey`\" pulumi-lang-python=\"`storage_account_access_key`\" pulumi-lang-yaml=\"`storageAccountAccessKey`\" pulumi-lang-java=\"`storageAccountAccessKey`\"\u003e`storage_account_access_key`\u003c/span\u003e only applies if the storage account is not behind a virtual network or a firewall.\n","secret":true},"storageContainerPath":{"type":"string","description":"A blob storage container path to hold the scan results (e.g. \u003chttps://myStorage.blob.core.windows.net/VaScans/\u003e).\n"},"storageContainerSasKey":{"type":"string","description":"A shared access signature (SAS Key) that has write access to the blob container specified in \u003cspan pulumi-lang-nodejs=\"`storageContainerPath`\" pulumi-lang-dotnet=\"`StorageContainerPath`\" pulumi-lang-go=\"`storageContainerPath`\" pulumi-lang-python=\"`storage_container_path`\" pulumi-lang-yaml=\"`storageContainerPath`\" pulumi-lang-java=\"`storageContainerPath`\"\u003e`storage_container_path`\u003c/span\u003e parameter. If \u003cspan pulumi-lang-nodejs=\"`storageAccountAccessKey`\" pulumi-lang-dotnet=\"`StorageAccountAccessKey`\" pulumi-lang-go=\"`storageAccountAccessKey`\" pulumi-lang-python=\"`storage_account_access_key`\" pulumi-lang-yaml=\"`storageAccountAccessKey`\" pulumi-lang-java=\"`storageAccountAccessKey`\"\u003e`storage_account_access_key`\u003c/span\u003e isn't specified, \u003cspan pulumi-lang-nodejs=\"`storageContainerSasKey`\" pulumi-lang-dotnet=\"`StorageContainerSasKey`\" pulumi-lang-go=\"`storageContainerSasKey`\" pulumi-lang-python=\"`storage_container_sas_key`\" pulumi-lang-yaml=\"`storageContainerSasKey`\" pulumi-lang-java=\"`storageContainerSasKey`\"\u003e`storage_container_sas_key`\u003c/span\u003e is required.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`storageContainerSasKey`\" pulumi-lang-dotnet=\"`StorageContainerSasKey`\" pulumi-lang-go=\"`storageContainerSasKey`\" pulumi-lang-python=\"`storage_container_sas_key`\" pulumi-lang-yaml=\"`storageContainerSasKey`\" pulumi-lang-java=\"`storageContainerSasKey`\"\u003e`storage_container_sas_key`\u003c/span\u003e only applies if the storage account is not behind a virtual network or a firewall.\n","secret":true}},"required":["managedInstanceId","recurringScans","storageContainerPath"],"inputProperties":{"managedInstanceId":{"type":"string","description":"The id of the MS SQL Managed Instance. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"recurringScans":{"$ref":"#/types/azure:mssql/ManagedInstanceVulnerabilityAssessmentRecurringScans:ManagedInstanceVulnerabilityAssessmentRecurringScans","description":"The recurring scans settings. The \u003cspan pulumi-lang-nodejs=\"`recurringScans`\" pulumi-lang-dotnet=\"`RecurringScans`\" pulumi-lang-go=\"`recurringScans`\" pulumi-lang-python=\"`recurring_scans`\" pulumi-lang-yaml=\"`recurringScans`\" pulumi-lang-java=\"`recurringScans`\"\u003e`recurring_scans`\u003c/span\u003e block supports fields documented below.\n"},"storageAccountAccessKey":{"type":"string","description":"Specifies the identifier key of the storage account for vulnerability assessment scan results. If \u003cspan pulumi-lang-nodejs=\"`storageContainerSasKey`\" pulumi-lang-dotnet=\"`StorageContainerSasKey`\" pulumi-lang-go=\"`storageContainerSasKey`\" pulumi-lang-python=\"`storage_container_sas_key`\" pulumi-lang-yaml=\"`storageContainerSasKey`\" pulumi-lang-java=\"`storageContainerSasKey`\"\u003e`storage_container_sas_key`\u003c/span\u003e isn't specified, \u003cspan pulumi-lang-nodejs=\"`storageAccountAccessKey`\" pulumi-lang-dotnet=\"`StorageAccountAccessKey`\" pulumi-lang-go=\"`storageAccountAccessKey`\" pulumi-lang-python=\"`storage_account_access_key`\" pulumi-lang-yaml=\"`storageAccountAccessKey`\" pulumi-lang-java=\"`storageAccountAccessKey`\"\u003e`storage_account_access_key`\u003c/span\u003e is required.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`storageAccountAccessKey`\" pulumi-lang-dotnet=\"`StorageAccountAccessKey`\" pulumi-lang-go=\"`storageAccountAccessKey`\" pulumi-lang-python=\"`storage_account_access_key`\" pulumi-lang-yaml=\"`storageAccountAccessKey`\" pulumi-lang-java=\"`storageAccountAccessKey`\"\u003e`storage_account_access_key`\u003c/span\u003e only applies if the storage account is not behind a virtual network or a firewall.\n","secret":true},"storageContainerPath":{"type":"string","description":"A blob storage container path to hold the scan results (e.g. \u003chttps://myStorage.blob.core.windows.net/VaScans/\u003e).\n"},"storageContainerSasKey":{"type":"string","description":"A shared access signature (SAS Key) that has write access to the blob container specified in \u003cspan pulumi-lang-nodejs=\"`storageContainerPath`\" pulumi-lang-dotnet=\"`StorageContainerPath`\" pulumi-lang-go=\"`storageContainerPath`\" pulumi-lang-python=\"`storage_container_path`\" pulumi-lang-yaml=\"`storageContainerPath`\" pulumi-lang-java=\"`storageContainerPath`\"\u003e`storage_container_path`\u003c/span\u003e parameter. If \u003cspan pulumi-lang-nodejs=\"`storageAccountAccessKey`\" pulumi-lang-dotnet=\"`StorageAccountAccessKey`\" pulumi-lang-go=\"`storageAccountAccessKey`\" pulumi-lang-python=\"`storage_account_access_key`\" pulumi-lang-yaml=\"`storageAccountAccessKey`\" pulumi-lang-java=\"`storageAccountAccessKey`\"\u003e`storage_account_access_key`\u003c/span\u003e isn't specified, \u003cspan pulumi-lang-nodejs=\"`storageContainerSasKey`\" pulumi-lang-dotnet=\"`StorageContainerSasKey`\" pulumi-lang-go=\"`storageContainerSasKey`\" pulumi-lang-python=\"`storage_container_sas_key`\" pulumi-lang-yaml=\"`storageContainerSasKey`\" pulumi-lang-java=\"`storageContainerSasKey`\"\u003e`storage_container_sas_key`\u003c/span\u003e is required.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`storageContainerSasKey`\" pulumi-lang-dotnet=\"`StorageContainerSasKey`\" pulumi-lang-go=\"`storageContainerSasKey`\" pulumi-lang-python=\"`storage_container_sas_key`\" pulumi-lang-yaml=\"`storageContainerSasKey`\" pulumi-lang-java=\"`storageContainerSasKey`\"\u003e`storage_container_sas_key`\u003c/span\u003e only applies if the storage account is not behind a virtual network or a firewall.\n","secret":true}},"requiredInputs":["managedInstanceId","storageContainerPath"],"stateInputs":{"description":"Input properties used for looking up and filtering ManagedInstanceVulnerabilityAssessment resources.\n","properties":{"managedInstanceId":{"type":"string","description":"The id of the MS SQL Managed Instance. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"recurringScans":{"$ref":"#/types/azure:mssql/ManagedInstanceVulnerabilityAssessmentRecurringScans:ManagedInstanceVulnerabilityAssessmentRecurringScans","description":"The recurring scans settings. The \u003cspan pulumi-lang-nodejs=\"`recurringScans`\" pulumi-lang-dotnet=\"`RecurringScans`\" pulumi-lang-go=\"`recurringScans`\" pulumi-lang-python=\"`recurring_scans`\" pulumi-lang-yaml=\"`recurringScans`\" pulumi-lang-java=\"`recurringScans`\"\u003e`recurring_scans`\u003c/span\u003e block supports fields documented below.\n"},"storageAccountAccessKey":{"type":"string","description":"Specifies the identifier key of the storage account for vulnerability assessment scan results. If \u003cspan pulumi-lang-nodejs=\"`storageContainerSasKey`\" pulumi-lang-dotnet=\"`StorageContainerSasKey`\" pulumi-lang-go=\"`storageContainerSasKey`\" pulumi-lang-python=\"`storage_container_sas_key`\" pulumi-lang-yaml=\"`storageContainerSasKey`\" pulumi-lang-java=\"`storageContainerSasKey`\"\u003e`storage_container_sas_key`\u003c/span\u003e isn't specified, \u003cspan pulumi-lang-nodejs=\"`storageAccountAccessKey`\" pulumi-lang-dotnet=\"`StorageAccountAccessKey`\" pulumi-lang-go=\"`storageAccountAccessKey`\" pulumi-lang-python=\"`storage_account_access_key`\" pulumi-lang-yaml=\"`storageAccountAccessKey`\" pulumi-lang-java=\"`storageAccountAccessKey`\"\u003e`storage_account_access_key`\u003c/span\u003e is required.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`storageAccountAccessKey`\" pulumi-lang-dotnet=\"`StorageAccountAccessKey`\" pulumi-lang-go=\"`storageAccountAccessKey`\" pulumi-lang-python=\"`storage_account_access_key`\" pulumi-lang-yaml=\"`storageAccountAccessKey`\" pulumi-lang-java=\"`storageAccountAccessKey`\"\u003e`storage_account_access_key`\u003c/span\u003e only applies if the storage account is not behind a virtual network or a firewall.\n","secret":true},"storageContainerPath":{"type":"string","description":"A blob storage container path to hold the scan results (e.g. \u003chttps://myStorage.blob.core.windows.net/VaScans/\u003e).\n"},"storageContainerSasKey":{"type":"string","description":"A shared access signature (SAS Key) that has write access to the blob container specified in \u003cspan pulumi-lang-nodejs=\"`storageContainerPath`\" pulumi-lang-dotnet=\"`StorageContainerPath`\" pulumi-lang-go=\"`storageContainerPath`\" pulumi-lang-python=\"`storage_container_path`\" pulumi-lang-yaml=\"`storageContainerPath`\" pulumi-lang-java=\"`storageContainerPath`\"\u003e`storage_container_path`\u003c/span\u003e parameter. If \u003cspan pulumi-lang-nodejs=\"`storageAccountAccessKey`\" pulumi-lang-dotnet=\"`StorageAccountAccessKey`\" pulumi-lang-go=\"`storageAccountAccessKey`\" pulumi-lang-python=\"`storage_account_access_key`\" pulumi-lang-yaml=\"`storageAccountAccessKey`\" pulumi-lang-java=\"`storageAccountAccessKey`\"\u003e`storage_account_access_key`\u003c/span\u003e isn't specified, \u003cspan pulumi-lang-nodejs=\"`storageContainerSasKey`\" pulumi-lang-dotnet=\"`StorageContainerSasKey`\" pulumi-lang-go=\"`storageContainerSasKey`\" pulumi-lang-python=\"`storage_container_sas_key`\" pulumi-lang-yaml=\"`storageContainerSasKey`\" pulumi-lang-java=\"`storageContainerSasKey`\"\u003e`storage_container_sas_key`\u003c/span\u003e is required.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`storageContainerSasKey`\" pulumi-lang-dotnet=\"`StorageContainerSasKey`\" pulumi-lang-go=\"`storageContainerSasKey`\" pulumi-lang-python=\"`storage_container_sas_key`\" pulumi-lang-yaml=\"`storageContainerSasKey`\" pulumi-lang-java=\"`storageContainerSasKey`\"\u003e`storage_container_sas_key`\u003c/span\u003e only applies if the storage account is not behind a virtual network or a firewall.\n","secret":true}},"type":"object"}},"azure:mssql/outboundFirewallRule:OutboundFirewallRule":{"description":"Allows you to manage an Azure SQL Outbound Firewall Rule.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleServer = new azure.mssql.Server(\"example\", {\n    name: \"mysqlserver\",\n    resourceGroupName: example.name,\n    location: example.location,\n    version: \"12.0\",\n    administratorLogin: \"4dm1n157r470r\",\n    administratorLoginPassword: \"4-v3ry-53cr37-p455w0rd\",\n    outboundNetworkRestrictionEnabled: true,\n});\nconst exampleOutboundFirewallRule = new azure.mssql.OutboundFirewallRule(\"example\", {\n    name: \"sqlexamplefdqn.database.windows.net\",\n    serverId: exampleServer.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_server = azure.mssql.Server(\"example\",\n    name=\"mysqlserver\",\n    resource_group_name=example.name,\n    location=example.location,\n    version=\"12.0\",\n    administrator_login=\"4dm1n157r470r\",\n    administrator_login_password=\"4-v3ry-53cr37-p455w0rd\",\n    outbound_network_restriction_enabled=True)\nexample_outbound_firewall_rule = azure.mssql.OutboundFirewallRule(\"example\",\n    name=\"sqlexamplefdqn.database.windows.net\",\n    server_id=example_server.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleServer = new Azure.MSSql.Server(\"example\", new()\n    {\n        Name = \"mysqlserver\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        Version = \"12.0\",\n        AdministratorLogin = \"4dm1n157r470r\",\n        AdministratorLoginPassword = \"4-v3ry-53cr37-p455w0rd\",\n        OutboundNetworkRestrictionEnabled = true,\n    });\n\n    var exampleOutboundFirewallRule = new Azure.MSSql.OutboundFirewallRule(\"example\", new()\n    {\n        Name = \"sqlexamplefdqn.database.windows.net\",\n        ServerId = exampleServer.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/mssql\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleServer, err := mssql.NewServer(ctx, \"example\", \u0026mssql.ServerArgs{\n\t\t\tName:                              pulumi.String(\"mysqlserver\"),\n\t\t\tResourceGroupName:                 example.Name,\n\t\t\tLocation:                          example.Location,\n\t\t\tVersion:                           pulumi.String(\"12.0\"),\n\t\t\tAdministratorLogin:                pulumi.String(\"4dm1n157r470r\"),\n\t\t\tAdministratorLoginPassword:        pulumi.String(\"4-v3ry-53cr37-p455w0rd\"),\n\t\t\tOutboundNetworkRestrictionEnabled: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = mssql.NewOutboundFirewallRule(ctx, \"example\", \u0026mssql.OutboundFirewallRuleArgs{\n\t\t\tName:     pulumi.String(\"sqlexamplefdqn.database.windows.net\"),\n\t\t\tServerId: exampleServer.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.mssql.Server;\nimport com.pulumi.azure.mssql.ServerArgs;\nimport com.pulumi.azure.mssql.OutboundFirewallRule;\nimport com.pulumi.azure.mssql.OutboundFirewallRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleServer = new Server(\"exampleServer\", ServerArgs.builder()\n            .name(\"mysqlserver\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .version(\"12.0\")\n            .administratorLogin(\"4dm1n157r470r\")\n            .administratorLoginPassword(\"4-v3ry-53cr37-p455w0rd\")\n            .outboundNetworkRestrictionEnabled(true)\n            .build());\n\n        var exampleOutboundFirewallRule = new OutboundFirewallRule(\"exampleOutboundFirewallRule\", OutboundFirewallRuleArgs.builder()\n            .name(\"sqlexamplefdqn.database.windows.net\")\n            .serverId(exampleServer.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleServer:\n    type: azure:mssql:Server\n    name: example\n    properties:\n      name: mysqlserver\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      version: '12.0'\n      administratorLogin: 4dm1n157r470r\n      administratorLoginPassword: 4-v3ry-53cr37-p455w0rd\n      outboundNetworkRestrictionEnabled: true\n  exampleOutboundFirewallRule:\n    type: azure:mssql:OutboundFirewallRule\n    name: example\n    properties:\n      name: sqlexamplefdqn.database.windows.net\n      serverId: ${exampleServer.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Sql` - 2023-08-01-preview\n\n## Import\n\nSQL Outbound Firewall Rules can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:mssql/outboundFirewallRule:OutboundFirewallRule rule1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myresourcegroup/providers/Microsoft.Sql/servers/myserver/outboundFirewallRules/fqdn1\n```\n\n","properties":{"name":{"type":"string","description":"The name of the outbound firewall rule. This should be a FQDN. Changing this forces a new resource to be created.\n"},"serverId":{"type":"string","description":"The resource ID of the SQL Server on which to create the Outbound Firewall Rule. Changing this forces a new resource to be created.\n"}},"required":["name","serverId"],"inputProperties":{"name":{"type":"string","description":"The name of the outbound firewall rule. This should be a FQDN. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"serverId":{"type":"string","description":"The resource ID of the SQL Server on which to create the Outbound Firewall Rule. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["serverId"],"stateInputs":{"description":"Input properties used for looking up and filtering OutboundFirewallRule resources.\n","properties":{"name":{"type":"string","description":"The name of the outbound firewall rule. This should be a FQDN. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"serverId":{"type":"string","description":"The resource ID of the SQL Server on which to create the Outbound Firewall Rule. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:mssql/server:Server":{"description":"Manages a Microsoft SQL Azure Database Server.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"database-rg\",\n    location: \"West Europe\",\n});\nconst exampleServer = new azure.mssql.Server(\"example\", {\n    name: \"mssqlserver\",\n    resourceGroupName: example.name,\n    location: example.location,\n    version: \"12.0\",\n    administratorLogin: \"missadministrator\",\n    administratorLoginPassword: \"thisIsKat11\",\n    minimumTlsVersion: \"1.2\",\n    azureadAdministrator: {\n        loginUsername: \"AzureAD Admin\",\n        objectId: \"00000000-0000-0000-0000-000000000000\",\n    },\n    tags: {\n        environment: \"production\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"database-rg\",\n    location=\"West Europe\")\nexample_server = azure.mssql.Server(\"example\",\n    name=\"mssqlserver\",\n    resource_group_name=example.name,\n    location=example.location,\n    version=\"12.0\",\n    administrator_login=\"missadministrator\",\n    administrator_login_password=\"thisIsKat11\",\n    minimum_tls_version=\"1.2\",\n    azuread_administrator={\n        \"login_username\": \"AzureAD Admin\",\n        \"object_id\": \"00000000-0000-0000-0000-000000000000\",\n    },\n    tags={\n        \"environment\": \"production\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"database-rg\",\n        Location = \"West Europe\",\n    });\n\n    var exampleServer = new Azure.MSSql.Server(\"example\", new()\n    {\n        Name = \"mssqlserver\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        Version = \"12.0\",\n        AdministratorLogin = \"missadministrator\",\n        AdministratorLoginPassword = \"thisIsKat11\",\n        MinimumTlsVersion = \"1.2\",\n        AzureadAdministrator = new Azure.MSSql.Inputs.ServerAzureadAdministratorArgs\n        {\n            LoginUsername = \"AzureAD Admin\",\n            ObjectId = \"00000000-0000-0000-0000-000000000000\",\n        },\n        Tags = \n        {\n            { \"environment\", \"production\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/mssql\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"database-rg\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = mssql.NewServer(ctx, \"example\", \u0026mssql.ServerArgs{\n\t\t\tName:                       pulumi.String(\"mssqlserver\"),\n\t\t\tResourceGroupName:          example.Name,\n\t\t\tLocation:                   example.Location,\n\t\t\tVersion:                    pulumi.String(\"12.0\"),\n\t\t\tAdministratorLogin:         pulumi.String(\"missadministrator\"),\n\t\t\tAdministratorLoginPassword: pulumi.String(\"thisIsKat11\"),\n\t\t\tMinimumTlsVersion:          pulumi.String(\"1.2\"),\n\t\t\tAzureadAdministrator: \u0026mssql.ServerAzureadAdministratorArgs{\n\t\t\t\tLoginUsername: pulumi.String(\"AzureAD Admin\"),\n\t\t\t\tObjectId:      pulumi.String(\"00000000-0000-0000-0000-000000000000\"),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"environment\": pulumi.String(\"production\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.mssql.Server;\nimport com.pulumi.azure.mssql.ServerArgs;\nimport com.pulumi.azure.mssql.inputs.ServerAzureadAdministratorArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"database-rg\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleServer = new Server(\"exampleServer\", ServerArgs.builder()\n            .name(\"mssqlserver\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .version(\"12.0\")\n            .administratorLogin(\"missadministrator\")\n            .administratorLoginPassword(\"thisIsKat11\")\n            .minimumTlsVersion(\"1.2\")\n            .azureadAdministrator(ServerAzureadAdministratorArgs.builder()\n                .loginUsername(\"AzureAD Admin\")\n                .objectId(\"00000000-0000-0000-0000-000000000000\")\n                .build())\n            .tags(Map.of(\"environment\", \"production\"))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: database-rg\n      location: West Europe\n  exampleServer:\n    type: azure:mssql:Server\n    name: example\n    properties:\n      name: mssqlserver\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      version: '12.0'\n      administratorLogin: missadministrator\n      administratorLoginPassword: thisIsKat11\n      minimumTlsVersion: '1.2'\n      azureadAdministrator:\n        loginUsername: AzureAD Admin\n        objectId: 00000000-0000-0000-0000-000000000000\n      tags:\n        environment: production\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\n### Transparent Data Encryption (TDE) With A Customer Managed Key (CMK) During Create\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst current = azure.core.getClientConfig({});\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleUserAssignedIdentity = new azure.authorization.UserAssignedIdentity(\"example\", {\n    name: \"example-admin\",\n    location: example.location,\n    resourceGroupName: example.name,\n});\n// Create a key vault with access policies which allow for the current user to get, list, create, delete, update, recover, purge and getRotationPolicy for the key vault key and also add a key vault access policy for the Microsoft Sql Server instance User Managed Identity to get, wrap, and unwrap key(s)\nconst exampleKeyVault = new azure.keyvault.KeyVault(\"example\", {\n    name: \"mssqltdeexample\",\n    location: example.location,\n    resourceGroupName: example.name,\n    enabledForDiskEncryption: true,\n    tenantId: exampleUserAssignedIdentity.tenantId,\n    softDeleteRetentionDays: 7,\n    purgeProtectionEnabled: true,\n    skuName: \"standard\",\n    accessPolicies: [\n        {\n            tenantId: current.then(current =\u003e current.tenantId),\n            objectId: current.then(current =\u003e current.objectId),\n            keyPermissions: [\n                \"Get\",\n                \"List\",\n                \"Create\",\n                \"Delete\",\n                \"Update\",\n                \"Recover\",\n                \"Purge\",\n                \"GetRotationPolicy\",\n            ],\n        },\n        {\n            tenantId: exampleUserAssignedIdentity.tenantId,\n            objectId: exampleUserAssignedIdentity.principalId,\n            keyPermissions: [\n                \"Get\",\n                \"WrapKey\",\n                \"UnwrapKey\",\n            ],\n        },\n    ],\n});\nconst exampleKey = new azure.keyvault.Key(\"example\", {\n    name: \"example-key\",\n    keyVaultId: exampleKeyVault.id,\n    keyType: \"RSA\",\n    keySize: 2048,\n    keyOpts: [\n        \"unwrapKey\",\n        \"wrapKey\",\n    ],\n}, {\n    dependsOn: [exampleKeyVault],\n});\nconst exampleServer = new azure.mssql.Server(\"example\", {\n    name: \"example-resource\",\n    resourceGroupName: example.name,\n    location: example.location,\n    version: \"12.0\",\n    administratorLogin: \"Example-Administrator\",\n    administratorLoginPassword: \"Example_Password!\",\n    minimumTlsVersion: \"1.2\",\n    azureadAdministrator: {\n        loginUsername: exampleUserAssignedIdentity.name,\n        objectId: exampleUserAssignedIdentity.principalId,\n    },\n    identity: {\n        type: \"UserAssigned\",\n        identityIds: [exampleUserAssignedIdentity.id],\n    },\n    primaryUserAssignedIdentityId: exampleUserAssignedIdentity.id,\n    transparentDataEncryptionKeyVaultKeyId: exampleKey.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\ncurrent = azure.core.get_client_config()\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_user_assigned_identity = azure.authorization.UserAssignedIdentity(\"example\",\n    name=\"example-admin\",\n    location=example.location,\n    resource_group_name=example.name)\n# Create a key vault with access policies which allow for the current user to get, list, create, delete, update, recover, purge and getRotationPolicy for the key vault key and also add a key vault access policy for the Microsoft Sql Server instance User Managed Identity to get, wrap, and unwrap key(s)\nexample_key_vault = azure.keyvault.KeyVault(\"example\",\n    name=\"mssqltdeexample\",\n    location=example.location,\n    resource_group_name=example.name,\n    enabled_for_disk_encryption=True,\n    tenant_id=example_user_assigned_identity.tenant_id,\n    soft_delete_retention_days=7,\n    purge_protection_enabled=True,\n    sku_name=\"standard\",\n    access_policies=[\n        {\n            \"tenant_id\": current.tenant_id,\n            \"object_id\": current.object_id,\n            \"key_permissions\": [\n                \"Get\",\n                \"List\",\n                \"Create\",\n                \"Delete\",\n                \"Update\",\n                \"Recover\",\n                \"Purge\",\n                \"GetRotationPolicy\",\n            ],\n        },\n        {\n            \"tenant_id\": example_user_assigned_identity.tenant_id,\n            \"object_id\": example_user_assigned_identity.principal_id,\n            \"key_permissions\": [\n                \"Get\",\n                \"WrapKey\",\n                \"UnwrapKey\",\n            ],\n        },\n    ])\nexample_key = azure.keyvault.Key(\"example\",\n    name=\"example-key\",\n    key_vault_id=example_key_vault.id,\n    key_type=\"RSA\",\n    key_size=2048,\n    key_opts=[\n        \"unwrapKey\",\n        \"wrapKey\",\n    ],\n    opts = pulumi.ResourceOptions(depends_on=[example_key_vault]))\nexample_server = azure.mssql.Server(\"example\",\n    name=\"example-resource\",\n    resource_group_name=example.name,\n    location=example.location,\n    version=\"12.0\",\n    administrator_login=\"Example-Administrator\",\n    administrator_login_password=\"Example_Password!\",\n    minimum_tls_version=\"1.2\",\n    azuread_administrator={\n        \"login_username\": example_user_assigned_identity.name,\n        \"object_id\": example_user_assigned_identity.principal_id,\n    },\n    identity={\n        \"type\": \"UserAssigned\",\n        \"identity_ids\": [example_user_assigned_identity.id],\n    },\n    primary_user_assigned_identity_id=example_user_assigned_identity.id,\n    transparent_data_encryption_key_vault_key_id=example_key.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var current = Azure.Core.GetClientConfig.Invoke();\n\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleUserAssignedIdentity = new Azure.Authorization.UserAssignedIdentity(\"example\", new()\n    {\n        Name = \"example-admin\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n    });\n\n    // Create a key vault with access policies which allow for the current user to get, list, create, delete, update, recover, purge and getRotationPolicy for the key vault key and also add a key vault access policy for the Microsoft Sql Server instance User Managed Identity to get, wrap, and unwrap key(s)\n    var exampleKeyVault = new Azure.KeyVault.KeyVault(\"example\", new()\n    {\n        Name = \"mssqltdeexample\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        EnabledForDiskEncryption = true,\n        TenantId = exampleUserAssignedIdentity.TenantId,\n        SoftDeleteRetentionDays = 7,\n        PurgeProtectionEnabled = true,\n        SkuName = \"standard\",\n        AccessPolicies = new[]\n        {\n            new Azure.KeyVault.Inputs.KeyVaultAccessPolicyArgs\n            {\n                TenantId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.TenantId),\n                ObjectId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.ObjectId),\n                KeyPermissions = new[]\n                {\n                    \"Get\",\n                    \"List\",\n                    \"Create\",\n                    \"Delete\",\n                    \"Update\",\n                    \"Recover\",\n                    \"Purge\",\n                    \"GetRotationPolicy\",\n                },\n            },\n            new Azure.KeyVault.Inputs.KeyVaultAccessPolicyArgs\n            {\n                TenantId = exampleUserAssignedIdentity.TenantId,\n                ObjectId = exampleUserAssignedIdentity.PrincipalId,\n                KeyPermissions = new[]\n                {\n                    \"Get\",\n                    \"WrapKey\",\n                    \"UnwrapKey\",\n                },\n            },\n        },\n    });\n\n    var exampleKey = new Azure.KeyVault.Key(\"example\", new()\n    {\n        Name = \"example-key\",\n        KeyVaultId = exampleKeyVault.Id,\n        KeyType = \"RSA\",\n        KeySize = 2048,\n        KeyOpts = new[]\n        {\n            \"unwrapKey\",\n            \"wrapKey\",\n        },\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            exampleKeyVault,\n        },\n    });\n\n    var exampleServer = new Azure.MSSql.Server(\"example\", new()\n    {\n        Name = \"example-resource\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        Version = \"12.0\",\n        AdministratorLogin = \"Example-Administrator\",\n        AdministratorLoginPassword = \"Example_Password!\",\n        MinimumTlsVersion = \"1.2\",\n        AzureadAdministrator = new Azure.MSSql.Inputs.ServerAzureadAdministratorArgs\n        {\n            LoginUsername = exampleUserAssignedIdentity.Name,\n            ObjectId = exampleUserAssignedIdentity.PrincipalId,\n        },\n        Identity = new Azure.MSSql.Inputs.ServerIdentityArgs\n        {\n            Type = \"UserAssigned\",\n            IdentityIds = new[]\n            {\n                exampleUserAssignedIdentity.Id,\n            },\n        },\n        PrimaryUserAssignedIdentityId = exampleUserAssignedIdentity.Id,\n        TransparentDataEncryptionKeyVaultKeyId = exampleKey.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/authorization\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/keyvault\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/mssql\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := core.GetClientConfig(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleUserAssignedIdentity, err := authorization.NewUserAssignedIdentity(ctx, \"example\", \u0026authorization.UserAssignedIdentityArgs{\n\t\t\tName:              pulumi.String(\"example-admin\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create a key vault with access policies which allow for the current user to get, list, create, delete, update, recover, purge and getRotationPolicy for the key vault key and also add a key vault access policy for the Microsoft Sql Server instance User Managed Identity to get, wrap, and unwrap key(s)\n\t\texampleKeyVault, err := keyvault.NewKeyVault(ctx, \"example\", \u0026keyvault.KeyVaultArgs{\n\t\t\tName:                     pulumi.String(\"mssqltdeexample\"),\n\t\t\tLocation:                 example.Location,\n\t\t\tResourceGroupName:        example.Name,\n\t\t\tEnabledForDiskEncryption: pulumi.Bool(true),\n\t\t\tTenantId:                 exampleUserAssignedIdentity.TenantId,\n\t\t\tSoftDeleteRetentionDays:  pulumi.Int(7),\n\t\t\tPurgeProtectionEnabled:   pulumi.Bool(true),\n\t\t\tSkuName:                  pulumi.String(\"standard\"),\n\t\t\tAccessPolicies: keyvault.KeyVaultAccessPolicyArray{\n\t\t\t\t\u0026keyvault.KeyVaultAccessPolicyArgs{\n\t\t\t\t\tTenantId: pulumi.String(current.TenantId),\n\t\t\t\t\tObjectId: pulumi.String(current.ObjectId),\n\t\t\t\t\tKeyPermissions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"Get\"),\n\t\t\t\t\t\tpulumi.String(\"List\"),\n\t\t\t\t\t\tpulumi.String(\"Create\"),\n\t\t\t\t\t\tpulumi.String(\"Delete\"),\n\t\t\t\t\t\tpulumi.String(\"Update\"),\n\t\t\t\t\t\tpulumi.String(\"Recover\"),\n\t\t\t\t\t\tpulumi.String(\"Purge\"),\n\t\t\t\t\t\tpulumi.String(\"GetRotationPolicy\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026keyvault.KeyVaultAccessPolicyArgs{\n\t\t\t\t\tTenantId: exampleUserAssignedIdentity.TenantId,\n\t\t\t\t\tObjectId: exampleUserAssignedIdentity.PrincipalId,\n\t\t\t\t\tKeyPermissions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"Get\"),\n\t\t\t\t\t\tpulumi.String(\"WrapKey\"),\n\t\t\t\t\t\tpulumi.String(\"UnwrapKey\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleKey, err := keyvault.NewKey(ctx, \"example\", \u0026keyvault.KeyArgs{\n\t\t\tName:       pulumi.String(\"example-key\"),\n\t\t\tKeyVaultId: exampleKeyVault.ID(),\n\t\t\tKeyType:    pulumi.String(\"RSA\"),\n\t\t\tKeySize:    pulumi.Int(2048),\n\t\t\tKeyOpts: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"unwrapKey\"),\n\t\t\t\tpulumi.String(\"wrapKey\"),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleKeyVault,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = mssql.NewServer(ctx, \"example\", \u0026mssql.ServerArgs{\n\t\t\tName:                       pulumi.String(\"example-resource\"),\n\t\t\tResourceGroupName:          example.Name,\n\t\t\tLocation:                   example.Location,\n\t\t\tVersion:                    pulumi.String(\"12.0\"),\n\t\t\tAdministratorLogin:         pulumi.String(\"Example-Administrator\"),\n\t\t\tAdministratorLoginPassword: pulumi.String(\"Example_Password!\"),\n\t\t\tMinimumTlsVersion:          pulumi.String(\"1.2\"),\n\t\t\tAzureadAdministrator: \u0026mssql.ServerAzureadAdministratorArgs{\n\t\t\t\tLoginUsername: exampleUserAssignedIdentity.Name,\n\t\t\t\tObjectId:      exampleUserAssignedIdentity.PrincipalId,\n\t\t\t},\n\t\t\tIdentity: \u0026mssql.ServerIdentityArgs{\n\t\t\t\tType: pulumi.String(\"UserAssigned\"),\n\t\t\t\tIdentityIds: pulumi.StringArray{\n\t\t\t\t\texampleUserAssignedIdentity.ID(),\n\t\t\t\t},\n\t\t\t},\n\t\t\tPrimaryUserAssignedIdentityId:          exampleUserAssignedIdentity.ID(),\n\t\t\tTransparentDataEncryptionKeyVaultKeyId: exampleKey.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.authorization.UserAssignedIdentity;\nimport com.pulumi.azure.authorization.UserAssignedIdentityArgs;\nimport com.pulumi.azure.keyvault.KeyVault;\nimport com.pulumi.azure.keyvault.KeyVaultArgs;\nimport com.pulumi.azure.keyvault.inputs.KeyVaultAccessPolicyArgs;\nimport com.pulumi.azure.keyvault.Key;\nimport com.pulumi.azure.keyvault.KeyArgs;\nimport com.pulumi.azure.mssql.Server;\nimport com.pulumi.azure.mssql.ServerArgs;\nimport com.pulumi.azure.mssql.inputs.ServerAzureadAdministratorArgs;\nimport com.pulumi.azure.mssql.inputs.ServerIdentityArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var current = CoreFunctions.getClientConfig(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleUserAssignedIdentity = new UserAssignedIdentity(\"exampleUserAssignedIdentity\", UserAssignedIdentityArgs.builder()\n            .name(\"example-admin\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .build());\n\n        // Create a key vault with access policies which allow for the current user to get, list, create, delete, update, recover, purge and getRotationPolicy for the key vault key and also add a key vault access policy for the Microsoft Sql Server instance User Managed Identity to get, wrap, and unwrap key(s)\n        var exampleKeyVault = new KeyVault(\"exampleKeyVault\", KeyVaultArgs.builder()\n            .name(\"mssqltdeexample\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .enabledForDiskEncryption(true)\n            .tenantId(exampleUserAssignedIdentity.tenantId())\n            .softDeleteRetentionDays(7)\n            .purgeProtectionEnabled(true)\n            .skuName(\"standard\")\n            .accessPolicies(            \n                KeyVaultAccessPolicyArgs.builder()\n                    .tenantId(current.tenantId())\n                    .objectId(current.objectId())\n                    .keyPermissions(                    \n                        \"Get\",\n                        \"List\",\n                        \"Create\",\n                        \"Delete\",\n                        \"Update\",\n                        \"Recover\",\n                        \"Purge\",\n                        \"GetRotationPolicy\")\n                    .build(),\n                KeyVaultAccessPolicyArgs.builder()\n                    .tenantId(exampleUserAssignedIdentity.tenantId())\n                    .objectId(exampleUserAssignedIdentity.principalId())\n                    .keyPermissions(                    \n                        \"Get\",\n                        \"WrapKey\",\n                        \"UnwrapKey\")\n                    .build())\n            .build());\n\n        var exampleKey = new Key(\"exampleKey\", KeyArgs.builder()\n            .name(\"example-key\")\n            .keyVaultId(exampleKeyVault.id())\n            .keyType(\"RSA\")\n            .keySize(2048)\n            .keyOpts(            \n                \"unwrapKey\",\n                \"wrapKey\")\n            .build(), CustomResourceOptions.builder()\n                .dependsOn(exampleKeyVault)\n                .build());\n\n        var exampleServer = new Server(\"exampleServer\", ServerArgs.builder()\n            .name(\"example-resource\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .version(\"12.0\")\n            .administratorLogin(\"Example-Administrator\")\n            .administratorLoginPassword(\"Example_Password!\")\n            .minimumTlsVersion(\"1.2\")\n            .azureadAdministrator(ServerAzureadAdministratorArgs.builder()\n                .loginUsername(exampleUserAssignedIdentity.name())\n                .objectId(exampleUserAssignedIdentity.principalId())\n                .build())\n            .identity(ServerIdentityArgs.builder()\n                .type(\"UserAssigned\")\n                .identityIds(exampleUserAssignedIdentity.id())\n                .build())\n            .primaryUserAssignedIdentityId(exampleUserAssignedIdentity.id())\n            .transparentDataEncryptionKeyVaultKeyId(exampleKey.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleUserAssignedIdentity:\n    type: azure:authorization:UserAssignedIdentity\n    name: example\n    properties:\n      name: example-admin\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n  exampleServer:\n    type: azure:mssql:Server\n    name: example\n    properties:\n      name: example-resource\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      version: '12.0'\n      administratorLogin: Example-Administrator\n      administratorLoginPassword: Example_Password!\n      minimumTlsVersion: '1.2'\n      azureadAdministrator:\n        loginUsername: ${exampleUserAssignedIdentity.name}\n        objectId: ${exampleUserAssignedIdentity.principalId}\n      identity:\n        type: UserAssigned\n        identityIds:\n          - ${exampleUserAssignedIdentity.id}\n      primaryUserAssignedIdentityId: ${exampleUserAssignedIdentity.id}\n      transparentDataEncryptionKeyVaultKeyId: ${exampleKey.id}\n  # Create a key vault with access policies which allow for the current user to get, list, create, delete, update, recover, purge and getRotationPolicy for the key vault key and also add a key vault access policy for the Microsoft Sql Server instance User Managed Identity to get, wrap, and unwrap key(s)\n  exampleKeyVault:\n    type: azure:keyvault:KeyVault\n    name: example\n    properties:\n      name: mssqltdeexample\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      enabledForDiskEncryption: true\n      tenantId: ${exampleUserAssignedIdentity.tenantId}\n      softDeleteRetentionDays: 7\n      purgeProtectionEnabled: true\n      skuName: standard\n      accessPolicies:\n        - tenantId: ${current.tenantId}\n          objectId: ${current.objectId}\n          keyPermissions:\n            - Get\n            - List\n            - Create\n            - Delete\n            - Update\n            - Recover\n            - Purge\n            - GetRotationPolicy\n        - tenantId: ${exampleUserAssignedIdentity.tenantId}\n          objectId: ${exampleUserAssignedIdentity.principalId}\n          keyPermissions:\n            - Get\n            - WrapKey\n            - UnwrapKey\n  exampleKey:\n    type: azure:keyvault:Key\n    name: example\n    properties:\n      name: example-key\n      keyVaultId: ${exampleKeyVault.id}\n      keyType: RSA\n      keySize: 2048\n      keyOpts:\n        - unwrapKey\n        - wrapKey\n    options:\n      dependsOn:\n        - ${exampleKeyVault}\nvariables:\n  current:\n    fn::invoke:\n      function: azure:core:getClientConfig\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Sql` - 2023-08-01-preview\n\n## Import\n\nSQL Servers can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:mssql/server:Server example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myresourcegroup/providers/Microsoft.Sql/servers/myserver\n```\n\n","properties":{"administratorLogin":{"type":"string","description":"The administrator login name for the new server. Required unless \u003cspan pulumi-lang-nodejs=\"`azureadAuthenticationOnly`\" pulumi-lang-dotnet=\"`AzureadAuthenticationOnly`\" pulumi-lang-go=\"`azureadAuthenticationOnly`\" pulumi-lang-python=\"`azuread_authentication_only`\" pulumi-lang-yaml=\"`azureadAuthenticationOnly`\" pulumi-lang-java=\"`azureadAuthenticationOnly`\"\u003e`azuread_authentication_only`\u003c/span\u003e in the \u003cspan pulumi-lang-nodejs=\"`azureadAdministrator`\" pulumi-lang-dotnet=\"`AzureadAdministrator`\" pulumi-lang-go=\"`azureadAdministrator`\" pulumi-lang-python=\"`azuread_administrator`\" pulumi-lang-yaml=\"`azureadAdministrator`\" pulumi-lang-java=\"`azureadAdministrator`\"\u003e`azuread_administrator`\u003c/span\u003e block is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e. When omitted, Azure will generate a default username which cannot be subsequently changed. Changing this forces a new resource to be created.\n"},"administratorLoginPassword":{"type":"string","description":"The password associated with the \u003cspan pulumi-lang-nodejs=\"`administratorLogin`\" pulumi-lang-dotnet=\"`AdministratorLogin`\" pulumi-lang-go=\"`administratorLogin`\" pulumi-lang-python=\"`administrator_login`\" pulumi-lang-yaml=\"`administratorLogin`\" pulumi-lang-java=\"`administratorLogin`\"\u003e`administrator_login`\u003c/span\u003e user. Needs to comply with Azure's [Password Policy](https://msdn.microsoft.com/library/ms161959.aspx).\n","secret":true},"administratorLoginPasswordWoVersion":{"type":"integer","description":"An integer value used to trigger an update for \u003cspan pulumi-lang-nodejs=\"`administratorLoginPasswordWo`\" pulumi-lang-dotnet=\"`AdministratorLoginPasswordWo`\" pulumi-lang-go=\"`administratorLoginPasswordWo`\" pulumi-lang-python=\"`administrator_login_password_wo`\" pulumi-lang-yaml=\"`administratorLoginPasswordWo`\" pulumi-lang-java=\"`administratorLoginPasswordWo`\"\u003e`administrator_login_password_wo`\u003c/span\u003e. This property should be incremented when updating \u003cspan pulumi-lang-nodejs=\"`administratorLoginPasswordWo`\" pulumi-lang-dotnet=\"`AdministratorLoginPasswordWo`\" pulumi-lang-go=\"`administratorLoginPasswordWo`\" pulumi-lang-python=\"`administrator_login_password_wo`\" pulumi-lang-yaml=\"`administratorLoginPasswordWo`\" pulumi-lang-java=\"`administratorLoginPasswordWo`\"\u003e`administrator_login_password_wo`\u003c/span\u003e.\n"},"azureadAdministrator":{"$ref":"#/types/azure:mssql/ServerAzureadAdministrator:ServerAzureadAdministrator","description":"An \u003cspan pulumi-lang-nodejs=\"`azureadAdministrator`\" pulumi-lang-dotnet=\"`AzureadAdministrator`\" pulumi-lang-go=\"`azureadAdministrator`\" pulumi-lang-python=\"`azuread_administrator`\" pulumi-lang-yaml=\"`azureadAdministrator`\" pulumi-lang-java=\"`azureadAdministrator`\"\u003e`azuread_administrator`\u003c/span\u003e block as defined below.\n"},"connectionPolicy":{"type":"string","description":"The connection policy the server will use. Possible values are `Default`, `Proxy`, and `Redirect`. Defaults to `Default`.\n"},"expressVulnerabilityAssessmentEnabled":{"type":"boolean","description":"Whether to enable the Express Vulnerability Assessment Configuration. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** If you have enabled the Classic SQL Vulnerability Assessment configuration using the \u003cspan pulumi-lang-nodejs=\"`azure.mssql.ServerVulnerabilityAssessment`\" pulumi-lang-dotnet=\"`azure.mssql.ServerVulnerabilityAssessment`\" pulumi-lang-go=\"`mssql.ServerVulnerabilityAssessment`\" pulumi-lang-python=\"`mssql.ServerVulnerabilityAssessment`\" pulumi-lang-yaml=\"`azure.mssql.ServerVulnerabilityAssessment`\" pulumi-lang-java=\"`azure.mssql.ServerVulnerabilityAssessment`\"\u003e`azure.mssql.ServerVulnerabilityAssessment`\u003c/span\u003e resource, you must first delete it before enabling \u003cspan pulumi-lang-nodejs=\"`expressVulnerabilityAssessmentEnabled`\" pulumi-lang-dotnet=\"`ExpressVulnerabilityAssessmentEnabled`\" pulumi-lang-go=\"`expressVulnerabilityAssessmentEnabled`\" pulumi-lang-python=\"`express_vulnerability_assessment_enabled`\" pulumi-lang-yaml=\"`expressVulnerabilityAssessmentEnabled`\" pulumi-lang-java=\"`expressVulnerabilityAssessmentEnabled`\"\u003e`express_vulnerability_assessment_enabled`\u003c/span\u003e. If you wish to revert back to using the Classic SQL Vulnerability Assessment configuration you must first disable this setting.\n"},"fullyQualifiedDomainName":{"type":"string","description":"The fully qualified domain name of the Azure SQL Server (e.g. myServerName.database.windows.net)\n"},"identity":{"$ref":"#/types/azure:mssql/ServerIdentity:ServerIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n"},"minimumTlsVersion":{"type":"string","description":"The Minimum TLS Version for all SQL Database and SQL Data Warehouse databases associated with the server. Valid values are: `1.0`, `1.1` , `1.2` and `Disabled`. Defaults to `1.2`.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`minimumTlsVersion`\" pulumi-lang-dotnet=\"`MinimumTlsVersion`\" pulumi-lang-go=\"`minimumTlsVersion`\" pulumi-lang-python=\"`minimum_tls_version`\" pulumi-lang-yaml=\"`minimumTlsVersion`\" pulumi-lang-java=\"`minimumTlsVersion`\"\u003e`minimum_tls_version`\u003c/span\u003e is set to `Disabled` means all TLS versions are allowed. After you enforce a version of \u003cspan pulumi-lang-nodejs=\"`minimumTlsVersion`\" pulumi-lang-dotnet=\"`MinimumTlsVersion`\" pulumi-lang-go=\"`minimumTlsVersion`\" pulumi-lang-python=\"`minimum_tls_version`\" pulumi-lang-yaml=\"`minimumTlsVersion`\" pulumi-lang-java=\"`minimumTlsVersion`\"\u003e`minimum_tls_version`\u003c/span\u003e, it's not possible to revert to `Disabled`.\n\n\u003e **Note:** Azure Services will require TLS 1.2+ by August 2025, please see this [announcement](https://azure.microsoft.com/en-us/updates/v2/update-retirement-tls1-0-tls1-1-versions-azure-services/) for more.\n"},"name":{"type":"string","description":"The name of the Microsoft SQL Server. This needs to be globally unique within Azure. Changing this forces a new resource to be created.\n"},"outboundNetworkRestrictionEnabled":{"type":"boolean","description":"Whether outbound network traffic is restricted for this server. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"primaryUserAssignedIdentityId":{"type":"string","description":"Specifies the primary user managed identity id. Required if \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e within the \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block is set to either `SystemAssigned, UserAssigned` or `UserAssigned` and should be set at same time as setting \u003cspan pulumi-lang-nodejs=\"`identityIds`\" pulumi-lang-dotnet=\"`IdentityIds`\" pulumi-lang-go=\"`identityIds`\" pulumi-lang-python=\"`identity_ids`\" pulumi-lang-yaml=\"`identityIds`\" pulumi-lang-java=\"`identityIds`\"\u003e`identity_ids`\u003c/span\u003e.\n"},"publicNetworkAccessEnabled":{"type":"boolean","description":"Whether public network access is allowed for this server. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the Microsoft SQL Server. Changing this forces a new resource to be created.\n"},"restorableDroppedDatabaseIds":{"type":"array","items":{"type":"string"},"description":"A list of dropped restorable database IDs on the server.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"transparentDataEncryptionKeyVaultKeyId":{"type":"string","description":"The fully versioned `Key Vault` `Key` URL (e.g. `'https://\u003cYourVaultName\u003e.vault.azure.net/keys/\u003cYourKeyName\u003e/\u003cYourKeyVersion\u003e`) to be used as the `Customer Managed Key`(CMK/BYOK) for the `Transparent Data Encryption`(TDE) layer.\n\n\u003e **Note:** To successfully deploy a `Microsoft SQL Server` in CMK/BYOK TDE the `Key Vault` must have `Soft-delete` and `purge protection` enabled to protect from data loss due to accidental key and/or key vault deletion. The `Key Vault` and the `Microsoft SQL Server` `User Managed Identity Instance` must belong to the same `Azure Active Directory` \u003cspan pulumi-lang-nodejs=\"`tenant`\" pulumi-lang-dotnet=\"`Tenant`\" pulumi-lang-go=\"`tenant`\" pulumi-lang-python=\"`tenant`\" pulumi-lang-yaml=\"`tenant`\" pulumi-lang-java=\"`tenant`\"\u003e`tenant`\u003c/span\u003e.\n\n\u003e **Note:** Cross-tenant `Key Vault` and `Microsoft SQL Server` interactions are not supported. Please see the [product documentation](https://learn.microsoft.com/azure/azure-sql/database/transparent-data-encryption-byok-overview?view=azuresql#requirements-for-configuring-customer-managed-tde) for more information.\n\n\u003e **Note:** When using a firewall with a `Key Vault`, you must enable the option `Allow trusted Microsoft services to bypass the firewall`.\n"},"version":{"type":"string","description":"The version for the new server. Valid values are: 2.0 (for v11 server) and 12.0 (for v12 server). Changing this forces a new resource to be created.\n"}},"required":["administratorLogin","fullyQualifiedDomainName","location","name","primaryUserAssignedIdentityId","resourceGroupName","restorableDroppedDatabaseIds","version"],"inputProperties":{"administratorLogin":{"type":"string","description":"The administrator login name for the new server. Required unless \u003cspan pulumi-lang-nodejs=\"`azureadAuthenticationOnly`\" pulumi-lang-dotnet=\"`AzureadAuthenticationOnly`\" pulumi-lang-go=\"`azureadAuthenticationOnly`\" pulumi-lang-python=\"`azuread_authentication_only`\" pulumi-lang-yaml=\"`azureadAuthenticationOnly`\" pulumi-lang-java=\"`azureadAuthenticationOnly`\"\u003e`azuread_authentication_only`\u003c/span\u003e in the \u003cspan pulumi-lang-nodejs=\"`azureadAdministrator`\" pulumi-lang-dotnet=\"`AzureadAdministrator`\" pulumi-lang-go=\"`azureadAdministrator`\" pulumi-lang-python=\"`azuread_administrator`\" pulumi-lang-yaml=\"`azureadAdministrator`\" pulumi-lang-java=\"`azureadAdministrator`\"\u003e`azuread_administrator`\u003c/span\u003e block is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e. When omitted, Azure will generate a default username which cannot be subsequently changed. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"administratorLoginPassword":{"type":"string","description":"The password associated with the \u003cspan pulumi-lang-nodejs=\"`administratorLogin`\" pulumi-lang-dotnet=\"`AdministratorLogin`\" pulumi-lang-go=\"`administratorLogin`\" pulumi-lang-python=\"`administrator_login`\" pulumi-lang-yaml=\"`administratorLogin`\" pulumi-lang-java=\"`administratorLogin`\"\u003e`administrator_login`\u003c/span\u003e user. Needs to comply with Azure's [Password Policy](https://msdn.microsoft.com/library/ms161959.aspx).\n","secret":true},"administratorLoginPasswordWoVersion":{"type":"integer","description":"An integer value used to trigger an update for \u003cspan pulumi-lang-nodejs=\"`administratorLoginPasswordWo`\" pulumi-lang-dotnet=\"`AdministratorLoginPasswordWo`\" pulumi-lang-go=\"`administratorLoginPasswordWo`\" pulumi-lang-python=\"`administrator_login_password_wo`\" pulumi-lang-yaml=\"`administratorLoginPasswordWo`\" pulumi-lang-java=\"`administratorLoginPasswordWo`\"\u003e`administrator_login_password_wo`\u003c/span\u003e. This property should be incremented when updating \u003cspan pulumi-lang-nodejs=\"`administratorLoginPasswordWo`\" pulumi-lang-dotnet=\"`AdministratorLoginPasswordWo`\" pulumi-lang-go=\"`administratorLoginPasswordWo`\" pulumi-lang-python=\"`administrator_login_password_wo`\" pulumi-lang-yaml=\"`administratorLoginPasswordWo`\" pulumi-lang-java=\"`administratorLoginPasswordWo`\"\u003e`administrator_login_password_wo`\u003c/span\u003e.\n"},"azureadAdministrator":{"$ref":"#/types/azure:mssql/ServerAzureadAdministrator:ServerAzureadAdministrator","description":"An \u003cspan pulumi-lang-nodejs=\"`azureadAdministrator`\" pulumi-lang-dotnet=\"`AzureadAdministrator`\" pulumi-lang-go=\"`azureadAdministrator`\" pulumi-lang-python=\"`azuread_administrator`\" pulumi-lang-yaml=\"`azureadAdministrator`\" pulumi-lang-java=\"`azureadAdministrator`\"\u003e`azuread_administrator`\u003c/span\u003e block as defined below.\n"},"connectionPolicy":{"type":"string","description":"The connection policy the server will use. Possible values are `Default`, `Proxy`, and `Redirect`. Defaults to `Default`.\n"},"expressVulnerabilityAssessmentEnabled":{"type":"boolean","description":"Whether to enable the Express Vulnerability Assessment Configuration. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** If you have enabled the Classic SQL Vulnerability Assessment configuration using the \u003cspan pulumi-lang-nodejs=\"`azure.mssql.ServerVulnerabilityAssessment`\" pulumi-lang-dotnet=\"`azure.mssql.ServerVulnerabilityAssessment`\" pulumi-lang-go=\"`mssql.ServerVulnerabilityAssessment`\" pulumi-lang-python=\"`mssql.ServerVulnerabilityAssessment`\" pulumi-lang-yaml=\"`azure.mssql.ServerVulnerabilityAssessment`\" pulumi-lang-java=\"`azure.mssql.ServerVulnerabilityAssessment`\"\u003e`azure.mssql.ServerVulnerabilityAssessment`\u003c/span\u003e resource, you must first delete it before enabling \u003cspan pulumi-lang-nodejs=\"`expressVulnerabilityAssessmentEnabled`\" pulumi-lang-dotnet=\"`ExpressVulnerabilityAssessmentEnabled`\" pulumi-lang-go=\"`expressVulnerabilityAssessmentEnabled`\" pulumi-lang-python=\"`express_vulnerability_assessment_enabled`\" pulumi-lang-yaml=\"`expressVulnerabilityAssessmentEnabled`\" pulumi-lang-java=\"`expressVulnerabilityAssessmentEnabled`\"\u003e`express_vulnerability_assessment_enabled`\u003c/span\u003e. If you wish to revert back to using the Classic SQL Vulnerability Assessment configuration you must first disable this setting.\n"},"identity":{"$ref":"#/types/azure:mssql/ServerIdentity:ServerIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"minimumTlsVersion":{"type":"string","description":"The Minimum TLS Version for all SQL Database and SQL Data Warehouse databases associated with the server. Valid values are: `1.0`, `1.1` , `1.2` and `Disabled`. Defaults to `1.2`.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`minimumTlsVersion`\" pulumi-lang-dotnet=\"`MinimumTlsVersion`\" pulumi-lang-go=\"`minimumTlsVersion`\" pulumi-lang-python=\"`minimum_tls_version`\" pulumi-lang-yaml=\"`minimumTlsVersion`\" pulumi-lang-java=\"`minimumTlsVersion`\"\u003e`minimum_tls_version`\u003c/span\u003e is set to `Disabled` means all TLS versions are allowed. After you enforce a version of \u003cspan pulumi-lang-nodejs=\"`minimumTlsVersion`\" pulumi-lang-dotnet=\"`MinimumTlsVersion`\" pulumi-lang-go=\"`minimumTlsVersion`\" pulumi-lang-python=\"`minimum_tls_version`\" pulumi-lang-yaml=\"`minimumTlsVersion`\" pulumi-lang-java=\"`minimumTlsVersion`\"\u003e`minimum_tls_version`\u003c/span\u003e, it's not possible to revert to `Disabled`.\n\n\u003e **Note:** Azure Services will require TLS 1.2+ by August 2025, please see this [announcement](https://azure.microsoft.com/en-us/updates/v2/update-retirement-tls1-0-tls1-1-versions-azure-services/) for more.\n"},"name":{"type":"string","description":"The name of the Microsoft SQL Server. This needs to be globally unique within Azure. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"outboundNetworkRestrictionEnabled":{"type":"boolean","description":"Whether outbound network traffic is restricted for this server. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"primaryUserAssignedIdentityId":{"type":"string","description":"Specifies the primary user managed identity id. Required if \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e within the \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block is set to either `SystemAssigned, UserAssigned` or `UserAssigned` and should be set at same time as setting \u003cspan pulumi-lang-nodejs=\"`identityIds`\" pulumi-lang-dotnet=\"`IdentityIds`\" pulumi-lang-go=\"`identityIds`\" pulumi-lang-python=\"`identity_ids`\" pulumi-lang-yaml=\"`identityIds`\" pulumi-lang-java=\"`identityIds`\"\u003e`identity_ids`\u003c/span\u003e.\n"},"publicNetworkAccessEnabled":{"type":"boolean","description":"Whether public network access is allowed for this server. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the Microsoft SQL Server. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"transparentDataEncryptionKeyVaultKeyId":{"type":"string","description":"The fully versioned `Key Vault` `Key` URL (e.g. `'https://\u003cYourVaultName\u003e.vault.azure.net/keys/\u003cYourKeyName\u003e/\u003cYourKeyVersion\u003e`) to be used as the `Customer Managed Key`(CMK/BYOK) for the `Transparent Data Encryption`(TDE) layer.\n\n\u003e **Note:** To successfully deploy a `Microsoft SQL Server` in CMK/BYOK TDE the `Key Vault` must have `Soft-delete` and `purge protection` enabled to protect from data loss due to accidental key and/or key vault deletion. The `Key Vault` and the `Microsoft SQL Server` `User Managed Identity Instance` must belong to the same `Azure Active Directory` \u003cspan pulumi-lang-nodejs=\"`tenant`\" pulumi-lang-dotnet=\"`Tenant`\" pulumi-lang-go=\"`tenant`\" pulumi-lang-python=\"`tenant`\" pulumi-lang-yaml=\"`tenant`\" pulumi-lang-java=\"`tenant`\"\u003e`tenant`\u003c/span\u003e.\n\n\u003e **Note:** Cross-tenant `Key Vault` and `Microsoft SQL Server` interactions are not supported. Please see the [product documentation](https://learn.microsoft.com/azure/azure-sql/database/transparent-data-encryption-byok-overview?view=azuresql#requirements-for-configuring-customer-managed-tde) for more information.\n\n\u003e **Note:** When using a firewall with a `Key Vault`, you must enable the option `Allow trusted Microsoft services to bypass the firewall`.\n"},"version":{"type":"string","description":"The version for the new server. Valid values are: 2.0 (for v11 server) and 12.0 (for v12 server). Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["resourceGroupName","version"],"stateInputs":{"description":"Input properties used for looking up and filtering Server resources.\n","properties":{"administratorLogin":{"type":"string","description":"The administrator login name for the new server. Required unless \u003cspan pulumi-lang-nodejs=\"`azureadAuthenticationOnly`\" pulumi-lang-dotnet=\"`AzureadAuthenticationOnly`\" pulumi-lang-go=\"`azureadAuthenticationOnly`\" pulumi-lang-python=\"`azuread_authentication_only`\" pulumi-lang-yaml=\"`azureadAuthenticationOnly`\" pulumi-lang-java=\"`azureadAuthenticationOnly`\"\u003e`azuread_authentication_only`\u003c/span\u003e in the \u003cspan pulumi-lang-nodejs=\"`azureadAdministrator`\" pulumi-lang-dotnet=\"`AzureadAdministrator`\" pulumi-lang-go=\"`azureadAdministrator`\" pulumi-lang-python=\"`azuread_administrator`\" pulumi-lang-yaml=\"`azureadAdministrator`\" pulumi-lang-java=\"`azureadAdministrator`\"\u003e`azuread_administrator`\u003c/span\u003e block is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e. When omitted, Azure will generate a default username which cannot be subsequently changed. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"administratorLoginPassword":{"type":"string","description":"The password associated with the \u003cspan pulumi-lang-nodejs=\"`administratorLogin`\" pulumi-lang-dotnet=\"`AdministratorLogin`\" pulumi-lang-go=\"`administratorLogin`\" pulumi-lang-python=\"`administrator_login`\" pulumi-lang-yaml=\"`administratorLogin`\" pulumi-lang-java=\"`administratorLogin`\"\u003e`administrator_login`\u003c/span\u003e user. Needs to comply with Azure's [Password Policy](https://msdn.microsoft.com/library/ms161959.aspx).\n","secret":true},"administratorLoginPasswordWoVersion":{"type":"integer","description":"An integer value used to trigger an update for \u003cspan pulumi-lang-nodejs=\"`administratorLoginPasswordWo`\" pulumi-lang-dotnet=\"`AdministratorLoginPasswordWo`\" pulumi-lang-go=\"`administratorLoginPasswordWo`\" pulumi-lang-python=\"`administrator_login_password_wo`\" pulumi-lang-yaml=\"`administratorLoginPasswordWo`\" pulumi-lang-java=\"`administratorLoginPasswordWo`\"\u003e`administrator_login_password_wo`\u003c/span\u003e. This property should be incremented when updating \u003cspan pulumi-lang-nodejs=\"`administratorLoginPasswordWo`\" pulumi-lang-dotnet=\"`AdministratorLoginPasswordWo`\" pulumi-lang-go=\"`administratorLoginPasswordWo`\" pulumi-lang-python=\"`administrator_login_password_wo`\" pulumi-lang-yaml=\"`administratorLoginPasswordWo`\" pulumi-lang-java=\"`administratorLoginPasswordWo`\"\u003e`administrator_login_password_wo`\u003c/span\u003e.\n"},"azureadAdministrator":{"$ref":"#/types/azure:mssql/ServerAzureadAdministrator:ServerAzureadAdministrator","description":"An \u003cspan pulumi-lang-nodejs=\"`azureadAdministrator`\" pulumi-lang-dotnet=\"`AzureadAdministrator`\" pulumi-lang-go=\"`azureadAdministrator`\" pulumi-lang-python=\"`azuread_administrator`\" pulumi-lang-yaml=\"`azureadAdministrator`\" pulumi-lang-java=\"`azureadAdministrator`\"\u003e`azuread_administrator`\u003c/span\u003e block as defined below.\n"},"connectionPolicy":{"type":"string","description":"The connection policy the server will use. Possible values are `Default`, `Proxy`, and `Redirect`. Defaults to `Default`.\n"},"expressVulnerabilityAssessmentEnabled":{"type":"boolean","description":"Whether to enable the Express Vulnerability Assessment Configuration. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** If you have enabled the Classic SQL Vulnerability Assessment configuration using the \u003cspan pulumi-lang-nodejs=\"`azure.mssql.ServerVulnerabilityAssessment`\" pulumi-lang-dotnet=\"`azure.mssql.ServerVulnerabilityAssessment`\" pulumi-lang-go=\"`mssql.ServerVulnerabilityAssessment`\" pulumi-lang-python=\"`mssql.ServerVulnerabilityAssessment`\" pulumi-lang-yaml=\"`azure.mssql.ServerVulnerabilityAssessment`\" pulumi-lang-java=\"`azure.mssql.ServerVulnerabilityAssessment`\"\u003e`azure.mssql.ServerVulnerabilityAssessment`\u003c/span\u003e resource, you must first delete it before enabling \u003cspan pulumi-lang-nodejs=\"`expressVulnerabilityAssessmentEnabled`\" pulumi-lang-dotnet=\"`ExpressVulnerabilityAssessmentEnabled`\" pulumi-lang-go=\"`expressVulnerabilityAssessmentEnabled`\" pulumi-lang-python=\"`express_vulnerability_assessment_enabled`\" pulumi-lang-yaml=\"`expressVulnerabilityAssessmentEnabled`\" pulumi-lang-java=\"`expressVulnerabilityAssessmentEnabled`\"\u003e`express_vulnerability_assessment_enabled`\u003c/span\u003e. If you wish to revert back to using the Classic SQL Vulnerability Assessment configuration you must first disable this setting.\n"},"fullyQualifiedDomainName":{"type":"string","description":"The fully qualified domain name of the Azure SQL Server (e.g. myServerName.database.windows.net)\n"},"identity":{"$ref":"#/types/azure:mssql/ServerIdentity:ServerIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"minimumTlsVersion":{"type":"string","description":"The Minimum TLS Version for all SQL Database and SQL Data Warehouse databases associated with the server. Valid values are: `1.0`, `1.1` , `1.2` and `Disabled`. Defaults to `1.2`.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`minimumTlsVersion`\" pulumi-lang-dotnet=\"`MinimumTlsVersion`\" pulumi-lang-go=\"`minimumTlsVersion`\" pulumi-lang-python=\"`minimum_tls_version`\" pulumi-lang-yaml=\"`minimumTlsVersion`\" pulumi-lang-java=\"`minimumTlsVersion`\"\u003e`minimum_tls_version`\u003c/span\u003e is set to `Disabled` means all TLS versions are allowed. After you enforce a version of \u003cspan pulumi-lang-nodejs=\"`minimumTlsVersion`\" pulumi-lang-dotnet=\"`MinimumTlsVersion`\" pulumi-lang-go=\"`minimumTlsVersion`\" pulumi-lang-python=\"`minimum_tls_version`\" pulumi-lang-yaml=\"`minimumTlsVersion`\" pulumi-lang-java=\"`minimumTlsVersion`\"\u003e`minimum_tls_version`\u003c/span\u003e, it's not possible to revert to `Disabled`.\n\n\u003e **Note:** Azure Services will require TLS 1.2+ by August 2025, please see this [announcement](https://azure.microsoft.com/en-us/updates/v2/update-retirement-tls1-0-tls1-1-versions-azure-services/) for more.\n"},"name":{"type":"string","description":"The name of the Microsoft SQL Server. This needs to be globally unique within Azure. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"outboundNetworkRestrictionEnabled":{"type":"boolean","description":"Whether outbound network traffic is restricted for this server. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"primaryUserAssignedIdentityId":{"type":"string","description":"Specifies the primary user managed identity id. Required if \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e within the \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block is set to either `SystemAssigned, UserAssigned` or `UserAssigned` and should be set at same time as setting \u003cspan pulumi-lang-nodejs=\"`identityIds`\" pulumi-lang-dotnet=\"`IdentityIds`\" pulumi-lang-go=\"`identityIds`\" pulumi-lang-python=\"`identity_ids`\" pulumi-lang-yaml=\"`identityIds`\" pulumi-lang-java=\"`identityIds`\"\u003e`identity_ids`\u003c/span\u003e.\n"},"publicNetworkAccessEnabled":{"type":"boolean","description":"Whether public network access is allowed for this server. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the Microsoft SQL Server. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"restorableDroppedDatabaseIds":{"type":"array","items":{"type":"string"},"description":"A list of dropped restorable database IDs on the server.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"transparentDataEncryptionKeyVaultKeyId":{"type":"string","description":"The fully versioned `Key Vault` `Key` URL (e.g. `'https://\u003cYourVaultName\u003e.vault.azure.net/keys/\u003cYourKeyName\u003e/\u003cYourKeyVersion\u003e`) to be used as the `Customer Managed Key`(CMK/BYOK) for the `Transparent Data Encryption`(TDE) layer.\n\n\u003e **Note:** To successfully deploy a `Microsoft SQL Server` in CMK/BYOK TDE the `Key Vault` must have `Soft-delete` and `purge protection` enabled to protect from data loss due to accidental key and/or key vault deletion. The `Key Vault` and the `Microsoft SQL Server` `User Managed Identity Instance` must belong to the same `Azure Active Directory` \u003cspan pulumi-lang-nodejs=\"`tenant`\" pulumi-lang-dotnet=\"`Tenant`\" pulumi-lang-go=\"`tenant`\" pulumi-lang-python=\"`tenant`\" pulumi-lang-yaml=\"`tenant`\" pulumi-lang-java=\"`tenant`\"\u003e`tenant`\u003c/span\u003e.\n\n\u003e **Note:** Cross-tenant `Key Vault` and `Microsoft SQL Server` interactions are not supported. Please see the [product documentation](https://learn.microsoft.com/azure/azure-sql/database/transparent-data-encryption-byok-overview?view=azuresql#requirements-for-configuring-customer-managed-tde) for more information.\n\n\u003e **Note:** When using a firewall with a `Key Vault`, you must enable the option `Allow trusted Microsoft services to bypass the firewall`.\n"},"version":{"type":"string","description":"The version for the new server. Valid values are: 2.0 (for v11 server) and 12.0 (for v12 server). Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"},"aliases":[{"type":"azure:sql/sqlServer:SqlServer"}]},"azure:mssql/serverDnsAlias:ServerDnsAlias":{"description":"Manages a MS SQL Server DNS Alias.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleServer = new azure.mssql.Server(\"example\", {\n    name: \"example-sqlserver\",\n    resourceGroupName: example.name,\n    location: example.location,\n    version: \"12.0\",\n    administratorLogin: \"missadministrator\",\n    administratorLoginPassword: \"AdminPassword123!\",\n});\nconst exampleServerDnsAlias = new azure.mssql.ServerDnsAlias(\"example\", {\n    name: \"example-dns-alias\",\n    mssqlServerId: exampleServer.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_server = azure.mssql.Server(\"example\",\n    name=\"example-sqlserver\",\n    resource_group_name=example.name,\n    location=example.location,\n    version=\"12.0\",\n    administrator_login=\"missadministrator\",\n    administrator_login_password=\"AdminPassword123!\")\nexample_server_dns_alias = azure.mssql.ServerDnsAlias(\"example\",\n    name=\"example-dns-alias\",\n    mssql_server_id=example_server.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleServer = new Azure.MSSql.Server(\"example\", new()\n    {\n        Name = \"example-sqlserver\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        Version = \"12.0\",\n        AdministratorLogin = \"missadministrator\",\n        AdministratorLoginPassword = \"AdminPassword123!\",\n    });\n\n    var exampleServerDnsAlias = new Azure.MSSql.ServerDnsAlias(\"example\", new()\n    {\n        Name = \"example-dns-alias\",\n        MssqlServerId = exampleServer.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/mssql\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleServer, err := mssql.NewServer(ctx, \"example\", \u0026mssql.ServerArgs{\n\t\t\tName:                       pulumi.String(\"example-sqlserver\"),\n\t\t\tResourceGroupName:          example.Name,\n\t\t\tLocation:                   example.Location,\n\t\t\tVersion:                    pulumi.String(\"12.0\"),\n\t\t\tAdministratorLogin:         pulumi.String(\"missadministrator\"),\n\t\t\tAdministratorLoginPassword: pulumi.String(\"AdminPassword123!\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = mssql.NewServerDnsAlias(ctx, \"example\", \u0026mssql.ServerDnsAliasArgs{\n\t\t\tName:          pulumi.String(\"example-dns-alias\"),\n\t\t\tMssqlServerId: exampleServer.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.mssql.Server;\nimport com.pulumi.azure.mssql.ServerArgs;\nimport com.pulumi.azure.mssql.ServerDnsAlias;\nimport com.pulumi.azure.mssql.ServerDnsAliasArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleServer = new Server(\"exampleServer\", ServerArgs.builder()\n            .name(\"example-sqlserver\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .version(\"12.0\")\n            .administratorLogin(\"missadministrator\")\n            .administratorLoginPassword(\"AdminPassword123!\")\n            .build());\n\n        var exampleServerDnsAlias = new ServerDnsAlias(\"exampleServerDnsAlias\", ServerDnsAliasArgs.builder()\n            .name(\"example-dns-alias\")\n            .mssqlServerId(exampleServer.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleServer:\n    type: azure:mssql:Server\n    name: example\n    properties:\n      name: example-sqlserver\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      version: '12.0'\n      administratorLogin: missadministrator\n      administratorLoginPassword: AdminPassword123!\n  exampleServerDnsAlias:\n    type: azure:mssql:ServerDnsAlias\n    name: example\n    properties:\n      name: example-dns-alias\n      mssqlServerId: ${exampleServer.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Sql` - 2023-08-01-preview\n\n## Import\n\nMSSQL Server DNS Aliass can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:mssql/serverDnsAlias:ServerDnsAlias example /subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/dnsAliases/default\n```\n\n","properties":{"dnsRecord":{"type":"string","description":"The fully qualified DNS record for alias.\n"},"mssqlServerId":{"type":"string","description":"The ID of the mssql server. Changing this forces a new MSSQL Server DNS Alias to be created.\n"},"name":{"type":"string","description":"The name which should be used for this MSSQL Server DNS Alias. Changing this forces a new MSSQL Server DNS Alias to be created.\n"}},"required":["dnsRecord","mssqlServerId","name"],"inputProperties":{"mssqlServerId":{"type":"string","description":"The ID of the mssql server. Changing this forces a new MSSQL Server DNS Alias to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this MSSQL Server DNS Alias. Changing this forces a new MSSQL Server DNS Alias to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["mssqlServerId"],"stateInputs":{"description":"Input properties used for looking up and filtering ServerDnsAlias resources.\n","properties":{"dnsRecord":{"type":"string","description":"The fully qualified DNS record for alias.\n"},"mssqlServerId":{"type":"string","description":"The ID of the mssql server. Changing this forces a new MSSQL Server DNS Alias to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this MSSQL Server DNS Alias. Changing this forces a new MSSQL Server DNS Alias to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:mssql/serverExtendedAuditingPolicy:ServerExtendedAuditingPolicy":{"description":"Manages a MS SQL Server Extended Auditing Policy.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleServer = new azure.mssql.Server(\"example\", {\n    name: \"example-sqlserver\",\n    resourceGroupName: example.name,\n    location: example.location,\n    version: \"12.0\",\n    administratorLogin: \"missadministrator\",\n    administratorLoginPassword: \"AdminPassword123!\",\n});\nconst exampleAccount = new azure.storage.Account(\"example\", {\n    name: \"examplesa\",\n    resourceGroupName: example.name,\n    location: example.location,\n    accountTier: \"Standard\",\n    accountReplicationType: \"LRS\",\n});\nconst exampleServerExtendedAuditingPolicy = new azure.mssql.ServerExtendedAuditingPolicy(\"example\", {\n    serverId: exampleServer.id,\n    storageEndpoint: exampleAccount.primaryBlobEndpoint,\n    storageAccountAccessKey: exampleAccount.primaryAccessKey,\n    storageAccountAccessKeyIsSecondary: false,\n    retentionInDays: 6,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_server = azure.mssql.Server(\"example\",\n    name=\"example-sqlserver\",\n    resource_group_name=example.name,\n    location=example.location,\n    version=\"12.0\",\n    administrator_login=\"missadministrator\",\n    administrator_login_password=\"AdminPassword123!\")\nexample_account = azure.storage.Account(\"example\",\n    name=\"examplesa\",\n    resource_group_name=example.name,\n    location=example.location,\n    account_tier=\"Standard\",\n    account_replication_type=\"LRS\")\nexample_server_extended_auditing_policy = azure.mssql.ServerExtendedAuditingPolicy(\"example\",\n    server_id=example_server.id,\n    storage_endpoint=example_account.primary_blob_endpoint,\n    storage_account_access_key=example_account.primary_access_key,\n    storage_account_access_key_is_secondary=False,\n    retention_in_days=6)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleServer = new Azure.MSSql.Server(\"example\", new()\n    {\n        Name = \"example-sqlserver\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        Version = \"12.0\",\n        AdministratorLogin = \"missadministrator\",\n        AdministratorLoginPassword = \"AdminPassword123!\",\n    });\n\n    var exampleAccount = new Azure.Storage.Account(\"example\", new()\n    {\n        Name = \"examplesa\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        AccountTier = \"Standard\",\n        AccountReplicationType = \"LRS\",\n    });\n\n    var exampleServerExtendedAuditingPolicy = new Azure.MSSql.ServerExtendedAuditingPolicy(\"example\", new()\n    {\n        ServerId = exampleServer.Id,\n        StorageEndpoint = exampleAccount.PrimaryBlobEndpoint,\n        StorageAccountAccessKey = exampleAccount.PrimaryAccessKey,\n        StorageAccountAccessKeyIsSecondary = false,\n        RetentionInDays = 6,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/mssql\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleServer, err := mssql.NewServer(ctx, \"example\", \u0026mssql.ServerArgs{\n\t\t\tName:                       pulumi.String(\"example-sqlserver\"),\n\t\t\tResourceGroupName:          example.Name,\n\t\t\tLocation:                   example.Location,\n\t\t\tVersion:                    pulumi.String(\"12.0\"),\n\t\t\tAdministratorLogin:         pulumi.String(\"missadministrator\"),\n\t\t\tAdministratorLoginPassword: pulumi.String(\"AdminPassword123!\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := storage.NewAccount(ctx, \"example\", \u0026storage.AccountArgs{\n\t\t\tName:                   pulumi.String(\"examplesa\"),\n\t\t\tResourceGroupName:      example.Name,\n\t\t\tLocation:               example.Location,\n\t\t\tAccountTier:            pulumi.String(\"Standard\"),\n\t\t\tAccountReplicationType: pulumi.String(\"LRS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = mssql.NewServerExtendedAuditingPolicy(ctx, \"example\", \u0026mssql.ServerExtendedAuditingPolicyArgs{\n\t\t\tServerId:                           exampleServer.ID(),\n\t\t\tStorageEndpoint:                    exampleAccount.PrimaryBlobEndpoint,\n\t\t\tStorageAccountAccessKey:            exampleAccount.PrimaryAccessKey,\n\t\t\tStorageAccountAccessKeyIsSecondary: pulumi.Bool(false),\n\t\t\tRetentionInDays:                    pulumi.Int(6),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.mssql.Server;\nimport com.pulumi.azure.mssql.ServerArgs;\nimport com.pulumi.azure.storage.Account;\nimport com.pulumi.azure.storage.AccountArgs;\nimport com.pulumi.azure.mssql.ServerExtendedAuditingPolicy;\nimport com.pulumi.azure.mssql.ServerExtendedAuditingPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleServer = new Server(\"exampleServer\", ServerArgs.builder()\n            .name(\"example-sqlserver\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .version(\"12.0\")\n            .administratorLogin(\"missadministrator\")\n            .administratorLoginPassword(\"AdminPassword123!\")\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"examplesa\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .accountTier(\"Standard\")\n            .accountReplicationType(\"LRS\")\n            .build());\n\n        var exampleServerExtendedAuditingPolicy = new ServerExtendedAuditingPolicy(\"exampleServerExtendedAuditingPolicy\", ServerExtendedAuditingPolicyArgs.builder()\n            .serverId(exampleServer.id())\n            .storageEndpoint(exampleAccount.primaryBlobEndpoint())\n            .storageAccountAccessKey(exampleAccount.primaryAccessKey())\n            .storageAccountAccessKeyIsSecondary(false)\n            .retentionInDays(6)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleServer:\n    type: azure:mssql:Server\n    name: example\n    properties:\n      name: example-sqlserver\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      version: '12.0'\n      administratorLogin: missadministrator\n      administratorLoginPassword: AdminPassword123!\n  exampleAccount:\n    type: azure:storage:Account\n    name: example\n    properties:\n      name: examplesa\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      accountTier: Standard\n      accountReplicationType: LRS\n  exampleServerExtendedAuditingPolicy:\n    type: azure:mssql:ServerExtendedAuditingPolicy\n    name: example\n    properties:\n      serverId: ${exampleServer.id}\n      storageEndpoint: ${exampleAccount.primaryBlobEndpoint}\n      storageAccountAccessKey: ${exampleAccount.primaryAccessKey}\n      storageAccountAccessKeyIsSecondary: false\n      retentionInDays: 6\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\n### With Storage Account Behind VNet And Firewall\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\nimport * as azurerm from \"@pulumi/azurerm\";\n\nconst primary = azure.core.getSubscription({});\nconst example = azure.core.getClientConfig({});\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"example\", {\n    name: \"example\",\n    location: \"West Europe\",\n});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"example\", {\n    name: \"virtnetname-1\",\n    addressSpaces: [\"10.0.0.0/16\"],\n    location: exampleResourceGroup.location,\n    resourceGroupName: exampleResourceGroup.name,\n});\nconst exampleSubnet = new azure.network.Subnet(\"example\", {\n    name: \"subnetname-1\",\n    resourceGroupName: exampleResourceGroup.name,\n    virtualNetworkName: exampleVirtualNetwork.name,\n    addressPrefixes: [\"10.0.2.0/24\"],\n    serviceEndpoints: [\n        \"Microsoft.Sql\",\n        \"Microsoft.Storage\",\n    ],\n    enforcePrivateLinkEndpointNetworkPolicies: true,\n});\nconst exampleServer = new azure.mssql.Server(\"example\", {\n    name: \"example-sqlserver\",\n    resourceGroupName: exampleResourceGroup.name,\n    location: exampleResourceGroup.location,\n    version: \"12.0\",\n    administratorLogin: \"missadministrator\",\n    administratorLoginPassword: \"AdminPassword123!\",\n    minimumTlsVersion: \"1.2\",\n    identity: {\n        type: \"SystemAssigned\",\n    },\n});\nconst exampleAssignment = new azure.authorization.Assignment(\"example\", {\n    scope: primary.then(primary =\u003e primary.id),\n    roleDefinitionName: \"Storage Blob Data Contributor\",\n    principalId: exampleServer.identity.apply(identity =\u003e identity?.principalId),\n});\nconst sqlvnetrule = new azurerm.index.SqlVirtualNetworkRule(\"sqlvnetrule\", {\n    name: \"sql-vnet-rule\",\n    resourceGroupName: exampleResourceGroup.name,\n    serverName: exampleServer.name,\n    subnetId: exampleSubnet.id,\n});\nconst exampleSqlFirewallRule = new azurerm.index.SqlFirewallRule(\"example\", {\n    name: \"FirewallRule1\",\n    resourceGroupName: exampleResourceGroup.name,\n    serverName: exampleServer.name,\n    startIpAddress: \"0.0.0.0\",\n    endIpAddress: \"0.0.0.0\",\n});\nconst exampleAccount = new azure.storage.Account(\"example\", {\n    name: \"examplesa\",\n    resourceGroupName: exampleResourceGroup.name,\n    location: exampleResourceGroup.location,\n    accountTier: \"Standard\",\n    accountReplicationType: \"LRS\",\n    accountKind: \"StorageV2\",\n    allowNestedItemsToBePublic: false,\n    networkRules: {\n        defaultAction: \"Deny\",\n        ipRules: [\"127.0.0.1\"],\n        virtualNetworkSubnetIds: [exampleSubnet.id],\n        bypasses: [\"AzureServices\"],\n    },\n    identity: {\n        type: \"SystemAssigned\",\n    },\n});\nconst exampleServerExtendedAuditingPolicy = new azure.mssql.ServerExtendedAuditingPolicy(\"example\", {\n    storageEndpoint: exampleAccount.primaryBlobEndpoint,\n    serverId: exampleServer.id,\n    retentionInDays: 6,\n    logMonitoringEnabled: false,\n    storageAccountSubscriptionId: primaryAzurermSubscription.subscriptionId,\n}, {\n    dependsOn: [\n        exampleAssignment,\n        exampleAccount,\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\nimport pulumi_azurerm as azurerm\n\nprimary = azure.core.get_subscription()\nexample = azure.core.get_client_config()\nexample_resource_group = azure.core.ResourceGroup(\"example\",\n    name=\"example\",\n    location=\"West Europe\")\nexample_virtual_network = azure.network.VirtualNetwork(\"example\",\n    name=\"virtnetname-1\",\n    address_spaces=[\"10.0.0.0/16\"],\n    location=example_resource_group.location,\n    resource_group_name=example_resource_group.name)\nexample_subnet = azure.network.Subnet(\"example\",\n    name=\"subnetname-1\",\n    resource_group_name=example_resource_group.name,\n    virtual_network_name=example_virtual_network.name,\n    address_prefixes=[\"10.0.2.0/24\"],\n    service_endpoints=[\n        \"Microsoft.Sql\",\n        \"Microsoft.Storage\",\n    ],\n    enforce_private_link_endpoint_network_policies=True)\nexample_server = azure.mssql.Server(\"example\",\n    name=\"example-sqlserver\",\n    resource_group_name=example_resource_group.name,\n    location=example_resource_group.location,\n    version=\"12.0\",\n    administrator_login=\"missadministrator\",\n    administrator_login_password=\"AdminPassword123!\",\n    minimum_tls_version=\"1.2\",\n    identity={\n        \"type\": \"SystemAssigned\",\n    })\nexample_assignment = azure.authorization.Assignment(\"example\",\n    scope=primary.id,\n    role_definition_name=\"Storage Blob Data Contributor\",\n    principal_id=example_server.identity.principal_id)\nsqlvnetrule = azurerm.index.SqlVirtualNetworkRule(\"sqlvnetrule\",\n    name=sql-vnet-rule,\n    resource_group_name=example_resource_group.name,\n    server_name=example_server.name,\n    subnet_id=example_subnet.id)\nexample_sql_firewall_rule = azurerm.index.SqlFirewallRule(\"example\",\n    name=FirewallRule1,\n    resource_group_name=example_resource_group.name,\n    server_name=example_server.name,\n    start_ip_address=0.0.0.0,\n    end_ip_address=0.0.0.0)\nexample_account = azure.storage.Account(\"example\",\n    name=\"examplesa\",\n    resource_group_name=example_resource_group.name,\n    location=example_resource_group.location,\n    account_tier=\"Standard\",\n    account_replication_type=\"LRS\",\n    account_kind=\"StorageV2\",\n    allow_nested_items_to_be_public=False,\n    network_rules={\n        \"default_action\": \"Deny\",\n        \"ip_rules\": [\"127.0.0.1\"],\n        \"virtual_network_subnet_ids\": [example_subnet.id],\n        \"bypasses\": [\"AzureServices\"],\n    },\n    identity={\n        \"type\": \"SystemAssigned\",\n    })\nexample_server_extended_auditing_policy = azure.mssql.ServerExtendedAuditingPolicy(\"example\",\n    storage_endpoint=example_account.primary_blob_endpoint,\n    server_id=example_server.id,\n    retention_in_days=6,\n    log_monitoring_enabled=False,\n    storage_account_subscription_id=primary_azurerm_subscription[\"subscriptionId\"],\n    opts = pulumi.ResourceOptions(depends_on=[\n            example_assignment,\n            example_account,\n        ]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\nusing Azurerm = Pulumi.Azurerm;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var primary = Azure.Core.GetSubscription.Invoke();\n\n    var example = Azure.Core.GetClientConfig.Invoke();\n\n    var exampleResourceGroup = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example\",\n        Location = \"West Europe\",\n    });\n\n    var exampleVirtualNetwork = new Azure.Network.VirtualNetwork(\"example\", new()\n    {\n        Name = \"virtnetname-1\",\n        AddressSpaces = new[]\n        {\n            \"10.0.0.0/16\",\n        },\n        Location = exampleResourceGroup.Location,\n        ResourceGroupName = exampleResourceGroup.Name,\n    });\n\n    var exampleSubnet = new Azure.Network.Subnet(\"example\", new()\n    {\n        Name = \"subnetname-1\",\n        ResourceGroupName = exampleResourceGroup.Name,\n        VirtualNetworkName = exampleVirtualNetwork.Name,\n        AddressPrefixes = new[]\n        {\n            \"10.0.2.0/24\",\n        },\n        ServiceEndpoints = new[]\n        {\n            \"Microsoft.Sql\",\n            \"Microsoft.Storage\",\n        },\n        EnforcePrivateLinkEndpointNetworkPolicies = true,\n    });\n\n    var exampleServer = new Azure.MSSql.Server(\"example\", new()\n    {\n        Name = \"example-sqlserver\",\n        ResourceGroupName = exampleResourceGroup.Name,\n        Location = exampleResourceGroup.Location,\n        Version = \"12.0\",\n        AdministratorLogin = \"missadministrator\",\n        AdministratorLoginPassword = \"AdminPassword123!\",\n        MinimumTlsVersion = \"1.2\",\n        Identity = new Azure.MSSql.Inputs.ServerIdentityArgs\n        {\n            Type = \"SystemAssigned\",\n        },\n    });\n\n    var exampleAssignment = new Azure.Authorization.Assignment(\"example\", new()\n    {\n        Scope = primary.Apply(getSubscriptionResult =\u003e getSubscriptionResult.Id),\n        RoleDefinitionName = \"Storage Blob Data Contributor\",\n        PrincipalId = exampleServer.Identity.Apply(identity =\u003e identity?.PrincipalId),\n    });\n\n    var sqlvnetrule = new Azurerm.Index.SqlVirtualNetworkRule(\"sqlvnetrule\", new()\n    {\n        Name = \"sql-vnet-rule\",\n        ResourceGroupName = exampleResourceGroup.Name,\n        ServerName = exampleServer.Name,\n        SubnetId = exampleSubnet.Id,\n    });\n\n    var exampleSqlFirewallRule = new Azurerm.Index.SqlFirewallRule(\"example\", new()\n    {\n        Name = \"FirewallRule1\",\n        ResourceGroupName = exampleResourceGroup.Name,\n        ServerName = exampleServer.Name,\n        StartIpAddress = \"0.0.0.0\",\n        EndIpAddress = \"0.0.0.0\",\n    });\n\n    var exampleAccount = new Azure.Storage.Account(\"example\", new()\n    {\n        Name = \"examplesa\",\n        ResourceGroupName = exampleResourceGroup.Name,\n        Location = exampleResourceGroup.Location,\n        AccountTier = \"Standard\",\n        AccountReplicationType = \"LRS\",\n        AccountKind = \"StorageV2\",\n        AllowNestedItemsToBePublic = false,\n        NetworkRules = new Azure.Storage.Inputs.AccountNetworkRulesArgs\n        {\n            DefaultAction = \"Deny\",\n            IpRules = new[]\n            {\n                \"127.0.0.1\",\n            },\n            VirtualNetworkSubnetIds = new[]\n            {\n                exampleSubnet.Id,\n            },\n            Bypasses = new[]\n            {\n                \"AzureServices\",\n            },\n        },\n        Identity = new Azure.Storage.Inputs.AccountIdentityArgs\n        {\n            Type = \"SystemAssigned\",\n        },\n    });\n\n    var exampleServerExtendedAuditingPolicy = new Azure.MSSql.ServerExtendedAuditingPolicy(\"example\", new()\n    {\n        StorageEndpoint = exampleAccount.PrimaryBlobEndpoint,\n        ServerId = exampleServer.Id,\n        RetentionInDays = 6,\n        LogMonitoringEnabled = false,\n        StorageAccountSubscriptionId = primaryAzurermSubscription.SubscriptionId,\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            exampleAssignment,\n            exampleAccount,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/authorization\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/mssql\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi-azurerm/sdk/go/azurerm\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tprimary, err := core.LookupSubscription(ctx, \u0026core.LookupSubscriptionArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = core.GetClientConfig(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, \"example\", \u0026network.VirtualNetworkArgs{\n\t\t\tName: pulumi.String(\"virtnetname-1\"),\n\t\t\tAddressSpaces: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.0.0/16\"),\n\t\t\t},\n\t\t\tLocation:          exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSubnet, err := network.NewSubnet(ctx, \"example\", \u0026network.SubnetArgs{\n\t\t\tName:               pulumi.String(\"subnetname-1\"),\n\t\t\tResourceGroupName:  exampleResourceGroup.Name,\n\t\t\tVirtualNetworkName: exampleVirtualNetwork.Name,\n\t\t\tAddressPrefixes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.2.0/24\"),\n\t\t\t},\n\t\t\tServiceEndpoints: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"Microsoft.Sql\"),\n\t\t\t\tpulumi.String(\"Microsoft.Storage\"),\n\t\t\t},\n\t\t\tEnforcePrivateLinkEndpointNetworkPolicies: true,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleServer, err := mssql.NewServer(ctx, \"example\", \u0026mssql.ServerArgs{\n\t\t\tName:                       pulumi.String(\"example-sqlserver\"),\n\t\t\tResourceGroupName:          exampleResourceGroup.Name,\n\t\t\tLocation:                   exampleResourceGroup.Location,\n\t\t\tVersion:                    pulumi.String(\"12.0\"),\n\t\t\tAdministratorLogin:         pulumi.String(\"missadministrator\"),\n\t\t\tAdministratorLoginPassword: pulumi.String(\"AdminPassword123!\"),\n\t\t\tMinimumTlsVersion:          pulumi.String(\"1.2\"),\n\t\t\tIdentity: \u0026mssql.ServerIdentityArgs{\n\t\t\t\tType: pulumi.String(\"SystemAssigned\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAssignment, err := authorization.NewAssignment(ctx, \"example\", \u0026authorization.AssignmentArgs{\n\t\t\tScope:              pulumi.String(primary.Id),\n\t\t\tRoleDefinitionName: pulumi.String(\"Storage Blob Data Contributor\"),\n\t\t\tPrincipalId: pulumi.String(exampleServer.Identity.ApplyT(func(identity mssql.ServerIdentity) (*string, error) {\n\t\t\t\treturn \u0026identity.PrincipalId, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = azurerm.NewSqlVirtualNetworkRule(ctx, \"sqlvnetrule\", \u0026azurerm.SqlVirtualNetworkRuleArgs{\n\t\t\tName:              \"sql-vnet-rule\",\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tServerName:        exampleServer.Name,\n\t\t\tSubnetId:          exampleSubnet.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = azurerm.NewSqlFirewallRule(ctx, \"example\", \u0026azurerm.SqlFirewallRuleArgs{\n\t\t\tName:              \"FirewallRule1\",\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tServerName:        exampleServer.Name,\n\t\t\tStartIpAddress:    \"0.0.0.0\",\n\t\t\tEndIpAddress:      \"0.0.0.0\",\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := storage.NewAccount(ctx, \"example\", \u0026storage.AccountArgs{\n\t\t\tName:                       pulumi.String(\"examplesa\"),\n\t\t\tResourceGroupName:          exampleResourceGroup.Name,\n\t\t\tLocation:                   exampleResourceGroup.Location,\n\t\t\tAccountTier:                pulumi.String(\"Standard\"),\n\t\t\tAccountReplicationType:     pulumi.String(\"LRS\"),\n\t\t\tAccountKind:                pulumi.String(\"StorageV2\"),\n\t\t\tAllowNestedItemsToBePublic: pulumi.Bool(false),\n\t\t\tNetworkRules: \u0026storage.AccountNetworkRulesTypeArgs{\n\t\t\t\tDefaultAction: pulumi.String(\"Deny\"),\n\t\t\t\tIpRules: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"127.0.0.1\"),\n\t\t\t\t},\n\t\t\t\tVirtualNetworkSubnetIds: pulumi.StringArray{\n\t\t\t\t\texampleSubnet.ID(),\n\t\t\t\t},\n\t\t\t\tBypasses: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"AzureServices\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tIdentity: \u0026storage.AccountIdentityArgs{\n\t\t\t\tType: pulumi.String(\"SystemAssigned\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = mssql.NewServerExtendedAuditingPolicy(ctx, \"example\", \u0026mssql.ServerExtendedAuditingPolicyArgs{\n\t\t\tStorageEndpoint:              exampleAccount.PrimaryBlobEndpoint,\n\t\t\tServerId:                     exampleServer.ID(),\n\t\t\tRetentionInDays:              pulumi.Int(6),\n\t\t\tLogMonitoringEnabled:         pulumi.Bool(false),\n\t\t\tStorageAccountSubscriptionId: pulumi.Any(primaryAzurermSubscription.SubscriptionId),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleAssignment,\n\t\t\texampleAccount,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.core.inputs.GetSubscriptionArgs;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.VirtualNetwork;\nimport com.pulumi.azure.network.VirtualNetworkArgs;\nimport com.pulumi.azure.network.Subnet;\nimport com.pulumi.azure.network.SubnetArgs;\nimport com.pulumi.azure.mssql.Server;\nimport com.pulumi.azure.mssql.ServerArgs;\nimport com.pulumi.azure.mssql.inputs.ServerIdentityArgs;\nimport com.pulumi.azure.authorization.Assignment;\nimport com.pulumi.azure.authorization.AssignmentArgs;\nimport com.pulumi.azurerm.SqlVirtualNetworkRule;\nimport com.pulumi.azurerm.SqlVirtualNetworkRuleArgs;\nimport com.pulumi.azurerm.SqlFirewallRule;\nimport com.pulumi.azurerm.SqlFirewallRuleArgs;\nimport com.pulumi.azure.storage.Account;\nimport com.pulumi.azure.storage.AccountArgs;\nimport com.pulumi.azure.storage.inputs.AccountNetworkRulesArgs;\nimport com.pulumi.azure.storage.inputs.AccountIdentityArgs;\nimport com.pulumi.azure.mssql.ServerExtendedAuditingPolicy;\nimport com.pulumi.azure.mssql.ServerExtendedAuditingPolicyArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var primary = CoreFunctions.getSubscription(GetSubscriptionArgs.builder()\n            .build());\n\n        final var example = CoreFunctions.getClientConfig(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n        var exampleResourceGroup = new ResourceGroup(\"exampleResourceGroup\", ResourceGroupArgs.builder()\n            .name(\"example\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleVirtualNetwork = new VirtualNetwork(\"exampleVirtualNetwork\", VirtualNetworkArgs.builder()\n            .name(\"virtnetname-1\")\n            .addressSpaces(\"10.0.0.0/16\")\n            .location(exampleResourceGroup.location())\n            .resourceGroupName(exampleResourceGroup.name())\n            .build());\n\n        var exampleSubnet = new Subnet(\"exampleSubnet\", SubnetArgs.builder()\n            .name(\"subnetname-1\")\n            .resourceGroupName(exampleResourceGroup.name())\n            .virtualNetworkName(exampleVirtualNetwork.name())\n            .addressPrefixes(\"10.0.2.0/24\")\n            .serviceEndpoints(            \n                \"Microsoft.Sql\",\n                \"Microsoft.Storage\")\n            .enforcePrivateLinkEndpointNetworkPolicies(true)\n            .build());\n\n        var exampleServer = new Server(\"exampleServer\", ServerArgs.builder()\n            .name(\"example-sqlserver\")\n            .resourceGroupName(exampleResourceGroup.name())\n            .location(exampleResourceGroup.location())\n            .version(\"12.0\")\n            .administratorLogin(\"missadministrator\")\n            .administratorLoginPassword(\"AdminPassword123!\")\n            .minimumTlsVersion(\"1.2\")\n            .identity(ServerIdentityArgs.builder()\n                .type(\"SystemAssigned\")\n                .build())\n            .build());\n\n        var exampleAssignment = new Assignment(\"exampleAssignment\", AssignmentArgs.builder()\n            .scope(primary.id())\n            .roleDefinitionName(\"Storage Blob Data Contributor\")\n            .principalId(exampleServer.identity().applyValue(_identity -\u003e _identity.principalId()))\n            .build());\n\n        var sqlvnetrule = new SqlVirtualNetworkRule(\"sqlvnetrule\", SqlVirtualNetworkRuleArgs.builder()\n            .name(\"sql-vnet-rule\")\n            .resourceGroupName(exampleResourceGroup.name())\n            .serverName(exampleServer.name())\n            .subnetId(exampleSubnet.id())\n            .build());\n\n        var exampleSqlFirewallRule = new SqlFirewallRule(\"exampleSqlFirewallRule\", SqlFirewallRuleArgs.builder()\n            .name(\"FirewallRule1\")\n            .resourceGroupName(exampleResourceGroup.name())\n            .serverName(exampleServer.name())\n            .startIpAddress(\"0.0.0.0\")\n            .endIpAddress(\"0.0.0.0\")\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"examplesa\")\n            .resourceGroupName(exampleResourceGroup.name())\n            .location(exampleResourceGroup.location())\n            .accountTier(\"Standard\")\n            .accountReplicationType(\"LRS\")\n            .accountKind(\"StorageV2\")\n            .allowNestedItemsToBePublic(false)\n            .networkRules(AccountNetworkRulesArgs.builder()\n                .defaultAction(\"Deny\")\n                .ipRules(\"127.0.0.1\")\n                .virtualNetworkSubnetIds(exampleSubnet.id())\n                .bypasses(\"AzureServices\")\n                .build())\n            .identity(AccountIdentityArgs.builder()\n                .type(\"SystemAssigned\")\n                .build())\n            .build());\n\n        var exampleServerExtendedAuditingPolicy = new ServerExtendedAuditingPolicy(\"exampleServerExtendedAuditingPolicy\", ServerExtendedAuditingPolicyArgs.builder()\n            .storageEndpoint(exampleAccount.primaryBlobEndpoint())\n            .serverId(exampleServer.id())\n            .retentionInDays(6)\n            .logMonitoringEnabled(false)\n            .storageAccountSubscriptionId(primaryAzurermSubscription.subscriptionId())\n            .build(), CustomResourceOptions.builder()\n                .dependsOn(                \n                    exampleAssignment,\n                    exampleAccount)\n                .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleResourceGroup:\n    type: azure:core:ResourceGroup\n    name: example\n    properties:\n      name: example\n      location: West Europe\n  exampleVirtualNetwork:\n    type: azure:network:VirtualNetwork\n    name: example\n    properties:\n      name: virtnetname-1\n      addressSpaces:\n        - 10.0.0.0/16\n      location: ${exampleResourceGroup.location}\n      resourceGroupName: ${exampleResourceGroup.name}\n  exampleSubnet:\n    type: azure:network:Subnet\n    name: example\n    properties:\n      name: subnetname-1\n      resourceGroupName: ${exampleResourceGroup.name}\n      virtualNetworkName: ${exampleVirtualNetwork.name}\n      addressPrefixes:\n        - 10.0.2.0/24\n      serviceEndpoints:\n        - Microsoft.Sql\n        - Microsoft.Storage\n      enforcePrivateLinkEndpointNetworkPolicies: true\n  exampleAssignment:\n    type: azure:authorization:Assignment\n    name: example\n    properties:\n      scope: ${primary.id}\n      roleDefinitionName: Storage Blob Data Contributor\n      principalId: ${exampleServer.identity.principalId}\n  exampleServer:\n    type: azure:mssql:Server\n    name: example\n    properties:\n      name: example-sqlserver\n      resourceGroupName: ${exampleResourceGroup.name}\n      location: ${exampleResourceGroup.location}\n      version: '12.0'\n      administratorLogin: missadministrator\n      administratorLoginPassword: AdminPassword123!\n      minimumTlsVersion: '1.2'\n      identity:\n        type: SystemAssigned\n  sqlvnetrule:\n    type: azurerm:SqlVirtualNetworkRule\n    properties:\n      name: sql-vnet-rule\n      resourceGroupName: ${exampleResourceGroup.name}\n      serverName: ${exampleServer.name}\n      subnetId: ${exampleSubnet.id}\n  exampleSqlFirewallRule:\n    type: azurerm:SqlFirewallRule\n    name: example\n    properties:\n      name: FirewallRule1\n      resourceGroupName: ${exampleResourceGroup.name}\n      serverName: ${exampleServer.name}\n      startIpAddress: 0.0.0.0\n      endIpAddress: 0.0.0.0\n  exampleAccount:\n    type: azure:storage:Account\n    name: example\n    properties:\n      name: examplesa\n      resourceGroupName: ${exampleResourceGroup.name}\n      location: ${exampleResourceGroup.location}\n      accountTier: Standard\n      accountReplicationType: LRS\n      accountKind: StorageV2\n      allowNestedItemsToBePublic: false\n      networkRules:\n        defaultAction: Deny\n        ipRules:\n          - 127.0.0.1\n        virtualNetworkSubnetIds:\n          - ${exampleSubnet.id}\n        bypasses:\n          - AzureServices\n      identity:\n        type: SystemAssigned\n  exampleServerExtendedAuditingPolicy:\n    type: azure:mssql:ServerExtendedAuditingPolicy\n    name: example\n    properties:\n      storageEndpoint: ${exampleAccount.primaryBlobEndpoint}\n      serverId: ${exampleServer.id}\n      retentionInDays: 6\n      logMonitoringEnabled: false\n      storageAccountSubscriptionId: ${primaryAzurermSubscription.subscriptionId}\n    options:\n      dependsOn:\n        - ${exampleAssignment}\n        - ${exampleAccount}\nvariables:\n  primary:\n    fn::invoke:\n      function: azure:core:getSubscription\n      arguments: {}\n  example:\n    fn::invoke:\n      function: azure:core:getClientConfig\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\n## Import\n\nMS SQL Server Extended Auditing Policies can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:mssql/serverExtendedAuditingPolicy:ServerExtendedAuditingPolicy example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Sql/servers/sqlServer1/extendedAuditingSettings/default\n```\n\n","properties":{"auditActionsAndGroups":{"type":"array","items":{"type":"string"},"description":"A list of Actions-Groups and Actions to audit.\n"},"enabled":{"type":"boolean","description":"Whether to enable the extended auditing policy. Possible values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n\n\u003e **Note:** If \u003cspan pulumi-lang-nodejs=\"`enabled`\" pulumi-lang-dotnet=\"`Enabled`\" pulumi-lang-go=\"`enabled`\" pulumi-lang-python=\"`enabled`\" pulumi-lang-yaml=\"`enabled`\" pulumi-lang-java=\"`enabled`\"\u003e`enabled`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`storageEndpoint`\" pulumi-lang-dotnet=\"`StorageEndpoint`\" pulumi-lang-go=\"`storageEndpoint`\" pulumi-lang-python=\"`storage_endpoint`\" pulumi-lang-yaml=\"`storageEndpoint`\" pulumi-lang-java=\"`storageEndpoint`\"\u003e`storage_endpoint`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`logMonitoringEnabled`\" pulumi-lang-dotnet=\"`LogMonitoringEnabled`\" pulumi-lang-go=\"`logMonitoringEnabled`\" pulumi-lang-python=\"`log_monitoring_enabled`\" pulumi-lang-yaml=\"`logMonitoringEnabled`\" pulumi-lang-java=\"`logMonitoringEnabled`\"\u003e`log_monitoring_enabled`\u003c/span\u003e are required.\n"},"logMonitoringEnabled":{"type":"boolean","description":"Enable audit events to Azure Monitor? To enable server audit events to Azure Monitor, please enable its main database audit events to Azure Monitor. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"predicateExpression":{"type":"string","description":"Specifies condition of where clause when creating an audit.\n"},"retentionInDays":{"type":"integer","description":"The number of days to retain logs for in the storage account. Defaults to \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"serverId":{"type":"string","description":"The ID of the SQL Server to set the extended auditing policy. Changing this forces a new resource to be created.\n"},"storageAccountAccessKey":{"type":"string","description":"The access key to use for the auditing storage account.\n","secret":true},"storageAccountAccessKeyIsSecondary":{"type":"boolean","description":"Is \u003cspan pulumi-lang-nodejs=\"`storageAccountAccessKey`\" pulumi-lang-dotnet=\"`StorageAccountAccessKey`\" pulumi-lang-go=\"`storageAccountAccessKey`\" pulumi-lang-python=\"`storage_account_access_key`\" pulumi-lang-yaml=\"`storageAccountAccessKey`\" pulumi-lang-java=\"`storageAccountAccessKey`\"\u003e`storage_account_access_key`\u003c/span\u003e value the storage's secondary key?\n"},"storageAccountSubscriptionId":{"type":"string","description":"The ID of the Subscription containing the Storage Account.\n","secret":true},"storageEndpoint":{"type":"string","description":"The blob storage endpoint (e.g. \u003chttps://example.blob.core.windows.net\u003e). This blob storage will hold all extended auditing logs.\n"}},"required":["auditActionsAndGroups","serverId"],"inputProperties":{"auditActionsAndGroups":{"type":"array","items":{"type":"string"},"description":"A list of Actions-Groups and Actions to audit.\n"},"enabled":{"type":"boolean","description":"Whether to enable the extended auditing policy. Possible values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n\n\u003e **Note:** If \u003cspan pulumi-lang-nodejs=\"`enabled`\" pulumi-lang-dotnet=\"`Enabled`\" pulumi-lang-go=\"`enabled`\" pulumi-lang-python=\"`enabled`\" pulumi-lang-yaml=\"`enabled`\" pulumi-lang-java=\"`enabled`\"\u003e`enabled`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`storageEndpoint`\" pulumi-lang-dotnet=\"`StorageEndpoint`\" pulumi-lang-go=\"`storageEndpoint`\" pulumi-lang-python=\"`storage_endpoint`\" pulumi-lang-yaml=\"`storageEndpoint`\" pulumi-lang-java=\"`storageEndpoint`\"\u003e`storage_endpoint`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`logMonitoringEnabled`\" pulumi-lang-dotnet=\"`LogMonitoringEnabled`\" pulumi-lang-go=\"`logMonitoringEnabled`\" pulumi-lang-python=\"`log_monitoring_enabled`\" pulumi-lang-yaml=\"`logMonitoringEnabled`\" pulumi-lang-java=\"`logMonitoringEnabled`\"\u003e`log_monitoring_enabled`\u003c/span\u003e are required.\n"},"logMonitoringEnabled":{"type":"boolean","description":"Enable audit events to Azure Monitor? To enable server audit events to Azure Monitor, please enable its main database audit events to Azure Monitor. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"predicateExpression":{"type":"string","description":"Specifies condition of where clause when creating an audit.\n"},"retentionInDays":{"type":"integer","description":"The number of days to retain logs for in the storage account. Defaults to \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"serverId":{"type":"string","description":"The ID of the SQL Server to set the extended auditing policy. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"storageAccountAccessKey":{"type":"string","description":"The access key to use for the auditing storage account.\n","secret":true},"storageAccountAccessKeyIsSecondary":{"type":"boolean","description":"Is \u003cspan pulumi-lang-nodejs=\"`storageAccountAccessKey`\" pulumi-lang-dotnet=\"`StorageAccountAccessKey`\" pulumi-lang-go=\"`storageAccountAccessKey`\" pulumi-lang-python=\"`storage_account_access_key`\" pulumi-lang-yaml=\"`storageAccountAccessKey`\" pulumi-lang-java=\"`storageAccountAccessKey`\"\u003e`storage_account_access_key`\u003c/span\u003e value the storage's secondary key?\n"},"storageAccountSubscriptionId":{"type":"string","description":"The ID of the Subscription containing the Storage Account.\n","secret":true},"storageEndpoint":{"type":"string","description":"The blob storage endpoint (e.g. \u003chttps://example.blob.core.windows.net\u003e). This blob storage will hold all extended auditing logs.\n"}},"requiredInputs":["serverId"],"stateInputs":{"description":"Input properties used for looking up and filtering ServerExtendedAuditingPolicy resources.\n","properties":{"auditActionsAndGroups":{"type":"array","items":{"type":"string"},"description":"A list of Actions-Groups and Actions to audit.\n"},"enabled":{"type":"boolean","description":"Whether to enable the extended auditing policy. Possible values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n\n\u003e **Note:** If \u003cspan pulumi-lang-nodejs=\"`enabled`\" pulumi-lang-dotnet=\"`Enabled`\" pulumi-lang-go=\"`enabled`\" pulumi-lang-python=\"`enabled`\" pulumi-lang-yaml=\"`enabled`\" pulumi-lang-java=\"`enabled`\"\u003e`enabled`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`storageEndpoint`\" pulumi-lang-dotnet=\"`StorageEndpoint`\" pulumi-lang-go=\"`storageEndpoint`\" pulumi-lang-python=\"`storage_endpoint`\" pulumi-lang-yaml=\"`storageEndpoint`\" pulumi-lang-java=\"`storageEndpoint`\"\u003e`storage_endpoint`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`logMonitoringEnabled`\" pulumi-lang-dotnet=\"`LogMonitoringEnabled`\" pulumi-lang-go=\"`logMonitoringEnabled`\" pulumi-lang-python=\"`log_monitoring_enabled`\" pulumi-lang-yaml=\"`logMonitoringEnabled`\" pulumi-lang-java=\"`logMonitoringEnabled`\"\u003e`log_monitoring_enabled`\u003c/span\u003e are required.\n"},"logMonitoringEnabled":{"type":"boolean","description":"Enable audit events to Azure Monitor? To enable server audit events to Azure Monitor, please enable its main database audit events to Azure Monitor. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"predicateExpression":{"type":"string","description":"Specifies condition of where clause when creating an audit.\n"},"retentionInDays":{"type":"integer","description":"The number of days to retain logs for in the storage account. Defaults to \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"serverId":{"type":"string","description":"The ID of the SQL Server to set the extended auditing policy. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"storageAccountAccessKey":{"type":"string","description":"The access key to use for the auditing storage account.\n","secret":true},"storageAccountAccessKeyIsSecondary":{"type":"boolean","description":"Is \u003cspan pulumi-lang-nodejs=\"`storageAccountAccessKey`\" pulumi-lang-dotnet=\"`StorageAccountAccessKey`\" pulumi-lang-go=\"`storageAccountAccessKey`\" pulumi-lang-python=\"`storage_account_access_key`\" pulumi-lang-yaml=\"`storageAccountAccessKey`\" pulumi-lang-java=\"`storageAccountAccessKey`\"\u003e`storage_account_access_key`\u003c/span\u003e value the storage's secondary key?\n"},"storageAccountSubscriptionId":{"type":"string","description":"The ID of the Subscription containing the Storage Account.\n","secret":true},"storageEndpoint":{"type":"string","description":"The blob storage endpoint (e.g. \u003chttps://example.blob.core.windows.net\u003e). This blob storage will hold all extended auditing logs.\n"}},"type":"object"}},"azure:mssql/serverMicrosoftSupportAuditingPolicy:ServerMicrosoftSupportAuditingPolicy":{"description":"Manages a MS SQL Server Microsoft Support Auditing Policy.\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleServer = new azure.mssql.Server(\"example\", {\n    name: \"example-sqlserver\",\n    resourceGroupName: example.name,\n    location: example.location,\n    version: \"12.0\",\n    administratorLogin: \"missadministrator\",\n    administratorLoginPassword: \"AdminPassword123!\",\n});\nconst exampleAccount = new azure.storage.Account(\"example\", {\n    name: \"examplesa\",\n    resourceGroupName: example.name,\n    location: example.location,\n    accountTier: \"Standard\",\n    accountReplicationType: \"LRS\",\n});\nconst exampleServerMicrosoftSupportAuditingPolicy = new azure.mssql.ServerMicrosoftSupportAuditingPolicy(\"example\", {\n    serverId: exampleServer.id,\n    blobStorageEndpoint: exampleAccount.primaryBlobEndpoint,\n    storageAccountAccessKey: exampleAccount.primaryAccessKey,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_server = azure.mssql.Server(\"example\",\n    name=\"example-sqlserver\",\n    resource_group_name=example.name,\n    location=example.location,\n    version=\"12.0\",\n    administrator_login=\"missadministrator\",\n    administrator_login_password=\"AdminPassword123!\")\nexample_account = azure.storage.Account(\"example\",\n    name=\"examplesa\",\n    resource_group_name=example.name,\n    location=example.location,\n    account_tier=\"Standard\",\n    account_replication_type=\"LRS\")\nexample_server_microsoft_support_auditing_policy = azure.mssql.ServerMicrosoftSupportAuditingPolicy(\"example\",\n    server_id=example_server.id,\n    blob_storage_endpoint=example_account.primary_blob_endpoint,\n    storage_account_access_key=example_account.primary_access_key)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleServer = new Azure.MSSql.Server(\"example\", new()\n    {\n        Name = \"example-sqlserver\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        Version = \"12.0\",\n        AdministratorLogin = \"missadministrator\",\n        AdministratorLoginPassword = \"AdminPassword123!\",\n    });\n\n    var exampleAccount = new Azure.Storage.Account(\"example\", new()\n    {\n        Name = \"examplesa\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        AccountTier = \"Standard\",\n        AccountReplicationType = \"LRS\",\n    });\n\n    var exampleServerMicrosoftSupportAuditingPolicy = new Azure.MSSql.ServerMicrosoftSupportAuditingPolicy(\"example\", new()\n    {\n        ServerId = exampleServer.Id,\n        BlobStorageEndpoint = exampleAccount.PrimaryBlobEndpoint,\n        StorageAccountAccessKey = exampleAccount.PrimaryAccessKey,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/mssql\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleServer, err := mssql.NewServer(ctx, \"example\", \u0026mssql.ServerArgs{\n\t\t\tName:                       pulumi.String(\"example-sqlserver\"),\n\t\t\tResourceGroupName:          example.Name,\n\t\t\tLocation:                   example.Location,\n\t\t\tVersion:                    pulumi.String(\"12.0\"),\n\t\t\tAdministratorLogin:         pulumi.String(\"missadministrator\"),\n\t\t\tAdministratorLoginPassword: pulumi.String(\"AdminPassword123!\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := storage.NewAccount(ctx, \"example\", \u0026storage.AccountArgs{\n\t\t\tName:                   pulumi.String(\"examplesa\"),\n\t\t\tResourceGroupName:      example.Name,\n\t\t\tLocation:               example.Location,\n\t\t\tAccountTier:            pulumi.String(\"Standard\"),\n\t\t\tAccountReplicationType: pulumi.String(\"LRS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = mssql.NewServerMicrosoftSupportAuditingPolicy(ctx, \"example\", \u0026mssql.ServerMicrosoftSupportAuditingPolicyArgs{\n\t\t\tServerId:                exampleServer.ID(),\n\t\t\tBlobStorageEndpoint:     exampleAccount.PrimaryBlobEndpoint,\n\t\t\tStorageAccountAccessKey: exampleAccount.PrimaryAccessKey,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.mssql.Server;\nimport com.pulumi.azure.mssql.ServerArgs;\nimport com.pulumi.azure.storage.Account;\nimport com.pulumi.azure.storage.AccountArgs;\nimport com.pulumi.azure.mssql.ServerMicrosoftSupportAuditingPolicy;\nimport com.pulumi.azure.mssql.ServerMicrosoftSupportAuditingPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleServer = new Server(\"exampleServer\", ServerArgs.builder()\n            .name(\"example-sqlserver\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .version(\"12.0\")\n            .administratorLogin(\"missadministrator\")\n            .administratorLoginPassword(\"AdminPassword123!\")\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"examplesa\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .accountTier(\"Standard\")\n            .accountReplicationType(\"LRS\")\n            .build());\n\n        var exampleServerMicrosoftSupportAuditingPolicy = new ServerMicrosoftSupportAuditingPolicy(\"exampleServerMicrosoftSupportAuditingPolicy\", ServerMicrosoftSupportAuditingPolicyArgs.builder()\n            .serverId(exampleServer.id())\n            .blobStorageEndpoint(exampleAccount.primaryBlobEndpoint())\n            .storageAccountAccessKey(exampleAccount.primaryAccessKey())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleServer:\n    type: azure:mssql:Server\n    name: example\n    properties:\n      name: example-sqlserver\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      version: '12.0'\n      administratorLogin: missadministrator\n      administratorLoginPassword: AdminPassword123!\n  exampleAccount:\n    type: azure:storage:Account\n    name: example\n    properties:\n      name: examplesa\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      accountTier: Standard\n      accountReplicationType: LRS\n  exampleServerMicrosoftSupportAuditingPolicy:\n    type: azure:mssql:ServerMicrosoftSupportAuditingPolicy\n    name: example\n    properties:\n      serverId: ${exampleServer.id}\n      blobStorageEndpoint: ${exampleAccount.primaryBlobEndpoint}\n      storageAccountAccessKey: ${exampleAccount.primaryAccessKey}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\n### With Storage Account Behind VNet And Firewall\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\nimport * as azurerm from \"@pulumi/azurerm\";\n\nconst primary = azure.core.getSubscription({});\nconst example = azure.core.getClientConfig({});\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"example\", {\n    name: \"example\",\n    location: \"West Europe\",\n});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"example\", {\n    name: \"virtnetname-1\",\n    addressSpaces: [\"10.0.0.0/16\"],\n    location: exampleResourceGroup.location,\n    resourceGroupName: exampleResourceGroup.name,\n});\nconst exampleSubnet = new azure.network.Subnet(\"example\", {\n    name: \"subnetname-1\",\n    resourceGroupName: exampleResourceGroup.name,\n    virtualNetworkName: exampleVirtualNetwork.name,\n    addressPrefixes: [\"10.0.2.0/24\"],\n    serviceEndpoints: [\n        \"Microsoft.Sql\",\n        \"Microsoft.Storage\",\n    ],\n    enforcePrivateLinkEndpointNetworkPolicies: true,\n});\nconst exampleServer = new azure.mssql.Server(\"example\", {\n    name: \"example-sqlserver\",\n    resourceGroupName: exampleResourceGroup.name,\n    location: exampleResourceGroup.location,\n    version: \"12.0\",\n    administratorLogin: \"missadministrator\",\n    administratorLoginPassword: \"AdminPassword123!\",\n    minimumTlsVersion: \"1.2\",\n    identity: {\n        type: \"SystemAssigned\",\n    },\n});\nconst exampleAssignment = new azure.authorization.Assignment(\"example\", {\n    scope: primary.then(primary =\u003e primary.id),\n    roleDefinitionName: \"Storage Blob Data Contributor\",\n    principalId: exampleServer.identity.apply(identity =\u003e identity?.principalId),\n});\nconst sqlvnetrule = new azurerm.index.SqlVirtualNetworkRule(\"sqlvnetrule\", {\n    name: \"sql-vnet-rule\",\n    resourceGroupName: exampleResourceGroup.name,\n    serverName: exampleServer.name,\n    subnetId: exampleSubnet.id,\n});\nconst exampleSqlFirewallRule = new azurerm.index.SqlFirewallRule(\"example\", {\n    name: \"FirewallRule1\",\n    resourceGroupName: exampleResourceGroup.name,\n    serverName: exampleServer.name,\n    startIpAddress: \"0.0.0.0\",\n    endIpAddress: \"0.0.0.0\",\n});\nconst exampleAccount = new azure.storage.Account(\"example\", {\n    name: \"examplesa\",\n    resourceGroupName: exampleResourceGroup.name,\n    location: exampleResourceGroup.location,\n    accountTier: \"Standard\",\n    accountReplicationType: \"LRS\",\n    accountKind: \"StorageV2\",\n    allowNestedItemsToBePublic: false,\n    networkRules: {\n        defaultAction: \"Deny\",\n        ipRules: [\"127.0.0.1\"],\n        virtualNetworkSubnetIds: [exampleSubnet.id],\n        bypasses: [\"AzureServices\"],\n    },\n    identity: {\n        type: \"SystemAssigned\",\n    },\n});\nconst exampleServerMicrosoftSupportAuditingPolicy = new azure.mssql.ServerMicrosoftSupportAuditingPolicy(\"example\", {\n    blobStorageEndpoint: exampleAccount.primaryBlobEndpoint,\n    serverId: exampleServer.id,\n    logMonitoringEnabled: false,\n    storageAccountSubscriptionId: primaryAzurermSubscription.subscriptionId,\n}, {\n    dependsOn: [\n        exampleAssignment,\n        exampleAccount,\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\nimport pulumi_azurerm as azurerm\n\nprimary = azure.core.get_subscription()\nexample = azure.core.get_client_config()\nexample_resource_group = azure.core.ResourceGroup(\"example\",\n    name=\"example\",\n    location=\"West Europe\")\nexample_virtual_network = azure.network.VirtualNetwork(\"example\",\n    name=\"virtnetname-1\",\n    address_spaces=[\"10.0.0.0/16\"],\n    location=example_resource_group.location,\n    resource_group_name=example_resource_group.name)\nexample_subnet = azure.network.Subnet(\"example\",\n    name=\"subnetname-1\",\n    resource_group_name=example_resource_group.name,\n    virtual_network_name=example_virtual_network.name,\n    address_prefixes=[\"10.0.2.0/24\"],\n    service_endpoints=[\n        \"Microsoft.Sql\",\n        \"Microsoft.Storage\",\n    ],\n    enforce_private_link_endpoint_network_policies=True)\nexample_server = azure.mssql.Server(\"example\",\n    name=\"example-sqlserver\",\n    resource_group_name=example_resource_group.name,\n    location=example_resource_group.location,\n    version=\"12.0\",\n    administrator_login=\"missadministrator\",\n    administrator_login_password=\"AdminPassword123!\",\n    minimum_tls_version=\"1.2\",\n    identity={\n        \"type\": \"SystemAssigned\",\n    })\nexample_assignment = azure.authorization.Assignment(\"example\",\n    scope=primary.id,\n    role_definition_name=\"Storage Blob Data Contributor\",\n    principal_id=example_server.identity.principal_id)\nsqlvnetrule = azurerm.index.SqlVirtualNetworkRule(\"sqlvnetrule\",\n    name=sql-vnet-rule,\n    resource_group_name=example_resource_group.name,\n    server_name=example_server.name,\n    subnet_id=example_subnet.id)\nexample_sql_firewall_rule = azurerm.index.SqlFirewallRule(\"example\",\n    name=FirewallRule1,\n    resource_group_name=example_resource_group.name,\n    server_name=example_server.name,\n    start_ip_address=0.0.0.0,\n    end_ip_address=0.0.0.0)\nexample_account = azure.storage.Account(\"example\",\n    name=\"examplesa\",\n    resource_group_name=example_resource_group.name,\n    location=example_resource_group.location,\n    account_tier=\"Standard\",\n    account_replication_type=\"LRS\",\n    account_kind=\"StorageV2\",\n    allow_nested_items_to_be_public=False,\n    network_rules={\n        \"default_action\": \"Deny\",\n        \"ip_rules\": [\"127.0.0.1\"],\n        \"virtual_network_subnet_ids\": [example_subnet.id],\n        \"bypasses\": [\"AzureServices\"],\n    },\n    identity={\n        \"type\": \"SystemAssigned\",\n    })\nexample_server_microsoft_support_auditing_policy = azure.mssql.ServerMicrosoftSupportAuditingPolicy(\"example\",\n    blob_storage_endpoint=example_account.primary_blob_endpoint,\n    server_id=example_server.id,\n    log_monitoring_enabled=False,\n    storage_account_subscription_id=primary_azurerm_subscription[\"subscriptionId\"],\n    opts = pulumi.ResourceOptions(depends_on=[\n            example_assignment,\n            example_account,\n        ]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\nusing Azurerm = Pulumi.Azurerm;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var primary = Azure.Core.GetSubscription.Invoke();\n\n    var example = Azure.Core.GetClientConfig.Invoke();\n\n    var exampleResourceGroup = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example\",\n        Location = \"West Europe\",\n    });\n\n    var exampleVirtualNetwork = new Azure.Network.VirtualNetwork(\"example\", new()\n    {\n        Name = \"virtnetname-1\",\n        AddressSpaces = new[]\n        {\n            \"10.0.0.0/16\",\n        },\n        Location = exampleResourceGroup.Location,\n        ResourceGroupName = exampleResourceGroup.Name,\n    });\n\n    var exampleSubnet = new Azure.Network.Subnet(\"example\", new()\n    {\n        Name = \"subnetname-1\",\n        ResourceGroupName = exampleResourceGroup.Name,\n        VirtualNetworkName = exampleVirtualNetwork.Name,\n        AddressPrefixes = new[]\n        {\n            \"10.0.2.0/24\",\n        },\n        ServiceEndpoints = new[]\n        {\n            \"Microsoft.Sql\",\n            \"Microsoft.Storage\",\n        },\n        EnforcePrivateLinkEndpointNetworkPolicies = true,\n    });\n\n    var exampleServer = new Azure.MSSql.Server(\"example\", new()\n    {\n        Name = \"example-sqlserver\",\n        ResourceGroupName = exampleResourceGroup.Name,\n        Location = exampleResourceGroup.Location,\n        Version = \"12.0\",\n        AdministratorLogin = \"missadministrator\",\n        AdministratorLoginPassword = \"AdminPassword123!\",\n        MinimumTlsVersion = \"1.2\",\n        Identity = new Azure.MSSql.Inputs.ServerIdentityArgs\n        {\n            Type = \"SystemAssigned\",\n        },\n    });\n\n    var exampleAssignment = new Azure.Authorization.Assignment(\"example\", new()\n    {\n        Scope = primary.Apply(getSubscriptionResult =\u003e getSubscriptionResult.Id),\n        RoleDefinitionName = \"Storage Blob Data Contributor\",\n        PrincipalId = exampleServer.Identity.Apply(identity =\u003e identity?.PrincipalId),\n    });\n\n    var sqlvnetrule = new Azurerm.Index.SqlVirtualNetworkRule(\"sqlvnetrule\", new()\n    {\n        Name = \"sql-vnet-rule\",\n        ResourceGroupName = exampleResourceGroup.Name,\n        ServerName = exampleServer.Name,\n        SubnetId = exampleSubnet.Id,\n    });\n\n    var exampleSqlFirewallRule = new Azurerm.Index.SqlFirewallRule(\"example\", new()\n    {\n        Name = \"FirewallRule1\",\n        ResourceGroupName = exampleResourceGroup.Name,\n        ServerName = exampleServer.Name,\n        StartIpAddress = \"0.0.0.0\",\n        EndIpAddress = \"0.0.0.0\",\n    });\n\n    var exampleAccount = new Azure.Storage.Account(\"example\", new()\n    {\n        Name = \"examplesa\",\n        ResourceGroupName = exampleResourceGroup.Name,\n        Location = exampleResourceGroup.Location,\n        AccountTier = \"Standard\",\n        AccountReplicationType = \"LRS\",\n        AccountKind = \"StorageV2\",\n        AllowNestedItemsToBePublic = false,\n        NetworkRules = new Azure.Storage.Inputs.AccountNetworkRulesArgs\n        {\n            DefaultAction = \"Deny\",\n            IpRules = new[]\n            {\n                \"127.0.0.1\",\n            },\n            VirtualNetworkSubnetIds = new[]\n            {\n                exampleSubnet.Id,\n            },\n            Bypasses = new[]\n            {\n                \"AzureServices\",\n            },\n        },\n        Identity = new Azure.Storage.Inputs.AccountIdentityArgs\n        {\n            Type = \"SystemAssigned\",\n        },\n    });\n\n    var exampleServerMicrosoftSupportAuditingPolicy = new Azure.MSSql.ServerMicrosoftSupportAuditingPolicy(\"example\", new()\n    {\n        BlobStorageEndpoint = exampleAccount.PrimaryBlobEndpoint,\n        ServerId = exampleServer.Id,\n        LogMonitoringEnabled = false,\n        StorageAccountSubscriptionId = primaryAzurermSubscription.SubscriptionId,\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            exampleAssignment,\n            exampleAccount,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/authorization\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/mssql\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi-azurerm/sdk/go/azurerm\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tprimary, err := core.LookupSubscription(ctx, \u0026core.LookupSubscriptionArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = core.GetClientConfig(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, \"example\", \u0026network.VirtualNetworkArgs{\n\t\t\tName: pulumi.String(\"virtnetname-1\"),\n\t\t\tAddressSpaces: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.0.0/16\"),\n\t\t\t},\n\t\t\tLocation:          exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSubnet, err := network.NewSubnet(ctx, \"example\", \u0026network.SubnetArgs{\n\t\t\tName:               pulumi.String(\"subnetname-1\"),\n\t\t\tResourceGroupName:  exampleResourceGroup.Name,\n\t\t\tVirtualNetworkName: exampleVirtualNetwork.Name,\n\t\t\tAddressPrefixes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.2.0/24\"),\n\t\t\t},\n\t\t\tServiceEndpoints: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"Microsoft.Sql\"),\n\t\t\t\tpulumi.String(\"Microsoft.Storage\"),\n\t\t\t},\n\t\t\tEnforcePrivateLinkEndpointNetworkPolicies: true,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleServer, err := mssql.NewServer(ctx, \"example\", \u0026mssql.ServerArgs{\n\t\t\tName:                       pulumi.String(\"example-sqlserver\"),\n\t\t\tResourceGroupName:          exampleResourceGroup.Name,\n\t\t\tLocation:                   exampleResourceGroup.Location,\n\t\t\tVersion:                    pulumi.String(\"12.0\"),\n\t\t\tAdministratorLogin:         pulumi.String(\"missadministrator\"),\n\t\t\tAdministratorLoginPassword: pulumi.String(\"AdminPassword123!\"),\n\t\t\tMinimumTlsVersion:          pulumi.String(\"1.2\"),\n\t\t\tIdentity: \u0026mssql.ServerIdentityArgs{\n\t\t\t\tType: pulumi.String(\"SystemAssigned\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAssignment, err := authorization.NewAssignment(ctx, \"example\", \u0026authorization.AssignmentArgs{\n\t\t\tScope:              pulumi.String(primary.Id),\n\t\t\tRoleDefinitionName: pulumi.String(\"Storage Blob Data Contributor\"),\n\t\t\tPrincipalId: pulumi.String(exampleServer.Identity.ApplyT(func(identity mssql.ServerIdentity) (*string, error) {\n\t\t\t\treturn \u0026identity.PrincipalId, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = azurerm.NewSqlVirtualNetworkRule(ctx, \"sqlvnetrule\", \u0026azurerm.SqlVirtualNetworkRuleArgs{\n\t\t\tName:              \"sql-vnet-rule\",\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tServerName:        exampleServer.Name,\n\t\t\tSubnetId:          exampleSubnet.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = azurerm.NewSqlFirewallRule(ctx, \"example\", \u0026azurerm.SqlFirewallRuleArgs{\n\t\t\tName:              \"FirewallRule1\",\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tServerName:        exampleServer.Name,\n\t\t\tStartIpAddress:    \"0.0.0.0\",\n\t\t\tEndIpAddress:      \"0.0.0.0\",\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := storage.NewAccount(ctx, \"example\", \u0026storage.AccountArgs{\n\t\t\tName:                       pulumi.String(\"examplesa\"),\n\t\t\tResourceGroupName:          exampleResourceGroup.Name,\n\t\t\tLocation:                   exampleResourceGroup.Location,\n\t\t\tAccountTier:                pulumi.String(\"Standard\"),\n\t\t\tAccountReplicationType:     pulumi.String(\"LRS\"),\n\t\t\tAccountKind:                pulumi.String(\"StorageV2\"),\n\t\t\tAllowNestedItemsToBePublic: pulumi.Bool(false),\n\t\t\tNetworkRules: \u0026storage.AccountNetworkRulesTypeArgs{\n\t\t\t\tDefaultAction: pulumi.String(\"Deny\"),\n\t\t\t\tIpRules: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"127.0.0.1\"),\n\t\t\t\t},\n\t\t\t\tVirtualNetworkSubnetIds: pulumi.StringArray{\n\t\t\t\t\texampleSubnet.ID(),\n\t\t\t\t},\n\t\t\t\tBypasses: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"AzureServices\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tIdentity: \u0026storage.AccountIdentityArgs{\n\t\t\t\tType: pulumi.String(\"SystemAssigned\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = mssql.NewServerMicrosoftSupportAuditingPolicy(ctx, \"example\", \u0026mssql.ServerMicrosoftSupportAuditingPolicyArgs{\n\t\t\tBlobStorageEndpoint:          exampleAccount.PrimaryBlobEndpoint,\n\t\t\tServerId:                     exampleServer.ID(),\n\t\t\tLogMonitoringEnabled:         pulumi.Bool(false),\n\t\t\tStorageAccountSubscriptionId: pulumi.Any(primaryAzurermSubscription.SubscriptionId),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleAssignment,\n\t\t\texampleAccount,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.core.inputs.GetSubscriptionArgs;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.VirtualNetwork;\nimport com.pulumi.azure.network.VirtualNetworkArgs;\nimport com.pulumi.azure.network.Subnet;\nimport com.pulumi.azure.network.SubnetArgs;\nimport com.pulumi.azure.mssql.Server;\nimport com.pulumi.azure.mssql.ServerArgs;\nimport com.pulumi.azure.mssql.inputs.ServerIdentityArgs;\nimport com.pulumi.azure.authorization.Assignment;\nimport com.pulumi.azure.authorization.AssignmentArgs;\nimport com.pulumi.azurerm.SqlVirtualNetworkRule;\nimport com.pulumi.azurerm.SqlVirtualNetworkRuleArgs;\nimport com.pulumi.azurerm.SqlFirewallRule;\nimport com.pulumi.azurerm.SqlFirewallRuleArgs;\nimport com.pulumi.azure.storage.Account;\nimport com.pulumi.azure.storage.AccountArgs;\nimport com.pulumi.azure.storage.inputs.AccountNetworkRulesArgs;\nimport com.pulumi.azure.storage.inputs.AccountIdentityArgs;\nimport com.pulumi.azure.mssql.ServerMicrosoftSupportAuditingPolicy;\nimport com.pulumi.azure.mssql.ServerMicrosoftSupportAuditingPolicyArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var primary = CoreFunctions.getSubscription(GetSubscriptionArgs.builder()\n            .build());\n\n        final var example = CoreFunctions.getClientConfig(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n        var exampleResourceGroup = new ResourceGroup(\"exampleResourceGroup\", ResourceGroupArgs.builder()\n            .name(\"example\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleVirtualNetwork = new VirtualNetwork(\"exampleVirtualNetwork\", VirtualNetworkArgs.builder()\n            .name(\"virtnetname-1\")\n            .addressSpaces(\"10.0.0.0/16\")\n            .location(exampleResourceGroup.location())\n            .resourceGroupName(exampleResourceGroup.name())\n            .build());\n\n        var exampleSubnet = new Subnet(\"exampleSubnet\", SubnetArgs.builder()\n            .name(\"subnetname-1\")\n            .resourceGroupName(exampleResourceGroup.name())\n            .virtualNetworkName(exampleVirtualNetwork.name())\n            .addressPrefixes(\"10.0.2.0/24\")\n            .serviceEndpoints(            \n                \"Microsoft.Sql\",\n                \"Microsoft.Storage\")\n            .enforcePrivateLinkEndpointNetworkPolicies(true)\n            .build());\n\n        var exampleServer = new Server(\"exampleServer\", ServerArgs.builder()\n            .name(\"example-sqlserver\")\n            .resourceGroupName(exampleResourceGroup.name())\n            .location(exampleResourceGroup.location())\n            .version(\"12.0\")\n            .administratorLogin(\"missadministrator\")\n            .administratorLoginPassword(\"AdminPassword123!\")\n            .minimumTlsVersion(\"1.2\")\n            .identity(ServerIdentityArgs.builder()\n                .type(\"SystemAssigned\")\n                .build())\n            .build());\n\n        var exampleAssignment = new Assignment(\"exampleAssignment\", AssignmentArgs.builder()\n            .scope(primary.id())\n            .roleDefinitionName(\"Storage Blob Data Contributor\")\n            .principalId(exampleServer.identity().applyValue(_identity -\u003e _identity.principalId()))\n            .build());\n\n        var sqlvnetrule = new SqlVirtualNetworkRule(\"sqlvnetrule\", SqlVirtualNetworkRuleArgs.builder()\n            .name(\"sql-vnet-rule\")\n            .resourceGroupName(exampleResourceGroup.name())\n            .serverName(exampleServer.name())\n            .subnetId(exampleSubnet.id())\n            .build());\n\n        var exampleSqlFirewallRule = new SqlFirewallRule(\"exampleSqlFirewallRule\", SqlFirewallRuleArgs.builder()\n            .name(\"FirewallRule1\")\n            .resourceGroupName(exampleResourceGroup.name())\n            .serverName(exampleServer.name())\n            .startIpAddress(\"0.0.0.0\")\n            .endIpAddress(\"0.0.0.0\")\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"examplesa\")\n            .resourceGroupName(exampleResourceGroup.name())\n            .location(exampleResourceGroup.location())\n            .accountTier(\"Standard\")\n            .accountReplicationType(\"LRS\")\n            .accountKind(\"StorageV2\")\n            .allowNestedItemsToBePublic(false)\n            .networkRules(AccountNetworkRulesArgs.builder()\n                .defaultAction(\"Deny\")\n                .ipRules(\"127.0.0.1\")\n                .virtualNetworkSubnetIds(exampleSubnet.id())\n                .bypasses(\"AzureServices\")\n                .build())\n            .identity(AccountIdentityArgs.builder()\n                .type(\"SystemAssigned\")\n                .build())\n            .build());\n\n        var exampleServerMicrosoftSupportAuditingPolicy = new ServerMicrosoftSupportAuditingPolicy(\"exampleServerMicrosoftSupportAuditingPolicy\", ServerMicrosoftSupportAuditingPolicyArgs.builder()\n            .blobStorageEndpoint(exampleAccount.primaryBlobEndpoint())\n            .serverId(exampleServer.id())\n            .logMonitoringEnabled(false)\n            .storageAccountSubscriptionId(primaryAzurermSubscription.subscriptionId())\n            .build(), CustomResourceOptions.builder()\n                .dependsOn(                \n                    exampleAssignment,\n                    exampleAccount)\n                .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleResourceGroup:\n    type: azure:core:ResourceGroup\n    name: example\n    properties:\n      name: example\n      location: West Europe\n  exampleVirtualNetwork:\n    type: azure:network:VirtualNetwork\n    name: example\n    properties:\n      name: virtnetname-1\n      addressSpaces:\n        - 10.0.0.0/16\n      location: ${exampleResourceGroup.location}\n      resourceGroupName: ${exampleResourceGroup.name}\n  exampleSubnet:\n    type: azure:network:Subnet\n    name: example\n    properties:\n      name: subnetname-1\n      resourceGroupName: ${exampleResourceGroup.name}\n      virtualNetworkName: ${exampleVirtualNetwork.name}\n      addressPrefixes:\n        - 10.0.2.0/24\n      serviceEndpoints:\n        - Microsoft.Sql\n        - Microsoft.Storage\n      enforcePrivateLinkEndpointNetworkPolicies: true\n  exampleAssignment:\n    type: azure:authorization:Assignment\n    name: example\n    properties:\n      scope: ${primary.id}\n      roleDefinitionName: Storage Blob Data Contributor\n      principalId: ${exampleServer.identity.principalId}\n  exampleServer:\n    type: azure:mssql:Server\n    name: example\n    properties:\n      name: example-sqlserver\n      resourceGroupName: ${exampleResourceGroup.name}\n      location: ${exampleResourceGroup.location}\n      version: '12.0'\n      administratorLogin: missadministrator\n      administratorLoginPassword: AdminPassword123!\n      minimumTlsVersion: '1.2'\n      identity:\n        type: SystemAssigned\n  sqlvnetrule:\n    type: azurerm:SqlVirtualNetworkRule\n    properties:\n      name: sql-vnet-rule\n      resourceGroupName: ${exampleResourceGroup.name}\n      serverName: ${exampleServer.name}\n      subnetId: ${exampleSubnet.id}\n  exampleSqlFirewallRule:\n    type: azurerm:SqlFirewallRule\n    name: example\n    properties:\n      name: FirewallRule1\n      resourceGroupName: ${exampleResourceGroup.name}\n      serverName: ${exampleServer.name}\n      startIpAddress: 0.0.0.0\n      endIpAddress: 0.0.0.0\n  exampleAccount:\n    type: azure:storage:Account\n    name: example\n    properties:\n      name: examplesa\n      resourceGroupName: ${exampleResourceGroup.name}\n      location: ${exampleResourceGroup.location}\n      accountTier: Standard\n      accountReplicationType: LRS\n      accountKind: StorageV2\n      allowNestedItemsToBePublic: false\n      networkRules:\n        defaultAction: Deny\n        ipRules:\n          - 127.0.0.1\n        virtualNetworkSubnetIds:\n          - ${exampleSubnet.id}\n        bypasses:\n          - AzureServices\n      identity:\n        type: SystemAssigned\n  exampleServerMicrosoftSupportAuditingPolicy:\n    type: azure:mssql:ServerMicrosoftSupportAuditingPolicy\n    name: example\n    properties:\n      blobStorageEndpoint: ${exampleAccount.primaryBlobEndpoint}\n      serverId: ${exampleServer.id}\n      logMonitoringEnabled: false\n      storageAccountSubscriptionId: ${primaryAzurermSubscription.subscriptionId}\n    options:\n      dependsOn:\n        - ${exampleAssignment}\n        - ${exampleAccount}\nvariables:\n  primary:\n    fn::invoke:\n      function: azure:core:getSubscription\n      arguments: {}\n  example:\n    fn::invoke:\n      function: azure:core:getClientConfig\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Sql` - 2023-08-01-preview\n\n## Import\n\nMS SQL Server Microsoft Support Auditing Policies can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:mssql/serverMicrosoftSupportAuditingPolicy:ServerMicrosoftSupportAuditingPolicy example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Sql/servers/sqlServer1/devOpsAuditingSettings/default\n```\n\n","properties":{"blobStorageEndpoint":{"type":"string","description":"The blob storage endpoint (e.g. https://example.blob.core.windows.net). This blob storage will hold all Microsoft support auditing logs.\n"},"enabled":{"type":"boolean","description":"Whether to enable the extended auditing policy. Possible values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n\n\u003e **Note:** If \u003cspan pulumi-lang-nodejs=\"`enabled`\" pulumi-lang-dotnet=\"`Enabled`\" pulumi-lang-go=\"`enabled`\" pulumi-lang-python=\"`enabled`\" pulumi-lang-yaml=\"`enabled`\" pulumi-lang-java=\"`enabled`\"\u003e`enabled`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`blobStorageEndpoint`\" pulumi-lang-dotnet=\"`BlobStorageEndpoint`\" pulumi-lang-go=\"`blobStorageEndpoint`\" pulumi-lang-python=\"`blob_storage_endpoint`\" pulumi-lang-yaml=\"`blobStorageEndpoint`\" pulumi-lang-java=\"`blobStorageEndpoint`\"\u003e`blob_storage_endpoint`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`logMonitoringEnabled`\" pulumi-lang-dotnet=\"`LogMonitoringEnabled`\" pulumi-lang-go=\"`logMonitoringEnabled`\" pulumi-lang-python=\"`log_monitoring_enabled`\" pulumi-lang-yaml=\"`logMonitoringEnabled`\" pulumi-lang-java=\"`logMonitoringEnabled`\"\u003e`log_monitoring_enabled`\u003c/span\u003e are required.\n"},"logMonitoringEnabled":{"type":"boolean","description":"Enable audit events to Azure Monitor? To enable server audit events to Azure Monitor, please enable its main database audit events to Azure Monitor. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"serverId":{"type":"string","description":"The ID of the SQL Server to set the extended auditing policy. Changing this forces a new resource to be created.\n"},"storageAccountAccessKey":{"type":"string","description":"The access key to use for the auditing storage account.\n","secret":true},"storageAccountSubscriptionId":{"type":"string","description":"The ID of the Subscription containing the Storage Account.\n","secret":true}},"required":["serverId"],"inputProperties":{"blobStorageEndpoint":{"type":"string","description":"The blob storage endpoint (e.g. https://example.blob.core.windows.net). This blob storage will hold all Microsoft support auditing logs.\n"},"enabled":{"type":"boolean","description":"Whether to enable the extended auditing policy. Possible values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n\n\u003e **Note:** If \u003cspan pulumi-lang-nodejs=\"`enabled`\" pulumi-lang-dotnet=\"`Enabled`\" pulumi-lang-go=\"`enabled`\" pulumi-lang-python=\"`enabled`\" pulumi-lang-yaml=\"`enabled`\" pulumi-lang-java=\"`enabled`\"\u003e`enabled`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`blobStorageEndpoint`\" pulumi-lang-dotnet=\"`BlobStorageEndpoint`\" pulumi-lang-go=\"`blobStorageEndpoint`\" pulumi-lang-python=\"`blob_storage_endpoint`\" pulumi-lang-yaml=\"`blobStorageEndpoint`\" pulumi-lang-java=\"`blobStorageEndpoint`\"\u003e`blob_storage_endpoint`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`logMonitoringEnabled`\" pulumi-lang-dotnet=\"`LogMonitoringEnabled`\" pulumi-lang-go=\"`logMonitoringEnabled`\" pulumi-lang-python=\"`log_monitoring_enabled`\" pulumi-lang-yaml=\"`logMonitoringEnabled`\" pulumi-lang-java=\"`logMonitoringEnabled`\"\u003e`log_monitoring_enabled`\u003c/span\u003e are required.\n"},"logMonitoringEnabled":{"type":"boolean","description":"Enable audit events to Azure Monitor? To enable server audit events to Azure Monitor, please enable its main database audit events to Azure Monitor. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"serverId":{"type":"string","description":"The ID of the SQL Server to set the extended auditing policy. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"storageAccountAccessKey":{"type":"string","description":"The access key to use for the auditing storage account.\n","secret":true},"storageAccountSubscriptionId":{"type":"string","description":"The ID of the Subscription containing the Storage Account.\n","secret":true}},"requiredInputs":["serverId"],"stateInputs":{"description":"Input properties used for looking up and filtering ServerMicrosoftSupportAuditingPolicy resources.\n","properties":{"blobStorageEndpoint":{"type":"string","description":"The blob storage endpoint (e.g. https://example.blob.core.windows.net). This blob storage will hold all Microsoft support auditing logs.\n"},"enabled":{"type":"boolean","description":"Whether to enable the extended auditing policy. Possible values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n\n\u003e **Note:** If \u003cspan pulumi-lang-nodejs=\"`enabled`\" pulumi-lang-dotnet=\"`Enabled`\" pulumi-lang-go=\"`enabled`\" pulumi-lang-python=\"`enabled`\" pulumi-lang-yaml=\"`enabled`\" pulumi-lang-java=\"`enabled`\"\u003e`enabled`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`blobStorageEndpoint`\" pulumi-lang-dotnet=\"`BlobStorageEndpoint`\" pulumi-lang-go=\"`blobStorageEndpoint`\" pulumi-lang-python=\"`blob_storage_endpoint`\" pulumi-lang-yaml=\"`blobStorageEndpoint`\" pulumi-lang-java=\"`blobStorageEndpoint`\"\u003e`blob_storage_endpoint`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`logMonitoringEnabled`\" pulumi-lang-dotnet=\"`LogMonitoringEnabled`\" pulumi-lang-go=\"`logMonitoringEnabled`\" pulumi-lang-python=\"`log_monitoring_enabled`\" pulumi-lang-yaml=\"`logMonitoringEnabled`\" pulumi-lang-java=\"`logMonitoringEnabled`\"\u003e`log_monitoring_enabled`\u003c/span\u003e are required.\n"},"logMonitoringEnabled":{"type":"boolean","description":"Enable audit events to Azure Monitor? To enable server audit events to Azure Monitor, please enable its main database audit events to Azure Monitor. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"serverId":{"type":"string","description":"The ID of the SQL Server to set the extended auditing policy. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"storageAccountAccessKey":{"type":"string","description":"The access key to use for the auditing storage account.\n","secret":true},"storageAccountSubscriptionId":{"type":"string","description":"The ID of the Subscription containing the Storage Account.\n","secret":true}},"type":"object"}},"azure:mssql/serverSecurityAlertPolicy:ServerSecurityAlertPolicy":{"description":"Manages a Security Alert Policy for a MSSQL Server.\n\n\u003e **Note:** Security Alert Policy is currently only available for MS SQL databases.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\nimport * as azurerm from \"@pulumi/azurerm\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleSqlServer = new azurerm.index.SqlServer(\"example\", {\n    name: \"mysqlserver\",\n    resourceGroupName: example.name,\n    location: example.location,\n    version: \"12.0\",\n    administratorLogin: \"4dm1n157r470r\",\n    administratorLoginPassword: \"4-v3ry-53cr37-p455w0rd\",\n});\nconst exampleAccount = new azure.storage.Account(\"example\", {\n    name: \"accteststorageaccount\",\n    resourceGroupName: example.name,\n    location: example.location,\n    accountTier: \"Standard\",\n    accountReplicationType: \"GRS\",\n});\nconst exampleServerSecurityAlertPolicy = new azure.mssql.ServerSecurityAlertPolicy(\"example\", {\n    resourceGroupName: example.name,\n    serverName: exampleSqlServer.name,\n    state: \"Enabled\",\n    storageEndpoint: exampleAccount.primaryBlobEndpoint,\n    storageAccountAccessKey: exampleAccount.primaryAccessKey,\n    retentionDays: 20,\n    disabledAlerts: [\n        \"Sql_Injection\",\n        \"Data_Exfiltration\",\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\nimport pulumi_azurerm as azurerm\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_sql_server = azurerm.index.SqlServer(\"example\",\n    name=mysqlserver,\n    resource_group_name=example.name,\n    location=example.location,\n    version=12.0,\n    administrator_login=4dm1n157r470r,\n    administrator_login_password=4-v3ry-53cr37-p455w0rd)\nexample_account = azure.storage.Account(\"example\",\n    name=\"accteststorageaccount\",\n    resource_group_name=example.name,\n    location=example.location,\n    account_tier=\"Standard\",\n    account_replication_type=\"GRS\")\nexample_server_security_alert_policy = azure.mssql.ServerSecurityAlertPolicy(\"example\",\n    resource_group_name=example.name,\n    server_name=example_sql_server[\"name\"],\n    state=\"Enabled\",\n    storage_endpoint=example_account.primary_blob_endpoint,\n    storage_account_access_key=example_account.primary_access_key,\n    retention_days=20,\n    disabled_alerts=[\n        \"Sql_Injection\",\n        \"Data_Exfiltration\",\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\nusing Azurerm = Pulumi.Azurerm;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleSqlServer = new Azurerm.Index.SqlServer(\"example\", new()\n    {\n        Name = \"mysqlserver\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        Version = \"12.0\",\n        AdministratorLogin = \"4dm1n157r470r\",\n        AdministratorLoginPassword = \"4-v3ry-53cr37-p455w0rd\",\n    });\n\n    var exampleAccount = new Azure.Storage.Account(\"example\", new()\n    {\n        Name = \"accteststorageaccount\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        AccountTier = \"Standard\",\n        AccountReplicationType = \"GRS\",\n    });\n\n    var exampleServerSecurityAlertPolicy = new Azure.MSSql.ServerSecurityAlertPolicy(\"example\", new()\n    {\n        ResourceGroupName = example.Name,\n        ServerName = exampleSqlServer.Name,\n        State = \"Enabled\",\n        StorageEndpoint = exampleAccount.PrimaryBlobEndpoint,\n        StorageAccountAccessKey = exampleAccount.PrimaryAccessKey,\n        RetentionDays = 20,\n        DisabledAlerts = new[]\n        {\n            \"Sql_Injection\",\n            \"Data_Exfiltration\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/mssql\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi-azurerm/sdk/go/azurerm\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSqlServer, err := azurerm.NewSqlServer(ctx, \"example\", \u0026azurerm.SqlServerArgs{\n\t\t\tName:                       \"mysqlserver\",\n\t\t\tResourceGroupName:          example.Name,\n\t\t\tLocation:                   example.Location,\n\t\t\tVersion:                    \"12.0\",\n\t\t\tAdministratorLogin:         \"4dm1n157r470r\",\n\t\t\tAdministratorLoginPassword: \"4-v3ry-53cr37-p455w0rd\",\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := storage.NewAccount(ctx, \"example\", \u0026storage.AccountArgs{\n\t\t\tName:                   pulumi.String(\"accteststorageaccount\"),\n\t\t\tResourceGroupName:      example.Name,\n\t\t\tLocation:               example.Location,\n\t\t\tAccountTier:            pulumi.String(\"Standard\"),\n\t\t\tAccountReplicationType: pulumi.String(\"GRS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = mssql.NewServerSecurityAlertPolicy(ctx, \"example\", \u0026mssql.ServerSecurityAlertPolicyArgs{\n\t\t\tResourceGroupName:       example.Name,\n\t\t\tServerName:              exampleSqlServer.Name,\n\t\t\tState:                   pulumi.String(\"Enabled\"),\n\t\t\tStorageEndpoint:         exampleAccount.PrimaryBlobEndpoint,\n\t\t\tStorageAccountAccessKey: exampleAccount.PrimaryAccessKey,\n\t\t\tRetentionDays:           pulumi.Int(20),\n\t\t\tDisabledAlerts: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"Sql_Injection\"),\n\t\t\t\tpulumi.String(\"Data_Exfiltration\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azurerm.SqlServer;\nimport com.pulumi.azurerm.SqlServerArgs;\nimport com.pulumi.azure.storage.Account;\nimport com.pulumi.azure.storage.AccountArgs;\nimport com.pulumi.azure.mssql.ServerSecurityAlertPolicy;\nimport com.pulumi.azure.mssql.ServerSecurityAlertPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleSqlServer = new SqlServer(\"exampleSqlServer\", SqlServerArgs.builder()\n            .name(\"mysqlserver\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .version(\"12.0\")\n            .administratorLogin(\"4dm1n157r470r\")\n            .administratorLoginPassword(\"4-v3ry-53cr37-p455w0rd\")\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"accteststorageaccount\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .accountTier(\"Standard\")\n            .accountReplicationType(\"GRS\")\n            .build());\n\n        var exampleServerSecurityAlertPolicy = new ServerSecurityAlertPolicy(\"exampleServerSecurityAlertPolicy\", ServerSecurityAlertPolicyArgs.builder()\n            .resourceGroupName(example.name())\n            .serverName(exampleSqlServer.name())\n            .state(\"Enabled\")\n            .storageEndpoint(exampleAccount.primaryBlobEndpoint())\n            .storageAccountAccessKey(exampleAccount.primaryAccessKey())\n            .retentionDays(20)\n            .disabledAlerts(            \n                \"Sql_Injection\",\n                \"Data_Exfiltration\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleSqlServer:\n    type: azurerm:SqlServer\n    name: example\n    properties:\n      name: mysqlserver\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      version: '12.0'\n      administratorLogin: 4dm1n157r470r\n      administratorLoginPassword: 4-v3ry-53cr37-p455w0rd\n  exampleAccount:\n    type: azure:storage:Account\n    name: example\n    properties:\n      name: accteststorageaccount\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      accountTier: Standard\n      accountReplicationType: GRS\n  exampleServerSecurityAlertPolicy:\n    type: azure:mssql:ServerSecurityAlertPolicy\n    name: example\n    properties:\n      resourceGroupName: ${example.name}\n      serverName: ${exampleSqlServer.name}\n      state: Enabled\n      storageEndpoint: ${exampleAccount.primaryBlobEndpoint}\n      storageAccountAccessKey: ${exampleAccount.primaryAccessKey}\n      retentionDays: 20\n      disabledAlerts:\n        - Sql_Injection\n        - Data_Exfiltration\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Sql` - 2023-08-01-preview\n\n## Import\n\nMS SQL Server Security Alert Policy can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:mssql/serverSecurityAlertPolicy:ServerSecurityAlertPolicy example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/acceptanceTestResourceGroup1/providers/Microsoft.Sql/servers/mssqlserver/securityAlertPolicies/Default\n```\n\n","properties":{"disabledAlerts":{"type":"array","items":{"type":"string"},"description":"Specifies an array of alerts that are disabled. Allowed values are: `Sql_Injection`, `Sql_Injection_Vulnerability`, `Access_Anomaly`, `Data_Exfiltration`, `Unsafe_Action`.\n"},"emailAccountAdmins":{"type":"boolean","description":"Are the alerts sent to the account administrators? Possible values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"emailAddresses":{"type":"array","items":{"type":"string"},"description":"Specifies an array of email addresses to which the alert is sent.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group that contains the MS SQL Server. Changing this forces a new resource to be created.\n"},"retentionDays":{"type":"integer","description":"Specifies the number of days to keep the Threat Detection audit logs. Defaults to \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"serverName":{"type":"string","description":"Specifies the name of the MS SQL Server. Changing this forces a new resource to be created.\n"},"state":{"type":"string","description":"Specifies the state of the policy. Possible values are `Disabled` or `Enabled`.\n"},"storageAccountAccessKey":{"type":"string","description":"Specifies the primary access key of the Threat Detection audit logs blob storage endpoint.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`storageAccountAccessKey`\" pulumi-lang-dotnet=\"`StorageAccountAccessKey`\" pulumi-lang-go=\"`storageAccountAccessKey`\" pulumi-lang-python=\"`storage_account_access_key`\" pulumi-lang-yaml=\"`storageAccountAccessKey`\" pulumi-lang-java=\"`storageAccountAccessKey`\"\u003e`storage_account_access_key`\u003c/span\u003e only applies if the storage account is not behind a virtual network or a firewall.\n","secret":true},"storageEndpoint":{"type":"string","description":"Specifies the blob storage endpoint that will hold all Threat Detection audit logs (e.g., `https://example.blob.core.windows.net`).\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`storageAccountAccessKey`\" pulumi-lang-dotnet=\"`StorageAccountAccessKey`\" pulumi-lang-go=\"`storageAccountAccessKey`\" pulumi-lang-python=\"`storage_account_access_key`\" pulumi-lang-yaml=\"`storageAccountAccessKey`\" pulumi-lang-java=\"`storageAccountAccessKey`\"\u003e`storage_account_access_key`\u003c/span\u003e field is required when the \u003cspan pulumi-lang-nodejs=\"`storageEndpoint`\" pulumi-lang-dotnet=\"`StorageEndpoint`\" pulumi-lang-go=\"`storageEndpoint`\" pulumi-lang-python=\"`storage_endpoint`\" pulumi-lang-yaml=\"`storageEndpoint`\" pulumi-lang-java=\"`storageEndpoint`\"\u003e`storage_endpoint`\u003c/span\u003e field has been set.\n\n\u003e **Note:** Storage accounts configured with \u003cspan pulumi-lang-nodejs=\"`sharedAccessKeyEnabled \" pulumi-lang-dotnet=\"`SharedAccessKeyEnabled \" pulumi-lang-go=\"`sharedAccessKeyEnabled \" pulumi-lang-python=\"`shared_access_key_enabled \" pulumi-lang-yaml=\"`sharedAccessKeyEnabled \" pulumi-lang-java=\"`sharedAccessKeyEnabled \"\u003e`shared_access_key_enabled \u003c/span\u003e= false` cannot be used for the \u003cspan pulumi-lang-nodejs=\"`storageEndpoint`\" pulumi-lang-dotnet=\"`StorageEndpoint`\" pulumi-lang-go=\"`storageEndpoint`\" pulumi-lang-python=\"`storage_endpoint`\" pulumi-lang-yaml=\"`storageEndpoint`\" pulumi-lang-java=\"`storageEndpoint`\"\u003e`storage_endpoint`\u003c/span\u003e field.\n"}},"required":["resourceGroupName","serverName","state"],"inputProperties":{"disabledAlerts":{"type":"array","items":{"type":"string"},"description":"Specifies an array of alerts that are disabled. Allowed values are: `Sql_Injection`, `Sql_Injection_Vulnerability`, `Access_Anomaly`, `Data_Exfiltration`, `Unsafe_Action`.\n"},"emailAccountAdmins":{"type":"boolean","description":"Are the alerts sent to the account administrators? Possible values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"emailAddresses":{"type":"array","items":{"type":"string"},"description":"Specifies an array of email addresses to which the alert is sent.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group that contains the MS SQL Server. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"retentionDays":{"type":"integer","description":"Specifies the number of days to keep the Threat Detection audit logs. Defaults to \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"serverName":{"type":"string","description":"Specifies the name of the MS SQL Server. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"state":{"type":"string","description":"Specifies the state of the policy. Possible values are `Disabled` or `Enabled`.\n"},"storageAccountAccessKey":{"type":"string","description":"Specifies the primary access key of the Threat Detection audit logs blob storage endpoint.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`storageAccountAccessKey`\" pulumi-lang-dotnet=\"`StorageAccountAccessKey`\" pulumi-lang-go=\"`storageAccountAccessKey`\" pulumi-lang-python=\"`storage_account_access_key`\" pulumi-lang-yaml=\"`storageAccountAccessKey`\" pulumi-lang-java=\"`storageAccountAccessKey`\"\u003e`storage_account_access_key`\u003c/span\u003e only applies if the storage account is not behind a virtual network or a firewall.\n","secret":true},"storageEndpoint":{"type":"string","description":"Specifies the blob storage endpoint that will hold all Threat Detection audit logs (e.g., `https://example.blob.core.windows.net`).\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`storageAccountAccessKey`\" pulumi-lang-dotnet=\"`StorageAccountAccessKey`\" pulumi-lang-go=\"`storageAccountAccessKey`\" pulumi-lang-python=\"`storage_account_access_key`\" pulumi-lang-yaml=\"`storageAccountAccessKey`\" pulumi-lang-java=\"`storageAccountAccessKey`\"\u003e`storage_account_access_key`\u003c/span\u003e field is required when the \u003cspan pulumi-lang-nodejs=\"`storageEndpoint`\" pulumi-lang-dotnet=\"`StorageEndpoint`\" pulumi-lang-go=\"`storageEndpoint`\" pulumi-lang-python=\"`storage_endpoint`\" pulumi-lang-yaml=\"`storageEndpoint`\" pulumi-lang-java=\"`storageEndpoint`\"\u003e`storage_endpoint`\u003c/span\u003e field has been set.\n\n\u003e **Note:** Storage accounts configured with \u003cspan pulumi-lang-nodejs=\"`sharedAccessKeyEnabled \" pulumi-lang-dotnet=\"`SharedAccessKeyEnabled \" pulumi-lang-go=\"`sharedAccessKeyEnabled \" pulumi-lang-python=\"`shared_access_key_enabled \" pulumi-lang-yaml=\"`sharedAccessKeyEnabled \" pulumi-lang-java=\"`sharedAccessKeyEnabled \"\u003e`shared_access_key_enabled \u003c/span\u003e= false` cannot be used for the \u003cspan pulumi-lang-nodejs=\"`storageEndpoint`\" pulumi-lang-dotnet=\"`StorageEndpoint`\" pulumi-lang-go=\"`storageEndpoint`\" pulumi-lang-python=\"`storage_endpoint`\" pulumi-lang-yaml=\"`storageEndpoint`\" pulumi-lang-java=\"`storageEndpoint`\"\u003e`storage_endpoint`\u003c/span\u003e field.\n"}},"requiredInputs":["resourceGroupName","serverName","state"],"stateInputs":{"description":"Input properties used for looking up and filtering ServerSecurityAlertPolicy resources.\n","properties":{"disabledAlerts":{"type":"array","items":{"type":"string"},"description":"Specifies an array of alerts that are disabled. Allowed values are: `Sql_Injection`, `Sql_Injection_Vulnerability`, `Access_Anomaly`, `Data_Exfiltration`, `Unsafe_Action`.\n"},"emailAccountAdmins":{"type":"boolean","description":"Are the alerts sent to the account administrators? Possible values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"emailAddresses":{"type":"array","items":{"type":"string"},"description":"Specifies an array of email addresses to which the alert is sent.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group that contains the MS SQL Server. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"retentionDays":{"type":"integer","description":"Specifies the number of days to keep the Threat Detection audit logs. Defaults to \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"serverName":{"type":"string","description":"Specifies the name of the MS SQL Server. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"state":{"type":"string","description":"Specifies the state of the policy. Possible values are `Disabled` or `Enabled`.\n"},"storageAccountAccessKey":{"type":"string","description":"Specifies the primary access key of the Threat Detection audit logs blob storage endpoint.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`storageAccountAccessKey`\" pulumi-lang-dotnet=\"`StorageAccountAccessKey`\" pulumi-lang-go=\"`storageAccountAccessKey`\" pulumi-lang-python=\"`storage_account_access_key`\" pulumi-lang-yaml=\"`storageAccountAccessKey`\" pulumi-lang-java=\"`storageAccountAccessKey`\"\u003e`storage_account_access_key`\u003c/span\u003e only applies if the storage account is not behind a virtual network or a firewall.\n","secret":true},"storageEndpoint":{"type":"string","description":"Specifies the blob storage endpoint that will hold all Threat Detection audit logs (e.g., `https://example.blob.core.windows.net`).\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`storageAccountAccessKey`\" pulumi-lang-dotnet=\"`StorageAccountAccessKey`\" pulumi-lang-go=\"`storageAccountAccessKey`\" pulumi-lang-python=\"`storage_account_access_key`\" pulumi-lang-yaml=\"`storageAccountAccessKey`\" pulumi-lang-java=\"`storageAccountAccessKey`\"\u003e`storage_account_access_key`\u003c/span\u003e field is required when the \u003cspan pulumi-lang-nodejs=\"`storageEndpoint`\" pulumi-lang-dotnet=\"`StorageEndpoint`\" pulumi-lang-go=\"`storageEndpoint`\" pulumi-lang-python=\"`storage_endpoint`\" pulumi-lang-yaml=\"`storageEndpoint`\" pulumi-lang-java=\"`storageEndpoint`\"\u003e`storage_endpoint`\u003c/span\u003e field has been set.\n\n\u003e **Note:** Storage accounts configured with \u003cspan pulumi-lang-nodejs=\"`sharedAccessKeyEnabled \" pulumi-lang-dotnet=\"`SharedAccessKeyEnabled \" pulumi-lang-go=\"`sharedAccessKeyEnabled \" pulumi-lang-python=\"`shared_access_key_enabled \" pulumi-lang-yaml=\"`sharedAccessKeyEnabled \" pulumi-lang-java=\"`sharedAccessKeyEnabled \"\u003e`shared_access_key_enabled \u003c/span\u003e= false` cannot be used for the \u003cspan pulumi-lang-nodejs=\"`storageEndpoint`\" pulumi-lang-dotnet=\"`StorageEndpoint`\" pulumi-lang-go=\"`storageEndpoint`\" pulumi-lang-python=\"`storage_endpoint`\" pulumi-lang-yaml=\"`storageEndpoint`\" pulumi-lang-java=\"`storageEndpoint`\"\u003e`storage_endpoint`\u003c/span\u003e field.\n"}},"type":"object"}},"azure:mssql/serverTransparentDataEncryption:ServerTransparentDataEncryption":{"description":"Manages the transparent data encryption configuration for a MSSQL Server\n\n!\u003e **Note:** This resource can be used to configure Transparent Data Encryption for MS SQL instances with Customer Managed Keys. For MS SQL instances that are System Managed, it should only be used with pre-existing MS SQL Instances that are over 3 years old. For new System Managed MS SQL Instances that will be created through the use of the \u003cspan pulumi-lang-nodejs=\"`azure.mssql.Server`\" pulumi-lang-dotnet=\"`azure.mssql.Server`\" pulumi-lang-go=\"`mssql.Server`\" pulumi-lang-python=\"`mssql.Server`\" pulumi-lang-yaml=\"`azure.mssql.Server`\" pulumi-lang-java=\"`azure.mssql.Server`\"\u003e`azure.mssql.Server`\u003c/span\u003e resource, please enable Transparent Data Encryption through \u003cspan pulumi-lang-nodejs=\"`azure.mssql.Server`\" pulumi-lang-dotnet=\"`azure.mssql.Server`\" pulumi-lang-go=\"`mssql.Server`\" pulumi-lang-python=\"`mssql.Server`\" pulumi-lang-yaml=\"`azure.mssql.Server`\" pulumi-lang-java=\"`azure.mssql.Server`\"\u003e`azure.mssql.Server`\u003c/span\u003e resource itself by configuring an identity block. By default, all new MS SQL Instances are deployed with System Managed Transparent Data Encryption enabled.\n\n\u003e **Note:** Once transparent data encryption is enabled on a MS SQL instance, it is not possible to remove TDE. You will be able to switch between 'ServiceManaged' and 'CustomerManaged' keys, but will not be able to remove encryption. For safety when this resource is deleted, the TDE mode will automatically be set to 'ServiceManaged'. As SQL Server only supports a single configuration for encryption settings, this resource will replace the current encryption settings on the server.\n\n\u003e **Note:** See [documentation](https://docs.microsoft.com/azure/azure-sql/database/transparent-data-encryption-byok-overview) for important information on how handle lifecycle management of the keys to prevent data lockout.\n\n## Example Usage\n\n### With Service Managed Key\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"EastUs\",\n});\nconst exampleServer = new azure.mssql.Server(\"example\", {\n    name: \"mssqlserver\",\n    resourceGroupName: example.name,\n    location: example.location,\n    version: \"12.0\",\n    administratorLogin: \"missadministrator\",\n    administratorLoginPassword: \"thisIsKat11\",\n    minimumTlsVersion: \"1.2\",\n    azureadAdministrator: {\n        loginUsername: \"AzureAD Admin\",\n        objectId: \"00000000-0000-0000-0000-000000000000\",\n    },\n    tags: {\n        environment: \"production\",\n    },\n});\nconst exampleServerTransparentDataEncryption = new azure.mssql.ServerTransparentDataEncryption(\"example\", {serverId: exampleServer.id});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"EastUs\")\nexample_server = azure.mssql.Server(\"example\",\n    name=\"mssqlserver\",\n    resource_group_name=example.name,\n    location=example.location,\n    version=\"12.0\",\n    administrator_login=\"missadministrator\",\n    administrator_login_password=\"thisIsKat11\",\n    minimum_tls_version=\"1.2\",\n    azuread_administrator={\n        \"login_username\": \"AzureAD Admin\",\n        \"object_id\": \"00000000-0000-0000-0000-000000000000\",\n    },\n    tags={\n        \"environment\": \"production\",\n    })\nexample_server_transparent_data_encryption = azure.mssql.ServerTransparentDataEncryption(\"example\", server_id=example_server.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"EastUs\",\n    });\n\n    var exampleServer = new Azure.MSSql.Server(\"example\", new()\n    {\n        Name = \"mssqlserver\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        Version = \"12.0\",\n        AdministratorLogin = \"missadministrator\",\n        AdministratorLoginPassword = \"thisIsKat11\",\n        MinimumTlsVersion = \"1.2\",\n        AzureadAdministrator = new Azure.MSSql.Inputs.ServerAzureadAdministratorArgs\n        {\n            LoginUsername = \"AzureAD Admin\",\n            ObjectId = \"00000000-0000-0000-0000-000000000000\",\n        },\n        Tags = \n        {\n            { \"environment\", \"production\" },\n        },\n    });\n\n    var exampleServerTransparentDataEncryption = new Azure.MSSql.ServerTransparentDataEncryption(\"example\", new()\n    {\n        ServerId = exampleServer.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/mssql\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"EastUs\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleServer, err := mssql.NewServer(ctx, \"example\", \u0026mssql.ServerArgs{\n\t\t\tName:                       pulumi.String(\"mssqlserver\"),\n\t\t\tResourceGroupName:          example.Name,\n\t\t\tLocation:                   example.Location,\n\t\t\tVersion:                    pulumi.String(\"12.0\"),\n\t\t\tAdministratorLogin:         pulumi.String(\"missadministrator\"),\n\t\t\tAdministratorLoginPassword: pulumi.String(\"thisIsKat11\"),\n\t\t\tMinimumTlsVersion:          pulumi.String(\"1.2\"),\n\t\t\tAzureadAdministrator: \u0026mssql.ServerAzureadAdministratorArgs{\n\t\t\t\tLoginUsername: pulumi.String(\"AzureAD Admin\"),\n\t\t\t\tObjectId:      pulumi.String(\"00000000-0000-0000-0000-000000000000\"),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"environment\": pulumi.String(\"production\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = mssql.NewServerTransparentDataEncryption(ctx, \"example\", \u0026mssql.ServerTransparentDataEncryptionArgs{\n\t\t\tServerId: exampleServer.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.mssql.Server;\nimport com.pulumi.azure.mssql.ServerArgs;\nimport com.pulumi.azure.mssql.inputs.ServerAzureadAdministratorArgs;\nimport com.pulumi.azure.mssql.ServerTransparentDataEncryption;\nimport com.pulumi.azure.mssql.ServerTransparentDataEncryptionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"EastUs\")\n            .build());\n\n        var exampleServer = new Server(\"exampleServer\", ServerArgs.builder()\n            .name(\"mssqlserver\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .version(\"12.0\")\n            .administratorLogin(\"missadministrator\")\n            .administratorLoginPassword(\"thisIsKat11\")\n            .minimumTlsVersion(\"1.2\")\n            .azureadAdministrator(ServerAzureadAdministratorArgs.builder()\n                .loginUsername(\"AzureAD Admin\")\n                .objectId(\"00000000-0000-0000-0000-000000000000\")\n                .build())\n            .tags(Map.of(\"environment\", \"production\"))\n            .build());\n\n        var exampleServerTransparentDataEncryption = new ServerTransparentDataEncryption(\"exampleServerTransparentDataEncryption\", ServerTransparentDataEncryptionArgs.builder()\n            .serverId(exampleServer.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: EastUs\n  exampleServer:\n    type: azure:mssql:Server\n    name: example\n    properties:\n      name: mssqlserver\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      version: '12.0'\n      administratorLogin: missadministrator\n      administratorLoginPassword: thisIsKat11\n      minimumTlsVersion: '1.2'\n      azureadAdministrator:\n        loginUsername: AzureAD Admin\n        objectId: 00000000-0000-0000-0000-000000000000\n      tags:\n        environment: production\n  exampleServerTransparentDataEncryption:\n    type: azure:mssql:ServerTransparentDataEncryption\n    name: example\n    properties:\n      serverId: ${exampleServer.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\n### With Customer Managed Key\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst current = azure.core.getClientConfig({});\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"EastUs\",\n});\nconst exampleServer = new azure.mssql.Server(\"example\", {\n    name: \"mssqlserver\",\n    resourceGroupName: example.name,\n    location: example.location,\n    version: \"12.0\",\n    administratorLogin: \"missadministrator\",\n    administratorLoginPassword: \"thisIsKat11\",\n    minimumTlsVersion: \"1.2\",\n    azureadAdministrator: {\n        loginUsername: \"AzureAD Admin\",\n        objectId: \"00000000-0000-0000-0000-000000000000\",\n    },\n    tags: {\n        environment: \"production\",\n    },\n    identity: {\n        type: \"SystemAssigned\",\n    },\n});\n// Create a key vault with policies for the deployer to create a key \u0026 SQL Server to wrap/unwrap/get key\nconst exampleKeyVault = new azure.keyvault.KeyVault(\"example\", {\n    name: \"example\",\n    location: example.location,\n    resourceGroupName: example.name,\n    enabledForDiskEncryption: true,\n    tenantId: current.then(current =\u003e current.tenantId),\n    softDeleteRetentionDays: 7,\n    purgeProtectionEnabled: false,\n    skuName: \"standard\",\n    accessPolicies: [\n        {\n            tenantId: current.then(current =\u003e current.tenantId),\n            objectId: current.then(current =\u003e current.objectId),\n            keyPermissions: [\n                \"Get\",\n                \"List\",\n                \"Create\",\n                \"Delete\",\n                \"Update\",\n                \"Recover\",\n                \"Purge\",\n                \"GetRotationPolicy\",\n            ],\n        },\n        {\n            tenantId: exampleServer.identity.apply(identity =\u003e identity?.tenantId),\n            objectId: exampleServer.identity.apply(identity =\u003e identity?.principalId),\n            keyPermissions: [\n                \"Get\",\n                \"WrapKey\",\n                \"UnwrapKey\",\n            ],\n        },\n    ],\n});\nconst exampleKey = new azure.keyvault.Key(\"example\", {\n    name: \"byok\",\n    keyVaultId: exampleKeyVault.id,\n    keyType: \"RSA\",\n    keySize: 2048,\n    keyOpts: [\n        \"unwrapKey\",\n        \"wrapKey\",\n    ],\n}, {\n    dependsOn: [exampleKeyVault],\n});\nconst exampleServerTransparentDataEncryption = new azure.mssql.ServerTransparentDataEncryption(\"example\", {\n    serverId: exampleServer.id,\n    keyVaultKeyId: exampleKey.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\ncurrent = azure.core.get_client_config()\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"EastUs\")\nexample_server = azure.mssql.Server(\"example\",\n    name=\"mssqlserver\",\n    resource_group_name=example.name,\n    location=example.location,\n    version=\"12.0\",\n    administrator_login=\"missadministrator\",\n    administrator_login_password=\"thisIsKat11\",\n    minimum_tls_version=\"1.2\",\n    azuread_administrator={\n        \"login_username\": \"AzureAD Admin\",\n        \"object_id\": \"00000000-0000-0000-0000-000000000000\",\n    },\n    tags={\n        \"environment\": \"production\",\n    },\n    identity={\n        \"type\": \"SystemAssigned\",\n    })\n# Create a key vault with policies for the deployer to create a key \u0026 SQL Server to wrap/unwrap/get key\nexample_key_vault = azure.keyvault.KeyVault(\"example\",\n    name=\"example\",\n    location=example.location,\n    resource_group_name=example.name,\n    enabled_for_disk_encryption=True,\n    tenant_id=current.tenant_id,\n    soft_delete_retention_days=7,\n    purge_protection_enabled=False,\n    sku_name=\"standard\",\n    access_policies=[\n        {\n            \"tenant_id\": current.tenant_id,\n            \"object_id\": current.object_id,\n            \"key_permissions\": [\n                \"Get\",\n                \"List\",\n                \"Create\",\n                \"Delete\",\n                \"Update\",\n                \"Recover\",\n                \"Purge\",\n                \"GetRotationPolicy\",\n            ],\n        },\n        {\n            \"tenant_id\": example_server.identity.tenant_id,\n            \"object_id\": example_server.identity.principal_id,\n            \"key_permissions\": [\n                \"Get\",\n                \"WrapKey\",\n                \"UnwrapKey\",\n            ],\n        },\n    ])\nexample_key = azure.keyvault.Key(\"example\",\n    name=\"byok\",\n    key_vault_id=example_key_vault.id,\n    key_type=\"RSA\",\n    key_size=2048,\n    key_opts=[\n        \"unwrapKey\",\n        \"wrapKey\",\n    ],\n    opts = pulumi.ResourceOptions(depends_on=[example_key_vault]))\nexample_server_transparent_data_encryption = azure.mssql.ServerTransparentDataEncryption(\"example\",\n    server_id=example_server.id,\n    key_vault_key_id=example_key.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var current = Azure.Core.GetClientConfig.Invoke();\n\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"EastUs\",\n    });\n\n    var exampleServer = new Azure.MSSql.Server(\"example\", new()\n    {\n        Name = \"mssqlserver\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        Version = \"12.0\",\n        AdministratorLogin = \"missadministrator\",\n        AdministratorLoginPassword = \"thisIsKat11\",\n        MinimumTlsVersion = \"1.2\",\n        AzureadAdministrator = new Azure.MSSql.Inputs.ServerAzureadAdministratorArgs\n        {\n            LoginUsername = \"AzureAD Admin\",\n            ObjectId = \"00000000-0000-0000-0000-000000000000\",\n        },\n        Tags = \n        {\n            { \"environment\", \"production\" },\n        },\n        Identity = new Azure.MSSql.Inputs.ServerIdentityArgs\n        {\n            Type = \"SystemAssigned\",\n        },\n    });\n\n    // Create a key vault with policies for the deployer to create a key \u0026 SQL Server to wrap/unwrap/get key\n    var exampleKeyVault = new Azure.KeyVault.KeyVault(\"example\", new()\n    {\n        Name = \"example\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        EnabledForDiskEncryption = true,\n        TenantId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.TenantId),\n        SoftDeleteRetentionDays = 7,\n        PurgeProtectionEnabled = false,\n        SkuName = \"standard\",\n        AccessPolicies = new[]\n        {\n            new Azure.KeyVault.Inputs.KeyVaultAccessPolicyArgs\n            {\n                TenantId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.TenantId),\n                ObjectId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.ObjectId),\n                KeyPermissions = new[]\n                {\n                    \"Get\",\n                    \"List\",\n                    \"Create\",\n                    \"Delete\",\n                    \"Update\",\n                    \"Recover\",\n                    \"Purge\",\n                    \"GetRotationPolicy\",\n                },\n            },\n            new Azure.KeyVault.Inputs.KeyVaultAccessPolicyArgs\n            {\n                TenantId = exampleServer.Identity.Apply(identity =\u003e identity?.TenantId),\n                ObjectId = exampleServer.Identity.Apply(identity =\u003e identity?.PrincipalId),\n                KeyPermissions = new[]\n                {\n                    \"Get\",\n                    \"WrapKey\",\n                    \"UnwrapKey\",\n                },\n            },\n        },\n    });\n\n    var exampleKey = new Azure.KeyVault.Key(\"example\", new()\n    {\n        Name = \"byok\",\n        KeyVaultId = exampleKeyVault.Id,\n        KeyType = \"RSA\",\n        KeySize = 2048,\n        KeyOpts = new[]\n        {\n            \"unwrapKey\",\n            \"wrapKey\",\n        },\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            exampleKeyVault,\n        },\n    });\n\n    var exampleServerTransparentDataEncryption = new Azure.MSSql.ServerTransparentDataEncryption(\"example\", new()\n    {\n        ServerId = exampleServer.Id,\n        KeyVaultKeyId = exampleKey.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/keyvault\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/mssql\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := core.GetClientConfig(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"EastUs\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleServer, err := mssql.NewServer(ctx, \"example\", \u0026mssql.ServerArgs{\n\t\t\tName:                       pulumi.String(\"mssqlserver\"),\n\t\t\tResourceGroupName:          example.Name,\n\t\t\tLocation:                   example.Location,\n\t\t\tVersion:                    pulumi.String(\"12.0\"),\n\t\t\tAdministratorLogin:         pulumi.String(\"missadministrator\"),\n\t\t\tAdministratorLoginPassword: pulumi.String(\"thisIsKat11\"),\n\t\t\tMinimumTlsVersion:          pulumi.String(\"1.2\"),\n\t\t\tAzureadAdministrator: \u0026mssql.ServerAzureadAdministratorArgs{\n\t\t\t\tLoginUsername: pulumi.String(\"AzureAD Admin\"),\n\t\t\t\tObjectId:      pulumi.String(\"00000000-0000-0000-0000-000000000000\"),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"environment\": pulumi.String(\"production\"),\n\t\t\t},\n\t\t\tIdentity: \u0026mssql.ServerIdentityArgs{\n\t\t\t\tType: pulumi.String(\"SystemAssigned\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create a key vault with policies for the deployer to create a key \u0026 SQL Server to wrap/unwrap/get key\n\t\texampleKeyVault, err := keyvault.NewKeyVault(ctx, \"example\", \u0026keyvault.KeyVaultArgs{\n\t\t\tName:                     pulumi.String(\"example\"),\n\t\t\tLocation:                 example.Location,\n\t\t\tResourceGroupName:        example.Name,\n\t\t\tEnabledForDiskEncryption: pulumi.Bool(true),\n\t\t\tTenantId:                 pulumi.String(current.TenantId),\n\t\t\tSoftDeleteRetentionDays:  pulumi.Int(7),\n\t\t\tPurgeProtectionEnabled:   pulumi.Bool(false),\n\t\t\tSkuName:                  pulumi.String(\"standard\"),\n\t\t\tAccessPolicies: keyvault.KeyVaultAccessPolicyArray{\n\t\t\t\t\u0026keyvault.KeyVaultAccessPolicyArgs{\n\t\t\t\t\tTenantId: pulumi.String(current.TenantId),\n\t\t\t\t\tObjectId: pulumi.String(current.ObjectId),\n\t\t\t\t\tKeyPermissions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"Get\"),\n\t\t\t\t\t\tpulumi.String(\"List\"),\n\t\t\t\t\t\tpulumi.String(\"Create\"),\n\t\t\t\t\t\tpulumi.String(\"Delete\"),\n\t\t\t\t\t\tpulumi.String(\"Update\"),\n\t\t\t\t\t\tpulumi.String(\"Recover\"),\n\t\t\t\t\t\tpulumi.String(\"Purge\"),\n\t\t\t\t\t\tpulumi.String(\"GetRotationPolicy\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026keyvault.KeyVaultAccessPolicyArgs{\n\t\t\t\t\tTenantId: exampleServer.Identity.ApplyT(func(identity mssql.ServerIdentity) (*string, error) {\n\t\t\t\t\t\treturn \u0026identity.TenantId, nil\n\t\t\t\t\t}).(pulumi.StringPtrOutput),\n\t\t\t\t\tObjectId: exampleServer.Identity.ApplyT(func(identity mssql.ServerIdentity) (*string, error) {\n\t\t\t\t\t\treturn \u0026identity.PrincipalId, nil\n\t\t\t\t\t}).(pulumi.StringPtrOutput),\n\t\t\t\t\tKeyPermissions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"Get\"),\n\t\t\t\t\t\tpulumi.String(\"WrapKey\"),\n\t\t\t\t\t\tpulumi.String(\"UnwrapKey\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleKey, err := keyvault.NewKey(ctx, \"example\", \u0026keyvault.KeyArgs{\n\t\t\tName:       pulumi.String(\"byok\"),\n\t\t\tKeyVaultId: exampleKeyVault.ID(),\n\t\t\tKeyType:    pulumi.String(\"RSA\"),\n\t\t\tKeySize:    pulumi.Int(2048),\n\t\t\tKeyOpts: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"unwrapKey\"),\n\t\t\t\tpulumi.String(\"wrapKey\"),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleKeyVault,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = mssql.NewServerTransparentDataEncryption(ctx, \"example\", \u0026mssql.ServerTransparentDataEncryptionArgs{\n\t\t\tServerId:      exampleServer.ID(),\n\t\t\tKeyVaultKeyId: exampleKey.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.mssql.Server;\nimport com.pulumi.azure.mssql.ServerArgs;\nimport com.pulumi.azure.mssql.inputs.ServerAzureadAdministratorArgs;\nimport com.pulumi.azure.mssql.inputs.ServerIdentityArgs;\nimport com.pulumi.azure.keyvault.KeyVault;\nimport com.pulumi.azure.keyvault.KeyVaultArgs;\nimport com.pulumi.azure.keyvault.inputs.KeyVaultAccessPolicyArgs;\nimport com.pulumi.azure.keyvault.Key;\nimport com.pulumi.azure.keyvault.KeyArgs;\nimport com.pulumi.azure.mssql.ServerTransparentDataEncryption;\nimport com.pulumi.azure.mssql.ServerTransparentDataEncryptionArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var current = CoreFunctions.getClientConfig(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"EastUs\")\n            .build());\n\n        var exampleServer = new Server(\"exampleServer\", ServerArgs.builder()\n            .name(\"mssqlserver\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .version(\"12.0\")\n            .administratorLogin(\"missadministrator\")\n            .administratorLoginPassword(\"thisIsKat11\")\n            .minimumTlsVersion(\"1.2\")\n            .azureadAdministrator(ServerAzureadAdministratorArgs.builder()\n                .loginUsername(\"AzureAD Admin\")\n                .objectId(\"00000000-0000-0000-0000-000000000000\")\n                .build())\n            .tags(Map.of(\"environment\", \"production\"))\n            .identity(ServerIdentityArgs.builder()\n                .type(\"SystemAssigned\")\n                .build())\n            .build());\n\n        // Create a key vault with policies for the deployer to create a key \u0026 SQL Server to wrap/unwrap/get key\n        var exampleKeyVault = new KeyVault(\"exampleKeyVault\", KeyVaultArgs.builder()\n            .name(\"example\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .enabledForDiskEncryption(true)\n            .tenantId(current.tenantId())\n            .softDeleteRetentionDays(7)\n            .purgeProtectionEnabled(false)\n            .skuName(\"standard\")\n            .accessPolicies(            \n                KeyVaultAccessPolicyArgs.builder()\n                    .tenantId(current.tenantId())\n                    .objectId(current.objectId())\n                    .keyPermissions(                    \n                        \"Get\",\n                        \"List\",\n                        \"Create\",\n                        \"Delete\",\n                        \"Update\",\n                        \"Recover\",\n                        \"Purge\",\n                        \"GetRotationPolicy\")\n                    .build(),\n                KeyVaultAccessPolicyArgs.builder()\n                    .tenantId(exampleServer.identity().applyValue(_identity -\u003e _identity.tenantId()))\n                    .objectId(exampleServer.identity().applyValue(_identity -\u003e _identity.principalId()))\n                    .keyPermissions(                    \n                        \"Get\",\n                        \"WrapKey\",\n                        \"UnwrapKey\")\n                    .build())\n            .build());\n\n        var exampleKey = new Key(\"exampleKey\", KeyArgs.builder()\n            .name(\"byok\")\n            .keyVaultId(exampleKeyVault.id())\n            .keyType(\"RSA\")\n            .keySize(2048)\n            .keyOpts(            \n                \"unwrapKey\",\n                \"wrapKey\")\n            .build(), CustomResourceOptions.builder()\n                .dependsOn(exampleKeyVault)\n                .build());\n\n        var exampleServerTransparentDataEncryption = new ServerTransparentDataEncryption(\"exampleServerTransparentDataEncryption\", ServerTransparentDataEncryptionArgs.builder()\n            .serverId(exampleServer.id())\n            .keyVaultKeyId(exampleKey.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: EastUs\n  exampleServer:\n    type: azure:mssql:Server\n    name: example\n    properties:\n      name: mssqlserver\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      version: '12.0'\n      administratorLogin: missadministrator\n      administratorLoginPassword: thisIsKat11\n      minimumTlsVersion: '1.2'\n      azureadAdministrator:\n        loginUsername: AzureAD Admin\n        objectId: 00000000-0000-0000-0000-000000000000\n      tags:\n        environment: production\n      identity:\n        type: SystemAssigned\n  # Create a key vault with policies for the deployer to create a key \u0026 SQL Server to wrap/unwrap/get key\n  exampleKeyVault:\n    type: azure:keyvault:KeyVault\n    name: example\n    properties:\n      name: example\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      enabledForDiskEncryption: true\n      tenantId: ${current.tenantId}\n      softDeleteRetentionDays: 7\n      purgeProtectionEnabled: false\n      skuName: standard\n      accessPolicies:\n        - tenantId: ${current.tenantId}\n          objectId: ${current.objectId}\n          keyPermissions:\n            - Get\n            - List\n            - Create\n            - Delete\n            - Update\n            - Recover\n            - Purge\n            - GetRotationPolicy\n        - tenantId: ${exampleServer.identity.tenantId}\n          objectId: ${exampleServer.identity.principalId}\n          keyPermissions:\n            - Get\n            - WrapKey\n            - UnwrapKey\n  exampleKey:\n    type: azure:keyvault:Key\n    name: example\n    properties:\n      name: byok\n      keyVaultId: ${exampleKeyVault.id}\n      keyType: RSA\n      keySize: 2048\n      keyOpts:\n        - unwrapKey\n        - wrapKey\n    options:\n      dependsOn:\n        - ${exampleKeyVault}\n  exampleServerTransparentDataEncryption:\n    type: azure:mssql:ServerTransparentDataEncryption\n    name: example\n    properties:\n      serverId: ${exampleServer.id}\n      keyVaultKeyId: ${exampleKey.id}\nvariables:\n  current:\n    fn::invoke:\n      function: azure:core:getClientConfig\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Sql` - 2023-08-01-preview\n\n## Import\n\n\u003e **Note:** This resource does not need to be imported to manage it, however the import will work.\n\nSQL Server Transparent Data Encryption can be imported using the resource id, e.g.\n\n```sh\n$ pulumi import azure:mssql/serverTransparentDataEncryption:ServerTransparentDataEncryption example /subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/encryptionProtector/current\n```\n\n","properties":{"autoRotationEnabled":{"type":"boolean","description":"When enabled, the server will continuously check the key vault for any new versions of the key being used as the TDE protector. If a new version of the key is detected, the TDE protector on the server will be automatically rotated to the latest key version within 60 minutes.\n"},"keyVaultKeyId":{"type":"string","description":"To use customer managed keys from Azure Key Vault, provide the AKV Key ID. To use service managed keys, omit this field.\n\n\u003e **Note:** In order to use customer managed keys, the identity of the MSSQL server must have the following permissions on the key vault: 'get', 'wrapKey' and 'unwrapKey'\n\n\u003e **Note:** If \u003cspan pulumi-lang-nodejs=\"`serverId`\" pulumi-lang-dotnet=\"`ServerId`\" pulumi-lang-go=\"`serverId`\" pulumi-lang-python=\"`server_id`\" pulumi-lang-yaml=\"`serverId`\" pulumi-lang-java=\"`serverId`\"\u003e`server_id`\u003c/span\u003e denotes a secondary server deployed for disaster recovery purposes, then the \u003cspan pulumi-lang-nodejs=\"`keyVaultKeyId`\" pulumi-lang-dotnet=\"`KeyVaultKeyId`\" pulumi-lang-go=\"`keyVaultKeyId`\" pulumi-lang-python=\"`key_vault_key_id`\" pulumi-lang-yaml=\"`keyVaultKeyId`\" pulumi-lang-java=\"`keyVaultKeyId`\"\u003e`key_vault_key_id`\u003c/span\u003e should be the same key used for the primary server's transparent data encryption. Both primary and secondary servers should be encrypted with same key material.\n"},"managedHsmKeyId":{"type":"string","deprecationMessage":"\u003cspan pulumi-lang-nodejs=\"`managedHsmKeyId`\" pulumi-lang-dotnet=\"`ManagedHsmKeyId`\" pulumi-lang-go=\"`managedHsmKeyId`\" pulumi-lang-python=\"`managed_hsm_key_id`\" pulumi-lang-yaml=\"`managedHsmKeyId`\" pulumi-lang-java=\"`managedHsmKeyId`\"\u003e`managed_hsm_key_id`\u003c/span\u003e has been deprecated in favour of \u003cspan pulumi-lang-nodejs=\"`keyVaultKeyId`\" pulumi-lang-dotnet=\"`KeyVaultKeyId`\" pulumi-lang-go=\"`keyVaultKeyId`\" pulumi-lang-python=\"`key_vault_key_id`\" pulumi-lang-yaml=\"`keyVaultKeyId`\" pulumi-lang-java=\"`keyVaultKeyId`\"\u003e`key_vault_key_id`\u003c/span\u003e and will be removed in v5.0 of the AzureRM provider"},"serverId":{"type":"string","description":"Specifies the name of the MS SQL Server. Changing this forces a new resource to be created.\n"}},"required":["serverId"],"inputProperties":{"autoRotationEnabled":{"type":"boolean","description":"When enabled, the server will continuously check the key vault for any new versions of the key being used as the TDE protector. If a new version of the key is detected, the TDE protector on the server will be automatically rotated to the latest key version within 60 minutes.\n"},"keyVaultKeyId":{"type":"string","description":"To use customer managed keys from Azure Key Vault, provide the AKV Key ID. To use service managed keys, omit this field.\n\n\u003e **Note:** In order to use customer managed keys, the identity of the MSSQL server must have the following permissions on the key vault: 'get', 'wrapKey' and 'unwrapKey'\n\n\u003e **Note:** If \u003cspan pulumi-lang-nodejs=\"`serverId`\" pulumi-lang-dotnet=\"`ServerId`\" pulumi-lang-go=\"`serverId`\" pulumi-lang-python=\"`server_id`\" pulumi-lang-yaml=\"`serverId`\" pulumi-lang-java=\"`serverId`\"\u003e`server_id`\u003c/span\u003e denotes a secondary server deployed for disaster recovery purposes, then the \u003cspan pulumi-lang-nodejs=\"`keyVaultKeyId`\" pulumi-lang-dotnet=\"`KeyVaultKeyId`\" pulumi-lang-go=\"`keyVaultKeyId`\" pulumi-lang-python=\"`key_vault_key_id`\" pulumi-lang-yaml=\"`keyVaultKeyId`\" pulumi-lang-java=\"`keyVaultKeyId`\"\u003e`key_vault_key_id`\u003c/span\u003e should be the same key used for the primary server's transparent data encryption. Both primary and secondary servers should be encrypted with same key material.\n"},"managedHsmKeyId":{"type":"string","deprecationMessage":"\u003cspan pulumi-lang-nodejs=\"`managedHsmKeyId`\" pulumi-lang-dotnet=\"`ManagedHsmKeyId`\" pulumi-lang-go=\"`managedHsmKeyId`\" pulumi-lang-python=\"`managed_hsm_key_id`\" pulumi-lang-yaml=\"`managedHsmKeyId`\" pulumi-lang-java=\"`managedHsmKeyId`\"\u003e`managed_hsm_key_id`\u003c/span\u003e has been deprecated in favour of \u003cspan pulumi-lang-nodejs=\"`keyVaultKeyId`\" pulumi-lang-dotnet=\"`KeyVaultKeyId`\" pulumi-lang-go=\"`keyVaultKeyId`\" pulumi-lang-python=\"`key_vault_key_id`\" pulumi-lang-yaml=\"`keyVaultKeyId`\" pulumi-lang-java=\"`keyVaultKeyId`\"\u003e`key_vault_key_id`\u003c/span\u003e and will be removed in v5.0 of the AzureRM provider"},"serverId":{"type":"string","description":"Specifies the name of the MS SQL Server. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["serverId"],"stateInputs":{"description":"Input properties used for looking up and filtering ServerTransparentDataEncryption resources.\n","properties":{"autoRotationEnabled":{"type":"boolean","description":"When enabled, the server will continuously check the key vault for any new versions of the key being used as the TDE protector. If a new version of the key is detected, the TDE protector on the server will be automatically rotated to the latest key version within 60 minutes.\n"},"keyVaultKeyId":{"type":"string","description":"To use customer managed keys from Azure Key Vault, provide the AKV Key ID. To use service managed keys, omit this field.\n\n\u003e **Note:** In order to use customer managed keys, the identity of the MSSQL server must have the following permissions on the key vault: 'get', 'wrapKey' and 'unwrapKey'\n\n\u003e **Note:** If \u003cspan pulumi-lang-nodejs=\"`serverId`\" pulumi-lang-dotnet=\"`ServerId`\" pulumi-lang-go=\"`serverId`\" pulumi-lang-python=\"`server_id`\" pulumi-lang-yaml=\"`serverId`\" pulumi-lang-java=\"`serverId`\"\u003e`server_id`\u003c/span\u003e denotes a secondary server deployed for disaster recovery purposes, then the \u003cspan pulumi-lang-nodejs=\"`keyVaultKeyId`\" pulumi-lang-dotnet=\"`KeyVaultKeyId`\" pulumi-lang-go=\"`keyVaultKeyId`\" pulumi-lang-python=\"`key_vault_key_id`\" pulumi-lang-yaml=\"`keyVaultKeyId`\" pulumi-lang-java=\"`keyVaultKeyId`\"\u003e`key_vault_key_id`\u003c/span\u003e should be the same key used for the primary server's transparent data encryption. Both primary and secondary servers should be encrypted with same key material.\n"},"managedHsmKeyId":{"type":"string","deprecationMessage":"\u003cspan pulumi-lang-nodejs=\"`managedHsmKeyId`\" pulumi-lang-dotnet=\"`ManagedHsmKeyId`\" pulumi-lang-go=\"`managedHsmKeyId`\" pulumi-lang-python=\"`managed_hsm_key_id`\" pulumi-lang-yaml=\"`managedHsmKeyId`\" pulumi-lang-java=\"`managedHsmKeyId`\"\u003e`managed_hsm_key_id`\u003c/span\u003e has been deprecated in favour of \u003cspan pulumi-lang-nodejs=\"`keyVaultKeyId`\" pulumi-lang-dotnet=\"`KeyVaultKeyId`\" pulumi-lang-go=\"`keyVaultKeyId`\" pulumi-lang-python=\"`key_vault_key_id`\" pulumi-lang-yaml=\"`keyVaultKeyId`\" pulumi-lang-java=\"`keyVaultKeyId`\"\u003e`key_vault_key_id`\u003c/span\u003e and will be removed in v5.0 of the AzureRM provider"},"serverId":{"type":"string","description":"Specifies the name of the MS SQL Server. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:mssql/serverVulnerabilityAssessment:ServerVulnerabilityAssessment":{"description":"Manages the Vulnerability Assessment for an MS SQL Server.\n\n\u003e **Note:** Vulnerability Assessment is currently only available for MS SQL databases.\n\n\u003e **Note:** This resource cannot be used to enable the Express SQL Vulnerability Assessment configuration, to enable the express configuration, use \u003cspan pulumi-lang-nodejs=\"`expressVulnerabilityAssessmentEnabled`\" pulumi-lang-dotnet=\"`ExpressVulnerabilityAssessmentEnabled`\" pulumi-lang-go=\"`expressVulnerabilityAssessmentEnabled`\" pulumi-lang-python=\"`express_vulnerability_assessment_enabled`\" pulumi-lang-yaml=\"`expressVulnerabilityAssessmentEnabled`\" pulumi-lang-java=\"`expressVulnerabilityAssessmentEnabled`\"\u003e`express_vulnerability_assessment_enabled`\u003c/span\u003e in the \u003cspan pulumi-lang-nodejs=\"`azure.mssql.Server`\" pulumi-lang-dotnet=\"`azure.mssql.Server`\" pulumi-lang-go=\"`mssql.Server`\" pulumi-lang-python=\"`mssql.Server`\" pulumi-lang-yaml=\"`azure.mssql.Server`\" pulumi-lang-java=\"`azure.mssql.Server`\"\u003e`azure.mssql.Server`\u003c/span\u003e resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleServer = new azure.mssql.Server(\"example\", {\n    name: \"mysqlserver\",\n    resourceGroupName: example.name,\n    location: example.location,\n    version: \"12.0\",\n    administratorLogin: \"4dm1n157r470r\",\n    administratorLoginPassword: \"4-v3ry-53cr37-p455w0rd\",\n});\nconst exampleAccount = new azure.storage.Account(\"example\", {\n    name: \"example\",\n    resourceGroupName: example.name,\n    location: example.location,\n    accountTier: \"Standard\",\n    accountReplicationType: \"GRS\",\n});\nconst exampleContainer = new azure.storage.Container(\"example\", {\n    name: \"example\",\n    storageAccountName: exampleAccount.name,\n    containerAccessType: \"private\",\n});\nconst exampleServerSecurityAlertPolicy = new azure.mssql.ServerSecurityAlertPolicy(\"example\", {\n    resourceGroupName: example.name,\n    serverName: exampleServer.name,\n    state: \"Enabled\",\n});\nconst exampleServerVulnerabilityAssessment = new azure.mssql.ServerVulnerabilityAssessment(\"example\", {\n    serverSecurityAlertPolicyId: exampleServerSecurityAlertPolicy.id,\n    storageContainerPath: pulumi.interpolate`${exampleAccount.primaryBlobEndpoint}${exampleContainer.name}/`,\n    storageAccountAccessKey: exampleAccount.primaryAccessKey,\n    recurringScans: {\n        enabled: true,\n        emailSubscriptionAdmins: true,\n        emails: [\n            \"email@example1.com\",\n            \"email@example2.com\",\n        ],\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_server = azure.mssql.Server(\"example\",\n    name=\"mysqlserver\",\n    resource_group_name=example.name,\n    location=example.location,\n    version=\"12.0\",\n    administrator_login=\"4dm1n157r470r\",\n    administrator_login_password=\"4-v3ry-53cr37-p455w0rd\")\nexample_account = azure.storage.Account(\"example\",\n    name=\"example\",\n    resource_group_name=example.name,\n    location=example.location,\n    account_tier=\"Standard\",\n    account_replication_type=\"GRS\")\nexample_container = azure.storage.Container(\"example\",\n    name=\"example\",\n    storage_account_name=example_account.name,\n    container_access_type=\"private\")\nexample_server_security_alert_policy = azure.mssql.ServerSecurityAlertPolicy(\"example\",\n    resource_group_name=example.name,\n    server_name=example_server.name,\n    state=\"Enabled\")\nexample_server_vulnerability_assessment = azure.mssql.ServerVulnerabilityAssessment(\"example\",\n    server_security_alert_policy_id=example_server_security_alert_policy.id,\n    storage_container_path=pulumi.Output.all(\n        primary_blob_endpoint=example_account.primary_blob_endpoint,\n        name=example_container.name\n).apply(lambda resolved_outputs: f\"{resolved_outputs['primary_blob_endpoint']}{resolved_outputs['name']}/\")\n,\n    storage_account_access_key=example_account.primary_access_key,\n    recurring_scans={\n        \"enabled\": True,\n        \"email_subscription_admins\": True,\n        \"emails\": [\n            \"email@example1.com\",\n            \"email@example2.com\",\n        ],\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleServer = new Azure.MSSql.Server(\"example\", new()\n    {\n        Name = \"mysqlserver\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        Version = \"12.0\",\n        AdministratorLogin = \"4dm1n157r470r\",\n        AdministratorLoginPassword = \"4-v3ry-53cr37-p455w0rd\",\n    });\n\n    var exampleAccount = new Azure.Storage.Account(\"example\", new()\n    {\n        Name = \"example\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        AccountTier = \"Standard\",\n        AccountReplicationType = \"GRS\",\n    });\n\n    var exampleContainer = new Azure.Storage.Container(\"example\", new()\n    {\n        Name = \"example\",\n        StorageAccountName = exampleAccount.Name,\n        ContainerAccessType = \"private\",\n    });\n\n    var exampleServerSecurityAlertPolicy = new Azure.MSSql.ServerSecurityAlertPolicy(\"example\", new()\n    {\n        ResourceGroupName = example.Name,\n        ServerName = exampleServer.Name,\n        State = \"Enabled\",\n    });\n\n    var exampleServerVulnerabilityAssessment = new Azure.MSSql.ServerVulnerabilityAssessment(\"example\", new()\n    {\n        ServerSecurityAlertPolicyId = exampleServerSecurityAlertPolicy.Id,\n        StorageContainerPath = Output.Tuple(exampleAccount.PrimaryBlobEndpoint, exampleContainer.Name).Apply(values =\u003e\n        {\n            var primaryBlobEndpoint = values.Item1;\n            var name = values.Item2;\n            return $\"{primaryBlobEndpoint}{name}/\";\n        }),\n        StorageAccountAccessKey = exampleAccount.PrimaryAccessKey,\n        RecurringScans = new Azure.MSSql.Inputs.ServerVulnerabilityAssessmentRecurringScansArgs\n        {\n            Enabled = true,\n            EmailSubscriptionAdmins = true,\n            Emails = new[]\n            {\n                \"email@example1.com\",\n                \"email@example2.com\",\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/mssql\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleServer, err := mssql.NewServer(ctx, \"example\", \u0026mssql.ServerArgs{\n\t\t\tName:                       pulumi.String(\"mysqlserver\"),\n\t\t\tResourceGroupName:          example.Name,\n\t\t\tLocation:                   example.Location,\n\t\t\tVersion:                    pulumi.String(\"12.0\"),\n\t\t\tAdministratorLogin:         pulumi.String(\"4dm1n157r470r\"),\n\t\t\tAdministratorLoginPassword: pulumi.String(\"4-v3ry-53cr37-p455w0rd\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := storage.NewAccount(ctx, \"example\", \u0026storage.AccountArgs{\n\t\t\tName:                   pulumi.String(\"example\"),\n\t\t\tResourceGroupName:      example.Name,\n\t\t\tLocation:               example.Location,\n\t\t\tAccountTier:            pulumi.String(\"Standard\"),\n\t\t\tAccountReplicationType: pulumi.String(\"GRS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleContainer, err := storage.NewContainer(ctx, \"example\", \u0026storage.ContainerArgs{\n\t\t\tName:                pulumi.String(\"example\"),\n\t\t\tStorageAccountName:  exampleAccount.Name,\n\t\t\tContainerAccessType: pulumi.String(\"private\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleServerSecurityAlertPolicy, err := mssql.NewServerSecurityAlertPolicy(ctx, \"example\", \u0026mssql.ServerSecurityAlertPolicyArgs{\n\t\t\tResourceGroupName: example.Name,\n\t\t\tServerName:        exampleServer.Name,\n\t\t\tState:             pulumi.String(\"Enabled\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = mssql.NewServerVulnerabilityAssessment(ctx, \"example\", \u0026mssql.ServerVulnerabilityAssessmentArgs{\n\t\t\tServerSecurityAlertPolicyId: exampleServerSecurityAlertPolicy.ID(),\n\t\t\tStorageContainerPath: pulumi.All(exampleAccount.PrimaryBlobEndpoint, exampleContainer.Name).ApplyT(func(_args []interface{}) (string, error) {\n\t\t\t\tprimaryBlobEndpoint := _args[0].(string)\n\t\t\t\tname := _args[1].(string)\n\t\t\t\treturn fmt.Sprintf(\"%v%v/\", primaryBlobEndpoint, name), nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t\tStorageAccountAccessKey: exampleAccount.PrimaryAccessKey,\n\t\t\tRecurringScans: \u0026mssql.ServerVulnerabilityAssessmentRecurringScansArgs{\n\t\t\t\tEnabled:                 pulumi.Bool(true),\n\t\t\t\tEmailSubscriptionAdmins: pulumi.Bool(true),\n\t\t\t\tEmails: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"email@example1.com\"),\n\t\t\t\t\tpulumi.String(\"email@example2.com\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.mssql.Server;\nimport com.pulumi.azure.mssql.ServerArgs;\nimport com.pulumi.azure.storage.Account;\nimport com.pulumi.azure.storage.AccountArgs;\nimport com.pulumi.azure.storage.Container;\nimport com.pulumi.azure.storage.ContainerArgs;\nimport com.pulumi.azure.mssql.ServerSecurityAlertPolicy;\nimport com.pulumi.azure.mssql.ServerSecurityAlertPolicyArgs;\nimport com.pulumi.azure.mssql.ServerVulnerabilityAssessment;\nimport com.pulumi.azure.mssql.ServerVulnerabilityAssessmentArgs;\nimport com.pulumi.azure.mssql.inputs.ServerVulnerabilityAssessmentRecurringScansArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleServer = new Server(\"exampleServer\", ServerArgs.builder()\n            .name(\"mysqlserver\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .version(\"12.0\")\n            .administratorLogin(\"4dm1n157r470r\")\n            .administratorLoginPassword(\"4-v3ry-53cr37-p455w0rd\")\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"example\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .accountTier(\"Standard\")\n            .accountReplicationType(\"GRS\")\n            .build());\n\n        var exampleContainer = new Container(\"exampleContainer\", ContainerArgs.builder()\n            .name(\"example\")\n            .storageAccountName(exampleAccount.name())\n            .containerAccessType(\"private\")\n            .build());\n\n        var exampleServerSecurityAlertPolicy = new ServerSecurityAlertPolicy(\"exampleServerSecurityAlertPolicy\", ServerSecurityAlertPolicyArgs.builder()\n            .resourceGroupName(example.name())\n            .serverName(exampleServer.name())\n            .state(\"Enabled\")\n            .build());\n\n        var exampleServerVulnerabilityAssessment = new ServerVulnerabilityAssessment(\"exampleServerVulnerabilityAssessment\", ServerVulnerabilityAssessmentArgs.builder()\n            .serverSecurityAlertPolicyId(exampleServerSecurityAlertPolicy.id())\n            .storageContainerPath(Output.tuple(exampleAccount.primaryBlobEndpoint(), exampleContainer.name()).applyValue(values -\u003e {\n                var primaryBlobEndpoint = values.t1;\n                var name = values.t2;\n                return String.format(\"%s%s/\", primaryBlobEndpoint,name);\n            }))\n            .storageAccountAccessKey(exampleAccount.primaryAccessKey())\n            .recurringScans(ServerVulnerabilityAssessmentRecurringScansArgs.builder()\n                .enabled(true)\n                .emailSubscriptionAdmins(true)\n                .emails(                \n                    \"email@example1.com\",\n                    \"email@example2.com\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleServer:\n    type: azure:mssql:Server\n    name: example\n    properties:\n      name: mysqlserver\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      version: '12.0'\n      administratorLogin: 4dm1n157r470r\n      administratorLoginPassword: 4-v3ry-53cr37-p455w0rd\n  exampleAccount:\n    type: azure:storage:Account\n    name: example\n    properties:\n      name: example\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      accountTier: Standard\n      accountReplicationType: GRS\n  exampleContainer:\n    type: azure:storage:Container\n    name: example\n    properties:\n      name: example\n      storageAccountName: ${exampleAccount.name}\n      containerAccessType: private\n  exampleServerSecurityAlertPolicy:\n    type: azure:mssql:ServerSecurityAlertPolicy\n    name: example\n    properties:\n      resourceGroupName: ${example.name}\n      serverName: ${exampleServer.name}\n      state: Enabled\n  exampleServerVulnerabilityAssessment:\n    type: azure:mssql:ServerVulnerabilityAssessment\n    name: example\n    properties:\n      serverSecurityAlertPolicyId: ${exampleServerSecurityAlertPolicy.id}\n      storageContainerPath: ${exampleAccount.primaryBlobEndpoint}${exampleContainer.name}/\n      storageAccountAccessKey: ${exampleAccount.primaryAccessKey}\n      recurringScans:\n        enabled: true\n        emailSubscriptionAdmins: true\n        emails:\n          - email@example1.com\n          - email@example2.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Sql` - 2023-08-01-preview\n\n## Import\n\nMS SQL Server Vulnerability Assessment can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:mssql/serverVulnerabilityAssessment:ServerVulnerabilityAssessment example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/acceptanceTestResourceGroup1/providers/Microsoft.Sql/servers/mssqlserver/vulnerabilityAssessments/Default\n```\n\n","properties":{"recurringScans":{"$ref":"#/types/azure:mssql/ServerVulnerabilityAssessmentRecurringScans:ServerVulnerabilityAssessmentRecurringScans","description":"A \u003cspan pulumi-lang-nodejs=\"`recurringScans`\" pulumi-lang-dotnet=\"`RecurringScans`\" pulumi-lang-go=\"`recurringScans`\" pulumi-lang-python=\"`recurring_scans`\" pulumi-lang-yaml=\"`recurringScans`\" pulumi-lang-java=\"`recurringScans`\"\u003e`recurring_scans`\u003c/span\u003e block as defined below.\n\n\u003e **Note:** To reset the \u003cspan pulumi-lang-nodejs=\"`recurringScans`\" pulumi-lang-dotnet=\"`RecurringScans`\" pulumi-lang-go=\"`recurringScans`\" pulumi-lang-python=\"`recurring_scans`\" pulumi-lang-yaml=\"`recurringScans`\" pulumi-lang-java=\"`recurringScans`\"\u003e`recurring_scans`\u003c/span\u003e code block to it's default values you must explicitly define an empty \u003cspan pulumi-lang-nodejs=\"`recurringScans`\" pulumi-lang-dotnet=\"`RecurringScans`\" pulumi-lang-go=\"`recurringScans`\" pulumi-lang-python=\"`recurring_scans`\" pulumi-lang-yaml=\"`recurringScans`\" pulumi-lang-java=\"`recurringScans`\"\u003e`recurring_scans`\u003c/span\u003e code block (e.g., \u003cspan pulumi-lang-nodejs=\"`recurringScans \" pulumi-lang-dotnet=\"`RecurringScans \" pulumi-lang-go=\"`recurringScans \" pulumi-lang-python=\"`recurring_scans \" pulumi-lang-yaml=\"`recurringScans \" pulumi-lang-java=\"`recurringScans \"\u003e`recurring_scans \u003c/span\u003e{}`) in your configuration file.\n"},"serverSecurityAlertPolicyId":{"type":"string","description":"The id of the security alert policy of the MS SQL Server. Changing this forces a new resource to be created.\n"},"storageAccountAccessKey":{"type":"string","description":"Specifies the primary access key of the blob storage endpoint.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`storageAccountAccessKey`\" pulumi-lang-dotnet=\"`StorageAccountAccessKey`\" pulumi-lang-go=\"`storageAccountAccessKey`\" pulumi-lang-python=\"`storage_account_access_key`\" pulumi-lang-yaml=\"`storageAccountAccessKey`\" pulumi-lang-java=\"`storageAccountAccessKey`\"\u003e`storage_account_access_key`\u003c/span\u003e only applies if the storage account is not behind a virtual network or a firewall.\n\n\u003e **Note:** If the \u003cspan pulumi-lang-nodejs=\"`storageAccountAccessKey`\" pulumi-lang-dotnet=\"`StorageAccountAccessKey`\" pulumi-lang-go=\"`storageAccountAccessKey`\" pulumi-lang-python=\"`storage_account_access_key`\" pulumi-lang-yaml=\"`storageAccountAccessKey`\" pulumi-lang-java=\"`storageAccountAccessKey`\"\u003e`storage_account_access_key`\u003c/span\u003e property is not defined the \u003cspan pulumi-lang-nodejs=\"`storageContainerSasKey`\" pulumi-lang-dotnet=\"`StorageContainerSasKey`\" pulumi-lang-go=\"`storageContainerSasKey`\" pulumi-lang-python=\"`storage_container_sas_key`\" pulumi-lang-yaml=\"`storageContainerSasKey`\" pulumi-lang-java=\"`storageContainerSasKey`\"\u003e`storage_container_sas_key`\u003c/span\u003e property is required.\n","secret":true},"storageContainerPath":{"type":"string","description":"Specifies the blob storage container path that will hold the scan results (e.g., \u003chttps://example.blob.core.windows.net/example/\u003e).\n"},"storageContainerSasKey":{"type":"string","description":"Specifies the shared access signature (SAS Key) that has write access to the blob container specified in \u003cspan pulumi-lang-nodejs=\"`storageContainerPath`\" pulumi-lang-dotnet=\"`StorageContainerPath`\" pulumi-lang-go=\"`storageContainerPath`\" pulumi-lang-python=\"`storage_container_path`\" pulumi-lang-yaml=\"`storageContainerPath`\" pulumi-lang-java=\"`storageContainerPath`\"\u003e`storage_container_path`\u003c/span\u003e property.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`storageContainerSasKey`\" pulumi-lang-dotnet=\"`StorageContainerSasKey`\" pulumi-lang-go=\"`storageContainerSasKey`\" pulumi-lang-python=\"`storage_container_sas_key`\" pulumi-lang-yaml=\"`storageContainerSasKey`\" pulumi-lang-java=\"`storageContainerSasKey`\"\u003e`storage_container_sas_key`\u003c/span\u003e only applies if the storage account is not behind a virtual network or a firewall.\n\n\u003e **Note:** If the \u003cspan pulumi-lang-nodejs=\"`storageContainerSasKey`\" pulumi-lang-dotnet=\"`StorageContainerSasKey`\" pulumi-lang-go=\"`storageContainerSasKey`\" pulumi-lang-python=\"`storage_container_sas_key`\" pulumi-lang-yaml=\"`storageContainerSasKey`\" pulumi-lang-java=\"`storageContainerSasKey`\"\u003e`storage_container_sas_key`\u003c/span\u003e property is not defined the \u003cspan pulumi-lang-nodejs=\"`storageAccountAccessKey`\" pulumi-lang-dotnet=\"`StorageAccountAccessKey`\" pulumi-lang-go=\"`storageAccountAccessKey`\" pulumi-lang-python=\"`storage_account_access_key`\" pulumi-lang-yaml=\"`storageAccountAccessKey`\" pulumi-lang-java=\"`storageAccountAccessKey`\"\u003e`storage_account_access_key`\u003c/span\u003e property is required.\n","secret":true}},"required":["recurringScans","serverSecurityAlertPolicyId","storageContainerPath"],"inputProperties":{"recurringScans":{"$ref":"#/types/azure:mssql/ServerVulnerabilityAssessmentRecurringScans:ServerVulnerabilityAssessmentRecurringScans","description":"A \u003cspan pulumi-lang-nodejs=\"`recurringScans`\" pulumi-lang-dotnet=\"`RecurringScans`\" pulumi-lang-go=\"`recurringScans`\" pulumi-lang-python=\"`recurring_scans`\" pulumi-lang-yaml=\"`recurringScans`\" pulumi-lang-java=\"`recurringScans`\"\u003e`recurring_scans`\u003c/span\u003e block as defined below.\n\n\u003e **Note:** To reset the \u003cspan pulumi-lang-nodejs=\"`recurringScans`\" pulumi-lang-dotnet=\"`RecurringScans`\" pulumi-lang-go=\"`recurringScans`\" pulumi-lang-python=\"`recurring_scans`\" pulumi-lang-yaml=\"`recurringScans`\" pulumi-lang-java=\"`recurringScans`\"\u003e`recurring_scans`\u003c/span\u003e code block to it's default values you must explicitly define an empty \u003cspan pulumi-lang-nodejs=\"`recurringScans`\" pulumi-lang-dotnet=\"`RecurringScans`\" pulumi-lang-go=\"`recurringScans`\" pulumi-lang-python=\"`recurring_scans`\" pulumi-lang-yaml=\"`recurringScans`\" pulumi-lang-java=\"`recurringScans`\"\u003e`recurring_scans`\u003c/span\u003e code block (e.g., \u003cspan pulumi-lang-nodejs=\"`recurringScans \" pulumi-lang-dotnet=\"`RecurringScans \" pulumi-lang-go=\"`recurringScans \" pulumi-lang-python=\"`recurring_scans \" pulumi-lang-yaml=\"`recurringScans \" pulumi-lang-java=\"`recurringScans \"\u003e`recurring_scans \u003c/span\u003e{}`) in your configuration file.\n"},"serverSecurityAlertPolicyId":{"type":"string","description":"The id of the security alert policy of the MS SQL Server. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"storageAccountAccessKey":{"type":"string","description":"Specifies the primary access key of the blob storage endpoint.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`storageAccountAccessKey`\" pulumi-lang-dotnet=\"`StorageAccountAccessKey`\" pulumi-lang-go=\"`storageAccountAccessKey`\" pulumi-lang-python=\"`storage_account_access_key`\" pulumi-lang-yaml=\"`storageAccountAccessKey`\" pulumi-lang-java=\"`storageAccountAccessKey`\"\u003e`storage_account_access_key`\u003c/span\u003e only applies if the storage account is not behind a virtual network or a firewall.\n\n\u003e **Note:** If the \u003cspan pulumi-lang-nodejs=\"`storageAccountAccessKey`\" pulumi-lang-dotnet=\"`StorageAccountAccessKey`\" pulumi-lang-go=\"`storageAccountAccessKey`\" pulumi-lang-python=\"`storage_account_access_key`\" pulumi-lang-yaml=\"`storageAccountAccessKey`\" pulumi-lang-java=\"`storageAccountAccessKey`\"\u003e`storage_account_access_key`\u003c/span\u003e property is not defined the \u003cspan pulumi-lang-nodejs=\"`storageContainerSasKey`\" pulumi-lang-dotnet=\"`StorageContainerSasKey`\" pulumi-lang-go=\"`storageContainerSasKey`\" pulumi-lang-python=\"`storage_container_sas_key`\" pulumi-lang-yaml=\"`storageContainerSasKey`\" pulumi-lang-java=\"`storageContainerSasKey`\"\u003e`storage_container_sas_key`\u003c/span\u003e property is required.\n","secret":true},"storageContainerPath":{"type":"string","description":"Specifies the blob storage container path that will hold the scan results (e.g., \u003chttps://example.blob.core.windows.net/example/\u003e).\n"},"storageContainerSasKey":{"type":"string","description":"Specifies the shared access signature (SAS Key) that has write access to the blob container specified in \u003cspan pulumi-lang-nodejs=\"`storageContainerPath`\" pulumi-lang-dotnet=\"`StorageContainerPath`\" pulumi-lang-go=\"`storageContainerPath`\" pulumi-lang-python=\"`storage_container_path`\" pulumi-lang-yaml=\"`storageContainerPath`\" pulumi-lang-java=\"`storageContainerPath`\"\u003e`storage_container_path`\u003c/span\u003e property.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`storageContainerSasKey`\" pulumi-lang-dotnet=\"`StorageContainerSasKey`\" pulumi-lang-go=\"`storageContainerSasKey`\" pulumi-lang-python=\"`storage_container_sas_key`\" pulumi-lang-yaml=\"`storageContainerSasKey`\" pulumi-lang-java=\"`storageContainerSasKey`\"\u003e`storage_container_sas_key`\u003c/span\u003e only applies if the storage account is not behind a virtual network or a firewall.\n\n\u003e **Note:** If the \u003cspan pulumi-lang-nodejs=\"`storageContainerSasKey`\" pulumi-lang-dotnet=\"`StorageContainerSasKey`\" pulumi-lang-go=\"`storageContainerSasKey`\" pulumi-lang-python=\"`storage_container_sas_key`\" pulumi-lang-yaml=\"`storageContainerSasKey`\" pulumi-lang-java=\"`storageContainerSasKey`\"\u003e`storage_container_sas_key`\u003c/span\u003e property is not defined the \u003cspan pulumi-lang-nodejs=\"`storageAccountAccessKey`\" pulumi-lang-dotnet=\"`StorageAccountAccessKey`\" pulumi-lang-go=\"`storageAccountAccessKey`\" pulumi-lang-python=\"`storage_account_access_key`\" pulumi-lang-yaml=\"`storageAccountAccessKey`\" pulumi-lang-java=\"`storageAccountAccessKey`\"\u003e`storage_account_access_key`\u003c/span\u003e property is required.\n","secret":true}},"requiredInputs":["serverSecurityAlertPolicyId","storageContainerPath"],"stateInputs":{"description":"Input properties used for looking up and filtering ServerVulnerabilityAssessment resources.\n","properties":{"recurringScans":{"$ref":"#/types/azure:mssql/ServerVulnerabilityAssessmentRecurringScans:ServerVulnerabilityAssessmentRecurringScans","description":"A \u003cspan pulumi-lang-nodejs=\"`recurringScans`\" pulumi-lang-dotnet=\"`RecurringScans`\" pulumi-lang-go=\"`recurringScans`\" pulumi-lang-python=\"`recurring_scans`\" pulumi-lang-yaml=\"`recurringScans`\" pulumi-lang-java=\"`recurringScans`\"\u003e`recurring_scans`\u003c/span\u003e block as defined below.\n\n\u003e **Note:** To reset the \u003cspan pulumi-lang-nodejs=\"`recurringScans`\" pulumi-lang-dotnet=\"`RecurringScans`\" pulumi-lang-go=\"`recurringScans`\" pulumi-lang-python=\"`recurring_scans`\" pulumi-lang-yaml=\"`recurringScans`\" pulumi-lang-java=\"`recurringScans`\"\u003e`recurring_scans`\u003c/span\u003e code block to it's default values you must explicitly define an empty \u003cspan pulumi-lang-nodejs=\"`recurringScans`\" pulumi-lang-dotnet=\"`RecurringScans`\" pulumi-lang-go=\"`recurringScans`\" pulumi-lang-python=\"`recurring_scans`\" pulumi-lang-yaml=\"`recurringScans`\" pulumi-lang-java=\"`recurringScans`\"\u003e`recurring_scans`\u003c/span\u003e code block (e.g., \u003cspan pulumi-lang-nodejs=\"`recurringScans \" pulumi-lang-dotnet=\"`RecurringScans \" pulumi-lang-go=\"`recurringScans \" pulumi-lang-python=\"`recurring_scans \" pulumi-lang-yaml=\"`recurringScans \" pulumi-lang-java=\"`recurringScans \"\u003e`recurring_scans \u003c/span\u003e{}`) in your configuration file.\n"},"serverSecurityAlertPolicyId":{"type":"string","description":"The id of the security alert policy of the MS SQL Server. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"storageAccountAccessKey":{"type":"string","description":"Specifies the primary access key of the blob storage endpoint.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`storageAccountAccessKey`\" pulumi-lang-dotnet=\"`StorageAccountAccessKey`\" pulumi-lang-go=\"`storageAccountAccessKey`\" pulumi-lang-python=\"`storage_account_access_key`\" pulumi-lang-yaml=\"`storageAccountAccessKey`\" pulumi-lang-java=\"`storageAccountAccessKey`\"\u003e`storage_account_access_key`\u003c/span\u003e only applies if the storage account is not behind a virtual network or a firewall.\n\n\u003e **Note:** If the \u003cspan pulumi-lang-nodejs=\"`storageAccountAccessKey`\" pulumi-lang-dotnet=\"`StorageAccountAccessKey`\" pulumi-lang-go=\"`storageAccountAccessKey`\" pulumi-lang-python=\"`storage_account_access_key`\" pulumi-lang-yaml=\"`storageAccountAccessKey`\" pulumi-lang-java=\"`storageAccountAccessKey`\"\u003e`storage_account_access_key`\u003c/span\u003e property is not defined the \u003cspan pulumi-lang-nodejs=\"`storageContainerSasKey`\" pulumi-lang-dotnet=\"`StorageContainerSasKey`\" pulumi-lang-go=\"`storageContainerSasKey`\" pulumi-lang-python=\"`storage_container_sas_key`\" pulumi-lang-yaml=\"`storageContainerSasKey`\" pulumi-lang-java=\"`storageContainerSasKey`\"\u003e`storage_container_sas_key`\u003c/span\u003e property is required.\n","secret":true},"storageContainerPath":{"type":"string","description":"Specifies the blob storage container path that will hold the scan results (e.g., \u003chttps://example.blob.core.windows.net/example/\u003e).\n"},"storageContainerSasKey":{"type":"string","description":"Specifies the shared access signature (SAS Key) that has write access to the blob container specified in \u003cspan pulumi-lang-nodejs=\"`storageContainerPath`\" pulumi-lang-dotnet=\"`StorageContainerPath`\" pulumi-lang-go=\"`storageContainerPath`\" pulumi-lang-python=\"`storage_container_path`\" pulumi-lang-yaml=\"`storageContainerPath`\" pulumi-lang-java=\"`storageContainerPath`\"\u003e`storage_container_path`\u003c/span\u003e property.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`storageContainerSasKey`\" pulumi-lang-dotnet=\"`StorageContainerSasKey`\" pulumi-lang-go=\"`storageContainerSasKey`\" pulumi-lang-python=\"`storage_container_sas_key`\" pulumi-lang-yaml=\"`storageContainerSasKey`\" pulumi-lang-java=\"`storageContainerSasKey`\"\u003e`storage_container_sas_key`\u003c/span\u003e only applies if the storage account is not behind a virtual network or a firewall.\n\n\u003e **Note:** If the \u003cspan pulumi-lang-nodejs=\"`storageContainerSasKey`\" pulumi-lang-dotnet=\"`StorageContainerSasKey`\" pulumi-lang-go=\"`storageContainerSasKey`\" pulumi-lang-python=\"`storage_container_sas_key`\" pulumi-lang-yaml=\"`storageContainerSasKey`\" pulumi-lang-java=\"`storageContainerSasKey`\"\u003e`storage_container_sas_key`\u003c/span\u003e property is not defined the \u003cspan pulumi-lang-nodejs=\"`storageAccountAccessKey`\" pulumi-lang-dotnet=\"`StorageAccountAccessKey`\" pulumi-lang-go=\"`storageAccountAccessKey`\" pulumi-lang-python=\"`storage_account_access_key`\" pulumi-lang-yaml=\"`storageAccountAccessKey`\" pulumi-lang-java=\"`storageAccountAccessKey`\"\u003e`storage_account_access_key`\u003c/span\u003e property is required.\n","secret":true}},"type":"object"}},"azure:mssql/virtualMachine:VirtualMachine":{"description":"Manages a Microsoft SQL Virtual Machine\n\n## Example Usage\n\nThis example provisions a brief Managed Microsoft SQL Virtual Machine.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.compute.getVirtualMachine({\n    name: \"example-vm\",\n    resourceGroupName: \"example-resources\",\n});\nconst exampleVirtualMachine = new azure.mssql.VirtualMachine(\"example\", {\n    virtualMachineId: example.then(example =\u003e example.id),\n    sqlLicenseType: \"PAYG\",\n    rServicesEnabled: true,\n    sqlConnectivityPort: 1433,\n    sqlConnectivityType: \"PRIVATE\",\n    sqlConnectivityUpdatePassword: \"Password1234!\",\n    sqlConnectivityUpdateUsername: \"sqllogin\",\n    autoPatching: {\n        dayOfWeek: \"Sunday\",\n        maintenanceWindowDurationInMinutes: 60,\n        maintenanceWindowStartingHour: 2,\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.compute.get_virtual_machine(name=\"example-vm\",\n    resource_group_name=\"example-resources\")\nexample_virtual_machine = azure.mssql.VirtualMachine(\"example\",\n    virtual_machine_id=example.id,\n    sql_license_type=\"PAYG\",\n    r_services_enabled=True,\n    sql_connectivity_port=1433,\n    sql_connectivity_type=\"PRIVATE\",\n    sql_connectivity_update_password=\"Password1234!\",\n    sql_connectivity_update_username=\"sqllogin\",\n    auto_patching={\n        \"day_of_week\": \"Sunday\",\n        \"maintenance_window_duration_in_minutes\": 60,\n        \"maintenance_window_starting_hour\": 2,\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Compute.GetVirtualMachine.Invoke(new()\n    {\n        Name = \"example-vm\",\n        ResourceGroupName = \"example-resources\",\n    });\n\n    var exampleVirtualMachine = new Azure.MSSql.VirtualMachine(\"example\", new()\n    {\n        VirtualMachineId = example.Apply(getVirtualMachineResult =\u003e getVirtualMachineResult.Id),\n        SqlLicenseType = \"PAYG\",\n        RServicesEnabled = true,\n        SqlConnectivityPort = 1433,\n        SqlConnectivityType = \"PRIVATE\",\n        SqlConnectivityUpdatePassword = \"Password1234!\",\n        SqlConnectivityUpdateUsername = \"sqllogin\",\n        AutoPatching = new Azure.MSSql.Inputs.VirtualMachineAutoPatchingArgs\n        {\n            DayOfWeek = \"Sunday\",\n            MaintenanceWindowDurationInMinutes = 60,\n            MaintenanceWindowStartingHour = 2,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/compute\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/mssql\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := compute.LookupVirtualMachine(ctx, \u0026compute.LookupVirtualMachineArgs{\n\t\t\tName:              \"example-vm\",\n\t\t\tResourceGroupName: \"example-resources\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = mssql.NewVirtualMachine(ctx, \"example\", \u0026mssql.VirtualMachineArgs{\n\t\t\tVirtualMachineId:              pulumi.String(example.Id),\n\t\t\tSqlLicenseType:                pulumi.String(\"PAYG\"),\n\t\t\tRServicesEnabled:              pulumi.Bool(true),\n\t\t\tSqlConnectivityPort:           pulumi.Int(1433),\n\t\t\tSqlConnectivityType:           pulumi.String(\"PRIVATE\"),\n\t\t\tSqlConnectivityUpdatePassword: pulumi.String(\"Password1234!\"),\n\t\t\tSqlConnectivityUpdateUsername: pulumi.String(\"sqllogin\"),\n\t\t\tAutoPatching: \u0026mssql.VirtualMachineAutoPatchingArgs{\n\t\t\t\tDayOfWeek:                          pulumi.String(\"Sunday\"),\n\t\t\t\tMaintenanceWindowDurationInMinutes: pulumi.Int(60),\n\t\t\t\tMaintenanceWindowStartingHour:      pulumi.Int(2),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.compute.ComputeFunctions;\nimport com.pulumi.azure.compute.inputs.GetVirtualMachineArgs;\nimport com.pulumi.azure.mssql.VirtualMachine;\nimport com.pulumi.azure.mssql.VirtualMachineArgs;\nimport com.pulumi.azure.mssql.inputs.VirtualMachineAutoPatchingArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = ComputeFunctions.getVirtualMachine(GetVirtualMachineArgs.builder()\n            .name(\"example-vm\")\n            .resourceGroupName(\"example-resources\")\n            .build());\n\n        var exampleVirtualMachine = new VirtualMachine(\"exampleVirtualMachine\", VirtualMachineArgs.builder()\n            .virtualMachineId(example.id())\n            .sqlLicenseType(\"PAYG\")\n            .rServicesEnabled(true)\n            .sqlConnectivityPort(1433)\n            .sqlConnectivityType(\"PRIVATE\")\n            .sqlConnectivityUpdatePassword(\"Password1234!\")\n            .sqlConnectivityUpdateUsername(\"sqllogin\")\n            .autoPatching(VirtualMachineAutoPatchingArgs.builder()\n                .dayOfWeek(\"Sunday\")\n                .maintenanceWindowDurationInMinutes(60)\n                .maintenanceWindowStartingHour(2)\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleVirtualMachine:\n    type: azure:mssql:VirtualMachine\n    name: example\n    properties:\n      virtualMachineId: ${example.id}\n      sqlLicenseType: PAYG\n      rServicesEnabled: true\n      sqlConnectivityPort: 1433\n      sqlConnectivityType: PRIVATE\n      sqlConnectivityUpdatePassword: Password1234!\n      sqlConnectivityUpdateUsername: sqllogin\n      autoPatching:\n        dayOfWeek: Sunday\n        maintenanceWindowDurationInMinutes: 60\n        maintenanceWindowStartingHour: 2\nvariables:\n  example:\n    fn::invoke:\n      function: azure:compute:getVirtualMachine\n      arguments:\n        name: example-vm\n        resourceGroupName: example-resources\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Compute` - 2024-03-01\n\n* `Microsoft.SqlVirtualMachine` - 2023-10-01\n\n## Import\n\nMicrosoft SQL Virtual Machines can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:mssql/virtualMachine:VirtualMachine example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/example1\n```\n\n","properties":{"assessment":{"$ref":"#/types/azure:mssql/VirtualMachineAssessment:VirtualMachineAssessment","description":"An \u003cspan pulumi-lang-nodejs=\"`assessment`\" pulumi-lang-dotnet=\"`Assessment`\" pulumi-lang-go=\"`assessment`\" pulumi-lang-python=\"`assessment`\" pulumi-lang-yaml=\"`assessment`\" pulumi-lang-java=\"`assessment`\"\u003e`assessment`\u003c/span\u003e block as defined below.\n"},"autoBackup":{"$ref":"#/types/azure:mssql/VirtualMachineAutoBackup:VirtualMachineAutoBackup","description":"An \u003cspan pulumi-lang-nodejs=\"`autoBackup`\" pulumi-lang-dotnet=\"`AutoBackup`\" pulumi-lang-go=\"`autoBackup`\" pulumi-lang-python=\"`auto_backup`\" pulumi-lang-yaml=\"`autoBackup`\" pulumi-lang-java=\"`autoBackup`\"\u003e`auto_backup`\u003c/span\u003e block as defined below. This block can be added to an existing resource, but removing this block forces a new resource to be created.\n"},"autoPatching":{"$ref":"#/types/azure:mssql/VirtualMachineAutoPatching:VirtualMachineAutoPatching","description":"An \u003cspan pulumi-lang-nodejs=\"`autoPatching`\" pulumi-lang-dotnet=\"`AutoPatching`\" pulumi-lang-go=\"`autoPatching`\" pulumi-lang-python=\"`auto_patching`\" pulumi-lang-yaml=\"`autoPatching`\" pulumi-lang-java=\"`autoPatching`\"\u003e`auto_patching`\u003c/span\u003e block as defined below.\n"},"keyVaultCredential":{"$ref":"#/types/azure:mssql/VirtualMachineKeyVaultCredential:VirtualMachineKeyVaultCredential","description":"An \u003cspan pulumi-lang-nodejs=\"`keyVaultCredential`\" pulumi-lang-dotnet=\"`KeyVaultCredential`\" pulumi-lang-go=\"`keyVaultCredential`\" pulumi-lang-python=\"`key_vault_credential`\" pulumi-lang-yaml=\"`keyVaultCredential`\" pulumi-lang-java=\"`keyVaultCredential`\"\u003e`key_vault_credential`\u003c/span\u003e block as defined below.\n"},"rServicesEnabled":{"type":"boolean","description":"Should R Services be enabled?\n"},"sqlConnectivityPort":{"type":"integer","description":"The SQL Server port. Defaults to \u003cspan pulumi-lang-nodejs=\"`1433`\" pulumi-lang-dotnet=\"`1433`\" pulumi-lang-go=\"`1433`\" pulumi-lang-python=\"`1433`\" pulumi-lang-yaml=\"`1433`\" pulumi-lang-java=\"`1433`\"\u003e`1433`\u003c/span\u003e.\n"},"sqlConnectivityType":{"type":"string","description":"The connectivity type used for this SQL Server. Possible values are `LOCAL`, `PRIVATE` and `PUBLIC`. Defaults to `PRIVATE`.\n"},"sqlConnectivityUpdatePassword":{"type":"string","description":"The SQL Server sysadmin login password.\n","secret":true},"sqlConnectivityUpdateUsername":{"type":"string","description":"The SQL Server sysadmin login to create.\n","secret":true},"sqlInstance":{"$ref":"#/types/azure:mssql/VirtualMachineSqlInstance:VirtualMachineSqlInstance","description":"A \u003cspan pulumi-lang-nodejs=\"`sqlInstance`\" pulumi-lang-dotnet=\"`SqlInstance`\" pulumi-lang-go=\"`sqlInstance`\" pulumi-lang-python=\"`sql_instance`\" pulumi-lang-yaml=\"`sqlInstance`\" pulumi-lang-java=\"`sqlInstance`\"\u003e`sql_instance`\u003c/span\u003e block as defined below.\n"},"sqlLicenseType":{"type":"string","description":"The SQL Server license type. Possible values are `AHUB` (Azure Hybrid Benefit), `DR` (Disaster Recovery), and `PAYG` (Pay-As-You-Go). Changing this forces a new resource to be created.\n"},"sqlVirtualMachineGroupId":{"type":"string","description":"The ID of the SQL Virtual Machine Group that the SQL Virtual Machine belongs to.\n"},"storageConfiguration":{"$ref":"#/types/azure:mssql/VirtualMachineStorageConfiguration:VirtualMachineStorageConfiguration","description":"An \u003cspan pulumi-lang-nodejs=\"`storageConfiguration`\" pulumi-lang-dotnet=\"`StorageConfiguration`\" pulumi-lang-go=\"`storageConfiguration`\" pulumi-lang-python=\"`storage_configuration`\" pulumi-lang-yaml=\"`storageConfiguration`\" pulumi-lang-java=\"`storageConfiguration`\"\u003e`storage_configuration`\u003c/span\u003e block as defined below.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"virtualMachineId":{"type":"string","description":"The ID of the Virtual Machine. Changing this forces a new resource to be created.\n"},"wsfcDomainCredential":{"$ref":"#/types/azure:mssql/VirtualMachineWsfcDomainCredential:VirtualMachineWsfcDomainCredential","description":"A \u003cspan pulumi-lang-nodejs=\"`wsfcDomainCredential`\" pulumi-lang-dotnet=\"`WsfcDomainCredential`\" pulumi-lang-go=\"`wsfcDomainCredential`\" pulumi-lang-python=\"`wsfc_domain_credential`\" pulumi-lang-yaml=\"`wsfcDomainCredential`\" pulumi-lang-java=\"`wsfcDomainCredential`\"\u003e`wsfc_domain_credential`\u003c/span\u003e block as defined below\n"}},"required":["virtualMachineId"],"inputProperties":{"assessment":{"$ref":"#/types/azure:mssql/VirtualMachineAssessment:VirtualMachineAssessment","description":"An \u003cspan pulumi-lang-nodejs=\"`assessment`\" pulumi-lang-dotnet=\"`Assessment`\" pulumi-lang-go=\"`assessment`\" pulumi-lang-python=\"`assessment`\" pulumi-lang-yaml=\"`assessment`\" pulumi-lang-java=\"`assessment`\"\u003e`assessment`\u003c/span\u003e block as defined below.\n"},"autoBackup":{"$ref":"#/types/azure:mssql/VirtualMachineAutoBackup:VirtualMachineAutoBackup","description":"An \u003cspan pulumi-lang-nodejs=\"`autoBackup`\" pulumi-lang-dotnet=\"`AutoBackup`\" pulumi-lang-go=\"`autoBackup`\" pulumi-lang-python=\"`auto_backup`\" pulumi-lang-yaml=\"`autoBackup`\" pulumi-lang-java=\"`autoBackup`\"\u003e`auto_backup`\u003c/span\u003e block as defined below. This block can be added to an existing resource, but removing this block forces a new resource to be created.\n"},"autoPatching":{"$ref":"#/types/azure:mssql/VirtualMachineAutoPatching:VirtualMachineAutoPatching","description":"An \u003cspan pulumi-lang-nodejs=\"`autoPatching`\" pulumi-lang-dotnet=\"`AutoPatching`\" pulumi-lang-go=\"`autoPatching`\" pulumi-lang-python=\"`auto_patching`\" pulumi-lang-yaml=\"`autoPatching`\" pulumi-lang-java=\"`autoPatching`\"\u003e`auto_patching`\u003c/span\u003e block as defined below.\n"},"keyVaultCredential":{"$ref":"#/types/azure:mssql/VirtualMachineKeyVaultCredential:VirtualMachineKeyVaultCredential","description":"An \u003cspan pulumi-lang-nodejs=\"`keyVaultCredential`\" pulumi-lang-dotnet=\"`KeyVaultCredential`\" pulumi-lang-go=\"`keyVaultCredential`\" pulumi-lang-python=\"`key_vault_credential`\" pulumi-lang-yaml=\"`keyVaultCredential`\" pulumi-lang-java=\"`keyVaultCredential`\"\u003e`key_vault_credential`\u003c/span\u003e block as defined below.\n"},"rServicesEnabled":{"type":"boolean","description":"Should R Services be enabled?\n"},"sqlConnectivityPort":{"type":"integer","description":"The SQL Server port. Defaults to \u003cspan pulumi-lang-nodejs=\"`1433`\" pulumi-lang-dotnet=\"`1433`\" pulumi-lang-go=\"`1433`\" pulumi-lang-python=\"`1433`\" pulumi-lang-yaml=\"`1433`\" pulumi-lang-java=\"`1433`\"\u003e`1433`\u003c/span\u003e.\n"},"sqlConnectivityType":{"type":"string","description":"The connectivity type used for this SQL Server. Possible values are `LOCAL`, `PRIVATE` and `PUBLIC`. Defaults to `PRIVATE`.\n"},"sqlConnectivityUpdatePassword":{"type":"string","description":"The SQL Server sysadmin login password.\n","secret":true},"sqlConnectivityUpdateUsername":{"type":"string","description":"The SQL Server sysadmin login to create.\n","secret":true},"sqlInstance":{"$ref":"#/types/azure:mssql/VirtualMachineSqlInstance:VirtualMachineSqlInstance","description":"A \u003cspan pulumi-lang-nodejs=\"`sqlInstance`\" pulumi-lang-dotnet=\"`SqlInstance`\" pulumi-lang-go=\"`sqlInstance`\" pulumi-lang-python=\"`sql_instance`\" pulumi-lang-yaml=\"`sqlInstance`\" pulumi-lang-java=\"`sqlInstance`\"\u003e`sql_instance`\u003c/span\u003e block as defined below.\n"},"sqlLicenseType":{"type":"string","description":"The SQL Server license type. Possible values are `AHUB` (Azure Hybrid Benefit), `DR` (Disaster Recovery), and `PAYG` (Pay-As-You-Go). Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sqlVirtualMachineGroupId":{"type":"string","description":"The ID of the SQL Virtual Machine Group that the SQL Virtual Machine belongs to.\n"},"storageConfiguration":{"$ref":"#/types/azure:mssql/VirtualMachineStorageConfiguration:VirtualMachineStorageConfiguration","description":"An \u003cspan pulumi-lang-nodejs=\"`storageConfiguration`\" pulumi-lang-dotnet=\"`StorageConfiguration`\" pulumi-lang-go=\"`storageConfiguration`\" pulumi-lang-python=\"`storage_configuration`\" pulumi-lang-yaml=\"`storageConfiguration`\" pulumi-lang-java=\"`storageConfiguration`\"\u003e`storage_configuration`\u003c/span\u003e block as defined below.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"virtualMachineId":{"type":"string","description":"The ID of the Virtual Machine. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"wsfcDomainCredential":{"$ref":"#/types/azure:mssql/VirtualMachineWsfcDomainCredential:VirtualMachineWsfcDomainCredential","description":"A \u003cspan pulumi-lang-nodejs=\"`wsfcDomainCredential`\" pulumi-lang-dotnet=\"`WsfcDomainCredential`\" pulumi-lang-go=\"`wsfcDomainCredential`\" pulumi-lang-python=\"`wsfc_domain_credential`\" pulumi-lang-yaml=\"`wsfcDomainCredential`\" pulumi-lang-java=\"`wsfcDomainCredential`\"\u003e`wsfc_domain_credential`\u003c/span\u003e block as defined below\n"}},"requiredInputs":["virtualMachineId"],"stateInputs":{"description":"Input properties used for looking up and filtering VirtualMachine resources.\n","properties":{"assessment":{"$ref":"#/types/azure:mssql/VirtualMachineAssessment:VirtualMachineAssessment","description":"An \u003cspan pulumi-lang-nodejs=\"`assessment`\" pulumi-lang-dotnet=\"`Assessment`\" pulumi-lang-go=\"`assessment`\" pulumi-lang-python=\"`assessment`\" pulumi-lang-yaml=\"`assessment`\" pulumi-lang-java=\"`assessment`\"\u003e`assessment`\u003c/span\u003e block as defined below.\n"},"autoBackup":{"$ref":"#/types/azure:mssql/VirtualMachineAutoBackup:VirtualMachineAutoBackup","description":"An \u003cspan pulumi-lang-nodejs=\"`autoBackup`\" pulumi-lang-dotnet=\"`AutoBackup`\" pulumi-lang-go=\"`autoBackup`\" pulumi-lang-python=\"`auto_backup`\" pulumi-lang-yaml=\"`autoBackup`\" pulumi-lang-java=\"`autoBackup`\"\u003e`auto_backup`\u003c/span\u003e block as defined below. This block can be added to an existing resource, but removing this block forces a new resource to be created.\n"},"autoPatching":{"$ref":"#/types/azure:mssql/VirtualMachineAutoPatching:VirtualMachineAutoPatching","description":"An \u003cspan pulumi-lang-nodejs=\"`autoPatching`\" pulumi-lang-dotnet=\"`AutoPatching`\" pulumi-lang-go=\"`autoPatching`\" pulumi-lang-python=\"`auto_patching`\" pulumi-lang-yaml=\"`autoPatching`\" pulumi-lang-java=\"`autoPatching`\"\u003e`auto_patching`\u003c/span\u003e block as defined below.\n"},"keyVaultCredential":{"$ref":"#/types/azure:mssql/VirtualMachineKeyVaultCredential:VirtualMachineKeyVaultCredential","description":"An \u003cspan pulumi-lang-nodejs=\"`keyVaultCredential`\" pulumi-lang-dotnet=\"`KeyVaultCredential`\" pulumi-lang-go=\"`keyVaultCredential`\" pulumi-lang-python=\"`key_vault_credential`\" pulumi-lang-yaml=\"`keyVaultCredential`\" pulumi-lang-java=\"`keyVaultCredential`\"\u003e`key_vault_credential`\u003c/span\u003e block as defined below.\n"},"rServicesEnabled":{"type":"boolean","description":"Should R Services be enabled?\n"},"sqlConnectivityPort":{"type":"integer","description":"The SQL Server port. Defaults to \u003cspan pulumi-lang-nodejs=\"`1433`\" pulumi-lang-dotnet=\"`1433`\" pulumi-lang-go=\"`1433`\" pulumi-lang-python=\"`1433`\" pulumi-lang-yaml=\"`1433`\" pulumi-lang-java=\"`1433`\"\u003e`1433`\u003c/span\u003e.\n"},"sqlConnectivityType":{"type":"string","description":"The connectivity type used for this SQL Server. Possible values are `LOCAL`, `PRIVATE` and `PUBLIC`. Defaults to `PRIVATE`.\n"},"sqlConnectivityUpdatePassword":{"type":"string","description":"The SQL Server sysadmin login password.\n","secret":true},"sqlConnectivityUpdateUsername":{"type":"string","description":"The SQL Server sysadmin login to create.\n","secret":true},"sqlInstance":{"$ref":"#/types/azure:mssql/VirtualMachineSqlInstance:VirtualMachineSqlInstance","description":"A \u003cspan pulumi-lang-nodejs=\"`sqlInstance`\" pulumi-lang-dotnet=\"`SqlInstance`\" pulumi-lang-go=\"`sqlInstance`\" pulumi-lang-python=\"`sql_instance`\" pulumi-lang-yaml=\"`sqlInstance`\" pulumi-lang-java=\"`sqlInstance`\"\u003e`sql_instance`\u003c/span\u003e block as defined below.\n"},"sqlLicenseType":{"type":"string","description":"The SQL Server license type. Possible values are `AHUB` (Azure Hybrid Benefit), `DR` (Disaster Recovery), and `PAYG` (Pay-As-You-Go). Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sqlVirtualMachineGroupId":{"type":"string","description":"The ID of the SQL Virtual Machine Group that the SQL Virtual Machine belongs to.\n"},"storageConfiguration":{"$ref":"#/types/azure:mssql/VirtualMachineStorageConfiguration:VirtualMachineStorageConfiguration","description":"An \u003cspan pulumi-lang-nodejs=\"`storageConfiguration`\" pulumi-lang-dotnet=\"`StorageConfiguration`\" pulumi-lang-go=\"`storageConfiguration`\" pulumi-lang-python=\"`storage_configuration`\" pulumi-lang-yaml=\"`storageConfiguration`\" pulumi-lang-java=\"`storageConfiguration`\"\u003e`storage_configuration`\u003c/span\u003e block as defined below.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"virtualMachineId":{"type":"string","description":"The ID of the Virtual Machine. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"wsfcDomainCredential":{"$ref":"#/types/azure:mssql/VirtualMachineWsfcDomainCredential:VirtualMachineWsfcDomainCredential","description":"A \u003cspan pulumi-lang-nodejs=\"`wsfcDomainCredential`\" pulumi-lang-dotnet=\"`WsfcDomainCredential`\" pulumi-lang-go=\"`wsfcDomainCredential`\" pulumi-lang-python=\"`wsfc_domain_credential`\" pulumi-lang-yaml=\"`wsfcDomainCredential`\" pulumi-lang-java=\"`wsfcDomainCredential`\"\u003e`wsfc_domain_credential`\u003c/span\u003e block as defined below\n"}},"type":"object"}},"azure:mssql/virtualMachineAvailabilityGroupListener:VirtualMachineAvailabilityGroupListener":{"description":"Manages a Microsoft SQL Virtual Machine Availability Group Listener.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.network.getSubnet({\n    name: \"examplesubnet\",\n    virtualNetworkName: \"examplevnet\",\n    resourceGroupName: \"example-resources\",\n});\nconst exampleGetLB = azure.lb.getLB({\n    name: \"example-lb\",\n    resourceGroupName: \"example-resources\",\n});\nconst exampleGetVirtualMachine = (new Array(2)).map((_, i) =\u003e i).map(__index =\u003e (azure.compute.getVirtualMachine({\n    name: \"example-vm\",\n    resourceGroupName: \"example-resources\",\n})));\nconst exampleVirtualMachineGroup = new azure.mssql.VirtualMachineGroup(\"example\", {\n    name: \"examplegroup\",\n    resourceGroupName: \"example-resources\",\n    location: \"West Europe\",\n    sqlImageOffer: \"SQL2017-WS2016\",\n    sqlImageSku: \"Developer\",\n    wsfcDomainProfile: {\n        fqdn: \"testdomain.com\",\n        clusterSubnetType: \"SingleSubnet\",\n    },\n});\nconst exampleVirtualMachine: azure.mssql.VirtualMachine[] = [];\nfor (const range = {value: 0}; range.value \u003c 2; range.value++) {\n    exampleVirtualMachine.push(new azure.mssql.VirtualMachine(`example-${range.value}`, {\n        virtualMachineId: exampleGetVirtualMachine[range.value].then(exampleGetVirtualMachine =\u003e exampleGetVirtualMachine.id),\n        sqlLicenseType: \"PAYG\",\n        sqlVirtualMachineGroupId: exampleVirtualMachineGroup.id,\n        wsfcDomainCredential: {\n            clusterBootstrapAccountPassword: \"P@ssw0rd1234!\",\n            clusterOperatorAccountPassword: \"P@ssw0rd1234!\",\n            sqlServiceAccountPassword: \"P@ssw0rd1234!\",\n        },\n    }));\n}\nconst exampleVirtualMachineAvailabilityGroupListener = new azure.mssql.VirtualMachineAvailabilityGroupListener(\"example\", {\n    name: \"listener1\",\n    availabilityGroupName: \"availabilitygroup1\",\n    port: 1433,\n    sqlVirtualMachineGroupId: exampleVirtualMachineGroup.id,\n    loadBalancerConfiguration: {\n        loadBalancerId: exampleGetLB.then(exampleGetLB =\u003e exampleGetLB.id),\n        privateIpAddress: \"10.0.2.11\",\n        probePort: 51572,\n        subnetId: example.then(example =\u003e example.id),\n        sqlVirtualMachineIds: [\n            exampleVirtualMachine[0].id,\n            exampleVirtualMachine[1].id,\n        ],\n    },\n    replicas: [\n        {\n            sqlVirtualMachineId: exampleVirtualMachine[0].id,\n            role: \"Primary\",\n            commit: \"Synchronous_Commit\",\n            failover: \"Automatic\",\n            readableSecondary: \"All\",\n        },\n        {\n            sqlVirtualMachineId: exampleVirtualMachine[1].id,\n            role: \"Secondary\",\n            commit: \"Asynchronous_Commit\",\n            failover: \"Manual\",\n            readableSecondary: \"No\",\n        },\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.network.get_subnet(name=\"examplesubnet\",\n    virtual_network_name=\"examplevnet\",\n    resource_group_name=\"example-resources\")\nexample_get_lb = azure.lb.get_lb(name=\"example-lb\",\n    resource_group_name=\"example-resources\")\nexample_get_virtual_machine = [azure.compute.get_virtual_machine(name=\"example-vm\",\n    resource_group_name=\"example-resources\") for __index in range(2)]\nexample_virtual_machine_group = azure.mssql.VirtualMachineGroup(\"example\",\n    name=\"examplegroup\",\n    resource_group_name=\"example-resources\",\n    location=\"West Europe\",\n    sql_image_offer=\"SQL2017-WS2016\",\n    sql_image_sku=\"Developer\",\n    wsfc_domain_profile={\n        \"fqdn\": \"testdomain.com\",\n        \"cluster_subnet_type\": \"SingleSubnet\",\n    })\nexample_virtual_machine = []\nfor range in [{\"value\": i} for i in range(0, 2)]:\n    example_virtual_machine.append(azure.mssql.VirtualMachine(f\"example-{range['value']}\",\n        virtual_machine_id=example_get_virtual_machine[range[\"value\"]].id,\n        sql_license_type=\"PAYG\",\n        sql_virtual_machine_group_id=example_virtual_machine_group.id,\n        wsfc_domain_credential={\n            \"cluster_bootstrap_account_password\": \"P@ssw0rd1234!\",\n            \"cluster_operator_account_password\": \"P@ssw0rd1234!\",\n            \"sql_service_account_password\": \"P@ssw0rd1234!\",\n        }))\nexample_virtual_machine_availability_group_listener = azure.mssql.VirtualMachineAvailabilityGroupListener(\"example\",\n    name=\"listener1\",\n    availability_group_name=\"availabilitygroup1\",\n    port=1433,\n    sql_virtual_machine_group_id=example_virtual_machine_group.id,\n    load_balancer_configuration={\n        \"load_balancer_id\": example_get_lb.id,\n        \"private_ip_address\": \"10.0.2.11\",\n        \"probe_port\": 51572,\n        \"subnet_id\": example.id,\n        \"sql_virtual_machine_ids\": [\n            example_virtual_machine[0].id,\n            example_virtual_machine[1].id,\n        ],\n    },\n    replicas=[\n        {\n            \"sql_virtual_machine_id\": example_virtual_machine[0].id,\n            \"role\": \"Primary\",\n            \"commit\": \"Synchronous_Commit\",\n            \"failover\": \"Automatic\",\n            \"readable_secondary\": \"All\",\n        },\n        {\n            \"sql_virtual_machine_id\": example_virtual_machine[1].id,\n            \"role\": \"Secondary\",\n            \"commit\": \"Asynchronous_Commit\",\n            \"failover\": \"Manual\",\n            \"readable_secondary\": \"No\",\n        },\n    ])\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.SqlVirtualMachine` - 2023-10-01\n\n## Import\n\nMicrosoft SQL Virtual Machine Availability Group Listeners can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:mssql/virtualMachineAvailabilityGroupListener:VirtualMachineAvailabilityGroupListener example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachineGroups/vmgroup1/availabilityGroupListeners/listener1\n```\n\n","properties":{"availabilityGroupName":{"type":"string","description":"The name of the Availability Group. Changing this forces a new resource to be created.\n"},"loadBalancerConfiguration":{"$ref":"#/types/azure:mssql/VirtualMachineAvailabilityGroupListenerLoadBalancerConfiguration:VirtualMachineAvailabilityGroupListenerLoadBalancerConfiguration","description":"A \u003cspan pulumi-lang-nodejs=\"`loadBalancerConfiguration`\" pulumi-lang-dotnet=\"`LoadBalancerConfiguration`\" pulumi-lang-go=\"`loadBalancerConfiguration`\" pulumi-lang-python=\"`load_balancer_configuration`\" pulumi-lang-yaml=\"`loadBalancerConfiguration`\" pulumi-lang-java=\"`loadBalancerConfiguration`\"\u003e`load_balancer_configuration`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n\n\u003e **Note:** Either one of \u003cspan pulumi-lang-nodejs=\"`loadBalancerConfiguration`\" pulumi-lang-dotnet=\"`LoadBalancerConfiguration`\" pulumi-lang-go=\"`loadBalancerConfiguration`\" pulumi-lang-python=\"`load_balancer_configuration`\" pulumi-lang-yaml=\"`loadBalancerConfiguration`\" pulumi-lang-java=\"`loadBalancerConfiguration`\"\u003e`load_balancer_configuration`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`multiSubnetIpConfiguration`\" pulumi-lang-dotnet=\"`MultiSubnetIpConfiguration`\" pulumi-lang-go=\"`multiSubnetIpConfiguration`\" pulumi-lang-python=\"`multi_subnet_ip_configuration`\" pulumi-lang-yaml=\"`multiSubnetIpConfiguration`\" pulumi-lang-java=\"`multiSubnetIpConfiguration`\"\u003e`multi_subnet_ip_configuration`\u003c/span\u003e must be specified.\n"},"multiSubnetIpConfigurations":{"type":"array","items":{"$ref":"#/types/azure:mssql/VirtualMachineAvailabilityGroupListenerMultiSubnetIpConfiguration:VirtualMachineAvailabilityGroupListenerMultiSubnetIpConfiguration"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`multiSubnetIpConfiguration`\" pulumi-lang-dotnet=\"`MultiSubnetIpConfiguration`\" pulumi-lang-go=\"`multiSubnetIpConfiguration`\" pulumi-lang-python=\"`multi_subnet_ip_configuration`\" pulumi-lang-yaml=\"`multiSubnetIpConfiguration`\" pulumi-lang-java=\"`multiSubnetIpConfiguration`\"\u003e`multi_subnet_ip_configuration`\u003c/span\u003e blocks as defined below. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"The name which should be used for the Microsoft SQL Virtual Machine Availability Group Listener. Changing this forces a new resource to be created.\n"},"port":{"type":"integer","description":"The port of the listener. Changing this forces a new resource to be created.\n"},"replicas":{"type":"array","items":{"$ref":"#/types/azure:mssql/VirtualMachineAvailabilityGroupListenerReplica:VirtualMachineAvailabilityGroupListenerReplica"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`replica`\" pulumi-lang-dotnet=\"`Replica`\" pulumi-lang-go=\"`replica`\" pulumi-lang-python=\"`replica`\" pulumi-lang-yaml=\"`replica`\" pulumi-lang-java=\"`replica`\"\u003e`replica`\u003c/span\u003e blocks as defined below. Changing this forces a new resource to be created.\n"},"sqlVirtualMachineGroupId":{"type":"string","description":"The ID of the SQL Virtual Machine Group to create the listener. Changing this forces a new resource to be created.\n"}},"required":["name","replicas","sqlVirtualMachineGroupId"],"inputProperties":{"availabilityGroupName":{"type":"string","description":"The name of the Availability Group. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"loadBalancerConfiguration":{"$ref":"#/types/azure:mssql/VirtualMachineAvailabilityGroupListenerLoadBalancerConfiguration:VirtualMachineAvailabilityGroupListenerLoadBalancerConfiguration","description":"A \u003cspan pulumi-lang-nodejs=\"`loadBalancerConfiguration`\" pulumi-lang-dotnet=\"`LoadBalancerConfiguration`\" pulumi-lang-go=\"`loadBalancerConfiguration`\" pulumi-lang-python=\"`load_balancer_configuration`\" pulumi-lang-yaml=\"`loadBalancerConfiguration`\" pulumi-lang-java=\"`loadBalancerConfiguration`\"\u003e`load_balancer_configuration`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n\n\u003e **Note:** Either one of \u003cspan pulumi-lang-nodejs=\"`loadBalancerConfiguration`\" pulumi-lang-dotnet=\"`LoadBalancerConfiguration`\" pulumi-lang-go=\"`loadBalancerConfiguration`\" pulumi-lang-python=\"`load_balancer_configuration`\" pulumi-lang-yaml=\"`loadBalancerConfiguration`\" pulumi-lang-java=\"`loadBalancerConfiguration`\"\u003e`load_balancer_configuration`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`multiSubnetIpConfiguration`\" pulumi-lang-dotnet=\"`MultiSubnetIpConfiguration`\" pulumi-lang-go=\"`multiSubnetIpConfiguration`\" pulumi-lang-python=\"`multi_subnet_ip_configuration`\" pulumi-lang-yaml=\"`multiSubnetIpConfiguration`\" pulumi-lang-java=\"`multiSubnetIpConfiguration`\"\u003e`multi_subnet_ip_configuration`\u003c/span\u003e must be specified.\n","willReplaceOnChanges":true},"multiSubnetIpConfigurations":{"type":"array","items":{"$ref":"#/types/azure:mssql/VirtualMachineAvailabilityGroupListenerMultiSubnetIpConfiguration:VirtualMachineAvailabilityGroupListenerMultiSubnetIpConfiguration"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`multiSubnetIpConfiguration`\" pulumi-lang-dotnet=\"`MultiSubnetIpConfiguration`\" pulumi-lang-go=\"`multiSubnetIpConfiguration`\" pulumi-lang-python=\"`multi_subnet_ip_configuration`\" pulumi-lang-yaml=\"`multiSubnetIpConfiguration`\" pulumi-lang-java=\"`multiSubnetIpConfiguration`\"\u003e`multi_subnet_ip_configuration`\u003c/span\u003e blocks as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for the Microsoft SQL Virtual Machine Availability Group Listener. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"port":{"type":"integer","description":"The port of the listener. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"replicas":{"type":"array","items":{"$ref":"#/types/azure:mssql/VirtualMachineAvailabilityGroupListenerReplica:VirtualMachineAvailabilityGroupListenerReplica"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`replica`\" pulumi-lang-dotnet=\"`Replica`\" pulumi-lang-go=\"`replica`\" pulumi-lang-python=\"`replica`\" pulumi-lang-yaml=\"`replica`\" pulumi-lang-java=\"`replica`\"\u003e`replica`\u003c/span\u003e blocks as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sqlVirtualMachineGroupId":{"type":"string","description":"The ID of the SQL Virtual Machine Group to create the listener. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["replicas","sqlVirtualMachineGroupId"],"stateInputs":{"description":"Input properties used for looking up and filtering VirtualMachineAvailabilityGroupListener resources.\n","properties":{"availabilityGroupName":{"type":"string","description":"The name of the Availability Group. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"loadBalancerConfiguration":{"$ref":"#/types/azure:mssql/VirtualMachineAvailabilityGroupListenerLoadBalancerConfiguration:VirtualMachineAvailabilityGroupListenerLoadBalancerConfiguration","description":"A \u003cspan pulumi-lang-nodejs=\"`loadBalancerConfiguration`\" pulumi-lang-dotnet=\"`LoadBalancerConfiguration`\" pulumi-lang-go=\"`loadBalancerConfiguration`\" pulumi-lang-python=\"`load_balancer_configuration`\" pulumi-lang-yaml=\"`loadBalancerConfiguration`\" pulumi-lang-java=\"`loadBalancerConfiguration`\"\u003e`load_balancer_configuration`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n\n\u003e **Note:** Either one of \u003cspan pulumi-lang-nodejs=\"`loadBalancerConfiguration`\" pulumi-lang-dotnet=\"`LoadBalancerConfiguration`\" pulumi-lang-go=\"`loadBalancerConfiguration`\" pulumi-lang-python=\"`load_balancer_configuration`\" pulumi-lang-yaml=\"`loadBalancerConfiguration`\" pulumi-lang-java=\"`loadBalancerConfiguration`\"\u003e`load_balancer_configuration`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`multiSubnetIpConfiguration`\" pulumi-lang-dotnet=\"`MultiSubnetIpConfiguration`\" pulumi-lang-go=\"`multiSubnetIpConfiguration`\" pulumi-lang-python=\"`multi_subnet_ip_configuration`\" pulumi-lang-yaml=\"`multiSubnetIpConfiguration`\" pulumi-lang-java=\"`multiSubnetIpConfiguration`\"\u003e`multi_subnet_ip_configuration`\u003c/span\u003e must be specified.\n","willReplaceOnChanges":true},"multiSubnetIpConfigurations":{"type":"array","items":{"$ref":"#/types/azure:mssql/VirtualMachineAvailabilityGroupListenerMultiSubnetIpConfiguration:VirtualMachineAvailabilityGroupListenerMultiSubnetIpConfiguration"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`multiSubnetIpConfiguration`\" pulumi-lang-dotnet=\"`MultiSubnetIpConfiguration`\" pulumi-lang-go=\"`multiSubnetIpConfiguration`\" pulumi-lang-python=\"`multi_subnet_ip_configuration`\" pulumi-lang-yaml=\"`multiSubnetIpConfiguration`\" pulumi-lang-java=\"`multiSubnetIpConfiguration`\"\u003e`multi_subnet_ip_configuration`\u003c/span\u003e blocks as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for the Microsoft SQL Virtual Machine Availability Group Listener. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"port":{"type":"integer","description":"The port of the listener. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"replicas":{"type":"array","items":{"$ref":"#/types/azure:mssql/VirtualMachineAvailabilityGroupListenerReplica:VirtualMachineAvailabilityGroupListenerReplica"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`replica`\" pulumi-lang-dotnet=\"`Replica`\" pulumi-lang-go=\"`replica`\" pulumi-lang-python=\"`replica`\" pulumi-lang-yaml=\"`replica`\" pulumi-lang-java=\"`replica`\"\u003e`replica`\u003c/span\u003e blocks as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sqlVirtualMachineGroupId":{"type":"string","description":"The ID of the SQL Virtual Machine Group to create the listener. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:mssql/virtualMachineGroup:VirtualMachineGroup":{"description":"Manages a Microsoft SQL Virtual Machine Group.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleVirtualMachineGroup = new azure.mssql.VirtualMachineGroup(\"example\", {\n    name: \"examplegroup\",\n    resourceGroupName: example.name,\n    location: example.location,\n    sqlImageOffer: \"SQL2017-WS2016\",\n    sqlImageSku: \"Developer\",\n    wsfcDomainProfile: {\n        fqdn: \"testdomain.com\",\n        clusterSubnetType: \"SingleSubnet\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_virtual_machine_group = azure.mssql.VirtualMachineGroup(\"example\",\n    name=\"examplegroup\",\n    resource_group_name=example.name,\n    location=example.location,\n    sql_image_offer=\"SQL2017-WS2016\",\n    sql_image_sku=\"Developer\",\n    wsfc_domain_profile={\n        \"fqdn\": \"testdomain.com\",\n        \"cluster_subnet_type\": \"SingleSubnet\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleVirtualMachineGroup = new Azure.MSSql.VirtualMachineGroup(\"example\", new()\n    {\n        Name = \"examplegroup\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        SqlImageOffer = \"SQL2017-WS2016\",\n        SqlImageSku = \"Developer\",\n        WsfcDomainProfile = new Azure.MSSql.Inputs.VirtualMachineGroupWsfcDomainProfileArgs\n        {\n            Fqdn = \"testdomain.com\",\n            ClusterSubnetType = \"SingleSubnet\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/mssql\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = mssql.NewVirtualMachineGroup(ctx, \"example\", \u0026mssql.VirtualMachineGroupArgs{\n\t\t\tName:              pulumi.String(\"examplegroup\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tSqlImageOffer:     pulumi.String(\"SQL2017-WS2016\"),\n\t\t\tSqlImageSku:       pulumi.String(\"Developer\"),\n\t\t\tWsfcDomainProfile: \u0026mssql.VirtualMachineGroupWsfcDomainProfileArgs{\n\t\t\t\tFqdn:              pulumi.String(\"testdomain.com\"),\n\t\t\t\tClusterSubnetType: pulumi.String(\"SingleSubnet\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.mssql.VirtualMachineGroup;\nimport com.pulumi.azure.mssql.VirtualMachineGroupArgs;\nimport com.pulumi.azure.mssql.inputs.VirtualMachineGroupWsfcDomainProfileArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleVirtualMachineGroup = new VirtualMachineGroup(\"exampleVirtualMachineGroup\", VirtualMachineGroupArgs.builder()\n            .name(\"examplegroup\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .sqlImageOffer(\"SQL2017-WS2016\")\n            .sqlImageSku(\"Developer\")\n            .wsfcDomainProfile(VirtualMachineGroupWsfcDomainProfileArgs.builder()\n                .fqdn(\"testdomain.com\")\n                .clusterSubnetType(\"SingleSubnet\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleVirtualMachineGroup:\n    type: azure:mssql:VirtualMachineGroup\n    name: example\n    properties:\n      name: examplegroup\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      sqlImageOffer: SQL2017-WS2016\n      sqlImageSku: Developer\n      wsfcDomainProfile:\n        fqdn: testdomain.com\n        clusterSubnetType: SingleSubnet\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.SqlVirtualMachine` - 2023-10-01\n\n## Import\n\nMicrosoft SQL Virtual Machine Groups can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:mssql/virtualMachineGroup:VirtualMachineGroup example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachineGroups/vmgroup1\n```\n\n","properties":{"location":{"type":"string","description":"The Azure Region where the Microsoft SQL Virtual Machine Group should exist. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"The name which should be used for the Microsoft SQL Virtual Machine Group. Changing this forces a new resource to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Microsoft SQL Virtual Machine Group should exist. Changing this forces a new resource to be created.\n"},"sqlImageOffer":{"type":"string","description":"The offer type of the marketplace image cluster to be used by the SQL Virtual Machine Group. Changing this forces a new resource to be created.\n"},"sqlImageSku":{"type":"string","description":"The sku type of the marketplace image cluster to be used by the SQL Virtual Machine Group. Possible values are `Developer` and `Enterprise`.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Microsoft SQL Virtual Machine Group.\n"},"wsfcDomainProfile":{"$ref":"#/types/azure:mssql/VirtualMachineGroupWsfcDomainProfile:VirtualMachineGroupWsfcDomainProfile","description":"A \u003cspan pulumi-lang-nodejs=\"`wsfcDomainProfile`\" pulumi-lang-dotnet=\"`WsfcDomainProfile`\" pulumi-lang-go=\"`wsfcDomainProfile`\" pulumi-lang-python=\"`wsfc_domain_profile`\" pulumi-lang-yaml=\"`wsfcDomainProfile`\" pulumi-lang-java=\"`wsfcDomainProfile`\"\u003e`wsfc_domain_profile`\u003c/span\u003e block as defined below.\n"}},"required":["location","name","resourceGroupName","sqlImageOffer","sqlImageSku","wsfcDomainProfile"],"inputProperties":{"location":{"type":"string","description":"The Azure Region where the Microsoft SQL Virtual Machine Group should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for the Microsoft SQL Virtual Machine Group. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Microsoft SQL Virtual Machine Group should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sqlImageOffer":{"type":"string","description":"The offer type of the marketplace image cluster to be used by the SQL Virtual Machine Group. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sqlImageSku":{"type":"string","description":"The sku type of the marketplace image cluster to be used by the SQL Virtual Machine Group. Possible values are `Developer` and `Enterprise`.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Microsoft SQL Virtual Machine Group.\n"},"wsfcDomainProfile":{"$ref":"#/types/azure:mssql/VirtualMachineGroupWsfcDomainProfile:VirtualMachineGroupWsfcDomainProfile","description":"A \u003cspan pulumi-lang-nodejs=\"`wsfcDomainProfile`\" pulumi-lang-dotnet=\"`WsfcDomainProfile`\" pulumi-lang-go=\"`wsfcDomainProfile`\" pulumi-lang-python=\"`wsfc_domain_profile`\" pulumi-lang-yaml=\"`wsfcDomainProfile`\" pulumi-lang-java=\"`wsfcDomainProfile`\"\u003e`wsfc_domain_profile`\u003c/span\u003e block as defined below.\n"}},"requiredInputs":["resourceGroupName","sqlImageOffer","sqlImageSku","wsfcDomainProfile"],"stateInputs":{"description":"Input properties used for looking up and filtering VirtualMachineGroup resources.\n","properties":{"location":{"type":"string","description":"The Azure Region where the Microsoft SQL Virtual Machine Group should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for the Microsoft SQL Virtual Machine Group. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Microsoft SQL Virtual Machine Group should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sqlImageOffer":{"type":"string","description":"The offer type of the marketplace image cluster to be used by the SQL Virtual Machine Group. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sqlImageSku":{"type":"string","description":"The sku type of the marketplace image cluster to be used by the SQL Virtual Machine Group. Possible values are `Developer` and `Enterprise`.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Microsoft SQL Virtual Machine Group.\n"},"wsfcDomainProfile":{"$ref":"#/types/azure:mssql/VirtualMachineGroupWsfcDomainProfile:VirtualMachineGroupWsfcDomainProfile","description":"A \u003cspan pulumi-lang-nodejs=\"`wsfcDomainProfile`\" pulumi-lang-dotnet=\"`WsfcDomainProfile`\" pulumi-lang-go=\"`wsfcDomainProfile`\" pulumi-lang-python=\"`wsfc_domain_profile`\" pulumi-lang-yaml=\"`wsfcDomainProfile`\" pulumi-lang-java=\"`wsfcDomainProfile`\"\u003e`wsfc_domain_profile`\u003c/span\u003e block as defined below.\n"}},"type":"object"}},"azure:mssql/virtualNetworkRule:VirtualNetworkRule":{"description":"Allows you to manage rules for allowing traffic between an Azure SQL server and a subnet of a virtual network.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-sql-server-vnet-rule\",\n    location: \"West Europe\",\n});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"example\", {\n    name: \"example-vnet\",\n    addressSpaces: [\"10.7.29.0/29\"],\n    location: example.location,\n    resourceGroupName: example.name,\n});\nconst exampleSubnet = new azure.network.Subnet(\"example\", {\n    name: \"example-subnet\",\n    resourceGroupName: example.name,\n    virtualNetworkName: exampleVirtualNetwork.name,\n    addressPrefixes: [\"10.7.29.0/29\"],\n    serviceEndpoints: [\"Microsoft.Sql\"],\n});\nconst exampleServer = new azure.mssql.Server(\"example\", {\n    name: \"uniqueazuresqlserver\",\n    resourceGroupName: example.name,\n    location: example.location,\n    version: \"12.0\",\n    administratorLogin: \"4dm1n157r470r\",\n    administratorLoginPassword: \"4-v3ry-53cr37-p455w0rd\",\n});\nconst exampleVirtualNetworkRule = new azure.mssql.VirtualNetworkRule(\"example\", {\n    name: \"sql-vnet-rule\",\n    serverId: exampleServer.id,\n    subnetId: exampleSubnet.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-sql-server-vnet-rule\",\n    location=\"West Europe\")\nexample_virtual_network = azure.network.VirtualNetwork(\"example\",\n    name=\"example-vnet\",\n    address_spaces=[\"10.7.29.0/29\"],\n    location=example.location,\n    resource_group_name=example.name)\nexample_subnet = azure.network.Subnet(\"example\",\n    name=\"example-subnet\",\n    resource_group_name=example.name,\n    virtual_network_name=example_virtual_network.name,\n    address_prefixes=[\"10.7.29.0/29\"],\n    service_endpoints=[\"Microsoft.Sql\"])\nexample_server = azure.mssql.Server(\"example\",\n    name=\"uniqueazuresqlserver\",\n    resource_group_name=example.name,\n    location=example.location,\n    version=\"12.0\",\n    administrator_login=\"4dm1n157r470r\",\n    administrator_login_password=\"4-v3ry-53cr37-p455w0rd\")\nexample_virtual_network_rule = azure.mssql.VirtualNetworkRule(\"example\",\n    name=\"sql-vnet-rule\",\n    server_id=example_server.id,\n    subnet_id=example_subnet.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-sql-server-vnet-rule\",\n        Location = \"West Europe\",\n    });\n\n    var exampleVirtualNetwork = new Azure.Network.VirtualNetwork(\"example\", new()\n    {\n        Name = \"example-vnet\",\n        AddressSpaces = new[]\n        {\n            \"10.7.29.0/29\",\n        },\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n    });\n\n    var exampleSubnet = new Azure.Network.Subnet(\"example\", new()\n    {\n        Name = \"example-subnet\",\n        ResourceGroupName = example.Name,\n        VirtualNetworkName = exampleVirtualNetwork.Name,\n        AddressPrefixes = new[]\n        {\n            \"10.7.29.0/29\",\n        },\n        ServiceEndpoints = new[]\n        {\n            \"Microsoft.Sql\",\n        },\n    });\n\n    var exampleServer = new Azure.MSSql.Server(\"example\", new()\n    {\n        Name = \"uniqueazuresqlserver\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        Version = \"12.0\",\n        AdministratorLogin = \"4dm1n157r470r\",\n        AdministratorLoginPassword = \"4-v3ry-53cr37-p455w0rd\",\n    });\n\n    var exampleVirtualNetworkRule = new Azure.MSSql.VirtualNetworkRule(\"example\", new()\n    {\n        Name = \"sql-vnet-rule\",\n        ServerId = exampleServer.Id,\n        SubnetId = exampleSubnet.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/mssql\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-sql-server-vnet-rule\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, \"example\", \u0026network.VirtualNetworkArgs{\n\t\t\tName: pulumi.String(\"example-vnet\"),\n\t\t\tAddressSpaces: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.7.29.0/29\"),\n\t\t\t},\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSubnet, err := network.NewSubnet(ctx, \"example\", \u0026network.SubnetArgs{\n\t\t\tName:               pulumi.String(\"example-subnet\"),\n\t\t\tResourceGroupName:  example.Name,\n\t\t\tVirtualNetworkName: exampleVirtualNetwork.Name,\n\t\t\tAddressPrefixes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.7.29.0/29\"),\n\t\t\t},\n\t\t\tServiceEndpoints: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"Microsoft.Sql\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleServer, err := mssql.NewServer(ctx, \"example\", \u0026mssql.ServerArgs{\n\t\t\tName:                       pulumi.String(\"uniqueazuresqlserver\"),\n\t\t\tResourceGroupName:          example.Name,\n\t\t\tLocation:                   example.Location,\n\t\t\tVersion:                    pulumi.String(\"12.0\"),\n\t\t\tAdministratorLogin:         pulumi.String(\"4dm1n157r470r\"),\n\t\t\tAdministratorLoginPassword: pulumi.String(\"4-v3ry-53cr37-p455w0rd\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = mssql.NewVirtualNetworkRule(ctx, \"example\", \u0026mssql.VirtualNetworkRuleArgs{\n\t\t\tName:     pulumi.String(\"sql-vnet-rule\"),\n\t\t\tServerId: exampleServer.ID(),\n\t\t\tSubnetId: exampleSubnet.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.VirtualNetwork;\nimport com.pulumi.azure.network.VirtualNetworkArgs;\nimport com.pulumi.azure.network.Subnet;\nimport com.pulumi.azure.network.SubnetArgs;\nimport com.pulumi.azure.mssql.Server;\nimport com.pulumi.azure.mssql.ServerArgs;\nimport com.pulumi.azure.mssql.VirtualNetworkRule;\nimport com.pulumi.azure.mssql.VirtualNetworkRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-sql-server-vnet-rule\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleVirtualNetwork = new VirtualNetwork(\"exampleVirtualNetwork\", VirtualNetworkArgs.builder()\n            .name(\"example-vnet\")\n            .addressSpaces(\"10.7.29.0/29\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .build());\n\n        var exampleSubnet = new Subnet(\"exampleSubnet\", SubnetArgs.builder()\n            .name(\"example-subnet\")\n            .resourceGroupName(example.name())\n            .virtualNetworkName(exampleVirtualNetwork.name())\n            .addressPrefixes(\"10.7.29.0/29\")\n            .serviceEndpoints(\"Microsoft.Sql\")\n            .build());\n\n        var exampleServer = new Server(\"exampleServer\", ServerArgs.builder()\n            .name(\"uniqueazuresqlserver\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .version(\"12.0\")\n            .administratorLogin(\"4dm1n157r470r\")\n            .administratorLoginPassword(\"4-v3ry-53cr37-p455w0rd\")\n            .build());\n\n        var exampleVirtualNetworkRule = new VirtualNetworkRule(\"exampleVirtualNetworkRule\", VirtualNetworkRuleArgs.builder()\n            .name(\"sql-vnet-rule\")\n            .serverId(exampleServer.id())\n            .subnetId(exampleSubnet.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-sql-server-vnet-rule\n      location: West Europe\n  exampleVirtualNetwork:\n    type: azure:network:VirtualNetwork\n    name: example\n    properties:\n      name: example-vnet\n      addressSpaces:\n        - 10.7.29.0/29\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n  exampleSubnet:\n    type: azure:network:Subnet\n    name: example\n    properties:\n      name: example-subnet\n      resourceGroupName: ${example.name}\n      virtualNetworkName: ${exampleVirtualNetwork.name}\n      addressPrefixes:\n        - 10.7.29.0/29\n      serviceEndpoints:\n        - Microsoft.Sql\n  exampleServer:\n    type: azure:mssql:Server\n    name: example\n    properties:\n      name: uniqueazuresqlserver\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      version: '12.0'\n      administratorLogin: 4dm1n157r470r\n      administratorLoginPassword: 4-v3ry-53cr37-p455w0rd\n  exampleVirtualNetworkRule:\n    type: azure:mssql:VirtualNetworkRule\n    name: example\n    properties:\n      name: sql-vnet-rule\n      serverId: ${exampleServer.id}\n      subnetId: ${exampleSubnet.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Sql` - 2023-08-01-preview\n\n## Import\n\nSQL Virtual Network Rules can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:mssql/virtualNetworkRule:VirtualNetworkRule rule1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myresourcegroup/providers/Microsoft.Sql/servers/myserver/virtualNetworkRules/vnetrulename\n```\n\n","properties":{"ignoreMissingVnetServiceEndpoint":{"type":"boolean","description":"Create the virtual network rule before the subnet has the virtual network service endpoint enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** If \u003cspan pulumi-lang-nodejs=\"`ignoreMissingVnetServiceEndpoint`\" pulumi-lang-dotnet=\"`IgnoreMissingVnetServiceEndpoint`\" pulumi-lang-go=\"`ignoreMissingVnetServiceEndpoint`\" pulumi-lang-python=\"`ignore_missing_vnet_service_endpoint`\" pulumi-lang-yaml=\"`ignoreMissingVnetServiceEndpoint`\" pulumi-lang-java=\"`ignoreMissingVnetServiceEndpoint`\"\u003e`ignore_missing_vnet_service_endpoint`\u003c/span\u003e is false, and the target subnet does not contain the `Microsoft.SQL` endpoint in the \u003cspan pulumi-lang-nodejs=\"`serviceEndpoints`\" pulumi-lang-dotnet=\"`ServiceEndpoints`\" pulumi-lang-go=\"`serviceEndpoints`\" pulumi-lang-python=\"`service_endpoints`\" pulumi-lang-yaml=\"`serviceEndpoints`\" pulumi-lang-java=\"`serviceEndpoints`\"\u003e`service_endpoints`\u003c/span\u003e array, the deployment will fail when it tries to create the SQL virtual network rule.\n"},"name":{"type":"string","description":"The name of the SQL virtual network rule. Changing this forces a new resource to be created.\n"},"serverId":{"type":"string","description":"The resource ID of the SQL Server to which this SQL virtual network rule will be applied. Changing this forces a new resource to be created.\n"},"subnetId":{"type":"string","description":"The ID of the subnet from which the SQL server will accept communications.\n"}},"required":["name","serverId","subnetId"],"inputProperties":{"ignoreMissingVnetServiceEndpoint":{"type":"boolean","description":"Create the virtual network rule before the subnet has the virtual network service endpoint enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** If \u003cspan pulumi-lang-nodejs=\"`ignoreMissingVnetServiceEndpoint`\" pulumi-lang-dotnet=\"`IgnoreMissingVnetServiceEndpoint`\" pulumi-lang-go=\"`ignoreMissingVnetServiceEndpoint`\" pulumi-lang-python=\"`ignore_missing_vnet_service_endpoint`\" pulumi-lang-yaml=\"`ignoreMissingVnetServiceEndpoint`\" pulumi-lang-java=\"`ignoreMissingVnetServiceEndpoint`\"\u003e`ignore_missing_vnet_service_endpoint`\u003c/span\u003e is false, and the target subnet does not contain the `Microsoft.SQL` endpoint in the \u003cspan pulumi-lang-nodejs=\"`serviceEndpoints`\" pulumi-lang-dotnet=\"`ServiceEndpoints`\" pulumi-lang-go=\"`serviceEndpoints`\" pulumi-lang-python=\"`service_endpoints`\" pulumi-lang-yaml=\"`serviceEndpoints`\" pulumi-lang-java=\"`serviceEndpoints`\"\u003e`service_endpoints`\u003c/span\u003e array, the deployment will fail when it tries to create the SQL virtual network rule.\n"},"name":{"type":"string","description":"The name of the SQL virtual network rule. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"serverId":{"type":"string","description":"The resource ID of the SQL Server to which this SQL virtual network rule will be applied. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"subnetId":{"type":"string","description":"The ID of the subnet from which the SQL server will accept communications.\n"}},"requiredInputs":["serverId","subnetId"],"stateInputs":{"description":"Input properties used for looking up and filtering VirtualNetworkRule resources.\n","properties":{"ignoreMissingVnetServiceEndpoint":{"type":"boolean","description":"Create the virtual network rule before the subnet has the virtual network service endpoint enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** If \u003cspan pulumi-lang-nodejs=\"`ignoreMissingVnetServiceEndpoint`\" pulumi-lang-dotnet=\"`IgnoreMissingVnetServiceEndpoint`\" pulumi-lang-go=\"`ignoreMissingVnetServiceEndpoint`\" pulumi-lang-python=\"`ignore_missing_vnet_service_endpoint`\" pulumi-lang-yaml=\"`ignoreMissingVnetServiceEndpoint`\" pulumi-lang-java=\"`ignoreMissingVnetServiceEndpoint`\"\u003e`ignore_missing_vnet_service_endpoint`\u003c/span\u003e is false, and the target subnet does not contain the `Microsoft.SQL` endpoint in the \u003cspan pulumi-lang-nodejs=\"`serviceEndpoints`\" pulumi-lang-dotnet=\"`ServiceEndpoints`\" pulumi-lang-go=\"`serviceEndpoints`\" pulumi-lang-python=\"`service_endpoints`\" pulumi-lang-yaml=\"`serviceEndpoints`\" pulumi-lang-java=\"`serviceEndpoints`\"\u003e`service_endpoints`\u003c/span\u003e array, the deployment will fail when it tries to create the SQL virtual network rule.\n"},"name":{"type":"string","description":"The name of the SQL virtual network rule. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"serverId":{"type":"string","description":"The resource ID of the SQL Server to which this SQL virtual network rule will be applied. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"subnetId":{"type":"string","description":"The ID of the subnet from which the SQL server will accept communications.\n"}},"type":"object"},"aliases":[{"type":"azure:sql/virtualNetworkRule:VirtualNetworkRule"}]},"azure:mysql/flexibleDatabase:FlexibleDatabase":{"description":"Manages a MySQL Database within a MySQL Flexible Server\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleFlexibleServer = new azure.mysql.FlexibleServer(\"example\", {\n    name: \"example-mysql-flexible-server\",\n    resourceGroupName: example.name,\n    location: example.location,\n    administratorLogin: \"mysqladminun\",\n    administratorPassword: \"H@Sh1CoR3!\",\n    skuName: \"B_Standard_B1ms\",\n});\nconst exampleFlexibleDatabase = new azure.mysql.FlexibleDatabase(\"example\", {\n    name: \"exampledb\",\n    resourceGroupName: example.name,\n    serverName: exampleFlexibleServer.name,\n    charset: \"utf8\",\n    collation: \"utf8_unicode_ci\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_flexible_server = azure.mysql.FlexibleServer(\"example\",\n    name=\"example-mysql-flexible-server\",\n    resource_group_name=example.name,\n    location=example.location,\n    administrator_login=\"mysqladminun\",\n    administrator_password=\"H@Sh1CoR3!\",\n    sku_name=\"B_Standard_B1ms\")\nexample_flexible_database = azure.mysql.FlexibleDatabase(\"example\",\n    name=\"exampledb\",\n    resource_group_name=example.name,\n    server_name=example_flexible_server.name,\n    charset=\"utf8\",\n    collation=\"utf8_unicode_ci\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleFlexibleServer = new Azure.MySql.FlexibleServer(\"example\", new()\n    {\n        Name = \"example-mysql-flexible-server\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        AdministratorLogin = \"mysqladminun\",\n        AdministratorPassword = \"H@Sh1CoR3!\",\n        SkuName = \"B_Standard_B1ms\",\n    });\n\n    var exampleFlexibleDatabase = new Azure.MySql.FlexibleDatabase(\"example\", new()\n    {\n        Name = \"exampledb\",\n        ResourceGroupName = example.Name,\n        ServerName = exampleFlexibleServer.Name,\n        Charset = \"utf8\",\n        Collation = \"utf8_unicode_ci\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/mysql\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleFlexibleServer, err := mysql.NewFlexibleServer(ctx, \"example\", \u0026mysql.FlexibleServerArgs{\n\t\t\tName:                  pulumi.String(\"example-mysql-flexible-server\"),\n\t\t\tResourceGroupName:     example.Name,\n\t\t\tLocation:              example.Location,\n\t\t\tAdministratorLogin:    pulumi.String(\"mysqladminun\"),\n\t\t\tAdministratorPassword: pulumi.String(\"H@Sh1CoR3!\"),\n\t\t\tSkuName:               pulumi.String(\"B_Standard_B1ms\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = mysql.NewFlexibleDatabase(ctx, \"example\", \u0026mysql.FlexibleDatabaseArgs{\n\t\t\tName:              pulumi.String(\"exampledb\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tServerName:        exampleFlexibleServer.Name,\n\t\t\tCharset:           pulumi.String(\"utf8\"),\n\t\t\tCollation:         pulumi.String(\"utf8_unicode_ci\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.mysql.FlexibleServer;\nimport com.pulumi.azure.mysql.FlexibleServerArgs;\nimport com.pulumi.azure.mysql.FlexibleDatabase;\nimport com.pulumi.azure.mysql.FlexibleDatabaseArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleFlexibleServer = new FlexibleServer(\"exampleFlexibleServer\", FlexibleServerArgs.builder()\n            .name(\"example-mysql-flexible-server\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .administratorLogin(\"mysqladminun\")\n            .administratorPassword(\"H@Sh1CoR3!\")\n            .skuName(\"B_Standard_B1ms\")\n            .build());\n\n        var exampleFlexibleDatabase = new FlexibleDatabase(\"exampleFlexibleDatabase\", FlexibleDatabaseArgs.builder()\n            .name(\"exampledb\")\n            .resourceGroupName(example.name())\n            .serverName(exampleFlexibleServer.name())\n            .charset(\"utf8\")\n            .collation(\"utf8_unicode_ci\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleFlexibleServer:\n    type: azure:mysql:FlexibleServer\n    name: example\n    properties:\n      name: example-mysql-flexible-server\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      administratorLogin: mysqladminun\n      administratorPassword: H@Sh1CoR3!\n      skuName: B_Standard_B1ms\n  exampleFlexibleDatabase:\n    type: azure:mysql:FlexibleDatabase\n    name: example\n    properties:\n      name: exampledb\n      resourceGroupName: ${example.name}\n      serverName: ${exampleFlexibleServer.name}\n      charset: utf8\n      collation: utf8_unicode_ci\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.DBforMySQL` - 2023-12-30\n\n## Import\n\nMySQL Database's can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:mysql/flexibleDatabase:FlexibleDatabase database1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.DBforMySQL/flexibleServers/flexibleserver1/databases/database1\n```\n\n","properties":{"charset":{"type":"string","description":"Specifies the Charset for the MySQL Database, which needs [to be a valid MySQL Charset](https://dev.mysql.com/doc/refman/5.7/en/charset-charsets.html). Changing this forces a new resource to be created.\n"},"collation":{"type":"string","description":"Specifies the Collation for the MySQL Database, which needs [to be a valid MySQL Collation](https://dev.mysql.com/doc/refman/5.7/en/charset-mysql.html). Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"Specifies the name of the MySQL Database, which needs [to be a valid MySQL identifier](https://dev.mysql.com/doc/refman/5.7/en/identifiers.html). Changing this forces a new resource to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the MySQL Server exists. Changing this forces a new resource to be created.\n"},"serverName":{"type":"string","description":"Specifies the name of the MySQL Flexible Server. Changing this forces a new resource to be created.\n"}},"required":["charset","collation","name","resourceGroupName","serverName"],"inputProperties":{"charset":{"type":"string","description":"Specifies the Charset for the MySQL Database, which needs [to be a valid MySQL Charset](https://dev.mysql.com/doc/refman/5.7/en/charset-charsets.html). Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"collation":{"type":"string","description":"Specifies the Collation for the MySQL Database, which needs [to be a valid MySQL Collation](https://dev.mysql.com/doc/refman/5.7/en/charset-mysql.html). Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the MySQL Database, which needs [to be a valid MySQL identifier](https://dev.mysql.com/doc/refman/5.7/en/identifiers.html). Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the MySQL Server exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"serverName":{"type":"string","description":"Specifies the name of the MySQL Flexible Server. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["charset","collation","resourceGroupName","serverName"],"stateInputs":{"description":"Input properties used for looking up and filtering FlexibleDatabase resources.\n","properties":{"charset":{"type":"string","description":"Specifies the Charset for the MySQL Database, which needs [to be a valid MySQL Charset](https://dev.mysql.com/doc/refman/5.7/en/charset-charsets.html). Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"collation":{"type":"string","description":"Specifies the Collation for the MySQL Database, which needs [to be a valid MySQL Collation](https://dev.mysql.com/doc/refman/5.7/en/charset-mysql.html). Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the MySQL Database, which needs [to be a valid MySQL identifier](https://dev.mysql.com/doc/refman/5.7/en/identifiers.html). Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the MySQL Server exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"serverName":{"type":"string","description":"Specifies the name of the MySQL Flexible Server. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:mysql/flexibleServer:FlexibleServer":{"description":"Manages a MySQL Flexible Server.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"example\", {\n    name: \"example-vn\",\n    location: example.location,\n    resourceGroupName: example.name,\n    addressSpaces: [\"10.0.0.0/16\"],\n});\nconst exampleSubnet = new azure.network.Subnet(\"example\", {\n    name: \"example-sn\",\n    resourceGroupName: example.name,\n    virtualNetworkName: exampleVirtualNetwork.name,\n    addressPrefixes: [\"10.0.2.0/24\"],\n    serviceEndpoints: [\"Microsoft.Storage\"],\n    delegations: [{\n        name: \"fs\",\n        serviceDelegation: {\n            name: \"Microsoft.DBforMySQL/flexibleServers\",\n            actions: [\"Microsoft.Network/virtualNetworks/subnets/join/action\"],\n        },\n    }],\n});\nconst exampleZone = new azure.privatedns.Zone(\"example\", {\n    name: \"example.mysql.database.azure.com\",\n    resourceGroupName: example.name,\n});\nconst exampleZoneVirtualNetworkLink = new azure.privatedns.ZoneVirtualNetworkLink(\"example\", {\n    name: \"exampleVnetZone.com\",\n    privateDnsZoneName: exampleZone.name,\n    virtualNetworkId: exampleVirtualNetwork.id,\n    resourceGroupName: example.name,\n});\nconst exampleFlexibleServer = new azure.mysql.FlexibleServer(\"example\", {\n    name: \"example-fs\",\n    resourceGroupName: example.name,\n    location: example.location,\n    administratorLogin: \"psqladmin\",\n    administratorPassword: \"H@Sh1CoR3!\",\n    backupRetentionDays: 7,\n    delegatedSubnetId: exampleSubnet.id,\n    privateDnsZoneId: exampleZone.id,\n    skuName: \"GP_Standard_D2ds_v4\",\n}, {\n    dependsOn: [exampleZoneVirtualNetworkLink],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_virtual_network = azure.network.VirtualNetwork(\"example\",\n    name=\"example-vn\",\n    location=example.location,\n    resource_group_name=example.name,\n    address_spaces=[\"10.0.0.0/16\"])\nexample_subnet = azure.network.Subnet(\"example\",\n    name=\"example-sn\",\n    resource_group_name=example.name,\n    virtual_network_name=example_virtual_network.name,\n    address_prefixes=[\"10.0.2.0/24\"],\n    service_endpoints=[\"Microsoft.Storage\"],\n    delegations=[{\n        \"name\": \"fs\",\n        \"service_delegation\": {\n            \"name\": \"Microsoft.DBforMySQL/flexibleServers\",\n            \"actions\": [\"Microsoft.Network/virtualNetworks/subnets/join/action\"],\n        },\n    }])\nexample_zone = azure.privatedns.Zone(\"example\",\n    name=\"example.mysql.database.azure.com\",\n    resource_group_name=example.name)\nexample_zone_virtual_network_link = azure.privatedns.ZoneVirtualNetworkLink(\"example\",\n    name=\"exampleVnetZone.com\",\n    private_dns_zone_name=example_zone.name,\n    virtual_network_id=example_virtual_network.id,\n    resource_group_name=example.name)\nexample_flexible_server = azure.mysql.FlexibleServer(\"example\",\n    name=\"example-fs\",\n    resource_group_name=example.name,\n    location=example.location,\n    administrator_login=\"psqladmin\",\n    administrator_password=\"H@Sh1CoR3!\",\n    backup_retention_days=7,\n    delegated_subnet_id=example_subnet.id,\n    private_dns_zone_id=example_zone.id,\n    sku_name=\"GP_Standard_D2ds_v4\",\n    opts = pulumi.ResourceOptions(depends_on=[example_zone_virtual_network_link]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleVirtualNetwork = new Azure.Network.VirtualNetwork(\"example\", new()\n    {\n        Name = \"example-vn\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        AddressSpaces = new[]\n        {\n            \"10.0.0.0/16\",\n        },\n    });\n\n    var exampleSubnet = new Azure.Network.Subnet(\"example\", new()\n    {\n        Name = \"example-sn\",\n        ResourceGroupName = example.Name,\n        VirtualNetworkName = exampleVirtualNetwork.Name,\n        AddressPrefixes = new[]\n        {\n            \"10.0.2.0/24\",\n        },\n        ServiceEndpoints = new[]\n        {\n            \"Microsoft.Storage\",\n        },\n        Delegations = new[]\n        {\n            new Azure.Network.Inputs.SubnetDelegationArgs\n            {\n                Name = \"fs\",\n                ServiceDelegation = new Azure.Network.Inputs.SubnetDelegationServiceDelegationArgs\n                {\n                    Name = \"Microsoft.DBforMySQL/flexibleServers\",\n                    Actions = new[]\n                    {\n                        \"Microsoft.Network/virtualNetworks/subnets/join/action\",\n                    },\n                },\n            },\n        },\n    });\n\n    var exampleZone = new Azure.PrivateDns.Zone(\"example\", new()\n    {\n        Name = \"example.mysql.database.azure.com\",\n        ResourceGroupName = example.Name,\n    });\n\n    var exampleZoneVirtualNetworkLink = new Azure.PrivateDns.ZoneVirtualNetworkLink(\"example\", new()\n    {\n        Name = \"exampleVnetZone.com\",\n        PrivateDnsZoneName = exampleZone.Name,\n        VirtualNetworkId = exampleVirtualNetwork.Id,\n        ResourceGroupName = example.Name,\n    });\n\n    var exampleFlexibleServer = new Azure.MySql.FlexibleServer(\"example\", new()\n    {\n        Name = \"example-fs\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        AdministratorLogin = \"psqladmin\",\n        AdministratorPassword = \"H@Sh1CoR3!\",\n        BackupRetentionDays = 7,\n        DelegatedSubnetId = exampleSubnet.Id,\n        PrivateDnsZoneId = exampleZone.Id,\n        SkuName = \"GP_Standard_D2ds_v4\",\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            exampleZoneVirtualNetworkLink,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/mysql\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/privatedns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, \"example\", \u0026network.VirtualNetworkArgs{\n\t\t\tName:              pulumi.String(\"example-vn\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tAddressSpaces: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.0.0/16\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSubnet, err := network.NewSubnet(ctx, \"example\", \u0026network.SubnetArgs{\n\t\t\tName:               pulumi.String(\"example-sn\"),\n\t\t\tResourceGroupName:  example.Name,\n\t\t\tVirtualNetworkName: exampleVirtualNetwork.Name,\n\t\t\tAddressPrefixes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.2.0/24\"),\n\t\t\t},\n\t\t\tServiceEndpoints: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"Microsoft.Storage\"),\n\t\t\t},\n\t\t\tDelegations: network.SubnetDelegationArray{\n\t\t\t\t\u0026network.SubnetDelegationArgs{\n\t\t\t\t\tName: pulumi.String(\"fs\"),\n\t\t\t\t\tServiceDelegation: \u0026network.SubnetDelegationServiceDelegationArgs{\n\t\t\t\t\t\tName: pulumi.String(\"Microsoft.DBforMySQL/flexibleServers\"),\n\t\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"Microsoft.Network/virtualNetworks/subnets/join/action\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleZone, err := privatedns.NewZone(ctx, \"example\", \u0026privatedns.ZoneArgs{\n\t\t\tName:              pulumi.String(\"example.mysql.database.azure.com\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleZoneVirtualNetworkLink, err := privatedns.NewZoneVirtualNetworkLink(ctx, \"example\", \u0026privatedns.ZoneVirtualNetworkLinkArgs{\n\t\t\tName:               pulumi.String(\"exampleVnetZone.com\"),\n\t\t\tPrivateDnsZoneName: exampleZone.Name,\n\t\t\tVirtualNetworkId:   exampleVirtualNetwork.ID(),\n\t\t\tResourceGroupName:  example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = mysql.NewFlexibleServer(ctx, \"example\", \u0026mysql.FlexibleServerArgs{\n\t\t\tName:                  pulumi.String(\"example-fs\"),\n\t\t\tResourceGroupName:     example.Name,\n\t\t\tLocation:              example.Location,\n\t\t\tAdministratorLogin:    pulumi.String(\"psqladmin\"),\n\t\t\tAdministratorPassword: pulumi.String(\"H@Sh1CoR3!\"),\n\t\t\tBackupRetentionDays:   pulumi.Int(7),\n\t\t\tDelegatedSubnetId:     exampleSubnet.ID(),\n\t\t\tPrivateDnsZoneId:      exampleZone.ID(),\n\t\t\tSkuName:               pulumi.String(\"GP_Standard_D2ds_v4\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleZoneVirtualNetworkLink,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.VirtualNetwork;\nimport com.pulumi.azure.network.VirtualNetworkArgs;\nimport com.pulumi.azure.network.Subnet;\nimport com.pulumi.azure.network.SubnetArgs;\nimport com.pulumi.azure.network.inputs.SubnetDelegationArgs;\nimport com.pulumi.azure.network.inputs.SubnetDelegationServiceDelegationArgs;\nimport com.pulumi.azure.privatedns.Zone;\nimport com.pulumi.azure.privatedns.ZoneArgs;\nimport com.pulumi.azure.privatedns.ZoneVirtualNetworkLink;\nimport com.pulumi.azure.privatedns.ZoneVirtualNetworkLinkArgs;\nimport com.pulumi.azure.mysql.FlexibleServer;\nimport com.pulumi.azure.mysql.FlexibleServerArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleVirtualNetwork = new VirtualNetwork(\"exampleVirtualNetwork\", VirtualNetworkArgs.builder()\n            .name(\"example-vn\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .addressSpaces(\"10.0.0.0/16\")\n            .build());\n\n        var exampleSubnet = new Subnet(\"exampleSubnet\", SubnetArgs.builder()\n            .name(\"example-sn\")\n            .resourceGroupName(example.name())\n            .virtualNetworkName(exampleVirtualNetwork.name())\n            .addressPrefixes(\"10.0.2.0/24\")\n            .serviceEndpoints(\"Microsoft.Storage\")\n            .delegations(SubnetDelegationArgs.builder()\n                .name(\"fs\")\n                .serviceDelegation(SubnetDelegationServiceDelegationArgs.builder()\n                    .name(\"Microsoft.DBforMySQL/flexibleServers\")\n                    .actions(\"Microsoft.Network/virtualNetworks/subnets/join/action\")\n                    .build())\n                .build())\n            .build());\n\n        var exampleZone = new Zone(\"exampleZone\", ZoneArgs.builder()\n            .name(\"example.mysql.database.azure.com\")\n            .resourceGroupName(example.name())\n            .build());\n\n        var exampleZoneVirtualNetworkLink = new ZoneVirtualNetworkLink(\"exampleZoneVirtualNetworkLink\", ZoneVirtualNetworkLinkArgs.builder()\n            .name(\"exampleVnetZone.com\")\n            .privateDnsZoneName(exampleZone.name())\n            .virtualNetworkId(exampleVirtualNetwork.id())\n            .resourceGroupName(example.name())\n            .build());\n\n        var exampleFlexibleServer = new FlexibleServer(\"exampleFlexibleServer\", FlexibleServerArgs.builder()\n            .name(\"example-fs\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .administratorLogin(\"psqladmin\")\n            .administratorPassword(\"H@Sh1CoR3!\")\n            .backupRetentionDays(7)\n            .delegatedSubnetId(exampleSubnet.id())\n            .privateDnsZoneId(exampleZone.id())\n            .skuName(\"GP_Standard_D2ds_v4\")\n            .build(), CustomResourceOptions.builder()\n                .dependsOn(exampleZoneVirtualNetworkLink)\n                .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleVirtualNetwork:\n    type: azure:network:VirtualNetwork\n    name: example\n    properties:\n      name: example-vn\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      addressSpaces:\n        - 10.0.0.0/16\n  exampleSubnet:\n    type: azure:network:Subnet\n    name: example\n    properties:\n      name: example-sn\n      resourceGroupName: ${example.name}\n      virtualNetworkName: ${exampleVirtualNetwork.name}\n      addressPrefixes:\n        - 10.0.2.0/24\n      serviceEndpoints:\n        - Microsoft.Storage\n      delegations:\n        - name: fs\n          serviceDelegation:\n            name: Microsoft.DBforMySQL/flexibleServers\n            actions:\n              - Microsoft.Network/virtualNetworks/subnets/join/action\n  exampleZone:\n    type: azure:privatedns:Zone\n    name: example\n    properties:\n      name: example.mysql.database.azure.com\n      resourceGroupName: ${example.name}\n  exampleZoneVirtualNetworkLink:\n    type: azure:privatedns:ZoneVirtualNetworkLink\n    name: example\n    properties:\n      name: exampleVnetZone.com\n      privateDnsZoneName: ${exampleZone.name}\n      virtualNetworkId: ${exampleVirtualNetwork.id}\n      resourceGroupName: ${example.name}\n  exampleFlexibleServer:\n    type: azure:mysql:FlexibleServer\n    name: example\n    properties:\n      name: example-fs\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      administratorLogin: psqladmin\n      administratorPassword: H@Sh1CoR3!\n      backupRetentionDays: 7\n      delegatedSubnetId: ${exampleSubnet.id}\n      privateDnsZoneId: ${exampleZone.id}\n      skuName: GP_Standard_D2ds_v4\n    options:\n      dependsOn:\n        - ${exampleZoneVirtualNetworkLink}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.DBforMySQL` - 2023-12-30\n\n## Import\n\nMySQL Flexible Servers can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:mysql/flexibleServer:FlexibleServer example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.DBforMySQL/flexibleServers/flexibleServer1\n```\n\n","properties":{"administratorLogin":{"type":"string","description":"The Administrator login for the MySQL Flexible Server. Required when \u003cspan pulumi-lang-nodejs=\"`createMode`\" pulumi-lang-dotnet=\"`CreateMode`\" pulumi-lang-go=\"`createMode`\" pulumi-lang-python=\"`create_mode`\" pulumi-lang-yaml=\"`createMode`\" pulumi-lang-java=\"`createMode`\"\u003e`create_mode`\u003c/span\u003e is `Default`. Changing this forces a new MySQL Flexible Server to be created.\n"},"administratorPassword":{"type":"string","description":"The Password associated with the \u003cspan pulumi-lang-nodejs=\"`administratorLogin`\" pulumi-lang-dotnet=\"`AdministratorLogin`\" pulumi-lang-go=\"`administratorLogin`\" pulumi-lang-python=\"`administrator_login`\" pulumi-lang-yaml=\"`administratorLogin`\" pulumi-lang-java=\"`administratorLogin`\"\u003e`administrator_login`\u003c/span\u003e for the MySQL Flexible Server.\n","secret":true},"administratorPasswordWoVersion":{"type":"integer","description":"An integer value used to trigger an update for \u003cspan pulumi-lang-nodejs=\"`administratorPasswordWo`\" pulumi-lang-dotnet=\"`AdministratorPasswordWo`\" pulumi-lang-go=\"`administratorPasswordWo`\" pulumi-lang-python=\"`administrator_password_wo`\" pulumi-lang-yaml=\"`administratorPasswordWo`\" pulumi-lang-java=\"`administratorPasswordWo`\"\u003e`administrator_password_wo`\u003c/span\u003e. This property should be incremented when updating \u003cspan pulumi-lang-nodejs=\"`administratorPasswordWo`\" pulumi-lang-dotnet=\"`AdministratorPasswordWo`\" pulumi-lang-go=\"`administratorPasswordWo`\" pulumi-lang-python=\"`administrator_password_wo`\" pulumi-lang-yaml=\"`administratorPasswordWo`\" pulumi-lang-java=\"`administratorPasswordWo`\"\u003e`administrator_password_wo`\u003c/span\u003e.\n\n\u003e **Note:** Either \u003cspan pulumi-lang-nodejs=\"`administratorPassword`\" pulumi-lang-dotnet=\"`AdministratorPassword`\" pulumi-lang-go=\"`administratorPassword`\" pulumi-lang-python=\"`administrator_password`\" pulumi-lang-yaml=\"`administratorPassword`\" pulumi-lang-java=\"`administratorPassword`\"\u003e`administrator_password`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`administratorPasswordWo`\" pulumi-lang-dotnet=\"`AdministratorPasswordWo`\" pulumi-lang-go=\"`administratorPasswordWo`\" pulumi-lang-python=\"`administrator_password_wo`\" pulumi-lang-yaml=\"`administratorPasswordWo`\" pulumi-lang-java=\"`administratorPasswordWo`\"\u003e`administrator_password_wo`\u003c/span\u003e is required when \u003cspan pulumi-lang-nodejs=\"`createMode`\" pulumi-lang-dotnet=\"`CreateMode`\" pulumi-lang-go=\"`createMode`\" pulumi-lang-python=\"`create_mode`\" pulumi-lang-yaml=\"`createMode`\" pulumi-lang-java=\"`createMode`\"\u003e`create_mode`\u003c/span\u003e is `Default`.\n"},"backupRetentionDays":{"type":"integer","description":"The backup retention days for the MySQL Flexible Server. Possible values are between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`35`\" pulumi-lang-dotnet=\"`35`\" pulumi-lang-go=\"`35`\" pulumi-lang-python=\"`35`\" pulumi-lang-yaml=\"`35`\" pulumi-lang-java=\"`35`\"\u003e`35`\u003c/span\u003e days. Defaults to \u003cspan pulumi-lang-nodejs=\"`7`\" pulumi-lang-dotnet=\"`7`\" pulumi-lang-go=\"`7`\" pulumi-lang-python=\"`7`\" pulumi-lang-yaml=\"`7`\" pulumi-lang-java=\"`7`\"\u003e`7`\u003c/span\u003e.\n"},"createMode":{"type":"string","description":"The creation mode which can be used to restore or replicate existing servers. Possible values are `Default`, `PointInTimeRestore`, `GeoRestore`, and `Replica`. Changing this forces a new MySQL Flexible Server to be created.\n\n\u003e **Note:** Creating a `GeoRestore` server requires the source server with \u003cspan pulumi-lang-nodejs=\"`geoRedundantBackupEnabled`\" pulumi-lang-dotnet=\"`GeoRedundantBackupEnabled`\" pulumi-lang-go=\"`geoRedundantBackupEnabled`\" pulumi-lang-python=\"`geo_redundant_backup_enabled`\" pulumi-lang-yaml=\"`geoRedundantBackupEnabled`\" pulumi-lang-java=\"`geoRedundantBackupEnabled`\"\u003e`geo_redundant_backup_enabled`\u003c/span\u003e enabled.\n\n\u003e **Note:** When a server is first created it may not be immediately available for `geo restore` or \u003cspan pulumi-lang-nodejs=\"`replica`\" pulumi-lang-dotnet=\"`Replica`\" pulumi-lang-go=\"`replica`\" pulumi-lang-python=\"`replica`\" pulumi-lang-yaml=\"`replica`\" pulumi-lang-java=\"`replica`\"\u003e`replica`\u003c/span\u003e. It may take a few minutes to several hours for the necessary metadata to be populated. Please see the [Geo Restore](https://learn.microsoft.com/azure/mysql/single-server/how-to-restore-server-portal#geo-restore) and the [Replica](https://learn.microsoft.com/azure/mysql/flexible-server/concepts-read-replicas#create-a-replica) for more information.\n\n\u003e **Note:** When importing a MySQL Flexible Server, \u003cspan pulumi-lang-nodejs=\"`createMode`\" pulumi-lang-dotnet=\"`CreateMode`\" pulumi-lang-go=\"`createMode`\" pulumi-lang-python=\"`create_mode`\" pulumi-lang-yaml=\"`createMode`\" pulumi-lang-java=\"`createMode`\"\u003e`create_mode`\u003c/span\u003e is not returned by the api so you will see a diff if \u003cspan pulumi-lang-nodejs=\"`createMode`\" pulumi-lang-dotnet=\"`CreateMode`\" pulumi-lang-go=\"`createMode`\" pulumi-lang-python=\"`create_mode`\" pulumi-lang-yaml=\"`createMode`\" pulumi-lang-java=\"`createMode`\"\u003e`create_mode`\u003c/span\u003e is specified in your config. To prevent recreation, use the \u003cspan pulumi-lang-nodejs=\"`ignoreChanges`\" pulumi-lang-dotnet=\"`IgnoreChanges`\" pulumi-lang-go=\"`ignoreChanges`\" pulumi-lang-python=\"`ignore_changes`\" pulumi-lang-yaml=\"`ignoreChanges`\" pulumi-lang-java=\"`ignoreChanges`\"\u003e`ignore_changes`\u003c/span\u003e lifecycle meta-argument.\n"},"customerManagedKey":{"$ref":"#/types/azure:mysql/FlexibleServerCustomerManagedKey:FlexibleServerCustomerManagedKey","description":"A \u003cspan pulumi-lang-nodejs=\"`customerManagedKey`\" pulumi-lang-dotnet=\"`CustomerManagedKey`\" pulumi-lang-go=\"`customerManagedKey`\" pulumi-lang-python=\"`customer_managed_key`\" pulumi-lang-yaml=\"`customerManagedKey`\" pulumi-lang-java=\"`customerManagedKey`\"\u003e`customer_managed_key`\u003c/span\u003e block as defined below.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e is required when \u003cspan pulumi-lang-nodejs=\"`customerManagedKey`\" pulumi-lang-dotnet=\"`CustomerManagedKey`\" pulumi-lang-go=\"`customerManagedKey`\" pulumi-lang-python=\"`customer_managed_key`\" pulumi-lang-yaml=\"`customerManagedKey`\" pulumi-lang-java=\"`customerManagedKey`\"\u003e`customer_managed_key`\u003c/span\u003e is specified.\n"},"delegatedSubnetId":{"type":"string","description":"The ID of the virtual network subnet to create the MySQL Flexible Server. Changing this forces a new MySQL Flexible Server to be created.\n"},"fqdn":{"type":"string","description":"The fully qualified domain name of the MySQL Flexible Server.\n"},"geoRedundantBackupEnabled":{"type":"boolean","description":"Should geo redundant backup enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Changing this forces a new MySQL Flexible Server to be created.\n"},"highAvailability":{"$ref":"#/types/azure:mysql/FlexibleServerHighAvailability:FlexibleServerHighAvailability","description":"A \u003cspan pulumi-lang-nodejs=\"`highAvailability`\" pulumi-lang-dotnet=\"`HighAvailability`\" pulumi-lang-go=\"`highAvailability`\" pulumi-lang-python=\"`high_availability`\" pulumi-lang-yaml=\"`highAvailability`\" pulumi-lang-java=\"`highAvailability`\"\u003e`high_availability`\u003c/span\u003e block as defined below.\n"},"identity":{"$ref":"#/types/azure:mysql/FlexibleServerIdentity:FlexibleServerIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"location":{"type":"string","description":"The Azure Region where the MySQL Flexible Server should exist. Changing this forces a new MySQL Flexible Server to be created.\n"},"maintenanceWindow":{"$ref":"#/types/azure:mysql/FlexibleServerMaintenanceWindow:FlexibleServerMaintenanceWindow","description":"A \u003cspan pulumi-lang-nodejs=\"`maintenanceWindow`\" pulumi-lang-dotnet=\"`MaintenanceWindow`\" pulumi-lang-go=\"`maintenanceWindow`\" pulumi-lang-python=\"`maintenance_window`\" pulumi-lang-yaml=\"`maintenanceWindow`\" pulumi-lang-java=\"`maintenanceWindow`\"\u003e`maintenance_window`\u003c/span\u003e block as defined below.\n"},"name":{"type":"string","description":"The name which should be used for this MySQL Flexible Server. Changing this forces a new MySQL Flexible Server to be created.\n"},"pointInTimeRestoreTimeInUtc":{"type":"string","description":"The point in time to restore from \u003cspan pulumi-lang-nodejs=\"`creationSourceServerId`\" pulumi-lang-dotnet=\"`CreationSourceServerId`\" pulumi-lang-go=\"`creationSourceServerId`\" pulumi-lang-python=\"`creation_source_server_id`\" pulumi-lang-yaml=\"`creationSourceServerId`\" pulumi-lang-java=\"`creationSourceServerId`\"\u003e`creation_source_server_id`\u003c/span\u003e when \u003cspan pulumi-lang-nodejs=\"`createMode`\" pulumi-lang-dotnet=\"`CreateMode`\" pulumi-lang-go=\"`createMode`\" pulumi-lang-python=\"`create_mode`\" pulumi-lang-yaml=\"`createMode`\" pulumi-lang-java=\"`createMode`\"\u003e`create_mode`\u003c/span\u003e is `PointInTimeRestore`. Changing this forces a new MySQL Flexible Server to be created.\n"},"privateDnsZoneId":{"type":"string","description":"The ID of the private DNS zone to create the MySQL Flexible Server. Changing this forces a new MySQL Flexible Server to be created.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`privateDnsZoneId`\" pulumi-lang-dotnet=\"`PrivateDnsZoneId`\" pulumi-lang-go=\"`privateDnsZoneId`\" pulumi-lang-python=\"`private_dns_zone_id`\" pulumi-lang-yaml=\"`privateDnsZoneId`\" pulumi-lang-java=\"`privateDnsZoneId`\"\u003e`private_dns_zone_id`\u003c/span\u003e is required when setting a \u003cspan pulumi-lang-nodejs=\"`delegatedSubnetId`\" pulumi-lang-dotnet=\"`DelegatedSubnetId`\" pulumi-lang-go=\"`delegatedSubnetId`\" pulumi-lang-python=\"`delegated_subnet_id`\" pulumi-lang-yaml=\"`delegatedSubnetId`\" pulumi-lang-java=\"`delegatedSubnetId`\"\u003e`delegated_subnet_id`\u003c/span\u003e. The \u003cspan pulumi-lang-nodejs=\"`azure.privatedns.Zone`\" pulumi-lang-dotnet=\"`azure.privatedns.Zone`\" pulumi-lang-go=\"`privatedns.Zone`\" pulumi-lang-python=\"`privatedns.Zone`\" pulumi-lang-yaml=\"`azure.privatedns.Zone`\" pulumi-lang-java=\"`azure.privatedns.Zone`\"\u003e`azure.privatedns.Zone`\u003c/span\u003e should end with suffix `.mysql.database.azure.com`.\n"},"publicNetworkAccess":{"type":"string","description":"Whether approved public traffic is allowed through the firewall to this server. Possible values are `Enabled` and `Disabled`.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`publicNetworkAccess`\" pulumi-lang-dotnet=\"`PublicNetworkAccess`\" pulumi-lang-go=\"`publicNetworkAccess`\" pulumi-lang-python=\"`public_network_access`\" pulumi-lang-yaml=\"`publicNetworkAccess`\" pulumi-lang-java=\"`publicNetworkAccess`\"\u003e`public_network_access`\u003c/span\u003e is automatically set to `Disabled` if the server is created with VNet Integration (i.e. values are provided for \u003cspan pulumi-lang-nodejs=\"`delegatedSubnetId`\" pulumi-lang-dotnet=\"`DelegatedSubnetId`\" pulumi-lang-go=\"`delegatedSubnetId`\" pulumi-lang-python=\"`delegated_subnet_id`\" pulumi-lang-yaml=\"`delegatedSubnetId`\" pulumi-lang-java=\"`delegatedSubnetId`\"\u003e`delegated_subnet_id`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`privateDnsZoneId`\" pulumi-lang-dotnet=\"`PrivateDnsZoneId`\" pulumi-lang-go=\"`privateDnsZoneId`\" pulumi-lang-python=\"`private_dns_zone_id`\" pulumi-lang-yaml=\"`privateDnsZoneId`\" pulumi-lang-java=\"`privateDnsZoneId`\"\u003e`private_dns_zone_id`\u003c/span\u003e\").\n"},"publicNetworkAccessEnabled":{"type":"boolean"},"replicaCapacity":{"type":"integer","description":"The maximum number of replicas that a primary MySQL Flexible Server can have.\n"},"replicationRole":{"type":"string","description":"The replication role. Possible value is `None`.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`replicationRole`\" pulumi-lang-dotnet=\"`ReplicationRole`\" pulumi-lang-go=\"`replicationRole`\" pulumi-lang-python=\"`replication_role`\" pulumi-lang-yaml=\"`replicationRole`\" pulumi-lang-java=\"`replicationRole`\"\u003e`replication_role`\u003c/span\u003e cannot be set while creating and only can be updated from `Replica` to `None`.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the MySQL Flexible Server should exist. Changing this forces a new MySQL Flexible Server to be created.\n"},"skuName":{"type":"string","description":"The SKU Name for the MySQL Flexible Server.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`skuName`\" pulumi-lang-dotnet=\"`SkuName`\" pulumi-lang-go=\"`skuName`\" pulumi-lang-python=\"`sku_name`\" pulumi-lang-yaml=\"`skuName`\" pulumi-lang-java=\"`skuName`\"\u003e`sku_name`\u003c/span\u003e should start with SKU tier `B (Burstable)`, `GP (General Purpose)`, `MO (Memory Optimized)` like `B_Standard_B1ms`.\n"},"sourceServerId":{"type":"string","description":"The resource ID of the source MySQL Flexible Server to be restored. Required when \u003cspan pulumi-lang-nodejs=\"`createMode`\" pulumi-lang-dotnet=\"`CreateMode`\" pulumi-lang-go=\"`createMode`\" pulumi-lang-python=\"`create_mode`\" pulumi-lang-yaml=\"`createMode`\" pulumi-lang-java=\"`createMode`\"\u003e`create_mode`\u003c/span\u003e is `PointInTimeRestore`, `GeoRestore`, and `Replica`. Changing this forces a new MySQL Flexible Server to be created.\n\n\u003e **Note:** The replica server is always created in the same resource group and subscription as the source server.\n"},"storage":{"$ref":"#/types/azure:mysql/FlexibleServerStorage:FlexibleServerStorage","description":"A \u003cspan pulumi-lang-nodejs=\"`storage`\" pulumi-lang-dotnet=\"`Storage`\" pulumi-lang-go=\"`storage`\" pulumi-lang-python=\"`storage`\" pulumi-lang-yaml=\"`storage`\" pulumi-lang-java=\"`storage`\"\u003e`storage`\u003c/span\u003e block as defined below.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the MySQL Flexible Server.\n"},"version":{"type":"string","description":"The version of the MySQL Flexible Server to use. Possible values are `5.7`, `8.0.21` and `8.4`.\n"},"zone":{"type":"string","description":"Specifies the Availability Zone in which this MySQL Flexible Server should be located. Possible values are \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e.\n\n\u003e **Note:** Azure will automatically assign an Availability Zone if one is not specified. If the MySQL Flexible Server fails-over to the Standby Availability Zone, the \u003cspan pulumi-lang-nodejs=\"`zone`\" pulumi-lang-dotnet=\"`Zone`\" pulumi-lang-go=\"`zone`\" pulumi-lang-python=\"`zone`\" pulumi-lang-yaml=\"`zone`\" pulumi-lang-java=\"`zone`\"\u003e`zone`\u003c/span\u003e will be updated to reflect the current Primary Availability Zone. You can use Terraform's \u003cspan pulumi-lang-nodejs=\"`ignoreChanges`\" pulumi-lang-dotnet=\"`IgnoreChanges`\" pulumi-lang-go=\"`ignoreChanges`\" pulumi-lang-python=\"`ignore_changes`\" pulumi-lang-yaml=\"`ignoreChanges`\" pulumi-lang-java=\"`ignoreChanges`\"\u003e`ignore_changes`\u003c/span\u003e functionality to ignore changes to the \u003cspan pulumi-lang-nodejs=\"`zone`\" pulumi-lang-dotnet=\"`Zone`\" pulumi-lang-go=\"`zone`\" pulumi-lang-python=\"`zone`\" pulumi-lang-yaml=\"`zone`\" pulumi-lang-java=\"`zone`\"\u003e`zone`\u003c/span\u003e and `high_availability[0].standby_availability_zone` fields should you wish for Terraform to not migrate the MySQL Flexible Server back to it's primary Availability Zone after a fail-over.\n\n\u003e **Note:** The Availability Zones available depend on the Azure Region that the MySQL Flexible Server is being deployed into - see [the Azure Availability Zones documentation](https://azure.microsoft.com/global-infrastructure/geographies/#geographies) for more information on which Availability Zones are available in each Azure Region.\n"}},"required":["administratorLogin","fqdn","location","name","publicNetworkAccess","publicNetworkAccessEnabled","replicaCapacity","replicationRole","resourceGroupName","skuName","storage","version","zone"],"inputProperties":{"administratorLogin":{"type":"string","description":"The Administrator login for the MySQL Flexible Server. Required when \u003cspan pulumi-lang-nodejs=\"`createMode`\" pulumi-lang-dotnet=\"`CreateMode`\" pulumi-lang-go=\"`createMode`\" pulumi-lang-python=\"`create_mode`\" pulumi-lang-yaml=\"`createMode`\" pulumi-lang-java=\"`createMode`\"\u003e`create_mode`\u003c/span\u003e is `Default`. Changing this forces a new MySQL Flexible Server to be created.\n","willReplaceOnChanges":true},"administratorPassword":{"type":"string","description":"The Password associated with the \u003cspan pulumi-lang-nodejs=\"`administratorLogin`\" pulumi-lang-dotnet=\"`AdministratorLogin`\" pulumi-lang-go=\"`administratorLogin`\" pulumi-lang-python=\"`administrator_login`\" pulumi-lang-yaml=\"`administratorLogin`\" pulumi-lang-java=\"`administratorLogin`\"\u003e`administrator_login`\u003c/span\u003e for the MySQL Flexible Server.\n","secret":true},"administratorPasswordWoVersion":{"type":"integer","description":"An integer value used to trigger an update for \u003cspan pulumi-lang-nodejs=\"`administratorPasswordWo`\" pulumi-lang-dotnet=\"`AdministratorPasswordWo`\" pulumi-lang-go=\"`administratorPasswordWo`\" pulumi-lang-python=\"`administrator_password_wo`\" pulumi-lang-yaml=\"`administratorPasswordWo`\" pulumi-lang-java=\"`administratorPasswordWo`\"\u003e`administrator_password_wo`\u003c/span\u003e. This property should be incremented when updating \u003cspan pulumi-lang-nodejs=\"`administratorPasswordWo`\" pulumi-lang-dotnet=\"`AdministratorPasswordWo`\" pulumi-lang-go=\"`administratorPasswordWo`\" pulumi-lang-python=\"`administrator_password_wo`\" pulumi-lang-yaml=\"`administratorPasswordWo`\" pulumi-lang-java=\"`administratorPasswordWo`\"\u003e`administrator_password_wo`\u003c/span\u003e.\n\n\u003e **Note:** Either \u003cspan pulumi-lang-nodejs=\"`administratorPassword`\" pulumi-lang-dotnet=\"`AdministratorPassword`\" pulumi-lang-go=\"`administratorPassword`\" pulumi-lang-python=\"`administrator_password`\" pulumi-lang-yaml=\"`administratorPassword`\" pulumi-lang-java=\"`administratorPassword`\"\u003e`administrator_password`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`administratorPasswordWo`\" pulumi-lang-dotnet=\"`AdministratorPasswordWo`\" pulumi-lang-go=\"`administratorPasswordWo`\" pulumi-lang-python=\"`administrator_password_wo`\" pulumi-lang-yaml=\"`administratorPasswordWo`\" pulumi-lang-java=\"`administratorPasswordWo`\"\u003e`administrator_password_wo`\u003c/span\u003e is required when \u003cspan pulumi-lang-nodejs=\"`createMode`\" pulumi-lang-dotnet=\"`CreateMode`\" pulumi-lang-go=\"`createMode`\" pulumi-lang-python=\"`create_mode`\" pulumi-lang-yaml=\"`createMode`\" pulumi-lang-java=\"`createMode`\"\u003e`create_mode`\u003c/span\u003e is `Default`.\n"},"backupRetentionDays":{"type":"integer","description":"The backup retention days for the MySQL Flexible Server. Possible values are between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`35`\" pulumi-lang-dotnet=\"`35`\" pulumi-lang-go=\"`35`\" pulumi-lang-python=\"`35`\" pulumi-lang-yaml=\"`35`\" pulumi-lang-java=\"`35`\"\u003e`35`\u003c/span\u003e days. Defaults to \u003cspan pulumi-lang-nodejs=\"`7`\" pulumi-lang-dotnet=\"`7`\" pulumi-lang-go=\"`7`\" pulumi-lang-python=\"`7`\" pulumi-lang-yaml=\"`7`\" pulumi-lang-java=\"`7`\"\u003e`7`\u003c/span\u003e.\n"},"createMode":{"type":"string","description":"The creation mode which can be used to restore or replicate existing servers. Possible values are `Default`, `PointInTimeRestore`, `GeoRestore`, and `Replica`. Changing this forces a new MySQL Flexible Server to be created.\n\n\u003e **Note:** Creating a `GeoRestore` server requires the source server with \u003cspan pulumi-lang-nodejs=\"`geoRedundantBackupEnabled`\" pulumi-lang-dotnet=\"`GeoRedundantBackupEnabled`\" pulumi-lang-go=\"`geoRedundantBackupEnabled`\" pulumi-lang-python=\"`geo_redundant_backup_enabled`\" pulumi-lang-yaml=\"`geoRedundantBackupEnabled`\" pulumi-lang-java=\"`geoRedundantBackupEnabled`\"\u003e`geo_redundant_backup_enabled`\u003c/span\u003e enabled.\n\n\u003e **Note:** When a server is first created it may not be immediately available for `geo restore` or \u003cspan pulumi-lang-nodejs=\"`replica`\" pulumi-lang-dotnet=\"`Replica`\" pulumi-lang-go=\"`replica`\" pulumi-lang-python=\"`replica`\" pulumi-lang-yaml=\"`replica`\" pulumi-lang-java=\"`replica`\"\u003e`replica`\u003c/span\u003e. It may take a few minutes to several hours for the necessary metadata to be populated. Please see the [Geo Restore](https://learn.microsoft.com/azure/mysql/single-server/how-to-restore-server-portal#geo-restore) and the [Replica](https://learn.microsoft.com/azure/mysql/flexible-server/concepts-read-replicas#create-a-replica) for more information.\n\n\u003e **Note:** When importing a MySQL Flexible Server, \u003cspan pulumi-lang-nodejs=\"`createMode`\" pulumi-lang-dotnet=\"`CreateMode`\" pulumi-lang-go=\"`createMode`\" pulumi-lang-python=\"`create_mode`\" pulumi-lang-yaml=\"`createMode`\" pulumi-lang-java=\"`createMode`\"\u003e`create_mode`\u003c/span\u003e is not returned by the api so you will see a diff if \u003cspan pulumi-lang-nodejs=\"`createMode`\" pulumi-lang-dotnet=\"`CreateMode`\" pulumi-lang-go=\"`createMode`\" pulumi-lang-python=\"`create_mode`\" pulumi-lang-yaml=\"`createMode`\" pulumi-lang-java=\"`createMode`\"\u003e`create_mode`\u003c/span\u003e is specified in your config. To prevent recreation, use the \u003cspan pulumi-lang-nodejs=\"`ignoreChanges`\" pulumi-lang-dotnet=\"`IgnoreChanges`\" pulumi-lang-go=\"`ignoreChanges`\" pulumi-lang-python=\"`ignore_changes`\" pulumi-lang-yaml=\"`ignoreChanges`\" pulumi-lang-java=\"`ignoreChanges`\"\u003e`ignore_changes`\u003c/span\u003e lifecycle meta-argument.\n","willReplaceOnChanges":true},"customerManagedKey":{"$ref":"#/types/azure:mysql/FlexibleServerCustomerManagedKey:FlexibleServerCustomerManagedKey","description":"A \u003cspan pulumi-lang-nodejs=\"`customerManagedKey`\" pulumi-lang-dotnet=\"`CustomerManagedKey`\" pulumi-lang-go=\"`customerManagedKey`\" pulumi-lang-python=\"`customer_managed_key`\" pulumi-lang-yaml=\"`customerManagedKey`\" pulumi-lang-java=\"`customerManagedKey`\"\u003e`customer_managed_key`\u003c/span\u003e block as defined below.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e is required when \u003cspan pulumi-lang-nodejs=\"`customerManagedKey`\" pulumi-lang-dotnet=\"`CustomerManagedKey`\" pulumi-lang-go=\"`customerManagedKey`\" pulumi-lang-python=\"`customer_managed_key`\" pulumi-lang-yaml=\"`customerManagedKey`\" pulumi-lang-java=\"`customerManagedKey`\"\u003e`customer_managed_key`\u003c/span\u003e is specified.\n"},"delegatedSubnetId":{"type":"string","description":"The ID of the virtual network subnet to create the MySQL Flexible Server. Changing this forces a new MySQL Flexible Server to be created.\n","willReplaceOnChanges":true},"geoRedundantBackupEnabled":{"type":"boolean","description":"Should geo redundant backup enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Changing this forces a new MySQL Flexible Server to be created.\n","willReplaceOnChanges":true},"highAvailability":{"$ref":"#/types/azure:mysql/FlexibleServerHighAvailability:FlexibleServerHighAvailability","description":"A \u003cspan pulumi-lang-nodejs=\"`highAvailability`\" pulumi-lang-dotnet=\"`HighAvailability`\" pulumi-lang-go=\"`highAvailability`\" pulumi-lang-python=\"`high_availability`\" pulumi-lang-yaml=\"`highAvailability`\" pulumi-lang-java=\"`highAvailability`\"\u003e`high_availability`\u003c/span\u003e block as defined below.\n"},"identity":{"$ref":"#/types/azure:mysql/FlexibleServerIdentity:FlexibleServerIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"location":{"type":"string","description":"The Azure Region where the MySQL Flexible Server should exist. Changing this forces a new MySQL Flexible Server to be created.\n","willReplaceOnChanges":true},"maintenanceWindow":{"$ref":"#/types/azure:mysql/FlexibleServerMaintenanceWindow:FlexibleServerMaintenanceWindow","description":"A \u003cspan pulumi-lang-nodejs=\"`maintenanceWindow`\" pulumi-lang-dotnet=\"`MaintenanceWindow`\" pulumi-lang-go=\"`maintenanceWindow`\" pulumi-lang-python=\"`maintenance_window`\" pulumi-lang-yaml=\"`maintenanceWindow`\" pulumi-lang-java=\"`maintenanceWindow`\"\u003e`maintenance_window`\u003c/span\u003e block as defined below.\n"},"name":{"type":"string","description":"The name which should be used for this MySQL Flexible Server. Changing this forces a new MySQL Flexible Server to be created.\n","willReplaceOnChanges":true},"pointInTimeRestoreTimeInUtc":{"type":"string","description":"The point in time to restore from \u003cspan pulumi-lang-nodejs=\"`creationSourceServerId`\" pulumi-lang-dotnet=\"`CreationSourceServerId`\" pulumi-lang-go=\"`creationSourceServerId`\" pulumi-lang-python=\"`creation_source_server_id`\" pulumi-lang-yaml=\"`creationSourceServerId`\" pulumi-lang-java=\"`creationSourceServerId`\"\u003e`creation_source_server_id`\u003c/span\u003e when \u003cspan pulumi-lang-nodejs=\"`createMode`\" pulumi-lang-dotnet=\"`CreateMode`\" pulumi-lang-go=\"`createMode`\" pulumi-lang-python=\"`create_mode`\" pulumi-lang-yaml=\"`createMode`\" pulumi-lang-java=\"`createMode`\"\u003e`create_mode`\u003c/span\u003e is `PointInTimeRestore`. Changing this forces a new MySQL Flexible Server to be created.\n","willReplaceOnChanges":true},"privateDnsZoneId":{"type":"string","description":"The ID of the private DNS zone to create the MySQL Flexible Server. Changing this forces a new MySQL Flexible Server to be created.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`privateDnsZoneId`\" pulumi-lang-dotnet=\"`PrivateDnsZoneId`\" pulumi-lang-go=\"`privateDnsZoneId`\" pulumi-lang-python=\"`private_dns_zone_id`\" pulumi-lang-yaml=\"`privateDnsZoneId`\" pulumi-lang-java=\"`privateDnsZoneId`\"\u003e`private_dns_zone_id`\u003c/span\u003e is required when setting a \u003cspan pulumi-lang-nodejs=\"`delegatedSubnetId`\" pulumi-lang-dotnet=\"`DelegatedSubnetId`\" pulumi-lang-go=\"`delegatedSubnetId`\" pulumi-lang-python=\"`delegated_subnet_id`\" pulumi-lang-yaml=\"`delegatedSubnetId`\" pulumi-lang-java=\"`delegatedSubnetId`\"\u003e`delegated_subnet_id`\u003c/span\u003e. The \u003cspan pulumi-lang-nodejs=\"`azure.privatedns.Zone`\" pulumi-lang-dotnet=\"`azure.privatedns.Zone`\" pulumi-lang-go=\"`privatedns.Zone`\" pulumi-lang-python=\"`privatedns.Zone`\" pulumi-lang-yaml=\"`azure.privatedns.Zone`\" pulumi-lang-java=\"`azure.privatedns.Zone`\"\u003e`azure.privatedns.Zone`\u003c/span\u003e should end with suffix `.mysql.database.azure.com`.\n","willReplaceOnChanges":true},"publicNetworkAccess":{"type":"string","description":"Whether approved public traffic is allowed through the firewall to this server. Possible values are `Enabled` and `Disabled`.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`publicNetworkAccess`\" pulumi-lang-dotnet=\"`PublicNetworkAccess`\" pulumi-lang-go=\"`publicNetworkAccess`\" pulumi-lang-python=\"`public_network_access`\" pulumi-lang-yaml=\"`publicNetworkAccess`\" pulumi-lang-java=\"`publicNetworkAccess`\"\u003e`public_network_access`\u003c/span\u003e is automatically set to `Disabled` if the server is created with VNet Integration (i.e. values are provided for \u003cspan pulumi-lang-nodejs=\"`delegatedSubnetId`\" pulumi-lang-dotnet=\"`DelegatedSubnetId`\" pulumi-lang-go=\"`delegatedSubnetId`\" pulumi-lang-python=\"`delegated_subnet_id`\" pulumi-lang-yaml=\"`delegatedSubnetId`\" pulumi-lang-java=\"`delegatedSubnetId`\"\u003e`delegated_subnet_id`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`privateDnsZoneId`\" pulumi-lang-dotnet=\"`PrivateDnsZoneId`\" pulumi-lang-go=\"`privateDnsZoneId`\" pulumi-lang-python=\"`private_dns_zone_id`\" pulumi-lang-yaml=\"`privateDnsZoneId`\" pulumi-lang-java=\"`privateDnsZoneId`\"\u003e`private_dns_zone_id`\u003c/span\u003e\").\n"},"replicationRole":{"type":"string","description":"The replication role. Possible value is `None`.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`replicationRole`\" pulumi-lang-dotnet=\"`ReplicationRole`\" pulumi-lang-go=\"`replicationRole`\" pulumi-lang-python=\"`replication_role`\" pulumi-lang-yaml=\"`replicationRole`\" pulumi-lang-java=\"`replicationRole`\"\u003e`replication_role`\u003c/span\u003e cannot be set while creating and only can be updated from `Replica` to `None`.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the MySQL Flexible Server should exist. Changing this forces a new MySQL Flexible Server to be created.\n","willReplaceOnChanges":true},"skuName":{"type":"string","description":"The SKU Name for the MySQL Flexible Server.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`skuName`\" pulumi-lang-dotnet=\"`SkuName`\" pulumi-lang-go=\"`skuName`\" pulumi-lang-python=\"`sku_name`\" pulumi-lang-yaml=\"`skuName`\" pulumi-lang-java=\"`skuName`\"\u003e`sku_name`\u003c/span\u003e should start with SKU tier `B (Burstable)`, `GP (General Purpose)`, `MO (Memory Optimized)` like `B_Standard_B1ms`.\n"},"sourceServerId":{"type":"string","description":"The resource ID of the source MySQL Flexible Server to be restored. Required when \u003cspan pulumi-lang-nodejs=\"`createMode`\" pulumi-lang-dotnet=\"`CreateMode`\" pulumi-lang-go=\"`createMode`\" pulumi-lang-python=\"`create_mode`\" pulumi-lang-yaml=\"`createMode`\" pulumi-lang-java=\"`createMode`\"\u003e`create_mode`\u003c/span\u003e is `PointInTimeRestore`, `GeoRestore`, and `Replica`. Changing this forces a new MySQL Flexible Server to be created.\n\n\u003e **Note:** The replica server is always created in the same resource group and subscription as the source server.\n","willReplaceOnChanges":true},"storage":{"$ref":"#/types/azure:mysql/FlexibleServerStorage:FlexibleServerStorage","description":"A \u003cspan pulumi-lang-nodejs=\"`storage`\" pulumi-lang-dotnet=\"`Storage`\" pulumi-lang-go=\"`storage`\" pulumi-lang-python=\"`storage`\" pulumi-lang-yaml=\"`storage`\" pulumi-lang-java=\"`storage`\"\u003e`storage`\u003c/span\u003e block as defined below.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the MySQL Flexible Server.\n"},"version":{"type":"string","description":"The version of the MySQL Flexible Server to use. Possible values are `5.7`, `8.0.21` and `8.4`.\n"},"zone":{"type":"string","description":"Specifies the Availability Zone in which this MySQL Flexible Server should be located. Possible values are \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e.\n\n\u003e **Note:** Azure will automatically assign an Availability Zone if one is not specified. If the MySQL Flexible Server fails-over to the Standby Availability Zone, the \u003cspan pulumi-lang-nodejs=\"`zone`\" pulumi-lang-dotnet=\"`Zone`\" pulumi-lang-go=\"`zone`\" pulumi-lang-python=\"`zone`\" pulumi-lang-yaml=\"`zone`\" pulumi-lang-java=\"`zone`\"\u003e`zone`\u003c/span\u003e will be updated to reflect the current Primary Availability Zone. You can use Terraform's \u003cspan pulumi-lang-nodejs=\"`ignoreChanges`\" pulumi-lang-dotnet=\"`IgnoreChanges`\" pulumi-lang-go=\"`ignoreChanges`\" pulumi-lang-python=\"`ignore_changes`\" pulumi-lang-yaml=\"`ignoreChanges`\" pulumi-lang-java=\"`ignoreChanges`\"\u003e`ignore_changes`\u003c/span\u003e functionality to ignore changes to the \u003cspan pulumi-lang-nodejs=\"`zone`\" pulumi-lang-dotnet=\"`Zone`\" pulumi-lang-go=\"`zone`\" pulumi-lang-python=\"`zone`\" pulumi-lang-yaml=\"`zone`\" pulumi-lang-java=\"`zone`\"\u003e`zone`\u003c/span\u003e and `high_availability[0].standby_availability_zone` fields should you wish for Terraform to not migrate the MySQL Flexible Server back to it's primary Availability Zone after a fail-over.\n\n\u003e **Note:** The Availability Zones available depend on the Azure Region that the MySQL Flexible Server is being deployed into - see [the Azure Availability Zones documentation](https://azure.microsoft.com/global-infrastructure/geographies/#geographies) for more information on which Availability Zones are available in each Azure Region.\n"}},"requiredInputs":["resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering FlexibleServer resources.\n","properties":{"administratorLogin":{"type":"string","description":"The Administrator login for the MySQL Flexible Server. Required when \u003cspan pulumi-lang-nodejs=\"`createMode`\" pulumi-lang-dotnet=\"`CreateMode`\" pulumi-lang-go=\"`createMode`\" pulumi-lang-python=\"`create_mode`\" pulumi-lang-yaml=\"`createMode`\" pulumi-lang-java=\"`createMode`\"\u003e`create_mode`\u003c/span\u003e is `Default`. Changing this forces a new MySQL Flexible Server to be created.\n","willReplaceOnChanges":true},"administratorPassword":{"type":"string","description":"The Password associated with the \u003cspan pulumi-lang-nodejs=\"`administratorLogin`\" pulumi-lang-dotnet=\"`AdministratorLogin`\" pulumi-lang-go=\"`administratorLogin`\" pulumi-lang-python=\"`administrator_login`\" pulumi-lang-yaml=\"`administratorLogin`\" pulumi-lang-java=\"`administratorLogin`\"\u003e`administrator_login`\u003c/span\u003e for the MySQL Flexible Server.\n","secret":true},"administratorPasswordWoVersion":{"type":"integer","description":"An integer value used to trigger an update for \u003cspan pulumi-lang-nodejs=\"`administratorPasswordWo`\" pulumi-lang-dotnet=\"`AdministratorPasswordWo`\" pulumi-lang-go=\"`administratorPasswordWo`\" pulumi-lang-python=\"`administrator_password_wo`\" pulumi-lang-yaml=\"`administratorPasswordWo`\" pulumi-lang-java=\"`administratorPasswordWo`\"\u003e`administrator_password_wo`\u003c/span\u003e. This property should be incremented when updating \u003cspan pulumi-lang-nodejs=\"`administratorPasswordWo`\" pulumi-lang-dotnet=\"`AdministratorPasswordWo`\" pulumi-lang-go=\"`administratorPasswordWo`\" pulumi-lang-python=\"`administrator_password_wo`\" pulumi-lang-yaml=\"`administratorPasswordWo`\" pulumi-lang-java=\"`administratorPasswordWo`\"\u003e`administrator_password_wo`\u003c/span\u003e.\n\n\u003e **Note:** Either \u003cspan pulumi-lang-nodejs=\"`administratorPassword`\" pulumi-lang-dotnet=\"`AdministratorPassword`\" pulumi-lang-go=\"`administratorPassword`\" pulumi-lang-python=\"`administrator_password`\" pulumi-lang-yaml=\"`administratorPassword`\" pulumi-lang-java=\"`administratorPassword`\"\u003e`administrator_password`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`administratorPasswordWo`\" pulumi-lang-dotnet=\"`AdministratorPasswordWo`\" pulumi-lang-go=\"`administratorPasswordWo`\" pulumi-lang-python=\"`administrator_password_wo`\" pulumi-lang-yaml=\"`administratorPasswordWo`\" pulumi-lang-java=\"`administratorPasswordWo`\"\u003e`administrator_password_wo`\u003c/span\u003e is required when \u003cspan pulumi-lang-nodejs=\"`createMode`\" pulumi-lang-dotnet=\"`CreateMode`\" pulumi-lang-go=\"`createMode`\" pulumi-lang-python=\"`create_mode`\" pulumi-lang-yaml=\"`createMode`\" pulumi-lang-java=\"`createMode`\"\u003e`create_mode`\u003c/span\u003e is `Default`.\n"},"backupRetentionDays":{"type":"integer","description":"The backup retention days for the MySQL Flexible Server. Possible values are between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`35`\" pulumi-lang-dotnet=\"`35`\" pulumi-lang-go=\"`35`\" pulumi-lang-python=\"`35`\" pulumi-lang-yaml=\"`35`\" pulumi-lang-java=\"`35`\"\u003e`35`\u003c/span\u003e days. Defaults to \u003cspan pulumi-lang-nodejs=\"`7`\" pulumi-lang-dotnet=\"`7`\" pulumi-lang-go=\"`7`\" pulumi-lang-python=\"`7`\" pulumi-lang-yaml=\"`7`\" pulumi-lang-java=\"`7`\"\u003e`7`\u003c/span\u003e.\n"},"createMode":{"type":"string","description":"The creation mode which can be used to restore or replicate existing servers. Possible values are `Default`, `PointInTimeRestore`, `GeoRestore`, and `Replica`. Changing this forces a new MySQL Flexible Server to be created.\n\n\u003e **Note:** Creating a `GeoRestore` server requires the source server with \u003cspan pulumi-lang-nodejs=\"`geoRedundantBackupEnabled`\" pulumi-lang-dotnet=\"`GeoRedundantBackupEnabled`\" pulumi-lang-go=\"`geoRedundantBackupEnabled`\" pulumi-lang-python=\"`geo_redundant_backup_enabled`\" pulumi-lang-yaml=\"`geoRedundantBackupEnabled`\" pulumi-lang-java=\"`geoRedundantBackupEnabled`\"\u003e`geo_redundant_backup_enabled`\u003c/span\u003e enabled.\n\n\u003e **Note:** When a server is first created it may not be immediately available for `geo restore` or \u003cspan pulumi-lang-nodejs=\"`replica`\" pulumi-lang-dotnet=\"`Replica`\" pulumi-lang-go=\"`replica`\" pulumi-lang-python=\"`replica`\" pulumi-lang-yaml=\"`replica`\" pulumi-lang-java=\"`replica`\"\u003e`replica`\u003c/span\u003e. It may take a few minutes to several hours for the necessary metadata to be populated. Please see the [Geo Restore](https://learn.microsoft.com/azure/mysql/single-server/how-to-restore-server-portal#geo-restore) and the [Replica](https://learn.microsoft.com/azure/mysql/flexible-server/concepts-read-replicas#create-a-replica) for more information.\n\n\u003e **Note:** When importing a MySQL Flexible Server, \u003cspan pulumi-lang-nodejs=\"`createMode`\" pulumi-lang-dotnet=\"`CreateMode`\" pulumi-lang-go=\"`createMode`\" pulumi-lang-python=\"`create_mode`\" pulumi-lang-yaml=\"`createMode`\" pulumi-lang-java=\"`createMode`\"\u003e`create_mode`\u003c/span\u003e is not returned by the api so you will see a diff if \u003cspan pulumi-lang-nodejs=\"`createMode`\" pulumi-lang-dotnet=\"`CreateMode`\" pulumi-lang-go=\"`createMode`\" pulumi-lang-python=\"`create_mode`\" pulumi-lang-yaml=\"`createMode`\" pulumi-lang-java=\"`createMode`\"\u003e`create_mode`\u003c/span\u003e is specified in your config. To prevent recreation, use the \u003cspan pulumi-lang-nodejs=\"`ignoreChanges`\" pulumi-lang-dotnet=\"`IgnoreChanges`\" pulumi-lang-go=\"`ignoreChanges`\" pulumi-lang-python=\"`ignore_changes`\" pulumi-lang-yaml=\"`ignoreChanges`\" pulumi-lang-java=\"`ignoreChanges`\"\u003e`ignore_changes`\u003c/span\u003e lifecycle meta-argument.\n","willReplaceOnChanges":true},"customerManagedKey":{"$ref":"#/types/azure:mysql/FlexibleServerCustomerManagedKey:FlexibleServerCustomerManagedKey","description":"A \u003cspan pulumi-lang-nodejs=\"`customerManagedKey`\" pulumi-lang-dotnet=\"`CustomerManagedKey`\" pulumi-lang-go=\"`customerManagedKey`\" pulumi-lang-python=\"`customer_managed_key`\" pulumi-lang-yaml=\"`customerManagedKey`\" pulumi-lang-java=\"`customerManagedKey`\"\u003e`customer_managed_key`\u003c/span\u003e block as defined below.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e is required when \u003cspan pulumi-lang-nodejs=\"`customerManagedKey`\" pulumi-lang-dotnet=\"`CustomerManagedKey`\" pulumi-lang-go=\"`customerManagedKey`\" pulumi-lang-python=\"`customer_managed_key`\" pulumi-lang-yaml=\"`customerManagedKey`\" pulumi-lang-java=\"`customerManagedKey`\"\u003e`customer_managed_key`\u003c/span\u003e is specified.\n"},"delegatedSubnetId":{"type":"string","description":"The ID of the virtual network subnet to create the MySQL Flexible Server. Changing this forces a new MySQL Flexible Server to be created.\n","willReplaceOnChanges":true},"fqdn":{"type":"string","description":"The fully qualified domain name of the MySQL Flexible Server.\n"},"geoRedundantBackupEnabled":{"type":"boolean","description":"Should geo redundant backup enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Changing this forces a new MySQL Flexible Server to be created.\n","willReplaceOnChanges":true},"highAvailability":{"$ref":"#/types/azure:mysql/FlexibleServerHighAvailability:FlexibleServerHighAvailability","description":"A \u003cspan pulumi-lang-nodejs=\"`highAvailability`\" pulumi-lang-dotnet=\"`HighAvailability`\" pulumi-lang-go=\"`highAvailability`\" pulumi-lang-python=\"`high_availability`\" pulumi-lang-yaml=\"`highAvailability`\" pulumi-lang-java=\"`highAvailability`\"\u003e`high_availability`\u003c/span\u003e block as defined below.\n"},"identity":{"$ref":"#/types/azure:mysql/FlexibleServerIdentity:FlexibleServerIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"location":{"type":"string","description":"The Azure Region where the MySQL Flexible Server should exist. Changing this forces a new MySQL Flexible Server to be created.\n","willReplaceOnChanges":true},"maintenanceWindow":{"$ref":"#/types/azure:mysql/FlexibleServerMaintenanceWindow:FlexibleServerMaintenanceWindow","description":"A \u003cspan pulumi-lang-nodejs=\"`maintenanceWindow`\" pulumi-lang-dotnet=\"`MaintenanceWindow`\" pulumi-lang-go=\"`maintenanceWindow`\" pulumi-lang-python=\"`maintenance_window`\" pulumi-lang-yaml=\"`maintenanceWindow`\" pulumi-lang-java=\"`maintenanceWindow`\"\u003e`maintenance_window`\u003c/span\u003e block as defined below.\n"},"name":{"type":"string","description":"The name which should be used for this MySQL Flexible Server. Changing this forces a new MySQL Flexible Server to be created.\n","willReplaceOnChanges":true},"pointInTimeRestoreTimeInUtc":{"type":"string","description":"The point in time to restore from \u003cspan pulumi-lang-nodejs=\"`creationSourceServerId`\" pulumi-lang-dotnet=\"`CreationSourceServerId`\" pulumi-lang-go=\"`creationSourceServerId`\" pulumi-lang-python=\"`creation_source_server_id`\" pulumi-lang-yaml=\"`creationSourceServerId`\" pulumi-lang-java=\"`creationSourceServerId`\"\u003e`creation_source_server_id`\u003c/span\u003e when \u003cspan pulumi-lang-nodejs=\"`createMode`\" pulumi-lang-dotnet=\"`CreateMode`\" pulumi-lang-go=\"`createMode`\" pulumi-lang-python=\"`create_mode`\" pulumi-lang-yaml=\"`createMode`\" pulumi-lang-java=\"`createMode`\"\u003e`create_mode`\u003c/span\u003e is `PointInTimeRestore`. Changing this forces a new MySQL Flexible Server to be created.\n","willReplaceOnChanges":true},"privateDnsZoneId":{"type":"string","description":"The ID of the private DNS zone to create the MySQL Flexible Server. Changing this forces a new MySQL Flexible Server to be created.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`privateDnsZoneId`\" pulumi-lang-dotnet=\"`PrivateDnsZoneId`\" pulumi-lang-go=\"`privateDnsZoneId`\" pulumi-lang-python=\"`private_dns_zone_id`\" pulumi-lang-yaml=\"`privateDnsZoneId`\" pulumi-lang-java=\"`privateDnsZoneId`\"\u003e`private_dns_zone_id`\u003c/span\u003e is required when setting a \u003cspan pulumi-lang-nodejs=\"`delegatedSubnetId`\" pulumi-lang-dotnet=\"`DelegatedSubnetId`\" pulumi-lang-go=\"`delegatedSubnetId`\" pulumi-lang-python=\"`delegated_subnet_id`\" pulumi-lang-yaml=\"`delegatedSubnetId`\" pulumi-lang-java=\"`delegatedSubnetId`\"\u003e`delegated_subnet_id`\u003c/span\u003e. The \u003cspan pulumi-lang-nodejs=\"`azure.privatedns.Zone`\" pulumi-lang-dotnet=\"`azure.privatedns.Zone`\" pulumi-lang-go=\"`privatedns.Zone`\" pulumi-lang-python=\"`privatedns.Zone`\" pulumi-lang-yaml=\"`azure.privatedns.Zone`\" pulumi-lang-java=\"`azure.privatedns.Zone`\"\u003e`azure.privatedns.Zone`\u003c/span\u003e should end with suffix `.mysql.database.azure.com`.\n","willReplaceOnChanges":true},"publicNetworkAccess":{"type":"string","description":"Whether approved public traffic is allowed through the firewall to this server. Possible values are `Enabled` and `Disabled`.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`publicNetworkAccess`\" pulumi-lang-dotnet=\"`PublicNetworkAccess`\" pulumi-lang-go=\"`publicNetworkAccess`\" pulumi-lang-python=\"`public_network_access`\" pulumi-lang-yaml=\"`publicNetworkAccess`\" pulumi-lang-java=\"`publicNetworkAccess`\"\u003e`public_network_access`\u003c/span\u003e is automatically set to `Disabled` if the server is created with VNet Integration (i.e. values are provided for \u003cspan pulumi-lang-nodejs=\"`delegatedSubnetId`\" pulumi-lang-dotnet=\"`DelegatedSubnetId`\" pulumi-lang-go=\"`delegatedSubnetId`\" pulumi-lang-python=\"`delegated_subnet_id`\" pulumi-lang-yaml=\"`delegatedSubnetId`\" pulumi-lang-java=\"`delegatedSubnetId`\"\u003e`delegated_subnet_id`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`privateDnsZoneId`\" pulumi-lang-dotnet=\"`PrivateDnsZoneId`\" pulumi-lang-go=\"`privateDnsZoneId`\" pulumi-lang-python=\"`private_dns_zone_id`\" pulumi-lang-yaml=\"`privateDnsZoneId`\" pulumi-lang-java=\"`privateDnsZoneId`\"\u003e`private_dns_zone_id`\u003c/span\u003e\").\n"},"publicNetworkAccessEnabled":{"type":"boolean"},"replicaCapacity":{"type":"integer","description":"The maximum number of replicas that a primary MySQL Flexible Server can have.\n"},"replicationRole":{"type":"string","description":"The replication role. Possible value is `None`.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`replicationRole`\" pulumi-lang-dotnet=\"`ReplicationRole`\" pulumi-lang-go=\"`replicationRole`\" pulumi-lang-python=\"`replication_role`\" pulumi-lang-yaml=\"`replicationRole`\" pulumi-lang-java=\"`replicationRole`\"\u003e`replication_role`\u003c/span\u003e cannot be set while creating and only can be updated from `Replica` to `None`.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the MySQL Flexible Server should exist. Changing this forces a new MySQL Flexible Server to be created.\n","willReplaceOnChanges":true},"skuName":{"type":"string","description":"The SKU Name for the MySQL Flexible Server.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`skuName`\" pulumi-lang-dotnet=\"`SkuName`\" pulumi-lang-go=\"`skuName`\" pulumi-lang-python=\"`sku_name`\" pulumi-lang-yaml=\"`skuName`\" pulumi-lang-java=\"`skuName`\"\u003e`sku_name`\u003c/span\u003e should start with SKU tier `B (Burstable)`, `GP (General Purpose)`, `MO (Memory Optimized)` like `B_Standard_B1ms`.\n"},"sourceServerId":{"type":"string","description":"The resource ID of the source MySQL Flexible Server to be restored. Required when \u003cspan pulumi-lang-nodejs=\"`createMode`\" pulumi-lang-dotnet=\"`CreateMode`\" pulumi-lang-go=\"`createMode`\" pulumi-lang-python=\"`create_mode`\" pulumi-lang-yaml=\"`createMode`\" pulumi-lang-java=\"`createMode`\"\u003e`create_mode`\u003c/span\u003e is `PointInTimeRestore`, `GeoRestore`, and `Replica`. Changing this forces a new MySQL Flexible Server to be created.\n\n\u003e **Note:** The replica server is always created in the same resource group and subscription as the source server.\n","willReplaceOnChanges":true},"storage":{"$ref":"#/types/azure:mysql/FlexibleServerStorage:FlexibleServerStorage","description":"A \u003cspan pulumi-lang-nodejs=\"`storage`\" pulumi-lang-dotnet=\"`Storage`\" pulumi-lang-go=\"`storage`\" pulumi-lang-python=\"`storage`\" pulumi-lang-yaml=\"`storage`\" pulumi-lang-java=\"`storage`\"\u003e`storage`\u003c/span\u003e block as defined below.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the MySQL Flexible Server.\n"},"version":{"type":"string","description":"The version of the MySQL Flexible Server to use. Possible values are `5.7`, `8.0.21` and `8.4`.\n"},"zone":{"type":"string","description":"Specifies the Availability Zone in which this MySQL Flexible Server should be located. Possible values are \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e.\n\n\u003e **Note:** Azure will automatically assign an Availability Zone if one is not specified. If the MySQL Flexible Server fails-over to the Standby Availability Zone, the \u003cspan pulumi-lang-nodejs=\"`zone`\" pulumi-lang-dotnet=\"`Zone`\" pulumi-lang-go=\"`zone`\" pulumi-lang-python=\"`zone`\" pulumi-lang-yaml=\"`zone`\" pulumi-lang-java=\"`zone`\"\u003e`zone`\u003c/span\u003e will be updated to reflect the current Primary Availability Zone. You can use Terraform's \u003cspan pulumi-lang-nodejs=\"`ignoreChanges`\" pulumi-lang-dotnet=\"`IgnoreChanges`\" pulumi-lang-go=\"`ignoreChanges`\" pulumi-lang-python=\"`ignore_changes`\" pulumi-lang-yaml=\"`ignoreChanges`\" pulumi-lang-java=\"`ignoreChanges`\"\u003e`ignore_changes`\u003c/span\u003e functionality to ignore changes to the \u003cspan pulumi-lang-nodejs=\"`zone`\" pulumi-lang-dotnet=\"`Zone`\" pulumi-lang-go=\"`zone`\" pulumi-lang-python=\"`zone`\" pulumi-lang-yaml=\"`zone`\" pulumi-lang-java=\"`zone`\"\u003e`zone`\u003c/span\u003e and `high_availability[0].standby_availability_zone` fields should you wish for Terraform to not migrate the MySQL Flexible Server back to it's primary Availability Zone after a fail-over.\n\n\u003e **Note:** The Availability Zones available depend on the Azure Region that the MySQL Flexible Server is being deployed into - see [the Azure Availability Zones documentation](https://azure.microsoft.com/global-infrastructure/geographies/#geographies) for more information on which Availability Zones are available in each Azure Region.\n"}},"type":"object"}},"azure:mysql/flexibleServerActiveDirectoryAdministratory:FlexibleServerActiveDirectoryAdministratory":{"description":"Manages an Active Directory administrator on a MySQL Flexible Server\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst current = azure.core.getClientConfig({});\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleUserAssignedIdentity = new azure.authorization.UserAssignedIdentity(\"example\", {\n    name: \"exampleUAI\",\n    resourceGroupName: example.name,\n    location: example.location,\n});\nconst exampleFlexibleServer = new azure.mysql.FlexibleServer(\"example\", {\n    name: \"example-mysqlfs\",\n    resourceGroupName: example.name,\n    location: example.location,\n    administratorLogin: \"_admin_Terraform_892123456789312\",\n    administratorPassword: \"QAZwsx123\",\n    skuName: \"B_Standard_B1ms\",\n    zone: \"2\",\n    identity: {\n        type: \"UserAssigned\",\n        identityIds: [exampleUserAssignedIdentity.id],\n    },\n});\nconst exampleFlexibleServerActiveDirectoryAdministratory = new azure.mysql.FlexibleServerActiveDirectoryAdministratory(\"example\", {\n    serverId: exampleFlexibleServer.id,\n    identityId: exampleUserAssignedIdentity.id,\n    login: \"sqladmin\",\n    objectId: current.then(current =\u003e current.clientId),\n    tenantId: current.then(current =\u003e current.tenantId),\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\ncurrent = azure.core.get_client_config()\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_user_assigned_identity = azure.authorization.UserAssignedIdentity(\"example\",\n    name=\"exampleUAI\",\n    resource_group_name=example.name,\n    location=example.location)\nexample_flexible_server = azure.mysql.FlexibleServer(\"example\",\n    name=\"example-mysqlfs\",\n    resource_group_name=example.name,\n    location=example.location,\n    administrator_login=\"_admin_Terraform_892123456789312\",\n    administrator_password=\"QAZwsx123\",\n    sku_name=\"B_Standard_B1ms\",\n    zone=\"2\",\n    identity={\n        \"type\": \"UserAssigned\",\n        \"identity_ids\": [example_user_assigned_identity.id],\n    })\nexample_flexible_server_active_directory_administratory = azure.mysql.FlexibleServerActiveDirectoryAdministratory(\"example\",\n    server_id=example_flexible_server.id,\n    identity_id=example_user_assigned_identity.id,\n    login=\"sqladmin\",\n    object_id=current.client_id,\n    tenant_id=current.tenant_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var current = Azure.Core.GetClientConfig.Invoke();\n\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleUserAssignedIdentity = new Azure.Authorization.UserAssignedIdentity(\"example\", new()\n    {\n        Name = \"exampleUAI\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n    });\n\n    var exampleFlexibleServer = new Azure.MySql.FlexibleServer(\"example\", new()\n    {\n        Name = \"example-mysqlfs\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        AdministratorLogin = \"_admin_Terraform_892123456789312\",\n        AdministratorPassword = \"QAZwsx123\",\n        SkuName = \"B_Standard_B1ms\",\n        Zone = \"2\",\n        Identity = new Azure.MySql.Inputs.FlexibleServerIdentityArgs\n        {\n            Type = \"UserAssigned\",\n            IdentityIds = new[]\n            {\n                exampleUserAssignedIdentity.Id,\n            },\n        },\n    });\n\n    var exampleFlexibleServerActiveDirectoryAdministratory = new Azure.MySql.FlexibleServerActiveDirectoryAdministratory(\"example\", new()\n    {\n        ServerId = exampleFlexibleServer.Id,\n        IdentityId = exampleUserAssignedIdentity.Id,\n        Login = \"sqladmin\",\n        ObjectId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.ClientId),\n        TenantId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.TenantId),\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/authorization\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/mysql\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := core.GetClientConfig(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleUserAssignedIdentity, err := authorization.NewUserAssignedIdentity(ctx, \"example\", \u0026authorization.UserAssignedIdentityArgs{\n\t\t\tName:              pulumi.String(\"exampleUAI\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleFlexibleServer, err := mysql.NewFlexibleServer(ctx, \"example\", \u0026mysql.FlexibleServerArgs{\n\t\t\tName:                  pulumi.String(\"example-mysqlfs\"),\n\t\t\tResourceGroupName:     example.Name,\n\t\t\tLocation:              example.Location,\n\t\t\tAdministratorLogin:    pulumi.String(\"_admin_Terraform_892123456789312\"),\n\t\t\tAdministratorPassword: pulumi.String(\"QAZwsx123\"),\n\t\t\tSkuName:               pulumi.String(\"B_Standard_B1ms\"),\n\t\t\tZone:                  pulumi.String(\"2\"),\n\t\t\tIdentity: \u0026mysql.FlexibleServerIdentityArgs{\n\t\t\t\tType: pulumi.String(\"UserAssigned\"),\n\t\t\t\tIdentityIds: pulumi.StringArray{\n\t\t\t\t\texampleUserAssignedIdentity.ID(),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = mysql.NewFlexibleServerActiveDirectoryAdministratory(ctx, \"example\", \u0026mysql.FlexibleServerActiveDirectoryAdministratoryArgs{\n\t\t\tServerId:   exampleFlexibleServer.ID(),\n\t\t\tIdentityId: exampleUserAssignedIdentity.ID(),\n\t\t\tLogin:      pulumi.String(\"sqladmin\"),\n\t\t\tObjectId:   pulumi.String(current.ClientId),\n\t\t\tTenantId:   pulumi.String(current.TenantId),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.authorization.UserAssignedIdentity;\nimport com.pulumi.azure.authorization.UserAssignedIdentityArgs;\nimport com.pulumi.azure.mysql.FlexibleServer;\nimport com.pulumi.azure.mysql.FlexibleServerArgs;\nimport com.pulumi.azure.mysql.inputs.FlexibleServerIdentityArgs;\nimport com.pulumi.azure.mysql.FlexibleServerActiveDirectoryAdministratory;\nimport com.pulumi.azure.mysql.FlexibleServerActiveDirectoryAdministratoryArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var current = CoreFunctions.getClientConfig(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleUserAssignedIdentity = new UserAssignedIdentity(\"exampleUserAssignedIdentity\", UserAssignedIdentityArgs.builder()\n            .name(\"exampleUAI\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .build());\n\n        var exampleFlexibleServer = new FlexibleServer(\"exampleFlexibleServer\", FlexibleServerArgs.builder()\n            .name(\"example-mysqlfs\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .administratorLogin(\"_admin_Terraform_892123456789312\")\n            .administratorPassword(\"QAZwsx123\")\n            .skuName(\"B_Standard_B1ms\")\n            .zone(\"2\")\n            .identity(FlexibleServerIdentityArgs.builder()\n                .type(\"UserAssigned\")\n                .identityIds(exampleUserAssignedIdentity.id())\n                .build())\n            .build());\n\n        var exampleFlexibleServerActiveDirectoryAdministratory = new FlexibleServerActiveDirectoryAdministratory(\"exampleFlexibleServerActiveDirectoryAdministratory\", FlexibleServerActiveDirectoryAdministratoryArgs.builder()\n            .serverId(exampleFlexibleServer.id())\n            .identityId(exampleUserAssignedIdentity.id())\n            .login(\"sqladmin\")\n            .objectId(current.clientId())\n            .tenantId(current.tenantId())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleFlexibleServer:\n    type: azure:mysql:FlexibleServer\n    name: example\n    properties:\n      name: example-mysqlfs\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      administratorLogin: _admin_Terraform_892123456789312\n      administratorPassword: QAZwsx123\n      skuName: B_Standard_B1ms\n      zone: '2'\n      identity:\n        type: UserAssigned\n        identityIds:\n          - ${exampleUserAssignedIdentity.id}\n  exampleUserAssignedIdentity:\n    type: azure:authorization:UserAssignedIdentity\n    name: example\n    properties:\n      name: exampleUAI\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n  exampleFlexibleServerActiveDirectoryAdministratory:\n    type: azure:mysql:FlexibleServerActiveDirectoryAdministratory\n    name: example\n    properties:\n      serverId: ${exampleFlexibleServer.id}\n      identityId: ${exampleUserAssignedIdentity.id}\n      login: sqladmin\n      objectId: ${current.clientId}\n      tenantId: ${current.tenantId}\nvariables:\n  current:\n    fn::invoke:\n      function: azure:core:getClientConfig\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.DBforMySQL` - 2023-12-30\n\n## Import\n\nA MySQL Flexible Server Active Directory Administrator can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:mysql/flexibleServerActiveDirectoryAdministratory:FlexibleServerActiveDirectoryAdministratory example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup1/providers/Microsoft.DBforMySQL/flexibleServers/server1/administrators/ActiveDirectory\n```\n\n","properties":{"identityId":{"type":"string","description":"The resource ID of the identity used for AAD Authentication.\n"},"login":{"type":"string","description":"The login name of the principal to set as the server administrator\n"},"objectId":{"type":"string","description":"The ID of the principal to set as the server administrator. For a managed identity this should be the Client ID of the identity.\n"},"serverId":{"type":"string","description":"The resource ID of the MySQL Flexible Server. Changing this forces a new resource to be created.\n"},"tenantId":{"type":"string","description":"The Azure Tenant ID.\n"}},"required":["identityId","login","objectId","serverId","tenantId"],"inputProperties":{"identityId":{"type":"string","description":"The resource ID of the identity used for AAD Authentication.\n"},"login":{"type":"string","description":"The login name of the principal to set as the server administrator\n"},"objectId":{"type":"string","description":"The ID of the principal to set as the server administrator. For a managed identity this should be the Client ID of the identity.\n"},"serverId":{"type":"string","description":"The resource ID of the MySQL Flexible Server. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tenantId":{"type":"string","description":"The Azure Tenant ID.\n"}},"requiredInputs":["identityId","login","objectId","serverId","tenantId"],"stateInputs":{"description":"Input properties used for looking up and filtering FlexibleServerActiveDirectoryAdministratory resources.\n","properties":{"identityId":{"type":"string","description":"The resource ID of the identity used for AAD Authentication.\n"},"login":{"type":"string","description":"The login name of the principal to set as the server administrator\n"},"objectId":{"type":"string","description":"The ID of the principal to set as the server administrator. For a managed identity this should be the Client ID of the identity.\n"},"serverId":{"type":"string","description":"The resource ID of the MySQL Flexible Server. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tenantId":{"type":"string","description":"The Azure Tenant ID.\n"}},"type":"object"},"aliases":[{"type":"azure:mysql/flexibleServerActiveDirectoryAdministrator:FlexibleServerActiveDirectoryAdministrator"}]},"azure:mysql/flexibleServerConfiguration:FlexibleServerConfiguration":{"description":"Sets a MySQL Flexible Server Configuration value on a MySQL Flexible Server.\n\n## Disclaimers\n\n\u003e **Note:** Since this resource is provisioned by default, the Azure Provider will not check for the presence of an existing resource prior to attempting to create it.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleFlexibleServer = new azure.mysql.FlexibleServer(\"example\", {\n    name: \"example-fs\",\n    resourceGroupName: example.name,\n    location: example.location,\n    administratorLogin: \"adminTerraform\",\n    administratorPassword: \"H@Sh1CoR3!\",\n    skuName: \"GP_Standard_D2ds_v4\",\n});\nconst exampleFlexibleServerConfiguration = new azure.mysql.FlexibleServerConfiguration(\"example\", {\n    name: \"interactive_timeout\",\n    resourceGroupName: example.name,\n    serverName: exampleFlexibleServer.name,\n    value: \"600\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_flexible_server = azure.mysql.FlexibleServer(\"example\",\n    name=\"example-fs\",\n    resource_group_name=example.name,\n    location=example.location,\n    administrator_login=\"adminTerraform\",\n    administrator_password=\"H@Sh1CoR3!\",\n    sku_name=\"GP_Standard_D2ds_v4\")\nexample_flexible_server_configuration = azure.mysql.FlexibleServerConfiguration(\"example\",\n    name=\"interactive_timeout\",\n    resource_group_name=example.name,\n    server_name=example_flexible_server.name,\n    value=\"600\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleFlexibleServer = new Azure.MySql.FlexibleServer(\"example\", new()\n    {\n        Name = \"example-fs\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        AdministratorLogin = \"adminTerraform\",\n        AdministratorPassword = \"H@Sh1CoR3!\",\n        SkuName = \"GP_Standard_D2ds_v4\",\n    });\n\n    var exampleFlexibleServerConfiguration = new Azure.MySql.FlexibleServerConfiguration(\"example\", new()\n    {\n        Name = \"interactive_timeout\",\n        ResourceGroupName = example.Name,\n        ServerName = exampleFlexibleServer.Name,\n        Value = \"600\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/mysql\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleFlexibleServer, err := mysql.NewFlexibleServer(ctx, \"example\", \u0026mysql.FlexibleServerArgs{\n\t\t\tName:                  pulumi.String(\"example-fs\"),\n\t\t\tResourceGroupName:     example.Name,\n\t\t\tLocation:              example.Location,\n\t\t\tAdministratorLogin:    pulumi.String(\"adminTerraform\"),\n\t\t\tAdministratorPassword: pulumi.String(\"H@Sh1CoR3!\"),\n\t\t\tSkuName:               pulumi.String(\"GP_Standard_D2ds_v4\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = mysql.NewFlexibleServerConfiguration(ctx, \"example\", \u0026mysql.FlexibleServerConfigurationArgs{\n\t\t\tName:              pulumi.String(\"interactive_timeout\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tServerName:        exampleFlexibleServer.Name,\n\t\t\tValue:             pulumi.String(\"600\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.mysql.FlexibleServer;\nimport com.pulumi.azure.mysql.FlexibleServerArgs;\nimport com.pulumi.azure.mysql.FlexibleServerConfiguration;\nimport com.pulumi.azure.mysql.FlexibleServerConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleFlexibleServer = new FlexibleServer(\"exampleFlexibleServer\", FlexibleServerArgs.builder()\n            .name(\"example-fs\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .administratorLogin(\"adminTerraform\")\n            .administratorPassword(\"H@Sh1CoR3!\")\n            .skuName(\"GP_Standard_D2ds_v4\")\n            .build());\n\n        var exampleFlexibleServerConfiguration = new FlexibleServerConfiguration(\"exampleFlexibleServerConfiguration\", FlexibleServerConfigurationArgs.builder()\n            .name(\"interactive_timeout\")\n            .resourceGroupName(example.name())\n            .serverName(exampleFlexibleServer.name())\n            .value(\"600\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleFlexibleServer:\n    type: azure:mysql:FlexibleServer\n    name: example\n    properties:\n      name: example-fs\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      administratorLogin: adminTerraform\n      administratorPassword: H@Sh1CoR3!\n      skuName: GP_Standard_D2ds_v4\n  exampleFlexibleServerConfiguration:\n    type: azure:mysql:FlexibleServerConfiguration\n    name: example\n    properties:\n      name: interactive_timeout\n      resourceGroupName: ${example.name}\n      serverName: ${exampleFlexibleServer.name}\n      value: '600'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.DBforMySQL` - 2023-12-30\n\n## Import\n\nMySQL Flexible Server Configurations can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:mysql/flexibleServerConfiguration:FlexibleServerConfiguration interactive_timeout /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.DBforMySQL/flexibleServers/flexibleServer1/configurations/interactive_timeout\n```\n\n","properties":{"name":{"type":"string","description":"Specifies the name of the MySQL Flexible Server Configuration, which needs [to be a valid MySQL configuration name](https://dev.mysql.com/doc/refman/5.7/en/server-configuration.html). Changing this forces a new resource to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the MySQL Flexible Server exists. Changing this forces a new resource to be created.\n"},"serverName":{"type":"string","description":"Specifies the name of the MySQL Flexible Server. Changing this forces a new resource to be created.\n"},"value":{"type":"string","description":"Specifies the value of the MySQL Flexible Server Configuration. See the MySQL documentation for valid values.\n"}},"required":["name","resourceGroupName","serverName","value"],"inputProperties":{"name":{"type":"string","description":"Specifies the name of the MySQL Flexible Server Configuration, which needs [to be a valid MySQL configuration name](https://dev.mysql.com/doc/refman/5.7/en/server-configuration.html). Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the MySQL Flexible Server exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"serverName":{"type":"string","description":"Specifies the name of the MySQL Flexible Server. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"value":{"type":"string","description":"Specifies the value of the MySQL Flexible Server Configuration. See the MySQL documentation for valid values.\n"}},"requiredInputs":["resourceGroupName","serverName","value"],"stateInputs":{"description":"Input properties used for looking up and filtering FlexibleServerConfiguration resources.\n","properties":{"name":{"type":"string","description":"Specifies the name of the MySQL Flexible Server Configuration, which needs [to be a valid MySQL configuration name](https://dev.mysql.com/doc/refman/5.7/en/server-configuration.html). Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the MySQL Flexible Server exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"serverName":{"type":"string","description":"Specifies the name of the MySQL Flexible Server. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"value":{"type":"string","description":"Specifies the value of the MySQL Flexible Server Configuration. See the MySQL documentation for valid values.\n"}},"type":"object"}},"azure:mysql/flexibleServerFirewallRule:FlexibleServerFirewallRule":{"description":"Manages a Firewall Rule for a MySQL Flexible Server.\n\n## Example Usage\n\n### Single IP Address)\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"api-rg-pro\",\n    location: \"West Europe\",\n});\nconst exampleFlexibleServer = new azure.mysql.FlexibleServer(\"example\", {\n    name: \"example\",\n    resourceGroupName: example.name,\n    location: example.location,\n});\nconst exampleFlexibleServerFirewallRule = new azure.mysql.FlexibleServerFirewallRule(\"example\", {\n    name: \"office\",\n    resourceGroupName: example.name,\n    serverName: exampleFlexibleServer.name,\n    startIpAddress: \"40.112.8.12\",\n    endIpAddress: \"40.112.8.12\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"api-rg-pro\",\n    location=\"West Europe\")\nexample_flexible_server = azure.mysql.FlexibleServer(\"example\",\n    name=\"example\",\n    resource_group_name=example.name,\n    location=example.location)\nexample_flexible_server_firewall_rule = azure.mysql.FlexibleServerFirewallRule(\"example\",\n    name=\"office\",\n    resource_group_name=example.name,\n    server_name=example_flexible_server.name,\n    start_ip_address=\"40.112.8.12\",\n    end_ip_address=\"40.112.8.12\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"api-rg-pro\",\n        Location = \"West Europe\",\n    });\n\n    var exampleFlexibleServer = new Azure.MySql.FlexibleServer(\"example\", new()\n    {\n        Name = \"example\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n    });\n\n    var exampleFlexibleServerFirewallRule = new Azure.MySql.FlexibleServerFirewallRule(\"example\", new()\n    {\n        Name = \"office\",\n        ResourceGroupName = example.Name,\n        ServerName = exampleFlexibleServer.Name,\n        StartIpAddress = \"40.112.8.12\",\n        EndIpAddress = \"40.112.8.12\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/mysql\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"api-rg-pro\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleFlexibleServer, err := mysql.NewFlexibleServer(ctx, \"example\", \u0026mysql.FlexibleServerArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = mysql.NewFlexibleServerFirewallRule(ctx, \"example\", \u0026mysql.FlexibleServerFirewallRuleArgs{\n\t\t\tName:              pulumi.String(\"office\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tServerName:        exampleFlexibleServer.Name,\n\t\t\tStartIpAddress:    pulumi.String(\"40.112.8.12\"),\n\t\t\tEndIpAddress:      pulumi.String(\"40.112.8.12\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.mysql.FlexibleServer;\nimport com.pulumi.azure.mysql.FlexibleServerArgs;\nimport com.pulumi.azure.mysql.FlexibleServerFirewallRule;\nimport com.pulumi.azure.mysql.FlexibleServerFirewallRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"api-rg-pro\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleFlexibleServer = new FlexibleServer(\"exampleFlexibleServer\", FlexibleServerArgs.builder()\n            .name(\"example\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .build());\n\n        var exampleFlexibleServerFirewallRule = new FlexibleServerFirewallRule(\"exampleFlexibleServerFirewallRule\", FlexibleServerFirewallRuleArgs.builder()\n            .name(\"office\")\n            .resourceGroupName(example.name())\n            .serverName(exampleFlexibleServer.name())\n            .startIpAddress(\"40.112.8.12\")\n            .endIpAddress(\"40.112.8.12\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: api-rg-pro\n      location: West Europe\n  exampleFlexibleServer:\n    type: azure:mysql:FlexibleServer\n    name: example\n    properties:\n      name: example\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n  exampleFlexibleServerFirewallRule:\n    type: azure:mysql:FlexibleServerFirewallRule\n    name: example\n    properties:\n      name: office\n      resourceGroupName: ${example.name}\n      serverName: ${exampleFlexibleServer.name}\n      startIpAddress: 40.112.8.12\n      endIpAddress: 40.112.8.12\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\n### IP Range)\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"api-rg-pro\",\n    location: \"West Europe\",\n});\nconst exampleFlexibleServer = new azure.mysql.FlexibleServer(\"example\", {\n    name: \"example\",\n    resourceGroupName: example.name,\n    location: example.location,\n});\nconst exampleFlexibleServerFirewallRule = new azure.mysql.FlexibleServerFirewallRule(\"example\", {\n    name: \"office\",\n    resourceGroupName: example.name,\n    serverName: exampleFlexibleServer.name,\n    startIpAddress: \"40.112.0.0\",\n    endIpAddress: \"40.112.255.255\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"api-rg-pro\",\n    location=\"West Europe\")\nexample_flexible_server = azure.mysql.FlexibleServer(\"example\",\n    name=\"example\",\n    resource_group_name=example.name,\n    location=example.location)\nexample_flexible_server_firewall_rule = azure.mysql.FlexibleServerFirewallRule(\"example\",\n    name=\"office\",\n    resource_group_name=example.name,\n    server_name=example_flexible_server.name,\n    start_ip_address=\"40.112.0.0\",\n    end_ip_address=\"40.112.255.255\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"api-rg-pro\",\n        Location = \"West Europe\",\n    });\n\n    var exampleFlexibleServer = new Azure.MySql.FlexibleServer(\"example\", new()\n    {\n        Name = \"example\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n    });\n\n    var exampleFlexibleServerFirewallRule = new Azure.MySql.FlexibleServerFirewallRule(\"example\", new()\n    {\n        Name = \"office\",\n        ResourceGroupName = example.Name,\n        ServerName = exampleFlexibleServer.Name,\n        StartIpAddress = \"40.112.0.0\",\n        EndIpAddress = \"40.112.255.255\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/mysql\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"api-rg-pro\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleFlexibleServer, err := mysql.NewFlexibleServer(ctx, \"example\", \u0026mysql.FlexibleServerArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = mysql.NewFlexibleServerFirewallRule(ctx, \"example\", \u0026mysql.FlexibleServerFirewallRuleArgs{\n\t\t\tName:              pulumi.String(\"office\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tServerName:        exampleFlexibleServer.Name,\n\t\t\tStartIpAddress:    pulumi.String(\"40.112.0.0\"),\n\t\t\tEndIpAddress:      pulumi.String(\"40.112.255.255\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.mysql.FlexibleServer;\nimport com.pulumi.azure.mysql.FlexibleServerArgs;\nimport com.pulumi.azure.mysql.FlexibleServerFirewallRule;\nimport com.pulumi.azure.mysql.FlexibleServerFirewallRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"api-rg-pro\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleFlexibleServer = new FlexibleServer(\"exampleFlexibleServer\", FlexibleServerArgs.builder()\n            .name(\"example\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .build());\n\n        var exampleFlexibleServerFirewallRule = new FlexibleServerFirewallRule(\"exampleFlexibleServerFirewallRule\", FlexibleServerFirewallRuleArgs.builder()\n            .name(\"office\")\n            .resourceGroupName(example.name())\n            .serverName(exampleFlexibleServer.name())\n            .startIpAddress(\"40.112.0.0\")\n            .endIpAddress(\"40.112.255.255\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: api-rg-pro\n      location: West Europe\n  exampleFlexibleServer:\n    type: azure:mysql:FlexibleServer\n    name: example\n    properties:\n      name: example\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n  exampleFlexibleServerFirewallRule:\n    type: azure:mysql:FlexibleServerFirewallRule\n    name: example\n    properties:\n      name: office\n      resourceGroupName: ${example.name}\n      serverName: ${exampleFlexibleServer.name}\n      startIpAddress: 40.112.0.0\n      endIpAddress: 40.112.255.255\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\n### Allow Access To Azure Services)\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"api-rg-pro\",\n    location: \"West Europe\",\n});\nconst exampleFlexibleServer = new azure.mysql.FlexibleServer(\"example\", {\n    name: \"example\",\n    resourceGroupName: example.name,\n    location: example.location,\n});\nconst exampleFlexibleServerFirewallRule = new azure.mysql.FlexibleServerFirewallRule(\"example\", {\n    name: \"office\",\n    resourceGroupName: example.name,\n    serverName: exampleFlexibleServer.name,\n    startIpAddress: \"0.0.0.0\",\n    endIpAddress: \"0.0.0.0\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"api-rg-pro\",\n    location=\"West Europe\")\nexample_flexible_server = azure.mysql.FlexibleServer(\"example\",\n    name=\"example\",\n    resource_group_name=example.name,\n    location=example.location)\nexample_flexible_server_firewall_rule = azure.mysql.FlexibleServerFirewallRule(\"example\",\n    name=\"office\",\n    resource_group_name=example.name,\n    server_name=example_flexible_server.name,\n    start_ip_address=\"0.0.0.0\",\n    end_ip_address=\"0.0.0.0\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"api-rg-pro\",\n        Location = \"West Europe\",\n    });\n\n    var exampleFlexibleServer = new Azure.MySql.FlexibleServer(\"example\", new()\n    {\n        Name = \"example\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n    });\n\n    var exampleFlexibleServerFirewallRule = new Azure.MySql.FlexibleServerFirewallRule(\"example\", new()\n    {\n        Name = \"office\",\n        ResourceGroupName = example.Name,\n        ServerName = exampleFlexibleServer.Name,\n        StartIpAddress = \"0.0.0.0\",\n        EndIpAddress = \"0.0.0.0\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/mysql\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"api-rg-pro\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleFlexibleServer, err := mysql.NewFlexibleServer(ctx, \"example\", \u0026mysql.FlexibleServerArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = mysql.NewFlexibleServerFirewallRule(ctx, \"example\", \u0026mysql.FlexibleServerFirewallRuleArgs{\n\t\t\tName:              pulumi.String(\"office\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tServerName:        exampleFlexibleServer.Name,\n\t\t\tStartIpAddress:    pulumi.String(\"0.0.0.0\"),\n\t\t\tEndIpAddress:      pulumi.String(\"0.0.0.0\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.mysql.FlexibleServer;\nimport com.pulumi.azure.mysql.FlexibleServerArgs;\nimport com.pulumi.azure.mysql.FlexibleServerFirewallRule;\nimport com.pulumi.azure.mysql.FlexibleServerFirewallRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"api-rg-pro\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleFlexibleServer = new FlexibleServer(\"exampleFlexibleServer\", FlexibleServerArgs.builder()\n            .name(\"example\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .build());\n\n        var exampleFlexibleServerFirewallRule = new FlexibleServerFirewallRule(\"exampleFlexibleServerFirewallRule\", FlexibleServerFirewallRuleArgs.builder()\n            .name(\"office\")\n            .resourceGroupName(example.name())\n            .serverName(exampleFlexibleServer.name())\n            .startIpAddress(\"0.0.0.0\")\n            .endIpAddress(\"0.0.0.0\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: api-rg-pro\n      location: West Europe\n  exampleFlexibleServer:\n    type: azure:mysql:FlexibleServer\n    name: example\n    properties:\n      name: example\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n  exampleFlexibleServerFirewallRule:\n    type: azure:mysql:FlexibleServerFirewallRule\n    name: example\n    properties:\n      name: office\n      resourceGroupName: ${example.name}\n      serverName: ${exampleFlexibleServer.name}\n      startIpAddress: 0.0.0.0\n      endIpAddress: 0.0.0.0\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.DBforMySQL` - 2023-12-30\n\n## Import\n\nMySQL Firewall Rule's can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:mysql/flexibleServerFirewallRule:FlexibleServerFirewallRule rule1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.DBforMySQL/flexibleServers/flexibleServer1/firewallRules/firewallRule1\n```\n\n","properties":{"endIpAddress":{"type":"string","description":"Specifies the End IP Address associated with this Firewall Rule. \n\n\u003e **Note:** The Azure feature `Allow access to Azure services` can be enabled by setting \u003cspan pulumi-lang-nodejs=\"`startIpAddress`\" pulumi-lang-dotnet=\"`StartIpAddress`\" pulumi-lang-go=\"`startIpAddress`\" pulumi-lang-python=\"`start_ip_address`\" pulumi-lang-yaml=\"`startIpAddress`\" pulumi-lang-java=\"`startIpAddress`\"\u003e`start_ip_address`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`endIpAddress`\" pulumi-lang-dotnet=\"`EndIpAddress`\" pulumi-lang-go=\"`endIpAddress`\" pulumi-lang-python=\"`end_ip_address`\" pulumi-lang-yaml=\"`endIpAddress`\" pulumi-lang-java=\"`endIpAddress`\"\u003e`end_ip_address`\u003c/span\u003e to `0.0.0.0` which ([is documented in the Azure API Docs](https://docs.microsoft.com/rest/api/sql/firewallrules/createorupdate)).\n"},"name":{"type":"string","description":"Specifies the name of the MySQL Firewall Rule. Changing this forces a new resource to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the MySQL Flexible Server exists. Changing this forces a new resource to be created.\n"},"serverName":{"type":"string","description":"Specifies the name of the MySQL Flexible Server. Changing this forces a new resource to be created.\n"},"startIpAddress":{"type":"string","description":"Specifies the Start IP Address associated with this Firewall Rule.\n"}},"required":["endIpAddress","name","resourceGroupName","serverName","startIpAddress"],"inputProperties":{"endIpAddress":{"type":"string","description":"Specifies the End IP Address associated with this Firewall Rule. \n\n\u003e **Note:** The Azure feature `Allow access to Azure services` can be enabled by setting \u003cspan pulumi-lang-nodejs=\"`startIpAddress`\" pulumi-lang-dotnet=\"`StartIpAddress`\" pulumi-lang-go=\"`startIpAddress`\" pulumi-lang-python=\"`start_ip_address`\" pulumi-lang-yaml=\"`startIpAddress`\" pulumi-lang-java=\"`startIpAddress`\"\u003e`start_ip_address`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`endIpAddress`\" pulumi-lang-dotnet=\"`EndIpAddress`\" pulumi-lang-go=\"`endIpAddress`\" pulumi-lang-python=\"`end_ip_address`\" pulumi-lang-yaml=\"`endIpAddress`\" pulumi-lang-java=\"`endIpAddress`\"\u003e`end_ip_address`\u003c/span\u003e to `0.0.0.0` which ([is documented in the Azure API Docs](https://docs.microsoft.com/rest/api/sql/firewallrules/createorupdate)).\n"},"name":{"type":"string","description":"Specifies the name of the MySQL Firewall Rule. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the MySQL Flexible Server exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"serverName":{"type":"string","description":"Specifies the name of the MySQL Flexible Server. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"startIpAddress":{"type":"string","description":"Specifies the Start IP Address associated with this Firewall Rule.\n"}},"requiredInputs":["endIpAddress","resourceGroupName","serverName","startIpAddress"],"stateInputs":{"description":"Input properties used for looking up and filtering FlexibleServerFirewallRule resources.\n","properties":{"endIpAddress":{"type":"string","description":"Specifies the End IP Address associated with this Firewall Rule. \n\n\u003e **Note:** The Azure feature `Allow access to Azure services` can be enabled by setting \u003cspan pulumi-lang-nodejs=\"`startIpAddress`\" pulumi-lang-dotnet=\"`StartIpAddress`\" pulumi-lang-go=\"`startIpAddress`\" pulumi-lang-python=\"`start_ip_address`\" pulumi-lang-yaml=\"`startIpAddress`\" pulumi-lang-java=\"`startIpAddress`\"\u003e`start_ip_address`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`endIpAddress`\" pulumi-lang-dotnet=\"`EndIpAddress`\" pulumi-lang-go=\"`endIpAddress`\" pulumi-lang-python=\"`end_ip_address`\" pulumi-lang-yaml=\"`endIpAddress`\" pulumi-lang-java=\"`endIpAddress`\"\u003e`end_ip_address`\u003c/span\u003e to `0.0.0.0` which ([is documented in the Azure API Docs](https://docs.microsoft.com/rest/api/sql/firewallrules/createorupdate)).\n"},"name":{"type":"string","description":"Specifies the name of the MySQL Firewall Rule. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the MySQL Flexible Server exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"serverName":{"type":"string","description":"Specifies the name of the MySQL Flexible Server. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"startIpAddress":{"type":"string","description":"Specifies the Start IP Address associated with this Firewall Rule.\n"}},"type":"object"}},"azure:netapp/account:Account":{"description":"Manages a NetApp Account.\n\n\u003e **Note:** Azure allows only one active directory can be joined to a single subscription at a time for NetApp Account.\n\n## NetApp Account Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst current = azure.core.getClientConfig({});\nconst exampleUserAssignedIdentity = new azure.authorization.UserAssignedIdentity(\"example\", {\n    name: \"anf-user-assigned-identity\",\n    location: example.location,\n    resourceGroupName: example.name,\n});\nconst exampleAccount = new azure.netapp.Account(\"example\", {\n    name: \"netappaccount\",\n    location: example.location,\n    resourceGroupName: example.name,\n    activeDirectory: {\n        username: \"aduser\",\n        password: \"aduserpwd\",\n        smbServerName: \"SMBSERVER\",\n        dnsServers: [\"1.2.3.4\"],\n        domain: \"westcentralus.com\",\n        organizationalUnit: \"OU=FirstLevel\",\n    },\n    identity: {\n        type: \"UserAssigned\",\n        identityIds: [exampleUserAssignedIdentity.id],\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\ncurrent = azure.core.get_client_config()\nexample_user_assigned_identity = azure.authorization.UserAssignedIdentity(\"example\",\n    name=\"anf-user-assigned-identity\",\n    location=example.location,\n    resource_group_name=example.name)\nexample_account = azure.netapp.Account(\"example\",\n    name=\"netappaccount\",\n    location=example.location,\n    resource_group_name=example.name,\n    active_directory={\n        \"username\": \"aduser\",\n        \"password\": \"aduserpwd\",\n        \"smb_server_name\": \"SMBSERVER\",\n        \"dns_servers\": [\"1.2.3.4\"],\n        \"domain\": \"westcentralus.com\",\n        \"organizational_unit\": \"OU=FirstLevel\",\n    },\n    identity={\n        \"type\": \"UserAssigned\",\n        \"identity_ids\": [example_user_assigned_identity.id],\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var current = Azure.Core.GetClientConfig.Invoke();\n\n    var exampleUserAssignedIdentity = new Azure.Authorization.UserAssignedIdentity(\"example\", new()\n    {\n        Name = \"anf-user-assigned-identity\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n    });\n\n    var exampleAccount = new Azure.NetApp.Account(\"example\", new()\n    {\n        Name = \"netappaccount\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        ActiveDirectory = new Azure.NetApp.Inputs.AccountActiveDirectoryArgs\n        {\n            Username = \"aduser\",\n            Password = \"aduserpwd\",\n            SmbServerName = \"SMBSERVER\",\n            DnsServers = new[]\n            {\n                \"1.2.3.4\",\n            },\n            Domain = \"westcentralus.com\",\n            OrganizationalUnit = \"OU=FirstLevel\",\n        },\n        Identity = new Azure.NetApp.Inputs.AccountIdentityArgs\n        {\n            Type = \"UserAssigned\",\n            IdentityIds = new[]\n            {\n                exampleUserAssignedIdentity.Id,\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/authorization\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/netapp\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = core.GetClientConfig(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleUserAssignedIdentity, err := authorization.NewUserAssignedIdentity(ctx, \"example\", \u0026authorization.UserAssignedIdentityArgs{\n\t\t\tName:              pulumi.String(\"anf-user-assigned-identity\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = netapp.NewAccount(ctx, \"example\", \u0026netapp.AccountArgs{\n\t\t\tName:              pulumi.String(\"netappaccount\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tActiveDirectory: \u0026netapp.AccountActiveDirectoryArgs{\n\t\t\t\tUsername:      pulumi.String(\"aduser\"),\n\t\t\t\tPassword:      pulumi.String(\"aduserpwd\"),\n\t\t\t\tSmbServerName: pulumi.String(\"SMBSERVER\"),\n\t\t\t\tDnsServers: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"1.2.3.4\"),\n\t\t\t\t},\n\t\t\t\tDomain:             pulumi.String(\"westcentralus.com\"),\n\t\t\t\tOrganizationalUnit: pulumi.String(\"OU=FirstLevel\"),\n\t\t\t},\n\t\t\tIdentity: \u0026netapp.AccountIdentityArgs{\n\t\t\t\tType: pulumi.String(\"UserAssigned\"),\n\t\t\t\tIdentityIds: pulumi.StringArray{\n\t\t\t\t\texampleUserAssignedIdentity.ID(),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.authorization.UserAssignedIdentity;\nimport com.pulumi.azure.authorization.UserAssignedIdentityArgs;\nimport com.pulumi.azure.netapp.Account;\nimport com.pulumi.azure.netapp.AccountArgs;\nimport com.pulumi.azure.netapp.inputs.AccountActiveDirectoryArgs;\nimport com.pulumi.azure.netapp.inputs.AccountIdentityArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        final var current = CoreFunctions.getClientConfig(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n        var exampleUserAssignedIdentity = new UserAssignedIdentity(\"exampleUserAssignedIdentity\", UserAssignedIdentityArgs.builder()\n            .name(\"anf-user-assigned-identity\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"netappaccount\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .activeDirectory(AccountActiveDirectoryArgs.builder()\n                .username(\"aduser\")\n                .password(\"aduserpwd\")\n                .smbServerName(\"SMBSERVER\")\n                .dnsServers(\"1.2.3.4\")\n                .domain(\"westcentralus.com\")\n                .organizationalUnit(\"OU=FirstLevel\")\n                .build())\n            .identity(AccountIdentityArgs.builder()\n                .type(\"UserAssigned\")\n                .identityIds(exampleUserAssignedIdentity.id())\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleUserAssignedIdentity:\n    type: azure:authorization:UserAssignedIdentity\n    name: example\n    properties:\n      name: anf-user-assigned-identity\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n  exampleAccount:\n    type: azure:netapp:Account\n    name: example\n    properties:\n      name: netappaccount\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      activeDirectory:\n        username: aduser\n        password: aduserpwd\n        smbServerName: SMBSERVER\n        dnsServers:\n          - 1.2.3.4\n        domain: westcentralus.com\n        organizationalUnit: OU=FirstLevel\n      identity:\n        type: UserAssigned\n        identityIds:\n          - ${exampleUserAssignedIdentity.id}\nvariables:\n  current:\n    fn::invoke:\n      function: azure:core:getClientConfig\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.NetApp` - 2025-06-01\n\n## Import\n\nNetApp Accounts can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:netapp/account:Account example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.NetApp/netAppAccounts/account1\n```\n\n\u003e **Note:** When importing a NetApp account, the `active_directory.password` and `active_directory.server_root_ca_certificate` values *cannot* be retrieved from the Azure API and will need to be redeclared within the resource.\n\n","properties":{"activeDirectory":{"$ref":"#/types/azure:netapp/AccountActiveDirectory:AccountActiveDirectory","description":"A \u003cspan pulumi-lang-nodejs=\"`activeDirectory`\" pulumi-lang-dotnet=\"`ActiveDirectory`\" pulumi-lang-go=\"`activeDirectory`\" pulumi-lang-python=\"`active_directory`\" pulumi-lang-yaml=\"`activeDirectory`\" pulumi-lang-java=\"`activeDirectory`\"\u003e`active_directory`\u003c/span\u003e block as defined below.\n"},"identity":{"$ref":"#/types/azure:netapp/AccountIdentity:AccountIdentity","description":"The \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block where it is used when customer managed keys based encryption will be enabled as defined below.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"The name of the NetApp Account. Changing this forces a new resource to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group where the NetApp Account should be created. Changing this forces a new resource to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"required":["location","name","resourceGroupName"],"inputProperties":{"activeDirectory":{"$ref":"#/types/azure:netapp/AccountActiveDirectory:AccountActiveDirectory","description":"A \u003cspan pulumi-lang-nodejs=\"`activeDirectory`\" pulumi-lang-dotnet=\"`ActiveDirectory`\" pulumi-lang-go=\"`activeDirectory`\" pulumi-lang-python=\"`active_directory`\" pulumi-lang-yaml=\"`activeDirectory`\" pulumi-lang-java=\"`activeDirectory`\"\u003e`active_directory`\u003c/span\u003e block as defined below.\n"},"identity":{"$ref":"#/types/azure:netapp/AccountIdentity:AccountIdentity","description":"The \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block where it is used when customer managed keys based encryption will be enabled as defined below.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the NetApp Account. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group where the NetApp Account should be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"requiredInputs":["resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering Account resources.\n","properties":{"activeDirectory":{"$ref":"#/types/azure:netapp/AccountActiveDirectory:AccountActiveDirectory","description":"A \u003cspan pulumi-lang-nodejs=\"`activeDirectory`\" pulumi-lang-dotnet=\"`ActiveDirectory`\" pulumi-lang-go=\"`activeDirectory`\" pulumi-lang-python=\"`active_directory`\" pulumi-lang-yaml=\"`activeDirectory`\" pulumi-lang-java=\"`activeDirectory`\"\u003e`active_directory`\u003c/span\u003e block as defined below.\n"},"identity":{"$ref":"#/types/azure:netapp/AccountIdentity:AccountIdentity","description":"The \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block where it is used when customer managed keys based encryption will be enabled as defined below.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the NetApp Account. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group where the NetApp Account should be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"type":"object"}},"azure:netapp/accountEncryption:AccountEncryption":{"description":"Manages a NetApp Account Encryption Resource.\n\nFor more information about Azure NetApp Files Customer-Managed Keys feature, please refer to [Configure customer-managed keys for Azure NetApp Files volume encryption](https://learn.microsoft.com/en-us/azure/azure-netapp-files/configure-customer-managed-keys)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst current = azure.core.getClientConfig({});\nconst exampleUserAssignedIdentity = new azure.authorization.UserAssignedIdentity(\"example\", {\n    name: \"anf-user-assigned-identity\",\n    location: example.location,\n    resourceGroupName: example.name,\n});\nconst exampleKeyVault = new azure.keyvault.KeyVault(\"example\", {\n    name: \"anfcmkakv\",\n    location: example.location,\n    resourceGroupName: example.name,\n    enabledForDiskEncryption: true,\n    enabledForDeployment: true,\n    enabledForTemplateDeployment: true,\n    purgeProtectionEnabled: true,\n    tenantId: \"00000000-0000-0000-0000-000000000000\",\n    skuName: \"standard\",\n    accessPolicies: [\n        {\n            tenantId: \"00000000-0000-0000-0000-000000000000\",\n            objectId: current.then(current =\u003e current.objectId),\n            keyPermissions: [\n                \"Get\",\n                \"Create\",\n                \"Delete\",\n                \"WrapKey\",\n                \"UnwrapKey\",\n                \"GetRotationPolicy\",\n                \"SetRotationPolicy\",\n            ],\n        },\n        {\n            tenantId: \"00000000-0000-0000-0000-000000000000\",\n            objectId: exampleUserAssignedIdentity.principalId,\n            keyPermissions: [\n                \"Get\",\n                \"Encrypt\",\n                \"Decrypt\",\n            ],\n        },\n    ],\n});\nconst exampleKey = new azure.keyvault.Key(\"example\", {\n    name: \"anfencryptionkey\",\n    keyVaultId: exampleKeyVault.id,\n    keyType: \"RSA\",\n    keySize: 2048,\n    keyOpts: [\n        \"decrypt\",\n        \"encrypt\",\n        \"sign\",\n        \"unwrapKey\",\n        \"verify\",\n        \"wrapKey\",\n    ],\n});\nconst exampleAccount = new azure.netapp.Account(\"example\", {\n    name: \"netappaccount\",\n    location: example.location,\n    resourceGroupName: example.name,\n    identity: {\n        type: \"UserAssigned\",\n        identityIds: [exampleUserAssignedIdentity.id],\n    },\n});\nconst exampleAccountEncryption = new azure.netapp.AccountEncryption(\"example\", {\n    netappAccountId: exampleAccount.id,\n    userAssignedIdentityId: exampleUserAssignedIdentity.id,\n    encryptionKey: exampleKey.versionlessId,\n    federatedClientId: exampleUserAssignedIdentity.clientId,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\ncurrent = azure.core.get_client_config()\nexample_user_assigned_identity = azure.authorization.UserAssignedIdentity(\"example\",\n    name=\"anf-user-assigned-identity\",\n    location=example.location,\n    resource_group_name=example.name)\nexample_key_vault = azure.keyvault.KeyVault(\"example\",\n    name=\"anfcmkakv\",\n    location=example.location,\n    resource_group_name=example.name,\n    enabled_for_disk_encryption=True,\n    enabled_for_deployment=True,\n    enabled_for_template_deployment=True,\n    purge_protection_enabled=True,\n    tenant_id=\"00000000-0000-0000-0000-000000000000\",\n    sku_name=\"standard\",\n    access_policies=[\n        {\n            \"tenant_id\": \"00000000-0000-0000-0000-000000000000\",\n            \"object_id\": current.object_id,\n            \"key_permissions\": [\n                \"Get\",\n                \"Create\",\n                \"Delete\",\n                \"WrapKey\",\n                \"UnwrapKey\",\n                \"GetRotationPolicy\",\n                \"SetRotationPolicy\",\n            ],\n        },\n        {\n            \"tenant_id\": \"00000000-0000-0000-0000-000000000000\",\n            \"object_id\": example_user_assigned_identity.principal_id,\n            \"key_permissions\": [\n                \"Get\",\n                \"Encrypt\",\n                \"Decrypt\",\n            ],\n        },\n    ])\nexample_key = azure.keyvault.Key(\"example\",\n    name=\"anfencryptionkey\",\n    key_vault_id=example_key_vault.id,\n    key_type=\"RSA\",\n    key_size=2048,\n    key_opts=[\n        \"decrypt\",\n        \"encrypt\",\n        \"sign\",\n        \"unwrapKey\",\n        \"verify\",\n        \"wrapKey\",\n    ])\nexample_account = azure.netapp.Account(\"example\",\n    name=\"netappaccount\",\n    location=example.location,\n    resource_group_name=example.name,\n    identity={\n        \"type\": \"UserAssigned\",\n        \"identity_ids\": [example_user_assigned_identity.id],\n    })\nexample_account_encryption = azure.netapp.AccountEncryption(\"example\",\n    netapp_account_id=example_account.id,\n    user_assigned_identity_id=example_user_assigned_identity.id,\n    encryption_key=example_key.versionless_id,\n    federated_client_id=example_user_assigned_identity.client_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var current = Azure.Core.GetClientConfig.Invoke();\n\n    var exampleUserAssignedIdentity = new Azure.Authorization.UserAssignedIdentity(\"example\", new()\n    {\n        Name = \"anf-user-assigned-identity\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n    });\n\n    var exampleKeyVault = new Azure.KeyVault.KeyVault(\"example\", new()\n    {\n        Name = \"anfcmkakv\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        EnabledForDiskEncryption = true,\n        EnabledForDeployment = true,\n        EnabledForTemplateDeployment = true,\n        PurgeProtectionEnabled = true,\n        TenantId = \"00000000-0000-0000-0000-000000000000\",\n        SkuName = \"standard\",\n        AccessPolicies = new[]\n        {\n            new Azure.KeyVault.Inputs.KeyVaultAccessPolicyArgs\n            {\n                TenantId = \"00000000-0000-0000-0000-000000000000\",\n                ObjectId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.ObjectId),\n                KeyPermissions = new[]\n                {\n                    \"Get\",\n                    \"Create\",\n                    \"Delete\",\n                    \"WrapKey\",\n                    \"UnwrapKey\",\n                    \"GetRotationPolicy\",\n                    \"SetRotationPolicy\",\n                },\n            },\n            new Azure.KeyVault.Inputs.KeyVaultAccessPolicyArgs\n            {\n                TenantId = \"00000000-0000-0000-0000-000000000000\",\n                ObjectId = exampleUserAssignedIdentity.PrincipalId,\n                KeyPermissions = new[]\n                {\n                    \"Get\",\n                    \"Encrypt\",\n                    \"Decrypt\",\n                },\n            },\n        },\n    });\n\n    var exampleKey = new Azure.KeyVault.Key(\"example\", new()\n    {\n        Name = \"anfencryptionkey\",\n        KeyVaultId = exampleKeyVault.Id,\n        KeyType = \"RSA\",\n        KeySize = 2048,\n        KeyOpts = new[]\n        {\n            \"decrypt\",\n            \"encrypt\",\n            \"sign\",\n            \"unwrapKey\",\n            \"verify\",\n            \"wrapKey\",\n        },\n    });\n\n    var exampleAccount = new Azure.NetApp.Account(\"example\", new()\n    {\n        Name = \"netappaccount\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Identity = new Azure.NetApp.Inputs.AccountIdentityArgs\n        {\n            Type = \"UserAssigned\",\n            IdentityIds = new[]\n            {\n                exampleUserAssignedIdentity.Id,\n            },\n        },\n    });\n\n    var exampleAccountEncryption = new Azure.NetApp.AccountEncryption(\"example\", new()\n    {\n        NetappAccountId = exampleAccount.Id,\n        UserAssignedIdentityId = exampleUserAssignedIdentity.Id,\n        EncryptionKey = exampleKey.VersionlessId,\n        FederatedClientId = exampleUserAssignedIdentity.ClientId,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/authorization\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/keyvault\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/netapp\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrent, err := core.GetClientConfig(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleUserAssignedIdentity, err := authorization.NewUserAssignedIdentity(ctx, \"example\", \u0026authorization.UserAssignedIdentityArgs{\n\t\t\tName:              pulumi.String(\"anf-user-assigned-identity\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleKeyVault, err := keyvault.NewKeyVault(ctx, \"example\", \u0026keyvault.KeyVaultArgs{\n\t\t\tName:                         pulumi.String(\"anfcmkakv\"),\n\t\t\tLocation:                     example.Location,\n\t\t\tResourceGroupName:            example.Name,\n\t\t\tEnabledForDiskEncryption:     pulumi.Bool(true),\n\t\t\tEnabledForDeployment:         pulumi.Bool(true),\n\t\t\tEnabledForTemplateDeployment: pulumi.Bool(true),\n\t\t\tPurgeProtectionEnabled:       pulumi.Bool(true),\n\t\t\tTenantId:                     pulumi.String(\"00000000-0000-0000-0000-000000000000\"),\n\t\t\tSkuName:                      pulumi.String(\"standard\"),\n\t\t\tAccessPolicies: keyvault.KeyVaultAccessPolicyArray{\n\t\t\t\t\u0026keyvault.KeyVaultAccessPolicyArgs{\n\t\t\t\t\tTenantId: pulumi.String(\"00000000-0000-0000-0000-000000000000\"),\n\t\t\t\t\tObjectId: pulumi.String(current.ObjectId),\n\t\t\t\t\tKeyPermissions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"Get\"),\n\t\t\t\t\t\tpulumi.String(\"Create\"),\n\t\t\t\t\t\tpulumi.String(\"Delete\"),\n\t\t\t\t\t\tpulumi.String(\"WrapKey\"),\n\t\t\t\t\t\tpulumi.String(\"UnwrapKey\"),\n\t\t\t\t\t\tpulumi.String(\"GetRotationPolicy\"),\n\t\t\t\t\t\tpulumi.String(\"SetRotationPolicy\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026keyvault.KeyVaultAccessPolicyArgs{\n\t\t\t\t\tTenantId: pulumi.String(\"00000000-0000-0000-0000-000000000000\"),\n\t\t\t\t\tObjectId: exampleUserAssignedIdentity.PrincipalId,\n\t\t\t\t\tKeyPermissions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"Get\"),\n\t\t\t\t\t\tpulumi.String(\"Encrypt\"),\n\t\t\t\t\t\tpulumi.String(\"Decrypt\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleKey, err := keyvault.NewKey(ctx, \"example\", \u0026keyvault.KeyArgs{\n\t\t\tName:       pulumi.String(\"anfencryptionkey\"),\n\t\t\tKeyVaultId: exampleKeyVault.ID(),\n\t\t\tKeyType:    pulumi.String(\"RSA\"),\n\t\t\tKeySize:    pulumi.Int(2048),\n\t\t\tKeyOpts: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"decrypt\"),\n\t\t\t\tpulumi.String(\"encrypt\"),\n\t\t\t\tpulumi.String(\"sign\"),\n\t\t\t\tpulumi.String(\"unwrapKey\"),\n\t\t\t\tpulumi.String(\"verify\"),\n\t\t\t\tpulumi.String(\"wrapKey\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := netapp.NewAccount(ctx, \"example\", \u0026netapp.AccountArgs{\n\t\t\tName:              pulumi.String(\"netappaccount\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tIdentity: \u0026netapp.AccountIdentityArgs{\n\t\t\t\tType: pulumi.String(\"UserAssigned\"),\n\t\t\t\tIdentityIds: pulumi.StringArray{\n\t\t\t\t\texampleUserAssignedIdentity.ID(),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = netapp.NewAccountEncryption(ctx, \"example\", \u0026netapp.AccountEncryptionArgs{\n\t\t\tNetappAccountId:        exampleAccount.ID(),\n\t\t\tUserAssignedIdentityId: exampleUserAssignedIdentity.ID(),\n\t\t\tEncryptionKey:          exampleKey.VersionlessId,\n\t\t\tFederatedClientId:      exampleUserAssignedIdentity.ClientId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.authorization.UserAssignedIdentity;\nimport com.pulumi.azure.authorization.UserAssignedIdentityArgs;\nimport com.pulumi.azure.keyvault.KeyVault;\nimport com.pulumi.azure.keyvault.KeyVaultArgs;\nimport com.pulumi.azure.keyvault.inputs.KeyVaultAccessPolicyArgs;\nimport com.pulumi.azure.keyvault.Key;\nimport com.pulumi.azure.keyvault.KeyArgs;\nimport com.pulumi.azure.netapp.Account;\nimport com.pulumi.azure.netapp.AccountArgs;\nimport com.pulumi.azure.netapp.inputs.AccountIdentityArgs;\nimport com.pulumi.azure.netapp.AccountEncryption;\nimport com.pulumi.azure.netapp.AccountEncryptionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        final var current = CoreFunctions.getClientConfig(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n        var exampleUserAssignedIdentity = new UserAssignedIdentity(\"exampleUserAssignedIdentity\", UserAssignedIdentityArgs.builder()\n            .name(\"anf-user-assigned-identity\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .build());\n\n        var exampleKeyVault = new KeyVault(\"exampleKeyVault\", KeyVaultArgs.builder()\n            .name(\"anfcmkakv\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .enabledForDiskEncryption(true)\n            .enabledForDeployment(true)\n            .enabledForTemplateDeployment(true)\n            .purgeProtectionEnabled(true)\n            .tenantId(\"00000000-0000-0000-0000-000000000000\")\n            .skuName(\"standard\")\n            .accessPolicies(            \n                KeyVaultAccessPolicyArgs.builder()\n                    .tenantId(\"00000000-0000-0000-0000-000000000000\")\n                    .objectId(current.objectId())\n                    .keyPermissions(                    \n                        \"Get\",\n                        \"Create\",\n                        \"Delete\",\n                        \"WrapKey\",\n                        \"UnwrapKey\",\n                        \"GetRotationPolicy\",\n                        \"SetRotationPolicy\")\n                    .build(),\n                KeyVaultAccessPolicyArgs.builder()\n                    .tenantId(\"00000000-0000-0000-0000-000000000000\")\n                    .objectId(exampleUserAssignedIdentity.principalId())\n                    .keyPermissions(                    \n                        \"Get\",\n                        \"Encrypt\",\n                        \"Decrypt\")\n                    .build())\n            .build());\n\n        var exampleKey = new Key(\"exampleKey\", KeyArgs.builder()\n            .name(\"anfencryptionkey\")\n            .keyVaultId(exampleKeyVault.id())\n            .keyType(\"RSA\")\n            .keySize(2048)\n            .keyOpts(            \n                \"decrypt\",\n                \"encrypt\",\n                \"sign\",\n                \"unwrapKey\",\n                \"verify\",\n                \"wrapKey\")\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"netappaccount\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .identity(AccountIdentityArgs.builder()\n                .type(\"UserAssigned\")\n                .identityIds(exampleUserAssignedIdentity.id())\n                .build())\n            .build());\n\n        var exampleAccountEncryption = new AccountEncryption(\"exampleAccountEncryption\", AccountEncryptionArgs.builder()\n            .netappAccountId(exampleAccount.id())\n            .userAssignedIdentityId(exampleUserAssignedIdentity.id())\n            .encryptionKey(exampleKey.versionlessId())\n            .federatedClientId(exampleUserAssignedIdentity.clientId())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleUserAssignedIdentity:\n    type: azure:authorization:UserAssignedIdentity\n    name: example\n    properties:\n      name: anf-user-assigned-identity\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n  exampleKeyVault:\n    type: azure:keyvault:KeyVault\n    name: example\n    properties:\n      name: anfcmkakv\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      enabledForDiskEncryption: true\n      enabledForDeployment: true\n      enabledForTemplateDeployment: true\n      purgeProtectionEnabled: true\n      tenantId: 00000000-0000-0000-0000-000000000000\n      skuName: standard\n      accessPolicies:\n        - tenantId: 00000000-0000-0000-0000-000000000000\n          objectId: ${current.objectId}\n          keyPermissions:\n            - Get\n            - Create\n            - Delete\n            - WrapKey\n            - UnwrapKey\n            - GetRotationPolicy\n            - SetRotationPolicy\n        - tenantId: 00000000-0000-0000-0000-000000000000\n          objectId: ${exampleUserAssignedIdentity.principalId}\n          keyPermissions:\n            - Get\n            - Encrypt\n            - Decrypt\n  exampleKey:\n    type: azure:keyvault:Key\n    name: example\n    properties:\n      name: anfencryptionkey\n      keyVaultId: ${exampleKeyVault.id}\n      keyType: RSA\n      keySize: 2048\n      keyOpts:\n        - decrypt\n        - encrypt\n        - sign\n        - unwrapKey\n        - verify\n        - wrapKey\n  exampleAccount:\n    type: azure:netapp:Account\n    name: example\n    properties:\n      name: netappaccount\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      identity:\n        type: UserAssigned\n        identityIds:\n          - ${exampleUserAssignedIdentity.id}\n  exampleAccountEncryption:\n    type: azure:netapp:AccountEncryption\n    name: example\n    properties:\n      netappAccountId: ${exampleAccount.id}\n      userAssignedIdentityId: ${exampleUserAssignedIdentity.id}\n      encryptionKey: ${exampleKey.versionlessId}\n      federatedClientId: ${exampleUserAssignedIdentity.clientId}\nvariables:\n  current:\n    fn::invoke:\n      function: azure:core:getClientConfig\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Cross-Tenant Usage\n\nFor scenarios where the key vault is in a different Entra ID tenant:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst crossTenant = new azure.netapp.AccountEncryption(\"cross_tenant\", {\n    netappAccountId: example.id,\n    userAssignedIdentityId: exampleAzurermUserAssignedIdentity.id,\n    encryptionKey: \"https://keyvault-in-other-tenant.vault.azure.net/keys/encryption-key\",\n    federatedClientId: \"12345678-1234-1234-1234-123456789012\",\n    crossTenantKeyVaultResourceId: \"/subscriptions/11111111-1111-1111-1111-111111111111/resourceGroups/remote-rg/providers/Microsoft.KeyVault/vaults/keyvault-in-other-tenant\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\ncross_tenant = azure.netapp.AccountEncryption(\"cross_tenant\",\n    netapp_account_id=example[\"id\"],\n    user_assigned_identity_id=example_azurerm_user_assigned_identity[\"id\"],\n    encryption_key=\"https://keyvault-in-other-tenant.vault.azure.net/keys/encryption-key\",\n    federated_client_id=\"12345678-1234-1234-1234-123456789012\",\n    cross_tenant_key_vault_resource_id=\"/subscriptions/11111111-1111-1111-1111-111111111111/resourceGroups/remote-rg/providers/Microsoft.KeyVault/vaults/keyvault-in-other-tenant\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var crossTenant = new Azure.NetApp.AccountEncryption(\"cross_tenant\", new()\n    {\n        NetappAccountId = example.Id,\n        UserAssignedIdentityId = exampleAzurermUserAssignedIdentity.Id,\n        EncryptionKey = \"https://keyvault-in-other-tenant.vault.azure.net/keys/encryption-key\",\n        FederatedClientId = \"12345678-1234-1234-1234-123456789012\",\n        CrossTenantKeyVaultResourceId = \"/subscriptions/11111111-1111-1111-1111-111111111111/resourceGroups/remote-rg/providers/Microsoft.KeyVault/vaults/keyvault-in-other-tenant\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/netapp\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := netapp.NewAccountEncryption(ctx, \"cross_tenant\", \u0026netapp.AccountEncryptionArgs{\n\t\t\tNetappAccountId:               pulumi.Any(example.Id),\n\t\t\tUserAssignedIdentityId:        pulumi.Any(exampleAzurermUserAssignedIdentity.Id),\n\t\t\tEncryptionKey:                 pulumi.String(\"https://keyvault-in-other-tenant.vault.azure.net/keys/encryption-key\"),\n\t\t\tFederatedClientId:             pulumi.String(\"12345678-1234-1234-1234-123456789012\"),\n\t\t\tCrossTenantKeyVaultResourceId: pulumi.String(\"/subscriptions/11111111-1111-1111-1111-111111111111/resourceGroups/remote-rg/providers/Microsoft.KeyVault/vaults/keyvault-in-other-tenant\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.netapp.AccountEncryption;\nimport com.pulumi.azure.netapp.AccountEncryptionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var crossTenant = new AccountEncryption(\"crossTenant\", AccountEncryptionArgs.builder()\n            .netappAccountId(example.id())\n            .userAssignedIdentityId(exampleAzurermUserAssignedIdentity.id())\n            .encryptionKey(\"https://keyvault-in-other-tenant.vault.azure.net/keys/encryption-key\")\n            .federatedClientId(\"12345678-1234-1234-1234-123456789012\")\n            .crossTenantKeyVaultResourceId(\"/subscriptions/11111111-1111-1111-1111-111111111111/resourceGroups/remote-rg/providers/Microsoft.KeyVault/vaults/keyvault-in-other-tenant\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  crossTenant:\n    type: azure:netapp:AccountEncryption\n    name: cross_tenant\n    properties:\n      netappAccountId: ${example.id}\n      userAssignedIdentityId: ${exampleAzurermUserAssignedIdentity.id}\n      encryptionKey: https://keyvault-in-other-tenant.vault.azure.net/keys/encryption-key\n      federatedClientId: 12345678-1234-1234-1234-123456789012\n      crossTenantKeyVaultResourceId: /subscriptions/11111111-1111-1111-1111-111111111111/resourceGroups/remote-rg/providers/Microsoft.KeyVault/vaults/keyvault-in-other-tenant\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.NetApp` - 2025-06-01\n\n## Import\n\nAccount Encryption Resources can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:netapp/accountEncryption:AccountEncryption example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.NetApp/netAppAccounts/account1\n```\n\n","properties":{"crossTenantKeyVaultResourceId":{"type":"string","description":"The full resource ID of the cross-tenant key vault. This is recommended when using \u003cspan pulumi-lang-nodejs=\"`federatedClientId`\" pulumi-lang-dotnet=\"`FederatedClientId`\" pulumi-lang-go=\"`federatedClientId`\" pulumi-lang-python=\"`federated_client_id`\" pulumi-lang-yaml=\"`federatedClientId`\" pulumi-lang-java=\"`federatedClientId`\"\u003e`federated_client_id`\u003c/span\u003e for cross-tenant scenarios to ensure proper validation by Azure APIs.\n"},"encryptionKey":{"type":"string","description":"Specify the versionless ID of the encryption key.\n"},"federatedClientId":{"type":"string","description":"The Client ID of the multi-tenant Entra ID application used to access cross-tenant key vaults. This is only required when accessing a key vault in a different tenant than the NetApp account.\n"},"netappAccountId":{"type":"string","description":"The ID of the NetApp account where volume under it will have customer managed keys-based encryption enabled.\n"},"systemAssignedIdentityPrincipalId":{"type":"string","description":"The ID of the System Assigned Manged Identity. Conflicts with \u003cspan pulumi-lang-nodejs=\"`userAssignedIdentityId`\" pulumi-lang-dotnet=\"`UserAssignedIdentityId`\" pulumi-lang-go=\"`userAssignedIdentityId`\" pulumi-lang-python=\"`user_assigned_identity_id`\" pulumi-lang-yaml=\"`userAssignedIdentityId`\" pulumi-lang-java=\"`userAssignedIdentityId`\"\u003e`user_assigned_identity_id`\u003c/span\u003e.\n"},"userAssignedIdentityId":{"type":"string","description":"The ID of the User Assigned Managed Identity. Conflicts with \u003cspan pulumi-lang-nodejs=\"`systemAssignedIdentityPrincipalId`\" pulumi-lang-dotnet=\"`SystemAssignedIdentityPrincipalId`\" pulumi-lang-go=\"`systemAssignedIdentityPrincipalId`\" pulumi-lang-python=\"`system_assigned_identity_principal_id`\" pulumi-lang-yaml=\"`systemAssignedIdentityPrincipalId`\" pulumi-lang-java=\"`systemAssignedIdentityPrincipalId`\"\u003e`system_assigned_identity_principal_id`\u003c/span\u003e.\n"}},"required":["encryptionKey","netappAccountId"],"inputProperties":{"crossTenantKeyVaultResourceId":{"type":"string","description":"The full resource ID of the cross-tenant key vault. This is recommended when using \u003cspan pulumi-lang-nodejs=\"`federatedClientId`\" pulumi-lang-dotnet=\"`FederatedClientId`\" pulumi-lang-go=\"`federatedClientId`\" pulumi-lang-python=\"`federated_client_id`\" pulumi-lang-yaml=\"`federatedClientId`\" pulumi-lang-java=\"`federatedClientId`\"\u003e`federated_client_id`\u003c/span\u003e for cross-tenant scenarios to ensure proper validation by Azure APIs.\n"},"encryptionKey":{"type":"string","description":"Specify the versionless ID of the encryption key.\n"},"federatedClientId":{"type":"string","description":"The Client ID of the multi-tenant Entra ID application used to access cross-tenant key vaults. This is only required when accessing a key vault in a different tenant than the NetApp account.\n"},"netappAccountId":{"type":"string","description":"The ID of the NetApp account where volume under it will have customer managed keys-based encryption enabled.\n"},"systemAssignedIdentityPrincipalId":{"type":"string","description":"The ID of the System Assigned Manged Identity. Conflicts with \u003cspan pulumi-lang-nodejs=\"`userAssignedIdentityId`\" pulumi-lang-dotnet=\"`UserAssignedIdentityId`\" pulumi-lang-go=\"`userAssignedIdentityId`\" pulumi-lang-python=\"`user_assigned_identity_id`\" pulumi-lang-yaml=\"`userAssignedIdentityId`\" pulumi-lang-java=\"`userAssignedIdentityId`\"\u003e`user_assigned_identity_id`\u003c/span\u003e.\n"},"userAssignedIdentityId":{"type":"string","description":"The ID of the User Assigned Managed Identity. Conflicts with \u003cspan pulumi-lang-nodejs=\"`systemAssignedIdentityPrincipalId`\" pulumi-lang-dotnet=\"`SystemAssignedIdentityPrincipalId`\" pulumi-lang-go=\"`systemAssignedIdentityPrincipalId`\" pulumi-lang-python=\"`system_assigned_identity_principal_id`\" pulumi-lang-yaml=\"`systemAssignedIdentityPrincipalId`\" pulumi-lang-java=\"`systemAssignedIdentityPrincipalId`\"\u003e`system_assigned_identity_principal_id`\u003c/span\u003e.\n"}},"requiredInputs":["encryptionKey","netappAccountId"],"stateInputs":{"description":"Input properties used for looking up and filtering AccountEncryption resources.\n","properties":{"crossTenantKeyVaultResourceId":{"type":"string","description":"The full resource ID of the cross-tenant key vault. This is recommended when using \u003cspan pulumi-lang-nodejs=\"`federatedClientId`\" pulumi-lang-dotnet=\"`FederatedClientId`\" pulumi-lang-go=\"`federatedClientId`\" pulumi-lang-python=\"`federated_client_id`\" pulumi-lang-yaml=\"`federatedClientId`\" pulumi-lang-java=\"`federatedClientId`\"\u003e`federated_client_id`\u003c/span\u003e for cross-tenant scenarios to ensure proper validation by Azure APIs.\n"},"encryptionKey":{"type":"string","description":"Specify the versionless ID of the encryption key.\n"},"federatedClientId":{"type":"string","description":"The Client ID of the multi-tenant Entra ID application used to access cross-tenant key vaults. This is only required when accessing a key vault in a different tenant than the NetApp account.\n"},"netappAccountId":{"type":"string","description":"The ID of the NetApp account where volume under it will have customer managed keys-based encryption enabled.\n"},"systemAssignedIdentityPrincipalId":{"type":"string","description":"The ID of the System Assigned Manged Identity. Conflicts with \u003cspan pulumi-lang-nodejs=\"`userAssignedIdentityId`\" pulumi-lang-dotnet=\"`UserAssignedIdentityId`\" pulumi-lang-go=\"`userAssignedIdentityId`\" pulumi-lang-python=\"`user_assigned_identity_id`\" pulumi-lang-yaml=\"`userAssignedIdentityId`\" pulumi-lang-java=\"`userAssignedIdentityId`\"\u003e`user_assigned_identity_id`\u003c/span\u003e.\n"},"userAssignedIdentityId":{"type":"string","description":"The ID of the User Assigned Managed Identity. Conflicts with \u003cspan pulumi-lang-nodejs=\"`systemAssignedIdentityPrincipalId`\" pulumi-lang-dotnet=\"`SystemAssignedIdentityPrincipalId`\" pulumi-lang-go=\"`systemAssignedIdentityPrincipalId`\" pulumi-lang-python=\"`system_assigned_identity_principal_id`\" pulumi-lang-yaml=\"`systemAssignedIdentityPrincipalId`\" pulumi-lang-java=\"`systemAssignedIdentityPrincipalId`\"\u003e`system_assigned_identity_principal_id`\u003c/span\u003e.\n"}},"type":"object"}},"azure:netapp/backupPolicy:BackupPolicy":{"description":"Manages a NetApp Backup Policy.\n\n## NetApp Backup Policy Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleAccount = new azure.netapp.Account(\"example\", {\n    name: \"example-netappaccount\",\n    location: example.location,\n    resourceGroupName: example.name,\n});\nconst exampleBackupPolicy = new azure.netapp.BackupPolicy(\"example\", {\n    name: \"example-netappbackuppolicy\",\n    resourceGroupName: example.name,\n    location: example.location,\n    accountName: exampleAccount.name,\n    enabled: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_account = azure.netapp.Account(\"example\",\n    name=\"example-netappaccount\",\n    location=example.location,\n    resource_group_name=example.name)\nexample_backup_policy = azure.netapp.BackupPolicy(\"example\",\n    name=\"example-netappbackuppolicy\",\n    resource_group_name=example.name,\n    location=example.location,\n    account_name=example_account.name,\n    enabled=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleAccount = new Azure.NetApp.Account(\"example\", new()\n    {\n        Name = \"example-netappaccount\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n    });\n\n    var exampleBackupPolicy = new Azure.NetApp.BackupPolicy(\"example\", new()\n    {\n        Name = \"example-netappbackuppolicy\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        AccountName = exampleAccount.Name,\n        Enabled = true,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/netapp\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := netapp.NewAccount(ctx, \"example\", \u0026netapp.AccountArgs{\n\t\t\tName:              pulumi.String(\"example-netappaccount\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = netapp.NewBackupPolicy(ctx, \"example\", \u0026netapp.BackupPolicyArgs{\n\t\t\tName:              pulumi.String(\"example-netappbackuppolicy\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tAccountName:       exampleAccount.Name,\n\t\t\tEnabled:           pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.netapp.Account;\nimport com.pulumi.azure.netapp.AccountArgs;\nimport com.pulumi.azure.netapp.BackupPolicy;\nimport com.pulumi.azure.netapp.BackupPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"example-netappaccount\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .build());\n\n        var exampleBackupPolicy = new BackupPolicy(\"exampleBackupPolicy\", BackupPolicyArgs.builder()\n            .name(\"example-netappbackuppolicy\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .accountName(exampleAccount.name())\n            .enabled(true)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleAccount:\n    type: azure:netapp:Account\n    name: example\n    properties:\n      name: example-netappaccount\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n  exampleBackupPolicy:\n    type: azure:netapp:BackupPolicy\n    name: example\n    properties:\n      name: example-netappbackuppolicy\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      accountName: ${exampleAccount.name}\n      enabled: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.NetApp` - 2025-06-01\n\n## Import\n\nNetApp Backup Policies can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:netapp/backupPolicy:BackupPolicy example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.NetApp/netAppAccounts/account1/backupPolicies/backuppolicy1\n```\n\n","properties":{"accountName":{"type":"string","description":"The name of the NetApp account in which the NetApp Policy should be created under. Changing this forces a new resource to be created.\n"},"dailyBackupsToKeep":{"type":"integer","description":"Provides the number of daily backups to keep, defaults to \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e which is the minimum, maximum is 1019.\n"},"enabled":{"type":"boolean","description":"Whether the Backup Policy is enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n"},"monthlyBackupsToKeep":{"type":"integer","description":"Provides the number of monthly backups to keep, defaults to \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e. The minimum is \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e and the maximum is \u003cspan pulumi-lang-nodejs=\"`1019`\" pulumi-lang-dotnet=\"`1019`\" pulumi-lang-go=\"`1019`\" pulumi-lang-python=\"`1019`\" pulumi-lang-yaml=\"`1019`\" pulumi-lang-java=\"`1019`\"\u003e`1019`\u003c/span\u003e.\n\n\u003e **Note:** Currently, the combined (daily + weekly + monthy) retention counts cannot exceed 1019.\n"},"name":{"type":"string","description":"The name of the NetApp Backup Policy. Changing this forces a new resource to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group where the NetApp Backup Policy should be created. Changing this forces a new resource to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"weeklyBackupsToKeep":{"type":"integer","description":"Provides the number of weekly backups to keep, defaults to \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e. The minimum is \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e and the maximum is \u003cspan pulumi-lang-nodejs=\"`1019`\" pulumi-lang-dotnet=\"`1019`\" pulumi-lang-go=\"`1019`\" pulumi-lang-python=\"`1019`\" pulumi-lang-yaml=\"`1019`\" pulumi-lang-java=\"`1019`\"\u003e`1019`\u003c/span\u003e.\n"}},"required":["accountName","location","name","resourceGroupName"],"inputProperties":{"accountName":{"type":"string","description":"The name of the NetApp account in which the NetApp Policy should be created under. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"dailyBackupsToKeep":{"type":"integer","description":"Provides the number of daily backups to keep, defaults to \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e which is the minimum, maximum is 1019.\n"},"enabled":{"type":"boolean","description":"Whether the Backup Policy is enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"monthlyBackupsToKeep":{"type":"integer","description":"Provides the number of monthly backups to keep, defaults to \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e. The minimum is \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e and the maximum is \u003cspan pulumi-lang-nodejs=\"`1019`\" pulumi-lang-dotnet=\"`1019`\" pulumi-lang-go=\"`1019`\" pulumi-lang-python=\"`1019`\" pulumi-lang-yaml=\"`1019`\" pulumi-lang-java=\"`1019`\"\u003e`1019`\u003c/span\u003e.\n\n\u003e **Note:** Currently, the combined (daily + weekly + monthy) retention counts cannot exceed 1019.\n"},"name":{"type":"string","description":"The name of the NetApp Backup Policy. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group where the NetApp Backup Policy should be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"weeklyBackupsToKeep":{"type":"integer","description":"Provides the number of weekly backups to keep, defaults to \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e. The minimum is \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e and the maximum is \u003cspan pulumi-lang-nodejs=\"`1019`\" pulumi-lang-dotnet=\"`1019`\" pulumi-lang-go=\"`1019`\" pulumi-lang-python=\"`1019`\" pulumi-lang-yaml=\"`1019`\" pulumi-lang-java=\"`1019`\"\u003e`1019`\u003c/span\u003e.\n"}},"requiredInputs":["accountName","resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering BackupPolicy resources.\n","properties":{"accountName":{"type":"string","description":"The name of the NetApp account in which the NetApp Policy should be created under. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"dailyBackupsToKeep":{"type":"integer","description":"Provides the number of daily backups to keep, defaults to \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e which is the minimum, maximum is 1019.\n"},"enabled":{"type":"boolean","description":"Whether the Backup Policy is enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"monthlyBackupsToKeep":{"type":"integer","description":"Provides the number of monthly backups to keep, defaults to \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e. The minimum is \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e and the maximum is \u003cspan pulumi-lang-nodejs=\"`1019`\" pulumi-lang-dotnet=\"`1019`\" pulumi-lang-go=\"`1019`\" pulumi-lang-python=\"`1019`\" pulumi-lang-yaml=\"`1019`\" pulumi-lang-java=\"`1019`\"\u003e`1019`\u003c/span\u003e.\n\n\u003e **Note:** Currently, the combined (daily + weekly + monthy) retention counts cannot exceed 1019.\n"},"name":{"type":"string","description":"The name of the NetApp Backup Policy. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group where the NetApp Backup Policy should be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"weeklyBackupsToKeep":{"type":"integer","description":"Provides the number of weekly backups to keep, defaults to \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e. The minimum is \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e and the maximum is \u003cspan pulumi-lang-nodejs=\"`1019`\" pulumi-lang-dotnet=\"`1019`\" pulumi-lang-go=\"`1019`\" pulumi-lang-python=\"`1019`\" pulumi-lang-yaml=\"`1019`\" pulumi-lang-java=\"`1019`\"\u003e`1019`\u003c/span\u003e.\n"}},"type":"object"}},"azure:netapp/backupVault:BackupVault":{"description":"Manages a NetApp Backup Vault.\n\n## NetApp Backup Vault Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleAccount = new azure.netapp.Account(\"example\", {\n    name: \"example-netappaccount\",\n    location: example.location,\n    resourceGroupName: example.name,\n});\nconst exampleBackupVault = new azure.netapp.BackupVault(\"example\", {\n    name: \"example-netappbackupvault\",\n    resourceGroupName: example.name,\n    location: example.location,\n    accountName: exampleAccount.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_account = azure.netapp.Account(\"example\",\n    name=\"example-netappaccount\",\n    location=example.location,\n    resource_group_name=example.name)\nexample_backup_vault = azure.netapp.BackupVault(\"example\",\n    name=\"example-netappbackupvault\",\n    resource_group_name=example.name,\n    location=example.location,\n    account_name=example_account.name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleAccount = new Azure.NetApp.Account(\"example\", new()\n    {\n        Name = \"example-netappaccount\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n    });\n\n    var exampleBackupVault = new Azure.NetApp.BackupVault(\"example\", new()\n    {\n        Name = \"example-netappbackupvault\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        AccountName = exampleAccount.Name,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/netapp\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := netapp.NewAccount(ctx, \"example\", \u0026netapp.AccountArgs{\n\t\t\tName:              pulumi.String(\"example-netappaccount\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = netapp.NewBackupVault(ctx, \"example\", \u0026netapp.BackupVaultArgs{\n\t\t\tName:              pulumi.String(\"example-netappbackupvault\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tAccountName:       exampleAccount.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.netapp.Account;\nimport com.pulumi.azure.netapp.AccountArgs;\nimport com.pulumi.azure.netapp.BackupVault;\nimport com.pulumi.azure.netapp.BackupVaultArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"example-netappaccount\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .build());\n\n        var exampleBackupVault = new BackupVault(\"exampleBackupVault\", BackupVaultArgs.builder()\n            .name(\"example-netappbackupvault\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .accountName(exampleAccount.name())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleAccount:\n    type: azure:netapp:Account\n    name: example\n    properties:\n      name: example-netappaccount\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n  exampleBackupVault:\n    type: azure:netapp:BackupVault\n    name: example\n    properties:\n      name: example-netappbackupvault\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      accountName: ${exampleAccount.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.NetApp` - 2025-06-01\n\n## Import\n\nNetApp Backup Vault can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:netapp/backupVault:BackupVault example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.NetApp/netAppAccounts/account1/backupVaults/backupVault1\n```\n\n","properties":{"accountName":{"type":"string","description":"The name of the NetApp account in which the NetApp Vault should be created under. Changing this forces a new resource to be created.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"The name of the NetApp Backup Vault. Changing this forces a new resource to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group where the NetApp Backup Vault should be created. Changing this forces a new resource to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"required":["accountName","location","name","resourceGroupName"],"inputProperties":{"accountName":{"type":"string","description":"The name of the NetApp account in which the NetApp Vault should be created under. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the NetApp Backup Vault. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group where the NetApp Backup Vault should be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"requiredInputs":["accountName","resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering BackupVault resources.\n","properties":{"accountName":{"type":"string","description":"The name of the NetApp account in which the NetApp Vault should be created under. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the NetApp Backup Vault. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group where the NetApp Backup Vault should be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"type":"object"}},"azure:netapp/pool:Pool":{"description":"Manages a Pool within a NetApp Account.\n\n## NetApp Pool Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleAccount = new azure.netapp.Account(\"example\", {\n    name: \"example-netappaccount\",\n    location: example.location,\n    resourceGroupName: example.name,\n});\nconst examplePool = new azure.netapp.Pool(\"example\", {\n    name: \"example-netapppool\",\n    accountName: exampleAccount.name,\n    location: example.location,\n    resourceGroupName: example.name,\n    serviceLevel: \"Premium\",\n    sizeInTb: 4,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_account = azure.netapp.Account(\"example\",\n    name=\"example-netappaccount\",\n    location=example.location,\n    resource_group_name=example.name)\nexample_pool = azure.netapp.Pool(\"example\",\n    name=\"example-netapppool\",\n    account_name=example_account.name,\n    location=example.location,\n    resource_group_name=example.name,\n    service_level=\"Premium\",\n    size_in_tb=4)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleAccount = new Azure.NetApp.Account(\"example\", new()\n    {\n        Name = \"example-netappaccount\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n    });\n\n    var examplePool = new Azure.NetApp.Pool(\"example\", new()\n    {\n        Name = \"example-netapppool\",\n        AccountName = exampleAccount.Name,\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        ServiceLevel = \"Premium\",\n        SizeInTb = 4,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/netapp\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := netapp.NewAccount(ctx, \"example\", \u0026netapp.AccountArgs{\n\t\t\tName:              pulumi.String(\"example-netappaccount\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = netapp.NewPool(ctx, \"example\", \u0026netapp.PoolArgs{\n\t\t\tName:              pulumi.String(\"example-netapppool\"),\n\t\t\tAccountName:       exampleAccount.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tServiceLevel:      pulumi.String(\"Premium\"),\n\t\t\tSizeInTb:          pulumi.Int(4),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.netapp.Account;\nimport com.pulumi.azure.netapp.AccountArgs;\nimport com.pulumi.azure.netapp.Pool;\nimport com.pulumi.azure.netapp.PoolArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"example-netappaccount\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .build());\n\n        var examplePool = new Pool(\"examplePool\", PoolArgs.builder()\n            .name(\"example-netapppool\")\n            .accountName(exampleAccount.name())\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .serviceLevel(\"Premium\")\n            .sizeInTb(4)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleAccount:\n    type: azure:netapp:Account\n    name: example\n    properties:\n      name: example-netappaccount\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n  examplePool:\n    type: azure:netapp:Pool\n    name: example\n    properties:\n      name: example-netapppool\n      accountName: ${exampleAccount.name}\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      serviceLevel: Premium\n      sizeInTb: 4\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## NetApp Pool with Flexible Service Level Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleAccount = new azure.netapp.Account(\"example\", {\n    name: \"example-netappaccount\",\n    location: example.location,\n    resourceGroupName: example.name,\n});\nconst examplePool = new azure.netapp.Pool(\"example\", {\n    name: \"example-netapppool\",\n    accountName: exampleAccount.name,\n    location: example.location,\n    resourceGroupName: example.name,\n    serviceLevel: \"Flexible\",\n    sizeInTb: 4,\n    qosType: \"Manual\",\n    customThroughputMibps: 256,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_account = azure.netapp.Account(\"example\",\n    name=\"example-netappaccount\",\n    location=example.location,\n    resource_group_name=example.name)\nexample_pool = azure.netapp.Pool(\"example\",\n    name=\"example-netapppool\",\n    account_name=example_account.name,\n    location=example.location,\n    resource_group_name=example.name,\n    service_level=\"Flexible\",\n    size_in_tb=4,\n    qos_type=\"Manual\",\n    custom_throughput_mibps=256)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleAccount = new Azure.NetApp.Account(\"example\", new()\n    {\n        Name = \"example-netappaccount\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n    });\n\n    var examplePool = new Azure.NetApp.Pool(\"example\", new()\n    {\n        Name = \"example-netapppool\",\n        AccountName = exampleAccount.Name,\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        ServiceLevel = \"Flexible\",\n        SizeInTb = 4,\n        QosType = \"Manual\",\n        CustomThroughputMibps = 256,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/netapp\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := netapp.NewAccount(ctx, \"example\", \u0026netapp.AccountArgs{\n\t\t\tName:              pulumi.String(\"example-netappaccount\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = netapp.NewPool(ctx, \"example\", \u0026netapp.PoolArgs{\n\t\t\tName:                  pulumi.String(\"example-netapppool\"),\n\t\t\tAccountName:           exampleAccount.Name,\n\t\t\tLocation:              example.Location,\n\t\t\tResourceGroupName:     example.Name,\n\t\t\tServiceLevel:          pulumi.String(\"Flexible\"),\n\t\t\tSizeInTb:              pulumi.Int(4),\n\t\t\tQosType:               pulumi.String(\"Manual\"),\n\t\t\tCustomThroughputMibps: pulumi.Int(256),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.netapp.Account;\nimport com.pulumi.azure.netapp.AccountArgs;\nimport com.pulumi.azure.netapp.Pool;\nimport com.pulumi.azure.netapp.PoolArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"example-netappaccount\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .build());\n\n        var examplePool = new Pool(\"examplePool\", PoolArgs.builder()\n            .name(\"example-netapppool\")\n            .accountName(exampleAccount.name())\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .serviceLevel(\"Flexible\")\n            .sizeInTb(4)\n            .qosType(\"Manual\")\n            .customThroughputMibps(256)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleAccount:\n    type: azure:netapp:Account\n    name: example\n    properties:\n      name: example-netappaccount\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n  examplePool:\n    type: azure:netapp:Pool\n    name: example\n    properties:\n      name: example-netapppool\n      accountName: ${exampleAccount.name}\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      serviceLevel: Flexible\n      sizeInTb: 4\n      qosType: Manual\n      customThroughputMibps: 256\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.NetApp` - 2025-06-01\n\n## Import\n\nNetApp Pool can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:netapp/pool:Pool example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1\n```\n\n","properties":{"accountName":{"type":"string","description":"The name of the NetApp account in which the NetApp Pool should be created. Changing this forces a new resource to be created.\n"},"coolAccessEnabled":{"type":"boolean","description":"Whether the NetApp Pool can hold cool access enabled volumes. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** Disabling \u003cspan pulumi-lang-nodejs=\"`coolAccessEnabled`\" pulumi-lang-dotnet=\"`CoolAccessEnabled`\" pulumi-lang-go=\"`coolAccessEnabled`\" pulumi-lang-python=\"`cool_access_enabled`\" pulumi-lang-yaml=\"`coolAccessEnabled`\" pulumi-lang-java=\"`coolAccessEnabled`\"\u003e`cool_access_enabled`\u003c/span\u003e is not allowed and forces a new resource to be created.\n"},"customThroughputMibps":{"type":"integer","description":"The custom throughput for the pool in MiB/s. Minimum value is \u003cspan pulumi-lang-nodejs=\"`128`\" pulumi-lang-dotnet=\"`128`\" pulumi-lang-go=\"`128`\" pulumi-lang-python=\"`128`\" pulumi-lang-yaml=\"`128`\" pulumi-lang-java=\"`128`\"\u003e`128`\u003c/span\u003e. This field can only be set when \u003cspan pulumi-lang-nodejs=\"`serviceLevel`\" pulumi-lang-dotnet=\"`ServiceLevel`\" pulumi-lang-go=\"`serviceLevel`\" pulumi-lang-python=\"`service_level`\" pulumi-lang-yaml=\"`serviceLevel`\" pulumi-lang-java=\"`serviceLevel`\"\u003e`service_level`\u003c/span\u003e is set to `Flexible` and \u003cspan pulumi-lang-nodejs=\"`qosType`\" pulumi-lang-dotnet=\"`QosType`\" pulumi-lang-go=\"`qosType`\" pulumi-lang-python=\"`qos_type`\" pulumi-lang-yaml=\"`qosType`\" pulumi-lang-java=\"`qosType`\"\u003e`qos_type`\u003c/span\u003e is set to `Manual`.\n"},"encryptionType":{"type":"string","description":"The encryption type of the pool. Valid values include `Single`, and `Double`. Defaults to `Single`. Changing this forces a new resource to be created.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"The name of the NetApp Pool. Changing this forces a new resource to be created.\n"},"qosType":{"type":"string","description":"QoS Type of the pool. Valid values include `Auto` or `Manual`. Defaults to `Auto`.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group where the NetApp Pool should be created. Changing this forces a new resource to be created.\n"},"serviceLevel":{"type":"string","description":"The service level of the file system. Valid values include `Premium`, `Standard`, `Ultra`, and `Flexible`. Changing this forces a new resource to be created.\n"},"sizeInTb":{"type":"integer","description":"Provisioned size of the pool in TB. Value must be between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`2048`\" pulumi-lang-dotnet=\"`2048`\" pulumi-lang-go=\"`2048`\" pulumi-lang-python=\"`2048`\" pulumi-lang-yaml=\"`2048`\" pulumi-lang-java=\"`2048`\"\u003e`2048`\u003c/span\u003e.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e TB capacity pool sizing is currently in preview. You can only take advantage of the \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e TB minimum if all the volumes in the capacity pool are using `Standard` network features. If any volume is using `Basic` network features, the minimum size is \u003cspan pulumi-lang-nodejs=\"`4`\" pulumi-lang-dotnet=\"`4`\" pulumi-lang-go=\"`4`\" pulumi-lang-python=\"`4`\" pulumi-lang-yaml=\"`4`\" pulumi-lang-java=\"`4`\"\u003e`4`\u003c/span\u003e TB. Please see the product [documentation](https://learn.microsoft.com/azure/azure-netapp-files/azure-netapp-files-set-up-capacity-pool) for more information.\n\n\u003e **Note:** The maximum \u003cspan pulumi-lang-nodejs=\"`sizeInTb`\" pulumi-lang-dotnet=\"`SizeInTb`\" pulumi-lang-go=\"`sizeInTb`\" pulumi-lang-python=\"`size_in_tb`\" pulumi-lang-yaml=\"`sizeInTb`\" pulumi-lang-java=\"`sizeInTb`\"\u003e`size_in_tb`\u003c/span\u003e is goverened by regional quotas. You may request additional capacity from Azure, currently up to \u003cspan pulumi-lang-nodejs=\"`2048`\" pulumi-lang-dotnet=\"`2048`\" pulumi-lang-go=\"`2048`\" pulumi-lang-python=\"`2048`\" pulumi-lang-yaml=\"`2048`\" pulumi-lang-java=\"`2048`\"\u003e`2048`\u003c/span\u003e.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"required":["accountName","location","name","resourceGroupName","serviceLevel","sizeInTb"],"inputProperties":{"accountName":{"type":"string","description":"The name of the NetApp account in which the NetApp Pool should be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"coolAccessEnabled":{"type":"boolean","description":"Whether the NetApp Pool can hold cool access enabled volumes. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** Disabling \u003cspan pulumi-lang-nodejs=\"`coolAccessEnabled`\" pulumi-lang-dotnet=\"`CoolAccessEnabled`\" pulumi-lang-go=\"`coolAccessEnabled`\" pulumi-lang-python=\"`cool_access_enabled`\" pulumi-lang-yaml=\"`coolAccessEnabled`\" pulumi-lang-java=\"`coolAccessEnabled`\"\u003e`cool_access_enabled`\u003c/span\u003e is not allowed and forces a new resource to be created.\n"},"customThroughputMibps":{"type":"integer","description":"The custom throughput for the pool in MiB/s. Minimum value is \u003cspan pulumi-lang-nodejs=\"`128`\" pulumi-lang-dotnet=\"`128`\" pulumi-lang-go=\"`128`\" pulumi-lang-python=\"`128`\" pulumi-lang-yaml=\"`128`\" pulumi-lang-java=\"`128`\"\u003e`128`\u003c/span\u003e. This field can only be set when \u003cspan pulumi-lang-nodejs=\"`serviceLevel`\" pulumi-lang-dotnet=\"`ServiceLevel`\" pulumi-lang-go=\"`serviceLevel`\" pulumi-lang-python=\"`service_level`\" pulumi-lang-yaml=\"`serviceLevel`\" pulumi-lang-java=\"`serviceLevel`\"\u003e`service_level`\u003c/span\u003e is set to `Flexible` and \u003cspan pulumi-lang-nodejs=\"`qosType`\" pulumi-lang-dotnet=\"`QosType`\" pulumi-lang-go=\"`qosType`\" pulumi-lang-python=\"`qos_type`\" pulumi-lang-yaml=\"`qosType`\" pulumi-lang-java=\"`qosType`\"\u003e`qos_type`\u003c/span\u003e is set to `Manual`.\n"},"encryptionType":{"type":"string","description":"The encryption type of the pool. Valid values include `Single`, and `Double`. Defaults to `Single`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the NetApp Pool. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"qosType":{"type":"string","description":"QoS Type of the pool. Valid values include `Auto` or `Manual`. Defaults to `Auto`.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group where the NetApp Pool should be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"serviceLevel":{"type":"string","description":"The service level of the file system. Valid values include `Premium`, `Standard`, `Ultra`, and `Flexible`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sizeInTb":{"type":"integer","description":"Provisioned size of the pool in TB. Value must be between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`2048`\" pulumi-lang-dotnet=\"`2048`\" pulumi-lang-go=\"`2048`\" pulumi-lang-python=\"`2048`\" pulumi-lang-yaml=\"`2048`\" pulumi-lang-java=\"`2048`\"\u003e`2048`\u003c/span\u003e.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e TB capacity pool sizing is currently in preview. You can only take advantage of the \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e TB minimum if all the volumes in the capacity pool are using `Standard` network features. If any volume is using `Basic` network features, the minimum size is \u003cspan pulumi-lang-nodejs=\"`4`\" pulumi-lang-dotnet=\"`4`\" pulumi-lang-go=\"`4`\" pulumi-lang-python=\"`4`\" pulumi-lang-yaml=\"`4`\" pulumi-lang-java=\"`4`\"\u003e`4`\u003c/span\u003e TB. Please see the product [documentation](https://learn.microsoft.com/azure/azure-netapp-files/azure-netapp-files-set-up-capacity-pool) for more information.\n\n\u003e **Note:** The maximum \u003cspan pulumi-lang-nodejs=\"`sizeInTb`\" pulumi-lang-dotnet=\"`SizeInTb`\" pulumi-lang-go=\"`sizeInTb`\" pulumi-lang-python=\"`size_in_tb`\" pulumi-lang-yaml=\"`sizeInTb`\" pulumi-lang-java=\"`sizeInTb`\"\u003e`size_in_tb`\u003c/span\u003e is goverened by regional quotas. You may request additional capacity from Azure, currently up to \u003cspan pulumi-lang-nodejs=\"`2048`\" pulumi-lang-dotnet=\"`2048`\" pulumi-lang-go=\"`2048`\" pulumi-lang-python=\"`2048`\" pulumi-lang-yaml=\"`2048`\" pulumi-lang-java=\"`2048`\"\u003e`2048`\u003c/span\u003e.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"requiredInputs":["accountName","resourceGroupName","serviceLevel","sizeInTb"],"stateInputs":{"description":"Input properties used for looking up and filtering Pool resources.\n","properties":{"accountName":{"type":"string","description":"The name of the NetApp account in which the NetApp Pool should be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"coolAccessEnabled":{"type":"boolean","description":"Whether the NetApp Pool can hold cool access enabled volumes. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** Disabling \u003cspan pulumi-lang-nodejs=\"`coolAccessEnabled`\" pulumi-lang-dotnet=\"`CoolAccessEnabled`\" pulumi-lang-go=\"`coolAccessEnabled`\" pulumi-lang-python=\"`cool_access_enabled`\" pulumi-lang-yaml=\"`coolAccessEnabled`\" pulumi-lang-java=\"`coolAccessEnabled`\"\u003e`cool_access_enabled`\u003c/span\u003e is not allowed and forces a new resource to be created.\n"},"customThroughputMibps":{"type":"integer","description":"The custom throughput for the pool in MiB/s. Minimum value is \u003cspan pulumi-lang-nodejs=\"`128`\" pulumi-lang-dotnet=\"`128`\" pulumi-lang-go=\"`128`\" pulumi-lang-python=\"`128`\" pulumi-lang-yaml=\"`128`\" pulumi-lang-java=\"`128`\"\u003e`128`\u003c/span\u003e. This field can only be set when \u003cspan pulumi-lang-nodejs=\"`serviceLevel`\" pulumi-lang-dotnet=\"`ServiceLevel`\" pulumi-lang-go=\"`serviceLevel`\" pulumi-lang-python=\"`service_level`\" pulumi-lang-yaml=\"`serviceLevel`\" pulumi-lang-java=\"`serviceLevel`\"\u003e`service_level`\u003c/span\u003e is set to `Flexible` and \u003cspan pulumi-lang-nodejs=\"`qosType`\" pulumi-lang-dotnet=\"`QosType`\" pulumi-lang-go=\"`qosType`\" pulumi-lang-python=\"`qos_type`\" pulumi-lang-yaml=\"`qosType`\" pulumi-lang-java=\"`qosType`\"\u003e`qos_type`\u003c/span\u003e is set to `Manual`.\n"},"encryptionType":{"type":"string","description":"The encryption type of the pool. Valid values include `Single`, and `Double`. Defaults to `Single`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the NetApp Pool. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"qosType":{"type":"string","description":"QoS Type of the pool. Valid values include `Auto` or `Manual`. Defaults to `Auto`.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group where the NetApp Pool should be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"serviceLevel":{"type":"string","description":"The service level of the file system. Valid values include `Premium`, `Standard`, `Ultra`, and `Flexible`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sizeInTb":{"type":"integer","description":"Provisioned size of the pool in TB. Value must be between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`2048`\" pulumi-lang-dotnet=\"`2048`\" pulumi-lang-go=\"`2048`\" pulumi-lang-python=\"`2048`\" pulumi-lang-yaml=\"`2048`\" pulumi-lang-java=\"`2048`\"\u003e`2048`\u003c/span\u003e.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e TB capacity pool sizing is currently in preview. You can only take advantage of the \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e TB minimum if all the volumes in the capacity pool are using `Standard` network features. If any volume is using `Basic` network features, the minimum size is \u003cspan pulumi-lang-nodejs=\"`4`\" pulumi-lang-dotnet=\"`4`\" pulumi-lang-go=\"`4`\" pulumi-lang-python=\"`4`\" pulumi-lang-yaml=\"`4`\" pulumi-lang-java=\"`4`\"\u003e`4`\u003c/span\u003e TB. Please see the product [documentation](https://learn.microsoft.com/azure/azure-netapp-files/azure-netapp-files-set-up-capacity-pool) for more information.\n\n\u003e **Note:** The maximum \u003cspan pulumi-lang-nodejs=\"`sizeInTb`\" pulumi-lang-dotnet=\"`SizeInTb`\" pulumi-lang-go=\"`sizeInTb`\" pulumi-lang-python=\"`size_in_tb`\" pulumi-lang-yaml=\"`sizeInTb`\" pulumi-lang-java=\"`sizeInTb`\"\u003e`size_in_tb`\u003c/span\u003e is goverened by regional quotas. You may request additional capacity from Azure, currently up to \u003cspan pulumi-lang-nodejs=\"`2048`\" pulumi-lang-dotnet=\"`2048`\" pulumi-lang-go=\"`2048`\" pulumi-lang-python=\"`2048`\" pulumi-lang-yaml=\"`2048`\" pulumi-lang-java=\"`2048`\"\u003e`2048`\u003c/span\u003e.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"type":"object"}},"azure:netapp/snapshot:Snapshot":{"description":"Manages a NetApp Snapshot.\n\n## NetApp Snapshot Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"example\", {\n    name: \"example-virtualnetwork\",\n    addressSpaces: [\"10.0.0.0/16\"],\n    location: example.location,\n    resourceGroupName: example.name,\n});\nconst exampleSubnet = new azure.network.Subnet(\"example\", {\n    name: \"example-subnet\",\n    resourceGroupName: example.name,\n    virtualNetworkName: exampleVirtualNetwork.name,\n    addressPrefixes: [\"10.0.2.0/24\"],\n    delegations: [{\n        name: \"netapp\",\n        serviceDelegation: {\n            name: \"Microsoft.Netapp/volumes\",\n            actions: [\n                \"Microsoft.Network/networkinterfaces/*\",\n                \"Microsoft.Network/virtualNetworks/subnets/join/action\",\n            ],\n        },\n    }],\n});\nconst exampleAccount = new azure.netapp.Account(\"example\", {\n    name: \"example-netappaccount\",\n    location: example.location,\n    resourceGroupName: example.name,\n});\nconst examplePool = new azure.netapp.Pool(\"example\", {\n    name: \"example-netapppool\",\n    accountName: exampleAccount.name,\n    location: example.location,\n    resourceGroupName: example.name,\n    serviceLevel: \"Premium\",\n    sizeInTb: 4,\n});\nconst exampleVolume = new azure.netapp.Volume(\"example\", {\n    name: \"example-netappvolume\",\n    location: example.location,\n    resourceGroupName: example.name,\n    accountName: exampleAccount.name,\n    poolName: examplePool.name,\n    volumePath: \"my-unique-file-path\",\n    serviceLevel: \"Premium\",\n    subnetId: exampleSubnet.id,\n    storageQuotaInGb: 100,\n});\nconst exampleSnapshot = new azure.netapp.Snapshot(\"example\", {\n    name: \"example-netappsnapshot\",\n    accountName: exampleAccount.name,\n    poolName: examplePool.name,\n    volumeName: exampleVolume.name,\n    location: example.location,\n    resourceGroupName: example.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_virtual_network = azure.network.VirtualNetwork(\"example\",\n    name=\"example-virtualnetwork\",\n    address_spaces=[\"10.0.0.0/16\"],\n    location=example.location,\n    resource_group_name=example.name)\nexample_subnet = azure.network.Subnet(\"example\",\n    name=\"example-subnet\",\n    resource_group_name=example.name,\n    virtual_network_name=example_virtual_network.name,\n    address_prefixes=[\"10.0.2.0/24\"],\n    delegations=[{\n        \"name\": \"netapp\",\n        \"service_delegation\": {\n            \"name\": \"Microsoft.Netapp/volumes\",\n            \"actions\": [\n                \"Microsoft.Network/networkinterfaces/*\",\n                \"Microsoft.Network/virtualNetworks/subnets/join/action\",\n            ],\n        },\n    }])\nexample_account = azure.netapp.Account(\"example\",\n    name=\"example-netappaccount\",\n    location=example.location,\n    resource_group_name=example.name)\nexample_pool = azure.netapp.Pool(\"example\",\n    name=\"example-netapppool\",\n    account_name=example_account.name,\n    location=example.location,\n    resource_group_name=example.name,\n    service_level=\"Premium\",\n    size_in_tb=4)\nexample_volume = azure.netapp.Volume(\"example\",\n    name=\"example-netappvolume\",\n    location=example.location,\n    resource_group_name=example.name,\n    account_name=example_account.name,\n    pool_name=example_pool.name,\n    volume_path=\"my-unique-file-path\",\n    service_level=\"Premium\",\n    subnet_id=example_subnet.id,\n    storage_quota_in_gb=100)\nexample_snapshot = azure.netapp.Snapshot(\"example\",\n    name=\"example-netappsnapshot\",\n    account_name=example_account.name,\n    pool_name=example_pool.name,\n    volume_name=example_volume.name,\n    location=example.location,\n    resource_group_name=example.name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleVirtualNetwork = new Azure.Network.VirtualNetwork(\"example\", new()\n    {\n        Name = \"example-virtualnetwork\",\n        AddressSpaces = new[]\n        {\n            \"10.0.0.0/16\",\n        },\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n    });\n\n    var exampleSubnet = new Azure.Network.Subnet(\"example\", new()\n    {\n        Name = \"example-subnet\",\n        ResourceGroupName = example.Name,\n        VirtualNetworkName = exampleVirtualNetwork.Name,\n        AddressPrefixes = new[]\n        {\n            \"10.0.2.0/24\",\n        },\n        Delegations = new[]\n        {\n            new Azure.Network.Inputs.SubnetDelegationArgs\n            {\n                Name = \"netapp\",\n                ServiceDelegation = new Azure.Network.Inputs.SubnetDelegationServiceDelegationArgs\n                {\n                    Name = \"Microsoft.Netapp/volumes\",\n                    Actions = new[]\n                    {\n                        \"Microsoft.Network/networkinterfaces/*\",\n                        \"Microsoft.Network/virtualNetworks/subnets/join/action\",\n                    },\n                },\n            },\n        },\n    });\n\n    var exampleAccount = new Azure.NetApp.Account(\"example\", new()\n    {\n        Name = \"example-netappaccount\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n    });\n\n    var examplePool = new Azure.NetApp.Pool(\"example\", new()\n    {\n        Name = \"example-netapppool\",\n        AccountName = exampleAccount.Name,\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        ServiceLevel = \"Premium\",\n        SizeInTb = 4,\n    });\n\n    var exampleVolume = new Azure.NetApp.Volume(\"example\", new()\n    {\n        Name = \"example-netappvolume\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        AccountName = exampleAccount.Name,\n        PoolName = examplePool.Name,\n        VolumePath = \"my-unique-file-path\",\n        ServiceLevel = \"Premium\",\n        SubnetId = exampleSubnet.Id,\n        StorageQuotaInGb = 100,\n    });\n\n    var exampleSnapshot = new Azure.NetApp.Snapshot(\"example\", new()\n    {\n        Name = \"example-netappsnapshot\",\n        AccountName = exampleAccount.Name,\n        PoolName = examplePool.Name,\n        VolumeName = exampleVolume.Name,\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/netapp\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, \"example\", \u0026network.VirtualNetworkArgs{\n\t\t\tName: pulumi.String(\"example-virtualnetwork\"),\n\t\t\tAddressSpaces: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.0.0/16\"),\n\t\t\t},\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSubnet, err := network.NewSubnet(ctx, \"example\", \u0026network.SubnetArgs{\n\t\t\tName:               pulumi.String(\"example-subnet\"),\n\t\t\tResourceGroupName:  example.Name,\n\t\t\tVirtualNetworkName: exampleVirtualNetwork.Name,\n\t\t\tAddressPrefixes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.2.0/24\"),\n\t\t\t},\n\t\t\tDelegations: network.SubnetDelegationArray{\n\t\t\t\t\u0026network.SubnetDelegationArgs{\n\t\t\t\t\tName: pulumi.String(\"netapp\"),\n\t\t\t\t\tServiceDelegation: \u0026network.SubnetDelegationServiceDelegationArgs{\n\t\t\t\t\t\tName: pulumi.String(\"Microsoft.Netapp/volumes\"),\n\t\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"Microsoft.Network/networkinterfaces/*\"),\n\t\t\t\t\t\t\tpulumi.String(\"Microsoft.Network/virtualNetworks/subnets/join/action\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := netapp.NewAccount(ctx, \"example\", \u0026netapp.AccountArgs{\n\t\t\tName:              pulumi.String(\"example-netappaccount\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texamplePool, err := netapp.NewPool(ctx, \"example\", \u0026netapp.PoolArgs{\n\t\t\tName:              pulumi.String(\"example-netapppool\"),\n\t\t\tAccountName:       exampleAccount.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tServiceLevel:      pulumi.String(\"Premium\"),\n\t\t\tSizeInTb:          pulumi.Int(4),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVolume, err := netapp.NewVolume(ctx, \"example\", \u0026netapp.VolumeArgs{\n\t\t\tName:              pulumi.String(\"example-netappvolume\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tAccountName:       exampleAccount.Name,\n\t\t\tPoolName:          examplePool.Name,\n\t\t\tVolumePath:        pulumi.String(\"my-unique-file-path\"),\n\t\t\tServiceLevel:      pulumi.String(\"Premium\"),\n\t\t\tSubnetId:          exampleSubnet.ID(),\n\t\t\tStorageQuotaInGb:  pulumi.Int(100),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = netapp.NewSnapshot(ctx, \"example\", \u0026netapp.SnapshotArgs{\n\t\t\tName:              pulumi.String(\"example-netappsnapshot\"),\n\t\t\tAccountName:       exampleAccount.Name,\n\t\t\tPoolName:          examplePool.Name,\n\t\t\tVolumeName:        exampleVolume.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.VirtualNetwork;\nimport com.pulumi.azure.network.VirtualNetworkArgs;\nimport com.pulumi.azure.network.Subnet;\nimport com.pulumi.azure.network.SubnetArgs;\nimport com.pulumi.azure.network.inputs.SubnetDelegationArgs;\nimport com.pulumi.azure.network.inputs.SubnetDelegationServiceDelegationArgs;\nimport com.pulumi.azure.netapp.Account;\nimport com.pulumi.azure.netapp.AccountArgs;\nimport com.pulumi.azure.netapp.Pool;\nimport com.pulumi.azure.netapp.PoolArgs;\nimport com.pulumi.azure.netapp.Volume;\nimport com.pulumi.azure.netapp.VolumeArgs;\nimport com.pulumi.azure.netapp.Snapshot;\nimport com.pulumi.azure.netapp.SnapshotArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleVirtualNetwork = new VirtualNetwork(\"exampleVirtualNetwork\", VirtualNetworkArgs.builder()\n            .name(\"example-virtualnetwork\")\n            .addressSpaces(\"10.0.0.0/16\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .build());\n\n        var exampleSubnet = new Subnet(\"exampleSubnet\", SubnetArgs.builder()\n            .name(\"example-subnet\")\n            .resourceGroupName(example.name())\n            .virtualNetworkName(exampleVirtualNetwork.name())\n            .addressPrefixes(\"10.0.2.0/24\")\n            .delegations(SubnetDelegationArgs.builder()\n                .name(\"netapp\")\n                .serviceDelegation(SubnetDelegationServiceDelegationArgs.builder()\n                    .name(\"Microsoft.Netapp/volumes\")\n                    .actions(                    \n                        \"Microsoft.Network/networkinterfaces/*\",\n                        \"Microsoft.Network/virtualNetworks/subnets/join/action\")\n                    .build())\n                .build())\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"example-netappaccount\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .build());\n\n        var examplePool = new Pool(\"examplePool\", PoolArgs.builder()\n            .name(\"example-netapppool\")\n            .accountName(exampleAccount.name())\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .serviceLevel(\"Premium\")\n            .sizeInTb(4)\n            .build());\n\n        var exampleVolume = new Volume(\"exampleVolume\", VolumeArgs.builder()\n            .name(\"example-netappvolume\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .accountName(exampleAccount.name())\n            .poolName(examplePool.name())\n            .volumePath(\"my-unique-file-path\")\n            .serviceLevel(\"Premium\")\n            .subnetId(exampleSubnet.id())\n            .storageQuotaInGb(100)\n            .build());\n\n        var exampleSnapshot = new Snapshot(\"exampleSnapshot\", SnapshotArgs.builder()\n            .name(\"example-netappsnapshot\")\n            .accountName(exampleAccount.name())\n            .poolName(examplePool.name())\n            .volumeName(exampleVolume.name())\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleVirtualNetwork:\n    type: azure:network:VirtualNetwork\n    name: example\n    properties:\n      name: example-virtualnetwork\n      addressSpaces:\n        - 10.0.0.0/16\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n  exampleSubnet:\n    type: azure:network:Subnet\n    name: example\n    properties:\n      name: example-subnet\n      resourceGroupName: ${example.name}\n      virtualNetworkName: ${exampleVirtualNetwork.name}\n      addressPrefixes:\n        - 10.0.2.0/24\n      delegations:\n        - name: netapp\n          serviceDelegation:\n            name: Microsoft.Netapp/volumes\n            actions:\n              - Microsoft.Network/networkinterfaces/*\n              - Microsoft.Network/virtualNetworks/subnets/join/action\n  exampleAccount:\n    type: azure:netapp:Account\n    name: example\n    properties:\n      name: example-netappaccount\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n  examplePool:\n    type: azure:netapp:Pool\n    name: example\n    properties:\n      name: example-netapppool\n      accountName: ${exampleAccount.name}\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      serviceLevel: Premium\n      sizeInTb: '4'\n  exampleVolume:\n    type: azure:netapp:Volume\n    name: example\n    properties:\n      name: example-netappvolume\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      accountName: ${exampleAccount.name}\n      poolName: ${examplePool.name}\n      volumePath: my-unique-file-path\n      serviceLevel: Premium\n      subnetId: ${exampleSubnet.id}\n      storageQuotaInGb: '100'\n  exampleSnapshot:\n    type: azure:netapp:Snapshot\n    name: example\n    properties:\n      name: example-netappsnapshot\n      accountName: ${exampleAccount.name}\n      poolName: ${examplePool.name}\n      volumeName: ${exampleVolume.name}\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.NetApp` - 2025-06-01\n\n## Import\n\nNetApp Snapshot can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:netapp/snapshot:Snapshot example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/volume1/snapshots/snapshot1\n```\n\n","properties":{"accountName":{"type":"string","description":"The name of the NetApp account in which the NetApp Pool should be created. Changing this forces a new resource to be created.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"The name of the NetApp Snapshot. Changing this forces a new resource to be created.\n"},"poolName":{"type":"string","description":"The name of the NetApp pool in which the NetApp Volume should be created. Changing this forces a new resource to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group where the NetApp Snapshot should be created. Changing this forces a new resource to be created.\n"},"volumeName":{"type":"string","description":"The name of the NetApp volume in which the NetApp Snapshot should be created. Changing this forces a new resource to be created.\n"}},"required":["accountName","location","name","poolName","resourceGroupName","volumeName"],"inputProperties":{"accountName":{"type":"string","description":"The name of the NetApp account in which the NetApp Pool should be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the NetApp Snapshot. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"poolName":{"type":"string","description":"The name of the NetApp pool in which the NetApp Volume should be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group where the NetApp Snapshot should be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"volumeName":{"type":"string","description":"The name of the NetApp volume in which the NetApp Snapshot should be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["accountName","poolName","resourceGroupName","volumeName"],"stateInputs":{"description":"Input properties used for looking up and filtering Snapshot resources.\n","properties":{"accountName":{"type":"string","description":"The name of the NetApp account in which the NetApp Pool should be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the NetApp Snapshot. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"poolName":{"type":"string","description":"The name of the NetApp pool in which the NetApp Volume should be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group where the NetApp Snapshot should be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"volumeName":{"type":"string","description":"The name of the NetApp volume in which the NetApp Snapshot should be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:netapp/snapshotPolicy:SnapshotPolicy":{"description":"Manages a NetApp Snapshot Policy.\n\n## NetApp Snapshot Policy Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"resource-group-01\",\n    location: \"East US\",\n});\nconst exampleAccount = new azure.netapp.Account(\"example\", {\n    name: \"netappaccount-01\",\n    location: example.location,\n    resourceGroupName: example.name,\n});\nconst exampleSnapshotPolicy = new azure.netapp.SnapshotPolicy(\"example\", {\n    name: \"snapshotpolicy-01\",\n    location: example.location,\n    resourceGroupName: example.name,\n    accountName: exampleAccount.name,\n    enabled: true,\n    hourlySchedule: {\n        snapshotsToKeep: 4,\n        minute: 15,\n    },\n    dailySchedule: {\n        snapshotsToKeep: 2,\n        hour: 20,\n        minute: 15,\n    },\n    weeklySchedule: {\n        snapshotsToKeep: 1,\n        daysOfWeeks: [\n            \"Monday\",\n            \"Friday\",\n        ],\n        hour: 23,\n        minute: 0,\n    },\n    monthlySchedule: {\n        snapshotsToKeep: 1,\n        daysOfMonths: [\n            1,\n            15,\n            20,\n            30,\n        ],\n        hour: 5,\n        minute: 45,\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"resource-group-01\",\n    location=\"East US\")\nexample_account = azure.netapp.Account(\"example\",\n    name=\"netappaccount-01\",\n    location=example.location,\n    resource_group_name=example.name)\nexample_snapshot_policy = azure.netapp.SnapshotPolicy(\"example\",\n    name=\"snapshotpolicy-01\",\n    location=example.location,\n    resource_group_name=example.name,\n    account_name=example_account.name,\n    enabled=True,\n    hourly_schedule={\n        \"snapshots_to_keep\": 4,\n        \"minute\": 15,\n    },\n    daily_schedule={\n        \"snapshots_to_keep\": 2,\n        \"hour\": 20,\n        \"minute\": 15,\n    },\n    weekly_schedule={\n        \"snapshots_to_keep\": 1,\n        \"days_of_weeks\": [\n            \"Monday\",\n            \"Friday\",\n        ],\n        \"hour\": 23,\n        \"minute\": 0,\n    },\n    monthly_schedule={\n        \"snapshots_to_keep\": 1,\n        \"days_of_months\": [\n            1,\n            15,\n            20,\n            30,\n        ],\n        \"hour\": 5,\n        \"minute\": 45,\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"resource-group-01\",\n        Location = \"East US\",\n    });\n\n    var exampleAccount = new Azure.NetApp.Account(\"example\", new()\n    {\n        Name = \"netappaccount-01\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n    });\n\n    var exampleSnapshotPolicy = new Azure.NetApp.SnapshotPolicy(\"example\", new()\n    {\n        Name = \"snapshotpolicy-01\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        AccountName = exampleAccount.Name,\n        Enabled = true,\n        HourlySchedule = new Azure.NetApp.Inputs.SnapshotPolicyHourlyScheduleArgs\n        {\n            SnapshotsToKeep = 4,\n            Minute = 15,\n        },\n        DailySchedule = new Azure.NetApp.Inputs.SnapshotPolicyDailyScheduleArgs\n        {\n            SnapshotsToKeep = 2,\n            Hour = 20,\n            Minute = 15,\n        },\n        WeeklySchedule = new Azure.NetApp.Inputs.SnapshotPolicyWeeklyScheduleArgs\n        {\n            SnapshotsToKeep = 1,\n            DaysOfWeeks = new[]\n            {\n                \"Monday\",\n                \"Friday\",\n            },\n            Hour = 23,\n            Minute = 0,\n        },\n        MonthlySchedule = new Azure.NetApp.Inputs.SnapshotPolicyMonthlyScheduleArgs\n        {\n            SnapshotsToKeep = 1,\n            DaysOfMonths = new[]\n            {\n                1,\n                15,\n                20,\n                30,\n            },\n            Hour = 5,\n            Minute = 45,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/netapp\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"resource-group-01\"),\n\t\t\tLocation: pulumi.String(\"East US\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := netapp.NewAccount(ctx, \"example\", \u0026netapp.AccountArgs{\n\t\t\tName:              pulumi.String(\"netappaccount-01\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = netapp.NewSnapshotPolicy(ctx, \"example\", \u0026netapp.SnapshotPolicyArgs{\n\t\t\tName:              pulumi.String(\"snapshotpolicy-01\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tAccountName:       exampleAccount.Name,\n\t\t\tEnabled:           pulumi.Bool(true),\n\t\t\tHourlySchedule: \u0026netapp.SnapshotPolicyHourlyScheduleArgs{\n\t\t\t\tSnapshotsToKeep: pulumi.Int(4),\n\t\t\t\tMinute:          pulumi.Int(15),\n\t\t\t},\n\t\t\tDailySchedule: \u0026netapp.SnapshotPolicyDailyScheduleArgs{\n\t\t\t\tSnapshotsToKeep: pulumi.Int(2),\n\t\t\t\tHour:            pulumi.Int(20),\n\t\t\t\tMinute:          pulumi.Int(15),\n\t\t\t},\n\t\t\tWeeklySchedule: \u0026netapp.SnapshotPolicyWeeklyScheduleArgs{\n\t\t\t\tSnapshotsToKeep: pulumi.Int(1),\n\t\t\t\tDaysOfWeeks: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"Monday\"),\n\t\t\t\t\tpulumi.String(\"Friday\"),\n\t\t\t\t},\n\t\t\t\tHour:   pulumi.Int(23),\n\t\t\t\tMinute: pulumi.Int(0),\n\t\t\t},\n\t\t\tMonthlySchedule: \u0026netapp.SnapshotPolicyMonthlyScheduleArgs{\n\t\t\t\tSnapshotsToKeep: pulumi.Int(1),\n\t\t\t\tDaysOfMonths: pulumi.IntArray{\n\t\t\t\t\tpulumi.Int(1),\n\t\t\t\t\tpulumi.Int(15),\n\t\t\t\t\tpulumi.Int(20),\n\t\t\t\t\tpulumi.Int(30),\n\t\t\t\t},\n\t\t\t\tHour:   pulumi.Int(5),\n\t\t\t\tMinute: pulumi.Int(45),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.netapp.Account;\nimport com.pulumi.azure.netapp.AccountArgs;\nimport com.pulumi.azure.netapp.SnapshotPolicy;\nimport com.pulumi.azure.netapp.SnapshotPolicyArgs;\nimport com.pulumi.azure.netapp.inputs.SnapshotPolicyHourlyScheduleArgs;\nimport com.pulumi.azure.netapp.inputs.SnapshotPolicyDailyScheduleArgs;\nimport com.pulumi.azure.netapp.inputs.SnapshotPolicyWeeklyScheduleArgs;\nimport com.pulumi.azure.netapp.inputs.SnapshotPolicyMonthlyScheduleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"resource-group-01\")\n            .location(\"East US\")\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"netappaccount-01\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .build());\n\n        var exampleSnapshotPolicy = new SnapshotPolicy(\"exampleSnapshotPolicy\", SnapshotPolicyArgs.builder()\n            .name(\"snapshotpolicy-01\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .accountName(exampleAccount.name())\n            .enabled(true)\n            .hourlySchedule(SnapshotPolicyHourlyScheduleArgs.builder()\n                .snapshotsToKeep(4)\n                .minute(15)\n                .build())\n            .dailySchedule(SnapshotPolicyDailyScheduleArgs.builder()\n                .snapshotsToKeep(2)\n                .hour(20)\n                .minute(15)\n                .build())\n            .weeklySchedule(SnapshotPolicyWeeklyScheduleArgs.builder()\n                .snapshotsToKeep(1)\n                .daysOfWeeks(                \n                    \"Monday\",\n                    \"Friday\")\n                .hour(23)\n                .minute(0)\n                .build())\n            .monthlySchedule(SnapshotPolicyMonthlyScheduleArgs.builder()\n                .snapshotsToKeep(1)\n                .daysOfMonths(                \n                    1,\n                    15,\n                    20,\n                    30)\n                .hour(5)\n                .minute(45)\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: resource-group-01\n      location: East US\n  exampleAccount:\n    type: azure:netapp:Account\n    name: example\n    properties:\n      name: netappaccount-01\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n  exampleSnapshotPolicy:\n    type: azure:netapp:SnapshotPolicy\n    name: example\n    properties:\n      name: snapshotpolicy-01\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      accountName: ${exampleAccount.name}\n      enabled: true\n      hourlySchedule:\n        snapshotsToKeep: 4\n        minute: 15\n      dailySchedule:\n        snapshotsToKeep: 2\n        hour: 20\n        minute: 15\n      weeklySchedule:\n        snapshotsToKeep: 1\n        daysOfWeeks:\n          - Monday\n          - Friday\n        hour: 23\n        minute: 0\n      monthlySchedule:\n        snapshotsToKeep: 1\n        daysOfMonths:\n          - 1\n          - 15\n          - 20\n          - 30\n        hour: 5\n        minute: 45\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.NetApp` - 2025-06-01\n\n## Import\n\nNetApp Snapshot Policy can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:netapp/snapshotPolicy:SnapshotPolicy example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.NetApp/netAppAccounts/account1/snapshotPolicies/snapshotpolicy1\n```\n\n","properties":{"accountName":{"type":"string","description":"The name of the NetApp Account in which the NetApp Snapshot Policy should be created. Changing this forces a new resource to be created.\n"},"dailySchedule":{"$ref":"#/types/azure:netapp/SnapshotPolicyDailySchedule:SnapshotPolicyDailySchedule","description":"Sets a daily snapshot schedule. A \u003cspan pulumi-lang-nodejs=\"`dailySchedule`\" pulumi-lang-dotnet=\"`DailySchedule`\" pulumi-lang-go=\"`dailySchedule`\" pulumi-lang-python=\"`daily_schedule`\" pulumi-lang-yaml=\"`dailySchedule`\" pulumi-lang-java=\"`dailySchedule`\"\u003e`daily_schedule`\u003c/span\u003e block as defined below.\n"},"enabled":{"type":"boolean","description":"Defines that the NetApp Snapshot Policy is enabled or not.\n"},"hourlySchedule":{"$ref":"#/types/azure:netapp/SnapshotPolicyHourlySchedule:SnapshotPolicyHourlySchedule","description":"Sets an hourly snapshot schedule. A \u003cspan pulumi-lang-nodejs=\"`hourlySchedule`\" pulumi-lang-dotnet=\"`HourlySchedule`\" pulumi-lang-go=\"`hourlySchedule`\" pulumi-lang-python=\"`hourly_schedule`\" pulumi-lang-yaml=\"`hourlySchedule`\" pulumi-lang-java=\"`hourlySchedule`\"\u003e`hourly_schedule`\u003c/span\u003e block as defined below.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n"},"monthlySchedule":{"$ref":"#/types/azure:netapp/SnapshotPolicyMonthlySchedule:SnapshotPolicyMonthlySchedule","description":"Sets a monthly snapshot schedule. A \u003cspan pulumi-lang-nodejs=\"`monthlySchedule`\" pulumi-lang-dotnet=\"`MonthlySchedule`\" pulumi-lang-go=\"`monthlySchedule`\" pulumi-lang-python=\"`monthly_schedule`\" pulumi-lang-yaml=\"`monthlySchedule`\" pulumi-lang-java=\"`monthlySchedule`\"\u003e`monthly_schedule`\u003c/span\u003e block as defined below.\n"},"name":{"type":"string","description":"The name of the NetApp Snapshot Policy. Changing this forces a new resource to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group where the NetApp Snapshot Policy should be created. Changing this forces a new resource to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"weeklySchedule":{"$ref":"#/types/azure:netapp/SnapshotPolicyWeeklySchedule:SnapshotPolicyWeeklySchedule","description":"Sets a weekly snapshot schedule. A \u003cspan pulumi-lang-nodejs=\"`weeklySchedule`\" pulumi-lang-dotnet=\"`WeeklySchedule`\" pulumi-lang-go=\"`weeklySchedule`\" pulumi-lang-python=\"`weekly_schedule`\" pulumi-lang-yaml=\"`weeklySchedule`\" pulumi-lang-java=\"`weeklySchedule`\"\u003e`weekly_schedule`\u003c/span\u003e block as defined below.\n"}},"required":["accountName","enabled","location","name","resourceGroupName"],"inputProperties":{"accountName":{"type":"string","description":"The name of the NetApp Account in which the NetApp Snapshot Policy should be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"dailySchedule":{"$ref":"#/types/azure:netapp/SnapshotPolicyDailySchedule:SnapshotPolicyDailySchedule","description":"Sets a daily snapshot schedule. A \u003cspan pulumi-lang-nodejs=\"`dailySchedule`\" pulumi-lang-dotnet=\"`DailySchedule`\" pulumi-lang-go=\"`dailySchedule`\" pulumi-lang-python=\"`daily_schedule`\" pulumi-lang-yaml=\"`dailySchedule`\" pulumi-lang-java=\"`dailySchedule`\"\u003e`daily_schedule`\u003c/span\u003e block as defined below.\n"},"enabled":{"type":"boolean","description":"Defines that the NetApp Snapshot Policy is enabled or not.\n"},"hourlySchedule":{"$ref":"#/types/azure:netapp/SnapshotPolicyHourlySchedule:SnapshotPolicyHourlySchedule","description":"Sets an hourly snapshot schedule. A \u003cspan pulumi-lang-nodejs=\"`hourlySchedule`\" pulumi-lang-dotnet=\"`HourlySchedule`\" pulumi-lang-go=\"`hourlySchedule`\" pulumi-lang-python=\"`hourly_schedule`\" pulumi-lang-yaml=\"`hourlySchedule`\" pulumi-lang-java=\"`hourlySchedule`\"\u003e`hourly_schedule`\u003c/span\u003e block as defined below.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"monthlySchedule":{"$ref":"#/types/azure:netapp/SnapshotPolicyMonthlySchedule:SnapshotPolicyMonthlySchedule","description":"Sets a monthly snapshot schedule. A \u003cspan pulumi-lang-nodejs=\"`monthlySchedule`\" pulumi-lang-dotnet=\"`MonthlySchedule`\" pulumi-lang-go=\"`monthlySchedule`\" pulumi-lang-python=\"`monthly_schedule`\" pulumi-lang-yaml=\"`monthlySchedule`\" pulumi-lang-java=\"`monthlySchedule`\"\u003e`monthly_schedule`\u003c/span\u003e block as defined below.\n"},"name":{"type":"string","description":"The name of the NetApp Snapshot Policy. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group where the NetApp Snapshot Policy should be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"weeklySchedule":{"$ref":"#/types/azure:netapp/SnapshotPolicyWeeklySchedule:SnapshotPolicyWeeklySchedule","description":"Sets a weekly snapshot schedule. A \u003cspan pulumi-lang-nodejs=\"`weeklySchedule`\" pulumi-lang-dotnet=\"`WeeklySchedule`\" pulumi-lang-go=\"`weeklySchedule`\" pulumi-lang-python=\"`weekly_schedule`\" pulumi-lang-yaml=\"`weeklySchedule`\" pulumi-lang-java=\"`weeklySchedule`\"\u003e`weekly_schedule`\u003c/span\u003e block as defined below.\n"}},"requiredInputs":["accountName","enabled","resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering SnapshotPolicy resources.\n","properties":{"accountName":{"type":"string","description":"The name of the NetApp Account in which the NetApp Snapshot Policy should be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"dailySchedule":{"$ref":"#/types/azure:netapp/SnapshotPolicyDailySchedule:SnapshotPolicyDailySchedule","description":"Sets a daily snapshot schedule. A \u003cspan pulumi-lang-nodejs=\"`dailySchedule`\" pulumi-lang-dotnet=\"`DailySchedule`\" pulumi-lang-go=\"`dailySchedule`\" pulumi-lang-python=\"`daily_schedule`\" pulumi-lang-yaml=\"`dailySchedule`\" pulumi-lang-java=\"`dailySchedule`\"\u003e`daily_schedule`\u003c/span\u003e block as defined below.\n"},"enabled":{"type":"boolean","description":"Defines that the NetApp Snapshot Policy is enabled or not.\n"},"hourlySchedule":{"$ref":"#/types/azure:netapp/SnapshotPolicyHourlySchedule:SnapshotPolicyHourlySchedule","description":"Sets an hourly snapshot schedule. A \u003cspan pulumi-lang-nodejs=\"`hourlySchedule`\" pulumi-lang-dotnet=\"`HourlySchedule`\" pulumi-lang-go=\"`hourlySchedule`\" pulumi-lang-python=\"`hourly_schedule`\" pulumi-lang-yaml=\"`hourlySchedule`\" pulumi-lang-java=\"`hourlySchedule`\"\u003e`hourly_schedule`\u003c/span\u003e block as defined below.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"monthlySchedule":{"$ref":"#/types/azure:netapp/SnapshotPolicyMonthlySchedule:SnapshotPolicyMonthlySchedule","description":"Sets a monthly snapshot schedule. A \u003cspan pulumi-lang-nodejs=\"`monthlySchedule`\" pulumi-lang-dotnet=\"`MonthlySchedule`\" pulumi-lang-go=\"`monthlySchedule`\" pulumi-lang-python=\"`monthly_schedule`\" pulumi-lang-yaml=\"`monthlySchedule`\" pulumi-lang-java=\"`monthlySchedule`\"\u003e`monthly_schedule`\u003c/span\u003e block as defined below.\n"},"name":{"type":"string","description":"The name of the NetApp Snapshot Policy. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group where the NetApp Snapshot Policy should be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"weeklySchedule":{"$ref":"#/types/azure:netapp/SnapshotPolicyWeeklySchedule:SnapshotPolicyWeeklySchedule","description":"Sets a weekly snapshot schedule. A \u003cspan pulumi-lang-nodejs=\"`weeklySchedule`\" pulumi-lang-dotnet=\"`WeeklySchedule`\" pulumi-lang-go=\"`weeklySchedule`\" pulumi-lang-python=\"`weekly_schedule`\" pulumi-lang-yaml=\"`weeklySchedule`\" pulumi-lang-java=\"`weeklySchedule`\"\u003e`weekly_schedule`\u003c/span\u003e block as defined below.\n"}},"type":"object"}},"azure:netapp/volume:Volume":{"description":"Manages a NetApp Volume.\n\n!\u003e **Note:** This resource uses a feature to prevent deletion called \u003cspan pulumi-lang-nodejs=\"`preventVolumeDestruction`\" pulumi-lang-dotnet=\"`PreventVolumeDestruction`\" pulumi-lang-go=\"`preventVolumeDestruction`\" pulumi-lang-python=\"`prevent_volume_destruction`\" pulumi-lang-yaml=\"`preventVolumeDestruction`\" pulumi-lang-java=\"`preventVolumeDestruction`\"\u003e`prevent_volume_destruction`\u003c/span\u003e, defaulting to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e. It is intentionally set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e to prevent the possibility of accidental data loss. The example in this page shows all possible protection options you can apply, it is using same values as the defaults.\n\n## Import\n\nNetApp Volumes can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:netapp/volume:Volume example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/volume1\n```\n\n","properties":{"acceptGrowCapacityPoolForShortTermCloneSplit":{"type":"string","description":"While auto splitting the short term clone volume, if the parent pool does not have enough space to accommodate the volume after split, it will be automatically resized, which will lead to increased billing. To accept capacity pool size auto grow and create a short term clone volume, set the property as `Accepted`. If `Declined`, the short term clone volume creation operation will fail. This property can only be used in conjunction with \u003cspan pulumi-lang-nodejs=\"`createFromSnapshotResourceId`\" pulumi-lang-dotnet=\"`CreateFromSnapshotResourceId`\" pulumi-lang-go=\"`createFromSnapshotResourceId`\" pulumi-lang-python=\"`create_from_snapshot_resource_id`\" pulumi-lang-yaml=\"`createFromSnapshotResourceId`\" pulumi-lang-java=\"`createFromSnapshotResourceId`\"\u003e`create_from_snapshot_resource_id`\u003c/span\u003e. Changing this forces a new resource to be created.\n\n\u003e **Note:** Short-term clones are not supported on large volumes or volumes enabled for cool access. Short-term clones automatically convert to regular volumes after 32 days. For more information, please refer to [Create a short-term clone volume in Azure NetApp Files](https://learn.microsoft.com/en-us/azure/azure-netapp-files/create-short-term-clone)\n"},"accountName":{"type":"string","description":"The name of the NetApp account in which the NetApp Pool should be created. Changing this forces a new resource to be created.\n"},"azureVmwareDataStoreEnabled":{"type":"boolean","description":"Is the NetApp Volume enabled for Azure VMware Solution (AVS) datastore purpose. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Changing this forces a new resource to be created.\n"},"coolAccess":{"$ref":"#/types/azure:netapp/VolumeCoolAccess:VolumeCoolAccess","description":"A \u003cspan pulumi-lang-nodejs=\"`coolAccess`\" pulumi-lang-dotnet=\"`CoolAccess`\" pulumi-lang-go=\"`coolAccess`\" pulumi-lang-python=\"`cool_access`\" pulumi-lang-yaml=\"`coolAccess`\" pulumi-lang-java=\"`coolAccess`\"\u003e`cool_access`\u003c/span\u003e block as defined below.\n"},"createFromSnapshotResourceId":{"type":"string","description":"Creates volume from snapshot. Following properties must be the same as the original volume where the snapshot was taken from: \u003cspan pulumi-lang-nodejs=\"`protocols`\" pulumi-lang-dotnet=\"`Protocols`\" pulumi-lang-go=\"`protocols`\" pulumi-lang-python=\"`protocols`\" pulumi-lang-yaml=\"`protocols`\" pulumi-lang-java=\"`protocols`\"\u003e`protocols`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`subnetId`\" pulumi-lang-dotnet=\"`SubnetId`\" pulumi-lang-go=\"`subnetId`\" pulumi-lang-python=\"`subnet_id`\" pulumi-lang-yaml=\"`subnetId`\" pulumi-lang-java=\"`subnetId`\"\u003e`subnet_id`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`location`\" pulumi-lang-dotnet=\"`Location`\" pulumi-lang-go=\"`location`\" pulumi-lang-python=\"`location`\" pulumi-lang-yaml=\"`location`\" pulumi-lang-java=\"`location`\"\u003e`location`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`serviceLevel`\" pulumi-lang-dotnet=\"`ServiceLevel`\" pulumi-lang-go=\"`serviceLevel`\" pulumi-lang-python=\"`service_level`\" pulumi-lang-yaml=\"`serviceLevel`\" pulumi-lang-java=\"`serviceLevel`\"\u003e`service_level`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`resourceGroupName`\" pulumi-lang-dotnet=\"`ResourceGroupName`\" pulumi-lang-go=\"`resourceGroupName`\" pulumi-lang-python=\"`resource_group_name`\" pulumi-lang-yaml=\"`resourceGroupName`\" pulumi-lang-java=\"`resourceGroupName`\"\u003e`resource_group_name`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`accountName`\" pulumi-lang-dotnet=\"`AccountName`\" pulumi-lang-go=\"`accountName`\" pulumi-lang-python=\"`account_name`\" pulumi-lang-yaml=\"`accountName`\" pulumi-lang-java=\"`accountName`\"\u003e`account_name`\u003c/span\u003e. Changing this forces a new resource to be created.\n"},"dataProtectionBackupPolicy":{"$ref":"#/types/azure:netapp/VolumeDataProtectionBackupPolicy:VolumeDataProtectionBackupPolicy","description":"A \u003cspan pulumi-lang-nodejs=\"`dataProtectionBackupPolicy`\" pulumi-lang-dotnet=\"`DataProtectionBackupPolicy`\" pulumi-lang-go=\"`dataProtectionBackupPolicy`\" pulumi-lang-python=\"`data_protection_backup_policy`\" pulumi-lang-yaml=\"`dataProtectionBackupPolicy`\" pulumi-lang-java=\"`dataProtectionBackupPolicy`\"\u003e`data_protection_backup_policy`\u003c/span\u003e block as defined below.\n"},"dataProtectionReplication":{"$ref":"#/types/azure:netapp/VolumeDataProtectionReplication:VolumeDataProtectionReplication","description":"A \u003cspan pulumi-lang-nodejs=\"`dataProtectionReplication`\" pulumi-lang-dotnet=\"`DataProtectionReplication`\" pulumi-lang-go=\"`dataProtectionReplication`\" pulumi-lang-python=\"`data_protection_replication`\" pulumi-lang-yaml=\"`dataProtectionReplication`\" pulumi-lang-java=\"`dataProtectionReplication`\"\u003e`data_protection_replication`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n"},"dataProtectionSnapshotPolicy":{"$ref":"#/types/azure:netapp/VolumeDataProtectionSnapshotPolicy:VolumeDataProtectionSnapshotPolicy","description":"A \u003cspan pulumi-lang-nodejs=\"`dataProtectionSnapshotPolicy`\" pulumi-lang-dotnet=\"`DataProtectionSnapshotPolicy`\" pulumi-lang-go=\"`dataProtectionSnapshotPolicy`\" pulumi-lang-python=\"`data_protection_snapshot_policy`\" pulumi-lang-yaml=\"`dataProtectionSnapshotPolicy`\" pulumi-lang-java=\"`dataProtectionSnapshotPolicy`\"\u003e`data_protection_snapshot_policy`\u003c/span\u003e block as defined below.\n"},"encryptionKeySource":{"type":"string","description":"The encryption key source, it can be `Microsoft.NetApp` for platform managed keys or `Microsoft.KeyVault` for customer-managed keys. This is required with \u003cspan pulumi-lang-nodejs=\"`keyVaultPrivateEndpointId`\" pulumi-lang-dotnet=\"`KeyVaultPrivateEndpointId`\" pulumi-lang-go=\"`keyVaultPrivateEndpointId`\" pulumi-lang-python=\"`key_vault_private_endpoint_id`\" pulumi-lang-yaml=\"`keyVaultPrivateEndpointId`\" pulumi-lang-java=\"`keyVaultPrivateEndpointId`\"\u003e`key_vault_private_endpoint_id`\u003c/span\u003e. Changing this forces a new resource to be created.\n"},"exportPolicyRules":{"type":"array","items":{"$ref":"#/types/azure:netapp/VolumeExportPolicyRule:VolumeExportPolicyRule"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`exportPolicyRule`\" pulumi-lang-dotnet=\"`ExportPolicyRule`\" pulumi-lang-go=\"`exportPolicyRule`\" pulumi-lang-python=\"`export_policy_rule`\" pulumi-lang-yaml=\"`exportPolicyRule`\" pulumi-lang-java=\"`exportPolicyRule`\"\u003e`export_policy_rule`\u003c/span\u003e block defined below.\n"},"kerberosEnabled":{"type":"boolean","description":"Enable to allow Kerberos secured volumes. Requires appropriate export rules. Changing this forces a new resource to be created.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`kerberosEnabled`\" pulumi-lang-dotnet=\"`KerberosEnabled`\" pulumi-lang-go=\"`kerberosEnabled`\" pulumi-lang-python=\"`kerberos_enabled`\" pulumi-lang-yaml=\"`kerberosEnabled`\" pulumi-lang-java=\"`kerberosEnabled`\"\u003e`kerberos_enabled`\u003c/span\u003e requires that the parent \u003cspan pulumi-lang-nodejs=\"`azure.netapp.Account`\" pulumi-lang-dotnet=\"`azure.netapp.Account`\" pulumi-lang-go=\"`netapp.Account`\" pulumi-lang-python=\"`netapp.Account`\" pulumi-lang-yaml=\"`azure.netapp.Account`\" pulumi-lang-java=\"`azure.netapp.Account`\"\u003e`azure.netapp.Account`\u003c/span\u003e has a *valid* AD connection defined. If the configuration is invalid, the volume will still be created but in a failed state. This requires manually deleting the volume and recreating it again via Terraform once the AD configuration has been corrected.\n"},"keyVaultPrivateEndpointId":{"type":"string","description":"The Private Endpoint ID for Key Vault, which is required when using customer-managed keys. This is required with \u003cspan pulumi-lang-nodejs=\"`encryptionKeySource`\" pulumi-lang-dotnet=\"`EncryptionKeySource`\" pulumi-lang-go=\"`encryptionKeySource`\" pulumi-lang-python=\"`encryption_key_source`\" pulumi-lang-yaml=\"`encryptionKeySource`\" pulumi-lang-java=\"`encryptionKeySource`\"\u003e`encryption_key_source`\u003c/span\u003e. Changing this forces a new resource to be created.\n"},"largeVolumeEnabled":{"type":"boolean","description":"A boolean specifying if the volume is a large volume. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** Large volumes must be at least 50 TiB in size and can be up to 1,024 TiB (1 PiB). For more information, please refer to [Requirements and considerations for large volumes](https://learn.microsoft.com/en-us/azure/azure-netapp-files/large-volumes-requirements-considerations)\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n"},"mountIpAddresses":{"type":"array","items":{"type":"string"},"description":"A list of IPv4 Addresses which should be used to mount the volume.\n"},"name":{"type":"string","description":"The name of the NetApp Volume. Changing this forces a new resource to be created.\n"},"networkFeatures":{"type":"string","description":"Indicates which network feature to use, accepted values are `Basic` or `Standard`, it defaults to `Basic` if not defined. This is a feature in public preview and for more information about it and how to register, please refer to [Configure network features for an Azure NetApp Files volume](https://docs.microsoft.com/en-us/azure/azure-netapp-files/configure-network-features).\n"},"poolName":{"type":"string","description":"The name of the NetApp pool in which the NetApp Volume should be created.\n"},"protocols":{"type":"array","items":{"type":"string"},"description":"The target volume protocol expressed as a list. Supported single value include `CIFS`, `NFSv3`, or `NFSv4.1`. If argument is not defined it will default to `NFSv3`. Protocol conversion between `NFSv3` and `NFSv4.1` and vice-versa is supported without recreating the volume, however export policy rules must be updated accordingly to avoid configuration drift (e.g., when converting from `NFSv3` to `NFSv4.1`, set \u003cspan pulumi-lang-nodejs=\"`nfsv3Enabled \" pulumi-lang-dotnet=\"`Nfsv3Enabled \" pulumi-lang-go=\"`nfsv3Enabled \" pulumi-lang-python=\"`nfsv3_enabled \" pulumi-lang-yaml=\"`nfsv3Enabled \" pulumi-lang-java=\"`nfsv3Enabled \"\u003e`nfsv3_enabled \u003c/span\u003e= false` and \u003cspan pulumi-lang-nodejs=\"`nfsv41Enabled \" pulumi-lang-dotnet=\"`Nfsv41Enabled \" pulumi-lang-go=\"`nfsv41Enabled \" pulumi-lang-python=\"`nfsv41_enabled \" pulumi-lang-yaml=\"`nfsv41Enabled \" pulumi-lang-java=\"`nfsv41Enabled \"\u003e`nfsv41_enabled \u003c/span\u003e= true` in export policy rules). Dual protocol scenario is supported for CIFS and NFSv3, for more information, please refer to [Create a dual-protocol volume for Azure NetApp Files](https://docs.microsoft.com/azure/azure-netapp-files/create-volumes-dual-protocol) document.\n\n\u003e **Note:** When converting protocols, ensure that export policy rules are updated to match the new protocol to avoid configuration drift. For example, when changing from NFSv3 to NFSv4.1, update the \u003cspan pulumi-lang-nodejs=\"`protocol`\" pulumi-lang-dotnet=\"`Protocol`\" pulumi-lang-go=\"`protocol`\" pulumi-lang-python=\"`protocol`\" pulumi-lang-yaml=\"`protocol`\" pulumi-lang-java=\"`protocol`\"\u003e`protocol`\u003c/span\u003e field in export policy rules accordingly.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group where the NetApp Volume should be created. Changing this forces a new resource to be created.\n"},"securityStyle":{"type":"string","description":"Volume security style, accepted values are \u003cspan pulumi-lang-nodejs=\"`unix`\" pulumi-lang-dotnet=\"`Unix`\" pulumi-lang-go=\"`unix`\" pulumi-lang-python=\"`unix`\" pulumi-lang-yaml=\"`unix`\" pulumi-lang-java=\"`unix`\"\u003e`unix`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`ntfs`\" pulumi-lang-dotnet=\"`Ntfs`\" pulumi-lang-go=\"`ntfs`\" pulumi-lang-python=\"`ntfs`\" pulumi-lang-yaml=\"`ntfs`\" pulumi-lang-java=\"`ntfs`\"\u003e`ntfs`\u003c/span\u003e. If not provided, single-protocol volume is created defaulting to \u003cspan pulumi-lang-nodejs=\"`unix`\" pulumi-lang-dotnet=\"`Unix`\" pulumi-lang-go=\"`unix`\" pulumi-lang-python=\"`unix`\" pulumi-lang-yaml=\"`unix`\" pulumi-lang-java=\"`unix`\"\u003e`unix`\u003c/span\u003e if it is `NFSv3` or `NFSv4.1` volume, if `CIFS`, it will default to \u003cspan pulumi-lang-nodejs=\"`ntfs`\" pulumi-lang-dotnet=\"`Ntfs`\" pulumi-lang-go=\"`ntfs`\" pulumi-lang-python=\"`ntfs`\" pulumi-lang-yaml=\"`ntfs`\" pulumi-lang-java=\"`ntfs`\"\u003e`ntfs`\u003c/span\u003e. In a dual-protocol volume, if not provided, its value will be \u003cspan pulumi-lang-nodejs=\"`ntfs`\" pulumi-lang-dotnet=\"`Ntfs`\" pulumi-lang-go=\"`ntfs`\" pulumi-lang-python=\"`ntfs`\" pulumi-lang-yaml=\"`ntfs`\" pulumi-lang-java=\"`ntfs`\"\u003e`ntfs`\u003c/span\u003e. Changing this forces a new resource to be created.\n"},"serviceLevel":{"type":"string","description":"The target performance of the file system. Possible values are `Premium`, `Standard`, `Ultra` and `Flexible`.\n\n\u003e **Note:** When updating \u003cspan pulumi-lang-nodejs=\"`serviceLevel`\" pulumi-lang-dotnet=\"`ServiceLevel`\" pulumi-lang-go=\"`serviceLevel`\" pulumi-lang-python=\"`service_level`\" pulumi-lang-yaml=\"`serviceLevel`\" pulumi-lang-java=\"`serviceLevel`\"\u003e`service_level`\u003c/span\u003e by migrating it to another Capacity Pool, both \u003cspan pulumi-lang-nodejs=\"`serviceLevel`\" pulumi-lang-dotnet=\"`ServiceLevel`\" pulumi-lang-go=\"`serviceLevel`\" pulumi-lang-python=\"`service_level`\" pulumi-lang-yaml=\"`serviceLevel`\" pulumi-lang-java=\"`serviceLevel`\"\u003e`service_level`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`poolName`\" pulumi-lang-dotnet=\"`PoolName`\" pulumi-lang-go=\"`poolName`\" pulumi-lang-python=\"`pool_name`\" pulumi-lang-yaml=\"`poolName`\" pulumi-lang-java=\"`poolName`\"\u003e`pool_name`\u003c/span\u003e must be changed, otherwise the volume will be recreated with the specified \u003cspan pulumi-lang-nodejs=\"`serviceLevel`\" pulumi-lang-dotnet=\"`ServiceLevel`\" pulumi-lang-go=\"`serviceLevel`\" pulumi-lang-python=\"`service_level`\" pulumi-lang-yaml=\"`serviceLevel`\" pulumi-lang-java=\"`serviceLevel`\"\u003e`service_level`\u003c/span\u003e.\n\n\u003e **Note:** After updating \u003cspan pulumi-lang-nodejs=\"`serviceLevel`\" pulumi-lang-dotnet=\"`ServiceLevel`\" pulumi-lang-go=\"`serviceLevel`\" pulumi-lang-python=\"`service_level`\" pulumi-lang-yaml=\"`serviceLevel`\" pulumi-lang-java=\"`serviceLevel`\"\u003e`service_level`\u003c/span\u003e the \u003cspan pulumi-lang-nodejs=\"`id`\" pulumi-lang-dotnet=\"`Id`\" pulumi-lang-go=\"`id`\" pulumi-lang-python=\"`id`\" pulumi-lang-yaml=\"`id`\" pulumi-lang-java=\"`id`\"\u003e`id`\u003c/span\u003e for the volume will change to include the new Capacity Pool so any resources referencing the Volume will be silently removed from state. They will still exist in Azure but need to reimported into Terraform.\n"},"smb3ProtocolEncryptionEnabled":{"type":"boolean","description":"Enable SMB encryption. Changing this forces a new resource to be created.\n"},"smbAccessBasedEnumerationEnabled":{"type":"boolean","description":"Limits enumeration of files and folders (that is, listing the contents) in SMB only to users with allowed access on the share. For instance, if a user doesn't have access to read a file or folder in a share with access-based enumeration enabled, then the file or folder doesn't show up in directory listings. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. For more information, please refer to [Understand NAS share permissions in Azure NetApp Files](https://learn.microsoft.com/en-us/azure/azure-netapp-files/network-attached-storage-permissions#:~:text=security%20for%20administrators.-,Access%2Dbased%20enumeration,in%20an%20Azure%20NetApp%20Files%20SMB%20volume.%20Only%20contosoadmin%20has%20access.,-In%20the%20below)\n"},"smbContinuousAvailabilityEnabled":{"type":"boolean","description":"Enable SMB Continuous Availability. Changing this forces a new resource to be created.\n"},"smbNonBrowsableEnabled":{"type":"boolean","description":"Limits clients from browsing for an SMB share by hiding the share from view in Windows Explorer or when listing shares in \"net view.\" Only end users that know the absolute paths to the share are able to find the share. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. For more information, please refer to [Understand NAS share permissions in Azure NetApp Files](https://learn.microsoft.com/en-us/azure/azure-netapp-files/network-attached-storage-permissions#:~:text=Non%2Dbrowsable%20shares,find%20the%20share.)\n"},"snapshotDirectoryVisible":{"type":"boolean","description":"Specifies whether the .snapshot (NFS clients) or ~snapshot (SMB clients) path of a volume is visible. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"storageQuotaInGb":{"type":"integer","description":"The maximum Storage Quota allowed for a file system in Gigabytes.\n"},"subnetId":{"type":"string","description":"The ID of the Subnet the NetApp Volume resides in, which must have the `Microsoft.NetApp/volumes` delegation. Changing this forces a new resource to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n\n\u003e **Note:** It is highly recommended to use the **lifecycle** property as noted in the example since it will prevent an accidental deletion of the volume if the \u003cspan pulumi-lang-nodejs=\"`protocols`\" pulumi-lang-dotnet=\"`Protocols`\" pulumi-lang-go=\"`protocols`\" pulumi-lang-python=\"`protocols`\" pulumi-lang-yaml=\"`protocols`\" pulumi-lang-java=\"`protocols`\"\u003e`protocols`\u003c/span\u003e argument changes to a different protocol type.\n"},"throughputInMibps":{"type":"number","description":"Throughput of this volume in Mibps.\n"},"volumePath":{"type":"string","description":"A unique file path for the volume. Used when creating mount targets. Changing this forces a new resource to be created.\n"},"zone":{"type":"string","description":"Specifies the Availability Zone in which the Volume should be located. Possible values are \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e. Changing this forces a new resource to be created. This feature is currently in preview, for more information on how to enable it, please refer to [Manage availability zone volume placement for Azure NetApp Files](https://learn.microsoft.com/en-us/azure/azure-netapp-files/manage-availability-zone-volume-placement#register-the-feature).\n"}},"required":["accountName","encryptionKeySource","keyVaultPrivateEndpointId","location","mountIpAddresses","name","networkFeatures","poolName","protocols","resourceGroupName","securityStyle","serviceLevel","storageQuotaInGb","subnetId","throughputInMibps","volumePath"],"inputProperties":{"acceptGrowCapacityPoolForShortTermCloneSplit":{"type":"string","description":"While auto splitting the short term clone volume, if the parent pool does not have enough space to accommodate the volume after split, it will be automatically resized, which will lead to increased billing. To accept capacity pool size auto grow and create a short term clone volume, set the property as `Accepted`. If `Declined`, the short term clone volume creation operation will fail. This property can only be used in conjunction with \u003cspan pulumi-lang-nodejs=\"`createFromSnapshotResourceId`\" pulumi-lang-dotnet=\"`CreateFromSnapshotResourceId`\" pulumi-lang-go=\"`createFromSnapshotResourceId`\" pulumi-lang-python=\"`create_from_snapshot_resource_id`\" pulumi-lang-yaml=\"`createFromSnapshotResourceId`\" pulumi-lang-java=\"`createFromSnapshotResourceId`\"\u003e`create_from_snapshot_resource_id`\u003c/span\u003e. Changing this forces a new resource to be created.\n\n\u003e **Note:** Short-term clones are not supported on large volumes or volumes enabled for cool access. Short-term clones automatically convert to regular volumes after 32 days. For more information, please refer to [Create a short-term clone volume in Azure NetApp Files](https://learn.microsoft.com/en-us/azure/azure-netapp-files/create-short-term-clone)\n","willReplaceOnChanges":true},"accountName":{"type":"string","description":"The name of the NetApp account in which the NetApp Pool should be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"azureVmwareDataStoreEnabled":{"type":"boolean","description":"Is the NetApp Volume enabled for Azure VMware Solution (AVS) datastore purpose. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"coolAccess":{"$ref":"#/types/azure:netapp/VolumeCoolAccess:VolumeCoolAccess","description":"A \u003cspan pulumi-lang-nodejs=\"`coolAccess`\" pulumi-lang-dotnet=\"`CoolAccess`\" pulumi-lang-go=\"`coolAccess`\" pulumi-lang-python=\"`cool_access`\" pulumi-lang-yaml=\"`coolAccess`\" pulumi-lang-java=\"`coolAccess`\"\u003e`cool_access`\u003c/span\u003e block as defined below.\n"},"createFromSnapshotResourceId":{"type":"string","description":"Creates volume from snapshot. Following properties must be the same as the original volume where the snapshot was taken from: \u003cspan pulumi-lang-nodejs=\"`protocols`\" pulumi-lang-dotnet=\"`Protocols`\" pulumi-lang-go=\"`protocols`\" pulumi-lang-python=\"`protocols`\" pulumi-lang-yaml=\"`protocols`\" pulumi-lang-java=\"`protocols`\"\u003e`protocols`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`subnetId`\" pulumi-lang-dotnet=\"`SubnetId`\" pulumi-lang-go=\"`subnetId`\" pulumi-lang-python=\"`subnet_id`\" pulumi-lang-yaml=\"`subnetId`\" pulumi-lang-java=\"`subnetId`\"\u003e`subnet_id`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`location`\" pulumi-lang-dotnet=\"`Location`\" pulumi-lang-go=\"`location`\" pulumi-lang-python=\"`location`\" pulumi-lang-yaml=\"`location`\" pulumi-lang-java=\"`location`\"\u003e`location`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`serviceLevel`\" pulumi-lang-dotnet=\"`ServiceLevel`\" pulumi-lang-go=\"`serviceLevel`\" pulumi-lang-python=\"`service_level`\" pulumi-lang-yaml=\"`serviceLevel`\" pulumi-lang-java=\"`serviceLevel`\"\u003e`service_level`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`resourceGroupName`\" pulumi-lang-dotnet=\"`ResourceGroupName`\" pulumi-lang-go=\"`resourceGroupName`\" pulumi-lang-python=\"`resource_group_name`\" pulumi-lang-yaml=\"`resourceGroupName`\" pulumi-lang-java=\"`resourceGroupName`\"\u003e`resource_group_name`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`accountName`\" pulumi-lang-dotnet=\"`AccountName`\" pulumi-lang-go=\"`accountName`\" pulumi-lang-python=\"`account_name`\" pulumi-lang-yaml=\"`accountName`\" pulumi-lang-java=\"`accountName`\"\u003e`account_name`\u003c/span\u003e. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"dataProtectionBackupPolicy":{"$ref":"#/types/azure:netapp/VolumeDataProtectionBackupPolicy:VolumeDataProtectionBackupPolicy","description":"A \u003cspan pulumi-lang-nodejs=\"`dataProtectionBackupPolicy`\" pulumi-lang-dotnet=\"`DataProtectionBackupPolicy`\" pulumi-lang-go=\"`dataProtectionBackupPolicy`\" pulumi-lang-python=\"`data_protection_backup_policy`\" pulumi-lang-yaml=\"`dataProtectionBackupPolicy`\" pulumi-lang-java=\"`dataProtectionBackupPolicy`\"\u003e`data_protection_backup_policy`\u003c/span\u003e block as defined below.\n"},"dataProtectionReplication":{"$ref":"#/types/azure:netapp/VolumeDataProtectionReplication:VolumeDataProtectionReplication","description":"A \u003cspan pulumi-lang-nodejs=\"`dataProtectionReplication`\" pulumi-lang-dotnet=\"`DataProtectionReplication`\" pulumi-lang-go=\"`dataProtectionReplication`\" pulumi-lang-python=\"`data_protection_replication`\" pulumi-lang-yaml=\"`dataProtectionReplication`\" pulumi-lang-java=\"`dataProtectionReplication`\"\u003e`data_protection_replication`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"dataProtectionSnapshotPolicy":{"$ref":"#/types/azure:netapp/VolumeDataProtectionSnapshotPolicy:VolumeDataProtectionSnapshotPolicy","description":"A \u003cspan pulumi-lang-nodejs=\"`dataProtectionSnapshotPolicy`\" pulumi-lang-dotnet=\"`DataProtectionSnapshotPolicy`\" pulumi-lang-go=\"`dataProtectionSnapshotPolicy`\" pulumi-lang-python=\"`data_protection_snapshot_policy`\" pulumi-lang-yaml=\"`dataProtectionSnapshotPolicy`\" pulumi-lang-java=\"`dataProtectionSnapshotPolicy`\"\u003e`data_protection_snapshot_policy`\u003c/span\u003e block as defined below.\n"},"encryptionKeySource":{"type":"string","description":"The encryption key source, it can be `Microsoft.NetApp` for platform managed keys or `Microsoft.KeyVault` for customer-managed keys. This is required with \u003cspan pulumi-lang-nodejs=\"`keyVaultPrivateEndpointId`\" pulumi-lang-dotnet=\"`KeyVaultPrivateEndpointId`\" pulumi-lang-go=\"`keyVaultPrivateEndpointId`\" pulumi-lang-python=\"`key_vault_private_endpoint_id`\" pulumi-lang-yaml=\"`keyVaultPrivateEndpointId`\" pulumi-lang-java=\"`keyVaultPrivateEndpointId`\"\u003e`key_vault_private_endpoint_id`\u003c/span\u003e. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"exportPolicyRules":{"type":"array","items":{"$ref":"#/types/azure:netapp/VolumeExportPolicyRule:VolumeExportPolicyRule"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`exportPolicyRule`\" pulumi-lang-dotnet=\"`ExportPolicyRule`\" pulumi-lang-go=\"`exportPolicyRule`\" pulumi-lang-python=\"`export_policy_rule`\" pulumi-lang-yaml=\"`exportPolicyRule`\" pulumi-lang-java=\"`exportPolicyRule`\"\u003e`export_policy_rule`\u003c/span\u003e block defined below.\n"},"kerberosEnabled":{"type":"boolean","description":"Enable to allow Kerberos secured volumes. Requires appropriate export rules. Changing this forces a new resource to be created.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`kerberosEnabled`\" pulumi-lang-dotnet=\"`KerberosEnabled`\" pulumi-lang-go=\"`kerberosEnabled`\" pulumi-lang-python=\"`kerberos_enabled`\" pulumi-lang-yaml=\"`kerberosEnabled`\" pulumi-lang-java=\"`kerberosEnabled`\"\u003e`kerberos_enabled`\u003c/span\u003e requires that the parent \u003cspan pulumi-lang-nodejs=\"`azure.netapp.Account`\" pulumi-lang-dotnet=\"`azure.netapp.Account`\" pulumi-lang-go=\"`netapp.Account`\" pulumi-lang-python=\"`netapp.Account`\" pulumi-lang-yaml=\"`azure.netapp.Account`\" pulumi-lang-java=\"`azure.netapp.Account`\"\u003e`azure.netapp.Account`\u003c/span\u003e has a *valid* AD connection defined. If the configuration is invalid, the volume will still be created but in a failed state. This requires manually deleting the volume and recreating it again via Terraform once the AD configuration has been corrected.\n","willReplaceOnChanges":true},"keyVaultPrivateEndpointId":{"type":"string","description":"The Private Endpoint ID for Key Vault, which is required when using customer-managed keys. This is required with \u003cspan pulumi-lang-nodejs=\"`encryptionKeySource`\" pulumi-lang-dotnet=\"`EncryptionKeySource`\" pulumi-lang-go=\"`encryptionKeySource`\" pulumi-lang-python=\"`encryption_key_source`\" pulumi-lang-yaml=\"`encryptionKeySource`\" pulumi-lang-java=\"`encryptionKeySource`\"\u003e`encryption_key_source`\u003c/span\u003e. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"largeVolumeEnabled":{"type":"boolean","description":"A boolean specifying if the volume is a large volume. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** Large volumes must be at least 50 TiB in size and can be up to 1,024 TiB (1 PiB). For more information, please refer to [Requirements and considerations for large volumes](https://learn.microsoft.com/en-us/azure/azure-netapp-files/large-volumes-requirements-considerations)\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the NetApp Volume. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"networkFeatures":{"type":"string","description":"Indicates which network feature to use, accepted values are `Basic` or `Standard`, it defaults to `Basic` if not defined. This is a feature in public preview and for more information about it and how to register, please refer to [Configure network features for an Azure NetApp Files volume](https://docs.microsoft.com/en-us/azure/azure-netapp-files/configure-network-features).\n"},"poolName":{"type":"string","description":"The name of the NetApp pool in which the NetApp Volume should be created.\n"},"protocols":{"type":"array","items":{"type":"string"},"description":"The target volume protocol expressed as a list. Supported single value include `CIFS`, `NFSv3`, or `NFSv4.1`. If argument is not defined it will default to `NFSv3`. Protocol conversion between `NFSv3` and `NFSv4.1` and vice-versa is supported without recreating the volume, however export policy rules must be updated accordingly to avoid configuration drift (e.g., when converting from `NFSv3` to `NFSv4.1`, set \u003cspan pulumi-lang-nodejs=\"`nfsv3Enabled \" pulumi-lang-dotnet=\"`Nfsv3Enabled \" pulumi-lang-go=\"`nfsv3Enabled \" pulumi-lang-python=\"`nfsv3_enabled \" pulumi-lang-yaml=\"`nfsv3Enabled \" pulumi-lang-java=\"`nfsv3Enabled \"\u003e`nfsv3_enabled \u003c/span\u003e= false` and \u003cspan pulumi-lang-nodejs=\"`nfsv41Enabled \" pulumi-lang-dotnet=\"`Nfsv41Enabled \" pulumi-lang-go=\"`nfsv41Enabled \" pulumi-lang-python=\"`nfsv41_enabled \" pulumi-lang-yaml=\"`nfsv41Enabled \" pulumi-lang-java=\"`nfsv41Enabled \"\u003e`nfsv41_enabled \u003c/span\u003e= true` in export policy rules). Dual protocol scenario is supported for CIFS and NFSv3, for more information, please refer to [Create a dual-protocol volume for Azure NetApp Files](https://docs.microsoft.com/azure/azure-netapp-files/create-volumes-dual-protocol) document.\n\n\u003e **Note:** When converting protocols, ensure that export policy rules are updated to match the new protocol to avoid configuration drift. For example, when changing from NFSv3 to NFSv4.1, update the \u003cspan pulumi-lang-nodejs=\"`protocol`\" pulumi-lang-dotnet=\"`Protocol`\" pulumi-lang-go=\"`protocol`\" pulumi-lang-python=\"`protocol`\" pulumi-lang-yaml=\"`protocol`\" pulumi-lang-java=\"`protocol`\"\u003e`protocol`\u003c/span\u003e field in export policy rules accordingly.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group where the NetApp Volume should be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"securityStyle":{"type":"string","description":"Volume security style, accepted values are \u003cspan pulumi-lang-nodejs=\"`unix`\" pulumi-lang-dotnet=\"`Unix`\" pulumi-lang-go=\"`unix`\" pulumi-lang-python=\"`unix`\" pulumi-lang-yaml=\"`unix`\" pulumi-lang-java=\"`unix`\"\u003e`unix`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`ntfs`\" pulumi-lang-dotnet=\"`Ntfs`\" pulumi-lang-go=\"`ntfs`\" pulumi-lang-python=\"`ntfs`\" pulumi-lang-yaml=\"`ntfs`\" pulumi-lang-java=\"`ntfs`\"\u003e`ntfs`\u003c/span\u003e. If not provided, single-protocol volume is created defaulting to \u003cspan pulumi-lang-nodejs=\"`unix`\" pulumi-lang-dotnet=\"`Unix`\" pulumi-lang-go=\"`unix`\" pulumi-lang-python=\"`unix`\" pulumi-lang-yaml=\"`unix`\" pulumi-lang-java=\"`unix`\"\u003e`unix`\u003c/span\u003e if it is `NFSv3` or `NFSv4.1` volume, if `CIFS`, it will default to \u003cspan pulumi-lang-nodejs=\"`ntfs`\" pulumi-lang-dotnet=\"`Ntfs`\" pulumi-lang-go=\"`ntfs`\" pulumi-lang-python=\"`ntfs`\" pulumi-lang-yaml=\"`ntfs`\" pulumi-lang-java=\"`ntfs`\"\u003e`ntfs`\u003c/span\u003e. In a dual-protocol volume, if not provided, its value will be \u003cspan pulumi-lang-nodejs=\"`ntfs`\" pulumi-lang-dotnet=\"`Ntfs`\" pulumi-lang-go=\"`ntfs`\" pulumi-lang-python=\"`ntfs`\" pulumi-lang-yaml=\"`ntfs`\" pulumi-lang-java=\"`ntfs`\"\u003e`ntfs`\u003c/span\u003e. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"serviceLevel":{"type":"string","description":"The target performance of the file system. Possible values are `Premium`, `Standard`, `Ultra` and `Flexible`.\n\n\u003e **Note:** When updating \u003cspan pulumi-lang-nodejs=\"`serviceLevel`\" pulumi-lang-dotnet=\"`ServiceLevel`\" pulumi-lang-go=\"`serviceLevel`\" pulumi-lang-python=\"`service_level`\" pulumi-lang-yaml=\"`serviceLevel`\" pulumi-lang-java=\"`serviceLevel`\"\u003e`service_level`\u003c/span\u003e by migrating it to another Capacity Pool, both \u003cspan pulumi-lang-nodejs=\"`serviceLevel`\" pulumi-lang-dotnet=\"`ServiceLevel`\" pulumi-lang-go=\"`serviceLevel`\" pulumi-lang-python=\"`service_level`\" pulumi-lang-yaml=\"`serviceLevel`\" pulumi-lang-java=\"`serviceLevel`\"\u003e`service_level`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`poolName`\" pulumi-lang-dotnet=\"`PoolName`\" pulumi-lang-go=\"`poolName`\" pulumi-lang-python=\"`pool_name`\" pulumi-lang-yaml=\"`poolName`\" pulumi-lang-java=\"`poolName`\"\u003e`pool_name`\u003c/span\u003e must be changed, otherwise the volume will be recreated with the specified \u003cspan pulumi-lang-nodejs=\"`serviceLevel`\" pulumi-lang-dotnet=\"`ServiceLevel`\" pulumi-lang-go=\"`serviceLevel`\" pulumi-lang-python=\"`service_level`\" pulumi-lang-yaml=\"`serviceLevel`\" pulumi-lang-java=\"`serviceLevel`\"\u003e`service_level`\u003c/span\u003e.\n\n\u003e **Note:** After updating \u003cspan pulumi-lang-nodejs=\"`serviceLevel`\" pulumi-lang-dotnet=\"`ServiceLevel`\" pulumi-lang-go=\"`serviceLevel`\" pulumi-lang-python=\"`service_level`\" pulumi-lang-yaml=\"`serviceLevel`\" pulumi-lang-java=\"`serviceLevel`\"\u003e`service_level`\u003c/span\u003e the \u003cspan pulumi-lang-nodejs=\"`id`\" pulumi-lang-dotnet=\"`Id`\" pulumi-lang-go=\"`id`\" pulumi-lang-python=\"`id`\" pulumi-lang-yaml=\"`id`\" pulumi-lang-java=\"`id`\"\u003e`id`\u003c/span\u003e for the volume will change to include the new Capacity Pool so any resources referencing the Volume will be silently removed from state. They will still exist in Azure but need to reimported into Terraform.\n"},"smb3ProtocolEncryptionEnabled":{"type":"boolean","description":"Enable SMB encryption. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"smbAccessBasedEnumerationEnabled":{"type":"boolean","description":"Limits enumeration of files and folders (that is, listing the contents) in SMB only to users with allowed access on the share. For instance, if a user doesn't have access to read a file or folder in a share with access-based enumeration enabled, then the file or folder doesn't show up in directory listings. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. For more information, please refer to [Understand NAS share permissions in Azure NetApp Files](https://learn.microsoft.com/en-us/azure/azure-netapp-files/network-attached-storage-permissions#:~:text=security%20for%20administrators.-,Access%2Dbased%20enumeration,in%20an%20Azure%20NetApp%20Files%20SMB%20volume.%20Only%20contosoadmin%20has%20access.,-In%20the%20below)\n"},"smbContinuousAvailabilityEnabled":{"type":"boolean","description":"Enable SMB Continuous Availability. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"smbNonBrowsableEnabled":{"type":"boolean","description":"Limits clients from browsing for an SMB share by hiding the share from view in Windows Explorer or when listing shares in \"net view.\" Only end users that know the absolute paths to the share are able to find the share. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. For more information, please refer to [Understand NAS share permissions in Azure NetApp Files](https://learn.microsoft.com/en-us/azure/azure-netapp-files/network-attached-storage-permissions#:~:text=Non%2Dbrowsable%20shares,find%20the%20share.)\n"},"snapshotDirectoryVisible":{"type":"boolean","description":"Specifies whether the .snapshot (NFS clients) or ~snapshot (SMB clients) path of a volume is visible. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"storageQuotaInGb":{"type":"integer","description":"The maximum Storage Quota allowed for a file system in Gigabytes.\n"},"subnetId":{"type":"string","description":"The ID of the Subnet the NetApp Volume resides in, which must have the `Microsoft.NetApp/volumes` delegation. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n\n\u003e **Note:** It is highly recommended to use the **lifecycle** property as noted in the example since it will prevent an accidental deletion of the volume if the \u003cspan pulumi-lang-nodejs=\"`protocols`\" pulumi-lang-dotnet=\"`Protocols`\" pulumi-lang-go=\"`protocols`\" pulumi-lang-python=\"`protocols`\" pulumi-lang-yaml=\"`protocols`\" pulumi-lang-java=\"`protocols`\"\u003e`protocols`\u003c/span\u003e argument changes to a different protocol type.\n"},"throughputInMibps":{"type":"number","description":"Throughput of this volume in Mibps.\n"},"volumePath":{"type":"string","description":"A unique file path for the volume. Used when creating mount targets. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"zone":{"type":"string","description":"Specifies the Availability Zone in which the Volume should be located. Possible values are \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e. Changing this forces a new resource to be created. This feature is currently in preview, for more information on how to enable it, please refer to [Manage availability zone volume placement for Azure NetApp Files](https://learn.microsoft.com/en-us/azure/azure-netapp-files/manage-availability-zone-volume-placement#register-the-feature).\n","willReplaceOnChanges":true}},"requiredInputs":["accountName","poolName","resourceGroupName","serviceLevel","storageQuotaInGb","subnetId","volumePath"],"stateInputs":{"description":"Input properties used for looking up and filtering Volume resources.\n","properties":{"acceptGrowCapacityPoolForShortTermCloneSplit":{"type":"string","description":"While auto splitting the short term clone volume, if the parent pool does not have enough space to accommodate the volume after split, it will be automatically resized, which will lead to increased billing. To accept capacity pool size auto grow and create a short term clone volume, set the property as `Accepted`. If `Declined`, the short term clone volume creation operation will fail. This property can only be used in conjunction with \u003cspan pulumi-lang-nodejs=\"`createFromSnapshotResourceId`\" pulumi-lang-dotnet=\"`CreateFromSnapshotResourceId`\" pulumi-lang-go=\"`createFromSnapshotResourceId`\" pulumi-lang-python=\"`create_from_snapshot_resource_id`\" pulumi-lang-yaml=\"`createFromSnapshotResourceId`\" pulumi-lang-java=\"`createFromSnapshotResourceId`\"\u003e`create_from_snapshot_resource_id`\u003c/span\u003e. Changing this forces a new resource to be created.\n\n\u003e **Note:** Short-term clones are not supported on large volumes or volumes enabled for cool access. Short-term clones automatically convert to regular volumes after 32 days. For more information, please refer to [Create a short-term clone volume in Azure NetApp Files](https://learn.microsoft.com/en-us/azure/azure-netapp-files/create-short-term-clone)\n","willReplaceOnChanges":true},"accountName":{"type":"string","description":"The name of the NetApp account in which the NetApp Pool should be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"azureVmwareDataStoreEnabled":{"type":"boolean","description":"Is the NetApp Volume enabled for Azure VMware Solution (AVS) datastore purpose. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"coolAccess":{"$ref":"#/types/azure:netapp/VolumeCoolAccess:VolumeCoolAccess","description":"A \u003cspan pulumi-lang-nodejs=\"`coolAccess`\" pulumi-lang-dotnet=\"`CoolAccess`\" pulumi-lang-go=\"`coolAccess`\" pulumi-lang-python=\"`cool_access`\" pulumi-lang-yaml=\"`coolAccess`\" pulumi-lang-java=\"`coolAccess`\"\u003e`cool_access`\u003c/span\u003e block as defined below.\n"},"createFromSnapshotResourceId":{"type":"string","description":"Creates volume from snapshot. Following properties must be the same as the original volume where the snapshot was taken from: \u003cspan pulumi-lang-nodejs=\"`protocols`\" pulumi-lang-dotnet=\"`Protocols`\" pulumi-lang-go=\"`protocols`\" pulumi-lang-python=\"`protocols`\" pulumi-lang-yaml=\"`protocols`\" pulumi-lang-java=\"`protocols`\"\u003e`protocols`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`subnetId`\" pulumi-lang-dotnet=\"`SubnetId`\" pulumi-lang-go=\"`subnetId`\" pulumi-lang-python=\"`subnet_id`\" pulumi-lang-yaml=\"`subnetId`\" pulumi-lang-java=\"`subnetId`\"\u003e`subnet_id`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`location`\" pulumi-lang-dotnet=\"`Location`\" pulumi-lang-go=\"`location`\" pulumi-lang-python=\"`location`\" pulumi-lang-yaml=\"`location`\" pulumi-lang-java=\"`location`\"\u003e`location`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`serviceLevel`\" pulumi-lang-dotnet=\"`ServiceLevel`\" pulumi-lang-go=\"`serviceLevel`\" pulumi-lang-python=\"`service_level`\" pulumi-lang-yaml=\"`serviceLevel`\" pulumi-lang-java=\"`serviceLevel`\"\u003e`service_level`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`resourceGroupName`\" pulumi-lang-dotnet=\"`ResourceGroupName`\" pulumi-lang-go=\"`resourceGroupName`\" pulumi-lang-python=\"`resource_group_name`\" pulumi-lang-yaml=\"`resourceGroupName`\" pulumi-lang-java=\"`resourceGroupName`\"\u003e`resource_group_name`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`accountName`\" pulumi-lang-dotnet=\"`AccountName`\" pulumi-lang-go=\"`accountName`\" pulumi-lang-python=\"`account_name`\" pulumi-lang-yaml=\"`accountName`\" pulumi-lang-java=\"`accountName`\"\u003e`account_name`\u003c/span\u003e. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"dataProtectionBackupPolicy":{"$ref":"#/types/azure:netapp/VolumeDataProtectionBackupPolicy:VolumeDataProtectionBackupPolicy","description":"A \u003cspan pulumi-lang-nodejs=\"`dataProtectionBackupPolicy`\" pulumi-lang-dotnet=\"`DataProtectionBackupPolicy`\" pulumi-lang-go=\"`dataProtectionBackupPolicy`\" pulumi-lang-python=\"`data_protection_backup_policy`\" pulumi-lang-yaml=\"`dataProtectionBackupPolicy`\" pulumi-lang-java=\"`dataProtectionBackupPolicy`\"\u003e`data_protection_backup_policy`\u003c/span\u003e block as defined below.\n"},"dataProtectionReplication":{"$ref":"#/types/azure:netapp/VolumeDataProtectionReplication:VolumeDataProtectionReplication","description":"A \u003cspan pulumi-lang-nodejs=\"`dataProtectionReplication`\" pulumi-lang-dotnet=\"`DataProtectionReplication`\" pulumi-lang-go=\"`dataProtectionReplication`\" pulumi-lang-python=\"`data_protection_replication`\" pulumi-lang-yaml=\"`dataProtectionReplication`\" pulumi-lang-java=\"`dataProtectionReplication`\"\u003e`data_protection_replication`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"dataProtectionSnapshotPolicy":{"$ref":"#/types/azure:netapp/VolumeDataProtectionSnapshotPolicy:VolumeDataProtectionSnapshotPolicy","description":"A \u003cspan pulumi-lang-nodejs=\"`dataProtectionSnapshotPolicy`\" pulumi-lang-dotnet=\"`DataProtectionSnapshotPolicy`\" pulumi-lang-go=\"`dataProtectionSnapshotPolicy`\" pulumi-lang-python=\"`data_protection_snapshot_policy`\" pulumi-lang-yaml=\"`dataProtectionSnapshotPolicy`\" pulumi-lang-java=\"`dataProtectionSnapshotPolicy`\"\u003e`data_protection_snapshot_policy`\u003c/span\u003e block as defined below.\n"},"encryptionKeySource":{"type":"string","description":"The encryption key source, it can be `Microsoft.NetApp` for platform managed keys or `Microsoft.KeyVault` for customer-managed keys. This is required with \u003cspan pulumi-lang-nodejs=\"`keyVaultPrivateEndpointId`\" pulumi-lang-dotnet=\"`KeyVaultPrivateEndpointId`\" pulumi-lang-go=\"`keyVaultPrivateEndpointId`\" pulumi-lang-python=\"`key_vault_private_endpoint_id`\" pulumi-lang-yaml=\"`keyVaultPrivateEndpointId`\" pulumi-lang-java=\"`keyVaultPrivateEndpointId`\"\u003e`key_vault_private_endpoint_id`\u003c/span\u003e. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"exportPolicyRules":{"type":"array","items":{"$ref":"#/types/azure:netapp/VolumeExportPolicyRule:VolumeExportPolicyRule"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`exportPolicyRule`\" pulumi-lang-dotnet=\"`ExportPolicyRule`\" pulumi-lang-go=\"`exportPolicyRule`\" pulumi-lang-python=\"`export_policy_rule`\" pulumi-lang-yaml=\"`exportPolicyRule`\" pulumi-lang-java=\"`exportPolicyRule`\"\u003e`export_policy_rule`\u003c/span\u003e block defined below.\n"},"kerberosEnabled":{"type":"boolean","description":"Enable to allow Kerberos secured volumes. Requires appropriate export rules. Changing this forces a new resource to be created.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`kerberosEnabled`\" pulumi-lang-dotnet=\"`KerberosEnabled`\" pulumi-lang-go=\"`kerberosEnabled`\" pulumi-lang-python=\"`kerberos_enabled`\" pulumi-lang-yaml=\"`kerberosEnabled`\" pulumi-lang-java=\"`kerberosEnabled`\"\u003e`kerberos_enabled`\u003c/span\u003e requires that the parent \u003cspan pulumi-lang-nodejs=\"`azure.netapp.Account`\" pulumi-lang-dotnet=\"`azure.netapp.Account`\" pulumi-lang-go=\"`netapp.Account`\" pulumi-lang-python=\"`netapp.Account`\" pulumi-lang-yaml=\"`azure.netapp.Account`\" pulumi-lang-java=\"`azure.netapp.Account`\"\u003e`azure.netapp.Account`\u003c/span\u003e has a *valid* AD connection defined. If the configuration is invalid, the volume will still be created but in a failed state. This requires manually deleting the volume and recreating it again via Terraform once the AD configuration has been corrected.\n","willReplaceOnChanges":true},"keyVaultPrivateEndpointId":{"type":"string","description":"The Private Endpoint ID for Key Vault, which is required when using customer-managed keys. This is required with \u003cspan pulumi-lang-nodejs=\"`encryptionKeySource`\" pulumi-lang-dotnet=\"`EncryptionKeySource`\" pulumi-lang-go=\"`encryptionKeySource`\" pulumi-lang-python=\"`encryption_key_source`\" pulumi-lang-yaml=\"`encryptionKeySource`\" pulumi-lang-java=\"`encryptionKeySource`\"\u003e`encryption_key_source`\u003c/span\u003e. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"largeVolumeEnabled":{"type":"boolean","description":"A boolean specifying if the volume is a large volume. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** Large volumes must be at least 50 TiB in size and can be up to 1,024 TiB (1 PiB). For more information, please refer to [Requirements and considerations for large volumes](https://learn.microsoft.com/en-us/azure/azure-netapp-files/large-volumes-requirements-considerations)\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"mountIpAddresses":{"type":"array","items":{"type":"string"},"description":"A list of IPv4 Addresses which should be used to mount the volume.\n"},"name":{"type":"string","description":"The name of the NetApp Volume. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"networkFeatures":{"type":"string","description":"Indicates which network feature to use, accepted values are `Basic` or `Standard`, it defaults to `Basic` if not defined. This is a feature in public preview and for more information about it and how to register, please refer to [Configure network features for an Azure NetApp Files volume](https://docs.microsoft.com/en-us/azure/azure-netapp-files/configure-network-features).\n"},"poolName":{"type":"string","description":"The name of the NetApp pool in which the NetApp Volume should be created.\n"},"protocols":{"type":"array","items":{"type":"string"},"description":"The target volume protocol expressed as a list. Supported single value include `CIFS`, `NFSv3`, or `NFSv4.1`. If argument is not defined it will default to `NFSv3`. Protocol conversion between `NFSv3` and `NFSv4.1` and vice-versa is supported without recreating the volume, however export policy rules must be updated accordingly to avoid configuration drift (e.g., when converting from `NFSv3` to `NFSv4.1`, set \u003cspan pulumi-lang-nodejs=\"`nfsv3Enabled \" pulumi-lang-dotnet=\"`Nfsv3Enabled \" pulumi-lang-go=\"`nfsv3Enabled \" pulumi-lang-python=\"`nfsv3_enabled \" pulumi-lang-yaml=\"`nfsv3Enabled \" pulumi-lang-java=\"`nfsv3Enabled \"\u003e`nfsv3_enabled \u003c/span\u003e= false` and \u003cspan pulumi-lang-nodejs=\"`nfsv41Enabled \" pulumi-lang-dotnet=\"`Nfsv41Enabled \" pulumi-lang-go=\"`nfsv41Enabled \" pulumi-lang-python=\"`nfsv41_enabled \" pulumi-lang-yaml=\"`nfsv41Enabled \" pulumi-lang-java=\"`nfsv41Enabled \"\u003e`nfsv41_enabled \u003c/span\u003e= true` in export policy rules). Dual protocol scenario is supported for CIFS and NFSv3, for more information, please refer to [Create a dual-protocol volume for Azure NetApp Files](https://docs.microsoft.com/azure/azure-netapp-files/create-volumes-dual-protocol) document.\n\n\u003e **Note:** When converting protocols, ensure that export policy rules are updated to match the new protocol to avoid configuration drift. For example, when changing from NFSv3 to NFSv4.1, update the \u003cspan pulumi-lang-nodejs=\"`protocol`\" pulumi-lang-dotnet=\"`Protocol`\" pulumi-lang-go=\"`protocol`\" pulumi-lang-python=\"`protocol`\" pulumi-lang-yaml=\"`protocol`\" pulumi-lang-java=\"`protocol`\"\u003e`protocol`\u003c/span\u003e field in export policy rules accordingly.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group where the NetApp Volume should be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"securityStyle":{"type":"string","description":"Volume security style, accepted values are \u003cspan pulumi-lang-nodejs=\"`unix`\" pulumi-lang-dotnet=\"`Unix`\" pulumi-lang-go=\"`unix`\" pulumi-lang-python=\"`unix`\" pulumi-lang-yaml=\"`unix`\" pulumi-lang-java=\"`unix`\"\u003e`unix`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`ntfs`\" pulumi-lang-dotnet=\"`Ntfs`\" pulumi-lang-go=\"`ntfs`\" pulumi-lang-python=\"`ntfs`\" pulumi-lang-yaml=\"`ntfs`\" pulumi-lang-java=\"`ntfs`\"\u003e`ntfs`\u003c/span\u003e. If not provided, single-protocol volume is created defaulting to \u003cspan pulumi-lang-nodejs=\"`unix`\" pulumi-lang-dotnet=\"`Unix`\" pulumi-lang-go=\"`unix`\" pulumi-lang-python=\"`unix`\" pulumi-lang-yaml=\"`unix`\" pulumi-lang-java=\"`unix`\"\u003e`unix`\u003c/span\u003e if it is `NFSv3` or `NFSv4.1` volume, if `CIFS`, it will default to \u003cspan pulumi-lang-nodejs=\"`ntfs`\" pulumi-lang-dotnet=\"`Ntfs`\" pulumi-lang-go=\"`ntfs`\" pulumi-lang-python=\"`ntfs`\" pulumi-lang-yaml=\"`ntfs`\" pulumi-lang-java=\"`ntfs`\"\u003e`ntfs`\u003c/span\u003e. In a dual-protocol volume, if not provided, its value will be \u003cspan pulumi-lang-nodejs=\"`ntfs`\" pulumi-lang-dotnet=\"`Ntfs`\" pulumi-lang-go=\"`ntfs`\" pulumi-lang-python=\"`ntfs`\" pulumi-lang-yaml=\"`ntfs`\" pulumi-lang-java=\"`ntfs`\"\u003e`ntfs`\u003c/span\u003e. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"serviceLevel":{"type":"string","description":"The target performance of the file system. Possible values are `Premium`, `Standard`, `Ultra` and `Flexible`.\n\n\u003e **Note:** When updating \u003cspan pulumi-lang-nodejs=\"`serviceLevel`\" pulumi-lang-dotnet=\"`ServiceLevel`\" pulumi-lang-go=\"`serviceLevel`\" pulumi-lang-python=\"`service_level`\" pulumi-lang-yaml=\"`serviceLevel`\" pulumi-lang-java=\"`serviceLevel`\"\u003e`service_level`\u003c/span\u003e by migrating it to another Capacity Pool, both \u003cspan pulumi-lang-nodejs=\"`serviceLevel`\" pulumi-lang-dotnet=\"`ServiceLevel`\" pulumi-lang-go=\"`serviceLevel`\" pulumi-lang-python=\"`service_level`\" pulumi-lang-yaml=\"`serviceLevel`\" pulumi-lang-java=\"`serviceLevel`\"\u003e`service_level`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`poolName`\" pulumi-lang-dotnet=\"`PoolName`\" pulumi-lang-go=\"`poolName`\" pulumi-lang-python=\"`pool_name`\" pulumi-lang-yaml=\"`poolName`\" pulumi-lang-java=\"`poolName`\"\u003e`pool_name`\u003c/span\u003e must be changed, otherwise the volume will be recreated with the specified \u003cspan pulumi-lang-nodejs=\"`serviceLevel`\" pulumi-lang-dotnet=\"`ServiceLevel`\" pulumi-lang-go=\"`serviceLevel`\" pulumi-lang-python=\"`service_level`\" pulumi-lang-yaml=\"`serviceLevel`\" pulumi-lang-java=\"`serviceLevel`\"\u003e`service_level`\u003c/span\u003e.\n\n\u003e **Note:** After updating \u003cspan pulumi-lang-nodejs=\"`serviceLevel`\" pulumi-lang-dotnet=\"`ServiceLevel`\" pulumi-lang-go=\"`serviceLevel`\" pulumi-lang-python=\"`service_level`\" pulumi-lang-yaml=\"`serviceLevel`\" pulumi-lang-java=\"`serviceLevel`\"\u003e`service_level`\u003c/span\u003e the \u003cspan pulumi-lang-nodejs=\"`id`\" pulumi-lang-dotnet=\"`Id`\" pulumi-lang-go=\"`id`\" pulumi-lang-python=\"`id`\" pulumi-lang-yaml=\"`id`\" pulumi-lang-java=\"`id`\"\u003e`id`\u003c/span\u003e for the volume will change to include the new Capacity Pool so any resources referencing the Volume will be silently removed from state. They will still exist in Azure but need to reimported into Terraform.\n"},"smb3ProtocolEncryptionEnabled":{"type":"boolean","description":"Enable SMB encryption. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"smbAccessBasedEnumerationEnabled":{"type":"boolean","description":"Limits enumeration of files and folders (that is, listing the contents) in SMB only to users with allowed access on the share. For instance, if a user doesn't have access to read a file or folder in a share with access-based enumeration enabled, then the file or folder doesn't show up in directory listings. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. For more information, please refer to [Understand NAS share permissions in Azure NetApp Files](https://learn.microsoft.com/en-us/azure/azure-netapp-files/network-attached-storage-permissions#:~:text=security%20for%20administrators.-,Access%2Dbased%20enumeration,in%20an%20Azure%20NetApp%20Files%20SMB%20volume.%20Only%20contosoadmin%20has%20access.,-In%20the%20below)\n"},"smbContinuousAvailabilityEnabled":{"type":"boolean","description":"Enable SMB Continuous Availability. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"smbNonBrowsableEnabled":{"type":"boolean","description":"Limits clients from browsing for an SMB share by hiding the share from view in Windows Explorer or when listing shares in \"net view.\" Only end users that know the absolute paths to the share are able to find the share. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. For more information, please refer to [Understand NAS share permissions in Azure NetApp Files](https://learn.microsoft.com/en-us/azure/azure-netapp-files/network-attached-storage-permissions#:~:text=Non%2Dbrowsable%20shares,find%20the%20share.)\n"},"snapshotDirectoryVisible":{"type":"boolean","description":"Specifies whether the .snapshot (NFS clients) or ~snapshot (SMB clients) path of a volume is visible. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"storageQuotaInGb":{"type":"integer","description":"The maximum Storage Quota allowed for a file system in Gigabytes.\n"},"subnetId":{"type":"string","description":"The ID of the Subnet the NetApp Volume resides in, which must have the `Microsoft.NetApp/volumes` delegation. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n\n\u003e **Note:** It is highly recommended to use the **lifecycle** property as noted in the example since it will prevent an accidental deletion of the volume if the \u003cspan pulumi-lang-nodejs=\"`protocols`\" pulumi-lang-dotnet=\"`Protocols`\" pulumi-lang-go=\"`protocols`\" pulumi-lang-python=\"`protocols`\" pulumi-lang-yaml=\"`protocols`\" pulumi-lang-java=\"`protocols`\"\u003e`protocols`\u003c/span\u003e argument changes to a different protocol type.\n"},"throughputInMibps":{"type":"number","description":"Throughput of this volume in Mibps.\n"},"volumePath":{"type":"string","description":"A unique file path for the volume. Used when creating mount targets. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"zone":{"type":"string","description":"Specifies the Availability Zone in which the Volume should be located. Possible values are \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e. Changing this forces a new resource to be created. This feature is currently in preview, for more information on how to enable it, please refer to [Manage availability zone volume placement for Azure NetApp Files](https://learn.microsoft.com/en-us/azure/azure-netapp-files/manage-availability-zone-volume-placement#register-the-feature).\n","willReplaceOnChanges":true}},"type":"object"}},"azure:netapp/volumeGroupOracle:VolumeGroupOracle":{"description":"Manages a Application Volume Group for Oracle application.\n\n\u003e **Note:** This feature is intended to be used for Oracle workloads only, with several requirements, please refer to [Understand Azure NetApp Files application volume group for Oracle](https://learn.microsoft.com/en-us/azure/azure-netapp-files/application-volume-oracle-introduction) document as the starting point to understand this feature before using it with Terraform.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: `${prefix}-resources`,\n    location: location,\n    tags: {\n        SkipNRMSNSG: \"true\",\n    },\n});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"example\", {\n    name: `${prefix}-vnet`,\n    location: example.location,\n    resourceGroupName: example.name,\n    addressSpaces: [\"10.88.0.0/16\"],\n});\nconst exampleSubnet = new azure.network.Subnet(\"example\", {\n    name: `${prefix}-delegated-subnet`,\n    resourceGroupName: example.name,\n    virtualNetworkName: exampleVirtualNetwork.name,\n    addressPrefixes: [\"10.88.2.0/24\"],\n    delegations: [{\n        name: \"exampledelegation\",\n        serviceDelegation: {\n            name: \"Microsoft.Netapp/volumes\",\n            actions: [\n                \"Microsoft.Network/networkinterfaces/*\",\n                \"Microsoft.Network/virtualNetworks/subnets/join/action\",\n            ],\n        },\n    }],\n});\nconst exampleAccount = new azure.netapp.Account(\"example\", {\n    name: `${prefix}-netapp-account`,\n    location: example.location,\n    resourceGroupName: example.name,\n}, {\n    dependsOn: [exampleSubnet],\n});\nconst examplePool = new azure.netapp.Pool(\"example\", {\n    name: `${prefix}-netapp-pool`,\n    location: example.location,\n    resourceGroupName: example.name,\n    accountName: exampleAccount.name,\n    serviceLevel: \"Standard\",\n    sizeInTb: 4,\n    qosType: \"Manual\",\n});\nconst exampleVolumeGroupOracle = new azure.netapp.VolumeGroupOracle(\"example\", {\n    name: `${prefix}-NetAppVolumeGroupOracle`,\n    location: example.location,\n    resourceGroupName: example.name,\n    accountName: exampleAccount.name,\n    groupDescription: \"Example volume group for Oracle\",\n    applicationIdentifier: \"TST\",\n    volumes: [\n        {\n            name: `${prefix}-volume-ora1`,\n            volumePath: `${prefix}-my-unique-file-ora-path-1`,\n            serviceLevel: \"Standard\",\n            capacityPoolId: examplePool.id,\n            subnetId: exampleSubnet.id,\n            zone: \"1\",\n            volumeSpecName: \"ora-data1\",\n            storageQuotaInGb: 1024,\n            throughputInMibps: 24,\n            protocols: \"NFSv4.1\",\n            securityStyle: \"unix\",\n            snapshotDirectoryVisible: false,\n            exportPolicyRules: [{\n                ruleIndex: 1,\n                allowedClients: \"0.0.0.0/0\",\n                nfsv3Enabled: false,\n                nfsv41Enabled: true,\n                unixReadOnly: false,\n                unixReadWrite: true,\n                rootAccessEnabled: false,\n            }],\n        },\n        {\n            name: `${prefix}-volume-oraLog`,\n            volumePath: `${prefix}-my-unique-file-oralog-path`,\n            serviceLevel: \"Standard\",\n            capacityPoolId: examplePool.id,\n            subnetId: exampleSubnet.id,\n            zone: \"1\",\n            volumeSpecName: \"ora-log\",\n            storageQuotaInGb: 1024,\n            throughputInMibps: 24,\n            protocols: \"NFSv4.1\",\n            securityStyle: \"unix\",\n            snapshotDirectoryVisible: false,\n            exportPolicyRules: [{\n                ruleIndex: 1,\n                allowedClients: \"0.0.0.0/0\",\n                nfsv3Enabled: false,\n                nfsv41Enabled: true,\n                unixReadOnly: false,\n                unixReadWrite: true,\n                rootAccessEnabled: false,\n            }],\n        },\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=f\"{prefix}-resources\",\n    location=location,\n    tags={\n        \"SkipNRMSNSG\": \"true\",\n    })\nexample_virtual_network = azure.network.VirtualNetwork(\"example\",\n    name=f\"{prefix}-vnet\",\n    location=example.location,\n    resource_group_name=example.name,\n    address_spaces=[\"10.88.0.0/16\"])\nexample_subnet = azure.network.Subnet(\"example\",\n    name=f\"{prefix}-delegated-subnet\",\n    resource_group_name=example.name,\n    virtual_network_name=example_virtual_network.name,\n    address_prefixes=[\"10.88.2.0/24\"],\n    delegations=[{\n        \"name\": \"exampledelegation\",\n        \"service_delegation\": {\n            \"name\": \"Microsoft.Netapp/volumes\",\n            \"actions\": [\n                \"Microsoft.Network/networkinterfaces/*\",\n                \"Microsoft.Network/virtualNetworks/subnets/join/action\",\n            ],\n        },\n    }])\nexample_account = azure.netapp.Account(\"example\",\n    name=f\"{prefix}-netapp-account\",\n    location=example.location,\n    resource_group_name=example.name,\n    opts = pulumi.ResourceOptions(depends_on=[example_subnet]))\nexample_pool = azure.netapp.Pool(\"example\",\n    name=f\"{prefix}-netapp-pool\",\n    location=example.location,\n    resource_group_name=example.name,\n    account_name=example_account.name,\n    service_level=\"Standard\",\n    size_in_tb=4,\n    qos_type=\"Manual\")\nexample_volume_group_oracle = azure.netapp.VolumeGroupOracle(\"example\",\n    name=f\"{prefix}-NetAppVolumeGroupOracle\",\n    location=example.location,\n    resource_group_name=example.name,\n    account_name=example_account.name,\n    group_description=\"Example volume group for Oracle\",\n    application_identifier=\"TST\",\n    volumes=[\n        {\n            \"name\": f\"{prefix}-volume-ora1\",\n            \"volume_path\": f\"{prefix}-my-unique-file-ora-path-1\",\n            \"service_level\": \"Standard\",\n            \"capacity_pool_id\": example_pool.id,\n            \"subnet_id\": example_subnet.id,\n            \"zone\": \"1\",\n            \"volume_spec_name\": \"ora-data1\",\n            \"storage_quota_in_gb\": 1024,\n            \"throughput_in_mibps\": 24,\n            \"protocols\": \"NFSv4.1\",\n            \"security_style\": \"unix\",\n            \"snapshot_directory_visible\": False,\n            \"export_policy_rules\": [{\n                \"rule_index\": 1,\n                \"allowed_clients\": \"0.0.0.0/0\",\n                \"nfsv3_enabled\": False,\n                \"nfsv41_enabled\": True,\n                \"unix_read_only\": False,\n                \"unix_read_write\": True,\n                \"root_access_enabled\": False,\n            }],\n        },\n        {\n            \"name\": f\"{prefix}-volume-oraLog\",\n            \"volume_path\": f\"{prefix}-my-unique-file-oralog-path\",\n            \"service_level\": \"Standard\",\n            \"capacity_pool_id\": example_pool.id,\n            \"subnet_id\": example_subnet.id,\n            \"zone\": \"1\",\n            \"volume_spec_name\": \"ora-log\",\n            \"storage_quota_in_gb\": 1024,\n            \"throughput_in_mibps\": 24,\n            \"protocols\": \"NFSv4.1\",\n            \"security_style\": \"unix\",\n            \"snapshot_directory_visible\": False,\n            \"export_policy_rules\": [{\n                \"rule_index\": 1,\n                \"allowed_clients\": \"0.0.0.0/0\",\n                \"nfsv3_enabled\": False,\n                \"nfsv41_enabled\": True,\n                \"unix_read_only\": False,\n                \"unix_read_write\": True,\n                \"root_access_enabled\": False,\n            }],\n        },\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = $\"{prefix}-resources\",\n        Location = location,\n        Tags = \n        {\n            { \"SkipNRMSNSG\", \"true\" },\n        },\n    });\n\n    var exampleVirtualNetwork = new Azure.Network.VirtualNetwork(\"example\", new()\n    {\n        Name = $\"{prefix}-vnet\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        AddressSpaces = new[]\n        {\n            \"10.88.0.0/16\",\n        },\n    });\n\n    var exampleSubnet = new Azure.Network.Subnet(\"example\", new()\n    {\n        Name = $\"{prefix}-delegated-subnet\",\n        ResourceGroupName = example.Name,\n        VirtualNetworkName = exampleVirtualNetwork.Name,\n        AddressPrefixes = new[]\n        {\n            \"10.88.2.0/24\",\n        },\n        Delegations = new[]\n        {\n            new Azure.Network.Inputs.SubnetDelegationArgs\n            {\n                Name = \"exampledelegation\",\n                ServiceDelegation = new Azure.Network.Inputs.SubnetDelegationServiceDelegationArgs\n                {\n                    Name = \"Microsoft.Netapp/volumes\",\n                    Actions = new[]\n                    {\n                        \"Microsoft.Network/networkinterfaces/*\",\n                        \"Microsoft.Network/virtualNetworks/subnets/join/action\",\n                    },\n                },\n            },\n        },\n    });\n\n    var exampleAccount = new Azure.NetApp.Account(\"example\", new()\n    {\n        Name = $\"{prefix}-netapp-account\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            exampleSubnet,\n        },\n    });\n\n    var examplePool = new Azure.NetApp.Pool(\"example\", new()\n    {\n        Name = $\"{prefix}-netapp-pool\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        AccountName = exampleAccount.Name,\n        ServiceLevel = \"Standard\",\n        SizeInTb = 4,\n        QosType = \"Manual\",\n    });\n\n    var exampleVolumeGroupOracle = new Azure.NetApp.VolumeGroupOracle(\"example\", new()\n    {\n        Name = $\"{prefix}-NetAppVolumeGroupOracle\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        AccountName = exampleAccount.Name,\n        GroupDescription = \"Example volume group for Oracle\",\n        ApplicationIdentifier = \"TST\",\n        Volumes = new[]\n        {\n            new Azure.NetApp.Inputs.VolumeGroupOracleVolumeArgs\n            {\n                Name = $\"{prefix}-volume-ora1\",\n                VolumePath = $\"{prefix}-my-unique-file-ora-path-1\",\n                ServiceLevel = \"Standard\",\n                CapacityPoolId = examplePool.Id,\n                SubnetId = exampleSubnet.Id,\n                Zone = \"1\",\n                VolumeSpecName = \"ora-data1\",\n                StorageQuotaInGb = 1024,\n                ThroughputInMibps = 24,\n                Protocols = \"NFSv4.1\",\n                SecurityStyle = \"unix\",\n                SnapshotDirectoryVisible = false,\n                ExportPolicyRules = new[]\n                {\n                    new Azure.NetApp.Inputs.VolumeGroupOracleVolumeExportPolicyRuleArgs\n                    {\n                        RuleIndex = 1,\n                        AllowedClients = \"0.0.0.0/0\",\n                        Nfsv3Enabled = false,\n                        Nfsv41Enabled = true,\n                        UnixReadOnly = false,\n                        UnixReadWrite = true,\n                        RootAccessEnabled = false,\n                    },\n                },\n            },\n            new Azure.NetApp.Inputs.VolumeGroupOracleVolumeArgs\n            {\n                Name = $\"{prefix}-volume-oraLog\",\n                VolumePath = $\"{prefix}-my-unique-file-oralog-path\",\n                ServiceLevel = \"Standard\",\n                CapacityPoolId = examplePool.Id,\n                SubnetId = exampleSubnet.Id,\n                Zone = \"1\",\n                VolumeSpecName = \"ora-log\",\n                StorageQuotaInGb = 1024,\n                ThroughputInMibps = 24,\n                Protocols = \"NFSv4.1\",\n                SecurityStyle = \"unix\",\n                SnapshotDirectoryVisible = false,\n                ExportPolicyRules = new[]\n                {\n                    new Azure.NetApp.Inputs.VolumeGroupOracleVolumeExportPolicyRuleArgs\n                    {\n                        RuleIndex = 1,\n                        AllowedClients = \"0.0.0.0/0\",\n                        Nfsv3Enabled = false,\n                        Nfsv41Enabled = true,\n                        UnixReadOnly = false,\n                        UnixReadWrite = true,\n                        RootAccessEnabled = false,\n                    },\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/netapp\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.Sprintf(\"%v-resources\", prefix),\n\t\t\tLocation: pulumi.Any(location),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"SkipNRMSNSG\": pulumi.String(\"true\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, \"example\", \u0026network.VirtualNetworkArgs{\n\t\t\tName:              pulumi.Sprintf(\"%v-vnet\", prefix),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tAddressSpaces: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.88.0.0/16\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSubnet, err := network.NewSubnet(ctx, \"example\", \u0026network.SubnetArgs{\n\t\t\tName:               pulumi.Sprintf(\"%v-delegated-subnet\", prefix),\n\t\t\tResourceGroupName:  example.Name,\n\t\t\tVirtualNetworkName: exampleVirtualNetwork.Name,\n\t\t\tAddressPrefixes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.88.2.0/24\"),\n\t\t\t},\n\t\t\tDelegations: network.SubnetDelegationArray{\n\t\t\t\t\u0026network.SubnetDelegationArgs{\n\t\t\t\t\tName: pulumi.String(\"exampledelegation\"),\n\t\t\t\t\tServiceDelegation: \u0026network.SubnetDelegationServiceDelegationArgs{\n\t\t\t\t\t\tName: pulumi.String(\"Microsoft.Netapp/volumes\"),\n\t\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"Microsoft.Network/networkinterfaces/*\"),\n\t\t\t\t\t\t\tpulumi.String(\"Microsoft.Network/virtualNetworks/subnets/join/action\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := netapp.NewAccount(ctx, \"example\", \u0026netapp.AccountArgs{\n\t\t\tName:              pulumi.Sprintf(\"%v-netapp-account\", prefix),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleSubnet,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texamplePool, err := netapp.NewPool(ctx, \"example\", \u0026netapp.PoolArgs{\n\t\t\tName:              pulumi.Sprintf(\"%v-netapp-pool\", prefix),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tAccountName:       exampleAccount.Name,\n\t\t\tServiceLevel:      pulumi.String(\"Standard\"),\n\t\t\tSizeInTb:          pulumi.Int(4),\n\t\t\tQosType:           pulumi.String(\"Manual\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = netapp.NewVolumeGroupOracle(ctx, \"example\", \u0026netapp.VolumeGroupOracleArgs{\n\t\t\tName:                  pulumi.Sprintf(\"%v-NetAppVolumeGroupOracle\", prefix),\n\t\t\tLocation:              example.Location,\n\t\t\tResourceGroupName:     example.Name,\n\t\t\tAccountName:           exampleAccount.Name,\n\t\t\tGroupDescription:      pulumi.String(\"Example volume group for Oracle\"),\n\t\t\tApplicationIdentifier: pulumi.String(\"TST\"),\n\t\t\tVolumes: netapp.VolumeGroupOracleVolumeArray{\n\t\t\t\t\u0026netapp.VolumeGroupOracleVolumeArgs{\n\t\t\t\t\tName:                     pulumi.Sprintf(\"%v-volume-ora1\", prefix),\n\t\t\t\t\tVolumePath:               pulumi.Sprintf(\"%v-my-unique-file-ora-path-1\", prefix),\n\t\t\t\t\tServiceLevel:             pulumi.String(\"Standard\"),\n\t\t\t\t\tCapacityPoolId:           examplePool.ID(),\n\t\t\t\t\tSubnetId:                 exampleSubnet.ID(),\n\t\t\t\t\tZone:                     pulumi.String(\"1\"),\n\t\t\t\t\tVolumeSpecName:           pulumi.String(\"ora-data1\"),\n\t\t\t\t\tStorageQuotaInGb:         pulumi.Int(1024),\n\t\t\t\t\tThroughputInMibps:        pulumi.Float64(24),\n\t\t\t\t\tProtocols:                pulumi.String(\"NFSv4.1\"),\n\t\t\t\t\tSecurityStyle:            pulumi.String(\"unix\"),\n\t\t\t\t\tSnapshotDirectoryVisible: pulumi.Bool(false),\n\t\t\t\t\tExportPolicyRules: netapp.VolumeGroupOracleVolumeExportPolicyRuleArray{\n\t\t\t\t\t\t\u0026netapp.VolumeGroupOracleVolumeExportPolicyRuleArgs{\n\t\t\t\t\t\t\tRuleIndex:         pulumi.Int(1),\n\t\t\t\t\t\t\tAllowedClients:    pulumi.String(\"0.0.0.0/0\"),\n\t\t\t\t\t\t\tNfsv3Enabled:      pulumi.Bool(false),\n\t\t\t\t\t\t\tNfsv41Enabled:     pulumi.Bool(true),\n\t\t\t\t\t\t\tUnixReadOnly:      pulumi.Bool(false),\n\t\t\t\t\t\t\tUnixReadWrite:     pulumi.Bool(true),\n\t\t\t\t\t\t\tRootAccessEnabled: pulumi.Bool(false),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026netapp.VolumeGroupOracleVolumeArgs{\n\t\t\t\t\tName:                     pulumi.Sprintf(\"%v-volume-oraLog\", prefix),\n\t\t\t\t\tVolumePath:               pulumi.Sprintf(\"%v-my-unique-file-oralog-path\", prefix),\n\t\t\t\t\tServiceLevel:             pulumi.String(\"Standard\"),\n\t\t\t\t\tCapacityPoolId:           examplePool.ID(),\n\t\t\t\t\tSubnetId:                 exampleSubnet.ID(),\n\t\t\t\t\tZone:                     pulumi.String(\"1\"),\n\t\t\t\t\tVolumeSpecName:           pulumi.String(\"ora-log\"),\n\t\t\t\t\tStorageQuotaInGb:         pulumi.Int(1024),\n\t\t\t\t\tThroughputInMibps:        pulumi.Float64(24),\n\t\t\t\t\tProtocols:                pulumi.String(\"NFSv4.1\"),\n\t\t\t\t\tSecurityStyle:            pulumi.String(\"unix\"),\n\t\t\t\t\tSnapshotDirectoryVisible: pulumi.Bool(false),\n\t\t\t\t\tExportPolicyRules: netapp.VolumeGroupOracleVolumeExportPolicyRuleArray{\n\t\t\t\t\t\t\u0026netapp.VolumeGroupOracleVolumeExportPolicyRuleArgs{\n\t\t\t\t\t\t\tRuleIndex:         pulumi.Int(1),\n\t\t\t\t\t\t\tAllowedClients:    pulumi.String(\"0.0.0.0/0\"),\n\t\t\t\t\t\t\tNfsv3Enabled:      pulumi.Bool(false),\n\t\t\t\t\t\t\tNfsv41Enabled:     pulumi.Bool(true),\n\t\t\t\t\t\t\tUnixReadOnly:      pulumi.Bool(false),\n\t\t\t\t\t\t\tUnixReadWrite:     pulumi.Bool(true),\n\t\t\t\t\t\t\tRootAccessEnabled: pulumi.Bool(false),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.VirtualNetwork;\nimport com.pulumi.azure.network.VirtualNetworkArgs;\nimport com.pulumi.azure.network.Subnet;\nimport com.pulumi.azure.network.SubnetArgs;\nimport com.pulumi.azure.network.inputs.SubnetDelegationArgs;\nimport com.pulumi.azure.network.inputs.SubnetDelegationServiceDelegationArgs;\nimport com.pulumi.azure.netapp.Account;\nimport com.pulumi.azure.netapp.AccountArgs;\nimport com.pulumi.azure.netapp.Pool;\nimport com.pulumi.azure.netapp.PoolArgs;\nimport com.pulumi.azure.netapp.VolumeGroupOracle;\nimport com.pulumi.azure.netapp.VolumeGroupOracleArgs;\nimport com.pulumi.azure.netapp.inputs.VolumeGroupOracleVolumeArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(String.format(\"%s-resources\", prefix))\n            .location(location)\n            .tags(Map.of(\"SkipNRMSNSG\", \"true\"))\n            .build());\n\n        var exampleVirtualNetwork = new VirtualNetwork(\"exampleVirtualNetwork\", VirtualNetworkArgs.builder()\n            .name(String.format(\"%s-vnet\", prefix))\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .addressSpaces(\"10.88.0.0/16\")\n            .build());\n\n        var exampleSubnet = new Subnet(\"exampleSubnet\", SubnetArgs.builder()\n            .name(String.format(\"%s-delegated-subnet\", prefix))\n            .resourceGroupName(example.name())\n            .virtualNetworkName(exampleVirtualNetwork.name())\n            .addressPrefixes(\"10.88.2.0/24\")\n            .delegations(SubnetDelegationArgs.builder()\n                .name(\"exampledelegation\")\n                .serviceDelegation(SubnetDelegationServiceDelegationArgs.builder()\n                    .name(\"Microsoft.Netapp/volumes\")\n                    .actions(                    \n                        \"Microsoft.Network/networkinterfaces/*\",\n                        \"Microsoft.Network/virtualNetworks/subnets/join/action\")\n                    .build())\n                .build())\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(String.format(\"%s-netapp-account\", prefix))\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .build(), CustomResourceOptions.builder()\n                .dependsOn(exampleSubnet)\n                .build());\n\n        var examplePool = new Pool(\"examplePool\", PoolArgs.builder()\n            .name(String.format(\"%s-netapp-pool\", prefix))\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .accountName(exampleAccount.name())\n            .serviceLevel(\"Standard\")\n            .sizeInTb(4)\n            .qosType(\"Manual\")\n            .build());\n\n        var exampleVolumeGroupOracle = new VolumeGroupOracle(\"exampleVolumeGroupOracle\", VolumeGroupOracleArgs.builder()\n            .name(String.format(\"%s-NetAppVolumeGroupOracle\", prefix))\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .accountName(exampleAccount.name())\n            .groupDescription(\"Example volume group for Oracle\")\n            .applicationIdentifier(\"TST\")\n            .volumes(            \n                VolumeGroupOracleVolumeArgs.builder()\n                    .name(String.format(\"%s-volume-ora1\", prefix))\n                    .volumePath(String.format(\"%s-my-unique-file-ora-path-1\", prefix))\n                    .serviceLevel(\"Standard\")\n                    .capacityPoolId(examplePool.id())\n                    .subnetId(exampleSubnet.id())\n                    .zone(\"1\")\n                    .volumeSpecName(\"ora-data1\")\n                    .storageQuotaInGb(1024)\n                    .throughputInMibps(24.0)\n                    .protocols(\"NFSv4.1\")\n                    .securityStyle(\"unix\")\n                    .snapshotDirectoryVisible(false)\n                    .exportPolicyRules(VolumeGroupOracleVolumeExportPolicyRuleArgs.builder()\n                        .ruleIndex(1)\n                        .allowedClients(\"0.0.0.0/0\")\n                        .nfsv3Enabled(false)\n                        .nfsv41Enabled(true)\n                        .unixReadOnly(false)\n                        .unixReadWrite(true)\n                        .rootAccessEnabled(false)\n                        .build())\n                    .build(),\n                VolumeGroupOracleVolumeArgs.builder()\n                    .name(String.format(\"%s-volume-oraLog\", prefix))\n                    .volumePath(String.format(\"%s-my-unique-file-oralog-path\", prefix))\n                    .serviceLevel(\"Standard\")\n                    .capacityPoolId(examplePool.id())\n                    .subnetId(exampleSubnet.id())\n                    .zone(\"1\")\n                    .volumeSpecName(\"ora-log\")\n                    .storageQuotaInGb(1024)\n                    .throughputInMibps(24.0)\n                    .protocols(\"NFSv4.1\")\n                    .securityStyle(\"unix\")\n                    .snapshotDirectoryVisible(false)\n                    .exportPolicyRules(VolumeGroupOracleVolumeExportPolicyRuleArgs.builder()\n                        .ruleIndex(1)\n                        .allowedClients(\"0.0.0.0/0\")\n                        .nfsv3Enabled(false)\n                        .nfsv41Enabled(true)\n                        .unixReadOnly(false)\n                        .unixReadWrite(true)\n                        .rootAccessEnabled(false)\n                        .build())\n                    .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: ${prefix}-resources\n      location: ${location}\n      tags:\n        SkipNRMSNSG: 'true'\n  exampleVirtualNetwork:\n    type: azure:network:VirtualNetwork\n    name: example\n    properties:\n      name: ${prefix}-vnet\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      addressSpaces:\n        - 10.88.0.0/16\n  exampleSubnet:\n    type: azure:network:Subnet\n    name: example\n    properties:\n      name: ${prefix}-delegated-subnet\n      resourceGroupName: ${example.name}\n      virtualNetworkName: ${exampleVirtualNetwork.name}\n      addressPrefixes:\n        - 10.88.2.0/24\n      delegations:\n        - name: exampledelegation\n          serviceDelegation:\n            name: Microsoft.Netapp/volumes\n            actions:\n              - Microsoft.Network/networkinterfaces/*\n              - Microsoft.Network/virtualNetworks/subnets/join/action\n  exampleAccount:\n    type: azure:netapp:Account\n    name: example\n    properties:\n      name: ${prefix}-netapp-account\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n    options:\n      dependsOn:\n        - ${exampleSubnet}\n  examplePool:\n    type: azure:netapp:Pool\n    name: example\n    properties:\n      name: ${prefix}-netapp-pool\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      accountName: ${exampleAccount.name}\n      serviceLevel: Standard\n      sizeInTb: 4\n      qosType: Manual\n  exampleVolumeGroupOracle:\n    type: azure:netapp:VolumeGroupOracle\n    name: example\n    properties:\n      name: ${prefix}-NetAppVolumeGroupOracle\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      accountName: ${exampleAccount.name}\n      groupDescription: Example volume group for Oracle\n      applicationIdentifier: TST\n      volumes:\n        - name: ${prefix}-volume-ora1\n          volumePath: ${prefix}-my-unique-file-ora-path-1\n          serviceLevel: Standard\n          capacityPoolId: ${examplePool.id}\n          subnetId: ${exampleSubnet.id}\n          zone: '1'\n          volumeSpecName: ora-data1\n          storageQuotaInGb: 1024\n          throughputInMibps: 24\n          protocols: NFSv4.1\n          securityStyle: unix\n          snapshotDirectoryVisible: false\n          exportPolicyRules:\n            - ruleIndex: 1\n              allowedClients: 0.0.0.0/0\n              nfsv3Enabled: false\n              nfsv41Enabled: true\n              unixReadOnly: false\n              unixReadWrite: true\n              rootAccessEnabled: false\n        - name: ${prefix}-volume-oraLog\n          volumePath: ${prefix}-my-unique-file-oralog-path\n          serviceLevel: Standard\n          capacityPoolId: ${examplePool.id}\n          subnetId: ${exampleSubnet.id}\n          zone: '1'\n          volumeSpecName: ora-log\n          storageQuotaInGb: 1024\n          throughputInMibps: 24\n          protocols: NFSv4.1\n          securityStyle: unix\n          snapshotDirectoryVisible: false\n          exportPolicyRules:\n            - ruleIndex: 1\n              allowedClients: 0.0.0.0/0\n              nfsv3Enabled: false\n              nfsv41Enabled: true\n              unixReadOnly: false\n              unixReadWrite: true\n              rootAccessEnabled: false\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Cross-Region Replication\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: `${prefix}-resources`,\n    location: location,\n    tags: {\n        SkipNRMSNSG: \"true\",\n    },\n});\n// Primary region networking\nconst examplePrimary = new azure.network.VirtualNetwork(\"example_primary\", {\n    name: `${prefix}-vnet-primary`,\n    location: example.location,\n    resourceGroupName: example.name,\n    addressSpaces: [\"10.47.0.0/16\"],\n});\nconst examplePrimarySubnet = new azure.network.Subnet(\"example_primary\", {\n    name: `${prefix}-delegated-subnet-primary`,\n    resourceGroupName: example.name,\n    virtualNetworkName: examplePrimary.name,\n    addressPrefixes: [\"10.47.2.0/24\"],\n    delegations: [{\n        name: \"exampledelegation\",\n        serviceDelegation: {\n            name: \"Microsoft.Netapp/volumes\",\n            actions: [\n                \"Microsoft.Network/networkinterfaces/*\",\n                \"Microsoft.Network/virtualNetworks/subnets/join/action\",\n            ],\n        },\n    }],\n});\n// Secondary region networking\nconst exampleSecondary = new azure.network.VirtualNetwork(\"example_secondary\", {\n    name: `${prefix}-vnet-secondary`,\n    location: altLocation,\n    resourceGroupName: example.name,\n    addressSpaces: [\"10.48.0.0/16\"],\n});\nconst exampleSecondarySubnet = new azure.network.Subnet(\"example_secondary\", {\n    name: `${prefix}-delegated-subnet-secondary`,\n    resourceGroupName: example.name,\n    virtualNetworkName: exampleSecondary.name,\n    addressPrefixes: [\"10.48.2.0/24\"],\n    delegations: [{\n        name: \"exampledelegation\",\n        serviceDelegation: {\n            name: \"Microsoft.Netapp/volumes\",\n            actions: [\n                \"Microsoft.Network/networkinterfaces/*\",\n                \"Microsoft.Network/virtualNetworks/subnets/join/action\",\n            ],\n        },\n    }],\n});\n// Primary region NetApp infrastructure\nconst examplePrimaryAccount = new azure.netapp.Account(\"example_primary\", {\n    name: `${prefix}-netapp-account-primary`,\n    location: example.location,\n    resourceGroupName: example.name,\n}, {\n    dependsOn: [examplePrimarySubnet],\n});\nconst examplePrimaryPool = new azure.netapp.Pool(\"example_primary\", {\n    name: `${prefix}-netapp-pool-primary`,\n    location: example.location,\n    resourceGroupName: example.name,\n    accountName: examplePrimaryAccount.name,\n    serviceLevel: \"Standard\",\n    sizeInTb: 4,\n    qosType: \"Manual\",\n});\n// Secondary region NetApp infrastructure\nconst exampleSecondaryAccount = new azure.netapp.Account(\"example_secondary\", {\n    name: `${prefix}-netapp-account-secondary`,\n    location: altLocation,\n    resourceGroupName: example.name,\n}, {\n    dependsOn: [exampleSecondarySubnet],\n});\nconst exampleSecondaryPool = new azure.netapp.Pool(\"example_secondary\", {\n    name: `${prefix}-netapp-pool-secondary`,\n    location: altLocation,\n    resourceGroupName: example.name,\n    accountName: exampleSecondaryAccount.name,\n    serviceLevel: \"Standard\",\n    sizeInTb: 4,\n    qosType: \"Manual\",\n});\n// Primary Oracle volume group\nconst examplePrimaryVolumeGroupOracle = new azure.netapp.VolumeGroupOracle(\"example_primary\", {\n    name: `${prefix}-NetAppVolumeGroupOracle-primary`,\n    location: example.location,\n    resourceGroupName: example.name,\n    accountName: examplePrimaryAccount.name,\n    groupDescription: \"Primary Oracle volume group for CRR\",\n    applicationIdentifier: \"TST\",\n    volumes: [{\n        name: `${prefix}-volume-ora1-primary`,\n        volumePath: `${prefix}-my-unique-file-ora-path-1-primary`,\n        serviceLevel: \"Standard\",\n        capacityPoolId: examplePrimaryPool.id,\n        subnetId: examplePrimarySubnet.id,\n        volumeSpecName: \"ora-data1\",\n        storageQuotaInGb: 1024,\n        throughputInMibps: 24,\n        protocols: \"NFSv4.1\",\n        securityStyle: \"unix\",\n        snapshotDirectoryVisible: false,\n        exportPolicyRules: [{\n            ruleIndex: 1,\n            allowedClients: \"0.0.0.0/0\",\n            nfsv3Enabled: false,\n            nfsv41Enabled: true,\n            unixReadOnly: false,\n            unixReadWrite: true,\n            rootAccessEnabled: false,\n        }],\n    }],\n});\n// Secondary Oracle volume group with CRR\nconst exampleSecondaryVolumeGroupOracle = new azure.netapp.VolumeGroupOracle(\"example_secondary\", {\n    name: `${prefix}-NetAppVolumeGroupOracle-secondary`,\n    location: altLocation,\n    resourceGroupName: example.name,\n    accountName: exampleSecondaryAccount.name,\n    groupDescription: \"Secondary Oracle volume group for CRR\",\n    applicationIdentifier: \"TST\",\n    volumes: [{\n        name: `${prefix}-volume-ora1-secondary`,\n        volumePath: `${prefix}-my-unique-file-ora-path-1-secondary`,\n        serviceLevel: \"Standard\",\n        capacityPoolId: exampleSecondaryPool.id,\n        subnetId: exampleSecondarySubnet.id,\n        volumeSpecName: \"ora-data1\",\n        storageQuotaInGb: 1024,\n        throughputInMibps: 24,\n        protocols: \"NFSv4.1\",\n        securityStyle: \"unix\",\n        snapshotDirectoryVisible: false,\n        exportPolicyRules: [{\n            ruleIndex: 1,\n            allowedClients: \"0.0.0.0/0\",\n            nfsv3Enabled: false,\n            nfsv41Enabled: true,\n            unixReadOnly: false,\n            unixReadWrite: true,\n            rootAccessEnabled: false,\n        }],\n        dataProtectionReplication: {\n            endpointType: \"dst\",\n            remoteVolumeLocation: example.location,\n            remoteVolumeResourceId: examplePrimaryVolumeGroupOracle.volumes.apply(volumes =\u003e volumes[0].id),\n            replicationFrequency: \"10minutes\",\n        },\n    }],\n}, {\n    dependsOn: [examplePrimaryVolumeGroupOracle],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=f\"{prefix}-resources\",\n    location=location,\n    tags={\n        \"SkipNRMSNSG\": \"true\",\n    })\n# Primary region networking\nexample_primary = azure.network.VirtualNetwork(\"example_primary\",\n    name=f\"{prefix}-vnet-primary\",\n    location=example.location,\n    resource_group_name=example.name,\n    address_spaces=[\"10.47.0.0/16\"])\nexample_primary_subnet = azure.network.Subnet(\"example_primary\",\n    name=f\"{prefix}-delegated-subnet-primary\",\n    resource_group_name=example.name,\n    virtual_network_name=example_primary.name,\n    address_prefixes=[\"10.47.2.0/24\"],\n    delegations=[{\n        \"name\": \"exampledelegation\",\n        \"service_delegation\": {\n            \"name\": \"Microsoft.Netapp/volumes\",\n            \"actions\": [\n                \"Microsoft.Network/networkinterfaces/*\",\n                \"Microsoft.Network/virtualNetworks/subnets/join/action\",\n            ],\n        },\n    }])\n# Secondary region networking\nexample_secondary = azure.network.VirtualNetwork(\"example_secondary\",\n    name=f\"{prefix}-vnet-secondary\",\n    location=alt_location,\n    resource_group_name=example.name,\n    address_spaces=[\"10.48.0.0/16\"])\nexample_secondary_subnet = azure.network.Subnet(\"example_secondary\",\n    name=f\"{prefix}-delegated-subnet-secondary\",\n    resource_group_name=example.name,\n    virtual_network_name=example_secondary.name,\n    address_prefixes=[\"10.48.2.0/24\"],\n    delegations=[{\n        \"name\": \"exampledelegation\",\n        \"service_delegation\": {\n            \"name\": \"Microsoft.Netapp/volumes\",\n            \"actions\": [\n                \"Microsoft.Network/networkinterfaces/*\",\n                \"Microsoft.Network/virtualNetworks/subnets/join/action\",\n            ],\n        },\n    }])\n# Primary region NetApp infrastructure\nexample_primary_account = azure.netapp.Account(\"example_primary\",\n    name=f\"{prefix}-netapp-account-primary\",\n    location=example.location,\n    resource_group_name=example.name,\n    opts = pulumi.ResourceOptions(depends_on=[example_primary_subnet]))\nexample_primary_pool = azure.netapp.Pool(\"example_primary\",\n    name=f\"{prefix}-netapp-pool-primary\",\n    location=example.location,\n    resource_group_name=example.name,\n    account_name=example_primary_account.name,\n    service_level=\"Standard\",\n    size_in_tb=4,\n    qos_type=\"Manual\")\n# Secondary region NetApp infrastructure\nexample_secondary_account = azure.netapp.Account(\"example_secondary\",\n    name=f\"{prefix}-netapp-account-secondary\",\n    location=alt_location,\n    resource_group_name=example.name,\n    opts = pulumi.ResourceOptions(depends_on=[example_secondary_subnet]))\nexample_secondary_pool = azure.netapp.Pool(\"example_secondary\",\n    name=f\"{prefix}-netapp-pool-secondary\",\n    location=alt_location,\n    resource_group_name=example.name,\n    account_name=example_secondary_account.name,\n    service_level=\"Standard\",\n    size_in_tb=4,\n    qos_type=\"Manual\")\n# Primary Oracle volume group\nexample_primary_volume_group_oracle = azure.netapp.VolumeGroupOracle(\"example_primary\",\n    name=f\"{prefix}-NetAppVolumeGroupOracle-primary\",\n    location=example.location,\n    resource_group_name=example.name,\n    account_name=example_primary_account.name,\n    group_description=\"Primary Oracle volume group for CRR\",\n    application_identifier=\"TST\",\n    volumes=[{\n        \"name\": f\"{prefix}-volume-ora1-primary\",\n        \"volume_path\": f\"{prefix}-my-unique-file-ora-path-1-primary\",\n        \"service_level\": \"Standard\",\n        \"capacity_pool_id\": example_primary_pool.id,\n        \"subnet_id\": example_primary_subnet.id,\n        \"volume_spec_name\": \"ora-data1\",\n        \"storage_quota_in_gb\": 1024,\n        \"throughput_in_mibps\": 24,\n        \"protocols\": \"NFSv4.1\",\n        \"security_style\": \"unix\",\n        \"snapshot_directory_visible\": False,\n        \"export_policy_rules\": [{\n            \"rule_index\": 1,\n            \"allowed_clients\": \"0.0.0.0/0\",\n            \"nfsv3_enabled\": False,\n            \"nfsv41_enabled\": True,\n            \"unix_read_only\": False,\n            \"unix_read_write\": True,\n            \"root_access_enabled\": False,\n        }],\n    }])\n# Secondary Oracle volume group with CRR\nexample_secondary_volume_group_oracle = azure.netapp.VolumeGroupOracle(\"example_secondary\",\n    name=f\"{prefix}-NetAppVolumeGroupOracle-secondary\",\n    location=alt_location,\n    resource_group_name=example.name,\n    account_name=example_secondary_account.name,\n    group_description=\"Secondary Oracle volume group for CRR\",\n    application_identifier=\"TST\",\n    volumes=[{\n        \"name\": f\"{prefix}-volume-ora1-secondary\",\n        \"volume_path\": f\"{prefix}-my-unique-file-ora-path-1-secondary\",\n        \"service_level\": \"Standard\",\n        \"capacity_pool_id\": example_secondary_pool.id,\n        \"subnet_id\": example_secondary_subnet.id,\n        \"volume_spec_name\": \"ora-data1\",\n        \"storage_quota_in_gb\": 1024,\n        \"throughput_in_mibps\": 24,\n        \"protocols\": \"NFSv4.1\",\n        \"security_style\": \"unix\",\n        \"snapshot_directory_visible\": False,\n        \"export_policy_rules\": [{\n            \"rule_index\": 1,\n            \"allowed_clients\": \"0.0.0.0/0\",\n            \"nfsv3_enabled\": False,\n            \"nfsv41_enabled\": True,\n            \"unix_read_only\": False,\n            \"unix_read_write\": True,\n            \"root_access_enabled\": False,\n        }],\n        \"data_protection_replication\": {\n            \"endpoint_type\": \"dst\",\n            \"remote_volume_location\": example.location,\n            \"remote_volume_resource_id\": example_primary_volume_group_oracle.volumes[0].id,\n            \"replication_frequency\": \"10minutes\",\n        },\n    }],\n    opts = pulumi.ResourceOptions(depends_on=[example_primary_volume_group_oracle]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = $\"{prefix}-resources\",\n        Location = location,\n        Tags = \n        {\n            { \"SkipNRMSNSG\", \"true\" },\n        },\n    });\n\n    // Primary region networking\n    var examplePrimary = new Azure.Network.VirtualNetwork(\"example_primary\", new()\n    {\n        Name = $\"{prefix}-vnet-primary\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        AddressSpaces = new[]\n        {\n            \"10.47.0.0/16\",\n        },\n    });\n\n    var examplePrimarySubnet = new Azure.Network.Subnet(\"example_primary\", new()\n    {\n        Name = $\"{prefix}-delegated-subnet-primary\",\n        ResourceGroupName = example.Name,\n        VirtualNetworkName = examplePrimary.Name,\n        AddressPrefixes = new[]\n        {\n            \"10.47.2.0/24\",\n        },\n        Delegations = new[]\n        {\n            new Azure.Network.Inputs.SubnetDelegationArgs\n            {\n                Name = \"exampledelegation\",\n                ServiceDelegation = new Azure.Network.Inputs.SubnetDelegationServiceDelegationArgs\n                {\n                    Name = \"Microsoft.Netapp/volumes\",\n                    Actions = new[]\n                    {\n                        \"Microsoft.Network/networkinterfaces/*\",\n                        \"Microsoft.Network/virtualNetworks/subnets/join/action\",\n                    },\n                },\n            },\n        },\n    });\n\n    // Secondary region networking\n    var exampleSecondary = new Azure.Network.VirtualNetwork(\"example_secondary\", new()\n    {\n        Name = $\"{prefix}-vnet-secondary\",\n        Location = altLocation,\n        ResourceGroupName = example.Name,\n        AddressSpaces = new[]\n        {\n            \"10.48.0.0/16\",\n        },\n    });\n\n    var exampleSecondarySubnet = new Azure.Network.Subnet(\"example_secondary\", new()\n    {\n        Name = $\"{prefix}-delegated-subnet-secondary\",\n        ResourceGroupName = example.Name,\n        VirtualNetworkName = exampleSecondary.Name,\n        AddressPrefixes = new[]\n        {\n            \"10.48.2.0/24\",\n        },\n        Delegations = new[]\n        {\n            new Azure.Network.Inputs.SubnetDelegationArgs\n            {\n                Name = \"exampledelegation\",\n                ServiceDelegation = new Azure.Network.Inputs.SubnetDelegationServiceDelegationArgs\n                {\n                    Name = \"Microsoft.Netapp/volumes\",\n                    Actions = new[]\n                    {\n                        \"Microsoft.Network/networkinterfaces/*\",\n                        \"Microsoft.Network/virtualNetworks/subnets/join/action\",\n                    },\n                },\n            },\n        },\n    });\n\n    // Primary region NetApp infrastructure\n    var examplePrimaryAccount = new Azure.NetApp.Account(\"example_primary\", new()\n    {\n        Name = $\"{prefix}-netapp-account-primary\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            examplePrimarySubnet,\n        },\n    });\n\n    var examplePrimaryPool = new Azure.NetApp.Pool(\"example_primary\", new()\n    {\n        Name = $\"{prefix}-netapp-pool-primary\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        AccountName = examplePrimaryAccount.Name,\n        ServiceLevel = \"Standard\",\n        SizeInTb = 4,\n        QosType = \"Manual\",\n    });\n\n    // Secondary region NetApp infrastructure\n    var exampleSecondaryAccount = new Azure.NetApp.Account(\"example_secondary\", new()\n    {\n        Name = $\"{prefix}-netapp-account-secondary\",\n        Location = altLocation,\n        ResourceGroupName = example.Name,\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            exampleSecondarySubnet,\n        },\n    });\n\n    var exampleSecondaryPool = new Azure.NetApp.Pool(\"example_secondary\", new()\n    {\n        Name = $\"{prefix}-netapp-pool-secondary\",\n        Location = altLocation,\n        ResourceGroupName = example.Name,\n        AccountName = exampleSecondaryAccount.Name,\n        ServiceLevel = \"Standard\",\n        SizeInTb = 4,\n        QosType = \"Manual\",\n    });\n\n    // Primary Oracle volume group\n    var examplePrimaryVolumeGroupOracle = new Azure.NetApp.VolumeGroupOracle(\"example_primary\", new()\n    {\n        Name = $\"{prefix}-NetAppVolumeGroupOracle-primary\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        AccountName = examplePrimaryAccount.Name,\n        GroupDescription = \"Primary Oracle volume group for CRR\",\n        ApplicationIdentifier = \"TST\",\n        Volumes = new[]\n        {\n            new Azure.NetApp.Inputs.VolumeGroupOracleVolumeArgs\n            {\n                Name = $\"{prefix}-volume-ora1-primary\",\n                VolumePath = $\"{prefix}-my-unique-file-ora-path-1-primary\",\n                ServiceLevel = \"Standard\",\n                CapacityPoolId = examplePrimaryPool.Id,\n                SubnetId = examplePrimarySubnet.Id,\n                VolumeSpecName = \"ora-data1\",\n                StorageQuotaInGb = 1024,\n                ThroughputInMibps = 24,\n                Protocols = \"NFSv4.1\",\n                SecurityStyle = \"unix\",\n                SnapshotDirectoryVisible = false,\n                ExportPolicyRules = new[]\n                {\n                    new Azure.NetApp.Inputs.VolumeGroupOracleVolumeExportPolicyRuleArgs\n                    {\n                        RuleIndex = 1,\n                        AllowedClients = \"0.0.0.0/0\",\n                        Nfsv3Enabled = false,\n                        Nfsv41Enabled = true,\n                        UnixReadOnly = false,\n                        UnixReadWrite = true,\n                        RootAccessEnabled = false,\n                    },\n                },\n            },\n        },\n    });\n\n    // Secondary Oracle volume group with CRR\n    var exampleSecondaryVolumeGroupOracle = new Azure.NetApp.VolumeGroupOracle(\"example_secondary\", new()\n    {\n        Name = $\"{prefix}-NetAppVolumeGroupOracle-secondary\",\n        Location = altLocation,\n        ResourceGroupName = example.Name,\n        AccountName = exampleSecondaryAccount.Name,\n        GroupDescription = \"Secondary Oracle volume group for CRR\",\n        ApplicationIdentifier = \"TST\",\n        Volumes = new[]\n        {\n            new Azure.NetApp.Inputs.VolumeGroupOracleVolumeArgs\n            {\n                Name = $\"{prefix}-volume-ora1-secondary\",\n                VolumePath = $\"{prefix}-my-unique-file-ora-path-1-secondary\",\n                ServiceLevel = \"Standard\",\n                CapacityPoolId = exampleSecondaryPool.Id,\n                SubnetId = exampleSecondarySubnet.Id,\n                VolumeSpecName = \"ora-data1\",\n                StorageQuotaInGb = 1024,\n                ThroughputInMibps = 24,\n                Protocols = \"NFSv4.1\",\n                SecurityStyle = \"unix\",\n                SnapshotDirectoryVisible = false,\n                ExportPolicyRules = new[]\n                {\n                    new Azure.NetApp.Inputs.VolumeGroupOracleVolumeExportPolicyRuleArgs\n                    {\n                        RuleIndex = 1,\n                        AllowedClients = \"0.0.0.0/0\",\n                        Nfsv3Enabled = false,\n                        Nfsv41Enabled = true,\n                        UnixReadOnly = false,\n                        UnixReadWrite = true,\n                        RootAccessEnabled = false,\n                    },\n                },\n                DataProtectionReplication = new Azure.NetApp.Inputs.VolumeGroupOracleVolumeDataProtectionReplicationArgs\n                {\n                    EndpointType = \"dst\",\n                    RemoteVolumeLocation = example.Location,\n                    RemoteVolumeResourceId = examplePrimaryVolumeGroupOracle.Volumes.Apply(volumes =\u003e volumes[0].Id),\n                    ReplicationFrequency = \"10minutes\",\n                },\n            },\n        },\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            examplePrimaryVolumeGroupOracle,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/netapp\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.Sprintf(\"%v-resources\", prefix),\n\t\t\tLocation: pulumi.Any(location),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"SkipNRMSNSG\": pulumi.String(\"true\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Primary region networking\n\t\texamplePrimary, err := network.NewVirtualNetwork(ctx, \"example_primary\", \u0026network.VirtualNetworkArgs{\n\t\t\tName:              pulumi.Sprintf(\"%v-vnet-primary\", prefix),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tAddressSpaces: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.47.0.0/16\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texamplePrimarySubnet, err := network.NewSubnet(ctx, \"example_primary\", \u0026network.SubnetArgs{\n\t\t\tName:               pulumi.Sprintf(\"%v-delegated-subnet-primary\", prefix),\n\t\t\tResourceGroupName:  example.Name,\n\t\t\tVirtualNetworkName: examplePrimary.Name,\n\t\t\tAddressPrefixes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.47.2.0/24\"),\n\t\t\t},\n\t\t\tDelegations: network.SubnetDelegationArray{\n\t\t\t\t\u0026network.SubnetDelegationArgs{\n\t\t\t\t\tName: pulumi.String(\"exampledelegation\"),\n\t\t\t\t\tServiceDelegation: \u0026network.SubnetDelegationServiceDelegationArgs{\n\t\t\t\t\t\tName: pulumi.String(\"Microsoft.Netapp/volumes\"),\n\t\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"Microsoft.Network/networkinterfaces/*\"),\n\t\t\t\t\t\t\tpulumi.String(\"Microsoft.Network/virtualNetworks/subnets/join/action\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Secondary region networking\n\t\texampleSecondary, err := network.NewVirtualNetwork(ctx, \"example_secondary\", \u0026network.VirtualNetworkArgs{\n\t\t\tName:              pulumi.Sprintf(\"%v-vnet-secondary\", prefix),\n\t\t\tLocation:          pulumi.Any(altLocation),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tAddressSpaces: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.48.0.0/16\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSecondarySubnet, err := network.NewSubnet(ctx, \"example_secondary\", \u0026network.SubnetArgs{\n\t\t\tName:               pulumi.Sprintf(\"%v-delegated-subnet-secondary\", prefix),\n\t\t\tResourceGroupName:  example.Name,\n\t\t\tVirtualNetworkName: exampleSecondary.Name,\n\t\t\tAddressPrefixes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.48.2.0/24\"),\n\t\t\t},\n\t\t\tDelegations: network.SubnetDelegationArray{\n\t\t\t\t\u0026network.SubnetDelegationArgs{\n\t\t\t\t\tName: pulumi.String(\"exampledelegation\"),\n\t\t\t\t\tServiceDelegation: \u0026network.SubnetDelegationServiceDelegationArgs{\n\t\t\t\t\t\tName: pulumi.String(\"Microsoft.Netapp/volumes\"),\n\t\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"Microsoft.Network/networkinterfaces/*\"),\n\t\t\t\t\t\t\tpulumi.String(\"Microsoft.Network/virtualNetworks/subnets/join/action\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Primary region NetApp infrastructure\n\t\texamplePrimaryAccount, err := netapp.NewAccount(ctx, \"example_primary\", \u0026netapp.AccountArgs{\n\t\t\tName:              pulumi.Sprintf(\"%v-netapp-account-primary\", prefix),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texamplePrimarySubnet,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texamplePrimaryPool, err := netapp.NewPool(ctx, \"example_primary\", \u0026netapp.PoolArgs{\n\t\t\tName:              pulumi.Sprintf(\"%v-netapp-pool-primary\", prefix),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tAccountName:       examplePrimaryAccount.Name,\n\t\t\tServiceLevel:      pulumi.String(\"Standard\"),\n\t\t\tSizeInTb:          pulumi.Int(4),\n\t\t\tQosType:           pulumi.String(\"Manual\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Secondary region NetApp infrastructure\n\t\texampleSecondaryAccount, err := netapp.NewAccount(ctx, \"example_secondary\", \u0026netapp.AccountArgs{\n\t\t\tName:              pulumi.Sprintf(\"%v-netapp-account-secondary\", prefix),\n\t\t\tLocation:          pulumi.Any(altLocation),\n\t\t\tResourceGroupName: example.Name,\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleSecondarySubnet,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSecondaryPool, err := netapp.NewPool(ctx, \"example_secondary\", \u0026netapp.PoolArgs{\n\t\t\tName:              pulumi.Sprintf(\"%v-netapp-pool-secondary\", prefix),\n\t\t\tLocation:          pulumi.Any(altLocation),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tAccountName:       exampleSecondaryAccount.Name,\n\t\t\tServiceLevel:      pulumi.String(\"Standard\"),\n\t\t\tSizeInTb:          pulumi.Int(4),\n\t\t\tQosType:           pulumi.String(\"Manual\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Primary Oracle volume group\n\t\texamplePrimaryVolumeGroupOracle, err := netapp.NewVolumeGroupOracle(ctx, \"example_primary\", \u0026netapp.VolumeGroupOracleArgs{\n\t\t\tName:                  pulumi.Sprintf(\"%v-NetAppVolumeGroupOracle-primary\", prefix),\n\t\t\tLocation:              example.Location,\n\t\t\tResourceGroupName:     example.Name,\n\t\t\tAccountName:           examplePrimaryAccount.Name,\n\t\t\tGroupDescription:      pulumi.String(\"Primary Oracle volume group for CRR\"),\n\t\t\tApplicationIdentifier: pulumi.String(\"TST\"),\n\t\t\tVolumes: netapp.VolumeGroupOracleVolumeArray{\n\t\t\t\t\u0026netapp.VolumeGroupOracleVolumeArgs{\n\t\t\t\t\tName:                     pulumi.Sprintf(\"%v-volume-ora1-primary\", prefix),\n\t\t\t\t\tVolumePath:               pulumi.Sprintf(\"%v-my-unique-file-ora-path-1-primary\", prefix),\n\t\t\t\t\tServiceLevel:             pulumi.String(\"Standard\"),\n\t\t\t\t\tCapacityPoolId:           examplePrimaryPool.ID(),\n\t\t\t\t\tSubnetId:                 examplePrimarySubnet.ID(),\n\t\t\t\t\tVolumeSpecName:           pulumi.String(\"ora-data1\"),\n\t\t\t\t\tStorageQuotaInGb:         pulumi.Int(1024),\n\t\t\t\t\tThroughputInMibps:        pulumi.Float64(24),\n\t\t\t\t\tProtocols:                pulumi.String(\"NFSv4.1\"),\n\t\t\t\t\tSecurityStyle:            pulumi.String(\"unix\"),\n\t\t\t\t\tSnapshotDirectoryVisible: pulumi.Bool(false),\n\t\t\t\t\tExportPolicyRules: netapp.VolumeGroupOracleVolumeExportPolicyRuleArray{\n\t\t\t\t\t\t\u0026netapp.VolumeGroupOracleVolumeExportPolicyRuleArgs{\n\t\t\t\t\t\t\tRuleIndex:         pulumi.Int(1),\n\t\t\t\t\t\t\tAllowedClients:    pulumi.String(\"0.0.0.0/0\"),\n\t\t\t\t\t\t\tNfsv3Enabled:      pulumi.Bool(false),\n\t\t\t\t\t\t\tNfsv41Enabled:     pulumi.Bool(true),\n\t\t\t\t\t\t\tUnixReadOnly:      pulumi.Bool(false),\n\t\t\t\t\t\t\tUnixReadWrite:     pulumi.Bool(true),\n\t\t\t\t\t\t\tRootAccessEnabled: pulumi.Bool(false),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Secondary Oracle volume group with CRR\n\t\t_, err = netapp.NewVolumeGroupOracle(ctx, \"example_secondary\", \u0026netapp.VolumeGroupOracleArgs{\n\t\t\tName:                  pulumi.Sprintf(\"%v-NetAppVolumeGroupOracle-secondary\", prefix),\n\t\t\tLocation:              pulumi.Any(altLocation),\n\t\t\tResourceGroupName:     example.Name,\n\t\t\tAccountName:           exampleSecondaryAccount.Name,\n\t\t\tGroupDescription:      pulumi.String(\"Secondary Oracle volume group for CRR\"),\n\t\t\tApplicationIdentifier: pulumi.String(\"TST\"),\n\t\t\tVolumes: netapp.VolumeGroupOracleVolumeArray{\n\t\t\t\t\u0026netapp.VolumeGroupOracleVolumeArgs{\n\t\t\t\t\tName:                     pulumi.Sprintf(\"%v-volume-ora1-secondary\", prefix),\n\t\t\t\t\tVolumePath:               pulumi.Sprintf(\"%v-my-unique-file-ora-path-1-secondary\", prefix),\n\t\t\t\t\tServiceLevel:             pulumi.String(\"Standard\"),\n\t\t\t\t\tCapacityPoolId:           exampleSecondaryPool.ID(),\n\t\t\t\t\tSubnetId:                 exampleSecondarySubnet.ID(),\n\t\t\t\t\tVolumeSpecName:           pulumi.String(\"ora-data1\"),\n\t\t\t\t\tStorageQuotaInGb:         pulumi.Int(1024),\n\t\t\t\t\tThroughputInMibps:        pulumi.Float64(24),\n\t\t\t\t\tProtocols:                pulumi.String(\"NFSv4.1\"),\n\t\t\t\t\tSecurityStyle:            pulumi.String(\"unix\"),\n\t\t\t\t\tSnapshotDirectoryVisible: pulumi.Bool(false),\n\t\t\t\t\tExportPolicyRules: netapp.VolumeGroupOracleVolumeExportPolicyRuleArray{\n\t\t\t\t\t\t\u0026netapp.VolumeGroupOracleVolumeExportPolicyRuleArgs{\n\t\t\t\t\t\t\tRuleIndex:         pulumi.Int(1),\n\t\t\t\t\t\t\tAllowedClients:    pulumi.String(\"0.0.0.0/0\"),\n\t\t\t\t\t\t\tNfsv3Enabled:      pulumi.Bool(false),\n\t\t\t\t\t\t\tNfsv41Enabled:     pulumi.Bool(true),\n\t\t\t\t\t\t\tUnixReadOnly:      pulumi.Bool(false),\n\t\t\t\t\t\t\tUnixReadWrite:     pulumi.Bool(true),\n\t\t\t\t\t\t\tRootAccessEnabled: pulumi.Bool(false),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tDataProtectionReplication: \u0026netapp.VolumeGroupOracleVolumeDataProtectionReplicationArgs{\n\t\t\t\t\t\tEndpointType:         pulumi.String(\"dst\"),\n\t\t\t\t\t\tRemoteVolumeLocation: example.Location,\n\t\t\t\t\t\tRemoteVolumeResourceId: examplePrimaryVolumeGroupOracle.Volumes.ApplyT(func(volumes []netapp.VolumeGroupOracleVolume) (*string, error) {\n\t\t\t\t\t\t\treturn \u0026volumes[0].Id, nil\n\t\t\t\t\t\t}).(pulumi.StringPtrOutput),\n\t\t\t\t\t\tReplicationFrequency: pulumi.String(\"10minutes\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texamplePrimaryVolumeGroupOracle,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.VirtualNetwork;\nimport com.pulumi.azure.network.VirtualNetworkArgs;\nimport com.pulumi.azure.network.Subnet;\nimport com.pulumi.azure.network.SubnetArgs;\nimport com.pulumi.azure.network.inputs.SubnetDelegationArgs;\nimport com.pulumi.azure.network.inputs.SubnetDelegationServiceDelegationArgs;\nimport com.pulumi.azure.netapp.Account;\nimport com.pulumi.azure.netapp.AccountArgs;\nimport com.pulumi.azure.netapp.Pool;\nimport com.pulumi.azure.netapp.PoolArgs;\nimport com.pulumi.azure.netapp.VolumeGroupOracle;\nimport com.pulumi.azure.netapp.VolumeGroupOracleArgs;\nimport com.pulumi.azure.netapp.inputs.VolumeGroupOracleVolumeArgs;\nimport com.pulumi.azure.netapp.inputs.VolumeGroupOracleVolumeDataProtectionReplicationArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(String.format(\"%s-resources\", prefix))\n            .location(location)\n            .tags(Map.of(\"SkipNRMSNSG\", \"true\"))\n            .build());\n\n        // Primary region networking\n        var examplePrimary = new VirtualNetwork(\"examplePrimary\", VirtualNetworkArgs.builder()\n            .name(String.format(\"%s-vnet-primary\", prefix))\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .addressSpaces(\"10.47.0.0/16\")\n            .build());\n\n        var examplePrimarySubnet = new Subnet(\"examplePrimarySubnet\", SubnetArgs.builder()\n            .name(String.format(\"%s-delegated-subnet-primary\", prefix))\n            .resourceGroupName(example.name())\n            .virtualNetworkName(examplePrimary.name())\n            .addressPrefixes(\"10.47.2.0/24\")\n            .delegations(SubnetDelegationArgs.builder()\n                .name(\"exampledelegation\")\n                .serviceDelegation(SubnetDelegationServiceDelegationArgs.builder()\n                    .name(\"Microsoft.Netapp/volumes\")\n                    .actions(                    \n                        \"Microsoft.Network/networkinterfaces/*\",\n                        \"Microsoft.Network/virtualNetworks/subnets/join/action\")\n                    .build())\n                .build())\n            .build());\n\n        // Secondary region networking\n        var exampleSecondary = new VirtualNetwork(\"exampleSecondary\", VirtualNetworkArgs.builder()\n            .name(String.format(\"%s-vnet-secondary\", prefix))\n            .location(altLocation)\n            .resourceGroupName(example.name())\n            .addressSpaces(\"10.48.0.0/16\")\n            .build());\n\n        var exampleSecondarySubnet = new Subnet(\"exampleSecondarySubnet\", SubnetArgs.builder()\n            .name(String.format(\"%s-delegated-subnet-secondary\", prefix))\n            .resourceGroupName(example.name())\n            .virtualNetworkName(exampleSecondary.name())\n            .addressPrefixes(\"10.48.2.0/24\")\n            .delegations(SubnetDelegationArgs.builder()\n                .name(\"exampledelegation\")\n                .serviceDelegation(SubnetDelegationServiceDelegationArgs.builder()\n                    .name(\"Microsoft.Netapp/volumes\")\n                    .actions(                    \n                        \"Microsoft.Network/networkinterfaces/*\",\n                        \"Microsoft.Network/virtualNetworks/subnets/join/action\")\n                    .build())\n                .build())\n            .build());\n\n        // Primary region NetApp infrastructure\n        var examplePrimaryAccount = new Account(\"examplePrimaryAccount\", AccountArgs.builder()\n            .name(String.format(\"%s-netapp-account-primary\", prefix))\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .build(), CustomResourceOptions.builder()\n                .dependsOn(examplePrimarySubnet)\n                .build());\n\n        var examplePrimaryPool = new Pool(\"examplePrimaryPool\", PoolArgs.builder()\n            .name(String.format(\"%s-netapp-pool-primary\", prefix))\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .accountName(examplePrimaryAccount.name())\n            .serviceLevel(\"Standard\")\n            .sizeInTb(4)\n            .qosType(\"Manual\")\n            .build());\n\n        // Secondary region NetApp infrastructure\n        var exampleSecondaryAccount = new Account(\"exampleSecondaryAccount\", AccountArgs.builder()\n            .name(String.format(\"%s-netapp-account-secondary\", prefix))\n            .location(altLocation)\n            .resourceGroupName(example.name())\n            .build(), CustomResourceOptions.builder()\n                .dependsOn(exampleSecondarySubnet)\n                .build());\n\n        var exampleSecondaryPool = new Pool(\"exampleSecondaryPool\", PoolArgs.builder()\n            .name(String.format(\"%s-netapp-pool-secondary\", prefix))\n            .location(altLocation)\n            .resourceGroupName(example.name())\n            .accountName(exampleSecondaryAccount.name())\n            .serviceLevel(\"Standard\")\n            .sizeInTb(4)\n            .qosType(\"Manual\")\n            .build());\n\n        // Primary Oracle volume group\n        var examplePrimaryVolumeGroupOracle = new VolumeGroupOracle(\"examplePrimaryVolumeGroupOracle\", VolumeGroupOracleArgs.builder()\n            .name(String.format(\"%s-NetAppVolumeGroupOracle-primary\", prefix))\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .accountName(examplePrimaryAccount.name())\n            .groupDescription(\"Primary Oracle volume group for CRR\")\n            .applicationIdentifier(\"TST\")\n            .volumes(VolumeGroupOracleVolumeArgs.builder()\n                .name(String.format(\"%s-volume-ora1-primary\", prefix))\n                .volumePath(String.format(\"%s-my-unique-file-ora-path-1-primary\", prefix))\n                .serviceLevel(\"Standard\")\n                .capacityPoolId(examplePrimaryPool.id())\n                .subnetId(examplePrimarySubnet.id())\n                .volumeSpecName(\"ora-data1\")\n                .storageQuotaInGb(1024)\n                .throughputInMibps(24.0)\n                .protocols(\"NFSv4.1\")\n                .securityStyle(\"unix\")\n                .snapshotDirectoryVisible(false)\n                .exportPolicyRules(VolumeGroupOracleVolumeExportPolicyRuleArgs.builder()\n                    .ruleIndex(1)\n                    .allowedClients(\"0.0.0.0/0\")\n                    .nfsv3Enabled(false)\n                    .nfsv41Enabled(true)\n                    .unixReadOnly(false)\n                    .unixReadWrite(true)\n                    .rootAccessEnabled(false)\n                    .build())\n                .build())\n            .build());\n\n        // Secondary Oracle volume group with CRR\n        var exampleSecondaryVolumeGroupOracle = new VolumeGroupOracle(\"exampleSecondaryVolumeGroupOracle\", VolumeGroupOracleArgs.builder()\n            .name(String.format(\"%s-NetAppVolumeGroupOracle-secondary\", prefix))\n            .location(altLocation)\n            .resourceGroupName(example.name())\n            .accountName(exampleSecondaryAccount.name())\n            .groupDescription(\"Secondary Oracle volume group for CRR\")\n            .applicationIdentifier(\"TST\")\n            .volumes(VolumeGroupOracleVolumeArgs.builder()\n                .name(String.format(\"%s-volume-ora1-secondary\", prefix))\n                .volumePath(String.format(\"%s-my-unique-file-ora-path-1-secondary\", prefix))\n                .serviceLevel(\"Standard\")\n                .capacityPoolId(exampleSecondaryPool.id())\n                .subnetId(exampleSecondarySubnet.id())\n                .volumeSpecName(\"ora-data1\")\n                .storageQuotaInGb(1024)\n                .throughputInMibps(24.0)\n                .protocols(\"NFSv4.1\")\n                .securityStyle(\"unix\")\n                .snapshotDirectoryVisible(false)\n                .exportPolicyRules(VolumeGroupOracleVolumeExportPolicyRuleArgs.builder()\n                    .ruleIndex(1)\n                    .allowedClients(\"0.0.0.0/0\")\n                    .nfsv3Enabled(false)\n                    .nfsv41Enabled(true)\n                    .unixReadOnly(false)\n                    .unixReadWrite(true)\n                    .rootAccessEnabled(false)\n                    .build())\n                .dataProtectionReplication(VolumeGroupOracleVolumeDataProtectionReplicationArgs.builder()\n                    .endpointType(\"dst\")\n                    .remoteVolumeLocation(example.location())\n                    .remoteVolumeResourceId(examplePrimaryVolumeGroupOracle.volumes().applyValue(_volumes -\u003e _volumes[0].id()))\n                    .replicationFrequency(\"10minutes\")\n                    .build())\n                .build())\n            .build(), CustomResourceOptions.builder()\n                .dependsOn(examplePrimaryVolumeGroupOracle)\n                .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: ${prefix}-resources\n      location: ${location}\n      tags:\n        SkipNRMSNSG: 'true'\n  # Primary region networking\n  examplePrimary:\n    type: azure:network:VirtualNetwork\n    name: example_primary\n    properties:\n      name: ${prefix}-vnet-primary\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      addressSpaces:\n        - 10.47.0.0/16\n  examplePrimarySubnet:\n    type: azure:network:Subnet\n    name: example_primary\n    properties:\n      name: ${prefix}-delegated-subnet-primary\n      resourceGroupName: ${example.name}\n      virtualNetworkName: ${examplePrimary.name}\n      addressPrefixes:\n        - 10.47.2.0/24\n      delegations:\n        - name: exampledelegation\n          serviceDelegation:\n            name: Microsoft.Netapp/volumes\n            actions:\n              - Microsoft.Network/networkinterfaces/*\n              - Microsoft.Network/virtualNetworks/subnets/join/action\n  # Secondary region networking\n  exampleSecondary:\n    type: azure:network:VirtualNetwork\n    name: example_secondary\n    properties:\n      name: ${prefix}-vnet-secondary\n      location: ${altLocation}\n      resourceGroupName: ${example.name}\n      addressSpaces:\n        - 10.48.0.0/16\n  exampleSecondarySubnet:\n    type: azure:network:Subnet\n    name: example_secondary\n    properties:\n      name: ${prefix}-delegated-subnet-secondary\n      resourceGroupName: ${example.name}\n      virtualNetworkName: ${exampleSecondary.name}\n      addressPrefixes:\n        - 10.48.2.0/24\n      delegations:\n        - name: exampledelegation\n          serviceDelegation:\n            name: Microsoft.Netapp/volumes\n            actions:\n              - Microsoft.Network/networkinterfaces/*\n              - Microsoft.Network/virtualNetworks/subnets/join/action\n  # Primary region NetApp infrastructure\n  examplePrimaryAccount:\n    type: azure:netapp:Account\n    name: example_primary\n    properties:\n      name: ${prefix}-netapp-account-primary\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n    options:\n      dependsOn:\n        - ${examplePrimarySubnet}\n  examplePrimaryPool:\n    type: azure:netapp:Pool\n    name: example_primary\n    properties:\n      name: ${prefix}-netapp-pool-primary\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      accountName: ${examplePrimaryAccount.name}\n      serviceLevel: Standard\n      sizeInTb: 4\n      qosType: Manual\n  # Secondary region NetApp infrastructure\n  exampleSecondaryAccount:\n    type: azure:netapp:Account\n    name: example_secondary\n    properties:\n      name: ${prefix}-netapp-account-secondary\n      location: ${altLocation}\n      resourceGroupName: ${example.name}\n    options:\n      dependsOn:\n        - ${exampleSecondarySubnet}\n  exampleSecondaryPool:\n    type: azure:netapp:Pool\n    name: example_secondary\n    properties:\n      name: ${prefix}-netapp-pool-secondary\n      location: ${altLocation}\n      resourceGroupName: ${example.name}\n      accountName: ${exampleSecondaryAccount.name}\n      serviceLevel: Standard\n      sizeInTb: 4\n      qosType: Manual\n  # Primary Oracle volume group\n  examplePrimaryVolumeGroupOracle:\n    type: azure:netapp:VolumeGroupOracle\n    name: example_primary\n    properties:\n      name: ${prefix}-NetAppVolumeGroupOracle-primary\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      accountName: ${examplePrimaryAccount.name}\n      groupDescription: Primary Oracle volume group for CRR\n      applicationIdentifier: TST\n      volumes:\n        - name: ${prefix}-volume-ora1-primary\n          volumePath: ${prefix}-my-unique-file-ora-path-1-primary\n          serviceLevel: Standard\n          capacityPoolId: ${examplePrimaryPool.id}\n          subnetId: ${examplePrimarySubnet.id}\n          volumeSpecName: ora-data1\n          storageQuotaInGb: 1024\n          throughputInMibps: 24\n          protocols: NFSv4.1\n          securityStyle: unix\n          snapshotDirectoryVisible: false\n          exportPolicyRules:\n            - ruleIndex: 1\n              allowedClients: 0.0.0.0/0\n              nfsv3Enabled: false\n              nfsv41Enabled: true\n              unixReadOnly: false\n              unixReadWrite: true\n              rootAccessEnabled: false\n  # Secondary Oracle volume group with CRR\n  exampleSecondaryVolumeGroupOracle:\n    type: azure:netapp:VolumeGroupOracle\n    name: example_secondary\n    properties:\n      name: ${prefix}-NetAppVolumeGroupOracle-secondary\n      location: ${altLocation}\n      resourceGroupName: ${example.name}\n      accountName: ${exampleSecondaryAccount.name}\n      groupDescription: Secondary Oracle volume group for CRR\n      applicationIdentifier: TST\n      volumes:\n        - name: ${prefix}-volume-ora1-secondary\n          volumePath: ${prefix}-my-unique-file-ora-path-1-secondary\n          serviceLevel: Standard\n          capacityPoolId: ${exampleSecondaryPool.id}\n          subnetId: ${exampleSecondarySubnet.id}\n          volumeSpecName: ora-data1\n          storageQuotaInGb: 1024\n          throughputInMibps: 24\n          protocols: NFSv4.1\n          securityStyle: unix\n          snapshotDirectoryVisible: false\n          exportPolicyRules:\n            - ruleIndex: 1\n              allowedClients: 0.0.0.0/0\n              nfsv3Enabled: false\n              nfsv41Enabled: true\n              unixReadOnly: false\n              unixReadWrite: true\n              rootAccessEnabled: false\n          dataProtectionReplication:\n            endpointType: dst\n            remoteVolumeLocation: ${example.location}\n            remoteVolumeResourceId: ${examplePrimaryVolumeGroupOracle.volumes[0].id}\n            replicationFrequency: 10minutes\n    options:\n      dependsOn:\n        - ${examplePrimaryVolumeGroupOracle}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.NetApp` - 2025-06-01\n\n## Import\n\nApplication Volume Groups can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:netapp/volumeGroupOracle:VolumeGroupOracle example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mytest-rg/providers/Microsoft.NetApp/netAppAccounts/netapp-account-test/volumeGroups/netapp-volumegroup-test\n```\n\n","properties":{"accountName":{"type":"string","description":"Name of the account where the application volume group belong to. Changing this forces a new Application Volume Group to be created and data will be lost.\n"},"applicationIdentifier":{"type":"string","description":"The SAP System ID, maximum 3 characters, e.g. `OR1`. Changing this forces a new Application Volume Group to be created and data will be lost.\n"},"groupDescription":{"type":"string","description":"Volume group description. Changing this forces a new Application Volume Group to be created and data will be lost.\n"},"location":{"type":"string","description":"The Azure Region where the Application Volume Group should exist. Changing this forces a new Application Volume Group to be created and data will be lost.\n"},"name":{"type":"string","description":"The name which should be used for this Application Volume Group. Changing this forces a new Application Volume Group to be created and data will be lost.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Application Volume Group should exist. Changing this forces a new Application Volume Group to be created and data will be lost.\n"},"volumes":{"type":"array","items":{"$ref":"#/types/azure:netapp/VolumeGroupOracleVolume:VolumeGroupOracleVolume"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`volume`\" pulumi-lang-dotnet=\"`Volume`\" pulumi-lang-go=\"`volume`\" pulumi-lang-python=\"`volume`\" pulumi-lang-yaml=\"`volume`\" pulumi-lang-java=\"`volume`\"\u003e`volume`\u003c/span\u003e blocks as defined below.\n"}},"required":["accountName","applicationIdentifier","groupDescription","location","name","resourceGroupName","volumes"],"inputProperties":{"accountName":{"type":"string","description":"Name of the account where the application volume group belong to. Changing this forces a new Application Volume Group to be created and data will be lost.\n","willReplaceOnChanges":true},"applicationIdentifier":{"type":"string","description":"The SAP System ID, maximum 3 characters, e.g. `OR1`. Changing this forces a new Application Volume Group to be created and data will be lost.\n","willReplaceOnChanges":true},"groupDescription":{"type":"string","description":"Volume group description. Changing this forces a new Application Volume Group to be created and data will be lost.\n","willReplaceOnChanges":true},"location":{"type":"string","description":"The Azure Region where the Application Volume Group should exist. Changing this forces a new Application Volume Group to be created and data will be lost.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Application Volume Group. Changing this forces a new Application Volume Group to be created and data will be lost.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Application Volume Group should exist. Changing this forces a new Application Volume Group to be created and data will be lost.\n","willReplaceOnChanges":true},"volumes":{"type":"array","items":{"$ref":"#/types/azure:netapp/VolumeGroupOracleVolume:VolumeGroupOracleVolume"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`volume`\" pulumi-lang-dotnet=\"`Volume`\" pulumi-lang-go=\"`volume`\" pulumi-lang-python=\"`volume`\" pulumi-lang-yaml=\"`volume`\" pulumi-lang-java=\"`volume`\"\u003e`volume`\u003c/span\u003e blocks as defined below.\n"}},"requiredInputs":["accountName","applicationIdentifier","groupDescription","resourceGroupName","volumes"],"stateInputs":{"description":"Input properties used for looking up and filtering VolumeGroupOracle resources.\n","properties":{"accountName":{"type":"string","description":"Name of the account where the application volume group belong to. Changing this forces a new Application Volume Group to be created and data will be lost.\n","willReplaceOnChanges":true},"applicationIdentifier":{"type":"string","description":"The SAP System ID, maximum 3 characters, e.g. `OR1`. Changing this forces a new Application Volume Group to be created and data will be lost.\n","willReplaceOnChanges":true},"groupDescription":{"type":"string","description":"Volume group description. Changing this forces a new Application Volume Group to be created and data will be lost.\n","willReplaceOnChanges":true},"location":{"type":"string","description":"The Azure Region where the Application Volume Group should exist. Changing this forces a new Application Volume Group to be created and data will be lost.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Application Volume Group. Changing this forces a new Application Volume Group to be created and data will be lost.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Application Volume Group should exist. Changing this forces a new Application Volume Group to be created and data will be lost.\n","willReplaceOnChanges":true},"volumes":{"type":"array","items":{"$ref":"#/types/azure:netapp/VolumeGroupOracleVolume:VolumeGroupOracleVolume"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`volume`\" pulumi-lang-dotnet=\"`Volume`\" pulumi-lang-go=\"`volume`\" pulumi-lang-python=\"`volume`\" pulumi-lang-yaml=\"`volume`\" pulumi-lang-java=\"`volume`\"\u003e`volume`\u003c/span\u003e blocks as defined below.\n"}},"type":"object"}},"azure:netapp/volumeGroupSapHana:VolumeGroupSapHana":{"description":"Manages a Application Volume Group for SAP HANA application.\n\n\u003e **Note:** This feature is intended to be used for SAP-HANA workloads only, with several requirements, please refer to [Understand Azure NetApp Files application volume group for SAP HANA](https://learn.microsoft.com/en-us/azure/azure-netapp-files/application-volume-group-introduction) document as the starting point to understand this feature before using it with Terraform.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\nimport * as random from \"@pulumi/random\";\n\nconst example = new random.index.String(\"example\", {\n    length: 12,\n    special: true,\n});\nconst adminUsername = \"exampleadmin\";\nconst adminPassword = example.result;\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"example\", {\n    name: `${prefix}-resources`,\n    location: location,\n});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"example\", {\n    name: `${prefix}-vnet`,\n    location: exampleResourceGroup.location,\n    resourceGroupName: exampleResourceGroup.name,\n    addressSpaces: [\"10.88.0.0/16\"],\n});\nconst exampleSubnet = new azure.network.Subnet(\"example\", {\n    name: `${prefix}-delegated-subnet`,\n    resourceGroupName: exampleResourceGroup.name,\n    virtualNetworkName: exampleVirtualNetwork.name,\n    addressPrefixes: [\"10.88.2.0/24\"],\n    delegations: [{\n        name: \"testdelegation\",\n        serviceDelegation: {\n            name: \"Microsoft.Netapp/volumes\",\n            actions: [\n                \"Microsoft.Network/networkinterfaces/*\",\n                \"Microsoft.Network/virtualNetworks/subnets/join/action\",\n            ],\n        },\n    }],\n});\nconst example1 = new azure.network.Subnet(\"example1\", {\n    name: `${prefix}-hosts-subnet`,\n    resourceGroupName: exampleResourceGroup.name,\n    virtualNetworkName: exampleVirtualNetwork.name,\n    addressPrefixes: [\"10.88.1.0/24\"],\n});\nconst examplePlacementGroup = new azure.proximity.PlacementGroup(\"example\", {\n    name: `${prefix}-ppg`,\n    location: exampleResourceGroup.location,\n    resourceGroupName: exampleResourceGroup.name,\n});\nconst exampleAvailabilitySet = new azure.compute.AvailabilitySet(\"example\", {\n    name: `${prefix}-avset`,\n    location: exampleResourceGroup.location,\n    resourceGroupName: exampleResourceGroup.name,\n    proximityPlacementGroupId: examplePlacementGroup.id,\n});\nconst exampleNetworkInterface = new azure.network.NetworkInterface(\"example\", {\n    name: `${prefix}-nic`,\n    resourceGroupName: exampleResourceGroup.name,\n    location: exampleResourceGroup.location,\n    ipConfigurations: [{\n        name: \"internal\",\n        subnetId: example1.id,\n        privateIpAddressAllocation: \"Dynamic\",\n    }],\n});\nconst exampleLinuxVirtualMachine = new azure.compute.LinuxVirtualMachine(\"example\", {\n    name: `${prefix}-vm`,\n    resourceGroupName: exampleResourceGroup.name,\n    location: exampleResourceGroup.location,\n    size: \"Standard_M8ms\",\n    adminUsername: adminUsername,\n    adminPassword: adminPassword,\n    disablePasswordAuthentication: false,\n    proximityPlacementGroupId: examplePlacementGroup.id,\n    availabilitySetId: exampleAvailabilitySet.id,\n    networkInterfaceIds: [exampleNetworkInterface.id],\n    sourceImageReference: {\n        publisher: \"Canonical\",\n        offer: \"0001-com-ubuntu-server-jammy\",\n        sku: \"22_04-lts\",\n        version: \"latest\",\n    },\n    osDisk: {\n        storageAccountType: \"Standard_LRS\",\n        caching: \"ReadWrite\",\n    },\n});\nconst exampleAccount = new azure.netapp.Account(\"example\", {\n    name: `${prefix}-netapp-account`,\n    location: exampleResourceGroup.location,\n    resourceGroupName: exampleResourceGroup.name,\n}, {\n    dependsOn: [\n        exampleSubnet,\n        example1,\n    ],\n});\nconst examplePool = new azure.netapp.Pool(\"example\", {\n    name: `${prefix}-netapp-pool`,\n    location: exampleResourceGroup.location,\n    resourceGroupName: exampleResourceGroup.name,\n    accountName: exampleAccount.name,\n    serviceLevel: \"Standard\",\n    sizeInTb: 8,\n    qosType: \"Manual\",\n});\nconst exampleVolumeGroupSapHana = new azure.netapp.VolumeGroupSapHana(\"example\", {\n    name: `${prefix}-netapp-volumegroup`,\n    location: exampleResourceGroup.location,\n    resourceGroupName: exampleResourceGroup.name,\n    accountName: exampleAccount.name,\n    groupDescription: \"Test volume group\",\n    applicationIdentifier: \"TST\",\n    volumes: [\n        {\n            name: `${prefix}-netapp-volume-1`,\n            volumePath: \"my-unique-file-path-1\",\n            serviceLevel: \"Standard\",\n            capacityPoolId: examplePool.id,\n            subnetId: exampleSubnet.id,\n            proximityPlacementGroupId: examplePlacementGroup.id,\n            volumeSpecName: \"data\",\n            storageQuotaInGb: 1024,\n            throughputInMibps: 24,\n            protocols: \"NFSv4.1\",\n            securityStyle: \"unix\",\n            snapshotDirectoryVisible: false,\n            exportPolicyRules: [{\n                ruleIndex: 1,\n                allowedClients: \"0.0.0.0/0\",\n                nfsv3Enabled: false,\n                nfsv41Enabled: true,\n                unixReadOnly: false,\n                unixReadWrite: true,\n                rootAccessEnabled: false,\n            }],\n            tags: {\n                foo: \"bar\",\n            },\n        },\n        {\n            name: `${prefix}-netapp-volume-2`,\n            volumePath: \"my-unique-file-path-2\",\n            serviceLevel: \"Standard\",\n            capacityPoolId: examplePool.id,\n            subnetId: exampleSubnet.id,\n            proximityPlacementGroupId: examplePlacementGroup.id,\n            volumeSpecName: \"log\",\n            storageQuotaInGb: 1024,\n            throughputInMibps: 24,\n            protocols: \"NFSv4.1\",\n            securityStyle: \"unix\",\n            snapshotDirectoryVisible: false,\n            exportPolicyRules: [{\n                ruleIndex: 1,\n                allowedClients: \"0.0.0.0/0\",\n                nfsv3Enabled: false,\n                nfsv41Enabled: true,\n                unixReadOnly: false,\n                unixReadWrite: true,\n                rootAccessEnabled: false,\n            }],\n            tags: {\n                foo: \"bar\",\n            },\n        },\n        {\n            name: `${prefix}-netapp-volume-3`,\n            volumePath: \"my-unique-file-path-3\",\n            serviceLevel: \"Standard\",\n            capacityPoolId: examplePool.id,\n            subnetId: exampleSubnet.id,\n            proximityPlacementGroupId: examplePlacementGroup.id,\n            volumeSpecName: \"shared\",\n            storageQuotaInGb: 1024,\n            throughputInMibps: 24,\n            protocols: \"NFSv4.1\",\n            securityStyle: \"unix\",\n            snapshotDirectoryVisible: false,\n            exportPolicyRules: [{\n                ruleIndex: 1,\n                allowedClients: \"0.0.0.0/0\",\n                nfsv3Enabled: false,\n                nfsv41Enabled: true,\n                unixReadOnly: false,\n                unixReadWrite: true,\n                rootAccessEnabled: false,\n            }],\n        },\n    ],\n}, {\n    dependsOn: [\n        exampleLinuxVirtualMachine,\n        examplePlacementGroup,\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\nimport pulumi_random as random\n\nexample = random.index.String(\"example\",\n    length=12,\n    special=True)\nadmin_username = \"exampleadmin\"\nadmin_password = example[\"result\"]\nexample_resource_group = azure.core.ResourceGroup(\"example\",\n    name=f\"{prefix}-resources\",\n    location=location)\nexample_virtual_network = azure.network.VirtualNetwork(\"example\",\n    name=f\"{prefix}-vnet\",\n    location=example_resource_group.location,\n    resource_group_name=example_resource_group.name,\n    address_spaces=[\"10.88.0.0/16\"])\nexample_subnet = azure.network.Subnet(\"example\",\n    name=f\"{prefix}-delegated-subnet\",\n    resource_group_name=example_resource_group.name,\n    virtual_network_name=example_virtual_network.name,\n    address_prefixes=[\"10.88.2.0/24\"],\n    delegations=[{\n        \"name\": \"testdelegation\",\n        \"service_delegation\": {\n            \"name\": \"Microsoft.Netapp/volumes\",\n            \"actions\": [\n                \"Microsoft.Network/networkinterfaces/*\",\n                \"Microsoft.Network/virtualNetworks/subnets/join/action\",\n            ],\n        },\n    }])\nexample1 = azure.network.Subnet(\"example1\",\n    name=f\"{prefix}-hosts-subnet\",\n    resource_group_name=example_resource_group.name,\n    virtual_network_name=example_virtual_network.name,\n    address_prefixes=[\"10.88.1.0/24\"])\nexample_placement_group = azure.proximity.PlacementGroup(\"example\",\n    name=f\"{prefix}-ppg\",\n    location=example_resource_group.location,\n    resource_group_name=example_resource_group.name)\nexample_availability_set = azure.compute.AvailabilitySet(\"example\",\n    name=f\"{prefix}-avset\",\n    location=example_resource_group.location,\n    resource_group_name=example_resource_group.name,\n    proximity_placement_group_id=example_placement_group.id)\nexample_network_interface = azure.network.NetworkInterface(\"example\",\n    name=f\"{prefix}-nic\",\n    resource_group_name=example_resource_group.name,\n    location=example_resource_group.location,\n    ip_configurations=[{\n        \"name\": \"internal\",\n        \"subnet_id\": example1.id,\n        \"private_ip_address_allocation\": \"Dynamic\",\n    }])\nexample_linux_virtual_machine = azure.compute.LinuxVirtualMachine(\"example\",\n    name=f\"{prefix}-vm\",\n    resource_group_name=example_resource_group.name,\n    location=example_resource_group.location,\n    size=\"Standard_M8ms\",\n    admin_username=admin_username,\n    admin_password=admin_password,\n    disable_password_authentication=False,\n    proximity_placement_group_id=example_placement_group.id,\n    availability_set_id=example_availability_set.id,\n    network_interface_ids=[example_network_interface.id],\n    source_image_reference={\n        \"publisher\": \"Canonical\",\n        \"offer\": \"0001-com-ubuntu-server-jammy\",\n        \"sku\": \"22_04-lts\",\n        \"version\": \"latest\",\n    },\n    os_disk={\n        \"storage_account_type\": \"Standard_LRS\",\n        \"caching\": \"ReadWrite\",\n    })\nexample_account = azure.netapp.Account(\"example\",\n    name=f\"{prefix}-netapp-account\",\n    location=example_resource_group.location,\n    resource_group_name=example_resource_group.name,\n    opts = pulumi.ResourceOptions(depends_on=[\n            example_subnet,\n            example1,\n        ]))\nexample_pool = azure.netapp.Pool(\"example\",\n    name=f\"{prefix}-netapp-pool\",\n    location=example_resource_group.location,\n    resource_group_name=example_resource_group.name,\n    account_name=example_account.name,\n    service_level=\"Standard\",\n    size_in_tb=8,\n    qos_type=\"Manual\")\nexample_volume_group_sap_hana = azure.netapp.VolumeGroupSapHana(\"example\",\n    name=f\"{prefix}-netapp-volumegroup\",\n    location=example_resource_group.location,\n    resource_group_name=example_resource_group.name,\n    account_name=example_account.name,\n    group_description=\"Test volume group\",\n    application_identifier=\"TST\",\n    volumes=[\n        {\n            \"name\": f\"{prefix}-netapp-volume-1\",\n            \"volume_path\": \"my-unique-file-path-1\",\n            \"service_level\": \"Standard\",\n            \"capacity_pool_id\": example_pool.id,\n            \"subnet_id\": example_subnet.id,\n            \"proximity_placement_group_id\": example_placement_group.id,\n            \"volume_spec_name\": \"data\",\n            \"storage_quota_in_gb\": 1024,\n            \"throughput_in_mibps\": 24,\n            \"protocols\": \"NFSv4.1\",\n            \"security_style\": \"unix\",\n            \"snapshot_directory_visible\": False,\n            \"export_policy_rules\": [{\n                \"rule_index\": 1,\n                \"allowed_clients\": \"0.0.0.0/0\",\n                \"nfsv3_enabled\": False,\n                \"nfsv41_enabled\": True,\n                \"unix_read_only\": False,\n                \"unix_read_write\": True,\n                \"root_access_enabled\": False,\n            }],\n            \"tags\": {\n                \"foo\": \"bar\",\n            },\n        },\n        {\n            \"name\": f\"{prefix}-netapp-volume-2\",\n            \"volume_path\": \"my-unique-file-path-2\",\n            \"service_level\": \"Standard\",\n            \"capacity_pool_id\": example_pool.id,\n            \"subnet_id\": example_subnet.id,\n            \"proximity_placement_group_id\": example_placement_group.id,\n            \"volume_spec_name\": \"log\",\n            \"storage_quota_in_gb\": 1024,\n            \"throughput_in_mibps\": 24,\n            \"protocols\": \"NFSv4.1\",\n            \"security_style\": \"unix\",\n            \"snapshot_directory_visible\": False,\n            \"export_policy_rules\": [{\n                \"rule_index\": 1,\n                \"allowed_clients\": \"0.0.0.0/0\",\n                \"nfsv3_enabled\": False,\n                \"nfsv41_enabled\": True,\n                \"unix_read_only\": False,\n                \"unix_read_write\": True,\n                \"root_access_enabled\": False,\n            }],\n            \"tags\": {\n                \"foo\": \"bar\",\n            },\n        },\n        {\n            \"name\": f\"{prefix}-netapp-volume-3\",\n            \"volume_path\": \"my-unique-file-path-3\",\n            \"service_level\": \"Standard\",\n            \"capacity_pool_id\": example_pool.id,\n            \"subnet_id\": example_subnet.id,\n            \"proximity_placement_group_id\": example_placement_group.id,\n            \"volume_spec_name\": \"shared\",\n            \"storage_quota_in_gb\": 1024,\n            \"throughput_in_mibps\": 24,\n            \"protocols\": \"NFSv4.1\",\n            \"security_style\": \"unix\",\n            \"snapshot_directory_visible\": False,\n            \"export_policy_rules\": [{\n                \"rule_index\": 1,\n                \"allowed_clients\": \"0.0.0.0/0\",\n                \"nfsv3_enabled\": False,\n                \"nfsv41_enabled\": True,\n                \"unix_read_only\": False,\n                \"unix_read_write\": True,\n                \"root_access_enabled\": False,\n            }],\n        },\n    ],\n    opts = pulumi.ResourceOptions(depends_on=[\n            example_linux_virtual_machine,\n            example_placement_group,\n        ]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Random.Index.String(\"example\", new()\n    {\n        Length = 12,\n        Special = true,\n    });\n\n    var adminUsername = \"exampleadmin\";\n\n    var adminPassword = example.Result;\n\n    var exampleResourceGroup = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = $\"{prefix}-resources\",\n        Location = location,\n    });\n\n    var exampleVirtualNetwork = new Azure.Network.VirtualNetwork(\"example\", new()\n    {\n        Name = $\"{prefix}-vnet\",\n        Location = exampleResourceGroup.Location,\n        ResourceGroupName = exampleResourceGroup.Name,\n        AddressSpaces = new[]\n        {\n            \"10.88.0.0/16\",\n        },\n    });\n\n    var exampleSubnet = new Azure.Network.Subnet(\"example\", new()\n    {\n        Name = $\"{prefix}-delegated-subnet\",\n        ResourceGroupName = exampleResourceGroup.Name,\n        VirtualNetworkName = exampleVirtualNetwork.Name,\n        AddressPrefixes = new[]\n        {\n            \"10.88.2.0/24\",\n        },\n        Delegations = new[]\n        {\n            new Azure.Network.Inputs.SubnetDelegationArgs\n            {\n                Name = \"testdelegation\",\n                ServiceDelegation = new Azure.Network.Inputs.SubnetDelegationServiceDelegationArgs\n                {\n                    Name = \"Microsoft.Netapp/volumes\",\n                    Actions = new[]\n                    {\n                        \"Microsoft.Network/networkinterfaces/*\",\n                        \"Microsoft.Network/virtualNetworks/subnets/join/action\",\n                    },\n                },\n            },\n        },\n    });\n\n    var example1 = new Azure.Network.Subnet(\"example1\", new()\n    {\n        Name = $\"{prefix}-hosts-subnet\",\n        ResourceGroupName = exampleResourceGroup.Name,\n        VirtualNetworkName = exampleVirtualNetwork.Name,\n        AddressPrefixes = new[]\n        {\n            \"10.88.1.0/24\",\n        },\n    });\n\n    var examplePlacementGroup = new Azure.Proximity.PlacementGroup(\"example\", new()\n    {\n        Name = $\"{prefix}-ppg\",\n        Location = exampleResourceGroup.Location,\n        ResourceGroupName = exampleResourceGroup.Name,\n    });\n\n    var exampleAvailabilitySet = new Azure.Compute.AvailabilitySet(\"example\", new()\n    {\n        Name = $\"{prefix}-avset\",\n        Location = exampleResourceGroup.Location,\n        ResourceGroupName = exampleResourceGroup.Name,\n        ProximityPlacementGroupId = examplePlacementGroup.Id,\n    });\n\n    var exampleNetworkInterface = new Azure.Network.NetworkInterface(\"example\", new()\n    {\n        Name = $\"{prefix}-nic\",\n        ResourceGroupName = exampleResourceGroup.Name,\n        Location = exampleResourceGroup.Location,\n        IpConfigurations = new[]\n        {\n            new Azure.Network.Inputs.NetworkInterfaceIpConfigurationArgs\n            {\n                Name = \"internal\",\n                SubnetId = example1.Id,\n                PrivateIpAddressAllocation = \"Dynamic\",\n            },\n        },\n    });\n\n    var exampleLinuxVirtualMachine = new Azure.Compute.LinuxVirtualMachine(\"example\", new()\n    {\n        Name = $\"{prefix}-vm\",\n        ResourceGroupName = exampleResourceGroup.Name,\n        Location = exampleResourceGroup.Location,\n        Size = \"Standard_M8ms\",\n        AdminUsername = adminUsername,\n        AdminPassword = adminPassword,\n        DisablePasswordAuthentication = false,\n        ProximityPlacementGroupId = examplePlacementGroup.Id,\n        AvailabilitySetId = exampleAvailabilitySet.Id,\n        NetworkInterfaceIds = new[]\n        {\n            exampleNetworkInterface.Id,\n        },\n        SourceImageReference = new Azure.Compute.Inputs.LinuxVirtualMachineSourceImageReferenceArgs\n        {\n            Publisher = \"Canonical\",\n            Offer = \"0001-com-ubuntu-server-jammy\",\n            Sku = \"22_04-lts\",\n            Version = \"latest\",\n        },\n        OsDisk = new Azure.Compute.Inputs.LinuxVirtualMachineOsDiskArgs\n        {\n            StorageAccountType = \"Standard_LRS\",\n            Caching = \"ReadWrite\",\n        },\n    });\n\n    var exampleAccount = new Azure.NetApp.Account(\"example\", new()\n    {\n        Name = $\"{prefix}-netapp-account\",\n        Location = exampleResourceGroup.Location,\n        ResourceGroupName = exampleResourceGroup.Name,\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            exampleSubnet,\n            example1,\n        },\n    });\n\n    var examplePool = new Azure.NetApp.Pool(\"example\", new()\n    {\n        Name = $\"{prefix}-netapp-pool\",\n        Location = exampleResourceGroup.Location,\n        ResourceGroupName = exampleResourceGroup.Name,\n        AccountName = exampleAccount.Name,\n        ServiceLevel = \"Standard\",\n        SizeInTb = 8,\n        QosType = \"Manual\",\n    });\n\n    var exampleVolumeGroupSapHana = new Azure.NetApp.VolumeGroupSapHana(\"example\", new()\n    {\n        Name = $\"{prefix}-netapp-volumegroup\",\n        Location = exampleResourceGroup.Location,\n        ResourceGroupName = exampleResourceGroup.Name,\n        AccountName = exampleAccount.Name,\n        GroupDescription = \"Test volume group\",\n        ApplicationIdentifier = \"TST\",\n        Volumes = new[]\n        {\n            new Azure.NetApp.Inputs.VolumeGroupSapHanaVolumeArgs\n            {\n                Name = $\"{prefix}-netapp-volume-1\",\n                VolumePath = \"my-unique-file-path-1\",\n                ServiceLevel = \"Standard\",\n                CapacityPoolId = examplePool.Id,\n                SubnetId = exampleSubnet.Id,\n                ProximityPlacementGroupId = examplePlacementGroup.Id,\n                VolumeSpecName = \"data\",\n                StorageQuotaInGb = 1024,\n                ThroughputInMibps = 24,\n                Protocols = \"NFSv4.1\",\n                SecurityStyle = \"unix\",\n                SnapshotDirectoryVisible = false,\n                ExportPolicyRules = new[]\n                {\n                    new Azure.NetApp.Inputs.VolumeGroupSapHanaVolumeExportPolicyRuleArgs\n                    {\n                        RuleIndex = 1,\n                        AllowedClients = \"0.0.0.0/0\",\n                        Nfsv3Enabled = false,\n                        Nfsv41Enabled = true,\n                        UnixReadOnly = false,\n                        UnixReadWrite = true,\n                        RootAccessEnabled = false,\n                    },\n                },\n                Tags = \n                {\n                    { \"foo\", \"bar\" },\n                },\n            },\n            new Azure.NetApp.Inputs.VolumeGroupSapHanaVolumeArgs\n            {\n                Name = $\"{prefix}-netapp-volume-2\",\n                VolumePath = \"my-unique-file-path-2\",\n                ServiceLevel = \"Standard\",\n                CapacityPoolId = examplePool.Id,\n                SubnetId = exampleSubnet.Id,\n                ProximityPlacementGroupId = examplePlacementGroup.Id,\n                VolumeSpecName = \"log\",\n                StorageQuotaInGb = 1024,\n                ThroughputInMibps = 24,\n                Protocols = \"NFSv4.1\",\n                SecurityStyle = \"unix\",\n                SnapshotDirectoryVisible = false,\n                ExportPolicyRules = new[]\n                {\n                    new Azure.NetApp.Inputs.VolumeGroupSapHanaVolumeExportPolicyRuleArgs\n                    {\n                        RuleIndex = 1,\n                        AllowedClients = \"0.0.0.0/0\",\n                        Nfsv3Enabled = false,\n                        Nfsv41Enabled = true,\n                        UnixReadOnly = false,\n                        UnixReadWrite = true,\n                        RootAccessEnabled = false,\n                    },\n                },\n                Tags = \n                {\n                    { \"foo\", \"bar\" },\n                },\n            },\n            new Azure.NetApp.Inputs.VolumeGroupSapHanaVolumeArgs\n            {\n                Name = $\"{prefix}-netapp-volume-3\",\n                VolumePath = \"my-unique-file-path-3\",\n                ServiceLevel = \"Standard\",\n                CapacityPoolId = examplePool.Id,\n                SubnetId = exampleSubnet.Id,\n                ProximityPlacementGroupId = examplePlacementGroup.Id,\n                VolumeSpecName = \"shared\",\n                StorageQuotaInGb = 1024,\n                ThroughputInMibps = 24,\n                Protocols = \"NFSv4.1\",\n                SecurityStyle = \"unix\",\n                SnapshotDirectoryVisible = false,\n                ExportPolicyRules = new[]\n                {\n                    new Azure.NetApp.Inputs.VolumeGroupSapHanaVolumeExportPolicyRuleArgs\n                    {\n                        RuleIndex = 1,\n                        AllowedClients = \"0.0.0.0/0\",\n                        Nfsv3Enabled = false,\n                        Nfsv41Enabled = true,\n                        UnixReadOnly = false,\n                        UnixReadWrite = true,\n                        RootAccessEnabled = false,\n                    },\n                },\n            },\n        },\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            exampleLinuxVirtualMachine,\n            examplePlacementGroup,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/compute\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/netapp\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/proximity\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := random.NewString(ctx, \"example\", \u0026random.StringArgs{\n\t\t\tLength:  12,\n\t\t\tSpecial: true,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tadminUsername := \"exampleadmin\"\n\t\tadminPassword := example.Result\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.Sprintf(\"%v-resources\", prefix),\n\t\t\tLocation: pulumi.Any(location),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, \"example\", \u0026network.VirtualNetworkArgs{\n\t\t\tName:              pulumi.Sprintf(\"%v-vnet\", prefix),\n\t\t\tLocation:          exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tAddressSpaces: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.88.0.0/16\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSubnet, err := network.NewSubnet(ctx, \"example\", \u0026network.SubnetArgs{\n\t\t\tName:               pulumi.Sprintf(\"%v-delegated-subnet\", prefix),\n\t\t\tResourceGroupName:  exampleResourceGroup.Name,\n\t\t\tVirtualNetworkName: exampleVirtualNetwork.Name,\n\t\t\tAddressPrefixes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.88.2.0/24\"),\n\t\t\t},\n\t\t\tDelegations: network.SubnetDelegationArray{\n\t\t\t\t\u0026network.SubnetDelegationArgs{\n\t\t\t\t\tName: pulumi.String(\"testdelegation\"),\n\t\t\t\t\tServiceDelegation: \u0026network.SubnetDelegationServiceDelegationArgs{\n\t\t\t\t\t\tName: pulumi.String(\"Microsoft.Netapp/volumes\"),\n\t\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"Microsoft.Network/networkinterfaces/*\"),\n\t\t\t\t\t\t\tpulumi.String(\"Microsoft.Network/virtualNetworks/subnets/join/action\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample1, err := network.NewSubnet(ctx, \"example1\", \u0026network.SubnetArgs{\n\t\t\tName:               pulumi.Sprintf(\"%v-hosts-subnet\", prefix),\n\t\t\tResourceGroupName:  exampleResourceGroup.Name,\n\t\t\tVirtualNetworkName: exampleVirtualNetwork.Name,\n\t\t\tAddressPrefixes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.88.1.0/24\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texamplePlacementGroup, err := proximity.NewPlacementGroup(ctx, \"example\", \u0026proximity.PlacementGroupArgs{\n\t\t\tName:              pulumi.Sprintf(\"%v-ppg\", prefix),\n\t\t\tLocation:          exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAvailabilitySet, err := compute.NewAvailabilitySet(ctx, \"example\", \u0026compute.AvailabilitySetArgs{\n\t\t\tName:                      pulumi.Sprintf(\"%v-avset\", prefix),\n\t\t\tLocation:                  exampleResourceGroup.Location,\n\t\t\tResourceGroupName:         exampleResourceGroup.Name,\n\t\t\tProximityPlacementGroupId: examplePlacementGroup.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNetworkInterface, err := network.NewNetworkInterface(ctx, \"example\", \u0026network.NetworkInterfaceArgs{\n\t\t\tName:              pulumi.Sprintf(\"%v-nic\", prefix),\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tLocation:          exampleResourceGroup.Location,\n\t\t\tIpConfigurations: network.NetworkInterfaceIpConfigurationArray{\n\t\t\t\t\u0026network.NetworkInterfaceIpConfigurationArgs{\n\t\t\t\t\tName:                       pulumi.String(\"internal\"),\n\t\t\t\t\tSubnetId:                   example1.ID(),\n\t\t\t\t\tPrivateIpAddressAllocation: pulumi.String(\"Dynamic\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleLinuxVirtualMachine, err := compute.NewLinuxVirtualMachine(ctx, \"example\", \u0026compute.LinuxVirtualMachineArgs{\n\t\t\tName:                          pulumi.Sprintf(\"%v-vm\", prefix),\n\t\t\tResourceGroupName:             exampleResourceGroup.Name,\n\t\t\tLocation:                      exampleResourceGroup.Location,\n\t\t\tSize:                          pulumi.String(\"Standard_M8ms\"),\n\t\t\tAdminUsername:                 pulumi.String(adminUsername),\n\t\t\tAdminPassword:                 pulumi.Any(adminPassword),\n\t\t\tDisablePasswordAuthentication: pulumi.Bool(false),\n\t\t\tProximityPlacementGroupId:     examplePlacementGroup.ID(),\n\t\t\tAvailabilitySetId:             exampleAvailabilitySet.ID(),\n\t\t\tNetworkInterfaceIds: pulumi.StringArray{\n\t\t\t\texampleNetworkInterface.ID(),\n\t\t\t},\n\t\t\tSourceImageReference: \u0026compute.LinuxVirtualMachineSourceImageReferenceArgs{\n\t\t\t\tPublisher: pulumi.String(\"Canonical\"),\n\t\t\t\tOffer:     pulumi.String(\"0001-com-ubuntu-server-jammy\"),\n\t\t\t\tSku:       pulumi.String(\"22_04-lts\"),\n\t\t\t\tVersion:   pulumi.String(\"latest\"),\n\t\t\t},\n\t\t\tOsDisk: \u0026compute.LinuxVirtualMachineOsDiskArgs{\n\t\t\t\tStorageAccountType: pulumi.String(\"Standard_LRS\"),\n\t\t\t\tCaching:            pulumi.String(\"ReadWrite\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := netapp.NewAccount(ctx, \"example\", \u0026netapp.AccountArgs{\n\t\t\tName:              pulumi.Sprintf(\"%v-netapp-account\", prefix),\n\t\t\tLocation:          exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleSubnet,\n\t\t\texample1,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texamplePool, err := netapp.NewPool(ctx, \"example\", \u0026netapp.PoolArgs{\n\t\t\tName:              pulumi.Sprintf(\"%v-netapp-pool\", prefix),\n\t\t\tLocation:          exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tAccountName:       exampleAccount.Name,\n\t\t\tServiceLevel:      pulumi.String(\"Standard\"),\n\t\t\tSizeInTb:          pulumi.Int(8),\n\t\t\tQosType:           pulumi.String(\"Manual\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = netapp.NewVolumeGroupSapHana(ctx, \"example\", \u0026netapp.VolumeGroupSapHanaArgs{\n\t\t\tName:                  pulumi.Sprintf(\"%v-netapp-volumegroup\", prefix),\n\t\t\tLocation:              exampleResourceGroup.Location,\n\t\t\tResourceGroupName:     exampleResourceGroup.Name,\n\t\t\tAccountName:           exampleAccount.Name,\n\t\t\tGroupDescription:      pulumi.String(\"Test volume group\"),\n\t\t\tApplicationIdentifier: pulumi.String(\"TST\"),\n\t\t\tVolumes: netapp.VolumeGroupSapHanaVolumeArray{\n\t\t\t\t\u0026netapp.VolumeGroupSapHanaVolumeArgs{\n\t\t\t\t\tName:                      pulumi.Sprintf(\"%v-netapp-volume-1\", prefix),\n\t\t\t\t\tVolumePath:                pulumi.String(\"my-unique-file-path-1\"),\n\t\t\t\t\tServiceLevel:              pulumi.String(\"Standard\"),\n\t\t\t\t\tCapacityPoolId:            examplePool.ID(),\n\t\t\t\t\tSubnetId:                  exampleSubnet.ID(),\n\t\t\t\t\tProximityPlacementGroupId: examplePlacementGroup.ID(),\n\t\t\t\t\tVolumeSpecName:            pulumi.String(\"data\"),\n\t\t\t\t\tStorageQuotaInGb:          pulumi.Int(1024),\n\t\t\t\t\tThroughputInMibps:         pulumi.Float64(24),\n\t\t\t\t\tProtocols:                 pulumi.String(\"NFSv4.1\"),\n\t\t\t\t\tSecurityStyle:             pulumi.String(\"unix\"),\n\t\t\t\t\tSnapshotDirectoryVisible:  pulumi.Bool(false),\n\t\t\t\t\tExportPolicyRules: netapp.VolumeGroupSapHanaVolumeExportPolicyRuleArray{\n\t\t\t\t\t\t\u0026netapp.VolumeGroupSapHanaVolumeExportPolicyRuleArgs{\n\t\t\t\t\t\t\tRuleIndex:         pulumi.Int(1),\n\t\t\t\t\t\t\tAllowedClients:    pulumi.String(\"0.0.0.0/0\"),\n\t\t\t\t\t\t\tNfsv3Enabled:      pulumi.Bool(false),\n\t\t\t\t\t\t\tNfsv41Enabled:     pulumi.Bool(true),\n\t\t\t\t\t\t\tUnixReadOnly:      pulumi.Bool(false),\n\t\t\t\t\t\t\tUnixReadWrite:     pulumi.Bool(true),\n\t\t\t\t\t\t\tRootAccessEnabled: pulumi.Bool(false),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\t\t\"foo\": pulumi.String(\"bar\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026netapp.VolumeGroupSapHanaVolumeArgs{\n\t\t\t\t\tName:                      pulumi.Sprintf(\"%v-netapp-volume-2\", prefix),\n\t\t\t\t\tVolumePath:                pulumi.String(\"my-unique-file-path-2\"),\n\t\t\t\t\tServiceLevel:              pulumi.String(\"Standard\"),\n\t\t\t\t\tCapacityPoolId:            examplePool.ID(),\n\t\t\t\t\tSubnetId:                  exampleSubnet.ID(),\n\t\t\t\t\tProximityPlacementGroupId: examplePlacementGroup.ID(),\n\t\t\t\t\tVolumeSpecName:            pulumi.String(\"log\"),\n\t\t\t\t\tStorageQuotaInGb:          pulumi.Int(1024),\n\t\t\t\t\tThroughputInMibps:         pulumi.Float64(24),\n\t\t\t\t\tProtocols:                 pulumi.String(\"NFSv4.1\"),\n\t\t\t\t\tSecurityStyle:             pulumi.String(\"unix\"),\n\t\t\t\t\tSnapshotDirectoryVisible:  pulumi.Bool(false),\n\t\t\t\t\tExportPolicyRules: netapp.VolumeGroupSapHanaVolumeExportPolicyRuleArray{\n\t\t\t\t\t\t\u0026netapp.VolumeGroupSapHanaVolumeExportPolicyRuleArgs{\n\t\t\t\t\t\t\tRuleIndex:         pulumi.Int(1),\n\t\t\t\t\t\t\tAllowedClients:    pulumi.String(\"0.0.0.0/0\"),\n\t\t\t\t\t\t\tNfsv3Enabled:      pulumi.Bool(false),\n\t\t\t\t\t\t\tNfsv41Enabled:     pulumi.Bool(true),\n\t\t\t\t\t\t\tUnixReadOnly:      pulumi.Bool(false),\n\t\t\t\t\t\t\tUnixReadWrite:     pulumi.Bool(true),\n\t\t\t\t\t\t\tRootAccessEnabled: pulumi.Bool(false),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\t\t\"foo\": pulumi.String(\"bar\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026netapp.VolumeGroupSapHanaVolumeArgs{\n\t\t\t\t\tName:                      pulumi.Sprintf(\"%v-netapp-volume-3\", prefix),\n\t\t\t\t\tVolumePath:                pulumi.String(\"my-unique-file-path-3\"),\n\t\t\t\t\tServiceLevel:              pulumi.String(\"Standard\"),\n\t\t\t\t\tCapacityPoolId:            examplePool.ID(),\n\t\t\t\t\tSubnetId:                  exampleSubnet.ID(),\n\t\t\t\t\tProximityPlacementGroupId: examplePlacementGroup.ID(),\n\t\t\t\t\tVolumeSpecName:            pulumi.String(\"shared\"),\n\t\t\t\t\tStorageQuotaInGb:          pulumi.Int(1024),\n\t\t\t\t\tThroughputInMibps:         pulumi.Float64(24),\n\t\t\t\t\tProtocols:                 pulumi.String(\"NFSv4.1\"),\n\t\t\t\t\tSecurityStyle:             pulumi.String(\"unix\"),\n\t\t\t\t\tSnapshotDirectoryVisible:  pulumi.Bool(false),\n\t\t\t\t\tExportPolicyRules: netapp.VolumeGroupSapHanaVolumeExportPolicyRuleArray{\n\t\t\t\t\t\t\u0026netapp.VolumeGroupSapHanaVolumeExportPolicyRuleArgs{\n\t\t\t\t\t\t\tRuleIndex:         pulumi.Int(1),\n\t\t\t\t\t\t\tAllowedClients:    pulumi.String(\"0.0.0.0/0\"),\n\t\t\t\t\t\t\tNfsv3Enabled:      pulumi.Bool(false),\n\t\t\t\t\t\t\tNfsv41Enabled:     pulumi.Bool(true),\n\t\t\t\t\t\t\tUnixReadOnly:      pulumi.Bool(false),\n\t\t\t\t\t\t\tUnixReadWrite:     pulumi.Bool(true),\n\t\t\t\t\t\t\tRootAccessEnabled: pulumi.Bool(false),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleLinuxVirtualMachine,\n\t\t\texamplePlacementGroup,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.random.String;\nimport com.pulumi.random.StringArgs;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.VirtualNetwork;\nimport com.pulumi.azure.network.VirtualNetworkArgs;\nimport com.pulumi.azure.network.Subnet;\nimport com.pulumi.azure.network.SubnetArgs;\nimport com.pulumi.azure.network.inputs.SubnetDelegationArgs;\nimport com.pulumi.azure.network.inputs.SubnetDelegationServiceDelegationArgs;\nimport com.pulumi.azure.proximity.PlacementGroup;\nimport com.pulumi.azure.proximity.PlacementGroupArgs;\nimport com.pulumi.azure.compute.AvailabilitySet;\nimport com.pulumi.azure.compute.AvailabilitySetArgs;\nimport com.pulumi.azure.network.NetworkInterface;\nimport com.pulumi.azure.network.NetworkInterfaceArgs;\nimport com.pulumi.azure.network.inputs.NetworkInterfaceIpConfigurationArgs;\nimport com.pulumi.azure.compute.LinuxVirtualMachine;\nimport com.pulumi.azure.compute.LinuxVirtualMachineArgs;\nimport com.pulumi.azure.compute.inputs.LinuxVirtualMachineSourceImageReferenceArgs;\nimport com.pulumi.azure.compute.inputs.LinuxVirtualMachineOsDiskArgs;\nimport com.pulumi.azure.netapp.Account;\nimport com.pulumi.azure.netapp.AccountArgs;\nimport com.pulumi.azure.netapp.Pool;\nimport com.pulumi.azure.netapp.PoolArgs;\nimport com.pulumi.azure.netapp.VolumeGroupSapHana;\nimport com.pulumi.azure.netapp.VolumeGroupSapHanaArgs;\nimport com.pulumi.azure.netapp.inputs.VolumeGroupSapHanaVolumeArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(java.lang.String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new String(\"example\", StringArgs.builder()\n            .length(12)\n            .special(true)\n            .build());\n\n        final var adminUsername = \"exampleadmin\";\n\n        final var adminPassword = example.result();\n\n        var exampleResourceGroup = new ResourceGroup(\"exampleResourceGroup\", ResourceGroupArgs.builder()\n            .name(String.format(\"%s-resources\", prefix))\n            .location(location)\n            .build());\n\n        var exampleVirtualNetwork = new VirtualNetwork(\"exampleVirtualNetwork\", VirtualNetworkArgs.builder()\n            .name(String.format(\"%s-vnet\", prefix))\n            .location(exampleResourceGroup.location())\n            .resourceGroupName(exampleResourceGroup.name())\n            .addressSpaces(\"10.88.0.0/16\")\n            .build());\n\n        var exampleSubnet = new Subnet(\"exampleSubnet\", SubnetArgs.builder()\n            .name(String.format(\"%s-delegated-subnet\", prefix))\n            .resourceGroupName(exampleResourceGroup.name())\n            .virtualNetworkName(exampleVirtualNetwork.name())\n            .addressPrefixes(\"10.88.2.0/24\")\n            .delegations(SubnetDelegationArgs.builder()\n                .name(\"testdelegation\")\n                .serviceDelegation(SubnetDelegationServiceDelegationArgs.builder()\n                    .name(\"Microsoft.Netapp/volumes\")\n                    .actions(                    \n                        \"Microsoft.Network/networkinterfaces/*\",\n                        \"Microsoft.Network/virtualNetworks/subnets/join/action\")\n                    .build())\n                .build())\n            .build());\n\n        var example1 = new Subnet(\"example1\", SubnetArgs.builder()\n            .name(String.format(\"%s-hosts-subnet\", prefix))\n            .resourceGroupName(exampleResourceGroup.name())\n            .virtualNetworkName(exampleVirtualNetwork.name())\n            .addressPrefixes(\"10.88.1.0/24\")\n            .build());\n\n        var examplePlacementGroup = new PlacementGroup(\"examplePlacementGroup\", PlacementGroupArgs.builder()\n            .name(String.format(\"%s-ppg\", prefix))\n            .location(exampleResourceGroup.location())\n            .resourceGroupName(exampleResourceGroup.name())\n            .build());\n\n        var exampleAvailabilitySet = new AvailabilitySet(\"exampleAvailabilitySet\", AvailabilitySetArgs.builder()\n            .name(String.format(\"%s-avset\", prefix))\n            .location(exampleResourceGroup.location())\n            .resourceGroupName(exampleResourceGroup.name())\n            .proximityPlacementGroupId(examplePlacementGroup.id())\n            .build());\n\n        var exampleNetworkInterface = new NetworkInterface(\"exampleNetworkInterface\", NetworkInterfaceArgs.builder()\n            .name(String.format(\"%s-nic\", prefix))\n            .resourceGroupName(exampleResourceGroup.name())\n            .location(exampleResourceGroup.location())\n            .ipConfigurations(NetworkInterfaceIpConfigurationArgs.builder()\n                .name(\"internal\")\n                .subnetId(example1.id())\n                .privateIpAddressAllocation(\"Dynamic\")\n                .build())\n            .build());\n\n        var exampleLinuxVirtualMachine = new LinuxVirtualMachine(\"exampleLinuxVirtualMachine\", LinuxVirtualMachineArgs.builder()\n            .name(String.format(\"%s-vm\", prefix))\n            .resourceGroupName(exampleResourceGroup.name())\n            .location(exampleResourceGroup.location())\n            .size(\"Standard_M8ms\")\n            .adminUsername(adminUsername)\n            .adminPassword(adminPassword)\n            .disablePasswordAuthentication(false)\n            .proximityPlacementGroupId(examplePlacementGroup.id())\n            .availabilitySetId(exampleAvailabilitySet.id())\n            .networkInterfaceIds(exampleNetworkInterface.id())\n            .sourceImageReference(LinuxVirtualMachineSourceImageReferenceArgs.builder()\n                .publisher(\"Canonical\")\n                .offer(\"0001-com-ubuntu-server-jammy\")\n                .sku(\"22_04-lts\")\n                .version(\"latest\")\n                .build())\n            .osDisk(LinuxVirtualMachineOsDiskArgs.builder()\n                .storageAccountType(\"Standard_LRS\")\n                .caching(\"ReadWrite\")\n                .build())\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(String.format(\"%s-netapp-account\", prefix))\n            .location(exampleResourceGroup.location())\n            .resourceGroupName(exampleResourceGroup.name())\n            .build(), CustomResourceOptions.builder()\n                .dependsOn(                \n                    exampleSubnet,\n                    example1)\n                .build());\n\n        var examplePool = new Pool(\"examplePool\", PoolArgs.builder()\n            .name(String.format(\"%s-netapp-pool\", prefix))\n            .location(exampleResourceGroup.location())\n            .resourceGroupName(exampleResourceGroup.name())\n            .accountName(exampleAccount.name())\n            .serviceLevel(\"Standard\")\n            .sizeInTb(8)\n            .qosType(\"Manual\")\n            .build());\n\n        var exampleVolumeGroupSapHana = new VolumeGroupSapHana(\"exampleVolumeGroupSapHana\", VolumeGroupSapHanaArgs.builder()\n            .name(String.format(\"%s-netapp-volumegroup\", prefix))\n            .location(exampleResourceGroup.location())\n            .resourceGroupName(exampleResourceGroup.name())\n            .accountName(exampleAccount.name())\n            .groupDescription(\"Test volume group\")\n            .applicationIdentifier(\"TST\")\n            .volumes(            \n                VolumeGroupSapHanaVolumeArgs.builder()\n                    .name(String.format(\"%s-netapp-volume-1\", prefix))\n                    .volumePath(\"my-unique-file-path-1\")\n                    .serviceLevel(\"Standard\")\n                    .capacityPoolId(examplePool.id())\n                    .subnetId(exampleSubnet.id())\n                    .proximityPlacementGroupId(examplePlacementGroup.id())\n                    .volumeSpecName(\"data\")\n                    .storageQuotaInGb(1024)\n                    .throughputInMibps(24.0)\n                    .protocols(\"NFSv4.1\")\n                    .securityStyle(\"unix\")\n                    .snapshotDirectoryVisible(false)\n                    .exportPolicyRules(VolumeGroupSapHanaVolumeExportPolicyRuleArgs.builder()\n                        .ruleIndex(1)\n                        .allowedClients(\"0.0.0.0/0\")\n                        .nfsv3Enabled(false)\n                        .nfsv41Enabled(true)\n                        .unixReadOnly(false)\n                        .unixReadWrite(true)\n                        .rootAccessEnabled(false)\n                        .build())\n                    .tags(Map.of(\"foo\", \"bar\"))\n                    .build(),\n                VolumeGroupSapHanaVolumeArgs.builder()\n                    .name(String.format(\"%s-netapp-volume-2\", prefix))\n                    .volumePath(\"my-unique-file-path-2\")\n                    .serviceLevel(\"Standard\")\n                    .capacityPoolId(examplePool.id())\n                    .subnetId(exampleSubnet.id())\n                    .proximityPlacementGroupId(examplePlacementGroup.id())\n                    .volumeSpecName(\"log\")\n                    .storageQuotaInGb(1024)\n                    .throughputInMibps(24.0)\n                    .protocols(\"NFSv4.1\")\n                    .securityStyle(\"unix\")\n                    .snapshotDirectoryVisible(false)\n                    .exportPolicyRules(VolumeGroupSapHanaVolumeExportPolicyRuleArgs.builder()\n                        .ruleIndex(1)\n                        .allowedClients(\"0.0.0.0/0\")\n                        .nfsv3Enabled(false)\n                        .nfsv41Enabled(true)\n                        .unixReadOnly(false)\n                        .unixReadWrite(true)\n                        .rootAccessEnabled(false)\n                        .build())\n                    .tags(Map.of(\"foo\", \"bar\"))\n                    .build(),\n                VolumeGroupSapHanaVolumeArgs.builder()\n                    .name(String.format(\"%s-netapp-volume-3\", prefix))\n                    .volumePath(\"my-unique-file-path-3\")\n                    .serviceLevel(\"Standard\")\n                    .capacityPoolId(examplePool.id())\n                    .subnetId(exampleSubnet.id())\n                    .proximityPlacementGroupId(examplePlacementGroup.id())\n                    .volumeSpecName(\"shared\")\n                    .storageQuotaInGb(1024)\n                    .throughputInMibps(24.0)\n                    .protocols(\"NFSv4.1\")\n                    .securityStyle(\"unix\")\n                    .snapshotDirectoryVisible(false)\n                    .exportPolicyRules(VolumeGroupSapHanaVolumeExportPolicyRuleArgs.builder()\n                        .ruleIndex(1)\n                        .allowedClients(\"0.0.0.0/0\")\n                        .nfsv3Enabled(false)\n                        .nfsv41Enabled(true)\n                        .unixReadOnly(false)\n                        .unixReadWrite(true)\n                        .rootAccessEnabled(false)\n                        .build())\n                    .build())\n            .build(), CustomResourceOptions.builder()\n                .dependsOn(                \n                    exampleLinuxVirtualMachine,\n                    examplePlacementGroup)\n                .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: random:String\n    properties:\n      length: 12\n      special: true\n  exampleResourceGroup:\n    type: azure:core:ResourceGroup\n    name: example\n    properties:\n      name: ${prefix}-resources\n      location: ${location}\n  exampleVirtualNetwork:\n    type: azure:network:VirtualNetwork\n    name: example\n    properties:\n      name: ${prefix}-vnet\n      location: ${exampleResourceGroup.location}\n      resourceGroupName: ${exampleResourceGroup.name}\n      addressSpaces:\n        - 10.88.0.0/16\n  exampleSubnet:\n    type: azure:network:Subnet\n    name: example\n    properties:\n      name: ${prefix}-delegated-subnet\n      resourceGroupName: ${exampleResourceGroup.name}\n      virtualNetworkName: ${exampleVirtualNetwork.name}\n      addressPrefixes:\n        - 10.88.2.0/24\n      delegations:\n        - name: testdelegation\n          serviceDelegation:\n            name: Microsoft.Netapp/volumes\n            actions:\n              - Microsoft.Network/networkinterfaces/*\n              - Microsoft.Network/virtualNetworks/subnets/join/action\n  example1:\n    type: azure:network:Subnet\n    properties:\n      name: ${prefix}-hosts-subnet\n      resourceGroupName: ${exampleResourceGroup.name}\n      virtualNetworkName: ${exampleVirtualNetwork.name}\n      addressPrefixes:\n        - 10.88.1.0/24\n  examplePlacementGroup:\n    type: azure:proximity:PlacementGroup\n    name: example\n    properties:\n      name: ${prefix}-ppg\n      location: ${exampleResourceGroup.location}\n      resourceGroupName: ${exampleResourceGroup.name}\n  exampleAvailabilitySet:\n    type: azure:compute:AvailabilitySet\n    name: example\n    properties:\n      name: ${prefix}-avset\n      location: ${exampleResourceGroup.location}\n      resourceGroupName: ${exampleResourceGroup.name}\n      proximityPlacementGroupId: ${examplePlacementGroup.id}\n  exampleNetworkInterface:\n    type: azure:network:NetworkInterface\n    name: example\n    properties:\n      name: ${prefix}-nic\n      resourceGroupName: ${exampleResourceGroup.name}\n      location: ${exampleResourceGroup.location}\n      ipConfigurations:\n        - name: internal\n          subnetId: ${example1.id}\n          privateIpAddressAllocation: Dynamic\n  exampleLinuxVirtualMachine:\n    type: azure:compute:LinuxVirtualMachine\n    name: example\n    properties:\n      name: ${prefix}-vm\n      resourceGroupName: ${exampleResourceGroup.name}\n      location: ${exampleResourceGroup.location}\n      size: Standard_M8ms\n      adminUsername: ${adminUsername}\n      adminPassword: ${adminPassword}\n      disablePasswordAuthentication: false\n      proximityPlacementGroupId: ${examplePlacementGroup.id}\n      availabilitySetId: ${exampleAvailabilitySet.id}\n      networkInterfaceIds:\n        - ${exampleNetworkInterface.id}\n      sourceImageReference:\n        publisher: Canonical\n        offer: 0001-com-ubuntu-server-jammy\n        sku: 22_04-lts\n        version: latest\n      osDisk:\n        storageAccountType: Standard_LRS\n        caching: ReadWrite\n  exampleAccount:\n    type: azure:netapp:Account\n    name: example\n    properties:\n      name: ${prefix}-netapp-account\n      location: ${exampleResourceGroup.location}\n      resourceGroupName: ${exampleResourceGroup.name}\n    options:\n      dependsOn:\n        - ${exampleSubnet}\n        - ${example1}\n  examplePool:\n    type: azure:netapp:Pool\n    name: example\n    properties:\n      name: ${prefix}-netapp-pool\n      location: ${exampleResourceGroup.location}\n      resourceGroupName: ${exampleResourceGroup.name}\n      accountName: ${exampleAccount.name}\n      serviceLevel: Standard\n      sizeInTb: 8\n      qosType: Manual\n  exampleVolumeGroupSapHana:\n    type: azure:netapp:VolumeGroupSapHana\n    name: example\n    properties:\n      name: ${prefix}-netapp-volumegroup\n      location: ${exampleResourceGroup.location}\n      resourceGroupName: ${exampleResourceGroup.name}\n      accountName: ${exampleAccount.name}\n      groupDescription: Test volume group\n      applicationIdentifier: TST\n      volumes:\n        - name: ${prefix}-netapp-volume-1\n          volumePath: my-unique-file-path-1\n          serviceLevel: Standard\n          capacityPoolId: ${examplePool.id}\n          subnetId: ${exampleSubnet.id}\n          proximityPlacementGroupId: ${examplePlacementGroup.id}\n          volumeSpecName: data\n          storageQuotaInGb: 1024\n          throughputInMibps: 24\n          protocols: NFSv4.1\n          securityStyle: unix\n          snapshotDirectoryVisible: false\n          exportPolicyRules:\n            - ruleIndex: 1\n              allowedClients: 0.0.0.0/0\n              nfsv3Enabled: false\n              nfsv41Enabled: true\n              unixReadOnly: false\n              unixReadWrite: true\n              rootAccessEnabled: false\n          tags:\n            foo: bar\n        - name: ${prefix}-netapp-volume-2\n          volumePath: my-unique-file-path-2\n          serviceLevel: Standard\n          capacityPoolId: ${examplePool.id}\n          subnetId: ${exampleSubnet.id}\n          proximityPlacementGroupId: ${examplePlacementGroup.id}\n          volumeSpecName: log\n          storageQuotaInGb: 1024\n          throughputInMibps: 24\n          protocols: NFSv4.1\n          securityStyle: unix\n          snapshotDirectoryVisible: false\n          exportPolicyRules:\n            - ruleIndex: 1\n              allowedClients: 0.0.0.0/0\n              nfsv3Enabled: false\n              nfsv41Enabled: true\n              unixReadOnly: false\n              unixReadWrite: true\n              rootAccessEnabled: false\n          tags:\n            foo: bar\n        - name: ${prefix}-netapp-volume-3\n          volumePath: my-unique-file-path-3\n          serviceLevel: Standard\n          capacityPoolId: ${examplePool.id}\n          subnetId: ${exampleSubnet.id}\n          proximityPlacementGroupId: ${examplePlacementGroup.id}\n          volumeSpecName: shared\n          storageQuotaInGb: 1024\n          throughputInMibps: 24\n          protocols: NFSv4.1\n          securityStyle: unix\n          snapshotDirectoryVisible: false\n          exportPolicyRules:\n            - ruleIndex: 1\n              allowedClients: 0.0.0.0/0\n              nfsv3Enabled: false\n              nfsv41Enabled: true\n              unixReadOnly: false\n              unixReadWrite: true\n              rootAccessEnabled: false\n    options:\n      dependsOn:\n        - ${exampleLinuxVirtualMachine}\n        - ${examplePlacementGroup}\nvariables:\n  adminUsername: exampleadmin\n  adminPassword: ${example.result}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Example with Availability Zone and Customer-Managed Keys\n\nThis example demonstrates using availability zones instead of proximity placement groups, with customer-managed key encryption and Standard network features.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst current = azure.core.getClientConfig({});\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: `${prefix}-resources`,\n    location: location,\n});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"example\", {\n    name: `${prefix}-vnet`,\n    location: example.location,\n    resourceGroupName: example.name,\n    addressSpaces: [\"10.88.0.0/16\"],\n});\nconst exampleDelegated = new azure.network.Subnet(\"example_delegated\", {\n    name: `${prefix}-delegated-subnet`,\n    resourceGroupName: example.name,\n    virtualNetworkName: exampleVirtualNetwork.name,\n    addressPrefixes: [\"10.88.1.0/24\"],\n    delegations: [{\n        name: \"netapp\",\n        serviceDelegation: {\n            name: \"Microsoft.Netapp/volumes\",\n            actions: [\n                \"Microsoft.Network/networkinterfaces/*\",\n                \"Microsoft.Network/virtualNetworks/subnets/join/action\",\n            ],\n        },\n    }],\n});\nconst examplePrivateEndpoint = new azure.network.Subnet(\"example_private_endpoint\", {\n    name: `${prefix}-pe-subnet`,\n    resourceGroupName: example.name,\n    virtualNetworkName: exampleVirtualNetwork.name,\n    addressPrefixes: [\"10.88.2.0/24\"],\n});\nconst exampleAccount = new azure.netapp.Account(\"example\", {\n    name: `${prefix}-netapp-account`,\n    location: example.location,\n    resourceGroupName: example.name,\n    identity: {\n        type: \"SystemAssigned\",\n    },\n});\nconst exampleKeyVault = new azure.keyvault.KeyVault(\"example\", {\n    name: `${prefix}kv`,\n    location: example.location,\n    resourceGroupName: example.name,\n    tenantId: current.then(current =\u003e current.tenantId),\n    skuName: \"standard\",\n    purgeProtectionEnabled: true,\n    softDeleteRetentionDays: 7,\n    enabledForDiskEncryption: true,\n    enabledForDeployment: true,\n    enabledForTemplateDeployment: true,\n    accessPolicies: [\n        {\n            tenantId: current.then(current =\u003e current.tenantId),\n            objectId: current.then(current =\u003e current.objectId),\n            keyPermissions: [\n                \"Get\",\n                \"Create\",\n                \"Delete\",\n                \"WrapKey\",\n                \"UnwrapKey\",\n                \"GetRotationPolicy\",\n                \"SetRotationPolicy\",\n            ],\n        },\n        {\n            tenantId: exampleAccount.identity.apply(identity =\u003e identity?.tenantId),\n            objectId: exampleAccount.identity.apply(identity =\u003e identity?.principalId),\n            keyPermissions: [\n                \"Get\",\n                \"Encrypt\",\n                \"Decrypt\",\n            ],\n        },\n    ],\n});\nconst exampleKey = new azure.keyvault.Key(\"example\", {\n    name: `${prefix}-key`,\n    keyVaultId: exampleKeyVault.id,\n    keyType: \"RSA\",\n    keySize: 2048,\n    keyOpts: [\n        \"decrypt\",\n        \"encrypt\",\n        \"sign\",\n        \"unwrapKey\",\n        \"verify\",\n        \"wrapKey\",\n    ],\n});\nconst exampleAccountEncryption = new azure.netapp.AccountEncryption(\"example\", {\n    netappAccountId: exampleAccount.id,\n    systemAssignedIdentityPrincipalId: exampleAccount.identity.apply(identity =\u003e identity?.principalId),\n    encryptionKey: exampleKey.versionlessId,\n});\nconst exampleEndpoint = new azure.privatelink.Endpoint(\"example\", {\n    name: `${prefix}-pe-kv`,\n    location: example.location,\n    resourceGroupName: example.name,\n    subnetId: examplePrivateEndpoint.id,\n    privateServiceConnection: {\n        name: `${prefix}-pe-sc-kv`,\n        privateConnectionResourceId: exampleKeyVault.id,\n        isManualConnection: false,\n        subresourceNames: [\"Vault\"],\n    },\n});\nconst examplePool = new azure.netapp.Pool(\"example\", {\n    name: `${prefix}-netapp-pool`,\n    location: example.location,\n    resourceGroupName: example.name,\n    accountName: exampleAccount.name,\n    serviceLevel: \"Standard\",\n    sizeInTb: 8,\n    qosType: \"Manual\",\n}, {\n    dependsOn: [exampleAccountEncryption],\n});\nconst exampleVolumeGroupSapHana = new azure.netapp.VolumeGroupSapHana(\"example\", {\n    name: `${prefix}-netapp-volumegroup`,\n    location: example.location,\n    resourceGroupName: example.name,\n    accountName: exampleAccount.name,\n    groupDescription: \"Test volume group with zone and CMK\",\n    applicationIdentifier: \"TST\",\n    volumes: [\n        {\n            name: `${prefix}-netapp-volume-data`,\n            volumePath: \"my-unique-file-path-data\",\n            serviceLevel: \"Standard\",\n            capacityPoolId: examplePool.id,\n            subnetId: exampleDelegated.id,\n            zone: \"1\",\n            volumeSpecName: \"data\",\n            storageQuotaInGb: 1024,\n            throughputInMibps: 24,\n            protocols: \"NFSv4.1\",\n            securityStyle: \"unix\",\n            snapshotDirectoryVisible: false,\n            networkFeatures: \"Standard\",\n            encryptionKeySource: \"Microsoft.KeyVault\",\n            keyVaultPrivateEndpointId: exampleEndpoint.id,\n            exportPolicyRules: [{\n                ruleIndex: 1,\n                allowedClients: \"0.0.0.0/0\",\n                nfsv3Enabled: false,\n                nfsv41Enabled: true,\n                unixReadOnly: false,\n                unixReadWrite: true,\n                rootAccessEnabled: false,\n            }],\n        },\n        {\n            name: `${prefix}-netapp-volume-log`,\n            volumePath: \"my-unique-file-path-log\",\n            serviceLevel: \"Standard\",\n            capacityPoolId: examplePool.id,\n            subnetId: exampleDelegated.id,\n            zone: \"1\",\n            volumeSpecName: \"log\",\n            storageQuotaInGb: 1024,\n            throughputInMibps: 24,\n            protocols: \"NFSv4.1\",\n            securityStyle: \"unix\",\n            snapshotDirectoryVisible: false,\n            networkFeatures: \"Standard\",\n            encryptionKeySource: \"Microsoft.KeyVault\",\n            keyVaultPrivateEndpointId: exampleEndpoint.id,\n            exportPolicyRules: [{\n                ruleIndex: 1,\n                allowedClients: \"0.0.0.0/0\",\n                nfsv3Enabled: false,\n                nfsv41Enabled: true,\n                unixReadOnly: false,\n                unixReadWrite: true,\n                rootAccessEnabled: false,\n            }],\n        },\n        {\n            name: `${prefix}-netapp-volume-shared`,\n            volumePath: \"my-unique-file-path-shared\",\n            serviceLevel: \"Standard\",\n            capacityPoolId: examplePool.id,\n            subnetId: exampleDelegated.id,\n            zone: \"1\",\n            volumeSpecName: \"shared\",\n            storageQuotaInGb: 1024,\n            throughputInMibps: 24,\n            protocols: \"NFSv4.1\",\n            securityStyle: \"unix\",\n            snapshotDirectoryVisible: false,\n            networkFeatures: \"Standard\",\n            encryptionKeySource: \"Microsoft.KeyVault\",\n            keyVaultPrivateEndpointId: exampleEndpoint.id,\n            exportPolicyRules: [{\n                ruleIndex: 1,\n                allowedClients: \"0.0.0.0/0\",\n                nfsv3Enabled: false,\n                nfsv41Enabled: true,\n                unixReadOnly: false,\n                unixReadWrite: true,\n                rootAccessEnabled: false,\n            }],\n        },\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\ncurrent = azure.core.get_client_config()\nexample = azure.core.ResourceGroup(\"example\",\n    name=f\"{prefix}-resources\",\n    location=location)\nexample_virtual_network = azure.network.VirtualNetwork(\"example\",\n    name=f\"{prefix}-vnet\",\n    location=example.location,\n    resource_group_name=example.name,\n    address_spaces=[\"10.88.0.0/16\"])\nexample_delegated = azure.network.Subnet(\"example_delegated\",\n    name=f\"{prefix}-delegated-subnet\",\n    resource_group_name=example.name,\n    virtual_network_name=example_virtual_network.name,\n    address_prefixes=[\"10.88.1.0/24\"],\n    delegations=[{\n        \"name\": \"netapp\",\n        \"service_delegation\": {\n            \"name\": \"Microsoft.Netapp/volumes\",\n            \"actions\": [\n                \"Microsoft.Network/networkinterfaces/*\",\n                \"Microsoft.Network/virtualNetworks/subnets/join/action\",\n            ],\n        },\n    }])\nexample_private_endpoint = azure.network.Subnet(\"example_private_endpoint\",\n    name=f\"{prefix}-pe-subnet\",\n    resource_group_name=example.name,\n    virtual_network_name=example_virtual_network.name,\n    address_prefixes=[\"10.88.2.0/24\"])\nexample_account = azure.netapp.Account(\"example\",\n    name=f\"{prefix}-netapp-account\",\n    location=example.location,\n    resource_group_name=example.name,\n    identity={\n        \"type\": \"SystemAssigned\",\n    })\nexample_key_vault = azure.keyvault.KeyVault(\"example\",\n    name=f\"{prefix}kv\",\n    location=example.location,\n    resource_group_name=example.name,\n    tenant_id=current.tenant_id,\n    sku_name=\"standard\",\n    purge_protection_enabled=True,\n    soft_delete_retention_days=7,\n    enabled_for_disk_encryption=True,\n    enabled_for_deployment=True,\n    enabled_for_template_deployment=True,\n    access_policies=[\n        {\n            \"tenant_id\": current.tenant_id,\n            \"object_id\": current.object_id,\n            \"key_permissions\": [\n                \"Get\",\n                \"Create\",\n                \"Delete\",\n                \"WrapKey\",\n                \"UnwrapKey\",\n                \"GetRotationPolicy\",\n                \"SetRotationPolicy\",\n            ],\n        },\n        {\n            \"tenant_id\": example_account.identity.tenant_id,\n            \"object_id\": example_account.identity.principal_id,\n            \"key_permissions\": [\n                \"Get\",\n                \"Encrypt\",\n                \"Decrypt\",\n            ],\n        },\n    ])\nexample_key = azure.keyvault.Key(\"example\",\n    name=f\"{prefix}-key\",\n    key_vault_id=example_key_vault.id,\n    key_type=\"RSA\",\n    key_size=2048,\n    key_opts=[\n        \"decrypt\",\n        \"encrypt\",\n        \"sign\",\n        \"unwrapKey\",\n        \"verify\",\n        \"wrapKey\",\n    ])\nexample_account_encryption = azure.netapp.AccountEncryption(\"example\",\n    netapp_account_id=example_account.id,\n    system_assigned_identity_principal_id=example_account.identity.principal_id,\n    encryption_key=example_key.versionless_id)\nexample_endpoint = azure.privatelink.Endpoint(\"example\",\n    name=f\"{prefix}-pe-kv\",\n    location=example.location,\n    resource_group_name=example.name,\n    subnet_id=example_private_endpoint.id,\n    private_service_connection={\n        \"name\": f\"{prefix}-pe-sc-kv\",\n        \"private_connection_resource_id\": example_key_vault.id,\n        \"is_manual_connection\": False,\n        \"subresource_names\": [\"Vault\"],\n    })\nexample_pool = azure.netapp.Pool(\"example\",\n    name=f\"{prefix}-netapp-pool\",\n    location=example.location,\n    resource_group_name=example.name,\n    account_name=example_account.name,\n    service_level=\"Standard\",\n    size_in_tb=8,\n    qos_type=\"Manual\",\n    opts = pulumi.ResourceOptions(depends_on=[example_account_encryption]))\nexample_volume_group_sap_hana = azure.netapp.VolumeGroupSapHana(\"example\",\n    name=f\"{prefix}-netapp-volumegroup\",\n    location=example.location,\n    resource_group_name=example.name,\n    account_name=example_account.name,\n    group_description=\"Test volume group with zone and CMK\",\n    application_identifier=\"TST\",\n    volumes=[\n        {\n            \"name\": f\"{prefix}-netapp-volume-data\",\n            \"volume_path\": \"my-unique-file-path-data\",\n            \"service_level\": \"Standard\",\n            \"capacity_pool_id\": example_pool.id,\n            \"subnet_id\": example_delegated.id,\n            \"zone\": \"1\",\n            \"volume_spec_name\": \"data\",\n            \"storage_quota_in_gb\": 1024,\n            \"throughput_in_mibps\": 24,\n            \"protocols\": \"NFSv4.1\",\n            \"security_style\": \"unix\",\n            \"snapshot_directory_visible\": False,\n            \"network_features\": \"Standard\",\n            \"encryption_key_source\": \"Microsoft.KeyVault\",\n            \"key_vault_private_endpoint_id\": example_endpoint.id,\n            \"export_policy_rules\": [{\n                \"rule_index\": 1,\n                \"allowed_clients\": \"0.0.0.0/0\",\n                \"nfsv3_enabled\": False,\n                \"nfsv41_enabled\": True,\n                \"unix_read_only\": False,\n                \"unix_read_write\": True,\n                \"root_access_enabled\": False,\n            }],\n        },\n        {\n            \"name\": f\"{prefix}-netapp-volume-log\",\n            \"volume_path\": \"my-unique-file-path-log\",\n            \"service_level\": \"Standard\",\n            \"capacity_pool_id\": example_pool.id,\n            \"subnet_id\": example_delegated.id,\n            \"zone\": \"1\",\n            \"volume_spec_name\": \"log\",\n            \"storage_quota_in_gb\": 1024,\n            \"throughput_in_mibps\": 24,\n            \"protocols\": \"NFSv4.1\",\n            \"security_style\": \"unix\",\n            \"snapshot_directory_visible\": False,\n            \"network_features\": \"Standard\",\n            \"encryption_key_source\": \"Microsoft.KeyVault\",\n            \"key_vault_private_endpoint_id\": example_endpoint.id,\n            \"export_policy_rules\": [{\n                \"rule_index\": 1,\n                \"allowed_clients\": \"0.0.0.0/0\",\n                \"nfsv3_enabled\": False,\n                \"nfsv41_enabled\": True,\n                \"unix_read_only\": False,\n                \"unix_read_write\": True,\n                \"root_access_enabled\": False,\n            }],\n        },\n        {\n            \"name\": f\"{prefix}-netapp-volume-shared\",\n            \"volume_path\": \"my-unique-file-path-shared\",\n            \"service_level\": \"Standard\",\n            \"capacity_pool_id\": example_pool.id,\n            \"subnet_id\": example_delegated.id,\n            \"zone\": \"1\",\n            \"volume_spec_name\": \"shared\",\n            \"storage_quota_in_gb\": 1024,\n            \"throughput_in_mibps\": 24,\n            \"protocols\": \"NFSv4.1\",\n            \"security_style\": \"unix\",\n            \"snapshot_directory_visible\": False,\n            \"network_features\": \"Standard\",\n            \"encryption_key_source\": \"Microsoft.KeyVault\",\n            \"key_vault_private_endpoint_id\": example_endpoint.id,\n            \"export_policy_rules\": [{\n                \"rule_index\": 1,\n                \"allowed_clients\": \"0.0.0.0/0\",\n                \"nfsv3_enabled\": False,\n                \"nfsv41_enabled\": True,\n                \"unix_read_only\": False,\n                \"unix_read_write\": True,\n                \"root_access_enabled\": False,\n            }],\n        },\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var current = Azure.Core.GetClientConfig.Invoke();\n\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = $\"{prefix}-resources\",\n        Location = location,\n    });\n\n    var exampleVirtualNetwork = new Azure.Network.VirtualNetwork(\"example\", new()\n    {\n        Name = $\"{prefix}-vnet\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        AddressSpaces = new[]\n        {\n            \"10.88.0.0/16\",\n        },\n    });\n\n    var exampleDelegated = new Azure.Network.Subnet(\"example_delegated\", new()\n    {\n        Name = $\"{prefix}-delegated-subnet\",\n        ResourceGroupName = example.Name,\n        VirtualNetworkName = exampleVirtualNetwork.Name,\n        AddressPrefixes = new[]\n        {\n            \"10.88.1.0/24\",\n        },\n        Delegations = new[]\n        {\n            new Azure.Network.Inputs.SubnetDelegationArgs\n            {\n                Name = \"netapp\",\n                ServiceDelegation = new Azure.Network.Inputs.SubnetDelegationServiceDelegationArgs\n                {\n                    Name = \"Microsoft.Netapp/volumes\",\n                    Actions = new[]\n                    {\n                        \"Microsoft.Network/networkinterfaces/*\",\n                        \"Microsoft.Network/virtualNetworks/subnets/join/action\",\n                    },\n                },\n            },\n        },\n    });\n\n    var examplePrivateEndpoint = new Azure.Network.Subnet(\"example_private_endpoint\", new()\n    {\n        Name = $\"{prefix}-pe-subnet\",\n        ResourceGroupName = example.Name,\n        VirtualNetworkName = exampleVirtualNetwork.Name,\n        AddressPrefixes = new[]\n        {\n            \"10.88.2.0/24\",\n        },\n    });\n\n    var exampleAccount = new Azure.NetApp.Account(\"example\", new()\n    {\n        Name = $\"{prefix}-netapp-account\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Identity = new Azure.NetApp.Inputs.AccountIdentityArgs\n        {\n            Type = \"SystemAssigned\",\n        },\n    });\n\n    var exampleKeyVault = new Azure.KeyVault.KeyVault(\"example\", new()\n    {\n        Name = $\"{prefix}kv\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        TenantId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.TenantId),\n        SkuName = \"standard\",\n        PurgeProtectionEnabled = true,\n        SoftDeleteRetentionDays = 7,\n        EnabledForDiskEncryption = true,\n        EnabledForDeployment = true,\n        EnabledForTemplateDeployment = true,\n        AccessPolicies = new[]\n        {\n            new Azure.KeyVault.Inputs.KeyVaultAccessPolicyArgs\n            {\n                TenantId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.TenantId),\n                ObjectId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.ObjectId),\n                KeyPermissions = new[]\n                {\n                    \"Get\",\n                    \"Create\",\n                    \"Delete\",\n                    \"WrapKey\",\n                    \"UnwrapKey\",\n                    \"GetRotationPolicy\",\n                    \"SetRotationPolicy\",\n                },\n            },\n            new Azure.KeyVault.Inputs.KeyVaultAccessPolicyArgs\n            {\n                TenantId = exampleAccount.Identity.Apply(identity =\u003e identity?.TenantId),\n                ObjectId = exampleAccount.Identity.Apply(identity =\u003e identity?.PrincipalId),\n                KeyPermissions = new[]\n                {\n                    \"Get\",\n                    \"Encrypt\",\n                    \"Decrypt\",\n                },\n            },\n        },\n    });\n\n    var exampleKey = new Azure.KeyVault.Key(\"example\", new()\n    {\n        Name = $\"{prefix}-key\",\n        KeyVaultId = exampleKeyVault.Id,\n        KeyType = \"RSA\",\n        KeySize = 2048,\n        KeyOpts = new[]\n        {\n            \"decrypt\",\n            \"encrypt\",\n            \"sign\",\n            \"unwrapKey\",\n            \"verify\",\n            \"wrapKey\",\n        },\n    });\n\n    var exampleAccountEncryption = new Azure.NetApp.AccountEncryption(\"example\", new()\n    {\n        NetappAccountId = exampleAccount.Id,\n        SystemAssignedIdentityPrincipalId = exampleAccount.Identity.Apply(identity =\u003e identity?.PrincipalId),\n        EncryptionKey = exampleKey.VersionlessId,\n    });\n\n    var exampleEndpoint = new Azure.PrivateLink.Endpoint(\"example\", new()\n    {\n        Name = $\"{prefix}-pe-kv\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        SubnetId = examplePrivateEndpoint.Id,\n        PrivateServiceConnection = new Azure.PrivateLink.Inputs.EndpointPrivateServiceConnectionArgs\n        {\n            Name = $\"{prefix}-pe-sc-kv\",\n            PrivateConnectionResourceId = exampleKeyVault.Id,\n            IsManualConnection = false,\n            SubresourceNames = new[]\n            {\n                \"Vault\",\n            },\n        },\n    });\n\n    var examplePool = new Azure.NetApp.Pool(\"example\", new()\n    {\n        Name = $\"{prefix}-netapp-pool\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        AccountName = exampleAccount.Name,\n        ServiceLevel = \"Standard\",\n        SizeInTb = 8,\n        QosType = \"Manual\",\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            exampleAccountEncryption,\n        },\n    });\n\n    var exampleVolumeGroupSapHana = new Azure.NetApp.VolumeGroupSapHana(\"example\", new()\n    {\n        Name = $\"{prefix}-netapp-volumegroup\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        AccountName = exampleAccount.Name,\n        GroupDescription = \"Test volume group with zone and CMK\",\n        ApplicationIdentifier = \"TST\",\n        Volumes = new[]\n        {\n            new Azure.NetApp.Inputs.VolumeGroupSapHanaVolumeArgs\n            {\n                Name = $\"{prefix}-netapp-volume-data\",\n                VolumePath = \"my-unique-file-path-data\",\n                ServiceLevel = \"Standard\",\n                CapacityPoolId = examplePool.Id,\n                SubnetId = exampleDelegated.Id,\n                Zone = \"1\",\n                VolumeSpecName = \"data\",\n                StorageQuotaInGb = 1024,\n                ThroughputInMibps = 24,\n                Protocols = \"NFSv4.1\",\n                SecurityStyle = \"unix\",\n                SnapshotDirectoryVisible = false,\n                NetworkFeatures = \"Standard\",\n                EncryptionKeySource = \"Microsoft.KeyVault\",\n                KeyVaultPrivateEndpointId = exampleEndpoint.Id,\n                ExportPolicyRules = new[]\n                {\n                    new Azure.NetApp.Inputs.VolumeGroupSapHanaVolumeExportPolicyRuleArgs\n                    {\n                        RuleIndex = 1,\n                        AllowedClients = \"0.0.0.0/0\",\n                        Nfsv3Enabled = false,\n                        Nfsv41Enabled = true,\n                        UnixReadOnly = false,\n                        UnixReadWrite = true,\n                        RootAccessEnabled = false,\n                    },\n                },\n            },\n            new Azure.NetApp.Inputs.VolumeGroupSapHanaVolumeArgs\n            {\n                Name = $\"{prefix}-netapp-volume-log\",\n                VolumePath = \"my-unique-file-path-log\",\n                ServiceLevel = \"Standard\",\n                CapacityPoolId = examplePool.Id,\n                SubnetId = exampleDelegated.Id,\n                Zone = \"1\",\n                VolumeSpecName = \"log\",\n                StorageQuotaInGb = 1024,\n                ThroughputInMibps = 24,\n                Protocols = \"NFSv4.1\",\n                SecurityStyle = \"unix\",\n                SnapshotDirectoryVisible = false,\n                NetworkFeatures = \"Standard\",\n                EncryptionKeySource = \"Microsoft.KeyVault\",\n                KeyVaultPrivateEndpointId = exampleEndpoint.Id,\n                ExportPolicyRules = new[]\n                {\n                    new Azure.NetApp.Inputs.VolumeGroupSapHanaVolumeExportPolicyRuleArgs\n                    {\n                        RuleIndex = 1,\n                        AllowedClients = \"0.0.0.0/0\",\n                        Nfsv3Enabled = false,\n                        Nfsv41Enabled = true,\n                        UnixReadOnly = false,\n                        UnixReadWrite = true,\n                        RootAccessEnabled = false,\n                    },\n                },\n            },\n            new Azure.NetApp.Inputs.VolumeGroupSapHanaVolumeArgs\n            {\n                Name = $\"{prefix}-netapp-volume-shared\",\n                VolumePath = \"my-unique-file-path-shared\",\n                ServiceLevel = \"Standard\",\n                CapacityPoolId = examplePool.Id,\n                SubnetId = exampleDelegated.Id,\n                Zone = \"1\",\n                VolumeSpecName = \"shared\",\n                StorageQuotaInGb = 1024,\n                ThroughputInMibps = 24,\n                Protocols = \"NFSv4.1\",\n                SecurityStyle = \"unix\",\n                SnapshotDirectoryVisible = false,\n                NetworkFeatures = \"Standard\",\n                EncryptionKeySource = \"Microsoft.KeyVault\",\n                KeyVaultPrivateEndpointId = exampleEndpoint.Id,\n                ExportPolicyRules = new[]\n                {\n                    new Azure.NetApp.Inputs.VolumeGroupSapHanaVolumeExportPolicyRuleArgs\n                    {\n                        RuleIndex = 1,\n                        AllowedClients = \"0.0.0.0/0\",\n                        Nfsv3Enabled = false,\n                        Nfsv41Enabled = true,\n                        UnixReadOnly = false,\n                        UnixReadWrite = true,\n                        RootAccessEnabled = false,\n                    },\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/keyvault\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/netapp\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/privatelink\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := core.GetClientConfig(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.Sprintf(\"%v-resources\", prefix),\n\t\t\tLocation: pulumi.Any(location),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, \"example\", \u0026network.VirtualNetworkArgs{\n\t\t\tName:              pulumi.Sprintf(\"%v-vnet\", prefix),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tAddressSpaces: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.88.0.0/16\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleDelegated, err := network.NewSubnet(ctx, \"example_delegated\", \u0026network.SubnetArgs{\n\t\t\tName:               pulumi.Sprintf(\"%v-delegated-subnet\", prefix),\n\t\t\tResourceGroupName:  example.Name,\n\t\t\tVirtualNetworkName: exampleVirtualNetwork.Name,\n\t\t\tAddressPrefixes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.88.1.0/24\"),\n\t\t\t},\n\t\t\tDelegations: network.SubnetDelegationArray{\n\t\t\t\t\u0026network.SubnetDelegationArgs{\n\t\t\t\t\tName: pulumi.String(\"netapp\"),\n\t\t\t\t\tServiceDelegation: \u0026network.SubnetDelegationServiceDelegationArgs{\n\t\t\t\t\t\tName: pulumi.String(\"Microsoft.Netapp/volumes\"),\n\t\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"Microsoft.Network/networkinterfaces/*\"),\n\t\t\t\t\t\t\tpulumi.String(\"Microsoft.Network/virtualNetworks/subnets/join/action\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texamplePrivateEndpoint, err := network.NewSubnet(ctx, \"example_private_endpoint\", \u0026network.SubnetArgs{\n\t\t\tName:               pulumi.Sprintf(\"%v-pe-subnet\", prefix),\n\t\t\tResourceGroupName:  example.Name,\n\t\t\tVirtualNetworkName: exampleVirtualNetwork.Name,\n\t\t\tAddressPrefixes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.88.2.0/24\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := netapp.NewAccount(ctx, \"example\", \u0026netapp.AccountArgs{\n\t\t\tName:              pulumi.Sprintf(\"%v-netapp-account\", prefix),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tIdentity: \u0026netapp.AccountIdentityArgs{\n\t\t\t\tType: pulumi.String(\"SystemAssigned\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleKeyVault, err := keyvault.NewKeyVault(ctx, \"example\", \u0026keyvault.KeyVaultArgs{\n\t\t\tName:                         pulumi.Sprintf(\"%vkv\", prefix),\n\t\t\tLocation:                     example.Location,\n\t\t\tResourceGroupName:            example.Name,\n\t\t\tTenantId:                     pulumi.String(current.TenantId),\n\t\t\tSkuName:                      pulumi.String(\"standard\"),\n\t\t\tPurgeProtectionEnabled:       pulumi.Bool(true),\n\t\t\tSoftDeleteRetentionDays:      pulumi.Int(7),\n\t\t\tEnabledForDiskEncryption:     pulumi.Bool(true),\n\t\t\tEnabledForDeployment:         pulumi.Bool(true),\n\t\t\tEnabledForTemplateDeployment: pulumi.Bool(true),\n\t\t\tAccessPolicies: keyvault.KeyVaultAccessPolicyArray{\n\t\t\t\t\u0026keyvault.KeyVaultAccessPolicyArgs{\n\t\t\t\t\tTenantId: pulumi.String(current.TenantId),\n\t\t\t\t\tObjectId: pulumi.String(current.ObjectId),\n\t\t\t\t\tKeyPermissions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"Get\"),\n\t\t\t\t\t\tpulumi.String(\"Create\"),\n\t\t\t\t\t\tpulumi.String(\"Delete\"),\n\t\t\t\t\t\tpulumi.String(\"WrapKey\"),\n\t\t\t\t\t\tpulumi.String(\"UnwrapKey\"),\n\t\t\t\t\t\tpulumi.String(\"GetRotationPolicy\"),\n\t\t\t\t\t\tpulumi.String(\"SetRotationPolicy\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026keyvault.KeyVaultAccessPolicyArgs{\n\t\t\t\t\tTenantId: exampleAccount.Identity.ApplyT(func(identity netapp.AccountIdentity) (*string, error) {\n\t\t\t\t\t\treturn \u0026identity.TenantId, nil\n\t\t\t\t\t}).(pulumi.StringPtrOutput),\n\t\t\t\t\tObjectId: exampleAccount.Identity.ApplyT(func(identity netapp.AccountIdentity) (*string, error) {\n\t\t\t\t\t\treturn \u0026identity.PrincipalId, nil\n\t\t\t\t\t}).(pulumi.StringPtrOutput),\n\t\t\t\t\tKeyPermissions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"Get\"),\n\t\t\t\t\t\tpulumi.String(\"Encrypt\"),\n\t\t\t\t\t\tpulumi.String(\"Decrypt\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleKey, err := keyvault.NewKey(ctx, \"example\", \u0026keyvault.KeyArgs{\n\t\t\tName:       pulumi.Sprintf(\"%v-key\", prefix),\n\t\t\tKeyVaultId: exampleKeyVault.ID(),\n\t\t\tKeyType:    pulumi.String(\"RSA\"),\n\t\t\tKeySize:    pulumi.Int(2048),\n\t\t\tKeyOpts: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"decrypt\"),\n\t\t\t\tpulumi.String(\"encrypt\"),\n\t\t\t\tpulumi.String(\"sign\"),\n\t\t\t\tpulumi.String(\"unwrapKey\"),\n\t\t\t\tpulumi.String(\"verify\"),\n\t\t\t\tpulumi.String(\"wrapKey\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccountEncryption, err := netapp.NewAccountEncryption(ctx, \"example\", \u0026netapp.AccountEncryptionArgs{\n\t\t\tNetappAccountId: exampleAccount.ID(),\n\t\t\tSystemAssignedIdentityPrincipalId: pulumi.String(exampleAccount.Identity.ApplyT(func(identity netapp.AccountIdentity) (*string, error) {\n\t\t\t\treturn \u0026identity.PrincipalId, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tEncryptionKey: exampleKey.VersionlessId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleEndpoint, err := privatelink.NewEndpoint(ctx, \"example\", \u0026privatelink.EndpointArgs{\n\t\t\tName:              pulumi.Sprintf(\"%v-pe-kv\", prefix),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSubnetId:          examplePrivateEndpoint.ID(),\n\t\t\tPrivateServiceConnection: \u0026privatelink.EndpointPrivateServiceConnectionArgs{\n\t\t\t\tName:                        pulumi.Sprintf(\"%v-pe-sc-kv\", prefix),\n\t\t\t\tPrivateConnectionResourceId: exampleKeyVault.ID(),\n\t\t\t\tIsManualConnection:          pulumi.Bool(false),\n\t\t\t\tSubresourceNames: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"Vault\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texamplePool, err := netapp.NewPool(ctx, \"example\", \u0026netapp.PoolArgs{\n\t\t\tName:              pulumi.Sprintf(\"%v-netapp-pool\", prefix),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tAccountName:       exampleAccount.Name,\n\t\t\tServiceLevel:      pulumi.String(\"Standard\"),\n\t\t\tSizeInTb:          pulumi.Int(8),\n\t\t\tQosType:           pulumi.String(\"Manual\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleAccountEncryption,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = netapp.NewVolumeGroupSapHana(ctx, \"example\", \u0026netapp.VolumeGroupSapHanaArgs{\n\t\t\tName:                  pulumi.Sprintf(\"%v-netapp-volumegroup\", prefix),\n\t\t\tLocation:              example.Location,\n\t\t\tResourceGroupName:     example.Name,\n\t\t\tAccountName:           exampleAccount.Name,\n\t\t\tGroupDescription:      pulumi.String(\"Test volume group with zone and CMK\"),\n\t\t\tApplicationIdentifier: pulumi.String(\"TST\"),\n\t\t\tVolumes: netapp.VolumeGroupSapHanaVolumeArray{\n\t\t\t\t\u0026netapp.VolumeGroupSapHanaVolumeArgs{\n\t\t\t\t\tName:                      pulumi.Sprintf(\"%v-netapp-volume-data\", prefix),\n\t\t\t\t\tVolumePath:                pulumi.String(\"my-unique-file-path-data\"),\n\t\t\t\t\tServiceLevel:              pulumi.String(\"Standard\"),\n\t\t\t\t\tCapacityPoolId:            examplePool.ID(),\n\t\t\t\t\tSubnetId:                  exampleDelegated.ID(),\n\t\t\t\t\tZone:                      pulumi.String(\"1\"),\n\t\t\t\t\tVolumeSpecName:            pulumi.String(\"data\"),\n\t\t\t\t\tStorageQuotaInGb:          pulumi.Int(1024),\n\t\t\t\t\tThroughputInMibps:         pulumi.Float64(24),\n\t\t\t\t\tProtocols:                 pulumi.String(\"NFSv4.1\"),\n\t\t\t\t\tSecurityStyle:             pulumi.String(\"unix\"),\n\t\t\t\t\tSnapshotDirectoryVisible:  pulumi.Bool(false),\n\t\t\t\t\tNetworkFeatures:           pulumi.String(\"Standard\"),\n\t\t\t\t\tEncryptionKeySource:       pulumi.String(\"Microsoft.KeyVault\"),\n\t\t\t\t\tKeyVaultPrivateEndpointId: exampleEndpoint.ID(),\n\t\t\t\t\tExportPolicyRules: netapp.VolumeGroupSapHanaVolumeExportPolicyRuleArray{\n\t\t\t\t\t\t\u0026netapp.VolumeGroupSapHanaVolumeExportPolicyRuleArgs{\n\t\t\t\t\t\t\tRuleIndex:         pulumi.Int(1),\n\t\t\t\t\t\t\tAllowedClients:    pulumi.String(\"0.0.0.0/0\"),\n\t\t\t\t\t\t\tNfsv3Enabled:      pulumi.Bool(false),\n\t\t\t\t\t\t\tNfsv41Enabled:     pulumi.Bool(true),\n\t\t\t\t\t\t\tUnixReadOnly:      pulumi.Bool(false),\n\t\t\t\t\t\t\tUnixReadWrite:     pulumi.Bool(true),\n\t\t\t\t\t\t\tRootAccessEnabled: pulumi.Bool(false),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026netapp.VolumeGroupSapHanaVolumeArgs{\n\t\t\t\t\tName:                      pulumi.Sprintf(\"%v-netapp-volume-log\", prefix),\n\t\t\t\t\tVolumePath:                pulumi.String(\"my-unique-file-path-log\"),\n\t\t\t\t\tServiceLevel:              pulumi.String(\"Standard\"),\n\t\t\t\t\tCapacityPoolId:            examplePool.ID(),\n\t\t\t\t\tSubnetId:                  exampleDelegated.ID(),\n\t\t\t\t\tZone:                      pulumi.String(\"1\"),\n\t\t\t\t\tVolumeSpecName:            pulumi.String(\"log\"),\n\t\t\t\t\tStorageQuotaInGb:          pulumi.Int(1024),\n\t\t\t\t\tThroughputInMibps:         pulumi.Float64(24),\n\t\t\t\t\tProtocols:                 pulumi.String(\"NFSv4.1\"),\n\t\t\t\t\tSecurityStyle:             pulumi.String(\"unix\"),\n\t\t\t\t\tSnapshotDirectoryVisible:  pulumi.Bool(false),\n\t\t\t\t\tNetworkFeatures:           pulumi.String(\"Standard\"),\n\t\t\t\t\tEncryptionKeySource:       pulumi.String(\"Microsoft.KeyVault\"),\n\t\t\t\t\tKeyVaultPrivateEndpointId: exampleEndpoint.ID(),\n\t\t\t\t\tExportPolicyRules: netapp.VolumeGroupSapHanaVolumeExportPolicyRuleArray{\n\t\t\t\t\t\t\u0026netapp.VolumeGroupSapHanaVolumeExportPolicyRuleArgs{\n\t\t\t\t\t\t\tRuleIndex:         pulumi.Int(1),\n\t\t\t\t\t\t\tAllowedClients:    pulumi.String(\"0.0.0.0/0\"),\n\t\t\t\t\t\t\tNfsv3Enabled:      pulumi.Bool(false),\n\t\t\t\t\t\t\tNfsv41Enabled:     pulumi.Bool(true),\n\t\t\t\t\t\t\tUnixReadOnly:      pulumi.Bool(false),\n\t\t\t\t\t\t\tUnixReadWrite:     pulumi.Bool(true),\n\t\t\t\t\t\t\tRootAccessEnabled: pulumi.Bool(false),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026netapp.VolumeGroupSapHanaVolumeArgs{\n\t\t\t\t\tName:                      pulumi.Sprintf(\"%v-netapp-volume-shared\", prefix),\n\t\t\t\t\tVolumePath:                pulumi.String(\"my-unique-file-path-shared\"),\n\t\t\t\t\tServiceLevel:              pulumi.String(\"Standard\"),\n\t\t\t\t\tCapacityPoolId:            examplePool.ID(),\n\t\t\t\t\tSubnetId:                  exampleDelegated.ID(),\n\t\t\t\t\tZone:                      pulumi.String(\"1\"),\n\t\t\t\t\tVolumeSpecName:            pulumi.String(\"shared\"),\n\t\t\t\t\tStorageQuotaInGb:          pulumi.Int(1024),\n\t\t\t\t\tThroughputInMibps:         pulumi.Float64(24),\n\t\t\t\t\tProtocols:                 pulumi.String(\"NFSv4.1\"),\n\t\t\t\t\tSecurityStyle:             pulumi.String(\"unix\"),\n\t\t\t\t\tSnapshotDirectoryVisible:  pulumi.Bool(false),\n\t\t\t\t\tNetworkFeatures:           pulumi.String(\"Standard\"),\n\t\t\t\t\tEncryptionKeySource:       pulumi.String(\"Microsoft.KeyVault\"),\n\t\t\t\t\tKeyVaultPrivateEndpointId: exampleEndpoint.ID(),\n\t\t\t\t\tExportPolicyRules: netapp.VolumeGroupSapHanaVolumeExportPolicyRuleArray{\n\t\t\t\t\t\t\u0026netapp.VolumeGroupSapHanaVolumeExportPolicyRuleArgs{\n\t\t\t\t\t\t\tRuleIndex:         pulumi.Int(1),\n\t\t\t\t\t\t\tAllowedClients:    pulumi.String(\"0.0.0.0/0\"),\n\t\t\t\t\t\t\tNfsv3Enabled:      pulumi.Bool(false),\n\t\t\t\t\t\t\tNfsv41Enabled:     pulumi.Bool(true),\n\t\t\t\t\t\t\tUnixReadOnly:      pulumi.Bool(false),\n\t\t\t\t\t\t\tUnixReadWrite:     pulumi.Bool(true),\n\t\t\t\t\t\t\tRootAccessEnabled: pulumi.Bool(false),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.VirtualNetwork;\nimport com.pulumi.azure.network.VirtualNetworkArgs;\nimport com.pulumi.azure.network.Subnet;\nimport com.pulumi.azure.network.SubnetArgs;\nimport com.pulumi.azure.network.inputs.SubnetDelegationArgs;\nimport com.pulumi.azure.network.inputs.SubnetDelegationServiceDelegationArgs;\nimport com.pulumi.azure.netapp.Account;\nimport com.pulumi.azure.netapp.AccountArgs;\nimport com.pulumi.azure.netapp.inputs.AccountIdentityArgs;\nimport com.pulumi.azure.keyvault.KeyVault;\nimport com.pulumi.azure.keyvault.KeyVaultArgs;\nimport com.pulumi.azure.keyvault.inputs.KeyVaultAccessPolicyArgs;\nimport com.pulumi.azure.keyvault.Key;\nimport com.pulumi.azure.keyvault.KeyArgs;\nimport com.pulumi.azure.netapp.AccountEncryption;\nimport com.pulumi.azure.netapp.AccountEncryptionArgs;\nimport com.pulumi.azure.privatelink.Endpoint;\nimport com.pulumi.azure.privatelink.EndpointArgs;\nimport com.pulumi.azure.privatelink.inputs.EndpointPrivateServiceConnectionArgs;\nimport com.pulumi.azure.netapp.Pool;\nimport com.pulumi.azure.netapp.PoolArgs;\nimport com.pulumi.azure.netapp.VolumeGroupSapHana;\nimport com.pulumi.azure.netapp.VolumeGroupSapHanaArgs;\nimport com.pulumi.azure.netapp.inputs.VolumeGroupSapHanaVolumeArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var current = CoreFunctions.getClientConfig(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(String.format(\"%s-resources\", prefix))\n            .location(location)\n            .build());\n\n        var exampleVirtualNetwork = new VirtualNetwork(\"exampleVirtualNetwork\", VirtualNetworkArgs.builder()\n            .name(String.format(\"%s-vnet\", prefix))\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .addressSpaces(\"10.88.0.0/16\")\n            .build());\n\n        var exampleDelegated = new Subnet(\"exampleDelegated\", SubnetArgs.builder()\n            .name(String.format(\"%s-delegated-subnet\", prefix))\n            .resourceGroupName(example.name())\n            .virtualNetworkName(exampleVirtualNetwork.name())\n            .addressPrefixes(\"10.88.1.0/24\")\n            .delegations(SubnetDelegationArgs.builder()\n                .name(\"netapp\")\n                .serviceDelegation(SubnetDelegationServiceDelegationArgs.builder()\n                    .name(\"Microsoft.Netapp/volumes\")\n                    .actions(                    \n                        \"Microsoft.Network/networkinterfaces/*\",\n                        \"Microsoft.Network/virtualNetworks/subnets/join/action\")\n                    .build())\n                .build())\n            .build());\n\n        var examplePrivateEndpoint = new Subnet(\"examplePrivateEndpoint\", SubnetArgs.builder()\n            .name(String.format(\"%s-pe-subnet\", prefix))\n            .resourceGroupName(example.name())\n            .virtualNetworkName(exampleVirtualNetwork.name())\n            .addressPrefixes(\"10.88.2.0/24\")\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(String.format(\"%s-netapp-account\", prefix))\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .identity(AccountIdentityArgs.builder()\n                .type(\"SystemAssigned\")\n                .build())\n            .build());\n\n        var exampleKeyVault = new KeyVault(\"exampleKeyVault\", KeyVaultArgs.builder()\n            .name(String.format(\"%skv\", prefix))\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .tenantId(current.tenantId())\n            .skuName(\"standard\")\n            .purgeProtectionEnabled(true)\n            .softDeleteRetentionDays(7)\n            .enabledForDiskEncryption(true)\n            .enabledForDeployment(true)\n            .enabledForTemplateDeployment(true)\n            .accessPolicies(            \n                KeyVaultAccessPolicyArgs.builder()\n                    .tenantId(current.tenantId())\n                    .objectId(current.objectId())\n                    .keyPermissions(                    \n                        \"Get\",\n                        \"Create\",\n                        \"Delete\",\n                        \"WrapKey\",\n                        \"UnwrapKey\",\n                        \"GetRotationPolicy\",\n                        \"SetRotationPolicy\")\n                    .build(),\n                KeyVaultAccessPolicyArgs.builder()\n                    .tenantId(exampleAccount.identity().applyValue(_identity -\u003e _identity.tenantId()))\n                    .objectId(exampleAccount.identity().applyValue(_identity -\u003e _identity.principalId()))\n                    .keyPermissions(                    \n                        \"Get\",\n                        \"Encrypt\",\n                        \"Decrypt\")\n                    .build())\n            .build());\n\n        var exampleKey = new Key(\"exampleKey\", KeyArgs.builder()\n            .name(String.format(\"%s-key\", prefix))\n            .keyVaultId(exampleKeyVault.id())\n            .keyType(\"RSA\")\n            .keySize(2048)\n            .keyOpts(            \n                \"decrypt\",\n                \"encrypt\",\n                \"sign\",\n                \"unwrapKey\",\n                \"verify\",\n                \"wrapKey\")\n            .build());\n\n        var exampleAccountEncryption = new AccountEncryption(\"exampleAccountEncryption\", AccountEncryptionArgs.builder()\n            .netappAccountId(exampleAccount.id())\n            .systemAssignedIdentityPrincipalId(exampleAccount.identity().applyValue(_identity -\u003e _identity.principalId()))\n            .encryptionKey(exampleKey.versionlessId())\n            .build());\n\n        var exampleEndpoint = new Endpoint(\"exampleEndpoint\", EndpointArgs.builder()\n            .name(String.format(\"%s-pe-kv\", prefix))\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .subnetId(examplePrivateEndpoint.id())\n            .privateServiceConnection(EndpointPrivateServiceConnectionArgs.builder()\n                .name(String.format(\"%s-pe-sc-kv\", prefix))\n                .privateConnectionResourceId(exampleKeyVault.id())\n                .isManualConnection(false)\n                .subresourceNames(\"Vault\")\n                .build())\n            .build());\n\n        var examplePool = new Pool(\"examplePool\", PoolArgs.builder()\n            .name(String.format(\"%s-netapp-pool\", prefix))\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .accountName(exampleAccount.name())\n            .serviceLevel(\"Standard\")\n            .sizeInTb(8)\n            .qosType(\"Manual\")\n            .build(), CustomResourceOptions.builder()\n                .dependsOn(exampleAccountEncryption)\n                .build());\n\n        var exampleVolumeGroupSapHana = new VolumeGroupSapHana(\"exampleVolumeGroupSapHana\", VolumeGroupSapHanaArgs.builder()\n            .name(String.format(\"%s-netapp-volumegroup\", prefix))\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .accountName(exampleAccount.name())\n            .groupDescription(\"Test volume group with zone and CMK\")\n            .applicationIdentifier(\"TST\")\n            .volumes(            \n                VolumeGroupSapHanaVolumeArgs.builder()\n                    .name(String.format(\"%s-netapp-volume-data\", prefix))\n                    .volumePath(\"my-unique-file-path-data\")\n                    .serviceLevel(\"Standard\")\n                    .capacityPoolId(examplePool.id())\n                    .subnetId(exampleDelegated.id())\n                    .zone(\"1\")\n                    .volumeSpecName(\"data\")\n                    .storageQuotaInGb(1024)\n                    .throughputInMibps(24.0)\n                    .protocols(\"NFSv4.1\")\n                    .securityStyle(\"unix\")\n                    .snapshotDirectoryVisible(false)\n                    .networkFeatures(\"Standard\")\n                    .encryptionKeySource(\"Microsoft.KeyVault\")\n                    .keyVaultPrivateEndpointId(exampleEndpoint.id())\n                    .exportPolicyRules(VolumeGroupSapHanaVolumeExportPolicyRuleArgs.builder()\n                        .ruleIndex(1)\n                        .allowedClients(\"0.0.0.0/0\")\n                        .nfsv3Enabled(false)\n                        .nfsv41Enabled(true)\n                        .unixReadOnly(false)\n                        .unixReadWrite(true)\n                        .rootAccessEnabled(false)\n                        .build())\n                    .build(),\n                VolumeGroupSapHanaVolumeArgs.builder()\n                    .name(String.format(\"%s-netapp-volume-log\", prefix))\n                    .volumePath(\"my-unique-file-path-log\")\n                    .serviceLevel(\"Standard\")\n                    .capacityPoolId(examplePool.id())\n                    .subnetId(exampleDelegated.id())\n                    .zone(\"1\")\n                    .volumeSpecName(\"log\")\n                    .storageQuotaInGb(1024)\n                    .throughputInMibps(24.0)\n                    .protocols(\"NFSv4.1\")\n                    .securityStyle(\"unix\")\n                    .snapshotDirectoryVisible(false)\n                    .networkFeatures(\"Standard\")\n                    .encryptionKeySource(\"Microsoft.KeyVault\")\n                    .keyVaultPrivateEndpointId(exampleEndpoint.id())\n                    .exportPolicyRules(VolumeGroupSapHanaVolumeExportPolicyRuleArgs.builder()\n                        .ruleIndex(1)\n                        .allowedClients(\"0.0.0.0/0\")\n                        .nfsv3Enabled(false)\n                        .nfsv41Enabled(true)\n                        .unixReadOnly(false)\n                        .unixReadWrite(true)\n                        .rootAccessEnabled(false)\n                        .build())\n                    .build(),\n                VolumeGroupSapHanaVolumeArgs.builder()\n                    .name(String.format(\"%s-netapp-volume-shared\", prefix))\n                    .volumePath(\"my-unique-file-path-shared\")\n                    .serviceLevel(\"Standard\")\n                    .capacityPoolId(examplePool.id())\n                    .subnetId(exampleDelegated.id())\n                    .zone(\"1\")\n                    .volumeSpecName(\"shared\")\n                    .storageQuotaInGb(1024)\n                    .throughputInMibps(24.0)\n                    .protocols(\"NFSv4.1\")\n                    .securityStyle(\"unix\")\n                    .snapshotDirectoryVisible(false)\n                    .networkFeatures(\"Standard\")\n                    .encryptionKeySource(\"Microsoft.KeyVault\")\n                    .keyVaultPrivateEndpointId(exampleEndpoint.id())\n                    .exportPolicyRules(VolumeGroupSapHanaVolumeExportPolicyRuleArgs.builder()\n                        .ruleIndex(1)\n                        .allowedClients(\"0.0.0.0/0\")\n                        .nfsv3Enabled(false)\n                        .nfsv41Enabled(true)\n                        .unixReadOnly(false)\n                        .unixReadWrite(true)\n                        .rootAccessEnabled(false)\n                        .build())\n                    .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: ${prefix}-resources\n      location: ${location}\n  exampleVirtualNetwork:\n    type: azure:network:VirtualNetwork\n    name: example\n    properties:\n      name: ${prefix}-vnet\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      addressSpaces:\n        - 10.88.0.0/16\n  exampleDelegated:\n    type: azure:network:Subnet\n    name: example_delegated\n    properties:\n      name: ${prefix}-delegated-subnet\n      resourceGroupName: ${example.name}\n      virtualNetworkName: ${exampleVirtualNetwork.name}\n      addressPrefixes:\n        - 10.88.1.0/24\n      delegations:\n        - name: netapp\n          serviceDelegation:\n            name: Microsoft.Netapp/volumes\n            actions:\n              - Microsoft.Network/networkinterfaces/*\n              - Microsoft.Network/virtualNetworks/subnets/join/action\n  examplePrivateEndpoint:\n    type: azure:network:Subnet\n    name: example_private_endpoint\n    properties:\n      name: ${prefix}-pe-subnet\n      resourceGroupName: ${example.name}\n      virtualNetworkName: ${exampleVirtualNetwork.name}\n      addressPrefixes:\n        - 10.88.2.0/24\n  exampleAccount:\n    type: azure:netapp:Account\n    name: example\n    properties:\n      name: ${prefix}-netapp-account\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      identity:\n        type: SystemAssigned\n  exampleKeyVault:\n    type: azure:keyvault:KeyVault\n    name: example\n    properties:\n      name: ${prefix}kv\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      tenantId: ${current.tenantId}\n      skuName: standard\n      purgeProtectionEnabled: true\n      softDeleteRetentionDays: 7\n      enabledForDiskEncryption: true\n      enabledForDeployment: true\n      enabledForTemplateDeployment: true\n      accessPolicies:\n        - tenantId: ${current.tenantId}\n          objectId: ${current.objectId}\n          keyPermissions:\n            - Get\n            - Create\n            - Delete\n            - WrapKey\n            - UnwrapKey\n            - GetRotationPolicy\n            - SetRotationPolicy\n        - tenantId: ${exampleAccount.identity.tenantId}\n          objectId: ${exampleAccount.identity.principalId}\n          keyPermissions:\n            - Get\n            - Encrypt\n            - Decrypt\n  exampleKey:\n    type: azure:keyvault:Key\n    name: example\n    properties:\n      name: ${prefix}-key\n      keyVaultId: ${exampleKeyVault.id}\n      keyType: RSA\n      keySize: 2048\n      keyOpts:\n        - decrypt\n        - encrypt\n        - sign\n        - unwrapKey\n        - verify\n        - wrapKey\n  exampleAccountEncryption:\n    type: azure:netapp:AccountEncryption\n    name: example\n    properties:\n      netappAccountId: ${exampleAccount.id}\n      systemAssignedIdentityPrincipalId: ${exampleAccount.identity.principalId}\n      encryptionKey: ${exampleKey.versionlessId}\n  exampleEndpoint:\n    type: azure:privatelink:Endpoint\n    name: example\n    properties:\n      name: ${prefix}-pe-kv\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      subnetId: ${examplePrivateEndpoint.id}\n      privateServiceConnection:\n        name: ${prefix}-pe-sc-kv\n        privateConnectionResourceId: ${exampleKeyVault.id}\n        isManualConnection: false\n        subresourceNames:\n          - Vault\n  examplePool:\n    type: azure:netapp:Pool\n    name: example\n    properties:\n      name: ${prefix}-netapp-pool\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      accountName: ${exampleAccount.name}\n      serviceLevel: Standard\n      sizeInTb: 8\n      qosType: Manual\n    options:\n      dependsOn:\n        - ${exampleAccountEncryption}\n  exampleVolumeGroupSapHana:\n    type: azure:netapp:VolumeGroupSapHana\n    name: example\n    properties:\n      name: ${prefix}-netapp-volumegroup\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      accountName: ${exampleAccount.name}\n      groupDescription: Test volume group with zone and CMK\n      applicationIdentifier: TST\n      volumes:\n        - name: ${prefix}-netapp-volume-data\n          volumePath: my-unique-file-path-data\n          serviceLevel: Standard\n          capacityPoolId: ${examplePool.id}\n          subnetId: ${exampleDelegated.id}\n          zone: '1'\n          volumeSpecName: data\n          storageQuotaInGb: 1024\n          throughputInMibps: 24\n          protocols: NFSv4.1\n          securityStyle: unix\n          snapshotDirectoryVisible: false\n          networkFeatures: Standard\n          encryptionKeySource: Microsoft.KeyVault\n          keyVaultPrivateEndpointId: ${exampleEndpoint.id}\n          exportPolicyRules:\n            - ruleIndex: 1\n              allowedClients: 0.0.0.0/0\n              nfsv3Enabled: false\n              nfsv41Enabled: true\n              unixReadOnly: false\n              unixReadWrite: true\n              rootAccessEnabled: false\n        - name: ${prefix}-netapp-volume-log\n          volumePath: my-unique-file-path-log\n          serviceLevel: Standard\n          capacityPoolId: ${examplePool.id}\n          subnetId: ${exampleDelegated.id}\n          zone: '1'\n          volumeSpecName: log\n          storageQuotaInGb: 1024\n          throughputInMibps: 24\n          protocols: NFSv4.1\n          securityStyle: unix\n          snapshotDirectoryVisible: false\n          networkFeatures: Standard\n          encryptionKeySource: Microsoft.KeyVault\n          keyVaultPrivateEndpointId: ${exampleEndpoint.id}\n          exportPolicyRules:\n            - ruleIndex: 1\n              allowedClients: 0.0.0.0/0\n              nfsv3Enabled: false\n              nfsv41Enabled: true\n              unixReadOnly: false\n              unixReadWrite: true\n              rootAccessEnabled: false\n        - name: ${prefix}-netapp-volume-shared\n          volumePath: my-unique-file-path-shared\n          serviceLevel: Standard\n          capacityPoolId: ${examplePool.id}\n          subnetId: ${exampleDelegated.id}\n          zone: '1'\n          volumeSpecName: shared\n          storageQuotaInGb: 1024\n          throughputInMibps: 24\n          protocols: NFSv4.1\n          securityStyle: unix\n          snapshotDirectoryVisible: false\n          networkFeatures: Standard\n          encryptionKeySource: Microsoft.KeyVault\n          keyVaultPrivateEndpointId: ${exampleEndpoint.id}\n          exportPolicyRules:\n            - ruleIndex: 1\n              allowedClients: 0.0.0.0/0\n              nfsv3Enabled: false\n              nfsv41Enabled: true\n              unixReadOnly: false\n              unixReadWrite: true\n              rootAccessEnabled: false\nvariables:\n  current:\n    fn::invoke:\n      function: azure:core:getClientConfig\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.NetApp` - 2025-06-01\n\n## Import\n\nApplication Volume Groups can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:netapp/volumeGroupSapHana:VolumeGroupSapHana example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mytest-rg/providers/Microsoft.NetApp/netAppAccounts/netapp-account-test/volumeGroups/netapp-volumegroup-test\n```\n\n","properties":{"accountName":{"type":"string","description":"Name of the account where the application volume group belong to. Changing this forces a new Application Volume Group to be created and data will be lost.\n"},"applicationIdentifier":{"type":"string","description":"The SAP System ID, maximum 3 characters, e.g. `SH9`. Changing this forces a new Application Volume Group to be created and data will be lost.\n"},"groupDescription":{"type":"string","description":"Volume group description. Changing this forces a new Application Volume Group to be created and data will be lost.\n"},"location":{"type":"string","description":"The Azure Region where the Application Volume Group should exist. Changing this forces a new Application Volume Group to be created and data will be lost.\n"},"name":{"type":"string","description":"The name which should be used for this Application Volume Group. Changing this forces a new Application Volume Group to be created and data will be lost.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Application Volume Group should exist. Changing this forces a new Application Volume Group to be created and data will be lost.\n"},"volumes":{"type":"array","items":{"$ref":"#/types/azure:netapp/VolumeGroupSapHanaVolume:VolumeGroupSapHanaVolume"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`volume`\" pulumi-lang-dotnet=\"`Volume`\" pulumi-lang-go=\"`volume`\" pulumi-lang-python=\"`volume`\" pulumi-lang-yaml=\"`volume`\" pulumi-lang-java=\"`volume`\"\u003e`volume`\u003c/span\u003e blocks as defined below.\n"}},"required":["accountName","applicationIdentifier","groupDescription","location","name","resourceGroupName","volumes"],"inputProperties":{"accountName":{"type":"string","description":"Name of the account where the application volume group belong to. Changing this forces a new Application Volume Group to be created and data will be lost.\n","willReplaceOnChanges":true},"applicationIdentifier":{"type":"string","description":"The SAP System ID, maximum 3 characters, e.g. `SH9`. Changing this forces a new Application Volume Group to be created and data will be lost.\n","willReplaceOnChanges":true},"groupDescription":{"type":"string","description":"Volume group description. Changing this forces a new Application Volume Group to be created and data will be lost.\n","willReplaceOnChanges":true},"location":{"type":"string","description":"The Azure Region where the Application Volume Group should exist. Changing this forces a new Application Volume Group to be created and data will be lost.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Application Volume Group. Changing this forces a new Application Volume Group to be created and data will be lost.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Application Volume Group should exist. Changing this forces a new Application Volume Group to be created and data will be lost.\n","willReplaceOnChanges":true},"volumes":{"type":"array","items":{"$ref":"#/types/azure:netapp/VolumeGroupSapHanaVolume:VolumeGroupSapHanaVolume"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`volume`\" pulumi-lang-dotnet=\"`Volume`\" pulumi-lang-go=\"`volume`\" pulumi-lang-python=\"`volume`\" pulumi-lang-yaml=\"`volume`\" pulumi-lang-java=\"`volume`\"\u003e`volume`\u003c/span\u003e blocks as defined below.\n"}},"requiredInputs":["accountName","applicationIdentifier","groupDescription","resourceGroupName","volumes"],"stateInputs":{"description":"Input properties used for looking up and filtering VolumeGroupSapHana resources.\n","properties":{"accountName":{"type":"string","description":"Name of the account where the application volume group belong to. Changing this forces a new Application Volume Group to be created and data will be lost.\n","willReplaceOnChanges":true},"applicationIdentifier":{"type":"string","description":"The SAP System ID, maximum 3 characters, e.g. `SH9`. Changing this forces a new Application Volume Group to be created and data will be lost.\n","willReplaceOnChanges":true},"groupDescription":{"type":"string","description":"Volume group description. Changing this forces a new Application Volume Group to be created and data will be lost.\n","willReplaceOnChanges":true},"location":{"type":"string","description":"The Azure Region where the Application Volume Group should exist. Changing this forces a new Application Volume Group to be created and data will be lost.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Application Volume Group. Changing this forces a new Application Volume Group to be created and data will be lost.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Application Volume Group should exist. Changing this forces a new Application Volume Group to be created and data will be lost.\n","willReplaceOnChanges":true},"volumes":{"type":"array","items":{"$ref":"#/types/azure:netapp/VolumeGroupSapHanaVolume:VolumeGroupSapHanaVolume"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`volume`\" pulumi-lang-dotnet=\"`Volume`\" pulumi-lang-go=\"`volume`\" pulumi-lang-python=\"`volume`\" pulumi-lang-yaml=\"`volume`\" pulumi-lang-java=\"`volume`\"\u003e`volume`\u003c/span\u003e blocks as defined below.\n"}},"type":"object"}},"azure:netapp/volumeQuotaRule:VolumeQuotaRule":{"description":"Manages a Volume Quota Rule.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"example\", {\n    name: \"example-virtualnetwork\",\n    location: example.location,\n    resourceGroupName: example.name,\n    addressSpaces: [\"10.0.0.0/16\"],\n});\nconst exampleSubnet = new azure.network.Subnet(\"example\", {\n    name: \"example-subnet\",\n    resourceGroupName: example.name,\n    virtualNetworkName: exampleVirtualNetwork.name,\n    addressPrefixes: [\"10.0.2.0/24\"],\n    delegations: [{\n        name: \"netapp\",\n        serviceDelegation: {\n            name: \"Microsoft.Netapp/volumes\",\n            actions: [\n                \"Microsoft.Network/networkinterfaces/*\",\n                \"Microsoft.Network/virtualNetworks/subnets/join/action\",\n            ],\n        },\n    }],\n});\nconst exampleAccount = new azure.netapp.Account(\"example\", {\n    name: \"example-netappaccount\",\n    location: example.location,\n    resourceGroupName: example.name,\n});\nconst examplePool = new azure.netapp.Pool(\"example\", {\n    name: \"example-netapppool\",\n    location: example.location,\n    resourceGroupName: example.name,\n    accountName: exampleAccount.name,\n    serviceLevel: \"Premium\",\n    sizeInTb: 4,\n});\nconst exampleVolume = new azure.netapp.Volume(\"example\", {\n    name: \"example-netappvolume\",\n    location: example.location,\n    zone: \"1\",\n    resourceGroupName: example.name,\n    accountName: exampleAccount.name,\n    poolName: examplePool.name,\n    volumePath: \"my-unique-file-path\",\n    serviceLevel: \"Premium\",\n    subnetId: exampleSubnet.id,\n    networkFeatures: \"Basic\",\n    protocols: [\"NFSv4.1\"],\n    securityStyle: \"unix\",\n    storageQuotaInGb: 100,\n    snapshotDirectoryVisible: false,\n});\nconst quota1 = new azure.netapp.VolumeQuotaRule(\"quota1\", {\n    name: \"example-quota-rule-1\",\n    location: example.location,\n    volumeId: exampleVolume.id,\n    quotaTarget: \"3001\",\n    quotaSizeInKib: 1024,\n    quotaType: \"IndividualGroupQuota\",\n});\nconst quota2 = new azure.netapp.VolumeQuotaRule(\"quota2\", {\n    name: \"example-quota-rule-2\",\n    location: example.location,\n    volumeId: exampleVolume.id,\n    quotaTarget: \"2001\",\n    quotaSizeInKib: 1024,\n    quotaType: \"IndividualUserQuota\",\n});\nconst quota3 = new azure.netapp.VolumeQuotaRule(\"quota3\", {\n    name: \"example-quota-rule-3\",\n    location: example.location,\n    volumeId: exampleVolume.id,\n    quotaSizeInKib: 1024,\n    quotaType: \"DefaultUserQuota\",\n});\nconst quota4 = new azure.netapp.VolumeQuotaRule(\"quota4\", {\n    name: \"example-quota-rule-4\",\n    location: example.location,\n    volumeId: exampleVolume.id,\n    quotaSizeInKib: 1024,\n    quotaType: \"DefaultGroupQuota\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_virtual_network = azure.network.VirtualNetwork(\"example\",\n    name=\"example-virtualnetwork\",\n    location=example.location,\n    resource_group_name=example.name,\n    address_spaces=[\"10.0.0.0/16\"])\nexample_subnet = azure.network.Subnet(\"example\",\n    name=\"example-subnet\",\n    resource_group_name=example.name,\n    virtual_network_name=example_virtual_network.name,\n    address_prefixes=[\"10.0.2.0/24\"],\n    delegations=[{\n        \"name\": \"netapp\",\n        \"service_delegation\": {\n            \"name\": \"Microsoft.Netapp/volumes\",\n            \"actions\": [\n                \"Microsoft.Network/networkinterfaces/*\",\n                \"Microsoft.Network/virtualNetworks/subnets/join/action\",\n            ],\n        },\n    }])\nexample_account = azure.netapp.Account(\"example\",\n    name=\"example-netappaccount\",\n    location=example.location,\n    resource_group_name=example.name)\nexample_pool = azure.netapp.Pool(\"example\",\n    name=\"example-netapppool\",\n    location=example.location,\n    resource_group_name=example.name,\n    account_name=example_account.name,\n    service_level=\"Premium\",\n    size_in_tb=4)\nexample_volume = azure.netapp.Volume(\"example\",\n    name=\"example-netappvolume\",\n    location=example.location,\n    zone=\"1\",\n    resource_group_name=example.name,\n    account_name=example_account.name,\n    pool_name=example_pool.name,\n    volume_path=\"my-unique-file-path\",\n    service_level=\"Premium\",\n    subnet_id=example_subnet.id,\n    network_features=\"Basic\",\n    protocols=[\"NFSv4.1\"],\n    security_style=\"unix\",\n    storage_quota_in_gb=100,\n    snapshot_directory_visible=False)\nquota1 = azure.netapp.VolumeQuotaRule(\"quota1\",\n    name=\"example-quota-rule-1\",\n    location=example.location,\n    volume_id=example_volume.id,\n    quota_target=\"3001\",\n    quota_size_in_kib=1024,\n    quota_type=\"IndividualGroupQuota\")\nquota2 = azure.netapp.VolumeQuotaRule(\"quota2\",\n    name=\"example-quota-rule-2\",\n    location=example.location,\n    volume_id=example_volume.id,\n    quota_target=\"2001\",\n    quota_size_in_kib=1024,\n    quota_type=\"IndividualUserQuota\")\nquota3 = azure.netapp.VolumeQuotaRule(\"quota3\",\n    name=\"example-quota-rule-3\",\n    location=example.location,\n    volume_id=example_volume.id,\n    quota_size_in_kib=1024,\n    quota_type=\"DefaultUserQuota\")\nquota4 = azure.netapp.VolumeQuotaRule(\"quota4\",\n    name=\"example-quota-rule-4\",\n    location=example.location,\n    volume_id=example_volume.id,\n    quota_size_in_kib=1024,\n    quota_type=\"DefaultGroupQuota\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleVirtualNetwork = new Azure.Network.VirtualNetwork(\"example\", new()\n    {\n        Name = \"example-virtualnetwork\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        AddressSpaces = new[]\n        {\n            \"10.0.0.0/16\",\n        },\n    });\n\n    var exampleSubnet = new Azure.Network.Subnet(\"example\", new()\n    {\n        Name = \"example-subnet\",\n        ResourceGroupName = example.Name,\n        VirtualNetworkName = exampleVirtualNetwork.Name,\n        AddressPrefixes = new[]\n        {\n            \"10.0.2.0/24\",\n        },\n        Delegations = new[]\n        {\n            new Azure.Network.Inputs.SubnetDelegationArgs\n            {\n                Name = \"netapp\",\n                ServiceDelegation = new Azure.Network.Inputs.SubnetDelegationServiceDelegationArgs\n                {\n                    Name = \"Microsoft.Netapp/volumes\",\n                    Actions = new[]\n                    {\n                        \"Microsoft.Network/networkinterfaces/*\",\n                        \"Microsoft.Network/virtualNetworks/subnets/join/action\",\n                    },\n                },\n            },\n        },\n    });\n\n    var exampleAccount = new Azure.NetApp.Account(\"example\", new()\n    {\n        Name = \"example-netappaccount\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n    });\n\n    var examplePool = new Azure.NetApp.Pool(\"example\", new()\n    {\n        Name = \"example-netapppool\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        AccountName = exampleAccount.Name,\n        ServiceLevel = \"Premium\",\n        SizeInTb = 4,\n    });\n\n    var exampleVolume = new Azure.NetApp.Volume(\"example\", new()\n    {\n        Name = \"example-netappvolume\",\n        Location = example.Location,\n        Zone = \"1\",\n        ResourceGroupName = example.Name,\n        AccountName = exampleAccount.Name,\n        PoolName = examplePool.Name,\n        VolumePath = \"my-unique-file-path\",\n        ServiceLevel = \"Premium\",\n        SubnetId = exampleSubnet.Id,\n        NetworkFeatures = \"Basic\",\n        Protocols = new[]\n        {\n            \"NFSv4.1\",\n        },\n        SecurityStyle = \"unix\",\n        StorageQuotaInGb = 100,\n        SnapshotDirectoryVisible = false,\n    });\n\n    var quota1 = new Azure.NetApp.VolumeQuotaRule(\"quota1\", new()\n    {\n        Name = \"example-quota-rule-1\",\n        Location = example.Location,\n        VolumeId = exampleVolume.Id,\n        QuotaTarget = \"3001\",\n        QuotaSizeInKib = 1024,\n        QuotaType = \"IndividualGroupQuota\",\n    });\n\n    var quota2 = new Azure.NetApp.VolumeQuotaRule(\"quota2\", new()\n    {\n        Name = \"example-quota-rule-2\",\n        Location = example.Location,\n        VolumeId = exampleVolume.Id,\n        QuotaTarget = \"2001\",\n        QuotaSizeInKib = 1024,\n        QuotaType = \"IndividualUserQuota\",\n    });\n\n    var quota3 = new Azure.NetApp.VolumeQuotaRule(\"quota3\", new()\n    {\n        Name = \"example-quota-rule-3\",\n        Location = example.Location,\n        VolumeId = exampleVolume.Id,\n        QuotaSizeInKib = 1024,\n        QuotaType = \"DefaultUserQuota\",\n    });\n\n    var quota4 = new Azure.NetApp.VolumeQuotaRule(\"quota4\", new()\n    {\n        Name = \"example-quota-rule-4\",\n        Location = example.Location,\n        VolumeId = exampleVolume.Id,\n        QuotaSizeInKib = 1024,\n        QuotaType = \"DefaultGroupQuota\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/netapp\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, \"example\", \u0026network.VirtualNetworkArgs{\n\t\t\tName:              pulumi.String(\"example-virtualnetwork\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tAddressSpaces: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.0.0/16\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSubnet, err := network.NewSubnet(ctx, \"example\", \u0026network.SubnetArgs{\n\t\t\tName:               pulumi.String(\"example-subnet\"),\n\t\t\tResourceGroupName:  example.Name,\n\t\t\tVirtualNetworkName: exampleVirtualNetwork.Name,\n\t\t\tAddressPrefixes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.2.0/24\"),\n\t\t\t},\n\t\t\tDelegations: network.SubnetDelegationArray{\n\t\t\t\t\u0026network.SubnetDelegationArgs{\n\t\t\t\t\tName: pulumi.String(\"netapp\"),\n\t\t\t\t\tServiceDelegation: \u0026network.SubnetDelegationServiceDelegationArgs{\n\t\t\t\t\t\tName: pulumi.String(\"Microsoft.Netapp/volumes\"),\n\t\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"Microsoft.Network/networkinterfaces/*\"),\n\t\t\t\t\t\t\tpulumi.String(\"Microsoft.Network/virtualNetworks/subnets/join/action\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := netapp.NewAccount(ctx, \"example\", \u0026netapp.AccountArgs{\n\t\t\tName:              pulumi.String(\"example-netappaccount\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texamplePool, err := netapp.NewPool(ctx, \"example\", \u0026netapp.PoolArgs{\n\t\t\tName:              pulumi.String(\"example-netapppool\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tAccountName:       exampleAccount.Name,\n\t\t\tServiceLevel:      pulumi.String(\"Premium\"),\n\t\t\tSizeInTb:          pulumi.Int(4),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVolume, err := netapp.NewVolume(ctx, \"example\", \u0026netapp.VolumeArgs{\n\t\t\tName:              pulumi.String(\"example-netappvolume\"),\n\t\t\tLocation:          example.Location,\n\t\t\tZone:              pulumi.String(\"1\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tAccountName:       exampleAccount.Name,\n\t\t\tPoolName:          examplePool.Name,\n\t\t\tVolumePath:        pulumi.String(\"my-unique-file-path\"),\n\t\t\tServiceLevel:      pulumi.String(\"Premium\"),\n\t\t\tSubnetId:          exampleSubnet.ID(),\n\t\t\tNetworkFeatures:   pulumi.String(\"Basic\"),\n\t\t\tProtocols: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"NFSv4.1\"),\n\t\t\t},\n\t\t\tSecurityStyle:            pulumi.String(\"unix\"),\n\t\t\tStorageQuotaInGb:         pulumi.Int(100),\n\t\t\tSnapshotDirectoryVisible: pulumi.Bool(false),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = netapp.NewVolumeQuotaRule(ctx, \"quota1\", \u0026netapp.VolumeQuotaRuleArgs{\n\t\t\tName:           pulumi.String(\"example-quota-rule-1\"),\n\t\t\tLocation:       example.Location,\n\t\t\tVolumeId:       exampleVolume.ID(),\n\t\t\tQuotaTarget:    pulumi.String(\"3001\"),\n\t\t\tQuotaSizeInKib: pulumi.Int(1024),\n\t\t\tQuotaType:      pulumi.String(\"IndividualGroupQuota\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = netapp.NewVolumeQuotaRule(ctx, \"quota2\", \u0026netapp.VolumeQuotaRuleArgs{\n\t\t\tName:           pulumi.String(\"example-quota-rule-2\"),\n\t\t\tLocation:       example.Location,\n\t\t\tVolumeId:       exampleVolume.ID(),\n\t\t\tQuotaTarget:    pulumi.String(\"2001\"),\n\t\t\tQuotaSizeInKib: pulumi.Int(1024),\n\t\t\tQuotaType:      pulumi.String(\"IndividualUserQuota\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = netapp.NewVolumeQuotaRule(ctx, \"quota3\", \u0026netapp.VolumeQuotaRuleArgs{\n\t\t\tName:           pulumi.String(\"example-quota-rule-3\"),\n\t\t\tLocation:       example.Location,\n\t\t\tVolumeId:       exampleVolume.ID(),\n\t\t\tQuotaSizeInKib: pulumi.Int(1024),\n\t\t\tQuotaType:      pulumi.String(\"DefaultUserQuota\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = netapp.NewVolumeQuotaRule(ctx, \"quota4\", \u0026netapp.VolumeQuotaRuleArgs{\n\t\t\tName:           pulumi.String(\"example-quota-rule-4\"),\n\t\t\tLocation:       example.Location,\n\t\t\tVolumeId:       exampleVolume.ID(),\n\t\t\tQuotaSizeInKib: pulumi.Int(1024),\n\t\t\tQuotaType:      pulumi.String(\"DefaultGroupQuota\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.VirtualNetwork;\nimport com.pulumi.azure.network.VirtualNetworkArgs;\nimport com.pulumi.azure.network.Subnet;\nimport com.pulumi.azure.network.SubnetArgs;\nimport com.pulumi.azure.network.inputs.SubnetDelegationArgs;\nimport com.pulumi.azure.network.inputs.SubnetDelegationServiceDelegationArgs;\nimport com.pulumi.azure.netapp.Account;\nimport com.pulumi.azure.netapp.AccountArgs;\nimport com.pulumi.azure.netapp.Pool;\nimport com.pulumi.azure.netapp.PoolArgs;\nimport com.pulumi.azure.netapp.Volume;\nimport com.pulumi.azure.netapp.VolumeArgs;\nimport com.pulumi.azure.netapp.VolumeQuotaRule;\nimport com.pulumi.azure.netapp.VolumeQuotaRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleVirtualNetwork = new VirtualNetwork(\"exampleVirtualNetwork\", VirtualNetworkArgs.builder()\n            .name(\"example-virtualnetwork\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .addressSpaces(\"10.0.0.0/16\")\n            .build());\n\n        var exampleSubnet = new Subnet(\"exampleSubnet\", SubnetArgs.builder()\n            .name(\"example-subnet\")\n            .resourceGroupName(example.name())\n            .virtualNetworkName(exampleVirtualNetwork.name())\n            .addressPrefixes(\"10.0.2.0/24\")\n            .delegations(SubnetDelegationArgs.builder()\n                .name(\"netapp\")\n                .serviceDelegation(SubnetDelegationServiceDelegationArgs.builder()\n                    .name(\"Microsoft.Netapp/volumes\")\n                    .actions(                    \n                        \"Microsoft.Network/networkinterfaces/*\",\n                        \"Microsoft.Network/virtualNetworks/subnets/join/action\")\n                    .build())\n                .build())\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"example-netappaccount\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .build());\n\n        var examplePool = new Pool(\"examplePool\", PoolArgs.builder()\n            .name(\"example-netapppool\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .accountName(exampleAccount.name())\n            .serviceLevel(\"Premium\")\n            .sizeInTb(4)\n            .build());\n\n        var exampleVolume = new Volume(\"exampleVolume\", VolumeArgs.builder()\n            .name(\"example-netappvolume\")\n            .location(example.location())\n            .zone(\"1\")\n            .resourceGroupName(example.name())\n            .accountName(exampleAccount.name())\n            .poolName(examplePool.name())\n            .volumePath(\"my-unique-file-path\")\n            .serviceLevel(\"Premium\")\n            .subnetId(exampleSubnet.id())\n            .networkFeatures(\"Basic\")\n            .protocols(\"NFSv4.1\")\n            .securityStyle(\"unix\")\n            .storageQuotaInGb(100)\n            .snapshotDirectoryVisible(false)\n            .build());\n\n        var quota1 = new VolumeQuotaRule(\"quota1\", VolumeQuotaRuleArgs.builder()\n            .name(\"example-quota-rule-1\")\n            .location(example.location())\n            .volumeId(exampleVolume.id())\n            .quotaTarget(\"3001\")\n            .quotaSizeInKib(1024)\n            .quotaType(\"IndividualGroupQuota\")\n            .build());\n\n        var quota2 = new VolumeQuotaRule(\"quota2\", VolumeQuotaRuleArgs.builder()\n            .name(\"example-quota-rule-2\")\n            .location(example.location())\n            .volumeId(exampleVolume.id())\n            .quotaTarget(\"2001\")\n            .quotaSizeInKib(1024)\n            .quotaType(\"IndividualUserQuota\")\n            .build());\n\n        var quota3 = new VolumeQuotaRule(\"quota3\", VolumeQuotaRuleArgs.builder()\n            .name(\"example-quota-rule-3\")\n            .location(example.location())\n            .volumeId(exampleVolume.id())\n            .quotaSizeInKib(1024)\n            .quotaType(\"DefaultUserQuota\")\n            .build());\n\n        var quota4 = new VolumeQuotaRule(\"quota4\", VolumeQuotaRuleArgs.builder()\n            .name(\"example-quota-rule-4\")\n            .location(example.location())\n            .volumeId(exampleVolume.id())\n            .quotaSizeInKib(1024)\n            .quotaType(\"DefaultGroupQuota\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleVirtualNetwork:\n    type: azure:network:VirtualNetwork\n    name: example\n    properties:\n      name: example-virtualnetwork\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      addressSpaces:\n        - 10.0.0.0/16\n  exampleSubnet:\n    type: azure:network:Subnet\n    name: example\n    properties:\n      name: example-subnet\n      resourceGroupName: ${example.name}\n      virtualNetworkName: ${exampleVirtualNetwork.name}\n      addressPrefixes:\n        - 10.0.2.0/24\n      delegations:\n        - name: netapp\n          serviceDelegation:\n            name: Microsoft.Netapp/volumes\n            actions:\n              - Microsoft.Network/networkinterfaces/*\n              - Microsoft.Network/virtualNetworks/subnets/join/action\n  exampleAccount:\n    type: azure:netapp:Account\n    name: example\n    properties:\n      name: example-netappaccount\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n  examplePool:\n    type: azure:netapp:Pool\n    name: example\n    properties:\n      name: example-netapppool\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      accountName: ${exampleAccount.name}\n      serviceLevel: Premium\n      sizeInTb: 4\n  exampleVolume:\n    type: azure:netapp:Volume\n    name: example\n    properties:\n      name: example-netappvolume\n      location: ${example.location}\n      zone: '1'\n      resourceGroupName: ${example.name}\n      accountName: ${exampleAccount.name}\n      poolName: ${examplePool.name}\n      volumePath: my-unique-file-path\n      serviceLevel: Premium\n      subnetId: ${exampleSubnet.id}\n      networkFeatures: Basic\n      protocols:\n        - NFSv4.1\n      securityStyle: unix\n      storageQuotaInGb: 100\n      snapshotDirectoryVisible: false\n  quota1:\n    type: azure:netapp:VolumeQuotaRule\n    properties:\n      name: example-quota-rule-1\n      location: ${example.location}\n      volumeId: ${exampleVolume.id}\n      quotaTarget: '3001'\n      quotaSizeInKib: 1024\n      quotaType: IndividualGroupQuota\n  quota2:\n    type: azure:netapp:VolumeQuotaRule\n    properties:\n      name: example-quota-rule-2\n      location: ${example.location}\n      volumeId: ${exampleVolume.id}\n      quotaTarget: '2001'\n      quotaSizeInKib: 1024\n      quotaType: IndividualUserQuota\n  quota3:\n    type: azure:netapp:VolumeQuotaRule\n    properties:\n      name: example-quota-rule-3\n      location: ${example.location}\n      volumeId: ${exampleVolume.id}\n      quotaSizeInKib: 1024\n      quotaType: DefaultUserQuota\n  quota4:\n    type: azure:netapp:VolumeQuotaRule\n    properties:\n      name: example-quota-rule-4\n      location: ${example.location}\n      volumeId: ${exampleVolume.id}\n      quotaSizeInKib: 1024\n      quotaType: DefaultGroupQuota\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.NetApp` - 2025-06-01\n\n## Import\n\nVolume Quota Rules can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:netapp/volumeQuotaRule:VolumeQuotaRule example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/vol1/volumeQuotaRules/quota1\n```\n\n","properties":{"location":{"type":"string","description":"The Azure Region where the Volume Quota Rule should exist. Changing this forces a new Volume Quota Rule to be created.\n"},"name":{"type":"string","description":"The name which should be used for this Volume Quota Rule. Changing this forces a new Volume Quota Rule to be created.\n"},"quotaSizeInKib":{"type":"integer","description":"Quota size in kibibytes.\n"},"quotaTarget":{"type":"string","description":"Quota Target. This can be Unix UID/GID for NFSv3/NFSv4.1 volumes and Windows User SID for CIFS based volumes. Changing this forces a new resource to be created.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`quotaTarget \" pulumi-lang-dotnet=\"`QuotaTarget \" pulumi-lang-go=\"`quotaTarget \" pulumi-lang-python=\"`quota_target \" pulumi-lang-yaml=\"`quotaTarget \" pulumi-lang-java=\"`quotaTarget \"\u003e`quota_target \u003c/span\u003e` must be used when \u003cspan pulumi-lang-nodejs=\"`quotaType`\" pulumi-lang-dotnet=\"`QuotaType`\" pulumi-lang-go=\"`quotaType`\" pulumi-lang-python=\"`quota_type`\" pulumi-lang-yaml=\"`quotaType`\" pulumi-lang-java=\"`quotaType`\"\u003e`quota_type`\u003c/span\u003e is `IndividualGroupQuota` or `IndividualUserQuota`\n\n\u003e **Note:** more information about this resource can be found at [Understand default and individual user and group quotas](https://learn.microsoft.com/en-us/azure/azure-netapp-files/default-individual-user-group-quotas-introduction)\n"},"quotaType":{"type":"string","description":"Quota type. Possible values are `DefaultGroupQuota`, `DefaultUserQuota`, `IndividualGroupQuota` and `IndividualUserQuota`. Please note that `IndividualGroupQuota` and `DefaultGroupQuota` are not applicable to SMB and dual-protocol volumes. Changing this forces a new resource to be created.\n"},"volumeId":{"type":"string","description":"The NetApp volume ID where the Volume Quota Rule is assigned to. Changing this forces a new resource to be created.\n"}},"required":["location","name","quotaSizeInKib","quotaType","volumeId"],"inputProperties":{"location":{"type":"string","description":"The Azure Region where the Volume Quota Rule should exist. Changing this forces a new Volume Quota Rule to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Volume Quota Rule. Changing this forces a new Volume Quota Rule to be created.\n","willReplaceOnChanges":true},"quotaSizeInKib":{"type":"integer","description":"Quota size in kibibytes.\n"},"quotaTarget":{"type":"string","description":"Quota Target. This can be Unix UID/GID for NFSv3/NFSv4.1 volumes and Windows User SID for CIFS based volumes. Changing this forces a new resource to be created.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`quotaTarget \" pulumi-lang-dotnet=\"`QuotaTarget \" pulumi-lang-go=\"`quotaTarget \" pulumi-lang-python=\"`quota_target \" pulumi-lang-yaml=\"`quotaTarget \" pulumi-lang-java=\"`quotaTarget \"\u003e`quota_target \u003c/span\u003e` must be used when \u003cspan pulumi-lang-nodejs=\"`quotaType`\" pulumi-lang-dotnet=\"`QuotaType`\" pulumi-lang-go=\"`quotaType`\" pulumi-lang-python=\"`quota_type`\" pulumi-lang-yaml=\"`quotaType`\" pulumi-lang-java=\"`quotaType`\"\u003e`quota_type`\u003c/span\u003e is `IndividualGroupQuota` or `IndividualUserQuota`\n\n\u003e **Note:** more information about this resource can be found at [Understand default and individual user and group quotas](https://learn.microsoft.com/en-us/azure/azure-netapp-files/default-individual-user-group-quotas-introduction)\n","willReplaceOnChanges":true},"quotaType":{"type":"string","description":"Quota type. Possible values are `DefaultGroupQuota`, `DefaultUserQuota`, `IndividualGroupQuota` and `IndividualUserQuota`. Please note that `IndividualGroupQuota` and `DefaultGroupQuota` are not applicable to SMB and dual-protocol volumes. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"volumeId":{"type":"string","description":"The NetApp volume ID where the Volume Quota Rule is assigned to. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["quotaSizeInKib","quotaType","volumeId"],"stateInputs":{"description":"Input properties used for looking up and filtering VolumeQuotaRule resources.\n","properties":{"location":{"type":"string","description":"The Azure Region where the Volume Quota Rule should exist. Changing this forces a new Volume Quota Rule to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Volume Quota Rule. Changing this forces a new Volume Quota Rule to be created.\n","willReplaceOnChanges":true},"quotaSizeInKib":{"type":"integer","description":"Quota size in kibibytes.\n"},"quotaTarget":{"type":"string","description":"Quota Target. This can be Unix UID/GID for NFSv3/NFSv4.1 volumes and Windows User SID for CIFS based volumes. Changing this forces a new resource to be created.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`quotaTarget \" pulumi-lang-dotnet=\"`QuotaTarget \" pulumi-lang-go=\"`quotaTarget \" pulumi-lang-python=\"`quota_target \" pulumi-lang-yaml=\"`quotaTarget \" pulumi-lang-java=\"`quotaTarget \"\u003e`quota_target \u003c/span\u003e` must be used when \u003cspan pulumi-lang-nodejs=\"`quotaType`\" pulumi-lang-dotnet=\"`QuotaType`\" pulumi-lang-go=\"`quotaType`\" pulumi-lang-python=\"`quota_type`\" pulumi-lang-yaml=\"`quotaType`\" pulumi-lang-java=\"`quotaType`\"\u003e`quota_type`\u003c/span\u003e is `IndividualGroupQuota` or `IndividualUserQuota`\n\n\u003e **Note:** more information about this resource can be found at [Understand default and individual user and group quotas](https://learn.microsoft.com/en-us/azure/azure-netapp-files/default-individual-user-group-quotas-introduction)\n","willReplaceOnChanges":true},"quotaType":{"type":"string","description":"Quota type. Possible values are `DefaultGroupQuota`, `DefaultUserQuota`, `IndividualGroupQuota` and `IndividualUserQuota`. Please note that `IndividualGroupQuota` and `DefaultGroupQuota` are not applicable to SMB and dual-protocol volumes. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"volumeId":{"type":"string","description":"The NetApp volume ID where the Volume Quota Rule is assigned to. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:network/applicationGateway:ApplicationGateway":{"description":"Manages an Application Gateway.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`backendAddressPool`\" pulumi-lang-dotnet=\"`BackendAddressPool`\" pulumi-lang-go=\"`backendAddressPool`\" pulumi-lang-python=\"`backend_address_pool`\" pulumi-lang-yaml=\"`backendAddressPool`\" pulumi-lang-java=\"`backendAddressPool`\"\u003e`backend_address_pool`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`backendHttpSettings`\" pulumi-lang-dotnet=\"`BackendHttpSettings`\" pulumi-lang-go=\"`backendHttpSettings`\" pulumi-lang-python=\"`backend_http_settings`\" pulumi-lang-yaml=\"`backendHttpSettings`\" pulumi-lang-java=\"`backendHttpSettings`\"\u003e`backend_http_settings`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`httpListener`\" pulumi-lang-dotnet=\"`HttpListener`\" pulumi-lang-go=\"`httpListener`\" pulumi-lang-python=\"`http_listener`\" pulumi-lang-yaml=\"`httpListener`\" pulumi-lang-java=\"`httpListener`\"\u003e`http_listener`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`privateLinkConfiguration`\" pulumi-lang-dotnet=\"`PrivateLinkConfiguration`\" pulumi-lang-go=\"`privateLinkConfiguration`\" pulumi-lang-python=\"`private_link_configuration`\" pulumi-lang-yaml=\"`privateLinkConfiguration`\" pulumi-lang-java=\"`privateLinkConfiguration`\"\u003e`private_link_configuration`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`requestRoutingRule`\" pulumi-lang-dotnet=\"`RequestRoutingRule`\" pulumi-lang-go=\"`requestRoutingRule`\" pulumi-lang-python=\"`request_routing_rule`\" pulumi-lang-yaml=\"`requestRoutingRule`\" pulumi-lang-java=\"`requestRoutingRule`\"\u003e`request_routing_rule`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`redirectConfiguration`\" pulumi-lang-dotnet=\"`RedirectConfiguration`\" pulumi-lang-go=\"`redirectConfiguration`\" pulumi-lang-python=\"`redirect_configuration`\" pulumi-lang-yaml=\"`redirectConfiguration`\" pulumi-lang-java=\"`redirectConfiguration`\"\u003e`redirect_configuration`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`probe`\" pulumi-lang-dotnet=\"`Probe`\" pulumi-lang-go=\"`probe`\" pulumi-lang-python=\"`probe`\" pulumi-lang-yaml=\"`probe`\" pulumi-lang-java=\"`probe`\"\u003e`probe`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`sslCertificate`\" pulumi-lang-dotnet=\"`SslCertificate`\" pulumi-lang-go=\"`sslCertificate`\" pulumi-lang-python=\"`ssl_certificate`\" pulumi-lang-yaml=\"`sslCertificate`\" pulumi-lang-java=\"`sslCertificate`\"\u003e`ssl_certificate`\u003c/span\u003e,\nand \u003cspan pulumi-lang-nodejs=\"`frontendPort`\" pulumi-lang-dotnet=\"`FrontendPort`\" pulumi-lang-go=\"`frontendPort`\" pulumi-lang-python=\"`frontend_port`\" pulumi-lang-yaml=\"`frontendPort`\" pulumi-lang-java=\"`frontendPort`\"\u003e`frontend_port`\u003c/span\u003e properties are Sets as the service API returns these lists of objects in a different order from how the provider sends them. As Sets are stored using a hash, if one \nvalue is added or removed from the Set, Terraform considers the entire list of objects changed and the plan shows that it is removing every value in the list and re-adding it with the \nnew information. Though Terraform is showing all the values being removed and re-added, we are not actually removing anything unless the user specifies a removal in the configfile.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"example\", {\n    name: \"example-network\",\n    resourceGroupName: example.name,\n    location: example.location,\n    addressSpaces: [\"10.254.0.0/16\"],\n});\nconst exampleSubnet = new azure.network.Subnet(\"example\", {\n    name: \"example\",\n    resourceGroupName: example.name,\n    virtualNetworkName: exampleVirtualNetwork.name,\n    addressPrefixes: [\"10.254.0.0/24\"],\n});\nconst examplePublicIp = new azure.network.PublicIp(\"example\", {\n    name: \"example-pip\",\n    resourceGroupName: example.name,\n    location: example.location,\n    allocationMethod: \"Static\",\n});\nconst backendAddressPoolName = pulumi.interpolate`${exampleVirtualNetwork.name}-beap`;\nconst frontendPortName = pulumi.interpolate`${exampleVirtualNetwork.name}-feport`;\nconst frontendIpConfigurationName = pulumi.interpolate`${exampleVirtualNetwork.name}-feip`;\nconst httpSettingName = pulumi.interpolate`${exampleVirtualNetwork.name}-be-htst`;\nconst listenerName = pulumi.interpolate`${exampleVirtualNetwork.name}-httplstn`;\nconst requestRoutingRuleName = pulumi.interpolate`${exampleVirtualNetwork.name}-rqrt`;\nconst redirectConfigurationName = pulumi.interpolate`${exampleVirtualNetwork.name}-rdrcfg`;\nconst network = new azure.network.ApplicationGateway(\"network\", {\n    name: \"example-appgateway\",\n    resourceGroupName: example.name,\n    location: example.location,\n    sku: {\n        name: \"Standard_v2\",\n        tier: \"Standard_v2\",\n        capacity: 2,\n    },\n    gatewayIpConfigurations: [{\n        name: \"my-gateway-ip-configuration\",\n        subnetId: exampleSubnet.id,\n    }],\n    frontendPorts: [{\n        name: frontendPortName,\n        port: 80,\n    }],\n    frontendIpConfigurations: [{\n        name: frontendIpConfigurationName,\n        publicIpAddressId: examplePublicIp.id,\n    }],\n    backendAddressPools: [{\n        name: backendAddressPoolName,\n    }],\n    backendHttpSettings: [{\n        name: httpSettingName,\n        cookieBasedAffinity: \"Disabled\",\n        path: \"/path1/\",\n        port: 80,\n        protocol: \"Http\",\n        requestTimeout: 60,\n    }],\n    httpListeners: [{\n        name: listenerName,\n        frontendIpConfigurationName: frontendIpConfigurationName,\n        frontendPortName: frontendPortName,\n        protocol: \"Http\",\n    }],\n    requestRoutingRules: [{\n        name: requestRoutingRuleName,\n        priority: 9,\n        ruleType: \"Basic\",\n        httpListenerName: listenerName,\n        backendAddressPoolName: backendAddressPoolName,\n        backendHttpSettingsName: httpSettingName,\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_virtual_network = azure.network.VirtualNetwork(\"example\",\n    name=\"example-network\",\n    resource_group_name=example.name,\n    location=example.location,\n    address_spaces=[\"10.254.0.0/16\"])\nexample_subnet = azure.network.Subnet(\"example\",\n    name=\"example\",\n    resource_group_name=example.name,\n    virtual_network_name=example_virtual_network.name,\n    address_prefixes=[\"10.254.0.0/24\"])\nexample_public_ip = azure.network.PublicIp(\"example\",\n    name=\"example-pip\",\n    resource_group_name=example.name,\n    location=example.location,\n    allocation_method=\"Static\")\nbackend_address_pool_name = example_virtual_network.name.apply(lambda name: f\"{name}-beap\")\nfrontend_port_name = example_virtual_network.name.apply(lambda name: f\"{name}-feport\")\nfrontend_ip_configuration_name = example_virtual_network.name.apply(lambda name: f\"{name}-feip\")\nhttp_setting_name = example_virtual_network.name.apply(lambda name: f\"{name}-be-htst\")\nlistener_name = example_virtual_network.name.apply(lambda name: f\"{name}-httplstn\")\nrequest_routing_rule_name = example_virtual_network.name.apply(lambda name: f\"{name}-rqrt\")\nredirect_configuration_name = example_virtual_network.name.apply(lambda name: f\"{name}-rdrcfg\")\nnetwork = azure.network.ApplicationGateway(\"network\",\n    name=\"example-appgateway\",\n    resource_group_name=example.name,\n    location=example.location,\n    sku={\n        \"name\": \"Standard_v2\",\n        \"tier\": \"Standard_v2\",\n        \"capacity\": 2,\n    },\n    gateway_ip_configurations=[{\n        \"name\": \"my-gateway-ip-configuration\",\n        \"subnet_id\": example_subnet.id,\n    }],\n    frontend_ports=[{\n        \"name\": frontend_port_name,\n        \"port\": 80,\n    }],\n    frontend_ip_configurations=[{\n        \"name\": frontend_ip_configuration_name,\n        \"public_ip_address_id\": example_public_ip.id,\n    }],\n    backend_address_pools=[{\n        \"name\": backend_address_pool_name,\n    }],\n    backend_http_settings=[{\n        \"name\": http_setting_name,\n        \"cookie_based_affinity\": \"Disabled\",\n        \"path\": \"/path1/\",\n        \"port\": 80,\n        \"protocol\": \"Http\",\n        \"request_timeout\": 60,\n    }],\n    http_listeners=[{\n        \"name\": listener_name,\n        \"frontend_ip_configuration_name\": frontend_ip_configuration_name,\n        \"frontend_port_name\": frontend_port_name,\n        \"protocol\": \"Http\",\n    }],\n    request_routing_rules=[{\n        \"name\": request_routing_rule_name,\n        \"priority\": 9,\n        \"rule_type\": \"Basic\",\n        \"http_listener_name\": listener_name,\n        \"backend_address_pool_name\": backend_address_pool_name,\n        \"backend_http_settings_name\": http_setting_name,\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleVirtualNetwork = new Azure.Network.VirtualNetwork(\"example\", new()\n    {\n        Name = \"example-network\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        AddressSpaces = new[]\n        {\n            \"10.254.0.0/16\",\n        },\n    });\n\n    var exampleSubnet = new Azure.Network.Subnet(\"example\", new()\n    {\n        Name = \"example\",\n        ResourceGroupName = example.Name,\n        VirtualNetworkName = exampleVirtualNetwork.Name,\n        AddressPrefixes = new[]\n        {\n            \"10.254.0.0/24\",\n        },\n    });\n\n    var examplePublicIp = new Azure.Network.PublicIp(\"example\", new()\n    {\n        Name = \"example-pip\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        AllocationMethod = \"Static\",\n    });\n\n    var backendAddressPoolName = exampleVirtualNetwork.Name.Apply(name =\u003e $\"{name}-beap\");\n\n    var frontendPortName = exampleVirtualNetwork.Name.Apply(name =\u003e $\"{name}-feport\");\n\n    var frontendIpConfigurationName = exampleVirtualNetwork.Name.Apply(name =\u003e $\"{name}-feip\");\n\n    var httpSettingName = exampleVirtualNetwork.Name.Apply(name =\u003e $\"{name}-be-htst\");\n\n    var listenerName = exampleVirtualNetwork.Name.Apply(name =\u003e $\"{name}-httplstn\");\n\n    var requestRoutingRuleName = exampleVirtualNetwork.Name.Apply(name =\u003e $\"{name}-rqrt\");\n\n    var redirectConfigurationName = exampleVirtualNetwork.Name.Apply(name =\u003e $\"{name}-rdrcfg\");\n\n    var network = new Azure.Network.ApplicationGateway(\"network\", new()\n    {\n        Name = \"example-appgateway\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        Sku = new Azure.Network.Inputs.ApplicationGatewaySkuArgs\n        {\n            Name = \"Standard_v2\",\n            Tier = \"Standard_v2\",\n            Capacity = 2,\n        },\n        GatewayIpConfigurations = new[]\n        {\n            new Azure.Network.Inputs.ApplicationGatewayGatewayIpConfigurationArgs\n            {\n                Name = \"my-gateway-ip-configuration\",\n                SubnetId = exampleSubnet.Id,\n            },\n        },\n        FrontendPorts = new[]\n        {\n            new Azure.Network.Inputs.ApplicationGatewayFrontendPortArgs\n            {\n                Name = frontendPortName,\n                Port = 80,\n            },\n        },\n        FrontendIpConfigurations = new[]\n        {\n            new Azure.Network.Inputs.ApplicationGatewayFrontendIpConfigurationArgs\n            {\n                Name = frontendIpConfigurationName,\n                PublicIpAddressId = examplePublicIp.Id,\n            },\n        },\n        BackendAddressPools = new[]\n        {\n            new Azure.Network.Inputs.ApplicationGatewayBackendAddressPoolArgs\n            {\n                Name = backendAddressPoolName,\n            },\n        },\n        BackendHttpSettings = new[]\n        {\n            new Azure.Network.Inputs.ApplicationGatewayBackendHttpSettingArgs\n            {\n                Name = httpSettingName,\n                CookieBasedAffinity = \"Disabled\",\n                Path = \"/path1/\",\n                Port = 80,\n                Protocol = \"Http\",\n                RequestTimeout = 60,\n            },\n        },\n        HttpListeners = new[]\n        {\n            new Azure.Network.Inputs.ApplicationGatewayHttpListenerArgs\n            {\n                Name = listenerName,\n                FrontendIpConfigurationName = frontendIpConfigurationName,\n                FrontendPortName = frontendPortName,\n                Protocol = \"Http\",\n            },\n        },\n        RequestRoutingRules = new[]\n        {\n            new Azure.Network.Inputs.ApplicationGatewayRequestRoutingRuleArgs\n            {\n                Name = requestRoutingRuleName,\n                Priority = 9,\n                RuleType = \"Basic\",\n                HttpListenerName = listenerName,\n                BackendAddressPoolName = backendAddressPoolName,\n                BackendHttpSettingsName = httpSettingName,\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, \"example\", \u0026network.VirtualNetworkArgs{\n\t\t\tName:              pulumi.String(\"example-network\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tAddressSpaces: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.254.0.0/16\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSubnet, err := network.NewSubnet(ctx, \"example\", \u0026network.SubnetArgs{\n\t\t\tName:               pulumi.String(\"example\"),\n\t\t\tResourceGroupName:  example.Name,\n\t\t\tVirtualNetworkName: exampleVirtualNetwork.Name,\n\t\t\tAddressPrefixes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.254.0.0/24\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texamplePublicIp, err := network.NewPublicIp(ctx, \"example\", \u0026network.PublicIpArgs{\n\t\t\tName:              pulumi.String(\"example-pip\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tAllocationMethod:  pulumi.String(\"Static\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tbackendAddressPoolName := exampleVirtualNetwork.Name.ApplyT(func(name string) (string, error) {\n\t\t\treturn fmt.Sprintf(\"%v-beap\", name), nil\n\t\t}).(pulumi.StringOutput)\n\t\tfrontendPortName := exampleVirtualNetwork.Name.ApplyT(func(name string) (string, error) {\n\t\t\treturn fmt.Sprintf(\"%v-feport\", name), nil\n\t\t}).(pulumi.StringOutput)\n\t\tfrontendIpConfigurationName := exampleVirtualNetwork.Name.ApplyT(func(name string) (string, error) {\n\t\t\treturn fmt.Sprintf(\"%v-feip\", name), nil\n\t\t}).(pulumi.StringOutput)\n\t\thttpSettingName := exampleVirtualNetwork.Name.ApplyT(func(name string) (string, error) {\n\t\t\treturn fmt.Sprintf(\"%v-be-htst\", name), nil\n\t\t}).(pulumi.StringOutput)\n\t\tlistenerName := exampleVirtualNetwork.Name.ApplyT(func(name string) (string, error) {\n\t\t\treturn fmt.Sprintf(\"%v-httplstn\", name), nil\n\t\t}).(pulumi.StringOutput)\n\t\trequestRoutingRuleName := exampleVirtualNetwork.Name.ApplyT(func(name string) (string, error) {\n\t\t\treturn fmt.Sprintf(\"%v-rqrt\", name), nil\n\t\t}).(pulumi.StringOutput)\n\t\t_ = exampleVirtualNetwork.Name.ApplyT(func(name string) (string, error) {\n\t\t\treturn fmt.Sprintf(\"%v-rdrcfg\", name), nil\n\t\t}).(pulumi.StringOutput)\n\t\t_, err = network.NewApplicationGateway(ctx, \"network\", \u0026network.ApplicationGatewayArgs{\n\t\t\tName:              pulumi.String(\"example-appgateway\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tSku: \u0026network.ApplicationGatewaySkuArgs{\n\t\t\t\tName:     pulumi.String(\"Standard_v2\"),\n\t\t\t\tTier:     pulumi.String(\"Standard_v2\"),\n\t\t\t\tCapacity: pulumi.Int(2),\n\t\t\t},\n\t\t\tGatewayIpConfigurations: network.ApplicationGatewayGatewayIpConfigurationArray{\n\t\t\t\t\u0026network.ApplicationGatewayGatewayIpConfigurationArgs{\n\t\t\t\t\tName:     pulumi.String(\"my-gateway-ip-configuration\"),\n\t\t\t\t\tSubnetId: exampleSubnet.ID(),\n\t\t\t\t},\n\t\t\t},\n\t\t\tFrontendPorts: network.ApplicationGatewayFrontendPortArray{\n\t\t\t\t\u0026network.ApplicationGatewayFrontendPortArgs{\n\t\t\t\t\tName: pulumi.String(frontendPortName),\n\t\t\t\t\tPort: pulumi.Int(80),\n\t\t\t\t},\n\t\t\t},\n\t\t\tFrontendIpConfigurations: network.ApplicationGatewayFrontendIpConfigurationArray{\n\t\t\t\t\u0026network.ApplicationGatewayFrontendIpConfigurationArgs{\n\t\t\t\t\tName:              pulumi.String(frontendIpConfigurationName),\n\t\t\t\t\tPublicIpAddressId: examplePublicIp.ID(),\n\t\t\t\t},\n\t\t\t},\n\t\t\tBackendAddressPools: network.ApplicationGatewayBackendAddressPoolArray{\n\t\t\t\t\u0026network.ApplicationGatewayBackendAddressPoolArgs{\n\t\t\t\t\tName: pulumi.String(backendAddressPoolName),\n\t\t\t\t},\n\t\t\t},\n\t\t\tBackendHttpSettings: network.ApplicationGatewayBackendHttpSettingArray{\n\t\t\t\t\u0026network.ApplicationGatewayBackendHttpSettingArgs{\n\t\t\t\t\tName:                pulumi.String(httpSettingName),\n\t\t\t\t\tCookieBasedAffinity: pulumi.String(\"Disabled\"),\n\t\t\t\t\tPath:                pulumi.String(\"/path1/\"),\n\t\t\t\t\tPort:                pulumi.Int(80),\n\t\t\t\t\tProtocol:            pulumi.String(\"Http\"),\n\t\t\t\t\tRequestTimeout:      pulumi.Int(60),\n\t\t\t\t},\n\t\t\t},\n\t\t\tHttpListeners: network.ApplicationGatewayHttpListenerArray{\n\t\t\t\t\u0026network.ApplicationGatewayHttpListenerArgs{\n\t\t\t\t\tName:                        pulumi.String(listenerName),\n\t\t\t\t\tFrontendIpConfigurationName: pulumi.String(frontendIpConfigurationName),\n\t\t\t\t\tFrontendPortName:            pulumi.String(frontendPortName),\n\t\t\t\t\tProtocol:                    pulumi.String(\"Http\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tRequestRoutingRules: network.ApplicationGatewayRequestRoutingRuleArray{\n\t\t\t\t\u0026network.ApplicationGatewayRequestRoutingRuleArgs{\n\t\t\t\t\tName:                    pulumi.String(requestRoutingRuleName),\n\t\t\t\t\tPriority:                pulumi.Int(9),\n\t\t\t\t\tRuleType:                pulumi.String(\"Basic\"),\n\t\t\t\t\tHttpListenerName:        pulumi.String(listenerName),\n\t\t\t\t\tBackendAddressPoolName:  pulumi.String(backendAddressPoolName),\n\t\t\t\t\tBackendHttpSettingsName: pulumi.String(httpSettingName),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.VirtualNetwork;\nimport com.pulumi.azure.network.VirtualNetworkArgs;\nimport com.pulumi.azure.network.Subnet;\nimport com.pulumi.azure.network.SubnetArgs;\nimport com.pulumi.azure.network.PublicIp;\nimport com.pulumi.azure.network.PublicIpArgs;\nimport com.pulumi.azure.network.ApplicationGateway;\nimport com.pulumi.azure.network.ApplicationGatewayArgs;\nimport com.pulumi.azure.network.inputs.ApplicationGatewaySkuArgs;\nimport com.pulumi.azure.network.inputs.ApplicationGatewayGatewayIpConfigurationArgs;\nimport com.pulumi.azure.network.inputs.ApplicationGatewayFrontendPortArgs;\nimport com.pulumi.azure.network.inputs.ApplicationGatewayFrontendIpConfigurationArgs;\nimport com.pulumi.azure.network.inputs.ApplicationGatewayBackendAddressPoolArgs;\nimport com.pulumi.azure.network.inputs.ApplicationGatewayBackendHttpSettingArgs;\nimport com.pulumi.azure.network.inputs.ApplicationGatewayHttpListenerArgs;\nimport com.pulumi.azure.network.inputs.ApplicationGatewayRequestRoutingRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleVirtualNetwork = new VirtualNetwork(\"exampleVirtualNetwork\", VirtualNetworkArgs.builder()\n            .name(\"example-network\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .addressSpaces(\"10.254.0.0/16\")\n            .build());\n\n        var exampleSubnet = new Subnet(\"exampleSubnet\", SubnetArgs.builder()\n            .name(\"example\")\n            .resourceGroupName(example.name())\n            .virtualNetworkName(exampleVirtualNetwork.name())\n            .addressPrefixes(\"10.254.0.0/24\")\n            .build());\n\n        var examplePublicIp = new PublicIp(\"examplePublicIp\", PublicIpArgs.builder()\n            .name(\"example-pip\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .allocationMethod(\"Static\")\n            .build());\n\n        final var backendAddressPoolName = exampleVirtualNetwork.name().applyValue(_name -\u003e String.format(\"%s-beap\", _name));\n\n        final var frontendPortName = exampleVirtualNetwork.name().applyValue(_name -\u003e String.format(\"%s-feport\", _name));\n\n        final var frontendIpConfigurationName = exampleVirtualNetwork.name().applyValue(_name -\u003e String.format(\"%s-feip\", _name));\n\n        final var httpSettingName = exampleVirtualNetwork.name().applyValue(_name -\u003e String.format(\"%s-be-htst\", _name));\n\n        final var listenerName = exampleVirtualNetwork.name().applyValue(_name -\u003e String.format(\"%s-httplstn\", _name));\n\n        final var requestRoutingRuleName = exampleVirtualNetwork.name().applyValue(_name -\u003e String.format(\"%s-rqrt\", _name));\n\n        final var redirectConfigurationName = exampleVirtualNetwork.name().applyValue(_name -\u003e String.format(\"%s-rdrcfg\", _name));\n\n        var network = new ApplicationGateway(\"network\", ApplicationGatewayArgs.builder()\n            .name(\"example-appgateway\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .sku(ApplicationGatewaySkuArgs.builder()\n                .name(\"Standard_v2\")\n                .tier(\"Standard_v2\")\n                .capacity(2)\n                .build())\n            .gatewayIpConfigurations(ApplicationGatewayGatewayIpConfigurationArgs.builder()\n                .name(\"my-gateway-ip-configuration\")\n                .subnetId(exampleSubnet.id())\n                .build())\n            .frontendPorts(ApplicationGatewayFrontendPortArgs.builder()\n                .name(frontendPortName)\n                .port(80)\n                .build())\n            .frontendIpConfigurations(ApplicationGatewayFrontendIpConfigurationArgs.builder()\n                .name(frontendIpConfigurationName)\n                .publicIpAddressId(examplePublicIp.id())\n                .build())\n            .backendAddressPools(ApplicationGatewayBackendAddressPoolArgs.builder()\n                .name(backendAddressPoolName)\n                .build())\n            .backendHttpSettings(ApplicationGatewayBackendHttpSettingArgs.builder()\n                .name(httpSettingName)\n                .cookieBasedAffinity(\"Disabled\")\n                .path(\"/path1/\")\n                .port(80)\n                .protocol(\"Http\")\n                .requestTimeout(60)\n                .build())\n            .httpListeners(ApplicationGatewayHttpListenerArgs.builder()\n                .name(listenerName)\n                .frontendIpConfigurationName(frontendIpConfigurationName)\n                .frontendPortName(frontendPortName)\n                .protocol(\"Http\")\n                .build())\n            .requestRoutingRules(ApplicationGatewayRequestRoutingRuleArgs.builder()\n                .name(requestRoutingRuleName)\n                .priority(9)\n                .ruleType(\"Basic\")\n                .httpListenerName(listenerName)\n                .backendAddressPoolName(backendAddressPoolName)\n                .backendHttpSettingsName(httpSettingName)\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleVirtualNetwork:\n    type: azure:network:VirtualNetwork\n    name: example\n    properties:\n      name: example-network\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      addressSpaces:\n        - 10.254.0.0/16\n  exampleSubnet:\n    type: azure:network:Subnet\n    name: example\n    properties:\n      name: example\n      resourceGroupName: ${example.name}\n      virtualNetworkName: ${exampleVirtualNetwork.name}\n      addressPrefixes:\n        - 10.254.0.0/24\n  examplePublicIp:\n    type: azure:network:PublicIp\n    name: example\n    properties:\n      name: example-pip\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      allocationMethod: Static\n  network:\n    type: azure:network:ApplicationGateway\n    properties:\n      name: example-appgateway\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      sku:\n        name: Standard_v2\n        tier: Standard_v2\n        capacity: 2\n      gatewayIpConfigurations:\n        - name: my-gateway-ip-configuration\n          subnetId: ${exampleSubnet.id}\n      frontendPorts:\n        - name: ${frontendPortName}\n          port: 80\n      frontendIpConfigurations:\n        - name: ${frontendIpConfigurationName}\n          publicIpAddressId: ${examplePublicIp.id}\n      backendAddressPools:\n        - name: ${backendAddressPoolName}\n      backendHttpSettings:\n        - name: ${httpSettingName}\n          cookieBasedAffinity: Disabled\n          path: /path1/\n          port: 80\n          protocol: Http\n          requestTimeout: 60\n      httpListeners:\n        - name: ${listenerName}\n          frontendIpConfigurationName: ${frontendIpConfigurationName}\n          frontendPortName: ${frontendPortName}\n          protocol: Http\n      requestRoutingRules:\n        - name: ${requestRoutingRuleName}\n          priority: 9\n          ruleType: Basic\n          httpListenerName: ${listenerName}\n          backendAddressPoolName: ${backendAddressPoolName}\n          backendHttpSettingsName: ${httpSettingName}\nvariables:\n  backendAddressPoolName: ${exampleVirtualNetwork.name}-beap\n  frontendPortName: ${exampleVirtualNetwork.name}-feport\n  frontendIpConfigurationName: ${exampleVirtualNetwork.name}-feip\n  httpSettingName: ${exampleVirtualNetwork.name}-be-htst\n  listenerName: ${exampleVirtualNetwork.name}-httplstn\n  requestRoutingRuleName: ${exampleVirtualNetwork.name}-rqrt\n  redirectConfigurationName: ${exampleVirtualNetwork.name}-rdrcfg\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2025-01-01\n\n## Import\n\nApplication Gateway's can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:network/applicationGateway:ApplicationGateway example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Network/applicationGateways/myGateway1\n```\n\n","properties":{"authenticationCertificates":{"type":"array","items":{"$ref":"#/types/azure:network/ApplicationGatewayAuthenticationCertificate:ApplicationGatewayAuthenticationCertificate"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`authenticationCertificate`\" pulumi-lang-dotnet=\"`AuthenticationCertificate`\" pulumi-lang-go=\"`authenticationCertificate`\" pulumi-lang-python=\"`authentication_certificate`\" pulumi-lang-yaml=\"`authenticationCertificate`\" pulumi-lang-java=\"`authenticationCertificate`\"\u003e`authentication_certificate`\u003c/span\u003e blocks as defined below.\n"},"autoscaleConfiguration":{"$ref":"#/types/azure:network/ApplicationGatewayAutoscaleConfiguration:ApplicationGatewayAutoscaleConfiguration","description":"An \u003cspan pulumi-lang-nodejs=\"`autoscaleConfiguration`\" pulumi-lang-dotnet=\"`AutoscaleConfiguration`\" pulumi-lang-go=\"`autoscaleConfiguration`\" pulumi-lang-python=\"`autoscale_configuration`\" pulumi-lang-yaml=\"`autoscaleConfiguration`\" pulumi-lang-java=\"`autoscaleConfiguration`\"\u003e`autoscale_configuration`\u003c/span\u003e block as defined below.\n"},"backendAddressPools":{"type":"array","items":{"$ref":"#/types/azure:network/ApplicationGatewayBackendAddressPool:ApplicationGatewayBackendAddressPool"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`backendAddressPool`\" pulumi-lang-dotnet=\"`BackendAddressPool`\" pulumi-lang-go=\"`backendAddressPool`\" pulumi-lang-python=\"`backend_address_pool`\" pulumi-lang-yaml=\"`backendAddressPool`\" pulumi-lang-java=\"`backendAddressPool`\"\u003e`backend_address_pool`\u003c/span\u003e blocks as defined below.\n"},"backendHttpSettings":{"type":"array","items":{"$ref":"#/types/azure:network/ApplicationGatewayBackendHttpSetting:ApplicationGatewayBackendHttpSetting"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`backendHttpSettings`\" pulumi-lang-dotnet=\"`BackendHttpSettings`\" pulumi-lang-go=\"`backendHttpSettings`\" pulumi-lang-python=\"`backend_http_settings`\" pulumi-lang-yaml=\"`backendHttpSettings`\" pulumi-lang-java=\"`backendHttpSettings`\"\u003e`backend_http_settings`\u003c/span\u003e blocks as defined below.\n"},"customErrorConfigurations":{"type":"array","items":{"$ref":"#/types/azure:network/ApplicationGatewayCustomErrorConfiguration:ApplicationGatewayCustomErrorConfiguration"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`customErrorConfiguration`\" pulumi-lang-dotnet=\"`CustomErrorConfiguration`\" pulumi-lang-go=\"`customErrorConfiguration`\" pulumi-lang-python=\"`custom_error_configuration`\" pulumi-lang-yaml=\"`customErrorConfiguration`\" pulumi-lang-java=\"`customErrorConfiguration`\"\u003e`custom_error_configuration`\u003c/span\u003e blocks as defined below.\n"},"enableHttp2":{"type":"boolean","description":"Is HTTP2 enabled on the application gateway resource? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"fipsEnabled":{"type":"boolean","description":"Is FIPS enabled on the Application Gateway?\n"},"firewallPolicyId":{"type":"string","description":"The ID of the Web Application Firewall Policy.\n"},"forceFirewallPolicyAssociation":{"type":"boolean","description":"Is the Firewall Policy associated with the Application Gateway?\n"},"frontendIpConfigurations":{"type":"array","items":{"$ref":"#/types/azure:network/ApplicationGatewayFrontendIpConfiguration:ApplicationGatewayFrontendIpConfiguration"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`frontendIpConfiguration`\" pulumi-lang-dotnet=\"`FrontendIpConfiguration`\" pulumi-lang-go=\"`frontendIpConfiguration`\" pulumi-lang-python=\"`frontend_ip_configuration`\" pulumi-lang-yaml=\"`frontendIpConfiguration`\" pulumi-lang-java=\"`frontendIpConfiguration`\"\u003e`frontend_ip_configuration`\u003c/span\u003e blocks as defined below.\n"},"frontendPorts":{"type":"array","items":{"$ref":"#/types/azure:network/ApplicationGatewayFrontendPort:ApplicationGatewayFrontendPort"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`frontendPort`\" pulumi-lang-dotnet=\"`FrontendPort`\" pulumi-lang-go=\"`frontendPort`\" pulumi-lang-python=\"`frontend_port`\" pulumi-lang-yaml=\"`frontendPort`\" pulumi-lang-java=\"`frontendPort`\"\u003e`frontend_port`\u003c/span\u003e blocks as defined below.\n"},"gatewayIpConfigurations":{"type":"array","items":{"$ref":"#/types/azure:network/ApplicationGatewayGatewayIpConfiguration:ApplicationGatewayGatewayIpConfiguration"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`gatewayIpConfiguration`\" pulumi-lang-dotnet=\"`GatewayIpConfiguration`\" pulumi-lang-go=\"`gatewayIpConfiguration`\" pulumi-lang-python=\"`gateway_ip_configuration`\" pulumi-lang-yaml=\"`gatewayIpConfiguration`\" pulumi-lang-java=\"`gatewayIpConfiguration`\"\u003e`gateway_ip_configuration`\u003c/span\u003e blocks as defined below.\n"},"global":{"$ref":"#/types/azure:network/ApplicationGatewayGlobal:ApplicationGatewayGlobal","description":"A \u003cspan pulumi-lang-nodejs=\"`global`\" pulumi-lang-dotnet=\"`Global`\" pulumi-lang-go=\"`global`\" pulumi-lang-python=\"`global`\" pulumi-lang-yaml=\"`global`\" pulumi-lang-java=\"`global`\"\u003e`global`\u003c/span\u003e block as defined below.\n"},"httpListeners":{"type":"array","items":{"$ref":"#/types/azure:network/ApplicationGatewayHttpListener:ApplicationGatewayHttpListener"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`httpListener`\" pulumi-lang-dotnet=\"`HttpListener`\" pulumi-lang-go=\"`httpListener`\" pulumi-lang-python=\"`http_listener`\" pulumi-lang-yaml=\"`httpListener`\" pulumi-lang-java=\"`httpListener`\"\u003e`http_listener`\u003c/span\u003e blocks as defined below.\n"},"identity":{"$ref":"#/types/azure:network/ApplicationGatewayIdentity:ApplicationGatewayIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"location":{"type":"string","description":"The Azure region where the Application Gateway should exist. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"The name of the Application Gateway. Changing this forces a new resource to be created.\n"},"privateEndpointConnections":{"type":"array","items":{"$ref":"#/types/azure:network/ApplicationGatewayPrivateEndpointConnection:ApplicationGatewayPrivateEndpointConnection"},"description":"A list of \u003cspan pulumi-lang-nodejs=\"`privateEndpointConnection`\" pulumi-lang-dotnet=\"`PrivateEndpointConnection`\" pulumi-lang-go=\"`privateEndpointConnection`\" pulumi-lang-python=\"`private_endpoint_connection`\" pulumi-lang-yaml=\"`privateEndpointConnection`\" pulumi-lang-java=\"`privateEndpointConnection`\"\u003e`private_endpoint_connection`\u003c/span\u003e blocks as defined below.\n"},"privateLinkConfigurations":{"type":"array","items":{"$ref":"#/types/azure:network/ApplicationGatewayPrivateLinkConfiguration:ApplicationGatewayPrivateLinkConfiguration"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`privateLinkConfiguration`\" pulumi-lang-dotnet=\"`PrivateLinkConfiguration`\" pulumi-lang-go=\"`privateLinkConfiguration`\" pulumi-lang-python=\"`private_link_configuration`\" pulumi-lang-yaml=\"`privateLinkConfiguration`\" pulumi-lang-java=\"`privateLinkConfiguration`\"\u003e`private_link_configuration`\u003c/span\u003e blocks as defined below.\n"},"probes":{"type":"array","items":{"$ref":"#/types/azure:network/ApplicationGatewayProbe:ApplicationGatewayProbe"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`probe`\" pulumi-lang-dotnet=\"`Probe`\" pulumi-lang-go=\"`probe`\" pulumi-lang-python=\"`probe`\" pulumi-lang-yaml=\"`probe`\" pulumi-lang-java=\"`probe`\"\u003e`probe`\u003c/span\u003e blocks as defined below.\n"},"redirectConfigurations":{"type":"array","items":{"$ref":"#/types/azure:network/ApplicationGatewayRedirectConfiguration:ApplicationGatewayRedirectConfiguration"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`redirectConfiguration`\" pulumi-lang-dotnet=\"`RedirectConfiguration`\" pulumi-lang-go=\"`redirectConfiguration`\" pulumi-lang-python=\"`redirect_configuration`\" pulumi-lang-yaml=\"`redirectConfiguration`\" pulumi-lang-java=\"`redirectConfiguration`\"\u003e`redirect_configuration`\u003c/span\u003e blocks as defined below.\n"},"requestRoutingRules":{"type":"array","items":{"$ref":"#/types/azure:network/ApplicationGatewayRequestRoutingRule:ApplicationGatewayRequestRoutingRule"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`requestRoutingRule`\" pulumi-lang-dotnet=\"`RequestRoutingRule`\" pulumi-lang-go=\"`requestRoutingRule`\" pulumi-lang-python=\"`request_routing_rule`\" pulumi-lang-yaml=\"`requestRoutingRule`\" pulumi-lang-java=\"`requestRoutingRule`\"\u003e`request_routing_rule`\u003c/span\u003e blocks as defined below.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to the Application Gateway should exist. Changing this forces a new resource to be created.\n"},"rewriteRuleSets":{"type":"array","items":{"$ref":"#/types/azure:network/ApplicationGatewayRewriteRuleSet:ApplicationGatewayRewriteRuleSet"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`rewriteRuleSet`\" pulumi-lang-dotnet=\"`RewriteRuleSet`\" pulumi-lang-go=\"`rewriteRuleSet`\" pulumi-lang-python=\"`rewrite_rule_set`\" pulumi-lang-yaml=\"`rewriteRuleSet`\" pulumi-lang-java=\"`rewriteRuleSet`\"\u003e`rewrite_rule_set`\u003c/span\u003e blocks as defined below. Only valid for v2 WAF and Standard SKUs.\n"},"sku":{"$ref":"#/types/azure:network/ApplicationGatewaySku:ApplicationGatewaySku","description":"A \u003cspan pulumi-lang-nodejs=\"`sku`\" pulumi-lang-dotnet=\"`Sku`\" pulumi-lang-go=\"`sku`\" pulumi-lang-python=\"`sku`\" pulumi-lang-yaml=\"`sku`\" pulumi-lang-java=\"`sku`\"\u003e`sku`\u003c/span\u003e block as defined below.\n"},"sslCertificates":{"type":"array","items":{"$ref":"#/types/azure:network/ApplicationGatewaySslCertificate:ApplicationGatewaySslCertificate"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`sslCertificate`\" pulumi-lang-dotnet=\"`SslCertificate`\" pulumi-lang-go=\"`sslCertificate`\" pulumi-lang-python=\"`ssl_certificate`\" pulumi-lang-yaml=\"`sslCertificate`\" pulumi-lang-java=\"`sslCertificate`\"\u003e`ssl_certificate`\u003c/span\u003e blocks as defined below.\n"},"sslPolicy":{"$ref":"#/types/azure:network/ApplicationGatewaySslPolicy:ApplicationGatewaySslPolicy","description":"a \u003cspan pulumi-lang-nodejs=\"`sslPolicy`\" pulumi-lang-dotnet=\"`SslPolicy`\" pulumi-lang-go=\"`sslPolicy`\" pulumi-lang-python=\"`ssl_policy`\" pulumi-lang-yaml=\"`sslPolicy`\" pulumi-lang-java=\"`sslPolicy`\"\u003e`ssl_policy`\u003c/span\u003e block as defined below.\n"},"sslProfiles":{"type":"array","items":{"$ref":"#/types/azure:network/ApplicationGatewaySslProfile:ApplicationGatewaySslProfile"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`sslProfile`\" pulumi-lang-dotnet=\"`SslProfile`\" pulumi-lang-go=\"`sslProfile`\" pulumi-lang-python=\"`ssl_profile`\" pulumi-lang-yaml=\"`sslProfile`\" pulumi-lang-java=\"`sslProfile`\"\u003e`ssl_profile`\u003c/span\u003e blocks as defined below.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"trustedClientCertificates":{"type":"array","items":{"$ref":"#/types/azure:network/ApplicationGatewayTrustedClientCertificate:ApplicationGatewayTrustedClientCertificate"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`trustedClientCertificate`\" pulumi-lang-dotnet=\"`TrustedClientCertificate`\" pulumi-lang-go=\"`trustedClientCertificate`\" pulumi-lang-python=\"`trusted_client_certificate`\" pulumi-lang-yaml=\"`trustedClientCertificate`\" pulumi-lang-java=\"`trustedClientCertificate`\"\u003e`trusted_client_certificate`\u003c/span\u003e blocks as defined below.\n"},"trustedRootCertificates":{"type":"array","items":{"$ref":"#/types/azure:network/ApplicationGatewayTrustedRootCertificate:ApplicationGatewayTrustedRootCertificate"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`trustedRootCertificate`\" pulumi-lang-dotnet=\"`TrustedRootCertificate`\" pulumi-lang-go=\"`trustedRootCertificate`\" pulumi-lang-python=\"`trusted_root_certificate`\" pulumi-lang-yaml=\"`trustedRootCertificate`\" pulumi-lang-java=\"`trustedRootCertificate`\"\u003e`trusted_root_certificate`\u003c/span\u003e blocks as defined below.\n"},"urlPathMaps":{"type":"array","items":{"$ref":"#/types/azure:network/ApplicationGatewayUrlPathMap:ApplicationGatewayUrlPathMap"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`urlPathMap`\" pulumi-lang-dotnet=\"`UrlPathMap`\" pulumi-lang-go=\"`urlPathMap`\" pulumi-lang-python=\"`url_path_map`\" pulumi-lang-yaml=\"`urlPathMap`\" pulumi-lang-java=\"`urlPathMap`\"\u003e`url_path_map`\u003c/span\u003e blocks as defined below.\n"},"wafConfiguration":{"$ref":"#/types/azure:network/ApplicationGatewayWafConfiguration:ApplicationGatewayWafConfiguration","description":"A \u003cspan pulumi-lang-nodejs=\"`wafConfiguration`\" pulumi-lang-dotnet=\"`WafConfiguration`\" pulumi-lang-go=\"`wafConfiguration`\" pulumi-lang-python=\"`waf_configuration`\" pulumi-lang-yaml=\"`wafConfiguration`\" pulumi-lang-java=\"`wafConfiguration`\"\u003e`waf_configuration`\u003c/span\u003e block as defined below.\n"},"zones":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Availability Zones in which this Application Gateway should be located. Changing this forces a new Application Gateway to be created.\n\n\u003e **Note:** Availability Zones are not supported in all regions at this time, please check the [official documentation](https://docs.microsoft.com/azure/availability-zones/az-overview) for more information. They are also only supported for [v2 SKUs](https://docs.microsoft.com/azure/application-gateway/application-gateway-autoscaling-zone-redundant)\n"}},"required":["backendAddressPools","backendHttpSettings","frontendIpConfigurations","frontendPorts","gatewayIpConfigurations","httpListeners","location","name","privateEndpointConnections","requestRoutingRules","resourceGroupName","sku","sslPolicy"],"inputProperties":{"authenticationCertificates":{"type":"array","items":{"$ref":"#/types/azure:network/ApplicationGatewayAuthenticationCertificate:ApplicationGatewayAuthenticationCertificate"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`authenticationCertificate`\" pulumi-lang-dotnet=\"`AuthenticationCertificate`\" pulumi-lang-go=\"`authenticationCertificate`\" pulumi-lang-python=\"`authentication_certificate`\" pulumi-lang-yaml=\"`authenticationCertificate`\" pulumi-lang-java=\"`authenticationCertificate`\"\u003e`authentication_certificate`\u003c/span\u003e blocks as defined below.\n"},"autoscaleConfiguration":{"$ref":"#/types/azure:network/ApplicationGatewayAutoscaleConfiguration:ApplicationGatewayAutoscaleConfiguration","description":"An \u003cspan pulumi-lang-nodejs=\"`autoscaleConfiguration`\" pulumi-lang-dotnet=\"`AutoscaleConfiguration`\" pulumi-lang-go=\"`autoscaleConfiguration`\" pulumi-lang-python=\"`autoscale_configuration`\" pulumi-lang-yaml=\"`autoscaleConfiguration`\" pulumi-lang-java=\"`autoscaleConfiguration`\"\u003e`autoscale_configuration`\u003c/span\u003e block as defined below.\n"},"backendAddressPools":{"type":"array","items":{"$ref":"#/types/azure:network/ApplicationGatewayBackendAddressPool:ApplicationGatewayBackendAddressPool"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`backendAddressPool`\" pulumi-lang-dotnet=\"`BackendAddressPool`\" pulumi-lang-go=\"`backendAddressPool`\" pulumi-lang-python=\"`backend_address_pool`\" pulumi-lang-yaml=\"`backendAddressPool`\" pulumi-lang-java=\"`backendAddressPool`\"\u003e`backend_address_pool`\u003c/span\u003e blocks as defined below.\n"},"backendHttpSettings":{"type":"array","items":{"$ref":"#/types/azure:network/ApplicationGatewayBackendHttpSetting:ApplicationGatewayBackendHttpSetting"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`backendHttpSettings`\" pulumi-lang-dotnet=\"`BackendHttpSettings`\" pulumi-lang-go=\"`backendHttpSettings`\" pulumi-lang-python=\"`backend_http_settings`\" pulumi-lang-yaml=\"`backendHttpSettings`\" pulumi-lang-java=\"`backendHttpSettings`\"\u003e`backend_http_settings`\u003c/span\u003e blocks as defined below.\n"},"customErrorConfigurations":{"type":"array","items":{"$ref":"#/types/azure:network/ApplicationGatewayCustomErrorConfiguration:ApplicationGatewayCustomErrorConfiguration"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`customErrorConfiguration`\" pulumi-lang-dotnet=\"`CustomErrorConfiguration`\" pulumi-lang-go=\"`customErrorConfiguration`\" pulumi-lang-python=\"`custom_error_configuration`\" pulumi-lang-yaml=\"`customErrorConfiguration`\" pulumi-lang-java=\"`customErrorConfiguration`\"\u003e`custom_error_configuration`\u003c/span\u003e blocks as defined below.\n"},"enableHttp2":{"type":"boolean","description":"Is HTTP2 enabled on the application gateway resource? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"fipsEnabled":{"type":"boolean","description":"Is FIPS enabled on the Application Gateway?\n"},"firewallPolicyId":{"type":"string","description":"The ID of the Web Application Firewall Policy.\n"},"forceFirewallPolicyAssociation":{"type":"boolean","description":"Is the Firewall Policy associated with the Application Gateway?\n"},"frontendIpConfigurations":{"type":"array","items":{"$ref":"#/types/azure:network/ApplicationGatewayFrontendIpConfiguration:ApplicationGatewayFrontendIpConfiguration"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`frontendIpConfiguration`\" pulumi-lang-dotnet=\"`FrontendIpConfiguration`\" pulumi-lang-go=\"`frontendIpConfiguration`\" pulumi-lang-python=\"`frontend_ip_configuration`\" pulumi-lang-yaml=\"`frontendIpConfiguration`\" pulumi-lang-java=\"`frontendIpConfiguration`\"\u003e`frontend_ip_configuration`\u003c/span\u003e blocks as defined below.\n"},"frontendPorts":{"type":"array","items":{"$ref":"#/types/azure:network/ApplicationGatewayFrontendPort:ApplicationGatewayFrontendPort"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`frontendPort`\" pulumi-lang-dotnet=\"`FrontendPort`\" pulumi-lang-go=\"`frontendPort`\" pulumi-lang-python=\"`frontend_port`\" pulumi-lang-yaml=\"`frontendPort`\" pulumi-lang-java=\"`frontendPort`\"\u003e`frontend_port`\u003c/span\u003e blocks as defined below.\n"},"gatewayIpConfigurations":{"type":"array","items":{"$ref":"#/types/azure:network/ApplicationGatewayGatewayIpConfiguration:ApplicationGatewayGatewayIpConfiguration"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`gatewayIpConfiguration`\" pulumi-lang-dotnet=\"`GatewayIpConfiguration`\" pulumi-lang-go=\"`gatewayIpConfiguration`\" pulumi-lang-python=\"`gateway_ip_configuration`\" pulumi-lang-yaml=\"`gatewayIpConfiguration`\" pulumi-lang-java=\"`gatewayIpConfiguration`\"\u003e`gateway_ip_configuration`\u003c/span\u003e blocks as defined below.\n"},"global":{"$ref":"#/types/azure:network/ApplicationGatewayGlobal:ApplicationGatewayGlobal","description":"A \u003cspan pulumi-lang-nodejs=\"`global`\" pulumi-lang-dotnet=\"`Global`\" pulumi-lang-go=\"`global`\" pulumi-lang-python=\"`global`\" pulumi-lang-yaml=\"`global`\" pulumi-lang-java=\"`global`\"\u003e`global`\u003c/span\u003e block as defined below.\n"},"httpListeners":{"type":"array","items":{"$ref":"#/types/azure:network/ApplicationGatewayHttpListener:ApplicationGatewayHttpListener"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`httpListener`\" pulumi-lang-dotnet=\"`HttpListener`\" pulumi-lang-go=\"`httpListener`\" pulumi-lang-python=\"`http_listener`\" pulumi-lang-yaml=\"`httpListener`\" pulumi-lang-java=\"`httpListener`\"\u003e`http_listener`\u003c/span\u003e blocks as defined below.\n"},"identity":{"$ref":"#/types/azure:network/ApplicationGatewayIdentity:ApplicationGatewayIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"location":{"type":"string","description":"The Azure region where the Application Gateway should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the Application Gateway. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"privateLinkConfigurations":{"type":"array","items":{"$ref":"#/types/azure:network/ApplicationGatewayPrivateLinkConfiguration:ApplicationGatewayPrivateLinkConfiguration"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`privateLinkConfiguration`\" pulumi-lang-dotnet=\"`PrivateLinkConfiguration`\" pulumi-lang-go=\"`privateLinkConfiguration`\" pulumi-lang-python=\"`private_link_configuration`\" pulumi-lang-yaml=\"`privateLinkConfiguration`\" pulumi-lang-java=\"`privateLinkConfiguration`\"\u003e`private_link_configuration`\u003c/span\u003e blocks as defined below.\n"},"probes":{"type":"array","items":{"$ref":"#/types/azure:network/ApplicationGatewayProbe:ApplicationGatewayProbe"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`probe`\" pulumi-lang-dotnet=\"`Probe`\" pulumi-lang-go=\"`probe`\" pulumi-lang-python=\"`probe`\" pulumi-lang-yaml=\"`probe`\" pulumi-lang-java=\"`probe`\"\u003e`probe`\u003c/span\u003e blocks as defined below.\n"},"redirectConfigurations":{"type":"array","items":{"$ref":"#/types/azure:network/ApplicationGatewayRedirectConfiguration:ApplicationGatewayRedirectConfiguration"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`redirectConfiguration`\" pulumi-lang-dotnet=\"`RedirectConfiguration`\" pulumi-lang-go=\"`redirectConfiguration`\" pulumi-lang-python=\"`redirect_configuration`\" pulumi-lang-yaml=\"`redirectConfiguration`\" pulumi-lang-java=\"`redirectConfiguration`\"\u003e`redirect_configuration`\u003c/span\u003e blocks as defined below.\n"},"requestRoutingRules":{"type":"array","items":{"$ref":"#/types/azure:network/ApplicationGatewayRequestRoutingRule:ApplicationGatewayRequestRoutingRule"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`requestRoutingRule`\" pulumi-lang-dotnet=\"`RequestRoutingRule`\" pulumi-lang-go=\"`requestRoutingRule`\" pulumi-lang-python=\"`request_routing_rule`\" pulumi-lang-yaml=\"`requestRoutingRule`\" pulumi-lang-java=\"`requestRoutingRule`\"\u003e`request_routing_rule`\u003c/span\u003e blocks as defined below.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to the Application Gateway should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"rewriteRuleSets":{"type":"array","items":{"$ref":"#/types/azure:network/ApplicationGatewayRewriteRuleSet:ApplicationGatewayRewriteRuleSet"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`rewriteRuleSet`\" pulumi-lang-dotnet=\"`RewriteRuleSet`\" pulumi-lang-go=\"`rewriteRuleSet`\" pulumi-lang-python=\"`rewrite_rule_set`\" pulumi-lang-yaml=\"`rewriteRuleSet`\" pulumi-lang-java=\"`rewriteRuleSet`\"\u003e`rewrite_rule_set`\u003c/span\u003e blocks as defined below. Only valid for v2 WAF and Standard SKUs.\n"},"sku":{"$ref":"#/types/azure:network/ApplicationGatewaySku:ApplicationGatewaySku","description":"A \u003cspan pulumi-lang-nodejs=\"`sku`\" pulumi-lang-dotnet=\"`Sku`\" pulumi-lang-go=\"`sku`\" pulumi-lang-python=\"`sku`\" pulumi-lang-yaml=\"`sku`\" pulumi-lang-java=\"`sku`\"\u003e`sku`\u003c/span\u003e block as defined below.\n"},"sslCertificates":{"type":"array","items":{"$ref":"#/types/azure:network/ApplicationGatewaySslCertificate:ApplicationGatewaySslCertificate"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`sslCertificate`\" pulumi-lang-dotnet=\"`SslCertificate`\" pulumi-lang-go=\"`sslCertificate`\" pulumi-lang-python=\"`ssl_certificate`\" pulumi-lang-yaml=\"`sslCertificate`\" pulumi-lang-java=\"`sslCertificate`\"\u003e`ssl_certificate`\u003c/span\u003e blocks as defined below.\n"},"sslPolicy":{"$ref":"#/types/azure:network/ApplicationGatewaySslPolicy:ApplicationGatewaySslPolicy","description":"a \u003cspan pulumi-lang-nodejs=\"`sslPolicy`\" pulumi-lang-dotnet=\"`SslPolicy`\" pulumi-lang-go=\"`sslPolicy`\" pulumi-lang-python=\"`ssl_policy`\" pulumi-lang-yaml=\"`sslPolicy`\" pulumi-lang-java=\"`sslPolicy`\"\u003e`ssl_policy`\u003c/span\u003e block as defined below.\n"},"sslProfiles":{"type":"array","items":{"$ref":"#/types/azure:network/ApplicationGatewaySslProfile:ApplicationGatewaySslProfile"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`sslProfile`\" pulumi-lang-dotnet=\"`SslProfile`\" pulumi-lang-go=\"`sslProfile`\" pulumi-lang-python=\"`ssl_profile`\" pulumi-lang-yaml=\"`sslProfile`\" pulumi-lang-java=\"`sslProfile`\"\u003e`ssl_profile`\u003c/span\u003e blocks as defined below.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"trustedClientCertificates":{"type":"array","items":{"$ref":"#/types/azure:network/ApplicationGatewayTrustedClientCertificate:ApplicationGatewayTrustedClientCertificate"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`trustedClientCertificate`\" pulumi-lang-dotnet=\"`TrustedClientCertificate`\" pulumi-lang-go=\"`trustedClientCertificate`\" pulumi-lang-python=\"`trusted_client_certificate`\" pulumi-lang-yaml=\"`trustedClientCertificate`\" pulumi-lang-java=\"`trustedClientCertificate`\"\u003e`trusted_client_certificate`\u003c/span\u003e blocks as defined below.\n"},"trustedRootCertificates":{"type":"array","items":{"$ref":"#/types/azure:network/ApplicationGatewayTrustedRootCertificate:ApplicationGatewayTrustedRootCertificate"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`trustedRootCertificate`\" pulumi-lang-dotnet=\"`TrustedRootCertificate`\" pulumi-lang-go=\"`trustedRootCertificate`\" pulumi-lang-python=\"`trusted_root_certificate`\" pulumi-lang-yaml=\"`trustedRootCertificate`\" pulumi-lang-java=\"`trustedRootCertificate`\"\u003e`trusted_root_certificate`\u003c/span\u003e blocks as defined below.\n"},"urlPathMaps":{"type":"array","items":{"$ref":"#/types/azure:network/ApplicationGatewayUrlPathMap:ApplicationGatewayUrlPathMap"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`urlPathMap`\" pulumi-lang-dotnet=\"`UrlPathMap`\" pulumi-lang-go=\"`urlPathMap`\" pulumi-lang-python=\"`url_path_map`\" pulumi-lang-yaml=\"`urlPathMap`\" pulumi-lang-java=\"`urlPathMap`\"\u003e`url_path_map`\u003c/span\u003e blocks as defined below.\n"},"wafConfiguration":{"$ref":"#/types/azure:network/ApplicationGatewayWafConfiguration:ApplicationGatewayWafConfiguration","description":"A \u003cspan pulumi-lang-nodejs=\"`wafConfiguration`\" pulumi-lang-dotnet=\"`WafConfiguration`\" pulumi-lang-go=\"`wafConfiguration`\" pulumi-lang-python=\"`waf_configuration`\" pulumi-lang-yaml=\"`wafConfiguration`\" pulumi-lang-java=\"`wafConfiguration`\"\u003e`waf_configuration`\u003c/span\u003e block as defined below.\n"},"zones":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Availability Zones in which this Application Gateway should be located. Changing this forces a new Application Gateway to be created.\n\n\u003e **Note:** Availability Zones are not supported in all regions at this time, please check the [official documentation](https://docs.microsoft.com/azure/availability-zones/az-overview) for more information. They are also only supported for [v2 SKUs](https://docs.microsoft.com/azure/application-gateway/application-gateway-autoscaling-zone-redundant)\n","willReplaceOnChanges":true}},"requiredInputs":["backendAddressPools","backendHttpSettings","frontendIpConfigurations","frontendPorts","gatewayIpConfigurations","httpListeners","requestRoutingRules","resourceGroupName","sku"],"stateInputs":{"description":"Input properties used for looking up and filtering ApplicationGateway resources.\n","properties":{"authenticationCertificates":{"type":"array","items":{"$ref":"#/types/azure:network/ApplicationGatewayAuthenticationCertificate:ApplicationGatewayAuthenticationCertificate"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`authenticationCertificate`\" pulumi-lang-dotnet=\"`AuthenticationCertificate`\" pulumi-lang-go=\"`authenticationCertificate`\" pulumi-lang-python=\"`authentication_certificate`\" pulumi-lang-yaml=\"`authenticationCertificate`\" pulumi-lang-java=\"`authenticationCertificate`\"\u003e`authentication_certificate`\u003c/span\u003e blocks as defined below.\n"},"autoscaleConfiguration":{"$ref":"#/types/azure:network/ApplicationGatewayAutoscaleConfiguration:ApplicationGatewayAutoscaleConfiguration","description":"An \u003cspan pulumi-lang-nodejs=\"`autoscaleConfiguration`\" pulumi-lang-dotnet=\"`AutoscaleConfiguration`\" pulumi-lang-go=\"`autoscaleConfiguration`\" pulumi-lang-python=\"`autoscale_configuration`\" pulumi-lang-yaml=\"`autoscaleConfiguration`\" pulumi-lang-java=\"`autoscaleConfiguration`\"\u003e`autoscale_configuration`\u003c/span\u003e block as defined below.\n"},"backendAddressPools":{"type":"array","items":{"$ref":"#/types/azure:network/ApplicationGatewayBackendAddressPool:ApplicationGatewayBackendAddressPool"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`backendAddressPool`\" pulumi-lang-dotnet=\"`BackendAddressPool`\" pulumi-lang-go=\"`backendAddressPool`\" pulumi-lang-python=\"`backend_address_pool`\" pulumi-lang-yaml=\"`backendAddressPool`\" pulumi-lang-java=\"`backendAddressPool`\"\u003e`backend_address_pool`\u003c/span\u003e blocks as defined below.\n"},"backendHttpSettings":{"type":"array","items":{"$ref":"#/types/azure:network/ApplicationGatewayBackendHttpSetting:ApplicationGatewayBackendHttpSetting"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`backendHttpSettings`\" pulumi-lang-dotnet=\"`BackendHttpSettings`\" pulumi-lang-go=\"`backendHttpSettings`\" pulumi-lang-python=\"`backend_http_settings`\" pulumi-lang-yaml=\"`backendHttpSettings`\" pulumi-lang-java=\"`backendHttpSettings`\"\u003e`backend_http_settings`\u003c/span\u003e blocks as defined below.\n"},"customErrorConfigurations":{"type":"array","items":{"$ref":"#/types/azure:network/ApplicationGatewayCustomErrorConfiguration:ApplicationGatewayCustomErrorConfiguration"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`customErrorConfiguration`\" pulumi-lang-dotnet=\"`CustomErrorConfiguration`\" pulumi-lang-go=\"`customErrorConfiguration`\" pulumi-lang-python=\"`custom_error_configuration`\" pulumi-lang-yaml=\"`customErrorConfiguration`\" pulumi-lang-java=\"`customErrorConfiguration`\"\u003e`custom_error_configuration`\u003c/span\u003e blocks as defined below.\n"},"enableHttp2":{"type":"boolean","description":"Is HTTP2 enabled on the application gateway resource? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"fipsEnabled":{"type":"boolean","description":"Is FIPS enabled on the Application Gateway?\n"},"firewallPolicyId":{"type":"string","description":"The ID of the Web Application Firewall Policy.\n"},"forceFirewallPolicyAssociation":{"type":"boolean","description":"Is the Firewall Policy associated with the Application Gateway?\n"},"frontendIpConfigurations":{"type":"array","items":{"$ref":"#/types/azure:network/ApplicationGatewayFrontendIpConfiguration:ApplicationGatewayFrontendIpConfiguration"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`frontendIpConfiguration`\" pulumi-lang-dotnet=\"`FrontendIpConfiguration`\" pulumi-lang-go=\"`frontendIpConfiguration`\" pulumi-lang-python=\"`frontend_ip_configuration`\" pulumi-lang-yaml=\"`frontendIpConfiguration`\" pulumi-lang-java=\"`frontendIpConfiguration`\"\u003e`frontend_ip_configuration`\u003c/span\u003e blocks as defined below.\n"},"frontendPorts":{"type":"array","items":{"$ref":"#/types/azure:network/ApplicationGatewayFrontendPort:ApplicationGatewayFrontendPort"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`frontendPort`\" pulumi-lang-dotnet=\"`FrontendPort`\" pulumi-lang-go=\"`frontendPort`\" pulumi-lang-python=\"`frontend_port`\" pulumi-lang-yaml=\"`frontendPort`\" pulumi-lang-java=\"`frontendPort`\"\u003e`frontend_port`\u003c/span\u003e blocks as defined below.\n"},"gatewayIpConfigurations":{"type":"array","items":{"$ref":"#/types/azure:network/ApplicationGatewayGatewayIpConfiguration:ApplicationGatewayGatewayIpConfiguration"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`gatewayIpConfiguration`\" pulumi-lang-dotnet=\"`GatewayIpConfiguration`\" pulumi-lang-go=\"`gatewayIpConfiguration`\" pulumi-lang-python=\"`gateway_ip_configuration`\" pulumi-lang-yaml=\"`gatewayIpConfiguration`\" pulumi-lang-java=\"`gatewayIpConfiguration`\"\u003e`gateway_ip_configuration`\u003c/span\u003e blocks as defined below.\n"},"global":{"$ref":"#/types/azure:network/ApplicationGatewayGlobal:ApplicationGatewayGlobal","description":"A \u003cspan pulumi-lang-nodejs=\"`global`\" pulumi-lang-dotnet=\"`Global`\" pulumi-lang-go=\"`global`\" pulumi-lang-python=\"`global`\" pulumi-lang-yaml=\"`global`\" pulumi-lang-java=\"`global`\"\u003e`global`\u003c/span\u003e block as defined below.\n"},"httpListeners":{"type":"array","items":{"$ref":"#/types/azure:network/ApplicationGatewayHttpListener:ApplicationGatewayHttpListener"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`httpListener`\" pulumi-lang-dotnet=\"`HttpListener`\" pulumi-lang-go=\"`httpListener`\" pulumi-lang-python=\"`http_listener`\" pulumi-lang-yaml=\"`httpListener`\" pulumi-lang-java=\"`httpListener`\"\u003e`http_listener`\u003c/span\u003e blocks as defined below.\n"},"identity":{"$ref":"#/types/azure:network/ApplicationGatewayIdentity:ApplicationGatewayIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"location":{"type":"string","description":"The Azure region where the Application Gateway should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the Application Gateway. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"privateEndpointConnections":{"type":"array","items":{"$ref":"#/types/azure:network/ApplicationGatewayPrivateEndpointConnection:ApplicationGatewayPrivateEndpointConnection"},"description":"A list of \u003cspan pulumi-lang-nodejs=\"`privateEndpointConnection`\" pulumi-lang-dotnet=\"`PrivateEndpointConnection`\" pulumi-lang-go=\"`privateEndpointConnection`\" pulumi-lang-python=\"`private_endpoint_connection`\" pulumi-lang-yaml=\"`privateEndpointConnection`\" pulumi-lang-java=\"`privateEndpointConnection`\"\u003e`private_endpoint_connection`\u003c/span\u003e blocks as defined below.\n"},"privateLinkConfigurations":{"type":"array","items":{"$ref":"#/types/azure:network/ApplicationGatewayPrivateLinkConfiguration:ApplicationGatewayPrivateLinkConfiguration"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`privateLinkConfiguration`\" pulumi-lang-dotnet=\"`PrivateLinkConfiguration`\" pulumi-lang-go=\"`privateLinkConfiguration`\" pulumi-lang-python=\"`private_link_configuration`\" pulumi-lang-yaml=\"`privateLinkConfiguration`\" pulumi-lang-java=\"`privateLinkConfiguration`\"\u003e`private_link_configuration`\u003c/span\u003e blocks as defined below.\n"},"probes":{"type":"array","items":{"$ref":"#/types/azure:network/ApplicationGatewayProbe:ApplicationGatewayProbe"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`probe`\" pulumi-lang-dotnet=\"`Probe`\" pulumi-lang-go=\"`probe`\" pulumi-lang-python=\"`probe`\" pulumi-lang-yaml=\"`probe`\" pulumi-lang-java=\"`probe`\"\u003e`probe`\u003c/span\u003e blocks as defined below.\n"},"redirectConfigurations":{"type":"array","items":{"$ref":"#/types/azure:network/ApplicationGatewayRedirectConfiguration:ApplicationGatewayRedirectConfiguration"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`redirectConfiguration`\" pulumi-lang-dotnet=\"`RedirectConfiguration`\" pulumi-lang-go=\"`redirectConfiguration`\" pulumi-lang-python=\"`redirect_configuration`\" pulumi-lang-yaml=\"`redirectConfiguration`\" pulumi-lang-java=\"`redirectConfiguration`\"\u003e`redirect_configuration`\u003c/span\u003e blocks as defined below.\n"},"requestRoutingRules":{"type":"array","items":{"$ref":"#/types/azure:network/ApplicationGatewayRequestRoutingRule:ApplicationGatewayRequestRoutingRule"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`requestRoutingRule`\" pulumi-lang-dotnet=\"`RequestRoutingRule`\" pulumi-lang-go=\"`requestRoutingRule`\" pulumi-lang-python=\"`request_routing_rule`\" pulumi-lang-yaml=\"`requestRoutingRule`\" pulumi-lang-java=\"`requestRoutingRule`\"\u003e`request_routing_rule`\u003c/span\u003e blocks as defined below.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to the Application Gateway should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"rewriteRuleSets":{"type":"array","items":{"$ref":"#/types/azure:network/ApplicationGatewayRewriteRuleSet:ApplicationGatewayRewriteRuleSet"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`rewriteRuleSet`\" pulumi-lang-dotnet=\"`RewriteRuleSet`\" pulumi-lang-go=\"`rewriteRuleSet`\" pulumi-lang-python=\"`rewrite_rule_set`\" pulumi-lang-yaml=\"`rewriteRuleSet`\" pulumi-lang-java=\"`rewriteRuleSet`\"\u003e`rewrite_rule_set`\u003c/span\u003e blocks as defined below. Only valid for v2 WAF and Standard SKUs.\n"},"sku":{"$ref":"#/types/azure:network/ApplicationGatewaySku:ApplicationGatewaySku","description":"A \u003cspan pulumi-lang-nodejs=\"`sku`\" pulumi-lang-dotnet=\"`Sku`\" pulumi-lang-go=\"`sku`\" pulumi-lang-python=\"`sku`\" pulumi-lang-yaml=\"`sku`\" pulumi-lang-java=\"`sku`\"\u003e`sku`\u003c/span\u003e block as defined below.\n"},"sslCertificates":{"type":"array","items":{"$ref":"#/types/azure:network/ApplicationGatewaySslCertificate:ApplicationGatewaySslCertificate"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`sslCertificate`\" pulumi-lang-dotnet=\"`SslCertificate`\" pulumi-lang-go=\"`sslCertificate`\" pulumi-lang-python=\"`ssl_certificate`\" pulumi-lang-yaml=\"`sslCertificate`\" pulumi-lang-java=\"`sslCertificate`\"\u003e`ssl_certificate`\u003c/span\u003e blocks as defined below.\n"},"sslPolicy":{"$ref":"#/types/azure:network/ApplicationGatewaySslPolicy:ApplicationGatewaySslPolicy","description":"a \u003cspan pulumi-lang-nodejs=\"`sslPolicy`\" pulumi-lang-dotnet=\"`SslPolicy`\" pulumi-lang-go=\"`sslPolicy`\" pulumi-lang-python=\"`ssl_policy`\" pulumi-lang-yaml=\"`sslPolicy`\" pulumi-lang-java=\"`sslPolicy`\"\u003e`ssl_policy`\u003c/span\u003e block as defined below.\n"},"sslProfiles":{"type":"array","items":{"$ref":"#/types/azure:network/ApplicationGatewaySslProfile:ApplicationGatewaySslProfile"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`sslProfile`\" pulumi-lang-dotnet=\"`SslProfile`\" pulumi-lang-go=\"`sslProfile`\" pulumi-lang-python=\"`ssl_profile`\" pulumi-lang-yaml=\"`sslProfile`\" pulumi-lang-java=\"`sslProfile`\"\u003e`ssl_profile`\u003c/span\u003e blocks as defined below.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"trustedClientCertificates":{"type":"array","items":{"$ref":"#/types/azure:network/ApplicationGatewayTrustedClientCertificate:ApplicationGatewayTrustedClientCertificate"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`trustedClientCertificate`\" pulumi-lang-dotnet=\"`TrustedClientCertificate`\" pulumi-lang-go=\"`trustedClientCertificate`\" pulumi-lang-python=\"`trusted_client_certificate`\" pulumi-lang-yaml=\"`trustedClientCertificate`\" pulumi-lang-java=\"`trustedClientCertificate`\"\u003e`trusted_client_certificate`\u003c/span\u003e blocks as defined below.\n"},"trustedRootCertificates":{"type":"array","items":{"$ref":"#/types/azure:network/ApplicationGatewayTrustedRootCertificate:ApplicationGatewayTrustedRootCertificate"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`trustedRootCertificate`\" pulumi-lang-dotnet=\"`TrustedRootCertificate`\" pulumi-lang-go=\"`trustedRootCertificate`\" pulumi-lang-python=\"`trusted_root_certificate`\" pulumi-lang-yaml=\"`trustedRootCertificate`\" pulumi-lang-java=\"`trustedRootCertificate`\"\u003e`trusted_root_certificate`\u003c/span\u003e blocks as defined below.\n"},"urlPathMaps":{"type":"array","items":{"$ref":"#/types/azure:network/ApplicationGatewayUrlPathMap:ApplicationGatewayUrlPathMap"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`urlPathMap`\" pulumi-lang-dotnet=\"`UrlPathMap`\" pulumi-lang-go=\"`urlPathMap`\" pulumi-lang-python=\"`url_path_map`\" pulumi-lang-yaml=\"`urlPathMap`\" pulumi-lang-java=\"`urlPathMap`\"\u003e`url_path_map`\u003c/span\u003e blocks as defined below.\n"},"wafConfiguration":{"$ref":"#/types/azure:network/ApplicationGatewayWafConfiguration:ApplicationGatewayWafConfiguration","description":"A \u003cspan pulumi-lang-nodejs=\"`wafConfiguration`\" pulumi-lang-dotnet=\"`WafConfiguration`\" pulumi-lang-go=\"`wafConfiguration`\" pulumi-lang-python=\"`waf_configuration`\" pulumi-lang-yaml=\"`wafConfiguration`\" pulumi-lang-java=\"`wafConfiguration`\"\u003e`waf_configuration`\u003c/span\u003e block as defined below.\n"},"zones":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Availability Zones in which this Application Gateway should be located. Changing this forces a new Application Gateway to be created.\n\n\u003e **Note:** Availability Zones are not supported in all regions at this time, please check the [official documentation](https://docs.microsoft.com/azure/availability-zones/az-overview) for more information. They are also only supported for [v2 SKUs](https://docs.microsoft.com/azure/application-gateway/application-gateway-autoscaling-zone-redundant)\n","willReplaceOnChanges":true}},"type":"object"}},"azure:network/applicationSecurityGroup:ApplicationSecurityGroup":{"description":"Manages an Application Security Group.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"tf-test\",\n    location: \"West Europe\",\n});\nconst exampleApplicationSecurityGroup = new azure.network.ApplicationSecurityGroup(\"example\", {\n    name: \"tf-appsecuritygroup\",\n    location: example.location,\n    resourceGroupName: example.name,\n    tags: {\n        Hello: \"World\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"tf-test\",\n    location=\"West Europe\")\nexample_application_security_group = azure.network.ApplicationSecurityGroup(\"example\",\n    name=\"tf-appsecuritygroup\",\n    location=example.location,\n    resource_group_name=example.name,\n    tags={\n        \"Hello\": \"World\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"tf-test\",\n        Location = \"West Europe\",\n    });\n\n    var exampleApplicationSecurityGroup = new Azure.Network.ApplicationSecurityGroup(\"example\", new()\n    {\n        Name = \"tf-appsecuritygroup\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Tags = \n        {\n            { \"Hello\", \"World\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"tf-test\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = network.NewApplicationSecurityGroup(ctx, \"example\", \u0026network.ApplicationSecurityGroupArgs{\n\t\t\tName:              pulumi.String(\"tf-appsecuritygroup\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Hello\": pulumi.String(\"World\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.ApplicationSecurityGroup;\nimport com.pulumi.azure.network.ApplicationSecurityGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"tf-test\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleApplicationSecurityGroup = new ApplicationSecurityGroup(\"exampleApplicationSecurityGroup\", ApplicationSecurityGroupArgs.builder()\n            .name(\"tf-appsecuritygroup\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .tags(Map.of(\"Hello\", \"World\"))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: tf-test\n      location: West Europe\n  exampleApplicationSecurityGroup:\n    type: azure:network:ApplicationSecurityGroup\n    name: example\n    properties:\n      name: tf-appsecuritygroup\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      tags:\n        Hello: World\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2025-01-01\n\n## Import\n\nApplication Security Groups can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:network/applicationSecurityGroup:ApplicationSecurityGroup securitygroup1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Network/applicationSecurityGroups/securitygroup1\n```\n\n","properties":{"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"Specifies the name of the Application Security Group. Changing this forces a new resource to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the Application Security Group. Changing this forces a new resource to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"required":["location","name","resourceGroupName"],"inputProperties":{"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the Application Security Group. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the Application Security Group. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"requiredInputs":["resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering ApplicationSecurityGroup resources.\n","properties":{"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the Application Security Group. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the Application Security Group. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"type":"object"}},"azure:network/bgpConnection:BgpConnection":{"description":"Manages a Bgp Connection for a Virtual Hub.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleVirtualHub = new azure.network.VirtualHub(\"example\", {\n    name: \"example-vhub\",\n    resourceGroupName: example.name,\n    location: example.location,\n    sku: \"Standard\",\n});\nconst examplePublicIp = new azure.network.PublicIp(\"example\", {\n    name: \"example-pip\",\n    location: example.location,\n    resourceGroupName: example.name,\n    allocationMethod: \"Static\",\n    sku: \"Standard\",\n});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"example\", {\n    name: \"example-vnet\",\n    addressSpaces: [\"10.5.0.0/16\"],\n    location: example.location,\n    resourceGroupName: example.name,\n});\nconst exampleSubnet = new azure.network.Subnet(\"example\", {\n    name: \"RouteServerSubnet\",\n    resourceGroupName: example.name,\n    virtualNetworkName: exampleVirtualNetwork.name,\n    addressPrefixes: [\"10.5.1.0/24\"],\n});\nconst exampleVirtualHubIp = new azure.network.VirtualHubIp(\"example\", {\n    name: \"example-vhubip\",\n    virtualHubId: exampleVirtualHub.id,\n    privateIpAddress: \"10.5.1.18\",\n    privateIpAllocationMethod: \"Static\",\n    publicIpAddressId: examplePublicIp.id,\n    subnetId: exampleSubnet.id,\n});\nconst exampleBgpConnection = new azure.network.BgpConnection(\"example\", {\n    name: \"example-vhub-bgpconnection\",\n    virtualHubId: exampleVirtualHub.id,\n    peerAsn: 65514,\n    peerIp: \"169.254.21.5\",\n}, {\n    dependsOn: [exampleVirtualHubIp],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_virtual_hub = azure.network.VirtualHub(\"example\",\n    name=\"example-vhub\",\n    resource_group_name=example.name,\n    location=example.location,\n    sku=\"Standard\")\nexample_public_ip = azure.network.PublicIp(\"example\",\n    name=\"example-pip\",\n    location=example.location,\n    resource_group_name=example.name,\n    allocation_method=\"Static\",\n    sku=\"Standard\")\nexample_virtual_network = azure.network.VirtualNetwork(\"example\",\n    name=\"example-vnet\",\n    address_spaces=[\"10.5.0.0/16\"],\n    location=example.location,\n    resource_group_name=example.name)\nexample_subnet = azure.network.Subnet(\"example\",\n    name=\"RouteServerSubnet\",\n    resource_group_name=example.name,\n    virtual_network_name=example_virtual_network.name,\n    address_prefixes=[\"10.5.1.0/24\"])\nexample_virtual_hub_ip = azure.network.VirtualHubIp(\"example\",\n    name=\"example-vhubip\",\n    virtual_hub_id=example_virtual_hub.id,\n    private_ip_address=\"10.5.1.18\",\n    private_ip_allocation_method=\"Static\",\n    public_ip_address_id=example_public_ip.id,\n    subnet_id=example_subnet.id)\nexample_bgp_connection = azure.network.BgpConnection(\"example\",\n    name=\"example-vhub-bgpconnection\",\n    virtual_hub_id=example_virtual_hub.id,\n    peer_asn=65514,\n    peer_ip=\"169.254.21.5\",\n    opts = pulumi.ResourceOptions(depends_on=[example_virtual_hub_ip]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleVirtualHub = new Azure.Network.VirtualHub(\"example\", new()\n    {\n        Name = \"example-vhub\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        Sku = \"Standard\",\n    });\n\n    var examplePublicIp = new Azure.Network.PublicIp(\"example\", new()\n    {\n        Name = \"example-pip\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        AllocationMethod = \"Static\",\n        Sku = \"Standard\",\n    });\n\n    var exampleVirtualNetwork = new Azure.Network.VirtualNetwork(\"example\", new()\n    {\n        Name = \"example-vnet\",\n        AddressSpaces = new[]\n        {\n            \"10.5.0.0/16\",\n        },\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n    });\n\n    var exampleSubnet = new Azure.Network.Subnet(\"example\", new()\n    {\n        Name = \"RouteServerSubnet\",\n        ResourceGroupName = example.Name,\n        VirtualNetworkName = exampleVirtualNetwork.Name,\n        AddressPrefixes = new[]\n        {\n            \"10.5.1.0/24\",\n        },\n    });\n\n    var exampleVirtualHubIp = new Azure.Network.VirtualHubIp(\"example\", new()\n    {\n        Name = \"example-vhubip\",\n        VirtualHubId = exampleVirtualHub.Id,\n        PrivateIpAddress = \"10.5.1.18\",\n        PrivateIpAllocationMethod = \"Static\",\n        PublicIpAddressId = examplePublicIp.Id,\n        SubnetId = exampleSubnet.Id,\n    });\n\n    var exampleBgpConnection = new Azure.Network.BgpConnection(\"example\", new()\n    {\n        Name = \"example-vhub-bgpconnection\",\n        VirtualHubId = exampleVirtualHub.Id,\n        PeerAsn = 65514,\n        PeerIp = \"169.254.21.5\",\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            exampleVirtualHubIp,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualHub, err := network.NewVirtualHub(ctx, \"example\", \u0026network.VirtualHubArgs{\n\t\t\tName:              pulumi.String(\"example-vhub\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tSku:               pulumi.String(\"Standard\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texamplePublicIp, err := network.NewPublicIp(ctx, \"example\", \u0026network.PublicIpArgs{\n\t\t\tName:              pulumi.String(\"example-pip\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tAllocationMethod:  pulumi.String(\"Static\"),\n\t\t\tSku:               pulumi.String(\"Standard\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, \"example\", \u0026network.VirtualNetworkArgs{\n\t\t\tName: pulumi.String(\"example-vnet\"),\n\t\t\tAddressSpaces: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.5.0.0/16\"),\n\t\t\t},\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSubnet, err := network.NewSubnet(ctx, \"example\", \u0026network.SubnetArgs{\n\t\t\tName:               pulumi.String(\"RouteServerSubnet\"),\n\t\t\tResourceGroupName:  example.Name,\n\t\t\tVirtualNetworkName: exampleVirtualNetwork.Name,\n\t\t\tAddressPrefixes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.5.1.0/24\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualHubIp, err := network.NewVirtualHubIp(ctx, \"example\", \u0026network.VirtualHubIpArgs{\n\t\t\tName:                      pulumi.String(\"example-vhubip\"),\n\t\t\tVirtualHubId:              exampleVirtualHub.ID(),\n\t\t\tPrivateIpAddress:          pulumi.String(\"10.5.1.18\"),\n\t\t\tPrivateIpAllocationMethod: pulumi.String(\"Static\"),\n\t\t\tPublicIpAddressId:         examplePublicIp.ID(),\n\t\t\tSubnetId:                  exampleSubnet.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = network.NewBgpConnection(ctx, \"example\", \u0026network.BgpConnectionArgs{\n\t\t\tName:         pulumi.String(\"example-vhub-bgpconnection\"),\n\t\t\tVirtualHubId: exampleVirtualHub.ID(),\n\t\t\tPeerAsn:      pulumi.Int(65514),\n\t\t\tPeerIp:       pulumi.String(\"169.254.21.5\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleVirtualHubIp,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.VirtualHub;\nimport com.pulumi.azure.network.VirtualHubArgs;\nimport com.pulumi.azure.network.PublicIp;\nimport com.pulumi.azure.network.PublicIpArgs;\nimport com.pulumi.azure.network.VirtualNetwork;\nimport com.pulumi.azure.network.VirtualNetworkArgs;\nimport com.pulumi.azure.network.Subnet;\nimport com.pulumi.azure.network.SubnetArgs;\nimport com.pulumi.azure.network.VirtualHubIp;\nimport com.pulumi.azure.network.VirtualHubIpArgs;\nimport com.pulumi.azure.network.BgpConnection;\nimport com.pulumi.azure.network.BgpConnectionArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleVirtualHub = new VirtualHub(\"exampleVirtualHub\", VirtualHubArgs.builder()\n            .name(\"example-vhub\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .sku(\"Standard\")\n            .build());\n\n        var examplePublicIp = new PublicIp(\"examplePublicIp\", PublicIpArgs.builder()\n            .name(\"example-pip\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .allocationMethod(\"Static\")\n            .sku(\"Standard\")\n            .build());\n\n        var exampleVirtualNetwork = new VirtualNetwork(\"exampleVirtualNetwork\", VirtualNetworkArgs.builder()\n            .name(\"example-vnet\")\n            .addressSpaces(\"10.5.0.0/16\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .build());\n\n        var exampleSubnet = new Subnet(\"exampleSubnet\", SubnetArgs.builder()\n            .name(\"RouteServerSubnet\")\n            .resourceGroupName(example.name())\n            .virtualNetworkName(exampleVirtualNetwork.name())\n            .addressPrefixes(\"10.5.1.0/24\")\n            .build());\n\n        var exampleVirtualHubIp = new VirtualHubIp(\"exampleVirtualHubIp\", VirtualHubIpArgs.builder()\n            .name(\"example-vhubip\")\n            .virtualHubId(exampleVirtualHub.id())\n            .privateIpAddress(\"10.5.1.18\")\n            .privateIpAllocationMethod(\"Static\")\n            .publicIpAddressId(examplePublicIp.id())\n            .subnetId(exampleSubnet.id())\n            .build());\n\n        var exampleBgpConnection = new BgpConnection(\"exampleBgpConnection\", BgpConnectionArgs.builder()\n            .name(\"example-vhub-bgpconnection\")\n            .virtualHubId(exampleVirtualHub.id())\n            .peerAsn(65514)\n            .peerIp(\"169.254.21.5\")\n            .build(), CustomResourceOptions.builder()\n                .dependsOn(exampleVirtualHubIp)\n                .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleVirtualHub:\n    type: azure:network:VirtualHub\n    name: example\n    properties:\n      name: example-vhub\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      sku: Standard\n  examplePublicIp:\n    type: azure:network:PublicIp\n    name: example\n    properties:\n      name: example-pip\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      allocationMethod: Static\n      sku: Standard\n  exampleVirtualNetwork:\n    type: azure:network:VirtualNetwork\n    name: example\n    properties:\n      name: example-vnet\n      addressSpaces:\n        - 10.5.0.0/16\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n  exampleSubnet:\n    type: azure:network:Subnet\n    name: example\n    properties:\n      name: RouteServerSubnet\n      resourceGroupName: ${example.name}\n      virtualNetworkName: ${exampleVirtualNetwork.name}\n      addressPrefixes:\n        - 10.5.1.0/24\n  exampleVirtualHubIp:\n    type: azure:network:VirtualHubIp\n    name: example\n    properties:\n      name: example-vhubip\n      virtualHubId: ${exampleVirtualHub.id}\n      privateIpAddress: 10.5.1.18\n      privateIpAllocationMethod: Static\n      publicIpAddressId: ${examplePublicIp.id}\n      subnetId: ${exampleSubnet.id}\n  exampleBgpConnection:\n    type: azure:network:BgpConnection\n    name: example\n    properties:\n      name: example-vhub-bgpconnection\n      virtualHubId: ${exampleVirtualHub.id}\n      peerAsn: 65514\n      peerIp: 169.254.21.5\n    options:\n      dependsOn:\n        - ${exampleVirtualHubIp}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2025-01-01\n\n## Import\n\nVirtual Hub Bgp Connections can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:network/bgpConnection:BgpConnection example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Network/virtualHubs/virtualHub1/bgpConnections/connection1\n```\n\n","properties":{"name":{"type":"string","description":"The name which should be used for this Virtual Hub Bgp Connection. Changing this forces a new resource to be created.\n"},"peerAsn":{"type":"integer","description":"The peer autonomous system number for the Virtual Hub Bgp Connection. Changing this forces a new resource to be created.\n"},"peerIp":{"type":"string","description":"The peer IP address for the Virtual Hub Bgp Connection. Changing this forces a new resource to be created.\n"},"virtualHubId":{"type":"string","description":"The ID of the Virtual Hub within which this Bgp connection should be created. Changing this forces a new resource to be created.\n"},"virtualNetworkConnectionId":{"type":"string","description":"The ID of virtual network connection.\n"}},"required":["name","peerAsn","peerIp","virtualHubId"],"inputProperties":{"name":{"type":"string","description":"The name which should be used for this Virtual Hub Bgp Connection. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"peerAsn":{"type":"integer","description":"The peer autonomous system number for the Virtual Hub Bgp Connection. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"peerIp":{"type":"string","description":"The peer IP address for the Virtual Hub Bgp Connection. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"virtualHubId":{"type":"string","description":"The ID of the Virtual Hub within which this Bgp connection should be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"virtualNetworkConnectionId":{"type":"string","description":"The ID of virtual network connection.\n"}},"requiredInputs":["peerAsn","peerIp","virtualHubId"],"stateInputs":{"description":"Input properties used for looking up and filtering BgpConnection resources.\n","properties":{"name":{"type":"string","description":"The name which should be used for this Virtual Hub Bgp Connection. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"peerAsn":{"type":"integer","description":"The peer autonomous system number for the Virtual Hub Bgp Connection. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"peerIp":{"type":"string","description":"The peer IP address for the Virtual Hub Bgp Connection. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"virtualHubId":{"type":"string","description":"The ID of the Virtual Hub within which this Bgp connection should be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"virtualNetworkConnectionId":{"type":"string","description":"The ID of virtual network connection.\n"}},"type":"object"}},"azure:network/ddosProtectionPlan:DdosProtectionPlan":{"description":"Manages an AzureNetwork DDoS Protection Plan.\n\n\u003e **Note:** Azure only allows \u003cspan pulumi-lang-nodejs=\"`one`\" pulumi-lang-dotnet=\"`One`\" pulumi-lang-go=\"`one`\" pulumi-lang-python=\"`one`\" pulumi-lang-yaml=\"`one`\" pulumi-lang-java=\"`one`\"\u003e`one`\u003c/span\u003e DDoS Protection Plan per region.\n\n\u003e **Note:** The DDoS Protection Plan is a [high-cost service](https://azure.microsoft.com/en-us/pricing/details/ddos-protection/#pricing). Please keep this in mind while testing and learning.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleDdosProtectionPlan = new azure.network.DdosProtectionPlan(\"example\", {\n    name: \"example-protection-plan\",\n    location: example.location,\n    resourceGroupName: example.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_ddos_protection_plan = azure.network.DdosProtectionPlan(\"example\",\n    name=\"example-protection-plan\",\n    location=example.location,\n    resource_group_name=example.name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleDdosProtectionPlan = new Azure.Network.DdosProtectionPlan(\"example\", new()\n    {\n        Name = \"example-protection-plan\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = network.NewDdosProtectionPlan(ctx, \"example\", \u0026network.DdosProtectionPlanArgs{\n\t\t\tName:              pulumi.String(\"example-protection-plan\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.DdosProtectionPlan;\nimport com.pulumi.azure.network.DdosProtectionPlanArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleDdosProtectionPlan = new DdosProtectionPlan(\"exampleDdosProtectionPlan\", DdosProtectionPlanArgs.builder()\n            .name(\"example-protection-plan\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleDdosProtectionPlan:\n    type: azure:network:DdosProtectionPlan\n    name: example\n    properties:\n      name: example-protection-plan\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2025-01-01\n\n## Import\n\nAzure DDoS Protection Plan can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:network/ddosProtectionPlan:DdosProtectionPlan example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Network/ddosProtectionPlans/testddospplan\n```\n\n","properties":{"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"Specifies the name of the Network DDoS Protection Plan. Changing this forces a new resource to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the resource. Changing this forces a new resource to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"virtualNetworkIds":{"type":"array","items":{"type":"string"},"description":"A list of Virtual Network IDs associated with the DDoS Protection Plan.\n"}},"required":["location","name","resourceGroupName","virtualNetworkIds"],"inputProperties":{"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the Network DDoS Protection Plan. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the resource. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"requiredInputs":["resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering DdosProtectionPlan resources.\n","properties":{"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the Network DDoS Protection Plan. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the resource. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"virtualNetworkIds":{"type":"array","items":{"type":"string"},"description":"A list of Virtual Network IDs associated with the DDoS Protection Plan.\n"}},"type":"object"}},"azure:network/expressRouteCircuit:ExpressRouteCircuit":{"description":"Manages an ExpressRoute circuit.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"exprtTest\",\n    location: \"West Europe\",\n});\nconst exampleExpressRouteCircuit = new azure.network.ExpressRouteCircuit(\"example\", {\n    name: \"expressRoute1\",\n    resourceGroupName: example.name,\n    location: example.location,\n    serviceProviderName: \"Equinix\",\n    peeringLocation: \"Silicon Valley\",\n    bandwidthInMbps: 50,\n    sku: {\n        tier: \"Standard\",\n        family: \"MeteredData\",\n    },\n    tags: {\n        environment: \"Production\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"exprtTest\",\n    location=\"West Europe\")\nexample_express_route_circuit = azure.network.ExpressRouteCircuit(\"example\",\n    name=\"expressRoute1\",\n    resource_group_name=example.name,\n    location=example.location,\n    service_provider_name=\"Equinix\",\n    peering_location=\"Silicon Valley\",\n    bandwidth_in_mbps=50,\n    sku={\n        \"tier\": \"Standard\",\n        \"family\": \"MeteredData\",\n    },\n    tags={\n        \"environment\": \"Production\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"exprtTest\",\n        Location = \"West Europe\",\n    });\n\n    var exampleExpressRouteCircuit = new Azure.Network.ExpressRouteCircuit(\"example\", new()\n    {\n        Name = \"expressRoute1\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        ServiceProviderName = \"Equinix\",\n        PeeringLocation = \"Silicon Valley\",\n        BandwidthInMbps = 50,\n        Sku = new Azure.Network.Inputs.ExpressRouteCircuitSkuArgs\n        {\n            Tier = \"Standard\",\n            Family = \"MeteredData\",\n        },\n        Tags = \n        {\n            { \"environment\", \"Production\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"exprtTest\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = network.NewExpressRouteCircuit(ctx, \"example\", \u0026network.ExpressRouteCircuitArgs{\n\t\t\tName:                pulumi.String(\"expressRoute1\"),\n\t\t\tResourceGroupName:   example.Name,\n\t\t\tLocation:            example.Location,\n\t\t\tServiceProviderName: pulumi.String(\"Equinix\"),\n\t\t\tPeeringLocation:     pulumi.String(\"Silicon Valley\"),\n\t\t\tBandwidthInMbps:     pulumi.Int(50),\n\t\t\tSku: \u0026network.ExpressRouteCircuitSkuArgs{\n\t\t\t\tTier:   pulumi.String(\"Standard\"),\n\t\t\t\tFamily: pulumi.String(\"MeteredData\"),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"environment\": pulumi.String(\"Production\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.ExpressRouteCircuit;\nimport com.pulumi.azure.network.ExpressRouteCircuitArgs;\nimport com.pulumi.azure.network.inputs.ExpressRouteCircuitSkuArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"exprtTest\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleExpressRouteCircuit = new ExpressRouteCircuit(\"exampleExpressRouteCircuit\", ExpressRouteCircuitArgs.builder()\n            .name(\"expressRoute1\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .serviceProviderName(\"Equinix\")\n            .peeringLocation(\"Silicon Valley\")\n            .bandwidthInMbps(50)\n            .sku(ExpressRouteCircuitSkuArgs.builder()\n                .tier(\"Standard\")\n                .family(\"MeteredData\")\n                .build())\n            .tags(Map.of(\"environment\", \"Production\"))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: exprtTest\n      location: West Europe\n  exampleExpressRouteCircuit:\n    type: azure:network:ExpressRouteCircuit\n    name: example\n    properties:\n      name: expressRoute1\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      serviceProviderName: Equinix\n      peeringLocation: Silicon Valley\n      bandwidthInMbps: 50\n      sku:\n        tier: Standard\n        family: MeteredData\n      tags:\n        environment: Production\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2025-01-01\n\n## Import\n\nExpressRoute circuits can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:network/expressRouteCircuit:ExpressRouteCircuit myExpressRoute /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Network/expressRouteCircuits/myExpressRoute\n```\n\n","properties":{"allowClassicOperations":{"type":"boolean","description":"Allow the circuit to interact with classic (RDFE) resources. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"authorizationKey":{"type":"string","description":"The authorization key. This can be used to set up an ExpressRoute Circuit with an ExpressRoute Port from another subscription.\n","secret":true},"bandwidthInGbps":{"type":"number","description":"The bandwidth in Gbps of the circuit being created on the Express Route Port.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`expressRoutePortId`\" pulumi-lang-dotnet=\"`ExpressRoutePortId`\" pulumi-lang-go=\"`expressRoutePortId`\" pulumi-lang-python=\"`express_route_port_id`\" pulumi-lang-yaml=\"`expressRoutePortId`\" pulumi-lang-java=\"`expressRoutePortId`\"\u003e`express_route_port_id`\u003c/span\u003e and the \u003cspan pulumi-lang-nodejs=\"`bandwidthInGbps`\" pulumi-lang-dotnet=\"`BandwidthInGbps`\" pulumi-lang-go=\"`bandwidthInGbps`\" pulumi-lang-python=\"`bandwidth_in_gbps`\" pulumi-lang-yaml=\"`bandwidthInGbps`\" pulumi-lang-java=\"`bandwidthInGbps`\"\u003e`bandwidth_in_gbps`\u003c/span\u003e should be set together and they conflict with \u003cspan pulumi-lang-nodejs=\"`serviceProviderName`\" pulumi-lang-dotnet=\"`ServiceProviderName`\" pulumi-lang-go=\"`serviceProviderName`\" pulumi-lang-python=\"`service_provider_name`\" pulumi-lang-yaml=\"`serviceProviderName`\" pulumi-lang-java=\"`serviceProviderName`\"\u003e`service_provider_name`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`peeringLocation`\" pulumi-lang-dotnet=\"`PeeringLocation`\" pulumi-lang-go=\"`peeringLocation`\" pulumi-lang-python=\"`peering_location`\" pulumi-lang-yaml=\"`peeringLocation`\" pulumi-lang-java=\"`peeringLocation`\"\u003e`peering_location`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`bandwidthInMbps`\" pulumi-lang-dotnet=\"`BandwidthInMbps`\" pulumi-lang-go=\"`bandwidthInMbps`\" pulumi-lang-python=\"`bandwidth_in_mbps`\" pulumi-lang-yaml=\"`bandwidthInMbps`\" pulumi-lang-java=\"`bandwidthInMbps`\"\u003e`bandwidth_in_mbps`\u003c/span\u003e.\n"},"bandwidthInMbps":{"type":"integer","description":"The bandwidth in Mbps of the circuit being created on the Service Provider.\n\n\u003e **Note:** Once you increase your bandwidth, you will not be able to decrease it to its previous value.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`serviceProviderName`\" pulumi-lang-dotnet=\"`ServiceProviderName`\" pulumi-lang-go=\"`serviceProviderName`\" pulumi-lang-python=\"`service_provider_name`\" pulumi-lang-yaml=\"`serviceProviderName`\" pulumi-lang-java=\"`serviceProviderName`\"\u003e`service_provider_name`\u003c/span\u003e, the \u003cspan pulumi-lang-nodejs=\"`peeringLocation`\" pulumi-lang-dotnet=\"`PeeringLocation`\" pulumi-lang-go=\"`peeringLocation`\" pulumi-lang-python=\"`peering_location`\" pulumi-lang-yaml=\"`peeringLocation`\" pulumi-lang-java=\"`peeringLocation`\"\u003e`peering_location`\u003c/span\u003e and the \u003cspan pulumi-lang-nodejs=\"`bandwidthInMbps`\" pulumi-lang-dotnet=\"`BandwidthInMbps`\" pulumi-lang-go=\"`bandwidthInMbps`\" pulumi-lang-python=\"`bandwidth_in_mbps`\" pulumi-lang-yaml=\"`bandwidthInMbps`\" pulumi-lang-java=\"`bandwidthInMbps`\"\u003e`bandwidth_in_mbps`\u003c/span\u003e should be set together and they conflict with \u003cspan pulumi-lang-nodejs=\"`expressRoutePortId`\" pulumi-lang-dotnet=\"`ExpressRoutePortId`\" pulumi-lang-go=\"`expressRoutePortId`\" pulumi-lang-python=\"`express_route_port_id`\" pulumi-lang-yaml=\"`expressRoutePortId`\" pulumi-lang-java=\"`expressRoutePortId`\"\u003e`express_route_port_id`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`bandwidthInGbps`\" pulumi-lang-dotnet=\"`BandwidthInGbps`\" pulumi-lang-go=\"`bandwidthInGbps`\" pulumi-lang-python=\"`bandwidth_in_gbps`\" pulumi-lang-yaml=\"`bandwidthInGbps`\" pulumi-lang-java=\"`bandwidthInGbps`\"\u003e`bandwidth_in_gbps`\u003c/span\u003e.\n"},"expressRoutePortId":{"type":"string","description":"The ID of the Express Route Port this Express Route Circuit is based on. Changing this forces a new resource to be created.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"The name of the ExpressRoute circuit. Changing this forces a new resource to be created.\n"},"peeringLocation":{"type":"string","description":"The name of the peering location and **not** the Azure resource location. Changing this forces a new resource to be created.\n"},"rateLimitingEnabled":{"type":"boolean","description":"Enable [rate limiting](https://learn.microsoft.com/en-us/azure/expressroute/rate-limit) for the circuit. Only works with ExpressRoute Ports. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the ExpressRoute circuit. Changing this forces a new resource to be created.\n"},"serviceKey":{"type":"string","description":"The string needed by the service provider to provision the ExpressRoute circuit.\n","secret":true},"serviceProviderName":{"type":"string","description":"The name of the ExpressRoute Service Provider. Changing this forces a new resource to be created.\n"},"serviceProviderProvisioningState":{"type":"string","description":"The ExpressRoute circuit provisioning state from your chosen service provider. Possible values are `NotProvisioned`, `Provisioning`, `Provisioned`, and `Deprovisioning`.\n"},"sku":{"$ref":"#/types/azure:network/ExpressRouteCircuitSku:ExpressRouteCircuitSku","description":"A \u003cspan pulumi-lang-nodejs=\"`sku`\" pulumi-lang-dotnet=\"`Sku`\" pulumi-lang-go=\"`sku`\" pulumi-lang-python=\"`sku`\" pulumi-lang-yaml=\"`sku`\" pulumi-lang-java=\"`sku`\"\u003e`sku`\u003c/span\u003e block for the ExpressRoute circuit as documented below.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"required":["location","name","resourceGroupName","serviceKey","serviceProviderProvisioningState","sku"],"inputProperties":{"allowClassicOperations":{"type":"boolean","description":"Allow the circuit to interact with classic (RDFE) resources. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"authorizationKey":{"type":"string","description":"The authorization key. This can be used to set up an ExpressRoute Circuit with an ExpressRoute Port from another subscription.\n","secret":true},"bandwidthInGbps":{"type":"number","description":"The bandwidth in Gbps of the circuit being created on the Express Route Port.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`expressRoutePortId`\" pulumi-lang-dotnet=\"`ExpressRoutePortId`\" pulumi-lang-go=\"`expressRoutePortId`\" pulumi-lang-python=\"`express_route_port_id`\" pulumi-lang-yaml=\"`expressRoutePortId`\" pulumi-lang-java=\"`expressRoutePortId`\"\u003e`express_route_port_id`\u003c/span\u003e and the \u003cspan pulumi-lang-nodejs=\"`bandwidthInGbps`\" pulumi-lang-dotnet=\"`BandwidthInGbps`\" pulumi-lang-go=\"`bandwidthInGbps`\" pulumi-lang-python=\"`bandwidth_in_gbps`\" pulumi-lang-yaml=\"`bandwidthInGbps`\" pulumi-lang-java=\"`bandwidthInGbps`\"\u003e`bandwidth_in_gbps`\u003c/span\u003e should be set together and they conflict with \u003cspan pulumi-lang-nodejs=\"`serviceProviderName`\" pulumi-lang-dotnet=\"`ServiceProviderName`\" pulumi-lang-go=\"`serviceProviderName`\" pulumi-lang-python=\"`service_provider_name`\" pulumi-lang-yaml=\"`serviceProviderName`\" pulumi-lang-java=\"`serviceProviderName`\"\u003e`service_provider_name`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`peeringLocation`\" pulumi-lang-dotnet=\"`PeeringLocation`\" pulumi-lang-go=\"`peeringLocation`\" pulumi-lang-python=\"`peering_location`\" pulumi-lang-yaml=\"`peeringLocation`\" pulumi-lang-java=\"`peeringLocation`\"\u003e`peering_location`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`bandwidthInMbps`\" pulumi-lang-dotnet=\"`BandwidthInMbps`\" pulumi-lang-go=\"`bandwidthInMbps`\" pulumi-lang-python=\"`bandwidth_in_mbps`\" pulumi-lang-yaml=\"`bandwidthInMbps`\" pulumi-lang-java=\"`bandwidthInMbps`\"\u003e`bandwidth_in_mbps`\u003c/span\u003e.\n"},"bandwidthInMbps":{"type":"integer","description":"The bandwidth in Mbps of the circuit being created on the Service Provider.\n\n\u003e **Note:** Once you increase your bandwidth, you will not be able to decrease it to its previous value.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`serviceProviderName`\" pulumi-lang-dotnet=\"`ServiceProviderName`\" pulumi-lang-go=\"`serviceProviderName`\" pulumi-lang-python=\"`service_provider_name`\" pulumi-lang-yaml=\"`serviceProviderName`\" pulumi-lang-java=\"`serviceProviderName`\"\u003e`service_provider_name`\u003c/span\u003e, the \u003cspan pulumi-lang-nodejs=\"`peeringLocation`\" pulumi-lang-dotnet=\"`PeeringLocation`\" pulumi-lang-go=\"`peeringLocation`\" pulumi-lang-python=\"`peering_location`\" pulumi-lang-yaml=\"`peeringLocation`\" pulumi-lang-java=\"`peeringLocation`\"\u003e`peering_location`\u003c/span\u003e and the \u003cspan pulumi-lang-nodejs=\"`bandwidthInMbps`\" pulumi-lang-dotnet=\"`BandwidthInMbps`\" pulumi-lang-go=\"`bandwidthInMbps`\" pulumi-lang-python=\"`bandwidth_in_mbps`\" pulumi-lang-yaml=\"`bandwidthInMbps`\" pulumi-lang-java=\"`bandwidthInMbps`\"\u003e`bandwidth_in_mbps`\u003c/span\u003e should be set together and they conflict with \u003cspan pulumi-lang-nodejs=\"`expressRoutePortId`\" pulumi-lang-dotnet=\"`ExpressRoutePortId`\" pulumi-lang-go=\"`expressRoutePortId`\" pulumi-lang-python=\"`express_route_port_id`\" pulumi-lang-yaml=\"`expressRoutePortId`\" pulumi-lang-java=\"`expressRoutePortId`\"\u003e`express_route_port_id`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`bandwidthInGbps`\" pulumi-lang-dotnet=\"`BandwidthInGbps`\" pulumi-lang-go=\"`bandwidthInGbps`\" pulumi-lang-python=\"`bandwidth_in_gbps`\" pulumi-lang-yaml=\"`bandwidthInGbps`\" pulumi-lang-java=\"`bandwidthInGbps`\"\u003e`bandwidth_in_gbps`\u003c/span\u003e.\n"},"expressRoutePortId":{"type":"string","description":"The ID of the Express Route Port this Express Route Circuit is based on. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the ExpressRoute circuit. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"peeringLocation":{"type":"string","description":"The name of the peering location and **not** the Azure resource location. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"rateLimitingEnabled":{"type":"boolean","description":"Enable [rate limiting](https://learn.microsoft.com/en-us/azure/expressroute/rate-limit) for the circuit. Only works with ExpressRoute Ports. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the ExpressRoute circuit. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"serviceProviderName":{"type":"string","description":"The name of the ExpressRoute Service Provider. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sku":{"$ref":"#/types/azure:network/ExpressRouteCircuitSku:ExpressRouteCircuitSku","description":"A \u003cspan pulumi-lang-nodejs=\"`sku`\" pulumi-lang-dotnet=\"`Sku`\" pulumi-lang-go=\"`sku`\" pulumi-lang-python=\"`sku`\" pulumi-lang-yaml=\"`sku`\" pulumi-lang-java=\"`sku`\"\u003e`sku`\u003c/span\u003e block for the ExpressRoute circuit as documented below.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"requiredInputs":["resourceGroupName","sku"],"stateInputs":{"description":"Input properties used for looking up and filtering ExpressRouteCircuit resources.\n","properties":{"allowClassicOperations":{"type":"boolean","description":"Allow the circuit to interact with classic (RDFE) resources. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"authorizationKey":{"type":"string","description":"The authorization key. This can be used to set up an ExpressRoute Circuit with an ExpressRoute Port from another subscription.\n","secret":true},"bandwidthInGbps":{"type":"number","description":"The bandwidth in Gbps of the circuit being created on the Express Route Port.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`expressRoutePortId`\" pulumi-lang-dotnet=\"`ExpressRoutePortId`\" pulumi-lang-go=\"`expressRoutePortId`\" pulumi-lang-python=\"`express_route_port_id`\" pulumi-lang-yaml=\"`expressRoutePortId`\" pulumi-lang-java=\"`expressRoutePortId`\"\u003e`express_route_port_id`\u003c/span\u003e and the \u003cspan pulumi-lang-nodejs=\"`bandwidthInGbps`\" pulumi-lang-dotnet=\"`BandwidthInGbps`\" pulumi-lang-go=\"`bandwidthInGbps`\" pulumi-lang-python=\"`bandwidth_in_gbps`\" pulumi-lang-yaml=\"`bandwidthInGbps`\" pulumi-lang-java=\"`bandwidthInGbps`\"\u003e`bandwidth_in_gbps`\u003c/span\u003e should be set together and they conflict with \u003cspan pulumi-lang-nodejs=\"`serviceProviderName`\" pulumi-lang-dotnet=\"`ServiceProviderName`\" pulumi-lang-go=\"`serviceProviderName`\" pulumi-lang-python=\"`service_provider_name`\" pulumi-lang-yaml=\"`serviceProviderName`\" pulumi-lang-java=\"`serviceProviderName`\"\u003e`service_provider_name`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`peeringLocation`\" pulumi-lang-dotnet=\"`PeeringLocation`\" pulumi-lang-go=\"`peeringLocation`\" pulumi-lang-python=\"`peering_location`\" pulumi-lang-yaml=\"`peeringLocation`\" pulumi-lang-java=\"`peeringLocation`\"\u003e`peering_location`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`bandwidthInMbps`\" pulumi-lang-dotnet=\"`BandwidthInMbps`\" pulumi-lang-go=\"`bandwidthInMbps`\" pulumi-lang-python=\"`bandwidth_in_mbps`\" pulumi-lang-yaml=\"`bandwidthInMbps`\" pulumi-lang-java=\"`bandwidthInMbps`\"\u003e`bandwidth_in_mbps`\u003c/span\u003e.\n"},"bandwidthInMbps":{"type":"integer","description":"The bandwidth in Mbps of the circuit being created on the Service Provider.\n\n\u003e **Note:** Once you increase your bandwidth, you will not be able to decrease it to its previous value.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`serviceProviderName`\" pulumi-lang-dotnet=\"`ServiceProviderName`\" pulumi-lang-go=\"`serviceProviderName`\" pulumi-lang-python=\"`service_provider_name`\" pulumi-lang-yaml=\"`serviceProviderName`\" pulumi-lang-java=\"`serviceProviderName`\"\u003e`service_provider_name`\u003c/span\u003e, the \u003cspan pulumi-lang-nodejs=\"`peeringLocation`\" pulumi-lang-dotnet=\"`PeeringLocation`\" pulumi-lang-go=\"`peeringLocation`\" pulumi-lang-python=\"`peering_location`\" pulumi-lang-yaml=\"`peeringLocation`\" pulumi-lang-java=\"`peeringLocation`\"\u003e`peering_location`\u003c/span\u003e and the \u003cspan pulumi-lang-nodejs=\"`bandwidthInMbps`\" pulumi-lang-dotnet=\"`BandwidthInMbps`\" pulumi-lang-go=\"`bandwidthInMbps`\" pulumi-lang-python=\"`bandwidth_in_mbps`\" pulumi-lang-yaml=\"`bandwidthInMbps`\" pulumi-lang-java=\"`bandwidthInMbps`\"\u003e`bandwidth_in_mbps`\u003c/span\u003e should be set together and they conflict with \u003cspan pulumi-lang-nodejs=\"`expressRoutePortId`\" pulumi-lang-dotnet=\"`ExpressRoutePortId`\" pulumi-lang-go=\"`expressRoutePortId`\" pulumi-lang-python=\"`express_route_port_id`\" pulumi-lang-yaml=\"`expressRoutePortId`\" pulumi-lang-java=\"`expressRoutePortId`\"\u003e`express_route_port_id`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`bandwidthInGbps`\" pulumi-lang-dotnet=\"`BandwidthInGbps`\" pulumi-lang-go=\"`bandwidthInGbps`\" pulumi-lang-python=\"`bandwidth_in_gbps`\" pulumi-lang-yaml=\"`bandwidthInGbps`\" pulumi-lang-java=\"`bandwidthInGbps`\"\u003e`bandwidth_in_gbps`\u003c/span\u003e.\n"},"expressRoutePortId":{"type":"string","description":"The ID of the Express Route Port this Express Route Circuit is based on. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the ExpressRoute circuit. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"peeringLocation":{"type":"string","description":"The name of the peering location and **not** the Azure resource location. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"rateLimitingEnabled":{"type":"boolean","description":"Enable [rate limiting](https://learn.microsoft.com/en-us/azure/expressroute/rate-limit) for the circuit. Only works with ExpressRoute Ports. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the ExpressRoute circuit. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"serviceKey":{"type":"string","description":"The string needed by the service provider to provision the ExpressRoute circuit.\n","secret":true},"serviceProviderName":{"type":"string","description":"The name of the ExpressRoute Service Provider. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"serviceProviderProvisioningState":{"type":"string","description":"The ExpressRoute circuit provisioning state from your chosen service provider. Possible values are `NotProvisioned`, `Provisioning`, `Provisioned`, and `Deprovisioning`.\n"},"sku":{"$ref":"#/types/azure:network/ExpressRouteCircuitSku:ExpressRouteCircuitSku","description":"A \u003cspan pulumi-lang-nodejs=\"`sku`\" pulumi-lang-dotnet=\"`Sku`\" pulumi-lang-go=\"`sku`\" pulumi-lang-python=\"`sku`\" pulumi-lang-yaml=\"`sku`\" pulumi-lang-java=\"`sku`\"\u003e`sku`\u003c/span\u003e block for the ExpressRoute circuit as documented below.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"type":"object"}},"azure:network/expressRouteCircuitAuthorization:ExpressRouteCircuitAuthorization":{"description":"Manages an ExpressRoute Circuit Authorization.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"exprtTest\",\n    location: \"West Europe\",\n});\nconst exampleExpressRouteCircuit = new azure.network.ExpressRouteCircuit(\"example\", {\n    name: \"expressRoute1\",\n    resourceGroupName: example.name,\n    location: example.location,\n    serviceProviderName: \"Equinix\",\n    peeringLocation: \"Silicon Valley\",\n    bandwidthInMbps: 50,\n    sku: {\n        tier: \"Standard\",\n        family: \"MeteredData\",\n    },\n    allowClassicOperations: false,\n    tags: {\n        environment: \"Production\",\n    },\n});\nconst exampleExpressRouteCircuitAuthorization = new azure.network.ExpressRouteCircuitAuthorization(\"example\", {\n    name: \"exampleERCAuth\",\n    expressRouteCircuitName: exampleExpressRouteCircuit.name,\n    resourceGroupName: example.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"exprtTest\",\n    location=\"West Europe\")\nexample_express_route_circuit = azure.network.ExpressRouteCircuit(\"example\",\n    name=\"expressRoute1\",\n    resource_group_name=example.name,\n    location=example.location,\n    service_provider_name=\"Equinix\",\n    peering_location=\"Silicon Valley\",\n    bandwidth_in_mbps=50,\n    sku={\n        \"tier\": \"Standard\",\n        \"family\": \"MeteredData\",\n    },\n    allow_classic_operations=False,\n    tags={\n        \"environment\": \"Production\",\n    })\nexample_express_route_circuit_authorization = azure.network.ExpressRouteCircuitAuthorization(\"example\",\n    name=\"exampleERCAuth\",\n    express_route_circuit_name=example_express_route_circuit.name,\n    resource_group_name=example.name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"exprtTest\",\n        Location = \"West Europe\",\n    });\n\n    var exampleExpressRouteCircuit = new Azure.Network.ExpressRouteCircuit(\"example\", new()\n    {\n        Name = \"expressRoute1\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        ServiceProviderName = \"Equinix\",\n        PeeringLocation = \"Silicon Valley\",\n        BandwidthInMbps = 50,\n        Sku = new Azure.Network.Inputs.ExpressRouteCircuitSkuArgs\n        {\n            Tier = \"Standard\",\n            Family = \"MeteredData\",\n        },\n        AllowClassicOperations = false,\n        Tags = \n        {\n            { \"environment\", \"Production\" },\n        },\n    });\n\n    var exampleExpressRouteCircuitAuthorization = new Azure.Network.ExpressRouteCircuitAuthorization(\"example\", new()\n    {\n        Name = \"exampleERCAuth\",\n        ExpressRouteCircuitName = exampleExpressRouteCircuit.Name,\n        ResourceGroupName = example.Name,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"exprtTest\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleExpressRouteCircuit, err := network.NewExpressRouteCircuit(ctx, \"example\", \u0026network.ExpressRouteCircuitArgs{\n\t\t\tName:                pulumi.String(\"expressRoute1\"),\n\t\t\tResourceGroupName:   example.Name,\n\t\t\tLocation:            example.Location,\n\t\t\tServiceProviderName: pulumi.String(\"Equinix\"),\n\t\t\tPeeringLocation:     pulumi.String(\"Silicon Valley\"),\n\t\t\tBandwidthInMbps:     pulumi.Int(50),\n\t\t\tSku: \u0026network.ExpressRouteCircuitSkuArgs{\n\t\t\t\tTier:   pulumi.String(\"Standard\"),\n\t\t\t\tFamily: pulumi.String(\"MeteredData\"),\n\t\t\t},\n\t\t\tAllowClassicOperations: pulumi.Bool(false),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"environment\": pulumi.String(\"Production\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = network.NewExpressRouteCircuitAuthorization(ctx, \"example\", \u0026network.ExpressRouteCircuitAuthorizationArgs{\n\t\t\tName:                    pulumi.String(\"exampleERCAuth\"),\n\t\t\tExpressRouteCircuitName: exampleExpressRouteCircuit.Name,\n\t\t\tResourceGroupName:       example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.ExpressRouteCircuit;\nimport com.pulumi.azure.network.ExpressRouteCircuitArgs;\nimport com.pulumi.azure.network.inputs.ExpressRouteCircuitSkuArgs;\nimport com.pulumi.azure.network.ExpressRouteCircuitAuthorization;\nimport com.pulumi.azure.network.ExpressRouteCircuitAuthorizationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"exprtTest\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleExpressRouteCircuit = new ExpressRouteCircuit(\"exampleExpressRouteCircuit\", ExpressRouteCircuitArgs.builder()\n            .name(\"expressRoute1\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .serviceProviderName(\"Equinix\")\n            .peeringLocation(\"Silicon Valley\")\n            .bandwidthInMbps(50)\n            .sku(ExpressRouteCircuitSkuArgs.builder()\n                .tier(\"Standard\")\n                .family(\"MeteredData\")\n                .build())\n            .allowClassicOperations(false)\n            .tags(Map.of(\"environment\", \"Production\"))\n            .build());\n\n        var exampleExpressRouteCircuitAuthorization = new ExpressRouteCircuitAuthorization(\"exampleExpressRouteCircuitAuthorization\", ExpressRouteCircuitAuthorizationArgs.builder()\n            .name(\"exampleERCAuth\")\n            .expressRouteCircuitName(exampleExpressRouteCircuit.name())\n            .resourceGroupName(example.name())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: exprtTest\n      location: West Europe\n  exampleExpressRouteCircuit:\n    type: azure:network:ExpressRouteCircuit\n    name: example\n    properties:\n      name: expressRoute1\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      serviceProviderName: Equinix\n      peeringLocation: Silicon Valley\n      bandwidthInMbps: 50\n      sku:\n        tier: Standard\n        family: MeteredData\n      allowClassicOperations: false\n      tags:\n        environment: Production\n  exampleExpressRouteCircuitAuthorization:\n    type: azure:network:ExpressRouteCircuitAuthorization\n    name: example\n    properties:\n      name: exampleERCAuth\n      expressRouteCircuitName: ${exampleExpressRouteCircuit.name}\n      resourceGroupName: ${example.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2025-01-01\n\n## Import\n\nExpressRoute Circuit Authorizations can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:network/expressRouteCircuitAuthorization:ExpressRouteCircuitAuthorization auth1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Network/expressRouteCircuits/myExpressRoute/authorizations/auth1\n```\n\n","properties":{"authorizationKey":{"type":"string","description":"The Authorization Key.\n","secret":true},"authorizationUseStatus":{"type":"string","description":"The authorization use status.\n"},"expressRouteCircuitName":{"type":"string","description":"The name of the Express Route Circuit in which to create the Authorization. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"The name of the ExpressRoute circuit. Changing this forces a new resource to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the ExpressRoute circuit. Changing this forces a new resource to be created.\n"}},"required":["authorizationKey","authorizationUseStatus","expressRouteCircuitName","name","resourceGroupName"],"inputProperties":{"expressRouteCircuitName":{"type":"string","description":"The name of the Express Route Circuit in which to create the Authorization. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the ExpressRoute circuit. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the ExpressRoute circuit. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["expressRouteCircuitName","resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering ExpressRouteCircuitAuthorization resources.\n","properties":{"authorizationKey":{"type":"string","description":"The Authorization Key.\n","secret":true},"authorizationUseStatus":{"type":"string","description":"The authorization use status.\n"},"expressRouteCircuitName":{"type":"string","description":"The name of the Express Route Circuit in which to create the Authorization. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the ExpressRoute circuit. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the ExpressRoute circuit. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:network/expressRouteCircuitConnection:ExpressRouteCircuitConnection":{"description":"Manages an Express Route Circuit Connection.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleExpressRoutePort = new azure.network.ExpressRoutePort(\"example\", {\n    name: \"example-erport\",\n    resourceGroupName: example.name,\n    location: example.location,\n    peeringLocation: \"Equinix-Seattle-SE2\",\n    bandwidthInGbps: 10,\n    encapsulation: \"Dot1Q\",\n});\nconst exampleExpressRouteCircuit = new azure.network.ExpressRouteCircuit(\"example\", {\n    name: \"example-ercircuit\",\n    location: example.location,\n    resourceGroupName: example.name,\n    expressRoutePortId: exampleExpressRoutePort.id,\n    bandwidthInGbps: 5,\n    sku: {\n        tier: \"Standard\",\n        family: \"MeteredData\",\n    },\n});\nconst example2 = new azure.network.ExpressRoutePort(\"example2\", {\n    name: \"example-erport2\",\n    resourceGroupName: example.name,\n    location: example.location,\n    peeringLocation: \"Allied-Toronto-King-West\",\n    bandwidthInGbps: 10,\n    encapsulation: \"Dot1Q\",\n});\nconst example2ExpressRouteCircuit = new azure.network.ExpressRouteCircuit(\"example2\", {\n    name: \"example-ercircuit2\",\n    location: example.location,\n    resourceGroupName: example.name,\n    expressRoutePortId: example2.id,\n    bandwidthInGbps: 5,\n    sku: {\n        tier: \"Standard\",\n        family: \"MeteredData\",\n    },\n});\nconst exampleExpressRouteCircuitPeering = new azure.network.ExpressRouteCircuitPeering(\"example\", {\n    peeringType: \"AzurePrivatePeering\",\n    expressRouteCircuitName: exampleExpressRouteCircuit.name,\n    resourceGroupName: example.name,\n    sharedKey: \"ItsASecret\",\n    peerAsn: 100,\n    primaryPeerAddressPrefix: \"192.168.1.0/30\",\n    secondaryPeerAddressPrefix: \"192.168.1.0/30\",\n    vlanId: 100,\n});\nconst example2ExpressRouteCircuitPeering = new azure.network.ExpressRouteCircuitPeering(\"example2\", {\n    peeringType: \"AzurePrivatePeering\",\n    expressRouteCircuitName: example2ExpressRouteCircuit.name,\n    resourceGroupName: example.name,\n    sharedKey: \"ItsASecret\",\n    peerAsn: 100,\n    primaryPeerAddressPrefix: \"192.168.1.0/30\",\n    secondaryPeerAddressPrefix: \"192.168.1.0/30\",\n    vlanId: 100,\n});\nconst exampleExpressRouteCircuitConnection = new azure.network.ExpressRouteCircuitConnection(\"example\", {\n    name: \"example-ercircuitconnection\",\n    peeringId: exampleExpressRouteCircuitPeering.id,\n    peerPeeringId: example2ExpressRouteCircuitPeering.id,\n    addressPrefixIpv4: \"192.169.9.0/29\",\n    authorizationKey: \"846a1918-b7a2-4917-b43c-8c4cdaee006a\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_express_route_port = azure.network.ExpressRoutePort(\"example\",\n    name=\"example-erport\",\n    resource_group_name=example.name,\n    location=example.location,\n    peering_location=\"Equinix-Seattle-SE2\",\n    bandwidth_in_gbps=10,\n    encapsulation=\"Dot1Q\")\nexample_express_route_circuit = azure.network.ExpressRouteCircuit(\"example\",\n    name=\"example-ercircuit\",\n    location=example.location,\n    resource_group_name=example.name,\n    express_route_port_id=example_express_route_port.id,\n    bandwidth_in_gbps=5,\n    sku={\n        \"tier\": \"Standard\",\n        \"family\": \"MeteredData\",\n    })\nexample2 = azure.network.ExpressRoutePort(\"example2\",\n    name=\"example-erport2\",\n    resource_group_name=example.name,\n    location=example.location,\n    peering_location=\"Allied-Toronto-King-West\",\n    bandwidth_in_gbps=10,\n    encapsulation=\"Dot1Q\")\nexample2_express_route_circuit = azure.network.ExpressRouteCircuit(\"example2\",\n    name=\"example-ercircuit2\",\n    location=example.location,\n    resource_group_name=example.name,\n    express_route_port_id=example2.id,\n    bandwidth_in_gbps=5,\n    sku={\n        \"tier\": \"Standard\",\n        \"family\": \"MeteredData\",\n    })\nexample_express_route_circuit_peering = azure.network.ExpressRouteCircuitPeering(\"example\",\n    peering_type=\"AzurePrivatePeering\",\n    express_route_circuit_name=example_express_route_circuit.name,\n    resource_group_name=example.name,\n    shared_key=\"ItsASecret\",\n    peer_asn=100,\n    primary_peer_address_prefix=\"192.168.1.0/30\",\n    secondary_peer_address_prefix=\"192.168.1.0/30\",\n    vlan_id=100)\nexample2_express_route_circuit_peering = azure.network.ExpressRouteCircuitPeering(\"example2\",\n    peering_type=\"AzurePrivatePeering\",\n    express_route_circuit_name=example2_express_route_circuit.name,\n    resource_group_name=example.name,\n    shared_key=\"ItsASecret\",\n    peer_asn=100,\n    primary_peer_address_prefix=\"192.168.1.0/30\",\n    secondary_peer_address_prefix=\"192.168.1.0/30\",\n    vlan_id=100)\nexample_express_route_circuit_connection = azure.network.ExpressRouteCircuitConnection(\"example\",\n    name=\"example-ercircuitconnection\",\n    peering_id=example_express_route_circuit_peering.id,\n    peer_peering_id=example2_express_route_circuit_peering.id,\n    address_prefix_ipv4=\"192.169.9.0/29\",\n    authorization_key=\"846a1918-b7a2-4917-b43c-8c4cdaee006a\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleExpressRoutePort = new Azure.Network.ExpressRoutePort(\"example\", new()\n    {\n        Name = \"example-erport\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        PeeringLocation = \"Equinix-Seattle-SE2\",\n        BandwidthInGbps = 10,\n        Encapsulation = \"Dot1Q\",\n    });\n\n    var exampleExpressRouteCircuit = new Azure.Network.ExpressRouteCircuit(\"example\", new()\n    {\n        Name = \"example-ercircuit\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        ExpressRoutePortId = exampleExpressRoutePort.Id,\n        BandwidthInGbps = 5,\n        Sku = new Azure.Network.Inputs.ExpressRouteCircuitSkuArgs\n        {\n            Tier = \"Standard\",\n            Family = \"MeteredData\",\n        },\n    });\n\n    var example2 = new Azure.Network.ExpressRoutePort(\"example2\", new()\n    {\n        Name = \"example-erport2\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        PeeringLocation = \"Allied-Toronto-King-West\",\n        BandwidthInGbps = 10,\n        Encapsulation = \"Dot1Q\",\n    });\n\n    var example2ExpressRouteCircuit = new Azure.Network.ExpressRouteCircuit(\"example2\", new()\n    {\n        Name = \"example-ercircuit2\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        ExpressRoutePortId = example2.Id,\n        BandwidthInGbps = 5,\n        Sku = new Azure.Network.Inputs.ExpressRouteCircuitSkuArgs\n        {\n            Tier = \"Standard\",\n            Family = \"MeteredData\",\n        },\n    });\n\n    var exampleExpressRouteCircuitPeering = new Azure.Network.ExpressRouteCircuitPeering(\"example\", new()\n    {\n        PeeringType = \"AzurePrivatePeering\",\n        ExpressRouteCircuitName = exampleExpressRouteCircuit.Name,\n        ResourceGroupName = example.Name,\n        SharedKey = \"ItsASecret\",\n        PeerAsn = 100,\n        PrimaryPeerAddressPrefix = \"192.168.1.0/30\",\n        SecondaryPeerAddressPrefix = \"192.168.1.0/30\",\n        VlanId = 100,\n    });\n\n    var example2ExpressRouteCircuitPeering = new Azure.Network.ExpressRouteCircuitPeering(\"example2\", new()\n    {\n        PeeringType = \"AzurePrivatePeering\",\n        ExpressRouteCircuitName = example2ExpressRouteCircuit.Name,\n        ResourceGroupName = example.Name,\n        SharedKey = \"ItsASecret\",\n        PeerAsn = 100,\n        PrimaryPeerAddressPrefix = \"192.168.1.0/30\",\n        SecondaryPeerAddressPrefix = \"192.168.1.0/30\",\n        VlanId = 100,\n    });\n\n    var exampleExpressRouteCircuitConnection = new Azure.Network.ExpressRouteCircuitConnection(\"example\", new()\n    {\n        Name = \"example-ercircuitconnection\",\n        PeeringId = exampleExpressRouteCircuitPeering.Id,\n        PeerPeeringId = example2ExpressRouteCircuitPeering.Id,\n        AddressPrefixIpv4 = \"192.169.9.0/29\",\n        AuthorizationKey = \"846a1918-b7a2-4917-b43c-8c4cdaee006a\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleExpressRoutePort, err := network.NewExpressRoutePort(ctx, \"example\", \u0026network.ExpressRoutePortArgs{\n\t\t\tName:              pulumi.String(\"example-erport\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tPeeringLocation:   pulumi.String(\"Equinix-Seattle-SE2\"),\n\t\t\tBandwidthInGbps:   pulumi.Int(10),\n\t\t\tEncapsulation:     pulumi.String(\"Dot1Q\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleExpressRouteCircuit, err := network.NewExpressRouteCircuit(ctx, \"example\", \u0026network.ExpressRouteCircuitArgs{\n\t\t\tName:               pulumi.String(\"example-ercircuit\"),\n\t\t\tLocation:           example.Location,\n\t\t\tResourceGroupName:  example.Name,\n\t\t\tExpressRoutePortId: exampleExpressRoutePort.ID(),\n\t\t\tBandwidthInGbps:    pulumi.Float64(5),\n\t\t\tSku: \u0026network.ExpressRouteCircuitSkuArgs{\n\t\t\t\tTier:   pulumi.String(\"Standard\"),\n\t\t\t\tFamily: pulumi.String(\"MeteredData\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample2, err := network.NewExpressRoutePort(ctx, \"example2\", \u0026network.ExpressRoutePortArgs{\n\t\t\tName:              pulumi.String(\"example-erport2\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tPeeringLocation:   pulumi.String(\"Allied-Toronto-King-West\"),\n\t\t\tBandwidthInGbps:   pulumi.Int(10),\n\t\t\tEncapsulation:     pulumi.String(\"Dot1Q\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample2ExpressRouteCircuit, err := network.NewExpressRouteCircuit(ctx, \"example2\", \u0026network.ExpressRouteCircuitArgs{\n\t\t\tName:               pulumi.String(\"example-ercircuit2\"),\n\t\t\tLocation:           example.Location,\n\t\t\tResourceGroupName:  example.Name,\n\t\t\tExpressRoutePortId: example2.ID(),\n\t\t\tBandwidthInGbps:    pulumi.Float64(5),\n\t\t\tSku: \u0026network.ExpressRouteCircuitSkuArgs{\n\t\t\t\tTier:   pulumi.String(\"Standard\"),\n\t\t\t\tFamily: pulumi.String(\"MeteredData\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleExpressRouteCircuitPeering, err := network.NewExpressRouteCircuitPeering(ctx, \"example\", \u0026network.ExpressRouteCircuitPeeringArgs{\n\t\t\tPeeringType:                pulumi.String(\"AzurePrivatePeering\"),\n\t\t\tExpressRouteCircuitName:    exampleExpressRouteCircuit.Name,\n\t\t\tResourceGroupName:          example.Name,\n\t\t\tSharedKey:                  pulumi.String(\"ItsASecret\"),\n\t\t\tPeerAsn:                    pulumi.Int(100),\n\t\t\tPrimaryPeerAddressPrefix:   pulumi.String(\"192.168.1.0/30\"),\n\t\t\tSecondaryPeerAddressPrefix: pulumi.String(\"192.168.1.0/30\"),\n\t\t\tVlanId:                     pulumi.Int(100),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample2ExpressRouteCircuitPeering, err := network.NewExpressRouteCircuitPeering(ctx, \"example2\", \u0026network.ExpressRouteCircuitPeeringArgs{\n\t\t\tPeeringType:                pulumi.String(\"AzurePrivatePeering\"),\n\t\t\tExpressRouteCircuitName:    example2ExpressRouteCircuit.Name,\n\t\t\tResourceGroupName:          example.Name,\n\t\t\tSharedKey:                  pulumi.String(\"ItsASecret\"),\n\t\t\tPeerAsn:                    pulumi.Int(100),\n\t\t\tPrimaryPeerAddressPrefix:   pulumi.String(\"192.168.1.0/30\"),\n\t\t\tSecondaryPeerAddressPrefix: pulumi.String(\"192.168.1.0/30\"),\n\t\t\tVlanId:                     pulumi.Int(100),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = network.NewExpressRouteCircuitConnection(ctx, \"example\", \u0026network.ExpressRouteCircuitConnectionArgs{\n\t\t\tName:              pulumi.String(\"example-ercircuitconnection\"),\n\t\t\tPeeringId:         exampleExpressRouteCircuitPeering.ID(),\n\t\t\tPeerPeeringId:     example2ExpressRouteCircuitPeering.ID(),\n\t\t\tAddressPrefixIpv4: pulumi.String(\"192.169.9.0/29\"),\n\t\t\tAuthorizationKey:  pulumi.String(\"846a1918-b7a2-4917-b43c-8c4cdaee006a\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.ExpressRoutePort;\nimport com.pulumi.azure.network.ExpressRoutePortArgs;\nimport com.pulumi.azure.network.ExpressRouteCircuit;\nimport com.pulumi.azure.network.ExpressRouteCircuitArgs;\nimport com.pulumi.azure.network.inputs.ExpressRouteCircuitSkuArgs;\nimport com.pulumi.azure.network.ExpressRouteCircuitPeering;\nimport com.pulumi.azure.network.ExpressRouteCircuitPeeringArgs;\nimport com.pulumi.azure.network.ExpressRouteCircuitConnection;\nimport com.pulumi.azure.network.ExpressRouteCircuitConnectionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleExpressRoutePort = new ExpressRoutePort(\"exampleExpressRoutePort\", ExpressRoutePortArgs.builder()\n            .name(\"example-erport\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .peeringLocation(\"Equinix-Seattle-SE2\")\n            .bandwidthInGbps(10)\n            .encapsulation(\"Dot1Q\")\n            .build());\n\n        var exampleExpressRouteCircuit = new ExpressRouteCircuit(\"exampleExpressRouteCircuit\", ExpressRouteCircuitArgs.builder()\n            .name(\"example-ercircuit\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .expressRoutePortId(exampleExpressRoutePort.id())\n            .bandwidthInGbps(5.0)\n            .sku(ExpressRouteCircuitSkuArgs.builder()\n                .tier(\"Standard\")\n                .family(\"MeteredData\")\n                .build())\n            .build());\n\n        var example2 = new ExpressRoutePort(\"example2\", ExpressRoutePortArgs.builder()\n            .name(\"example-erport2\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .peeringLocation(\"Allied-Toronto-King-West\")\n            .bandwidthInGbps(10)\n            .encapsulation(\"Dot1Q\")\n            .build());\n\n        var example2ExpressRouteCircuit = new ExpressRouteCircuit(\"example2ExpressRouteCircuit\", ExpressRouteCircuitArgs.builder()\n            .name(\"example-ercircuit2\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .expressRoutePortId(example2.id())\n            .bandwidthInGbps(5.0)\n            .sku(ExpressRouteCircuitSkuArgs.builder()\n                .tier(\"Standard\")\n                .family(\"MeteredData\")\n                .build())\n            .build());\n\n        var exampleExpressRouteCircuitPeering = new ExpressRouteCircuitPeering(\"exampleExpressRouteCircuitPeering\", ExpressRouteCircuitPeeringArgs.builder()\n            .peeringType(\"AzurePrivatePeering\")\n            .expressRouteCircuitName(exampleExpressRouteCircuit.name())\n            .resourceGroupName(example.name())\n            .sharedKey(\"ItsASecret\")\n            .peerAsn(100)\n            .primaryPeerAddressPrefix(\"192.168.1.0/30\")\n            .secondaryPeerAddressPrefix(\"192.168.1.0/30\")\n            .vlanId(100)\n            .build());\n\n        var example2ExpressRouteCircuitPeering = new ExpressRouteCircuitPeering(\"example2ExpressRouteCircuitPeering\", ExpressRouteCircuitPeeringArgs.builder()\n            .peeringType(\"AzurePrivatePeering\")\n            .expressRouteCircuitName(example2ExpressRouteCircuit.name())\n            .resourceGroupName(example.name())\n            .sharedKey(\"ItsASecret\")\n            .peerAsn(100)\n            .primaryPeerAddressPrefix(\"192.168.1.0/30\")\n            .secondaryPeerAddressPrefix(\"192.168.1.0/30\")\n            .vlanId(100)\n            .build());\n\n        var exampleExpressRouteCircuitConnection = new ExpressRouteCircuitConnection(\"exampleExpressRouteCircuitConnection\", ExpressRouteCircuitConnectionArgs.builder()\n            .name(\"example-ercircuitconnection\")\n            .peeringId(exampleExpressRouteCircuitPeering.id())\n            .peerPeeringId(example2ExpressRouteCircuitPeering.id())\n            .addressPrefixIpv4(\"192.169.9.0/29\")\n            .authorizationKey(\"846a1918-b7a2-4917-b43c-8c4cdaee006a\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleExpressRoutePort:\n    type: azure:network:ExpressRoutePort\n    name: example\n    properties:\n      name: example-erport\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      peeringLocation: Equinix-Seattle-SE2\n      bandwidthInGbps: 10\n      encapsulation: Dot1Q\n  exampleExpressRouteCircuit:\n    type: azure:network:ExpressRouteCircuit\n    name: example\n    properties:\n      name: example-ercircuit\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      expressRoutePortId: ${exampleExpressRoutePort.id}\n      bandwidthInGbps: 5\n      sku:\n        tier: Standard\n        family: MeteredData\n  example2:\n    type: azure:network:ExpressRoutePort\n    properties:\n      name: example-erport2\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      peeringLocation: Allied-Toronto-King-West\n      bandwidthInGbps: 10\n      encapsulation: Dot1Q\n  example2ExpressRouteCircuit:\n    type: azure:network:ExpressRouteCircuit\n    name: example2\n    properties:\n      name: example-ercircuit2\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      expressRoutePortId: ${example2.id}\n      bandwidthInGbps: 5\n      sku:\n        tier: Standard\n        family: MeteredData\n  exampleExpressRouteCircuitPeering:\n    type: azure:network:ExpressRouteCircuitPeering\n    name: example\n    properties:\n      peeringType: AzurePrivatePeering\n      expressRouteCircuitName: ${exampleExpressRouteCircuit.name}\n      resourceGroupName: ${example.name}\n      sharedKey: ItsASecret\n      peerAsn: 100\n      primaryPeerAddressPrefix: 192.168.1.0/30\n      secondaryPeerAddressPrefix: 192.168.1.0/30\n      vlanId: 100\n  example2ExpressRouteCircuitPeering:\n    type: azure:network:ExpressRouteCircuitPeering\n    name: example2\n    properties:\n      peeringType: AzurePrivatePeering\n      expressRouteCircuitName: ${example2ExpressRouteCircuit.name}\n      resourceGroupName: ${example.name}\n      sharedKey: ItsASecret\n      peerAsn: 100\n      primaryPeerAddressPrefix: 192.168.1.0/30\n      secondaryPeerAddressPrefix: 192.168.1.0/30\n      vlanId: 100\n  exampleExpressRouteCircuitConnection:\n    type: azure:network:ExpressRouteCircuitConnection\n    name: example\n    properties:\n      name: example-ercircuitconnection\n      peeringId: ${exampleExpressRouteCircuitPeering.id}\n      peerPeeringId: ${example2ExpressRouteCircuitPeering.id}\n      addressPrefixIpv4: 192.169.9.0/29\n      authorizationKey: 846a1918-b7a2-4917-b43c-8c4cdaee006a\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2025-01-01\n\n## Import\n\nExpress Route Circuit Connections can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:network/expressRouteCircuitConnection:ExpressRouteCircuitConnection example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Network/expressRouteCircuits/circuit1/peerings/peering1/connections/connection1\n```\n\n","properties":{"addressPrefixIpv4":{"type":"string","description":"The IPv4 address space from which to allocate customer address for global reach. Changing this forces a new Express Route Circuit Connection to be created.\n"},"addressPrefixIpv6":{"type":"string","description":"The IPv6 address space from which to allocate customer addresses for global reach.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`addressPrefixIpv6`\" pulumi-lang-dotnet=\"`AddressPrefixIpv6`\" pulumi-lang-go=\"`addressPrefixIpv6`\" pulumi-lang-python=\"`address_prefix_ipv6`\" pulumi-lang-yaml=\"`addressPrefixIpv6`\" pulumi-lang-java=\"`addressPrefixIpv6`\"\u003e`address_prefix_ipv6`\u003c/span\u003e cannot be set when ExpressRoute Circuit Connection with ExpressRoute Circuit based on ExpressRoute Port.\n"},"authorizationKey":{"type":"string","description":"The authorization key which is associated with the Express Route Circuit Connection.\n","secret":true},"name":{"type":"string","description":"The name which should be used for this Express Route Circuit Connection. Changing this forces a new Express Route Circuit Connection to be created.\n"},"peerPeeringId":{"type":"string","description":"The ID of the peered Express Route Circuit Private Peering. Changing this forces a new Express Route Circuit Connection to be created.\n"},"peeringId":{"type":"string","description":"The ID of the Express Route Circuit Private Peering that this Express Route Circuit Connection connects with. Changing this forces a new Express Route Circuit Connection to be created.\n"}},"required":["addressPrefixIpv4","name","peerPeeringId","peeringId"],"inputProperties":{"addressPrefixIpv4":{"type":"string","description":"The IPv4 address space from which to allocate customer address for global reach. Changing this forces a new Express Route Circuit Connection to be created.\n","willReplaceOnChanges":true},"addressPrefixIpv6":{"type":"string","description":"The IPv6 address space from which to allocate customer addresses for global reach.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`addressPrefixIpv6`\" pulumi-lang-dotnet=\"`AddressPrefixIpv6`\" pulumi-lang-go=\"`addressPrefixIpv6`\" pulumi-lang-python=\"`address_prefix_ipv6`\" pulumi-lang-yaml=\"`addressPrefixIpv6`\" pulumi-lang-java=\"`addressPrefixIpv6`\"\u003e`address_prefix_ipv6`\u003c/span\u003e cannot be set when ExpressRoute Circuit Connection with ExpressRoute Circuit based on ExpressRoute Port.\n"},"authorizationKey":{"type":"string","description":"The authorization key which is associated with the Express Route Circuit Connection.\n","secret":true},"name":{"type":"string","description":"The name which should be used for this Express Route Circuit Connection. Changing this forces a new Express Route Circuit Connection to be created.\n","willReplaceOnChanges":true},"peerPeeringId":{"type":"string","description":"The ID of the peered Express Route Circuit Private Peering. Changing this forces a new Express Route Circuit Connection to be created.\n","willReplaceOnChanges":true},"peeringId":{"type":"string","description":"The ID of the Express Route Circuit Private Peering that this Express Route Circuit Connection connects with. Changing this forces a new Express Route Circuit Connection to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["addressPrefixIpv4","peerPeeringId","peeringId"],"stateInputs":{"description":"Input properties used for looking up and filtering ExpressRouteCircuitConnection resources.\n","properties":{"addressPrefixIpv4":{"type":"string","description":"The IPv4 address space from which to allocate customer address for global reach. Changing this forces a new Express Route Circuit Connection to be created.\n","willReplaceOnChanges":true},"addressPrefixIpv6":{"type":"string","description":"The IPv6 address space from which to allocate customer addresses for global reach.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`addressPrefixIpv6`\" pulumi-lang-dotnet=\"`AddressPrefixIpv6`\" pulumi-lang-go=\"`addressPrefixIpv6`\" pulumi-lang-python=\"`address_prefix_ipv6`\" pulumi-lang-yaml=\"`addressPrefixIpv6`\" pulumi-lang-java=\"`addressPrefixIpv6`\"\u003e`address_prefix_ipv6`\u003c/span\u003e cannot be set when ExpressRoute Circuit Connection with ExpressRoute Circuit based on ExpressRoute Port.\n"},"authorizationKey":{"type":"string","description":"The authorization key which is associated with the Express Route Circuit Connection.\n","secret":true},"name":{"type":"string","description":"The name which should be used for this Express Route Circuit Connection. Changing this forces a new Express Route Circuit Connection to be created.\n","willReplaceOnChanges":true},"peerPeeringId":{"type":"string","description":"The ID of the peered Express Route Circuit Private Peering. Changing this forces a new Express Route Circuit Connection to be created.\n","willReplaceOnChanges":true},"peeringId":{"type":"string","description":"The ID of the Express Route Circuit Private Peering that this Express Route Circuit Connection connects with. Changing this forces a new Express Route Circuit Connection to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:network/expressRouteCircuitPeering:ExpressRouteCircuitPeering":{"description":"Manages an ExpressRoute Circuit Peering.\n\n## Example Usage\n\n### Creating A Microsoft Peering)\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"exprtTest\",\n    location: \"West Europe\",\n});\nconst exampleExpressRouteCircuit = new azure.network.ExpressRouteCircuit(\"example\", {\n    name: \"expressRoute1\",\n    resourceGroupName: example.name,\n    location: example.location,\n    serviceProviderName: \"Equinix\",\n    peeringLocation: \"Silicon Valley\",\n    bandwidthInMbps: 50,\n    sku: {\n        tier: \"Standard\",\n        family: \"MeteredData\",\n    },\n    allowClassicOperations: false,\n    tags: {\n        environment: \"Production\",\n    },\n});\nconst exampleExpressRouteCircuitPeering = new azure.network.ExpressRouteCircuitPeering(\"example\", {\n    peeringType: \"MicrosoftPeering\",\n    expressRouteCircuitName: exampleExpressRouteCircuit.name,\n    resourceGroupName: example.name,\n    peerAsn: 100,\n    primaryPeerAddressPrefix: \"123.0.0.0/30\",\n    secondaryPeerAddressPrefix: \"123.0.0.4/30\",\n    ipv4Enabled: true,\n    vlanId: 300,\n    microsoftPeeringConfig: {\n        advertisedPublicPrefixes: [\"123.1.0.0/24\"],\n    },\n    ipv6: {\n        primaryPeerAddressPrefix: \"2002:db01::/126\",\n        secondaryPeerAddressPrefix: \"2003:db01::/126\",\n        enabled: true,\n        microsoftPeering: {\n            advertisedPublicPrefixes: [\"2002:db01::/126\"],\n        },\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"exprtTest\",\n    location=\"West Europe\")\nexample_express_route_circuit = azure.network.ExpressRouteCircuit(\"example\",\n    name=\"expressRoute1\",\n    resource_group_name=example.name,\n    location=example.location,\n    service_provider_name=\"Equinix\",\n    peering_location=\"Silicon Valley\",\n    bandwidth_in_mbps=50,\n    sku={\n        \"tier\": \"Standard\",\n        \"family\": \"MeteredData\",\n    },\n    allow_classic_operations=False,\n    tags={\n        \"environment\": \"Production\",\n    })\nexample_express_route_circuit_peering = azure.network.ExpressRouteCircuitPeering(\"example\",\n    peering_type=\"MicrosoftPeering\",\n    express_route_circuit_name=example_express_route_circuit.name,\n    resource_group_name=example.name,\n    peer_asn=100,\n    primary_peer_address_prefix=\"123.0.0.0/30\",\n    secondary_peer_address_prefix=\"123.0.0.4/30\",\n    ipv4_enabled=True,\n    vlan_id=300,\n    microsoft_peering_config={\n        \"advertised_public_prefixes\": [\"123.1.0.0/24\"],\n    },\n    ipv6={\n        \"primary_peer_address_prefix\": \"2002:db01::/126\",\n        \"secondary_peer_address_prefix\": \"2003:db01::/126\",\n        \"enabled\": True,\n        \"microsoft_peering\": {\n            \"advertised_public_prefixes\": [\"2002:db01::/126\"],\n        },\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"exprtTest\",\n        Location = \"West Europe\",\n    });\n\n    var exampleExpressRouteCircuit = new Azure.Network.ExpressRouteCircuit(\"example\", new()\n    {\n        Name = \"expressRoute1\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        ServiceProviderName = \"Equinix\",\n        PeeringLocation = \"Silicon Valley\",\n        BandwidthInMbps = 50,\n        Sku = new Azure.Network.Inputs.ExpressRouteCircuitSkuArgs\n        {\n            Tier = \"Standard\",\n            Family = \"MeteredData\",\n        },\n        AllowClassicOperations = false,\n        Tags = \n        {\n            { \"environment\", \"Production\" },\n        },\n    });\n\n    var exampleExpressRouteCircuitPeering = new Azure.Network.ExpressRouteCircuitPeering(\"example\", new()\n    {\n        PeeringType = \"MicrosoftPeering\",\n        ExpressRouteCircuitName = exampleExpressRouteCircuit.Name,\n        ResourceGroupName = example.Name,\n        PeerAsn = 100,\n        PrimaryPeerAddressPrefix = \"123.0.0.0/30\",\n        SecondaryPeerAddressPrefix = \"123.0.0.4/30\",\n        Ipv4Enabled = true,\n        VlanId = 300,\n        MicrosoftPeeringConfig = new Azure.Network.Inputs.ExpressRouteCircuitPeeringMicrosoftPeeringConfigArgs\n        {\n            AdvertisedPublicPrefixes = new[]\n            {\n                \"123.1.0.0/24\",\n            },\n        },\n        Ipv6 = new Azure.Network.Inputs.ExpressRouteCircuitPeeringIpv6Args\n        {\n            PrimaryPeerAddressPrefix = \"2002:db01::/126\",\n            SecondaryPeerAddressPrefix = \"2003:db01::/126\",\n            Enabled = true,\n            MicrosoftPeering = new Azure.Network.Inputs.ExpressRouteCircuitPeeringIpv6MicrosoftPeeringArgs\n            {\n                AdvertisedPublicPrefixes = new[]\n                {\n                    \"2002:db01::/126\",\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"exprtTest\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleExpressRouteCircuit, err := network.NewExpressRouteCircuit(ctx, \"example\", \u0026network.ExpressRouteCircuitArgs{\n\t\t\tName:                pulumi.String(\"expressRoute1\"),\n\t\t\tResourceGroupName:   example.Name,\n\t\t\tLocation:            example.Location,\n\t\t\tServiceProviderName: pulumi.String(\"Equinix\"),\n\t\t\tPeeringLocation:     pulumi.String(\"Silicon Valley\"),\n\t\t\tBandwidthInMbps:     pulumi.Int(50),\n\t\t\tSku: \u0026network.ExpressRouteCircuitSkuArgs{\n\t\t\t\tTier:   pulumi.String(\"Standard\"),\n\t\t\t\tFamily: pulumi.String(\"MeteredData\"),\n\t\t\t},\n\t\t\tAllowClassicOperations: pulumi.Bool(false),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"environment\": pulumi.String(\"Production\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = network.NewExpressRouteCircuitPeering(ctx, \"example\", \u0026network.ExpressRouteCircuitPeeringArgs{\n\t\t\tPeeringType:                pulumi.String(\"MicrosoftPeering\"),\n\t\t\tExpressRouteCircuitName:    exampleExpressRouteCircuit.Name,\n\t\t\tResourceGroupName:          example.Name,\n\t\t\tPeerAsn:                    pulumi.Int(100),\n\t\t\tPrimaryPeerAddressPrefix:   pulumi.String(\"123.0.0.0/30\"),\n\t\t\tSecondaryPeerAddressPrefix: pulumi.String(\"123.0.0.4/30\"),\n\t\t\tIpv4Enabled:                pulumi.Bool(true),\n\t\t\tVlanId:                     pulumi.Int(300),\n\t\t\tMicrosoftPeeringConfig: \u0026network.ExpressRouteCircuitPeeringMicrosoftPeeringConfigArgs{\n\t\t\t\tAdvertisedPublicPrefixes: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"123.1.0.0/24\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tIpv6: \u0026network.ExpressRouteCircuitPeeringIpv6Args{\n\t\t\t\tPrimaryPeerAddressPrefix:   pulumi.String(\"2002:db01::/126\"),\n\t\t\t\tSecondaryPeerAddressPrefix: pulumi.String(\"2003:db01::/126\"),\n\t\t\t\tEnabled:                    pulumi.Bool(true),\n\t\t\t\tMicrosoftPeering: \u0026network.ExpressRouteCircuitPeeringIpv6MicrosoftPeeringArgs{\n\t\t\t\t\tAdvertisedPublicPrefixes: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"2002:db01::/126\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.ExpressRouteCircuit;\nimport com.pulumi.azure.network.ExpressRouteCircuitArgs;\nimport com.pulumi.azure.network.inputs.ExpressRouteCircuitSkuArgs;\nimport com.pulumi.azure.network.ExpressRouteCircuitPeering;\nimport com.pulumi.azure.network.ExpressRouteCircuitPeeringArgs;\nimport com.pulumi.azure.network.inputs.ExpressRouteCircuitPeeringMicrosoftPeeringConfigArgs;\nimport com.pulumi.azure.network.inputs.ExpressRouteCircuitPeeringIpv6Args;\nimport com.pulumi.azure.network.inputs.ExpressRouteCircuitPeeringIpv6MicrosoftPeeringArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"exprtTest\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleExpressRouteCircuit = new ExpressRouteCircuit(\"exampleExpressRouteCircuit\", ExpressRouteCircuitArgs.builder()\n            .name(\"expressRoute1\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .serviceProviderName(\"Equinix\")\n            .peeringLocation(\"Silicon Valley\")\n            .bandwidthInMbps(50)\n            .sku(ExpressRouteCircuitSkuArgs.builder()\n                .tier(\"Standard\")\n                .family(\"MeteredData\")\n                .build())\n            .allowClassicOperations(false)\n            .tags(Map.of(\"environment\", \"Production\"))\n            .build());\n\n        var exampleExpressRouteCircuitPeering = new ExpressRouteCircuitPeering(\"exampleExpressRouteCircuitPeering\", ExpressRouteCircuitPeeringArgs.builder()\n            .peeringType(\"MicrosoftPeering\")\n            .expressRouteCircuitName(exampleExpressRouteCircuit.name())\n            .resourceGroupName(example.name())\n            .peerAsn(100)\n            .primaryPeerAddressPrefix(\"123.0.0.0/30\")\n            .secondaryPeerAddressPrefix(\"123.0.0.4/30\")\n            .ipv4Enabled(true)\n            .vlanId(300)\n            .microsoftPeeringConfig(ExpressRouteCircuitPeeringMicrosoftPeeringConfigArgs.builder()\n                .advertisedPublicPrefixes(\"123.1.0.0/24\")\n                .build())\n            .ipv6(ExpressRouteCircuitPeeringIpv6Args.builder()\n                .primaryPeerAddressPrefix(\"2002:db01::/126\")\n                .secondaryPeerAddressPrefix(\"2003:db01::/126\")\n                .enabled(true)\n                .microsoftPeering(ExpressRouteCircuitPeeringIpv6MicrosoftPeeringArgs.builder()\n                    .advertisedPublicPrefixes(\"2002:db01::/126\")\n                    .build())\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: exprtTest\n      location: West Europe\n  exampleExpressRouteCircuit:\n    type: azure:network:ExpressRouteCircuit\n    name: example\n    properties:\n      name: expressRoute1\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      serviceProviderName: Equinix\n      peeringLocation: Silicon Valley\n      bandwidthInMbps: 50\n      sku:\n        tier: Standard\n        family: MeteredData\n      allowClassicOperations: false\n      tags:\n        environment: Production\n  exampleExpressRouteCircuitPeering:\n    type: azure:network:ExpressRouteCircuitPeering\n    name: example\n    properties:\n      peeringType: MicrosoftPeering\n      expressRouteCircuitName: ${exampleExpressRouteCircuit.name}\n      resourceGroupName: ${example.name}\n      peerAsn: 100\n      primaryPeerAddressPrefix: 123.0.0.0/30\n      secondaryPeerAddressPrefix: 123.0.0.4/30\n      ipv4Enabled: true\n      vlanId: 300\n      microsoftPeeringConfig:\n        advertisedPublicPrefixes:\n          - 123.1.0.0/24\n      ipv6:\n        primaryPeerAddressPrefix: 2002:db01::/126\n        secondaryPeerAddressPrefix: 2003:db01::/126\n        enabled: true\n        microsoftPeering:\n          advertisedPublicPrefixes:\n            - 2002:db01::/126\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\n### Creating Azure Private Peering)\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"exprtTest\",\n    location: \"West Europe\",\n});\nconst exampleExpressRouteCircuit = new azure.network.ExpressRouteCircuit(\"example\", {\n    name: \"expressRoute1\",\n    resourceGroupName: example.name,\n    location: example.location,\n    serviceProviderName: \"Equinix\",\n    peeringLocation: \"Silicon Valley\",\n    bandwidthInMbps: 50,\n    sku: {\n        tier: \"Standard\",\n        family: \"MeteredData\",\n    },\n    allowClassicOperations: false,\n    tags: {\n        environment: \"Production\",\n    },\n});\nconst exampleExpressRouteCircuitPeering = new azure.network.ExpressRouteCircuitPeering(\"example\", {\n    peeringType: \"AzurePrivatePeering\",\n    expressRouteCircuitName: exampleExpressRouteCircuit.name,\n    resourceGroupName: example.name,\n    peerAsn: 100,\n    primaryPeerAddressPrefix: \"123.0.0.0/30\",\n    secondaryPeerAddressPrefix: \"123.0.0.4/30\",\n    ipv4Enabled: true,\n    vlanId: 300,\n    ipv6: {\n        primaryPeerAddressPrefix: \"2002:db01::/126\",\n        secondaryPeerAddressPrefix: \"2003:db01::/126\",\n        enabled: true,\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"exprtTest\",\n    location=\"West Europe\")\nexample_express_route_circuit = azure.network.ExpressRouteCircuit(\"example\",\n    name=\"expressRoute1\",\n    resource_group_name=example.name,\n    location=example.location,\n    service_provider_name=\"Equinix\",\n    peering_location=\"Silicon Valley\",\n    bandwidth_in_mbps=50,\n    sku={\n        \"tier\": \"Standard\",\n        \"family\": \"MeteredData\",\n    },\n    allow_classic_operations=False,\n    tags={\n        \"environment\": \"Production\",\n    })\nexample_express_route_circuit_peering = azure.network.ExpressRouteCircuitPeering(\"example\",\n    peering_type=\"AzurePrivatePeering\",\n    express_route_circuit_name=example_express_route_circuit.name,\n    resource_group_name=example.name,\n    peer_asn=100,\n    primary_peer_address_prefix=\"123.0.0.0/30\",\n    secondary_peer_address_prefix=\"123.0.0.4/30\",\n    ipv4_enabled=True,\n    vlan_id=300,\n    ipv6={\n        \"primary_peer_address_prefix\": \"2002:db01::/126\",\n        \"secondary_peer_address_prefix\": \"2003:db01::/126\",\n        \"enabled\": True,\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"exprtTest\",\n        Location = \"West Europe\",\n    });\n\n    var exampleExpressRouteCircuit = new Azure.Network.ExpressRouteCircuit(\"example\", new()\n    {\n        Name = \"expressRoute1\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        ServiceProviderName = \"Equinix\",\n        PeeringLocation = \"Silicon Valley\",\n        BandwidthInMbps = 50,\n        Sku = new Azure.Network.Inputs.ExpressRouteCircuitSkuArgs\n        {\n            Tier = \"Standard\",\n            Family = \"MeteredData\",\n        },\n        AllowClassicOperations = false,\n        Tags = \n        {\n            { \"environment\", \"Production\" },\n        },\n    });\n\n    var exampleExpressRouteCircuitPeering = new Azure.Network.ExpressRouteCircuitPeering(\"example\", new()\n    {\n        PeeringType = \"AzurePrivatePeering\",\n        ExpressRouteCircuitName = exampleExpressRouteCircuit.Name,\n        ResourceGroupName = example.Name,\n        PeerAsn = 100,\n        PrimaryPeerAddressPrefix = \"123.0.0.0/30\",\n        SecondaryPeerAddressPrefix = \"123.0.0.4/30\",\n        Ipv4Enabled = true,\n        VlanId = 300,\n        Ipv6 = new Azure.Network.Inputs.ExpressRouteCircuitPeeringIpv6Args\n        {\n            PrimaryPeerAddressPrefix = \"2002:db01::/126\",\n            SecondaryPeerAddressPrefix = \"2003:db01::/126\",\n            Enabled = true,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"exprtTest\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleExpressRouteCircuit, err := network.NewExpressRouteCircuit(ctx, \"example\", \u0026network.ExpressRouteCircuitArgs{\n\t\t\tName:                pulumi.String(\"expressRoute1\"),\n\t\t\tResourceGroupName:   example.Name,\n\t\t\tLocation:            example.Location,\n\t\t\tServiceProviderName: pulumi.String(\"Equinix\"),\n\t\t\tPeeringLocation:     pulumi.String(\"Silicon Valley\"),\n\t\t\tBandwidthInMbps:     pulumi.Int(50),\n\t\t\tSku: \u0026network.ExpressRouteCircuitSkuArgs{\n\t\t\t\tTier:   pulumi.String(\"Standard\"),\n\t\t\t\tFamily: pulumi.String(\"MeteredData\"),\n\t\t\t},\n\t\t\tAllowClassicOperations: pulumi.Bool(false),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"environment\": pulumi.String(\"Production\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = network.NewExpressRouteCircuitPeering(ctx, \"example\", \u0026network.ExpressRouteCircuitPeeringArgs{\n\t\t\tPeeringType:                pulumi.String(\"AzurePrivatePeering\"),\n\t\t\tExpressRouteCircuitName:    exampleExpressRouteCircuit.Name,\n\t\t\tResourceGroupName:          example.Name,\n\t\t\tPeerAsn:                    pulumi.Int(100),\n\t\t\tPrimaryPeerAddressPrefix:   pulumi.String(\"123.0.0.0/30\"),\n\t\t\tSecondaryPeerAddressPrefix: pulumi.String(\"123.0.0.4/30\"),\n\t\t\tIpv4Enabled:                pulumi.Bool(true),\n\t\t\tVlanId:                     pulumi.Int(300),\n\t\t\tIpv6: \u0026network.ExpressRouteCircuitPeeringIpv6Args{\n\t\t\t\tPrimaryPeerAddressPrefix:   pulumi.String(\"2002:db01::/126\"),\n\t\t\t\tSecondaryPeerAddressPrefix: pulumi.String(\"2003:db01::/126\"),\n\t\t\t\tEnabled:                    pulumi.Bool(true),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.ExpressRouteCircuit;\nimport com.pulumi.azure.network.ExpressRouteCircuitArgs;\nimport com.pulumi.azure.network.inputs.ExpressRouteCircuitSkuArgs;\nimport com.pulumi.azure.network.ExpressRouteCircuitPeering;\nimport com.pulumi.azure.network.ExpressRouteCircuitPeeringArgs;\nimport com.pulumi.azure.network.inputs.ExpressRouteCircuitPeeringIpv6Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"exprtTest\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleExpressRouteCircuit = new ExpressRouteCircuit(\"exampleExpressRouteCircuit\", ExpressRouteCircuitArgs.builder()\n            .name(\"expressRoute1\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .serviceProviderName(\"Equinix\")\n            .peeringLocation(\"Silicon Valley\")\n            .bandwidthInMbps(50)\n            .sku(ExpressRouteCircuitSkuArgs.builder()\n                .tier(\"Standard\")\n                .family(\"MeteredData\")\n                .build())\n            .allowClassicOperations(false)\n            .tags(Map.of(\"environment\", \"Production\"))\n            .build());\n\n        var exampleExpressRouteCircuitPeering = new ExpressRouteCircuitPeering(\"exampleExpressRouteCircuitPeering\", ExpressRouteCircuitPeeringArgs.builder()\n            .peeringType(\"AzurePrivatePeering\")\n            .expressRouteCircuitName(exampleExpressRouteCircuit.name())\n            .resourceGroupName(example.name())\n            .peerAsn(100)\n            .primaryPeerAddressPrefix(\"123.0.0.0/30\")\n            .secondaryPeerAddressPrefix(\"123.0.0.4/30\")\n            .ipv4Enabled(true)\n            .vlanId(300)\n            .ipv6(ExpressRouteCircuitPeeringIpv6Args.builder()\n                .primaryPeerAddressPrefix(\"2002:db01::/126\")\n                .secondaryPeerAddressPrefix(\"2003:db01::/126\")\n                .enabled(true)\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: exprtTest\n      location: West Europe\n  exampleExpressRouteCircuit:\n    type: azure:network:ExpressRouteCircuit\n    name: example\n    properties:\n      name: expressRoute1\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      serviceProviderName: Equinix\n      peeringLocation: Silicon Valley\n      bandwidthInMbps: 50\n      sku:\n        tier: Standard\n        family: MeteredData\n      allowClassicOperations: false\n      tags:\n        environment: Production\n  exampleExpressRouteCircuitPeering:\n    type: azure:network:ExpressRouteCircuitPeering\n    name: example\n    properties:\n      peeringType: AzurePrivatePeering\n      expressRouteCircuitName: ${exampleExpressRouteCircuit.name}\n      resourceGroupName: ${example.name}\n      peerAsn: 100\n      primaryPeerAddressPrefix: 123.0.0.0/30\n      secondaryPeerAddressPrefix: 123.0.0.4/30\n      ipv4Enabled: true\n      vlanId: 300\n      ipv6:\n        primaryPeerAddressPrefix: 2002:db01::/126\n        secondaryPeerAddressPrefix: 2003:db01::/126\n        enabled: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2025-01-01\n\n## Import\n\nExpressRoute Circuit Peerings can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:network/expressRouteCircuitPeering:ExpressRouteCircuitPeering peering1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Network/expressRouteCircuits/myExpressRoute/peerings/peering1\n```\n\n","properties":{"azureAsn":{"type":"integer","description":"The ASN used by Azure.\n"},"expressRouteCircuitName":{"type":"string","description":"The name of the ExpressRoute Circuit in which to create the Peering. Changing this forces a new resource to be created.\n"},"gatewayManagerEtag":{"type":"string"},"ipv4Enabled":{"type":"boolean","description":"A boolean value indicating whether the IPv4 peering is enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"ipv6":{"$ref":"#/types/azure:network/ExpressRouteCircuitPeeringIpv6:ExpressRouteCircuitPeeringIpv6","description":"A \u003cspan pulumi-lang-nodejs=\"`ipv6`\" pulumi-lang-dotnet=\"`Ipv6`\" pulumi-lang-go=\"`ipv6`\" pulumi-lang-python=\"`ipv6`\" pulumi-lang-yaml=\"`ipv6`\" pulumi-lang-java=\"`ipv6`\"\u003e`ipv6`\u003c/span\u003e block as defined below.\n"},"microsoftPeeringConfig":{"$ref":"#/types/azure:network/ExpressRouteCircuitPeeringMicrosoftPeeringConfig:ExpressRouteCircuitPeeringMicrosoftPeeringConfig","description":"A \u003cspan pulumi-lang-nodejs=\"`microsoftPeeringConfig`\" pulumi-lang-dotnet=\"`MicrosoftPeeringConfig`\" pulumi-lang-go=\"`microsoftPeeringConfig`\" pulumi-lang-python=\"`microsoft_peering_config`\" pulumi-lang-yaml=\"`microsoftPeeringConfig`\" pulumi-lang-java=\"`microsoftPeeringConfig`\"\u003e`microsoft_peering_config`\u003c/span\u003e block as defined below. Required when \u003cspan pulumi-lang-nodejs=\"`peeringType`\" pulumi-lang-dotnet=\"`PeeringType`\" pulumi-lang-go=\"`peeringType`\" pulumi-lang-python=\"`peering_type`\" pulumi-lang-yaml=\"`peeringType`\" pulumi-lang-java=\"`peeringType`\"\u003e`peering_type`\u003c/span\u003e is set to `MicrosoftPeering` and config for IPv4.\n"},"peerAsn":{"type":"integer","description":"The Either a 16-bit or a 32-bit ASN. Can either be public or private.\n"},"peeringType":{"type":"string","description":"The type of the ExpressRoute Circuit Peering. Acceptable values include `AzurePrivatePeering`, `AzurePublicPeering` and `MicrosoftPeering`. \n\n\u003e **Note:** only one Peering of each Type can be created. Attempting to create multiple peerings of the same type will overwrite the original peering.\n"},"primaryAzurePort":{"type":"string","description":"The Primary Port used by Azure for this Peering.\n"},"primaryPeerAddressPrefix":{"type":"string","description":"A subnet for the primary link.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the Express Route Circuit Peering. Changing this forces a new resource to be created.\n"},"routeFilterId":{"type":"string","description":"The ID of the Route Filter. Only available when \u003cspan pulumi-lang-nodejs=\"`peeringType`\" pulumi-lang-dotnet=\"`PeeringType`\" pulumi-lang-go=\"`peeringType`\" pulumi-lang-python=\"`peering_type`\" pulumi-lang-yaml=\"`peeringType`\" pulumi-lang-java=\"`peeringType`\"\u003e`peering_type`\u003c/span\u003e is set to `MicrosoftPeering`.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`ipv6`\" pulumi-lang-dotnet=\"`Ipv6`\" pulumi-lang-go=\"`ipv6`\" pulumi-lang-python=\"`ipv6`\" pulumi-lang-yaml=\"`ipv6`\" pulumi-lang-java=\"`ipv6`\"\u003e`ipv6`\u003c/span\u003e can be specified when \u003cspan pulumi-lang-nodejs=\"`peeringType`\" pulumi-lang-dotnet=\"`PeeringType`\" pulumi-lang-go=\"`peeringType`\" pulumi-lang-python=\"`peering_type`\" pulumi-lang-yaml=\"`peeringType`\" pulumi-lang-java=\"`peeringType`\"\u003e`peering_type`\u003c/span\u003e is `MicrosoftPeering` or `AzurePrivatePeering`\n"},"secondaryAzurePort":{"type":"string","description":"The Secondary Port used by Azure for this Peering.\n"},"secondaryPeerAddressPrefix":{"type":"string","description":"A subnet for the secondary link.\n"},"sharedKey":{"type":"string","description":"The shared key. Can be a maximum of 25 characters.\n","secret":true},"vlanId":{"type":"integer","description":"A valid VLAN ID to establish this peering on.\n"}},"required":["azureAsn","expressRouteCircuitName","gatewayManagerEtag","peerAsn","peeringType","primaryAzurePort","resourceGroupName","secondaryAzurePort","vlanId"],"inputProperties":{"expressRouteCircuitName":{"type":"string","description":"The name of the ExpressRoute Circuit in which to create the Peering. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"ipv4Enabled":{"type":"boolean","description":"A boolean value indicating whether the IPv4 peering is enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"ipv6":{"$ref":"#/types/azure:network/ExpressRouteCircuitPeeringIpv6:ExpressRouteCircuitPeeringIpv6","description":"A \u003cspan pulumi-lang-nodejs=\"`ipv6`\" pulumi-lang-dotnet=\"`Ipv6`\" pulumi-lang-go=\"`ipv6`\" pulumi-lang-python=\"`ipv6`\" pulumi-lang-yaml=\"`ipv6`\" pulumi-lang-java=\"`ipv6`\"\u003e`ipv6`\u003c/span\u003e block as defined below.\n"},"microsoftPeeringConfig":{"$ref":"#/types/azure:network/ExpressRouteCircuitPeeringMicrosoftPeeringConfig:ExpressRouteCircuitPeeringMicrosoftPeeringConfig","description":"A \u003cspan pulumi-lang-nodejs=\"`microsoftPeeringConfig`\" pulumi-lang-dotnet=\"`MicrosoftPeeringConfig`\" pulumi-lang-go=\"`microsoftPeeringConfig`\" pulumi-lang-python=\"`microsoft_peering_config`\" pulumi-lang-yaml=\"`microsoftPeeringConfig`\" pulumi-lang-java=\"`microsoftPeeringConfig`\"\u003e`microsoft_peering_config`\u003c/span\u003e block as defined below. Required when \u003cspan pulumi-lang-nodejs=\"`peeringType`\" pulumi-lang-dotnet=\"`PeeringType`\" pulumi-lang-go=\"`peeringType`\" pulumi-lang-python=\"`peering_type`\" pulumi-lang-yaml=\"`peeringType`\" pulumi-lang-java=\"`peeringType`\"\u003e`peering_type`\u003c/span\u003e is set to `MicrosoftPeering` and config for IPv4.\n"},"peerAsn":{"type":"integer","description":"The Either a 16-bit or a 32-bit ASN. Can either be public or private.\n"},"peeringType":{"type":"string","description":"The type of the ExpressRoute Circuit Peering. Acceptable values include `AzurePrivatePeering`, `AzurePublicPeering` and `MicrosoftPeering`. \n\n\u003e **Note:** only one Peering of each Type can be created. Attempting to create multiple peerings of the same type will overwrite the original peering.\n"},"primaryPeerAddressPrefix":{"type":"string","description":"A subnet for the primary link.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the Express Route Circuit Peering. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"routeFilterId":{"type":"string","description":"The ID of the Route Filter. Only available when \u003cspan pulumi-lang-nodejs=\"`peeringType`\" pulumi-lang-dotnet=\"`PeeringType`\" pulumi-lang-go=\"`peeringType`\" pulumi-lang-python=\"`peering_type`\" pulumi-lang-yaml=\"`peeringType`\" pulumi-lang-java=\"`peeringType`\"\u003e`peering_type`\u003c/span\u003e is set to `MicrosoftPeering`.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`ipv6`\" pulumi-lang-dotnet=\"`Ipv6`\" pulumi-lang-go=\"`ipv6`\" pulumi-lang-python=\"`ipv6`\" pulumi-lang-yaml=\"`ipv6`\" pulumi-lang-java=\"`ipv6`\"\u003e`ipv6`\u003c/span\u003e can be specified when \u003cspan pulumi-lang-nodejs=\"`peeringType`\" pulumi-lang-dotnet=\"`PeeringType`\" pulumi-lang-go=\"`peeringType`\" pulumi-lang-python=\"`peering_type`\" pulumi-lang-yaml=\"`peeringType`\" pulumi-lang-java=\"`peeringType`\"\u003e`peering_type`\u003c/span\u003e is `MicrosoftPeering` or `AzurePrivatePeering`\n"},"secondaryPeerAddressPrefix":{"type":"string","description":"A subnet for the secondary link.\n"},"sharedKey":{"type":"string","description":"The shared key. Can be a maximum of 25 characters.\n","secret":true},"vlanId":{"type":"integer","description":"A valid VLAN ID to establish this peering on.\n"}},"requiredInputs":["expressRouteCircuitName","peeringType","resourceGroupName","vlanId"],"stateInputs":{"description":"Input properties used for looking up and filtering ExpressRouteCircuitPeering resources.\n","properties":{"azureAsn":{"type":"integer","description":"The ASN used by Azure.\n"},"expressRouteCircuitName":{"type":"string","description":"The name of the ExpressRoute Circuit in which to create the Peering. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"gatewayManagerEtag":{"type":"string"},"ipv4Enabled":{"type":"boolean","description":"A boolean value indicating whether the IPv4 peering is enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"ipv6":{"$ref":"#/types/azure:network/ExpressRouteCircuitPeeringIpv6:ExpressRouteCircuitPeeringIpv6","description":"A \u003cspan pulumi-lang-nodejs=\"`ipv6`\" pulumi-lang-dotnet=\"`Ipv6`\" pulumi-lang-go=\"`ipv6`\" pulumi-lang-python=\"`ipv6`\" pulumi-lang-yaml=\"`ipv6`\" pulumi-lang-java=\"`ipv6`\"\u003e`ipv6`\u003c/span\u003e block as defined below.\n"},"microsoftPeeringConfig":{"$ref":"#/types/azure:network/ExpressRouteCircuitPeeringMicrosoftPeeringConfig:ExpressRouteCircuitPeeringMicrosoftPeeringConfig","description":"A \u003cspan pulumi-lang-nodejs=\"`microsoftPeeringConfig`\" pulumi-lang-dotnet=\"`MicrosoftPeeringConfig`\" pulumi-lang-go=\"`microsoftPeeringConfig`\" pulumi-lang-python=\"`microsoft_peering_config`\" pulumi-lang-yaml=\"`microsoftPeeringConfig`\" pulumi-lang-java=\"`microsoftPeeringConfig`\"\u003e`microsoft_peering_config`\u003c/span\u003e block as defined below. Required when \u003cspan pulumi-lang-nodejs=\"`peeringType`\" pulumi-lang-dotnet=\"`PeeringType`\" pulumi-lang-go=\"`peeringType`\" pulumi-lang-python=\"`peering_type`\" pulumi-lang-yaml=\"`peeringType`\" pulumi-lang-java=\"`peeringType`\"\u003e`peering_type`\u003c/span\u003e is set to `MicrosoftPeering` and config for IPv4.\n"},"peerAsn":{"type":"integer","description":"The Either a 16-bit or a 32-bit ASN. Can either be public or private.\n"},"peeringType":{"type":"string","description":"The type of the ExpressRoute Circuit Peering. Acceptable values include `AzurePrivatePeering`, `AzurePublicPeering` and `MicrosoftPeering`. \n\n\u003e **Note:** only one Peering of each Type can be created. Attempting to create multiple peerings of the same type will overwrite the original peering.\n"},"primaryAzurePort":{"type":"string","description":"The Primary Port used by Azure for this Peering.\n"},"primaryPeerAddressPrefix":{"type":"string","description":"A subnet for the primary link.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the Express Route Circuit Peering. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"routeFilterId":{"type":"string","description":"The ID of the Route Filter. Only available when \u003cspan pulumi-lang-nodejs=\"`peeringType`\" pulumi-lang-dotnet=\"`PeeringType`\" pulumi-lang-go=\"`peeringType`\" pulumi-lang-python=\"`peering_type`\" pulumi-lang-yaml=\"`peeringType`\" pulumi-lang-java=\"`peeringType`\"\u003e`peering_type`\u003c/span\u003e is set to `MicrosoftPeering`.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`ipv6`\" pulumi-lang-dotnet=\"`Ipv6`\" pulumi-lang-go=\"`ipv6`\" pulumi-lang-python=\"`ipv6`\" pulumi-lang-yaml=\"`ipv6`\" pulumi-lang-java=\"`ipv6`\"\u003e`ipv6`\u003c/span\u003e can be specified when \u003cspan pulumi-lang-nodejs=\"`peeringType`\" pulumi-lang-dotnet=\"`PeeringType`\" pulumi-lang-go=\"`peeringType`\" pulumi-lang-python=\"`peering_type`\" pulumi-lang-yaml=\"`peeringType`\" pulumi-lang-java=\"`peeringType`\"\u003e`peering_type`\u003c/span\u003e is `MicrosoftPeering` or `AzurePrivatePeering`\n"},"secondaryAzurePort":{"type":"string","description":"The Secondary Port used by Azure for this Peering.\n"},"secondaryPeerAddressPrefix":{"type":"string","description":"A subnet for the secondary link.\n"},"sharedKey":{"type":"string","description":"The shared key. Can be a maximum of 25 characters.\n","secret":true},"vlanId":{"type":"integer","description":"A valid VLAN ID to establish this peering on.\n"}},"type":"object"}},"azure:network/expressRouteConnection:ExpressRouteConnection":{"description":"Manages an Express Route Connection.\n\n\u003e **Note:** The provider status of the Express Route Circuit must be set as provisioned while creating the Express Route Connection. See more details [here](https://docs.microsoft.com/azure/expressroute/expressroute-howto-circuit-portal-resource-manager#send-the-service-key-to-your-connectivity-provider-for-provisioning).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleVirtualWan = new azure.network.VirtualWan(\"example\", {\n    name: \"example-vwan\",\n    resourceGroupName: example.name,\n    location: example.location,\n});\nconst exampleVirtualHub = new azure.network.VirtualHub(\"example\", {\n    name: \"example-vhub\",\n    resourceGroupName: example.name,\n    location: example.location,\n    virtualWanId: exampleVirtualWan.id,\n    addressPrefix: \"10.0.1.0/24\",\n});\nconst exampleExpressRouteGateway = new azure.network.ExpressRouteGateway(\"example\", {\n    name: \"example-expressroutegateway\",\n    resourceGroupName: example.name,\n    location: example.location,\n    virtualHubId: exampleVirtualHub.id,\n    scaleUnits: 1,\n});\nconst exampleExpressRoutePort = new azure.network.ExpressRoutePort(\"example\", {\n    name: \"example-erp\",\n    resourceGroupName: example.name,\n    location: example.location,\n    peeringLocation: \"Equinix-Seattle-SE2\",\n    bandwidthInGbps: 10,\n    encapsulation: \"Dot1Q\",\n});\nconst exampleExpressRouteCircuit = new azure.network.ExpressRouteCircuit(\"example\", {\n    name: \"example-erc\",\n    location: example.location,\n    resourceGroupName: example.name,\n    expressRoutePortId: exampleExpressRoutePort.id,\n    bandwidthInGbps: 5,\n    sku: {\n        tier: \"Standard\",\n        family: \"MeteredData\",\n    },\n});\nconst exampleExpressRouteCircuitPeering = new azure.network.ExpressRouteCircuitPeering(\"example\", {\n    peeringType: \"AzurePrivatePeering\",\n    expressRouteCircuitName: exampleExpressRouteCircuit.name,\n    resourceGroupName: example.name,\n    sharedKey: \"ItsASecret\",\n    peerAsn: 100,\n    primaryPeerAddressPrefix: \"192.168.1.0/30\",\n    secondaryPeerAddressPrefix: \"192.168.2.0/30\",\n    vlanId: 100,\n});\nconst exampleExpressRouteConnection = new azure.network.ExpressRouteConnection(\"example\", {\n    name: \"example-expressrouteconn\",\n    expressRouteGatewayId: exampleExpressRouteGateway.id,\n    expressRouteCircuitPeeringId: exampleExpressRouteCircuitPeering.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_virtual_wan = azure.network.VirtualWan(\"example\",\n    name=\"example-vwan\",\n    resource_group_name=example.name,\n    location=example.location)\nexample_virtual_hub = azure.network.VirtualHub(\"example\",\n    name=\"example-vhub\",\n    resource_group_name=example.name,\n    location=example.location,\n    virtual_wan_id=example_virtual_wan.id,\n    address_prefix=\"10.0.1.0/24\")\nexample_express_route_gateway = azure.network.ExpressRouteGateway(\"example\",\n    name=\"example-expressroutegateway\",\n    resource_group_name=example.name,\n    location=example.location,\n    virtual_hub_id=example_virtual_hub.id,\n    scale_units=1)\nexample_express_route_port = azure.network.ExpressRoutePort(\"example\",\n    name=\"example-erp\",\n    resource_group_name=example.name,\n    location=example.location,\n    peering_location=\"Equinix-Seattle-SE2\",\n    bandwidth_in_gbps=10,\n    encapsulation=\"Dot1Q\")\nexample_express_route_circuit = azure.network.ExpressRouteCircuit(\"example\",\n    name=\"example-erc\",\n    location=example.location,\n    resource_group_name=example.name,\n    express_route_port_id=example_express_route_port.id,\n    bandwidth_in_gbps=5,\n    sku={\n        \"tier\": \"Standard\",\n        \"family\": \"MeteredData\",\n    })\nexample_express_route_circuit_peering = azure.network.ExpressRouteCircuitPeering(\"example\",\n    peering_type=\"AzurePrivatePeering\",\n    express_route_circuit_name=example_express_route_circuit.name,\n    resource_group_name=example.name,\n    shared_key=\"ItsASecret\",\n    peer_asn=100,\n    primary_peer_address_prefix=\"192.168.1.0/30\",\n    secondary_peer_address_prefix=\"192.168.2.0/30\",\n    vlan_id=100)\nexample_express_route_connection = azure.network.ExpressRouteConnection(\"example\",\n    name=\"example-expressrouteconn\",\n    express_route_gateway_id=example_express_route_gateway.id,\n    express_route_circuit_peering_id=example_express_route_circuit_peering.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleVirtualWan = new Azure.Network.VirtualWan(\"example\", new()\n    {\n        Name = \"example-vwan\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n    });\n\n    var exampleVirtualHub = new Azure.Network.VirtualHub(\"example\", new()\n    {\n        Name = \"example-vhub\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        VirtualWanId = exampleVirtualWan.Id,\n        AddressPrefix = \"10.0.1.0/24\",\n    });\n\n    var exampleExpressRouteGateway = new Azure.Network.ExpressRouteGateway(\"example\", new()\n    {\n        Name = \"example-expressroutegateway\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        VirtualHubId = exampleVirtualHub.Id,\n        ScaleUnits = 1,\n    });\n\n    var exampleExpressRoutePort = new Azure.Network.ExpressRoutePort(\"example\", new()\n    {\n        Name = \"example-erp\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        PeeringLocation = \"Equinix-Seattle-SE2\",\n        BandwidthInGbps = 10,\n        Encapsulation = \"Dot1Q\",\n    });\n\n    var exampleExpressRouteCircuit = new Azure.Network.ExpressRouteCircuit(\"example\", new()\n    {\n        Name = \"example-erc\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        ExpressRoutePortId = exampleExpressRoutePort.Id,\n        BandwidthInGbps = 5,\n        Sku = new Azure.Network.Inputs.ExpressRouteCircuitSkuArgs\n        {\n            Tier = \"Standard\",\n            Family = \"MeteredData\",\n        },\n    });\n\n    var exampleExpressRouteCircuitPeering = new Azure.Network.ExpressRouteCircuitPeering(\"example\", new()\n    {\n        PeeringType = \"AzurePrivatePeering\",\n        ExpressRouteCircuitName = exampleExpressRouteCircuit.Name,\n        ResourceGroupName = example.Name,\n        SharedKey = \"ItsASecret\",\n        PeerAsn = 100,\n        PrimaryPeerAddressPrefix = \"192.168.1.0/30\",\n        SecondaryPeerAddressPrefix = \"192.168.2.0/30\",\n        VlanId = 100,\n    });\n\n    var exampleExpressRouteConnection = new Azure.Network.ExpressRouteConnection(\"example\", new()\n    {\n        Name = \"example-expressrouteconn\",\n        ExpressRouteGatewayId = exampleExpressRouteGateway.Id,\n        ExpressRouteCircuitPeeringId = exampleExpressRouteCircuitPeering.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualWan, err := network.NewVirtualWan(ctx, \"example\", \u0026network.VirtualWanArgs{\n\t\t\tName:              pulumi.String(\"example-vwan\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualHub, err := network.NewVirtualHub(ctx, \"example\", \u0026network.VirtualHubArgs{\n\t\t\tName:              pulumi.String(\"example-vhub\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tVirtualWanId:      exampleVirtualWan.ID(),\n\t\t\tAddressPrefix:     pulumi.String(\"10.0.1.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleExpressRouteGateway, err := network.NewExpressRouteGateway(ctx, \"example\", \u0026network.ExpressRouteGatewayArgs{\n\t\t\tName:              pulumi.String(\"example-expressroutegateway\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tVirtualHubId:      exampleVirtualHub.ID(),\n\t\t\tScaleUnits:        pulumi.Int(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleExpressRoutePort, err := network.NewExpressRoutePort(ctx, \"example\", \u0026network.ExpressRoutePortArgs{\n\t\t\tName:              pulumi.String(\"example-erp\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tPeeringLocation:   pulumi.String(\"Equinix-Seattle-SE2\"),\n\t\t\tBandwidthInGbps:   pulumi.Int(10),\n\t\t\tEncapsulation:     pulumi.String(\"Dot1Q\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleExpressRouteCircuit, err := network.NewExpressRouteCircuit(ctx, \"example\", \u0026network.ExpressRouteCircuitArgs{\n\t\t\tName:               pulumi.String(\"example-erc\"),\n\t\t\tLocation:           example.Location,\n\t\t\tResourceGroupName:  example.Name,\n\t\t\tExpressRoutePortId: exampleExpressRoutePort.ID(),\n\t\t\tBandwidthInGbps:    pulumi.Float64(5),\n\t\t\tSku: \u0026network.ExpressRouteCircuitSkuArgs{\n\t\t\t\tTier:   pulumi.String(\"Standard\"),\n\t\t\t\tFamily: pulumi.String(\"MeteredData\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleExpressRouteCircuitPeering, err := network.NewExpressRouteCircuitPeering(ctx, \"example\", \u0026network.ExpressRouteCircuitPeeringArgs{\n\t\t\tPeeringType:                pulumi.String(\"AzurePrivatePeering\"),\n\t\t\tExpressRouteCircuitName:    exampleExpressRouteCircuit.Name,\n\t\t\tResourceGroupName:          example.Name,\n\t\t\tSharedKey:                  pulumi.String(\"ItsASecret\"),\n\t\t\tPeerAsn:                    pulumi.Int(100),\n\t\t\tPrimaryPeerAddressPrefix:   pulumi.String(\"192.168.1.0/30\"),\n\t\t\tSecondaryPeerAddressPrefix: pulumi.String(\"192.168.2.0/30\"),\n\t\t\tVlanId:                     pulumi.Int(100),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = network.NewExpressRouteConnection(ctx, \"example\", \u0026network.ExpressRouteConnectionArgs{\n\t\t\tName:                         pulumi.String(\"example-expressrouteconn\"),\n\t\t\tExpressRouteGatewayId:        exampleExpressRouteGateway.ID(),\n\t\t\tExpressRouteCircuitPeeringId: exampleExpressRouteCircuitPeering.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.VirtualWan;\nimport com.pulumi.azure.network.VirtualWanArgs;\nimport com.pulumi.azure.network.VirtualHub;\nimport com.pulumi.azure.network.VirtualHubArgs;\nimport com.pulumi.azure.network.ExpressRouteGateway;\nimport com.pulumi.azure.network.ExpressRouteGatewayArgs;\nimport com.pulumi.azure.network.ExpressRoutePort;\nimport com.pulumi.azure.network.ExpressRoutePortArgs;\nimport com.pulumi.azure.network.ExpressRouteCircuit;\nimport com.pulumi.azure.network.ExpressRouteCircuitArgs;\nimport com.pulumi.azure.network.inputs.ExpressRouteCircuitSkuArgs;\nimport com.pulumi.azure.network.ExpressRouteCircuitPeering;\nimport com.pulumi.azure.network.ExpressRouteCircuitPeeringArgs;\nimport com.pulumi.azure.network.ExpressRouteConnection;\nimport com.pulumi.azure.network.ExpressRouteConnectionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleVirtualWan = new VirtualWan(\"exampleVirtualWan\", VirtualWanArgs.builder()\n            .name(\"example-vwan\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .build());\n\n        var exampleVirtualHub = new VirtualHub(\"exampleVirtualHub\", VirtualHubArgs.builder()\n            .name(\"example-vhub\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .virtualWanId(exampleVirtualWan.id())\n            .addressPrefix(\"10.0.1.0/24\")\n            .build());\n\n        var exampleExpressRouteGateway = new ExpressRouteGateway(\"exampleExpressRouteGateway\", ExpressRouteGatewayArgs.builder()\n            .name(\"example-expressroutegateway\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .virtualHubId(exampleVirtualHub.id())\n            .scaleUnits(1)\n            .build());\n\n        var exampleExpressRoutePort = new ExpressRoutePort(\"exampleExpressRoutePort\", ExpressRoutePortArgs.builder()\n            .name(\"example-erp\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .peeringLocation(\"Equinix-Seattle-SE2\")\n            .bandwidthInGbps(10)\n            .encapsulation(\"Dot1Q\")\n            .build());\n\n        var exampleExpressRouteCircuit = new ExpressRouteCircuit(\"exampleExpressRouteCircuit\", ExpressRouteCircuitArgs.builder()\n            .name(\"example-erc\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .expressRoutePortId(exampleExpressRoutePort.id())\n            .bandwidthInGbps(5.0)\n            .sku(ExpressRouteCircuitSkuArgs.builder()\n                .tier(\"Standard\")\n                .family(\"MeteredData\")\n                .build())\n            .build());\n\n        var exampleExpressRouteCircuitPeering = new ExpressRouteCircuitPeering(\"exampleExpressRouteCircuitPeering\", ExpressRouteCircuitPeeringArgs.builder()\n            .peeringType(\"AzurePrivatePeering\")\n            .expressRouteCircuitName(exampleExpressRouteCircuit.name())\n            .resourceGroupName(example.name())\n            .sharedKey(\"ItsASecret\")\n            .peerAsn(100)\n            .primaryPeerAddressPrefix(\"192.168.1.0/30\")\n            .secondaryPeerAddressPrefix(\"192.168.2.0/30\")\n            .vlanId(100)\n            .build());\n\n        var exampleExpressRouteConnection = new ExpressRouteConnection(\"exampleExpressRouteConnection\", ExpressRouteConnectionArgs.builder()\n            .name(\"example-expressrouteconn\")\n            .expressRouteGatewayId(exampleExpressRouteGateway.id())\n            .expressRouteCircuitPeeringId(exampleExpressRouteCircuitPeering.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleVirtualWan:\n    type: azure:network:VirtualWan\n    name: example\n    properties:\n      name: example-vwan\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n  exampleVirtualHub:\n    type: azure:network:VirtualHub\n    name: example\n    properties:\n      name: example-vhub\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      virtualWanId: ${exampleVirtualWan.id}\n      addressPrefix: 10.0.1.0/24\n  exampleExpressRouteGateway:\n    type: azure:network:ExpressRouteGateway\n    name: example\n    properties:\n      name: example-expressroutegateway\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      virtualHubId: ${exampleVirtualHub.id}\n      scaleUnits: 1\n  exampleExpressRoutePort:\n    type: azure:network:ExpressRoutePort\n    name: example\n    properties:\n      name: example-erp\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      peeringLocation: Equinix-Seattle-SE2\n      bandwidthInGbps: 10\n      encapsulation: Dot1Q\n  exampleExpressRouteCircuit:\n    type: azure:network:ExpressRouteCircuit\n    name: example\n    properties:\n      name: example-erc\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      expressRoutePortId: ${exampleExpressRoutePort.id}\n      bandwidthInGbps: 5\n      sku:\n        tier: Standard\n        family: MeteredData\n  exampleExpressRouteCircuitPeering:\n    type: azure:network:ExpressRouteCircuitPeering\n    name: example\n    properties:\n      peeringType: AzurePrivatePeering\n      expressRouteCircuitName: ${exampleExpressRouteCircuit.name}\n      resourceGroupName: ${example.name}\n      sharedKey: ItsASecret\n      peerAsn: 100\n      primaryPeerAddressPrefix: 192.168.1.0/30\n      secondaryPeerAddressPrefix: 192.168.2.0/30\n      vlanId: 100\n  exampleExpressRouteConnection:\n    type: azure:network:ExpressRouteConnection\n    name: example\n    properties:\n      name: example-expressrouteconn\n      expressRouteGatewayId: ${exampleExpressRouteGateway.id}\n      expressRouteCircuitPeeringId: ${exampleExpressRouteCircuitPeering.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2025-01-01\n\n## Import\n\nExpress Route Connections can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:network/expressRouteConnection:ExpressRouteConnection example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Network/expressRouteGateways/expressRouteGateway1/expressRouteConnections/connection1\n```\n\n","properties":{"authorizationKey":{"type":"string","description":"The authorization key to establish the Express Route Connection.\n"},"enableInternetSecurity":{"type":"boolean","description":"Is Internet security enabled for this Express Route Connection?\n"},"expressRouteCircuitPeeringId":{"type":"string","description":"The ID of the Express Route Circuit Peering that this Express Route Connection connects with. Changing this forces a new resource to be created.\n"},"expressRouteGatewayBypassEnabled":{"type":"boolean","description":"Specified whether Fast Path is enabled for Virtual Wan Firewall Hub. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"expressRouteGatewayId":{"type":"string","description":"The ID of the Express Route Gateway that this Express Route Connection connects with. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"The name which should be used for this Express Route Connection. Changing this forces a new resource to be created.\n"},"privateLinkFastPathEnabled":{"type":"boolean","deprecationMessage":"'private_link_fast_path_enabled' has been deprecated as it is no longer supported by the resource and will be removed in v5.0 of the AzureRM Provider"},"routing":{"$ref":"#/types/azure:network/ExpressRouteConnectionRouting:ExpressRouteConnectionRouting","description":"A \u003cspan pulumi-lang-nodejs=\"`routing`\" pulumi-lang-dotnet=\"`Routing`\" pulumi-lang-go=\"`routing`\" pulumi-lang-python=\"`routing`\" pulumi-lang-yaml=\"`routing`\" pulumi-lang-java=\"`routing`\"\u003e`routing`\u003c/span\u003e block as defined below.\n"},"routingWeight":{"type":"integer","description":"The routing weight associated to the Express Route Connection. Possible value is between \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`32000`\" pulumi-lang-dotnet=\"`32000`\" pulumi-lang-go=\"`32000`\" pulumi-lang-python=\"`32000`\" pulumi-lang-yaml=\"`32000`\" pulumi-lang-java=\"`32000`\"\u003e`32000`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"}},"required":["expressRouteCircuitPeeringId","expressRouteGatewayId","name","routing"],"inputProperties":{"authorizationKey":{"type":"string","description":"The authorization key to establish the Express Route Connection.\n"},"enableInternetSecurity":{"type":"boolean","description":"Is Internet security enabled for this Express Route Connection?\n"},"expressRouteCircuitPeeringId":{"type":"string","description":"The ID of the Express Route Circuit Peering that this Express Route Connection connects with. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"expressRouteGatewayBypassEnabled":{"type":"boolean","description":"Specified whether Fast Path is enabled for Virtual Wan Firewall Hub. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"expressRouteGatewayId":{"type":"string","description":"The ID of the Express Route Gateway that this Express Route Connection connects with. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Express Route Connection. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"privateLinkFastPathEnabled":{"type":"boolean","deprecationMessage":"'private_link_fast_path_enabled' has been deprecated as it is no longer supported by the resource and will be removed in v5.0 of the AzureRM Provider"},"routing":{"$ref":"#/types/azure:network/ExpressRouteConnectionRouting:ExpressRouteConnectionRouting","description":"A \u003cspan pulumi-lang-nodejs=\"`routing`\" pulumi-lang-dotnet=\"`Routing`\" pulumi-lang-go=\"`routing`\" pulumi-lang-python=\"`routing`\" pulumi-lang-yaml=\"`routing`\" pulumi-lang-java=\"`routing`\"\u003e`routing`\u003c/span\u003e block as defined below.\n"},"routingWeight":{"type":"integer","description":"The routing weight associated to the Express Route Connection. Possible value is between \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`32000`\" pulumi-lang-dotnet=\"`32000`\" pulumi-lang-go=\"`32000`\" pulumi-lang-python=\"`32000`\" pulumi-lang-yaml=\"`32000`\" pulumi-lang-java=\"`32000`\"\u003e`32000`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"}},"requiredInputs":["expressRouteCircuitPeeringId","expressRouteGatewayId"],"stateInputs":{"description":"Input properties used for looking up and filtering ExpressRouteConnection resources.\n","properties":{"authorizationKey":{"type":"string","description":"The authorization key to establish the Express Route Connection.\n"},"enableInternetSecurity":{"type":"boolean","description":"Is Internet security enabled for this Express Route Connection?\n"},"expressRouteCircuitPeeringId":{"type":"string","description":"The ID of the Express Route Circuit Peering that this Express Route Connection connects with. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"expressRouteGatewayBypassEnabled":{"type":"boolean","description":"Specified whether Fast Path is enabled for Virtual Wan Firewall Hub. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"expressRouteGatewayId":{"type":"string","description":"The ID of the Express Route Gateway that this Express Route Connection connects with. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Express Route Connection. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"privateLinkFastPathEnabled":{"type":"boolean","deprecationMessage":"'private_link_fast_path_enabled' has been deprecated as it is no longer supported by the resource and will be removed in v5.0 of the AzureRM Provider"},"routing":{"$ref":"#/types/azure:network/ExpressRouteConnectionRouting:ExpressRouteConnectionRouting","description":"A \u003cspan pulumi-lang-nodejs=\"`routing`\" pulumi-lang-dotnet=\"`Routing`\" pulumi-lang-go=\"`routing`\" pulumi-lang-python=\"`routing`\" pulumi-lang-yaml=\"`routing`\" pulumi-lang-java=\"`routing`\"\u003e`routing`\u003c/span\u003e block as defined below.\n"},"routingWeight":{"type":"integer","description":"The routing weight associated to the Express Route Connection. Possible value is between \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`32000`\" pulumi-lang-dotnet=\"`32000`\" pulumi-lang-go=\"`32000`\" pulumi-lang-python=\"`32000`\" pulumi-lang-yaml=\"`32000`\" pulumi-lang-java=\"`32000`\"\u003e`32000`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"}},"type":"object"}},"azure:network/expressRouteGateway:ExpressRouteGateway":{"description":"Manages an ExpressRoute gateway.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleVirtualWan = new azure.network.VirtualWan(\"example\", {\n    name: \"example-virtualwan\",\n    resourceGroupName: example.name,\n    location: example.location,\n});\nconst exampleVirtualHub = new azure.network.VirtualHub(\"example\", {\n    name: \"example-virtualhub\",\n    resourceGroupName: example.name,\n    location: example.location,\n    virtualWanId: exampleVirtualWan.id,\n    addressPrefix: \"10.0.1.0/24\",\n});\nconst exampleExpressRouteGateway = new azure.network.ExpressRouteGateway(\"example\", {\n    name: \"expressRoute1\",\n    resourceGroupName: example.name,\n    location: example.location,\n    virtualHubId: exampleVirtualHub.id,\n    scaleUnits: 1,\n    tags: {\n        environment: \"Production\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_virtual_wan = azure.network.VirtualWan(\"example\",\n    name=\"example-virtualwan\",\n    resource_group_name=example.name,\n    location=example.location)\nexample_virtual_hub = azure.network.VirtualHub(\"example\",\n    name=\"example-virtualhub\",\n    resource_group_name=example.name,\n    location=example.location,\n    virtual_wan_id=example_virtual_wan.id,\n    address_prefix=\"10.0.1.0/24\")\nexample_express_route_gateway = azure.network.ExpressRouteGateway(\"example\",\n    name=\"expressRoute1\",\n    resource_group_name=example.name,\n    location=example.location,\n    virtual_hub_id=example_virtual_hub.id,\n    scale_units=1,\n    tags={\n        \"environment\": \"Production\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleVirtualWan = new Azure.Network.VirtualWan(\"example\", new()\n    {\n        Name = \"example-virtualwan\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n    });\n\n    var exampleVirtualHub = new Azure.Network.VirtualHub(\"example\", new()\n    {\n        Name = \"example-virtualhub\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        VirtualWanId = exampleVirtualWan.Id,\n        AddressPrefix = \"10.0.1.0/24\",\n    });\n\n    var exampleExpressRouteGateway = new Azure.Network.ExpressRouteGateway(\"example\", new()\n    {\n        Name = \"expressRoute1\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        VirtualHubId = exampleVirtualHub.Id,\n        ScaleUnits = 1,\n        Tags = \n        {\n            { \"environment\", \"Production\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualWan, err := network.NewVirtualWan(ctx, \"example\", \u0026network.VirtualWanArgs{\n\t\t\tName:              pulumi.String(\"example-virtualwan\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualHub, err := network.NewVirtualHub(ctx, \"example\", \u0026network.VirtualHubArgs{\n\t\t\tName:              pulumi.String(\"example-virtualhub\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tVirtualWanId:      exampleVirtualWan.ID(),\n\t\t\tAddressPrefix:     pulumi.String(\"10.0.1.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = network.NewExpressRouteGateway(ctx, \"example\", \u0026network.ExpressRouteGatewayArgs{\n\t\t\tName:              pulumi.String(\"expressRoute1\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tVirtualHubId:      exampleVirtualHub.ID(),\n\t\t\tScaleUnits:        pulumi.Int(1),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"environment\": pulumi.String(\"Production\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.VirtualWan;\nimport com.pulumi.azure.network.VirtualWanArgs;\nimport com.pulumi.azure.network.VirtualHub;\nimport com.pulumi.azure.network.VirtualHubArgs;\nimport com.pulumi.azure.network.ExpressRouteGateway;\nimport com.pulumi.azure.network.ExpressRouteGatewayArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleVirtualWan = new VirtualWan(\"exampleVirtualWan\", VirtualWanArgs.builder()\n            .name(\"example-virtualwan\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .build());\n\n        var exampleVirtualHub = new VirtualHub(\"exampleVirtualHub\", VirtualHubArgs.builder()\n            .name(\"example-virtualhub\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .virtualWanId(exampleVirtualWan.id())\n            .addressPrefix(\"10.0.1.0/24\")\n            .build());\n\n        var exampleExpressRouteGateway = new ExpressRouteGateway(\"exampleExpressRouteGateway\", ExpressRouteGatewayArgs.builder()\n            .name(\"expressRoute1\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .virtualHubId(exampleVirtualHub.id())\n            .scaleUnits(1)\n            .tags(Map.of(\"environment\", \"Production\"))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleVirtualWan:\n    type: azure:network:VirtualWan\n    name: example\n    properties:\n      name: example-virtualwan\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n  exampleVirtualHub:\n    type: azure:network:VirtualHub\n    name: example\n    properties:\n      name: example-virtualhub\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      virtualWanId: ${exampleVirtualWan.id}\n      addressPrefix: 10.0.1.0/24\n  exampleExpressRouteGateway:\n    type: azure:network:ExpressRouteGateway\n    name: example\n    properties:\n      name: expressRoute1\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      virtualHubId: ${exampleVirtualHub.id}\n      scaleUnits: 1\n      tags:\n        environment: Production\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2025-01-01\n\n## Import\n\nExpressRoute Gateways can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:network/expressRouteGateway:ExpressRouteGateway example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Network/expressRouteGateways/myExpressRouteGateway\n```\n\n","properties":{"allowNonVirtualWanTraffic":{"type":"boolean","description":"Specified whether this gateway accept traffic from non-Virtual WAN networks. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"The name of the ExpressRoute gateway. Changing this forces a new resource to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the ExpressRoute gateway. Changing this forces a new resource to be created.\n"},"scaleUnits":{"type":"integer","description":"The number of scale units with which to provision the ExpressRoute gateway. Each scale unit is equal to 2Gbps, with support for up to 10 scale units (20Gbps).\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"virtualHubId":{"type":"string","description":"The ID of a Virtual HUB within which the ExpressRoute gateway should be created. Changing this forces a new resource to be created.\n"}},"required":["location","name","resourceGroupName","scaleUnits","virtualHubId"],"inputProperties":{"allowNonVirtualWanTraffic":{"type":"boolean","description":"Specified whether this gateway accept traffic from non-Virtual WAN networks. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the ExpressRoute gateway. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the ExpressRoute gateway. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"scaleUnits":{"type":"integer","description":"The number of scale units with which to provision the ExpressRoute gateway. Each scale unit is equal to 2Gbps, with support for up to 10 scale units (20Gbps).\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"virtualHubId":{"type":"string","description":"The ID of a Virtual HUB within which the ExpressRoute gateway should be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["resourceGroupName","scaleUnits","virtualHubId"],"stateInputs":{"description":"Input properties used for looking up and filtering ExpressRouteGateway resources.\n","properties":{"allowNonVirtualWanTraffic":{"type":"boolean","description":"Specified whether this gateway accept traffic from non-Virtual WAN networks. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the ExpressRoute gateway. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the ExpressRoute gateway. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"scaleUnits":{"type":"integer","description":"The number of scale units with which to provision the ExpressRoute gateway. Each scale unit is equal to 2Gbps, with support for up to 10 scale units (20Gbps).\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"virtualHubId":{"type":"string","description":"The ID of a Virtual HUB within which the ExpressRoute gateway should be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:network/expressRoutePort:ExpressRoutePort":{"description":"Manages a Express Route Port.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West US\",\n});\nconst exampleExpressRoutePort = new azure.network.ExpressRoutePort(\"example\", {\n    name: \"port1\",\n    resourceGroupName: example.name,\n    location: example.location,\n    peeringLocation: \"Airtel-Chennai-CLS\",\n    bandwidthInGbps: 10,\n    encapsulation: \"Dot1Q\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West US\")\nexample_express_route_port = azure.network.ExpressRoutePort(\"example\",\n    name=\"port1\",\n    resource_group_name=example.name,\n    location=example.location,\n    peering_location=\"Airtel-Chennai-CLS\",\n    bandwidth_in_gbps=10,\n    encapsulation=\"Dot1Q\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West US\",\n    });\n\n    var exampleExpressRoutePort = new Azure.Network.ExpressRoutePort(\"example\", new()\n    {\n        Name = \"port1\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        PeeringLocation = \"Airtel-Chennai-CLS\",\n        BandwidthInGbps = 10,\n        Encapsulation = \"Dot1Q\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West US\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = network.NewExpressRoutePort(ctx, \"example\", \u0026network.ExpressRoutePortArgs{\n\t\t\tName:              pulumi.String(\"port1\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tPeeringLocation:   pulumi.String(\"Airtel-Chennai-CLS\"),\n\t\t\tBandwidthInGbps:   pulumi.Int(10),\n\t\t\tEncapsulation:     pulumi.String(\"Dot1Q\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.ExpressRoutePort;\nimport com.pulumi.azure.network.ExpressRoutePortArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West US\")\n            .build());\n\n        var exampleExpressRoutePort = new ExpressRoutePort(\"exampleExpressRoutePort\", ExpressRoutePortArgs.builder()\n            .name(\"port1\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .peeringLocation(\"Airtel-Chennai-CLS\")\n            .bandwidthInGbps(10)\n            .encapsulation(\"Dot1Q\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West US\n  exampleExpressRoutePort:\n    type: azure:network:ExpressRoutePort\n    name: example\n    properties:\n      name: port1\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      peeringLocation: Airtel-Chennai-CLS\n      bandwidthInGbps: 10\n      encapsulation: Dot1Q\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2025-01-01\n\n## Import\n\nExpress Route Ports can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:network/expressRoutePort:ExpressRoutePort example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Network/expressRoutePorts/port1\n```\n\n","properties":{"bandwidthInGbps":{"type":"integer","description":"Bandwidth of the Express Route Port in Gbps. Changing this forces a new Express Route Port to be created.\n"},"billingType":{"type":"string","description":"The billing type of the Express Route Port. Possible values are `MeteredData` and `UnlimitedData`. Defaults to `MeteredData`.\n"},"encapsulation":{"type":"string","description":"The encapsulation method used for the Express Route Port. Changing this forces a new Express Route Port to be created. Possible values are: `Dot1Q`, `QinQ`.\n"},"ethertype":{"type":"string","description":"The EtherType of the Express Route Port.\n"},"guid":{"type":"string","description":"The resource GUID of the Express Route Port.\n"},"identity":{"$ref":"#/types/azure:network/ExpressRoutePortIdentity:ExpressRoutePortIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"link1":{"$ref":"#/types/azure:network/ExpressRoutePortLink1:ExpressRoutePortLink1","description":"A list of \u003cspan pulumi-lang-nodejs=\"`link`\" pulumi-lang-dotnet=\"`Link`\" pulumi-lang-go=\"`link`\" pulumi-lang-python=\"`link`\" pulumi-lang-yaml=\"`link`\" pulumi-lang-java=\"`link`\"\u003e`link`\u003c/span\u003e blocks as defined below.\n"},"link2":{"$ref":"#/types/azure:network/ExpressRoutePortLink2:ExpressRoutePortLink2","description":"A list of \u003cspan pulumi-lang-nodejs=\"`link`\" pulumi-lang-dotnet=\"`Link`\" pulumi-lang-go=\"`link`\" pulumi-lang-python=\"`link`\" pulumi-lang-yaml=\"`link`\" pulumi-lang-java=\"`link`\"\u003e`link`\u003c/span\u003e blocks as defined below.\n"},"location":{"type":"string","description":"The Azure Region where the Express Route Port should exist. Changing this forces a new Express Route Port to be created.\n"},"mtu":{"type":"string","description":"The maximum transmission unit of the Express Route Port.\n"},"name":{"type":"string","description":"The name which should be used for this Express Route Port. Changing this forces a new Express Route Port to be created.\n"},"peeringLocation":{"type":"string","description":"The name of the peering location that this Express Route Port is physically mapped to. Changing this forces a new Express Route Port to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Express Route Port should exist. Changing this forces a new Express Route Port to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Express Route Port.\n"}},"required":["bandwidthInGbps","encapsulation","ethertype","guid","link1","link2","location","mtu","name","peeringLocation","resourceGroupName"],"inputProperties":{"bandwidthInGbps":{"type":"integer","description":"Bandwidth of the Express Route Port in Gbps. Changing this forces a new Express Route Port to be created.\n","willReplaceOnChanges":true},"billingType":{"type":"string","description":"The billing type of the Express Route Port. Possible values are `MeteredData` and `UnlimitedData`. Defaults to `MeteredData`.\n"},"encapsulation":{"type":"string","description":"The encapsulation method used for the Express Route Port. Changing this forces a new Express Route Port to be created. Possible values are: `Dot1Q`, `QinQ`.\n","willReplaceOnChanges":true},"identity":{"$ref":"#/types/azure:network/ExpressRoutePortIdentity:ExpressRoutePortIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"link1":{"$ref":"#/types/azure:network/ExpressRoutePortLink1:ExpressRoutePortLink1","description":"A list of \u003cspan pulumi-lang-nodejs=\"`link`\" pulumi-lang-dotnet=\"`Link`\" pulumi-lang-go=\"`link`\" pulumi-lang-python=\"`link`\" pulumi-lang-yaml=\"`link`\" pulumi-lang-java=\"`link`\"\u003e`link`\u003c/span\u003e blocks as defined below.\n"},"link2":{"$ref":"#/types/azure:network/ExpressRoutePortLink2:ExpressRoutePortLink2","description":"A list of \u003cspan pulumi-lang-nodejs=\"`link`\" pulumi-lang-dotnet=\"`Link`\" pulumi-lang-go=\"`link`\" pulumi-lang-python=\"`link`\" pulumi-lang-yaml=\"`link`\" pulumi-lang-java=\"`link`\"\u003e`link`\u003c/span\u003e blocks as defined below.\n"},"location":{"type":"string","description":"The Azure Region where the Express Route Port should exist. Changing this forces a new Express Route Port to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Express Route Port. Changing this forces a new Express Route Port to be created.\n","willReplaceOnChanges":true},"peeringLocation":{"type":"string","description":"The name of the peering location that this Express Route Port is physically mapped to. Changing this forces a new Express Route Port to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Express Route Port should exist. Changing this forces a new Express Route Port to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Express Route Port.\n"}},"requiredInputs":["bandwidthInGbps","encapsulation","peeringLocation","resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering ExpressRoutePort resources.\n","properties":{"bandwidthInGbps":{"type":"integer","description":"Bandwidth of the Express Route Port in Gbps. Changing this forces a new Express Route Port to be created.\n","willReplaceOnChanges":true},"billingType":{"type":"string","description":"The billing type of the Express Route Port. Possible values are `MeteredData` and `UnlimitedData`. Defaults to `MeteredData`.\n"},"encapsulation":{"type":"string","description":"The encapsulation method used for the Express Route Port. Changing this forces a new Express Route Port to be created. Possible values are: `Dot1Q`, `QinQ`.\n","willReplaceOnChanges":true},"ethertype":{"type":"string","description":"The EtherType of the Express Route Port.\n"},"guid":{"type":"string","description":"The resource GUID of the Express Route Port.\n"},"identity":{"$ref":"#/types/azure:network/ExpressRoutePortIdentity:ExpressRoutePortIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"link1":{"$ref":"#/types/azure:network/ExpressRoutePortLink1:ExpressRoutePortLink1","description":"A list of \u003cspan pulumi-lang-nodejs=\"`link`\" pulumi-lang-dotnet=\"`Link`\" pulumi-lang-go=\"`link`\" pulumi-lang-python=\"`link`\" pulumi-lang-yaml=\"`link`\" pulumi-lang-java=\"`link`\"\u003e`link`\u003c/span\u003e blocks as defined below.\n"},"link2":{"$ref":"#/types/azure:network/ExpressRoutePortLink2:ExpressRoutePortLink2","description":"A list of \u003cspan pulumi-lang-nodejs=\"`link`\" pulumi-lang-dotnet=\"`Link`\" pulumi-lang-go=\"`link`\" pulumi-lang-python=\"`link`\" pulumi-lang-yaml=\"`link`\" pulumi-lang-java=\"`link`\"\u003e`link`\u003c/span\u003e blocks as defined below.\n"},"location":{"type":"string","description":"The Azure Region where the Express Route Port should exist. Changing this forces a new Express Route Port to be created.\n","willReplaceOnChanges":true},"mtu":{"type":"string","description":"The maximum transmission unit of the Express Route Port.\n"},"name":{"type":"string","description":"The name which should be used for this Express Route Port. Changing this forces a new Express Route Port to be created.\n","willReplaceOnChanges":true},"peeringLocation":{"type":"string","description":"The name of the peering location that this Express Route Port is physically mapped to. Changing this forces a new Express Route Port to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Express Route Port should exist. Changing this forces a new Express Route Port to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Express Route Port.\n"}},"type":"object"}},"azure:network/expressRoutePortAuthorization:ExpressRoutePortAuthorization":{"description":"Manages an ExpressRoute Port Authorization.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"exprtTest\",\n    location: \"West Europe\",\n});\nconst exampleExpressRoutePort = new azure.network.ExpressRoutePort(\"example\", {\n    name: \"port1\",\n    resourceGroupName: example.name,\n    location: example.location,\n    peeringLocation: \"Airtel-Chennai-CLS\",\n    bandwidthInGbps: 10,\n    encapsulation: \"Dot1Q\",\n});\nconst exampleExpressRoutePortAuthorization = new azure.network.ExpressRoutePortAuthorization(\"example\", {\n    name: \"exampleERCAuth\",\n    expressRoutePortName: exampleExpressRoutePort.name,\n    resourceGroupName: example.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"exprtTest\",\n    location=\"West Europe\")\nexample_express_route_port = azure.network.ExpressRoutePort(\"example\",\n    name=\"port1\",\n    resource_group_name=example.name,\n    location=example.location,\n    peering_location=\"Airtel-Chennai-CLS\",\n    bandwidth_in_gbps=10,\n    encapsulation=\"Dot1Q\")\nexample_express_route_port_authorization = azure.network.ExpressRoutePortAuthorization(\"example\",\n    name=\"exampleERCAuth\",\n    express_route_port_name=example_express_route_port.name,\n    resource_group_name=example.name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"exprtTest\",\n        Location = \"West Europe\",\n    });\n\n    var exampleExpressRoutePort = new Azure.Network.ExpressRoutePort(\"example\", new()\n    {\n        Name = \"port1\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        PeeringLocation = \"Airtel-Chennai-CLS\",\n        BandwidthInGbps = 10,\n        Encapsulation = \"Dot1Q\",\n    });\n\n    var exampleExpressRoutePortAuthorization = new Azure.Network.ExpressRoutePortAuthorization(\"example\", new()\n    {\n        Name = \"exampleERCAuth\",\n        ExpressRoutePortName = exampleExpressRoutePort.Name,\n        ResourceGroupName = example.Name,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"exprtTest\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleExpressRoutePort, err := network.NewExpressRoutePort(ctx, \"example\", \u0026network.ExpressRoutePortArgs{\n\t\t\tName:              pulumi.String(\"port1\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tPeeringLocation:   pulumi.String(\"Airtel-Chennai-CLS\"),\n\t\t\tBandwidthInGbps:   pulumi.Int(10),\n\t\t\tEncapsulation:     pulumi.String(\"Dot1Q\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = network.NewExpressRoutePortAuthorization(ctx, \"example\", \u0026network.ExpressRoutePortAuthorizationArgs{\n\t\t\tName:                 pulumi.String(\"exampleERCAuth\"),\n\t\t\tExpressRoutePortName: exampleExpressRoutePort.Name,\n\t\t\tResourceGroupName:    example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.ExpressRoutePort;\nimport com.pulumi.azure.network.ExpressRoutePortArgs;\nimport com.pulumi.azure.network.ExpressRoutePortAuthorization;\nimport com.pulumi.azure.network.ExpressRoutePortAuthorizationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"exprtTest\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleExpressRoutePort = new ExpressRoutePort(\"exampleExpressRoutePort\", ExpressRoutePortArgs.builder()\n            .name(\"port1\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .peeringLocation(\"Airtel-Chennai-CLS\")\n            .bandwidthInGbps(10)\n            .encapsulation(\"Dot1Q\")\n            .build());\n\n        var exampleExpressRoutePortAuthorization = new ExpressRoutePortAuthorization(\"exampleExpressRoutePortAuthorization\", ExpressRoutePortAuthorizationArgs.builder()\n            .name(\"exampleERCAuth\")\n            .expressRoutePortName(exampleExpressRoutePort.name())\n            .resourceGroupName(example.name())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: exprtTest\n      location: West Europe\n  exampleExpressRoutePort:\n    type: azure:network:ExpressRoutePort\n    name: example\n    properties:\n      name: port1\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      peeringLocation: Airtel-Chennai-CLS\n      bandwidthInGbps: 10\n      encapsulation: Dot1Q\n  exampleExpressRoutePortAuthorization:\n    type: azure:network:ExpressRoutePortAuthorization\n    name: example\n    properties:\n      name: exampleERCAuth\n      expressRoutePortName: ${exampleExpressRoutePort.name}\n      resourceGroupName: ${example.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2025-01-01\n\n## Import\n\nExpressRoute Port Authorizations can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:network/expressRoutePortAuthorization:ExpressRoutePortAuthorization auth1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Network/expressRoutePorts/myExpressPort/authorizations/auth1\n```\n\n","properties":{"authorizationKey":{"type":"string","description":"The Authorization Key.\n","secret":true},"authorizationUseStatus":{"type":"string","description":"The authorization use status.\n"},"expressRoutePortName":{"type":"string","description":"The name of the Express Route Port in which to create the Authorization. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"The name of the ExpressRoute Port. Changing this forces a new resource to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the ExpressRoute Port. Changing this forces a new resource to be created.\n"}},"required":["authorizationKey","authorizationUseStatus","expressRoutePortName","name","resourceGroupName"],"inputProperties":{"expressRoutePortName":{"type":"string","description":"The name of the Express Route Port in which to create the Authorization. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the ExpressRoute Port. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the ExpressRoute Port. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["expressRoutePortName","resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering ExpressRoutePortAuthorization resources.\n","properties":{"authorizationKey":{"type":"string","description":"The Authorization Key.\n","secret":true},"authorizationUseStatus":{"type":"string","description":"The authorization use status.\n"},"expressRoutePortName":{"type":"string","description":"The name of the Express Route Port in which to create the Authorization. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the ExpressRoute Port. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the ExpressRoute Port. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:network/firewall:Firewall":{"description":"Manages an Azure Firewall.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"example\", {\n    name: \"testvnet\",\n    addressSpaces: [\"10.0.0.0/16\"],\n    location: example.location,\n    resourceGroupName: example.name,\n});\nconst exampleSubnet = new azure.network.Subnet(\"example\", {\n    name: \"AzureFirewallSubnet\",\n    resourceGroupName: example.name,\n    virtualNetworkName: exampleVirtualNetwork.name,\n    addressPrefixes: [\"10.0.1.0/24\"],\n});\nconst examplePublicIp = new azure.network.PublicIp(\"example\", {\n    name: \"testpip\",\n    location: example.location,\n    resourceGroupName: example.name,\n    allocationMethod: \"Static\",\n    sku: \"Standard\",\n});\nconst exampleFirewall = new azure.network.Firewall(\"example\", {\n    name: \"testfirewall\",\n    location: example.location,\n    resourceGroupName: example.name,\n    skuName: \"AZFW_VNet\",\n    skuTier: \"Standard\",\n    ipConfigurations: [{\n        name: \"configuration\",\n        subnetId: exampleSubnet.id,\n        publicIpAddressId: examplePublicIp.id,\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_virtual_network = azure.network.VirtualNetwork(\"example\",\n    name=\"testvnet\",\n    address_spaces=[\"10.0.0.0/16\"],\n    location=example.location,\n    resource_group_name=example.name)\nexample_subnet = azure.network.Subnet(\"example\",\n    name=\"AzureFirewallSubnet\",\n    resource_group_name=example.name,\n    virtual_network_name=example_virtual_network.name,\n    address_prefixes=[\"10.0.1.0/24\"])\nexample_public_ip = azure.network.PublicIp(\"example\",\n    name=\"testpip\",\n    location=example.location,\n    resource_group_name=example.name,\n    allocation_method=\"Static\",\n    sku=\"Standard\")\nexample_firewall = azure.network.Firewall(\"example\",\n    name=\"testfirewall\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku_name=\"AZFW_VNet\",\n    sku_tier=\"Standard\",\n    ip_configurations=[{\n        \"name\": \"configuration\",\n        \"subnet_id\": example_subnet.id,\n        \"public_ip_address_id\": example_public_ip.id,\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleVirtualNetwork = new Azure.Network.VirtualNetwork(\"example\", new()\n    {\n        Name = \"testvnet\",\n        AddressSpaces = new[]\n        {\n            \"10.0.0.0/16\",\n        },\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n    });\n\n    var exampleSubnet = new Azure.Network.Subnet(\"example\", new()\n    {\n        Name = \"AzureFirewallSubnet\",\n        ResourceGroupName = example.Name,\n        VirtualNetworkName = exampleVirtualNetwork.Name,\n        AddressPrefixes = new[]\n        {\n            \"10.0.1.0/24\",\n        },\n    });\n\n    var examplePublicIp = new Azure.Network.PublicIp(\"example\", new()\n    {\n        Name = \"testpip\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        AllocationMethod = \"Static\",\n        Sku = \"Standard\",\n    });\n\n    var exampleFirewall = new Azure.Network.Firewall(\"example\", new()\n    {\n        Name = \"testfirewall\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        SkuName = \"AZFW_VNet\",\n        SkuTier = \"Standard\",\n        IpConfigurations = new[]\n        {\n            new Azure.Network.Inputs.FirewallIpConfigurationArgs\n            {\n                Name = \"configuration\",\n                SubnetId = exampleSubnet.Id,\n                PublicIpAddressId = examplePublicIp.Id,\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, \"example\", \u0026network.VirtualNetworkArgs{\n\t\t\tName: pulumi.String(\"testvnet\"),\n\t\t\tAddressSpaces: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.0.0/16\"),\n\t\t\t},\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSubnet, err := network.NewSubnet(ctx, \"example\", \u0026network.SubnetArgs{\n\t\t\tName:               pulumi.String(\"AzureFirewallSubnet\"),\n\t\t\tResourceGroupName:  example.Name,\n\t\t\tVirtualNetworkName: exampleVirtualNetwork.Name,\n\t\t\tAddressPrefixes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.1.0/24\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texamplePublicIp, err := network.NewPublicIp(ctx, \"example\", \u0026network.PublicIpArgs{\n\t\t\tName:              pulumi.String(\"testpip\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tAllocationMethod:  pulumi.String(\"Static\"),\n\t\t\tSku:               pulumi.String(\"Standard\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = network.NewFirewall(ctx, \"example\", \u0026network.FirewallArgs{\n\t\t\tName:              pulumi.String(\"testfirewall\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSkuName:           pulumi.String(\"AZFW_VNet\"),\n\t\t\tSkuTier:           pulumi.String(\"Standard\"),\n\t\t\tIpConfigurations: network.FirewallIpConfigurationArray{\n\t\t\t\t\u0026network.FirewallIpConfigurationArgs{\n\t\t\t\t\tName:              pulumi.String(\"configuration\"),\n\t\t\t\t\tSubnetId:          exampleSubnet.ID(),\n\t\t\t\t\tPublicIpAddressId: examplePublicIp.ID(),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.VirtualNetwork;\nimport com.pulumi.azure.network.VirtualNetworkArgs;\nimport com.pulumi.azure.network.Subnet;\nimport com.pulumi.azure.network.SubnetArgs;\nimport com.pulumi.azure.network.PublicIp;\nimport com.pulumi.azure.network.PublicIpArgs;\nimport com.pulumi.azure.network.Firewall;\nimport com.pulumi.azure.network.FirewallArgs;\nimport com.pulumi.azure.network.inputs.FirewallIpConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleVirtualNetwork = new VirtualNetwork(\"exampleVirtualNetwork\", VirtualNetworkArgs.builder()\n            .name(\"testvnet\")\n            .addressSpaces(\"10.0.0.0/16\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .build());\n\n        var exampleSubnet = new Subnet(\"exampleSubnet\", SubnetArgs.builder()\n            .name(\"AzureFirewallSubnet\")\n            .resourceGroupName(example.name())\n            .virtualNetworkName(exampleVirtualNetwork.name())\n            .addressPrefixes(\"10.0.1.0/24\")\n            .build());\n\n        var examplePublicIp = new PublicIp(\"examplePublicIp\", PublicIpArgs.builder()\n            .name(\"testpip\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .allocationMethod(\"Static\")\n            .sku(\"Standard\")\n            .build());\n\n        var exampleFirewall = new Firewall(\"exampleFirewall\", FirewallArgs.builder()\n            .name(\"testfirewall\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .skuName(\"AZFW_VNet\")\n            .skuTier(\"Standard\")\n            .ipConfigurations(FirewallIpConfigurationArgs.builder()\n                .name(\"configuration\")\n                .subnetId(exampleSubnet.id())\n                .publicIpAddressId(examplePublicIp.id())\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleVirtualNetwork:\n    type: azure:network:VirtualNetwork\n    name: example\n    properties:\n      name: testvnet\n      addressSpaces:\n        - 10.0.0.0/16\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n  exampleSubnet:\n    type: azure:network:Subnet\n    name: example\n    properties:\n      name: AzureFirewallSubnet\n      resourceGroupName: ${example.name}\n      virtualNetworkName: ${exampleVirtualNetwork.name}\n      addressPrefixes:\n        - 10.0.1.0/24\n  examplePublicIp:\n    type: azure:network:PublicIp\n    name: example\n    properties:\n      name: testpip\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      allocationMethod: Static\n      sku: Standard\n  exampleFirewall:\n    type: azure:network:Firewall\n    name: example\n    properties:\n      name: testfirewall\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      skuName: AZFW_VNet\n      skuTier: Standard\n      ipConfigurations:\n        - name: configuration\n          subnetId: ${exampleSubnet.id}\n          publicIpAddressId: ${examplePublicIp.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2025-01-01\n\n## Import\n\nAzure Firewalls can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:network/firewall:Firewall example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Network/azureFirewalls/testfirewall\n```\n\n","properties":{"dnsProxyEnabled":{"type":"boolean","description":"Whether DNS proxy is enabled. It will forward DNS requests to the DNS servers when set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e. It will be set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e if \u003cspan pulumi-lang-nodejs=\"`dnsServers`\" pulumi-lang-dotnet=\"`DnsServers`\" pulumi-lang-go=\"`dnsServers`\" pulumi-lang-python=\"`dns_servers`\" pulumi-lang-yaml=\"`dnsServers`\" pulumi-lang-java=\"`dnsServers`\"\u003e`dns_servers`\u003c/span\u003e provided with a not empty list.\n"},"dnsServers":{"type":"array","items":{"type":"string"},"description":"A list of DNS servers that the Azure Firewall will direct DNS traffic to the for name resolution.\n"},"firewallPolicyId":{"type":"string","description":"The ID of the Firewall Policy applied to this Firewall.\n"},"ipConfigurations":{"type":"array","items":{"$ref":"#/types/azure:network/FirewallIpConfiguration:FirewallIpConfiguration"},"description":"An \u003cspan pulumi-lang-nodejs=\"`ipConfiguration`\" pulumi-lang-dotnet=\"`IpConfiguration`\" pulumi-lang-go=\"`ipConfiguration`\" pulumi-lang-python=\"`ip_configuration`\" pulumi-lang-yaml=\"`ipConfiguration`\" pulumi-lang-java=\"`ipConfiguration`\"\u003e`ip_configuration`\u003c/span\u003e block as documented below.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n"},"managementIpConfiguration":{"$ref":"#/types/azure:network/FirewallManagementIpConfiguration:FirewallManagementIpConfiguration","description":"A \u003cspan pulumi-lang-nodejs=\"`managementIpConfiguration`\" pulumi-lang-dotnet=\"`ManagementIpConfiguration`\" pulumi-lang-go=\"`managementIpConfiguration`\" pulumi-lang-python=\"`management_ip_configuration`\" pulumi-lang-yaml=\"`managementIpConfiguration`\" pulumi-lang-java=\"`managementIpConfiguration`\"\u003e`management_ip_configuration`\u003c/span\u003e block as documented below, which allows force-tunnelling of traffic to be performed by the firewall. Adding or removing this block or changing the \u003cspan pulumi-lang-nodejs=\"`subnetId`\" pulumi-lang-dotnet=\"`SubnetId`\" pulumi-lang-go=\"`subnetId`\" pulumi-lang-python=\"`subnet_id`\" pulumi-lang-yaml=\"`subnetId`\" pulumi-lang-java=\"`subnetId`\"\u003e`subnet_id`\u003c/span\u003e in an existing block forces a new resource to be created. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"Specifies the name of the Firewall. Changing this forces a new resource to be created.\n"},"privateIpRanges":{"type":"array","items":{"type":"string"},"description":"A list of SNAT private CIDR IP ranges, or the special string `IANAPrivateRanges`, which indicates Azure Firewall does not SNAT when the destination IP address is a private range per IANA RFC 1918.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the resource. Changing this forces a new resource to be created.\n"},"skuName":{"type":"string","description":"SKU name of the Firewall. Possible values are `AZFW_Hub` and `AZFW_VNet`. Changing this forces a new resource to be created.\n"},"skuTier":{"type":"string","description":"SKU tier of the Firewall. Possible values are `Premium`, `Standard` and `Basic`.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"threatIntelMode":{"type":"string","description":"The operation mode for threat intelligence-based filtering. Possible values are: `Off`, `Alert` and `Deny`. Defaults to `Alert`.\n"},"virtualHub":{"$ref":"#/types/azure:network/FirewallVirtualHub:FirewallVirtualHub","description":"A \u003cspan pulumi-lang-nodejs=\"`virtualHub`\" pulumi-lang-dotnet=\"`VirtualHub`\" pulumi-lang-go=\"`virtualHub`\" pulumi-lang-python=\"`virtual_hub`\" pulumi-lang-yaml=\"`virtualHub`\" pulumi-lang-java=\"`virtualHub`\"\u003e`virtual_hub`\u003c/span\u003e block as documented below.\n"},"zones":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Availability Zones in which this Azure Firewall should be located. Changing this forces a new Azure Firewall to be created.\n\n\u003e **Note:** Availability Zones are [only supported in several regions at this time](https://docs.microsoft.com/azure/availability-zones/az-overview).\n"}},"required":["dnsProxyEnabled","location","name","resourceGroupName","skuName","skuTier","threatIntelMode"],"inputProperties":{"dnsProxyEnabled":{"type":"boolean","description":"Whether DNS proxy is enabled. It will forward DNS requests to the DNS servers when set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e. It will be set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e if \u003cspan pulumi-lang-nodejs=\"`dnsServers`\" pulumi-lang-dotnet=\"`DnsServers`\" pulumi-lang-go=\"`dnsServers`\" pulumi-lang-python=\"`dns_servers`\" pulumi-lang-yaml=\"`dnsServers`\" pulumi-lang-java=\"`dnsServers`\"\u003e`dns_servers`\u003c/span\u003e provided with a not empty list.\n"},"dnsServers":{"type":"array","items":{"type":"string"},"description":"A list of DNS servers that the Azure Firewall will direct DNS traffic to the for name resolution.\n"},"firewallPolicyId":{"type":"string","description":"The ID of the Firewall Policy applied to this Firewall.\n"},"ipConfigurations":{"type":"array","items":{"$ref":"#/types/azure:network/FirewallIpConfiguration:FirewallIpConfiguration"},"description":"An \u003cspan pulumi-lang-nodejs=\"`ipConfiguration`\" pulumi-lang-dotnet=\"`IpConfiguration`\" pulumi-lang-go=\"`ipConfiguration`\" pulumi-lang-python=\"`ip_configuration`\" pulumi-lang-yaml=\"`ipConfiguration`\" pulumi-lang-java=\"`ipConfiguration`\"\u003e`ip_configuration`\u003c/span\u003e block as documented below.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"managementIpConfiguration":{"$ref":"#/types/azure:network/FirewallManagementIpConfiguration:FirewallManagementIpConfiguration","description":"A \u003cspan pulumi-lang-nodejs=\"`managementIpConfiguration`\" pulumi-lang-dotnet=\"`ManagementIpConfiguration`\" pulumi-lang-go=\"`managementIpConfiguration`\" pulumi-lang-python=\"`management_ip_configuration`\" pulumi-lang-yaml=\"`managementIpConfiguration`\" pulumi-lang-java=\"`managementIpConfiguration`\"\u003e`management_ip_configuration`\u003c/span\u003e block as documented below, which allows force-tunnelling of traffic to be performed by the firewall. Adding or removing this block or changing the \u003cspan pulumi-lang-nodejs=\"`subnetId`\" pulumi-lang-dotnet=\"`SubnetId`\" pulumi-lang-go=\"`subnetId`\" pulumi-lang-python=\"`subnet_id`\" pulumi-lang-yaml=\"`subnetId`\" pulumi-lang-java=\"`subnetId`\"\u003e`subnet_id`\u003c/span\u003e in an existing block forces a new resource to be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the Firewall. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"privateIpRanges":{"type":"array","items":{"type":"string"},"description":"A list of SNAT private CIDR IP ranges, or the special string `IANAPrivateRanges`, which indicates Azure Firewall does not SNAT when the destination IP address is a private range per IANA RFC 1918.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the resource. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"skuName":{"type":"string","description":"SKU name of the Firewall. Possible values are `AZFW_Hub` and `AZFW_VNet`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"skuTier":{"type":"string","description":"SKU tier of the Firewall. Possible values are `Premium`, `Standard` and `Basic`.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"threatIntelMode":{"type":"string","description":"The operation mode for threat intelligence-based filtering. Possible values are: `Off`, `Alert` and `Deny`. Defaults to `Alert`.\n"},"virtualHub":{"$ref":"#/types/azure:network/FirewallVirtualHub:FirewallVirtualHub","description":"A \u003cspan pulumi-lang-nodejs=\"`virtualHub`\" pulumi-lang-dotnet=\"`VirtualHub`\" pulumi-lang-go=\"`virtualHub`\" pulumi-lang-python=\"`virtual_hub`\" pulumi-lang-yaml=\"`virtualHub`\" pulumi-lang-java=\"`virtualHub`\"\u003e`virtual_hub`\u003c/span\u003e block as documented below.\n"},"zones":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Availability Zones in which this Azure Firewall should be located. Changing this forces a new Azure Firewall to be created.\n\n\u003e **Note:** Availability Zones are [only supported in several regions at this time](https://docs.microsoft.com/azure/availability-zones/az-overview).\n","willReplaceOnChanges":true}},"requiredInputs":["resourceGroupName","skuName","skuTier"],"stateInputs":{"description":"Input properties used for looking up and filtering Firewall resources.\n","properties":{"dnsProxyEnabled":{"type":"boolean","description":"Whether DNS proxy is enabled. It will forward DNS requests to the DNS servers when set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e. It will be set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e if \u003cspan pulumi-lang-nodejs=\"`dnsServers`\" pulumi-lang-dotnet=\"`DnsServers`\" pulumi-lang-go=\"`dnsServers`\" pulumi-lang-python=\"`dns_servers`\" pulumi-lang-yaml=\"`dnsServers`\" pulumi-lang-java=\"`dnsServers`\"\u003e`dns_servers`\u003c/span\u003e provided with a not empty list.\n"},"dnsServers":{"type":"array","items":{"type":"string"},"description":"A list of DNS servers that the Azure Firewall will direct DNS traffic to the for name resolution.\n"},"firewallPolicyId":{"type":"string","description":"The ID of the Firewall Policy applied to this Firewall.\n"},"ipConfigurations":{"type":"array","items":{"$ref":"#/types/azure:network/FirewallIpConfiguration:FirewallIpConfiguration"},"description":"An \u003cspan pulumi-lang-nodejs=\"`ipConfiguration`\" pulumi-lang-dotnet=\"`IpConfiguration`\" pulumi-lang-go=\"`ipConfiguration`\" pulumi-lang-python=\"`ip_configuration`\" pulumi-lang-yaml=\"`ipConfiguration`\" pulumi-lang-java=\"`ipConfiguration`\"\u003e`ip_configuration`\u003c/span\u003e block as documented below.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"managementIpConfiguration":{"$ref":"#/types/azure:network/FirewallManagementIpConfiguration:FirewallManagementIpConfiguration","description":"A \u003cspan pulumi-lang-nodejs=\"`managementIpConfiguration`\" pulumi-lang-dotnet=\"`ManagementIpConfiguration`\" pulumi-lang-go=\"`managementIpConfiguration`\" pulumi-lang-python=\"`management_ip_configuration`\" pulumi-lang-yaml=\"`managementIpConfiguration`\" pulumi-lang-java=\"`managementIpConfiguration`\"\u003e`management_ip_configuration`\u003c/span\u003e block as documented below, which allows force-tunnelling of traffic to be performed by the firewall. Adding or removing this block or changing the \u003cspan pulumi-lang-nodejs=\"`subnetId`\" pulumi-lang-dotnet=\"`SubnetId`\" pulumi-lang-go=\"`subnetId`\" pulumi-lang-python=\"`subnet_id`\" pulumi-lang-yaml=\"`subnetId`\" pulumi-lang-java=\"`subnetId`\"\u003e`subnet_id`\u003c/span\u003e in an existing block forces a new resource to be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the Firewall. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"privateIpRanges":{"type":"array","items":{"type":"string"},"description":"A list of SNAT private CIDR IP ranges, or the special string `IANAPrivateRanges`, which indicates Azure Firewall does not SNAT when the destination IP address is a private range per IANA RFC 1918.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the resource. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"skuName":{"type":"string","description":"SKU name of the Firewall. Possible values are `AZFW_Hub` and `AZFW_VNet`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"skuTier":{"type":"string","description":"SKU tier of the Firewall. Possible values are `Premium`, `Standard` and `Basic`.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"threatIntelMode":{"type":"string","description":"The operation mode for threat intelligence-based filtering. Possible values are: `Off`, `Alert` and `Deny`. Defaults to `Alert`.\n"},"virtualHub":{"$ref":"#/types/azure:network/FirewallVirtualHub:FirewallVirtualHub","description":"A \u003cspan pulumi-lang-nodejs=\"`virtualHub`\" pulumi-lang-dotnet=\"`VirtualHub`\" pulumi-lang-go=\"`virtualHub`\" pulumi-lang-python=\"`virtual_hub`\" pulumi-lang-yaml=\"`virtualHub`\" pulumi-lang-java=\"`virtualHub`\"\u003e`virtual_hub`\u003c/span\u003e block as documented below.\n"},"zones":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Availability Zones in which this Azure Firewall should be located. Changing this forces a new Azure Firewall to be created.\n\n\u003e **Note:** Availability Zones are [only supported in several regions at this time](https://docs.microsoft.com/azure/availability-zones/az-overview).\n","willReplaceOnChanges":true}},"type":"object"}},"azure:network/firewallApplicationRuleCollection:FirewallApplicationRuleCollection":{"description":"Manages an Application Rule Collection within an Azure Firewall.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"example\", {\n    name: \"testvnet\",\n    addressSpaces: [\"10.0.0.0/16\"],\n    location: example.location,\n    resourceGroupName: example.name,\n});\nconst exampleSubnet = new azure.network.Subnet(\"example\", {\n    name: \"AzureFirewallSubnet\",\n    resourceGroupName: example.name,\n    virtualNetworkName: exampleVirtualNetwork.name,\n    addressPrefixes: [\"10.0.1.0/24\"],\n});\nconst examplePublicIp = new azure.network.PublicIp(\"example\", {\n    name: \"testpip\",\n    location: example.location,\n    resourceGroupName: example.name,\n    allocationMethod: \"Static\",\n    sku: \"Standard\",\n});\nconst exampleFirewall = new azure.network.Firewall(\"example\", {\n    name: \"testfirewall\",\n    location: example.location,\n    resourceGroupName: example.name,\n    skuName: \"AZFW_VNet\",\n    skuTier: \"Standard\",\n    ipConfigurations: [{\n        name: \"configuration\",\n        subnetId: exampleSubnet.id,\n        publicIpAddressId: examplePublicIp.id,\n    }],\n});\nconst exampleFirewallApplicationRuleCollection = new azure.network.FirewallApplicationRuleCollection(\"example\", {\n    name: \"testcollection\",\n    azureFirewallName: exampleFirewall.name,\n    resourceGroupName: example.name,\n    priority: 100,\n    action: \"Allow\",\n    rules: [{\n        name: \"testrule\",\n        sourceAddresses: [\"10.0.0.0/16\"],\n        targetFqdns: [\"*.google.com\"],\n        protocols: [{\n            port: 443,\n            type: \"Https\",\n        }],\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_virtual_network = azure.network.VirtualNetwork(\"example\",\n    name=\"testvnet\",\n    address_spaces=[\"10.0.0.0/16\"],\n    location=example.location,\n    resource_group_name=example.name)\nexample_subnet = azure.network.Subnet(\"example\",\n    name=\"AzureFirewallSubnet\",\n    resource_group_name=example.name,\n    virtual_network_name=example_virtual_network.name,\n    address_prefixes=[\"10.0.1.0/24\"])\nexample_public_ip = azure.network.PublicIp(\"example\",\n    name=\"testpip\",\n    location=example.location,\n    resource_group_name=example.name,\n    allocation_method=\"Static\",\n    sku=\"Standard\")\nexample_firewall = azure.network.Firewall(\"example\",\n    name=\"testfirewall\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku_name=\"AZFW_VNet\",\n    sku_tier=\"Standard\",\n    ip_configurations=[{\n        \"name\": \"configuration\",\n        \"subnet_id\": example_subnet.id,\n        \"public_ip_address_id\": example_public_ip.id,\n    }])\nexample_firewall_application_rule_collection = azure.network.FirewallApplicationRuleCollection(\"example\",\n    name=\"testcollection\",\n    azure_firewall_name=example_firewall.name,\n    resource_group_name=example.name,\n    priority=100,\n    action=\"Allow\",\n    rules=[{\n        \"name\": \"testrule\",\n        \"source_addresses\": [\"10.0.0.0/16\"],\n        \"target_fqdns\": [\"*.google.com\"],\n        \"protocols\": [{\n            \"port\": 443,\n            \"type\": \"Https\",\n        }],\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleVirtualNetwork = new Azure.Network.VirtualNetwork(\"example\", new()\n    {\n        Name = \"testvnet\",\n        AddressSpaces = new[]\n        {\n            \"10.0.0.0/16\",\n        },\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n    });\n\n    var exampleSubnet = new Azure.Network.Subnet(\"example\", new()\n    {\n        Name = \"AzureFirewallSubnet\",\n        ResourceGroupName = example.Name,\n        VirtualNetworkName = exampleVirtualNetwork.Name,\n        AddressPrefixes = new[]\n        {\n            \"10.0.1.0/24\",\n        },\n    });\n\n    var examplePublicIp = new Azure.Network.PublicIp(\"example\", new()\n    {\n        Name = \"testpip\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        AllocationMethod = \"Static\",\n        Sku = \"Standard\",\n    });\n\n    var exampleFirewall = new Azure.Network.Firewall(\"example\", new()\n    {\n        Name = \"testfirewall\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        SkuName = \"AZFW_VNet\",\n        SkuTier = \"Standard\",\n        IpConfigurations = new[]\n        {\n            new Azure.Network.Inputs.FirewallIpConfigurationArgs\n            {\n                Name = \"configuration\",\n                SubnetId = exampleSubnet.Id,\n                PublicIpAddressId = examplePublicIp.Id,\n            },\n        },\n    });\n\n    var exampleFirewallApplicationRuleCollection = new Azure.Network.FirewallApplicationRuleCollection(\"example\", new()\n    {\n        Name = \"testcollection\",\n        AzureFirewallName = exampleFirewall.Name,\n        ResourceGroupName = example.Name,\n        Priority = 100,\n        Action = \"Allow\",\n        Rules = new[]\n        {\n            new Azure.Network.Inputs.FirewallApplicationRuleCollectionRuleArgs\n            {\n                Name = \"testrule\",\n                SourceAddresses = new[]\n                {\n                    \"10.0.0.0/16\",\n                },\n                TargetFqdns = new[]\n                {\n                    \"*.google.com\",\n                },\n                Protocols = new[]\n                {\n                    new Azure.Network.Inputs.FirewallApplicationRuleCollectionRuleProtocolArgs\n                    {\n                        Port = 443,\n                        Type = \"Https\",\n                    },\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, \"example\", \u0026network.VirtualNetworkArgs{\n\t\t\tName: pulumi.String(\"testvnet\"),\n\t\t\tAddressSpaces: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.0.0/16\"),\n\t\t\t},\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSubnet, err := network.NewSubnet(ctx, \"example\", \u0026network.SubnetArgs{\n\t\t\tName:               pulumi.String(\"AzureFirewallSubnet\"),\n\t\t\tResourceGroupName:  example.Name,\n\t\t\tVirtualNetworkName: exampleVirtualNetwork.Name,\n\t\t\tAddressPrefixes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.1.0/24\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texamplePublicIp, err := network.NewPublicIp(ctx, \"example\", \u0026network.PublicIpArgs{\n\t\t\tName:              pulumi.String(\"testpip\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tAllocationMethod:  pulumi.String(\"Static\"),\n\t\t\tSku:               pulumi.String(\"Standard\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleFirewall, err := network.NewFirewall(ctx, \"example\", \u0026network.FirewallArgs{\n\t\t\tName:              pulumi.String(\"testfirewall\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSkuName:           pulumi.String(\"AZFW_VNet\"),\n\t\t\tSkuTier:           pulumi.String(\"Standard\"),\n\t\t\tIpConfigurations: network.FirewallIpConfigurationArray{\n\t\t\t\t\u0026network.FirewallIpConfigurationArgs{\n\t\t\t\t\tName:              pulumi.String(\"configuration\"),\n\t\t\t\t\tSubnetId:          exampleSubnet.ID(),\n\t\t\t\t\tPublicIpAddressId: examplePublicIp.ID(),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = network.NewFirewallApplicationRuleCollection(ctx, \"example\", \u0026network.FirewallApplicationRuleCollectionArgs{\n\t\t\tName:              pulumi.String(\"testcollection\"),\n\t\t\tAzureFirewallName: exampleFirewall.Name,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tPriority:          pulumi.Int(100),\n\t\t\tAction:            pulumi.String(\"Allow\"),\n\t\t\tRules: network.FirewallApplicationRuleCollectionRuleArray{\n\t\t\t\t\u0026network.FirewallApplicationRuleCollectionRuleArgs{\n\t\t\t\t\tName: pulumi.String(\"testrule\"),\n\t\t\t\t\tSourceAddresses: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"10.0.0.0/16\"),\n\t\t\t\t\t},\n\t\t\t\t\tTargetFqdns: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"*.google.com\"),\n\t\t\t\t\t},\n\t\t\t\t\tProtocols: network.FirewallApplicationRuleCollectionRuleProtocolArray{\n\t\t\t\t\t\t\u0026network.FirewallApplicationRuleCollectionRuleProtocolArgs{\n\t\t\t\t\t\t\tPort: pulumi.Int(443),\n\t\t\t\t\t\t\tType: pulumi.String(\"Https\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.VirtualNetwork;\nimport com.pulumi.azure.network.VirtualNetworkArgs;\nimport com.pulumi.azure.network.Subnet;\nimport com.pulumi.azure.network.SubnetArgs;\nimport com.pulumi.azure.network.PublicIp;\nimport com.pulumi.azure.network.PublicIpArgs;\nimport com.pulumi.azure.network.Firewall;\nimport com.pulumi.azure.network.FirewallArgs;\nimport com.pulumi.azure.network.inputs.FirewallIpConfigurationArgs;\nimport com.pulumi.azure.network.FirewallApplicationRuleCollection;\nimport com.pulumi.azure.network.FirewallApplicationRuleCollectionArgs;\nimport com.pulumi.azure.network.inputs.FirewallApplicationRuleCollectionRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleVirtualNetwork = new VirtualNetwork(\"exampleVirtualNetwork\", VirtualNetworkArgs.builder()\n            .name(\"testvnet\")\n            .addressSpaces(\"10.0.0.0/16\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .build());\n\n        var exampleSubnet = new Subnet(\"exampleSubnet\", SubnetArgs.builder()\n            .name(\"AzureFirewallSubnet\")\n            .resourceGroupName(example.name())\n            .virtualNetworkName(exampleVirtualNetwork.name())\n            .addressPrefixes(\"10.0.1.0/24\")\n            .build());\n\n        var examplePublicIp = new PublicIp(\"examplePublicIp\", PublicIpArgs.builder()\n            .name(\"testpip\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .allocationMethod(\"Static\")\n            .sku(\"Standard\")\n            .build());\n\n        var exampleFirewall = new Firewall(\"exampleFirewall\", FirewallArgs.builder()\n            .name(\"testfirewall\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .skuName(\"AZFW_VNet\")\n            .skuTier(\"Standard\")\n            .ipConfigurations(FirewallIpConfigurationArgs.builder()\n                .name(\"configuration\")\n                .subnetId(exampleSubnet.id())\n                .publicIpAddressId(examplePublicIp.id())\n                .build())\n            .build());\n\n        var exampleFirewallApplicationRuleCollection = new FirewallApplicationRuleCollection(\"exampleFirewallApplicationRuleCollection\", FirewallApplicationRuleCollectionArgs.builder()\n            .name(\"testcollection\")\n            .azureFirewallName(exampleFirewall.name())\n            .resourceGroupName(example.name())\n            .priority(100)\n            .action(\"Allow\")\n            .rules(FirewallApplicationRuleCollectionRuleArgs.builder()\n                .name(\"testrule\")\n                .sourceAddresses(\"10.0.0.0/16\")\n                .targetFqdns(\"*.google.com\")\n                .protocols(FirewallApplicationRuleCollectionRuleProtocolArgs.builder()\n                    .port(443)\n                    .type(\"Https\")\n                    .build())\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleVirtualNetwork:\n    type: azure:network:VirtualNetwork\n    name: example\n    properties:\n      name: testvnet\n      addressSpaces:\n        - 10.0.0.0/16\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n  exampleSubnet:\n    type: azure:network:Subnet\n    name: example\n    properties:\n      name: AzureFirewallSubnet\n      resourceGroupName: ${example.name}\n      virtualNetworkName: ${exampleVirtualNetwork.name}\n      addressPrefixes:\n        - 10.0.1.0/24\n  examplePublicIp:\n    type: azure:network:PublicIp\n    name: example\n    properties:\n      name: testpip\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      allocationMethod: Static\n      sku: Standard\n  exampleFirewall:\n    type: azure:network:Firewall\n    name: example\n    properties:\n      name: testfirewall\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      skuName: AZFW_VNet\n      skuTier: Standard\n      ipConfigurations:\n        - name: configuration\n          subnetId: ${exampleSubnet.id}\n          publicIpAddressId: ${examplePublicIp.id}\n  exampleFirewallApplicationRuleCollection:\n    type: azure:network:FirewallApplicationRuleCollection\n    name: example\n    properties:\n      name: testcollection\n      azureFirewallName: ${exampleFirewall.name}\n      resourceGroupName: ${example.name}\n      priority: 100\n      action: Allow\n      rules:\n        - name: testrule\n          sourceAddresses:\n            - 10.0.0.0/16\n          targetFqdns:\n            - '*.google.com'\n          protocols:\n            - port: '443'\n              type: Https\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2025-01-01\n\n## Import\n\nFirewall Application Rule Collections can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:network/firewallApplicationRuleCollection:FirewallApplicationRuleCollection example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Network/azureFirewalls/myfirewall/applicationRuleCollections/mycollection\n```\n\n","properties":{"action":{"type":"string","description":"Specifies the action the rule will apply to matching traffic. Possible values are `Allow` and `Deny`.\n"},"azureFirewallName":{"type":"string","description":"Specifies the name of the Firewall in which the Application Rule Collection should be created. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"Specifies the name of the Application Rule Collection which must be unique within the Firewall. Changing this forces a new resource to be created.\n"},"priority":{"type":"integer","description":"Specifies the priority of the rule collection. Possible values are between \u003cspan pulumi-lang-nodejs=\"`100`\" pulumi-lang-dotnet=\"`100`\" pulumi-lang-go=\"`100`\" pulumi-lang-python=\"`100`\" pulumi-lang-yaml=\"`100`\" pulumi-lang-java=\"`100`\"\u003e`100`\u003c/span\u003e - \u003cspan pulumi-lang-nodejs=\"`65000`\" pulumi-lang-dotnet=\"`65000`\" pulumi-lang-go=\"`65000`\" pulumi-lang-python=\"`65000`\" pulumi-lang-yaml=\"`65000`\" pulumi-lang-java=\"`65000`\"\u003e`65000`\u003c/span\u003e.\n"},"resourceGroupName":{"type":"string","description":"Specifies the name of the Resource Group in which the Firewall exists. Changing this forces a new resource to be created.\n"},"rules":{"type":"array","items":{"$ref":"#/types/azure:network/FirewallApplicationRuleCollectionRule:FirewallApplicationRuleCollectionRule"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`rule`\" pulumi-lang-dotnet=\"`Rule`\" pulumi-lang-go=\"`rule`\" pulumi-lang-python=\"`rule`\" pulumi-lang-yaml=\"`rule`\" pulumi-lang-java=\"`rule`\"\u003e`rule`\u003c/span\u003e blocks as defined below.\n"}},"required":["action","azureFirewallName","name","priority","resourceGroupName","rules"],"inputProperties":{"action":{"type":"string","description":"Specifies the action the rule will apply to matching traffic. Possible values are `Allow` and `Deny`.\n"},"azureFirewallName":{"type":"string","description":"Specifies the name of the Firewall in which the Application Rule Collection should be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the Application Rule Collection which must be unique within the Firewall. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"priority":{"type":"integer","description":"Specifies the priority of the rule collection. Possible values are between \u003cspan pulumi-lang-nodejs=\"`100`\" pulumi-lang-dotnet=\"`100`\" pulumi-lang-go=\"`100`\" pulumi-lang-python=\"`100`\" pulumi-lang-yaml=\"`100`\" pulumi-lang-java=\"`100`\"\u003e`100`\u003c/span\u003e - \u003cspan pulumi-lang-nodejs=\"`65000`\" pulumi-lang-dotnet=\"`65000`\" pulumi-lang-go=\"`65000`\" pulumi-lang-python=\"`65000`\" pulumi-lang-yaml=\"`65000`\" pulumi-lang-java=\"`65000`\"\u003e`65000`\u003c/span\u003e.\n"},"resourceGroupName":{"type":"string","description":"Specifies the name of the Resource Group in which the Firewall exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"rules":{"type":"array","items":{"$ref":"#/types/azure:network/FirewallApplicationRuleCollectionRule:FirewallApplicationRuleCollectionRule"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`rule`\" pulumi-lang-dotnet=\"`Rule`\" pulumi-lang-go=\"`rule`\" pulumi-lang-python=\"`rule`\" pulumi-lang-yaml=\"`rule`\" pulumi-lang-java=\"`rule`\"\u003e`rule`\u003c/span\u003e blocks as defined below.\n"}},"requiredInputs":["action","azureFirewallName","priority","resourceGroupName","rules"],"stateInputs":{"description":"Input properties used for looking up and filtering FirewallApplicationRuleCollection resources.\n","properties":{"action":{"type":"string","description":"Specifies the action the rule will apply to matching traffic. Possible values are `Allow` and `Deny`.\n"},"azureFirewallName":{"type":"string","description":"Specifies the name of the Firewall in which the Application Rule Collection should be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the Application Rule Collection which must be unique within the Firewall. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"priority":{"type":"integer","description":"Specifies the priority of the rule collection. Possible values are between \u003cspan pulumi-lang-nodejs=\"`100`\" pulumi-lang-dotnet=\"`100`\" pulumi-lang-go=\"`100`\" pulumi-lang-python=\"`100`\" pulumi-lang-yaml=\"`100`\" pulumi-lang-java=\"`100`\"\u003e`100`\u003c/span\u003e - \u003cspan pulumi-lang-nodejs=\"`65000`\" pulumi-lang-dotnet=\"`65000`\" pulumi-lang-go=\"`65000`\" pulumi-lang-python=\"`65000`\" pulumi-lang-yaml=\"`65000`\" pulumi-lang-java=\"`65000`\"\u003e`65000`\u003c/span\u003e.\n"},"resourceGroupName":{"type":"string","description":"Specifies the name of the Resource Group in which the Firewall exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"rules":{"type":"array","items":{"$ref":"#/types/azure:network/FirewallApplicationRuleCollectionRule:FirewallApplicationRuleCollectionRule"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`rule`\" pulumi-lang-dotnet=\"`Rule`\" pulumi-lang-go=\"`rule`\" pulumi-lang-python=\"`rule`\" pulumi-lang-yaml=\"`rule`\" pulumi-lang-java=\"`rule`\"\u003e`rule`\u003c/span\u003e blocks as defined below.\n"}},"type":"object"}},"azure:network/firewallNatRuleCollection:FirewallNatRuleCollection":{"description":"Manages a NAT Rule Collection within an Azure Firewall.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"example\", {\n    name: \"testvnet\",\n    addressSpaces: [\"10.0.0.0/16\"],\n    location: example.location,\n    resourceGroupName: example.name,\n});\nconst exampleSubnet = new azure.network.Subnet(\"example\", {\n    name: \"AzureFirewallSubnet\",\n    resourceGroupName: example.name,\n    virtualNetworkName: exampleVirtualNetwork.name,\n    addressPrefixes: [\"10.0.1.0/24\"],\n});\nconst examplePublicIp = new azure.network.PublicIp(\"example\", {\n    name: \"testpip\",\n    location: example.location,\n    resourceGroupName: example.name,\n    allocationMethod: \"Static\",\n    sku: \"Standard\",\n});\nconst exampleFirewall = new azure.network.Firewall(\"example\", {\n    name: \"testfirewall\",\n    location: example.location,\n    resourceGroupName: example.name,\n    skuName: \"AZFW_VNet\",\n    skuTier: \"Standard\",\n    ipConfigurations: [{\n        name: \"configuration\",\n        subnetId: exampleSubnet.id,\n        publicIpAddressId: examplePublicIp.id,\n    }],\n});\nconst exampleFirewallNatRuleCollection = new azure.network.FirewallNatRuleCollection(\"example\", {\n    name: \"testcollection\",\n    azureFirewallName: exampleFirewall.name,\n    resourceGroupName: example.name,\n    priority: 100,\n    action: \"Dnat\",\n    rules: [{\n        name: \"testrule\",\n        sourceAddresses: [\"10.0.0.0/16\"],\n        destinationPorts: [\"53\"],\n        destinationAddresses: [examplePublicIp.ipAddress],\n        translatedPort: \"53\",\n        translatedAddress: \"8.8.8.8\",\n        protocols: [\n            \"TCP\",\n            \"UDP\",\n        ],\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_virtual_network = azure.network.VirtualNetwork(\"example\",\n    name=\"testvnet\",\n    address_spaces=[\"10.0.0.0/16\"],\n    location=example.location,\n    resource_group_name=example.name)\nexample_subnet = azure.network.Subnet(\"example\",\n    name=\"AzureFirewallSubnet\",\n    resource_group_name=example.name,\n    virtual_network_name=example_virtual_network.name,\n    address_prefixes=[\"10.0.1.0/24\"])\nexample_public_ip = azure.network.PublicIp(\"example\",\n    name=\"testpip\",\n    location=example.location,\n    resource_group_name=example.name,\n    allocation_method=\"Static\",\n    sku=\"Standard\")\nexample_firewall = azure.network.Firewall(\"example\",\n    name=\"testfirewall\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku_name=\"AZFW_VNet\",\n    sku_tier=\"Standard\",\n    ip_configurations=[{\n        \"name\": \"configuration\",\n        \"subnet_id\": example_subnet.id,\n        \"public_ip_address_id\": example_public_ip.id,\n    }])\nexample_firewall_nat_rule_collection = azure.network.FirewallNatRuleCollection(\"example\",\n    name=\"testcollection\",\n    azure_firewall_name=example_firewall.name,\n    resource_group_name=example.name,\n    priority=100,\n    action=\"Dnat\",\n    rules=[{\n        \"name\": \"testrule\",\n        \"source_addresses\": [\"10.0.0.0/16\"],\n        \"destination_ports\": [\"53\"],\n        \"destination_addresses\": [example_public_ip.ip_address],\n        \"translated_port\": \"53\",\n        \"translated_address\": \"8.8.8.8\",\n        \"protocols\": [\n            \"TCP\",\n            \"UDP\",\n        ],\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleVirtualNetwork = new Azure.Network.VirtualNetwork(\"example\", new()\n    {\n        Name = \"testvnet\",\n        AddressSpaces = new[]\n        {\n            \"10.0.0.0/16\",\n        },\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n    });\n\n    var exampleSubnet = new Azure.Network.Subnet(\"example\", new()\n    {\n        Name = \"AzureFirewallSubnet\",\n        ResourceGroupName = example.Name,\n        VirtualNetworkName = exampleVirtualNetwork.Name,\n        AddressPrefixes = new[]\n        {\n            \"10.0.1.0/24\",\n        },\n    });\n\n    var examplePublicIp = new Azure.Network.PublicIp(\"example\", new()\n    {\n        Name = \"testpip\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        AllocationMethod = \"Static\",\n        Sku = \"Standard\",\n    });\n\n    var exampleFirewall = new Azure.Network.Firewall(\"example\", new()\n    {\n        Name = \"testfirewall\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        SkuName = \"AZFW_VNet\",\n        SkuTier = \"Standard\",\n        IpConfigurations = new[]\n        {\n            new Azure.Network.Inputs.FirewallIpConfigurationArgs\n            {\n                Name = \"configuration\",\n                SubnetId = exampleSubnet.Id,\n                PublicIpAddressId = examplePublicIp.Id,\n            },\n        },\n    });\n\n    var exampleFirewallNatRuleCollection = new Azure.Network.FirewallNatRuleCollection(\"example\", new()\n    {\n        Name = \"testcollection\",\n        AzureFirewallName = exampleFirewall.Name,\n        ResourceGroupName = example.Name,\n        Priority = 100,\n        Action = \"Dnat\",\n        Rules = new[]\n        {\n            new Azure.Network.Inputs.FirewallNatRuleCollectionRuleArgs\n            {\n                Name = \"testrule\",\n                SourceAddresses = new[]\n                {\n                    \"10.0.0.0/16\",\n                },\n                DestinationPorts = new[]\n                {\n                    \"53\",\n                },\n                DestinationAddresses = new[]\n                {\n                    examplePublicIp.IpAddress,\n                },\n                TranslatedPort = \"53\",\n                TranslatedAddress = \"8.8.8.8\",\n                Protocols = new[]\n                {\n                    \"TCP\",\n                    \"UDP\",\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, \"example\", \u0026network.VirtualNetworkArgs{\n\t\t\tName: pulumi.String(\"testvnet\"),\n\t\t\tAddressSpaces: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.0.0/16\"),\n\t\t\t},\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSubnet, err := network.NewSubnet(ctx, \"example\", \u0026network.SubnetArgs{\n\t\t\tName:               pulumi.String(\"AzureFirewallSubnet\"),\n\t\t\tResourceGroupName:  example.Name,\n\t\t\tVirtualNetworkName: exampleVirtualNetwork.Name,\n\t\t\tAddressPrefixes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.1.0/24\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texamplePublicIp, err := network.NewPublicIp(ctx, \"example\", \u0026network.PublicIpArgs{\n\t\t\tName:              pulumi.String(\"testpip\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tAllocationMethod:  pulumi.String(\"Static\"),\n\t\t\tSku:               pulumi.String(\"Standard\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleFirewall, err := network.NewFirewall(ctx, \"example\", \u0026network.FirewallArgs{\n\t\t\tName:              pulumi.String(\"testfirewall\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSkuName:           pulumi.String(\"AZFW_VNet\"),\n\t\t\tSkuTier:           pulumi.String(\"Standard\"),\n\t\t\tIpConfigurations: network.FirewallIpConfigurationArray{\n\t\t\t\t\u0026network.FirewallIpConfigurationArgs{\n\t\t\t\t\tName:              pulumi.String(\"configuration\"),\n\t\t\t\t\tSubnetId:          exampleSubnet.ID(),\n\t\t\t\t\tPublicIpAddressId: examplePublicIp.ID(),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = network.NewFirewallNatRuleCollection(ctx, \"example\", \u0026network.FirewallNatRuleCollectionArgs{\n\t\t\tName:              pulumi.String(\"testcollection\"),\n\t\t\tAzureFirewallName: exampleFirewall.Name,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tPriority:          pulumi.Int(100),\n\t\t\tAction:            pulumi.String(\"Dnat\"),\n\t\t\tRules: network.FirewallNatRuleCollectionRuleArray{\n\t\t\t\t\u0026network.FirewallNatRuleCollectionRuleArgs{\n\t\t\t\t\tName: pulumi.String(\"testrule\"),\n\t\t\t\t\tSourceAddresses: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"10.0.0.0/16\"),\n\t\t\t\t\t},\n\t\t\t\t\tDestinationPorts: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"53\"),\n\t\t\t\t\t},\n\t\t\t\t\tDestinationAddresses: pulumi.StringArray{\n\t\t\t\t\t\texamplePublicIp.IpAddress,\n\t\t\t\t\t},\n\t\t\t\t\tTranslatedPort:    pulumi.String(\"53\"),\n\t\t\t\t\tTranslatedAddress: pulumi.String(\"8.8.8.8\"),\n\t\t\t\t\tProtocols: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"TCP\"),\n\t\t\t\t\t\tpulumi.String(\"UDP\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.VirtualNetwork;\nimport com.pulumi.azure.network.VirtualNetworkArgs;\nimport com.pulumi.azure.network.Subnet;\nimport com.pulumi.azure.network.SubnetArgs;\nimport com.pulumi.azure.network.PublicIp;\nimport com.pulumi.azure.network.PublicIpArgs;\nimport com.pulumi.azure.network.Firewall;\nimport com.pulumi.azure.network.FirewallArgs;\nimport com.pulumi.azure.network.inputs.FirewallIpConfigurationArgs;\nimport com.pulumi.azure.network.FirewallNatRuleCollection;\nimport com.pulumi.azure.network.FirewallNatRuleCollectionArgs;\nimport com.pulumi.azure.network.inputs.FirewallNatRuleCollectionRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleVirtualNetwork = new VirtualNetwork(\"exampleVirtualNetwork\", VirtualNetworkArgs.builder()\n            .name(\"testvnet\")\n            .addressSpaces(\"10.0.0.0/16\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .build());\n\n        var exampleSubnet = new Subnet(\"exampleSubnet\", SubnetArgs.builder()\n            .name(\"AzureFirewallSubnet\")\n            .resourceGroupName(example.name())\n            .virtualNetworkName(exampleVirtualNetwork.name())\n            .addressPrefixes(\"10.0.1.0/24\")\n            .build());\n\n        var examplePublicIp = new PublicIp(\"examplePublicIp\", PublicIpArgs.builder()\n            .name(\"testpip\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .allocationMethod(\"Static\")\n            .sku(\"Standard\")\n            .build());\n\n        var exampleFirewall = new Firewall(\"exampleFirewall\", FirewallArgs.builder()\n            .name(\"testfirewall\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .skuName(\"AZFW_VNet\")\n            .skuTier(\"Standard\")\n            .ipConfigurations(FirewallIpConfigurationArgs.builder()\n                .name(\"configuration\")\n                .subnetId(exampleSubnet.id())\n                .publicIpAddressId(examplePublicIp.id())\n                .build())\n            .build());\n\n        var exampleFirewallNatRuleCollection = new FirewallNatRuleCollection(\"exampleFirewallNatRuleCollection\", FirewallNatRuleCollectionArgs.builder()\n            .name(\"testcollection\")\n            .azureFirewallName(exampleFirewall.name())\n            .resourceGroupName(example.name())\n            .priority(100)\n            .action(\"Dnat\")\n            .rules(FirewallNatRuleCollectionRuleArgs.builder()\n                .name(\"testrule\")\n                .sourceAddresses(\"10.0.0.0/16\")\n                .destinationPorts(\"53\")\n                .destinationAddresses(examplePublicIp.ipAddress())\n                .translatedPort(\"53\")\n                .translatedAddress(\"8.8.8.8\")\n                .protocols(                \n                    \"TCP\",\n                    \"UDP\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleVirtualNetwork:\n    type: azure:network:VirtualNetwork\n    name: example\n    properties:\n      name: testvnet\n      addressSpaces:\n        - 10.0.0.0/16\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n  exampleSubnet:\n    type: azure:network:Subnet\n    name: example\n    properties:\n      name: AzureFirewallSubnet\n      resourceGroupName: ${example.name}\n      virtualNetworkName: ${exampleVirtualNetwork.name}\n      addressPrefixes:\n        - 10.0.1.0/24\n  examplePublicIp:\n    type: azure:network:PublicIp\n    name: example\n    properties:\n      name: testpip\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      allocationMethod: Static\n      sku: Standard\n  exampleFirewall:\n    type: azure:network:Firewall\n    name: example\n    properties:\n      name: testfirewall\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      skuName: AZFW_VNet\n      skuTier: Standard\n      ipConfigurations:\n        - name: configuration\n          subnetId: ${exampleSubnet.id}\n          publicIpAddressId: ${examplePublicIp.id}\n  exampleFirewallNatRuleCollection:\n    type: azure:network:FirewallNatRuleCollection\n    name: example\n    properties:\n      name: testcollection\n      azureFirewallName: ${exampleFirewall.name}\n      resourceGroupName: ${example.name}\n      priority: 100\n      action: Dnat\n      rules:\n        - name: testrule\n          sourceAddresses:\n            - 10.0.0.0/16\n          destinationPorts:\n            - '53'\n          destinationAddresses:\n            - ${examplePublicIp.ipAddress}\n          translatedPort: 53\n          translatedAddress: 8.8.8.8\n          protocols:\n            - TCP\n            - UDP\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2025-01-01\n\n## Import\n\nAzure Firewall NAT Rule Collections can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:network/firewallNatRuleCollection:FirewallNatRuleCollection example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Network/azureFirewalls/myfirewall/natRuleCollections/mycollection\n```\n\n","properties":{"action":{"type":"string","description":"Specifies the action the rule will apply to matching traffic. Possible values are `Dnat` and `Snat`.\n"},"azureFirewallName":{"type":"string","description":"Specifies the name of the Firewall in which the NAT Rule Collection should be created. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"Specifies the name of the NAT Rule Collection which must be unique within the Firewall. Changing this forces a new resource to be created.\n"},"priority":{"type":"integer","description":"Specifies the priority of the rule collection. Possible values are between \u003cspan pulumi-lang-nodejs=\"`100`\" pulumi-lang-dotnet=\"`100`\" pulumi-lang-go=\"`100`\" pulumi-lang-python=\"`100`\" pulumi-lang-yaml=\"`100`\" pulumi-lang-java=\"`100`\"\u003e`100`\u003c/span\u003e - \u003cspan pulumi-lang-nodejs=\"`65000`\" pulumi-lang-dotnet=\"`65000`\" pulumi-lang-go=\"`65000`\" pulumi-lang-python=\"`65000`\" pulumi-lang-yaml=\"`65000`\" pulumi-lang-java=\"`65000`\"\u003e`65000`\u003c/span\u003e.\n"},"resourceGroupName":{"type":"string","description":"Specifies the name of the Resource Group in which the Firewall exists. Changing this forces a new resource to be created.\n"},"rules":{"type":"array","items":{"$ref":"#/types/azure:network/FirewallNatRuleCollectionRule:FirewallNatRuleCollectionRule"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`rule`\" pulumi-lang-dotnet=\"`Rule`\" pulumi-lang-go=\"`rule`\" pulumi-lang-python=\"`rule`\" pulumi-lang-yaml=\"`rule`\" pulumi-lang-java=\"`rule`\"\u003e`rule`\u003c/span\u003e blocks as defined below.\n"}},"required":["action","azureFirewallName","name","priority","resourceGroupName","rules"],"inputProperties":{"action":{"type":"string","description":"Specifies the action the rule will apply to matching traffic. Possible values are `Dnat` and `Snat`.\n"},"azureFirewallName":{"type":"string","description":"Specifies the name of the Firewall in which the NAT Rule Collection should be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the NAT Rule Collection which must be unique within the Firewall. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"priority":{"type":"integer","description":"Specifies the priority of the rule collection. Possible values are between \u003cspan pulumi-lang-nodejs=\"`100`\" pulumi-lang-dotnet=\"`100`\" pulumi-lang-go=\"`100`\" pulumi-lang-python=\"`100`\" pulumi-lang-yaml=\"`100`\" pulumi-lang-java=\"`100`\"\u003e`100`\u003c/span\u003e - \u003cspan pulumi-lang-nodejs=\"`65000`\" pulumi-lang-dotnet=\"`65000`\" pulumi-lang-go=\"`65000`\" pulumi-lang-python=\"`65000`\" pulumi-lang-yaml=\"`65000`\" pulumi-lang-java=\"`65000`\"\u003e`65000`\u003c/span\u003e.\n"},"resourceGroupName":{"type":"string","description":"Specifies the name of the Resource Group in which the Firewall exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"rules":{"type":"array","items":{"$ref":"#/types/azure:network/FirewallNatRuleCollectionRule:FirewallNatRuleCollectionRule"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`rule`\" pulumi-lang-dotnet=\"`Rule`\" pulumi-lang-go=\"`rule`\" pulumi-lang-python=\"`rule`\" pulumi-lang-yaml=\"`rule`\" pulumi-lang-java=\"`rule`\"\u003e`rule`\u003c/span\u003e blocks as defined below.\n"}},"requiredInputs":["action","azureFirewallName","priority","resourceGroupName","rules"],"stateInputs":{"description":"Input properties used for looking up and filtering FirewallNatRuleCollection resources.\n","properties":{"action":{"type":"string","description":"Specifies the action the rule will apply to matching traffic. Possible values are `Dnat` and `Snat`.\n"},"azureFirewallName":{"type":"string","description":"Specifies the name of the Firewall in which the NAT Rule Collection should be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the NAT Rule Collection which must be unique within the Firewall. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"priority":{"type":"integer","description":"Specifies the priority of the rule collection. Possible values are between \u003cspan pulumi-lang-nodejs=\"`100`\" pulumi-lang-dotnet=\"`100`\" pulumi-lang-go=\"`100`\" pulumi-lang-python=\"`100`\" pulumi-lang-yaml=\"`100`\" pulumi-lang-java=\"`100`\"\u003e`100`\u003c/span\u003e - \u003cspan pulumi-lang-nodejs=\"`65000`\" pulumi-lang-dotnet=\"`65000`\" pulumi-lang-go=\"`65000`\" pulumi-lang-python=\"`65000`\" pulumi-lang-yaml=\"`65000`\" pulumi-lang-java=\"`65000`\"\u003e`65000`\u003c/span\u003e.\n"},"resourceGroupName":{"type":"string","description":"Specifies the name of the Resource Group in which the Firewall exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"rules":{"type":"array","items":{"$ref":"#/types/azure:network/FirewallNatRuleCollectionRule:FirewallNatRuleCollectionRule"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`rule`\" pulumi-lang-dotnet=\"`Rule`\" pulumi-lang-go=\"`rule`\" pulumi-lang-python=\"`rule`\" pulumi-lang-yaml=\"`rule`\" pulumi-lang-java=\"`rule`\"\u003e`rule`\u003c/span\u003e blocks as defined below.\n"}},"type":"object"}},"azure:network/firewallNetworkRuleCollection:FirewallNetworkRuleCollection":{"description":"Manages a Network Rule Collection within an Azure Firewall.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"example\", {\n    name: \"testvnet\",\n    addressSpaces: [\"10.0.0.0/16\"],\n    location: example.location,\n    resourceGroupName: example.name,\n});\nconst exampleSubnet = new azure.network.Subnet(\"example\", {\n    name: \"AzureFirewallSubnet\",\n    resourceGroupName: example.name,\n    virtualNetworkName: exampleVirtualNetwork.name,\n    addressPrefixes: [\"10.0.1.0/24\"],\n});\nconst examplePublicIp = new azure.network.PublicIp(\"example\", {\n    name: \"testpip\",\n    location: example.location,\n    resourceGroupName: example.name,\n    allocationMethod: \"Static\",\n    sku: \"Standard\",\n});\nconst exampleFirewall = new azure.network.Firewall(\"example\", {\n    name: \"testfirewall\",\n    location: example.location,\n    resourceGroupName: example.name,\n    skuName: \"AZFW_VNet\",\n    skuTier: \"Standard\",\n    ipConfigurations: [{\n        name: \"configuration\",\n        subnetId: exampleSubnet.id,\n        publicIpAddressId: examplePublicIp.id,\n    }],\n});\nconst exampleFirewallNetworkRuleCollection = new azure.network.FirewallNetworkRuleCollection(\"example\", {\n    name: \"testcollection\",\n    azureFirewallName: exampleFirewall.name,\n    resourceGroupName: example.name,\n    priority: 100,\n    action: \"Allow\",\n    rules: [{\n        name: \"testrule\",\n        sourceAddresses: [\"10.0.0.0/16\"],\n        destinationPorts: [\"53\"],\n        destinationAddresses: [\n            \"8.8.8.8\",\n            \"8.8.4.4\",\n        ],\n        protocols: [\n            \"TCP\",\n            \"UDP\",\n        ],\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_virtual_network = azure.network.VirtualNetwork(\"example\",\n    name=\"testvnet\",\n    address_spaces=[\"10.0.0.0/16\"],\n    location=example.location,\n    resource_group_name=example.name)\nexample_subnet = azure.network.Subnet(\"example\",\n    name=\"AzureFirewallSubnet\",\n    resource_group_name=example.name,\n    virtual_network_name=example_virtual_network.name,\n    address_prefixes=[\"10.0.1.0/24\"])\nexample_public_ip = azure.network.PublicIp(\"example\",\n    name=\"testpip\",\n    location=example.location,\n    resource_group_name=example.name,\n    allocation_method=\"Static\",\n    sku=\"Standard\")\nexample_firewall = azure.network.Firewall(\"example\",\n    name=\"testfirewall\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku_name=\"AZFW_VNet\",\n    sku_tier=\"Standard\",\n    ip_configurations=[{\n        \"name\": \"configuration\",\n        \"subnet_id\": example_subnet.id,\n        \"public_ip_address_id\": example_public_ip.id,\n    }])\nexample_firewall_network_rule_collection = azure.network.FirewallNetworkRuleCollection(\"example\",\n    name=\"testcollection\",\n    azure_firewall_name=example_firewall.name,\n    resource_group_name=example.name,\n    priority=100,\n    action=\"Allow\",\n    rules=[{\n        \"name\": \"testrule\",\n        \"source_addresses\": [\"10.0.0.0/16\"],\n        \"destination_ports\": [\"53\"],\n        \"destination_addresses\": [\n            \"8.8.8.8\",\n            \"8.8.4.4\",\n        ],\n        \"protocols\": [\n            \"TCP\",\n            \"UDP\",\n        ],\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleVirtualNetwork = new Azure.Network.VirtualNetwork(\"example\", new()\n    {\n        Name = \"testvnet\",\n        AddressSpaces = new[]\n        {\n            \"10.0.0.0/16\",\n        },\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n    });\n\n    var exampleSubnet = new Azure.Network.Subnet(\"example\", new()\n    {\n        Name = \"AzureFirewallSubnet\",\n        ResourceGroupName = example.Name,\n        VirtualNetworkName = exampleVirtualNetwork.Name,\n        AddressPrefixes = new[]\n        {\n            \"10.0.1.0/24\",\n        },\n    });\n\n    var examplePublicIp = new Azure.Network.PublicIp(\"example\", new()\n    {\n        Name = \"testpip\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        AllocationMethod = \"Static\",\n        Sku = \"Standard\",\n    });\n\n    var exampleFirewall = new Azure.Network.Firewall(\"example\", new()\n    {\n        Name = \"testfirewall\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        SkuName = \"AZFW_VNet\",\n        SkuTier = \"Standard\",\n        IpConfigurations = new[]\n        {\n            new Azure.Network.Inputs.FirewallIpConfigurationArgs\n            {\n                Name = \"configuration\",\n                SubnetId = exampleSubnet.Id,\n                PublicIpAddressId = examplePublicIp.Id,\n            },\n        },\n    });\n\n    var exampleFirewallNetworkRuleCollection = new Azure.Network.FirewallNetworkRuleCollection(\"example\", new()\n    {\n        Name = \"testcollection\",\n        AzureFirewallName = exampleFirewall.Name,\n        ResourceGroupName = example.Name,\n        Priority = 100,\n        Action = \"Allow\",\n        Rules = new[]\n        {\n            new Azure.Network.Inputs.FirewallNetworkRuleCollectionRuleArgs\n            {\n                Name = \"testrule\",\n                SourceAddresses = new[]\n                {\n                    \"10.0.0.0/16\",\n                },\n                DestinationPorts = new[]\n                {\n                    \"53\",\n                },\n                DestinationAddresses = new[]\n                {\n                    \"8.8.8.8\",\n                    \"8.8.4.4\",\n                },\n                Protocols = new[]\n                {\n                    \"TCP\",\n                    \"UDP\",\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, \"example\", \u0026network.VirtualNetworkArgs{\n\t\t\tName: pulumi.String(\"testvnet\"),\n\t\t\tAddressSpaces: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.0.0/16\"),\n\t\t\t},\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSubnet, err := network.NewSubnet(ctx, \"example\", \u0026network.SubnetArgs{\n\t\t\tName:               pulumi.String(\"AzureFirewallSubnet\"),\n\t\t\tResourceGroupName:  example.Name,\n\t\t\tVirtualNetworkName: exampleVirtualNetwork.Name,\n\t\t\tAddressPrefixes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.1.0/24\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texamplePublicIp, err := network.NewPublicIp(ctx, \"example\", \u0026network.PublicIpArgs{\n\t\t\tName:              pulumi.String(\"testpip\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tAllocationMethod:  pulumi.String(\"Static\"),\n\t\t\tSku:               pulumi.String(\"Standard\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleFirewall, err := network.NewFirewall(ctx, \"example\", \u0026network.FirewallArgs{\n\t\t\tName:              pulumi.String(\"testfirewall\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSkuName:           pulumi.String(\"AZFW_VNet\"),\n\t\t\tSkuTier:           pulumi.String(\"Standard\"),\n\t\t\tIpConfigurations: network.FirewallIpConfigurationArray{\n\t\t\t\t\u0026network.FirewallIpConfigurationArgs{\n\t\t\t\t\tName:              pulumi.String(\"configuration\"),\n\t\t\t\t\tSubnetId:          exampleSubnet.ID(),\n\t\t\t\t\tPublicIpAddressId: examplePublicIp.ID(),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = network.NewFirewallNetworkRuleCollection(ctx, \"example\", \u0026network.FirewallNetworkRuleCollectionArgs{\n\t\t\tName:              pulumi.String(\"testcollection\"),\n\t\t\tAzureFirewallName: exampleFirewall.Name,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tPriority:          pulumi.Int(100),\n\t\t\tAction:            pulumi.String(\"Allow\"),\n\t\t\tRules: network.FirewallNetworkRuleCollectionRuleArray{\n\t\t\t\t\u0026network.FirewallNetworkRuleCollectionRuleArgs{\n\t\t\t\t\tName: pulumi.String(\"testrule\"),\n\t\t\t\t\tSourceAddresses: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"10.0.0.0/16\"),\n\t\t\t\t\t},\n\t\t\t\t\tDestinationPorts: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"53\"),\n\t\t\t\t\t},\n\t\t\t\t\tDestinationAddresses: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"8.8.8.8\"),\n\t\t\t\t\t\tpulumi.String(\"8.8.4.4\"),\n\t\t\t\t\t},\n\t\t\t\t\tProtocols: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"TCP\"),\n\t\t\t\t\t\tpulumi.String(\"UDP\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.VirtualNetwork;\nimport com.pulumi.azure.network.VirtualNetworkArgs;\nimport com.pulumi.azure.network.Subnet;\nimport com.pulumi.azure.network.SubnetArgs;\nimport com.pulumi.azure.network.PublicIp;\nimport com.pulumi.azure.network.PublicIpArgs;\nimport com.pulumi.azure.network.Firewall;\nimport com.pulumi.azure.network.FirewallArgs;\nimport com.pulumi.azure.network.inputs.FirewallIpConfigurationArgs;\nimport com.pulumi.azure.network.FirewallNetworkRuleCollection;\nimport com.pulumi.azure.network.FirewallNetworkRuleCollectionArgs;\nimport com.pulumi.azure.network.inputs.FirewallNetworkRuleCollectionRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleVirtualNetwork = new VirtualNetwork(\"exampleVirtualNetwork\", VirtualNetworkArgs.builder()\n            .name(\"testvnet\")\n            .addressSpaces(\"10.0.0.0/16\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .build());\n\n        var exampleSubnet = new Subnet(\"exampleSubnet\", SubnetArgs.builder()\n            .name(\"AzureFirewallSubnet\")\n            .resourceGroupName(example.name())\n            .virtualNetworkName(exampleVirtualNetwork.name())\n            .addressPrefixes(\"10.0.1.0/24\")\n            .build());\n\n        var examplePublicIp = new PublicIp(\"examplePublicIp\", PublicIpArgs.builder()\n            .name(\"testpip\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .allocationMethod(\"Static\")\n            .sku(\"Standard\")\n            .build());\n\n        var exampleFirewall = new Firewall(\"exampleFirewall\", FirewallArgs.builder()\n            .name(\"testfirewall\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .skuName(\"AZFW_VNet\")\n            .skuTier(\"Standard\")\n            .ipConfigurations(FirewallIpConfigurationArgs.builder()\n                .name(\"configuration\")\n                .subnetId(exampleSubnet.id())\n                .publicIpAddressId(examplePublicIp.id())\n                .build())\n            .build());\n\n        var exampleFirewallNetworkRuleCollection = new FirewallNetworkRuleCollection(\"exampleFirewallNetworkRuleCollection\", FirewallNetworkRuleCollectionArgs.builder()\n            .name(\"testcollection\")\n            .azureFirewallName(exampleFirewall.name())\n            .resourceGroupName(example.name())\n            .priority(100)\n            .action(\"Allow\")\n            .rules(FirewallNetworkRuleCollectionRuleArgs.builder()\n                .name(\"testrule\")\n                .sourceAddresses(\"10.0.0.0/16\")\n                .destinationPorts(\"53\")\n                .destinationAddresses(                \n                    \"8.8.8.8\",\n                    \"8.8.4.4\")\n                .protocols(                \n                    \"TCP\",\n                    \"UDP\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleVirtualNetwork:\n    type: azure:network:VirtualNetwork\n    name: example\n    properties:\n      name: testvnet\n      addressSpaces:\n        - 10.0.0.0/16\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n  exampleSubnet:\n    type: azure:network:Subnet\n    name: example\n    properties:\n      name: AzureFirewallSubnet\n      resourceGroupName: ${example.name}\n      virtualNetworkName: ${exampleVirtualNetwork.name}\n      addressPrefixes:\n        - 10.0.1.0/24\n  examplePublicIp:\n    type: azure:network:PublicIp\n    name: example\n    properties:\n      name: testpip\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      allocationMethod: Static\n      sku: Standard\n  exampleFirewall:\n    type: azure:network:Firewall\n    name: example\n    properties:\n      name: testfirewall\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      skuName: AZFW_VNet\n      skuTier: Standard\n      ipConfigurations:\n        - name: configuration\n          subnetId: ${exampleSubnet.id}\n          publicIpAddressId: ${examplePublicIp.id}\n  exampleFirewallNetworkRuleCollection:\n    type: azure:network:FirewallNetworkRuleCollection\n    name: example\n    properties:\n      name: testcollection\n      azureFirewallName: ${exampleFirewall.name}\n      resourceGroupName: ${example.name}\n      priority: 100\n      action: Allow\n      rules:\n        - name: testrule\n          sourceAddresses:\n            - 10.0.0.0/16\n          destinationPorts:\n            - '53'\n          destinationAddresses:\n            - 8.8.8.8\n            - 8.8.4.4\n          protocols:\n            - TCP\n            - UDP\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2025-01-01\n\n## Import\n\nAzure Firewall Network Rule Collections can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:network/firewallNetworkRuleCollection:FirewallNetworkRuleCollection example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Network/azureFirewalls/myfirewall/networkRuleCollections/mycollection\n```\n\n","properties":{"action":{"type":"string","description":"Specifies the action the rule will apply to matching traffic. Possible values are `Allow` and `Deny`.\n"},"azureFirewallName":{"type":"string","description":"Specifies the name of the Firewall in which the Network Rule Collection should be created. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"Specifies the name of the Network Rule Collection which must be unique within the Firewall. Changing this forces a new resource to be created.\n"},"priority":{"type":"integer","description":"Specifies the priority of the rule collection. Possible values are between \u003cspan pulumi-lang-nodejs=\"`100`\" pulumi-lang-dotnet=\"`100`\" pulumi-lang-go=\"`100`\" pulumi-lang-python=\"`100`\" pulumi-lang-yaml=\"`100`\" pulumi-lang-java=\"`100`\"\u003e`100`\u003c/span\u003e - \u003cspan pulumi-lang-nodejs=\"`65000`\" pulumi-lang-dotnet=\"`65000`\" pulumi-lang-go=\"`65000`\" pulumi-lang-python=\"`65000`\" pulumi-lang-yaml=\"`65000`\" pulumi-lang-java=\"`65000`\"\u003e`65000`\u003c/span\u003e.\n"},"resourceGroupName":{"type":"string","description":"Specifies the name of the Resource Group in which the Firewall exists. Changing this forces a new resource to be created.\n"},"rules":{"type":"array","items":{"$ref":"#/types/azure:network/FirewallNetworkRuleCollectionRule:FirewallNetworkRuleCollectionRule"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`rule`\" pulumi-lang-dotnet=\"`Rule`\" pulumi-lang-go=\"`rule`\" pulumi-lang-python=\"`rule`\" pulumi-lang-yaml=\"`rule`\" pulumi-lang-java=\"`rule`\"\u003e`rule`\u003c/span\u003e blocks as defined below.\n"}},"required":["action","azureFirewallName","name","priority","resourceGroupName","rules"],"inputProperties":{"action":{"type":"string","description":"Specifies the action the rule will apply to matching traffic. Possible values are `Allow` and `Deny`.\n"},"azureFirewallName":{"type":"string","description":"Specifies the name of the Firewall in which the Network Rule Collection should be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the Network Rule Collection which must be unique within the Firewall. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"priority":{"type":"integer","description":"Specifies the priority of the rule collection. Possible values are between \u003cspan pulumi-lang-nodejs=\"`100`\" pulumi-lang-dotnet=\"`100`\" pulumi-lang-go=\"`100`\" pulumi-lang-python=\"`100`\" pulumi-lang-yaml=\"`100`\" pulumi-lang-java=\"`100`\"\u003e`100`\u003c/span\u003e - \u003cspan pulumi-lang-nodejs=\"`65000`\" pulumi-lang-dotnet=\"`65000`\" pulumi-lang-go=\"`65000`\" pulumi-lang-python=\"`65000`\" pulumi-lang-yaml=\"`65000`\" pulumi-lang-java=\"`65000`\"\u003e`65000`\u003c/span\u003e.\n"},"resourceGroupName":{"type":"string","description":"Specifies the name of the Resource Group in which the Firewall exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"rules":{"type":"array","items":{"$ref":"#/types/azure:network/FirewallNetworkRuleCollectionRule:FirewallNetworkRuleCollectionRule"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`rule`\" pulumi-lang-dotnet=\"`Rule`\" pulumi-lang-go=\"`rule`\" pulumi-lang-python=\"`rule`\" pulumi-lang-yaml=\"`rule`\" pulumi-lang-java=\"`rule`\"\u003e`rule`\u003c/span\u003e blocks as defined below.\n"}},"requiredInputs":["action","azureFirewallName","priority","resourceGroupName","rules"],"stateInputs":{"description":"Input properties used for looking up and filtering FirewallNetworkRuleCollection resources.\n","properties":{"action":{"type":"string","description":"Specifies the action the rule will apply to matching traffic. Possible values are `Allow` and `Deny`.\n"},"azureFirewallName":{"type":"string","description":"Specifies the name of the Firewall in which the Network Rule Collection should be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the Network Rule Collection which must be unique within the Firewall. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"priority":{"type":"integer","description":"Specifies the priority of the rule collection. Possible values are between \u003cspan pulumi-lang-nodejs=\"`100`\" pulumi-lang-dotnet=\"`100`\" pulumi-lang-go=\"`100`\" pulumi-lang-python=\"`100`\" pulumi-lang-yaml=\"`100`\" pulumi-lang-java=\"`100`\"\u003e`100`\u003c/span\u003e - \u003cspan pulumi-lang-nodejs=\"`65000`\" pulumi-lang-dotnet=\"`65000`\" pulumi-lang-go=\"`65000`\" pulumi-lang-python=\"`65000`\" pulumi-lang-yaml=\"`65000`\" pulumi-lang-java=\"`65000`\"\u003e`65000`\u003c/span\u003e.\n"},"resourceGroupName":{"type":"string","description":"Specifies the name of the Resource Group in which the Firewall exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"rules":{"type":"array","items":{"$ref":"#/types/azure:network/FirewallNetworkRuleCollectionRule:FirewallNetworkRuleCollectionRule"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`rule`\" pulumi-lang-dotnet=\"`Rule`\" pulumi-lang-go=\"`rule`\" pulumi-lang-python=\"`rule`\" pulumi-lang-yaml=\"`rule`\" pulumi-lang-java=\"`rule`\"\u003e`rule`\u003c/span\u003e blocks as defined below.\n"}},"type":"object"}},"azure:network/firewallPolicy:FirewallPolicy":{"description":"Manages a Firewall Policy.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleFirewallPolicy = new azure.network.FirewallPolicy(\"example\", {\n    name: \"example-policy\",\n    resourceGroupName: example.name,\n    location: example.location,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_firewall_policy = azure.network.FirewallPolicy(\"example\",\n    name=\"example-policy\",\n    resource_group_name=example.name,\n    location=example.location)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleFirewallPolicy = new Azure.Network.FirewallPolicy(\"example\", new()\n    {\n        Name = \"example-policy\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = network.NewFirewallPolicy(ctx, \"example\", \u0026network.FirewallPolicyArgs{\n\t\t\tName:              pulumi.String(\"example-policy\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.FirewallPolicy;\nimport com.pulumi.azure.network.FirewallPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleFirewallPolicy = new FirewallPolicy(\"exampleFirewallPolicy\", FirewallPolicyArgs.builder()\n            .name(\"example-policy\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleFirewallPolicy:\n    type: azure:network:FirewallPolicy\n    name: example\n    properties:\n      name: example-policy\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2025-01-01\n\n## Import\n\nFirewall Policies can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:network/firewallPolicy:FirewallPolicy example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Network/firewallPolicies/policy1\n```\n\n","properties":{"autoLearnPrivateRangesEnabled":{"type":"boolean","description":"Whether enable auto learn private ip range.\n"},"basePolicyId":{"type":"string","description":"The ID of the base Firewall Policy.\n"},"childPolicies":{"type":"array","items":{"type":"string"},"description":"A list of reference to child Firewall Policies of this Firewall Policy.\n"},"dns":{"$ref":"#/types/azure:network/FirewallPolicyDns:FirewallPolicyDns","description":"A \u003cspan pulumi-lang-nodejs=\"`dns`\" pulumi-lang-dotnet=\"`Dns`\" pulumi-lang-go=\"`dns`\" pulumi-lang-python=\"`dns`\" pulumi-lang-yaml=\"`dns`\" pulumi-lang-java=\"`dns`\"\u003e`dns`\u003c/span\u003e block as defined below.\n"},"explicitProxy":{"$ref":"#/types/azure:network/FirewallPolicyExplicitProxy:FirewallPolicyExplicitProxy","description":"A \u003cspan pulumi-lang-nodejs=\"`explicitProxy`\" pulumi-lang-dotnet=\"`ExplicitProxy`\" pulumi-lang-go=\"`explicitProxy`\" pulumi-lang-python=\"`explicit_proxy`\" pulumi-lang-yaml=\"`explicitProxy`\" pulumi-lang-java=\"`explicitProxy`\"\u003e`explicit_proxy`\u003c/span\u003e block as defined below.\n"},"firewalls":{"type":"array","items":{"type":"string"},"description":"A list of references to Azure Firewalls that this Firewall Policy is associated with.\n"},"identity":{"$ref":"#/types/azure:network/FirewallPolicyIdentity:FirewallPolicyIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"insights":{"$ref":"#/types/azure:network/FirewallPolicyInsights:FirewallPolicyInsights","description":"An \u003cspan pulumi-lang-nodejs=\"`insights`\" pulumi-lang-dotnet=\"`Insights`\" pulumi-lang-go=\"`insights`\" pulumi-lang-python=\"`insights`\" pulumi-lang-yaml=\"`insights`\" pulumi-lang-java=\"`insights`\"\u003e`insights`\u003c/span\u003e block as defined below.\n"},"intrusionDetection":{"$ref":"#/types/azure:network/FirewallPolicyIntrusionDetection:FirewallPolicyIntrusionDetection","description":"A \u003cspan pulumi-lang-nodejs=\"`intrusionDetection`\" pulumi-lang-dotnet=\"`IntrusionDetection`\" pulumi-lang-go=\"`intrusionDetection`\" pulumi-lang-python=\"`intrusion_detection`\" pulumi-lang-yaml=\"`intrusionDetection`\" pulumi-lang-java=\"`intrusionDetection`\"\u003e`intrusion_detection`\u003c/span\u003e block as defined below.\n"},"location":{"type":"string","description":"The Azure Region where the Firewall Policy should exist. Changing this forces a new Firewall Policy to be created.\n"},"name":{"type":"string","description":"The name which should be used for this Firewall Policy. Changing this forces a new Firewall Policy to be created.\n"},"privateIpRanges":{"type":"array","items":{"type":"string"},"description":"A list of private IP ranges to which traffic will not be SNAT.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Firewall Policy should exist. Changing this forces a new Firewall Policy to be created.\n"},"ruleCollectionGroups":{"type":"array","items":{"type":"string"},"description":"A list of references to Firewall Policy Rule Collection Groups that belongs to this Firewall Policy.\n"},"sku":{"type":"string","description":"The SKU Tier of the Firewall Policy. Possible values are `Standard`, `Premium` and `Basic`. Defaults to `Standard`. Changing this forces a new Firewall Policy to be created.\n"},"sqlRedirectAllowed":{"type":"boolean","description":"Whether SQL Redirect traffic filtering is allowed. Enabling this flag requires no rule using ports between \u003cspan pulumi-lang-nodejs=\"`11000`\" pulumi-lang-dotnet=\"`11000`\" pulumi-lang-go=\"`11000`\" pulumi-lang-python=\"`11000`\" pulumi-lang-yaml=\"`11000`\" pulumi-lang-java=\"`11000`\"\u003e`11000`\u003c/span\u003e-\u003cspan pulumi-lang-nodejs=\"`11999`\" pulumi-lang-dotnet=\"`11999`\" pulumi-lang-go=\"`11999`\" pulumi-lang-python=\"`11999`\" pulumi-lang-yaml=\"`11999`\" pulumi-lang-java=\"`11999`\"\u003e`11999`\u003c/span\u003e.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Firewall Policy.\n"},"threatIntelligenceAllowlist":{"$ref":"#/types/azure:network/FirewallPolicyThreatIntelligenceAllowlist:FirewallPolicyThreatIntelligenceAllowlist","description":"A \u003cspan pulumi-lang-nodejs=\"`threatIntelligenceAllowlist`\" pulumi-lang-dotnet=\"`ThreatIntelligenceAllowlist`\" pulumi-lang-go=\"`threatIntelligenceAllowlist`\" pulumi-lang-python=\"`threat_intelligence_allowlist`\" pulumi-lang-yaml=\"`threatIntelligenceAllowlist`\" pulumi-lang-java=\"`threatIntelligenceAllowlist`\"\u003e`threat_intelligence_allowlist`\u003c/span\u003e block as defined below.\n"},"threatIntelligenceMode":{"type":"string","description":"The operation mode for Threat Intelligence. Possible values are `Alert`, `Deny` and `Off`. Defaults to `Alert`.\n"},"tlsCertificate":{"$ref":"#/types/azure:network/FirewallPolicyTlsCertificate:FirewallPolicyTlsCertificate","description":"A \u003cspan pulumi-lang-nodejs=\"`tlsCertificate`\" pulumi-lang-dotnet=\"`TlsCertificate`\" pulumi-lang-go=\"`tlsCertificate`\" pulumi-lang-python=\"`tls_certificate`\" pulumi-lang-yaml=\"`tlsCertificate`\" pulumi-lang-java=\"`tlsCertificate`\"\u003e`tls_certificate`\u003c/span\u003e block as defined below.\n"}},"required":["childPolicies","firewalls","location","name","resourceGroupName","ruleCollectionGroups"],"inputProperties":{"autoLearnPrivateRangesEnabled":{"type":"boolean","description":"Whether enable auto learn private ip range.\n"},"basePolicyId":{"type":"string","description":"The ID of the base Firewall Policy.\n"},"dns":{"$ref":"#/types/azure:network/FirewallPolicyDns:FirewallPolicyDns","description":"A \u003cspan pulumi-lang-nodejs=\"`dns`\" pulumi-lang-dotnet=\"`Dns`\" pulumi-lang-go=\"`dns`\" pulumi-lang-python=\"`dns`\" pulumi-lang-yaml=\"`dns`\" pulumi-lang-java=\"`dns`\"\u003e`dns`\u003c/span\u003e block as defined below.\n"},"explicitProxy":{"$ref":"#/types/azure:network/FirewallPolicyExplicitProxy:FirewallPolicyExplicitProxy","description":"A \u003cspan pulumi-lang-nodejs=\"`explicitProxy`\" pulumi-lang-dotnet=\"`ExplicitProxy`\" pulumi-lang-go=\"`explicitProxy`\" pulumi-lang-python=\"`explicit_proxy`\" pulumi-lang-yaml=\"`explicitProxy`\" pulumi-lang-java=\"`explicitProxy`\"\u003e`explicit_proxy`\u003c/span\u003e block as defined below.\n"},"identity":{"$ref":"#/types/azure:network/FirewallPolicyIdentity:FirewallPolicyIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"insights":{"$ref":"#/types/azure:network/FirewallPolicyInsights:FirewallPolicyInsights","description":"An \u003cspan pulumi-lang-nodejs=\"`insights`\" pulumi-lang-dotnet=\"`Insights`\" pulumi-lang-go=\"`insights`\" pulumi-lang-python=\"`insights`\" pulumi-lang-yaml=\"`insights`\" pulumi-lang-java=\"`insights`\"\u003e`insights`\u003c/span\u003e block as defined below.\n"},"intrusionDetection":{"$ref":"#/types/azure:network/FirewallPolicyIntrusionDetection:FirewallPolicyIntrusionDetection","description":"A \u003cspan pulumi-lang-nodejs=\"`intrusionDetection`\" pulumi-lang-dotnet=\"`IntrusionDetection`\" pulumi-lang-go=\"`intrusionDetection`\" pulumi-lang-python=\"`intrusion_detection`\" pulumi-lang-yaml=\"`intrusionDetection`\" pulumi-lang-java=\"`intrusionDetection`\"\u003e`intrusion_detection`\u003c/span\u003e block as defined below.\n"},"location":{"type":"string","description":"The Azure Region where the Firewall Policy should exist. Changing this forces a new Firewall Policy to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Firewall Policy. Changing this forces a new Firewall Policy to be created.\n","willReplaceOnChanges":true},"privateIpRanges":{"type":"array","items":{"type":"string"},"description":"A list of private IP ranges to which traffic will not be SNAT.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Firewall Policy should exist. Changing this forces a new Firewall Policy to be created.\n","willReplaceOnChanges":true},"sku":{"type":"string","description":"The SKU Tier of the Firewall Policy. Possible values are `Standard`, `Premium` and `Basic`. Defaults to `Standard`. Changing this forces a new Firewall Policy to be created.\n","willReplaceOnChanges":true},"sqlRedirectAllowed":{"type":"boolean","description":"Whether SQL Redirect traffic filtering is allowed. Enabling this flag requires no rule using ports between \u003cspan pulumi-lang-nodejs=\"`11000`\" pulumi-lang-dotnet=\"`11000`\" pulumi-lang-go=\"`11000`\" pulumi-lang-python=\"`11000`\" pulumi-lang-yaml=\"`11000`\" pulumi-lang-java=\"`11000`\"\u003e`11000`\u003c/span\u003e-\u003cspan pulumi-lang-nodejs=\"`11999`\" pulumi-lang-dotnet=\"`11999`\" pulumi-lang-go=\"`11999`\" pulumi-lang-python=\"`11999`\" pulumi-lang-yaml=\"`11999`\" pulumi-lang-java=\"`11999`\"\u003e`11999`\u003c/span\u003e.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Firewall Policy.\n"},"threatIntelligenceAllowlist":{"$ref":"#/types/azure:network/FirewallPolicyThreatIntelligenceAllowlist:FirewallPolicyThreatIntelligenceAllowlist","description":"A \u003cspan pulumi-lang-nodejs=\"`threatIntelligenceAllowlist`\" pulumi-lang-dotnet=\"`ThreatIntelligenceAllowlist`\" pulumi-lang-go=\"`threatIntelligenceAllowlist`\" pulumi-lang-python=\"`threat_intelligence_allowlist`\" pulumi-lang-yaml=\"`threatIntelligenceAllowlist`\" pulumi-lang-java=\"`threatIntelligenceAllowlist`\"\u003e`threat_intelligence_allowlist`\u003c/span\u003e block as defined below.\n"},"threatIntelligenceMode":{"type":"string","description":"The operation mode for Threat Intelligence. Possible values are `Alert`, `Deny` and `Off`. Defaults to `Alert`.\n"},"tlsCertificate":{"$ref":"#/types/azure:network/FirewallPolicyTlsCertificate:FirewallPolicyTlsCertificate","description":"A \u003cspan pulumi-lang-nodejs=\"`tlsCertificate`\" pulumi-lang-dotnet=\"`TlsCertificate`\" pulumi-lang-go=\"`tlsCertificate`\" pulumi-lang-python=\"`tls_certificate`\" pulumi-lang-yaml=\"`tlsCertificate`\" pulumi-lang-java=\"`tlsCertificate`\"\u003e`tls_certificate`\u003c/span\u003e block as defined below.\n"}},"requiredInputs":["resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering FirewallPolicy resources.\n","properties":{"autoLearnPrivateRangesEnabled":{"type":"boolean","description":"Whether enable auto learn private ip range.\n"},"basePolicyId":{"type":"string","description":"The ID of the base Firewall Policy.\n"},"childPolicies":{"type":"array","items":{"type":"string"},"description":"A list of reference to child Firewall Policies of this Firewall Policy.\n"},"dns":{"$ref":"#/types/azure:network/FirewallPolicyDns:FirewallPolicyDns","description":"A \u003cspan pulumi-lang-nodejs=\"`dns`\" pulumi-lang-dotnet=\"`Dns`\" pulumi-lang-go=\"`dns`\" pulumi-lang-python=\"`dns`\" pulumi-lang-yaml=\"`dns`\" pulumi-lang-java=\"`dns`\"\u003e`dns`\u003c/span\u003e block as defined below.\n"},"explicitProxy":{"$ref":"#/types/azure:network/FirewallPolicyExplicitProxy:FirewallPolicyExplicitProxy","description":"A \u003cspan pulumi-lang-nodejs=\"`explicitProxy`\" pulumi-lang-dotnet=\"`ExplicitProxy`\" pulumi-lang-go=\"`explicitProxy`\" pulumi-lang-python=\"`explicit_proxy`\" pulumi-lang-yaml=\"`explicitProxy`\" pulumi-lang-java=\"`explicitProxy`\"\u003e`explicit_proxy`\u003c/span\u003e block as defined below.\n"},"firewalls":{"type":"array","items":{"type":"string"},"description":"A list of references to Azure Firewalls that this Firewall Policy is associated with.\n"},"identity":{"$ref":"#/types/azure:network/FirewallPolicyIdentity:FirewallPolicyIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"insights":{"$ref":"#/types/azure:network/FirewallPolicyInsights:FirewallPolicyInsights","description":"An \u003cspan pulumi-lang-nodejs=\"`insights`\" pulumi-lang-dotnet=\"`Insights`\" pulumi-lang-go=\"`insights`\" pulumi-lang-python=\"`insights`\" pulumi-lang-yaml=\"`insights`\" pulumi-lang-java=\"`insights`\"\u003e`insights`\u003c/span\u003e block as defined below.\n"},"intrusionDetection":{"$ref":"#/types/azure:network/FirewallPolicyIntrusionDetection:FirewallPolicyIntrusionDetection","description":"A \u003cspan pulumi-lang-nodejs=\"`intrusionDetection`\" pulumi-lang-dotnet=\"`IntrusionDetection`\" pulumi-lang-go=\"`intrusionDetection`\" pulumi-lang-python=\"`intrusion_detection`\" pulumi-lang-yaml=\"`intrusionDetection`\" pulumi-lang-java=\"`intrusionDetection`\"\u003e`intrusion_detection`\u003c/span\u003e block as defined below.\n"},"location":{"type":"string","description":"The Azure Region where the Firewall Policy should exist. Changing this forces a new Firewall Policy to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Firewall Policy. Changing this forces a new Firewall Policy to be created.\n","willReplaceOnChanges":true},"privateIpRanges":{"type":"array","items":{"type":"string"},"description":"A list of private IP ranges to which traffic will not be SNAT.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Firewall Policy should exist. Changing this forces a new Firewall Policy to be created.\n","willReplaceOnChanges":true},"ruleCollectionGroups":{"type":"array","items":{"type":"string"},"description":"A list of references to Firewall Policy Rule Collection Groups that belongs to this Firewall Policy.\n"},"sku":{"type":"string","description":"The SKU Tier of the Firewall Policy. Possible values are `Standard`, `Premium` and `Basic`. Defaults to `Standard`. Changing this forces a new Firewall Policy to be created.\n","willReplaceOnChanges":true},"sqlRedirectAllowed":{"type":"boolean","description":"Whether SQL Redirect traffic filtering is allowed. Enabling this flag requires no rule using ports between \u003cspan pulumi-lang-nodejs=\"`11000`\" pulumi-lang-dotnet=\"`11000`\" pulumi-lang-go=\"`11000`\" pulumi-lang-python=\"`11000`\" pulumi-lang-yaml=\"`11000`\" pulumi-lang-java=\"`11000`\"\u003e`11000`\u003c/span\u003e-\u003cspan pulumi-lang-nodejs=\"`11999`\" pulumi-lang-dotnet=\"`11999`\" pulumi-lang-go=\"`11999`\" pulumi-lang-python=\"`11999`\" pulumi-lang-yaml=\"`11999`\" pulumi-lang-java=\"`11999`\"\u003e`11999`\u003c/span\u003e.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Firewall Policy.\n"},"threatIntelligenceAllowlist":{"$ref":"#/types/azure:network/FirewallPolicyThreatIntelligenceAllowlist:FirewallPolicyThreatIntelligenceAllowlist","description":"A \u003cspan pulumi-lang-nodejs=\"`threatIntelligenceAllowlist`\" pulumi-lang-dotnet=\"`ThreatIntelligenceAllowlist`\" pulumi-lang-go=\"`threatIntelligenceAllowlist`\" pulumi-lang-python=\"`threat_intelligence_allowlist`\" pulumi-lang-yaml=\"`threatIntelligenceAllowlist`\" pulumi-lang-java=\"`threatIntelligenceAllowlist`\"\u003e`threat_intelligence_allowlist`\u003c/span\u003e block as defined below.\n"},"threatIntelligenceMode":{"type":"string","description":"The operation mode for Threat Intelligence. Possible values are `Alert`, `Deny` and `Off`. Defaults to `Alert`.\n"},"tlsCertificate":{"$ref":"#/types/azure:network/FirewallPolicyTlsCertificate:FirewallPolicyTlsCertificate","description":"A \u003cspan pulumi-lang-nodejs=\"`tlsCertificate`\" pulumi-lang-dotnet=\"`TlsCertificate`\" pulumi-lang-go=\"`tlsCertificate`\" pulumi-lang-python=\"`tls_certificate`\" pulumi-lang-yaml=\"`tlsCertificate`\" pulumi-lang-java=\"`tlsCertificate`\"\u003e`tls_certificate`\u003c/span\u003e block as defined below.\n"}},"type":"object"}},"azure:network/firewallPolicyRuleCollectionGroup:FirewallPolicyRuleCollectionGroup":{"description":"Manages a Firewall Policy Rule Collection Group.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleFirewallPolicy = new azure.network.FirewallPolicy(\"example\", {\n    name: \"example-fwpolicy\",\n    resourceGroupName: example.name,\n    location: example.location,\n});\nconst exampleFirewallPolicyRuleCollectionGroup = new azure.network.FirewallPolicyRuleCollectionGroup(\"example\", {\n    name: \"example-fwpolicy-rcg\",\n    firewallPolicyId: exampleFirewallPolicy.id,\n    priority: 500,\n    applicationRuleCollections: [{\n        name: \"app_rule_collection1\",\n        priority: 500,\n        action: \"Deny\",\n        rules: [{\n            name: \"app_rule_collection1_rule1\",\n            protocols: [\n                {\n                    type: \"Http\",\n                    port: 80,\n                },\n                {\n                    type: \"Https\",\n                    port: 443,\n                },\n            ],\n            sourceAddresses: [\"10.0.0.1\"],\n            destinationFqdns: [\"*.microsoft.com\"],\n        }],\n    }],\n    networkRuleCollections: [{\n        name: \"network_rule_collection1\",\n        priority: 400,\n        action: \"Deny\",\n        rules: [{\n            name: \"network_rule_collection1_rule1\",\n            protocols: [\n                \"TCP\",\n                \"UDP\",\n            ],\n            sourceAddresses: [\"10.0.0.1\"],\n            destinationAddresses: [\n                \"192.168.1.1\",\n                \"192.168.1.2\",\n            ],\n            destinationPorts: [\n                \"80\",\n                \"1000-2000\",\n            ],\n        }],\n    }],\n    natRuleCollections: [{\n        name: \"nat_rule_collection1\",\n        priority: 300,\n        action: \"Dnat\",\n        rules: [{\n            name: \"nat_rule_collection1_rule1\",\n            protocols: [\n                \"TCP\",\n                \"UDP\",\n            ],\n            sourceAddresses: [\n                \"10.0.0.1\",\n                \"10.0.0.2\",\n            ],\n            destinationAddress: \"192.168.1.1\",\n            destinationPorts: \"80\",\n            translatedAddress: \"192.168.0.1\",\n            translatedPort: 8080,\n        }],\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_firewall_policy = azure.network.FirewallPolicy(\"example\",\n    name=\"example-fwpolicy\",\n    resource_group_name=example.name,\n    location=example.location)\nexample_firewall_policy_rule_collection_group = azure.network.FirewallPolicyRuleCollectionGroup(\"example\",\n    name=\"example-fwpolicy-rcg\",\n    firewall_policy_id=example_firewall_policy.id,\n    priority=500,\n    application_rule_collections=[{\n        \"name\": \"app_rule_collection1\",\n        \"priority\": 500,\n        \"action\": \"Deny\",\n        \"rules\": [{\n            \"name\": \"app_rule_collection1_rule1\",\n            \"protocols\": [\n                {\n                    \"type\": \"Http\",\n                    \"port\": 80,\n                },\n                {\n                    \"type\": \"Https\",\n                    \"port\": 443,\n                },\n            ],\n            \"source_addresses\": [\"10.0.0.1\"],\n            \"destination_fqdns\": [\"*.microsoft.com\"],\n        }],\n    }],\n    network_rule_collections=[{\n        \"name\": \"network_rule_collection1\",\n        \"priority\": 400,\n        \"action\": \"Deny\",\n        \"rules\": [{\n            \"name\": \"network_rule_collection1_rule1\",\n            \"protocols\": [\n                \"TCP\",\n                \"UDP\",\n            ],\n            \"source_addresses\": [\"10.0.0.1\"],\n            \"destination_addresses\": [\n                \"192.168.1.1\",\n                \"192.168.1.2\",\n            ],\n            \"destination_ports\": [\n                \"80\",\n                \"1000-2000\",\n            ],\n        }],\n    }],\n    nat_rule_collections=[{\n        \"name\": \"nat_rule_collection1\",\n        \"priority\": 300,\n        \"action\": \"Dnat\",\n        \"rules\": [{\n            \"name\": \"nat_rule_collection1_rule1\",\n            \"protocols\": [\n                \"TCP\",\n                \"UDP\",\n            ],\n            \"source_addresses\": [\n                \"10.0.0.1\",\n                \"10.0.0.2\",\n            ],\n            \"destination_address\": \"192.168.1.1\",\n            \"destination_ports\": \"80\",\n            \"translated_address\": \"192.168.0.1\",\n            \"translated_port\": 8080,\n        }],\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleFirewallPolicy = new Azure.Network.FirewallPolicy(\"example\", new()\n    {\n        Name = \"example-fwpolicy\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n    });\n\n    var exampleFirewallPolicyRuleCollectionGroup = new Azure.Network.FirewallPolicyRuleCollectionGroup(\"example\", new()\n    {\n        Name = \"example-fwpolicy-rcg\",\n        FirewallPolicyId = exampleFirewallPolicy.Id,\n        Priority = 500,\n        ApplicationRuleCollections = new[]\n        {\n            new Azure.Network.Inputs.FirewallPolicyRuleCollectionGroupApplicationRuleCollectionArgs\n            {\n                Name = \"app_rule_collection1\",\n                Priority = 500,\n                Action = \"Deny\",\n                Rules = new[]\n                {\n                    new Azure.Network.Inputs.FirewallPolicyRuleCollectionGroupApplicationRuleCollectionRuleArgs\n                    {\n                        Name = \"app_rule_collection1_rule1\",\n                        Protocols = new[]\n                        {\n                            new Azure.Network.Inputs.FirewallPolicyRuleCollectionGroupApplicationRuleCollectionRuleProtocolArgs\n                            {\n                                Type = \"Http\",\n                                Port = 80,\n                            },\n                            new Azure.Network.Inputs.FirewallPolicyRuleCollectionGroupApplicationRuleCollectionRuleProtocolArgs\n                            {\n                                Type = \"Https\",\n                                Port = 443,\n                            },\n                        },\n                        SourceAddresses = new[]\n                        {\n                            \"10.0.0.1\",\n                        },\n                        DestinationFqdns = new[]\n                        {\n                            \"*.microsoft.com\",\n                        },\n                    },\n                },\n            },\n        },\n        NetworkRuleCollections = new[]\n        {\n            new Azure.Network.Inputs.FirewallPolicyRuleCollectionGroupNetworkRuleCollectionArgs\n            {\n                Name = \"network_rule_collection1\",\n                Priority = 400,\n                Action = \"Deny\",\n                Rules = new[]\n                {\n                    new Azure.Network.Inputs.FirewallPolicyRuleCollectionGroupNetworkRuleCollectionRuleArgs\n                    {\n                        Name = \"network_rule_collection1_rule1\",\n                        Protocols = new[]\n                        {\n                            \"TCP\",\n                            \"UDP\",\n                        },\n                        SourceAddresses = new[]\n                        {\n                            \"10.0.0.1\",\n                        },\n                        DestinationAddresses = new[]\n                        {\n                            \"192.168.1.1\",\n                            \"192.168.1.2\",\n                        },\n                        DestinationPorts = new[]\n                        {\n                            \"80\",\n                            \"1000-2000\",\n                        },\n                    },\n                },\n            },\n        },\n        NatRuleCollections = new[]\n        {\n            new Azure.Network.Inputs.FirewallPolicyRuleCollectionGroupNatRuleCollectionArgs\n            {\n                Name = \"nat_rule_collection1\",\n                Priority = 300,\n                Action = \"Dnat\",\n                Rules = new[]\n                {\n                    new Azure.Network.Inputs.FirewallPolicyRuleCollectionGroupNatRuleCollectionRuleArgs\n                    {\n                        Name = \"nat_rule_collection1_rule1\",\n                        Protocols = new[]\n                        {\n                            \"TCP\",\n                            \"UDP\",\n                        },\n                        SourceAddresses = new[]\n                        {\n                            \"10.0.0.1\",\n                            \"10.0.0.2\",\n                        },\n                        DestinationAddress = \"192.168.1.1\",\n                        DestinationPorts = \"80\",\n                        TranslatedAddress = \"192.168.0.1\",\n                        TranslatedPort = 8080,\n                    },\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleFirewallPolicy, err := network.NewFirewallPolicy(ctx, \"example\", \u0026network.FirewallPolicyArgs{\n\t\t\tName:              pulumi.String(\"example-fwpolicy\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = network.NewFirewallPolicyRuleCollectionGroup(ctx, \"example\", \u0026network.FirewallPolicyRuleCollectionGroupArgs{\n\t\t\tName:             pulumi.String(\"example-fwpolicy-rcg\"),\n\t\t\tFirewallPolicyId: exampleFirewallPolicy.ID(),\n\t\t\tPriority:         pulumi.Int(500),\n\t\t\tApplicationRuleCollections: network.FirewallPolicyRuleCollectionGroupApplicationRuleCollectionArray{\n\t\t\t\t\u0026network.FirewallPolicyRuleCollectionGroupApplicationRuleCollectionArgs{\n\t\t\t\t\tName:     pulumi.String(\"app_rule_collection1\"),\n\t\t\t\t\tPriority: pulumi.Int(500),\n\t\t\t\t\tAction:   pulumi.String(\"Deny\"),\n\t\t\t\t\tRules: network.FirewallPolicyRuleCollectionGroupApplicationRuleCollectionRuleArray{\n\t\t\t\t\t\t\u0026network.FirewallPolicyRuleCollectionGroupApplicationRuleCollectionRuleArgs{\n\t\t\t\t\t\t\tName: pulumi.String(\"app_rule_collection1_rule1\"),\n\t\t\t\t\t\t\tProtocols: network.FirewallPolicyRuleCollectionGroupApplicationRuleCollectionRuleProtocolArray{\n\t\t\t\t\t\t\t\t\u0026network.FirewallPolicyRuleCollectionGroupApplicationRuleCollectionRuleProtocolArgs{\n\t\t\t\t\t\t\t\t\tType: pulumi.String(\"Http\"),\n\t\t\t\t\t\t\t\t\tPort: pulumi.Int(80),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\u0026network.FirewallPolicyRuleCollectionGroupApplicationRuleCollectionRuleProtocolArgs{\n\t\t\t\t\t\t\t\t\tType: pulumi.String(\"Https\"),\n\t\t\t\t\t\t\t\t\tPort: pulumi.Int(443),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tSourceAddresses: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"10.0.0.1\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tDestinationFqdns: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"*.microsoft.com\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tNetworkRuleCollections: network.FirewallPolicyRuleCollectionGroupNetworkRuleCollectionArray{\n\t\t\t\t\u0026network.FirewallPolicyRuleCollectionGroupNetworkRuleCollectionArgs{\n\t\t\t\t\tName:     pulumi.String(\"network_rule_collection1\"),\n\t\t\t\t\tPriority: pulumi.Int(400),\n\t\t\t\t\tAction:   pulumi.String(\"Deny\"),\n\t\t\t\t\tRules: network.FirewallPolicyRuleCollectionGroupNetworkRuleCollectionRuleArray{\n\t\t\t\t\t\t\u0026network.FirewallPolicyRuleCollectionGroupNetworkRuleCollectionRuleArgs{\n\t\t\t\t\t\t\tName: pulumi.String(\"network_rule_collection1_rule1\"),\n\t\t\t\t\t\t\tProtocols: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"TCP\"),\n\t\t\t\t\t\t\t\tpulumi.String(\"UDP\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tSourceAddresses: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"10.0.0.1\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tDestinationAddresses: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"192.168.1.1\"),\n\t\t\t\t\t\t\t\tpulumi.String(\"192.168.1.2\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tDestinationPorts: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"80\"),\n\t\t\t\t\t\t\t\tpulumi.String(\"1000-2000\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tNatRuleCollections: network.FirewallPolicyRuleCollectionGroupNatRuleCollectionArray{\n\t\t\t\t\u0026network.FirewallPolicyRuleCollectionGroupNatRuleCollectionArgs{\n\t\t\t\t\tName:     pulumi.String(\"nat_rule_collection1\"),\n\t\t\t\t\tPriority: pulumi.Int(300),\n\t\t\t\t\tAction:   pulumi.String(\"Dnat\"),\n\t\t\t\t\tRules: network.FirewallPolicyRuleCollectionGroupNatRuleCollectionRuleArray{\n\t\t\t\t\t\t\u0026network.FirewallPolicyRuleCollectionGroupNatRuleCollectionRuleArgs{\n\t\t\t\t\t\t\tName: pulumi.String(\"nat_rule_collection1_rule1\"),\n\t\t\t\t\t\t\tProtocols: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"TCP\"),\n\t\t\t\t\t\t\t\tpulumi.String(\"UDP\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tSourceAddresses: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"10.0.0.1\"),\n\t\t\t\t\t\t\t\tpulumi.String(\"10.0.0.2\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tDestinationAddress: pulumi.String(\"192.168.1.1\"),\n\t\t\t\t\t\t\tDestinationPorts:   pulumi.String(\"80\"),\n\t\t\t\t\t\t\tTranslatedAddress:  pulumi.String(\"192.168.0.1\"),\n\t\t\t\t\t\t\tTranslatedPort:     pulumi.Int(8080),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.FirewallPolicy;\nimport com.pulumi.azure.network.FirewallPolicyArgs;\nimport com.pulumi.azure.network.FirewallPolicyRuleCollectionGroup;\nimport com.pulumi.azure.network.FirewallPolicyRuleCollectionGroupArgs;\nimport com.pulumi.azure.network.inputs.FirewallPolicyRuleCollectionGroupApplicationRuleCollectionArgs;\nimport com.pulumi.azure.network.inputs.FirewallPolicyRuleCollectionGroupNetworkRuleCollectionArgs;\nimport com.pulumi.azure.network.inputs.FirewallPolicyRuleCollectionGroupNatRuleCollectionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleFirewallPolicy = new FirewallPolicy(\"exampleFirewallPolicy\", FirewallPolicyArgs.builder()\n            .name(\"example-fwpolicy\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .build());\n\n        var exampleFirewallPolicyRuleCollectionGroup = new FirewallPolicyRuleCollectionGroup(\"exampleFirewallPolicyRuleCollectionGroup\", FirewallPolicyRuleCollectionGroupArgs.builder()\n            .name(\"example-fwpolicy-rcg\")\n            .firewallPolicyId(exampleFirewallPolicy.id())\n            .priority(500)\n            .applicationRuleCollections(FirewallPolicyRuleCollectionGroupApplicationRuleCollectionArgs.builder()\n                .name(\"app_rule_collection1\")\n                .priority(500)\n                .action(\"Deny\")\n                .rules(FirewallPolicyRuleCollectionGroupApplicationRuleCollectionRuleArgs.builder()\n                    .name(\"app_rule_collection1_rule1\")\n                    .protocols(                    \n                        FirewallPolicyRuleCollectionGroupApplicationRuleCollectionRuleProtocolArgs.builder()\n                            .type(\"Http\")\n                            .port(80)\n                            .build(),\n                        FirewallPolicyRuleCollectionGroupApplicationRuleCollectionRuleProtocolArgs.builder()\n                            .type(\"Https\")\n                            .port(443)\n                            .build())\n                    .sourceAddresses(\"10.0.0.1\")\n                    .destinationFqdns(\"*.microsoft.com\")\n                    .build())\n                .build())\n            .networkRuleCollections(FirewallPolicyRuleCollectionGroupNetworkRuleCollectionArgs.builder()\n                .name(\"network_rule_collection1\")\n                .priority(400)\n                .action(\"Deny\")\n                .rules(FirewallPolicyRuleCollectionGroupNetworkRuleCollectionRuleArgs.builder()\n                    .name(\"network_rule_collection1_rule1\")\n                    .protocols(                    \n                        \"TCP\",\n                        \"UDP\")\n                    .sourceAddresses(\"10.0.0.1\")\n                    .destinationAddresses(                    \n                        \"192.168.1.1\",\n                        \"192.168.1.2\")\n                    .destinationPorts(                    \n                        \"80\",\n                        \"1000-2000\")\n                    .build())\n                .build())\n            .natRuleCollections(FirewallPolicyRuleCollectionGroupNatRuleCollectionArgs.builder()\n                .name(\"nat_rule_collection1\")\n                .priority(300)\n                .action(\"Dnat\")\n                .rules(FirewallPolicyRuleCollectionGroupNatRuleCollectionRuleArgs.builder()\n                    .name(\"nat_rule_collection1_rule1\")\n                    .protocols(                    \n                        \"TCP\",\n                        \"UDP\")\n                    .sourceAddresses(                    \n                        \"10.0.0.1\",\n                        \"10.0.0.2\")\n                    .destinationAddress(\"192.168.1.1\")\n                    .destinationPorts(\"80\")\n                    .translatedAddress(\"192.168.0.1\")\n                    .translatedPort(8080)\n                    .build())\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleFirewallPolicy:\n    type: azure:network:FirewallPolicy\n    name: example\n    properties:\n      name: example-fwpolicy\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n  exampleFirewallPolicyRuleCollectionGroup:\n    type: azure:network:FirewallPolicyRuleCollectionGroup\n    name: example\n    properties:\n      name: example-fwpolicy-rcg\n      firewallPolicyId: ${exampleFirewallPolicy.id}\n      priority: 500\n      applicationRuleCollections:\n        - name: app_rule_collection1\n          priority: 500\n          action: Deny\n          rules:\n            - name: app_rule_collection1_rule1\n              protocols:\n                - type: Http\n                  port: 80\n                - type: Https\n                  port: 443\n              sourceAddresses:\n                - 10.0.0.1\n              destinationFqdns:\n                - '*.microsoft.com'\n      networkRuleCollections:\n        - name: network_rule_collection1\n          priority: 400\n          action: Deny\n          rules:\n            - name: network_rule_collection1_rule1\n              protocols:\n                - TCP\n                - UDP\n              sourceAddresses:\n                - 10.0.0.1\n              destinationAddresses:\n                - 192.168.1.1\n                - 192.168.1.2\n              destinationPorts:\n                - '80'\n                - 1000-2000\n      natRuleCollections:\n        - name: nat_rule_collection1\n          priority: 300\n          action: Dnat\n          rules:\n            - name: nat_rule_collection1_rule1\n              protocols:\n                - TCP\n                - UDP\n              sourceAddresses:\n                - 10.0.0.1\n                - 10.0.0.2\n              destinationAddress: 192.168.1.1\n              destinationPorts: '80'\n              translatedAddress: 192.168.0.1\n              translatedPort: '8080'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2025-01-01\n\n## Import\n\nFirewall Policy Rule Collection Groups can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:network/firewallPolicyRuleCollectionGroup:FirewallPolicyRuleCollectionGroup example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Network/firewallPolicies/policy1/ruleCollectionGroups/gruop1\n```\n\n","properties":{"applicationRuleCollections":{"type":"array","items":{"$ref":"#/types/azure:network/FirewallPolicyRuleCollectionGroupApplicationRuleCollection:FirewallPolicyRuleCollectionGroupApplicationRuleCollection"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`applicationRuleCollection`\" pulumi-lang-dotnet=\"`ApplicationRuleCollection`\" pulumi-lang-go=\"`applicationRuleCollection`\" pulumi-lang-python=\"`application_rule_collection`\" pulumi-lang-yaml=\"`applicationRuleCollection`\" pulumi-lang-java=\"`applicationRuleCollection`\"\u003e`application_rule_collection`\u003c/span\u003e blocks as defined below.\n"},"firewallPolicyId":{"type":"string","description":"The ID of the Firewall Policy where the Firewall Policy Rule Collection Group should exist. Changing this forces a new Firewall Policy Rule Collection Group to be created.\n"},"name":{"type":"string","description":"The name which should be used for this Firewall Policy Rule Collection Group. Changing this forces a new Firewall Policy Rule Collection Group to be created.\n"},"natRuleCollections":{"type":"array","items":{"$ref":"#/types/azure:network/FirewallPolicyRuleCollectionGroupNatRuleCollection:FirewallPolicyRuleCollectionGroupNatRuleCollection"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`natRuleCollection`\" pulumi-lang-dotnet=\"`NatRuleCollection`\" pulumi-lang-go=\"`natRuleCollection`\" pulumi-lang-python=\"`nat_rule_collection`\" pulumi-lang-yaml=\"`natRuleCollection`\" pulumi-lang-java=\"`natRuleCollection`\"\u003e`nat_rule_collection`\u003c/span\u003e blocks as defined below.\n"},"networkRuleCollections":{"type":"array","items":{"$ref":"#/types/azure:network/FirewallPolicyRuleCollectionGroupNetworkRuleCollection:FirewallPolicyRuleCollectionGroupNetworkRuleCollection"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`networkRuleCollection`\" pulumi-lang-dotnet=\"`NetworkRuleCollection`\" pulumi-lang-go=\"`networkRuleCollection`\" pulumi-lang-python=\"`network_rule_collection`\" pulumi-lang-yaml=\"`networkRuleCollection`\" pulumi-lang-java=\"`networkRuleCollection`\"\u003e`network_rule_collection`\u003c/span\u003e blocks as defined below.\n"},"priority":{"type":"integer","description":"The priority of the Firewall Policy Rule Collection Group. The range is 100-65000.\n"}},"required":["firewallPolicyId","name","priority"],"inputProperties":{"applicationRuleCollections":{"type":"array","items":{"$ref":"#/types/azure:network/FirewallPolicyRuleCollectionGroupApplicationRuleCollection:FirewallPolicyRuleCollectionGroupApplicationRuleCollection"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`applicationRuleCollection`\" pulumi-lang-dotnet=\"`ApplicationRuleCollection`\" pulumi-lang-go=\"`applicationRuleCollection`\" pulumi-lang-python=\"`application_rule_collection`\" pulumi-lang-yaml=\"`applicationRuleCollection`\" pulumi-lang-java=\"`applicationRuleCollection`\"\u003e`application_rule_collection`\u003c/span\u003e blocks as defined below.\n"},"firewallPolicyId":{"type":"string","description":"The ID of the Firewall Policy where the Firewall Policy Rule Collection Group should exist. Changing this forces a new Firewall Policy Rule Collection Group to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Firewall Policy Rule Collection Group. Changing this forces a new Firewall Policy Rule Collection Group to be created.\n","willReplaceOnChanges":true},"natRuleCollections":{"type":"array","items":{"$ref":"#/types/azure:network/FirewallPolicyRuleCollectionGroupNatRuleCollection:FirewallPolicyRuleCollectionGroupNatRuleCollection"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`natRuleCollection`\" pulumi-lang-dotnet=\"`NatRuleCollection`\" pulumi-lang-go=\"`natRuleCollection`\" pulumi-lang-python=\"`nat_rule_collection`\" pulumi-lang-yaml=\"`natRuleCollection`\" pulumi-lang-java=\"`natRuleCollection`\"\u003e`nat_rule_collection`\u003c/span\u003e blocks as defined below.\n"},"networkRuleCollections":{"type":"array","items":{"$ref":"#/types/azure:network/FirewallPolicyRuleCollectionGroupNetworkRuleCollection:FirewallPolicyRuleCollectionGroupNetworkRuleCollection"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`networkRuleCollection`\" pulumi-lang-dotnet=\"`NetworkRuleCollection`\" pulumi-lang-go=\"`networkRuleCollection`\" pulumi-lang-python=\"`network_rule_collection`\" pulumi-lang-yaml=\"`networkRuleCollection`\" pulumi-lang-java=\"`networkRuleCollection`\"\u003e`network_rule_collection`\u003c/span\u003e blocks as defined below.\n"},"priority":{"type":"integer","description":"The priority of the Firewall Policy Rule Collection Group. The range is 100-65000.\n"}},"requiredInputs":["firewallPolicyId","priority"],"stateInputs":{"description":"Input properties used for looking up and filtering FirewallPolicyRuleCollectionGroup resources.\n","properties":{"applicationRuleCollections":{"type":"array","items":{"$ref":"#/types/azure:network/FirewallPolicyRuleCollectionGroupApplicationRuleCollection:FirewallPolicyRuleCollectionGroupApplicationRuleCollection"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`applicationRuleCollection`\" pulumi-lang-dotnet=\"`ApplicationRuleCollection`\" pulumi-lang-go=\"`applicationRuleCollection`\" pulumi-lang-python=\"`application_rule_collection`\" pulumi-lang-yaml=\"`applicationRuleCollection`\" pulumi-lang-java=\"`applicationRuleCollection`\"\u003e`application_rule_collection`\u003c/span\u003e blocks as defined below.\n"},"firewallPolicyId":{"type":"string","description":"The ID of the Firewall Policy where the Firewall Policy Rule Collection Group should exist. Changing this forces a new Firewall Policy Rule Collection Group to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Firewall Policy Rule Collection Group. Changing this forces a new Firewall Policy Rule Collection Group to be created.\n","willReplaceOnChanges":true},"natRuleCollections":{"type":"array","items":{"$ref":"#/types/azure:network/FirewallPolicyRuleCollectionGroupNatRuleCollection:FirewallPolicyRuleCollectionGroupNatRuleCollection"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`natRuleCollection`\" pulumi-lang-dotnet=\"`NatRuleCollection`\" pulumi-lang-go=\"`natRuleCollection`\" pulumi-lang-python=\"`nat_rule_collection`\" pulumi-lang-yaml=\"`natRuleCollection`\" pulumi-lang-java=\"`natRuleCollection`\"\u003e`nat_rule_collection`\u003c/span\u003e blocks as defined below.\n"},"networkRuleCollections":{"type":"array","items":{"$ref":"#/types/azure:network/FirewallPolicyRuleCollectionGroupNetworkRuleCollection:FirewallPolicyRuleCollectionGroupNetworkRuleCollection"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`networkRuleCollection`\" pulumi-lang-dotnet=\"`NetworkRuleCollection`\" pulumi-lang-go=\"`networkRuleCollection`\" pulumi-lang-python=\"`network_rule_collection`\" pulumi-lang-yaml=\"`networkRuleCollection`\" pulumi-lang-java=\"`networkRuleCollection`\"\u003e`network_rule_collection`\u003c/span\u003e blocks as defined below.\n"},"priority":{"type":"integer","description":"The priority of the Firewall Policy Rule Collection Group. The range is 100-65000.\n"}},"type":"object"}},"azure:network/iPGroup:IPGroup":{"description":"Manages an IP group that contains a list of CIDRs and/or IP addresses.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-rg\",\n    location: \"West Europe\",\n});\nconst exampleIPGroup = new azure.network.IPGroup(\"example\", {\n    name: \"example1-ipgroup\",\n    location: example.location,\n    resourceGroupName: example.name,\n    cidrs: [\n        \"192.168.0.1\",\n        \"172.16.240.0/20\",\n        \"10.48.0.0/12\",\n    ],\n    tags: {\n        environment: \"Production\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-rg\",\n    location=\"West Europe\")\nexample_ip_group = azure.network.IPGroup(\"example\",\n    name=\"example1-ipgroup\",\n    location=example.location,\n    resource_group_name=example.name,\n    cidrs=[\n        \"192.168.0.1\",\n        \"172.16.240.0/20\",\n        \"10.48.0.0/12\",\n    ],\n    tags={\n        \"environment\": \"Production\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-rg\",\n        Location = \"West Europe\",\n    });\n\n    var exampleIPGroup = new Azure.Network.IPGroup(\"example\", new()\n    {\n        Name = \"example1-ipgroup\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Cidrs = new[]\n        {\n            \"192.168.0.1\",\n            \"172.16.240.0/20\",\n            \"10.48.0.0/12\",\n        },\n        Tags = \n        {\n            { \"environment\", \"Production\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-rg\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = network.NewIPGroup(ctx, \"example\", \u0026network.IPGroupArgs{\n\t\t\tName:              pulumi.String(\"example1-ipgroup\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tCidrs: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"192.168.0.1\"),\n\t\t\t\tpulumi.String(\"172.16.240.0/20\"),\n\t\t\t\tpulumi.String(\"10.48.0.0/12\"),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"environment\": pulumi.String(\"Production\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.IPGroup;\nimport com.pulumi.azure.network.IPGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-rg\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleIPGroup = new IPGroup(\"exampleIPGroup\", IPGroupArgs.builder()\n            .name(\"example1-ipgroup\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .cidrs(            \n                \"192.168.0.1\",\n                \"172.16.240.0/20\",\n                \"10.48.0.0/12\")\n            .tags(Map.of(\"environment\", \"Production\"))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-rg\n      location: West Europe\n  exampleIPGroup:\n    type: azure:network:IPGroup\n    name: example\n    properties:\n      name: example1-ipgroup\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      cidrs:\n        - 192.168.0.1\n        - 172.16.240.0/20\n        - 10.48.0.0/12\n      tags:\n        environment: Production\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2025-01-01\n\n## Import\n\nIP Groups can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:network/iPGroup:IPGroup ipgroup1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Network/ipGroups/myIpGroup\n```\n\n","properties":{"cidrs":{"type":"array","items":{"type":"string"},"description":"A list of CIDRs or IP addresses.\n\n\u003e **Note:** The AzureRM Terraform provider provides cidr support via the standalone resource\u003cspan pulumi-lang-nodejs=\" azure.network.IPGroupCIDR \" pulumi-lang-dotnet=\" azure.network.IPGroupCIDR \" pulumi-lang-go=\" network.IPGroupCIDR \" pulumi-lang-python=\" network.IPGroupCIDR \" pulumi-lang-yaml=\" azure.network.IPGroupCIDR \" pulumi-lang-java=\" azure.network.IPGroupCIDR \"\u003e azure.network.IPGroupCIDR \u003c/span\u003eand in-line within this resource using the \u003cspan pulumi-lang-nodejs=\"`cidrs`\" pulumi-lang-dotnet=\"`Cidrs`\" pulumi-lang-go=\"`cidrs`\" pulumi-lang-python=\"`cidrs`\" pulumi-lang-yaml=\"`cidrs`\" pulumi-lang-java=\"`cidrs`\"\u003e`cidrs`\u003c/span\u003e property. You cannot use both methods simultaneously. If cidrs are set via the resource \u003cspan pulumi-lang-nodejs=\"`azure.network.IPGroupCIDR`\" pulumi-lang-dotnet=\"`azure.network.IPGroupCIDR`\" pulumi-lang-go=\"`network.IPGroupCIDR`\" pulumi-lang-python=\"`network.IPGroupCIDR`\" pulumi-lang-yaml=\"`azure.network.IPGroupCIDR`\" pulumi-lang-java=\"`azure.network.IPGroupCIDR`\"\u003e`azure.network.IPGroupCIDR`\u003c/span\u003e then \u003cspan pulumi-lang-nodejs=\"`ignoreChanges`\" pulumi-lang-dotnet=\"`IgnoreChanges`\" pulumi-lang-go=\"`ignoreChanges`\" pulumi-lang-python=\"`ignore_changes`\" pulumi-lang-yaml=\"`ignoreChanges`\" pulumi-lang-java=\"`ignoreChanges`\"\u003e`ignore_changes`\u003c/span\u003e should be used in the ip group configuration.\n"},"firewallIds":{"type":"array","items":{"type":"string"},"description":"A list of ID of Firewall.\n"},"firewallPolicyIds":{"type":"array","items":{"type":"string"},"description":"A list of ID of Firewall Policy`.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"Specifies the name of the IP group. Changing this forces a new resource to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the IP group. Changing this forces a new resource to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"required":["firewallIds","firewallPolicyIds","location","name","resourceGroupName"],"inputProperties":{"cidrs":{"type":"array","items":{"type":"string"},"description":"A list of CIDRs or IP addresses.\n\n\u003e **Note:** The AzureRM Terraform provider provides cidr support via the standalone resource\u003cspan pulumi-lang-nodejs=\" azure.network.IPGroupCIDR \" pulumi-lang-dotnet=\" azure.network.IPGroupCIDR \" pulumi-lang-go=\" network.IPGroupCIDR \" pulumi-lang-python=\" network.IPGroupCIDR \" pulumi-lang-yaml=\" azure.network.IPGroupCIDR \" pulumi-lang-java=\" azure.network.IPGroupCIDR \"\u003e azure.network.IPGroupCIDR \u003c/span\u003eand in-line within this resource using the \u003cspan pulumi-lang-nodejs=\"`cidrs`\" pulumi-lang-dotnet=\"`Cidrs`\" pulumi-lang-go=\"`cidrs`\" pulumi-lang-python=\"`cidrs`\" pulumi-lang-yaml=\"`cidrs`\" pulumi-lang-java=\"`cidrs`\"\u003e`cidrs`\u003c/span\u003e property. You cannot use both methods simultaneously. If cidrs are set via the resource \u003cspan pulumi-lang-nodejs=\"`azure.network.IPGroupCIDR`\" pulumi-lang-dotnet=\"`azure.network.IPGroupCIDR`\" pulumi-lang-go=\"`network.IPGroupCIDR`\" pulumi-lang-python=\"`network.IPGroupCIDR`\" pulumi-lang-yaml=\"`azure.network.IPGroupCIDR`\" pulumi-lang-java=\"`azure.network.IPGroupCIDR`\"\u003e`azure.network.IPGroupCIDR`\u003c/span\u003e then \u003cspan pulumi-lang-nodejs=\"`ignoreChanges`\" pulumi-lang-dotnet=\"`IgnoreChanges`\" pulumi-lang-go=\"`ignoreChanges`\" pulumi-lang-python=\"`ignore_changes`\" pulumi-lang-yaml=\"`ignoreChanges`\" pulumi-lang-java=\"`ignoreChanges`\"\u003e`ignore_changes`\u003c/span\u003e should be used in the ip group configuration.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the IP group. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the IP group. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"requiredInputs":["resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering IPGroup resources.\n","properties":{"cidrs":{"type":"array","items":{"type":"string"},"description":"A list of CIDRs or IP addresses.\n\n\u003e **Note:** The AzureRM Terraform provider provides cidr support via the standalone resource\u003cspan pulumi-lang-nodejs=\" azure.network.IPGroupCIDR \" pulumi-lang-dotnet=\" azure.network.IPGroupCIDR \" pulumi-lang-go=\" network.IPGroupCIDR \" pulumi-lang-python=\" network.IPGroupCIDR \" pulumi-lang-yaml=\" azure.network.IPGroupCIDR \" pulumi-lang-java=\" azure.network.IPGroupCIDR \"\u003e azure.network.IPGroupCIDR \u003c/span\u003eand in-line within this resource using the \u003cspan pulumi-lang-nodejs=\"`cidrs`\" pulumi-lang-dotnet=\"`Cidrs`\" pulumi-lang-go=\"`cidrs`\" pulumi-lang-python=\"`cidrs`\" pulumi-lang-yaml=\"`cidrs`\" pulumi-lang-java=\"`cidrs`\"\u003e`cidrs`\u003c/span\u003e property. You cannot use both methods simultaneously. If cidrs are set via the resource \u003cspan pulumi-lang-nodejs=\"`azure.network.IPGroupCIDR`\" pulumi-lang-dotnet=\"`azure.network.IPGroupCIDR`\" pulumi-lang-go=\"`network.IPGroupCIDR`\" pulumi-lang-python=\"`network.IPGroupCIDR`\" pulumi-lang-yaml=\"`azure.network.IPGroupCIDR`\" pulumi-lang-java=\"`azure.network.IPGroupCIDR`\"\u003e`azure.network.IPGroupCIDR`\u003c/span\u003e then \u003cspan pulumi-lang-nodejs=\"`ignoreChanges`\" pulumi-lang-dotnet=\"`IgnoreChanges`\" pulumi-lang-go=\"`ignoreChanges`\" pulumi-lang-python=\"`ignore_changes`\" pulumi-lang-yaml=\"`ignoreChanges`\" pulumi-lang-java=\"`ignoreChanges`\"\u003e`ignore_changes`\u003c/span\u003e should be used in the ip group configuration.\n"},"firewallIds":{"type":"array","items":{"type":"string"},"description":"A list of ID of Firewall.\n"},"firewallPolicyIds":{"type":"array","items":{"type":"string"},"description":"A list of ID of Firewall Policy`.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the IP group. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the IP group. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"type":"object"}},"azure:network/iPGroupCIDR:IPGroupCIDR":{"description":"Manages IP Group CIDR records.\n\n\u003e **Note:** Warning Do not use this resource at the same time as the \u003cspan pulumi-lang-nodejs=\"`cidrs`\" pulumi-lang-dotnet=\"`Cidrs`\" pulumi-lang-go=\"`cidrs`\" pulumi-lang-python=\"`cidrs`\" pulumi-lang-yaml=\"`cidrs`\" pulumi-lang-java=\"`cidrs`\"\u003e`cidrs`\u003c/span\u003e property of the\n\u003cspan pulumi-lang-nodejs=\"`azure.network.IPGroup`\" pulumi-lang-dotnet=\"`azure.network.IPGroup`\" pulumi-lang-go=\"`network.IPGroup`\" pulumi-lang-python=\"`network.IPGroup`\" pulumi-lang-yaml=\"`azure.network.IPGroup`\" pulumi-lang-java=\"`azure.network.IPGroup`\"\u003e`azure.network.IPGroup`\u003c/span\u003e resource for the same IP Group. Doing so will cause a conflict and\nCIDRS will be removed.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"test-rg\",\n    location: \"West Europe\",\n});\nconst exampleIPGroup = new azure.network.IPGroup(\"example\", {\n    name: \"test-ipgroup\",\n    location: example.location,\n    resourceGroupName: example.name,\n});\nconst exampleIPGroupCIDR = new azure.network.IPGroupCIDR(\"example\", {\n    ipGroupId: exampleIPGroup.id,\n    cidr: \"10.10.10.0/24\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"test-rg\",\n    location=\"West Europe\")\nexample_ip_group = azure.network.IPGroup(\"example\",\n    name=\"test-ipgroup\",\n    location=example.location,\n    resource_group_name=example.name)\nexample_ip_group_cidr = azure.network.IPGroupCIDR(\"example\",\n    ip_group_id=example_ip_group.id,\n    cidr=\"10.10.10.0/24\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"test-rg\",\n        Location = \"West Europe\",\n    });\n\n    var exampleIPGroup = new Azure.Network.IPGroup(\"example\", new()\n    {\n        Name = \"test-ipgroup\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n    });\n\n    var exampleIPGroupCIDR = new Azure.Network.IPGroupCIDR(\"example\", new()\n    {\n        IpGroupId = exampleIPGroup.Id,\n        Cidr = \"10.10.10.0/24\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"test-rg\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleIPGroup, err := network.NewIPGroup(ctx, \"example\", \u0026network.IPGroupArgs{\n\t\t\tName:              pulumi.String(\"test-ipgroup\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = network.NewIPGroupCIDR(ctx, \"example\", \u0026network.IPGroupCIDRArgs{\n\t\t\tIpGroupId: exampleIPGroup.ID(),\n\t\t\tCidr:      pulumi.String(\"10.10.10.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.IPGroup;\nimport com.pulumi.azure.network.IPGroupArgs;\nimport com.pulumi.azure.network.IPGroupCIDR;\nimport com.pulumi.azure.network.IPGroupCIDRArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"test-rg\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleIPGroup = new IPGroup(\"exampleIPGroup\", IPGroupArgs.builder()\n            .name(\"test-ipgroup\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .build());\n\n        var exampleIPGroupCIDR = new IPGroupCIDR(\"exampleIPGroupCIDR\", IPGroupCIDRArgs.builder()\n            .ipGroupId(exampleIPGroup.id())\n            .cidr(\"10.10.10.0/24\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: test-rg\n      location: West Europe\n  exampleIPGroup:\n    type: azure:network:IPGroup\n    name: example\n    properties:\n      name: test-ipgroup\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n  exampleIPGroupCIDR:\n    type: azure:network:IPGroupCIDR\n    name: example\n    properties:\n      ipGroupId: ${exampleIPGroup.id}\n      cidr: 10.10.10.0/24\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2025-01-01\n\n## Import\n\nIP Group CIDRs can be imported using the `resource id` of the IP Group and\nthe CIDR value (`/` characters have to be replaced by `_`), e.g.\n\n```sh\n$ pulumi import azure:network/iPGroupCIDR:IPGroupCIDR example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.Network/ipGroups/test-ipgroup/cidrs/10.1.0.0_24\n```\n\n","properties":{"cidr":{"type":"string","description":"The `CIDR` that should be added to the IP Group.\nChanging this forces a new IP Group CIDR to be created.\n\n\u003e **Note:** The AzureRM Terraform provider provides cidr support via this standalone resource and in-line within\u003cspan pulumi-lang-nodejs=\" azure.network.IPGroup \" pulumi-lang-dotnet=\" azure.network.IPGroup \" pulumi-lang-go=\" network.IPGroup \" pulumi-lang-python=\" network.IPGroup \" pulumi-lang-yaml=\" azure.network.IPGroup \" pulumi-lang-java=\" azure.network.IPGroup \"\u003e azure.network.IPGroup \u003c/span\u003eusing the \u003cspan pulumi-lang-nodejs=\"`cidrs`\" pulumi-lang-dotnet=\"`Cidrs`\" pulumi-lang-go=\"`cidrs`\" pulumi-lang-python=\"`cidrs`\" pulumi-lang-yaml=\"`cidrs`\" pulumi-lang-java=\"`cidrs`\"\u003e`cidrs`\u003c/span\u003e property. You cannot use both methods simultaneously. If cidrs are set via this resource then \u003cspan pulumi-lang-nodejs=\"`ignoreChanges`\" pulumi-lang-dotnet=\"`IgnoreChanges`\" pulumi-lang-go=\"`ignoreChanges`\" pulumi-lang-python=\"`ignore_changes`\" pulumi-lang-yaml=\"`ignoreChanges`\" pulumi-lang-java=\"`ignoreChanges`\"\u003e`ignore_changes`\u003c/span\u003e should be used in the resource \u003cspan pulumi-lang-nodejs=\"`azure.network.IPGroupCIDR`\" pulumi-lang-dotnet=\"`azure.network.IPGroupCIDR`\" pulumi-lang-go=\"`network.IPGroupCIDR`\" pulumi-lang-python=\"`network.IPGroupCIDR`\" pulumi-lang-yaml=\"`azure.network.IPGroupCIDR`\" pulumi-lang-java=\"`azure.network.IPGroupCIDR`\"\u003e`azure.network.IPGroupCIDR`\u003c/span\u003e configuration.\n"},"ipGroupId":{"type":"string","description":"The ID of the destination IP Group.\nChanging this forces a new IP Group CIDR to be created.\n"}},"required":["cidr","ipGroupId"],"inputProperties":{"cidr":{"type":"string","description":"The `CIDR` that should be added to the IP Group.\nChanging this forces a new IP Group CIDR to be created.\n\n\u003e **Note:** The AzureRM Terraform provider provides cidr support via this standalone resource and in-line within\u003cspan pulumi-lang-nodejs=\" azure.network.IPGroup \" pulumi-lang-dotnet=\" azure.network.IPGroup \" pulumi-lang-go=\" network.IPGroup \" pulumi-lang-python=\" network.IPGroup \" pulumi-lang-yaml=\" azure.network.IPGroup \" pulumi-lang-java=\" azure.network.IPGroup \"\u003e azure.network.IPGroup \u003c/span\u003eusing the \u003cspan pulumi-lang-nodejs=\"`cidrs`\" pulumi-lang-dotnet=\"`Cidrs`\" pulumi-lang-go=\"`cidrs`\" pulumi-lang-python=\"`cidrs`\" pulumi-lang-yaml=\"`cidrs`\" pulumi-lang-java=\"`cidrs`\"\u003e`cidrs`\u003c/span\u003e property. You cannot use both methods simultaneously. If cidrs are set via this resource then \u003cspan pulumi-lang-nodejs=\"`ignoreChanges`\" pulumi-lang-dotnet=\"`IgnoreChanges`\" pulumi-lang-go=\"`ignoreChanges`\" pulumi-lang-python=\"`ignore_changes`\" pulumi-lang-yaml=\"`ignoreChanges`\" pulumi-lang-java=\"`ignoreChanges`\"\u003e`ignore_changes`\u003c/span\u003e should be used in the resource \u003cspan pulumi-lang-nodejs=\"`azure.network.IPGroupCIDR`\" pulumi-lang-dotnet=\"`azure.network.IPGroupCIDR`\" pulumi-lang-go=\"`network.IPGroupCIDR`\" pulumi-lang-python=\"`network.IPGroupCIDR`\" pulumi-lang-yaml=\"`azure.network.IPGroupCIDR`\" pulumi-lang-java=\"`azure.network.IPGroupCIDR`\"\u003e`azure.network.IPGroupCIDR`\u003c/span\u003e configuration.\n","willReplaceOnChanges":true},"ipGroupId":{"type":"string","description":"The ID of the destination IP Group.\nChanging this forces a new IP Group CIDR to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["cidr","ipGroupId"],"stateInputs":{"description":"Input properties used for looking up and filtering IPGroupCIDR resources.\n","properties":{"cidr":{"type":"string","description":"The `CIDR` that should be added to the IP Group.\nChanging this forces a new IP Group CIDR to be created.\n\n\u003e **Note:** The AzureRM Terraform provider provides cidr support via this standalone resource and in-line within\u003cspan pulumi-lang-nodejs=\" azure.network.IPGroup \" pulumi-lang-dotnet=\" azure.network.IPGroup \" pulumi-lang-go=\" network.IPGroup \" pulumi-lang-python=\" network.IPGroup \" pulumi-lang-yaml=\" azure.network.IPGroup \" pulumi-lang-java=\" azure.network.IPGroup \"\u003e azure.network.IPGroup \u003c/span\u003eusing the \u003cspan pulumi-lang-nodejs=\"`cidrs`\" pulumi-lang-dotnet=\"`Cidrs`\" pulumi-lang-go=\"`cidrs`\" pulumi-lang-python=\"`cidrs`\" pulumi-lang-yaml=\"`cidrs`\" pulumi-lang-java=\"`cidrs`\"\u003e`cidrs`\u003c/span\u003e property. You cannot use both methods simultaneously. If cidrs are set via this resource then \u003cspan pulumi-lang-nodejs=\"`ignoreChanges`\" pulumi-lang-dotnet=\"`IgnoreChanges`\" pulumi-lang-go=\"`ignoreChanges`\" pulumi-lang-python=\"`ignore_changes`\" pulumi-lang-yaml=\"`ignoreChanges`\" pulumi-lang-java=\"`ignoreChanges`\"\u003e`ignore_changes`\u003c/span\u003e should be used in the resource \u003cspan pulumi-lang-nodejs=\"`azure.network.IPGroupCIDR`\" pulumi-lang-dotnet=\"`azure.network.IPGroupCIDR`\" pulumi-lang-go=\"`network.IPGroupCIDR`\" pulumi-lang-python=\"`network.IPGroupCIDR`\" pulumi-lang-yaml=\"`azure.network.IPGroupCIDR`\" pulumi-lang-java=\"`azure.network.IPGroupCIDR`\"\u003e`azure.network.IPGroupCIDR`\u003c/span\u003e configuration.\n","willReplaceOnChanges":true},"ipGroupId":{"type":"string","description":"The ID of the destination IP Group.\nChanging this forces a new IP Group CIDR to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:network/localNetworkGateway:LocalNetworkGateway":{"description":"Manages a local network gateway connection over which specific connections can be configured.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"localNetworkGWTest\",\n    location: \"West Europe\",\n});\nconst home = new azure.network.LocalNetworkGateway(\"home\", {\n    name: \"backHome\",\n    resourceGroupName: example.name,\n    location: example.location,\n    gatewayAddress: \"12.13.14.15\",\n    addressSpaces: [\"10.0.0.0/16\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"localNetworkGWTest\",\n    location=\"West Europe\")\nhome = azure.network.LocalNetworkGateway(\"home\",\n    name=\"backHome\",\n    resource_group_name=example.name,\n    location=example.location,\n    gateway_address=\"12.13.14.15\",\n    address_spaces=[\"10.0.0.0/16\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"localNetworkGWTest\",\n        Location = \"West Europe\",\n    });\n\n    var home = new Azure.Network.LocalNetworkGateway(\"home\", new()\n    {\n        Name = \"backHome\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        GatewayAddress = \"12.13.14.15\",\n        AddressSpaces = new[]\n        {\n            \"10.0.0.0/16\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"localNetworkGWTest\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = network.NewLocalNetworkGateway(ctx, \"home\", \u0026network.LocalNetworkGatewayArgs{\n\t\t\tName:              pulumi.String(\"backHome\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tGatewayAddress:    pulumi.String(\"12.13.14.15\"),\n\t\t\tAddressSpaces: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.0.0/16\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.LocalNetworkGateway;\nimport com.pulumi.azure.network.LocalNetworkGatewayArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"localNetworkGWTest\")\n            .location(\"West Europe\")\n            .build());\n\n        var home = new LocalNetworkGateway(\"home\", LocalNetworkGatewayArgs.builder()\n            .name(\"backHome\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .gatewayAddress(\"12.13.14.15\")\n            .addressSpaces(\"10.0.0.0/16\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: localNetworkGWTest\n      location: West Europe\n  home:\n    type: azure:network:LocalNetworkGateway\n    properties:\n      name: backHome\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      gatewayAddress: 12.13.14.15\n      addressSpaces:\n        - 10.0.0.0/16\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2025-01-01\n\n## Import\n\nLocal Network Gateways can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:network/localNetworkGateway:LocalNetworkGateway lng1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Network/localNetworkGateways/lng1\n```\n\n","properties":{"addressSpaces":{"type":"array","items":{"type":"string"},"description":"The list of string CIDRs representing the address spaces the gateway exposes.\n"},"bgpSettings":{"$ref":"#/types/azure:network/LocalNetworkGatewayBgpSettings:LocalNetworkGatewayBgpSettings","description":"A \u003cspan pulumi-lang-nodejs=\"`bgpSettings`\" pulumi-lang-dotnet=\"`BgpSettings`\" pulumi-lang-go=\"`bgpSettings`\" pulumi-lang-python=\"`bgp_settings`\" pulumi-lang-yaml=\"`bgpSettings`\" pulumi-lang-java=\"`bgpSettings`\"\u003e`bgp_settings`\u003c/span\u003e block as defined below containing the Local Network Gateway's BGP speaker settings.\n"},"gatewayAddress":{"type":"string","description":"The gateway IP address to connect with.\n"},"gatewayFqdn":{"type":"string","description":"The gateway FQDN to connect with.\n\n\u003e **Note:** Either \u003cspan pulumi-lang-nodejs=\"`gatewayAddress`\" pulumi-lang-dotnet=\"`GatewayAddress`\" pulumi-lang-go=\"`gatewayAddress`\" pulumi-lang-python=\"`gateway_address`\" pulumi-lang-yaml=\"`gatewayAddress`\" pulumi-lang-java=\"`gatewayAddress`\"\u003e`gateway_address`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`gatewayFqdn`\" pulumi-lang-dotnet=\"`GatewayFqdn`\" pulumi-lang-go=\"`gatewayFqdn`\" pulumi-lang-python=\"`gateway_fqdn`\" pulumi-lang-yaml=\"`gatewayFqdn`\" pulumi-lang-java=\"`gatewayFqdn`\"\u003e`gateway_fqdn`\u003c/span\u003e should be specified.\n"},"location":{"type":"string","description":"The location/region where the local network gateway is created. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"The name of the local network gateway. Changing this forces a new resource to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the local network gateway. Changing this forces a new resource to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"required":["location","name","resourceGroupName"],"inputProperties":{"addressSpaces":{"type":"array","items":{"type":"string"},"description":"The list of string CIDRs representing the address spaces the gateway exposes.\n"},"bgpSettings":{"$ref":"#/types/azure:network/LocalNetworkGatewayBgpSettings:LocalNetworkGatewayBgpSettings","description":"A \u003cspan pulumi-lang-nodejs=\"`bgpSettings`\" pulumi-lang-dotnet=\"`BgpSettings`\" pulumi-lang-go=\"`bgpSettings`\" pulumi-lang-python=\"`bgp_settings`\" pulumi-lang-yaml=\"`bgpSettings`\" pulumi-lang-java=\"`bgpSettings`\"\u003e`bgp_settings`\u003c/span\u003e block as defined below containing the Local Network Gateway's BGP speaker settings.\n"},"gatewayAddress":{"type":"string","description":"The gateway IP address to connect with.\n"},"gatewayFqdn":{"type":"string","description":"The gateway FQDN to connect with.\n\n\u003e **Note:** Either \u003cspan pulumi-lang-nodejs=\"`gatewayAddress`\" pulumi-lang-dotnet=\"`GatewayAddress`\" pulumi-lang-go=\"`gatewayAddress`\" pulumi-lang-python=\"`gateway_address`\" pulumi-lang-yaml=\"`gatewayAddress`\" pulumi-lang-java=\"`gatewayAddress`\"\u003e`gateway_address`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`gatewayFqdn`\" pulumi-lang-dotnet=\"`GatewayFqdn`\" pulumi-lang-go=\"`gatewayFqdn`\" pulumi-lang-python=\"`gateway_fqdn`\" pulumi-lang-yaml=\"`gatewayFqdn`\" pulumi-lang-java=\"`gatewayFqdn`\"\u003e`gateway_fqdn`\u003c/span\u003e should be specified.\n"},"location":{"type":"string","description":"The location/region where the local network gateway is created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the local network gateway. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the local network gateway. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"requiredInputs":["resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering LocalNetworkGateway resources.\n","properties":{"addressSpaces":{"type":"array","items":{"type":"string"},"description":"The list of string CIDRs representing the address spaces the gateway exposes.\n"},"bgpSettings":{"$ref":"#/types/azure:network/LocalNetworkGatewayBgpSettings:LocalNetworkGatewayBgpSettings","description":"A \u003cspan pulumi-lang-nodejs=\"`bgpSettings`\" pulumi-lang-dotnet=\"`BgpSettings`\" pulumi-lang-go=\"`bgpSettings`\" pulumi-lang-python=\"`bgp_settings`\" pulumi-lang-yaml=\"`bgpSettings`\" pulumi-lang-java=\"`bgpSettings`\"\u003e`bgp_settings`\u003c/span\u003e block as defined below containing the Local Network Gateway's BGP speaker settings.\n"},"gatewayAddress":{"type":"string","description":"The gateway IP address to connect with.\n"},"gatewayFqdn":{"type":"string","description":"The gateway FQDN to connect with.\n\n\u003e **Note:** Either \u003cspan pulumi-lang-nodejs=\"`gatewayAddress`\" pulumi-lang-dotnet=\"`GatewayAddress`\" pulumi-lang-go=\"`gatewayAddress`\" pulumi-lang-python=\"`gateway_address`\" pulumi-lang-yaml=\"`gatewayAddress`\" pulumi-lang-java=\"`gatewayAddress`\"\u003e`gateway_address`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`gatewayFqdn`\" pulumi-lang-dotnet=\"`GatewayFqdn`\" pulumi-lang-go=\"`gatewayFqdn`\" pulumi-lang-python=\"`gateway_fqdn`\" pulumi-lang-yaml=\"`gatewayFqdn`\" pulumi-lang-java=\"`gatewayFqdn`\"\u003e`gateway_fqdn`\u003c/span\u003e should be specified.\n"},"location":{"type":"string","description":"The location/region where the local network gateway is created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the local network gateway. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the local network gateway. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"type":"object"}},"azure:network/natGateway:NatGateway":{"description":"Manages an Azure NAT Gateway.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"nat-gateway-example-rg\",\n    location: \"West Europe\",\n});\nconst exampleNatGateway = new azure.network.NatGateway(\"example\", {\n    name: \"nat-gateway\",\n    location: example.location,\n    resourceGroupName: example.name,\n    skuName: \"Standard\",\n    idleTimeoutInMinutes: 10,\n    zones: [\"1\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"nat-gateway-example-rg\",\n    location=\"West Europe\")\nexample_nat_gateway = azure.network.NatGateway(\"example\",\n    name=\"nat-gateway\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku_name=\"Standard\",\n    idle_timeout_in_minutes=10,\n    zones=[\"1\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"nat-gateway-example-rg\",\n        Location = \"West Europe\",\n    });\n\n    var exampleNatGateway = new Azure.Network.NatGateway(\"example\", new()\n    {\n        Name = \"nat-gateway\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        SkuName = \"Standard\",\n        IdleTimeoutInMinutes = 10,\n        Zones = new[]\n        {\n            \"1\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"nat-gateway-example-rg\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = network.NewNatGateway(ctx, \"example\", \u0026network.NatGatewayArgs{\n\t\t\tName:                 pulumi.String(\"nat-gateway\"),\n\t\t\tLocation:             example.Location,\n\t\t\tResourceGroupName:    example.Name,\n\t\t\tSkuName:              pulumi.String(\"Standard\"),\n\t\t\tIdleTimeoutInMinutes: pulumi.Int(10),\n\t\t\tZones: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"1\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.NatGateway;\nimport com.pulumi.azure.network.NatGatewayArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"nat-gateway-example-rg\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleNatGateway = new NatGateway(\"exampleNatGateway\", NatGatewayArgs.builder()\n            .name(\"nat-gateway\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .skuName(\"Standard\")\n            .idleTimeoutInMinutes(10)\n            .zones(\"1\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: nat-gateway-example-rg\n      location: West Europe\n  exampleNatGateway:\n    type: azure:network:NatGateway\n    name: example\n    properties:\n      name: nat-gateway\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      skuName: Standard\n      idleTimeoutInMinutes: 10\n      zones:\n        - '1'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nFor more complete examples, please see the\u003cspan pulumi-lang-nodejs=\" azure.network.NatGatewayPublicIpAssociation \" pulumi-lang-dotnet=\" azure.network.NatGatewayPublicIpAssociation \" pulumi-lang-go=\" network.NatGatewayPublicIpAssociation \" pulumi-lang-python=\" network.NatGatewayPublicIpAssociation \" pulumi-lang-yaml=\" azure.network.NatGatewayPublicIpAssociation \" pulumi-lang-java=\" azure.network.NatGatewayPublicIpAssociation \"\u003e azure.network.NatGatewayPublicIpAssociation \u003c/span\u003eand\u003cspan pulumi-lang-nodejs=\" azure.network.NatGatewayPublicIpPrefixAssociation \" pulumi-lang-dotnet=\" azure.network.NatGatewayPublicIpPrefixAssociation \" pulumi-lang-go=\" network.NatGatewayPublicIpPrefixAssociation \" pulumi-lang-python=\" network.NatGatewayPublicIpPrefixAssociation \" pulumi-lang-yaml=\" azure.network.NatGatewayPublicIpPrefixAssociation \" pulumi-lang-java=\" azure.network.NatGatewayPublicIpPrefixAssociation \"\u003e azure.network.NatGatewayPublicIpPrefixAssociation \u003c/span\u003eresources.\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2025-01-01\n\n## Import\n\nNAT Gateway can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:network/natGateway:NatGateway test /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Network/natGateways/gateway1\n```\n\n","properties":{"idleTimeoutInMinutes":{"type":"integer","description":"The idle timeout which should be used in minutes. Defaults to \u003cspan pulumi-lang-nodejs=\"`4`\" pulumi-lang-dotnet=\"`4`\" pulumi-lang-go=\"`4`\" pulumi-lang-python=\"`4`\" pulumi-lang-yaml=\"`4`\" pulumi-lang-java=\"`4`\"\u003e`4`\u003c/span\u003e.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the NAT Gateway should exist. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"Specifies the name of the NAT Gateway. Changing this forces a new resource to be created.\n"},"resourceGroupName":{"type":"string","description":"Specifies the name of the Resource Group in which the NAT Gateway should exist. Changing this forces a new resource to be created.\n"},"resourceGuid":{"type":"string","description":"The resource GUID property of the NAT Gateway.\n"},"skuName":{"type":"string","description":"The SKU which should be used. At this time the only supported value is `Standard`. Defaults to `Standard`.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"zones":{"type":"array","items":{"type":"string"},"description":"A list of Availability Zones in which this NAT Gateway should be located. Changing this forces a new NAT Gateway to be created.\n\n\u003e **Note:** Only one Availability Zone can be defined. For more information, please check out the [Azure documentation](https://learn.microsoft.com/en-us/azure/nat-gateway/nat-overview#availability-zones)\n"}},"required":["location","name","resourceGroupName","resourceGuid"],"inputProperties":{"idleTimeoutInMinutes":{"type":"integer","description":"The idle timeout which should be used in minutes. Defaults to \u003cspan pulumi-lang-nodejs=\"`4`\" pulumi-lang-dotnet=\"`4`\" pulumi-lang-go=\"`4`\" pulumi-lang-python=\"`4`\" pulumi-lang-yaml=\"`4`\" pulumi-lang-java=\"`4`\"\u003e`4`\u003c/span\u003e.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the NAT Gateway should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the NAT Gateway. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"Specifies the name of the Resource Group in which the NAT Gateway should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"skuName":{"type":"string","description":"The SKU which should be used. At this time the only supported value is `Standard`. Defaults to `Standard`.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"zones":{"type":"array","items":{"type":"string"},"description":"A list of Availability Zones in which this NAT Gateway should be located. Changing this forces a new NAT Gateway to be created.\n\n\u003e **Note:** Only one Availability Zone can be defined. For more information, please check out the [Azure documentation](https://learn.microsoft.com/en-us/azure/nat-gateway/nat-overview#availability-zones)\n","willReplaceOnChanges":true}},"requiredInputs":["resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering NatGateway resources.\n","properties":{"idleTimeoutInMinutes":{"type":"integer","description":"The idle timeout which should be used in minutes. Defaults to \u003cspan pulumi-lang-nodejs=\"`4`\" pulumi-lang-dotnet=\"`4`\" pulumi-lang-go=\"`4`\" pulumi-lang-python=\"`4`\" pulumi-lang-yaml=\"`4`\" pulumi-lang-java=\"`4`\"\u003e`4`\u003c/span\u003e.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the NAT Gateway should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the NAT Gateway. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"Specifies the name of the Resource Group in which the NAT Gateway should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGuid":{"type":"string","description":"The resource GUID property of the NAT Gateway.\n"},"skuName":{"type":"string","description":"The SKU which should be used. At this time the only supported value is `Standard`. Defaults to `Standard`.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"zones":{"type":"array","items":{"type":"string"},"description":"A list of Availability Zones in which this NAT Gateway should be located. Changing this forces a new NAT Gateway to be created.\n\n\u003e **Note:** Only one Availability Zone can be defined. For more information, please check out the [Azure documentation](https://learn.microsoft.com/en-us/azure/nat-gateway/nat-overview#availability-zones)\n","willReplaceOnChanges":true}},"type":"object"}},"azure:network/natGatewayPublicIpAssociation:NatGatewayPublicIpAssociation":{"description":"Manages the association between a NAT Gateway and a Public IP.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst examplePublicIp = new azure.network.PublicIp(\"example\", {\n    name: \"example-PIP\",\n    location: example.location,\n    resourceGroupName: example.name,\n    allocationMethod: \"Static\",\n    sku: \"Standard\",\n});\nconst exampleNatGateway = new azure.network.NatGateway(\"example\", {\n    name: \"example-NatGateway\",\n    location: example.location,\n    resourceGroupName: example.name,\n    skuName: \"Standard\",\n});\nconst exampleNatGatewayPublicIpAssociation = new azure.network.NatGatewayPublicIpAssociation(\"example\", {\n    natGatewayId: exampleNatGateway.id,\n    publicIpAddressId: examplePublicIp.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_public_ip = azure.network.PublicIp(\"example\",\n    name=\"example-PIP\",\n    location=example.location,\n    resource_group_name=example.name,\n    allocation_method=\"Static\",\n    sku=\"Standard\")\nexample_nat_gateway = azure.network.NatGateway(\"example\",\n    name=\"example-NatGateway\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku_name=\"Standard\")\nexample_nat_gateway_public_ip_association = azure.network.NatGatewayPublicIpAssociation(\"example\",\n    nat_gateway_id=example_nat_gateway.id,\n    public_ip_address_id=example_public_ip.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var examplePublicIp = new Azure.Network.PublicIp(\"example\", new()\n    {\n        Name = \"example-PIP\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        AllocationMethod = \"Static\",\n        Sku = \"Standard\",\n    });\n\n    var exampleNatGateway = new Azure.Network.NatGateway(\"example\", new()\n    {\n        Name = \"example-NatGateway\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        SkuName = \"Standard\",\n    });\n\n    var exampleNatGatewayPublicIpAssociation = new Azure.Network.NatGatewayPublicIpAssociation(\"example\", new()\n    {\n        NatGatewayId = exampleNatGateway.Id,\n        PublicIpAddressId = examplePublicIp.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texamplePublicIp, err := network.NewPublicIp(ctx, \"example\", \u0026network.PublicIpArgs{\n\t\t\tName:              pulumi.String(\"example-PIP\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tAllocationMethod:  pulumi.String(\"Static\"),\n\t\t\tSku:               pulumi.String(\"Standard\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNatGateway, err := network.NewNatGateway(ctx, \"example\", \u0026network.NatGatewayArgs{\n\t\t\tName:              pulumi.String(\"example-NatGateway\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSkuName:           pulumi.String(\"Standard\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = network.NewNatGatewayPublicIpAssociation(ctx, \"example\", \u0026network.NatGatewayPublicIpAssociationArgs{\n\t\t\tNatGatewayId:      exampleNatGateway.ID(),\n\t\t\tPublicIpAddressId: examplePublicIp.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.PublicIp;\nimport com.pulumi.azure.network.PublicIpArgs;\nimport com.pulumi.azure.network.NatGateway;\nimport com.pulumi.azure.network.NatGatewayArgs;\nimport com.pulumi.azure.network.NatGatewayPublicIpAssociation;\nimport com.pulumi.azure.network.NatGatewayPublicIpAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var examplePublicIp = new PublicIp(\"examplePublicIp\", PublicIpArgs.builder()\n            .name(\"example-PIP\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .allocationMethod(\"Static\")\n            .sku(\"Standard\")\n            .build());\n\n        var exampleNatGateway = new NatGateway(\"exampleNatGateway\", NatGatewayArgs.builder()\n            .name(\"example-NatGateway\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .skuName(\"Standard\")\n            .build());\n\n        var exampleNatGatewayPublicIpAssociation = new NatGatewayPublicIpAssociation(\"exampleNatGatewayPublicIpAssociation\", NatGatewayPublicIpAssociationArgs.builder()\n            .natGatewayId(exampleNatGateway.id())\n            .publicIpAddressId(examplePublicIp.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  examplePublicIp:\n    type: azure:network:PublicIp\n    name: example\n    properties:\n      name: example-PIP\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      allocationMethod: Static\n      sku: Standard\n  exampleNatGateway:\n    type: azure:network:NatGateway\n    name: example\n    properties:\n      name: example-NatGateway\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      skuName: Standard\n  exampleNatGatewayPublicIpAssociation:\n    type: azure:network:NatGatewayPublicIpAssociation\n    name: example\n    properties:\n      natGatewayId: ${exampleNatGateway.id}\n      publicIpAddressId: ${examplePublicIp.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2025-01-01\n\n## Import\n\nAssociations between NAT Gateway and Public IP Addresses can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:network/natGatewayPublicIpAssociation:NatGatewayPublicIpAssociation example \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Network/natGateways/gateway1|/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Network/publicIPAddresses/myPublicIpAddress1\"\n```\n\n\u003e **Note:** This is a provider-specific ID in the format `{natGatewayID}|{publicIPAddressID}`\n\n","properties":{"natGatewayId":{"type":"string","description":"The ID of the NAT Gateway. Changing this forces a new resource to be created.\n"},"publicIpAddressId":{"type":"string","description":"The ID of the Public IP which this NAT Gateway which should be connected to. Changing this forces a new resource to be created.\n"}},"required":["natGatewayId","publicIpAddressId"],"inputProperties":{"natGatewayId":{"type":"string","description":"The ID of the NAT Gateway. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"publicIpAddressId":{"type":"string","description":"The ID of the Public IP which this NAT Gateway which should be connected to. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["natGatewayId","publicIpAddressId"],"stateInputs":{"description":"Input properties used for looking up and filtering NatGatewayPublicIpAssociation resources.\n","properties":{"natGatewayId":{"type":"string","description":"The ID of the NAT Gateway. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"publicIpAddressId":{"type":"string","description":"The ID of the Public IP which this NAT Gateway which should be connected to. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:network/natGatewayPublicIpPrefixAssociation:NatGatewayPublicIpPrefixAssociation":{"description":"Manages the association between a NAT Gateway and a Public IP Prefix.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst examplePublicIpPrefix = new azure.network.PublicIpPrefix(\"example\", {\n    name: \"example\",\n    location: example.location,\n    resourceGroupName: example.name,\n    prefixLength: 30,\n    zones: [\"1\"],\n});\nconst exampleNatGateway = new azure.network.NatGateway(\"example\", {\n    name: \"example-NatGateway\",\n    location: example.location,\n    resourceGroupName: example.name,\n    skuName: \"Standard\",\n});\nconst exampleNatGatewayPublicIpPrefixAssociation = new azure.network.NatGatewayPublicIpPrefixAssociation(\"example\", {\n    natGatewayId: exampleNatGateway.id,\n    publicIpPrefixId: examplePublicIpPrefix.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_public_ip_prefix = azure.network.PublicIpPrefix(\"example\",\n    name=\"example\",\n    location=example.location,\n    resource_group_name=example.name,\n    prefix_length=30,\n    zones=[\"1\"])\nexample_nat_gateway = azure.network.NatGateway(\"example\",\n    name=\"example-NatGateway\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku_name=\"Standard\")\nexample_nat_gateway_public_ip_prefix_association = azure.network.NatGatewayPublicIpPrefixAssociation(\"example\",\n    nat_gateway_id=example_nat_gateway.id,\n    public_ip_prefix_id=example_public_ip_prefix.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var examplePublicIpPrefix = new Azure.Network.PublicIpPrefix(\"example\", new()\n    {\n        Name = \"example\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        PrefixLength = 30,\n        Zones = new[]\n        {\n            \"1\",\n        },\n    });\n\n    var exampleNatGateway = new Azure.Network.NatGateway(\"example\", new()\n    {\n        Name = \"example-NatGateway\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        SkuName = \"Standard\",\n    });\n\n    var exampleNatGatewayPublicIpPrefixAssociation = new Azure.Network.NatGatewayPublicIpPrefixAssociation(\"example\", new()\n    {\n        NatGatewayId = exampleNatGateway.Id,\n        PublicIpPrefixId = examplePublicIpPrefix.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texamplePublicIpPrefix, err := network.NewPublicIpPrefix(ctx, \"example\", \u0026network.PublicIpPrefixArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tPrefixLength:      pulumi.Int(30),\n\t\t\tZones: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"1\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNatGateway, err := network.NewNatGateway(ctx, \"example\", \u0026network.NatGatewayArgs{\n\t\t\tName:              pulumi.String(\"example-NatGateway\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSkuName:           pulumi.String(\"Standard\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = network.NewNatGatewayPublicIpPrefixAssociation(ctx, \"example\", \u0026network.NatGatewayPublicIpPrefixAssociationArgs{\n\t\t\tNatGatewayId:     exampleNatGateway.ID(),\n\t\t\tPublicIpPrefixId: examplePublicIpPrefix.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.PublicIpPrefix;\nimport com.pulumi.azure.network.PublicIpPrefixArgs;\nimport com.pulumi.azure.network.NatGateway;\nimport com.pulumi.azure.network.NatGatewayArgs;\nimport com.pulumi.azure.network.NatGatewayPublicIpPrefixAssociation;\nimport com.pulumi.azure.network.NatGatewayPublicIpPrefixAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var examplePublicIpPrefix = new PublicIpPrefix(\"examplePublicIpPrefix\", PublicIpPrefixArgs.builder()\n            .name(\"example\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .prefixLength(30)\n            .zones(\"1\")\n            .build());\n\n        var exampleNatGateway = new NatGateway(\"exampleNatGateway\", NatGatewayArgs.builder()\n            .name(\"example-NatGateway\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .skuName(\"Standard\")\n            .build());\n\n        var exampleNatGatewayPublicIpPrefixAssociation = new NatGatewayPublicIpPrefixAssociation(\"exampleNatGatewayPublicIpPrefixAssociation\", NatGatewayPublicIpPrefixAssociationArgs.builder()\n            .natGatewayId(exampleNatGateway.id())\n            .publicIpPrefixId(examplePublicIpPrefix.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  examplePublicIpPrefix:\n    type: azure:network:PublicIpPrefix\n    name: example\n    properties:\n      name: example\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      prefixLength: 30\n      zones:\n        - '1'\n  exampleNatGateway:\n    type: azure:network:NatGateway\n    name: example\n    properties:\n      name: example-NatGateway\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      skuName: Standard\n  exampleNatGatewayPublicIpPrefixAssociation:\n    type: azure:network:NatGatewayPublicIpPrefixAssociation\n    name: example\n    properties:\n      natGatewayId: ${exampleNatGateway.id}\n      publicIpPrefixId: ${examplePublicIpPrefix.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2025-01-01\n\n## Import\n\nAssociations between NAT Gateway and Public IP Prefixes can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:network/natGatewayPublicIpPrefixAssociation:NatGatewayPublicIpPrefixAssociation example \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Network/natGateways/gateway1|/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Network/publicIPPrefixes/myPublicIpPrefix1\"\n```\n\n\u003e **Note:** This is a Terraform Specific ID in the format `{natGatewayID}|{publicIPPrefixID}`\n\n","properties":{"natGatewayId":{"type":"string","description":"The ID of the NAT Gateway. Changing this forces a new resource to be created.\n"},"publicIpPrefixId":{"type":"string","description":"The ID of the Public IP Prefix which this NAT Gateway which should be connected to. Changing this forces a new resource to be created.\n"}},"required":["natGatewayId","publicIpPrefixId"],"inputProperties":{"natGatewayId":{"type":"string","description":"The ID of the NAT Gateway. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"publicIpPrefixId":{"type":"string","description":"The ID of the Public IP Prefix which this NAT Gateway which should be connected to. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["natGatewayId","publicIpPrefixId"],"stateInputs":{"description":"Input properties used for looking up and filtering NatGatewayPublicIpPrefixAssociation resources.\n","properties":{"natGatewayId":{"type":"string","description":"The ID of the NAT Gateway. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"publicIpPrefixId":{"type":"string","description":"The ID of the Public IP Prefix which this NAT Gateway which should be connected to. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:network/networkConnectionMonitor:NetworkConnectionMonitor":{"description":"Manages a Network Connection Monitor.\n\n\u003e **NOTE:** Any Network Connection Monitor resource created with API versions 2019-06-01 or earlier (v1) are now incompatible with this provider, which now only supports v2.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-Watcher-resources\",\n    location: \"West Europe\",\n});\nconst exampleNetworkWatcher = new azure.network.NetworkWatcher(\"example\", {\n    name: \"example-Watcher\",\n    location: example.location,\n    resourceGroupName: example.name,\n});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"example\", {\n    name: \"example-Vnet\",\n    addressSpaces: [\"10.0.0.0/16\"],\n    location: example.location,\n    resourceGroupName: example.name,\n});\nconst exampleSubnet = new azure.network.Subnet(\"example\", {\n    name: \"example-Subnet\",\n    resourceGroupName: example.name,\n    virtualNetworkName: exampleVirtualNetwork.name,\n    addressPrefixes: [\"10.0.2.0/24\"],\n});\nconst exampleNetworkInterface = new azure.network.NetworkInterface(\"example\", {\n    name: \"example-Nic\",\n    location: example.location,\n    resourceGroupName: example.name,\n    ipConfigurations: [{\n        name: \"testconfiguration1\",\n        subnetId: exampleSubnet.id,\n        privateIpAddressAllocation: \"Dynamic\",\n    }],\n});\nconst exampleVirtualMachine = new azure.compute.VirtualMachine(\"example\", {\n    name: \"example-VM\",\n    location: example.location,\n    resourceGroupName: example.name,\n    networkInterfaceIds: [exampleNetworkInterface.id],\n    vmSize: \"Standard_D2s_v3\",\n    storageImageReference: {\n        publisher: \"Canonical\",\n        offer: \"0001-com-ubuntu-server-jammy\",\n        sku: \"22_04-lts\",\n        version: \"latest\",\n    },\n    storageOsDisk: {\n        name: \"osdisk-example01\",\n        caching: \"ReadWrite\",\n        createOption: \"FromImage\",\n        managedDiskType: \"Standard_LRS\",\n    },\n    osProfile: {\n        computerName: \"hostnametest01\",\n        adminUsername: \"testadmin\",\n        adminPassword: \"Password1234!\",\n    },\n    osProfileLinuxConfig: {\n        disablePasswordAuthentication: false,\n    },\n});\nconst exampleExtension = new azure.compute.Extension(\"example\", {\n    name: \"example-VMExtension\",\n    virtualMachineId: exampleVirtualMachine.id,\n    publisher: \"Microsoft.Azure.NetworkWatcher\",\n    type: \"NetworkWatcherAgentLinux\",\n    typeHandlerVersion: \"1.4\",\n    autoUpgradeMinorVersion: true,\n});\nconst exampleAnalyticsWorkspace = new azure.operationalinsights.AnalyticsWorkspace(\"example\", {\n    name: \"example-Workspace\",\n    location: example.location,\n    resourceGroupName: example.name,\n    sku: \"PerGB2018\",\n});\nconst exampleNetworkConnectionMonitor = new azure.network.NetworkConnectionMonitor(\"example\", {\n    name: \"example-Monitor\",\n    networkWatcherId: exampleNetworkWatcher.id,\n    location: exampleNetworkWatcher.location,\n    endpoints: [\n        {\n            name: \"source\",\n            targetResourceId: exampleVirtualMachine.id,\n            filter: {\n                items: [{\n                    address: exampleVirtualMachine.id,\n                    type: \"AgentAddress\",\n                }],\n                type: \"Include\",\n            },\n        },\n        {\n            name: \"destination\",\n            address: \"mycompany.io\",\n        },\n    ],\n    testConfigurations: [{\n        name: \"tcpName\",\n        protocol: \"Tcp\",\n        testFrequencyInSeconds: 60,\n        tcpConfiguration: {\n            port: 80,\n        },\n    }],\n    testGroups: [{\n        name: \"exampletg\",\n        destinationEndpoints: [\"destination\"],\n        sourceEndpoints: [\"source\"],\n        testConfigurationNames: [\"tcpName\"],\n    }],\n    notes: \"examplenote\",\n    outputWorkspaceResourceIds: [exampleAnalyticsWorkspace.id],\n}, {\n    dependsOn: [exampleExtension],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-Watcher-resources\",\n    location=\"West Europe\")\nexample_network_watcher = azure.network.NetworkWatcher(\"example\",\n    name=\"example-Watcher\",\n    location=example.location,\n    resource_group_name=example.name)\nexample_virtual_network = azure.network.VirtualNetwork(\"example\",\n    name=\"example-Vnet\",\n    address_spaces=[\"10.0.0.0/16\"],\n    location=example.location,\n    resource_group_name=example.name)\nexample_subnet = azure.network.Subnet(\"example\",\n    name=\"example-Subnet\",\n    resource_group_name=example.name,\n    virtual_network_name=example_virtual_network.name,\n    address_prefixes=[\"10.0.2.0/24\"])\nexample_network_interface = azure.network.NetworkInterface(\"example\",\n    name=\"example-Nic\",\n    location=example.location,\n    resource_group_name=example.name,\n    ip_configurations=[{\n        \"name\": \"testconfiguration1\",\n        \"subnet_id\": example_subnet.id,\n        \"private_ip_address_allocation\": \"Dynamic\",\n    }])\nexample_virtual_machine = azure.compute.VirtualMachine(\"example\",\n    name=\"example-VM\",\n    location=example.location,\n    resource_group_name=example.name,\n    network_interface_ids=[example_network_interface.id],\n    vm_size=\"Standard_D2s_v3\",\n    storage_image_reference={\n        \"publisher\": \"Canonical\",\n        \"offer\": \"0001-com-ubuntu-server-jammy\",\n        \"sku\": \"22_04-lts\",\n        \"version\": \"latest\",\n    },\n    storage_os_disk={\n        \"name\": \"osdisk-example01\",\n        \"caching\": \"ReadWrite\",\n        \"create_option\": \"FromImage\",\n        \"managed_disk_type\": \"Standard_LRS\",\n    },\n    os_profile={\n        \"computer_name\": \"hostnametest01\",\n        \"admin_username\": \"testadmin\",\n        \"admin_password\": \"Password1234!\",\n    },\n    os_profile_linux_config={\n        \"disable_password_authentication\": False,\n    })\nexample_extension = azure.compute.Extension(\"example\",\n    name=\"example-VMExtension\",\n    virtual_machine_id=example_virtual_machine.id,\n    publisher=\"Microsoft.Azure.NetworkWatcher\",\n    type=\"NetworkWatcherAgentLinux\",\n    type_handler_version=\"1.4\",\n    auto_upgrade_minor_version=True)\nexample_analytics_workspace = azure.operationalinsights.AnalyticsWorkspace(\"example\",\n    name=\"example-Workspace\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku=\"PerGB2018\")\nexample_network_connection_monitor = azure.network.NetworkConnectionMonitor(\"example\",\n    name=\"example-Monitor\",\n    network_watcher_id=example_network_watcher.id,\n    location=example_network_watcher.location,\n    endpoints=[\n        {\n            \"name\": \"source\",\n            \"target_resource_id\": example_virtual_machine.id,\n            \"filter\": {\n                \"items\": [{\n                    \"address\": example_virtual_machine.id,\n                    \"type\": \"AgentAddress\",\n                }],\n                \"type\": \"Include\",\n            },\n        },\n        {\n            \"name\": \"destination\",\n            \"address\": \"mycompany.io\",\n        },\n    ],\n    test_configurations=[{\n        \"name\": \"tcpName\",\n        \"protocol\": \"Tcp\",\n        \"test_frequency_in_seconds\": 60,\n        \"tcp_configuration\": {\n            \"port\": 80,\n        },\n    }],\n    test_groups=[{\n        \"name\": \"exampletg\",\n        \"destination_endpoints\": [\"destination\"],\n        \"source_endpoints\": [\"source\"],\n        \"test_configuration_names\": [\"tcpName\"],\n    }],\n    notes=\"examplenote\",\n    output_workspace_resource_ids=[example_analytics_workspace.id],\n    opts = pulumi.ResourceOptions(depends_on=[example_extension]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-Watcher-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleNetworkWatcher = new Azure.Network.NetworkWatcher(\"example\", new()\n    {\n        Name = \"example-Watcher\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n    });\n\n    var exampleVirtualNetwork = new Azure.Network.VirtualNetwork(\"example\", new()\n    {\n        Name = \"example-Vnet\",\n        AddressSpaces = new[]\n        {\n            \"10.0.0.0/16\",\n        },\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n    });\n\n    var exampleSubnet = new Azure.Network.Subnet(\"example\", new()\n    {\n        Name = \"example-Subnet\",\n        ResourceGroupName = example.Name,\n        VirtualNetworkName = exampleVirtualNetwork.Name,\n        AddressPrefixes = new[]\n        {\n            \"10.0.2.0/24\",\n        },\n    });\n\n    var exampleNetworkInterface = new Azure.Network.NetworkInterface(\"example\", new()\n    {\n        Name = \"example-Nic\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        IpConfigurations = new[]\n        {\n            new Azure.Network.Inputs.NetworkInterfaceIpConfigurationArgs\n            {\n                Name = \"testconfiguration1\",\n                SubnetId = exampleSubnet.Id,\n                PrivateIpAddressAllocation = \"Dynamic\",\n            },\n        },\n    });\n\n    var exampleVirtualMachine = new Azure.Compute.VirtualMachine(\"example\", new()\n    {\n        Name = \"example-VM\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        NetworkInterfaceIds = new[]\n        {\n            exampleNetworkInterface.Id,\n        },\n        VmSize = \"Standard_D2s_v3\",\n        StorageImageReference = new Azure.Compute.Inputs.VirtualMachineStorageImageReferenceArgs\n        {\n            Publisher = \"Canonical\",\n            Offer = \"0001-com-ubuntu-server-jammy\",\n            Sku = \"22_04-lts\",\n            Version = \"latest\",\n        },\n        StorageOsDisk = new Azure.Compute.Inputs.VirtualMachineStorageOsDiskArgs\n        {\n            Name = \"osdisk-example01\",\n            Caching = \"ReadWrite\",\n            CreateOption = \"FromImage\",\n            ManagedDiskType = \"Standard_LRS\",\n        },\n        OsProfile = new Azure.Compute.Inputs.VirtualMachineOsProfileArgs\n        {\n            ComputerName = \"hostnametest01\",\n            AdminUsername = \"testadmin\",\n            AdminPassword = \"Password1234!\",\n        },\n        OsProfileLinuxConfig = new Azure.Compute.Inputs.VirtualMachineOsProfileLinuxConfigArgs\n        {\n            DisablePasswordAuthentication = false,\n        },\n    });\n\n    var exampleExtension = new Azure.Compute.Extension(\"example\", new()\n    {\n        Name = \"example-VMExtension\",\n        VirtualMachineId = exampleVirtualMachine.Id,\n        Publisher = \"Microsoft.Azure.NetworkWatcher\",\n        Type = \"NetworkWatcherAgentLinux\",\n        TypeHandlerVersion = \"1.4\",\n        AutoUpgradeMinorVersion = true,\n    });\n\n    var exampleAnalyticsWorkspace = new Azure.OperationalInsights.AnalyticsWorkspace(\"example\", new()\n    {\n        Name = \"example-Workspace\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Sku = \"PerGB2018\",\n    });\n\n    var exampleNetworkConnectionMonitor = new Azure.Network.NetworkConnectionMonitor(\"example\", new()\n    {\n        Name = \"example-Monitor\",\n        NetworkWatcherId = exampleNetworkWatcher.Id,\n        Location = exampleNetworkWatcher.Location,\n        Endpoints = new[]\n        {\n            new Azure.Network.Inputs.NetworkConnectionMonitorEndpointArgs\n            {\n                Name = \"source\",\n                TargetResourceId = exampleVirtualMachine.Id,\n                Filter = new Azure.Network.Inputs.NetworkConnectionMonitorEndpointFilterArgs\n                {\n                    Items = new[]\n                    {\n                        new Azure.Network.Inputs.NetworkConnectionMonitorEndpointFilterItemArgs\n                        {\n                            Address = exampleVirtualMachine.Id,\n                            Type = \"AgentAddress\",\n                        },\n                    },\n                    Type = \"Include\",\n                },\n            },\n            new Azure.Network.Inputs.NetworkConnectionMonitorEndpointArgs\n            {\n                Name = \"destination\",\n                Address = \"mycompany.io\",\n            },\n        },\n        TestConfigurations = new[]\n        {\n            new Azure.Network.Inputs.NetworkConnectionMonitorTestConfigurationArgs\n            {\n                Name = \"tcpName\",\n                Protocol = \"Tcp\",\n                TestFrequencyInSeconds = 60,\n                TcpConfiguration = new Azure.Network.Inputs.NetworkConnectionMonitorTestConfigurationTcpConfigurationArgs\n                {\n                    Port = 80,\n                },\n            },\n        },\n        TestGroups = new[]\n        {\n            new Azure.Network.Inputs.NetworkConnectionMonitorTestGroupArgs\n            {\n                Name = \"exampletg\",\n                DestinationEndpoints = new[]\n                {\n                    \"destination\",\n                },\n                SourceEndpoints = new[]\n                {\n                    \"source\",\n                },\n                TestConfigurationNames = new[]\n                {\n                    \"tcpName\",\n                },\n            },\n        },\n        Notes = \"examplenote\",\n        OutputWorkspaceResourceIds = new[]\n        {\n            exampleAnalyticsWorkspace.Id,\n        },\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            exampleExtension,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/compute\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/operationalinsights\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-Watcher-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNetworkWatcher, err := network.NewNetworkWatcher(ctx, \"example\", \u0026network.NetworkWatcherArgs{\n\t\t\tName:              pulumi.String(\"example-Watcher\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, \"example\", \u0026network.VirtualNetworkArgs{\n\t\t\tName: pulumi.String(\"example-Vnet\"),\n\t\t\tAddressSpaces: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.0.0/16\"),\n\t\t\t},\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSubnet, err := network.NewSubnet(ctx, \"example\", \u0026network.SubnetArgs{\n\t\t\tName:               pulumi.String(\"example-Subnet\"),\n\t\t\tResourceGroupName:  example.Name,\n\t\t\tVirtualNetworkName: exampleVirtualNetwork.Name,\n\t\t\tAddressPrefixes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.2.0/24\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNetworkInterface, err := network.NewNetworkInterface(ctx, \"example\", \u0026network.NetworkInterfaceArgs{\n\t\t\tName:              pulumi.String(\"example-Nic\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tIpConfigurations: network.NetworkInterfaceIpConfigurationArray{\n\t\t\t\t\u0026network.NetworkInterfaceIpConfigurationArgs{\n\t\t\t\t\tName:                       pulumi.String(\"testconfiguration1\"),\n\t\t\t\t\tSubnetId:                   exampleSubnet.ID(),\n\t\t\t\t\tPrivateIpAddressAllocation: pulumi.String(\"Dynamic\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualMachine, err := compute.NewVirtualMachine(ctx, \"example\", \u0026compute.VirtualMachineArgs{\n\t\t\tName:              pulumi.String(\"example-VM\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tNetworkInterfaceIds: pulumi.StringArray{\n\t\t\t\texampleNetworkInterface.ID(),\n\t\t\t},\n\t\t\tVmSize: pulumi.String(\"Standard_D2s_v3\"),\n\t\t\tStorageImageReference: \u0026compute.VirtualMachineStorageImageReferenceArgs{\n\t\t\t\tPublisher: pulumi.String(\"Canonical\"),\n\t\t\t\tOffer:     pulumi.String(\"0001-com-ubuntu-server-jammy\"),\n\t\t\t\tSku:       pulumi.String(\"22_04-lts\"),\n\t\t\t\tVersion:   pulumi.String(\"latest\"),\n\t\t\t},\n\t\t\tStorageOsDisk: \u0026compute.VirtualMachineStorageOsDiskArgs{\n\t\t\t\tName:            pulumi.String(\"osdisk-example01\"),\n\t\t\t\tCaching:         pulumi.String(\"ReadWrite\"),\n\t\t\t\tCreateOption:    pulumi.String(\"FromImage\"),\n\t\t\t\tManagedDiskType: pulumi.String(\"Standard_LRS\"),\n\t\t\t},\n\t\t\tOsProfile: \u0026compute.VirtualMachineOsProfileArgs{\n\t\t\t\tComputerName:  pulumi.String(\"hostnametest01\"),\n\t\t\t\tAdminUsername: pulumi.String(\"testadmin\"),\n\t\t\t\tAdminPassword: pulumi.String(\"Password1234!\"),\n\t\t\t},\n\t\t\tOsProfileLinuxConfig: \u0026compute.VirtualMachineOsProfileLinuxConfigArgs{\n\t\t\t\tDisablePasswordAuthentication: pulumi.Bool(false),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleExtension, err := compute.NewExtension(ctx, \"example\", \u0026compute.ExtensionArgs{\n\t\t\tName:                    pulumi.String(\"example-VMExtension\"),\n\t\t\tVirtualMachineId:        exampleVirtualMachine.ID(),\n\t\t\tPublisher:               pulumi.String(\"Microsoft.Azure.NetworkWatcher\"),\n\t\t\tType:                    pulumi.String(\"NetworkWatcherAgentLinux\"),\n\t\t\tTypeHandlerVersion:      pulumi.String(\"1.4\"),\n\t\t\tAutoUpgradeMinorVersion: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAnalyticsWorkspace, err := operationalinsights.NewAnalyticsWorkspace(ctx, \"example\", \u0026operationalinsights.AnalyticsWorkspaceArgs{\n\t\t\tName:              pulumi.String(\"example-Workspace\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSku:               pulumi.String(\"PerGB2018\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = network.NewNetworkConnectionMonitor(ctx, \"example\", \u0026network.NetworkConnectionMonitorArgs{\n\t\t\tName:             pulumi.String(\"example-Monitor\"),\n\t\t\tNetworkWatcherId: exampleNetworkWatcher.ID(),\n\t\t\tLocation:         exampleNetworkWatcher.Location,\n\t\t\tEndpoints: network.NetworkConnectionMonitorEndpointArray{\n\t\t\t\t\u0026network.NetworkConnectionMonitorEndpointArgs{\n\t\t\t\t\tName:             pulumi.String(\"source\"),\n\t\t\t\t\tTargetResourceId: exampleVirtualMachine.ID(),\n\t\t\t\t\tFilter: \u0026network.NetworkConnectionMonitorEndpointFilterArgs{\n\t\t\t\t\t\tItems: network.NetworkConnectionMonitorEndpointFilterItemArray{\n\t\t\t\t\t\t\t\u0026network.NetworkConnectionMonitorEndpointFilterItemArgs{\n\t\t\t\t\t\t\t\tAddress: exampleVirtualMachine.ID(),\n\t\t\t\t\t\t\t\tType:    pulumi.String(\"AgentAddress\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tType: pulumi.String(\"Include\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026network.NetworkConnectionMonitorEndpointArgs{\n\t\t\t\t\tName:    pulumi.String(\"destination\"),\n\t\t\t\t\tAddress: pulumi.String(\"mycompany.io\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTestConfigurations: network.NetworkConnectionMonitorTestConfigurationArray{\n\t\t\t\t\u0026network.NetworkConnectionMonitorTestConfigurationArgs{\n\t\t\t\t\tName:                   pulumi.String(\"tcpName\"),\n\t\t\t\t\tProtocol:               pulumi.String(\"Tcp\"),\n\t\t\t\t\tTestFrequencyInSeconds: pulumi.Int(60),\n\t\t\t\t\tTcpConfiguration: \u0026network.NetworkConnectionMonitorTestConfigurationTcpConfigurationArgs{\n\t\t\t\t\t\tPort: pulumi.Int(80),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tTestGroups: network.NetworkConnectionMonitorTestGroupArray{\n\t\t\t\t\u0026network.NetworkConnectionMonitorTestGroupArgs{\n\t\t\t\t\tName: pulumi.String(\"exampletg\"),\n\t\t\t\t\tDestinationEndpoints: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"destination\"),\n\t\t\t\t\t},\n\t\t\t\t\tSourceEndpoints: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"source\"),\n\t\t\t\t\t},\n\t\t\t\t\tTestConfigurationNames: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"tcpName\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tNotes: pulumi.String(\"examplenote\"),\n\t\t\tOutputWorkspaceResourceIds: pulumi.StringArray{\n\t\t\t\texampleAnalyticsWorkspace.ID(),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleExtension,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.NetworkWatcher;\nimport com.pulumi.azure.network.NetworkWatcherArgs;\nimport com.pulumi.azure.network.VirtualNetwork;\nimport com.pulumi.azure.network.VirtualNetworkArgs;\nimport com.pulumi.azure.network.Subnet;\nimport com.pulumi.azure.network.SubnetArgs;\nimport com.pulumi.azure.network.NetworkInterface;\nimport com.pulumi.azure.network.NetworkInterfaceArgs;\nimport com.pulumi.azure.network.inputs.NetworkInterfaceIpConfigurationArgs;\nimport com.pulumi.azure.compute.VirtualMachine;\nimport com.pulumi.azure.compute.VirtualMachineArgs;\nimport com.pulumi.azure.compute.inputs.VirtualMachineStorageImageReferenceArgs;\nimport com.pulumi.azure.compute.inputs.VirtualMachineStorageOsDiskArgs;\nimport com.pulumi.azure.compute.inputs.VirtualMachineOsProfileArgs;\nimport com.pulumi.azure.compute.inputs.VirtualMachineOsProfileLinuxConfigArgs;\nimport com.pulumi.azure.compute.Extension;\nimport com.pulumi.azure.compute.ExtensionArgs;\nimport com.pulumi.azure.operationalinsights.AnalyticsWorkspace;\nimport com.pulumi.azure.operationalinsights.AnalyticsWorkspaceArgs;\nimport com.pulumi.azure.network.NetworkConnectionMonitor;\nimport com.pulumi.azure.network.NetworkConnectionMonitorArgs;\nimport com.pulumi.azure.network.inputs.NetworkConnectionMonitorEndpointArgs;\nimport com.pulumi.azure.network.inputs.NetworkConnectionMonitorEndpointFilterArgs;\nimport com.pulumi.azure.network.inputs.NetworkConnectionMonitorTestConfigurationArgs;\nimport com.pulumi.azure.network.inputs.NetworkConnectionMonitorTestConfigurationTcpConfigurationArgs;\nimport com.pulumi.azure.network.inputs.NetworkConnectionMonitorTestGroupArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-Watcher-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleNetworkWatcher = new NetworkWatcher(\"exampleNetworkWatcher\", NetworkWatcherArgs.builder()\n            .name(\"example-Watcher\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .build());\n\n        var exampleVirtualNetwork = new VirtualNetwork(\"exampleVirtualNetwork\", VirtualNetworkArgs.builder()\n            .name(\"example-Vnet\")\n            .addressSpaces(\"10.0.0.0/16\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .build());\n\n        var exampleSubnet = new Subnet(\"exampleSubnet\", SubnetArgs.builder()\n            .name(\"example-Subnet\")\n            .resourceGroupName(example.name())\n            .virtualNetworkName(exampleVirtualNetwork.name())\n            .addressPrefixes(\"10.0.2.0/24\")\n            .build());\n\n        var exampleNetworkInterface = new NetworkInterface(\"exampleNetworkInterface\", NetworkInterfaceArgs.builder()\n            .name(\"example-Nic\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .ipConfigurations(NetworkInterfaceIpConfigurationArgs.builder()\n                .name(\"testconfiguration1\")\n                .subnetId(exampleSubnet.id())\n                .privateIpAddressAllocation(\"Dynamic\")\n                .build())\n            .build());\n\n        var exampleVirtualMachine = new VirtualMachine(\"exampleVirtualMachine\", VirtualMachineArgs.builder()\n            .name(\"example-VM\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .networkInterfaceIds(exampleNetworkInterface.id())\n            .vmSize(\"Standard_D2s_v3\")\n            .storageImageReference(VirtualMachineStorageImageReferenceArgs.builder()\n                .publisher(\"Canonical\")\n                .offer(\"0001-com-ubuntu-server-jammy\")\n                .sku(\"22_04-lts\")\n                .version(\"latest\")\n                .build())\n            .storageOsDisk(VirtualMachineStorageOsDiskArgs.builder()\n                .name(\"osdisk-example01\")\n                .caching(\"ReadWrite\")\n                .createOption(\"FromImage\")\n                .managedDiskType(\"Standard_LRS\")\n                .build())\n            .osProfile(VirtualMachineOsProfileArgs.builder()\n                .computerName(\"hostnametest01\")\n                .adminUsername(\"testadmin\")\n                .adminPassword(\"Password1234!\")\n                .build())\n            .osProfileLinuxConfig(VirtualMachineOsProfileLinuxConfigArgs.builder()\n                .disablePasswordAuthentication(false)\n                .build())\n            .build());\n\n        var exampleExtension = new Extension(\"exampleExtension\", ExtensionArgs.builder()\n            .name(\"example-VMExtension\")\n            .virtualMachineId(exampleVirtualMachine.id())\n            .publisher(\"Microsoft.Azure.NetworkWatcher\")\n            .type(\"NetworkWatcherAgentLinux\")\n            .typeHandlerVersion(\"1.4\")\n            .autoUpgradeMinorVersion(true)\n            .build());\n\n        var exampleAnalyticsWorkspace = new AnalyticsWorkspace(\"exampleAnalyticsWorkspace\", AnalyticsWorkspaceArgs.builder()\n            .name(\"example-Workspace\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .sku(\"PerGB2018\")\n            .build());\n\n        var exampleNetworkConnectionMonitor = new NetworkConnectionMonitor(\"exampleNetworkConnectionMonitor\", NetworkConnectionMonitorArgs.builder()\n            .name(\"example-Monitor\")\n            .networkWatcherId(exampleNetworkWatcher.id())\n            .location(exampleNetworkWatcher.location())\n            .endpoints(            \n                NetworkConnectionMonitorEndpointArgs.builder()\n                    .name(\"source\")\n                    .targetResourceId(exampleVirtualMachine.id())\n                    .filter(NetworkConnectionMonitorEndpointFilterArgs.builder()\n                        .items(NetworkConnectionMonitorEndpointFilterItemArgs.builder()\n                            .address(exampleVirtualMachine.id())\n                            .type(\"AgentAddress\")\n                            .build())\n                        .type(\"Include\")\n                        .build())\n                    .build(),\n                NetworkConnectionMonitorEndpointArgs.builder()\n                    .name(\"destination\")\n                    .address(\"mycompany.io\")\n                    .build())\n            .testConfigurations(NetworkConnectionMonitorTestConfigurationArgs.builder()\n                .name(\"tcpName\")\n                .protocol(\"Tcp\")\n                .testFrequencyInSeconds(60)\n                .tcpConfiguration(NetworkConnectionMonitorTestConfigurationTcpConfigurationArgs.builder()\n                    .port(80)\n                    .build())\n                .build())\n            .testGroups(NetworkConnectionMonitorTestGroupArgs.builder()\n                .name(\"exampletg\")\n                .destinationEndpoints(\"destination\")\n                .sourceEndpoints(\"source\")\n                .testConfigurationNames(\"tcpName\")\n                .build())\n            .notes(\"examplenote\")\n            .outputWorkspaceResourceIds(exampleAnalyticsWorkspace.id())\n            .build(), CustomResourceOptions.builder()\n                .dependsOn(exampleExtension)\n                .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-Watcher-resources\n      location: West Europe\n  exampleNetworkWatcher:\n    type: azure:network:NetworkWatcher\n    name: example\n    properties:\n      name: example-Watcher\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n  exampleVirtualNetwork:\n    type: azure:network:VirtualNetwork\n    name: example\n    properties:\n      name: example-Vnet\n      addressSpaces:\n        - 10.0.0.0/16\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n  exampleSubnet:\n    type: azure:network:Subnet\n    name: example\n    properties:\n      name: example-Subnet\n      resourceGroupName: ${example.name}\n      virtualNetworkName: ${exampleVirtualNetwork.name}\n      addressPrefixes:\n        - 10.0.2.0/24\n  exampleNetworkInterface:\n    type: azure:network:NetworkInterface\n    name: example\n    properties:\n      name: example-Nic\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      ipConfigurations:\n        - name: testconfiguration1\n          subnetId: ${exampleSubnet.id}\n          privateIpAddressAllocation: Dynamic\n  exampleVirtualMachine:\n    type: azure:compute:VirtualMachine\n    name: example\n    properties:\n      name: example-VM\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      networkInterfaceIds:\n        - ${exampleNetworkInterface.id}\n      vmSize: Standard_D2s_v3\n      storageImageReference:\n        publisher: Canonical\n        offer: 0001-com-ubuntu-server-jammy\n        sku: 22_04-lts\n        version: latest\n      storageOsDisk:\n        name: osdisk-example01\n        caching: ReadWrite\n        createOption: FromImage\n        managedDiskType: Standard_LRS\n      osProfile:\n        computerName: hostnametest01\n        adminUsername: testadmin\n        adminPassword: Password1234!\n      osProfileLinuxConfig:\n        disablePasswordAuthentication: false\n  exampleExtension:\n    type: azure:compute:Extension\n    name: example\n    properties:\n      name: example-VMExtension\n      virtualMachineId: ${exampleVirtualMachine.id}\n      publisher: Microsoft.Azure.NetworkWatcher\n      type: NetworkWatcherAgentLinux\n      typeHandlerVersion: '1.4'\n      autoUpgradeMinorVersion: true\n  exampleAnalyticsWorkspace:\n    type: azure:operationalinsights:AnalyticsWorkspace\n    name: example\n    properties:\n      name: example-Workspace\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      sku: PerGB2018\n  exampleNetworkConnectionMonitor:\n    type: azure:network:NetworkConnectionMonitor\n    name: example\n    properties:\n      name: example-Monitor\n      networkWatcherId: ${exampleNetworkWatcher.id}\n      location: ${exampleNetworkWatcher.location}\n      endpoints:\n        - name: source\n          targetResourceId: ${exampleVirtualMachine.id}\n          filter:\n            items:\n              - address: ${exampleVirtualMachine.id}\n                type: AgentAddress\n            type: Include\n        - name: destination\n          address: mycompany.io\n      testConfigurations:\n        - name: tcpName\n          protocol: Tcp\n          testFrequencyInSeconds: 60\n          tcpConfiguration:\n            port: 80\n      testGroups:\n        - name: exampletg\n          destinationEndpoints:\n            - destination\n          sourceEndpoints:\n            - source\n          testConfigurationNames:\n            - tcpName\n      notes: examplenote\n      outputWorkspaceResourceIds:\n        - ${exampleAnalyticsWorkspace.id}\n    options:\n      dependsOn:\n        - ${exampleExtension}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2025-01-01\n\n## Import\n\nNetwork Connection Monitors can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:network/networkConnectionMonitor:NetworkConnectionMonitor example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Network/networkWatchers/watcher1/connectionMonitors/connectionMonitor1\n```\n\n","properties":{"endpoints":{"type":"array","items":{"$ref":"#/types/azure:network/NetworkConnectionMonitorEndpoint:NetworkConnectionMonitorEndpoint"},"description":"A \u003cspan pulumi-lang-nodejs=\"`endpoint`\" pulumi-lang-dotnet=\"`Endpoint`\" pulumi-lang-go=\"`endpoint`\" pulumi-lang-python=\"`endpoint`\" pulumi-lang-yaml=\"`endpoint`\" pulumi-lang-java=\"`endpoint`\"\u003e`endpoint`\u003c/span\u003e block as defined below.\n"},"location":{"type":"string","description":"The Azure Region where the Network Connection Monitor should exist. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"The name which should be used for this Network Connection Monitor. Changing this forces a new resource to be created.\n"},"networkWatcherId":{"type":"string","description":"The ID of the Network Watcher. Changing this forces a new resource to be created.\n"},"notes":{"type":"string","description":"The description of the Network Connection Monitor.\n"},"outputWorkspaceResourceIds":{"type":"array","items":{"type":"string"},"description":"A list of IDs of the Log Analytics Workspace which will accept the output from the Network Connection Monitor.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Network Connection Monitor.\n"},"testConfigurations":{"type":"array","items":{"$ref":"#/types/azure:network/NetworkConnectionMonitorTestConfiguration:NetworkConnectionMonitorTestConfiguration"},"description":"A \u003cspan pulumi-lang-nodejs=\"`testConfiguration`\" pulumi-lang-dotnet=\"`TestConfiguration`\" pulumi-lang-go=\"`testConfiguration`\" pulumi-lang-python=\"`test_configuration`\" pulumi-lang-yaml=\"`testConfiguration`\" pulumi-lang-java=\"`testConfiguration`\"\u003e`test_configuration`\u003c/span\u003e block as defined below.\n"},"testGroups":{"type":"array","items":{"$ref":"#/types/azure:network/NetworkConnectionMonitorTestGroup:NetworkConnectionMonitorTestGroup"},"description":"A \u003cspan pulumi-lang-nodejs=\"`testGroup`\" pulumi-lang-dotnet=\"`TestGroup`\" pulumi-lang-go=\"`testGroup`\" pulumi-lang-python=\"`test_group`\" pulumi-lang-yaml=\"`testGroup`\" pulumi-lang-java=\"`testGroup`\"\u003e`test_group`\u003c/span\u003e block as defined below.\n"}},"required":["endpoints","location","name","networkWatcherId","testConfigurations","testGroups"],"inputProperties":{"endpoints":{"type":"array","items":{"$ref":"#/types/azure:network/NetworkConnectionMonitorEndpoint:NetworkConnectionMonitorEndpoint"},"description":"A \u003cspan pulumi-lang-nodejs=\"`endpoint`\" pulumi-lang-dotnet=\"`Endpoint`\" pulumi-lang-go=\"`endpoint`\" pulumi-lang-python=\"`endpoint`\" pulumi-lang-yaml=\"`endpoint`\" pulumi-lang-java=\"`endpoint`\"\u003e`endpoint`\u003c/span\u003e block as defined below.\n"},"location":{"type":"string","description":"The Azure Region where the Network Connection Monitor should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Network Connection Monitor. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"networkWatcherId":{"type":"string","description":"The ID of the Network Watcher. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"notes":{"type":"string","description":"The description of the Network Connection Monitor.\n"},"outputWorkspaceResourceIds":{"type":"array","items":{"type":"string"},"description":"A list of IDs of the Log Analytics Workspace which will accept the output from the Network Connection Monitor.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Network Connection Monitor.\n"},"testConfigurations":{"type":"array","items":{"$ref":"#/types/azure:network/NetworkConnectionMonitorTestConfiguration:NetworkConnectionMonitorTestConfiguration"},"description":"A \u003cspan pulumi-lang-nodejs=\"`testConfiguration`\" pulumi-lang-dotnet=\"`TestConfiguration`\" pulumi-lang-go=\"`testConfiguration`\" pulumi-lang-python=\"`test_configuration`\" pulumi-lang-yaml=\"`testConfiguration`\" pulumi-lang-java=\"`testConfiguration`\"\u003e`test_configuration`\u003c/span\u003e block as defined below.\n"},"testGroups":{"type":"array","items":{"$ref":"#/types/azure:network/NetworkConnectionMonitorTestGroup:NetworkConnectionMonitorTestGroup"},"description":"A \u003cspan pulumi-lang-nodejs=\"`testGroup`\" pulumi-lang-dotnet=\"`TestGroup`\" pulumi-lang-go=\"`testGroup`\" pulumi-lang-python=\"`test_group`\" pulumi-lang-yaml=\"`testGroup`\" pulumi-lang-java=\"`testGroup`\"\u003e`test_group`\u003c/span\u003e block as defined below.\n"}},"requiredInputs":["endpoints","networkWatcherId","testConfigurations","testGroups"],"stateInputs":{"description":"Input properties used for looking up and filtering NetworkConnectionMonitor resources.\n","properties":{"endpoints":{"type":"array","items":{"$ref":"#/types/azure:network/NetworkConnectionMonitorEndpoint:NetworkConnectionMonitorEndpoint"},"description":"A \u003cspan pulumi-lang-nodejs=\"`endpoint`\" pulumi-lang-dotnet=\"`Endpoint`\" pulumi-lang-go=\"`endpoint`\" pulumi-lang-python=\"`endpoint`\" pulumi-lang-yaml=\"`endpoint`\" pulumi-lang-java=\"`endpoint`\"\u003e`endpoint`\u003c/span\u003e block as defined below.\n"},"location":{"type":"string","description":"The Azure Region where the Network Connection Monitor should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Network Connection Monitor. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"networkWatcherId":{"type":"string","description":"The ID of the Network Watcher. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"notes":{"type":"string","description":"The description of the Network Connection Monitor.\n"},"outputWorkspaceResourceIds":{"type":"array","items":{"type":"string"},"description":"A list of IDs of the Log Analytics Workspace which will accept the output from the Network Connection Monitor.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Network Connection Monitor.\n"},"testConfigurations":{"type":"array","items":{"$ref":"#/types/azure:network/NetworkConnectionMonitorTestConfiguration:NetworkConnectionMonitorTestConfiguration"},"description":"A \u003cspan pulumi-lang-nodejs=\"`testConfiguration`\" pulumi-lang-dotnet=\"`TestConfiguration`\" pulumi-lang-go=\"`testConfiguration`\" pulumi-lang-python=\"`test_configuration`\" pulumi-lang-yaml=\"`testConfiguration`\" pulumi-lang-java=\"`testConfiguration`\"\u003e`test_configuration`\u003c/span\u003e block as defined below.\n"},"testGroups":{"type":"array","items":{"$ref":"#/types/azure:network/NetworkConnectionMonitorTestGroup:NetworkConnectionMonitorTestGroup"},"description":"A \u003cspan pulumi-lang-nodejs=\"`testGroup`\" pulumi-lang-dotnet=\"`TestGroup`\" pulumi-lang-go=\"`testGroup`\" pulumi-lang-python=\"`test_group`\" pulumi-lang-yaml=\"`testGroup`\" pulumi-lang-java=\"`testGroup`\"\u003e`test_group`\u003c/span\u003e block as defined below.\n"}},"type":"object"}},"azure:network/networkInterface:NetworkInterface":{"description":"Manages a Network Interface.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"example\", {\n    name: \"example-network\",\n    addressSpaces: [\"10.0.0.0/16\"],\n    location: example.location,\n    resourceGroupName: example.name,\n});\nconst exampleSubnet = new azure.network.Subnet(\"example\", {\n    name: \"internal\",\n    resourceGroupName: example.name,\n    virtualNetworkName: exampleVirtualNetwork.name,\n    addressPrefixes: [\"10.0.2.0/24\"],\n});\nconst exampleNetworkInterface = new azure.network.NetworkInterface(\"example\", {\n    name: \"example-nic\",\n    location: example.location,\n    resourceGroupName: example.name,\n    ipConfigurations: [{\n        name: \"internal\",\n        subnetId: exampleSubnet.id,\n        privateIpAddressAllocation: \"Dynamic\",\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_virtual_network = azure.network.VirtualNetwork(\"example\",\n    name=\"example-network\",\n    address_spaces=[\"10.0.0.0/16\"],\n    location=example.location,\n    resource_group_name=example.name)\nexample_subnet = azure.network.Subnet(\"example\",\n    name=\"internal\",\n    resource_group_name=example.name,\n    virtual_network_name=example_virtual_network.name,\n    address_prefixes=[\"10.0.2.0/24\"])\nexample_network_interface = azure.network.NetworkInterface(\"example\",\n    name=\"example-nic\",\n    location=example.location,\n    resource_group_name=example.name,\n    ip_configurations=[{\n        \"name\": \"internal\",\n        \"subnet_id\": example_subnet.id,\n        \"private_ip_address_allocation\": \"Dynamic\",\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleVirtualNetwork = new Azure.Network.VirtualNetwork(\"example\", new()\n    {\n        Name = \"example-network\",\n        AddressSpaces = new[]\n        {\n            \"10.0.0.0/16\",\n        },\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n    });\n\n    var exampleSubnet = new Azure.Network.Subnet(\"example\", new()\n    {\n        Name = \"internal\",\n        ResourceGroupName = example.Name,\n        VirtualNetworkName = exampleVirtualNetwork.Name,\n        AddressPrefixes = new[]\n        {\n            \"10.0.2.0/24\",\n        },\n    });\n\n    var exampleNetworkInterface = new Azure.Network.NetworkInterface(\"example\", new()\n    {\n        Name = \"example-nic\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        IpConfigurations = new[]\n        {\n            new Azure.Network.Inputs.NetworkInterfaceIpConfigurationArgs\n            {\n                Name = \"internal\",\n                SubnetId = exampleSubnet.Id,\n                PrivateIpAddressAllocation = \"Dynamic\",\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, \"example\", \u0026network.VirtualNetworkArgs{\n\t\t\tName: pulumi.String(\"example-network\"),\n\t\t\tAddressSpaces: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.0.0/16\"),\n\t\t\t},\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSubnet, err := network.NewSubnet(ctx, \"example\", \u0026network.SubnetArgs{\n\t\t\tName:               pulumi.String(\"internal\"),\n\t\t\tResourceGroupName:  example.Name,\n\t\t\tVirtualNetworkName: exampleVirtualNetwork.Name,\n\t\t\tAddressPrefixes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.2.0/24\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = network.NewNetworkInterface(ctx, \"example\", \u0026network.NetworkInterfaceArgs{\n\t\t\tName:              pulumi.String(\"example-nic\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tIpConfigurations: network.NetworkInterfaceIpConfigurationArray{\n\t\t\t\t\u0026network.NetworkInterfaceIpConfigurationArgs{\n\t\t\t\t\tName:                       pulumi.String(\"internal\"),\n\t\t\t\t\tSubnetId:                   exampleSubnet.ID(),\n\t\t\t\t\tPrivateIpAddressAllocation: pulumi.String(\"Dynamic\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.VirtualNetwork;\nimport com.pulumi.azure.network.VirtualNetworkArgs;\nimport com.pulumi.azure.network.Subnet;\nimport com.pulumi.azure.network.SubnetArgs;\nimport com.pulumi.azure.network.NetworkInterface;\nimport com.pulumi.azure.network.NetworkInterfaceArgs;\nimport com.pulumi.azure.network.inputs.NetworkInterfaceIpConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleVirtualNetwork = new VirtualNetwork(\"exampleVirtualNetwork\", VirtualNetworkArgs.builder()\n            .name(\"example-network\")\n            .addressSpaces(\"10.0.0.0/16\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .build());\n\n        var exampleSubnet = new Subnet(\"exampleSubnet\", SubnetArgs.builder()\n            .name(\"internal\")\n            .resourceGroupName(example.name())\n            .virtualNetworkName(exampleVirtualNetwork.name())\n            .addressPrefixes(\"10.0.2.0/24\")\n            .build());\n\n        var exampleNetworkInterface = new NetworkInterface(\"exampleNetworkInterface\", NetworkInterfaceArgs.builder()\n            .name(\"example-nic\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .ipConfigurations(NetworkInterfaceIpConfigurationArgs.builder()\n                .name(\"internal\")\n                .subnetId(exampleSubnet.id())\n                .privateIpAddressAllocation(\"Dynamic\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleVirtualNetwork:\n    type: azure:network:VirtualNetwork\n    name: example\n    properties:\n      name: example-network\n      addressSpaces:\n        - 10.0.0.0/16\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n  exampleSubnet:\n    type: azure:network:Subnet\n    name: example\n    properties:\n      name: internal\n      resourceGroupName: ${example.name}\n      virtualNetworkName: ${exampleVirtualNetwork.name}\n      addressPrefixes:\n        - 10.0.2.0/24\n  exampleNetworkInterface:\n    type: azure:network:NetworkInterface\n    name: example\n    properties:\n      name: example-nic\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      ipConfigurations:\n        - name: internal\n          subnetId: ${exampleSubnet.id}\n          privateIpAddressAllocation: Dynamic\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2025-01-01\n\n## Import\n\nNetwork Interfaces can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:network/networkInterface:NetworkInterface example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Network/networkInterfaces/nic1\n```\n\n","properties":{"acceleratedNetworkingEnabled":{"type":"boolean","description":"Should Accelerated Networking be enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** Only certain Virtual Machine sizes are supported for Accelerated Networking - [more information can be found in this document](https://docs.microsoft.com/azure/virtual-network/create-vm-accelerated-networking-cli).\n\n\u003e **Note:** To use Accelerated Networking in an Availability Set, the Availability Set must be deployed onto an Accelerated Networking enabled cluster.\n"},"appliedDnsServers":{"type":"array","items":{"type":"string"},"description":"If the Virtual Machine using this Network Interface is part of an Availability Set, then this list will have the union of all DNS servers from all Network Interfaces that are part of the Availability Set.\n"},"auxiliaryMode":{"type":"string","description":"Specifies the auxiliary mode used to enable network high-performance feature on Network Virtual Appliances (NVAs). This feature offers competitive performance in Connections Per Second (CPS) optimization, along with improvements to handling large amounts of simultaneous connections. Possible values are `AcceleratedConnections`, `Floating`, `MaxConnections` and `None`.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`auxiliaryMode`\" pulumi-lang-dotnet=\"`AuxiliaryMode`\" pulumi-lang-go=\"`auxiliaryMode`\" pulumi-lang-python=\"`auxiliary_mode`\" pulumi-lang-yaml=\"`auxiliaryMode`\" pulumi-lang-java=\"`auxiliaryMode`\"\u003e`auxiliary_mode`\u003c/span\u003e is in **Preview** and requires that the preview is enabled - [more information can be found in the Azure documentation](https://learn.microsoft.com/azure/networking/nva-accelerated-connections#prerequisites).\n"},"auxiliarySku":{"type":"string","description":"Specifies the SKU used for the network high-performance feature on Network Virtual Appliances (NVAs). Possible values are `A8`, `A4`, `A1`, `A2` and `None`.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`auxiliarySku`\" pulumi-lang-dotnet=\"`AuxiliarySku`\" pulumi-lang-go=\"`auxiliarySku`\" pulumi-lang-python=\"`auxiliary_sku`\" pulumi-lang-yaml=\"`auxiliarySku`\" pulumi-lang-java=\"`auxiliarySku`\"\u003e`auxiliary_sku`\u003c/span\u003e is in **Preview** and requires that the preview is enabled - [more information can be found in the Azure documentation](https://learn.microsoft.com/azure/networking/nva-accelerated-connections#prerequisites).\n"},"dnsServers":{"type":"array","items":{"type":"string"},"description":"A list of IP Addresses defining the DNS Servers which should be used for this Network Interface.\n\n\u003e **Note:** Configuring DNS Servers on the Network Interface will override the DNS Servers defined on the Virtual Network.\n"},"edgeZone":{"type":"string","description":"Specifies the Edge Zone within the Azure Region where this Network Interface should exist. Changing this forces a new Network Interface to be created.\n"},"internalDnsNameLabel":{"type":"string","description":"The (relative) DNS Name used for internal communications between Virtual Machines in the same Virtual Network.\n"},"internalDomainNameSuffix":{"type":"string","description":"Even if \u003cspan pulumi-lang-nodejs=\"`internalDnsNameLabel`\" pulumi-lang-dotnet=\"`InternalDnsNameLabel`\" pulumi-lang-go=\"`internalDnsNameLabel`\" pulumi-lang-python=\"`internal_dns_name_label`\" pulumi-lang-yaml=\"`internalDnsNameLabel`\" pulumi-lang-java=\"`internalDnsNameLabel`\"\u003e`internal_dns_name_label`\u003c/span\u003e is not specified, a DNS entry is created for the primary NIC of the VM. This DNS name can be constructed by concatenating the VM name with the value of \u003cspan pulumi-lang-nodejs=\"`internalDomainNameSuffix`\" pulumi-lang-dotnet=\"`InternalDomainNameSuffix`\" pulumi-lang-go=\"`internalDomainNameSuffix`\" pulumi-lang-python=\"`internal_domain_name_suffix`\" pulumi-lang-yaml=\"`internalDomainNameSuffix`\" pulumi-lang-java=\"`internalDomainNameSuffix`\"\u003e`internal_domain_name_suffix`\u003c/span\u003e.\n"},"ipConfigurations":{"type":"array","items":{"$ref":"#/types/azure:network/NetworkInterfaceIpConfiguration:NetworkInterfaceIpConfiguration"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`ipConfiguration`\" pulumi-lang-dotnet=\"`IpConfiguration`\" pulumi-lang-go=\"`ipConfiguration`\" pulumi-lang-python=\"`ip_configuration`\" pulumi-lang-yaml=\"`ipConfiguration`\" pulumi-lang-java=\"`ipConfiguration`\"\u003e`ip_configuration`\u003c/span\u003e blocks as defined below.\n"},"ipForwardingEnabled":{"type":"boolean","description":"Should IP Forwarding be enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"location":{"type":"string","description":"The location where the Network Interface should exist. Changing this forces a new resource to be created.\n"},"macAddress":{"type":"string","description":"The Media Access Control (MAC) Address of the Network Interface.\n"},"name":{"type":"string","description":"The name of the Network Interface. Changing this forces a new resource to be created.\n"},"privateIpAddress":{"type":"string","description":"The first private IP address of the network interface.\n"},"privateIpAddresses":{"type":"array","items":{"type":"string"},"description":"The private IP addresses of the network interface.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group in which to create the Network Interface. Changing this forces a new resource to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"virtualMachineId":{"type":"string","description":"The ID of the Virtual Machine which this Network Interface is connected to.\n"}},"required":["appliedDnsServers","internalDomainNameSuffix","ipConfigurations","location","macAddress","name","privateIpAddress","privateIpAddresses","resourceGroupName","virtualMachineId"],"inputProperties":{"acceleratedNetworkingEnabled":{"type":"boolean","description":"Should Accelerated Networking be enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** Only certain Virtual Machine sizes are supported for Accelerated Networking - [more information can be found in this document](https://docs.microsoft.com/azure/virtual-network/create-vm-accelerated-networking-cli).\n\n\u003e **Note:** To use Accelerated Networking in an Availability Set, the Availability Set must be deployed onto an Accelerated Networking enabled cluster.\n"},"auxiliaryMode":{"type":"string","description":"Specifies the auxiliary mode used to enable network high-performance feature on Network Virtual Appliances (NVAs). This feature offers competitive performance in Connections Per Second (CPS) optimization, along with improvements to handling large amounts of simultaneous connections. Possible values are `AcceleratedConnections`, `Floating`, `MaxConnections` and `None`.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`auxiliaryMode`\" pulumi-lang-dotnet=\"`AuxiliaryMode`\" pulumi-lang-go=\"`auxiliaryMode`\" pulumi-lang-python=\"`auxiliary_mode`\" pulumi-lang-yaml=\"`auxiliaryMode`\" pulumi-lang-java=\"`auxiliaryMode`\"\u003e`auxiliary_mode`\u003c/span\u003e is in **Preview** and requires that the preview is enabled - [more information can be found in the Azure documentation](https://learn.microsoft.com/azure/networking/nva-accelerated-connections#prerequisites).\n"},"auxiliarySku":{"type":"string","description":"Specifies the SKU used for the network high-performance feature on Network Virtual Appliances (NVAs). Possible values are `A8`, `A4`, `A1`, `A2` and `None`.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`auxiliarySku`\" pulumi-lang-dotnet=\"`AuxiliarySku`\" pulumi-lang-go=\"`auxiliarySku`\" pulumi-lang-python=\"`auxiliary_sku`\" pulumi-lang-yaml=\"`auxiliarySku`\" pulumi-lang-java=\"`auxiliarySku`\"\u003e`auxiliary_sku`\u003c/span\u003e is in **Preview** and requires that the preview is enabled - [more information can be found in the Azure documentation](https://learn.microsoft.com/azure/networking/nva-accelerated-connections#prerequisites).\n"},"dnsServers":{"type":"array","items":{"type":"string"},"description":"A list of IP Addresses defining the DNS Servers which should be used for this Network Interface.\n\n\u003e **Note:** Configuring DNS Servers on the Network Interface will override the DNS Servers defined on the Virtual Network.\n"},"edgeZone":{"type":"string","description":"Specifies the Edge Zone within the Azure Region where this Network Interface should exist. Changing this forces a new Network Interface to be created.\n","willReplaceOnChanges":true},"internalDnsNameLabel":{"type":"string","description":"The (relative) DNS Name used for internal communications between Virtual Machines in the same Virtual Network.\n"},"ipConfigurations":{"type":"array","items":{"$ref":"#/types/azure:network/NetworkInterfaceIpConfiguration:NetworkInterfaceIpConfiguration"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`ipConfiguration`\" pulumi-lang-dotnet=\"`IpConfiguration`\" pulumi-lang-go=\"`ipConfiguration`\" pulumi-lang-python=\"`ip_configuration`\" pulumi-lang-yaml=\"`ipConfiguration`\" pulumi-lang-java=\"`ipConfiguration`\"\u003e`ip_configuration`\u003c/span\u003e blocks as defined below.\n"},"ipForwardingEnabled":{"type":"boolean","description":"Should IP Forwarding be enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"location":{"type":"string","description":"The location where the Network Interface should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the Network Interface. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group in which to create the Network Interface. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"requiredInputs":["ipConfigurations","resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering NetworkInterface resources.\n","properties":{"acceleratedNetworkingEnabled":{"type":"boolean","description":"Should Accelerated Networking be enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** Only certain Virtual Machine sizes are supported for Accelerated Networking - [more information can be found in this document](https://docs.microsoft.com/azure/virtual-network/create-vm-accelerated-networking-cli).\n\n\u003e **Note:** To use Accelerated Networking in an Availability Set, the Availability Set must be deployed onto an Accelerated Networking enabled cluster.\n"},"appliedDnsServers":{"type":"array","items":{"type":"string"},"description":"If the Virtual Machine using this Network Interface is part of an Availability Set, then this list will have the union of all DNS servers from all Network Interfaces that are part of the Availability Set.\n"},"auxiliaryMode":{"type":"string","description":"Specifies the auxiliary mode used to enable network high-performance feature on Network Virtual Appliances (NVAs). This feature offers competitive performance in Connections Per Second (CPS) optimization, along with improvements to handling large amounts of simultaneous connections. Possible values are `AcceleratedConnections`, `Floating`, `MaxConnections` and `None`.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`auxiliaryMode`\" pulumi-lang-dotnet=\"`AuxiliaryMode`\" pulumi-lang-go=\"`auxiliaryMode`\" pulumi-lang-python=\"`auxiliary_mode`\" pulumi-lang-yaml=\"`auxiliaryMode`\" pulumi-lang-java=\"`auxiliaryMode`\"\u003e`auxiliary_mode`\u003c/span\u003e is in **Preview** and requires that the preview is enabled - [more information can be found in the Azure documentation](https://learn.microsoft.com/azure/networking/nva-accelerated-connections#prerequisites).\n"},"auxiliarySku":{"type":"string","description":"Specifies the SKU used for the network high-performance feature on Network Virtual Appliances (NVAs). Possible values are `A8`, `A4`, `A1`, `A2` and `None`.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`auxiliarySku`\" pulumi-lang-dotnet=\"`AuxiliarySku`\" pulumi-lang-go=\"`auxiliarySku`\" pulumi-lang-python=\"`auxiliary_sku`\" pulumi-lang-yaml=\"`auxiliarySku`\" pulumi-lang-java=\"`auxiliarySku`\"\u003e`auxiliary_sku`\u003c/span\u003e is in **Preview** and requires that the preview is enabled - [more information can be found in the Azure documentation](https://learn.microsoft.com/azure/networking/nva-accelerated-connections#prerequisites).\n"},"dnsServers":{"type":"array","items":{"type":"string"},"description":"A list of IP Addresses defining the DNS Servers which should be used for this Network Interface.\n\n\u003e **Note:** Configuring DNS Servers on the Network Interface will override the DNS Servers defined on the Virtual Network.\n"},"edgeZone":{"type":"string","description":"Specifies the Edge Zone within the Azure Region where this Network Interface should exist. Changing this forces a new Network Interface to be created.\n","willReplaceOnChanges":true},"internalDnsNameLabel":{"type":"string","description":"The (relative) DNS Name used for internal communications between Virtual Machines in the same Virtual Network.\n"},"internalDomainNameSuffix":{"type":"string","description":"Even if \u003cspan pulumi-lang-nodejs=\"`internalDnsNameLabel`\" pulumi-lang-dotnet=\"`InternalDnsNameLabel`\" pulumi-lang-go=\"`internalDnsNameLabel`\" pulumi-lang-python=\"`internal_dns_name_label`\" pulumi-lang-yaml=\"`internalDnsNameLabel`\" pulumi-lang-java=\"`internalDnsNameLabel`\"\u003e`internal_dns_name_label`\u003c/span\u003e is not specified, a DNS entry is created for the primary NIC of the VM. This DNS name can be constructed by concatenating the VM name with the value of \u003cspan pulumi-lang-nodejs=\"`internalDomainNameSuffix`\" pulumi-lang-dotnet=\"`InternalDomainNameSuffix`\" pulumi-lang-go=\"`internalDomainNameSuffix`\" pulumi-lang-python=\"`internal_domain_name_suffix`\" pulumi-lang-yaml=\"`internalDomainNameSuffix`\" pulumi-lang-java=\"`internalDomainNameSuffix`\"\u003e`internal_domain_name_suffix`\u003c/span\u003e.\n"},"ipConfigurations":{"type":"array","items":{"$ref":"#/types/azure:network/NetworkInterfaceIpConfiguration:NetworkInterfaceIpConfiguration"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`ipConfiguration`\" pulumi-lang-dotnet=\"`IpConfiguration`\" pulumi-lang-go=\"`ipConfiguration`\" pulumi-lang-python=\"`ip_configuration`\" pulumi-lang-yaml=\"`ipConfiguration`\" pulumi-lang-java=\"`ipConfiguration`\"\u003e`ip_configuration`\u003c/span\u003e blocks as defined below.\n"},"ipForwardingEnabled":{"type":"boolean","description":"Should IP Forwarding be enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"location":{"type":"string","description":"The location where the Network Interface should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"macAddress":{"type":"string","description":"The Media Access Control (MAC) Address of the Network Interface.\n"},"name":{"type":"string","description":"The name of the Network Interface. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"privateIpAddress":{"type":"string","description":"The first private IP address of the network interface.\n"},"privateIpAddresses":{"type":"array","items":{"type":"string"},"description":"The private IP addresses of the network interface.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group in which to create the Network Interface. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"virtualMachineId":{"type":"string","description":"The ID of the Virtual Machine which this Network Interface is connected to.\n"}},"type":"object"}},"azure:network/networkInterfaceApplicationGatewayBackendAddressPoolAssociation:NetworkInterfaceApplicationGatewayBackendAddressPoolAssociation":{"description":"Manages the association between a Network Interface and a Application Gateway's Backend Address Pool.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"example\", {\n    name: \"example-network\",\n    addressSpaces: [\"10.0.0.0/16\"],\n    location: example.location,\n    resourceGroupName: example.name,\n});\nconst frontend = new azure.network.Subnet(\"frontend\", {\n    name: \"frontend\",\n    resourceGroupName: example.name,\n    virtualNetworkName: exampleVirtualNetwork.name,\n    addressPrefixes: [\"10.0.1.0/24\"],\n});\nconst backend = new azure.network.Subnet(\"backend\", {\n    name: \"backend\",\n    resourceGroupName: example.name,\n    virtualNetworkName: exampleVirtualNetwork.name,\n    addressPrefixes: [\"10.0.2.0/24\"],\n});\nconst examplePublicIp = new azure.network.PublicIp(\"example\", {\n    name: \"example-pip\",\n    location: example.location,\n    resourceGroupName: example.name,\n    allocationMethod: \"Static\",\n});\nconst backendAddressPoolName = pulumi.interpolate`${exampleVirtualNetwork.name}-beap`;\nconst frontendPortName = pulumi.interpolate`${exampleVirtualNetwork.name}-feport`;\nconst frontendIpConfigurationName = pulumi.interpolate`${exampleVirtualNetwork.name}-feip`;\nconst httpSettingName = pulumi.interpolate`${exampleVirtualNetwork.name}-be-htst`;\nconst listenerName = pulumi.interpolate`${exampleVirtualNetwork.name}-httplstn`;\nconst requestRoutingRuleName = pulumi.interpolate`${exampleVirtualNetwork.name}-rqrt`;\nconst network = new azure.network.ApplicationGateway(\"network\", {\n    name: \"example-appgateway\",\n    resourceGroupName: example.name,\n    location: example.location,\n    sku: {\n        name: \"Standard_v2\",\n        tier: \"Standard_v2\",\n        capacity: 2,\n    },\n    gatewayIpConfigurations: [{\n        name: \"my-gateway-ip-configuration\",\n        subnetId: backend.id,\n    }],\n    frontendPorts: [{\n        name: frontendPortName,\n        port: 80,\n    }],\n    frontendIpConfigurations: [{\n        name: frontendIpConfigurationName,\n        publicIpAddressId: examplePublicIp.id,\n    }],\n    backendAddressPools: [{\n        name: backendAddressPoolName,\n    }],\n    backendHttpSettings: [{\n        name: httpSettingName,\n        cookieBasedAffinity: \"Disabled\",\n        port: 80,\n        protocol: \"Http\",\n        requestTimeout: 1,\n    }],\n    httpListeners: [{\n        name: listenerName,\n        frontendIpConfigurationName: frontendIpConfigurationName,\n        frontendPortName: frontendPortName,\n        protocol: \"Http\",\n    }],\n    requestRoutingRules: [{\n        name: requestRoutingRuleName,\n        ruleType: \"Basic\",\n        priority: 25,\n        httpListenerName: listenerName,\n        backendAddressPoolName: backendAddressPoolName,\n        backendHttpSettingsName: httpSettingName,\n    }],\n});\nconst exampleNetworkInterface = new azure.network.NetworkInterface(\"example\", {\n    name: \"example-nic\",\n    location: example.location,\n    resourceGroupName: example.name,\n    ipConfigurations: [{\n        name: \"testconfiguration1\",\n        subnetId: frontend.id,\n        privateIpAddressAllocation: \"Dynamic\",\n    }],\n});\nconst exampleNetworkInterfaceApplicationGatewayBackendAddressPoolAssociation = new azure.network.NetworkInterfaceApplicationGatewayBackendAddressPoolAssociation(\"example\", {\n    networkInterfaceId: exampleNetworkInterface.id,\n    ipConfigurationName: \"testconfiguration1\",\n    backendAddressPoolId: network.backendAddressPools.apply(backendAddressPools =\u003e backendAddressPools[0].id),\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_virtual_network = azure.network.VirtualNetwork(\"example\",\n    name=\"example-network\",\n    address_spaces=[\"10.0.0.0/16\"],\n    location=example.location,\n    resource_group_name=example.name)\nfrontend = azure.network.Subnet(\"frontend\",\n    name=\"frontend\",\n    resource_group_name=example.name,\n    virtual_network_name=example_virtual_network.name,\n    address_prefixes=[\"10.0.1.0/24\"])\nbackend = azure.network.Subnet(\"backend\",\n    name=\"backend\",\n    resource_group_name=example.name,\n    virtual_network_name=example_virtual_network.name,\n    address_prefixes=[\"10.0.2.0/24\"])\nexample_public_ip = azure.network.PublicIp(\"example\",\n    name=\"example-pip\",\n    location=example.location,\n    resource_group_name=example.name,\n    allocation_method=\"Static\")\nbackend_address_pool_name = example_virtual_network.name.apply(lambda name: f\"{name}-beap\")\nfrontend_port_name = example_virtual_network.name.apply(lambda name: f\"{name}-feport\")\nfrontend_ip_configuration_name = example_virtual_network.name.apply(lambda name: f\"{name}-feip\")\nhttp_setting_name = example_virtual_network.name.apply(lambda name: f\"{name}-be-htst\")\nlistener_name = example_virtual_network.name.apply(lambda name: f\"{name}-httplstn\")\nrequest_routing_rule_name = example_virtual_network.name.apply(lambda name: f\"{name}-rqrt\")\nnetwork = azure.network.ApplicationGateway(\"network\",\n    name=\"example-appgateway\",\n    resource_group_name=example.name,\n    location=example.location,\n    sku={\n        \"name\": \"Standard_v2\",\n        \"tier\": \"Standard_v2\",\n        \"capacity\": 2,\n    },\n    gateway_ip_configurations=[{\n        \"name\": \"my-gateway-ip-configuration\",\n        \"subnet_id\": backend.id,\n    }],\n    frontend_ports=[{\n        \"name\": frontend_port_name,\n        \"port\": 80,\n    }],\n    frontend_ip_configurations=[{\n        \"name\": frontend_ip_configuration_name,\n        \"public_ip_address_id\": example_public_ip.id,\n    }],\n    backend_address_pools=[{\n        \"name\": backend_address_pool_name,\n    }],\n    backend_http_settings=[{\n        \"name\": http_setting_name,\n        \"cookie_based_affinity\": \"Disabled\",\n        \"port\": 80,\n        \"protocol\": \"Http\",\n        \"request_timeout\": 1,\n    }],\n    http_listeners=[{\n        \"name\": listener_name,\n        \"frontend_ip_configuration_name\": frontend_ip_configuration_name,\n        \"frontend_port_name\": frontend_port_name,\n        \"protocol\": \"Http\",\n    }],\n    request_routing_rules=[{\n        \"name\": request_routing_rule_name,\n        \"rule_type\": \"Basic\",\n        \"priority\": 25,\n        \"http_listener_name\": listener_name,\n        \"backend_address_pool_name\": backend_address_pool_name,\n        \"backend_http_settings_name\": http_setting_name,\n    }])\nexample_network_interface = azure.network.NetworkInterface(\"example\",\n    name=\"example-nic\",\n    location=example.location,\n    resource_group_name=example.name,\n    ip_configurations=[{\n        \"name\": \"testconfiguration1\",\n        \"subnet_id\": frontend.id,\n        \"private_ip_address_allocation\": \"Dynamic\",\n    }])\nexample_network_interface_application_gateway_backend_address_pool_association = azure.network.NetworkInterfaceApplicationGatewayBackendAddressPoolAssociation(\"example\",\n    network_interface_id=example_network_interface.id,\n    ip_configuration_name=\"testconfiguration1\",\n    backend_address_pool_id=network.backend_address_pools[0].id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleVirtualNetwork = new Azure.Network.VirtualNetwork(\"example\", new()\n    {\n        Name = \"example-network\",\n        AddressSpaces = new[]\n        {\n            \"10.0.0.0/16\",\n        },\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n    });\n\n    var frontend = new Azure.Network.Subnet(\"frontend\", new()\n    {\n        Name = \"frontend\",\n        ResourceGroupName = example.Name,\n        VirtualNetworkName = exampleVirtualNetwork.Name,\n        AddressPrefixes = new[]\n        {\n            \"10.0.1.0/24\",\n        },\n    });\n\n    var backend = new Azure.Network.Subnet(\"backend\", new()\n    {\n        Name = \"backend\",\n        ResourceGroupName = example.Name,\n        VirtualNetworkName = exampleVirtualNetwork.Name,\n        AddressPrefixes = new[]\n        {\n            \"10.0.2.0/24\",\n        },\n    });\n\n    var examplePublicIp = new Azure.Network.PublicIp(\"example\", new()\n    {\n        Name = \"example-pip\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        AllocationMethod = \"Static\",\n    });\n\n    var backendAddressPoolName = exampleVirtualNetwork.Name.Apply(name =\u003e $\"{name}-beap\");\n\n    var frontendPortName = exampleVirtualNetwork.Name.Apply(name =\u003e $\"{name}-feport\");\n\n    var frontendIpConfigurationName = exampleVirtualNetwork.Name.Apply(name =\u003e $\"{name}-feip\");\n\n    var httpSettingName = exampleVirtualNetwork.Name.Apply(name =\u003e $\"{name}-be-htst\");\n\n    var listenerName = exampleVirtualNetwork.Name.Apply(name =\u003e $\"{name}-httplstn\");\n\n    var requestRoutingRuleName = exampleVirtualNetwork.Name.Apply(name =\u003e $\"{name}-rqrt\");\n\n    var network = new Azure.Network.ApplicationGateway(\"network\", new()\n    {\n        Name = \"example-appgateway\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        Sku = new Azure.Network.Inputs.ApplicationGatewaySkuArgs\n        {\n            Name = \"Standard_v2\",\n            Tier = \"Standard_v2\",\n            Capacity = 2,\n        },\n        GatewayIpConfigurations = new[]\n        {\n            new Azure.Network.Inputs.ApplicationGatewayGatewayIpConfigurationArgs\n            {\n                Name = \"my-gateway-ip-configuration\",\n                SubnetId = backend.Id,\n            },\n        },\n        FrontendPorts = new[]\n        {\n            new Azure.Network.Inputs.ApplicationGatewayFrontendPortArgs\n            {\n                Name = frontendPortName,\n                Port = 80,\n            },\n        },\n        FrontendIpConfigurations = new[]\n        {\n            new Azure.Network.Inputs.ApplicationGatewayFrontendIpConfigurationArgs\n            {\n                Name = frontendIpConfigurationName,\n                PublicIpAddressId = examplePublicIp.Id,\n            },\n        },\n        BackendAddressPools = new[]\n        {\n            new Azure.Network.Inputs.ApplicationGatewayBackendAddressPoolArgs\n            {\n                Name = backendAddressPoolName,\n            },\n        },\n        BackendHttpSettings = new[]\n        {\n            new Azure.Network.Inputs.ApplicationGatewayBackendHttpSettingArgs\n            {\n                Name = httpSettingName,\n                CookieBasedAffinity = \"Disabled\",\n                Port = 80,\n                Protocol = \"Http\",\n                RequestTimeout = 1,\n            },\n        },\n        HttpListeners = new[]\n        {\n            new Azure.Network.Inputs.ApplicationGatewayHttpListenerArgs\n            {\n                Name = listenerName,\n                FrontendIpConfigurationName = frontendIpConfigurationName,\n                FrontendPortName = frontendPortName,\n                Protocol = \"Http\",\n            },\n        },\n        RequestRoutingRules = new[]\n        {\n            new Azure.Network.Inputs.ApplicationGatewayRequestRoutingRuleArgs\n            {\n                Name = requestRoutingRuleName,\n                RuleType = \"Basic\",\n                Priority = 25,\n                HttpListenerName = listenerName,\n                BackendAddressPoolName = backendAddressPoolName,\n                BackendHttpSettingsName = httpSettingName,\n            },\n        },\n    });\n\n    var exampleNetworkInterface = new Azure.Network.NetworkInterface(\"example\", new()\n    {\n        Name = \"example-nic\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        IpConfigurations = new[]\n        {\n            new Azure.Network.Inputs.NetworkInterfaceIpConfigurationArgs\n            {\n                Name = \"testconfiguration1\",\n                SubnetId = frontend.Id,\n                PrivateIpAddressAllocation = \"Dynamic\",\n            },\n        },\n    });\n\n    var exampleNetworkInterfaceApplicationGatewayBackendAddressPoolAssociation = new Azure.Network.NetworkInterfaceApplicationGatewayBackendAddressPoolAssociation(\"example\", new()\n    {\n        NetworkInterfaceId = exampleNetworkInterface.Id,\n        IpConfigurationName = \"testconfiguration1\",\n        BackendAddressPoolId = network.BackendAddressPools.Apply(backendAddressPools =\u003e backendAddressPools[0].Id),\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, \"example\", \u0026network.VirtualNetworkArgs{\n\t\t\tName: pulumi.String(\"example-network\"),\n\t\t\tAddressSpaces: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.0.0/16\"),\n\t\t\t},\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfrontend, err := network.NewSubnet(ctx, \"frontend\", \u0026network.SubnetArgs{\n\t\t\tName:               pulumi.String(\"frontend\"),\n\t\t\tResourceGroupName:  example.Name,\n\t\t\tVirtualNetworkName: exampleVirtualNetwork.Name,\n\t\t\tAddressPrefixes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.1.0/24\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tbackend, err := network.NewSubnet(ctx, \"backend\", \u0026network.SubnetArgs{\n\t\t\tName:               pulumi.String(\"backend\"),\n\t\t\tResourceGroupName:  example.Name,\n\t\t\tVirtualNetworkName: exampleVirtualNetwork.Name,\n\t\t\tAddressPrefixes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.2.0/24\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texamplePublicIp, err := network.NewPublicIp(ctx, \"example\", \u0026network.PublicIpArgs{\n\t\t\tName:              pulumi.String(\"example-pip\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tAllocationMethod:  pulumi.String(\"Static\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tbackendAddressPoolName := exampleVirtualNetwork.Name.ApplyT(func(name string) (string, error) {\n\t\t\treturn fmt.Sprintf(\"%v-beap\", name), nil\n\t\t}).(pulumi.StringOutput)\n\t\tfrontendPortName := exampleVirtualNetwork.Name.ApplyT(func(name string) (string, error) {\n\t\t\treturn fmt.Sprintf(\"%v-feport\", name), nil\n\t\t}).(pulumi.StringOutput)\n\t\tfrontendIpConfigurationName := exampleVirtualNetwork.Name.ApplyT(func(name string) (string, error) {\n\t\t\treturn fmt.Sprintf(\"%v-feip\", name), nil\n\t\t}).(pulumi.StringOutput)\n\t\thttpSettingName := exampleVirtualNetwork.Name.ApplyT(func(name string) (string, error) {\n\t\t\treturn fmt.Sprintf(\"%v-be-htst\", name), nil\n\t\t}).(pulumi.StringOutput)\n\t\tlistenerName := exampleVirtualNetwork.Name.ApplyT(func(name string) (string, error) {\n\t\t\treturn fmt.Sprintf(\"%v-httplstn\", name), nil\n\t\t}).(pulumi.StringOutput)\n\t\trequestRoutingRuleName := exampleVirtualNetwork.Name.ApplyT(func(name string) (string, error) {\n\t\t\treturn fmt.Sprintf(\"%v-rqrt\", name), nil\n\t\t}).(pulumi.StringOutput)\n\t\tnetwork, err := network.NewApplicationGateway(ctx, \"network\", \u0026network.ApplicationGatewayArgs{\n\t\t\tName:              pulumi.String(\"example-appgateway\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tSku: \u0026network.ApplicationGatewaySkuArgs{\n\t\t\t\tName:     pulumi.String(\"Standard_v2\"),\n\t\t\t\tTier:     pulumi.String(\"Standard_v2\"),\n\t\t\t\tCapacity: pulumi.Int(2),\n\t\t\t},\n\t\t\tGatewayIpConfigurations: network.ApplicationGatewayGatewayIpConfigurationArray{\n\t\t\t\t\u0026network.ApplicationGatewayGatewayIpConfigurationArgs{\n\t\t\t\t\tName:     pulumi.String(\"my-gateway-ip-configuration\"),\n\t\t\t\t\tSubnetId: backend.ID(),\n\t\t\t\t},\n\t\t\t},\n\t\t\tFrontendPorts: network.ApplicationGatewayFrontendPortArray{\n\t\t\t\t\u0026network.ApplicationGatewayFrontendPortArgs{\n\t\t\t\t\tName: pulumi.String(frontendPortName),\n\t\t\t\t\tPort: pulumi.Int(80),\n\t\t\t\t},\n\t\t\t},\n\t\t\tFrontendIpConfigurations: network.ApplicationGatewayFrontendIpConfigurationArray{\n\t\t\t\t\u0026network.ApplicationGatewayFrontendIpConfigurationArgs{\n\t\t\t\t\tName:              pulumi.String(frontendIpConfigurationName),\n\t\t\t\t\tPublicIpAddressId: examplePublicIp.ID(),\n\t\t\t\t},\n\t\t\t},\n\t\t\tBackendAddressPools: network.ApplicationGatewayBackendAddressPoolArray{\n\t\t\t\t\u0026network.ApplicationGatewayBackendAddressPoolArgs{\n\t\t\t\t\tName: pulumi.String(backendAddressPoolName),\n\t\t\t\t},\n\t\t\t},\n\t\t\tBackendHttpSettings: network.ApplicationGatewayBackendHttpSettingArray{\n\t\t\t\t\u0026network.ApplicationGatewayBackendHttpSettingArgs{\n\t\t\t\t\tName:                pulumi.String(httpSettingName),\n\t\t\t\t\tCookieBasedAffinity: pulumi.String(\"Disabled\"),\n\t\t\t\t\tPort:                pulumi.Int(80),\n\t\t\t\t\tProtocol:            pulumi.String(\"Http\"),\n\t\t\t\t\tRequestTimeout:      pulumi.Int(1),\n\t\t\t\t},\n\t\t\t},\n\t\t\tHttpListeners: network.ApplicationGatewayHttpListenerArray{\n\t\t\t\t\u0026network.ApplicationGatewayHttpListenerArgs{\n\t\t\t\t\tName:                        pulumi.String(listenerName),\n\t\t\t\t\tFrontendIpConfigurationName: pulumi.String(frontendIpConfigurationName),\n\t\t\t\t\tFrontendPortName:            pulumi.String(frontendPortName),\n\t\t\t\t\tProtocol:                    pulumi.String(\"Http\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tRequestRoutingRules: network.ApplicationGatewayRequestRoutingRuleArray{\n\t\t\t\t\u0026network.ApplicationGatewayRequestRoutingRuleArgs{\n\t\t\t\t\tName:                    pulumi.String(requestRoutingRuleName),\n\t\t\t\t\tRuleType:                pulumi.String(\"Basic\"),\n\t\t\t\t\tPriority:                pulumi.Int(25),\n\t\t\t\t\tHttpListenerName:        pulumi.String(listenerName),\n\t\t\t\t\tBackendAddressPoolName:  pulumi.String(backendAddressPoolName),\n\t\t\t\t\tBackendHttpSettingsName: pulumi.String(httpSettingName),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNetworkInterface, err := network.NewNetworkInterface(ctx, \"example\", \u0026network.NetworkInterfaceArgs{\n\t\t\tName:              pulumi.String(\"example-nic\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tIpConfigurations: network.NetworkInterfaceIpConfigurationArray{\n\t\t\t\t\u0026network.NetworkInterfaceIpConfigurationArgs{\n\t\t\t\t\tName:                       pulumi.String(\"testconfiguration1\"),\n\t\t\t\t\tSubnetId:                   frontend.ID(),\n\t\t\t\t\tPrivateIpAddressAllocation: pulumi.String(\"Dynamic\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = network.NewNetworkInterfaceApplicationGatewayBackendAddressPoolAssociation(ctx, \"example\", \u0026network.NetworkInterfaceApplicationGatewayBackendAddressPoolAssociationArgs{\n\t\t\tNetworkInterfaceId:  exampleNetworkInterface.ID(),\n\t\t\tIpConfigurationName: pulumi.String(\"testconfiguration1\"),\n\t\t\tBackendAddressPoolId: pulumi.String(network.BackendAddressPools.ApplyT(func(backendAddressPools []network.ApplicationGatewayBackendAddressPool) (*string, error) {\n\t\t\t\treturn \u0026backendAddressPools[0].Id, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.VirtualNetwork;\nimport com.pulumi.azure.network.VirtualNetworkArgs;\nimport com.pulumi.azure.network.Subnet;\nimport com.pulumi.azure.network.SubnetArgs;\nimport com.pulumi.azure.network.PublicIp;\nimport com.pulumi.azure.network.PublicIpArgs;\nimport com.pulumi.azure.network.ApplicationGateway;\nimport com.pulumi.azure.network.ApplicationGatewayArgs;\nimport com.pulumi.azure.network.inputs.ApplicationGatewaySkuArgs;\nimport com.pulumi.azure.network.inputs.ApplicationGatewayGatewayIpConfigurationArgs;\nimport com.pulumi.azure.network.inputs.ApplicationGatewayFrontendPortArgs;\nimport com.pulumi.azure.network.inputs.ApplicationGatewayFrontendIpConfigurationArgs;\nimport com.pulumi.azure.network.inputs.ApplicationGatewayBackendAddressPoolArgs;\nimport com.pulumi.azure.network.inputs.ApplicationGatewayBackendHttpSettingArgs;\nimport com.pulumi.azure.network.inputs.ApplicationGatewayHttpListenerArgs;\nimport com.pulumi.azure.network.inputs.ApplicationGatewayRequestRoutingRuleArgs;\nimport com.pulumi.azure.network.NetworkInterface;\nimport com.pulumi.azure.network.NetworkInterfaceArgs;\nimport com.pulumi.azure.network.inputs.NetworkInterfaceIpConfigurationArgs;\nimport com.pulumi.azure.network.NetworkInterfaceApplicationGatewayBackendAddressPoolAssociation;\nimport com.pulumi.azure.network.NetworkInterfaceApplicationGatewayBackendAddressPoolAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleVirtualNetwork = new VirtualNetwork(\"exampleVirtualNetwork\", VirtualNetworkArgs.builder()\n            .name(\"example-network\")\n            .addressSpaces(\"10.0.0.0/16\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .build());\n\n        var frontend = new Subnet(\"frontend\", SubnetArgs.builder()\n            .name(\"frontend\")\n            .resourceGroupName(example.name())\n            .virtualNetworkName(exampleVirtualNetwork.name())\n            .addressPrefixes(\"10.0.1.0/24\")\n            .build());\n\n        var backend = new Subnet(\"backend\", SubnetArgs.builder()\n            .name(\"backend\")\n            .resourceGroupName(example.name())\n            .virtualNetworkName(exampleVirtualNetwork.name())\n            .addressPrefixes(\"10.0.2.0/24\")\n            .build());\n\n        var examplePublicIp = new PublicIp(\"examplePublicIp\", PublicIpArgs.builder()\n            .name(\"example-pip\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .allocationMethod(\"Static\")\n            .build());\n\n        final var backendAddressPoolName = exampleVirtualNetwork.name().applyValue(_name -\u003e String.format(\"%s-beap\", _name));\n\n        final var frontendPortName = exampleVirtualNetwork.name().applyValue(_name -\u003e String.format(\"%s-feport\", _name));\n\n        final var frontendIpConfigurationName = exampleVirtualNetwork.name().applyValue(_name -\u003e String.format(\"%s-feip\", _name));\n\n        final var httpSettingName = exampleVirtualNetwork.name().applyValue(_name -\u003e String.format(\"%s-be-htst\", _name));\n\n        final var listenerName = exampleVirtualNetwork.name().applyValue(_name -\u003e String.format(\"%s-httplstn\", _name));\n\n        final var requestRoutingRuleName = exampleVirtualNetwork.name().applyValue(_name -\u003e String.format(\"%s-rqrt\", _name));\n\n        var network = new ApplicationGateway(\"network\", ApplicationGatewayArgs.builder()\n            .name(\"example-appgateway\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .sku(ApplicationGatewaySkuArgs.builder()\n                .name(\"Standard_v2\")\n                .tier(\"Standard_v2\")\n                .capacity(2)\n                .build())\n            .gatewayIpConfigurations(ApplicationGatewayGatewayIpConfigurationArgs.builder()\n                .name(\"my-gateway-ip-configuration\")\n                .subnetId(backend.id())\n                .build())\n            .frontendPorts(ApplicationGatewayFrontendPortArgs.builder()\n                .name(frontendPortName)\n                .port(80)\n                .build())\n            .frontendIpConfigurations(ApplicationGatewayFrontendIpConfigurationArgs.builder()\n                .name(frontendIpConfigurationName)\n                .publicIpAddressId(examplePublicIp.id())\n                .build())\n            .backendAddressPools(ApplicationGatewayBackendAddressPoolArgs.builder()\n                .name(backendAddressPoolName)\n                .build())\n            .backendHttpSettings(ApplicationGatewayBackendHttpSettingArgs.builder()\n                .name(httpSettingName)\n                .cookieBasedAffinity(\"Disabled\")\n                .port(80)\n                .protocol(\"Http\")\n                .requestTimeout(1)\n                .build())\n            .httpListeners(ApplicationGatewayHttpListenerArgs.builder()\n                .name(listenerName)\n                .frontendIpConfigurationName(frontendIpConfigurationName)\n                .frontendPortName(frontendPortName)\n                .protocol(\"Http\")\n                .build())\n            .requestRoutingRules(ApplicationGatewayRequestRoutingRuleArgs.builder()\n                .name(requestRoutingRuleName)\n                .ruleType(\"Basic\")\n                .priority(25)\n                .httpListenerName(listenerName)\n                .backendAddressPoolName(backendAddressPoolName)\n                .backendHttpSettingsName(httpSettingName)\n                .build())\n            .build());\n\n        var exampleNetworkInterface = new NetworkInterface(\"exampleNetworkInterface\", NetworkInterfaceArgs.builder()\n            .name(\"example-nic\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .ipConfigurations(NetworkInterfaceIpConfigurationArgs.builder()\n                .name(\"testconfiguration1\")\n                .subnetId(frontend.id())\n                .privateIpAddressAllocation(\"Dynamic\")\n                .build())\n            .build());\n\n        var exampleNetworkInterfaceApplicationGatewayBackendAddressPoolAssociation = new NetworkInterfaceApplicationGatewayBackendAddressPoolAssociation(\"exampleNetworkInterfaceApplicationGatewayBackendAddressPoolAssociation\", NetworkInterfaceApplicationGatewayBackendAddressPoolAssociationArgs.builder()\n            .networkInterfaceId(exampleNetworkInterface.id())\n            .ipConfigurationName(\"testconfiguration1\")\n            .backendAddressPoolId(network.backendAddressPools().applyValue(_backendAddressPools -\u003e _backendAddressPools[0].id()))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleVirtualNetwork:\n    type: azure:network:VirtualNetwork\n    name: example\n    properties:\n      name: example-network\n      addressSpaces:\n        - 10.0.0.0/16\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n  frontend:\n    type: azure:network:Subnet\n    properties:\n      name: frontend\n      resourceGroupName: ${example.name}\n      virtualNetworkName: ${exampleVirtualNetwork.name}\n      addressPrefixes:\n        - 10.0.1.0/24\n  backend:\n    type: azure:network:Subnet\n    properties:\n      name: backend\n      resourceGroupName: ${example.name}\n      virtualNetworkName: ${exampleVirtualNetwork.name}\n      addressPrefixes:\n        - 10.0.2.0/24\n  examplePublicIp:\n    type: azure:network:PublicIp\n    name: example\n    properties:\n      name: example-pip\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      allocationMethod: Static\n  network:\n    type: azure:network:ApplicationGateway\n    properties:\n      name: example-appgateway\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      sku:\n        name: Standard_v2\n        tier: Standard_v2\n        capacity: 2\n      gatewayIpConfigurations:\n        - name: my-gateway-ip-configuration\n          subnetId: ${backend.id}\n      frontendPorts:\n        - name: ${frontendPortName}\n          port: 80\n      frontendIpConfigurations:\n        - name: ${frontendIpConfigurationName}\n          publicIpAddressId: ${examplePublicIp.id}\n      backendAddressPools:\n        - name: ${backendAddressPoolName}\n      backendHttpSettings:\n        - name: ${httpSettingName}\n          cookieBasedAffinity: Disabled\n          port: 80\n          protocol: Http\n          requestTimeout: 1\n      httpListeners:\n        - name: ${listenerName}\n          frontendIpConfigurationName: ${frontendIpConfigurationName}\n          frontendPortName: ${frontendPortName}\n          protocol: Http\n      requestRoutingRules:\n        - name: ${requestRoutingRuleName}\n          ruleType: Basic\n          priority: 25\n          httpListenerName: ${listenerName}\n          backendAddressPoolName: ${backendAddressPoolName}\n          backendHttpSettingsName: ${httpSettingName}\n  exampleNetworkInterface:\n    type: azure:network:NetworkInterface\n    name: example\n    properties:\n      name: example-nic\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      ipConfigurations:\n        - name: testconfiguration1\n          subnetId: ${frontend.id}\n          privateIpAddressAllocation: Dynamic\n  exampleNetworkInterfaceApplicationGatewayBackendAddressPoolAssociation:\n    type: azure:network:NetworkInterfaceApplicationGatewayBackendAddressPoolAssociation\n    name: example\n    properties:\n      networkInterfaceId: ${exampleNetworkInterface.id}\n      ipConfigurationName: testconfiguration1\n      backendAddressPoolId: ${network.backendAddressPools[0].id}\nvariables:\n  backendAddressPoolName: ${exampleVirtualNetwork.name}-beap\n  frontendPortName: ${exampleVirtualNetwork.name}-feport\n  frontendIpConfigurationName: ${exampleVirtualNetwork.name}-feip\n  httpSettingName: ${exampleVirtualNetwork.name}-be-htst\n  listenerName: ${exampleVirtualNetwork.name}-httplstn\n  requestRoutingRuleName: ${exampleVirtualNetwork.name}-rqrt\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2025-01-01\n\n## Import\n\nAssociations between Network Interfaces and Application Gateway Backend Address Pools can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:network/networkInterfaceApplicationGatewayBackendAddressPoolAssociation:NetworkInterfaceApplicationGatewayBackendAddressPoolAssociation association1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Network/networkInterfaces/nic1/ipConfigurations/example|/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Network/applicationGateways/gateway1/backendAddressPools/pool1\n```\n\n\u003e **Note:** This ID is specific to this provider - and is of the format `{networkInterfaceId}/ipConfigurations/{ipConfigurationName}|{backendAddressPoolId}`.\n\n","properties":{"backendAddressPoolId":{"type":"string","description":"The ID of the Application Gateway's Backend Address Pool which this Network Interface which should be connected to. Changing this forces a new resource to be created.\n"},"ipConfigurationName":{"type":"string","description":"The Name of the IP Configuration within the Network Interface which should be connected to the Backend Address Pool. Changing this forces a new resource to be created.\n"},"networkInterfaceId":{"type":"string","description":"The ID of the Network Interface. Changing this forces a new resource to be created.\n"}},"required":["backendAddressPoolId","ipConfigurationName","networkInterfaceId"],"inputProperties":{"backendAddressPoolId":{"type":"string","description":"The ID of the Application Gateway's Backend Address Pool which this Network Interface which should be connected to. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"ipConfigurationName":{"type":"string","description":"The Name of the IP Configuration within the Network Interface which should be connected to the Backend Address Pool. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"networkInterfaceId":{"type":"string","description":"The ID of the Network Interface. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["backendAddressPoolId","ipConfigurationName","networkInterfaceId"],"stateInputs":{"description":"Input properties used for looking up and filtering NetworkInterfaceApplicationGatewayBackendAddressPoolAssociation resources.\n","properties":{"backendAddressPoolId":{"type":"string","description":"The ID of the Application Gateway's Backend Address Pool which this Network Interface which should be connected to. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"ipConfigurationName":{"type":"string","description":"The Name of the IP Configuration within the Network Interface which should be connected to the Backend Address Pool. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"networkInterfaceId":{"type":"string","description":"The ID of the Network Interface. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:network/networkInterfaceApplicationSecurityGroupAssociation:NetworkInterfaceApplicationSecurityGroupAssociation":{"description":"Manages the association between a Network Interface and a Application Security Group.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"example\", {\n    name: \"example-network\",\n    addressSpaces: [\"10.0.0.0/16\"],\n    location: example.location,\n    resourceGroupName: example.name,\n});\nconst exampleSubnet = new azure.network.Subnet(\"example\", {\n    name: \"internal\",\n    resourceGroupName: example.name,\n    virtualNetworkName: exampleVirtualNetwork.name,\n    addressPrefixes: [\"10.0.1.0/24\"],\n});\nconst exampleApplicationSecurityGroup = new azure.network.ApplicationSecurityGroup(\"example\", {\n    name: \"example-asg\",\n    location: example.location,\n    resourceGroupName: example.name,\n});\nconst exampleNetworkInterface = new azure.network.NetworkInterface(\"example\", {\n    name: \"example-nic\",\n    location: example.location,\n    resourceGroupName: example.name,\n    ipConfigurations: [{\n        name: \"testconfiguration1\",\n        subnetId: exampleSubnet.id,\n        privateIpAddressAllocation: \"Dynamic\",\n    }],\n});\nconst exampleNetworkInterfaceApplicationSecurityGroupAssociation = new azure.network.NetworkInterfaceApplicationSecurityGroupAssociation(\"example\", {\n    networkInterfaceId: exampleNetworkInterface.id,\n    applicationSecurityGroupId: exampleApplicationSecurityGroup.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_virtual_network = azure.network.VirtualNetwork(\"example\",\n    name=\"example-network\",\n    address_spaces=[\"10.0.0.0/16\"],\n    location=example.location,\n    resource_group_name=example.name)\nexample_subnet = azure.network.Subnet(\"example\",\n    name=\"internal\",\n    resource_group_name=example.name,\n    virtual_network_name=example_virtual_network.name,\n    address_prefixes=[\"10.0.1.0/24\"])\nexample_application_security_group = azure.network.ApplicationSecurityGroup(\"example\",\n    name=\"example-asg\",\n    location=example.location,\n    resource_group_name=example.name)\nexample_network_interface = azure.network.NetworkInterface(\"example\",\n    name=\"example-nic\",\n    location=example.location,\n    resource_group_name=example.name,\n    ip_configurations=[{\n        \"name\": \"testconfiguration1\",\n        \"subnet_id\": example_subnet.id,\n        \"private_ip_address_allocation\": \"Dynamic\",\n    }])\nexample_network_interface_application_security_group_association = azure.network.NetworkInterfaceApplicationSecurityGroupAssociation(\"example\",\n    network_interface_id=example_network_interface.id,\n    application_security_group_id=example_application_security_group.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleVirtualNetwork = new Azure.Network.VirtualNetwork(\"example\", new()\n    {\n        Name = \"example-network\",\n        AddressSpaces = new[]\n        {\n            \"10.0.0.0/16\",\n        },\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n    });\n\n    var exampleSubnet = new Azure.Network.Subnet(\"example\", new()\n    {\n        Name = \"internal\",\n        ResourceGroupName = example.Name,\n        VirtualNetworkName = exampleVirtualNetwork.Name,\n        AddressPrefixes = new[]\n        {\n            \"10.0.1.0/24\",\n        },\n    });\n\n    var exampleApplicationSecurityGroup = new Azure.Network.ApplicationSecurityGroup(\"example\", new()\n    {\n        Name = \"example-asg\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n    });\n\n    var exampleNetworkInterface = new Azure.Network.NetworkInterface(\"example\", new()\n    {\n        Name = \"example-nic\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        IpConfigurations = new[]\n        {\n            new Azure.Network.Inputs.NetworkInterfaceIpConfigurationArgs\n            {\n                Name = \"testconfiguration1\",\n                SubnetId = exampleSubnet.Id,\n                PrivateIpAddressAllocation = \"Dynamic\",\n            },\n        },\n    });\n\n    var exampleNetworkInterfaceApplicationSecurityGroupAssociation = new Azure.Network.NetworkInterfaceApplicationSecurityGroupAssociation(\"example\", new()\n    {\n        NetworkInterfaceId = exampleNetworkInterface.Id,\n        ApplicationSecurityGroupId = exampleApplicationSecurityGroup.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, \"example\", \u0026network.VirtualNetworkArgs{\n\t\t\tName: pulumi.String(\"example-network\"),\n\t\t\tAddressSpaces: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.0.0/16\"),\n\t\t\t},\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSubnet, err := network.NewSubnet(ctx, \"example\", \u0026network.SubnetArgs{\n\t\t\tName:               pulumi.String(\"internal\"),\n\t\t\tResourceGroupName:  example.Name,\n\t\t\tVirtualNetworkName: exampleVirtualNetwork.Name,\n\t\t\tAddressPrefixes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.1.0/24\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleApplicationSecurityGroup, err := network.NewApplicationSecurityGroup(ctx, \"example\", \u0026network.ApplicationSecurityGroupArgs{\n\t\t\tName:              pulumi.String(\"example-asg\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNetworkInterface, err := network.NewNetworkInterface(ctx, \"example\", \u0026network.NetworkInterfaceArgs{\n\t\t\tName:              pulumi.String(\"example-nic\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tIpConfigurations: network.NetworkInterfaceIpConfigurationArray{\n\t\t\t\t\u0026network.NetworkInterfaceIpConfigurationArgs{\n\t\t\t\t\tName:                       pulumi.String(\"testconfiguration1\"),\n\t\t\t\t\tSubnetId:                   exampleSubnet.ID(),\n\t\t\t\t\tPrivateIpAddressAllocation: pulumi.String(\"Dynamic\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = network.NewNetworkInterfaceApplicationSecurityGroupAssociation(ctx, \"example\", \u0026network.NetworkInterfaceApplicationSecurityGroupAssociationArgs{\n\t\t\tNetworkInterfaceId:         exampleNetworkInterface.ID(),\n\t\t\tApplicationSecurityGroupId: exampleApplicationSecurityGroup.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.VirtualNetwork;\nimport com.pulumi.azure.network.VirtualNetworkArgs;\nimport com.pulumi.azure.network.Subnet;\nimport com.pulumi.azure.network.SubnetArgs;\nimport com.pulumi.azure.network.ApplicationSecurityGroup;\nimport com.pulumi.azure.network.ApplicationSecurityGroupArgs;\nimport com.pulumi.azure.network.NetworkInterface;\nimport com.pulumi.azure.network.NetworkInterfaceArgs;\nimport com.pulumi.azure.network.inputs.NetworkInterfaceIpConfigurationArgs;\nimport com.pulumi.azure.network.NetworkInterfaceApplicationSecurityGroupAssociation;\nimport com.pulumi.azure.network.NetworkInterfaceApplicationSecurityGroupAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleVirtualNetwork = new VirtualNetwork(\"exampleVirtualNetwork\", VirtualNetworkArgs.builder()\n            .name(\"example-network\")\n            .addressSpaces(\"10.0.0.0/16\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .build());\n\n        var exampleSubnet = new Subnet(\"exampleSubnet\", SubnetArgs.builder()\n            .name(\"internal\")\n            .resourceGroupName(example.name())\n            .virtualNetworkName(exampleVirtualNetwork.name())\n            .addressPrefixes(\"10.0.1.0/24\")\n            .build());\n\n        var exampleApplicationSecurityGroup = new ApplicationSecurityGroup(\"exampleApplicationSecurityGroup\", ApplicationSecurityGroupArgs.builder()\n            .name(\"example-asg\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .build());\n\n        var exampleNetworkInterface = new NetworkInterface(\"exampleNetworkInterface\", NetworkInterfaceArgs.builder()\n            .name(\"example-nic\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .ipConfigurations(NetworkInterfaceIpConfigurationArgs.builder()\n                .name(\"testconfiguration1\")\n                .subnetId(exampleSubnet.id())\n                .privateIpAddressAllocation(\"Dynamic\")\n                .build())\n            .build());\n\n        var exampleNetworkInterfaceApplicationSecurityGroupAssociation = new NetworkInterfaceApplicationSecurityGroupAssociation(\"exampleNetworkInterfaceApplicationSecurityGroupAssociation\", NetworkInterfaceApplicationSecurityGroupAssociationArgs.builder()\n            .networkInterfaceId(exampleNetworkInterface.id())\n            .applicationSecurityGroupId(exampleApplicationSecurityGroup.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleVirtualNetwork:\n    type: azure:network:VirtualNetwork\n    name: example\n    properties:\n      name: example-network\n      addressSpaces:\n        - 10.0.0.0/16\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n  exampleSubnet:\n    type: azure:network:Subnet\n    name: example\n    properties:\n      name: internal\n      resourceGroupName: ${example.name}\n      virtualNetworkName: ${exampleVirtualNetwork.name}\n      addressPrefixes:\n        - 10.0.1.0/24\n  exampleApplicationSecurityGroup:\n    type: azure:network:ApplicationSecurityGroup\n    name: example\n    properties:\n      name: example-asg\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n  exampleNetworkInterface:\n    type: azure:network:NetworkInterface\n    name: example\n    properties:\n      name: example-nic\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      ipConfigurations:\n        - name: testconfiguration1\n          subnetId: ${exampleSubnet.id}\n          privateIpAddressAllocation: Dynamic\n  exampleNetworkInterfaceApplicationSecurityGroupAssociation:\n    type: azure:network:NetworkInterfaceApplicationSecurityGroupAssociation\n    name: example\n    properties:\n      networkInterfaceId: ${exampleNetworkInterface.id}\n      applicationSecurityGroupId: ${exampleApplicationSecurityGroup.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2025-01-01\n\n## Import\n\nAssociations between Network Interfaces and Application Security Groups can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:network/networkInterfaceApplicationSecurityGroupAssociation:NetworkInterfaceApplicationSecurityGroupAssociation association1 \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Network/networkInterfaces/nic1|/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Network/applicationSecurityGroups/securityGroup1\"\n```\n\n\u003e **Note:** This ID is specific to this provider - and is of the format `{networkInterfaceId}|{applicationSecurityGroupId}`.\n\n","properties":{"applicationSecurityGroupId":{"type":"string","description":"The ID of the Application Security Group which this Network Interface which should be connected to. Changing this forces a new resource to be created.\n"},"networkInterfaceId":{"type":"string","description":"The ID of the Network Interface. Changing this forces a new resource to be created.\n"}},"required":["applicationSecurityGroupId","networkInterfaceId"],"inputProperties":{"applicationSecurityGroupId":{"type":"string","description":"The ID of the Application Security Group which this Network Interface which should be connected to. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"networkInterfaceId":{"type":"string","description":"The ID of the Network Interface. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["applicationSecurityGroupId","networkInterfaceId"],"stateInputs":{"description":"Input properties used for looking up and filtering NetworkInterfaceApplicationSecurityGroupAssociation resources.\n","properties":{"applicationSecurityGroupId":{"type":"string","description":"The ID of the Application Security Group which this Network Interface which should be connected to. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"networkInterfaceId":{"type":"string","description":"The ID of the Network Interface. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:network/networkInterfaceBackendAddressPoolAssociation:NetworkInterfaceBackendAddressPoolAssociation":{"description":"Manages the association between a Network Interface and a Load Balancer's Backend Address Pool.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"example\", {\n    name: \"example-network\",\n    addressSpaces: [\"10.0.0.0/16\"],\n    location: example.location,\n    resourceGroupName: example.name,\n});\nconst exampleSubnet = new azure.network.Subnet(\"example\", {\n    name: \"internal\",\n    resourceGroupName: example.name,\n    virtualNetworkName: exampleVirtualNetwork.name,\n    addressPrefixes: [\"10.0.2.0/24\"],\n});\nconst examplePublicIp = new azure.network.PublicIp(\"example\", {\n    name: \"example-pip\",\n    location: example.location,\n    resourceGroupName: example.name,\n    allocationMethod: \"Static\",\n});\nconst exampleLoadBalancer = new azure.lb.LoadBalancer(\"example\", {\n    name: \"example-lb\",\n    location: example.location,\n    resourceGroupName: example.name,\n    frontendIpConfigurations: [{\n        name: \"primary\",\n        publicIpAddressId: examplePublicIp.id,\n    }],\n});\nconst exampleBackendAddressPool = new azure.lb.BackendAddressPool(\"example\", {\n    loadbalancerId: exampleLoadBalancer.id,\n    name: \"acctestpool\",\n});\nconst exampleNetworkInterface = new azure.network.NetworkInterface(\"example\", {\n    name: \"example-nic\",\n    location: example.location,\n    resourceGroupName: example.name,\n    ipConfigurations: [{\n        name: \"testconfiguration1\",\n        subnetId: exampleSubnet.id,\n        privateIpAddressAllocation: \"Dynamic\",\n    }],\n});\nconst exampleNetworkInterfaceBackendAddressPoolAssociation = new azure.network.NetworkInterfaceBackendAddressPoolAssociation(\"example\", {\n    networkInterfaceId: exampleNetworkInterface.id,\n    ipConfigurationName: \"testconfiguration1\",\n    backendAddressPoolId: exampleBackendAddressPool.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_virtual_network = azure.network.VirtualNetwork(\"example\",\n    name=\"example-network\",\n    address_spaces=[\"10.0.0.0/16\"],\n    location=example.location,\n    resource_group_name=example.name)\nexample_subnet = azure.network.Subnet(\"example\",\n    name=\"internal\",\n    resource_group_name=example.name,\n    virtual_network_name=example_virtual_network.name,\n    address_prefixes=[\"10.0.2.0/24\"])\nexample_public_ip = azure.network.PublicIp(\"example\",\n    name=\"example-pip\",\n    location=example.location,\n    resource_group_name=example.name,\n    allocation_method=\"Static\")\nexample_load_balancer = azure.lb.LoadBalancer(\"example\",\n    name=\"example-lb\",\n    location=example.location,\n    resource_group_name=example.name,\n    frontend_ip_configurations=[{\n        \"name\": \"primary\",\n        \"public_ip_address_id\": example_public_ip.id,\n    }])\nexample_backend_address_pool = azure.lb.BackendAddressPool(\"example\",\n    loadbalancer_id=example_load_balancer.id,\n    name=\"acctestpool\")\nexample_network_interface = azure.network.NetworkInterface(\"example\",\n    name=\"example-nic\",\n    location=example.location,\n    resource_group_name=example.name,\n    ip_configurations=[{\n        \"name\": \"testconfiguration1\",\n        \"subnet_id\": example_subnet.id,\n        \"private_ip_address_allocation\": \"Dynamic\",\n    }])\nexample_network_interface_backend_address_pool_association = azure.network.NetworkInterfaceBackendAddressPoolAssociation(\"example\",\n    network_interface_id=example_network_interface.id,\n    ip_configuration_name=\"testconfiguration1\",\n    backend_address_pool_id=example_backend_address_pool.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleVirtualNetwork = new Azure.Network.VirtualNetwork(\"example\", new()\n    {\n        Name = \"example-network\",\n        AddressSpaces = new[]\n        {\n            \"10.0.0.0/16\",\n        },\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n    });\n\n    var exampleSubnet = new Azure.Network.Subnet(\"example\", new()\n    {\n        Name = \"internal\",\n        ResourceGroupName = example.Name,\n        VirtualNetworkName = exampleVirtualNetwork.Name,\n        AddressPrefixes = new[]\n        {\n            \"10.0.2.0/24\",\n        },\n    });\n\n    var examplePublicIp = new Azure.Network.PublicIp(\"example\", new()\n    {\n        Name = \"example-pip\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        AllocationMethod = \"Static\",\n    });\n\n    var exampleLoadBalancer = new Azure.Lb.LoadBalancer(\"example\", new()\n    {\n        Name = \"example-lb\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        FrontendIpConfigurations = new[]\n        {\n            new Azure.Lb.Inputs.LoadBalancerFrontendIpConfigurationArgs\n            {\n                Name = \"primary\",\n                PublicIpAddressId = examplePublicIp.Id,\n            },\n        },\n    });\n\n    var exampleBackendAddressPool = new Azure.Lb.BackendAddressPool(\"example\", new()\n    {\n        LoadbalancerId = exampleLoadBalancer.Id,\n        Name = \"acctestpool\",\n    });\n\n    var exampleNetworkInterface = new Azure.Network.NetworkInterface(\"example\", new()\n    {\n        Name = \"example-nic\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        IpConfigurations = new[]\n        {\n            new Azure.Network.Inputs.NetworkInterfaceIpConfigurationArgs\n            {\n                Name = \"testconfiguration1\",\n                SubnetId = exampleSubnet.Id,\n                PrivateIpAddressAllocation = \"Dynamic\",\n            },\n        },\n    });\n\n    var exampleNetworkInterfaceBackendAddressPoolAssociation = new Azure.Network.NetworkInterfaceBackendAddressPoolAssociation(\"example\", new()\n    {\n        NetworkInterfaceId = exampleNetworkInterface.Id,\n        IpConfigurationName = \"testconfiguration1\",\n        BackendAddressPoolId = exampleBackendAddressPool.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/lb\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, \"example\", \u0026network.VirtualNetworkArgs{\n\t\t\tName: pulumi.String(\"example-network\"),\n\t\t\tAddressSpaces: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.0.0/16\"),\n\t\t\t},\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSubnet, err := network.NewSubnet(ctx, \"example\", \u0026network.SubnetArgs{\n\t\t\tName:               pulumi.String(\"internal\"),\n\t\t\tResourceGroupName:  example.Name,\n\t\t\tVirtualNetworkName: exampleVirtualNetwork.Name,\n\t\t\tAddressPrefixes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.2.0/24\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texamplePublicIp, err := network.NewPublicIp(ctx, \"example\", \u0026network.PublicIpArgs{\n\t\t\tName:              pulumi.String(\"example-pip\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tAllocationMethod:  pulumi.String(\"Static\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleLoadBalancer, err := lb.NewLoadBalancer(ctx, \"example\", \u0026lb.LoadBalancerArgs{\n\t\t\tName:              pulumi.String(\"example-lb\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tFrontendIpConfigurations: lb.LoadBalancerFrontendIpConfigurationArray{\n\t\t\t\t\u0026lb.LoadBalancerFrontendIpConfigurationArgs{\n\t\t\t\t\tName:              pulumi.String(\"primary\"),\n\t\t\t\t\tPublicIpAddressId: examplePublicIp.ID(),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleBackendAddressPool, err := lb.NewBackendAddressPool(ctx, \"example\", \u0026lb.BackendAddressPoolArgs{\n\t\t\tLoadbalancerId: exampleLoadBalancer.ID(),\n\t\t\tName:           pulumi.String(\"acctestpool\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNetworkInterface, err := network.NewNetworkInterface(ctx, \"example\", \u0026network.NetworkInterfaceArgs{\n\t\t\tName:              pulumi.String(\"example-nic\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tIpConfigurations: network.NetworkInterfaceIpConfigurationArray{\n\t\t\t\t\u0026network.NetworkInterfaceIpConfigurationArgs{\n\t\t\t\t\tName:                       pulumi.String(\"testconfiguration1\"),\n\t\t\t\t\tSubnetId:                   exampleSubnet.ID(),\n\t\t\t\t\tPrivateIpAddressAllocation: pulumi.String(\"Dynamic\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = network.NewNetworkInterfaceBackendAddressPoolAssociation(ctx, \"example\", \u0026network.NetworkInterfaceBackendAddressPoolAssociationArgs{\n\t\t\tNetworkInterfaceId:   exampleNetworkInterface.ID(),\n\t\t\tIpConfigurationName:  pulumi.String(\"testconfiguration1\"),\n\t\t\tBackendAddressPoolId: exampleBackendAddressPool.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.VirtualNetwork;\nimport com.pulumi.azure.network.VirtualNetworkArgs;\nimport com.pulumi.azure.network.Subnet;\nimport com.pulumi.azure.network.SubnetArgs;\nimport com.pulumi.azure.network.PublicIp;\nimport com.pulumi.azure.network.PublicIpArgs;\nimport com.pulumi.azure.lb.LoadBalancer;\nimport com.pulumi.azure.lb.LoadBalancerArgs;\nimport com.pulumi.azure.lb.inputs.LoadBalancerFrontendIpConfigurationArgs;\nimport com.pulumi.azure.lb.BackendAddressPool;\nimport com.pulumi.azure.lb.BackendAddressPoolArgs;\nimport com.pulumi.azure.network.NetworkInterface;\nimport com.pulumi.azure.network.NetworkInterfaceArgs;\nimport com.pulumi.azure.network.inputs.NetworkInterfaceIpConfigurationArgs;\nimport com.pulumi.azure.network.NetworkInterfaceBackendAddressPoolAssociation;\nimport com.pulumi.azure.network.NetworkInterfaceBackendAddressPoolAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleVirtualNetwork = new VirtualNetwork(\"exampleVirtualNetwork\", VirtualNetworkArgs.builder()\n            .name(\"example-network\")\n            .addressSpaces(\"10.0.0.0/16\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .build());\n\n        var exampleSubnet = new Subnet(\"exampleSubnet\", SubnetArgs.builder()\n            .name(\"internal\")\n            .resourceGroupName(example.name())\n            .virtualNetworkName(exampleVirtualNetwork.name())\n            .addressPrefixes(\"10.0.2.0/24\")\n            .build());\n\n        var examplePublicIp = new PublicIp(\"examplePublicIp\", PublicIpArgs.builder()\n            .name(\"example-pip\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .allocationMethod(\"Static\")\n            .build());\n\n        var exampleLoadBalancer = new LoadBalancer(\"exampleLoadBalancer\", LoadBalancerArgs.builder()\n            .name(\"example-lb\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .frontendIpConfigurations(LoadBalancerFrontendIpConfigurationArgs.builder()\n                .name(\"primary\")\n                .publicIpAddressId(examplePublicIp.id())\n                .build())\n            .build());\n\n        var exampleBackendAddressPool = new BackendAddressPool(\"exampleBackendAddressPool\", BackendAddressPoolArgs.builder()\n            .loadbalancerId(exampleLoadBalancer.id())\n            .name(\"acctestpool\")\n            .build());\n\n        var exampleNetworkInterface = new NetworkInterface(\"exampleNetworkInterface\", NetworkInterfaceArgs.builder()\n            .name(\"example-nic\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .ipConfigurations(NetworkInterfaceIpConfigurationArgs.builder()\n                .name(\"testconfiguration1\")\n                .subnetId(exampleSubnet.id())\n                .privateIpAddressAllocation(\"Dynamic\")\n                .build())\n            .build());\n\n        var exampleNetworkInterfaceBackendAddressPoolAssociation = new NetworkInterfaceBackendAddressPoolAssociation(\"exampleNetworkInterfaceBackendAddressPoolAssociation\", NetworkInterfaceBackendAddressPoolAssociationArgs.builder()\n            .networkInterfaceId(exampleNetworkInterface.id())\n            .ipConfigurationName(\"testconfiguration1\")\n            .backendAddressPoolId(exampleBackendAddressPool.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleVirtualNetwork:\n    type: azure:network:VirtualNetwork\n    name: example\n    properties:\n      name: example-network\n      addressSpaces:\n        - 10.0.0.0/16\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n  exampleSubnet:\n    type: azure:network:Subnet\n    name: example\n    properties:\n      name: internal\n      resourceGroupName: ${example.name}\n      virtualNetworkName: ${exampleVirtualNetwork.name}\n      addressPrefixes:\n        - 10.0.2.0/24\n  examplePublicIp:\n    type: azure:network:PublicIp\n    name: example\n    properties:\n      name: example-pip\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      allocationMethod: Static\n  exampleLoadBalancer:\n    type: azure:lb:LoadBalancer\n    name: example\n    properties:\n      name: example-lb\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      frontendIpConfigurations:\n        - name: primary\n          publicIpAddressId: ${examplePublicIp.id}\n  exampleBackendAddressPool:\n    type: azure:lb:BackendAddressPool\n    name: example\n    properties:\n      loadbalancerId: ${exampleLoadBalancer.id}\n      name: acctestpool\n  exampleNetworkInterface:\n    type: azure:network:NetworkInterface\n    name: example\n    properties:\n      name: example-nic\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      ipConfigurations:\n        - name: testconfiguration1\n          subnetId: ${exampleSubnet.id}\n          privateIpAddressAllocation: Dynamic\n  exampleNetworkInterfaceBackendAddressPoolAssociation:\n    type: azure:network:NetworkInterfaceBackendAddressPoolAssociation\n    name: example\n    properties:\n      networkInterfaceId: ${exampleNetworkInterface.id}\n      ipConfigurationName: testconfiguration1\n      backendAddressPoolId: ${exampleBackendAddressPool.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2025-01-01\n\n## Import\n\nAssociations between Network Interfaces and Load Balancer Backend Address Pools can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:network/networkInterfaceBackendAddressPoolAssociation:NetworkInterfaceBackendAddressPoolAssociation association1 \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Network/networkInterfaces/nic1/ipConfigurations/example|/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Network/loadBalancers/lb1/backendAddressPools/pool1\"\n```\n\n\u003e **Note:** This ID is specific to this provider - and is of the format `{networkInterfaceId}/ipConfigurations/{ipConfigurationName}|{backendAddressPoolId}`.\n\n","properties":{"backendAddressPoolId":{"type":"string","description":"The ID of the Load Balancer Backend Address Pool which this Network Interface should be connected to. Changing this forces a new resource to be created.\n"},"ipConfigurationName":{"type":"string","description":"The Name of the IP Configuration within the Network Interface which should be connected to the Backend Address Pool. Changing this forces a new resource to be created.\n"},"networkInterfaceId":{"type":"string","description":"The ID of the Network Interface. Changing this forces a new resource to be created.\n"}},"required":["backendAddressPoolId","ipConfigurationName","networkInterfaceId"],"inputProperties":{"backendAddressPoolId":{"type":"string","description":"The ID of the Load Balancer Backend Address Pool which this Network Interface should be connected to. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"ipConfigurationName":{"type":"string","description":"The Name of the IP Configuration within the Network Interface which should be connected to the Backend Address Pool. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"networkInterfaceId":{"type":"string","description":"The ID of the Network Interface. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["backendAddressPoolId","ipConfigurationName","networkInterfaceId"],"stateInputs":{"description":"Input properties used for looking up and filtering NetworkInterfaceBackendAddressPoolAssociation resources.\n","properties":{"backendAddressPoolId":{"type":"string","description":"The ID of the Load Balancer Backend Address Pool which this Network Interface should be connected to. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"ipConfigurationName":{"type":"string","description":"The Name of the IP Configuration within the Network Interface which should be connected to the Backend Address Pool. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"networkInterfaceId":{"type":"string","description":"The ID of the Network Interface. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:network/networkInterfaceNatRuleAssociation:NetworkInterfaceNatRuleAssociation":{"description":"Manages the association between a Network Interface and a Load Balancer's NAT Rule.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"example\", {\n    name: \"example-network\",\n    addressSpaces: [\"10.0.0.0/16\"],\n    location: example.location,\n    resourceGroupName: example.name,\n});\nconst exampleSubnet = new azure.network.Subnet(\"example\", {\n    name: \"internal\",\n    resourceGroupName: example.name,\n    virtualNetworkName: exampleVirtualNetwork.name,\n    addressPrefixes: [\"10.0.2.0/24\"],\n});\nconst examplePublicIp = new azure.network.PublicIp(\"example\", {\n    name: \"example-pip\",\n    location: example.location,\n    resourceGroupName: example.name,\n    allocationMethod: \"Static\",\n});\nconst exampleLoadBalancer = new azure.lb.LoadBalancer(\"example\", {\n    name: \"example-lb\",\n    location: example.location,\n    resourceGroupName: example.name,\n    frontendIpConfigurations: [{\n        name: \"primary\",\n        publicIpAddressId: examplePublicIp.id,\n    }],\n});\nconst exampleNatRule = new azure.lb.NatRule(\"example\", {\n    resourceGroupName: example.name,\n    loadbalancerId: exampleLoadBalancer.id,\n    name: \"RDPAccess\",\n    protocol: \"Tcp\",\n    frontendPort: 3389,\n    backendPort: 3389,\n    frontendIpConfigurationName: \"primary\",\n});\nconst exampleNetworkInterface = new azure.network.NetworkInterface(\"example\", {\n    name: \"example-nic\",\n    location: example.location,\n    resourceGroupName: example.name,\n    ipConfigurations: [{\n        name: \"testconfiguration1\",\n        subnetId: exampleSubnet.id,\n        privateIpAddressAllocation: \"Dynamic\",\n    }],\n});\nconst exampleNetworkInterfaceNatRuleAssociation = new azure.network.NetworkInterfaceNatRuleAssociation(\"example\", {\n    networkInterfaceId: exampleNetworkInterface.id,\n    ipConfigurationName: \"testconfiguration1\",\n    natRuleId: exampleNatRule.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_virtual_network = azure.network.VirtualNetwork(\"example\",\n    name=\"example-network\",\n    address_spaces=[\"10.0.0.0/16\"],\n    location=example.location,\n    resource_group_name=example.name)\nexample_subnet = azure.network.Subnet(\"example\",\n    name=\"internal\",\n    resource_group_name=example.name,\n    virtual_network_name=example_virtual_network.name,\n    address_prefixes=[\"10.0.2.0/24\"])\nexample_public_ip = azure.network.PublicIp(\"example\",\n    name=\"example-pip\",\n    location=example.location,\n    resource_group_name=example.name,\n    allocation_method=\"Static\")\nexample_load_balancer = azure.lb.LoadBalancer(\"example\",\n    name=\"example-lb\",\n    location=example.location,\n    resource_group_name=example.name,\n    frontend_ip_configurations=[{\n        \"name\": \"primary\",\n        \"public_ip_address_id\": example_public_ip.id,\n    }])\nexample_nat_rule = azure.lb.NatRule(\"example\",\n    resource_group_name=example.name,\n    loadbalancer_id=example_load_balancer.id,\n    name=\"RDPAccess\",\n    protocol=\"Tcp\",\n    frontend_port=3389,\n    backend_port=3389,\n    frontend_ip_configuration_name=\"primary\")\nexample_network_interface = azure.network.NetworkInterface(\"example\",\n    name=\"example-nic\",\n    location=example.location,\n    resource_group_name=example.name,\n    ip_configurations=[{\n        \"name\": \"testconfiguration1\",\n        \"subnet_id\": example_subnet.id,\n        \"private_ip_address_allocation\": \"Dynamic\",\n    }])\nexample_network_interface_nat_rule_association = azure.network.NetworkInterfaceNatRuleAssociation(\"example\",\n    network_interface_id=example_network_interface.id,\n    ip_configuration_name=\"testconfiguration1\",\n    nat_rule_id=example_nat_rule.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleVirtualNetwork = new Azure.Network.VirtualNetwork(\"example\", new()\n    {\n        Name = \"example-network\",\n        AddressSpaces = new[]\n        {\n            \"10.0.0.0/16\",\n        },\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n    });\n\n    var exampleSubnet = new Azure.Network.Subnet(\"example\", new()\n    {\n        Name = \"internal\",\n        ResourceGroupName = example.Name,\n        VirtualNetworkName = exampleVirtualNetwork.Name,\n        AddressPrefixes = new[]\n        {\n            \"10.0.2.0/24\",\n        },\n    });\n\n    var examplePublicIp = new Azure.Network.PublicIp(\"example\", new()\n    {\n        Name = \"example-pip\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        AllocationMethod = \"Static\",\n    });\n\n    var exampleLoadBalancer = new Azure.Lb.LoadBalancer(\"example\", new()\n    {\n        Name = \"example-lb\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        FrontendIpConfigurations = new[]\n        {\n            new Azure.Lb.Inputs.LoadBalancerFrontendIpConfigurationArgs\n            {\n                Name = \"primary\",\n                PublicIpAddressId = examplePublicIp.Id,\n            },\n        },\n    });\n\n    var exampleNatRule = new Azure.Lb.NatRule(\"example\", new()\n    {\n        ResourceGroupName = example.Name,\n        LoadbalancerId = exampleLoadBalancer.Id,\n        Name = \"RDPAccess\",\n        Protocol = \"Tcp\",\n        FrontendPort = 3389,\n        BackendPort = 3389,\n        FrontendIpConfigurationName = \"primary\",\n    });\n\n    var exampleNetworkInterface = new Azure.Network.NetworkInterface(\"example\", new()\n    {\n        Name = \"example-nic\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        IpConfigurations = new[]\n        {\n            new Azure.Network.Inputs.NetworkInterfaceIpConfigurationArgs\n            {\n                Name = \"testconfiguration1\",\n                SubnetId = exampleSubnet.Id,\n                PrivateIpAddressAllocation = \"Dynamic\",\n            },\n        },\n    });\n\n    var exampleNetworkInterfaceNatRuleAssociation = new Azure.Network.NetworkInterfaceNatRuleAssociation(\"example\", new()\n    {\n        NetworkInterfaceId = exampleNetworkInterface.Id,\n        IpConfigurationName = \"testconfiguration1\",\n        NatRuleId = exampleNatRule.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/lb\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, \"example\", \u0026network.VirtualNetworkArgs{\n\t\t\tName: pulumi.String(\"example-network\"),\n\t\t\tAddressSpaces: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.0.0/16\"),\n\t\t\t},\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSubnet, err := network.NewSubnet(ctx, \"example\", \u0026network.SubnetArgs{\n\t\t\tName:               pulumi.String(\"internal\"),\n\t\t\tResourceGroupName:  example.Name,\n\t\t\tVirtualNetworkName: exampleVirtualNetwork.Name,\n\t\t\tAddressPrefixes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.2.0/24\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texamplePublicIp, err := network.NewPublicIp(ctx, \"example\", \u0026network.PublicIpArgs{\n\t\t\tName:              pulumi.String(\"example-pip\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tAllocationMethod:  pulumi.String(\"Static\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleLoadBalancer, err := lb.NewLoadBalancer(ctx, \"example\", \u0026lb.LoadBalancerArgs{\n\t\t\tName:              pulumi.String(\"example-lb\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tFrontendIpConfigurations: lb.LoadBalancerFrontendIpConfigurationArray{\n\t\t\t\t\u0026lb.LoadBalancerFrontendIpConfigurationArgs{\n\t\t\t\t\tName:              pulumi.String(\"primary\"),\n\t\t\t\t\tPublicIpAddressId: examplePublicIp.ID(),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNatRule, err := lb.NewNatRule(ctx, \"example\", \u0026lb.NatRuleArgs{\n\t\t\tResourceGroupName:           example.Name,\n\t\t\tLoadbalancerId:              exampleLoadBalancer.ID(),\n\t\t\tName:                        pulumi.String(\"RDPAccess\"),\n\t\t\tProtocol:                    pulumi.String(\"Tcp\"),\n\t\t\tFrontendPort:                pulumi.Int(3389),\n\t\t\tBackendPort:                 pulumi.Int(3389),\n\t\t\tFrontendIpConfigurationName: pulumi.String(\"primary\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNetworkInterface, err := network.NewNetworkInterface(ctx, \"example\", \u0026network.NetworkInterfaceArgs{\n\t\t\tName:              pulumi.String(\"example-nic\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tIpConfigurations: network.NetworkInterfaceIpConfigurationArray{\n\t\t\t\t\u0026network.NetworkInterfaceIpConfigurationArgs{\n\t\t\t\t\tName:                       pulumi.String(\"testconfiguration1\"),\n\t\t\t\t\tSubnetId:                   exampleSubnet.ID(),\n\t\t\t\t\tPrivateIpAddressAllocation: pulumi.String(\"Dynamic\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = network.NewNetworkInterfaceNatRuleAssociation(ctx, \"example\", \u0026network.NetworkInterfaceNatRuleAssociationArgs{\n\t\t\tNetworkInterfaceId:  exampleNetworkInterface.ID(),\n\t\t\tIpConfigurationName: pulumi.String(\"testconfiguration1\"),\n\t\t\tNatRuleId:           exampleNatRule.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.VirtualNetwork;\nimport com.pulumi.azure.network.VirtualNetworkArgs;\nimport com.pulumi.azure.network.Subnet;\nimport com.pulumi.azure.network.SubnetArgs;\nimport com.pulumi.azure.network.PublicIp;\nimport com.pulumi.azure.network.PublicIpArgs;\nimport com.pulumi.azure.lb.LoadBalancer;\nimport com.pulumi.azure.lb.LoadBalancerArgs;\nimport com.pulumi.azure.lb.inputs.LoadBalancerFrontendIpConfigurationArgs;\nimport com.pulumi.azure.lb.NatRule;\nimport com.pulumi.azure.lb.NatRuleArgs;\nimport com.pulumi.azure.network.NetworkInterface;\nimport com.pulumi.azure.network.NetworkInterfaceArgs;\nimport com.pulumi.azure.network.inputs.NetworkInterfaceIpConfigurationArgs;\nimport com.pulumi.azure.network.NetworkInterfaceNatRuleAssociation;\nimport com.pulumi.azure.network.NetworkInterfaceNatRuleAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleVirtualNetwork = new VirtualNetwork(\"exampleVirtualNetwork\", VirtualNetworkArgs.builder()\n            .name(\"example-network\")\n            .addressSpaces(\"10.0.0.0/16\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .build());\n\n        var exampleSubnet = new Subnet(\"exampleSubnet\", SubnetArgs.builder()\n            .name(\"internal\")\n            .resourceGroupName(example.name())\n            .virtualNetworkName(exampleVirtualNetwork.name())\n            .addressPrefixes(\"10.0.2.0/24\")\n            .build());\n\n        var examplePublicIp = new PublicIp(\"examplePublicIp\", PublicIpArgs.builder()\n            .name(\"example-pip\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .allocationMethod(\"Static\")\n            .build());\n\n        var exampleLoadBalancer = new LoadBalancer(\"exampleLoadBalancer\", LoadBalancerArgs.builder()\n            .name(\"example-lb\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .frontendIpConfigurations(LoadBalancerFrontendIpConfigurationArgs.builder()\n                .name(\"primary\")\n                .publicIpAddressId(examplePublicIp.id())\n                .build())\n            .build());\n\n        var exampleNatRule = new NatRule(\"exampleNatRule\", NatRuleArgs.builder()\n            .resourceGroupName(example.name())\n            .loadbalancerId(exampleLoadBalancer.id())\n            .name(\"RDPAccess\")\n            .protocol(\"Tcp\")\n            .frontendPort(3389)\n            .backendPort(3389)\n            .frontendIpConfigurationName(\"primary\")\n            .build());\n\n        var exampleNetworkInterface = new NetworkInterface(\"exampleNetworkInterface\", NetworkInterfaceArgs.builder()\n            .name(\"example-nic\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .ipConfigurations(NetworkInterfaceIpConfigurationArgs.builder()\n                .name(\"testconfiguration1\")\n                .subnetId(exampleSubnet.id())\n                .privateIpAddressAllocation(\"Dynamic\")\n                .build())\n            .build());\n\n        var exampleNetworkInterfaceNatRuleAssociation = new NetworkInterfaceNatRuleAssociation(\"exampleNetworkInterfaceNatRuleAssociation\", NetworkInterfaceNatRuleAssociationArgs.builder()\n            .networkInterfaceId(exampleNetworkInterface.id())\n            .ipConfigurationName(\"testconfiguration1\")\n            .natRuleId(exampleNatRule.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleVirtualNetwork:\n    type: azure:network:VirtualNetwork\n    name: example\n    properties:\n      name: example-network\n      addressSpaces:\n        - 10.0.0.0/16\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n  exampleSubnet:\n    type: azure:network:Subnet\n    name: example\n    properties:\n      name: internal\n      resourceGroupName: ${example.name}\n      virtualNetworkName: ${exampleVirtualNetwork.name}\n      addressPrefixes:\n        - 10.0.2.0/24\n  examplePublicIp:\n    type: azure:network:PublicIp\n    name: example\n    properties:\n      name: example-pip\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      allocationMethod: Static\n  exampleLoadBalancer:\n    type: azure:lb:LoadBalancer\n    name: example\n    properties:\n      name: example-lb\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      frontendIpConfigurations:\n        - name: primary\n          publicIpAddressId: ${examplePublicIp.id}\n  exampleNatRule:\n    type: azure:lb:NatRule\n    name: example\n    properties:\n      resourceGroupName: ${example.name}\n      loadbalancerId: ${exampleLoadBalancer.id}\n      name: RDPAccess\n      protocol: Tcp\n      frontendPort: 3389\n      backendPort: 3389\n      frontendIpConfigurationName: primary\n  exampleNetworkInterface:\n    type: azure:network:NetworkInterface\n    name: example\n    properties:\n      name: example-nic\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      ipConfigurations:\n        - name: testconfiguration1\n          subnetId: ${exampleSubnet.id}\n          privateIpAddressAllocation: Dynamic\n  exampleNetworkInterfaceNatRuleAssociation:\n    type: azure:network:NetworkInterfaceNatRuleAssociation\n    name: example\n    properties:\n      networkInterfaceId: ${exampleNetworkInterface.id}\n      ipConfigurationName: testconfiguration1\n      natRuleId: ${exampleNatRule.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2025-01-01\n\n## Import\n\nAssociations between Network Interfaces and Load Balancer NAT Rule can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:network/networkInterfaceNatRuleAssociation:NetworkInterfaceNatRuleAssociation association1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Network/networkInterfaces/nic1/ipConfigurations/example|/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Network/loadBalancers/lb1/inboundNatRules/rule1\n```\n\n\u003e **Note:** This ID is specific to this provider - and is of the format `{networkInterfaceId}/ipConfigurations/{ipConfigurationName}|{natRuleId}`.\n\n","properties":{"ipConfigurationName":{"type":"string","description":"The Name of the IP Configuration within the Network Interface which should be connected to the NAT Rule. Changing this forces a new resource to be created.\n"},"natRuleId":{"type":"string","description":"The ID of the Load Balancer NAT Rule which this Network Interface which should be connected to. Changing this forces a new resource to be created.\n"},"networkInterfaceId":{"type":"string","description":"The ID of the Network Interface. Changing this forces a new resource to be created.\n"}},"required":["ipConfigurationName","natRuleId","networkInterfaceId"],"inputProperties":{"ipConfigurationName":{"type":"string","description":"The Name of the IP Configuration within the Network Interface which should be connected to the NAT Rule. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"natRuleId":{"type":"string","description":"The ID of the Load Balancer NAT Rule which this Network Interface which should be connected to. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"networkInterfaceId":{"type":"string","description":"The ID of the Network Interface. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["ipConfigurationName","natRuleId","networkInterfaceId"],"stateInputs":{"description":"Input properties used for looking up and filtering NetworkInterfaceNatRuleAssociation resources.\n","properties":{"ipConfigurationName":{"type":"string","description":"The Name of the IP Configuration within the Network Interface which should be connected to the NAT Rule. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"natRuleId":{"type":"string","description":"The ID of the Load Balancer NAT Rule which this Network Interface which should be connected to. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"networkInterfaceId":{"type":"string","description":"The ID of the Network Interface. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:network/networkInterfaceSecurityGroupAssociation:NetworkInterfaceSecurityGroupAssociation":{"description":"Manages the association between a Network Interface and a Network Security Group.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"example\", {\n    name: \"example-network\",\n    addressSpaces: [\"10.0.0.0/16\"],\n    location: example.location,\n    resourceGroupName: example.name,\n});\nconst exampleSubnet = new azure.network.Subnet(\"example\", {\n    name: \"internal\",\n    resourceGroupName: example.name,\n    virtualNetworkName: exampleVirtualNetwork.name,\n    addressPrefixes: [\"10.0.2.0/24\"],\n});\nconst exampleNetworkSecurityGroup = new azure.network.NetworkSecurityGroup(\"example\", {\n    name: \"example-nsg\",\n    location: example.location,\n    resourceGroupName: example.name,\n});\nconst exampleNetworkInterface = new azure.network.NetworkInterface(\"example\", {\n    name: \"example-nic\",\n    location: example.location,\n    resourceGroupName: example.name,\n    ipConfigurations: [{\n        name: \"testconfiguration1\",\n        subnetId: exampleSubnet.id,\n        privateIpAddressAllocation: \"Dynamic\",\n    }],\n});\nconst exampleNetworkInterfaceSecurityGroupAssociation = new azure.network.NetworkInterfaceSecurityGroupAssociation(\"example\", {\n    networkInterfaceId: exampleNetworkInterface.id,\n    networkSecurityGroupId: exampleNetworkSecurityGroup.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_virtual_network = azure.network.VirtualNetwork(\"example\",\n    name=\"example-network\",\n    address_spaces=[\"10.0.0.0/16\"],\n    location=example.location,\n    resource_group_name=example.name)\nexample_subnet = azure.network.Subnet(\"example\",\n    name=\"internal\",\n    resource_group_name=example.name,\n    virtual_network_name=example_virtual_network.name,\n    address_prefixes=[\"10.0.2.0/24\"])\nexample_network_security_group = azure.network.NetworkSecurityGroup(\"example\",\n    name=\"example-nsg\",\n    location=example.location,\n    resource_group_name=example.name)\nexample_network_interface = azure.network.NetworkInterface(\"example\",\n    name=\"example-nic\",\n    location=example.location,\n    resource_group_name=example.name,\n    ip_configurations=[{\n        \"name\": \"testconfiguration1\",\n        \"subnet_id\": example_subnet.id,\n        \"private_ip_address_allocation\": \"Dynamic\",\n    }])\nexample_network_interface_security_group_association = azure.network.NetworkInterfaceSecurityGroupAssociation(\"example\",\n    network_interface_id=example_network_interface.id,\n    network_security_group_id=example_network_security_group.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleVirtualNetwork = new Azure.Network.VirtualNetwork(\"example\", new()\n    {\n        Name = \"example-network\",\n        AddressSpaces = new[]\n        {\n            \"10.0.0.0/16\",\n        },\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n    });\n\n    var exampleSubnet = new Azure.Network.Subnet(\"example\", new()\n    {\n        Name = \"internal\",\n        ResourceGroupName = example.Name,\n        VirtualNetworkName = exampleVirtualNetwork.Name,\n        AddressPrefixes = new[]\n        {\n            \"10.0.2.0/24\",\n        },\n    });\n\n    var exampleNetworkSecurityGroup = new Azure.Network.NetworkSecurityGroup(\"example\", new()\n    {\n        Name = \"example-nsg\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n    });\n\n    var exampleNetworkInterface = new Azure.Network.NetworkInterface(\"example\", new()\n    {\n        Name = \"example-nic\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        IpConfigurations = new[]\n        {\n            new Azure.Network.Inputs.NetworkInterfaceIpConfigurationArgs\n            {\n                Name = \"testconfiguration1\",\n                SubnetId = exampleSubnet.Id,\n                PrivateIpAddressAllocation = \"Dynamic\",\n            },\n        },\n    });\n\n    var exampleNetworkInterfaceSecurityGroupAssociation = new Azure.Network.NetworkInterfaceSecurityGroupAssociation(\"example\", new()\n    {\n        NetworkInterfaceId = exampleNetworkInterface.Id,\n        NetworkSecurityGroupId = exampleNetworkSecurityGroup.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, \"example\", \u0026network.VirtualNetworkArgs{\n\t\t\tName: pulumi.String(\"example-network\"),\n\t\t\tAddressSpaces: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.0.0/16\"),\n\t\t\t},\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSubnet, err := network.NewSubnet(ctx, \"example\", \u0026network.SubnetArgs{\n\t\t\tName:               pulumi.String(\"internal\"),\n\t\t\tResourceGroupName:  example.Name,\n\t\t\tVirtualNetworkName: exampleVirtualNetwork.Name,\n\t\t\tAddressPrefixes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.2.0/24\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNetworkSecurityGroup, err := network.NewNetworkSecurityGroup(ctx, \"example\", \u0026network.NetworkSecurityGroupArgs{\n\t\t\tName:              pulumi.String(\"example-nsg\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNetworkInterface, err := network.NewNetworkInterface(ctx, \"example\", \u0026network.NetworkInterfaceArgs{\n\t\t\tName:              pulumi.String(\"example-nic\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tIpConfigurations: network.NetworkInterfaceIpConfigurationArray{\n\t\t\t\t\u0026network.NetworkInterfaceIpConfigurationArgs{\n\t\t\t\t\tName:                       pulumi.String(\"testconfiguration1\"),\n\t\t\t\t\tSubnetId:                   exampleSubnet.ID(),\n\t\t\t\t\tPrivateIpAddressAllocation: pulumi.String(\"Dynamic\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = network.NewNetworkInterfaceSecurityGroupAssociation(ctx, \"example\", \u0026network.NetworkInterfaceSecurityGroupAssociationArgs{\n\t\t\tNetworkInterfaceId:     exampleNetworkInterface.ID(),\n\t\t\tNetworkSecurityGroupId: exampleNetworkSecurityGroup.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.VirtualNetwork;\nimport com.pulumi.azure.network.VirtualNetworkArgs;\nimport com.pulumi.azure.network.Subnet;\nimport com.pulumi.azure.network.SubnetArgs;\nimport com.pulumi.azure.network.NetworkSecurityGroup;\nimport com.pulumi.azure.network.NetworkSecurityGroupArgs;\nimport com.pulumi.azure.network.NetworkInterface;\nimport com.pulumi.azure.network.NetworkInterfaceArgs;\nimport com.pulumi.azure.network.inputs.NetworkInterfaceIpConfigurationArgs;\nimport com.pulumi.azure.network.NetworkInterfaceSecurityGroupAssociation;\nimport com.pulumi.azure.network.NetworkInterfaceSecurityGroupAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleVirtualNetwork = new VirtualNetwork(\"exampleVirtualNetwork\", VirtualNetworkArgs.builder()\n            .name(\"example-network\")\n            .addressSpaces(\"10.0.0.0/16\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .build());\n\n        var exampleSubnet = new Subnet(\"exampleSubnet\", SubnetArgs.builder()\n            .name(\"internal\")\n            .resourceGroupName(example.name())\n            .virtualNetworkName(exampleVirtualNetwork.name())\n            .addressPrefixes(\"10.0.2.0/24\")\n            .build());\n\n        var exampleNetworkSecurityGroup = new NetworkSecurityGroup(\"exampleNetworkSecurityGroup\", NetworkSecurityGroupArgs.builder()\n            .name(\"example-nsg\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .build());\n\n        var exampleNetworkInterface = new NetworkInterface(\"exampleNetworkInterface\", NetworkInterfaceArgs.builder()\n            .name(\"example-nic\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .ipConfigurations(NetworkInterfaceIpConfigurationArgs.builder()\n                .name(\"testconfiguration1\")\n                .subnetId(exampleSubnet.id())\n                .privateIpAddressAllocation(\"Dynamic\")\n                .build())\n            .build());\n\n        var exampleNetworkInterfaceSecurityGroupAssociation = new NetworkInterfaceSecurityGroupAssociation(\"exampleNetworkInterfaceSecurityGroupAssociation\", NetworkInterfaceSecurityGroupAssociationArgs.builder()\n            .networkInterfaceId(exampleNetworkInterface.id())\n            .networkSecurityGroupId(exampleNetworkSecurityGroup.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleVirtualNetwork:\n    type: azure:network:VirtualNetwork\n    name: example\n    properties:\n      name: example-network\n      addressSpaces:\n        - 10.0.0.0/16\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n  exampleSubnet:\n    type: azure:network:Subnet\n    name: example\n    properties:\n      name: internal\n      resourceGroupName: ${example.name}\n      virtualNetworkName: ${exampleVirtualNetwork.name}\n      addressPrefixes:\n        - 10.0.2.0/24\n  exampleNetworkSecurityGroup:\n    type: azure:network:NetworkSecurityGroup\n    name: example\n    properties:\n      name: example-nsg\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n  exampleNetworkInterface:\n    type: azure:network:NetworkInterface\n    name: example\n    properties:\n      name: example-nic\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      ipConfigurations:\n        - name: testconfiguration1\n          subnetId: ${exampleSubnet.id}\n          privateIpAddressAllocation: Dynamic\n  exampleNetworkInterfaceSecurityGroupAssociation:\n    type: azure:network:NetworkInterfaceSecurityGroupAssociation\n    name: example\n    properties:\n      networkInterfaceId: ${exampleNetworkInterface.id}\n      networkSecurityGroupId: ${exampleNetworkSecurityGroup.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2025-01-01\n\n## Import\n\nAssociations between Network Interfaces and Network Security Group can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:network/networkInterfaceSecurityGroupAssociation:NetworkInterfaceSecurityGroupAssociation association1 \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Network/networkInterfaces/example|/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Network/networkSecurityGroups/group1\"\n```\n\n\u003e **Note:** This ID is specific to this provider - and is of the format `{networkInterfaceId}|{networkSecurityGroupId}`.\n\n","properties":{"networkInterfaceId":{"type":"string","description":"The ID of the Network Interface. Changing this forces a new resource to be created.\n"},"networkSecurityGroupId":{"type":"string","description":"The ID of the Network Security Group which should be attached to the Network Interface. Changing this forces a new resource to be created.\n"}},"required":["networkInterfaceId","networkSecurityGroupId"],"inputProperties":{"networkInterfaceId":{"type":"string","description":"The ID of the Network Interface. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"networkSecurityGroupId":{"type":"string","description":"The ID of the Network Security Group which should be attached to the Network Interface. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["networkInterfaceId","networkSecurityGroupId"],"stateInputs":{"description":"Input properties used for looking up and filtering NetworkInterfaceSecurityGroupAssociation resources.\n","properties":{"networkInterfaceId":{"type":"string","description":"The ID of the Network Interface. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"networkSecurityGroupId":{"type":"string","description":"The ID of the Network Security Group which should be attached to the Network Interface. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:network/networkManager:NetworkManager":{"description":"Manages a Network Manager.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst current = azure.core.getSubscription({});\nconst exampleNetworkManager = new azure.network.NetworkManager(\"example\", {\n    name: \"example-network-manager\",\n    location: example.location,\n    resourceGroupName: example.name,\n    scope: {\n        subscriptionIds: [current.then(current =\u003e current.id)],\n    },\n    scopeAccesses: [\n        \"Connectivity\",\n        \"SecurityAdmin\",\n    ],\n    description: \"example network manager\",\n    tags: {\n        foo: \"bar\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\ncurrent = azure.core.get_subscription()\nexample_network_manager = azure.network.NetworkManager(\"example\",\n    name=\"example-network-manager\",\n    location=example.location,\n    resource_group_name=example.name,\n    scope={\n        \"subscription_ids\": [current.id],\n    },\n    scope_accesses=[\n        \"Connectivity\",\n        \"SecurityAdmin\",\n    ],\n    description=\"example network manager\",\n    tags={\n        \"foo\": \"bar\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var current = Azure.Core.GetSubscription.Invoke();\n\n    var exampleNetworkManager = new Azure.Network.NetworkManager(\"example\", new()\n    {\n        Name = \"example-network-manager\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Scope = new Azure.Network.Inputs.NetworkManagerScopeArgs\n        {\n            SubscriptionIds = new[]\n            {\n                current.Apply(getSubscriptionResult =\u003e getSubscriptionResult.Id),\n            },\n        },\n        ScopeAccesses = new[]\n        {\n            \"Connectivity\",\n            \"SecurityAdmin\",\n        },\n        Description = \"example network manager\",\n        Tags = \n        {\n            { \"foo\", \"bar\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrent, err := core.LookupSubscription(ctx, \u0026core.LookupSubscriptionArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = network.NewNetworkManager(ctx, \"example\", \u0026network.NetworkManagerArgs{\n\t\t\tName:              pulumi.String(\"example-network-manager\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tScope: \u0026network.NetworkManagerScopeArgs{\n\t\t\t\tSubscriptionIds: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(current.Id),\n\t\t\t\t},\n\t\t\t},\n\t\t\tScopeAccesses: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"Connectivity\"),\n\t\t\t\tpulumi.String(\"SecurityAdmin\"),\n\t\t\t},\n\t\t\tDescription: pulumi.String(\"example network manager\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"foo\": pulumi.String(\"bar\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.core.inputs.GetSubscriptionArgs;\nimport com.pulumi.azure.network.NetworkManager;\nimport com.pulumi.azure.network.NetworkManagerArgs;\nimport com.pulumi.azure.network.inputs.NetworkManagerScopeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        final var current = CoreFunctions.getSubscription(GetSubscriptionArgs.builder()\n            .build());\n\n        var exampleNetworkManager = new NetworkManager(\"exampleNetworkManager\", NetworkManagerArgs.builder()\n            .name(\"example-network-manager\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .scope(NetworkManagerScopeArgs.builder()\n                .subscriptionIds(current.id())\n                .build())\n            .scopeAccesses(            \n                \"Connectivity\",\n                \"SecurityAdmin\")\n            .description(\"example network manager\")\n            .tags(Map.of(\"foo\", \"bar\"))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleNetworkManager:\n    type: azure:network:NetworkManager\n    name: example\n    properties:\n      name: example-network-manager\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      scope:\n        subscriptionIds:\n          - ${current.id}\n      scopeAccesses:\n        - Connectivity\n        - SecurityAdmin\n      description: example network manager\n      tags:\n        foo: bar\nvariables:\n  current:\n    fn::invoke:\n      function: azure:core:getSubscription\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2025-01-01\n\n## Import\n\nNetwork Manager can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:network/networkManager:NetworkManager example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup1/providers/Microsoft.Network/networkManagers/networkManager1\n```\n\n","properties":{"crossTenantScopes":{"type":"array","items":{"$ref":"#/types/azure:network/NetworkManagerCrossTenantScope:NetworkManagerCrossTenantScope"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`crossTenantScopes`\" pulumi-lang-dotnet=\"`CrossTenantScopes`\" pulumi-lang-go=\"`crossTenantScopes`\" pulumi-lang-python=\"`cross_tenant_scopes`\" pulumi-lang-yaml=\"`crossTenantScopes`\" pulumi-lang-java=\"`crossTenantScopes`\"\u003e`cross_tenant_scopes`\u003c/span\u003e blocks as defined below.\n"},"description":{"type":"string","description":"A description of the Network Manager.\n"},"location":{"type":"string","description":"Specifies the Azure Region where the Network Manager should exist. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"Specifies the name which should be used for this Network Manager. Changing this forces a new Network Manager to be created.\n"},"resourceGroupName":{"type":"string","description":"Specifies the name of the Resource Group where the Network Manager should exist. Changing this forces a new Network Manager to be created.\n"},"scope":{"$ref":"#/types/azure:network/NetworkManagerScope:NetworkManagerScope","description":"A \u003cspan pulumi-lang-nodejs=\"`scope`\" pulumi-lang-dotnet=\"`Scope`\" pulumi-lang-go=\"`scope`\" pulumi-lang-python=\"`scope`\" pulumi-lang-yaml=\"`scope`\" pulumi-lang-java=\"`scope`\"\u003e`scope`\u003c/span\u003e block as defined below.\n"},"scopeAccesses":{"type":"array","items":{"type":"string"},"description":"A list of configuration deployment types. Possible values are `Connectivity`, `SecurityAdmin` and `Routing`, which specify whether Connectivity Configuration, Security Admin Configuration or Routing Configuration are allowed for the Network Manager.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Network Manager.\n"}},"required":["crossTenantScopes","location","name","resourceGroupName","scope"],"inputProperties":{"description":{"type":"string","description":"A description of the Network Manager.\n"},"location":{"type":"string","description":"Specifies the Azure Region where the Network Manager should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name which should be used for this Network Manager. Changing this forces a new Network Manager to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"Specifies the name of the Resource Group where the Network Manager should exist. Changing this forces a new Network Manager to be created.\n","willReplaceOnChanges":true},"scope":{"$ref":"#/types/azure:network/NetworkManagerScope:NetworkManagerScope","description":"A \u003cspan pulumi-lang-nodejs=\"`scope`\" pulumi-lang-dotnet=\"`Scope`\" pulumi-lang-go=\"`scope`\" pulumi-lang-python=\"`scope`\" pulumi-lang-yaml=\"`scope`\" pulumi-lang-java=\"`scope`\"\u003e`scope`\u003c/span\u003e block as defined below.\n"},"scopeAccesses":{"type":"array","items":{"type":"string"},"description":"A list of configuration deployment types. Possible values are `Connectivity`, `SecurityAdmin` and `Routing`, which specify whether Connectivity Configuration, Security Admin Configuration or Routing Configuration are allowed for the Network Manager.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Network Manager.\n"}},"requiredInputs":["resourceGroupName","scope"],"stateInputs":{"description":"Input properties used for looking up and filtering NetworkManager resources.\n","properties":{"crossTenantScopes":{"type":"array","items":{"$ref":"#/types/azure:network/NetworkManagerCrossTenantScope:NetworkManagerCrossTenantScope"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`crossTenantScopes`\" pulumi-lang-dotnet=\"`CrossTenantScopes`\" pulumi-lang-go=\"`crossTenantScopes`\" pulumi-lang-python=\"`cross_tenant_scopes`\" pulumi-lang-yaml=\"`crossTenantScopes`\" pulumi-lang-java=\"`crossTenantScopes`\"\u003e`cross_tenant_scopes`\u003c/span\u003e blocks as defined below.\n"},"description":{"type":"string","description":"A description of the Network Manager.\n"},"location":{"type":"string","description":"Specifies the Azure Region where the Network Manager should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name which should be used for this Network Manager. Changing this forces a new Network Manager to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"Specifies the name of the Resource Group where the Network Manager should exist. Changing this forces a new Network Manager to be created.\n","willReplaceOnChanges":true},"scope":{"$ref":"#/types/azure:network/NetworkManagerScope:NetworkManagerScope","description":"A \u003cspan pulumi-lang-nodejs=\"`scope`\" pulumi-lang-dotnet=\"`Scope`\" pulumi-lang-go=\"`scope`\" pulumi-lang-python=\"`scope`\" pulumi-lang-yaml=\"`scope`\" pulumi-lang-java=\"`scope`\"\u003e`scope`\u003c/span\u003e block as defined below.\n"},"scopeAccesses":{"type":"array","items":{"type":"string"},"description":"A list of configuration deployment types. Possible values are `Connectivity`, `SecurityAdmin` and `Routing`, which specify whether Connectivity Configuration, Security Admin Configuration or Routing Configuration are allowed for the Network Manager.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Network Manager.\n"}},"type":"object"}},"azure:network/networkManagerAdminRule:NetworkManagerAdminRule":{"description":"Manages a Network Manager Admin Rule.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst current = azure.core.getSubscription({});\nconst exampleNetworkManager = new azure.network.NetworkManager(\"example\", {\n    name: \"example-network-manager\",\n    location: example.location,\n    resourceGroupName: example.name,\n    scope: {\n        subscriptionIds: [current.then(current =\u003e current.id)],\n    },\n    scopeAccesses: [\n        \"Connectivity\",\n        \"SecurityAdmin\",\n    ],\n    description: \"example network manager\",\n});\nconst exampleNetworkManagerNetworkGroup = new azure.network.NetworkManagerNetworkGroup(\"example\", {\n    name: \"example-network-group\",\n    networkManagerId: exampleNetworkManager.id,\n});\nconst exampleNetworkManagerSecurityAdminConfiguration = new azure.network.NetworkManagerSecurityAdminConfiguration(\"example\", {\n    name: \"example-admin-conf\",\n    networkManagerId: exampleNetworkManager.id,\n});\nconst exampleNetworkManagerAdminRuleCollection = new azure.network.NetworkManagerAdminRuleCollection(\"example\", {\n    name: \"example-admin-rule-collection\",\n    securityAdminConfigurationId: exampleNetworkManagerSecurityAdminConfiguration.id,\n    networkGroupIds: [exampleNetworkManagerNetworkGroup.id],\n});\nconst exampleNetworkManagerAdminRule = new azure.network.NetworkManagerAdminRule(\"example\", {\n    name: \"example-admin-rule\",\n    adminRuleCollectionId: exampleNetworkManagerAdminRuleCollection.id,\n    action: \"Deny\",\n    direction: \"Outbound\",\n    priority: 1,\n    protocol: \"Tcp\",\n    sourcePortRanges: [\n        \"80\",\n        \"1024-65535\",\n    ],\n    destinationPortRanges: [\"80\"],\n    sources: [{\n        addressPrefixType: \"ServiceTag\",\n        addressPrefix: \"Internet\",\n    }],\n    destinations: [\n        {\n            addressPrefixType: \"IPPrefix\",\n            addressPrefix: \"10.1.0.1\",\n        },\n        {\n            addressPrefixType: \"IPPrefix\",\n            addressPrefix: \"10.0.0.0/24\",\n        },\n    ],\n    description: \"example admin rule\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\ncurrent = azure.core.get_subscription()\nexample_network_manager = azure.network.NetworkManager(\"example\",\n    name=\"example-network-manager\",\n    location=example.location,\n    resource_group_name=example.name,\n    scope={\n        \"subscription_ids\": [current.id],\n    },\n    scope_accesses=[\n        \"Connectivity\",\n        \"SecurityAdmin\",\n    ],\n    description=\"example network manager\")\nexample_network_manager_network_group = azure.network.NetworkManagerNetworkGroup(\"example\",\n    name=\"example-network-group\",\n    network_manager_id=example_network_manager.id)\nexample_network_manager_security_admin_configuration = azure.network.NetworkManagerSecurityAdminConfiguration(\"example\",\n    name=\"example-admin-conf\",\n    network_manager_id=example_network_manager.id)\nexample_network_manager_admin_rule_collection = azure.network.NetworkManagerAdminRuleCollection(\"example\",\n    name=\"example-admin-rule-collection\",\n    security_admin_configuration_id=example_network_manager_security_admin_configuration.id,\n    network_group_ids=[example_network_manager_network_group.id])\nexample_network_manager_admin_rule = azure.network.NetworkManagerAdminRule(\"example\",\n    name=\"example-admin-rule\",\n    admin_rule_collection_id=example_network_manager_admin_rule_collection.id,\n    action=\"Deny\",\n    direction=\"Outbound\",\n    priority=1,\n    protocol=\"Tcp\",\n    source_port_ranges=[\n        \"80\",\n        \"1024-65535\",\n    ],\n    destination_port_ranges=[\"80\"],\n    sources=[{\n        \"address_prefix_type\": \"ServiceTag\",\n        \"address_prefix\": \"Internet\",\n    }],\n    destinations=[\n        {\n            \"address_prefix_type\": \"IPPrefix\",\n            \"address_prefix\": \"10.1.0.1\",\n        },\n        {\n            \"address_prefix_type\": \"IPPrefix\",\n            \"address_prefix\": \"10.0.0.0/24\",\n        },\n    ],\n    description=\"example admin rule\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var current = Azure.Core.GetSubscription.Invoke();\n\n    var exampleNetworkManager = new Azure.Network.NetworkManager(\"example\", new()\n    {\n        Name = \"example-network-manager\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Scope = new Azure.Network.Inputs.NetworkManagerScopeArgs\n        {\n            SubscriptionIds = new[]\n            {\n                current.Apply(getSubscriptionResult =\u003e getSubscriptionResult.Id),\n            },\n        },\n        ScopeAccesses = new[]\n        {\n            \"Connectivity\",\n            \"SecurityAdmin\",\n        },\n        Description = \"example network manager\",\n    });\n\n    var exampleNetworkManagerNetworkGroup = new Azure.Network.NetworkManagerNetworkGroup(\"example\", new()\n    {\n        Name = \"example-network-group\",\n        NetworkManagerId = exampleNetworkManager.Id,\n    });\n\n    var exampleNetworkManagerSecurityAdminConfiguration = new Azure.Network.NetworkManagerSecurityAdminConfiguration(\"example\", new()\n    {\n        Name = \"example-admin-conf\",\n        NetworkManagerId = exampleNetworkManager.Id,\n    });\n\n    var exampleNetworkManagerAdminRuleCollection = new Azure.Network.NetworkManagerAdminRuleCollection(\"example\", new()\n    {\n        Name = \"example-admin-rule-collection\",\n        SecurityAdminConfigurationId = exampleNetworkManagerSecurityAdminConfiguration.Id,\n        NetworkGroupIds = new[]\n        {\n            exampleNetworkManagerNetworkGroup.Id,\n        },\n    });\n\n    var exampleNetworkManagerAdminRule = new Azure.Network.NetworkManagerAdminRule(\"example\", new()\n    {\n        Name = \"example-admin-rule\",\n        AdminRuleCollectionId = exampleNetworkManagerAdminRuleCollection.Id,\n        Action = \"Deny\",\n        Direction = \"Outbound\",\n        Priority = 1,\n        Protocol = \"Tcp\",\n        SourcePortRanges = new[]\n        {\n            \"80\",\n            \"1024-65535\",\n        },\n        DestinationPortRanges = new[]\n        {\n            \"80\",\n        },\n        Sources = new[]\n        {\n            new Azure.Network.Inputs.NetworkManagerAdminRuleSourceArgs\n            {\n                AddressPrefixType = \"ServiceTag\",\n                AddressPrefix = \"Internet\",\n            },\n        },\n        Destinations = new[]\n        {\n            new Azure.Network.Inputs.NetworkManagerAdminRuleDestinationArgs\n            {\n                AddressPrefixType = \"IPPrefix\",\n                AddressPrefix = \"10.1.0.1\",\n            },\n            new Azure.Network.Inputs.NetworkManagerAdminRuleDestinationArgs\n            {\n                AddressPrefixType = \"IPPrefix\",\n                AddressPrefix = \"10.0.0.0/24\",\n            },\n        },\n        Description = \"example admin rule\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrent, err := core.LookupSubscription(ctx, \u0026core.LookupSubscriptionArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNetworkManager, err := network.NewNetworkManager(ctx, \"example\", \u0026network.NetworkManagerArgs{\n\t\t\tName:              pulumi.String(\"example-network-manager\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tScope: \u0026network.NetworkManagerScopeArgs{\n\t\t\t\tSubscriptionIds: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(current.Id),\n\t\t\t\t},\n\t\t\t},\n\t\t\tScopeAccesses: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"Connectivity\"),\n\t\t\t\tpulumi.String(\"SecurityAdmin\"),\n\t\t\t},\n\t\t\tDescription: pulumi.String(\"example network manager\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNetworkManagerNetworkGroup, err := network.NewNetworkManagerNetworkGroup(ctx, \"example\", \u0026network.NetworkManagerNetworkGroupArgs{\n\t\t\tName:             pulumi.String(\"example-network-group\"),\n\t\t\tNetworkManagerId: exampleNetworkManager.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNetworkManagerSecurityAdminConfiguration, err := network.NewNetworkManagerSecurityAdminConfiguration(ctx, \"example\", \u0026network.NetworkManagerSecurityAdminConfigurationArgs{\n\t\t\tName:             pulumi.String(\"example-admin-conf\"),\n\t\t\tNetworkManagerId: exampleNetworkManager.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNetworkManagerAdminRuleCollection, err := network.NewNetworkManagerAdminRuleCollection(ctx, \"example\", \u0026network.NetworkManagerAdminRuleCollectionArgs{\n\t\t\tName:                         pulumi.String(\"example-admin-rule-collection\"),\n\t\t\tSecurityAdminConfigurationId: exampleNetworkManagerSecurityAdminConfiguration.ID(),\n\t\t\tNetworkGroupIds: pulumi.StringArray{\n\t\t\t\texampleNetworkManagerNetworkGroup.ID(),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = network.NewNetworkManagerAdminRule(ctx, \"example\", \u0026network.NetworkManagerAdminRuleArgs{\n\t\t\tName:                  pulumi.String(\"example-admin-rule\"),\n\t\t\tAdminRuleCollectionId: exampleNetworkManagerAdminRuleCollection.ID(),\n\t\t\tAction:                pulumi.String(\"Deny\"),\n\t\t\tDirection:             pulumi.String(\"Outbound\"),\n\t\t\tPriority:              pulumi.Int(1),\n\t\t\tProtocol:              pulumi.String(\"Tcp\"),\n\t\t\tSourcePortRanges: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"80\"),\n\t\t\t\tpulumi.String(\"1024-65535\"),\n\t\t\t},\n\t\t\tDestinationPortRanges: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"80\"),\n\t\t\t},\n\t\t\tSources: network.NetworkManagerAdminRuleSourceArray{\n\t\t\t\t\u0026network.NetworkManagerAdminRuleSourceArgs{\n\t\t\t\t\tAddressPrefixType: pulumi.String(\"ServiceTag\"),\n\t\t\t\t\tAddressPrefix:     pulumi.String(\"Internet\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tDestinations: network.NetworkManagerAdminRuleDestinationArray{\n\t\t\t\t\u0026network.NetworkManagerAdminRuleDestinationArgs{\n\t\t\t\t\tAddressPrefixType: pulumi.String(\"IPPrefix\"),\n\t\t\t\t\tAddressPrefix:     pulumi.String(\"10.1.0.1\"),\n\t\t\t\t},\n\t\t\t\t\u0026network.NetworkManagerAdminRuleDestinationArgs{\n\t\t\t\t\tAddressPrefixType: pulumi.String(\"IPPrefix\"),\n\t\t\t\t\tAddressPrefix:     pulumi.String(\"10.0.0.0/24\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tDescription: pulumi.String(\"example admin rule\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.core.inputs.GetSubscriptionArgs;\nimport com.pulumi.azure.network.NetworkManager;\nimport com.pulumi.azure.network.NetworkManagerArgs;\nimport com.pulumi.azure.network.inputs.NetworkManagerScopeArgs;\nimport com.pulumi.azure.network.NetworkManagerNetworkGroup;\nimport com.pulumi.azure.network.NetworkManagerNetworkGroupArgs;\nimport com.pulumi.azure.network.NetworkManagerSecurityAdminConfiguration;\nimport com.pulumi.azure.network.NetworkManagerSecurityAdminConfigurationArgs;\nimport com.pulumi.azure.network.NetworkManagerAdminRuleCollection;\nimport com.pulumi.azure.network.NetworkManagerAdminRuleCollectionArgs;\nimport com.pulumi.azure.network.NetworkManagerAdminRule;\nimport com.pulumi.azure.network.NetworkManagerAdminRuleArgs;\nimport com.pulumi.azure.network.inputs.NetworkManagerAdminRuleSourceArgs;\nimport com.pulumi.azure.network.inputs.NetworkManagerAdminRuleDestinationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        final var current = CoreFunctions.getSubscription(GetSubscriptionArgs.builder()\n            .build());\n\n        var exampleNetworkManager = new NetworkManager(\"exampleNetworkManager\", NetworkManagerArgs.builder()\n            .name(\"example-network-manager\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .scope(NetworkManagerScopeArgs.builder()\n                .subscriptionIds(current.id())\n                .build())\n            .scopeAccesses(            \n                \"Connectivity\",\n                \"SecurityAdmin\")\n            .description(\"example network manager\")\n            .build());\n\n        var exampleNetworkManagerNetworkGroup = new NetworkManagerNetworkGroup(\"exampleNetworkManagerNetworkGroup\", NetworkManagerNetworkGroupArgs.builder()\n            .name(\"example-network-group\")\n            .networkManagerId(exampleNetworkManager.id())\n            .build());\n\n        var exampleNetworkManagerSecurityAdminConfiguration = new NetworkManagerSecurityAdminConfiguration(\"exampleNetworkManagerSecurityAdminConfiguration\", NetworkManagerSecurityAdminConfigurationArgs.builder()\n            .name(\"example-admin-conf\")\n            .networkManagerId(exampleNetworkManager.id())\n            .build());\n\n        var exampleNetworkManagerAdminRuleCollection = new NetworkManagerAdminRuleCollection(\"exampleNetworkManagerAdminRuleCollection\", NetworkManagerAdminRuleCollectionArgs.builder()\n            .name(\"example-admin-rule-collection\")\n            .securityAdminConfigurationId(exampleNetworkManagerSecurityAdminConfiguration.id())\n            .networkGroupIds(exampleNetworkManagerNetworkGroup.id())\n            .build());\n\n        var exampleNetworkManagerAdminRule = new NetworkManagerAdminRule(\"exampleNetworkManagerAdminRule\", NetworkManagerAdminRuleArgs.builder()\n            .name(\"example-admin-rule\")\n            .adminRuleCollectionId(exampleNetworkManagerAdminRuleCollection.id())\n            .action(\"Deny\")\n            .direction(\"Outbound\")\n            .priority(1)\n            .protocol(\"Tcp\")\n            .sourcePortRanges(            \n                \"80\",\n                \"1024-65535\")\n            .destinationPortRanges(\"80\")\n            .sources(NetworkManagerAdminRuleSourceArgs.builder()\n                .addressPrefixType(\"ServiceTag\")\n                .addressPrefix(\"Internet\")\n                .build())\n            .destinations(            \n                NetworkManagerAdminRuleDestinationArgs.builder()\n                    .addressPrefixType(\"IPPrefix\")\n                    .addressPrefix(\"10.1.0.1\")\n                    .build(),\n                NetworkManagerAdminRuleDestinationArgs.builder()\n                    .addressPrefixType(\"IPPrefix\")\n                    .addressPrefix(\"10.0.0.0/24\")\n                    .build())\n            .description(\"example admin rule\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleNetworkManager:\n    type: azure:network:NetworkManager\n    name: example\n    properties:\n      name: example-network-manager\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      scope:\n        subscriptionIds:\n          - ${current.id}\n      scopeAccesses:\n        - Connectivity\n        - SecurityAdmin\n      description: example network manager\n  exampleNetworkManagerNetworkGroup:\n    type: azure:network:NetworkManagerNetworkGroup\n    name: example\n    properties:\n      name: example-network-group\n      networkManagerId: ${exampleNetworkManager.id}\n  exampleNetworkManagerSecurityAdminConfiguration:\n    type: azure:network:NetworkManagerSecurityAdminConfiguration\n    name: example\n    properties:\n      name: example-admin-conf\n      networkManagerId: ${exampleNetworkManager.id}\n  exampleNetworkManagerAdminRuleCollection:\n    type: azure:network:NetworkManagerAdminRuleCollection\n    name: example\n    properties:\n      name: example-admin-rule-collection\n      securityAdminConfigurationId: ${exampleNetworkManagerSecurityAdminConfiguration.id}\n      networkGroupIds:\n        - ${exampleNetworkManagerNetworkGroup.id}\n  exampleNetworkManagerAdminRule:\n    type: azure:network:NetworkManagerAdminRule\n    name: example\n    properties:\n      name: example-admin-rule\n      adminRuleCollectionId: ${exampleNetworkManagerAdminRuleCollection.id}\n      action: Deny\n      direction: Outbound\n      priority: 1\n      protocol: Tcp\n      sourcePortRanges:\n        - '80'\n        - 1024-65535\n      destinationPortRanges:\n        - '80'\n      sources:\n        - addressPrefixType: ServiceTag\n          addressPrefix: Internet\n      destinations:\n        - addressPrefixType: IPPrefix\n          addressPrefix: 10.1.0.1\n        - addressPrefixType: IPPrefix\n          addressPrefix: 10.0.0.0/24\n      description: example admin rule\nvariables:\n  current:\n    fn::invoke:\n      function: azure:core:getSubscription\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2025-01-01\n\n## Import\n\nNetwork Manager Admin Rule can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:network/networkManagerAdminRule:NetworkManagerAdminRule example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup1/providers/Microsoft.Network/networkManagers/networkManager1/securityAdminConfigurations/configuration1/ruleCollections/ruleCollection1/rules/rule1\n```\n\n","properties":{"action":{"type":"string","description":"Specifies the action allowed for this Network Manager Admin Rule. Possible values are `Allow`, `AlwaysAllow`, and `Deny`.\n"},"adminRuleCollectionId":{"type":"string","description":"Specifies the ID of the Network Manager Admin Rule Collection. Changing this forces a new Network Manager Admin Rule to be created.\n"},"description":{"type":"string","description":"A description of the Network Manager Admin Rule.\n"},"destinationPortRanges":{"type":"array","items":{"type":"string"},"description":"A list of string specifies the destination port ranges. Specify one or more single port number or port ranges such as `1024-65535`. Use `*` to specify any port.\n"},"destinations":{"type":"array","items":{"$ref":"#/types/azure:network/NetworkManagerAdminRuleDestination:NetworkManagerAdminRuleDestination"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`destination`\" pulumi-lang-dotnet=\"`Destination`\" pulumi-lang-go=\"`destination`\" pulumi-lang-python=\"`destination`\" pulumi-lang-yaml=\"`destination`\" pulumi-lang-java=\"`destination`\"\u003e`destination`\u003c/span\u003e blocks as defined below.\n"},"direction":{"type":"string","description":"Indicates if the traffic matched against the rule in inbound or outbound. Possible values are `Inbound` and `Outbound`.\n"},"name":{"type":"string","description":"Specifies the name which should be used for this Network Manager Admin Rule. Changing this forces a new Network Manager Admin Rule to be created.\n"},"priority":{"type":"integer","description":"The priority of the rule. Possible values are integers between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`4096`\" pulumi-lang-dotnet=\"`4096`\" pulumi-lang-go=\"`4096`\" pulumi-lang-python=\"`4096`\" pulumi-lang-yaml=\"`4096`\" pulumi-lang-java=\"`4096`\"\u003e`4096`\u003c/span\u003e. The priority number must be unique for each rule in the collection. The lower the priority number, the higher the priority of the rule.\n"},"protocol":{"type":"string","description":"Specifies which network protocol this Network Manager Admin Rule applies to. Possible values are `Ah`, `Any`, `Esp`, `Icmp`, `Tcp`, and `Udp`.\n"},"sourcePortRanges":{"type":"array","items":{"type":"string"},"description":"A list of string specifies the source port ranges. Specify one or more single port number or port ranges such as `1024-65535`. Use `*` to specify any port.\n"},"sources":{"type":"array","items":{"$ref":"#/types/azure:network/NetworkManagerAdminRuleSource:NetworkManagerAdminRuleSource"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`source`\" pulumi-lang-dotnet=\"`Source`\" pulumi-lang-go=\"`source`\" pulumi-lang-python=\"`source`\" pulumi-lang-yaml=\"`source`\" pulumi-lang-java=\"`source`\"\u003e`source`\u003c/span\u003e blocks as defined below.\n"}},"required":["action","adminRuleCollectionId","direction","name","priority","protocol"],"inputProperties":{"action":{"type":"string","description":"Specifies the action allowed for this Network Manager Admin Rule. Possible values are `Allow`, `AlwaysAllow`, and `Deny`.\n"},"adminRuleCollectionId":{"type":"string","description":"Specifies the ID of the Network Manager Admin Rule Collection. Changing this forces a new Network Manager Admin Rule to be created.\n","willReplaceOnChanges":true},"description":{"type":"string","description":"A description of the Network Manager Admin Rule.\n"},"destinationPortRanges":{"type":"array","items":{"type":"string"},"description":"A list of string specifies the destination port ranges. Specify one or more single port number or port ranges such as `1024-65535`. Use `*` to specify any port.\n"},"destinations":{"type":"array","items":{"$ref":"#/types/azure:network/NetworkManagerAdminRuleDestination:NetworkManagerAdminRuleDestination"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`destination`\" pulumi-lang-dotnet=\"`Destination`\" pulumi-lang-go=\"`destination`\" pulumi-lang-python=\"`destination`\" pulumi-lang-yaml=\"`destination`\" pulumi-lang-java=\"`destination`\"\u003e`destination`\u003c/span\u003e blocks as defined below.\n"},"direction":{"type":"string","description":"Indicates if the traffic matched against the rule in inbound or outbound. Possible values are `Inbound` and `Outbound`.\n"},"name":{"type":"string","description":"Specifies the name which should be used for this Network Manager Admin Rule. Changing this forces a new Network Manager Admin Rule to be created.\n","willReplaceOnChanges":true},"priority":{"type":"integer","description":"The priority of the rule. Possible values are integers between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`4096`\" pulumi-lang-dotnet=\"`4096`\" pulumi-lang-go=\"`4096`\" pulumi-lang-python=\"`4096`\" pulumi-lang-yaml=\"`4096`\" pulumi-lang-java=\"`4096`\"\u003e`4096`\u003c/span\u003e. The priority number must be unique for each rule in the collection. The lower the priority number, the higher the priority of the rule.\n"},"protocol":{"type":"string","description":"Specifies which network protocol this Network Manager Admin Rule applies to. Possible values are `Ah`, `Any`, `Esp`, `Icmp`, `Tcp`, and `Udp`.\n"},"sourcePortRanges":{"type":"array","items":{"type":"string"},"description":"A list of string specifies the source port ranges. Specify one or more single port number or port ranges such as `1024-65535`. Use `*` to specify any port.\n"},"sources":{"type":"array","items":{"$ref":"#/types/azure:network/NetworkManagerAdminRuleSource:NetworkManagerAdminRuleSource"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`source`\" pulumi-lang-dotnet=\"`Source`\" pulumi-lang-go=\"`source`\" pulumi-lang-python=\"`source`\" pulumi-lang-yaml=\"`source`\" pulumi-lang-java=\"`source`\"\u003e`source`\u003c/span\u003e blocks as defined below.\n"}},"requiredInputs":["action","adminRuleCollectionId","direction","priority","protocol"],"stateInputs":{"description":"Input properties used for looking up and filtering NetworkManagerAdminRule resources.\n","properties":{"action":{"type":"string","description":"Specifies the action allowed for this Network Manager Admin Rule. Possible values are `Allow`, `AlwaysAllow`, and `Deny`.\n"},"adminRuleCollectionId":{"type":"string","description":"Specifies the ID of the Network Manager Admin Rule Collection. Changing this forces a new Network Manager Admin Rule to be created.\n","willReplaceOnChanges":true},"description":{"type":"string","description":"A description of the Network Manager Admin Rule.\n"},"destinationPortRanges":{"type":"array","items":{"type":"string"},"description":"A list of string specifies the destination port ranges. Specify one or more single port number or port ranges such as `1024-65535`. Use `*` to specify any port.\n"},"destinations":{"type":"array","items":{"$ref":"#/types/azure:network/NetworkManagerAdminRuleDestination:NetworkManagerAdminRuleDestination"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`destination`\" pulumi-lang-dotnet=\"`Destination`\" pulumi-lang-go=\"`destination`\" pulumi-lang-python=\"`destination`\" pulumi-lang-yaml=\"`destination`\" pulumi-lang-java=\"`destination`\"\u003e`destination`\u003c/span\u003e blocks as defined below.\n"},"direction":{"type":"string","description":"Indicates if the traffic matched against the rule in inbound or outbound. Possible values are `Inbound` and `Outbound`.\n"},"name":{"type":"string","description":"Specifies the name which should be used for this Network Manager Admin Rule. Changing this forces a new Network Manager Admin Rule to be created.\n","willReplaceOnChanges":true},"priority":{"type":"integer","description":"The priority of the rule. Possible values are integers between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`4096`\" pulumi-lang-dotnet=\"`4096`\" pulumi-lang-go=\"`4096`\" pulumi-lang-python=\"`4096`\" pulumi-lang-yaml=\"`4096`\" pulumi-lang-java=\"`4096`\"\u003e`4096`\u003c/span\u003e. The priority number must be unique for each rule in the collection. The lower the priority number, the higher the priority of the rule.\n"},"protocol":{"type":"string","description":"Specifies which network protocol this Network Manager Admin Rule applies to. Possible values are `Ah`, `Any`, `Esp`, `Icmp`, `Tcp`, and `Udp`.\n"},"sourcePortRanges":{"type":"array","items":{"type":"string"},"description":"A list of string specifies the source port ranges. Specify one or more single port number or port ranges such as `1024-65535`. Use `*` to specify any port.\n"},"sources":{"type":"array","items":{"$ref":"#/types/azure:network/NetworkManagerAdminRuleSource:NetworkManagerAdminRuleSource"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`source`\" pulumi-lang-dotnet=\"`Source`\" pulumi-lang-go=\"`source`\" pulumi-lang-python=\"`source`\" pulumi-lang-yaml=\"`source`\" pulumi-lang-java=\"`source`\"\u003e`source`\u003c/span\u003e blocks as defined below.\n"}},"type":"object"}},"azure:network/networkManagerAdminRuleCollection:NetworkManagerAdminRuleCollection":{"description":"Manages a Network Manager Admin Rule Collection.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst current = azure.core.getSubscription({});\nconst exampleNetworkManager = new azure.network.NetworkManager(\"example\", {\n    name: \"example-network-manager\",\n    location: example.location,\n    resourceGroupName: example.name,\n    scope: {\n        subscriptionIds: [current.then(current =\u003e current.id)],\n    },\n    scopeAccesses: [\n        \"Connectivity\",\n        \"SecurityAdmin\",\n    ],\n    description: \"example network manager\",\n});\nconst exampleNetworkManagerNetworkGroup = new azure.network.NetworkManagerNetworkGroup(\"example\", {\n    name: \"example-network-group\",\n    networkManagerId: exampleNetworkManager.id,\n});\nconst exampleNetworkManagerSecurityAdminConfiguration = new azure.network.NetworkManagerSecurityAdminConfiguration(\"example\", {\n    name: \"example-admin-conf\",\n    networkManagerId: exampleNetworkManager.id,\n});\nconst exampleNetworkManagerAdminRuleCollection = new azure.network.NetworkManagerAdminRuleCollection(\"example\", {\n    name: \"example-admin-rule-collection\",\n    securityAdminConfigurationId: exampleNetworkManagerSecurityAdminConfiguration.id,\n    networkGroupIds: [exampleNetworkManagerNetworkGroup.id],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\ncurrent = azure.core.get_subscription()\nexample_network_manager = azure.network.NetworkManager(\"example\",\n    name=\"example-network-manager\",\n    location=example.location,\n    resource_group_name=example.name,\n    scope={\n        \"subscription_ids\": [current.id],\n    },\n    scope_accesses=[\n        \"Connectivity\",\n        \"SecurityAdmin\",\n    ],\n    description=\"example network manager\")\nexample_network_manager_network_group = azure.network.NetworkManagerNetworkGroup(\"example\",\n    name=\"example-network-group\",\n    network_manager_id=example_network_manager.id)\nexample_network_manager_security_admin_configuration = azure.network.NetworkManagerSecurityAdminConfiguration(\"example\",\n    name=\"example-admin-conf\",\n    network_manager_id=example_network_manager.id)\nexample_network_manager_admin_rule_collection = azure.network.NetworkManagerAdminRuleCollection(\"example\",\n    name=\"example-admin-rule-collection\",\n    security_admin_configuration_id=example_network_manager_security_admin_configuration.id,\n    network_group_ids=[example_network_manager_network_group.id])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var current = Azure.Core.GetSubscription.Invoke();\n\n    var exampleNetworkManager = new Azure.Network.NetworkManager(\"example\", new()\n    {\n        Name = \"example-network-manager\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Scope = new Azure.Network.Inputs.NetworkManagerScopeArgs\n        {\n            SubscriptionIds = new[]\n            {\n                current.Apply(getSubscriptionResult =\u003e getSubscriptionResult.Id),\n            },\n        },\n        ScopeAccesses = new[]\n        {\n            \"Connectivity\",\n            \"SecurityAdmin\",\n        },\n        Description = \"example network manager\",\n    });\n\n    var exampleNetworkManagerNetworkGroup = new Azure.Network.NetworkManagerNetworkGroup(\"example\", new()\n    {\n        Name = \"example-network-group\",\n        NetworkManagerId = exampleNetworkManager.Id,\n    });\n\n    var exampleNetworkManagerSecurityAdminConfiguration = new Azure.Network.NetworkManagerSecurityAdminConfiguration(\"example\", new()\n    {\n        Name = \"example-admin-conf\",\n        NetworkManagerId = exampleNetworkManager.Id,\n    });\n\n    var exampleNetworkManagerAdminRuleCollection = new Azure.Network.NetworkManagerAdminRuleCollection(\"example\", new()\n    {\n        Name = \"example-admin-rule-collection\",\n        SecurityAdminConfigurationId = exampleNetworkManagerSecurityAdminConfiguration.Id,\n        NetworkGroupIds = new[]\n        {\n            exampleNetworkManagerNetworkGroup.Id,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrent, err := core.LookupSubscription(ctx, \u0026core.LookupSubscriptionArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNetworkManager, err := network.NewNetworkManager(ctx, \"example\", \u0026network.NetworkManagerArgs{\n\t\t\tName:              pulumi.String(\"example-network-manager\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tScope: \u0026network.NetworkManagerScopeArgs{\n\t\t\t\tSubscriptionIds: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(current.Id),\n\t\t\t\t},\n\t\t\t},\n\t\t\tScopeAccesses: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"Connectivity\"),\n\t\t\t\tpulumi.String(\"SecurityAdmin\"),\n\t\t\t},\n\t\t\tDescription: pulumi.String(\"example network manager\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNetworkManagerNetworkGroup, err := network.NewNetworkManagerNetworkGroup(ctx, \"example\", \u0026network.NetworkManagerNetworkGroupArgs{\n\t\t\tName:             pulumi.String(\"example-network-group\"),\n\t\t\tNetworkManagerId: exampleNetworkManager.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNetworkManagerSecurityAdminConfiguration, err := network.NewNetworkManagerSecurityAdminConfiguration(ctx, \"example\", \u0026network.NetworkManagerSecurityAdminConfigurationArgs{\n\t\t\tName:             pulumi.String(\"example-admin-conf\"),\n\t\t\tNetworkManagerId: exampleNetworkManager.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = network.NewNetworkManagerAdminRuleCollection(ctx, \"example\", \u0026network.NetworkManagerAdminRuleCollectionArgs{\n\t\t\tName:                         pulumi.String(\"example-admin-rule-collection\"),\n\t\t\tSecurityAdminConfigurationId: exampleNetworkManagerSecurityAdminConfiguration.ID(),\n\t\t\tNetworkGroupIds: pulumi.StringArray{\n\t\t\t\texampleNetworkManagerNetworkGroup.ID(),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.core.inputs.GetSubscriptionArgs;\nimport com.pulumi.azure.network.NetworkManager;\nimport com.pulumi.azure.network.NetworkManagerArgs;\nimport com.pulumi.azure.network.inputs.NetworkManagerScopeArgs;\nimport com.pulumi.azure.network.NetworkManagerNetworkGroup;\nimport com.pulumi.azure.network.NetworkManagerNetworkGroupArgs;\nimport com.pulumi.azure.network.NetworkManagerSecurityAdminConfiguration;\nimport com.pulumi.azure.network.NetworkManagerSecurityAdminConfigurationArgs;\nimport com.pulumi.azure.network.NetworkManagerAdminRuleCollection;\nimport com.pulumi.azure.network.NetworkManagerAdminRuleCollectionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        final var current = CoreFunctions.getSubscription(GetSubscriptionArgs.builder()\n            .build());\n\n        var exampleNetworkManager = new NetworkManager(\"exampleNetworkManager\", NetworkManagerArgs.builder()\n            .name(\"example-network-manager\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .scope(NetworkManagerScopeArgs.builder()\n                .subscriptionIds(current.id())\n                .build())\n            .scopeAccesses(            \n                \"Connectivity\",\n                \"SecurityAdmin\")\n            .description(\"example network manager\")\n            .build());\n\n        var exampleNetworkManagerNetworkGroup = new NetworkManagerNetworkGroup(\"exampleNetworkManagerNetworkGroup\", NetworkManagerNetworkGroupArgs.builder()\n            .name(\"example-network-group\")\n            .networkManagerId(exampleNetworkManager.id())\n            .build());\n\n        var exampleNetworkManagerSecurityAdminConfiguration = new NetworkManagerSecurityAdminConfiguration(\"exampleNetworkManagerSecurityAdminConfiguration\", NetworkManagerSecurityAdminConfigurationArgs.builder()\n            .name(\"example-admin-conf\")\n            .networkManagerId(exampleNetworkManager.id())\n            .build());\n\n        var exampleNetworkManagerAdminRuleCollection = new NetworkManagerAdminRuleCollection(\"exampleNetworkManagerAdminRuleCollection\", NetworkManagerAdminRuleCollectionArgs.builder()\n            .name(\"example-admin-rule-collection\")\n            .securityAdminConfigurationId(exampleNetworkManagerSecurityAdminConfiguration.id())\n            .networkGroupIds(exampleNetworkManagerNetworkGroup.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleNetworkManager:\n    type: azure:network:NetworkManager\n    name: example\n    properties:\n      name: example-network-manager\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      scope:\n        subscriptionIds:\n          - ${current.id}\n      scopeAccesses:\n        - Connectivity\n        - SecurityAdmin\n      description: example network manager\n  exampleNetworkManagerNetworkGroup:\n    type: azure:network:NetworkManagerNetworkGroup\n    name: example\n    properties:\n      name: example-network-group\n      networkManagerId: ${exampleNetworkManager.id}\n  exampleNetworkManagerSecurityAdminConfiguration:\n    type: azure:network:NetworkManagerSecurityAdminConfiguration\n    name: example\n    properties:\n      name: example-admin-conf\n      networkManagerId: ${exampleNetworkManager.id}\n  exampleNetworkManagerAdminRuleCollection:\n    type: azure:network:NetworkManagerAdminRuleCollection\n    name: example\n    properties:\n      name: example-admin-rule-collection\n      securityAdminConfigurationId: ${exampleNetworkManagerSecurityAdminConfiguration.id}\n      networkGroupIds:\n        - ${exampleNetworkManagerNetworkGroup.id}\nvariables:\n  current:\n    fn::invoke:\n      function: azure:core:getSubscription\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2025-01-01\n\n## Import\n\nNetwork Manager Admin Rule Collection can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:network/networkManagerAdminRuleCollection:NetworkManagerAdminRuleCollection example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup1/providers/Microsoft.Network/networkManagers/networkManager1/securityAdminConfigurations/configuration1/ruleCollections/ruleCollection1\n```\n\n","properties":{"description":{"type":"string","description":"A description of the Network Manager Admin Rule Collection.\n"},"name":{"type":"string","description":"Specifies the name which should be used for this Network Manager Admin Rule Collection. Changing this forces a new Network Manager Admin Rule Collection to be created.\n"},"networkGroupIds":{"type":"array","items":{"type":"string"},"description":"A list of Network Group ID which this Network Manager Admin Rule Collection applies to.\n"},"securityAdminConfigurationId":{"type":"string","description":"Specifies the ID of the Network Manager Security Admin Configuration. Changing this forces a new Network Manager Admin Rule Collection to be created.\n"}},"required":["name","networkGroupIds","securityAdminConfigurationId"],"inputProperties":{"description":{"type":"string","description":"A description of the Network Manager Admin Rule Collection.\n"},"name":{"type":"string","description":"Specifies the name which should be used for this Network Manager Admin Rule Collection. Changing this forces a new Network Manager Admin Rule Collection to be created.\n","willReplaceOnChanges":true},"networkGroupIds":{"type":"array","items":{"type":"string"},"description":"A list of Network Group ID which this Network Manager Admin Rule Collection applies to.\n"},"securityAdminConfigurationId":{"type":"string","description":"Specifies the ID of the Network Manager Security Admin Configuration. Changing this forces a new Network Manager Admin Rule Collection to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["networkGroupIds","securityAdminConfigurationId"],"stateInputs":{"description":"Input properties used for looking up and filtering NetworkManagerAdminRuleCollection resources.\n","properties":{"description":{"type":"string","description":"A description of the Network Manager Admin Rule Collection.\n"},"name":{"type":"string","description":"Specifies the name which should be used for this Network Manager Admin Rule Collection. Changing this forces a new Network Manager Admin Rule Collection to be created.\n","willReplaceOnChanges":true},"networkGroupIds":{"type":"array","items":{"type":"string"},"description":"A list of Network Group ID which this Network Manager Admin Rule Collection applies to.\n"},"securityAdminConfigurationId":{"type":"string","description":"Specifies the ID of the Network Manager Security Admin Configuration. Changing this forces a new Network Manager Admin Rule Collection to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:network/networkManagerConnectivityConfiguration:NetworkManagerConnectivityConfiguration":{"description":"Manages a Network Manager Connectivity Configuration.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`azure.network.NetworkManagerConnectivityConfiguration`\" pulumi-lang-dotnet=\"`azure.network.NetworkManagerConnectivityConfiguration`\" pulumi-lang-go=\"`network.NetworkManagerConnectivityConfiguration`\" pulumi-lang-python=\"`network.NetworkManagerConnectivityConfiguration`\" pulumi-lang-yaml=\"`azure.network.NetworkManagerConnectivityConfiguration`\" pulumi-lang-java=\"`azure.network.NetworkManagerConnectivityConfiguration`\"\u003e`azure.network.NetworkManagerConnectivityConfiguration`\u003c/span\u003e deployment may modify or delete existing Network Peering resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst current = azure.core.getSubscription({});\nconst exampleNetworkManager = new azure.network.NetworkManager(\"example\", {\n    name: \"example-network-manager\",\n    location: example.location,\n    resourceGroupName: example.name,\n    scope: {\n        subscriptionIds: [current.then(current =\u003e current.id)],\n    },\n    scopeAccesses: [\n        \"Connectivity\",\n        \"SecurityAdmin\",\n    ],\n    description: \"example network manager\",\n});\nconst exampleNetworkManagerNetworkGroup = new azure.network.NetworkManagerNetworkGroup(\"example\", {\n    name: \"example-group\",\n    networkManagerId: exampleNetworkManager.id,\n});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"example\", {\n    name: \"example-net\",\n    location: example.location,\n    resourceGroupName: example.name,\n    addressSpaces: [\"10.0.0.0/16\"],\n    flowTimeoutInMinutes: 10,\n});\nconst example2 = new azure.network.NetworkManagerNetworkGroup(\"example2\", {\n    name: \"example-group2\",\n    networkManagerId: exampleNetworkManager.id,\n});\nconst exampleNetworkManagerConnectivityConfiguration = new azure.network.NetworkManagerConnectivityConfiguration(\"example\", {\n    name: \"example-connectivity-conf\",\n    networkManagerId: exampleNetworkManager.id,\n    connectivityTopology: \"HubAndSpoke\",\n    appliesToGroups: [\n        {\n            groupConnectivity: \"DirectlyConnected\",\n            networkGroupId: exampleNetworkManagerNetworkGroup.id,\n        },\n        {\n            groupConnectivity: \"DirectlyConnected\",\n            networkGroupId: example2.id,\n        },\n    ],\n    hub: {\n        resourceId: exampleVirtualNetwork.id,\n        resourceType: \"Microsoft.Network/virtualNetworks\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\ncurrent = azure.core.get_subscription()\nexample_network_manager = azure.network.NetworkManager(\"example\",\n    name=\"example-network-manager\",\n    location=example.location,\n    resource_group_name=example.name,\n    scope={\n        \"subscription_ids\": [current.id],\n    },\n    scope_accesses=[\n        \"Connectivity\",\n        \"SecurityAdmin\",\n    ],\n    description=\"example network manager\")\nexample_network_manager_network_group = azure.network.NetworkManagerNetworkGroup(\"example\",\n    name=\"example-group\",\n    network_manager_id=example_network_manager.id)\nexample_virtual_network = azure.network.VirtualNetwork(\"example\",\n    name=\"example-net\",\n    location=example.location,\n    resource_group_name=example.name,\n    address_spaces=[\"10.0.0.0/16\"],\n    flow_timeout_in_minutes=10)\nexample2 = azure.network.NetworkManagerNetworkGroup(\"example2\",\n    name=\"example-group2\",\n    network_manager_id=example_network_manager.id)\nexample_network_manager_connectivity_configuration = azure.network.NetworkManagerConnectivityConfiguration(\"example\",\n    name=\"example-connectivity-conf\",\n    network_manager_id=example_network_manager.id,\n    connectivity_topology=\"HubAndSpoke\",\n    applies_to_groups=[\n        {\n            \"group_connectivity\": \"DirectlyConnected\",\n            \"network_group_id\": example_network_manager_network_group.id,\n        },\n        {\n            \"group_connectivity\": \"DirectlyConnected\",\n            \"network_group_id\": example2.id,\n        },\n    ],\n    hub={\n        \"resource_id\": example_virtual_network.id,\n        \"resource_type\": \"Microsoft.Network/virtualNetworks\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var current = Azure.Core.GetSubscription.Invoke();\n\n    var exampleNetworkManager = new Azure.Network.NetworkManager(\"example\", new()\n    {\n        Name = \"example-network-manager\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Scope = new Azure.Network.Inputs.NetworkManagerScopeArgs\n        {\n            SubscriptionIds = new[]\n            {\n                current.Apply(getSubscriptionResult =\u003e getSubscriptionResult.Id),\n            },\n        },\n        ScopeAccesses = new[]\n        {\n            \"Connectivity\",\n            \"SecurityAdmin\",\n        },\n        Description = \"example network manager\",\n    });\n\n    var exampleNetworkManagerNetworkGroup = new Azure.Network.NetworkManagerNetworkGroup(\"example\", new()\n    {\n        Name = \"example-group\",\n        NetworkManagerId = exampleNetworkManager.Id,\n    });\n\n    var exampleVirtualNetwork = new Azure.Network.VirtualNetwork(\"example\", new()\n    {\n        Name = \"example-net\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        AddressSpaces = new[]\n        {\n            \"10.0.0.0/16\",\n        },\n        FlowTimeoutInMinutes = 10,\n    });\n\n    var example2 = new Azure.Network.NetworkManagerNetworkGroup(\"example2\", new()\n    {\n        Name = \"example-group2\",\n        NetworkManagerId = exampleNetworkManager.Id,\n    });\n\n    var exampleNetworkManagerConnectivityConfiguration = new Azure.Network.NetworkManagerConnectivityConfiguration(\"example\", new()\n    {\n        Name = \"example-connectivity-conf\",\n        NetworkManagerId = exampleNetworkManager.Id,\n        ConnectivityTopology = \"HubAndSpoke\",\n        AppliesToGroups = new[]\n        {\n            new Azure.Network.Inputs.NetworkManagerConnectivityConfigurationAppliesToGroupArgs\n            {\n                GroupConnectivity = \"DirectlyConnected\",\n                NetworkGroupId = exampleNetworkManagerNetworkGroup.Id,\n            },\n            new Azure.Network.Inputs.NetworkManagerConnectivityConfigurationAppliesToGroupArgs\n            {\n                GroupConnectivity = \"DirectlyConnected\",\n                NetworkGroupId = example2.Id,\n            },\n        },\n        Hub = new Azure.Network.Inputs.NetworkManagerConnectivityConfigurationHubArgs\n        {\n            ResourceId = exampleVirtualNetwork.Id,\n            ResourceType = \"Microsoft.Network/virtualNetworks\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrent, err := core.LookupSubscription(ctx, \u0026core.LookupSubscriptionArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNetworkManager, err := network.NewNetworkManager(ctx, \"example\", \u0026network.NetworkManagerArgs{\n\t\t\tName:              pulumi.String(\"example-network-manager\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tScope: \u0026network.NetworkManagerScopeArgs{\n\t\t\t\tSubscriptionIds: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(current.Id),\n\t\t\t\t},\n\t\t\t},\n\t\t\tScopeAccesses: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"Connectivity\"),\n\t\t\t\tpulumi.String(\"SecurityAdmin\"),\n\t\t\t},\n\t\t\tDescription: pulumi.String(\"example network manager\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNetworkManagerNetworkGroup, err := network.NewNetworkManagerNetworkGroup(ctx, \"example\", \u0026network.NetworkManagerNetworkGroupArgs{\n\t\t\tName:             pulumi.String(\"example-group\"),\n\t\t\tNetworkManagerId: exampleNetworkManager.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, \"example\", \u0026network.VirtualNetworkArgs{\n\t\t\tName:              pulumi.String(\"example-net\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tAddressSpaces: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.0.0/16\"),\n\t\t\t},\n\t\t\tFlowTimeoutInMinutes: pulumi.Int(10),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample2, err := network.NewNetworkManagerNetworkGroup(ctx, \"example2\", \u0026network.NetworkManagerNetworkGroupArgs{\n\t\t\tName:             pulumi.String(\"example-group2\"),\n\t\t\tNetworkManagerId: exampleNetworkManager.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = network.NewNetworkManagerConnectivityConfiguration(ctx, \"example\", \u0026network.NetworkManagerConnectivityConfigurationArgs{\n\t\t\tName:                 pulumi.String(\"example-connectivity-conf\"),\n\t\t\tNetworkManagerId:     exampleNetworkManager.ID(),\n\t\t\tConnectivityTopology: pulumi.String(\"HubAndSpoke\"),\n\t\t\tAppliesToGroups: network.NetworkManagerConnectivityConfigurationAppliesToGroupArray{\n\t\t\t\t\u0026network.NetworkManagerConnectivityConfigurationAppliesToGroupArgs{\n\t\t\t\t\tGroupConnectivity: pulumi.String(\"DirectlyConnected\"),\n\t\t\t\t\tNetworkGroupId:    exampleNetworkManagerNetworkGroup.ID(),\n\t\t\t\t},\n\t\t\t\t\u0026network.NetworkManagerConnectivityConfigurationAppliesToGroupArgs{\n\t\t\t\t\tGroupConnectivity: pulumi.String(\"DirectlyConnected\"),\n\t\t\t\t\tNetworkGroupId:    example2.ID(),\n\t\t\t\t},\n\t\t\t},\n\t\t\tHub: \u0026network.NetworkManagerConnectivityConfigurationHubArgs{\n\t\t\t\tResourceId:   exampleVirtualNetwork.ID(),\n\t\t\t\tResourceType: pulumi.String(\"Microsoft.Network/virtualNetworks\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.core.inputs.GetSubscriptionArgs;\nimport com.pulumi.azure.network.NetworkManager;\nimport com.pulumi.azure.network.NetworkManagerArgs;\nimport com.pulumi.azure.network.inputs.NetworkManagerScopeArgs;\nimport com.pulumi.azure.network.NetworkManagerNetworkGroup;\nimport com.pulumi.azure.network.NetworkManagerNetworkGroupArgs;\nimport com.pulumi.azure.network.VirtualNetwork;\nimport com.pulumi.azure.network.VirtualNetworkArgs;\nimport com.pulumi.azure.network.NetworkManagerConnectivityConfiguration;\nimport com.pulumi.azure.network.NetworkManagerConnectivityConfigurationArgs;\nimport com.pulumi.azure.network.inputs.NetworkManagerConnectivityConfigurationAppliesToGroupArgs;\nimport com.pulumi.azure.network.inputs.NetworkManagerConnectivityConfigurationHubArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        final var current = CoreFunctions.getSubscription(GetSubscriptionArgs.builder()\n            .build());\n\n        var exampleNetworkManager = new NetworkManager(\"exampleNetworkManager\", NetworkManagerArgs.builder()\n            .name(\"example-network-manager\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .scope(NetworkManagerScopeArgs.builder()\n                .subscriptionIds(current.id())\n                .build())\n            .scopeAccesses(            \n                \"Connectivity\",\n                \"SecurityAdmin\")\n            .description(\"example network manager\")\n            .build());\n\n        var exampleNetworkManagerNetworkGroup = new NetworkManagerNetworkGroup(\"exampleNetworkManagerNetworkGroup\", NetworkManagerNetworkGroupArgs.builder()\n            .name(\"example-group\")\n            .networkManagerId(exampleNetworkManager.id())\n            .build());\n\n        var exampleVirtualNetwork = new VirtualNetwork(\"exampleVirtualNetwork\", VirtualNetworkArgs.builder()\n            .name(\"example-net\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .addressSpaces(\"10.0.0.0/16\")\n            .flowTimeoutInMinutes(10)\n            .build());\n\n        var example2 = new NetworkManagerNetworkGroup(\"example2\", NetworkManagerNetworkGroupArgs.builder()\n            .name(\"example-group2\")\n            .networkManagerId(exampleNetworkManager.id())\n            .build());\n\n        var exampleNetworkManagerConnectivityConfiguration = new NetworkManagerConnectivityConfiguration(\"exampleNetworkManagerConnectivityConfiguration\", NetworkManagerConnectivityConfigurationArgs.builder()\n            .name(\"example-connectivity-conf\")\n            .networkManagerId(exampleNetworkManager.id())\n            .connectivityTopology(\"HubAndSpoke\")\n            .appliesToGroups(            \n                NetworkManagerConnectivityConfigurationAppliesToGroupArgs.builder()\n                    .groupConnectivity(\"DirectlyConnected\")\n                    .networkGroupId(exampleNetworkManagerNetworkGroup.id())\n                    .build(),\n                NetworkManagerConnectivityConfigurationAppliesToGroupArgs.builder()\n                    .groupConnectivity(\"DirectlyConnected\")\n                    .networkGroupId(example2.id())\n                    .build())\n            .hub(NetworkManagerConnectivityConfigurationHubArgs.builder()\n                .resourceId(exampleVirtualNetwork.id())\n                .resourceType(\"Microsoft.Network/virtualNetworks\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleNetworkManager:\n    type: azure:network:NetworkManager\n    name: example\n    properties:\n      name: example-network-manager\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      scope:\n        subscriptionIds:\n          - ${current.id}\n      scopeAccesses:\n        - Connectivity\n        - SecurityAdmin\n      description: example network manager\n  exampleNetworkManagerNetworkGroup:\n    type: azure:network:NetworkManagerNetworkGroup\n    name: example\n    properties:\n      name: example-group\n      networkManagerId: ${exampleNetworkManager.id}\n  exampleVirtualNetwork:\n    type: azure:network:VirtualNetwork\n    name: example\n    properties:\n      name: example-net\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      addressSpaces:\n        - 10.0.0.0/16\n      flowTimeoutInMinutes: 10\n  example2:\n    type: azure:network:NetworkManagerNetworkGroup\n    properties:\n      name: example-group2\n      networkManagerId: ${exampleNetworkManager.id}\n  exampleNetworkManagerConnectivityConfiguration:\n    type: azure:network:NetworkManagerConnectivityConfiguration\n    name: example\n    properties:\n      name: example-connectivity-conf\n      networkManagerId: ${exampleNetworkManager.id}\n      connectivityTopology: HubAndSpoke\n      appliesToGroups:\n        - groupConnectivity: DirectlyConnected\n          networkGroupId: ${exampleNetworkManagerNetworkGroup.id}\n        - groupConnectivity: DirectlyConnected\n          networkGroupId: ${example2.id}\n      hub:\n        resourceId: ${exampleVirtualNetwork.id}\n        resourceType: Microsoft.Network/virtualNetworks\nvariables:\n  current:\n    fn::invoke:\n      function: azure:core:getSubscription\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2025-01-01\n\n## Import\n\nNetwork Manager Connectivity Configuration can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:network/networkManagerConnectivityConfiguration:NetworkManagerConnectivityConfiguration example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup1/providers/Microsoft.Network/networkManagers/networkManager1/connectivityConfigurations/configuration1\n```\n\n","properties":{"appliesToGroups":{"type":"array","items":{"$ref":"#/types/azure:network/NetworkManagerConnectivityConfigurationAppliesToGroup:NetworkManagerConnectivityConfigurationAppliesToGroup"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`appliesToGroup`\" pulumi-lang-dotnet=\"`AppliesToGroup`\" pulumi-lang-go=\"`appliesToGroup`\" pulumi-lang-python=\"`applies_to_group`\" pulumi-lang-yaml=\"`appliesToGroup`\" pulumi-lang-java=\"`appliesToGroup`\"\u003e`applies_to_group`\u003c/span\u003e blocks as defined below.\n"},"connectivityTopology":{"type":"string","description":"Specifies the connectivity topology type. Possible values are `HubAndSpoke` and `Mesh`.\n"},"deleteExistingPeeringEnabled":{"type":"boolean","description":"Indicates whether to remove current existing Virtual Network Peering in the Connectivity Configuration affected scope. Possible values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"description":{"type":"string","description":"A description of the Connectivity Configuration.\n"},"globalMeshEnabled":{"type":"boolean","description":"Indicates whether to global mesh is supported. Possible values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"hub":{"$ref":"#/types/azure:network/NetworkManagerConnectivityConfigurationHub:NetworkManagerConnectivityConfigurationHub","description":"A \u003cspan pulumi-lang-nodejs=\"`hub`\" pulumi-lang-dotnet=\"`Hub`\" pulumi-lang-go=\"`hub`\" pulumi-lang-python=\"`hub`\" pulumi-lang-yaml=\"`hub`\" pulumi-lang-java=\"`hub`\"\u003e`hub`\u003c/span\u003e block as defined below.\n"},"name":{"type":"string","description":"Specifies the name which should be used for this Network Manager Connectivity Configuration. Changing this forces a new Network Manager Connectivity Configuration to be created.\n"},"networkManagerId":{"type":"string","description":"Specifies the ID of the Network Manager. Changing this forces a new Network Manager Connectivity Configuration to be created.\n"}},"required":["appliesToGroups","connectivityTopology","name","networkManagerId"],"inputProperties":{"appliesToGroups":{"type":"array","items":{"$ref":"#/types/azure:network/NetworkManagerConnectivityConfigurationAppliesToGroup:NetworkManagerConnectivityConfigurationAppliesToGroup"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`appliesToGroup`\" pulumi-lang-dotnet=\"`AppliesToGroup`\" pulumi-lang-go=\"`appliesToGroup`\" pulumi-lang-python=\"`applies_to_group`\" pulumi-lang-yaml=\"`appliesToGroup`\" pulumi-lang-java=\"`appliesToGroup`\"\u003e`applies_to_group`\u003c/span\u003e blocks as defined below.\n"},"connectivityTopology":{"type":"string","description":"Specifies the connectivity topology type. Possible values are `HubAndSpoke` and `Mesh`.\n"},"deleteExistingPeeringEnabled":{"type":"boolean","description":"Indicates whether to remove current existing Virtual Network Peering in the Connectivity Configuration affected scope. Possible values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"description":{"type":"string","description":"A description of the Connectivity Configuration.\n"},"globalMeshEnabled":{"type":"boolean","description":"Indicates whether to global mesh is supported. Possible values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"hub":{"$ref":"#/types/azure:network/NetworkManagerConnectivityConfigurationHub:NetworkManagerConnectivityConfigurationHub","description":"A \u003cspan pulumi-lang-nodejs=\"`hub`\" pulumi-lang-dotnet=\"`Hub`\" pulumi-lang-go=\"`hub`\" pulumi-lang-python=\"`hub`\" pulumi-lang-yaml=\"`hub`\" pulumi-lang-java=\"`hub`\"\u003e`hub`\u003c/span\u003e block as defined below.\n"},"name":{"type":"string","description":"Specifies the name which should be used for this Network Manager Connectivity Configuration. Changing this forces a new Network Manager Connectivity Configuration to be created.\n","willReplaceOnChanges":true},"networkManagerId":{"type":"string","description":"Specifies the ID of the Network Manager. Changing this forces a new Network Manager Connectivity Configuration to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["appliesToGroups","connectivityTopology","networkManagerId"],"stateInputs":{"description":"Input properties used for looking up and filtering NetworkManagerConnectivityConfiguration resources.\n","properties":{"appliesToGroups":{"type":"array","items":{"$ref":"#/types/azure:network/NetworkManagerConnectivityConfigurationAppliesToGroup:NetworkManagerConnectivityConfigurationAppliesToGroup"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`appliesToGroup`\" pulumi-lang-dotnet=\"`AppliesToGroup`\" pulumi-lang-go=\"`appliesToGroup`\" pulumi-lang-python=\"`applies_to_group`\" pulumi-lang-yaml=\"`appliesToGroup`\" pulumi-lang-java=\"`appliesToGroup`\"\u003e`applies_to_group`\u003c/span\u003e blocks as defined below.\n"},"connectivityTopology":{"type":"string","description":"Specifies the connectivity topology type. Possible values are `HubAndSpoke` and `Mesh`.\n"},"deleteExistingPeeringEnabled":{"type":"boolean","description":"Indicates whether to remove current existing Virtual Network Peering in the Connectivity Configuration affected scope. Possible values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"description":{"type":"string","description":"A description of the Connectivity Configuration.\n"},"globalMeshEnabled":{"type":"boolean","description":"Indicates whether to global mesh is supported. Possible values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"hub":{"$ref":"#/types/azure:network/NetworkManagerConnectivityConfigurationHub:NetworkManagerConnectivityConfigurationHub","description":"A \u003cspan pulumi-lang-nodejs=\"`hub`\" pulumi-lang-dotnet=\"`Hub`\" pulumi-lang-go=\"`hub`\" pulumi-lang-python=\"`hub`\" pulumi-lang-yaml=\"`hub`\" pulumi-lang-java=\"`hub`\"\u003e`hub`\u003c/span\u003e block as defined below.\n"},"name":{"type":"string","description":"Specifies the name which should be used for this Network Manager Connectivity Configuration. Changing this forces a new Network Manager Connectivity Configuration to be created.\n","willReplaceOnChanges":true},"networkManagerId":{"type":"string","description":"Specifies the ID of the Network Manager. Changing this forces a new Network Manager Connectivity Configuration to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:network/networkManagerDeployment:NetworkManagerDeployment":{"description":"Manages a Network Manager Deployment.\n\n\u003e **Note:** Using Network Manager Deployment to deploy Connectivity Configuration may modify or delete existing Virtual Network Peering. At this time you should not use Network Peering resource in conjunction with Network Manager Deployment. Doing so may cause a conflict of Peering configurations.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst current = azure.core.getSubscription({});\nconst exampleNetworkManager = new azure.network.NetworkManager(\"example\", {\n    name: \"example-network-manager\",\n    location: example.location,\n    resourceGroupName: example.name,\n    scope: {\n        subscriptionIds: [current.then(current =\u003e current.id)],\n    },\n    scopeAccesses: [\n        \"Connectivity\",\n        \"SecurityAdmin\",\n    ],\n    description: \"example network manager\",\n});\nconst exampleNetworkManagerNetworkGroup = new azure.network.NetworkManagerNetworkGroup(\"example\", {\n    name: \"example-group\",\n    networkManagerId: exampleNetworkManager.id,\n});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"example\", {\n    name: \"example-net\",\n    location: example.location,\n    resourceGroupName: example.name,\n    addressSpaces: [\"10.0.0.0/16\"],\n    flowTimeoutInMinutes: 10,\n});\nconst exampleNetworkManagerConnectivityConfiguration = new azure.network.NetworkManagerConnectivityConfiguration(\"example\", {\n    name: \"example-connectivity-conf\",\n    networkManagerId: exampleNetworkManager.id,\n    connectivityTopology: \"HubAndSpoke\",\n    appliesToGroups: [{\n        groupConnectivity: \"None\",\n        networkGroupId: exampleNetworkManagerNetworkGroup.id,\n    }],\n    hub: {\n        resourceId: exampleVirtualNetwork.id,\n        resourceType: \"Microsoft.Network/virtualNetworks\",\n    },\n});\nconst exampleNetworkManagerDeployment = new azure.network.NetworkManagerDeployment(\"example\", {\n    networkManagerId: exampleNetworkManager.id,\n    location: \"eastus\",\n    scopeAccess: \"Connectivity\",\n    configurationIds: [exampleNetworkManagerConnectivityConfiguration.id],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\ncurrent = azure.core.get_subscription()\nexample_network_manager = azure.network.NetworkManager(\"example\",\n    name=\"example-network-manager\",\n    location=example.location,\n    resource_group_name=example.name,\n    scope={\n        \"subscription_ids\": [current.id],\n    },\n    scope_accesses=[\n        \"Connectivity\",\n        \"SecurityAdmin\",\n    ],\n    description=\"example network manager\")\nexample_network_manager_network_group = azure.network.NetworkManagerNetworkGroup(\"example\",\n    name=\"example-group\",\n    network_manager_id=example_network_manager.id)\nexample_virtual_network = azure.network.VirtualNetwork(\"example\",\n    name=\"example-net\",\n    location=example.location,\n    resource_group_name=example.name,\n    address_spaces=[\"10.0.0.0/16\"],\n    flow_timeout_in_minutes=10)\nexample_network_manager_connectivity_configuration = azure.network.NetworkManagerConnectivityConfiguration(\"example\",\n    name=\"example-connectivity-conf\",\n    network_manager_id=example_network_manager.id,\n    connectivity_topology=\"HubAndSpoke\",\n    applies_to_groups=[{\n        \"group_connectivity\": \"None\",\n        \"network_group_id\": example_network_manager_network_group.id,\n    }],\n    hub={\n        \"resource_id\": example_virtual_network.id,\n        \"resource_type\": \"Microsoft.Network/virtualNetworks\",\n    })\nexample_network_manager_deployment = azure.network.NetworkManagerDeployment(\"example\",\n    network_manager_id=example_network_manager.id,\n    location=\"eastus\",\n    scope_access=\"Connectivity\",\n    configuration_ids=[example_network_manager_connectivity_configuration.id])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var current = Azure.Core.GetSubscription.Invoke();\n\n    var exampleNetworkManager = new Azure.Network.NetworkManager(\"example\", new()\n    {\n        Name = \"example-network-manager\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Scope = new Azure.Network.Inputs.NetworkManagerScopeArgs\n        {\n            SubscriptionIds = new[]\n            {\n                current.Apply(getSubscriptionResult =\u003e getSubscriptionResult.Id),\n            },\n        },\n        ScopeAccesses = new[]\n        {\n            \"Connectivity\",\n            \"SecurityAdmin\",\n        },\n        Description = \"example network manager\",\n    });\n\n    var exampleNetworkManagerNetworkGroup = new Azure.Network.NetworkManagerNetworkGroup(\"example\", new()\n    {\n        Name = \"example-group\",\n        NetworkManagerId = exampleNetworkManager.Id,\n    });\n\n    var exampleVirtualNetwork = new Azure.Network.VirtualNetwork(\"example\", new()\n    {\n        Name = \"example-net\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        AddressSpaces = new[]\n        {\n            \"10.0.0.0/16\",\n        },\n        FlowTimeoutInMinutes = 10,\n    });\n\n    var exampleNetworkManagerConnectivityConfiguration = new Azure.Network.NetworkManagerConnectivityConfiguration(\"example\", new()\n    {\n        Name = \"example-connectivity-conf\",\n        NetworkManagerId = exampleNetworkManager.Id,\n        ConnectivityTopology = \"HubAndSpoke\",\n        AppliesToGroups = new[]\n        {\n            new Azure.Network.Inputs.NetworkManagerConnectivityConfigurationAppliesToGroupArgs\n            {\n                GroupConnectivity = \"None\",\n                NetworkGroupId = exampleNetworkManagerNetworkGroup.Id,\n            },\n        },\n        Hub = new Azure.Network.Inputs.NetworkManagerConnectivityConfigurationHubArgs\n        {\n            ResourceId = exampleVirtualNetwork.Id,\n            ResourceType = \"Microsoft.Network/virtualNetworks\",\n        },\n    });\n\n    var exampleNetworkManagerDeployment = new Azure.Network.NetworkManagerDeployment(\"example\", new()\n    {\n        NetworkManagerId = exampleNetworkManager.Id,\n        Location = \"eastus\",\n        ScopeAccess = \"Connectivity\",\n        ConfigurationIds = new[]\n        {\n            exampleNetworkManagerConnectivityConfiguration.Id,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrent, err := core.LookupSubscription(ctx, \u0026core.LookupSubscriptionArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNetworkManager, err := network.NewNetworkManager(ctx, \"example\", \u0026network.NetworkManagerArgs{\n\t\t\tName:              pulumi.String(\"example-network-manager\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tScope: \u0026network.NetworkManagerScopeArgs{\n\t\t\t\tSubscriptionIds: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(current.Id),\n\t\t\t\t},\n\t\t\t},\n\t\t\tScopeAccesses: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"Connectivity\"),\n\t\t\t\tpulumi.String(\"SecurityAdmin\"),\n\t\t\t},\n\t\t\tDescription: pulumi.String(\"example network manager\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNetworkManagerNetworkGroup, err := network.NewNetworkManagerNetworkGroup(ctx, \"example\", \u0026network.NetworkManagerNetworkGroupArgs{\n\t\t\tName:             pulumi.String(\"example-group\"),\n\t\t\tNetworkManagerId: exampleNetworkManager.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, \"example\", \u0026network.VirtualNetworkArgs{\n\t\t\tName:              pulumi.String(\"example-net\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tAddressSpaces: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.0.0/16\"),\n\t\t\t},\n\t\t\tFlowTimeoutInMinutes: pulumi.Int(10),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNetworkManagerConnectivityConfiguration, err := network.NewNetworkManagerConnectivityConfiguration(ctx, \"example\", \u0026network.NetworkManagerConnectivityConfigurationArgs{\n\t\t\tName:                 pulumi.String(\"example-connectivity-conf\"),\n\t\t\tNetworkManagerId:     exampleNetworkManager.ID(),\n\t\t\tConnectivityTopology: pulumi.String(\"HubAndSpoke\"),\n\t\t\tAppliesToGroups: network.NetworkManagerConnectivityConfigurationAppliesToGroupArray{\n\t\t\t\t\u0026network.NetworkManagerConnectivityConfigurationAppliesToGroupArgs{\n\t\t\t\t\tGroupConnectivity: pulumi.String(\"None\"),\n\t\t\t\t\tNetworkGroupId:    exampleNetworkManagerNetworkGroup.ID(),\n\t\t\t\t},\n\t\t\t},\n\t\t\tHub: \u0026network.NetworkManagerConnectivityConfigurationHubArgs{\n\t\t\t\tResourceId:   exampleVirtualNetwork.ID(),\n\t\t\t\tResourceType: pulumi.String(\"Microsoft.Network/virtualNetworks\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = network.NewNetworkManagerDeployment(ctx, \"example\", \u0026network.NetworkManagerDeploymentArgs{\n\t\t\tNetworkManagerId: exampleNetworkManager.ID(),\n\t\t\tLocation:         pulumi.String(\"eastus\"),\n\t\t\tScopeAccess:      pulumi.String(\"Connectivity\"),\n\t\t\tConfigurationIds: pulumi.StringArray{\n\t\t\t\texampleNetworkManagerConnectivityConfiguration.ID(),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.core.inputs.GetSubscriptionArgs;\nimport com.pulumi.azure.network.NetworkManager;\nimport com.pulumi.azure.network.NetworkManagerArgs;\nimport com.pulumi.azure.network.inputs.NetworkManagerScopeArgs;\nimport com.pulumi.azure.network.NetworkManagerNetworkGroup;\nimport com.pulumi.azure.network.NetworkManagerNetworkGroupArgs;\nimport com.pulumi.azure.network.VirtualNetwork;\nimport com.pulumi.azure.network.VirtualNetworkArgs;\nimport com.pulumi.azure.network.NetworkManagerConnectivityConfiguration;\nimport com.pulumi.azure.network.NetworkManagerConnectivityConfigurationArgs;\nimport com.pulumi.azure.network.inputs.NetworkManagerConnectivityConfigurationAppliesToGroupArgs;\nimport com.pulumi.azure.network.inputs.NetworkManagerConnectivityConfigurationHubArgs;\nimport com.pulumi.azure.network.NetworkManagerDeployment;\nimport com.pulumi.azure.network.NetworkManagerDeploymentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        final var current = CoreFunctions.getSubscription(GetSubscriptionArgs.builder()\n            .build());\n\n        var exampleNetworkManager = new NetworkManager(\"exampleNetworkManager\", NetworkManagerArgs.builder()\n            .name(\"example-network-manager\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .scope(NetworkManagerScopeArgs.builder()\n                .subscriptionIds(current.id())\n                .build())\n            .scopeAccesses(            \n                \"Connectivity\",\n                \"SecurityAdmin\")\n            .description(\"example network manager\")\n            .build());\n\n        var exampleNetworkManagerNetworkGroup = new NetworkManagerNetworkGroup(\"exampleNetworkManagerNetworkGroup\", NetworkManagerNetworkGroupArgs.builder()\n            .name(\"example-group\")\n            .networkManagerId(exampleNetworkManager.id())\n            .build());\n\n        var exampleVirtualNetwork = new VirtualNetwork(\"exampleVirtualNetwork\", VirtualNetworkArgs.builder()\n            .name(\"example-net\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .addressSpaces(\"10.0.0.0/16\")\n            .flowTimeoutInMinutes(10)\n            .build());\n\n        var exampleNetworkManagerConnectivityConfiguration = new NetworkManagerConnectivityConfiguration(\"exampleNetworkManagerConnectivityConfiguration\", NetworkManagerConnectivityConfigurationArgs.builder()\n            .name(\"example-connectivity-conf\")\n            .networkManagerId(exampleNetworkManager.id())\n            .connectivityTopology(\"HubAndSpoke\")\n            .appliesToGroups(NetworkManagerConnectivityConfigurationAppliesToGroupArgs.builder()\n                .groupConnectivity(\"None\")\n                .networkGroupId(exampleNetworkManagerNetworkGroup.id())\n                .build())\n            .hub(NetworkManagerConnectivityConfigurationHubArgs.builder()\n                .resourceId(exampleVirtualNetwork.id())\n                .resourceType(\"Microsoft.Network/virtualNetworks\")\n                .build())\n            .build());\n\n        var exampleNetworkManagerDeployment = new NetworkManagerDeployment(\"exampleNetworkManagerDeployment\", NetworkManagerDeploymentArgs.builder()\n            .networkManagerId(exampleNetworkManager.id())\n            .location(\"eastus\")\n            .scopeAccess(\"Connectivity\")\n            .configurationIds(exampleNetworkManagerConnectivityConfiguration.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleNetworkManager:\n    type: azure:network:NetworkManager\n    name: example\n    properties:\n      name: example-network-manager\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      scope:\n        subscriptionIds:\n          - ${current.id}\n      scopeAccesses:\n        - Connectivity\n        - SecurityAdmin\n      description: example network manager\n  exampleNetworkManagerNetworkGroup:\n    type: azure:network:NetworkManagerNetworkGroup\n    name: example\n    properties:\n      name: example-group\n      networkManagerId: ${exampleNetworkManager.id}\n  exampleVirtualNetwork:\n    type: azure:network:VirtualNetwork\n    name: example\n    properties:\n      name: example-net\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      addressSpaces:\n        - 10.0.0.0/16\n      flowTimeoutInMinutes: 10\n  exampleNetworkManagerConnectivityConfiguration:\n    type: azure:network:NetworkManagerConnectivityConfiguration\n    name: example\n    properties:\n      name: example-connectivity-conf\n      networkManagerId: ${exampleNetworkManager.id}\n      connectivityTopology: HubAndSpoke\n      appliesToGroups:\n        - groupConnectivity: None\n          networkGroupId: ${exampleNetworkManagerNetworkGroup.id}\n      hub:\n        resourceId: ${exampleVirtualNetwork.id}\n        resourceType: Microsoft.Network/virtualNetworks\n  exampleNetworkManagerDeployment:\n    type: azure:network:NetworkManagerDeployment\n    name: example\n    properties:\n      networkManagerId: ${exampleNetworkManager.id}\n      location: eastus\n      scopeAccess: Connectivity\n      configurationIds:\n        - ${exampleNetworkManagerConnectivityConfiguration.id}\nvariables:\n  current:\n    fn::invoke:\n      function: azure:core:getSubscription\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\n### Triggers)\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\nimport * as std from \"@pulumi/std\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst current = azure.core.getSubscription({});\nconst exampleNetworkManager = new azure.network.NetworkManager(\"example\", {\n    name: \"example-network-manager\",\n    location: example.location,\n    resourceGroupName: example.name,\n    scope: {\n        subscriptionIds: [current.then(current =\u003e current.id)],\n    },\n    scopeAccesses: [\n        \"Connectivity\",\n        \"SecurityAdmin\",\n    ],\n    description: \"example network manager\",\n});\nconst exampleNetworkManagerNetworkGroup = new azure.network.NetworkManagerNetworkGroup(\"example\", {\n    name: \"example-group\",\n    networkManagerId: exampleNetworkManager.id,\n});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"example\", {\n    name: \"example-net\",\n    location: example.location,\n    resourceGroupName: example.name,\n    addressSpaces: [\"10.0.0.0/16\"],\n    flowTimeoutInMinutes: 10,\n});\nconst exampleNetworkManagerSecurityAdminConfiguration = new azure.network.NetworkManagerSecurityAdminConfiguration(\"example\", {\n    name: \"example-nmsac\",\n    networkManagerId: exampleNetworkManager.id,\n});\nconst exampleNetworkManagerAdminRuleCollection = new azure.network.NetworkManagerAdminRuleCollection(\"example\", {\n    name: \"example-nmarc\",\n    securityAdminConfigurationId: exampleNetworkManagerSecurityAdminConfiguration.id,\n    networkGroupIds: [exampleNetworkManagerNetworkGroup.id],\n});\nconst exampleNetworkManagerAdminRule = new azure.network.NetworkManagerAdminRule(\"example\", {\n    name: \"example-nmar\",\n    adminRuleCollectionId: exampleNetworkManagerAdminRuleCollection.id,\n    action: \"Deny\",\n    description: \"example\",\n    direction: \"Inbound\",\n    priority: 1,\n    protocol: \"Tcp\",\n    sourcePortRanges: [\"80\"],\n    destinationPortRanges: [\"80\"],\n    sources: [{\n        addressPrefixType: \"ServiceTag\",\n        addressPrefix: \"Internet\",\n    }],\n    destinations: [{\n        addressPrefixType: \"IPPrefix\",\n        addressPrefix: \"*\",\n    }],\n});\nconst exampleNetworkManagerDeployment = new azure.network.NetworkManagerDeployment(\"example\", {\n    networkManagerId: exampleNetworkManager.id,\n    location: \"eastus\",\n    scopeAccess: \"SecurityAdmin\",\n    configurationIds: [exampleNetworkManagerSecurityAdminConfiguration.id],\n    triggers: {\n        source_port_ranges: exampleNetworkManagerAdminRule.sourcePortRanges.apply(sourcePortRanges =\u003e std.joinOutput({\n            separator: \",\",\n            input: sourcePortRanges,\n        })).apply(invoke =\u003e invoke.result),\n    },\n}, {\n    dependsOn: [exampleNetworkManagerAdminRule],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\nimport pulumi_std as std\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\ncurrent = azure.core.get_subscription()\nexample_network_manager = azure.network.NetworkManager(\"example\",\n    name=\"example-network-manager\",\n    location=example.location,\n    resource_group_name=example.name,\n    scope={\n        \"subscription_ids\": [current.id],\n    },\n    scope_accesses=[\n        \"Connectivity\",\n        \"SecurityAdmin\",\n    ],\n    description=\"example network manager\")\nexample_network_manager_network_group = azure.network.NetworkManagerNetworkGroup(\"example\",\n    name=\"example-group\",\n    network_manager_id=example_network_manager.id)\nexample_virtual_network = azure.network.VirtualNetwork(\"example\",\n    name=\"example-net\",\n    location=example.location,\n    resource_group_name=example.name,\n    address_spaces=[\"10.0.0.0/16\"],\n    flow_timeout_in_minutes=10)\nexample_network_manager_security_admin_configuration = azure.network.NetworkManagerSecurityAdminConfiguration(\"example\",\n    name=\"example-nmsac\",\n    network_manager_id=example_network_manager.id)\nexample_network_manager_admin_rule_collection = azure.network.NetworkManagerAdminRuleCollection(\"example\",\n    name=\"example-nmarc\",\n    security_admin_configuration_id=example_network_manager_security_admin_configuration.id,\n    network_group_ids=[example_network_manager_network_group.id])\nexample_network_manager_admin_rule = azure.network.NetworkManagerAdminRule(\"example\",\n    name=\"example-nmar\",\n    admin_rule_collection_id=example_network_manager_admin_rule_collection.id,\n    action=\"Deny\",\n    description=\"example\",\n    direction=\"Inbound\",\n    priority=1,\n    protocol=\"Tcp\",\n    source_port_ranges=[\"80\"],\n    destination_port_ranges=[\"80\"],\n    sources=[{\n        \"address_prefix_type\": \"ServiceTag\",\n        \"address_prefix\": \"Internet\",\n    }],\n    destinations=[{\n        \"address_prefix_type\": \"IPPrefix\",\n        \"address_prefix\": \"*\",\n    }])\nexample_network_manager_deployment = azure.network.NetworkManagerDeployment(\"example\",\n    network_manager_id=example_network_manager.id,\n    location=\"eastus\",\n    scope_access=\"SecurityAdmin\",\n    configuration_ids=[example_network_manager_security_admin_configuration.id],\n    triggers={\n        \"source_port_ranges\": example_network_manager_admin_rule.source_port_ranges.apply(lambda source_port_ranges: std.join_output(separator=\",\",\n            input=source_port_ranges)).apply(lambda invoke: invoke.result),\n    },\n    opts = pulumi.ResourceOptions(depends_on=[example_network_manager_admin_rule]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var current = Azure.Core.GetSubscription.Invoke();\n\n    var exampleNetworkManager = new Azure.Network.NetworkManager(\"example\", new()\n    {\n        Name = \"example-network-manager\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Scope = new Azure.Network.Inputs.NetworkManagerScopeArgs\n        {\n            SubscriptionIds = new[]\n            {\n                current.Apply(getSubscriptionResult =\u003e getSubscriptionResult.Id),\n            },\n        },\n        ScopeAccesses = new[]\n        {\n            \"Connectivity\",\n            \"SecurityAdmin\",\n        },\n        Description = \"example network manager\",\n    });\n\n    var exampleNetworkManagerNetworkGroup = new Azure.Network.NetworkManagerNetworkGroup(\"example\", new()\n    {\n        Name = \"example-group\",\n        NetworkManagerId = exampleNetworkManager.Id,\n    });\n\n    var exampleVirtualNetwork = new Azure.Network.VirtualNetwork(\"example\", new()\n    {\n        Name = \"example-net\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        AddressSpaces = new[]\n        {\n            \"10.0.0.0/16\",\n        },\n        FlowTimeoutInMinutes = 10,\n    });\n\n    var exampleNetworkManagerSecurityAdminConfiguration = new Azure.Network.NetworkManagerSecurityAdminConfiguration(\"example\", new()\n    {\n        Name = \"example-nmsac\",\n        NetworkManagerId = exampleNetworkManager.Id,\n    });\n\n    var exampleNetworkManagerAdminRuleCollection = new Azure.Network.NetworkManagerAdminRuleCollection(\"example\", new()\n    {\n        Name = \"example-nmarc\",\n        SecurityAdminConfigurationId = exampleNetworkManagerSecurityAdminConfiguration.Id,\n        NetworkGroupIds = new[]\n        {\n            exampleNetworkManagerNetworkGroup.Id,\n        },\n    });\n\n    var exampleNetworkManagerAdminRule = new Azure.Network.NetworkManagerAdminRule(\"example\", new()\n    {\n        Name = \"example-nmar\",\n        AdminRuleCollectionId = exampleNetworkManagerAdminRuleCollection.Id,\n        Action = \"Deny\",\n        Description = \"example\",\n        Direction = \"Inbound\",\n        Priority = 1,\n        Protocol = \"Tcp\",\n        SourcePortRanges = new[]\n        {\n            \"80\",\n        },\n        DestinationPortRanges = new[]\n        {\n            \"80\",\n        },\n        Sources = new[]\n        {\n            new Azure.Network.Inputs.NetworkManagerAdminRuleSourceArgs\n            {\n                AddressPrefixType = \"ServiceTag\",\n                AddressPrefix = \"Internet\",\n            },\n        },\n        Destinations = new[]\n        {\n            new Azure.Network.Inputs.NetworkManagerAdminRuleDestinationArgs\n            {\n                AddressPrefixType = \"IPPrefix\",\n                AddressPrefix = \"*\",\n            },\n        },\n    });\n\n    var exampleNetworkManagerDeployment = new Azure.Network.NetworkManagerDeployment(\"example\", new()\n    {\n        NetworkManagerId = exampleNetworkManager.Id,\n        Location = \"eastus\",\n        ScopeAccess = \"SecurityAdmin\",\n        ConfigurationIds = new[]\n        {\n            exampleNetworkManagerSecurityAdminConfiguration.Id,\n        },\n        Triggers = \n        {\n            { \"source_port_ranges\", exampleNetworkManagerAdminRule.SourcePortRanges.Apply(sourcePortRanges =\u003e Std.Join.Invoke(new()\n            {\n                Separator = \",\",\n                Input = sourcePortRanges,\n            })).Apply(invoke =\u003e invoke.Result) },\n        },\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            exampleNetworkManagerAdminRule,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\nexample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\nName: pulumi.String(\"example-resources\"),\nLocation: pulumi.String(\"West Europe\"),\n})\nif err != nil {\nreturn err\n}\ncurrent, err := core.LookupSubscription(ctx, \u0026core.LookupSubscriptionArgs{\n}, nil);\nif err != nil {\nreturn err\n}\nexampleNetworkManager, err := network.NewNetworkManager(ctx, \"example\", \u0026network.NetworkManagerArgs{\nName: pulumi.String(\"example-network-manager\"),\nLocation: example.Location,\nResourceGroupName: example.Name,\nScope: \u0026network.NetworkManagerScopeArgs{\nSubscriptionIds: pulumi.StringArray{\npulumi.String(current.Id),\n},\n},\nScopeAccesses: pulumi.StringArray{\npulumi.String(\"Connectivity\"),\npulumi.String(\"SecurityAdmin\"),\n},\nDescription: pulumi.String(\"example network manager\"),\n})\nif err != nil {\nreturn err\n}\nexampleNetworkManagerNetworkGroup, err := network.NewNetworkManagerNetworkGroup(ctx, \"example\", \u0026network.NetworkManagerNetworkGroupArgs{\nName: pulumi.String(\"example-group\"),\nNetworkManagerId: exampleNetworkManager.ID(),\n})\nif err != nil {\nreturn err\n}\n_, err = network.NewVirtualNetwork(ctx, \"example\", \u0026network.VirtualNetworkArgs{\nName: pulumi.String(\"example-net\"),\nLocation: example.Location,\nResourceGroupName: example.Name,\nAddressSpaces: pulumi.StringArray{\npulumi.String(\"10.0.0.0/16\"),\n},\nFlowTimeoutInMinutes: pulumi.Int(10),\n})\nif err != nil {\nreturn err\n}\nexampleNetworkManagerSecurityAdminConfiguration, err := network.NewNetworkManagerSecurityAdminConfiguration(ctx, \"example\", \u0026network.NetworkManagerSecurityAdminConfigurationArgs{\nName: pulumi.String(\"example-nmsac\"),\nNetworkManagerId: exampleNetworkManager.ID(),\n})\nif err != nil {\nreturn err\n}\nexampleNetworkManagerAdminRuleCollection, err := network.NewNetworkManagerAdminRuleCollection(ctx, \"example\", \u0026network.NetworkManagerAdminRuleCollectionArgs{\nName: pulumi.String(\"example-nmarc\"),\nSecurityAdminConfigurationId: exampleNetworkManagerSecurityAdminConfiguration.ID(),\nNetworkGroupIds: pulumi.StringArray{\nexampleNetworkManagerNetworkGroup.ID(),\n},\n})\nif err != nil {\nreturn err\n}\nexampleNetworkManagerAdminRule, err := network.NewNetworkManagerAdminRule(ctx, \"example\", \u0026network.NetworkManagerAdminRuleArgs{\nName: pulumi.String(\"example-nmar\"),\nAdminRuleCollectionId: exampleNetworkManagerAdminRuleCollection.ID(),\nAction: pulumi.String(\"Deny\"),\nDescription: pulumi.String(\"example\"),\nDirection: pulumi.String(\"Inbound\"),\nPriority: pulumi.Int(1),\nProtocol: pulumi.String(\"Tcp\"),\nSourcePortRanges: pulumi.StringArray{\npulumi.String(\"80\"),\n},\nDestinationPortRanges: pulumi.StringArray{\npulumi.String(\"80\"),\n},\nSources: network.NetworkManagerAdminRuleSourceArray{\n\u0026network.NetworkManagerAdminRuleSourceArgs{\nAddressPrefixType: pulumi.String(\"ServiceTag\"),\nAddressPrefix: pulumi.String(\"Internet\"),\n},\n},\nDestinations: network.NetworkManagerAdminRuleDestinationArray{\n\u0026network.NetworkManagerAdminRuleDestinationArgs{\nAddressPrefixType: pulumi.String(\"IPPrefix\"),\nAddressPrefix: pulumi.String(\"*\"),\n},\n},\n})\nif err != nil {\nreturn err\n}\ninvokeJoin, err := std.Join(ctx, \u0026std.JoinArgs{\nSeparator: \",\",\nInput: sourcePortRanges,\n}, nil)\nif err != nil {\nreturn err\n}\n_, err = network.NewNetworkManagerDeployment(ctx, \"example\", \u0026network.NetworkManagerDeploymentArgs{\nNetworkManagerId: exampleNetworkManager.ID(),\nLocation: pulumi.String(\"eastus\"),\nScopeAccess: pulumi.String(\"SecurityAdmin\"),\nConfigurationIds: pulumi.StringArray{\nexampleNetworkManagerSecurityAdminConfiguration.ID(),\n},\nTriggers: pulumi.StringMap{\n\"source_port_ranges\": pulumi.String(exampleNetworkManagerAdminRule.SourcePortRanges.ApplyT(func(sourcePortRanges interface{}) (std.JoinResult, error) {\n%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference)).(std.JoinResultOutput).ApplyT(func(invoke std.JoinResult) (*string, error) {\nreturn invoke.Result, nil\n}).(pulumi.StringPtrOutput)),\n},\n}, pulumi.DependsOn([]pulumi.Resource{\nexampleNetworkManagerAdminRule,\n}))\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.core.inputs.GetSubscriptionArgs;\nimport com.pulumi.azure.network.NetworkManager;\nimport com.pulumi.azure.network.NetworkManagerArgs;\nimport com.pulumi.azure.network.inputs.NetworkManagerScopeArgs;\nimport com.pulumi.azure.network.NetworkManagerNetworkGroup;\nimport com.pulumi.azure.network.NetworkManagerNetworkGroupArgs;\nimport com.pulumi.azure.network.VirtualNetwork;\nimport com.pulumi.azure.network.VirtualNetworkArgs;\nimport com.pulumi.azure.network.NetworkManagerSecurityAdminConfiguration;\nimport com.pulumi.azure.network.NetworkManagerSecurityAdminConfigurationArgs;\nimport com.pulumi.azure.network.NetworkManagerAdminRuleCollection;\nimport com.pulumi.azure.network.NetworkManagerAdminRuleCollectionArgs;\nimport com.pulumi.azure.network.NetworkManagerAdminRule;\nimport com.pulumi.azure.network.NetworkManagerAdminRuleArgs;\nimport com.pulumi.azure.network.inputs.NetworkManagerAdminRuleSourceArgs;\nimport com.pulumi.azure.network.inputs.NetworkManagerAdminRuleDestinationArgs;\nimport com.pulumi.azure.network.NetworkManagerDeployment;\nimport com.pulumi.azure.network.NetworkManagerDeploymentArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.JoinArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        final var current = CoreFunctions.getSubscription(GetSubscriptionArgs.builder()\n            .build());\n\n        var exampleNetworkManager = new NetworkManager(\"exampleNetworkManager\", NetworkManagerArgs.builder()\n            .name(\"example-network-manager\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .scope(NetworkManagerScopeArgs.builder()\n                .subscriptionIds(current.id())\n                .build())\n            .scopeAccesses(            \n                \"Connectivity\",\n                \"SecurityAdmin\")\n            .description(\"example network manager\")\n            .build());\n\n        var exampleNetworkManagerNetworkGroup = new NetworkManagerNetworkGroup(\"exampleNetworkManagerNetworkGroup\", NetworkManagerNetworkGroupArgs.builder()\n            .name(\"example-group\")\n            .networkManagerId(exampleNetworkManager.id())\n            .build());\n\n        var exampleVirtualNetwork = new VirtualNetwork(\"exampleVirtualNetwork\", VirtualNetworkArgs.builder()\n            .name(\"example-net\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .addressSpaces(\"10.0.0.0/16\")\n            .flowTimeoutInMinutes(10)\n            .build());\n\n        var exampleNetworkManagerSecurityAdminConfiguration = new NetworkManagerSecurityAdminConfiguration(\"exampleNetworkManagerSecurityAdminConfiguration\", NetworkManagerSecurityAdminConfigurationArgs.builder()\n            .name(\"example-nmsac\")\n            .networkManagerId(exampleNetworkManager.id())\n            .build());\n\n        var exampleNetworkManagerAdminRuleCollection = new NetworkManagerAdminRuleCollection(\"exampleNetworkManagerAdminRuleCollection\", NetworkManagerAdminRuleCollectionArgs.builder()\n            .name(\"example-nmarc\")\n            .securityAdminConfigurationId(exampleNetworkManagerSecurityAdminConfiguration.id())\n            .networkGroupIds(exampleNetworkManagerNetworkGroup.id())\n            .build());\n\n        var exampleNetworkManagerAdminRule = new NetworkManagerAdminRule(\"exampleNetworkManagerAdminRule\", NetworkManagerAdminRuleArgs.builder()\n            .name(\"example-nmar\")\n            .adminRuleCollectionId(exampleNetworkManagerAdminRuleCollection.id())\n            .action(\"Deny\")\n            .description(\"example\")\n            .direction(\"Inbound\")\n            .priority(1)\n            .protocol(\"Tcp\")\n            .sourcePortRanges(\"80\")\n            .destinationPortRanges(\"80\")\n            .sources(NetworkManagerAdminRuleSourceArgs.builder()\n                .addressPrefixType(\"ServiceTag\")\n                .addressPrefix(\"Internet\")\n                .build())\n            .destinations(NetworkManagerAdminRuleDestinationArgs.builder()\n                .addressPrefixType(\"IPPrefix\")\n                .addressPrefix(\"*\")\n                .build())\n            .build());\n\n        var exampleNetworkManagerDeployment = new NetworkManagerDeployment(\"exampleNetworkManagerDeployment\", NetworkManagerDeploymentArgs.builder()\n            .networkManagerId(exampleNetworkManager.id())\n            .location(\"eastus\")\n            .scopeAccess(\"SecurityAdmin\")\n            .configurationIds(exampleNetworkManagerSecurityAdminConfiguration.id())\n            .triggers(Map.of(\"source_port_ranges\", exampleNetworkManagerAdminRule.sourcePortRanges().applyValue(_sourcePortRanges -\u003e StdFunctions.join(JoinArgs.builder()\n                .separator(\",\")\n                .input(_sourcePortRanges)\n                .build())).applyValue(_invoke -\u003e _invoke.result())))\n            .build(), CustomResourceOptions.builder()\n                .dependsOn(exampleNetworkManagerAdminRule)\n                .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleNetworkManager:\n    type: azure:network:NetworkManager\n    name: example\n    properties:\n      name: example-network-manager\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      scope:\n        subscriptionIds:\n          - ${current.id}\n      scopeAccesses:\n        - Connectivity\n        - SecurityAdmin\n      description: example network manager\n  exampleNetworkManagerNetworkGroup:\n    type: azure:network:NetworkManagerNetworkGroup\n    name: example\n    properties:\n      name: example-group\n      networkManagerId: ${exampleNetworkManager.id}\n  exampleVirtualNetwork:\n    type: azure:network:VirtualNetwork\n    name: example\n    properties:\n      name: example-net\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      addressSpaces:\n        - 10.0.0.0/16\n      flowTimeoutInMinutes: 10\n  exampleNetworkManagerSecurityAdminConfiguration:\n    type: azure:network:NetworkManagerSecurityAdminConfiguration\n    name: example\n    properties:\n      name: example-nmsac\n      networkManagerId: ${exampleNetworkManager.id}\n  exampleNetworkManagerAdminRuleCollection:\n    type: azure:network:NetworkManagerAdminRuleCollection\n    name: example\n    properties:\n      name: example-nmarc\n      securityAdminConfigurationId: ${exampleNetworkManagerSecurityAdminConfiguration.id}\n      networkGroupIds:\n        - ${exampleNetworkManagerNetworkGroup.id}\n  exampleNetworkManagerAdminRule:\n    type: azure:network:NetworkManagerAdminRule\n    name: example\n    properties:\n      name: example-nmar\n      adminRuleCollectionId: ${exampleNetworkManagerAdminRuleCollection.id}\n      action: Deny\n      description: example\n      direction: Inbound\n      priority: 1\n      protocol: Tcp\n      sourcePortRanges:\n        - '80'\n      destinationPortRanges:\n        - '80'\n      sources:\n        - addressPrefixType: ServiceTag\n          addressPrefix: Internet\n      destinations:\n        - addressPrefixType: IPPrefix\n          addressPrefix: '*'\n  exampleNetworkManagerDeployment:\n    type: azure:network:NetworkManagerDeployment\n    name: example\n    properties:\n      networkManagerId: ${exampleNetworkManager.id}\n      location: eastus\n      scopeAccess: SecurityAdmin\n      configurationIds:\n        - ${exampleNetworkManagerSecurityAdminConfiguration.id}\n      triggers:\n        source_port_ranges:\n          fn::invoke:\n            function: std:join\n            arguments:\n              separator: ','\n              input: ${exampleNetworkManagerAdminRule.sourcePortRanges}\n            return: result\n    options:\n      dependsOn:\n        - ${exampleNetworkManagerAdminRule}\nvariables:\n  current:\n    fn::invoke:\n      function: azure:core:getSubscription\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2025-01-01\n\n## Import\n\nNetwork Manager Deployment can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:network/networkManagerDeployment:NetworkManagerDeployment example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup1/providers/Microsoft.Network/networkManagers/networkManager1/commit|eastus|Connectivity\n```\n\n","properties":{"configurationIds":{"type":"array","items":{"type":"string"},"description":"A list of Network Manager Configuration IDs which should be aligned with \u003cspan pulumi-lang-nodejs=\"`scopeAccess`\" pulumi-lang-dotnet=\"`ScopeAccess`\" pulumi-lang-go=\"`scopeAccess`\" pulumi-lang-python=\"`scope_access`\" pulumi-lang-yaml=\"`scopeAccess`\" pulumi-lang-java=\"`scopeAccess`\"\u003e`scope_access`\u003c/span\u003e.\n"},"location":{"type":"string","description":"Specifies the location which the configurations will be deployed to. Changing this forces a new Network Manager Deployment to be created.\n"},"networkManagerId":{"type":"string","description":"Specifies the ID of the Network Manager. Changing this forces a new Network Manager Deployment to be created.\n"},"scopeAccess":{"type":"string","description":"Specifies the configuration deployment type. Possible values are `Connectivity`, `SecurityAdmin` and `Routing`. Changing this forces a new Network Manager Deployment to be created.\n"},"triggers":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of key values pairs that can be used to keep the deployment up with the Network Manager configurations and rules.\n"}},"required":["configurationIds","location","networkManagerId","scopeAccess"],"inputProperties":{"configurationIds":{"type":"array","items":{"type":"string"},"description":"A list of Network Manager Configuration IDs which should be aligned with \u003cspan pulumi-lang-nodejs=\"`scopeAccess`\" pulumi-lang-dotnet=\"`ScopeAccess`\" pulumi-lang-go=\"`scopeAccess`\" pulumi-lang-python=\"`scope_access`\" pulumi-lang-yaml=\"`scopeAccess`\" pulumi-lang-java=\"`scopeAccess`\"\u003e`scope_access`\u003c/span\u003e.\n"},"location":{"type":"string","description":"Specifies the location which the configurations will be deployed to. Changing this forces a new Network Manager Deployment to be created.\n","willReplaceOnChanges":true},"networkManagerId":{"type":"string","description":"Specifies the ID of the Network Manager. Changing this forces a new Network Manager Deployment to be created.\n","willReplaceOnChanges":true},"scopeAccess":{"type":"string","description":"Specifies the configuration deployment type. Possible values are `Connectivity`, `SecurityAdmin` and `Routing`. Changing this forces a new Network Manager Deployment to be created.\n","willReplaceOnChanges":true},"triggers":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of key values pairs that can be used to keep the deployment up with the Network Manager configurations and rules.\n"}},"requiredInputs":["configurationIds","networkManagerId","scopeAccess"],"stateInputs":{"description":"Input properties used for looking up and filtering NetworkManagerDeployment resources.\n","properties":{"configurationIds":{"type":"array","items":{"type":"string"},"description":"A list of Network Manager Configuration IDs which should be aligned with \u003cspan pulumi-lang-nodejs=\"`scopeAccess`\" pulumi-lang-dotnet=\"`ScopeAccess`\" pulumi-lang-go=\"`scopeAccess`\" pulumi-lang-python=\"`scope_access`\" pulumi-lang-yaml=\"`scopeAccess`\" pulumi-lang-java=\"`scopeAccess`\"\u003e`scope_access`\u003c/span\u003e.\n"},"location":{"type":"string","description":"Specifies the location which the configurations will be deployed to. Changing this forces a new Network Manager Deployment to be created.\n","willReplaceOnChanges":true},"networkManagerId":{"type":"string","description":"Specifies the ID of the Network Manager. Changing this forces a new Network Manager Deployment to be created.\n","willReplaceOnChanges":true},"scopeAccess":{"type":"string","description":"Specifies the configuration deployment type. Possible values are `Connectivity`, `SecurityAdmin` and `Routing`. Changing this forces a new Network Manager Deployment to be created.\n","willReplaceOnChanges":true},"triggers":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of key values pairs that can be used to keep the deployment up with the Network Manager configurations and rules.\n"}},"type":"object"}},"azure:network/networkManagerIpamPool:NetworkManagerIpamPool":{"description":"Manages a Network Manager IP Address Management (IPAM) Pool.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst current = azure.core.getSubscription({});\nconst exampleNetworkManager = new azure.network.NetworkManager(\"example\", {\n    name: \"example-network-manager\",\n    location: example.location,\n    resourceGroupName: example.name,\n    scope: {\n        subscriptionIds: [current.then(current =\u003e current.id)],\n    },\n    scopeAccesses: [\n        \"Connectivity\",\n        \"SecurityAdmin\",\n    ],\n});\nconst exampleNetworkManagerIpamPool = new azure.network.NetworkManagerIpamPool(\"example\", {\n    name: \"example-ipam-pool\",\n    location: \"West Europe\",\n    networkManagerId: exampleNetworkManager.id,\n    displayName: \"example-pool\",\n    addressPrefixes: [\"10.0.0.0/24\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\ncurrent = azure.core.get_subscription()\nexample_network_manager = azure.network.NetworkManager(\"example\",\n    name=\"example-network-manager\",\n    location=example.location,\n    resource_group_name=example.name,\n    scope={\n        \"subscription_ids\": [current.id],\n    },\n    scope_accesses=[\n        \"Connectivity\",\n        \"SecurityAdmin\",\n    ])\nexample_network_manager_ipam_pool = azure.network.NetworkManagerIpamPool(\"example\",\n    name=\"example-ipam-pool\",\n    location=\"West Europe\",\n    network_manager_id=example_network_manager.id,\n    display_name=\"example-pool\",\n    address_prefixes=[\"10.0.0.0/24\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var current = Azure.Core.GetSubscription.Invoke();\n\n    var exampleNetworkManager = new Azure.Network.NetworkManager(\"example\", new()\n    {\n        Name = \"example-network-manager\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Scope = new Azure.Network.Inputs.NetworkManagerScopeArgs\n        {\n            SubscriptionIds = new[]\n            {\n                current.Apply(getSubscriptionResult =\u003e getSubscriptionResult.Id),\n            },\n        },\n        ScopeAccesses = new[]\n        {\n            \"Connectivity\",\n            \"SecurityAdmin\",\n        },\n    });\n\n    var exampleNetworkManagerIpamPool = new Azure.Network.NetworkManagerIpamPool(\"example\", new()\n    {\n        Name = \"example-ipam-pool\",\n        Location = \"West Europe\",\n        NetworkManagerId = exampleNetworkManager.Id,\n        DisplayName = \"example-pool\",\n        AddressPrefixes = new[]\n        {\n            \"10.0.0.0/24\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrent, err := core.LookupSubscription(ctx, \u0026core.LookupSubscriptionArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNetworkManager, err := network.NewNetworkManager(ctx, \"example\", \u0026network.NetworkManagerArgs{\n\t\t\tName:              pulumi.String(\"example-network-manager\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tScope: \u0026network.NetworkManagerScopeArgs{\n\t\t\t\tSubscriptionIds: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(current.Id),\n\t\t\t\t},\n\t\t\t},\n\t\t\tScopeAccesses: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"Connectivity\"),\n\t\t\t\tpulumi.String(\"SecurityAdmin\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = network.NewNetworkManagerIpamPool(ctx, \"example\", \u0026network.NetworkManagerIpamPoolArgs{\n\t\t\tName:             pulumi.String(\"example-ipam-pool\"),\n\t\t\tLocation:         pulumi.String(\"West Europe\"),\n\t\t\tNetworkManagerId: exampleNetworkManager.ID(),\n\t\t\tDisplayName:      pulumi.String(\"example-pool\"),\n\t\t\tAddressPrefixes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.0.0/24\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.core.inputs.GetSubscriptionArgs;\nimport com.pulumi.azure.network.NetworkManager;\nimport com.pulumi.azure.network.NetworkManagerArgs;\nimport com.pulumi.azure.network.inputs.NetworkManagerScopeArgs;\nimport com.pulumi.azure.network.NetworkManagerIpamPool;\nimport com.pulumi.azure.network.NetworkManagerIpamPoolArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        final var current = CoreFunctions.getSubscription(GetSubscriptionArgs.builder()\n            .build());\n\n        var exampleNetworkManager = new NetworkManager(\"exampleNetworkManager\", NetworkManagerArgs.builder()\n            .name(\"example-network-manager\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .scope(NetworkManagerScopeArgs.builder()\n                .subscriptionIds(current.id())\n                .build())\n            .scopeAccesses(            \n                \"Connectivity\",\n                \"SecurityAdmin\")\n            .build());\n\n        var exampleNetworkManagerIpamPool = new NetworkManagerIpamPool(\"exampleNetworkManagerIpamPool\", NetworkManagerIpamPoolArgs.builder()\n            .name(\"example-ipam-pool\")\n            .location(\"West Europe\")\n            .networkManagerId(exampleNetworkManager.id())\n            .displayName(\"example-pool\")\n            .addressPrefixes(\"10.0.0.0/24\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleNetworkManager:\n    type: azure:network:NetworkManager\n    name: example\n    properties:\n      name: example-network-manager\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      scope:\n        subscriptionIds:\n          - ${current.id}\n      scopeAccesses:\n        - Connectivity\n        - SecurityAdmin\n  exampleNetworkManagerIpamPool:\n    type: azure:network:NetworkManagerIpamPool\n    name: example\n    properties:\n      name: example-ipam-pool\n      location: West Europe\n      networkManagerId: ${exampleNetworkManager.id}\n      displayName: example-pool\n      addressPrefixes:\n        - 10.0.0.0/24\nvariables:\n  current:\n    fn::invoke:\n      function: azure:core:getSubscription\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2025-01-01\n\n## Import\n\nNetwork Manager IPAM Pools can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:network/networkManagerIpamPool:NetworkManagerIpamPool example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/networkManagers/manager1/ipamPools/pool1\n```\n\n","properties":{"addressPrefixes":{"type":"array","items":{"type":"string"},"description":"Specifies a list of IPv4 or IPv6 IP address prefixes. Changing this forces a new Network Manager IPAM Pool to be created.\n"},"description":{"type":"string","description":"The description of the Network Manager IPAM Pool.\n"},"displayName":{"type":"string","description":"The display name for the Network Manager IPAM Pool.\n"},"location":{"type":"string","description":"The Azure Region where the Network Manager IPAM Pool should exist. Changing this forces a new Network Manager IPAM Pool to be created.\n"},"name":{"type":"string","description":"The name which should be used for this Network Manager IPAM Pool. Changing this forces a new Network Manager IPAM Pool to be created.\n"},"networkManagerId":{"type":"string","description":"The ID of the parent Network Manager. Changing this forces a new Network Manager IPAM Pool to be created.\n"},"parentPoolName":{"type":"string","description":"The name of the parent IPAM Pool. Changing this forces a new Network Manager IPAM Pool to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Network Manager IPAM Pool.\n"}},"required":["addressPrefixes","location","name","networkManagerId"],"inputProperties":{"addressPrefixes":{"type":"array","items":{"type":"string"},"description":"Specifies a list of IPv4 or IPv6 IP address prefixes. Changing this forces a new Network Manager IPAM Pool to be created.\n","willReplaceOnChanges":true},"description":{"type":"string","description":"The description of the Network Manager IPAM Pool.\n"},"displayName":{"type":"string","description":"The display name for the Network Manager IPAM Pool.\n"},"location":{"type":"string","description":"The Azure Region where the Network Manager IPAM Pool should exist. Changing this forces a new Network Manager IPAM Pool to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Network Manager IPAM Pool. Changing this forces a new Network Manager IPAM Pool to be created.\n","willReplaceOnChanges":true},"networkManagerId":{"type":"string","description":"The ID of the parent Network Manager. Changing this forces a new Network Manager IPAM Pool to be created.\n","willReplaceOnChanges":true},"parentPoolName":{"type":"string","description":"The name of the parent IPAM Pool. Changing this forces a new Network Manager IPAM Pool to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Network Manager IPAM Pool.\n"}},"requiredInputs":["addressPrefixes","networkManagerId"],"stateInputs":{"description":"Input properties used for looking up and filtering NetworkManagerIpamPool resources.\n","properties":{"addressPrefixes":{"type":"array","items":{"type":"string"},"description":"Specifies a list of IPv4 or IPv6 IP address prefixes. Changing this forces a new Network Manager IPAM Pool to be created.\n","willReplaceOnChanges":true},"description":{"type":"string","description":"The description of the Network Manager IPAM Pool.\n"},"displayName":{"type":"string","description":"The display name for the Network Manager IPAM Pool.\n"},"location":{"type":"string","description":"The Azure Region where the Network Manager IPAM Pool should exist. Changing this forces a new Network Manager IPAM Pool to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Network Manager IPAM Pool. Changing this forces a new Network Manager IPAM Pool to be created.\n","willReplaceOnChanges":true},"networkManagerId":{"type":"string","description":"The ID of the parent Network Manager. Changing this forces a new Network Manager IPAM Pool to be created.\n","willReplaceOnChanges":true},"parentPoolName":{"type":"string","description":"The name of the parent IPAM Pool. Changing this forces a new Network Manager IPAM Pool to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Network Manager IPAM Pool.\n"}},"type":"object"}},"azure:network/networkManagerIpamPoolStaticCidr:NetworkManagerIpamPoolStaticCidr":{"description":"Manages a Network Manager IPAM Pool Static CIDR.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst current = azure.core.getSubscription({});\nconst exampleNetworkManager = new azure.network.NetworkManager(\"example\", {\n    name: \"example-nm\",\n    resourceGroupName: example.name,\n    location: example.location,\n    scope: {\n        subscriptionIds: [current.then(current =\u003e current.id)],\n    },\n});\nconst exampleNetworkManagerIpamPool = new azure.network.NetworkManagerIpamPool(\"example\", {\n    name: \"example-ipampool\",\n    networkManagerId: exampleNetworkManager.id,\n    location: example.location,\n    displayName: \"ipampool1\",\n    addressPrefixes: [\"10.0.0.0/24\"],\n});\nconst exampleNetworkManagerIpamPoolStaticCidr = new azure.network.NetworkManagerIpamPoolStaticCidr(\"example\", {\n    name: \"example-ipsc\",\n    ipamPoolId: exampleNetworkManagerIpamPool.id,\n    addressPrefixes: [\n        \"10.0.0.0/26\",\n        \"10.0.0.128/27\",\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\ncurrent = azure.core.get_subscription()\nexample_network_manager = azure.network.NetworkManager(\"example\",\n    name=\"example-nm\",\n    resource_group_name=example.name,\n    location=example.location,\n    scope={\n        \"subscription_ids\": [current.id],\n    })\nexample_network_manager_ipam_pool = azure.network.NetworkManagerIpamPool(\"example\",\n    name=\"example-ipampool\",\n    network_manager_id=example_network_manager.id,\n    location=example.location,\n    display_name=\"ipampool1\",\n    address_prefixes=[\"10.0.0.0/24\"])\nexample_network_manager_ipam_pool_static_cidr = azure.network.NetworkManagerIpamPoolStaticCidr(\"example\",\n    name=\"example-ipsc\",\n    ipam_pool_id=example_network_manager_ipam_pool.id,\n    address_prefixes=[\n        \"10.0.0.0/26\",\n        \"10.0.0.128/27\",\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var current = Azure.Core.GetSubscription.Invoke();\n\n    var exampleNetworkManager = new Azure.Network.NetworkManager(\"example\", new()\n    {\n        Name = \"example-nm\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        Scope = new Azure.Network.Inputs.NetworkManagerScopeArgs\n        {\n            SubscriptionIds = new[]\n            {\n                current.Apply(getSubscriptionResult =\u003e getSubscriptionResult.Id),\n            },\n        },\n    });\n\n    var exampleNetworkManagerIpamPool = new Azure.Network.NetworkManagerIpamPool(\"example\", new()\n    {\n        Name = \"example-ipampool\",\n        NetworkManagerId = exampleNetworkManager.Id,\n        Location = example.Location,\n        DisplayName = \"ipampool1\",\n        AddressPrefixes = new[]\n        {\n            \"10.0.0.0/24\",\n        },\n    });\n\n    var exampleNetworkManagerIpamPoolStaticCidr = new Azure.Network.NetworkManagerIpamPoolStaticCidr(\"example\", new()\n    {\n        Name = \"example-ipsc\",\n        IpamPoolId = exampleNetworkManagerIpamPool.Id,\n        AddressPrefixes = new[]\n        {\n            \"10.0.0.0/26\",\n            \"10.0.0.128/27\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrent, err := core.LookupSubscription(ctx, \u0026core.LookupSubscriptionArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNetworkManager, err := network.NewNetworkManager(ctx, \"example\", \u0026network.NetworkManagerArgs{\n\t\t\tName:              pulumi.String(\"example-nm\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tScope: \u0026network.NetworkManagerScopeArgs{\n\t\t\t\tSubscriptionIds: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(current.Id),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNetworkManagerIpamPool, err := network.NewNetworkManagerIpamPool(ctx, \"example\", \u0026network.NetworkManagerIpamPoolArgs{\n\t\t\tName:             pulumi.String(\"example-ipampool\"),\n\t\t\tNetworkManagerId: exampleNetworkManager.ID(),\n\t\t\tLocation:         example.Location,\n\t\t\tDisplayName:      pulumi.String(\"ipampool1\"),\n\t\t\tAddressPrefixes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.0.0/24\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = network.NewNetworkManagerIpamPoolStaticCidr(ctx, \"example\", \u0026network.NetworkManagerIpamPoolStaticCidrArgs{\n\t\t\tName:       pulumi.String(\"example-ipsc\"),\n\t\t\tIpamPoolId: exampleNetworkManagerIpamPool.ID(),\n\t\t\tAddressPrefixes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.0.0/26\"),\n\t\t\t\tpulumi.String(\"10.0.0.128/27\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.core.inputs.GetSubscriptionArgs;\nimport com.pulumi.azure.network.NetworkManager;\nimport com.pulumi.azure.network.NetworkManagerArgs;\nimport com.pulumi.azure.network.inputs.NetworkManagerScopeArgs;\nimport com.pulumi.azure.network.NetworkManagerIpamPool;\nimport com.pulumi.azure.network.NetworkManagerIpamPoolArgs;\nimport com.pulumi.azure.network.NetworkManagerIpamPoolStaticCidr;\nimport com.pulumi.azure.network.NetworkManagerIpamPoolStaticCidrArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        final var current = CoreFunctions.getSubscription(GetSubscriptionArgs.builder()\n            .build());\n\n        var exampleNetworkManager = new NetworkManager(\"exampleNetworkManager\", NetworkManagerArgs.builder()\n            .name(\"example-nm\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .scope(NetworkManagerScopeArgs.builder()\n                .subscriptionIds(current.id())\n                .build())\n            .build());\n\n        var exampleNetworkManagerIpamPool = new NetworkManagerIpamPool(\"exampleNetworkManagerIpamPool\", NetworkManagerIpamPoolArgs.builder()\n            .name(\"example-ipampool\")\n            .networkManagerId(exampleNetworkManager.id())\n            .location(example.location())\n            .displayName(\"ipampool1\")\n            .addressPrefixes(\"10.0.0.0/24\")\n            .build());\n\n        var exampleNetworkManagerIpamPoolStaticCidr = new NetworkManagerIpamPoolStaticCidr(\"exampleNetworkManagerIpamPoolStaticCidr\", NetworkManagerIpamPoolStaticCidrArgs.builder()\n            .name(\"example-ipsc\")\n            .ipamPoolId(exampleNetworkManagerIpamPool.id())\n            .addressPrefixes(            \n                \"10.0.0.0/26\",\n                \"10.0.0.128/27\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleNetworkManager:\n    type: azure:network:NetworkManager\n    name: example\n    properties:\n      name: example-nm\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      scope:\n        subscriptionIds:\n          - ${current.id}\n  exampleNetworkManagerIpamPool:\n    type: azure:network:NetworkManagerIpamPool\n    name: example\n    properties:\n      name: example-ipampool\n      networkManagerId: ${exampleNetworkManager.id}\n      location: ${example.location}\n      displayName: ipampool1\n      addressPrefixes:\n        - 10.0.0.0/24\n  exampleNetworkManagerIpamPoolStaticCidr:\n    type: azure:network:NetworkManagerIpamPoolStaticCidr\n    name: example\n    properties:\n      name: example-ipsc\n      ipamPoolId: ${exampleNetworkManagerIpamPool.id}\n      addressPrefixes:\n        - 10.0.0.0/26\n        - 10.0.0.128/27\nvariables:\n  current:\n    fn::invoke:\n      function: azure:core:getSubscription\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2025-01-01\n\n## Import\n\nNetwork Manager IPAM Pool Static CIDRs can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:network/networkManagerIpamPoolStaticCidr:NetworkManagerIpamPoolStaticCidr example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/networkManagers/manager1/ipamPools/pool1/staticCidrs/cidr1\n```\n\n","properties":{"addressPrefixes":{"type":"array","items":{"type":"string"},"description":"Specifies a list of IPv4 or IPv6 IP address prefixes which will be allocated to the Static CIDR.\n\n\u003e **Note:** Exactly one of \u003cspan pulumi-lang-nodejs=\"`addressPrefixes`\" pulumi-lang-dotnet=\"`AddressPrefixes`\" pulumi-lang-go=\"`addressPrefixes`\" pulumi-lang-python=\"`address_prefixes`\" pulumi-lang-yaml=\"`addressPrefixes`\" pulumi-lang-java=\"`addressPrefixes`\"\u003e`address_prefixes`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`numberOfIpAddressesToAllocate`\" pulumi-lang-dotnet=\"`NumberOfIpAddressesToAllocate`\" pulumi-lang-go=\"`numberOfIpAddressesToAllocate`\" pulumi-lang-python=\"`number_of_ip_addresses_to_allocate`\" pulumi-lang-yaml=\"`numberOfIpAddressesToAllocate`\" pulumi-lang-java=\"`numberOfIpAddressesToAllocate`\"\u003e`number_of_ip_addresses_to_allocate`\u003c/span\u003e must be specified.\n"},"ipamPoolId":{"type":"string","description":"The ID of the Network Manager IP Address Management (IPAM) Pool. Changing this forces a new Network Manager IPAM Pool Static CIDR to be created.\n"},"name":{"type":"string","description":"The name which should be used for this Network Manager IPAM Pool Static CIDR. Changing this forces a new Network Manager IPAM Pool Static CIDR to be created.\n"},"numberOfIpAddressesToAllocate":{"type":"string","description":"The number of IP addresses to allocate to the Static CIDR. The value must be a string representing a positive integer which is a positive power of 2, e.g., `\"16\"`.\n\n\u003e **Note:** Exactly one of \u003cspan pulumi-lang-nodejs=\"`addressPrefixes`\" pulumi-lang-dotnet=\"`AddressPrefixes`\" pulumi-lang-go=\"`addressPrefixes`\" pulumi-lang-python=\"`address_prefixes`\" pulumi-lang-yaml=\"`addressPrefixes`\" pulumi-lang-java=\"`addressPrefixes`\"\u003e`address_prefixes`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`numberOfIpAddressesToAllocate`\" pulumi-lang-dotnet=\"`NumberOfIpAddressesToAllocate`\" pulumi-lang-go=\"`numberOfIpAddressesToAllocate`\" pulumi-lang-python=\"`number_of_ip_addresses_to_allocate`\" pulumi-lang-yaml=\"`numberOfIpAddressesToAllocate`\" pulumi-lang-java=\"`numberOfIpAddressesToAllocate`\"\u003e`number_of_ip_addresses_to_allocate`\u003c/span\u003e must be specified.\n"}},"required":["ipamPoolId","name"],"inputProperties":{"addressPrefixes":{"type":"array","items":{"type":"string"},"description":"Specifies a list of IPv4 or IPv6 IP address prefixes which will be allocated to the Static CIDR.\n\n\u003e **Note:** Exactly one of \u003cspan pulumi-lang-nodejs=\"`addressPrefixes`\" pulumi-lang-dotnet=\"`AddressPrefixes`\" pulumi-lang-go=\"`addressPrefixes`\" pulumi-lang-python=\"`address_prefixes`\" pulumi-lang-yaml=\"`addressPrefixes`\" pulumi-lang-java=\"`addressPrefixes`\"\u003e`address_prefixes`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`numberOfIpAddressesToAllocate`\" pulumi-lang-dotnet=\"`NumberOfIpAddressesToAllocate`\" pulumi-lang-go=\"`numberOfIpAddressesToAllocate`\" pulumi-lang-python=\"`number_of_ip_addresses_to_allocate`\" pulumi-lang-yaml=\"`numberOfIpAddressesToAllocate`\" pulumi-lang-java=\"`numberOfIpAddressesToAllocate`\"\u003e`number_of_ip_addresses_to_allocate`\u003c/span\u003e must be specified.\n"},"ipamPoolId":{"type":"string","description":"The ID of the Network Manager IP Address Management (IPAM) Pool. Changing this forces a new Network Manager IPAM Pool Static CIDR to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Network Manager IPAM Pool Static CIDR. Changing this forces a new Network Manager IPAM Pool Static CIDR to be created.\n","willReplaceOnChanges":true},"numberOfIpAddressesToAllocate":{"type":"string","description":"The number of IP addresses to allocate to the Static CIDR. The value must be a string representing a positive integer which is a positive power of 2, e.g., `\"16\"`.\n\n\u003e **Note:** Exactly one of \u003cspan pulumi-lang-nodejs=\"`addressPrefixes`\" pulumi-lang-dotnet=\"`AddressPrefixes`\" pulumi-lang-go=\"`addressPrefixes`\" pulumi-lang-python=\"`address_prefixes`\" pulumi-lang-yaml=\"`addressPrefixes`\" pulumi-lang-java=\"`addressPrefixes`\"\u003e`address_prefixes`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`numberOfIpAddressesToAllocate`\" pulumi-lang-dotnet=\"`NumberOfIpAddressesToAllocate`\" pulumi-lang-go=\"`numberOfIpAddressesToAllocate`\" pulumi-lang-python=\"`number_of_ip_addresses_to_allocate`\" pulumi-lang-yaml=\"`numberOfIpAddressesToAllocate`\" pulumi-lang-java=\"`numberOfIpAddressesToAllocate`\"\u003e`number_of_ip_addresses_to_allocate`\u003c/span\u003e must be specified.\n"}},"requiredInputs":["ipamPoolId"],"stateInputs":{"description":"Input properties used for looking up and filtering NetworkManagerIpamPoolStaticCidr resources.\n","properties":{"addressPrefixes":{"type":"array","items":{"type":"string"},"description":"Specifies a list of IPv4 or IPv6 IP address prefixes which will be allocated to the Static CIDR.\n\n\u003e **Note:** Exactly one of \u003cspan pulumi-lang-nodejs=\"`addressPrefixes`\" pulumi-lang-dotnet=\"`AddressPrefixes`\" pulumi-lang-go=\"`addressPrefixes`\" pulumi-lang-python=\"`address_prefixes`\" pulumi-lang-yaml=\"`addressPrefixes`\" pulumi-lang-java=\"`addressPrefixes`\"\u003e`address_prefixes`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`numberOfIpAddressesToAllocate`\" pulumi-lang-dotnet=\"`NumberOfIpAddressesToAllocate`\" pulumi-lang-go=\"`numberOfIpAddressesToAllocate`\" pulumi-lang-python=\"`number_of_ip_addresses_to_allocate`\" pulumi-lang-yaml=\"`numberOfIpAddressesToAllocate`\" pulumi-lang-java=\"`numberOfIpAddressesToAllocate`\"\u003e`number_of_ip_addresses_to_allocate`\u003c/span\u003e must be specified.\n"},"ipamPoolId":{"type":"string","description":"The ID of the Network Manager IP Address Management (IPAM) Pool. Changing this forces a new Network Manager IPAM Pool Static CIDR to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Network Manager IPAM Pool Static CIDR. Changing this forces a new Network Manager IPAM Pool Static CIDR to be created.\n","willReplaceOnChanges":true},"numberOfIpAddressesToAllocate":{"type":"string","description":"The number of IP addresses to allocate to the Static CIDR. The value must be a string representing a positive integer which is a positive power of 2, e.g., `\"16\"`.\n\n\u003e **Note:** Exactly one of \u003cspan pulumi-lang-nodejs=\"`addressPrefixes`\" pulumi-lang-dotnet=\"`AddressPrefixes`\" pulumi-lang-go=\"`addressPrefixes`\" pulumi-lang-python=\"`address_prefixes`\" pulumi-lang-yaml=\"`addressPrefixes`\" pulumi-lang-java=\"`addressPrefixes`\"\u003e`address_prefixes`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`numberOfIpAddressesToAllocate`\" pulumi-lang-dotnet=\"`NumberOfIpAddressesToAllocate`\" pulumi-lang-go=\"`numberOfIpAddressesToAllocate`\" pulumi-lang-python=\"`number_of_ip_addresses_to_allocate`\" pulumi-lang-yaml=\"`numberOfIpAddressesToAllocate`\" pulumi-lang-java=\"`numberOfIpAddressesToAllocate`\"\u003e`number_of_ip_addresses_to_allocate`\u003c/span\u003e must be specified.\n"}},"type":"object"}},"azure:network/networkManagerManagementGroupConnection:NetworkManagerManagementGroupConnection":{"description":"Manages a Network Manager Management Group Connection which may cross tenants.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.management.Group(\"example\", {});\nconst alt = azure.core.getSubscription({\n    subscriptionId: \"00000000-0000-0000-0000-000000000000\",\n});\nconst exampleGroupSubscriptionAssociation = new azure.management.GroupSubscriptionAssociation(\"example\", {\n    managementGroupId: example.id,\n    subscriptionId: alt.then(alt =\u003e alt.id),\n});\nconst current = azure.core.getSubscription({});\nconst currentGetClientConfig = azure.core.getClientConfig({});\nconst networkContributor = new azure.authorization.Assignment(\"network_contributor\", {\n    scope: example.id,\n    roleDefinitionName: \"Network Contributor\",\n    principalId: currentGetClientConfig.then(currentGetClientConfig =\u003e currentGetClientConfig.objectId),\n});\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleNetworkManager = new azure.network.NetworkManager(\"example\", {\n    name: \"example-networkmanager\",\n    location: exampleResourceGroup.location,\n    resourceGroupName: exampleResourceGroup.name,\n    scope: {\n        subscriptionIds: [current.then(current =\u003e current.id)],\n    },\n    scopeAccesses: [\"SecurityAdmin\"],\n});\nconst exampleNetworkManagerManagementGroupConnection = new azure.network.NetworkManagerManagementGroupConnection(\"example\", {\n    name: \"example-nmmgc\",\n    managementGroupId: example.id,\n    networkManagerId: exampleNetworkManager.id,\n    description: \"example\",\n}, {\n    dependsOn: [networkContributor],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.management.Group(\"example\")\nalt = azure.core.get_subscription(subscription_id=\"00000000-0000-0000-0000-000000000000\")\nexample_group_subscription_association = azure.management.GroupSubscriptionAssociation(\"example\",\n    management_group_id=example.id,\n    subscription_id=alt.id)\ncurrent = azure.core.get_subscription()\ncurrent_get_client_config = azure.core.get_client_config()\nnetwork_contributor = azure.authorization.Assignment(\"network_contributor\",\n    scope=example.id,\n    role_definition_name=\"Network Contributor\",\n    principal_id=current_get_client_config.object_id)\nexample_resource_group = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_network_manager = azure.network.NetworkManager(\"example\",\n    name=\"example-networkmanager\",\n    location=example_resource_group.location,\n    resource_group_name=example_resource_group.name,\n    scope={\n        \"subscription_ids\": [current.id],\n    },\n    scope_accesses=[\"SecurityAdmin\"])\nexample_network_manager_management_group_connection = azure.network.NetworkManagerManagementGroupConnection(\"example\",\n    name=\"example-nmmgc\",\n    management_group_id=example.id,\n    network_manager_id=example_network_manager.id,\n    description=\"example\",\n    opts = pulumi.ResourceOptions(depends_on=[network_contributor]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Management.Group(\"example\");\n\n    var alt = Azure.Core.GetSubscription.Invoke(new()\n    {\n        SubscriptionId = \"00000000-0000-0000-0000-000000000000\",\n    });\n\n    var exampleGroupSubscriptionAssociation = new Azure.Management.GroupSubscriptionAssociation(\"example\", new()\n    {\n        ManagementGroupId = example.Id,\n        SubscriptionId = alt.Apply(getSubscriptionResult =\u003e getSubscriptionResult.Id),\n    });\n\n    var current = Azure.Core.GetSubscription.Invoke();\n\n    var currentGetClientConfig = Azure.Core.GetClientConfig.Invoke();\n\n    var networkContributor = new Azure.Authorization.Assignment(\"network_contributor\", new()\n    {\n        Scope = example.Id,\n        RoleDefinitionName = \"Network Contributor\",\n        PrincipalId = currentGetClientConfig.Apply(getClientConfigResult =\u003e getClientConfigResult.ObjectId),\n    });\n\n    var exampleResourceGroup = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleNetworkManager = new Azure.Network.NetworkManager(\"example\", new()\n    {\n        Name = \"example-networkmanager\",\n        Location = exampleResourceGroup.Location,\n        ResourceGroupName = exampleResourceGroup.Name,\n        Scope = new Azure.Network.Inputs.NetworkManagerScopeArgs\n        {\n            SubscriptionIds = new[]\n            {\n                current.Apply(getSubscriptionResult =\u003e getSubscriptionResult.Id),\n            },\n        },\n        ScopeAccesses = new[]\n        {\n            \"SecurityAdmin\",\n        },\n    });\n\n    var exampleNetworkManagerManagementGroupConnection = new Azure.Network.NetworkManagerManagementGroupConnection(\"example\", new()\n    {\n        Name = \"example-nmmgc\",\n        ManagementGroupId = example.Id,\n        NetworkManagerId = exampleNetworkManager.Id,\n        Description = \"example\",\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            networkContributor,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/authorization\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/management\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := management.NewGroup(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\talt, err := core.LookupSubscription(ctx, \u0026core.LookupSubscriptionArgs{\n\t\t\tSubscriptionId: pulumi.StringRef(\"00000000-0000-0000-0000-000000000000\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = management.NewGroupSubscriptionAssociation(ctx, \"example\", \u0026management.GroupSubscriptionAssociationArgs{\n\t\t\tManagementGroupId: example.ID(),\n\t\t\tSubscriptionId:    pulumi.String(alt.Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrent, err := core.LookupSubscription(ctx, \u0026core.LookupSubscriptionArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrentGetClientConfig, err := core.GetClientConfig(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tnetworkContributor, err := authorization.NewAssignment(ctx, \"network_contributor\", \u0026authorization.AssignmentArgs{\n\t\t\tScope:              example.ID(),\n\t\t\tRoleDefinitionName: pulumi.String(\"Network Contributor\"),\n\t\t\tPrincipalId:        pulumi.String(currentGetClientConfig.ObjectId),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNetworkManager, err := network.NewNetworkManager(ctx, \"example\", \u0026network.NetworkManagerArgs{\n\t\t\tName:              pulumi.String(\"example-networkmanager\"),\n\t\t\tLocation:          exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tScope: \u0026network.NetworkManagerScopeArgs{\n\t\t\t\tSubscriptionIds: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(current.Id),\n\t\t\t\t},\n\t\t\t},\n\t\t\tScopeAccesses: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"SecurityAdmin\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = network.NewNetworkManagerManagementGroupConnection(ctx, \"example\", \u0026network.NetworkManagerManagementGroupConnectionArgs{\n\t\t\tName:              pulumi.String(\"example-nmmgc\"),\n\t\t\tManagementGroupId: example.ID(),\n\t\t\tNetworkManagerId:  exampleNetworkManager.ID(),\n\t\t\tDescription:       pulumi.String(\"example\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tnetworkContributor,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.management.Group;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.core.inputs.GetSubscriptionArgs;\nimport com.pulumi.azure.management.GroupSubscriptionAssociation;\nimport com.pulumi.azure.management.GroupSubscriptionAssociationArgs;\nimport com.pulumi.azure.authorization.Assignment;\nimport com.pulumi.azure.authorization.AssignmentArgs;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.NetworkManager;\nimport com.pulumi.azure.network.NetworkManagerArgs;\nimport com.pulumi.azure.network.inputs.NetworkManagerScopeArgs;\nimport com.pulumi.azure.network.NetworkManagerManagementGroupConnection;\nimport com.pulumi.azure.network.NetworkManagerManagementGroupConnectionArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new Group(\"example\");\n\n        final var alt = CoreFunctions.getSubscription(GetSubscriptionArgs.builder()\n            .subscriptionId(\"00000000-0000-0000-0000-000000000000\")\n            .build());\n\n        var exampleGroupSubscriptionAssociation = new GroupSubscriptionAssociation(\"exampleGroupSubscriptionAssociation\", GroupSubscriptionAssociationArgs.builder()\n            .managementGroupId(example.id())\n            .subscriptionId(alt.id())\n            .build());\n\n        final var current = CoreFunctions.getSubscription(GetSubscriptionArgs.builder()\n            .build());\n\n        final var currentGetClientConfig = CoreFunctions.getClientConfig(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n        var networkContributor = new Assignment(\"networkContributor\", AssignmentArgs.builder()\n            .scope(example.id())\n            .roleDefinitionName(\"Network Contributor\")\n            .principalId(currentGetClientConfig.objectId())\n            .build());\n\n        var exampleResourceGroup = new ResourceGroup(\"exampleResourceGroup\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleNetworkManager = new NetworkManager(\"exampleNetworkManager\", NetworkManagerArgs.builder()\n            .name(\"example-networkmanager\")\n            .location(exampleResourceGroup.location())\n            .resourceGroupName(exampleResourceGroup.name())\n            .scope(NetworkManagerScopeArgs.builder()\n                .subscriptionIds(current.id())\n                .build())\n            .scopeAccesses(\"SecurityAdmin\")\n            .build());\n\n        var exampleNetworkManagerManagementGroupConnection = new NetworkManagerManagementGroupConnection(\"exampleNetworkManagerManagementGroupConnection\", NetworkManagerManagementGroupConnectionArgs.builder()\n            .name(\"example-nmmgc\")\n            .managementGroupId(example.id())\n            .networkManagerId(exampleNetworkManager.id())\n            .description(\"example\")\n            .build(), CustomResourceOptions.builder()\n                .dependsOn(networkContributor)\n                .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:management:Group\n  exampleGroupSubscriptionAssociation:\n    type: azure:management:GroupSubscriptionAssociation\n    name: example\n    properties:\n      managementGroupId: ${example.id}\n      subscriptionId: ${alt.id}\n  networkContributor:\n    type: azure:authorization:Assignment\n    name: network_contributor\n    properties:\n      scope: ${example.id}\n      roleDefinitionName: Network Contributor\n      principalId: ${currentGetClientConfig.objectId}\n  exampleResourceGroup:\n    type: azure:core:ResourceGroup\n    name: example\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleNetworkManager:\n    type: azure:network:NetworkManager\n    name: example\n    properties:\n      name: example-networkmanager\n      location: ${exampleResourceGroup.location}\n      resourceGroupName: ${exampleResourceGroup.name}\n      scope:\n        subscriptionIds:\n          - ${current.id}\n      scopeAccesses:\n        - SecurityAdmin\n  exampleNetworkManagerManagementGroupConnection:\n    type: azure:network:NetworkManagerManagementGroupConnection\n    name: example\n    properties:\n      name: example-nmmgc\n      managementGroupId: ${example.id}\n      networkManagerId: ${exampleNetworkManager.id}\n      description: example\n    options:\n      dependsOn:\n        - ${networkContributor}\nvariables:\n  alt:\n    fn::invoke:\n      function: azure:core:getSubscription\n      arguments:\n        subscriptionId: 00000000-0000-0000-0000-000000000000\n  current:\n    fn::invoke:\n      function: azure:core:getSubscription\n      arguments: {}\n  currentGetClientConfig:\n    fn::invoke:\n      function: azure:core:getClientConfig\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Management` - 2025-01-01\n\n## Import\n\nNetwork Manager Management Group Connection can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:network/networkManagerManagementGroupConnection:NetworkManagerManagementGroupConnection example /providers/Microsoft.Management/managementGroups/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/networkManagerConnections/networkManagerConnection1\n```\n\n","properties":{"connectionState":{"type":"string","description":"The Connection state of the Network Manager Management Group Connection.\n"},"description":{"type":"string","description":"A description of the Network Manager Management Group Connection.\n"},"managementGroupId":{"type":"string","description":"Specifies the ID of the target Management Group. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"Specifies the name which should be used for this Network Manager Management Group Connection. Changing this forces a new Network Manager Management Group Connection to be created.\n"},"networkManagerId":{"type":"string","description":"Specifies the ID of the Network Manager which the Management Group is connected to. Changing this forces a new resource to be created.\n"}},"required":["connectionState","managementGroupId","name","networkManagerId"],"inputProperties":{"description":{"type":"string","description":"A description of the Network Manager Management Group Connection.\n"},"managementGroupId":{"type":"string","description":"Specifies the ID of the target Management Group. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name which should be used for this Network Manager Management Group Connection. Changing this forces a new Network Manager Management Group Connection to be created.\n","willReplaceOnChanges":true},"networkManagerId":{"type":"string","description":"Specifies the ID of the Network Manager which the Management Group is connected to. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["managementGroupId","networkManagerId"],"stateInputs":{"description":"Input properties used for looking up and filtering NetworkManagerManagementGroupConnection resources.\n","properties":{"connectionState":{"type":"string","description":"The Connection state of the Network Manager Management Group Connection.\n"},"description":{"type":"string","description":"A description of the Network Manager Management Group Connection.\n"},"managementGroupId":{"type":"string","description":"Specifies the ID of the target Management Group. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name which should be used for this Network Manager Management Group Connection. Changing this forces a new Network Manager Management Group Connection to be created.\n","willReplaceOnChanges":true},"networkManagerId":{"type":"string","description":"Specifies the ID of the Network Manager which the Management Group is connected to. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:network/networkManagerNetworkGroup:NetworkManagerNetworkGroup":{"description":"Manages a Network Manager Network Group.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst current = azure.core.getSubscription({});\nconst exampleNetworkManager = new azure.network.NetworkManager(\"example\", {\n    name: \"example-network-manager\",\n    location: example.location,\n    resourceGroupName: example.name,\n    scope: {\n        subscriptionIds: [current.then(current =\u003e current.id)],\n    },\n    scopeAccesses: [\n        \"Connectivity\",\n        \"SecurityAdmin\",\n    ],\n    description: \"example network manager\",\n});\nconst exampleNetworkManagerNetworkGroup = new azure.network.NetworkManagerNetworkGroup(\"example\", {\n    name: \"example-group\",\n    networkManagerId: exampleNetworkManager.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\ncurrent = azure.core.get_subscription()\nexample_network_manager = azure.network.NetworkManager(\"example\",\n    name=\"example-network-manager\",\n    location=example.location,\n    resource_group_name=example.name,\n    scope={\n        \"subscription_ids\": [current.id],\n    },\n    scope_accesses=[\n        \"Connectivity\",\n        \"SecurityAdmin\",\n    ],\n    description=\"example network manager\")\nexample_network_manager_network_group = azure.network.NetworkManagerNetworkGroup(\"example\",\n    name=\"example-group\",\n    network_manager_id=example_network_manager.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var current = Azure.Core.GetSubscription.Invoke();\n\n    var exampleNetworkManager = new Azure.Network.NetworkManager(\"example\", new()\n    {\n        Name = \"example-network-manager\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Scope = new Azure.Network.Inputs.NetworkManagerScopeArgs\n        {\n            SubscriptionIds = new[]\n            {\n                current.Apply(getSubscriptionResult =\u003e getSubscriptionResult.Id),\n            },\n        },\n        ScopeAccesses = new[]\n        {\n            \"Connectivity\",\n            \"SecurityAdmin\",\n        },\n        Description = \"example network manager\",\n    });\n\n    var exampleNetworkManagerNetworkGroup = new Azure.Network.NetworkManagerNetworkGroup(\"example\", new()\n    {\n        Name = \"example-group\",\n        NetworkManagerId = exampleNetworkManager.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrent, err := core.LookupSubscription(ctx, \u0026core.LookupSubscriptionArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNetworkManager, err := network.NewNetworkManager(ctx, \"example\", \u0026network.NetworkManagerArgs{\n\t\t\tName:              pulumi.String(\"example-network-manager\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tScope: \u0026network.NetworkManagerScopeArgs{\n\t\t\t\tSubscriptionIds: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(current.Id),\n\t\t\t\t},\n\t\t\t},\n\t\t\tScopeAccesses: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"Connectivity\"),\n\t\t\t\tpulumi.String(\"SecurityAdmin\"),\n\t\t\t},\n\t\t\tDescription: pulumi.String(\"example network manager\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = network.NewNetworkManagerNetworkGroup(ctx, \"example\", \u0026network.NetworkManagerNetworkGroupArgs{\n\t\t\tName:             pulumi.String(\"example-group\"),\n\t\t\tNetworkManagerId: exampleNetworkManager.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.core.inputs.GetSubscriptionArgs;\nimport com.pulumi.azure.network.NetworkManager;\nimport com.pulumi.azure.network.NetworkManagerArgs;\nimport com.pulumi.azure.network.inputs.NetworkManagerScopeArgs;\nimport com.pulumi.azure.network.NetworkManagerNetworkGroup;\nimport com.pulumi.azure.network.NetworkManagerNetworkGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        final var current = CoreFunctions.getSubscription(GetSubscriptionArgs.builder()\n            .build());\n\n        var exampleNetworkManager = new NetworkManager(\"exampleNetworkManager\", NetworkManagerArgs.builder()\n            .name(\"example-network-manager\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .scope(NetworkManagerScopeArgs.builder()\n                .subscriptionIds(current.id())\n                .build())\n            .scopeAccesses(            \n                \"Connectivity\",\n                \"SecurityAdmin\")\n            .description(\"example network manager\")\n            .build());\n\n        var exampleNetworkManagerNetworkGroup = new NetworkManagerNetworkGroup(\"exampleNetworkManagerNetworkGroup\", NetworkManagerNetworkGroupArgs.builder()\n            .name(\"example-group\")\n            .networkManagerId(exampleNetworkManager.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleNetworkManager:\n    type: azure:network:NetworkManager\n    name: example\n    properties:\n      name: example-network-manager\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      scope:\n        subscriptionIds:\n          - ${current.id}\n      scopeAccesses:\n        - Connectivity\n        - SecurityAdmin\n      description: example network manager\n  exampleNetworkManagerNetworkGroup:\n    type: azure:network:NetworkManagerNetworkGroup\n    name: example\n    properties:\n      name: example-group\n      networkManagerId: ${exampleNetworkManager.id}\nvariables:\n  current:\n    fn::invoke:\n      function: azure:core:getSubscription\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2025-01-01\n\n## Import\n\nNetwork Manager Network Group can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:network/networkManagerNetworkGroup:NetworkManagerNetworkGroup example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup1/providers/Microsoft.Network/networkManagers/networkManager1/networkGroups/networkGroup1\n```\n\n","properties":{"description":{"type":"string","description":"A description of the Network Manager Network Group.\n"},"memberType":{"type":"string","description":"The member type for the network group. Possible values are `Subnet` and `VirtualNetwork`. Defaults to `VirtualNetwork`.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`memberType`\" pulumi-lang-dotnet=\"`MemberType`\" pulumi-lang-go=\"`memberType`\" pulumi-lang-python=\"`member_type`\" pulumi-lang-yaml=\"`memberType`\" pulumi-lang-java=\"`memberType`\"\u003e`member_type`\u003c/span\u003e can be set to `Subnet` only if the parent Network Manager has `Routing` included in its \u003cspan pulumi-lang-nodejs=\"`scopeAccesses`\" pulumi-lang-dotnet=\"`ScopeAccesses`\" pulumi-lang-go=\"`scopeAccesses`\" pulumi-lang-python=\"`scope_accesses`\" pulumi-lang-yaml=\"`scopeAccesses`\" pulumi-lang-java=\"`scopeAccesses`\"\u003e`scope_accesses`\u003c/span\u003e.\n"},"name":{"type":"string","description":"Specifies the name which should be used for this Network Manager Network Group. Changing this forces a new Network Manager Network Group to be created.\n"},"networkManagerId":{"type":"string","description":"Specifies the ID of the Network Manager. Changing this forces a new Network Manager Network Group to be created.\n"}},"required":["name","networkManagerId"],"inputProperties":{"description":{"type":"string","description":"A description of the Network Manager Network Group.\n"},"memberType":{"type":"string","description":"The member type for the network group. Possible values are `Subnet` and `VirtualNetwork`. Defaults to `VirtualNetwork`.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`memberType`\" pulumi-lang-dotnet=\"`MemberType`\" pulumi-lang-go=\"`memberType`\" pulumi-lang-python=\"`member_type`\" pulumi-lang-yaml=\"`memberType`\" pulumi-lang-java=\"`memberType`\"\u003e`member_type`\u003c/span\u003e can be set to `Subnet` only if the parent Network Manager has `Routing` included in its \u003cspan pulumi-lang-nodejs=\"`scopeAccesses`\" pulumi-lang-dotnet=\"`ScopeAccesses`\" pulumi-lang-go=\"`scopeAccesses`\" pulumi-lang-python=\"`scope_accesses`\" pulumi-lang-yaml=\"`scopeAccesses`\" pulumi-lang-java=\"`scopeAccesses`\"\u003e`scope_accesses`\u003c/span\u003e.\n"},"name":{"type":"string","description":"Specifies the name which should be used for this Network Manager Network Group. Changing this forces a new Network Manager Network Group to be created.\n","willReplaceOnChanges":true},"networkManagerId":{"type":"string","description":"Specifies the ID of the Network Manager. Changing this forces a new Network Manager Network Group to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["networkManagerId"],"stateInputs":{"description":"Input properties used for looking up and filtering NetworkManagerNetworkGroup resources.\n","properties":{"description":{"type":"string","description":"A description of the Network Manager Network Group.\n"},"memberType":{"type":"string","description":"The member type for the network group. Possible values are `Subnet` and `VirtualNetwork`. Defaults to `VirtualNetwork`.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`memberType`\" pulumi-lang-dotnet=\"`MemberType`\" pulumi-lang-go=\"`memberType`\" pulumi-lang-python=\"`member_type`\" pulumi-lang-yaml=\"`memberType`\" pulumi-lang-java=\"`memberType`\"\u003e`member_type`\u003c/span\u003e can be set to `Subnet` only if the parent Network Manager has `Routing` included in its \u003cspan pulumi-lang-nodejs=\"`scopeAccesses`\" pulumi-lang-dotnet=\"`ScopeAccesses`\" pulumi-lang-go=\"`scopeAccesses`\" pulumi-lang-python=\"`scope_accesses`\" pulumi-lang-yaml=\"`scopeAccesses`\" pulumi-lang-java=\"`scopeAccesses`\"\u003e`scope_accesses`\u003c/span\u003e.\n"},"name":{"type":"string","description":"Specifies the name which should be used for this Network Manager Network Group. Changing this forces a new Network Manager Network Group to be created.\n","willReplaceOnChanges":true},"networkManagerId":{"type":"string","description":"Specifies the ID of the Network Manager. Changing this forces a new Network Manager Network Group to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:network/networkManagerRoutingConfiguration:NetworkManagerRoutingConfiguration":{"description":"Manages a Network Manager Routing Configuration.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst current = azure.core.getSubscription({});\nconst exampleNetworkManager = new azure.network.NetworkManager(\"example\", {\n    name: \"example-network-manager\",\n    location: example.location,\n    resourceGroupName: example.name,\n    scope: {\n        subscriptionIds: [current.then(current =\u003e current.id)],\n    },\n    scopeAccesses: [\"Routing\"],\n});\nconst exampleNetworkManagerRoutingConfiguration = new azure.network.NetworkManagerRoutingConfiguration(\"example\", {\n    name: \"example-routing-configuration\",\n    networkManagerId: exampleNetworkManager.id,\n    description: \"example routing configuration\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\ncurrent = azure.core.get_subscription()\nexample_network_manager = azure.network.NetworkManager(\"example\",\n    name=\"example-network-manager\",\n    location=example.location,\n    resource_group_name=example.name,\n    scope={\n        \"subscription_ids\": [current.id],\n    },\n    scope_accesses=[\"Routing\"])\nexample_network_manager_routing_configuration = azure.network.NetworkManagerRoutingConfiguration(\"example\",\n    name=\"example-routing-configuration\",\n    network_manager_id=example_network_manager.id,\n    description=\"example routing configuration\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var current = Azure.Core.GetSubscription.Invoke();\n\n    var exampleNetworkManager = new Azure.Network.NetworkManager(\"example\", new()\n    {\n        Name = \"example-network-manager\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Scope = new Azure.Network.Inputs.NetworkManagerScopeArgs\n        {\n            SubscriptionIds = new[]\n            {\n                current.Apply(getSubscriptionResult =\u003e getSubscriptionResult.Id),\n            },\n        },\n        ScopeAccesses = new[]\n        {\n            \"Routing\",\n        },\n    });\n\n    var exampleNetworkManagerRoutingConfiguration = new Azure.Network.NetworkManagerRoutingConfiguration(\"example\", new()\n    {\n        Name = \"example-routing-configuration\",\n        NetworkManagerId = exampleNetworkManager.Id,\n        Description = \"example routing configuration\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrent, err := core.LookupSubscription(ctx, \u0026core.LookupSubscriptionArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNetworkManager, err := network.NewNetworkManager(ctx, \"example\", \u0026network.NetworkManagerArgs{\n\t\t\tName:              pulumi.String(\"example-network-manager\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tScope: \u0026network.NetworkManagerScopeArgs{\n\t\t\t\tSubscriptionIds: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(current.Id),\n\t\t\t\t},\n\t\t\t},\n\t\t\tScopeAccesses: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"Routing\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = network.NewNetworkManagerRoutingConfiguration(ctx, \"example\", \u0026network.NetworkManagerRoutingConfigurationArgs{\n\t\t\tName:             pulumi.String(\"example-routing-configuration\"),\n\t\t\tNetworkManagerId: exampleNetworkManager.ID(),\n\t\t\tDescription:      pulumi.String(\"example routing configuration\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.core.inputs.GetSubscriptionArgs;\nimport com.pulumi.azure.network.NetworkManager;\nimport com.pulumi.azure.network.NetworkManagerArgs;\nimport com.pulumi.azure.network.inputs.NetworkManagerScopeArgs;\nimport com.pulumi.azure.network.NetworkManagerRoutingConfiguration;\nimport com.pulumi.azure.network.NetworkManagerRoutingConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        final var current = CoreFunctions.getSubscription(GetSubscriptionArgs.builder()\n            .build());\n\n        var exampleNetworkManager = new NetworkManager(\"exampleNetworkManager\", NetworkManagerArgs.builder()\n            .name(\"example-network-manager\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .scope(NetworkManagerScopeArgs.builder()\n                .subscriptionIds(current.id())\n                .build())\n            .scopeAccesses(\"Routing\")\n            .build());\n\n        var exampleNetworkManagerRoutingConfiguration = new NetworkManagerRoutingConfiguration(\"exampleNetworkManagerRoutingConfiguration\", NetworkManagerRoutingConfigurationArgs.builder()\n            .name(\"example-routing-configuration\")\n            .networkManagerId(exampleNetworkManager.id())\n            .description(\"example routing configuration\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleNetworkManager:\n    type: azure:network:NetworkManager\n    name: example\n    properties:\n      name: example-network-manager\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      scope:\n        subscriptionIds:\n          - ${current.id}\n      scopeAccesses:\n        - Routing\n  exampleNetworkManagerRoutingConfiguration:\n    type: azure:network:NetworkManagerRoutingConfiguration\n    name: example\n    properties:\n      name: example-routing-configuration\n      networkManagerId: ${exampleNetworkManager.id}\n      description: example routing configuration\nvariables:\n  current:\n    fn::invoke:\n      function: azure:core:getSubscription\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2025-01-01\n\n## Import\n\nNetwork Manager Routing Configurations can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:network/networkManagerRoutingConfiguration:NetworkManagerRoutingConfiguration example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/networkManagers/manager1/routingConfigurations/conf1\n```\n\n","properties":{"description":{"type":"string","description":"The description of the Network Manager Routing Configuration.\n"},"name":{"type":"string","description":"The name which should be used for this Network Manager Routing Configuration. Changing this forces a new Network Manager Routing Configuration to be created.\n"},"networkManagerId":{"type":"string","description":"The ID of the Network Manager. Changing this forces a new Network Manager Routing Configuration to be created.\n"},"routeTableUsageMode":{"type":"string","description":"The route table usage mode for the Network Manager Routing Configuration. Possible values are `ManagedOnly` and `UseExisting`. Defaults to `ManagedOnly`.\n"}},"required":["name","networkManagerId"],"inputProperties":{"description":{"type":"string","description":"The description of the Network Manager Routing Configuration.\n"},"name":{"type":"string","description":"The name which should be used for this Network Manager Routing Configuration. Changing this forces a new Network Manager Routing Configuration to be created.\n","willReplaceOnChanges":true},"networkManagerId":{"type":"string","description":"The ID of the Network Manager. Changing this forces a new Network Manager Routing Configuration to be created.\n","willReplaceOnChanges":true},"routeTableUsageMode":{"type":"string","description":"The route table usage mode for the Network Manager Routing Configuration. Possible values are `ManagedOnly` and `UseExisting`. Defaults to `ManagedOnly`.\n"}},"requiredInputs":["networkManagerId"],"stateInputs":{"description":"Input properties used for looking up and filtering NetworkManagerRoutingConfiguration resources.\n","properties":{"description":{"type":"string","description":"The description of the Network Manager Routing Configuration.\n"},"name":{"type":"string","description":"The name which should be used for this Network Manager Routing Configuration. Changing this forces a new Network Manager Routing Configuration to be created.\n","willReplaceOnChanges":true},"networkManagerId":{"type":"string","description":"The ID of the Network Manager. Changing this forces a new Network Manager Routing Configuration to be created.\n","willReplaceOnChanges":true},"routeTableUsageMode":{"type":"string","description":"The route table usage mode for the Network Manager Routing Configuration. Possible values are `ManagedOnly` and `UseExisting`. Defaults to `ManagedOnly`.\n"}},"type":"object"}},"azure:network/networkManagerRoutingRule:NetworkManagerRoutingRule":{"description":"Manages a Network Manager Routing Rule.\n\n!\u003e **Note:** Terraform has enabled force deletion. This setting deletes the resource even if it's part of a deployed configuration. If the configuration is deployed, the service will perform a cleanup deployment in the background before the deletion.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst current = azure.core.getSubscription({});\nconst exampleNetworkManager = new azure.network.NetworkManager(\"example\", {\n    name: \"example-network-manager\",\n    resourceGroupName: example.name,\n    location: example.location,\n    scope: {\n        subscriptionIds: [current.then(current =\u003e current.id)],\n    },\n    scopeAccesses: [\"Routing\"],\n});\nconst exampleNetworkManagerNetworkGroup = new azure.network.NetworkManagerNetworkGroup(\"example\", {\n    name: \"example-network-group\",\n    networkManagerId: exampleNetworkManager.id,\n});\nconst exampleNetworkManagerRoutingConfiguration = new azure.network.NetworkManagerRoutingConfiguration(\"example\", {\n    name: \"example-routing-configuration\",\n    networkManagerId: exampleNetworkManager.id,\n});\nconst exampleNetworkManagerRoutingRuleCollection = new azure.network.NetworkManagerRoutingRuleCollection(\"example\", {\n    name: \"example-routing-rule-collection\",\n    routingConfigurationId: exampleNetworkManagerRoutingConfiguration.id,\n    networkGroupIds: [exampleNetworkManagerNetworkGroup.id],\n    description: \"example routing rule collection\",\n});\nconst exampleNetworkManagerRoutingRule = new azure.network.NetworkManagerRoutingRule(\"example\", {\n    name: \"example-routing-rule\",\n    ruleCollectionId: exampleNetworkManagerRoutingRuleCollection.id,\n    description: \"example routing rule\",\n    destination: {\n        type: \"AddressPrefix\",\n        address: \"10.0.0.0/24\",\n    },\n    nextHop: {\n        type: \"VirtualNetworkGateway\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\ncurrent = azure.core.get_subscription()\nexample_network_manager = azure.network.NetworkManager(\"example\",\n    name=\"example-network-manager\",\n    resource_group_name=example.name,\n    location=example.location,\n    scope={\n        \"subscription_ids\": [current.id],\n    },\n    scope_accesses=[\"Routing\"])\nexample_network_manager_network_group = azure.network.NetworkManagerNetworkGroup(\"example\",\n    name=\"example-network-group\",\n    network_manager_id=example_network_manager.id)\nexample_network_manager_routing_configuration = azure.network.NetworkManagerRoutingConfiguration(\"example\",\n    name=\"example-routing-configuration\",\n    network_manager_id=example_network_manager.id)\nexample_network_manager_routing_rule_collection = azure.network.NetworkManagerRoutingRuleCollection(\"example\",\n    name=\"example-routing-rule-collection\",\n    routing_configuration_id=example_network_manager_routing_configuration.id,\n    network_group_ids=[example_network_manager_network_group.id],\n    description=\"example routing rule collection\")\nexample_network_manager_routing_rule = azure.network.NetworkManagerRoutingRule(\"example\",\n    name=\"example-routing-rule\",\n    rule_collection_id=example_network_manager_routing_rule_collection.id,\n    description=\"example routing rule\",\n    destination={\n        \"type\": \"AddressPrefix\",\n        \"address\": \"10.0.0.0/24\",\n    },\n    next_hop={\n        \"type\": \"VirtualNetworkGateway\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var current = Azure.Core.GetSubscription.Invoke();\n\n    var exampleNetworkManager = new Azure.Network.NetworkManager(\"example\", new()\n    {\n        Name = \"example-network-manager\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        Scope = new Azure.Network.Inputs.NetworkManagerScopeArgs\n        {\n            SubscriptionIds = new[]\n            {\n                current.Apply(getSubscriptionResult =\u003e getSubscriptionResult.Id),\n            },\n        },\n        ScopeAccesses = new[]\n        {\n            \"Routing\",\n        },\n    });\n\n    var exampleNetworkManagerNetworkGroup = new Azure.Network.NetworkManagerNetworkGroup(\"example\", new()\n    {\n        Name = \"example-network-group\",\n        NetworkManagerId = exampleNetworkManager.Id,\n    });\n\n    var exampleNetworkManagerRoutingConfiguration = new Azure.Network.NetworkManagerRoutingConfiguration(\"example\", new()\n    {\n        Name = \"example-routing-configuration\",\n        NetworkManagerId = exampleNetworkManager.Id,\n    });\n\n    var exampleNetworkManagerRoutingRuleCollection = new Azure.Network.NetworkManagerRoutingRuleCollection(\"example\", new()\n    {\n        Name = \"example-routing-rule-collection\",\n        RoutingConfigurationId = exampleNetworkManagerRoutingConfiguration.Id,\n        NetworkGroupIds = new[]\n        {\n            exampleNetworkManagerNetworkGroup.Id,\n        },\n        Description = \"example routing rule collection\",\n    });\n\n    var exampleNetworkManagerRoutingRule = new Azure.Network.NetworkManagerRoutingRule(\"example\", new()\n    {\n        Name = \"example-routing-rule\",\n        RuleCollectionId = exampleNetworkManagerRoutingRuleCollection.Id,\n        Description = \"example routing rule\",\n        Destination = new Azure.Network.Inputs.NetworkManagerRoutingRuleDestinationArgs\n        {\n            Type = \"AddressPrefix\",\n            Address = \"10.0.0.0/24\",\n        },\n        NextHop = new Azure.Network.Inputs.NetworkManagerRoutingRuleNextHopArgs\n        {\n            Type = \"VirtualNetworkGateway\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrent, err := core.LookupSubscription(ctx, \u0026core.LookupSubscriptionArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNetworkManager, err := network.NewNetworkManager(ctx, \"example\", \u0026network.NetworkManagerArgs{\n\t\t\tName:              pulumi.String(\"example-network-manager\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tScope: \u0026network.NetworkManagerScopeArgs{\n\t\t\t\tSubscriptionIds: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(current.Id),\n\t\t\t\t},\n\t\t\t},\n\t\t\tScopeAccesses: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"Routing\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNetworkManagerNetworkGroup, err := network.NewNetworkManagerNetworkGroup(ctx, \"example\", \u0026network.NetworkManagerNetworkGroupArgs{\n\t\t\tName:             pulumi.String(\"example-network-group\"),\n\t\t\tNetworkManagerId: exampleNetworkManager.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNetworkManagerRoutingConfiguration, err := network.NewNetworkManagerRoutingConfiguration(ctx, \"example\", \u0026network.NetworkManagerRoutingConfigurationArgs{\n\t\t\tName:             pulumi.String(\"example-routing-configuration\"),\n\t\t\tNetworkManagerId: exampleNetworkManager.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNetworkManagerRoutingRuleCollection, err := network.NewNetworkManagerRoutingRuleCollection(ctx, \"example\", \u0026network.NetworkManagerRoutingRuleCollectionArgs{\n\t\t\tName:                   pulumi.String(\"example-routing-rule-collection\"),\n\t\t\tRoutingConfigurationId: exampleNetworkManagerRoutingConfiguration.ID(),\n\t\t\tNetworkGroupIds: pulumi.StringArray{\n\t\t\t\texampleNetworkManagerNetworkGroup.ID(),\n\t\t\t},\n\t\t\tDescription: pulumi.String(\"example routing rule collection\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = network.NewNetworkManagerRoutingRule(ctx, \"example\", \u0026network.NetworkManagerRoutingRuleArgs{\n\t\t\tName:             pulumi.String(\"example-routing-rule\"),\n\t\t\tRuleCollectionId: exampleNetworkManagerRoutingRuleCollection.ID(),\n\t\t\tDescription:      pulumi.String(\"example routing rule\"),\n\t\t\tDestination: \u0026network.NetworkManagerRoutingRuleDestinationArgs{\n\t\t\t\tType:    pulumi.String(\"AddressPrefix\"),\n\t\t\t\tAddress: pulumi.String(\"10.0.0.0/24\"),\n\t\t\t},\n\t\t\tNextHop: \u0026network.NetworkManagerRoutingRuleNextHopArgs{\n\t\t\t\tType: pulumi.String(\"VirtualNetworkGateway\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.core.inputs.GetSubscriptionArgs;\nimport com.pulumi.azure.network.NetworkManager;\nimport com.pulumi.azure.network.NetworkManagerArgs;\nimport com.pulumi.azure.network.inputs.NetworkManagerScopeArgs;\nimport com.pulumi.azure.network.NetworkManagerNetworkGroup;\nimport com.pulumi.azure.network.NetworkManagerNetworkGroupArgs;\nimport com.pulumi.azure.network.NetworkManagerRoutingConfiguration;\nimport com.pulumi.azure.network.NetworkManagerRoutingConfigurationArgs;\nimport com.pulumi.azure.network.NetworkManagerRoutingRuleCollection;\nimport com.pulumi.azure.network.NetworkManagerRoutingRuleCollectionArgs;\nimport com.pulumi.azure.network.NetworkManagerRoutingRule;\nimport com.pulumi.azure.network.NetworkManagerRoutingRuleArgs;\nimport com.pulumi.azure.network.inputs.NetworkManagerRoutingRuleDestinationArgs;\nimport com.pulumi.azure.network.inputs.NetworkManagerRoutingRuleNextHopArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        final var current = CoreFunctions.getSubscription(GetSubscriptionArgs.builder()\n            .build());\n\n        var exampleNetworkManager = new NetworkManager(\"exampleNetworkManager\", NetworkManagerArgs.builder()\n            .name(\"example-network-manager\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .scope(NetworkManagerScopeArgs.builder()\n                .subscriptionIds(current.id())\n                .build())\n            .scopeAccesses(\"Routing\")\n            .build());\n\n        var exampleNetworkManagerNetworkGroup = new NetworkManagerNetworkGroup(\"exampleNetworkManagerNetworkGroup\", NetworkManagerNetworkGroupArgs.builder()\n            .name(\"example-network-group\")\n            .networkManagerId(exampleNetworkManager.id())\n            .build());\n\n        var exampleNetworkManagerRoutingConfiguration = new NetworkManagerRoutingConfiguration(\"exampleNetworkManagerRoutingConfiguration\", NetworkManagerRoutingConfigurationArgs.builder()\n            .name(\"example-routing-configuration\")\n            .networkManagerId(exampleNetworkManager.id())\n            .build());\n\n        var exampleNetworkManagerRoutingRuleCollection = new NetworkManagerRoutingRuleCollection(\"exampleNetworkManagerRoutingRuleCollection\", NetworkManagerRoutingRuleCollectionArgs.builder()\n            .name(\"example-routing-rule-collection\")\n            .routingConfigurationId(exampleNetworkManagerRoutingConfiguration.id())\n            .networkGroupIds(exampleNetworkManagerNetworkGroup.id())\n            .description(\"example routing rule collection\")\n            .build());\n\n        var exampleNetworkManagerRoutingRule = new NetworkManagerRoutingRule(\"exampleNetworkManagerRoutingRule\", NetworkManagerRoutingRuleArgs.builder()\n            .name(\"example-routing-rule\")\n            .ruleCollectionId(exampleNetworkManagerRoutingRuleCollection.id())\n            .description(\"example routing rule\")\n            .destination(NetworkManagerRoutingRuleDestinationArgs.builder()\n                .type(\"AddressPrefix\")\n                .address(\"10.0.0.0/24\")\n                .build())\n            .nextHop(NetworkManagerRoutingRuleNextHopArgs.builder()\n                .type(\"VirtualNetworkGateway\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleNetworkManager:\n    type: azure:network:NetworkManager\n    name: example\n    properties:\n      name: example-network-manager\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      scope:\n        subscriptionIds:\n          - ${current.id}\n      scopeAccesses:\n        - Routing\n  exampleNetworkManagerNetworkGroup:\n    type: azure:network:NetworkManagerNetworkGroup\n    name: example\n    properties:\n      name: example-network-group\n      networkManagerId: ${exampleNetworkManager.id}\n  exampleNetworkManagerRoutingConfiguration:\n    type: azure:network:NetworkManagerRoutingConfiguration\n    name: example\n    properties:\n      name: example-routing-configuration\n      networkManagerId: ${exampleNetworkManager.id}\n  exampleNetworkManagerRoutingRuleCollection:\n    type: azure:network:NetworkManagerRoutingRuleCollection\n    name: example\n    properties:\n      name: example-routing-rule-collection\n      routingConfigurationId: ${exampleNetworkManagerRoutingConfiguration.id}\n      networkGroupIds:\n        - ${exampleNetworkManagerNetworkGroup.id}\n      description: example routing rule collection\n  exampleNetworkManagerRoutingRule:\n    type: azure:network:NetworkManagerRoutingRule\n    name: example\n    properties:\n      name: example-routing-rule\n      ruleCollectionId: ${exampleNetworkManagerRoutingRuleCollection.id}\n      description: example routing rule\n      destination:\n        type: AddressPrefix\n        address: 10.0.0.0/24\n      nextHop:\n        type: VirtualNetworkGateway\nvariables:\n  current:\n    fn::invoke:\n      function: azure:core:getSubscription\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2025-01-01\n\n## Import\n\nNetwork Manager Routing Rules can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:network/networkManagerRoutingRule:NetworkManagerRoutingRule example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/networkManagers/manager1/routingConfigurations/conf1/ruleCollections/collection1/rules/rule1\n```\n\n","properties":{"description":{"type":"string","description":"A description for the routing rule.\n"},"destination":{"$ref":"#/types/azure:network/NetworkManagerRoutingRuleDestination:NetworkManagerRoutingRuleDestination","description":"A \u003cspan pulumi-lang-nodejs=\"`destination`\" pulumi-lang-dotnet=\"`Destination`\" pulumi-lang-go=\"`destination`\" pulumi-lang-python=\"`destination`\" pulumi-lang-yaml=\"`destination`\" pulumi-lang-java=\"`destination`\"\u003e`destination`\u003c/span\u003e block as defined below.\n"},"name":{"type":"string","description":"The name of the Network Manager Routing Rule. Changing this forces a new resource to be created.\n"},"nextHop":{"$ref":"#/types/azure:network/NetworkManagerRoutingRuleNextHop:NetworkManagerRoutingRuleNextHop","description":"A \u003cspan pulumi-lang-nodejs=\"`nextHop`\" pulumi-lang-dotnet=\"`NextHop`\" pulumi-lang-go=\"`nextHop`\" pulumi-lang-python=\"`next_hop`\" pulumi-lang-yaml=\"`nextHop`\" pulumi-lang-java=\"`nextHop`\"\u003e`next_hop`\u003c/span\u003e block as defined below.\n"},"ruleCollectionId":{"type":"string","description":"The ID of the Network Manager Routing Rule Collection to which this rule belongs. Changing this forces a new resource to be created.\n"}},"required":["destination","name","nextHop","ruleCollectionId"],"inputProperties":{"description":{"type":"string","description":"A description for the routing rule.\n"},"destination":{"$ref":"#/types/azure:network/NetworkManagerRoutingRuleDestination:NetworkManagerRoutingRuleDestination","description":"A \u003cspan pulumi-lang-nodejs=\"`destination`\" pulumi-lang-dotnet=\"`Destination`\" pulumi-lang-go=\"`destination`\" pulumi-lang-python=\"`destination`\" pulumi-lang-yaml=\"`destination`\" pulumi-lang-java=\"`destination`\"\u003e`destination`\u003c/span\u003e block as defined below.\n"},"name":{"type":"string","description":"The name of the Network Manager Routing Rule. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"nextHop":{"$ref":"#/types/azure:network/NetworkManagerRoutingRuleNextHop:NetworkManagerRoutingRuleNextHop","description":"A \u003cspan pulumi-lang-nodejs=\"`nextHop`\" pulumi-lang-dotnet=\"`NextHop`\" pulumi-lang-go=\"`nextHop`\" pulumi-lang-python=\"`next_hop`\" pulumi-lang-yaml=\"`nextHop`\" pulumi-lang-java=\"`nextHop`\"\u003e`next_hop`\u003c/span\u003e block as defined below.\n"},"ruleCollectionId":{"type":"string","description":"The ID of the Network Manager Routing Rule Collection to which this rule belongs. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["destination","nextHop","ruleCollectionId"],"stateInputs":{"description":"Input properties used for looking up and filtering NetworkManagerRoutingRule resources.\n","properties":{"description":{"type":"string","description":"A description for the routing rule.\n"},"destination":{"$ref":"#/types/azure:network/NetworkManagerRoutingRuleDestination:NetworkManagerRoutingRuleDestination","description":"A \u003cspan pulumi-lang-nodejs=\"`destination`\" pulumi-lang-dotnet=\"`Destination`\" pulumi-lang-go=\"`destination`\" pulumi-lang-python=\"`destination`\" pulumi-lang-yaml=\"`destination`\" pulumi-lang-java=\"`destination`\"\u003e`destination`\u003c/span\u003e block as defined below.\n"},"name":{"type":"string","description":"The name of the Network Manager Routing Rule. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"nextHop":{"$ref":"#/types/azure:network/NetworkManagerRoutingRuleNextHop:NetworkManagerRoutingRuleNextHop","description":"A \u003cspan pulumi-lang-nodejs=\"`nextHop`\" pulumi-lang-dotnet=\"`NextHop`\" pulumi-lang-go=\"`nextHop`\" pulumi-lang-python=\"`next_hop`\" pulumi-lang-yaml=\"`nextHop`\" pulumi-lang-java=\"`nextHop`\"\u003e`next_hop`\u003c/span\u003e block as defined below.\n"},"ruleCollectionId":{"type":"string","description":"The ID of the Network Manager Routing Rule Collection to which this rule belongs. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:network/networkManagerRoutingRuleCollection:NetworkManagerRoutingRuleCollection":{"description":"Manages a Network Manager Routing Rule Collection.\n\n!\u003e **Note:** Terraform has enabled force deletion. This setting deletes the resource even if it's part of a deployed configuration. If the configuration is deployed, the service will perform a cleanup deployment in the background before the deletion.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst current = azure.core.getSubscription({});\nconst exampleNetworkManager = new azure.network.NetworkManager(\"example\", {\n    name: \"example-network-manager\",\n    location: example.location,\n    resourceGroupName: example.name,\n    scope: {\n        subscriptionIds: [current.then(current =\u003e current.id)],\n    },\n    scopeAccesses: [\"Routing\"],\n});\nconst exampleNetworkManagerNetworkGroup = new azure.network.NetworkManagerNetworkGroup(\"example\", {\n    name: \"example-network-group\",\n    networkManagerId: exampleNetworkManager.id,\n});\nconst exampleNetworkManagerRoutingConfiguration = new azure.network.NetworkManagerRoutingConfiguration(\"example\", {\n    name: \"example-routing-configuration\",\n    networkManagerId: exampleNetworkManager.id,\n});\nconst exampleNetworkManagerRoutingRuleCollection = new azure.network.NetworkManagerRoutingRuleCollection(\"example\", {\n    name: \"example-routing-rule-collection\",\n    routingConfigurationId: exampleNetworkManagerRoutingConfiguration.id,\n    networkGroupIds: [\"azurerm_network_manager_network_group.example.id\"],\n    description: \"example routing rule collection\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\ncurrent = azure.core.get_subscription()\nexample_network_manager = azure.network.NetworkManager(\"example\",\n    name=\"example-network-manager\",\n    location=example.location,\n    resource_group_name=example.name,\n    scope={\n        \"subscription_ids\": [current.id],\n    },\n    scope_accesses=[\"Routing\"])\nexample_network_manager_network_group = azure.network.NetworkManagerNetworkGroup(\"example\",\n    name=\"example-network-group\",\n    network_manager_id=example_network_manager.id)\nexample_network_manager_routing_configuration = azure.network.NetworkManagerRoutingConfiguration(\"example\",\n    name=\"example-routing-configuration\",\n    network_manager_id=example_network_manager.id)\nexample_network_manager_routing_rule_collection = azure.network.NetworkManagerRoutingRuleCollection(\"example\",\n    name=\"example-routing-rule-collection\",\n    routing_configuration_id=example_network_manager_routing_configuration.id,\n    network_group_ids=[\"azurerm_network_manager_network_group.example.id\"],\n    description=\"example routing rule collection\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var current = Azure.Core.GetSubscription.Invoke();\n\n    var exampleNetworkManager = new Azure.Network.NetworkManager(\"example\", new()\n    {\n        Name = \"example-network-manager\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Scope = new Azure.Network.Inputs.NetworkManagerScopeArgs\n        {\n            SubscriptionIds = new[]\n            {\n                current.Apply(getSubscriptionResult =\u003e getSubscriptionResult.Id),\n            },\n        },\n        ScopeAccesses = new[]\n        {\n            \"Routing\",\n        },\n    });\n\n    var exampleNetworkManagerNetworkGroup = new Azure.Network.NetworkManagerNetworkGroup(\"example\", new()\n    {\n        Name = \"example-network-group\",\n        NetworkManagerId = exampleNetworkManager.Id,\n    });\n\n    var exampleNetworkManagerRoutingConfiguration = new Azure.Network.NetworkManagerRoutingConfiguration(\"example\", new()\n    {\n        Name = \"example-routing-configuration\",\n        NetworkManagerId = exampleNetworkManager.Id,\n    });\n\n    var exampleNetworkManagerRoutingRuleCollection = new Azure.Network.NetworkManagerRoutingRuleCollection(\"example\", new()\n    {\n        Name = \"example-routing-rule-collection\",\n        RoutingConfigurationId = exampleNetworkManagerRoutingConfiguration.Id,\n        NetworkGroupIds = new[]\n        {\n            \"azurerm_network_manager_network_group.example.id\",\n        },\n        Description = \"example routing rule collection\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrent, err := core.LookupSubscription(ctx, \u0026core.LookupSubscriptionArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNetworkManager, err := network.NewNetworkManager(ctx, \"example\", \u0026network.NetworkManagerArgs{\n\t\t\tName:              pulumi.String(\"example-network-manager\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tScope: \u0026network.NetworkManagerScopeArgs{\n\t\t\t\tSubscriptionIds: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(current.Id),\n\t\t\t\t},\n\t\t\t},\n\t\t\tScopeAccesses: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"Routing\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = network.NewNetworkManagerNetworkGroup(ctx, \"example\", \u0026network.NetworkManagerNetworkGroupArgs{\n\t\t\tName:             pulumi.String(\"example-network-group\"),\n\t\t\tNetworkManagerId: exampleNetworkManager.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNetworkManagerRoutingConfiguration, err := network.NewNetworkManagerRoutingConfiguration(ctx, \"example\", \u0026network.NetworkManagerRoutingConfigurationArgs{\n\t\t\tName:             pulumi.String(\"example-routing-configuration\"),\n\t\t\tNetworkManagerId: exampleNetworkManager.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = network.NewNetworkManagerRoutingRuleCollection(ctx, \"example\", \u0026network.NetworkManagerRoutingRuleCollectionArgs{\n\t\t\tName:                   pulumi.String(\"example-routing-rule-collection\"),\n\t\t\tRoutingConfigurationId: exampleNetworkManagerRoutingConfiguration.ID(),\n\t\t\tNetworkGroupIds: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"azurerm_network_manager_network_group.example.id\"),\n\t\t\t},\n\t\t\tDescription: pulumi.String(\"example routing rule collection\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.core.inputs.GetSubscriptionArgs;\nimport com.pulumi.azure.network.NetworkManager;\nimport com.pulumi.azure.network.NetworkManagerArgs;\nimport com.pulumi.azure.network.inputs.NetworkManagerScopeArgs;\nimport com.pulumi.azure.network.NetworkManagerNetworkGroup;\nimport com.pulumi.azure.network.NetworkManagerNetworkGroupArgs;\nimport com.pulumi.azure.network.NetworkManagerRoutingConfiguration;\nimport com.pulumi.azure.network.NetworkManagerRoutingConfigurationArgs;\nimport com.pulumi.azure.network.NetworkManagerRoutingRuleCollection;\nimport com.pulumi.azure.network.NetworkManagerRoutingRuleCollectionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        final var current = CoreFunctions.getSubscription(GetSubscriptionArgs.builder()\n            .build());\n\n        var exampleNetworkManager = new NetworkManager(\"exampleNetworkManager\", NetworkManagerArgs.builder()\n            .name(\"example-network-manager\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .scope(NetworkManagerScopeArgs.builder()\n                .subscriptionIds(current.id())\n                .build())\n            .scopeAccesses(\"Routing\")\n            .build());\n\n        var exampleNetworkManagerNetworkGroup = new NetworkManagerNetworkGroup(\"exampleNetworkManagerNetworkGroup\", NetworkManagerNetworkGroupArgs.builder()\n            .name(\"example-network-group\")\n            .networkManagerId(exampleNetworkManager.id())\n            .build());\n\n        var exampleNetworkManagerRoutingConfiguration = new NetworkManagerRoutingConfiguration(\"exampleNetworkManagerRoutingConfiguration\", NetworkManagerRoutingConfigurationArgs.builder()\n            .name(\"example-routing-configuration\")\n            .networkManagerId(exampleNetworkManager.id())\n            .build());\n\n        var exampleNetworkManagerRoutingRuleCollection = new NetworkManagerRoutingRuleCollection(\"exampleNetworkManagerRoutingRuleCollection\", NetworkManagerRoutingRuleCollectionArgs.builder()\n            .name(\"example-routing-rule-collection\")\n            .routingConfigurationId(exampleNetworkManagerRoutingConfiguration.id())\n            .networkGroupIds(\"azurerm_network_manager_network_group.example.id\")\n            .description(\"example routing rule collection\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleNetworkManager:\n    type: azure:network:NetworkManager\n    name: example\n    properties:\n      name: example-network-manager\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      scope:\n        subscriptionIds:\n          - ${current.id}\n      scopeAccesses:\n        - Routing\n  exampleNetworkManagerNetworkGroup:\n    type: azure:network:NetworkManagerNetworkGroup\n    name: example\n    properties:\n      name: example-network-group\n      networkManagerId: ${exampleNetworkManager.id}\n  exampleNetworkManagerRoutingConfiguration:\n    type: azure:network:NetworkManagerRoutingConfiguration\n    name: example\n    properties:\n      name: example-routing-configuration\n      networkManagerId: ${exampleNetworkManager.id}\n  exampleNetworkManagerRoutingRuleCollection:\n    type: azure:network:NetworkManagerRoutingRuleCollection\n    name: example\n    properties:\n      name: example-routing-rule-collection\n      routingConfigurationId: ${exampleNetworkManagerRoutingConfiguration.id}\n      networkGroupIds:\n        - azurerm_network_manager_network_group.example.id\n      description: example routing rule collection\nvariables:\n  current:\n    fn::invoke:\n      function: azure:core:getSubscription\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2025-01-01\n\n## Import\n\nNetwork Manager Routing Rule Collections can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:network/networkManagerRoutingRuleCollection:NetworkManagerRoutingRuleCollection example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/networkManagers/manager1/routingConfigurations/conf1/ruleCollections/collection1\n```\n\n","properties":{"bgpRoutePropagationEnabled":{"type":"boolean","description":"Whether to enable the BGP route propagation. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"description":{"type":"string","description":"The description of the Network Manager Routing Rule Collection.\n"},"name":{"type":"string","description":"The name which should be used for this Network Manager Routing Rule Collection. Changing this forces a new Network Manager Routing Rule Collection to be created.\n"},"networkGroupIds":{"type":"array","items":{"type":"string"},"description":"A list of Network Group IDs which this Network Manager Routing Rule Collection applies to.\n"},"routingConfigurationId":{"type":"string","description":"The ID of the Network Manager Routing Configuration. Changing this forces a new Network Manager Routing Rule Collection to be created.\n"}},"required":["name","networkGroupIds","routingConfigurationId"],"inputProperties":{"bgpRoutePropagationEnabled":{"type":"boolean","description":"Whether to enable the BGP route propagation. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"description":{"type":"string","description":"The description of the Network Manager Routing Rule Collection.\n"},"name":{"type":"string","description":"The name which should be used for this Network Manager Routing Rule Collection. Changing this forces a new Network Manager Routing Rule Collection to be created.\n","willReplaceOnChanges":true},"networkGroupIds":{"type":"array","items":{"type":"string"},"description":"A list of Network Group IDs which this Network Manager Routing Rule Collection applies to.\n"},"routingConfigurationId":{"type":"string","description":"The ID of the Network Manager Routing Configuration. Changing this forces a new Network Manager Routing Rule Collection to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["networkGroupIds","routingConfigurationId"],"stateInputs":{"description":"Input properties used for looking up and filtering NetworkManagerRoutingRuleCollection resources.\n","properties":{"bgpRoutePropagationEnabled":{"type":"boolean","description":"Whether to enable the BGP route propagation. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"description":{"type":"string","description":"The description of the Network Manager Routing Rule Collection.\n"},"name":{"type":"string","description":"The name which should be used for this Network Manager Routing Rule Collection. Changing this forces a new Network Manager Routing Rule Collection to be created.\n","willReplaceOnChanges":true},"networkGroupIds":{"type":"array","items":{"type":"string"},"description":"A list of Network Group IDs which this Network Manager Routing Rule Collection applies to.\n"},"routingConfigurationId":{"type":"string","description":"The ID of the Network Manager Routing Configuration. Changing this forces a new Network Manager Routing Rule Collection to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:network/networkManagerScopeConnection:NetworkManagerScopeConnection":{"description":"Manages a Network Manager Scope Connection which may cross tenants.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst current = azure.core.getClientConfig({});\nconst currentGetSubscription = azure.core.getSubscription({});\nconst alt = azure.core.getSubscription({\n    subscriptionId: \"00000000-0000-0000-0000-000000000000\",\n});\nconst exampleNetworkManager = new azure.network.NetworkManager(\"example\", {\n    name: \"example-networkmanager\",\n    location: example.location,\n    resourceGroupName: example.name,\n    scope: {\n        subscriptionIds: [currentGetSubscription.then(currentGetSubscription =\u003e currentGetSubscription.id)],\n    },\n    scopeAccesses: [\"SecurityAdmin\"],\n});\nconst exampleNetworkManagerScopeConnection = new azure.network.NetworkManagerScopeConnection(\"example\", {\n    name: \"example-nsc\",\n    networkManagerId: exampleNetworkManager.id,\n    tenantId: current.then(current =\u003e current.tenantId),\n    targetScopeId: alt.then(alt =\u003e alt.id),\n    description: \"example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\ncurrent = azure.core.get_client_config()\ncurrent_get_subscription = azure.core.get_subscription()\nalt = azure.core.get_subscription(subscription_id=\"00000000-0000-0000-0000-000000000000\")\nexample_network_manager = azure.network.NetworkManager(\"example\",\n    name=\"example-networkmanager\",\n    location=example.location,\n    resource_group_name=example.name,\n    scope={\n        \"subscription_ids\": [current_get_subscription.id],\n    },\n    scope_accesses=[\"SecurityAdmin\"])\nexample_network_manager_scope_connection = azure.network.NetworkManagerScopeConnection(\"example\",\n    name=\"example-nsc\",\n    network_manager_id=example_network_manager.id,\n    tenant_id=current.tenant_id,\n    target_scope_id=alt.id,\n    description=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var current = Azure.Core.GetClientConfig.Invoke();\n\n    var currentGetSubscription = Azure.Core.GetSubscription.Invoke();\n\n    var alt = Azure.Core.GetSubscription.Invoke(new()\n    {\n        SubscriptionId = \"00000000-0000-0000-0000-000000000000\",\n    });\n\n    var exampleNetworkManager = new Azure.Network.NetworkManager(\"example\", new()\n    {\n        Name = \"example-networkmanager\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Scope = new Azure.Network.Inputs.NetworkManagerScopeArgs\n        {\n            SubscriptionIds = new[]\n            {\n                currentGetSubscription.Apply(getSubscriptionResult =\u003e getSubscriptionResult.Id),\n            },\n        },\n        ScopeAccesses = new[]\n        {\n            \"SecurityAdmin\",\n        },\n    });\n\n    var exampleNetworkManagerScopeConnection = new Azure.Network.NetworkManagerScopeConnection(\"example\", new()\n    {\n        Name = \"example-nsc\",\n        NetworkManagerId = exampleNetworkManager.Id,\n        TenantId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.TenantId),\n        TargetScopeId = alt.Apply(getSubscriptionResult =\u003e getSubscriptionResult.Id),\n        Description = \"example\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrent, err := core.GetClientConfig(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrentGetSubscription, err := core.LookupSubscription(ctx, \u0026core.LookupSubscriptionArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\talt, err := core.LookupSubscription(ctx, \u0026core.LookupSubscriptionArgs{\n\t\t\tSubscriptionId: pulumi.StringRef(\"00000000-0000-0000-0000-000000000000\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNetworkManager, err := network.NewNetworkManager(ctx, \"example\", \u0026network.NetworkManagerArgs{\n\t\t\tName:              pulumi.String(\"example-networkmanager\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tScope: \u0026network.NetworkManagerScopeArgs{\n\t\t\t\tSubscriptionIds: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(currentGetSubscription.Id),\n\t\t\t\t},\n\t\t\t},\n\t\t\tScopeAccesses: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"SecurityAdmin\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = network.NewNetworkManagerScopeConnection(ctx, \"example\", \u0026network.NetworkManagerScopeConnectionArgs{\n\t\t\tName:             pulumi.String(\"example-nsc\"),\n\t\t\tNetworkManagerId: exampleNetworkManager.ID(),\n\t\t\tTenantId:         pulumi.String(current.TenantId),\n\t\t\tTargetScopeId:    pulumi.String(alt.Id),\n\t\t\tDescription:      pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.core.inputs.GetSubscriptionArgs;\nimport com.pulumi.azure.network.NetworkManager;\nimport com.pulumi.azure.network.NetworkManagerArgs;\nimport com.pulumi.azure.network.inputs.NetworkManagerScopeArgs;\nimport com.pulumi.azure.network.NetworkManagerScopeConnection;\nimport com.pulumi.azure.network.NetworkManagerScopeConnectionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        final var current = CoreFunctions.getClientConfig(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n        final var currentGetSubscription = CoreFunctions.getSubscription(GetSubscriptionArgs.builder()\n            .build());\n\n        final var alt = CoreFunctions.getSubscription(GetSubscriptionArgs.builder()\n            .subscriptionId(\"00000000-0000-0000-0000-000000000000\")\n            .build());\n\n        var exampleNetworkManager = new NetworkManager(\"exampleNetworkManager\", NetworkManagerArgs.builder()\n            .name(\"example-networkmanager\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .scope(NetworkManagerScopeArgs.builder()\n                .subscriptionIds(currentGetSubscription.id())\n                .build())\n            .scopeAccesses(\"SecurityAdmin\")\n            .build());\n\n        var exampleNetworkManagerScopeConnection = new NetworkManagerScopeConnection(\"exampleNetworkManagerScopeConnection\", NetworkManagerScopeConnectionArgs.builder()\n            .name(\"example-nsc\")\n            .networkManagerId(exampleNetworkManager.id())\n            .tenantId(current.tenantId())\n            .targetScopeId(alt.id())\n            .description(\"example\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleNetworkManager:\n    type: azure:network:NetworkManager\n    name: example\n    properties:\n      name: example-networkmanager\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      scope:\n        subscriptionIds:\n          - ${currentGetSubscription.id}\n      scopeAccesses:\n        - SecurityAdmin\n  exampleNetworkManagerScopeConnection:\n    type: azure:network:NetworkManagerScopeConnection\n    name: example\n    properties:\n      name: example-nsc\n      networkManagerId: ${exampleNetworkManager.id}\n      tenantId: ${current.tenantId}\n      targetScopeId: ${alt.id}\n      description: example\nvariables:\n  current:\n    fn::invoke:\n      function: azure:core:getClientConfig\n      arguments: {}\n  currentGetSubscription:\n    fn::invoke:\n      function: azure:core:getSubscription\n      arguments: {}\n  alt:\n    fn::invoke:\n      function: azure:core:getSubscription\n      arguments:\n        subscriptionId: 00000000-0000-0000-0000-000000000000\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2025-01-01\n\n## Import\n\nNetwork Manager Scope Connection can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:network/networkManagerScopeConnection:NetworkManagerScopeConnection example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup1/providers/Microsoft.Network/networkManagers/networkManager1/scopeConnections/scopeConnection1\n```\n\n","properties":{"connectionState":{"type":"string","description":"The Connection state of the Network Manager Scope Connection.\n"},"description":{"type":"string","description":"A description of the Network Manager Scope Connection.\n"},"name":{"type":"string","description":"Specifies the name which should be used for this Network Manager Scope Connection. Changing this forces a new Network Manager Scope Connection to be created.\n"},"networkManagerId":{"type":"string","description":"Specifies the ID of the Network Manager Scope Connection. Changing this forces a new Network Manager Scope Connection to be created.\n"},"targetScopeId":{"type":"string","description":"Specifies the Resource ID of the target scope which the Network Manager is connected to. It should be either Subscription ID or Management Group ID.\n"},"tenantId":{"type":"string","description":"Specifies the Tenant ID of the Resource which the Network Manager is connected to.\n"}},"required":["connectionState","name","networkManagerId","targetScopeId","tenantId"],"inputProperties":{"description":{"type":"string","description":"A description of the Network Manager Scope Connection.\n"},"name":{"type":"string","description":"Specifies the name which should be used for this Network Manager Scope Connection. Changing this forces a new Network Manager Scope Connection to be created.\n","willReplaceOnChanges":true},"networkManagerId":{"type":"string","description":"Specifies the ID of the Network Manager Scope Connection. Changing this forces a new Network Manager Scope Connection to be created.\n","willReplaceOnChanges":true},"targetScopeId":{"type":"string","description":"Specifies the Resource ID of the target scope which the Network Manager is connected to. It should be either Subscription ID or Management Group ID.\n"},"tenantId":{"type":"string","description":"Specifies the Tenant ID of the Resource which the Network Manager is connected to.\n"}},"requiredInputs":["networkManagerId","targetScopeId","tenantId"],"stateInputs":{"description":"Input properties used for looking up and filtering NetworkManagerScopeConnection resources.\n","properties":{"connectionState":{"type":"string","description":"The Connection state of the Network Manager Scope Connection.\n"},"description":{"type":"string","description":"A description of the Network Manager Scope Connection.\n"},"name":{"type":"string","description":"Specifies the name which should be used for this Network Manager Scope Connection. Changing this forces a new Network Manager Scope Connection to be created.\n","willReplaceOnChanges":true},"networkManagerId":{"type":"string","description":"Specifies the ID of the Network Manager Scope Connection. Changing this forces a new Network Manager Scope Connection to be created.\n","willReplaceOnChanges":true},"targetScopeId":{"type":"string","description":"Specifies the Resource ID of the target scope which the Network Manager is connected to. It should be either Subscription ID or Management Group ID.\n"},"tenantId":{"type":"string","description":"Specifies the Tenant ID of the Resource which the Network Manager is connected to.\n"}},"type":"object"}},"azure:network/networkManagerSecurityAdminConfiguration:NetworkManagerSecurityAdminConfiguration":{"description":"Manages a Network Manager Security Admin Configuration.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst current = azure.core.getSubscription({});\nconst exampleNetworkManager = new azure.network.NetworkManager(\"example\", {\n    name: \"example-network-manager\",\n    location: example.location,\n    resourceGroupName: example.name,\n    scope: {\n        subscriptionIds: [current.then(current =\u003e current.id)],\n    },\n    scopeAccesses: [\n        \"Connectivity\",\n        \"SecurityAdmin\",\n    ],\n    description: \"example network manager\",\n});\nconst exampleNetworkManagerNetworkGroup = new azure.network.NetworkManagerNetworkGroup(\"example\", {\n    name: \"example-network-group\",\n    networkManagerId: exampleNetworkManager.id,\n});\nconst exampleNetworkManagerSecurityAdminConfiguration = new azure.network.NetworkManagerSecurityAdminConfiguration(\"example\", {\n    name: \"example-admin-conf\",\n    networkManagerId: exampleNetworkManager.id,\n    description: \"example admin conf\",\n    applyOnNetworkIntentPolicyBasedServices: \"None\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\ncurrent = azure.core.get_subscription()\nexample_network_manager = azure.network.NetworkManager(\"example\",\n    name=\"example-network-manager\",\n    location=example.location,\n    resource_group_name=example.name,\n    scope={\n        \"subscription_ids\": [current.id],\n    },\n    scope_accesses=[\n        \"Connectivity\",\n        \"SecurityAdmin\",\n    ],\n    description=\"example network manager\")\nexample_network_manager_network_group = azure.network.NetworkManagerNetworkGroup(\"example\",\n    name=\"example-network-group\",\n    network_manager_id=example_network_manager.id)\nexample_network_manager_security_admin_configuration = azure.network.NetworkManagerSecurityAdminConfiguration(\"example\",\n    name=\"example-admin-conf\",\n    network_manager_id=example_network_manager.id,\n    description=\"example admin conf\",\n    apply_on_network_intent_policy_based_services=\"None\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var current = Azure.Core.GetSubscription.Invoke();\n\n    var exampleNetworkManager = new Azure.Network.NetworkManager(\"example\", new()\n    {\n        Name = \"example-network-manager\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Scope = new Azure.Network.Inputs.NetworkManagerScopeArgs\n        {\n            SubscriptionIds = new[]\n            {\n                current.Apply(getSubscriptionResult =\u003e getSubscriptionResult.Id),\n            },\n        },\n        ScopeAccesses = new[]\n        {\n            \"Connectivity\",\n            \"SecurityAdmin\",\n        },\n        Description = \"example network manager\",\n    });\n\n    var exampleNetworkManagerNetworkGroup = new Azure.Network.NetworkManagerNetworkGroup(\"example\", new()\n    {\n        Name = \"example-network-group\",\n        NetworkManagerId = exampleNetworkManager.Id,\n    });\n\n    var exampleNetworkManagerSecurityAdminConfiguration = new Azure.Network.NetworkManagerSecurityAdminConfiguration(\"example\", new()\n    {\n        Name = \"example-admin-conf\",\n        NetworkManagerId = exampleNetworkManager.Id,\n        Description = \"example admin conf\",\n        ApplyOnNetworkIntentPolicyBasedServices = \"None\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrent, err := core.LookupSubscription(ctx, \u0026core.LookupSubscriptionArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNetworkManager, err := network.NewNetworkManager(ctx, \"example\", \u0026network.NetworkManagerArgs{\n\t\t\tName:              pulumi.String(\"example-network-manager\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tScope: \u0026network.NetworkManagerScopeArgs{\n\t\t\t\tSubscriptionIds: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(current.Id),\n\t\t\t\t},\n\t\t\t},\n\t\t\tScopeAccesses: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"Connectivity\"),\n\t\t\t\tpulumi.String(\"SecurityAdmin\"),\n\t\t\t},\n\t\t\tDescription: pulumi.String(\"example network manager\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = network.NewNetworkManagerNetworkGroup(ctx, \"example\", \u0026network.NetworkManagerNetworkGroupArgs{\n\t\t\tName:             pulumi.String(\"example-network-group\"),\n\t\t\tNetworkManagerId: exampleNetworkManager.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = network.NewNetworkManagerSecurityAdminConfiguration(ctx, \"example\", \u0026network.NetworkManagerSecurityAdminConfigurationArgs{\n\t\t\tName:                                    pulumi.String(\"example-admin-conf\"),\n\t\t\tNetworkManagerId:                        exampleNetworkManager.ID(),\n\t\t\tDescription:                             pulumi.String(\"example admin conf\"),\n\t\t\tApplyOnNetworkIntentPolicyBasedServices: pulumi.String(\"None\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.core.inputs.GetSubscriptionArgs;\nimport com.pulumi.azure.network.NetworkManager;\nimport com.pulumi.azure.network.NetworkManagerArgs;\nimport com.pulumi.azure.network.inputs.NetworkManagerScopeArgs;\nimport com.pulumi.azure.network.NetworkManagerNetworkGroup;\nimport com.pulumi.azure.network.NetworkManagerNetworkGroupArgs;\nimport com.pulumi.azure.network.NetworkManagerSecurityAdminConfiguration;\nimport com.pulumi.azure.network.NetworkManagerSecurityAdminConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        final var current = CoreFunctions.getSubscription(GetSubscriptionArgs.builder()\n            .build());\n\n        var exampleNetworkManager = new NetworkManager(\"exampleNetworkManager\", NetworkManagerArgs.builder()\n            .name(\"example-network-manager\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .scope(NetworkManagerScopeArgs.builder()\n                .subscriptionIds(current.id())\n                .build())\n            .scopeAccesses(            \n                \"Connectivity\",\n                \"SecurityAdmin\")\n            .description(\"example network manager\")\n            .build());\n\n        var exampleNetworkManagerNetworkGroup = new NetworkManagerNetworkGroup(\"exampleNetworkManagerNetworkGroup\", NetworkManagerNetworkGroupArgs.builder()\n            .name(\"example-network-group\")\n            .networkManagerId(exampleNetworkManager.id())\n            .build());\n\n        var exampleNetworkManagerSecurityAdminConfiguration = new NetworkManagerSecurityAdminConfiguration(\"exampleNetworkManagerSecurityAdminConfiguration\", NetworkManagerSecurityAdminConfigurationArgs.builder()\n            .name(\"example-admin-conf\")\n            .networkManagerId(exampleNetworkManager.id())\n            .description(\"example admin conf\")\n            .applyOnNetworkIntentPolicyBasedServices(\"None\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleNetworkManager:\n    type: azure:network:NetworkManager\n    name: example\n    properties:\n      name: example-network-manager\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      scope:\n        subscriptionIds:\n          - ${current.id}\n      scopeAccesses:\n        - Connectivity\n        - SecurityAdmin\n      description: example network manager\n  exampleNetworkManagerNetworkGroup:\n    type: azure:network:NetworkManagerNetworkGroup\n    name: example\n    properties:\n      name: example-network-group\n      networkManagerId: ${exampleNetworkManager.id}\n  exampleNetworkManagerSecurityAdminConfiguration:\n    type: azure:network:NetworkManagerSecurityAdminConfiguration\n    name: example\n    properties:\n      name: example-admin-conf\n      networkManagerId: ${exampleNetworkManager.id}\n      description: example admin conf\n      applyOnNetworkIntentPolicyBasedServices: None\nvariables:\n  current:\n    fn::invoke:\n      function: azure:core:getSubscription\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2025-01-01\n\n## Import\n\nNetwork Manager Security Admin Configuration can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:network/networkManagerSecurityAdminConfiguration:NetworkManagerSecurityAdminConfiguration example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup1/providers/Microsoft.Network/networkManagers/networkManager1/securityAdminConfigurations/configuration1\n```\n\n","properties":{"applyOnNetworkIntentPolicyBasedServices":{"type":"string","description":"A list of network intent policy based services. Possible values are `All`, `None` and `AllowRulesOnly`. Exactly one value should be set. The `All` option requires `Microsoft.Network/AllowAdminRulesOnNipBasedServices` feature registration to Subscription. Please see [this document](https://learn.microsoft.com/en-us/azure/virtual-network-manager/concept-security-admins#network-intent-policies-and-security-admin-rules) for more information.\n"},"description":{"type":"string","description":"A description of the Security Admin Configuration.\n"},"name":{"type":"string","description":"Specifies the name which should be used for this Network Manager Security Admin Configuration. Changing this forces a new Network Manager Security Admin Configuration to be created.\n"},"networkManagerId":{"type":"string","description":"Specifies the ID of the Network Manager Security Admin Configuration. Changing this forces a new Network Manager Security Admin Configuration to be created.\n"}},"required":["name","networkManagerId"],"inputProperties":{"applyOnNetworkIntentPolicyBasedServices":{"type":"string","description":"A list of network intent policy based services. Possible values are `All`, `None` and `AllowRulesOnly`. Exactly one value should be set. The `All` option requires `Microsoft.Network/AllowAdminRulesOnNipBasedServices` feature registration to Subscription. Please see [this document](https://learn.microsoft.com/en-us/azure/virtual-network-manager/concept-security-admins#network-intent-policies-and-security-admin-rules) for more information.\n"},"description":{"type":"string","description":"A description of the Security Admin Configuration.\n"},"name":{"type":"string","description":"Specifies the name which should be used for this Network Manager Security Admin Configuration. Changing this forces a new Network Manager Security Admin Configuration to be created.\n","willReplaceOnChanges":true},"networkManagerId":{"type":"string","description":"Specifies the ID of the Network Manager Security Admin Configuration. Changing this forces a new Network Manager Security Admin Configuration to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["networkManagerId"],"stateInputs":{"description":"Input properties used for looking up and filtering NetworkManagerSecurityAdminConfiguration resources.\n","properties":{"applyOnNetworkIntentPolicyBasedServices":{"type":"string","description":"A list of network intent policy based services. Possible values are `All`, `None` and `AllowRulesOnly`. Exactly one value should be set. The `All` option requires `Microsoft.Network/AllowAdminRulesOnNipBasedServices` feature registration to Subscription. Please see [this document](https://learn.microsoft.com/en-us/azure/virtual-network-manager/concept-security-admins#network-intent-policies-and-security-admin-rules) for more information.\n"},"description":{"type":"string","description":"A description of the Security Admin Configuration.\n"},"name":{"type":"string","description":"Specifies the name which should be used for this Network Manager Security Admin Configuration. Changing this forces a new Network Manager Security Admin Configuration to be created.\n","willReplaceOnChanges":true},"networkManagerId":{"type":"string","description":"Specifies the ID of the Network Manager Security Admin Configuration. Changing this forces a new Network Manager Security Admin Configuration to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:network/networkManagerStaticMember:NetworkManagerStaticMember":{"description":"Manages a Network Manager Static Member.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst current = azure.core.getSubscription({});\nconst exampleNetworkManager = new azure.network.NetworkManager(\"example\", {\n    name: \"example-network-manager\",\n    location: example.location,\n    resourceGroupName: example.name,\n    scope: {\n        subscriptionIds: [current.then(current =\u003e current.id)],\n    },\n    scopeAccesses: [\n        \"Connectivity\",\n        \"SecurityAdmin\",\n    ],\n    description: \"example network manager\",\n});\nconst exampleNetworkManagerNetworkGroup = new azure.network.NetworkManagerNetworkGroup(\"example\", {\n    name: \"example-group\",\n    networkManagerId: exampleNetworkManager.id,\n    description: \"example network group\",\n});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"example\", {\n    name: \"example-vnet\",\n    resourceGroupName: example.name,\n    addressSpaces: [\"192.168.1.0/24\"],\n    location: example.location,\n});\nconst exampleNetworkManagerStaticMember = new azure.network.NetworkManagerStaticMember(\"example\", {\n    name: \"example-nmsm\",\n    networkGroupId: exampleNetworkManagerNetworkGroup.id,\n    targetVirtualNetworkId: exampleVirtualNetwork.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\ncurrent = azure.core.get_subscription()\nexample_network_manager = azure.network.NetworkManager(\"example\",\n    name=\"example-network-manager\",\n    location=example.location,\n    resource_group_name=example.name,\n    scope={\n        \"subscription_ids\": [current.id],\n    },\n    scope_accesses=[\n        \"Connectivity\",\n        \"SecurityAdmin\",\n    ],\n    description=\"example network manager\")\nexample_network_manager_network_group = azure.network.NetworkManagerNetworkGroup(\"example\",\n    name=\"example-group\",\n    network_manager_id=example_network_manager.id,\n    description=\"example network group\")\nexample_virtual_network = azure.network.VirtualNetwork(\"example\",\n    name=\"example-vnet\",\n    resource_group_name=example.name,\n    address_spaces=[\"192.168.1.0/24\"],\n    location=example.location)\nexample_network_manager_static_member = azure.network.NetworkManagerStaticMember(\"example\",\n    name=\"example-nmsm\",\n    network_group_id=example_network_manager_network_group.id,\n    target_virtual_network_id=example_virtual_network.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var current = Azure.Core.GetSubscription.Invoke();\n\n    var exampleNetworkManager = new Azure.Network.NetworkManager(\"example\", new()\n    {\n        Name = \"example-network-manager\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Scope = new Azure.Network.Inputs.NetworkManagerScopeArgs\n        {\n            SubscriptionIds = new[]\n            {\n                current.Apply(getSubscriptionResult =\u003e getSubscriptionResult.Id),\n            },\n        },\n        ScopeAccesses = new[]\n        {\n            \"Connectivity\",\n            \"SecurityAdmin\",\n        },\n        Description = \"example network manager\",\n    });\n\n    var exampleNetworkManagerNetworkGroup = new Azure.Network.NetworkManagerNetworkGroup(\"example\", new()\n    {\n        Name = \"example-group\",\n        NetworkManagerId = exampleNetworkManager.Id,\n        Description = \"example network group\",\n    });\n\n    var exampleVirtualNetwork = new Azure.Network.VirtualNetwork(\"example\", new()\n    {\n        Name = \"example-vnet\",\n        ResourceGroupName = example.Name,\n        AddressSpaces = new[]\n        {\n            \"192.168.1.0/24\",\n        },\n        Location = example.Location,\n    });\n\n    var exampleNetworkManagerStaticMember = new Azure.Network.NetworkManagerStaticMember(\"example\", new()\n    {\n        Name = \"example-nmsm\",\n        NetworkGroupId = exampleNetworkManagerNetworkGroup.Id,\n        TargetVirtualNetworkId = exampleVirtualNetwork.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrent, err := core.LookupSubscription(ctx, \u0026core.LookupSubscriptionArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNetworkManager, err := network.NewNetworkManager(ctx, \"example\", \u0026network.NetworkManagerArgs{\n\t\t\tName:              pulumi.String(\"example-network-manager\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tScope: \u0026network.NetworkManagerScopeArgs{\n\t\t\t\tSubscriptionIds: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(current.Id),\n\t\t\t\t},\n\t\t\t},\n\t\t\tScopeAccesses: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"Connectivity\"),\n\t\t\t\tpulumi.String(\"SecurityAdmin\"),\n\t\t\t},\n\t\t\tDescription: pulumi.String(\"example network manager\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNetworkManagerNetworkGroup, err := network.NewNetworkManagerNetworkGroup(ctx, \"example\", \u0026network.NetworkManagerNetworkGroupArgs{\n\t\t\tName:             pulumi.String(\"example-group\"),\n\t\t\tNetworkManagerId: exampleNetworkManager.ID(),\n\t\t\tDescription:      pulumi.String(\"example network group\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, \"example\", \u0026network.VirtualNetworkArgs{\n\t\t\tName:              pulumi.String(\"example-vnet\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tAddressSpaces: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"192.168.1.0/24\"),\n\t\t\t},\n\t\t\tLocation: example.Location,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = network.NewNetworkManagerStaticMember(ctx, \"example\", \u0026network.NetworkManagerStaticMemberArgs{\n\t\t\tName:                   pulumi.String(\"example-nmsm\"),\n\t\t\tNetworkGroupId:         exampleNetworkManagerNetworkGroup.ID(),\n\t\t\tTargetVirtualNetworkId: exampleVirtualNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.core.inputs.GetSubscriptionArgs;\nimport com.pulumi.azure.network.NetworkManager;\nimport com.pulumi.azure.network.NetworkManagerArgs;\nimport com.pulumi.azure.network.inputs.NetworkManagerScopeArgs;\nimport com.pulumi.azure.network.NetworkManagerNetworkGroup;\nimport com.pulumi.azure.network.NetworkManagerNetworkGroupArgs;\nimport com.pulumi.azure.network.VirtualNetwork;\nimport com.pulumi.azure.network.VirtualNetworkArgs;\nimport com.pulumi.azure.network.NetworkManagerStaticMember;\nimport com.pulumi.azure.network.NetworkManagerStaticMemberArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        final var current = CoreFunctions.getSubscription(GetSubscriptionArgs.builder()\n            .build());\n\n        var exampleNetworkManager = new NetworkManager(\"exampleNetworkManager\", NetworkManagerArgs.builder()\n            .name(\"example-network-manager\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .scope(NetworkManagerScopeArgs.builder()\n                .subscriptionIds(current.id())\n                .build())\n            .scopeAccesses(            \n                \"Connectivity\",\n                \"SecurityAdmin\")\n            .description(\"example network manager\")\n            .build());\n\n        var exampleNetworkManagerNetworkGroup = new NetworkManagerNetworkGroup(\"exampleNetworkManagerNetworkGroup\", NetworkManagerNetworkGroupArgs.builder()\n            .name(\"example-group\")\n            .networkManagerId(exampleNetworkManager.id())\n            .description(\"example network group\")\n            .build());\n\n        var exampleVirtualNetwork = new VirtualNetwork(\"exampleVirtualNetwork\", VirtualNetworkArgs.builder()\n            .name(\"example-vnet\")\n            .resourceGroupName(example.name())\n            .addressSpaces(\"192.168.1.0/24\")\n            .location(example.location())\n            .build());\n\n        var exampleNetworkManagerStaticMember = new NetworkManagerStaticMember(\"exampleNetworkManagerStaticMember\", NetworkManagerStaticMemberArgs.builder()\n            .name(\"example-nmsm\")\n            .networkGroupId(exampleNetworkManagerNetworkGroup.id())\n            .targetVirtualNetworkId(exampleVirtualNetwork.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleNetworkManager:\n    type: azure:network:NetworkManager\n    name: example\n    properties:\n      name: example-network-manager\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      scope:\n        subscriptionIds:\n          - ${current.id}\n      scopeAccesses:\n        - Connectivity\n        - SecurityAdmin\n      description: example network manager\n  exampleNetworkManagerNetworkGroup:\n    type: azure:network:NetworkManagerNetworkGroup\n    name: example\n    properties:\n      name: example-group\n      networkManagerId: ${exampleNetworkManager.id}\n      description: example network group\n  exampleVirtualNetwork:\n    type: azure:network:VirtualNetwork\n    name: example\n    properties:\n      name: example-vnet\n      resourceGroupName: ${example.name}\n      addressSpaces:\n        - 192.168.1.0/24\n      location: ${example.location}\n  exampleNetworkManagerStaticMember:\n    type: azure:network:NetworkManagerStaticMember\n    name: example\n    properties:\n      name: example-nmsm\n      networkGroupId: ${exampleNetworkManagerNetworkGroup.id}\n      targetVirtualNetworkId: ${exampleVirtualNetwork.id}\nvariables:\n  current:\n    fn::invoke:\n      function: azure:core:getSubscription\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2025-01-01\n\n## Import\n\nNetwork Manager Static Member can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:network/networkManagerStaticMember:NetworkManagerStaticMember example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup1/providers/Microsoft.Network/networkManagers/networkManager1/networkGroups/networkGroup1/staticMembers/staticMember1\n```\n\n","properties":{"name":{"type":"string","description":"Specifies the name which should be used for this Network Manager Static Member. Changing this forces a new Network Manager Static Member to be created.\n"},"networkGroupId":{"type":"string","description":"Specifies the ID of the Network Manager Group. Changing this forces a new Network Manager Static Member to be created.\n"},"region":{"type":"string","description":"The region of the Network Manager Static Member.\n"},"targetVirtualNetworkId":{"type":"string","description":"Specifies the Resource ID of the Virtual Network or Subnet used as the Static Member. Changing this forces a new Network Manager Static Member to be created.\n\n\u003e **Note:** Subnet is supported only if the Network Manager has added `Routing` to \u003cspan pulumi-lang-nodejs=\"`scopeAccesses`\" pulumi-lang-dotnet=\"`ScopeAccesses`\" pulumi-lang-go=\"`scopeAccesses`\" pulumi-lang-python=\"`scope_accesses`\" pulumi-lang-yaml=\"`scopeAccesses`\" pulumi-lang-java=\"`scopeAccesses`\"\u003e`scope_accesses`\u003c/span\u003e and the Network Group has set `Subnet` as the \u003cspan pulumi-lang-nodejs=\"`memberType`\" pulumi-lang-dotnet=\"`MemberType`\" pulumi-lang-go=\"`memberType`\" pulumi-lang-python=\"`member_type`\" pulumi-lang-yaml=\"`memberType`\" pulumi-lang-java=\"`memberType`\"\u003e`member_type`\u003c/span\u003e value.\n"}},"required":["name","networkGroupId","region","targetVirtualNetworkId"],"inputProperties":{"name":{"type":"string","description":"Specifies the name which should be used for this Network Manager Static Member. Changing this forces a new Network Manager Static Member to be created.\n","willReplaceOnChanges":true},"networkGroupId":{"type":"string","description":"Specifies the ID of the Network Manager Group. Changing this forces a new Network Manager Static Member to be created.\n","willReplaceOnChanges":true},"targetVirtualNetworkId":{"type":"string","description":"Specifies the Resource ID of the Virtual Network or Subnet used as the Static Member. Changing this forces a new Network Manager Static Member to be created.\n\n\u003e **Note:** Subnet is supported only if the Network Manager has added `Routing` to \u003cspan pulumi-lang-nodejs=\"`scopeAccesses`\" pulumi-lang-dotnet=\"`ScopeAccesses`\" pulumi-lang-go=\"`scopeAccesses`\" pulumi-lang-python=\"`scope_accesses`\" pulumi-lang-yaml=\"`scopeAccesses`\" pulumi-lang-java=\"`scopeAccesses`\"\u003e`scope_accesses`\u003c/span\u003e and the Network Group has set `Subnet` as the \u003cspan pulumi-lang-nodejs=\"`memberType`\" pulumi-lang-dotnet=\"`MemberType`\" pulumi-lang-go=\"`memberType`\" pulumi-lang-python=\"`member_type`\" pulumi-lang-yaml=\"`memberType`\" pulumi-lang-java=\"`memberType`\"\u003e`member_type`\u003c/span\u003e value.\n","willReplaceOnChanges":true}},"requiredInputs":["networkGroupId","targetVirtualNetworkId"],"stateInputs":{"description":"Input properties used for looking up and filtering NetworkManagerStaticMember resources.\n","properties":{"name":{"type":"string","description":"Specifies the name which should be used for this Network Manager Static Member. Changing this forces a new Network Manager Static Member to be created.\n","willReplaceOnChanges":true},"networkGroupId":{"type":"string","description":"Specifies the ID of the Network Manager Group. Changing this forces a new Network Manager Static Member to be created.\n","willReplaceOnChanges":true},"region":{"type":"string","description":"The region of the Network Manager Static Member.\n"},"targetVirtualNetworkId":{"type":"string","description":"Specifies the Resource ID of the Virtual Network or Subnet used as the Static Member. Changing this forces a new Network Manager Static Member to be created.\n\n\u003e **Note:** Subnet is supported only if the Network Manager has added `Routing` to \u003cspan pulumi-lang-nodejs=\"`scopeAccesses`\" pulumi-lang-dotnet=\"`ScopeAccesses`\" pulumi-lang-go=\"`scopeAccesses`\" pulumi-lang-python=\"`scope_accesses`\" pulumi-lang-yaml=\"`scopeAccesses`\" pulumi-lang-java=\"`scopeAccesses`\"\u003e`scope_accesses`\u003c/span\u003e and the Network Group has set `Subnet` as the \u003cspan pulumi-lang-nodejs=\"`memberType`\" pulumi-lang-dotnet=\"`MemberType`\" pulumi-lang-go=\"`memberType`\" pulumi-lang-python=\"`member_type`\" pulumi-lang-yaml=\"`memberType`\" pulumi-lang-java=\"`memberType`\"\u003e`member_type`\u003c/span\u003e value.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:network/networkManagerSubscriptionConnection:NetworkManagerSubscriptionConnection":{"description":"Manages a Network Manager Subscription Connection which may cross tenants.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst current = azure.core.getSubscription({});\nconst exampleNetworkManager = new azure.network.NetworkManager(\"example\", {\n    name: \"example-networkmanager\",\n    location: example.location,\n    resourceGroupName: example.name,\n    scope: {\n        subscriptionIds: [current.then(current =\u003e current.id)],\n    },\n    scopeAccesses: [\"SecurityAdmin\"],\n});\nconst exampleNetworkManagerSubscriptionConnection = new azure.network.NetworkManagerSubscriptionConnection(\"example\", {\n    name: \"example-nsnmc\",\n    subscriptionId: current.then(current =\u003e current.id),\n    networkManagerId: exampleNetworkManager.id,\n    description: \"example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\ncurrent = azure.core.get_subscription()\nexample_network_manager = azure.network.NetworkManager(\"example\",\n    name=\"example-networkmanager\",\n    location=example.location,\n    resource_group_name=example.name,\n    scope={\n        \"subscription_ids\": [current.id],\n    },\n    scope_accesses=[\"SecurityAdmin\"])\nexample_network_manager_subscription_connection = azure.network.NetworkManagerSubscriptionConnection(\"example\",\n    name=\"example-nsnmc\",\n    subscription_id=current.id,\n    network_manager_id=example_network_manager.id,\n    description=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var current = Azure.Core.GetSubscription.Invoke();\n\n    var exampleNetworkManager = new Azure.Network.NetworkManager(\"example\", new()\n    {\n        Name = \"example-networkmanager\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Scope = new Azure.Network.Inputs.NetworkManagerScopeArgs\n        {\n            SubscriptionIds = new[]\n            {\n                current.Apply(getSubscriptionResult =\u003e getSubscriptionResult.Id),\n            },\n        },\n        ScopeAccesses = new[]\n        {\n            \"SecurityAdmin\",\n        },\n    });\n\n    var exampleNetworkManagerSubscriptionConnection = new Azure.Network.NetworkManagerSubscriptionConnection(\"example\", new()\n    {\n        Name = \"example-nsnmc\",\n        SubscriptionId = current.Apply(getSubscriptionResult =\u003e getSubscriptionResult.Id),\n        NetworkManagerId = exampleNetworkManager.Id,\n        Description = \"example\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrent, err := core.LookupSubscription(ctx, \u0026core.LookupSubscriptionArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNetworkManager, err := network.NewNetworkManager(ctx, \"example\", \u0026network.NetworkManagerArgs{\n\t\t\tName:              pulumi.String(\"example-networkmanager\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tScope: \u0026network.NetworkManagerScopeArgs{\n\t\t\t\tSubscriptionIds: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(current.Id),\n\t\t\t\t},\n\t\t\t},\n\t\t\tScopeAccesses: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"SecurityAdmin\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = network.NewNetworkManagerSubscriptionConnection(ctx, \"example\", \u0026network.NetworkManagerSubscriptionConnectionArgs{\n\t\t\tName:             pulumi.String(\"example-nsnmc\"),\n\t\t\tSubscriptionId:   pulumi.String(current.Id),\n\t\t\tNetworkManagerId: exampleNetworkManager.ID(),\n\t\t\tDescription:      pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.core.inputs.GetSubscriptionArgs;\nimport com.pulumi.azure.network.NetworkManager;\nimport com.pulumi.azure.network.NetworkManagerArgs;\nimport com.pulumi.azure.network.inputs.NetworkManagerScopeArgs;\nimport com.pulumi.azure.network.NetworkManagerSubscriptionConnection;\nimport com.pulumi.azure.network.NetworkManagerSubscriptionConnectionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        final var current = CoreFunctions.getSubscription(GetSubscriptionArgs.builder()\n            .build());\n\n        var exampleNetworkManager = new NetworkManager(\"exampleNetworkManager\", NetworkManagerArgs.builder()\n            .name(\"example-networkmanager\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .scope(NetworkManagerScopeArgs.builder()\n                .subscriptionIds(current.id())\n                .build())\n            .scopeAccesses(\"SecurityAdmin\")\n            .build());\n\n        var exampleNetworkManagerSubscriptionConnection = new NetworkManagerSubscriptionConnection(\"exampleNetworkManagerSubscriptionConnection\", NetworkManagerSubscriptionConnectionArgs.builder()\n            .name(\"example-nsnmc\")\n            .subscriptionId(current.id())\n            .networkManagerId(exampleNetworkManager.id())\n            .description(\"example\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleNetworkManager:\n    type: azure:network:NetworkManager\n    name: example\n    properties:\n      name: example-networkmanager\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      scope:\n        subscriptionIds:\n          - ${current.id}\n      scopeAccesses:\n        - SecurityAdmin\n  exampleNetworkManagerSubscriptionConnection:\n    type: azure:network:NetworkManagerSubscriptionConnection\n    name: example\n    properties:\n      name: example-nsnmc\n      subscriptionId: ${current.id}\n      networkManagerId: ${exampleNetworkManager.id}\n      description: example\nvariables:\n  current:\n    fn::invoke:\n      function: azure:core:getSubscription\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2025-01-01\n\n## Import\n\nNetwork Subscription Network Manager Connection can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:network/networkManagerSubscriptionConnection:NetworkManagerSubscriptionConnection example /subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/networkManagerConnections/networkManagerConnection1\n```\n\n","properties":{"connectionState":{"type":"string","description":"The Connection state of the Network Manager Subscription Connection.\n"},"description":{"type":"string","description":"A description of the Network Manager Subscription Connection.\n"},"name":{"type":"string","description":"Specifies the name which should be used for this Network Subscription Network Manager Connection. Changing this forces a new Network Subscription Network Manager Connection to be created.\n"},"networkManagerId":{"type":"string","description":"Specifies the ID of the Network Manager which the Subscription is connected to.\n"},"subscriptionId":{"type":"string","description":"Specifies the ID of the target Subscription. Changing this forces a new resource to be created.\n"}},"required":["connectionState","name","networkManagerId","subscriptionId"],"inputProperties":{"description":{"type":"string","description":"A description of the Network Manager Subscription Connection.\n"},"name":{"type":"string","description":"Specifies the name which should be used for this Network Subscription Network Manager Connection. Changing this forces a new Network Subscription Network Manager Connection to be created.\n","willReplaceOnChanges":true},"networkManagerId":{"type":"string","description":"Specifies the ID of the Network Manager which the Subscription is connected to.\n"},"subscriptionId":{"type":"string","description":"Specifies the ID of the target Subscription. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["networkManagerId","subscriptionId"],"stateInputs":{"description":"Input properties used for looking up and filtering NetworkManagerSubscriptionConnection resources.\n","properties":{"connectionState":{"type":"string","description":"The Connection state of the Network Manager Subscription Connection.\n"},"description":{"type":"string","description":"A description of the Network Manager Subscription Connection.\n"},"name":{"type":"string","description":"Specifies the name which should be used for this Network Subscription Network Manager Connection. Changing this forces a new Network Subscription Network Manager Connection to be created.\n","willReplaceOnChanges":true},"networkManagerId":{"type":"string","description":"Specifies the ID of the Network Manager which the Subscription is connected to.\n"},"subscriptionId":{"type":"string","description":"Specifies the ID of the target Subscription. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:network/networkManagerVerifierWorkspace:NetworkManagerVerifierWorkspace":{"description":"Manages a Network Manager Verifier Workspace.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst current = azure.core.getSubscription({});\nconst exampleNetworkManager = new azure.network.NetworkManager(\"example\", {\n    name: \"example-nm\",\n    resourceGroupName: example.name,\n    location: example.location,\n    scope: {\n        subscriptionIds: [current.then(current =\u003e current.id)],\n    },\n    scopeAccesses: [\"Connectivity\"],\n});\nconst exampleNetworkManagerVerifierWorkspace = new azure.network.NetworkManagerVerifierWorkspace(\"example\", {\n    name: \"example\",\n    networkManagerId: exampleNetworkManager.id,\n    location: example.location,\n    description: \"This is an example verifier workspace\",\n    tags: {\n        foo: \"bar\",\n        env: \"example\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\ncurrent = azure.core.get_subscription()\nexample_network_manager = azure.network.NetworkManager(\"example\",\n    name=\"example-nm\",\n    resource_group_name=example.name,\n    location=example.location,\n    scope={\n        \"subscription_ids\": [current.id],\n    },\n    scope_accesses=[\"Connectivity\"])\nexample_network_manager_verifier_workspace = azure.network.NetworkManagerVerifierWorkspace(\"example\",\n    name=\"example\",\n    network_manager_id=example_network_manager.id,\n    location=example.location,\n    description=\"This is an example verifier workspace\",\n    tags={\n        \"foo\": \"bar\",\n        \"env\": \"example\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var current = Azure.Core.GetSubscription.Invoke();\n\n    var exampleNetworkManager = new Azure.Network.NetworkManager(\"example\", new()\n    {\n        Name = \"example-nm\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        Scope = new Azure.Network.Inputs.NetworkManagerScopeArgs\n        {\n            SubscriptionIds = new[]\n            {\n                current.Apply(getSubscriptionResult =\u003e getSubscriptionResult.Id),\n            },\n        },\n        ScopeAccesses = new[]\n        {\n            \"Connectivity\",\n        },\n    });\n\n    var exampleNetworkManagerVerifierWorkspace = new Azure.Network.NetworkManagerVerifierWorkspace(\"example\", new()\n    {\n        Name = \"example\",\n        NetworkManagerId = exampleNetworkManager.Id,\n        Location = example.Location,\n        Description = \"This is an example verifier workspace\",\n        Tags = \n        {\n            { \"foo\", \"bar\" },\n            { \"env\", \"example\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrent, err := core.LookupSubscription(ctx, \u0026core.LookupSubscriptionArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNetworkManager, err := network.NewNetworkManager(ctx, \"example\", \u0026network.NetworkManagerArgs{\n\t\t\tName:              pulumi.String(\"example-nm\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tScope: \u0026network.NetworkManagerScopeArgs{\n\t\t\t\tSubscriptionIds: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(current.Id),\n\t\t\t\t},\n\t\t\t},\n\t\t\tScopeAccesses: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"Connectivity\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = network.NewNetworkManagerVerifierWorkspace(ctx, \"example\", \u0026network.NetworkManagerVerifierWorkspaceArgs{\n\t\t\tName:             pulumi.String(\"example\"),\n\t\t\tNetworkManagerId: exampleNetworkManager.ID(),\n\t\t\tLocation:         example.Location,\n\t\t\tDescription:      pulumi.String(\"This is an example verifier workspace\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"foo\": pulumi.String(\"bar\"),\n\t\t\t\t\"env\": pulumi.String(\"example\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.core.inputs.GetSubscriptionArgs;\nimport com.pulumi.azure.network.NetworkManager;\nimport com.pulumi.azure.network.NetworkManagerArgs;\nimport com.pulumi.azure.network.inputs.NetworkManagerScopeArgs;\nimport com.pulumi.azure.network.NetworkManagerVerifierWorkspace;\nimport com.pulumi.azure.network.NetworkManagerVerifierWorkspaceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        final var current = CoreFunctions.getSubscription(GetSubscriptionArgs.builder()\n            .build());\n\n        var exampleNetworkManager = new NetworkManager(\"exampleNetworkManager\", NetworkManagerArgs.builder()\n            .name(\"example-nm\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .scope(NetworkManagerScopeArgs.builder()\n                .subscriptionIds(current.id())\n                .build())\n            .scopeAccesses(\"Connectivity\")\n            .build());\n\n        var exampleNetworkManagerVerifierWorkspace = new NetworkManagerVerifierWorkspace(\"exampleNetworkManagerVerifierWorkspace\", NetworkManagerVerifierWorkspaceArgs.builder()\n            .name(\"example\")\n            .networkManagerId(exampleNetworkManager.id())\n            .location(example.location())\n            .description(\"This is an example verifier workspace\")\n            .tags(Map.ofEntries(\n                Map.entry(\"foo\", \"bar\"),\n                Map.entry(\"env\", \"example\")\n            ))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleNetworkManager:\n    type: azure:network:NetworkManager\n    name: example\n    properties:\n      name: example-nm\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      scope:\n        subscriptionIds:\n          - ${current.id}\n      scopeAccesses:\n        - Connectivity\n  exampleNetworkManagerVerifierWorkspace:\n    type: azure:network:NetworkManagerVerifierWorkspace\n    name: example\n    properties:\n      name: example\n      networkManagerId: ${exampleNetworkManager.id}\n      location: ${example.location}\n      description: This is an example verifier workspace\n      tags:\n        foo: bar\n        env: example\nvariables:\n  current:\n    fn::invoke:\n      function: azure:core:getSubscription\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2025-01-01\n\n## Import\n\nNetwork Manager Verifier Workspaces can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:network/networkManagerVerifierWorkspace:NetworkManagerVerifierWorkspace example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/networkManagers/manager1/verifierWorkspaces/workspace1\n```\n\n","properties":{"description":{"type":"string","description":"The Description of the Network Manager Verifier Workspace.\n"},"location":{"type":"string","description":"The Azure Region where the Network Manager Verifier Workspace should exist. Changing this forces a new Network Manager Verifier Workspace to be created.\n"},"name":{"type":"string","description":"The name which should be used for this Network Manager Verifier Workspace. Changing this forces a new Network Manager Verifier Workspace to be created.\n"},"networkManagerId":{"type":"string","description":"The ID of the Network Manager. Changing this forces a new Network Manager Verifier Workspace to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Network Manager Verifier Workspace.\n"}},"required":["location","name","networkManagerId"],"inputProperties":{"description":{"type":"string","description":"The Description of the Network Manager Verifier Workspace.\n"},"location":{"type":"string","description":"The Azure Region where the Network Manager Verifier Workspace should exist. Changing this forces a new Network Manager Verifier Workspace to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Network Manager Verifier Workspace. Changing this forces a new Network Manager Verifier Workspace to be created.\n","willReplaceOnChanges":true},"networkManagerId":{"type":"string","description":"The ID of the Network Manager. Changing this forces a new Network Manager Verifier Workspace to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Network Manager Verifier Workspace.\n"}},"requiredInputs":["networkManagerId"],"stateInputs":{"description":"Input properties used for looking up and filtering NetworkManagerVerifierWorkspace resources.\n","properties":{"description":{"type":"string","description":"The Description of the Network Manager Verifier Workspace.\n"},"location":{"type":"string","description":"The Azure Region where the Network Manager Verifier Workspace should exist. Changing this forces a new Network Manager Verifier Workspace to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Network Manager Verifier Workspace. Changing this forces a new Network Manager Verifier Workspace to be created.\n","willReplaceOnChanges":true},"networkManagerId":{"type":"string","description":"The ID of the Network Manager. Changing this forces a new Network Manager Verifier Workspace to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Network Manager Verifier Workspace.\n"}},"type":"object"}},"azure:network/networkManagerVerifierWorkspaceReachabilityAnalysisIntent:NetworkManagerVerifierWorkspaceReachabilityAnalysisIntent":{"description":"Manages a Network Manager Verifier Workspace Reachability Analysis Intent.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst current = azure.core.getSubscription({});\nconst exampleNetworkManager = new azure.network.NetworkManager(\"example\", {\n    name: \"example-nm\",\n    resourceGroupName: example.name,\n    location: example.location,\n    scope: {\n        subscriptionIds: [current.then(current =\u003e current.id)],\n    },\n    scopeAccesses: [\"Connectivity\"],\n});\nconst exampleNetworkManagerVerifierWorkspace = new azure.network.NetworkManagerVerifierWorkspace(\"example\", {\n    name: \"example\",\n    networkManagerId: exampleNetworkManager.id,\n    location: example.location,\n});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"example\", {\n    name: \"example-network\",\n    addressSpaces: [\"10.0.0.0/16\"],\n    location: example.location,\n    resourceGroupName: example.name,\n});\nconst exampleSubnet = new azure.network.Subnet(\"example\", {\n    name: \"internal\",\n    resourceGroupName: example.name,\n    virtualNetworkName: exampleVirtualNetwork.name,\n    addressPrefixes: [\"10.0.2.0/24\"],\n});\nconst exampleNetworkInterface = new azure.network.NetworkInterface(\"example\", {\n    name: \"example-nic\",\n    location: example.location,\n    resourceGroupName: example.name,\n    ipConfigurations: [{\n        name: \"internal\",\n        subnetId: exampleSubnet.id,\n        privateIpAddressAllocation: \"Dynamic\",\n    }],\n});\nconst exampleLinuxVirtualMachine = new azure.compute.LinuxVirtualMachine(\"example\", {\n    name: \"example-machine\",\n    resourceGroupName: example.name,\n    location: example.location,\n    size: \"Standard_B1ls\",\n    adminUsername: \"adminuser\",\n    adminPassword: \"P@ssw0rd1234!\",\n    disablePasswordAuthentication: false,\n    networkInterfaceIds: [exampleNetworkInterface.id],\n    osDisk: {\n        caching: \"ReadWrite\",\n        storageAccountType: \"Standard_LRS\",\n    },\n    sourceImageReference: {\n        publisher: \"Canonical\",\n        offer: \"0001-com-ubuntu-server-jammy\",\n        sku: \"22_04-lts\",\n        version: \"latest\",\n    },\n});\nconst exampleNetworkManagerVerifierWorkspaceReachabilityAnalysisIntent = new azure.network.NetworkManagerVerifierWorkspaceReachabilityAnalysisIntent(\"example\", {\n    name: \"example-intent\",\n    verifierWorkspaceId: exampleNetworkManagerVerifierWorkspace.id,\n    sourceResourceId: exampleLinuxVirtualMachine.id,\n    destinationResourceId: exampleLinuxVirtualMachine.id,\n    description: \"example\",\n    ipTraffic: {\n        sourceIps: [\"10.0.2.1\"],\n        sourcePorts: [\"80\"],\n        destinationIps: [\"10.0.2.2\"],\n        destinationPorts: [\"*\"],\n        protocols: [\"Any\"],\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\ncurrent = azure.core.get_subscription()\nexample_network_manager = azure.network.NetworkManager(\"example\",\n    name=\"example-nm\",\n    resource_group_name=example.name,\n    location=example.location,\n    scope={\n        \"subscription_ids\": [current.id],\n    },\n    scope_accesses=[\"Connectivity\"])\nexample_network_manager_verifier_workspace = azure.network.NetworkManagerVerifierWorkspace(\"example\",\n    name=\"example\",\n    network_manager_id=example_network_manager.id,\n    location=example.location)\nexample_virtual_network = azure.network.VirtualNetwork(\"example\",\n    name=\"example-network\",\n    address_spaces=[\"10.0.0.0/16\"],\n    location=example.location,\n    resource_group_name=example.name)\nexample_subnet = azure.network.Subnet(\"example\",\n    name=\"internal\",\n    resource_group_name=example.name,\n    virtual_network_name=example_virtual_network.name,\n    address_prefixes=[\"10.0.2.0/24\"])\nexample_network_interface = azure.network.NetworkInterface(\"example\",\n    name=\"example-nic\",\n    location=example.location,\n    resource_group_name=example.name,\n    ip_configurations=[{\n        \"name\": \"internal\",\n        \"subnet_id\": example_subnet.id,\n        \"private_ip_address_allocation\": \"Dynamic\",\n    }])\nexample_linux_virtual_machine = azure.compute.LinuxVirtualMachine(\"example\",\n    name=\"example-machine\",\n    resource_group_name=example.name,\n    location=example.location,\n    size=\"Standard_B1ls\",\n    admin_username=\"adminuser\",\n    admin_password=\"P@ssw0rd1234!\",\n    disable_password_authentication=False,\n    network_interface_ids=[example_network_interface.id],\n    os_disk={\n        \"caching\": \"ReadWrite\",\n        \"storage_account_type\": \"Standard_LRS\",\n    },\n    source_image_reference={\n        \"publisher\": \"Canonical\",\n        \"offer\": \"0001-com-ubuntu-server-jammy\",\n        \"sku\": \"22_04-lts\",\n        \"version\": \"latest\",\n    })\nexample_network_manager_verifier_workspace_reachability_analysis_intent = azure.network.NetworkManagerVerifierWorkspaceReachabilityAnalysisIntent(\"example\",\n    name=\"example-intent\",\n    verifier_workspace_id=example_network_manager_verifier_workspace.id,\n    source_resource_id=example_linux_virtual_machine.id,\n    destination_resource_id=example_linux_virtual_machine.id,\n    description=\"example\",\n    ip_traffic={\n        \"source_ips\": [\"10.0.2.1\"],\n        \"source_ports\": [\"80\"],\n        \"destination_ips\": [\"10.0.2.2\"],\n        \"destination_ports\": [\"*\"],\n        \"protocols\": [\"Any\"],\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var current = Azure.Core.GetSubscription.Invoke();\n\n    var exampleNetworkManager = new Azure.Network.NetworkManager(\"example\", new()\n    {\n        Name = \"example-nm\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        Scope = new Azure.Network.Inputs.NetworkManagerScopeArgs\n        {\n            SubscriptionIds = new[]\n            {\n                current.Apply(getSubscriptionResult =\u003e getSubscriptionResult.Id),\n            },\n        },\n        ScopeAccesses = new[]\n        {\n            \"Connectivity\",\n        },\n    });\n\n    var exampleNetworkManagerVerifierWorkspace = new Azure.Network.NetworkManagerVerifierWorkspace(\"example\", new()\n    {\n        Name = \"example\",\n        NetworkManagerId = exampleNetworkManager.Id,\n        Location = example.Location,\n    });\n\n    var exampleVirtualNetwork = new Azure.Network.VirtualNetwork(\"example\", new()\n    {\n        Name = \"example-network\",\n        AddressSpaces = new[]\n        {\n            \"10.0.0.0/16\",\n        },\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n    });\n\n    var exampleSubnet = new Azure.Network.Subnet(\"example\", new()\n    {\n        Name = \"internal\",\n        ResourceGroupName = example.Name,\n        VirtualNetworkName = exampleVirtualNetwork.Name,\n        AddressPrefixes = new[]\n        {\n            \"10.0.2.0/24\",\n        },\n    });\n\n    var exampleNetworkInterface = new Azure.Network.NetworkInterface(\"example\", new()\n    {\n        Name = \"example-nic\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        IpConfigurations = new[]\n        {\n            new Azure.Network.Inputs.NetworkInterfaceIpConfigurationArgs\n            {\n                Name = \"internal\",\n                SubnetId = exampleSubnet.Id,\n                PrivateIpAddressAllocation = \"Dynamic\",\n            },\n        },\n    });\n\n    var exampleLinuxVirtualMachine = new Azure.Compute.LinuxVirtualMachine(\"example\", new()\n    {\n        Name = \"example-machine\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        Size = \"Standard_B1ls\",\n        AdminUsername = \"adminuser\",\n        AdminPassword = \"P@ssw0rd1234!\",\n        DisablePasswordAuthentication = false,\n        NetworkInterfaceIds = new[]\n        {\n            exampleNetworkInterface.Id,\n        },\n        OsDisk = new Azure.Compute.Inputs.LinuxVirtualMachineOsDiskArgs\n        {\n            Caching = \"ReadWrite\",\n            StorageAccountType = \"Standard_LRS\",\n        },\n        SourceImageReference = new Azure.Compute.Inputs.LinuxVirtualMachineSourceImageReferenceArgs\n        {\n            Publisher = \"Canonical\",\n            Offer = \"0001-com-ubuntu-server-jammy\",\n            Sku = \"22_04-lts\",\n            Version = \"latest\",\n        },\n    });\n\n    var exampleNetworkManagerVerifierWorkspaceReachabilityAnalysisIntent = new Azure.Network.NetworkManagerVerifierWorkspaceReachabilityAnalysisIntent(\"example\", new()\n    {\n        Name = \"example-intent\",\n        VerifierWorkspaceId = exampleNetworkManagerVerifierWorkspace.Id,\n        SourceResourceId = exampleLinuxVirtualMachine.Id,\n        DestinationResourceId = exampleLinuxVirtualMachine.Id,\n        Description = \"example\",\n        IpTraffic = new Azure.Network.Inputs.NetworkManagerVerifierWorkspaceReachabilityAnalysisIntentIpTrafficArgs\n        {\n            SourceIps = new[]\n            {\n                \"10.0.2.1\",\n            },\n            SourcePorts = new[]\n            {\n                \"80\",\n            },\n            DestinationIps = new[]\n            {\n                \"10.0.2.2\",\n            },\n            DestinationPorts = new[]\n            {\n                \"*\",\n            },\n            Protocols = new[]\n            {\n                \"Any\",\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/compute\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrent, err := core.LookupSubscription(ctx, \u0026core.LookupSubscriptionArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNetworkManager, err := network.NewNetworkManager(ctx, \"example\", \u0026network.NetworkManagerArgs{\n\t\t\tName:              pulumi.String(\"example-nm\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tScope: \u0026network.NetworkManagerScopeArgs{\n\t\t\t\tSubscriptionIds: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(current.Id),\n\t\t\t\t},\n\t\t\t},\n\t\t\tScopeAccesses: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"Connectivity\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNetworkManagerVerifierWorkspace, err := network.NewNetworkManagerVerifierWorkspace(ctx, \"example\", \u0026network.NetworkManagerVerifierWorkspaceArgs{\n\t\t\tName:             pulumi.String(\"example\"),\n\t\t\tNetworkManagerId: exampleNetworkManager.ID(),\n\t\t\tLocation:         example.Location,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, \"example\", \u0026network.VirtualNetworkArgs{\n\t\t\tName: pulumi.String(\"example-network\"),\n\t\t\tAddressSpaces: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.0.0/16\"),\n\t\t\t},\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSubnet, err := network.NewSubnet(ctx, \"example\", \u0026network.SubnetArgs{\n\t\t\tName:               pulumi.String(\"internal\"),\n\t\t\tResourceGroupName:  example.Name,\n\t\t\tVirtualNetworkName: exampleVirtualNetwork.Name,\n\t\t\tAddressPrefixes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.2.0/24\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNetworkInterface, err := network.NewNetworkInterface(ctx, \"example\", \u0026network.NetworkInterfaceArgs{\n\t\t\tName:              pulumi.String(\"example-nic\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tIpConfigurations: network.NetworkInterfaceIpConfigurationArray{\n\t\t\t\t\u0026network.NetworkInterfaceIpConfigurationArgs{\n\t\t\t\t\tName:                       pulumi.String(\"internal\"),\n\t\t\t\t\tSubnetId:                   exampleSubnet.ID(),\n\t\t\t\t\tPrivateIpAddressAllocation: pulumi.String(\"Dynamic\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleLinuxVirtualMachine, err := compute.NewLinuxVirtualMachine(ctx, \"example\", \u0026compute.LinuxVirtualMachineArgs{\n\t\t\tName:                          pulumi.String(\"example-machine\"),\n\t\t\tResourceGroupName:             example.Name,\n\t\t\tLocation:                      example.Location,\n\t\t\tSize:                          pulumi.String(\"Standard_B1ls\"),\n\t\t\tAdminUsername:                 pulumi.String(\"adminuser\"),\n\t\t\tAdminPassword:                 pulumi.String(\"P@ssw0rd1234!\"),\n\t\t\tDisablePasswordAuthentication: pulumi.Bool(false),\n\t\t\tNetworkInterfaceIds: pulumi.StringArray{\n\t\t\t\texampleNetworkInterface.ID(),\n\t\t\t},\n\t\t\tOsDisk: \u0026compute.LinuxVirtualMachineOsDiskArgs{\n\t\t\t\tCaching:            pulumi.String(\"ReadWrite\"),\n\t\t\t\tStorageAccountType: pulumi.String(\"Standard_LRS\"),\n\t\t\t},\n\t\t\tSourceImageReference: \u0026compute.LinuxVirtualMachineSourceImageReferenceArgs{\n\t\t\t\tPublisher: pulumi.String(\"Canonical\"),\n\t\t\t\tOffer:     pulumi.String(\"0001-com-ubuntu-server-jammy\"),\n\t\t\t\tSku:       pulumi.String(\"22_04-lts\"),\n\t\t\t\tVersion:   pulumi.String(\"latest\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = network.NewNetworkManagerVerifierWorkspaceReachabilityAnalysisIntent(ctx, \"example\", \u0026network.NetworkManagerVerifierWorkspaceReachabilityAnalysisIntentArgs{\n\t\t\tName:                  pulumi.String(\"example-intent\"),\n\t\t\tVerifierWorkspaceId:   exampleNetworkManagerVerifierWorkspace.ID(),\n\t\t\tSourceResourceId:      exampleLinuxVirtualMachine.ID(),\n\t\t\tDestinationResourceId: exampleLinuxVirtualMachine.ID(),\n\t\t\tDescription:           pulumi.String(\"example\"),\n\t\t\tIpTraffic: \u0026network.NetworkManagerVerifierWorkspaceReachabilityAnalysisIntentIpTrafficArgs{\n\t\t\t\tSourceIps: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"10.0.2.1\"),\n\t\t\t\t},\n\t\t\t\tSourcePorts: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"80\"),\n\t\t\t\t},\n\t\t\t\tDestinationIps: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"10.0.2.2\"),\n\t\t\t\t},\n\t\t\t\tDestinationPorts: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"*\"),\n\t\t\t\t},\n\t\t\t\tProtocols: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"Any\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.core.inputs.GetSubscriptionArgs;\nimport com.pulumi.azure.network.NetworkManager;\nimport com.pulumi.azure.network.NetworkManagerArgs;\nimport com.pulumi.azure.network.inputs.NetworkManagerScopeArgs;\nimport com.pulumi.azure.network.NetworkManagerVerifierWorkspace;\nimport com.pulumi.azure.network.NetworkManagerVerifierWorkspaceArgs;\nimport com.pulumi.azure.network.VirtualNetwork;\nimport com.pulumi.azure.network.VirtualNetworkArgs;\nimport com.pulumi.azure.network.Subnet;\nimport com.pulumi.azure.network.SubnetArgs;\nimport com.pulumi.azure.network.NetworkInterface;\nimport com.pulumi.azure.network.NetworkInterfaceArgs;\nimport com.pulumi.azure.network.inputs.NetworkInterfaceIpConfigurationArgs;\nimport com.pulumi.azure.compute.LinuxVirtualMachine;\nimport com.pulumi.azure.compute.LinuxVirtualMachineArgs;\nimport com.pulumi.azure.compute.inputs.LinuxVirtualMachineOsDiskArgs;\nimport com.pulumi.azure.compute.inputs.LinuxVirtualMachineSourceImageReferenceArgs;\nimport com.pulumi.azure.network.NetworkManagerVerifierWorkspaceReachabilityAnalysisIntent;\nimport com.pulumi.azure.network.NetworkManagerVerifierWorkspaceReachabilityAnalysisIntentArgs;\nimport com.pulumi.azure.network.inputs.NetworkManagerVerifierWorkspaceReachabilityAnalysisIntentIpTrafficArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        final var current = CoreFunctions.getSubscription(GetSubscriptionArgs.builder()\n            .build());\n\n        var exampleNetworkManager = new NetworkManager(\"exampleNetworkManager\", NetworkManagerArgs.builder()\n            .name(\"example-nm\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .scope(NetworkManagerScopeArgs.builder()\n                .subscriptionIds(current.id())\n                .build())\n            .scopeAccesses(\"Connectivity\")\n            .build());\n\n        var exampleNetworkManagerVerifierWorkspace = new NetworkManagerVerifierWorkspace(\"exampleNetworkManagerVerifierWorkspace\", NetworkManagerVerifierWorkspaceArgs.builder()\n            .name(\"example\")\n            .networkManagerId(exampleNetworkManager.id())\n            .location(example.location())\n            .build());\n\n        var exampleVirtualNetwork = new VirtualNetwork(\"exampleVirtualNetwork\", VirtualNetworkArgs.builder()\n            .name(\"example-network\")\n            .addressSpaces(\"10.0.0.0/16\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .build());\n\n        var exampleSubnet = new Subnet(\"exampleSubnet\", SubnetArgs.builder()\n            .name(\"internal\")\n            .resourceGroupName(example.name())\n            .virtualNetworkName(exampleVirtualNetwork.name())\n            .addressPrefixes(\"10.0.2.0/24\")\n            .build());\n\n        var exampleNetworkInterface = new NetworkInterface(\"exampleNetworkInterface\", NetworkInterfaceArgs.builder()\n            .name(\"example-nic\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .ipConfigurations(NetworkInterfaceIpConfigurationArgs.builder()\n                .name(\"internal\")\n                .subnetId(exampleSubnet.id())\n                .privateIpAddressAllocation(\"Dynamic\")\n                .build())\n            .build());\n\n        var exampleLinuxVirtualMachine = new LinuxVirtualMachine(\"exampleLinuxVirtualMachine\", LinuxVirtualMachineArgs.builder()\n            .name(\"example-machine\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .size(\"Standard_B1ls\")\n            .adminUsername(\"adminuser\")\n            .adminPassword(\"P@ssw0rd1234!\")\n            .disablePasswordAuthentication(false)\n            .networkInterfaceIds(exampleNetworkInterface.id())\n            .osDisk(LinuxVirtualMachineOsDiskArgs.builder()\n                .caching(\"ReadWrite\")\n                .storageAccountType(\"Standard_LRS\")\n                .build())\n            .sourceImageReference(LinuxVirtualMachineSourceImageReferenceArgs.builder()\n                .publisher(\"Canonical\")\n                .offer(\"0001-com-ubuntu-server-jammy\")\n                .sku(\"22_04-lts\")\n                .version(\"latest\")\n                .build())\n            .build());\n\n        var exampleNetworkManagerVerifierWorkspaceReachabilityAnalysisIntent = new NetworkManagerVerifierWorkspaceReachabilityAnalysisIntent(\"exampleNetworkManagerVerifierWorkspaceReachabilityAnalysisIntent\", NetworkManagerVerifierWorkspaceReachabilityAnalysisIntentArgs.builder()\n            .name(\"example-intent\")\n            .verifierWorkspaceId(exampleNetworkManagerVerifierWorkspace.id())\n            .sourceResourceId(exampleLinuxVirtualMachine.id())\n            .destinationResourceId(exampleLinuxVirtualMachine.id())\n            .description(\"example\")\n            .ipTraffic(NetworkManagerVerifierWorkspaceReachabilityAnalysisIntentIpTrafficArgs.builder()\n                .sourceIps(\"10.0.2.1\")\n                .sourcePorts(\"80\")\n                .destinationIps(\"10.0.2.2\")\n                .destinationPorts(\"*\")\n                .protocols(\"Any\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleNetworkManager:\n    type: azure:network:NetworkManager\n    name: example\n    properties:\n      name: example-nm\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      scope:\n        subscriptionIds:\n          - ${current.id}\n      scopeAccesses:\n        - Connectivity\n  exampleNetworkManagerVerifierWorkspace:\n    type: azure:network:NetworkManagerVerifierWorkspace\n    name: example\n    properties:\n      name: example\n      networkManagerId: ${exampleNetworkManager.id}\n      location: ${example.location}\n  exampleVirtualNetwork:\n    type: azure:network:VirtualNetwork\n    name: example\n    properties:\n      name: example-network\n      addressSpaces:\n        - 10.0.0.0/16\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n  exampleSubnet:\n    type: azure:network:Subnet\n    name: example\n    properties:\n      name: internal\n      resourceGroupName: ${example.name}\n      virtualNetworkName: ${exampleVirtualNetwork.name}\n      addressPrefixes:\n        - 10.0.2.0/24\n  exampleNetworkInterface:\n    type: azure:network:NetworkInterface\n    name: example\n    properties:\n      name: example-nic\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      ipConfigurations:\n        - name: internal\n          subnetId: ${exampleSubnet.id}\n          privateIpAddressAllocation: Dynamic\n  exampleLinuxVirtualMachine:\n    type: azure:compute:LinuxVirtualMachine\n    name: example\n    properties:\n      name: example-machine\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      size: Standard_B1ls\n      adminUsername: adminuser\n      adminPassword: P@ssw0rd1234!\n      disablePasswordAuthentication: false\n      networkInterfaceIds:\n        - ${exampleNetworkInterface.id}\n      osDisk:\n        caching: ReadWrite\n        storageAccountType: Standard_LRS\n      sourceImageReference:\n        publisher: Canonical\n        offer: 0001-com-ubuntu-server-jammy\n        sku: 22_04-lts\n        version: latest\n  exampleNetworkManagerVerifierWorkspaceReachabilityAnalysisIntent:\n    type: azure:network:NetworkManagerVerifierWorkspaceReachabilityAnalysisIntent\n    name: example\n    properties:\n      name: example-intent\n      verifierWorkspaceId: ${exampleNetworkManagerVerifierWorkspace.id}\n      sourceResourceId: ${exampleLinuxVirtualMachine.id}\n      destinationResourceId: ${exampleLinuxVirtualMachine.id}\n      description: example\n      ipTraffic:\n        sourceIps:\n          - 10.0.2.1\n        sourcePorts:\n          - '80'\n        destinationIps:\n          - 10.0.2.2\n        destinationPorts:\n          - '*'\n        protocols:\n          - Any\nvariables:\n  current:\n    fn::invoke:\n      function: azure:core:getSubscription\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2025-01-01\n\n## Import\n\nNetwork Manager Verifier Workspace Reachability Analysis Intents can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:network/networkManagerVerifierWorkspaceReachabilityAnalysisIntent:NetworkManagerVerifierWorkspaceReachabilityAnalysisIntent example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/networkManagers/manager1/verifierWorkspaces/workspace1/reachabilityAnalysisIntents/intent1\n```\n\n","properties":{"description":{"type":"string","description":"The description of the resource. Changing this forces a new Network Manager Verifier Workspace Reachability Analysis Intent to be created.\n"},"destinationResourceId":{"type":"string","description":"The ID of the destination resource. The value can be the ID of either Public internet, Cosmos DB, Storage Account, SQL Server, Virtual machines, or Subnet. Changing this forces a new Network Manager Verifier Workspace Reachability Analysis Intent to be created.\n"},"ipTraffic":{"$ref":"#/types/azure:network/NetworkManagerVerifierWorkspaceReachabilityAnalysisIntentIpTraffic:NetworkManagerVerifierWorkspaceReachabilityAnalysisIntentIpTraffic","description":"An \u003cspan pulumi-lang-nodejs=\"`ipTraffic`\" pulumi-lang-dotnet=\"`IpTraffic`\" pulumi-lang-go=\"`ipTraffic`\" pulumi-lang-python=\"`ip_traffic`\" pulumi-lang-yaml=\"`ipTraffic`\" pulumi-lang-java=\"`ipTraffic`\"\u003e`ip_traffic`\u003c/span\u003e block as defined below. Changing this forces a new Network Manager Verifier Workspace Reachability Analysis Intent to be created.\n"},"name":{"type":"string","description":"The name which should be used for this Network Manager Verifier Workspace Reachability Analysis Intent. Changing this forces a new Network Manager Verifier Workspace Reachability Analysis Intent to be created.\n"},"sourceResourceId":{"type":"string","description":"The ID of the source resource. The value can be the ID of either Public internet, Virtual machines, or Subnet. Changing this forces a new Network Manager Verifier Workspace Reachability Analysis Intent to be created.\n"},"verifierWorkspaceId":{"type":"string","description":"The ID of the Network Manager Verifier Workspace. Changing this forces a new Network Manager Verifier Workspace Reachability Analysis Intent to be created.\n"}},"required":["destinationResourceId","ipTraffic","name","sourceResourceId","verifierWorkspaceId"],"inputProperties":{"description":{"type":"string","description":"The description of the resource. Changing this forces a new Network Manager Verifier Workspace Reachability Analysis Intent to be created.\n","willReplaceOnChanges":true},"destinationResourceId":{"type":"string","description":"The ID of the destination resource. The value can be the ID of either Public internet, Cosmos DB, Storage Account, SQL Server, Virtual machines, or Subnet. Changing this forces a new Network Manager Verifier Workspace Reachability Analysis Intent to be created.\n","willReplaceOnChanges":true},"ipTraffic":{"$ref":"#/types/azure:network/NetworkManagerVerifierWorkspaceReachabilityAnalysisIntentIpTraffic:NetworkManagerVerifierWorkspaceReachabilityAnalysisIntentIpTraffic","description":"An \u003cspan pulumi-lang-nodejs=\"`ipTraffic`\" pulumi-lang-dotnet=\"`IpTraffic`\" pulumi-lang-go=\"`ipTraffic`\" pulumi-lang-python=\"`ip_traffic`\" pulumi-lang-yaml=\"`ipTraffic`\" pulumi-lang-java=\"`ipTraffic`\"\u003e`ip_traffic`\u003c/span\u003e block as defined below. Changing this forces a new Network Manager Verifier Workspace Reachability Analysis Intent to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Network Manager Verifier Workspace Reachability Analysis Intent. Changing this forces a new Network Manager Verifier Workspace Reachability Analysis Intent to be created.\n","willReplaceOnChanges":true},"sourceResourceId":{"type":"string","description":"The ID of the source resource. The value can be the ID of either Public internet, Virtual machines, or Subnet. Changing this forces a new Network Manager Verifier Workspace Reachability Analysis Intent to be created.\n","willReplaceOnChanges":true},"verifierWorkspaceId":{"type":"string","description":"The ID of the Network Manager Verifier Workspace. Changing this forces a new Network Manager Verifier Workspace Reachability Analysis Intent to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["destinationResourceId","ipTraffic","sourceResourceId","verifierWorkspaceId"],"stateInputs":{"description":"Input properties used for looking up and filtering NetworkManagerVerifierWorkspaceReachabilityAnalysisIntent resources.\n","properties":{"description":{"type":"string","description":"The description of the resource. Changing this forces a new Network Manager Verifier Workspace Reachability Analysis Intent to be created.\n","willReplaceOnChanges":true},"destinationResourceId":{"type":"string","description":"The ID of the destination resource. The value can be the ID of either Public internet, Cosmos DB, Storage Account, SQL Server, Virtual machines, or Subnet. Changing this forces a new Network Manager Verifier Workspace Reachability Analysis Intent to be created.\n","willReplaceOnChanges":true},"ipTraffic":{"$ref":"#/types/azure:network/NetworkManagerVerifierWorkspaceReachabilityAnalysisIntentIpTraffic:NetworkManagerVerifierWorkspaceReachabilityAnalysisIntentIpTraffic","description":"An \u003cspan pulumi-lang-nodejs=\"`ipTraffic`\" pulumi-lang-dotnet=\"`IpTraffic`\" pulumi-lang-go=\"`ipTraffic`\" pulumi-lang-python=\"`ip_traffic`\" pulumi-lang-yaml=\"`ipTraffic`\" pulumi-lang-java=\"`ipTraffic`\"\u003e`ip_traffic`\u003c/span\u003e block as defined below. Changing this forces a new Network Manager Verifier Workspace Reachability Analysis Intent to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Network Manager Verifier Workspace Reachability Analysis Intent. Changing this forces a new Network Manager Verifier Workspace Reachability Analysis Intent to be created.\n","willReplaceOnChanges":true},"sourceResourceId":{"type":"string","description":"The ID of the source resource. The value can be the ID of either Public internet, Virtual machines, or Subnet. Changing this forces a new Network Manager Verifier Workspace Reachability Analysis Intent to be created.\n","willReplaceOnChanges":true},"verifierWorkspaceId":{"type":"string","description":"The ID of the Network Manager Verifier Workspace. Changing this forces a new Network Manager Verifier Workspace Reachability Analysis Intent to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:network/networkSecurityGroup:NetworkSecurityGroup":{"description":"Manages a network security group that contains a list of network security rules.  Network security groups enable inbound or outbound traffic to be enabled or denied.\n\n\u003e **NOTE on Network Security Groups and Network Security Rules:** This provider currently\nprovides both a standalone Network Security Rule resource, and allows for Network Security Rules to be defined in-line within the Network Security Group resource.\nAt this time you cannot use a Network Security Group with in-line Network Security Rules in conjunction with any Network Security Rule resources. Doing so will cause a conflict of rule settings and will overwrite rules.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleNetworkSecurityGroup = new azure.network.NetworkSecurityGroup(\"example\", {\n    name: \"acceptanceTestSecurityGroup1\",\n    location: example.location,\n    resourceGroupName: example.name,\n    securityRules: [{\n        name: \"test123\",\n        priority: 100,\n        direction: \"Inbound\",\n        access: \"Allow\",\n        protocol: \"Tcp\",\n        sourcePortRange: \"*\",\n        destinationPortRange: \"*\",\n        sourceAddressPrefix: \"*\",\n        destinationAddressPrefix: \"*\",\n    }],\n    tags: {\n        environment: \"Production\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_network_security_group = azure.network.NetworkSecurityGroup(\"example\",\n    name=\"acceptanceTestSecurityGroup1\",\n    location=example.location,\n    resource_group_name=example.name,\n    security_rules=[{\n        \"name\": \"test123\",\n        \"priority\": 100,\n        \"direction\": \"Inbound\",\n        \"access\": \"Allow\",\n        \"protocol\": \"Tcp\",\n        \"source_port_range\": \"*\",\n        \"destination_port_range\": \"*\",\n        \"source_address_prefix\": \"*\",\n        \"destination_address_prefix\": \"*\",\n    }],\n    tags={\n        \"environment\": \"Production\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleNetworkSecurityGroup = new Azure.Network.NetworkSecurityGroup(\"example\", new()\n    {\n        Name = \"acceptanceTestSecurityGroup1\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        SecurityRules = new[]\n        {\n            new Azure.Network.Inputs.NetworkSecurityGroupSecurityRuleArgs\n            {\n                Name = \"test123\",\n                Priority = 100,\n                Direction = \"Inbound\",\n                Access = \"Allow\",\n                Protocol = \"Tcp\",\n                SourcePortRange = \"*\",\n                DestinationPortRange = \"*\",\n                SourceAddressPrefix = \"*\",\n                DestinationAddressPrefix = \"*\",\n            },\n        },\n        Tags = \n        {\n            { \"environment\", \"Production\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = network.NewNetworkSecurityGroup(ctx, \"example\", \u0026network.NetworkSecurityGroupArgs{\n\t\t\tName:              pulumi.String(\"acceptanceTestSecurityGroup1\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSecurityRules: network.NetworkSecurityGroupSecurityRuleArray{\n\t\t\t\t\u0026network.NetworkSecurityGroupSecurityRuleArgs{\n\t\t\t\t\tName:                     pulumi.String(\"test123\"),\n\t\t\t\t\tPriority:                 pulumi.Int(100),\n\t\t\t\t\tDirection:                pulumi.String(\"Inbound\"),\n\t\t\t\t\tAccess:                   pulumi.String(\"Allow\"),\n\t\t\t\t\tProtocol:                 pulumi.String(\"Tcp\"),\n\t\t\t\t\tSourcePortRange:          pulumi.String(\"*\"),\n\t\t\t\t\tDestinationPortRange:     pulumi.String(\"*\"),\n\t\t\t\t\tSourceAddressPrefix:      pulumi.String(\"*\"),\n\t\t\t\t\tDestinationAddressPrefix: pulumi.String(\"*\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"environment\": pulumi.String(\"Production\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.NetworkSecurityGroup;\nimport com.pulumi.azure.network.NetworkSecurityGroupArgs;\nimport com.pulumi.azure.network.inputs.NetworkSecurityGroupSecurityRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleNetworkSecurityGroup = new NetworkSecurityGroup(\"exampleNetworkSecurityGroup\", NetworkSecurityGroupArgs.builder()\n            .name(\"acceptanceTestSecurityGroup1\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .securityRules(NetworkSecurityGroupSecurityRuleArgs.builder()\n                .name(\"test123\")\n                .priority(100)\n                .direction(\"Inbound\")\n                .access(\"Allow\")\n                .protocol(\"Tcp\")\n                .sourcePortRange(\"*\")\n                .destinationPortRange(\"*\")\n                .sourceAddressPrefix(\"*\")\n                .destinationAddressPrefix(\"*\")\n                .build())\n            .tags(Map.of(\"environment\", \"Production\"))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleNetworkSecurityGroup:\n    type: azure:network:NetworkSecurityGroup\n    name: example\n    properties:\n      name: acceptanceTestSecurityGroup1\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      securityRules:\n        - name: test123\n          priority: 100\n          direction: Inbound\n          access: Allow\n          protocol: Tcp\n          sourcePortRange: '*'\n          destinationPortRange: '*'\n          sourceAddressPrefix: '*'\n          destinationAddressPrefix: '*'\n      tags:\n        environment: Production\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2025-01-01\n\n## Import\n\nNetwork Security Groups can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:network/networkSecurityGroup:NetworkSecurityGroup group1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Network/networkSecurityGroups/mySecurityGroup\n```\n\n","properties":{"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"The name of the security rule.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the network security group. Changing this forces a new resource to be created.\n"},"securityRules":{"type":"array","items":{"$ref":"#/types/azure:network/NetworkSecurityGroupSecurityRule:NetworkSecurityGroupSecurityRule"},"description":"A list of objects representing security rules, as defined below.\n\n\u003e **NOTE** Since \u003cspan pulumi-lang-nodejs=\"`securityRule`\" pulumi-lang-dotnet=\"`SecurityRule`\" pulumi-lang-go=\"`securityRule`\" pulumi-lang-python=\"`security_rule`\" pulumi-lang-yaml=\"`securityRule`\" pulumi-lang-java=\"`securityRule`\"\u003e`security_rule`\u003c/span\u003e can be configured both inline and via the separate \u003cspan pulumi-lang-nodejs=\"`azure.network.NetworkSecurityRule`\" pulumi-lang-dotnet=\"`azure.network.NetworkSecurityRule`\" pulumi-lang-go=\"`network.NetworkSecurityRule`\" pulumi-lang-python=\"`network.NetworkSecurityRule`\" pulumi-lang-yaml=\"`azure.network.NetworkSecurityRule`\" pulumi-lang-java=\"`azure.network.NetworkSecurityRule`\"\u003e`azure.network.NetworkSecurityRule`\u003c/span\u003e resource, we have to explicitly set it to empty slice (`[]`) to remove it.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"required":["location","name","resourceGroupName","securityRules"],"inputProperties":{"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the security rule.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the network security group. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"securityRules":{"type":"array","items":{"$ref":"#/types/azure:network/NetworkSecurityGroupSecurityRule:NetworkSecurityGroupSecurityRule"},"description":"A list of objects representing security rules, as defined below.\n\n\u003e **NOTE** Since \u003cspan pulumi-lang-nodejs=\"`securityRule`\" pulumi-lang-dotnet=\"`SecurityRule`\" pulumi-lang-go=\"`securityRule`\" pulumi-lang-python=\"`security_rule`\" pulumi-lang-yaml=\"`securityRule`\" pulumi-lang-java=\"`securityRule`\"\u003e`security_rule`\u003c/span\u003e can be configured both inline and via the separate \u003cspan pulumi-lang-nodejs=\"`azure.network.NetworkSecurityRule`\" pulumi-lang-dotnet=\"`azure.network.NetworkSecurityRule`\" pulumi-lang-go=\"`network.NetworkSecurityRule`\" pulumi-lang-python=\"`network.NetworkSecurityRule`\" pulumi-lang-yaml=\"`azure.network.NetworkSecurityRule`\" pulumi-lang-java=\"`azure.network.NetworkSecurityRule`\"\u003e`azure.network.NetworkSecurityRule`\u003c/span\u003e resource, we have to explicitly set it to empty slice (`[]`) to remove it.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"requiredInputs":["resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering NetworkSecurityGroup resources.\n","properties":{"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the security rule.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the network security group. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"securityRules":{"type":"array","items":{"$ref":"#/types/azure:network/NetworkSecurityGroupSecurityRule:NetworkSecurityGroupSecurityRule"},"description":"A list of objects representing security rules, as defined below.\n\n\u003e **NOTE** Since \u003cspan pulumi-lang-nodejs=\"`securityRule`\" pulumi-lang-dotnet=\"`SecurityRule`\" pulumi-lang-go=\"`securityRule`\" pulumi-lang-python=\"`security_rule`\" pulumi-lang-yaml=\"`securityRule`\" pulumi-lang-java=\"`securityRule`\"\u003e`security_rule`\u003c/span\u003e can be configured both inline and via the separate \u003cspan pulumi-lang-nodejs=\"`azure.network.NetworkSecurityRule`\" pulumi-lang-dotnet=\"`azure.network.NetworkSecurityRule`\" pulumi-lang-go=\"`network.NetworkSecurityRule`\" pulumi-lang-python=\"`network.NetworkSecurityRule`\" pulumi-lang-yaml=\"`azure.network.NetworkSecurityRule`\" pulumi-lang-java=\"`azure.network.NetworkSecurityRule`\"\u003e`azure.network.NetworkSecurityRule`\u003c/span\u003e resource, we have to explicitly set it to empty slice (`[]`) to remove it.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"type":"object"}},"azure:network/networkSecurityPerimeter:NetworkSecurityPerimeter":{"description":"Manages a Network Security Perimeter.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleNetworkSecurityPerimeter = new azure.network.NetworkSecurityPerimeter(\"example\", {\n    name: \"example\",\n    resourceGroupName: example.name,\n    location: \"West Europe\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_network_security_perimeter = azure.network.NetworkSecurityPerimeter(\"example\",\n    name=\"example\",\n    resource_group_name=example.name,\n    location=\"West Europe\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleNetworkSecurityPerimeter = new Azure.Network.NetworkSecurityPerimeter(\"example\", new()\n    {\n        Name = \"example\",\n        ResourceGroupName = example.Name,\n        Location = \"West Europe\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = network.NewNetworkSecurityPerimeter(ctx, \"example\", \u0026network.NetworkSecurityPerimeterArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.NetworkSecurityPerimeter;\nimport com.pulumi.azure.network.NetworkSecurityPerimeterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleNetworkSecurityPerimeter = new NetworkSecurityPerimeter(\"exampleNetworkSecurityPerimeter\", NetworkSecurityPerimeterArgs.builder()\n            .name(\"example\")\n            .resourceGroupName(example.name())\n            .location(\"West Europe\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleNetworkSecurityPerimeter:\n    type: azure:network:NetworkSecurityPerimeter\n    name: example\n    properties:\n      name: example\n      resourceGroupName: ${example.name}\n      location: West Europe\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2025-01-01\n\n## Import\n\nNetwork Security Perimeters can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:network/networkSecurityPerimeter:NetworkSecurityPerimeter example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/example-rg/providers/Microsoft.Network/networkSecurityPerimeters/example-nsp\n```\n\n","properties":{"location":{"type":"string","description":"The Azure Region where the Network Security Perimeter should exist. Changing this forces a new Network Security Perimeter to be created.\n"},"name":{"type":"string","description":"The name which should be used for this Network Security Perimeter. Changing this forces a new Network Security Perimeter to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Network Security Perimeter should exist.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Network Security Perimeter.\n"}},"required":["location","name","resourceGroupName"],"inputProperties":{"location":{"type":"string","description":"The Azure Region where the Network Security Perimeter should exist. Changing this forces a new Network Security Perimeter to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Network Security Perimeter. Changing this forces a new Network Security Perimeter to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Network Security Perimeter should exist.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Network Security Perimeter.\n"}},"requiredInputs":["resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering NetworkSecurityPerimeter resources.\n","properties":{"location":{"type":"string","description":"The Azure Region where the Network Security Perimeter should exist. Changing this forces a new Network Security Perimeter to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Network Security Perimeter. Changing this forces a new Network Security Perimeter to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Network Security Perimeter should exist.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Network Security Perimeter.\n"}},"type":"object"}},"azure:network/networkSecurityPerimeterAccessRule:NetworkSecurityPerimeterAccessRule":{"description":"Manages a Network Security Perimeter Access Rule.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleNetworkSecurityPerimeter = new azure.network.NetworkSecurityPerimeter(\"example\", {\n    name: \"example\",\n    resourceGroupName: example.name,\n    location: \"West Europe\",\n});\nconst exampleNetworkSecurityPerimeterProfile = new azure.network.NetworkSecurityPerimeterProfile(\"example\", {\n    name: \"example\",\n    networkSecurityPerimeterId: exampleNetworkSecurityPerimeter.id,\n});\nconst exampleNetworkSecurityPerimeterAccessRule = new azure.network.NetworkSecurityPerimeterAccessRule(\"example\", {\n    name: \"example\",\n    networkSecurityPerimeterProfileId: exampleNetworkSecurityPerimeterProfile.id,\n    direction: \"Inbound\",\n    addressPrefixes: [\"8.8.8.8/32\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_network_security_perimeter = azure.network.NetworkSecurityPerimeter(\"example\",\n    name=\"example\",\n    resource_group_name=example.name,\n    location=\"West Europe\")\nexample_network_security_perimeter_profile = azure.network.NetworkSecurityPerimeterProfile(\"example\",\n    name=\"example\",\n    network_security_perimeter_id=example_network_security_perimeter.id)\nexample_network_security_perimeter_access_rule = azure.network.NetworkSecurityPerimeterAccessRule(\"example\",\n    name=\"example\",\n    network_security_perimeter_profile_id=example_network_security_perimeter_profile.id,\n    direction=\"Inbound\",\n    address_prefixes=[\"8.8.8.8/32\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleNetworkSecurityPerimeter = new Azure.Network.NetworkSecurityPerimeter(\"example\", new()\n    {\n        Name = \"example\",\n        ResourceGroupName = example.Name,\n        Location = \"West Europe\",\n    });\n\n    var exampleNetworkSecurityPerimeterProfile = new Azure.Network.NetworkSecurityPerimeterProfile(\"example\", new()\n    {\n        Name = \"example\",\n        NetworkSecurityPerimeterId = exampleNetworkSecurityPerimeter.Id,\n    });\n\n    var exampleNetworkSecurityPerimeterAccessRule = new Azure.Network.NetworkSecurityPerimeterAccessRule(\"example\", new()\n    {\n        Name = \"example\",\n        NetworkSecurityPerimeterProfileId = exampleNetworkSecurityPerimeterProfile.Id,\n        Direction = \"Inbound\",\n        AddressPrefixes = new[]\n        {\n            \"8.8.8.8/32\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNetworkSecurityPerimeter, err := network.NewNetworkSecurityPerimeter(ctx, \"example\", \u0026network.NetworkSecurityPerimeterArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNetworkSecurityPerimeterProfile, err := network.NewNetworkSecurityPerimeterProfile(ctx, \"example\", \u0026network.NetworkSecurityPerimeterProfileArgs{\n\t\t\tName:                       pulumi.String(\"example\"),\n\t\t\tNetworkSecurityPerimeterId: exampleNetworkSecurityPerimeter.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = network.NewNetworkSecurityPerimeterAccessRule(ctx, \"example\", \u0026network.NetworkSecurityPerimeterAccessRuleArgs{\n\t\t\tName:                              pulumi.String(\"example\"),\n\t\t\tNetworkSecurityPerimeterProfileId: exampleNetworkSecurityPerimeterProfile.ID(),\n\t\t\tDirection:                         pulumi.String(\"Inbound\"),\n\t\t\tAddressPrefixes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"8.8.8.8/32\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.NetworkSecurityPerimeter;\nimport com.pulumi.azure.network.NetworkSecurityPerimeterArgs;\nimport com.pulumi.azure.network.NetworkSecurityPerimeterProfile;\nimport com.pulumi.azure.network.NetworkSecurityPerimeterProfileArgs;\nimport com.pulumi.azure.network.NetworkSecurityPerimeterAccessRule;\nimport com.pulumi.azure.network.NetworkSecurityPerimeterAccessRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleNetworkSecurityPerimeter = new NetworkSecurityPerimeter(\"exampleNetworkSecurityPerimeter\", NetworkSecurityPerimeterArgs.builder()\n            .name(\"example\")\n            .resourceGroupName(example.name())\n            .location(\"West Europe\")\n            .build());\n\n        var exampleNetworkSecurityPerimeterProfile = new NetworkSecurityPerimeterProfile(\"exampleNetworkSecurityPerimeterProfile\", NetworkSecurityPerimeterProfileArgs.builder()\n            .name(\"example\")\n            .networkSecurityPerimeterId(exampleNetworkSecurityPerimeter.id())\n            .build());\n\n        var exampleNetworkSecurityPerimeterAccessRule = new NetworkSecurityPerimeterAccessRule(\"exampleNetworkSecurityPerimeterAccessRule\", NetworkSecurityPerimeterAccessRuleArgs.builder()\n            .name(\"example\")\n            .networkSecurityPerimeterProfileId(exampleNetworkSecurityPerimeterProfile.id())\n            .direction(\"Inbound\")\n            .addressPrefixes(\"8.8.8.8/32\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleNetworkSecurityPerimeter:\n    type: azure:network:NetworkSecurityPerimeter\n    name: example\n    properties:\n      name: example\n      resourceGroupName: ${example.name}\n      location: West Europe\n  exampleNetworkSecurityPerimeterProfile:\n    type: azure:network:NetworkSecurityPerimeterProfile\n    name: example\n    properties:\n      name: example\n      networkSecurityPerimeterId: ${exampleNetworkSecurityPerimeter.id}\n  exampleNetworkSecurityPerimeterAccessRule:\n    type: azure:network:NetworkSecurityPerimeterAccessRule\n    name: example\n    properties:\n      name: example\n      networkSecurityPerimeterProfileId: ${exampleNetworkSecurityPerimeterProfile.id}\n      direction: Inbound\n      addressPrefixes:\n        - 8.8.8.8/32\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2025-01-01\n\n## Import\n\nNetwork Security Perimeter Access Rules can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:network/networkSecurityPerimeterAccessRule:NetworkSecurityPerimeterAccessRule example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/example-rg/providers/Microsoft.Network/networkSecurityPerimeters/example-nsp/profiles/defaultProfile/accessRules/example-accessrule\n```\n\n","properties":{"addressPrefixes":{"type":"array","items":{"type":"string"},"description":"Specifies a list of CIDRs. Can only be specified when direction is set to `Inbound`. Conflicts with \u003cspan pulumi-lang-nodejs=\"`fqdns`\" pulumi-lang-dotnet=\"`Fqdns`\" pulumi-lang-go=\"`fqdns`\" pulumi-lang-python=\"`fqdns`\" pulumi-lang-yaml=\"`fqdns`\" pulumi-lang-java=\"`fqdns`\"\u003e`fqdns`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`serviceTags`\" pulumi-lang-dotnet=\"`ServiceTags`\" pulumi-lang-go=\"`serviceTags`\" pulumi-lang-python=\"`service_tags`\" pulumi-lang-yaml=\"`serviceTags`\" pulumi-lang-java=\"`serviceTags`\"\u003e`service_tags`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`subscriptionIds`\" pulumi-lang-dotnet=\"`SubscriptionIds`\" pulumi-lang-go=\"`subscriptionIds`\" pulumi-lang-python=\"`subscription_ids`\" pulumi-lang-yaml=\"`subscriptionIds`\" pulumi-lang-java=\"`subscriptionIds`\"\u003e`subscription_ids`\u003c/span\u003e.\n"},"direction":{"type":"string","description":"The direction of the rule. Possible values are `Inbound` and `Outbound`. Changing this forces a new Network Security Perimeter Access Rule to be created.\n"},"fqdns":{"type":"array","items":{"type":"string"},"description":"Specifies a list of fully qualified domain names. Can only be specified when direction is set to `Outbound`. Conflicts with \u003cspan pulumi-lang-nodejs=\"`addressPrefixes`\" pulumi-lang-dotnet=\"`AddressPrefixes`\" pulumi-lang-go=\"`addressPrefixes`\" pulumi-lang-python=\"`address_prefixes`\" pulumi-lang-yaml=\"`addressPrefixes`\" pulumi-lang-java=\"`addressPrefixes`\"\u003e`address_prefixes`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`serviceTags`\" pulumi-lang-dotnet=\"`ServiceTags`\" pulumi-lang-go=\"`serviceTags`\" pulumi-lang-python=\"`service_tags`\" pulumi-lang-yaml=\"`serviceTags`\" pulumi-lang-java=\"`serviceTags`\"\u003e`service_tags`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`subscriptionIds`\" pulumi-lang-dotnet=\"`SubscriptionIds`\" pulumi-lang-go=\"`subscriptionIds`\" pulumi-lang-python=\"`subscription_ids`\" pulumi-lang-yaml=\"`subscriptionIds`\" pulumi-lang-java=\"`subscriptionIds`\"\u003e`subscription_ids`\u003c/span\u003e.\n"},"name":{"type":"string","description":"The name which should be used for this Network Security Perimeter Access Rule. Changing this forces a new Network Security Perimeter Access Rule to be created.\n"},"networkSecurityPerimeterProfileId":{"type":"string","description":"The ID of the Network Security Perimeter Profile within which this Access Rule is created. Changing this forces a new Network Security Perimeter Access Rule to be created.\n"},"serviceTags":{"type":"array","items":{"type":"string"},"description":"Specifies a list of service tags. Can only be specified when direction is set to `Inbound`. Conflicts with \u003cspan pulumi-lang-nodejs=\"`addressPrefixes`\" pulumi-lang-dotnet=\"`AddressPrefixes`\" pulumi-lang-go=\"`addressPrefixes`\" pulumi-lang-python=\"`address_prefixes`\" pulumi-lang-yaml=\"`addressPrefixes`\" pulumi-lang-java=\"`addressPrefixes`\"\u003e`address_prefixes`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`fqdns`\" pulumi-lang-dotnet=\"`Fqdns`\" pulumi-lang-go=\"`fqdns`\" pulumi-lang-python=\"`fqdns`\" pulumi-lang-yaml=\"`fqdns`\" pulumi-lang-java=\"`fqdns`\"\u003e`fqdns`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`subscriptionIds`\" pulumi-lang-dotnet=\"`SubscriptionIds`\" pulumi-lang-go=\"`subscriptionIds`\" pulumi-lang-python=\"`subscription_ids`\" pulumi-lang-yaml=\"`subscriptionIds`\" pulumi-lang-java=\"`subscriptionIds`\"\u003e`subscription_ids`\u003c/span\u003e.\n"},"subscriptionIds":{"type":"array","items":{"type":"string"},"description":"Specifies a list of subscription IDs this rule applies to. Can only be specified when direction is set to `Inbound`. Conflicts with \u003cspan pulumi-lang-nodejs=\"`addressPrefixes`\" pulumi-lang-dotnet=\"`AddressPrefixes`\" pulumi-lang-go=\"`addressPrefixes`\" pulumi-lang-python=\"`address_prefixes`\" pulumi-lang-yaml=\"`addressPrefixes`\" pulumi-lang-java=\"`addressPrefixes`\"\u003e`address_prefixes`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`fqdns`\" pulumi-lang-dotnet=\"`Fqdns`\" pulumi-lang-go=\"`fqdns`\" pulumi-lang-python=\"`fqdns`\" pulumi-lang-yaml=\"`fqdns`\" pulumi-lang-java=\"`fqdns`\"\u003e`fqdns`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`serviceTags`\" pulumi-lang-dotnet=\"`ServiceTags`\" pulumi-lang-go=\"`serviceTags`\" pulumi-lang-python=\"`service_tags`\" pulumi-lang-yaml=\"`serviceTags`\" pulumi-lang-java=\"`serviceTags`\"\u003e`service_tags`\u003c/span\u003e.\n"}},"required":["direction","name","networkSecurityPerimeterProfileId"],"inputProperties":{"addressPrefixes":{"type":"array","items":{"type":"string"},"description":"Specifies a list of CIDRs. Can only be specified when direction is set to `Inbound`. Conflicts with \u003cspan pulumi-lang-nodejs=\"`fqdns`\" pulumi-lang-dotnet=\"`Fqdns`\" pulumi-lang-go=\"`fqdns`\" pulumi-lang-python=\"`fqdns`\" pulumi-lang-yaml=\"`fqdns`\" pulumi-lang-java=\"`fqdns`\"\u003e`fqdns`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`serviceTags`\" pulumi-lang-dotnet=\"`ServiceTags`\" pulumi-lang-go=\"`serviceTags`\" pulumi-lang-python=\"`service_tags`\" pulumi-lang-yaml=\"`serviceTags`\" pulumi-lang-java=\"`serviceTags`\"\u003e`service_tags`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`subscriptionIds`\" pulumi-lang-dotnet=\"`SubscriptionIds`\" pulumi-lang-go=\"`subscriptionIds`\" pulumi-lang-python=\"`subscription_ids`\" pulumi-lang-yaml=\"`subscriptionIds`\" pulumi-lang-java=\"`subscriptionIds`\"\u003e`subscription_ids`\u003c/span\u003e.\n"},"direction":{"type":"string","description":"The direction of the rule. Possible values are `Inbound` and `Outbound`. Changing this forces a new Network Security Perimeter Access Rule to be created.\n","willReplaceOnChanges":true},"fqdns":{"type":"array","items":{"type":"string"},"description":"Specifies a list of fully qualified domain names. Can only be specified when direction is set to `Outbound`. Conflicts with \u003cspan pulumi-lang-nodejs=\"`addressPrefixes`\" pulumi-lang-dotnet=\"`AddressPrefixes`\" pulumi-lang-go=\"`addressPrefixes`\" pulumi-lang-python=\"`address_prefixes`\" pulumi-lang-yaml=\"`addressPrefixes`\" pulumi-lang-java=\"`addressPrefixes`\"\u003e`address_prefixes`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`serviceTags`\" pulumi-lang-dotnet=\"`ServiceTags`\" pulumi-lang-go=\"`serviceTags`\" pulumi-lang-python=\"`service_tags`\" pulumi-lang-yaml=\"`serviceTags`\" pulumi-lang-java=\"`serviceTags`\"\u003e`service_tags`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`subscriptionIds`\" pulumi-lang-dotnet=\"`SubscriptionIds`\" pulumi-lang-go=\"`subscriptionIds`\" pulumi-lang-python=\"`subscription_ids`\" pulumi-lang-yaml=\"`subscriptionIds`\" pulumi-lang-java=\"`subscriptionIds`\"\u003e`subscription_ids`\u003c/span\u003e.\n"},"name":{"type":"string","description":"The name which should be used for this Network Security Perimeter Access Rule. Changing this forces a new Network Security Perimeter Access Rule to be created.\n","willReplaceOnChanges":true},"networkSecurityPerimeterProfileId":{"type":"string","description":"The ID of the Network Security Perimeter Profile within which this Access Rule is created. Changing this forces a new Network Security Perimeter Access Rule to be created.\n","willReplaceOnChanges":true},"serviceTags":{"type":"array","items":{"type":"string"},"description":"Specifies a list of service tags. Can only be specified when direction is set to `Inbound`. Conflicts with \u003cspan pulumi-lang-nodejs=\"`addressPrefixes`\" pulumi-lang-dotnet=\"`AddressPrefixes`\" pulumi-lang-go=\"`addressPrefixes`\" pulumi-lang-python=\"`address_prefixes`\" pulumi-lang-yaml=\"`addressPrefixes`\" pulumi-lang-java=\"`addressPrefixes`\"\u003e`address_prefixes`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`fqdns`\" pulumi-lang-dotnet=\"`Fqdns`\" pulumi-lang-go=\"`fqdns`\" pulumi-lang-python=\"`fqdns`\" pulumi-lang-yaml=\"`fqdns`\" pulumi-lang-java=\"`fqdns`\"\u003e`fqdns`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`subscriptionIds`\" pulumi-lang-dotnet=\"`SubscriptionIds`\" pulumi-lang-go=\"`subscriptionIds`\" pulumi-lang-python=\"`subscription_ids`\" pulumi-lang-yaml=\"`subscriptionIds`\" pulumi-lang-java=\"`subscriptionIds`\"\u003e`subscription_ids`\u003c/span\u003e.\n"},"subscriptionIds":{"type":"array","items":{"type":"string"},"description":"Specifies a list of subscription IDs this rule applies to. Can only be specified when direction is set to `Inbound`. Conflicts with \u003cspan pulumi-lang-nodejs=\"`addressPrefixes`\" pulumi-lang-dotnet=\"`AddressPrefixes`\" pulumi-lang-go=\"`addressPrefixes`\" pulumi-lang-python=\"`address_prefixes`\" pulumi-lang-yaml=\"`addressPrefixes`\" pulumi-lang-java=\"`addressPrefixes`\"\u003e`address_prefixes`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`fqdns`\" pulumi-lang-dotnet=\"`Fqdns`\" pulumi-lang-go=\"`fqdns`\" pulumi-lang-python=\"`fqdns`\" pulumi-lang-yaml=\"`fqdns`\" pulumi-lang-java=\"`fqdns`\"\u003e`fqdns`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`serviceTags`\" pulumi-lang-dotnet=\"`ServiceTags`\" pulumi-lang-go=\"`serviceTags`\" pulumi-lang-python=\"`service_tags`\" pulumi-lang-yaml=\"`serviceTags`\" pulumi-lang-java=\"`serviceTags`\"\u003e`service_tags`\u003c/span\u003e.\n"}},"requiredInputs":["direction","networkSecurityPerimeterProfileId"],"stateInputs":{"description":"Input properties used for looking up and filtering NetworkSecurityPerimeterAccessRule resources.\n","properties":{"addressPrefixes":{"type":"array","items":{"type":"string"},"description":"Specifies a list of CIDRs. Can only be specified when direction is set to `Inbound`. Conflicts with \u003cspan pulumi-lang-nodejs=\"`fqdns`\" pulumi-lang-dotnet=\"`Fqdns`\" pulumi-lang-go=\"`fqdns`\" pulumi-lang-python=\"`fqdns`\" pulumi-lang-yaml=\"`fqdns`\" pulumi-lang-java=\"`fqdns`\"\u003e`fqdns`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`serviceTags`\" pulumi-lang-dotnet=\"`ServiceTags`\" pulumi-lang-go=\"`serviceTags`\" pulumi-lang-python=\"`service_tags`\" pulumi-lang-yaml=\"`serviceTags`\" pulumi-lang-java=\"`serviceTags`\"\u003e`service_tags`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`subscriptionIds`\" pulumi-lang-dotnet=\"`SubscriptionIds`\" pulumi-lang-go=\"`subscriptionIds`\" pulumi-lang-python=\"`subscription_ids`\" pulumi-lang-yaml=\"`subscriptionIds`\" pulumi-lang-java=\"`subscriptionIds`\"\u003e`subscription_ids`\u003c/span\u003e.\n"},"direction":{"type":"string","description":"The direction of the rule. Possible values are `Inbound` and `Outbound`. Changing this forces a new Network Security Perimeter Access Rule to be created.\n","willReplaceOnChanges":true},"fqdns":{"type":"array","items":{"type":"string"},"description":"Specifies a list of fully qualified domain names. Can only be specified when direction is set to `Outbound`. Conflicts with \u003cspan pulumi-lang-nodejs=\"`addressPrefixes`\" pulumi-lang-dotnet=\"`AddressPrefixes`\" pulumi-lang-go=\"`addressPrefixes`\" pulumi-lang-python=\"`address_prefixes`\" pulumi-lang-yaml=\"`addressPrefixes`\" pulumi-lang-java=\"`addressPrefixes`\"\u003e`address_prefixes`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`serviceTags`\" pulumi-lang-dotnet=\"`ServiceTags`\" pulumi-lang-go=\"`serviceTags`\" pulumi-lang-python=\"`service_tags`\" pulumi-lang-yaml=\"`serviceTags`\" pulumi-lang-java=\"`serviceTags`\"\u003e`service_tags`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`subscriptionIds`\" pulumi-lang-dotnet=\"`SubscriptionIds`\" pulumi-lang-go=\"`subscriptionIds`\" pulumi-lang-python=\"`subscription_ids`\" pulumi-lang-yaml=\"`subscriptionIds`\" pulumi-lang-java=\"`subscriptionIds`\"\u003e`subscription_ids`\u003c/span\u003e.\n"},"name":{"type":"string","description":"The name which should be used for this Network Security Perimeter Access Rule. Changing this forces a new Network Security Perimeter Access Rule to be created.\n","willReplaceOnChanges":true},"networkSecurityPerimeterProfileId":{"type":"string","description":"The ID of the Network Security Perimeter Profile within which this Access Rule is created. Changing this forces a new Network Security Perimeter Access Rule to be created.\n","willReplaceOnChanges":true},"serviceTags":{"type":"array","items":{"type":"string"},"description":"Specifies a list of service tags. Can only be specified when direction is set to `Inbound`. Conflicts with \u003cspan pulumi-lang-nodejs=\"`addressPrefixes`\" pulumi-lang-dotnet=\"`AddressPrefixes`\" pulumi-lang-go=\"`addressPrefixes`\" pulumi-lang-python=\"`address_prefixes`\" pulumi-lang-yaml=\"`addressPrefixes`\" pulumi-lang-java=\"`addressPrefixes`\"\u003e`address_prefixes`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`fqdns`\" pulumi-lang-dotnet=\"`Fqdns`\" pulumi-lang-go=\"`fqdns`\" pulumi-lang-python=\"`fqdns`\" pulumi-lang-yaml=\"`fqdns`\" pulumi-lang-java=\"`fqdns`\"\u003e`fqdns`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`subscriptionIds`\" pulumi-lang-dotnet=\"`SubscriptionIds`\" pulumi-lang-go=\"`subscriptionIds`\" pulumi-lang-python=\"`subscription_ids`\" pulumi-lang-yaml=\"`subscriptionIds`\" pulumi-lang-java=\"`subscriptionIds`\"\u003e`subscription_ids`\u003c/span\u003e.\n"},"subscriptionIds":{"type":"array","items":{"type":"string"},"description":"Specifies a list of subscription IDs this rule applies to. Can only be specified when direction is set to `Inbound`. Conflicts with \u003cspan pulumi-lang-nodejs=\"`addressPrefixes`\" pulumi-lang-dotnet=\"`AddressPrefixes`\" pulumi-lang-go=\"`addressPrefixes`\" pulumi-lang-python=\"`address_prefixes`\" pulumi-lang-yaml=\"`addressPrefixes`\" pulumi-lang-java=\"`addressPrefixes`\"\u003e`address_prefixes`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`fqdns`\" pulumi-lang-dotnet=\"`Fqdns`\" pulumi-lang-go=\"`fqdns`\" pulumi-lang-python=\"`fqdns`\" pulumi-lang-yaml=\"`fqdns`\" pulumi-lang-java=\"`fqdns`\"\u003e`fqdns`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`serviceTags`\" pulumi-lang-dotnet=\"`ServiceTags`\" pulumi-lang-go=\"`serviceTags`\" pulumi-lang-python=\"`service_tags`\" pulumi-lang-yaml=\"`serviceTags`\" pulumi-lang-java=\"`serviceTags`\"\u003e`service_tags`\u003c/span\u003e.\n"}},"type":"object"}},"azure:network/networkSecurityPerimeterAssociation:NetworkSecurityPerimeterAssociation":{"description":"Manages a Network Security Perimeter Association.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleAnalyticsWorkspace = new azure.operationalinsights.AnalyticsWorkspace(\"example\", {\n    name: \"example\",\n    location: \"West Europe\",\n    resourceGroupName: example.name,\n});\nconst exampleNetworkSecurityPerimeter = new azure.network.NetworkSecurityPerimeter(\"example\", {\n    name: \"example\",\n    resourceGroupName: example.name,\n    location: \"West Europe\",\n});\nconst exampleNetworkSecurityPerimeterProfile = new azure.network.NetworkSecurityPerimeterProfile(\"example\", {\n    name: \"example\",\n    networkSecurityPerimeterId: exampleNetworkSecurityPerimeter.id,\n});\nconst exampleNetworkSecurityPerimeterAssociation = new azure.network.NetworkSecurityPerimeterAssociation(\"example\", {\n    name: \"example\",\n    accessMode: \"Enforced\",\n    networkSecurityPerimeterProfileId: exampleNetworkSecurityPerimeterProfile.id,\n    resourceId: exampleAnalyticsWorkspace.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_analytics_workspace = azure.operationalinsights.AnalyticsWorkspace(\"example\",\n    name=\"example\",\n    location=\"West Europe\",\n    resource_group_name=example.name)\nexample_network_security_perimeter = azure.network.NetworkSecurityPerimeter(\"example\",\n    name=\"example\",\n    resource_group_name=example.name,\n    location=\"West Europe\")\nexample_network_security_perimeter_profile = azure.network.NetworkSecurityPerimeterProfile(\"example\",\n    name=\"example\",\n    network_security_perimeter_id=example_network_security_perimeter.id)\nexample_network_security_perimeter_association = azure.network.NetworkSecurityPerimeterAssociation(\"example\",\n    name=\"example\",\n    access_mode=\"Enforced\",\n    network_security_perimeter_profile_id=example_network_security_perimeter_profile.id,\n    resource_id=example_analytics_workspace.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleAnalyticsWorkspace = new Azure.OperationalInsights.AnalyticsWorkspace(\"example\", new()\n    {\n        Name = \"example\",\n        Location = \"West Europe\",\n        ResourceGroupName = example.Name,\n    });\n\n    var exampleNetworkSecurityPerimeter = new Azure.Network.NetworkSecurityPerimeter(\"example\", new()\n    {\n        Name = \"example\",\n        ResourceGroupName = example.Name,\n        Location = \"West Europe\",\n    });\n\n    var exampleNetworkSecurityPerimeterProfile = new Azure.Network.NetworkSecurityPerimeterProfile(\"example\", new()\n    {\n        Name = \"example\",\n        NetworkSecurityPerimeterId = exampleNetworkSecurityPerimeter.Id,\n    });\n\n    var exampleNetworkSecurityPerimeterAssociation = new Azure.Network.NetworkSecurityPerimeterAssociation(\"example\", new()\n    {\n        Name = \"example\",\n        AccessMode = \"Enforced\",\n        NetworkSecurityPerimeterProfileId = exampleNetworkSecurityPerimeterProfile.Id,\n        ResourceId = exampleAnalyticsWorkspace.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/operationalinsights\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAnalyticsWorkspace, err := operationalinsights.NewAnalyticsWorkspace(ctx, \"example\", \u0026operationalinsights.AnalyticsWorkspaceArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tLocation:          pulumi.String(\"West Europe\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNetworkSecurityPerimeter, err := network.NewNetworkSecurityPerimeter(ctx, \"example\", \u0026network.NetworkSecurityPerimeterArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNetworkSecurityPerimeterProfile, err := network.NewNetworkSecurityPerimeterProfile(ctx, \"example\", \u0026network.NetworkSecurityPerimeterProfileArgs{\n\t\t\tName:                       pulumi.String(\"example\"),\n\t\t\tNetworkSecurityPerimeterId: exampleNetworkSecurityPerimeter.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = network.NewNetworkSecurityPerimeterAssociation(ctx, \"example\", \u0026network.NetworkSecurityPerimeterAssociationArgs{\n\t\t\tName:                              pulumi.String(\"example\"),\n\t\t\tAccessMode:                        pulumi.String(\"Enforced\"),\n\t\t\tNetworkSecurityPerimeterProfileId: exampleNetworkSecurityPerimeterProfile.ID(),\n\t\t\tResourceId:                        exampleAnalyticsWorkspace.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.operationalinsights.AnalyticsWorkspace;\nimport com.pulumi.azure.operationalinsights.AnalyticsWorkspaceArgs;\nimport com.pulumi.azure.network.NetworkSecurityPerimeter;\nimport com.pulumi.azure.network.NetworkSecurityPerimeterArgs;\nimport com.pulumi.azure.network.NetworkSecurityPerimeterProfile;\nimport com.pulumi.azure.network.NetworkSecurityPerimeterProfileArgs;\nimport com.pulumi.azure.network.NetworkSecurityPerimeterAssociation;\nimport com.pulumi.azure.network.NetworkSecurityPerimeterAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleAnalyticsWorkspace = new AnalyticsWorkspace(\"exampleAnalyticsWorkspace\", AnalyticsWorkspaceArgs.builder()\n            .name(\"example\")\n            .location(\"West Europe\")\n            .resourceGroupName(example.name())\n            .build());\n\n        var exampleNetworkSecurityPerimeter = new NetworkSecurityPerimeter(\"exampleNetworkSecurityPerimeter\", NetworkSecurityPerimeterArgs.builder()\n            .name(\"example\")\n            .resourceGroupName(example.name())\n            .location(\"West Europe\")\n            .build());\n\n        var exampleNetworkSecurityPerimeterProfile = new NetworkSecurityPerimeterProfile(\"exampleNetworkSecurityPerimeterProfile\", NetworkSecurityPerimeterProfileArgs.builder()\n            .name(\"example\")\n            .networkSecurityPerimeterId(exampleNetworkSecurityPerimeter.id())\n            .build());\n\n        var exampleNetworkSecurityPerimeterAssociation = new NetworkSecurityPerimeterAssociation(\"exampleNetworkSecurityPerimeterAssociation\", NetworkSecurityPerimeterAssociationArgs.builder()\n            .name(\"example\")\n            .accessMode(\"Enforced\")\n            .networkSecurityPerimeterProfileId(exampleNetworkSecurityPerimeterProfile.id())\n            .resourceId(exampleAnalyticsWorkspace.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleAnalyticsWorkspace:\n    type: azure:operationalinsights:AnalyticsWorkspace\n    name: example\n    properties:\n      name: example\n      location: West Europe\n      resourceGroupName: ${example.name}\n  exampleNetworkSecurityPerimeter:\n    type: azure:network:NetworkSecurityPerimeter\n    name: example\n    properties:\n      name: example\n      resourceGroupName: ${example.name}\n      location: West Europe\n  exampleNetworkSecurityPerimeterProfile:\n    type: azure:network:NetworkSecurityPerimeterProfile\n    name: example\n    properties:\n      name: example\n      networkSecurityPerimeterId: ${exampleNetworkSecurityPerimeter.id}\n  exampleNetworkSecurityPerimeterAssociation:\n    type: azure:network:NetworkSecurityPerimeterAssociation\n    name: example\n    properties:\n      name: example\n      accessMode: Enforced\n      networkSecurityPerimeterProfileId: ${exampleNetworkSecurityPerimeterProfile.id}\n      resourceId: ${exampleAnalyticsWorkspace.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2025-01-01\n\n## Import\n\nNetwork Security Perimeter Associations can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:network/networkSecurityPerimeterAssociation:NetworkSecurityPerimeterAssociation example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/example-rg/providers/Microsoft.Network/networkSecurityPerimeters/example-nsp/resourceAssociations/example-assoc\n```\n\n","properties":{"accessMode":{"type":"string","description":"Access mode for the associated resource on the Network Security Perimeter. Possible values are `Audit`, `Enforced`, and `Learning`.\n"},"name":{"type":"string","description":"The name which should be used for this Network Security Perimeter Association. Changing this forces a new Network Security Perimeter Association to be created.\n"},"networkSecurityPerimeterProfileId":{"type":"string","description":"The ID of the Network Security Perimeter Profile. Changing this forces a new Network Security Perimeter Association to be created.\n"},"resourceId":{"type":"string","description":"The ID of the associated resource. Changing this forces a new Network Security Perimeter Association to be created.\n\n\u003e **Note:** A resource can only be associated with one Network Security Perimeter at a time.\nIf the target resource is already associated with another Network Security Perimeter, the creation of this association may appear to succeed in Terraform but will not be reflected in Azure. In such cases, the association will not actually exist and subsequent Terraform operations may show unexpected behavior.\n"}},"required":["accessMode","name","networkSecurityPerimeterProfileId","resourceId"],"inputProperties":{"accessMode":{"type":"string","description":"Access mode for the associated resource on the Network Security Perimeter. Possible values are `Audit`, `Enforced`, and `Learning`.\n"},"name":{"type":"string","description":"The name which should be used for this Network Security Perimeter Association. Changing this forces a new Network Security Perimeter Association to be created.\n","willReplaceOnChanges":true},"networkSecurityPerimeterProfileId":{"type":"string","description":"The ID of the Network Security Perimeter Profile. Changing this forces a new Network Security Perimeter Association to be created.\n","willReplaceOnChanges":true},"resourceId":{"type":"string","description":"The ID of the associated resource. Changing this forces a new Network Security Perimeter Association to be created.\n\n\u003e **Note:** A resource can only be associated with one Network Security Perimeter at a time.\nIf the target resource is already associated with another Network Security Perimeter, the creation of this association may appear to succeed in Terraform but will not be reflected in Azure. In such cases, the association will not actually exist and subsequent Terraform operations may show unexpected behavior.\n","willReplaceOnChanges":true}},"requiredInputs":["accessMode","networkSecurityPerimeterProfileId","resourceId"],"stateInputs":{"description":"Input properties used for looking up and filtering NetworkSecurityPerimeterAssociation resources.\n","properties":{"accessMode":{"type":"string","description":"Access mode for the associated resource on the Network Security Perimeter. Possible values are `Audit`, `Enforced`, and `Learning`.\n"},"name":{"type":"string","description":"The name which should be used for this Network Security Perimeter Association. Changing this forces a new Network Security Perimeter Association to be created.\n","willReplaceOnChanges":true},"networkSecurityPerimeterProfileId":{"type":"string","description":"The ID of the Network Security Perimeter Profile. Changing this forces a new Network Security Perimeter Association to be created.\n","willReplaceOnChanges":true},"resourceId":{"type":"string","description":"The ID of the associated resource. Changing this forces a new Network Security Perimeter Association to be created.\n\n\u003e **Note:** A resource can only be associated with one Network Security Perimeter at a time.\nIf the target resource is already associated with another Network Security Perimeter, the creation of this association may appear to succeed in Terraform but will not be reflected in Azure. In such cases, the association will not actually exist and subsequent Terraform operations may show unexpected behavior.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:network/networkSecurityPerimeterProfile:NetworkSecurityPerimeterProfile":{"description":"Manages a Network Security Perimeter Profile.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleNetworkSecurityPerimeter = new azure.network.NetworkSecurityPerimeter(\"example\", {\n    name: \"example\",\n    resourceGroupName: example.name,\n    location: \"West Europe\",\n});\nconst exampleNetworkSecurityPerimeterProfile = new azure.network.NetworkSecurityPerimeterProfile(\"example\", {\n    name: \"example\",\n    networkSecurityPerimeterId: exampleNetworkSecurityPerimeter.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_network_security_perimeter = azure.network.NetworkSecurityPerimeter(\"example\",\n    name=\"example\",\n    resource_group_name=example.name,\n    location=\"West Europe\")\nexample_network_security_perimeter_profile = azure.network.NetworkSecurityPerimeterProfile(\"example\",\n    name=\"example\",\n    network_security_perimeter_id=example_network_security_perimeter.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleNetworkSecurityPerimeter = new Azure.Network.NetworkSecurityPerimeter(\"example\", new()\n    {\n        Name = \"example\",\n        ResourceGroupName = example.Name,\n        Location = \"West Europe\",\n    });\n\n    var exampleNetworkSecurityPerimeterProfile = new Azure.Network.NetworkSecurityPerimeterProfile(\"example\", new()\n    {\n        Name = \"example\",\n        NetworkSecurityPerimeterId = exampleNetworkSecurityPerimeter.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNetworkSecurityPerimeter, err := network.NewNetworkSecurityPerimeter(ctx, \"example\", \u0026network.NetworkSecurityPerimeterArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = network.NewNetworkSecurityPerimeterProfile(ctx, \"example\", \u0026network.NetworkSecurityPerimeterProfileArgs{\n\t\t\tName:                       pulumi.String(\"example\"),\n\t\t\tNetworkSecurityPerimeterId: exampleNetworkSecurityPerimeter.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.NetworkSecurityPerimeter;\nimport com.pulumi.azure.network.NetworkSecurityPerimeterArgs;\nimport com.pulumi.azure.network.NetworkSecurityPerimeterProfile;\nimport com.pulumi.azure.network.NetworkSecurityPerimeterProfileArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleNetworkSecurityPerimeter = new NetworkSecurityPerimeter(\"exampleNetworkSecurityPerimeter\", NetworkSecurityPerimeterArgs.builder()\n            .name(\"example\")\n            .resourceGroupName(example.name())\n            .location(\"West Europe\")\n            .build());\n\n        var exampleNetworkSecurityPerimeterProfile = new NetworkSecurityPerimeterProfile(\"exampleNetworkSecurityPerimeterProfile\", NetworkSecurityPerimeterProfileArgs.builder()\n            .name(\"example\")\n            .networkSecurityPerimeterId(exampleNetworkSecurityPerimeter.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleNetworkSecurityPerimeter:\n    type: azure:network:NetworkSecurityPerimeter\n    name: example\n    properties:\n      name: example\n      resourceGroupName: ${example.name}\n      location: West Europe\n  exampleNetworkSecurityPerimeterProfile:\n    type: azure:network:NetworkSecurityPerimeterProfile\n    name: example\n    properties:\n      name: example\n      networkSecurityPerimeterId: ${exampleNetworkSecurityPerimeter.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2025-01-01\n\n## Import\n\nNetwork Security Perimeter Profiles can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:network/networkSecurityPerimeterProfile:NetworkSecurityPerimeterProfile example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/example-rg/providers/Microsoft.Network/networkSecurityPerimeters/example-nsp/profiles/defaultProfile\n```\n\n","properties":{"name":{"type":"string","description":"The name which should be used for this Network Security Perimeter Profile. Changing this forces a new Network Security Perimeter Profile to be created.\n"},"networkSecurityPerimeterId":{"type":"string","description":"The ID of the Network Security Perimeter within this Profile is created. Changing this forces a new Network Security Perimeter Profile to be created.\n"}},"required":["name","networkSecurityPerimeterId"],"inputProperties":{"name":{"type":"string","description":"The name which should be used for this Network Security Perimeter Profile. Changing this forces a new Network Security Perimeter Profile to be created.\n","willReplaceOnChanges":true},"networkSecurityPerimeterId":{"type":"string","description":"The ID of the Network Security Perimeter within this Profile is created. Changing this forces a new Network Security Perimeter Profile to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["networkSecurityPerimeterId"],"stateInputs":{"description":"Input properties used for looking up and filtering NetworkSecurityPerimeterProfile resources.\n","properties":{"name":{"type":"string","description":"The name which should be used for this Network Security Perimeter Profile. Changing this forces a new Network Security Perimeter Profile to be created.\n","willReplaceOnChanges":true},"networkSecurityPerimeterId":{"type":"string","description":"The ID of the Network Security Perimeter within this Profile is created. Changing this forces a new Network Security Perimeter Profile to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:network/networkSecurityRule:NetworkSecurityRule":{"description":"Manages a Network Security Rule.\n\n\u003e **NOTE on Network Security Groups and Network Security Rules:** This provider currently\nprovides both a standalone Network Security Rule resource, and allows for Network Security Rules to be defined in-line within the Network Security Group resource.\nAt this time you cannot use a Network Security Group with in-line Network Security Rules in conjunction with any Network Security Rule resources. Doing so will cause a conflict of rule settings and will overwrite rules.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleNetworkSecurityGroup = new azure.network.NetworkSecurityGroup(\"example\", {\n    name: \"acceptanceTestSecurityGroup1\",\n    location: example.location,\n    resourceGroupName: example.name,\n});\nconst exampleNetworkSecurityRule = new azure.network.NetworkSecurityRule(\"example\", {\n    name: \"test123\",\n    priority: 100,\n    direction: \"Outbound\",\n    access: \"Allow\",\n    protocol: \"Tcp\",\n    sourcePortRange: \"*\",\n    destinationPortRange: \"*\",\n    sourceAddressPrefix: \"*\",\n    destinationAddressPrefix: \"*\",\n    resourceGroupName: example.name,\n    networkSecurityGroupName: exampleNetworkSecurityGroup.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_network_security_group = azure.network.NetworkSecurityGroup(\"example\",\n    name=\"acceptanceTestSecurityGroup1\",\n    location=example.location,\n    resource_group_name=example.name)\nexample_network_security_rule = azure.network.NetworkSecurityRule(\"example\",\n    name=\"test123\",\n    priority=100,\n    direction=\"Outbound\",\n    access=\"Allow\",\n    protocol=\"Tcp\",\n    source_port_range=\"*\",\n    destination_port_range=\"*\",\n    source_address_prefix=\"*\",\n    destination_address_prefix=\"*\",\n    resource_group_name=example.name,\n    network_security_group_name=example_network_security_group.name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleNetworkSecurityGroup = new Azure.Network.NetworkSecurityGroup(\"example\", new()\n    {\n        Name = \"acceptanceTestSecurityGroup1\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n    });\n\n    var exampleNetworkSecurityRule = new Azure.Network.NetworkSecurityRule(\"example\", new()\n    {\n        Name = \"test123\",\n        Priority = 100,\n        Direction = \"Outbound\",\n        Access = \"Allow\",\n        Protocol = \"Tcp\",\n        SourcePortRange = \"*\",\n        DestinationPortRange = \"*\",\n        SourceAddressPrefix = \"*\",\n        DestinationAddressPrefix = \"*\",\n        ResourceGroupName = example.Name,\n        NetworkSecurityGroupName = exampleNetworkSecurityGroup.Name,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNetworkSecurityGroup, err := network.NewNetworkSecurityGroup(ctx, \"example\", \u0026network.NetworkSecurityGroupArgs{\n\t\t\tName:              pulumi.String(\"acceptanceTestSecurityGroup1\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = network.NewNetworkSecurityRule(ctx, \"example\", \u0026network.NetworkSecurityRuleArgs{\n\t\t\tName:                     pulumi.String(\"test123\"),\n\t\t\tPriority:                 pulumi.Int(100),\n\t\t\tDirection:                pulumi.String(\"Outbound\"),\n\t\t\tAccess:                   pulumi.String(\"Allow\"),\n\t\t\tProtocol:                 pulumi.String(\"Tcp\"),\n\t\t\tSourcePortRange:          pulumi.String(\"*\"),\n\t\t\tDestinationPortRange:     pulumi.String(\"*\"),\n\t\t\tSourceAddressPrefix:      pulumi.String(\"*\"),\n\t\t\tDestinationAddressPrefix: pulumi.String(\"*\"),\n\t\t\tResourceGroupName:        example.Name,\n\t\t\tNetworkSecurityGroupName: exampleNetworkSecurityGroup.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.NetworkSecurityGroup;\nimport com.pulumi.azure.network.NetworkSecurityGroupArgs;\nimport com.pulumi.azure.network.NetworkSecurityRule;\nimport com.pulumi.azure.network.NetworkSecurityRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleNetworkSecurityGroup = new NetworkSecurityGroup(\"exampleNetworkSecurityGroup\", NetworkSecurityGroupArgs.builder()\n            .name(\"acceptanceTestSecurityGroup1\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .build());\n\n        var exampleNetworkSecurityRule = new NetworkSecurityRule(\"exampleNetworkSecurityRule\", NetworkSecurityRuleArgs.builder()\n            .name(\"test123\")\n            .priority(100)\n            .direction(\"Outbound\")\n            .access(\"Allow\")\n            .protocol(\"Tcp\")\n            .sourcePortRange(\"*\")\n            .destinationPortRange(\"*\")\n            .sourceAddressPrefix(\"*\")\n            .destinationAddressPrefix(\"*\")\n            .resourceGroupName(example.name())\n            .networkSecurityGroupName(exampleNetworkSecurityGroup.name())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleNetworkSecurityGroup:\n    type: azure:network:NetworkSecurityGroup\n    name: example\n    properties:\n      name: acceptanceTestSecurityGroup1\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n  exampleNetworkSecurityRule:\n    type: azure:network:NetworkSecurityRule\n    name: example\n    properties:\n      name: test123\n      priority: 100\n      direction: Outbound\n      access: Allow\n      protocol: Tcp\n      sourcePortRange: '*'\n      destinationPortRange: '*'\n      sourceAddressPrefix: '*'\n      destinationAddressPrefix: '*'\n      resourceGroupName: ${example.name}\n      networkSecurityGroupName: ${exampleNetworkSecurityGroup.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2025-01-01\n\n## Import\n\nNetwork Security Rules can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:network/networkSecurityRule:NetworkSecurityRule rule1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Network/networkSecurityGroups/mySecurityGroup/securityRules/rule1\n```\n\n","properties":{"access":{"type":"string","description":"Specifies whether network traffic is allowed or denied. Possible values are `Allow` and `Deny`.\n"},"description":{"type":"string","description":"A description for this rule. Restricted to 140 characters.\n"},"destinationAddressPrefix":{"type":"string","description":"CIDR or destination IP range or * to match any IP. Tags such as `VirtualNetwork`, `AzureLoadBalancer` and `Internet` can also be used. Besides, it also supports all available Service Tags like ‘Sql.WestEurope‘, ‘Storage.EastUS‘, etc. You can list the available service tags with the CLI: ```shell az network list-service-tags --location westcentralus```. For further information please see [Azure CLI - az network list-service-tags](https://docs.microsoft.com/cli/azure/network?view=azure-cli-latest#az-network-list-service-tags).\n"},"destinationAddressPrefixes":{"type":"array","items":{"type":"string"},"description":"List of destination address prefixes. Tags may not be used.\n"},"destinationApplicationSecurityGroupIds":{"type":"string","description":"A List of destination Application Security Group IDs\n\n\u003e **Note:** One of \u003cspan pulumi-lang-nodejs=\"`destinationAddressPrefix`\" pulumi-lang-dotnet=\"`DestinationAddressPrefix`\" pulumi-lang-go=\"`destinationAddressPrefix`\" pulumi-lang-python=\"`destination_address_prefix`\" pulumi-lang-yaml=\"`destinationAddressPrefix`\" pulumi-lang-java=\"`destinationAddressPrefix`\"\u003e`destination_address_prefix`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`destinationAddressPrefixes`\" pulumi-lang-dotnet=\"`DestinationAddressPrefixes`\" pulumi-lang-go=\"`destinationAddressPrefixes`\" pulumi-lang-python=\"`destination_address_prefixes`\" pulumi-lang-yaml=\"`destinationAddressPrefixes`\" pulumi-lang-java=\"`destinationAddressPrefixes`\"\u003e`destination_address_prefixes`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`destinationApplicationSecurityGroupIds`\" pulumi-lang-dotnet=\"`DestinationApplicationSecurityGroupIds`\" pulumi-lang-go=\"`destinationApplicationSecurityGroupIds`\" pulumi-lang-python=\"`destination_application_security_group_ids`\" pulumi-lang-yaml=\"`destinationApplicationSecurityGroupIds`\" pulumi-lang-java=\"`destinationApplicationSecurityGroupIds`\"\u003e`destination_application_security_group_ids`\u003c/span\u003e must be specified.\n"},"destinationPortRange":{"type":"string","description":"Destination Port or Range. Integer or range between \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`65535`\" pulumi-lang-dotnet=\"`65535`\" pulumi-lang-go=\"`65535`\" pulumi-lang-python=\"`65535`\" pulumi-lang-yaml=\"`65535`\" pulumi-lang-java=\"`65535`\"\u003e`65535`\u003c/span\u003e or `*` to match any. This is required if \u003cspan pulumi-lang-nodejs=\"`destinationPortRanges`\" pulumi-lang-dotnet=\"`DestinationPortRanges`\" pulumi-lang-go=\"`destinationPortRanges`\" pulumi-lang-python=\"`destination_port_ranges`\" pulumi-lang-yaml=\"`destinationPortRanges`\" pulumi-lang-java=\"`destinationPortRanges`\"\u003e`destination_port_ranges`\u003c/span\u003e is not specified.\n"},"destinationPortRanges":{"type":"array","items":{"type":"string"},"description":"List of destination ports or port ranges. This is required if \u003cspan pulumi-lang-nodejs=\"`destinationPortRange`\" pulumi-lang-dotnet=\"`DestinationPortRange`\" pulumi-lang-go=\"`destinationPortRange`\" pulumi-lang-python=\"`destination_port_range`\" pulumi-lang-yaml=\"`destinationPortRange`\" pulumi-lang-java=\"`destinationPortRange`\"\u003e`destination_port_range`\u003c/span\u003e is not specified.\n"},"direction":{"type":"string","description":"The direction specifies if rule will be evaluated on incoming or outgoing traffic. Possible values are `Inbound` and `Outbound`.\n"},"name":{"type":"string","description":"The name of the security rule. This needs to be unique across all Rules in the Network Security Group. Changing this forces a new resource to be created.\n"},"networkSecurityGroupName":{"type":"string","description":"The name of the Network Security Group that we want to attach the rule to. Changing this forces a new resource to be created.\n"},"priority":{"type":"integer","description":"Specifies the priority of the rule. The value can be between 100 and 4096. The priority number must be unique for each rule in the collection. The lower the priority number, the higher the priority of the rule.\n"},"protocol":{"type":"string","description":"Network protocol this rule applies to. Possible values include `Tcp`, `Udp`, `Icmp`, `Esp`, `Ah` or `*` (which matches all).\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the Network Security Rule. Changing this forces a new resource to be created.\n"},"sourceAddressPrefix":{"type":"string","description":"CIDR or source IP range or * to match any IP. Tags such as `VirtualNetwork`, `AzureLoadBalancer` and `Internet` can also be used.\n"},"sourceAddressPrefixes":{"type":"array","items":{"type":"string"},"description":"List of source address prefixes. Tags may not be used.\n"},"sourceApplicationSecurityGroupIds":{"type":"string","description":"A List of source Application Security Group IDs\n\n\u003e **Note:** One of \u003cspan pulumi-lang-nodejs=\"`sourceAddressPrefix`\" pulumi-lang-dotnet=\"`SourceAddressPrefix`\" pulumi-lang-go=\"`sourceAddressPrefix`\" pulumi-lang-python=\"`source_address_prefix`\" pulumi-lang-yaml=\"`sourceAddressPrefix`\" pulumi-lang-java=\"`sourceAddressPrefix`\"\u003e`source_address_prefix`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`sourceAddressPrefixes`\" pulumi-lang-dotnet=\"`SourceAddressPrefixes`\" pulumi-lang-go=\"`sourceAddressPrefixes`\" pulumi-lang-python=\"`source_address_prefixes`\" pulumi-lang-yaml=\"`sourceAddressPrefixes`\" pulumi-lang-java=\"`sourceAddressPrefixes`\"\u003e`source_address_prefixes`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`sourceApplicationSecurityGroupIds`\" pulumi-lang-dotnet=\"`SourceApplicationSecurityGroupIds`\" pulumi-lang-go=\"`sourceApplicationSecurityGroupIds`\" pulumi-lang-python=\"`source_application_security_group_ids`\" pulumi-lang-yaml=\"`sourceApplicationSecurityGroupIds`\" pulumi-lang-java=\"`sourceApplicationSecurityGroupIds`\"\u003e`source_application_security_group_ids`\u003c/span\u003e must be specified.\n"},"sourcePortRange":{"type":"string","description":"Source Port or Range. Integer or range between \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`65535`\" pulumi-lang-dotnet=\"`65535`\" pulumi-lang-go=\"`65535`\" pulumi-lang-python=\"`65535`\" pulumi-lang-yaml=\"`65535`\" pulumi-lang-java=\"`65535`\"\u003e`65535`\u003c/span\u003e or `*` to match any. This is required if \u003cspan pulumi-lang-nodejs=\"`sourcePortRanges`\" pulumi-lang-dotnet=\"`SourcePortRanges`\" pulumi-lang-go=\"`sourcePortRanges`\" pulumi-lang-python=\"`source_port_ranges`\" pulumi-lang-yaml=\"`sourcePortRanges`\" pulumi-lang-java=\"`sourcePortRanges`\"\u003e`source_port_ranges`\u003c/span\u003e is not specified.\n"},"sourcePortRanges":{"type":"array","items":{"type":"string"},"description":"List of source ports or port ranges. This is required if \u003cspan pulumi-lang-nodejs=\"`sourcePortRange`\" pulumi-lang-dotnet=\"`SourcePortRange`\" pulumi-lang-go=\"`sourcePortRange`\" pulumi-lang-python=\"`source_port_range`\" pulumi-lang-yaml=\"`sourcePortRange`\" pulumi-lang-java=\"`sourcePortRange`\"\u003e`source_port_range`\u003c/span\u003e is not specified.\n"}},"required":["access","direction","name","networkSecurityGroupName","priority","protocol","resourceGroupName"],"inputProperties":{"access":{"type":"string","description":"Specifies whether network traffic is allowed or denied. Possible values are `Allow` and `Deny`.\n"},"description":{"type":"string","description":"A description for this rule. Restricted to 140 characters.\n"},"destinationAddressPrefix":{"type":"string","description":"CIDR or destination IP range or * to match any IP. Tags such as `VirtualNetwork`, `AzureLoadBalancer` and `Internet` can also be used. Besides, it also supports all available Service Tags like ‘Sql.WestEurope‘, ‘Storage.EastUS‘, etc. You can list the available service tags with the CLI: ```shell az network list-service-tags --location westcentralus```. For further information please see [Azure CLI - az network list-service-tags](https://docs.microsoft.com/cli/azure/network?view=azure-cli-latest#az-network-list-service-tags).\n"},"destinationAddressPrefixes":{"type":"array","items":{"type":"string"},"description":"List of destination address prefixes. Tags may not be used.\n"},"destinationApplicationSecurityGroupIds":{"type":"string","description":"A List of destination Application Security Group IDs\n\n\u003e **Note:** One of \u003cspan pulumi-lang-nodejs=\"`destinationAddressPrefix`\" pulumi-lang-dotnet=\"`DestinationAddressPrefix`\" pulumi-lang-go=\"`destinationAddressPrefix`\" pulumi-lang-python=\"`destination_address_prefix`\" pulumi-lang-yaml=\"`destinationAddressPrefix`\" pulumi-lang-java=\"`destinationAddressPrefix`\"\u003e`destination_address_prefix`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`destinationAddressPrefixes`\" pulumi-lang-dotnet=\"`DestinationAddressPrefixes`\" pulumi-lang-go=\"`destinationAddressPrefixes`\" pulumi-lang-python=\"`destination_address_prefixes`\" pulumi-lang-yaml=\"`destinationAddressPrefixes`\" pulumi-lang-java=\"`destinationAddressPrefixes`\"\u003e`destination_address_prefixes`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`destinationApplicationSecurityGroupIds`\" pulumi-lang-dotnet=\"`DestinationApplicationSecurityGroupIds`\" pulumi-lang-go=\"`destinationApplicationSecurityGroupIds`\" pulumi-lang-python=\"`destination_application_security_group_ids`\" pulumi-lang-yaml=\"`destinationApplicationSecurityGroupIds`\" pulumi-lang-java=\"`destinationApplicationSecurityGroupIds`\"\u003e`destination_application_security_group_ids`\u003c/span\u003e must be specified.\n"},"destinationPortRange":{"type":"string","description":"Destination Port or Range. Integer or range between \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`65535`\" pulumi-lang-dotnet=\"`65535`\" pulumi-lang-go=\"`65535`\" pulumi-lang-python=\"`65535`\" pulumi-lang-yaml=\"`65535`\" pulumi-lang-java=\"`65535`\"\u003e`65535`\u003c/span\u003e or `*` to match any. This is required if \u003cspan pulumi-lang-nodejs=\"`destinationPortRanges`\" pulumi-lang-dotnet=\"`DestinationPortRanges`\" pulumi-lang-go=\"`destinationPortRanges`\" pulumi-lang-python=\"`destination_port_ranges`\" pulumi-lang-yaml=\"`destinationPortRanges`\" pulumi-lang-java=\"`destinationPortRanges`\"\u003e`destination_port_ranges`\u003c/span\u003e is not specified.\n"},"destinationPortRanges":{"type":"array","items":{"type":"string"},"description":"List of destination ports or port ranges. This is required if \u003cspan pulumi-lang-nodejs=\"`destinationPortRange`\" pulumi-lang-dotnet=\"`DestinationPortRange`\" pulumi-lang-go=\"`destinationPortRange`\" pulumi-lang-python=\"`destination_port_range`\" pulumi-lang-yaml=\"`destinationPortRange`\" pulumi-lang-java=\"`destinationPortRange`\"\u003e`destination_port_range`\u003c/span\u003e is not specified.\n"},"direction":{"type":"string","description":"The direction specifies if rule will be evaluated on incoming or outgoing traffic. Possible values are `Inbound` and `Outbound`.\n"},"name":{"type":"string","description":"The name of the security rule. This needs to be unique across all Rules in the Network Security Group. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"networkSecurityGroupName":{"type":"string","description":"The name of the Network Security Group that we want to attach the rule to. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"priority":{"type":"integer","description":"Specifies the priority of the rule. The value can be between 100 and 4096. The priority number must be unique for each rule in the collection. The lower the priority number, the higher the priority of the rule.\n"},"protocol":{"type":"string","description":"Network protocol this rule applies to. Possible values include `Tcp`, `Udp`, `Icmp`, `Esp`, `Ah` or `*` (which matches all).\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the Network Security Rule. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sourceAddressPrefix":{"type":"string","description":"CIDR or source IP range or * to match any IP. Tags such as `VirtualNetwork`, `AzureLoadBalancer` and `Internet` can also be used.\n"},"sourceAddressPrefixes":{"type":"array","items":{"type":"string"},"description":"List of source address prefixes. Tags may not be used.\n"},"sourceApplicationSecurityGroupIds":{"type":"string","description":"A List of source Application Security Group IDs\n\n\u003e **Note:** One of \u003cspan pulumi-lang-nodejs=\"`sourceAddressPrefix`\" pulumi-lang-dotnet=\"`SourceAddressPrefix`\" pulumi-lang-go=\"`sourceAddressPrefix`\" pulumi-lang-python=\"`source_address_prefix`\" pulumi-lang-yaml=\"`sourceAddressPrefix`\" pulumi-lang-java=\"`sourceAddressPrefix`\"\u003e`source_address_prefix`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`sourceAddressPrefixes`\" pulumi-lang-dotnet=\"`SourceAddressPrefixes`\" pulumi-lang-go=\"`sourceAddressPrefixes`\" pulumi-lang-python=\"`source_address_prefixes`\" pulumi-lang-yaml=\"`sourceAddressPrefixes`\" pulumi-lang-java=\"`sourceAddressPrefixes`\"\u003e`source_address_prefixes`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`sourceApplicationSecurityGroupIds`\" pulumi-lang-dotnet=\"`SourceApplicationSecurityGroupIds`\" pulumi-lang-go=\"`sourceApplicationSecurityGroupIds`\" pulumi-lang-python=\"`source_application_security_group_ids`\" pulumi-lang-yaml=\"`sourceApplicationSecurityGroupIds`\" pulumi-lang-java=\"`sourceApplicationSecurityGroupIds`\"\u003e`source_application_security_group_ids`\u003c/span\u003e must be specified.\n"},"sourcePortRange":{"type":"string","description":"Source Port or Range. Integer or range between \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`65535`\" pulumi-lang-dotnet=\"`65535`\" pulumi-lang-go=\"`65535`\" pulumi-lang-python=\"`65535`\" pulumi-lang-yaml=\"`65535`\" pulumi-lang-java=\"`65535`\"\u003e`65535`\u003c/span\u003e or `*` to match any. This is required if \u003cspan pulumi-lang-nodejs=\"`sourcePortRanges`\" pulumi-lang-dotnet=\"`SourcePortRanges`\" pulumi-lang-go=\"`sourcePortRanges`\" pulumi-lang-python=\"`source_port_ranges`\" pulumi-lang-yaml=\"`sourcePortRanges`\" pulumi-lang-java=\"`sourcePortRanges`\"\u003e`source_port_ranges`\u003c/span\u003e is not specified.\n"},"sourcePortRanges":{"type":"array","items":{"type":"string"},"description":"List of source ports or port ranges. This is required if \u003cspan pulumi-lang-nodejs=\"`sourcePortRange`\" pulumi-lang-dotnet=\"`SourcePortRange`\" pulumi-lang-go=\"`sourcePortRange`\" pulumi-lang-python=\"`source_port_range`\" pulumi-lang-yaml=\"`sourcePortRange`\" pulumi-lang-java=\"`sourcePortRange`\"\u003e`source_port_range`\u003c/span\u003e is not specified.\n"}},"requiredInputs":["access","direction","networkSecurityGroupName","priority","protocol","resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering NetworkSecurityRule resources.\n","properties":{"access":{"type":"string","description":"Specifies whether network traffic is allowed or denied. Possible values are `Allow` and `Deny`.\n"},"description":{"type":"string","description":"A description for this rule. Restricted to 140 characters.\n"},"destinationAddressPrefix":{"type":"string","description":"CIDR or destination IP range or * to match any IP. Tags such as `VirtualNetwork`, `AzureLoadBalancer` and `Internet` can also be used. Besides, it also supports all available Service Tags like ‘Sql.WestEurope‘, ‘Storage.EastUS‘, etc. You can list the available service tags with the CLI: ```shell az network list-service-tags --location westcentralus```. For further information please see [Azure CLI - az network list-service-tags](https://docs.microsoft.com/cli/azure/network?view=azure-cli-latest#az-network-list-service-tags).\n"},"destinationAddressPrefixes":{"type":"array","items":{"type":"string"},"description":"List of destination address prefixes. Tags may not be used.\n"},"destinationApplicationSecurityGroupIds":{"type":"string","description":"A List of destination Application Security Group IDs\n\n\u003e **Note:** One of \u003cspan pulumi-lang-nodejs=\"`destinationAddressPrefix`\" pulumi-lang-dotnet=\"`DestinationAddressPrefix`\" pulumi-lang-go=\"`destinationAddressPrefix`\" pulumi-lang-python=\"`destination_address_prefix`\" pulumi-lang-yaml=\"`destinationAddressPrefix`\" pulumi-lang-java=\"`destinationAddressPrefix`\"\u003e`destination_address_prefix`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`destinationAddressPrefixes`\" pulumi-lang-dotnet=\"`DestinationAddressPrefixes`\" pulumi-lang-go=\"`destinationAddressPrefixes`\" pulumi-lang-python=\"`destination_address_prefixes`\" pulumi-lang-yaml=\"`destinationAddressPrefixes`\" pulumi-lang-java=\"`destinationAddressPrefixes`\"\u003e`destination_address_prefixes`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`destinationApplicationSecurityGroupIds`\" pulumi-lang-dotnet=\"`DestinationApplicationSecurityGroupIds`\" pulumi-lang-go=\"`destinationApplicationSecurityGroupIds`\" pulumi-lang-python=\"`destination_application_security_group_ids`\" pulumi-lang-yaml=\"`destinationApplicationSecurityGroupIds`\" pulumi-lang-java=\"`destinationApplicationSecurityGroupIds`\"\u003e`destination_application_security_group_ids`\u003c/span\u003e must be specified.\n"},"destinationPortRange":{"type":"string","description":"Destination Port or Range. Integer or range between \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`65535`\" pulumi-lang-dotnet=\"`65535`\" pulumi-lang-go=\"`65535`\" pulumi-lang-python=\"`65535`\" pulumi-lang-yaml=\"`65535`\" pulumi-lang-java=\"`65535`\"\u003e`65535`\u003c/span\u003e or `*` to match any. This is required if \u003cspan pulumi-lang-nodejs=\"`destinationPortRanges`\" pulumi-lang-dotnet=\"`DestinationPortRanges`\" pulumi-lang-go=\"`destinationPortRanges`\" pulumi-lang-python=\"`destination_port_ranges`\" pulumi-lang-yaml=\"`destinationPortRanges`\" pulumi-lang-java=\"`destinationPortRanges`\"\u003e`destination_port_ranges`\u003c/span\u003e is not specified.\n"},"destinationPortRanges":{"type":"array","items":{"type":"string"},"description":"List of destination ports or port ranges. This is required if \u003cspan pulumi-lang-nodejs=\"`destinationPortRange`\" pulumi-lang-dotnet=\"`DestinationPortRange`\" pulumi-lang-go=\"`destinationPortRange`\" pulumi-lang-python=\"`destination_port_range`\" pulumi-lang-yaml=\"`destinationPortRange`\" pulumi-lang-java=\"`destinationPortRange`\"\u003e`destination_port_range`\u003c/span\u003e is not specified.\n"},"direction":{"type":"string","description":"The direction specifies if rule will be evaluated on incoming or outgoing traffic. Possible values are `Inbound` and `Outbound`.\n"},"name":{"type":"string","description":"The name of the security rule. This needs to be unique across all Rules in the Network Security Group. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"networkSecurityGroupName":{"type":"string","description":"The name of the Network Security Group that we want to attach the rule to. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"priority":{"type":"integer","description":"Specifies the priority of the rule. The value can be between 100 and 4096. The priority number must be unique for each rule in the collection. The lower the priority number, the higher the priority of the rule.\n"},"protocol":{"type":"string","description":"Network protocol this rule applies to. Possible values include `Tcp`, `Udp`, `Icmp`, `Esp`, `Ah` or `*` (which matches all).\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the Network Security Rule. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sourceAddressPrefix":{"type":"string","description":"CIDR or source IP range or * to match any IP. Tags such as `VirtualNetwork`, `AzureLoadBalancer` and `Internet` can also be used.\n"},"sourceAddressPrefixes":{"type":"array","items":{"type":"string"},"description":"List of source address prefixes. Tags may not be used.\n"},"sourceApplicationSecurityGroupIds":{"type":"string","description":"A List of source Application Security Group IDs\n\n\u003e **Note:** One of \u003cspan pulumi-lang-nodejs=\"`sourceAddressPrefix`\" pulumi-lang-dotnet=\"`SourceAddressPrefix`\" pulumi-lang-go=\"`sourceAddressPrefix`\" pulumi-lang-python=\"`source_address_prefix`\" pulumi-lang-yaml=\"`sourceAddressPrefix`\" pulumi-lang-java=\"`sourceAddressPrefix`\"\u003e`source_address_prefix`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`sourceAddressPrefixes`\" pulumi-lang-dotnet=\"`SourceAddressPrefixes`\" pulumi-lang-go=\"`sourceAddressPrefixes`\" pulumi-lang-python=\"`source_address_prefixes`\" pulumi-lang-yaml=\"`sourceAddressPrefixes`\" pulumi-lang-java=\"`sourceAddressPrefixes`\"\u003e`source_address_prefixes`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`sourceApplicationSecurityGroupIds`\" pulumi-lang-dotnet=\"`SourceApplicationSecurityGroupIds`\" pulumi-lang-go=\"`sourceApplicationSecurityGroupIds`\" pulumi-lang-python=\"`source_application_security_group_ids`\" pulumi-lang-yaml=\"`sourceApplicationSecurityGroupIds`\" pulumi-lang-java=\"`sourceApplicationSecurityGroupIds`\"\u003e`source_application_security_group_ids`\u003c/span\u003e must be specified.\n"},"sourcePortRange":{"type":"string","description":"Source Port or Range. Integer or range between \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`65535`\" pulumi-lang-dotnet=\"`65535`\" pulumi-lang-go=\"`65535`\" pulumi-lang-python=\"`65535`\" pulumi-lang-yaml=\"`65535`\" pulumi-lang-java=\"`65535`\"\u003e`65535`\u003c/span\u003e or `*` to match any. This is required if \u003cspan pulumi-lang-nodejs=\"`sourcePortRanges`\" pulumi-lang-dotnet=\"`SourcePortRanges`\" pulumi-lang-go=\"`sourcePortRanges`\" pulumi-lang-python=\"`source_port_ranges`\" pulumi-lang-yaml=\"`sourcePortRanges`\" pulumi-lang-java=\"`sourcePortRanges`\"\u003e`source_port_ranges`\u003c/span\u003e is not specified.\n"},"sourcePortRanges":{"type":"array","items":{"type":"string"},"description":"List of source ports or port ranges. This is required if \u003cspan pulumi-lang-nodejs=\"`sourcePortRange`\" pulumi-lang-dotnet=\"`SourcePortRange`\" pulumi-lang-go=\"`sourcePortRange`\" pulumi-lang-python=\"`source_port_range`\" pulumi-lang-yaml=\"`sourcePortRange`\" pulumi-lang-java=\"`sourcePortRange`\"\u003e`source_port_range`\u003c/span\u003e is not specified.\n"}},"type":"object"}},"azure:network/networkWatcher:NetworkWatcher":{"description":"Manages a Network Watcher.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"production-nwwatcher\",\n    location: \"West Europe\",\n});\nconst exampleNetworkWatcher = new azure.network.NetworkWatcher(\"example\", {\n    name: \"production-nwwatcher\",\n    location: example.location,\n    resourceGroupName: example.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"production-nwwatcher\",\n    location=\"West Europe\")\nexample_network_watcher = azure.network.NetworkWatcher(\"example\",\n    name=\"production-nwwatcher\",\n    location=example.location,\n    resource_group_name=example.name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"production-nwwatcher\",\n        Location = \"West Europe\",\n    });\n\n    var exampleNetworkWatcher = new Azure.Network.NetworkWatcher(\"example\", new()\n    {\n        Name = \"production-nwwatcher\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"production-nwwatcher\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = network.NewNetworkWatcher(ctx, \"example\", \u0026network.NetworkWatcherArgs{\n\t\t\tName:              pulumi.String(\"production-nwwatcher\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.NetworkWatcher;\nimport com.pulumi.azure.network.NetworkWatcherArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"production-nwwatcher\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleNetworkWatcher = new NetworkWatcher(\"exampleNetworkWatcher\", NetworkWatcherArgs.builder()\n            .name(\"production-nwwatcher\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: production-nwwatcher\n      location: West Europe\n  exampleNetworkWatcher:\n    type: azure:network:NetworkWatcher\n    name: example\n    properties:\n      name: production-nwwatcher\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2025-01-01\n\n## Import\n\nNetwork Watchers can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:network/networkWatcher:NetworkWatcher watcher1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Network/networkWatchers/watcher1\n```\n\n","properties":{"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"The name of the Network Watcher. Changing this forces a new resource to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the Network Watcher. Changing this forces a new resource to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"required":["location","name","resourceGroupName"],"inputProperties":{"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the Network Watcher. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the Network Watcher. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"requiredInputs":["resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering NetworkWatcher resources.\n","properties":{"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the Network Watcher. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the Network Watcher. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"type":"object"}},"azure:network/networkWatcherFlowLog:NetworkWatcherFlowLog":{"description":"Manages a Network Watcher Flow Log.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`azure.network.NetworkWatcherFlowLog`\" pulumi-lang-dotnet=\"`azure.network.NetworkWatcherFlowLog`\" pulumi-lang-go=\"`network.NetworkWatcherFlowLog`\" pulumi-lang-python=\"`network.NetworkWatcherFlowLog`\" pulumi-lang-yaml=\"`azure.network.NetworkWatcherFlowLog`\" pulumi-lang-java=\"`azure.network.NetworkWatcherFlowLog`\"\u003e`azure.network.NetworkWatcherFlowLog`\u003c/span\u003e creates a new storage lifecyle management rule that overwrites existing rules. Please make sure to use a \u003cspan pulumi-lang-nodejs=\"`storageAccount`\" pulumi-lang-dotnet=\"`StorageAccount`\" pulumi-lang-go=\"`storageAccount`\" pulumi-lang-python=\"`storage_account`\" pulumi-lang-yaml=\"`storageAccount`\" pulumi-lang-java=\"`storageAccount`\"\u003e`storage_account`\u003c/span\u003e with no existing management rules, until the issue is fixed.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst test = new azure.network.NetworkSecurityGroup(\"test\", {\n    name: \"acctestnsg\",\n    location: example.location,\n    resourceGroupName: example.name,\n});\nconst testNetworkWatcher = new azure.network.NetworkWatcher(\"test\", {\n    name: \"acctestnw\",\n    location: example.location,\n    resourceGroupName: example.name,\n});\nconst testAccount = new azure.storage.Account(\"test\", {\n    name: \"acctestsa\",\n    resourceGroupName: example.name,\n    location: example.location,\n    accountTier: \"Standard\",\n    accountKind: \"StorageV2\",\n    accountReplicationType: \"LRS\",\n    httpsTrafficOnlyEnabled: true,\n});\nconst testAnalyticsWorkspace = new azure.operationalinsights.AnalyticsWorkspace(\"test\", {\n    name: \"acctestlaw\",\n    location: example.location,\n    resourceGroupName: example.name,\n    sku: \"PerGB2018\",\n});\nconst testNetworkWatcherFlowLog = new azure.network.NetworkWatcherFlowLog(\"test\", {\n    networkWatcherName: testNetworkWatcher.name,\n    resourceGroupName: example.name,\n    name: \"example-log\",\n    targetResourceId: test.id,\n    storageAccountId: testAccount.id,\n    enabled: true,\n    retentionPolicy: {\n        enabled: true,\n        days: 7,\n    },\n    trafficAnalytics: {\n        enabled: true,\n        workspaceId: testAnalyticsWorkspace.workspaceId,\n        workspaceRegion: testAnalyticsWorkspace.location,\n        workspaceResourceId: testAnalyticsWorkspace.id,\n        intervalInMinutes: 10,\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\ntest = azure.network.NetworkSecurityGroup(\"test\",\n    name=\"acctestnsg\",\n    location=example.location,\n    resource_group_name=example.name)\ntest_network_watcher = azure.network.NetworkWatcher(\"test\",\n    name=\"acctestnw\",\n    location=example.location,\n    resource_group_name=example.name)\ntest_account = azure.storage.Account(\"test\",\n    name=\"acctestsa\",\n    resource_group_name=example.name,\n    location=example.location,\n    account_tier=\"Standard\",\n    account_kind=\"StorageV2\",\n    account_replication_type=\"LRS\",\n    https_traffic_only_enabled=True)\ntest_analytics_workspace = azure.operationalinsights.AnalyticsWorkspace(\"test\",\n    name=\"acctestlaw\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku=\"PerGB2018\")\ntest_network_watcher_flow_log = azure.network.NetworkWatcherFlowLog(\"test\",\n    network_watcher_name=test_network_watcher.name,\n    resource_group_name=example.name,\n    name=\"example-log\",\n    target_resource_id=test.id,\n    storage_account_id=test_account.id,\n    enabled=True,\n    retention_policy={\n        \"enabled\": True,\n        \"days\": 7,\n    },\n    traffic_analytics={\n        \"enabled\": True,\n        \"workspace_id\": test_analytics_workspace.workspace_id,\n        \"workspace_region\": test_analytics_workspace.location,\n        \"workspace_resource_id\": test_analytics_workspace.id,\n        \"interval_in_minutes\": 10,\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var test = new Azure.Network.NetworkSecurityGroup(\"test\", new()\n    {\n        Name = \"acctestnsg\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n    });\n\n    var testNetworkWatcher = new Azure.Network.NetworkWatcher(\"test\", new()\n    {\n        Name = \"acctestnw\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n    });\n\n    var testAccount = new Azure.Storage.Account(\"test\", new()\n    {\n        Name = \"acctestsa\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        AccountTier = \"Standard\",\n        AccountKind = \"StorageV2\",\n        AccountReplicationType = \"LRS\",\n        HttpsTrafficOnlyEnabled = true,\n    });\n\n    var testAnalyticsWorkspace = new Azure.OperationalInsights.AnalyticsWorkspace(\"test\", new()\n    {\n        Name = \"acctestlaw\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Sku = \"PerGB2018\",\n    });\n\n    var testNetworkWatcherFlowLog = new Azure.Network.NetworkWatcherFlowLog(\"test\", new()\n    {\n        NetworkWatcherName = testNetworkWatcher.Name,\n        ResourceGroupName = example.Name,\n        Name = \"example-log\",\n        TargetResourceId = test.Id,\n        StorageAccountId = testAccount.Id,\n        Enabled = true,\n        RetentionPolicy = new Azure.Network.Inputs.NetworkWatcherFlowLogRetentionPolicyArgs\n        {\n            Enabled = true,\n            Days = 7,\n        },\n        TrafficAnalytics = new Azure.Network.Inputs.NetworkWatcherFlowLogTrafficAnalyticsArgs\n        {\n            Enabled = true,\n            WorkspaceId = testAnalyticsWorkspace.WorkspaceId,\n            WorkspaceRegion = testAnalyticsWorkspace.Location,\n            WorkspaceResourceId = testAnalyticsWorkspace.Id,\n            IntervalInMinutes = 10,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/operationalinsights\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttest, err := network.NewNetworkSecurityGroup(ctx, \"test\", \u0026network.NetworkSecurityGroupArgs{\n\t\t\tName:              pulumi.String(\"acctestnsg\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestNetworkWatcher, err := network.NewNetworkWatcher(ctx, \"test\", \u0026network.NetworkWatcherArgs{\n\t\t\tName:              pulumi.String(\"acctestnw\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestAccount, err := storage.NewAccount(ctx, \"test\", \u0026storage.AccountArgs{\n\t\t\tName:                    pulumi.String(\"acctestsa\"),\n\t\t\tResourceGroupName:       example.Name,\n\t\t\tLocation:                example.Location,\n\t\t\tAccountTier:             pulumi.String(\"Standard\"),\n\t\t\tAccountKind:             pulumi.String(\"StorageV2\"),\n\t\t\tAccountReplicationType:  pulumi.String(\"LRS\"),\n\t\t\tHttpsTrafficOnlyEnabled: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestAnalyticsWorkspace, err := operationalinsights.NewAnalyticsWorkspace(ctx, \"test\", \u0026operationalinsights.AnalyticsWorkspaceArgs{\n\t\t\tName:              pulumi.String(\"acctestlaw\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSku:               pulumi.String(\"PerGB2018\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = network.NewNetworkWatcherFlowLog(ctx, \"test\", \u0026network.NetworkWatcherFlowLogArgs{\n\t\t\tNetworkWatcherName: testNetworkWatcher.Name,\n\t\t\tResourceGroupName:  example.Name,\n\t\t\tName:               pulumi.String(\"example-log\"),\n\t\t\tTargetResourceId:   test.ID(),\n\t\t\tStorageAccountId:   testAccount.ID(),\n\t\t\tEnabled:            pulumi.Bool(true),\n\t\t\tRetentionPolicy: \u0026network.NetworkWatcherFlowLogRetentionPolicyArgs{\n\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\tDays:    pulumi.Int(7),\n\t\t\t},\n\t\t\tTrafficAnalytics: \u0026network.NetworkWatcherFlowLogTrafficAnalyticsArgs{\n\t\t\t\tEnabled:             pulumi.Bool(true),\n\t\t\t\tWorkspaceId:         testAnalyticsWorkspace.WorkspaceId,\n\t\t\t\tWorkspaceRegion:     testAnalyticsWorkspace.Location,\n\t\t\t\tWorkspaceResourceId: testAnalyticsWorkspace.ID(),\n\t\t\t\tIntervalInMinutes:   pulumi.Int(10),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.NetworkSecurityGroup;\nimport com.pulumi.azure.network.NetworkSecurityGroupArgs;\nimport com.pulumi.azure.network.NetworkWatcher;\nimport com.pulumi.azure.network.NetworkWatcherArgs;\nimport com.pulumi.azure.storage.Account;\nimport com.pulumi.azure.storage.AccountArgs;\nimport com.pulumi.azure.operationalinsights.AnalyticsWorkspace;\nimport com.pulumi.azure.operationalinsights.AnalyticsWorkspaceArgs;\nimport com.pulumi.azure.network.NetworkWatcherFlowLog;\nimport com.pulumi.azure.network.NetworkWatcherFlowLogArgs;\nimport com.pulumi.azure.network.inputs.NetworkWatcherFlowLogRetentionPolicyArgs;\nimport com.pulumi.azure.network.inputs.NetworkWatcherFlowLogTrafficAnalyticsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var test = new NetworkSecurityGroup(\"test\", NetworkSecurityGroupArgs.builder()\n            .name(\"acctestnsg\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .build());\n\n        var testNetworkWatcher = new NetworkWatcher(\"testNetworkWatcher\", NetworkWatcherArgs.builder()\n            .name(\"acctestnw\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .build());\n\n        var testAccount = new Account(\"testAccount\", AccountArgs.builder()\n            .name(\"acctestsa\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .accountTier(\"Standard\")\n            .accountKind(\"StorageV2\")\n            .accountReplicationType(\"LRS\")\n            .httpsTrafficOnlyEnabled(true)\n            .build());\n\n        var testAnalyticsWorkspace = new AnalyticsWorkspace(\"testAnalyticsWorkspace\", AnalyticsWorkspaceArgs.builder()\n            .name(\"acctestlaw\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .sku(\"PerGB2018\")\n            .build());\n\n        var testNetworkWatcherFlowLog = new NetworkWatcherFlowLog(\"testNetworkWatcherFlowLog\", NetworkWatcherFlowLogArgs.builder()\n            .networkWatcherName(testNetworkWatcher.name())\n            .resourceGroupName(example.name())\n            .name(\"example-log\")\n            .targetResourceId(test.id())\n            .storageAccountId(testAccount.id())\n            .enabled(true)\n            .retentionPolicy(NetworkWatcherFlowLogRetentionPolicyArgs.builder()\n                .enabled(true)\n                .days(7)\n                .build())\n            .trafficAnalytics(NetworkWatcherFlowLogTrafficAnalyticsArgs.builder()\n                .enabled(true)\n                .workspaceId(testAnalyticsWorkspace.workspaceId())\n                .workspaceRegion(testAnalyticsWorkspace.location())\n                .workspaceResourceId(testAnalyticsWorkspace.id())\n                .intervalInMinutes(10)\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  test:\n    type: azure:network:NetworkSecurityGroup\n    properties:\n      name: acctestnsg\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n  testNetworkWatcher:\n    type: azure:network:NetworkWatcher\n    name: test\n    properties:\n      name: acctestnw\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n  testAccount:\n    type: azure:storage:Account\n    name: test\n    properties:\n      name: acctestsa\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      accountTier: Standard\n      accountKind: StorageV2\n      accountReplicationType: LRS\n      httpsTrafficOnlyEnabled: true\n  testAnalyticsWorkspace:\n    type: azure:operationalinsights:AnalyticsWorkspace\n    name: test\n    properties:\n      name: acctestlaw\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      sku: PerGB2018\n  testNetworkWatcherFlowLog:\n    type: azure:network:NetworkWatcherFlowLog\n    name: test\n    properties:\n      networkWatcherName: ${testNetworkWatcher.name}\n      resourceGroupName: ${example.name}\n      name: example-log\n      targetResourceId: ${test.id}\n      storageAccountId: ${testAccount.id}\n      enabled: true\n      retentionPolicy:\n        enabled: true\n        days: 7\n      trafficAnalytics:\n        enabled: true\n        workspaceId: ${testAnalyticsWorkspace.workspaceId}\n        workspaceRegion: ${testAnalyticsWorkspace.location}\n        workspaceResourceId: ${testAnalyticsWorkspace.id}\n        intervalInMinutes: 10\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2025-01-01\n\n## Import\n\nNetwork Watcher Flow Logs can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:network/networkWatcherFlowLog:NetworkWatcherFlowLog watcher1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Network/networkWatchers/watcher1/flowLogs/log1\n```\n\n","properties":{"enabled":{"type":"boolean","description":"Should Network Flow Logging be Enabled?\n"},"location":{"type":"string","description":"The location where the Network Watcher Flow Log resides. Changing this forces a new resource to be created. Defaults to the \u003cspan pulumi-lang-nodejs=\"`location`\" pulumi-lang-dotnet=\"`Location`\" pulumi-lang-go=\"`location`\" pulumi-lang-python=\"`location`\" pulumi-lang-yaml=\"`location`\" pulumi-lang-java=\"`location`\"\u003e`location`\u003c/span\u003e of the Network Watcher.\n"},"name":{"type":"string","description":"The name of the Network Watcher Flow Log. Changing this forces a new resource to be created.\n"},"networkSecurityGroupId":{"type":"string","deprecationMessage":"The property \u003cspan pulumi-lang-nodejs=\"`networkSecurityGroupId`\" pulumi-lang-dotnet=\"`NetworkSecurityGroupId`\" pulumi-lang-go=\"`networkSecurityGroupId`\" pulumi-lang-python=\"`network_security_group_id`\" pulumi-lang-yaml=\"`networkSecurityGroupId`\" pulumi-lang-java=\"`networkSecurityGroupId`\"\u003e`network_security_group_id`\u003c/span\u003e has been superseded by \u003cspan pulumi-lang-nodejs=\"`targetResourceId`\" pulumi-lang-dotnet=\"`TargetResourceId`\" pulumi-lang-go=\"`targetResourceId`\" pulumi-lang-python=\"`target_resource_id`\" pulumi-lang-yaml=\"`targetResourceId`\" pulumi-lang-java=\"`targetResourceId`\"\u003e`target_resource_id`\u003c/span\u003e and will be removed in version 5.0 of the AzureRM Provider."},"networkWatcherName":{"type":"string","description":"The name of the Network Watcher. Changing this forces a new resource to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the Network Watcher was deployed. Changing this forces a new resource to be created.\n"},"retentionPolicy":{"$ref":"#/types/azure:network/NetworkWatcherFlowLogRetentionPolicy:NetworkWatcherFlowLogRetentionPolicy","description":"A \u003cspan pulumi-lang-nodejs=\"`retentionPolicy`\" pulumi-lang-dotnet=\"`RetentionPolicy`\" pulumi-lang-go=\"`retentionPolicy`\" pulumi-lang-python=\"`retention_policy`\" pulumi-lang-yaml=\"`retentionPolicy`\" pulumi-lang-java=\"`retentionPolicy`\"\u003e`retention_policy`\u003c/span\u003e block as documented below.\n"},"storageAccountId":{"type":"string","description":"The ID of the Storage Account where flow logs are stored.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Network Watcher Flow Log.\n"},"targetResourceId":{"type":"string","description":"The ID of the Resource for which to enable flow logs for.\n\n\u003e **Note:** As of July 30, 2025, it is no longer possible to create new flow logs for Network Security Groups.\n"},"trafficAnalytics":{"$ref":"#/types/azure:network/NetworkWatcherFlowLogTrafficAnalytics:NetworkWatcherFlowLogTrafficAnalytics","description":"A \u003cspan pulumi-lang-nodejs=\"`trafficAnalytics`\" pulumi-lang-dotnet=\"`TrafficAnalytics`\" pulumi-lang-go=\"`trafficAnalytics`\" pulumi-lang-python=\"`traffic_analytics`\" pulumi-lang-yaml=\"`trafficAnalytics`\" pulumi-lang-java=\"`trafficAnalytics`\"\u003e`traffic_analytics`\u003c/span\u003e block as documented below.\n"},"version":{"type":"integer","description":"The version (revision) of the flow log. Possible values are \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e.\n"}},"required":["enabled","location","name","networkSecurityGroupId","networkWatcherName","resourceGroupName","retentionPolicy","storageAccountId","targetResourceId"],"inputProperties":{"enabled":{"type":"boolean","description":"Should Network Flow Logging be Enabled?\n"},"location":{"type":"string","description":"The location where the Network Watcher Flow Log resides. Changing this forces a new resource to be created. Defaults to the \u003cspan pulumi-lang-nodejs=\"`location`\" pulumi-lang-dotnet=\"`Location`\" pulumi-lang-go=\"`location`\" pulumi-lang-python=\"`location`\" pulumi-lang-yaml=\"`location`\" pulumi-lang-java=\"`location`\"\u003e`location`\u003c/span\u003e of the Network Watcher.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the Network Watcher Flow Log. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"networkSecurityGroupId":{"type":"string","deprecationMessage":"The property \u003cspan pulumi-lang-nodejs=\"`networkSecurityGroupId`\" pulumi-lang-dotnet=\"`NetworkSecurityGroupId`\" pulumi-lang-go=\"`networkSecurityGroupId`\" pulumi-lang-python=\"`network_security_group_id`\" pulumi-lang-yaml=\"`networkSecurityGroupId`\" pulumi-lang-java=\"`networkSecurityGroupId`\"\u003e`network_security_group_id`\u003c/span\u003e has been superseded by \u003cspan pulumi-lang-nodejs=\"`targetResourceId`\" pulumi-lang-dotnet=\"`TargetResourceId`\" pulumi-lang-go=\"`targetResourceId`\" pulumi-lang-python=\"`target_resource_id`\" pulumi-lang-yaml=\"`targetResourceId`\" pulumi-lang-java=\"`targetResourceId`\"\u003e`target_resource_id`\u003c/span\u003e and will be removed in version 5.0 of the AzureRM Provider."},"networkWatcherName":{"type":"string","description":"The name of the Network Watcher. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the Network Watcher was deployed. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"retentionPolicy":{"$ref":"#/types/azure:network/NetworkWatcherFlowLogRetentionPolicy:NetworkWatcherFlowLogRetentionPolicy","description":"A \u003cspan pulumi-lang-nodejs=\"`retentionPolicy`\" pulumi-lang-dotnet=\"`RetentionPolicy`\" pulumi-lang-go=\"`retentionPolicy`\" pulumi-lang-python=\"`retention_policy`\" pulumi-lang-yaml=\"`retentionPolicy`\" pulumi-lang-java=\"`retentionPolicy`\"\u003e`retention_policy`\u003c/span\u003e block as documented below.\n"},"storageAccountId":{"type":"string","description":"The ID of the Storage Account where flow logs are stored.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Network Watcher Flow Log.\n"},"targetResourceId":{"type":"string","description":"The ID of the Resource for which to enable flow logs for.\n\n\u003e **Note:** As of July 30, 2025, it is no longer possible to create new flow logs for Network Security Groups.\n"},"trafficAnalytics":{"$ref":"#/types/azure:network/NetworkWatcherFlowLogTrafficAnalytics:NetworkWatcherFlowLogTrafficAnalytics","description":"A \u003cspan pulumi-lang-nodejs=\"`trafficAnalytics`\" pulumi-lang-dotnet=\"`TrafficAnalytics`\" pulumi-lang-go=\"`trafficAnalytics`\" pulumi-lang-python=\"`traffic_analytics`\" pulumi-lang-yaml=\"`trafficAnalytics`\" pulumi-lang-java=\"`trafficAnalytics`\"\u003e`traffic_analytics`\u003c/span\u003e block as documented below.\n"},"version":{"type":"integer","description":"The version (revision) of the flow log. Possible values are \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e.\n"}},"requiredInputs":["enabled","networkWatcherName","resourceGroupName","retentionPolicy","storageAccountId"],"stateInputs":{"description":"Input properties used for looking up and filtering NetworkWatcherFlowLog resources.\n","properties":{"enabled":{"type":"boolean","description":"Should Network Flow Logging be Enabled?\n"},"location":{"type":"string","description":"The location where the Network Watcher Flow Log resides. Changing this forces a new resource to be created. Defaults to the \u003cspan pulumi-lang-nodejs=\"`location`\" pulumi-lang-dotnet=\"`Location`\" pulumi-lang-go=\"`location`\" pulumi-lang-python=\"`location`\" pulumi-lang-yaml=\"`location`\" pulumi-lang-java=\"`location`\"\u003e`location`\u003c/span\u003e of the Network Watcher.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the Network Watcher Flow Log. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"networkSecurityGroupId":{"type":"string","deprecationMessage":"The property \u003cspan pulumi-lang-nodejs=\"`networkSecurityGroupId`\" pulumi-lang-dotnet=\"`NetworkSecurityGroupId`\" pulumi-lang-go=\"`networkSecurityGroupId`\" pulumi-lang-python=\"`network_security_group_id`\" pulumi-lang-yaml=\"`networkSecurityGroupId`\" pulumi-lang-java=\"`networkSecurityGroupId`\"\u003e`network_security_group_id`\u003c/span\u003e has been superseded by \u003cspan pulumi-lang-nodejs=\"`targetResourceId`\" pulumi-lang-dotnet=\"`TargetResourceId`\" pulumi-lang-go=\"`targetResourceId`\" pulumi-lang-python=\"`target_resource_id`\" pulumi-lang-yaml=\"`targetResourceId`\" pulumi-lang-java=\"`targetResourceId`\"\u003e`target_resource_id`\u003c/span\u003e and will be removed in version 5.0 of the AzureRM Provider."},"networkWatcherName":{"type":"string","description":"The name of the Network Watcher. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the Network Watcher was deployed. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"retentionPolicy":{"$ref":"#/types/azure:network/NetworkWatcherFlowLogRetentionPolicy:NetworkWatcherFlowLogRetentionPolicy","description":"A \u003cspan pulumi-lang-nodejs=\"`retentionPolicy`\" pulumi-lang-dotnet=\"`RetentionPolicy`\" pulumi-lang-go=\"`retentionPolicy`\" pulumi-lang-python=\"`retention_policy`\" pulumi-lang-yaml=\"`retentionPolicy`\" pulumi-lang-java=\"`retentionPolicy`\"\u003e`retention_policy`\u003c/span\u003e block as documented below.\n"},"storageAccountId":{"type":"string","description":"The ID of the Storage Account where flow logs are stored.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Network Watcher Flow Log.\n"},"targetResourceId":{"type":"string","description":"The ID of the Resource for which to enable flow logs for.\n\n\u003e **Note:** As of July 30, 2025, it is no longer possible to create new flow logs for Network Security Groups.\n"},"trafficAnalytics":{"$ref":"#/types/azure:network/NetworkWatcherFlowLogTrafficAnalytics:NetworkWatcherFlowLogTrafficAnalytics","description":"A \u003cspan pulumi-lang-nodejs=\"`trafficAnalytics`\" pulumi-lang-dotnet=\"`TrafficAnalytics`\" pulumi-lang-go=\"`trafficAnalytics`\" pulumi-lang-python=\"`traffic_analytics`\" pulumi-lang-yaml=\"`trafficAnalytics`\" pulumi-lang-java=\"`trafficAnalytics`\"\u003e`traffic_analytics`\u003c/span\u003e block as documented below.\n"},"version":{"type":"integer","description":"The version (revision) of the flow log. Possible values are \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e.\n"}},"type":"object"}},"azure:network/pointToPointVpnGateway:PointToPointVpnGateway":{"description":"Manages a Point-to-Site VPN Gateway.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleVirtualWan = new azure.network.VirtualWan(\"example\", {\n    name: \"example-virtualwan\",\n    resourceGroupName: example.name,\n    location: example.location,\n});\nconst exampleVirtualHub = new azure.network.VirtualHub(\"example\", {\n    name: \"example-virtualhub\",\n    resourceGroupName: example.name,\n    location: example.location,\n    virtualWanId: exampleVirtualWan.id,\n    addressPrefix: \"10.0.0.0/23\",\n});\nconst exampleVpnServerConfiguration = new azure.network.VpnServerConfiguration(\"example\", {\n    name: \"example-config\",\n    resourceGroupName: example.name,\n    location: example.location,\n    vpnAuthenticationTypes: [\"Certificate\"],\n    clientRootCertificates: [{\n        name: \"DigiCert-Federated-ID-Root-CA\",\n        publicCertData: `MIIDuzCCAqOgAwIBAgIQCHTZWCM+IlfFIRXIvyKSrjANBgkqhkiG9w0BAQsFADBn\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\nd3cuZGlnaWNlcnQuY29tMSYwJAYDVQQDEx1EaWdpQ2VydCBGZWRlcmF0ZWQgSUQg\nUm9vdCBDQTAeFw0xMzAxMTUxMjAwMDBaFw0zMzAxMTUxMjAwMDBaMGcxCzAJBgNV\nBAYTAlVTMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdp\nY2VydC5jb20xJjAkBgNVBAMTHURpZ2lDZXJ0IEZlZGVyYXRlZCBJRCBSb290IENB\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvAEB4pcCqnNNOWE6Ur5j\nQPUH+1y1F9KdHTRSza6k5iDlXq1kGS1qAkuKtw9JsiNRrjltmFnzMZRBbX8Tlfl8\nzAhBmb6dDduDGED01kBsTkgywYPxXVTKec0WxYEEF0oMn4wSYNl0lt2eJAKHXjNf\nGTwiibdP8CUR2ghSM2sUTI8Nt1Omfc4SMHhGhYD64uJMbX98THQ/4LMGuYegou+d\nGTiahfHtjn7AboSEknwAMJHCh5RlYZZ6B1O4QbKJ+34Q0eKgnI3X6Vc9u0zf6DH8\nDk+4zQDYRRTqTnVO3VT8jzqDlCRuNtq6YvryOWN74/dq8LQhUnXHvFyrsdMaE1X2\nDwIDAQABo2MwYTAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBhjAdBgNV\nHQ4EFgQUGRdkFnbGt1EWjKwbUne+5OaZvRYwHwYDVR0jBBgwFoAUGRdkFnbGt1EW\njKwbUne+5OaZvRYwDQYJKoZIhvcNAQELBQADggEBAHcqsHkrjpESqfuVTRiptJfP\n9JbdtWqRTmOf6uJi2c8YVqI6XlKXsD8C1dUUaaHKLUJzvKiazibVuBwMIT84AyqR\nQELn3e0BtgEymEygMU569b01ZPxoFSnNXc7qDZBDef8WfqAV/sxkTi8L9BkmFYfL\nuGLOhRJOFprPdoDIUBB+tmCl3oDcBy3vnUeOEioz8zAkprcb3GHwHAK+vHmmfgcn\nWsfMLH4JCLa/tRYL+Rw/N3ybCkDp00s0WUZ+AoDywSl0Q/ZEnNY0MsFiw6LyIdbq\nM/s/1JRtO3bDSzD9TazRVzn2oBqzSa8VgIo5C1nOnoAKJTlsClJKvIhnRlaLQqk=\n`,\n    }],\n});\nconst examplePointToPointVpnGateway = new azure.network.PointToPointVpnGateway(\"example\", {\n    name: \"example-vpn-gateway\",\n    location: example.location,\n    resourceGroupName: example.name,\n    virtualHubId: exampleVirtualHub.id,\n    vpnServerConfigurationId: exampleVpnServerConfiguration.id,\n    scaleUnit: 1,\n    connectionConfigurations: [{\n        name: \"example-gateway-config\",\n        vpnClientAddressPool: {\n            addressPrefixes: [\"10.0.2.0/24\"],\n        },\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_virtual_wan = azure.network.VirtualWan(\"example\",\n    name=\"example-virtualwan\",\n    resource_group_name=example.name,\n    location=example.location)\nexample_virtual_hub = azure.network.VirtualHub(\"example\",\n    name=\"example-virtualhub\",\n    resource_group_name=example.name,\n    location=example.location,\n    virtual_wan_id=example_virtual_wan.id,\n    address_prefix=\"10.0.0.0/23\")\nexample_vpn_server_configuration = azure.network.VpnServerConfiguration(\"example\",\n    name=\"example-config\",\n    resource_group_name=example.name,\n    location=example.location,\n    vpn_authentication_types=[\"Certificate\"],\n    client_root_certificates=[{\n        \"name\": \"DigiCert-Federated-ID-Root-CA\",\n        \"public_cert_data\": \"\"\"MIIDuzCCAqOgAwIBAgIQCHTZWCM+IlfFIRXIvyKSrjANBgkqhkiG9w0BAQsFADBn\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\nd3cuZGlnaWNlcnQuY29tMSYwJAYDVQQDEx1EaWdpQ2VydCBGZWRlcmF0ZWQgSUQg\nUm9vdCBDQTAeFw0xMzAxMTUxMjAwMDBaFw0zMzAxMTUxMjAwMDBaMGcxCzAJBgNV\nBAYTAlVTMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdp\nY2VydC5jb20xJjAkBgNVBAMTHURpZ2lDZXJ0IEZlZGVyYXRlZCBJRCBSb290IENB\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvAEB4pcCqnNNOWE6Ur5j\nQPUH+1y1F9KdHTRSza6k5iDlXq1kGS1qAkuKtw9JsiNRrjltmFnzMZRBbX8Tlfl8\nzAhBmb6dDduDGED01kBsTkgywYPxXVTKec0WxYEEF0oMn4wSYNl0lt2eJAKHXjNf\nGTwiibdP8CUR2ghSM2sUTI8Nt1Omfc4SMHhGhYD64uJMbX98THQ/4LMGuYegou+d\nGTiahfHtjn7AboSEknwAMJHCh5RlYZZ6B1O4QbKJ+34Q0eKgnI3X6Vc9u0zf6DH8\nDk+4zQDYRRTqTnVO3VT8jzqDlCRuNtq6YvryOWN74/dq8LQhUnXHvFyrsdMaE1X2\nDwIDAQABo2MwYTAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBhjAdBgNV\nHQ4EFgQUGRdkFnbGt1EWjKwbUne+5OaZvRYwHwYDVR0jBBgwFoAUGRdkFnbGt1EW\njKwbUne+5OaZvRYwDQYJKoZIhvcNAQELBQADggEBAHcqsHkrjpESqfuVTRiptJfP\n9JbdtWqRTmOf6uJi2c8YVqI6XlKXsD8C1dUUaaHKLUJzvKiazibVuBwMIT84AyqR\nQELn3e0BtgEymEygMU569b01ZPxoFSnNXc7qDZBDef8WfqAV/sxkTi8L9BkmFYfL\nuGLOhRJOFprPdoDIUBB+tmCl3oDcBy3vnUeOEioz8zAkprcb3GHwHAK+vHmmfgcn\nWsfMLH4JCLa/tRYL+Rw/N3ybCkDp00s0WUZ+AoDywSl0Q/ZEnNY0MsFiw6LyIdbq\nM/s/1JRtO3bDSzD9TazRVzn2oBqzSa8VgIo5C1nOnoAKJTlsClJKvIhnRlaLQqk=\n\"\"\",\n    }])\nexample_point_to_point_vpn_gateway = azure.network.PointToPointVpnGateway(\"example\",\n    name=\"example-vpn-gateway\",\n    location=example.location,\n    resource_group_name=example.name,\n    virtual_hub_id=example_virtual_hub.id,\n    vpn_server_configuration_id=example_vpn_server_configuration.id,\n    scale_unit=1,\n    connection_configurations=[{\n        \"name\": \"example-gateway-config\",\n        \"vpn_client_address_pool\": {\n            \"address_prefixes\": [\"10.0.2.0/24\"],\n        },\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleVirtualWan = new Azure.Network.VirtualWan(\"example\", new()\n    {\n        Name = \"example-virtualwan\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n    });\n\n    var exampleVirtualHub = new Azure.Network.VirtualHub(\"example\", new()\n    {\n        Name = \"example-virtualhub\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        VirtualWanId = exampleVirtualWan.Id,\n        AddressPrefix = \"10.0.0.0/23\",\n    });\n\n    var exampleVpnServerConfiguration = new Azure.Network.VpnServerConfiguration(\"example\", new()\n    {\n        Name = \"example-config\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        VpnAuthenticationTypes = new[]\n        {\n            \"Certificate\",\n        },\n        ClientRootCertificates = new[]\n        {\n            new Azure.Network.Inputs.VpnServerConfigurationClientRootCertificateArgs\n            {\n                Name = \"DigiCert-Federated-ID-Root-CA\",\n                PublicCertData = @\"MIIDuzCCAqOgAwIBAgIQCHTZWCM+IlfFIRXIvyKSrjANBgkqhkiG9w0BAQsFADBn\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\nd3cuZGlnaWNlcnQuY29tMSYwJAYDVQQDEx1EaWdpQ2VydCBGZWRlcmF0ZWQgSUQg\nUm9vdCBDQTAeFw0xMzAxMTUxMjAwMDBaFw0zMzAxMTUxMjAwMDBaMGcxCzAJBgNV\nBAYTAlVTMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdp\nY2VydC5jb20xJjAkBgNVBAMTHURpZ2lDZXJ0IEZlZGVyYXRlZCBJRCBSb290IENB\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvAEB4pcCqnNNOWE6Ur5j\nQPUH+1y1F9KdHTRSza6k5iDlXq1kGS1qAkuKtw9JsiNRrjltmFnzMZRBbX8Tlfl8\nzAhBmb6dDduDGED01kBsTkgywYPxXVTKec0WxYEEF0oMn4wSYNl0lt2eJAKHXjNf\nGTwiibdP8CUR2ghSM2sUTI8Nt1Omfc4SMHhGhYD64uJMbX98THQ/4LMGuYegou+d\nGTiahfHtjn7AboSEknwAMJHCh5RlYZZ6B1O4QbKJ+34Q0eKgnI3X6Vc9u0zf6DH8\nDk+4zQDYRRTqTnVO3VT8jzqDlCRuNtq6YvryOWN74/dq8LQhUnXHvFyrsdMaE1X2\nDwIDAQABo2MwYTAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBhjAdBgNV\nHQ4EFgQUGRdkFnbGt1EWjKwbUne+5OaZvRYwHwYDVR0jBBgwFoAUGRdkFnbGt1EW\njKwbUne+5OaZvRYwDQYJKoZIhvcNAQELBQADggEBAHcqsHkrjpESqfuVTRiptJfP\n9JbdtWqRTmOf6uJi2c8YVqI6XlKXsD8C1dUUaaHKLUJzvKiazibVuBwMIT84AyqR\nQELn3e0BtgEymEygMU569b01ZPxoFSnNXc7qDZBDef8WfqAV/sxkTi8L9BkmFYfL\nuGLOhRJOFprPdoDIUBB+tmCl3oDcBy3vnUeOEioz8zAkprcb3GHwHAK+vHmmfgcn\nWsfMLH4JCLa/tRYL+Rw/N3ybCkDp00s0WUZ+AoDywSl0Q/ZEnNY0MsFiw6LyIdbq\nM/s/1JRtO3bDSzD9TazRVzn2oBqzSa8VgIo5C1nOnoAKJTlsClJKvIhnRlaLQqk=\n\",\n            },\n        },\n    });\n\n    var examplePointToPointVpnGateway = new Azure.Network.PointToPointVpnGateway(\"example\", new()\n    {\n        Name = \"example-vpn-gateway\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        VirtualHubId = exampleVirtualHub.Id,\n        VpnServerConfigurationId = exampleVpnServerConfiguration.Id,\n        ScaleUnit = 1,\n        ConnectionConfigurations = new[]\n        {\n            new Azure.Network.Inputs.PointToPointVpnGatewayConnectionConfigurationArgs\n            {\n                Name = \"example-gateway-config\",\n                VpnClientAddressPool = new Azure.Network.Inputs.PointToPointVpnGatewayConnectionConfigurationVpnClientAddressPoolArgs\n                {\n                    AddressPrefixes = new[]\n                    {\n                        \"10.0.2.0/24\",\n                    },\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualWan, err := network.NewVirtualWan(ctx, \"example\", \u0026network.VirtualWanArgs{\n\t\t\tName:              pulumi.String(\"example-virtualwan\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualHub, err := network.NewVirtualHub(ctx, \"example\", \u0026network.VirtualHubArgs{\n\t\t\tName:              pulumi.String(\"example-virtualhub\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tVirtualWanId:      exampleVirtualWan.ID(),\n\t\t\tAddressPrefix:     pulumi.String(\"10.0.0.0/23\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVpnServerConfiguration, err := network.NewVpnServerConfiguration(ctx, \"example\", \u0026network.VpnServerConfigurationArgs{\n\t\t\tName:              pulumi.String(\"example-config\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tVpnAuthenticationTypes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"Certificate\"),\n\t\t\t},\n\t\t\tClientRootCertificates: network.VpnServerConfigurationClientRootCertificateArray{\n\t\t\t\t\u0026network.VpnServerConfigurationClientRootCertificateArgs{\n\t\t\t\t\tName: pulumi.String(\"DigiCert-Federated-ID-Root-CA\"),\n\t\t\t\t\tPublicCertData: pulumi.String(`MIIDuzCCAqOgAwIBAgIQCHTZWCM+IlfFIRXIvyKSrjANBgkqhkiG9w0BAQsFADBn\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\nd3cuZGlnaWNlcnQuY29tMSYwJAYDVQQDEx1EaWdpQ2VydCBGZWRlcmF0ZWQgSUQg\nUm9vdCBDQTAeFw0xMzAxMTUxMjAwMDBaFw0zMzAxMTUxMjAwMDBaMGcxCzAJBgNV\nBAYTAlVTMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdp\nY2VydC5jb20xJjAkBgNVBAMTHURpZ2lDZXJ0IEZlZGVyYXRlZCBJRCBSb290IENB\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvAEB4pcCqnNNOWE6Ur5j\nQPUH+1y1F9KdHTRSza6k5iDlXq1kGS1qAkuKtw9JsiNRrjltmFnzMZRBbX8Tlfl8\nzAhBmb6dDduDGED01kBsTkgywYPxXVTKec0WxYEEF0oMn4wSYNl0lt2eJAKHXjNf\nGTwiibdP8CUR2ghSM2sUTI8Nt1Omfc4SMHhGhYD64uJMbX98THQ/4LMGuYegou+d\nGTiahfHtjn7AboSEknwAMJHCh5RlYZZ6B1O4QbKJ+34Q0eKgnI3X6Vc9u0zf6DH8\nDk+4zQDYRRTqTnVO3VT8jzqDlCRuNtq6YvryOWN74/dq8LQhUnXHvFyrsdMaE1X2\nDwIDAQABo2MwYTAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBhjAdBgNV\nHQ4EFgQUGRdkFnbGt1EWjKwbUne+5OaZvRYwHwYDVR0jBBgwFoAUGRdkFnbGt1EW\njKwbUne+5OaZvRYwDQYJKoZIhvcNAQELBQADggEBAHcqsHkrjpESqfuVTRiptJfP\n9JbdtWqRTmOf6uJi2c8YVqI6XlKXsD8C1dUUaaHKLUJzvKiazibVuBwMIT84AyqR\nQELn3e0BtgEymEygMU569b01ZPxoFSnNXc7qDZBDef8WfqAV/sxkTi8L9BkmFYfL\nuGLOhRJOFprPdoDIUBB+tmCl3oDcBy3vnUeOEioz8zAkprcb3GHwHAK+vHmmfgcn\nWsfMLH4JCLa/tRYL+Rw/N3ybCkDp00s0WUZ+AoDywSl0Q/ZEnNY0MsFiw6LyIdbq\nM/s/1JRtO3bDSzD9TazRVzn2oBqzSa8VgIo5C1nOnoAKJTlsClJKvIhnRlaLQqk=\n`),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = network.NewPointToPointVpnGateway(ctx, \"example\", \u0026network.PointToPointVpnGatewayArgs{\n\t\t\tName:                     pulumi.String(\"example-vpn-gateway\"),\n\t\t\tLocation:                 example.Location,\n\t\t\tResourceGroupName:        example.Name,\n\t\t\tVirtualHubId:             exampleVirtualHub.ID(),\n\t\t\tVpnServerConfigurationId: exampleVpnServerConfiguration.ID(),\n\t\t\tScaleUnit:                pulumi.Int(1),\n\t\t\tConnectionConfigurations: network.PointToPointVpnGatewayConnectionConfigurationArray{\n\t\t\t\t\u0026network.PointToPointVpnGatewayConnectionConfigurationArgs{\n\t\t\t\t\tName: pulumi.String(\"example-gateway-config\"),\n\t\t\t\t\tVpnClientAddressPool: \u0026network.PointToPointVpnGatewayConnectionConfigurationVpnClientAddressPoolArgs{\n\t\t\t\t\t\tAddressPrefixes: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"10.0.2.0/24\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.VirtualWan;\nimport com.pulumi.azure.network.VirtualWanArgs;\nimport com.pulumi.azure.network.VirtualHub;\nimport com.pulumi.azure.network.VirtualHubArgs;\nimport com.pulumi.azure.network.VpnServerConfiguration;\nimport com.pulumi.azure.network.VpnServerConfigurationArgs;\nimport com.pulumi.azure.network.inputs.VpnServerConfigurationClientRootCertificateArgs;\nimport com.pulumi.azure.network.PointToPointVpnGateway;\nimport com.pulumi.azure.network.PointToPointVpnGatewayArgs;\nimport com.pulumi.azure.network.inputs.PointToPointVpnGatewayConnectionConfigurationArgs;\nimport com.pulumi.azure.network.inputs.PointToPointVpnGatewayConnectionConfigurationVpnClientAddressPoolArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleVirtualWan = new VirtualWan(\"exampleVirtualWan\", VirtualWanArgs.builder()\n            .name(\"example-virtualwan\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .build());\n\n        var exampleVirtualHub = new VirtualHub(\"exampleVirtualHub\", VirtualHubArgs.builder()\n            .name(\"example-virtualhub\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .virtualWanId(exampleVirtualWan.id())\n            .addressPrefix(\"10.0.0.0/23\")\n            .build());\n\n        var exampleVpnServerConfiguration = new VpnServerConfiguration(\"exampleVpnServerConfiguration\", VpnServerConfigurationArgs.builder()\n            .name(\"example-config\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .vpnAuthenticationTypes(\"Certificate\")\n            .clientRootCertificates(VpnServerConfigurationClientRootCertificateArgs.builder()\n                .name(\"DigiCert-Federated-ID-Root-CA\")\n                .publicCertData(\"\"\"\nMIIDuzCCAqOgAwIBAgIQCHTZWCM+IlfFIRXIvyKSrjANBgkqhkiG9w0BAQsFADBn\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\nd3cuZGlnaWNlcnQuY29tMSYwJAYDVQQDEx1EaWdpQ2VydCBGZWRlcmF0ZWQgSUQg\nUm9vdCBDQTAeFw0xMzAxMTUxMjAwMDBaFw0zMzAxMTUxMjAwMDBaMGcxCzAJBgNV\nBAYTAlVTMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdp\nY2VydC5jb20xJjAkBgNVBAMTHURpZ2lDZXJ0IEZlZGVyYXRlZCBJRCBSb290IENB\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvAEB4pcCqnNNOWE6Ur5j\nQPUH+1y1F9KdHTRSza6k5iDlXq1kGS1qAkuKtw9JsiNRrjltmFnzMZRBbX8Tlfl8\nzAhBmb6dDduDGED01kBsTkgywYPxXVTKec0WxYEEF0oMn4wSYNl0lt2eJAKHXjNf\nGTwiibdP8CUR2ghSM2sUTI8Nt1Omfc4SMHhGhYD64uJMbX98THQ/4LMGuYegou+d\nGTiahfHtjn7AboSEknwAMJHCh5RlYZZ6B1O4QbKJ+34Q0eKgnI3X6Vc9u0zf6DH8\nDk+4zQDYRRTqTnVO3VT8jzqDlCRuNtq6YvryOWN74/dq8LQhUnXHvFyrsdMaE1X2\nDwIDAQABo2MwYTAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBhjAdBgNV\nHQ4EFgQUGRdkFnbGt1EWjKwbUne+5OaZvRYwHwYDVR0jBBgwFoAUGRdkFnbGt1EW\njKwbUne+5OaZvRYwDQYJKoZIhvcNAQELBQADggEBAHcqsHkrjpESqfuVTRiptJfP\n9JbdtWqRTmOf6uJi2c8YVqI6XlKXsD8C1dUUaaHKLUJzvKiazibVuBwMIT84AyqR\nQELn3e0BtgEymEygMU569b01ZPxoFSnNXc7qDZBDef8WfqAV/sxkTi8L9BkmFYfL\nuGLOhRJOFprPdoDIUBB+tmCl3oDcBy3vnUeOEioz8zAkprcb3GHwHAK+vHmmfgcn\nWsfMLH4JCLa/tRYL+Rw/N3ybCkDp00s0WUZ+AoDywSl0Q/ZEnNY0MsFiw6LyIdbq\nM/s/1JRtO3bDSzD9TazRVzn2oBqzSa8VgIo5C1nOnoAKJTlsClJKvIhnRlaLQqk=\n                \"\"\")\n                .build())\n            .build());\n\n        var examplePointToPointVpnGateway = new PointToPointVpnGateway(\"examplePointToPointVpnGateway\", PointToPointVpnGatewayArgs.builder()\n            .name(\"example-vpn-gateway\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .virtualHubId(exampleVirtualHub.id())\n            .vpnServerConfigurationId(exampleVpnServerConfiguration.id())\n            .scaleUnit(1)\n            .connectionConfigurations(PointToPointVpnGatewayConnectionConfigurationArgs.builder()\n                .name(\"example-gateway-config\")\n                .vpnClientAddressPool(PointToPointVpnGatewayConnectionConfigurationVpnClientAddressPoolArgs.builder()\n                    .addressPrefixes(\"10.0.2.0/24\")\n                    .build())\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleVirtualWan:\n    type: azure:network:VirtualWan\n    name: example\n    properties:\n      name: example-virtualwan\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n  exampleVirtualHub:\n    type: azure:network:VirtualHub\n    name: example\n    properties:\n      name: example-virtualhub\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      virtualWanId: ${exampleVirtualWan.id}\n      addressPrefix: 10.0.0.0/23\n  exampleVpnServerConfiguration:\n    type: azure:network:VpnServerConfiguration\n    name: example\n    properties:\n      name: example-config\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      vpnAuthenticationTypes:\n        - Certificate\n      clientRootCertificates:\n        - name: DigiCert-Federated-ID-Root-CA\n          publicCertData: |\n            MIIDuzCCAqOgAwIBAgIQCHTZWCM+IlfFIRXIvyKSrjANBgkqhkiG9w0BAQsFADBn\n            MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\n            d3cuZGlnaWNlcnQuY29tMSYwJAYDVQQDEx1EaWdpQ2VydCBGZWRlcmF0ZWQgSUQg\n            Um9vdCBDQTAeFw0xMzAxMTUxMjAwMDBaFw0zMzAxMTUxMjAwMDBaMGcxCzAJBgNV\n            BAYTAlVTMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdp\n            Y2VydC5jb20xJjAkBgNVBAMTHURpZ2lDZXJ0IEZlZGVyYXRlZCBJRCBSb290IENB\n            MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvAEB4pcCqnNNOWE6Ur5j\n            QPUH+1y1F9KdHTRSza6k5iDlXq1kGS1qAkuKtw9JsiNRrjltmFnzMZRBbX8Tlfl8\n            zAhBmb6dDduDGED01kBsTkgywYPxXVTKec0WxYEEF0oMn4wSYNl0lt2eJAKHXjNf\n            GTwiibdP8CUR2ghSM2sUTI8Nt1Omfc4SMHhGhYD64uJMbX98THQ/4LMGuYegou+d\n            GTiahfHtjn7AboSEknwAMJHCh5RlYZZ6B1O4QbKJ+34Q0eKgnI3X6Vc9u0zf6DH8\n            Dk+4zQDYRRTqTnVO3VT8jzqDlCRuNtq6YvryOWN74/dq8LQhUnXHvFyrsdMaE1X2\n            DwIDAQABo2MwYTAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBhjAdBgNV\n            HQ4EFgQUGRdkFnbGt1EWjKwbUne+5OaZvRYwHwYDVR0jBBgwFoAUGRdkFnbGt1EW\n            jKwbUne+5OaZvRYwDQYJKoZIhvcNAQELBQADggEBAHcqsHkrjpESqfuVTRiptJfP\n            9JbdtWqRTmOf6uJi2c8YVqI6XlKXsD8C1dUUaaHKLUJzvKiazibVuBwMIT84AyqR\n            QELn3e0BtgEymEygMU569b01ZPxoFSnNXc7qDZBDef8WfqAV/sxkTi8L9BkmFYfL\n            uGLOhRJOFprPdoDIUBB+tmCl3oDcBy3vnUeOEioz8zAkprcb3GHwHAK+vHmmfgcn\n            WsfMLH4JCLa/tRYL+Rw/N3ybCkDp00s0WUZ+AoDywSl0Q/ZEnNY0MsFiw6LyIdbq\n            M/s/1JRtO3bDSzD9TazRVzn2oBqzSa8VgIo5C1nOnoAKJTlsClJKvIhnRlaLQqk=\n  examplePointToPointVpnGateway:\n    type: azure:network:PointToPointVpnGateway\n    name: example\n    properties:\n      name: example-vpn-gateway\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      virtualHubId: ${exampleVirtualHub.id}\n      vpnServerConfigurationId: ${exampleVpnServerConfiguration.id}\n      scaleUnit: 1\n      connectionConfigurations:\n        - name: example-gateway-config\n          vpnClientAddressPool:\n            addressPrefixes:\n              - 10.0.2.0/24\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2025-01-01\n\n## Import\n\nPoint-to-Site VPN Gateway's can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:network/pointToPointVpnGateway:PointToPointVpnGateway example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Network/p2sVpnGateways/gateway1\n```\n\n","properties":{"connectionConfigurations":{"type":"array","items":{"$ref":"#/types/azure:network/PointToPointVpnGatewayConnectionConfiguration:PointToPointVpnGatewayConnectionConfiguration"},"description":"A \u003cspan pulumi-lang-nodejs=\"`connectionConfiguration`\" pulumi-lang-dotnet=\"`ConnectionConfiguration`\" pulumi-lang-go=\"`connectionConfiguration`\" pulumi-lang-python=\"`connection_configuration`\" pulumi-lang-yaml=\"`connectionConfiguration`\" pulumi-lang-java=\"`connectionConfiguration`\"\u003e`connection_configuration`\u003c/span\u003e block as defined below.\n"},"dnsServers":{"type":"array","items":{"type":"string"},"description":"A list of IP Addresses of DNS Servers for the Point-to-Site VPN Gateway.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"Specifies the name of the Point-to-Site VPN Gateway. Changing this forces a new resource to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the Point-to-Site VPN Gateway. Changing this forces a new resource to be created.\n"},"routingPreferenceInternetEnabled":{"type":"boolean","description":"Is the Routing Preference for the Public IP Interface of the VPN Gateway enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Changing this forces a new resource to be created.\n"},"scaleUnit":{"type":"integer","description":"The [Scale Unit](https://docs.microsoft.com/azure/virtual-wan/virtual-wan-faq#what-is-a-virtual-wan-gateway-scale-unit) for this Point-to-Site VPN Gateway.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the Point-to-Site VPN Gateway.\n"},"virtualHubId":{"type":"string","description":"The ID of the Virtual Hub where this Point-to-Site VPN Gateway should exist. Changing this forces a new resource to be created.\n"},"vpnServerConfigurationId":{"type":"string","description":"The ID of the VPN Server Configuration which this Point-to-Site VPN Gateway should use. Changing this forces a new resource to be created.\n"}},"required":["connectionConfigurations","location","name","resourceGroupName","scaleUnit","virtualHubId","vpnServerConfigurationId"],"inputProperties":{"connectionConfigurations":{"type":"array","items":{"$ref":"#/types/azure:network/PointToPointVpnGatewayConnectionConfiguration:PointToPointVpnGatewayConnectionConfiguration"},"description":"A \u003cspan pulumi-lang-nodejs=\"`connectionConfiguration`\" pulumi-lang-dotnet=\"`ConnectionConfiguration`\" pulumi-lang-go=\"`connectionConfiguration`\" pulumi-lang-python=\"`connection_configuration`\" pulumi-lang-yaml=\"`connectionConfiguration`\" pulumi-lang-java=\"`connectionConfiguration`\"\u003e`connection_configuration`\u003c/span\u003e block as defined below.\n"},"dnsServers":{"type":"array","items":{"type":"string"},"description":"A list of IP Addresses of DNS Servers for the Point-to-Site VPN Gateway.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the Point-to-Site VPN Gateway. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the Point-to-Site VPN Gateway. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"routingPreferenceInternetEnabled":{"type":"boolean","description":"Is the Routing Preference for the Public IP Interface of the VPN Gateway enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"scaleUnit":{"type":"integer","description":"The [Scale Unit](https://docs.microsoft.com/azure/virtual-wan/virtual-wan-faq#what-is-a-virtual-wan-gateway-scale-unit) for this Point-to-Site VPN Gateway.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the Point-to-Site VPN Gateway.\n"},"virtualHubId":{"type":"string","description":"The ID of the Virtual Hub where this Point-to-Site VPN Gateway should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"vpnServerConfigurationId":{"type":"string","description":"The ID of the VPN Server Configuration which this Point-to-Site VPN Gateway should use. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["connectionConfigurations","resourceGroupName","scaleUnit","virtualHubId","vpnServerConfigurationId"],"stateInputs":{"description":"Input properties used for looking up and filtering PointToPointVpnGateway resources.\n","properties":{"connectionConfigurations":{"type":"array","items":{"$ref":"#/types/azure:network/PointToPointVpnGatewayConnectionConfiguration:PointToPointVpnGatewayConnectionConfiguration"},"description":"A \u003cspan pulumi-lang-nodejs=\"`connectionConfiguration`\" pulumi-lang-dotnet=\"`ConnectionConfiguration`\" pulumi-lang-go=\"`connectionConfiguration`\" pulumi-lang-python=\"`connection_configuration`\" pulumi-lang-yaml=\"`connectionConfiguration`\" pulumi-lang-java=\"`connectionConfiguration`\"\u003e`connection_configuration`\u003c/span\u003e block as defined below.\n"},"dnsServers":{"type":"array","items":{"type":"string"},"description":"A list of IP Addresses of DNS Servers for the Point-to-Site VPN Gateway.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the Point-to-Site VPN Gateway. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the Point-to-Site VPN Gateway. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"routingPreferenceInternetEnabled":{"type":"boolean","description":"Is the Routing Preference for the Public IP Interface of the VPN Gateway enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"scaleUnit":{"type":"integer","description":"The [Scale Unit](https://docs.microsoft.com/azure/virtual-wan/virtual-wan-faq#what-is-a-virtual-wan-gateway-scale-unit) for this Point-to-Site VPN Gateway.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the Point-to-Site VPN Gateway.\n"},"virtualHubId":{"type":"string","description":"The ID of the Virtual Hub where this Point-to-Site VPN Gateway should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"vpnServerConfigurationId":{"type":"string","description":"The ID of the VPN Server Configuration which this Point-to-Site VPN Gateway should use. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:network/profile:Profile":{"description":"Manages a Network Profile.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"examplegroup\",\n    location: \"West Europe\",\n});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"example\", {\n    name: \"examplevnet\",\n    location: example.location,\n    resourceGroupName: example.name,\n    addressSpaces: [\"10.1.0.0/16\"],\n});\nconst exampleSubnet = new azure.network.Subnet(\"example\", {\n    name: \"examplesubnet\",\n    resourceGroupName: example.name,\n    virtualNetworkName: exampleVirtualNetwork.name,\n    addressPrefixes: [\"10.1.0.0/24\"],\n    delegations: [{\n        name: \"delegation\",\n        serviceDelegation: {\n            name: \"Microsoft.ContainerInstance/containerGroups\",\n            actions: [\"Microsoft.Network/virtualNetworks/subnets/action\"],\n        },\n    }],\n});\nconst exampleProfile = new azure.network.Profile(\"example\", {\n    name: \"examplenetprofile\",\n    location: example.location,\n    resourceGroupName: example.name,\n    containerNetworkInterface: {\n        name: \"examplecnic\",\n        ipConfigurations: [{\n            name: \"exampleipconfig\",\n            subnetId: exampleSubnet.id,\n        }],\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"examplegroup\",\n    location=\"West Europe\")\nexample_virtual_network = azure.network.VirtualNetwork(\"example\",\n    name=\"examplevnet\",\n    location=example.location,\n    resource_group_name=example.name,\n    address_spaces=[\"10.1.0.0/16\"])\nexample_subnet = azure.network.Subnet(\"example\",\n    name=\"examplesubnet\",\n    resource_group_name=example.name,\n    virtual_network_name=example_virtual_network.name,\n    address_prefixes=[\"10.1.0.0/24\"],\n    delegations=[{\n        \"name\": \"delegation\",\n        \"service_delegation\": {\n            \"name\": \"Microsoft.ContainerInstance/containerGroups\",\n            \"actions\": [\"Microsoft.Network/virtualNetworks/subnets/action\"],\n        },\n    }])\nexample_profile = azure.network.Profile(\"example\",\n    name=\"examplenetprofile\",\n    location=example.location,\n    resource_group_name=example.name,\n    container_network_interface={\n        \"name\": \"examplecnic\",\n        \"ip_configurations\": [{\n            \"name\": \"exampleipconfig\",\n            \"subnet_id\": example_subnet.id,\n        }],\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"examplegroup\",\n        Location = \"West Europe\",\n    });\n\n    var exampleVirtualNetwork = new Azure.Network.VirtualNetwork(\"example\", new()\n    {\n        Name = \"examplevnet\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        AddressSpaces = new[]\n        {\n            \"10.1.0.0/16\",\n        },\n    });\n\n    var exampleSubnet = new Azure.Network.Subnet(\"example\", new()\n    {\n        Name = \"examplesubnet\",\n        ResourceGroupName = example.Name,\n        VirtualNetworkName = exampleVirtualNetwork.Name,\n        AddressPrefixes = new[]\n        {\n            \"10.1.0.0/24\",\n        },\n        Delegations = new[]\n        {\n            new Azure.Network.Inputs.SubnetDelegationArgs\n            {\n                Name = \"delegation\",\n                ServiceDelegation = new Azure.Network.Inputs.SubnetDelegationServiceDelegationArgs\n                {\n                    Name = \"Microsoft.ContainerInstance/containerGroups\",\n                    Actions = new[]\n                    {\n                        \"Microsoft.Network/virtualNetworks/subnets/action\",\n                    },\n                },\n            },\n        },\n    });\n\n    var exampleProfile = new Azure.Network.Profile(\"example\", new()\n    {\n        Name = \"examplenetprofile\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        ContainerNetworkInterface = new Azure.Network.Inputs.ProfileContainerNetworkInterfaceArgs\n        {\n            Name = \"examplecnic\",\n            IpConfigurations = new[]\n            {\n                new Azure.Network.Inputs.ProfileContainerNetworkInterfaceIpConfigurationArgs\n                {\n                    Name = \"exampleipconfig\",\n                    SubnetId = exampleSubnet.Id,\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"examplegroup\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, \"example\", \u0026network.VirtualNetworkArgs{\n\t\t\tName:              pulumi.String(\"examplevnet\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tAddressSpaces: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.1.0.0/16\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSubnet, err := network.NewSubnet(ctx, \"example\", \u0026network.SubnetArgs{\n\t\t\tName:               pulumi.String(\"examplesubnet\"),\n\t\t\tResourceGroupName:  example.Name,\n\t\t\tVirtualNetworkName: exampleVirtualNetwork.Name,\n\t\t\tAddressPrefixes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.1.0.0/24\"),\n\t\t\t},\n\t\t\tDelegations: network.SubnetDelegationArray{\n\t\t\t\t\u0026network.SubnetDelegationArgs{\n\t\t\t\t\tName: pulumi.String(\"delegation\"),\n\t\t\t\t\tServiceDelegation: \u0026network.SubnetDelegationServiceDelegationArgs{\n\t\t\t\t\t\tName: pulumi.String(\"Microsoft.ContainerInstance/containerGroups\"),\n\t\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"Microsoft.Network/virtualNetworks/subnets/action\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = network.NewProfile(ctx, \"example\", \u0026network.ProfileArgs{\n\t\t\tName:              pulumi.String(\"examplenetprofile\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tContainerNetworkInterface: \u0026network.ProfileContainerNetworkInterfaceArgs{\n\t\t\t\tName: pulumi.String(\"examplecnic\"),\n\t\t\t\tIpConfigurations: network.ProfileContainerNetworkInterfaceIpConfigurationArray{\n\t\t\t\t\t\u0026network.ProfileContainerNetworkInterfaceIpConfigurationArgs{\n\t\t\t\t\t\tName:     pulumi.String(\"exampleipconfig\"),\n\t\t\t\t\t\tSubnetId: exampleSubnet.ID(),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.VirtualNetwork;\nimport com.pulumi.azure.network.VirtualNetworkArgs;\nimport com.pulumi.azure.network.Subnet;\nimport com.pulumi.azure.network.SubnetArgs;\nimport com.pulumi.azure.network.inputs.SubnetDelegationArgs;\nimport com.pulumi.azure.network.inputs.SubnetDelegationServiceDelegationArgs;\nimport com.pulumi.azure.network.Profile;\nimport com.pulumi.azure.network.ProfileArgs;\nimport com.pulumi.azure.network.inputs.ProfileContainerNetworkInterfaceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"examplegroup\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleVirtualNetwork = new VirtualNetwork(\"exampleVirtualNetwork\", VirtualNetworkArgs.builder()\n            .name(\"examplevnet\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .addressSpaces(\"10.1.0.0/16\")\n            .build());\n\n        var exampleSubnet = new Subnet(\"exampleSubnet\", SubnetArgs.builder()\n            .name(\"examplesubnet\")\n            .resourceGroupName(example.name())\n            .virtualNetworkName(exampleVirtualNetwork.name())\n            .addressPrefixes(\"10.1.0.0/24\")\n            .delegations(SubnetDelegationArgs.builder()\n                .name(\"delegation\")\n                .serviceDelegation(SubnetDelegationServiceDelegationArgs.builder()\n                    .name(\"Microsoft.ContainerInstance/containerGroups\")\n                    .actions(\"Microsoft.Network/virtualNetworks/subnets/action\")\n                    .build())\n                .build())\n            .build());\n\n        var exampleProfile = new Profile(\"exampleProfile\", ProfileArgs.builder()\n            .name(\"examplenetprofile\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .containerNetworkInterface(ProfileContainerNetworkInterfaceArgs.builder()\n                .name(\"examplecnic\")\n                .ipConfigurations(ProfileContainerNetworkInterfaceIpConfigurationArgs.builder()\n                    .name(\"exampleipconfig\")\n                    .subnetId(exampleSubnet.id())\n                    .build())\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: examplegroup\n      location: West Europe\n  exampleVirtualNetwork:\n    type: azure:network:VirtualNetwork\n    name: example\n    properties:\n      name: examplevnet\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      addressSpaces:\n        - 10.1.0.0/16\n  exampleSubnet:\n    type: azure:network:Subnet\n    name: example\n    properties:\n      name: examplesubnet\n      resourceGroupName: ${example.name}\n      virtualNetworkName: ${exampleVirtualNetwork.name}\n      addressPrefixes:\n        - 10.1.0.0/24\n      delegations:\n        - name: delegation\n          serviceDelegation:\n            name: Microsoft.ContainerInstance/containerGroups\n            actions:\n              - Microsoft.Network/virtualNetworks/subnets/action\n  exampleProfile:\n    type: azure:network:Profile\n    name: example\n    properties:\n      name: examplenetprofile\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      containerNetworkInterface:\n        name: examplecnic\n        ipConfigurations:\n          - name: exampleipconfig\n            subnetId: ${exampleSubnet.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2025-01-01\n\n## Import\n\nNetwork Profile can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:network/profile:Profile example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Network/networkProfiles/examplenetprofile\n```\n\n","properties":{"containerNetworkInterface":{"$ref":"#/types/azure:network/ProfileContainerNetworkInterface:ProfileContainerNetworkInterface","description":"A \u003cspan pulumi-lang-nodejs=\"`containerNetworkInterface`\" pulumi-lang-dotnet=\"`ContainerNetworkInterface`\" pulumi-lang-go=\"`containerNetworkInterface`\" pulumi-lang-python=\"`container_network_interface`\" pulumi-lang-yaml=\"`containerNetworkInterface`\" pulumi-lang-java=\"`containerNetworkInterface`\"\u003e`container_network_interface`\u003c/span\u003e block as documented below.\n"},"containerNetworkInterfaceIds":{"type":"array","items":{"type":"string"},"description":"A list of Container Network Interface IDs.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"Specifies the name of the Network Profile. Changing this forces a new resource to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the resource. Changing this forces a new resource to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags assigned to the resource.\n"}},"required":["containerNetworkInterface","containerNetworkInterfaceIds","location","name","resourceGroupName"],"inputProperties":{"containerNetworkInterface":{"$ref":"#/types/azure:network/ProfileContainerNetworkInterface:ProfileContainerNetworkInterface","description":"A \u003cspan pulumi-lang-nodejs=\"`containerNetworkInterface`\" pulumi-lang-dotnet=\"`ContainerNetworkInterface`\" pulumi-lang-go=\"`containerNetworkInterface`\" pulumi-lang-python=\"`container_network_interface`\" pulumi-lang-yaml=\"`containerNetworkInterface`\" pulumi-lang-java=\"`containerNetworkInterface`\"\u003e`container_network_interface`\u003c/span\u003e block as documented below.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the Network Profile. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the resource. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags assigned to the resource.\n"}},"requiredInputs":["containerNetworkInterface","resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering Profile resources.\n","properties":{"containerNetworkInterface":{"$ref":"#/types/azure:network/ProfileContainerNetworkInterface:ProfileContainerNetworkInterface","description":"A \u003cspan pulumi-lang-nodejs=\"`containerNetworkInterface`\" pulumi-lang-dotnet=\"`ContainerNetworkInterface`\" pulumi-lang-go=\"`containerNetworkInterface`\" pulumi-lang-python=\"`container_network_interface`\" pulumi-lang-yaml=\"`containerNetworkInterface`\" pulumi-lang-java=\"`containerNetworkInterface`\"\u003e`container_network_interface`\u003c/span\u003e block as documented below.\n"},"containerNetworkInterfaceIds":{"type":"array","items":{"type":"string"},"description":"A list of Container Network Interface IDs.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the Network Profile. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the resource. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags assigned to the resource.\n"}},"type":"object"}},"azure:network/publicIp:PublicIp":{"description":"Manages a Public IP Address.\n\n\u003e **Note** If this resource is to be associated with a resource that requires disassociation before destruction (such as \u003cspan pulumi-lang-nodejs=\"`azure.network.NetworkInterface`\" pulumi-lang-dotnet=\"`azure.network.NetworkInterface`\" pulumi-lang-go=\"`network.NetworkInterface`\" pulumi-lang-python=\"`network.NetworkInterface`\" pulumi-lang-yaml=\"`azure.network.NetworkInterface`\" pulumi-lang-java=\"`azure.network.NetworkInterface`\"\u003e`azure.network.NetworkInterface`\u003c/span\u003e) it is recommended to set the \u003cspan pulumi-lang-nodejs=\"`lifecycle`\" pulumi-lang-dotnet=\"`Lifecycle`\" pulumi-lang-go=\"`lifecycle`\" pulumi-lang-python=\"`lifecycle`\" pulumi-lang-yaml=\"`lifecycle`\" pulumi-lang-java=\"`lifecycle`\"\u003e`lifecycle`\u003c/span\u003e argument \u003cspan pulumi-lang-nodejs=\"`createBeforeDestroy \" pulumi-lang-dotnet=\"`CreateBeforeDestroy \" pulumi-lang-go=\"`createBeforeDestroy \" pulumi-lang-python=\"`create_before_destroy \" pulumi-lang-yaml=\"`createBeforeDestroy \" pulumi-lang-java=\"`createBeforeDestroy \"\u003e`create_before_destroy \u003c/span\u003e= true`. Otherwise, it can fail to disassociate on destruction.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst examplePublicIp = new azure.network.PublicIp(\"example\", {\n    name: \"acceptanceTestPublicIp1\",\n    resourceGroupName: example.name,\n    location: example.location,\n    allocationMethod: \"Static\",\n    tags: {\n        environment: \"Production\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_public_ip = azure.network.PublicIp(\"example\",\n    name=\"acceptanceTestPublicIp1\",\n    resource_group_name=example.name,\n    location=example.location,\n    allocation_method=\"Static\",\n    tags={\n        \"environment\": \"Production\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var examplePublicIp = new Azure.Network.PublicIp(\"example\", new()\n    {\n        Name = \"acceptanceTestPublicIp1\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        AllocationMethod = \"Static\",\n        Tags = \n        {\n            { \"environment\", \"Production\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = network.NewPublicIp(ctx, \"example\", \u0026network.PublicIpArgs{\n\t\t\tName:              pulumi.String(\"acceptanceTestPublicIp1\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tAllocationMethod:  pulumi.String(\"Static\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"environment\": pulumi.String(\"Production\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.PublicIp;\nimport com.pulumi.azure.network.PublicIpArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var examplePublicIp = new PublicIp(\"examplePublicIp\", PublicIpArgs.builder()\n            .name(\"acceptanceTestPublicIp1\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .allocationMethod(\"Static\")\n            .tags(Map.of(\"environment\", \"Production\"))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  examplePublicIp:\n    type: azure:network:PublicIp\n    name: example\n    properties:\n      name: acceptanceTestPublicIp1\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      allocationMethod: Static\n      tags:\n        environment: Production\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2025-01-01\n\n## Import\n\nPublic IPs can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:network/publicIp:PublicIp myPublicIp /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Network/publicIPAddresses/myPublicIpAddress1\n```\n\n","properties":{"allocationMethod":{"type":"string","description":"Defines the allocation method for this IP address. Possible values are `Static` or `Dynamic`.\n\n\u003e **Note** `Dynamic` Public IP Addresses aren't allocated until they're assigned to a resource (such as a Virtual Machine or a Load Balancer) by design within Azure. See \u003cspan pulumi-lang-nodejs=\"`ipAddress`\" pulumi-lang-dotnet=\"`IpAddress`\" pulumi-lang-go=\"`ipAddress`\" pulumi-lang-python=\"`ip_address`\" pulumi-lang-yaml=\"`ipAddress`\" pulumi-lang-java=\"`ipAddress`\"\u003e`ip_address`\u003c/span\u003e argument.\n"},"ddosProtectionMode":{"type":"string","description":"The DDoS protection mode of the public IP. Possible values are `Disabled`, `Enabled`, and `VirtualNetworkInherited`. Defaults to `VirtualNetworkInherited`.\n"},"ddosProtectionPlanId":{"type":"string","description":"The ID of DDoS protection plan associated with the public IP. \n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`ddosProtectionPlanId`\" pulumi-lang-dotnet=\"`DdosProtectionPlanId`\" pulumi-lang-go=\"`ddosProtectionPlanId`\" pulumi-lang-python=\"`ddos_protection_plan_id`\" pulumi-lang-yaml=\"`ddosProtectionPlanId`\" pulumi-lang-java=\"`ddosProtectionPlanId`\"\u003e`ddos_protection_plan_id`\u003c/span\u003e can only be set when \u003cspan pulumi-lang-nodejs=\"`ddosProtectionMode`\" pulumi-lang-dotnet=\"`DdosProtectionMode`\" pulumi-lang-go=\"`ddosProtectionMode`\" pulumi-lang-python=\"`ddos_protection_mode`\" pulumi-lang-yaml=\"`ddosProtectionMode`\" pulumi-lang-java=\"`ddosProtectionMode`\"\u003e`ddos_protection_mode`\u003c/span\u003e is `Enabled`.\n"},"domainNameLabel":{"type":"string","description":"Label for the Domain Name. Will be used to make up the FQDN. If a domain name label is specified, an A DNS record is created for the public IP in the Microsoft Azure DNS system.\n"},"domainNameLabelScope":{"type":"string","description":"Scope for the domain name label. If a domain name label scope is specified, an A DNS record is created for the public IP in the Microsoft Azure DNS system with a hashed value includes in FQDN. Possible values are `NoReuse`, `ResourceGroupReuse`, `SubscriptionReuse` and `TenantReuse`.\n"},"edgeZone":{"type":"string","description":"Specifies the Edge Zone within the Azure Region where this Public IP should exist. Changing this forces a new Public IP to be created.\n"},"fqdn":{"type":"string","description":"Fully qualified domain name of the A DNS record associated with the public IP. \u003cspan pulumi-lang-nodejs=\"`domainNameLabel`\" pulumi-lang-dotnet=\"`DomainNameLabel`\" pulumi-lang-go=\"`domainNameLabel`\" pulumi-lang-python=\"`domain_name_label`\" pulumi-lang-yaml=\"`domainNameLabel`\" pulumi-lang-java=\"`domainNameLabel`\"\u003e`domain_name_label`\u003c/span\u003e must be specified to get the \u003cspan pulumi-lang-nodejs=\"`fqdn`\" pulumi-lang-dotnet=\"`Fqdn`\" pulumi-lang-go=\"`fqdn`\" pulumi-lang-python=\"`fqdn`\" pulumi-lang-yaml=\"`fqdn`\" pulumi-lang-java=\"`fqdn`\"\u003e`fqdn`\u003c/span\u003e. This is the concatenation of the \u003cspan pulumi-lang-nodejs=\"`domainNameLabel`\" pulumi-lang-dotnet=\"`DomainNameLabel`\" pulumi-lang-go=\"`domainNameLabel`\" pulumi-lang-python=\"`domain_name_label`\" pulumi-lang-yaml=\"`domainNameLabel`\" pulumi-lang-java=\"`domainNameLabel`\"\u003e`domain_name_label`\u003c/span\u003e and the regionalized DNS zone\n"},"idleTimeoutInMinutes":{"type":"integer","description":"Specifies the timeout for the TCP idle connection. The value can be set between 4 and 30 minutes.\n"},"ipAddress":{"type":"string","description":"The IP address value that was allocated.\n"},"ipTags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of IP tags to assign to the public IP. Changing this forces a new resource to be created.\n\n\u003e **Note** IP Tag `RoutingPreference` requires multiple \u003cspan pulumi-lang-nodejs=\"`zones`\" pulumi-lang-dotnet=\"`Zones`\" pulumi-lang-go=\"`zones`\" pulumi-lang-python=\"`zones`\" pulumi-lang-yaml=\"`zones`\" pulumi-lang-java=\"`zones`\"\u003e`zones`\u003c/span\u003e and `Standard` SKU to be set.\n"},"ipVersion":{"type":"string","description":"The IP Version to use, IPv6 or IPv4. Changing this forces a new resource to be created. Defaults to `IPv4`.\n\n\u003e **Note** Only \u003cspan pulumi-lang-nodejs=\"`static`\" pulumi-lang-dotnet=\"`Static`\" pulumi-lang-go=\"`static`\" pulumi-lang-python=\"`static`\" pulumi-lang-yaml=\"`static`\" pulumi-lang-java=\"`static`\"\u003e`static`\u003c/span\u003e IP address allocation is supported for IPv6.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the Public IP should exist. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"Specifies the name of the Public IP. Changing this forces a new Public IP to be created.\n"},"publicIpPrefixId":{"type":"string","description":"If specified then public IP address allocated will be provided from the public IP prefix resource. Changing this forces a new resource to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where this Public IP should exist. Changing this forces a new Public IP to be created.\n"},"reverseFqdn":{"type":"string","description":"A fully qualified domain name that resolves to this public IP address. If the reverseFqdn is specified, then a PTR DNS record is created pointing from the IP address in the in-addr.arpa domain to the reverse FQDN.\n"},"sku":{"type":"string","description":"The SKU of the Public IP. Accepted values are `Basic` and `Standard`. Defaults to `Standard`. Changing this forces a new resource to be created.\n\n\u003e **Note** Public IP Standard SKUs require \u003cspan pulumi-lang-nodejs=\"`allocationMethod`\" pulumi-lang-dotnet=\"`AllocationMethod`\" pulumi-lang-go=\"`allocationMethod`\" pulumi-lang-python=\"`allocation_method`\" pulumi-lang-yaml=\"`allocationMethod`\" pulumi-lang-java=\"`allocationMethod`\"\u003e`allocation_method`\u003c/span\u003e to be set to `Static`.\n"},"skuTier":{"type":"string","description":"The SKU Tier that should be used for the Public IP. Possible values are `Regional` and `Global`. Defaults to `Regional`. Changing this forces a new resource to be created.\n\n\u003e **Note** When \u003cspan pulumi-lang-nodejs=\"`skuTier`\" pulumi-lang-dotnet=\"`SkuTier`\" pulumi-lang-go=\"`skuTier`\" pulumi-lang-python=\"`sku_tier`\" pulumi-lang-yaml=\"`skuTier`\" pulumi-lang-java=\"`skuTier`\"\u003e`sku_tier`\u003c/span\u003e is set to `Global`, \u003cspan pulumi-lang-nodejs=\"`sku`\" pulumi-lang-dotnet=\"`Sku`\" pulumi-lang-go=\"`sku`\" pulumi-lang-python=\"`sku`\" pulumi-lang-yaml=\"`sku`\" pulumi-lang-java=\"`sku`\"\u003e`sku`\u003c/span\u003e must be set to `Standard`.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"zones":{"type":"array","items":{"type":"string"},"description":"A collection containing the availability zone to allocate the Public IP in. Changing this forces a new resource to be created.\n\n\u003e **Note:** Availability Zones are only supported with a [Standard SKU](https://docs.microsoft.com/azure/virtual-network/virtual-network-ip-addresses-overview-arm#standard) and [in select regions](https://docs.microsoft.com/azure/availability-zones/az-overview) at this time. Standard SKU Public IP Addresses that do not specify a zone are **not** zone-redundant by default.\n"}},"required":["allocationMethod","fqdn","ipAddress","location","name","resourceGroupName"],"inputProperties":{"allocationMethod":{"type":"string","description":"Defines the allocation method for this IP address. Possible values are `Static` or `Dynamic`.\n\n\u003e **Note** `Dynamic` Public IP Addresses aren't allocated until they're assigned to a resource (such as a Virtual Machine or a Load Balancer) by design within Azure. See \u003cspan pulumi-lang-nodejs=\"`ipAddress`\" pulumi-lang-dotnet=\"`IpAddress`\" pulumi-lang-go=\"`ipAddress`\" pulumi-lang-python=\"`ip_address`\" pulumi-lang-yaml=\"`ipAddress`\" pulumi-lang-java=\"`ipAddress`\"\u003e`ip_address`\u003c/span\u003e argument.\n"},"ddosProtectionMode":{"type":"string","description":"The DDoS protection mode of the public IP. Possible values are `Disabled`, `Enabled`, and `VirtualNetworkInherited`. Defaults to `VirtualNetworkInherited`.\n"},"ddosProtectionPlanId":{"type":"string","description":"The ID of DDoS protection plan associated with the public IP. \n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`ddosProtectionPlanId`\" pulumi-lang-dotnet=\"`DdosProtectionPlanId`\" pulumi-lang-go=\"`ddosProtectionPlanId`\" pulumi-lang-python=\"`ddos_protection_plan_id`\" pulumi-lang-yaml=\"`ddosProtectionPlanId`\" pulumi-lang-java=\"`ddosProtectionPlanId`\"\u003e`ddos_protection_plan_id`\u003c/span\u003e can only be set when \u003cspan pulumi-lang-nodejs=\"`ddosProtectionMode`\" pulumi-lang-dotnet=\"`DdosProtectionMode`\" pulumi-lang-go=\"`ddosProtectionMode`\" pulumi-lang-python=\"`ddos_protection_mode`\" pulumi-lang-yaml=\"`ddosProtectionMode`\" pulumi-lang-java=\"`ddosProtectionMode`\"\u003e`ddos_protection_mode`\u003c/span\u003e is `Enabled`.\n"},"domainNameLabel":{"type":"string","description":"Label for the Domain Name. Will be used to make up the FQDN. If a domain name label is specified, an A DNS record is created for the public IP in the Microsoft Azure DNS system.\n"},"domainNameLabelScope":{"type":"string","description":"Scope for the domain name label. If a domain name label scope is specified, an A DNS record is created for the public IP in the Microsoft Azure DNS system with a hashed value includes in FQDN. Possible values are `NoReuse`, `ResourceGroupReuse`, `SubscriptionReuse` and `TenantReuse`.\n"},"edgeZone":{"type":"string","description":"Specifies the Edge Zone within the Azure Region where this Public IP should exist. Changing this forces a new Public IP to be created.\n","willReplaceOnChanges":true},"idleTimeoutInMinutes":{"type":"integer","description":"Specifies the timeout for the TCP idle connection. The value can be set between 4 and 30 minutes.\n"},"ipTags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of IP tags to assign to the public IP. Changing this forces a new resource to be created.\n\n\u003e **Note** IP Tag `RoutingPreference` requires multiple \u003cspan pulumi-lang-nodejs=\"`zones`\" pulumi-lang-dotnet=\"`Zones`\" pulumi-lang-go=\"`zones`\" pulumi-lang-python=\"`zones`\" pulumi-lang-yaml=\"`zones`\" pulumi-lang-java=\"`zones`\"\u003e`zones`\u003c/span\u003e and `Standard` SKU to be set.\n","willReplaceOnChanges":true},"ipVersion":{"type":"string","description":"The IP Version to use, IPv6 or IPv4. Changing this forces a new resource to be created. Defaults to `IPv4`.\n\n\u003e **Note** Only \u003cspan pulumi-lang-nodejs=\"`static`\" pulumi-lang-dotnet=\"`Static`\" pulumi-lang-go=\"`static`\" pulumi-lang-python=\"`static`\" pulumi-lang-yaml=\"`static`\" pulumi-lang-java=\"`static`\"\u003e`static`\u003c/span\u003e IP address allocation is supported for IPv6.\n","willReplaceOnChanges":true},"location":{"type":"string","description":"Specifies the supported Azure location where the Public IP should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the Public IP. Changing this forces a new Public IP to be created.\n","willReplaceOnChanges":true},"publicIpPrefixId":{"type":"string","description":"If specified then public IP address allocated will be provided from the public IP prefix resource. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where this Public IP should exist. Changing this forces a new Public IP to be created.\n","willReplaceOnChanges":true},"reverseFqdn":{"type":"string","description":"A fully qualified domain name that resolves to this public IP address. If the reverseFqdn is specified, then a PTR DNS record is created pointing from the IP address in the in-addr.arpa domain to the reverse FQDN.\n"},"sku":{"type":"string","description":"The SKU of the Public IP. Accepted values are `Basic` and `Standard`. Defaults to `Standard`. Changing this forces a new resource to be created.\n\n\u003e **Note** Public IP Standard SKUs require \u003cspan pulumi-lang-nodejs=\"`allocationMethod`\" pulumi-lang-dotnet=\"`AllocationMethod`\" pulumi-lang-go=\"`allocationMethod`\" pulumi-lang-python=\"`allocation_method`\" pulumi-lang-yaml=\"`allocationMethod`\" pulumi-lang-java=\"`allocationMethod`\"\u003e`allocation_method`\u003c/span\u003e to be set to `Static`.\n","willReplaceOnChanges":true},"skuTier":{"type":"string","description":"The SKU Tier that should be used for the Public IP. Possible values are `Regional` and `Global`. Defaults to `Regional`. Changing this forces a new resource to be created.\n\n\u003e **Note** When \u003cspan pulumi-lang-nodejs=\"`skuTier`\" pulumi-lang-dotnet=\"`SkuTier`\" pulumi-lang-go=\"`skuTier`\" pulumi-lang-python=\"`sku_tier`\" pulumi-lang-yaml=\"`skuTier`\" pulumi-lang-java=\"`skuTier`\"\u003e`sku_tier`\u003c/span\u003e is set to `Global`, \u003cspan pulumi-lang-nodejs=\"`sku`\" pulumi-lang-dotnet=\"`Sku`\" pulumi-lang-go=\"`sku`\" pulumi-lang-python=\"`sku`\" pulumi-lang-yaml=\"`sku`\" pulumi-lang-java=\"`sku`\"\u003e`sku`\u003c/span\u003e must be set to `Standard`.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"zones":{"type":"array","items":{"type":"string"},"description":"A collection containing the availability zone to allocate the Public IP in. Changing this forces a new resource to be created.\n\n\u003e **Note:** Availability Zones are only supported with a [Standard SKU](https://docs.microsoft.com/azure/virtual-network/virtual-network-ip-addresses-overview-arm#standard) and [in select regions](https://docs.microsoft.com/azure/availability-zones/az-overview) at this time. Standard SKU Public IP Addresses that do not specify a zone are **not** zone-redundant by default.\n","willReplaceOnChanges":true}},"requiredInputs":["allocationMethod","resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering PublicIp resources.\n","properties":{"allocationMethod":{"type":"string","description":"Defines the allocation method for this IP address. Possible values are `Static` or `Dynamic`.\n\n\u003e **Note** `Dynamic` Public IP Addresses aren't allocated until they're assigned to a resource (such as a Virtual Machine or a Load Balancer) by design within Azure. See \u003cspan pulumi-lang-nodejs=\"`ipAddress`\" pulumi-lang-dotnet=\"`IpAddress`\" pulumi-lang-go=\"`ipAddress`\" pulumi-lang-python=\"`ip_address`\" pulumi-lang-yaml=\"`ipAddress`\" pulumi-lang-java=\"`ipAddress`\"\u003e`ip_address`\u003c/span\u003e argument.\n"},"ddosProtectionMode":{"type":"string","description":"The DDoS protection mode of the public IP. Possible values are `Disabled`, `Enabled`, and `VirtualNetworkInherited`. Defaults to `VirtualNetworkInherited`.\n"},"ddosProtectionPlanId":{"type":"string","description":"The ID of DDoS protection plan associated with the public IP. \n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`ddosProtectionPlanId`\" pulumi-lang-dotnet=\"`DdosProtectionPlanId`\" pulumi-lang-go=\"`ddosProtectionPlanId`\" pulumi-lang-python=\"`ddos_protection_plan_id`\" pulumi-lang-yaml=\"`ddosProtectionPlanId`\" pulumi-lang-java=\"`ddosProtectionPlanId`\"\u003e`ddos_protection_plan_id`\u003c/span\u003e can only be set when \u003cspan pulumi-lang-nodejs=\"`ddosProtectionMode`\" pulumi-lang-dotnet=\"`DdosProtectionMode`\" pulumi-lang-go=\"`ddosProtectionMode`\" pulumi-lang-python=\"`ddos_protection_mode`\" pulumi-lang-yaml=\"`ddosProtectionMode`\" pulumi-lang-java=\"`ddosProtectionMode`\"\u003e`ddos_protection_mode`\u003c/span\u003e is `Enabled`.\n"},"domainNameLabel":{"type":"string","description":"Label for the Domain Name. Will be used to make up the FQDN. If a domain name label is specified, an A DNS record is created for the public IP in the Microsoft Azure DNS system.\n"},"domainNameLabelScope":{"type":"string","description":"Scope for the domain name label. If a domain name label scope is specified, an A DNS record is created for the public IP in the Microsoft Azure DNS system with a hashed value includes in FQDN. Possible values are `NoReuse`, `ResourceGroupReuse`, `SubscriptionReuse` and `TenantReuse`.\n"},"edgeZone":{"type":"string","description":"Specifies the Edge Zone within the Azure Region where this Public IP should exist. Changing this forces a new Public IP to be created.\n","willReplaceOnChanges":true},"fqdn":{"type":"string","description":"Fully qualified domain name of the A DNS record associated with the public IP. \u003cspan pulumi-lang-nodejs=\"`domainNameLabel`\" pulumi-lang-dotnet=\"`DomainNameLabel`\" pulumi-lang-go=\"`domainNameLabel`\" pulumi-lang-python=\"`domain_name_label`\" pulumi-lang-yaml=\"`domainNameLabel`\" pulumi-lang-java=\"`domainNameLabel`\"\u003e`domain_name_label`\u003c/span\u003e must be specified to get the \u003cspan pulumi-lang-nodejs=\"`fqdn`\" pulumi-lang-dotnet=\"`Fqdn`\" pulumi-lang-go=\"`fqdn`\" pulumi-lang-python=\"`fqdn`\" pulumi-lang-yaml=\"`fqdn`\" pulumi-lang-java=\"`fqdn`\"\u003e`fqdn`\u003c/span\u003e. This is the concatenation of the \u003cspan pulumi-lang-nodejs=\"`domainNameLabel`\" pulumi-lang-dotnet=\"`DomainNameLabel`\" pulumi-lang-go=\"`domainNameLabel`\" pulumi-lang-python=\"`domain_name_label`\" pulumi-lang-yaml=\"`domainNameLabel`\" pulumi-lang-java=\"`domainNameLabel`\"\u003e`domain_name_label`\u003c/span\u003e and the regionalized DNS zone\n"},"idleTimeoutInMinutes":{"type":"integer","description":"Specifies the timeout for the TCP idle connection. The value can be set between 4 and 30 minutes.\n"},"ipAddress":{"type":"string","description":"The IP address value that was allocated.\n"},"ipTags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of IP tags to assign to the public IP. Changing this forces a new resource to be created.\n\n\u003e **Note** IP Tag `RoutingPreference` requires multiple \u003cspan pulumi-lang-nodejs=\"`zones`\" pulumi-lang-dotnet=\"`Zones`\" pulumi-lang-go=\"`zones`\" pulumi-lang-python=\"`zones`\" pulumi-lang-yaml=\"`zones`\" pulumi-lang-java=\"`zones`\"\u003e`zones`\u003c/span\u003e and `Standard` SKU to be set.\n","willReplaceOnChanges":true},"ipVersion":{"type":"string","description":"The IP Version to use, IPv6 or IPv4. Changing this forces a new resource to be created. Defaults to `IPv4`.\n\n\u003e **Note** Only \u003cspan pulumi-lang-nodejs=\"`static`\" pulumi-lang-dotnet=\"`Static`\" pulumi-lang-go=\"`static`\" pulumi-lang-python=\"`static`\" pulumi-lang-yaml=\"`static`\" pulumi-lang-java=\"`static`\"\u003e`static`\u003c/span\u003e IP address allocation is supported for IPv6.\n","willReplaceOnChanges":true},"location":{"type":"string","description":"Specifies the supported Azure location where the Public IP should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the Public IP. Changing this forces a new Public IP to be created.\n","willReplaceOnChanges":true},"publicIpPrefixId":{"type":"string","description":"If specified then public IP address allocated will be provided from the public IP prefix resource. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where this Public IP should exist. Changing this forces a new Public IP to be created.\n","willReplaceOnChanges":true},"reverseFqdn":{"type":"string","description":"A fully qualified domain name that resolves to this public IP address. If the reverseFqdn is specified, then a PTR DNS record is created pointing from the IP address in the in-addr.arpa domain to the reverse FQDN.\n"},"sku":{"type":"string","description":"The SKU of the Public IP. Accepted values are `Basic` and `Standard`. Defaults to `Standard`. Changing this forces a new resource to be created.\n\n\u003e **Note** Public IP Standard SKUs require \u003cspan pulumi-lang-nodejs=\"`allocationMethod`\" pulumi-lang-dotnet=\"`AllocationMethod`\" pulumi-lang-go=\"`allocationMethod`\" pulumi-lang-python=\"`allocation_method`\" pulumi-lang-yaml=\"`allocationMethod`\" pulumi-lang-java=\"`allocationMethod`\"\u003e`allocation_method`\u003c/span\u003e to be set to `Static`.\n","willReplaceOnChanges":true},"skuTier":{"type":"string","description":"The SKU Tier that should be used for the Public IP. Possible values are `Regional` and `Global`. Defaults to `Regional`. Changing this forces a new resource to be created.\n\n\u003e **Note** When \u003cspan pulumi-lang-nodejs=\"`skuTier`\" pulumi-lang-dotnet=\"`SkuTier`\" pulumi-lang-go=\"`skuTier`\" pulumi-lang-python=\"`sku_tier`\" pulumi-lang-yaml=\"`skuTier`\" pulumi-lang-java=\"`skuTier`\"\u003e`sku_tier`\u003c/span\u003e is set to `Global`, \u003cspan pulumi-lang-nodejs=\"`sku`\" pulumi-lang-dotnet=\"`Sku`\" pulumi-lang-go=\"`sku`\" pulumi-lang-python=\"`sku`\" pulumi-lang-yaml=\"`sku`\" pulumi-lang-java=\"`sku`\"\u003e`sku`\u003c/span\u003e must be set to `Standard`.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"zones":{"type":"array","items":{"type":"string"},"description":"A collection containing the availability zone to allocate the Public IP in. Changing this forces a new resource to be created.\n\n\u003e **Note:** Availability Zones are only supported with a [Standard SKU](https://docs.microsoft.com/azure/virtual-network/virtual-network-ip-addresses-overview-arm#standard) and [in select regions](https://docs.microsoft.com/azure/availability-zones/az-overview) at this time. Standard SKU Public IP Addresses that do not specify a zone are **not** zone-redundant by default.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:network/publicIpPrefix:PublicIpPrefix":{"description":"Manages a Public IP Prefix.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst examplePublicIpPrefix = new azure.network.PublicIpPrefix(\"example\", {\n    name: \"acceptanceTestPublicIpPrefix1\",\n    location: example.location,\n    resourceGroupName: example.name,\n    prefixLength: 31,\n    tags: {\n        environment: \"Production\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_public_ip_prefix = azure.network.PublicIpPrefix(\"example\",\n    name=\"acceptanceTestPublicIpPrefix1\",\n    location=example.location,\n    resource_group_name=example.name,\n    prefix_length=31,\n    tags={\n        \"environment\": \"Production\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var examplePublicIpPrefix = new Azure.Network.PublicIpPrefix(\"example\", new()\n    {\n        Name = \"acceptanceTestPublicIpPrefix1\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        PrefixLength = 31,\n        Tags = \n        {\n            { \"environment\", \"Production\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = network.NewPublicIpPrefix(ctx, \"example\", \u0026network.PublicIpPrefixArgs{\n\t\t\tName:              pulumi.String(\"acceptanceTestPublicIpPrefix1\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tPrefixLength:      pulumi.Int(31),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"environment\": pulumi.String(\"Production\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.PublicIpPrefix;\nimport com.pulumi.azure.network.PublicIpPrefixArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var examplePublicIpPrefix = new PublicIpPrefix(\"examplePublicIpPrefix\", PublicIpPrefixArgs.builder()\n            .name(\"acceptanceTestPublicIpPrefix1\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .prefixLength(31)\n            .tags(Map.of(\"environment\", \"Production\"))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  examplePublicIpPrefix:\n    type: azure:network:PublicIpPrefix\n    name: example\n    properties:\n      name: acceptanceTestPublicIpPrefix1\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      prefixLength: 31\n      tags:\n        environment: Production\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2025-01-01\n\n## Import\n\nPublic IP Prefixes can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:network/publicIpPrefix:PublicIpPrefix myPublicIpPrefix /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Network/publicIPPrefixes/myPublicIpPrefix1\n```\n\n","properties":{"customIpPrefixId":{"type":"string","description":"The Custom IP Prefix ID associated with the Public IP Prefix. Changing this forces a new resource to be created.\n\n\u003e **Note:** When \u003cspan pulumi-lang-nodejs=\"`ipVersion`\" pulumi-lang-dotnet=\"`IpVersion`\" pulumi-lang-go=\"`ipVersion`\" pulumi-lang-python=\"`ip_version`\" pulumi-lang-yaml=\"`ipVersion`\" pulumi-lang-java=\"`ipVersion`\"\u003e`ip_version`\u003c/span\u003e is set to `IPv6`, \u003cspan pulumi-lang-nodejs=\"`customIpPrefixId`\" pulumi-lang-dotnet=\"`CustomIpPrefixId`\" pulumi-lang-go=\"`customIpPrefixId`\" pulumi-lang-python=\"`custom_ip_prefix_id`\" pulumi-lang-yaml=\"`customIpPrefixId`\" pulumi-lang-java=\"`customIpPrefixId`\"\u003e`custom_ip_prefix_id`\u003c/span\u003e must reference a regional (child) range rather than a global (parent) range. For more details on creating a Public IP Prefix from a custom IP prefix, see [here](https://learn.microsoft.com/en-us/azure/virtual-network/ip-services/manage-custom-ip-address-prefix#create-a-public-ip-prefix-from-a-custom-ip-prefix).\n"},"ipPrefix":{"type":"string","description":"The IP address prefix value that was allocated.\n"},"ipVersion":{"type":"string","description":"The IP Version to use, `IPv6` or `IPv4`. Changing this forces a new resource to be created. Default is `IPv4`.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"Specifies the name of the Public IP Prefix resource . Changing this forces a new resource to be created.\n"},"prefixLength":{"type":"integer","description":"Specifies the number of bits of the prefix. The value can be set between 0 (4,294,967,296 addresses) and 31 (2 addresses). Defaults to \u003cspan pulumi-lang-nodejs=\"`28`\" pulumi-lang-dotnet=\"`28`\" pulumi-lang-go=\"`28`\" pulumi-lang-python=\"`28`\" pulumi-lang-yaml=\"`28`\" pulumi-lang-java=\"`28`\"\u003e`28`\u003c/span\u003e(16 addresses). Changing this forces a new resource to be created.\n\n\u003e **Note:** There may be Public IP address limits on the subscription . [More information available here](https://docs.microsoft.com/azure/azure-subscription-service-limits?toc=%2fazure%2fvirtual-network%2ftoc.json#publicip-address)\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the Public IP Prefix. Changing this forces a new resource to be created.\n"},"sku":{"type":"string","description":"The SKU of the Public IP Prefix. Accepted values are `Standard`. Defaults to `Standard`. Changing this forces a new resource to be created.\n\n\u003e **Note:** Public IP Prefix can only be created with Standard SKUs at this time.\n"},"skuTier":{"type":"string","description":"The SKU Tier that should be used for the Public IP. Possible values are `Regional` and `Global`. Defaults to `Regional`. Changing this forces a new resource to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"zones":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Availability Zones in which this Public IP Prefix should be located. Changing this forces a new Public IP Prefix to be created.\n\n\u003e **Note:** Availability Zones are [only supported in several regions at this time](https://docs.microsoft.com/azure/availability-zones/az-overview).\n"}},"required":["ipPrefix","location","name","resourceGroupName"],"inputProperties":{"customIpPrefixId":{"type":"string","description":"The Custom IP Prefix ID associated with the Public IP Prefix. Changing this forces a new resource to be created.\n\n\u003e **Note:** When \u003cspan pulumi-lang-nodejs=\"`ipVersion`\" pulumi-lang-dotnet=\"`IpVersion`\" pulumi-lang-go=\"`ipVersion`\" pulumi-lang-python=\"`ip_version`\" pulumi-lang-yaml=\"`ipVersion`\" pulumi-lang-java=\"`ipVersion`\"\u003e`ip_version`\u003c/span\u003e is set to `IPv6`, \u003cspan pulumi-lang-nodejs=\"`customIpPrefixId`\" pulumi-lang-dotnet=\"`CustomIpPrefixId`\" pulumi-lang-go=\"`customIpPrefixId`\" pulumi-lang-python=\"`custom_ip_prefix_id`\" pulumi-lang-yaml=\"`customIpPrefixId`\" pulumi-lang-java=\"`customIpPrefixId`\"\u003e`custom_ip_prefix_id`\u003c/span\u003e must reference a regional (child) range rather than a global (parent) range. For more details on creating a Public IP Prefix from a custom IP prefix, see [here](https://learn.microsoft.com/en-us/azure/virtual-network/ip-services/manage-custom-ip-address-prefix#create-a-public-ip-prefix-from-a-custom-ip-prefix).\n","willReplaceOnChanges":true},"ipVersion":{"type":"string","description":"The IP Version to use, `IPv6` or `IPv4`. Changing this forces a new resource to be created. Default is `IPv4`.\n","willReplaceOnChanges":true},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the Public IP Prefix resource . Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"prefixLength":{"type":"integer","description":"Specifies the number of bits of the prefix. The value can be set between 0 (4,294,967,296 addresses) and 31 (2 addresses). Defaults to \u003cspan pulumi-lang-nodejs=\"`28`\" pulumi-lang-dotnet=\"`28`\" pulumi-lang-go=\"`28`\" pulumi-lang-python=\"`28`\" pulumi-lang-yaml=\"`28`\" pulumi-lang-java=\"`28`\"\u003e`28`\u003c/span\u003e(16 addresses). Changing this forces a new resource to be created.\n\n\u003e **Note:** There may be Public IP address limits on the subscription . [More information available here](https://docs.microsoft.com/azure/azure-subscription-service-limits?toc=%2fazure%2fvirtual-network%2ftoc.json#publicip-address)\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the Public IP Prefix. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sku":{"type":"string","description":"The SKU of the Public IP Prefix. Accepted values are `Standard`. Defaults to `Standard`. Changing this forces a new resource to be created.\n\n\u003e **Note:** Public IP Prefix can only be created with Standard SKUs at this time.\n","willReplaceOnChanges":true},"skuTier":{"type":"string","description":"The SKU Tier that should be used for the Public IP. Possible values are `Regional` and `Global`. Defaults to `Regional`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"zones":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Availability Zones in which this Public IP Prefix should be located. Changing this forces a new Public IP Prefix to be created.\n\n\u003e **Note:** Availability Zones are [only supported in several regions at this time](https://docs.microsoft.com/azure/availability-zones/az-overview).\n","willReplaceOnChanges":true}},"requiredInputs":["resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering PublicIpPrefix resources.\n","properties":{"customIpPrefixId":{"type":"string","description":"The Custom IP Prefix ID associated with the Public IP Prefix. Changing this forces a new resource to be created.\n\n\u003e **Note:** When \u003cspan pulumi-lang-nodejs=\"`ipVersion`\" pulumi-lang-dotnet=\"`IpVersion`\" pulumi-lang-go=\"`ipVersion`\" pulumi-lang-python=\"`ip_version`\" pulumi-lang-yaml=\"`ipVersion`\" pulumi-lang-java=\"`ipVersion`\"\u003e`ip_version`\u003c/span\u003e is set to `IPv6`, \u003cspan pulumi-lang-nodejs=\"`customIpPrefixId`\" pulumi-lang-dotnet=\"`CustomIpPrefixId`\" pulumi-lang-go=\"`customIpPrefixId`\" pulumi-lang-python=\"`custom_ip_prefix_id`\" pulumi-lang-yaml=\"`customIpPrefixId`\" pulumi-lang-java=\"`customIpPrefixId`\"\u003e`custom_ip_prefix_id`\u003c/span\u003e must reference a regional (child) range rather than a global (parent) range. For more details on creating a Public IP Prefix from a custom IP prefix, see [here](https://learn.microsoft.com/en-us/azure/virtual-network/ip-services/manage-custom-ip-address-prefix#create-a-public-ip-prefix-from-a-custom-ip-prefix).\n","willReplaceOnChanges":true},"ipPrefix":{"type":"string","description":"The IP address prefix value that was allocated.\n"},"ipVersion":{"type":"string","description":"The IP Version to use, `IPv6` or `IPv4`. Changing this forces a new resource to be created. Default is `IPv4`.\n","willReplaceOnChanges":true},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the Public IP Prefix resource . Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"prefixLength":{"type":"integer","description":"Specifies the number of bits of the prefix. The value can be set between 0 (4,294,967,296 addresses) and 31 (2 addresses). Defaults to \u003cspan pulumi-lang-nodejs=\"`28`\" pulumi-lang-dotnet=\"`28`\" pulumi-lang-go=\"`28`\" pulumi-lang-python=\"`28`\" pulumi-lang-yaml=\"`28`\" pulumi-lang-java=\"`28`\"\u003e`28`\u003c/span\u003e(16 addresses). Changing this forces a new resource to be created.\n\n\u003e **Note:** There may be Public IP address limits on the subscription . [More information available here](https://docs.microsoft.com/azure/azure-subscription-service-limits?toc=%2fazure%2fvirtual-network%2ftoc.json#publicip-address)\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the Public IP Prefix. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sku":{"type":"string","description":"The SKU of the Public IP Prefix. Accepted values are `Standard`. Defaults to `Standard`. Changing this forces a new resource to be created.\n\n\u003e **Note:** Public IP Prefix can only be created with Standard SKUs at this time.\n","willReplaceOnChanges":true},"skuTier":{"type":"string","description":"The SKU Tier that should be used for the Public IP. Possible values are `Regional` and `Global`. Defaults to `Regional`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"zones":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Availability Zones in which this Public IP Prefix should be located. Changing this forces a new Public IP Prefix to be created.\n\n\u003e **Note:** Availability Zones are [only supported in several regions at this time](https://docs.microsoft.com/azure/availability-zones/az-overview).\n","willReplaceOnChanges":true}},"type":"object"}},"azure:network/route:Route":{"description":"Manages a Route within a Route Table.\n\n\u003e **NOTE on Route Tables and Routes:** This provider currently\nprovides both a standalone Route resource, and allows for Routes to be defined in-line within the Route Table resource.\nAt this time you cannot use a Route Table with in-line Routes in conjunction with any Route resources. Doing so will cause a conflict of Route configurations and will overwrite Routes.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleRouteTable = new azure.network.RouteTable(\"example\", {\n    name: \"acceptanceTestRouteTable1\",\n    location: example.location,\n    resourceGroupName: example.name,\n});\nconst exampleRoute = new azure.network.Route(\"example\", {\n    name: \"acceptanceTestRoute1\",\n    resourceGroupName: example.name,\n    routeTableName: exampleRouteTable.name,\n    addressPrefix: \"10.1.0.0/16\",\n    nextHopType: \"VnetLocal\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_route_table = azure.network.RouteTable(\"example\",\n    name=\"acceptanceTestRouteTable1\",\n    location=example.location,\n    resource_group_name=example.name)\nexample_route = azure.network.Route(\"example\",\n    name=\"acceptanceTestRoute1\",\n    resource_group_name=example.name,\n    route_table_name=example_route_table.name,\n    address_prefix=\"10.1.0.0/16\",\n    next_hop_type=\"VnetLocal\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleRouteTable = new Azure.Network.RouteTable(\"example\", new()\n    {\n        Name = \"acceptanceTestRouteTable1\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n    });\n\n    var exampleRoute = new Azure.Network.Route(\"example\", new()\n    {\n        Name = \"acceptanceTestRoute1\",\n        ResourceGroupName = example.Name,\n        RouteTableName = exampleRouteTable.Name,\n        AddressPrefix = \"10.1.0.0/16\",\n        NextHopType = \"VnetLocal\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleRouteTable, err := network.NewRouteTable(ctx, \"example\", \u0026network.RouteTableArgs{\n\t\t\tName:              pulumi.String(\"acceptanceTestRouteTable1\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = network.NewRoute(ctx, \"example\", \u0026network.RouteArgs{\n\t\t\tName:              pulumi.String(\"acceptanceTestRoute1\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tRouteTableName:    exampleRouteTable.Name,\n\t\t\tAddressPrefix:     pulumi.String(\"10.1.0.0/16\"),\n\t\t\tNextHopType:       pulumi.String(\"VnetLocal\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.RouteTable;\nimport com.pulumi.azure.network.RouteTableArgs;\nimport com.pulumi.azure.network.Route;\nimport com.pulumi.azure.network.RouteArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleRouteTable = new RouteTable(\"exampleRouteTable\", RouteTableArgs.builder()\n            .name(\"acceptanceTestRouteTable1\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .build());\n\n        var exampleRoute = new Route(\"exampleRoute\", RouteArgs.builder()\n            .name(\"acceptanceTestRoute1\")\n            .resourceGroupName(example.name())\n            .routeTableName(exampleRouteTable.name())\n            .addressPrefix(\"10.1.0.0/16\")\n            .nextHopType(\"VnetLocal\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleRouteTable:\n    type: azure:network:RouteTable\n    name: example\n    properties:\n      name: acceptanceTestRouteTable1\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n  exampleRoute:\n    type: azure:network:Route\n    name: example\n    properties:\n      name: acceptanceTestRoute1\n      resourceGroupName: ${example.name}\n      routeTableName: ${exampleRouteTable.name}\n      addressPrefix: 10.1.0.0/16\n      nextHopType: VnetLocal\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2025-01-01\n\n## Import\n\nRoutes can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:network/route:Route exampleRoute /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Network/routeTables/mytable1/routes/myroute1\n```\n\n","properties":{"addressPrefix":{"type":"string","description":"The destination to which the route applies. Can be CIDR (such as `10.1.0.0/16`) or [Azure Service Tag](https://docs.microsoft.com/azure/virtual-network/service-tags-overview) (such as `ApiManagement`, `AzureBackup` or `AzureMonitor`) format.\n"},"name":{"type":"string","description":"The name of the route. Changing this forces a new resource to be created.\n"},"nextHopInIpAddress":{"type":"string","description":"Contains the IP address packets should be forwarded to. Next hop values are only allowed in routes where the next hop type is `VirtualAppliance`.\n"},"nextHopType":{"type":"string","description":"The type of Azure hop the packet should be sent to. Possible values are `VirtualNetworkGateway`, `VnetLocal`, `Internet`, `VirtualAppliance` and `None`.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the route. Changing this forces a new resource to be created.\n"},"routeTableName":{"type":"string","description":"The name of the route table within which create the route. Changing this forces a new resource to be created.\n"}},"required":["addressPrefix","name","nextHopType","resourceGroupName","routeTableName"],"inputProperties":{"addressPrefix":{"type":"string","description":"The destination to which the route applies. Can be CIDR (such as `10.1.0.0/16`) or [Azure Service Tag](https://docs.microsoft.com/azure/virtual-network/service-tags-overview) (such as `ApiManagement`, `AzureBackup` or `AzureMonitor`) format.\n"},"name":{"type":"string","description":"The name of the route. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"nextHopInIpAddress":{"type":"string","description":"Contains the IP address packets should be forwarded to. Next hop values are only allowed in routes where the next hop type is `VirtualAppliance`.\n"},"nextHopType":{"type":"string","description":"The type of Azure hop the packet should be sent to. Possible values are `VirtualNetworkGateway`, `VnetLocal`, `Internet`, `VirtualAppliance` and `None`.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the route. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"routeTableName":{"type":"string","description":"The name of the route table within which create the route. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["addressPrefix","nextHopType","resourceGroupName","routeTableName"],"stateInputs":{"description":"Input properties used for looking up and filtering Route resources.\n","properties":{"addressPrefix":{"type":"string","description":"The destination to which the route applies. Can be CIDR (such as `10.1.0.0/16`) or [Azure Service Tag](https://docs.microsoft.com/azure/virtual-network/service-tags-overview) (such as `ApiManagement`, `AzureBackup` or `AzureMonitor`) format.\n"},"name":{"type":"string","description":"The name of the route. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"nextHopInIpAddress":{"type":"string","description":"Contains the IP address packets should be forwarded to. Next hop values are only allowed in routes where the next hop type is `VirtualAppliance`.\n"},"nextHopType":{"type":"string","description":"The type of Azure hop the packet should be sent to. Possible values are `VirtualNetworkGateway`, `VnetLocal`, `Internet`, `VirtualAppliance` and `None`.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the route. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"routeTableName":{"type":"string","description":"The name of the route table within which create the route. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:network/routeFilter:RouteFilter":{"description":"Manages a Route Filter.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.network.RouteFilter(\"example\", {\n    name: \"example\",\n    resourceGroupName: \"example\",\n    location: \"East US\",\n    rule: {\n        name: \"rule\",\n        access: \"Allow\",\n        ruleType: \"Community\",\n        communities: [\"12076:52004\"],\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.network.RouteFilter(\"example\",\n    name=\"example\",\n    resource_group_name=\"example\",\n    location=\"East US\",\n    rule={\n        \"name\": \"rule\",\n        \"access\": \"Allow\",\n        \"rule_type\": \"Community\",\n        \"communities\": [\"12076:52004\"],\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Network.RouteFilter(\"example\", new()\n    {\n        Name = \"example\",\n        ResourceGroupName = \"example\",\n        Location = \"East US\",\n        Rule = new Azure.Network.Inputs.RouteFilterRuleArgs\n        {\n            Name = \"rule\",\n            Access = \"Allow\",\n            RuleType = \"Community\",\n            Communities = new[]\n            {\n                \"12076:52004\",\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := network.NewRouteFilter(ctx, \"example\", \u0026network.RouteFilterArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tResourceGroupName: pulumi.String(\"example\"),\n\t\t\tLocation:          pulumi.String(\"East US\"),\n\t\t\tRule: \u0026network.RouteFilterRuleArgs{\n\t\t\t\tName:     pulumi.String(\"rule\"),\n\t\t\t\tAccess:   pulumi.String(\"Allow\"),\n\t\t\t\tRuleType: pulumi.String(\"Community\"),\n\t\t\t\tCommunities: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"12076:52004\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.network.RouteFilter;\nimport com.pulumi.azure.network.RouteFilterArgs;\nimport com.pulumi.azure.network.inputs.RouteFilterRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new RouteFilter(\"example\", RouteFilterArgs.builder()\n            .name(\"example\")\n            .resourceGroupName(\"example\")\n            .location(\"East US\")\n            .rule(RouteFilterRuleArgs.builder()\n                .name(\"rule\")\n                .access(\"Allow\")\n                .ruleType(\"Community\")\n                .communities(\"12076:52004\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:network:RouteFilter\n    properties:\n      name: example\n      resourceGroupName: example\n      location: East US\n      rule:\n        name: rule\n        access: Allow\n        ruleType: Community\n        communities:\n          - 12076:52004\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2025-01-01\n\n## Import\n\nRoute Filters can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:network/routeFilter:RouteFilter example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Network/routeFilters/routeFilter1\n```\n\n","properties":{"location":{"type":"string","description":"The Azure Region where the Route Filter should exist. Changing this forces a new Route Filter to be created.\n"},"name":{"type":"string","description":"The Name which should be used for this Route Filter.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Route Filter should exist. Changing this forces a new Route Filter to be created.\n"},"rule":{"$ref":"#/types/azure:network/RouteFilterRule:RouteFilterRule","description":"A \u003cspan pulumi-lang-nodejs=\"`rule`\" pulumi-lang-dotnet=\"`Rule`\" pulumi-lang-go=\"`rule`\" pulumi-lang-python=\"`rule`\" pulumi-lang-yaml=\"`rule`\" pulumi-lang-java=\"`rule`\"\u003e`rule`\u003c/span\u003e block as defined below.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Route Filter.\n"}},"required":["location","name","resourceGroupName","rule"],"inputProperties":{"location":{"type":"string","description":"The Azure Region where the Route Filter should exist. Changing this forces a new Route Filter to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The Name which should be used for this Route Filter.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Route Filter should exist. Changing this forces a new Route Filter to be created.\n","willReplaceOnChanges":true},"rule":{"$ref":"#/types/azure:network/RouteFilterRule:RouteFilterRule","description":"A \u003cspan pulumi-lang-nodejs=\"`rule`\" pulumi-lang-dotnet=\"`Rule`\" pulumi-lang-go=\"`rule`\" pulumi-lang-python=\"`rule`\" pulumi-lang-yaml=\"`rule`\" pulumi-lang-java=\"`rule`\"\u003e`rule`\u003c/span\u003e block as defined below.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Route Filter.\n"}},"requiredInputs":["resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering RouteFilter resources.\n","properties":{"location":{"type":"string","description":"The Azure Region where the Route Filter should exist. Changing this forces a new Route Filter to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The Name which should be used for this Route Filter.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Route Filter should exist. Changing this forces a new Route Filter to be created.\n","willReplaceOnChanges":true},"rule":{"$ref":"#/types/azure:network/RouteFilterRule:RouteFilterRule","description":"A \u003cspan pulumi-lang-nodejs=\"`rule`\" pulumi-lang-dotnet=\"`Rule`\" pulumi-lang-go=\"`rule`\" pulumi-lang-python=\"`rule`\" pulumi-lang-yaml=\"`rule`\" pulumi-lang-java=\"`rule`\"\u003e`rule`\u003c/span\u003e block as defined below.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Route Filter.\n"}},"type":"object"}},"azure:network/routeMap:RouteMap":{"description":"Manages a Route Map.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleVirtualWan = new azure.network.VirtualWan(\"example\", {\n    name: \"example-vwan\",\n    resourceGroupName: example.name,\n    location: example.location,\n});\nconst exampleVirtualHub = new azure.network.VirtualHub(\"example\", {\n    name: \"example-vhub\",\n    resourceGroupName: example.name,\n    location: example.location,\n    virtualWanId: exampleVirtualWan.id,\n    addressPrefix: \"10.0.1.0/24\",\n});\nconst exampleRouteMap = new azure.network.RouteMap(\"example\", {\n    name: \"example-rm\",\n    virtualHubId: exampleVirtualHub.id,\n    rules: [{\n        name: \"rule1\",\n        nextStepIfMatched: \"Continue\",\n        actions: [{\n            type: \"Add\",\n            parameters: [{\n                asPaths: [\"22334\"],\n            }],\n        }],\n        matchCriterions: [{\n            matchCondition: \"Contains\",\n            routePrefixes: [\"10.0.0.0/8\"],\n        }],\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_virtual_wan = azure.network.VirtualWan(\"example\",\n    name=\"example-vwan\",\n    resource_group_name=example.name,\n    location=example.location)\nexample_virtual_hub = azure.network.VirtualHub(\"example\",\n    name=\"example-vhub\",\n    resource_group_name=example.name,\n    location=example.location,\n    virtual_wan_id=example_virtual_wan.id,\n    address_prefix=\"10.0.1.0/24\")\nexample_route_map = azure.network.RouteMap(\"example\",\n    name=\"example-rm\",\n    virtual_hub_id=example_virtual_hub.id,\n    rules=[{\n        \"name\": \"rule1\",\n        \"next_step_if_matched\": \"Continue\",\n        \"actions\": [{\n            \"type\": \"Add\",\n            \"parameters\": [{\n                \"as_paths\": [\"22334\"],\n            }],\n        }],\n        \"match_criterions\": [{\n            \"match_condition\": \"Contains\",\n            \"route_prefixes\": [\"10.0.0.0/8\"],\n        }],\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleVirtualWan = new Azure.Network.VirtualWan(\"example\", new()\n    {\n        Name = \"example-vwan\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n    });\n\n    var exampleVirtualHub = new Azure.Network.VirtualHub(\"example\", new()\n    {\n        Name = \"example-vhub\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        VirtualWanId = exampleVirtualWan.Id,\n        AddressPrefix = \"10.0.1.0/24\",\n    });\n\n    var exampleRouteMap = new Azure.Network.RouteMap(\"example\", new()\n    {\n        Name = \"example-rm\",\n        VirtualHubId = exampleVirtualHub.Id,\n        Rules = new[]\n        {\n            new Azure.Network.Inputs.RouteMapRuleArgs\n            {\n                Name = \"rule1\",\n                NextStepIfMatched = \"Continue\",\n                Actions = new[]\n                {\n                    new Azure.Network.Inputs.RouteMapRuleActionArgs\n                    {\n                        Type = \"Add\",\n                        Parameters = new[]\n                        {\n                            new Azure.Network.Inputs.RouteMapRuleActionParameterArgs\n                            {\n                                AsPaths = new[]\n                                {\n                                    \"22334\",\n                                },\n                            },\n                        },\n                    },\n                },\n                MatchCriterions = new[]\n                {\n                    new Azure.Network.Inputs.RouteMapRuleMatchCriterionArgs\n                    {\n                        MatchCondition = \"Contains\",\n                        RoutePrefixes = new[]\n                        {\n                            \"10.0.0.0/8\",\n                        },\n                    },\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualWan, err := network.NewVirtualWan(ctx, \"example\", \u0026network.VirtualWanArgs{\n\t\t\tName:              pulumi.String(\"example-vwan\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualHub, err := network.NewVirtualHub(ctx, \"example\", \u0026network.VirtualHubArgs{\n\t\t\tName:              pulumi.String(\"example-vhub\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tVirtualWanId:      exampleVirtualWan.ID(),\n\t\t\tAddressPrefix:     pulumi.String(\"10.0.1.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = network.NewRouteMapResource(ctx, \"example\", \u0026network.RouteMapResourceArgs{\n\t\t\tName:         pulumi.String(\"example-rm\"),\n\t\t\tVirtualHubId: exampleVirtualHub.ID(),\n\t\t\tRules: network.RouteMapRuleArray{\n\t\t\t\t\u0026network.RouteMapRuleArgs{\n\t\t\t\t\tName:              pulumi.String(\"rule1\"),\n\t\t\t\t\tNextStepIfMatched: pulumi.String(\"Continue\"),\n\t\t\t\t\tActions: network.RouteMapRuleActionArray{\n\t\t\t\t\t\t\u0026network.RouteMapRuleActionArgs{\n\t\t\t\t\t\t\tType: pulumi.String(\"Add\"),\n\t\t\t\t\t\t\tParameters: network.RouteMapRuleActionParameterArray{\n\t\t\t\t\t\t\t\t\u0026network.RouteMapRuleActionParameterArgs{\n\t\t\t\t\t\t\t\t\tAsPaths: pulumi.StringArray{\n\t\t\t\t\t\t\t\t\t\tpulumi.String(\"22334\"),\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tMatchCriterions: network.RouteMapRuleMatchCriterionArray{\n\t\t\t\t\t\t\u0026network.RouteMapRuleMatchCriterionArgs{\n\t\t\t\t\t\t\tMatchCondition: pulumi.String(\"Contains\"),\n\t\t\t\t\t\t\tRoutePrefixes: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"10.0.0.0/8\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.VirtualWan;\nimport com.pulumi.azure.network.VirtualWanArgs;\nimport com.pulumi.azure.network.VirtualHub;\nimport com.pulumi.azure.network.VirtualHubArgs;\nimport com.pulumi.azure.network.RouteMap;\nimport com.pulumi.azure.network.RouteMapArgs;\nimport com.pulumi.azure.network.inputs.RouteMapRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleVirtualWan = new VirtualWan(\"exampleVirtualWan\", VirtualWanArgs.builder()\n            .name(\"example-vwan\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .build());\n\n        var exampleVirtualHub = new VirtualHub(\"exampleVirtualHub\", VirtualHubArgs.builder()\n            .name(\"example-vhub\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .virtualWanId(exampleVirtualWan.id())\n            .addressPrefix(\"10.0.1.0/24\")\n            .build());\n\n        var exampleRouteMap = new RouteMap(\"exampleRouteMap\", RouteMapArgs.builder()\n            .name(\"example-rm\")\n            .virtualHubId(exampleVirtualHub.id())\n            .rules(RouteMapRuleArgs.builder()\n                .name(\"rule1\")\n                .nextStepIfMatched(\"Continue\")\n                .actions(RouteMapRuleActionArgs.builder()\n                    .type(\"Add\")\n                    .parameters(RouteMapRuleActionParameterArgs.builder()\n                        .asPaths(\"22334\")\n                        .build())\n                    .build())\n                .matchCriterions(RouteMapRuleMatchCriterionArgs.builder()\n                    .matchCondition(\"Contains\")\n                    .routePrefixes(\"10.0.0.0/8\")\n                    .build())\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleVirtualWan:\n    type: azure:network:VirtualWan\n    name: example\n    properties:\n      name: example-vwan\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n  exampleVirtualHub:\n    type: azure:network:VirtualHub\n    name: example\n    properties:\n      name: example-vhub\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      virtualWanId: ${exampleVirtualWan.id}\n      addressPrefix: 10.0.1.0/24\n  exampleRouteMap:\n    type: azure:network:RouteMap\n    name: example\n    properties:\n      name: example-rm\n      virtualHubId: ${exampleVirtualHub.id}\n      rules:\n        - name: rule1\n          nextStepIfMatched: Continue\n          actions:\n            - type: Add\n              parameters:\n                - asPaths:\n                    - '22334'\n          matchCriterions:\n            - matchCondition: Contains\n              routePrefixes:\n                - 10.0.0.0/8\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2025-01-01\n\n## Import\n\nRoute Maps can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:network/routeMap:RouteMap example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup1/providers/Microsoft.Network/virtualHubs/virtualHub1/routeMaps/routeMap1\n```\n\n","properties":{"name":{"type":"string","description":"The name which should be used for this Route Map. Changing this forces a new resource to be created.\n"},"rules":{"type":"array","items":{"$ref":"#/types/azure:network/RouteMapRule:RouteMapRule"},"description":"A \u003cspan pulumi-lang-nodejs=\"`rule`\" pulumi-lang-dotnet=\"`Rule`\" pulumi-lang-go=\"`rule`\" pulumi-lang-python=\"`rule`\" pulumi-lang-yaml=\"`rule`\" pulumi-lang-java=\"`rule`\"\u003e`rule`\u003c/span\u003e block as defined below.\n"},"virtualHubId":{"type":"string","description":"The resource ID of the Virtual Hub. Changing this forces a new resource to be created.\n"}},"required":["name","virtualHubId"],"inputProperties":{"name":{"type":"string","description":"The name which should be used for this Route Map. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"rules":{"type":"array","items":{"$ref":"#/types/azure:network/RouteMapRule:RouteMapRule"},"description":"A \u003cspan pulumi-lang-nodejs=\"`rule`\" pulumi-lang-dotnet=\"`Rule`\" pulumi-lang-go=\"`rule`\" pulumi-lang-python=\"`rule`\" pulumi-lang-yaml=\"`rule`\" pulumi-lang-java=\"`rule`\"\u003e`rule`\u003c/span\u003e block as defined below.\n"},"virtualHubId":{"type":"string","description":"The resource ID of the Virtual Hub. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["virtualHubId"],"stateInputs":{"description":"Input properties used for looking up and filtering RouteMap resources.\n","properties":{"name":{"type":"string","description":"The name which should be used for this Route Map. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"rules":{"type":"array","items":{"$ref":"#/types/azure:network/RouteMapRule:RouteMapRule"},"description":"A \u003cspan pulumi-lang-nodejs=\"`rule`\" pulumi-lang-dotnet=\"`Rule`\" pulumi-lang-go=\"`rule`\" pulumi-lang-python=\"`rule`\" pulumi-lang-yaml=\"`rule`\" pulumi-lang-java=\"`rule`\"\u003e`rule`\u003c/span\u003e block as defined below.\n"},"virtualHubId":{"type":"string","description":"The resource ID of the Virtual Hub. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:network/routeServer:RouteServer":{"description":"Manages an Azure Route Server\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"example\", {\n    name: \"example-vn\",\n    addressSpaces: [\"10.0.0.0/16\"],\n    resourceGroupName: example.name,\n    location: example.location,\n    tags: {\n        environment: \"Production\",\n    },\n});\nconst exampleSubnet = new azure.network.Subnet(\"example\", {\n    name: \"RouteServerSubnet\",\n    virtualNetworkName: exampleVirtualNetwork.name,\n    resourceGroupName: example.name,\n    addressPrefixes: [\"10.0.1.0/24\"],\n});\nconst examplePublicIp = new azure.network.PublicIp(\"example\", {\n    name: \"example-pip\",\n    resourceGroupName: example.name,\n    location: example.location,\n    allocationMethod: \"Static\",\n    sku: \"Standard\",\n});\nconst exampleRouteServer = new azure.network.RouteServer(\"example\", {\n    name: \"example-routerserver\",\n    resourceGroupName: example.name,\n    location: example.location,\n    sku: \"Standard\",\n    publicIpAddressId: examplePublicIp.id,\n    subnetId: exampleSubnet.id,\n    branchToBranchTrafficEnabled: true,\n    hubRoutingPreference: \"ASPath\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_virtual_network = azure.network.VirtualNetwork(\"example\",\n    name=\"example-vn\",\n    address_spaces=[\"10.0.0.0/16\"],\n    resource_group_name=example.name,\n    location=example.location,\n    tags={\n        \"environment\": \"Production\",\n    })\nexample_subnet = azure.network.Subnet(\"example\",\n    name=\"RouteServerSubnet\",\n    virtual_network_name=example_virtual_network.name,\n    resource_group_name=example.name,\n    address_prefixes=[\"10.0.1.0/24\"])\nexample_public_ip = azure.network.PublicIp(\"example\",\n    name=\"example-pip\",\n    resource_group_name=example.name,\n    location=example.location,\n    allocation_method=\"Static\",\n    sku=\"Standard\")\nexample_route_server = azure.network.RouteServer(\"example\",\n    name=\"example-routerserver\",\n    resource_group_name=example.name,\n    location=example.location,\n    sku=\"Standard\",\n    public_ip_address_id=example_public_ip.id,\n    subnet_id=example_subnet.id,\n    branch_to_branch_traffic_enabled=True,\n    hub_routing_preference=\"ASPath\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleVirtualNetwork = new Azure.Network.VirtualNetwork(\"example\", new()\n    {\n        Name = \"example-vn\",\n        AddressSpaces = new[]\n        {\n            \"10.0.0.0/16\",\n        },\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        Tags = \n        {\n            { \"environment\", \"Production\" },\n        },\n    });\n\n    var exampleSubnet = new Azure.Network.Subnet(\"example\", new()\n    {\n        Name = \"RouteServerSubnet\",\n        VirtualNetworkName = exampleVirtualNetwork.Name,\n        ResourceGroupName = example.Name,\n        AddressPrefixes = new[]\n        {\n            \"10.0.1.0/24\",\n        },\n    });\n\n    var examplePublicIp = new Azure.Network.PublicIp(\"example\", new()\n    {\n        Name = \"example-pip\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        AllocationMethod = \"Static\",\n        Sku = \"Standard\",\n    });\n\n    var exampleRouteServer = new Azure.Network.RouteServer(\"example\", new()\n    {\n        Name = \"example-routerserver\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        Sku = \"Standard\",\n        PublicIpAddressId = examplePublicIp.Id,\n        SubnetId = exampleSubnet.Id,\n        BranchToBranchTrafficEnabled = true,\n        HubRoutingPreference = \"ASPath\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, \"example\", \u0026network.VirtualNetworkArgs{\n\t\t\tName: pulumi.String(\"example-vn\"),\n\t\t\tAddressSpaces: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.0.0/16\"),\n\t\t\t},\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"environment\": pulumi.String(\"Production\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSubnet, err := network.NewSubnet(ctx, \"example\", \u0026network.SubnetArgs{\n\t\t\tName:               pulumi.String(\"RouteServerSubnet\"),\n\t\t\tVirtualNetworkName: exampleVirtualNetwork.Name,\n\t\t\tResourceGroupName:  example.Name,\n\t\t\tAddressPrefixes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.1.0/24\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texamplePublicIp, err := network.NewPublicIp(ctx, \"example\", \u0026network.PublicIpArgs{\n\t\t\tName:              pulumi.String(\"example-pip\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tAllocationMethod:  pulumi.String(\"Static\"),\n\t\t\tSku:               pulumi.String(\"Standard\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = network.NewRouteServer(ctx, \"example\", \u0026network.RouteServerArgs{\n\t\t\tName:                         pulumi.String(\"example-routerserver\"),\n\t\t\tResourceGroupName:            example.Name,\n\t\t\tLocation:                     example.Location,\n\t\t\tSku:                          pulumi.String(\"Standard\"),\n\t\t\tPublicIpAddressId:            examplePublicIp.ID(),\n\t\t\tSubnetId:                     exampleSubnet.ID(),\n\t\t\tBranchToBranchTrafficEnabled: pulumi.Bool(true),\n\t\t\tHubRoutingPreference:         pulumi.String(\"ASPath\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.VirtualNetwork;\nimport com.pulumi.azure.network.VirtualNetworkArgs;\nimport com.pulumi.azure.network.Subnet;\nimport com.pulumi.azure.network.SubnetArgs;\nimport com.pulumi.azure.network.PublicIp;\nimport com.pulumi.azure.network.PublicIpArgs;\nimport com.pulumi.azure.network.RouteServer;\nimport com.pulumi.azure.network.RouteServerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleVirtualNetwork = new VirtualNetwork(\"exampleVirtualNetwork\", VirtualNetworkArgs.builder()\n            .name(\"example-vn\")\n            .addressSpaces(\"10.0.0.0/16\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .tags(Map.of(\"environment\", \"Production\"))\n            .build());\n\n        var exampleSubnet = new Subnet(\"exampleSubnet\", SubnetArgs.builder()\n            .name(\"RouteServerSubnet\")\n            .virtualNetworkName(exampleVirtualNetwork.name())\n            .resourceGroupName(example.name())\n            .addressPrefixes(\"10.0.1.0/24\")\n            .build());\n\n        var examplePublicIp = new PublicIp(\"examplePublicIp\", PublicIpArgs.builder()\n            .name(\"example-pip\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .allocationMethod(\"Static\")\n            .sku(\"Standard\")\n            .build());\n\n        var exampleRouteServer = new RouteServer(\"exampleRouteServer\", RouteServerArgs.builder()\n            .name(\"example-routerserver\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .sku(\"Standard\")\n            .publicIpAddressId(examplePublicIp.id())\n            .subnetId(exampleSubnet.id())\n            .branchToBranchTrafficEnabled(true)\n            .hubRoutingPreference(\"ASPath\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleVirtualNetwork:\n    type: azure:network:VirtualNetwork\n    name: example\n    properties:\n      name: example-vn\n      addressSpaces:\n        - 10.0.0.0/16\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      tags:\n        environment: Production\n  exampleSubnet:\n    type: azure:network:Subnet\n    name: example\n    properties:\n      name: RouteServerSubnet\n      virtualNetworkName: ${exampleVirtualNetwork.name}\n      resourceGroupName: ${example.name}\n      addressPrefixes:\n        - 10.0.1.0/24\n  examplePublicIp:\n    type: azure:network:PublicIp\n    name: example\n    properties:\n      name: example-pip\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      allocationMethod: Static\n      sku: Standard\n  exampleRouteServer:\n    type: azure:network:RouteServer\n    name: example\n    properties:\n      name: example-routerserver\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      sku: Standard\n      publicIpAddressId: ${examplePublicIp.id}\n      subnetId: ${exampleSubnet.id}\n      branchToBranchTrafficEnabled: true\n      hubRoutingPreference: ASPath\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2025-01-01\n\n## Import\n\nRoute Server can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:network/routeServer:RouteServer example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Network/virtualHubs/routeServer1\n```\n\n","properties":{"branchToBranchTrafficEnabled":{"type":"boolean","description":"Whether to enable route exchange between Azure Route Server and the gateway(s).\n"},"hubRoutingPreference":{"type":"string","description":"The hub routing preference. Valid values are `ASPath`, `ExpressRoute` or `VpnGateway`. Defaults to `ExpressRoute`.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the Route Server should exist. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"The name of the Route Server. Changing this forces a new resource to be created.\n"},"publicIpAddressId":{"type":"string","description":"The ID of the Public IP Address. This option is required since September 1st 2021. Changing this forces a new resource to be created.\n"},"resourceGroupName":{"type":"string","description":"Specifies the name of the Resource Group where the Route Server should exist. Changing this forces a new resource to be created.\n"},"routingState":{"type":"string"},"sku":{"type":"string","description":"The SKU of the Route Server. The only possible value is `Standard`. Changing this forces a new resource to be created.\n"},"subnetId":{"type":"string","description":"The ID of the Subnet that the Route Server will reside. Changing this forces a new resource to be created.\n\n\u003e **Note:** Azure Route Server requires a dedicated subnet named RouteServerSubnet. The subnet size has to be at least /27 or short prefix (such as /26 or /25) and cannot be attached to any security group, otherwise, you'll receive an error message when deploying the Route Server.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"virtualRouterAsn":{"type":"integer"},"virtualRouterIps":{"type":"array","items":{"type":"string"}}},"required":["location","name","publicIpAddressId","resourceGroupName","routingState","sku","subnetId","virtualRouterAsn","virtualRouterIps"],"inputProperties":{"branchToBranchTrafficEnabled":{"type":"boolean","description":"Whether to enable route exchange between Azure Route Server and the gateway(s).\n"},"hubRoutingPreference":{"type":"string","description":"The hub routing preference. Valid values are `ASPath`, `ExpressRoute` or `VpnGateway`. Defaults to `ExpressRoute`.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the Route Server should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the Route Server. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"publicIpAddressId":{"type":"string","description":"The ID of the Public IP Address. This option is required since September 1st 2021. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"Specifies the name of the Resource Group where the Route Server should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sku":{"type":"string","description":"The SKU of the Route Server. The only possible value is `Standard`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"subnetId":{"type":"string","description":"The ID of the Subnet that the Route Server will reside. Changing this forces a new resource to be created.\n\n\u003e **Note:** Azure Route Server requires a dedicated subnet named RouteServerSubnet. The subnet size has to be at least /27 or short prefix (such as /26 or /25) and cannot be attached to any security group, otherwise, you'll receive an error message when deploying the Route Server.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"requiredInputs":["publicIpAddressId","resourceGroupName","sku","subnetId"],"stateInputs":{"description":"Input properties used for looking up and filtering RouteServer resources.\n","properties":{"branchToBranchTrafficEnabled":{"type":"boolean","description":"Whether to enable route exchange between Azure Route Server and the gateway(s).\n"},"hubRoutingPreference":{"type":"string","description":"The hub routing preference. Valid values are `ASPath`, `ExpressRoute` or `VpnGateway`. Defaults to `ExpressRoute`.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the Route Server should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the Route Server. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"publicIpAddressId":{"type":"string","description":"The ID of the Public IP Address. This option is required since September 1st 2021. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"Specifies the name of the Resource Group where the Route Server should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"routingState":{"type":"string"},"sku":{"type":"string","description":"The SKU of the Route Server. The only possible value is `Standard`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"subnetId":{"type":"string","description":"The ID of the Subnet that the Route Server will reside. Changing this forces a new resource to be created.\n\n\u003e **Note:** Azure Route Server requires a dedicated subnet named RouteServerSubnet. The subnet size has to be at least /27 or short prefix (such as /26 or /25) and cannot be attached to any security group, otherwise, you'll receive an error message when deploying the Route Server.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"virtualRouterAsn":{"type":"integer"},"virtualRouterIps":{"type":"array","items":{"type":"string"}}},"type":"object"}},"azure:network/routeServerBgpConnection:RouteServerBgpConnection":{"description":"Manages a Bgp Connection for a Route Server\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"example\", {\n    name: \"example-vn\",\n    addressSpaces: [\"10.0.0.0/16\"],\n    resourceGroupName: example.name,\n    location: example.location,\n    tags: {\n        environment: \"Production\",\n    },\n});\nconst exampleSubnet = new azure.network.Subnet(\"example\", {\n    name: \"RouteServerSubnet\",\n    virtualNetworkName: exampleVirtualNetwork.name,\n    resourceGroupName: example.name,\n    addressPrefixes: [\"10.0.1.0/24\"],\n});\nconst examplePublicIp = new azure.network.PublicIp(\"example\", {\n    name: \"example-pip\",\n    resourceGroupName: example.name,\n    location: example.location,\n    allocationMethod: \"Static\",\n    sku: \"Standard\",\n});\nconst exampleRouteServer = new azure.network.RouteServer(\"example\", {\n    name: \"example-routerserver\",\n    resourceGroupName: example.name,\n    location: example.location,\n    sku: \"Standard\",\n    publicIpAddressId: examplePublicIp.id,\n    subnetId: exampleSubnet.id,\n    branchToBranchTrafficEnabled: true,\n});\nconst exampleRouteServerBgpConnection = new azure.network.RouteServerBgpConnection(\"example\", {\n    name: \"example-rs-bgpconnection\",\n    routeServerId: exampleRouteServer.id,\n    peerAsn: 65501,\n    peerIp: \"169.254.21.5\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_virtual_network = azure.network.VirtualNetwork(\"example\",\n    name=\"example-vn\",\n    address_spaces=[\"10.0.0.0/16\"],\n    resource_group_name=example.name,\n    location=example.location,\n    tags={\n        \"environment\": \"Production\",\n    })\nexample_subnet = azure.network.Subnet(\"example\",\n    name=\"RouteServerSubnet\",\n    virtual_network_name=example_virtual_network.name,\n    resource_group_name=example.name,\n    address_prefixes=[\"10.0.1.0/24\"])\nexample_public_ip = azure.network.PublicIp(\"example\",\n    name=\"example-pip\",\n    resource_group_name=example.name,\n    location=example.location,\n    allocation_method=\"Static\",\n    sku=\"Standard\")\nexample_route_server = azure.network.RouteServer(\"example\",\n    name=\"example-routerserver\",\n    resource_group_name=example.name,\n    location=example.location,\n    sku=\"Standard\",\n    public_ip_address_id=example_public_ip.id,\n    subnet_id=example_subnet.id,\n    branch_to_branch_traffic_enabled=True)\nexample_route_server_bgp_connection = azure.network.RouteServerBgpConnection(\"example\",\n    name=\"example-rs-bgpconnection\",\n    route_server_id=example_route_server.id,\n    peer_asn=65501,\n    peer_ip=\"169.254.21.5\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleVirtualNetwork = new Azure.Network.VirtualNetwork(\"example\", new()\n    {\n        Name = \"example-vn\",\n        AddressSpaces = new[]\n        {\n            \"10.0.0.0/16\",\n        },\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        Tags = \n        {\n            { \"environment\", \"Production\" },\n        },\n    });\n\n    var exampleSubnet = new Azure.Network.Subnet(\"example\", new()\n    {\n        Name = \"RouteServerSubnet\",\n        VirtualNetworkName = exampleVirtualNetwork.Name,\n        ResourceGroupName = example.Name,\n        AddressPrefixes = new[]\n        {\n            \"10.0.1.0/24\",\n        },\n    });\n\n    var examplePublicIp = new Azure.Network.PublicIp(\"example\", new()\n    {\n        Name = \"example-pip\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        AllocationMethod = \"Static\",\n        Sku = \"Standard\",\n    });\n\n    var exampleRouteServer = new Azure.Network.RouteServer(\"example\", new()\n    {\n        Name = \"example-routerserver\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        Sku = \"Standard\",\n        PublicIpAddressId = examplePublicIp.Id,\n        SubnetId = exampleSubnet.Id,\n        BranchToBranchTrafficEnabled = true,\n    });\n\n    var exampleRouteServerBgpConnection = new Azure.Network.RouteServerBgpConnection(\"example\", new()\n    {\n        Name = \"example-rs-bgpconnection\",\n        RouteServerId = exampleRouteServer.Id,\n        PeerAsn = 65501,\n        PeerIp = \"169.254.21.5\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, \"example\", \u0026network.VirtualNetworkArgs{\n\t\t\tName: pulumi.String(\"example-vn\"),\n\t\t\tAddressSpaces: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.0.0/16\"),\n\t\t\t},\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"environment\": pulumi.String(\"Production\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSubnet, err := network.NewSubnet(ctx, \"example\", \u0026network.SubnetArgs{\n\t\t\tName:               pulumi.String(\"RouteServerSubnet\"),\n\t\t\tVirtualNetworkName: exampleVirtualNetwork.Name,\n\t\t\tResourceGroupName:  example.Name,\n\t\t\tAddressPrefixes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.1.0/24\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texamplePublicIp, err := network.NewPublicIp(ctx, \"example\", \u0026network.PublicIpArgs{\n\t\t\tName:              pulumi.String(\"example-pip\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tAllocationMethod:  pulumi.String(\"Static\"),\n\t\t\tSku:               pulumi.String(\"Standard\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleRouteServer, err := network.NewRouteServer(ctx, \"example\", \u0026network.RouteServerArgs{\n\t\t\tName:                         pulumi.String(\"example-routerserver\"),\n\t\t\tResourceGroupName:            example.Name,\n\t\t\tLocation:                     example.Location,\n\t\t\tSku:                          pulumi.String(\"Standard\"),\n\t\t\tPublicIpAddressId:            examplePublicIp.ID(),\n\t\t\tSubnetId:                     exampleSubnet.ID(),\n\t\t\tBranchToBranchTrafficEnabled: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = network.NewRouteServerBgpConnection(ctx, \"example\", \u0026network.RouteServerBgpConnectionArgs{\n\t\t\tName:          pulumi.String(\"example-rs-bgpconnection\"),\n\t\t\tRouteServerId: exampleRouteServer.ID(),\n\t\t\tPeerAsn:       pulumi.Int(65501),\n\t\t\tPeerIp:        pulumi.String(\"169.254.21.5\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.VirtualNetwork;\nimport com.pulumi.azure.network.VirtualNetworkArgs;\nimport com.pulumi.azure.network.Subnet;\nimport com.pulumi.azure.network.SubnetArgs;\nimport com.pulumi.azure.network.PublicIp;\nimport com.pulumi.azure.network.PublicIpArgs;\nimport com.pulumi.azure.network.RouteServer;\nimport com.pulumi.azure.network.RouteServerArgs;\nimport com.pulumi.azure.network.RouteServerBgpConnection;\nimport com.pulumi.azure.network.RouteServerBgpConnectionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleVirtualNetwork = new VirtualNetwork(\"exampleVirtualNetwork\", VirtualNetworkArgs.builder()\n            .name(\"example-vn\")\n            .addressSpaces(\"10.0.0.0/16\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .tags(Map.of(\"environment\", \"Production\"))\n            .build());\n\n        var exampleSubnet = new Subnet(\"exampleSubnet\", SubnetArgs.builder()\n            .name(\"RouteServerSubnet\")\n            .virtualNetworkName(exampleVirtualNetwork.name())\n            .resourceGroupName(example.name())\n            .addressPrefixes(\"10.0.1.0/24\")\n            .build());\n\n        var examplePublicIp = new PublicIp(\"examplePublicIp\", PublicIpArgs.builder()\n            .name(\"example-pip\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .allocationMethod(\"Static\")\n            .sku(\"Standard\")\n            .build());\n\n        var exampleRouteServer = new RouteServer(\"exampleRouteServer\", RouteServerArgs.builder()\n            .name(\"example-routerserver\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .sku(\"Standard\")\n            .publicIpAddressId(examplePublicIp.id())\n            .subnetId(exampleSubnet.id())\n            .branchToBranchTrafficEnabled(true)\n            .build());\n\n        var exampleRouteServerBgpConnection = new RouteServerBgpConnection(\"exampleRouteServerBgpConnection\", RouteServerBgpConnectionArgs.builder()\n            .name(\"example-rs-bgpconnection\")\n            .routeServerId(exampleRouteServer.id())\n            .peerAsn(65501)\n            .peerIp(\"169.254.21.5\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleVirtualNetwork:\n    type: azure:network:VirtualNetwork\n    name: example\n    properties:\n      name: example-vn\n      addressSpaces:\n        - 10.0.0.0/16\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      tags:\n        environment: Production\n  exampleSubnet:\n    type: azure:network:Subnet\n    name: example\n    properties:\n      name: RouteServerSubnet\n      virtualNetworkName: ${exampleVirtualNetwork.name}\n      resourceGroupName: ${example.name}\n      addressPrefixes:\n        - 10.0.1.0/24\n  examplePublicIp:\n    type: azure:network:PublicIp\n    name: example\n    properties:\n      name: example-pip\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      allocationMethod: Static\n      sku: Standard\n  exampleRouteServer:\n    type: azure:network:RouteServer\n    name: example\n    properties:\n      name: example-routerserver\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      sku: Standard\n      publicIpAddressId: ${examplePublicIp.id}\n      subnetId: ${exampleSubnet.id}\n      branchToBranchTrafficEnabled: true\n  exampleRouteServerBgpConnection:\n    type: azure:network:RouteServerBgpConnection\n    name: example\n    properties:\n      name: example-rs-bgpconnection\n      routeServerId: ${exampleRouteServer.id}\n      peerAsn: 65501\n      peerIp: 169.254.21.5\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2025-01-01\n\n## Import\n\nRoute Server Bgp Connections can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:network/routeServerBgpConnection:RouteServerBgpConnection example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Network/virtualHubs/routeServer1/bgpConnections/connection1\n```\n\n","properties":{"name":{"type":"string","description":"The name which should be used for this Route Server Bgp Connection. Changing this forces a new resource to be created.\n"},"peerAsn":{"type":"integer","description":"The peer autonomous system number for the Route Server Bgp Connection. Changing this forces a new resource to be created.\n"},"peerIp":{"type":"string","description":"The peer ip address for the Route Server Bgp Connection. Changing this forces a new resource to be created.\n"},"routeServerId":{"type":"string","description":"The ID of the Route Server within which this Bgp connection should be created. Changing this forces a new resource to be created.\n"}},"required":["name","peerAsn","peerIp","routeServerId"],"inputProperties":{"name":{"type":"string","description":"The name which should be used for this Route Server Bgp Connection. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"peerAsn":{"type":"integer","description":"The peer autonomous system number for the Route Server Bgp Connection. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"peerIp":{"type":"string","description":"The peer ip address for the Route Server Bgp Connection. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"routeServerId":{"type":"string","description":"The ID of the Route Server within which this Bgp connection should be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["peerAsn","peerIp","routeServerId"],"stateInputs":{"description":"Input properties used for looking up and filtering RouteServerBgpConnection resources.\n","properties":{"name":{"type":"string","description":"The name which should be used for this Route Server Bgp Connection. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"peerAsn":{"type":"integer","description":"The peer autonomous system number for the Route Server Bgp Connection. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"peerIp":{"type":"string","description":"The peer ip address for the Route Server Bgp Connection. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"routeServerId":{"type":"string","description":"The ID of the Route Server within which this Bgp connection should be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:network/routeTable:RouteTable":{"description":"Manages a Route Table\n\n\u003e **NOTE on Route Tables and Routes:** There is both a standalone \u003cspan pulumi-lang-nodejs=\"`route`\" pulumi-lang-dotnet=\"`Route`\" pulumi-lang-go=\"`route`\" pulumi-lang-python=\"`route`\" pulumi-lang-yaml=\"`route`\" pulumi-lang-java=\"`route`\"\u003e`route`\u003c/span\u003e resource, and allows for Routes to be defined in-line within the \u003cspan pulumi-lang-nodejs=\"`routeTable`\" pulumi-lang-dotnet=\"`RouteTable`\" pulumi-lang-go=\"`routeTable`\" pulumi-lang-python=\"`route_table`\" pulumi-lang-yaml=\"`routeTable`\" pulumi-lang-java=\"`routeTable`\"\u003e`route_table`\u003c/span\u003e resource.\nAt this time you cannot use a Route Table with in-line Routes in conjunction with any Route resources. Doing so will cause a conflict of Route configurations and will overwrite Routes.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleRouteTable = new azure.network.RouteTable(\"example\", {\n    name: \"example-route-table\",\n    location: example.location,\n    resourceGroupName: example.name,\n    routes: [{\n        name: \"route1\",\n        addressPrefix: \"10.1.0.0/16\",\n        nextHopType: \"VnetLocal\",\n    }],\n    tags: {\n        environment: \"Production\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_route_table = azure.network.RouteTable(\"example\",\n    name=\"example-route-table\",\n    location=example.location,\n    resource_group_name=example.name,\n    routes=[{\n        \"name\": \"route1\",\n        \"address_prefix\": \"10.1.0.0/16\",\n        \"next_hop_type\": \"VnetLocal\",\n    }],\n    tags={\n        \"environment\": \"Production\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleRouteTable = new Azure.Network.RouteTable(\"example\", new()\n    {\n        Name = \"example-route-table\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Routes = new[]\n        {\n            new Azure.Network.Inputs.RouteTableRouteArgs\n            {\n                Name = \"route1\",\n                AddressPrefix = \"10.1.0.0/16\",\n                NextHopType = \"VnetLocal\",\n            },\n        },\n        Tags = \n        {\n            { \"environment\", \"Production\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = network.NewRouteTable(ctx, \"example\", \u0026network.RouteTableArgs{\n\t\t\tName:              pulumi.String(\"example-route-table\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tRoutes: network.RouteTableRouteArray{\n\t\t\t\t\u0026network.RouteTableRouteArgs{\n\t\t\t\t\tName:          pulumi.String(\"route1\"),\n\t\t\t\t\tAddressPrefix: pulumi.String(\"10.1.0.0/16\"),\n\t\t\t\t\tNextHopType:   pulumi.String(\"VnetLocal\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"environment\": pulumi.String(\"Production\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.RouteTable;\nimport com.pulumi.azure.network.RouteTableArgs;\nimport com.pulumi.azure.network.inputs.RouteTableRouteArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleRouteTable = new RouteTable(\"exampleRouteTable\", RouteTableArgs.builder()\n            .name(\"example-route-table\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .routes(RouteTableRouteArgs.builder()\n                .name(\"route1\")\n                .addressPrefix(\"10.1.0.0/16\")\n                .nextHopType(\"VnetLocal\")\n                .build())\n            .tags(Map.of(\"environment\", \"Production\"))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleRouteTable:\n    type: azure:network:RouteTable\n    name: example\n    properties:\n      name: example-route-table\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      routes:\n        - name: route1\n          addressPrefix: 10.1.0.0/16\n          nextHopType: VnetLocal\n      tags:\n        environment: Production\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2025-01-01\n\n## Import\n\nRoute Tables can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:network/routeTable:RouteTable example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Network/routeTables/mytable1\n```\n\n","properties":{"bgpRoutePropagationEnabled":{"type":"boolean","description":"Boolean flag which controls propagation of routes learned by BGP on that route table. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"The name of the route.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the route table. Changing this forces a new resource to be created.\n"},"routes":{"type":"array","items":{"$ref":"#/types/azure:network/RouteTableRoute:RouteTableRoute"},"description":"A list of objects representing routes. Each object accepts the arguments documented below.\n\n\u003e **NOTE** Since \u003cspan pulumi-lang-nodejs=\"`route`\" pulumi-lang-dotnet=\"`Route`\" pulumi-lang-go=\"`route`\" pulumi-lang-python=\"`route`\" pulumi-lang-yaml=\"`route`\" pulumi-lang-java=\"`route`\"\u003e`route`\u003c/span\u003e can be configured both inline and via the separate \u003cspan pulumi-lang-nodejs=\"`azure.network.Route`\" pulumi-lang-dotnet=\"`azure.network.Route`\" pulumi-lang-go=\"`network.Route`\" pulumi-lang-python=\"`network.Route`\" pulumi-lang-yaml=\"`azure.network.Route`\" pulumi-lang-java=\"`azure.network.Route`\"\u003e`azure.network.Route`\u003c/span\u003e resource, we have to explicitly set it to empty slice (`[]`) to remove it.\n"},"subnets":{"type":"array","items":{"type":"string"},"description":"The collection of Subnets associated with this route table.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"required":["location","name","resourceGroupName","routes","subnets"],"inputProperties":{"bgpRoutePropagationEnabled":{"type":"boolean","description":"Boolean flag which controls propagation of routes learned by BGP on that route table. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the route.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the route table. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"routes":{"type":"array","items":{"$ref":"#/types/azure:network/RouteTableRoute:RouteTableRoute"},"description":"A list of objects representing routes. Each object accepts the arguments documented below.\n\n\u003e **NOTE** Since \u003cspan pulumi-lang-nodejs=\"`route`\" pulumi-lang-dotnet=\"`Route`\" pulumi-lang-go=\"`route`\" pulumi-lang-python=\"`route`\" pulumi-lang-yaml=\"`route`\" pulumi-lang-java=\"`route`\"\u003e`route`\u003c/span\u003e can be configured both inline and via the separate \u003cspan pulumi-lang-nodejs=\"`azure.network.Route`\" pulumi-lang-dotnet=\"`azure.network.Route`\" pulumi-lang-go=\"`network.Route`\" pulumi-lang-python=\"`network.Route`\" pulumi-lang-yaml=\"`azure.network.Route`\" pulumi-lang-java=\"`azure.network.Route`\"\u003e`azure.network.Route`\u003c/span\u003e resource, we have to explicitly set it to empty slice (`[]`) to remove it.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"requiredInputs":["resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering RouteTable resources.\n","properties":{"bgpRoutePropagationEnabled":{"type":"boolean","description":"Boolean flag which controls propagation of routes learned by BGP on that route table. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the route.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the route table. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"routes":{"type":"array","items":{"$ref":"#/types/azure:network/RouteTableRoute:RouteTableRoute"},"description":"A list of objects representing routes. Each object accepts the arguments documented below.\n\n\u003e **NOTE** Since \u003cspan pulumi-lang-nodejs=\"`route`\" pulumi-lang-dotnet=\"`Route`\" pulumi-lang-go=\"`route`\" pulumi-lang-python=\"`route`\" pulumi-lang-yaml=\"`route`\" pulumi-lang-java=\"`route`\"\u003e`route`\u003c/span\u003e can be configured both inline and via the separate \u003cspan pulumi-lang-nodejs=\"`azure.network.Route`\" pulumi-lang-dotnet=\"`azure.network.Route`\" pulumi-lang-go=\"`network.Route`\" pulumi-lang-python=\"`network.Route`\" pulumi-lang-yaml=\"`azure.network.Route`\" pulumi-lang-java=\"`azure.network.Route`\"\u003e`azure.network.Route`\u003c/span\u003e resource, we have to explicitly set it to empty slice (`[]`) to remove it.\n"},"subnets":{"type":"array","items":{"type":"string"},"description":"The collection of Subnets associated with this route table.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"type":"object"}},"azure:network/routingIntent:RoutingIntent":{"description":"Manages a Virtual Hub Routing Intent.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleVirtualWan = new azure.network.VirtualWan(\"example\", {\n    name: \"example-vwan\",\n    resourceGroupName: example.name,\n    location: example.location,\n});\nconst exampleVirtualHub = new azure.network.VirtualHub(\"example\", {\n    name: \"example-vhub\",\n    resourceGroupName: example.name,\n    location: example.location,\n    virtualWanId: exampleVirtualWan.id,\n    addressPrefix: \"10.0.1.0/24\",\n});\nconst exampleFirewall = new azure.network.Firewall(\"example\", {\n    name: \"example-fw\",\n    location: example.location,\n    resourceGroupName: example.name,\n    skuName: \"AZFW_Hub\",\n    skuTier: \"Standard\",\n    virtualHub: {\n        virtualHubId: exampleVirtualHub.id,\n        publicIpCount: 1,\n    },\n});\nconst exampleRoutingIntent = new azure.network.RoutingIntent(\"example\", {\n    name: \"example-routingintent\",\n    virtualHubId: exampleVirtualHub.id,\n    routingPolicies: [{\n        name: \"InternetTrafficPolicy\",\n        destinations: [\"Internet\"],\n        nextHop: exampleFirewall.id,\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_virtual_wan = azure.network.VirtualWan(\"example\",\n    name=\"example-vwan\",\n    resource_group_name=example.name,\n    location=example.location)\nexample_virtual_hub = azure.network.VirtualHub(\"example\",\n    name=\"example-vhub\",\n    resource_group_name=example.name,\n    location=example.location,\n    virtual_wan_id=example_virtual_wan.id,\n    address_prefix=\"10.0.1.0/24\")\nexample_firewall = azure.network.Firewall(\"example\",\n    name=\"example-fw\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku_name=\"AZFW_Hub\",\n    sku_tier=\"Standard\",\n    virtual_hub={\n        \"virtual_hub_id\": example_virtual_hub.id,\n        \"public_ip_count\": 1,\n    })\nexample_routing_intent = azure.network.RoutingIntent(\"example\",\n    name=\"example-routingintent\",\n    virtual_hub_id=example_virtual_hub.id,\n    routing_policies=[{\n        \"name\": \"InternetTrafficPolicy\",\n        \"destinations\": [\"Internet\"],\n        \"next_hop\": example_firewall.id,\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleVirtualWan = new Azure.Network.VirtualWan(\"example\", new()\n    {\n        Name = \"example-vwan\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n    });\n\n    var exampleVirtualHub = new Azure.Network.VirtualHub(\"example\", new()\n    {\n        Name = \"example-vhub\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        VirtualWanId = exampleVirtualWan.Id,\n        AddressPrefix = \"10.0.1.0/24\",\n    });\n\n    var exampleFirewall = new Azure.Network.Firewall(\"example\", new()\n    {\n        Name = \"example-fw\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        SkuName = \"AZFW_Hub\",\n        SkuTier = \"Standard\",\n        VirtualHub = new Azure.Network.Inputs.FirewallVirtualHubArgs\n        {\n            VirtualHubId = exampleVirtualHub.Id,\n            PublicIpCount = 1,\n        },\n    });\n\n    var exampleRoutingIntent = new Azure.Network.RoutingIntent(\"example\", new()\n    {\n        Name = \"example-routingintent\",\n        VirtualHubId = exampleVirtualHub.Id,\n        RoutingPolicies = new[]\n        {\n            new Azure.Network.Inputs.RoutingIntentRoutingPolicyArgs\n            {\n                Name = \"InternetTrafficPolicy\",\n                Destinations = new[]\n                {\n                    \"Internet\",\n                },\n                NextHop = exampleFirewall.Id,\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualWan, err := network.NewVirtualWan(ctx, \"example\", \u0026network.VirtualWanArgs{\n\t\t\tName:              pulumi.String(\"example-vwan\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualHub, err := network.NewVirtualHub(ctx, \"example\", \u0026network.VirtualHubArgs{\n\t\t\tName:              pulumi.String(\"example-vhub\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tVirtualWanId:      exampleVirtualWan.ID(),\n\t\t\tAddressPrefix:     pulumi.String(\"10.0.1.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleFirewall, err := network.NewFirewall(ctx, \"example\", \u0026network.FirewallArgs{\n\t\t\tName:              pulumi.String(\"example-fw\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSkuName:           pulumi.String(\"AZFW_Hub\"),\n\t\t\tSkuTier:           pulumi.String(\"Standard\"),\n\t\t\tVirtualHub: \u0026network.FirewallVirtualHubArgs{\n\t\t\t\tVirtualHubId:  exampleVirtualHub.ID(),\n\t\t\t\tPublicIpCount: pulumi.Int(1),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = network.NewRoutingIntent(ctx, \"example\", \u0026network.RoutingIntentArgs{\n\t\t\tName:         pulumi.String(\"example-routingintent\"),\n\t\t\tVirtualHubId: exampleVirtualHub.ID(),\n\t\t\tRoutingPolicies: network.RoutingIntentRoutingPolicyArray{\n\t\t\t\t\u0026network.RoutingIntentRoutingPolicyArgs{\n\t\t\t\t\tName: pulumi.String(\"InternetTrafficPolicy\"),\n\t\t\t\t\tDestinations: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"Internet\"),\n\t\t\t\t\t},\n\t\t\t\t\tNextHop: exampleFirewall.ID(),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.VirtualWan;\nimport com.pulumi.azure.network.VirtualWanArgs;\nimport com.pulumi.azure.network.VirtualHub;\nimport com.pulumi.azure.network.VirtualHubArgs;\nimport com.pulumi.azure.network.Firewall;\nimport com.pulumi.azure.network.FirewallArgs;\nimport com.pulumi.azure.network.inputs.FirewallVirtualHubArgs;\nimport com.pulumi.azure.network.RoutingIntent;\nimport com.pulumi.azure.network.RoutingIntentArgs;\nimport com.pulumi.azure.network.inputs.RoutingIntentRoutingPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleVirtualWan = new VirtualWan(\"exampleVirtualWan\", VirtualWanArgs.builder()\n            .name(\"example-vwan\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .build());\n\n        var exampleVirtualHub = new VirtualHub(\"exampleVirtualHub\", VirtualHubArgs.builder()\n            .name(\"example-vhub\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .virtualWanId(exampleVirtualWan.id())\n            .addressPrefix(\"10.0.1.0/24\")\n            .build());\n\n        var exampleFirewall = new Firewall(\"exampleFirewall\", FirewallArgs.builder()\n            .name(\"example-fw\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .skuName(\"AZFW_Hub\")\n            .skuTier(\"Standard\")\n            .virtualHub(FirewallVirtualHubArgs.builder()\n                .virtualHubId(exampleVirtualHub.id())\n                .publicIpCount(1)\n                .build())\n            .build());\n\n        var exampleRoutingIntent = new RoutingIntent(\"exampleRoutingIntent\", RoutingIntentArgs.builder()\n            .name(\"example-routingintent\")\n            .virtualHubId(exampleVirtualHub.id())\n            .routingPolicies(RoutingIntentRoutingPolicyArgs.builder()\n                .name(\"InternetTrafficPolicy\")\n                .destinations(\"Internet\")\n                .nextHop(exampleFirewall.id())\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleVirtualWan:\n    type: azure:network:VirtualWan\n    name: example\n    properties:\n      name: example-vwan\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n  exampleVirtualHub:\n    type: azure:network:VirtualHub\n    name: example\n    properties:\n      name: example-vhub\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      virtualWanId: ${exampleVirtualWan.id}\n      addressPrefix: 10.0.1.0/24\n  exampleFirewall:\n    type: azure:network:Firewall\n    name: example\n    properties:\n      name: example-fw\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      skuName: AZFW_Hub\n      skuTier: Standard\n      virtualHub:\n        virtualHubId: ${exampleVirtualHub.id}\n        publicIpCount: 1\n  exampleRoutingIntent:\n    type: azure:network:RoutingIntent\n    name: example\n    properties:\n      name: example-routingintent\n      virtualHubId: ${exampleVirtualHub.id}\n      routingPolicies:\n        - name: InternetTrafficPolicy\n          destinations:\n            - Internet\n          nextHop: ${exampleFirewall.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2025-01-01\n\n## Import\n\nVirtual Hub Routing Intents can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:network/routingIntent:RoutingIntent example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup1/providers/Microsoft.Network/virtualHubs/virtualHub1/routingIntent/routingIntent1\n```\n\n","properties":{"name":{"type":"string","description":"The name which should be used for this Virtual Hub Routing Intent. Changing this forces a new resource to be created.\n"},"routingPolicies":{"type":"array","items":{"$ref":"#/types/azure:network/RoutingIntentRoutingPolicy:RoutingIntentRoutingPolicy"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`routingPolicy`\" pulumi-lang-dotnet=\"`RoutingPolicy`\" pulumi-lang-go=\"`routingPolicy`\" pulumi-lang-python=\"`routing_policy`\" pulumi-lang-yaml=\"`routingPolicy`\" pulumi-lang-java=\"`routingPolicy`\"\u003e`routing_policy`\u003c/span\u003e blocks as defined below.\n"},"virtualHubId":{"type":"string","description":"The resource ID of the Virtual Hub. Changing this forces a new resource to be created.\n"}},"required":["name","routingPolicies","virtualHubId"],"inputProperties":{"name":{"type":"string","description":"The name which should be used for this Virtual Hub Routing Intent. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"routingPolicies":{"type":"array","items":{"$ref":"#/types/azure:network/RoutingIntentRoutingPolicy:RoutingIntentRoutingPolicy"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`routingPolicy`\" pulumi-lang-dotnet=\"`RoutingPolicy`\" pulumi-lang-go=\"`routingPolicy`\" pulumi-lang-python=\"`routing_policy`\" pulumi-lang-yaml=\"`routingPolicy`\" pulumi-lang-java=\"`routingPolicy`\"\u003e`routing_policy`\u003c/span\u003e blocks as defined below.\n"},"virtualHubId":{"type":"string","description":"The resource ID of the Virtual Hub. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["routingPolicies","virtualHubId"],"stateInputs":{"description":"Input properties used for looking up and filtering RoutingIntent resources.\n","properties":{"name":{"type":"string","description":"The name which should be used for this Virtual Hub Routing Intent. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"routingPolicies":{"type":"array","items":{"$ref":"#/types/azure:network/RoutingIntentRoutingPolicy:RoutingIntentRoutingPolicy"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`routingPolicy`\" pulumi-lang-dotnet=\"`RoutingPolicy`\" pulumi-lang-go=\"`routingPolicy`\" pulumi-lang-python=\"`routing_policy`\" pulumi-lang-yaml=\"`routingPolicy`\" pulumi-lang-java=\"`routingPolicy`\"\u003e`routing_policy`\u003c/span\u003e blocks as defined below.\n"},"virtualHubId":{"type":"string","description":"The resource ID of the Virtual Hub. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:network/securityPartnerProvider:SecurityPartnerProvider":{"description":"Manages a Security Partner Provider which could be associated to virtual hub.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleVirtualWan = new azure.network.VirtualWan(\"example\", {\n    name: \"example-vwan\",\n    resourceGroupName: example.name,\n    location: example.location,\n});\nconst exampleVirtualHub = new azure.network.VirtualHub(\"example\", {\n    name: \"example-vhub\",\n    resourceGroupName: example.name,\n    location: example.location,\n    virtualWanId: exampleVirtualWan.id,\n    addressPrefix: \"10.0.2.0/24\",\n});\nconst exampleVpnGateway = new azure.network.VpnGateway(\"example\", {\n    name: \"example-vpngw\",\n    location: example.location,\n    resourceGroupName: example.name,\n    virtualHubId: exampleVirtualHub.id,\n});\nconst exampleSecurityPartnerProvider = new azure.network.SecurityPartnerProvider(\"example\", {\n    name: \"example-spp\",\n    resourceGroupName: example.name,\n    location: example.location,\n    virtualHubId: exampleVirtualHub.id,\n    securityProviderName: \"IBoss\",\n    tags: {\n        ENV: \"Prod\",\n    },\n}, {\n    dependsOn: [exampleVpnGateway],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_virtual_wan = azure.network.VirtualWan(\"example\",\n    name=\"example-vwan\",\n    resource_group_name=example.name,\n    location=example.location)\nexample_virtual_hub = azure.network.VirtualHub(\"example\",\n    name=\"example-vhub\",\n    resource_group_name=example.name,\n    location=example.location,\n    virtual_wan_id=example_virtual_wan.id,\n    address_prefix=\"10.0.2.0/24\")\nexample_vpn_gateway = azure.network.VpnGateway(\"example\",\n    name=\"example-vpngw\",\n    location=example.location,\n    resource_group_name=example.name,\n    virtual_hub_id=example_virtual_hub.id)\nexample_security_partner_provider = azure.network.SecurityPartnerProvider(\"example\",\n    name=\"example-spp\",\n    resource_group_name=example.name,\n    location=example.location,\n    virtual_hub_id=example_virtual_hub.id,\n    security_provider_name=\"IBoss\",\n    tags={\n        \"ENV\": \"Prod\",\n    },\n    opts = pulumi.ResourceOptions(depends_on=[example_vpn_gateway]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleVirtualWan = new Azure.Network.VirtualWan(\"example\", new()\n    {\n        Name = \"example-vwan\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n    });\n\n    var exampleVirtualHub = new Azure.Network.VirtualHub(\"example\", new()\n    {\n        Name = \"example-vhub\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        VirtualWanId = exampleVirtualWan.Id,\n        AddressPrefix = \"10.0.2.0/24\",\n    });\n\n    var exampleVpnGateway = new Azure.Network.VpnGateway(\"example\", new()\n    {\n        Name = \"example-vpngw\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        VirtualHubId = exampleVirtualHub.Id,\n    });\n\n    var exampleSecurityPartnerProvider = new Azure.Network.SecurityPartnerProvider(\"example\", new()\n    {\n        Name = \"example-spp\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        VirtualHubId = exampleVirtualHub.Id,\n        SecurityProviderName = \"IBoss\",\n        Tags = \n        {\n            { \"ENV\", \"Prod\" },\n        },\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            exampleVpnGateway,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualWan, err := network.NewVirtualWan(ctx, \"example\", \u0026network.VirtualWanArgs{\n\t\t\tName:              pulumi.String(\"example-vwan\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualHub, err := network.NewVirtualHub(ctx, \"example\", \u0026network.VirtualHubArgs{\n\t\t\tName:              pulumi.String(\"example-vhub\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tVirtualWanId:      exampleVirtualWan.ID(),\n\t\t\tAddressPrefix:     pulumi.String(\"10.0.2.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVpnGateway, err := network.NewVpnGateway(ctx, \"example\", \u0026network.VpnGatewayArgs{\n\t\t\tName:              pulumi.String(\"example-vpngw\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tVirtualHubId:      exampleVirtualHub.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = network.NewSecurityPartnerProvider(ctx, \"example\", \u0026network.SecurityPartnerProviderArgs{\n\t\t\tName:                 pulumi.String(\"example-spp\"),\n\t\t\tResourceGroupName:    example.Name,\n\t\t\tLocation:             example.Location,\n\t\t\tVirtualHubId:         exampleVirtualHub.ID(),\n\t\t\tSecurityProviderName: pulumi.String(\"IBoss\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"ENV\": pulumi.String(\"Prod\"),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleVpnGateway,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.VirtualWan;\nimport com.pulumi.azure.network.VirtualWanArgs;\nimport com.pulumi.azure.network.VirtualHub;\nimport com.pulumi.azure.network.VirtualHubArgs;\nimport com.pulumi.azure.network.VpnGateway;\nimport com.pulumi.azure.network.VpnGatewayArgs;\nimport com.pulumi.azure.network.SecurityPartnerProvider;\nimport com.pulumi.azure.network.SecurityPartnerProviderArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleVirtualWan = new VirtualWan(\"exampleVirtualWan\", VirtualWanArgs.builder()\n            .name(\"example-vwan\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .build());\n\n        var exampleVirtualHub = new VirtualHub(\"exampleVirtualHub\", VirtualHubArgs.builder()\n            .name(\"example-vhub\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .virtualWanId(exampleVirtualWan.id())\n            .addressPrefix(\"10.0.2.0/24\")\n            .build());\n\n        var exampleVpnGateway = new VpnGateway(\"exampleVpnGateway\", VpnGatewayArgs.builder()\n            .name(\"example-vpngw\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .virtualHubId(exampleVirtualHub.id())\n            .build());\n\n        var exampleSecurityPartnerProvider = new SecurityPartnerProvider(\"exampleSecurityPartnerProvider\", SecurityPartnerProviderArgs.builder()\n            .name(\"example-spp\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .virtualHubId(exampleVirtualHub.id())\n            .securityProviderName(\"IBoss\")\n            .tags(Map.of(\"ENV\", \"Prod\"))\n            .build(), CustomResourceOptions.builder()\n                .dependsOn(exampleVpnGateway)\n                .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleVirtualWan:\n    type: azure:network:VirtualWan\n    name: example\n    properties:\n      name: example-vwan\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n  exampleVirtualHub:\n    type: azure:network:VirtualHub\n    name: example\n    properties:\n      name: example-vhub\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      virtualWanId: ${exampleVirtualWan.id}\n      addressPrefix: 10.0.2.0/24\n  exampleVpnGateway:\n    type: azure:network:VpnGateway\n    name: example\n    properties:\n      name: example-vpngw\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      virtualHubId: ${exampleVirtualHub.id}\n  exampleSecurityPartnerProvider:\n    type: azure:network:SecurityPartnerProvider\n    name: example\n    properties:\n      name: example-spp\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      virtualHubId: ${exampleVirtualHub.id}\n      securityProviderName: IBoss\n      tags:\n        ENV: Prod\n    options:\n      dependsOn:\n        - ${exampleVpnGateway}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2025-01-01\n\n## Import\n\nSecurity Partner Providers can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:network/securityPartnerProvider:SecurityPartnerProvider example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Network/securityPartnerProviders/securityPartnerProvider1\n```\n\n","properties":{"location":{"type":"string","description":"The Azure Region where the Security Partner Provider should exist. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"The name which should be used for this Security Partner Provider. Changing this forces a new resource to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Security Partner Provider should exist. Changing this forces a new resource to be created.\n"},"securityProviderName":{"type":"string","description":"The security provider name. Possible values are `ZScaler`, `IBoss` and `Checkpoint` is allowed. Changing this forces a new resource to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Security Partner Provider.\n"},"virtualHubId":{"type":"string","description":"The ID of the Virtual Hub within which this Security Partner Provider should be created. Changing this forces a new resource to be created.\n"}},"required":["location","name","resourceGroupName","securityProviderName"],"inputProperties":{"location":{"type":"string","description":"The Azure Region where the Security Partner Provider should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Security Partner Provider. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Security Partner Provider should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"securityProviderName":{"type":"string","description":"The security provider name. Possible values are `ZScaler`, `IBoss` and `Checkpoint` is allowed. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Security Partner Provider.\n"},"virtualHubId":{"type":"string","description":"The ID of the Virtual Hub within which this Security Partner Provider should be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["resourceGroupName","securityProviderName"],"stateInputs":{"description":"Input properties used for looking up and filtering SecurityPartnerProvider resources.\n","properties":{"location":{"type":"string","description":"The Azure Region where the Security Partner Provider should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Security Partner Provider. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Security Partner Provider should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"securityProviderName":{"type":"string","description":"The security provider name. Possible values are `ZScaler`, `IBoss` and `Checkpoint` is allowed. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Security Partner Provider.\n"},"virtualHubId":{"type":"string","description":"The ID of the Virtual Hub within which this Security Partner Provider should be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:network/subnet:Subnet":{"description":"Manages a subnet. Subnets represent network segments within the IP space defined by the virtual network.\n\n\u003e **NOTE on Virtual Networks and Subnet's:** This provider currently\nprovides both a standalone Subnet resource, and allows for Subnets to be defined in-line within the Virtual Network resource.\nAt this time you cannot use a Virtual Network with in-line Subnets in conjunction with any Subnet resources. Doing so will cause a conflict of Subnet configurations and will overwrite Subnets.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"example\", {\n    name: \"example-vnet\",\n    addressSpaces: [\"10.0.0.0/16\"],\n    location: example.location,\n    resourceGroupName: example.name,\n});\nconst exampleSubnet = new azure.network.Subnet(\"example\", {\n    name: \"example-subnet\",\n    resourceGroupName: example.name,\n    virtualNetworkName: exampleVirtualNetwork.name,\n    addressPrefixes: [\"10.0.1.0/24\"],\n    delegations: [{\n        name: \"delegation\",\n        serviceDelegation: {\n            name: \"Microsoft.ContainerInstance/containerGroups\",\n            actions: [\n                \"Microsoft.Network/virtualNetworks/subnets/join/action\",\n                \"Microsoft.Network/virtualNetworks/subnets/prepareNetworkPolicies/action\",\n            ],\n        },\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_virtual_network = azure.network.VirtualNetwork(\"example\",\n    name=\"example-vnet\",\n    address_spaces=[\"10.0.0.0/16\"],\n    location=example.location,\n    resource_group_name=example.name)\nexample_subnet = azure.network.Subnet(\"example\",\n    name=\"example-subnet\",\n    resource_group_name=example.name,\n    virtual_network_name=example_virtual_network.name,\n    address_prefixes=[\"10.0.1.0/24\"],\n    delegations=[{\n        \"name\": \"delegation\",\n        \"service_delegation\": {\n            \"name\": \"Microsoft.ContainerInstance/containerGroups\",\n            \"actions\": [\n                \"Microsoft.Network/virtualNetworks/subnets/join/action\",\n                \"Microsoft.Network/virtualNetworks/subnets/prepareNetworkPolicies/action\",\n            ],\n        },\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleVirtualNetwork = new Azure.Network.VirtualNetwork(\"example\", new()\n    {\n        Name = \"example-vnet\",\n        AddressSpaces = new[]\n        {\n            \"10.0.0.0/16\",\n        },\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n    });\n\n    var exampleSubnet = new Azure.Network.Subnet(\"example\", new()\n    {\n        Name = \"example-subnet\",\n        ResourceGroupName = example.Name,\n        VirtualNetworkName = exampleVirtualNetwork.Name,\n        AddressPrefixes = new[]\n        {\n            \"10.0.1.0/24\",\n        },\n        Delegations = new[]\n        {\n            new Azure.Network.Inputs.SubnetDelegationArgs\n            {\n                Name = \"delegation\",\n                ServiceDelegation = new Azure.Network.Inputs.SubnetDelegationServiceDelegationArgs\n                {\n                    Name = \"Microsoft.ContainerInstance/containerGroups\",\n                    Actions = new[]\n                    {\n                        \"Microsoft.Network/virtualNetworks/subnets/join/action\",\n                        \"Microsoft.Network/virtualNetworks/subnets/prepareNetworkPolicies/action\",\n                    },\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, \"example\", \u0026network.VirtualNetworkArgs{\n\t\t\tName: pulumi.String(\"example-vnet\"),\n\t\t\tAddressSpaces: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.0.0/16\"),\n\t\t\t},\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = network.NewSubnet(ctx, \"example\", \u0026network.SubnetArgs{\n\t\t\tName:               pulumi.String(\"example-subnet\"),\n\t\t\tResourceGroupName:  example.Name,\n\t\t\tVirtualNetworkName: exampleVirtualNetwork.Name,\n\t\t\tAddressPrefixes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.1.0/24\"),\n\t\t\t},\n\t\t\tDelegations: network.SubnetDelegationArray{\n\t\t\t\t\u0026network.SubnetDelegationArgs{\n\t\t\t\t\tName: pulumi.String(\"delegation\"),\n\t\t\t\t\tServiceDelegation: \u0026network.SubnetDelegationServiceDelegationArgs{\n\t\t\t\t\t\tName: pulumi.String(\"Microsoft.ContainerInstance/containerGroups\"),\n\t\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"Microsoft.Network/virtualNetworks/subnets/join/action\"),\n\t\t\t\t\t\t\tpulumi.String(\"Microsoft.Network/virtualNetworks/subnets/prepareNetworkPolicies/action\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.VirtualNetwork;\nimport com.pulumi.azure.network.VirtualNetworkArgs;\nimport com.pulumi.azure.network.Subnet;\nimport com.pulumi.azure.network.SubnetArgs;\nimport com.pulumi.azure.network.inputs.SubnetDelegationArgs;\nimport com.pulumi.azure.network.inputs.SubnetDelegationServiceDelegationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleVirtualNetwork = new VirtualNetwork(\"exampleVirtualNetwork\", VirtualNetworkArgs.builder()\n            .name(\"example-vnet\")\n            .addressSpaces(\"10.0.0.0/16\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .build());\n\n        var exampleSubnet = new Subnet(\"exampleSubnet\", SubnetArgs.builder()\n            .name(\"example-subnet\")\n            .resourceGroupName(example.name())\n            .virtualNetworkName(exampleVirtualNetwork.name())\n            .addressPrefixes(\"10.0.1.0/24\")\n            .delegations(SubnetDelegationArgs.builder()\n                .name(\"delegation\")\n                .serviceDelegation(SubnetDelegationServiceDelegationArgs.builder()\n                    .name(\"Microsoft.ContainerInstance/containerGroups\")\n                    .actions(                    \n                        \"Microsoft.Network/virtualNetworks/subnets/join/action\",\n                        \"Microsoft.Network/virtualNetworks/subnets/prepareNetworkPolicies/action\")\n                    .build())\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleVirtualNetwork:\n    type: azure:network:VirtualNetwork\n    name: example\n    properties:\n      name: example-vnet\n      addressSpaces:\n        - 10.0.0.0/16\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n  exampleSubnet:\n    type: azure:network:Subnet\n    name: example\n    properties:\n      name: example-subnet\n      resourceGroupName: ${example.name}\n      virtualNetworkName: ${exampleVirtualNetwork.name}\n      addressPrefixes:\n        - 10.0.1.0/24\n      delegations:\n        - name: delegation\n          serviceDelegation:\n            name: Microsoft.ContainerInstance/containerGroups\n            actions:\n              - Microsoft.Network/virtualNetworks/subnets/join/action\n              - Microsoft.Network/virtualNetworks/subnets/prepareNetworkPolicies/action\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2025-01-01\n\n## Import\n\nSubnets can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:network/subnet:Subnet exampleSubnet /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Network/virtualNetworks/myvnet1/subnets/mysubnet1\n```\n\n","properties":{"addressPrefixes":{"type":"array","items":{"type":"string"},"description":"The address prefixes to use for the subnet.\n\n\u003e **Note:** Exactly one of \u003cspan pulumi-lang-nodejs=\"`addressPrefixes`\" pulumi-lang-dotnet=\"`AddressPrefixes`\" pulumi-lang-go=\"`addressPrefixes`\" pulumi-lang-python=\"`address_prefixes`\" pulumi-lang-yaml=\"`addressPrefixes`\" pulumi-lang-java=\"`addressPrefixes`\"\u003e`address_prefixes`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`ipAddressPool`\" pulumi-lang-dotnet=\"`IpAddressPool`\" pulumi-lang-go=\"`ipAddressPool`\" pulumi-lang-python=\"`ip_address_pool`\" pulumi-lang-yaml=\"`ipAddressPool`\" pulumi-lang-java=\"`ipAddressPool`\"\u003e`ip_address_pool`\u003c/span\u003e must be specified.\n"},"defaultOutboundAccessEnabled":{"type":"boolean","description":"Enable default outbound access to the internet for the subnet. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"delegations":{"type":"array","items":{"$ref":"#/types/azure:network/SubnetDelegation:SubnetDelegation"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`delegation`\" pulumi-lang-dotnet=\"`Delegation`\" pulumi-lang-go=\"`delegation`\" pulumi-lang-python=\"`delegation`\" pulumi-lang-yaml=\"`delegation`\" pulumi-lang-java=\"`delegation`\"\u003e`delegation`\u003c/span\u003e blocks as defined below.\n"},"ipAddressPool":{"$ref":"#/types/azure:network/SubnetIpAddressPool:SubnetIpAddressPool","description":"An \u003cspan pulumi-lang-nodejs=\"`ipAddressPool`\" pulumi-lang-dotnet=\"`IpAddressPool`\" pulumi-lang-go=\"`ipAddressPool`\" pulumi-lang-python=\"`ip_address_pool`\" pulumi-lang-yaml=\"`ipAddressPool`\" pulumi-lang-java=\"`ipAddressPool`\"\u003e`ip_address_pool`\u003c/span\u003e block as defined below.\n\n\u003e **Note:** Exactly one of \u003cspan pulumi-lang-nodejs=\"`addressPrefixes`\" pulumi-lang-dotnet=\"`AddressPrefixes`\" pulumi-lang-go=\"`addressPrefixes`\" pulumi-lang-python=\"`address_prefixes`\" pulumi-lang-yaml=\"`addressPrefixes`\" pulumi-lang-java=\"`addressPrefixes`\"\u003e`address_prefixes`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`ipAddressPool`\" pulumi-lang-dotnet=\"`IpAddressPool`\" pulumi-lang-go=\"`ipAddressPool`\" pulumi-lang-python=\"`ip_address_pool`\" pulumi-lang-yaml=\"`ipAddressPool`\" pulumi-lang-java=\"`ipAddressPool`\"\u003e`ip_address_pool`\u003c/span\u003e must be specified.\n"},"name":{"type":"string","description":"The name of the subnet. Changing this forces a new resource to be created.\n"},"privateEndpointNetworkPolicies":{"type":"string","description":"Enable or Disable network policies for the private endpoint on the subnet. Possible values are `Disabled`, `Enabled`, `NetworkSecurityGroupEnabled` and `RouteTableEnabled`. Defaults to `Disabled`.\n\n\u003e **NOTE:** If you don't want to use network policies like user-defined Routes and Network Security Groups, you need to set \u003cspan pulumi-lang-nodejs=\"`privateEndpointNetworkPolicies`\" pulumi-lang-dotnet=\"`PrivateEndpointNetworkPolicies`\" pulumi-lang-go=\"`privateEndpointNetworkPolicies`\" pulumi-lang-python=\"`private_endpoint_network_policies`\" pulumi-lang-yaml=\"`privateEndpointNetworkPolicies`\" pulumi-lang-java=\"`privateEndpointNetworkPolicies`\"\u003e`private_endpoint_network_policies`\u003c/span\u003e in the subnet to `Disabled`. This setting only applies to Private Endpoints in the Subnet and affects all Private Endpoints in the Subnet. For other resources in the Subnet, access is controlled based via the Network Security Group which can be configured using the \u003cspan pulumi-lang-nodejs=\"`azure.network.SubnetNetworkSecurityGroupAssociation`\" pulumi-lang-dotnet=\"`azure.network.SubnetNetworkSecurityGroupAssociation`\" pulumi-lang-go=\"`network.SubnetNetworkSecurityGroupAssociation`\" pulumi-lang-python=\"`network.SubnetNetworkSecurityGroupAssociation`\" pulumi-lang-yaml=\"`azure.network.SubnetNetworkSecurityGroupAssociation`\" pulumi-lang-java=\"`azure.network.SubnetNetworkSecurityGroupAssociation`\"\u003e`azure.network.SubnetNetworkSecurityGroupAssociation`\u003c/span\u003e resource.\n\n\u003e **NOTE:** If you want to use network policies like user-defined Routes and Network Security Groups, you need to set the \u003cspan pulumi-lang-nodejs=\"`privateEndpointNetworkPolicies`\" pulumi-lang-dotnet=\"`PrivateEndpointNetworkPolicies`\" pulumi-lang-go=\"`privateEndpointNetworkPolicies`\" pulumi-lang-python=\"`private_endpoint_network_policies`\" pulumi-lang-yaml=\"`privateEndpointNetworkPolicies`\" pulumi-lang-java=\"`privateEndpointNetworkPolicies`\"\u003e`private_endpoint_network_policies`\u003c/span\u003e in the Subnet to `Enabled`/`NetworkSecurityGroupEnabled`/`RouteTableEnabled`. This setting only applies to Private Endpoints in the Subnet and affects all Private Endpoints in the Subnet. For other resources in the Subnet, access is controlled based via the Network Security Group which can be configured using the \u003cspan pulumi-lang-nodejs=\"`azure.network.SubnetNetworkSecurityGroupAssociation`\" pulumi-lang-dotnet=\"`azure.network.SubnetNetworkSecurityGroupAssociation`\" pulumi-lang-go=\"`network.SubnetNetworkSecurityGroupAssociation`\" pulumi-lang-python=\"`network.SubnetNetworkSecurityGroupAssociation`\" pulumi-lang-yaml=\"`azure.network.SubnetNetworkSecurityGroupAssociation`\" pulumi-lang-java=\"`azure.network.SubnetNetworkSecurityGroupAssociation`\"\u003e`azure.network.SubnetNetworkSecurityGroupAssociation`\u003c/span\u003e resource.\n\n\u003e **NOTE:** See more details from [Manage network policies for Private Endpoints](https://learn.microsoft.com/en-gb/azure/private-link/disable-private-endpoint-network-policy?tabs=network-policy-portal).\n"},"privateLinkServiceNetworkPoliciesEnabled":{"type":"boolean","description":"Enable or Disable network policies for the private link service on the subnet. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n\n\u003e **NOTE:** When configuring Azure Private Link service, the explicit setting \u003cspan pulumi-lang-nodejs=\"`privateLinkServiceNetworkPoliciesEnabled`\" pulumi-lang-dotnet=\"`PrivateLinkServiceNetworkPoliciesEnabled`\" pulumi-lang-go=\"`privateLinkServiceNetworkPoliciesEnabled`\" pulumi-lang-python=\"`private_link_service_network_policies_enabled`\" pulumi-lang-yaml=\"`privateLinkServiceNetworkPoliciesEnabled`\" pulumi-lang-java=\"`privateLinkServiceNetworkPoliciesEnabled`\"\u003e`private_link_service_network_policies_enabled`\u003c/span\u003e must be set to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e in the subnet since Private Link Service does not support network policies like user-defined Routes and Network Security Groups. This setting only affects the Private Link service. For other resources in the subnet, access is controlled based on the Network Security Group which can be configured using the \u003cspan pulumi-lang-nodejs=\"`azure.network.SubnetNetworkSecurityGroupAssociation`\" pulumi-lang-dotnet=\"`azure.network.SubnetNetworkSecurityGroupAssociation`\" pulumi-lang-go=\"`network.SubnetNetworkSecurityGroupAssociation`\" pulumi-lang-python=\"`network.SubnetNetworkSecurityGroupAssociation`\" pulumi-lang-yaml=\"`azure.network.SubnetNetworkSecurityGroupAssociation`\" pulumi-lang-java=\"`azure.network.SubnetNetworkSecurityGroupAssociation`\"\u003e`azure.network.SubnetNetworkSecurityGroupAssociation`\u003c/span\u003e resource. See more details from [Manage network policies for Private Link Services](https://learn.microsoft.com/en-gb/azure/private-link/disable-private-link-service-network-policy?tabs=private-link-network-policy-powershell).\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the subnet. This must be the resource group that the virtual network resides in. Changing this forces a new resource to be created.\n"},"serviceEndpointPolicyIds":{"type":"array","items":{"type":"string"},"description":"The list of IDs of Service Endpoint Policies to associate with the subnet.\n"},"serviceEndpoints":{"type":"array","items":{"type":"string"},"description":"The list of Service endpoints to associate with the subnet. Possible values include: `Microsoft.AzureActiveDirectory`, `Microsoft.AzureCosmosDB`, `Microsoft.ContainerRegistry`, `Microsoft.EventHub`, `Microsoft.KeyVault`, `Microsoft.ServiceBus`, `Microsoft.Sql`, `Microsoft.Storage`, `Microsoft.Storage.Global` and `Microsoft.Web`.\n\n\u003e **NOTE:** In order to use `Microsoft.Storage.Global` service endpoint (which allows access to virtual networks in other regions), you must enable the `AllowGlobalTagsForStorage` feature in your subscription. This is currently a preview feature, please see the [official documentation](https://learn.microsoft.com/en-us/azure/storage/common/storage-network-security?tabs=azure-cli#enabling-access-to-virtual-networks-in-other-regions-preview) for more information.\n"},"sharingScope":{"type":"string","description":"The sharing scope of the subnet. Possible value is `Tenant`.\n\n\u003e **Note:** This property cannot be set if \u003cspan pulumi-lang-nodejs=\"`defaultOutboundAccessEnabled`\" pulumi-lang-dotnet=\"`DefaultOutboundAccessEnabled`\" pulumi-lang-go=\"`defaultOutboundAccessEnabled`\" pulumi-lang-python=\"`default_outbound_access_enabled`\" pulumi-lang-yaml=\"`defaultOutboundAccessEnabled`\" pulumi-lang-java=\"`defaultOutboundAccessEnabled`\"\u003e`default_outbound_access_enabled`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n\n!\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`sharingScope`\" pulumi-lang-dotnet=\"`SharingScope`\" pulumi-lang-go=\"`sharingScope`\" pulumi-lang-python=\"`sharing_scope`\" pulumi-lang-yaml=\"`sharingScope`\" pulumi-lang-java=\"`sharingScope`\"\u003e`sharing_scope`\u003c/span\u003e property is only available to users who have been explicitly registered and granted access by the Azure Networking Product Group.\n"},"virtualNetworkName":{"type":"string","description":"The name of the virtual network to which to attach the subnet. Changing this forces a new resource to be created.\n"}},"required":["name","resourceGroupName","virtualNetworkName"],"inputProperties":{"addressPrefixes":{"type":"array","items":{"type":"string"},"description":"The address prefixes to use for the subnet.\n\n\u003e **Note:** Exactly one of \u003cspan pulumi-lang-nodejs=\"`addressPrefixes`\" pulumi-lang-dotnet=\"`AddressPrefixes`\" pulumi-lang-go=\"`addressPrefixes`\" pulumi-lang-python=\"`address_prefixes`\" pulumi-lang-yaml=\"`addressPrefixes`\" pulumi-lang-java=\"`addressPrefixes`\"\u003e`address_prefixes`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`ipAddressPool`\" pulumi-lang-dotnet=\"`IpAddressPool`\" pulumi-lang-go=\"`ipAddressPool`\" pulumi-lang-python=\"`ip_address_pool`\" pulumi-lang-yaml=\"`ipAddressPool`\" pulumi-lang-java=\"`ipAddressPool`\"\u003e`ip_address_pool`\u003c/span\u003e must be specified.\n"},"defaultOutboundAccessEnabled":{"type":"boolean","description":"Enable default outbound access to the internet for the subnet. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"delegations":{"type":"array","items":{"$ref":"#/types/azure:network/SubnetDelegation:SubnetDelegation"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`delegation`\" pulumi-lang-dotnet=\"`Delegation`\" pulumi-lang-go=\"`delegation`\" pulumi-lang-python=\"`delegation`\" pulumi-lang-yaml=\"`delegation`\" pulumi-lang-java=\"`delegation`\"\u003e`delegation`\u003c/span\u003e blocks as defined below.\n"},"ipAddressPool":{"$ref":"#/types/azure:network/SubnetIpAddressPool:SubnetIpAddressPool","description":"An \u003cspan pulumi-lang-nodejs=\"`ipAddressPool`\" pulumi-lang-dotnet=\"`IpAddressPool`\" pulumi-lang-go=\"`ipAddressPool`\" pulumi-lang-python=\"`ip_address_pool`\" pulumi-lang-yaml=\"`ipAddressPool`\" pulumi-lang-java=\"`ipAddressPool`\"\u003e`ip_address_pool`\u003c/span\u003e block as defined below.\n\n\u003e **Note:** Exactly one of \u003cspan pulumi-lang-nodejs=\"`addressPrefixes`\" pulumi-lang-dotnet=\"`AddressPrefixes`\" pulumi-lang-go=\"`addressPrefixes`\" pulumi-lang-python=\"`address_prefixes`\" pulumi-lang-yaml=\"`addressPrefixes`\" pulumi-lang-java=\"`addressPrefixes`\"\u003e`address_prefixes`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`ipAddressPool`\" pulumi-lang-dotnet=\"`IpAddressPool`\" pulumi-lang-go=\"`ipAddressPool`\" pulumi-lang-python=\"`ip_address_pool`\" pulumi-lang-yaml=\"`ipAddressPool`\" pulumi-lang-java=\"`ipAddressPool`\"\u003e`ip_address_pool`\u003c/span\u003e must be specified.\n"},"name":{"type":"string","description":"The name of the subnet. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"privateEndpointNetworkPolicies":{"type":"string","description":"Enable or Disable network policies for the private endpoint on the subnet. Possible values are `Disabled`, `Enabled`, `NetworkSecurityGroupEnabled` and `RouteTableEnabled`. Defaults to `Disabled`.\n\n\u003e **NOTE:** If you don't want to use network policies like user-defined Routes and Network Security Groups, you need to set \u003cspan pulumi-lang-nodejs=\"`privateEndpointNetworkPolicies`\" pulumi-lang-dotnet=\"`PrivateEndpointNetworkPolicies`\" pulumi-lang-go=\"`privateEndpointNetworkPolicies`\" pulumi-lang-python=\"`private_endpoint_network_policies`\" pulumi-lang-yaml=\"`privateEndpointNetworkPolicies`\" pulumi-lang-java=\"`privateEndpointNetworkPolicies`\"\u003e`private_endpoint_network_policies`\u003c/span\u003e in the subnet to `Disabled`. This setting only applies to Private Endpoints in the Subnet and affects all Private Endpoints in the Subnet. For other resources in the Subnet, access is controlled based via the Network Security Group which can be configured using the \u003cspan pulumi-lang-nodejs=\"`azure.network.SubnetNetworkSecurityGroupAssociation`\" pulumi-lang-dotnet=\"`azure.network.SubnetNetworkSecurityGroupAssociation`\" pulumi-lang-go=\"`network.SubnetNetworkSecurityGroupAssociation`\" pulumi-lang-python=\"`network.SubnetNetworkSecurityGroupAssociation`\" pulumi-lang-yaml=\"`azure.network.SubnetNetworkSecurityGroupAssociation`\" pulumi-lang-java=\"`azure.network.SubnetNetworkSecurityGroupAssociation`\"\u003e`azure.network.SubnetNetworkSecurityGroupAssociation`\u003c/span\u003e resource.\n\n\u003e **NOTE:** If you want to use network policies like user-defined Routes and Network Security Groups, you need to set the \u003cspan pulumi-lang-nodejs=\"`privateEndpointNetworkPolicies`\" pulumi-lang-dotnet=\"`PrivateEndpointNetworkPolicies`\" pulumi-lang-go=\"`privateEndpointNetworkPolicies`\" pulumi-lang-python=\"`private_endpoint_network_policies`\" pulumi-lang-yaml=\"`privateEndpointNetworkPolicies`\" pulumi-lang-java=\"`privateEndpointNetworkPolicies`\"\u003e`private_endpoint_network_policies`\u003c/span\u003e in the Subnet to `Enabled`/`NetworkSecurityGroupEnabled`/`RouteTableEnabled`. This setting only applies to Private Endpoints in the Subnet and affects all Private Endpoints in the Subnet. For other resources in the Subnet, access is controlled based via the Network Security Group which can be configured using the \u003cspan pulumi-lang-nodejs=\"`azure.network.SubnetNetworkSecurityGroupAssociation`\" pulumi-lang-dotnet=\"`azure.network.SubnetNetworkSecurityGroupAssociation`\" pulumi-lang-go=\"`network.SubnetNetworkSecurityGroupAssociation`\" pulumi-lang-python=\"`network.SubnetNetworkSecurityGroupAssociation`\" pulumi-lang-yaml=\"`azure.network.SubnetNetworkSecurityGroupAssociation`\" pulumi-lang-java=\"`azure.network.SubnetNetworkSecurityGroupAssociation`\"\u003e`azure.network.SubnetNetworkSecurityGroupAssociation`\u003c/span\u003e resource.\n\n\u003e **NOTE:** See more details from [Manage network policies for Private Endpoints](https://learn.microsoft.com/en-gb/azure/private-link/disable-private-endpoint-network-policy?tabs=network-policy-portal).\n"},"privateLinkServiceNetworkPoliciesEnabled":{"type":"boolean","description":"Enable or Disable network policies for the private link service on the subnet. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n\n\u003e **NOTE:** When configuring Azure Private Link service, the explicit setting \u003cspan pulumi-lang-nodejs=\"`privateLinkServiceNetworkPoliciesEnabled`\" pulumi-lang-dotnet=\"`PrivateLinkServiceNetworkPoliciesEnabled`\" pulumi-lang-go=\"`privateLinkServiceNetworkPoliciesEnabled`\" pulumi-lang-python=\"`private_link_service_network_policies_enabled`\" pulumi-lang-yaml=\"`privateLinkServiceNetworkPoliciesEnabled`\" pulumi-lang-java=\"`privateLinkServiceNetworkPoliciesEnabled`\"\u003e`private_link_service_network_policies_enabled`\u003c/span\u003e must be set to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e in the subnet since Private Link Service does not support network policies like user-defined Routes and Network Security Groups. This setting only affects the Private Link service. For other resources in the subnet, access is controlled based on the Network Security Group which can be configured using the \u003cspan pulumi-lang-nodejs=\"`azure.network.SubnetNetworkSecurityGroupAssociation`\" pulumi-lang-dotnet=\"`azure.network.SubnetNetworkSecurityGroupAssociation`\" pulumi-lang-go=\"`network.SubnetNetworkSecurityGroupAssociation`\" pulumi-lang-python=\"`network.SubnetNetworkSecurityGroupAssociation`\" pulumi-lang-yaml=\"`azure.network.SubnetNetworkSecurityGroupAssociation`\" pulumi-lang-java=\"`azure.network.SubnetNetworkSecurityGroupAssociation`\"\u003e`azure.network.SubnetNetworkSecurityGroupAssociation`\u003c/span\u003e resource. See more details from [Manage network policies for Private Link Services](https://learn.microsoft.com/en-gb/azure/private-link/disable-private-link-service-network-policy?tabs=private-link-network-policy-powershell).\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the subnet. This must be the resource group that the virtual network resides in. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"serviceEndpointPolicyIds":{"type":"array","items":{"type":"string"},"description":"The list of IDs of Service Endpoint Policies to associate with the subnet.\n"},"serviceEndpoints":{"type":"array","items":{"type":"string"},"description":"The list of Service endpoints to associate with the subnet. Possible values include: `Microsoft.AzureActiveDirectory`, `Microsoft.AzureCosmosDB`, `Microsoft.ContainerRegistry`, `Microsoft.EventHub`, `Microsoft.KeyVault`, `Microsoft.ServiceBus`, `Microsoft.Sql`, `Microsoft.Storage`, `Microsoft.Storage.Global` and `Microsoft.Web`.\n\n\u003e **NOTE:** In order to use `Microsoft.Storage.Global` service endpoint (which allows access to virtual networks in other regions), you must enable the `AllowGlobalTagsForStorage` feature in your subscription. This is currently a preview feature, please see the [official documentation](https://learn.microsoft.com/en-us/azure/storage/common/storage-network-security?tabs=azure-cli#enabling-access-to-virtual-networks-in-other-regions-preview) for more information.\n"},"sharingScope":{"type":"string","description":"The sharing scope of the subnet. Possible value is `Tenant`.\n\n\u003e **Note:** This property cannot be set if \u003cspan pulumi-lang-nodejs=\"`defaultOutboundAccessEnabled`\" pulumi-lang-dotnet=\"`DefaultOutboundAccessEnabled`\" pulumi-lang-go=\"`defaultOutboundAccessEnabled`\" pulumi-lang-python=\"`default_outbound_access_enabled`\" pulumi-lang-yaml=\"`defaultOutboundAccessEnabled`\" pulumi-lang-java=\"`defaultOutboundAccessEnabled`\"\u003e`default_outbound_access_enabled`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n\n!\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`sharingScope`\" pulumi-lang-dotnet=\"`SharingScope`\" pulumi-lang-go=\"`sharingScope`\" pulumi-lang-python=\"`sharing_scope`\" pulumi-lang-yaml=\"`sharingScope`\" pulumi-lang-java=\"`sharingScope`\"\u003e`sharing_scope`\u003c/span\u003e property is only available to users who have been explicitly registered and granted access by the Azure Networking Product Group.\n"},"virtualNetworkName":{"type":"string","description":"The name of the virtual network to which to attach the subnet. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["resourceGroupName","virtualNetworkName"],"stateInputs":{"description":"Input properties used for looking up and filtering Subnet resources.\n","properties":{"addressPrefixes":{"type":"array","items":{"type":"string"},"description":"The address prefixes to use for the subnet.\n\n\u003e **Note:** Exactly one of \u003cspan pulumi-lang-nodejs=\"`addressPrefixes`\" pulumi-lang-dotnet=\"`AddressPrefixes`\" pulumi-lang-go=\"`addressPrefixes`\" pulumi-lang-python=\"`address_prefixes`\" pulumi-lang-yaml=\"`addressPrefixes`\" pulumi-lang-java=\"`addressPrefixes`\"\u003e`address_prefixes`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`ipAddressPool`\" pulumi-lang-dotnet=\"`IpAddressPool`\" pulumi-lang-go=\"`ipAddressPool`\" pulumi-lang-python=\"`ip_address_pool`\" pulumi-lang-yaml=\"`ipAddressPool`\" pulumi-lang-java=\"`ipAddressPool`\"\u003e`ip_address_pool`\u003c/span\u003e must be specified.\n"},"defaultOutboundAccessEnabled":{"type":"boolean","description":"Enable default outbound access to the internet for the subnet. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"delegations":{"type":"array","items":{"$ref":"#/types/azure:network/SubnetDelegation:SubnetDelegation"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`delegation`\" pulumi-lang-dotnet=\"`Delegation`\" pulumi-lang-go=\"`delegation`\" pulumi-lang-python=\"`delegation`\" pulumi-lang-yaml=\"`delegation`\" pulumi-lang-java=\"`delegation`\"\u003e`delegation`\u003c/span\u003e blocks as defined below.\n"},"ipAddressPool":{"$ref":"#/types/azure:network/SubnetIpAddressPool:SubnetIpAddressPool","description":"An \u003cspan pulumi-lang-nodejs=\"`ipAddressPool`\" pulumi-lang-dotnet=\"`IpAddressPool`\" pulumi-lang-go=\"`ipAddressPool`\" pulumi-lang-python=\"`ip_address_pool`\" pulumi-lang-yaml=\"`ipAddressPool`\" pulumi-lang-java=\"`ipAddressPool`\"\u003e`ip_address_pool`\u003c/span\u003e block as defined below.\n\n\u003e **Note:** Exactly one of \u003cspan pulumi-lang-nodejs=\"`addressPrefixes`\" pulumi-lang-dotnet=\"`AddressPrefixes`\" pulumi-lang-go=\"`addressPrefixes`\" pulumi-lang-python=\"`address_prefixes`\" pulumi-lang-yaml=\"`addressPrefixes`\" pulumi-lang-java=\"`addressPrefixes`\"\u003e`address_prefixes`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`ipAddressPool`\" pulumi-lang-dotnet=\"`IpAddressPool`\" pulumi-lang-go=\"`ipAddressPool`\" pulumi-lang-python=\"`ip_address_pool`\" pulumi-lang-yaml=\"`ipAddressPool`\" pulumi-lang-java=\"`ipAddressPool`\"\u003e`ip_address_pool`\u003c/span\u003e must be specified.\n"},"name":{"type":"string","description":"The name of the subnet. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"privateEndpointNetworkPolicies":{"type":"string","description":"Enable or Disable network policies for the private endpoint on the subnet. Possible values are `Disabled`, `Enabled`, `NetworkSecurityGroupEnabled` and `RouteTableEnabled`. Defaults to `Disabled`.\n\n\u003e **NOTE:** If you don't want to use network policies like user-defined Routes and Network Security Groups, you need to set \u003cspan pulumi-lang-nodejs=\"`privateEndpointNetworkPolicies`\" pulumi-lang-dotnet=\"`PrivateEndpointNetworkPolicies`\" pulumi-lang-go=\"`privateEndpointNetworkPolicies`\" pulumi-lang-python=\"`private_endpoint_network_policies`\" pulumi-lang-yaml=\"`privateEndpointNetworkPolicies`\" pulumi-lang-java=\"`privateEndpointNetworkPolicies`\"\u003e`private_endpoint_network_policies`\u003c/span\u003e in the subnet to `Disabled`. This setting only applies to Private Endpoints in the Subnet and affects all Private Endpoints in the Subnet. For other resources in the Subnet, access is controlled based via the Network Security Group which can be configured using the \u003cspan pulumi-lang-nodejs=\"`azure.network.SubnetNetworkSecurityGroupAssociation`\" pulumi-lang-dotnet=\"`azure.network.SubnetNetworkSecurityGroupAssociation`\" pulumi-lang-go=\"`network.SubnetNetworkSecurityGroupAssociation`\" pulumi-lang-python=\"`network.SubnetNetworkSecurityGroupAssociation`\" pulumi-lang-yaml=\"`azure.network.SubnetNetworkSecurityGroupAssociation`\" pulumi-lang-java=\"`azure.network.SubnetNetworkSecurityGroupAssociation`\"\u003e`azure.network.SubnetNetworkSecurityGroupAssociation`\u003c/span\u003e resource.\n\n\u003e **NOTE:** If you want to use network policies like user-defined Routes and Network Security Groups, you need to set the \u003cspan pulumi-lang-nodejs=\"`privateEndpointNetworkPolicies`\" pulumi-lang-dotnet=\"`PrivateEndpointNetworkPolicies`\" pulumi-lang-go=\"`privateEndpointNetworkPolicies`\" pulumi-lang-python=\"`private_endpoint_network_policies`\" pulumi-lang-yaml=\"`privateEndpointNetworkPolicies`\" pulumi-lang-java=\"`privateEndpointNetworkPolicies`\"\u003e`private_endpoint_network_policies`\u003c/span\u003e in the Subnet to `Enabled`/`NetworkSecurityGroupEnabled`/`RouteTableEnabled`. This setting only applies to Private Endpoints in the Subnet and affects all Private Endpoints in the Subnet. For other resources in the Subnet, access is controlled based via the Network Security Group which can be configured using the \u003cspan pulumi-lang-nodejs=\"`azure.network.SubnetNetworkSecurityGroupAssociation`\" pulumi-lang-dotnet=\"`azure.network.SubnetNetworkSecurityGroupAssociation`\" pulumi-lang-go=\"`network.SubnetNetworkSecurityGroupAssociation`\" pulumi-lang-python=\"`network.SubnetNetworkSecurityGroupAssociation`\" pulumi-lang-yaml=\"`azure.network.SubnetNetworkSecurityGroupAssociation`\" pulumi-lang-java=\"`azure.network.SubnetNetworkSecurityGroupAssociation`\"\u003e`azure.network.SubnetNetworkSecurityGroupAssociation`\u003c/span\u003e resource.\n\n\u003e **NOTE:** See more details from [Manage network policies for Private Endpoints](https://learn.microsoft.com/en-gb/azure/private-link/disable-private-endpoint-network-policy?tabs=network-policy-portal).\n"},"privateLinkServiceNetworkPoliciesEnabled":{"type":"boolean","description":"Enable or Disable network policies for the private link service on the subnet. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n\n\u003e **NOTE:** When configuring Azure Private Link service, the explicit setting \u003cspan pulumi-lang-nodejs=\"`privateLinkServiceNetworkPoliciesEnabled`\" pulumi-lang-dotnet=\"`PrivateLinkServiceNetworkPoliciesEnabled`\" pulumi-lang-go=\"`privateLinkServiceNetworkPoliciesEnabled`\" pulumi-lang-python=\"`private_link_service_network_policies_enabled`\" pulumi-lang-yaml=\"`privateLinkServiceNetworkPoliciesEnabled`\" pulumi-lang-java=\"`privateLinkServiceNetworkPoliciesEnabled`\"\u003e`private_link_service_network_policies_enabled`\u003c/span\u003e must be set to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e in the subnet since Private Link Service does not support network policies like user-defined Routes and Network Security Groups. This setting only affects the Private Link service. For other resources in the subnet, access is controlled based on the Network Security Group which can be configured using the \u003cspan pulumi-lang-nodejs=\"`azure.network.SubnetNetworkSecurityGroupAssociation`\" pulumi-lang-dotnet=\"`azure.network.SubnetNetworkSecurityGroupAssociation`\" pulumi-lang-go=\"`network.SubnetNetworkSecurityGroupAssociation`\" pulumi-lang-python=\"`network.SubnetNetworkSecurityGroupAssociation`\" pulumi-lang-yaml=\"`azure.network.SubnetNetworkSecurityGroupAssociation`\" pulumi-lang-java=\"`azure.network.SubnetNetworkSecurityGroupAssociation`\"\u003e`azure.network.SubnetNetworkSecurityGroupAssociation`\u003c/span\u003e resource. See more details from [Manage network policies for Private Link Services](https://learn.microsoft.com/en-gb/azure/private-link/disable-private-link-service-network-policy?tabs=private-link-network-policy-powershell).\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the subnet. This must be the resource group that the virtual network resides in. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"serviceEndpointPolicyIds":{"type":"array","items":{"type":"string"},"description":"The list of IDs of Service Endpoint Policies to associate with the subnet.\n"},"serviceEndpoints":{"type":"array","items":{"type":"string"},"description":"The list of Service endpoints to associate with the subnet. Possible values include: `Microsoft.AzureActiveDirectory`, `Microsoft.AzureCosmosDB`, `Microsoft.ContainerRegistry`, `Microsoft.EventHub`, `Microsoft.KeyVault`, `Microsoft.ServiceBus`, `Microsoft.Sql`, `Microsoft.Storage`, `Microsoft.Storage.Global` and `Microsoft.Web`.\n\n\u003e **NOTE:** In order to use `Microsoft.Storage.Global` service endpoint (which allows access to virtual networks in other regions), you must enable the `AllowGlobalTagsForStorage` feature in your subscription. This is currently a preview feature, please see the [official documentation](https://learn.microsoft.com/en-us/azure/storage/common/storage-network-security?tabs=azure-cli#enabling-access-to-virtual-networks-in-other-regions-preview) for more information.\n"},"sharingScope":{"type":"string","description":"The sharing scope of the subnet. Possible value is `Tenant`.\n\n\u003e **Note:** This property cannot be set if \u003cspan pulumi-lang-nodejs=\"`defaultOutboundAccessEnabled`\" pulumi-lang-dotnet=\"`DefaultOutboundAccessEnabled`\" pulumi-lang-go=\"`defaultOutboundAccessEnabled`\" pulumi-lang-python=\"`default_outbound_access_enabled`\" pulumi-lang-yaml=\"`defaultOutboundAccessEnabled`\" pulumi-lang-java=\"`defaultOutboundAccessEnabled`\"\u003e`default_outbound_access_enabled`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n\n!\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`sharingScope`\" pulumi-lang-dotnet=\"`SharingScope`\" pulumi-lang-go=\"`sharingScope`\" pulumi-lang-python=\"`sharing_scope`\" pulumi-lang-yaml=\"`sharingScope`\" pulumi-lang-java=\"`sharingScope`\"\u003e`sharing_scope`\u003c/span\u003e property is only available to users who have been explicitly registered and granted access by the Azure Networking Product Group.\n"},"virtualNetworkName":{"type":"string","description":"The name of the virtual network to which to attach the subnet. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:network/subnetNatGatewayAssociation:SubnetNatGatewayAssociation":{"description":"Associates a NAT Gateway with a Subnet within a Virtual Network.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-nat-gateway-rg\",\n    location: \"West Europe\",\n});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"example\", {\n    name: \"example-network\",\n    addressSpaces: [\"10.0.0.0/16\"],\n    location: example.location,\n    resourceGroupName: example.name,\n});\nconst exampleSubnet = new azure.network.Subnet(\"example\", {\n    name: \"example-subnet\",\n    resourceGroupName: example.name,\n    virtualNetworkName: exampleVirtualNetwork.name,\n    addressPrefixes: [\"10.0.2.0/24\"],\n});\nconst exampleNatGateway = new azure.network.NatGateway(\"example\", {\n    name: \"example-natgateway\",\n    location: example.location,\n    resourceGroupName: example.name,\n});\nconst exampleSubnetNatGatewayAssociation = new azure.network.SubnetNatGatewayAssociation(\"example\", {\n    subnetId: exampleSubnet.id,\n    natGatewayId: exampleNatGateway.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-nat-gateway-rg\",\n    location=\"West Europe\")\nexample_virtual_network = azure.network.VirtualNetwork(\"example\",\n    name=\"example-network\",\n    address_spaces=[\"10.0.0.0/16\"],\n    location=example.location,\n    resource_group_name=example.name)\nexample_subnet = azure.network.Subnet(\"example\",\n    name=\"example-subnet\",\n    resource_group_name=example.name,\n    virtual_network_name=example_virtual_network.name,\n    address_prefixes=[\"10.0.2.0/24\"])\nexample_nat_gateway = azure.network.NatGateway(\"example\",\n    name=\"example-natgateway\",\n    location=example.location,\n    resource_group_name=example.name)\nexample_subnet_nat_gateway_association = azure.network.SubnetNatGatewayAssociation(\"example\",\n    subnet_id=example_subnet.id,\n    nat_gateway_id=example_nat_gateway.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-nat-gateway-rg\",\n        Location = \"West Europe\",\n    });\n\n    var exampleVirtualNetwork = new Azure.Network.VirtualNetwork(\"example\", new()\n    {\n        Name = \"example-network\",\n        AddressSpaces = new[]\n        {\n            \"10.0.0.0/16\",\n        },\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n    });\n\n    var exampleSubnet = new Azure.Network.Subnet(\"example\", new()\n    {\n        Name = \"example-subnet\",\n        ResourceGroupName = example.Name,\n        VirtualNetworkName = exampleVirtualNetwork.Name,\n        AddressPrefixes = new[]\n        {\n            \"10.0.2.0/24\",\n        },\n    });\n\n    var exampleNatGateway = new Azure.Network.NatGateway(\"example\", new()\n    {\n        Name = \"example-natgateway\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n    });\n\n    var exampleSubnetNatGatewayAssociation = new Azure.Network.SubnetNatGatewayAssociation(\"example\", new()\n    {\n        SubnetId = exampleSubnet.Id,\n        NatGatewayId = exampleNatGateway.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-nat-gateway-rg\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, \"example\", \u0026network.VirtualNetworkArgs{\n\t\t\tName: pulumi.String(\"example-network\"),\n\t\t\tAddressSpaces: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.0.0/16\"),\n\t\t\t},\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSubnet, err := network.NewSubnet(ctx, \"example\", \u0026network.SubnetArgs{\n\t\t\tName:               pulumi.String(\"example-subnet\"),\n\t\t\tResourceGroupName:  example.Name,\n\t\t\tVirtualNetworkName: exampleVirtualNetwork.Name,\n\t\t\tAddressPrefixes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.2.0/24\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNatGateway, err := network.NewNatGateway(ctx, \"example\", \u0026network.NatGatewayArgs{\n\t\t\tName:              pulumi.String(\"example-natgateway\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = network.NewSubnetNatGatewayAssociation(ctx, \"example\", \u0026network.SubnetNatGatewayAssociationArgs{\n\t\t\tSubnetId:     exampleSubnet.ID(),\n\t\t\tNatGatewayId: exampleNatGateway.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.VirtualNetwork;\nimport com.pulumi.azure.network.VirtualNetworkArgs;\nimport com.pulumi.azure.network.Subnet;\nimport com.pulumi.azure.network.SubnetArgs;\nimport com.pulumi.azure.network.NatGateway;\nimport com.pulumi.azure.network.NatGatewayArgs;\nimport com.pulumi.azure.network.SubnetNatGatewayAssociation;\nimport com.pulumi.azure.network.SubnetNatGatewayAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-nat-gateway-rg\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleVirtualNetwork = new VirtualNetwork(\"exampleVirtualNetwork\", VirtualNetworkArgs.builder()\n            .name(\"example-network\")\n            .addressSpaces(\"10.0.0.0/16\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .build());\n\n        var exampleSubnet = new Subnet(\"exampleSubnet\", SubnetArgs.builder()\n            .name(\"example-subnet\")\n            .resourceGroupName(example.name())\n            .virtualNetworkName(exampleVirtualNetwork.name())\n            .addressPrefixes(\"10.0.2.0/24\")\n            .build());\n\n        var exampleNatGateway = new NatGateway(\"exampleNatGateway\", NatGatewayArgs.builder()\n            .name(\"example-natgateway\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .build());\n\n        var exampleSubnetNatGatewayAssociation = new SubnetNatGatewayAssociation(\"exampleSubnetNatGatewayAssociation\", SubnetNatGatewayAssociationArgs.builder()\n            .subnetId(exampleSubnet.id())\n            .natGatewayId(exampleNatGateway.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-nat-gateway-rg\n      location: West Europe\n  exampleVirtualNetwork:\n    type: azure:network:VirtualNetwork\n    name: example\n    properties:\n      name: example-network\n      addressSpaces:\n        - 10.0.0.0/16\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n  exampleSubnet:\n    type: azure:network:Subnet\n    name: example\n    properties:\n      name: example-subnet\n      resourceGroupName: ${example.name}\n      virtualNetworkName: ${exampleVirtualNetwork.name}\n      addressPrefixes:\n        - 10.0.2.0/24\n  exampleNatGateway:\n    type: azure:network:NatGateway\n    name: example\n    properties:\n      name: example-natgateway\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n  exampleSubnetNatGatewayAssociation:\n    type: azure:network:SubnetNatGatewayAssociation\n    name: example\n    properties:\n      subnetId: ${exampleSubnet.id}\n      natGatewayId: ${exampleNatGateway.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2025-01-01\n\n## Import\n\nSubnet NAT Gateway Associations can be imported using the `resource id` of the Subnet, e.g.\n\n```sh\n$ pulumi import azure:network/subnetNatGatewayAssociation:SubnetNatGatewayAssociation association1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Network/virtualNetworks/myvnet1/subnets/mysubnet1\n```\n\n","properties":{"natGatewayId":{"type":"string","description":"The ID of the NAT Gateway which should be associated with the Subnet. Changing this forces a new resource to be created.\n"},"subnetId":{"type":"string","description":"The ID of the Subnet. Changing this forces a new resource to be created.\n"}},"required":["natGatewayId","subnetId"],"inputProperties":{"natGatewayId":{"type":"string","description":"The ID of the NAT Gateway which should be associated with the Subnet. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"subnetId":{"type":"string","description":"The ID of the Subnet. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["natGatewayId","subnetId"],"stateInputs":{"description":"Input properties used for looking up and filtering SubnetNatGatewayAssociation resources.\n","properties":{"natGatewayId":{"type":"string","description":"The ID of the NAT Gateway which should be associated with the Subnet. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"subnetId":{"type":"string","description":"The ID of the Subnet. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:network/subnetNetworkSecurityGroupAssociation:SubnetNetworkSecurityGroupAssociation":{"description":"Associates a Network Security Group with a Subnet within a Virtual Network.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"example\", {\n    name: \"example-network\",\n    addressSpaces: [\"10.0.0.0/16\"],\n    location: example.location,\n    resourceGroupName: example.name,\n});\nconst exampleSubnet = new azure.network.Subnet(\"example\", {\n    name: \"frontend\",\n    resourceGroupName: example.name,\n    virtualNetworkName: exampleVirtualNetwork.name,\n    addressPrefixes: [\"10.0.2.0/24\"],\n});\nconst exampleNetworkSecurityGroup = new azure.network.NetworkSecurityGroup(\"example\", {\n    name: \"example-nsg\",\n    location: example.location,\n    resourceGroupName: example.name,\n    securityRules: [{\n        name: \"test123\",\n        priority: 100,\n        direction: \"Inbound\",\n        access: \"Allow\",\n        protocol: \"Tcp\",\n        sourcePortRange: \"*\",\n        destinationPortRange: \"*\",\n        sourceAddressPrefix: \"*\",\n        destinationAddressPrefix: \"*\",\n    }],\n});\nconst exampleSubnetNetworkSecurityGroupAssociation = new azure.network.SubnetNetworkSecurityGroupAssociation(\"example\", {\n    subnetId: exampleSubnet.id,\n    networkSecurityGroupId: exampleNetworkSecurityGroup.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_virtual_network = azure.network.VirtualNetwork(\"example\",\n    name=\"example-network\",\n    address_spaces=[\"10.0.0.0/16\"],\n    location=example.location,\n    resource_group_name=example.name)\nexample_subnet = azure.network.Subnet(\"example\",\n    name=\"frontend\",\n    resource_group_name=example.name,\n    virtual_network_name=example_virtual_network.name,\n    address_prefixes=[\"10.0.2.0/24\"])\nexample_network_security_group = azure.network.NetworkSecurityGroup(\"example\",\n    name=\"example-nsg\",\n    location=example.location,\n    resource_group_name=example.name,\n    security_rules=[{\n        \"name\": \"test123\",\n        \"priority\": 100,\n        \"direction\": \"Inbound\",\n        \"access\": \"Allow\",\n        \"protocol\": \"Tcp\",\n        \"source_port_range\": \"*\",\n        \"destination_port_range\": \"*\",\n        \"source_address_prefix\": \"*\",\n        \"destination_address_prefix\": \"*\",\n    }])\nexample_subnet_network_security_group_association = azure.network.SubnetNetworkSecurityGroupAssociation(\"example\",\n    subnet_id=example_subnet.id,\n    network_security_group_id=example_network_security_group.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleVirtualNetwork = new Azure.Network.VirtualNetwork(\"example\", new()\n    {\n        Name = \"example-network\",\n        AddressSpaces = new[]\n        {\n            \"10.0.0.0/16\",\n        },\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n    });\n\n    var exampleSubnet = new Azure.Network.Subnet(\"example\", new()\n    {\n        Name = \"frontend\",\n        ResourceGroupName = example.Name,\n        VirtualNetworkName = exampleVirtualNetwork.Name,\n        AddressPrefixes = new[]\n        {\n            \"10.0.2.0/24\",\n        },\n    });\n\n    var exampleNetworkSecurityGroup = new Azure.Network.NetworkSecurityGroup(\"example\", new()\n    {\n        Name = \"example-nsg\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        SecurityRules = new[]\n        {\n            new Azure.Network.Inputs.NetworkSecurityGroupSecurityRuleArgs\n            {\n                Name = \"test123\",\n                Priority = 100,\n                Direction = \"Inbound\",\n                Access = \"Allow\",\n                Protocol = \"Tcp\",\n                SourcePortRange = \"*\",\n                DestinationPortRange = \"*\",\n                SourceAddressPrefix = \"*\",\n                DestinationAddressPrefix = \"*\",\n            },\n        },\n    });\n\n    var exampleSubnetNetworkSecurityGroupAssociation = new Azure.Network.SubnetNetworkSecurityGroupAssociation(\"example\", new()\n    {\n        SubnetId = exampleSubnet.Id,\n        NetworkSecurityGroupId = exampleNetworkSecurityGroup.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, \"example\", \u0026network.VirtualNetworkArgs{\n\t\t\tName: pulumi.String(\"example-network\"),\n\t\t\tAddressSpaces: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.0.0/16\"),\n\t\t\t},\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSubnet, err := network.NewSubnet(ctx, \"example\", \u0026network.SubnetArgs{\n\t\t\tName:               pulumi.String(\"frontend\"),\n\t\t\tResourceGroupName:  example.Name,\n\t\t\tVirtualNetworkName: exampleVirtualNetwork.Name,\n\t\t\tAddressPrefixes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.2.0/24\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNetworkSecurityGroup, err := network.NewNetworkSecurityGroup(ctx, \"example\", \u0026network.NetworkSecurityGroupArgs{\n\t\t\tName:              pulumi.String(\"example-nsg\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSecurityRules: network.NetworkSecurityGroupSecurityRuleArray{\n\t\t\t\t\u0026network.NetworkSecurityGroupSecurityRuleArgs{\n\t\t\t\t\tName:                     pulumi.String(\"test123\"),\n\t\t\t\t\tPriority:                 pulumi.Int(100),\n\t\t\t\t\tDirection:                pulumi.String(\"Inbound\"),\n\t\t\t\t\tAccess:                   pulumi.String(\"Allow\"),\n\t\t\t\t\tProtocol:                 pulumi.String(\"Tcp\"),\n\t\t\t\t\tSourcePortRange:          pulumi.String(\"*\"),\n\t\t\t\t\tDestinationPortRange:     pulumi.String(\"*\"),\n\t\t\t\t\tSourceAddressPrefix:      pulumi.String(\"*\"),\n\t\t\t\t\tDestinationAddressPrefix: pulumi.String(\"*\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = network.NewSubnetNetworkSecurityGroupAssociation(ctx, \"example\", \u0026network.SubnetNetworkSecurityGroupAssociationArgs{\n\t\t\tSubnetId:               exampleSubnet.ID(),\n\t\t\tNetworkSecurityGroupId: exampleNetworkSecurityGroup.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.VirtualNetwork;\nimport com.pulumi.azure.network.VirtualNetworkArgs;\nimport com.pulumi.azure.network.Subnet;\nimport com.pulumi.azure.network.SubnetArgs;\nimport com.pulumi.azure.network.NetworkSecurityGroup;\nimport com.pulumi.azure.network.NetworkSecurityGroupArgs;\nimport com.pulumi.azure.network.inputs.NetworkSecurityGroupSecurityRuleArgs;\nimport com.pulumi.azure.network.SubnetNetworkSecurityGroupAssociation;\nimport com.pulumi.azure.network.SubnetNetworkSecurityGroupAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleVirtualNetwork = new VirtualNetwork(\"exampleVirtualNetwork\", VirtualNetworkArgs.builder()\n            .name(\"example-network\")\n            .addressSpaces(\"10.0.0.0/16\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .build());\n\n        var exampleSubnet = new Subnet(\"exampleSubnet\", SubnetArgs.builder()\n            .name(\"frontend\")\n            .resourceGroupName(example.name())\n            .virtualNetworkName(exampleVirtualNetwork.name())\n            .addressPrefixes(\"10.0.2.0/24\")\n            .build());\n\n        var exampleNetworkSecurityGroup = new NetworkSecurityGroup(\"exampleNetworkSecurityGroup\", NetworkSecurityGroupArgs.builder()\n            .name(\"example-nsg\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .securityRules(NetworkSecurityGroupSecurityRuleArgs.builder()\n                .name(\"test123\")\n                .priority(100)\n                .direction(\"Inbound\")\n                .access(\"Allow\")\n                .protocol(\"Tcp\")\n                .sourcePortRange(\"*\")\n                .destinationPortRange(\"*\")\n                .sourceAddressPrefix(\"*\")\n                .destinationAddressPrefix(\"*\")\n                .build())\n            .build());\n\n        var exampleSubnetNetworkSecurityGroupAssociation = new SubnetNetworkSecurityGroupAssociation(\"exampleSubnetNetworkSecurityGroupAssociation\", SubnetNetworkSecurityGroupAssociationArgs.builder()\n            .subnetId(exampleSubnet.id())\n            .networkSecurityGroupId(exampleNetworkSecurityGroup.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleVirtualNetwork:\n    type: azure:network:VirtualNetwork\n    name: example\n    properties:\n      name: example-network\n      addressSpaces:\n        - 10.0.0.0/16\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n  exampleSubnet:\n    type: azure:network:Subnet\n    name: example\n    properties:\n      name: frontend\n      resourceGroupName: ${example.name}\n      virtualNetworkName: ${exampleVirtualNetwork.name}\n      addressPrefixes:\n        - 10.0.2.0/24\n  exampleNetworkSecurityGroup:\n    type: azure:network:NetworkSecurityGroup\n    name: example\n    properties:\n      name: example-nsg\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      securityRules:\n        - name: test123\n          priority: 100\n          direction: Inbound\n          access: Allow\n          protocol: Tcp\n          sourcePortRange: '*'\n          destinationPortRange: '*'\n          sourceAddressPrefix: '*'\n          destinationAddressPrefix: '*'\n  exampleSubnetNetworkSecurityGroupAssociation:\n    type: azure:network:SubnetNetworkSecurityGroupAssociation\n    name: example\n    properties:\n      subnetId: ${exampleSubnet.id}\n      networkSecurityGroupId: ${exampleNetworkSecurityGroup.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2025-01-01\n\n## Import\n\nSubnet `\u003c-\u003e` Network Security Group Associations can be imported using the `resource id` of the Subnet, e.g.\n\n```sh\n$ pulumi import azure:network/subnetNetworkSecurityGroupAssociation:SubnetNetworkSecurityGroupAssociation association1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Network/virtualNetworks/myvnet1/subnets/mysubnet1\n```\n\n","properties":{"networkSecurityGroupId":{"type":"string","description":"The ID of the Network Security Group which should be associated with the Subnet. Changing this forces a new resource to be created.\n"},"subnetId":{"type":"string","description":"The ID of the Subnet. Changing this forces a new resource to be created.\n"}},"required":["networkSecurityGroupId","subnetId"],"inputProperties":{"networkSecurityGroupId":{"type":"string","description":"The ID of the Network Security Group which should be associated with the Subnet. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"subnetId":{"type":"string","description":"The ID of the Subnet. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["networkSecurityGroupId","subnetId"],"stateInputs":{"description":"Input properties used for looking up and filtering SubnetNetworkSecurityGroupAssociation resources.\n","properties":{"networkSecurityGroupId":{"type":"string","description":"The ID of the Network Security Group which should be associated with the Subnet. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"subnetId":{"type":"string","description":"The ID of the Subnet. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:network/subnetRouteTableAssociation:SubnetRouteTableAssociation":{"description":"Associates a Route Table with a Subnet within a Virtual Network.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"example\", {\n    name: \"example-network\",\n    addressSpaces: [\"10.0.0.0/16\"],\n    location: example.location,\n    resourceGroupName: example.name,\n});\nconst exampleSubnet = new azure.network.Subnet(\"example\", {\n    name: \"frontend\",\n    resourceGroupName: example.name,\n    virtualNetworkName: exampleVirtualNetwork.name,\n    addressPrefixes: [\"10.0.2.0/24\"],\n});\nconst exampleRouteTable = new azure.network.RouteTable(\"example\", {\n    name: \"example-routetable\",\n    location: example.location,\n    resourceGroupName: example.name,\n    routes: [{\n        name: \"example\",\n        addressPrefix: \"10.100.0.0/14\",\n        nextHopType: \"VirtualAppliance\",\n        nextHopInIpAddress: \"10.10.1.1\",\n    }],\n});\nconst exampleSubnetRouteTableAssociation = new azure.network.SubnetRouteTableAssociation(\"example\", {\n    subnetId: exampleSubnet.id,\n    routeTableId: exampleRouteTable.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_virtual_network = azure.network.VirtualNetwork(\"example\",\n    name=\"example-network\",\n    address_spaces=[\"10.0.0.0/16\"],\n    location=example.location,\n    resource_group_name=example.name)\nexample_subnet = azure.network.Subnet(\"example\",\n    name=\"frontend\",\n    resource_group_name=example.name,\n    virtual_network_name=example_virtual_network.name,\n    address_prefixes=[\"10.0.2.0/24\"])\nexample_route_table = azure.network.RouteTable(\"example\",\n    name=\"example-routetable\",\n    location=example.location,\n    resource_group_name=example.name,\n    routes=[{\n        \"name\": \"example\",\n        \"address_prefix\": \"10.100.0.0/14\",\n        \"next_hop_type\": \"VirtualAppliance\",\n        \"next_hop_in_ip_address\": \"10.10.1.1\",\n    }])\nexample_subnet_route_table_association = azure.network.SubnetRouteTableAssociation(\"example\",\n    subnet_id=example_subnet.id,\n    route_table_id=example_route_table.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleVirtualNetwork = new Azure.Network.VirtualNetwork(\"example\", new()\n    {\n        Name = \"example-network\",\n        AddressSpaces = new[]\n        {\n            \"10.0.0.0/16\",\n        },\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n    });\n\n    var exampleSubnet = new Azure.Network.Subnet(\"example\", new()\n    {\n        Name = \"frontend\",\n        ResourceGroupName = example.Name,\n        VirtualNetworkName = exampleVirtualNetwork.Name,\n        AddressPrefixes = new[]\n        {\n            \"10.0.2.0/24\",\n        },\n    });\n\n    var exampleRouteTable = new Azure.Network.RouteTable(\"example\", new()\n    {\n        Name = \"example-routetable\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Routes = new[]\n        {\n            new Azure.Network.Inputs.RouteTableRouteArgs\n            {\n                Name = \"example\",\n                AddressPrefix = \"10.100.0.0/14\",\n                NextHopType = \"VirtualAppliance\",\n                NextHopInIpAddress = \"10.10.1.1\",\n            },\n        },\n    });\n\n    var exampleSubnetRouteTableAssociation = new Azure.Network.SubnetRouteTableAssociation(\"example\", new()\n    {\n        SubnetId = exampleSubnet.Id,\n        RouteTableId = exampleRouteTable.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, \"example\", \u0026network.VirtualNetworkArgs{\n\t\t\tName: pulumi.String(\"example-network\"),\n\t\t\tAddressSpaces: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.0.0/16\"),\n\t\t\t},\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSubnet, err := network.NewSubnet(ctx, \"example\", \u0026network.SubnetArgs{\n\t\t\tName:               pulumi.String(\"frontend\"),\n\t\t\tResourceGroupName:  example.Name,\n\t\t\tVirtualNetworkName: exampleVirtualNetwork.Name,\n\t\t\tAddressPrefixes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.2.0/24\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleRouteTable, err := network.NewRouteTable(ctx, \"example\", \u0026network.RouteTableArgs{\n\t\t\tName:              pulumi.String(\"example-routetable\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tRoutes: network.RouteTableRouteArray{\n\t\t\t\t\u0026network.RouteTableRouteArgs{\n\t\t\t\t\tName:               pulumi.String(\"example\"),\n\t\t\t\t\tAddressPrefix:      pulumi.String(\"10.100.0.0/14\"),\n\t\t\t\t\tNextHopType:        pulumi.String(\"VirtualAppliance\"),\n\t\t\t\t\tNextHopInIpAddress: pulumi.String(\"10.10.1.1\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = network.NewSubnetRouteTableAssociation(ctx, \"example\", \u0026network.SubnetRouteTableAssociationArgs{\n\t\t\tSubnetId:     exampleSubnet.ID(),\n\t\t\tRouteTableId: exampleRouteTable.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.VirtualNetwork;\nimport com.pulumi.azure.network.VirtualNetworkArgs;\nimport com.pulumi.azure.network.Subnet;\nimport com.pulumi.azure.network.SubnetArgs;\nimport com.pulumi.azure.network.RouteTable;\nimport com.pulumi.azure.network.RouteTableArgs;\nimport com.pulumi.azure.network.inputs.RouteTableRouteArgs;\nimport com.pulumi.azure.network.SubnetRouteTableAssociation;\nimport com.pulumi.azure.network.SubnetRouteTableAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleVirtualNetwork = new VirtualNetwork(\"exampleVirtualNetwork\", VirtualNetworkArgs.builder()\n            .name(\"example-network\")\n            .addressSpaces(\"10.0.0.0/16\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .build());\n\n        var exampleSubnet = new Subnet(\"exampleSubnet\", SubnetArgs.builder()\n            .name(\"frontend\")\n            .resourceGroupName(example.name())\n            .virtualNetworkName(exampleVirtualNetwork.name())\n            .addressPrefixes(\"10.0.2.0/24\")\n            .build());\n\n        var exampleRouteTable = new RouteTable(\"exampleRouteTable\", RouteTableArgs.builder()\n            .name(\"example-routetable\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .routes(RouteTableRouteArgs.builder()\n                .name(\"example\")\n                .addressPrefix(\"10.100.0.0/14\")\n                .nextHopType(\"VirtualAppliance\")\n                .nextHopInIpAddress(\"10.10.1.1\")\n                .build())\n            .build());\n\n        var exampleSubnetRouteTableAssociation = new SubnetRouteTableAssociation(\"exampleSubnetRouteTableAssociation\", SubnetRouteTableAssociationArgs.builder()\n            .subnetId(exampleSubnet.id())\n            .routeTableId(exampleRouteTable.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleVirtualNetwork:\n    type: azure:network:VirtualNetwork\n    name: example\n    properties:\n      name: example-network\n      addressSpaces:\n        - 10.0.0.0/16\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n  exampleSubnet:\n    type: azure:network:Subnet\n    name: example\n    properties:\n      name: frontend\n      resourceGroupName: ${example.name}\n      virtualNetworkName: ${exampleVirtualNetwork.name}\n      addressPrefixes:\n        - 10.0.2.0/24\n  exampleRouteTable:\n    type: azure:network:RouteTable\n    name: example\n    properties:\n      name: example-routetable\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      routes:\n        - name: example\n          addressPrefix: 10.100.0.0/14\n          nextHopType: VirtualAppliance\n          nextHopInIpAddress: 10.10.1.1\n  exampleSubnetRouteTableAssociation:\n    type: azure:network:SubnetRouteTableAssociation\n    name: example\n    properties:\n      subnetId: ${exampleSubnet.id}\n      routeTableId: ${exampleRouteTable.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2025-01-01\n\n## Import\n\nSubnet Route Table Associations can be imported using the `resource id` of the Subnet, e.g.\n\n```sh\n$ pulumi import azure:network/subnetRouteTableAssociation:SubnetRouteTableAssociation association1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Network/virtualNetworks/myvnet1/subnets/mysubnet1\n```\n\n","properties":{"routeTableId":{"type":"string","description":"The ID of the Route Table which should be associated with the Subnet. Changing this forces a new resource to be created.\n\n\u003e **Note:** Use this resource only when the subnet is managed as a standalone \u003cspan pulumi-lang-nodejs=\"`azure.network.Subnet`\" pulumi-lang-dotnet=\"`azure.network.Subnet`\" pulumi-lang-go=\"`network.Subnet`\" pulumi-lang-python=\"`network.Subnet`\" pulumi-lang-yaml=\"`azure.network.Subnet`\" pulumi-lang-java=\"`azure.network.Subnet`\"\u003e`azure.network.Subnet`\u003c/span\u003e. If the subnet is declared inline inside \u003cspan pulumi-lang-nodejs=\"`azure.network.VirtualNetwork`\" pulumi-lang-dotnet=\"`azure.network.VirtualNetwork`\" pulumi-lang-go=\"`network.VirtualNetwork`\" pulumi-lang-python=\"`network.VirtualNetwork`\" pulumi-lang-yaml=\"`azure.network.VirtualNetwork`\" pulumi-lang-java=\"`azure.network.VirtualNetwork`\"\u003e`azure.network.VirtualNetwork`\u003c/span\u003e, set \u003cspan pulumi-lang-nodejs=\"`routeTableId`\" pulumi-lang-dotnet=\"`RouteTableId`\" pulumi-lang-go=\"`routeTableId`\" pulumi-lang-python=\"`route_table_id`\" pulumi-lang-yaml=\"`routeTableId`\" pulumi-lang-java=\"`routeTableId`\"\u003e`route_table_id`\u003c/span\u003e in the inline \u003cspan pulumi-lang-nodejs=\"`subnet`\" pulumi-lang-dotnet=\"`Subnet`\" pulumi-lang-go=\"`subnet`\" pulumi-lang-python=\"`subnet`\" pulumi-lang-yaml=\"`subnet`\" pulumi-lang-java=\"`subnet`\"\u003e`subnet`\u003c/span\u003e block and do not create this association for the same subnet.\n"},"subnetId":{"type":"string","description":"The ID of the Subnet. Changing this forces a new resource to be created.\n"}},"required":["routeTableId","subnetId"],"inputProperties":{"routeTableId":{"type":"string","description":"The ID of the Route Table which should be associated with the Subnet. Changing this forces a new resource to be created.\n\n\u003e **Note:** Use this resource only when the subnet is managed as a standalone \u003cspan pulumi-lang-nodejs=\"`azure.network.Subnet`\" pulumi-lang-dotnet=\"`azure.network.Subnet`\" pulumi-lang-go=\"`network.Subnet`\" pulumi-lang-python=\"`network.Subnet`\" pulumi-lang-yaml=\"`azure.network.Subnet`\" pulumi-lang-java=\"`azure.network.Subnet`\"\u003e`azure.network.Subnet`\u003c/span\u003e. If the subnet is declared inline inside \u003cspan pulumi-lang-nodejs=\"`azure.network.VirtualNetwork`\" pulumi-lang-dotnet=\"`azure.network.VirtualNetwork`\" pulumi-lang-go=\"`network.VirtualNetwork`\" pulumi-lang-python=\"`network.VirtualNetwork`\" pulumi-lang-yaml=\"`azure.network.VirtualNetwork`\" pulumi-lang-java=\"`azure.network.VirtualNetwork`\"\u003e`azure.network.VirtualNetwork`\u003c/span\u003e, set \u003cspan pulumi-lang-nodejs=\"`routeTableId`\" pulumi-lang-dotnet=\"`RouteTableId`\" pulumi-lang-go=\"`routeTableId`\" pulumi-lang-python=\"`route_table_id`\" pulumi-lang-yaml=\"`routeTableId`\" pulumi-lang-java=\"`routeTableId`\"\u003e`route_table_id`\u003c/span\u003e in the inline \u003cspan pulumi-lang-nodejs=\"`subnet`\" pulumi-lang-dotnet=\"`Subnet`\" pulumi-lang-go=\"`subnet`\" pulumi-lang-python=\"`subnet`\" pulumi-lang-yaml=\"`subnet`\" pulumi-lang-java=\"`subnet`\"\u003e`subnet`\u003c/span\u003e block and do not create this association for the same subnet.\n","willReplaceOnChanges":true},"subnetId":{"type":"string","description":"The ID of the Subnet. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["routeTableId","subnetId"],"stateInputs":{"description":"Input properties used for looking up and filtering SubnetRouteTableAssociation resources.\n","properties":{"routeTableId":{"type":"string","description":"The ID of the Route Table which should be associated with the Subnet. Changing this forces a new resource to be created.\n\n\u003e **Note:** Use this resource only when the subnet is managed as a standalone \u003cspan pulumi-lang-nodejs=\"`azure.network.Subnet`\" pulumi-lang-dotnet=\"`azure.network.Subnet`\" pulumi-lang-go=\"`network.Subnet`\" pulumi-lang-python=\"`network.Subnet`\" pulumi-lang-yaml=\"`azure.network.Subnet`\" pulumi-lang-java=\"`azure.network.Subnet`\"\u003e`azure.network.Subnet`\u003c/span\u003e. If the subnet is declared inline inside \u003cspan pulumi-lang-nodejs=\"`azure.network.VirtualNetwork`\" pulumi-lang-dotnet=\"`azure.network.VirtualNetwork`\" pulumi-lang-go=\"`network.VirtualNetwork`\" pulumi-lang-python=\"`network.VirtualNetwork`\" pulumi-lang-yaml=\"`azure.network.VirtualNetwork`\" pulumi-lang-java=\"`azure.network.VirtualNetwork`\"\u003e`azure.network.VirtualNetwork`\u003c/span\u003e, set \u003cspan pulumi-lang-nodejs=\"`routeTableId`\" pulumi-lang-dotnet=\"`RouteTableId`\" pulumi-lang-go=\"`routeTableId`\" pulumi-lang-python=\"`route_table_id`\" pulumi-lang-yaml=\"`routeTableId`\" pulumi-lang-java=\"`routeTableId`\"\u003e`route_table_id`\u003c/span\u003e in the inline \u003cspan pulumi-lang-nodejs=\"`subnet`\" pulumi-lang-dotnet=\"`Subnet`\" pulumi-lang-go=\"`subnet`\" pulumi-lang-python=\"`subnet`\" pulumi-lang-yaml=\"`subnet`\" pulumi-lang-java=\"`subnet`\"\u003e`subnet`\u003c/span\u003e block and do not create this association for the same subnet.\n","willReplaceOnChanges":true},"subnetId":{"type":"string","description":"The ID of the Subnet. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:network/subnetServiceEndpointStoragePolicy:SubnetServiceEndpointStoragePolicy":{"description":"Manages a Subnet Service Endpoint Storage Policy.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-rg\",\n    location: \"West Europe\",\n});\nconst exampleAccount = new azure.storage.Account(\"example\", {\n    name: \"examplestorageacct\",\n    resourceGroupName: example.name,\n    location: example.location,\n    accountTier: \"Standard\",\n    accountReplicationType: \"GRS\",\n});\nconst exampleSubnetServiceEndpointStoragePolicy = new azure.network.SubnetServiceEndpointStoragePolicy(\"example\", {\n    name: \"example-policy\",\n    resourceGroupName: example.name,\n    location: example.location,\n    definitions: [\n        {\n            name: \"name1\",\n            description: \"definition1\",\n            service: \"Microsoft.Storage\",\n            serviceResources: [\n                example.id,\n                exampleAccount.id,\n            ],\n        },\n        {\n            name: \"name2\",\n            description: \"definition2\",\n            service: \"Global\",\n            serviceResources: [\n                \"/services/Azure\",\n                \"/services/Azure/Batch\",\n                \"/services/Azure/Databricks\",\n                \"/services/Azure/DataFactory\",\n                \"/services/Azure/MachineLearning\",\n                \"/services/Azure/ManagedInstance\",\n                \"/services/Azure/WebPI\",\n            ],\n        },\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-rg\",\n    location=\"West Europe\")\nexample_account = azure.storage.Account(\"example\",\n    name=\"examplestorageacct\",\n    resource_group_name=example.name,\n    location=example.location,\n    account_tier=\"Standard\",\n    account_replication_type=\"GRS\")\nexample_subnet_service_endpoint_storage_policy = azure.network.SubnetServiceEndpointStoragePolicy(\"example\",\n    name=\"example-policy\",\n    resource_group_name=example.name,\n    location=example.location,\n    definitions=[\n        {\n            \"name\": \"name1\",\n            \"description\": \"definition1\",\n            \"service\": \"Microsoft.Storage\",\n            \"service_resources\": [\n                example.id,\n                example_account.id,\n            ],\n        },\n        {\n            \"name\": \"name2\",\n            \"description\": \"definition2\",\n            \"service\": \"Global\",\n            \"service_resources\": [\n                \"/services/Azure\",\n                \"/services/Azure/Batch\",\n                \"/services/Azure/Databricks\",\n                \"/services/Azure/DataFactory\",\n                \"/services/Azure/MachineLearning\",\n                \"/services/Azure/ManagedInstance\",\n                \"/services/Azure/WebPI\",\n            ],\n        },\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-rg\",\n        Location = \"West Europe\",\n    });\n\n    var exampleAccount = new Azure.Storage.Account(\"example\", new()\n    {\n        Name = \"examplestorageacct\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        AccountTier = \"Standard\",\n        AccountReplicationType = \"GRS\",\n    });\n\n    var exampleSubnetServiceEndpointStoragePolicy = new Azure.Network.SubnetServiceEndpointStoragePolicy(\"example\", new()\n    {\n        Name = \"example-policy\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        Definitions = new[]\n        {\n            new Azure.Network.Inputs.SubnetServiceEndpointStoragePolicyDefinitionArgs\n            {\n                Name = \"name1\",\n                Description = \"definition1\",\n                Service = \"Microsoft.Storage\",\n                ServiceResources = new[]\n                {\n                    example.Id,\n                    exampleAccount.Id,\n                },\n            },\n            new Azure.Network.Inputs.SubnetServiceEndpointStoragePolicyDefinitionArgs\n            {\n                Name = \"name2\",\n                Description = \"definition2\",\n                Service = \"Global\",\n                ServiceResources = new[]\n                {\n                    \"/services/Azure\",\n                    \"/services/Azure/Batch\",\n                    \"/services/Azure/Databricks\",\n                    \"/services/Azure/DataFactory\",\n                    \"/services/Azure/MachineLearning\",\n                    \"/services/Azure/ManagedInstance\",\n                    \"/services/Azure/WebPI\",\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-rg\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := storage.NewAccount(ctx, \"example\", \u0026storage.AccountArgs{\n\t\t\tName:                   pulumi.String(\"examplestorageacct\"),\n\t\t\tResourceGroupName:      example.Name,\n\t\t\tLocation:               example.Location,\n\t\t\tAccountTier:            pulumi.String(\"Standard\"),\n\t\t\tAccountReplicationType: pulumi.String(\"GRS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = network.NewSubnetServiceEndpointStoragePolicy(ctx, \"example\", \u0026network.SubnetServiceEndpointStoragePolicyArgs{\n\t\t\tName:              pulumi.String(\"example-policy\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tDefinitions: network.SubnetServiceEndpointStoragePolicyDefinitionArray{\n\t\t\t\t\u0026network.SubnetServiceEndpointStoragePolicyDefinitionArgs{\n\t\t\t\t\tName:        pulumi.String(\"name1\"),\n\t\t\t\t\tDescription: pulumi.String(\"definition1\"),\n\t\t\t\t\tService:     pulumi.String(\"Microsoft.Storage\"),\n\t\t\t\t\tServiceResources: pulumi.StringArray{\n\t\t\t\t\t\texample.ID(),\n\t\t\t\t\t\texampleAccount.ID(),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026network.SubnetServiceEndpointStoragePolicyDefinitionArgs{\n\t\t\t\t\tName:        pulumi.String(\"name2\"),\n\t\t\t\t\tDescription: pulumi.String(\"definition2\"),\n\t\t\t\t\tService:     pulumi.String(\"Global\"),\n\t\t\t\t\tServiceResources: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"/services/Azure\"),\n\t\t\t\t\t\tpulumi.String(\"/services/Azure/Batch\"),\n\t\t\t\t\t\tpulumi.String(\"/services/Azure/Databricks\"),\n\t\t\t\t\t\tpulumi.String(\"/services/Azure/DataFactory\"),\n\t\t\t\t\t\tpulumi.String(\"/services/Azure/MachineLearning\"),\n\t\t\t\t\t\tpulumi.String(\"/services/Azure/ManagedInstance\"),\n\t\t\t\t\t\tpulumi.String(\"/services/Azure/WebPI\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.storage.Account;\nimport com.pulumi.azure.storage.AccountArgs;\nimport com.pulumi.azure.network.SubnetServiceEndpointStoragePolicy;\nimport com.pulumi.azure.network.SubnetServiceEndpointStoragePolicyArgs;\nimport com.pulumi.azure.network.inputs.SubnetServiceEndpointStoragePolicyDefinitionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-rg\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"examplestorageacct\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .accountTier(\"Standard\")\n            .accountReplicationType(\"GRS\")\n            .build());\n\n        var exampleSubnetServiceEndpointStoragePolicy = new SubnetServiceEndpointStoragePolicy(\"exampleSubnetServiceEndpointStoragePolicy\", SubnetServiceEndpointStoragePolicyArgs.builder()\n            .name(\"example-policy\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .definitions(            \n                SubnetServiceEndpointStoragePolicyDefinitionArgs.builder()\n                    .name(\"name1\")\n                    .description(\"definition1\")\n                    .service(\"Microsoft.Storage\")\n                    .serviceResources(                    \n                        example.id(),\n                        exampleAccount.id())\n                    .build(),\n                SubnetServiceEndpointStoragePolicyDefinitionArgs.builder()\n                    .name(\"name2\")\n                    .description(\"definition2\")\n                    .service(\"Global\")\n                    .serviceResources(                    \n                        \"/services/Azure\",\n                        \"/services/Azure/Batch\",\n                        \"/services/Azure/Databricks\",\n                        \"/services/Azure/DataFactory\",\n                        \"/services/Azure/MachineLearning\",\n                        \"/services/Azure/ManagedInstance\",\n                        \"/services/Azure/WebPI\")\n                    .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-rg\n      location: West Europe\n  exampleSubnetServiceEndpointStoragePolicy:\n    type: azure:network:SubnetServiceEndpointStoragePolicy\n    name: example\n    properties:\n      name: example-policy\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      definitions:\n        - name: name1\n          description: definition1\n          service: Microsoft.Storage\n          serviceResources:\n            - ${example.id}\n            - ${exampleAccount.id}\n        - name: name2\n          description: definition2\n          service: Global\n          serviceResources:\n            - /services/Azure\n            - /services/Azure/Batch\n            - /services/Azure/Databricks\n            - /services/Azure/DataFactory\n            - /services/Azure/MachineLearning\n            - /services/Azure/ManagedInstance\n            - /services/Azure/WebPI\n  exampleAccount:\n    type: azure:storage:Account\n    name: example\n    properties:\n      name: examplestorageacct\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      accountTier: Standard\n      accountReplicationType: GRS\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2025-01-01\n\n## Import\n\nSubnet Service Endpoint Policies can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:network/subnetServiceEndpointStoragePolicy:SubnetServiceEndpointStoragePolicy example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Network/serviceEndpointPolicies/policy1\n```\n\n","properties":{"definitions":{"type":"array","items":{"$ref":"#/types/azure:network/SubnetServiceEndpointStoragePolicyDefinition:SubnetServiceEndpointStoragePolicyDefinition"},"description":"A \u003cspan pulumi-lang-nodejs=\"`definition`\" pulumi-lang-dotnet=\"`Definition`\" pulumi-lang-go=\"`definition`\" pulumi-lang-python=\"`definition`\" pulumi-lang-yaml=\"`definition`\" pulumi-lang-java=\"`definition`\"\u003e`definition`\u003c/span\u003e block as defined below\n"},"location":{"type":"string","description":"The Azure Region where the Subnet Service Endpoint Storage Policy should exist. Changing this forces a new Subnet Service Endpoint Storage Policy to be created.\n"},"name":{"type":"string","description":"The name which should be used for this Subnet Service Endpoint Storage Policy. Changing this forces a new Subnet Service Endpoint Storage Policy to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Subnet Service Endpoint Storage Policy should exist. Changing this forces a new Subnet Service Endpoint Storage Policy to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Subnet Service Endpoint Storage Policy.\n"}},"required":["location","name","resourceGroupName"],"inputProperties":{"definitions":{"type":"array","items":{"$ref":"#/types/azure:network/SubnetServiceEndpointStoragePolicyDefinition:SubnetServiceEndpointStoragePolicyDefinition"},"description":"A \u003cspan pulumi-lang-nodejs=\"`definition`\" pulumi-lang-dotnet=\"`Definition`\" pulumi-lang-go=\"`definition`\" pulumi-lang-python=\"`definition`\" pulumi-lang-yaml=\"`definition`\" pulumi-lang-java=\"`definition`\"\u003e`definition`\u003c/span\u003e block as defined below\n"},"location":{"type":"string","description":"The Azure Region where the Subnet Service Endpoint Storage Policy should exist. Changing this forces a new Subnet Service Endpoint Storage Policy to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Subnet Service Endpoint Storage Policy. Changing this forces a new Subnet Service Endpoint Storage Policy to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Subnet Service Endpoint Storage Policy should exist. Changing this forces a new Subnet Service Endpoint Storage Policy to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Subnet Service Endpoint Storage Policy.\n"}},"requiredInputs":["resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering SubnetServiceEndpointStoragePolicy resources.\n","properties":{"definitions":{"type":"array","items":{"$ref":"#/types/azure:network/SubnetServiceEndpointStoragePolicyDefinition:SubnetServiceEndpointStoragePolicyDefinition"},"description":"A \u003cspan pulumi-lang-nodejs=\"`definition`\" pulumi-lang-dotnet=\"`Definition`\" pulumi-lang-go=\"`definition`\" pulumi-lang-python=\"`definition`\" pulumi-lang-yaml=\"`definition`\" pulumi-lang-java=\"`definition`\"\u003e`definition`\u003c/span\u003e block as defined below\n"},"location":{"type":"string","description":"The Azure Region where the Subnet Service Endpoint Storage Policy should exist. Changing this forces a new Subnet Service Endpoint Storage Policy to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Subnet Service Endpoint Storage Policy. Changing this forces a new Subnet Service Endpoint Storage Policy to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Subnet Service Endpoint Storage Policy should exist. Changing this forces a new Subnet Service Endpoint Storage Policy to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Subnet Service Endpoint Storage Policy.\n"}},"type":"object"}},"azure:network/trafficManagerAzureEndpoint:TrafficManagerAzureEndpoint":{"description":"Manages an Azure Endpoint within a Traffic Manager Profile.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst examplePublicIp = new azure.network.PublicIp(\"example\", {\n    name: \"example-public-ip\",\n    location: example.location,\n    resourceGroupName: example.name,\n    allocationMethod: \"Static\",\n    domainNameLabel: \"example-public-ip\",\n});\nconst exampleTrafficManagerProfile = new azure.network.TrafficManagerProfile(\"example\", {\n    name: \"example-profile\",\n    resourceGroupName: example.name,\n    trafficRoutingMethod: \"Weighted\",\n    dnsConfig: {\n        relativeName: \"example-profile\",\n        ttl: 100,\n    },\n    monitorConfig: {\n        protocol: \"HTTP\",\n        port: 80,\n        path: \"/\",\n        intervalInSeconds: 30,\n        timeoutInSeconds: 9,\n        toleratedNumberOfFailures: 3,\n    },\n    tags: {\n        environment: \"Production\",\n    },\n});\nconst exampleTrafficManagerAzureEndpoint = new azure.network.TrafficManagerAzureEndpoint(\"example\", {\n    name: \"example-endpoint\",\n    profileId: exampleTrafficManagerProfile.id,\n    alwaysServeEnabled: true,\n    weight: 100,\n    targetResourceId: examplePublicIp.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_public_ip = azure.network.PublicIp(\"example\",\n    name=\"example-public-ip\",\n    location=example.location,\n    resource_group_name=example.name,\n    allocation_method=\"Static\",\n    domain_name_label=\"example-public-ip\")\nexample_traffic_manager_profile = azure.network.TrafficManagerProfile(\"example\",\n    name=\"example-profile\",\n    resource_group_name=example.name,\n    traffic_routing_method=\"Weighted\",\n    dns_config={\n        \"relative_name\": \"example-profile\",\n        \"ttl\": 100,\n    },\n    monitor_config={\n        \"protocol\": \"HTTP\",\n        \"port\": 80,\n        \"path\": \"/\",\n        \"interval_in_seconds\": 30,\n        \"timeout_in_seconds\": 9,\n        \"tolerated_number_of_failures\": 3,\n    },\n    tags={\n        \"environment\": \"Production\",\n    })\nexample_traffic_manager_azure_endpoint = azure.network.TrafficManagerAzureEndpoint(\"example\",\n    name=\"example-endpoint\",\n    profile_id=example_traffic_manager_profile.id,\n    always_serve_enabled=True,\n    weight=100,\n    target_resource_id=example_public_ip.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var examplePublicIp = new Azure.Network.PublicIp(\"example\", new()\n    {\n        Name = \"example-public-ip\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        AllocationMethod = \"Static\",\n        DomainNameLabel = \"example-public-ip\",\n    });\n\n    var exampleTrafficManagerProfile = new Azure.Network.TrafficManagerProfile(\"example\", new()\n    {\n        Name = \"example-profile\",\n        ResourceGroupName = example.Name,\n        TrafficRoutingMethod = \"Weighted\",\n        DnsConfig = new Azure.Network.Inputs.TrafficManagerProfileDnsConfigArgs\n        {\n            RelativeName = \"example-profile\",\n            Ttl = 100,\n        },\n        MonitorConfig = new Azure.Network.Inputs.TrafficManagerProfileMonitorConfigArgs\n        {\n            Protocol = \"HTTP\",\n            Port = 80,\n            Path = \"/\",\n            IntervalInSeconds = 30,\n            TimeoutInSeconds = 9,\n            ToleratedNumberOfFailures = 3,\n        },\n        Tags = \n        {\n            { \"environment\", \"Production\" },\n        },\n    });\n\n    var exampleTrafficManagerAzureEndpoint = new Azure.Network.TrafficManagerAzureEndpoint(\"example\", new()\n    {\n        Name = \"example-endpoint\",\n        ProfileId = exampleTrafficManagerProfile.Id,\n        AlwaysServeEnabled = true,\n        Weight = 100,\n        TargetResourceId = examplePublicIp.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texamplePublicIp, err := network.NewPublicIp(ctx, \"example\", \u0026network.PublicIpArgs{\n\t\t\tName:              pulumi.String(\"example-public-ip\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tAllocationMethod:  pulumi.String(\"Static\"),\n\t\t\tDomainNameLabel:   pulumi.String(\"example-public-ip\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleTrafficManagerProfile, err := network.NewTrafficManagerProfile(ctx, \"example\", \u0026network.TrafficManagerProfileArgs{\n\t\t\tName:                 pulumi.String(\"example-profile\"),\n\t\t\tResourceGroupName:    example.Name,\n\t\t\tTrafficRoutingMethod: pulumi.String(\"Weighted\"),\n\t\t\tDnsConfig: \u0026network.TrafficManagerProfileDnsConfigArgs{\n\t\t\t\tRelativeName: pulumi.String(\"example-profile\"),\n\t\t\t\tTtl:          pulumi.Int(100),\n\t\t\t},\n\t\t\tMonitorConfig: \u0026network.TrafficManagerProfileMonitorConfigArgs{\n\t\t\t\tProtocol:                  pulumi.String(\"HTTP\"),\n\t\t\t\tPort:                      pulumi.Int(80),\n\t\t\t\tPath:                      pulumi.String(\"/\"),\n\t\t\t\tIntervalInSeconds:         pulumi.Int(30),\n\t\t\t\tTimeoutInSeconds:          pulumi.Int(9),\n\t\t\t\tToleratedNumberOfFailures: pulumi.Int(3),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"environment\": pulumi.String(\"Production\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = network.NewTrafficManagerAzureEndpoint(ctx, \"example\", \u0026network.TrafficManagerAzureEndpointArgs{\n\t\t\tName:               pulumi.String(\"example-endpoint\"),\n\t\t\tProfileId:          exampleTrafficManagerProfile.ID(),\n\t\t\tAlwaysServeEnabled: pulumi.Bool(true),\n\t\t\tWeight:             pulumi.Int(100),\n\t\t\tTargetResourceId:   examplePublicIp.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.PublicIp;\nimport com.pulumi.azure.network.PublicIpArgs;\nimport com.pulumi.azure.network.TrafficManagerProfile;\nimport com.pulumi.azure.network.TrafficManagerProfileArgs;\nimport com.pulumi.azure.network.inputs.TrafficManagerProfileDnsConfigArgs;\nimport com.pulumi.azure.network.inputs.TrafficManagerProfileMonitorConfigArgs;\nimport com.pulumi.azure.network.TrafficManagerAzureEndpoint;\nimport com.pulumi.azure.network.TrafficManagerAzureEndpointArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var examplePublicIp = new PublicIp(\"examplePublicIp\", PublicIpArgs.builder()\n            .name(\"example-public-ip\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .allocationMethod(\"Static\")\n            .domainNameLabel(\"example-public-ip\")\n            .build());\n\n        var exampleTrafficManagerProfile = new TrafficManagerProfile(\"exampleTrafficManagerProfile\", TrafficManagerProfileArgs.builder()\n            .name(\"example-profile\")\n            .resourceGroupName(example.name())\n            .trafficRoutingMethod(\"Weighted\")\n            .dnsConfig(TrafficManagerProfileDnsConfigArgs.builder()\n                .relativeName(\"example-profile\")\n                .ttl(100)\n                .build())\n            .monitorConfig(TrafficManagerProfileMonitorConfigArgs.builder()\n                .protocol(\"HTTP\")\n                .port(80)\n                .path(\"/\")\n                .intervalInSeconds(30)\n                .timeoutInSeconds(9)\n                .toleratedNumberOfFailures(3)\n                .build())\n            .tags(Map.of(\"environment\", \"Production\"))\n            .build());\n\n        var exampleTrafficManagerAzureEndpoint = new TrafficManagerAzureEndpoint(\"exampleTrafficManagerAzureEndpoint\", TrafficManagerAzureEndpointArgs.builder()\n            .name(\"example-endpoint\")\n            .profileId(exampleTrafficManagerProfile.id())\n            .alwaysServeEnabled(true)\n            .weight(100)\n            .targetResourceId(examplePublicIp.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  examplePublicIp:\n    type: azure:network:PublicIp\n    name: example\n    properties:\n      name: example-public-ip\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      allocationMethod: Static\n      domainNameLabel: example-public-ip\n  exampleTrafficManagerProfile:\n    type: azure:network:TrafficManagerProfile\n    name: example\n    properties:\n      name: example-profile\n      resourceGroupName: ${example.name}\n      trafficRoutingMethod: Weighted\n      dnsConfig:\n        relativeName: example-profile\n        ttl: 100\n      monitorConfig:\n        protocol: HTTP\n        port: 80\n        path: /\n        intervalInSeconds: 30\n        timeoutInSeconds: 9\n        toleratedNumberOfFailures: 3\n      tags:\n        environment: Production\n  exampleTrafficManagerAzureEndpoint:\n    type: azure:network:TrafficManagerAzureEndpoint\n    name: example\n    properties:\n      name: example-endpoint\n      profileId: ${exampleTrafficManagerProfile.id}\n      alwaysServeEnabled: true\n      weight: 100\n      targetResourceId: ${examplePublicIp.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2022-04-01\n\n## Import\n\nAzure Endpoints can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:network/trafficManagerAzureEndpoint:TrafficManagerAzureEndpoint example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/example-resources/providers/Microsoft.Network/trafficManagerProfiles/example-profile/AzureEndpoints/example-endpoint\n```\n\n","properties":{"alwaysServeEnabled":{"type":"boolean","description":"If Always Serve is enabled, probing for endpoint health will be disabled and endpoints will be included in the traffic routing method. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"customHeaders":{"type":"array","items":{"$ref":"#/types/azure:network/TrafficManagerAzureEndpointCustomHeader:TrafficManagerAzureEndpointCustomHeader"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`customHeader`\" pulumi-lang-dotnet=\"`CustomHeader`\" pulumi-lang-go=\"`customHeader`\" pulumi-lang-python=\"`custom_header`\" pulumi-lang-yaml=\"`customHeader`\" pulumi-lang-java=\"`customHeader`\"\u003e`custom_header`\u003c/span\u003e blocks as defined below.\n"},"enabled":{"type":"boolean","description":"Is the endpoint enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"geoMappings":{"type":"array","items":{"type":"string"},"description":"A list of Geographic Regions used to distribute traffic, such as `WORLD`, `UK` or `DE`. The same location can't be specified in two endpoints. [See the Geographic Hierarchies documentation for more information](https://docs.microsoft.com/rest/api/trafficmanager/geographichierarchies/getdefault).\n"},"name":{"type":"string","description":"The name of the Azure Endpoint. Changing this forces a new resource to be created.\n"},"priority":{"type":"integer","description":"Specifies the priority of this Endpoint, this must be specified for Profiles using the `Priority` traffic routing method. Supports values between 1 and 1000, with no Endpoints sharing the same value. If omitted the value will be computed in order of creation.\n"},"profileId":{"type":"string","description":"The ID of the Traffic Manager Profile that this Azure Endpoint should be created within. Changing this forces a new resource to be created.\n"},"subnets":{"type":"array","items":{"$ref":"#/types/azure:network/TrafficManagerAzureEndpointSubnet:TrafficManagerAzureEndpointSubnet"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`subnet`\" pulumi-lang-dotnet=\"`Subnet`\" pulumi-lang-go=\"`subnet`\" pulumi-lang-python=\"`subnet`\" pulumi-lang-yaml=\"`subnet`\" pulumi-lang-java=\"`subnet`\"\u003e`subnet`\u003c/span\u003e blocks as defined below. Changing this forces a new resource to be created.\n"},"targetResourceId":{"type":"string","description":"The ID of the Azure Resource which should be used as a target.\n"},"weight":{"type":"integer","description":"Specifies how much traffic should be distributed to this endpoint, this must be specified for Profiles using the Weighted traffic routing method. Valid values are between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`1000`\" pulumi-lang-dotnet=\"`1000`\" pulumi-lang-go=\"`1000`\" pulumi-lang-python=\"`1000`\" pulumi-lang-yaml=\"`1000`\" pulumi-lang-java=\"`1000`\"\u003e`1000`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e.\n"}},"required":["name","priority","profileId","targetResourceId"],"inputProperties":{"alwaysServeEnabled":{"type":"boolean","description":"If Always Serve is enabled, probing for endpoint health will be disabled and endpoints will be included in the traffic routing method. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"customHeaders":{"type":"array","items":{"$ref":"#/types/azure:network/TrafficManagerAzureEndpointCustomHeader:TrafficManagerAzureEndpointCustomHeader"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`customHeader`\" pulumi-lang-dotnet=\"`CustomHeader`\" pulumi-lang-go=\"`customHeader`\" pulumi-lang-python=\"`custom_header`\" pulumi-lang-yaml=\"`customHeader`\" pulumi-lang-java=\"`customHeader`\"\u003e`custom_header`\u003c/span\u003e blocks as defined below.\n"},"enabled":{"type":"boolean","description":"Is the endpoint enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"geoMappings":{"type":"array","items":{"type":"string"},"description":"A list of Geographic Regions used to distribute traffic, such as `WORLD`, `UK` or `DE`. The same location can't be specified in two endpoints. [See the Geographic Hierarchies documentation for more information](https://docs.microsoft.com/rest/api/trafficmanager/geographichierarchies/getdefault).\n"},"name":{"type":"string","description":"The name of the Azure Endpoint. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"priority":{"type":"integer","description":"Specifies the priority of this Endpoint, this must be specified for Profiles using the `Priority` traffic routing method. Supports values between 1 and 1000, with no Endpoints sharing the same value. If omitted the value will be computed in order of creation.\n"},"profileId":{"type":"string","description":"The ID of the Traffic Manager Profile that this Azure Endpoint should be created within. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"subnets":{"type":"array","items":{"$ref":"#/types/azure:network/TrafficManagerAzureEndpointSubnet:TrafficManagerAzureEndpointSubnet"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`subnet`\" pulumi-lang-dotnet=\"`Subnet`\" pulumi-lang-go=\"`subnet`\" pulumi-lang-python=\"`subnet`\" pulumi-lang-yaml=\"`subnet`\" pulumi-lang-java=\"`subnet`\"\u003e`subnet`\u003c/span\u003e blocks as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"targetResourceId":{"type":"string","description":"The ID of the Azure Resource which should be used as a target.\n"},"weight":{"type":"integer","description":"Specifies how much traffic should be distributed to this endpoint, this must be specified for Profiles using the Weighted traffic routing method. Valid values are between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`1000`\" pulumi-lang-dotnet=\"`1000`\" pulumi-lang-go=\"`1000`\" pulumi-lang-python=\"`1000`\" pulumi-lang-yaml=\"`1000`\" pulumi-lang-java=\"`1000`\"\u003e`1000`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e.\n"}},"requiredInputs":["profileId","targetResourceId"],"stateInputs":{"description":"Input properties used for looking up and filtering TrafficManagerAzureEndpoint resources.\n","properties":{"alwaysServeEnabled":{"type":"boolean","description":"If Always Serve is enabled, probing for endpoint health will be disabled and endpoints will be included in the traffic routing method. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"customHeaders":{"type":"array","items":{"$ref":"#/types/azure:network/TrafficManagerAzureEndpointCustomHeader:TrafficManagerAzureEndpointCustomHeader"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`customHeader`\" pulumi-lang-dotnet=\"`CustomHeader`\" pulumi-lang-go=\"`customHeader`\" pulumi-lang-python=\"`custom_header`\" pulumi-lang-yaml=\"`customHeader`\" pulumi-lang-java=\"`customHeader`\"\u003e`custom_header`\u003c/span\u003e blocks as defined below.\n"},"enabled":{"type":"boolean","description":"Is the endpoint enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"geoMappings":{"type":"array","items":{"type":"string"},"description":"A list of Geographic Regions used to distribute traffic, such as `WORLD`, `UK` or `DE`. The same location can't be specified in two endpoints. [See the Geographic Hierarchies documentation for more information](https://docs.microsoft.com/rest/api/trafficmanager/geographichierarchies/getdefault).\n"},"name":{"type":"string","description":"The name of the Azure Endpoint. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"priority":{"type":"integer","description":"Specifies the priority of this Endpoint, this must be specified for Profiles using the `Priority` traffic routing method. Supports values between 1 and 1000, with no Endpoints sharing the same value. If omitted the value will be computed in order of creation.\n"},"profileId":{"type":"string","description":"The ID of the Traffic Manager Profile that this Azure Endpoint should be created within. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"subnets":{"type":"array","items":{"$ref":"#/types/azure:network/TrafficManagerAzureEndpointSubnet:TrafficManagerAzureEndpointSubnet"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`subnet`\" pulumi-lang-dotnet=\"`Subnet`\" pulumi-lang-go=\"`subnet`\" pulumi-lang-python=\"`subnet`\" pulumi-lang-yaml=\"`subnet`\" pulumi-lang-java=\"`subnet`\"\u003e`subnet`\u003c/span\u003e blocks as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"targetResourceId":{"type":"string","description":"The ID of the Azure Resource which should be used as a target.\n"},"weight":{"type":"integer","description":"Specifies how much traffic should be distributed to this endpoint, this must be specified for Profiles using the Weighted traffic routing method. Valid values are between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`1000`\" pulumi-lang-dotnet=\"`1000`\" pulumi-lang-go=\"`1000`\" pulumi-lang-python=\"`1000`\" pulumi-lang-yaml=\"`1000`\" pulumi-lang-java=\"`1000`\"\u003e`1000`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e.\n"}},"type":"object"}},"azure:network/trafficManagerExternalEndpoint:TrafficManagerExternalEndpoint":{"description":"Manages an External Endpoint within a Traffic Manager Profile.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleTrafficManagerProfile = new azure.network.TrafficManagerProfile(\"example\", {\n    name: \"example-profile\",\n    resourceGroupName: example.name,\n    trafficRoutingMethod: \"Weighted\",\n    dnsConfig: {\n        relativeName: \"example-profile\",\n        ttl: 100,\n    },\n    monitorConfig: {\n        protocol: \"HTTP\",\n        port: 80,\n        path: \"/\",\n        intervalInSeconds: 30,\n        timeoutInSeconds: 9,\n        toleratedNumberOfFailures: 3,\n    },\n    tags: {\n        environment: \"Production\",\n    },\n});\nconst exampleTrafficManagerExternalEndpoint = new azure.network.TrafficManagerExternalEndpoint(\"example\", {\n    name: \"example-endpoint\",\n    profileId: exampleTrafficManagerProfile.id,\n    alwaysServeEnabled: true,\n    weight: 100,\n    target: \"www.example.com\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_traffic_manager_profile = azure.network.TrafficManagerProfile(\"example\",\n    name=\"example-profile\",\n    resource_group_name=example.name,\n    traffic_routing_method=\"Weighted\",\n    dns_config={\n        \"relative_name\": \"example-profile\",\n        \"ttl\": 100,\n    },\n    monitor_config={\n        \"protocol\": \"HTTP\",\n        \"port\": 80,\n        \"path\": \"/\",\n        \"interval_in_seconds\": 30,\n        \"timeout_in_seconds\": 9,\n        \"tolerated_number_of_failures\": 3,\n    },\n    tags={\n        \"environment\": \"Production\",\n    })\nexample_traffic_manager_external_endpoint = azure.network.TrafficManagerExternalEndpoint(\"example\",\n    name=\"example-endpoint\",\n    profile_id=example_traffic_manager_profile.id,\n    always_serve_enabled=True,\n    weight=100,\n    target=\"www.example.com\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleTrafficManagerProfile = new Azure.Network.TrafficManagerProfile(\"example\", new()\n    {\n        Name = \"example-profile\",\n        ResourceGroupName = example.Name,\n        TrafficRoutingMethod = \"Weighted\",\n        DnsConfig = new Azure.Network.Inputs.TrafficManagerProfileDnsConfigArgs\n        {\n            RelativeName = \"example-profile\",\n            Ttl = 100,\n        },\n        MonitorConfig = new Azure.Network.Inputs.TrafficManagerProfileMonitorConfigArgs\n        {\n            Protocol = \"HTTP\",\n            Port = 80,\n            Path = \"/\",\n            IntervalInSeconds = 30,\n            TimeoutInSeconds = 9,\n            ToleratedNumberOfFailures = 3,\n        },\n        Tags = \n        {\n            { \"environment\", \"Production\" },\n        },\n    });\n\n    var exampleTrafficManagerExternalEndpoint = new Azure.Network.TrafficManagerExternalEndpoint(\"example\", new()\n    {\n        Name = \"example-endpoint\",\n        ProfileId = exampleTrafficManagerProfile.Id,\n        AlwaysServeEnabled = true,\n        Weight = 100,\n        Target = \"www.example.com\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleTrafficManagerProfile, err := network.NewTrafficManagerProfile(ctx, \"example\", \u0026network.TrafficManagerProfileArgs{\n\t\t\tName:                 pulumi.String(\"example-profile\"),\n\t\t\tResourceGroupName:    example.Name,\n\t\t\tTrafficRoutingMethod: pulumi.String(\"Weighted\"),\n\t\t\tDnsConfig: \u0026network.TrafficManagerProfileDnsConfigArgs{\n\t\t\t\tRelativeName: pulumi.String(\"example-profile\"),\n\t\t\t\tTtl:          pulumi.Int(100),\n\t\t\t},\n\t\t\tMonitorConfig: \u0026network.TrafficManagerProfileMonitorConfigArgs{\n\t\t\t\tProtocol:                  pulumi.String(\"HTTP\"),\n\t\t\t\tPort:                      pulumi.Int(80),\n\t\t\t\tPath:                      pulumi.String(\"/\"),\n\t\t\t\tIntervalInSeconds:         pulumi.Int(30),\n\t\t\t\tTimeoutInSeconds:          pulumi.Int(9),\n\t\t\t\tToleratedNumberOfFailures: pulumi.Int(3),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"environment\": pulumi.String(\"Production\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = network.NewTrafficManagerExternalEndpoint(ctx, \"example\", \u0026network.TrafficManagerExternalEndpointArgs{\n\t\t\tName:               pulumi.String(\"example-endpoint\"),\n\t\t\tProfileId:          exampleTrafficManagerProfile.ID(),\n\t\t\tAlwaysServeEnabled: pulumi.Bool(true),\n\t\t\tWeight:             pulumi.Int(100),\n\t\t\tTarget:             pulumi.String(\"www.example.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.TrafficManagerProfile;\nimport com.pulumi.azure.network.TrafficManagerProfileArgs;\nimport com.pulumi.azure.network.inputs.TrafficManagerProfileDnsConfigArgs;\nimport com.pulumi.azure.network.inputs.TrafficManagerProfileMonitorConfigArgs;\nimport com.pulumi.azure.network.TrafficManagerExternalEndpoint;\nimport com.pulumi.azure.network.TrafficManagerExternalEndpointArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleTrafficManagerProfile = new TrafficManagerProfile(\"exampleTrafficManagerProfile\", TrafficManagerProfileArgs.builder()\n            .name(\"example-profile\")\n            .resourceGroupName(example.name())\n            .trafficRoutingMethod(\"Weighted\")\n            .dnsConfig(TrafficManagerProfileDnsConfigArgs.builder()\n                .relativeName(\"example-profile\")\n                .ttl(100)\n                .build())\n            .monitorConfig(TrafficManagerProfileMonitorConfigArgs.builder()\n                .protocol(\"HTTP\")\n                .port(80)\n                .path(\"/\")\n                .intervalInSeconds(30)\n                .timeoutInSeconds(9)\n                .toleratedNumberOfFailures(3)\n                .build())\n            .tags(Map.of(\"environment\", \"Production\"))\n            .build());\n\n        var exampleTrafficManagerExternalEndpoint = new TrafficManagerExternalEndpoint(\"exampleTrafficManagerExternalEndpoint\", TrafficManagerExternalEndpointArgs.builder()\n            .name(\"example-endpoint\")\n            .profileId(exampleTrafficManagerProfile.id())\n            .alwaysServeEnabled(true)\n            .weight(100)\n            .target(\"www.example.com\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleTrafficManagerProfile:\n    type: azure:network:TrafficManagerProfile\n    name: example\n    properties:\n      name: example-profile\n      resourceGroupName: ${example.name}\n      trafficRoutingMethod: Weighted\n      dnsConfig:\n        relativeName: example-profile\n        ttl: 100\n      monitorConfig:\n        protocol: HTTP\n        port: 80\n        path: /\n        intervalInSeconds: 30\n        timeoutInSeconds: 9\n        toleratedNumberOfFailures: 3\n      tags:\n        environment: Production\n  exampleTrafficManagerExternalEndpoint:\n    type: azure:network:TrafficManagerExternalEndpoint\n    name: example\n    properties:\n      name: example-endpoint\n      profileId: ${exampleTrafficManagerProfile.id}\n      alwaysServeEnabled: true\n      weight: 100\n      target: www.example.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2022-04-01\n\n## Import\n\nExternal Endpoints can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:network/trafficManagerExternalEndpoint:TrafficManagerExternalEndpoint example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/example-group/providers/Microsoft.Network/trafficManagerProfiles/example-profile/ExternalEndpoints/example-endpoint\n```\n\n","properties":{"alwaysServeEnabled":{"type":"boolean","description":"If Always Serve is enabled, probing for endpoint health will be disabled and endpoints will be included in the traffic routing method. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"customHeaders":{"type":"array","items":{"$ref":"#/types/azure:network/TrafficManagerExternalEndpointCustomHeader:TrafficManagerExternalEndpointCustomHeader"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`customHeader`\" pulumi-lang-dotnet=\"`CustomHeader`\" pulumi-lang-go=\"`customHeader`\" pulumi-lang-python=\"`custom_header`\" pulumi-lang-yaml=\"`customHeader`\" pulumi-lang-java=\"`customHeader`\"\u003e`custom_header`\u003c/span\u003e blocks as defined below.\n"},"enabled":{"type":"boolean","description":"Is the endpoint enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"endpointLocation":{"type":"string","description":"Specifies the Azure location of the Endpoint, this must be specified for Profiles using the `Performance` routing method.\n"},"geoMappings":{"type":"array","items":{"type":"string"},"description":"A list of Geographic Regions used to distribute traffic, such as `WORLD`, `UK` or `DE`. The same location can't be specified in two endpoints. [See the Geographic Hierarchies documentation for more information](https://docs.microsoft.com/rest/api/trafficmanager/geographichierarchies/getdefault).\n"},"name":{"type":"string","description":"The name of the External Endpoint. Changing this forces a new resource to be created.\n"},"priority":{"type":"integer","description":"Specifies the priority of this Endpoint, this must be specified for Profiles using the `Priority` traffic routing method. Supports values between 1 and 1000, with no Endpoints sharing the same value. If omitted the value will be computed in order of creation.\n"},"profileId":{"type":"string","description":"The ID of the Traffic Manager Profile that this External Endpoint should be created within. Changing this forces a new resource to be created.\n"},"subnets":{"type":"array","items":{"$ref":"#/types/azure:network/TrafficManagerExternalEndpointSubnet:TrafficManagerExternalEndpointSubnet"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`subnet`\" pulumi-lang-dotnet=\"`Subnet`\" pulumi-lang-go=\"`subnet`\" pulumi-lang-python=\"`subnet`\" pulumi-lang-yaml=\"`subnet`\" pulumi-lang-java=\"`subnet`\"\u003e`subnet`\u003c/span\u003e blocks as defined below. Changing this forces a new resource to be created.\n"},"target":{"type":"string","description":"The FQDN DNS name of the target.\n"},"weight":{"type":"integer","description":"Specifies how much traffic should be distributed to this endpoint, this must be specified for Profiles using the Weighted traffic routing method. Valid values are between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`1000`\" pulumi-lang-dotnet=\"`1000`\" pulumi-lang-go=\"`1000`\" pulumi-lang-python=\"`1000`\" pulumi-lang-yaml=\"`1000`\" pulumi-lang-java=\"`1000`\"\u003e`1000`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e.\n"}},"required":["endpointLocation","name","priority","profileId","target"],"inputProperties":{"alwaysServeEnabled":{"type":"boolean","description":"If Always Serve is enabled, probing for endpoint health will be disabled and endpoints will be included in the traffic routing method. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"customHeaders":{"type":"array","items":{"$ref":"#/types/azure:network/TrafficManagerExternalEndpointCustomHeader:TrafficManagerExternalEndpointCustomHeader"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`customHeader`\" pulumi-lang-dotnet=\"`CustomHeader`\" pulumi-lang-go=\"`customHeader`\" pulumi-lang-python=\"`custom_header`\" pulumi-lang-yaml=\"`customHeader`\" pulumi-lang-java=\"`customHeader`\"\u003e`custom_header`\u003c/span\u003e blocks as defined below.\n"},"enabled":{"type":"boolean","description":"Is the endpoint enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"endpointLocation":{"type":"string","description":"Specifies the Azure location of the Endpoint, this must be specified for Profiles using the `Performance` routing method.\n"},"geoMappings":{"type":"array","items":{"type":"string"},"description":"A list of Geographic Regions used to distribute traffic, such as `WORLD`, `UK` or `DE`. The same location can't be specified in two endpoints. [See the Geographic Hierarchies documentation for more information](https://docs.microsoft.com/rest/api/trafficmanager/geographichierarchies/getdefault).\n"},"name":{"type":"string","description":"The name of the External Endpoint. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"priority":{"type":"integer","description":"Specifies the priority of this Endpoint, this must be specified for Profiles using the `Priority` traffic routing method. Supports values between 1 and 1000, with no Endpoints sharing the same value. If omitted the value will be computed in order of creation.\n"},"profileId":{"type":"string","description":"The ID of the Traffic Manager Profile that this External Endpoint should be created within. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"subnets":{"type":"array","items":{"$ref":"#/types/azure:network/TrafficManagerExternalEndpointSubnet:TrafficManagerExternalEndpointSubnet"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`subnet`\" pulumi-lang-dotnet=\"`Subnet`\" pulumi-lang-go=\"`subnet`\" pulumi-lang-python=\"`subnet`\" pulumi-lang-yaml=\"`subnet`\" pulumi-lang-java=\"`subnet`\"\u003e`subnet`\u003c/span\u003e blocks as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"target":{"type":"string","description":"The FQDN DNS name of the target.\n"},"weight":{"type":"integer","description":"Specifies how much traffic should be distributed to this endpoint, this must be specified for Profiles using the Weighted traffic routing method. Valid values are between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`1000`\" pulumi-lang-dotnet=\"`1000`\" pulumi-lang-go=\"`1000`\" pulumi-lang-python=\"`1000`\" pulumi-lang-yaml=\"`1000`\" pulumi-lang-java=\"`1000`\"\u003e`1000`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e.\n"}},"requiredInputs":["profileId","target"],"stateInputs":{"description":"Input properties used for looking up and filtering TrafficManagerExternalEndpoint resources.\n","properties":{"alwaysServeEnabled":{"type":"boolean","description":"If Always Serve is enabled, probing for endpoint health will be disabled and endpoints will be included in the traffic routing method. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"customHeaders":{"type":"array","items":{"$ref":"#/types/azure:network/TrafficManagerExternalEndpointCustomHeader:TrafficManagerExternalEndpointCustomHeader"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`customHeader`\" pulumi-lang-dotnet=\"`CustomHeader`\" pulumi-lang-go=\"`customHeader`\" pulumi-lang-python=\"`custom_header`\" pulumi-lang-yaml=\"`customHeader`\" pulumi-lang-java=\"`customHeader`\"\u003e`custom_header`\u003c/span\u003e blocks as defined below.\n"},"enabled":{"type":"boolean","description":"Is the endpoint enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"endpointLocation":{"type":"string","description":"Specifies the Azure location of the Endpoint, this must be specified for Profiles using the `Performance` routing method.\n"},"geoMappings":{"type":"array","items":{"type":"string"},"description":"A list of Geographic Regions used to distribute traffic, such as `WORLD`, `UK` or `DE`. The same location can't be specified in two endpoints. [See the Geographic Hierarchies documentation for more information](https://docs.microsoft.com/rest/api/trafficmanager/geographichierarchies/getdefault).\n"},"name":{"type":"string","description":"The name of the External Endpoint. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"priority":{"type":"integer","description":"Specifies the priority of this Endpoint, this must be specified for Profiles using the `Priority` traffic routing method. Supports values between 1 and 1000, with no Endpoints sharing the same value. If omitted the value will be computed in order of creation.\n"},"profileId":{"type":"string","description":"The ID of the Traffic Manager Profile that this External Endpoint should be created within. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"subnets":{"type":"array","items":{"$ref":"#/types/azure:network/TrafficManagerExternalEndpointSubnet:TrafficManagerExternalEndpointSubnet"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`subnet`\" pulumi-lang-dotnet=\"`Subnet`\" pulumi-lang-go=\"`subnet`\" pulumi-lang-python=\"`subnet`\" pulumi-lang-yaml=\"`subnet`\" pulumi-lang-java=\"`subnet`\"\u003e`subnet`\u003c/span\u003e blocks as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"target":{"type":"string","description":"The FQDN DNS name of the target.\n"},"weight":{"type":"integer","description":"Specifies how much traffic should be distributed to this endpoint, this must be specified for Profiles using the Weighted traffic routing method. Valid values are between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`1000`\" pulumi-lang-dotnet=\"`1000`\" pulumi-lang-go=\"`1000`\" pulumi-lang-python=\"`1000`\" pulumi-lang-yaml=\"`1000`\" pulumi-lang-java=\"`1000`\"\u003e`1000`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e.\n"}},"type":"object"}},"azure:network/trafficManagerNestedEndpoint:TrafficManagerNestedEndpoint":{"description":"Manages a Nested Endpoint within a Traffic Manager Profile.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst examplePublicIp = new azure.network.PublicIp(\"example\", {\n    name: \"example-publicip\",\n    location: example.location,\n    resourceGroupName: example.name,\n    allocationMethod: \"Static\",\n    domainNameLabel: \"example-pip\",\n});\nconst parent = new azure.network.TrafficManagerProfile(\"parent\", {\n    name: \"parent-profile\",\n    resourceGroupName: example.name,\n    trafficRoutingMethod: \"Weighted\",\n    dnsConfig: {\n        relativeName: \"parent-profile\",\n        ttl: 100,\n    },\n    monitorConfig: {\n        protocol: \"HTTP\",\n        port: 80,\n        path: \"/\",\n        intervalInSeconds: 30,\n        timeoutInSeconds: 9,\n        toleratedNumberOfFailures: 3,\n    },\n    tags: {\n        environment: \"Production\",\n    },\n});\nconst nested = new azure.network.TrafficManagerProfile(\"nested\", {\n    name: \"nested-profile\",\n    resourceGroupName: example.name,\n    trafficRoutingMethod: \"Priority\",\n    dnsConfig: {\n        relativeName: \"nested-profile\",\n        ttl: 30,\n    },\n    monitorConfig: {\n        protocol: \"HTTP\",\n        port: 443,\n        path: \"/\",\n    },\n});\nconst exampleTrafficManagerNestedEndpoint = new azure.network.TrafficManagerNestedEndpoint(\"example\", {\n    name: \"example-endpoint\",\n    targetResourceId: nested.id,\n    priority: 1,\n    profileId: parent.id,\n    minimumChildEndpoints: 9,\n    weight: 5,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_public_ip = azure.network.PublicIp(\"example\",\n    name=\"example-publicip\",\n    location=example.location,\n    resource_group_name=example.name,\n    allocation_method=\"Static\",\n    domain_name_label=\"example-pip\")\nparent = azure.network.TrafficManagerProfile(\"parent\",\n    name=\"parent-profile\",\n    resource_group_name=example.name,\n    traffic_routing_method=\"Weighted\",\n    dns_config={\n        \"relative_name\": \"parent-profile\",\n        \"ttl\": 100,\n    },\n    monitor_config={\n        \"protocol\": \"HTTP\",\n        \"port\": 80,\n        \"path\": \"/\",\n        \"interval_in_seconds\": 30,\n        \"timeout_in_seconds\": 9,\n        \"tolerated_number_of_failures\": 3,\n    },\n    tags={\n        \"environment\": \"Production\",\n    })\nnested = azure.network.TrafficManagerProfile(\"nested\",\n    name=\"nested-profile\",\n    resource_group_name=example.name,\n    traffic_routing_method=\"Priority\",\n    dns_config={\n        \"relative_name\": \"nested-profile\",\n        \"ttl\": 30,\n    },\n    monitor_config={\n        \"protocol\": \"HTTP\",\n        \"port\": 443,\n        \"path\": \"/\",\n    })\nexample_traffic_manager_nested_endpoint = azure.network.TrafficManagerNestedEndpoint(\"example\",\n    name=\"example-endpoint\",\n    target_resource_id=nested.id,\n    priority=1,\n    profile_id=parent.id,\n    minimum_child_endpoints=9,\n    weight=5)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var examplePublicIp = new Azure.Network.PublicIp(\"example\", new()\n    {\n        Name = \"example-publicip\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        AllocationMethod = \"Static\",\n        DomainNameLabel = \"example-pip\",\n    });\n\n    var parent = new Azure.Network.TrafficManagerProfile(\"parent\", new()\n    {\n        Name = \"parent-profile\",\n        ResourceGroupName = example.Name,\n        TrafficRoutingMethod = \"Weighted\",\n        DnsConfig = new Azure.Network.Inputs.TrafficManagerProfileDnsConfigArgs\n        {\n            RelativeName = \"parent-profile\",\n            Ttl = 100,\n        },\n        MonitorConfig = new Azure.Network.Inputs.TrafficManagerProfileMonitorConfigArgs\n        {\n            Protocol = \"HTTP\",\n            Port = 80,\n            Path = \"/\",\n            IntervalInSeconds = 30,\n            TimeoutInSeconds = 9,\n            ToleratedNumberOfFailures = 3,\n        },\n        Tags = \n        {\n            { \"environment\", \"Production\" },\n        },\n    });\n\n    var nested = new Azure.Network.TrafficManagerProfile(\"nested\", new()\n    {\n        Name = \"nested-profile\",\n        ResourceGroupName = example.Name,\n        TrafficRoutingMethod = \"Priority\",\n        DnsConfig = new Azure.Network.Inputs.TrafficManagerProfileDnsConfigArgs\n        {\n            RelativeName = \"nested-profile\",\n            Ttl = 30,\n        },\n        MonitorConfig = new Azure.Network.Inputs.TrafficManagerProfileMonitorConfigArgs\n        {\n            Protocol = \"HTTP\",\n            Port = 443,\n            Path = \"/\",\n        },\n    });\n\n    var exampleTrafficManagerNestedEndpoint = new Azure.Network.TrafficManagerNestedEndpoint(\"example\", new()\n    {\n        Name = \"example-endpoint\",\n        TargetResourceId = nested.Id,\n        Priority = 1,\n        ProfileId = parent.Id,\n        MinimumChildEndpoints = 9,\n        Weight = 5,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = network.NewPublicIp(ctx, \"example\", \u0026network.PublicIpArgs{\n\t\t\tName:              pulumi.String(\"example-publicip\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tAllocationMethod:  pulumi.String(\"Static\"),\n\t\t\tDomainNameLabel:   pulumi.String(\"example-pip\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tparent, err := network.NewTrafficManagerProfile(ctx, \"parent\", \u0026network.TrafficManagerProfileArgs{\n\t\t\tName:                 pulumi.String(\"parent-profile\"),\n\t\t\tResourceGroupName:    example.Name,\n\t\t\tTrafficRoutingMethod: pulumi.String(\"Weighted\"),\n\t\t\tDnsConfig: \u0026network.TrafficManagerProfileDnsConfigArgs{\n\t\t\t\tRelativeName: pulumi.String(\"parent-profile\"),\n\t\t\t\tTtl:          pulumi.Int(100),\n\t\t\t},\n\t\t\tMonitorConfig: \u0026network.TrafficManagerProfileMonitorConfigArgs{\n\t\t\t\tProtocol:                  pulumi.String(\"HTTP\"),\n\t\t\t\tPort:                      pulumi.Int(80),\n\t\t\t\tPath:                      pulumi.String(\"/\"),\n\t\t\t\tIntervalInSeconds:         pulumi.Int(30),\n\t\t\t\tTimeoutInSeconds:          pulumi.Int(9),\n\t\t\t\tToleratedNumberOfFailures: pulumi.Int(3),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"environment\": pulumi.String(\"Production\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tnested, err := network.NewTrafficManagerProfile(ctx, \"nested\", \u0026network.TrafficManagerProfileArgs{\n\t\t\tName:                 pulumi.String(\"nested-profile\"),\n\t\t\tResourceGroupName:    example.Name,\n\t\t\tTrafficRoutingMethod: pulumi.String(\"Priority\"),\n\t\t\tDnsConfig: \u0026network.TrafficManagerProfileDnsConfigArgs{\n\t\t\t\tRelativeName: pulumi.String(\"nested-profile\"),\n\t\t\t\tTtl:          pulumi.Int(30),\n\t\t\t},\n\t\t\tMonitorConfig: \u0026network.TrafficManagerProfileMonitorConfigArgs{\n\t\t\t\tProtocol: pulumi.String(\"HTTP\"),\n\t\t\t\tPort:     pulumi.Int(443),\n\t\t\t\tPath:     pulumi.String(\"/\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = network.NewTrafficManagerNestedEndpoint(ctx, \"example\", \u0026network.TrafficManagerNestedEndpointArgs{\n\t\t\tName:                  pulumi.String(\"example-endpoint\"),\n\t\t\tTargetResourceId:      nested.ID(),\n\t\t\tPriority:              pulumi.Int(1),\n\t\t\tProfileId:             parent.ID(),\n\t\t\tMinimumChildEndpoints: pulumi.Int(9),\n\t\t\tWeight:                pulumi.Int(5),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.PublicIp;\nimport com.pulumi.azure.network.PublicIpArgs;\nimport com.pulumi.azure.network.TrafficManagerProfile;\nimport com.pulumi.azure.network.TrafficManagerProfileArgs;\nimport com.pulumi.azure.network.inputs.TrafficManagerProfileDnsConfigArgs;\nimport com.pulumi.azure.network.inputs.TrafficManagerProfileMonitorConfigArgs;\nimport com.pulumi.azure.network.TrafficManagerNestedEndpoint;\nimport com.pulumi.azure.network.TrafficManagerNestedEndpointArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var examplePublicIp = new PublicIp(\"examplePublicIp\", PublicIpArgs.builder()\n            .name(\"example-publicip\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .allocationMethod(\"Static\")\n            .domainNameLabel(\"example-pip\")\n            .build());\n\n        var parent = new TrafficManagerProfile(\"parent\", TrafficManagerProfileArgs.builder()\n            .name(\"parent-profile\")\n            .resourceGroupName(example.name())\n            .trafficRoutingMethod(\"Weighted\")\n            .dnsConfig(TrafficManagerProfileDnsConfigArgs.builder()\n                .relativeName(\"parent-profile\")\n                .ttl(100)\n                .build())\n            .monitorConfig(TrafficManagerProfileMonitorConfigArgs.builder()\n                .protocol(\"HTTP\")\n                .port(80)\n                .path(\"/\")\n                .intervalInSeconds(30)\n                .timeoutInSeconds(9)\n                .toleratedNumberOfFailures(3)\n                .build())\n            .tags(Map.of(\"environment\", \"Production\"))\n            .build());\n\n        var nested = new TrafficManagerProfile(\"nested\", TrafficManagerProfileArgs.builder()\n            .name(\"nested-profile\")\n            .resourceGroupName(example.name())\n            .trafficRoutingMethod(\"Priority\")\n            .dnsConfig(TrafficManagerProfileDnsConfigArgs.builder()\n                .relativeName(\"nested-profile\")\n                .ttl(30)\n                .build())\n            .monitorConfig(TrafficManagerProfileMonitorConfigArgs.builder()\n                .protocol(\"HTTP\")\n                .port(443)\n                .path(\"/\")\n                .build())\n            .build());\n\n        var exampleTrafficManagerNestedEndpoint = new TrafficManagerNestedEndpoint(\"exampleTrafficManagerNestedEndpoint\", TrafficManagerNestedEndpointArgs.builder()\n            .name(\"example-endpoint\")\n            .targetResourceId(nested.id())\n            .priority(1)\n            .profileId(parent.id())\n            .minimumChildEndpoints(9)\n            .weight(5)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  examplePublicIp:\n    type: azure:network:PublicIp\n    name: example\n    properties:\n      name: example-publicip\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      allocationMethod: Static\n      domainNameLabel: example-pip\n  parent:\n    type: azure:network:TrafficManagerProfile\n    properties:\n      name: parent-profile\n      resourceGroupName: ${example.name}\n      trafficRoutingMethod: Weighted\n      dnsConfig:\n        relativeName: parent-profile\n        ttl: 100\n      monitorConfig:\n        protocol: HTTP\n        port: 80\n        path: /\n        intervalInSeconds: 30\n        timeoutInSeconds: 9\n        toleratedNumberOfFailures: 3\n      tags:\n        environment: Production\n  nested:\n    type: azure:network:TrafficManagerProfile\n    properties:\n      name: nested-profile\n      resourceGroupName: ${example.name}\n      trafficRoutingMethod: Priority\n      dnsConfig:\n        relativeName: nested-profile\n        ttl: 30\n      monitorConfig:\n        protocol: HTTP\n        port: 443\n        path: /\n  exampleTrafficManagerNestedEndpoint:\n    type: azure:network:TrafficManagerNestedEndpoint\n    name: example\n    properties:\n      name: example-endpoint\n      targetResourceId: ${nested.id}\n      priority: 1\n      profileId: ${parent.id}\n      minimumChildEndpoints: 9\n      weight: 5\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2022-04-01\n\n## Import\n\nNested Endpoints can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:network/trafficManagerNestedEndpoint:TrafficManagerNestedEndpoint example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/example-resources/providers/Microsoft.Network/trafficManagerProfiles/example-profile/NestedEndpoints/example-endpoint\n```\n\n","properties":{"customHeaders":{"type":"array","items":{"$ref":"#/types/azure:network/TrafficManagerNestedEndpointCustomHeader:TrafficManagerNestedEndpointCustomHeader"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`customHeader`\" pulumi-lang-dotnet=\"`CustomHeader`\" pulumi-lang-go=\"`customHeader`\" pulumi-lang-python=\"`custom_header`\" pulumi-lang-yaml=\"`customHeader`\" pulumi-lang-java=\"`customHeader`\"\u003e`custom_header`\u003c/span\u003e blocks as defined below.\n"},"enabled":{"type":"boolean","description":"Is the endpoint enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"endpointLocation":{"type":"string","description":"Specifies the Azure location of the Endpoint, this must be specified for Profiles using the `Performance` routing method.\n"},"geoMappings":{"type":"array","items":{"type":"string"},"description":"A list of Geographic Regions used to distribute traffic, such as `WORLD`, `UK` or `DE`. The same location can't be specified in two endpoints. [See the Geographic Hierarchies documentation for more information](https://docs.microsoft.com/rest/api/trafficmanager/geographichierarchies/getdefault).\n"},"minimumChildEndpoints":{"type":"integer","description":"This argument specifies the minimum number of endpoints that must be ‘online’ in the child profile in order for the parent profile to direct traffic to any of the endpoints in that child profile. This value must be larger than \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n\n\u003e **Note:** If \u003cspan pulumi-lang-nodejs=\"`minChildEndpoints`\" pulumi-lang-dotnet=\"`MinChildEndpoints`\" pulumi-lang-go=\"`minChildEndpoints`\" pulumi-lang-python=\"`min_child_endpoints`\" pulumi-lang-yaml=\"`minChildEndpoints`\" pulumi-lang-java=\"`minChildEndpoints`\"\u003e`min_child_endpoints`\u003c/span\u003e is less than either \u003cspan pulumi-lang-nodejs=\"`minimumRequiredChildEndpointsIpv4`\" pulumi-lang-dotnet=\"`MinimumRequiredChildEndpointsIpv4`\" pulumi-lang-go=\"`minimumRequiredChildEndpointsIpv4`\" pulumi-lang-python=\"`minimum_required_child_endpoints_ipv4`\" pulumi-lang-yaml=\"`minimumRequiredChildEndpointsIpv4`\" pulumi-lang-java=\"`minimumRequiredChildEndpointsIpv4`\"\u003e`minimum_required_child_endpoints_ipv4`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`minimumRequiredChildEndpointsIpv6`\" pulumi-lang-dotnet=\"`MinimumRequiredChildEndpointsIpv6`\" pulumi-lang-go=\"`minimumRequiredChildEndpointsIpv6`\" pulumi-lang-python=\"`minimum_required_child_endpoints_ipv6`\" pulumi-lang-yaml=\"`minimumRequiredChildEndpointsIpv6`\" pulumi-lang-java=\"`minimumRequiredChildEndpointsIpv6`\"\u003e`minimum_required_child_endpoints_ipv6`\u003c/span\u003e, then it won't have any effect.\n"},"minimumRequiredChildEndpointsIpv4":{"type":"integer","description":"This argument specifies the minimum number of IPv4 (DNS record type A) endpoints that must be ‘online’ in the child profile in order for the parent profile to direct traffic to any of the endpoints in that child profile. This argument only applies to Endpoints of type `nestedEndpoints` and\n"},"minimumRequiredChildEndpointsIpv6":{"type":"integer","description":"This argument specifies the minimum number of IPv6 (DNS record type AAAA) endpoints that must be ‘online’ in the child profile in order for the parent profile to direct traffic to any of the endpoints in that child profile. This argument only applies to Endpoints of type `nestedEndpoints` and\n"},"name":{"type":"string","description":"The name of the External Endpoint. Changing this forces a new resource to be created.\n"},"priority":{"type":"integer","description":"Specifies the priority of this Endpoint, this must be specified for Profiles using the `Priority` traffic routing method. Supports values between 1 and 1000, with no Endpoints sharing the same value. If omitted the value will be computed in order of creation.\n"},"profileId":{"type":"string","description":"The ID of the Traffic Manager Profile that this External Endpoint should be created within. Changing this forces a new resource to be created.\n"},"subnets":{"type":"array","items":{"$ref":"#/types/azure:network/TrafficManagerNestedEndpointSubnet:TrafficManagerNestedEndpointSubnet"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`subnet`\" pulumi-lang-dotnet=\"`Subnet`\" pulumi-lang-go=\"`subnet`\" pulumi-lang-python=\"`subnet`\" pulumi-lang-yaml=\"`subnet`\" pulumi-lang-java=\"`subnet`\"\u003e`subnet`\u003c/span\u003e blocks as defined below. Changing this forces a new resource to be created.\n"},"targetResourceId":{"type":"string","description":"The resource id of an Azure resource to target.\n"},"weight":{"type":"integer","description":"Specifies how much traffic should be distributed to this endpoint, this must be specified for Profiles using the Weighted traffic routing method. Valid values are between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`1000`\" pulumi-lang-dotnet=\"`1000`\" pulumi-lang-go=\"`1000`\" pulumi-lang-python=\"`1000`\" pulumi-lang-yaml=\"`1000`\" pulumi-lang-java=\"`1000`\"\u003e`1000`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e.\n"}},"required":["endpointLocation","minimumChildEndpoints","name","priority","profileId","targetResourceId"],"inputProperties":{"customHeaders":{"type":"array","items":{"$ref":"#/types/azure:network/TrafficManagerNestedEndpointCustomHeader:TrafficManagerNestedEndpointCustomHeader"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`customHeader`\" pulumi-lang-dotnet=\"`CustomHeader`\" pulumi-lang-go=\"`customHeader`\" pulumi-lang-python=\"`custom_header`\" pulumi-lang-yaml=\"`customHeader`\" pulumi-lang-java=\"`customHeader`\"\u003e`custom_header`\u003c/span\u003e blocks as defined below.\n"},"enabled":{"type":"boolean","description":"Is the endpoint enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"endpointLocation":{"type":"string","description":"Specifies the Azure location of the Endpoint, this must be specified for Profiles using the `Performance` routing method.\n"},"geoMappings":{"type":"array","items":{"type":"string"},"description":"A list of Geographic Regions used to distribute traffic, such as `WORLD`, `UK` or `DE`. The same location can't be specified in two endpoints. [See the Geographic Hierarchies documentation for more information](https://docs.microsoft.com/rest/api/trafficmanager/geographichierarchies/getdefault).\n"},"minimumChildEndpoints":{"type":"integer","description":"This argument specifies the minimum number of endpoints that must be ‘online’ in the child profile in order for the parent profile to direct traffic to any of the endpoints in that child profile. This value must be larger than \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n\n\u003e **Note:** If \u003cspan pulumi-lang-nodejs=\"`minChildEndpoints`\" pulumi-lang-dotnet=\"`MinChildEndpoints`\" pulumi-lang-go=\"`minChildEndpoints`\" pulumi-lang-python=\"`min_child_endpoints`\" pulumi-lang-yaml=\"`minChildEndpoints`\" pulumi-lang-java=\"`minChildEndpoints`\"\u003e`min_child_endpoints`\u003c/span\u003e is less than either \u003cspan pulumi-lang-nodejs=\"`minimumRequiredChildEndpointsIpv4`\" pulumi-lang-dotnet=\"`MinimumRequiredChildEndpointsIpv4`\" pulumi-lang-go=\"`minimumRequiredChildEndpointsIpv4`\" pulumi-lang-python=\"`minimum_required_child_endpoints_ipv4`\" pulumi-lang-yaml=\"`minimumRequiredChildEndpointsIpv4`\" pulumi-lang-java=\"`minimumRequiredChildEndpointsIpv4`\"\u003e`minimum_required_child_endpoints_ipv4`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`minimumRequiredChildEndpointsIpv6`\" pulumi-lang-dotnet=\"`MinimumRequiredChildEndpointsIpv6`\" pulumi-lang-go=\"`minimumRequiredChildEndpointsIpv6`\" pulumi-lang-python=\"`minimum_required_child_endpoints_ipv6`\" pulumi-lang-yaml=\"`minimumRequiredChildEndpointsIpv6`\" pulumi-lang-java=\"`minimumRequiredChildEndpointsIpv6`\"\u003e`minimum_required_child_endpoints_ipv6`\u003c/span\u003e, then it won't have any effect.\n"},"minimumRequiredChildEndpointsIpv4":{"type":"integer","description":"This argument specifies the minimum number of IPv4 (DNS record type A) endpoints that must be ‘online’ in the child profile in order for the parent profile to direct traffic to any of the endpoints in that child profile. This argument only applies to Endpoints of type `nestedEndpoints` and\n"},"minimumRequiredChildEndpointsIpv6":{"type":"integer","description":"This argument specifies the minimum number of IPv6 (DNS record type AAAA) endpoints that must be ‘online’ in the child profile in order for the parent profile to direct traffic to any of the endpoints in that child profile. This argument only applies to Endpoints of type `nestedEndpoints` and\n"},"name":{"type":"string","description":"The name of the External Endpoint. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"priority":{"type":"integer","description":"Specifies the priority of this Endpoint, this must be specified for Profiles using the `Priority` traffic routing method. Supports values between 1 and 1000, with no Endpoints sharing the same value. If omitted the value will be computed in order of creation.\n"},"profileId":{"type":"string","description":"The ID of the Traffic Manager Profile that this External Endpoint should be created within. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"subnets":{"type":"array","items":{"$ref":"#/types/azure:network/TrafficManagerNestedEndpointSubnet:TrafficManagerNestedEndpointSubnet"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`subnet`\" pulumi-lang-dotnet=\"`Subnet`\" pulumi-lang-go=\"`subnet`\" pulumi-lang-python=\"`subnet`\" pulumi-lang-yaml=\"`subnet`\" pulumi-lang-java=\"`subnet`\"\u003e`subnet`\u003c/span\u003e blocks as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"targetResourceId":{"type":"string","description":"The resource id of an Azure resource to target.\n"},"weight":{"type":"integer","description":"Specifies how much traffic should be distributed to this endpoint, this must be specified for Profiles using the Weighted traffic routing method. Valid values are between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`1000`\" pulumi-lang-dotnet=\"`1000`\" pulumi-lang-go=\"`1000`\" pulumi-lang-python=\"`1000`\" pulumi-lang-yaml=\"`1000`\" pulumi-lang-java=\"`1000`\"\u003e`1000`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e.\n"}},"requiredInputs":["minimumChildEndpoints","profileId","targetResourceId"],"stateInputs":{"description":"Input properties used for looking up and filtering TrafficManagerNestedEndpoint resources.\n","properties":{"customHeaders":{"type":"array","items":{"$ref":"#/types/azure:network/TrafficManagerNestedEndpointCustomHeader:TrafficManagerNestedEndpointCustomHeader"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`customHeader`\" pulumi-lang-dotnet=\"`CustomHeader`\" pulumi-lang-go=\"`customHeader`\" pulumi-lang-python=\"`custom_header`\" pulumi-lang-yaml=\"`customHeader`\" pulumi-lang-java=\"`customHeader`\"\u003e`custom_header`\u003c/span\u003e blocks as defined below.\n"},"enabled":{"type":"boolean","description":"Is the endpoint enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"endpointLocation":{"type":"string","description":"Specifies the Azure location of the Endpoint, this must be specified for Profiles using the `Performance` routing method.\n"},"geoMappings":{"type":"array","items":{"type":"string"},"description":"A list of Geographic Regions used to distribute traffic, such as `WORLD`, `UK` or `DE`. The same location can't be specified in two endpoints. [See the Geographic Hierarchies documentation for more information](https://docs.microsoft.com/rest/api/trafficmanager/geographichierarchies/getdefault).\n"},"minimumChildEndpoints":{"type":"integer","description":"This argument specifies the minimum number of endpoints that must be ‘online’ in the child profile in order for the parent profile to direct traffic to any of the endpoints in that child profile. This value must be larger than \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n\n\u003e **Note:** If \u003cspan pulumi-lang-nodejs=\"`minChildEndpoints`\" pulumi-lang-dotnet=\"`MinChildEndpoints`\" pulumi-lang-go=\"`minChildEndpoints`\" pulumi-lang-python=\"`min_child_endpoints`\" pulumi-lang-yaml=\"`minChildEndpoints`\" pulumi-lang-java=\"`minChildEndpoints`\"\u003e`min_child_endpoints`\u003c/span\u003e is less than either \u003cspan pulumi-lang-nodejs=\"`minimumRequiredChildEndpointsIpv4`\" pulumi-lang-dotnet=\"`MinimumRequiredChildEndpointsIpv4`\" pulumi-lang-go=\"`minimumRequiredChildEndpointsIpv4`\" pulumi-lang-python=\"`minimum_required_child_endpoints_ipv4`\" pulumi-lang-yaml=\"`minimumRequiredChildEndpointsIpv4`\" pulumi-lang-java=\"`minimumRequiredChildEndpointsIpv4`\"\u003e`minimum_required_child_endpoints_ipv4`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`minimumRequiredChildEndpointsIpv6`\" pulumi-lang-dotnet=\"`MinimumRequiredChildEndpointsIpv6`\" pulumi-lang-go=\"`minimumRequiredChildEndpointsIpv6`\" pulumi-lang-python=\"`minimum_required_child_endpoints_ipv6`\" pulumi-lang-yaml=\"`minimumRequiredChildEndpointsIpv6`\" pulumi-lang-java=\"`minimumRequiredChildEndpointsIpv6`\"\u003e`minimum_required_child_endpoints_ipv6`\u003c/span\u003e, then it won't have any effect.\n"},"minimumRequiredChildEndpointsIpv4":{"type":"integer","description":"This argument specifies the minimum number of IPv4 (DNS record type A) endpoints that must be ‘online’ in the child profile in order for the parent profile to direct traffic to any of the endpoints in that child profile. This argument only applies to Endpoints of type `nestedEndpoints` and\n"},"minimumRequiredChildEndpointsIpv6":{"type":"integer","description":"This argument specifies the minimum number of IPv6 (DNS record type AAAA) endpoints that must be ‘online’ in the child profile in order for the parent profile to direct traffic to any of the endpoints in that child profile. This argument only applies to Endpoints of type `nestedEndpoints` and\n"},"name":{"type":"string","description":"The name of the External Endpoint. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"priority":{"type":"integer","description":"Specifies the priority of this Endpoint, this must be specified for Profiles using the `Priority` traffic routing method. Supports values between 1 and 1000, with no Endpoints sharing the same value. If omitted the value will be computed in order of creation.\n"},"profileId":{"type":"string","description":"The ID of the Traffic Manager Profile that this External Endpoint should be created within. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"subnets":{"type":"array","items":{"$ref":"#/types/azure:network/TrafficManagerNestedEndpointSubnet:TrafficManagerNestedEndpointSubnet"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`subnet`\" pulumi-lang-dotnet=\"`Subnet`\" pulumi-lang-go=\"`subnet`\" pulumi-lang-python=\"`subnet`\" pulumi-lang-yaml=\"`subnet`\" pulumi-lang-java=\"`subnet`\"\u003e`subnet`\u003c/span\u003e blocks as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"targetResourceId":{"type":"string","description":"The resource id of an Azure resource to target.\n"},"weight":{"type":"integer","description":"Specifies how much traffic should be distributed to this endpoint, this must be specified for Profiles using the Weighted traffic routing method. Valid values are between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`1000`\" pulumi-lang-dotnet=\"`1000`\" pulumi-lang-go=\"`1000`\" pulumi-lang-python=\"`1000`\" pulumi-lang-yaml=\"`1000`\" pulumi-lang-java=\"`1000`\"\u003e`1000`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e.\n"}},"type":"object"}},"azure:network/trafficManagerProfile:TrafficManagerProfile":{"description":"Manages a Traffic Manager Profile to which multiple endpoints can be attached.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\nimport * as random from \"@pulumi/random\";\n\nconst server = new random.index.Id(\"server\", {\n    keepers: {\n        aziId: 1,\n    },\n    byteLength: 8,\n});\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"trafficmanagerProfile\",\n    location: \"West Europe\",\n});\nconst exampleTrafficManagerProfile = new azure.network.TrafficManagerProfile(\"example\", {\n    name: server.hex,\n    resourceGroupName: example.name,\n    trafficRoutingMethod: \"Weighted\",\n    dnsConfig: {\n        relativeName: server.hex,\n        ttl: 100,\n    },\n    monitorConfig: {\n        protocol: \"HTTP\",\n        port: 80,\n        path: \"/\",\n        intervalInSeconds: 30,\n        timeoutInSeconds: 9,\n        toleratedNumberOfFailures: 3,\n    },\n    tags: {\n        environment: \"Production\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\nimport pulumi_random as random\n\nserver = random.index.Id(\"server\",\n    keepers={\n        aziId: 1,\n    },\n    byte_length=8)\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"trafficmanagerProfile\",\n    location=\"West Europe\")\nexample_traffic_manager_profile = azure.network.TrafficManagerProfile(\"example\",\n    name=server[\"hex\"],\n    resource_group_name=example.name,\n    traffic_routing_method=\"Weighted\",\n    dns_config={\n        \"relative_name\": server[\"hex\"],\n        \"ttl\": 100,\n    },\n    monitor_config={\n        \"protocol\": \"HTTP\",\n        \"port\": 80,\n        \"path\": \"/\",\n        \"interval_in_seconds\": 30,\n        \"timeout_in_seconds\": 9,\n        \"tolerated_number_of_failures\": 3,\n    },\n    tags={\n        \"environment\": \"Production\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var server = new Random.Index.Id(\"server\", new()\n    {\n        Keepers = \n        {\n            { \"aziId\", 1 },\n        },\n        ByteLength = 8,\n    });\n\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"trafficmanagerProfile\",\n        Location = \"West Europe\",\n    });\n\n    var exampleTrafficManagerProfile = new Azure.Network.TrafficManagerProfile(\"example\", new()\n    {\n        Name = server.Hex,\n        ResourceGroupName = example.Name,\n        TrafficRoutingMethod = \"Weighted\",\n        DnsConfig = new Azure.Network.Inputs.TrafficManagerProfileDnsConfigArgs\n        {\n            RelativeName = server.Hex,\n            Ttl = 100,\n        },\n        MonitorConfig = new Azure.Network.Inputs.TrafficManagerProfileMonitorConfigArgs\n        {\n            Protocol = \"HTTP\",\n            Port = 80,\n            Path = \"/\",\n            IntervalInSeconds = 30,\n            TimeoutInSeconds = 9,\n            ToleratedNumberOfFailures = 3,\n        },\n        Tags = \n        {\n            { \"environment\", \"Production\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tserver, err := random.NewId(ctx, \"server\", \u0026random.IdArgs{\n\t\t\tKeepers: map[string]interface{}{\n\t\t\t\t\"aziId\": 1,\n\t\t\t},\n\t\t\tByteLength: 8,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"trafficmanagerProfile\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = network.NewTrafficManagerProfile(ctx, \"example\", \u0026network.TrafficManagerProfileArgs{\n\t\t\tName:                 server.Hex,\n\t\t\tResourceGroupName:    example.Name,\n\t\t\tTrafficRoutingMethod: pulumi.String(\"Weighted\"),\n\t\t\tDnsConfig: \u0026network.TrafficManagerProfileDnsConfigArgs{\n\t\t\t\tRelativeName: server.Hex,\n\t\t\t\tTtl:          pulumi.Int(100),\n\t\t\t},\n\t\t\tMonitorConfig: \u0026network.TrafficManagerProfileMonitorConfigArgs{\n\t\t\t\tProtocol:                  pulumi.String(\"HTTP\"),\n\t\t\t\tPort:                      pulumi.Int(80),\n\t\t\t\tPath:                      pulumi.String(\"/\"),\n\t\t\t\tIntervalInSeconds:         pulumi.Int(30),\n\t\t\t\tTimeoutInSeconds:          pulumi.Int(9),\n\t\t\t\tToleratedNumberOfFailures: pulumi.Int(3),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"environment\": pulumi.String(\"Production\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.random.Id;\nimport com.pulumi.random.IdArgs;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.TrafficManagerProfile;\nimport com.pulumi.azure.network.TrafficManagerProfileArgs;\nimport com.pulumi.azure.network.inputs.TrafficManagerProfileDnsConfigArgs;\nimport com.pulumi.azure.network.inputs.TrafficManagerProfileMonitorConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var server = new Id(\"server\", IdArgs.builder()\n            .keepers(Map.of(\"aziId\", 1))\n            .byteLength(8)\n            .build());\n\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"trafficmanagerProfile\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleTrafficManagerProfile = new TrafficManagerProfile(\"exampleTrafficManagerProfile\", TrafficManagerProfileArgs.builder()\n            .name(server.hex())\n            .resourceGroupName(example.name())\n            .trafficRoutingMethod(\"Weighted\")\n            .dnsConfig(TrafficManagerProfileDnsConfigArgs.builder()\n                .relativeName(server.hex())\n                .ttl(100)\n                .build())\n            .monitorConfig(TrafficManagerProfileMonitorConfigArgs.builder()\n                .protocol(\"HTTP\")\n                .port(80)\n                .path(\"/\")\n                .intervalInSeconds(30)\n                .timeoutInSeconds(9)\n                .toleratedNumberOfFailures(3)\n                .build())\n            .tags(Map.of(\"environment\", \"Production\"))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  server:\n    type: random:Id\n    properties:\n      keepers:\n        aziId: 1\n      byteLength: 8\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: trafficmanagerProfile\n      location: West Europe\n  exampleTrafficManagerProfile:\n    type: azure:network:TrafficManagerProfile\n    name: example\n    properties:\n      name: ${server.hex}\n      resourceGroupName: ${example.name}\n      trafficRoutingMethod: Weighted\n      dnsConfig:\n        relativeName: ${server.hex}\n        ttl: 100\n      monitorConfig:\n        protocol: HTTP\n        port: 80\n        path: /\n        intervalInSeconds: 30\n        timeoutInSeconds: 9\n        toleratedNumberOfFailures: 3\n      tags:\n        environment: Production\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2022-04-01\n\n## Import\n\nTraffic Manager Profiles can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:network/trafficManagerProfile:TrafficManagerProfile exampleProfile /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Network/trafficManagerProfiles/mytrafficmanagerprofile1\n```\n\n","properties":{"dnsConfig":{"$ref":"#/types/azure:network/TrafficManagerProfileDnsConfig:TrafficManagerProfileDnsConfig","description":"This block specifies the DNS configuration of the Profile. One \u003cspan pulumi-lang-nodejs=\"`dnsConfig`\" pulumi-lang-dotnet=\"`DnsConfig`\" pulumi-lang-go=\"`dnsConfig`\" pulumi-lang-python=\"`dns_config`\" pulumi-lang-yaml=\"`dnsConfig`\" pulumi-lang-java=\"`dnsConfig`\"\u003e`dns_config`\u003c/span\u003e block as defined below.\n"},"fqdn":{"type":"string","description":"The FQDN of the created Profile.\n"},"maxReturn":{"type":"integer","description":"The amount of endpoints to return for DNS queries to this Profile. Possible values range from \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`8`\" pulumi-lang-dotnet=\"`8`\" pulumi-lang-go=\"`8`\" pulumi-lang-python=\"`8`\" pulumi-lang-yaml=\"`8`\" pulumi-lang-java=\"`8`\"\u003e`8`\u003c/span\u003e.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`maxReturn`\" pulumi-lang-dotnet=\"`MaxReturn`\" pulumi-lang-go=\"`maxReturn`\" pulumi-lang-python=\"`max_return`\" pulumi-lang-yaml=\"`maxReturn`\" pulumi-lang-java=\"`maxReturn`\"\u003e`max_return`\u003c/span\u003e must be set when the \u003cspan pulumi-lang-nodejs=\"`trafficRoutingMethod`\" pulumi-lang-dotnet=\"`TrafficRoutingMethod`\" pulumi-lang-go=\"`trafficRoutingMethod`\" pulumi-lang-python=\"`traffic_routing_method`\" pulumi-lang-yaml=\"`trafficRoutingMethod`\" pulumi-lang-java=\"`trafficRoutingMethod`\"\u003e`traffic_routing_method`\u003c/span\u003e is `MultiValue`.\n"},"monitorConfig":{"$ref":"#/types/azure:network/TrafficManagerProfileMonitorConfig:TrafficManagerProfileMonitorConfig","description":"This block specifies the Endpoint monitoring configuration for the Profile. One \u003cspan pulumi-lang-nodejs=\"`monitorConfig`\" pulumi-lang-dotnet=\"`MonitorConfig`\" pulumi-lang-go=\"`monitorConfig`\" pulumi-lang-python=\"`monitor_config`\" pulumi-lang-yaml=\"`monitorConfig`\" pulumi-lang-java=\"`monitorConfig`\"\u003e`monitor_config`\u003c/span\u003e block as defined below.\n"},"name":{"type":"string","description":"The name of the Traffic Manager profile. Changing this forces a new resource to be created.\n"},"profileStatus":{"type":"string","description":"The status of the profile, can be set to either `Enabled` or `Disabled`. Defaults to `Enabled`.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the Traffic Manager profile. Changing this forces a new resource to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"trafficRoutingMethod":{"type":"string","description":"Specifies the algorithm used to route traffic. Possible values are `Geographic`, `Weighted`, `Performance`, `Priority`, `Subnet` and `MultiValue`.\n* `Geographic` - Traffic is routed based on Geographic regions specified in the Endpoint.\n* `MultiValue` - All healthy Endpoints are returned.  MultiValue routing method works only if all the endpoints of type `External` and are specified as IPv4 or IPv6 addresses.\n* `Performance` - Traffic is routed via the User's closest Endpoint\n* `Priority` - Traffic is routed to the Endpoint with the lowest \u003cspan pulumi-lang-nodejs=\"`priority`\" pulumi-lang-dotnet=\"`Priority`\" pulumi-lang-go=\"`priority`\" pulumi-lang-python=\"`priority`\" pulumi-lang-yaml=\"`priority`\" pulumi-lang-java=\"`priority`\"\u003e`priority`\u003c/span\u003e value.\n* `Subnet` - Traffic is routed based on a mapping of sets of end-user IP address ranges to a specific Endpoint within a Traffic Manager profile.\n* `Weighted` - Traffic is spread across Endpoints proportional to their \u003cspan pulumi-lang-nodejs=\"`weight`\" pulumi-lang-dotnet=\"`Weight`\" pulumi-lang-go=\"`weight`\" pulumi-lang-python=\"`weight`\" pulumi-lang-yaml=\"`weight`\" pulumi-lang-java=\"`weight`\"\u003e`weight`\u003c/span\u003e value.\n"},"trafficViewEnabled":{"type":"boolean","description":"Indicates whether Traffic View is enabled for the Traffic Manager profile.\n"}},"required":["dnsConfig","fqdn","monitorConfig","name","resourceGroupName","trafficRoutingMethod"],"inputProperties":{"dnsConfig":{"$ref":"#/types/azure:network/TrafficManagerProfileDnsConfig:TrafficManagerProfileDnsConfig","description":"This block specifies the DNS configuration of the Profile. One \u003cspan pulumi-lang-nodejs=\"`dnsConfig`\" pulumi-lang-dotnet=\"`DnsConfig`\" pulumi-lang-go=\"`dnsConfig`\" pulumi-lang-python=\"`dns_config`\" pulumi-lang-yaml=\"`dnsConfig`\" pulumi-lang-java=\"`dnsConfig`\"\u003e`dns_config`\u003c/span\u003e block as defined below.\n"},"maxReturn":{"type":"integer","description":"The amount of endpoints to return for DNS queries to this Profile. Possible values range from \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`8`\" pulumi-lang-dotnet=\"`8`\" pulumi-lang-go=\"`8`\" pulumi-lang-python=\"`8`\" pulumi-lang-yaml=\"`8`\" pulumi-lang-java=\"`8`\"\u003e`8`\u003c/span\u003e.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`maxReturn`\" pulumi-lang-dotnet=\"`MaxReturn`\" pulumi-lang-go=\"`maxReturn`\" pulumi-lang-python=\"`max_return`\" pulumi-lang-yaml=\"`maxReturn`\" pulumi-lang-java=\"`maxReturn`\"\u003e`max_return`\u003c/span\u003e must be set when the \u003cspan pulumi-lang-nodejs=\"`trafficRoutingMethod`\" pulumi-lang-dotnet=\"`TrafficRoutingMethod`\" pulumi-lang-go=\"`trafficRoutingMethod`\" pulumi-lang-python=\"`traffic_routing_method`\" pulumi-lang-yaml=\"`trafficRoutingMethod`\" pulumi-lang-java=\"`trafficRoutingMethod`\"\u003e`traffic_routing_method`\u003c/span\u003e is `MultiValue`.\n"},"monitorConfig":{"$ref":"#/types/azure:network/TrafficManagerProfileMonitorConfig:TrafficManagerProfileMonitorConfig","description":"This block specifies the Endpoint monitoring configuration for the Profile. One \u003cspan pulumi-lang-nodejs=\"`monitorConfig`\" pulumi-lang-dotnet=\"`MonitorConfig`\" pulumi-lang-go=\"`monitorConfig`\" pulumi-lang-python=\"`monitor_config`\" pulumi-lang-yaml=\"`monitorConfig`\" pulumi-lang-java=\"`monitorConfig`\"\u003e`monitor_config`\u003c/span\u003e block as defined below.\n"},"name":{"type":"string","description":"The name of the Traffic Manager profile. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"profileStatus":{"type":"string","description":"The status of the profile, can be set to either `Enabled` or `Disabled`. Defaults to `Enabled`.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the Traffic Manager profile. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"trafficRoutingMethod":{"type":"string","description":"Specifies the algorithm used to route traffic. Possible values are `Geographic`, `Weighted`, `Performance`, `Priority`, `Subnet` and `MultiValue`.\n* `Geographic` - Traffic is routed based on Geographic regions specified in the Endpoint.\n* `MultiValue` - All healthy Endpoints are returned.  MultiValue routing method works only if all the endpoints of type `External` and are specified as IPv4 or IPv6 addresses.\n* `Performance` - Traffic is routed via the User's closest Endpoint\n* `Priority` - Traffic is routed to the Endpoint with the lowest \u003cspan pulumi-lang-nodejs=\"`priority`\" pulumi-lang-dotnet=\"`Priority`\" pulumi-lang-go=\"`priority`\" pulumi-lang-python=\"`priority`\" pulumi-lang-yaml=\"`priority`\" pulumi-lang-java=\"`priority`\"\u003e`priority`\u003c/span\u003e value.\n* `Subnet` - Traffic is routed based on a mapping of sets of end-user IP address ranges to a specific Endpoint within a Traffic Manager profile.\n* `Weighted` - Traffic is spread across Endpoints proportional to their \u003cspan pulumi-lang-nodejs=\"`weight`\" pulumi-lang-dotnet=\"`Weight`\" pulumi-lang-go=\"`weight`\" pulumi-lang-python=\"`weight`\" pulumi-lang-yaml=\"`weight`\" pulumi-lang-java=\"`weight`\"\u003e`weight`\u003c/span\u003e value.\n"},"trafficViewEnabled":{"type":"boolean","description":"Indicates whether Traffic View is enabled for the Traffic Manager profile.\n"}},"requiredInputs":["dnsConfig","monitorConfig","resourceGroupName","trafficRoutingMethod"],"stateInputs":{"description":"Input properties used for looking up and filtering TrafficManagerProfile resources.\n","properties":{"dnsConfig":{"$ref":"#/types/azure:network/TrafficManagerProfileDnsConfig:TrafficManagerProfileDnsConfig","description":"This block specifies the DNS configuration of the Profile. One \u003cspan pulumi-lang-nodejs=\"`dnsConfig`\" pulumi-lang-dotnet=\"`DnsConfig`\" pulumi-lang-go=\"`dnsConfig`\" pulumi-lang-python=\"`dns_config`\" pulumi-lang-yaml=\"`dnsConfig`\" pulumi-lang-java=\"`dnsConfig`\"\u003e`dns_config`\u003c/span\u003e block as defined below.\n"},"fqdn":{"type":"string","description":"The FQDN of the created Profile.\n"},"maxReturn":{"type":"integer","description":"The amount of endpoints to return for DNS queries to this Profile. Possible values range from \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`8`\" pulumi-lang-dotnet=\"`8`\" pulumi-lang-go=\"`8`\" pulumi-lang-python=\"`8`\" pulumi-lang-yaml=\"`8`\" pulumi-lang-java=\"`8`\"\u003e`8`\u003c/span\u003e.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`maxReturn`\" pulumi-lang-dotnet=\"`MaxReturn`\" pulumi-lang-go=\"`maxReturn`\" pulumi-lang-python=\"`max_return`\" pulumi-lang-yaml=\"`maxReturn`\" pulumi-lang-java=\"`maxReturn`\"\u003e`max_return`\u003c/span\u003e must be set when the \u003cspan pulumi-lang-nodejs=\"`trafficRoutingMethod`\" pulumi-lang-dotnet=\"`TrafficRoutingMethod`\" pulumi-lang-go=\"`trafficRoutingMethod`\" pulumi-lang-python=\"`traffic_routing_method`\" pulumi-lang-yaml=\"`trafficRoutingMethod`\" pulumi-lang-java=\"`trafficRoutingMethod`\"\u003e`traffic_routing_method`\u003c/span\u003e is `MultiValue`.\n"},"monitorConfig":{"$ref":"#/types/azure:network/TrafficManagerProfileMonitorConfig:TrafficManagerProfileMonitorConfig","description":"This block specifies the Endpoint monitoring configuration for the Profile. One \u003cspan pulumi-lang-nodejs=\"`monitorConfig`\" pulumi-lang-dotnet=\"`MonitorConfig`\" pulumi-lang-go=\"`monitorConfig`\" pulumi-lang-python=\"`monitor_config`\" pulumi-lang-yaml=\"`monitorConfig`\" pulumi-lang-java=\"`monitorConfig`\"\u003e`monitor_config`\u003c/span\u003e block as defined below.\n"},"name":{"type":"string","description":"The name of the Traffic Manager profile. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"profileStatus":{"type":"string","description":"The status of the profile, can be set to either `Enabled` or `Disabled`. Defaults to `Enabled`.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the Traffic Manager profile. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"trafficRoutingMethod":{"type":"string","description":"Specifies the algorithm used to route traffic. Possible values are `Geographic`, `Weighted`, `Performance`, `Priority`, `Subnet` and `MultiValue`.\n* `Geographic` - Traffic is routed based on Geographic regions specified in the Endpoint.\n* `MultiValue` - All healthy Endpoints are returned.  MultiValue routing method works only if all the endpoints of type `External` and are specified as IPv4 or IPv6 addresses.\n* `Performance` - Traffic is routed via the User's closest Endpoint\n* `Priority` - Traffic is routed to the Endpoint with the lowest \u003cspan pulumi-lang-nodejs=\"`priority`\" pulumi-lang-dotnet=\"`Priority`\" pulumi-lang-go=\"`priority`\" pulumi-lang-python=\"`priority`\" pulumi-lang-yaml=\"`priority`\" pulumi-lang-java=\"`priority`\"\u003e`priority`\u003c/span\u003e value.\n* `Subnet` - Traffic is routed based on a mapping of sets of end-user IP address ranges to a specific Endpoint within a Traffic Manager profile.\n* `Weighted` - Traffic is spread across Endpoints proportional to their \u003cspan pulumi-lang-nodejs=\"`weight`\" pulumi-lang-dotnet=\"`Weight`\" pulumi-lang-go=\"`weight`\" pulumi-lang-python=\"`weight`\" pulumi-lang-yaml=\"`weight`\" pulumi-lang-java=\"`weight`\"\u003e`weight`\u003c/span\u003e value.\n"},"trafficViewEnabled":{"type":"boolean","description":"Indicates whether Traffic View is enabled for the Traffic Manager profile.\n"}},"type":"object"},"aliases":[{"type":"azure:trafficmanager/profile:Profile"}]},"azure:network/virtualHub:VirtualHub":{"description":"Manages a Virtual Hub within a Virtual WAN.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleVirtualWan = new azure.network.VirtualWan(\"example\", {\n    name: \"example-virtualwan\",\n    resourceGroupName: example.name,\n    location: example.location,\n});\nconst exampleVirtualHub = new azure.network.VirtualHub(\"example\", {\n    name: \"example-virtualhub\",\n    resourceGroupName: example.name,\n    location: example.location,\n    virtualWanId: exampleVirtualWan.id,\n    addressPrefix: \"10.0.0.0/23\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_virtual_wan = azure.network.VirtualWan(\"example\",\n    name=\"example-virtualwan\",\n    resource_group_name=example.name,\n    location=example.location)\nexample_virtual_hub = azure.network.VirtualHub(\"example\",\n    name=\"example-virtualhub\",\n    resource_group_name=example.name,\n    location=example.location,\n    virtual_wan_id=example_virtual_wan.id,\n    address_prefix=\"10.0.0.0/23\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleVirtualWan = new Azure.Network.VirtualWan(\"example\", new()\n    {\n        Name = \"example-virtualwan\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n    });\n\n    var exampleVirtualHub = new Azure.Network.VirtualHub(\"example\", new()\n    {\n        Name = \"example-virtualhub\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        VirtualWanId = exampleVirtualWan.Id,\n        AddressPrefix = \"10.0.0.0/23\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualWan, err := network.NewVirtualWan(ctx, \"example\", \u0026network.VirtualWanArgs{\n\t\t\tName:              pulumi.String(\"example-virtualwan\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = network.NewVirtualHub(ctx, \"example\", \u0026network.VirtualHubArgs{\n\t\t\tName:              pulumi.String(\"example-virtualhub\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tVirtualWanId:      exampleVirtualWan.ID(),\n\t\t\tAddressPrefix:     pulumi.String(\"10.0.0.0/23\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.VirtualWan;\nimport com.pulumi.azure.network.VirtualWanArgs;\nimport com.pulumi.azure.network.VirtualHub;\nimport com.pulumi.azure.network.VirtualHubArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleVirtualWan = new VirtualWan(\"exampleVirtualWan\", VirtualWanArgs.builder()\n            .name(\"example-virtualwan\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .build());\n\n        var exampleVirtualHub = new VirtualHub(\"exampleVirtualHub\", VirtualHubArgs.builder()\n            .name(\"example-virtualhub\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .virtualWanId(exampleVirtualWan.id())\n            .addressPrefix(\"10.0.0.0/23\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleVirtualWan:\n    type: azure:network:VirtualWan\n    name: example\n    properties:\n      name: example-virtualwan\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n  exampleVirtualHub:\n    type: azure:network:VirtualHub\n    name: example\n    properties:\n      name: example-virtualhub\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      virtualWanId: ${exampleVirtualWan.id}\n      addressPrefix: 10.0.0.0/23\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2025-01-01\n\n## Import\n\nVirtual Hub's can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:network/virtualHub:VirtualHub example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Network/virtualHubs/hub1\n```\n\n","properties":{"addressPrefix":{"type":"string","description":"The Address Prefix which should be used for this Virtual Hub. Changing this forces a new resource to be created. [The address prefix subnet cannot be smaller than a `/24`. Azure recommends using a `/23`](https://docs.microsoft.com/azure/virtual-wan/virtual-wan-faq#what-is-the-recommended-hub-address-space-during-hub-creation).\n"},"branchToBranchTrafficEnabled":{"type":"boolean","description":"Boolean flag to specify whether branch to branch traffic is allowed. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"defaultRouteTableId":{"type":"string","description":"The ID of the default Route Table in the Virtual Hub.\n"},"hubRoutingPreference":{"type":"string","description":"The hub routing preference. Possible values are `ExpressRoute`, `ASPath` and `VpnGateway`. Defaults to `ExpressRoute`.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the Virtual Hub should exist. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"The name of the Virtual Hub. Changing this forces a new resource to be created.\n"},"resourceGroupName":{"type":"string","description":"Specifies the name of the Resource Group where the Virtual Hub should exist. Changing this forces a new resource to be created.\n"},"routes":{"type":"array","items":{"$ref":"#/types/azure:network/VirtualHubRoute:VirtualHubRoute"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`route`\" pulumi-lang-dotnet=\"`Route`\" pulumi-lang-go=\"`route`\" pulumi-lang-python=\"`route`\" pulumi-lang-yaml=\"`route`\" pulumi-lang-java=\"`route`\"\u003e`route`\u003c/span\u003e blocks as defined below.\n"},"sku":{"type":"string","description":"The SKU of the Virtual Hub. Possible values are `Basic` and `Standard`. Changing this forces a new resource to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the Virtual Hub.\n"},"virtualRouterAsn":{"type":"integer","description":"The Autonomous System Number of the Virtual Hub BGP router.\n"},"virtualRouterAutoScaleMinCapacity":{"type":"integer","description":"Minimum instance capacity for the scaling configuration of the Virtual Hub Router. Defaults to \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e.\n"},"virtualRouterIps":{"type":"array","items":{"type":"string"},"description":"The IP addresses of the Virtual Hub BGP router.\n"},"virtualWanId":{"type":"string","description":"The ID of a Virtual WAN within which the Virtual Hub should be created. Changing this forces a new resource to be created.\n"}},"required":["defaultRouteTableId","location","name","resourceGroupName","virtualRouterAsn","virtualRouterIps"],"inputProperties":{"addressPrefix":{"type":"string","description":"The Address Prefix which should be used for this Virtual Hub. Changing this forces a new resource to be created. [The address prefix subnet cannot be smaller than a `/24`. Azure recommends using a `/23`](https://docs.microsoft.com/azure/virtual-wan/virtual-wan-faq#what-is-the-recommended-hub-address-space-during-hub-creation).\n","willReplaceOnChanges":true},"branchToBranchTrafficEnabled":{"type":"boolean","description":"Boolean flag to specify whether branch to branch traffic is allowed. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"hubRoutingPreference":{"type":"string","description":"The hub routing preference. Possible values are `ExpressRoute`, `ASPath` and `VpnGateway`. Defaults to `ExpressRoute`.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the Virtual Hub should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the Virtual Hub. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"Specifies the name of the Resource Group where the Virtual Hub should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"routes":{"type":"array","items":{"$ref":"#/types/azure:network/VirtualHubRoute:VirtualHubRoute"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`route`\" pulumi-lang-dotnet=\"`Route`\" pulumi-lang-go=\"`route`\" pulumi-lang-python=\"`route`\" pulumi-lang-yaml=\"`route`\" pulumi-lang-java=\"`route`\"\u003e`route`\u003c/span\u003e blocks as defined below.\n"},"sku":{"type":"string","description":"The SKU of the Virtual Hub. Possible values are `Basic` and `Standard`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the Virtual Hub.\n"},"virtualRouterAutoScaleMinCapacity":{"type":"integer","description":"Minimum instance capacity for the scaling configuration of the Virtual Hub Router. Defaults to \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e.\n"},"virtualWanId":{"type":"string","description":"The ID of a Virtual WAN within which the Virtual Hub should be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering VirtualHub resources.\n","properties":{"addressPrefix":{"type":"string","description":"The Address Prefix which should be used for this Virtual Hub. Changing this forces a new resource to be created. [The address prefix subnet cannot be smaller than a `/24`. Azure recommends using a `/23`](https://docs.microsoft.com/azure/virtual-wan/virtual-wan-faq#what-is-the-recommended-hub-address-space-during-hub-creation).\n","willReplaceOnChanges":true},"branchToBranchTrafficEnabled":{"type":"boolean","description":"Boolean flag to specify whether branch to branch traffic is allowed. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"defaultRouteTableId":{"type":"string","description":"The ID of the default Route Table in the Virtual Hub.\n"},"hubRoutingPreference":{"type":"string","description":"The hub routing preference. Possible values are `ExpressRoute`, `ASPath` and `VpnGateway`. Defaults to `ExpressRoute`.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the Virtual Hub should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the Virtual Hub. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"Specifies the name of the Resource Group where the Virtual Hub should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"routes":{"type":"array","items":{"$ref":"#/types/azure:network/VirtualHubRoute:VirtualHubRoute"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`route`\" pulumi-lang-dotnet=\"`Route`\" pulumi-lang-go=\"`route`\" pulumi-lang-python=\"`route`\" pulumi-lang-yaml=\"`route`\" pulumi-lang-java=\"`route`\"\u003e`route`\u003c/span\u003e blocks as defined below.\n"},"sku":{"type":"string","description":"The SKU of the Virtual Hub. Possible values are `Basic` and `Standard`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the Virtual Hub.\n"},"virtualRouterAsn":{"type":"integer","description":"The Autonomous System Number of the Virtual Hub BGP router.\n"},"virtualRouterAutoScaleMinCapacity":{"type":"integer","description":"Minimum instance capacity for the scaling configuration of the Virtual Hub Router. Defaults to \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e.\n"},"virtualRouterIps":{"type":"array","items":{"type":"string"},"description":"The IP addresses of the Virtual Hub BGP router.\n"},"virtualWanId":{"type":"string","description":"The ID of a Virtual WAN within which the Virtual Hub should be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:network/virtualHubConnection:VirtualHubConnection":{"description":"Manages a Connection for a Virtual Hub.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"example\", {\n    name: \"example-network\",\n    addressSpaces: [\"172.16.0.0/12\"],\n    location: example.location,\n    resourceGroupName: example.name,\n});\nconst exampleVirtualWan = new azure.network.VirtualWan(\"example\", {\n    name: \"example-vwan\",\n    resourceGroupName: example.name,\n    location: example.location,\n});\nconst exampleVirtualHub = new azure.network.VirtualHub(\"example\", {\n    name: \"example-hub\",\n    resourceGroupName: example.name,\n    location: example.location,\n    virtualWanId: exampleVirtualWan.id,\n    addressPrefix: \"10.0.1.0/24\",\n});\nconst exampleVirtualHubConnection = new azure.network.VirtualHubConnection(\"example\", {\n    name: \"example-vhub\",\n    virtualHubId: exampleVirtualHub.id,\n    remoteVirtualNetworkId: exampleVirtualNetwork.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_virtual_network = azure.network.VirtualNetwork(\"example\",\n    name=\"example-network\",\n    address_spaces=[\"172.16.0.0/12\"],\n    location=example.location,\n    resource_group_name=example.name)\nexample_virtual_wan = azure.network.VirtualWan(\"example\",\n    name=\"example-vwan\",\n    resource_group_name=example.name,\n    location=example.location)\nexample_virtual_hub = azure.network.VirtualHub(\"example\",\n    name=\"example-hub\",\n    resource_group_name=example.name,\n    location=example.location,\n    virtual_wan_id=example_virtual_wan.id,\n    address_prefix=\"10.0.1.0/24\")\nexample_virtual_hub_connection = azure.network.VirtualHubConnection(\"example\",\n    name=\"example-vhub\",\n    virtual_hub_id=example_virtual_hub.id,\n    remote_virtual_network_id=example_virtual_network.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleVirtualNetwork = new Azure.Network.VirtualNetwork(\"example\", new()\n    {\n        Name = \"example-network\",\n        AddressSpaces = new[]\n        {\n            \"172.16.0.0/12\",\n        },\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n    });\n\n    var exampleVirtualWan = new Azure.Network.VirtualWan(\"example\", new()\n    {\n        Name = \"example-vwan\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n    });\n\n    var exampleVirtualHub = new Azure.Network.VirtualHub(\"example\", new()\n    {\n        Name = \"example-hub\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        VirtualWanId = exampleVirtualWan.Id,\n        AddressPrefix = \"10.0.1.0/24\",\n    });\n\n    var exampleVirtualHubConnection = new Azure.Network.VirtualHubConnection(\"example\", new()\n    {\n        Name = \"example-vhub\",\n        VirtualHubId = exampleVirtualHub.Id,\n        RemoteVirtualNetworkId = exampleVirtualNetwork.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, \"example\", \u0026network.VirtualNetworkArgs{\n\t\t\tName: pulumi.String(\"example-network\"),\n\t\t\tAddressSpaces: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"172.16.0.0/12\"),\n\t\t\t},\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualWan, err := network.NewVirtualWan(ctx, \"example\", \u0026network.VirtualWanArgs{\n\t\t\tName:              pulumi.String(\"example-vwan\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualHub, err := network.NewVirtualHub(ctx, \"example\", \u0026network.VirtualHubArgs{\n\t\t\tName:              pulumi.String(\"example-hub\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tVirtualWanId:      exampleVirtualWan.ID(),\n\t\t\tAddressPrefix:     pulumi.String(\"10.0.1.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = network.NewVirtualHubConnection(ctx, \"example\", \u0026network.VirtualHubConnectionArgs{\n\t\t\tName:                   pulumi.String(\"example-vhub\"),\n\t\t\tVirtualHubId:           exampleVirtualHub.ID(),\n\t\t\tRemoteVirtualNetworkId: exampleVirtualNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.VirtualNetwork;\nimport com.pulumi.azure.network.VirtualNetworkArgs;\nimport com.pulumi.azure.network.VirtualWan;\nimport com.pulumi.azure.network.VirtualWanArgs;\nimport com.pulumi.azure.network.VirtualHub;\nimport com.pulumi.azure.network.VirtualHubArgs;\nimport com.pulumi.azure.network.VirtualHubConnection;\nimport com.pulumi.azure.network.VirtualHubConnectionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleVirtualNetwork = new VirtualNetwork(\"exampleVirtualNetwork\", VirtualNetworkArgs.builder()\n            .name(\"example-network\")\n            .addressSpaces(\"172.16.0.0/12\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .build());\n\n        var exampleVirtualWan = new VirtualWan(\"exampleVirtualWan\", VirtualWanArgs.builder()\n            .name(\"example-vwan\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .build());\n\n        var exampleVirtualHub = new VirtualHub(\"exampleVirtualHub\", VirtualHubArgs.builder()\n            .name(\"example-hub\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .virtualWanId(exampleVirtualWan.id())\n            .addressPrefix(\"10.0.1.0/24\")\n            .build());\n\n        var exampleVirtualHubConnection = new VirtualHubConnection(\"exampleVirtualHubConnection\", VirtualHubConnectionArgs.builder()\n            .name(\"example-vhub\")\n            .virtualHubId(exampleVirtualHub.id())\n            .remoteVirtualNetworkId(exampleVirtualNetwork.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleVirtualNetwork:\n    type: azure:network:VirtualNetwork\n    name: example\n    properties:\n      name: example-network\n      addressSpaces:\n        - 172.16.0.0/12\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n  exampleVirtualWan:\n    type: azure:network:VirtualWan\n    name: example\n    properties:\n      name: example-vwan\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n  exampleVirtualHub:\n    type: azure:network:VirtualHub\n    name: example\n    properties:\n      name: example-hub\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      virtualWanId: ${exampleVirtualWan.id}\n      addressPrefix: 10.0.1.0/24\n  exampleVirtualHubConnection:\n    type: azure:network:VirtualHubConnection\n    name: example\n    properties:\n      name: example-vhub\n      virtualHubId: ${exampleVirtualHub.id}\n      remoteVirtualNetworkId: ${exampleVirtualNetwork.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2025-01-01\n\n## Import\n\nVirtual Hub Connection's can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:network/virtualHubConnection:VirtualHubConnection example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Network/virtualHubs/hub1/hubVirtualNetworkConnections/connection1\n```\n\n","properties":{"internetSecurityEnabled":{"type":"boolean","description":"Should Internet Security be enabled to secure internet traffic? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"name":{"type":"string","description":"The Name which should be used for this Connection, which must be unique within the Virtual Hub. Changing this forces a new resource to be created.\n"},"remoteVirtualNetworkId":{"type":"string","description":"The ID of the Virtual Network which the Virtual Hub should be connected to. Changing this forces a new resource to be created.\n"},"routing":{"$ref":"#/types/azure:network/VirtualHubConnectionRouting:VirtualHubConnectionRouting","description":"A \u003cspan pulumi-lang-nodejs=\"`routing`\" pulumi-lang-dotnet=\"`Routing`\" pulumi-lang-go=\"`routing`\" pulumi-lang-python=\"`routing`\" pulumi-lang-yaml=\"`routing`\" pulumi-lang-java=\"`routing`\"\u003e`routing`\u003c/span\u003e block as defined below.\n"},"virtualHubId":{"type":"string","description":"The ID of the Virtual Hub within which this connection should be created. Changing this forces a new resource to be created.\n"}},"required":["name","remoteVirtualNetworkId","routing","virtualHubId"],"inputProperties":{"internetSecurityEnabled":{"type":"boolean","description":"Should Internet Security be enabled to secure internet traffic? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"name":{"type":"string","description":"The Name which should be used for this Connection, which must be unique within the Virtual Hub. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"remoteVirtualNetworkId":{"type":"string","description":"The ID of the Virtual Network which the Virtual Hub should be connected to. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"routing":{"$ref":"#/types/azure:network/VirtualHubConnectionRouting:VirtualHubConnectionRouting","description":"A \u003cspan pulumi-lang-nodejs=\"`routing`\" pulumi-lang-dotnet=\"`Routing`\" pulumi-lang-go=\"`routing`\" pulumi-lang-python=\"`routing`\" pulumi-lang-yaml=\"`routing`\" pulumi-lang-java=\"`routing`\"\u003e`routing`\u003c/span\u003e block as defined below.\n"},"virtualHubId":{"type":"string","description":"The ID of the Virtual Hub within which this connection should be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["remoteVirtualNetworkId","virtualHubId"],"stateInputs":{"description":"Input properties used for looking up and filtering VirtualHubConnection resources.\n","properties":{"internetSecurityEnabled":{"type":"boolean","description":"Should Internet Security be enabled to secure internet traffic? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"name":{"type":"string","description":"The Name which should be used for this Connection, which must be unique within the Virtual Hub. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"remoteVirtualNetworkId":{"type":"string","description":"The ID of the Virtual Network which the Virtual Hub should be connected to. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"routing":{"$ref":"#/types/azure:network/VirtualHubConnectionRouting:VirtualHubConnectionRouting","description":"A \u003cspan pulumi-lang-nodejs=\"`routing`\" pulumi-lang-dotnet=\"`Routing`\" pulumi-lang-go=\"`routing`\" pulumi-lang-python=\"`routing`\" pulumi-lang-yaml=\"`routing`\" pulumi-lang-java=\"`routing`\"\u003e`routing`\u003c/span\u003e block as defined below.\n"},"virtualHubId":{"type":"string","description":"The ID of the Virtual Hub within which this connection should be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:network/virtualHubIp:VirtualHubIp":{"description":"Manages a Virtual Hub IP. This resource is also known as a Route Server.\n\n\u003e **Note:** Virtual Hub IP only supports Standard Virtual Hub without Virtual Wan.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleVirtualHub = new azure.network.VirtualHub(\"example\", {\n    name: \"example-vhub\",\n    resourceGroupName: example.name,\n    location: example.location,\n    sku: \"Standard\",\n});\nconst examplePublicIp = new azure.network.PublicIp(\"example\", {\n    name: \"example-pip\",\n    location: example.location,\n    resourceGroupName: example.name,\n    allocationMethod: \"Static\",\n    sku: \"Standard\",\n});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"example\", {\n    name: \"example-vnet\",\n    addressSpaces: [\"10.5.0.0/16\"],\n    location: example.location,\n    resourceGroupName: example.name,\n});\nconst exampleSubnet = new azure.network.Subnet(\"example\", {\n    name: \"RouteServerSubnet\",\n    resourceGroupName: example.name,\n    virtualNetworkName: exampleVirtualNetwork.name,\n    addressPrefixes: [\"10.5.1.0/24\"],\n});\nconst exampleVirtualHubIp = new azure.network.VirtualHubIp(\"example\", {\n    name: \"example-vhubipconfig\",\n    virtualHubId: exampleVirtualHub.id,\n    privateIpAddress: \"10.5.1.18\",\n    privateIpAllocationMethod: \"Static\",\n    publicIpAddressId: examplePublicIp.id,\n    subnetId: exampleSubnet.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_virtual_hub = azure.network.VirtualHub(\"example\",\n    name=\"example-vhub\",\n    resource_group_name=example.name,\n    location=example.location,\n    sku=\"Standard\")\nexample_public_ip = azure.network.PublicIp(\"example\",\n    name=\"example-pip\",\n    location=example.location,\n    resource_group_name=example.name,\n    allocation_method=\"Static\",\n    sku=\"Standard\")\nexample_virtual_network = azure.network.VirtualNetwork(\"example\",\n    name=\"example-vnet\",\n    address_spaces=[\"10.5.0.0/16\"],\n    location=example.location,\n    resource_group_name=example.name)\nexample_subnet = azure.network.Subnet(\"example\",\n    name=\"RouteServerSubnet\",\n    resource_group_name=example.name,\n    virtual_network_name=example_virtual_network.name,\n    address_prefixes=[\"10.5.1.0/24\"])\nexample_virtual_hub_ip = azure.network.VirtualHubIp(\"example\",\n    name=\"example-vhubipconfig\",\n    virtual_hub_id=example_virtual_hub.id,\n    private_ip_address=\"10.5.1.18\",\n    private_ip_allocation_method=\"Static\",\n    public_ip_address_id=example_public_ip.id,\n    subnet_id=example_subnet.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleVirtualHub = new Azure.Network.VirtualHub(\"example\", new()\n    {\n        Name = \"example-vhub\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        Sku = \"Standard\",\n    });\n\n    var examplePublicIp = new Azure.Network.PublicIp(\"example\", new()\n    {\n        Name = \"example-pip\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        AllocationMethod = \"Static\",\n        Sku = \"Standard\",\n    });\n\n    var exampleVirtualNetwork = new Azure.Network.VirtualNetwork(\"example\", new()\n    {\n        Name = \"example-vnet\",\n        AddressSpaces = new[]\n        {\n            \"10.5.0.0/16\",\n        },\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n    });\n\n    var exampleSubnet = new Azure.Network.Subnet(\"example\", new()\n    {\n        Name = \"RouteServerSubnet\",\n        ResourceGroupName = example.Name,\n        VirtualNetworkName = exampleVirtualNetwork.Name,\n        AddressPrefixes = new[]\n        {\n            \"10.5.1.0/24\",\n        },\n    });\n\n    var exampleVirtualHubIp = new Azure.Network.VirtualHubIp(\"example\", new()\n    {\n        Name = \"example-vhubipconfig\",\n        VirtualHubId = exampleVirtualHub.Id,\n        PrivateIpAddress = \"10.5.1.18\",\n        PrivateIpAllocationMethod = \"Static\",\n        PublicIpAddressId = examplePublicIp.Id,\n        SubnetId = exampleSubnet.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualHub, err := network.NewVirtualHub(ctx, \"example\", \u0026network.VirtualHubArgs{\n\t\t\tName:              pulumi.String(\"example-vhub\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tSku:               pulumi.String(\"Standard\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texamplePublicIp, err := network.NewPublicIp(ctx, \"example\", \u0026network.PublicIpArgs{\n\t\t\tName:              pulumi.String(\"example-pip\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tAllocationMethod:  pulumi.String(\"Static\"),\n\t\t\tSku:               pulumi.String(\"Standard\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, \"example\", \u0026network.VirtualNetworkArgs{\n\t\t\tName: pulumi.String(\"example-vnet\"),\n\t\t\tAddressSpaces: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.5.0.0/16\"),\n\t\t\t},\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSubnet, err := network.NewSubnet(ctx, \"example\", \u0026network.SubnetArgs{\n\t\t\tName:               pulumi.String(\"RouteServerSubnet\"),\n\t\t\tResourceGroupName:  example.Name,\n\t\t\tVirtualNetworkName: exampleVirtualNetwork.Name,\n\t\t\tAddressPrefixes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.5.1.0/24\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = network.NewVirtualHubIp(ctx, \"example\", \u0026network.VirtualHubIpArgs{\n\t\t\tName:                      pulumi.String(\"example-vhubipconfig\"),\n\t\t\tVirtualHubId:              exampleVirtualHub.ID(),\n\t\t\tPrivateIpAddress:          pulumi.String(\"10.5.1.18\"),\n\t\t\tPrivateIpAllocationMethod: pulumi.String(\"Static\"),\n\t\t\tPublicIpAddressId:         examplePublicIp.ID(),\n\t\t\tSubnetId:                  exampleSubnet.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.VirtualHub;\nimport com.pulumi.azure.network.VirtualHubArgs;\nimport com.pulumi.azure.network.PublicIp;\nimport com.pulumi.azure.network.PublicIpArgs;\nimport com.pulumi.azure.network.VirtualNetwork;\nimport com.pulumi.azure.network.VirtualNetworkArgs;\nimport com.pulumi.azure.network.Subnet;\nimport com.pulumi.azure.network.SubnetArgs;\nimport com.pulumi.azure.network.VirtualHubIp;\nimport com.pulumi.azure.network.VirtualHubIpArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleVirtualHub = new VirtualHub(\"exampleVirtualHub\", VirtualHubArgs.builder()\n            .name(\"example-vhub\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .sku(\"Standard\")\n            .build());\n\n        var examplePublicIp = new PublicIp(\"examplePublicIp\", PublicIpArgs.builder()\n            .name(\"example-pip\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .allocationMethod(\"Static\")\n            .sku(\"Standard\")\n            .build());\n\n        var exampleVirtualNetwork = new VirtualNetwork(\"exampleVirtualNetwork\", VirtualNetworkArgs.builder()\n            .name(\"example-vnet\")\n            .addressSpaces(\"10.5.0.0/16\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .build());\n\n        var exampleSubnet = new Subnet(\"exampleSubnet\", SubnetArgs.builder()\n            .name(\"RouteServerSubnet\")\n            .resourceGroupName(example.name())\n            .virtualNetworkName(exampleVirtualNetwork.name())\n            .addressPrefixes(\"10.5.1.0/24\")\n            .build());\n\n        var exampleVirtualHubIp = new VirtualHubIp(\"exampleVirtualHubIp\", VirtualHubIpArgs.builder()\n            .name(\"example-vhubipconfig\")\n            .virtualHubId(exampleVirtualHub.id())\n            .privateIpAddress(\"10.5.1.18\")\n            .privateIpAllocationMethod(\"Static\")\n            .publicIpAddressId(examplePublicIp.id())\n            .subnetId(exampleSubnet.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleVirtualHub:\n    type: azure:network:VirtualHub\n    name: example\n    properties:\n      name: example-vhub\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      sku: Standard\n  examplePublicIp:\n    type: azure:network:PublicIp\n    name: example\n    properties:\n      name: example-pip\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      allocationMethod: Static\n      sku: Standard\n  exampleVirtualNetwork:\n    type: azure:network:VirtualNetwork\n    name: example\n    properties:\n      name: example-vnet\n      addressSpaces:\n        - 10.5.0.0/16\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n  exampleSubnet:\n    type: azure:network:Subnet\n    name: example\n    properties:\n      name: RouteServerSubnet\n      resourceGroupName: ${example.name}\n      virtualNetworkName: ${exampleVirtualNetwork.name}\n      addressPrefixes:\n        - 10.5.1.0/24\n  exampleVirtualHubIp:\n    type: azure:network:VirtualHubIp\n    name: example\n    properties:\n      name: example-vhubipconfig\n      virtualHubId: ${exampleVirtualHub.id}\n      privateIpAddress: 10.5.1.18\n      privateIpAllocationMethod: Static\n      publicIpAddressId: ${examplePublicIp.id}\n      subnetId: ${exampleSubnet.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2025-01-01\n\n## Import\n\nVirtual Hub IPs can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:network/virtualHubIp:VirtualHubIp example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Network/virtualHubs/virtualHub1/ipConfigurations/ipConfig1\n```\n\n","properties":{"name":{"type":"string","description":"The name which should be used for this Virtual Hub IP. Changing this forces a new resource to be created.\n"},"privateIpAddress":{"type":"string","description":"The private IP address of the IP configuration.\n"},"privateIpAllocationMethod":{"type":"string","description":"The private IP address allocation method. Possible values are `Static` and `Dynamic` is allowed. Defaults to `Dynamic`.\n"},"publicIpAddressId":{"type":"string","description":"The ID of the Public IP Address. This option is required since September 1st 2021. Changing this forces a new resource to be created.\n"},"subnetId":{"type":"string","description":"The ID of the Subnet that the IP will reside. Changing this forces a new resource to be created.\n"},"virtualHubId":{"type":"string","description":"The ID of the Virtual Hub within which this IP configuration should be created. Changing this forces a new resource to be created.\n"}},"required":["name","publicIpAddressId","subnetId","virtualHubId"],"inputProperties":{"name":{"type":"string","description":"The name which should be used for this Virtual Hub IP. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"privateIpAddress":{"type":"string","description":"The private IP address of the IP configuration.\n"},"privateIpAllocationMethod":{"type":"string","description":"The private IP address allocation method. Possible values are `Static` and `Dynamic` is allowed. Defaults to `Dynamic`.\n"},"publicIpAddressId":{"type":"string","description":"The ID of the Public IP Address. This option is required since September 1st 2021. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"subnetId":{"type":"string","description":"The ID of the Subnet that the IP will reside. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"virtualHubId":{"type":"string","description":"The ID of the Virtual Hub within which this IP configuration should be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["publicIpAddressId","subnetId","virtualHubId"],"stateInputs":{"description":"Input properties used for looking up and filtering VirtualHubIp resources.\n","properties":{"name":{"type":"string","description":"The name which should be used for this Virtual Hub IP. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"privateIpAddress":{"type":"string","description":"The private IP address of the IP configuration.\n"},"privateIpAllocationMethod":{"type":"string","description":"The private IP address allocation method. Possible values are `Static` and `Dynamic` is allowed. Defaults to `Dynamic`.\n"},"publicIpAddressId":{"type":"string","description":"The ID of the Public IP Address. This option is required since September 1st 2021. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"subnetId":{"type":"string","description":"The ID of the Subnet that the IP will reside. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"virtualHubId":{"type":"string","description":"The ID of the Virtual Hub within which this IP configuration should be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:network/virtualHubRouteTable:VirtualHubRouteTable":{"description":"Manages a Virtual Hub Route Table.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"example\", {\n    name: \"example-vnet\",\n    addressSpaces: [\"10.5.0.0/16\"],\n    location: example.location,\n    resourceGroupName: example.name,\n});\nconst exampleNetworkSecurityGroup = new azure.network.NetworkSecurityGroup(\"example\", {\n    name: \"example-nsg\",\n    location: example.location,\n    resourceGroupName: example.name,\n});\nconst exampleSubnet = new azure.network.Subnet(\"example\", {\n    name: \"examplesubnet\",\n    resourceGroupName: example.name,\n    virtualNetworkName: exampleVirtualNetwork.name,\n    addressPrefixes: [\"10.5.1.0/24\"],\n});\nconst exampleSubnetNetworkSecurityGroupAssociation = new azure.network.SubnetNetworkSecurityGroupAssociation(\"example\", {\n    subnetId: exampleSubnet.id,\n    networkSecurityGroupId: exampleNetworkSecurityGroup.id,\n});\nconst exampleVirtualWan = new azure.network.VirtualWan(\"example\", {\n    name: \"example-vwan\",\n    resourceGroupName: example.name,\n    location: example.location,\n});\nconst exampleVirtualHub = new azure.network.VirtualHub(\"example\", {\n    name: \"example-vhub\",\n    resourceGroupName: example.name,\n    location: example.location,\n    virtualWanId: exampleVirtualWan.id,\n    addressPrefix: \"10.0.2.0/24\",\n});\nconst exampleVirtualHubConnection = new azure.network.VirtualHubConnection(\"example\", {\n    name: \"example-vhubconn\",\n    virtualHubId: exampleVirtualHub.id,\n    remoteVirtualNetworkId: exampleVirtualNetwork.id,\n});\nconst exampleVirtualHubRouteTable = new azure.network.VirtualHubRouteTable(\"example\", {\n    name: \"example-vhubroutetable\",\n    virtualHubId: exampleVirtualHub.id,\n    labels: [\"label1\"],\n    routes: [{\n        name: \"example-route\",\n        destinationsType: \"CIDR\",\n        destinations: [\"10.0.0.0/16\"],\n        nextHopType: \"ResourceId\",\n        nextHop: exampleVirtualHubConnection.id,\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_virtual_network = azure.network.VirtualNetwork(\"example\",\n    name=\"example-vnet\",\n    address_spaces=[\"10.5.0.0/16\"],\n    location=example.location,\n    resource_group_name=example.name)\nexample_network_security_group = azure.network.NetworkSecurityGroup(\"example\",\n    name=\"example-nsg\",\n    location=example.location,\n    resource_group_name=example.name)\nexample_subnet = azure.network.Subnet(\"example\",\n    name=\"examplesubnet\",\n    resource_group_name=example.name,\n    virtual_network_name=example_virtual_network.name,\n    address_prefixes=[\"10.5.1.0/24\"])\nexample_subnet_network_security_group_association = azure.network.SubnetNetworkSecurityGroupAssociation(\"example\",\n    subnet_id=example_subnet.id,\n    network_security_group_id=example_network_security_group.id)\nexample_virtual_wan = azure.network.VirtualWan(\"example\",\n    name=\"example-vwan\",\n    resource_group_name=example.name,\n    location=example.location)\nexample_virtual_hub = azure.network.VirtualHub(\"example\",\n    name=\"example-vhub\",\n    resource_group_name=example.name,\n    location=example.location,\n    virtual_wan_id=example_virtual_wan.id,\n    address_prefix=\"10.0.2.0/24\")\nexample_virtual_hub_connection = azure.network.VirtualHubConnection(\"example\",\n    name=\"example-vhubconn\",\n    virtual_hub_id=example_virtual_hub.id,\n    remote_virtual_network_id=example_virtual_network.id)\nexample_virtual_hub_route_table = azure.network.VirtualHubRouteTable(\"example\",\n    name=\"example-vhubroutetable\",\n    virtual_hub_id=example_virtual_hub.id,\n    labels=[\"label1\"],\n    routes=[{\n        \"name\": \"example-route\",\n        \"destinations_type\": \"CIDR\",\n        \"destinations\": [\"10.0.0.0/16\"],\n        \"next_hop_type\": \"ResourceId\",\n        \"next_hop\": example_virtual_hub_connection.id,\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleVirtualNetwork = new Azure.Network.VirtualNetwork(\"example\", new()\n    {\n        Name = \"example-vnet\",\n        AddressSpaces = new[]\n        {\n            \"10.5.0.0/16\",\n        },\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n    });\n\n    var exampleNetworkSecurityGroup = new Azure.Network.NetworkSecurityGroup(\"example\", new()\n    {\n        Name = \"example-nsg\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n    });\n\n    var exampleSubnet = new Azure.Network.Subnet(\"example\", new()\n    {\n        Name = \"examplesubnet\",\n        ResourceGroupName = example.Name,\n        VirtualNetworkName = exampleVirtualNetwork.Name,\n        AddressPrefixes = new[]\n        {\n            \"10.5.1.0/24\",\n        },\n    });\n\n    var exampleSubnetNetworkSecurityGroupAssociation = new Azure.Network.SubnetNetworkSecurityGroupAssociation(\"example\", new()\n    {\n        SubnetId = exampleSubnet.Id,\n        NetworkSecurityGroupId = exampleNetworkSecurityGroup.Id,\n    });\n\n    var exampleVirtualWan = new Azure.Network.VirtualWan(\"example\", new()\n    {\n        Name = \"example-vwan\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n    });\n\n    var exampleVirtualHub = new Azure.Network.VirtualHub(\"example\", new()\n    {\n        Name = \"example-vhub\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        VirtualWanId = exampleVirtualWan.Id,\n        AddressPrefix = \"10.0.2.0/24\",\n    });\n\n    var exampleVirtualHubConnection = new Azure.Network.VirtualHubConnection(\"example\", new()\n    {\n        Name = \"example-vhubconn\",\n        VirtualHubId = exampleVirtualHub.Id,\n        RemoteVirtualNetworkId = exampleVirtualNetwork.Id,\n    });\n\n    var exampleVirtualHubRouteTable = new Azure.Network.VirtualHubRouteTable(\"example\", new()\n    {\n        Name = \"example-vhubroutetable\",\n        VirtualHubId = exampleVirtualHub.Id,\n        Labels = new[]\n        {\n            \"label1\",\n        },\n        Routes = new[]\n        {\n            new Azure.Network.Inputs.VirtualHubRouteTableRouteArgs\n            {\n                Name = \"example-route\",\n                DestinationsType = \"CIDR\",\n                Destinations = new[]\n                {\n                    \"10.0.0.0/16\",\n                },\n                NextHopType = \"ResourceId\",\n                NextHop = exampleVirtualHubConnection.Id,\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, \"example\", \u0026network.VirtualNetworkArgs{\n\t\t\tName: pulumi.String(\"example-vnet\"),\n\t\t\tAddressSpaces: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.5.0.0/16\"),\n\t\t\t},\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNetworkSecurityGroup, err := network.NewNetworkSecurityGroup(ctx, \"example\", \u0026network.NetworkSecurityGroupArgs{\n\t\t\tName:              pulumi.String(\"example-nsg\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSubnet, err := network.NewSubnet(ctx, \"example\", \u0026network.SubnetArgs{\n\t\t\tName:               pulumi.String(\"examplesubnet\"),\n\t\t\tResourceGroupName:  example.Name,\n\t\t\tVirtualNetworkName: exampleVirtualNetwork.Name,\n\t\t\tAddressPrefixes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.5.1.0/24\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = network.NewSubnetNetworkSecurityGroupAssociation(ctx, \"example\", \u0026network.SubnetNetworkSecurityGroupAssociationArgs{\n\t\t\tSubnetId:               exampleSubnet.ID(),\n\t\t\tNetworkSecurityGroupId: exampleNetworkSecurityGroup.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualWan, err := network.NewVirtualWan(ctx, \"example\", \u0026network.VirtualWanArgs{\n\t\t\tName:              pulumi.String(\"example-vwan\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualHub, err := network.NewVirtualHub(ctx, \"example\", \u0026network.VirtualHubArgs{\n\t\t\tName:              pulumi.String(\"example-vhub\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tVirtualWanId:      exampleVirtualWan.ID(),\n\t\t\tAddressPrefix:     pulumi.String(\"10.0.2.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualHubConnection, err := network.NewVirtualHubConnection(ctx, \"example\", \u0026network.VirtualHubConnectionArgs{\n\t\t\tName:                   pulumi.String(\"example-vhubconn\"),\n\t\t\tVirtualHubId:           exampleVirtualHub.ID(),\n\t\t\tRemoteVirtualNetworkId: exampleVirtualNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = network.NewVirtualHubRouteTable(ctx, \"example\", \u0026network.VirtualHubRouteTableArgs{\n\t\t\tName:         pulumi.String(\"example-vhubroutetable\"),\n\t\t\tVirtualHubId: exampleVirtualHub.ID(),\n\t\t\tLabels: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"label1\"),\n\t\t\t},\n\t\t\tRoutes: network.VirtualHubRouteTableRouteTypeArray{\n\t\t\t\t\u0026network.VirtualHubRouteTableRouteTypeArgs{\n\t\t\t\t\tName:             pulumi.String(\"example-route\"),\n\t\t\t\t\tDestinationsType: pulumi.String(\"CIDR\"),\n\t\t\t\t\tDestinations: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"10.0.0.0/16\"),\n\t\t\t\t\t},\n\t\t\t\t\tNextHopType: pulumi.String(\"ResourceId\"),\n\t\t\t\t\tNextHop:     exampleVirtualHubConnection.ID(),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.VirtualNetwork;\nimport com.pulumi.azure.network.VirtualNetworkArgs;\nimport com.pulumi.azure.network.NetworkSecurityGroup;\nimport com.pulumi.azure.network.NetworkSecurityGroupArgs;\nimport com.pulumi.azure.network.Subnet;\nimport com.pulumi.azure.network.SubnetArgs;\nimport com.pulumi.azure.network.SubnetNetworkSecurityGroupAssociation;\nimport com.pulumi.azure.network.SubnetNetworkSecurityGroupAssociationArgs;\nimport com.pulumi.azure.network.VirtualWan;\nimport com.pulumi.azure.network.VirtualWanArgs;\nimport com.pulumi.azure.network.VirtualHub;\nimport com.pulumi.azure.network.VirtualHubArgs;\nimport com.pulumi.azure.network.VirtualHubConnection;\nimport com.pulumi.azure.network.VirtualHubConnectionArgs;\nimport com.pulumi.azure.network.VirtualHubRouteTable;\nimport com.pulumi.azure.network.VirtualHubRouteTableArgs;\nimport com.pulumi.azure.network.inputs.VirtualHubRouteTableRouteArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleVirtualNetwork = new VirtualNetwork(\"exampleVirtualNetwork\", VirtualNetworkArgs.builder()\n            .name(\"example-vnet\")\n            .addressSpaces(\"10.5.0.0/16\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .build());\n\n        var exampleNetworkSecurityGroup = new NetworkSecurityGroup(\"exampleNetworkSecurityGroup\", NetworkSecurityGroupArgs.builder()\n            .name(\"example-nsg\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .build());\n\n        var exampleSubnet = new Subnet(\"exampleSubnet\", SubnetArgs.builder()\n            .name(\"examplesubnet\")\n            .resourceGroupName(example.name())\n            .virtualNetworkName(exampleVirtualNetwork.name())\n            .addressPrefixes(\"10.5.1.0/24\")\n            .build());\n\n        var exampleSubnetNetworkSecurityGroupAssociation = new SubnetNetworkSecurityGroupAssociation(\"exampleSubnetNetworkSecurityGroupAssociation\", SubnetNetworkSecurityGroupAssociationArgs.builder()\n            .subnetId(exampleSubnet.id())\n            .networkSecurityGroupId(exampleNetworkSecurityGroup.id())\n            .build());\n\n        var exampleVirtualWan = new VirtualWan(\"exampleVirtualWan\", VirtualWanArgs.builder()\n            .name(\"example-vwan\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .build());\n\n        var exampleVirtualHub = new VirtualHub(\"exampleVirtualHub\", VirtualHubArgs.builder()\n            .name(\"example-vhub\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .virtualWanId(exampleVirtualWan.id())\n            .addressPrefix(\"10.0.2.0/24\")\n            .build());\n\n        var exampleVirtualHubConnection = new VirtualHubConnection(\"exampleVirtualHubConnection\", VirtualHubConnectionArgs.builder()\n            .name(\"example-vhubconn\")\n            .virtualHubId(exampleVirtualHub.id())\n            .remoteVirtualNetworkId(exampleVirtualNetwork.id())\n            .build());\n\n        var exampleVirtualHubRouteTable = new VirtualHubRouteTable(\"exampleVirtualHubRouteTable\", VirtualHubRouteTableArgs.builder()\n            .name(\"example-vhubroutetable\")\n            .virtualHubId(exampleVirtualHub.id())\n            .labels(\"label1\")\n            .routes(VirtualHubRouteTableRouteArgs.builder()\n                .name(\"example-route\")\n                .destinationsType(\"CIDR\")\n                .destinations(\"10.0.0.0/16\")\n                .nextHopType(\"ResourceId\")\n                .nextHop(exampleVirtualHubConnection.id())\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleVirtualNetwork:\n    type: azure:network:VirtualNetwork\n    name: example\n    properties:\n      name: example-vnet\n      addressSpaces:\n        - 10.5.0.0/16\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n  exampleNetworkSecurityGroup:\n    type: azure:network:NetworkSecurityGroup\n    name: example\n    properties:\n      name: example-nsg\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n  exampleSubnet:\n    type: azure:network:Subnet\n    name: example\n    properties:\n      name: examplesubnet\n      resourceGroupName: ${example.name}\n      virtualNetworkName: ${exampleVirtualNetwork.name}\n      addressPrefixes:\n        - 10.5.1.0/24\n  exampleSubnetNetworkSecurityGroupAssociation:\n    type: azure:network:SubnetNetworkSecurityGroupAssociation\n    name: example\n    properties:\n      subnetId: ${exampleSubnet.id}\n      networkSecurityGroupId: ${exampleNetworkSecurityGroup.id}\n  exampleVirtualWan:\n    type: azure:network:VirtualWan\n    name: example\n    properties:\n      name: example-vwan\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n  exampleVirtualHub:\n    type: azure:network:VirtualHub\n    name: example\n    properties:\n      name: example-vhub\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      virtualWanId: ${exampleVirtualWan.id}\n      addressPrefix: 10.0.2.0/24\n  exampleVirtualHubConnection:\n    type: azure:network:VirtualHubConnection\n    name: example\n    properties:\n      name: example-vhubconn\n      virtualHubId: ${exampleVirtualHub.id}\n      remoteVirtualNetworkId: ${exampleVirtualNetwork.id}\n  exampleVirtualHubRouteTable:\n    type: azure:network:VirtualHubRouteTable\n    name: example\n    properties:\n      name: example-vhubroutetable\n      virtualHubId: ${exampleVirtualHub.id}\n      labels:\n        - label1\n      routes:\n        - name: example-route\n          destinationsType: CIDR\n          destinations:\n            - 10.0.0.0/16\n          nextHopType: ResourceId\n          nextHop: ${exampleVirtualHubConnection.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2025-01-01\n\n## Import\n\nVirtual Hub Route Tables can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:network/virtualHubRouteTable:VirtualHubRouteTable example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/routeTable1\n```\n\n","properties":{"labels":{"type":"array","items":{"type":"string"},"description":"List of labels associated with this route table.\n"},"name":{"type":"string","description":"The name which should be used for Virtual Hub Route Table. Changing this forces a new resource to be created.\n"},"routes":{"type":"array","items":{"$ref":"#/types/azure:network/VirtualHubRouteTableRoute:VirtualHubRouteTableRoute"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`route`\" pulumi-lang-dotnet=\"`Route`\" pulumi-lang-go=\"`route`\" pulumi-lang-python=\"`route`\" pulumi-lang-yaml=\"`route`\" pulumi-lang-java=\"`route`\"\u003e`route`\u003c/span\u003e blocks as defined below.\n"},"virtualHubId":{"type":"string","description":"The ID of the Virtual Hub within which this route table should be created. Changing this forces a new resource to be created.\n"}},"required":["name","routes","virtualHubId"],"inputProperties":{"labels":{"type":"array","items":{"type":"string"},"description":"List of labels associated with this route table.\n"},"name":{"type":"string","description":"The name which should be used for Virtual Hub Route Table. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"routes":{"type":"array","items":{"$ref":"#/types/azure:network/VirtualHubRouteTableRoute:VirtualHubRouteTableRoute"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`route`\" pulumi-lang-dotnet=\"`Route`\" pulumi-lang-go=\"`route`\" pulumi-lang-python=\"`route`\" pulumi-lang-yaml=\"`route`\" pulumi-lang-java=\"`route`\"\u003e`route`\u003c/span\u003e blocks as defined below.\n"},"virtualHubId":{"type":"string","description":"The ID of the Virtual Hub within which this route table should be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["virtualHubId"],"stateInputs":{"description":"Input properties used for looking up and filtering VirtualHubRouteTable resources.\n","properties":{"labels":{"type":"array","items":{"type":"string"},"description":"List of labels associated with this route table.\n"},"name":{"type":"string","description":"The name which should be used for Virtual Hub Route Table. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"routes":{"type":"array","items":{"$ref":"#/types/azure:network/VirtualHubRouteTableRoute:VirtualHubRouteTableRoute"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`route`\" pulumi-lang-dotnet=\"`Route`\" pulumi-lang-go=\"`route`\" pulumi-lang-python=\"`route`\" pulumi-lang-yaml=\"`route`\" pulumi-lang-java=\"`route`\"\u003e`route`\u003c/span\u003e blocks as defined below.\n"},"virtualHubId":{"type":"string","description":"The ID of the Virtual Hub within which this route table should be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:network/virtualHubRouteTableRoute:VirtualHubRouteTableRoute":{"description":"Manages a Route in a Virtual Hub Route Table.\n\n\u003e **Note:** Route table routes can managed with this resource, or in-line with the\u003cspan pulumi-lang-nodejs=\" virtualHubRouteTable \" pulumi-lang-dotnet=\" VirtualHubRouteTable \" pulumi-lang-go=\" virtualHubRouteTable \" pulumi-lang-python=\" virtual_hub_route_table \" pulumi-lang-yaml=\" virtualHubRouteTable \" pulumi-lang-java=\" virtualHubRouteTable \"\u003e virtual_hub_route_table \u003c/span\u003eresource. Using both is not supported.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"example\", {\n    name: \"example-vnet\",\n    addressSpaces: [\"10.5.0.0/16\"],\n    location: example.location,\n    resourceGroupName: example.name,\n});\nconst exampleNetworkSecurityGroup = new azure.network.NetworkSecurityGroup(\"example\", {\n    name: \"example-nsg\",\n    location: example.location,\n    resourceGroupName: example.name,\n});\nconst exampleSubnet = new azure.network.Subnet(\"example\", {\n    name: \"examplesubnet\",\n    resourceGroupName: example.name,\n    virtualNetworkName: exampleVirtualNetwork.name,\n    addressPrefixes: [\"10.5.1.0/24\"],\n});\nconst exampleSubnetNetworkSecurityGroupAssociation = new azure.network.SubnetNetworkSecurityGroupAssociation(\"example\", {\n    subnetId: exampleSubnet.id,\n    networkSecurityGroupId: exampleNetworkSecurityGroup.id,\n});\nconst exampleVirtualWan = new azure.network.VirtualWan(\"example\", {\n    name: \"example-vwan\",\n    resourceGroupName: example.name,\n    location: example.location,\n});\nconst exampleVirtualHub = new azure.network.VirtualHub(\"example\", {\n    name: \"example-vhub\",\n    resourceGroupName: example.name,\n    location: example.location,\n    virtualWanId: exampleVirtualWan.id,\n    addressPrefix: \"10.0.2.0/24\",\n});\nconst exampleVirtualHubRouteTable = new azure.network.VirtualHubRouteTable(\"example\", {\n    name: \"example-vhubroutetable\",\n    virtualHubId: exampleVirtualHub.id,\n    labels: [\"label1\"],\n});\nconst exampleVirtualHubConnection = new azure.network.VirtualHubConnection(\"example\", {\n    name: \"example-vhubconn\",\n    virtualHubId: exampleVirtualHub.id,\n    remoteVirtualNetworkId: exampleVirtualNetwork.id,\n    routing: {\n        associatedRouteTableId: exampleVirtualHubRouteTable.id,\n    },\n});\nconst exampleVirtualHubRouteTableRoute = new azure.network.VirtualHubRouteTableRoute(\"example\", {\n    routeTableId: exampleVirtualHubRouteTable.id,\n    name: \"example-route\",\n    destinationsType: \"CIDR\",\n    destinations: [\"10.0.0.0/16\"],\n    nextHopType: \"ResourceId\",\n    nextHop: exampleVirtualHubConnection.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_virtual_network = azure.network.VirtualNetwork(\"example\",\n    name=\"example-vnet\",\n    address_spaces=[\"10.5.0.0/16\"],\n    location=example.location,\n    resource_group_name=example.name)\nexample_network_security_group = azure.network.NetworkSecurityGroup(\"example\",\n    name=\"example-nsg\",\n    location=example.location,\n    resource_group_name=example.name)\nexample_subnet = azure.network.Subnet(\"example\",\n    name=\"examplesubnet\",\n    resource_group_name=example.name,\n    virtual_network_name=example_virtual_network.name,\n    address_prefixes=[\"10.5.1.0/24\"])\nexample_subnet_network_security_group_association = azure.network.SubnetNetworkSecurityGroupAssociation(\"example\",\n    subnet_id=example_subnet.id,\n    network_security_group_id=example_network_security_group.id)\nexample_virtual_wan = azure.network.VirtualWan(\"example\",\n    name=\"example-vwan\",\n    resource_group_name=example.name,\n    location=example.location)\nexample_virtual_hub = azure.network.VirtualHub(\"example\",\n    name=\"example-vhub\",\n    resource_group_name=example.name,\n    location=example.location,\n    virtual_wan_id=example_virtual_wan.id,\n    address_prefix=\"10.0.2.0/24\")\nexample_virtual_hub_route_table = azure.network.VirtualHubRouteTable(\"example\",\n    name=\"example-vhubroutetable\",\n    virtual_hub_id=example_virtual_hub.id,\n    labels=[\"label1\"])\nexample_virtual_hub_connection = azure.network.VirtualHubConnection(\"example\",\n    name=\"example-vhubconn\",\n    virtual_hub_id=example_virtual_hub.id,\n    remote_virtual_network_id=example_virtual_network.id,\n    routing={\n        \"associated_route_table_id\": example_virtual_hub_route_table.id,\n    })\nexample_virtual_hub_route_table_route = azure.network.VirtualHubRouteTableRoute(\"example\",\n    route_table_id=example_virtual_hub_route_table.id,\n    name=\"example-route\",\n    destinations_type=\"CIDR\",\n    destinations=[\"10.0.0.0/16\"],\n    next_hop_type=\"ResourceId\",\n    next_hop=example_virtual_hub_connection.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleVirtualNetwork = new Azure.Network.VirtualNetwork(\"example\", new()\n    {\n        Name = \"example-vnet\",\n        AddressSpaces = new[]\n        {\n            \"10.5.0.0/16\",\n        },\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n    });\n\n    var exampleNetworkSecurityGroup = new Azure.Network.NetworkSecurityGroup(\"example\", new()\n    {\n        Name = \"example-nsg\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n    });\n\n    var exampleSubnet = new Azure.Network.Subnet(\"example\", new()\n    {\n        Name = \"examplesubnet\",\n        ResourceGroupName = example.Name,\n        VirtualNetworkName = exampleVirtualNetwork.Name,\n        AddressPrefixes = new[]\n        {\n            \"10.5.1.0/24\",\n        },\n    });\n\n    var exampleSubnetNetworkSecurityGroupAssociation = new Azure.Network.SubnetNetworkSecurityGroupAssociation(\"example\", new()\n    {\n        SubnetId = exampleSubnet.Id,\n        NetworkSecurityGroupId = exampleNetworkSecurityGroup.Id,\n    });\n\n    var exampleVirtualWan = new Azure.Network.VirtualWan(\"example\", new()\n    {\n        Name = \"example-vwan\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n    });\n\n    var exampleVirtualHub = new Azure.Network.VirtualHub(\"example\", new()\n    {\n        Name = \"example-vhub\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        VirtualWanId = exampleVirtualWan.Id,\n        AddressPrefix = \"10.0.2.0/24\",\n    });\n\n    var exampleVirtualHubRouteTable = new Azure.Network.VirtualHubRouteTable(\"example\", new()\n    {\n        Name = \"example-vhubroutetable\",\n        VirtualHubId = exampleVirtualHub.Id,\n        Labels = new[]\n        {\n            \"label1\",\n        },\n    });\n\n    var exampleVirtualHubConnection = new Azure.Network.VirtualHubConnection(\"example\", new()\n    {\n        Name = \"example-vhubconn\",\n        VirtualHubId = exampleVirtualHub.Id,\n        RemoteVirtualNetworkId = exampleVirtualNetwork.Id,\n        Routing = new Azure.Network.Inputs.VirtualHubConnectionRoutingArgs\n        {\n            AssociatedRouteTableId = exampleVirtualHubRouteTable.Id,\n        },\n    });\n\n    var exampleVirtualHubRouteTableRoute = new Azure.Network.VirtualHubRouteTableRoute(\"example\", new()\n    {\n        RouteTableId = exampleVirtualHubRouteTable.Id,\n        Name = \"example-route\",\n        DestinationsType = \"CIDR\",\n        Destinations = new[]\n        {\n            \"10.0.0.0/16\",\n        },\n        NextHopType = \"ResourceId\",\n        NextHop = exampleVirtualHubConnection.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, \"example\", \u0026network.VirtualNetworkArgs{\n\t\t\tName: pulumi.String(\"example-vnet\"),\n\t\t\tAddressSpaces: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.5.0.0/16\"),\n\t\t\t},\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNetworkSecurityGroup, err := network.NewNetworkSecurityGroup(ctx, \"example\", \u0026network.NetworkSecurityGroupArgs{\n\t\t\tName:              pulumi.String(\"example-nsg\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSubnet, err := network.NewSubnet(ctx, \"example\", \u0026network.SubnetArgs{\n\t\t\tName:               pulumi.String(\"examplesubnet\"),\n\t\t\tResourceGroupName:  example.Name,\n\t\t\tVirtualNetworkName: exampleVirtualNetwork.Name,\n\t\t\tAddressPrefixes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.5.1.0/24\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = network.NewSubnetNetworkSecurityGroupAssociation(ctx, \"example\", \u0026network.SubnetNetworkSecurityGroupAssociationArgs{\n\t\t\tSubnetId:               exampleSubnet.ID(),\n\t\t\tNetworkSecurityGroupId: exampleNetworkSecurityGroup.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualWan, err := network.NewVirtualWan(ctx, \"example\", \u0026network.VirtualWanArgs{\n\t\t\tName:              pulumi.String(\"example-vwan\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualHub, err := network.NewVirtualHub(ctx, \"example\", \u0026network.VirtualHubArgs{\n\t\t\tName:              pulumi.String(\"example-vhub\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tVirtualWanId:      exampleVirtualWan.ID(),\n\t\t\tAddressPrefix:     pulumi.String(\"10.0.2.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualHubRouteTable, err := network.NewVirtualHubRouteTable(ctx, \"example\", \u0026network.VirtualHubRouteTableArgs{\n\t\t\tName:         pulumi.String(\"example-vhubroutetable\"),\n\t\t\tVirtualHubId: exampleVirtualHub.ID(),\n\t\t\tLabels: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"label1\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualHubConnection, err := network.NewVirtualHubConnection(ctx, \"example\", \u0026network.VirtualHubConnectionArgs{\n\t\t\tName:                   pulumi.String(\"example-vhubconn\"),\n\t\t\tVirtualHubId:           exampleVirtualHub.ID(),\n\t\t\tRemoteVirtualNetworkId: exampleVirtualNetwork.ID(),\n\t\t\tRouting: \u0026network.VirtualHubConnectionRoutingArgs{\n\t\t\t\tAssociatedRouteTableId: exampleVirtualHubRouteTable.ID(),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = network.NewVirtualHubRouteTableRoute(ctx, \"example\", \u0026network.VirtualHubRouteTableRouteArgs{\n\t\t\tRouteTableId:     exampleVirtualHubRouteTable.ID(),\n\t\t\tName:             pulumi.String(\"example-route\"),\n\t\t\tDestinationsType: pulumi.String(\"CIDR\"),\n\t\t\tDestinations: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.0.0/16\"),\n\t\t\t},\n\t\t\tNextHopType: pulumi.String(\"ResourceId\"),\n\t\t\tNextHop:     exampleVirtualHubConnection.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.VirtualNetwork;\nimport com.pulumi.azure.network.VirtualNetworkArgs;\nimport com.pulumi.azure.network.NetworkSecurityGroup;\nimport com.pulumi.azure.network.NetworkSecurityGroupArgs;\nimport com.pulumi.azure.network.Subnet;\nimport com.pulumi.azure.network.SubnetArgs;\nimport com.pulumi.azure.network.SubnetNetworkSecurityGroupAssociation;\nimport com.pulumi.azure.network.SubnetNetworkSecurityGroupAssociationArgs;\nimport com.pulumi.azure.network.VirtualWan;\nimport com.pulumi.azure.network.VirtualWanArgs;\nimport com.pulumi.azure.network.VirtualHub;\nimport com.pulumi.azure.network.VirtualHubArgs;\nimport com.pulumi.azure.network.VirtualHubRouteTable;\nimport com.pulumi.azure.network.VirtualHubRouteTableArgs;\nimport com.pulumi.azure.network.VirtualHubConnection;\nimport com.pulumi.azure.network.VirtualHubConnectionArgs;\nimport com.pulumi.azure.network.inputs.VirtualHubConnectionRoutingArgs;\nimport com.pulumi.azure.network.VirtualHubRouteTableRoute;\nimport com.pulumi.azure.network.VirtualHubRouteTableRouteArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleVirtualNetwork = new VirtualNetwork(\"exampleVirtualNetwork\", VirtualNetworkArgs.builder()\n            .name(\"example-vnet\")\n            .addressSpaces(\"10.5.0.0/16\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .build());\n\n        var exampleNetworkSecurityGroup = new NetworkSecurityGroup(\"exampleNetworkSecurityGroup\", NetworkSecurityGroupArgs.builder()\n            .name(\"example-nsg\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .build());\n\n        var exampleSubnet = new Subnet(\"exampleSubnet\", SubnetArgs.builder()\n            .name(\"examplesubnet\")\n            .resourceGroupName(example.name())\n            .virtualNetworkName(exampleVirtualNetwork.name())\n            .addressPrefixes(\"10.5.1.0/24\")\n            .build());\n\n        var exampleSubnetNetworkSecurityGroupAssociation = new SubnetNetworkSecurityGroupAssociation(\"exampleSubnetNetworkSecurityGroupAssociation\", SubnetNetworkSecurityGroupAssociationArgs.builder()\n            .subnetId(exampleSubnet.id())\n            .networkSecurityGroupId(exampleNetworkSecurityGroup.id())\n            .build());\n\n        var exampleVirtualWan = new VirtualWan(\"exampleVirtualWan\", VirtualWanArgs.builder()\n            .name(\"example-vwan\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .build());\n\n        var exampleVirtualHub = new VirtualHub(\"exampleVirtualHub\", VirtualHubArgs.builder()\n            .name(\"example-vhub\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .virtualWanId(exampleVirtualWan.id())\n            .addressPrefix(\"10.0.2.0/24\")\n            .build());\n\n        var exampleVirtualHubRouteTable = new VirtualHubRouteTable(\"exampleVirtualHubRouteTable\", VirtualHubRouteTableArgs.builder()\n            .name(\"example-vhubroutetable\")\n            .virtualHubId(exampleVirtualHub.id())\n            .labels(\"label1\")\n            .build());\n\n        var exampleVirtualHubConnection = new VirtualHubConnection(\"exampleVirtualHubConnection\", VirtualHubConnectionArgs.builder()\n            .name(\"example-vhubconn\")\n            .virtualHubId(exampleVirtualHub.id())\n            .remoteVirtualNetworkId(exampleVirtualNetwork.id())\n            .routing(VirtualHubConnectionRoutingArgs.builder()\n                .associatedRouteTableId(exampleVirtualHubRouteTable.id())\n                .build())\n            .build());\n\n        var exampleVirtualHubRouteTableRoute = new VirtualHubRouteTableRoute(\"exampleVirtualHubRouteTableRoute\", VirtualHubRouteTableRouteArgs.builder()\n            .routeTableId(exampleVirtualHubRouteTable.id())\n            .name(\"example-route\")\n            .destinationsType(\"CIDR\")\n            .destinations(\"10.0.0.0/16\")\n            .nextHopType(\"ResourceId\")\n            .nextHop(exampleVirtualHubConnection.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleVirtualNetwork:\n    type: azure:network:VirtualNetwork\n    name: example\n    properties:\n      name: example-vnet\n      addressSpaces:\n        - 10.5.0.0/16\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n  exampleNetworkSecurityGroup:\n    type: azure:network:NetworkSecurityGroup\n    name: example\n    properties:\n      name: example-nsg\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n  exampleSubnet:\n    type: azure:network:Subnet\n    name: example\n    properties:\n      name: examplesubnet\n      resourceGroupName: ${example.name}\n      virtualNetworkName: ${exampleVirtualNetwork.name}\n      addressPrefixes:\n        - 10.5.1.0/24\n  exampleSubnetNetworkSecurityGroupAssociation:\n    type: azure:network:SubnetNetworkSecurityGroupAssociation\n    name: example\n    properties:\n      subnetId: ${exampleSubnet.id}\n      networkSecurityGroupId: ${exampleNetworkSecurityGroup.id}\n  exampleVirtualWan:\n    type: azure:network:VirtualWan\n    name: example\n    properties:\n      name: example-vwan\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n  exampleVirtualHub:\n    type: azure:network:VirtualHub\n    name: example\n    properties:\n      name: example-vhub\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      virtualWanId: ${exampleVirtualWan.id}\n      addressPrefix: 10.0.2.0/24\n  exampleVirtualHubConnection:\n    type: azure:network:VirtualHubConnection\n    name: example\n    properties:\n      name: example-vhubconn\n      virtualHubId: ${exampleVirtualHub.id}\n      remoteVirtualNetworkId: ${exampleVirtualNetwork.id}\n      routing:\n        associatedRouteTableId: ${exampleVirtualHubRouteTable.id}\n  exampleVirtualHubRouteTable:\n    type: azure:network:VirtualHubRouteTable\n    name: example\n    properties:\n      name: example-vhubroutetable\n      virtualHubId: ${exampleVirtualHub.id}\n      labels:\n        - label1\n  exampleVirtualHubRouteTableRoute:\n    type: azure:network:VirtualHubRouteTableRoute\n    name: example\n    properties:\n      routeTableId: ${exampleVirtualHubRouteTable.id}\n      name: example-route\n      destinationsType: CIDR\n      destinations:\n        - 10.0.0.0/16\n      nextHopType: ResourceId\n      nextHop: ${exampleVirtualHubConnection.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2025-01-01\n\n## Import\n\nVirtual Hub Route Table Routes can be imported using `\u003cRoute Table Resource Id\u003e/routes/\u003cRoute Name\u003e`, e.g.\n\n```sh\n$ pulumi import azure:network/virtualHubRouteTableRoute:VirtualHubRouteTableRoute example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/routeTable1/routes/routeName\n```\n\n","properties":{"destinations":{"type":"array","items":{"type":"string"},"description":"A list of destination addresses for this route.\n"},"destinationsType":{"type":"string","description":"The type of destinations. Possible values are `CIDR`, `ResourceId` and `Service`.\n"},"name":{"type":"string","description":"The name which should be used for this route. Changing this forces a new resource to be created.\n"},"nextHop":{"type":"string","description":"The next hop's resource ID.\n"},"nextHopType":{"type":"string","description":"The type of next hop. Currently the only possible value is `ResourceId`. Defaults to `ResourceId`.\n"},"routeTableId":{"type":"string","description":"The ID of the Virtual Hub Route Table to link this route to. Changing this forces a new resource to be created.\n"}},"required":["destinations","destinationsType","name","nextHop","routeTableId"],"inputProperties":{"destinations":{"type":"array","items":{"type":"string"},"description":"A list of destination addresses for this route.\n"},"destinationsType":{"type":"string","description":"The type of destinations. Possible values are `CIDR`, `ResourceId` and `Service`.\n"},"name":{"type":"string","description":"The name which should be used for this route. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"nextHop":{"type":"string","description":"The next hop's resource ID.\n"},"nextHopType":{"type":"string","description":"The type of next hop. Currently the only possible value is `ResourceId`. Defaults to `ResourceId`.\n"},"routeTableId":{"type":"string","description":"The ID of the Virtual Hub Route Table to link this route to. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["destinations","destinationsType","nextHop","routeTableId"],"stateInputs":{"description":"Input properties used for looking up and filtering VirtualHubRouteTableRoute resources.\n","properties":{"destinations":{"type":"array","items":{"type":"string"},"description":"A list of destination addresses for this route.\n"},"destinationsType":{"type":"string","description":"The type of destinations. Possible values are `CIDR`, `ResourceId` and `Service`.\n"},"name":{"type":"string","description":"The name which should be used for this route. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"nextHop":{"type":"string","description":"The next hop's resource ID.\n"},"nextHopType":{"type":"string","description":"The type of next hop. Currently the only possible value is `ResourceId`. Defaults to `ResourceId`.\n"},"routeTableId":{"type":"string","description":"The ID of the Virtual Hub Route Table to link this route to. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:network/virtualNetwork:VirtualNetwork":{"description":"Manages a virtual network including any configured subnets. Each subnet can\noptionally be configured with a security group to be associated with the subnet.\n\n\u003e **NOTE on Virtual Networks and Subnet's:** This provider currently\nprovides both a standalone Subnet resource, and allows for Subnets to be defined in-line within the Virtual Network resource.\nAt this time you cannot use a Virtual Network with in-line Subnets in conjunction with any Subnet resources. Doing so will cause a conflict of Subnet configurations and will overwrite Subnet's.\n\u003e **NOTE on Virtual Networks and DNS Servers:** This provider currently provides both a standalone virtual network DNS Servers resource, and allows for DNS servers to be defined in-line within the Virtual Network resource.\nAt this time you cannot use a Virtual Network with in-line DNS servers in conjunction with any Virtual Network DNS Servers resources. Doing so will cause a conflict of Virtual Network DNS Servers configurations and will overwrite virtual networks DNS servers.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleNetworkSecurityGroup = new azure.network.NetworkSecurityGroup(\"example\", {\n    name: \"example-security-group\",\n    location: example.location,\n    resourceGroupName: example.name,\n});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"example\", {\n    name: \"example-network\",\n    location: example.location,\n    resourceGroupName: example.name,\n    addressSpaces: [\"10.0.0.0/16\"],\n    dnsServers: [\n        \"10.0.0.4\",\n        \"10.0.0.5\",\n    ],\n    subnets: [\n        {\n            name: \"subnet1\",\n            addressPrefixes: [\"10.0.1.0/24\"],\n        },\n        {\n            name: \"subnet2\",\n            addressPrefixes: [\"10.0.2.0/24\"],\n            securityGroup: exampleNetworkSecurityGroup.id,\n        },\n    ],\n    tags: {\n        environment: \"Production\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_network_security_group = azure.network.NetworkSecurityGroup(\"example\",\n    name=\"example-security-group\",\n    location=example.location,\n    resource_group_name=example.name)\nexample_virtual_network = azure.network.VirtualNetwork(\"example\",\n    name=\"example-network\",\n    location=example.location,\n    resource_group_name=example.name,\n    address_spaces=[\"10.0.0.0/16\"],\n    dns_servers=[\n        \"10.0.0.4\",\n        \"10.0.0.5\",\n    ],\n    subnets=[\n        {\n            \"name\": \"subnet1\",\n            \"address_prefixes\": [\"10.0.1.0/24\"],\n        },\n        {\n            \"name\": \"subnet2\",\n            \"address_prefixes\": [\"10.0.2.0/24\"],\n            \"security_group\": example_network_security_group.id,\n        },\n    ],\n    tags={\n        \"environment\": \"Production\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleNetworkSecurityGroup = new Azure.Network.NetworkSecurityGroup(\"example\", new()\n    {\n        Name = \"example-security-group\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n    });\n\n    var exampleVirtualNetwork = new Azure.Network.VirtualNetwork(\"example\", new()\n    {\n        Name = \"example-network\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        AddressSpaces = new[]\n        {\n            \"10.0.0.0/16\",\n        },\n        DnsServers = new[]\n        {\n            \"10.0.0.4\",\n            \"10.0.0.5\",\n        },\n        Subnets = new[]\n        {\n            new Azure.Network.Inputs.VirtualNetworkSubnetArgs\n            {\n                Name = \"subnet1\",\n                AddressPrefixes = new[]\n                {\n                    \"10.0.1.0/24\",\n                },\n            },\n            new Azure.Network.Inputs.VirtualNetworkSubnetArgs\n            {\n                Name = \"subnet2\",\n                AddressPrefixes = new[]\n                {\n                    \"10.0.2.0/24\",\n                },\n                SecurityGroup = exampleNetworkSecurityGroup.Id,\n            },\n        },\n        Tags = \n        {\n            { \"environment\", \"Production\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNetworkSecurityGroup, err := network.NewNetworkSecurityGroup(ctx, \"example\", \u0026network.NetworkSecurityGroupArgs{\n\t\t\tName:              pulumi.String(\"example-security-group\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = network.NewVirtualNetwork(ctx, \"example\", \u0026network.VirtualNetworkArgs{\n\t\t\tName:              pulumi.String(\"example-network\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tAddressSpaces: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.0.0/16\"),\n\t\t\t},\n\t\t\tDnsServers: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.0.4\"),\n\t\t\t\tpulumi.String(\"10.0.0.5\"),\n\t\t\t},\n\t\t\tSubnets: network.VirtualNetworkSubnetArray{\n\t\t\t\t\u0026network.VirtualNetworkSubnetArgs{\n\t\t\t\t\tName: pulumi.String(\"subnet1\"),\n\t\t\t\t\tAddressPrefixes: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"10.0.1.0/24\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026network.VirtualNetworkSubnetArgs{\n\t\t\t\t\tName: pulumi.String(\"subnet2\"),\n\t\t\t\t\tAddressPrefixes: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"10.0.2.0/24\"),\n\t\t\t\t\t},\n\t\t\t\t\tSecurityGroup: exampleNetworkSecurityGroup.ID(),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"environment\": pulumi.String(\"Production\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.NetworkSecurityGroup;\nimport com.pulumi.azure.network.NetworkSecurityGroupArgs;\nimport com.pulumi.azure.network.VirtualNetwork;\nimport com.pulumi.azure.network.VirtualNetworkArgs;\nimport com.pulumi.azure.network.inputs.VirtualNetworkSubnetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleNetworkSecurityGroup = new NetworkSecurityGroup(\"exampleNetworkSecurityGroup\", NetworkSecurityGroupArgs.builder()\n            .name(\"example-security-group\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .build());\n\n        var exampleVirtualNetwork = new VirtualNetwork(\"exampleVirtualNetwork\", VirtualNetworkArgs.builder()\n            .name(\"example-network\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .addressSpaces(\"10.0.0.0/16\")\n            .dnsServers(            \n                \"10.0.0.4\",\n                \"10.0.0.5\")\n            .subnets(            \n                VirtualNetworkSubnetArgs.builder()\n                    .name(\"subnet1\")\n                    .addressPrefixes(\"10.0.1.0/24\")\n                    .build(),\n                VirtualNetworkSubnetArgs.builder()\n                    .name(\"subnet2\")\n                    .addressPrefixes(\"10.0.2.0/24\")\n                    .securityGroup(exampleNetworkSecurityGroup.id())\n                    .build())\n            .tags(Map.of(\"environment\", \"Production\"))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleNetworkSecurityGroup:\n    type: azure:network:NetworkSecurityGroup\n    name: example\n    properties:\n      name: example-security-group\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n  exampleVirtualNetwork:\n    type: azure:network:VirtualNetwork\n    name: example\n    properties:\n      name: example-network\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      addressSpaces:\n        - 10.0.0.0/16\n      dnsServers:\n        - 10.0.0.4\n        - 10.0.0.5\n      subnets:\n        - name: subnet1\n          addressPrefixes:\n            - 10.0.1.0/24\n        - name: subnet2\n          addressPrefixes:\n            - 10.0.2.0/24\n          securityGroup: ${exampleNetworkSecurityGroup.id}\n      tags:\n        environment: Production\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2025-01-01\n\n## Import\n\nVirtual Networks can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:network/virtualNetwork:VirtualNetwork exampleNetwork /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Network/virtualNetworks/myvnet1\n```\n\n","properties":{"addressSpaces":{"type":"array","items":{"type":"string"},"description":"The address space that is used the virtual network. You can supply more than one address space.\n\n\u003e **Note:** Exactly one of \u003cspan pulumi-lang-nodejs=\"`addressSpace`\" pulumi-lang-dotnet=\"`AddressSpace`\" pulumi-lang-go=\"`addressSpace`\" pulumi-lang-python=\"`address_space`\" pulumi-lang-yaml=\"`addressSpace`\" pulumi-lang-java=\"`addressSpace`\"\u003e`address_space`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`ipAddressPool`\" pulumi-lang-dotnet=\"`IpAddressPool`\" pulumi-lang-go=\"`ipAddressPool`\" pulumi-lang-python=\"`ip_address_pool`\" pulumi-lang-yaml=\"`ipAddressPool`\" pulumi-lang-java=\"`ipAddressPool`\"\u003e`ip_address_pool`\u003c/span\u003e must be specified.\n"},"bgpCommunity":{"type":"string","description":"The BGP community attribute in format `\u003cas-number\u003e:\u003ccommunity-value\u003e`.\n\n\u003e **NOTE** The `as-number` segment is the Microsoft ASN, which is always \u003cspan pulumi-lang-nodejs=\"`12076`\" pulumi-lang-dotnet=\"`12076`\" pulumi-lang-go=\"`12076`\" pulumi-lang-python=\"`12076`\" pulumi-lang-yaml=\"`12076`\" pulumi-lang-java=\"`12076`\"\u003e`12076`\u003c/span\u003e for now.\n"},"ddosProtectionPlan":{"$ref":"#/types/azure:network/VirtualNetworkDdosProtectionPlan:VirtualNetworkDdosProtectionPlan","description":"A \u003cspan pulumi-lang-nodejs=\"`ddosProtectionPlan`\" pulumi-lang-dotnet=\"`DdosProtectionPlan`\" pulumi-lang-go=\"`ddosProtectionPlan`\" pulumi-lang-python=\"`ddos_protection_plan`\" pulumi-lang-yaml=\"`ddosProtectionPlan`\" pulumi-lang-java=\"`ddosProtectionPlan`\"\u003e`ddos_protection_plan`\u003c/span\u003e block as documented below.\n"},"dnsServers":{"type":"array","items":{"type":"string"},"description":"List of IP addresses of DNS servers\n\n\u003e **NOTE** Since \u003cspan pulumi-lang-nodejs=\"`dnsServers`\" pulumi-lang-dotnet=\"`DnsServers`\" pulumi-lang-go=\"`dnsServers`\" pulumi-lang-python=\"`dns_servers`\" pulumi-lang-yaml=\"`dnsServers`\" pulumi-lang-java=\"`dnsServers`\"\u003e`dns_servers`\u003c/span\u003e can be configured both inline and via the separate \u003cspan pulumi-lang-nodejs=\"`azure.network.VirtualNetworkDnsServers`\" pulumi-lang-dotnet=\"`azure.network.VirtualNetworkDnsServers`\" pulumi-lang-go=\"`network.VirtualNetworkDnsServers`\" pulumi-lang-python=\"`network.VirtualNetworkDnsServers`\" pulumi-lang-yaml=\"`azure.network.VirtualNetworkDnsServers`\" pulumi-lang-java=\"`azure.network.VirtualNetworkDnsServers`\"\u003e`azure.network.VirtualNetworkDnsServers`\u003c/span\u003e resource, we have to explicitly set it to empty slice (`[]`) to remove it.\n"},"edgeZone":{"type":"string","description":"Specifies the Edge Zone within the Azure Region where this Virtual Network should exist. Changing this forces a new Virtual Network to be created.\n"},"encryption":{"$ref":"#/types/azure:network/VirtualNetworkEncryption:VirtualNetworkEncryption","description":"A \u003cspan pulumi-lang-nodejs=\"`encryption`\" pulumi-lang-dotnet=\"`Encryption`\" pulumi-lang-go=\"`encryption`\" pulumi-lang-python=\"`encryption`\" pulumi-lang-yaml=\"`encryption`\" pulumi-lang-java=\"`encryption`\"\u003e`encryption`\u003c/span\u003e block as defined below.\n"},"flowTimeoutInMinutes":{"type":"integer","description":"The flow timeout in minutes for the Virtual Network, which is used to enable connection tracking for intra-VM flows. Possible values are between \u003cspan pulumi-lang-nodejs=\"`4`\" pulumi-lang-dotnet=\"`4`\" pulumi-lang-go=\"`4`\" pulumi-lang-python=\"`4`\" pulumi-lang-yaml=\"`4`\" pulumi-lang-java=\"`4`\"\u003e`4`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`30`\" pulumi-lang-dotnet=\"`30`\" pulumi-lang-go=\"`30`\" pulumi-lang-python=\"`30`\" pulumi-lang-yaml=\"`30`\" pulumi-lang-java=\"`30`\"\u003e`30`\u003c/span\u003e minutes.\n"},"guid":{"type":"string","description":"The GUID of the Virtual Network.\n"},"ipAddressPools":{"type":"array","items":{"$ref":"#/types/azure:network/VirtualNetworkIpAddressPool:VirtualNetworkIpAddressPool"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`ipAddressPool`\" pulumi-lang-dotnet=\"`IpAddressPool`\" pulumi-lang-go=\"`ipAddressPool`\" pulumi-lang-python=\"`ip_address_pool`\" pulumi-lang-yaml=\"`ipAddressPool`\" pulumi-lang-java=\"`ipAddressPool`\"\u003e`ip_address_pool`\u003c/span\u003e blocks as defined below. Only one association of each IP type(IPv4 or IPv6) is allowed.\n\n\u003e **Note:** Exactly one of \u003cspan pulumi-lang-nodejs=\"`addressSpace`\" pulumi-lang-dotnet=\"`AddressSpace`\" pulumi-lang-go=\"`addressSpace`\" pulumi-lang-python=\"`address_space`\" pulumi-lang-yaml=\"`addressSpace`\" pulumi-lang-java=\"`addressSpace`\"\u003e`address_space`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`ipAddressPool`\" pulumi-lang-dotnet=\"`IpAddressPool`\" pulumi-lang-go=\"`ipAddressPool`\" pulumi-lang-python=\"`ip_address_pool`\" pulumi-lang-yaml=\"`ipAddressPool`\" pulumi-lang-java=\"`ipAddressPool`\"\u003e`ip_address_pool`\u003c/span\u003e must be specified.\n"},"location":{"type":"string","description":"The location/region where the virtual network is created. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"The name of the virtual network. Changing this forces a new resource to be created.\n"},"privateEndpointVnetPolicies":{"type":"string","description":"The Private Endpoint VNet Policies for the Virtual Network. Possible values are `Disabled` and `Basic`. Defaults to `Disabled`.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the virtual network. Changing this forces a new resource to be created.\n"},"subnets":{"type":"array","items":{"$ref":"#/types/azure:network/VirtualNetworkSubnet:VirtualNetworkSubnet"},"description":"Can be specified multiple times to define multiple subnets. Each \u003cspan pulumi-lang-nodejs=\"`subnet`\" pulumi-lang-dotnet=\"`Subnet`\" pulumi-lang-go=\"`subnet`\" pulumi-lang-python=\"`subnet`\" pulumi-lang-yaml=\"`subnet`\" pulumi-lang-java=\"`subnet`\"\u003e`subnet`\u003c/span\u003e block supports fields documented below.\n\n\u003e **NOTE** Since \u003cspan pulumi-lang-nodejs=\"`subnet`\" pulumi-lang-dotnet=\"`Subnet`\" pulumi-lang-go=\"`subnet`\" pulumi-lang-python=\"`subnet`\" pulumi-lang-yaml=\"`subnet`\" pulumi-lang-java=\"`subnet`\"\u003e`subnet`\u003c/span\u003e can be configured both inline and via the separate \u003cspan pulumi-lang-nodejs=\"`azure.network.Subnet`\" pulumi-lang-dotnet=\"`azure.network.Subnet`\" pulumi-lang-go=\"`network.Subnet`\" pulumi-lang-python=\"`network.Subnet`\" pulumi-lang-yaml=\"`azure.network.Subnet`\" pulumi-lang-java=\"`azure.network.Subnet`\"\u003e`azure.network.Subnet`\u003c/span\u003e resource, we have to explicitly set it to empty slice (`[]`) to remove it.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"required":["dnsServers","guid","location","name","resourceGroupName","subnets"],"inputProperties":{"addressSpaces":{"type":"array","items":{"type":"string"},"description":"The address space that is used the virtual network. You can supply more than one address space.\n\n\u003e **Note:** Exactly one of \u003cspan pulumi-lang-nodejs=\"`addressSpace`\" pulumi-lang-dotnet=\"`AddressSpace`\" pulumi-lang-go=\"`addressSpace`\" pulumi-lang-python=\"`address_space`\" pulumi-lang-yaml=\"`addressSpace`\" pulumi-lang-java=\"`addressSpace`\"\u003e`address_space`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`ipAddressPool`\" pulumi-lang-dotnet=\"`IpAddressPool`\" pulumi-lang-go=\"`ipAddressPool`\" pulumi-lang-python=\"`ip_address_pool`\" pulumi-lang-yaml=\"`ipAddressPool`\" pulumi-lang-java=\"`ipAddressPool`\"\u003e`ip_address_pool`\u003c/span\u003e must be specified.\n"},"bgpCommunity":{"type":"string","description":"The BGP community attribute in format `\u003cas-number\u003e:\u003ccommunity-value\u003e`.\n\n\u003e **NOTE** The `as-number` segment is the Microsoft ASN, which is always \u003cspan pulumi-lang-nodejs=\"`12076`\" pulumi-lang-dotnet=\"`12076`\" pulumi-lang-go=\"`12076`\" pulumi-lang-python=\"`12076`\" pulumi-lang-yaml=\"`12076`\" pulumi-lang-java=\"`12076`\"\u003e`12076`\u003c/span\u003e for now.\n"},"ddosProtectionPlan":{"$ref":"#/types/azure:network/VirtualNetworkDdosProtectionPlan:VirtualNetworkDdosProtectionPlan","description":"A \u003cspan pulumi-lang-nodejs=\"`ddosProtectionPlan`\" pulumi-lang-dotnet=\"`DdosProtectionPlan`\" pulumi-lang-go=\"`ddosProtectionPlan`\" pulumi-lang-python=\"`ddos_protection_plan`\" pulumi-lang-yaml=\"`ddosProtectionPlan`\" pulumi-lang-java=\"`ddosProtectionPlan`\"\u003e`ddos_protection_plan`\u003c/span\u003e block as documented below.\n"},"dnsServers":{"type":"array","items":{"type":"string"},"description":"List of IP addresses of DNS servers\n\n\u003e **NOTE** Since \u003cspan pulumi-lang-nodejs=\"`dnsServers`\" pulumi-lang-dotnet=\"`DnsServers`\" pulumi-lang-go=\"`dnsServers`\" pulumi-lang-python=\"`dns_servers`\" pulumi-lang-yaml=\"`dnsServers`\" pulumi-lang-java=\"`dnsServers`\"\u003e`dns_servers`\u003c/span\u003e can be configured both inline and via the separate \u003cspan pulumi-lang-nodejs=\"`azure.network.VirtualNetworkDnsServers`\" pulumi-lang-dotnet=\"`azure.network.VirtualNetworkDnsServers`\" pulumi-lang-go=\"`network.VirtualNetworkDnsServers`\" pulumi-lang-python=\"`network.VirtualNetworkDnsServers`\" pulumi-lang-yaml=\"`azure.network.VirtualNetworkDnsServers`\" pulumi-lang-java=\"`azure.network.VirtualNetworkDnsServers`\"\u003e`azure.network.VirtualNetworkDnsServers`\u003c/span\u003e resource, we have to explicitly set it to empty slice (`[]`) to remove it.\n"},"edgeZone":{"type":"string","description":"Specifies the Edge Zone within the Azure Region where this Virtual Network should exist. Changing this forces a new Virtual Network to be created.\n","willReplaceOnChanges":true},"encryption":{"$ref":"#/types/azure:network/VirtualNetworkEncryption:VirtualNetworkEncryption","description":"A \u003cspan pulumi-lang-nodejs=\"`encryption`\" pulumi-lang-dotnet=\"`Encryption`\" pulumi-lang-go=\"`encryption`\" pulumi-lang-python=\"`encryption`\" pulumi-lang-yaml=\"`encryption`\" pulumi-lang-java=\"`encryption`\"\u003e`encryption`\u003c/span\u003e block as defined below.\n"},"flowTimeoutInMinutes":{"type":"integer","description":"The flow timeout in minutes for the Virtual Network, which is used to enable connection tracking for intra-VM flows. Possible values are between \u003cspan pulumi-lang-nodejs=\"`4`\" pulumi-lang-dotnet=\"`4`\" pulumi-lang-go=\"`4`\" pulumi-lang-python=\"`4`\" pulumi-lang-yaml=\"`4`\" pulumi-lang-java=\"`4`\"\u003e`4`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`30`\" pulumi-lang-dotnet=\"`30`\" pulumi-lang-go=\"`30`\" pulumi-lang-python=\"`30`\" pulumi-lang-yaml=\"`30`\" pulumi-lang-java=\"`30`\"\u003e`30`\u003c/span\u003e minutes.\n"},"ipAddressPools":{"type":"array","items":{"$ref":"#/types/azure:network/VirtualNetworkIpAddressPool:VirtualNetworkIpAddressPool"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`ipAddressPool`\" pulumi-lang-dotnet=\"`IpAddressPool`\" pulumi-lang-go=\"`ipAddressPool`\" pulumi-lang-python=\"`ip_address_pool`\" pulumi-lang-yaml=\"`ipAddressPool`\" pulumi-lang-java=\"`ipAddressPool`\"\u003e`ip_address_pool`\u003c/span\u003e blocks as defined below. Only one association of each IP type(IPv4 or IPv6) is allowed.\n\n\u003e **Note:** Exactly one of \u003cspan pulumi-lang-nodejs=\"`addressSpace`\" pulumi-lang-dotnet=\"`AddressSpace`\" pulumi-lang-go=\"`addressSpace`\" pulumi-lang-python=\"`address_space`\" pulumi-lang-yaml=\"`addressSpace`\" pulumi-lang-java=\"`addressSpace`\"\u003e`address_space`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`ipAddressPool`\" pulumi-lang-dotnet=\"`IpAddressPool`\" pulumi-lang-go=\"`ipAddressPool`\" pulumi-lang-python=\"`ip_address_pool`\" pulumi-lang-yaml=\"`ipAddressPool`\" pulumi-lang-java=\"`ipAddressPool`\"\u003e`ip_address_pool`\u003c/span\u003e must be specified.\n"},"location":{"type":"string","description":"The location/region where the virtual network is created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the virtual network. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"privateEndpointVnetPolicies":{"type":"string","description":"The Private Endpoint VNet Policies for the Virtual Network. Possible values are `Disabled` and `Basic`. Defaults to `Disabled`.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the virtual network. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"subnets":{"type":"array","items":{"$ref":"#/types/azure:network/VirtualNetworkSubnet:VirtualNetworkSubnet"},"description":"Can be specified multiple times to define multiple subnets. Each \u003cspan pulumi-lang-nodejs=\"`subnet`\" pulumi-lang-dotnet=\"`Subnet`\" pulumi-lang-go=\"`subnet`\" pulumi-lang-python=\"`subnet`\" pulumi-lang-yaml=\"`subnet`\" pulumi-lang-java=\"`subnet`\"\u003e`subnet`\u003c/span\u003e block supports fields documented below.\n\n\u003e **NOTE** Since \u003cspan pulumi-lang-nodejs=\"`subnet`\" pulumi-lang-dotnet=\"`Subnet`\" pulumi-lang-go=\"`subnet`\" pulumi-lang-python=\"`subnet`\" pulumi-lang-yaml=\"`subnet`\" pulumi-lang-java=\"`subnet`\"\u003e`subnet`\u003c/span\u003e can be configured both inline and via the separate \u003cspan pulumi-lang-nodejs=\"`azure.network.Subnet`\" pulumi-lang-dotnet=\"`azure.network.Subnet`\" pulumi-lang-go=\"`network.Subnet`\" pulumi-lang-python=\"`network.Subnet`\" pulumi-lang-yaml=\"`azure.network.Subnet`\" pulumi-lang-java=\"`azure.network.Subnet`\"\u003e`azure.network.Subnet`\u003c/span\u003e resource, we have to explicitly set it to empty slice (`[]`) to remove it.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"requiredInputs":["resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering VirtualNetwork resources.\n","properties":{"addressSpaces":{"type":"array","items":{"type":"string"},"description":"The address space that is used the virtual network. You can supply more than one address space.\n\n\u003e **Note:** Exactly one of \u003cspan pulumi-lang-nodejs=\"`addressSpace`\" pulumi-lang-dotnet=\"`AddressSpace`\" pulumi-lang-go=\"`addressSpace`\" pulumi-lang-python=\"`address_space`\" pulumi-lang-yaml=\"`addressSpace`\" pulumi-lang-java=\"`addressSpace`\"\u003e`address_space`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`ipAddressPool`\" pulumi-lang-dotnet=\"`IpAddressPool`\" pulumi-lang-go=\"`ipAddressPool`\" pulumi-lang-python=\"`ip_address_pool`\" pulumi-lang-yaml=\"`ipAddressPool`\" pulumi-lang-java=\"`ipAddressPool`\"\u003e`ip_address_pool`\u003c/span\u003e must be specified.\n"},"bgpCommunity":{"type":"string","description":"The BGP community attribute in format `\u003cas-number\u003e:\u003ccommunity-value\u003e`.\n\n\u003e **NOTE** The `as-number` segment is the Microsoft ASN, which is always \u003cspan pulumi-lang-nodejs=\"`12076`\" pulumi-lang-dotnet=\"`12076`\" pulumi-lang-go=\"`12076`\" pulumi-lang-python=\"`12076`\" pulumi-lang-yaml=\"`12076`\" pulumi-lang-java=\"`12076`\"\u003e`12076`\u003c/span\u003e for now.\n"},"ddosProtectionPlan":{"$ref":"#/types/azure:network/VirtualNetworkDdosProtectionPlan:VirtualNetworkDdosProtectionPlan","description":"A \u003cspan pulumi-lang-nodejs=\"`ddosProtectionPlan`\" pulumi-lang-dotnet=\"`DdosProtectionPlan`\" pulumi-lang-go=\"`ddosProtectionPlan`\" pulumi-lang-python=\"`ddos_protection_plan`\" pulumi-lang-yaml=\"`ddosProtectionPlan`\" pulumi-lang-java=\"`ddosProtectionPlan`\"\u003e`ddos_protection_plan`\u003c/span\u003e block as documented below.\n"},"dnsServers":{"type":"array","items":{"type":"string"},"description":"List of IP addresses of DNS servers\n\n\u003e **NOTE** Since \u003cspan pulumi-lang-nodejs=\"`dnsServers`\" pulumi-lang-dotnet=\"`DnsServers`\" pulumi-lang-go=\"`dnsServers`\" pulumi-lang-python=\"`dns_servers`\" pulumi-lang-yaml=\"`dnsServers`\" pulumi-lang-java=\"`dnsServers`\"\u003e`dns_servers`\u003c/span\u003e can be configured both inline and via the separate \u003cspan pulumi-lang-nodejs=\"`azure.network.VirtualNetworkDnsServers`\" pulumi-lang-dotnet=\"`azure.network.VirtualNetworkDnsServers`\" pulumi-lang-go=\"`network.VirtualNetworkDnsServers`\" pulumi-lang-python=\"`network.VirtualNetworkDnsServers`\" pulumi-lang-yaml=\"`azure.network.VirtualNetworkDnsServers`\" pulumi-lang-java=\"`azure.network.VirtualNetworkDnsServers`\"\u003e`azure.network.VirtualNetworkDnsServers`\u003c/span\u003e resource, we have to explicitly set it to empty slice (`[]`) to remove it.\n"},"edgeZone":{"type":"string","description":"Specifies the Edge Zone within the Azure Region where this Virtual Network should exist. Changing this forces a new Virtual Network to be created.\n","willReplaceOnChanges":true},"encryption":{"$ref":"#/types/azure:network/VirtualNetworkEncryption:VirtualNetworkEncryption","description":"A \u003cspan pulumi-lang-nodejs=\"`encryption`\" pulumi-lang-dotnet=\"`Encryption`\" pulumi-lang-go=\"`encryption`\" pulumi-lang-python=\"`encryption`\" pulumi-lang-yaml=\"`encryption`\" pulumi-lang-java=\"`encryption`\"\u003e`encryption`\u003c/span\u003e block as defined below.\n"},"flowTimeoutInMinutes":{"type":"integer","description":"The flow timeout in minutes for the Virtual Network, which is used to enable connection tracking for intra-VM flows. Possible values are between \u003cspan pulumi-lang-nodejs=\"`4`\" pulumi-lang-dotnet=\"`4`\" pulumi-lang-go=\"`4`\" pulumi-lang-python=\"`4`\" pulumi-lang-yaml=\"`4`\" pulumi-lang-java=\"`4`\"\u003e`4`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`30`\" pulumi-lang-dotnet=\"`30`\" pulumi-lang-go=\"`30`\" pulumi-lang-python=\"`30`\" pulumi-lang-yaml=\"`30`\" pulumi-lang-java=\"`30`\"\u003e`30`\u003c/span\u003e minutes.\n"},"guid":{"type":"string","description":"The GUID of the Virtual Network.\n"},"ipAddressPools":{"type":"array","items":{"$ref":"#/types/azure:network/VirtualNetworkIpAddressPool:VirtualNetworkIpAddressPool"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`ipAddressPool`\" pulumi-lang-dotnet=\"`IpAddressPool`\" pulumi-lang-go=\"`ipAddressPool`\" pulumi-lang-python=\"`ip_address_pool`\" pulumi-lang-yaml=\"`ipAddressPool`\" pulumi-lang-java=\"`ipAddressPool`\"\u003e`ip_address_pool`\u003c/span\u003e blocks as defined below. Only one association of each IP type(IPv4 or IPv6) is allowed.\n\n\u003e **Note:** Exactly one of \u003cspan pulumi-lang-nodejs=\"`addressSpace`\" pulumi-lang-dotnet=\"`AddressSpace`\" pulumi-lang-go=\"`addressSpace`\" pulumi-lang-python=\"`address_space`\" pulumi-lang-yaml=\"`addressSpace`\" pulumi-lang-java=\"`addressSpace`\"\u003e`address_space`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`ipAddressPool`\" pulumi-lang-dotnet=\"`IpAddressPool`\" pulumi-lang-go=\"`ipAddressPool`\" pulumi-lang-python=\"`ip_address_pool`\" pulumi-lang-yaml=\"`ipAddressPool`\" pulumi-lang-java=\"`ipAddressPool`\"\u003e`ip_address_pool`\u003c/span\u003e must be specified.\n"},"location":{"type":"string","description":"The location/region where the virtual network is created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the virtual network. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"privateEndpointVnetPolicies":{"type":"string","description":"The Private Endpoint VNet Policies for the Virtual Network. Possible values are `Disabled` and `Basic`. Defaults to `Disabled`.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the virtual network. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"subnets":{"type":"array","items":{"$ref":"#/types/azure:network/VirtualNetworkSubnet:VirtualNetworkSubnet"},"description":"Can be specified multiple times to define multiple subnets. Each \u003cspan pulumi-lang-nodejs=\"`subnet`\" pulumi-lang-dotnet=\"`Subnet`\" pulumi-lang-go=\"`subnet`\" pulumi-lang-python=\"`subnet`\" pulumi-lang-yaml=\"`subnet`\" pulumi-lang-java=\"`subnet`\"\u003e`subnet`\u003c/span\u003e block supports fields documented below.\n\n\u003e **NOTE** Since \u003cspan pulumi-lang-nodejs=\"`subnet`\" pulumi-lang-dotnet=\"`Subnet`\" pulumi-lang-go=\"`subnet`\" pulumi-lang-python=\"`subnet`\" pulumi-lang-yaml=\"`subnet`\" pulumi-lang-java=\"`subnet`\"\u003e`subnet`\u003c/span\u003e can be configured both inline and via the separate \u003cspan pulumi-lang-nodejs=\"`azure.network.Subnet`\" pulumi-lang-dotnet=\"`azure.network.Subnet`\" pulumi-lang-go=\"`network.Subnet`\" pulumi-lang-python=\"`network.Subnet`\" pulumi-lang-yaml=\"`azure.network.Subnet`\" pulumi-lang-java=\"`azure.network.Subnet`\"\u003e`azure.network.Subnet`\u003c/span\u003e resource, we have to explicitly set it to empty slice (`[]`) to remove it.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"type":"object"}},"azure:network/virtualNetworkDnsServers:VirtualNetworkDnsServers":{"description":"Manages the DNS servers associated with a virtual network.\n\n\u003e **Note:** Terraform currently provides both a standalone virtual network DNS Servers resource, and allows for DNS servers to be defined in-line within the Virtual Network resource.\nAt this time you cannot use a Virtual Network with in-line DNS servers in conjunction with any Virtual Network DNS Servers resources. Doing so will cause a conflict of Virtual Network DNS Servers configurations and will overwrite virtual networks DNS servers.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"example\", {\n    name: \"example-vnet\",\n    addressSpaces: [\"10.0.0.0/16\"],\n    location: example.location,\n    resourceGroupName: example.name,\n    subnets: [{\n        name: \"subnet1\",\n        addressPrefix: \"10.0.1.0/24\",\n    }],\n});\nconst exampleVirtualNetworkDnsServers = new azure.network.VirtualNetworkDnsServers(\"example\", {\n    virtualNetworkId: exampleVirtualNetwork.id,\n    dnsServers: [\n        \"10.7.7.2\",\n        \"10.7.7.7\",\n        \"10.7.7.1\",\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_virtual_network = azure.network.VirtualNetwork(\"example\",\n    name=\"example-vnet\",\n    address_spaces=[\"10.0.0.0/16\"],\n    location=example.location,\n    resource_group_name=example.name,\n    subnets=[{\n        \"name\": \"subnet1\",\n        \"address_prefix\": \"10.0.1.0/24\",\n    }])\nexample_virtual_network_dns_servers = azure.network.VirtualNetworkDnsServers(\"example\",\n    virtual_network_id=example_virtual_network.id,\n    dns_servers=[\n        \"10.7.7.2\",\n        \"10.7.7.7\",\n        \"10.7.7.1\",\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleVirtualNetwork = new Azure.Network.VirtualNetwork(\"example\", new()\n    {\n        Name = \"example-vnet\",\n        AddressSpaces = new[]\n        {\n            \"10.0.0.0/16\",\n        },\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Subnets = new[]\n        {\n            new Azure.Network.Inputs.VirtualNetworkSubnetArgs\n            {\n                Name = \"subnet1\",\n                AddressPrefix = \"10.0.1.0/24\",\n            },\n        },\n    });\n\n    var exampleVirtualNetworkDnsServers = new Azure.Network.VirtualNetworkDnsServers(\"example\", new()\n    {\n        VirtualNetworkId = exampleVirtualNetwork.Id,\n        DnsServers = new[]\n        {\n            \"10.7.7.2\",\n            \"10.7.7.7\",\n            \"10.7.7.1\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, \"example\", \u0026network.VirtualNetworkArgs{\n\t\t\tName: pulumi.String(\"example-vnet\"),\n\t\t\tAddressSpaces: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.0.0/16\"),\n\t\t\t},\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSubnets: network.VirtualNetworkSubnetArray{\n\t\t\t\t\u0026network.VirtualNetworkSubnetArgs{\n\t\t\t\t\tName:          pulumi.String(\"subnet1\"),\n\t\t\t\t\tAddressPrefix: \"10.0.1.0/24\",\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = network.NewVirtualNetworkDnsServers(ctx, \"example\", \u0026network.VirtualNetworkDnsServersArgs{\n\t\t\tVirtualNetworkId: exampleVirtualNetwork.ID(),\n\t\t\tDnsServers: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.7.7.2\"),\n\t\t\t\tpulumi.String(\"10.7.7.7\"),\n\t\t\t\tpulumi.String(\"10.7.7.1\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.VirtualNetwork;\nimport com.pulumi.azure.network.VirtualNetworkArgs;\nimport com.pulumi.azure.network.inputs.VirtualNetworkSubnetArgs;\nimport com.pulumi.azure.network.VirtualNetworkDnsServers;\nimport com.pulumi.azure.network.VirtualNetworkDnsServersArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleVirtualNetwork = new VirtualNetwork(\"exampleVirtualNetwork\", VirtualNetworkArgs.builder()\n            .name(\"example-vnet\")\n            .addressSpaces(\"10.0.0.0/16\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .subnets(VirtualNetworkSubnetArgs.builder()\n                .name(\"subnet1\")\n                .addressPrefix(\"10.0.1.0/24\")\n                .build())\n            .build());\n\n        var exampleVirtualNetworkDnsServers = new VirtualNetworkDnsServers(\"exampleVirtualNetworkDnsServers\", VirtualNetworkDnsServersArgs.builder()\n            .virtualNetworkId(exampleVirtualNetwork.id())\n            .dnsServers(            \n                \"10.7.7.2\",\n                \"10.7.7.7\",\n                \"10.7.7.1\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleVirtualNetwork:\n    type: azure:network:VirtualNetwork\n    name: example\n    properties:\n      name: example-vnet\n      addressSpaces:\n        - 10.0.0.0/16\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      subnets:\n        - name: subnet1\n          addressPrefix: 10.0.1.0/24\n  exampleVirtualNetworkDnsServers:\n    type: azure:network:VirtualNetworkDnsServers\n    name: example\n    properties:\n      virtualNetworkId: ${exampleVirtualNetwork.id}\n      dnsServers:\n        - 10.7.7.2\n        - 10.7.7.7\n        - 10.7.7.1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2025-01-01\n\n## Import\n\nVirtual Network DNS Servers can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:network/virtualNetworkDnsServers:VirtualNetworkDnsServers exampleNetwork /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Network/virtualNetworks/myvnet1/dnsServers/default\n```\n\n","properties":{"dnsServers":{"type":"array","items":{"type":"string"},"description":"List of IP addresses of DNS servers\n"},"virtualNetworkId":{"type":"string","description":"The ID of the Virtual Network that should be linked to the DNS Zone. Changing this forces a new resource to be created.\n"}},"required":["virtualNetworkId"],"inputProperties":{"dnsServers":{"type":"array","items":{"type":"string"},"description":"List of IP addresses of DNS servers\n"},"virtualNetworkId":{"type":"string","description":"The ID of the Virtual Network that should be linked to the DNS Zone. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["virtualNetworkId"],"stateInputs":{"description":"Input properties used for looking up and filtering VirtualNetworkDnsServers resources.\n","properties":{"dnsServers":{"type":"array","items":{"type":"string"},"description":"List of IP addresses of DNS servers\n"},"virtualNetworkId":{"type":"string","description":"The ID of the Virtual Network that should be linked to the DNS Zone. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:network/virtualNetworkGateway:VirtualNetworkGateway":{"description":"Manages a Virtual Network Gateway to establish secure, cross-premises connectivity.\n\n\u003e **Note:** Please be aware that provisioning a Virtual Network Gateway takes a long time (between 30 minutes and 1 hour)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"test\",\n    location: \"West Europe\",\n});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"example\", {\n    name: \"test\",\n    location: example.location,\n    resourceGroupName: example.name,\n    addressSpaces: [\"10.0.0.0/16\"],\n});\nconst exampleSubnet = new azure.network.Subnet(\"example\", {\n    name: \"GatewaySubnet\",\n    resourceGroupName: example.name,\n    virtualNetworkName: exampleVirtualNetwork.name,\n    addressPrefixes: [\"10.0.1.0/24\"],\n});\nconst examplePublicIp = new azure.network.PublicIp(\"example\", {\n    name: \"test\",\n    location: example.location,\n    resourceGroupName: example.name,\n    allocationMethod: \"Dynamic\",\n});\nconst exampleVirtualNetworkGateway = new azure.network.VirtualNetworkGateway(\"example\", {\n    name: \"test\",\n    location: example.location,\n    resourceGroupName: example.name,\n    type: \"Vpn\",\n    vpnType: \"RouteBased\",\n    activeActive: false,\n    enableBgp: false,\n    sku: \"Basic\",\n    ipConfigurations: [{\n        name: \"vnetGatewayConfig\",\n        publicIpAddressId: examplePublicIp.id,\n        privateIpAddressAllocation: \"Dynamic\",\n        subnetId: exampleSubnet.id,\n    }],\n    vpnClientConfiguration: {\n        addressSpaces: [\"10.2.0.0/24\"],\n        rootCertificates: [{\n            name: \"DigiCert-Federated-ID-Root-CA\",\n            publicCertData: `MIIDuzCCAqOgAwIBAgIQCHTZWCM+IlfFIRXIvyKSrjANBgkqhkiG9w0BAQsFADBn\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\nd3cuZGlnaWNlcnQuY29tMSYwJAYDVQQDEx1EaWdpQ2VydCBGZWRlcmF0ZWQgSUQg\nUm9vdCBDQTAeFw0xMzAxMTUxMjAwMDBaFw0zMzAxMTUxMjAwMDBaMGcxCzAJBgNV\nBAYTAlVTMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdp\nY2VydC5jb20xJjAkBgNVBAMTHURpZ2lDZXJ0IEZlZGVyYXRlZCBJRCBSb290IENB\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvAEB4pcCqnNNOWE6Ur5j\nQPUH+1y1F9KdHTRSza6k5iDlXq1kGS1qAkuKtw9JsiNRrjltmFnzMZRBbX8Tlfl8\nzAhBmb6dDduDGED01kBsTkgywYPxXVTKec0WxYEEF0oMn4wSYNl0lt2eJAKHXjNf\nGTwiibdP8CUR2ghSM2sUTI8Nt1Omfc4SMHhGhYD64uJMbX98THQ/4LMGuYegou+d\nGTiahfHtjn7AboSEknwAMJHCh5RlYZZ6B1O4QbKJ+34Q0eKgnI3X6Vc9u0zf6DH8\nDk+4zQDYRRTqTnVO3VT8jzqDlCRuNtq6YvryOWN74/dq8LQhUnXHvFyrsdMaE1X2\nDwIDAQABo2MwYTAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBhjAdBgNV\nHQ4EFgQUGRdkFnbGt1EWjKwbUne+5OaZvRYwHwYDVR0jBBgwFoAUGRdkFnbGt1EW\njKwbUne+5OaZvRYwDQYJKoZIhvcNAQELBQADggEBAHcqsHkrjpESqfuVTRiptJfP\n9JbdtWqRTmOf6uJi2c8YVqI6XlKXsD8C1dUUaaHKLUJzvKiazibVuBwMIT84AyqR\nQELn3e0BtgEymEygMU569b01ZPxoFSnNXc7qDZBDef8WfqAV/sxkTi8L9BkmFYfL\nuGLOhRJOFprPdoDIUBB+tmCl3oDcBy3vnUeOEioz8zAkprcb3GHwHAK+vHmmfgcn\nWsfMLH4JCLa/tRYL+Rw/N3ybCkDp00s0WUZ+AoDywSl0Q/ZEnNY0MsFiw6LyIdbq\nM/s/1JRtO3bDSzD9TazRVzn2oBqzSa8VgIo5C1nOnoAKJTlsClJKvIhnRlaLQqk=\n`,\n        }],\n        revokedCertificates: [{\n            name: \"Verizon-Global-Root-CA\",\n            thumbprint: \"912198EEF23DCAC40939312FEE97DD560BAE49B1\",\n        }],\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"test\",\n    location=\"West Europe\")\nexample_virtual_network = azure.network.VirtualNetwork(\"example\",\n    name=\"test\",\n    location=example.location,\n    resource_group_name=example.name,\n    address_spaces=[\"10.0.0.0/16\"])\nexample_subnet = azure.network.Subnet(\"example\",\n    name=\"GatewaySubnet\",\n    resource_group_name=example.name,\n    virtual_network_name=example_virtual_network.name,\n    address_prefixes=[\"10.0.1.0/24\"])\nexample_public_ip = azure.network.PublicIp(\"example\",\n    name=\"test\",\n    location=example.location,\n    resource_group_name=example.name,\n    allocation_method=\"Dynamic\")\nexample_virtual_network_gateway = azure.network.VirtualNetworkGateway(\"example\",\n    name=\"test\",\n    location=example.location,\n    resource_group_name=example.name,\n    type=\"Vpn\",\n    vpn_type=\"RouteBased\",\n    active_active=False,\n    enable_bgp=False,\n    sku=\"Basic\",\n    ip_configurations=[{\n        \"name\": \"vnetGatewayConfig\",\n        \"public_ip_address_id\": example_public_ip.id,\n        \"private_ip_address_allocation\": \"Dynamic\",\n        \"subnet_id\": example_subnet.id,\n    }],\n    vpn_client_configuration={\n        \"address_spaces\": [\"10.2.0.0/24\"],\n        \"root_certificates\": [{\n            \"name\": \"DigiCert-Federated-ID-Root-CA\",\n            \"public_cert_data\": \"\"\"MIIDuzCCAqOgAwIBAgIQCHTZWCM+IlfFIRXIvyKSrjANBgkqhkiG9w0BAQsFADBn\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\nd3cuZGlnaWNlcnQuY29tMSYwJAYDVQQDEx1EaWdpQ2VydCBGZWRlcmF0ZWQgSUQg\nUm9vdCBDQTAeFw0xMzAxMTUxMjAwMDBaFw0zMzAxMTUxMjAwMDBaMGcxCzAJBgNV\nBAYTAlVTMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdp\nY2VydC5jb20xJjAkBgNVBAMTHURpZ2lDZXJ0IEZlZGVyYXRlZCBJRCBSb290IENB\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvAEB4pcCqnNNOWE6Ur5j\nQPUH+1y1F9KdHTRSza6k5iDlXq1kGS1qAkuKtw9JsiNRrjltmFnzMZRBbX8Tlfl8\nzAhBmb6dDduDGED01kBsTkgywYPxXVTKec0WxYEEF0oMn4wSYNl0lt2eJAKHXjNf\nGTwiibdP8CUR2ghSM2sUTI8Nt1Omfc4SMHhGhYD64uJMbX98THQ/4LMGuYegou+d\nGTiahfHtjn7AboSEknwAMJHCh5RlYZZ6B1O4QbKJ+34Q0eKgnI3X6Vc9u0zf6DH8\nDk+4zQDYRRTqTnVO3VT8jzqDlCRuNtq6YvryOWN74/dq8LQhUnXHvFyrsdMaE1X2\nDwIDAQABo2MwYTAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBhjAdBgNV\nHQ4EFgQUGRdkFnbGt1EWjKwbUne+5OaZvRYwHwYDVR0jBBgwFoAUGRdkFnbGt1EW\njKwbUne+5OaZvRYwDQYJKoZIhvcNAQELBQADggEBAHcqsHkrjpESqfuVTRiptJfP\n9JbdtWqRTmOf6uJi2c8YVqI6XlKXsD8C1dUUaaHKLUJzvKiazibVuBwMIT84AyqR\nQELn3e0BtgEymEygMU569b01ZPxoFSnNXc7qDZBDef8WfqAV/sxkTi8L9BkmFYfL\nuGLOhRJOFprPdoDIUBB+tmCl3oDcBy3vnUeOEioz8zAkprcb3GHwHAK+vHmmfgcn\nWsfMLH4JCLa/tRYL+Rw/N3ybCkDp00s0WUZ+AoDywSl0Q/ZEnNY0MsFiw6LyIdbq\nM/s/1JRtO3bDSzD9TazRVzn2oBqzSa8VgIo5C1nOnoAKJTlsClJKvIhnRlaLQqk=\n\"\"\",\n        }],\n        \"revoked_certificates\": [{\n            \"name\": \"Verizon-Global-Root-CA\",\n            \"thumbprint\": \"912198EEF23DCAC40939312FEE97DD560BAE49B1\",\n        }],\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"test\",\n        Location = \"West Europe\",\n    });\n\n    var exampleVirtualNetwork = new Azure.Network.VirtualNetwork(\"example\", new()\n    {\n        Name = \"test\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        AddressSpaces = new[]\n        {\n            \"10.0.0.0/16\",\n        },\n    });\n\n    var exampleSubnet = new Azure.Network.Subnet(\"example\", new()\n    {\n        Name = \"GatewaySubnet\",\n        ResourceGroupName = example.Name,\n        VirtualNetworkName = exampleVirtualNetwork.Name,\n        AddressPrefixes = new[]\n        {\n            \"10.0.1.0/24\",\n        },\n    });\n\n    var examplePublicIp = new Azure.Network.PublicIp(\"example\", new()\n    {\n        Name = \"test\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        AllocationMethod = \"Dynamic\",\n    });\n\n    var exampleVirtualNetworkGateway = new Azure.Network.VirtualNetworkGateway(\"example\", new()\n    {\n        Name = \"test\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Type = \"Vpn\",\n        VpnType = \"RouteBased\",\n        ActiveActive = false,\n        EnableBgp = false,\n        Sku = \"Basic\",\n        IpConfigurations = new[]\n        {\n            new Azure.Network.Inputs.VirtualNetworkGatewayIpConfigurationArgs\n            {\n                Name = \"vnetGatewayConfig\",\n                PublicIpAddressId = examplePublicIp.Id,\n                PrivateIpAddressAllocation = \"Dynamic\",\n                SubnetId = exampleSubnet.Id,\n            },\n        },\n        VpnClientConfiguration = new Azure.Network.Inputs.VirtualNetworkGatewayVpnClientConfigurationArgs\n        {\n            AddressSpaces = new[]\n            {\n                \"10.2.0.0/24\",\n            },\n            RootCertificates = new[]\n            {\n                new Azure.Network.Inputs.VirtualNetworkGatewayVpnClientConfigurationRootCertificateArgs\n                {\n                    Name = \"DigiCert-Federated-ID-Root-CA\",\n                    PublicCertData = @\"MIIDuzCCAqOgAwIBAgIQCHTZWCM+IlfFIRXIvyKSrjANBgkqhkiG9w0BAQsFADBn\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\nd3cuZGlnaWNlcnQuY29tMSYwJAYDVQQDEx1EaWdpQ2VydCBGZWRlcmF0ZWQgSUQg\nUm9vdCBDQTAeFw0xMzAxMTUxMjAwMDBaFw0zMzAxMTUxMjAwMDBaMGcxCzAJBgNV\nBAYTAlVTMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdp\nY2VydC5jb20xJjAkBgNVBAMTHURpZ2lDZXJ0IEZlZGVyYXRlZCBJRCBSb290IENB\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvAEB4pcCqnNNOWE6Ur5j\nQPUH+1y1F9KdHTRSza6k5iDlXq1kGS1qAkuKtw9JsiNRrjltmFnzMZRBbX8Tlfl8\nzAhBmb6dDduDGED01kBsTkgywYPxXVTKec0WxYEEF0oMn4wSYNl0lt2eJAKHXjNf\nGTwiibdP8CUR2ghSM2sUTI8Nt1Omfc4SMHhGhYD64uJMbX98THQ/4LMGuYegou+d\nGTiahfHtjn7AboSEknwAMJHCh5RlYZZ6B1O4QbKJ+34Q0eKgnI3X6Vc9u0zf6DH8\nDk+4zQDYRRTqTnVO3VT8jzqDlCRuNtq6YvryOWN74/dq8LQhUnXHvFyrsdMaE1X2\nDwIDAQABo2MwYTAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBhjAdBgNV\nHQ4EFgQUGRdkFnbGt1EWjKwbUne+5OaZvRYwHwYDVR0jBBgwFoAUGRdkFnbGt1EW\njKwbUne+5OaZvRYwDQYJKoZIhvcNAQELBQADggEBAHcqsHkrjpESqfuVTRiptJfP\n9JbdtWqRTmOf6uJi2c8YVqI6XlKXsD8C1dUUaaHKLUJzvKiazibVuBwMIT84AyqR\nQELn3e0BtgEymEygMU569b01ZPxoFSnNXc7qDZBDef8WfqAV/sxkTi8L9BkmFYfL\nuGLOhRJOFprPdoDIUBB+tmCl3oDcBy3vnUeOEioz8zAkprcb3GHwHAK+vHmmfgcn\nWsfMLH4JCLa/tRYL+Rw/N3ybCkDp00s0WUZ+AoDywSl0Q/ZEnNY0MsFiw6LyIdbq\nM/s/1JRtO3bDSzD9TazRVzn2oBqzSa8VgIo5C1nOnoAKJTlsClJKvIhnRlaLQqk=\n\",\n                },\n            },\n            RevokedCertificates = new[]\n            {\n                new Azure.Network.Inputs.VirtualNetworkGatewayVpnClientConfigurationRevokedCertificateArgs\n                {\n                    Name = \"Verizon-Global-Root-CA\",\n                    Thumbprint = \"912198EEF23DCAC40939312FEE97DD560BAE49B1\",\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"test\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, \"example\", \u0026network.VirtualNetworkArgs{\n\t\t\tName:              pulumi.String(\"test\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tAddressSpaces: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.0.0/16\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSubnet, err := network.NewSubnet(ctx, \"example\", \u0026network.SubnetArgs{\n\t\t\tName:               pulumi.String(\"GatewaySubnet\"),\n\t\t\tResourceGroupName:  example.Name,\n\t\t\tVirtualNetworkName: exampleVirtualNetwork.Name,\n\t\t\tAddressPrefixes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.1.0/24\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texamplePublicIp, err := network.NewPublicIp(ctx, \"example\", \u0026network.PublicIpArgs{\n\t\t\tName:              pulumi.String(\"test\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tAllocationMethod:  pulumi.String(\"Dynamic\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = network.NewVirtualNetworkGateway(ctx, \"example\", \u0026network.VirtualNetworkGatewayArgs{\n\t\t\tName:              pulumi.String(\"test\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tType:              pulumi.String(\"Vpn\"),\n\t\t\tVpnType:           pulumi.String(\"RouteBased\"),\n\t\t\tActiveActive:      pulumi.Bool(false),\n\t\t\tEnableBgp:         pulumi.Bool(false),\n\t\t\tSku:               pulumi.String(\"Basic\"),\n\t\t\tIpConfigurations: network.VirtualNetworkGatewayIpConfigurationArray{\n\t\t\t\t\u0026network.VirtualNetworkGatewayIpConfigurationArgs{\n\t\t\t\t\tName:                       pulumi.String(\"vnetGatewayConfig\"),\n\t\t\t\t\tPublicIpAddressId:          examplePublicIp.ID(),\n\t\t\t\t\tPrivateIpAddressAllocation: pulumi.String(\"Dynamic\"),\n\t\t\t\t\tSubnetId:                   exampleSubnet.ID(),\n\t\t\t\t},\n\t\t\t},\n\t\t\tVpnClientConfiguration: \u0026network.VirtualNetworkGatewayVpnClientConfigurationArgs{\n\t\t\t\tAddressSpaces: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"10.2.0.0/24\"),\n\t\t\t\t},\n\t\t\t\tRootCertificates: network.VirtualNetworkGatewayVpnClientConfigurationRootCertificateArray{\n\t\t\t\t\t\u0026network.VirtualNetworkGatewayVpnClientConfigurationRootCertificateArgs{\n\t\t\t\t\t\tName: pulumi.String(\"DigiCert-Federated-ID-Root-CA\"),\n\t\t\t\t\t\tPublicCertData: pulumi.String(`MIIDuzCCAqOgAwIBAgIQCHTZWCM+IlfFIRXIvyKSrjANBgkqhkiG9w0BAQsFADBn\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\nd3cuZGlnaWNlcnQuY29tMSYwJAYDVQQDEx1EaWdpQ2VydCBGZWRlcmF0ZWQgSUQg\nUm9vdCBDQTAeFw0xMzAxMTUxMjAwMDBaFw0zMzAxMTUxMjAwMDBaMGcxCzAJBgNV\nBAYTAlVTMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdp\nY2VydC5jb20xJjAkBgNVBAMTHURpZ2lDZXJ0IEZlZGVyYXRlZCBJRCBSb290IENB\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvAEB4pcCqnNNOWE6Ur5j\nQPUH+1y1F9KdHTRSza6k5iDlXq1kGS1qAkuKtw9JsiNRrjltmFnzMZRBbX8Tlfl8\nzAhBmb6dDduDGED01kBsTkgywYPxXVTKec0WxYEEF0oMn4wSYNl0lt2eJAKHXjNf\nGTwiibdP8CUR2ghSM2sUTI8Nt1Omfc4SMHhGhYD64uJMbX98THQ/4LMGuYegou+d\nGTiahfHtjn7AboSEknwAMJHCh5RlYZZ6B1O4QbKJ+34Q0eKgnI3X6Vc9u0zf6DH8\nDk+4zQDYRRTqTnVO3VT8jzqDlCRuNtq6YvryOWN74/dq8LQhUnXHvFyrsdMaE1X2\nDwIDAQABo2MwYTAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBhjAdBgNV\nHQ4EFgQUGRdkFnbGt1EWjKwbUne+5OaZvRYwHwYDVR0jBBgwFoAUGRdkFnbGt1EW\njKwbUne+5OaZvRYwDQYJKoZIhvcNAQELBQADggEBAHcqsHkrjpESqfuVTRiptJfP\n9JbdtWqRTmOf6uJi2c8YVqI6XlKXsD8C1dUUaaHKLUJzvKiazibVuBwMIT84AyqR\nQELn3e0BtgEymEygMU569b01ZPxoFSnNXc7qDZBDef8WfqAV/sxkTi8L9BkmFYfL\nuGLOhRJOFprPdoDIUBB+tmCl3oDcBy3vnUeOEioz8zAkprcb3GHwHAK+vHmmfgcn\nWsfMLH4JCLa/tRYL+Rw/N3ybCkDp00s0WUZ+AoDywSl0Q/ZEnNY0MsFiw6LyIdbq\nM/s/1JRtO3bDSzD9TazRVzn2oBqzSa8VgIo5C1nOnoAKJTlsClJKvIhnRlaLQqk=\n`),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tRevokedCertificates: network.VirtualNetworkGatewayVpnClientConfigurationRevokedCertificateArray{\n\t\t\t\t\t\u0026network.VirtualNetworkGatewayVpnClientConfigurationRevokedCertificateArgs{\n\t\t\t\t\t\tName:       pulumi.String(\"Verizon-Global-Root-CA\"),\n\t\t\t\t\t\tThumbprint: pulumi.String(\"912198EEF23DCAC40939312FEE97DD560BAE49B1\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.VirtualNetwork;\nimport com.pulumi.azure.network.VirtualNetworkArgs;\nimport com.pulumi.azure.network.Subnet;\nimport com.pulumi.azure.network.SubnetArgs;\nimport com.pulumi.azure.network.PublicIp;\nimport com.pulumi.azure.network.PublicIpArgs;\nimport com.pulumi.azure.network.VirtualNetworkGateway;\nimport com.pulumi.azure.network.VirtualNetworkGatewayArgs;\nimport com.pulumi.azure.network.inputs.VirtualNetworkGatewayIpConfigurationArgs;\nimport com.pulumi.azure.network.inputs.VirtualNetworkGatewayVpnClientConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"test\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleVirtualNetwork = new VirtualNetwork(\"exampleVirtualNetwork\", VirtualNetworkArgs.builder()\n            .name(\"test\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .addressSpaces(\"10.0.0.0/16\")\n            .build());\n\n        var exampleSubnet = new Subnet(\"exampleSubnet\", SubnetArgs.builder()\n            .name(\"GatewaySubnet\")\n            .resourceGroupName(example.name())\n            .virtualNetworkName(exampleVirtualNetwork.name())\n            .addressPrefixes(\"10.0.1.0/24\")\n            .build());\n\n        var examplePublicIp = new PublicIp(\"examplePublicIp\", PublicIpArgs.builder()\n            .name(\"test\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .allocationMethod(\"Dynamic\")\n            .build());\n\n        var exampleVirtualNetworkGateway = new VirtualNetworkGateway(\"exampleVirtualNetworkGateway\", VirtualNetworkGatewayArgs.builder()\n            .name(\"test\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .type(\"Vpn\")\n            .vpnType(\"RouteBased\")\n            .activeActive(false)\n            .enableBgp(false)\n            .sku(\"Basic\")\n            .ipConfigurations(VirtualNetworkGatewayIpConfigurationArgs.builder()\n                .name(\"vnetGatewayConfig\")\n                .publicIpAddressId(examplePublicIp.id())\n                .privateIpAddressAllocation(\"Dynamic\")\n                .subnetId(exampleSubnet.id())\n                .build())\n            .vpnClientConfiguration(VirtualNetworkGatewayVpnClientConfigurationArgs.builder()\n                .addressSpaces(\"10.2.0.0/24\")\n                .rootCertificates(VirtualNetworkGatewayVpnClientConfigurationRootCertificateArgs.builder()\n                    .name(\"DigiCert-Federated-ID-Root-CA\")\n                    .publicCertData(\"\"\"\nMIIDuzCCAqOgAwIBAgIQCHTZWCM+IlfFIRXIvyKSrjANBgkqhkiG9w0BAQsFADBn\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\nd3cuZGlnaWNlcnQuY29tMSYwJAYDVQQDEx1EaWdpQ2VydCBGZWRlcmF0ZWQgSUQg\nUm9vdCBDQTAeFw0xMzAxMTUxMjAwMDBaFw0zMzAxMTUxMjAwMDBaMGcxCzAJBgNV\nBAYTAlVTMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdp\nY2VydC5jb20xJjAkBgNVBAMTHURpZ2lDZXJ0IEZlZGVyYXRlZCBJRCBSb290IENB\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvAEB4pcCqnNNOWE6Ur5j\nQPUH+1y1F9KdHTRSza6k5iDlXq1kGS1qAkuKtw9JsiNRrjltmFnzMZRBbX8Tlfl8\nzAhBmb6dDduDGED01kBsTkgywYPxXVTKec0WxYEEF0oMn4wSYNl0lt2eJAKHXjNf\nGTwiibdP8CUR2ghSM2sUTI8Nt1Omfc4SMHhGhYD64uJMbX98THQ/4LMGuYegou+d\nGTiahfHtjn7AboSEknwAMJHCh5RlYZZ6B1O4QbKJ+34Q0eKgnI3X6Vc9u0zf6DH8\nDk+4zQDYRRTqTnVO3VT8jzqDlCRuNtq6YvryOWN74/dq8LQhUnXHvFyrsdMaE1X2\nDwIDAQABo2MwYTAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBhjAdBgNV\nHQ4EFgQUGRdkFnbGt1EWjKwbUne+5OaZvRYwHwYDVR0jBBgwFoAUGRdkFnbGt1EW\njKwbUne+5OaZvRYwDQYJKoZIhvcNAQELBQADggEBAHcqsHkrjpESqfuVTRiptJfP\n9JbdtWqRTmOf6uJi2c8YVqI6XlKXsD8C1dUUaaHKLUJzvKiazibVuBwMIT84AyqR\nQELn3e0BtgEymEygMU569b01ZPxoFSnNXc7qDZBDef8WfqAV/sxkTi8L9BkmFYfL\nuGLOhRJOFprPdoDIUBB+tmCl3oDcBy3vnUeOEioz8zAkprcb3GHwHAK+vHmmfgcn\nWsfMLH4JCLa/tRYL+Rw/N3ybCkDp00s0WUZ+AoDywSl0Q/ZEnNY0MsFiw6LyIdbq\nM/s/1JRtO3bDSzD9TazRVzn2oBqzSa8VgIo5C1nOnoAKJTlsClJKvIhnRlaLQqk=\n                    \"\"\")\n                    .build())\n                .revokedCertificates(VirtualNetworkGatewayVpnClientConfigurationRevokedCertificateArgs.builder()\n                    .name(\"Verizon-Global-Root-CA\")\n                    .thumbprint(\"912198EEF23DCAC40939312FEE97DD560BAE49B1\")\n                    .build())\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: test\n      location: West Europe\n  exampleVirtualNetwork:\n    type: azure:network:VirtualNetwork\n    name: example\n    properties:\n      name: test\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      addressSpaces:\n        - 10.0.0.0/16\n  exampleSubnet:\n    type: azure:network:Subnet\n    name: example\n    properties:\n      name: GatewaySubnet\n      resourceGroupName: ${example.name}\n      virtualNetworkName: ${exampleVirtualNetwork.name}\n      addressPrefixes:\n        - 10.0.1.0/24\n  examplePublicIp:\n    type: azure:network:PublicIp\n    name: example\n    properties:\n      name: test\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      allocationMethod: Dynamic\n  exampleVirtualNetworkGateway:\n    type: azure:network:VirtualNetworkGateway\n    name: example\n    properties:\n      name: test\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      type: Vpn\n      vpnType: RouteBased\n      activeActive: false\n      enableBgp: false\n      sku: Basic\n      ipConfigurations:\n        - name: vnetGatewayConfig\n          publicIpAddressId: ${examplePublicIp.id}\n          privateIpAddressAllocation: Dynamic\n          subnetId: ${exampleSubnet.id}\n      vpnClientConfiguration:\n        addressSpaces:\n          - 10.2.0.0/24\n        rootCertificates:\n          - name: DigiCert-Federated-ID-Root-CA\n            publicCertData: |\n              MIIDuzCCAqOgAwIBAgIQCHTZWCM+IlfFIRXIvyKSrjANBgkqhkiG9w0BAQsFADBn\n              MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\n              d3cuZGlnaWNlcnQuY29tMSYwJAYDVQQDEx1EaWdpQ2VydCBGZWRlcmF0ZWQgSUQg\n              Um9vdCBDQTAeFw0xMzAxMTUxMjAwMDBaFw0zMzAxMTUxMjAwMDBaMGcxCzAJBgNV\n              BAYTAlVTMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdp\n              Y2VydC5jb20xJjAkBgNVBAMTHURpZ2lDZXJ0IEZlZGVyYXRlZCBJRCBSb290IENB\n              MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvAEB4pcCqnNNOWE6Ur5j\n              QPUH+1y1F9KdHTRSza6k5iDlXq1kGS1qAkuKtw9JsiNRrjltmFnzMZRBbX8Tlfl8\n              zAhBmb6dDduDGED01kBsTkgywYPxXVTKec0WxYEEF0oMn4wSYNl0lt2eJAKHXjNf\n              GTwiibdP8CUR2ghSM2sUTI8Nt1Omfc4SMHhGhYD64uJMbX98THQ/4LMGuYegou+d\n              GTiahfHtjn7AboSEknwAMJHCh5RlYZZ6B1O4QbKJ+34Q0eKgnI3X6Vc9u0zf6DH8\n              Dk+4zQDYRRTqTnVO3VT8jzqDlCRuNtq6YvryOWN74/dq8LQhUnXHvFyrsdMaE1X2\n              DwIDAQABo2MwYTAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBhjAdBgNV\n              HQ4EFgQUGRdkFnbGt1EWjKwbUne+5OaZvRYwHwYDVR0jBBgwFoAUGRdkFnbGt1EW\n              jKwbUne+5OaZvRYwDQYJKoZIhvcNAQELBQADggEBAHcqsHkrjpESqfuVTRiptJfP\n              9JbdtWqRTmOf6uJi2c8YVqI6XlKXsD8C1dUUaaHKLUJzvKiazibVuBwMIT84AyqR\n              QELn3e0BtgEymEygMU569b01ZPxoFSnNXc7qDZBDef8WfqAV/sxkTi8L9BkmFYfL\n              uGLOhRJOFprPdoDIUBB+tmCl3oDcBy3vnUeOEioz8zAkprcb3GHwHAK+vHmmfgcn\n              WsfMLH4JCLa/tRYL+Rw/N3ybCkDp00s0WUZ+AoDywSl0Q/ZEnNY0MsFiw6LyIdbq\n              M/s/1JRtO3bDSzD9TazRVzn2oBqzSa8VgIo5C1nOnoAKJTlsClJKvIhnRlaLQqk=\n        revokedCertificates:\n          - name: Verizon-Global-Root-CA\n            thumbprint: 912198EEF23DCAC40939312FEE97DD560BAE49B1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2025-01-01\n\n## Import\n\nVirtual Network Gateways can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:network/virtualNetworkGateway:VirtualNetworkGateway exampleGateway /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myGroup1/providers/Microsoft.Network/virtualNetworkGateways/myGateway1\n```\n\n","properties":{"activeActive":{"type":"boolean","description":"If \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, an active-active Virtual Network Gateway will be created. An active-active gateway requires a `HighPerformance` or an `UltraPerformance` SKU. If \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e, an active-standby gateway will be created. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"bgpRouteTranslationForNatEnabled":{"type":"boolean","description":"Is BGP Route Translation for NAT enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"bgpSettings":{"$ref":"#/types/azure:network/VirtualNetworkGatewayBgpSettings:VirtualNetworkGatewayBgpSettings","description":"A \u003cspan pulumi-lang-nodejs=\"`bgpSettings`\" pulumi-lang-dotnet=\"`BgpSettings`\" pulumi-lang-go=\"`bgpSettings`\" pulumi-lang-python=\"`bgp_settings`\" pulumi-lang-yaml=\"`bgpSettings`\" pulumi-lang-java=\"`bgpSettings`\"\u003e`bgp_settings`\u003c/span\u003e block which is documented below. In this block the BGP specific settings can be defined.\n"},"customRoute":{"$ref":"#/types/azure:network/VirtualNetworkGatewayCustomRoute:VirtualNetworkGatewayCustomRoute","description":"A \u003cspan pulumi-lang-nodejs=\"`customRoute`\" pulumi-lang-dotnet=\"`CustomRoute`\" pulumi-lang-go=\"`customRoute`\" pulumi-lang-python=\"`custom_route`\" pulumi-lang-yaml=\"`customRoute`\" pulumi-lang-java=\"`customRoute`\"\u003e`custom_route`\u003c/span\u003e block as defined below. Specifies a custom routes address space for a virtual network gateway and a VpnClient.\n"},"defaultLocalNetworkGatewayId":{"type":"string","description":"The ID of the local network gateway through which outbound Internet traffic from the virtual network in which the gateway is created will be routed (*forced tunnelling*). Refer to the [Azure documentation on forced tunnelling](https://docs.microsoft.com/azure/vpn-gateway/vpn-gateway-forced-tunneling-rm). If not specified, forced tunnelling is disabled.\n"},"dnsForwardingEnabled":{"type":"boolean","description":"Is DNS forwarding enabled?\n"},"edgeZone":{"type":"string","description":"Specifies the Edge Zone within the Azure Region where this Virtual Network Gateway should exist. Changing this forces a new Virtual Network Gateway to be created.\n"},"enableBgp":{"type":"boolean","description":"If \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, BGP (Border Gateway Protocol) will be enabled for this Virtual Network Gateway. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"generation":{"type":"string","description":"The Generation of the Virtual Network gateway. Possible values include `Generation1`, `Generation2` or `None`. Changing this forces a new resource to be created.\n\n\u003e **Note:** The available values depend on the \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`sku`\" pulumi-lang-dotnet=\"`Sku`\" pulumi-lang-go=\"`sku`\" pulumi-lang-python=\"`sku`\" pulumi-lang-yaml=\"`sku`\" pulumi-lang-java=\"`sku`\"\u003e`sku`\u003c/span\u003e arguments - where `Generation2` is only value for a \u003cspan pulumi-lang-nodejs=\"`sku`\" pulumi-lang-dotnet=\"`Sku`\" pulumi-lang-go=\"`sku`\" pulumi-lang-python=\"`sku`\" pulumi-lang-yaml=\"`sku`\" pulumi-lang-java=\"`sku`\"\u003e`sku`\u003c/span\u003e larger than `VpnGw2` or `VpnGw2AZ`.\n"},"ipConfigurations":{"type":"array","items":{"$ref":"#/types/azure:network/VirtualNetworkGatewayIpConfiguration:VirtualNetworkGatewayIpConfiguration"},"description":"One or more (up to 3) \u003cspan pulumi-lang-nodejs=\"`ipConfiguration`\" pulumi-lang-dotnet=\"`IpConfiguration`\" pulumi-lang-go=\"`ipConfiguration`\" pulumi-lang-python=\"`ip_configuration`\" pulumi-lang-yaml=\"`ipConfiguration`\" pulumi-lang-java=\"`ipConfiguration`\"\u003e`ip_configuration`\u003c/span\u003e blocks documented below. Changing this forces a new resource to be created. An active-standby gateway requires exactly one \u003cspan pulumi-lang-nodejs=\"`ipConfiguration`\" pulumi-lang-dotnet=\"`IpConfiguration`\" pulumi-lang-go=\"`ipConfiguration`\" pulumi-lang-python=\"`ip_configuration`\" pulumi-lang-yaml=\"`ipConfiguration`\" pulumi-lang-java=\"`ipConfiguration`\"\u003e`ip_configuration`\u003c/span\u003e block, an active-active gateway requires exactly two \u003cspan pulumi-lang-nodejs=\"`ipConfiguration`\" pulumi-lang-dotnet=\"`IpConfiguration`\" pulumi-lang-go=\"`ipConfiguration`\" pulumi-lang-python=\"`ip_configuration`\" pulumi-lang-yaml=\"`ipConfiguration`\" pulumi-lang-java=\"`ipConfiguration`\"\u003e`ip_configuration`\u003c/span\u003e blocks whereas an active-active zone redundant gateway with P2S configuration requires exactly three \u003cspan pulumi-lang-nodejs=\"`ipConfiguration`\" pulumi-lang-dotnet=\"`IpConfiguration`\" pulumi-lang-go=\"`ipConfiguration`\" pulumi-lang-python=\"`ip_configuration`\" pulumi-lang-yaml=\"`ipConfiguration`\" pulumi-lang-java=\"`ipConfiguration`\"\u003e`ip_configuration`\u003c/span\u003e blocks.\n"},"ipSecReplayProtectionEnabled":{"type":"boolean","description":"Is IP Sec Replay Protection enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"location":{"type":"string","description":"The location/region where the Virtual Network Gateway is located. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"The name of the Virtual Network Gateway. Changing this forces a new resource to be created.\n"},"policyGroups":{"type":"array","items":{"$ref":"#/types/azure:network/VirtualNetworkGatewayPolicyGroup:VirtualNetworkGatewayPolicyGroup"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`policyGroup`\" pulumi-lang-dotnet=\"`PolicyGroup`\" pulumi-lang-go=\"`policyGroup`\" pulumi-lang-python=\"`policy_group`\" pulumi-lang-yaml=\"`policyGroup`\" pulumi-lang-java=\"`policyGroup`\"\u003e`policy_group`\u003c/span\u003e blocks as defined below.\n"},"privateIpAddressEnabled":{"type":"boolean","description":"Should private IP be enabled on this gateway for connections? Changing this forces a new resource to be created.\n"},"remoteVnetTrafficEnabled":{"type":"boolean","description":"Is remote vnet traffic that is used to configure this gateway to accept traffic from other Azure Virtual Networks enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the Virtual Network Gateway. Changing this forces a new resource to be created.\n"},"sku":{"type":"string","description":"Configuration of the size and capacity of the virtual network gateway. Valid options are `Basic`, `Standard`, `HighPerformance`, `UltraPerformance`, `ErGwScale`, `ErGw1AZ`, `ErGw2AZ`, `ErGw3AZ`, `VpnGw1`, `VpnGw2`, `VpnGw3`, `VpnGw4`,`VpnGw5`, `VpnGw1AZ`, `VpnGw2AZ`, `VpnGw3AZ`,`VpnGw4AZ` and `VpnGw5AZ` and depend on the \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`vpnType`\" pulumi-lang-dotnet=\"`VpnType`\" pulumi-lang-go=\"`vpnType`\" pulumi-lang-python=\"`vpn_type`\" pulumi-lang-yaml=\"`vpnType`\" pulumi-lang-java=\"`vpnType`\"\u003e`vpn_type`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`generation`\" pulumi-lang-dotnet=\"`Generation`\" pulumi-lang-go=\"`generation`\" pulumi-lang-python=\"`generation`\" pulumi-lang-yaml=\"`generation`\" pulumi-lang-java=\"`generation`\"\u003e`generation`\u003c/span\u003e arguments. A `PolicyBased` gateway only supports the `Basic` SKU. Further, the `UltraPerformance` and `ErGwScale` SKU is only supported by an `ExpressRoute` gateway.\n\n\u003e **Note:** To build a UltraPerformance ExpressRoute Virtual Network gateway, the associated Public IP needs to be SKU \"Basic\" not \"Standard\"\n\n\u003e **Note:** Not all SKUs (e.g. `ErGw1AZ`) are available in all regions. If you see `StatusCode=400 -- Original Error: Code=\"InvalidGatewaySkuSpecifiedForGatewayDeploymentType\"` please try another region.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"type":{"type":"string","description":"The type of the Virtual Network Gateway. Valid options are `Vpn` or `ExpressRoute`. Changing the type forces a new resource to be created.\n"},"virtualWanTrafficEnabled":{"type":"boolean","description":"Is remote vnet traffic that is used to configure this gateway to accept traffic from remote Virtual WAN networks enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"vpnClientConfiguration":{"$ref":"#/types/azure:network/VirtualNetworkGatewayVpnClientConfiguration:VirtualNetworkGatewayVpnClientConfiguration","description":"A \u003cspan pulumi-lang-nodejs=\"`vpnClientConfiguration`\" pulumi-lang-dotnet=\"`VpnClientConfiguration`\" pulumi-lang-go=\"`vpnClientConfiguration`\" pulumi-lang-python=\"`vpn_client_configuration`\" pulumi-lang-yaml=\"`vpnClientConfiguration`\" pulumi-lang-java=\"`vpnClientConfiguration`\"\u003e`vpn_client_configuration`\u003c/span\u003e block which is documented below. In this block the Virtual Network Gateway can be configured to accept IPSec point-to-site connections.\n"},"vpnType":{"type":"string","description":"The routing type of the Virtual Network Gateway. Valid options are `RouteBased` or `PolicyBased`. Defaults to `RouteBased`. Changing this forces a new resource to be created.\n"}},"required":["activeActive","bgpSettings","enableBgp","generation","ipConfigurations","location","name","resourceGroupName","sku","type"],"inputProperties":{"activeActive":{"type":"boolean","description":"If \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, an active-active Virtual Network Gateway will be created. An active-active gateway requires a `HighPerformance` or an `UltraPerformance` SKU. If \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e, an active-standby gateway will be created. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"bgpRouteTranslationForNatEnabled":{"type":"boolean","description":"Is BGP Route Translation for NAT enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"bgpSettings":{"$ref":"#/types/azure:network/VirtualNetworkGatewayBgpSettings:VirtualNetworkGatewayBgpSettings","description":"A \u003cspan pulumi-lang-nodejs=\"`bgpSettings`\" pulumi-lang-dotnet=\"`BgpSettings`\" pulumi-lang-go=\"`bgpSettings`\" pulumi-lang-python=\"`bgp_settings`\" pulumi-lang-yaml=\"`bgpSettings`\" pulumi-lang-java=\"`bgpSettings`\"\u003e`bgp_settings`\u003c/span\u003e block which is documented below. In this block the BGP specific settings can be defined.\n"},"customRoute":{"$ref":"#/types/azure:network/VirtualNetworkGatewayCustomRoute:VirtualNetworkGatewayCustomRoute","description":"A \u003cspan pulumi-lang-nodejs=\"`customRoute`\" pulumi-lang-dotnet=\"`CustomRoute`\" pulumi-lang-go=\"`customRoute`\" pulumi-lang-python=\"`custom_route`\" pulumi-lang-yaml=\"`customRoute`\" pulumi-lang-java=\"`customRoute`\"\u003e`custom_route`\u003c/span\u003e block as defined below. Specifies a custom routes address space for a virtual network gateway and a VpnClient.\n"},"defaultLocalNetworkGatewayId":{"type":"string","description":"The ID of the local network gateway through which outbound Internet traffic from the virtual network in which the gateway is created will be routed (*forced tunnelling*). Refer to the [Azure documentation on forced tunnelling](https://docs.microsoft.com/azure/vpn-gateway/vpn-gateway-forced-tunneling-rm). If not specified, forced tunnelling is disabled.\n"},"dnsForwardingEnabled":{"type":"boolean","description":"Is DNS forwarding enabled?\n"},"edgeZone":{"type":"string","description":"Specifies the Edge Zone within the Azure Region where this Virtual Network Gateway should exist. Changing this forces a new Virtual Network Gateway to be created.\n","willReplaceOnChanges":true},"enableBgp":{"type":"boolean","description":"If \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, BGP (Border Gateway Protocol) will be enabled for this Virtual Network Gateway. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"generation":{"type":"string","description":"The Generation of the Virtual Network gateway. Possible values include `Generation1`, `Generation2` or `None`. Changing this forces a new resource to be created.\n\n\u003e **Note:** The available values depend on the \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`sku`\" pulumi-lang-dotnet=\"`Sku`\" pulumi-lang-go=\"`sku`\" pulumi-lang-python=\"`sku`\" pulumi-lang-yaml=\"`sku`\" pulumi-lang-java=\"`sku`\"\u003e`sku`\u003c/span\u003e arguments - where `Generation2` is only value for a \u003cspan pulumi-lang-nodejs=\"`sku`\" pulumi-lang-dotnet=\"`Sku`\" pulumi-lang-go=\"`sku`\" pulumi-lang-python=\"`sku`\" pulumi-lang-yaml=\"`sku`\" pulumi-lang-java=\"`sku`\"\u003e`sku`\u003c/span\u003e larger than `VpnGw2` or `VpnGw2AZ`.\n","willReplaceOnChanges":true},"ipConfigurations":{"type":"array","items":{"$ref":"#/types/azure:network/VirtualNetworkGatewayIpConfiguration:VirtualNetworkGatewayIpConfiguration"},"description":"One or more (up to 3) \u003cspan pulumi-lang-nodejs=\"`ipConfiguration`\" pulumi-lang-dotnet=\"`IpConfiguration`\" pulumi-lang-go=\"`ipConfiguration`\" pulumi-lang-python=\"`ip_configuration`\" pulumi-lang-yaml=\"`ipConfiguration`\" pulumi-lang-java=\"`ipConfiguration`\"\u003e`ip_configuration`\u003c/span\u003e blocks documented below. Changing this forces a new resource to be created. An active-standby gateway requires exactly one \u003cspan pulumi-lang-nodejs=\"`ipConfiguration`\" pulumi-lang-dotnet=\"`IpConfiguration`\" pulumi-lang-go=\"`ipConfiguration`\" pulumi-lang-python=\"`ip_configuration`\" pulumi-lang-yaml=\"`ipConfiguration`\" pulumi-lang-java=\"`ipConfiguration`\"\u003e`ip_configuration`\u003c/span\u003e block, an active-active gateway requires exactly two \u003cspan pulumi-lang-nodejs=\"`ipConfiguration`\" pulumi-lang-dotnet=\"`IpConfiguration`\" pulumi-lang-go=\"`ipConfiguration`\" pulumi-lang-python=\"`ip_configuration`\" pulumi-lang-yaml=\"`ipConfiguration`\" pulumi-lang-java=\"`ipConfiguration`\"\u003e`ip_configuration`\u003c/span\u003e blocks whereas an active-active zone redundant gateway with P2S configuration requires exactly three \u003cspan pulumi-lang-nodejs=\"`ipConfiguration`\" pulumi-lang-dotnet=\"`IpConfiguration`\" pulumi-lang-go=\"`ipConfiguration`\" pulumi-lang-python=\"`ip_configuration`\" pulumi-lang-yaml=\"`ipConfiguration`\" pulumi-lang-java=\"`ipConfiguration`\"\u003e`ip_configuration`\u003c/span\u003e blocks.\n","willReplaceOnChanges":true},"ipSecReplayProtectionEnabled":{"type":"boolean","description":"Is IP Sec Replay Protection enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"location":{"type":"string","description":"The location/region where the Virtual Network Gateway is located. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the Virtual Network Gateway. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"policyGroups":{"type":"array","items":{"$ref":"#/types/azure:network/VirtualNetworkGatewayPolicyGroup:VirtualNetworkGatewayPolicyGroup"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`policyGroup`\" pulumi-lang-dotnet=\"`PolicyGroup`\" pulumi-lang-go=\"`policyGroup`\" pulumi-lang-python=\"`policy_group`\" pulumi-lang-yaml=\"`policyGroup`\" pulumi-lang-java=\"`policyGroup`\"\u003e`policy_group`\u003c/span\u003e blocks as defined below.\n"},"privateIpAddressEnabled":{"type":"boolean","description":"Should private IP be enabled on this gateway for connections? Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"remoteVnetTrafficEnabled":{"type":"boolean","description":"Is remote vnet traffic that is used to configure this gateway to accept traffic from other Azure Virtual Networks enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the Virtual Network Gateway. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sku":{"type":"string","description":"Configuration of the size and capacity of the virtual network gateway. Valid options are `Basic`, `Standard`, `HighPerformance`, `UltraPerformance`, `ErGwScale`, `ErGw1AZ`, `ErGw2AZ`, `ErGw3AZ`, `VpnGw1`, `VpnGw2`, `VpnGw3`, `VpnGw4`,`VpnGw5`, `VpnGw1AZ`, `VpnGw2AZ`, `VpnGw3AZ`,`VpnGw4AZ` and `VpnGw5AZ` and depend on the \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`vpnType`\" pulumi-lang-dotnet=\"`VpnType`\" pulumi-lang-go=\"`vpnType`\" pulumi-lang-python=\"`vpn_type`\" pulumi-lang-yaml=\"`vpnType`\" pulumi-lang-java=\"`vpnType`\"\u003e`vpn_type`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`generation`\" pulumi-lang-dotnet=\"`Generation`\" pulumi-lang-go=\"`generation`\" pulumi-lang-python=\"`generation`\" pulumi-lang-yaml=\"`generation`\" pulumi-lang-java=\"`generation`\"\u003e`generation`\u003c/span\u003e arguments. A `PolicyBased` gateway only supports the `Basic` SKU. Further, the `UltraPerformance` and `ErGwScale` SKU is only supported by an `ExpressRoute` gateway.\n\n\u003e **Note:** To build a UltraPerformance ExpressRoute Virtual Network gateway, the associated Public IP needs to be SKU \"Basic\" not \"Standard\"\n\n\u003e **Note:** Not all SKUs (e.g. `ErGw1AZ`) are available in all regions. If you see `StatusCode=400 -- Original Error: Code=\"InvalidGatewaySkuSpecifiedForGatewayDeploymentType\"` please try another region.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"type":{"type":"string","description":"The type of the Virtual Network Gateway. Valid options are `Vpn` or `ExpressRoute`. Changing the type forces a new resource to be created.\n","willReplaceOnChanges":true},"virtualWanTrafficEnabled":{"type":"boolean","description":"Is remote vnet traffic that is used to configure this gateway to accept traffic from remote Virtual WAN networks enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"vpnClientConfiguration":{"$ref":"#/types/azure:network/VirtualNetworkGatewayVpnClientConfiguration:VirtualNetworkGatewayVpnClientConfiguration","description":"A \u003cspan pulumi-lang-nodejs=\"`vpnClientConfiguration`\" pulumi-lang-dotnet=\"`VpnClientConfiguration`\" pulumi-lang-go=\"`vpnClientConfiguration`\" pulumi-lang-python=\"`vpn_client_configuration`\" pulumi-lang-yaml=\"`vpnClientConfiguration`\" pulumi-lang-java=\"`vpnClientConfiguration`\"\u003e`vpn_client_configuration`\u003c/span\u003e block which is documented below. In this block the Virtual Network Gateway can be configured to accept IPSec point-to-site connections.\n"},"vpnType":{"type":"string","description":"The routing type of the Virtual Network Gateway. Valid options are `RouteBased` or `PolicyBased`. Defaults to `RouteBased`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["ipConfigurations","resourceGroupName","sku","type"],"stateInputs":{"description":"Input properties used for looking up and filtering VirtualNetworkGateway resources.\n","properties":{"activeActive":{"type":"boolean","description":"If \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, an active-active Virtual Network Gateway will be created. An active-active gateway requires a `HighPerformance` or an `UltraPerformance` SKU. If \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e, an active-standby gateway will be created. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"bgpRouteTranslationForNatEnabled":{"type":"boolean","description":"Is BGP Route Translation for NAT enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"bgpSettings":{"$ref":"#/types/azure:network/VirtualNetworkGatewayBgpSettings:VirtualNetworkGatewayBgpSettings","description":"A \u003cspan pulumi-lang-nodejs=\"`bgpSettings`\" pulumi-lang-dotnet=\"`BgpSettings`\" pulumi-lang-go=\"`bgpSettings`\" pulumi-lang-python=\"`bgp_settings`\" pulumi-lang-yaml=\"`bgpSettings`\" pulumi-lang-java=\"`bgpSettings`\"\u003e`bgp_settings`\u003c/span\u003e block which is documented below. In this block the BGP specific settings can be defined.\n"},"customRoute":{"$ref":"#/types/azure:network/VirtualNetworkGatewayCustomRoute:VirtualNetworkGatewayCustomRoute","description":"A \u003cspan pulumi-lang-nodejs=\"`customRoute`\" pulumi-lang-dotnet=\"`CustomRoute`\" pulumi-lang-go=\"`customRoute`\" pulumi-lang-python=\"`custom_route`\" pulumi-lang-yaml=\"`customRoute`\" pulumi-lang-java=\"`customRoute`\"\u003e`custom_route`\u003c/span\u003e block as defined below. Specifies a custom routes address space for a virtual network gateway and a VpnClient.\n"},"defaultLocalNetworkGatewayId":{"type":"string","description":"The ID of the local network gateway through which outbound Internet traffic from the virtual network in which the gateway is created will be routed (*forced tunnelling*). Refer to the [Azure documentation on forced tunnelling](https://docs.microsoft.com/azure/vpn-gateway/vpn-gateway-forced-tunneling-rm). If not specified, forced tunnelling is disabled.\n"},"dnsForwardingEnabled":{"type":"boolean","description":"Is DNS forwarding enabled?\n"},"edgeZone":{"type":"string","description":"Specifies the Edge Zone within the Azure Region where this Virtual Network Gateway should exist. Changing this forces a new Virtual Network Gateway to be created.\n","willReplaceOnChanges":true},"enableBgp":{"type":"boolean","description":"If \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, BGP (Border Gateway Protocol) will be enabled for this Virtual Network Gateway. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"generation":{"type":"string","description":"The Generation of the Virtual Network gateway. Possible values include `Generation1`, `Generation2` or `None`. Changing this forces a new resource to be created.\n\n\u003e **Note:** The available values depend on the \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`sku`\" pulumi-lang-dotnet=\"`Sku`\" pulumi-lang-go=\"`sku`\" pulumi-lang-python=\"`sku`\" pulumi-lang-yaml=\"`sku`\" pulumi-lang-java=\"`sku`\"\u003e`sku`\u003c/span\u003e arguments - where `Generation2` is only value for a \u003cspan pulumi-lang-nodejs=\"`sku`\" pulumi-lang-dotnet=\"`Sku`\" pulumi-lang-go=\"`sku`\" pulumi-lang-python=\"`sku`\" pulumi-lang-yaml=\"`sku`\" pulumi-lang-java=\"`sku`\"\u003e`sku`\u003c/span\u003e larger than `VpnGw2` or `VpnGw2AZ`.\n","willReplaceOnChanges":true},"ipConfigurations":{"type":"array","items":{"$ref":"#/types/azure:network/VirtualNetworkGatewayIpConfiguration:VirtualNetworkGatewayIpConfiguration"},"description":"One or more (up to 3) \u003cspan pulumi-lang-nodejs=\"`ipConfiguration`\" pulumi-lang-dotnet=\"`IpConfiguration`\" pulumi-lang-go=\"`ipConfiguration`\" pulumi-lang-python=\"`ip_configuration`\" pulumi-lang-yaml=\"`ipConfiguration`\" pulumi-lang-java=\"`ipConfiguration`\"\u003e`ip_configuration`\u003c/span\u003e blocks documented below. Changing this forces a new resource to be created. An active-standby gateway requires exactly one \u003cspan pulumi-lang-nodejs=\"`ipConfiguration`\" pulumi-lang-dotnet=\"`IpConfiguration`\" pulumi-lang-go=\"`ipConfiguration`\" pulumi-lang-python=\"`ip_configuration`\" pulumi-lang-yaml=\"`ipConfiguration`\" pulumi-lang-java=\"`ipConfiguration`\"\u003e`ip_configuration`\u003c/span\u003e block, an active-active gateway requires exactly two \u003cspan pulumi-lang-nodejs=\"`ipConfiguration`\" pulumi-lang-dotnet=\"`IpConfiguration`\" pulumi-lang-go=\"`ipConfiguration`\" pulumi-lang-python=\"`ip_configuration`\" pulumi-lang-yaml=\"`ipConfiguration`\" pulumi-lang-java=\"`ipConfiguration`\"\u003e`ip_configuration`\u003c/span\u003e blocks whereas an active-active zone redundant gateway with P2S configuration requires exactly three \u003cspan pulumi-lang-nodejs=\"`ipConfiguration`\" pulumi-lang-dotnet=\"`IpConfiguration`\" pulumi-lang-go=\"`ipConfiguration`\" pulumi-lang-python=\"`ip_configuration`\" pulumi-lang-yaml=\"`ipConfiguration`\" pulumi-lang-java=\"`ipConfiguration`\"\u003e`ip_configuration`\u003c/span\u003e blocks.\n","willReplaceOnChanges":true},"ipSecReplayProtectionEnabled":{"type":"boolean","description":"Is IP Sec Replay Protection enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"location":{"type":"string","description":"The location/region where the Virtual Network Gateway is located. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the Virtual Network Gateway. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"policyGroups":{"type":"array","items":{"$ref":"#/types/azure:network/VirtualNetworkGatewayPolicyGroup:VirtualNetworkGatewayPolicyGroup"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`policyGroup`\" pulumi-lang-dotnet=\"`PolicyGroup`\" pulumi-lang-go=\"`policyGroup`\" pulumi-lang-python=\"`policy_group`\" pulumi-lang-yaml=\"`policyGroup`\" pulumi-lang-java=\"`policyGroup`\"\u003e`policy_group`\u003c/span\u003e blocks as defined below.\n"},"privateIpAddressEnabled":{"type":"boolean","description":"Should private IP be enabled on this gateway for connections? Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"remoteVnetTrafficEnabled":{"type":"boolean","description":"Is remote vnet traffic that is used to configure this gateway to accept traffic from other Azure Virtual Networks enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the Virtual Network Gateway. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sku":{"type":"string","description":"Configuration of the size and capacity of the virtual network gateway. Valid options are `Basic`, `Standard`, `HighPerformance`, `UltraPerformance`, `ErGwScale`, `ErGw1AZ`, `ErGw2AZ`, `ErGw3AZ`, `VpnGw1`, `VpnGw2`, `VpnGw3`, `VpnGw4`,`VpnGw5`, `VpnGw1AZ`, `VpnGw2AZ`, `VpnGw3AZ`,`VpnGw4AZ` and `VpnGw5AZ` and depend on the \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`vpnType`\" pulumi-lang-dotnet=\"`VpnType`\" pulumi-lang-go=\"`vpnType`\" pulumi-lang-python=\"`vpn_type`\" pulumi-lang-yaml=\"`vpnType`\" pulumi-lang-java=\"`vpnType`\"\u003e`vpn_type`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`generation`\" pulumi-lang-dotnet=\"`Generation`\" pulumi-lang-go=\"`generation`\" pulumi-lang-python=\"`generation`\" pulumi-lang-yaml=\"`generation`\" pulumi-lang-java=\"`generation`\"\u003e`generation`\u003c/span\u003e arguments. A `PolicyBased` gateway only supports the `Basic` SKU. Further, the `UltraPerformance` and `ErGwScale` SKU is only supported by an `ExpressRoute` gateway.\n\n\u003e **Note:** To build a UltraPerformance ExpressRoute Virtual Network gateway, the associated Public IP needs to be SKU \"Basic\" not \"Standard\"\n\n\u003e **Note:** Not all SKUs (e.g. `ErGw1AZ`) are available in all regions. If you see `StatusCode=400 -- Original Error: Code=\"InvalidGatewaySkuSpecifiedForGatewayDeploymentType\"` please try another region.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"type":{"type":"string","description":"The type of the Virtual Network Gateway. Valid options are `Vpn` or `ExpressRoute`. Changing the type forces a new resource to be created.\n","willReplaceOnChanges":true},"virtualWanTrafficEnabled":{"type":"boolean","description":"Is remote vnet traffic that is used to configure this gateway to accept traffic from remote Virtual WAN networks enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"vpnClientConfiguration":{"$ref":"#/types/azure:network/VirtualNetworkGatewayVpnClientConfiguration:VirtualNetworkGatewayVpnClientConfiguration","description":"A \u003cspan pulumi-lang-nodejs=\"`vpnClientConfiguration`\" pulumi-lang-dotnet=\"`VpnClientConfiguration`\" pulumi-lang-go=\"`vpnClientConfiguration`\" pulumi-lang-python=\"`vpn_client_configuration`\" pulumi-lang-yaml=\"`vpnClientConfiguration`\" pulumi-lang-java=\"`vpnClientConfiguration`\"\u003e`vpn_client_configuration`\u003c/span\u003e block which is documented below. In this block the Virtual Network Gateway can be configured to accept IPSec point-to-site connections.\n"},"vpnType":{"type":"string","description":"The routing type of the Virtual Network Gateway. Valid options are `RouteBased` or `PolicyBased`. Defaults to `RouteBased`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:network/virtualNetworkGatewayConnection:VirtualNetworkGatewayConnection":{"description":"Manages a connection in an existing Virtual Network Gateway.\n\n## Example Usage\n\n### Site-to-Site connection\n\nThe following example shows a connection between an Azure virtual network\nand an on-premises VPN device and network.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"test\",\n    location: \"West US\",\n});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"example\", {\n    name: \"test\",\n    location: example.location,\n    resourceGroupName: example.name,\n    addressSpaces: [\"10.0.0.0/16\"],\n});\nconst exampleSubnet = new azure.network.Subnet(\"example\", {\n    name: \"GatewaySubnet\",\n    resourceGroupName: example.name,\n    virtualNetworkName: exampleVirtualNetwork.name,\n    addressPrefixes: [\"10.0.1.0/24\"],\n});\nconst onpremise = new azure.network.LocalNetworkGateway(\"onpremise\", {\n    name: \"onpremise\",\n    location: example.location,\n    resourceGroupName: example.name,\n    gatewayAddress: \"168.62.225.23\",\n    addressSpaces: [\"10.1.1.0/24\"],\n});\nconst examplePublicIp = new azure.network.PublicIp(\"example\", {\n    name: \"test\",\n    location: example.location,\n    resourceGroupName: example.name,\n    allocationMethod: \"Dynamic\",\n});\nconst exampleVirtualNetworkGateway = new azure.network.VirtualNetworkGateway(\"example\", {\n    name: \"test\",\n    location: example.location,\n    resourceGroupName: example.name,\n    type: \"Vpn\",\n    vpnType: \"RouteBased\",\n    activeActive: false,\n    enableBgp: false,\n    sku: \"Basic\",\n    ipConfigurations: [{\n        publicIpAddressId: examplePublicIp.id,\n        privateIpAddressAllocation: \"Dynamic\",\n        subnetId: exampleSubnet.id,\n    }],\n});\nconst onpremiseVirtualNetworkGatewayConnection = new azure.network.VirtualNetworkGatewayConnection(\"onpremise\", {\n    name: \"onpremise\",\n    location: example.location,\n    resourceGroupName: example.name,\n    type: \"IPsec\",\n    virtualNetworkGatewayId: exampleVirtualNetworkGateway.id,\n    localNetworkGatewayId: onpremise.id,\n    sharedKey: \"4-v3ry-53cr37-1p53c-5h4r3d-k3y\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"test\",\n    location=\"West US\")\nexample_virtual_network = azure.network.VirtualNetwork(\"example\",\n    name=\"test\",\n    location=example.location,\n    resource_group_name=example.name,\n    address_spaces=[\"10.0.0.0/16\"])\nexample_subnet = azure.network.Subnet(\"example\",\n    name=\"GatewaySubnet\",\n    resource_group_name=example.name,\n    virtual_network_name=example_virtual_network.name,\n    address_prefixes=[\"10.0.1.0/24\"])\nonpremise = azure.network.LocalNetworkGateway(\"onpremise\",\n    name=\"onpremise\",\n    location=example.location,\n    resource_group_name=example.name,\n    gateway_address=\"168.62.225.23\",\n    address_spaces=[\"10.1.1.0/24\"])\nexample_public_ip = azure.network.PublicIp(\"example\",\n    name=\"test\",\n    location=example.location,\n    resource_group_name=example.name,\n    allocation_method=\"Dynamic\")\nexample_virtual_network_gateway = azure.network.VirtualNetworkGateway(\"example\",\n    name=\"test\",\n    location=example.location,\n    resource_group_name=example.name,\n    type=\"Vpn\",\n    vpn_type=\"RouteBased\",\n    active_active=False,\n    enable_bgp=False,\n    sku=\"Basic\",\n    ip_configurations=[{\n        \"public_ip_address_id\": example_public_ip.id,\n        \"private_ip_address_allocation\": \"Dynamic\",\n        \"subnet_id\": example_subnet.id,\n    }])\nonpremise_virtual_network_gateway_connection = azure.network.VirtualNetworkGatewayConnection(\"onpremise\",\n    name=\"onpremise\",\n    location=example.location,\n    resource_group_name=example.name,\n    type=\"IPsec\",\n    virtual_network_gateway_id=example_virtual_network_gateway.id,\n    local_network_gateway_id=onpremise.id,\n    shared_key=\"4-v3ry-53cr37-1p53c-5h4r3d-k3y\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"test\",\n        Location = \"West US\",\n    });\n\n    var exampleVirtualNetwork = new Azure.Network.VirtualNetwork(\"example\", new()\n    {\n        Name = \"test\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        AddressSpaces = new[]\n        {\n            \"10.0.0.0/16\",\n        },\n    });\n\n    var exampleSubnet = new Azure.Network.Subnet(\"example\", new()\n    {\n        Name = \"GatewaySubnet\",\n        ResourceGroupName = example.Name,\n        VirtualNetworkName = exampleVirtualNetwork.Name,\n        AddressPrefixes = new[]\n        {\n            \"10.0.1.0/24\",\n        },\n    });\n\n    var onpremise = new Azure.Network.LocalNetworkGateway(\"onpremise\", new()\n    {\n        Name = \"onpremise\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        GatewayAddress = \"168.62.225.23\",\n        AddressSpaces = new[]\n        {\n            \"10.1.1.0/24\",\n        },\n    });\n\n    var examplePublicIp = new Azure.Network.PublicIp(\"example\", new()\n    {\n        Name = \"test\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        AllocationMethod = \"Dynamic\",\n    });\n\n    var exampleVirtualNetworkGateway = new Azure.Network.VirtualNetworkGateway(\"example\", new()\n    {\n        Name = \"test\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Type = \"Vpn\",\n        VpnType = \"RouteBased\",\n        ActiveActive = false,\n        EnableBgp = false,\n        Sku = \"Basic\",\n        IpConfigurations = new[]\n        {\n            new Azure.Network.Inputs.VirtualNetworkGatewayIpConfigurationArgs\n            {\n                PublicIpAddressId = examplePublicIp.Id,\n                PrivateIpAddressAllocation = \"Dynamic\",\n                SubnetId = exampleSubnet.Id,\n            },\n        },\n    });\n\n    var onpremiseVirtualNetworkGatewayConnection = new Azure.Network.VirtualNetworkGatewayConnection(\"onpremise\", new()\n    {\n        Name = \"onpremise\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Type = \"IPsec\",\n        VirtualNetworkGatewayId = exampleVirtualNetworkGateway.Id,\n        LocalNetworkGatewayId = onpremise.Id,\n        SharedKey = \"4-v3ry-53cr37-1p53c-5h4r3d-k3y\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"test\"),\n\t\t\tLocation: pulumi.String(\"West US\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, \"example\", \u0026network.VirtualNetworkArgs{\n\t\t\tName:              pulumi.String(\"test\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tAddressSpaces: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.0.0/16\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSubnet, err := network.NewSubnet(ctx, \"example\", \u0026network.SubnetArgs{\n\t\t\tName:               pulumi.String(\"GatewaySubnet\"),\n\t\t\tResourceGroupName:  example.Name,\n\t\t\tVirtualNetworkName: exampleVirtualNetwork.Name,\n\t\t\tAddressPrefixes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.1.0/24\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tonpremise, err := network.NewLocalNetworkGateway(ctx, \"onpremise\", \u0026network.LocalNetworkGatewayArgs{\n\t\t\tName:              pulumi.String(\"onpremise\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tGatewayAddress:    pulumi.String(\"168.62.225.23\"),\n\t\t\tAddressSpaces: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.1.1.0/24\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texamplePublicIp, err := network.NewPublicIp(ctx, \"example\", \u0026network.PublicIpArgs{\n\t\t\tName:              pulumi.String(\"test\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tAllocationMethod:  pulumi.String(\"Dynamic\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualNetworkGateway, err := network.NewVirtualNetworkGateway(ctx, \"example\", \u0026network.VirtualNetworkGatewayArgs{\n\t\t\tName:              pulumi.String(\"test\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tType:              pulumi.String(\"Vpn\"),\n\t\t\tVpnType:           pulumi.String(\"RouteBased\"),\n\t\t\tActiveActive:      pulumi.Bool(false),\n\t\t\tEnableBgp:         pulumi.Bool(false),\n\t\t\tSku:               pulumi.String(\"Basic\"),\n\t\t\tIpConfigurations: network.VirtualNetworkGatewayIpConfigurationArray{\n\t\t\t\t\u0026network.VirtualNetworkGatewayIpConfigurationArgs{\n\t\t\t\t\tPublicIpAddressId:          examplePublicIp.ID(),\n\t\t\t\t\tPrivateIpAddressAllocation: pulumi.String(\"Dynamic\"),\n\t\t\t\t\tSubnetId:                   exampleSubnet.ID(),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = network.NewVirtualNetworkGatewayConnection(ctx, \"onpremise\", \u0026network.VirtualNetworkGatewayConnectionArgs{\n\t\t\tName:                    pulumi.String(\"onpremise\"),\n\t\t\tLocation:                example.Location,\n\t\t\tResourceGroupName:       example.Name,\n\t\t\tType:                    pulumi.String(\"IPsec\"),\n\t\t\tVirtualNetworkGatewayId: exampleVirtualNetworkGateway.ID(),\n\t\t\tLocalNetworkGatewayId:   onpremise.ID(),\n\t\t\tSharedKey:               pulumi.String(\"4-v3ry-53cr37-1p53c-5h4r3d-k3y\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.VirtualNetwork;\nimport com.pulumi.azure.network.VirtualNetworkArgs;\nimport com.pulumi.azure.network.Subnet;\nimport com.pulumi.azure.network.SubnetArgs;\nimport com.pulumi.azure.network.LocalNetworkGateway;\nimport com.pulumi.azure.network.LocalNetworkGatewayArgs;\nimport com.pulumi.azure.network.PublicIp;\nimport com.pulumi.azure.network.PublicIpArgs;\nimport com.pulumi.azure.network.VirtualNetworkGateway;\nimport com.pulumi.azure.network.VirtualNetworkGatewayArgs;\nimport com.pulumi.azure.network.inputs.VirtualNetworkGatewayIpConfigurationArgs;\nimport com.pulumi.azure.network.VirtualNetworkGatewayConnection;\nimport com.pulumi.azure.network.VirtualNetworkGatewayConnectionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"test\")\n            .location(\"West US\")\n            .build());\n\n        var exampleVirtualNetwork = new VirtualNetwork(\"exampleVirtualNetwork\", VirtualNetworkArgs.builder()\n            .name(\"test\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .addressSpaces(\"10.0.0.0/16\")\n            .build());\n\n        var exampleSubnet = new Subnet(\"exampleSubnet\", SubnetArgs.builder()\n            .name(\"GatewaySubnet\")\n            .resourceGroupName(example.name())\n            .virtualNetworkName(exampleVirtualNetwork.name())\n            .addressPrefixes(\"10.0.1.0/24\")\n            .build());\n\n        var onpremise = new LocalNetworkGateway(\"onpremise\", LocalNetworkGatewayArgs.builder()\n            .name(\"onpremise\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .gatewayAddress(\"168.62.225.23\")\n            .addressSpaces(\"10.1.1.0/24\")\n            .build());\n\n        var examplePublicIp = new PublicIp(\"examplePublicIp\", PublicIpArgs.builder()\n            .name(\"test\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .allocationMethod(\"Dynamic\")\n            .build());\n\n        var exampleVirtualNetworkGateway = new VirtualNetworkGateway(\"exampleVirtualNetworkGateway\", VirtualNetworkGatewayArgs.builder()\n            .name(\"test\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .type(\"Vpn\")\n            .vpnType(\"RouteBased\")\n            .activeActive(false)\n            .enableBgp(false)\n            .sku(\"Basic\")\n            .ipConfigurations(VirtualNetworkGatewayIpConfigurationArgs.builder()\n                .publicIpAddressId(examplePublicIp.id())\n                .privateIpAddressAllocation(\"Dynamic\")\n                .subnetId(exampleSubnet.id())\n                .build())\n            .build());\n\n        var onpremiseVirtualNetworkGatewayConnection = new VirtualNetworkGatewayConnection(\"onpremiseVirtualNetworkGatewayConnection\", VirtualNetworkGatewayConnectionArgs.builder()\n            .name(\"onpremise\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .type(\"IPsec\")\n            .virtualNetworkGatewayId(exampleVirtualNetworkGateway.id())\n            .localNetworkGatewayId(onpremise.id())\n            .sharedKey(\"4-v3ry-53cr37-1p53c-5h4r3d-k3y\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: test\n      location: West US\n  exampleVirtualNetwork:\n    type: azure:network:VirtualNetwork\n    name: example\n    properties:\n      name: test\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      addressSpaces:\n        - 10.0.0.0/16\n  exampleSubnet:\n    type: azure:network:Subnet\n    name: example\n    properties:\n      name: GatewaySubnet\n      resourceGroupName: ${example.name}\n      virtualNetworkName: ${exampleVirtualNetwork.name}\n      addressPrefixes:\n        - 10.0.1.0/24\n  onpremise:\n    type: azure:network:LocalNetworkGateway\n    properties:\n      name: onpremise\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      gatewayAddress: 168.62.225.23\n      addressSpaces:\n        - 10.1.1.0/24\n  examplePublicIp:\n    type: azure:network:PublicIp\n    name: example\n    properties:\n      name: test\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      allocationMethod: Dynamic\n  exampleVirtualNetworkGateway:\n    type: azure:network:VirtualNetworkGateway\n    name: example\n    properties:\n      name: test\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      type: Vpn\n      vpnType: RouteBased\n      activeActive: false\n      enableBgp: false\n      sku: Basic\n      ipConfigurations:\n        - publicIpAddressId: ${examplePublicIp.id}\n          privateIpAddressAllocation: Dynamic\n          subnetId: ${exampleSubnet.id}\n  onpremiseVirtualNetworkGatewayConnection:\n    type: azure:network:VirtualNetworkGatewayConnection\n    name: onpremise\n    properties:\n      name: onpremise\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      type: IPsec\n      virtualNetworkGatewayId: ${exampleVirtualNetworkGateway.id}\n      localNetworkGatewayId: ${onpremise.id}\n      sharedKey: 4-v3ry-53cr37-1p53c-5h4r3d-k3y\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### VNet-to-VNet connection\n\nThe following example shows a connection between two Azure virtual network\nin different locations/regions.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst us = new azure.core.ResourceGroup(\"us\", {\n    name: \"us\",\n    location: \"East US\",\n});\nconst usVirtualNetwork = new azure.network.VirtualNetwork(\"us\", {\n    name: \"us\",\n    location: us.location,\n    resourceGroupName: us.name,\n    addressSpaces: [\"10.0.0.0/16\"],\n});\nconst usGateway = new azure.network.Subnet(\"us_gateway\", {\n    name: \"GatewaySubnet\",\n    resourceGroupName: us.name,\n    virtualNetworkName: usVirtualNetwork.name,\n    addressPrefixes: [\"10.0.1.0/24\"],\n});\nconst usPublicIp = new azure.network.PublicIp(\"us\", {\n    name: \"us\",\n    location: us.location,\n    resourceGroupName: us.name,\n    allocationMethod: \"Dynamic\",\n});\nconst usVirtualNetworkGateway = new azure.network.VirtualNetworkGateway(\"us\", {\n    name: \"us-gateway\",\n    location: us.location,\n    resourceGroupName: us.name,\n    type: \"Vpn\",\n    vpnType: \"RouteBased\",\n    sku: \"Basic\",\n    ipConfigurations: [{\n        publicIpAddressId: usPublicIp.id,\n        privateIpAddressAllocation: \"Dynamic\",\n        subnetId: usGateway.id,\n    }],\n});\nconst europe = new azure.core.ResourceGroup(\"europe\", {\n    name: \"europe\",\n    location: \"West Europe\",\n});\nconst europeVirtualNetwork = new azure.network.VirtualNetwork(\"europe\", {\n    name: \"europe\",\n    location: europe.location,\n    resourceGroupName: europe.name,\n    addressSpaces: [\"10.1.0.0/16\"],\n});\nconst europeGateway = new azure.network.Subnet(\"europe_gateway\", {\n    name: \"GatewaySubnet\",\n    resourceGroupName: europe.name,\n    virtualNetworkName: europeVirtualNetwork.name,\n    addressPrefixes: [\"10.1.1.0/24\"],\n});\nconst europePublicIp = new azure.network.PublicIp(\"europe\", {\n    name: \"europe\",\n    location: europe.location,\n    resourceGroupName: europe.name,\n    allocationMethod: \"Dynamic\",\n});\nconst europeVirtualNetworkGateway = new azure.network.VirtualNetworkGateway(\"europe\", {\n    name: \"europe-gateway\",\n    location: europe.location,\n    resourceGroupName: europe.name,\n    type: \"Vpn\",\n    vpnType: \"RouteBased\",\n    sku: \"Basic\",\n    ipConfigurations: [{\n        publicIpAddressId: europePublicIp.id,\n        privateIpAddressAllocation: \"Dynamic\",\n        subnetId: europeGateway.id,\n    }],\n});\nconst usToEurope = new azure.network.VirtualNetworkGatewayConnection(\"us_to_europe\", {\n    name: \"us-to-europe\",\n    location: us.location,\n    resourceGroupName: us.name,\n    type: \"Vnet2Vnet\",\n    virtualNetworkGatewayId: usVirtualNetworkGateway.id,\n    peerVirtualNetworkGatewayId: europeVirtualNetworkGateway.id,\n    sharedKey: \"4-v3ry-53cr37-1p53c-5h4r3d-k3y\",\n});\nconst europeToUs = new azure.network.VirtualNetworkGatewayConnection(\"europe_to_us\", {\n    name: \"europe-to-us\",\n    location: europe.location,\n    resourceGroupName: europe.name,\n    type: \"Vnet2Vnet\",\n    virtualNetworkGatewayId: europeVirtualNetworkGateway.id,\n    peerVirtualNetworkGatewayId: usVirtualNetworkGateway.id,\n    sharedKey: \"4-v3ry-53cr37-1p53c-5h4r3d-k3y\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nus = azure.core.ResourceGroup(\"us\",\n    name=\"us\",\n    location=\"East US\")\nus_virtual_network = azure.network.VirtualNetwork(\"us\",\n    name=\"us\",\n    location=us.location,\n    resource_group_name=us.name,\n    address_spaces=[\"10.0.0.0/16\"])\nus_gateway = azure.network.Subnet(\"us_gateway\",\n    name=\"GatewaySubnet\",\n    resource_group_name=us.name,\n    virtual_network_name=us_virtual_network.name,\n    address_prefixes=[\"10.0.1.0/24\"])\nus_public_ip = azure.network.PublicIp(\"us\",\n    name=\"us\",\n    location=us.location,\n    resource_group_name=us.name,\n    allocation_method=\"Dynamic\")\nus_virtual_network_gateway = azure.network.VirtualNetworkGateway(\"us\",\n    name=\"us-gateway\",\n    location=us.location,\n    resource_group_name=us.name,\n    type=\"Vpn\",\n    vpn_type=\"RouteBased\",\n    sku=\"Basic\",\n    ip_configurations=[{\n        \"public_ip_address_id\": us_public_ip.id,\n        \"private_ip_address_allocation\": \"Dynamic\",\n        \"subnet_id\": us_gateway.id,\n    }])\neurope = azure.core.ResourceGroup(\"europe\",\n    name=\"europe\",\n    location=\"West Europe\")\neurope_virtual_network = azure.network.VirtualNetwork(\"europe\",\n    name=\"europe\",\n    location=europe.location,\n    resource_group_name=europe.name,\n    address_spaces=[\"10.1.0.0/16\"])\neurope_gateway = azure.network.Subnet(\"europe_gateway\",\n    name=\"GatewaySubnet\",\n    resource_group_name=europe.name,\n    virtual_network_name=europe_virtual_network.name,\n    address_prefixes=[\"10.1.1.0/24\"])\neurope_public_ip = azure.network.PublicIp(\"europe\",\n    name=\"europe\",\n    location=europe.location,\n    resource_group_name=europe.name,\n    allocation_method=\"Dynamic\")\neurope_virtual_network_gateway = azure.network.VirtualNetworkGateway(\"europe\",\n    name=\"europe-gateway\",\n    location=europe.location,\n    resource_group_name=europe.name,\n    type=\"Vpn\",\n    vpn_type=\"RouteBased\",\n    sku=\"Basic\",\n    ip_configurations=[{\n        \"public_ip_address_id\": europe_public_ip.id,\n        \"private_ip_address_allocation\": \"Dynamic\",\n        \"subnet_id\": europe_gateway.id,\n    }])\nus_to_europe = azure.network.VirtualNetworkGatewayConnection(\"us_to_europe\",\n    name=\"us-to-europe\",\n    location=us.location,\n    resource_group_name=us.name,\n    type=\"Vnet2Vnet\",\n    virtual_network_gateway_id=us_virtual_network_gateway.id,\n    peer_virtual_network_gateway_id=europe_virtual_network_gateway.id,\n    shared_key=\"4-v3ry-53cr37-1p53c-5h4r3d-k3y\")\neurope_to_us = azure.network.VirtualNetworkGatewayConnection(\"europe_to_us\",\n    name=\"europe-to-us\",\n    location=europe.location,\n    resource_group_name=europe.name,\n    type=\"Vnet2Vnet\",\n    virtual_network_gateway_id=europe_virtual_network_gateway.id,\n    peer_virtual_network_gateway_id=us_virtual_network_gateway.id,\n    shared_key=\"4-v3ry-53cr37-1p53c-5h4r3d-k3y\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var us = new Azure.Core.ResourceGroup(\"us\", new()\n    {\n        Name = \"us\",\n        Location = \"East US\",\n    });\n\n    var usVirtualNetwork = new Azure.Network.VirtualNetwork(\"us\", new()\n    {\n        Name = \"us\",\n        Location = us.Location,\n        ResourceGroupName = us.Name,\n        AddressSpaces = new[]\n        {\n            \"10.0.0.0/16\",\n        },\n    });\n\n    var usGateway = new Azure.Network.Subnet(\"us_gateway\", new()\n    {\n        Name = \"GatewaySubnet\",\n        ResourceGroupName = us.Name,\n        VirtualNetworkName = usVirtualNetwork.Name,\n        AddressPrefixes = new[]\n        {\n            \"10.0.1.0/24\",\n        },\n    });\n\n    var usPublicIp = new Azure.Network.PublicIp(\"us\", new()\n    {\n        Name = \"us\",\n        Location = us.Location,\n        ResourceGroupName = us.Name,\n        AllocationMethod = \"Dynamic\",\n    });\n\n    var usVirtualNetworkGateway = new Azure.Network.VirtualNetworkGateway(\"us\", new()\n    {\n        Name = \"us-gateway\",\n        Location = us.Location,\n        ResourceGroupName = us.Name,\n        Type = \"Vpn\",\n        VpnType = \"RouteBased\",\n        Sku = \"Basic\",\n        IpConfigurations = new[]\n        {\n            new Azure.Network.Inputs.VirtualNetworkGatewayIpConfigurationArgs\n            {\n                PublicIpAddressId = usPublicIp.Id,\n                PrivateIpAddressAllocation = \"Dynamic\",\n                SubnetId = usGateway.Id,\n            },\n        },\n    });\n\n    var europe = new Azure.Core.ResourceGroup(\"europe\", new()\n    {\n        Name = \"europe\",\n        Location = \"West Europe\",\n    });\n\n    var europeVirtualNetwork = new Azure.Network.VirtualNetwork(\"europe\", new()\n    {\n        Name = \"europe\",\n        Location = europe.Location,\n        ResourceGroupName = europe.Name,\n        AddressSpaces = new[]\n        {\n            \"10.1.0.0/16\",\n        },\n    });\n\n    var europeGateway = new Azure.Network.Subnet(\"europe_gateway\", new()\n    {\n        Name = \"GatewaySubnet\",\n        ResourceGroupName = europe.Name,\n        VirtualNetworkName = europeVirtualNetwork.Name,\n        AddressPrefixes = new[]\n        {\n            \"10.1.1.0/24\",\n        },\n    });\n\n    var europePublicIp = new Azure.Network.PublicIp(\"europe\", new()\n    {\n        Name = \"europe\",\n        Location = europe.Location,\n        ResourceGroupName = europe.Name,\n        AllocationMethod = \"Dynamic\",\n    });\n\n    var europeVirtualNetworkGateway = new Azure.Network.VirtualNetworkGateway(\"europe\", new()\n    {\n        Name = \"europe-gateway\",\n        Location = europe.Location,\n        ResourceGroupName = europe.Name,\n        Type = \"Vpn\",\n        VpnType = \"RouteBased\",\n        Sku = \"Basic\",\n        IpConfigurations = new[]\n        {\n            new Azure.Network.Inputs.VirtualNetworkGatewayIpConfigurationArgs\n            {\n                PublicIpAddressId = europePublicIp.Id,\n                PrivateIpAddressAllocation = \"Dynamic\",\n                SubnetId = europeGateway.Id,\n            },\n        },\n    });\n\n    var usToEurope = new Azure.Network.VirtualNetworkGatewayConnection(\"us_to_europe\", new()\n    {\n        Name = \"us-to-europe\",\n        Location = us.Location,\n        ResourceGroupName = us.Name,\n        Type = \"Vnet2Vnet\",\n        VirtualNetworkGatewayId = usVirtualNetworkGateway.Id,\n        PeerVirtualNetworkGatewayId = europeVirtualNetworkGateway.Id,\n        SharedKey = \"4-v3ry-53cr37-1p53c-5h4r3d-k3y\",\n    });\n\n    var europeToUs = new Azure.Network.VirtualNetworkGatewayConnection(\"europe_to_us\", new()\n    {\n        Name = \"europe-to-us\",\n        Location = europe.Location,\n        ResourceGroupName = europe.Name,\n        Type = \"Vnet2Vnet\",\n        VirtualNetworkGatewayId = europeVirtualNetworkGateway.Id,\n        PeerVirtualNetworkGatewayId = usVirtualNetworkGateway.Id,\n        SharedKey = \"4-v3ry-53cr37-1p53c-5h4r3d-k3y\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tus, err := core.NewResourceGroup(ctx, \"us\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"us\"),\n\t\t\tLocation: pulumi.String(\"East US\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tusVirtualNetwork, err := network.NewVirtualNetwork(ctx, \"us\", \u0026network.VirtualNetworkArgs{\n\t\t\tName:              pulumi.String(\"us\"),\n\t\t\tLocation:          us.Location,\n\t\t\tResourceGroupName: us.Name,\n\t\t\tAddressSpaces: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.0.0/16\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tusGateway, err := network.NewSubnet(ctx, \"us_gateway\", \u0026network.SubnetArgs{\n\t\t\tName:               pulumi.String(\"GatewaySubnet\"),\n\t\t\tResourceGroupName:  us.Name,\n\t\t\tVirtualNetworkName: usVirtualNetwork.Name,\n\t\t\tAddressPrefixes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.1.0/24\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tusPublicIp, err := network.NewPublicIp(ctx, \"us\", \u0026network.PublicIpArgs{\n\t\t\tName:              pulumi.String(\"us\"),\n\t\t\tLocation:          us.Location,\n\t\t\tResourceGroupName: us.Name,\n\t\t\tAllocationMethod:  pulumi.String(\"Dynamic\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tusVirtualNetworkGateway, err := network.NewVirtualNetworkGateway(ctx, \"us\", \u0026network.VirtualNetworkGatewayArgs{\n\t\t\tName:              pulumi.String(\"us-gateway\"),\n\t\t\tLocation:          us.Location,\n\t\t\tResourceGroupName: us.Name,\n\t\t\tType:              pulumi.String(\"Vpn\"),\n\t\t\tVpnType:           pulumi.String(\"RouteBased\"),\n\t\t\tSku:               pulumi.String(\"Basic\"),\n\t\t\tIpConfigurations: network.VirtualNetworkGatewayIpConfigurationArray{\n\t\t\t\t\u0026network.VirtualNetworkGatewayIpConfigurationArgs{\n\t\t\t\t\tPublicIpAddressId:          usPublicIp.ID(),\n\t\t\t\t\tPrivateIpAddressAllocation: pulumi.String(\"Dynamic\"),\n\t\t\t\t\tSubnetId:                   usGateway.ID(),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\teurope, err := core.NewResourceGroup(ctx, \"europe\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"europe\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\teuropeVirtualNetwork, err := network.NewVirtualNetwork(ctx, \"europe\", \u0026network.VirtualNetworkArgs{\n\t\t\tName:              pulumi.String(\"europe\"),\n\t\t\tLocation:          europe.Location,\n\t\t\tResourceGroupName: europe.Name,\n\t\t\tAddressSpaces: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.1.0.0/16\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\teuropeGateway, err := network.NewSubnet(ctx, \"europe_gateway\", \u0026network.SubnetArgs{\n\t\t\tName:               pulumi.String(\"GatewaySubnet\"),\n\t\t\tResourceGroupName:  europe.Name,\n\t\t\tVirtualNetworkName: europeVirtualNetwork.Name,\n\t\t\tAddressPrefixes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.1.1.0/24\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\teuropePublicIp, err := network.NewPublicIp(ctx, \"europe\", \u0026network.PublicIpArgs{\n\t\t\tName:              pulumi.String(\"europe\"),\n\t\t\tLocation:          europe.Location,\n\t\t\tResourceGroupName: europe.Name,\n\t\t\tAllocationMethod:  pulumi.String(\"Dynamic\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\teuropeVirtualNetworkGateway, err := network.NewVirtualNetworkGateway(ctx, \"europe\", \u0026network.VirtualNetworkGatewayArgs{\n\t\t\tName:              pulumi.String(\"europe-gateway\"),\n\t\t\tLocation:          europe.Location,\n\t\t\tResourceGroupName: europe.Name,\n\t\t\tType:              pulumi.String(\"Vpn\"),\n\t\t\tVpnType:           pulumi.String(\"RouteBased\"),\n\t\t\tSku:               pulumi.String(\"Basic\"),\n\t\t\tIpConfigurations: network.VirtualNetworkGatewayIpConfigurationArray{\n\t\t\t\t\u0026network.VirtualNetworkGatewayIpConfigurationArgs{\n\t\t\t\t\tPublicIpAddressId:          europePublicIp.ID(),\n\t\t\t\t\tPrivateIpAddressAllocation: pulumi.String(\"Dynamic\"),\n\t\t\t\t\tSubnetId:                   europeGateway.ID(),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = network.NewVirtualNetworkGatewayConnection(ctx, \"us_to_europe\", \u0026network.VirtualNetworkGatewayConnectionArgs{\n\t\t\tName:                        pulumi.String(\"us-to-europe\"),\n\t\t\tLocation:                    us.Location,\n\t\t\tResourceGroupName:           us.Name,\n\t\t\tType:                        pulumi.String(\"Vnet2Vnet\"),\n\t\t\tVirtualNetworkGatewayId:     usVirtualNetworkGateway.ID(),\n\t\t\tPeerVirtualNetworkGatewayId: europeVirtualNetworkGateway.ID(),\n\t\t\tSharedKey:                   pulumi.String(\"4-v3ry-53cr37-1p53c-5h4r3d-k3y\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = network.NewVirtualNetworkGatewayConnection(ctx, \"europe_to_us\", \u0026network.VirtualNetworkGatewayConnectionArgs{\n\t\t\tName:                        pulumi.String(\"europe-to-us\"),\n\t\t\tLocation:                    europe.Location,\n\t\t\tResourceGroupName:           europe.Name,\n\t\t\tType:                        pulumi.String(\"Vnet2Vnet\"),\n\t\t\tVirtualNetworkGatewayId:     europeVirtualNetworkGateway.ID(),\n\t\t\tPeerVirtualNetworkGatewayId: usVirtualNetworkGateway.ID(),\n\t\t\tSharedKey:                   pulumi.String(\"4-v3ry-53cr37-1p53c-5h4r3d-k3y\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.VirtualNetwork;\nimport com.pulumi.azure.network.VirtualNetworkArgs;\nimport com.pulumi.azure.network.Subnet;\nimport com.pulumi.azure.network.SubnetArgs;\nimport com.pulumi.azure.network.PublicIp;\nimport com.pulumi.azure.network.PublicIpArgs;\nimport com.pulumi.azure.network.VirtualNetworkGateway;\nimport com.pulumi.azure.network.VirtualNetworkGatewayArgs;\nimport com.pulumi.azure.network.inputs.VirtualNetworkGatewayIpConfigurationArgs;\nimport com.pulumi.azure.network.VirtualNetworkGatewayConnection;\nimport com.pulumi.azure.network.VirtualNetworkGatewayConnectionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var us = new ResourceGroup(\"us\", ResourceGroupArgs.builder()\n            .name(\"us\")\n            .location(\"East US\")\n            .build());\n\n        var usVirtualNetwork = new VirtualNetwork(\"usVirtualNetwork\", VirtualNetworkArgs.builder()\n            .name(\"us\")\n            .location(us.location())\n            .resourceGroupName(us.name())\n            .addressSpaces(\"10.0.0.0/16\")\n            .build());\n\n        var usGateway = new Subnet(\"usGateway\", SubnetArgs.builder()\n            .name(\"GatewaySubnet\")\n            .resourceGroupName(us.name())\n            .virtualNetworkName(usVirtualNetwork.name())\n            .addressPrefixes(\"10.0.1.0/24\")\n            .build());\n\n        var usPublicIp = new PublicIp(\"usPublicIp\", PublicIpArgs.builder()\n            .name(\"us\")\n            .location(us.location())\n            .resourceGroupName(us.name())\n            .allocationMethod(\"Dynamic\")\n            .build());\n\n        var usVirtualNetworkGateway = new VirtualNetworkGateway(\"usVirtualNetworkGateway\", VirtualNetworkGatewayArgs.builder()\n            .name(\"us-gateway\")\n            .location(us.location())\n            .resourceGroupName(us.name())\n            .type(\"Vpn\")\n            .vpnType(\"RouteBased\")\n            .sku(\"Basic\")\n            .ipConfigurations(VirtualNetworkGatewayIpConfigurationArgs.builder()\n                .publicIpAddressId(usPublicIp.id())\n                .privateIpAddressAllocation(\"Dynamic\")\n                .subnetId(usGateway.id())\n                .build())\n            .build());\n\n        var europe = new ResourceGroup(\"europe\", ResourceGroupArgs.builder()\n            .name(\"europe\")\n            .location(\"West Europe\")\n            .build());\n\n        var europeVirtualNetwork = new VirtualNetwork(\"europeVirtualNetwork\", VirtualNetworkArgs.builder()\n            .name(\"europe\")\n            .location(europe.location())\n            .resourceGroupName(europe.name())\n            .addressSpaces(\"10.1.0.0/16\")\n            .build());\n\n        var europeGateway = new Subnet(\"europeGateway\", SubnetArgs.builder()\n            .name(\"GatewaySubnet\")\n            .resourceGroupName(europe.name())\n            .virtualNetworkName(europeVirtualNetwork.name())\n            .addressPrefixes(\"10.1.1.0/24\")\n            .build());\n\n        var europePublicIp = new PublicIp(\"europePublicIp\", PublicIpArgs.builder()\n            .name(\"europe\")\n            .location(europe.location())\n            .resourceGroupName(europe.name())\n            .allocationMethod(\"Dynamic\")\n            .build());\n\n        var europeVirtualNetworkGateway = new VirtualNetworkGateway(\"europeVirtualNetworkGateway\", VirtualNetworkGatewayArgs.builder()\n            .name(\"europe-gateway\")\n            .location(europe.location())\n            .resourceGroupName(europe.name())\n            .type(\"Vpn\")\n            .vpnType(\"RouteBased\")\n            .sku(\"Basic\")\n            .ipConfigurations(VirtualNetworkGatewayIpConfigurationArgs.builder()\n                .publicIpAddressId(europePublicIp.id())\n                .privateIpAddressAllocation(\"Dynamic\")\n                .subnetId(europeGateway.id())\n                .build())\n            .build());\n\n        var usToEurope = new VirtualNetworkGatewayConnection(\"usToEurope\", VirtualNetworkGatewayConnectionArgs.builder()\n            .name(\"us-to-europe\")\n            .location(us.location())\n            .resourceGroupName(us.name())\n            .type(\"Vnet2Vnet\")\n            .virtualNetworkGatewayId(usVirtualNetworkGateway.id())\n            .peerVirtualNetworkGatewayId(europeVirtualNetworkGateway.id())\n            .sharedKey(\"4-v3ry-53cr37-1p53c-5h4r3d-k3y\")\n            .build());\n\n        var europeToUs = new VirtualNetworkGatewayConnection(\"europeToUs\", VirtualNetworkGatewayConnectionArgs.builder()\n            .name(\"europe-to-us\")\n            .location(europe.location())\n            .resourceGroupName(europe.name())\n            .type(\"Vnet2Vnet\")\n            .virtualNetworkGatewayId(europeVirtualNetworkGateway.id())\n            .peerVirtualNetworkGatewayId(usVirtualNetworkGateway.id())\n            .sharedKey(\"4-v3ry-53cr37-1p53c-5h4r3d-k3y\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  us:\n    type: azure:core:ResourceGroup\n    properties:\n      name: us\n      location: East US\n  usVirtualNetwork:\n    type: azure:network:VirtualNetwork\n    name: us\n    properties:\n      name: us\n      location: ${us.location}\n      resourceGroupName: ${us.name}\n      addressSpaces:\n        - 10.0.0.0/16\n  usGateway:\n    type: azure:network:Subnet\n    name: us_gateway\n    properties:\n      name: GatewaySubnet\n      resourceGroupName: ${us.name}\n      virtualNetworkName: ${usVirtualNetwork.name}\n      addressPrefixes:\n        - 10.0.1.0/24\n  usPublicIp:\n    type: azure:network:PublicIp\n    name: us\n    properties:\n      name: us\n      location: ${us.location}\n      resourceGroupName: ${us.name}\n      allocationMethod: Dynamic\n  usVirtualNetworkGateway:\n    type: azure:network:VirtualNetworkGateway\n    name: us\n    properties:\n      name: us-gateway\n      location: ${us.location}\n      resourceGroupName: ${us.name}\n      type: Vpn\n      vpnType: RouteBased\n      sku: Basic\n      ipConfigurations:\n        - publicIpAddressId: ${usPublicIp.id}\n          privateIpAddressAllocation: Dynamic\n          subnetId: ${usGateway.id}\n  europe:\n    type: azure:core:ResourceGroup\n    properties:\n      name: europe\n      location: West Europe\n  europeVirtualNetwork:\n    type: azure:network:VirtualNetwork\n    name: europe\n    properties:\n      name: europe\n      location: ${europe.location}\n      resourceGroupName: ${europe.name}\n      addressSpaces:\n        - 10.1.0.0/16\n  europeGateway:\n    type: azure:network:Subnet\n    name: europe_gateway\n    properties:\n      name: GatewaySubnet\n      resourceGroupName: ${europe.name}\n      virtualNetworkName: ${europeVirtualNetwork.name}\n      addressPrefixes:\n        - 10.1.1.0/24\n  europePublicIp:\n    type: azure:network:PublicIp\n    name: europe\n    properties:\n      name: europe\n      location: ${europe.location}\n      resourceGroupName: ${europe.name}\n      allocationMethod: Dynamic\n  europeVirtualNetworkGateway:\n    type: azure:network:VirtualNetworkGateway\n    name: europe\n    properties:\n      name: europe-gateway\n      location: ${europe.location}\n      resourceGroupName: ${europe.name}\n      type: Vpn\n      vpnType: RouteBased\n      sku: Basic\n      ipConfigurations:\n        - publicIpAddressId: ${europePublicIp.id}\n          privateIpAddressAllocation: Dynamic\n          subnetId: ${europeGateway.id}\n  usToEurope:\n    type: azure:network:VirtualNetworkGatewayConnection\n    name: us_to_europe\n    properties:\n      name: us-to-europe\n      location: ${us.location}\n      resourceGroupName: ${us.name}\n      type: Vnet2Vnet\n      virtualNetworkGatewayId: ${usVirtualNetworkGateway.id}\n      peerVirtualNetworkGatewayId: ${europeVirtualNetworkGateway.id}\n      sharedKey: 4-v3ry-53cr37-1p53c-5h4r3d-k3y\n  europeToUs:\n    type: azure:network:VirtualNetworkGatewayConnection\n    name: europe_to_us\n    properties:\n      name: europe-to-us\n      location: ${europe.location}\n      resourceGroupName: ${europe.name}\n      type: Vnet2Vnet\n      virtualNetworkGatewayId: ${europeVirtualNetworkGateway.id}\n      peerVirtualNetworkGatewayId: ${usVirtualNetworkGateway.id}\n      sharedKey: 4-v3ry-53cr37-1p53c-5h4r3d-k3y\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2025-01-01\n\n## Import\n\nVirtual Network Gateway Connections can be imported using their `resource id`, e.g.\n\n```sh\n$ pulumi import azure:network/virtualNetworkGatewayConnection:VirtualNetworkGatewayConnection exampleConnection /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myGroup1/providers/Microsoft.Network/connections/myConnection1\n```\n\n","properties":{"authorizationKey":{"type":"string","description":"The authorization key associated with the Express Route Circuit. This field is required only if the type is an ExpressRoute connection.\n","secret":true},"connectionMode":{"type":"string","description":"Connection mode to use. Possible values are `Default`, `InitiatorOnly` and `ResponderOnly`. Defaults to `Default`. Changing this value will force a resource to be created.\n"},"connectionProtocol":{"type":"string","description":"The IKE protocol version to use. Possible values are `IKEv1` and `IKEv2`, values are `IKEv1` and `IKEv2`. Defaults to `IKEv2`. Changing this forces a new resource to be created.\n\u003e **Note:** Only valid for `IPSec` connections on virtual network gateways with SKU `VpnGw1`, `VpnGw2`, `VpnGw3`, `VpnGw1AZ`, `VpnGw2AZ` or `VpnGw3AZ`.\n"},"customBgpAddresses":{"$ref":"#/types/azure:network/VirtualNetworkGatewayConnectionCustomBgpAddresses:VirtualNetworkGatewayConnectionCustomBgpAddresses","description":"A \u003cspan pulumi-lang-nodejs=\"`customBgpAddresses`\" pulumi-lang-dotnet=\"`CustomBgpAddresses`\" pulumi-lang-go=\"`customBgpAddresses`\" pulumi-lang-python=\"`custom_bgp_addresses`\" pulumi-lang-yaml=\"`customBgpAddresses`\" pulumi-lang-java=\"`customBgpAddresses`\"\u003e`custom_bgp_addresses`\u003c/span\u003e block which is documented below.\nThe block can only be used on `IPSec` / \u003cspan pulumi-lang-nodejs=\"`activeactive`\" pulumi-lang-dotnet=\"`Activeactive`\" pulumi-lang-go=\"`activeactive`\" pulumi-lang-python=\"`activeactive`\" pulumi-lang-yaml=\"`activeactive`\" pulumi-lang-java=\"`activeactive`\"\u003e`activeactive`\u003c/span\u003e connections,\nFor details about see [the relevant section in the Azure documentation](https://docs.microsoft.com/en-us/azure/vpn-gateway/vpn-gateway-howto-aws-bgp).\n"},"dpdTimeoutSeconds":{"type":"integer","description":"The dead peer detection timeout of this connection in seconds. Changing this forces a new resource to be created.\n"},"egressNatRuleIds":{"type":"array","items":{"type":"string"},"description":"A list of the egress NAT Rule Ids.\n"},"enableBgp":{"type":"boolean","description":"If \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, BGP (Border Gateway Protocol) is enabled for this connection. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"expressRouteCircuitId":{"type":"string","description":"The ID of the Express Route Circuit when creating an ExpressRoute connection (i.e. when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is `ExpressRoute`). The Express Route Circuit can be in the same or in a different subscription. Changing this forces a new resource to be created.\n"},"expressRouteGatewayBypass":{"type":"boolean","description":"If \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, data packets will bypass ExpressRoute Gateway for data forwarding This is only valid for ExpressRoute connections.\n"},"ingressNatRuleIds":{"type":"array","items":{"type":"string"},"description":"A list of the ingress NAT Rule Ids.\n"},"ipsecPolicy":{"$ref":"#/types/azure:network/VirtualNetworkGatewayConnectionIpsecPolicy:VirtualNetworkGatewayConnectionIpsecPolicy","description":"A \u003cspan pulumi-lang-nodejs=\"`ipsecPolicy`\" pulumi-lang-dotnet=\"`IpsecPolicy`\" pulumi-lang-go=\"`ipsecPolicy`\" pulumi-lang-python=\"`ipsec_policy`\" pulumi-lang-yaml=\"`ipsecPolicy`\" pulumi-lang-java=\"`ipsecPolicy`\"\u003e`ipsec_policy`\u003c/span\u003e block which is documented below.\nOnly a single policy can be defined for a connection. For details on\ncustom policies refer to [the relevant section in the Azure documentation](https://docs.microsoft.com/azure/vpn-gateway/vpn-gateway-ipsecikepolicy-rm-powershell).\n"},"localAzureIpAddressEnabled":{"type":"boolean","description":"Use private local Azure IP for the connection. Changing this forces a new resource to be created.\n"},"localNetworkGatewayId":{"type":"string","description":"The ID of the local network gateway when creating Site-to-Site connection (i.e. when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is `IPsec`).\n"},"location":{"type":"string","description":"The location/region where the connection is located. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"The name of the connection. Changing the name forces a new resource to be created.\n"},"peerVirtualNetworkGatewayId":{"type":"string","description":"The ID of the peer virtual network gateway when creating a VNet-to-VNet connection (i.e. when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is `Vnet2Vnet`). The peer Virtual Network Gateway can be in the same or in a different subscription. Changing this forces a new resource to be created.\n"},"privateLinkFastPathEnabled":{"type":"boolean","description":"Bypass the Express Route gateway when accessing private-links. When enabled \u003cspan pulumi-lang-nodejs=\"`expressRouteGatewayBypass`\" pulumi-lang-dotnet=\"`ExpressRouteGatewayBypass`\" pulumi-lang-go=\"`expressRouteGatewayBypass`\" pulumi-lang-python=\"`express_route_gateway_bypass`\" pulumi-lang-yaml=\"`expressRouteGatewayBypass`\" pulumi-lang-java=\"`expressRouteGatewayBypass`\"\u003e`express_route_gateway_bypass`\u003c/span\u003e must be set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the connection Changing this forces a new resource to be created.\n"},"routingWeight":{"type":"integer","description":"The routing weight. Defaults to \u003cspan pulumi-lang-nodejs=\"`10`\" pulumi-lang-dotnet=\"`10`\" pulumi-lang-go=\"`10`\" pulumi-lang-python=\"`10`\" pulumi-lang-yaml=\"`10`\" pulumi-lang-java=\"`10`\"\u003e`10`\u003c/span\u003e.\n"},"sharedKey":{"type":"string","description":"The shared IPSec key. A key could be provided if a Site-to-Site, VNet-to-VNet or ExpressRoute connection is created.\n","secret":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"trafficSelectorPolicy":{"$ref":"#/types/azure:network/VirtualNetworkGatewayConnectionTrafficSelectorPolicy:VirtualNetworkGatewayConnectionTrafficSelectorPolicy","description":"One or more \u003cspan pulumi-lang-nodejs=\"`trafficSelectorPolicy`\" pulumi-lang-dotnet=\"`TrafficSelectorPolicy`\" pulumi-lang-go=\"`trafficSelectorPolicy`\" pulumi-lang-python=\"`traffic_selector_policy`\" pulumi-lang-yaml=\"`trafficSelectorPolicy`\" pulumi-lang-java=\"`trafficSelectorPolicy`\"\u003e`traffic_selector_policy`\u003c/span\u003e blocks which are documented below.\nA \u003cspan pulumi-lang-nodejs=\"`trafficSelectorPolicy`\" pulumi-lang-dotnet=\"`TrafficSelectorPolicy`\" pulumi-lang-go=\"`trafficSelectorPolicy`\" pulumi-lang-python=\"`traffic_selector_policy`\" pulumi-lang-yaml=\"`trafficSelectorPolicy`\" pulumi-lang-java=\"`trafficSelectorPolicy`\"\u003e`traffic_selector_policy`\u003c/span\u003e allows to specify a traffic selector policy proposal to be used in a virtual network gateway connection.\nFor details about traffic selectors refer to [the relevant section in the Azure documentation](https://docs.microsoft.com/azure/vpn-gateway/vpn-gateway-connect-multiple-policybased-rm-ps).\n"},"type":{"type":"string","description":"The type of connection. Valid options are `IPsec` (Site-to-Site), `ExpressRoute` (ExpressRoute), and `Vnet2Vnet` (VNet-to-VNet). Each connection type requires different mandatory arguments (refer to the examples above). Changing this forces a new resource to be created.\n"},"usePolicyBasedTrafficSelectors":{"type":"boolean","description":"If \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, policy-based traffic selectors are enabled for this connection. Enabling policy-based traffic selectors requires an \u003cspan pulumi-lang-nodejs=\"`ipsecPolicy`\" pulumi-lang-dotnet=\"`IpsecPolicy`\" pulumi-lang-go=\"`ipsecPolicy`\" pulumi-lang-python=\"`ipsec_policy`\" pulumi-lang-yaml=\"`ipsecPolicy`\" pulumi-lang-java=\"`ipsecPolicy`\"\u003e`ipsec_policy`\u003c/span\u003e block. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"virtualNetworkGatewayId":{"type":"string","description":"The ID of the Virtual Network Gateway in which the connection will be created. Changing this forces a new resource to be created.\n"}},"required":["connectionProtocol","enableBgp","expressRouteGatewayBypass","location","name","resourceGroupName","routingWeight","sharedKey","type","usePolicyBasedTrafficSelectors","virtualNetworkGatewayId"],"inputProperties":{"authorizationKey":{"type":"string","description":"The authorization key associated with the Express Route Circuit. This field is required only if the type is an ExpressRoute connection.\n","secret":true},"connectionMode":{"type":"string","description":"Connection mode to use. Possible values are `Default`, `InitiatorOnly` and `ResponderOnly`. Defaults to `Default`. Changing this value will force a resource to be created.\n","willReplaceOnChanges":true},"connectionProtocol":{"type":"string","description":"The IKE protocol version to use. Possible values are `IKEv1` and `IKEv2`, values are `IKEv1` and `IKEv2`. Defaults to `IKEv2`. Changing this forces a new resource to be created.\n\u003e **Note:** Only valid for `IPSec` connections on virtual network gateways with SKU `VpnGw1`, `VpnGw2`, `VpnGw3`, `VpnGw1AZ`, `VpnGw2AZ` or `VpnGw3AZ`.\n","willReplaceOnChanges":true},"customBgpAddresses":{"$ref":"#/types/azure:network/VirtualNetworkGatewayConnectionCustomBgpAddresses:VirtualNetworkGatewayConnectionCustomBgpAddresses","description":"A \u003cspan pulumi-lang-nodejs=\"`customBgpAddresses`\" pulumi-lang-dotnet=\"`CustomBgpAddresses`\" pulumi-lang-go=\"`customBgpAddresses`\" pulumi-lang-python=\"`custom_bgp_addresses`\" pulumi-lang-yaml=\"`customBgpAddresses`\" pulumi-lang-java=\"`customBgpAddresses`\"\u003e`custom_bgp_addresses`\u003c/span\u003e block which is documented below.\nThe block can only be used on `IPSec` / \u003cspan pulumi-lang-nodejs=\"`activeactive`\" pulumi-lang-dotnet=\"`Activeactive`\" pulumi-lang-go=\"`activeactive`\" pulumi-lang-python=\"`activeactive`\" pulumi-lang-yaml=\"`activeactive`\" pulumi-lang-java=\"`activeactive`\"\u003e`activeactive`\u003c/span\u003e connections,\nFor details about see [the relevant section in the Azure documentation](https://docs.microsoft.com/en-us/azure/vpn-gateway/vpn-gateway-howto-aws-bgp).\n"},"dpdTimeoutSeconds":{"type":"integer","description":"The dead peer detection timeout of this connection in seconds. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"egressNatRuleIds":{"type":"array","items":{"type":"string"},"description":"A list of the egress NAT Rule Ids.\n"},"enableBgp":{"type":"boolean","description":"If \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, BGP (Border Gateway Protocol) is enabled for this connection. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"expressRouteCircuitId":{"type":"string","description":"The ID of the Express Route Circuit when creating an ExpressRoute connection (i.e. when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is `ExpressRoute`). The Express Route Circuit can be in the same or in a different subscription. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"expressRouteGatewayBypass":{"type":"boolean","description":"If \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, data packets will bypass ExpressRoute Gateway for data forwarding This is only valid for ExpressRoute connections.\n"},"ingressNatRuleIds":{"type":"array","items":{"type":"string"},"description":"A list of the ingress NAT Rule Ids.\n"},"ipsecPolicy":{"$ref":"#/types/azure:network/VirtualNetworkGatewayConnectionIpsecPolicy:VirtualNetworkGatewayConnectionIpsecPolicy","description":"A \u003cspan pulumi-lang-nodejs=\"`ipsecPolicy`\" pulumi-lang-dotnet=\"`IpsecPolicy`\" pulumi-lang-go=\"`ipsecPolicy`\" pulumi-lang-python=\"`ipsec_policy`\" pulumi-lang-yaml=\"`ipsecPolicy`\" pulumi-lang-java=\"`ipsecPolicy`\"\u003e`ipsec_policy`\u003c/span\u003e block which is documented below.\nOnly a single policy can be defined for a connection. For details on\ncustom policies refer to [the relevant section in the Azure documentation](https://docs.microsoft.com/azure/vpn-gateway/vpn-gateway-ipsecikepolicy-rm-powershell).\n"},"localAzureIpAddressEnabled":{"type":"boolean","description":"Use private local Azure IP for the connection. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"localNetworkGatewayId":{"type":"string","description":"The ID of the local network gateway when creating Site-to-Site connection (i.e. when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is `IPsec`).\n"},"location":{"type":"string","description":"The location/region where the connection is located. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the connection. Changing the name forces a new resource to be created.\n","willReplaceOnChanges":true},"peerVirtualNetworkGatewayId":{"type":"string","description":"The ID of the peer virtual network gateway when creating a VNet-to-VNet connection (i.e. when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is `Vnet2Vnet`). The peer Virtual Network Gateway can be in the same or in a different subscription. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"privateLinkFastPathEnabled":{"type":"boolean","description":"Bypass the Express Route gateway when accessing private-links. When enabled \u003cspan pulumi-lang-nodejs=\"`expressRouteGatewayBypass`\" pulumi-lang-dotnet=\"`ExpressRouteGatewayBypass`\" pulumi-lang-go=\"`expressRouteGatewayBypass`\" pulumi-lang-python=\"`express_route_gateway_bypass`\" pulumi-lang-yaml=\"`expressRouteGatewayBypass`\" pulumi-lang-java=\"`expressRouteGatewayBypass`\"\u003e`express_route_gateway_bypass`\u003c/span\u003e must be set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the connection Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"routingWeight":{"type":"integer","description":"The routing weight. Defaults to \u003cspan pulumi-lang-nodejs=\"`10`\" pulumi-lang-dotnet=\"`10`\" pulumi-lang-go=\"`10`\" pulumi-lang-python=\"`10`\" pulumi-lang-yaml=\"`10`\" pulumi-lang-java=\"`10`\"\u003e`10`\u003c/span\u003e.\n"},"sharedKey":{"type":"string","description":"The shared IPSec key. A key could be provided if a Site-to-Site, VNet-to-VNet or ExpressRoute connection is created.\n","secret":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"trafficSelectorPolicy":{"$ref":"#/types/azure:network/VirtualNetworkGatewayConnectionTrafficSelectorPolicy:VirtualNetworkGatewayConnectionTrafficSelectorPolicy","description":"One or more \u003cspan pulumi-lang-nodejs=\"`trafficSelectorPolicy`\" pulumi-lang-dotnet=\"`TrafficSelectorPolicy`\" pulumi-lang-go=\"`trafficSelectorPolicy`\" pulumi-lang-python=\"`traffic_selector_policy`\" pulumi-lang-yaml=\"`trafficSelectorPolicy`\" pulumi-lang-java=\"`trafficSelectorPolicy`\"\u003e`traffic_selector_policy`\u003c/span\u003e blocks which are documented below.\nA \u003cspan pulumi-lang-nodejs=\"`trafficSelectorPolicy`\" pulumi-lang-dotnet=\"`TrafficSelectorPolicy`\" pulumi-lang-go=\"`trafficSelectorPolicy`\" pulumi-lang-python=\"`traffic_selector_policy`\" pulumi-lang-yaml=\"`trafficSelectorPolicy`\" pulumi-lang-java=\"`trafficSelectorPolicy`\"\u003e`traffic_selector_policy`\u003c/span\u003e allows to specify a traffic selector policy proposal to be used in a virtual network gateway connection.\nFor details about traffic selectors refer to [the relevant section in the Azure documentation](https://docs.microsoft.com/azure/vpn-gateway/vpn-gateway-connect-multiple-policybased-rm-ps).\n"},"type":{"type":"string","description":"The type of connection. Valid options are `IPsec` (Site-to-Site), `ExpressRoute` (ExpressRoute), and `Vnet2Vnet` (VNet-to-VNet). Each connection type requires different mandatory arguments (refer to the examples above). Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"usePolicyBasedTrafficSelectors":{"type":"boolean","description":"If \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, policy-based traffic selectors are enabled for this connection. Enabling policy-based traffic selectors requires an \u003cspan pulumi-lang-nodejs=\"`ipsecPolicy`\" pulumi-lang-dotnet=\"`IpsecPolicy`\" pulumi-lang-go=\"`ipsecPolicy`\" pulumi-lang-python=\"`ipsec_policy`\" pulumi-lang-yaml=\"`ipsecPolicy`\" pulumi-lang-java=\"`ipsecPolicy`\"\u003e`ipsec_policy`\u003c/span\u003e block. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"virtualNetworkGatewayId":{"type":"string","description":"The ID of the Virtual Network Gateway in which the connection will be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["resourceGroupName","type","virtualNetworkGatewayId"],"stateInputs":{"description":"Input properties used for looking up and filtering VirtualNetworkGatewayConnection resources.\n","properties":{"authorizationKey":{"type":"string","description":"The authorization key associated with the Express Route Circuit. This field is required only if the type is an ExpressRoute connection.\n","secret":true},"connectionMode":{"type":"string","description":"Connection mode to use. Possible values are `Default`, `InitiatorOnly` and `ResponderOnly`. Defaults to `Default`. Changing this value will force a resource to be created.\n","willReplaceOnChanges":true},"connectionProtocol":{"type":"string","description":"The IKE protocol version to use. Possible values are `IKEv1` and `IKEv2`, values are `IKEv1` and `IKEv2`. Defaults to `IKEv2`. Changing this forces a new resource to be created.\n\u003e **Note:** Only valid for `IPSec` connections on virtual network gateways with SKU `VpnGw1`, `VpnGw2`, `VpnGw3`, `VpnGw1AZ`, `VpnGw2AZ` or `VpnGw3AZ`.\n","willReplaceOnChanges":true},"customBgpAddresses":{"$ref":"#/types/azure:network/VirtualNetworkGatewayConnectionCustomBgpAddresses:VirtualNetworkGatewayConnectionCustomBgpAddresses","description":"A \u003cspan pulumi-lang-nodejs=\"`customBgpAddresses`\" pulumi-lang-dotnet=\"`CustomBgpAddresses`\" pulumi-lang-go=\"`customBgpAddresses`\" pulumi-lang-python=\"`custom_bgp_addresses`\" pulumi-lang-yaml=\"`customBgpAddresses`\" pulumi-lang-java=\"`customBgpAddresses`\"\u003e`custom_bgp_addresses`\u003c/span\u003e block which is documented below.\nThe block can only be used on `IPSec` / \u003cspan pulumi-lang-nodejs=\"`activeactive`\" pulumi-lang-dotnet=\"`Activeactive`\" pulumi-lang-go=\"`activeactive`\" pulumi-lang-python=\"`activeactive`\" pulumi-lang-yaml=\"`activeactive`\" pulumi-lang-java=\"`activeactive`\"\u003e`activeactive`\u003c/span\u003e connections,\nFor details about see [the relevant section in the Azure documentation](https://docs.microsoft.com/en-us/azure/vpn-gateway/vpn-gateway-howto-aws-bgp).\n"},"dpdTimeoutSeconds":{"type":"integer","description":"The dead peer detection timeout of this connection in seconds. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"egressNatRuleIds":{"type":"array","items":{"type":"string"},"description":"A list of the egress NAT Rule Ids.\n"},"enableBgp":{"type":"boolean","description":"If \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, BGP (Border Gateway Protocol) is enabled for this connection. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"expressRouteCircuitId":{"type":"string","description":"The ID of the Express Route Circuit when creating an ExpressRoute connection (i.e. when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is `ExpressRoute`). The Express Route Circuit can be in the same or in a different subscription. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"expressRouteGatewayBypass":{"type":"boolean","description":"If \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, data packets will bypass ExpressRoute Gateway for data forwarding This is only valid for ExpressRoute connections.\n"},"ingressNatRuleIds":{"type":"array","items":{"type":"string"},"description":"A list of the ingress NAT Rule Ids.\n"},"ipsecPolicy":{"$ref":"#/types/azure:network/VirtualNetworkGatewayConnectionIpsecPolicy:VirtualNetworkGatewayConnectionIpsecPolicy","description":"A \u003cspan pulumi-lang-nodejs=\"`ipsecPolicy`\" pulumi-lang-dotnet=\"`IpsecPolicy`\" pulumi-lang-go=\"`ipsecPolicy`\" pulumi-lang-python=\"`ipsec_policy`\" pulumi-lang-yaml=\"`ipsecPolicy`\" pulumi-lang-java=\"`ipsecPolicy`\"\u003e`ipsec_policy`\u003c/span\u003e block which is documented below.\nOnly a single policy can be defined for a connection. For details on\ncustom policies refer to [the relevant section in the Azure documentation](https://docs.microsoft.com/azure/vpn-gateway/vpn-gateway-ipsecikepolicy-rm-powershell).\n"},"localAzureIpAddressEnabled":{"type":"boolean","description":"Use private local Azure IP for the connection. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"localNetworkGatewayId":{"type":"string","description":"The ID of the local network gateway when creating Site-to-Site connection (i.e. when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is `IPsec`).\n"},"location":{"type":"string","description":"The location/region where the connection is located. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the connection. Changing the name forces a new resource to be created.\n","willReplaceOnChanges":true},"peerVirtualNetworkGatewayId":{"type":"string","description":"The ID of the peer virtual network gateway when creating a VNet-to-VNet connection (i.e. when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is `Vnet2Vnet`). The peer Virtual Network Gateway can be in the same or in a different subscription. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"privateLinkFastPathEnabled":{"type":"boolean","description":"Bypass the Express Route gateway when accessing private-links. When enabled \u003cspan pulumi-lang-nodejs=\"`expressRouteGatewayBypass`\" pulumi-lang-dotnet=\"`ExpressRouteGatewayBypass`\" pulumi-lang-go=\"`expressRouteGatewayBypass`\" pulumi-lang-python=\"`express_route_gateway_bypass`\" pulumi-lang-yaml=\"`expressRouteGatewayBypass`\" pulumi-lang-java=\"`expressRouteGatewayBypass`\"\u003e`express_route_gateway_bypass`\u003c/span\u003e must be set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the connection Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"routingWeight":{"type":"integer","description":"The routing weight. Defaults to \u003cspan pulumi-lang-nodejs=\"`10`\" pulumi-lang-dotnet=\"`10`\" pulumi-lang-go=\"`10`\" pulumi-lang-python=\"`10`\" pulumi-lang-yaml=\"`10`\" pulumi-lang-java=\"`10`\"\u003e`10`\u003c/span\u003e.\n"},"sharedKey":{"type":"string","description":"The shared IPSec key. A key could be provided if a Site-to-Site, VNet-to-VNet or ExpressRoute connection is created.\n","secret":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"trafficSelectorPolicy":{"$ref":"#/types/azure:network/VirtualNetworkGatewayConnectionTrafficSelectorPolicy:VirtualNetworkGatewayConnectionTrafficSelectorPolicy","description":"One or more \u003cspan pulumi-lang-nodejs=\"`trafficSelectorPolicy`\" pulumi-lang-dotnet=\"`TrafficSelectorPolicy`\" pulumi-lang-go=\"`trafficSelectorPolicy`\" pulumi-lang-python=\"`traffic_selector_policy`\" pulumi-lang-yaml=\"`trafficSelectorPolicy`\" pulumi-lang-java=\"`trafficSelectorPolicy`\"\u003e`traffic_selector_policy`\u003c/span\u003e blocks which are documented below.\nA \u003cspan pulumi-lang-nodejs=\"`trafficSelectorPolicy`\" pulumi-lang-dotnet=\"`TrafficSelectorPolicy`\" pulumi-lang-go=\"`trafficSelectorPolicy`\" pulumi-lang-python=\"`traffic_selector_policy`\" pulumi-lang-yaml=\"`trafficSelectorPolicy`\" pulumi-lang-java=\"`trafficSelectorPolicy`\"\u003e`traffic_selector_policy`\u003c/span\u003e allows to specify a traffic selector policy proposal to be used in a virtual network gateway connection.\nFor details about traffic selectors refer to [the relevant section in the Azure documentation](https://docs.microsoft.com/azure/vpn-gateway/vpn-gateway-connect-multiple-policybased-rm-ps).\n"},"type":{"type":"string","description":"The type of connection. Valid options are `IPsec` (Site-to-Site), `ExpressRoute` (ExpressRoute), and `Vnet2Vnet` (VNet-to-VNet). Each connection type requires different mandatory arguments (refer to the examples above). Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"usePolicyBasedTrafficSelectors":{"type":"boolean","description":"If \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, policy-based traffic selectors are enabled for this connection. Enabling policy-based traffic selectors requires an \u003cspan pulumi-lang-nodejs=\"`ipsecPolicy`\" pulumi-lang-dotnet=\"`IpsecPolicy`\" pulumi-lang-go=\"`ipsecPolicy`\" pulumi-lang-python=\"`ipsec_policy`\" pulumi-lang-yaml=\"`ipsecPolicy`\" pulumi-lang-java=\"`ipsecPolicy`\"\u003e`ipsec_policy`\u003c/span\u003e block. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"virtualNetworkGatewayId":{"type":"string","description":"The ID of the Virtual Network Gateway in which the connection will be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:network/virtualNetworkGatewayNatRule:VirtualNetworkGatewayNatRule":{"description":"Manages a Virtual Network Gateway Nat Rule.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"example\", {\n    name: \"example-vnet\",\n    location: exampleResourceGroup.location,\n    resourceGroupName: exampleResourceGroup.name,\n    addressSpaces: [\"10.0.0.0/16\"],\n});\nconst exampleSubnet = new azure.network.Subnet(\"example\", {\n    name: \"GatewaySubnet\",\n    resourceGroupName: exampleResourceGroup.name,\n    virtualNetworkName: exampleVirtualNetwork.name,\n    addressPrefixes: [\"10.0.1.0/24\"],\n});\nconst examplePublicIp = new azure.network.PublicIp(\"example\", {\n    name: \"example-pip\",\n    location: exampleResourceGroup.location,\n    resourceGroupName: exampleResourceGroup.name,\n    allocationMethod: \"Dynamic\",\n});\nconst exampleVirtualNetworkGateway = new azure.network.VirtualNetworkGateway(\"example\", {\n    name: \"example-vnetgw\",\n    location: exampleResourceGroup.location,\n    resourceGroupName: exampleResourceGroup.name,\n    type: \"Vpn\",\n    vpnType: \"RouteBased\",\n    sku: \"Basic\",\n    ipConfigurations: [{\n        publicIpAddressId: examplePublicIp.id,\n        privateIpAddressAllocation: \"Dynamic\",\n        subnetId: exampleSubnet.id,\n    }],\n});\nconst example = azure.network.getVirtualNetworkGatewayOutput({\n    name: exampleVirtualNetworkGateway.name,\n    resourceGroupName: exampleVirtualNetworkGateway.resourceGroupName,\n});\nconst exampleVirtualNetworkGatewayNatRule = new azure.network.VirtualNetworkGatewayNatRule(\"example\", {\n    name: \"example-vnetgwnatrule\",\n    resourceGroupName: exampleResourceGroup.name,\n    virtualNetworkGatewayId: example.apply(example =\u003e example.id),\n    mode: \"EgressSnat\",\n    type: \"Dynamic\",\n    ipConfigurationId: example.apply(example =\u003e example.ipConfigurations?.[0]?.id),\n    externalMappings: [{\n        addressSpace: \"10.2.0.0/26\",\n        portRange: \"200\",\n    }],\n    internalMappings: [{\n        addressSpace: \"10.4.0.0/26\",\n        portRange: \"400\",\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_virtual_network = azure.network.VirtualNetwork(\"example\",\n    name=\"example-vnet\",\n    location=example_resource_group.location,\n    resource_group_name=example_resource_group.name,\n    address_spaces=[\"10.0.0.0/16\"])\nexample_subnet = azure.network.Subnet(\"example\",\n    name=\"GatewaySubnet\",\n    resource_group_name=example_resource_group.name,\n    virtual_network_name=example_virtual_network.name,\n    address_prefixes=[\"10.0.1.0/24\"])\nexample_public_ip = azure.network.PublicIp(\"example\",\n    name=\"example-pip\",\n    location=example_resource_group.location,\n    resource_group_name=example_resource_group.name,\n    allocation_method=\"Dynamic\")\nexample_virtual_network_gateway = azure.network.VirtualNetworkGateway(\"example\",\n    name=\"example-vnetgw\",\n    location=example_resource_group.location,\n    resource_group_name=example_resource_group.name,\n    type=\"Vpn\",\n    vpn_type=\"RouteBased\",\n    sku=\"Basic\",\n    ip_configurations=[{\n        \"public_ip_address_id\": example_public_ip.id,\n        \"private_ip_address_allocation\": \"Dynamic\",\n        \"subnet_id\": example_subnet.id,\n    }])\nexample = azure.network.get_virtual_network_gateway_output(name=example_virtual_network_gateway.name,\n    resource_group_name=example_virtual_network_gateway.resource_group_name)\nexample_virtual_network_gateway_nat_rule = azure.network.VirtualNetworkGatewayNatRule(\"example\",\n    name=\"example-vnetgwnatrule\",\n    resource_group_name=example_resource_group.name,\n    virtual_network_gateway_id=example.id,\n    mode=\"EgressSnat\",\n    type=\"Dynamic\",\n    ip_configuration_id=example.ip_configurations[0].id,\n    external_mappings=[{\n        \"address_space\": \"10.2.0.0/26\",\n        \"port_range\": \"200\",\n    }],\n    internal_mappings=[{\n        \"address_space\": \"10.4.0.0/26\",\n        \"port_range\": \"400\",\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleResourceGroup = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleVirtualNetwork = new Azure.Network.VirtualNetwork(\"example\", new()\n    {\n        Name = \"example-vnet\",\n        Location = exampleResourceGroup.Location,\n        ResourceGroupName = exampleResourceGroup.Name,\n        AddressSpaces = new[]\n        {\n            \"10.0.0.0/16\",\n        },\n    });\n\n    var exampleSubnet = new Azure.Network.Subnet(\"example\", new()\n    {\n        Name = \"GatewaySubnet\",\n        ResourceGroupName = exampleResourceGroup.Name,\n        VirtualNetworkName = exampleVirtualNetwork.Name,\n        AddressPrefixes = new[]\n        {\n            \"10.0.1.0/24\",\n        },\n    });\n\n    var examplePublicIp = new Azure.Network.PublicIp(\"example\", new()\n    {\n        Name = \"example-pip\",\n        Location = exampleResourceGroup.Location,\n        ResourceGroupName = exampleResourceGroup.Name,\n        AllocationMethod = \"Dynamic\",\n    });\n\n    var exampleVirtualNetworkGateway = new Azure.Network.VirtualNetworkGateway(\"example\", new()\n    {\n        Name = \"example-vnetgw\",\n        Location = exampleResourceGroup.Location,\n        ResourceGroupName = exampleResourceGroup.Name,\n        Type = \"Vpn\",\n        VpnType = \"RouteBased\",\n        Sku = \"Basic\",\n        IpConfigurations = new[]\n        {\n            new Azure.Network.Inputs.VirtualNetworkGatewayIpConfigurationArgs\n            {\n                PublicIpAddressId = examplePublicIp.Id,\n                PrivateIpAddressAllocation = \"Dynamic\",\n                SubnetId = exampleSubnet.Id,\n            },\n        },\n    });\n\n    var example = Azure.Network.GetVirtualNetworkGateway.Invoke(new()\n    {\n        Name = exampleVirtualNetworkGateway.Name,\n        ResourceGroupName = exampleVirtualNetworkGateway.ResourceGroupName,\n    });\n\n    var exampleVirtualNetworkGatewayNatRule = new Azure.Network.VirtualNetworkGatewayNatRule(\"example\", new()\n    {\n        Name = \"example-vnetgwnatrule\",\n        ResourceGroupName = exampleResourceGroup.Name,\n        VirtualNetworkGatewayId = example.Apply(getVirtualNetworkGatewayResult =\u003e getVirtualNetworkGatewayResult.Id),\n        Mode = \"EgressSnat\",\n        Type = \"Dynamic\",\n        IpConfigurationId = example.Apply(getVirtualNetworkGatewayResult =\u003e getVirtualNetworkGatewayResult.IpConfigurations[0]?.Id),\n        ExternalMappings = new[]\n        {\n            new Azure.Network.Inputs.VirtualNetworkGatewayNatRuleExternalMappingArgs\n            {\n                AddressSpace = \"10.2.0.0/26\",\n                PortRange = \"200\",\n            },\n        },\n        InternalMappings = new[]\n        {\n            new Azure.Network.Inputs.VirtualNetworkGatewayNatRuleInternalMappingArgs\n            {\n                AddressSpace = \"10.4.0.0/26\",\n                PortRange = \"400\",\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, \"example\", \u0026network.VirtualNetworkArgs{\n\t\t\tName:              pulumi.String(\"example-vnet\"),\n\t\t\tLocation:          exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tAddressSpaces: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.0.0/16\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSubnet, err := network.NewSubnet(ctx, \"example\", \u0026network.SubnetArgs{\n\t\t\tName:               pulumi.String(\"GatewaySubnet\"),\n\t\t\tResourceGroupName:  exampleResourceGroup.Name,\n\t\t\tVirtualNetworkName: exampleVirtualNetwork.Name,\n\t\t\tAddressPrefixes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.1.0/24\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texamplePublicIp, err := network.NewPublicIp(ctx, \"example\", \u0026network.PublicIpArgs{\n\t\t\tName:              pulumi.String(\"example-pip\"),\n\t\t\tLocation:          exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tAllocationMethod:  pulumi.String(\"Dynamic\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualNetworkGateway, err := network.NewVirtualNetworkGateway(ctx, \"example\", \u0026network.VirtualNetworkGatewayArgs{\n\t\t\tName:              pulumi.String(\"example-vnetgw\"),\n\t\t\tLocation:          exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tType:              pulumi.String(\"Vpn\"),\n\t\t\tVpnType:           pulumi.String(\"RouteBased\"),\n\t\t\tSku:               pulumi.String(\"Basic\"),\n\t\t\tIpConfigurations: network.VirtualNetworkGatewayIpConfigurationArray{\n\t\t\t\t\u0026network.VirtualNetworkGatewayIpConfigurationArgs{\n\t\t\t\t\tPublicIpAddressId:          examplePublicIp.ID(),\n\t\t\t\t\tPrivateIpAddressAllocation: pulumi.String(\"Dynamic\"),\n\t\t\t\t\tSubnetId:                   exampleSubnet.ID(),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample := network.LookupVirtualNetworkGatewayOutput(ctx, network.GetVirtualNetworkGatewayOutputArgs{\n\t\t\tName:              exampleVirtualNetworkGateway.Name,\n\t\t\tResourceGroupName: exampleVirtualNetworkGateway.ResourceGroupName,\n\t\t}, nil)\n\t\t_, err = network.NewVirtualNetworkGatewayNatRule(ctx, \"example\", \u0026network.VirtualNetworkGatewayNatRuleArgs{\n\t\t\tName:              pulumi.String(\"example-vnetgwnatrule\"),\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tVirtualNetworkGatewayId: pulumi.String(example.ApplyT(func(example network.GetVirtualNetworkGatewayResult) (*string, error) {\n\t\t\t\treturn \u0026example.Id, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tMode: pulumi.String(\"EgressSnat\"),\n\t\t\tType: pulumi.String(\"Dynamic\"),\n\t\t\tIpConfigurationId: pulumi.String(example.ApplyT(func(example network.GetVirtualNetworkGatewayResult) (*string, error) {\n\t\t\t\treturn \u0026example.IpConfigurations[0].Id, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tExternalMappings: network.VirtualNetworkGatewayNatRuleExternalMappingArray{\n\t\t\t\t\u0026network.VirtualNetworkGatewayNatRuleExternalMappingArgs{\n\t\t\t\t\tAddressSpace: pulumi.String(\"10.2.0.0/26\"),\n\t\t\t\t\tPortRange:    pulumi.String(\"200\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tInternalMappings: network.VirtualNetworkGatewayNatRuleInternalMappingArray{\n\t\t\t\t\u0026network.VirtualNetworkGatewayNatRuleInternalMappingArgs{\n\t\t\t\t\tAddressSpace: pulumi.String(\"10.4.0.0/26\"),\n\t\t\t\t\tPortRange:    pulumi.String(\"400\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.VirtualNetwork;\nimport com.pulumi.azure.network.VirtualNetworkArgs;\nimport com.pulumi.azure.network.Subnet;\nimport com.pulumi.azure.network.SubnetArgs;\nimport com.pulumi.azure.network.PublicIp;\nimport com.pulumi.azure.network.PublicIpArgs;\nimport com.pulumi.azure.network.VirtualNetworkGateway;\nimport com.pulumi.azure.network.VirtualNetworkGatewayArgs;\nimport com.pulumi.azure.network.inputs.VirtualNetworkGatewayIpConfigurationArgs;\nimport com.pulumi.azure.network.NetworkFunctions;\nimport com.pulumi.azure.network.inputs.GetVirtualNetworkGatewayArgs;\nimport com.pulumi.azure.network.VirtualNetworkGatewayNatRule;\nimport com.pulumi.azure.network.VirtualNetworkGatewayNatRuleArgs;\nimport com.pulumi.azure.network.inputs.VirtualNetworkGatewayNatRuleExternalMappingArgs;\nimport com.pulumi.azure.network.inputs.VirtualNetworkGatewayNatRuleInternalMappingArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var exampleResourceGroup = new ResourceGroup(\"exampleResourceGroup\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleVirtualNetwork = new VirtualNetwork(\"exampleVirtualNetwork\", VirtualNetworkArgs.builder()\n            .name(\"example-vnet\")\n            .location(exampleResourceGroup.location())\n            .resourceGroupName(exampleResourceGroup.name())\n            .addressSpaces(\"10.0.0.0/16\")\n            .build());\n\n        var exampleSubnet = new Subnet(\"exampleSubnet\", SubnetArgs.builder()\n            .name(\"GatewaySubnet\")\n            .resourceGroupName(exampleResourceGroup.name())\n            .virtualNetworkName(exampleVirtualNetwork.name())\n            .addressPrefixes(\"10.0.1.0/24\")\n            .build());\n\n        var examplePublicIp = new PublicIp(\"examplePublicIp\", PublicIpArgs.builder()\n            .name(\"example-pip\")\n            .location(exampleResourceGroup.location())\n            .resourceGroupName(exampleResourceGroup.name())\n            .allocationMethod(\"Dynamic\")\n            .build());\n\n        var exampleVirtualNetworkGateway = new VirtualNetworkGateway(\"exampleVirtualNetworkGateway\", VirtualNetworkGatewayArgs.builder()\n            .name(\"example-vnetgw\")\n            .location(exampleResourceGroup.location())\n            .resourceGroupName(exampleResourceGroup.name())\n            .type(\"Vpn\")\n            .vpnType(\"RouteBased\")\n            .sku(\"Basic\")\n            .ipConfigurations(VirtualNetworkGatewayIpConfigurationArgs.builder()\n                .publicIpAddressId(examplePublicIp.id())\n                .privateIpAddressAllocation(\"Dynamic\")\n                .subnetId(exampleSubnet.id())\n                .build())\n            .build());\n\n        final var example = NetworkFunctions.getVirtualNetworkGateway(GetVirtualNetworkGatewayArgs.builder()\n            .name(exampleVirtualNetworkGateway.name())\n            .resourceGroupName(exampleVirtualNetworkGateway.resourceGroupName())\n            .build());\n\n        var exampleVirtualNetworkGatewayNatRule = new VirtualNetworkGatewayNatRule(\"exampleVirtualNetworkGatewayNatRule\", VirtualNetworkGatewayNatRuleArgs.builder()\n            .name(\"example-vnetgwnatrule\")\n            .resourceGroupName(exampleResourceGroup.name())\n            .virtualNetworkGatewayId(example.applyValue(_example -\u003e _example.id()))\n            .mode(\"EgressSnat\")\n            .type(\"Dynamic\")\n            .ipConfigurationId(example.applyValue(_example -\u003e _example.ipConfigurations()[0].id()))\n            .externalMappings(VirtualNetworkGatewayNatRuleExternalMappingArgs.builder()\n                .addressSpace(\"10.2.0.0/26\")\n                .portRange(\"200\")\n                .build())\n            .internalMappings(VirtualNetworkGatewayNatRuleInternalMappingArgs.builder()\n                .addressSpace(\"10.4.0.0/26\")\n                .portRange(\"400\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleResourceGroup:\n    type: azure:core:ResourceGroup\n    name: example\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleVirtualNetwork:\n    type: azure:network:VirtualNetwork\n    name: example\n    properties:\n      name: example-vnet\n      location: ${exampleResourceGroup.location}\n      resourceGroupName: ${exampleResourceGroup.name}\n      addressSpaces:\n        - 10.0.0.0/16\n  exampleSubnet:\n    type: azure:network:Subnet\n    name: example\n    properties:\n      name: GatewaySubnet\n      resourceGroupName: ${exampleResourceGroup.name}\n      virtualNetworkName: ${exampleVirtualNetwork.name}\n      addressPrefixes:\n        - 10.0.1.0/24\n  examplePublicIp:\n    type: azure:network:PublicIp\n    name: example\n    properties:\n      name: example-pip\n      location: ${exampleResourceGroup.location}\n      resourceGroupName: ${exampleResourceGroup.name}\n      allocationMethod: Dynamic\n  exampleVirtualNetworkGateway:\n    type: azure:network:VirtualNetworkGateway\n    name: example\n    properties:\n      name: example-vnetgw\n      location: ${exampleResourceGroup.location}\n      resourceGroupName: ${exampleResourceGroup.name}\n      type: Vpn\n      vpnType: RouteBased\n      sku: Basic\n      ipConfigurations:\n        - publicIpAddressId: ${examplePublicIp.id}\n          privateIpAddressAllocation: Dynamic\n          subnetId: ${exampleSubnet.id}\n  exampleVirtualNetworkGatewayNatRule:\n    type: azure:network:VirtualNetworkGatewayNatRule\n    name: example\n    properties:\n      name: example-vnetgwnatrule\n      resourceGroupName: ${exampleResourceGroup.name}\n      virtualNetworkGatewayId: ${example.id}\n      mode: EgressSnat\n      type: Dynamic\n      ipConfigurationId: ${example.ipConfigurations[0].id}\n      externalMappings:\n        - addressSpace: 10.2.0.0/26\n          portRange: '200'\n      internalMappings:\n        - addressSpace: 10.4.0.0/26\n          portRange: '400'\nvariables:\n  example:\n    fn::invoke:\n      function: azure:network:getVirtualNetworkGateway\n      arguments:\n        name: ${exampleVirtualNetworkGateway.name}\n        resourceGroupName: ${exampleVirtualNetworkGateway.resourceGroupName}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2025-01-01\n\n## Import\n\nVirtual Network Gateway Nat Rules can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:network/virtualNetworkGatewayNatRule:VirtualNetworkGatewayNatRule example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resGroup1/providers/Microsoft.Network/virtualNetworkGateways/gw1/natRules/rule1\n```\n\n","properties":{"externalMappings":{"type":"array","items":{"$ref":"#/types/azure:network/VirtualNetworkGatewayNatRuleExternalMapping:VirtualNetworkGatewayNatRuleExternalMapping"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`externalMapping`\" pulumi-lang-dotnet=\"`ExternalMapping`\" pulumi-lang-go=\"`externalMapping`\" pulumi-lang-python=\"`external_mapping`\" pulumi-lang-yaml=\"`externalMapping`\" pulumi-lang-java=\"`externalMapping`\"\u003e`external_mapping`\u003c/span\u003e blocks as documented below.\n"},"internalMappings":{"type":"array","items":{"$ref":"#/types/azure:network/VirtualNetworkGatewayNatRuleInternalMapping:VirtualNetworkGatewayNatRuleInternalMapping"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`internalMapping`\" pulumi-lang-dotnet=\"`InternalMapping`\" pulumi-lang-go=\"`internalMapping`\" pulumi-lang-python=\"`internal_mapping`\" pulumi-lang-yaml=\"`internalMapping`\" pulumi-lang-java=\"`internalMapping`\"\u003e`internal_mapping`\u003c/span\u003e blocks as documented below.\n"},"ipConfigurationId":{"type":"string","description":"The ID of the IP Configuration this Virtual Network Gateway Nat Rule applies to.\n"},"mode":{"type":"string","description":"The source Nat direction of the Virtual Network Gateway Nat. Possible values are `EgressSnat` and `IngressSnat`. Defaults to `EgressSnat`. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"The name which should be used for this Virtual Network Gateway Nat Rule. Changing this forces a new resource to be created.\n"},"resourceGroupName":{"type":"string","description":"The Name of the Resource Group in which this Virtual Network Gateway Nat Rule should be created. Changing this forces a new resource to be created.\n"},"type":{"type":"string","description":"The type of the Virtual Network Gateway Nat Rule. Possible values are `Dynamic` and `Static`. Defaults to `Static`. Changing this forces a new resource to be created.\n"},"virtualNetworkGatewayId":{"type":"string","description":"The ID of the Virtual Network Gateway that this Virtual Network Gateway Nat Rule belongs to. Changing this forces a new resource to be created.\n"}},"required":["externalMappings","internalMappings","name","resourceGroupName","virtualNetworkGatewayId"],"inputProperties":{"externalMappings":{"type":"array","items":{"$ref":"#/types/azure:network/VirtualNetworkGatewayNatRuleExternalMapping:VirtualNetworkGatewayNatRuleExternalMapping"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`externalMapping`\" pulumi-lang-dotnet=\"`ExternalMapping`\" pulumi-lang-go=\"`externalMapping`\" pulumi-lang-python=\"`external_mapping`\" pulumi-lang-yaml=\"`externalMapping`\" pulumi-lang-java=\"`externalMapping`\"\u003e`external_mapping`\u003c/span\u003e blocks as documented below.\n"},"internalMappings":{"type":"array","items":{"$ref":"#/types/azure:network/VirtualNetworkGatewayNatRuleInternalMapping:VirtualNetworkGatewayNatRuleInternalMapping"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`internalMapping`\" pulumi-lang-dotnet=\"`InternalMapping`\" pulumi-lang-go=\"`internalMapping`\" pulumi-lang-python=\"`internal_mapping`\" pulumi-lang-yaml=\"`internalMapping`\" pulumi-lang-java=\"`internalMapping`\"\u003e`internal_mapping`\u003c/span\u003e blocks as documented below.\n"},"ipConfigurationId":{"type":"string","description":"The ID of the IP Configuration this Virtual Network Gateway Nat Rule applies to.\n"},"mode":{"type":"string","description":"The source Nat direction of the Virtual Network Gateway Nat. Possible values are `EgressSnat` and `IngressSnat`. Defaults to `EgressSnat`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Virtual Network Gateway Nat Rule. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The Name of the Resource Group in which this Virtual Network Gateway Nat Rule should be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"type":{"type":"string","description":"The type of the Virtual Network Gateway Nat Rule. Possible values are `Dynamic` and `Static`. Defaults to `Static`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"virtualNetworkGatewayId":{"type":"string","description":"The ID of the Virtual Network Gateway that this Virtual Network Gateway Nat Rule belongs to. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["externalMappings","internalMappings","resourceGroupName","virtualNetworkGatewayId"],"stateInputs":{"description":"Input properties used for looking up and filtering VirtualNetworkGatewayNatRule resources.\n","properties":{"externalMappings":{"type":"array","items":{"$ref":"#/types/azure:network/VirtualNetworkGatewayNatRuleExternalMapping:VirtualNetworkGatewayNatRuleExternalMapping"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`externalMapping`\" pulumi-lang-dotnet=\"`ExternalMapping`\" pulumi-lang-go=\"`externalMapping`\" pulumi-lang-python=\"`external_mapping`\" pulumi-lang-yaml=\"`externalMapping`\" pulumi-lang-java=\"`externalMapping`\"\u003e`external_mapping`\u003c/span\u003e blocks as documented below.\n"},"internalMappings":{"type":"array","items":{"$ref":"#/types/azure:network/VirtualNetworkGatewayNatRuleInternalMapping:VirtualNetworkGatewayNatRuleInternalMapping"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`internalMapping`\" pulumi-lang-dotnet=\"`InternalMapping`\" pulumi-lang-go=\"`internalMapping`\" pulumi-lang-python=\"`internal_mapping`\" pulumi-lang-yaml=\"`internalMapping`\" pulumi-lang-java=\"`internalMapping`\"\u003e`internal_mapping`\u003c/span\u003e blocks as documented below.\n"},"ipConfigurationId":{"type":"string","description":"The ID of the IP Configuration this Virtual Network Gateway Nat Rule applies to.\n"},"mode":{"type":"string","description":"The source Nat direction of the Virtual Network Gateway Nat. Possible values are `EgressSnat` and `IngressSnat`. Defaults to `EgressSnat`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Virtual Network Gateway Nat Rule. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The Name of the Resource Group in which this Virtual Network Gateway Nat Rule should be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"type":{"type":"string","description":"The type of the Virtual Network Gateway Nat Rule. Possible values are `Dynamic` and `Static`. Defaults to `Static`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"virtualNetworkGatewayId":{"type":"string","description":"The ID of the Virtual Network Gateway that this Virtual Network Gateway Nat Rule belongs to. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:network/virtualNetworkPeering:VirtualNetworkPeering":{"description":"Manages a virtual network peering which allows resources to access other\nresources in the linked virtual network.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"peeredvnets-rg\",\n    location: \"West Europe\",\n});\nconst example_1 = new azure.network.VirtualNetwork(\"example-1\", {\n    name: \"peternetwork1\",\n    resourceGroupName: example.name,\n    addressSpaces: [\"10.0.1.0/24\"],\n    location: example.location,\n});\nconst example_2 = new azure.network.VirtualNetwork(\"example-2\", {\n    name: \"peternetwork2\",\n    resourceGroupName: example.name,\n    addressSpaces: [\"10.0.2.0/24\"],\n    location: example.location,\n});\nconst example_1VirtualNetworkPeering = new azure.network.VirtualNetworkPeering(\"example-1\", {\n    name: \"peer1to2\",\n    resourceGroupName: example.name,\n    virtualNetworkName: example_1.name,\n    remoteVirtualNetworkId: example_2.id,\n});\nconst example_2VirtualNetworkPeering = new azure.network.VirtualNetworkPeering(\"example-2\", {\n    name: \"peer2to1\",\n    resourceGroupName: example.name,\n    virtualNetworkName: example_2.name,\n    remoteVirtualNetworkId: example_1.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"peeredvnets-rg\",\n    location=\"West Europe\")\nexample_1 = azure.network.VirtualNetwork(\"example-1\",\n    name=\"peternetwork1\",\n    resource_group_name=example.name,\n    address_spaces=[\"10.0.1.0/24\"],\n    location=example.location)\nexample_2 = azure.network.VirtualNetwork(\"example-2\",\n    name=\"peternetwork2\",\n    resource_group_name=example.name,\n    address_spaces=[\"10.0.2.0/24\"],\n    location=example.location)\nexample_1_virtual_network_peering = azure.network.VirtualNetworkPeering(\"example-1\",\n    name=\"peer1to2\",\n    resource_group_name=example.name,\n    virtual_network_name=example_1.name,\n    remote_virtual_network_id=example_2.id)\nexample_2_virtual_network_peering = azure.network.VirtualNetworkPeering(\"example-2\",\n    name=\"peer2to1\",\n    resource_group_name=example.name,\n    virtual_network_name=example_2.name,\n    remote_virtual_network_id=example_1.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"peeredvnets-rg\",\n        Location = \"West Europe\",\n    });\n\n    var example_1 = new Azure.Network.VirtualNetwork(\"example-1\", new()\n    {\n        Name = \"peternetwork1\",\n        ResourceGroupName = example.Name,\n        AddressSpaces = new[]\n        {\n            \"10.0.1.0/24\",\n        },\n        Location = example.Location,\n    });\n\n    var example_2 = new Azure.Network.VirtualNetwork(\"example-2\", new()\n    {\n        Name = \"peternetwork2\",\n        ResourceGroupName = example.Name,\n        AddressSpaces = new[]\n        {\n            \"10.0.2.0/24\",\n        },\n        Location = example.Location,\n    });\n\n    var example_1VirtualNetworkPeering = new Azure.Network.VirtualNetworkPeering(\"example-1\", new()\n    {\n        Name = \"peer1to2\",\n        ResourceGroupName = example.Name,\n        VirtualNetworkName = example_1.Name,\n        RemoteVirtualNetworkId = example_2.Id,\n    });\n\n    var example_2VirtualNetworkPeering = new Azure.Network.VirtualNetworkPeering(\"example-2\", new()\n    {\n        Name = \"peer2to1\",\n        ResourceGroupName = example.Name,\n        VirtualNetworkName = example_2.Name,\n        RemoteVirtualNetworkId = example_1.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"peeredvnets-rg\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample_1, err := network.NewVirtualNetwork(ctx, \"example-1\", \u0026network.VirtualNetworkArgs{\n\t\t\tName:              pulumi.String(\"peternetwork1\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tAddressSpaces: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.1.0/24\"),\n\t\t\t},\n\t\t\tLocation: example.Location,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample_2, err := network.NewVirtualNetwork(ctx, \"example-2\", \u0026network.VirtualNetworkArgs{\n\t\t\tName:              pulumi.String(\"peternetwork2\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tAddressSpaces: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.2.0/24\"),\n\t\t\t},\n\t\t\tLocation: example.Location,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = network.NewVirtualNetworkPeering(ctx, \"example-1\", \u0026network.VirtualNetworkPeeringArgs{\n\t\t\tName:                   pulumi.String(\"peer1to2\"),\n\t\t\tResourceGroupName:      example.Name,\n\t\t\tVirtualNetworkName:     example_1.Name,\n\t\t\tRemoteVirtualNetworkId: example_2.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = network.NewVirtualNetworkPeering(ctx, \"example-2\", \u0026network.VirtualNetworkPeeringArgs{\n\t\t\tName:                   pulumi.String(\"peer2to1\"),\n\t\t\tResourceGroupName:      example.Name,\n\t\t\tVirtualNetworkName:     example_2.Name,\n\t\t\tRemoteVirtualNetworkId: example_1.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.VirtualNetwork;\nimport com.pulumi.azure.network.VirtualNetworkArgs;\nimport com.pulumi.azure.network.VirtualNetworkPeering;\nimport com.pulumi.azure.network.VirtualNetworkPeeringArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"peeredvnets-rg\")\n            .location(\"West Europe\")\n            .build());\n\n        var example_1 = new VirtualNetwork(\"example-1\", VirtualNetworkArgs.builder()\n            .name(\"peternetwork1\")\n            .resourceGroupName(example.name())\n            .addressSpaces(\"10.0.1.0/24\")\n            .location(example.location())\n            .build());\n\n        var example_2 = new VirtualNetwork(\"example-2\", VirtualNetworkArgs.builder()\n            .name(\"peternetwork2\")\n            .resourceGroupName(example.name())\n            .addressSpaces(\"10.0.2.0/24\")\n            .location(example.location())\n            .build());\n\n        var example_1VirtualNetworkPeering = new VirtualNetworkPeering(\"example-1VirtualNetworkPeering\", VirtualNetworkPeeringArgs.builder()\n            .name(\"peer1to2\")\n            .resourceGroupName(example.name())\n            .virtualNetworkName(example_1.name())\n            .remoteVirtualNetworkId(example_2.id())\n            .build());\n\n        var example_2VirtualNetworkPeering = new VirtualNetworkPeering(\"example-2VirtualNetworkPeering\", VirtualNetworkPeeringArgs.builder()\n            .name(\"peer2to1\")\n            .resourceGroupName(example.name())\n            .virtualNetworkName(example_2.name())\n            .remoteVirtualNetworkId(example_1.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: peeredvnets-rg\n      location: West Europe\n  example-1:\n    type: azure:network:VirtualNetwork\n    properties:\n      name: peternetwork1\n      resourceGroupName: ${example.name}\n      addressSpaces:\n        - 10.0.1.0/24\n      location: ${example.location}\n  example-2:\n    type: azure:network:VirtualNetwork\n    properties:\n      name: peternetwork2\n      resourceGroupName: ${example.name}\n      addressSpaces:\n        - 10.0.2.0/24\n      location: ${example.location}\n  example-1VirtualNetworkPeering:\n    type: azure:network:VirtualNetworkPeering\n    name: example-1\n    properties:\n      name: peer1to2\n      resourceGroupName: ${example.name}\n      virtualNetworkName: ${[\"example-1\"].name}\n      remoteVirtualNetworkId: ${[\"example-2\"].id}\n  example-2VirtualNetworkPeering:\n    type: azure:network:VirtualNetworkPeering\n    name: example-2\n    properties:\n      name: peer2to1\n      resourceGroupName: ${example.name}\n      virtualNetworkName: ${[\"example-2\"].name}\n      remoteVirtualNetworkId: ${[\"example-1\"].id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\n### Global Virtual Network Peering)\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\nimport * as std from \"@pulumi/std\";\n\nconst config = new pulumi.Config();\nconst location = config.getObject\u003cany\u003e(\"location\") || [\n    \"uksouth\",\n    \"southeastasia\",\n];\nconst vnetAddressSpace = config.getObject\u003cany\u003e(\"vnetAddressSpace\") || [\n    \"10.0.0.0/16\",\n    \"10.1.0.0/16\",\n];\nconst example: azure.core.ResourceGroup[] = [];\nfor (const range = {value: 0}; range.value \u003c location.length; range.value++) {\n    example.push(new azure.core.ResourceGroup(`example-${range.value}`, {\n        name: `rg-global-vnet-peering-${range.value}`,\n        location: location[range.value],\n    }));\n}\nconst vnet: azure.network.VirtualNetwork[] = [];\nfor (const range = {value: 0}; range.value \u003c location.length; range.value++) {\n    vnet.push(new azure.network.VirtualNetwork(`vnet-${range.value}`, {\n        name: `vnet-${range.value}`,\n        resourceGroupName: example.map(__item =\u003e __item.name)[range.value],\n        addressSpaces: [vnetAddressSpace[range.value]],\n        location: example.map(__item =\u003e __item.location)[range.value],\n    }));\n}\nconst nva: azure.network.Subnet[] = [];\nfor (const range = {value: 0}; range.value \u003c location.length; range.value++) {\n    nva.push(new azure.network.Subnet(`nva-${range.value}`, {\n        name: \"nva\",\n        resourceGroupName: example.map(__item =\u003e __item.name)[range.value],\n        virtualNetworkName: vnet.map(__item =\u003e __item.name)[range.value],\n        addressPrefix: std.cidrsubnet({\n            input: vnet[range.value].addressSpace[range.value],\n            newbits: 13,\n            netnum: 0,\n        }).then(invoke =\u003e invoke.result),\n    }));\n}\n// enable global peering between the two virtual network\nconst peering: azure.network.VirtualNetworkPeering[] = [];\nfor (const range = {value: 0}; range.value \u003c location.length; range.value++) {\n    peering.push(new azure.network.VirtualNetworkPeering(`peering-${range.value}`, {\n        name: vnet.map(__item =\u003e __item.name)[1 - range.value].apply(names =\u003e `peering-to-${names}`),\n        resourceGroupName: example.map(__item =\u003e __item.name)[range.value],\n        virtualNetworkName: vnet.map(__item =\u003e __item.name)[range.value],\n        remoteVirtualNetworkId: vnet.map(__item =\u003e __item.id)[1 - range.value],\n        allowVirtualNetworkAccess: true,\n        allowForwardedTraffic: true,\n        allowGatewayTransit: false,\n    }));\n}\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\nimport pulumi_std as std\n\nconfig = pulumi.Config()\nlocation = config.get_object(\"location\")\nif location is None:\n    location = [\n        \"uksouth\",\n        \"southeastasia\",\n    ]\nvnet_address_space = config.get_object(\"vnetAddressSpace\")\nif vnet_address_space is None:\n    vnet_address_space = [\n        \"10.0.0.0/16\",\n        \"10.1.0.0/16\",\n    ]\nexample = []\nfor range in [{\"value\": i} for i in range(0, len(location))]:\n    example.append(azure.core.ResourceGroup(f\"example-{range['value']}\",\n        name=f\"rg-global-vnet-peering-{range['value']}\",\n        location=location[range[\"value\"]]))\nvnet = []\nfor range in [{\"value\": i} for i in range(0, len(location))]:\n    vnet.append(azure.network.VirtualNetwork(f\"vnet-{range['value']}\",\n        name=f\"vnet-{range['value']}\",\n        resource_group_name=[__item.name for __item in example][range[\"value\"]],\n        address_spaces=[vnet_address_space[range[\"value\"]]],\n        location=[__item.location for __item in example][range[\"value\"]]))\nnva = []\nfor range in [{\"value\": i} for i in range(0, len(location))]:\n    nva.append(azure.network.Subnet(f\"nva-{range['value']}\",\n        name=\"nva\",\n        resource_group_name=[__item.name for __item in example][range[\"value\"]],\n        virtual_network_name=[__item.name for __item in vnet][range[\"value\"]],\n        address_prefix=std.cidrsubnet(input=vnet[range[\"value\"]].address_space[range[\"value\"]],\n            newbits=13,\n            netnum=0).result))\n# enable global peering between the two virtual network\npeering = []\nfor range in [{\"value\": i} for i in range(0, len(location))]:\n    peering.append(azure.network.VirtualNetworkPeering(f\"peering-{range['value']}\",\n        name=[__item.name for __item in vnet][1 - range[\"value\"]].apply(lambda names: f\"peering-to-{names}\"),\n        resource_group_name=[__item.name for __item in example][range[\"value\"]],\n        virtual_network_name=[__item.name for __item in vnet][range[\"value\"]],\n        remote_virtual_network_id=[__item.id for __item in vnet][1 - range[\"value\"]],\n        allow_virtual_network_access=True,\n        allow_forwarded_traffic=True,\n        allow_gateway_transit=False))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var location = config.GetObject\u003cdynamic\u003e(\"location\") ?? new[]\n    {\n        \"uksouth\",\n        \"southeastasia\",\n    };\n    var vnetAddressSpace = config.GetObject\u003cdynamic\u003e(\"vnetAddressSpace\") ?? new[]\n    {\n        \"10.0.0.0/16\",\n        \"10.1.0.0/16\",\n    };\n    var example = new List\u003cAzure.Core.ResourceGroup\u003e();\n    for (var rangeIndex = 0; rangeIndex \u003c location.Length; rangeIndex++)\n    {\n        var range = new { Value = rangeIndex };\n        example.Add(new Azure.Core.ResourceGroup($\"example-{range.Value}\", new()\n        {\n            Name = $\"rg-global-vnet-peering-{range.Value}\",\n            Location = location[range.Value],\n        }));\n    }\n    var vnet = new List\u003cAzure.Network.VirtualNetwork\u003e();\n    for (var rangeIndex = 0; rangeIndex \u003c location.Length; rangeIndex++)\n    {\n        var range = new { Value = rangeIndex };\n        vnet.Add(new Azure.Network.VirtualNetwork($\"vnet-{range.Value}\", new()\n        {\n            Name = $\"vnet-{range.Value}\",\n            ResourceGroupName = example.Select(__item =\u003e __item.Name).ToList()[range.Value],\n            AddressSpaces = new[]\n            {\n                vnetAddressSpace[range.Value],\n            },\n            Location = example.Select(__item =\u003e __item.Location).ToList()[range.Value],\n        }));\n    }\n    var nva = new List\u003cAzure.Network.Subnet\u003e();\n    for (var rangeIndex = 0; rangeIndex \u003c location.Length; rangeIndex++)\n    {\n        var range = new { Value = rangeIndex };\n        nva.Add(new Azure.Network.Subnet($\"nva-{range.Value}\", new()\n        {\n            Name = \"nva\",\n            ResourceGroupName = example.Select(__item =\u003e __item.Name).ToList()[range.Value],\n            VirtualNetworkName = vnet.Select(__item =\u003e __item.Name).ToList()[range.Value],\n            AddressPrefix = Std.Cidrsubnet.Invoke(new()\n            {\n                Input = vnet[range.Value].AddressSpace[range.Value],\n                Newbits = 13,\n                Netnum = 0,\n            }).Apply(invoke =\u003e invoke.Result),\n        }));\n    }\n    // enable global peering between the two virtual network\n    var peering = new List\u003cAzure.Network.VirtualNetworkPeering\u003e();\n    for (var rangeIndex = 0; rangeIndex \u003c location.Length; rangeIndex++)\n    {\n        var range = new { Value = rangeIndex };\n        peering.Add(new Azure.Network.VirtualNetworkPeering($\"peering-{range.Value}\", new()\n        {\n            Name = vnet.Select(__item =\u003e __item.Name).ToList()[1 - range.Value].Apply(names =\u003e $\"peering-to-{names}\"),\n            ResourceGroupName = example.Select(__item =\u003e __item.Name).ToList()[range.Value],\n            VirtualNetworkName = vnet.Select(__item =\u003e __item.Name).ToList()[range.Value],\n            RemoteVirtualNetworkId = vnet.Select(__item =\u003e __item.Id).ToList()[1 - range.Value],\n            AllowVirtualNetworkAccess = true,\n            AllowForwardedTraffic = true,\n            AllowGatewayTransit = false,\n        }));\n    }\n});\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.VirtualNetwork;\nimport com.pulumi.azure.network.VirtualNetworkArgs;\nimport com.pulumi.azure.network.Subnet;\nimport com.pulumi.azure.network.SubnetArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.CidrsubnetArgs;\nimport com.pulumi.azure.network.VirtualNetworkPeering;\nimport com.pulumi.azure.network.VirtualNetworkPeeringArgs;\nimport com.pulumi.codegen.internal.KeyedValue;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var location = config.get(\"location\").orElse(List.of(        \n            \"uksouth\",\n            \"southeastasia\"));\n        final var vnetAddressSpace = config.get(\"vnetAddressSpace\").orElse(List.of(        \n            \"10.0.0.0/16\",\n            \"10.1.0.0/16\"));\n        for (var i = 0; i \u003c location.length(); i++) {\n            new ResourceGroup(\"example-\" + i, ResourceGroupArgs.builder()\n                .name(String.format(\"rg-global-vnet-peering-%s\", range.value()))\n                .location(location[range.value()])\n                .build());\n\n        \n}\n        for (var i = 0; i \u003c location.length(); i++) {\n            new VirtualNetwork(\"vnet-\" + i, VirtualNetworkArgs.builder()\n                .name(String.format(\"vnet-%s\", range.value()))\n                .resourceGroupName(example.stream().map(element -\u003e element.name()).collect(toList())[range.value()])\n                .addressSpaces(vnetAddressSpace[range.value()])\n                .location(example.stream().map(element -\u003e element.location()).collect(toList())[range.value()])\n                .build());\n\n        \n}\n        for (var i = 0; i \u003c location.length(); i++) {\n            new Subnet(\"nva-\" + i, SubnetArgs.builder()\n                .name(\"nva\")\n                .resourceGroupName(example.stream().map(element -\u003e element.name()).collect(toList())[range.value()])\n                .virtualNetworkName(vnet.stream().map(element -\u003e element.name()).collect(toList())[range.value()])\n                .addressPrefix(StdFunctions.cidrsubnet(CidrsubnetArgs.builder()\n                    .input(vnet[range.value()].addressSpace()[range.value()])\n                    .newbits(13)\n                    .netnum(0)\n                    .build()).result())\n                .build());\n\n        \n}\n        // enable global peering between the two virtual network\n        for (var i = 0; i \u003c location.length(); i++) {\n            new VirtualNetworkPeering(\"peering-\" + i, VirtualNetworkPeeringArgs.builder()\n                .name(vnet.stream().map(element -\u003e element.name()).collect(toList())[1 - range.value()].applyValue(_names -\u003e String.format(\"peering-to-%s\", _names)))\n                .resourceGroupName(example.stream().map(element -\u003e element.name()).collect(toList())[range.value()])\n                .virtualNetworkName(vnet.stream().map(element -\u003e element.name()).collect(toList())[range.value()])\n                .remoteVirtualNetworkId(vnet.stream().map(element -\u003e element.id()).collect(toList())[1 - range.value()])\n                .allowVirtualNetworkAccess(true)\n                .allowForwardedTraffic(true)\n                .allowGatewayTransit(false)\n                .build());\n\n        \n}\n    }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\n\n### Triggers)\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\nimport * as std from \"@pulumi/std\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"peeredvnets-rg\",\n    location: \"West Europe\",\n});\nconst example_1 = new azure.network.VirtualNetwork(\"example-1\", {\n    name: \"peternetwork1\",\n    resourceGroupName: example.name,\n    addressSpaces: [\"10.0.1.0/24\"],\n    location: example.location,\n});\nconst example_2 = new azure.network.VirtualNetwork(\"example-2\", {\n    name: \"peternetwork2\",\n    resourceGroupName: example.name,\n    addressSpaces: [\"10.0.2.0/24\"],\n    location: example.location,\n});\nconst example_1VirtualNetworkPeering = new azure.network.VirtualNetworkPeering(\"example-1\", {\n    name: \"peer1to2\",\n    resourceGroupName: example.name,\n    virtualNetworkName: example_1.name,\n    remoteVirtualNetworkId: example_2.id,\n    triggers: {\n        remote_address_space: example_2.addressSpaces.apply(addressSpaces =\u003e std.joinOutput({\n            separator: \",\",\n            input: addressSpaces,\n        })).apply(invoke =\u003e invoke.result),\n    },\n});\nconst example_2VirtualNetworkPeering = new azure.network.VirtualNetworkPeering(\"example-2\", {\n    name: \"peer2to1\",\n    resourceGroupName: example.name,\n    virtualNetworkName: example_2.name,\n    remoteVirtualNetworkId: example_1.id,\n    triggers: {\n        remote_address_space: example_1.addressSpaces.apply(addressSpaces =\u003e std.joinOutput({\n            separator: \",\",\n            input: addressSpaces,\n        })).apply(invoke =\u003e invoke.result),\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\nimport pulumi_std as std\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"peeredvnets-rg\",\n    location=\"West Europe\")\nexample_1 = azure.network.VirtualNetwork(\"example-1\",\n    name=\"peternetwork1\",\n    resource_group_name=example.name,\n    address_spaces=[\"10.0.1.0/24\"],\n    location=example.location)\nexample_2 = azure.network.VirtualNetwork(\"example-2\",\n    name=\"peternetwork2\",\n    resource_group_name=example.name,\n    address_spaces=[\"10.0.2.0/24\"],\n    location=example.location)\nexample_1_virtual_network_peering = azure.network.VirtualNetworkPeering(\"example-1\",\n    name=\"peer1to2\",\n    resource_group_name=example.name,\n    virtual_network_name=example_1.name,\n    remote_virtual_network_id=example_2.id,\n    triggers={\n        \"remote_address_space\": example_2.address_spaces.apply(lambda address_spaces: std.join_output(separator=\",\",\n            input=address_spaces)).apply(lambda invoke: invoke.result),\n    })\nexample_2_virtual_network_peering = azure.network.VirtualNetworkPeering(\"example-2\",\n    name=\"peer2to1\",\n    resource_group_name=example.name,\n    virtual_network_name=example_2.name,\n    remote_virtual_network_id=example_1.id,\n    triggers={\n        \"remote_address_space\": example_1.address_spaces.apply(lambda address_spaces: std.join_output(separator=\",\",\n            input=address_spaces)).apply(lambda invoke: invoke.result),\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"peeredvnets-rg\",\n        Location = \"West Europe\",\n    });\n\n    var example_1 = new Azure.Network.VirtualNetwork(\"example-1\", new()\n    {\n        Name = \"peternetwork1\",\n        ResourceGroupName = example.Name,\n        AddressSpaces = new[]\n        {\n            \"10.0.1.0/24\",\n        },\n        Location = example.Location,\n    });\n\n    var example_2 = new Azure.Network.VirtualNetwork(\"example-2\", new()\n    {\n        Name = \"peternetwork2\",\n        ResourceGroupName = example.Name,\n        AddressSpaces = new[]\n        {\n            \"10.0.2.0/24\",\n        },\n        Location = example.Location,\n    });\n\n    var example_1VirtualNetworkPeering = new Azure.Network.VirtualNetworkPeering(\"example-1\", new()\n    {\n        Name = \"peer1to2\",\n        ResourceGroupName = example.Name,\n        VirtualNetworkName = example_1.Name,\n        RemoteVirtualNetworkId = example_2.Id,\n        Triggers = \n        {\n            { \"remote_address_space\", example_2.AddressSpaces.Apply(addressSpaces =\u003e Std.Join.Invoke(new()\n            {\n                Separator = \",\",\n                Input = addressSpaces,\n            })).Apply(invoke =\u003e invoke.Result) },\n        },\n    });\n\n    var example_2VirtualNetworkPeering = new Azure.Network.VirtualNetworkPeering(\"example-2\", new()\n    {\n        Name = \"peer2to1\",\n        ResourceGroupName = example.Name,\n        VirtualNetworkName = example_2.Name,\n        RemoteVirtualNetworkId = example_1.Id,\n        Triggers = \n        {\n            { \"remote_address_space\", example_1.AddressSpaces.Apply(addressSpaces =\u003e Std.Join.Invoke(new()\n            {\n                Separator = \",\",\n                Input = addressSpaces,\n            })).Apply(invoke =\u003e invoke.Result) },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\nexample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\nName: pulumi.String(\"peeredvnets-rg\"),\nLocation: pulumi.String(\"West Europe\"),\n})\nif err != nil {\nreturn err\n}\nexample_1, err := network.NewVirtualNetwork(ctx, \"example-1\", \u0026network.VirtualNetworkArgs{\nName: pulumi.String(\"peternetwork1\"),\nResourceGroupName: example.Name,\nAddressSpaces: pulumi.StringArray{\npulumi.String(\"10.0.1.0/24\"),\n},\nLocation: example.Location,\n})\nif err != nil {\nreturn err\n}\nexample_2, err := network.NewVirtualNetwork(ctx, \"example-2\", \u0026network.VirtualNetworkArgs{\nName: pulumi.String(\"peternetwork2\"),\nResourceGroupName: example.Name,\nAddressSpaces: pulumi.StringArray{\npulumi.String(\"10.0.2.0/24\"),\n},\nLocation: example.Location,\n})\nif err != nil {\nreturn err\n}\ninvokeJoin, err := std.Join(ctx, \u0026std.JoinArgs{\nSeparator: \",\",\nInput: addressSpaces,\n}, nil)\nif err != nil {\nreturn err\n}\n_, err = network.NewVirtualNetworkPeering(ctx, \"example-1\", \u0026network.VirtualNetworkPeeringArgs{\nName: pulumi.String(\"peer1to2\"),\nResourceGroupName: example.Name,\nVirtualNetworkName: example_1.Name,\nRemoteVirtualNetworkId: example_2.ID(),\nTriggers: pulumi.StringMap{\n\"remote_address_space\": pulumi.String(example_2.AddressSpaces.ApplyT(func(addressSpaces interface{}) (std.JoinResult, error) {\n%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference)).(std.JoinResultOutput).ApplyT(func(invoke std.JoinResult) (*string, error) {\nreturn invoke.Result, nil\n}).(pulumi.StringPtrOutput)),\n},\n})\nif err != nil {\nreturn err\n}\ninvokeJoin1, err := std.Join(ctx, \u0026std.JoinArgs{\nSeparator: \",\",\nInput: addressSpaces,\n}, nil)\nif err != nil {\nreturn err\n}\n_, err = network.NewVirtualNetworkPeering(ctx, \"example-2\", \u0026network.VirtualNetworkPeeringArgs{\nName: pulumi.String(\"peer2to1\"),\nResourceGroupName: example.Name,\nVirtualNetworkName: example_2.Name,\nRemoteVirtualNetworkId: example_1.ID(),\nTriggers: pulumi.StringMap{\n\"remote_address_space\": pulumi.String(example_1.AddressSpaces.ApplyT(func(addressSpaces interface{}) (std.JoinResult, error) {\n%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference)).(std.JoinResultOutput).ApplyT(func(invoke std.JoinResult) (*string, error) {\nreturn invoke.Result, nil\n}).(pulumi.StringPtrOutput)),\n},\n})\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.VirtualNetwork;\nimport com.pulumi.azure.network.VirtualNetworkArgs;\nimport com.pulumi.azure.network.VirtualNetworkPeering;\nimport com.pulumi.azure.network.VirtualNetworkPeeringArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.JoinArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"peeredvnets-rg\")\n            .location(\"West Europe\")\n            .build());\n\n        var example_1 = new VirtualNetwork(\"example-1\", VirtualNetworkArgs.builder()\n            .name(\"peternetwork1\")\n            .resourceGroupName(example.name())\n            .addressSpaces(\"10.0.1.0/24\")\n            .location(example.location())\n            .build());\n\n        var example_2 = new VirtualNetwork(\"example-2\", VirtualNetworkArgs.builder()\n            .name(\"peternetwork2\")\n            .resourceGroupName(example.name())\n            .addressSpaces(\"10.0.2.0/24\")\n            .location(example.location())\n            .build());\n\n        var example_1VirtualNetworkPeering = new VirtualNetworkPeering(\"example-1VirtualNetworkPeering\", VirtualNetworkPeeringArgs.builder()\n            .name(\"peer1to2\")\n            .resourceGroupName(example.name())\n            .virtualNetworkName(example_1.name())\n            .remoteVirtualNetworkId(example_2.id())\n            .triggers(Map.of(\"remote_address_space\", example_2.addressSpaces().applyValue(_addressSpaces -\u003e StdFunctions.join(JoinArgs.builder()\n                .separator(\",\")\n                .input(_addressSpaces)\n                .build())).applyValue(_invoke -\u003e _invoke.result())))\n            .build());\n\n        var example_2VirtualNetworkPeering = new VirtualNetworkPeering(\"example-2VirtualNetworkPeering\", VirtualNetworkPeeringArgs.builder()\n            .name(\"peer2to1\")\n            .resourceGroupName(example.name())\n            .virtualNetworkName(example_2.name())\n            .remoteVirtualNetworkId(example_1.id())\n            .triggers(Map.of(\"remote_address_space\", example_1.addressSpaces().applyValue(_addressSpaces -\u003e StdFunctions.join(JoinArgs.builder()\n                .separator(\",\")\n                .input(_addressSpaces)\n                .build())).applyValue(_invoke -\u003e _invoke.result())))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: peeredvnets-rg\n      location: West Europe\n  example-1:\n    type: azure:network:VirtualNetwork\n    properties:\n      name: peternetwork1\n      resourceGroupName: ${example.name}\n      addressSpaces:\n        - 10.0.1.0/24\n      location: ${example.location}\n  example-2:\n    type: azure:network:VirtualNetwork\n    properties:\n      name: peternetwork2\n      resourceGroupName: ${example.name}\n      addressSpaces:\n        - 10.0.2.0/24\n      location: ${example.location}\n  example-1VirtualNetworkPeering:\n    type: azure:network:VirtualNetworkPeering\n    name: example-1\n    properties:\n      name: peer1to2\n      resourceGroupName: ${example.name}\n      virtualNetworkName: ${[\"example-1\"].name}\n      remoteVirtualNetworkId: ${[\"example-2\"].id}\n      triggers:\n        remote_address_space:\n          fn::invoke:\n            function: std:join\n            arguments:\n              separator: ','\n              input: ${[\"example-2\"].addressSpaces}\n            return: result\n  example-2VirtualNetworkPeering:\n    type: azure:network:VirtualNetworkPeering\n    name: example-2\n    properties:\n      name: peer2to1\n      resourceGroupName: ${example.name}\n      virtualNetworkName: ${[\"example-2\"].name}\n      remoteVirtualNetworkId: ${[\"example-1\"].id}\n      triggers:\n        remote_address_space:\n          fn::invoke:\n            function: std:join\n            arguments:\n              separator: ','\n              input: ${[\"example-1\"].addressSpaces}\n            return: result\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Note\n\nVirtual Network peerings cannot be created, updated or deleted concurrently.\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2025-01-01\n\n## Import\n\nVirtual Network Peerings can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:network/virtualNetworkPeering:VirtualNetworkPeering examplePeering /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Network/virtualNetworks/myvnet1/virtualNetworkPeerings/myvnet1peering\n```\n\n","properties":{"allowForwardedTraffic":{"type":"boolean","description":"Controls if forwarded traffic from VMs in the remote virtual network is allowed. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"allowGatewayTransit":{"type":"boolean","description":"Controls gatewayLinks can be used in the remote virtual network’s link to the local virtual network. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"allowVirtualNetworkAccess":{"type":"boolean","description":"Controls if the traffic from the local virtual network can reach the remote virtual network. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"localSubnetNames":{"type":"array","items":{"type":"string"},"description":"A list of local Subnet names that are Subnet peered with remote Virtual Network.\n"},"name":{"type":"string","description":"The name of the virtual network peering. Changing this forces a new resource to be created.\n"},"onlyIpv6PeeringEnabled":{"type":"boolean","description":"Specifies whether only IPv6 address space is peered for Subnet peering. Changing this forces a new resource to be created.\n"},"peerCompleteVirtualNetworksEnabled":{"type":"boolean","description":"Specifies whether complete Virtual Network address space is peered. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e. Changing this forces a new resource to be created.\n"},"remoteSubnetNames":{"type":"array","items":{"type":"string"},"description":"A list of remote Subnet names from remote Virtual Network that are Subnet peered.\n"},"remoteVirtualNetworkId":{"type":"string","description":"The full Azure resource ID of the remote virtual network. Changing this forces a new resource to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the virtual network peering. Changing this forces a new resource to be created.\n"},"triggers":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of key values pairs that can be used to sync network routes from the remote virtual network to the local virtual network. See the trigger example for an example on how to set it up.\n"},"useRemoteGateways":{"type":"boolean","description":"Controls if remote gateways can be used on the local virtual network. If the flag is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`allowGatewayTransit`\" pulumi-lang-dotnet=\"`AllowGatewayTransit`\" pulumi-lang-go=\"`allowGatewayTransit`\" pulumi-lang-python=\"`allow_gateway_transit`\" pulumi-lang-yaml=\"`allowGatewayTransit`\" pulumi-lang-java=\"`allowGatewayTransit`\"\u003e`allow_gateway_transit`\u003c/span\u003e on the remote peering is also \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, virtual network will use gateways of remote virtual network for transit. Only one peering can have this flag set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e. This flag cannot be set if virtual network already has a gateway. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`useRemoteGateways`\" pulumi-lang-dotnet=\"`UseRemoteGateways`\" pulumi-lang-go=\"`useRemoteGateways`\" pulumi-lang-python=\"`use_remote_gateways`\" pulumi-lang-yaml=\"`useRemoteGateways`\" pulumi-lang-java=\"`useRemoteGateways`\"\u003e`use_remote_gateways`\u003c/span\u003e must be set to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e if using Global Virtual Network Peerings.\n"},"virtualNetworkName":{"type":"string","description":"The name of the virtual network. Changing this forces a new resource to be created.\n"}},"required":["name","remoteVirtualNetworkId","resourceGroupName","virtualNetworkName"],"inputProperties":{"allowForwardedTraffic":{"type":"boolean","description":"Controls if forwarded traffic from VMs in the remote virtual network is allowed. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"allowGatewayTransit":{"type":"boolean","description":"Controls gatewayLinks can be used in the remote virtual network’s link to the local virtual network. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"allowVirtualNetworkAccess":{"type":"boolean","description":"Controls if the traffic from the local virtual network can reach the remote virtual network. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"localSubnetNames":{"type":"array","items":{"type":"string"},"description":"A list of local Subnet names that are Subnet peered with remote Virtual Network.\n"},"name":{"type":"string","description":"The name of the virtual network peering. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"onlyIpv6PeeringEnabled":{"type":"boolean","description":"Specifies whether only IPv6 address space is peered for Subnet peering. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"peerCompleteVirtualNetworksEnabled":{"type":"boolean","description":"Specifies whether complete Virtual Network address space is peered. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"remoteSubnetNames":{"type":"array","items":{"type":"string"},"description":"A list of remote Subnet names from remote Virtual Network that are Subnet peered.\n"},"remoteVirtualNetworkId":{"type":"string","description":"The full Azure resource ID of the remote virtual network. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the virtual network peering. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"triggers":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of key values pairs that can be used to sync network routes from the remote virtual network to the local virtual network. See the trigger example for an example on how to set it up.\n"},"useRemoteGateways":{"type":"boolean","description":"Controls if remote gateways can be used on the local virtual network. If the flag is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`allowGatewayTransit`\" pulumi-lang-dotnet=\"`AllowGatewayTransit`\" pulumi-lang-go=\"`allowGatewayTransit`\" pulumi-lang-python=\"`allow_gateway_transit`\" pulumi-lang-yaml=\"`allowGatewayTransit`\" pulumi-lang-java=\"`allowGatewayTransit`\"\u003e`allow_gateway_transit`\u003c/span\u003e on the remote peering is also \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, virtual network will use gateways of remote virtual network for transit. Only one peering can have this flag set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e. This flag cannot be set if virtual network already has a gateway. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`useRemoteGateways`\" pulumi-lang-dotnet=\"`UseRemoteGateways`\" pulumi-lang-go=\"`useRemoteGateways`\" pulumi-lang-python=\"`use_remote_gateways`\" pulumi-lang-yaml=\"`useRemoteGateways`\" pulumi-lang-java=\"`useRemoteGateways`\"\u003e`use_remote_gateways`\u003c/span\u003e must be set to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e if using Global Virtual Network Peerings.\n"},"virtualNetworkName":{"type":"string","description":"The name of the virtual network. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["remoteVirtualNetworkId","resourceGroupName","virtualNetworkName"],"stateInputs":{"description":"Input properties used for looking up and filtering VirtualNetworkPeering resources.\n","properties":{"allowForwardedTraffic":{"type":"boolean","description":"Controls if forwarded traffic from VMs in the remote virtual network is allowed. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"allowGatewayTransit":{"type":"boolean","description":"Controls gatewayLinks can be used in the remote virtual network’s link to the local virtual network. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"allowVirtualNetworkAccess":{"type":"boolean","description":"Controls if the traffic from the local virtual network can reach the remote virtual network. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"localSubnetNames":{"type":"array","items":{"type":"string"},"description":"A list of local Subnet names that are Subnet peered with remote Virtual Network.\n"},"name":{"type":"string","description":"The name of the virtual network peering. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"onlyIpv6PeeringEnabled":{"type":"boolean","description":"Specifies whether only IPv6 address space is peered for Subnet peering. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"peerCompleteVirtualNetworksEnabled":{"type":"boolean","description":"Specifies whether complete Virtual Network address space is peered. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"remoteSubnetNames":{"type":"array","items":{"type":"string"},"description":"A list of remote Subnet names from remote Virtual Network that are Subnet peered.\n"},"remoteVirtualNetworkId":{"type":"string","description":"The full Azure resource ID of the remote virtual network. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the virtual network peering. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"triggers":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of key values pairs that can be used to sync network routes from the remote virtual network to the local virtual network. See the trigger example for an example on how to set it up.\n"},"useRemoteGateways":{"type":"boolean","description":"Controls if remote gateways can be used on the local virtual network. If the flag is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`allowGatewayTransit`\" pulumi-lang-dotnet=\"`AllowGatewayTransit`\" pulumi-lang-go=\"`allowGatewayTransit`\" pulumi-lang-python=\"`allow_gateway_transit`\" pulumi-lang-yaml=\"`allowGatewayTransit`\" pulumi-lang-java=\"`allowGatewayTransit`\"\u003e`allow_gateway_transit`\u003c/span\u003e on the remote peering is also \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, virtual network will use gateways of remote virtual network for transit. Only one peering can have this flag set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e. This flag cannot be set if virtual network already has a gateway. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`useRemoteGateways`\" pulumi-lang-dotnet=\"`UseRemoteGateways`\" pulumi-lang-go=\"`useRemoteGateways`\" pulumi-lang-python=\"`use_remote_gateways`\" pulumi-lang-yaml=\"`useRemoteGateways`\" pulumi-lang-java=\"`useRemoteGateways`\"\u003e`use_remote_gateways`\u003c/span\u003e must be set to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e if using Global Virtual Network Peerings.\n"},"virtualNetworkName":{"type":"string","description":"The name of the virtual network. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:network/virtualWan:VirtualWan":{"description":"Manages a Virtual WAN.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleVirtualWan = new azure.network.VirtualWan(\"example\", {\n    name: \"example-vwan\",\n    resourceGroupName: example.name,\n    location: example.location,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_virtual_wan = azure.network.VirtualWan(\"example\",\n    name=\"example-vwan\",\n    resource_group_name=example.name,\n    location=example.location)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleVirtualWan = new Azure.Network.VirtualWan(\"example\", new()\n    {\n        Name = \"example-vwan\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = network.NewVirtualWan(ctx, \"example\", \u0026network.VirtualWanArgs{\n\t\t\tName:              pulumi.String(\"example-vwan\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.VirtualWan;\nimport com.pulumi.azure.network.VirtualWanArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleVirtualWan = new VirtualWan(\"exampleVirtualWan\", VirtualWanArgs.builder()\n            .name(\"example-vwan\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleVirtualWan:\n    type: azure:network:VirtualWan\n    name: example\n    properties:\n      name: example-vwan\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2025-01-01\n\n## Import\n\nVirtual WAN can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:network/virtualWan:VirtualWan example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Network/virtualWans/testvwan\n```\n\n","properties":{"allowBranchToBranchTraffic":{"type":"boolean","description":"Boolean flag to specify whether branch to branch traffic is allowed. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"disableVpnEncryption":{"type":"boolean","description":"Boolean flag to specify whether VPN encryption is disabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"Specifies the name of the Virtual WAN. Changing this forces a new resource to be created.\n"},"office365LocalBreakoutCategory":{"type":"string","description":"Specifies the Office365 local breakout category. Possible values include: `Optimize`, `OptimizeAndAllow`, `All`, `None`. Defaults to `None`.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the Virtual WAN. Changing this forces a new resource to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the Virtual WAN.\n"},"type":{"type":"string","description":"Specifies the Virtual WAN type. Possible Values include: `Basic` and `Standard`. Defaults to `Standard`.\n"}},"required":["location","name","resourceGroupName"],"inputProperties":{"allowBranchToBranchTraffic":{"type":"boolean","description":"Boolean flag to specify whether branch to branch traffic is allowed. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"disableVpnEncryption":{"type":"boolean","description":"Boolean flag to specify whether VPN encryption is disabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the Virtual WAN. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"office365LocalBreakoutCategory":{"type":"string","description":"Specifies the Office365 local breakout category. Possible values include: `Optimize`, `OptimizeAndAllow`, `All`, `None`. Defaults to `None`.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the Virtual WAN. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the Virtual WAN.\n"},"type":{"type":"string","description":"Specifies the Virtual WAN type. Possible Values include: `Basic` and `Standard`. Defaults to `Standard`.\n"}},"requiredInputs":["resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering VirtualWan resources.\n","properties":{"allowBranchToBranchTraffic":{"type":"boolean","description":"Boolean flag to specify whether branch to branch traffic is allowed. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"disableVpnEncryption":{"type":"boolean","description":"Boolean flag to specify whether VPN encryption is disabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the Virtual WAN. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"office365LocalBreakoutCategory":{"type":"string","description":"Specifies the Office365 local breakout category. Possible values include: `Optimize`, `OptimizeAndAllow`, `All`, `None`. Defaults to `None`.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the Virtual WAN. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the Virtual WAN.\n"},"type":{"type":"string","description":"Specifies the Virtual WAN type. Possible Values include: `Basic` and `Standard`. Defaults to `Standard`.\n"}},"type":"object"}},"azure:network/vnpGatewayNatRule:VnpGatewayNatRule":{"description":"Manages a VPN Gateway NAT Rule.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleVirtualWan = new azure.network.VirtualWan(\"example\", {\n    name: \"example-vwan\",\n    resourceGroupName: example.name,\n    location: example.location,\n});\nconst exampleVirtualHub = new azure.network.VirtualHub(\"example\", {\n    name: \"example-vhub\",\n    resourceGroupName: example.name,\n    location: example.location,\n    addressPrefix: \"10.0.1.0/24\",\n    virtualWanId: exampleVirtualWan.id,\n});\nconst exampleVpnGateway = new azure.network.VpnGateway(\"example\", {\n    name: \"example-vpngateway\",\n    location: example.location,\n    resourceGroupName: example.name,\n    virtualHubId: exampleVirtualHub.id,\n});\nconst exampleVnpGatewayNatRule = new azure.network.VnpGatewayNatRule(\"example\", {\n    name: \"example-vpngatewaynatrule\",\n    vpnGatewayId: exampleVpnGateway.id,\n    externalMappings: [{\n        addressSpace: \"192.168.21.0/26\",\n    }],\n    internalMappings: [{\n        addressSpace: \"10.4.0.0/26\",\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_virtual_wan = azure.network.VirtualWan(\"example\",\n    name=\"example-vwan\",\n    resource_group_name=example.name,\n    location=example.location)\nexample_virtual_hub = azure.network.VirtualHub(\"example\",\n    name=\"example-vhub\",\n    resource_group_name=example.name,\n    location=example.location,\n    address_prefix=\"10.0.1.0/24\",\n    virtual_wan_id=example_virtual_wan.id)\nexample_vpn_gateway = azure.network.VpnGateway(\"example\",\n    name=\"example-vpngateway\",\n    location=example.location,\n    resource_group_name=example.name,\n    virtual_hub_id=example_virtual_hub.id)\nexample_vnp_gateway_nat_rule = azure.network.VnpGatewayNatRule(\"example\",\n    name=\"example-vpngatewaynatrule\",\n    vpn_gateway_id=example_vpn_gateway.id,\n    external_mappings=[{\n        \"address_space\": \"192.168.21.0/26\",\n    }],\n    internal_mappings=[{\n        \"address_space\": \"10.4.0.0/26\",\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleVirtualWan = new Azure.Network.VirtualWan(\"example\", new()\n    {\n        Name = \"example-vwan\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n    });\n\n    var exampleVirtualHub = new Azure.Network.VirtualHub(\"example\", new()\n    {\n        Name = \"example-vhub\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        AddressPrefix = \"10.0.1.0/24\",\n        VirtualWanId = exampleVirtualWan.Id,\n    });\n\n    var exampleVpnGateway = new Azure.Network.VpnGateway(\"example\", new()\n    {\n        Name = \"example-vpngateway\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        VirtualHubId = exampleVirtualHub.Id,\n    });\n\n    var exampleVnpGatewayNatRule = new Azure.Network.VnpGatewayNatRule(\"example\", new()\n    {\n        Name = \"example-vpngatewaynatrule\",\n        VpnGatewayId = exampleVpnGateway.Id,\n        ExternalMappings = new[]\n        {\n            new Azure.Network.Inputs.VnpGatewayNatRuleExternalMappingArgs\n            {\n                AddressSpace = \"192.168.21.0/26\",\n            },\n        },\n        InternalMappings = new[]\n        {\n            new Azure.Network.Inputs.VnpGatewayNatRuleInternalMappingArgs\n            {\n                AddressSpace = \"10.4.0.0/26\",\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualWan, err := network.NewVirtualWan(ctx, \"example\", \u0026network.VirtualWanArgs{\n\t\t\tName:              pulumi.String(\"example-vwan\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualHub, err := network.NewVirtualHub(ctx, \"example\", \u0026network.VirtualHubArgs{\n\t\t\tName:              pulumi.String(\"example-vhub\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tAddressPrefix:     pulumi.String(\"10.0.1.0/24\"),\n\t\t\tVirtualWanId:      exampleVirtualWan.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVpnGateway, err := network.NewVpnGateway(ctx, \"example\", \u0026network.VpnGatewayArgs{\n\t\t\tName:              pulumi.String(\"example-vpngateway\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tVirtualHubId:      exampleVirtualHub.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = network.NewVnpGatewayNatRule(ctx, \"example\", \u0026network.VnpGatewayNatRuleArgs{\n\t\t\tName:         pulumi.String(\"example-vpngatewaynatrule\"),\n\t\t\tVpnGatewayId: exampleVpnGateway.ID(),\n\t\t\tExternalMappings: network.VnpGatewayNatRuleExternalMappingArray{\n\t\t\t\t\u0026network.VnpGatewayNatRuleExternalMappingArgs{\n\t\t\t\t\tAddressSpace: pulumi.String(\"192.168.21.0/26\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tInternalMappings: network.VnpGatewayNatRuleInternalMappingArray{\n\t\t\t\t\u0026network.VnpGatewayNatRuleInternalMappingArgs{\n\t\t\t\t\tAddressSpace: pulumi.String(\"10.4.0.0/26\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.VirtualWan;\nimport com.pulumi.azure.network.VirtualWanArgs;\nimport com.pulumi.azure.network.VirtualHub;\nimport com.pulumi.azure.network.VirtualHubArgs;\nimport com.pulumi.azure.network.VpnGateway;\nimport com.pulumi.azure.network.VpnGatewayArgs;\nimport com.pulumi.azure.network.VnpGatewayNatRule;\nimport com.pulumi.azure.network.VnpGatewayNatRuleArgs;\nimport com.pulumi.azure.network.inputs.VnpGatewayNatRuleExternalMappingArgs;\nimport com.pulumi.azure.network.inputs.VnpGatewayNatRuleInternalMappingArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleVirtualWan = new VirtualWan(\"exampleVirtualWan\", VirtualWanArgs.builder()\n            .name(\"example-vwan\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .build());\n\n        var exampleVirtualHub = new VirtualHub(\"exampleVirtualHub\", VirtualHubArgs.builder()\n            .name(\"example-vhub\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .addressPrefix(\"10.0.1.0/24\")\n            .virtualWanId(exampleVirtualWan.id())\n            .build());\n\n        var exampleVpnGateway = new VpnGateway(\"exampleVpnGateway\", VpnGatewayArgs.builder()\n            .name(\"example-vpngateway\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .virtualHubId(exampleVirtualHub.id())\n            .build());\n\n        var exampleVnpGatewayNatRule = new VnpGatewayNatRule(\"exampleVnpGatewayNatRule\", VnpGatewayNatRuleArgs.builder()\n            .name(\"example-vpngatewaynatrule\")\n            .vpnGatewayId(exampleVpnGateway.id())\n            .externalMappings(VnpGatewayNatRuleExternalMappingArgs.builder()\n                .addressSpace(\"192.168.21.0/26\")\n                .build())\n            .internalMappings(VnpGatewayNatRuleInternalMappingArgs.builder()\n                .addressSpace(\"10.4.0.0/26\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleVirtualWan:\n    type: azure:network:VirtualWan\n    name: example\n    properties:\n      name: example-vwan\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n  exampleVirtualHub:\n    type: azure:network:VirtualHub\n    name: example\n    properties:\n      name: example-vhub\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      addressPrefix: 10.0.1.0/24\n      virtualWanId: ${exampleVirtualWan.id}\n  exampleVpnGateway:\n    type: azure:network:VpnGateway\n    name: example\n    properties:\n      name: example-vpngateway\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      virtualHubId: ${exampleVirtualHub.id}\n  exampleVnpGatewayNatRule:\n    type: azure:network:VnpGatewayNatRule\n    name: example\n    properties:\n      name: example-vpngatewaynatrule\n      vpnGatewayId: ${exampleVpnGateway.id}\n      externalMappings:\n        - addressSpace: 192.168.21.0/26\n      internalMappings:\n        - addressSpace: 10.4.0.0/26\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2025-01-01\n\n## Import\n\nVPN Gateway NAT Rules can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:network/vnpGatewayNatRule:VnpGatewayNatRule example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resGroup1/providers/Microsoft.Network/vpnGateways/vpnGateway1/natRules/natRule1\n```\n\n","properties":{"externalMappings":{"type":"array","items":{"$ref":"#/types/azure:network/VnpGatewayNatRuleExternalMapping:VnpGatewayNatRuleExternalMapping"},"description":"One of more \u003cspan pulumi-lang-nodejs=\"`externalMapping`\" pulumi-lang-dotnet=\"`ExternalMapping`\" pulumi-lang-go=\"`externalMapping`\" pulumi-lang-python=\"`external_mapping`\" pulumi-lang-yaml=\"`externalMapping`\" pulumi-lang-java=\"`externalMapping`\"\u003e`external_mapping`\u003c/span\u003e blocks as defined below.\n"},"internalMappings":{"type":"array","items":{"$ref":"#/types/azure:network/VnpGatewayNatRuleInternalMapping:VnpGatewayNatRuleInternalMapping"},"description":"One of more \u003cspan pulumi-lang-nodejs=\"`internalMapping`\" pulumi-lang-dotnet=\"`InternalMapping`\" pulumi-lang-go=\"`internalMapping`\" pulumi-lang-python=\"`internal_mapping`\" pulumi-lang-yaml=\"`internalMapping`\" pulumi-lang-java=\"`internalMapping`\"\u003e`internal_mapping`\u003c/span\u003e blocks as defined below.\n"},"ipConfigurationId":{"type":"string","description":"The ID of the IP Configuration this VPN Gateway NAT Rule applies to. Possible values are `Instance0` and `Instance1`.\n"},"mode":{"type":"string","description":"The source NAT direction of the VPN NAT. Possible values are `EgressSnat` and `IngressSnat`. Defaults to `EgressSnat`. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"The name which should be used for this VPN Gateway NAT Rule. Changing this forces a new resource to be created.\n"},"type":{"type":"string","description":"The type of the VPN Gateway NAT Rule. Possible values are `Dynamic` and `Static`. Defaults to `Static`. Changing this forces a new resource to be created.\n"},"vpnGatewayId":{"type":"string","description":"The ID of the VPN Gateway that this VPN Gateway NAT Rule belongs to. Changing this forces a new resource to be created.\n"}},"required":["name","vpnGatewayId"],"inputProperties":{"externalMappings":{"type":"array","items":{"$ref":"#/types/azure:network/VnpGatewayNatRuleExternalMapping:VnpGatewayNatRuleExternalMapping"},"description":"One of more \u003cspan pulumi-lang-nodejs=\"`externalMapping`\" pulumi-lang-dotnet=\"`ExternalMapping`\" pulumi-lang-go=\"`externalMapping`\" pulumi-lang-python=\"`external_mapping`\" pulumi-lang-yaml=\"`externalMapping`\" pulumi-lang-java=\"`externalMapping`\"\u003e`external_mapping`\u003c/span\u003e blocks as defined below.\n"},"internalMappings":{"type":"array","items":{"$ref":"#/types/azure:network/VnpGatewayNatRuleInternalMapping:VnpGatewayNatRuleInternalMapping"},"description":"One of more \u003cspan pulumi-lang-nodejs=\"`internalMapping`\" pulumi-lang-dotnet=\"`InternalMapping`\" pulumi-lang-go=\"`internalMapping`\" pulumi-lang-python=\"`internal_mapping`\" pulumi-lang-yaml=\"`internalMapping`\" pulumi-lang-java=\"`internalMapping`\"\u003e`internal_mapping`\u003c/span\u003e blocks as defined below.\n"},"ipConfigurationId":{"type":"string","description":"The ID of the IP Configuration this VPN Gateway NAT Rule applies to. Possible values are `Instance0` and `Instance1`.\n"},"mode":{"type":"string","description":"The source NAT direction of the VPN NAT. Possible values are `EgressSnat` and `IngressSnat`. Defaults to `EgressSnat`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this VPN Gateway NAT Rule. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"type":{"type":"string","description":"The type of the VPN Gateway NAT Rule. Possible values are `Dynamic` and `Static`. Defaults to `Static`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"vpnGatewayId":{"type":"string","description":"The ID of the VPN Gateway that this VPN Gateway NAT Rule belongs to. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["vpnGatewayId"],"stateInputs":{"description":"Input properties used for looking up and filtering VnpGatewayNatRule resources.\n","properties":{"externalMappings":{"type":"array","items":{"$ref":"#/types/azure:network/VnpGatewayNatRuleExternalMapping:VnpGatewayNatRuleExternalMapping"},"description":"One of more \u003cspan pulumi-lang-nodejs=\"`externalMapping`\" pulumi-lang-dotnet=\"`ExternalMapping`\" pulumi-lang-go=\"`externalMapping`\" pulumi-lang-python=\"`external_mapping`\" pulumi-lang-yaml=\"`externalMapping`\" pulumi-lang-java=\"`externalMapping`\"\u003e`external_mapping`\u003c/span\u003e blocks as defined below.\n"},"internalMappings":{"type":"array","items":{"$ref":"#/types/azure:network/VnpGatewayNatRuleInternalMapping:VnpGatewayNatRuleInternalMapping"},"description":"One of more \u003cspan pulumi-lang-nodejs=\"`internalMapping`\" pulumi-lang-dotnet=\"`InternalMapping`\" pulumi-lang-go=\"`internalMapping`\" pulumi-lang-python=\"`internal_mapping`\" pulumi-lang-yaml=\"`internalMapping`\" pulumi-lang-java=\"`internalMapping`\"\u003e`internal_mapping`\u003c/span\u003e blocks as defined below.\n"},"ipConfigurationId":{"type":"string","description":"The ID of the IP Configuration this VPN Gateway NAT Rule applies to. Possible values are `Instance0` and `Instance1`.\n"},"mode":{"type":"string","description":"The source NAT direction of the VPN NAT. Possible values are `EgressSnat` and `IngressSnat`. Defaults to `EgressSnat`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this VPN Gateway NAT Rule. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"type":{"type":"string","description":"The type of the VPN Gateway NAT Rule. Possible values are `Dynamic` and `Static`. Defaults to `Static`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"vpnGatewayId":{"type":"string","description":"The ID of the VPN Gateway that this VPN Gateway NAT Rule belongs to. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:network/vpnGateway:VpnGateway":{"description":"Manages a VPN Gateway within a Virtual Hub, which enables Site-to-Site communication.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"example\", {\n    name: \"example-network\",\n    location: example.location,\n    resourceGroupName: example.name,\n    addressSpaces: [\"10.0.0.0/16\"],\n});\nconst exampleVirtualWan = new azure.network.VirtualWan(\"example\", {\n    name: \"example-vwan\",\n    resourceGroupName: example.name,\n    location: example.location,\n});\nconst exampleVirtualHub = new azure.network.VirtualHub(\"example\", {\n    name: \"example-hub\",\n    resourceGroupName: example.name,\n    location: example.location,\n    virtualWanId: exampleVirtualWan.id,\n    addressPrefix: \"10.0.1.0/24\",\n});\nconst exampleVpnGateway = new azure.network.VpnGateway(\"example\", {\n    name: \"example-vpng\",\n    location: example.location,\n    resourceGroupName: example.name,\n    virtualHubId: exampleVirtualHub.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_virtual_network = azure.network.VirtualNetwork(\"example\",\n    name=\"example-network\",\n    location=example.location,\n    resource_group_name=example.name,\n    address_spaces=[\"10.0.0.0/16\"])\nexample_virtual_wan = azure.network.VirtualWan(\"example\",\n    name=\"example-vwan\",\n    resource_group_name=example.name,\n    location=example.location)\nexample_virtual_hub = azure.network.VirtualHub(\"example\",\n    name=\"example-hub\",\n    resource_group_name=example.name,\n    location=example.location,\n    virtual_wan_id=example_virtual_wan.id,\n    address_prefix=\"10.0.1.0/24\")\nexample_vpn_gateway = azure.network.VpnGateway(\"example\",\n    name=\"example-vpng\",\n    location=example.location,\n    resource_group_name=example.name,\n    virtual_hub_id=example_virtual_hub.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleVirtualNetwork = new Azure.Network.VirtualNetwork(\"example\", new()\n    {\n        Name = \"example-network\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        AddressSpaces = new[]\n        {\n            \"10.0.0.0/16\",\n        },\n    });\n\n    var exampleVirtualWan = new Azure.Network.VirtualWan(\"example\", new()\n    {\n        Name = \"example-vwan\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n    });\n\n    var exampleVirtualHub = new Azure.Network.VirtualHub(\"example\", new()\n    {\n        Name = \"example-hub\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        VirtualWanId = exampleVirtualWan.Id,\n        AddressPrefix = \"10.0.1.0/24\",\n    });\n\n    var exampleVpnGateway = new Azure.Network.VpnGateway(\"example\", new()\n    {\n        Name = \"example-vpng\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        VirtualHubId = exampleVirtualHub.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = network.NewVirtualNetwork(ctx, \"example\", \u0026network.VirtualNetworkArgs{\n\t\t\tName:              pulumi.String(\"example-network\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tAddressSpaces: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.0.0/16\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualWan, err := network.NewVirtualWan(ctx, \"example\", \u0026network.VirtualWanArgs{\n\t\t\tName:              pulumi.String(\"example-vwan\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualHub, err := network.NewVirtualHub(ctx, \"example\", \u0026network.VirtualHubArgs{\n\t\t\tName:              pulumi.String(\"example-hub\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tVirtualWanId:      exampleVirtualWan.ID(),\n\t\t\tAddressPrefix:     pulumi.String(\"10.0.1.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = network.NewVpnGateway(ctx, \"example\", \u0026network.VpnGatewayArgs{\n\t\t\tName:              pulumi.String(\"example-vpng\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tVirtualHubId:      exampleVirtualHub.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.VirtualNetwork;\nimport com.pulumi.azure.network.VirtualNetworkArgs;\nimport com.pulumi.azure.network.VirtualWan;\nimport com.pulumi.azure.network.VirtualWanArgs;\nimport com.pulumi.azure.network.VirtualHub;\nimport com.pulumi.azure.network.VirtualHubArgs;\nimport com.pulumi.azure.network.VpnGateway;\nimport com.pulumi.azure.network.VpnGatewayArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleVirtualNetwork = new VirtualNetwork(\"exampleVirtualNetwork\", VirtualNetworkArgs.builder()\n            .name(\"example-network\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .addressSpaces(\"10.0.0.0/16\")\n            .build());\n\n        var exampleVirtualWan = new VirtualWan(\"exampleVirtualWan\", VirtualWanArgs.builder()\n            .name(\"example-vwan\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .build());\n\n        var exampleVirtualHub = new VirtualHub(\"exampleVirtualHub\", VirtualHubArgs.builder()\n            .name(\"example-hub\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .virtualWanId(exampleVirtualWan.id())\n            .addressPrefix(\"10.0.1.0/24\")\n            .build());\n\n        var exampleVpnGateway = new VpnGateway(\"exampleVpnGateway\", VpnGatewayArgs.builder()\n            .name(\"example-vpng\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .virtualHubId(exampleVirtualHub.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleVirtualNetwork:\n    type: azure:network:VirtualNetwork\n    name: example\n    properties:\n      name: example-network\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      addressSpaces:\n        - 10.0.0.0/16\n  exampleVirtualWan:\n    type: azure:network:VirtualWan\n    name: example\n    properties:\n      name: example-vwan\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n  exampleVirtualHub:\n    type: azure:network:VirtualHub\n    name: example\n    properties:\n      name: example-hub\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      virtualWanId: ${exampleVirtualWan.id}\n      addressPrefix: 10.0.1.0/24\n  exampleVpnGateway:\n    type: azure:network:VpnGateway\n    name: example\n    properties:\n      name: example-vpng\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      virtualHubId: ${exampleVirtualHub.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2025-01-01\n\n## Import\n\nVPN Gateways can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:network/vpnGateway:VpnGateway gateway1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Network/vpnGateways/gateway1\n```\n\n","properties":{"bgpRouteTranslationForNatEnabled":{"type":"boolean","description":"Is BGP route translation for NAT on this VPN Gateway enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"bgpSettings":{"$ref":"#/types/azure:network/VpnGatewayBgpSettings:VpnGatewayBgpSettings","description":"A \u003cspan pulumi-lang-nodejs=\"`bgpSettings`\" pulumi-lang-dotnet=\"`BgpSettings`\" pulumi-lang-go=\"`bgpSettings`\" pulumi-lang-python=\"`bgp_settings`\" pulumi-lang-yaml=\"`bgpSettings`\" pulumi-lang-java=\"`bgpSettings`\"\u003e`bgp_settings`\u003c/span\u003e block as defined below.\n"},"ipConfigurations":{"type":"array","items":{"$ref":"#/types/azure:network/VpnGatewayIpConfiguration:VpnGatewayIpConfiguration"},"description":"An \u003cspan pulumi-lang-nodejs=\"`ipConfiguration`\" pulumi-lang-dotnet=\"`IpConfiguration`\" pulumi-lang-go=\"`ipConfiguration`\" pulumi-lang-python=\"`ip_configuration`\" pulumi-lang-yaml=\"`ipConfiguration`\" pulumi-lang-java=\"`ipConfiguration`\"\u003e`ip_configuration`\u003c/span\u003e block as defined below.\n"},"location":{"type":"string","description":"The Azure location where this VPN Gateway should be created. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"The Name which should be used for this VPN Gateway. Changing this forces a new resource to be created.\n"},"resourceGroupName":{"type":"string","description":"The Name of the Resource Group in which this VPN Gateway should be created. Changing this forces a new resource to be created.\n"},"routingPreference":{"type":"string","description":"Azure routing preference lets you to choose how your traffic routes between Azure and the internet. You can choose to route traffic either via the Microsoft network (default value, `Microsoft Network`), or via the ISP network (public internet, set to `Internet`). More context of the configuration can be found in the [Microsoft Docs](https://docs.microsoft.com/azure/virtual-wan/virtual-wan-site-to-site-portal#gateway) to create a VPN Gateway. Defaults to `Microsoft Network`. Changing this forces a new resource to be created.\n"},"scaleUnit":{"type":"integer","description":"The Scale Unit for this VPN Gateway. Defaults to \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the VPN Gateway.\n"},"virtualHubId":{"type":"string","description":"The ID of the Virtual Hub within which this VPN Gateway should be created. Changing this forces a new resource to be created.\n"}},"required":["bgpSettings","ipConfigurations","location","name","resourceGroupName","virtualHubId"],"inputProperties":{"bgpRouteTranslationForNatEnabled":{"type":"boolean","description":"Is BGP route translation for NAT on this VPN Gateway enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"bgpSettings":{"$ref":"#/types/azure:network/VpnGatewayBgpSettings:VpnGatewayBgpSettings","description":"A \u003cspan pulumi-lang-nodejs=\"`bgpSettings`\" pulumi-lang-dotnet=\"`BgpSettings`\" pulumi-lang-go=\"`bgpSettings`\" pulumi-lang-python=\"`bgp_settings`\" pulumi-lang-yaml=\"`bgpSettings`\" pulumi-lang-java=\"`bgpSettings`\"\u003e`bgp_settings`\u003c/span\u003e block as defined below.\n"},"location":{"type":"string","description":"The Azure location where this VPN Gateway should be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The Name which should be used for this VPN Gateway. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The Name of the Resource Group in which this VPN Gateway should be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"routingPreference":{"type":"string","description":"Azure routing preference lets you to choose how your traffic routes between Azure and the internet. You can choose to route traffic either via the Microsoft network (default value, `Microsoft Network`), or via the ISP network (public internet, set to `Internet`). More context of the configuration can be found in the [Microsoft Docs](https://docs.microsoft.com/azure/virtual-wan/virtual-wan-site-to-site-portal#gateway) to create a VPN Gateway. Defaults to `Microsoft Network`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"scaleUnit":{"type":"integer","description":"The Scale Unit for this VPN Gateway. Defaults to \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the VPN Gateway.\n"},"virtualHubId":{"type":"string","description":"The ID of the Virtual Hub within which this VPN Gateway should be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["resourceGroupName","virtualHubId"],"stateInputs":{"description":"Input properties used for looking up and filtering VpnGateway resources.\n","properties":{"bgpRouteTranslationForNatEnabled":{"type":"boolean","description":"Is BGP route translation for NAT on this VPN Gateway enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"bgpSettings":{"$ref":"#/types/azure:network/VpnGatewayBgpSettings:VpnGatewayBgpSettings","description":"A \u003cspan pulumi-lang-nodejs=\"`bgpSettings`\" pulumi-lang-dotnet=\"`BgpSettings`\" pulumi-lang-go=\"`bgpSettings`\" pulumi-lang-python=\"`bgp_settings`\" pulumi-lang-yaml=\"`bgpSettings`\" pulumi-lang-java=\"`bgpSettings`\"\u003e`bgp_settings`\u003c/span\u003e block as defined below.\n"},"ipConfigurations":{"type":"array","items":{"$ref":"#/types/azure:network/VpnGatewayIpConfiguration:VpnGatewayIpConfiguration"},"description":"An \u003cspan pulumi-lang-nodejs=\"`ipConfiguration`\" pulumi-lang-dotnet=\"`IpConfiguration`\" pulumi-lang-go=\"`ipConfiguration`\" pulumi-lang-python=\"`ip_configuration`\" pulumi-lang-yaml=\"`ipConfiguration`\" pulumi-lang-java=\"`ipConfiguration`\"\u003e`ip_configuration`\u003c/span\u003e block as defined below.\n"},"location":{"type":"string","description":"The Azure location where this VPN Gateway should be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The Name which should be used for this VPN Gateway. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The Name of the Resource Group in which this VPN Gateway should be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"routingPreference":{"type":"string","description":"Azure routing preference lets you to choose how your traffic routes between Azure and the internet. You can choose to route traffic either via the Microsoft network (default value, `Microsoft Network`), or via the ISP network (public internet, set to `Internet`). More context of the configuration can be found in the [Microsoft Docs](https://docs.microsoft.com/azure/virtual-wan/virtual-wan-site-to-site-portal#gateway) to create a VPN Gateway. Defaults to `Microsoft Network`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"scaleUnit":{"type":"integer","description":"The Scale Unit for this VPN Gateway. Defaults to \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the VPN Gateway.\n"},"virtualHubId":{"type":"string","description":"The ID of the Virtual Hub within which this VPN Gateway should be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:network/vpnGatewayConnection:VpnGatewayConnection":{"description":"Manages a VPN Gateway Connection.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleVirtualWan = new azure.network.VirtualWan(\"example\", {\n    name: \"example-vwan\",\n    resourceGroupName: example.name,\n    location: example.location,\n});\nconst exampleVirtualHub = new azure.network.VirtualHub(\"example\", {\n    name: \"example-hub\",\n    resourceGroupName: example.name,\n    location: example.location,\n    virtualWanId: exampleVirtualWan.id,\n    addressPrefix: \"10.0.0.0/24\",\n});\nconst exampleVpnGateway = new azure.network.VpnGateway(\"example\", {\n    name: \"example-vpng\",\n    location: example.location,\n    resourceGroupName: example.name,\n    virtualHubId: exampleVirtualHub.id,\n});\nconst exampleVpnSite = new azure.network.VpnSite(\"example\", {\n    name: \"example-vpn-site\",\n    location: example.location,\n    resourceGroupName: example.name,\n    virtualWanId: exampleVirtualWan.id,\n    links: [\n        {\n            name: \"link1\",\n            ipAddress: \"10.1.0.0\",\n        },\n        {\n            name: \"link2\",\n            ipAddress: \"10.2.0.0\",\n        },\n    ],\n});\nconst exampleVpnGatewayConnection = new azure.network.VpnGatewayConnection(\"example\", {\n    name: \"example\",\n    vpnGatewayId: exampleVpnGateway.id,\n    remoteVpnSiteId: exampleVpnSite.id,\n    vpnLinks: [\n        {\n            name: \"link1\",\n            vpnSiteLinkId: exampleVpnSite.links.apply(links =\u003e links?.[0]?.id),\n        },\n        {\n            name: \"link2\",\n            vpnSiteLinkId: exampleVpnSite.links.apply(links =\u003e links?.[1]?.id),\n        },\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_virtual_wan = azure.network.VirtualWan(\"example\",\n    name=\"example-vwan\",\n    resource_group_name=example.name,\n    location=example.location)\nexample_virtual_hub = azure.network.VirtualHub(\"example\",\n    name=\"example-hub\",\n    resource_group_name=example.name,\n    location=example.location,\n    virtual_wan_id=example_virtual_wan.id,\n    address_prefix=\"10.0.0.0/24\")\nexample_vpn_gateway = azure.network.VpnGateway(\"example\",\n    name=\"example-vpng\",\n    location=example.location,\n    resource_group_name=example.name,\n    virtual_hub_id=example_virtual_hub.id)\nexample_vpn_site = azure.network.VpnSite(\"example\",\n    name=\"example-vpn-site\",\n    location=example.location,\n    resource_group_name=example.name,\n    virtual_wan_id=example_virtual_wan.id,\n    links=[\n        {\n            \"name\": \"link1\",\n            \"ip_address\": \"10.1.0.0\",\n        },\n        {\n            \"name\": \"link2\",\n            \"ip_address\": \"10.2.0.0\",\n        },\n    ])\nexample_vpn_gateway_connection = azure.network.VpnGatewayConnection(\"example\",\n    name=\"example\",\n    vpn_gateway_id=example_vpn_gateway.id,\n    remote_vpn_site_id=example_vpn_site.id,\n    vpn_links=[\n        {\n            \"name\": \"link1\",\n            \"vpn_site_link_id\": example_vpn_site.links[0].id,\n        },\n        {\n            \"name\": \"link2\",\n            \"vpn_site_link_id\": example_vpn_site.links[1].id,\n        },\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleVirtualWan = new Azure.Network.VirtualWan(\"example\", new()\n    {\n        Name = \"example-vwan\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n    });\n\n    var exampleVirtualHub = new Azure.Network.VirtualHub(\"example\", new()\n    {\n        Name = \"example-hub\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        VirtualWanId = exampleVirtualWan.Id,\n        AddressPrefix = \"10.0.0.0/24\",\n    });\n\n    var exampleVpnGateway = new Azure.Network.VpnGateway(\"example\", new()\n    {\n        Name = \"example-vpng\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        VirtualHubId = exampleVirtualHub.Id,\n    });\n\n    var exampleVpnSite = new Azure.Network.VpnSite(\"example\", new()\n    {\n        Name = \"example-vpn-site\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        VirtualWanId = exampleVirtualWan.Id,\n        Links = new[]\n        {\n            new Azure.Network.Inputs.VpnSiteLinkArgs\n            {\n                Name = \"link1\",\n                IpAddress = \"10.1.0.0\",\n            },\n            new Azure.Network.Inputs.VpnSiteLinkArgs\n            {\n                Name = \"link2\",\n                IpAddress = \"10.2.0.0\",\n            },\n        },\n    });\n\n    var exampleVpnGatewayConnection = new Azure.Network.VpnGatewayConnection(\"example\", new()\n    {\n        Name = \"example\",\n        VpnGatewayId = exampleVpnGateway.Id,\n        RemoteVpnSiteId = exampleVpnSite.Id,\n        VpnLinks = new[]\n        {\n            new Azure.Network.Inputs.VpnGatewayConnectionVpnLinkArgs\n            {\n                Name = \"link1\",\n                VpnSiteLinkId = exampleVpnSite.Links.Apply(links =\u003e links[0]?.Id),\n            },\n            new Azure.Network.Inputs.VpnGatewayConnectionVpnLinkArgs\n            {\n                Name = \"link2\",\n                VpnSiteLinkId = exampleVpnSite.Links.Apply(links =\u003e links[1]?.Id),\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualWan, err := network.NewVirtualWan(ctx, \"example\", \u0026network.VirtualWanArgs{\n\t\t\tName:              pulumi.String(\"example-vwan\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualHub, err := network.NewVirtualHub(ctx, \"example\", \u0026network.VirtualHubArgs{\n\t\t\tName:              pulumi.String(\"example-hub\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tVirtualWanId:      exampleVirtualWan.ID(),\n\t\t\tAddressPrefix:     pulumi.String(\"10.0.0.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVpnGateway, err := network.NewVpnGateway(ctx, \"example\", \u0026network.VpnGatewayArgs{\n\t\t\tName:              pulumi.String(\"example-vpng\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tVirtualHubId:      exampleVirtualHub.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVpnSite, err := network.NewVpnSite(ctx, \"example\", \u0026network.VpnSiteArgs{\n\t\t\tName:              pulumi.String(\"example-vpn-site\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tVirtualWanId:      exampleVirtualWan.ID(),\n\t\t\tLinks: network.VpnSiteLinkArray{\n\t\t\t\t\u0026network.VpnSiteLinkArgs{\n\t\t\t\t\tName:      pulumi.String(\"link1\"),\n\t\t\t\t\tIpAddress: pulumi.String(\"10.1.0.0\"),\n\t\t\t\t},\n\t\t\t\t\u0026network.VpnSiteLinkArgs{\n\t\t\t\t\tName:      pulumi.String(\"link2\"),\n\t\t\t\t\tIpAddress: pulumi.String(\"10.2.0.0\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = network.NewVpnGatewayConnection(ctx, \"example\", \u0026network.VpnGatewayConnectionArgs{\n\t\t\tName:            pulumi.String(\"example\"),\n\t\t\tVpnGatewayId:    exampleVpnGateway.ID(),\n\t\t\tRemoteVpnSiteId: exampleVpnSite.ID(),\n\t\t\tVpnLinks: network.VpnGatewayConnectionVpnLinkArray{\n\t\t\t\t\u0026network.VpnGatewayConnectionVpnLinkArgs{\n\t\t\t\t\tName: pulumi.String(\"link1\"),\n\t\t\t\t\tVpnSiteLinkId: exampleVpnSite.Links.ApplyT(func(links []network.VpnSiteLink) (*string, error) {\n\t\t\t\t\t\treturn \u0026links[0].Id, nil\n\t\t\t\t\t}).(pulumi.StringPtrOutput),\n\t\t\t\t},\n\t\t\t\t\u0026network.VpnGatewayConnectionVpnLinkArgs{\n\t\t\t\t\tName: pulumi.String(\"link2\"),\n\t\t\t\t\tVpnSiteLinkId: exampleVpnSite.Links.ApplyT(func(links []network.VpnSiteLink) (*string, error) {\n\t\t\t\t\t\treturn \u0026links[1].Id, nil\n\t\t\t\t\t}).(pulumi.StringPtrOutput),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.VirtualWan;\nimport com.pulumi.azure.network.VirtualWanArgs;\nimport com.pulumi.azure.network.VirtualHub;\nimport com.pulumi.azure.network.VirtualHubArgs;\nimport com.pulumi.azure.network.VpnGateway;\nimport com.pulumi.azure.network.VpnGatewayArgs;\nimport com.pulumi.azure.network.VpnSite;\nimport com.pulumi.azure.network.VpnSiteArgs;\nimport com.pulumi.azure.network.inputs.VpnSiteLinkArgs;\nimport com.pulumi.azure.network.VpnGatewayConnection;\nimport com.pulumi.azure.network.VpnGatewayConnectionArgs;\nimport com.pulumi.azure.network.inputs.VpnGatewayConnectionVpnLinkArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleVirtualWan = new VirtualWan(\"exampleVirtualWan\", VirtualWanArgs.builder()\n            .name(\"example-vwan\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .build());\n\n        var exampleVirtualHub = new VirtualHub(\"exampleVirtualHub\", VirtualHubArgs.builder()\n            .name(\"example-hub\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .virtualWanId(exampleVirtualWan.id())\n            .addressPrefix(\"10.0.0.0/24\")\n            .build());\n\n        var exampleVpnGateway = new VpnGateway(\"exampleVpnGateway\", VpnGatewayArgs.builder()\n            .name(\"example-vpng\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .virtualHubId(exampleVirtualHub.id())\n            .build());\n\n        var exampleVpnSite = new VpnSite(\"exampleVpnSite\", VpnSiteArgs.builder()\n            .name(\"example-vpn-site\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .virtualWanId(exampleVirtualWan.id())\n            .links(            \n                VpnSiteLinkArgs.builder()\n                    .name(\"link1\")\n                    .ipAddress(\"10.1.0.0\")\n                    .build(),\n                VpnSiteLinkArgs.builder()\n                    .name(\"link2\")\n                    .ipAddress(\"10.2.0.0\")\n                    .build())\n            .build());\n\n        var exampleVpnGatewayConnection = new VpnGatewayConnection(\"exampleVpnGatewayConnection\", VpnGatewayConnectionArgs.builder()\n            .name(\"example\")\n            .vpnGatewayId(exampleVpnGateway.id())\n            .remoteVpnSiteId(exampleVpnSite.id())\n            .vpnLinks(            \n                VpnGatewayConnectionVpnLinkArgs.builder()\n                    .name(\"link1\")\n                    .vpnSiteLinkId(exampleVpnSite.links().applyValue(_links -\u003e _links[0].id()))\n                    .build(),\n                VpnGatewayConnectionVpnLinkArgs.builder()\n                    .name(\"link2\")\n                    .vpnSiteLinkId(exampleVpnSite.links().applyValue(_links -\u003e _links[1].id()))\n                    .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleVirtualWan:\n    type: azure:network:VirtualWan\n    name: example\n    properties:\n      name: example-vwan\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n  exampleVirtualHub:\n    type: azure:network:VirtualHub\n    name: example\n    properties:\n      name: example-hub\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      virtualWanId: ${exampleVirtualWan.id}\n      addressPrefix: 10.0.0.0/24\n  exampleVpnGateway:\n    type: azure:network:VpnGateway\n    name: example\n    properties:\n      name: example-vpng\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      virtualHubId: ${exampleVirtualHub.id}\n  exampleVpnSite:\n    type: azure:network:VpnSite\n    name: example\n    properties:\n      name: example-vpn-site\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      virtualWanId: ${exampleVirtualWan.id}\n      links:\n        - name: link1\n          ipAddress: 10.1.0.0\n        - name: link2\n          ipAddress: 10.2.0.0\n  exampleVpnGatewayConnection:\n    type: azure:network:VpnGatewayConnection\n    name: example\n    properties:\n      name: example\n      vpnGatewayId: ${exampleVpnGateway.id}\n      remoteVpnSiteId: ${exampleVpnSite.id}\n      vpnLinks:\n        - name: link1\n          vpnSiteLinkId: ${exampleVpnSite.links[0].id}\n        - name: link2\n          vpnSiteLinkId: ${exampleVpnSite.links[1].id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2025-01-01\n\n## Import\n\nVPN Gateway Connections can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:network/vpnGatewayConnection:VpnGatewayConnection example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Network/vpnGateways/gateway1/vpnConnections/conn1\n```\n\n","properties":{"internetSecurityEnabled":{"type":"boolean","description":"Whether Internet Security is enabled for this VPN Connection. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"name":{"type":"string","description":"The name which should be used for this VPN Gateway Connection. Changing this forces a new VPN Gateway Connection to be created.\n"},"remoteVpnSiteId":{"type":"string","description":"The ID of the remote VPN Site, which will connect to the VPN Gateway. Changing this forces a new VPN Gateway Connection to be created.\n"},"routing":{"$ref":"#/types/azure:network/VpnGatewayConnectionRouting:VpnGatewayConnectionRouting","description":"A \u003cspan pulumi-lang-nodejs=\"`routing`\" pulumi-lang-dotnet=\"`Routing`\" pulumi-lang-go=\"`routing`\" pulumi-lang-python=\"`routing`\" pulumi-lang-yaml=\"`routing`\" pulumi-lang-java=\"`routing`\"\u003e`routing`\u003c/span\u003e block as defined below. If this is not specified, there will be a default route table created implicitly.\n"},"trafficSelectorPolicies":{"type":"array","items":{"$ref":"#/types/azure:network/VpnGatewayConnectionTrafficSelectorPolicy:VpnGatewayConnectionTrafficSelectorPolicy"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`trafficSelectorPolicy`\" pulumi-lang-dotnet=\"`TrafficSelectorPolicy`\" pulumi-lang-go=\"`trafficSelectorPolicy`\" pulumi-lang-python=\"`traffic_selector_policy`\" pulumi-lang-yaml=\"`trafficSelectorPolicy`\" pulumi-lang-java=\"`trafficSelectorPolicy`\"\u003e`traffic_selector_policy`\u003c/span\u003e blocks as defined below.\n"},"vpnGatewayId":{"type":"string","description":"The ID of the VPN Gateway that this VPN Gateway Connection belongs to. Changing this forces a new VPN Gateway Connection to be created.\n"},"vpnLinks":{"type":"array","items":{"$ref":"#/types/azure:network/VpnGatewayConnectionVpnLink:VpnGatewayConnectionVpnLink"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`vpnLink`\" pulumi-lang-dotnet=\"`VpnLink`\" pulumi-lang-go=\"`vpnLink`\" pulumi-lang-python=\"`vpn_link`\" pulumi-lang-yaml=\"`vpnLink`\" pulumi-lang-java=\"`vpnLink`\"\u003e`vpn_link`\u003c/span\u003e blocks as defined below.\n"}},"required":["name","remoteVpnSiteId","routing","vpnGatewayId","vpnLinks"],"inputProperties":{"internetSecurityEnabled":{"type":"boolean","description":"Whether Internet Security is enabled for this VPN Connection. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"name":{"type":"string","description":"The name which should be used for this VPN Gateway Connection. Changing this forces a new VPN Gateway Connection to be created.\n","willReplaceOnChanges":true},"remoteVpnSiteId":{"type":"string","description":"The ID of the remote VPN Site, which will connect to the VPN Gateway. Changing this forces a new VPN Gateway Connection to be created.\n","willReplaceOnChanges":true},"routing":{"$ref":"#/types/azure:network/VpnGatewayConnectionRouting:VpnGatewayConnectionRouting","description":"A \u003cspan pulumi-lang-nodejs=\"`routing`\" pulumi-lang-dotnet=\"`Routing`\" pulumi-lang-go=\"`routing`\" pulumi-lang-python=\"`routing`\" pulumi-lang-yaml=\"`routing`\" pulumi-lang-java=\"`routing`\"\u003e`routing`\u003c/span\u003e block as defined below. If this is not specified, there will be a default route table created implicitly.\n"},"trafficSelectorPolicies":{"type":"array","items":{"$ref":"#/types/azure:network/VpnGatewayConnectionTrafficSelectorPolicy:VpnGatewayConnectionTrafficSelectorPolicy"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`trafficSelectorPolicy`\" pulumi-lang-dotnet=\"`TrafficSelectorPolicy`\" pulumi-lang-go=\"`trafficSelectorPolicy`\" pulumi-lang-python=\"`traffic_selector_policy`\" pulumi-lang-yaml=\"`trafficSelectorPolicy`\" pulumi-lang-java=\"`trafficSelectorPolicy`\"\u003e`traffic_selector_policy`\u003c/span\u003e blocks as defined below.\n"},"vpnGatewayId":{"type":"string","description":"The ID of the VPN Gateway that this VPN Gateway Connection belongs to. Changing this forces a new VPN Gateway Connection to be created.\n","willReplaceOnChanges":true},"vpnLinks":{"type":"array","items":{"$ref":"#/types/azure:network/VpnGatewayConnectionVpnLink:VpnGatewayConnectionVpnLink"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`vpnLink`\" pulumi-lang-dotnet=\"`VpnLink`\" pulumi-lang-go=\"`vpnLink`\" pulumi-lang-python=\"`vpn_link`\" pulumi-lang-yaml=\"`vpnLink`\" pulumi-lang-java=\"`vpnLink`\"\u003e`vpn_link`\u003c/span\u003e blocks as defined below.\n"}},"requiredInputs":["remoteVpnSiteId","vpnGatewayId","vpnLinks"],"stateInputs":{"description":"Input properties used for looking up and filtering VpnGatewayConnection resources.\n","properties":{"internetSecurityEnabled":{"type":"boolean","description":"Whether Internet Security is enabled for this VPN Connection. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"name":{"type":"string","description":"The name which should be used for this VPN Gateway Connection. Changing this forces a new VPN Gateway Connection to be created.\n","willReplaceOnChanges":true},"remoteVpnSiteId":{"type":"string","description":"The ID of the remote VPN Site, which will connect to the VPN Gateway. Changing this forces a new VPN Gateway Connection to be created.\n","willReplaceOnChanges":true},"routing":{"$ref":"#/types/azure:network/VpnGatewayConnectionRouting:VpnGatewayConnectionRouting","description":"A \u003cspan pulumi-lang-nodejs=\"`routing`\" pulumi-lang-dotnet=\"`Routing`\" pulumi-lang-go=\"`routing`\" pulumi-lang-python=\"`routing`\" pulumi-lang-yaml=\"`routing`\" pulumi-lang-java=\"`routing`\"\u003e`routing`\u003c/span\u003e block as defined below. If this is not specified, there will be a default route table created implicitly.\n"},"trafficSelectorPolicies":{"type":"array","items":{"$ref":"#/types/azure:network/VpnGatewayConnectionTrafficSelectorPolicy:VpnGatewayConnectionTrafficSelectorPolicy"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`trafficSelectorPolicy`\" pulumi-lang-dotnet=\"`TrafficSelectorPolicy`\" pulumi-lang-go=\"`trafficSelectorPolicy`\" pulumi-lang-python=\"`traffic_selector_policy`\" pulumi-lang-yaml=\"`trafficSelectorPolicy`\" pulumi-lang-java=\"`trafficSelectorPolicy`\"\u003e`traffic_selector_policy`\u003c/span\u003e blocks as defined below.\n"},"vpnGatewayId":{"type":"string","description":"The ID of the VPN Gateway that this VPN Gateway Connection belongs to. Changing this forces a new VPN Gateway Connection to be created.\n","willReplaceOnChanges":true},"vpnLinks":{"type":"array","items":{"$ref":"#/types/azure:network/VpnGatewayConnectionVpnLink:VpnGatewayConnectionVpnLink"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`vpnLink`\" pulumi-lang-dotnet=\"`VpnLink`\" pulumi-lang-go=\"`vpnLink`\" pulumi-lang-python=\"`vpn_link`\" pulumi-lang-yaml=\"`vpnLink`\" pulumi-lang-java=\"`vpnLink`\"\u003e`vpn_link`\u003c/span\u003e blocks as defined below.\n"}},"type":"object"}},"azure:network/vpnServerConfiguration:VpnServerConfiguration":{"description":"Manages a VPN Server Configuration.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst test = new azure.network.VpnServerConfiguration(\"test\", {\n    name: \"example-config\",\n    resourceGroupName: example.name,\n    location: example.location,\n    vpnAuthenticationTypes: [\"Certificate\"],\n    clientRootCertificates: [{\n        name: \"DigiCert-Federated-ID-Root-CA\",\n        publicCertData: `MIIDuzCCAqOgAwIBAgIQCHTZWCM+IlfFIRXIvyKSrjANBgkqhkiG9w0BAQsFADBn\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\nd3cuZGlnaWNlcnQuY29tMSYwJAYDVQQDEx1EaWdpQ2VydCBGZWRlcmF0ZWQgSUQg\nUm9vdCBDQTAeFw0xMzAxMTUxMjAwMDBaFw0zMzAxMTUxMjAwMDBaMGcxCzAJBgNV\nBAYTAlVTMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdp\nY2VydC5jb20xJjAkBgNVBAMTHURpZ2lDZXJ0IEZlZGVyYXRlZCBJRCBSb290IENB\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvAEB4pcCqnNNOWE6Ur5j\nQPUH+1y1F9KdHTRSza6k5iDlXq1kGS1qAkuKtw9JsiNRrjltmFnzMZRBbX8Tlfl8\nzAhBmb6dDduDGED01kBsTkgywYPxXVTKec0WxYEEF0oMn4wSYNl0lt2eJAKHXjNf\nGTwiibdP8CUR2ghSM2sUTI8Nt1Omfc4SMHhGhYD64uJMbX98THQ/4LMGuYegou+d\nGTiahfHtjn7AboSEknwAMJHCh5RlYZZ6B1O4QbKJ+34Q0eKgnI3X6Vc9u0zf6DH8\nDk+4zQDYRRTqTnVO3VT8jzqDlCRuNtq6YvryOWN74/dq8LQhUnXHvFyrsdMaE1X2\nDwIDAQABo2MwYTAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBhjAdBgNV\nHQ4EFgQUGRdkFnbGt1EWjKwbUne+5OaZvRYwHwYDVR0jBBgwFoAUGRdkFnbGt1EW\njKwbUne+5OaZvRYwDQYJKoZIhvcNAQELBQADggEBAHcqsHkrjpESqfuVTRiptJfP\n9JbdtWqRTmOf6uJi2c8YVqI6XlKXsD8C1dUUaaHKLUJzvKiazibVuBwMIT84AyqR\nQELn3e0BtgEymEygMU569b01ZPxoFSnNXc7qDZBDef8WfqAV/sxkTi8L9BkmFYfL\nuGLOhRJOFprPdoDIUBB+tmCl3oDcBy3vnUeOEioz8zAkprcb3GHwHAK+vHmmfgcn\nWsfMLH4JCLa/tRYL+Rw/N3ybCkDp00s0WUZ+AoDywSl0Q/ZEnNY0MsFiw6LyIdbq\nM/s/1JRtO3bDSzD9TazRVzn2oBqzSa8VgIo5C1nOnoAKJTlsClJKvIhnRlaLQqk=\n`,\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\ntest = azure.network.VpnServerConfiguration(\"test\",\n    name=\"example-config\",\n    resource_group_name=example.name,\n    location=example.location,\n    vpn_authentication_types=[\"Certificate\"],\n    client_root_certificates=[{\n        \"name\": \"DigiCert-Federated-ID-Root-CA\",\n        \"public_cert_data\": \"\"\"MIIDuzCCAqOgAwIBAgIQCHTZWCM+IlfFIRXIvyKSrjANBgkqhkiG9w0BAQsFADBn\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\nd3cuZGlnaWNlcnQuY29tMSYwJAYDVQQDEx1EaWdpQ2VydCBGZWRlcmF0ZWQgSUQg\nUm9vdCBDQTAeFw0xMzAxMTUxMjAwMDBaFw0zMzAxMTUxMjAwMDBaMGcxCzAJBgNV\nBAYTAlVTMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdp\nY2VydC5jb20xJjAkBgNVBAMTHURpZ2lDZXJ0IEZlZGVyYXRlZCBJRCBSb290IENB\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvAEB4pcCqnNNOWE6Ur5j\nQPUH+1y1F9KdHTRSza6k5iDlXq1kGS1qAkuKtw9JsiNRrjltmFnzMZRBbX8Tlfl8\nzAhBmb6dDduDGED01kBsTkgywYPxXVTKec0WxYEEF0oMn4wSYNl0lt2eJAKHXjNf\nGTwiibdP8CUR2ghSM2sUTI8Nt1Omfc4SMHhGhYD64uJMbX98THQ/4LMGuYegou+d\nGTiahfHtjn7AboSEknwAMJHCh5RlYZZ6B1O4QbKJ+34Q0eKgnI3X6Vc9u0zf6DH8\nDk+4zQDYRRTqTnVO3VT8jzqDlCRuNtq6YvryOWN74/dq8LQhUnXHvFyrsdMaE1X2\nDwIDAQABo2MwYTAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBhjAdBgNV\nHQ4EFgQUGRdkFnbGt1EWjKwbUne+5OaZvRYwHwYDVR0jBBgwFoAUGRdkFnbGt1EW\njKwbUne+5OaZvRYwDQYJKoZIhvcNAQELBQADggEBAHcqsHkrjpESqfuVTRiptJfP\n9JbdtWqRTmOf6uJi2c8YVqI6XlKXsD8C1dUUaaHKLUJzvKiazibVuBwMIT84AyqR\nQELn3e0BtgEymEygMU569b01ZPxoFSnNXc7qDZBDef8WfqAV/sxkTi8L9BkmFYfL\nuGLOhRJOFprPdoDIUBB+tmCl3oDcBy3vnUeOEioz8zAkprcb3GHwHAK+vHmmfgcn\nWsfMLH4JCLa/tRYL+Rw/N3ybCkDp00s0WUZ+AoDywSl0Q/ZEnNY0MsFiw6LyIdbq\nM/s/1JRtO3bDSzD9TazRVzn2oBqzSa8VgIo5C1nOnoAKJTlsClJKvIhnRlaLQqk=\n\"\"\",\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var test = new Azure.Network.VpnServerConfiguration(\"test\", new()\n    {\n        Name = \"example-config\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        VpnAuthenticationTypes = new[]\n        {\n            \"Certificate\",\n        },\n        ClientRootCertificates = new[]\n        {\n            new Azure.Network.Inputs.VpnServerConfigurationClientRootCertificateArgs\n            {\n                Name = \"DigiCert-Federated-ID-Root-CA\",\n                PublicCertData = @\"MIIDuzCCAqOgAwIBAgIQCHTZWCM+IlfFIRXIvyKSrjANBgkqhkiG9w0BAQsFADBn\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\nd3cuZGlnaWNlcnQuY29tMSYwJAYDVQQDEx1EaWdpQ2VydCBGZWRlcmF0ZWQgSUQg\nUm9vdCBDQTAeFw0xMzAxMTUxMjAwMDBaFw0zMzAxMTUxMjAwMDBaMGcxCzAJBgNV\nBAYTAlVTMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdp\nY2VydC5jb20xJjAkBgNVBAMTHURpZ2lDZXJ0IEZlZGVyYXRlZCBJRCBSb290IENB\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvAEB4pcCqnNNOWE6Ur5j\nQPUH+1y1F9KdHTRSza6k5iDlXq1kGS1qAkuKtw9JsiNRrjltmFnzMZRBbX8Tlfl8\nzAhBmb6dDduDGED01kBsTkgywYPxXVTKec0WxYEEF0oMn4wSYNl0lt2eJAKHXjNf\nGTwiibdP8CUR2ghSM2sUTI8Nt1Omfc4SMHhGhYD64uJMbX98THQ/4LMGuYegou+d\nGTiahfHtjn7AboSEknwAMJHCh5RlYZZ6B1O4QbKJ+34Q0eKgnI3X6Vc9u0zf6DH8\nDk+4zQDYRRTqTnVO3VT8jzqDlCRuNtq6YvryOWN74/dq8LQhUnXHvFyrsdMaE1X2\nDwIDAQABo2MwYTAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBhjAdBgNV\nHQ4EFgQUGRdkFnbGt1EWjKwbUne+5OaZvRYwHwYDVR0jBBgwFoAUGRdkFnbGt1EW\njKwbUne+5OaZvRYwDQYJKoZIhvcNAQELBQADggEBAHcqsHkrjpESqfuVTRiptJfP\n9JbdtWqRTmOf6uJi2c8YVqI6XlKXsD8C1dUUaaHKLUJzvKiazibVuBwMIT84AyqR\nQELn3e0BtgEymEygMU569b01ZPxoFSnNXc7qDZBDef8WfqAV/sxkTi8L9BkmFYfL\nuGLOhRJOFprPdoDIUBB+tmCl3oDcBy3vnUeOEioz8zAkprcb3GHwHAK+vHmmfgcn\nWsfMLH4JCLa/tRYL+Rw/N3ybCkDp00s0WUZ+AoDywSl0Q/ZEnNY0MsFiw6LyIdbq\nM/s/1JRtO3bDSzD9TazRVzn2oBqzSa8VgIo5C1nOnoAKJTlsClJKvIhnRlaLQqk=\n\",\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = network.NewVpnServerConfiguration(ctx, \"test\", \u0026network.VpnServerConfigurationArgs{\n\t\t\tName:              pulumi.String(\"example-config\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tVpnAuthenticationTypes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"Certificate\"),\n\t\t\t},\n\t\t\tClientRootCertificates: network.VpnServerConfigurationClientRootCertificateArray{\n\t\t\t\t\u0026network.VpnServerConfigurationClientRootCertificateArgs{\n\t\t\t\t\tName: pulumi.String(\"DigiCert-Federated-ID-Root-CA\"),\n\t\t\t\t\tPublicCertData: pulumi.String(`MIIDuzCCAqOgAwIBAgIQCHTZWCM+IlfFIRXIvyKSrjANBgkqhkiG9w0BAQsFADBn\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\nd3cuZGlnaWNlcnQuY29tMSYwJAYDVQQDEx1EaWdpQ2VydCBGZWRlcmF0ZWQgSUQg\nUm9vdCBDQTAeFw0xMzAxMTUxMjAwMDBaFw0zMzAxMTUxMjAwMDBaMGcxCzAJBgNV\nBAYTAlVTMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdp\nY2VydC5jb20xJjAkBgNVBAMTHURpZ2lDZXJ0IEZlZGVyYXRlZCBJRCBSb290IENB\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvAEB4pcCqnNNOWE6Ur5j\nQPUH+1y1F9KdHTRSza6k5iDlXq1kGS1qAkuKtw9JsiNRrjltmFnzMZRBbX8Tlfl8\nzAhBmb6dDduDGED01kBsTkgywYPxXVTKec0WxYEEF0oMn4wSYNl0lt2eJAKHXjNf\nGTwiibdP8CUR2ghSM2sUTI8Nt1Omfc4SMHhGhYD64uJMbX98THQ/4LMGuYegou+d\nGTiahfHtjn7AboSEknwAMJHCh5RlYZZ6B1O4QbKJ+34Q0eKgnI3X6Vc9u0zf6DH8\nDk+4zQDYRRTqTnVO3VT8jzqDlCRuNtq6YvryOWN74/dq8LQhUnXHvFyrsdMaE1X2\nDwIDAQABo2MwYTAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBhjAdBgNV\nHQ4EFgQUGRdkFnbGt1EWjKwbUne+5OaZvRYwHwYDVR0jBBgwFoAUGRdkFnbGt1EW\njKwbUne+5OaZvRYwDQYJKoZIhvcNAQELBQADggEBAHcqsHkrjpESqfuVTRiptJfP\n9JbdtWqRTmOf6uJi2c8YVqI6XlKXsD8C1dUUaaHKLUJzvKiazibVuBwMIT84AyqR\nQELn3e0BtgEymEygMU569b01ZPxoFSnNXc7qDZBDef8WfqAV/sxkTi8L9BkmFYfL\nuGLOhRJOFprPdoDIUBB+tmCl3oDcBy3vnUeOEioz8zAkprcb3GHwHAK+vHmmfgcn\nWsfMLH4JCLa/tRYL+Rw/N3ybCkDp00s0WUZ+AoDywSl0Q/ZEnNY0MsFiw6LyIdbq\nM/s/1JRtO3bDSzD9TazRVzn2oBqzSa8VgIo5C1nOnoAKJTlsClJKvIhnRlaLQqk=\n`),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.VpnServerConfiguration;\nimport com.pulumi.azure.network.VpnServerConfigurationArgs;\nimport com.pulumi.azure.network.inputs.VpnServerConfigurationClientRootCertificateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var test = new VpnServerConfiguration(\"test\", VpnServerConfigurationArgs.builder()\n            .name(\"example-config\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .vpnAuthenticationTypes(\"Certificate\")\n            .clientRootCertificates(VpnServerConfigurationClientRootCertificateArgs.builder()\n                .name(\"DigiCert-Federated-ID-Root-CA\")\n                .publicCertData(\"\"\"\nMIIDuzCCAqOgAwIBAgIQCHTZWCM+IlfFIRXIvyKSrjANBgkqhkiG9w0BAQsFADBn\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\nd3cuZGlnaWNlcnQuY29tMSYwJAYDVQQDEx1EaWdpQ2VydCBGZWRlcmF0ZWQgSUQg\nUm9vdCBDQTAeFw0xMzAxMTUxMjAwMDBaFw0zMzAxMTUxMjAwMDBaMGcxCzAJBgNV\nBAYTAlVTMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdp\nY2VydC5jb20xJjAkBgNVBAMTHURpZ2lDZXJ0IEZlZGVyYXRlZCBJRCBSb290IENB\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvAEB4pcCqnNNOWE6Ur5j\nQPUH+1y1F9KdHTRSza6k5iDlXq1kGS1qAkuKtw9JsiNRrjltmFnzMZRBbX8Tlfl8\nzAhBmb6dDduDGED01kBsTkgywYPxXVTKec0WxYEEF0oMn4wSYNl0lt2eJAKHXjNf\nGTwiibdP8CUR2ghSM2sUTI8Nt1Omfc4SMHhGhYD64uJMbX98THQ/4LMGuYegou+d\nGTiahfHtjn7AboSEknwAMJHCh5RlYZZ6B1O4QbKJ+34Q0eKgnI3X6Vc9u0zf6DH8\nDk+4zQDYRRTqTnVO3VT8jzqDlCRuNtq6YvryOWN74/dq8LQhUnXHvFyrsdMaE1X2\nDwIDAQABo2MwYTAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBhjAdBgNV\nHQ4EFgQUGRdkFnbGt1EWjKwbUne+5OaZvRYwHwYDVR0jBBgwFoAUGRdkFnbGt1EW\njKwbUne+5OaZvRYwDQYJKoZIhvcNAQELBQADggEBAHcqsHkrjpESqfuVTRiptJfP\n9JbdtWqRTmOf6uJi2c8YVqI6XlKXsD8C1dUUaaHKLUJzvKiazibVuBwMIT84AyqR\nQELn3e0BtgEymEygMU569b01ZPxoFSnNXc7qDZBDef8WfqAV/sxkTi8L9BkmFYfL\nuGLOhRJOFprPdoDIUBB+tmCl3oDcBy3vnUeOEioz8zAkprcb3GHwHAK+vHmmfgcn\nWsfMLH4JCLa/tRYL+Rw/N3ybCkDp00s0WUZ+AoDywSl0Q/ZEnNY0MsFiw6LyIdbq\nM/s/1JRtO3bDSzD9TazRVzn2oBqzSa8VgIo5C1nOnoAKJTlsClJKvIhnRlaLQqk=\n                \"\"\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  test:\n    type: azure:network:VpnServerConfiguration\n    properties:\n      name: example-config\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      vpnAuthenticationTypes:\n        - Certificate\n      clientRootCertificates:\n        - name: DigiCert-Federated-ID-Root-CA\n          publicCertData: |\n            MIIDuzCCAqOgAwIBAgIQCHTZWCM+IlfFIRXIvyKSrjANBgkqhkiG9w0BAQsFADBn\n            MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\n            d3cuZGlnaWNlcnQuY29tMSYwJAYDVQQDEx1EaWdpQ2VydCBGZWRlcmF0ZWQgSUQg\n            Um9vdCBDQTAeFw0xMzAxMTUxMjAwMDBaFw0zMzAxMTUxMjAwMDBaMGcxCzAJBgNV\n            BAYTAlVTMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdp\n            Y2VydC5jb20xJjAkBgNVBAMTHURpZ2lDZXJ0IEZlZGVyYXRlZCBJRCBSb290IENB\n            MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvAEB4pcCqnNNOWE6Ur5j\n            QPUH+1y1F9KdHTRSza6k5iDlXq1kGS1qAkuKtw9JsiNRrjltmFnzMZRBbX8Tlfl8\n            zAhBmb6dDduDGED01kBsTkgywYPxXVTKec0WxYEEF0oMn4wSYNl0lt2eJAKHXjNf\n            GTwiibdP8CUR2ghSM2sUTI8Nt1Omfc4SMHhGhYD64uJMbX98THQ/4LMGuYegou+d\n            GTiahfHtjn7AboSEknwAMJHCh5RlYZZ6B1O4QbKJ+34Q0eKgnI3X6Vc9u0zf6DH8\n            Dk+4zQDYRRTqTnVO3VT8jzqDlCRuNtq6YvryOWN74/dq8LQhUnXHvFyrsdMaE1X2\n            DwIDAQABo2MwYTAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBhjAdBgNV\n            HQ4EFgQUGRdkFnbGt1EWjKwbUne+5OaZvRYwHwYDVR0jBBgwFoAUGRdkFnbGt1EW\n            jKwbUne+5OaZvRYwDQYJKoZIhvcNAQELBQADggEBAHcqsHkrjpESqfuVTRiptJfP\n            9JbdtWqRTmOf6uJi2c8YVqI6XlKXsD8C1dUUaaHKLUJzvKiazibVuBwMIT84AyqR\n            QELn3e0BtgEymEygMU569b01ZPxoFSnNXc7qDZBDef8WfqAV/sxkTi8L9BkmFYfL\n            uGLOhRJOFprPdoDIUBB+tmCl3oDcBy3vnUeOEioz8zAkprcb3GHwHAK+vHmmfgcn\n            WsfMLH4JCLa/tRYL+Rw/N3ybCkDp00s0WUZ+AoDywSl0Q/ZEnNY0MsFiw6LyIdbq\n            M/s/1JRtO3bDSzD9TazRVzn2oBqzSa8VgIo5C1nOnoAKJTlsClJKvIhnRlaLQqk=\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2025-01-01\n\n## Import\n\nVPN Server Configurations can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:network/vpnServerConfiguration:VpnServerConfiguration config1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Network/vpnServerConfigurations/config1\n```\n\n","properties":{"azureActiveDirectoryAuthentications":{"type":"array","items":{"$ref":"#/types/azure:network/VpnServerConfigurationAzureActiveDirectoryAuthentication:VpnServerConfigurationAzureActiveDirectoryAuthentication"}},"clientRevokedCertificates":{"type":"array","items":{"$ref":"#/types/azure:network/VpnServerConfigurationClientRevokedCertificate:VpnServerConfigurationClientRevokedCertificate"}},"clientRootCertificates":{"type":"array","items":{"$ref":"#/types/azure:network/VpnServerConfigurationClientRootCertificate:VpnServerConfigurationClientRootCertificate"}},"ipsecPolicy":{"$ref":"#/types/azure:network/VpnServerConfigurationIpsecPolicy:VpnServerConfigurationIpsecPolicy","description":"A \u003cspan pulumi-lang-nodejs=\"`ipsecPolicy`\" pulumi-lang-dotnet=\"`IpsecPolicy`\" pulumi-lang-go=\"`ipsecPolicy`\" pulumi-lang-python=\"`ipsec_policy`\" pulumi-lang-yaml=\"`ipsecPolicy`\" pulumi-lang-java=\"`ipsecPolicy`\"\u003e`ipsec_policy`\u003c/span\u003e block as defined below.\n"},"location":{"type":"string","description":"The Azure location where this VPN Server Configuration should be created. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"The Name which should be used for this VPN Server Configuration. Changing this forces a new resource to be created.\n"},"radius":{"$ref":"#/types/azure:network/VpnServerConfigurationRadius:VpnServerConfigurationRadius"},"resourceGroupName":{"type":"string","description":"The Name of the Resource Group in which this VPN Server Configuration should be created. Changing this forces a new resource to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"vpnAuthenticationTypes":{"type":"array","items":{"type":"string"},"description":"A list of Authentication Types applicable for this VPN Server Configuration. Possible values are `AAD` (Azure Active Directory), `Certificate` and `Radius`.\n"},"vpnProtocols":{"type":"array","items":{"type":"string"},"description":"A list of VPN Protocols to use for this Server Configuration. Possible values are `IkeV2` and `OpenVPN`.\n"}},"required":["location","name","resourceGroupName","vpnAuthenticationTypes","vpnProtocols"],"inputProperties":{"azureActiveDirectoryAuthentications":{"type":"array","items":{"$ref":"#/types/azure:network/VpnServerConfigurationAzureActiveDirectoryAuthentication:VpnServerConfigurationAzureActiveDirectoryAuthentication"}},"clientRevokedCertificates":{"type":"array","items":{"$ref":"#/types/azure:network/VpnServerConfigurationClientRevokedCertificate:VpnServerConfigurationClientRevokedCertificate"}},"clientRootCertificates":{"type":"array","items":{"$ref":"#/types/azure:network/VpnServerConfigurationClientRootCertificate:VpnServerConfigurationClientRootCertificate"}},"ipsecPolicy":{"$ref":"#/types/azure:network/VpnServerConfigurationIpsecPolicy:VpnServerConfigurationIpsecPolicy","description":"A \u003cspan pulumi-lang-nodejs=\"`ipsecPolicy`\" pulumi-lang-dotnet=\"`IpsecPolicy`\" pulumi-lang-go=\"`ipsecPolicy`\" pulumi-lang-python=\"`ipsec_policy`\" pulumi-lang-yaml=\"`ipsecPolicy`\" pulumi-lang-java=\"`ipsecPolicy`\"\u003e`ipsec_policy`\u003c/span\u003e block as defined below.\n"},"location":{"type":"string","description":"The Azure location where this VPN Server Configuration should be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The Name which should be used for this VPN Server Configuration. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"radius":{"$ref":"#/types/azure:network/VpnServerConfigurationRadius:VpnServerConfigurationRadius"},"resourceGroupName":{"type":"string","description":"The Name of the Resource Group in which this VPN Server Configuration should be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"vpnAuthenticationTypes":{"type":"array","items":{"type":"string"},"description":"A list of Authentication Types applicable for this VPN Server Configuration. Possible values are `AAD` (Azure Active Directory), `Certificate` and `Radius`.\n"},"vpnProtocols":{"type":"array","items":{"type":"string"},"description":"A list of VPN Protocols to use for this Server Configuration. Possible values are `IkeV2` and `OpenVPN`.\n"}},"requiredInputs":["resourceGroupName","vpnAuthenticationTypes"],"stateInputs":{"description":"Input properties used for looking up and filtering VpnServerConfiguration resources.\n","properties":{"azureActiveDirectoryAuthentications":{"type":"array","items":{"$ref":"#/types/azure:network/VpnServerConfigurationAzureActiveDirectoryAuthentication:VpnServerConfigurationAzureActiveDirectoryAuthentication"}},"clientRevokedCertificates":{"type":"array","items":{"$ref":"#/types/azure:network/VpnServerConfigurationClientRevokedCertificate:VpnServerConfigurationClientRevokedCertificate"}},"clientRootCertificates":{"type":"array","items":{"$ref":"#/types/azure:network/VpnServerConfigurationClientRootCertificate:VpnServerConfigurationClientRootCertificate"}},"ipsecPolicy":{"$ref":"#/types/azure:network/VpnServerConfigurationIpsecPolicy:VpnServerConfigurationIpsecPolicy","description":"A \u003cspan pulumi-lang-nodejs=\"`ipsecPolicy`\" pulumi-lang-dotnet=\"`IpsecPolicy`\" pulumi-lang-go=\"`ipsecPolicy`\" pulumi-lang-python=\"`ipsec_policy`\" pulumi-lang-yaml=\"`ipsecPolicy`\" pulumi-lang-java=\"`ipsecPolicy`\"\u003e`ipsec_policy`\u003c/span\u003e block as defined below.\n"},"location":{"type":"string","description":"The Azure location where this VPN Server Configuration should be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The Name which should be used for this VPN Server Configuration. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"radius":{"$ref":"#/types/azure:network/VpnServerConfigurationRadius:VpnServerConfigurationRadius"},"resourceGroupName":{"type":"string","description":"The Name of the Resource Group in which this VPN Server Configuration should be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"vpnAuthenticationTypes":{"type":"array","items":{"type":"string"},"description":"A list of Authentication Types applicable for this VPN Server Configuration. Possible values are `AAD` (Azure Active Directory), `Certificate` and `Radius`.\n"},"vpnProtocols":{"type":"array","items":{"type":"string"},"description":"A list of VPN Protocols to use for this Server Configuration. Possible values are `IkeV2` and `OpenVPN`.\n"}},"type":"object"}},"azure:network/vpnServerConfigurationPolicyGroup:VpnServerConfigurationPolicyGroup":{"description":"Manages a VPN Server Configuration Policy Group.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleVpnServerConfiguration = new azure.network.VpnServerConfiguration(\"example\", {\n    name: \"example-VPNSC\",\n    resourceGroupName: example.name,\n    location: example.location,\n    vpnAuthenticationTypes: [\"Radius\"],\n    radius: {\n        servers: [{\n            address: \"10.105.1.1\",\n            secret: \"vindicators-the-return-of-worldender\",\n            score: 15,\n        }],\n    },\n});\nconst exampleVpnServerConfigurationPolicyGroup = new azure.network.VpnServerConfigurationPolicyGroup(\"example\", {\n    name: \"example-VPNSCPG\",\n    vpnServerConfigurationId: exampleVpnServerConfiguration.id,\n    policies: [{\n        name: \"policy1\",\n        type: \"RadiusAzureGroupId\",\n        value: \"6ad1bd08\",\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_vpn_server_configuration = azure.network.VpnServerConfiguration(\"example\",\n    name=\"example-VPNSC\",\n    resource_group_name=example.name,\n    location=example.location,\n    vpn_authentication_types=[\"Radius\"],\n    radius={\n        \"servers\": [{\n            \"address\": \"10.105.1.1\",\n            \"secret\": \"vindicators-the-return-of-worldender\",\n            \"score\": 15,\n        }],\n    })\nexample_vpn_server_configuration_policy_group = azure.network.VpnServerConfigurationPolicyGroup(\"example\",\n    name=\"example-VPNSCPG\",\n    vpn_server_configuration_id=example_vpn_server_configuration.id,\n    policies=[{\n        \"name\": \"policy1\",\n        \"type\": \"RadiusAzureGroupId\",\n        \"value\": \"6ad1bd08\",\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleVpnServerConfiguration = new Azure.Network.VpnServerConfiguration(\"example\", new()\n    {\n        Name = \"example-VPNSC\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        VpnAuthenticationTypes = new[]\n        {\n            \"Radius\",\n        },\n        Radius = new Azure.Network.Inputs.VpnServerConfigurationRadiusArgs\n        {\n            Servers = new[]\n            {\n                new Azure.Network.Inputs.VpnServerConfigurationRadiusServerArgs\n                {\n                    Address = \"10.105.1.1\",\n                    Secret = \"vindicators-the-return-of-worldender\",\n                    Score = 15,\n                },\n            },\n        },\n    });\n\n    var exampleVpnServerConfigurationPolicyGroup = new Azure.Network.VpnServerConfigurationPolicyGroup(\"example\", new()\n    {\n        Name = \"example-VPNSCPG\",\n        VpnServerConfigurationId = exampleVpnServerConfiguration.Id,\n        Policies = new[]\n        {\n            new Azure.Network.Inputs.VpnServerConfigurationPolicyGroupPolicyArgs\n            {\n                Name = \"policy1\",\n                Type = \"RadiusAzureGroupId\",\n                Value = \"6ad1bd08\",\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVpnServerConfiguration, err := network.NewVpnServerConfiguration(ctx, \"example\", \u0026network.VpnServerConfigurationArgs{\n\t\t\tName:              pulumi.String(\"example-VPNSC\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tVpnAuthenticationTypes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"Radius\"),\n\t\t\t},\n\t\t\tRadius: \u0026network.VpnServerConfigurationRadiusArgs{\n\t\t\t\tServers: network.VpnServerConfigurationRadiusServerArray{\n\t\t\t\t\t\u0026network.VpnServerConfigurationRadiusServerArgs{\n\t\t\t\t\t\tAddress: pulumi.String(\"10.105.1.1\"),\n\t\t\t\t\t\tSecret:  pulumi.String(\"vindicators-the-return-of-worldender\"),\n\t\t\t\t\t\tScore:   pulumi.Int(15),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = network.NewVpnServerConfigurationPolicyGroup(ctx, \"example\", \u0026network.VpnServerConfigurationPolicyGroupArgs{\n\t\t\tName:                     pulumi.String(\"example-VPNSCPG\"),\n\t\t\tVpnServerConfigurationId: exampleVpnServerConfiguration.ID(),\n\t\t\tPolicies: network.VpnServerConfigurationPolicyGroupPolicyArray{\n\t\t\t\t\u0026network.VpnServerConfigurationPolicyGroupPolicyArgs{\n\t\t\t\t\tName:  pulumi.String(\"policy1\"),\n\t\t\t\t\tType:  pulumi.String(\"RadiusAzureGroupId\"),\n\t\t\t\t\tValue: pulumi.String(\"6ad1bd08\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.VpnServerConfiguration;\nimport com.pulumi.azure.network.VpnServerConfigurationArgs;\nimport com.pulumi.azure.network.inputs.VpnServerConfigurationRadiusArgs;\nimport com.pulumi.azure.network.VpnServerConfigurationPolicyGroup;\nimport com.pulumi.azure.network.VpnServerConfigurationPolicyGroupArgs;\nimport com.pulumi.azure.network.inputs.VpnServerConfigurationPolicyGroupPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleVpnServerConfiguration = new VpnServerConfiguration(\"exampleVpnServerConfiguration\", VpnServerConfigurationArgs.builder()\n            .name(\"example-VPNSC\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .vpnAuthenticationTypes(\"Radius\")\n            .radius(VpnServerConfigurationRadiusArgs.builder()\n                .servers(VpnServerConfigurationRadiusServerArgs.builder()\n                    .address(\"10.105.1.1\")\n                    .secret(\"vindicators-the-return-of-worldender\")\n                    .score(15)\n                    .build())\n                .build())\n            .build());\n\n        var exampleVpnServerConfigurationPolicyGroup = new VpnServerConfigurationPolicyGroup(\"exampleVpnServerConfigurationPolicyGroup\", VpnServerConfigurationPolicyGroupArgs.builder()\n            .name(\"example-VPNSCPG\")\n            .vpnServerConfigurationId(exampleVpnServerConfiguration.id())\n            .policies(VpnServerConfigurationPolicyGroupPolicyArgs.builder()\n                .name(\"policy1\")\n                .type(\"RadiusAzureGroupId\")\n                .value(\"6ad1bd08\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleVpnServerConfiguration:\n    type: azure:network:VpnServerConfiguration\n    name: example\n    properties:\n      name: example-VPNSC\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      vpnAuthenticationTypes:\n        - Radius\n      radius:\n        servers:\n          - address: 10.105.1.1\n            secret: vindicators-the-return-of-worldender\n            score: 15\n  exampleVpnServerConfigurationPolicyGroup:\n    type: azure:network:VpnServerConfigurationPolicyGroup\n    name: example\n    properties:\n      name: example-VPNSCPG\n      vpnServerConfigurationId: ${exampleVpnServerConfiguration.id}\n      policies:\n        - name: policy1\n          type: RadiusAzureGroupId\n          value: 6ad1bd08\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2025-01-01\n\n## Import\n\nVPN Server Configuration Policy Groups can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:network/vpnServerConfigurationPolicyGroup:VpnServerConfigurationPolicyGroup example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resGroup1/providers/Microsoft.Network/vpnServerConfigurations/serverConfiguration1/configurationPolicyGroups/configurationPolicyGroup1\n```\n\n","properties":{"isDefault":{"type":"boolean","description":"Is this a default VPN Server Configuration Policy Group? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"The Name which should be used for this VPN Server Configuration Policy Group. Changing this forces a new resource to be created.\n"},"policies":{"type":"array","items":{"$ref":"#/types/azure:network/VpnServerConfigurationPolicyGroupPolicy:VpnServerConfigurationPolicyGroupPolicy"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`policy`\" pulumi-lang-dotnet=\"`Policy`\" pulumi-lang-go=\"`policy`\" pulumi-lang-python=\"`policy`\" pulumi-lang-yaml=\"`policy`\" pulumi-lang-java=\"`policy`\"\u003e`policy`\u003c/span\u003e blocks as documented below.\n"},"priority":{"type":"integer","description":"The priority of this VPN Server Configuration Policy Group. Defaults to \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"vpnServerConfigurationId":{"type":"string","description":"The ID of the VPN Server Configuration that the VPN Server Configuration Policy Group belongs to. Changing this forces a new resource to be created.\n"}},"required":["name","policies","vpnServerConfigurationId"],"inputProperties":{"isDefault":{"type":"boolean","description":"Is this a default VPN Server Configuration Policy Group? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The Name which should be used for this VPN Server Configuration Policy Group. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"policies":{"type":"array","items":{"$ref":"#/types/azure:network/VpnServerConfigurationPolicyGroupPolicy:VpnServerConfigurationPolicyGroupPolicy"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`policy`\" pulumi-lang-dotnet=\"`Policy`\" pulumi-lang-go=\"`policy`\" pulumi-lang-python=\"`policy`\" pulumi-lang-yaml=\"`policy`\" pulumi-lang-java=\"`policy`\"\u003e`policy`\u003c/span\u003e blocks as documented below.\n"},"priority":{"type":"integer","description":"The priority of this VPN Server Configuration Policy Group. Defaults to \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"vpnServerConfigurationId":{"type":"string","description":"The ID of the VPN Server Configuration that the VPN Server Configuration Policy Group belongs to. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["policies","vpnServerConfigurationId"],"stateInputs":{"description":"Input properties used for looking up and filtering VpnServerConfigurationPolicyGroup resources.\n","properties":{"isDefault":{"type":"boolean","description":"Is this a default VPN Server Configuration Policy Group? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The Name which should be used for this VPN Server Configuration Policy Group. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"policies":{"type":"array","items":{"$ref":"#/types/azure:network/VpnServerConfigurationPolicyGroupPolicy:VpnServerConfigurationPolicyGroupPolicy"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`policy`\" pulumi-lang-dotnet=\"`Policy`\" pulumi-lang-go=\"`policy`\" pulumi-lang-python=\"`policy`\" pulumi-lang-yaml=\"`policy`\" pulumi-lang-java=\"`policy`\"\u003e`policy`\u003c/span\u003e blocks as documented below.\n"},"priority":{"type":"integer","description":"The priority of this VPN Server Configuration Policy Group. Defaults to \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"vpnServerConfigurationId":{"type":"string","description":"The ID of the VPN Server Configuration that the VPN Server Configuration Policy Group belongs to. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:network/vpnSite:VpnSite":{"description":"Manages a VPN Site.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-rg\",\n    location: \"West Europe\",\n});\nconst exampleVirtualWan = new azure.network.VirtualWan(\"example\", {\n    name: \"example-vwan\",\n    resourceGroupName: example.name,\n    location: example.location,\n});\nconst exampleVpnSite = new azure.network.VpnSite(\"example\", {\n    name: \"site1\",\n    resourceGroupName: example.name,\n    location: example.location,\n    virtualWanId: exampleVirtualWan.id,\n    addressCidrs: [\"10.0.0.0/24\"],\n    links: [{\n        name: \"link1\",\n        ipAddress: \"10.0.0.1\",\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-rg\",\n    location=\"West Europe\")\nexample_virtual_wan = azure.network.VirtualWan(\"example\",\n    name=\"example-vwan\",\n    resource_group_name=example.name,\n    location=example.location)\nexample_vpn_site = azure.network.VpnSite(\"example\",\n    name=\"site1\",\n    resource_group_name=example.name,\n    location=example.location,\n    virtual_wan_id=example_virtual_wan.id,\n    address_cidrs=[\"10.0.0.0/24\"],\n    links=[{\n        \"name\": \"link1\",\n        \"ip_address\": \"10.0.0.1\",\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-rg\",\n        Location = \"West Europe\",\n    });\n\n    var exampleVirtualWan = new Azure.Network.VirtualWan(\"example\", new()\n    {\n        Name = \"example-vwan\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n    });\n\n    var exampleVpnSite = new Azure.Network.VpnSite(\"example\", new()\n    {\n        Name = \"site1\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        VirtualWanId = exampleVirtualWan.Id,\n        AddressCidrs = new[]\n        {\n            \"10.0.0.0/24\",\n        },\n        Links = new[]\n        {\n            new Azure.Network.Inputs.VpnSiteLinkArgs\n            {\n                Name = \"link1\",\n                IpAddress = \"10.0.0.1\",\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-rg\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualWan, err := network.NewVirtualWan(ctx, \"example\", \u0026network.VirtualWanArgs{\n\t\t\tName:              pulumi.String(\"example-vwan\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = network.NewVpnSite(ctx, \"example\", \u0026network.VpnSiteArgs{\n\t\t\tName:              pulumi.String(\"site1\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tVirtualWanId:      exampleVirtualWan.ID(),\n\t\t\tAddressCidrs: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.0.0/24\"),\n\t\t\t},\n\t\t\tLinks: network.VpnSiteLinkArray{\n\t\t\t\t\u0026network.VpnSiteLinkArgs{\n\t\t\t\t\tName:      pulumi.String(\"link1\"),\n\t\t\t\t\tIpAddress: pulumi.String(\"10.0.0.1\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.VirtualWan;\nimport com.pulumi.azure.network.VirtualWanArgs;\nimport com.pulumi.azure.network.VpnSite;\nimport com.pulumi.azure.network.VpnSiteArgs;\nimport com.pulumi.azure.network.inputs.VpnSiteLinkArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-rg\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleVirtualWan = new VirtualWan(\"exampleVirtualWan\", VirtualWanArgs.builder()\n            .name(\"example-vwan\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .build());\n\n        var exampleVpnSite = new VpnSite(\"exampleVpnSite\", VpnSiteArgs.builder()\n            .name(\"site1\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .virtualWanId(exampleVirtualWan.id())\n            .addressCidrs(\"10.0.0.0/24\")\n            .links(VpnSiteLinkArgs.builder()\n                .name(\"link1\")\n                .ipAddress(\"10.0.0.1\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-rg\n      location: West Europe\n  exampleVirtualWan:\n    type: azure:network:VirtualWan\n    name: example\n    properties:\n      name: example-vwan\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n  exampleVpnSite:\n    type: azure:network:VpnSite\n    name: example\n    properties:\n      name: site1\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      virtualWanId: ${exampleVirtualWan.id}\n      addressCidrs:\n        - 10.0.0.0/24\n      links:\n        - name: link1\n          ipAddress: 10.0.0.1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2025-01-01\n\n## Import\n\nVPN Sites can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:network/vpnSite:VpnSite example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Network/vpnSites/site1\n```\n\n","properties":{"addressCidrs":{"type":"array","items":{"type":"string"},"description":"Specifies a list of IP address CIDRs that are located on your on-premises site. Traffic destined for these address spaces is routed to your local site.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`addressCidrs`\" pulumi-lang-dotnet=\"`AddressCidrs`\" pulumi-lang-go=\"`addressCidrs`\" pulumi-lang-python=\"`address_cidrs`\" pulumi-lang-yaml=\"`addressCidrs`\" pulumi-lang-java=\"`addressCidrs`\"\u003e`address_cidrs`\u003c/span\u003e has to be set when the `link.bgp` isn't specified.\n"},"deviceModel":{"type":"string","description":"The model of the VPN device.\n"},"deviceVendor":{"type":"string","description":"The name of the VPN device vendor.\n"},"links":{"type":"array","items":{"$ref":"#/types/azure:network/VpnSiteLink:VpnSiteLink"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`link`\" pulumi-lang-dotnet=\"`Link`\" pulumi-lang-go=\"`link`\" pulumi-lang-python=\"`link`\" pulumi-lang-yaml=\"`link`\" pulumi-lang-java=\"`link`\"\u003e`link`\u003c/span\u003e blocks as defined below.\n"},"location":{"type":"string","description":"The Azure Region where the VPN Site should exist. Changing this forces a new VPN Site to be created.\n"},"name":{"type":"string","description":"The name which should be used for this VPN Site. Changing this forces a new VPN Site to be created.\n"},"o365Policy":{"$ref":"#/types/azure:network/VpnSiteO365Policy:VpnSiteO365Policy","description":"An \u003cspan pulumi-lang-nodejs=\"`o365Policy`\" pulumi-lang-dotnet=\"`O365Policy`\" pulumi-lang-go=\"`o365Policy`\" pulumi-lang-python=\"`o365_policy`\" pulumi-lang-yaml=\"`o365Policy`\" pulumi-lang-java=\"`o365Policy`\"\u003e`o365_policy`\u003c/span\u003e block as defined below.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the VPN Site should exist. Changing this forces a new VPN Site to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the VPN Site.\n"},"virtualWanId":{"type":"string","description":"The ID of the Virtual Wan where this VPN site resides in. Changing this forces a new VPN Site to be created.\n"}},"required":["location","name","o365Policy","resourceGroupName","virtualWanId"],"inputProperties":{"addressCidrs":{"type":"array","items":{"type":"string"},"description":"Specifies a list of IP address CIDRs that are located on your on-premises site. Traffic destined for these address spaces is routed to your local site.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`addressCidrs`\" pulumi-lang-dotnet=\"`AddressCidrs`\" pulumi-lang-go=\"`addressCidrs`\" pulumi-lang-python=\"`address_cidrs`\" pulumi-lang-yaml=\"`addressCidrs`\" pulumi-lang-java=\"`addressCidrs`\"\u003e`address_cidrs`\u003c/span\u003e has to be set when the `link.bgp` isn't specified.\n"},"deviceModel":{"type":"string","description":"The model of the VPN device.\n"},"deviceVendor":{"type":"string","description":"The name of the VPN device vendor.\n"},"links":{"type":"array","items":{"$ref":"#/types/azure:network/VpnSiteLink:VpnSiteLink"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`link`\" pulumi-lang-dotnet=\"`Link`\" pulumi-lang-go=\"`link`\" pulumi-lang-python=\"`link`\" pulumi-lang-yaml=\"`link`\" pulumi-lang-java=\"`link`\"\u003e`link`\u003c/span\u003e blocks as defined below.\n"},"location":{"type":"string","description":"The Azure Region where the VPN Site should exist. Changing this forces a new VPN Site to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this VPN Site. Changing this forces a new VPN Site to be created.\n","willReplaceOnChanges":true},"o365Policy":{"$ref":"#/types/azure:network/VpnSiteO365Policy:VpnSiteO365Policy","description":"An \u003cspan pulumi-lang-nodejs=\"`o365Policy`\" pulumi-lang-dotnet=\"`O365Policy`\" pulumi-lang-go=\"`o365Policy`\" pulumi-lang-python=\"`o365_policy`\" pulumi-lang-yaml=\"`o365Policy`\" pulumi-lang-java=\"`o365Policy`\"\u003e`o365_policy`\u003c/span\u003e block as defined below.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the VPN Site should exist. Changing this forces a new VPN Site to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the VPN Site.\n"},"virtualWanId":{"type":"string","description":"The ID of the Virtual Wan where this VPN site resides in. Changing this forces a new VPN Site to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["resourceGroupName","virtualWanId"],"stateInputs":{"description":"Input properties used for looking up and filtering VpnSite resources.\n","properties":{"addressCidrs":{"type":"array","items":{"type":"string"},"description":"Specifies a list of IP address CIDRs that are located on your on-premises site. Traffic destined for these address spaces is routed to your local site.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`addressCidrs`\" pulumi-lang-dotnet=\"`AddressCidrs`\" pulumi-lang-go=\"`addressCidrs`\" pulumi-lang-python=\"`address_cidrs`\" pulumi-lang-yaml=\"`addressCidrs`\" pulumi-lang-java=\"`addressCidrs`\"\u003e`address_cidrs`\u003c/span\u003e has to be set when the `link.bgp` isn't specified.\n"},"deviceModel":{"type":"string","description":"The model of the VPN device.\n"},"deviceVendor":{"type":"string","description":"The name of the VPN device vendor.\n"},"links":{"type":"array","items":{"$ref":"#/types/azure:network/VpnSiteLink:VpnSiteLink"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`link`\" pulumi-lang-dotnet=\"`Link`\" pulumi-lang-go=\"`link`\" pulumi-lang-python=\"`link`\" pulumi-lang-yaml=\"`link`\" pulumi-lang-java=\"`link`\"\u003e`link`\u003c/span\u003e blocks as defined below.\n"},"location":{"type":"string","description":"The Azure Region where the VPN Site should exist. Changing this forces a new VPN Site to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this VPN Site. Changing this forces a new VPN Site to be created.\n","willReplaceOnChanges":true},"o365Policy":{"$ref":"#/types/azure:network/VpnSiteO365Policy:VpnSiteO365Policy","description":"An \u003cspan pulumi-lang-nodejs=\"`o365Policy`\" pulumi-lang-dotnet=\"`O365Policy`\" pulumi-lang-go=\"`o365Policy`\" pulumi-lang-python=\"`o365_policy`\" pulumi-lang-yaml=\"`o365Policy`\" pulumi-lang-java=\"`o365Policy`\"\u003e`o365_policy`\u003c/span\u003e block as defined below.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the VPN Site should exist. Changing this forces a new VPN Site to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the VPN Site.\n"},"virtualWanId":{"type":"string","description":"The ID of the Virtual Wan where this VPN site resides in. Changing this forces a new VPN Site to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:networkfunction/azureTrafficCollector:AzureTrafficCollector":{"description":"Manages a Network Function Azure Traffic Collector.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West US\",\n});\nconst exampleAzureTrafficCollector = new azure.networkfunction.AzureTrafficCollector(\"example\", {\n    name: \"example-nfatc\",\n    resourceGroupName: example.name,\n    location: \"West US\",\n    tags: {\n        key: \"value\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West US\")\nexample_azure_traffic_collector = azure.networkfunction.AzureTrafficCollector(\"example\",\n    name=\"example-nfatc\",\n    resource_group_name=example.name,\n    location=\"West US\",\n    tags={\n        \"key\": \"value\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West US\",\n    });\n\n    var exampleAzureTrafficCollector = new Azure.NetworkFunction.AzureTrafficCollector(\"example\", new()\n    {\n        Name = \"example-nfatc\",\n        ResourceGroupName = example.Name,\n        Location = \"West US\",\n        Tags = \n        {\n            { \"key\", \"value\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/networkfunction\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West US\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = networkfunction.NewAzureTrafficCollector(ctx, \"example\", \u0026networkfunction.AzureTrafficCollectorArgs{\n\t\t\tName:              pulumi.String(\"example-nfatc\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          pulumi.String(\"West US\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"key\": pulumi.String(\"value\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.networkfunction.AzureTrafficCollector;\nimport com.pulumi.azure.networkfunction.AzureTrafficCollectorArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West US\")\n            .build());\n\n        var exampleAzureTrafficCollector = new AzureTrafficCollector(\"exampleAzureTrafficCollector\", AzureTrafficCollectorArgs.builder()\n            .name(\"example-nfatc\")\n            .resourceGroupName(example.name())\n            .location(\"West US\")\n            .tags(Map.of(\"key\", \"value\"))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West US\n  exampleAzureTrafficCollector:\n    type: azure:networkfunction:AzureTrafficCollector\n    name: example\n    properties:\n      name: example-nfatc\n      resourceGroupName: ${example.name}\n      location: West US\n      tags:\n        key: value\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.NetworkFunction` - 2022-11-01\n\n## Import\n\nNetwork Function Azure Traffic Collector can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:networkfunction/azureTrafficCollector:AzureTrafficCollector example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup1/providers/Microsoft.NetworkFunction/azureTrafficCollectors/azureTrafficCollector1\n```\n\n","properties":{"collectorPolicyIds":{"type":"array","items":{"type":"string"},"description":"The list of Resource IDs of collector policies.\n"},"location":{"type":"string","description":"Specifies the Azure Region where the Network Function Azure Traffic Collector should exist. Changing this forces a new Network Function Azure Traffic Collector to be created.\n"},"name":{"type":"string","description":"Specifies the name which should be used for this Network Function Azure Traffic Collector. Changing this forces a new Network Function Azure Traffic Collector to be created.\n"},"resourceGroupName":{"type":"string","description":"Specifies the name of the Resource Group where the Network Function Azure Traffic Collector should exist. Changing this forces a new Network Function Azure Traffic Collector to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Network Function Azure Traffic Collector.\n"},"virtualHubIds":{"type":"array","items":{"type":"string"},"description":"The Resource ID of virtual hub.\n"}},"required":["collectorPolicyIds","location","name","resourceGroupName","virtualHubIds"],"inputProperties":{"location":{"type":"string","description":"Specifies the Azure Region where the Network Function Azure Traffic Collector should exist. Changing this forces a new Network Function Azure Traffic Collector to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name which should be used for this Network Function Azure Traffic Collector. Changing this forces a new Network Function Azure Traffic Collector to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"Specifies the name of the Resource Group where the Network Function Azure Traffic Collector should exist. Changing this forces a new Network Function Azure Traffic Collector to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Network Function Azure Traffic Collector.\n"}},"requiredInputs":["resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering AzureTrafficCollector resources.\n","properties":{"collectorPolicyIds":{"type":"array","items":{"type":"string"},"description":"The list of Resource IDs of collector policies.\n"},"location":{"type":"string","description":"Specifies the Azure Region where the Network Function Azure Traffic Collector should exist. Changing this forces a new Network Function Azure Traffic Collector to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name which should be used for this Network Function Azure Traffic Collector. Changing this forces a new Network Function Azure Traffic Collector to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"Specifies the name of the Resource Group where the Network Function Azure Traffic Collector should exist. Changing this forces a new Network Function Azure Traffic Collector to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Network Function Azure Traffic Collector.\n"},"virtualHubIds":{"type":"array","items":{"type":"string"},"description":"The Resource ID of virtual hub.\n"}},"type":"object"}},"azure:networkfunction/collectorPolicy:CollectorPolicy":{"description":"Manages a Network Function Collector Policy.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West US 2\",\n});\nconst exampleExpressRoutePort = new azure.network.ExpressRoutePort(\"example\", {\n    name: \"example-erp\",\n    resourceGroupName: example.name,\n    location: example.location,\n    peeringLocation: \"Equinix-Seattle-SE2\",\n    bandwidthInGbps: 10,\n    encapsulation: \"Dot1Q\",\n});\nconst exampleExpressRouteCircuit = new azure.network.ExpressRouteCircuit(\"example\", {\n    name: \"example-erc\",\n    location: example.location,\n    resourceGroupName: example.name,\n    expressRoutePortId: exampleExpressRoutePort.id,\n    bandwidthInGbps: 1,\n    sku: {\n        tier: \"Standard\",\n        family: \"MeteredData\",\n    },\n});\nconst exampleExpressRouteCircuitPeering = new azure.network.ExpressRouteCircuitPeering(\"example\", {\n    peeringType: \"MicrosoftPeering\",\n    expressRouteCircuitName: exampleExpressRouteCircuit.name,\n    resourceGroupName: example.name,\n    peerAsn: 100,\n    primaryPeerAddressPrefix: \"192.168.199.0/30\",\n    secondaryPeerAddressPrefix: \"192.168.200.0/30\",\n    vlanId: 300,\n    microsoftPeeringConfig: {\n        advertisedPublicPrefixes: [\"123.6.0.0/24\"],\n    },\n});\nconst exampleAzureTrafficCollector = new azure.networkfunction.AzureTrafficCollector(\"example\", {\n    name: \"example-nfatc\",\n    location: example.location,\n    resourceGroupName: example.name,\n}, {\n    dependsOn: [exampleExpressRouteCircuitPeering],\n});\nconst exampleCollectorPolicy = new azure.networkfunction.CollectorPolicy(\"example\", {\n    name: \"example-nfcp\",\n    trafficCollectorId: exampleAzureTrafficCollector.id,\n    location: example.location,\n    ipfxEmission: {\n        destinationTypes: \"AzureMonitor\",\n    },\n    ipfxIngestion: {\n        sourceResourceIds: [exampleExpressRouteCircuit.id],\n    },\n    tags: {\n        key: \"value\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West US 2\")\nexample_express_route_port = azure.network.ExpressRoutePort(\"example\",\n    name=\"example-erp\",\n    resource_group_name=example.name,\n    location=example.location,\n    peering_location=\"Equinix-Seattle-SE2\",\n    bandwidth_in_gbps=10,\n    encapsulation=\"Dot1Q\")\nexample_express_route_circuit = azure.network.ExpressRouteCircuit(\"example\",\n    name=\"example-erc\",\n    location=example.location,\n    resource_group_name=example.name,\n    express_route_port_id=example_express_route_port.id,\n    bandwidth_in_gbps=1,\n    sku={\n        \"tier\": \"Standard\",\n        \"family\": \"MeteredData\",\n    })\nexample_express_route_circuit_peering = azure.network.ExpressRouteCircuitPeering(\"example\",\n    peering_type=\"MicrosoftPeering\",\n    express_route_circuit_name=example_express_route_circuit.name,\n    resource_group_name=example.name,\n    peer_asn=100,\n    primary_peer_address_prefix=\"192.168.199.0/30\",\n    secondary_peer_address_prefix=\"192.168.200.0/30\",\n    vlan_id=300,\n    microsoft_peering_config={\n        \"advertised_public_prefixes\": [\"123.6.0.0/24\"],\n    })\nexample_azure_traffic_collector = azure.networkfunction.AzureTrafficCollector(\"example\",\n    name=\"example-nfatc\",\n    location=example.location,\n    resource_group_name=example.name,\n    opts = pulumi.ResourceOptions(depends_on=[example_express_route_circuit_peering]))\nexample_collector_policy = azure.networkfunction.CollectorPolicy(\"example\",\n    name=\"example-nfcp\",\n    traffic_collector_id=example_azure_traffic_collector.id,\n    location=example.location,\n    ipfx_emission={\n        \"destination_types\": \"AzureMonitor\",\n    },\n    ipfx_ingestion={\n        \"source_resource_ids\": [example_express_route_circuit.id],\n    },\n    tags={\n        \"key\": \"value\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West US 2\",\n    });\n\n    var exampleExpressRoutePort = new Azure.Network.ExpressRoutePort(\"example\", new()\n    {\n        Name = \"example-erp\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        PeeringLocation = \"Equinix-Seattle-SE2\",\n        BandwidthInGbps = 10,\n        Encapsulation = \"Dot1Q\",\n    });\n\n    var exampleExpressRouteCircuit = new Azure.Network.ExpressRouteCircuit(\"example\", new()\n    {\n        Name = \"example-erc\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        ExpressRoutePortId = exampleExpressRoutePort.Id,\n        BandwidthInGbps = 1,\n        Sku = new Azure.Network.Inputs.ExpressRouteCircuitSkuArgs\n        {\n            Tier = \"Standard\",\n            Family = \"MeteredData\",\n        },\n    });\n\n    var exampleExpressRouteCircuitPeering = new Azure.Network.ExpressRouteCircuitPeering(\"example\", new()\n    {\n        PeeringType = \"MicrosoftPeering\",\n        ExpressRouteCircuitName = exampleExpressRouteCircuit.Name,\n        ResourceGroupName = example.Name,\n        PeerAsn = 100,\n        PrimaryPeerAddressPrefix = \"192.168.199.0/30\",\n        SecondaryPeerAddressPrefix = \"192.168.200.0/30\",\n        VlanId = 300,\n        MicrosoftPeeringConfig = new Azure.Network.Inputs.ExpressRouteCircuitPeeringMicrosoftPeeringConfigArgs\n        {\n            AdvertisedPublicPrefixes = new[]\n            {\n                \"123.6.0.0/24\",\n            },\n        },\n    });\n\n    var exampleAzureTrafficCollector = new Azure.NetworkFunction.AzureTrafficCollector(\"example\", new()\n    {\n        Name = \"example-nfatc\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            exampleExpressRouteCircuitPeering,\n        },\n    });\n\n    var exampleCollectorPolicy = new Azure.NetworkFunction.CollectorPolicy(\"example\", new()\n    {\n        Name = \"example-nfcp\",\n        TrafficCollectorId = exampleAzureTrafficCollector.Id,\n        Location = example.Location,\n        IpfxEmission = new Azure.NetworkFunction.Inputs.CollectorPolicyIpfxEmissionArgs\n        {\n            DestinationTypes = \"AzureMonitor\",\n        },\n        IpfxIngestion = new Azure.NetworkFunction.Inputs.CollectorPolicyIpfxIngestionArgs\n        {\n            SourceResourceIds = new[]\n            {\n                exampleExpressRouteCircuit.Id,\n            },\n        },\n        Tags = \n        {\n            { \"key\", \"value\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/networkfunction\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West US 2\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleExpressRoutePort, err := network.NewExpressRoutePort(ctx, \"example\", \u0026network.ExpressRoutePortArgs{\n\t\t\tName:              pulumi.String(\"example-erp\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tPeeringLocation:   pulumi.String(\"Equinix-Seattle-SE2\"),\n\t\t\tBandwidthInGbps:   pulumi.Int(10),\n\t\t\tEncapsulation:     pulumi.String(\"Dot1Q\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleExpressRouteCircuit, err := network.NewExpressRouteCircuit(ctx, \"example\", \u0026network.ExpressRouteCircuitArgs{\n\t\t\tName:               pulumi.String(\"example-erc\"),\n\t\t\tLocation:           example.Location,\n\t\t\tResourceGroupName:  example.Name,\n\t\t\tExpressRoutePortId: exampleExpressRoutePort.ID(),\n\t\t\tBandwidthInGbps:    pulumi.Float64(1),\n\t\t\tSku: \u0026network.ExpressRouteCircuitSkuArgs{\n\t\t\t\tTier:   pulumi.String(\"Standard\"),\n\t\t\t\tFamily: pulumi.String(\"MeteredData\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleExpressRouteCircuitPeering, err := network.NewExpressRouteCircuitPeering(ctx, \"example\", \u0026network.ExpressRouteCircuitPeeringArgs{\n\t\t\tPeeringType:                pulumi.String(\"MicrosoftPeering\"),\n\t\t\tExpressRouteCircuitName:    exampleExpressRouteCircuit.Name,\n\t\t\tResourceGroupName:          example.Name,\n\t\t\tPeerAsn:                    pulumi.Int(100),\n\t\t\tPrimaryPeerAddressPrefix:   pulumi.String(\"192.168.199.0/30\"),\n\t\t\tSecondaryPeerAddressPrefix: pulumi.String(\"192.168.200.0/30\"),\n\t\t\tVlanId:                     pulumi.Int(300),\n\t\t\tMicrosoftPeeringConfig: \u0026network.ExpressRouteCircuitPeeringMicrosoftPeeringConfigArgs{\n\t\t\t\tAdvertisedPublicPrefixes: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"123.6.0.0/24\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAzureTrafficCollector, err := networkfunction.NewAzureTrafficCollector(ctx, \"example\", \u0026networkfunction.AzureTrafficCollectorArgs{\n\t\t\tName:              pulumi.String(\"example-nfatc\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleExpressRouteCircuitPeering,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = networkfunction.NewCollectorPolicy(ctx, \"example\", \u0026networkfunction.CollectorPolicyArgs{\n\t\t\tName:               pulumi.String(\"example-nfcp\"),\n\t\t\tTrafficCollectorId: exampleAzureTrafficCollector.ID(),\n\t\t\tLocation:           example.Location,\n\t\t\tIpfxEmission: \u0026networkfunction.CollectorPolicyIpfxEmissionArgs{\n\t\t\t\tDestinationTypes: pulumi.String(\"AzureMonitor\"),\n\t\t\t},\n\t\t\tIpfxIngestion: \u0026networkfunction.CollectorPolicyIpfxIngestionArgs{\n\t\t\t\tSourceResourceIds: pulumi.StringArray{\n\t\t\t\t\texampleExpressRouteCircuit.ID(),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"key\": pulumi.String(\"value\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.ExpressRoutePort;\nimport com.pulumi.azure.network.ExpressRoutePortArgs;\nimport com.pulumi.azure.network.ExpressRouteCircuit;\nimport com.pulumi.azure.network.ExpressRouteCircuitArgs;\nimport com.pulumi.azure.network.inputs.ExpressRouteCircuitSkuArgs;\nimport com.pulumi.azure.network.ExpressRouteCircuitPeering;\nimport com.pulumi.azure.network.ExpressRouteCircuitPeeringArgs;\nimport com.pulumi.azure.network.inputs.ExpressRouteCircuitPeeringMicrosoftPeeringConfigArgs;\nimport com.pulumi.azure.networkfunction.AzureTrafficCollector;\nimport com.pulumi.azure.networkfunction.AzureTrafficCollectorArgs;\nimport com.pulumi.azure.networkfunction.CollectorPolicy;\nimport com.pulumi.azure.networkfunction.CollectorPolicyArgs;\nimport com.pulumi.azure.networkfunction.inputs.CollectorPolicyIpfxEmissionArgs;\nimport com.pulumi.azure.networkfunction.inputs.CollectorPolicyIpfxIngestionArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West US 2\")\n            .build());\n\n        var exampleExpressRoutePort = new ExpressRoutePort(\"exampleExpressRoutePort\", ExpressRoutePortArgs.builder()\n            .name(\"example-erp\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .peeringLocation(\"Equinix-Seattle-SE2\")\n            .bandwidthInGbps(10)\n            .encapsulation(\"Dot1Q\")\n            .build());\n\n        var exampleExpressRouteCircuit = new ExpressRouteCircuit(\"exampleExpressRouteCircuit\", ExpressRouteCircuitArgs.builder()\n            .name(\"example-erc\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .expressRoutePortId(exampleExpressRoutePort.id())\n            .bandwidthInGbps(1.0)\n            .sku(ExpressRouteCircuitSkuArgs.builder()\n                .tier(\"Standard\")\n                .family(\"MeteredData\")\n                .build())\n            .build());\n\n        var exampleExpressRouteCircuitPeering = new ExpressRouteCircuitPeering(\"exampleExpressRouteCircuitPeering\", ExpressRouteCircuitPeeringArgs.builder()\n            .peeringType(\"MicrosoftPeering\")\n            .expressRouteCircuitName(exampleExpressRouteCircuit.name())\n            .resourceGroupName(example.name())\n            .peerAsn(100)\n            .primaryPeerAddressPrefix(\"192.168.199.0/30\")\n            .secondaryPeerAddressPrefix(\"192.168.200.0/30\")\n            .vlanId(300)\n            .microsoftPeeringConfig(ExpressRouteCircuitPeeringMicrosoftPeeringConfigArgs.builder()\n                .advertisedPublicPrefixes(\"123.6.0.0/24\")\n                .build())\n            .build());\n\n        var exampleAzureTrafficCollector = new AzureTrafficCollector(\"exampleAzureTrafficCollector\", AzureTrafficCollectorArgs.builder()\n            .name(\"example-nfatc\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .build(), CustomResourceOptions.builder()\n                .dependsOn(exampleExpressRouteCircuitPeering)\n                .build());\n\n        var exampleCollectorPolicy = new CollectorPolicy(\"exampleCollectorPolicy\", CollectorPolicyArgs.builder()\n            .name(\"example-nfcp\")\n            .trafficCollectorId(exampleAzureTrafficCollector.id())\n            .location(example.location())\n            .ipfxEmission(CollectorPolicyIpfxEmissionArgs.builder()\n                .destinationTypes(\"AzureMonitor\")\n                .build())\n            .ipfxIngestion(CollectorPolicyIpfxIngestionArgs.builder()\n                .sourceResourceIds(exampleExpressRouteCircuit.id())\n                .build())\n            .tags(Map.of(\"key\", \"value\"))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West US 2\n  exampleExpressRoutePort:\n    type: azure:network:ExpressRoutePort\n    name: example\n    properties:\n      name: example-erp\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      peeringLocation: Equinix-Seattle-SE2\n      bandwidthInGbps: 10\n      encapsulation: Dot1Q\n  exampleExpressRouteCircuit:\n    type: azure:network:ExpressRouteCircuit\n    name: example\n    properties:\n      name: example-erc\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      expressRoutePortId: ${exampleExpressRoutePort.id}\n      bandwidthInGbps: 1\n      sku:\n        tier: Standard\n        family: MeteredData\n  exampleExpressRouteCircuitPeering:\n    type: azure:network:ExpressRouteCircuitPeering\n    name: example\n    properties:\n      peeringType: MicrosoftPeering\n      expressRouteCircuitName: ${exampleExpressRouteCircuit.name}\n      resourceGroupName: ${example.name}\n      peerAsn: 100\n      primaryPeerAddressPrefix: 192.168.199.0/30\n      secondaryPeerAddressPrefix: 192.168.200.0/30\n      vlanId: 300\n      microsoftPeeringConfig:\n        advertisedPublicPrefixes:\n          - 123.6.0.0/24\n  exampleAzureTrafficCollector:\n    type: azure:networkfunction:AzureTrafficCollector\n    name: example\n    properties:\n      name: example-nfatc\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n    options:\n      dependsOn:\n        - ${exampleExpressRouteCircuitPeering}\n  exampleCollectorPolicy:\n    type: azure:networkfunction:CollectorPolicy\n    name: example\n    properties:\n      name: example-nfcp\n      trafficCollectorId: ${exampleAzureTrafficCollector.id}\n      location: ${example.location}\n      ipfxEmission:\n        destinationTypes: AzureMonitor\n      ipfxIngestion:\n        sourceResourceIds:\n          - ${exampleExpressRouteCircuit.id}\n      tags:\n        key: value\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.NetworkFunction` - 2022-11-01\n\n## Import\n\nNetwork Function Collector Policy can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:networkfunction/collectorPolicy:CollectorPolicy example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup1/providers/Microsoft.NetworkFunction/azureTrafficCollectors/azureTrafficCollector1/collectorPolicies/collectorPolicy1\n```\n\n","properties":{"ipfxEmission":{"$ref":"#/types/azure:networkfunction/CollectorPolicyIpfxEmission:CollectorPolicyIpfxEmission","description":"An \u003cspan pulumi-lang-nodejs=\"`ipfxEmission`\" pulumi-lang-dotnet=\"`IpfxEmission`\" pulumi-lang-go=\"`ipfxEmission`\" pulumi-lang-python=\"`ipfx_emission`\" pulumi-lang-yaml=\"`ipfxEmission`\" pulumi-lang-java=\"`ipfxEmission`\"\u003e`ipfx_emission`\u003c/span\u003e block as defined below. Changing this forces a new Network Function Collector Policy to be created.\n"},"ipfxIngestion":{"$ref":"#/types/azure:networkfunction/CollectorPolicyIpfxIngestion:CollectorPolicyIpfxIngestion","description":"An \u003cspan pulumi-lang-nodejs=\"`ipfxIngestion`\" pulumi-lang-dotnet=\"`IpfxIngestion`\" pulumi-lang-go=\"`ipfxIngestion`\" pulumi-lang-python=\"`ipfx_ingestion`\" pulumi-lang-yaml=\"`ipfxIngestion`\" pulumi-lang-java=\"`ipfxIngestion`\"\u003e`ipfx_ingestion`\u003c/span\u003e block as defined below. Changing this forces a new Network Function Collector Policy to be created.\n"},"location":{"type":"string","description":"Specifies the Azure Region where the Network Function Collector Policy should exist. Changing this forces a new Network Function Collector Policy to be created.\n"},"name":{"type":"string","description":"Specifies the name which should be used for this Network Function Collector Policy. Changing this forces a new Network Function Collector Policy to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Network Function Collector Policy.\n"},"trafficCollectorId":{"type":"string","description":"Specifies the Azure Traffic Collector ID of the Network Function Collector Policy. Changing this forces a new Network Function Collector Policy to be created.\n"}},"required":["ipfxEmission","ipfxIngestion","location","name","trafficCollectorId"],"inputProperties":{"ipfxEmission":{"$ref":"#/types/azure:networkfunction/CollectorPolicyIpfxEmission:CollectorPolicyIpfxEmission","description":"An \u003cspan pulumi-lang-nodejs=\"`ipfxEmission`\" pulumi-lang-dotnet=\"`IpfxEmission`\" pulumi-lang-go=\"`ipfxEmission`\" pulumi-lang-python=\"`ipfx_emission`\" pulumi-lang-yaml=\"`ipfxEmission`\" pulumi-lang-java=\"`ipfxEmission`\"\u003e`ipfx_emission`\u003c/span\u003e block as defined below. Changing this forces a new Network Function Collector Policy to be created.\n","willReplaceOnChanges":true},"ipfxIngestion":{"$ref":"#/types/azure:networkfunction/CollectorPolicyIpfxIngestion:CollectorPolicyIpfxIngestion","description":"An \u003cspan pulumi-lang-nodejs=\"`ipfxIngestion`\" pulumi-lang-dotnet=\"`IpfxIngestion`\" pulumi-lang-go=\"`ipfxIngestion`\" pulumi-lang-python=\"`ipfx_ingestion`\" pulumi-lang-yaml=\"`ipfxIngestion`\" pulumi-lang-java=\"`ipfxIngestion`\"\u003e`ipfx_ingestion`\u003c/span\u003e block as defined below. Changing this forces a new Network Function Collector Policy to be created.\n","willReplaceOnChanges":true},"location":{"type":"string","description":"Specifies the Azure Region where the Network Function Collector Policy should exist. Changing this forces a new Network Function Collector Policy to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name which should be used for this Network Function Collector Policy. Changing this forces a new Network Function Collector Policy to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Network Function Collector Policy.\n"},"trafficCollectorId":{"type":"string","description":"Specifies the Azure Traffic Collector ID of the Network Function Collector Policy. Changing this forces a new Network Function Collector Policy to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["ipfxEmission","ipfxIngestion","trafficCollectorId"],"stateInputs":{"description":"Input properties used for looking up and filtering CollectorPolicy resources.\n","properties":{"ipfxEmission":{"$ref":"#/types/azure:networkfunction/CollectorPolicyIpfxEmission:CollectorPolicyIpfxEmission","description":"An \u003cspan pulumi-lang-nodejs=\"`ipfxEmission`\" pulumi-lang-dotnet=\"`IpfxEmission`\" pulumi-lang-go=\"`ipfxEmission`\" pulumi-lang-python=\"`ipfx_emission`\" pulumi-lang-yaml=\"`ipfxEmission`\" pulumi-lang-java=\"`ipfxEmission`\"\u003e`ipfx_emission`\u003c/span\u003e block as defined below. Changing this forces a new Network Function Collector Policy to be created.\n","willReplaceOnChanges":true},"ipfxIngestion":{"$ref":"#/types/azure:networkfunction/CollectorPolicyIpfxIngestion:CollectorPolicyIpfxIngestion","description":"An \u003cspan pulumi-lang-nodejs=\"`ipfxIngestion`\" pulumi-lang-dotnet=\"`IpfxIngestion`\" pulumi-lang-go=\"`ipfxIngestion`\" pulumi-lang-python=\"`ipfx_ingestion`\" pulumi-lang-yaml=\"`ipfxIngestion`\" pulumi-lang-java=\"`ipfxIngestion`\"\u003e`ipfx_ingestion`\u003c/span\u003e block as defined below. Changing this forces a new Network Function Collector Policy to be created.\n","willReplaceOnChanges":true},"location":{"type":"string","description":"Specifies the Azure Region where the Network Function Collector Policy should exist. Changing this forces a new Network Function Collector Policy to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name which should be used for this Network Function Collector Policy. Changing this forces a new Network Function Collector Policy to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Network Function Collector Policy.\n"},"trafficCollectorId":{"type":"string","description":"Specifies the Azure Traffic Collector ID of the Network Function Collector Policy. Changing this forces a new Network Function Collector Policy to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:newrelic/monitor:Monitor":{"description":"Manages an Azure Native New Relic Monitor.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"East US\",\n});\nconst exampleMonitor = new azure.newrelic.Monitor(\"example\", {\n    name: \"example-nrm\",\n    resourceGroupName: example.name,\n    location: example.location,\n    plan: {\n        effectiveDate: \"2023-06-06T00:00:00Z\",\n    },\n    user: {\n        email: \"user@example.com\",\n        firstName: \"Example\",\n        lastName: \"User\",\n        phoneNumber: \"+12313803556\",\n    },\n    identity: {\n        type: \"SystemAssigned\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"East US\")\nexample_monitor = azure.newrelic.Monitor(\"example\",\n    name=\"example-nrm\",\n    resource_group_name=example.name,\n    location=example.location,\n    plan={\n        \"effective_date\": \"2023-06-06T00:00:00Z\",\n    },\n    user={\n        \"email\": \"user@example.com\",\n        \"first_name\": \"Example\",\n        \"last_name\": \"User\",\n        \"phone_number\": \"+12313803556\",\n    },\n    identity={\n        \"type\": \"SystemAssigned\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"East US\",\n    });\n\n    var exampleMonitor = new Azure.NewRelic.Monitor(\"example\", new()\n    {\n        Name = \"example-nrm\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        Plan = new Azure.NewRelic.Inputs.MonitorPlanArgs\n        {\n            EffectiveDate = \"2023-06-06T00:00:00Z\",\n        },\n        User = new Azure.NewRelic.Inputs.MonitorUserArgs\n        {\n            Email = \"user@example.com\",\n            FirstName = \"Example\",\n            LastName = \"User\",\n            PhoneNumber = \"+12313803556\",\n        },\n        Identity = new Azure.NewRelic.Inputs.MonitorIdentityArgs\n        {\n            Type = \"SystemAssigned\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/newrelic\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"East US\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = newrelic.NewMonitor(ctx, \"example\", \u0026newrelic.MonitorArgs{\n\t\t\tName:              pulumi.String(\"example-nrm\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tPlan: \u0026newrelic.MonitorPlanArgs{\n\t\t\t\tEffectiveDate: pulumi.String(\"2023-06-06T00:00:00Z\"),\n\t\t\t},\n\t\t\tUser: \u0026newrelic.MonitorUserArgs{\n\t\t\t\tEmail:       pulumi.String(\"user@example.com\"),\n\t\t\t\tFirstName:   pulumi.String(\"Example\"),\n\t\t\t\tLastName:    pulumi.String(\"User\"),\n\t\t\t\tPhoneNumber: pulumi.String(\"+12313803556\"),\n\t\t\t},\n\t\t\tIdentity: \u0026newrelic.MonitorIdentityArgs{\n\t\t\t\tType: pulumi.String(\"SystemAssigned\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.newrelic.Monitor;\nimport com.pulumi.azure.newrelic.MonitorArgs;\nimport com.pulumi.azure.newrelic.inputs.MonitorPlanArgs;\nimport com.pulumi.azure.newrelic.inputs.MonitorUserArgs;\nimport com.pulumi.azure.newrelic.inputs.MonitorIdentityArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"East US\")\n            .build());\n\n        var exampleMonitor = new Monitor(\"exampleMonitor\", MonitorArgs.builder()\n            .name(\"example-nrm\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .plan(MonitorPlanArgs.builder()\n                .effectiveDate(\"2023-06-06T00:00:00Z\")\n                .build())\n            .user(MonitorUserArgs.builder()\n                .email(\"user@example.com\")\n                .firstName(\"Example\")\n                .lastName(\"User\")\n                .phoneNumber(\"+12313803556\")\n                .build())\n            .identity(MonitorIdentityArgs.builder()\n                .type(\"SystemAssigned\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: East US\n  exampleMonitor:\n    type: azure:newrelic:Monitor\n    name: example\n    properties:\n      name: example-nrm\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      plan:\n        effectiveDate: 2023-06-06T00:00:00Z\n      user:\n        email: user@example.com\n        firstName: Example\n        lastName: User\n        phoneNumber: '+12313803556'\n      identity:\n        type: SystemAssigned\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Role Assignment\n\nTo enable metrics flow, perform role assignment on the identity created above. `Monitoring reader(43d0d8ad-25c7-4714-9337-8ba259a9fe05)` role is required .\n\n### Role assignment on the monitor created\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst primary = azure.core.getSubscription({});\nconst monitoringReader = azure.authorization.getRoleDefinition({\n    name: \"Monitoring Reader\",\n});\nconst example = new azure.authorization.Assignment(\"example\", {\n    scope: primary.then(primary =\u003e primary.id),\n    roleDefinitionId: Promise.all([primary, monitoringReader]).then(([primary, monitoringReader]) =\u003e `${primary.id}${monitoringReader.id}`),\n    principalId: exampleAzurermNewRelicMonitor.identity[0].principalId,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nprimary = azure.core.get_subscription()\nmonitoring_reader = azure.authorization.get_role_definition(name=\"Monitoring Reader\")\nexample = azure.authorization.Assignment(\"example\",\n    scope=primary.id,\n    role_definition_id=f\"{primary.id}{monitoring_reader.id}\",\n    principal_id=example_azurerm_new_relic_monitor[\"identity\"][0][\"principalId\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var primary = Azure.Core.GetSubscription.Invoke();\n\n    var monitoringReader = Azure.Authorization.GetRoleDefinition.Invoke(new()\n    {\n        Name = \"Monitoring Reader\",\n    });\n\n    var example = new Azure.Authorization.Assignment(\"example\", new()\n    {\n        Scope = primary.Apply(getSubscriptionResult =\u003e getSubscriptionResult.Id),\n        RoleDefinitionId = Output.Tuple(primary, monitoringReader).Apply(values =\u003e\n        {\n            var primary = values.Item1;\n            var monitoringReader = values.Item2;\n            return $\"{primary.Apply(getSubscriptionResult =\u003e getSubscriptionResult.Id)}{monitoringReader.Apply(getRoleDefinitionResult =\u003e getRoleDefinitionResult.Id)}\";\n        }),\n        PrincipalId = exampleAzurermNewRelicMonitor.Identity[0].PrincipalId,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/authorization\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tprimary, err := core.LookupSubscription(ctx, \u0026core.LookupSubscriptionArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmonitoringReader, err := authorization.LookupRoleDefinition(ctx, \u0026authorization.LookupRoleDefinitionArgs{\n\t\t\tName: pulumi.StringRef(\"Monitoring Reader\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = authorization.NewAssignment(ctx, \"example\", \u0026authorization.AssignmentArgs{\n\t\t\tScope:            pulumi.String(primary.Id),\n\t\t\tRoleDefinitionId: pulumi.Sprintf(\"%v%v\", primary.Id, monitoringReader.Id),\n\t\t\tPrincipalId:      pulumi.Any(exampleAzurermNewRelicMonitor.Identity[0].PrincipalId),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.core.inputs.GetSubscriptionArgs;\nimport com.pulumi.azure.authorization.AuthorizationFunctions;\nimport com.pulumi.azure.authorization.inputs.GetRoleDefinitionArgs;\nimport com.pulumi.azure.authorization.Assignment;\nimport com.pulumi.azure.authorization.AssignmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var primary = CoreFunctions.getSubscription(GetSubscriptionArgs.builder()\n            .build());\n\n        final var monitoringReader = AuthorizationFunctions.getRoleDefinition(GetRoleDefinitionArgs.builder()\n            .name(\"Monitoring Reader\")\n            .build());\n\n        var example = new Assignment(\"example\", AssignmentArgs.builder()\n            .scope(primary.id())\n            .roleDefinitionId(String.format(\"%s%s\", primary.id(),monitoringReader.id()))\n            .principalId(exampleAzurermNewRelicMonitor.identity()[0].principalId())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:authorization:Assignment\n    properties:\n      scope: ${primary.id}\n      roleDefinitionId: ${primary.id}${monitoringReader.id}\n      principalId: ${exampleAzurermNewRelicMonitor.identity[0].principalId}\nvariables:\n  primary:\n    fn::invoke:\n      function: azure:core:getSubscription\n      arguments: {}\n  monitoringReader:\n    fn::invoke:\n      function: azure:authorization:getRoleDefinition\n      arguments:\n        name: Monitoring Reader\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `NewRelic.Observability` - 2024-03-01\n\n## Import\n\nAzure Native New Relic Monitor can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:newrelic/monitor:Monitor example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup1/providers/NewRelic.Observability/monitors/monitor1\n```\n\n","properties":{"accountCreationSource":{"type":"string","description":"Specifies the source of account creation. Possible values are `LIFTR` and `NEWRELIC`. Defaults to `LIFTR`. Changing this forces a new Azure Native New Relic Monitor to be created.\n"},"accountId":{"type":"string","description":"Specifies the account id. Changing this forces a new Azure Native New Relic Monitor to be created.\n\n\u003e **Note:** The value of \u003cspan pulumi-lang-nodejs=\"`accountId`\" pulumi-lang-dotnet=\"`AccountId`\" pulumi-lang-go=\"`accountId`\" pulumi-lang-python=\"`account_id`\" pulumi-lang-yaml=\"`accountId`\" pulumi-lang-java=\"`accountId`\"\u003e`account_id`\u003c/span\u003e must come from an Azure Native New Relic Monitor instance of another different subscription.\n"},"identity":{"$ref":"#/types/azure:newrelic/MonitorIdentity:MonitorIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below. Changing this forces a new Azure Native New Relic Monitor to be created.\n"},"ingestionKey":{"type":"string","description":"Specifies the ingestion key of account. Changing this forces a new Azure Native New Relic Monitor to be created.\n","secret":true},"location":{"type":"string","description":"Specifies the Azure Region where the Azure Native New Relic Monitor should exist. Changing this forces a new Azure Native New Relic Monitor to be created.\n"},"name":{"type":"string","description":"Specifies the name which should be used for this Azure Native New Relic Monitor. Changing this forces a new Azure Native New Relic Monitor to be created.\n"},"orgCreationSource":{"type":"string","description":"Specifies the source of org creation. Possible values are `LIFTR` and `NEWRELIC`. Defaults to `LIFTR`. Changing this forces a new Azure Native New Relic Monitor to be created.\n"},"organizationId":{"type":"string","description":"Specifies the organization id. Changing this forces a new Azure Native New Relic Monitor to be created.\n\n\u003e **Note:** The value of \u003cspan pulumi-lang-nodejs=\"`organizationId`\" pulumi-lang-dotnet=\"`OrganizationId`\" pulumi-lang-go=\"`organizationId`\" pulumi-lang-python=\"`organization_id`\" pulumi-lang-yaml=\"`organizationId`\" pulumi-lang-java=\"`organizationId`\"\u003e`organization_id`\u003c/span\u003e must come from an Azure Native New Relic Monitor instance of another different subscription.\n"},"plan":{"$ref":"#/types/azure:newrelic/MonitorPlan:MonitorPlan","description":"A \u003cspan pulumi-lang-nodejs=\"`plan`\" pulumi-lang-dotnet=\"`Plan`\" pulumi-lang-go=\"`plan`\" pulumi-lang-python=\"`plan`\" pulumi-lang-yaml=\"`plan`\" pulumi-lang-java=\"`plan`\"\u003e`plan`\u003c/span\u003e block as defined below. Changing this forces a new Azure Native New Relic Monitor to be created.\n"},"resourceGroupName":{"type":"string","description":"Specifies the name of the Resource Group where the Azure Native New Relic Monitor should exist. Changing this forces a new Azure Native New Relic Monitor to be created.\n"},"user":{"$ref":"#/types/azure:newrelic/MonitorUser:MonitorUser","description":"A \u003cspan pulumi-lang-nodejs=\"`user`\" pulumi-lang-dotnet=\"`User`\" pulumi-lang-go=\"`user`\" pulumi-lang-python=\"`user`\" pulumi-lang-yaml=\"`user`\" pulumi-lang-java=\"`user`\"\u003e`user`\u003c/span\u003e block as defined below. Changing this forces a new Azure Native New Relic Monitor to be created.\n"},"userId":{"type":"string","description":"Specifies the user id. Changing this forces a new Azure Native New Relic Monitor to be created.\n"}},"required":["accountId","location","name","organizationId","plan","resourceGroupName","user"],"inputProperties":{"accountCreationSource":{"type":"string","description":"Specifies the source of account creation. Possible values are `LIFTR` and `NEWRELIC`. Defaults to `LIFTR`. Changing this forces a new Azure Native New Relic Monitor to be created.\n","willReplaceOnChanges":true},"accountId":{"type":"string","description":"Specifies the account id. Changing this forces a new Azure Native New Relic Monitor to be created.\n\n\u003e **Note:** The value of \u003cspan pulumi-lang-nodejs=\"`accountId`\" pulumi-lang-dotnet=\"`AccountId`\" pulumi-lang-go=\"`accountId`\" pulumi-lang-python=\"`account_id`\" pulumi-lang-yaml=\"`accountId`\" pulumi-lang-java=\"`accountId`\"\u003e`account_id`\u003c/span\u003e must come from an Azure Native New Relic Monitor instance of another different subscription.\n","willReplaceOnChanges":true},"identity":{"$ref":"#/types/azure:newrelic/MonitorIdentity:MonitorIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below. Changing this forces a new Azure Native New Relic Monitor to be created.\n","willReplaceOnChanges":true},"ingestionKey":{"type":"string","description":"Specifies the ingestion key of account. Changing this forces a new Azure Native New Relic Monitor to be created.\n","secret":true,"willReplaceOnChanges":true},"location":{"type":"string","description":"Specifies the Azure Region where the Azure Native New Relic Monitor should exist. Changing this forces a new Azure Native New Relic Monitor to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name which should be used for this Azure Native New Relic Monitor. Changing this forces a new Azure Native New Relic Monitor to be created.\n","willReplaceOnChanges":true},"orgCreationSource":{"type":"string","description":"Specifies the source of org creation. Possible values are `LIFTR` and `NEWRELIC`. Defaults to `LIFTR`. Changing this forces a new Azure Native New Relic Monitor to be created.\n","willReplaceOnChanges":true},"organizationId":{"type":"string","description":"Specifies the organization id. Changing this forces a new Azure Native New Relic Monitor to be created.\n\n\u003e **Note:** The value of \u003cspan pulumi-lang-nodejs=\"`organizationId`\" pulumi-lang-dotnet=\"`OrganizationId`\" pulumi-lang-go=\"`organizationId`\" pulumi-lang-python=\"`organization_id`\" pulumi-lang-yaml=\"`organizationId`\" pulumi-lang-java=\"`organizationId`\"\u003e`organization_id`\u003c/span\u003e must come from an Azure Native New Relic Monitor instance of another different subscription.\n","willReplaceOnChanges":true},"plan":{"$ref":"#/types/azure:newrelic/MonitorPlan:MonitorPlan","description":"A \u003cspan pulumi-lang-nodejs=\"`plan`\" pulumi-lang-dotnet=\"`Plan`\" pulumi-lang-go=\"`plan`\" pulumi-lang-python=\"`plan`\" pulumi-lang-yaml=\"`plan`\" pulumi-lang-java=\"`plan`\"\u003e`plan`\u003c/span\u003e block as defined below. Changing this forces a new Azure Native New Relic Monitor to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"Specifies the name of the Resource Group where the Azure Native New Relic Monitor should exist. Changing this forces a new Azure Native New Relic Monitor to be created.\n","willReplaceOnChanges":true},"user":{"$ref":"#/types/azure:newrelic/MonitorUser:MonitorUser","description":"A \u003cspan pulumi-lang-nodejs=\"`user`\" pulumi-lang-dotnet=\"`User`\" pulumi-lang-go=\"`user`\" pulumi-lang-python=\"`user`\" pulumi-lang-yaml=\"`user`\" pulumi-lang-java=\"`user`\"\u003e`user`\u003c/span\u003e block as defined below. Changing this forces a new Azure Native New Relic Monitor to be created.\n","willReplaceOnChanges":true},"userId":{"type":"string","description":"Specifies the user id. Changing this forces a new Azure Native New Relic Monitor to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["plan","resourceGroupName","user"],"stateInputs":{"description":"Input properties used for looking up and filtering Monitor resources.\n","properties":{"accountCreationSource":{"type":"string","description":"Specifies the source of account creation. Possible values are `LIFTR` and `NEWRELIC`. Defaults to `LIFTR`. Changing this forces a new Azure Native New Relic Monitor to be created.\n","willReplaceOnChanges":true},"accountId":{"type":"string","description":"Specifies the account id. Changing this forces a new Azure Native New Relic Monitor to be created.\n\n\u003e **Note:** The value of \u003cspan pulumi-lang-nodejs=\"`accountId`\" pulumi-lang-dotnet=\"`AccountId`\" pulumi-lang-go=\"`accountId`\" pulumi-lang-python=\"`account_id`\" pulumi-lang-yaml=\"`accountId`\" pulumi-lang-java=\"`accountId`\"\u003e`account_id`\u003c/span\u003e must come from an Azure Native New Relic Monitor instance of another different subscription.\n","willReplaceOnChanges":true},"identity":{"$ref":"#/types/azure:newrelic/MonitorIdentity:MonitorIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below. Changing this forces a new Azure Native New Relic Monitor to be created.\n","willReplaceOnChanges":true},"ingestionKey":{"type":"string","description":"Specifies the ingestion key of account. Changing this forces a new Azure Native New Relic Monitor to be created.\n","secret":true,"willReplaceOnChanges":true},"location":{"type":"string","description":"Specifies the Azure Region where the Azure Native New Relic Monitor should exist. Changing this forces a new Azure Native New Relic Monitor to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name which should be used for this Azure Native New Relic Monitor. Changing this forces a new Azure Native New Relic Monitor to be created.\n","willReplaceOnChanges":true},"orgCreationSource":{"type":"string","description":"Specifies the source of org creation. Possible values are `LIFTR` and `NEWRELIC`. Defaults to `LIFTR`. Changing this forces a new Azure Native New Relic Monitor to be created.\n","willReplaceOnChanges":true},"organizationId":{"type":"string","description":"Specifies the organization id. Changing this forces a new Azure Native New Relic Monitor to be created.\n\n\u003e **Note:** The value of \u003cspan pulumi-lang-nodejs=\"`organizationId`\" pulumi-lang-dotnet=\"`OrganizationId`\" pulumi-lang-go=\"`organizationId`\" pulumi-lang-python=\"`organization_id`\" pulumi-lang-yaml=\"`organizationId`\" pulumi-lang-java=\"`organizationId`\"\u003e`organization_id`\u003c/span\u003e must come from an Azure Native New Relic Monitor instance of another different subscription.\n","willReplaceOnChanges":true},"plan":{"$ref":"#/types/azure:newrelic/MonitorPlan:MonitorPlan","description":"A \u003cspan pulumi-lang-nodejs=\"`plan`\" pulumi-lang-dotnet=\"`Plan`\" pulumi-lang-go=\"`plan`\" pulumi-lang-python=\"`plan`\" pulumi-lang-yaml=\"`plan`\" pulumi-lang-java=\"`plan`\"\u003e`plan`\u003c/span\u003e block as defined below. Changing this forces a new Azure Native New Relic Monitor to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"Specifies the name of the Resource Group where the Azure Native New Relic Monitor should exist. Changing this forces a new Azure Native New Relic Monitor to be created.\n","willReplaceOnChanges":true},"user":{"$ref":"#/types/azure:newrelic/MonitorUser:MonitorUser","description":"A \u003cspan pulumi-lang-nodejs=\"`user`\" pulumi-lang-dotnet=\"`User`\" pulumi-lang-go=\"`user`\" pulumi-lang-python=\"`user`\" pulumi-lang-yaml=\"`user`\" pulumi-lang-java=\"`user`\"\u003e`user`\u003c/span\u003e block as defined below. Changing this forces a new Azure Native New Relic Monitor to be created.\n","willReplaceOnChanges":true},"userId":{"type":"string","description":"Specifies the user id. Changing this forces a new Azure Native New Relic Monitor to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:newrelic/tagRule:TagRule":{"description":"Manages an Azure Native New Relic Tag Rule.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"East US\",\n});\nconst exampleMonitor = new azure.newrelic.Monitor(\"example\", {\n    name: \"example-nrm\",\n    resourceGroupName: example.name,\n    location: example.location,\n    plan: {\n        effectiveDate: \"2023-06-06T00:00:00Z\",\n    },\n    user: {\n        email: \"user@example.com\",\n        firstName: \"Example\",\n        lastName: \"User\",\n        phoneNumber: \"+12313803556\",\n    },\n});\nconst exampleTagRule = new azure.newrelic.TagRule(\"example\", {\n    monitorId: exampleMonitor.id,\n    azureActiveDirectoryLogEnabled: true,\n    activityLogEnabled: true,\n    metricEnabled: true,\n    subscriptionLogEnabled: true,\n    logTagFilters: [{\n        name: \"key\",\n        action: \"Include\",\n        value: \"value\",\n    }],\n    metricTagFilters: [{\n        name: \"key\",\n        action: \"Exclude\",\n        value: \"value\",\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"East US\")\nexample_monitor = azure.newrelic.Monitor(\"example\",\n    name=\"example-nrm\",\n    resource_group_name=example.name,\n    location=example.location,\n    plan={\n        \"effective_date\": \"2023-06-06T00:00:00Z\",\n    },\n    user={\n        \"email\": \"user@example.com\",\n        \"first_name\": \"Example\",\n        \"last_name\": \"User\",\n        \"phone_number\": \"+12313803556\",\n    })\nexample_tag_rule = azure.newrelic.TagRule(\"example\",\n    monitor_id=example_monitor.id,\n    azure_active_directory_log_enabled=True,\n    activity_log_enabled=True,\n    metric_enabled=True,\n    subscription_log_enabled=True,\n    log_tag_filters=[{\n        \"name\": \"key\",\n        \"action\": \"Include\",\n        \"value\": \"value\",\n    }],\n    metric_tag_filters=[{\n        \"name\": \"key\",\n        \"action\": \"Exclude\",\n        \"value\": \"value\",\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"East US\",\n    });\n\n    var exampleMonitor = new Azure.NewRelic.Monitor(\"example\", new()\n    {\n        Name = \"example-nrm\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        Plan = new Azure.NewRelic.Inputs.MonitorPlanArgs\n        {\n            EffectiveDate = \"2023-06-06T00:00:00Z\",\n        },\n        User = new Azure.NewRelic.Inputs.MonitorUserArgs\n        {\n            Email = \"user@example.com\",\n            FirstName = \"Example\",\n            LastName = \"User\",\n            PhoneNumber = \"+12313803556\",\n        },\n    });\n\n    var exampleTagRule = new Azure.NewRelic.TagRule(\"example\", new()\n    {\n        MonitorId = exampleMonitor.Id,\n        AzureActiveDirectoryLogEnabled = true,\n        ActivityLogEnabled = true,\n        MetricEnabled = true,\n        SubscriptionLogEnabled = true,\n        LogTagFilters = new[]\n        {\n            new Azure.NewRelic.Inputs.TagRuleLogTagFilterArgs\n            {\n                Name = \"key\",\n                Action = \"Include\",\n                Value = \"value\",\n            },\n        },\n        MetricTagFilters = new[]\n        {\n            new Azure.NewRelic.Inputs.TagRuleMetricTagFilterArgs\n            {\n                Name = \"key\",\n                Action = \"Exclude\",\n                Value = \"value\",\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/newrelic\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"East US\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleMonitor, err := newrelic.NewMonitor(ctx, \"example\", \u0026newrelic.MonitorArgs{\n\t\t\tName:              pulumi.String(\"example-nrm\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tPlan: \u0026newrelic.MonitorPlanArgs{\n\t\t\t\tEffectiveDate: pulumi.String(\"2023-06-06T00:00:00Z\"),\n\t\t\t},\n\t\t\tUser: \u0026newrelic.MonitorUserArgs{\n\t\t\t\tEmail:       pulumi.String(\"user@example.com\"),\n\t\t\t\tFirstName:   pulumi.String(\"Example\"),\n\t\t\t\tLastName:    pulumi.String(\"User\"),\n\t\t\t\tPhoneNumber: pulumi.String(\"+12313803556\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = newrelic.NewTagRule(ctx, \"example\", \u0026newrelic.TagRuleArgs{\n\t\t\tMonitorId:                      exampleMonitor.ID(),\n\t\t\tAzureActiveDirectoryLogEnabled: pulumi.Bool(true),\n\t\t\tActivityLogEnabled:             pulumi.Bool(true),\n\t\t\tMetricEnabled:                  pulumi.Bool(true),\n\t\t\tSubscriptionLogEnabled:         pulumi.Bool(true),\n\t\t\tLogTagFilters: newrelic.TagRuleLogTagFilterArray{\n\t\t\t\t\u0026newrelic.TagRuleLogTagFilterArgs{\n\t\t\t\t\tName:   pulumi.String(\"key\"),\n\t\t\t\t\tAction: pulumi.String(\"Include\"),\n\t\t\t\t\tValue:  pulumi.String(\"value\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tMetricTagFilters: newrelic.TagRuleMetricTagFilterArray{\n\t\t\t\t\u0026newrelic.TagRuleMetricTagFilterArgs{\n\t\t\t\t\tName:   pulumi.String(\"key\"),\n\t\t\t\t\tAction: pulumi.String(\"Exclude\"),\n\t\t\t\t\tValue:  pulumi.String(\"value\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.newrelic.Monitor;\nimport com.pulumi.azure.newrelic.MonitorArgs;\nimport com.pulumi.azure.newrelic.inputs.MonitorPlanArgs;\nimport com.pulumi.azure.newrelic.inputs.MonitorUserArgs;\nimport com.pulumi.azure.newrelic.TagRule;\nimport com.pulumi.azure.newrelic.TagRuleArgs;\nimport com.pulumi.azure.newrelic.inputs.TagRuleLogTagFilterArgs;\nimport com.pulumi.azure.newrelic.inputs.TagRuleMetricTagFilterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"East US\")\n            .build());\n\n        var exampleMonitor = new Monitor(\"exampleMonitor\", MonitorArgs.builder()\n            .name(\"example-nrm\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .plan(MonitorPlanArgs.builder()\n                .effectiveDate(\"2023-06-06T00:00:00Z\")\n                .build())\n            .user(MonitorUserArgs.builder()\n                .email(\"user@example.com\")\n                .firstName(\"Example\")\n                .lastName(\"User\")\n                .phoneNumber(\"+12313803556\")\n                .build())\n            .build());\n\n        var exampleTagRule = new TagRule(\"exampleTagRule\", TagRuleArgs.builder()\n            .monitorId(exampleMonitor.id())\n            .azureActiveDirectoryLogEnabled(true)\n            .activityLogEnabled(true)\n            .metricEnabled(true)\n            .subscriptionLogEnabled(true)\n            .logTagFilters(TagRuleLogTagFilterArgs.builder()\n                .name(\"key\")\n                .action(\"Include\")\n                .value(\"value\")\n                .build())\n            .metricTagFilters(TagRuleMetricTagFilterArgs.builder()\n                .name(\"key\")\n                .action(\"Exclude\")\n                .value(\"value\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: East US\n  exampleMonitor:\n    type: azure:newrelic:Monitor\n    name: example\n    properties:\n      name: example-nrm\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      plan:\n        effectiveDate: 2023-06-06T00:00:00Z\n      user:\n        email: user@example.com\n        firstName: Example\n        lastName: User\n        phoneNumber: '+12313803556'\n  exampleTagRule:\n    type: azure:newrelic:TagRule\n    name: example\n    properties:\n      monitorId: ${exampleMonitor.id}\n      azureActiveDirectoryLogEnabled: true\n      activityLogEnabled: true\n      metricEnabled: true\n      subscriptionLogEnabled: true\n      logTagFilters:\n        - name: key\n          action: Include\n          value: value\n      metricTagFilters:\n        - name: key\n          action: Exclude\n          value: value\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `NewRelic.Observability` - 2024-03-01\n\n## Import\n\nAzure Native New Relic Tag Rule can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:newrelic/tagRule:TagRule example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup1/providers/NewRelic.Observability/monitors/monitor1/tagRules/ruleSet1\n```\n\n","properties":{"activityLogEnabled":{"type":"boolean","description":"Whether activity logs from Azure resources should be sent for the Monitor resource. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"azureActiveDirectoryLogEnabled":{"type":"boolean","description":"Whether Azure Active Directory logs should be sent for the Monitor resource. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"logTagFilters":{"type":"array","items":{"$ref":"#/types/azure:newrelic/TagRuleLogTagFilter:TagRuleLogTagFilter"},"description":"A \u003cspan pulumi-lang-nodejs=\"`logTagFilter`\" pulumi-lang-dotnet=\"`LogTagFilter`\" pulumi-lang-go=\"`logTagFilter`\" pulumi-lang-python=\"`log_tag_filter`\" pulumi-lang-yaml=\"`logTagFilter`\" pulumi-lang-java=\"`logTagFilter`\"\u003e`log_tag_filter`\u003c/span\u003e block as defined below.\n"},"metricEnabled":{"type":"boolean","description":"Whether metrics should be sent for the Monitor resource. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"metricTagFilters":{"type":"array","items":{"$ref":"#/types/azure:newrelic/TagRuleMetricTagFilter:TagRuleMetricTagFilter"},"description":"A \u003cspan pulumi-lang-nodejs=\"`metricTagFilter`\" pulumi-lang-dotnet=\"`MetricTagFilter`\" pulumi-lang-go=\"`metricTagFilter`\" pulumi-lang-python=\"`metric_tag_filter`\" pulumi-lang-yaml=\"`metricTagFilter`\" pulumi-lang-java=\"`metricTagFilter`\"\u003e`metric_tag_filter`\u003c/span\u003e block as defined below.\n"},"monitorId":{"type":"string","description":"Specifies the ID of the New Relic Monitor this Tag Rule should be created within. Changing this forces a new Azure Native New Relic Tag Rule to be created.\n"},"subscriptionLogEnabled":{"type":"boolean","description":"Whether subscription logs should be sent for the Monitor resource. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"}},"required":["monitorId"],"inputProperties":{"activityLogEnabled":{"type":"boolean","description":"Whether activity logs from Azure resources should be sent for the Monitor resource. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"azureActiveDirectoryLogEnabled":{"type":"boolean","description":"Whether Azure Active Directory logs should be sent for the Monitor resource. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"logTagFilters":{"type":"array","items":{"$ref":"#/types/azure:newrelic/TagRuleLogTagFilter:TagRuleLogTagFilter"},"description":"A \u003cspan pulumi-lang-nodejs=\"`logTagFilter`\" pulumi-lang-dotnet=\"`LogTagFilter`\" pulumi-lang-go=\"`logTagFilter`\" pulumi-lang-python=\"`log_tag_filter`\" pulumi-lang-yaml=\"`logTagFilter`\" pulumi-lang-java=\"`logTagFilter`\"\u003e`log_tag_filter`\u003c/span\u003e block as defined below.\n"},"metricEnabled":{"type":"boolean","description":"Whether metrics should be sent for the Monitor resource. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"metricTagFilters":{"type":"array","items":{"$ref":"#/types/azure:newrelic/TagRuleMetricTagFilter:TagRuleMetricTagFilter"},"description":"A \u003cspan pulumi-lang-nodejs=\"`metricTagFilter`\" pulumi-lang-dotnet=\"`MetricTagFilter`\" pulumi-lang-go=\"`metricTagFilter`\" pulumi-lang-python=\"`metric_tag_filter`\" pulumi-lang-yaml=\"`metricTagFilter`\" pulumi-lang-java=\"`metricTagFilter`\"\u003e`metric_tag_filter`\u003c/span\u003e block as defined below.\n"},"monitorId":{"type":"string","description":"Specifies the ID of the New Relic Monitor this Tag Rule should be created within. Changing this forces a new Azure Native New Relic Tag Rule to be created.\n","willReplaceOnChanges":true},"subscriptionLogEnabled":{"type":"boolean","description":"Whether subscription logs should be sent for the Monitor resource. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"}},"requiredInputs":["monitorId"],"stateInputs":{"description":"Input properties used for looking up and filtering TagRule resources.\n","properties":{"activityLogEnabled":{"type":"boolean","description":"Whether activity logs from Azure resources should be sent for the Monitor resource. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"azureActiveDirectoryLogEnabled":{"type":"boolean","description":"Whether Azure Active Directory logs should be sent for the Monitor resource. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"logTagFilters":{"type":"array","items":{"$ref":"#/types/azure:newrelic/TagRuleLogTagFilter:TagRuleLogTagFilter"},"description":"A \u003cspan pulumi-lang-nodejs=\"`logTagFilter`\" pulumi-lang-dotnet=\"`LogTagFilter`\" pulumi-lang-go=\"`logTagFilter`\" pulumi-lang-python=\"`log_tag_filter`\" pulumi-lang-yaml=\"`logTagFilter`\" pulumi-lang-java=\"`logTagFilter`\"\u003e`log_tag_filter`\u003c/span\u003e block as defined below.\n"},"metricEnabled":{"type":"boolean","description":"Whether metrics should be sent for the Monitor resource. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"metricTagFilters":{"type":"array","items":{"$ref":"#/types/azure:newrelic/TagRuleMetricTagFilter:TagRuleMetricTagFilter"},"description":"A \u003cspan pulumi-lang-nodejs=\"`metricTagFilter`\" pulumi-lang-dotnet=\"`MetricTagFilter`\" pulumi-lang-go=\"`metricTagFilter`\" pulumi-lang-python=\"`metric_tag_filter`\" pulumi-lang-yaml=\"`metricTagFilter`\" pulumi-lang-java=\"`metricTagFilter`\"\u003e`metric_tag_filter`\u003c/span\u003e block as defined below.\n"},"monitorId":{"type":"string","description":"Specifies the ID of the New Relic Monitor this Tag Rule should be created within. Changing this forces a new Azure Native New Relic Tag Rule to be created.\n","willReplaceOnChanges":true},"subscriptionLogEnabled":{"type":"boolean","description":"Whether subscription logs should be sent for the Monitor resource. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"}},"type":"object"}},"azure:nginx/apiKey:ApiKey":{"description":"Manages the Dataplane API Key for an Nginx Deployment.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-rg\",\n    location: \"West Europe\",\n});\nconst examplePublicIp = new azure.network.PublicIp(\"example\", {\n    name: \"example\",\n    resourceGroupName: example.name,\n    location: example.location,\n    allocationMethod: \"Static\",\n    sku: \"Standard\",\n    tags: {\n        environment: \"Production\",\n    },\n});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"example\", {\n    name: \"example-vnet\",\n    addressSpaces: [\"10.0.0.0/16\"],\n    location: example.location,\n    resourceGroupName: example.name,\n});\nconst exampleSubnet = new azure.network.Subnet(\"example\", {\n    name: \"example-subnet\",\n    resourceGroupName: example.name,\n    virtualNetworkName: exampleVirtualNetwork.name,\n    addressPrefixes: [\"10.0.2.0/24\"],\n    delegations: [{\n        name: \"delegation\",\n        serviceDelegation: {\n            name: \"NGINX.NGINXPLUS/nginxDeployments\",\n            actions: [\"Microsoft.Network/virtualNetworks/subnets/join/action\"],\n        },\n    }],\n});\nconst exampleDeployment = new azure.nginx.Deployment(\"example\", {\n    name: \"example-nginx\",\n    resourceGroupName: example.name,\n    sku: \"standardv3_Monthly\",\n    location: example.location,\n    automaticUpgradeChannel: \"stable\",\n    frontendPublic: {\n        ipAddresses: [examplePublicIp.id],\n    },\n    networkInterfaces: [{\n        subnetId: exampleSubnet.id,\n    }],\n    capacity: 20,\n    email: \"user@test.com\",\n});\nconst exampleApiKey = new azure.nginx.ApiKey(\"example\", {\n    name: \"example-api-key\",\n    nginxDeploymentId: exampleDeployment.id,\n    secretText: \"727c8642-6807-4254-9d02-ae93bfad21de\",\n    endDateTime: \"2027-01-01T00:00:00Z\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-rg\",\n    location=\"West Europe\")\nexample_public_ip = azure.network.PublicIp(\"example\",\n    name=\"example\",\n    resource_group_name=example.name,\n    location=example.location,\n    allocation_method=\"Static\",\n    sku=\"Standard\",\n    tags={\n        \"environment\": \"Production\",\n    })\nexample_virtual_network = azure.network.VirtualNetwork(\"example\",\n    name=\"example-vnet\",\n    address_spaces=[\"10.0.0.0/16\"],\n    location=example.location,\n    resource_group_name=example.name)\nexample_subnet = azure.network.Subnet(\"example\",\n    name=\"example-subnet\",\n    resource_group_name=example.name,\n    virtual_network_name=example_virtual_network.name,\n    address_prefixes=[\"10.0.2.0/24\"],\n    delegations=[{\n        \"name\": \"delegation\",\n        \"service_delegation\": {\n            \"name\": \"NGINX.NGINXPLUS/nginxDeployments\",\n            \"actions\": [\"Microsoft.Network/virtualNetworks/subnets/join/action\"],\n        },\n    }])\nexample_deployment = azure.nginx.Deployment(\"example\",\n    name=\"example-nginx\",\n    resource_group_name=example.name,\n    sku=\"standardv3_Monthly\",\n    location=example.location,\n    automatic_upgrade_channel=\"stable\",\n    frontend_public={\n        \"ip_addresses\": [example_public_ip.id],\n    },\n    network_interfaces=[{\n        \"subnet_id\": example_subnet.id,\n    }],\n    capacity=20,\n    email=\"user@test.com\")\nexample_api_key = azure.nginx.ApiKey(\"example\",\n    name=\"example-api-key\",\n    nginx_deployment_id=example_deployment.id,\n    secret_text=\"727c8642-6807-4254-9d02-ae93bfad21de\",\n    end_date_time=\"2027-01-01T00:00:00Z\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-rg\",\n        Location = \"West Europe\",\n    });\n\n    var examplePublicIp = new Azure.Network.PublicIp(\"example\", new()\n    {\n        Name = \"example\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        AllocationMethod = \"Static\",\n        Sku = \"Standard\",\n        Tags = \n        {\n            { \"environment\", \"Production\" },\n        },\n    });\n\n    var exampleVirtualNetwork = new Azure.Network.VirtualNetwork(\"example\", new()\n    {\n        Name = \"example-vnet\",\n        AddressSpaces = new[]\n        {\n            \"10.0.0.0/16\",\n        },\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n    });\n\n    var exampleSubnet = new Azure.Network.Subnet(\"example\", new()\n    {\n        Name = \"example-subnet\",\n        ResourceGroupName = example.Name,\n        VirtualNetworkName = exampleVirtualNetwork.Name,\n        AddressPrefixes = new[]\n        {\n            \"10.0.2.0/24\",\n        },\n        Delegations = new[]\n        {\n            new Azure.Network.Inputs.SubnetDelegationArgs\n            {\n                Name = \"delegation\",\n                ServiceDelegation = new Azure.Network.Inputs.SubnetDelegationServiceDelegationArgs\n                {\n                    Name = \"NGINX.NGINXPLUS/nginxDeployments\",\n                    Actions = new[]\n                    {\n                        \"Microsoft.Network/virtualNetworks/subnets/join/action\",\n                    },\n                },\n            },\n        },\n    });\n\n    var exampleDeployment = new Azure.Nginx.Deployment(\"example\", new()\n    {\n        Name = \"example-nginx\",\n        ResourceGroupName = example.Name,\n        Sku = \"standardv3_Monthly\",\n        Location = example.Location,\n        AutomaticUpgradeChannel = \"stable\",\n        FrontendPublic = new Azure.Nginx.Inputs.DeploymentFrontendPublicArgs\n        {\n            IpAddresses = new[]\n            {\n                examplePublicIp.Id,\n            },\n        },\n        NetworkInterfaces = new[]\n        {\n            new Azure.Nginx.Inputs.DeploymentNetworkInterfaceArgs\n            {\n                SubnetId = exampleSubnet.Id,\n            },\n        },\n        Capacity = 20,\n        Email = \"user@test.com\",\n    });\n\n    var exampleApiKey = new Azure.Nginx.ApiKey(\"example\", new()\n    {\n        Name = \"example-api-key\",\n        NginxDeploymentId = exampleDeployment.Id,\n        SecretText = \"727c8642-6807-4254-9d02-ae93bfad21de\",\n        EndDateTime = \"2027-01-01T00:00:00Z\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/nginx\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-rg\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texamplePublicIp, err := network.NewPublicIp(ctx, \"example\", \u0026network.PublicIpArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tAllocationMethod:  pulumi.String(\"Static\"),\n\t\t\tSku:               pulumi.String(\"Standard\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"environment\": pulumi.String(\"Production\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, \"example\", \u0026network.VirtualNetworkArgs{\n\t\t\tName: pulumi.String(\"example-vnet\"),\n\t\t\tAddressSpaces: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.0.0/16\"),\n\t\t\t},\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSubnet, err := network.NewSubnet(ctx, \"example\", \u0026network.SubnetArgs{\n\t\t\tName:               pulumi.String(\"example-subnet\"),\n\t\t\tResourceGroupName:  example.Name,\n\t\t\tVirtualNetworkName: exampleVirtualNetwork.Name,\n\t\t\tAddressPrefixes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.2.0/24\"),\n\t\t\t},\n\t\t\tDelegations: network.SubnetDelegationArray{\n\t\t\t\t\u0026network.SubnetDelegationArgs{\n\t\t\t\t\tName: pulumi.String(\"delegation\"),\n\t\t\t\t\tServiceDelegation: \u0026network.SubnetDelegationServiceDelegationArgs{\n\t\t\t\t\t\tName: pulumi.String(\"NGINX.NGINXPLUS/nginxDeployments\"),\n\t\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"Microsoft.Network/virtualNetworks/subnets/join/action\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleDeployment, err := nginx.NewDeployment(ctx, \"example\", \u0026nginx.DeploymentArgs{\n\t\t\tName:                    pulumi.String(\"example-nginx\"),\n\t\t\tResourceGroupName:       example.Name,\n\t\t\tSku:                     pulumi.String(\"standardv3_Monthly\"),\n\t\t\tLocation:                example.Location,\n\t\t\tAutomaticUpgradeChannel: pulumi.String(\"stable\"),\n\t\t\tFrontendPublic: \u0026nginx.DeploymentFrontendPublicArgs{\n\t\t\t\tIpAddresses: pulumi.StringArray{\n\t\t\t\t\texamplePublicIp.ID(),\n\t\t\t\t},\n\t\t\t},\n\t\t\tNetworkInterfaces: nginx.DeploymentNetworkInterfaceArray{\n\t\t\t\t\u0026nginx.DeploymentNetworkInterfaceArgs{\n\t\t\t\t\tSubnetId: exampleSubnet.ID(),\n\t\t\t\t},\n\t\t\t},\n\t\t\tCapacity: pulumi.Int(20),\n\t\t\tEmail:    pulumi.String(\"user@test.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = nginx.NewApiKey(ctx, \"example\", \u0026nginx.ApiKeyArgs{\n\t\t\tName:              pulumi.String(\"example-api-key\"),\n\t\t\tNginxDeploymentId: exampleDeployment.ID(),\n\t\t\tSecretText:        pulumi.String(\"727c8642-6807-4254-9d02-ae93bfad21de\"),\n\t\t\tEndDateTime:       pulumi.String(\"2027-01-01T00:00:00Z\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.PublicIp;\nimport com.pulumi.azure.network.PublicIpArgs;\nimport com.pulumi.azure.network.VirtualNetwork;\nimport com.pulumi.azure.network.VirtualNetworkArgs;\nimport com.pulumi.azure.network.Subnet;\nimport com.pulumi.azure.network.SubnetArgs;\nimport com.pulumi.azure.network.inputs.SubnetDelegationArgs;\nimport com.pulumi.azure.network.inputs.SubnetDelegationServiceDelegationArgs;\nimport com.pulumi.azure.nginx.Deployment;\nimport com.pulumi.azure.nginx.DeploymentArgs;\nimport com.pulumi.azure.nginx.inputs.DeploymentFrontendPublicArgs;\nimport com.pulumi.azure.nginx.inputs.DeploymentNetworkInterfaceArgs;\nimport com.pulumi.azure.nginx.ApiKey;\nimport com.pulumi.azure.nginx.ApiKeyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-rg\")\n            .location(\"West Europe\")\n            .build());\n\n        var examplePublicIp = new PublicIp(\"examplePublicIp\", PublicIpArgs.builder()\n            .name(\"example\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .allocationMethod(\"Static\")\n            .sku(\"Standard\")\n            .tags(Map.of(\"environment\", \"Production\"))\n            .build());\n\n        var exampleVirtualNetwork = new VirtualNetwork(\"exampleVirtualNetwork\", VirtualNetworkArgs.builder()\n            .name(\"example-vnet\")\n            .addressSpaces(\"10.0.0.0/16\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .build());\n\n        var exampleSubnet = new Subnet(\"exampleSubnet\", SubnetArgs.builder()\n            .name(\"example-subnet\")\n            .resourceGroupName(example.name())\n            .virtualNetworkName(exampleVirtualNetwork.name())\n            .addressPrefixes(\"10.0.2.0/24\")\n            .delegations(SubnetDelegationArgs.builder()\n                .name(\"delegation\")\n                .serviceDelegation(SubnetDelegationServiceDelegationArgs.builder()\n                    .name(\"NGINX.NGINXPLUS/nginxDeployments\")\n                    .actions(\"Microsoft.Network/virtualNetworks/subnets/join/action\")\n                    .build())\n                .build())\n            .build());\n\n        var exampleDeployment = new Deployment(\"exampleDeployment\", DeploymentArgs.builder()\n            .name(\"example-nginx\")\n            .resourceGroupName(example.name())\n            .sku(\"standardv3_Monthly\")\n            .location(example.location())\n            .automaticUpgradeChannel(\"stable\")\n            .frontendPublic(DeploymentFrontendPublicArgs.builder()\n                .ipAddresses(examplePublicIp.id())\n                .build())\n            .networkInterfaces(DeploymentNetworkInterfaceArgs.builder()\n                .subnetId(exampleSubnet.id())\n                .build())\n            .capacity(20)\n            .email(\"user@test.com\")\n            .build());\n\n        var exampleApiKey = new ApiKey(\"exampleApiKey\", ApiKeyArgs.builder()\n            .name(\"example-api-key\")\n            .nginxDeploymentId(exampleDeployment.id())\n            .secretText(\"727c8642-6807-4254-9d02-ae93bfad21de\")\n            .endDateTime(\"2027-01-01T00:00:00Z\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-rg\n      location: West Europe\n  examplePublicIp:\n    type: azure:network:PublicIp\n    name: example\n    properties:\n      name: example\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      allocationMethod: Static\n      sku: Standard\n      tags:\n        environment: Production\n  exampleVirtualNetwork:\n    type: azure:network:VirtualNetwork\n    name: example\n    properties:\n      name: example-vnet\n      addressSpaces:\n        - 10.0.0.0/16\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n  exampleSubnet:\n    type: azure:network:Subnet\n    name: example\n    properties:\n      name: example-subnet\n      resourceGroupName: ${example.name}\n      virtualNetworkName: ${exampleVirtualNetwork.name}\n      addressPrefixes:\n        - 10.0.2.0/24\n      delegations:\n        - name: delegation\n          serviceDelegation:\n            name: NGINX.NGINXPLUS/nginxDeployments\n            actions:\n              - Microsoft.Network/virtualNetworks/subnets/join/action\n  exampleDeployment:\n    type: azure:nginx:Deployment\n    name: example\n    properties:\n      name: example-nginx\n      resourceGroupName: ${example.name}\n      sku: standardv3_Monthly\n      location: ${example.location}\n      automaticUpgradeChannel: stable\n      frontendPublic:\n        ipAddresses:\n          - ${examplePublicIp.id}\n      networkInterfaces:\n        - subnetId: ${exampleSubnet.id}\n      capacity: 20\n      email: user@test.com\n  exampleApiKey:\n    type: azure:nginx:ApiKey\n    name: example\n    properties:\n      name: example-api-key\n      nginxDeploymentId: ${exampleDeployment.id}\n      secretText: 727c8642-6807-4254-9d02-ae93bfad21de\n      endDateTime: 2027-01-01T00:00:00Z\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Nginx.NginxPlus` - 2024-11-01-preview\n\n## Import\n\nAn NGINX Dataplane API Key can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:nginx/apiKey:ApiKey example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Nginx.NginxPlus/nginxDeployments/deploy1/apiKeys/key1\n```\n\n","properties":{"endDateTime":{"type":"string","description":"The RFC3339 formatted date-time after which this Dataplane API Key is no longer valid. The maximum value is now+2y.\n"},"hint":{"type":"string","description":"The first three characters of the secret text to help identify it in use.\n"},"name":{"type":"string","description":"The name of the NGINX Dataplane API Key. Changing this forces a new resource to be created.\n"},"nginxDeploymentId":{"type":"string","description":"The ID of the NGINX Deployment that the API key is associated with. Changing this forces a new resource to be created.\n"},"secretText":{"type":"string","description":"The value used as the Dataplane API Key. The API key requirements can be found in the [NGINXaaS Documentation](https://docs.nginx.com/nginxaas/azure/quickstart/loadbalancer-kubernetes/#create-an-nginxaas-data-plane-api-key).\n","secret":true}},"required":["endDateTime","hint","name","nginxDeploymentId","secretText"],"inputProperties":{"endDateTime":{"type":"string","description":"The RFC3339 formatted date-time after which this Dataplane API Key is no longer valid. The maximum value is now+2y.\n"},"name":{"type":"string","description":"The name of the NGINX Dataplane API Key. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"nginxDeploymentId":{"type":"string","description":"The ID of the NGINX Deployment that the API key is associated with. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"secretText":{"type":"string","description":"The value used as the Dataplane API Key. The API key requirements can be found in the [NGINXaaS Documentation](https://docs.nginx.com/nginxaas/azure/quickstart/loadbalancer-kubernetes/#create-an-nginxaas-data-plane-api-key).\n","secret":true}},"requiredInputs":["endDateTime","nginxDeploymentId","secretText"],"stateInputs":{"description":"Input properties used for looking up and filtering ApiKey resources.\n","properties":{"endDateTime":{"type":"string","description":"The RFC3339 formatted date-time after which this Dataplane API Key is no longer valid. The maximum value is now+2y.\n"},"hint":{"type":"string","description":"The first three characters of the secret text to help identify it in use.\n"},"name":{"type":"string","description":"The name of the NGINX Dataplane API Key. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"nginxDeploymentId":{"type":"string","description":"The ID of the NGINX Deployment that the API key is associated with. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"secretText":{"type":"string","description":"The value used as the Dataplane API Key. The API key requirements can be found in the [NGINXaaS Documentation](https://docs.nginx.com/nginxaas/azure/quickstart/loadbalancer-kubernetes/#create-an-nginxaas-data-plane-api-key).\n","secret":true}},"type":"object"}},"azure:nginx/certificate:Certificate":{"description":"Manages a Certificate for an NGINX Deployment.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\nimport * as std from \"@pulumi/std\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-rg\",\n    location: \"West Europe\",\n});\nconst examplePublicIp = new azure.network.PublicIp(\"example\", {\n    name: \"example\",\n    resourceGroupName: example.name,\n    location: example.location,\n    allocationMethod: \"Static\",\n    sku: \"Standard\",\n    tags: {\n        environment: \"Production\",\n    },\n});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"example\", {\n    name: \"example-vnet\",\n    addressSpaces: [\"10.0.0.0/16\"],\n    location: example.location,\n    resourceGroupName: example.name,\n});\nconst exampleSubnet = new azure.network.Subnet(\"example\", {\n    name: \"example-subnet\",\n    resourceGroupName: example.name,\n    virtualNetworkName: exampleVirtualNetwork.name,\n    addressPrefixes: [\"10.0.2.0/24\"],\n    delegations: [{\n        name: \"delegation\",\n        serviceDelegation: {\n            name: \"NGINX.NGINXPLUS/nginxDeployments\",\n            actions: [\"Microsoft.Network/virtualNetworks/subnets/join/action\"],\n        },\n    }],\n});\nconst exampleDeployment = new azure.nginx.Deployment(\"example\", {\n    name: \"example-nginx\",\n    resourceGroupName: example.name,\n    sku: \"publicpreview_Monthly_gmz7xq9ge3py\",\n    location: example.location,\n    managedResourceGroup: \"example\",\n    diagnoseSupportEnabled: true,\n    frontendPublic: {\n        ipAddresses: [examplePublicIp.id],\n    },\n    networkInterfaces: [{\n        subnetId: exampleSubnet.id,\n    }],\n});\nconst current = azure.core.getClientConfig({});\nconst exampleKeyVault = new azure.keyvault.KeyVault(\"example\", {\n    name: \"examplekeyvault\",\n    location: example.location,\n    resourceGroupName: example.name,\n    tenantId: current.then(current =\u003e current.tenantId),\n    skuName: \"premium\",\n    accessPolicies: [{\n        tenantId: current.then(current =\u003e current.tenantId),\n        objectId: current.then(current =\u003e current.objectId),\n        certificatePermissions: [\n            \"Create\",\n            \"Delete\",\n            \"DeleteIssuers\",\n            \"Get\",\n            \"GetIssuers\",\n            \"Import\",\n            \"List\",\n            \"ListIssuers\",\n            \"ManageContacts\",\n            \"ManageIssuers\",\n            \"SetIssuers\",\n            \"Update\",\n        ],\n    }],\n});\nconst exampleCertificate = new azure.keyvault.Certificate(\"example\", {\n    name: \"imported-cert\",\n    keyVaultId: exampleKeyVault.id,\n    certificate: {\n        contents: std.filebase64({\n            input: \"certificate-to-import.pfx\",\n        }).then(invoke =\u003e invoke.result),\n        password: \"\",\n    },\n});\nconst exampleCertificate2 = new azure.nginx.Certificate(\"example\", {\n    name: \"examplecert\",\n    nginxDeploymentId: exampleDeployment.id,\n    keyVirtualPath: \"/src/cert/soservermekey.key\",\n    certificateVirtualPath: \"/src/cert/server.cert\",\n    keyVaultSecretId: exampleCertificate.secretId,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\nimport pulumi_std as std\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-rg\",\n    location=\"West Europe\")\nexample_public_ip = azure.network.PublicIp(\"example\",\n    name=\"example\",\n    resource_group_name=example.name,\n    location=example.location,\n    allocation_method=\"Static\",\n    sku=\"Standard\",\n    tags={\n        \"environment\": \"Production\",\n    })\nexample_virtual_network = azure.network.VirtualNetwork(\"example\",\n    name=\"example-vnet\",\n    address_spaces=[\"10.0.0.0/16\"],\n    location=example.location,\n    resource_group_name=example.name)\nexample_subnet = azure.network.Subnet(\"example\",\n    name=\"example-subnet\",\n    resource_group_name=example.name,\n    virtual_network_name=example_virtual_network.name,\n    address_prefixes=[\"10.0.2.0/24\"],\n    delegations=[{\n        \"name\": \"delegation\",\n        \"service_delegation\": {\n            \"name\": \"NGINX.NGINXPLUS/nginxDeployments\",\n            \"actions\": [\"Microsoft.Network/virtualNetworks/subnets/join/action\"],\n        },\n    }])\nexample_deployment = azure.nginx.Deployment(\"example\",\n    name=\"example-nginx\",\n    resource_group_name=example.name,\n    sku=\"publicpreview_Monthly_gmz7xq9ge3py\",\n    location=example.location,\n    managed_resource_group=\"example\",\n    diagnose_support_enabled=True,\n    frontend_public={\n        \"ip_addresses\": [example_public_ip.id],\n    },\n    network_interfaces=[{\n        \"subnet_id\": example_subnet.id,\n    }])\ncurrent = azure.core.get_client_config()\nexample_key_vault = azure.keyvault.KeyVault(\"example\",\n    name=\"examplekeyvault\",\n    location=example.location,\n    resource_group_name=example.name,\n    tenant_id=current.tenant_id,\n    sku_name=\"premium\",\n    access_policies=[{\n        \"tenant_id\": current.tenant_id,\n        \"object_id\": current.object_id,\n        \"certificate_permissions\": [\n            \"Create\",\n            \"Delete\",\n            \"DeleteIssuers\",\n            \"Get\",\n            \"GetIssuers\",\n            \"Import\",\n            \"List\",\n            \"ListIssuers\",\n            \"ManageContacts\",\n            \"ManageIssuers\",\n            \"SetIssuers\",\n            \"Update\",\n        ],\n    }])\nexample_certificate = azure.keyvault.Certificate(\"example\",\n    name=\"imported-cert\",\n    key_vault_id=example_key_vault.id,\n    certificate={\n        \"contents\": std.filebase64(input=\"certificate-to-import.pfx\").result,\n        \"password\": \"\",\n    })\nexample_certificate2 = azure.nginx.Certificate(\"example\",\n    name=\"examplecert\",\n    nginx_deployment_id=example_deployment.id,\n    key_virtual_path=\"/src/cert/soservermekey.key\",\n    certificate_virtual_path=\"/src/cert/server.cert\",\n    key_vault_secret_id=example_certificate.secret_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-rg\",\n        Location = \"West Europe\",\n    });\n\n    var examplePublicIp = new Azure.Network.PublicIp(\"example\", new()\n    {\n        Name = \"example\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        AllocationMethod = \"Static\",\n        Sku = \"Standard\",\n        Tags = \n        {\n            { \"environment\", \"Production\" },\n        },\n    });\n\n    var exampleVirtualNetwork = new Azure.Network.VirtualNetwork(\"example\", new()\n    {\n        Name = \"example-vnet\",\n        AddressSpaces = new[]\n        {\n            \"10.0.0.0/16\",\n        },\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n    });\n\n    var exampleSubnet = new Azure.Network.Subnet(\"example\", new()\n    {\n        Name = \"example-subnet\",\n        ResourceGroupName = example.Name,\n        VirtualNetworkName = exampleVirtualNetwork.Name,\n        AddressPrefixes = new[]\n        {\n            \"10.0.2.0/24\",\n        },\n        Delegations = new[]\n        {\n            new Azure.Network.Inputs.SubnetDelegationArgs\n            {\n                Name = \"delegation\",\n                ServiceDelegation = new Azure.Network.Inputs.SubnetDelegationServiceDelegationArgs\n                {\n                    Name = \"NGINX.NGINXPLUS/nginxDeployments\",\n                    Actions = new[]\n                    {\n                        \"Microsoft.Network/virtualNetworks/subnets/join/action\",\n                    },\n                },\n            },\n        },\n    });\n\n    var exampleDeployment = new Azure.Nginx.Deployment(\"example\", new()\n    {\n        Name = \"example-nginx\",\n        ResourceGroupName = example.Name,\n        Sku = \"publicpreview_Monthly_gmz7xq9ge3py\",\n        Location = example.Location,\n        ManagedResourceGroup = \"example\",\n        DiagnoseSupportEnabled = true,\n        FrontendPublic = new Azure.Nginx.Inputs.DeploymentFrontendPublicArgs\n        {\n            IpAddresses = new[]\n            {\n                examplePublicIp.Id,\n            },\n        },\n        NetworkInterfaces = new[]\n        {\n            new Azure.Nginx.Inputs.DeploymentNetworkInterfaceArgs\n            {\n                SubnetId = exampleSubnet.Id,\n            },\n        },\n    });\n\n    var current = Azure.Core.GetClientConfig.Invoke();\n\n    var exampleKeyVault = new Azure.KeyVault.KeyVault(\"example\", new()\n    {\n        Name = \"examplekeyvault\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        TenantId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.TenantId),\n        SkuName = \"premium\",\n        AccessPolicies = new[]\n        {\n            new Azure.KeyVault.Inputs.KeyVaultAccessPolicyArgs\n            {\n                TenantId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.TenantId),\n                ObjectId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.ObjectId),\n                CertificatePermissions = new[]\n                {\n                    \"Create\",\n                    \"Delete\",\n                    \"DeleteIssuers\",\n                    \"Get\",\n                    \"GetIssuers\",\n                    \"Import\",\n                    \"List\",\n                    \"ListIssuers\",\n                    \"ManageContacts\",\n                    \"ManageIssuers\",\n                    \"SetIssuers\",\n                    \"Update\",\n                },\n            },\n        },\n    });\n\n    var exampleCertificate = new Azure.KeyVault.Certificate(\"example\", new()\n    {\n        Name = \"imported-cert\",\n        KeyVaultId = exampleKeyVault.Id,\n        KeyVaultCertificate = new Azure.KeyVault.Inputs.CertificateCertificateArgs\n        {\n            Contents = Std.Filebase64.Invoke(new()\n            {\n                Input = \"certificate-to-import.pfx\",\n            }).Apply(invoke =\u003e invoke.Result),\n            Password = \"\",\n        },\n    });\n\n    var exampleCertificate2 = new Azure.Nginx.Certificate(\"example\", new()\n    {\n        Name = \"examplecert\",\n        NginxDeploymentId = exampleDeployment.Id,\n        KeyVirtualPath = \"/src/cert/soservermekey.key\",\n        CertificateVirtualPath = \"/src/cert/server.cert\",\n        KeyVaultSecretId = exampleCertificate.SecretId,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/keyvault\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/nginx\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-rg\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texamplePublicIp, err := network.NewPublicIp(ctx, \"example\", \u0026network.PublicIpArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tAllocationMethod:  pulumi.String(\"Static\"),\n\t\t\tSku:               pulumi.String(\"Standard\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"environment\": pulumi.String(\"Production\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, \"example\", \u0026network.VirtualNetworkArgs{\n\t\t\tName: pulumi.String(\"example-vnet\"),\n\t\t\tAddressSpaces: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.0.0/16\"),\n\t\t\t},\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSubnet, err := network.NewSubnet(ctx, \"example\", \u0026network.SubnetArgs{\n\t\t\tName:               pulumi.String(\"example-subnet\"),\n\t\t\tResourceGroupName:  example.Name,\n\t\t\tVirtualNetworkName: exampleVirtualNetwork.Name,\n\t\t\tAddressPrefixes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.2.0/24\"),\n\t\t\t},\n\t\t\tDelegations: network.SubnetDelegationArray{\n\t\t\t\t\u0026network.SubnetDelegationArgs{\n\t\t\t\t\tName: pulumi.String(\"delegation\"),\n\t\t\t\t\tServiceDelegation: \u0026network.SubnetDelegationServiceDelegationArgs{\n\t\t\t\t\t\tName: pulumi.String(\"NGINX.NGINXPLUS/nginxDeployments\"),\n\t\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"Microsoft.Network/virtualNetworks/subnets/join/action\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleDeployment, err := nginx.NewDeployment(ctx, \"example\", \u0026nginx.DeploymentArgs{\n\t\t\tName:                   pulumi.String(\"example-nginx\"),\n\t\t\tResourceGroupName:      example.Name,\n\t\t\tSku:                    pulumi.String(\"publicpreview_Monthly_gmz7xq9ge3py\"),\n\t\t\tLocation:               example.Location,\n\t\t\tManagedResourceGroup:   pulumi.String(\"example\"),\n\t\t\tDiagnoseSupportEnabled: pulumi.Bool(true),\n\t\t\tFrontendPublic: \u0026nginx.DeploymentFrontendPublicArgs{\n\t\t\t\tIpAddresses: pulumi.StringArray{\n\t\t\t\t\texamplePublicIp.ID(),\n\t\t\t\t},\n\t\t\t},\n\t\t\tNetworkInterfaces: nginx.DeploymentNetworkInterfaceArray{\n\t\t\t\t\u0026nginx.DeploymentNetworkInterfaceArgs{\n\t\t\t\t\tSubnetId: exampleSubnet.ID(),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrent, err := core.GetClientConfig(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleKeyVault, err := keyvault.NewKeyVault(ctx, \"example\", \u0026keyvault.KeyVaultArgs{\n\t\t\tName:              pulumi.String(\"examplekeyvault\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tTenantId:          pulumi.String(current.TenantId),\n\t\t\tSkuName:           pulumi.String(\"premium\"),\n\t\t\tAccessPolicies: keyvault.KeyVaultAccessPolicyArray{\n\t\t\t\t\u0026keyvault.KeyVaultAccessPolicyArgs{\n\t\t\t\t\tTenantId: pulumi.String(current.TenantId),\n\t\t\t\t\tObjectId: pulumi.String(current.ObjectId),\n\t\t\t\t\tCertificatePermissions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"Create\"),\n\t\t\t\t\t\tpulumi.String(\"Delete\"),\n\t\t\t\t\t\tpulumi.String(\"DeleteIssuers\"),\n\t\t\t\t\t\tpulumi.String(\"Get\"),\n\t\t\t\t\t\tpulumi.String(\"GetIssuers\"),\n\t\t\t\t\t\tpulumi.String(\"Import\"),\n\t\t\t\t\t\tpulumi.String(\"List\"),\n\t\t\t\t\t\tpulumi.String(\"ListIssuers\"),\n\t\t\t\t\t\tpulumi.String(\"ManageContacts\"),\n\t\t\t\t\t\tpulumi.String(\"ManageIssuers\"),\n\t\t\t\t\t\tpulumi.String(\"SetIssuers\"),\n\t\t\t\t\t\tpulumi.String(\"Update\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFilebase64, err := std.Filebase64(ctx, \u0026std.Filebase64Args{\n\t\t\tInput: \"certificate-to-import.pfx\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleCertificate, err := keyvault.NewCertificate(ctx, \"example\", \u0026keyvault.CertificateArgs{\n\t\t\tName:       pulumi.String(\"imported-cert\"),\n\t\t\tKeyVaultId: exampleKeyVault.ID(),\n\t\t\tCertificate: \u0026keyvault.CertificateCertificateArgs{\n\t\t\t\tContents: pulumi.String(invokeFilebase64.Result),\n\t\t\t\tPassword: pulumi.String(\"\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = nginx.NewCertificate(ctx, \"example\", \u0026nginx.CertificateArgs{\n\t\t\tName:                   pulumi.String(\"examplecert\"),\n\t\t\tNginxDeploymentId:      exampleDeployment.ID(),\n\t\t\tKeyVirtualPath:         pulumi.String(\"/src/cert/soservermekey.key\"),\n\t\t\tCertificateVirtualPath: pulumi.String(\"/src/cert/server.cert\"),\n\t\t\tKeyVaultSecretId:       exampleCertificate.SecretId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.PublicIp;\nimport com.pulumi.azure.network.PublicIpArgs;\nimport com.pulumi.azure.network.VirtualNetwork;\nimport com.pulumi.azure.network.VirtualNetworkArgs;\nimport com.pulumi.azure.network.Subnet;\nimport com.pulumi.azure.network.SubnetArgs;\nimport com.pulumi.azure.network.inputs.SubnetDelegationArgs;\nimport com.pulumi.azure.network.inputs.SubnetDelegationServiceDelegationArgs;\nimport com.pulumi.azure.nginx.Deployment;\nimport com.pulumi.azure.nginx.DeploymentArgs;\nimport com.pulumi.azure.nginx.inputs.DeploymentFrontendPublicArgs;\nimport com.pulumi.azure.nginx.inputs.DeploymentNetworkInterfaceArgs;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.keyvault.KeyVault;\nimport com.pulumi.azure.keyvault.KeyVaultArgs;\nimport com.pulumi.azure.keyvault.inputs.KeyVaultAccessPolicyArgs;\nimport com.pulumi.azure.keyvault.inputs.CertificateCertificateArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.Filebase64Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-rg\")\n            .location(\"West Europe\")\n            .build());\n\n        var examplePublicIp = new PublicIp(\"examplePublicIp\", PublicIpArgs.builder()\n            .name(\"example\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .allocationMethod(\"Static\")\n            .sku(\"Standard\")\n            .tags(Map.of(\"environment\", \"Production\"))\n            .build());\n\n        var exampleVirtualNetwork = new VirtualNetwork(\"exampleVirtualNetwork\", VirtualNetworkArgs.builder()\n            .name(\"example-vnet\")\n            .addressSpaces(\"10.0.0.0/16\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .build());\n\n        var exampleSubnet = new Subnet(\"exampleSubnet\", SubnetArgs.builder()\n            .name(\"example-subnet\")\n            .resourceGroupName(example.name())\n            .virtualNetworkName(exampleVirtualNetwork.name())\n            .addressPrefixes(\"10.0.2.0/24\")\n            .delegations(SubnetDelegationArgs.builder()\n                .name(\"delegation\")\n                .serviceDelegation(SubnetDelegationServiceDelegationArgs.builder()\n                    .name(\"NGINX.NGINXPLUS/nginxDeployments\")\n                    .actions(\"Microsoft.Network/virtualNetworks/subnets/join/action\")\n                    .build())\n                .build())\n            .build());\n\n        var exampleDeployment = new Deployment(\"exampleDeployment\", DeploymentArgs.builder()\n            .name(\"example-nginx\")\n            .resourceGroupName(example.name())\n            .sku(\"publicpreview_Monthly_gmz7xq9ge3py\")\n            .location(example.location())\n            .managedResourceGroup(\"example\")\n            .diagnoseSupportEnabled(true)\n            .frontendPublic(DeploymentFrontendPublicArgs.builder()\n                .ipAddresses(examplePublicIp.id())\n                .build())\n            .networkInterfaces(DeploymentNetworkInterfaceArgs.builder()\n                .subnetId(exampleSubnet.id())\n                .build())\n            .build());\n\n        final var current = CoreFunctions.getClientConfig(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n        var exampleKeyVault = new KeyVault(\"exampleKeyVault\", KeyVaultArgs.builder()\n            .name(\"examplekeyvault\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .tenantId(current.tenantId())\n            .skuName(\"premium\")\n            .accessPolicies(KeyVaultAccessPolicyArgs.builder()\n                .tenantId(current.tenantId())\n                .objectId(current.objectId())\n                .certificatePermissions(                \n                    \"Create\",\n                    \"Delete\",\n                    \"DeleteIssuers\",\n                    \"Get\",\n                    \"GetIssuers\",\n                    \"Import\",\n                    \"List\",\n                    \"ListIssuers\",\n                    \"ManageContacts\",\n                    \"ManageIssuers\",\n                    \"SetIssuers\",\n                    \"Update\")\n                .build())\n            .build());\n\n        var exampleCertificate = new com.pulumi.azure.keyvault.Certificate(\"exampleCertificate\", com.pulumi.azure.keyvault.CertificateArgs.builder()\n            .name(\"imported-cert\")\n            .keyVaultId(exampleKeyVault.id())\n            .certificate(CertificateCertificateArgs.builder()\n                .contents(StdFunctions.filebase64(Filebase64Args.builder()\n                    .input(\"certificate-to-import.pfx\")\n                    .build()).result())\n                .password(\"\")\n                .build())\n            .build());\n\n        var exampleCertificate2 = new com.pulumi.azure.nginx.Certificate(\"exampleCertificate2\", com.pulumi.azure.nginx.CertificateArgs.builder()\n            .name(\"examplecert\")\n            .nginxDeploymentId(exampleDeployment.id())\n            .keyVirtualPath(\"/src/cert/soservermekey.key\")\n            .certificateVirtualPath(\"/src/cert/server.cert\")\n            .keyVaultSecretId(exampleCertificate.secretId())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-rg\n      location: West Europe\n  examplePublicIp:\n    type: azure:network:PublicIp\n    name: example\n    properties:\n      name: example\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      allocationMethod: Static\n      sku: Standard\n      tags:\n        environment: Production\n  exampleVirtualNetwork:\n    type: azure:network:VirtualNetwork\n    name: example\n    properties:\n      name: example-vnet\n      addressSpaces:\n        - 10.0.0.0/16\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n  exampleSubnet:\n    type: azure:network:Subnet\n    name: example\n    properties:\n      name: example-subnet\n      resourceGroupName: ${example.name}\n      virtualNetworkName: ${exampleVirtualNetwork.name}\n      addressPrefixes:\n        - 10.0.2.0/24\n      delegations:\n        - name: delegation\n          serviceDelegation:\n            name: NGINX.NGINXPLUS/nginxDeployments\n            actions:\n              - Microsoft.Network/virtualNetworks/subnets/join/action\n  exampleDeployment:\n    type: azure:nginx:Deployment\n    name: example\n    properties:\n      name: example-nginx\n      resourceGroupName: ${example.name}\n      sku: publicpreview_Monthly_gmz7xq9ge3py\n      location: ${example.location}\n      managedResourceGroup: example\n      diagnoseSupportEnabled: true\n      frontendPublic:\n        ipAddresses:\n          - ${examplePublicIp.id}\n      networkInterfaces:\n        - subnetId: ${exampleSubnet.id}\n  exampleKeyVault:\n    type: azure:keyvault:KeyVault\n    name: example\n    properties:\n      name: examplekeyvault\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      tenantId: ${current.tenantId}\n      skuName: premium\n      accessPolicies:\n        - tenantId: ${current.tenantId}\n          objectId: ${current.objectId}\n          certificatePermissions:\n            - Create\n            - Delete\n            - DeleteIssuers\n            - Get\n            - GetIssuers\n            - Import\n            - List\n            - ListIssuers\n            - ManageContacts\n            - ManageIssuers\n            - SetIssuers\n            - Update\n  exampleCertificate:\n    type: azure:keyvault:Certificate\n    name: example\n    properties:\n      name: imported-cert\n      keyVaultId: ${exampleKeyVault.id}\n      certificate:\n        contents:\n          fn::invoke:\n            function: std:filebase64\n            arguments:\n              input: certificate-to-import.pfx\n            return: result\n        password: \"\"\n  exampleCertificate2:\n    type: azure:nginx:Certificate\n    name: example\n    properties:\n      name: examplecert\n      nginxDeploymentId: ${exampleDeployment.id}\n      keyVirtualPath: /src/cert/soservermekey.key\n      certificateVirtualPath: /src/cert/server.cert\n      keyVaultSecretId: ${exampleCertificate.secretId}\nvariables:\n  current:\n    fn::invoke:\n      function: azure:core:getClientConfig\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Nginx.NginxPlus` - 2024-11-01-preview\n\n## Import\n\nAn NGINX Certificate can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:nginx/certificate:Certificate example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Nginx.NginxPlus/nginxDeployments/deploy1/certificates/cer1\n```\n\n","properties":{"certificateVirtualPath":{"type":"string","description":"Specify the path to the certificate file of this certificate.\n"},"keyVaultSecretId":{"type":"string","description":"Specify the ID of the Key Vault Secret for this certificate.\n"},"keyVirtualPath":{"type":"string","description":"Specify the path to the key file of this certificate.\n"},"name":{"type":"string","description":"The name which should be used for this NGINX Certificate. Changing this forces a new NGINX Certificate to be created.\n"},"nginxDeploymentId":{"type":"string","description":"The ID of the NGINX Deployment that this Certificate should be associated with. Changing this forces a new NGINX Certificate to be created.\n"}},"required":["certificateVirtualPath","keyVaultSecretId","keyVirtualPath","name","nginxDeploymentId"],"inputProperties":{"certificateVirtualPath":{"type":"string","description":"Specify the path to the certificate file of this certificate.\n"},"keyVaultSecretId":{"type":"string","description":"Specify the ID of the Key Vault Secret for this certificate.\n"},"keyVirtualPath":{"type":"string","description":"Specify the path to the key file of this certificate.\n"},"name":{"type":"string","description":"The name which should be used for this NGINX Certificate. Changing this forces a new NGINX Certificate to be created.\n","willReplaceOnChanges":true},"nginxDeploymentId":{"type":"string","description":"The ID of the NGINX Deployment that this Certificate should be associated with. Changing this forces a new NGINX Certificate to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["certificateVirtualPath","keyVaultSecretId","keyVirtualPath","nginxDeploymentId"],"stateInputs":{"description":"Input properties used for looking up and filtering Certificate resources.\n","properties":{"certificateVirtualPath":{"type":"string","description":"Specify the path to the certificate file of this certificate.\n"},"keyVaultSecretId":{"type":"string","description":"Specify the ID of the Key Vault Secret for this certificate.\n"},"keyVirtualPath":{"type":"string","description":"Specify the path to the key file of this certificate.\n"},"name":{"type":"string","description":"The name which should be used for this NGINX Certificate. Changing this forces a new NGINX Certificate to be created.\n","willReplaceOnChanges":true},"nginxDeploymentId":{"type":"string","description":"The ID of the NGINX Deployment that this Certificate should be associated with. Changing this forces a new NGINX Certificate to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:nginx/configuration:Configuration":{"description":"Manages the configuration for a Nginx Deployment.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\nimport * as std from \"@pulumi/std\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-rg\",\n    location: \"West Europe\",\n});\nconst examplePublicIp = new azure.network.PublicIp(\"example\", {\n    name: \"example\",\n    resourceGroupName: example.name,\n    location: example.location,\n    allocationMethod: \"Static\",\n    sku: \"Standard\",\n    tags: {\n        environment: \"Production\",\n    },\n});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"example\", {\n    name: \"example-vnet\",\n    addressSpaces: [\"10.0.0.0/16\"],\n    location: example.location,\n    resourceGroupName: example.name,\n});\nconst exampleSubnet = new azure.network.Subnet(\"example\", {\n    name: \"example-subnet\",\n    resourceGroupName: example.name,\n    virtualNetworkName: exampleVirtualNetwork.name,\n    addressPrefixes: [\"10.0.2.0/24\"],\n    delegations: [{\n        name: \"delegation\",\n        serviceDelegation: {\n            name: \"NGINX.NGINXPLUS/nginxDeployments\",\n            actions: [\"Microsoft.Network/virtualNetworks/subnets/join/action\"],\n        },\n    }],\n});\nconst exampleDeployment = new azure.nginx.Deployment(\"example\", {\n    name: \"example-nginx\",\n    resourceGroupName: example.name,\n    sku: \"publicpreview_Monthly_gmz7xq9ge3py\",\n    location: example.location,\n    diagnoseSupportEnabled: true,\n    frontendPublic: {\n        ipAddresses: [examplePublicIp.id],\n    },\n    networkInterfaces: [{\n        subnetId: exampleSubnet.id,\n    }],\n});\nconst exampleConfiguration = new azure.nginx.Configuration(\"example\", {\n    nginxDeploymentId: exampleDeployment.id,\n    rootFile: \"/etc/nginx/nginx.conf\",\n    configFiles: [\n        {\n            content: std.base64encode({\n                input: `http {\n    server {\n        listen 80;\n        location / {\n            default_type text/html;\n            return 200 '\u003c!doctype html\u003e\u003chtml lang=\\\\\"en\\\\\"\u003e\u003chead\u003e\u003c/head\u003e\u003cbody\u003e\n                \u003cdiv\u003ethis one will be updated\u003c/div\u003e\n                \u003cdiv\u003eat 10:38 am\u003c/div\u003e\n            \u003c/body\u003e\u003c/html\u003e';\n        }\n        include site/*.conf;\n    }\n}\n`,\n            }).then(invoke =\u003e invoke.result),\n            virtualPath: \"/etc/nginx/nginx.conf\",\n        },\n        {\n            content: std.base64encode({\n                input: `location /bbb {\n default_type text/html;\n return 200 '\u003c!doctype html\u003e\u003chtml lang=\\\\\"en\\\\\"\u003e\u003chead\u003e\u003c/head\u003e\u003cbody\u003e\n  \u003cdiv\u003ethis one will be updated\u003c/div\u003e\n  \u003cdiv\u003eat 10:38 am\u003c/div\u003e\n \u003c/body\u003e\u003c/html\u003e';\n}\n`,\n            }).then(invoke =\u003e invoke.result),\n            virtualPath: \"/etc/nginx/site/b.conf\",\n        },\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\nimport pulumi_std as std\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-rg\",\n    location=\"West Europe\")\nexample_public_ip = azure.network.PublicIp(\"example\",\n    name=\"example\",\n    resource_group_name=example.name,\n    location=example.location,\n    allocation_method=\"Static\",\n    sku=\"Standard\",\n    tags={\n        \"environment\": \"Production\",\n    })\nexample_virtual_network = azure.network.VirtualNetwork(\"example\",\n    name=\"example-vnet\",\n    address_spaces=[\"10.0.0.0/16\"],\n    location=example.location,\n    resource_group_name=example.name)\nexample_subnet = azure.network.Subnet(\"example\",\n    name=\"example-subnet\",\n    resource_group_name=example.name,\n    virtual_network_name=example_virtual_network.name,\n    address_prefixes=[\"10.0.2.0/24\"],\n    delegations=[{\n        \"name\": \"delegation\",\n        \"service_delegation\": {\n            \"name\": \"NGINX.NGINXPLUS/nginxDeployments\",\n            \"actions\": [\"Microsoft.Network/virtualNetworks/subnets/join/action\"],\n        },\n    }])\nexample_deployment = azure.nginx.Deployment(\"example\",\n    name=\"example-nginx\",\n    resource_group_name=example.name,\n    sku=\"publicpreview_Monthly_gmz7xq9ge3py\",\n    location=example.location,\n    diagnose_support_enabled=True,\n    frontend_public={\n        \"ip_addresses\": [example_public_ip.id],\n    },\n    network_interfaces=[{\n        \"subnet_id\": example_subnet.id,\n    }])\nexample_configuration = azure.nginx.Configuration(\"example\",\n    nginx_deployment_id=example_deployment.id,\n    root_file=\"/etc/nginx/nginx.conf\",\n    config_files=[\n        {\n            \"content\": std.base64encode(input=\"\"\"http {\n    server {\n        listen 80;\n        location / {\n            default_type text/html;\n            return 200 '\u003c!doctype html\u003e\u003chtml lang=\\\"en\\\"\u003e\u003chead\u003e\u003c/head\u003e\u003cbody\u003e\n                \u003cdiv\u003ethis one will be updated\u003c/div\u003e\n                \u003cdiv\u003eat 10:38 am\u003c/div\u003e\n            \u003c/body\u003e\u003c/html\u003e';\n        }\n        include site/*.conf;\n    }\n}\n\"\"\").result,\n            \"virtual_path\": \"/etc/nginx/nginx.conf\",\n        },\n        {\n            \"content\": std.base64encode(input=\"\"\"location /bbb {\n default_type text/html;\n return 200 '\u003c!doctype html\u003e\u003chtml lang=\\\"en\\\"\u003e\u003chead\u003e\u003c/head\u003e\u003cbody\u003e\n  \u003cdiv\u003ethis one will be updated\u003c/div\u003e\n  \u003cdiv\u003eat 10:38 am\u003c/div\u003e\n \u003c/body\u003e\u003c/html\u003e';\n}\n\"\"\").result,\n            \"virtual_path\": \"/etc/nginx/site/b.conf\",\n        },\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-rg\",\n        Location = \"West Europe\",\n    });\n\n    var examplePublicIp = new Azure.Network.PublicIp(\"example\", new()\n    {\n        Name = \"example\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        AllocationMethod = \"Static\",\n        Sku = \"Standard\",\n        Tags = \n        {\n            { \"environment\", \"Production\" },\n        },\n    });\n\n    var exampleVirtualNetwork = new Azure.Network.VirtualNetwork(\"example\", new()\n    {\n        Name = \"example-vnet\",\n        AddressSpaces = new[]\n        {\n            \"10.0.0.0/16\",\n        },\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n    });\n\n    var exampleSubnet = new Azure.Network.Subnet(\"example\", new()\n    {\n        Name = \"example-subnet\",\n        ResourceGroupName = example.Name,\n        VirtualNetworkName = exampleVirtualNetwork.Name,\n        AddressPrefixes = new[]\n        {\n            \"10.0.2.0/24\",\n        },\n        Delegations = new[]\n        {\n            new Azure.Network.Inputs.SubnetDelegationArgs\n            {\n                Name = \"delegation\",\n                ServiceDelegation = new Azure.Network.Inputs.SubnetDelegationServiceDelegationArgs\n                {\n                    Name = \"NGINX.NGINXPLUS/nginxDeployments\",\n                    Actions = new[]\n                    {\n                        \"Microsoft.Network/virtualNetworks/subnets/join/action\",\n                    },\n                },\n            },\n        },\n    });\n\n    var exampleDeployment = new Azure.Nginx.Deployment(\"example\", new()\n    {\n        Name = \"example-nginx\",\n        ResourceGroupName = example.Name,\n        Sku = \"publicpreview_Monthly_gmz7xq9ge3py\",\n        Location = example.Location,\n        DiagnoseSupportEnabled = true,\n        FrontendPublic = new Azure.Nginx.Inputs.DeploymentFrontendPublicArgs\n        {\n            IpAddresses = new[]\n            {\n                examplePublicIp.Id,\n            },\n        },\n        NetworkInterfaces = new[]\n        {\n            new Azure.Nginx.Inputs.DeploymentNetworkInterfaceArgs\n            {\n                SubnetId = exampleSubnet.Id,\n            },\n        },\n    });\n\n    var exampleConfiguration = new Azure.Nginx.Configuration(\"example\", new()\n    {\n        NginxDeploymentId = exampleDeployment.Id,\n        RootFile = \"/etc/nginx/nginx.conf\",\n        ConfigFiles = new[]\n        {\n            new Azure.Nginx.Inputs.ConfigurationConfigFileArgs\n            {\n                Content = Std.Base64encode.Invoke(new()\n                {\n                    Input = @\"http {\n    server {\n        listen 80;\n        location / {\n            default_type text/html;\n            return 200 '\u003c!doctype html\u003e\u003chtml lang=\\\"\"en\\\"\"\u003e\u003chead\u003e\u003c/head\u003e\u003cbody\u003e\n                \u003cdiv\u003ethis one will be updated\u003c/div\u003e\n                \u003cdiv\u003eat 10:38 am\u003c/div\u003e\n            \u003c/body\u003e\u003c/html\u003e';\n        }\n        include site/*.conf;\n    }\n}\n\",\n                }).Apply(invoke =\u003e invoke.Result),\n                VirtualPath = \"/etc/nginx/nginx.conf\",\n            },\n            new Azure.Nginx.Inputs.ConfigurationConfigFileArgs\n            {\n                Content = Std.Base64encode.Invoke(new()\n                {\n                    Input = @\"location /bbb {\n default_type text/html;\n return 200 '\u003c!doctype html\u003e\u003chtml lang=\\\"\"en\\\"\"\u003e\u003chead\u003e\u003c/head\u003e\u003cbody\u003e\n  \u003cdiv\u003ethis one will be updated\u003c/div\u003e\n  \u003cdiv\u003eat 10:38 am\u003c/div\u003e\n \u003c/body\u003e\u003c/html\u003e';\n}\n\",\n                }).Apply(invoke =\u003e invoke.Result),\n                VirtualPath = \"/etc/nginx/site/b.conf\",\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/nginx\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-rg\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texamplePublicIp, err := network.NewPublicIp(ctx, \"example\", \u0026network.PublicIpArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tAllocationMethod:  pulumi.String(\"Static\"),\n\t\t\tSku:               pulumi.String(\"Standard\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"environment\": pulumi.String(\"Production\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, \"example\", \u0026network.VirtualNetworkArgs{\n\t\t\tName: pulumi.String(\"example-vnet\"),\n\t\t\tAddressSpaces: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.0.0/16\"),\n\t\t\t},\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSubnet, err := network.NewSubnet(ctx, \"example\", \u0026network.SubnetArgs{\n\t\t\tName:               pulumi.String(\"example-subnet\"),\n\t\t\tResourceGroupName:  example.Name,\n\t\t\tVirtualNetworkName: exampleVirtualNetwork.Name,\n\t\t\tAddressPrefixes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.2.0/24\"),\n\t\t\t},\n\t\t\tDelegations: network.SubnetDelegationArray{\n\t\t\t\t\u0026network.SubnetDelegationArgs{\n\t\t\t\t\tName: pulumi.String(\"delegation\"),\n\t\t\t\t\tServiceDelegation: \u0026network.SubnetDelegationServiceDelegationArgs{\n\t\t\t\t\t\tName: pulumi.String(\"NGINX.NGINXPLUS/nginxDeployments\"),\n\t\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"Microsoft.Network/virtualNetworks/subnets/join/action\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleDeployment, err := nginx.NewDeployment(ctx, \"example\", \u0026nginx.DeploymentArgs{\n\t\t\tName:                   pulumi.String(\"example-nginx\"),\n\t\t\tResourceGroupName:      example.Name,\n\t\t\tSku:                    pulumi.String(\"publicpreview_Monthly_gmz7xq9ge3py\"),\n\t\t\tLocation:               example.Location,\n\t\t\tDiagnoseSupportEnabled: pulumi.Bool(true),\n\t\t\tFrontendPublic: \u0026nginx.DeploymentFrontendPublicArgs{\n\t\t\t\tIpAddresses: pulumi.StringArray{\n\t\t\t\t\texamplePublicIp.ID(),\n\t\t\t\t},\n\t\t\t},\n\t\t\tNetworkInterfaces: nginx.DeploymentNetworkInterfaceArray{\n\t\t\t\t\u0026nginx.DeploymentNetworkInterfaceArgs{\n\t\t\t\t\tSubnetId: exampleSubnet.ID(),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeBase64encode, err := std.Base64encode(ctx, \u0026std.Base64encodeArgs{\n\t\t\tInput: `http {\n    server {\n        listen 80;\n        location / {\n            default_type text/html;\n            return 200 '\u003c!doctype html\u003e\u003chtml lang=\\\"en\\\"\u003e\u003chead\u003e\u003c/head\u003e\u003cbody\u003e\n                \u003cdiv\u003ethis one will be updated\u003c/div\u003e\n                \u003cdiv\u003eat 10:38 am\u003c/div\u003e\n            \u003c/body\u003e\u003c/html\u003e';\n        }\n        include site/*.conf;\n    }\n}\n`,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeBase64encode1, err := std.Base64encode(ctx, \u0026std.Base64encodeArgs{\n\t\t\tInput: `location /bbb {\n default_type text/html;\n return 200 '\u003c!doctype html\u003e\u003chtml lang=\\\"en\\\"\u003e\u003chead\u003e\u003c/head\u003e\u003cbody\u003e\n  \u003cdiv\u003ethis one will be updated\u003c/div\u003e\n  \u003cdiv\u003eat 10:38 am\u003c/div\u003e\n \u003c/body\u003e\u003c/html\u003e';\n}\n`,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = nginx.NewConfiguration(ctx, \"example\", \u0026nginx.ConfigurationArgs{\n\t\t\tNginxDeploymentId: exampleDeployment.ID(),\n\t\t\tRootFile:          pulumi.String(\"/etc/nginx/nginx.conf\"),\n\t\t\tConfigFiles: nginx.ConfigurationConfigFileArray{\n\t\t\t\t\u0026nginx.ConfigurationConfigFileArgs{\n\t\t\t\t\tContent:     pulumi.String(invokeBase64encode.Result),\n\t\t\t\t\tVirtualPath: pulumi.String(\"/etc/nginx/nginx.conf\"),\n\t\t\t\t},\n\t\t\t\t\u0026nginx.ConfigurationConfigFileArgs{\n\t\t\t\t\tContent:     pulumi.String(invokeBase64encode1.Result),\n\t\t\t\t\tVirtualPath: pulumi.String(\"/etc/nginx/site/b.conf\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.PublicIp;\nimport com.pulumi.azure.network.PublicIpArgs;\nimport com.pulumi.azure.network.VirtualNetwork;\nimport com.pulumi.azure.network.VirtualNetworkArgs;\nimport com.pulumi.azure.network.Subnet;\nimport com.pulumi.azure.network.SubnetArgs;\nimport com.pulumi.azure.network.inputs.SubnetDelegationArgs;\nimport com.pulumi.azure.network.inputs.SubnetDelegationServiceDelegationArgs;\nimport com.pulumi.azure.nginx.Deployment;\nimport com.pulumi.azure.nginx.DeploymentArgs;\nimport com.pulumi.azure.nginx.inputs.DeploymentFrontendPublicArgs;\nimport com.pulumi.azure.nginx.inputs.DeploymentNetworkInterfaceArgs;\nimport com.pulumi.azure.nginx.Configuration;\nimport com.pulumi.azure.nginx.ConfigurationArgs;\nimport com.pulumi.azure.nginx.inputs.ConfigurationConfigFileArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.Base64encodeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-rg\")\n            .location(\"West Europe\")\n            .build());\n\n        var examplePublicIp = new PublicIp(\"examplePublicIp\", PublicIpArgs.builder()\n            .name(\"example\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .allocationMethod(\"Static\")\n            .sku(\"Standard\")\n            .tags(Map.of(\"environment\", \"Production\"))\n            .build());\n\n        var exampleVirtualNetwork = new VirtualNetwork(\"exampleVirtualNetwork\", VirtualNetworkArgs.builder()\n            .name(\"example-vnet\")\n            .addressSpaces(\"10.0.0.0/16\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .build());\n\n        var exampleSubnet = new Subnet(\"exampleSubnet\", SubnetArgs.builder()\n            .name(\"example-subnet\")\n            .resourceGroupName(example.name())\n            .virtualNetworkName(exampleVirtualNetwork.name())\n            .addressPrefixes(\"10.0.2.0/24\")\n            .delegations(SubnetDelegationArgs.builder()\n                .name(\"delegation\")\n                .serviceDelegation(SubnetDelegationServiceDelegationArgs.builder()\n                    .name(\"NGINX.NGINXPLUS/nginxDeployments\")\n                    .actions(\"Microsoft.Network/virtualNetworks/subnets/join/action\")\n                    .build())\n                .build())\n            .build());\n\n        var exampleDeployment = new Deployment(\"exampleDeployment\", DeploymentArgs.builder()\n            .name(\"example-nginx\")\n            .resourceGroupName(example.name())\n            .sku(\"publicpreview_Monthly_gmz7xq9ge3py\")\n            .location(example.location())\n            .diagnoseSupportEnabled(true)\n            .frontendPublic(DeploymentFrontendPublicArgs.builder()\n                .ipAddresses(examplePublicIp.id())\n                .build())\n            .networkInterfaces(DeploymentNetworkInterfaceArgs.builder()\n                .subnetId(exampleSubnet.id())\n                .build())\n            .build());\n\n        var exampleConfiguration = new Configuration(\"exampleConfiguration\", ConfigurationArgs.builder()\n            .nginxDeploymentId(exampleDeployment.id())\n            .rootFile(\"/etc/nginx/nginx.conf\")\n            .configFiles(            \n                ConfigurationConfigFileArgs.builder()\n                    .content(StdFunctions.base64encode(Base64encodeArgs.builder()\n                        .input(\"\"\"\nhttp {\n    server {\n        listen 80;\n        location / {\n            default_type text/html;\n            return 200 '\u003c!doctype html\u003e\u003chtml lang=\\\"en\\\"\u003e\u003chead\u003e\u003c/head\u003e\u003cbody\u003e\n                \u003cdiv\u003ethis one will be updated\u003c/div\u003e\n                \u003cdiv\u003eat 10:38 am\u003c/div\u003e\n            \u003c/body\u003e\u003c/html\u003e';\n        }\n        include site/*.conf;\n    }\n}\n                        \"\"\")\n                        .build()).result())\n                    .virtualPath(\"/etc/nginx/nginx.conf\")\n                    .build(),\n                ConfigurationConfigFileArgs.builder()\n                    .content(StdFunctions.base64encode(Base64encodeArgs.builder()\n                        .input(\"\"\"\nlocation /bbb {\n default_type text/html;\n return 200 '\u003c!doctype html\u003e\u003chtml lang=\\\"en\\\"\u003e\u003chead\u003e\u003c/head\u003e\u003cbody\u003e\n  \u003cdiv\u003ethis one will be updated\u003c/div\u003e\n  \u003cdiv\u003eat 10:38 am\u003c/div\u003e\n \u003c/body\u003e\u003c/html\u003e';\n}\n                        \"\"\")\n                        .build()).result())\n                    .virtualPath(\"/etc/nginx/site/b.conf\")\n                    .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-rg\n      location: West Europe\n  examplePublicIp:\n    type: azure:network:PublicIp\n    name: example\n    properties:\n      name: example\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      allocationMethod: Static\n      sku: Standard\n      tags:\n        environment: Production\n  exampleVirtualNetwork:\n    type: azure:network:VirtualNetwork\n    name: example\n    properties:\n      name: example-vnet\n      addressSpaces:\n        - 10.0.0.0/16\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n  exampleSubnet:\n    type: azure:network:Subnet\n    name: example\n    properties:\n      name: example-subnet\n      resourceGroupName: ${example.name}\n      virtualNetworkName: ${exampleVirtualNetwork.name}\n      addressPrefixes:\n        - 10.0.2.0/24\n      delegations:\n        - name: delegation\n          serviceDelegation:\n            name: NGINX.NGINXPLUS/nginxDeployments\n            actions:\n              - Microsoft.Network/virtualNetworks/subnets/join/action\n  exampleDeployment:\n    type: azure:nginx:Deployment\n    name: example\n    properties:\n      name: example-nginx\n      resourceGroupName: ${example.name}\n      sku: publicpreview_Monthly_gmz7xq9ge3py\n      location: ${example.location}\n      diagnoseSupportEnabled: true\n      frontendPublic:\n        ipAddresses:\n          - ${examplePublicIp.id}\n      networkInterfaces:\n        - subnetId: ${exampleSubnet.id}\n  exampleConfiguration:\n    type: azure:nginx:Configuration\n    name: example\n    properties:\n      nginxDeploymentId: ${exampleDeployment.id}\n      rootFile: /etc/nginx/nginx.conf\n      configFiles:\n        - content:\n            fn::invoke:\n              function: std:base64encode\n              arguments:\n                input: |\n                  http {\n                      server {\n                          listen 80;\n                          location / {\n                              default_type text/html;\n                              return 200 '\u003c!doctype html\u003e\u003chtml lang=\\\"en\\\"\u003e\u003chead\u003e\u003c/head\u003e\u003cbody\u003e\n                                  \u003cdiv\u003ethis one will be updated\u003c/div\u003e\n                                  \u003cdiv\u003eat 10:38 am\u003c/div\u003e\n                              \u003c/body\u003e\u003c/html\u003e';\n                          }\n                          include site/*.conf;\n                      }\n                  }\n              return: result\n          virtualPath: /etc/nginx/nginx.conf\n        - content:\n            fn::invoke:\n              function: std:base64encode\n              arguments:\n                input: |\n                  location /bbb {\n                   default_type text/html;\n                   return 200 '\u003c!doctype html\u003e\u003chtml lang=\\\"en\\\"\u003e\u003chead\u003e\u003c/head\u003e\u003cbody\u003e\n                    \u003cdiv\u003ethis one will be updated\u003c/div\u003e\n                    \u003cdiv\u003eat 10:38 am\u003c/div\u003e\n                   \u003c/body\u003e\u003c/html\u003e';\n                  }\n              return: result\n          virtualPath: /etc/nginx/site/b.conf\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Nginx.NginxPlus` - 2024-11-01-preview\n\n## Import\n\nAn Nginx Configuration can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:nginx/configuration:Configuration example /subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/group1/providers/Nginx.NginxPlus/nginxDeployments/dep1/configurations/default\n```\n\n","properties":{"configFiles":{"type":"array","items":{"$ref":"#/types/azure:nginx/ConfigurationConfigFile:ConfigurationConfigFile"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`configFile`\" pulumi-lang-dotnet=\"`ConfigFile`\" pulumi-lang-go=\"`configFile`\" pulumi-lang-python=\"`config_file`\" pulumi-lang-yaml=\"`configFile`\" pulumi-lang-java=\"`configFile`\"\u003e`config_file`\u003c/span\u003e blocks as defined below.\n"},"nginxDeploymentId":{"type":"string","description":"The ID of the Nginx Deployment. Changing this forces a new Nginx Configuration to be created.\n"},"packageData":{"type":"string","description":"Specifies the package data for this configuration.\n"},"protectedFiles":{"type":"array","items":{"$ref":"#/types/azure:nginx/ConfigurationProtectedFile:ConfigurationProtectedFile"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`protectedFile`\" pulumi-lang-dotnet=\"`ProtectedFile`\" pulumi-lang-go=\"`protectedFile`\" pulumi-lang-python=\"`protected_file`\" pulumi-lang-yaml=\"`protectedFile`\" pulumi-lang-java=\"`protectedFile`\"\u003e`protected_file`\u003c/span\u003e blocks with sensitive information as defined below. If specified \u003cspan pulumi-lang-nodejs=\"`configFile`\" pulumi-lang-dotnet=\"`ConfigFile`\" pulumi-lang-go=\"`configFile`\" pulumi-lang-python=\"`config_file`\" pulumi-lang-yaml=\"`configFile`\" pulumi-lang-java=\"`configFile`\"\u003e`config_file`\u003c/span\u003e must also be specified.\n"},"rootFile":{"type":"string","description":"Specifies the root file path of this Nginx Configuration.\n"}},"required":["nginxDeploymentId","rootFile"],"inputProperties":{"configFiles":{"type":"array","items":{"$ref":"#/types/azure:nginx/ConfigurationConfigFile:ConfigurationConfigFile"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`configFile`\" pulumi-lang-dotnet=\"`ConfigFile`\" pulumi-lang-go=\"`configFile`\" pulumi-lang-python=\"`config_file`\" pulumi-lang-yaml=\"`configFile`\" pulumi-lang-java=\"`configFile`\"\u003e`config_file`\u003c/span\u003e blocks as defined below.\n"},"nginxDeploymentId":{"type":"string","description":"The ID of the Nginx Deployment. Changing this forces a new Nginx Configuration to be created.\n","willReplaceOnChanges":true},"packageData":{"type":"string","description":"Specifies the package data for this configuration.\n"},"protectedFiles":{"type":"array","items":{"$ref":"#/types/azure:nginx/ConfigurationProtectedFile:ConfigurationProtectedFile"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`protectedFile`\" pulumi-lang-dotnet=\"`ProtectedFile`\" pulumi-lang-go=\"`protectedFile`\" pulumi-lang-python=\"`protected_file`\" pulumi-lang-yaml=\"`protectedFile`\" pulumi-lang-java=\"`protectedFile`\"\u003e`protected_file`\u003c/span\u003e blocks with sensitive information as defined below. If specified \u003cspan pulumi-lang-nodejs=\"`configFile`\" pulumi-lang-dotnet=\"`ConfigFile`\" pulumi-lang-go=\"`configFile`\" pulumi-lang-python=\"`config_file`\" pulumi-lang-yaml=\"`configFile`\" pulumi-lang-java=\"`configFile`\"\u003e`config_file`\u003c/span\u003e must also be specified.\n"},"rootFile":{"type":"string","description":"Specifies the root file path of this Nginx Configuration.\n"}},"requiredInputs":["nginxDeploymentId","rootFile"],"stateInputs":{"description":"Input properties used for looking up and filtering Configuration resources.\n","properties":{"configFiles":{"type":"array","items":{"$ref":"#/types/azure:nginx/ConfigurationConfigFile:ConfigurationConfigFile"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`configFile`\" pulumi-lang-dotnet=\"`ConfigFile`\" pulumi-lang-go=\"`configFile`\" pulumi-lang-python=\"`config_file`\" pulumi-lang-yaml=\"`configFile`\" pulumi-lang-java=\"`configFile`\"\u003e`config_file`\u003c/span\u003e blocks as defined below.\n"},"nginxDeploymentId":{"type":"string","description":"The ID of the Nginx Deployment. Changing this forces a new Nginx Configuration to be created.\n","willReplaceOnChanges":true},"packageData":{"type":"string","description":"Specifies the package data for this configuration.\n"},"protectedFiles":{"type":"array","items":{"$ref":"#/types/azure:nginx/ConfigurationProtectedFile:ConfigurationProtectedFile"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`protectedFile`\" pulumi-lang-dotnet=\"`ProtectedFile`\" pulumi-lang-go=\"`protectedFile`\" pulumi-lang-python=\"`protected_file`\" pulumi-lang-yaml=\"`protectedFile`\" pulumi-lang-java=\"`protectedFile`\"\u003e`protected_file`\u003c/span\u003e blocks with sensitive information as defined below. If specified \u003cspan pulumi-lang-nodejs=\"`configFile`\" pulumi-lang-dotnet=\"`ConfigFile`\" pulumi-lang-go=\"`configFile`\" pulumi-lang-python=\"`config_file`\" pulumi-lang-yaml=\"`configFile`\" pulumi-lang-java=\"`configFile`\"\u003e`config_file`\u003c/span\u003e must also be specified.\n"},"rootFile":{"type":"string","description":"Specifies the root file path of this Nginx Configuration.\n"}},"type":"object"}},"azure:nginx/deployment:Deployment":{"description":"Manages an NGINX Deployment.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-rg\",\n    location: \"West Europe\",\n});\nconst examplePublicIp = new azure.network.PublicIp(\"example\", {\n    name: \"example\",\n    resourceGroupName: example.name,\n    location: example.location,\n    allocationMethod: \"Static\",\n    sku: \"Standard\",\n    tags: {\n        environment: \"Production\",\n    },\n});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"example\", {\n    name: \"example-vnet\",\n    addressSpaces: [\"10.0.0.0/16\"],\n    location: example.location,\n    resourceGroupName: example.name,\n});\nconst exampleSubnet = new azure.network.Subnet(\"example\", {\n    name: \"example-subnet\",\n    resourceGroupName: example.name,\n    virtualNetworkName: exampleVirtualNetwork.name,\n    addressPrefixes: [\"10.0.2.0/24\"],\n    delegations: [{\n        name: \"delegation\",\n        serviceDelegation: {\n            name: \"NGINX.NGINXPLUS/nginxDeployments\",\n            actions: [\"Microsoft.Network/virtualNetworks/subnets/join/action\"],\n        },\n    }],\n});\nconst exampleDeployment = new azure.nginx.Deployment(\"example\", {\n    name: \"example-nginx\",\n    resourceGroupName: example.name,\n    sku: \"standardv3_Monthly\",\n    location: example.location,\n    diagnoseSupportEnabled: true,\n    automaticUpgradeChannel: \"stable\",\n    frontendPublic: {\n        ipAddresses: [examplePublicIp.id],\n    },\n    networkInterfaces: [{\n        subnetId: exampleSubnet.id,\n    }],\n    capacity: 20,\n    email: \"user@test.com\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-rg\",\n    location=\"West Europe\")\nexample_public_ip = azure.network.PublicIp(\"example\",\n    name=\"example\",\n    resource_group_name=example.name,\n    location=example.location,\n    allocation_method=\"Static\",\n    sku=\"Standard\",\n    tags={\n        \"environment\": \"Production\",\n    })\nexample_virtual_network = azure.network.VirtualNetwork(\"example\",\n    name=\"example-vnet\",\n    address_spaces=[\"10.0.0.0/16\"],\n    location=example.location,\n    resource_group_name=example.name)\nexample_subnet = azure.network.Subnet(\"example\",\n    name=\"example-subnet\",\n    resource_group_name=example.name,\n    virtual_network_name=example_virtual_network.name,\n    address_prefixes=[\"10.0.2.0/24\"],\n    delegations=[{\n        \"name\": \"delegation\",\n        \"service_delegation\": {\n            \"name\": \"NGINX.NGINXPLUS/nginxDeployments\",\n            \"actions\": [\"Microsoft.Network/virtualNetworks/subnets/join/action\"],\n        },\n    }])\nexample_deployment = azure.nginx.Deployment(\"example\",\n    name=\"example-nginx\",\n    resource_group_name=example.name,\n    sku=\"standardv3_Monthly\",\n    location=example.location,\n    diagnose_support_enabled=True,\n    automatic_upgrade_channel=\"stable\",\n    frontend_public={\n        \"ip_addresses\": [example_public_ip.id],\n    },\n    network_interfaces=[{\n        \"subnet_id\": example_subnet.id,\n    }],\n    capacity=20,\n    email=\"user@test.com\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-rg\",\n        Location = \"West Europe\",\n    });\n\n    var examplePublicIp = new Azure.Network.PublicIp(\"example\", new()\n    {\n        Name = \"example\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        AllocationMethod = \"Static\",\n        Sku = \"Standard\",\n        Tags = \n        {\n            { \"environment\", \"Production\" },\n        },\n    });\n\n    var exampleVirtualNetwork = new Azure.Network.VirtualNetwork(\"example\", new()\n    {\n        Name = \"example-vnet\",\n        AddressSpaces = new[]\n        {\n            \"10.0.0.0/16\",\n        },\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n    });\n\n    var exampleSubnet = new Azure.Network.Subnet(\"example\", new()\n    {\n        Name = \"example-subnet\",\n        ResourceGroupName = example.Name,\n        VirtualNetworkName = exampleVirtualNetwork.Name,\n        AddressPrefixes = new[]\n        {\n            \"10.0.2.0/24\",\n        },\n        Delegations = new[]\n        {\n            new Azure.Network.Inputs.SubnetDelegationArgs\n            {\n                Name = \"delegation\",\n                ServiceDelegation = new Azure.Network.Inputs.SubnetDelegationServiceDelegationArgs\n                {\n                    Name = \"NGINX.NGINXPLUS/nginxDeployments\",\n                    Actions = new[]\n                    {\n                        \"Microsoft.Network/virtualNetworks/subnets/join/action\",\n                    },\n                },\n            },\n        },\n    });\n\n    var exampleDeployment = new Azure.Nginx.Deployment(\"example\", new()\n    {\n        Name = \"example-nginx\",\n        ResourceGroupName = example.Name,\n        Sku = \"standardv3_Monthly\",\n        Location = example.Location,\n        DiagnoseSupportEnabled = true,\n        AutomaticUpgradeChannel = \"stable\",\n        FrontendPublic = new Azure.Nginx.Inputs.DeploymentFrontendPublicArgs\n        {\n            IpAddresses = new[]\n            {\n                examplePublicIp.Id,\n            },\n        },\n        NetworkInterfaces = new[]\n        {\n            new Azure.Nginx.Inputs.DeploymentNetworkInterfaceArgs\n            {\n                SubnetId = exampleSubnet.Id,\n            },\n        },\n        Capacity = 20,\n        Email = \"user@test.com\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/nginx\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-rg\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texamplePublicIp, err := network.NewPublicIp(ctx, \"example\", \u0026network.PublicIpArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tAllocationMethod:  pulumi.String(\"Static\"),\n\t\t\tSku:               pulumi.String(\"Standard\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"environment\": pulumi.String(\"Production\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, \"example\", \u0026network.VirtualNetworkArgs{\n\t\t\tName: pulumi.String(\"example-vnet\"),\n\t\t\tAddressSpaces: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.0.0/16\"),\n\t\t\t},\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSubnet, err := network.NewSubnet(ctx, \"example\", \u0026network.SubnetArgs{\n\t\t\tName:               pulumi.String(\"example-subnet\"),\n\t\t\tResourceGroupName:  example.Name,\n\t\t\tVirtualNetworkName: exampleVirtualNetwork.Name,\n\t\t\tAddressPrefixes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.2.0/24\"),\n\t\t\t},\n\t\t\tDelegations: network.SubnetDelegationArray{\n\t\t\t\t\u0026network.SubnetDelegationArgs{\n\t\t\t\t\tName: pulumi.String(\"delegation\"),\n\t\t\t\t\tServiceDelegation: \u0026network.SubnetDelegationServiceDelegationArgs{\n\t\t\t\t\t\tName: pulumi.String(\"NGINX.NGINXPLUS/nginxDeployments\"),\n\t\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"Microsoft.Network/virtualNetworks/subnets/join/action\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = nginx.NewDeployment(ctx, \"example\", \u0026nginx.DeploymentArgs{\n\t\t\tName:                    pulumi.String(\"example-nginx\"),\n\t\t\tResourceGroupName:       example.Name,\n\t\t\tSku:                     pulumi.String(\"standardv3_Monthly\"),\n\t\t\tLocation:                example.Location,\n\t\t\tDiagnoseSupportEnabled:  pulumi.Bool(true),\n\t\t\tAutomaticUpgradeChannel: pulumi.String(\"stable\"),\n\t\t\tFrontendPublic: \u0026nginx.DeploymentFrontendPublicArgs{\n\t\t\t\tIpAddresses: pulumi.StringArray{\n\t\t\t\t\texamplePublicIp.ID(),\n\t\t\t\t},\n\t\t\t},\n\t\t\tNetworkInterfaces: nginx.DeploymentNetworkInterfaceArray{\n\t\t\t\t\u0026nginx.DeploymentNetworkInterfaceArgs{\n\t\t\t\t\tSubnetId: exampleSubnet.ID(),\n\t\t\t\t},\n\t\t\t},\n\t\t\tCapacity: pulumi.Int(20),\n\t\t\tEmail:    pulumi.String(\"user@test.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.PublicIp;\nimport com.pulumi.azure.network.PublicIpArgs;\nimport com.pulumi.azure.network.VirtualNetwork;\nimport com.pulumi.azure.network.VirtualNetworkArgs;\nimport com.pulumi.azure.network.Subnet;\nimport com.pulumi.azure.network.SubnetArgs;\nimport com.pulumi.azure.network.inputs.SubnetDelegationArgs;\nimport com.pulumi.azure.network.inputs.SubnetDelegationServiceDelegationArgs;\nimport com.pulumi.azure.nginx.Deployment;\nimport com.pulumi.azure.nginx.DeploymentArgs;\nimport com.pulumi.azure.nginx.inputs.DeploymentFrontendPublicArgs;\nimport com.pulumi.azure.nginx.inputs.DeploymentNetworkInterfaceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-rg\")\n            .location(\"West Europe\")\n            .build());\n\n        var examplePublicIp = new PublicIp(\"examplePublicIp\", PublicIpArgs.builder()\n            .name(\"example\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .allocationMethod(\"Static\")\n            .sku(\"Standard\")\n            .tags(Map.of(\"environment\", \"Production\"))\n            .build());\n\n        var exampleVirtualNetwork = new VirtualNetwork(\"exampleVirtualNetwork\", VirtualNetworkArgs.builder()\n            .name(\"example-vnet\")\n            .addressSpaces(\"10.0.0.0/16\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .build());\n\n        var exampleSubnet = new Subnet(\"exampleSubnet\", SubnetArgs.builder()\n            .name(\"example-subnet\")\n            .resourceGroupName(example.name())\n            .virtualNetworkName(exampleVirtualNetwork.name())\n            .addressPrefixes(\"10.0.2.0/24\")\n            .delegations(SubnetDelegationArgs.builder()\n                .name(\"delegation\")\n                .serviceDelegation(SubnetDelegationServiceDelegationArgs.builder()\n                    .name(\"NGINX.NGINXPLUS/nginxDeployments\")\n                    .actions(\"Microsoft.Network/virtualNetworks/subnets/join/action\")\n                    .build())\n                .build())\n            .build());\n\n        var exampleDeployment = new Deployment(\"exampleDeployment\", DeploymentArgs.builder()\n            .name(\"example-nginx\")\n            .resourceGroupName(example.name())\n            .sku(\"standardv3_Monthly\")\n            .location(example.location())\n            .diagnoseSupportEnabled(true)\n            .automaticUpgradeChannel(\"stable\")\n            .frontendPublic(DeploymentFrontendPublicArgs.builder()\n                .ipAddresses(examplePublicIp.id())\n                .build())\n            .networkInterfaces(DeploymentNetworkInterfaceArgs.builder()\n                .subnetId(exampleSubnet.id())\n                .build())\n            .capacity(20)\n            .email(\"user@test.com\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-rg\n      location: West Europe\n  examplePublicIp:\n    type: azure:network:PublicIp\n    name: example\n    properties:\n      name: example\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      allocationMethod: Static\n      sku: Standard\n      tags:\n        environment: Production\n  exampleVirtualNetwork:\n    type: azure:network:VirtualNetwork\n    name: example\n    properties:\n      name: example-vnet\n      addressSpaces:\n        - 10.0.0.0/16\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n  exampleSubnet:\n    type: azure:network:Subnet\n    name: example\n    properties:\n      name: example-subnet\n      resourceGroupName: ${example.name}\n      virtualNetworkName: ${exampleVirtualNetwork.name}\n      addressPrefixes:\n        - 10.0.2.0/24\n      delegations:\n        - name: delegation\n          serviceDelegation:\n            name: NGINX.NGINXPLUS/nginxDeployments\n            actions:\n              - Microsoft.Network/virtualNetworks/subnets/join/action\n  exampleDeployment:\n    type: azure:nginx:Deployment\n    name: example\n    properties:\n      name: example-nginx\n      resourceGroupName: ${example.name}\n      sku: standardv3_Monthly\n      location: ${example.location}\n      diagnoseSupportEnabled: true\n      automaticUpgradeChannel: stable\n      frontendPublic:\n        ipAddresses:\n          - ${examplePublicIp.id}\n      networkInterfaces:\n        - subnetId: ${exampleSubnet.id}\n      capacity: 20\n      email: user@test.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Nginx.NginxPlus` - 2024-11-01-preview\n\n## Import\n\nNGINX Deployments can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:nginx/deployment:Deployment example /subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/group1/providers/Nginx.NginxPlus/nginxDeployments/dep1\n```\n\n","properties":{"autoScaleProfiles":{"type":"array","items":{"$ref":"#/types/azure:nginx/DeploymentAutoScaleProfile:DeploymentAutoScaleProfile"},"description":"An \u003cspan pulumi-lang-nodejs=\"`autoScaleProfile`\" pulumi-lang-dotnet=\"`AutoScaleProfile`\" pulumi-lang-go=\"`autoScaleProfile`\" pulumi-lang-python=\"`auto_scale_profile`\" pulumi-lang-yaml=\"`autoScaleProfile`\" pulumi-lang-java=\"`autoScaleProfile`\"\u003e`auto_scale_profile`\u003c/span\u003e block as defined below.\n"},"automaticUpgradeChannel":{"type":"string","description":"Specify the automatic upgrade channel for the NGINX deployment. Defaults to \u003cspan pulumi-lang-nodejs=\"`stable`\" pulumi-lang-dotnet=\"`Stable`\" pulumi-lang-go=\"`stable`\" pulumi-lang-python=\"`stable`\" pulumi-lang-yaml=\"`stable`\" pulumi-lang-java=\"`stable`\"\u003e`stable`\u003c/span\u003e. The possible values are \u003cspan pulumi-lang-nodejs=\"`stable`\" pulumi-lang-dotnet=\"`Stable`\" pulumi-lang-go=\"`stable`\" pulumi-lang-python=\"`stable`\" pulumi-lang-yaml=\"`stable`\" pulumi-lang-java=\"`stable`\"\u003e`stable`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`preview`\" pulumi-lang-dotnet=\"`Preview`\" pulumi-lang-go=\"`preview`\" pulumi-lang-python=\"`preview`\" pulumi-lang-yaml=\"`preview`\" pulumi-lang-java=\"`preview`\"\u003e`preview`\u003c/span\u003e.\n"},"capacity":{"type":"integer","description":"Specify the number of NGINX capacity units for this NGINX deployment.\n\n\u003e **Note:** For more information on NGINX capacity units, please refer to the [NGINX scaling guidance documentation](https://docs.nginx.com/nginxaas/azure/quickstart/scaling/)\n"},"dataplaneApiEndpoint":{"type":"string","description":"The dataplane API endpoint of the NGINX Deployment.\n"},"diagnoseSupportEnabled":{"type":"boolean","description":"Should the metrics be exported to Azure Monitor?\n"},"email":{"type":"string","description":"Specify the preferred support contact email address for receiving alerts and notifications.\n"},"frontendPrivates":{"type":"array","items":{"$ref":"#/types/azure:nginx/DeploymentFrontendPrivate:DeploymentFrontendPrivate"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`frontendPrivate`\" pulumi-lang-dotnet=\"`FrontendPrivate`\" pulumi-lang-go=\"`frontendPrivate`\" pulumi-lang-python=\"`frontend_private`\" pulumi-lang-yaml=\"`frontendPrivate`\" pulumi-lang-java=\"`frontendPrivate`\"\u003e`frontend_private`\u003c/span\u003e blocks as defined below.\n"},"frontendPublic":{"$ref":"#/types/azure:nginx/DeploymentFrontendPublic:DeploymentFrontendPublic","description":"A \u003cspan pulumi-lang-nodejs=\"`frontendPublic`\" pulumi-lang-dotnet=\"`FrontendPublic`\" pulumi-lang-go=\"`frontendPublic`\" pulumi-lang-python=\"`frontend_public`\" pulumi-lang-yaml=\"`frontendPublic`\" pulumi-lang-java=\"`frontendPublic`\"\u003e`frontend_public`\u003c/span\u003e block as defined below.\n"},"identity":{"$ref":"#/types/azure:nginx/DeploymentIdentity:DeploymentIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"ipAddress":{"type":"string","description":"The IP address of the NGINX Deployment.\n"},"location":{"type":"string","description":"The Azure Region where the NGINX Deployment should exist. Changing this forces a new NGINX Deployment to be created.\n"},"loggingStorageAccounts":{"type":"array","items":{"$ref":"#/types/azure:nginx/DeploymentLoggingStorageAccount:DeploymentLoggingStorageAccount"},"deprecationMessage":"The \u003cspan pulumi-lang-nodejs=\"`loggingStorageAccount`\" pulumi-lang-dotnet=\"`LoggingStorageAccount`\" pulumi-lang-go=\"`loggingStorageAccount`\" pulumi-lang-python=\"`logging_storage_account`\" pulumi-lang-yaml=\"`loggingStorageAccount`\" pulumi-lang-java=\"`loggingStorageAccount`\"\u003e`logging_storage_account`\u003c/span\u003e block has been deprecated and will be removed in v5.0 of the AzureRM Provider. To enable logs, use the \u003cspan pulumi-lang-nodejs=\"`azure.monitoring.DiagnosticSetting`\" pulumi-lang-dotnet=\"`azure.monitoring.DiagnosticSetting`\" pulumi-lang-go=\"`monitoring.DiagnosticSetting`\" pulumi-lang-python=\"`monitoring.DiagnosticSetting`\" pulumi-lang-yaml=\"`azure.monitoring.DiagnosticSetting`\" pulumi-lang-java=\"`azure.monitoring.DiagnosticSetting`\"\u003e`azure.monitoring.DiagnosticSetting`\u003c/span\u003e resource instead."},"managedResourceGroup":{"type":"string","deprecationMessage":"The \u003cspan pulumi-lang-nodejs=\"`managedResourceGroup`\" pulumi-lang-dotnet=\"`ManagedResourceGroup`\" pulumi-lang-go=\"`managedResourceGroup`\" pulumi-lang-python=\"`managed_resource_group`\" pulumi-lang-yaml=\"`managedResourceGroup`\" pulumi-lang-java=\"`managedResourceGroup`\"\u003e`managed_resource_group`\u003c/span\u003e field isn't supported by the API anymore and has been deprecated and will be removed in v5.0 of the AzureRM Provider."},"name":{"type":"string","description":"The name which should be used for this NGINX Deployment. Changing this forces a new NGINX Deployment to be created.\n"},"networkInterfaces":{"type":"array","items":{"$ref":"#/types/azure:nginx/DeploymentNetworkInterface:DeploymentNetworkInterface"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`networkInterface`\" pulumi-lang-dotnet=\"`NetworkInterface`\" pulumi-lang-go=\"`networkInterface`\" pulumi-lang-python=\"`network_interface`\" pulumi-lang-yaml=\"`networkInterface`\" pulumi-lang-java=\"`networkInterface`\"\u003e`network_interface`\u003c/span\u003e blocks as defined below.\n"},"nginxVersion":{"type":"string","description":"The version of the NGINX Deployment.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the NGINX Deployment should exist. Changing this forces a new NGINX Deployment to be created.\n"},"sku":{"type":"string","description":"Specifies the NGINX Deployment SKU.\n\n\u003e **Note:** For a list of available SKUs, please reference the [NGINXaaS for Azure documentation](https://docs.nginx.com/nginxaas/azure/billing/overview)\n\n\u003e **Note:** If you are setting the \u003cspan pulumi-lang-nodejs=\"`sku`\" pulumi-lang-dotnet=\"`Sku`\" pulumi-lang-go=\"`sku`\" pulumi-lang-python=\"`sku`\" pulumi-lang-yaml=\"`sku`\" pulumi-lang-java=\"`sku`\"\u003e`sku`\u003c/span\u003e to `basic_Monthly`, you cannot specify a \u003cspan pulumi-lang-nodejs=\"`capacity`\" pulumi-lang-dotnet=\"`Capacity`\" pulumi-lang-go=\"`capacity`\" pulumi-lang-python=\"`capacity`\" pulumi-lang-yaml=\"`capacity`\" pulumi-lang-java=\"`capacity`\"\u003e`capacity`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`autoScaleProfile`\" pulumi-lang-dotnet=\"`AutoScaleProfile`\" pulumi-lang-go=\"`autoScaleProfile`\" pulumi-lang-python=\"`auto_scale_profile`\" pulumi-lang-yaml=\"`autoScaleProfile`\" pulumi-lang-java=\"`autoScaleProfile`\"\u003e`auto_scale_profile`\u003c/span\u003e; basic plans do not support scaling. Other \u003cspan pulumi-lang-nodejs=\"`sku`\" pulumi-lang-dotnet=\"`Sku`\" pulumi-lang-go=\"`sku`\" pulumi-lang-python=\"`sku`\" pulumi-lang-yaml=\"`sku`\" pulumi-lang-java=\"`sku`\"\u003e`sku`\u003c/span\u003es require either \u003cspan pulumi-lang-nodejs=\"`capacity`\" pulumi-lang-dotnet=\"`Capacity`\" pulumi-lang-go=\"`capacity`\" pulumi-lang-python=\"`capacity`\" pulumi-lang-yaml=\"`capacity`\" pulumi-lang-java=\"`capacity`\"\u003e`capacity`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`autoScaleProfile`\" pulumi-lang-dotnet=\"`AutoScaleProfile`\" pulumi-lang-go=\"`autoScaleProfile`\" pulumi-lang-python=\"`auto_scale_profile`\" pulumi-lang-yaml=\"`autoScaleProfile`\" pulumi-lang-java=\"`autoScaleProfile`\"\u003e`auto_scale_profile`\u003c/span\u003e. If you're using `basic_Monthly` with deployments created before v4.0, you may need to use Terraform's \u003cspan pulumi-lang-nodejs=\"`ignoreChanges`\" pulumi-lang-dotnet=\"`IgnoreChanges`\" pulumi-lang-go=\"`ignoreChanges`\" pulumi-lang-python=\"`ignore_changes`\" pulumi-lang-yaml=\"`ignoreChanges`\" pulumi-lang-java=\"`ignoreChanges`\"\u003e`ignore_changes`\u003c/span\u003e functionality to ignore changes to the \u003cspan pulumi-lang-nodejs=\"`capacity`\" pulumi-lang-dotnet=\"`Capacity`\" pulumi-lang-go=\"`capacity`\" pulumi-lang-python=\"`capacity`\" pulumi-lang-yaml=\"`capacity`\" pulumi-lang-java=\"`capacity`\"\u003e`capacity`\u003c/span\u003e field.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the NGINX Deployment.\n"},"webApplicationFirewall":{"$ref":"#/types/azure:nginx/DeploymentWebApplicationFirewall:DeploymentWebApplicationFirewall","description":"A \u003cspan pulumi-lang-nodejs=\"`webApplicationFirewall`\" pulumi-lang-dotnet=\"`WebApplicationFirewall`\" pulumi-lang-go=\"`webApplicationFirewall`\" pulumi-lang-python=\"`web_application_firewall`\" pulumi-lang-yaml=\"`webApplicationFirewall`\" pulumi-lang-java=\"`webApplicationFirewall`\"\u003e`web_application_firewall`\u003c/span\u003e blocks as defined below.\n"}},"required":["dataplaneApiEndpoint","ipAddress","location","managedResourceGroup","name","nginxVersion","resourceGroupName","sku"],"inputProperties":{"autoScaleProfiles":{"type":"array","items":{"$ref":"#/types/azure:nginx/DeploymentAutoScaleProfile:DeploymentAutoScaleProfile"},"description":"An \u003cspan pulumi-lang-nodejs=\"`autoScaleProfile`\" pulumi-lang-dotnet=\"`AutoScaleProfile`\" pulumi-lang-go=\"`autoScaleProfile`\" pulumi-lang-python=\"`auto_scale_profile`\" pulumi-lang-yaml=\"`autoScaleProfile`\" pulumi-lang-java=\"`autoScaleProfile`\"\u003e`auto_scale_profile`\u003c/span\u003e block as defined below.\n"},"automaticUpgradeChannel":{"type":"string","description":"Specify the automatic upgrade channel for the NGINX deployment. Defaults to \u003cspan pulumi-lang-nodejs=\"`stable`\" pulumi-lang-dotnet=\"`Stable`\" pulumi-lang-go=\"`stable`\" pulumi-lang-python=\"`stable`\" pulumi-lang-yaml=\"`stable`\" pulumi-lang-java=\"`stable`\"\u003e`stable`\u003c/span\u003e. The possible values are \u003cspan pulumi-lang-nodejs=\"`stable`\" pulumi-lang-dotnet=\"`Stable`\" pulumi-lang-go=\"`stable`\" pulumi-lang-python=\"`stable`\" pulumi-lang-yaml=\"`stable`\" pulumi-lang-java=\"`stable`\"\u003e`stable`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`preview`\" pulumi-lang-dotnet=\"`Preview`\" pulumi-lang-go=\"`preview`\" pulumi-lang-python=\"`preview`\" pulumi-lang-yaml=\"`preview`\" pulumi-lang-java=\"`preview`\"\u003e`preview`\u003c/span\u003e.\n"},"capacity":{"type":"integer","description":"Specify the number of NGINX capacity units for this NGINX deployment.\n\n\u003e **Note:** For more information on NGINX capacity units, please refer to the [NGINX scaling guidance documentation](https://docs.nginx.com/nginxaas/azure/quickstart/scaling/)\n"},"diagnoseSupportEnabled":{"type":"boolean","description":"Should the metrics be exported to Azure Monitor?\n"},"email":{"type":"string","description":"Specify the preferred support contact email address for receiving alerts and notifications.\n"},"frontendPrivates":{"type":"array","items":{"$ref":"#/types/azure:nginx/DeploymentFrontendPrivate:DeploymentFrontendPrivate"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`frontendPrivate`\" pulumi-lang-dotnet=\"`FrontendPrivate`\" pulumi-lang-go=\"`frontendPrivate`\" pulumi-lang-python=\"`frontend_private`\" pulumi-lang-yaml=\"`frontendPrivate`\" pulumi-lang-java=\"`frontendPrivate`\"\u003e`frontend_private`\u003c/span\u003e blocks as defined below.\n"},"frontendPublic":{"$ref":"#/types/azure:nginx/DeploymentFrontendPublic:DeploymentFrontendPublic","description":"A \u003cspan pulumi-lang-nodejs=\"`frontendPublic`\" pulumi-lang-dotnet=\"`FrontendPublic`\" pulumi-lang-go=\"`frontendPublic`\" pulumi-lang-python=\"`frontend_public`\" pulumi-lang-yaml=\"`frontendPublic`\" pulumi-lang-java=\"`frontendPublic`\"\u003e`frontend_public`\u003c/span\u003e block as defined below.\n"},"identity":{"$ref":"#/types/azure:nginx/DeploymentIdentity:DeploymentIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"location":{"type":"string","description":"The Azure Region where the NGINX Deployment should exist. Changing this forces a new NGINX Deployment to be created.\n","willReplaceOnChanges":true},"loggingStorageAccounts":{"type":"array","items":{"$ref":"#/types/azure:nginx/DeploymentLoggingStorageAccount:DeploymentLoggingStorageAccount"},"deprecationMessage":"The \u003cspan pulumi-lang-nodejs=\"`loggingStorageAccount`\" pulumi-lang-dotnet=\"`LoggingStorageAccount`\" pulumi-lang-go=\"`loggingStorageAccount`\" pulumi-lang-python=\"`logging_storage_account`\" pulumi-lang-yaml=\"`loggingStorageAccount`\" pulumi-lang-java=\"`loggingStorageAccount`\"\u003e`logging_storage_account`\u003c/span\u003e block has been deprecated and will be removed in v5.0 of the AzureRM Provider. To enable logs, use the \u003cspan pulumi-lang-nodejs=\"`azure.monitoring.DiagnosticSetting`\" pulumi-lang-dotnet=\"`azure.monitoring.DiagnosticSetting`\" pulumi-lang-go=\"`monitoring.DiagnosticSetting`\" pulumi-lang-python=\"`monitoring.DiagnosticSetting`\" pulumi-lang-yaml=\"`azure.monitoring.DiagnosticSetting`\" pulumi-lang-java=\"`azure.monitoring.DiagnosticSetting`\"\u003e`azure.monitoring.DiagnosticSetting`\u003c/span\u003e resource instead."},"managedResourceGroup":{"type":"string","deprecationMessage":"The \u003cspan pulumi-lang-nodejs=\"`managedResourceGroup`\" pulumi-lang-dotnet=\"`ManagedResourceGroup`\" pulumi-lang-go=\"`managedResourceGroup`\" pulumi-lang-python=\"`managed_resource_group`\" pulumi-lang-yaml=\"`managedResourceGroup`\" pulumi-lang-java=\"`managedResourceGroup`\"\u003e`managed_resource_group`\u003c/span\u003e field isn't supported by the API anymore and has been deprecated and will be removed in v5.0 of the AzureRM Provider."},"name":{"type":"string","description":"The name which should be used for this NGINX Deployment. Changing this forces a new NGINX Deployment to be created.\n","willReplaceOnChanges":true},"networkInterfaces":{"type":"array","items":{"$ref":"#/types/azure:nginx/DeploymentNetworkInterface:DeploymentNetworkInterface"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`networkInterface`\" pulumi-lang-dotnet=\"`NetworkInterface`\" pulumi-lang-go=\"`networkInterface`\" pulumi-lang-python=\"`network_interface`\" pulumi-lang-yaml=\"`networkInterface`\" pulumi-lang-java=\"`networkInterface`\"\u003e`network_interface`\u003c/span\u003e blocks as defined below.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the NGINX Deployment should exist. Changing this forces a new NGINX Deployment to be created.\n","willReplaceOnChanges":true},"sku":{"type":"string","description":"Specifies the NGINX Deployment SKU.\n\n\u003e **Note:** For a list of available SKUs, please reference the [NGINXaaS for Azure documentation](https://docs.nginx.com/nginxaas/azure/billing/overview)\n\n\u003e **Note:** If you are setting the \u003cspan pulumi-lang-nodejs=\"`sku`\" pulumi-lang-dotnet=\"`Sku`\" pulumi-lang-go=\"`sku`\" pulumi-lang-python=\"`sku`\" pulumi-lang-yaml=\"`sku`\" pulumi-lang-java=\"`sku`\"\u003e`sku`\u003c/span\u003e to `basic_Monthly`, you cannot specify a \u003cspan pulumi-lang-nodejs=\"`capacity`\" pulumi-lang-dotnet=\"`Capacity`\" pulumi-lang-go=\"`capacity`\" pulumi-lang-python=\"`capacity`\" pulumi-lang-yaml=\"`capacity`\" pulumi-lang-java=\"`capacity`\"\u003e`capacity`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`autoScaleProfile`\" pulumi-lang-dotnet=\"`AutoScaleProfile`\" pulumi-lang-go=\"`autoScaleProfile`\" pulumi-lang-python=\"`auto_scale_profile`\" pulumi-lang-yaml=\"`autoScaleProfile`\" pulumi-lang-java=\"`autoScaleProfile`\"\u003e`auto_scale_profile`\u003c/span\u003e; basic plans do not support scaling. Other \u003cspan pulumi-lang-nodejs=\"`sku`\" pulumi-lang-dotnet=\"`Sku`\" pulumi-lang-go=\"`sku`\" pulumi-lang-python=\"`sku`\" pulumi-lang-yaml=\"`sku`\" pulumi-lang-java=\"`sku`\"\u003e`sku`\u003c/span\u003es require either \u003cspan pulumi-lang-nodejs=\"`capacity`\" pulumi-lang-dotnet=\"`Capacity`\" pulumi-lang-go=\"`capacity`\" pulumi-lang-python=\"`capacity`\" pulumi-lang-yaml=\"`capacity`\" pulumi-lang-java=\"`capacity`\"\u003e`capacity`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`autoScaleProfile`\" pulumi-lang-dotnet=\"`AutoScaleProfile`\" pulumi-lang-go=\"`autoScaleProfile`\" pulumi-lang-python=\"`auto_scale_profile`\" pulumi-lang-yaml=\"`autoScaleProfile`\" pulumi-lang-java=\"`autoScaleProfile`\"\u003e`auto_scale_profile`\u003c/span\u003e. If you're using `basic_Monthly` with deployments created before v4.0, you may need to use Terraform's \u003cspan pulumi-lang-nodejs=\"`ignoreChanges`\" pulumi-lang-dotnet=\"`IgnoreChanges`\" pulumi-lang-go=\"`ignoreChanges`\" pulumi-lang-python=\"`ignore_changes`\" pulumi-lang-yaml=\"`ignoreChanges`\" pulumi-lang-java=\"`ignoreChanges`\"\u003e`ignore_changes`\u003c/span\u003e functionality to ignore changes to the \u003cspan pulumi-lang-nodejs=\"`capacity`\" pulumi-lang-dotnet=\"`Capacity`\" pulumi-lang-go=\"`capacity`\" pulumi-lang-python=\"`capacity`\" pulumi-lang-yaml=\"`capacity`\" pulumi-lang-java=\"`capacity`\"\u003e`capacity`\u003c/span\u003e field.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the NGINX Deployment.\n"},"webApplicationFirewall":{"$ref":"#/types/azure:nginx/DeploymentWebApplicationFirewall:DeploymentWebApplicationFirewall","description":"A \u003cspan pulumi-lang-nodejs=\"`webApplicationFirewall`\" pulumi-lang-dotnet=\"`WebApplicationFirewall`\" pulumi-lang-go=\"`webApplicationFirewall`\" pulumi-lang-python=\"`web_application_firewall`\" pulumi-lang-yaml=\"`webApplicationFirewall`\" pulumi-lang-java=\"`webApplicationFirewall`\"\u003e`web_application_firewall`\u003c/span\u003e blocks as defined below.\n"}},"requiredInputs":["resourceGroupName","sku"],"stateInputs":{"description":"Input properties used for looking up and filtering Deployment resources.\n","properties":{"autoScaleProfiles":{"type":"array","items":{"$ref":"#/types/azure:nginx/DeploymentAutoScaleProfile:DeploymentAutoScaleProfile"},"description":"An \u003cspan pulumi-lang-nodejs=\"`autoScaleProfile`\" pulumi-lang-dotnet=\"`AutoScaleProfile`\" pulumi-lang-go=\"`autoScaleProfile`\" pulumi-lang-python=\"`auto_scale_profile`\" pulumi-lang-yaml=\"`autoScaleProfile`\" pulumi-lang-java=\"`autoScaleProfile`\"\u003e`auto_scale_profile`\u003c/span\u003e block as defined below.\n"},"automaticUpgradeChannel":{"type":"string","description":"Specify the automatic upgrade channel for the NGINX deployment. Defaults to \u003cspan pulumi-lang-nodejs=\"`stable`\" pulumi-lang-dotnet=\"`Stable`\" pulumi-lang-go=\"`stable`\" pulumi-lang-python=\"`stable`\" pulumi-lang-yaml=\"`stable`\" pulumi-lang-java=\"`stable`\"\u003e`stable`\u003c/span\u003e. The possible values are \u003cspan pulumi-lang-nodejs=\"`stable`\" pulumi-lang-dotnet=\"`Stable`\" pulumi-lang-go=\"`stable`\" pulumi-lang-python=\"`stable`\" pulumi-lang-yaml=\"`stable`\" pulumi-lang-java=\"`stable`\"\u003e`stable`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`preview`\" pulumi-lang-dotnet=\"`Preview`\" pulumi-lang-go=\"`preview`\" pulumi-lang-python=\"`preview`\" pulumi-lang-yaml=\"`preview`\" pulumi-lang-java=\"`preview`\"\u003e`preview`\u003c/span\u003e.\n"},"capacity":{"type":"integer","description":"Specify the number of NGINX capacity units for this NGINX deployment.\n\n\u003e **Note:** For more information on NGINX capacity units, please refer to the [NGINX scaling guidance documentation](https://docs.nginx.com/nginxaas/azure/quickstart/scaling/)\n"},"dataplaneApiEndpoint":{"type":"string","description":"The dataplane API endpoint of the NGINX Deployment.\n"},"diagnoseSupportEnabled":{"type":"boolean","description":"Should the metrics be exported to Azure Monitor?\n"},"email":{"type":"string","description":"Specify the preferred support contact email address for receiving alerts and notifications.\n"},"frontendPrivates":{"type":"array","items":{"$ref":"#/types/azure:nginx/DeploymentFrontendPrivate:DeploymentFrontendPrivate"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`frontendPrivate`\" pulumi-lang-dotnet=\"`FrontendPrivate`\" pulumi-lang-go=\"`frontendPrivate`\" pulumi-lang-python=\"`frontend_private`\" pulumi-lang-yaml=\"`frontendPrivate`\" pulumi-lang-java=\"`frontendPrivate`\"\u003e`frontend_private`\u003c/span\u003e blocks as defined below.\n"},"frontendPublic":{"$ref":"#/types/azure:nginx/DeploymentFrontendPublic:DeploymentFrontendPublic","description":"A \u003cspan pulumi-lang-nodejs=\"`frontendPublic`\" pulumi-lang-dotnet=\"`FrontendPublic`\" pulumi-lang-go=\"`frontendPublic`\" pulumi-lang-python=\"`frontend_public`\" pulumi-lang-yaml=\"`frontendPublic`\" pulumi-lang-java=\"`frontendPublic`\"\u003e`frontend_public`\u003c/span\u003e block as defined below.\n"},"identity":{"$ref":"#/types/azure:nginx/DeploymentIdentity:DeploymentIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"ipAddress":{"type":"string","description":"The IP address of the NGINX Deployment.\n"},"location":{"type":"string","description":"The Azure Region where the NGINX Deployment should exist. Changing this forces a new NGINX Deployment to be created.\n","willReplaceOnChanges":true},"loggingStorageAccounts":{"type":"array","items":{"$ref":"#/types/azure:nginx/DeploymentLoggingStorageAccount:DeploymentLoggingStorageAccount"},"deprecationMessage":"The \u003cspan pulumi-lang-nodejs=\"`loggingStorageAccount`\" pulumi-lang-dotnet=\"`LoggingStorageAccount`\" pulumi-lang-go=\"`loggingStorageAccount`\" pulumi-lang-python=\"`logging_storage_account`\" pulumi-lang-yaml=\"`loggingStorageAccount`\" pulumi-lang-java=\"`loggingStorageAccount`\"\u003e`logging_storage_account`\u003c/span\u003e block has been deprecated and will be removed in v5.0 of the AzureRM Provider. To enable logs, use the \u003cspan pulumi-lang-nodejs=\"`azure.monitoring.DiagnosticSetting`\" pulumi-lang-dotnet=\"`azure.monitoring.DiagnosticSetting`\" pulumi-lang-go=\"`monitoring.DiagnosticSetting`\" pulumi-lang-python=\"`monitoring.DiagnosticSetting`\" pulumi-lang-yaml=\"`azure.monitoring.DiagnosticSetting`\" pulumi-lang-java=\"`azure.monitoring.DiagnosticSetting`\"\u003e`azure.monitoring.DiagnosticSetting`\u003c/span\u003e resource instead."},"managedResourceGroup":{"type":"string","deprecationMessage":"The \u003cspan pulumi-lang-nodejs=\"`managedResourceGroup`\" pulumi-lang-dotnet=\"`ManagedResourceGroup`\" pulumi-lang-go=\"`managedResourceGroup`\" pulumi-lang-python=\"`managed_resource_group`\" pulumi-lang-yaml=\"`managedResourceGroup`\" pulumi-lang-java=\"`managedResourceGroup`\"\u003e`managed_resource_group`\u003c/span\u003e field isn't supported by the API anymore and has been deprecated and will be removed in v5.0 of the AzureRM Provider."},"name":{"type":"string","description":"The name which should be used for this NGINX Deployment. Changing this forces a new NGINX Deployment to be created.\n","willReplaceOnChanges":true},"networkInterfaces":{"type":"array","items":{"$ref":"#/types/azure:nginx/DeploymentNetworkInterface:DeploymentNetworkInterface"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`networkInterface`\" pulumi-lang-dotnet=\"`NetworkInterface`\" pulumi-lang-go=\"`networkInterface`\" pulumi-lang-python=\"`network_interface`\" pulumi-lang-yaml=\"`networkInterface`\" pulumi-lang-java=\"`networkInterface`\"\u003e`network_interface`\u003c/span\u003e blocks as defined below.\n"},"nginxVersion":{"type":"string","description":"The version of the NGINX Deployment.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the NGINX Deployment should exist. Changing this forces a new NGINX Deployment to be created.\n","willReplaceOnChanges":true},"sku":{"type":"string","description":"Specifies the NGINX Deployment SKU.\n\n\u003e **Note:** For a list of available SKUs, please reference the [NGINXaaS for Azure documentation](https://docs.nginx.com/nginxaas/azure/billing/overview)\n\n\u003e **Note:** If you are setting the \u003cspan pulumi-lang-nodejs=\"`sku`\" pulumi-lang-dotnet=\"`Sku`\" pulumi-lang-go=\"`sku`\" pulumi-lang-python=\"`sku`\" pulumi-lang-yaml=\"`sku`\" pulumi-lang-java=\"`sku`\"\u003e`sku`\u003c/span\u003e to `basic_Monthly`, you cannot specify a \u003cspan pulumi-lang-nodejs=\"`capacity`\" pulumi-lang-dotnet=\"`Capacity`\" pulumi-lang-go=\"`capacity`\" pulumi-lang-python=\"`capacity`\" pulumi-lang-yaml=\"`capacity`\" pulumi-lang-java=\"`capacity`\"\u003e`capacity`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`autoScaleProfile`\" pulumi-lang-dotnet=\"`AutoScaleProfile`\" pulumi-lang-go=\"`autoScaleProfile`\" pulumi-lang-python=\"`auto_scale_profile`\" pulumi-lang-yaml=\"`autoScaleProfile`\" pulumi-lang-java=\"`autoScaleProfile`\"\u003e`auto_scale_profile`\u003c/span\u003e; basic plans do not support scaling. Other \u003cspan pulumi-lang-nodejs=\"`sku`\" pulumi-lang-dotnet=\"`Sku`\" pulumi-lang-go=\"`sku`\" pulumi-lang-python=\"`sku`\" pulumi-lang-yaml=\"`sku`\" pulumi-lang-java=\"`sku`\"\u003e`sku`\u003c/span\u003es require either \u003cspan pulumi-lang-nodejs=\"`capacity`\" pulumi-lang-dotnet=\"`Capacity`\" pulumi-lang-go=\"`capacity`\" pulumi-lang-python=\"`capacity`\" pulumi-lang-yaml=\"`capacity`\" pulumi-lang-java=\"`capacity`\"\u003e`capacity`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`autoScaleProfile`\" pulumi-lang-dotnet=\"`AutoScaleProfile`\" pulumi-lang-go=\"`autoScaleProfile`\" pulumi-lang-python=\"`auto_scale_profile`\" pulumi-lang-yaml=\"`autoScaleProfile`\" pulumi-lang-java=\"`autoScaleProfile`\"\u003e`auto_scale_profile`\u003c/span\u003e. If you're using `basic_Monthly` with deployments created before v4.0, you may need to use Terraform's \u003cspan pulumi-lang-nodejs=\"`ignoreChanges`\" pulumi-lang-dotnet=\"`IgnoreChanges`\" pulumi-lang-go=\"`ignoreChanges`\" pulumi-lang-python=\"`ignore_changes`\" pulumi-lang-yaml=\"`ignoreChanges`\" pulumi-lang-java=\"`ignoreChanges`\"\u003e`ignore_changes`\u003c/span\u003e functionality to ignore changes to the \u003cspan pulumi-lang-nodejs=\"`capacity`\" pulumi-lang-dotnet=\"`Capacity`\" pulumi-lang-go=\"`capacity`\" pulumi-lang-python=\"`capacity`\" pulumi-lang-yaml=\"`capacity`\" pulumi-lang-java=\"`capacity`\"\u003e`capacity`\u003c/span\u003e field.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the NGINX Deployment.\n"},"webApplicationFirewall":{"$ref":"#/types/azure:nginx/DeploymentWebApplicationFirewall:DeploymentWebApplicationFirewall","description":"A \u003cspan pulumi-lang-nodejs=\"`webApplicationFirewall`\" pulumi-lang-dotnet=\"`WebApplicationFirewall`\" pulumi-lang-go=\"`webApplicationFirewall`\" pulumi-lang-python=\"`web_application_firewall`\" pulumi-lang-yaml=\"`webApplicationFirewall`\" pulumi-lang-java=\"`webApplicationFirewall`\"\u003e`web_application_firewall`\u003c/span\u003e blocks as defined below.\n"}},"type":"object"}},"azure:notificationhub/authorizationRule:AuthorizationRule":{"description":"Manages an Authorization Rule associated with a Notification Hub within a Notification Hub Namespace.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"notificationhub-resources\",\n    location: \"West Europe\",\n});\nconst exampleNamespace = new azure.notificationhub.Namespace(\"example\", {\n    name: \"myappnamespace\",\n    resourceGroupName: example.name,\n    location: example.location,\n    namespaceType: \"NotificationHub\",\n    skuName: \"Free\",\n});\nconst exampleHub = new azure.notificationhub.Hub(\"example\", {\n    name: \"mynotificationhub\",\n    namespaceName: exampleNamespace.name,\n    resourceGroupName: example.name,\n    location: example.location,\n});\nconst exampleAuthorizationRule = new azure.notificationhub.AuthorizationRule(\"example\", {\n    name: \"management-auth-rule\",\n    notificationHubName: exampleHub.name,\n    namespaceName: exampleNamespace.name,\n    resourceGroupName: example.name,\n    manage: true,\n    send: true,\n    listen: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"notificationhub-resources\",\n    location=\"West Europe\")\nexample_namespace = azure.notificationhub.Namespace(\"example\",\n    name=\"myappnamespace\",\n    resource_group_name=example.name,\n    location=example.location,\n    namespace_type=\"NotificationHub\",\n    sku_name=\"Free\")\nexample_hub = azure.notificationhub.Hub(\"example\",\n    name=\"mynotificationhub\",\n    namespace_name=example_namespace.name,\n    resource_group_name=example.name,\n    location=example.location)\nexample_authorization_rule = azure.notificationhub.AuthorizationRule(\"example\",\n    name=\"management-auth-rule\",\n    notification_hub_name=example_hub.name,\n    namespace_name=example_namespace.name,\n    resource_group_name=example.name,\n    manage=True,\n    send=True,\n    listen=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"notificationhub-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleNamespace = new Azure.NotificationHub.Namespace(\"example\", new()\n    {\n        Name = \"myappnamespace\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        NamespaceType = \"NotificationHub\",\n        SkuName = \"Free\",\n    });\n\n    var exampleHub = new Azure.NotificationHub.Hub(\"example\", new()\n    {\n        Name = \"mynotificationhub\",\n        NamespaceName = exampleNamespace.Name,\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n    });\n\n    var exampleAuthorizationRule = new Azure.NotificationHub.AuthorizationRule(\"example\", new()\n    {\n        Name = \"management-auth-rule\",\n        NotificationHubName = exampleHub.Name,\n        NamespaceName = exampleNamespace.Name,\n        ResourceGroupName = example.Name,\n        Manage = true,\n        Send = true,\n        Listen = true,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/notificationhub\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"notificationhub-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNamespace, err := notificationhub.NewNamespace(ctx, \"example\", \u0026notificationhub.NamespaceArgs{\n\t\t\tName:              pulumi.String(\"myappnamespace\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tNamespaceType:     pulumi.String(\"NotificationHub\"),\n\t\t\tSkuName:           pulumi.String(\"Free\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleHub, err := notificationhub.NewHub(ctx, \"example\", \u0026notificationhub.HubArgs{\n\t\t\tName:              pulumi.String(\"mynotificationhub\"),\n\t\t\tNamespaceName:     exampleNamespace.Name,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = notificationhub.NewAuthorizationRule(ctx, \"example\", \u0026notificationhub.AuthorizationRuleArgs{\n\t\t\tName:                pulumi.String(\"management-auth-rule\"),\n\t\t\tNotificationHubName: exampleHub.Name,\n\t\t\tNamespaceName:       exampleNamespace.Name,\n\t\t\tResourceGroupName:   example.Name,\n\t\t\tManage:              pulumi.Bool(true),\n\t\t\tSend:                pulumi.Bool(true),\n\t\t\tListen:              pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.notificationhub.Namespace;\nimport com.pulumi.azure.notificationhub.NamespaceArgs;\nimport com.pulumi.azure.notificationhub.Hub;\nimport com.pulumi.azure.notificationhub.HubArgs;\nimport com.pulumi.azure.notificationhub.AuthorizationRule;\nimport com.pulumi.azure.notificationhub.AuthorizationRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"notificationhub-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleNamespace = new Namespace(\"exampleNamespace\", NamespaceArgs.builder()\n            .name(\"myappnamespace\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .namespaceType(\"NotificationHub\")\n            .skuName(\"Free\")\n            .build());\n\n        var exampleHub = new Hub(\"exampleHub\", HubArgs.builder()\n            .name(\"mynotificationhub\")\n            .namespaceName(exampleNamespace.name())\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .build());\n\n        var exampleAuthorizationRule = new AuthorizationRule(\"exampleAuthorizationRule\", AuthorizationRuleArgs.builder()\n            .name(\"management-auth-rule\")\n            .notificationHubName(exampleHub.name())\n            .namespaceName(exampleNamespace.name())\n            .resourceGroupName(example.name())\n            .manage(true)\n            .send(true)\n            .listen(true)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: notificationhub-resources\n      location: West Europe\n  exampleNamespace:\n    type: azure:notificationhub:Namespace\n    name: example\n    properties:\n      name: myappnamespace\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      namespaceType: NotificationHub\n      skuName: Free\n  exampleHub:\n    type: azure:notificationhub:Hub\n    name: example\n    properties:\n      name: mynotificationhub\n      namespaceName: ${exampleNamespace.name}\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n  exampleAuthorizationRule:\n    type: azure:notificationhub:AuthorizationRule\n    name: example\n    properties:\n      name: management-auth-rule\n      notificationHubName: ${exampleHub.name}\n      namespaceName: ${exampleNamespace.name}\n      resourceGroupName: ${example.name}\n      manage: true\n      send: true\n      listen: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.NotificationHubs` - 2023-09-01\n\n## Import\n\nNotification Hub Authorization Rule can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:notificationhub/authorizationRule:AuthorizationRule rule1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.NotificationHubs/namespaces/namespace1/notificationHubs/hub1/authorizationRules/rule1\n```\n\n","properties":{"listen":{"type":"boolean","description":"Does this Authorization Rule have Listen access to the Notification Hub? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"manage":{"type":"boolean","description":"Does this Authorization Rule have Manage access to the Notification Hub? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** If \u003cspan pulumi-lang-nodejs=\"`manage`\" pulumi-lang-dotnet=\"`Manage`\" pulumi-lang-go=\"`manage`\" pulumi-lang-python=\"`manage`\" pulumi-lang-yaml=\"`manage`\" pulumi-lang-java=\"`manage`\"\u003e`manage`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e then both \u003cspan pulumi-lang-nodejs=\"`send`\" pulumi-lang-dotnet=\"`Send`\" pulumi-lang-go=\"`send`\" pulumi-lang-python=\"`send`\" pulumi-lang-yaml=\"`send`\" pulumi-lang-java=\"`send`\"\u003e`send`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`listen`\" pulumi-lang-dotnet=\"`Listen`\" pulumi-lang-go=\"`listen`\" pulumi-lang-python=\"`listen`\" pulumi-lang-yaml=\"`listen`\" pulumi-lang-java=\"`listen`\"\u003e`listen`\u003c/span\u003e must also be set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"name":{"type":"string","description":"The name to use for this Authorization Rule. Changing this forces a new resource to be created.\n"},"namespaceName":{"type":"string","description":"The name of the Notification Hub Namespace in which the Notification Hub exists. Changing this forces a new resource to be created.\n"},"notificationHubName":{"type":"string","description":"The name of the Notification Hub for which the Authorization Rule should be created. Changing this forces a new resource to be created.\n"},"primaryAccessKey":{"type":"string","description":"The Primary Access Key associated with this Authorization Rule.\n","secret":true},"primaryConnectionString":{"type":"string","description":"The Primary Connetion String associated with this Authorization Rule.\n","secret":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group in which the Notification Hub Namespace exists. Changing this forces a new resource to be created.\n"},"secondaryAccessKey":{"type":"string","description":"The Secondary Access Key associated with this Authorization Rule.\n","secret":true},"secondaryConnectionString":{"type":"string","description":"The Secondary Connetion String associated with this Authorization Rule.\n","secret":true},"send":{"type":"boolean","description":"Does this Authorization Rule have Send access to the Notification Hub? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"}},"required":["name","namespaceName","notificationHubName","primaryAccessKey","primaryConnectionString","resourceGroupName","secondaryAccessKey","secondaryConnectionString"],"inputProperties":{"listen":{"type":"boolean","description":"Does this Authorization Rule have Listen access to the Notification Hub? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"manage":{"type":"boolean","description":"Does this Authorization Rule have Manage access to the Notification Hub? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** If \u003cspan pulumi-lang-nodejs=\"`manage`\" pulumi-lang-dotnet=\"`Manage`\" pulumi-lang-go=\"`manage`\" pulumi-lang-python=\"`manage`\" pulumi-lang-yaml=\"`manage`\" pulumi-lang-java=\"`manage`\"\u003e`manage`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e then both \u003cspan pulumi-lang-nodejs=\"`send`\" pulumi-lang-dotnet=\"`Send`\" pulumi-lang-go=\"`send`\" pulumi-lang-python=\"`send`\" pulumi-lang-yaml=\"`send`\" pulumi-lang-java=\"`send`\"\u003e`send`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`listen`\" pulumi-lang-dotnet=\"`Listen`\" pulumi-lang-go=\"`listen`\" pulumi-lang-python=\"`listen`\" pulumi-lang-yaml=\"`listen`\" pulumi-lang-java=\"`listen`\"\u003e`listen`\u003c/span\u003e must also be set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"name":{"type":"string","description":"The name to use for this Authorization Rule. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"namespaceName":{"type":"string","description":"The name of the Notification Hub Namespace in which the Notification Hub exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"notificationHubName":{"type":"string","description":"The name of the Notification Hub for which the Authorization Rule should be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group in which the Notification Hub Namespace exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"send":{"type":"boolean","description":"Does this Authorization Rule have Send access to the Notification Hub? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"}},"requiredInputs":["namespaceName","notificationHubName","resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering AuthorizationRule resources.\n","properties":{"listen":{"type":"boolean","description":"Does this Authorization Rule have Listen access to the Notification Hub? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"manage":{"type":"boolean","description":"Does this Authorization Rule have Manage access to the Notification Hub? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** If \u003cspan pulumi-lang-nodejs=\"`manage`\" pulumi-lang-dotnet=\"`Manage`\" pulumi-lang-go=\"`manage`\" pulumi-lang-python=\"`manage`\" pulumi-lang-yaml=\"`manage`\" pulumi-lang-java=\"`manage`\"\u003e`manage`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e then both \u003cspan pulumi-lang-nodejs=\"`send`\" pulumi-lang-dotnet=\"`Send`\" pulumi-lang-go=\"`send`\" pulumi-lang-python=\"`send`\" pulumi-lang-yaml=\"`send`\" pulumi-lang-java=\"`send`\"\u003e`send`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`listen`\" pulumi-lang-dotnet=\"`Listen`\" pulumi-lang-go=\"`listen`\" pulumi-lang-python=\"`listen`\" pulumi-lang-yaml=\"`listen`\" pulumi-lang-java=\"`listen`\"\u003e`listen`\u003c/span\u003e must also be set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"name":{"type":"string","description":"The name to use for this Authorization Rule. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"namespaceName":{"type":"string","description":"The name of the Notification Hub Namespace in which the Notification Hub exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"notificationHubName":{"type":"string","description":"The name of the Notification Hub for which the Authorization Rule should be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"primaryAccessKey":{"type":"string","description":"The Primary Access Key associated with this Authorization Rule.\n","secret":true},"primaryConnectionString":{"type":"string","description":"The Primary Connetion String associated with this Authorization Rule.\n","secret":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group in which the Notification Hub Namespace exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"secondaryAccessKey":{"type":"string","description":"The Secondary Access Key associated with this Authorization Rule.\n","secret":true},"secondaryConnectionString":{"type":"string","description":"The Secondary Connetion String associated with this Authorization Rule.\n","secret":true},"send":{"type":"boolean","description":"Does this Authorization Rule have Send access to the Notification Hub? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"}},"type":"object"}},"azure:notificationhub/hub:Hub":{"description":"Manages a Notification Hub within a Notification Hub Namespace.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"notificationhub-resources\",\n    location: \"West Europe\",\n});\nconst exampleNamespace = new azure.notificationhub.Namespace(\"example\", {\n    name: \"myappnamespace\",\n    resourceGroupName: example.name,\n    location: example.location,\n    namespaceType: \"NotificationHub\",\n    skuName: \"Free\",\n});\nconst exampleHub = new azure.notificationhub.Hub(\"example\", {\n    name: \"mynotificationhub\",\n    namespaceName: exampleNamespace.name,\n    resourceGroupName: example.name,\n    location: example.location,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"notificationhub-resources\",\n    location=\"West Europe\")\nexample_namespace = azure.notificationhub.Namespace(\"example\",\n    name=\"myappnamespace\",\n    resource_group_name=example.name,\n    location=example.location,\n    namespace_type=\"NotificationHub\",\n    sku_name=\"Free\")\nexample_hub = azure.notificationhub.Hub(\"example\",\n    name=\"mynotificationhub\",\n    namespace_name=example_namespace.name,\n    resource_group_name=example.name,\n    location=example.location)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"notificationhub-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleNamespace = new Azure.NotificationHub.Namespace(\"example\", new()\n    {\n        Name = \"myappnamespace\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        NamespaceType = \"NotificationHub\",\n        SkuName = \"Free\",\n    });\n\n    var exampleHub = new Azure.NotificationHub.Hub(\"example\", new()\n    {\n        Name = \"mynotificationhub\",\n        NamespaceName = exampleNamespace.Name,\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/notificationhub\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"notificationhub-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNamespace, err := notificationhub.NewNamespace(ctx, \"example\", \u0026notificationhub.NamespaceArgs{\n\t\t\tName:              pulumi.String(\"myappnamespace\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tNamespaceType:     pulumi.String(\"NotificationHub\"),\n\t\t\tSkuName:           pulumi.String(\"Free\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = notificationhub.NewHub(ctx, \"example\", \u0026notificationhub.HubArgs{\n\t\t\tName:              pulumi.String(\"mynotificationhub\"),\n\t\t\tNamespaceName:     exampleNamespace.Name,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.notificationhub.Namespace;\nimport com.pulumi.azure.notificationhub.NamespaceArgs;\nimport com.pulumi.azure.notificationhub.Hub;\nimport com.pulumi.azure.notificationhub.HubArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"notificationhub-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleNamespace = new Namespace(\"exampleNamespace\", NamespaceArgs.builder()\n            .name(\"myappnamespace\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .namespaceType(\"NotificationHub\")\n            .skuName(\"Free\")\n            .build());\n\n        var exampleHub = new Hub(\"exampleHub\", HubArgs.builder()\n            .name(\"mynotificationhub\")\n            .namespaceName(exampleNamespace.name())\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: notificationhub-resources\n      location: West Europe\n  exampleNamespace:\n    type: azure:notificationhub:Namespace\n    name: example\n    properties:\n      name: myappnamespace\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      namespaceType: NotificationHub\n      skuName: Free\n  exampleHub:\n    type: azure:notificationhub:Hub\n    name: example\n    properties:\n      name: mynotificationhub\n      namespaceName: ${exampleNamespace.name}\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.NotificationHubs` - 2023-09-01\n\n## Import\n\nNotification Hubs can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:notificationhub/hub:Hub hub1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.NotificationHubs/namespaces/namespace1/notificationHubs/hub1\n```\n\n","properties":{"apnsCredential":{"$ref":"#/types/azure:notificationhub/HubApnsCredential:HubApnsCredential","description":"A \u003cspan pulumi-lang-nodejs=\"`apnsCredential`\" pulumi-lang-dotnet=\"`ApnsCredential`\" pulumi-lang-go=\"`apnsCredential`\" pulumi-lang-python=\"`apns_credential`\" pulumi-lang-yaml=\"`apnsCredential`\" pulumi-lang-java=\"`apnsCredential`\"\u003e`apns_credential`\u003c/span\u003e block as defined below.\n\n\u003e **Note:** Removing the \u003cspan pulumi-lang-nodejs=\"`apnsCredential`\" pulumi-lang-dotnet=\"`ApnsCredential`\" pulumi-lang-go=\"`apnsCredential`\" pulumi-lang-python=\"`apns_credential`\" pulumi-lang-yaml=\"`apnsCredential`\" pulumi-lang-java=\"`apnsCredential`\"\u003e`apns_credential`\u003c/span\u003e block will currently force a recreation of this resource [due to this bug in the Azure SDK for Go](https://github.com/Azure/azure-sdk-for-go/issues/2246) - we'll remove this limitation when the SDK bug is fixed.\n"},"browserCredential":{"$ref":"#/types/azure:notificationhub/HubBrowserCredential:HubBrowserCredential","description":"A \u003cspan pulumi-lang-nodejs=\"`browserCredential`\" pulumi-lang-dotnet=\"`BrowserCredential`\" pulumi-lang-go=\"`browserCredential`\" pulumi-lang-python=\"`browser_credential`\" pulumi-lang-yaml=\"`browserCredential`\" pulumi-lang-java=\"`browserCredential`\"\u003e`browser_credential`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n"},"gcmCredential":{"$ref":"#/types/azure:notificationhub/HubGcmCredential:HubGcmCredential","description":"A \u003cspan pulumi-lang-nodejs=\"`gcmCredential`\" pulumi-lang-dotnet=\"`GcmCredential`\" pulumi-lang-go=\"`gcmCredential`\" pulumi-lang-python=\"`gcm_credential`\" pulumi-lang-yaml=\"`gcmCredential`\" pulumi-lang-java=\"`gcmCredential`\"\u003e`gcm_credential`\u003c/span\u003e block as defined below.\n\n\u003e **Note:** Removing the \u003cspan pulumi-lang-nodejs=\"`gcmCredential`\" pulumi-lang-dotnet=\"`GcmCredential`\" pulumi-lang-go=\"`gcmCredential`\" pulumi-lang-python=\"`gcm_credential`\" pulumi-lang-yaml=\"`gcmCredential`\" pulumi-lang-java=\"`gcmCredential`\"\u003e`gcm_credential`\u003c/span\u003e block will currently force a recreation of this resource [due to this bug in the Azure SDK for Go](https://github.com/Azure/azure-sdk-for-go/issues/2246) - we'll remove this limitation when the SDK bug is fixed.\n"},"location":{"type":"string","description":"The Azure Region in which this Notification Hub Namespace exists. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"The name to use for this Notification Hub. Changing this forces a new resource to be created.\n"},"namespaceName":{"type":"string","description":"The name of the Notification Hub Namespace in which to create this Notification Hub. Changing this forces a new resource to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group in which the Notification Hub Namespace exists. Changing this forces a new resource to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"required":["location","name","namespaceName","resourceGroupName"],"inputProperties":{"apnsCredential":{"$ref":"#/types/azure:notificationhub/HubApnsCredential:HubApnsCredential","description":"A \u003cspan pulumi-lang-nodejs=\"`apnsCredential`\" pulumi-lang-dotnet=\"`ApnsCredential`\" pulumi-lang-go=\"`apnsCredential`\" pulumi-lang-python=\"`apns_credential`\" pulumi-lang-yaml=\"`apnsCredential`\" pulumi-lang-java=\"`apnsCredential`\"\u003e`apns_credential`\u003c/span\u003e block as defined below.\n\n\u003e **Note:** Removing the \u003cspan pulumi-lang-nodejs=\"`apnsCredential`\" pulumi-lang-dotnet=\"`ApnsCredential`\" pulumi-lang-go=\"`apnsCredential`\" pulumi-lang-python=\"`apns_credential`\" pulumi-lang-yaml=\"`apnsCredential`\" pulumi-lang-java=\"`apnsCredential`\"\u003e`apns_credential`\u003c/span\u003e block will currently force a recreation of this resource [due to this bug in the Azure SDK for Go](https://github.com/Azure/azure-sdk-for-go/issues/2246) - we'll remove this limitation when the SDK bug is fixed.\n"},"browserCredential":{"$ref":"#/types/azure:notificationhub/HubBrowserCredential:HubBrowserCredential","description":"A \u003cspan pulumi-lang-nodejs=\"`browserCredential`\" pulumi-lang-dotnet=\"`BrowserCredential`\" pulumi-lang-go=\"`browserCredential`\" pulumi-lang-python=\"`browser_credential`\" pulumi-lang-yaml=\"`browserCredential`\" pulumi-lang-java=\"`browserCredential`\"\u003e`browser_credential`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"gcmCredential":{"$ref":"#/types/azure:notificationhub/HubGcmCredential:HubGcmCredential","description":"A \u003cspan pulumi-lang-nodejs=\"`gcmCredential`\" pulumi-lang-dotnet=\"`GcmCredential`\" pulumi-lang-go=\"`gcmCredential`\" pulumi-lang-python=\"`gcm_credential`\" pulumi-lang-yaml=\"`gcmCredential`\" pulumi-lang-java=\"`gcmCredential`\"\u003e`gcm_credential`\u003c/span\u003e block as defined below.\n\n\u003e **Note:** Removing the \u003cspan pulumi-lang-nodejs=\"`gcmCredential`\" pulumi-lang-dotnet=\"`GcmCredential`\" pulumi-lang-go=\"`gcmCredential`\" pulumi-lang-python=\"`gcm_credential`\" pulumi-lang-yaml=\"`gcmCredential`\" pulumi-lang-java=\"`gcmCredential`\"\u003e`gcm_credential`\u003c/span\u003e block will currently force a recreation of this resource [due to this bug in the Azure SDK for Go](https://github.com/Azure/azure-sdk-for-go/issues/2246) - we'll remove this limitation when the SDK bug is fixed.\n"},"location":{"type":"string","description":"The Azure Region in which this Notification Hub Namespace exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name to use for this Notification Hub. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"namespaceName":{"type":"string","description":"The name of the Notification Hub Namespace in which to create this Notification Hub. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group in which the Notification Hub Namespace exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"requiredInputs":["namespaceName","resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering Hub resources.\n","properties":{"apnsCredential":{"$ref":"#/types/azure:notificationhub/HubApnsCredential:HubApnsCredential","description":"A \u003cspan pulumi-lang-nodejs=\"`apnsCredential`\" pulumi-lang-dotnet=\"`ApnsCredential`\" pulumi-lang-go=\"`apnsCredential`\" pulumi-lang-python=\"`apns_credential`\" pulumi-lang-yaml=\"`apnsCredential`\" pulumi-lang-java=\"`apnsCredential`\"\u003e`apns_credential`\u003c/span\u003e block as defined below.\n\n\u003e **Note:** Removing the \u003cspan pulumi-lang-nodejs=\"`apnsCredential`\" pulumi-lang-dotnet=\"`ApnsCredential`\" pulumi-lang-go=\"`apnsCredential`\" pulumi-lang-python=\"`apns_credential`\" pulumi-lang-yaml=\"`apnsCredential`\" pulumi-lang-java=\"`apnsCredential`\"\u003e`apns_credential`\u003c/span\u003e block will currently force a recreation of this resource [due to this bug in the Azure SDK for Go](https://github.com/Azure/azure-sdk-for-go/issues/2246) - we'll remove this limitation when the SDK bug is fixed.\n"},"browserCredential":{"$ref":"#/types/azure:notificationhub/HubBrowserCredential:HubBrowserCredential","description":"A \u003cspan pulumi-lang-nodejs=\"`browserCredential`\" pulumi-lang-dotnet=\"`BrowserCredential`\" pulumi-lang-go=\"`browserCredential`\" pulumi-lang-python=\"`browser_credential`\" pulumi-lang-yaml=\"`browserCredential`\" pulumi-lang-java=\"`browserCredential`\"\u003e`browser_credential`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"gcmCredential":{"$ref":"#/types/azure:notificationhub/HubGcmCredential:HubGcmCredential","description":"A \u003cspan pulumi-lang-nodejs=\"`gcmCredential`\" pulumi-lang-dotnet=\"`GcmCredential`\" pulumi-lang-go=\"`gcmCredential`\" pulumi-lang-python=\"`gcm_credential`\" pulumi-lang-yaml=\"`gcmCredential`\" pulumi-lang-java=\"`gcmCredential`\"\u003e`gcm_credential`\u003c/span\u003e block as defined below.\n\n\u003e **Note:** Removing the \u003cspan pulumi-lang-nodejs=\"`gcmCredential`\" pulumi-lang-dotnet=\"`GcmCredential`\" pulumi-lang-go=\"`gcmCredential`\" pulumi-lang-python=\"`gcm_credential`\" pulumi-lang-yaml=\"`gcmCredential`\" pulumi-lang-java=\"`gcmCredential`\"\u003e`gcm_credential`\u003c/span\u003e block will currently force a recreation of this resource [due to this bug in the Azure SDK for Go](https://github.com/Azure/azure-sdk-for-go/issues/2246) - we'll remove this limitation when the SDK bug is fixed.\n"},"location":{"type":"string","description":"The Azure Region in which this Notification Hub Namespace exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name to use for this Notification Hub. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"namespaceName":{"type":"string","description":"The name of the Notification Hub Namespace in which to create this Notification Hub. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group in which the Notification Hub Namespace exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"type":"object"}},"azure:notificationhub/namespace:Namespace":{"description":"Manages a Notification Hub Namespace.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"notificationhub-resources\",\n    location: \"West Europe\",\n});\nconst exampleNamespace = new azure.notificationhub.Namespace(\"example\", {\n    name: \"myappnamespace\",\n    resourceGroupName: example.name,\n    location: example.location,\n    namespaceType: \"NotificationHub\",\n    skuName: \"Free\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"notificationhub-resources\",\n    location=\"West Europe\")\nexample_namespace = azure.notificationhub.Namespace(\"example\",\n    name=\"myappnamespace\",\n    resource_group_name=example.name,\n    location=example.location,\n    namespace_type=\"NotificationHub\",\n    sku_name=\"Free\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"notificationhub-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleNamespace = new Azure.NotificationHub.Namespace(\"example\", new()\n    {\n        Name = \"myappnamespace\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        NamespaceType = \"NotificationHub\",\n        SkuName = \"Free\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/notificationhub\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"notificationhub-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = notificationhub.NewNamespace(ctx, \"example\", \u0026notificationhub.NamespaceArgs{\n\t\t\tName:              pulumi.String(\"myappnamespace\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tNamespaceType:     pulumi.String(\"NotificationHub\"),\n\t\t\tSkuName:           pulumi.String(\"Free\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.notificationhub.Namespace;\nimport com.pulumi.azure.notificationhub.NamespaceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"notificationhub-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleNamespace = new Namespace(\"exampleNamespace\", NamespaceArgs.builder()\n            .name(\"myappnamespace\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .namespaceType(\"NotificationHub\")\n            .skuName(\"Free\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: notificationhub-resources\n      location: West Europe\n  exampleNamespace:\n    type: azure:notificationhub:Namespace\n    name: example\n    properties:\n      name: myappnamespace\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      namespaceType: NotificationHub\n      skuName: Free\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.NotificationHubs` - 2023-09-01\n\n## Import\n\nNotification Hub Namespaces can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:notificationhub/namespace:Namespace namespace1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.NotificationHubs/namespaces/namespace1\n```\n\n","properties":{"enabled":{"type":"boolean","description":"Is this Notification Hub Namespace enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e. Changing this forces a new resource to be created.\n"},"location":{"type":"string","description":"The Azure Region in which this Notification Hub Namespace should be created. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"The name to use for this Notification Hub Namespace. Changing this forces a new resource to be created.\n"},"namespaceType":{"type":"string","description":"The Type of Namespace - possible values are `Messaging` or `NotificationHub`. Changing this forces a new resource to be created.\n"},"replicationRegion":{"type":"string","description":"The allowed Replication Region for the Notification Hub Namespace. Possible values are `Default`, `None`, `AustraliaEast`, `BrazilSouth`, `NorthEurope`, `SouthAfricaNorth`, `SouthEastAsia`, `WestUs2`. Changing this forces a new resource to be created. Defaults to `Default`.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group in which the Notification Hub Namespace should exist. Changing this forces a new resource to be created.\n"},"servicebusEndpoint":{"type":"string","description":"The ServiceBus Endpoint for this Notification Hub Namespace.\n"},"skuName":{"type":"string","description":"The name of the SKU to use for this Notification Hub Namespace. Possible values are `Free`, `Basic` or `Standard`.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"zoneRedundancyEnabled":{"type":"boolean","description":"Is Zone Redundancy Enabled for the Notification Hub Namespace. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Changing this forces a new resource to be created.\n"}},"required":["location","name","namespaceType","resourceGroupName","servicebusEndpoint","skuName"],"inputProperties":{"enabled":{"type":"boolean","description":"Is this Notification Hub Namespace enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"location":{"type":"string","description":"The Azure Region in which this Notification Hub Namespace should be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name to use for this Notification Hub Namespace. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"namespaceType":{"type":"string","description":"The Type of Namespace - possible values are `Messaging` or `NotificationHub`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"replicationRegion":{"type":"string","description":"The allowed Replication Region for the Notification Hub Namespace. Possible values are `Default`, `None`, `AustraliaEast`, `BrazilSouth`, `NorthEurope`, `SouthAfricaNorth`, `SouthEastAsia`, `WestUs2`. Changing this forces a new resource to be created. Defaults to `Default`.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group in which the Notification Hub Namespace should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"skuName":{"type":"string","description":"The name of the SKU to use for this Notification Hub Namespace. Possible values are `Free`, `Basic` or `Standard`.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"zoneRedundancyEnabled":{"type":"boolean","description":"Is Zone Redundancy Enabled for the Notification Hub Namespace. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["namespaceType","resourceGroupName","skuName"],"stateInputs":{"description":"Input properties used for looking up and filtering Namespace resources.\n","properties":{"enabled":{"type":"boolean","description":"Is this Notification Hub Namespace enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"location":{"type":"string","description":"The Azure Region in which this Notification Hub Namespace should be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name to use for this Notification Hub Namespace. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"namespaceType":{"type":"string","description":"The Type of Namespace - possible values are `Messaging` or `NotificationHub`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"replicationRegion":{"type":"string","description":"The allowed Replication Region for the Notification Hub Namespace. Possible values are `Default`, `None`, `AustraliaEast`, `BrazilSouth`, `NorthEurope`, `SouthAfricaNorth`, `SouthEastAsia`, `WestUs2`. Changing this forces a new resource to be created. Defaults to `Default`.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group in which the Notification Hub Namespace should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"servicebusEndpoint":{"type":"string","description":"The ServiceBus Endpoint for this Notification Hub Namespace.\n"},"skuName":{"type":"string","description":"The name of the SKU to use for this Notification Hub Namespace. Possible values are `Free`, `Basic` or `Standard`.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"zoneRedundancyEnabled":{"type":"boolean","description":"Is Zone Redundancy Enabled for the Notification Hub Namespace. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:operationalinsights/analyticsSolution:AnalyticsSolution":{"description":"Manages a Log Analytics (formally Operational Insights) Solution.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\nimport * as random from \"@pulumi/random\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"k8s-log-analytics-test\",\n    location: \"West Europe\",\n});\nconst workspace = new random.index.Id(\"workspace\", {\n    keepers: {\n        groupName: example.name,\n    },\n    byteLength: 8,\n});\nconst exampleAnalyticsWorkspace = new azure.operationalinsights.AnalyticsWorkspace(\"example\", {\n    name: `k8s-workspace-${workspace.hex}`,\n    location: example.location,\n    resourceGroupName: example.name,\n    sku: \"PerGB2018\",\n});\nconst exampleAnalyticsSolution = new azure.operationalinsights.AnalyticsSolution(\"example\", {\n    solutionName: \"ContainerInsights\",\n    location: example.location,\n    resourceGroupName: example.name,\n    workspaceResourceId: exampleAnalyticsWorkspace.id,\n    workspaceName: exampleAnalyticsWorkspace.name,\n    plan: {\n        publisher: \"Microsoft\",\n        product: \"OMSGallery/ContainerInsights\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\nimport pulumi_random as random\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"k8s-log-analytics-test\",\n    location=\"West Europe\")\nworkspace = random.index.Id(\"workspace\",\n    keepers={\n        groupName: example.name,\n    },\n    byte_length=8)\nexample_analytics_workspace = azure.operationalinsights.AnalyticsWorkspace(\"example\",\n    name=f\"k8s-workspace-{workspace['hex']}\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku=\"PerGB2018\")\nexample_analytics_solution = azure.operationalinsights.AnalyticsSolution(\"example\",\n    solution_name=\"ContainerInsights\",\n    location=example.location,\n    resource_group_name=example.name,\n    workspace_resource_id=example_analytics_workspace.id,\n    workspace_name=example_analytics_workspace.name,\n    plan={\n        \"publisher\": \"Microsoft\",\n        \"product\": \"OMSGallery/ContainerInsights\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"k8s-log-analytics-test\",\n        Location = \"West Europe\",\n    });\n\n    var workspace = new Random.Index.Id(\"workspace\", new()\n    {\n        Keepers = \n        {\n            { \"groupName\", example.Name },\n        },\n        ByteLength = 8,\n    });\n\n    var exampleAnalyticsWorkspace = new Azure.OperationalInsights.AnalyticsWorkspace(\"example\", new()\n    {\n        Name = $\"k8s-workspace-{workspace.Hex}\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Sku = \"PerGB2018\",\n    });\n\n    var exampleAnalyticsSolution = new Azure.OperationalInsights.AnalyticsSolution(\"example\", new()\n    {\n        SolutionName = \"ContainerInsights\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        WorkspaceResourceId = exampleAnalyticsWorkspace.Id,\n        WorkspaceName = exampleAnalyticsWorkspace.Name,\n        Plan = new Azure.OperationalInsights.Inputs.AnalyticsSolutionPlanArgs\n        {\n            Publisher = \"Microsoft\",\n            Product = \"OMSGallery/ContainerInsights\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/operationalinsights\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"k8s-log-analytics-test\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tworkspace, err := random.NewId(ctx, \"workspace\", \u0026random.IdArgs{\n\t\t\tKeepers: map[string]interface{}{\n\t\t\t\t\"groupName\": example.Name,\n\t\t\t},\n\t\t\tByteLength: 8,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAnalyticsWorkspace, err := operationalinsights.NewAnalyticsWorkspace(ctx, \"example\", \u0026operationalinsights.AnalyticsWorkspaceArgs{\n\t\t\tName:              pulumi.Sprintf(\"k8s-workspace-%v\", workspace.Hex),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSku:               pulumi.String(\"PerGB2018\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = operationalinsights.NewAnalyticsSolution(ctx, \"example\", \u0026operationalinsights.AnalyticsSolutionArgs{\n\t\t\tSolutionName:        pulumi.String(\"ContainerInsights\"),\n\t\t\tLocation:            example.Location,\n\t\t\tResourceGroupName:   example.Name,\n\t\t\tWorkspaceResourceId: exampleAnalyticsWorkspace.ID(),\n\t\t\tWorkspaceName:       exampleAnalyticsWorkspace.Name,\n\t\t\tPlan: \u0026operationalinsights.AnalyticsSolutionPlanArgs{\n\t\t\t\tPublisher: pulumi.String(\"Microsoft\"),\n\t\t\t\tProduct:   pulumi.String(\"OMSGallery/ContainerInsights\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.random.Id;\nimport com.pulumi.random.IdArgs;\nimport com.pulumi.azure.operationalinsights.AnalyticsWorkspace;\nimport com.pulumi.azure.operationalinsights.AnalyticsWorkspaceArgs;\nimport com.pulumi.azure.operationalinsights.AnalyticsSolution;\nimport com.pulumi.azure.operationalinsights.AnalyticsSolutionArgs;\nimport com.pulumi.azure.operationalinsights.inputs.AnalyticsSolutionPlanArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"k8s-log-analytics-test\")\n            .location(\"West Europe\")\n            .build());\n\n        var workspace = new Id(\"workspace\", IdArgs.builder()\n            .keepers(Map.of(\"groupName\", example.name()))\n            .byteLength(8)\n            .build());\n\n        var exampleAnalyticsWorkspace = new AnalyticsWorkspace(\"exampleAnalyticsWorkspace\", AnalyticsWorkspaceArgs.builder()\n            .name(String.format(\"k8s-workspace-%s\", workspace.hex()))\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .sku(\"PerGB2018\")\n            .build());\n\n        var exampleAnalyticsSolution = new AnalyticsSolution(\"exampleAnalyticsSolution\", AnalyticsSolutionArgs.builder()\n            .solutionName(\"ContainerInsights\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .workspaceResourceId(exampleAnalyticsWorkspace.id())\n            .workspaceName(exampleAnalyticsWorkspace.name())\n            .plan(AnalyticsSolutionPlanArgs.builder()\n                .publisher(\"Microsoft\")\n                .product(\"OMSGallery/ContainerInsights\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: k8s-log-analytics-test\n      location: West Europe\n  workspace:\n    type: random:Id\n    properties:\n      keepers:\n        groupName: ${example.name}\n      byteLength: 8\n  exampleAnalyticsWorkspace:\n    type: azure:operationalinsights:AnalyticsWorkspace\n    name: example\n    properties:\n      name: k8s-workspace-${workspace.hex}\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      sku: PerGB2018\n  exampleAnalyticsSolution:\n    type: azure:operationalinsights:AnalyticsSolution\n    name: example\n    properties:\n      solutionName: ContainerInsights\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      workspaceResourceId: ${exampleAnalyticsWorkspace.id}\n      workspaceName: ${exampleAnalyticsWorkspace.name}\n      plan:\n        publisher: Microsoft\n        product: OMSGallery/ContainerInsights\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.OperationsManagement` - 2015-11-01-preview\n\n## Import\n\nLog Analytics Solutions can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:operationalinsights/analyticsSolution:AnalyticsSolution solution1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.OperationsManagement/solutions/solution1\n```\n\n","properties":{"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n"},"plan":{"$ref":"#/types/azure:operationalinsights/AnalyticsSolutionPlan:AnalyticsSolutionPlan","description":"A \u003cspan pulumi-lang-nodejs=\"`plan`\" pulumi-lang-dotnet=\"`Plan`\" pulumi-lang-go=\"`plan`\" pulumi-lang-python=\"`plan`\" pulumi-lang-yaml=\"`plan`\" pulumi-lang-java=\"`plan`\"\u003e`plan`\u003c/span\u003e block as documented below.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the Log Analytics solution is created. Changing this forces a new resource to be created. Note: The solution and its related workspace can only exist in the same resource group.\n"},"solutionName":{"type":"string","description":"Specifies the name of the solution to be deployed. See [here for options](https://docs.microsoft.com/azure/log-analytics/log-analytics-add-solutions).Changing this forces a new resource to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"workspaceName":{"type":"string","description":"The full name of the Log Analytics workspace with which the solution will be linked. Changing this forces a new resource to be created.\n"},"workspaceResourceId":{"type":"string","description":"The full resource ID of the Log Analytics workspace with which the solution will be linked. Changing this forces a new resource to be created.\n"}},"required":["location","plan","resourceGroupName","solutionName","workspaceName","workspaceResourceId"],"inputProperties":{"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"plan":{"$ref":"#/types/azure:operationalinsights/AnalyticsSolutionPlan:AnalyticsSolutionPlan","description":"A \u003cspan pulumi-lang-nodejs=\"`plan`\" pulumi-lang-dotnet=\"`Plan`\" pulumi-lang-go=\"`plan`\" pulumi-lang-python=\"`plan`\" pulumi-lang-yaml=\"`plan`\" pulumi-lang-java=\"`plan`\"\u003e`plan`\u003c/span\u003e block as documented below.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the Log Analytics solution is created. Changing this forces a new resource to be created. Note: The solution and its related workspace can only exist in the same resource group.\n","willReplaceOnChanges":true},"solutionName":{"type":"string","description":"Specifies the name of the solution to be deployed. See [here for options](https://docs.microsoft.com/azure/log-analytics/log-analytics-add-solutions).Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"workspaceName":{"type":"string","description":"The full name of the Log Analytics workspace with which the solution will be linked. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"workspaceResourceId":{"type":"string","description":"The full resource ID of the Log Analytics workspace with which the solution will be linked. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["plan","resourceGroupName","solutionName","workspaceName","workspaceResourceId"],"stateInputs":{"description":"Input properties used for looking up and filtering AnalyticsSolution resources.\n","properties":{"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"plan":{"$ref":"#/types/azure:operationalinsights/AnalyticsSolutionPlan:AnalyticsSolutionPlan","description":"A \u003cspan pulumi-lang-nodejs=\"`plan`\" pulumi-lang-dotnet=\"`Plan`\" pulumi-lang-go=\"`plan`\" pulumi-lang-python=\"`plan`\" pulumi-lang-yaml=\"`plan`\" pulumi-lang-java=\"`plan`\"\u003e`plan`\u003c/span\u003e block as documented below.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the Log Analytics solution is created. Changing this forces a new resource to be created. Note: The solution and its related workspace can only exist in the same resource group.\n","willReplaceOnChanges":true},"solutionName":{"type":"string","description":"Specifies the name of the solution to be deployed. See [here for options](https://docs.microsoft.com/azure/log-analytics/log-analytics-add-solutions).Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"workspaceName":{"type":"string","description":"The full name of the Log Analytics workspace with which the solution will be linked. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"workspaceResourceId":{"type":"string","description":"The full resource ID of the Log Analytics workspace with which the solution will be linked. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:operationalinsights/analyticsWorkspace:AnalyticsWorkspace":{"description":"Manages a Log Analytics (formally Operational Insights) Workspace.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleAnalyticsWorkspace = new azure.operationalinsights.AnalyticsWorkspace(\"example\", {\n    name: \"example\",\n    location: example.location,\n    resourceGroupName: example.name,\n    sku: \"PerGB2018\",\n    retentionInDays: 30,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_analytics_workspace = azure.operationalinsights.AnalyticsWorkspace(\"example\",\n    name=\"example\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku=\"PerGB2018\",\n    retention_in_days=30)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleAnalyticsWorkspace = new Azure.OperationalInsights.AnalyticsWorkspace(\"example\", new()\n    {\n        Name = \"example\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Sku = \"PerGB2018\",\n        RetentionInDays = 30,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/operationalinsights\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = operationalinsights.NewAnalyticsWorkspace(ctx, \"example\", \u0026operationalinsights.AnalyticsWorkspaceArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSku:               pulumi.String(\"PerGB2018\"),\n\t\t\tRetentionInDays:   pulumi.Int(30),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.operationalinsights.AnalyticsWorkspace;\nimport com.pulumi.azure.operationalinsights.AnalyticsWorkspaceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleAnalyticsWorkspace = new AnalyticsWorkspace(\"exampleAnalyticsWorkspace\", AnalyticsWorkspaceArgs.builder()\n            .name(\"example\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .sku(\"PerGB2018\")\n            .retentionInDays(30)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleAnalyticsWorkspace:\n    type: azure:operationalinsights:AnalyticsWorkspace\n    name: example\n    properties:\n      name: example\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      sku: PerGB2018\n      retentionInDays: 30\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.OperationalInsights` - 2022-10-01, 2020-08-01\n\n## Import\n\nLog Analytics Workspaces can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:operationalinsights/analyticsWorkspace:AnalyticsWorkspace workspace1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.OperationalInsights/workspaces/workspace1\n```\n\n","properties":{"allowResourceOnlyPermissions":{"type":"boolean","description":"Specifies if the log Analytics Workspace allows users accessing to data associated with the resources they have permission to view, without permission to workspace. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"cmkForQueryForced":{"type":"boolean","description":"Is Customer Managed Storage mandatory for query management?\n"},"dailyQuotaGb":{"type":"number","description":"The workspace daily quota for ingestion in GB. Defaults to `-1` (unlimited) if omitted.\n"},"dataCollectionRuleId":{"type":"string","description":"The ID of the Data Collection Rule to use for this workspace.\n"},"identity":{"$ref":"#/types/azure:operationalinsights/AnalyticsWorkspaceIdentity:AnalyticsWorkspaceIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"immediateDataPurgeOn30DaysEnabled":{"type":"boolean","description":"Whether to remove the data in the Log Analytics Workspace immediately after 30 days.\n"},"internetIngestionEnabled":{"type":"boolean","description":"Should the Log Analytics Workspace support ingestion over the Public Internet? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"internetQueryEnabled":{"type":"boolean","description":"Should the Log Analytics Workspace support querying over the Public Internet? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"localAuthenticationDisabled":{"type":"boolean","deprecationMessage":"\u003cspan pulumi-lang-nodejs=\"`localAuthenticationDisabled`\" pulumi-lang-dotnet=\"`LocalAuthenticationDisabled`\" pulumi-lang-go=\"`localAuthenticationDisabled`\" pulumi-lang-python=\"`local_authentication_disabled`\" pulumi-lang-yaml=\"`localAuthenticationDisabled`\" pulumi-lang-java=\"`localAuthenticationDisabled`\"\u003e`local_authentication_disabled`\u003c/span\u003e has been deprecated in favour of \u003cspan pulumi-lang-nodejs=\"`localAuthenticationEnabled`\" pulumi-lang-dotnet=\"`LocalAuthenticationEnabled`\" pulumi-lang-go=\"`localAuthenticationEnabled`\" pulumi-lang-python=\"`local_authentication_enabled`\" pulumi-lang-yaml=\"`localAuthenticationEnabled`\" pulumi-lang-java=\"`localAuthenticationEnabled`\"\u003e`local_authentication_enabled`\u003c/span\u003e and will be removed in v5.0 of the AzureRM Provider"},"localAuthenticationEnabled":{"type":"boolean","description":"Specifies if the log Analytics workspace should allow local authentication methods in addition to Microsoft Entra (Azure AD). Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"Specifies the name of the Log Analytics Workspace. Workspace name should include 4-63 letters, digits or '-'. The '-' shouldn't be the first or the last symbol. Changing this forces a new resource to be created.\n"},"primarySharedKey":{"type":"string","description":"The Primary shared key for the Log Analytics Workspace.\n","secret":true},"reservationCapacityInGbPerDay":{"type":"integer","description":"The capacity reservation level in GB for this workspace. Possible values are \u003cspan pulumi-lang-nodejs=\"`100`\" pulumi-lang-dotnet=\"`100`\" pulumi-lang-go=\"`100`\" pulumi-lang-python=\"`100`\" pulumi-lang-yaml=\"`100`\" pulumi-lang-java=\"`100`\"\u003e`100`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`200`\" pulumi-lang-dotnet=\"`200`\" pulumi-lang-go=\"`200`\" pulumi-lang-python=\"`200`\" pulumi-lang-yaml=\"`200`\" pulumi-lang-java=\"`200`\"\u003e`200`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`300`\" pulumi-lang-dotnet=\"`300`\" pulumi-lang-go=\"`300`\" pulumi-lang-python=\"`300`\" pulumi-lang-yaml=\"`300`\" pulumi-lang-java=\"`300`\"\u003e`300`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`400`\" pulumi-lang-dotnet=\"`400`\" pulumi-lang-go=\"`400`\" pulumi-lang-python=\"`400`\" pulumi-lang-yaml=\"`400`\" pulumi-lang-java=\"`400`\"\u003e`400`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`500`\" pulumi-lang-dotnet=\"`500`\" pulumi-lang-go=\"`500`\" pulumi-lang-python=\"`500`\" pulumi-lang-yaml=\"`500`\" pulumi-lang-java=\"`500`\"\u003e`500`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`1000`\" pulumi-lang-dotnet=\"`1000`\" pulumi-lang-go=\"`1000`\" pulumi-lang-python=\"`1000`\" pulumi-lang-yaml=\"`1000`\" pulumi-lang-java=\"`1000`\"\u003e`1000`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`2000`\" pulumi-lang-dotnet=\"`2000`\" pulumi-lang-go=\"`2000`\" pulumi-lang-python=\"`2000`\" pulumi-lang-yaml=\"`2000`\" pulumi-lang-java=\"`2000`\"\u003e`2000`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`5000`\" pulumi-lang-dotnet=\"`5000`\" pulumi-lang-go=\"`5000`\" pulumi-lang-python=\"`5000`\" pulumi-lang-yaml=\"`5000`\" pulumi-lang-java=\"`5000`\"\u003e`5000`\u003c/span\u003e.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`reservationCapacityInGbPerDay`\" pulumi-lang-dotnet=\"`ReservationCapacityInGbPerDay`\" pulumi-lang-go=\"`reservationCapacityInGbPerDay`\" pulumi-lang-python=\"`reservation_capacity_in_gb_per_day`\" pulumi-lang-yaml=\"`reservationCapacityInGbPerDay`\" pulumi-lang-java=\"`reservationCapacityInGbPerDay`\"\u003e`reservation_capacity_in_gb_per_day`\u003c/span\u003e can only be used when the \u003cspan pulumi-lang-nodejs=\"`sku`\" pulumi-lang-dotnet=\"`Sku`\" pulumi-lang-go=\"`sku`\" pulumi-lang-python=\"`sku`\" pulumi-lang-yaml=\"`sku`\" pulumi-lang-java=\"`sku`\"\u003e`sku`\u003c/span\u003e is set to `CapacityReservation`.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the Log Analytics workspace is created. Changing this forces a new resource to be created.\n"},"retentionInDays":{"type":"integer","description":"The workspace data retention in days. Possible values are between \u003cspan pulumi-lang-nodejs=\"`30`\" pulumi-lang-dotnet=\"`30`\" pulumi-lang-go=\"`30`\" pulumi-lang-python=\"`30`\" pulumi-lang-yaml=\"`30`\" pulumi-lang-java=\"`30`\"\u003e`30`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`730`\" pulumi-lang-dotnet=\"`730`\" pulumi-lang-go=\"`730`\" pulumi-lang-python=\"`730`\" pulumi-lang-yaml=\"`730`\" pulumi-lang-java=\"`730`\"\u003e`730`\u003c/span\u003e.\n"},"secondarySharedKey":{"type":"string","description":"The Secondary shared key for the Log Analytics Workspace.\n","secret":true},"sku":{"type":"string","description":"Specifies the SKU of the Log Analytics Workspace. Possible values are `PerGB2018`, `PerNode`, `Premium`, `Standalone`, `Standard`, `CapacityReservation`, `LACluster` and `Unlimited`. Defaults to `PerGB2018`.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`sku`\" pulumi-lang-dotnet=\"`Sku`\" pulumi-lang-go=\"`sku`\" pulumi-lang-python=\"`sku`\" pulumi-lang-yaml=\"`sku`\" pulumi-lang-java=\"`sku`\"\u003e`sku`\u003c/span\u003e should only be set to `LACluster` when the Log Analytics Workspace is linked to a Log Analytics Cluster. Additionally, \u003cspan pulumi-lang-nodejs=\"`sku`\" pulumi-lang-dotnet=\"`Sku`\" pulumi-lang-go=\"`sku`\" pulumi-lang-python=\"`sku`\" pulumi-lang-yaml=\"`sku`\" pulumi-lang-java=\"`sku`\"\u003e`sku`\u003c/span\u003e cannot be modified while linked.\n\n\u003e **Note:** Changing \u003cspan pulumi-lang-nodejs=\"`sku`\" pulumi-lang-dotnet=\"`Sku`\" pulumi-lang-go=\"`sku`\" pulumi-lang-python=\"`sku`\" pulumi-lang-yaml=\"`sku`\" pulumi-lang-java=\"`sku`\"\u003e`sku`\u003c/span\u003e forces a new Log Analytics Workspace to be created, except when changing between `PerGB2018` and `CapacityReservation`. Changing \u003cspan pulumi-lang-nodejs=\"`sku`\" pulumi-lang-dotnet=\"`Sku`\" pulumi-lang-go=\"`sku`\" pulumi-lang-python=\"`sku`\" pulumi-lang-yaml=\"`sku`\" pulumi-lang-java=\"`sku`\"\u003e`sku`\u003c/span\u003e to `CapacityReservation` or changing \u003cspan pulumi-lang-nodejs=\"`reservationCapacityInGbPerDay`\" pulumi-lang-dotnet=\"`ReservationCapacityInGbPerDay`\" pulumi-lang-go=\"`reservationCapacityInGbPerDay`\" pulumi-lang-python=\"`reservation_capacity_in_gb_per_day`\" pulumi-lang-yaml=\"`reservationCapacityInGbPerDay`\" pulumi-lang-java=\"`reservationCapacityInGbPerDay`\"\u003e`reservation_capacity_in_gb_per_day`\u003c/span\u003e to a higher tier will lead to a 31-days commitment period, during which the SKU cannot be changed to a lower one. Please refer to [official documentation](https://learn.microsoft.com/en-us/azure/azure-monitor/logs/cost-logs#commitment-tiers) for further information.\n\n\u003e **Note:** A new pricing model took effect on `2018-04-03`, which requires the SKU `PerGB2018`. If you've provisioned resources before this date you have the option of remaining with the previous Pricing SKU and using the other SKUs defined above. More information about [the Pricing SKUs is available at the following URI](https://aka.ms/PricingTierWarning).\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"workspaceId":{"type":"string","description":"The Workspace (or Customer) ID for the Log Analytics Workspace.\n"}},"required":["localAuthenticationDisabled","localAuthenticationEnabled","location","name","primarySharedKey","resourceGroupName","retentionInDays","secondarySharedKey","sku","workspaceId"],"inputProperties":{"allowResourceOnlyPermissions":{"type":"boolean","description":"Specifies if the log Analytics Workspace allows users accessing to data associated with the resources they have permission to view, without permission to workspace. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"cmkForQueryForced":{"type":"boolean","description":"Is Customer Managed Storage mandatory for query management?\n"},"dailyQuotaGb":{"type":"number","description":"The workspace daily quota for ingestion in GB. Defaults to `-1` (unlimited) if omitted.\n"},"dataCollectionRuleId":{"type":"string","description":"The ID of the Data Collection Rule to use for this workspace.\n"},"identity":{"$ref":"#/types/azure:operationalinsights/AnalyticsWorkspaceIdentity:AnalyticsWorkspaceIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"immediateDataPurgeOn30DaysEnabled":{"type":"boolean","description":"Whether to remove the data in the Log Analytics Workspace immediately after 30 days.\n"},"internetIngestionEnabled":{"type":"boolean","description":"Should the Log Analytics Workspace support ingestion over the Public Internet? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"internetQueryEnabled":{"type":"boolean","description":"Should the Log Analytics Workspace support querying over the Public Internet? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"localAuthenticationDisabled":{"type":"boolean","deprecationMessage":"\u003cspan pulumi-lang-nodejs=\"`localAuthenticationDisabled`\" pulumi-lang-dotnet=\"`LocalAuthenticationDisabled`\" pulumi-lang-go=\"`localAuthenticationDisabled`\" pulumi-lang-python=\"`local_authentication_disabled`\" pulumi-lang-yaml=\"`localAuthenticationDisabled`\" pulumi-lang-java=\"`localAuthenticationDisabled`\"\u003e`local_authentication_disabled`\u003c/span\u003e has been deprecated in favour of \u003cspan pulumi-lang-nodejs=\"`localAuthenticationEnabled`\" pulumi-lang-dotnet=\"`LocalAuthenticationEnabled`\" pulumi-lang-go=\"`localAuthenticationEnabled`\" pulumi-lang-python=\"`local_authentication_enabled`\" pulumi-lang-yaml=\"`localAuthenticationEnabled`\" pulumi-lang-java=\"`localAuthenticationEnabled`\"\u003e`local_authentication_enabled`\u003c/span\u003e and will be removed in v5.0 of the AzureRM Provider"},"localAuthenticationEnabled":{"type":"boolean","description":"Specifies if the log Analytics workspace should allow local authentication methods in addition to Microsoft Entra (Azure AD). Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the Log Analytics Workspace. Workspace name should include 4-63 letters, digits or '-'. The '-' shouldn't be the first or the last symbol. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"reservationCapacityInGbPerDay":{"type":"integer","description":"The capacity reservation level in GB for this workspace. Possible values are \u003cspan pulumi-lang-nodejs=\"`100`\" pulumi-lang-dotnet=\"`100`\" pulumi-lang-go=\"`100`\" pulumi-lang-python=\"`100`\" pulumi-lang-yaml=\"`100`\" pulumi-lang-java=\"`100`\"\u003e`100`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`200`\" pulumi-lang-dotnet=\"`200`\" pulumi-lang-go=\"`200`\" pulumi-lang-python=\"`200`\" pulumi-lang-yaml=\"`200`\" pulumi-lang-java=\"`200`\"\u003e`200`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`300`\" pulumi-lang-dotnet=\"`300`\" pulumi-lang-go=\"`300`\" pulumi-lang-python=\"`300`\" pulumi-lang-yaml=\"`300`\" pulumi-lang-java=\"`300`\"\u003e`300`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`400`\" pulumi-lang-dotnet=\"`400`\" pulumi-lang-go=\"`400`\" pulumi-lang-python=\"`400`\" pulumi-lang-yaml=\"`400`\" pulumi-lang-java=\"`400`\"\u003e`400`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`500`\" pulumi-lang-dotnet=\"`500`\" pulumi-lang-go=\"`500`\" pulumi-lang-python=\"`500`\" pulumi-lang-yaml=\"`500`\" pulumi-lang-java=\"`500`\"\u003e`500`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`1000`\" pulumi-lang-dotnet=\"`1000`\" pulumi-lang-go=\"`1000`\" pulumi-lang-python=\"`1000`\" pulumi-lang-yaml=\"`1000`\" pulumi-lang-java=\"`1000`\"\u003e`1000`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`2000`\" pulumi-lang-dotnet=\"`2000`\" pulumi-lang-go=\"`2000`\" pulumi-lang-python=\"`2000`\" pulumi-lang-yaml=\"`2000`\" pulumi-lang-java=\"`2000`\"\u003e`2000`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`5000`\" pulumi-lang-dotnet=\"`5000`\" pulumi-lang-go=\"`5000`\" pulumi-lang-python=\"`5000`\" pulumi-lang-yaml=\"`5000`\" pulumi-lang-java=\"`5000`\"\u003e`5000`\u003c/span\u003e.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`reservationCapacityInGbPerDay`\" pulumi-lang-dotnet=\"`ReservationCapacityInGbPerDay`\" pulumi-lang-go=\"`reservationCapacityInGbPerDay`\" pulumi-lang-python=\"`reservation_capacity_in_gb_per_day`\" pulumi-lang-yaml=\"`reservationCapacityInGbPerDay`\" pulumi-lang-java=\"`reservationCapacityInGbPerDay`\"\u003e`reservation_capacity_in_gb_per_day`\u003c/span\u003e can only be used when the \u003cspan pulumi-lang-nodejs=\"`sku`\" pulumi-lang-dotnet=\"`Sku`\" pulumi-lang-go=\"`sku`\" pulumi-lang-python=\"`sku`\" pulumi-lang-yaml=\"`sku`\" pulumi-lang-java=\"`sku`\"\u003e`sku`\u003c/span\u003e is set to `CapacityReservation`.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the Log Analytics workspace is created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"retentionInDays":{"type":"integer","description":"The workspace data retention in days. Possible values are between \u003cspan pulumi-lang-nodejs=\"`30`\" pulumi-lang-dotnet=\"`30`\" pulumi-lang-go=\"`30`\" pulumi-lang-python=\"`30`\" pulumi-lang-yaml=\"`30`\" pulumi-lang-java=\"`30`\"\u003e`30`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`730`\" pulumi-lang-dotnet=\"`730`\" pulumi-lang-go=\"`730`\" pulumi-lang-python=\"`730`\" pulumi-lang-yaml=\"`730`\" pulumi-lang-java=\"`730`\"\u003e`730`\u003c/span\u003e.\n"},"sku":{"type":"string","description":"Specifies the SKU of the Log Analytics Workspace. Possible values are `PerGB2018`, `PerNode`, `Premium`, `Standalone`, `Standard`, `CapacityReservation`, `LACluster` and `Unlimited`. Defaults to `PerGB2018`.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`sku`\" pulumi-lang-dotnet=\"`Sku`\" pulumi-lang-go=\"`sku`\" pulumi-lang-python=\"`sku`\" pulumi-lang-yaml=\"`sku`\" pulumi-lang-java=\"`sku`\"\u003e`sku`\u003c/span\u003e should only be set to `LACluster` when the Log Analytics Workspace is linked to a Log Analytics Cluster. Additionally, \u003cspan pulumi-lang-nodejs=\"`sku`\" pulumi-lang-dotnet=\"`Sku`\" pulumi-lang-go=\"`sku`\" pulumi-lang-python=\"`sku`\" pulumi-lang-yaml=\"`sku`\" pulumi-lang-java=\"`sku`\"\u003e`sku`\u003c/span\u003e cannot be modified while linked.\n\n\u003e **Note:** Changing \u003cspan pulumi-lang-nodejs=\"`sku`\" pulumi-lang-dotnet=\"`Sku`\" pulumi-lang-go=\"`sku`\" pulumi-lang-python=\"`sku`\" pulumi-lang-yaml=\"`sku`\" pulumi-lang-java=\"`sku`\"\u003e`sku`\u003c/span\u003e forces a new Log Analytics Workspace to be created, except when changing between `PerGB2018` and `CapacityReservation`. Changing \u003cspan pulumi-lang-nodejs=\"`sku`\" pulumi-lang-dotnet=\"`Sku`\" pulumi-lang-go=\"`sku`\" pulumi-lang-python=\"`sku`\" pulumi-lang-yaml=\"`sku`\" pulumi-lang-java=\"`sku`\"\u003e`sku`\u003c/span\u003e to `CapacityReservation` or changing \u003cspan pulumi-lang-nodejs=\"`reservationCapacityInGbPerDay`\" pulumi-lang-dotnet=\"`ReservationCapacityInGbPerDay`\" pulumi-lang-go=\"`reservationCapacityInGbPerDay`\" pulumi-lang-python=\"`reservation_capacity_in_gb_per_day`\" pulumi-lang-yaml=\"`reservationCapacityInGbPerDay`\" pulumi-lang-java=\"`reservationCapacityInGbPerDay`\"\u003e`reservation_capacity_in_gb_per_day`\u003c/span\u003e to a higher tier will lead to a 31-days commitment period, during which the SKU cannot be changed to a lower one. Please refer to [official documentation](https://learn.microsoft.com/en-us/azure/azure-monitor/logs/cost-logs#commitment-tiers) for further information.\n\n\u003e **Note:** A new pricing model took effect on `2018-04-03`, which requires the SKU `PerGB2018`. If you've provisioned resources before this date you have the option of remaining with the previous Pricing SKU and using the other SKUs defined above. More information about [the Pricing SKUs is available at the following URI](https://aka.ms/PricingTierWarning).\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"requiredInputs":["resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering AnalyticsWorkspace resources.\n","properties":{"allowResourceOnlyPermissions":{"type":"boolean","description":"Specifies if the log Analytics Workspace allows users accessing to data associated with the resources they have permission to view, without permission to workspace. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"cmkForQueryForced":{"type":"boolean","description":"Is Customer Managed Storage mandatory for query management?\n"},"dailyQuotaGb":{"type":"number","description":"The workspace daily quota for ingestion in GB. Defaults to `-1` (unlimited) if omitted.\n"},"dataCollectionRuleId":{"type":"string","description":"The ID of the Data Collection Rule to use for this workspace.\n"},"identity":{"$ref":"#/types/azure:operationalinsights/AnalyticsWorkspaceIdentity:AnalyticsWorkspaceIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"immediateDataPurgeOn30DaysEnabled":{"type":"boolean","description":"Whether to remove the data in the Log Analytics Workspace immediately after 30 days.\n"},"internetIngestionEnabled":{"type":"boolean","description":"Should the Log Analytics Workspace support ingestion over the Public Internet? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"internetQueryEnabled":{"type":"boolean","description":"Should the Log Analytics Workspace support querying over the Public Internet? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"localAuthenticationDisabled":{"type":"boolean","deprecationMessage":"\u003cspan pulumi-lang-nodejs=\"`localAuthenticationDisabled`\" pulumi-lang-dotnet=\"`LocalAuthenticationDisabled`\" pulumi-lang-go=\"`localAuthenticationDisabled`\" pulumi-lang-python=\"`local_authentication_disabled`\" pulumi-lang-yaml=\"`localAuthenticationDisabled`\" pulumi-lang-java=\"`localAuthenticationDisabled`\"\u003e`local_authentication_disabled`\u003c/span\u003e has been deprecated in favour of \u003cspan pulumi-lang-nodejs=\"`localAuthenticationEnabled`\" pulumi-lang-dotnet=\"`LocalAuthenticationEnabled`\" pulumi-lang-go=\"`localAuthenticationEnabled`\" pulumi-lang-python=\"`local_authentication_enabled`\" pulumi-lang-yaml=\"`localAuthenticationEnabled`\" pulumi-lang-java=\"`localAuthenticationEnabled`\"\u003e`local_authentication_enabled`\u003c/span\u003e and will be removed in v5.0 of the AzureRM Provider"},"localAuthenticationEnabled":{"type":"boolean","description":"Specifies if the log Analytics workspace should allow local authentication methods in addition to Microsoft Entra (Azure AD). Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the Log Analytics Workspace. Workspace name should include 4-63 letters, digits or '-'. The '-' shouldn't be the first or the last symbol. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"primarySharedKey":{"type":"string","description":"The Primary shared key for the Log Analytics Workspace.\n","secret":true},"reservationCapacityInGbPerDay":{"type":"integer","description":"The capacity reservation level in GB for this workspace. Possible values are \u003cspan pulumi-lang-nodejs=\"`100`\" pulumi-lang-dotnet=\"`100`\" pulumi-lang-go=\"`100`\" pulumi-lang-python=\"`100`\" pulumi-lang-yaml=\"`100`\" pulumi-lang-java=\"`100`\"\u003e`100`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`200`\" pulumi-lang-dotnet=\"`200`\" pulumi-lang-go=\"`200`\" pulumi-lang-python=\"`200`\" pulumi-lang-yaml=\"`200`\" pulumi-lang-java=\"`200`\"\u003e`200`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`300`\" pulumi-lang-dotnet=\"`300`\" pulumi-lang-go=\"`300`\" pulumi-lang-python=\"`300`\" pulumi-lang-yaml=\"`300`\" pulumi-lang-java=\"`300`\"\u003e`300`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`400`\" pulumi-lang-dotnet=\"`400`\" pulumi-lang-go=\"`400`\" pulumi-lang-python=\"`400`\" pulumi-lang-yaml=\"`400`\" pulumi-lang-java=\"`400`\"\u003e`400`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`500`\" pulumi-lang-dotnet=\"`500`\" pulumi-lang-go=\"`500`\" pulumi-lang-python=\"`500`\" pulumi-lang-yaml=\"`500`\" pulumi-lang-java=\"`500`\"\u003e`500`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`1000`\" pulumi-lang-dotnet=\"`1000`\" pulumi-lang-go=\"`1000`\" pulumi-lang-python=\"`1000`\" pulumi-lang-yaml=\"`1000`\" pulumi-lang-java=\"`1000`\"\u003e`1000`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`2000`\" pulumi-lang-dotnet=\"`2000`\" pulumi-lang-go=\"`2000`\" pulumi-lang-python=\"`2000`\" pulumi-lang-yaml=\"`2000`\" pulumi-lang-java=\"`2000`\"\u003e`2000`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`5000`\" pulumi-lang-dotnet=\"`5000`\" pulumi-lang-go=\"`5000`\" pulumi-lang-python=\"`5000`\" pulumi-lang-yaml=\"`5000`\" pulumi-lang-java=\"`5000`\"\u003e`5000`\u003c/span\u003e.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`reservationCapacityInGbPerDay`\" pulumi-lang-dotnet=\"`ReservationCapacityInGbPerDay`\" pulumi-lang-go=\"`reservationCapacityInGbPerDay`\" pulumi-lang-python=\"`reservation_capacity_in_gb_per_day`\" pulumi-lang-yaml=\"`reservationCapacityInGbPerDay`\" pulumi-lang-java=\"`reservationCapacityInGbPerDay`\"\u003e`reservation_capacity_in_gb_per_day`\u003c/span\u003e can only be used when the \u003cspan pulumi-lang-nodejs=\"`sku`\" pulumi-lang-dotnet=\"`Sku`\" pulumi-lang-go=\"`sku`\" pulumi-lang-python=\"`sku`\" pulumi-lang-yaml=\"`sku`\" pulumi-lang-java=\"`sku`\"\u003e`sku`\u003c/span\u003e is set to `CapacityReservation`.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the Log Analytics workspace is created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"retentionInDays":{"type":"integer","description":"The workspace data retention in days. Possible values are between \u003cspan pulumi-lang-nodejs=\"`30`\" pulumi-lang-dotnet=\"`30`\" pulumi-lang-go=\"`30`\" pulumi-lang-python=\"`30`\" pulumi-lang-yaml=\"`30`\" pulumi-lang-java=\"`30`\"\u003e`30`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`730`\" pulumi-lang-dotnet=\"`730`\" pulumi-lang-go=\"`730`\" pulumi-lang-python=\"`730`\" pulumi-lang-yaml=\"`730`\" pulumi-lang-java=\"`730`\"\u003e`730`\u003c/span\u003e.\n"},"secondarySharedKey":{"type":"string","description":"The Secondary shared key for the Log Analytics Workspace.\n","secret":true},"sku":{"type":"string","description":"Specifies the SKU of the Log Analytics Workspace. Possible values are `PerGB2018`, `PerNode`, `Premium`, `Standalone`, `Standard`, `CapacityReservation`, `LACluster` and `Unlimited`. Defaults to `PerGB2018`.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`sku`\" pulumi-lang-dotnet=\"`Sku`\" pulumi-lang-go=\"`sku`\" pulumi-lang-python=\"`sku`\" pulumi-lang-yaml=\"`sku`\" pulumi-lang-java=\"`sku`\"\u003e`sku`\u003c/span\u003e should only be set to `LACluster` when the Log Analytics Workspace is linked to a Log Analytics Cluster. Additionally, \u003cspan pulumi-lang-nodejs=\"`sku`\" pulumi-lang-dotnet=\"`Sku`\" pulumi-lang-go=\"`sku`\" pulumi-lang-python=\"`sku`\" pulumi-lang-yaml=\"`sku`\" pulumi-lang-java=\"`sku`\"\u003e`sku`\u003c/span\u003e cannot be modified while linked.\n\n\u003e **Note:** Changing \u003cspan pulumi-lang-nodejs=\"`sku`\" pulumi-lang-dotnet=\"`Sku`\" pulumi-lang-go=\"`sku`\" pulumi-lang-python=\"`sku`\" pulumi-lang-yaml=\"`sku`\" pulumi-lang-java=\"`sku`\"\u003e`sku`\u003c/span\u003e forces a new Log Analytics Workspace to be created, except when changing between `PerGB2018` and `CapacityReservation`. Changing \u003cspan pulumi-lang-nodejs=\"`sku`\" pulumi-lang-dotnet=\"`Sku`\" pulumi-lang-go=\"`sku`\" pulumi-lang-python=\"`sku`\" pulumi-lang-yaml=\"`sku`\" pulumi-lang-java=\"`sku`\"\u003e`sku`\u003c/span\u003e to `CapacityReservation` or changing \u003cspan pulumi-lang-nodejs=\"`reservationCapacityInGbPerDay`\" pulumi-lang-dotnet=\"`ReservationCapacityInGbPerDay`\" pulumi-lang-go=\"`reservationCapacityInGbPerDay`\" pulumi-lang-python=\"`reservation_capacity_in_gb_per_day`\" pulumi-lang-yaml=\"`reservationCapacityInGbPerDay`\" pulumi-lang-java=\"`reservationCapacityInGbPerDay`\"\u003e`reservation_capacity_in_gb_per_day`\u003c/span\u003e to a higher tier will lead to a 31-days commitment period, during which the SKU cannot be changed to a lower one. Please refer to [official documentation](https://learn.microsoft.com/en-us/azure/azure-monitor/logs/cost-logs#commitment-tiers) for further information.\n\n\u003e **Note:** A new pricing model took effect on `2018-04-03`, which requires the SKU `PerGB2018`. If you've provisioned resources before this date you have the option of remaining with the previous Pricing SKU and using the other SKUs defined above. More information about [the Pricing SKUs is available at the following URI](https://aka.ms/PricingTierWarning).\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"workspaceId":{"type":"string","description":"The Workspace (or Customer) ID for the Log Analytics Workspace.\n"}},"type":"object"}},"azure:operationalinsights/queryPackQuery:QueryPackQuery":{"description":"Manages a Log Analytics Query Pack Query.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleQueryPack = new azure.loganalytics.QueryPack(\"example\", {\n    name: \"example-laqp\",\n    resourceGroupName: example.name,\n    location: example.location,\n});\nconst exampleQueryPackQuery = new azure.operationalinsights.QueryPackQuery(\"example\", {\n    name: \"19952bc3-0bf9-49eb-b713-6b80e7a41847\",\n    queryPackId: exampleQueryPack.id,\n    body: `let newExceptionsTimeRange = 1d;\nlet timeRangeToCheckBefore = 7d;\nexceptions\n| where timestamp \u003c ago(timeRangeToCheckBefore)\n| summarize count() by problemId\n| join kind= rightanti (\nexceptions\n| where timestamp \u003e= ago(newExceptionsTimeRange)\n| extend stack = tostring(details[0].rawStack)\n| summarize count(), dcount(user_AuthenticatedId), min(timestamp), max(timestamp), any(stack) by problemId  \n) on problemId \n| order by  count_ desc\n`,\n    displayName: \"Exceptions - New in the last 24 hours\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_query_pack = azure.loganalytics.QueryPack(\"example\",\n    name=\"example-laqp\",\n    resource_group_name=example.name,\n    location=example.location)\nexample_query_pack_query = azure.operationalinsights.QueryPackQuery(\"example\",\n    name=\"19952bc3-0bf9-49eb-b713-6b80e7a41847\",\n    query_pack_id=example_query_pack.id,\n    body=\"\"\"let newExceptionsTimeRange = 1d;\nlet timeRangeToCheckBefore = 7d;\nexceptions\n| where timestamp \u003c ago(timeRangeToCheckBefore)\n| summarize count() by problemId\n| join kind= rightanti (\nexceptions\n| where timestamp \u003e= ago(newExceptionsTimeRange)\n| extend stack = tostring(details[0].rawStack)\n| summarize count(), dcount(user_AuthenticatedId), min(timestamp), max(timestamp), any(stack) by problemId  \n) on problemId \n| order by  count_ desc\n\"\"\",\n    display_name=\"Exceptions - New in the last 24 hours\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleQueryPack = new Azure.LogAnalytics.QueryPack(\"example\", new()\n    {\n        Name = \"example-laqp\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n    });\n\n    var exampleQueryPackQuery = new Azure.OperationalInsights.QueryPackQuery(\"example\", new()\n    {\n        Name = \"19952bc3-0bf9-49eb-b713-6b80e7a41847\",\n        QueryPackId = exampleQueryPack.Id,\n        Body = @\"let newExceptionsTimeRange = 1d;\nlet timeRangeToCheckBefore = 7d;\nexceptions\n| where timestamp \u003c ago(timeRangeToCheckBefore)\n| summarize count() by problemId\n| join kind= rightanti (\nexceptions\n| where timestamp \u003e= ago(newExceptionsTimeRange)\n| extend stack = tostring(details[0].rawStack)\n| summarize count(), dcount(user_AuthenticatedId), min(timestamp), max(timestamp), any(stack) by problemId  \n) on problemId \n| order by  count_ desc\n\",\n        DisplayName = \"Exceptions - New in the last 24 hours\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/loganalytics\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/operationalinsights\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleQueryPack, err := loganalytics.NewQueryPack(ctx, \"example\", \u0026loganalytics.QueryPackArgs{\n\t\t\tName:              pulumi.String(\"example-laqp\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = operationalinsights.NewQueryPackQuery(ctx, \"example\", \u0026operationalinsights.QueryPackQueryArgs{\n\t\t\tName:        pulumi.String(\"19952bc3-0bf9-49eb-b713-6b80e7a41847\"),\n\t\t\tQueryPackId: exampleQueryPack.ID(),\n\t\t\tBody: pulumi.String(`let newExceptionsTimeRange = 1d;\nlet timeRangeToCheckBefore = 7d;\nexceptions\n| where timestamp \u003c ago(timeRangeToCheckBefore)\n| summarize count() by problemId\n| join kind= rightanti (\nexceptions\n| where timestamp \u003e= ago(newExceptionsTimeRange)\n| extend stack = tostring(details[0].rawStack)\n| summarize count(), dcount(user_AuthenticatedId), min(timestamp), max(timestamp), any(stack) by problemId  \n) on problemId \n| order by  count_ desc\n`),\n\t\t\tDisplayName: pulumi.String(\"Exceptions - New in the last 24 hours\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.loganalytics.QueryPack;\nimport com.pulumi.azure.loganalytics.QueryPackArgs;\nimport com.pulumi.azure.operationalinsights.QueryPackQuery;\nimport com.pulumi.azure.operationalinsights.QueryPackQueryArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleQueryPack = new QueryPack(\"exampleQueryPack\", QueryPackArgs.builder()\n            .name(\"example-laqp\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .build());\n\n        var exampleQueryPackQuery = new QueryPackQuery(\"exampleQueryPackQuery\", QueryPackQueryArgs.builder()\n            .name(\"19952bc3-0bf9-49eb-b713-6b80e7a41847\")\n            .queryPackId(exampleQueryPack.id())\n            .body(\"\"\"\nlet newExceptionsTimeRange = 1d;\nlet timeRangeToCheckBefore = 7d;\nexceptions\n| where timestamp \u003c ago(timeRangeToCheckBefore)\n| summarize count() by problemId\n| join kind= rightanti (\nexceptions\n| where timestamp \u003e= ago(newExceptionsTimeRange)\n| extend stack = tostring(details[0].rawStack)\n| summarize count(), dcount(user_AuthenticatedId), min(timestamp), max(timestamp), any(stack) by problemId  \n) on problemId \n| order by  count_ desc\n            \"\"\")\n            .displayName(\"Exceptions - New in the last 24 hours\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleQueryPack:\n    type: azure:loganalytics:QueryPack\n    name: example\n    properties:\n      name: example-laqp\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n  exampleQueryPackQuery:\n    type: azure:operationalinsights:QueryPackQuery\n    name: example\n    properties:\n      name: 19952bc3-0bf9-49eb-b713-6b80e7a41847\n      queryPackId: ${exampleQueryPack.id}\n      body: \"let newExceptionsTimeRange = 1d;\\nlet timeRangeToCheckBefore = 7d;\\nexceptions\\n| where timestamp \u003c ago(timeRangeToCheckBefore)\\n| summarize count() by problemId\\n| join kind= rightanti (\\nexceptions\\n| where timestamp \u003e= ago(newExceptionsTimeRange)\\n| extend stack = tostring(details[0].rawStack)\\n| summarize count(), dcount(user_AuthenticatedId), min(timestamp), max(timestamp), any(stack) by problemId  \\n) on problemId \\n| order by  count_ desc\\n\"\n      displayName: Exceptions - New in the last 24 hours\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.OperationalInsights` - 2019-09-01\n\n## Import\n\nLog Analytics Query Pack Queries can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:operationalinsights/queryPackQuery:QueryPackQuery example /subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/group1/providers/Microsoft.OperationalInsights/queryPacks/queryPack1/queries/15b49e87-8555-4d92-8a7b-2014b469a9df\n```\n\n","properties":{"additionalSettingsJson":{"type":"string","description":"The additional properties that can be set for the Log Analytics Query Pack Query.\n"},"body":{"type":"string","description":"The body of the Log Analytics Query Pack Query.\n"},"categories":{"type":"array","items":{"type":"string"},"description":"A list of the related categories for the function. Possible values are \u003cspan pulumi-lang-nodejs=\"`applications`\" pulumi-lang-dotnet=\"`Applications`\" pulumi-lang-go=\"`applications`\" pulumi-lang-python=\"`applications`\" pulumi-lang-yaml=\"`applications`\" pulumi-lang-java=\"`applications`\"\u003e`applications`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`audit`\" pulumi-lang-dotnet=\"`Audit`\" pulumi-lang-go=\"`audit`\" pulumi-lang-python=\"`audit`\" pulumi-lang-yaml=\"`audit`\" pulumi-lang-java=\"`audit`\"\u003e`audit`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`container`\" pulumi-lang-dotnet=\"`Container`\" pulumi-lang-go=\"`container`\" pulumi-lang-python=\"`container`\" pulumi-lang-yaml=\"`container`\" pulumi-lang-java=\"`container`\"\u003e`container`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`databases`\" pulumi-lang-dotnet=\"`Databases`\" pulumi-lang-go=\"`databases`\" pulumi-lang-python=\"`databases`\" pulumi-lang-yaml=\"`databases`\" pulumi-lang-java=\"`databases`\"\u003e`databases`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`desktopanalytics`\" pulumi-lang-dotnet=\"`Desktopanalytics`\" pulumi-lang-go=\"`desktopanalytics`\" pulumi-lang-python=\"`desktopanalytics`\" pulumi-lang-yaml=\"`desktopanalytics`\" pulumi-lang-java=\"`desktopanalytics`\"\u003e`desktopanalytics`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`management`\" pulumi-lang-dotnet=\"`Management`\" pulumi-lang-go=\"`management`\" pulumi-lang-python=\"`management`\" pulumi-lang-yaml=\"`management`\" pulumi-lang-java=\"`management`\"\u003e`management`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`monitor`\" pulumi-lang-dotnet=\"`Monitor`\" pulumi-lang-go=\"`monitor`\" pulumi-lang-python=\"`monitor`\" pulumi-lang-yaml=\"`monitor`\" pulumi-lang-java=\"`monitor`\"\u003e`monitor`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`network`\" pulumi-lang-dotnet=\"`Network`\" pulumi-lang-go=\"`network`\" pulumi-lang-python=\"`network`\" pulumi-lang-yaml=\"`network`\" pulumi-lang-java=\"`network`\"\u003e`network`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`resources`\" pulumi-lang-dotnet=\"`Resources`\" pulumi-lang-go=\"`resources`\" pulumi-lang-python=\"`resources`\" pulumi-lang-yaml=\"`resources`\" pulumi-lang-java=\"`resources`\"\u003e`resources`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`security`\" pulumi-lang-dotnet=\"`Security`\" pulumi-lang-go=\"`security`\" pulumi-lang-python=\"`security`\" pulumi-lang-yaml=\"`security`\" pulumi-lang-java=\"`security`\"\u003e`security`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`virtualmachines`\" pulumi-lang-dotnet=\"`Virtualmachines`\" pulumi-lang-go=\"`virtualmachines`\" pulumi-lang-python=\"`virtualmachines`\" pulumi-lang-yaml=\"`virtualmachines`\" pulumi-lang-java=\"`virtualmachines`\"\u003e`virtualmachines`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`windowsvirtualdesktop`\" pulumi-lang-dotnet=\"`Windowsvirtualdesktop`\" pulumi-lang-go=\"`windowsvirtualdesktop`\" pulumi-lang-python=\"`windowsvirtualdesktop`\" pulumi-lang-yaml=\"`windowsvirtualdesktop`\" pulumi-lang-java=\"`windowsvirtualdesktop`\"\u003e`windowsvirtualdesktop`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`workloads`\" pulumi-lang-dotnet=\"`Workloads`\" pulumi-lang-go=\"`workloads`\" pulumi-lang-python=\"`workloads`\" pulumi-lang-yaml=\"`workloads`\" pulumi-lang-java=\"`workloads`\"\u003e`workloads`\u003c/span\u003e.\n"},"description":{"type":"string","description":"The description of the Log Analytics Query Pack Query.\n"},"displayName":{"type":"string","description":"The unique display name for the query within the Log Analytics Query Pack.\n"},"name":{"type":"string","description":"An unique UUID/GUID which identifies this Log Analytics Query Pack Query - one will be generated if not specified. Changing this forces a new resource to be created.\n"},"queryPackId":{"type":"string","description":"The ID of the Log Analytics Query Pack. Changing this forces a new resource to be created.\n"},"resourceTypes":{"type":"array","items":{"type":"string"},"description":"A list of the related resource types for the function. Possible values are \u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\"\u003e`default`\u003c/span\u003e, `microsoft.aad/domainservices`, `microsoft.aadiam/tenants`, `microsoft.agfoodplatform/farmbeats`, `microsoft.analysisservices/servers`, `microsoft.apimanagement/service`, `microsoft.appconfiguration/configurationstores`, `microsoft.appplatform/spring`, `microsoft.attestation/attestationproviders`, `microsoft.authorization/tenants`, `microsoft.automation/automationaccounts`, `microsoft.autonomousdevelopmentplatform/accounts`, `microsoft.azurestackhci/virtualmachines`, `microsoft.batch/batchaccounts`, `microsoft.blockchain/blockchainmembers`, `microsoft.botservice/botservices`, `microsoft.cache/redis`, `microsoft.cdn/profiles`, `microsoft.cognitiveservices/accounts`, `microsoft.communication/communicationservices`, `microsoft.compute/virtualmachines`, `microsoft.compute/virtualmachinescalesets`, `microsoft.connectedcache/cachenodes`, `microsoft.connectedvehicle/platformaccounts`, `microsoft.conenctedvmwarevsphere/virtualmachines`, `microsoft.containerregistry/registries`, `microsoft.containerservice/managedclusters`, `microsoft.d365customerinsights/instances`, `microsoft.dashboard/grafana`, `microsoft.databricks/workspaces`, `microsoft.datacollaboration/workspaces`, `microsoft.datafactory/factories`, `microsoft.datalakeanalytics/accounts`, `microsoft.datalakestore/accounts`, `microsoft.datashare/accounts`, `microsoft.dbformariadb/servers`, `microsoft.dbformysql/servers`, `microsoft.dbforpostgresql/flexibleservers`, `microsoft.dbforpostgresql/servers`, `microsoft.dbforpostgresql/serversv2`, `microsoft.digitaltwins/digitaltwinsinstances`, `microsoft.documentdb/cassandraclusters`, `microsoft.documentdb/databaseaccounts`, `microsoft.desktopvirtualization/applicationgroups`, `microsoft.desktopvirtualization/hostpools`, `microsoft.desktopvirtualization/workspaces`, `microsoft.devices/iothubs`, `microsoft.devices/provisioningservices`, `microsoft.dynamics/fraudprotection/purchase`, `microsoft.eventgrid/domains`, `microsoft.eventgrid/topics`, `microsoft.eventgrid/partnernamespaces`, `microsoft.eventgrid/partnertopics`, `microsoft.eventgrid/systemtopics`, `microsoft.eventhub/namespaces`, `microsoft.experimentation/experimentworkspaces`, `microsoft.hdinsight/clusters`, `microsoft.healthcareapis/services`, `microsoft.informationprotection/datasecuritymanagement`, `microsoft.intune/operations`, `microsoft.insights/autoscalesettings`, `microsoft.insights/components`, `microsoft.insights/workloadmonitoring`, `microsoft.keyvault/vaults`, `microsoft.kubernetes/connectedclusters`, `microsoft.kusto/clusters`, `microsoft.loadtestservice/loadtests`, `microsoft.logic/workflows`, `microsoft.machinelearningservices/workspaces`, `microsoft.media/mediaservices`, `microsoft.netapp/netappaccounts/capacitypools`, `microsoft.network/applicationgateways`, `microsoft.network/azurefirewalls`, `microsoft.network/bastionhosts`, `microsoft.network/expressroutecircuits`, `microsoft.network/frontdoors`, `microsoft.network/loadbalancers`, `microsoft.network/networkinterfaces`, `microsoft.network/networksecuritygroups`, `microsoft.network/networksecurityperimeters`, `microsoft.network/networkwatchers/connectionmonitors`, `microsoft.network/networkwatchers/trafficanalytics`, `microsoft.network/publicipaddresses`, `microsoft.network/trafficmanagerprofiles`, `microsoft.network/virtualnetworks`, `microsoft.network/virtualnetworkgateways`, `microsoft.network/vpngateways`, `microsoft.networkfunction/azuretrafficcollectors`, `microsoft.openenergyplatform/energyservices`, `microsoft.openlogisticsplatform/workspaces`, `microsoft.operationalinsights/workspaces`, `microsoft.powerbi/tenants`, `microsoft.powerbi/tenants/workspaces`, `microsoft.powerbidedicated/capacities`, `microsoft.purview/accounts`, `microsoft.recoveryservices/vaults`, `microsoft.resources/azureactivity`, `microsoft.scvmm/virtualmachines`, `microsoft.search/searchservices`, `microsoft.security/antimalwaresettings`, `microsoft.securityinsights/amazon`, `microsoft.securityinsights/anomalies`, `microsoft.securityinsights/cef`, `microsoft.securityinsights/datacollection`, `microsoft.securityinsights/dnsnormalized`, `microsoft.securityinsights/mda`, `microsoft.securityinsights/mde`, `microsoft.securityinsights/mdi`, `microsoft.securityinsights/mdo`, `microsoft.securityinsights/networksessionnormalized`, `microsoft.securityinsights/office365`, `microsoft.securityinsights/purview`, `microsoft.securityinsights/securityinsights`, `microsoft.securityinsights/securityinsights/mcas`, `microsoft.securityinsights/tvm`, `microsoft.securityinsights/watchlists`, `microsoft.servicebus/namespaces`, `microsoft.servicefabric/clusters`, `microsoft.signalrservice/signalr`, `microsoft.signalrservice/webpubsub`, `microsoft.sql/managedinstances`, `microsoft.sql/servers`, `microsoft.sql/servers/databases`, `microsoft.storage/storageaccounts`, `microsoft.storagecache/caches`, `microsoft.streamanalytics/streamingjobs`, `microsoft.synapse/workspaces`, `microsoft.timeseriesinsights/environments`, `microsoft.videoindexer/accounts`, `microsoft.web/sites`, `microsoft.workloadmonitor/monitors`, \u003cspan pulumi-lang-nodejs=\"`resourcegroup`\" pulumi-lang-dotnet=\"`Resourcegroup`\" pulumi-lang-go=\"`resourcegroup`\" pulumi-lang-python=\"`resourcegroup`\" pulumi-lang-yaml=\"`resourcegroup`\" pulumi-lang-java=\"`resourcegroup`\"\u003e`resourcegroup`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`subscription`\" pulumi-lang-dotnet=\"`Subscription`\" pulumi-lang-go=\"`subscription`\" pulumi-lang-python=\"`subscription`\" pulumi-lang-yaml=\"`subscription`\" pulumi-lang-java=\"`subscription`\"\u003e`subscription`\u003c/span\u003e.\n"},"solutions":{"type":"array","items":{"type":"string"},"description":"A list of the related Log Analytics solutions for the function. Possible values are `AADDomainServices`, `ADAssessment`, `ADAssessmentPlus`, `ADReplication`, `ADSecurityAssessment`, `AlertManagement`, `AntiMalware`, `ApplicationInsights`, `AzureAssessment`, `AzureSecurityOfThings`, `AzureSentinelDSRE`, `AzureSentinelPrivatePreview`, `BehaviorAnalyticsInsights`, `ChangeTracking`, `CompatibilityAssessment`, `ContainerInsights`, `Containers`, `CustomizedWindowsEventsFiltering`, `DeviceHealthProd`, `DnsAnalytics`, `ExchangeAssessment`, `ExchangeOnlineAssessment`, `IISAssessmentPlus`, `InfrastructureInsights`, `InternalWindowsEvent`, `LogManagement`, `Microsoft365Analytics`, `NetworkMonitoring`, `SCCMAssessmentPlus`, `SCOMAssessment`, `SCOMAssessmentPlus`, `Security`, `SecurityCenter`, `SecurityCenterFree`, `SecurityInsights`, `ServiceMap`, `SfBAssessment`, `SfBOnlineAssessment`, `SharePointOnlineAssessment`, `SPAssessment`, `SQLAdvancedThreatProtection`, `SQLAssessment`, `SQLAssessmentPlus`, `SQLDataClassification`, `SQLThreatDetection`, `SQLVulnerabilityAssessment`, `SurfaceHub`, `Updates`, `VMInsights`, `WEFInternalUat`, `WEF_10x`, `WEF_10xDSRE`, `WaaSUpdateInsights`, `WinLog`, `WindowsClientAssessmentPlus`, `WindowsEventForwarding`, `WindowsFirewall`, `WindowsServerAssessment`, `WireData` and `WireData2`.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Log Analytics Query Pack Query.\n"}},"required":["body","displayName","name","queryPackId"],"inputProperties":{"additionalSettingsJson":{"type":"string","description":"The additional properties that can be set for the Log Analytics Query Pack Query.\n"},"body":{"type":"string","description":"The body of the Log Analytics Query Pack Query.\n"},"categories":{"type":"array","items":{"type":"string"},"description":"A list of the related categories for the function. Possible values are \u003cspan pulumi-lang-nodejs=\"`applications`\" pulumi-lang-dotnet=\"`Applications`\" pulumi-lang-go=\"`applications`\" pulumi-lang-python=\"`applications`\" pulumi-lang-yaml=\"`applications`\" pulumi-lang-java=\"`applications`\"\u003e`applications`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`audit`\" pulumi-lang-dotnet=\"`Audit`\" pulumi-lang-go=\"`audit`\" pulumi-lang-python=\"`audit`\" pulumi-lang-yaml=\"`audit`\" pulumi-lang-java=\"`audit`\"\u003e`audit`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`container`\" pulumi-lang-dotnet=\"`Container`\" pulumi-lang-go=\"`container`\" pulumi-lang-python=\"`container`\" pulumi-lang-yaml=\"`container`\" pulumi-lang-java=\"`container`\"\u003e`container`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`databases`\" pulumi-lang-dotnet=\"`Databases`\" pulumi-lang-go=\"`databases`\" pulumi-lang-python=\"`databases`\" pulumi-lang-yaml=\"`databases`\" pulumi-lang-java=\"`databases`\"\u003e`databases`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`desktopanalytics`\" pulumi-lang-dotnet=\"`Desktopanalytics`\" pulumi-lang-go=\"`desktopanalytics`\" pulumi-lang-python=\"`desktopanalytics`\" pulumi-lang-yaml=\"`desktopanalytics`\" pulumi-lang-java=\"`desktopanalytics`\"\u003e`desktopanalytics`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`management`\" pulumi-lang-dotnet=\"`Management`\" pulumi-lang-go=\"`management`\" pulumi-lang-python=\"`management`\" pulumi-lang-yaml=\"`management`\" pulumi-lang-java=\"`management`\"\u003e`management`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`monitor`\" pulumi-lang-dotnet=\"`Monitor`\" pulumi-lang-go=\"`monitor`\" pulumi-lang-python=\"`monitor`\" pulumi-lang-yaml=\"`monitor`\" pulumi-lang-java=\"`monitor`\"\u003e`monitor`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`network`\" pulumi-lang-dotnet=\"`Network`\" pulumi-lang-go=\"`network`\" pulumi-lang-python=\"`network`\" pulumi-lang-yaml=\"`network`\" pulumi-lang-java=\"`network`\"\u003e`network`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`resources`\" pulumi-lang-dotnet=\"`Resources`\" pulumi-lang-go=\"`resources`\" pulumi-lang-python=\"`resources`\" pulumi-lang-yaml=\"`resources`\" pulumi-lang-java=\"`resources`\"\u003e`resources`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`security`\" pulumi-lang-dotnet=\"`Security`\" pulumi-lang-go=\"`security`\" pulumi-lang-python=\"`security`\" pulumi-lang-yaml=\"`security`\" pulumi-lang-java=\"`security`\"\u003e`security`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`virtualmachines`\" pulumi-lang-dotnet=\"`Virtualmachines`\" pulumi-lang-go=\"`virtualmachines`\" pulumi-lang-python=\"`virtualmachines`\" pulumi-lang-yaml=\"`virtualmachines`\" pulumi-lang-java=\"`virtualmachines`\"\u003e`virtualmachines`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`windowsvirtualdesktop`\" pulumi-lang-dotnet=\"`Windowsvirtualdesktop`\" pulumi-lang-go=\"`windowsvirtualdesktop`\" pulumi-lang-python=\"`windowsvirtualdesktop`\" pulumi-lang-yaml=\"`windowsvirtualdesktop`\" pulumi-lang-java=\"`windowsvirtualdesktop`\"\u003e`windowsvirtualdesktop`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`workloads`\" pulumi-lang-dotnet=\"`Workloads`\" pulumi-lang-go=\"`workloads`\" pulumi-lang-python=\"`workloads`\" pulumi-lang-yaml=\"`workloads`\" pulumi-lang-java=\"`workloads`\"\u003e`workloads`\u003c/span\u003e.\n"},"description":{"type":"string","description":"The description of the Log Analytics Query Pack Query.\n"},"displayName":{"type":"string","description":"The unique display name for the query within the Log Analytics Query Pack.\n"},"name":{"type":"string","description":"An unique UUID/GUID which identifies this Log Analytics Query Pack Query - one will be generated if not specified. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"queryPackId":{"type":"string","description":"The ID of the Log Analytics Query Pack. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceTypes":{"type":"array","items":{"type":"string"},"description":"A list of the related resource types for the function. Possible values are \u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\"\u003e`default`\u003c/span\u003e, `microsoft.aad/domainservices`, `microsoft.aadiam/tenants`, `microsoft.agfoodplatform/farmbeats`, `microsoft.analysisservices/servers`, `microsoft.apimanagement/service`, `microsoft.appconfiguration/configurationstores`, `microsoft.appplatform/spring`, `microsoft.attestation/attestationproviders`, `microsoft.authorization/tenants`, `microsoft.automation/automationaccounts`, `microsoft.autonomousdevelopmentplatform/accounts`, `microsoft.azurestackhci/virtualmachines`, `microsoft.batch/batchaccounts`, `microsoft.blockchain/blockchainmembers`, `microsoft.botservice/botservices`, `microsoft.cache/redis`, `microsoft.cdn/profiles`, `microsoft.cognitiveservices/accounts`, `microsoft.communication/communicationservices`, `microsoft.compute/virtualmachines`, `microsoft.compute/virtualmachinescalesets`, `microsoft.connectedcache/cachenodes`, `microsoft.connectedvehicle/platformaccounts`, `microsoft.conenctedvmwarevsphere/virtualmachines`, `microsoft.containerregistry/registries`, `microsoft.containerservice/managedclusters`, `microsoft.d365customerinsights/instances`, `microsoft.dashboard/grafana`, `microsoft.databricks/workspaces`, `microsoft.datacollaboration/workspaces`, `microsoft.datafactory/factories`, `microsoft.datalakeanalytics/accounts`, `microsoft.datalakestore/accounts`, `microsoft.datashare/accounts`, `microsoft.dbformariadb/servers`, `microsoft.dbformysql/servers`, `microsoft.dbforpostgresql/flexibleservers`, `microsoft.dbforpostgresql/servers`, `microsoft.dbforpostgresql/serversv2`, `microsoft.digitaltwins/digitaltwinsinstances`, `microsoft.documentdb/cassandraclusters`, `microsoft.documentdb/databaseaccounts`, `microsoft.desktopvirtualization/applicationgroups`, `microsoft.desktopvirtualization/hostpools`, `microsoft.desktopvirtualization/workspaces`, `microsoft.devices/iothubs`, `microsoft.devices/provisioningservices`, `microsoft.dynamics/fraudprotection/purchase`, `microsoft.eventgrid/domains`, `microsoft.eventgrid/topics`, `microsoft.eventgrid/partnernamespaces`, `microsoft.eventgrid/partnertopics`, `microsoft.eventgrid/systemtopics`, `microsoft.eventhub/namespaces`, `microsoft.experimentation/experimentworkspaces`, `microsoft.hdinsight/clusters`, `microsoft.healthcareapis/services`, `microsoft.informationprotection/datasecuritymanagement`, `microsoft.intune/operations`, `microsoft.insights/autoscalesettings`, `microsoft.insights/components`, `microsoft.insights/workloadmonitoring`, `microsoft.keyvault/vaults`, `microsoft.kubernetes/connectedclusters`, `microsoft.kusto/clusters`, `microsoft.loadtestservice/loadtests`, `microsoft.logic/workflows`, `microsoft.machinelearningservices/workspaces`, `microsoft.media/mediaservices`, `microsoft.netapp/netappaccounts/capacitypools`, `microsoft.network/applicationgateways`, `microsoft.network/azurefirewalls`, `microsoft.network/bastionhosts`, `microsoft.network/expressroutecircuits`, `microsoft.network/frontdoors`, `microsoft.network/loadbalancers`, `microsoft.network/networkinterfaces`, `microsoft.network/networksecuritygroups`, `microsoft.network/networksecurityperimeters`, `microsoft.network/networkwatchers/connectionmonitors`, `microsoft.network/networkwatchers/trafficanalytics`, `microsoft.network/publicipaddresses`, `microsoft.network/trafficmanagerprofiles`, `microsoft.network/virtualnetworks`, `microsoft.network/virtualnetworkgateways`, `microsoft.network/vpngateways`, `microsoft.networkfunction/azuretrafficcollectors`, `microsoft.openenergyplatform/energyservices`, `microsoft.openlogisticsplatform/workspaces`, `microsoft.operationalinsights/workspaces`, `microsoft.powerbi/tenants`, `microsoft.powerbi/tenants/workspaces`, `microsoft.powerbidedicated/capacities`, `microsoft.purview/accounts`, `microsoft.recoveryservices/vaults`, `microsoft.resources/azureactivity`, `microsoft.scvmm/virtualmachines`, `microsoft.search/searchservices`, `microsoft.security/antimalwaresettings`, `microsoft.securityinsights/amazon`, `microsoft.securityinsights/anomalies`, `microsoft.securityinsights/cef`, `microsoft.securityinsights/datacollection`, `microsoft.securityinsights/dnsnormalized`, `microsoft.securityinsights/mda`, `microsoft.securityinsights/mde`, `microsoft.securityinsights/mdi`, `microsoft.securityinsights/mdo`, `microsoft.securityinsights/networksessionnormalized`, `microsoft.securityinsights/office365`, `microsoft.securityinsights/purview`, `microsoft.securityinsights/securityinsights`, `microsoft.securityinsights/securityinsights/mcas`, `microsoft.securityinsights/tvm`, `microsoft.securityinsights/watchlists`, `microsoft.servicebus/namespaces`, `microsoft.servicefabric/clusters`, `microsoft.signalrservice/signalr`, `microsoft.signalrservice/webpubsub`, `microsoft.sql/managedinstances`, `microsoft.sql/servers`, `microsoft.sql/servers/databases`, `microsoft.storage/storageaccounts`, `microsoft.storagecache/caches`, `microsoft.streamanalytics/streamingjobs`, `microsoft.synapse/workspaces`, `microsoft.timeseriesinsights/environments`, `microsoft.videoindexer/accounts`, `microsoft.web/sites`, `microsoft.workloadmonitor/monitors`, \u003cspan pulumi-lang-nodejs=\"`resourcegroup`\" pulumi-lang-dotnet=\"`Resourcegroup`\" pulumi-lang-go=\"`resourcegroup`\" pulumi-lang-python=\"`resourcegroup`\" pulumi-lang-yaml=\"`resourcegroup`\" pulumi-lang-java=\"`resourcegroup`\"\u003e`resourcegroup`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`subscription`\" pulumi-lang-dotnet=\"`Subscription`\" pulumi-lang-go=\"`subscription`\" pulumi-lang-python=\"`subscription`\" pulumi-lang-yaml=\"`subscription`\" pulumi-lang-java=\"`subscription`\"\u003e`subscription`\u003c/span\u003e.\n"},"solutions":{"type":"array","items":{"type":"string"},"description":"A list of the related Log Analytics solutions for the function. Possible values are `AADDomainServices`, `ADAssessment`, `ADAssessmentPlus`, `ADReplication`, `ADSecurityAssessment`, `AlertManagement`, `AntiMalware`, `ApplicationInsights`, `AzureAssessment`, `AzureSecurityOfThings`, `AzureSentinelDSRE`, `AzureSentinelPrivatePreview`, `BehaviorAnalyticsInsights`, `ChangeTracking`, `CompatibilityAssessment`, `ContainerInsights`, `Containers`, `CustomizedWindowsEventsFiltering`, `DeviceHealthProd`, `DnsAnalytics`, `ExchangeAssessment`, `ExchangeOnlineAssessment`, `IISAssessmentPlus`, `InfrastructureInsights`, `InternalWindowsEvent`, `LogManagement`, `Microsoft365Analytics`, `NetworkMonitoring`, `SCCMAssessmentPlus`, `SCOMAssessment`, `SCOMAssessmentPlus`, `Security`, `SecurityCenter`, `SecurityCenterFree`, `SecurityInsights`, `ServiceMap`, `SfBAssessment`, `SfBOnlineAssessment`, `SharePointOnlineAssessment`, `SPAssessment`, `SQLAdvancedThreatProtection`, `SQLAssessment`, `SQLAssessmentPlus`, `SQLDataClassification`, `SQLThreatDetection`, `SQLVulnerabilityAssessment`, `SurfaceHub`, `Updates`, `VMInsights`, `WEFInternalUat`, `WEF_10x`, `WEF_10xDSRE`, `WaaSUpdateInsights`, `WinLog`, `WindowsClientAssessmentPlus`, `WindowsEventForwarding`, `WindowsFirewall`, `WindowsServerAssessment`, `WireData` and `WireData2`.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Log Analytics Query Pack Query.\n"}},"requiredInputs":["body","displayName","queryPackId"],"stateInputs":{"description":"Input properties used for looking up and filtering QueryPackQuery resources.\n","properties":{"additionalSettingsJson":{"type":"string","description":"The additional properties that can be set for the Log Analytics Query Pack Query.\n"},"body":{"type":"string","description":"The body of the Log Analytics Query Pack Query.\n"},"categories":{"type":"array","items":{"type":"string"},"description":"A list of the related categories for the function. Possible values are \u003cspan pulumi-lang-nodejs=\"`applications`\" pulumi-lang-dotnet=\"`Applications`\" pulumi-lang-go=\"`applications`\" pulumi-lang-python=\"`applications`\" pulumi-lang-yaml=\"`applications`\" pulumi-lang-java=\"`applications`\"\u003e`applications`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`audit`\" pulumi-lang-dotnet=\"`Audit`\" pulumi-lang-go=\"`audit`\" pulumi-lang-python=\"`audit`\" pulumi-lang-yaml=\"`audit`\" pulumi-lang-java=\"`audit`\"\u003e`audit`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`container`\" pulumi-lang-dotnet=\"`Container`\" pulumi-lang-go=\"`container`\" pulumi-lang-python=\"`container`\" pulumi-lang-yaml=\"`container`\" pulumi-lang-java=\"`container`\"\u003e`container`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`databases`\" pulumi-lang-dotnet=\"`Databases`\" pulumi-lang-go=\"`databases`\" pulumi-lang-python=\"`databases`\" pulumi-lang-yaml=\"`databases`\" pulumi-lang-java=\"`databases`\"\u003e`databases`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`desktopanalytics`\" pulumi-lang-dotnet=\"`Desktopanalytics`\" pulumi-lang-go=\"`desktopanalytics`\" pulumi-lang-python=\"`desktopanalytics`\" pulumi-lang-yaml=\"`desktopanalytics`\" pulumi-lang-java=\"`desktopanalytics`\"\u003e`desktopanalytics`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`management`\" pulumi-lang-dotnet=\"`Management`\" pulumi-lang-go=\"`management`\" pulumi-lang-python=\"`management`\" pulumi-lang-yaml=\"`management`\" pulumi-lang-java=\"`management`\"\u003e`management`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`monitor`\" pulumi-lang-dotnet=\"`Monitor`\" pulumi-lang-go=\"`monitor`\" pulumi-lang-python=\"`monitor`\" pulumi-lang-yaml=\"`monitor`\" pulumi-lang-java=\"`monitor`\"\u003e`monitor`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`network`\" pulumi-lang-dotnet=\"`Network`\" pulumi-lang-go=\"`network`\" pulumi-lang-python=\"`network`\" pulumi-lang-yaml=\"`network`\" pulumi-lang-java=\"`network`\"\u003e`network`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`resources`\" pulumi-lang-dotnet=\"`Resources`\" pulumi-lang-go=\"`resources`\" pulumi-lang-python=\"`resources`\" pulumi-lang-yaml=\"`resources`\" pulumi-lang-java=\"`resources`\"\u003e`resources`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`security`\" pulumi-lang-dotnet=\"`Security`\" pulumi-lang-go=\"`security`\" pulumi-lang-python=\"`security`\" pulumi-lang-yaml=\"`security`\" pulumi-lang-java=\"`security`\"\u003e`security`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`virtualmachines`\" pulumi-lang-dotnet=\"`Virtualmachines`\" pulumi-lang-go=\"`virtualmachines`\" pulumi-lang-python=\"`virtualmachines`\" pulumi-lang-yaml=\"`virtualmachines`\" pulumi-lang-java=\"`virtualmachines`\"\u003e`virtualmachines`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`windowsvirtualdesktop`\" pulumi-lang-dotnet=\"`Windowsvirtualdesktop`\" pulumi-lang-go=\"`windowsvirtualdesktop`\" pulumi-lang-python=\"`windowsvirtualdesktop`\" pulumi-lang-yaml=\"`windowsvirtualdesktop`\" pulumi-lang-java=\"`windowsvirtualdesktop`\"\u003e`windowsvirtualdesktop`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`workloads`\" pulumi-lang-dotnet=\"`Workloads`\" pulumi-lang-go=\"`workloads`\" pulumi-lang-python=\"`workloads`\" pulumi-lang-yaml=\"`workloads`\" pulumi-lang-java=\"`workloads`\"\u003e`workloads`\u003c/span\u003e.\n"},"description":{"type":"string","description":"The description of the Log Analytics Query Pack Query.\n"},"displayName":{"type":"string","description":"The unique display name for the query within the Log Analytics Query Pack.\n"},"name":{"type":"string","description":"An unique UUID/GUID which identifies this Log Analytics Query Pack Query - one will be generated if not specified. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"queryPackId":{"type":"string","description":"The ID of the Log Analytics Query Pack. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceTypes":{"type":"array","items":{"type":"string"},"description":"A list of the related resource types for the function. Possible values are \u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\"\u003e`default`\u003c/span\u003e, `microsoft.aad/domainservices`, `microsoft.aadiam/tenants`, `microsoft.agfoodplatform/farmbeats`, `microsoft.analysisservices/servers`, `microsoft.apimanagement/service`, `microsoft.appconfiguration/configurationstores`, `microsoft.appplatform/spring`, `microsoft.attestation/attestationproviders`, `microsoft.authorization/tenants`, `microsoft.automation/automationaccounts`, `microsoft.autonomousdevelopmentplatform/accounts`, `microsoft.azurestackhci/virtualmachines`, `microsoft.batch/batchaccounts`, `microsoft.blockchain/blockchainmembers`, `microsoft.botservice/botservices`, `microsoft.cache/redis`, `microsoft.cdn/profiles`, `microsoft.cognitiveservices/accounts`, `microsoft.communication/communicationservices`, `microsoft.compute/virtualmachines`, `microsoft.compute/virtualmachinescalesets`, `microsoft.connectedcache/cachenodes`, `microsoft.connectedvehicle/platformaccounts`, `microsoft.conenctedvmwarevsphere/virtualmachines`, `microsoft.containerregistry/registries`, `microsoft.containerservice/managedclusters`, `microsoft.d365customerinsights/instances`, `microsoft.dashboard/grafana`, `microsoft.databricks/workspaces`, `microsoft.datacollaboration/workspaces`, `microsoft.datafactory/factories`, `microsoft.datalakeanalytics/accounts`, `microsoft.datalakestore/accounts`, `microsoft.datashare/accounts`, `microsoft.dbformariadb/servers`, `microsoft.dbformysql/servers`, `microsoft.dbforpostgresql/flexibleservers`, `microsoft.dbforpostgresql/servers`, `microsoft.dbforpostgresql/serversv2`, `microsoft.digitaltwins/digitaltwinsinstances`, `microsoft.documentdb/cassandraclusters`, `microsoft.documentdb/databaseaccounts`, `microsoft.desktopvirtualization/applicationgroups`, `microsoft.desktopvirtualization/hostpools`, `microsoft.desktopvirtualization/workspaces`, `microsoft.devices/iothubs`, `microsoft.devices/provisioningservices`, `microsoft.dynamics/fraudprotection/purchase`, `microsoft.eventgrid/domains`, `microsoft.eventgrid/topics`, `microsoft.eventgrid/partnernamespaces`, `microsoft.eventgrid/partnertopics`, `microsoft.eventgrid/systemtopics`, `microsoft.eventhub/namespaces`, `microsoft.experimentation/experimentworkspaces`, `microsoft.hdinsight/clusters`, `microsoft.healthcareapis/services`, `microsoft.informationprotection/datasecuritymanagement`, `microsoft.intune/operations`, `microsoft.insights/autoscalesettings`, `microsoft.insights/components`, `microsoft.insights/workloadmonitoring`, `microsoft.keyvault/vaults`, `microsoft.kubernetes/connectedclusters`, `microsoft.kusto/clusters`, `microsoft.loadtestservice/loadtests`, `microsoft.logic/workflows`, `microsoft.machinelearningservices/workspaces`, `microsoft.media/mediaservices`, `microsoft.netapp/netappaccounts/capacitypools`, `microsoft.network/applicationgateways`, `microsoft.network/azurefirewalls`, `microsoft.network/bastionhosts`, `microsoft.network/expressroutecircuits`, `microsoft.network/frontdoors`, `microsoft.network/loadbalancers`, `microsoft.network/networkinterfaces`, `microsoft.network/networksecuritygroups`, `microsoft.network/networksecurityperimeters`, `microsoft.network/networkwatchers/connectionmonitors`, `microsoft.network/networkwatchers/trafficanalytics`, `microsoft.network/publicipaddresses`, `microsoft.network/trafficmanagerprofiles`, `microsoft.network/virtualnetworks`, `microsoft.network/virtualnetworkgateways`, `microsoft.network/vpngateways`, `microsoft.networkfunction/azuretrafficcollectors`, `microsoft.openenergyplatform/energyservices`, `microsoft.openlogisticsplatform/workspaces`, `microsoft.operationalinsights/workspaces`, `microsoft.powerbi/tenants`, `microsoft.powerbi/tenants/workspaces`, `microsoft.powerbidedicated/capacities`, `microsoft.purview/accounts`, `microsoft.recoveryservices/vaults`, `microsoft.resources/azureactivity`, `microsoft.scvmm/virtualmachines`, `microsoft.search/searchservices`, `microsoft.security/antimalwaresettings`, `microsoft.securityinsights/amazon`, `microsoft.securityinsights/anomalies`, `microsoft.securityinsights/cef`, `microsoft.securityinsights/datacollection`, `microsoft.securityinsights/dnsnormalized`, `microsoft.securityinsights/mda`, `microsoft.securityinsights/mde`, `microsoft.securityinsights/mdi`, `microsoft.securityinsights/mdo`, `microsoft.securityinsights/networksessionnormalized`, `microsoft.securityinsights/office365`, `microsoft.securityinsights/purview`, `microsoft.securityinsights/securityinsights`, `microsoft.securityinsights/securityinsights/mcas`, `microsoft.securityinsights/tvm`, `microsoft.securityinsights/watchlists`, `microsoft.servicebus/namespaces`, `microsoft.servicefabric/clusters`, `microsoft.signalrservice/signalr`, `microsoft.signalrservice/webpubsub`, `microsoft.sql/managedinstances`, `microsoft.sql/servers`, `microsoft.sql/servers/databases`, `microsoft.storage/storageaccounts`, `microsoft.storagecache/caches`, `microsoft.streamanalytics/streamingjobs`, `microsoft.synapse/workspaces`, `microsoft.timeseriesinsights/environments`, `microsoft.videoindexer/accounts`, `microsoft.web/sites`, `microsoft.workloadmonitor/monitors`, \u003cspan pulumi-lang-nodejs=\"`resourcegroup`\" pulumi-lang-dotnet=\"`Resourcegroup`\" pulumi-lang-go=\"`resourcegroup`\" pulumi-lang-python=\"`resourcegroup`\" pulumi-lang-yaml=\"`resourcegroup`\" pulumi-lang-java=\"`resourcegroup`\"\u003e`resourcegroup`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`subscription`\" pulumi-lang-dotnet=\"`Subscription`\" pulumi-lang-go=\"`subscription`\" pulumi-lang-python=\"`subscription`\" pulumi-lang-yaml=\"`subscription`\" pulumi-lang-java=\"`subscription`\"\u003e`subscription`\u003c/span\u003e.\n"},"solutions":{"type":"array","items":{"type":"string"},"description":"A list of the related Log Analytics solutions for the function. Possible values are `AADDomainServices`, `ADAssessment`, `ADAssessmentPlus`, `ADReplication`, `ADSecurityAssessment`, `AlertManagement`, `AntiMalware`, `ApplicationInsights`, `AzureAssessment`, `AzureSecurityOfThings`, `AzureSentinelDSRE`, `AzureSentinelPrivatePreview`, `BehaviorAnalyticsInsights`, `ChangeTracking`, `CompatibilityAssessment`, `ContainerInsights`, `Containers`, `CustomizedWindowsEventsFiltering`, `DeviceHealthProd`, `DnsAnalytics`, `ExchangeAssessment`, `ExchangeOnlineAssessment`, `IISAssessmentPlus`, `InfrastructureInsights`, `InternalWindowsEvent`, `LogManagement`, `Microsoft365Analytics`, `NetworkMonitoring`, `SCCMAssessmentPlus`, `SCOMAssessment`, `SCOMAssessmentPlus`, `Security`, `SecurityCenter`, `SecurityCenterFree`, `SecurityInsights`, `ServiceMap`, `SfBAssessment`, `SfBOnlineAssessment`, `SharePointOnlineAssessment`, `SPAssessment`, `SQLAdvancedThreatProtection`, `SQLAssessment`, `SQLAssessmentPlus`, `SQLDataClassification`, `SQLThreatDetection`, `SQLVulnerabilityAssessment`, `SurfaceHub`, `Updates`, `VMInsights`, `WEFInternalUat`, `WEF_10x`, `WEF_10xDSRE`, `WaaSUpdateInsights`, `WinLog`, `WindowsClientAssessmentPlus`, `WindowsEventForwarding`, `WindowsFirewall`, `WindowsServerAssessment`, `WireData` and `WireData2`.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Log Analytics Query Pack Query.\n"}},"type":"object"}},"azure:oracle/autonomousDatabase:AutonomousDatabase":{"description":"Manages an Autonomous Database.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.oracle.AutonomousDatabase(\"example\", {\n    name: \"example\",\n    resourceGroupName: \"example\",\n    location: \"West Europe\",\n    subnetId: \"example\",\n    displayName: \"example\",\n    dbWorkload: \"example\",\n    mtlsConnectionRequired: false,\n    backupRetentionPeriodInDays: 42,\n    computeModel: \"example\",\n    dataStorageSizeInGbs: 42,\n    autoScalingForStorageEnabled: false,\n    virtualNetworkId: \"example\",\n    adminPassword: \"example\",\n    autoScalingEnabled: \"example\",\n    characterSet: \"example\",\n    computeCount: 1.23456,\n    nationalCharacterSet: \"example\",\n    licenseModel: \"false\",\n    dbVersion: \"example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.oracle.AutonomousDatabase(\"example\",\n    name=\"example\",\n    resource_group_name=\"example\",\n    location=\"West Europe\",\n    subnet_id=\"example\",\n    display_name=\"example\",\n    db_workload=\"example\",\n    mtls_connection_required=False,\n    backup_retention_period_in_days=42,\n    compute_model=\"example\",\n    data_storage_size_in_gbs=42,\n    auto_scaling_for_storage_enabled=False,\n    virtual_network_id=\"example\",\n    admin_password=\"example\",\n    auto_scaling_enabled=\"example\",\n    character_set=\"example\",\n    compute_count=1.23456,\n    national_character_set=\"example\",\n    license_model=\"false\",\n    db_version=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Oracle.AutonomousDatabase(\"example\", new()\n    {\n        Name = \"example\",\n        ResourceGroupName = \"example\",\n        Location = \"West Europe\",\n        SubnetId = \"example\",\n        DisplayName = \"example\",\n        DbWorkload = \"example\",\n        MtlsConnectionRequired = false,\n        BackupRetentionPeriodInDays = 42,\n        ComputeModel = \"example\",\n        DataStorageSizeInGbs = 42,\n        AutoScalingForStorageEnabled = false,\n        VirtualNetworkId = \"example\",\n        AdminPassword = \"example\",\n        AutoScalingEnabled = \"example\",\n        CharacterSet = \"example\",\n        ComputeCount = 1.23456,\n        NationalCharacterSet = \"example\",\n        LicenseModel = \"false\",\n        DbVersion = \"example\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/oracle\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := oracle.NewAutonomousDatabase(ctx, \"example\", \u0026oracle.AutonomousDatabaseArgs{\n\t\t\tName:                         pulumi.String(\"example\"),\n\t\t\tResourceGroupName:            pulumi.String(\"example\"),\n\t\t\tLocation:                     pulumi.String(\"West Europe\"),\n\t\t\tSubnetId:                     pulumi.String(\"example\"),\n\t\t\tDisplayName:                  pulumi.String(\"example\"),\n\t\t\tDbWorkload:                   pulumi.String(\"example\"),\n\t\t\tMtlsConnectionRequired:       pulumi.Bool(false),\n\t\t\tBackupRetentionPeriodInDays:  pulumi.Int(42),\n\t\t\tComputeModel:                 pulumi.String(\"example\"),\n\t\t\tDataStorageSizeInGbs:         42,\n\t\t\tAutoScalingForStorageEnabled: pulumi.Bool(false),\n\t\t\tVirtualNetworkId:             pulumi.String(\"example\"),\n\t\t\tAdminPassword:                pulumi.String(\"example\"),\n\t\t\tAutoScalingEnabled:           pulumi.Bool(\"example\"),\n\t\t\tCharacterSet:                 pulumi.String(\"example\"),\n\t\t\tComputeCount:                 pulumi.Float64(1.23456),\n\t\t\tNationalCharacterSet:         pulumi.String(\"example\"),\n\t\t\tLicenseModel:                 pulumi.String(\"false\"),\n\t\t\tDbVersion:                    pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.oracle.AutonomousDatabase;\nimport com.pulumi.azure.oracle.AutonomousDatabaseArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new AutonomousDatabase(\"example\", AutonomousDatabaseArgs.builder()\n            .name(\"example\")\n            .resourceGroupName(\"example\")\n            .location(\"West Europe\")\n            .subnetId(\"example\")\n            .displayName(\"example\")\n            .dbWorkload(\"example\")\n            .mtlsConnectionRequired(false)\n            .backupRetentionPeriodInDays(42)\n            .computeModel(\"example\")\n            .dataStorageSizeInGbs(42)\n            .autoScalingForStorageEnabled(false)\n            .virtualNetworkId(\"example\")\n            .adminPassword(\"example\")\n            .autoScalingEnabled(\"example\")\n            .characterSet(\"example\")\n            .computeCount(1.23456)\n            .nationalCharacterSet(\"example\")\n            .licenseModel(\"false\")\n            .dbVersion(\"example\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:oracle:AutonomousDatabase\n    properties:\n      name: example\n      resourceGroupName: example\n      location: West Europe\n      subnetId: example\n      displayName: example\n      dbWorkload: example\n      mtlsConnectionRequired: false\n      backupRetentionPeriodInDays: 42\n      computeModel: example\n      dataStorageSizeInGbs: 42\n      autoScalingForStorageEnabled: false\n      virtualNetworkId: example\n      adminPassword: example\n      autoScalingEnabled: example\n      characterSet: example\n      computeCount: 1.23456\n      nationalCharacterSet: example\n      licenseModel: false\n      dbVersion: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## \u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`allowedIps`\" pulumi-lang-dotnet=\"`AllowedIps`\" pulumi-lang-go=\"`allowedIps`\" pulumi-lang-python=\"`allowed_ips`\" pulumi-lang-yaml=\"`allowedIps`\" pulumi-lang-java=\"`allowedIps`\"\u003e`allowed_ips`\u003c/span\u003e  cannot be updated after provisioning the resource with an empty list (i.e., a publicly accessible Autonomous Database)\n\n              size: the maximum number of Ips provided shouldn't exceed 1024. At this time we only support IpV4.\n---\n\n* \u003cspan pulumi-lang-nodejs=\"`customerContacts`\" pulumi-lang-dotnet=\"`CustomerContacts`\" pulumi-lang-go=\"`customerContacts`\" pulumi-lang-python=\"`customer_contacts`\" pulumi-lang-yaml=\"`customerContacts`\" pulumi-lang-java=\"`customerContacts`\"\u003e`customer_contacts`\u003c/span\u003e - (Optional) Specifies a list of customer contacts as email addresses. Changing this forces a new Autonomous Database to be created.\n\n* \u003cspan pulumi-lang-nodejs=\"`tags`\" pulumi-lang-dotnet=\"`Tags`\" pulumi-lang-go=\"`tags`\" pulumi-lang-python=\"`tags`\" pulumi-lang-yaml=\"`tags`\" pulumi-lang-java=\"`tags`\"\u003e`tags`\u003c/span\u003e - (Optional) A mapping of tags which should be assigned to the Autonomous Database.\n\n* \u003cspan pulumi-lang-nodejs=\"`longTermBackupSchedule`\" pulumi-lang-dotnet=\"`LongTermBackupSchedule`\" pulumi-lang-go=\"`longTermBackupSchedule`\" pulumi-lang-python=\"`long_term_backup_schedule`\" pulumi-lang-yaml=\"`longTermBackupSchedule`\" pulumi-lang-java=\"`longTermBackupSchedule`\"\u003e`long_term_backup_schedule`\u003c/span\u003e - (Optional) A \u003cspan pulumi-lang-nodejs=\"`longTermBackupSchedule`\" pulumi-lang-dotnet=\"`LongTermBackupSchedule`\" pulumi-lang-go=\"`longTermBackupSchedule`\" pulumi-lang-python=\"`long_term_backup_schedule`\" pulumi-lang-yaml=\"`longTermBackupSchedule`\" pulumi-lang-java=\"`longTermBackupSchedule`\"\u003e`long_term_backup_schedule`\u003c/span\u003e block as defined below.\n\n\u003e **Note:** for more information see [Create Long-Term Backups on Autonomous Database](https://docs.oracle.com/en/cloud/paas/autonomous-database/serverless/adbsb/backup-long-term.html#GUID-BD76E02E-AEB0-4450-A6AB-5C9EB1F4EAD0)\n\n---\n\nA \u003cspan pulumi-lang-nodejs=\"`longTermBackupSchedule`\" pulumi-lang-dotnet=\"`LongTermBackupSchedule`\" pulumi-lang-go=\"`longTermBackupSchedule`\" pulumi-lang-python=\"`long_term_backup_schedule`\" pulumi-lang-yaml=\"`longTermBackupSchedule`\" pulumi-lang-java=\"`longTermBackupSchedule`\"\u003e`long_term_backup_schedule`\u003c/span\u003e blocks supports the following:\n\n* \u003cspan pulumi-lang-nodejs=\"`repeatCadence`\" pulumi-lang-dotnet=\"`RepeatCadence`\" pulumi-lang-go=\"`repeatCadence`\" pulumi-lang-python=\"`repeat_cadence`\" pulumi-lang-yaml=\"`repeatCadence`\" pulumi-lang-java=\"`repeatCadence`\"\u003e`repeat_cadence`\u003c/span\u003e - (Required) Specifies the schedule for automated long-term backups. Possible values are `Weekly`, `Monthly`, `Yearly`, or `OneTime` (does not repeat) . For example, if the Backup date and Time is `Jan 24, 2025 00:09:00 UTC` and this is a Tuesday, and Weekly is selected, the long-term backup will happen every Tuesday.\n\n* \u003cspan pulumi-lang-nodejs=\"`timeOfBackup`\" pulumi-lang-dotnet=\"`TimeOfBackup`\" pulumi-lang-go=\"`timeOfBackup`\" pulumi-lang-python=\"`time_of_backup`\" pulumi-lang-yaml=\"`timeOfBackup`\" pulumi-lang-java=\"`timeOfBackup`\"\u003e`time_of_backup`\u003c/span\u003e - (Required) The date and time in which the backup should be taken in ISO8601 Date Time format. \n\n* \u003cspan pulumi-lang-nodejs=\"`retentionPeriodInDays`\" pulumi-lang-dotnet=\"`RetentionPeriodInDays`\" pulumi-lang-go=\"`retentionPeriodInDays`\" pulumi-lang-python=\"`retention_period_in_days`\" pulumi-lang-yaml=\"`retentionPeriodInDays`\" pulumi-lang-java=\"`retentionPeriodInDays`\"\u003e`retention_period_in_days`\u003c/span\u003e - (Required) The retention period in days for the Autonomous Database Backup. Possible values range from \u003cspan pulumi-lang-nodejs=\"`90`\" pulumi-lang-dotnet=\"`90`\" pulumi-lang-go=\"`90`\" pulumi-lang-python=\"`90`\" pulumi-lang-yaml=\"`90`\" pulumi-lang-java=\"`90`\"\u003e`90`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`2558`\" pulumi-lang-dotnet=\"`2558`\" pulumi-lang-go=\"`2558`\" pulumi-lang-python=\"`2558`\" pulumi-lang-yaml=\"`2558`\" pulumi-lang-java=\"`2558`\"\u003e`2558`\u003c/span\u003e days (7 years).\n\n* \u003cspan pulumi-lang-nodejs=\"`enabled`\" pulumi-lang-dotnet=\"`Enabled`\" pulumi-lang-go=\"`enabled`\" pulumi-lang-python=\"`enabled`\" pulumi-lang-yaml=\"`enabled`\" pulumi-lang-java=\"`enabled`\"\u003e`enabled`\u003c/span\u003e - (Required) A boolean value that indicates whether the long term backup schedule is enabled. \n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Oracle.Database` - 2025-09-01\n\n## Import\n\nAutonomous Databases can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:oracle/autonomousDatabase:AutonomousDatabase example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup/providers/Oracle.Database/autonomousDatabases/autonomousDatabases1\n```\n\n","properties":{"adminPassword":{"type":"string","description":"The password must be between \u003cspan pulumi-lang-nodejs=\"`12`\" pulumi-lang-dotnet=\"`12`\" pulumi-lang-go=\"`12`\" pulumi-lang-python=\"`12`\" pulumi-lang-yaml=\"`12`\" pulumi-lang-java=\"`12`\"\u003e`12`\u003c/span\u003e and `30 `characters long, and must contain at least 1 uppercase, 1 lowercase, and 1 numeric character. It cannot contain the double quote symbol (\") or the username \"admin\", regardless of casing.\n","secret":true},"allowedIps":{"type":"array","items":{"type":"string"},"description":"(Optional) Defines the network access type for the Autonomous Database. If the property is explicitly set to an empty list, it allows secure public access to the database from any IP address. If specific ACL (Access Control List) values are provided, access will be restricted to only the specified IP addresses.\n"},"autoScalingEnabled":{"type":"boolean","description":"Indicates if auto scaling is enabled for the Autonomous Database CPU core count.\n"},"autoScalingForStorageEnabled":{"type":"boolean","description":"Indicates if auto scaling is enabled for the Autonomous Database storage.\n"},"backupRetentionPeriodInDays":{"type":"integer","description":"Retention period, in days, for backups.\n"},"characterSet":{"type":"string","description":"The character set for the autonomous database. Allowed values are: `AL32UTF8`, `AR8ADOS710`, `AR8ADOS720`, `AR8APTEC715`, `AR8ARABICMACS`, `AR8ASMO8X`, `AR8ISO8859P6`, `AR8MSWIN1256`, `AR8MUSSAD768`, `AR8NAFITHA711`, `AR8NAFITHA721`, `AR8SAKHR706`, `AR8SAKHR707`, `AZ8ISO8859P9E`, `BG8MSWIN`, `BG8PC437S`, `BLT8CP921`, `BLT8ISO8859P13`, `BLT8MSWIN1257`, `BLT8PC775`, `BN8BSCII`, `CDN8PC863`, `CEL8ISO8859P14`, `CL8ISO8859P5`, `CL8ISOIR111`, `CL8KOI8R`, `CL8KOI8U`, `CL8MACCYRILLICS`, `CL8MSWIN1251`, `EE8ISO8859P2`, `EE8MACCES`, `EE8MACCROATIANS`, `EE8MSWIN1250`, `EE8PC852`, `EL8DEC`, `EL8ISO8859P7`, `EL8MACGREEKS`, `EL8MSWIN1253`, `EL8PC437S`, `EL8PC851`, `EL8PC869`, `ET8MSWIN923`, `HU8ABMOD`, `HU8CWI2`, `IN8ISCII`, `IS8PC861`, `IW8ISO8859P8`, `IW8MACHEBREWS`, `IW8MSWIN1255`, `IW8PC1507`, `JA16EUC`, `JA16EUCTILDE`, `JA16SJIS`, `JA16SJISTILDE`, `JA16VMS`, `KO16KSC5601`, `KO16KSCCS`, `KO16MSWIN949`, `LA8ISO6937`, `LA8PASSPORT`, `LT8MSWIN921`, `LT8PC772`, `LT8PC774`, `LV8PC1117`, `LV8PC8LR`, `LV8RST104090`, `N8PC865`, `NE8ISO8859P10`, `NEE8ISO8859P4`, `RU8BESTA`, `RU8PC855`, `RU8PC866`, `SE8ISO8859P3`, `TH8MACTHAIS`, `TH8TISASCII`, `TR8DEC`, `TR8MACTURKISHS`, `TR8MSWIN1254`, `TR8PC857`, `US7ASCII`, `US8PC437`, `UTF8`, `VN8MSWIN1258`, `VN8VN3`, `WE8DEC`, `WE8DG`, `WE8ISO8859P1`, `WE8ISO8859P15`, `WE8ISO8859P9`, `WE8MACROMAN8S`, `WE8MSWIN1252`, `WE8NCR4970`, `WE8NEXTSTEP`, `WE8PC850`, `WE8PC858`, `WE8PC860`, `WE8ROMAN8`, `ZHS16CGB231280`, `ZHS16GBK`, `ZHT16BIG5`, `ZHT16CCDC`, `ZHT16DBT`, `ZHT16HKSCS`, `ZHT16MSWIN950`, `ZHT32EUC`, `ZHT32SOPS`, `ZHT32TRIS`. Changing this forces a new Autonomous Database to be created.\n"},"computeCount":{"type":"number","description":"The compute amount (CPUs) available to the database. Minimum and maximum values depend on the compute model and whether the database is an Autonomous Database Serverless instance or an Autonomous Database on Dedicated Exadata Infrastructure. For an Autonomous Database Serverless instance, the `ECPU` compute model requires a minimum value of one, for databases in the elastic resource pool and minimum value of two, otherwise. Required when using the `computeModel` parameter. When using `cpuCoreCount` parameter, it is an error to specify computeCount to a non-null value. Providing `computeModel` and `computeCount` is the preferred method for both OCPU and ECPU.\n"},"computeModel":{"type":"string","description":"The compute model of the Autonomous Database. This is required if using the `computeCount` parameter. If using `cpuCoreCount` then it is an error to specify `computeModel` to a non-null value. ECPU compute model is the recommended model and OCPU compute model is legacy. Changing this forces a new Autonomous Database to be created.\n"},"customerContacts":{"type":"array","items":{"type":"string"}},"dataStorageSizeInTbs":{"type":"integer","description":"The maximum storage that can be allocated for the database, in terabytes.\n"},"dbVersion":{"type":"string","description":"A valid Oracle Database version for Autonomous Database. Changing this forces a new Autonomous Database to be created.\n"},"dbWorkload":{"type":"string","description":"The Autonomous Database workload type. Changing this forces a new Autonomous Database to be created. Possible values are `AJD`, `APEX`, `DW` and `OLTP`.\n\n\u003e **Note:** `AJD` indicates an Autonomous JSON database; `APEX` indicates an Autonomous Database with the Oracle APEX Application Development workload type; `DW` indicates an Autonomous Data Warehouse database; `OLTP` indicates an Autonomous Transaction Processing database\n\u003e **Note:** When Provisioning Database with `APEX` workload \u003cspan pulumi-lang-nodejs=\"`mtlsConnectionRequired`\" pulumi-lang-dotnet=\"`MtlsConnectionRequired`\" pulumi-lang-go=\"`mtlsConnectionRequired`\" pulumi-lang-python=\"`mtls_connection_required`\" pulumi-lang-yaml=\"`mtlsConnectionRequired`\" pulumi-lang-java=\"`mtlsConnectionRequired`\"\u003e`mtls_connection_required`\u003c/span\u003e must be set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"displayName":{"type":"string","description":"The user-friendly name for the Autonomous Database. The name does not have to be unique. Changing this forces a new Autonomous Database to be created.\n"},"licenseModel":{"type":"string","description":"The Oracle license model that applies to the Oracle Autonomous Database. Possible values are `LicenseIncluded` and `BringYourOwnLicense`. Changing this forces a new Autonomous Database to be created. Bring your own license (BYOL) allows you to apply your current on-premises Oracle software licenses to equivalent, highly automated Oracle services in the cloud. License Included allows you to subscribe to new Oracle Database software licenses and the Oracle Database service. Note that when provisioning an [Autonomous Database on dedicated Exadata infrastructure](https://docs.oracle.com/en/cloud/paas/autonomous-database/index.html), this attribute must be null. It is already set at the Autonomous Exadata Infrastructure level. When provisioning an [Autonomous Database Serverless] (https://docs.oracle.com/en/cloud/paas/autonomous-database/index.html) database, if a value is not specified, the system defaults the value to `BRING_YOUR_OWN_LICENSE`. Bring your own license (BYOL) also allows you to select the DB edition using the optional parameter.\n"},"location":{"type":"string","description":"The Azure Region where the Autonomous Database should exist. Changing this forces a new Autonomous Database to be created.\n"},"longTermBackupSchedule":{"$ref":"#/types/azure:oracle/AutonomousDatabaseLongTermBackupSchedule:AutonomousDatabaseLongTermBackupSchedule"},"mtlsConnectionRequired":{"type":"boolean","description":"Specifies if the Autonomous Database requires mTLS connections. Changing this forces a new Autonomous Database to be created. Default value \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`mtlsConnectionRequired`\" pulumi-lang-dotnet=\"`MtlsConnectionRequired`\" pulumi-lang-go=\"`mtlsConnectionRequired`\" pulumi-lang-python=\"`mtls_connection_required`\" pulumi-lang-yaml=\"`mtlsConnectionRequired`\" pulumi-lang-java=\"`mtlsConnectionRequired`\"\u003e`mtls_connection_required`\u003c/span\u003e  must be set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e for all workload types except 'APEX' when creating a database with public access.\n"},"name":{"type":"string","description":"The name which should be used for this Autonomous Database. Changing this forces a new Autonomous Database to be created.\n"},"nationalCharacterSet":{"type":"string","description":"The national character set for the autonomous database. Changing this forces a new Autonomous Database to be created. The default is AL16UTF16. Allowed values are: AL16UTF16 or UTF8.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Autonomous Database should exist. Changing this forces a new Autonomous Database to be created.\n"},"subnetId":{"type":"string","description":"The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the subnet the resource is associated with. Changing this forces a new Autonomous Database to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"}},"virtualNetworkId":{"type":"string","description":"The ID of the vnet associated with the cloud VM cluster. Changing this forces a new Autonomous Database to be created.\n"}},"required":["adminPassword","autoScalingEnabled","autoScalingForStorageEnabled","backupRetentionPeriodInDays","characterSet","computeCount","computeModel","customerContacts","dataStorageSizeInTbs","dbVersion","dbWorkload","displayName","licenseModel","location","mtlsConnectionRequired","name","nationalCharacterSet","resourceGroupName"],"inputProperties":{"adminPassword":{"type":"string","description":"The password must be between \u003cspan pulumi-lang-nodejs=\"`12`\" pulumi-lang-dotnet=\"`12`\" pulumi-lang-go=\"`12`\" pulumi-lang-python=\"`12`\" pulumi-lang-yaml=\"`12`\" pulumi-lang-java=\"`12`\"\u003e`12`\u003c/span\u003e and `30 `characters long, and must contain at least 1 uppercase, 1 lowercase, and 1 numeric character. It cannot contain the double quote symbol (\") or the username \"admin\", regardless of casing.\n","secret":true},"allowedIps":{"type":"array","items":{"type":"string"},"description":"(Optional) Defines the network access type for the Autonomous Database. If the property is explicitly set to an empty list, it allows secure public access to the database from any IP address. If specific ACL (Access Control List) values are provided, access will be restricted to only the specified IP addresses.\n"},"autoScalingEnabled":{"type":"boolean","description":"Indicates if auto scaling is enabled for the Autonomous Database CPU core count.\n"},"autoScalingForStorageEnabled":{"type":"boolean","description":"Indicates if auto scaling is enabled for the Autonomous Database storage.\n"},"backupRetentionPeriodInDays":{"type":"integer","description":"Retention period, in days, for backups.\n"},"characterSet":{"type":"string","description":"The character set for the autonomous database. Allowed values are: `AL32UTF8`, `AR8ADOS710`, `AR8ADOS720`, `AR8APTEC715`, `AR8ARABICMACS`, `AR8ASMO8X`, `AR8ISO8859P6`, `AR8MSWIN1256`, `AR8MUSSAD768`, `AR8NAFITHA711`, `AR8NAFITHA721`, `AR8SAKHR706`, `AR8SAKHR707`, `AZ8ISO8859P9E`, `BG8MSWIN`, `BG8PC437S`, `BLT8CP921`, `BLT8ISO8859P13`, `BLT8MSWIN1257`, `BLT8PC775`, `BN8BSCII`, `CDN8PC863`, `CEL8ISO8859P14`, `CL8ISO8859P5`, `CL8ISOIR111`, `CL8KOI8R`, `CL8KOI8U`, `CL8MACCYRILLICS`, `CL8MSWIN1251`, `EE8ISO8859P2`, `EE8MACCES`, `EE8MACCROATIANS`, `EE8MSWIN1250`, `EE8PC852`, `EL8DEC`, `EL8ISO8859P7`, `EL8MACGREEKS`, `EL8MSWIN1253`, `EL8PC437S`, `EL8PC851`, `EL8PC869`, `ET8MSWIN923`, `HU8ABMOD`, `HU8CWI2`, `IN8ISCII`, `IS8PC861`, `IW8ISO8859P8`, `IW8MACHEBREWS`, `IW8MSWIN1255`, `IW8PC1507`, `JA16EUC`, `JA16EUCTILDE`, `JA16SJIS`, `JA16SJISTILDE`, `JA16VMS`, `KO16KSC5601`, `KO16KSCCS`, `KO16MSWIN949`, `LA8ISO6937`, `LA8PASSPORT`, `LT8MSWIN921`, `LT8PC772`, `LT8PC774`, `LV8PC1117`, `LV8PC8LR`, `LV8RST104090`, `N8PC865`, `NE8ISO8859P10`, `NEE8ISO8859P4`, `RU8BESTA`, `RU8PC855`, `RU8PC866`, `SE8ISO8859P3`, `TH8MACTHAIS`, `TH8TISASCII`, `TR8DEC`, `TR8MACTURKISHS`, `TR8MSWIN1254`, `TR8PC857`, `US7ASCII`, `US8PC437`, `UTF8`, `VN8MSWIN1258`, `VN8VN3`, `WE8DEC`, `WE8DG`, `WE8ISO8859P1`, `WE8ISO8859P15`, `WE8ISO8859P9`, `WE8MACROMAN8S`, `WE8MSWIN1252`, `WE8NCR4970`, `WE8NEXTSTEP`, `WE8PC850`, `WE8PC858`, `WE8PC860`, `WE8ROMAN8`, `ZHS16CGB231280`, `ZHS16GBK`, `ZHT16BIG5`, `ZHT16CCDC`, `ZHT16DBT`, `ZHT16HKSCS`, `ZHT16MSWIN950`, `ZHT32EUC`, `ZHT32SOPS`, `ZHT32TRIS`. Changing this forces a new Autonomous Database to be created.\n","willReplaceOnChanges":true},"computeCount":{"type":"number","description":"The compute amount (CPUs) available to the database. Minimum and maximum values depend on the compute model and whether the database is an Autonomous Database Serverless instance or an Autonomous Database on Dedicated Exadata Infrastructure. For an Autonomous Database Serverless instance, the `ECPU` compute model requires a minimum value of one, for databases in the elastic resource pool and minimum value of two, otherwise. Required when using the `computeModel` parameter. When using `cpuCoreCount` parameter, it is an error to specify computeCount to a non-null value. Providing `computeModel` and `computeCount` is the preferred method for both OCPU and ECPU.\n"},"computeModel":{"type":"string","description":"The compute model of the Autonomous Database. This is required if using the `computeCount` parameter. If using `cpuCoreCount` then it is an error to specify `computeModel` to a non-null value. ECPU compute model is the recommended model and OCPU compute model is legacy. Changing this forces a new Autonomous Database to be created.\n","willReplaceOnChanges":true},"customerContacts":{"type":"array","items":{"type":"string"},"willReplaceOnChanges":true},"dataStorageSizeInTbs":{"type":"integer","description":"The maximum storage that can be allocated for the database, in terabytes.\n"},"dbVersion":{"type":"string","description":"A valid Oracle Database version for Autonomous Database. Changing this forces a new Autonomous Database to be created.\n","willReplaceOnChanges":true},"dbWorkload":{"type":"string","description":"The Autonomous Database workload type. Changing this forces a new Autonomous Database to be created. Possible values are `AJD`, `APEX`, `DW` and `OLTP`.\n\n\u003e **Note:** `AJD` indicates an Autonomous JSON database; `APEX` indicates an Autonomous Database with the Oracle APEX Application Development workload type; `DW` indicates an Autonomous Data Warehouse database; `OLTP` indicates an Autonomous Transaction Processing database\n\u003e **Note:** When Provisioning Database with `APEX` workload \u003cspan pulumi-lang-nodejs=\"`mtlsConnectionRequired`\" pulumi-lang-dotnet=\"`MtlsConnectionRequired`\" pulumi-lang-go=\"`mtlsConnectionRequired`\" pulumi-lang-python=\"`mtls_connection_required`\" pulumi-lang-yaml=\"`mtlsConnectionRequired`\" pulumi-lang-java=\"`mtlsConnectionRequired`\"\u003e`mtls_connection_required`\u003c/span\u003e must be set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n","willReplaceOnChanges":true},"displayName":{"type":"string","description":"The user-friendly name for the Autonomous Database. The name does not have to be unique. Changing this forces a new Autonomous Database to be created.\n","willReplaceOnChanges":true},"licenseModel":{"type":"string","description":"The Oracle license model that applies to the Oracle Autonomous Database. Possible values are `LicenseIncluded` and `BringYourOwnLicense`. Changing this forces a new Autonomous Database to be created. Bring your own license (BYOL) allows you to apply your current on-premises Oracle software licenses to equivalent, highly automated Oracle services in the cloud. License Included allows you to subscribe to new Oracle Database software licenses and the Oracle Database service. Note that when provisioning an [Autonomous Database on dedicated Exadata infrastructure](https://docs.oracle.com/en/cloud/paas/autonomous-database/index.html), this attribute must be null. It is already set at the Autonomous Exadata Infrastructure level. When provisioning an [Autonomous Database Serverless] (https://docs.oracle.com/en/cloud/paas/autonomous-database/index.html) database, if a value is not specified, the system defaults the value to `BRING_YOUR_OWN_LICENSE`. Bring your own license (BYOL) also allows you to select the DB edition using the optional parameter.\n","willReplaceOnChanges":true},"location":{"type":"string","description":"The Azure Region where the Autonomous Database should exist. Changing this forces a new Autonomous Database to be created.\n","willReplaceOnChanges":true},"longTermBackupSchedule":{"$ref":"#/types/azure:oracle/AutonomousDatabaseLongTermBackupSchedule:AutonomousDatabaseLongTermBackupSchedule"},"mtlsConnectionRequired":{"type":"boolean","description":"Specifies if the Autonomous Database requires mTLS connections. Changing this forces a new Autonomous Database to be created. Default value \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`mtlsConnectionRequired`\" pulumi-lang-dotnet=\"`MtlsConnectionRequired`\" pulumi-lang-go=\"`mtlsConnectionRequired`\" pulumi-lang-python=\"`mtls_connection_required`\" pulumi-lang-yaml=\"`mtlsConnectionRequired`\" pulumi-lang-java=\"`mtlsConnectionRequired`\"\u003e`mtls_connection_required`\u003c/span\u003e  must be set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e for all workload types except 'APEX' when creating a database with public access.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Autonomous Database. Changing this forces a new Autonomous Database to be created.\n","willReplaceOnChanges":true},"nationalCharacterSet":{"type":"string","description":"The national character set for the autonomous database. Changing this forces a new Autonomous Database to be created. The default is AL16UTF16. Allowed values are: AL16UTF16 or UTF8.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Autonomous Database should exist. Changing this forces a new Autonomous Database to be created.\n","willReplaceOnChanges":true},"subnetId":{"type":"string","description":"The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the subnet the resource is associated with. Changing this forces a new Autonomous Database to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"}},"virtualNetworkId":{"type":"string","description":"The ID of the vnet associated with the cloud VM cluster. Changing this forces a new Autonomous Database to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["adminPassword","autoScalingEnabled","autoScalingForStorageEnabled","backupRetentionPeriodInDays","characterSet","computeCount","computeModel","dataStorageSizeInTbs","dbVersion","dbWorkload","displayName","licenseModel","mtlsConnectionRequired","nationalCharacterSet","resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering AutonomousDatabase resources.\n","properties":{"adminPassword":{"type":"string","description":"The password must be between \u003cspan pulumi-lang-nodejs=\"`12`\" pulumi-lang-dotnet=\"`12`\" pulumi-lang-go=\"`12`\" pulumi-lang-python=\"`12`\" pulumi-lang-yaml=\"`12`\" pulumi-lang-java=\"`12`\"\u003e`12`\u003c/span\u003e and `30 `characters long, and must contain at least 1 uppercase, 1 lowercase, and 1 numeric character. It cannot contain the double quote symbol (\") or the username \"admin\", regardless of casing.\n","secret":true},"allowedIps":{"type":"array","items":{"type":"string"},"description":"(Optional) Defines the network access type for the Autonomous Database. If the property is explicitly set to an empty list, it allows secure public access to the database from any IP address. If specific ACL (Access Control List) values are provided, access will be restricted to only the specified IP addresses.\n"},"autoScalingEnabled":{"type":"boolean","description":"Indicates if auto scaling is enabled for the Autonomous Database CPU core count.\n"},"autoScalingForStorageEnabled":{"type":"boolean","description":"Indicates if auto scaling is enabled for the Autonomous Database storage.\n"},"backupRetentionPeriodInDays":{"type":"integer","description":"Retention period, in days, for backups.\n"},"characterSet":{"type":"string","description":"The character set for the autonomous database. Allowed values are: `AL32UTF8`, `AR8ADOS710`, `AR8ADOS720`, `AR8APTEC715`, `AR8ARABICMACS`, `AR8ASMO8X`, `AR8ISO8859P6`, `AR8MSWIN1256`, `AR8MUSSAD768`, `AR8NAFITHA711`, `AR8NAFITHA721`, `AR8SAKHR706`, `AR8SAKHR707`, `AZ8ISO8859P9E`, `BG8MSWIN`, `BG8PC437S`, `BLT8CP921`, `BLT8ISO8859P13`, `BLT8MSWIN1257`, `BLT8PC775`, `BN8BSCII`, `CDN8PC863`, `CEL8ISO8859P14`, `CL8ISO8859P5`, `CL8ISOIR111`, `CL8KOI8R`, `CL8KOI8U`, `CL8MACCYRILLICS`, `CL8MSWIN1251`, `EE8ISO8859P2`, `EE8MACCES`, `EE8MACCROATIANS`, `EE8MSWIN1250`, `EE8PC852`, `EL8DEC`, `EL8ISO8859P7`, `EL8MACGREEKS`, `EL8MSWIN1253`, `EL8PC437S`, `EL8PC851`, `EL8PC869`, `ET8MSWIN923`, `HU8ABMOD`, `HU8CWI2`, `IN8ISCII`, `IS8PC861`, `IW8ISO8859P8`, `IW8MACHEBREWS`, `IW8MSWIN1255`, `IW8PC1507`, `JA16EUC`, `JA16EUCTILDE`, `JA16SJIS`, `JA16SJISTILDE`, `JA16VMS`, `KO16KSC5601`, `KO16KSCCS`, `KO16MSWIN949`, `LA8ISO6937`, `LA8PASSPORT`, `LT8MSWIN921`, `LT8PC772`, `LT8PC774`, `LV8PC1117`, `LV8PC8LR`, `LV8RST104090`, `N8PC865`, `NE8ISO8859P10`, `NEE8ISO8859P4`, `RU8BESTA`, `RU8PC855`, `RU8PC866`, `SE8ISO8859P3`, `TH8MACTHAIS`, `TH8TISASCII`, `TR8DEC`, `TR8MACTURKISHS`, `TR8MSWIN1254`, `TR8PC857`, `US7ASCII`, `US8PC437`, `UTF8`, `VN8MSWIN1258`, `VN8VN3`, `WE8DEC`, `WE8DG`, `WE8ISO8859P1`, `WE8ISO8859P15`, `WE8ISO8859P9`, `WE8MACROMAN8S`, `WE8MSWIN1252`, `WE8NCR4970`, `WE8NEXTSTEP`, `WE8PC850`, `WE8PC858`, `WE8PC860`, `WE8ROMAN8`, `ZHS16CGB231280`, `ZHS16GBK`, `ZHT16BIG5`, `ZHT16CCDC`, `ZHT16DBT`, `ZHT16HKSCS`, `ZHT16MSWIN950`, `ZHT32EUC`, `ZHT32SOPS`, `ZHT32TRIS`. Changing this forces a new Autonomous Database to be created.\n","willReplaceOnChanges":true},"computeCount":{"type":"number","description":"The compute amount (CPUs) available to the database. Minimum and maximum values depend on the compute model and whether the database is an Autonomous Database Serverless instance or an Autonomous Database on Dedicated Exadata Infrastructure. For an Autonomous Database Serverless instance, the `ECPU` compute model requires a minimum value of one, for databases in the elastic resource pool and minimum value of two, otherwise. Required when using the `computeModel` parameter. When using `cpuCoreCount` parameter, it is an error to specify computeCount to a non-null value. Providing `computeModel` and `computeCount` is the preferred method for both OCPU and ECPU.\n"},"computeModel":{"type":"string","description":"The compute model of the Autonomous Database. This is required if using the `computeCount` parameter. If using `cpuCoreCount` then it is an error to specify `computeModel` to a non-null value. ECPU compute model is the recommended model and OCPU compute model is legacy. Changing this forces a new Autonomous Database to be created.\n","willReplaceOnChanges":true},"customerContacts":{"type":"array","items":{"type":"string"},"willReplaceOnChanges":true},"dataStorageSizeInTbs":{"type":"integer","description":"The maximum storage that can be allocated for the database, in terabytes.\n"},"dbVersion":{"type":"string","description":"A valid Oracle Database version for Autonomous Database. Changing this forces a new Autonomous Database to be created.\n","willReplaceOnChanges":true},"dbWorkload":{"type":"string","description":"The Autonomous Database workload type. Changing this forces a new Autonomous Database to be created. Possible values are `AJD`, `APEX`, `DW` and `OLTP`.\n\n\u003e **Note:** `AJD` indicates an Autonomous JSON database; `APEX` indicates an Autonomous Database with the Oracle APEX Application Development workload type; `DW` indicates an Autonomous Data Warehouse database; `OLTP` indicates an Autonomous Transaction Processing database\n\u003e **Note:** When Provisioning Database with `APEX` workload \u003cspan pulumi-lang-nodejs=\"`mtlsConnectionRequired`\" pulumi-lang-dotnet=\"`MtlsConnectionRequired`\" pulumi-lang-go=\"`mtlsConnectionRequired`\" pulumi-lang-python=\"`mtls_connection_required`\" pulumi-lang-yaml=\"`mtlsConnectionRequired`\" pulumi-lang-java=\"`mtlsConnectionRequired`\"\u003e`mtls_connection_required`\u003c/span\u003e must be set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n","willReplaceOnChanges":true},"displayName":{"type":"string","description":"The user-friendly name for the Autonomous Database. The name does not have to be unique. Changing this forces a new Autonomous Database to be created.\n","willReplaceOnChanges":true},"licenseModel":{"type":"string","description":"The Oracle license model that applies to the Oracle Autonomous Database. Possible values are `LicenseIncluded` and `BringYourOwnLicense`. Changing this forces a new Autonomous Database to be created. Bring your own license (BYOL) allows you to apply your current on-premises Oracle software licenses to equivalent, highly automated Oracle services in the cloud. License Included allows you to subscribe to new Oracle Database software licenses and the Oracle Database service. Note that when provisioning an [Autonomous Database on dedicated Exadata infrastructure](https://docs.oracle.com/en/cloud/paas/autonomous-database/index.html), this attribute must be null. It is already set at the Autonomous Exadata Infrastructure level. When provisioning an [Autonomous Database Serverless] (https://docs.oracle.com/en/cloud/paas/autonomous-database/index.html) database, if a value is not specified, the system defaults the value to `BRING_YOUR_OWN_LICENSE`. Bring your own license (BYOL) also allows you to select the DB edition using the optional parameter.\n","willReplaceOnChanges":true},"location":{"type":"string","description":"The Azure Region where the Autonomous Database should exist. Changing this forces a new Autonomous Database to be created.\n","willReplaceOnChanges":true},"longTermBackupSchedule":{"$ref":"#/types/azure:oracle/AutonomousDatabaseLongTermBackupSchedule:AutonomousDatabaseLongTermBackupSchedule"},"mtlsConnectionRequired":{"type":"boolean","description":"Specifies if the Autonomous Database requires mTLS connections. Changing this forces a new Autonomous Database to be created. Default value \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`mtlsConnectionRequired`\" pulumi-lang-dotnet=\"`MtlsConnectionRequired`\" pulumi-lang-go=\"`mtlsConnectionRequired`\" pulumi-lang-python=\"`mtls_connection_required`\" pulumi-lang-yaml=\"`mtlsConnectionRequired`\" pulumi-lang-java=\"`mtlsConnectionRequired`\"\u003e`mtls_connection_required`\u003c/span\u003e  must be set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e for all workload types except 'APEX' when creating a database with public access.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Autonomous Database. Changing this forces a new Autonomous Database to be created.\n","willReplaceOnChanges":true},"nationalCharacterSet":{"type":"string","description":"The national character set for the autonomous database. Changing this forces a new Autonomous Database to be created. The default is AL16UTF16. Allowed values are: AL16UTF16 or UTF8.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Autonomous Database should exist. Changing this forces a new Autonomous Database to be created.\n","willReplaceOnChanges":true},"subnetId":{"type":"string","description":"The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the subnet the resource is associated with. Changing this forces a new Autonomous Database to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"}},"virtualNetworkId":{"type":"string","description":"The ID of the vnet associated with the cloud VM cluster. Changing this forces a new Autonomous Database to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:oracle/autonomousDatabaseBackup:AutonomousDatabaseBackup":{"description":"Manages an Oracle Autonomous Database Backup in Azure.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"East US\",\n});\nconst exampleAutonomousDatabase = new azure.oracle.AutonomousDatabase(\"example\", {\n    name: \"example-adb\",\n    resourceGroupName: example.name,\n    location: example.location,\n});\nconst exampleAutonomousDatabaseBackup = new azure.oracle.AutonomousDatabaseBackup(\"example\", {\n    name: \"example-backup\",\n    autonomousDatabaseId: exampleAutonomousDatabase.id,\n    retentionPeriodInDays: 120,\n    backupType: \"Full\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"East US\")\nexample_autonomous_database = azure.oracle.AutonomousDatabase(\"example\",\n    name=\"example-adb\",\n    resource_group_name=example.name,\n    location=example.location)\nexample_autonomous_database_backup = azure.oracle.AutonomousDatabaseBackup(\"example\",\n    name=\"example-backup\",\n    autonomous_database_id=example_autonomous_database.id,\n    retention_period_in_days=120,\n    backup_type=\"Full\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"East US\",\n    });\n\n    var exampleAutonomousDatabase = new Azure.Oracle.AutonomousDatabase(\"example\", new()\n    {\n        Name = \"example-adb\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n    });\n\n    var exampleAutonomousDatabaseBackup = new Azure.Oracle.AutonomousDatabaseBackup(\"example\", new()\n    {\n        Name = \"example-backup\",\n        AutonomousDatabaseId = exampleAutonomousDatabase.Id,\n        RetentionPeriodInDays = 120,\n        BackupType = \"Full\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/oracle\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"East US\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAutonomousDatabase, err := oracle.NewAutonomousDatabase(ctx, \"example\", \u0026oracle.AutonomousDatabaseArgs{\n\t\t\tName:              pulumi.String(\"example-adb\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = oracle.NewAutonomousDatabaseBackup(ctx, \"example\", \u0026oracle.AutonomousDatabaseBackupArgs{\n\t\t\tName:                  pulumi.String(\"example-backup\"),\n\t\t\tAutonomousDatabaseId:  exampleAutonomousDatabase.ID(),\n\t\t\tRetentionPeriodInDays: pulumi.Int(120),\n\t\t\tBackupType:            \"Full\",\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.oracle.AutonomousDatabase;\nimport com.pulumi.azure.oracle.AutonomousDatabaseArgs;\nimport com.pulumi.azure.oracle.AutonomousDatabaseBackup;\nimport com.pulumi.azure.oracle.AutonomousDatabaseBackupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"East US\")\n            .build());\n\n        var exampleAutonomousDatabase = new AutonomousDatabase(\"exampleAutonomousDatabase\", AutonomousDatabaseArgs.builder()\n            .name(\"example-adb\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .build());\n\n        var exampleAutonomousDatabaseBackup = new AutonomousDatabaseBackup(\"exampleAutonomousDatabaseBackup\", AutonomousDatabaseBackupArgs.builder()\n            .name(\"example-backup\")\n            .autonomousDatabaseId(exampleAutonomousDatabase.id())\n            .retentionPeriodInDays(120)\n            .backupType(\"Full\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: East US\n  exampleAutonomousDatabase:\n    type: azure:oracle:AutonomousDatabase\n    name: example\n    properties:\n      name: example-adb\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n  exampleAutonomousDatabaseBackup:\n    type: azure:oracle:AutonomousDatabaseBackup\n    name: example\n    properties:\n      name: example-backup\n      autonomousDatabaseId: ${exampleAutonomousDatabase.id}\n      retentionPeriodInDays: 120\n      backupType: Full\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Oracle.Database` - 2025-09-01\n\n## Import\n\nAutonomous Database Backups can be imported using the \u003cspan pulumi-lang-nodejs=\"`id`\" pulumi-lang-dotnet=\"`Id`\" pulumi-lang-go=\"`id`\" pulumi-lang-python=\"`id`\" pulumi-lang-yaml=\"`id`\" pulumi-lang-java=\"`id`\"\u003e`id`\u003c/span\u003e, e.g.\n\n```sh\n$ pulumi import azure:oracle/autonomousDatabaseBackup:AutonomousDatabaseBackup example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup/providers/Oracle.Database/autonomousDatabases/autonomousDatabase1/autonomousDatabaseBackups/autonomousDatabaseBackup1\n```\n\n","properties":{"autonomousDatabaseId":{"type":"string","description":"The azureId of the Autonomous Database that this backup is for. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"The display name of the Autonomous Database Backup. Changing this forces a new resource to be created.\n"},"retentionPeriodInDays":{"type":"integer","description":"(Updatable) The number of days to retain the backup. Must be between 90 and 3650 days.\n"},"type":{"type":"string","description":"The type of backup to create.Currently, only `LongTerm` backup operations are supported through the Oracle database At azure service. Defaults to `LongTerm`. Changing this forces a new resource to be created.\n"}},"required":["autonomousDatabaseId","name","retentionPeriodInDays"],"inputProperties":{"autonomousDatabaseId":{"type":"string","description":"The azureId of the Autonomous Database that this backup is for. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The display name of the Autonomous Database Backup. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"retentionPeriodInDays":{"type":"integer","description":"(Updatable) The number of days to retain the backup. Must be between 90 and 3650 days.\n"},"type":{"type":"string","description":"The type of backup to create.Currently, only `LongTerm` backup operations are supported through the Oracle database At azure service. Defaults to `LongTerm`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["autonomousDatabaseId","retentionPeriodInDays"],"stateInputs":{"description":"Input properties used for looking up and filtering AutonomousDatabaseBackup resources.\n","properties":{"autonomousDatabaseId":{"type":"string","description":"The azureId of the Autonomous Database that this backup is for. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The display name of the Autonomous Database Backup. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"retentionPeriodInDays":{"type":"integer","description":"(Updatable) The number of days to retain the backup. Must be between 90 and 3650 days.\n"},"type":{"type":"string","description":"The type of backup to create.Currently, only `LongTerm` backup operations are supported through the Oracle database At azure service. Defaults to `LongTerm`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:oracle/autonomousDatabaseCloneFromBackup:AutonomousDatabaseCloneFromBackup":{"description":"Manage an autonomous database clone from backup.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"eastus\",\n});\nconst exampleAutonomousDatabase = new azure.oracle.AutonomousDatabase(\"example\", {\n    name: \"example\",\n    resourceGroupName: example.name,\n    location: example.location,\n    adminPassword: \"BEstrO0ng_#11\",\n    backupRetentionPeriodInDays: 7,\n    characterSet: \"AL32UTF8\",\n    computeCount: 2,\n    computeModel: \"ECPU\",\n    dataStorageSizeInTbs: 1,\n    dbVersion: \"19c\",\n    dbWorkload: \"OLTP\",\n    displayName: \"Example\",\n    licenseModel: \"LicenseIncluded\",\n    autoScalingEnabled: false,\n    autoScalingForStorageEnabled: true,\n    mtlsConnectionRequired: true,\n    nationalCharacterSet: \"AL16UTF16\",\n    allowedIps: [],\n});\nconst exampleAutonomousDatabaseCloneFromBackup = new azure.oracle.AutonomousDatabaseCloneFromBackup(\"example\", {\n    name: \"example\",\n    resourceGroupName: exampleAutonomousDatabase.resourceGroupName,\n    location: exampleAutonomousDatabase.location,\n    sourceAutonomousDatabaseId: exampleAutonomousDatabase.id,\n    cloneType: \"Metadata\",\n    backupTimestamp: \"2025-09-23T02:22:13.000Z\",\n    adminPassword: \"BEstrO0ng_#11\",\n    backupRetentionPeriodInDays: 7,\n    characterSet: \"AL32UTF8\",\n    computeCount: 2,\n    computeModel: \"ECPU\",\n    dataStorageSizeInTb: 1,\n    databaseVersion: \"19c\",\n    databaseWorkload: \"OLTP\",\n    displayName: \"ExampleClone\",\n    licenseModel: \"LicenseIncluded\",\n    autoScalingEnabled: false,\n    autoScalingForStorageEnabled: true,\n    mtlsConnectionRequired: true,\n    nationalCharacterSet: \"AL16UTF16\",\n    allowedIpAddresses: [],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"eastus\")\nexample_autonomous_database = azure.oracle.AutonomousDatabase(\"example\",\n    name=\"example\",\n    resource_group_name=example.name,\n    location=example.location,\n    admin_password=\"BEstrO0ng_#11\",\n    backup_retention_period_in_days=7,\n    character_set=\"AL32UTF8\",\n    compute_count=2,\n    compute_model=\"ECPU\",\n    data_storage_size_in_tbs=1,\n    db_version=\"19c\",\n    db_workload=\"OLTP\",\n    display_name=\"Example\",\n    license_model=\"LicenseIncluded\",\n    auto_scaling_enabled=False,\n    auto_scaling_for_storage_enabled=True,\n    mtls_connection_required=True,\n    national_character_set=\"AL16UTF16\",\n    allowed_ips=[])\nexample_autonomous_database_clone_from_backup = azure.oracle.AutonomousDatabaseCloneFromBackup(\"example\",\n    name=\"example\",\n    resource_group_name=example_autonomous_database.resource_group_name,\n    location=example_autonomous_database.location,\n    source_autonomous_database_id=example_autonomous_database.id,\n    clone_type=\"Metadata\",\n    backup_timestamp=\"2025-09-23T02:22:13.000Z\",\n    admin_password=\"BEstrO0ng_#11\",\n    backup_retention_period_in_days=7,\n    character_set=\"AL32UTF8\",\n    compute_count=2,\n    compute_model=\"ECPU\",\n    data_storage_size_in_tb=1,\n    database_version=\"19c\",\n    database_workload=\"OLTP\",\n    display_name=\"ExampleClone\",\n    license_model=\"LicenseIncluded\",\n    auto_scaling_enabled=False,\n    auto_scaling_for_storage_enabled=True,\n    mtls_connection_required=True,\n    national_character_set=\"AL16UTF16\",\n    allowed_ip_addresses=[])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"eastus\",\n    });\n\n    var exampleAutonomousDatabase = new Azure.Oracle.AutonomousDatabase(\"example\", new()\n    {\n        Name = \"example\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        AdminPassword = \"BEstrO0ng_#11\",\n        BackupRetentionPeriodInDays = 7,\n        CharacterSet = \"AL32UTF8\",\n        ComputeCount = 2,\n        ComputeModel = \"ECPU\",\n        DataStorageSizeInTbs = 1,\n        DbVersion = \"19c\",\n        DbWorkload = \"OLTP\",\n        DisplayName = \"Example\",\n        LicenseModel = \"LicenseIncluded\",\n        AutoScalingEnabled = false,\n        AutoScalingForStorageEnabled = true,\n        MtlsConnectionRequired = true,\n        NationalCharacterSet = \"AL16UTF16\",\n        AllowedIps = new[] {},\n    });\n\n    var exampleAutonomousDatabaseCloneFromBackup = new Azure.Oracle.AutonomousDatabaseCloneFromBackup(\"example\", new()\n    {\n        Name = \"example\",\n        ResourceGroupName = exampleAutonomousDatabase.ResourceGroupName,\n        Location = exampleAutonomousDatabase.Location,\n        SourceAutonomousDatabaseId = exampleAutonomousDatabase.Id,\n        CloneType = \"Metadata\",\n        BackupTimestamp = \"2025-09-23T02:22:13.000Z\",\n        AdminPassword = \"BEstrO0ng_#11\",\n        BackupRetentionPeriodInDays = 7,\n        CharacterSet = \"AL32UTF8\",\n        ComputeCount = 2,\n        ComputeModel = \"ECPU\",\n        DataStorageSizeInTb = 1,\n        DatabaseVersion = \"19c\",\n        DatabaseWorkload = \"OLTP\",\n        DisplayName = \"ExampleClone\",\n        LicenseModel = \"LicenseIncluded\",\n        AutoScalingEnabled = false,\n        AutoScalingForStorageEnabled = true,\n        MtlsConnectionRequired = true,\n        NationalCharacterSet = \"AL16UTF16\",\n        AllowedIpAddresses = new[] {},\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/oracle\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"eastus\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAutonomousDatabase, err := oracle.NewAutonomousDatabase(ctx, \"example\", \u0026oracle.AutonomousDatabaseArgs{\n\t\t\tName:                         pulumi.String(\"example\"),\n\t\t\tResourceGroupName:            example.Name,\n\t\t\tLocation:                     example.Location,\n\t\t\tAdminPassword:                pulumi.String(\"BEstrO0ng_#11\"),\n\t\t\tBackupRetentionPeriodInDays:  pulumi.Int(7),\n\t\t\tCharacterSet:                 pulumi.String(\"AL32UTF8\"),\n\t\t\tComputeCount:                 pulumi.Float64(2),\n\t\t\tComputeModel:                 pulumi.String(\"ECPU\"),\n\t\t\tDataStorageSizeInTbs:         pulumi.Int(1),\n\t\t\tDbVersion:                    pulumi.String(\"19c\"),\n\t\t\tDbWorkload:                   pulumi.String(\"OLTP\"),\n\t\t\tDisplayName:                  pulumi.String(\"Example\"),\n\t\t\tLicenseModel:                 pulumi.String(\"LicenseIncluded\"),\n\t\t\tAutoScalingEnabled:           pulumi.Bool(false),\n\t\t\tAutoScalingForStorageEnabled: pulumi.Bool(true),\n\t\t\tMtlsConnectionRequired:       pulumi.Bool(true),\n\t\t\tNationalCharacterSet:         pulumi.String(\"AL16UTF16\"),\n\t\t\tAllowedIps:                   pulumi.StringArray{},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = oracle.NewAutonomousDatabaseCloneFromBackup(ctx, \"example\", \u0026oracle.AutonomousDatabaseCloneFromBackupArgs{\n\t\t\tName:                         pulumi.String(\"example\"),\n\t\t\tResourceGroupName:            exampleAutonomousDatabase.ResourceGroupName,\n\t\t\tLocation:                     exampleAutonomousDatabase.Location,\n\t\t\tSourceAutonomousDatabaseId:   exampleAutonomousDatabase.ID(),\n\t\t\tCloneType:                    pulumi.String(\"Metadata\"),\n\t\t\tBackupTimestamp:              pulumi.String(\"2025-09-23T02:22:13.000Z\"),\n\t\t\tAdminPassword:                pulumi.String(\"BEstrO0ng_#11\"),\n\t\t\tBackupRetentionPeriodInDays:  pulumi.Int(7),\n\t\t\tCharacterSet:                 pulumi.String(\"AL32UTF8\"),\n\t\t\tComputeCount:                 pulumi.Float64(2),\n\t\t\tComputeModel:                 pulumi.String(\"ECPU\"),\n\t\t\tDataStorageSizeInTb:          pulumi.Int(1),\n\t\t\tDatabaseVersion:              pulumi.String(\"19c\"),\n\t\t\tDatabaseWorkload:             pulumi.String(\"OLTP\"),\n\t\t\tDisplayName:                  pulumi.String(\"ExampleClone\"),\n\t\t\tLicenseModel:                 pulumi.String(\"LicenseIncluded\"),\n\t\t\tAutoScalingEnabled:           pulumi.Bool(false),\n\t\t\tAutoScalingForStorageEnabled: pulumi.Bool(true),\n\t\t\tMtlsConnectionRequired:       pulumi.Bool(true),\n\t\t\tNationalCharacterSet:         pulumi.String(\"AL16UTF16\"),\n\t\t\tAllowedIpAddresses:           pulumi.StringArray{},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.oracle.AutonomousDatabase;\nimport com.pulumi.azure.oracle.AutonomousDatabaseArgs;\nimport com.pulumi.azure.oracle.AutonomousDatabaseCloneFromBackup;\nimport com.pulumi.azure.oracle.AutonomousDatabaseCloneFromBackupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"eastus\")\n            .build());\n\n        var exampleAutonomousDatabase = new AutonomousDatabase(\"exampleAutonomousDatabase\", AutonomousDatabaseArgs.builder()\n            .name(\"example\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .adminPassword(\"BEstrO0ng_#11\")\n            .backupRetentionPeriodInDays(7)\n            .characterSet(\"AL32UTF8\")\n            .computeCount(2.0)\n            .computeModel(\"ECPU\")\n            .dataStorageSizeInTbs(1)\n            .dbVersion(\"19c\")\n            .dbWorkload(\"OLTP\")\n            .displayName(\"Example\")\n            .licenseModel(\"LicenseIncluded\")\n            .autoScalingEnabled(false)\n            .autoScalingForStorageEnabled(true)\n            .mtlsConnectionRequired(true)\n            .nationalCharacterSet(\"AL16UTF16\")\n            .allowedIps()\n            .build());\n\n        var exampleAutonomousDatabaseCloneFromBackup = new AutonomousDatabaseCloneFromBackup(\"exampleAutonomousDatabaseCloneFromBackup\", AutonomousDatabaseCloneFromBackupArgs.builder()\n            .name(\"example\")\n            .resourceGroupName(exampleAutonomousDatabase.resourceGroupName())\n            .location(exampleAutonomousDatabase.location())\n            .sourceAutonomousDatabaseId(exampleAutonomousDatabase.id())\n            .cloneType(\"Metadata\")\n            .backupTimestamp(\"2025-09-23T02:22:13.000Z\")\n            .adminPassword(\"BEstrO0ng_#11\")\n            .backupRetentionPeriodInDays(7)\n            .characterSet(\"AL32UTF8\")\n            .computeCount(2.0)\n            .computeModel(\"ECPU\")\n            .dataStorageSizeInTb(1)\n            .databaseVersion(\"19c\")\n            .databaseWorkload(\"OLTP\")\n            .displayName(\"ExampleClone\")\n            .licenseModel(\"LicenseIncluded\")\n            .autoScalingEnabled(false)\n            .autoScalingForStorageEnabled(true)\n            .mtlsConnectionRequired(true)\n            .nationalCharacterSet(\"AL16UTF16\")\n            .allowedIpAddresses()\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: eastus\n  exampleAutonomousDatabase:\n    type: azure:oracle:AutonomousDatabase\n    name: example\n    properties:\n      name: example\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      adminPassword: BEstrO0ng_#11\n      backupRetentionPeriodInDays: 7\n      characterSet: AL32UTF8\n      computeCount: 2\n      computeModel: ECPU\n      dataStorageSizeInTbs: 1\n      dbVersion: 19c\n      dbWorkload: OLTP\n      displayName: Example\n      licenseModel: LicenseIncluded\n      autoScalingEnabled: false\n      autoScalingForStorageEnabled: true\n      mtlsConnectionRequired: true\n      nationalCharacterSet: AL16UTF16\n      allowedIps: []\n  exampleAutonomousDatabaseCloneFromBackup:\n    type: azure:oracle:AutonomousDatabaseCloneFromBackup\n    name: example\n    properties:\n      name: example\n      resourceGroupName: ${exampleAutonomousDatabase.resourceGroupName}\n      location: ${exampleAutonomousDatabase.location}\n      sourceAutonomousDatabaseId: ${exampleAutonomousDatabase.id}\n      cloneType: Metadata\n      backupTimestamp: 2025-09-23T02:22:13.000Z\n      adminPassword: BEstrO0ng_#11\n      backupRetentionPeriodInDays: 7\n      characterSet: AL32UTF8\n      computeCount: 2\n      computeModel: ECPU\n      dataStorageSizeInTb: 1\n      databaseVersion: 19c\n      databaseWorkload: OLTP\n      displayName: ExampleClone\n      licenseModel: LicenseIncluded\n      autoScalingEnabled: false\n      autoScalingForStorageEnabled: true\n      mtlsConnectionRequired: true\n      nationalCharacterSet: AL16UTF16\n      allowedIpAddresses: []\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Oracle.Database` - 2025-09-01\n\n## Import\n\nautonomous database clone from backups can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:oracle/autonomousDatabaseCloneFromBackup:AutonomousDatabaseCloneFromBackup example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Oracle.Database/autonomousDatabases/example\n```\n\n","properties":{"adminPassword":{"type":"string","description":"The password for the SYS, SYSTEM, and PDB Admin users. The password must be at least 12 characters long, and contain at least 1 uppercase, 1 lowercase, and 1 numeric character. It cannot contain the double quote symbol (\") or the username \"admin,\" regardless of casing. Changing this forces a new Autonomous Database Clone to be created.\n","secret":true},"allowedIpAddresses":{"type":"array","items":{"type":"string"},"description":"Defines the network access type for the Autonomous Database. If the property is explicitly set to an empty list, it allows secure public access to the database from any IP address. If specific ACL (Access Control List) values are provided, access will be restricted to only the specified IP addresses. Changing this forces a new Autonomous Database Clone to be created.\n"},"autoScalingEnabled":{"type":"boolean","description":"Indicates if auto-scaling is enabled for the Autonomous Database CPU core count. Changing this forces a new Autonomous Database Clone to be created.\n"},"autoScalingForStorageEnabled":{"type":"boolean","description":"Indicates if auto-scaling is enabled for the Autonomous Database storage. Changing this forces a new Autonomous Database Clone to be created.\n"},"backupRetentionPeriodInDays":{"type":"integer","description":"Retention period, in days, for backups. Possible values range between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`60`\" pulumi-lang-dotnet=\"`60`\" pulumi-lang-go=\"`60`\" pulumi-lang-python=\"`60`\" pulumi-lang-yaml=\"`60`\" pulumi-lang-java=\"`60`\"\u003e`60`\u003c/span\u003e. Changing this forces a new Autonomous Database Clone to be created.\n"},"backupTimestamp":{"type":"string","description":"The autonomous database backup time stamp to be used for a cloning autonomous database. Changing this forces a new Autonomous Database Clone to be created.\n\n\u003e **Note:** If \u003cspan pulumi-lang-nodejs=\"`backupTimestamp`\" pulumi-lang-dotnet=\"`BackupTimestamp`\" pulumi-lang-go=\"`backupTimestamp`\" pulumi-lang-python=\"`backup_timestamp`\" pulumi-lang-yaml=\"`backupTimestamp`\" pulumi-lang-java=\"`backupTimestamp`\"\u003e`backup_timestamp`\u003c/span\u003e is not provided latest backup timestamp will be used.\n"},"characterSet":{"type":"string","description":"The character set for the autonomous database. Changing this forces a new Autonomous Database Clone to be created.\n"},"cloneType":{"type":"string","description":"The type of clone to create. Possible values are Full and Metadata. Changing this forces a new Autonomous Database Clone to be created.\n"},"computeCount":{"type":"number","description":"The compute amount (CPUs) available to the database. Possible values range between `2.0` and `512.0`. Changing this forces a new Autonomous Database Clone to be created.\n"},"computeModel":{"type":"string","description":"The compute model of the Autonomous Database. Possible values are `ECPU` and `OCPU`. Changing this forces a new Autonomous Database Clone to be created.\n\n\u003e **Note:** `ECPU` compute model is the recommended model and `OCPU` compute model is legacy.\n"},"customerContacts":{"type":"array","items":{"type":"string"},"description":"Specifies a list of customer contact email addresses. Changing this forces a new Autonomous Database Clone to be created.\n"},"dataStorageSizeInTb":{"type":"integer","description":"The maximum storage that can be allocated for the database, in terabytes. Possible values range between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`384`\" pulumi-lang-dotnet=\"`384`\" pulumi-lang-go=\"`384`\" pulumi-lang-python=\"`384`\" pulumi-lang-yaml=\"`384`\" pulumi-lang-java=\"`384`\"\u003e`384`\u003c/span\u003e. Changing this forces a new Autonomous Database Clone to be created.\n"},"databaseVersion":{"type":"string","description":"A valid Oracle Database version for Autonomous Database. Changing this forces a new Autonomous Database Clone to be created.\n"},"databaseWorkload":{"type":"string","description":"The Autonomous Database workload type. Possible values are `OLTP`, `DW`, `APEX`, and `AJD`. Changing this forces a new Autonomous Database Clone to be created.\n\n* OLTP: Indicates an Autonomous Transaction Processing database.\n* DW: Indicates an Autonomous Data Warehouse database.\n* AJD: Indicates an Autonomous JSON Database.\n* APEX: Indicates an Autonomous Database with the Oracle APEX Application Development workload type.\n"},"displayName":{"type":"string","description":"The user-friendly name for the Autonomous Database. Changing this forces a new Autonomous Database Clone to be created.\n"},"licenseModel":{"type":"string","description":"The Oracle license model that applies to the Oracle Autonomous Database. Possible values are `LicenseIncluded` and `BringYourOwnLicense`. Changing this forces a new Autonomous Database Clone to be created.\n"},"location":{"type":"string","description":"The Azure Region where the autonomous database clone from backup should exist. Changing this forces a new Autonomous Database Clone to be created.\n"},"mtlsConnectionRequired":{"type":"boolean","description":"Specifies if the Autonomous Database requires mTLS connections. Changing this forces a new Autonomous Database Clone to be created.\n"},"name":{"type":"string","description":"The name which should be used for this autonomous database clone from backup. Changing this forces a new Autonomous Database Clone to be created.\n"},"nationalCharacterSet":{"type":"string","description":"The national character set for the autonomous database. Changing this forces a new Autonomous Database Clone to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the autonomous database clone from backup should exist. Changing this forces a new Autonomous Database Clone to be created.\n"},"sourceAutonomousDatabaseId":{"type":"string","description":"The ID of the source Autonomous Database to clone from. Changing this forces a new Autonomous Database Clone to be created.\n"},"subnetId":{"type":"string","description":"The ID of the subnet the resource is associated with. Changing this forces a new Autonomous Database Clone to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the autonomous database clone from backup. Changing this forces a new Autonomous Database Clone to be created.\n"},"virtualNetworkId":{"type":"string","description":"The ID of the Virtual Network this Autonomous Database Clone should be created in. Changing this forces a new Autonomous Database Clone to be created.\n"}},"required":["adminPassword","autoScalingEnabled","autoScalingForStorageEnabled","backupRetentionPeriodInDays","characterSet","cloneType","computeCount","computeModel","dataStorageSizeInTb","databaseVersion","databaseWorkload","displayName","licenseModel","location","mtlsConnectionRequired","name","nationalCharacterSet","resourceGroupName","sourceAutonomousDatabaseId"],"inputProperties":{"adminPassword":{"type":"string","description":"The password for the SYS, SYSTEM, and PDB Admin users. The password must be at least 12 characters long, and contain at least 1 uppercase, 1 lowercase, and 1 numeric character. It cannot contain the double quote symbol (\") or the username \"admin,\" regardless of casing. Changing this forces a new Autonomous Database Clone to be created.\n","secret":true,"willReplaceOnChanges":true},"allowedIpAddresses":{"type":"array","items":{"type":"string"},"description":"Defines the network access type for the Autonomous Database. If the property is explicitly set to an empty list, it allows secure public access to the database from any IP address. If specific ACL (Access Control List) values are provided, access will be restricted to only the specified IP addresses. Changing this forces a new Autonomous Database Clone to be created.\n","willReplaceOnChanges":true},"autoScalingEnabled":{"type":"boolean","description":"Indicates if auto-scaling is enabled for the Autonomous Database CPU core count. Changing this forces a new Autonomous Database Clone to be created.\n","willReplaceOnChanges":true},"autoScalingForStorageEnabled":{"type":"boolean","description":"Indicates if auto-scaling is enabled for the Autonomous Database storage. Changing this forces a new Autonomous Database Clone to be created.\n","willReplaceOnChanges":true},"backupRetentionPeriodInDays":{"type":"integer","description":"Retention period, in days, for backups. Possible values range between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`60`\" pulumi-lang-dotnet=\"`60`\" pulumi-lang-go=\"`60`\" pulumi-lang-python=\"`60`\" pulumi-lang-yaml=\"`60`\" pulumi-lang-java=\"`60`\"\u003e`60`\u003c/span\u003e. Changing this forces a new Autonomous Database Clone to be created.\n","willReplaceOnChanges":true},"backupTimestamp":{"type":"string","description":"The autonomous database backup time stamp to be used for a cloning autonomous database. Changing this forces a new Autonomous Database Clone to be created.\n\n\u003e **Note:** If \u003cspan pulumi-lang-nodejs=\"`backupTimestamp`\" pulumi-lang-dotnet=\"`BackupTimestamp`\" pulumi-lang-go=\"`backupTimestamp`\" pulumi-lang-python=\"`backup_timestamp`\" pulumi-lang-yaml=\"`backupTimestamp`\" pulumi-lang-java=\"`backupTimestamp`\"\u003e`backup_timestamp`\u003c/span\u003e is not provided latest backup timestamp will be used.\n","willReplaceOnChanges":true},"characterSet":{"type":"string","description":"The character set for the autonomous database. Changing this forces a new Autonomous Database Clone to be created.\n","willReplaceOnChanges":true},"cloneType":{"type":"string","description":"The type of clone to create. Possible values are Full and Metadata. Changing this forces a new Autonomous Database Clone to be created.\n","willReplaceOnChanges":true},"computeCount":{"type":"number","description":"The compute amount (CPUs) available to the database. Possible values range between `2.0` and `512.0`. Changing this forces a new Autonomous Database Clone to be created.\n","willReplaceOnChanges":true},"computeModel":{"type":"string","description":"The compute model of the Autonomous Database. Possible values are `ECPU` and `OCPU`. Changing this forces a new Autonomous Database Clone to be created.\n\n\u003e **Note:** `ECPU` compute model is the recommended model and `OCPU` compute model is legacy.\n","willReplaceOnChanges":true},"customerContacts":{"type":"array","items":{"type":"string"},"description":"Specifies a list of customer contact email addresses. Changing this forces a new Autonomous Database Clone to be created.\n","willReplaceOnChanges":true},"dataStorageSizeInTb":{"type":"integer","description":"The maximum storage that can be allocated for the database, in terabytes. Possible values range between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`384`\" pulumi-lang-dotnet=\"`384`\" pulumi-lang-go=\"`384`\" pulumi-lang-python=\"`384`\" pulumi-lang-yaml=\"`384`\" pulumi-lang-java=\"`384`\"\u003e`384`\u003c/span\u003e. Changing this forces a new Autonomous Database Clone to be created.\n","willReplaceOnChanges":true},"databaseVersion":{"type":"string","description":"A valid Oracle Database version for Autonomous Database. Changing this forces a new Autonomous Database Clone to be created.\n","willReplaceOnChanges":true},"databaseWorkload":{"type":"string","description":"The Autonomous Database workload type. Possible values are `OLTP`, `DW`, `APEX`, and `AJD`. Changing this forces a new Autonomous Database Clone to be created.\n\n* OLTP: Indicates an Autonomous Transaction Processing database.\n* DW: Indicates an Autonomous Data Warehouse database.\n* AJD: Indicates an Autonomous JSON Database.\n* APEX: Indicates an Autonomous Database with the Oracle APEX Application Development workload type.\n","willReplaceOnChanges":true},"displayName":{"type":"string","description":"The user-friendly name for the Autonomous Database. Changing this forces a new Autonomous Database Clone to be created.\n","willReplaceOnChanges":true},"licenseModel":{"type":"string","description":"The Oracle license model that applies to the Oracle Autonomous Database. Possible values are `LicenseIncluded` and `BringYourOwnLicense`. Changing this forces a new Autonomous Database Clone to be created.\n","willReplaceOnChanges":true},"location":{"type":"string","description":"The Azure Region where the autonomous database clone from backup should exist. Changing this forces a new Autonomous Database Clone to be created.\n","willReplaceOnChanges":true},"mtlsConnectionRequired":{"type":"boolean","description":"Specifies if the Autonomous Database requires mTLS connections. Changing this forces a new Autonomous Database Clone to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this autonomous database clone from backup. Changing this forces a new Autonomous Database Clone to be created.\n","willReplaceOnChanges":true},"nationalCharacterSet":{"type":"string","description":"The national character set for the autonomous database. Changing this forces a new Autonomous Database Clone to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the autonomous database clone from backup should exist. Changing this forces a new Autonomous Database Clone to be created.\n","willReplaceOnChanges":true},"sourceAutonomousDatabaseId":{"type":"string","description":"The ID of the source Autonomous Database to clone from. Changing this forces a new Autonomous Database Clone to be created.\n","willReplaceOnChanges":true},"subnetId":{"type":"string","description":"The ID of the subnet the resource is associated with. Changing this forces a new Autonomous Database Clone to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the autonomous database clone from backup. Changing this forces a new Autonomous Database Clone to be created.\n","willReplaceOnChanges":true},"virtualNetworkId":{"type":"string","description":"The ID of the Virtual Network this Autonomous Database Clone should be created in. Changing this forces a new Autonomous Database Clone to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["adminPassword","autoScalingEnabled","autoScalingForStorageEnabled","backupRetentionPeriodInDays","characterSet","cloneType","computeCount","computeModel","dataStorageSizeInTb","databaseVersion","databaseWorkload","displayName","licenseModel","mtlsConnectionRequired","nationalCharacterSet","resourceGroupName","sourceAutonomousDatabaseId"],"stateInputs":{"description":"Input properties used for looking up and filtering AutonomousDatabaseCloneFromBackup resources.\n","properties":{"adminPassword":{"type":"string","description":"The password for the SYS, SYSTEM, and PDB Admin users. The password must be at least 12 characters long, and contain at least 1 uppercase, 1 lowercase, and 1 numeric character. It cannot contain the double quote symbol (\") or the username \"admin,\" regardless of casing. Changing this forces a new Autonomous Database Clone to be created.\n","secret":true,"willReplaceOnChanges":true},"allowedIpAddresses":{"type":"array","items":{"type":"string"},"description":"Defines the network access type for the Autonomous Database. If the property is explicitly set to an empty list, it allows secure public access to the database from any IP address. If specific ACL (Access Control List) values are provided, access will be restricted to only the specified IP addresses. Changing this forces a new Autonomous Database Clone to be created.\n","willReplaceOnChanges":true},"autoScalingEnabled":{"type":"boolean","description":"Indicates if auto-scaling is enabled for the Autonomous Database CPU core count. Changing this forces a new Autonomous Database Clone to be created.\n","willReplaceOnChanges":true},"autoScalingForStorageEnabled":{"type":"boolean","description":"Indicates if auto-scaling is enabled for the Autonomous Database storage. Changing this forces a new Autonomous Database Clone to be created.\n","willReplaceOnChanges":true},"backupRetentionPeriodInDays":{"type":"integer","description":"Retention period, in days, for backups. Possible values range between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`60`\" pulumi-lang-dotnet=\"`60`\" pulumi-lang-go=\"`60`\" pulumi-lang-python=\"`60`\" pulumi-lang-yaml=\"`60`\" pulumi-lang-java=\"`60`\"\u003e`60`\u003c/span\u003e. Changing this forces a new Autonomous Database Clone to be created.\n","willReplaceOnChanges":true},"backupTimestamp":{"type":"string","description":"The autonomous database backup time stamp to be used for a cloning autonomous database. Changing this forces a new Autonomous Database Clone to be created.\n\n\u003e **Note:** If \u003cspan pulumi-lang-nodejs=\"`backupTimestamp`\" pulumi-lang-dotnet=\"`BackupTimestamp`\" pulumi-lang-go=\"`backupTimestamp`\" pulumi-lang-python=\"`backup_timestamp`\" pulumi-lang-yaml=\"`backupTimestamp`\" pulumi-lang-java=\"`backupTimestamp`\"\u003e`backup_timestamp`\u003c/span\u003e is not provided latest backup timestamp will be used.\n","willReplaceOnChanges":true},"characterSet":{"type":"string","description":"The character set for the autonomous database. Changing this forces a new Autonomous Database Clone to be created.\n","willReplaceOnChanges":true},"cloneType":{"type":"string","description":"The type of clone to create. Possible values are Full and Metadata. Changing this forces a new Autonomous Database Clone to be created.\n","willReplaceOnChanges":true},"computeCount":{"type":"number","description":"The compute amount (CPUs) available to the database. Possible values range between `2.0` and `512.0`. Changing this forces a new Autonomous Database Clone to be created.\n","willReplaceOnChanges":true},"computeModel":{"type":"string","description":"The compute model of the Autonomous Database. Possible values are `ECPU` and `OCPU`. Changing this forces a new Autonomous Database Clone to be created.\n\n\u003e **Note:** `ECPU` compute model is the recommended model and `OCPU` compute model is legacy.\n","willReplaceOnChanges":true},"customerContacts":{"type":"array","items":{"type":"string"},"description":"Specifies a list of customer contact email addresses. Changing this forces a new Autonomous Database Clone to be created.\n","willReplaceOnChanges":true},"dataStorageSizeInTb":{"type":"integer","description":"The maximum storage that can be allocated for the database, in terabytes. Possible values range between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`384`\" pulumi-lang-dotnet=\"`384`\" pulumi-lang-go=\"`384`\" pulumi-lang-python=\"`384`\" pulumi-lang-yaml=\"`384`\" pulumi-lang-java=\"`384`\"\u003e`384`\u003c/span\u003e. Changing this forces a new Autonomous Database Clone to be created.\n","willReplaceOnChanges":true},"databaseVersion":{"type":"string","description":"A valid Oracle Database version for Autonomous Database. Changing this forces a new Autonomous Database Clone to be created.\n","willReplaceOnChanges":true},"databaseWorkload":{"type":"string","description":"The Autonomous Database workload type. Possible values are `OLTP`, `DW`, `APEX`, and `AJD`. Changing this forces a new Autonomous Database Clone to be created.\n\n* OLTP: Indicates an Autonomous Transaction Processing database.\n* DW: Indicates an Autonomous Data Warehouse database.\n* AJD: Indicates an Autonomous JSON Database.\n* APEX: Indicates an Autonomous Database with the Oracle APEX Application Development workload type.\n","willReplaceOnChanges":true},"displayName":{"type":"string","description":"The user-friendly name for the Autonomous Database. Changing this forces a new Autonomous Database Clone to be created.\n","willReplaceOnChanges":true},"licenseModel":{"type":"string","description":"The Oracle license model that applies to the Oracle Autonomous Database. Possible values are `LicenseIncluded` and `BringYourOwnLicense`. Changing this forces a new Autonomous Database Clone to be created.\n","willReplaceOnChanges":true},"location":{"type":"string","description":"The Azure Region where the autonomous database clone from backup should exist. Changing this forces a new Autonomous Database Clone to be created.\n","willReplaceOnChanges":true},"mtlsConnectionRequired":{"type":"boolean","description":"Specifies if the Autonomous Database requires mTLS connections. Changing this forces a new Autonomous Database Clone to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this autonomous database clone from backup. Changing this forces a new Autonomous Database Clone to be created.\n","willReplaceOnChanges":true},"nationalCharacterSet":{"type":"string","description":"The national character set for the autonomous database. Changing this forces a new Autonomous Database Clone to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the autonomous database clone from backup should exist. Changing this forces a new Autonomous Database Clone to be created.\n","willReplaceOnChanges":true},"sourceAutonomousDatabaseId":{"type":"string","description":"The ID of the source Autonomous Database to clone from. Changing this forces a new Autonomous Database Clone to be created.\n","willReplaceOnChanges":true},"subnetId":{"type":"string","description":"The ID of the subnet the resource is associated with. Changing this forces a new Autonomous Database Clone to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the autonomous database clone from backup. Changing this forces a new Autonomous Database Clone to be created.\n","willReplaceOnChanges":true},"virtualNetworkId":{"type":"string","description":"The ID of the Virtual Network this Autonomous Database Clone should be created in. Changing this forces a new Autonomous Database Clone to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:oracle/autonomousDatabaseCloneFromDatabase:AutonomousDatabaseCloneFromDatabase":{"description":"Manages an autonomous database clone from database.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"eastus\",\n});\nconst exampleAutonomousDatabase = new azure.oracle.AutonomousDatabase(\"example\", {\n    name: \"example\",\n    resourceGroupName: example.name,\n    location: example.location,\n    adminPassword: \"BEstrO0ng_#11\",\n    backupRetentionPeriodInDays: 7,\n    characterSet: \"AL32UTF8\",\n    computeCount: 2,\n    computeModel: \"ECPU\",\n    dataStorageSizeInTbs: 1,\n    dbVersion: \"19c\",\n    dbWorkload: \"OLTP\",\n    displayName: \"Example\",\n    licenseModel: \"LicenseIncluded\",\n    autoScalingEnabled: false,\n    autoScalingForStorageEnabled: true,\n    mtlsConnectionRequired: true,\n    nationalCharacterSet: \"AL16UTF16\",\n    allowedIps: [],\n});\nconst exampleAutonomousDatabaseCloneFromDatabase = new azure.oracle.AutonomousDatabaseCloneFromDatabase(\"example\", {\n    name: \"example\",\n    resourceGroupName: exampleAutonomousDatabase.resourceGroupName,\n    location: exampleAutonomousDatabase.location,\n    sourceAutonomousDatabaseId: exampleAutonomousDatabase.id,\n    cloneType: \"Full\",\n    adminPassword: \"BEstrO0ng_#11\",\n    backupRetentionPeriodInDays: 7,\n    characterSet: \"AL32UTF8\",\n    computeCount: 2,\n    computeModel: \"ECPU\",\n    dataStorageSizeInTb: 1,\n    databaseVersion: \"19c\",\n    databaseWorkload: \"OLTP\",\n    displayName: \"ExampleClone\",\n    licenseModel: \"LicenseIncluded\",\n    autoScalingEnabled: false,\n    autoScalingForStorageEnabled: true,\n    mtlsConnectionRequired: true,\n    nationalCharacterSet: \"AL16UTF16\",\n    allowedIpAddresses: [],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"eastus\")\nexample_autonomous_database = azure.oracle.AutonomousDatabase(\"example\",\n    name=\"example\",\n    resource_group_name=example.name,\n    location=example.location,\n    admin_password=\"BEstrO0ng_#11\",\n    backup_retention_period_in_days=7,\n    character_set=\"AL32UTF8\",\n    compute_count=2,\n    compute_model=\"ECPU\",\n    data_storage_size_in_tbs=1,\n    db_version=\"19c\",\n    db_workload=\"OLTP\",\n    display_name=\"Example\",\n    license_model=\"LicenseIncluded\",\n    auto_scaling_enabled=False,\n    auto_scaling_for_storage_enabled=True,\n    mtls_connection_required=True,\n    national_character_set=\"AL16UTF16\",\n    allowed_ips=[])\nexample_autonomous_database_clone_from_database = azure.oracle.AutonomousDatabaseCloneFromDatabase(\"example\",\n    name=\"example\",\n    resource_group_name=example_autonomous_database.resource_group_name,\n    location=example_autonomous_database.location,\n    source_autonomous_database_id=example_autonomous_database.id,\n    clone_type=\"Full\",\n    admin_password=\"BEstrO0ng_#11\",\n    backup_retention_period_in_days=7,\n    character_set=\"AL32UTF8\",\n    compute_count=2,\n    compute_model=\"ECPU\",\n    data_storage_size_in_tb=1,\n    database_version=\"19c\",\n    database_workload=\"OLTP\",\n    display_name=\"ExampleClone\",\n    license_model=\"LicenseIncluded\",\n    auto_scaling_enabled=False,\n    auto_scaling_for_storage_enabled=True,\n    mtls_connection_required=True,\n    national_character_set=\"AL16UTF16\",\n    allowed_ip_addresses=[])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"eastus\",\n    });\n\n    var exampleAutonomousDatabase = new Azure.Oracle.AutonomousDatabase(\"example\", new()\n    {\n        Name = \"example\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        AdminPassword = \"BEstrO0ng_#11\",\n        BackupRetentionPeriodInDays = 7,\n        CharacterSet = \"AL32UTF8\",\n        ComputeCount = 2,\n        ComputeModel = \"ECPU\",\n        DataStorageSizeInTbs = 1,\n        DbVersion = \"19c\",\n        DbWorkload = \"OLTP\",\n        DisplayName = \"Example\",\n        LicenseModel = \"LicenseIncluded\",\n        AutoScalingEnabled = false,\n        AutoScalingForStorageEnabled = true,\n        MtlsConnectionRequired = true,\n        NationalCharacterSet = \"AL16UTF16\",\n        AllowedIps = new[] {},\n    });\n\n    var exampleAutonomousDatabaseCloneFromDatabase = new Azure.Oracle.AutonomousDatabaseCloneFromDatabase(\"example\", new()\n    {\n        Name = \"example\",\n        ResourceGroupName = exampleAutonomousDatabase.ResourceGroupName,\n        Location = exampleAutonomousDatabase.Location,\n        SourceAutonomousDatabaseId = exampleAutonomousDatabase.Id,\n        CloneType = \"Full\",\n        AdminPassword = \"BEstrO0ng_#11\",\n        BackupRetentionPeriodInDays = 7,\n        CharacterSet = \"AL32UTF8\",\n        ComputeCount = 2,\n        ComputeModel = \"ECPU\",\n        DataStorageSizeInTb = 1,\n        DatabaseVersion = \"19c\",\n        DatabaseWorkload = \"OLTP\",\n        DisplayName = \"ExampleClone\",\n        LicenseModel = \"LicenseIncluded\",\n        AutoScalingEnabled = false,\n        AutoScalingForStorageEnabled = true,\n        MtlsConnectionRequired = true,\n        NationalCharacterSet = \"AL16UTF16\",\n        AllowedIpAddresses = new[] {},\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/oracle\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"eastus\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAutonomousDatabase, err := oracle.NewAutonomousDatabase(ctx, \"example\", \u0026oracle.AutonomousDatabaseArgs{\n\t\t\tName:                         pulumi.String(\"example\"),\n\t\t\tResourceGroupName:            example.Name,\n\t\t\tLocation:                     example.Location,\n\t\t\tAdminPassword:                pulumi.String(\"BEstrO0ng_#11\"),\n\t\t\tBackupRetentionPeriodInDays:  pulumi.Int(7),\n\t\t\tCharacterSet:                 pulumi.String(\"AL32UTF8\"),\n\t\t\tComputeCount:                 pulumi.Float64(2),\n\t\t\tComputeModel:                 pulumi.String(\"ECPU\"),\n\t\t\tDataStorageSizeInTbs:         pulumi.Int(1),\n\t\t\tDbVersion:                    pulumi.String(\"19c\"),\n\t\t\tDbWorkload:                   pulumi.String(\"OLTP\"),\n\t\t\tDisplayName:                  pulumi.String(\"Example\"),\n\t\t\tLicenseModel:                 pulumi.String(\"LicenseIncluded\"),\n\t\t\tAutoScalingEnabled:           pulumi.Bool(false),\n\t\t\tAutoScalingForStorageEnabled: pulumi.Bool(true),\n\t\t\tMtlsConnectionRequired:       pulumi.Bool(true),\n\t\t\tNationalCharacterSet:         pulumi.String(\"AL16UTF16\"),\n\t\t\tAllowedIps:                   pulumi.StringArray{},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = oracle.NewAutonomousDatabaseCloneFromDatabase(ctx, \"example\", \u0026oracle.AutonomousDatabaseCloneFromDatabaseArgs{\n\t\t\tName:                         pulumi.String(\"example\"),\n\t\t\tResourceGroupName:            exampleAutonomousDatabase.ResourceGroupName,\n\t\t\tLocation:                     exampleAutonomousDatabase.Location,\n\t\t\tSourceAutonomousDatabaseId:   exampleAutonomousDatabase.ID(),\n\t\t\tCloneType:                    pulumi.String(\"Full\"),\n\t\t\tAdminPassword:                pulumi.String(\"BEstrO0ng_#11\"),\n\t\t\tBackupRetentionPeriodInDays:  pulumi.Int(7),\n\t\t\tCharacterSet:                 pulumi.String(\"AL32UTF8\"),\n\t\t\tComputeCount:                 pulumi.Float64(2),\n\t\t\tComputeModel:                 pulumi.String(\"ECPU\"),\n\t\t\tDataStorageSizeInTb:          pulumi.Int(1),\n\t\t\tDatabaseVersion:              pulumi.String(\"19c\"),\n\t\t\tDatabaseWorkload:             pulumi.String(\"OLTP\"),\n\t\t\tDisplayName:                  pulumi.String(\"ExampleClone\"),\n\t\t\tLicenseModel:                 pulumi.String(\"LicenseIncluded\"),\n\t\t\tAutoScalingEnabled:           pulumi.Bool(false),\n\t\t\tAutoScalingForStorageEnabled: pulumi.Bool(true),\n\t\t\tMtlsConnectionRequired:       pulumi.Bool(true),\n\t\t\tNationalCharacterSet:         pulumi.String(\"AL16UTF16\"),\n\t\t\tAllowedIpAddresses:           pulumi.StringArray{},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.oracle.AutonomousDatabase;\nimport com.pulumi.azure.oracle.AutonomousDatabaseArgs;\nimport com.pulumi.azure.oracle.AutonomousDatabaseCloneFromDatabase;\nimport com.pulumi.azure.oracle.AutonomousDatabaseCloneFromDatabaseArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"eastus\")\n            .build());\n\n        var exampleAutonomousDatabase = new AutonomousDatabase(\"exampleAutonomousDatabase\", AutonomousDatabaseArgs.builder()\n            .name(\"example\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .adminPassword(\"BEstrO0ng_#11\")\n            .backupRetentionPeriodInDays(7)\n            .characterSet(\"AL32UTF8\")\n            .computeCount(2.0)\n            .computeModel(\"ECPU\")\n            .dataStorageSizeInTbs(1)\n            .dbVersion(\"19c\")\n            .dbWorkload(\"OLTP\")\n            .displayName(\"Example\")\n            .licenseModel(\"LicenseIncluded\")\n            .autoScalingEnabled(false)\n            .autoScalingForStorageEnabled(true)\n            .mtlsConnectionRequired(true)\n            .nationalCharacterSet(\"AL16UTF16\")\n            .allowedIps()\n            .build());\n\n        var exampleAutonomousDatabaseCloneFromDatabase = new AutonomousDatabaseCloneFromDatabase(\"exampleAutonomousDatabaseCloneFromDatabase\", AutonomousDatabaseCloneFromDatabaseArgs.builder()\n            .name(\"example\")\n            .resourceGroupName(exampleAutonomousDatabase.resourceGroupName())\n            .location(exampleAutonomousDatabase.location())\n            .sourceAutonomousDatabaseId(exampleAutonomousDatabase.id())\n            .cloneType(\"Full\")\n            .adminPassword(\"BEstrO0ng_#11\")\n            .backupRetentionPeriodInDays(7)\n            .characterSet(\"AL32UTF8\")\n            .computeCount(2.0)\n            .computeModel(\"ECPU\")\n            .dataStorageSizeInTb(1)\n            .databaseVersion(\"19c\")\n            .databaseWorkload(\"OLTP\")\n            .displayName(\"ExampleClone\")\n            .licenseModel(\"LicenseIncluded\")\n            .autoScalingEnabled(false)\n            .autoScalingForStorageEnabled(true)\n            .mtlsConnectionRequired(true)\n            .nationalCharacterSet(\"AL16UTF16\")\n            .allowedIpAddresses()\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: eastus\n  exampleAutonomousDatabase:\n    type: azure:oracle:AutonomousDatabase\n    name: example\n    properties:\n      name: example\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      adminPassword: BEstrO0ng_#11\n      backupRetentionPeriodInDays: 7\n      characterSet: AL32UTF8\n      computeCount: 2\n      computeModel: ECPU\n      dataStorageSizeInTbs: 1\n      dbVersion: 19c\n      dbWorkload: OLTP\n      displayName: Example\n      licenseModel: LicenseIncluded\n      autoScalingEnabled: false\n      autoScalingForStorageEnabled: true\n      mtlsConnectionRequired: true\n      nationalCharacterSet: AL16UTF16\n      allowedIps: []\n  exampleAutonomousDatabaseCloneFromDatabase:\n    type: azure:oracle:AutonomousDatabaseCloneFromDatabase\n    name: example\n    properties:\n      name: example\n      resourceGroupName: ${exampleAutonomousDatabase.resourceGroupName}\n      location: ${exampleAutonomousDatabase.location}\n      sourceAutonomousDatabaseId: ${exampleAutonomousDatabase.id}\n      cloneType: Full\n      adminPassword: BEstrO0ng_#11\n      backupRetentionPeriodInDays: 7\n      characterSet: AL32UTF8\n      computeCount: 2\n      computeModel: ECPU\n      dataStorageSizeInTb: 1\n      databaseVersion: 19c\n      databaseWorkload: OLTP\n      displayName: ExampleClone\n      licenseModel: LicenseIncluded\n      autoScalingEnabled: false\n      autoScalingForStorageEnabled: true\n      mtlsConnectionRequired: true\n      nationalCharacterSet: AL16UTF16\n      allowedIpAddresses: []\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Oracle.Database` - 2025-09-01\n\n## Import\n\nautonomous database clone from databases can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:oracle/autonomousDatabaseCloneFromDatabase:AutonomousDatabaseCloneFromDatabase example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Oracle.Database/autonomousDatabases/example\n```\n\n","properties":{"adminPassword":{"type":"string","description":"The password for the SYS, SYSTEM, and PDB Admin users. The password must be at least 12 characters long, and contain at least 1 uppercase, 1 lowercase, and 1 numeric character. It cannot contain the double quote symbol (`\"`) or the username \"admin\", regardless of casing. Changing this forces a new Autonomous Database Clone to be created.\n","secret":true},"allowedIpAddresses":{"type":"array","items":{"type":"string"},"description":"Defines the network access type for the Autonomous Database. If the property is explicitly set to an empty list, it allows secure public access to the database from any IP address. If specific ACL (Access Control List) values are provided, access will be restricted to only the specified IP addresses. Changing this forces a new Autonomous Database Clone to be created.\n"},"autoScalingEnabled":{"type":"boolean","description":"Indicates if auto scaling is enabled for the Autonomous Database CPU core count. Changing this forces a new Autonomous Database Clone to be created.\n"},"autoScalingForStorageEnabled":{"type":"boolean","description":"Indicates if auto scaling is enabled for the Autonomous Database storage. Changing this forces a new Autonomous Database Clone to be created.\n"},"backupRetentionPeriodInDays":{"type":"integer","description":"Retention period, in days, for backups. Possible values range between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`60`\" pulumi-lang-dotnet=\"`60`\" pulumi-lang-go=\"`60`\" pulumi-lang-python=\"`60`\" pulumi-lang-yaml=\"`60`\" pulumi-lang-java=\"`60`\"\u003e`60`\u003c/span\u003e. Changing this forces a new Autonomous Database Clone to be created.\n"},"characterSet":{"type":"string","description":"The character set for the autonomous database. Changing this forces a new Autonomous Database Clone to be created.\n"},"cloneType":{"type":"string","description":"The type of clone to create. Possible values are `Full` and `Metadata`. Changing this forces a new Autonomous Database Clone to be created.\n"},"computeCount":{"type":"number","description":"The compute amount (CPUs) available to the database. Possible values range between `2.0` and `512.0`. Changing this forces a new Autonomous Database Clone to be created.\n"},"computeModel":{"type":"string","description":"The compute model of the Autonomous Database. Possible values are `ECPU` and `OCPU`. Changing this forces a new Autonomous Database Clone to be created.\n\n\u003e **Note:** `ECPU` compute model is the recommended model and `OCPU` compute model is legacy.\n"},"customerContacts":{"type":"array","items":{"type":"string"},"description":"Specifies a list of customer contacts as email addresses. Changing this forces a new Autonomous Database Clone to be created.\n"},"dataStorageSizeInTb":{"type":"integer","description":"The maximum storage that can be allocated for the database, in terabytes. Possible values range between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`384`\" pulumi-lang-dotnet=\"`384`\" pulumi-lang-go=\"`384`\" pulumi-lang-python=\"`384`\" pulumi-lang-yaml=\"`384`\" pulumi-lang-java=\"`384`\"\u003e`384`\u003c/span\u003e. Changing this forces a new Autonomous Database Clone to be created.\n"},"databaseVersion":{"type":"string","description":"A valid Oracle Database version for Autonomous Database. Changing this forces a new Autonomous Database Clone to be created.\n"},"databaseWorkload":{"type":"string","description":"The Autonomous Database workload type. Possible values are `OLTP` and `DW`, `APEX`, `AJD`. Changing this forces a new Autonomous Database Clone to be created.\n* OLTP - indicates an Autonomous Transaction Processing database\n* DW - indicates an Autonomous Data Warehouse database\n* AJD - indicates an Autonomous JSON Database\n* APEX - indicates an Autonomous Database with the Oracle APEX Application Development workload type.\n\n\u003e **Note:** To clone the database with a different \u003cspan pulumi-lang-nodejs=\"`databaseWorkload`\" pulumi-lang-dotnet=\"`DatabaseWorkload`\" pulumi-lang-go=\"`databaseWorkload`\" pulumi-lang-python=\"`database_workload`\" pulumi-lang-yaml=\"`databaseWorkload`\" pulumi-lang-java=\"`databaseWorkload`\"\u003e`database_workload`\u003c/span\u003e type, please refer to the documentation [here](https://docs.public.oneportal.content.oci.oraclecloud.com/iaas/autonomous-database-serverless/doc/autonomous-clone-cross-workload-type.html#GUID-527A712D-FF82-498B-AB35-8A1623E36EDD) for correct configuration steps.\n"},"displayName":{"type":"string","description":"The user-friendly name for the Autonomous Database. Changing this forces a new Autonomous Database Clone to be created.\n"},"licenseModel":{"type":"string","description":"The Oracle license model that applies to the Oracle Autonomous Database. Possible values are `LicenseIncluded` and `BringYourOwnLicense`. Changing this forces a new Autonomous Database Clone to be created.\n"},"location":{"type":"string","description":"The Azure Region where the Autonomous Database should exist. Changing this forces a new Autonomous Database Clone to be created.\n"},"mtlsConnectionRequired":{"type":"boolean","description":"Specifies if the Autonomous Database requires mTLS connections. Changing this forces a new Autonomous Database Clone to be created.\n"},"name":{"type":"string","description":"The name which should be used for this autonomous database clone from database. Changing this forces a new Autonomous Database Clone to be created.\n"},"nationalCharacterSet":{"type":"string","description":"The national character set for the autonomous database. Changing this forces a new Autonomous Database Clone to be created.\n"},"refreshableModel":{"type":"string","description":"The refreshable model for the clone. Possible values are `Automatic` and `Manual`. Changing this forces a new Autonomous Database Clone to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the autonomous database clone from database should exist. Changing this forces a new Autonomous Database Clone to be created.\n"},"sourceAutonomousDatabaseId":{"type":"string","description":"The ID of the source Autonomous Database to clone from. Changing this forces a new Autonomous Database Clone to be created.\n"},"subnetId":{"type":"string","description":"The ID of the subnet the resource is associated with. Changing this forces a new Autonomous Database Clone to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the Autonomous Database Clone. Changing this forces a new Autonomous Database Clone to be created.\n"},"virtualNetworkId":{"type":"string","description":"The ID of the Virtual Network this Autonomous Database Clone should be created in. Changing this forces a new Autonomous Database Clone to be created.\n"}},"required":["adminPassword","autoScalingEnabled","autoScalingForStorageEnabled","backupRetentionPeriodInDays","characterSet","cloneType","computeCount","computeModel","dataStorageSizeInTb","databaseVersion","databaseWorkload","displayName","licenseModel","location","mtlsConnectionRequired","name","nationalCharacterSet","resourceGroupName","sourceAutonomousDatabaseId"],"inputProperties":{"adminPassword":{"type":"string","description":"The password for the SYS, SYSTEM, and PDB Admin users. The password must be at least 12 characters long, and contain at least 1 uppercase, 1 lowercase, and 1 numeric character. It cannot contain the double quote symbol (`\"`) or the username \"admin\", regardless of casing. Changing this forces a new Autonomous Database Clone to be created.\n","secret":true,"willReplaceOnChanges":true},"allowedIpAddresses":{"type":"array","items":{"type":"string"},"description":"Defines the network access type for the Autonomous Database. If the property is explicitly set to an empty list, it allows secure public access to the database from any IP address. If specific ACL (Access Control List) values are provided, access will be restricted to only the specified IP addresses. Changing this forces a new Autonomous Database Clone to be created.\n","willReplaceOnChanges":true},"autoScalingEnabled":{"type":"boolean","description":"Indicates if auto scaling is enabled for the Autonomous Database CPU core count. Changing this forces a new Autonomous Database Clone to be created.\n","willReplaceOnChanges":true},"autoScalingForStorageEnabled":{"type":"boolean","description":"Indicates if auto scaling is enabled for the Autonomous Database storage. Changing this forces a new Autonomous Database Clone to be created.\n","willReplaceOnChanges":true},"backupRetentionPeriodInDays":{"type":"integer","description":"Retention period, in days, for backups. Possible values range between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`60`\" pulumi-lang-dotnet=\"`60`\" pulumi-lang-go=\"`60`\" pulumi-lang-python=\"`60`\" pulumi-lang-yaml=\"`60`\" pulumi-lang-java=\"`60`\"\u003e`60`\u003c/span\u003e. Changing this forces a new Autonomous Database Clone to be created.\n","willReplaceOnChanges":true},"characterSet":{"type":"string","description":"The character set for the autonomous database. Changing this forces a new Autonomous Database Clone to be created.\n","willReplaceOnChanges":true},"cloneType":{"type":"string","description":"The type of clone to create. Possible values are `Full` and `Metadata`. Changing this forces a new Autonomous Database Clone to be created.\n","willReplaceOnChanges":true},"computeCount":{"type":"number","description":"The compute amount (CPUs) available to the database. Possible values range between `2.0` and `512.0`. Changing this forces a new Autonomous Database Clone to be created.\n","willReplaceOnChanges":true},"computeModel":{"type":"string","description":"The compute model of the Autonomous Database. Possible values are `ECPU` and `OCPU`. Changing this forces a new Autonomous Database Clone to be created.\n\n\u003e **Note:** `ECPU` compute model is the recommended model and `OCPU` compute model is legacy.\n","willReplaceOnChanges":true},"customerContacts":{"type":"array","items":{"type":"string"},"description":"Specifies a list of customer contacts as email addresses. Changing this forces a new Autonomous Database Clone to be created.\n","willReplaceOnChanges":true},"dataStorageSizeInTb":{"type":"integer","description":"The maximum storage that can be allocated for the database, in terabytes. Possible values range between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`384`\" pulumi-lang-dotnet=\"`384`\" pulumi-lang-go=\"`384`\" pulumi-lang-python=\"`384`\" pulumi-lang-yaml=\"`384`\" pulumi-lang-java=\"`384`\"\u003e`384`\u003c/span\u003e. Changing this forces a new Autonomous Database Clone to be created.\n","willReplaceOnChanges":true},"databaseVersion":{"type":"string","description":"A valid Oracle Database version for Autonomous Database. Changing this forces a new Autonomous Database Clone to be created.\n","willReplaceOnChanges":true},"databaseWorkload":{"type":"string","description":"The Autonomous Database workload type. Possible values are `OLTP` and `DW`, `APEX`, `AJD`. Changing this forces a new Autonomous Database Clone to be created.\n* OLTP - indicates an Autonomous Transaction Processing database\n* DW - indicates an Autonomous Data Warehouse database\n* AJD - indicates an Autonomous JSON Database\n* APEX - indicates an Autonomous Database with the Oracle APEX Application Development workload type.\n\n\u003e **Note:** To clone the database with a different \u003cspan pulumi-lang-nodejs=\"`databaseWorkload`\" pulumi-lang-dotnet=\"`DatabaseWorkload`\" pulumi-lang-go=\"`databaseWorkload`\" pulumi-lang-python=\"`database_workload`\" pulumi-lang-yaml=\"`databaseWorkload`\" pulumi-lang-java=\"`databaseWorkload`\"\u003e`database_workload`\u003c/span\u003e type, please refer to the documentation [here](https://docs.public.oneportal.content.oci.oraclecloud.com/iaas/autonomous-database-serverless/doc/autonomous-clone-cross-workload-type.html#GUID-527A712D-FF82-498B-AB35-8A1623E36EDD) for correct configuration steps.\n","willReplaceOnChanges":true},"displayName":{"type":"string","description":"The user-friendly name for the Autonomous Database. Changing this forces a new Autonomous Database Clone to be created.\n","willReplaceOnChanges":true},"licenseModel":{"type":"string","description":"The Oracle license model that applies to the Oracle Autonomous Database. Possible values are `LicenseIncluded` and `BringYourOwnLicense`. Changing this forces a new Autonomous Database Clone to be created.\n","willReplaceOnChanges":true},"location":{"type":"string","description":"The Azure Region where the Autonomous Database should exist. Changing this forces a new Autonomous Database Clone to be created.\n","willReplaceOnChanges":true},"mtlsConnectionRequired":{"type":"boolean","description":"Specifies if the Autonomous Database requires mTLS connections. Changing this forces a new Autonomous Database Clone to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this autonomous database clone from database. Changing this forces a new Autonomous Database Clone to be created.\n","willReplaceOnChanges":true},"nationalCharacterSet":{"type":"string","description":"The national character set for the autonomous database. Changing this forces a new Autonomous Database Clone to be created.\n","willReplaceOnChanges":true},"refreshableModel":{"type":"string","description":"The refreshable model for the clone. Possible values are `Automatic` and `Manual`. Changing this forces a new Autonomous Database Clone to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the autonomous database clone from database should exist. Changing this forces a new Autonomous Database Clone to be created.\n","willReplaceOnChanges":true},"sourceAutonomousDatabaseId":{"type":"string","description":"The ID of the source Autonomous Database to clone from. Changing this forces a new Autonomous Database Clone to be created.\n","willReplaceOnChanges":true},"subnetId":{"type":"string","description":"The ID of the subnet the resource is associated with. Changing this forces a new Autonomous Database Clone to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the Autonomous Database Clone. Changing this forces a new Autonomous Database Clone to be created.\n","willReplaceOnChanges":true},"virtualNetworkId":{"type":"string","description":"The ID of the Virtual Network this Autonomous Database Clone should be created in. Changing this forces a new Autonomous Database Clone to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["adminPassword","autoScalingEnabled","autoScalingForStorageEnabled","backupRetentionPeriodInDays","characterSet","cloneType","computeCount","computeModel","dataStorageSizeInTb","databaseVersion","databaseWorkload","displayName","licenseModel","mtlsConnectionRequired","nationalCharacterSet","resourceGroupName","sourceAutonomousDatabaseId"],"stateInputs":{"description":"Input properties used for looking up and filtering AutonomousDatabaseCloneFromDatabase resources.\n","properties":{"adminPassword":{"type":"string","description":"The password for the SYS, SYSTEM, and PDB Admin users. The password must be at least 12 characters long, and contain at least 1 uppercase, 1 lowercase, and 1 numeric character. It cannot contain the double quote symbol (`\"`) or the username \"admin\", regardless of casing. Changing this forces a new Autonomous Database Clone to be created.\n","secret":true,"willReplaceOnChanges":true},"allowedIpAddresses":{"type":"array","items":{"type":"string"},"description":"Defines the network access type for the Autonomous Database. If the property is explicitly set to an empty list, it allows secure public access to the database from any IP address. If specific ACL (Access Control List) values are provided, access will be restricted to only the specified IP addresses. Changing this forces a new Autonomous Database Clone to be created.\n","willReplaceOnChanges":true},"autoScalingEnabled":{"type":"boolean","description":"Indicates if auto scaling is enabled for the Autonomous Database CPU core count. Changing this forces a new Autonomous Database Clone to be created.\n","willReplaceOnChanges":true},"autoScalingForStorageEnabled":{"type":"boolean","description":"Indicates if auto scaling is enabled for the Autonomous Database storage. Changing this forces a new Autonomous Database Clone to be created.\n","willReplaceOnChanges":true},"backupRetentionPeriodInDays":{"type":"integer","description":"Retention period, in days, for backups. Possible values range between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`60`\" pulumi-lang-dotnet=\"`60`\" pulumi-lang-go=\"`60`\" pulumi-lang-python=\"`60`\" pulumi-lang-yaml=\"`60`\" pulumi-lang-java=\"`60`\"\u003e`60`\u003c/span\u003e. Changing this forces a new Autonomous Database Clone to be created.\n","willReplaceOnChanges":true},"characterSet":{"type":"string","description":"The character set for the autonomous database. Changing this forces a new Autonomous Database Clone to be created.\n","willReplaceOnChanges":true},"cloneType":{"type":"string","description":"The type of clone to create. Possible values are `Full` and `Metadata`. Changing this forces a new Autonomous Database Clone to be created.\n","willReplaceOnChanges":true},"computeCount":{"type":"number","description":"The compute amount (CPUs) available to the database. Possible values range between `2.0` and `512.0`. Changing this forces a new Autonomous Database Clone to be created.\n","willReplaceOnChanges":true},"computeModel":{"type":"string","description":"The compute model of the Autonomous Database. Possible values are `ECPU` and `OCPU`. Changing this forces a new Autonomous Database Clone to be created.\n\n\u003e **Note:** `ECPU` compute model is the recommended model and `OCPU` compute model is legacy.\n","willReplaceOnChanges":true},"customerContacts":{"type":"array","items":{"type":"string"},"description":"Specifies a list of customer contacts as email addresses. Changing this forces a new Autonomous Database Clone to be created.\n","willReplaceOnChanges":true},"dataStorageSizeInTb":{"type":"integer","description":"The maximum storage that can be allocated for the database, in terabytes. Possible values range between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`384`\" pulumi-lang-dotnet=\"`384`\" pulumi-lang-go=\"`384`\" pulumi-lang-python=\"`384`\" pulumi-lang-yaml=\"`384`\" pulumi-lang-java=\"`384`\"\u003e`384`\u003c/span\u003e. Changing this forces a new Autonomous Database Clone to be created.\n","willReplaceOnChanges":true},"databaseVersion":{"type":"string","description":"A valid Oracle Database version for Autonomous Database. Changing this forces a new Autonomous Database Clone to be created.\n","willReplaceOnChanges":true},"databaseWorkload":{"type":"string","description":"The Autonomous Database workload type. Possible values are `OLTP` and `DW`, `APEX`, `AJD`. Changing this forces a new Autonomous Database Clone to be created.\n* OLTP - indicates an Autonomous Transaction Processing database\n* DW - indicates an Autonomous Data Warehouse database\n* AJD - indicates an Autonomous JSON Database\n* APEX - indicates an Autonomous Database with the Oracle APEX Application Development workload type.\n\n\u003e **Note:** To clone the database with a different \u003cspan pulumi-lang-nodejs=\"`databaseWorkload`\" pulumi-lang-dotnet=\"`DatabaseWorkload`\" pulumi-lang-go=\"`databaseWorkload`\" pulumi-lang-python=\"`database_workload`\" pulumi-lang-yaml=\"`databaseWorkload`\" pulumi-lang-java=\"`databaseWorkload`\"\u003e`database_workload`\u003c/span\u003e type, please refer to the documentation [here](https://docs.public.oneportal.content.oci.oraclecloud.com/iaas/autonomous-database-serverless/doc/autonomous-clone-cross-workload-type.html#GUID-527A712D-FF82-498B-AB35-8A1623E36EDD) for correct configuration steps.\n","willReplaceOnChanges":true},"displayName":{"type":"string","description":"The user-friendly name for the Autonomous Database. Changing this forces a new Autonomous Database Clone to be created.\n","willReplaceOnChanges":true},"licenseModel":{"type":"string","description":"The Oracle license model that applies to the Oracle Autonomous Database. Possible values are `LicenseIncluded` and `BringYourOwnLicense`. Changing this forces a new Autonomous Database Clone to be created.\n","willReplaceOnChanges":true},"location":{"type":"string","description":"The Azure Region where the Autonomous Database should exist. Changing this forces a new Autonomous Database Clone to be created.\n","willReplaceOnChanges":true},"mtlsConnectionRequired":{"type":"boolean","description":"Specifies if the Autonomous Database requires mTLS connections. Changing this forces a new Autonomous Database Clone to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this autonomous database clone from database. Changing this forces a new Autonomous Database Clone to be created.\n","willReplaceOnChanges":true},"nationalCharacterSet":{"type":"string","description":"The national character set for the autonomous database. Changing this forces a new Autonomous Database Clone to be created.\n","willReplaceOnChanges":true},"refreshableModel":{"type":"string","description":"The refreshable model for the clone. Possible values are `Automatic` and `Manual`. Changing this forces a new Autonomous Database Clone to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the autonomous database clone from database should exist. Changing this forces a new Autonomous Database Clone to be created.\n","willReplaceOnChanges":true},"sourceAutonomousDatabaseId":{"type":"string","description":"The ID of the source Autonomous Database to clone from. Changing this forces a new Autonomous Database Clone to be created.\n","willReplaceOnChanges":true},"subnetId":{"type":"string","description":"The ID of the subnet the resource is associated with. Changing this forces a new Autonomous Database Clone to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the Autonomous Database Clone. Changing this forces a new Autonomous Database Clone to be created.\n","willReplaceOnChanges":true},"virtualNetworkId":{"type":"string","description":"The ID of the Virtual Network this Autonomous Database Clone should be created in. Changing this forces a new Autonomous Database Clone to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:oracle/cloudVmCluster:CloudVmCluster":{"description":"Manages a Cloud VM Cluster.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\nimport * as std from \"@pulumi/std\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleExadataInfrastructure = new azure.oracle.ExadataInfrastructure(\"example\", {\n    name: \"example-exadata-infrastructure\",\n    displayName: \"example-exadata-infrastructure\",\n    location: exampleResourceGroup.location,\n    resourceGroupName: exampleResourceGroup.name,\n    shape: \"Exadata.X9M\",\n    storageCount: 3,\n    computeCount: 2,\n    zones: [\"3\"],\n});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"example\", {\n    name: \"example-virtual-network\",\n    addressSpaces: [\"10.0.0.0/16\"],\n    location: exampleResourceGroup.location,\n    resourceGroupName: exampleResourceGroup.name,\n});\nconst exampleSubnet = new azure.network.Subnet(\"example\", {\n    name: \"example-subnet\",\n    resourceGroupName: exampleResourceGroup.name,\n    virtualNetworkName: exampleVirtualNetwork.name,\n    addressPrefixes: [\"10.0.1.0/24\"],\n    delegations: [{\n        name: \"delegation\",\n        serviceDelegation: {\n            actions: [\n                \"Microsoft.Network/networkinterfaces/*\",\n                \"Microsoft.Network/virtualNetworks/subnets/join/action\",\n            ],\n            name: \"Oracle.Database/networkAttachments\",\n        },\n    }],\n});\nconst example = azure.oracle.getDbServersOutput({\n    resourceGroupName: exampleResourceGroup.name,\n    cloudExadataInfrastructureName: exampleExadataInfrastructure.name,\n});\nconst exampleCloudVmCluster = new azure.oracle.CloudVmCluster(\"example\", {\n    name: \"example-cloud-vm-cluster\",\n    resourceGroupName: exampleResourceGroup.name,\n    location: exampleResourceGroup.location,\n    giVersion: \"23.0.0.0\",\n    virtualNetworkId: exampleVirtualNetwork.id,\n    licenseModel: \"BringYourOwnLicense\",\n    dbServers: example.apply(example =\u003e .map(obj =\u003e (obj.ocid))),\n    sshPublicKeys: [std.file({\n        input: \"~/.ssh/id_rsa.pub\",\n    }).then(invoke =\u003e invoke.result)],\n    displayName: \"example-cloud-vm-cluster\",\n    cloudExadataInfrastructureId: exampleExadataInfrastructure.id,\n    cpuCoreCount: 2,\n    hostname: \"hostname\",\n    subnetId: exampleSubnet.id,\n    systemVersion: \"23.1.19.0.0.241015\",\n    fileSystemConfigurations: [{\n        mountPoint: \"/var\",\n        sizeInGb: 32,\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\nimport pulumi_std as std\n\nexample_resource_group = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_exadata_infrastructure = azure.oracle.ExadataInfrastructure(\"example\",\n    name=\"example-exadata-infrastructure\",\n    display_name=\"example-exadata-infrastructure\",\n    location=example_resource_group.location,\n    resource_group_name=example_resource_group.name,\n    shape=\"Exadata.X9M\",\n    storage_count=3,\n    compute_count=2,\n    zones=[\"3\"])\nexample_virtual_network = azure.network.VirtualNetwork(\"example\",\n    name=\"example-virtual-network\",\n    address_spaces=[\"10.0.0.0/16\"],\n    location=example_resource_group.location,\n    resource_group_name=example_resource_group.name)\nexample_subnet = azure.network.Subnet(\"example\",\n    name=\"example-subnet\",\n    resource_group_name=example_resource_group.name,\n    virtual_network_name=example_virtual_network.name,\n    address_prefixes=[\"10.0.1.0/24\"],\n    delegations=[{\n        \"name\": \"delegation\",\n        \"service_delegation\": {\n            \"actions\": [\n                \"Microsoft.Network/networkinterfaces/*\",\n                \"Microsoft.Network/virtualNetworks/subnets/join/action\",\n            ],\n            \"name\": \"Oracle.Database/networkAttachments\",\n        },\n    }])\nexample = azure.oracle.get_db_servers_output(resource_group_name=example_resource_group.name,\n    cloud_exadata_infrastructure_name=example_exadata_infrastructure.name)\nexample_cloud_vm_cluster = azure.oracle.CloudVmCluster(\"example\",\n    name=\"example-cloud-vm-cluster\",\n    resource_group_name=example_resource_group.name,\n    location=example_resource_group.location,\n    gi_version=\"23.0.0.0\",\n    virtual_network_id=example_virtual_network.id,\n    license_model=\"BringYourOwnLicense\",\n    db_servers=example.apply(lambda example: [obj.ocid for obj in example.db_servers]),\n    ssh_public_keys=[std.file(input=\"~/.ssh/id_rsa.pub\").result],\n    display_name=\"example-cloud-vm-cluster\",\n    cloud_exadata_infrastructure_id=example_exadata_infrastructure.id,\n    cpu_core_count=2,\n    hostname=\"hostname\",\n    subnet_id=example_subnet.id,\n    system_version=\"23.1.19.0.0.241015\",\n    file_system_configurations=[{\n        \"mount_point\": \"/var\",\n        \"size_in_gb\": 32,\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleResourceGroup = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleExadataInfrastructure = new Azure.Oracle.ExadataInfrastructure(\"example\", new()\n    {\n        Name = \"example-exadata-infrastructure\",\n        DisplayName = \"example-exadata-infrastructure\",\n        Location = exampleResourceGroup.Location,\n        ResourceGroupName = exampleResourceGroup.Name,\n        Shape = \"Exadata.X9M\",\n        StorageCount = 3,\n        ComputeCount = 2,\n        Zones = new[]\n        {\n            \"3\",\n        },\n    });\n\n    var exampleVirtualNetwork = new Azure.Network.VirtualNetwork(\"example\", new()\n    {\n        Name = \"example-virtual-network\",\n        AddressSpaces = new[]\n        {\n            \"10.0.0.0/16\",\n        },\n        Location = exampleResourceGroup.Location,\n        ResourceGroupName = exampleResourceGroup.Name,\n    });\n\n    var exampleSubnet = new Azure.Network.Subnet(\"example\", new()\n    {\n        Name = \"example-subnet\",\n        ResourceGroupName = exampleResourceGroup.Name,\n        VirtualNetworkName = exampleVirtualNetwork.Name,\n        AddressPrefixes = new[]\n        {\n            \"10.0.1.0/24\",\n        },\n        Delegations = new[]\n        {\n            new Azure.Network.Inputs.SubnetDelegationArgs\n            {\n                Name = \"delegation\",\n                ServiceDelegation = new Azure.Network.Inputs.SubnetDelegationServiceDelegationArgs\n                {\n                    Actions = new[]\n                    {\n                        \"Microsoft.Network/networkinterfaces/*\",\n                        \"Microsoft.Network/virtualNetworks/subnets/join/action\",\n                    },\n                    Name = \"Oracle.Database/networkAttachments\",\n                },\n            },\n        },\n    });\n\n    var example = Azure.Oracle.GetDbServers.Invoke(new()\n    {\n        ResourceGroupName = exampleResourceGroup.Name,\n        CloudExadataInfrastructureName = exampleExadataInfrastructure.Name,\n    });\n\n    var exampleCloudVmCluster = new Azure.Oracle.CloudVmCluster(\"example\", new()\n    {\n        Name = \"example-cloud-vm-cluster\",\n        ResourceGroupName = exampleResourceGroup.Name,\n        Location = exampleResourceGroup.Location,\n        GiVersion = \"23.0.0.0\",\n        VirtualNetworkId = exampleVirtualNetwork.Id,\n        LicenseModel = \"BringYourOwnLicense\",\n        DbServers = .Select(obj =\u003e \n        {\n            return obj.Ocid;\n        }).ToList(),\n        SshPublicKeys = new[]\n        {\n            Std.File.Invoke(new()\n            {\n                Input = \"~/.ssh/id_rsa.pub\",\n            }).Apply(invoke =\u003e invoke.Result),\n        },\n        DisplayName = \"example-cloud-vm-cluster\",\n        CloudExadataInfrastructureId = exampleExadataInfrastructure.Id,\n        CpuCoreCount = 2,\n        Hostname = \"hostname\",\n        SubnetId = exampleSubnet.Id,\n        SystemVersion = \"23.1.19.0.0.241015\",\n        FileSystemConfigurations = new[]\n        {\n            new Azure.Oracle.Inputs.CloudVmClusterFileSystemConfigurationArgs\n            {\n                MountPoint = \"/var\",\n                SizeInGb = 32,\n            },\n        },\n    });\n\n});\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Oracle.Database` - 2025-09-01\n\n## Import\n\nCloud VM Clusters can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:oracle/cloudVmCluster:CloudVmCluster example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup/providers/Oracle.Database/cloudVmClusters/cloudVmClusters1\n```\n\n","properties":{"backupSubnetCidr":{"type":"string","description":"The backup subnet CIDR of the Virtual Network associated with the Cloud VM Cluster. Changing this forces a new Cloud VM Cluster to be created.\n"},"cloudExadataInfrastructureId":{"type":"string","description":"The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the Cloud Exadata infrastructure. Changing this forces a new Cloud VM Cluster to be created.\n"},"clusterName":{"type":"string","description":"The cluster name for Cloud VM Cluster. Changing this forces a new Cloud VM Cluster to be created.\n"},"cpuCoreCount":{"type":"integer","description":"The number of CPU cores enabled on the Cloud VM Cluster. Changing this forces a new Cloud VM Cluster to be created.\n"},"dataCollectionOptions":{"$ref":"#/types/azure:oracle/CloudVmClusterDataCollectionOptions:CloudVmClusterDataCollectionOptions","description":"A \u003cspan pulumi-lang-nodejs=\"`dataCollectionOptions`\" pulumi-lang-dotnet=\"`DataCollectionOptions`\" pulumi-lang-go=\"`dataCollectionOptions`\" pulumi-lang-python=\"`data_collection_options`\" pulumi-lang-yaml=\"`dataCollectionOptions`\" pulumi-lang-java=\"`dataCollectionOptions`\"\u003e`data_collection_options`\u003c/span\u003e block as defined below. Changing this forces a new Cloud VM Cluster to be created.\n"},"dataStoragePercentage":{"type":"integer","description":"The percentage assigned to DATA storage (user data and database files). Changing this forces a new Cloud VM Cluster to be created. The remaining percentage is assigned to RECO storage (database redo logs, archive logs, and recovery manager backups). Accepted values are \u003cspan pulumi-lang-nodejs=\"`35`\" pulumi-lang-dotnet=\"`35`\" pulumi-lang-go=\"`35`\" pulumi-lang-python=\"`35`\" pulumi-lang-yaml=\"`35`\" pulumi-lang-java=\"`35`\"\u003e`35`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`40`\" pulumi-lang-dotnet=\"`40`\" pulumi-lang-go=\"`40`\" pulumi-lang-python=\"`40`\" pulumi-lang-yaml=\"`40`\" pulumi-lang-java=\"`40`\"\u003e`40`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`60`\" pulumi-lang-dotnet=\"`60`\" pulumi-lang-go=\"`60`\" pulumi-lang-python=\"`60`\" pulumi-lang-yaml=\"`60`\" pulumi-lang-java=\"`60`\"\u003e`60`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`80`\" pulumi-lang-dotnet=\"`80`\" pulumi-lang-go=\"`80`\" pulumi-lang-python=\"`80`\" pulumi-lang-yaml=\"`80`\" pulumi-lang-java=\"`80`\"\u003e`80`\u003c/span\u003e.\n"},"dataStorageSizeInTbs":{"type":"number","description":"The data disk group size to be allocated in TBs. Changing this forces a new Cloud VM Cluster to be created.\n"},"dbNodeStorageSizeInGbs":{"type":"integer","description":"The local node storage to be allocated in GBs. Changing this forces a new Cloud VM Cluster to be created.\n"},"dbServers":{"type":"array","items":{"type":"string"},"description":"The list of DB servers. Changing this forces a new Cloud VM Cluster to be created.\n"},"displayName":{"type":"string","description":"The user-friendly name for the Cloud VM Cluster. Changing this forces a new Cloud VM Cluster to be created. The name does not need to be unique.\n"},"domain":{"type":"string","description":"The name of the OCI Private DNS Zone to be associated with the Cloud VM Cluster. This is required for specifying your own private domain name. Changing this forces a new Cloud VM Cluster to be created.\n"},"fileSystemConfigurations":{"type":"array","items":{"$ref":"#/types/azure:oracle/CloudVmClusterFileSystemConfiguration:CloudVmClusterFileSystemConfiguration"},"description":"A \u003cspan pulumi-lang-nodejs=\"`fileSystemConfiguration`\" pulumi-lang-dotnet=\"`FileSystemConfiguration`\" pulumi-lang-go=\"`fileSystemConfiguration`\" pulumi-lang-python=\"`file_system_configuration`\" pulumi-lang-yaml=\"`fileSystemConfiguration`\" pulumi-lang-java=\"`fileSystemConfiguration`\"\u003e`file_system_configuration`\u003c/span\u003e block as defined below.\n"},"giVersion":{"type":"string","description":"A valid Oracle Grid Infrastructure (GI) software version. Changing this forces a new Cloud VM Cluster to be created.\n"},"hostname":{"type":"string","description":"The hostname for the Cloud VM Cluster without suffix. Changing this forces a new Cloud VM Cluster to be created.\n"},"hostnameActual":{"type":"string","description":"The hostname for the Cloud VM Cluster with suffix.\n"},"licenseModel":{"type":"string","description":"The Oracle license model that applies to the Cloud VM Cluster, either `BringYourOwnLicense` or `LicenseIncluded`. Changing this forces a new Cloud VM Cluster to be created.\n"},"localBackupEnabled":{"type":"boolean","description":"If true, database backup on local Exadata storage is configured for the Cloud VM Cluster. If \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e, database backup on local Exadata storage is not available in the Cloud VM Cluster. Changing this forces a new Cloud VM Cluster to be created.\n"},"location":{"type":"string","description":"The Azure Region where the Cloud VM Cluster should exist. Changing this forces a new Cloud VM Cluster to be created.\n"},"memorySizeInGbs":{"type":"integer","description":"The memory to be allocated in GBs. Changing this forces a new Cloud VM Cluster to be created.\n"},"name":{"type":"string","description":"The name which should be used for this Cloud VM Cluster. Changing this forces a new Cloud VM Cluster to be created.\n"},"ocid":{"type":"string","description":"The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the Cloud VM Cluster.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Cloud VM Cluster should exist. Changing this forces a new Cloud VM Cluster to be created.\n"},"scanListenerPortTcp":{"type":"integer","description":"The TCP Single Client Access Name (SCAN) port. The default port to 1521. Changing this forces a new Cloud VM Cluster to be created.\n"},"scanListenerPortTcpSsl":{"type":"integer","description":"The TCPS Single Client Access Name (SCAN) port. The default port to 2484. Changing this forces a new Cloud VM Cluster to be created.\n"},"sparseDiskgroupEnabled":{"type":"boolean","description":"If true, the sparse disk group is configured for the Cloud VM Cluster. If \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e, the sparse disk group is not created. Changing this forces a new Cloud VM Cluster to be created.\n"},"sshPublicKeys":{"type":"array","items":{"type":"string"},"description":"The public key portion of one or more key pairs used for SSH access to the Cloud VM Cluster. Changing this forces a new Cloud VM Cluster to be created.\n"},"subnetId":{"type":"string","description":"The ID of the subnet associated with the Cloud VM Cluster. Changing this forces a new Cloud VM Cluster to be created.\n"},"systemVersion":{"type":"string","description":"Operating system version of the Exadata image. System version must be \u003c= Db server major version (the first two parts of the DB server version eg 23.1.X.X.XXXX). Accepted Values for Grid Infrastructure (GI) version 19.0.0.0 are 22.1.30.0.0.241204, 22.1.32.0.0.250205, 22.1.31.0.0.250110, 23.1.20.0.0.241112, 23.1.21.0.0.241204, 23.1.22.0.0.250119, 23.1.23.0.0.250207. For Grid Infrastructure (GI) version 23.0.0.0 allowed system versions are 23.1.19.0.0.241015, 23.1.20.0.0.241112, 23.1.22.0.0.250119, 23.1.21.0.0.241204, 23.1.23.0.0.250207. Changing this forces a new resource to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Cloud VM Cluster.\n"},"timeZone":{"type":"string","description":"The time zone of the Cloud VM Cluster. For details, see [Exadata Infrastructure Time Zones](https://docs.cloud.oracle.com/iaas/Content/Database/References/timezones.htm). Changing this forces a new Cloud VM Cluster to be created.\n"},"virtualNetworkId":{"type":"string","description":"The ID of the Virtual Network associated with the Cloud VM Cluster. Changing this forces a new Cloud VM Cluster to be created.\n"},"zoneId":{"type":"string","description":"The OCID of the OCI Private DNS Zone to be associated with the Cloud VM Cluster. This is required for specifying your own private domain name. Changing this forces a new Cloud VM Cluster to be created.\n"}},"required":["cloudExadataInfrastructureId","clusterName","cpuCoreCount","dataCollectionOptions","dataStoragePercentage","dataStorageSizeInTbs","dbNodeStorageSizeInGbs","dbServers","displayName","domain","giVersion","hostname","hostnameActual","licenseModel","localBackupEnabled","location","memorySizeInGbs","name","ocid","resourceGroupName","sparseDiskgroupEnabled","sshPublicKeys","subnetId","systemVersion","timeZone","virtualNetworkId","zoneId"],"inputProperties":{"backupSubnetCidr":{"type":"string","description":"The backup subnet CIDR of the Virtual Network associated with the Cloud VM Cluster. Changing this forces a new Cloud VM Cluster to be created.\n","willReplaceOnChanges":true},"cloudExadataInfrastructureId":{"type":"string","description":"The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the Cloud Exadata infrastructure. Changing this forces a new Cloud VM Cluster to be created.\n","willReplaceOnChanges":true},"clusterName":{"type":"string","description":"The cluster name for Cloud VM Cluster. Changing this forces a new Cloud VM Cluster to be created.\n","willReplaceOnChanges":true},"cpuCoreCount":{"type":"integer","description":"The number of CPU cores enabled on the Cloud VM Cluster. Changing this forces a new Cloud VM Cluster to be created.\n","willReplaceOnChanges":true},"dataCollectionOptions":{"$ref":"#/types/azure:oracle/CloudVmClusterDataCollectionOptions:CloudVmClusterDataCollectionOptions","description":"A \u003cspan pulumi-lang-nodejs=\"`dataCollectionOptions`\" pulumi-lang-dotnet=\"`DataCollectionOptions`\" pulumi-lang-go=\"`dataCollectionOptions`\" pulumi-lang-python=\"`data_collection_options`\" pulumi-lang-yaml=\"`dataCollectionOptions`\" pulumi-lang-java=\"`dataCollectionOptions`\"\u003e`data_collection_options`\u003c/span\u003e block as defined below. Changing this forces a new Cloud VM Cluster to be created.\n","willReplaceOnChanges":true},"dataStoragePercentage":{"type":"integer","description":"The percentage assigned to DATA storage (user data and database files). Changing this forces a new Cloud VM Cluster to be created. The remaining percentage is assigned to RECO storage (database redo logs, archive logs, and recovery manager backups). Accepted values are \u003cspan pulumi-lang-nodejs=\"`35`\" pulumi-lang-dotnet=\"`35`\" pulumi-lang-go=\"`35`\" pulumi-lang-python=\"`35`\" pulumi-lang-yaml=\"`35`\" pulumi-lang-java=\"`35`\"\u003e`35`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`40`\" pulumi-lang-dotnet=\"`40`\" pulumi-lang-go=\"`40`\" pulumi-lang-python=\"`40`\" pulumi-lang-yaml=\"`40`\" pulumi-lang-java=\"`40`\"\u003e`40`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`60`\" pulumi-lang-dotnet=\"`60`\" pulumi-lang-go=\"`60`\" pulumi-lang-python=\"`60`\" pulumi-lang-yaml=\"`60`\" pulumi-lang-java=\"`60`\"\u003e`60`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`80`\" pulumi-lang-dotnet=\"`80`\" pulumi-lang-go=\"`80`\" pulumi-lang-python=\"`80`\" pulumi-lang-yaml=\"`80`\" pulumi-lang-java=\"`80`\"\u003e`80`\u003c/span\u003e.\n","willReplaceOnChanges":true},"dataStorageSizeInTbs":{"type":"number","description":"The data disk group size to be allocated in TBs. Changing this forces a new Cloud VM Cluster to be created.\n","willReplaceOnChanges":true},"dbNodeStorageSizeInGbs":{"type":"integer","description":"The local node storage to be allocated in GBs. Changing this forces a new Cloud VM Cluster to be created.\n","willReplaceOnChanges":true},"dbServers":{"type":"array","items":{"type":"string"},"description":"The list of DB servers. Changing this forces a new Cloud VM Cluster to be created.\n","willReplaceOnChanges":true},"displayName":{"type":"string","description":"The user-friendly name for the Cloud VM Cluster. Changing this forces a new Cloud VM Cluster to be created. The name does not need to be unique.\n","willReplaceOnChanges":true},"domain":{"type":"string","description":"The name of the OCI Private DNS Zone to be associated with the Cloud VM Cluster. This is required for specifying your own private domain name. Changing this forces a new Cloud VM Cluster to be created.\n","willReplaceOnChanges":true},"fileSystemConfigurations":{"type":"array","items":{"$ref":"#/types/azure:oracle/CloudVmClusterFileSystemConfiguration:CloudVmClusterFileSystemConfiguration"},"description":"A \u003cspan pulumi-lang-nodejs=\"`fileSystemConfiguration`\" pulumi-lang-dotnet=\"`FileSystemConfiguration`\" pulumi-lang-go=\"`fileSystemConfiguration`\" pulumi-lang-python=\"`file_system_configuration`\" pulumi-lang-yaml=\"`fileSystemConfiguration`\" pulumi-lang-java=\"`fileSystemConfiguration`\"\u003e`file_system_configuration`\u003c/span\u003e block as defined below.\n"},"giVersion":{"type":"string","description":"A valid Oracle Grid Infrastructure (GI) software version. Changing this forces a new Cloud VM Cluster to be created.\n","willReplaceOnChanges":true},"hostname":{"type":"string","description":"The hostname for the Cloud VM Cluster without suffix. Changing this forces a new Cloud VM Cluster to be created.\n","willReplaceOnChanges":true},"licenseModel":{"type":"string","description":"The Oracle license model that applies to the Cloud VM Cluster, either `BringYourOwnLicense` or `LicenseIncluded`. Changing this forces a new Cloud VM Cluster to be created.\n","willReplaceOnChanges":true},"localBackupEnabled":{"type":"boolean","description":"If true, database backup on local Exadata storage is configured for the Cloud VM Cluster. If \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e, database backup on local Exadata storage is not available in the Cloud VM Cluster. Changing this forces a new Cloud VM Cluster to be created.\n","willReplaceOnChanges":true},"location":{"type":"string","description":"The Azure Region where the Cloud VM Cluster should exist. Changing this forces a new Cloud VM Cluster to be created.\n","willReplaceOnChanges":true},"memorySizeInGbs":{"type":"integer","description":"The memory to be allocated in GBs. Changing this forces a new Cloud VM Cluster to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Cloud VM Cluster. Changing this forces a new Cloud VM Cluster to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Cloud VM Cluster should exist. Changing this forces a new Cloud VM Cluster to be created.\n","willReplaceOnChanges":true},"scanListenerPortTcp":{"type":"integer","description":"The TCP Single Client Access Name (SCAN) port. The default port to 1521. Changing this forces a new Cloud VM Cluster to be created.\n","willReplaceOnChanges":true},"scanListenerPortTcpSsl":{"type":"integer","description":"The TCPS Single Client Access Name (SCAN) port. The default port to 2484. Changing this forces a new Cloud VM Cluster to be created.\n","willReplaceOnChanges":true},"sparseDiskgroupEnabled":{"type":"boolean","description":"If true, the sparse disk group is configured for the Cloud VM Cluster. If \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e, the sparse disk group is not created. Changing this forces a new Cloud VM Cluster to be created.\n","willReplaceOnChanges":true},"sshPublicKeys":{"type":"array","items":{"type":"string"},"description":"The public key portion of one or more key pairs used for SSH access to the Cloud VM Cluster. Changing this forces a new Cloud VM Cluster to be created.\n","willReplaceOnChanges":true},"subnetId":{"type":"string","description":"The ID of the subnet associated with the Cloud VM Cluster. Changing this forces a new Cloud VM Cluster to be created.\n","willReplaceOnChanges":true},"systemVersion":{"type":"string","description":"Operating system version of the Exadata image. System version must be \u003c= Db server major version (the first two parts of the DB server version eg 23.1.X.X.XXXX). Accepted Values for Grid Infrastructure (GI) version 19.0.0.0 are 22.1.30.0.0.241204, 22.1.32.0.0.250205, 22.1.31.0.0.250110, 23.1.20.0.0.241112, 23.1.21.0.0.241204, 23.1.22.0.0.250119, 23.1.23.0.0.250207. For Grid Infrastructure (GI) version 23.0.0.0 allowed system versions are 23.1.19.0.0.241015, 23.1.20.0.0.241112, 23.1.22.0.0.250119, 23.1.21.0.0.241204, 23.1.23.0.0.250207. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Cloud VM Cluster.\n"},"timeZone":{"type":"string","description":"The time zone of the Cloud VM Cluster. For details, see [Exadata Infrastructure Time Zones](https://docs.cloud.oracle.com/iaas/Content/Database/References/timezones.htm). Changing this forces a new Cloud VM Cluster to be created.\n","willReplaceOnChanges":true},"virtualNetworkId":{"type":"string","description":"The ID of the Virtual Network associated with the Cloud VM Cluster. Changing this forces a new Cloud VM Cluster to be created.\n","willReplaceOnChanges":true},"zoneId":{"type":"string","description":"The OCID of the OCI Private DNS Zone to be associated with the Cloud VM Cluster. This is required for specifying your own private domain name. Changing this forces a new Cloud VM Cluster to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["cloudExadataInfrastructureId","cpuCoreCount","dbServers","displayName","giVersion","hostname","licenseModel","resourceGroupName","sshPublicKeys","subnetId","virtualNetworkId"],"stateInputs":{"description":"Input properties used for looking up and filtering CloudVmCluster resources.\n","properties":{"backupSubnetCidr":{"type":"string","description":"The backup subnet CIDR of the Virtual Network associated with the Cloud VM Cluster. Changing this forces a new Cloud VM Cluster to be created.\n","willReplaceOnChanges":true},"cloudExadataInfrastructureId":{"type":"string","description":"The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the Cloud Exadata infrastructure. Changing this forces a new Cloud VM Cluster to be created.\n","willReplaceOnChanges":true},"clusterName":{"type":"string","description":"The cluster name for Cloud VM Cluster. Changing this forces a new Cloud VM Cluster to be created.\n","willReplaceOnChanges":true},"cpuCoreCount":{"type":"integer","description":"The number of CPU cores enabled on the Cloud VM Cluster. Changing this forces a new Cloud VM Cluster to be created.\n","willReplaceOnChanges":true},"dataCollectionOptions":{"$ref":"#/types/azure:oracle/CloudVmClusterDataCollectionOptions:CloudVmClusterDataCollectionOptions","description":"A \u003cspan pulumi-lang-nodejs=\"`dataCollectionOptions`\" pulumi-lang-dotnet=\"`DataCollectionOptions`\" pulumi-lang-go=\"`dataCollectionOptions`\" pulumi-lang-python=\"`data_collection_options`\" pulumi-lang-yaml=\"`dataCollectionOptions`\" pulumi-lang-java=\"`dataCollectionOptions`\"\u003e`data_collection_options`\u003c/span\u003e block as defined below. Changing this forces a new Cloud VM Cluster to be created.\n","willReplaceOnChanges":true},"dataStoragePercentage":{"type":"integer","description":"The percentage assigned to DATA storage (user data and database files). Changing this forces a new Cloud VM Cluster to be created. The remaining percentage is assigned to RECO storage (database redo logs, archive logs, and recovery manager backups). Accepted values are \u003cspan pulumi-lang-nodejs=\"`35`\" pulumi-lang-dotnet=\"`35`\" pulumi-lang-go=\"`35`\" pulumi-lang-python=\"`35`\" pulumi-lang-yaml=\"`35`\" pulumi-lang-java=\"`35`\"\u003e`35`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`40`\" pulumi-lang-dotnet=\"`40`\" pulumi-lang-go=\"`40`\" pulumi-lang-python=\"`40`\" pulumi-lang-yaml=\"`40`\" pulumi-lang-java=\"`40`\"\u003e`40`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`60`\" pulumi-lang-dotnet=\"`60`\" pulumi-lang-go=\"`60`\" pulumi-lang-python=\"`60`\" pulumi-lang-yaml=\"`60`\" pulumi-lang-java=\"`60`\"\u003e`60`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`80`\" pulumi-lang-dotnet=\"`80`\" pulumi-lang-go=\"`80`\" pulumi-lang-python=\"`80`\" pulumi-lang-yaml=\"`80`\" pulumi-lang-java=\"`80`\"\u003e`80`\u003c/span\u003e.\n","willReplaceOnChanges":true},"dataStorageSizeInTbs":{"type":"number","description":"The data disk group size to be allocated in TBs. Changing this forces a new Cloud VM Cluster to be created.\n","willReplaceOnChanges":true},"dbNodeStorageSizeInGbs":{"type":"integer","description":"The local node storage to be allocated in GBs. Changing this forces a new Cloud VM Cluster to be created.\n","willReplaceOnChanges":true},"dbServers":{"type":"array","items":{"type":"string"},"description":"The list of DB servers. Changing this forces a new Cloud VM Cluster to be created.\n","willReplaceOnChanges":true},"displayName":{"type":"string","description":"The user-friendly name for the Cloud VM Cluster. Changing this forces a new Cloud VM Cluster to be created. The name does not need to be unique.\n","willReplaceOnChanges":true},"domain":{"type":"string","description":"The name of the OCI Private DNS Zone to be associated with the Cloud VM Cluster. This is required for specifying your own private domain name. Changing this forces a new Cloud VM Cluster to be created.\n","willReplaceOnChanges":true},"fileSystemConfigurations":{"type":"array","items":{"$ref":"#/types/azure:oracle/CloudVmClusterFileSystemConfiguration:CloudVmClusterFileSystemConfiguration"},"description":"A \u003cspan pulumi-lang-nodejs=\"`fileSystemConfiguration`\" pulumi-lang-dotnet=\"`FileSystemConfiguration`\" pulumi-lang-go=\"`fileSystemConfiguration`\" pulumi-lang-python=\"`file_system_configuration`\" pulumi-lang-yaml=\"`fileSystemConfiguration`\" pulumi-lang-java=\"`fileSystemConfiguration`\"\u003e`file_system_configuration`\u003c/span\u003e block as defined below.\n"},"giVersion":{"type":"string","description":"A valid Oracle Grid Infrastructure (GI) software version. Changing this forces a new Cloud VM Cluster to be created.\n","willReplaceOnChanges":true},"hostname":{"type":"string","description":"The hostname for the Cloud VM Cluster without suffix. Changing this forces a new Cloud VM Cluster to be created.\n","willReplaceOnChanges":true},"hostnameActual":{"type":"string","description":"The hostname for the Cloud VM Cluster with suffix.\n"},"licenseModel":{"type":"string","description":"The Oracle license model that applies to the Cloud VM Cluster, either `BringYourOwnLicense` or `LicenseIncluded`. Changing this forces a new Cloud VM Cluster to be created.\n","willReplaceOnChanges":true},"localBackupEnabled":{"type":"boolean","description":"If true, database backup on local Exadata storage is configured for the Cloud VM Cluster. If \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e, database backup on local Exadata storage is not available in the Cloud VM Cluster. Changing this forces a new Cloud VM Cluster to be created.\n","willReplaceOnChanges":true},"location":{"type":"string","description":"The Azure Region where the Cloud VM Cluster should exist. Changing this forces a new Cloud VM Cluster to be created.\n","willReplaceOnChanges":true},"memorySizeInGbs":{"type":"integer","description":"The memory to be allocated in GBs. Changing this forces a new Cloud VM Cluster to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Cloud VM Cluster. Changing this forces a new Cloud VM Cluster to be created.\n","willReplaceOnChanges":true},"ocid":{"type":"string","description":"The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the Cloud VM Cluster.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Cloud VM Cluster should exist. Changing this forces a new Cloud VM Cluster to be created.\n","willReplaceOnChanges":true},"scanListenerPortTcp":{"type":"integer","description":"The TCP Single Client Access Name (SCAN) port. The default port to 1521. Changing this forces a new Cloud VM Cluster to be created.\n","willReplaceOnChanges":true},"scanListenerPortTcpSsl":{"type":"integer","description":"The TCPS Single Client Access Name (SCAN) port. The default port to 2484. Changing this forces a new Cloud VM Cluster to be created.\n","willReplaceOnChanges":true},"sparseDiskgroupEnabled":{"type":"boolean","description":"If true, the sparse disk group is configured for the Cloud VM Cluster. If \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e, the sparse disk group is not created. Changing this forces a new Cloud VM Cluster to be created.\n","willReplaceOnChanges":true},"sshPublicKeys":{"type":"array","items":{"type":"string"},"description":"The public key portion of one or more key pairs used for SSH access to the Cloud VM Cluster. Changing this forces a new Cloud VM Cluster to be created.\n","willReplaceOnChanges":true},"subnetId":{"type":"string","description":"The ID of the subnet associated with the Cloud VM Cluster. Changing this forces a new Cloud VM Cluster to be created.\n","willReplaceOnChanges":true},"systemVersion":{"type":"string","description":"Operating system version of the Exadata image. System version must be \u003c= Db server major version (the first two parts of the DB server version eg 23.1.X.X.XXXX). Accepted Values for Grid Infrastructure (GI) version 19.0.0.0 are 22.1.30.0.0.241204, 22.1.32.0.0.250205, 22.1.31.0.0.250110, 23.1.20.0.0.241112, 23.1.21.0.0.241204, 23.1.22.0.0.250119, 23.1.23.0.0.250207. For Grid Infrastructure (GI) version 23.0.0.0 allowed system versions are 23.1.19.0.0.241015, 23.1.20.0.0.241112, 23.1.22.0.0.250119, 23.1.21.0.0.241204, 23.1.23.0.0.250207. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Cloud VM Cluster.\n"},"timeZone":{"type":"string","description":"The time zone of the Cloud VM Cluster. For details, see [Exadata Infrastructure Time Zones](https://docs.cloud.oracle.com/iaas/Content/Database/References/timezones.htm). Changing this forces a new Cloud VM Cluster to be created.\n","willReplaceOnChanges":true},"virtualNetworkId":{"type":"string","description":"The ID of the Virtual Network associated with the Cloud VM Cluster. Changing this forces a new Cloud VM Cluster to be created.\n","willReplaceOnChanges":true},"zoneId":{"type":"string","description":"The OCID of the OCI Private DNS Zone to be associated with the Cloud VM Cluster. This is required for specifying your own private domain name. Changing this forces a new Cloud VM Cluster to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:oracle/exadataInfrastructure:ExadataInfrastructure":{"description":"Manages a Cloud Exadata Infrastructure.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleExadataInfrastructure = new azure.oracle.ExadataInfrastructure(\"example\", {\n    name: \"example-exadata-infra\",\n    resourceGroupName: example.name,\n    location: example.location,\n    zones: [\"1\"],\n    displayName: \"example-exadata-infra\",\n    storageCount: 3,\n    computeCount: 2,\n    shape: \"Exadata.X11M\",\n    databaseServerType: \"X11M\",\n    storageServerType: \"X11M-HC\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_exadata_infrastructure = azure.oracle.ExadataInfrastructure(\"example\",\n    name=\"example-exadata-infra\",\n    resource_group_name=example.name,\n    location=example.location,\n    zones=[\"1\"],\n    display_name=\"example-exadata-infra\",\n    storage_count=3,\n    compute_count=2,\n    shape=\"Exadata.X11M\",\n    database_server_type=\"X11M\",\n    storage_server_type=\"X11M-HC\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleExadataInfrastructure = new Azure.Oracle.ExadataInfrastructure(\"example\", new()\n    {\n        Name = \"example-exadata-infra\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        Zones = new[]\n        {\n            \"1\",\n        },\n        DisplayName = \"example-exadata-infra\",\n        StorageCount = 3,\n        ComputeCount = 2,\n        Shape = \"Exadata.X11M\",\n        DatabaseServerType = \"X11M\",\n        StorageServerType = \"X11M-HC\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/oracle\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = oracle.NewExadataInfrastructure(ctx, \"example\", \u0026oracle.ExadataInfrastructureArgs{\n\t\t\tName:              pulumi.String(\"example-exadata-infra\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tZones: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"1\"),\n\t\t\t},\n\t\t\tDisplayName:        pulumi.String(\"example-exadata-infra\"),\n\t\t\tStorageCount:       pulumi.Int(3),\n\t\t\tComputeCount:       pulumi.Int(2),\n\t\t\tShape:              pulumi.String(\"Exadata.X11M\"),\n\t\t\tDatabaseServerType: pulumi.String(\"X11M\"),\n\t\t\tStorageServerType:  pulumi.String(\"X11M-HC\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.oracle.ExadataInfrastructure;\nimport com.pulumi.azure.oracle.ExadataInfrastructureArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleExadataInfrastructure = new ExadataInfrastructure(\"exampleExadataInfrastructure\", ExadataInfrastructureArgs.builder()\n            .name(\"example-exadata-infra\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .zones(\"1\")\n            .displayName(\"example-exadata-infra\")\n            .storageCount(3)\n            .computeCount(2)\n            .shape(\"Exadata.X11M\")\n            .databaseServerType(\"X11M\")\n            .storageServerType(\"X11M-HC\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleExadataInfrastructure:\n    type: azure:oracle:ExadataInfrastructure\n    name: example\n    properties:\n      name: example-exadata-infra\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      zones:\n        - '1'\n      displayName: example-exadata-infra\n      storageCount: 3\n      computeCount: 2\n      shape: Exadata.X11M\n      databaseServerType: X11M\n      storageServerType: X11M-HC\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Oracle.Database` - 2025-09-01\n\n## Import\n\nCloud Exadata Infrastructures can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:oracle/exadataInfrastructure:ExadataInfrastructure example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup/providers/Oracle.Database/cloudExadataInfrastructures/cloudExadataInfrastructures1\n```\n\n","properties":{"computeCount":{"type":"integer","description":"The number of compute servers for the Cloud Exadata Infrastructure. Changing this forces a new Cloud Exadata Infrastructure to be created.\n"},"customerContacts":{"type":"array","items":{"type":"string"},"description":"The email address used by Oracle to send notifications regarding databases and infrastructure. Changing this forces a new Cloud Exadata Infrastructure to be created.\n"},"databaseServerType":{"type":"string","description":"The database server model type of the cloud Exadata infrastructure resource. Changing this forces a new Cloud Exadata Infrastructure to be created.\n"},"displayName":{"type":"string","description":"The user-friendly name for the Cloud Exadata Infrastructure resource. The name does not need to be unique. Changing this forces a new Cloud Exadata Infrastructure to be created.\n"},"location":{"type":"string","description":"The Azure Region where the Cloud Exadata Infrastructure should exist. Changing this forces a new Cloud Exadata Infrastructure to be created.\n"},"maintenanceWindows":{"type":"array","items":{"$ref":"#/types/azure:oracle/ExadataInfrastructureMaintenanceWindow:ExadataInfrastructureMaintenanceWindow"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`maintenanceWindow`\" pulumi-lang-dotnet=\"`MaintenanceWindow`\" pulumi-lang-go=\"`maintenanceWindow`\" pulumi-lang-python=\"`maintenance_window`\" pulumi-lang-yaml=\"`maintenanceWindow`\" pulumi-lang-java=\"`maintenanceWindow`\"\u003e`maintenance_window`\u003c/span\u003e blocks as defined below. Changing this forces a new Cloud Exadata Infrastructure to be created.\n"},"name":{"type":"string","description":"The name which should be used for this Cloud Exadata Infrastructure. Changing this forces a new Cloud Exadata Infrastructure to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the ODB@A Infrastructure should exist. Changing this forces a new Cloud Exadata Infrastructure to be created.\n"},"shape":{"type":"string","description":"The shape of the ODB@A infrastructure resource. Changing this forces a new Cloud Exadata Infrastructure to be created.\n"},"storageCount":{"type":"integer","description":"The number of storage servers for the Cloud Exadata Infrastructure. Changing this forces a new Cloud Exadata Infrastructure to be created.\n"},"storageServerType":{"type":"string","description":"The storage server model type of the cloud Exadata infrastructure resource. Changing this forces a new Cloud Exadata Infrastructure to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Cloud Exadata Infrastructure.\n"},"zones":{"type":"array","items":{"type":"string"},"description":"Cloud Exadata Infrastructure zones. Changing this forces a new Cloud Exadata Infrastructure to be created.\n"}},"required":["computeCount","customerContacts","databaseServerType","displayName","location","maintenanceWindows","name","resourceGroupName","shape","storageCount","storageServerType","zones"],"inputProperties":{"computeCount":{"type":"integer","description":"The number of compute servers for the Cloud Exadata Infrastructure. Changing this forces a new Cloud Exadata Infrastructure to be created.\n","willReplaceOnChanges":true},"customerContacts":{"type":"array","items":{"type":"string"},"description":"The email address used by Oracle to send notifications regarding databases and infrastructure. Changing this forces a new Cloud Exadata Infrastructure to be created.\n","willReplaceOnChanges":true},"databaseServerType":{"type":"string","description":"The database server model type of the cloud Exadata infrastructure resource. Changing this forces a new Cloud Exadata Infrastructure to be created.\n","willReplaceOnChanges":true},"displayName":{"type":"string","description":"The user-friendly name for the Cloud Exadata Infrastructure resource. The name does not need to be unique. Changing this forces a new Cloud Exadata Infrastructure to be created.\n","willReplaceOnChanges":true},"location":{"type":"string","description":"The Azure Region where the Cloud Exadata Infrastructure should exist. Changing this forces a new Cloud Exadata Infrastructure to be created.\n","willReplaceOnChanges":true},"maintenanceWindows":{"type":"array","items":{"$ref":"#/types/azure:oracle/ExadataInfrastructureMaintenanceWindow:ExadataInfrastructureMaintenanceWindow"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`maintenanceWindow`\" pulumi-lang-dotnet=\"`MaintenanceWindow`\" pulumi-lang-go=\"`maintenanceWindow`\" pulumi-lang-python=\"`maintenance_window`\" pulumi-lang-yaml=\"`maintenanceWindow`\" pulumi-lang-java=\"`maintenanceWindow`\"\u003e`maintenance_window`\u003c/span\u003e blocks as defined below. Changing this forces a new Cloud Exadata Infrastructure to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Cloud Exadata Infrastructure. Changing this forces a new Cloud Exadata Infrastructure to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the ODB@A Infrastructure should exist. Changing this forces a new Cloud Exadata Infrastructure to be created.\n","willReplaceOnChanges":true},"shape":{"type":"string","description":"The shape of the ODB@A infrastructure resource. Changing this forces a new Cloud Exadata Infrastructure to be created.\n","willReplaceOnChanges":true},"storageCount":{"type":"integer","description":"The number of storage servers for the Cloud Exadata Infrastructure. Changing this forces a new Cloud Exadata Infrastructure to be created.\n","willReplaceOnChanges":true},"storageServerType":{"type":"string","description":"The storage server model type of the cloud Exadata infrastructure resource. Changing this forces a new Cloud Exadata Infrastructure to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Cloud Exadata Infrastructure.\n"},"zones":{"type":"array","items":{"type":"string"},"description":"Cloud Exadata Infrastructure zones. Changing this forces a new Cloud Exadata Infrastructure to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["computeCount","displayName","resourceGroupName","shape","storageCount","zones"],"stateInputs":{"description":"Input properties used for looking up and filtering ExadataInfrastructure resources.\n","properties":{"computeCount":{"type":"integer","description":"The number of compute servers for the Cloud Exadata Infrastructure. Changing this forces a new Cloud Exadata Infrastructure to be created.\n","willReplaceOnChanges":true},"customerContacts":{"type":"array","items":{"type":"string"},"description":"The email address used by Oracle to send notifications regarding databases and infrastructure. Changing this forces a new Cloud Exadata Infrastructure to be created.\n","willReplaceOnChanges":true},"databaseServerType":{"type":"string","description":"The database server model type of the cloud Exadata infrastructure resource. Changing this forces a new Cloud Exadata Infrastructure to be created.\n","willReplaceOnChanges":true},"displayName":{"type":"string","description":"The user-friendly name for the Cloud Exadata Infrastructure resource. The name does not need to be unique. Changing this forces a new Cloud Exadata Infrastructure to be created.\n","willReplaceOnChanges":true},"location":{"type":"string","description":"The Azure Region where the Cloud Exadata Infrastructure should exist. Changing this forces a new Cloud Exadata Infrastructure to be created.\n","willReplaceOnChanges":true},"maintenanceWindows":{"type":"array","items":{"$ref":"#/types/azure:oracle/ExadataInfrastructureMaintenanceWindow:ExadataInfrastructureMaintenanceWindow"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`maintenanceWindow`\" pulumi-lang-dotnet=\"`MaintenanceWindow`\" pulumi-lang-go=\"`maintenanceWindow`\" pulumi-lang-python=\"`maintenance_window`\" pulumi-lang-yaml=\"`maintenanceWindow`\" pulumi-lang-java=\"`maintenanceWindow`\"\u003e`maintenance_window`\u003c/span\u003e blocks as defined below. Changing this forces a new Cloud Exadata Infrastructure to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Cloud Exadata Infrastructure. Changing this forces a new Cloud Exadata Infrastructure to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the ODB@A Infrastructure should exist. Changing this forces a new Cloud Exadata Infrastructure to be created.\n","willReplaceOnChanges":true},"shape":{"type":"string","description":"The shape of the ODB@A infrastructure resource. Changing this forces a new Cloud Exadata Infrastructure to be created.\n","willReplaceOnChanges":true},"storageCount":{"type":"integer","description":"The number of storage servers for the Cloud Exadata Infrastructure. Changing this forces a new Cloud Exadata Infrastructure to be created.\n","willReplaceOnChanges":true},"storageServerType":{"type":"string","description":"The storage server model type of the cloud Exadata infrastructure resource. Changing this forces a new Cloud Exadata Infrastructure to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Cloud Exadata Infrastructure.\n"},"zones":{"type":"array","items":{"type":"string"},"description":"Cloud Exadata Infrastructure zones. Changing this forces a new Cloud Exadata Infrastructure to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:oracle/exascaleDatabaseStorageVault:ExascaleDatabaseStorageVault":{"description":"Manages an Exadata Database Storage Vault.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleExascaleDatabaseStorageVault = new azure.oracle.ExascaleDatabaseStorageVault(\"example\", {\n    name: \"example-exascale-db-storage-vault\",\n    resourceGroupName: example.name,\n    location: example.location,\n    zones: [\"1\"],\n    displayName: \"example-exascale-db-storage-vault\",\n    description: \"description\",\n    additionalFlashCachePercentage: 100,\n    highCapacityDatabaseStorage: {\n        totalSizeInGb: 300,\n    },\n    timeZone: \"UTC\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_exascale_database_storage_vault = azure.oracle.ExascaleDatabaseStorageVault(\"example\",\n    name=\"example-exascale-db-storage-vault\",\n    resource_group_name=example.name,\n    location=example.location,\n    zones=[\"1\"],\n    display_name=\"example-exascale-db-storage-vault\",\n    description=\"description\",\n    additional_flash_cache_percentage=100,\n    high_capacity_database_storage={\n        \"total_size_in_gb\": 300,\n    },\n    time_zone=\"UTC\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleExascaleDatabaseStorageVault = new Azure.Oracle.ExascaleDatabaseStorageVault(\"example\", new()\n    {\n        Name = \"example-exascale-db-storage-vault\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        Zones = new[]\n        {\n            \"1\",\n        },\n        DisplayName = \"example-exascale-db-storage-vault\",\n        Description = \"description\",\n        AdditionalFlashCachePercentage = 100,\n        HighCapacityDatabaseStorage = new Azure.Oracle.Inputs.ExascaleDatabaseStorageVaultHighCapacityDatabaseStorageArgs\n        {\n            TotalSizeInGb = 300,\n        },\n        TimeZone = \"UTC\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/oracle\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = oracle.NewExascaleDatabaseStorageVault(ctx, \"example\", \u0026oracle.ExascaleDatabaseStorageVaultArgs{\n\t\t\tName:              pulumi.String(\"example-exascale-db-storage-vault\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tZones: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"1\"),\n\t\t\t},\n\t\t\tDisplayName:                    pulumi.String(\"example-exascale-db-storage-vault\"),\n\t\t\tDescription:                    pulumi.String(\"description\"),\n\t\t\tAdditionalFlashCachePercentage: pulumi.Int(100),\n\t\t\tHighCapacityDatabaseStorage: \u0026oracle.ExascaleDatabaseStorageVaultHighCapacityDatabaseStorageArgs{\n\t\t\t\tTotalSizeInGb: pulumi.Int(300),\n\t\t\t},\n\t\t\tTimeZone: pulumi.String(\"UTC\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.oracle.ExascaleDatabaseStorageVault;\nimport com.pulumi.azure.oracle.ExascaleDatabaseStorageVaultArgs;\nimport com.pulumi.azure.oracle.inputs.ExascaleDatabaseStorageVaultHighCapacityDatabaseStorageArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleExascaleDatabaseStorageVault = new ExascaleDatabaseStorageVault(\"exampleExascaleDatabaseStorageVault\", ExascaleDatabaseStorageVaultArgs.builder()\n            .name(\"example-exascale-db-storage-vault\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .zones(\"1\")\n            .displayName(\"example-exascale-db-storage-vault\")\n            .description(\"description\")\n            .additionalFlashCachePercentage(100)\n            .highCapacityDatabaseStorage(ExascaleDatabaseStorageVaultHighCapacityDatabaseStorageArgs.builder()\n                .totalSizeInGb(300)\n                .build())\n            .timeZone(\"UTC\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleExascaleDatabaseStorageVault:\n    type: azure:oracle:ExascaleDatabaseStorageVault\n    name: example\n    properties:\n      name: example-exascale-db-storage-vault\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      zones:\n        - '1'\n      displayName: example-exascale-db-storage-vault\n      description: description\n      additionalFlashCachePercentage: 100\n      highCapacityDatabaseStorage:\n        totalSizeInGb: 300\n      timeZone: UTC\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Oracle.Database` - 2025-09-01\n\n## Import\n\nExadata Database Storage Vaults can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:oracle/exascaleDatabaseStorageVault:ExascaleDatabaseStorageVault example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup/providers/Oracle.Database/exascaleDbStorageVaults/exascaleDbStorageVaults1\n```\n\n","properties":{"additionalFlashCachePercentage":{"type":"integer","description":"The size of additional Flash Cache in percentage of High Capacity database storage. Changing this forces a new Exadata Database Storage Vault to be created.\n"},"description":{"type":"string","description":"Exadata Database Storage Vault description. Changing this forces a new Exadata Database Storage Vault to be created.\n"},"displayName":{"type":"string","description":"The user-friendly name for the Exadata Database Storage Vault resource. The name does not need to be unique. Changing this forces a new Exadata Database Storage Vault to be created.\n"},"highCapacityDatabaseStorage":{"$ref":"#/types/azure:oracle/ExascaleDatabaseStorageVaultHighCapacityDatabaseStorage:ExascaleDatabaseStorageVaultHighCapacityDatabaseStorage","description":"A \u003cspan pulumi-lang-nodejs=\"`highCapacityDatabaseStorage`\" pulumi-lang-dotnet=\"`HighCapacityDatabaseStorage`\" pulumi-lang-go=\"`highCapacityDatabaseStorage`\" pulumi-lang-python=\"`high_capacity_database_storage`\" pulumi-lang-yaml=\"`highCapacityDatabaseStorage`\" pulumi-lang-java=\"`highCapacityDatabaseStorage`\"\u003e`high_capacity_database_storage`\u003c/span\u003e block as defined below. Changing this forces a new Exadata Database Storage Vault to be created.\n"},"location":{"type":"string","description":"The Azure Region where the Exadata Database Storage Vault should exist. Changing this forces a new Exadata Database Storage Vault to be created.\n"},"name":{"type":"string","description":"The name which should be used for this Exadata Database Storage Vault. Changing this forces a new Exadata Database Storage Vault to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Exadata Database Storage Vault should exist. Changing this forces a new Exadata Database Storage Vault to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Exadata Database Storage Vault.\n"},"timeZone":{"type":"string","description":"The time zone that you want to use for the Exadata Database Storage Vault. Changing this forces a new Exadata Database Storage Vault to be created. For details, see [Time Zones](https://docs.oracle.com/en/cloud/paas/base-database/time-zone/).\n"},"zones":{"type":"array","items":{"type":"string"},"description":"Exadata Database Storage Vault zones. Changing this forces a new Exadata Database Storage Vault to be created.\n"}},"required":["additionalFlashCachePercentage","description","displayName","highCapacityDatabaseStorage","location","name","resourceGroupName","zones"],"inputProperties":{"additionalFlashCachePercentage":{"type":"integer","description":"The size of additional Flash Cache in percentage of High Capacity database storage. Changing this forces a new Exadata Database Storage Vault to be created.\n","willReplaceOnChanges":true},"description":{"type":"string","description":"Exadata Database Storage Vault description. Changing this forces a new Exadata Database Storage Vault to be created.\n","willReplaceOnChanges":true},"displayName":{"type":"string","description":"The user-friendly name for the Exadata Database Storage Vault resource. The name does not need to be unique. Changing this forces a new Exadata Database Storage Vault to be created.\n","willReplaceOnChanges":true},"highCapacityDatabaseStorage":{"$ref":"#/types/azure:oracle/ExascaleDatabaseStorageVaultHighCapacityDatabaseStorage:ExascaleDatabaseStorageVaultHighCapacityDatabaseStorage","description":"A \u003cspan pulumi-lang-nodejs=\"`highCapacityDatabaseStorage`\" pulumi-lang-dotnet=\"`HighCapacityDatabaseStorage`\" pulumi-lang-go=\"`highCapacityDatabaseStorage`\" pulumi-lang-python=\"`high_capacity_database_storage`\" pulumi-lang-yaml=\"`highCapacityDatabaseStorage`\" pulumi-lang-java=\"`highCapacityDatabaseStorage`\"\u003e`high_capacity_database_storage`\u003c/span\u003e block as defined below. Changing this forces a new Exadata Database Storage Vault to be created.\n","willReplaceOnChanges":true},"location":{"type":"string","description":"The Azure Region where the Exadata Database Storage Vault should exist. Changing this forces a new Exadata Database Storage Vault to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Exadata Database Storage Vault. Changing this forces a new Exadata Database Storage Vault to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Exadata Database Storage Vault should exist. Changing this forces a new Exadata Database Storage Vault to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Exadata Database Storage Vault.\n"},"timeZone":{"type":"string","description":"The time zone that you want to use for the Exadata Database Storage Vault. Changing this forces a new Exadata Database Storage Vault to be created. For details, see [Time Zones](https://docs.oracle.com/en/cloud/paas/base-database/time-zone/).\n","willReplaceOnChanges":true},"zones":{"type":"array","items":{"type":"string"},"description":"Exadata Database Storage Vault zones. Changing this forces a new Exadata Database Storage Vault to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["additionalFlashCachePercentage","displayName","highCapacityDatabaseStorage","resourceGroupName","zones"],"stateInputs":{"description":"Input properties used for looking up and filtering ExascaleDatabaseStorageVault resources.\n","properties":{"additionalFlashCachePercentage":{"type":"integer","description":"The size of additional Flash Cache in percentage of High Capacity database storage. Changing this forces a new Exadata Database Storage Vault to be created.\n","willReplaceOnChanges":true},"description":{"type":"string","description":"Exadata Database Storage Vault description. Changing this forces a new Exadata Database Storage Vault to be created.\n","willReplaceOnChanges":true},"displayName":{"type":"string","description":"The user-friendly name for the Exadata Database Storage Vault resource. The name does not need to be unique. Changing this forces a new Exadata Database Storage Vault to be created.\n","willReplaceOnChanges":true},"highCapacityDatabaseStorage":{"$ref":"#/types/azure:oracle/ExascaleDatabaseStorageVaultHighCapacityDatabaseStorage:ExascaleDatabaseStorageVaultHighCapacityDatabaseStorage","description":"A \u003cspan pulumi-lang-nodejs=\"`highCapacityDatabaseStorage`\" pulumi-lang-dotnet=\"`HighCapacityDatabaseStorage`\" pulumi-lang-go=\"`highCapacityDatabaseStorage`\" pulumi-lang-python=\"`high_capacity_database_storage`\" pulumi-lang-yaml=\"`highCapacityDatabaseStorage`\" pulumi-lang-java=\"`highCapacityDatabaseStorage`\"\u003e`high_capacity_database_storage`\u003c/span\u003e block as defined below. Changing this forces a new Exadata Database Storage Vault to be created.\n","willReplaceOnChanges":true},"location":{"type":"string","description":"The Azure Region where the Exadata Database Storage Vault should exist. Changing this forces a new Exadata Database Storage Vault to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Exadata Database Storage Vault. Changing this forces a new Exadata Database Storage Vault to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Exadata Database Storage Vault should exist. Changing this forces a new Exadata Database Storage Vault to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Exadata Database Storage Vault.\n"},"timeZone":{"type":"string","description":"The time zone that you want to use for the Exadata Database Storage Vault. Changing this forces a new Exadata Database Storage Vault to be created. For details, see [Time Zones](https://docs.oracle.com/en/cloud/paas/base-database/time-zone/).\n","willReplaceOnChanges":true},"zones":{"type":"array","items":{"type":"string"},"description":"Exadata Database Storage Vault zones. Changing this forces a new Exadata Database Storage Vault to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:oracle/resourceAnchor:ResourceAnchor":{"description":"Manages an Oracle Resource Anchor.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"eastus\",\n});\nconst exampleResourceAnchor = new azure.oracle.ResourceAnchor(\"example\", {\n    name: \"example\",\n    resourceGroupName: example.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"eastus\")\nexample_resource_anchor = azure.oracle.ResourceAnchor(\"example\",\n    name=\"example\",\n    resource_group_name=example.name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"eastus\",\n    });\n\n    var exampleResourceAnchor = new Azure.Oracle.ResourceAnchor(\"example\", new()\n    {\n        Name = \"example\",\n        ResourceGroupName = example.Name,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/oracle\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"eastus\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = oracle.NewResourceAnchor(ctx, \"example\", \u0026oracle.ResourceAnchorArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.oracle.ResourceAnchor;\nimport com.pulumi.azure.oracle.ResourceAnchorArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"eastus\")\n            .build());\n\n        var exampleResourceAnchor = new ResourceAnchor(\"exampleResourceAnchor\", ResourceAnchorArgs.builder()\n            .name(\"example\")\n            .resourceGroupName(example.name())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: eastus\n  exampleResourceAnchor:\n    type: azure:oracle:ResourceAnchor\n    name: example\n    properties:\n      name: example\n      resourceGroupName: ${example.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Oracle.Database` - 2025-09-01\n\n## Import\n\nOracle Resource Anchors can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:oracle/resourceAnchor:ResourceAnchor example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Oracle.Database/resourceAnchors/example\n```\n\n","properties":{"linkedCompartmentId":{"type":"string","description":"Oracle Cloud Infrastructure compartment [OCID](https://docs.oracle.com/en-us/iaas/Content/General/Concepts/identifiers.htm) which was created or linked by customer with Resource Anchor.\n"},"location":{"type":"string","description":"The Azure Region where the Oracle Resource Anchor exists.\n"},"name":{"type":"string","description":"The name which should be used for this Oracle Resource Anchor. Changing this forces a new Oracle Resource Anchor to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Oracle Resource Anchor should exist. Changing this forces a new Oracle Resource Anchor to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Oracle Resource Anchor.\n"}},"required":["linkedCompartmentId","location","name","resourceGroupName"],"inputProperties":{"name":{"type":"string","description":"The name which should be used for this Oracle Resource Anchor. Changing this forces a new Oracle Resource Anchor to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Oracle Resource Anchor should exist. Changing this forces a new Oracle Resource Anchor to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Oracle Resource Anchor.\n"}},"requiredInputs":["resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering ResourceAnchor resources.\n","properties":{"linkedCompartmentId":{"type":"string","description":"Oracle Cloud Infrastructure compartment [OCID](https://docs.oracle.com/en-us/iaas/Content/General/Concepts/identifiers.htm) which was created or linked by customer with Resource Anchor.\n"},"location":{"type":"string","description":"The Azure Region where the Oracle Resource Anchor exists.\n"},"name":{"type":"string","description":"The name which should be used for this Oracle Resource Anchor. Changing this forces a new Oracle Resource Anchor to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Oracle Resource Anchor should exist. Changing this forces a new Oracle Resource Anchor to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Oracle Resource Anchor.\n"}},"type":"object"}},"azure:orbital/contact:Contact":{"description":"Manages an orbital contact.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`azure.orbital.Contact`\" pulumi-lang-dotnet=\"`azure.orbital.Contact`\" pulumi-lang-go=\"`orbital.Contact`\" pulumi-lang-python=\"`orbital.Contact`\" pulumi-lang-yaml=\"`azure.orbital.Contact`\" pulumi-lang-java=\"`azure.orbital.Contact`\"\u003e`azure.orbital.Contact`\u003c/span\u003e resource has been deprecated and will be removed in v5.0 of the AzureRM Provider.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"rg-example\",\n    location: \"West Europe\",\n});\nconst exampleSpacecraft = new azure.orbital.Spacecraft(\"example\", {\n    name: \"example-spacecraft\",\n    resourceGroupName: example.name,\n    location: \"westeurope\",\n    noradId: \"12345\",\n    links: [{\n        bandwidthMhz: 100,\n        centerFrequencyMhz: 101,\n        direction: \"Uplink\",\n        polarization: \"LHCP\",\n        name: \"examplename\",\n    }],\n    twoLineElements: [\n        \"1 23455U 94089A   97320.90946019  .00000140  00000-0  10191-3 0  2621\",\n        \"2 23455  99.0090 272.6745 0008546 223.1686 136.8816 14.11711747148495\",\n    ],\n    titleLine: \"AQUA\",\n    tags: {\n        \"aks-managed-cluster-name\": \"9a57225d-a405-4d40-aa46-f13d2342abef\",\n    },\n});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"example\", {\n    name: \"example-vnet\",\n    addressSpaces: [\"10.0.0.0/16\"],\n    location: example.location,\n    resourceGroupName: example.name,\n});\nconst exampleSubnet = new azure.network.Subnet(\"example\", {\n    name: \"example-subnet\",\n    resourceGroupName: example.name,\n    virtualNetworkName: exampleVirtualNetwork.name,\n    addressPrefixes: [\"10.0.1.0/24\"],\n    delegations: [{\n        name: \"orbitalgateway\",\n        serviceDelegation: {\n            name: \"Microsoft.Orbital/orbitalGateways\",\n            actions: [\n                \"Microsoft.Network/publicIPAddresses/join/action\",\n                \"Microsoft.Network/virtualNetworks/subnets/join/action\",\n                \"Microsoft.Network/virtualNetworks/read\",\n                \"Microsoft.Network/publicIPAddresses/read\",\n            ],\n        },\n    }],\n});\nconst exampleContactProfile = new azure.orbital.ContactProfile(\"example\", {\n    name: \"example-contactprofile\",\n    resourceGroupName: example.name,\n    location: example.location,\n    minimumVariableContactDuration: \"PT1M\",\n    autoTracking: \"disabled\",\n    links: [{\n        channels: [{\n            name: \"channelname\",\n            bandwidthMhz: 100,\n            centerFrequencyMhz: 101,\n            endPoints: [{\n                endPointName: \"AQUA_command\",\n                ipAddress: \"10.0.1.0\",\n                port: \"49153\",\n                protocol: \"TCP\",\n            }],\n        }],\n        direction: \"Uplink\",\n        name: \"RHCP_UL\",\n        polarization: \"RHCP\",\n    }],\n    networkConfigurationSubnetId: exampleSubnet.id,\n});\nconst exampleContact = new azure.orbital.Contact(\"example\", {\n    name: \"example-contact\",\n    spacecraftId: exampleSpacecraft.id,\n    reservationStartTime: \"2020-07-16T20:35:00.00Z\",\n    reservationEndTime: \"2020-07-16T20:55:00.00Z\",\n    groundStationName: \"WESTUS2_0\",\n    contactProfileId: exampleContactProfile.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"rg-example\",\n    location=\"West Europe\")\nexample_spacecraft = azure.orbital.Spacecraft(\"example\",\n    name=\"example-spacecraft\",\n    resource_group_name=example.name,\n    location=\"westeurope\",\n    norad_id=\"12345\",\n    links=[{\n        \"bandwidth_mhz\": 100,\n        \"center_frequency_mhz\": 101,\n        \"direction\": \"Uplink\",\n        \"polarization\": \"LHCP\",\n        \"name\": \"examplename\",\n    }],\n    two_line_elements=[\n        \"1 23455U 94089A   97320.90946019  .00000140  00000-0  10191-3 0  2621\",\n        \"2 23455  99.0090 272.6745 0008546 223.1686 136.8816 14.11711747148495\",\n    ],\n    title_line=\"AQUA\",\n    tags={\n        \"aks-managed-cluster-name\": \"9a57225d-a405-4d40-aa46-f13d2342abef\",\n    })\nexample_virtual_network = azure.network.VirtualNetwork(\"example\",\n    name=\"example-vnet\",\n    address_spaces=[\"10.0.0.0/16\"],\n    location=example.location,\n    resource_group_name=example.name)\nexample_subnet = azure.network.Subnet(\"example\",\n    name=\"example-subnet\",\n    resource_group_name=example.name,\n    virtual_network_name=example_virtual_network.name,\n    address_prefixes=[\"10.0.1.0/24\"],\n    delegations=[{\n        \"name\": \"orbitalgateway\",\n        \"service_delegation\": {\n            \"name\": \"Microsoft.Orbital/orbitalGateways\",\n            \"actions\": [\n                \"Microsoft.Network/publicIPAddresses/join/action\",\n                \"Microsoft.Network/virtualNetworks/subnets/join/action\",\n                \"Microsoft.Network/virtualNetworks/read\",\n                \"Microsoft.Network/publicIPAddresses/read\",\n            ],\n        },\n    }])\nexample_contact_profile = azure.orbital.ContactProfile(\"example\",\n    name=\"example-contactprofile\",\n    resource_group_name=example.name,\n    location=example.location,\n    minimum_variable_contact_duration=\"PT1M\",\n    auto_tracking=\"disabled\",\n    links=[{\n        \"channels\": [{\n            \"name\": \"channelname\",\n            \"bandwidth_mhz\": 100,\n            \"center_frequency_mhz\": 101,\n            \"end_points\": [{\n                \"end_point_name\": \"AQUA_command\",\n                \"ip_address\": \"10.0.1.0\",\n                \"port\": \"49153\",\n                \"protocol\": \"TCP\",\n            }],\n        }],\n        \"direction\": \"Uplink\",\n        \"name\": \"RHCP_UL\",\n        \"polarization\": \"RHCP\",\n    }],\n    network_configuration_subnet_id=example_subnet.id)\nexample_contact = azure.orbital.Contact(\"example\",\n    name=\"example-contact\",\n    spacecraft_id=example_spacecraft.id,\n    reservation_start_time=\"2020-07-16T20:35:00.00Z\",\n    reservation_end_time=\"2020-07-16T20:55:00.00Z\",\n    ground_station_name=\"WESTUS2_0\",\n    contact_profile_id=example_contact_profile.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"rg-example\",\n        Location = \"West Europe\",\n    });\n\n    var exampleSpacecraft = new Azure.Orbital.Spacecraft(\"example\", new()\n    {\n        Name = \"example-spacecraft\",\n        ResourceGroupName = example.Name,\n        Location = \"westeurope\",\n        NoradId = \"12345\",\n        Links = new[]\n        {\n            new Azure.Orbital.Inputs.SpacecraftLinkArgs\n            {\n                BandwidthMhz = 100,\n                CenterFrequencyMhz = 101,\n                Direction = \"Uplink\",\n                Polarization = \"LHCP\",\n                Name = \"examplename\",\n            },\n        },\n        TwoLineElements = new[]\n        {\n            \"1 23455U 94089A   97320.90946019  .00000140  00000-0  10191-3 0  2621\",\n            \"2 23455  99.0090 272.6745 0008546 223.1686 136.8816 14.11711747148495\",\n        },\n        TitleLine = \"AQUA\",\n        Tags = \n        {\n            { \"aks-managed-cluster-name\", \"9a57225d-a405-4d40-aa46-f13d2342abef\" },\n        },\n    });\n\n    var exampleVirtualNetwork = new Azure.Network.VirtualNetwork(\"example\", new()\n    {\n        Name = \"example-vnet\",\n        AddressSpaces = new[]\n        {\n            \"10.0.0.0/16\",\n        },\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n    });\n\n    var exampleSubnet = new Azure.Network.Subnet(\"example\", new()\n    {\n        Name = \"example-subnet\",\n        ResourceGroupName = example.Name,\n        VirtualNetworkName = exampleVirtualNetwork.Name,\n        AddressPrefixes = new[]\n        {\n            \"10.0.1.0/24\",\n        },\n        Delegations = new[]\n        {\n            new Azure.Network.Inputs.SubnetDelegationArgs\n            {\n                Name = \"orbitalgateway\",\n                ServiceDelegation = new Azure.Network.Inputs.SubnetDelegationServiceDelegationArgs\n                {\n                    Name = \"Microsoft.Orbital/orbitalGateways\",\n                    Actions = new[]\n                    {\n                        \"Microsoft.Network/publicIPAddresses/join/action\",\n                        \"Microsoft.Network/virtualNetworks/subnets/join/action\",\n                        \"Microsoft.Network/virtualNetworks/read\",\n                        \"Microsoft.Network/publicIPAddresses/read\",\n                    },\n                },\n            },\n        },\n    });\n\n    var exampleContactProfile = new Azure.Orbital.ContactProfile(\"example\", new()\n    {\n        Name = \"example-contactprofile\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        MinimumVariableContactDuration = \"PT1M\",\n        AutoTracking = \"disabled\",\n        Links = new[]\n        {\n            new Azure.Orbital.Inputs.ContactProfileLinkArgs\n            {\n                Channels = new[]\n                {\n                    new Azure.Orbital.Inputs.ContactProfileLinkChannelArgs\n                    {\n                        Name = \"channelname\",\n                        BandwidthMhz = 100,\n                        CenterFrequencyMhz = 101,\n                        EndPoints = new[]\n                        {\n                            new Azure.Orbital.Inputs.ContactProfileLinkChannelEndPointArgs\n                            {\n                                EndPointName = \"AQUA_command\",\n                                IpAddress = \"10.0.1.0\",\n                                Port = \"49153\",\n                                Protocol = \"TCP\",\n                            },\n                        },\n                    },\n                },\n                Direction = \"Uplink\",\n                Name = \"RHCP_UL\",\n                Polarization = \"RHCP\",\n            },\n        },\n        NetworkConfigurationSubnetId = exampleSubnet.Id,\n    });\n\n    var exampleContact = new Azure.Orbital.Contact(\"example\", new()\n    {\n        Name = \"example-contact\",\n        SpacecraftId = exampleSpacecraft.Id,\n        ReservationStartTime = \"2020-07-16T20:35:00.00Z\",\n        ReservationEndTime = \"2020-07-16T20:55:00.00Z\",\n        GroundStationName = \"WESTUS2_0\",\n        ContactProfileId = exampleContactProfile.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/orbital\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"rg-example\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSpacecraft, err := orbital.NewSpacecraft(ctx, \"example\", \u0026orbital.SpacecraftArgs{\n\t\t\tName:              pulumi.String(\"example-spacecraft\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          pulumi.String(\"westeurope\"),\n\t\t\tNoradId:           pulumi.String(\"12345\"),\n\t\t\tLinks: orbital.SpacecraftLinkArray{\n\t\t\t\t\u0026orbital.SpacecraftLinkArgs{\n\t\t\t\t\tBandwidthMhz:       pulumi.Float64(100),\n\t\t\t\t\tCenterFrequencyMhz: pulumi.Float64(101),\n\t\t\t\t\tDirection:          pulumi.String(\"Uplink\"),\n\t\t\t\t\tPolarization:       pulumi.String(\"LHCP\"),\n\t\t\t\t\tName:               pulumi.String(\"examplename\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTwoLineElements: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"1 23455U 94089A   97320.90946019  .00000140  00000-0  10191-3 0  2621\"),\n\t\t\t\tpulumi.String(\"2 23455  99.0090 272.6745 0008546 223.1686 136.8816 14.11711747148495\"),\n\t\t\t},\n\t\t\tTitleLine: pulumi.String(\"AQUA\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"aks-managed-cluster-name\": pulumi.String(\"9a57225d-a405-4d40-aa46-f13d2342abef\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, \"example\", \u0026network.VirtualNetworkArgs{\n\t\t\tName: pulumi.String(\"example-vnet\"),\n\t\t\tAddressSpaces: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.0.0/16\"),\n\t\t\t},\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSubnet, err := network.NewSubnet(ctx, \"example\", \u0026network.SubnetArgs{\n\t\t\tName:               pulumi.String(\"example-subnet\"),\n\t\t\tResourceGroupName:  example.Name,\n\t\t\tVirtualNetworkName: exampleVirtualNetwork.Name,\n\t\t\tAddressPrefixes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.1.0/24\"),\n\t\t\t},\n\t\t\tDelegations: network.SubnetDelegationArray{\n\t\t\t\t\u0026network.SubnetDelegationArgs{\n\t\t\t\t\tName: pulumi.String(\"orbitalgateway\"),\n\t\t\t\t\tServiceDelegation: \u0026network.SubnetDelegationServiceDelegationArgs{\n\t\t\t\t\t\tName: pulumi.String(\"Microsoft.Orbital/orbitalGateways\"),\n\t\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"Microsoft.Network/publicIPAddresses/join/action\"),\n\t\t\t\t\t\t\tpulumi.String(\"Microsoft.Network/virtualNetworks/subnets/join/action\"),\n\t\t\t\t\t\t\tpulumi.String(\"Microsoft.Network/virtualNetworks/read\"),\n\t\t\t\t\t\t\tpulumi.String(\"Microsoft.Network/publicIPAddresses/read\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleContactProfile, err := orbital.NewContactProfile(ctx, \"example\", \u0026orbital.ContactProfileArgs{\n\t\t\tName:                           pulumi.String(\"example-contactprofile\"),\n\t\t\tResourceGroupName:              example.Name,\n\t\t\tLocation:                       example.Location,\n\t\t\tMinimumVariableContactDuration: pulumi.String(\"PT1M\"),\n\t\t\tAutoTracking:                   pulumi.String(\"disabled\"),\n\t\t\tLinks: orbital.ContactProfileLinkArray{\n\t\t\t\t\u0026orbital.ContactProfileLinkArgs{\n\t\t\t\t\tChannels: orbital.ContactProfileLinkChannelArray{\n\t\t\t\t\t\t\u0026orbital.ContactProfileLinkChannelArgs{\n\t\t\t\t\t\t\tName:               pulumi.String(\"channelname\"),\n\t\t\t\t\t\t\tBandwidthMhz:       pulumi.Float64(100),\n\t\t\t\t\t\t\tCenterFrequencyMhz: pulumi.Float64(101),\n\t\t\t\t\t\t\tEndPoints: orbital.ContactProfileLinkChannelEndPointArray{\n\t\t\t\t\t\t\t\t\u0026orbital.ContactProfileLinkChannelEndPointArgs{\n\t\t\t\t\t\t\t\t\tEndPointName: pulumi.String(\"AQUA_command\"),\n\t\t\t\t\t\t\t\t\tIpAddress:    pulumi.String(\"10.0.1.0\"),\n\t\t\t\t\t\t\t\t\tPort:         pulumi.String(\"49153\"),\n\t\t\t\t\t\t\t\t\tProtocol:     pulumi.String(\"TCP\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tDirection:    pulumi.String(\"Uplink\"),\n\t\t\t\t\tName:         pulumi.String(\"RHCP_UL\"),\n\t\t\t\t\tPolarization: pulumi.String(\"RHCP\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tNetworkConfigurationSubnetId: exampleSubnet.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = orbital.NewContact(ctx, \"example\", \u0026orbital.ContactArgs{\n\t\t\tName:                 pulumi.String(\"example-contact\"),\n\t\t\tSpacecraftId:         exampleSpacecraft.ID(),\n\t\t\tReservationStartTime: pulumi.String(\"2020-07-16T20:35:00.00Z\"),\n\t\t\tReservationEndTime:   pulumi.String(\"2020-07-16T20:55:00.00Z\"),\n\t\t\tGroundStationName:    pulumi.String(\"WESTUS2_0\"),\n\t\t\tContactProfileId:     exampleContactProfile.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.orbital.Spacecraft;\nimport com.pulumi.azure.orbital.SpacecraftArgs;\nimport com.pulumi.azure.orbital.inputs.SpacecraftLinkArgs;\nimport com.pulumi.azure.network.VirtualNetwork;\nimport com.pulumi.azure.network.VirtualNetworkArgs;\nimport com.pulumi.azure.network.Subnet;\nimport com.pulumi.azure.network.SubnetArgs;\nimport com.pulumi.azure.network.inputs.SubnetDelegationArgs;\nimport com.pulumi.azure.network.inputs.SubnetDelegationServiceDelegationArgs;\nimport com.pulumi.azure.orbital.ContactProfile;\nimport com.pulumi.azure.orbital.ContactProfileArgs;\nimport com.pulumi.azure.orbital.inputs.ContactProfileLinkArgs;\nimport com.pulumi.azure.orbital.Contact;\nimport com.pulumi.azure.orbital.ContactArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"rg-example\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleSpacecraft = new Spacecraft(\"exampleSpacecraft\", SpacecraftArgs.builder()\n            .name(\"example-spacecraft\")\n            .resourceGroupName(example.name())\n            .location(\"westeurope\")\n            .noradId(\"12345\")\n            .links(SpacecraftLinkArgs.builder()\n                .bandwidthMhz(100.0)\n                .centerFrequencyMhz(101.0)\n                .direction(\"Uplink\")\n                .polarization(\"LHCP\")\n                .name(\"examplename\")\n                .build())\n            .twoLineElements(            \n                \"1 23455U 94089A   97320.90946019  .00000140  00000-0  10191-3 0  2621\",\n                \"2 23455  99.0090 272.6745 0008546 223.1686 136.8816 14.11711747148495\")\n            .titleLine(\"AQUA\")\n            .tags(Map.of(\"aks-managed-cluster-name\", \"9a57225d-a405-4d40-aa46-f13d2342abef\"))\n            .build());\n\n        var exampleVirtualNetwork = new VirtualNetwork(\"exampleVirtualNetwork\", VirtualNetworkArgs.builder()\n            .name(\"example-vnet\")\n            .addressSpaces(\"10.0.0.0/16\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .build());\n\n        var exampleSubnet = new Subnet(\"exampleSubnet\", SubnetArgs.builder()\n            .name(\"example-subnet\")\n            .resourceGroupName(example.name())\n            .virtualNetworkName(exampleVirtualNetwork.name())\n            .addressPrefixes(\"10.0.1.0/24\")\n            .delegations(SubnetDelegationArgs.builder()\n                .name(\"orbitalgateway\")\n                .serviceDelegation(SubnetDelegationServiceDelegationArgs.builder()\n                    .name(\"Microsoft.Orbital/orbitalGateways\")\n                    .actions(                    \n                        \"Microsoft.Network/publicIPAddresses/join/action\",\n                        \"Microsoft.Network/virtualNetworks/subnets/join/action\",\n                        \"Microsoft.Network/virtualNetworks/read\",\n                        \"Microsoft.Network/publicIPAddresses/read\")\n                    .build())\n                .build())\n            .build());\n\n        var exampleContactProfile = new ContactProfile(\"exampleContactProfile\", ContactProfileArgs.builder()\n            .name(\"example-contactprofile\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .minimumVariableContactDuration(\"PT1M\")\n            .autoTracking(\"disabled\")\n            .links(ContactProfileLinkArgs.builder()\n                .channels(ContactProfileLinkChannelArgs.builder()\n                    .name(\"channelname\")\n                    .bandwidthMhz(100.0)\n                    .centerFrequencyMhz(101.0)\n                    .endPoints(ContactProfileLinkChannelEndPointArgs.builder()\n                        .endPointName(\"AQUA_command\")\n                        .ipAddress(\"10.0.1.0\")\n                        .port(\"49153\")\n                        .protocol(\"TCP\")\n                        .build())\n                    .build())\n                .direction(\"Uplink\")\n                .name(\"RHCP_UL\")\n                .polarization(\"RHCP\")\n                .build())\n            .networkConfigurationSubnetId(exampleSubnet.id())\n            .build());\n\n        var exampleContact = new Contact(\"exampleContact\", ContactArgs.builder()\n            .name(\"example-contact\")\n            .spacecraftId(exampleSpacecraft.id())\n            .reservationStartTime(\"2020-07-16T20:35:00.00Z\")\n            .reservationEndTime(\"2020-07-16T20:55:00.00Z\")\n            .groundStationName(\"WESTUS2_0\")\n            .contactProfileId(exampleContactProfile.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: rg-example\n      location: West Europe\n  exampleSpacecraft:\n    type: azure:orbital:Spacecraft\n    name: example\n    properties:\n      name: example-spacecraft\n      resourceGroupName: ${example.name}\n      location: westeurope\n      noradId: '12345'\n      links:\n        - bandwidthMhz: 100\n          centerFrequencyMhz: 101\n          direction: Uplink\n          polarization: LHCP\n          name: examplename\n      twoLineElements:\n        - 1 23455U 94089A   97320.90946019  .00000140  00000-0  10191-3 0  2621\n        - 2 23455  99.0090 272.6745 0008546 223.1686 136.8816 14.11711747148495\n      titleLine: AQUA\n      tags:\n        aks-managed-cluster-name: 9a57225d-a405-4d40-aa46-f13d2342abef\n  exampleVirtualNetwork:\n    type: azure:network:VirtualNetwork\n    name: example\n    properties:\n      name: example-vnet\n      addressSpaces:\n        - 10.0.0.0/16\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n  exampleSubnet:\n    type: azure:network:Subnet\n    name: example\n    properties:\n      name: example-subnet\n      resourceGroupName: ${example.name}\n      virtualNetworkName: ${exampleVirtualNetwork.name}\n      addressPrefixes:\n        - 10.0.1.0/24\n      delegations:\n        - name: orbitalgateway\n          serviceDelegation:\n            name: Microsoft.Orbital/orbitalGateways\n            actions:\n              - Microsoft.Network/publicIPAddresses/join/action\n              - Microsoft.Network/virtualNetworks/subnets/join/action\n              - Microsoft.Network/virtualNetworks/read\n              - Microsoft.Network/publicIPAddresses/read\n  exampleContactProfile:\n    type: azure:orbital:ContactProfile\n    name: example\n    properties:\n      name: example-contactprofile\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      minimumVariableContactDuration: PT1M\n      autoTracking: disabled\n      links:\n        - channels:\n            - name: channelname\n              bandwidthMhz: 100\n              centerFrequencyMhz: 101\n              endPoints:\n                - endPointName: AQUA_command\n                  ipAddress: 10.0.1.0\n                  port: '49153'\n                  protocol: TCP\n          direction: Uplink\n          name: RHCP_UL\n          polarization: RHCP\n      networkConfigurationSubnetId: ${exampleSubnet.id}\n  exampleContact:\n    type: azure:orbital:Contact\n    name: example\n    properties:\n      name: example-contact\n      spacecraftId: ${exampleSpacecraft.id}\n      reservationStartTime: 2020-07-16T20:35:00.00Z\n      reservationEndTime: 2020-07-16T20:55:00.00Z\n      groundStationName: WESTUS2_0\n      contactProfileId: ${exampleContactProfile.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Orbital` - 2022-11-01\n\n## Import\n\nSpacecraft can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:orbital/contact:Contact example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Orbital/spacecrafts/spacecraft1/contacts/contact1\n```\n\n","properties":{"contactProfileId":{"type":"string","description":"ID of the orbital contact profile. Changing this forces a new resource to be created.\n"},"groundStationName":{"type":"string","description":"Name of the Azure ground station. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"The name of the Contact. Changing this forces a new resource to be created.\n"},"reservationEndTime":{"type":"string","description":"Reservation end time of the Contact. Changing this forces a new resource to be created.\n"},"reservationStartTime":{"type":"string","description":"Reservation start time of the Contact. Changing this forces a new resource to be created.\n"},"spacecraftId":{"type":"string","description":"The ID of the spacecraft which the contact will be made to. Changing this forces a new resource to be created.\n"}},"required":["contactProfileId","groundStationName","name","reservationEndTime","reservationStartTime","spacecraftId"],"inputProperties":{"contactProfileId":{"type":"string","description":"ID of the orbital contact profile. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"groundStationName":{"type":"string","description":"Name of the Azure ground station. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the Contact. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"reservationEndTime":{"type":"string","description":"Reservation end time of the Contact. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"reservationStartTime":{"type":"string","description":"Reservation start time of the Contact. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"spacecraftId":{"type":"string","description":"The ID of the spacecraft which the contact will be made to. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["contactProfileId","groundStationName","reservationEndTime","reservationStartTime","spacecraftId"],"stateInputs":{"description":"Input properties used for looking up and filtering Contact resources.\n","properties":{"contactProfileId":{"type":"string","description":"ID of the orbital contact profile. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"groundStationName":{"type":"string","description":"Name of the Azure ground station. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the Contact. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"reservationEndTime":{"type":"string","description":"Reservation end time of the Contact. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"reservationStartTime":{"type":"string","description":"Reservation start time of the Contact. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"spacecraftId":{"type":"string","description":"The ID of the spacecraft which the contact will be made to. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:orbital/contactProfile:ContactProfile":{"description":"Manages a Contact profile.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`azure.orbital.ContactProfile`\" pulumi-lang-dotnet=\"`azure.orbital.ContactProfile`\" pulumi-lang-go=\"`orbital.ContactProfile`\" pulumi-lang-python=\"`orbital.ContactProfile`\" pulumi-lang-yaml=\"`azure.orbital.ContactProfile`\" pulumi-lang-java=\"`azure.orbital.ContactProfile`\"\u003e`azure.orbital.ContactProfile`\u003c/span\u003e resource has been deprecated and will be removed in v5.0 of the AzureRM Provider.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"rg-example\",\n    location: \"West Europe\",\n});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"example\", {\n    name: \"testvnet\",\n    addressSpaces: [\"10.0.0.0/16\"],\n    location: example.location,\n    resourceGroupName: example.name,\n});\nconst exampleSubnet = new azure.network.Subnet(\"example\", {\n    name: \"testsubnet\",\n    resourceGroupName: example.name,\n    virtualNetworkName: exampleVirtualNetwork.name,\n    addressPrefixes: [\"10.0.1.0/24\"],\n    delegations: [{\n        name: \"orbitalgateway\",\n        serviceDelegation: {\n            name: \"Microsoft.Orbital/orbitalGateways\",\n            actions: [\n                \"Microsoft.Network/publicIPAddresses/join/action\",\n                \"Microsoft.Network/virtualNetworks/subnets/join/action\",\n                \"Microsoft.Network/virtualNetworks/read\",\n                \"Microsoft.Network/publicIPAddresses/read\",\n            ],\n        },\n    }],\n});\nconst exampleContactProfile = new azure.orbital.ContactProfile(\"example\", {\n    name: \"example-contact-profile\",\n    resourceGroupName: example.name,\n    location: example.location,\n    minimumVariableContactDuration: \"PT1M\",\n    autoTracking: \"disabled\",\n    links: [{\n        channels: [{\n            name: \"channelname\",\n            bandwidthMhz: 100,\n            centerFrequencyMhz: 101,\n            endPoints: [{\n                endPointName: \"AQUA_command\",\n                ipAddress: \"10.0.1.0\",\n                port: \"49513\",\n                protocol: \"TCP\",\n            }],\n        }],\n        direction: \"Uplink\",\n        name: \"RHCP_UL\",\n        polarization: \"RHCP\",\n    }],\n    networkConfigurationSubnetId: exampleSubnet.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"rg-example\",\n    location=\"West Europe\")\nexample_virtual_network = azure.network.VirtualNetwork(\"example\",\n    name=\"testvnet\",\n    address_spaces=[\"10.0.0.0/16\"],\n    location=example.location,\n    resource_group_name=example.name)\nexample_subnet = azure.network.Subnet(\"example\",\n    name=\"testsubnet\",\n    resource_group_name=example.name,\n    virtual_network_name=example_virtual_network.name,\n    address_prefixes=[\"10.0.1.0/24\"],\n    delegations=[{\n        \"name\": \"orbitalgateway\",\n        \"service_delegation\": {\n            \"name\": \"Microsoft.Orbital/orbitalGateways\",\n            \"actions\": [\n                \"Microsoft.Network/publicIPAddresses/join/action\",\n                \"Microsoft.Network/virtualNetworks/subnets/join/action\",\n                \"Microsoft.Network/virtualNetworks/read\",\n                \"Microsoft.Network/publicIPAddresses/read\",\n            ],\n        },\n    }])\nexample_contact_profile = azure.orbital.ContactProfile(\"example\",\n    name=\"example-contact-profile\",\n    resource_group_name=example.name,\n    location=example.location,\n    minimum_variable_contact_duration=\"PT1M\",\n    auto_tracking=\"disabled\",\n    links=[{\n        \"channels\": [{\n            \"name\": \"channelname\",\n            \"bandwidth_mhz\": 100,\n            \"center_frequency_mhz\": 101,\n            \"end_points\": [{\n                \"end_point_name\": \"AQUA_command\",\n                \"ip_address\": \"10.0.1.0\",\n                \"port\": \"49513\",\n                \"protocol\": \"TCP\",\n            }],\n        }],\n        \"direction\": \"Uplink\",\n        \"name\": \"RHCP_UL\",\n        \"polarization\": \"RHCP\",\n    }],\n    network_configuration_subnet_id=example_subnet.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"rg-example\",\n        Location = \"West Europe\",\n    });\n\n    var exampleVirtualNetwork = new Azure.Network.VirtualNetwork(\"example\", new()\n    {\n        Name = \"testvnet\",\n        AddressSpaces = new[]\n        {\n            \"10.0.0.0/16\",\n        },\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n    });\n\n    var exampleSubnet = new Azure.Network.Subnet(\"example\", new()\n    {\n        Name = \"testsubnet\",\n        ResourceGroupName = example.Name,\n        VirtualNetworkName = exampleVirtualNetwork.Name,\n        AddressPrefixes = new[]\n        {\n            \"10.0.1.0/24\",\n        },\n        Delegations = new[]\n        {\n            new Azure.Network.Inputs.SubnetDelegationArgs\n            {\n                Name = \"orbitalgateway\",\n                ServiceDelegation = new Azure.Network.Inputs.SubnetDelegationServiceDelegationArgs\n                {\n                    Name = \"Microsoft.Orbital/orbitalGateways\",\n                    Actions = new[]\n                    {\n                        \"Microsoft.Network/publicIPAddresses/join/action\",\n                        \"Microsoft.Network/virtualNetworks/subnets/join/action\",\n                        \"Microsoft.Network/virtualNetworks/read\",\n                        \"Microsoft.Network/publicIPAddresses/read\",\n                    },\n                },\n            },\n        },\n    });\n\n    var exampleContactProfile = new Azure.Orbital.ContactProfile(\"example\", new()\n    {\n        Name = \"example-contact-profile\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        MinimumVariableContactDuration = \"PT1M\",\n        AutoTracking = \"disabled\",\n        Links = new[]\n        {\n            new Azure.Orbital.Inputs.ContactProfileLinkArgs\n            {\n                Channels = new[]\n                {\n                    new Azure.Orbital.Inputs.ContactProfileLinkChannelArgs\n                    {\n                        Name = \"channelname\",\n                        BandwidthMhz = 100,\n                        CenterFrequencyMhz = 101,\n                        EndPoints = new[]\n                        {\n                            new Azure.Orbital.Inputs.ContactProfileLinkChannelEndPointArgs\n                            {\n                                EndPointName = \"AQUA_command\",\n                                IpAddress = \"10.0.1.0\",\n                                Port = \"49513\",\n                                Protocol = \"TCP\",\n                            },\n                        },\n                    },\n                },\n                Direction = \"Uplink\",\n                Name = \"RHCP_UL\",\n                Polarization = \"RHCP\",\n            },\n        },\n        NetworkConfigurationSubnetId = exampleSubnet.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/orbital\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"rg-example\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, \"example\", \u0026network.VirtualNetworkArgs{\n\t\t\tName: pulumi.String(\"testvnet\"),\n\t\t\tAddressSpaces: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.0.0/16\"),\n\t\t\t},\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSubnet, err := network.NewSubnet(ctx, \"example\", \u0026network.SubnetArgs{\n\t\t\tName:               pulumi.String(\"testsubnet\"),\n\t\t\tResourceGroupName:  example.Name,\n\t\t\tVirtualNetworkName: exampleVirtualNetwork.Name,\n\t\t\tAddressPrefixes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.1.0/24\"),\n\t\t\t},\n\t\t\tDelegations: network.SubnetDelegationArray{\n\t\t\t\t\u0026network.SubnetDelegationArgs{\n\t\t\t\t\tName: pulumi.String(\"orbitalgateway\"),\n\t\t\t\t\tServiceDelegation: \u0026network.SubnetDelegationServiceDelegationArgs{\n\t\t\t\t\t\tName: pulumi.String(\"Microsoft.Orbital/orbitalGateways\"),\n\t\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"Microsoft.Network/publicIPAddresses/join/action\"),\n\t\t\t\t\t\t\tpulumi.String(\"Microsoft.Network/virtualNetworks/subnets/join/action\"),\n\t\t\t\t\t\t\tpulumi.String(\"Microsoft.Network/virtualNetworks/read\"),\n\t\t\t\t\t\t\tpulumi.String(\"Microsoft.Network/publicIPAddresses/read\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = orbital.NewContactProfile(ctx, \"example\", \u0026orbital.ContactProfileArgs{\n\t\t\tName:                           pulumi.String(\"example-contact-profile\"),\n\t\t\tResourceGroupName:              example.Name,\n\t\t\tLocation:                       example.Location,\n\t\t\tMinimumVariableContactDuration: pulumi.String(\"PT1M\"),\n\t\t\tAutoTracking:                   pulumi.String(\"disabled\"),\n\t\t\tLinks: orbital.ContactProfileLinkArray{\n\t\t\t\t\u0026orbital.ContactProfileLinkArgs{\n\t\t\t\t\tChannels: orbital.ContactProfileLinkChannelArray{\n\t\t\t\t\t\t\u0026orbital.ContactProfileLinkChannelArgs{\n\t\t\t\t\t\t\tName:               pulumi.String(\"channelname\"),\n\t\t\t\t\t\t\tBandwidthMhz:       pulumi.Float64(100),\n\t\t\t\t\t\t\tCenterFrequencyMhz: pulumi.Float64(101),\n\t\t\t\t\t\t\tEndPoints: orbital.ContactProfileLinkChannelEndPointArray{\n\t\t\t\t\t\t\t\t\u0026orbital.ContactProfileLinkChannelEndPointArgs{\n\t\t\t\t\t\t\t\t\tEndPointName: pulumi.String(\"AQUA_command\"),\n\t\t\t\t\t\t\t\t\tIpAddress:    pulumi.String(\"10.0.1.0\"),\n\t\t\t\t\t\t\t\t\tPort:         pulumi.String(\"49513\"),\n\t\t\t\t\t\t\t\t\tProtocol:     pulumi.String(\"TCP\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tDirection:    pulumi.String(\"Uplink\"),\n\t\t\t\t\tName:         pulumi.String(\"RHCP_UL\"),\n\t\t\t\t\tPolarization: pulumi.String(\"RHCP\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tNetworkConfigurationSubnetId: exampleSubnet.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.VirtualNetwork;\nimport com.pulumi.azure.network.VirtualNetworkArgs;\nimport com.pulumi.azure.network.Subnet;\nimport com.pulumi.azure.network.SubnetArgs;\nimport com.pulumi.azure.network.inputs.SubnetDelegationArgs;\nimport com.pulumi.azure.network.inputs.SubnetDelegationServiceDelegationArgs;\nimport com.pulumi.azure.orbital.ContactProfile;\nimport com.pulumi.azure.orbital.ContactProfileArgs;\nimport com.pulumi.azure.orbital.inputs.ContactProfileLinkArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"rg-example\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleVirtualNetwork = new VirtualNetwork(\"exampleVirtualNetwork\", VirtualNetworkArgs.builder()\n            .name(\"testvnet\")\n            .addressSpaces(\"10.0.0.0/16\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .build());\n\n        var exampleSubnet = new Subnet(\"exampleSubnet\", SubnetArgs.builder()\n            .name(\"testsubnet\")\n            .resourceGroupName(example.name())\n            .virtualNetworkName(exampleVirtualNetwork.name())\n            .addressPrefixes(\"10.0.1.0/24\")\n            .delegations(SubnetDelegationArgs.builder()\n                .name(\"orbitalgateway\")\n                .serviceDelegation(SubnetDelegationServiceDelegationArgs.builder()\n                    .name(\"Microsoft.Orbital/orbitalGateways\")\n                    .actions(                    \n                        \"Microsoft.Network/publicIPAddresses/join/action\",\n                        \"Microsoft.Network/virtualNetworks/subnets/join/action\",\n                        \"Microsoft.Network/virtualNetworks/read\",\n                        \"Microsoft.Network/publicIPAddresses/read\")\n                    .build())\n                .build())\n            .build());\n\n        var exampleContactProfile = new ContactProfile(\"exampleContactProfile\", ContactProfileArgs.builder()\n            .name(\"example-contact-profile\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .minimumVariableContactDuration(\"PT1M\")\n            .autoTracking(\"disabled\")\n            .links(ContactProfileLinkArgs.builder()\n                .channels(ContactProfileLinkChannelArgs.builder()\n                    .name(\"channelname\")\n                    .bandwidthMhz(100.0)\n                    .centerFrequencyMhz(101.0)\n                    .endPoints(ContactProfileLinkChannelEndPointArgs.builder()\n                        .endPointName(\"AQUA_command\")\n                        .ipAddress(\"10.0.1.0\")\n                        .port(\"49513\")\n                        .protocol(\"TCP\")\n                        .build())\n                    .build())\n                .direction(\"Uplink\")\n                .name(\"RHCP_UL\")\n                .polarization(\"RHCP\")\n                .build())\n            .networkConfigurationSubnetId(exampleSubnet.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: rg-example\n      location: West Europe\n  exampleVirtualNetwork:\n    type: azure:network:VirtualNetwork\n    name: example\n    properties:\n      name: testvnet\n      addressSpaces:\n        - 10.0.0.0/16\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n  exampleSubnet:\n    type: azure:network:Subnet\n    name: example\n    properties:\n      name: testsubnet\n      resourceGroupName: ${example.name}\n      virtualNetworkName: ${exampleVirtualNetwork.name}\n      addressPrefixes:\n        - 10.0.1.0/24\n      delegations:\n        - name: orbitalgateway\n          serviceDelegation:\n            name: Microsoft.Orbital/orbitalGateways\n            actions:\n              - Microsoft.Network/publicIPAddresses/join/action\n              - Microsoft.Network/virtualNetworks/subnets/join/action\n              - Microsoft.Network/virtualNetworks/read\n              - Microsoft.Network/publicIPAddresses/read\n  exampleContactProfile:\n    type: azure:orbital:ContactProfile\n    name: example\n    properties:\n      name: example-contact-profile\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      minimumVariableContactDuration: PT1M\n      autoTracking: disabled\n      links:\n        - channels:\n            - name: channelname\n              bandwidthMhz: 100\n              centerFrequencyMhz: 101\n              endPoints:\n                - endPointName: AQUA_command\n                  ipAddress: 10.0.1.0\n                  port: '49513'\n                  protocol: TCP\n          direction: Uplink\n          name: RHCP_UL\n          polarization: RHCP\n      networkConfigurationSubnetId: ${exampleSubnet.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Orbital` - 2022-11-01\n\n## Import\n\nContact profile can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:orbital/contactProfile:ContactProfile example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Orbital/contactProfiles/contactProfile1\n```\n\n","properties":{"autoTracking":{"type":"string","description":"Auto-tracking configurations for a spacecraft. Possible values are \u003cspan pulumi-lang-nodejs=\"`disabled`\" pulumi-lang-dotnet=\"`Disabled`\" pulumi-lang-go=\"`disabled`\" pulumi-lang-python=\"`disabled`\" pulumi-lang-yaml=\"`disabled`\" pulumi-lang-java=\"`disabled`\"\u003e`disabled`\u003c/span\u003e, `xBand` and `sBand`.\n"},"eventHubUri":{"type":"string","description":"ARM resource identifier of the Event Hub used for telemetry. Requires granting Orbital Resource Provider the rights to send telemetry into the hub.\n"},"links":{"type":"array","items":{"$ref":"#/types/azure:orbital/ContactProfileLink:ContactProfileLink"},"description":"A list of spacecraft links. A \u003cspan pulumi-lang-nodejs=\"`links`\" pulumi-lang-dotnet=\"`Links`\" pulumi-lang-go=\"`links`\" pulumi-lang-python=\"`links`\" pulumi-lang-yaml=\"`links`\" pulumi-lang-java=\"`links`\"\u003e`links`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n"},"location":{"type":"string","description":"The location where the contact profile exists. Changing this forces a new resource to be created.\n"},"minimumElevationDegrees":{"type":"number","description":"Maximum elevation of the antenna during the contact in decimal degrees.\n"},"minimumVariableContactDuration":{"type":"string","description":"Minimum viable contact duration in ISO 8601 format. Used for listing the available contacts with a spacecraft at a given ground station.\n"},"name":{"type":"string","description":"The name of the contact profile. Changing this forces a new resource to be created.\n"},"networkConfigurationSubnetId":{"type":"string","description":"ARM resource identifier of the subnet delegated to the Microsoft.Orbital/orbitalGateways. Needs to be at least a class C subnet, and should not have any IP created in it. Changing this forces a new resource to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the contact profile exists. Changing this forces a new resource to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"required":["autoTracking","links","location","minimumVariableContactDuration","name","networkConfigurationSubnetId","resourceGroupName"],"inputProperties":{"autoTracking":{"type":"string","description":"Auto-tracking configurations for a spacecraft. Possible values are \u003cspan pulumi-lang-nodejs=\"`disabled`\" pulumi-lang-dotnet=\"`Disabled`\" pulumi-lang-go=\"`disabled`\" pulumi-lang-python=\"`disabled`\" pulumi-lang-yaml=\"`disabled`\" pulumi-lang-java=\"`disabled`\"\u003e`disabled`\u003c/span\u003e, `xBand` and `sBand`.\n"},"eventHubUri":{"type":"string","description":"ARM resource identifier of the Event Hub used for telemetry. Requires granting Orbital Resource Provider the rights to send telemetry into the hub.\n"},"links":{"type":"array","items":{"$ref":"#/types/azure:orbital/ContactProfileLink:ContactProfileLink"},"description":"A list of spacecraft links. A \u003cspan pulumi-lang-nodejs=\"`links`\" pulumi-lang-dotnet=\"`Links`\" pulumi-lang-go=\"`links`\" pulumi-lang-python=\"`links`\" pulumi-lang-yaml=\"`links`\" pulumi-lang-java=\"`links`\"\u003e`links`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"location":{"type":"string","description":"The location where the contact profile exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"minimumElevationDegrees":{"type":"number","description":"Maximum elevation of the antenna during the contact in decimal degrees.\n"},"minimumVariableContactDuration":{"type":"string","description":"Minimum viable contact duration in ISO 8601 format. Used for listing the available contacts with a spacecraft at a given ground station.\n"},"name":{"type":"string","description":"The name of the contact profile. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"networkConfigurationSubnetId":{"type":"string","description":"ARM resource identifier of the subnet delegated to the Microsoft.Orbital/orbitalGateways. Needs to be at least a class C subnet, and should not have any IP created in it. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the contact profile exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"requiredInputs":["autoTracking","links","minimumVariableContactDuration","networkConfigurationSubnetId","resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering ContactProfile resources.\n","properties":{"autoTracking":{"type":"string","description":"Auto-tracking configurations for a spacecraft. Possible values are \u003cspan pulumi-lang-nodejs=\"`disabled`\" pulumi-lang-dotnet=\"`Disabled`\" pulumi-lang-go=\"`disabled`\" pulumi-lang-python=\"`disabled`\" pulumi-lang-yaml=\"`disabled`\" pulumi-lang-java=\"`disabled`\"\u003e`disabled`\u003c/span\u003e, `xBand` and `sBand`.\n"},"eventHubUri":{"type":"string","description":"ARM resource identifier of the Event Hub used for telemetry. Requires granting Orbital Resource Provider the rights to send telemetry into the hub.\n"},"links":{"type":"array","items":{"$ref":"#/types/azure:orbital/ContactProfileLink:ContactProfileLink"},"description":"A list of spacecraft links. A \u003cspan pulumi-lang-nodejs=\"`links`\" pulumi-lang-dotnet=\"`Links`\" pulumi-lang-go=\"`links`\" pulumi-lang-python=\"`links`\" pulumi-lang-yaml=\"`links`\" pulumi-lang-java=\"`links`\"\u003e`links`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"location":{"type":"string","description":"The location where the contact profile exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"minimumElevationDegrees":{"type":"number","description":"Maximum elevation of the antenna during the contact in decimal degrees.\n"},"minimumVariableContactDuration":{"type":"string","description":"Minimum viable contact duration in ISO 8601 format. Used for listing the available contacts with a spacecraft at a given ground station.\n"},"name":{"type":"string","description":"The name of the contact profile. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"networkConfigurationSubnetId":{"type":"string","description":"ARM resource identifier of the subnet delegated to the Microsoft.Orbital/orbitalGateways. Needs to be at least a class C subnet, and should not have any IP created in it. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the contact profile exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"type":"object"}},"azure:orbital/spacecraft:Spacecraft":{"description":"Manages a Spacecraft.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`azure.orbital.Spacecraft`\" pulumi-lang-dotnet=\"`azure.orbital.Spacecraft`\" pulumi-lang-go=\"`orbital.Spacecraft`\" pulumi-lang-python=\"`orbital.Spacecraft`\" pulumi-lang-yaml=\"`azure.orbital.Spacecraft`\" pulumi-lang-java=\"`azure.orbital.Spacecraft`\"\u003e`azure.orbital.Spacecraft`\u003c/span\u003e resource has been deprecated and will be removed in v5.0 of the AzureRM Provider.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"rg-example\",\n    location: \"West Europe\",\n});\nconst exampleSpacecraft = new azure.orbital.Spacecraft(\"example\", {\n    name: \"example-spacecraft\",\n    resourceGroupName: example.name,\n    location: \"westeurope\",\n    noradId: \"12345\",\n    links: [{\n        bandwidthMhz: 30,\n        centerFrequencyMhz: 2050,\n        direction: \"Uplink\",\n        polarization: \"LHCP\",\n        name: \"examplename\",\n    }],\n    twoLineElements: [\n        \"1 23455U 94089A   97320.90946019  .00000140  00000-0  10191-3 0  2621\",\n        \"2 23455  99.0090 272.6745 0008546 223.1686 136.8816 14.11711747148495\",\n    ],\n    titleLine: \"AQUA\",\n    tags: {\n        \"aks-managed-cluster-name\": \"9a57225d-a405-4d40-aa46-f13d2342abef\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"rg-example\",\n    location=\"West Europe\")\nexample_spacecraft = azure.orbital.Spacecraft(\"example\",\n    name=\"example-spacecraft\",\n    resource_group_name=example.name,\n    location=\"westeurope\",\n    norad_id=\"12345\",\n    links=[{\n        \"bandwidth_mhz\": 30,\n        \"center_frequency_mhz\": 2050,\n        \"direction\": \"Uplink\",\n        \"polarization\": \"LHCP\",\n        \"name\": \"examplename\",\n    }],\n    two_line_elements=[\n        \"1 23455U 94089A   97320.90946019  .00000140  00000-0  10191-3 0  2621\",\n        \"2 23455  99.0090 272.6745 0008546 223.1686 136.8816 14.11711747148495\",\n    ],\n    title_line=\"AQUA\",\n    tags={\n        \"aks-managed-cluster-name\": \"9a57225d-a405-4d40-aa46-f13d2342abef\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"rg-example\",\n        Location = \"West Europe\",\n    });\n\n    var exampleSpacecraft = new Azure.Orbital.Spacecraft(\"example\", new()\n    {\n        Name = \"example-spacecraft\",\n        ResourceGroupName = example.Name,\n        Location = \"westeurope\",\n        NoradId = \"12345\",\n        Links = new[]\n        {\n            new Azure.Orbital.Inputs.SpacecraftLinkArgs\n            {\n                BandwidthMhz = 30,\n                CenterFrequencyMhz = 2050,\n                Direction = \"Uplink\",\n                Polarization = \"LHCP\",\n                Name = \"examplename\",\n            },\n        },\n        TwoLineElements = new[]\n        {\n            \"1 23455U 94089A   97320.90946019  .00000140  00000-0  10191-3 0  2621\",\n            \"2 23455  99.0090 272.6745 0008546 223.1686 136.8816 14.11711747148495\",\n        },\n        TitleLine = \"AQUA\",\n        Tags = \n        {\n            { \"aks-managed-cluster-name\", \"9a57225d-a405-4d40-aa46-f13d2342abef\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/orbital\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"rg-example\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = orbital.NewSpacecraft(ctx, \"example\", \u0026orbital.SpacecraftArgs{\n\t\t\tName:              pulumi.String(\"example-spacecraft\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          pulumi.String(\"westeurope\"),\n\t\t\tNoradId:           pulumi.String(\"12345\"),\n\t\t\tLinks: orbital.SpacecraftLinkArray{\n\t\t\t\t\u0026orbital.SpacecraftLinkArgs{\n\t\t\t\t\tBandwidthMhz:       pulumi.Float64(30),\n\t\t\t\t\tCenterFrequencyMhz: pulumi.Float64(2050),\n\t\t\t\t\tDirection:          pulumi.String(\"Uplink\"),\n\t\t\t\t\tPolarization:       pulumi.String(\"LHCP\"),\n\t\t\t\t\tName:               pulumi.String(\"examplename\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTwoLineElements: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"1 23455U 94089A   97320.90946019  .00000140  00000-0  10191-3 0  2621\"),\n\t\t\t\tpulumi.String(\"2 23455  99.0090 272.6745 0008546 223.1686 136.8816 14.11711747148495\"),\n\t\t\t},\n\t\t\tTitleLine: pulumi.String(\"AQUA\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"aks-managed-cluster-name\": pulumi.String(\"9a57225d-a405-4d40-aa46-f13d2342abef\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.orbital.Spacecraft;\nimport com.pulumi.azure.orbital.SpacecraftArgs;\nimport com.pulumi.azure.orbital.inputs.SpacecraftLinkArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"rg-example\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleSpacecraft = new Spacecraft(\"exampleSpacecraft\", SpacecraftArgs.builder()\n            .name(\"example-spacecraft\")\n            .resourceGroupName(example.name())\n            .location(\"westeurope\")\n            .noradId(\"12345\")\n            .links(SpacecraftLinkArgs.builder()\n                .bandwidthMhz(30.0)\n                .centerFrequencyMhz(2050.0)\n                .direction(\"Uplink\")\n                .polarization(\"LHCP\")\n                .name(\"examplename\")\n                .build())\n            .twoLineElements(            \n                \"1 23455U 94089A   97320.90946019  .00000140  00000-0  10191-3 0  2621\",\n                \"2 23455  99.0090 272.6745 0008546 223.1686 136.8816 14.11711747148495\")\n            .titleLine(\"AQUA\")\n            .tags(Map.of(\"aks-managed-cluster-name\", \"9a57225d-a405-4d40-aa46-f13d2342abef\"))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: rg-example\n      location: West Europe\n  exampleSpacecraft:\n    type: azure:orbital:Spacecraft\n    name: example\n    properties:\n      name: example-spacecraft\n      resourceGroupName: ${example.name}\n      location: westeurope\n      noradId: '12345'\n      links:\n        - bandwidthMhz: 30\n          centerFrequencyMhz: 2050\n          direction: Uplink\n          polarization: LHCP\n          name: examplename\n      twoLineElements:\n        - 1 23455U 94089A   97320.90946019  .00000140  00000-0  10191-3 0  2621\n        - 2 23455  99.0090 272.6745 0008546 223.1686 136.8816 14.11711747148495\n      titleLine: AQUA\n      tags:\n        aks-managed-cluster-name: 9a57225d-a405-4d40-aa46-f13d2342abef\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Orbital` - 2022-11-01\n\n## Import\n\nSpacecraft can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:orbital/spacecraft:Spacecraft example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Orbital/spacecrafts/spacecraft1\n```\n\n","properties":{"links":{"type":"array","items":{"$ref":"#/types/azure:orbital/SpacecraftLink:SpacecraftLink"},"description":"A \u003cspan pulumi-lang-nodejs=\"`links`\" pulumi-lang-dotnet=\"`Links`\" pulumi-lang-go=\"`links`\" pulumi-lang-python=\"`links`\" pulumi-lang-yaml=\"`links`\" pulumi-lang-java=\"`links`\"\u003e`links`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n"},"location":{"type":"string","description":"The location where the Spacecraft exists. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"The name of the Spacecraft. Changing this forces a new resource to be created.\n"},"noradId":{"type":"string","description":"NORAD ID of the Spacecraft.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Spacecraft exists. Changing this forces a new resource to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"titleLine":{"type":"string","description":"Title of the two line elements (TLE).\n"},"twoLineElements":{"type":"array","items":{"type":"string"},"description":"A list of the two line elements (TLE), the first string being the first of the TLE, the second string being the second line of the TLE. Changing this forces a new resource to be created.\n"}},"required":["links","location","name","noradId","resourceGroupName","titleLine","twoLineElements"],"inputProperties":{"links":{"type":"array","items":{"$ref":"#/types/azure:orbital/SpacecraftLink:SpacecraftLink"},"description":"A \u003cspan pulumi-lang-nodejs=\"`links`\" pulumi-lang-dotnet=\"`Links`\" pulumi-lang-go=\"`links`\" pulumi-lang-python=\"`links`\" pulumi-lang-yaml=\"`links`\" pulumi-lang-java=\"`links`\"\u003e`links`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"location":{"type":"string","description":"The location where the Spacecraft exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the Spacecraft. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"noradId":{"type":"string","description":"NORAD ID of the Spacecraft.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Spacecraft exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"titleLine":{"type":"string","description":"Title of the two line elements (TLE).\n"},"twoLineElements":{"type":"array","items":{"type":"string"},"description":"A list of the two line elements (TLE), the first string being the first of the TLE, the second string being the second line of the TLE. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["links","noradId","resourceGroupName","titleLine","twoLineElements"],"stateInputs":{"description":"Input properties used for looking up and filtering Spacecraft resources.\n","properties":{"links":{"type":"array","items":{"$ref":"#/types/azure:orbital/SpacecraftLink:SpacecraftLink"},"description":"A \u003cspan pulumi-lang-nodejs=\"`links`\" pulumi-lang-dotnet=\"`Links`\" pulumi-lang-go=\"`links`\" pulumi-lang-python=\"`links`\" pulumi-lang-yaml=\"`links`\" pulumi-lang-java=\"`links`\"\u003e`links`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"location":{"type":"string","description":"The location where the Spacecraft exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the Spacecraft. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"noradId":{"type":"string","description":"NORAD ID of the Spacecraft.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Spacecraft exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"titleLine":{"type":"string","description":"Title of the two line elements (TLE).\n"},"twoLineElements":{"type":"array","items":{"type":"string"},"description":"A list of the two line elements (TLE), the first string being the first of the TLE, the second string being the second line of the TLE. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:paloalto/localRulestack:LocalRulestack":{"description":"Manages a Palo Alto Networks Rulestack.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"rg-example\",\n    location: \"West Europe\",\n});\nconst exampleLocalRulestack = new azure.paloalto.LocalRulestack(\"example\", {\n    name: \"example\",\n    resourceGroupName: example.name,\n    location: example.location,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"rg-example\",\n    location=\"West Europe\")\nexample_local_rulestack = azure.paloalto.LocalRulestack(\"example\",\n    name=\"example\",\n    resource_group_name=example.name,\n    location=example.location)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"rg-example\",\n        Location = \"West Europe\",\n    });\n\n    var exampleLocalRulestack = new Azure.PaloAlto.LocalRulestack(\"example\", new()\n    {\n        Name = \"example\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/paloalto\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"rg-example\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = paloalto.NewLocalRulestack(ctx, \"example\", \u0026paloalto.LocalRulestackArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.paloalto.LocalRulestack;\nimport com.pulumi.azure.paloalto.LocalRulestackArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"rg-example\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleLocalRulestack = new LocalRulestack(\"exampleLocalRulestack\", LocalRulestackArgs.builder()\n            .name(\"example\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: rg-example\n      location: West Europe\n  exampleLocalRulestack:\n    type: azure:paloalto:LocalRulestack\n    name: example\n    properties:\n      name: example\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `PaloAltoNetworks.Cloudngfw` - 2022-08-29\n\n## Import\n\nPalo Alto Networks Rulestacks can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:paloalto/localRulestack:LocalRulestack example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/PaloAltoNetworks.Cloudngfw/localRulestacks/myLocalRulestack\n```\n\n","properties":{"antiSpywareProfile":{"type":"string","description":"The setting to use for Anti-Spyware. Possible values include `BestPractice`, and `Custom`.\n"},"antiVirusProfile":{"type":"string","description":"The setting to use for Anti-Virus. Possible values include `BestPractice`, and `Custom`.\n"},"description":{"type":"string","description":"The description for this Local Rulestack.\n"},"dnsSubscription":{"type":"string","description":"TThe setting to use for DNS Subscription. Possible values include `BestPractice`, and `Custom`.\n"},"fileBlockingProfile":{"type":"string","description":"The setting to use for the File Blocking Profile. Possible values include `BestPractice`, and `Custom`.\n"},"location":{"type":"string","description":"The Azure Region where the Palo Alto Networks Rulestack should exist. Changing this forces a new Palo Alto Networks Rulestack to be created.\n"},"name":{"type":"string","description":"The name which should be used for this Palo Alto Networks Rulestack. Changing this forces a new Palo Alto Networks Rulestack to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Palo Alto Networks Rulestack should exist. Changing this forces a new Palo Alto Networks Rulestack to be created.\n"},"urlFilteringProfile":{"type":"string","description":"The setting to use for the URL Filtering Profile. Possible values include `BestPractice`, and `Custom`.\n"},"vulnerabilityProfile":{"type":"string","description":"The setting to use for the Vulnerability Profile. Possible values include `BestPractice`, and `Custom`.\n"}},"required":["location","name","resourceGroupName"],"inputProperties":{"antiSpywareProfile":{"type":"string","description":"The setting to use for Anti-Spyware. Possible values include `BestPractice`, and `Custom`.\n"},"antiVirusProfile":{"type":"string","description":"The setting to use for Anti-Virus. Possible values include `BestPractice`, and `Custom`.\n"},"description":{"type":"string","description":"The description for this Local Rulestack.\n"},"dnsSubscription":{"type":"string","description":"TThe setting to use for DNS Subscription. Possible values include `BestPractice`, and `Custom`.\n"},"fileBlockingProfile":{"type":"string","description":"The setting to use for the File Blocking Profile. Possible values include `BestPractice`, and `Custom`.\n"},"location":{"type":"string","description":"The Azure Region where the Palo Alto Networks Rulestack should exist. Changing this forces a new Palo Alto Networks Rulestack to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Palo Alto Networks Rulestack. Changing this forces a new Palo Alto Networks Rulestack to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Palo Alto Networks Rulestack should exist. Changing this forces a new Palo Alto Networks Rulestack to be created.\n","willReplaceOnChanges":true},"urlFilteringProfile":{"type":"string","description":"The setting to use for the URL Filtering Profile. Possible values include `BestPractice`, and `Custom`.\n"},"vulnerabilityProfile":{"type":"string","description":"The setting to use for the Vulnerability Profile. Possible values include `BestPractice`, and `Custom`.\n"}},"requiredInputs":["resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering LocalRulestack resources.\n","properties":{"antiSpywareProfile":{"type":"string","description":"The setting to use for Anti-Spyware. Possible values include `BestPractice`, and `Custom`.\n"},"antiVirusProfile":{"type":"string","description":"The setting to use for Anti-Virus. Possible values include `BestPractice`, and `Custom`.\n"},"description":{"type":"string","description":"The description for this Local Rulestack.\n"},"dnsSubscription":{"type":"string","description":"TThe setting to use for DNS Subscription. Possible values include `BestPractice`, and `Custom`.\n"},"fileBlockingProfile":{"type":"string","description":"The setting to use for the File Blocking Profile. Possible values include `BestPractice`, and `Custom`.\n"},"location":{"type":"string","description":"The Azure Region where the Palo Alto Networks Rulestack should exist. Changing this forces a new Palo Alto Networks Rulestack to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Palo Alto Networks Rulestack. Changing this forces a new Palo Alto Networks Rulestack to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Palo Alto Networks Rulestack should exist. Changing this forces a new Palo Alto Networks Rulestack to be created.\n","willReplaceOnChanges":true},"urlFilteringProfile":{"type":"string","description":"The setting to use for the URL Filtering Profile. Possible values include `BestPractice`, and `Custom`.\n"},"vulnerabilityProfile":{"type":"string","description":"The setting to use for the Vulnerability Profile. Possible values include `BestPractice`, and `Custom`.\n"}},"type":"object"}},"azure:paloalto/localRulestackCertificate:LocalRulestackCertificate":{"description":"Manages a Palo Alto Networks Rulestack Certificate.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"rg-example\",\n    location: \"West Europe\",\n});\nconst exampleLocalRulestack = new azure.paloalto.LocalRulestack(\"example\", {\n    name: \"example\",\n    resourceGroupName: example.name,\n    location: example.location,\n});\nconst exampleLocalRulestackCertificate = new azure.paloalto.LocalRulestackCertificate(\"example\", {\n    name: \"example\",\n    rulestackId: exampleLocalRulestack.id,\n    selfSigned: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"rg-example\",\n    location=\"West Europe\")\nexample_local_rulestack = azure.paloalto.LocalRulestack(\"example\",\n    name=\"example\",\n    resource_group_name=example.name,\n    location=example.location)\nexample_local_rulestack_certificate = azure.paloalto.LocalRulestackCertificate(\"example\",\n    name=\"example\",\n    rulestack_id=example_local_rulestack.id,\n    self_signed=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"rg-example\",\n        Location = \"West Europe\",\n    });\n\n    var exampleLocalRulestack = new Azure.PaloAlto.LocalRulestack(\"example\", new()\n    {\n        Name = \"example\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n    });\n\n    var exampleLocalRulestackCertificate = new Azure.PaloAlto.LocalRulestackCertificate(\"example\", new()\n    {\n        Name = \"example\",\n        RulestackId = exampleLocalRulestack.Id,\n        SelfSigned = true,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/paloalto\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"rg-example\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleLocalRulestack, err := paloalto.NewLocalRulestack(ctx, \"example\", \u0026paloalto.LocalRulestackArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = paloalto.NewLocalRulestackCertificate(ctx, \"example\", \u0026paloalto.LocalRulestackCertificateArgs{\n\t\t\tName:        pulumi.String(\"example\"),\n\t\t\tRulestackId: exampleLocalRulestack.ID(),\n\t\t\tSelfSigned:  pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.paloalto.LocalRulestack;\nimport com.pulumi.azure.paloalto.LocalRulestackArgs;\nimport com.pulumi.azure.paloalto.LocalRulestackCertificate;\nimport com.pulumi.azure.paloalto.LocalRulestackCertificateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"rg-example\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleLocalRulestack = new LocalRulestack(\"exampleLocalRulestack\", LocalRulestackArgs.builder()\n            .name(\"example\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .build());\n\n        var exampleLocalRulestackCertificate = new LocalRulestackCertificate(\"exampleLocalRulestackCertificate\", LocalRulestackCertificateArgs.builder()\n            .name(\"example\")\n            .rulestackId(exampleLocalRulestack.id())\n            .selfSigned(true)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: rg-example\n      location: West Europe\n  exampleLocalRulestack:\n    type: azure:paloalto:LocalRulestack\n    name: example\n    properties:\n      name: example\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n  exampleLocalRulestackCertificate:\n    type: azure:paloalto:LocalRulestackCertificate\n    name: example\n    properties:\n      name: example\n      rulestackId: ${exampleLocalRulestack.id}\n      selfSigned: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `PaloAltoNetworks.Cloudngfw` - 2022-08-29\n\n## Import\n\nPalo Alto Networks Rulestack Certificates can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:paloalto/localRulestackCertificate:LocalRulestackCertificate example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/PaloAltoNetworks.Cloudngfw/localRulestacks/myLocalRulestack/certificates/myCertificate\n```\n\n","properties":{"auditComment":{"type":"string","description":"The comment for Audit purposes.\n"},"description":{"type":"string","description":"The description for the Certificate.\n"},"keyVaultCertificateId":{"type":"string","description":"The \u003cspan pulumi-lang-nodejs=\"`versionlesId`\" pulumi-lang-dotnet=\"`VersionlesId`\" pulumi-lang-go=\"`versionlesId`\" pulumi-lang-python=\"`versionles_id`\" pulumi-lang-yaml=\"`versionlesId`\" pulumi-lang-java=\"`versionlesId`\"\u003e`versionles_id`\u003c/span\u003e of the Key Vault Certificate to use. Changing this forces a new Palo Alto Networks Rulestack Certificate to be created.\n"},"name":{"type":"string","description":"The name which should be used for this Palo Alto Networks Rulestack Certificate.\n"},"rulestackId":{"type":"string","description":"The ID of the TODO. Changing this forces a new Palo Alto Networks Rulestack Certificate to be created.\n"},"selfSigned":{"type":"boolean","description":"Should a Self Signed Certificate be used. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Changing this forces a new Palo Alto Networks Rulestack Certificate to be created.\n\n\u003e **Note:** One and only one of \u003cspan pulumi-lang-nodejs=\"`selfSigned`\" pulumi-lang-dotnet=\"`SelfSigned`\" pulumi-lang-go=\"`selfSigned`\" pulumi-lang-python=\"`self_signed`\" pulumi-lang-yaml=\"`selfSigned`\" pulumi-lang-java=\"`selfSigned`\"\u003e`self_signed`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`keyVaultCertificateId`\" pulumi-lang-dotnet=\"`KeyVaultCertificateId`\" pulumi-lang-go=\"`keyVaultCertificateId`\" pulumi-lang-python=\"`key_vault_certificate_id`\" pulumi-lang-yaml=\"`keyVaultCertificateId`\" pulumi-lang-java=\"`keyVaultCertificateId`\"\u003e`key_vault_certificate_id`\u003c/span\u003e must be specified.\n"}},"required":["name","rulestackId"],"inputProperties":{"auditComment":{"type":"string","description":"The comment for Audit purposes.\n"},"description":{"type":"string","description":"The description for the Certificate.\n"},"keyVaultCertificateId":{"type":"string","description":"The \u003cspan pulumi-lang-nodejs=\"`versionlesId`\" pulumi-lang-dotnet=\"`VersionlesId`\" pulumi-lang-go=\"`versionlesId`\" pulumi-lang-python=\"`versionles_id`\" pulumi-lang-yaml=\"`versionlesId`\" pulumi-lang-java=\"`versionlesId`\"\u003e`versionles_id`\u003c/span\u003e of the Key Vault Certificate to use. Changing this forces a new Palo Alto Networks Rulestack Certificate to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Palo Alto Networks Rulestack Certificate.\n"},"rulestackId":{"type":"string","description":"The ID of the TODO. Changing this forces a new Palo Alto Networks Rulestack Certificate to be created.\n","willReplaceOnChanges":true},"selfSigned":{"type":"boolean","description":"Should a Self Signed Certificate be used. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Changing this forces a new Palo Alto Networks Rulestack Certificate to be created.\n\n\u003e **Note:** One and only one of \u003cspan pulumi-lang-nodejs=\"`selfSigned`\" pulumi-lang-dotnet=\"`SelfSigned`\" pulumi-lang-go=\"`selfSigned`\" pulumi-lang-python=\"`self_signed`\" pulumi-lang-yaml=\"`selfSigned`\" pulumi-lang-java=\"`selfSigned`\"\u003e`self_signed`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`keyVaultCertificateId`\" pulumi-lang-dotnet=\"`KeyVaultCertificateId`\" pulumi-lang-go=\"`keyVaultCertificateId`\" pulumi-lang-python=\"`key_vault_certificate_id`\" pulumi-lang-yaml=\"`keyVaultCertificateId`\" pulumi-lang-java=\"`keyVaultCertificateId`\"\u003e`key_vault_certificate_id`\u003c/span\u003e must be specified.\n","willReplaceOnChanges":true}},"requiredInputs":["rulestackId"],"stateInputs":{"description":"Input properties used for looking up and filtering LocalRulestackCertificate resources.\n","properties":{"auditComment":{"type":"string","description":"The comment for Audit purposes.\n"},"description":{"type":"string","description":"The description for the Certificate.\n"},"keyVaultCertificateId":{"type":"string","description":"The \u003cspan pulumi-lang-nodejs=\"`versionlesId`\" pulumi-lang-dotnet=\"`VersionlesId`\" pulumi-lang-go=\"`versionlesId`\" pulumi-lang-python=\"`versionles_id`\" pulumi-lang-yaml=\"`versionlesId`\" pulumi-lang-java=\"`versionlesId`\"\u003e`versionles_id`\u003c/span\u003e of the Key Vault Certificate to use. Changing this forces a new Palo Alto Networks Rulestack Certificate to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Palo Alto Networks Rulestack Certificate.\n"},"rulestackId":{"type":"string","description":"The ID of the TODO. Changing this forces a new Palo Alto Networks Rulestack Certificate to be created.\n","willReplaceOnChanges":true},"selfSigned":{"type":"boolean","description":"Should a Self Signed Certificate be used. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Changing this forces a new Palo Alto Networks Rulestack Certificate to be created.\n\n\u003e **Note:** One and only one of \u003cspan pulumi-lang-nodejs=\"`selfSigned`\" pulumi-lang-dotnet=\"`SelfSigned`\" pulumi-lang-go=\"`selfSigned`\" pulumi-lang-python=\"`self_signed`\" pulumi-lang-yaml=\"`selfSigned`\" pulumi-lang-java=\"`selfSigned`\"\u003e`self_signed`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`keyVaultCertificateId`\" pulumi-lang-dotnet=\"`KeyVaultCertificateId`\" pulumi-lang-go=\"`keyVaultCertificateId`\" pulumi-lang-python=\"`key_vault_certificate_id`\" pulumi-lang-yaml=\"`keyVaultCertificateId`\" pulumi-lang-java=\"`keyVaultCertificateId`\"\u003e`key_vault_certificate_id`\u003c/span\u003e must be specified.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:paloalto/localRulestackFqdnList:LocalRulestackFqdnList":{"description":"Manages a Palo Alto Local Rulestack FQDN List.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"rg-example\",\n    location: \"West Europe\",\n});\nconst exampleLocalRulestack = new azure.paloalto.LocalRulestack(\"example\", {\n    name: \"example\",\n    resourceGroupName: exampleAzurermResrouceGroup.name,\n    location: example.location,\n});\nconst exampleLocalRulestackFqdnList = new azure.paloalto.LocalRulestackFqdnList(\"example\", {\n    name: \"example\",\n    rulestackId: exampleLocalRulestack.id,\n    fullyQualifiedDomainNames: [\"contoso.com\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"rg-example\",\n    location=\"West Europe\")\nexample_local_rulestack = azure.paloalto.LocalRulestack(\"example\",\n    name=\"example\",\n    resource_group_name=example_azurerm_resrouce_group[\"name\"],\n    location=example.location)\nexample_local_rulestack_fqdn_list = azure.paloalto.LocalRulestackFqdnList(\"example\",\n    name=\"example\",\n    rulestack_id=example_local_rulestack.id,\n    fully_qualified_domain_names=[\"contoso.com\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"rg-example\",\n        Location = \"West Europe\",\n    });\n\n    var exampleLocalRulestack = new Azure.PaloAlto.LocalRulestack(\"example\", new()\n    {\n        Name = \"example\",\n        ResourceGroupName = exampleAzurermResrouceGroup.Name,\n        Location = example.Location,\n    });\n\n    var exampleLocalRulestackFqdnList = new Azure.PaloAlto.LocalRulestackFqdnList(\"example\", new()\n    {\n        Name = \"example\",\n        RulestackId = exampleLocalRulestack.Id,\n        FullyQualifiedDomainNames = new[]\n        {\n            \"contoso.com\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/paloalto\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"rg-example\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleLocalRulestack, err := paloalto.NewLocalRulestack(ctx, \"example\", \u0026paloalto.LocalRulestackArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tResourceGroupName: pulumi.Any(exampleAzurermResrouceGroup.Name),\n\t\t\tLocation:          example.Location,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = paloalto.NewLocalRulestackFqdnList(ctx, \"example\", \u0026paloalto.LocalRulestackFqdnListArgs{\n\t\t\tName:        pulumi.String(\"example\"),\n\t\t\tRulestackId: exampleLocalRulestack.ID(),\n\t\t\tFullyQualifiedDomainNames: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"contoso.com\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.paloalto.LocalRulestack;\nimport com.pulumi.azure.paloalto.LocalRulestackArgs;\nimport com.pulumi.azure.paloalto.LocalRulestackFqdnList;\nimport com.pulumi.azure.paloalto.LocalRulestackFqdnListArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"rg-example\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleLocalRulestack = new LocalRulestack(\"exampleLocalRulestack\", LocalRulestackArgs.builder()\n            .name(\"example\")\n            .resourceGroupName(exampleAzurermResrouceGroup.name())\n            .location(example.location())\n            .build());\n\n        var exampleLocalRulestackFqdnList = new LocalRulestackFqdnList(\"exampleLocalRulestackFqdnList\", LocalRulestackFqdnListArgs.builder()\n            .name(\"example\")\n            .rulestackId(exampleLocalRulestack.id())\n            .fullyQualifiedDomainNames(\"contoso.com\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: rg-example\n      location: West Europe\n  exampleLocalRulestack:\n    type: azure:paloalto:LocalRulestack\n    name: example\n    properties:\n      name: example\n      resourceGroupName: ${exampleAzurermResrouceGroup.name}\n      location: ${example.location}\n  exampleLocalRulestackFqdnList:\n    type: azure:paloalto:LocalRulestackFqdnList\n    name: example\n    properties:\n      name: example\n      rulestackId: ${exampleLocalRulestack.id}\n      fullyQualifiedDomainNames:\n        - contoso.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `PaloAltoNetworks.Cloudngfw` - 2022-08-29\n\n## Import\n\nPalo Alto Local Rulestack FQDN Lists can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:paloalto/localRulestackFqdnList:LocalRulestackFqdnList example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/PaloAltoNetworks.Cloudngfw/localRulestacks/myLocalRulestack/fqdnLists/myFQDNList1\n```\n\n","properties":{"auditComment":{"type":"string","description":"The comment for Audit purposes.\n"},"description":{"type":"string","description":"The description for the FQDN List.\n"},"fullyQualifiedDomainNames":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Fully Qualified Domain Names.\n"},"name":{"type":"string","description":"The name which should be used for this Palo Alto Local Rulestack FQDN List.\n"},"rulestackId":{"type":"string","description":"The ID of the TODO. Changing this forces a new Palo Alto Local Rulestack FQDN List to be created.\n"}},"required":["fullyQualifiedDomainNames","name","rulestackId"],"inputProperties":{"auditComment":{"type":"string","description":"The comment for Audit purposes.\n"},"description":{"type":"string","description":"The description for the FQDN List.\n"},"fullyQualifiedDomainNames":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Fully Qualified Domain Names.\n"},"name":{"type":"string","description":"The name which should be used for this Palo Alto Local Rulestack FQDN List.\n"},"rulestackId":{"type":"string","description":"The ID of the TODO. Changing this forces a new Palo Alto Local Rulestack FQDN List to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["fullyQualifiedDomainNames","rulestackId"],"stateInputs":{"description":"Input properties used for looking up and filtering LocalRulestackFqdnList resources.\n","properties":{"auditComment":{"type":"string","description":"The comment for Audit purposes.\n"},"description":{"type":"string","description":"The description for the FQDN List.\n"},"fullyQualifiedDomainNames":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Fully Qualified Domain Names.\n"},"name":{"type":"string","description":"The name which should be used for this Palo Alto Local Rulestack FQDN List.\n"},"rulestackId":{"type":"string","description":"The ID of the TODO. Changing this forces a new Palo Alto Local Rulestack FQDN List to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:paloalto/localRulestackOutboundTrustCertificateAssociation:LocalRulestackOutboundTrustCertificateAssociation":{"description":"Manages a Palo Alto Networks Rulestack Outbound Trust Certificate Association.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"rg-example\",\n    location: \"West Europe\",\n});\nconst exampleLocalRulestack = new azure.paloalto.LocalRulestack(\"example\", {\n    name: \"example\",\n    resourceGroupName: example.name,\n    location: example.location,\n});\nconst exampleLocalRulestackCertificate = new azure.paloalto.LocalRulestackCertificate(\"example\", {\n    name: \"example\",\n    rulestackId: exampleLocalRulestack.id,\n    selfSigned: true,\n});\nconst exampleLocalRulestackOutboundTrustCertificateAssociation = new azure.paloalto.LocalRulestackOutboundTrustCertificateAssociation(\"example\", {certificateId: exampleLocalRulestackCertificate.id});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"rg-example\",\n    location=\"West Europe\")\nexample_local_rulestack = azure.paloalto.LocalRulestack(\"example\",\n    name=\"example\",\n    resource_group_name=example.name,\n    location=example.location)\nexample_local_rulestack_certificate = azure.paloalto.LocalRulestackCertificate(\"example\",\n    name=\"example\",\n    rulestack_id=example_local_rulestack.id,\n    self_signed=True)\nexample_local_rulestack_outbound_trust_certificate_association = azure.paloalto.LocalRulestackOutboundTrustCertificateAssociation(\"example\", certificate_id=example_local_rulestack_certificate.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"rg-example\",\n        Location = \"West Europe\",\n    });\n\n    var exampleLocalRulestack = new Azure.PaloAlto.LocalRulestack(\"example\", new()\n    {\n        Name = \"example\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n    });\n\n    var exampleLocalRulestackCertificate = new Azure.PaloAlto.LocalRulestackCertificate(\"example\", new()\n    {\n        Name = \"example\",\n        RulestackId = exampleLocalRulestack.Id,\n        SelfSigned = true,\n    });\n\n    var exampleLocalRulestackOutboundTrustCertificateAssociation = new Azure.PaloAlto.LocalRulestackOutboundTrustCertificateAssociation(\"example\", new()\n    {\n        CertificateId = exampleLocalRulestackCertificate.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/paloalto\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"rg-example\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleLocalRulestack, err := paloalto.NewLocalRulestack(ctx, \"example\", \u0026paloalto.LocalRulestackArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleLocalRulestackCertificate, err := paloalto.NewLocalRulestackCertificate(ctx, \"example\", \u0026paloalto.LocalRulestackCertificateArgs{\n\t\t\tName:        pulumi.String(\"example\"),\n\t\t\tRulestackId: exampleLocalRulestack.ID(),\n\t\t\tSelfSigned:  pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = paloalto.NewLocalRulestackOutboundTrustCertificateAssociation(ctx, \"example\", \u0026paloalto.LocalRulestackOutboundTrustCertificateAssociationArgs{\n\t\t\tCertificateId: exampleLocalRulestackCertificate.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.paloalto.LocalRulestack;\nimport com.pulumi.azure.paloalto.LocalRulestackArgs;\nimport com.pulumi.azure.paloalto.LocalRulestackCertificate;\nimport com.pulumi.azure.paloalto.LocalRulestackCertificateArgs;\nimport com.pulumi.azure.paloalto.LocalRulestackOutboundTrustCertificateAssociation;\nimport com.pulumi.azure.paloalto.LocalRulestackOutboundTrustCertificateAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"rg-example\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleLocalRulestack = new LocalRulestack(\"exampleLocalRulestack\", LocalRulestackArgs.builder()\n            .name(\"example\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .build());\n\n        var exampleLocalRulestackCertificate = new LocalRulestackCertificate(\"exampleLocalRulestackCertificate\", LocalRulestackCertificateArgs.builder()\n            .name(\"example\")\n            .rulestackId(exampleLocalRulestack.id())\n            .selfSigned(true)\n            .build());\n\n        var exampleLocalRulestackOutboundTrustCertificateAssociation = new LocalRulestackOutboundTrustCertificateAssociation(\"exampleLocalRulestackOutboundTrustCertificateAssociation\", LocalRulestackOutboundTrustCertificateAssociationArgs.builder()\n            .certificateId(exampleLocalRulestackCertificate.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: rg-example\n      location: West Europe\n  exampleLocalRulestack:\n    type: azure:paloalto:LocalRulestack\n    name: example\n    properties:\n      name: example\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n  exampleLocalRulestackCertificate:\n    type: azure:paloalto:LocalRulestackCertificate\n    name: example\n    properties:\n      name: example\n      rulestackId: ${exampleLocalRulestack.id}\n      selfSigned: true\n  exampleLocalRulestackOutboundTrustCertificateAssociation:\n    type: azure:paloalto:LocalRulestackOutboundTrustCertificateAssociation\n    name: example\n    properties:\n      certificateId: ${exampleLocalRulestackCertificate.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `PaloAltoNetworks.Cloudngfw` - 2022-08-29\n","properties":{"certificateId":{"type":"string","description":"The ID of the Certificate to use as the Outbound Trust Certificate. Changing this forces a new Palo Alto Networks Rulestack Outbound Trust Certificate Association to be created.\n"}},"required":["certificateId"],"inputProperties":{"certificateId":{"type":"string","description":"The ID of the Certificate to use as the Outbound Trust Certificate. Changing this forces a new Palo Alto Networks Rulestack Outbound Trust Certificate Association to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["certificateId"],"stateInputs":{"description":"Input properties used for looking up and filtering LocalRulestackOutboundTrustCertificateAssociation resources.\n","properties":{"certificateId":{"type":"string","description":"The ID of the Certificate to use as the Outbound Trust Certificate. Changing this forces a new Palo Alto Networks Rulestack Outbound Trust Certificate Association to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:paloalto/localRulestackOutboundUntrustCertificateAssociation:LocalRulestackOutboundUntrustCertificateAssociation":{"description":"Manages a Palo Alto Networks Rulestack Outbound Untrust Certificate Association.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"rg-example\",\n    location: \"West Europe\",\n});\nconst exampleLocalRulestack = new azure.paloalto.LocalRulestack(\"example\", {\n    name: \"example\",\n    resourceGroupName: example.name,\n    location: example.location,\n});\nconst exampleLocalRulestackCertificate = new azure.paloalto.LocalRulestackCertificate(\"example\", {\n    name: \"example\",\n    rulestackId: exampleLocalRulestack.id,\n    selfSigned: true,\n});\nconst exampleLocalRulestackOutboundUntrustCertificateAssociation = new azure.paloalto.LocalRulestackOutboundUntrustCertificateAssociation(\"example\", {certificateId: exampleLocalRulestackCertificate.id});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"rg-example\",\n    location=\"West Europe\")\nexample_local_rulestack = azure.paloalto.LocalRulestack(\"example\",\n    name=\"example\",\n    resource_group_name=example.name,\n    location=example.location)\nexample_local_rulestack_certificate = azure.paloalto.LocalRulestackCertificate(\"example\",\n    name=\"example\",\n    rulestack_id=example_local_rulestack.id,\n    self_signed=True)\nexample_local_rulestack_outbound_untrust_certificate_association = azure.paloalto.LocalRulestackOutboundUntrustCertificateAssociation(\"example\", certificate_id=example_local_rulestack_certificate.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"rg-example\",\n        Location = \"West Europe\",\n    });\n\n    var exampleLocalRulestack = new Azure.PaloAlto.LocalRulestack(\"example\", new()\n    {\n        Name = \"example\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n    });\n\n    var exampleLocalRulestackCertificate = new Azure.PaloAlto.LocalRulestackCertificate(\"example\", new()\n    {\n        Name = \"example\",\n        RulestackId = exampleLocalRulestack.Id,\n        SelfSigned = true,\n    });\n\n    var exampleLocalRulestackOutboundUntrustCertificateAssociation = new Azure.PaloAlto.LocalRulestackOutboundUntrustCertificateAssociation(\"example\", new()\n    {\n        CertificateId = exampleLocalRulestackCertificate.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/paloalto\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"rg-example\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleLocalRulestack, err := paloalto.NewLocalRulestack(ctx, \"example\", \u0026paloalto.LocalRulestackArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleLocalRulestackCertificate, err := paloalto.NewLocalRulestackCertificate(ctx, \"example\", \u0026paloalto.LocalRulestackCertificateArgs{\n\t\t\tName:        pulumi.String(\"example\"),\n\t\t\tRulestackId: exampleLocalRulestack.ID(),\n\t\t\tSelfSigned:  pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = paloalto.NewLocalRulestackOutboundUntrustCertificateAssociation(ctx, \"example\", \u0026paloalto.LocalRulestackOutboundUntrustCertificateAssociationArgs{\n\t\t\tCertificateId: exampleLocalRulestackCertificate.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.paloalto.LocalRulestack;\nimport com.pulumi.azure.paloalto.LocalRulestackArgs;\nimport com.pulumi.azure.paloalto.LocalRulestackCertificate;\nimport com.pulumi.azure.paloalto.LocalRulestackCertificateArgs;\nimport com.pulumi.azure.paloalto.LocalRulestackOutboundUntrustCertificateAssociation;\nimport com.pulumi.azure.paloalto.LocalRulestackOutboundUntrustCertificateAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"rg-example\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleLocalRulestack = new LocalRulestack(\"exampleLocalRulestack\", LocalRulestackArgs.builder()\n            .name(\"example\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .build());\n\n        var exampleLocalRulestackCertificate = new LocalRulestackCertificate(\"exampleLocalRulestackCertificate\", LocalRulestackCertificateArgs.builder()\n            .name(\"example\")\n            .rulestackId(exampleLocalRulestack.id())\n            .selfSigned(true)\n            .build());\n\n        var exampleLocalRulestackOutboundUntrustCertificateAssociation = new LocalRulestackOutboundUntrustCertificateAssociation(\"exampleLocalRulestackOutboundUntrustCertificateAssociation\", LocalRulestackOutboundUntrustCertificateAssociationArgs.builder()\n            .certificateId(exampleLocalRulestackCertificate.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: rg-example\n      location: West Europe\n  exampleLocalRulestack:\n    type: azure:paloalto:LocalRulestack\n    name: example\n    properties:\n      name: example\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n  exampleLocalRulestackCertificate:\n    type: azure:paloalto:LocalRulestackCertificate\n    name: example\n    properties:\n      name: example\n      rulestackId: ${exampleLocalRulestack.id}\n      selfSigned: true\n  exampleLocalRulestackOutboundUntrustCertificateAssociation:\n    type: azure:paloalto:LocalRulestackOutboundUntrustCertificateAssociation\n    name: example\n    properties:\n      certificateId: ${exampleLocalRulestackCertificate.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `PaloAltoNetworks.Cloudngfw` - 2022-08-29\n","properties":{"certificateId":{"type":"string","description":"The ID of the Certificate to use as the Outbound Untrust Certificate. Changing this forces a new Palo Alto Networks Rulestack Outbound Untrust Certificate Association to be created.\n"}},"required":["certificateId"],"inputProperties":{"certificateId":{"type":"string","description":"The ID of the Certificate to use as the Outbound Untrust Certificate. Changing this forces a new Palo Alto Networks Rulestack Outbound Untrust Certificate Association to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["certificateId"],"stateInputs":{"description":"Input properties used for looking up and filtering LocalRulestackOutboundUntrustCertificateAssociation resources.\n","properties":{"certificateId":{"type":"string","description":"The ID of the Certificate to use as the Outbound Untrust Certificate. Changing this forces a new Palo Alto Networks Rulestack Outbound Untrust Certificate Association to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:paloalto/localRulestackPrefixList:LocalRulestackPrefixList":{"description":"Manages a Palo Alto Local Rulestack Prefix List.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"rg-example\",\n    location: \"West Europe\",\n});\nconst exampleLocalRulestack = new azure.paloalto.LocalRulestack(\"example\", {\n    name: \"example\",\n    resourceGroupName: example.name,\n    location: example.location,\n});\nconst exampleLocalRulestackPrefixList = new azure.paloalto.LocalRulestackPrefixList(\"example\", {\n    name: \"example\",\n    rulestackId: exampleLocalRulestack.id,\n    prefixLists: [\"10.0.1.0/24\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"rg-example\",\n    location=\"West Europe\")\nexample_local_rulestack = azure.paloalto.LocalRulestack(\"example\",\n    name=\"example\",\n    resource_group_name=example.name,\n    location=example.location)\nexample_local_rulestack_prefix_list = azure.paloalto.LocalRulestackPrefixList(\"example\",\n    name=\"example\",\n    rulestack_id=example_local_rulestack.id,\n    prefix_lists=[\"10.0.1.0/24\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"rg-example\",\n        Location = \"West Europe\",\n    });\n\n    var exampleLocalRulestack = new Azure.PaloAlto.LocalRulestack(\"example\", new()\n    {\n        Name = \"example\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n    });\n\n    var exampleLocalRulestackPrefixList = new Azure.PaloAlto.LocalRulestackPrefixList(\"example\", new()\n    {\n        Name = \"example\",\n        RulestackId = exampleLocalRulestack.Id,\n        PrefixLists = new[]\n        {\n            \"10.0.1.0/24\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/paloalto\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"rg-example\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleLocalRulestack, err := paloalto.NewLocalRulestack(ctx, \"example\", \u0026paloalto.LocalRulestackArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = paloalto.NewLocalRulestackPrefixList(ctx, \"example\", \u0026paloalto.LocalRulestackPrefixListArgs{\n\t\t\tName:        pulumi.String(\"example\"),\n\t\t\tRulestackId: exampleLocalRulestack.ID(),\n\t\t\tPrefixLists: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.1.0/24\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.paloalto.LocalRulestack;\nimport com.pulumi.azure.paloalto.LocalRulestackArgs;\nimport com.pulumi.azure.paloalto.LocalRulestackPrefixList;\nimport com.pulumi.azure.paloalto.LocalRulestackPrefixListArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"rg-example\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleLocalRulestack = new LocalRulestack(\"exampleLocalRulestack\", LocalRulestackArgs.builder()\n            .name(\"example\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .build());\n\n        var exampleLocalRulestackPrefixList = new LocalRulestackPrefixList(\"exampleLocalRulestackPrefixList\", LocalRulestackPrefixListArgs.builder()\n            .name(\"example\")\n            .rulestackId(exampleLocalRulestack.id())\n            .prefixLists(\"10.0.1.0/24\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: rg-example\n      location: West Europe\n  exampleLocalRulestack:\n    type: azure:paloalto:LocalRulestack\n    name: example\n    properties:\n      name: example\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n  exampleLocalRulestackPrefixList:\n    type: azure:paloalto:LocalRulestackPrefixList\n    name: example\n    properties:\n      name: example\n      rulestackId: ${exampleLocalRulestack.id}\n      prefixLists:\n        - 10.0.1.0/24\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `PaloAltoNetworks.Cloudngfw` - 2022-08-29\n\n## Import\n\nPalo Alto Local Rulestack Prefix Lists can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:paloalto/localRulestackPrefixList:LocalRulestackPrefixList example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/PaloAltoNetworks.Cloudngfw/localRulestacks/myLocalRulestack/prefixLists/myFQDNList1\n```\n\n","properties":{"auditComment":{"type":"string","description":"The comment for Audit purposes.\n"},"description":{"type":"string","description":"The description for the Prefix List.\n"},"name":{"type":"string","description":"The name which should be used for this Palo Alto Local Rulestack Prefix List.\n"},"prefixLists":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Prefixes.\n"},"rulestackId":{"type":"string","description":"The ID of the Local Rulestack on which to create this Prefix List. Changing this forces a new Palo Alto Local Rulestack Prefix List to be created.\n"}},"required":["name","prefixLists","rulestackId"],"inputProperties":{"auditComment":{"type":"string","description":"The comment for Audit purposes.\n"},"description":{"type":"string","description":"The description for the Prefix List.\n"},"name":{"type":"string","description":"The name which should be used for this Palo Alto Local Rulestack Prefix List.\n"},"prefixLists":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Prefixes.\n"},"rulestackId":{"type":"string","description":"The ID of the Local Rulestack on which to create this Prefix List. Changing this forces a new Palo Alto Local Rulestack Prefix List to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["prefixLists","rulestackId"],"stateInputs":{"description":"Input properties used for looking up and filtering LocalRulestackPrefixList resources.\n","properties":{"auditComment":{"type":"string","description":"The comment for Audit purposes.\n"},"description":{"type":"string","description":"The description for the Prefix List.\n"},"name":{"type":"string","description":"The name which should be used for this Palo Alto Local Rulestack Prefix List.\n"},"prefixLists":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Prefixes.\n"},"rulestackId":{"type":"string","description":"The ID of the Local Rulestack on which to create this Prefix List. Changing this forces a new Palo Alto Local Rulestack Prefix List to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:paloalto/localRulestackRule:LocalRulestackRule":{"description":"Manages a Palo Alto Local Rulestack Rule.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"rg-example\",\n    location: \"West Europe\",\n});\nconst exampleLocalRulestack = new azure.paloalto.LocalRulestack(\"example\", {\n    name: \"lrs-example\",\n    resourceGroupName: example.name,\n    location: example.location,\n});\nconst exampleLocalRulestackRule = new azure.paloalto.LocalRulestackRule(\"example\", {\n    name: \"example-rule\",\n    rulestackId: exampleLocalRulestack.id,\n    priority: 1000,\n    action: \"Allow\",\n    protocol: \"application-default\",\n    applications: [\"any\"],\n    source: {\n        cidrs: [\"10.0.0.0/8\"],\n    },\n    destination: {\n        cidrs: [\"192.168.16.0/24\"],\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"rg-example\",\n    location=\"West Europe\")\nexample_local_rulestack = azure.paloalto.LocalRulestack(\"example\",\n    name=\"lrs-example\",\n    resource_group_name=example.name,\n    location=example.location)\nexample_local_rulestack_rule = azure.paloalto.LocalRulestackRule(\"example\",\n    name=\"example-rule\",\n    rulestack_id=example_local_rulestack.id,\n    priority=1000,\n    action=\"Allow\",\n    protocol=\"application-default\",\n    applications=[\"any\"],\n    source={\n        \"cidrs\": [\"10.0.0.0/8\"],\n    },\n    destination={\n        \"cidrs\": [\"192.168.16.0/24\"],\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"rg-example\",\n        Location = \"West Europe\",\n    });\n\n    var exampleLocalRulestack = new Azure.PaloAlto.LocalRulestack(\"example\", new()\n    {\n        Name = \"lrs-example\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n    });\n\n    var exampleLocalRulestackRule = new Azure.PaloAlto.LocalRulestackRule(\"example\", new()\n    {\n        Name = \"example-rule\",\n        RulestackId = exampleLocalRulestack.Id,\n        Priority = 1000,\n        Action = \"Allow\",\n        Protocol = \"application-default\",\n        Applications = new[]\n        {\n            \"any\",\n        },\n        Source = new Azure.PaloAlto.Inputs.LocalRulestackRuleSourceArgs\n        {\n            Cidrs = new[]\n            {\n                \"10.0.0.0/8\",\n            },\n        },\n        Destination = new Azure.PaloAlto.Inputs.LocalRulestackRuleDestinationArgs\n        {\n            Cidrs = new[]\n            {\n                \"192.168.16.0/24\",\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/paloalto\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"rg-example\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleLocalRulestack, err := paloalto.NewLocalRulestack(ctx, \"example\", \u0026paloalto.LocalRulestackArgs{\n\t\t\tName:              pulumi.String(\"lrs-example\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = paloalto.NewLocalRulestackRule(ctx, \"example\", \u0026paloalto.LocalRulestackRuleArgs{\n\t\t\tName:        pulumi.String(\"example-rule\"),\n\t\t\tRulestackId: exampleLocalRulestack.ID(),\n\t\t\tPriority:    pulumi.Int(1000),\n\t\t\tAction:      pulumi.String(\"Allow\"),\n\t\t\tProtocol:    pulumi.String(\"application-default\"),\n\t\t\tApplications: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"any\"),\n\t\t\t},\n\t\t\tSource: \u0026paloalto.LocalRulestackRuleSourceArgs{\n\t\t\t\tCidrs: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"10.0.0.0/8\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tDestination: \u0026paloalto.LocalRulestackRuleDestinationArgs{\n\t\t\t\tCidrs: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"192.168.16.0/24\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.paloalto.LocalRulestack;\nimport com.pulumi.azure.paloalto.LocalRulestackArgs;\nimport com.pulumi.azure.paloalto.LocalRulestackRule;\nimport com.pulumi.azure.paloalto.LocalRulestackRuleArgs;\nimport com.pulumi.azure.paloalto.inputs.LocalRulestackRuleSourceArgs;\nimport com.pulumi.azure.paloalto.inputs.LocalRulestackRuleDestinationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"rg-example\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleLocalRulestack = new LocalRulestack(\"exampleLocalRulestack\", LocalRulestackArgs.builder()\n            .name(\"lrs-example\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .build());\n\n        var exampleLocalRulestackRule = new LocalRulestackRule(\"exampleLocalRulestackRule\", LocalRulestackRuleArgs.builder()\n            .name(\"example-rule\")\n            .rulestackId(exampleLocalRulestack.id())\n            .priority(1000)\n            .action(\"Allow\")\n            .protocol(\"application-default\")\n            .applications(\"any\")\n            .source(LocalRulestackRuleSourceArgs.builder()\n                .cidrs(\"10.0.0.0/8\")\n                .build())\n            .destination(LocalRulestackRuleDestinationArgs.builder()\n                .cidrs(\"192.168.16.0/24\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: rg-example\n      location: West Europe\n  exampleLocalRulestack:\n    type: azure:paloalto:LocalRulestack\n    name: example\n    properties:\n      name: lrs-example\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n  exampleLocalRulestackRule:\n    type: azure:paloalto:LocalRulestackRule\n    name: example\n    properties:\n      name: example-rule\n      rulestackId: ${exampleLocalRulestack.id}\n      priority: 1000\n      action: Allow\n      protocol: application-default\n      applications:\n        - any\n      source:\n        cidrs:\n          - 10.0.0.0/8\n      destination:\n        cidrs:\n          - 192.168.16.0/24\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `PaloAltoNetworks.Cloudngfw` - 2022-08-29\n\n## Import\n\nPalo Alto Local Rulestack Rules can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:paloalto/localRulestackRule:LocalRulestackRule example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/PaloAltoNetworks.Cloudngfw/localRulestacks/myLocalRulestack/localRules/myRule1\n```\n\n","properties":{"action":{"type":"string","description":"The action to take on the rule being triggered. Possible values are `Allow`, `DenyResetBoth`, `DenyResetServer` and `DenySilent`.\n"},"applications":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Applications.\n"},"auditComment":{"type":"string","description":"The comment for Audit purposes.\n"},"category":{"$ref":"#/types/azure:paloalto/LocalRulestackRuleCategory:LocalRulestackRuleCategory","description":"A \u003cspan pulumi-lang-nodejs=\"`category`\" pulumi-lang-dotnet=\"`Category`\" pulumi-lang-go=\"`category`\" pulumi-lang-python=\"`category`\" pulumi-lang-yaml=\"`category`\" pulumi-lang-java=\"`category`\"\u003e`category`\u003c/span\u003e block as defined below.\n"},"decryptionRuleType":{"type":"string","description":"The type of Decryption to perform on the rule. Possible values include `SSLInboundInspection`, `SSLOutboundInspection`, and `None`. Defaults to `None`.\n"},"description":{"type":"string","description":"The description for the rule.\n"},"destination":{"$ref":"#/types/azure:paloalto/LocalRulestackRuleDestination:LocalRulestackRuleDestination","description":"One or more \u003cspan pulumi-lang-nodejs=\"`destination`\" pulumi-lang-dotnet=\"`Destination`\" pulumi-lang-go=\"`destination`\" pulumi-lang-python=\"`destination`\" pulumi-lang-yaml=\"`destination`\" pulumi-lang-java=\"`destination`\"\u003e`destination`\u003c/span\u003e blocks as defined below.\n"},"enabled":{"type":"boolean","description":"Should this Rule be enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"inspectionCertificateId":{"type":"string","description":"The ID of the certificate for inbound inspection. Only valid when \u003cspan pulumi-lang-nodejs=\"`decryptionRuleType`\" pulumi-lang-dotnet=\"`DecryptionRuleType`\" pulumi-lang-go=\"`decryptionRuleType`\" pulumi-lang-python=\"`decryption_rule_type`\" pulumi-lang-yaml=\"`decryptionRuleType`\" pulumi-lang-java=\"`decryptionRuleType`\"\u003e`decryption_rule_type`\u003c/span\u003e is set to `SSLInboundInspection`.\n"},"loggingEnabled":{"type":"boolean","description":"Should Logging be enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"name":{"type":"string","description":"The name which should be used for this Palo Alto Local Rulestack Rule.\n"},"negateDestination":{"type":"boolean","description":"Should the inverse of the Destination configuration be used. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"negateSource":{"type":"boolean","description":"Should the inverse of the Source configuration be used. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"priority":{"type":"integer","description":"The Priority of this rule. Rules are executed in numerical order. Possible values are between 1 and 1000000. Changing this forces a new Palo Alto Local Rulestack Rule to be created.\n\n\u003e **Note:** This is the primary identifier of a rule, as such it is not possible to change the Priority of a rule once created.\n"},"protocol":{"type":"string","description":"The Protocol and port to use in the form `[protocol]:\u003cspan pulumi-lang-nodejs=\"[portNumber]\" pulumi-lang-dotnet=\"[PortNumber]\" pulumi-lang-go=\"[portNumber]\" pulumi-lang-python=\"[port_number]\" pulumi-lang-yaml=\"[portNumber]\" pulumi-lang-java=\"[portNumber]\"\u003e[port_number]\u003c/span\u003e` e.g. `TCP:8080` or `UDP:53`. Conflicts with \u003cspan pulumi-lang-nodejs=\"`protocolPorts`\" pulumi-lang-dotnet=\"`ProtocolPorts`\" pulumi-lang-go=\"`protocolPorts`\" pulumi-lang-python=\"`protocol_ports`\" pulumi-lang-yaml=\"`protocolPorts`\" pulumi-lang-java=\"`protocolPorts`\"\u003e`protocol_ports`\u003c/span\u003e.\n\n\u003e **Note:** In 4.0 or later versions, the default of \u003cspan pulumi-lang-nodejs=\"`protocol`\" pulumi-lang-dotnet=\"`Protocol`\" pulumi-lang-go=\"`protocol`\" pulumi-lang-python=\"`protocol`\" pulumi-lang-yaml=\"`protocol`\" pulumi-lang-java=\"`protocol`\"\u003e`protocol`\u003c/span\u003e will no longer be set by provider, exactly one of \u003cspan pulumi-lang-nodejs=\"`protocol`\" pulumi-lang-dotnet=\"`Protocol`\" pulumi-lang-go=\"`protocol`\" pulumi-lang-python=\"`protocol`\" pulumi-lang-yaml=\"`protocol`\" pulumi-lang-java=\"`protocol`\"\u003e`protocol`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`protocolPorts`\" pulumi-lang-dotnet=\"`ProtocolPorts`\" pulumi-lang-go=\"`protocolPorts`\" pulumi-lang-python=\"`protocol_ports`\" pulumi-lang-yaml=\"`protocolPorts`\" pulumi-lang-java=\"`protocolPorts`\"\u003e`protocol_ports`\u003c/span\u003e must be specified. You need to explicitly specify `protocol=\"application-default\"` to keep the the current default of the \u003cspan pulumi-lang-nodejs=\"`protocol`\" pulumi-lang-dotnet=\"`Protocol`\" pulumi-lang-go=\"`protocol`\" pulumi-lang-python=\"`protocol`\" pulumi-lang-yaml=\"`protocol`\" pulumi-lang-java=\"`protocol`\"\u003e`protocol`\u003c/span\u003e.\n"},"protocolPorts":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Protocol:Port entries. E.g. `[ \"TCP:80\", \"UDP:5431\" ]`. Conflicts with \u003cspan pulumi-lang-nodejs=\"`protocol`\" pulumi-lang-dotnet=\"`Protocol`\" pulumi-lang-go=\"`protocol`\" pulumi-lang-python=\"`protocol`\" pulumi-lang-yaml=\"`protocol`\" pulumi-lang-java=\"`protocol`\"\u003e`protocol`\u003c/span\u003e.\n"},"rulestackId":{"type":"string","description":"The ID of the Local Rulestack in which to create this Rule. Changing this forces a new Palo Alto Local Rulestack Rule to be created.\n"},"source":{"$ref":"#/types/azure:paloalto/LocalRulestackRuleSource:LocalRulestackRuleSource","description":"One or more \u003cspan pulumi-lang-nodejs=\"`source`\" pulumi-lang-dotnet=\"`Source`\" pulumi-lang-go=\"`source`\" pulumi-lang-python=\"`source`\" pulumi-lang-yaml=\"`source`\" pulumi-lang-java=\"`source`\"\u003e`source`\u003c/span\u003e blocks as defined below.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Palo Alto Local Rulestack Rule.\n"}},"required":["action","applications","destination","name","priority","rulestackId","source"],"inputProperties":{"action":{"type":"string","description":"The action to take on the rule being triggered. Possible values are `Allow`, `DenyResetBoth`, `DenyResetServer` and `DenySilent`.\n"},"applications":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Applications.\n"},"auditComment":{"type":"string","description":"The comment for Audit purposes.\n"},"category":{"$ref":"#/types/azure:paloalto/LocalRulestackRuleCategory:LocalRulestackRuleCategory","description":"A \u003cspan pulumi-lang-nodejs=\"`category`\" pulumi-lang-dotnet=\"`Category`\" pulumi-lang-go=\"`category`\" pulumi-lang-python=\"`category`\" pulumi-lang-yaml=\"`category`\" pulumi-lang-java=\"`category`\"\u003e`category`\u003c/span\u003e block as defined below.\n"},"decryptionRuleType":{"type":"string","description":"The type of Decryption to perform on the rule. Possible values include `SSLInboundInspection`, `SSLOutboundInspection`, and `None`. Defaults to `None`.\n"},"description":{"type":"string","description":"The description for the rule.\n"},"destination":{"$ref":"#/types/azure:paloalto/LocalRulestackRuleDestination:LocalRulestackRuleDestination","description":"One or more \u003cspan pulumi-lang-nodejs=\"`destination`\" pulumi-lang-dotnet=\"`Destination`\" pulumi-lang-go=\"`destination`\" pulumi-lang-python=\"`destination`\" pulumi-lang-yaml=\"`destination`\" pulumi-lang-java=\"`destination`\"\u003e`destination`\u003c/span\u003e blocks as defined below.\n"},"enabled":{"type":"boolean","description":"Should this Rule be enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"inspectionCertificateId":{"type":"string","description":"The ID of the certificate for inbound inspection. Only valid when \u003cspan pulumi-lang-nodejs=\"`decryptionRuleType`\" pulumi-lang-dotnet=\"`DecryptionRuleType`\" pulumi-lang-go=\"`decryptionRuleType`\" pulumi-lang-python=\"`decryption_rule_type`\" pulumi-lang-yaml=\"`decryptionRuleType`\" pulumi-lang-java=\"`decryptionRuleType`\"\u003e`decryption_rule_type`\u003c/span\u003e is set to `SSLInboundInspection`.\n"},"loggingEnabled":{"type":"boolean","description":"Should Logging be enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"name":{"type":"string","description":"The name which should be used for this Palo Alto Local Rulestack Rule.\n"},"negateDestination":{"type":"boolean","description":"Should the inverse of the Destination configuration be used. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"negateSource":{"type":"boolean","description":"Should the inverse of the Source configuration be used. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"priority":{"type":"integer","description":"The Priority of this rule. Rules are executed in numerical order. Possible values are between 1 and 1000000. Changing this forces a new Palo Alto Local Rulestack Rule to be created.\n\n\u003e **Note:** This is the primary identifier of a rule, as such it is not possible to change the Priority of a rule once created.\n","willReplaceOnChanges":true},"protocol":{"type":"string","description":"The Protocol and port to use in the form `[protocol]:\u003cspan pulumi-lang-nodejs=\"[portNumber]\" pulumi-lang-dotnet=\"[PortNumber]\" pulumi-lang-go=\"[portNumber]\" pulumi-lang-python=\"[port_number]\" pulumi-lang-yaml=\"[portNumber]\" pulumi-lang-java=\"[portNumber]\"\u003e[port_number]\u003c/span\u003e` e.g. `TCP:8080` or `UDP:53`. Conflicts with \u003cspan pulumi-lang-nodejs=\"`protocolPorts`\" pulumi-lang-dotnet=\"`ProtocolPorts`\" pulumi-lang-go=\"`protocolPorts`\" pulumi-lang-python=\"`protocol_ports`\" pulumi-lang-yaml=\"`protocolPorts`\" pulumi-lang-java=\"`protocolPorts`\"\u003e`protocol_ports`\u003c/span\u003e.\n\n\u003e **Note:** In 4.0 or later versions, the default of \u003cspan pulumi-lang-nodejs=\"`protocol`\" pulumi-lang-dotnet=\"`Protocol`\" pulumi-lang-go=\"`protocol`\" pulumi-lang-python=\"`protocol`\" pulumi-lang-yaml=\"`protocol`\" pulumi-lang-java=\"`protocol`\"\u003e`protocol`\u003c/span\u003e will no longer be set by provider, exactly one of \u003cspan pulumi-lang-nodejs=\"`protocol`\" pulumi-lang-dotnet=\"`Protocol`\" pulumi-lang-go=\"`protocol`\" pulumi-lang-python=\"`protocol`\" pulumi-lang-yaml=\"`protocol`\" pulumi-lang-java=\"`protocol`\"\u003e`protocol`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`protocolPorts`\" pulumi-lang-dotnet=\"`ProtocolPorts`\" pulumi-lang-go=\"`protocolPorts`\" pulumi-lang-python=\"`protocol_ports`\" pulumi-lang-yaml=\"`protocolPorts`\" pulumi-lang-java=\"`protocolPorts`\"\u003e`protocol_ports`\u003c/span\u003e must be specified. You need to explicitly specify `protocol=\"application-default\"` to keep the the current default of the \u003cspan pulumi-lang-nodejs=\"`protocol`\" pulumi-lang-dotnet=\"`Protocol`\" pulumi-lang-go=\"`protocol`\" pulumi-lang-python=\"`protocol`\" pulumi-lang-yaml=\"`protocol`\" pulumi-lang-java=\"`protocol`\"\u003e`protocol`\u003c/span\u003e.\n"},"protocolPorts":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Protocol:Port entries. E.g. `[ \"TCP:80\", \"UDP:5431\" ]`. Conflicts with \u003cspan pulumi-lang-nodejs=\"`protocol`\" pulumi-lang-dotnet=\"`Protocol`\" pulumi-lang-go=\"`protocol`\" pulumi-lang-python=\"`protocol`\" pulumi-lang-yaml=\"`protocol`\" pulumi-lang-java=\"`protocol`\"\u003e`protocol`\u003c/span\u003e.\n"},"rulestackId":{"type":"string","description":"The ID of the Local Rulestack in which to create this Rule. Changing this forces a new Palo Alto Local Rulestack Rule to be created.\n","willReplaceOnChanges":true},"source":{"$ref":"#/types/azure:paloalto/LocalRulestackRuleSource:LocalRulestackRuleSource","description":"One or more \u003cspan pulumi-lang-nodejs=\"`source`\" pulumi-lang-dotnet=\"`Source`\" pulumi-lang-go=\"`source`\" pulumi-lang-python=\"`source`\" pulumi-lang-yaml=\"`source`\" pulumi-lang-java=\"`source`\"\u003e`source`\u003c/span\u003e blocks as defined below.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Palo Alto Local Rulestack Rule.\n"}},"requiredInputs":["action","applications","destination","priority","rulestackId","source"],"stateInputs":{"description":"Input properties used for looking up and filtering LocalRulestackRule resources.\n","properties":{"action":{"type":"string","description":"The action to take on the rule being triggered. Possible values are `Allow`, `DenyResetBoth`, `DenyResetServer` and `DenySilent`.\n"},"applications":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Applications.\n"},"auditComment":{"type":"string","description":"The comment for Audit purposes.\n"},"category":{"$ref":"#/types/azure:paloalto/LocalRulestackRuleCategory:LocalRulestackRuleCategory","description":"A \u003cspan pulumi-lang-nodejs=\"`category`\" pulumi-lang-dotnet=\"`Category`\" pulumi-lang-go=\"`category`\" pulumi-lang-python=\"`category`\" pulumi-lang-yaml=\"`category`\" pulumi-lang-java=\"`category`\"\u003e`category`\u003c/span\u003e block as defined below.\n"},"decryptionRuleType":{"type":"string","description":"The type of Decryption to perform on the rule. Possible values include `SSLInboundInspection`, `SSLOutboundInspection`, and `None`. Defaults to `None`.\n"},"description":{"type":"string","description":"The description for the rule.\n"},"destination":{"$ref":"#/types/azure:paloalto/LocalRulestackRuleDestination:LocalRulestackRuleDestination","description":"One or more \u003cspan pulumi-lang-nodejs=\"`destination`\" pulumi-lang-dotnet=\"`Destination`\" pulumi-lang-go=\"`destination`\" pulumi-lang-python=\"`destination`\" pulumi-lang-yaml=\"`destination`\" pulumi-lang-java=\"`destination`\"\u003e`destination`\u003c/span\u003e blocks as defined below.\n"},"enabled":{"type":"boolean","description":"Should this Rule be enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"inspectionCertificateId":{"type":"string","description":"The ID of the certificate for inbound inspection. Only valid when \u003cspan pulumi-lang-nodejs=\"`decryptionRuleType`\" pulumi-lang-dotnet=\"`DecryptionRuleType`\" pulumi-lang-go=\"`decryptionRuleType`\" pulumi-lang-python=\"`decryption_rule_type`\" pulumi-lang-yaml=\"`decryptionRuleType`\" pulumi-lang-java=\"`decryptionRuleType`\"\u003e`decryption_rule_type`\u003c/span\u003e is set to `SSLInboundInspection`.\n"},"loggingEnabled":{"type":"boolean","description":"Should Logging be enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"name":{"type":"string","description":"The name which should be used for this Palo Alto Local Rulestack Rule.\n"},"negateDestination":{"type":"boolean","description":"Should the inverse of the Destination configuration be used. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"negateSource":{"type":"boolean","description":"Should the inverse of the Source configuration be used. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"priority":{"type":"integer","description":"The Priority of this rule. Rules are executed in numerical order. Possible values are between 1 and 1000000. Changing this forces a new Palo Alto Local Rulestack Rule to be created.\n\n\u003e **Note:** This is the primary identifier of a rule, as such it is not possible to change the Priority of a rule once created.\n","willReplaceOnChanges":true},"protocol":{"type":"string","description":"The Protocol and port to use in the form `[protocol]:\u003cspan pulumi-lang-nodejs=\"[portNumber]\" pulumi-lang-dotnet=\"[PortNumber]\" pulumi-lang-go=\"[portNumber]\" pulumi-lang-python=\"[port_number]\" pulumi-lang-yaml=\"[portNumber]\" pulumi-lang-java=\"[portNumber]\"\u003e[port_number]\u003c/span\u003e` e.g. `TCP:8080` or `UDP:53`. Conflicts with \u003cspan pulumi-lang-nodejs=\"`protocolPorts`\" pulumi-lang-dotnet=\"`ProtocolPorts`\" pulumi-lang-go=\"`protocolPorts`\" pulumi-lang-python=\"`protocol_ports`\" pulumi-lang-yaml=\"`protocolPorts`\" pulumi-lang-java=\"`protocolPorts`\"\u003e`protocol_ports`\u003c/span\u003e.\n\n\u003e **Note:** In 4.0 or later versions, the default of \u003cspan pulumi-lang-nodejs=\"`protocol`\" pulumi-lang-dotnet=\"`Protocol`\" pulumi-lang-go=\"`protocol`\" pulumi-lang-python=\"`protocol`\" pulumi-lang-yaml=\"`protocol`\" pulumi-lang-java=\"`protocol`\"\u003e`protocol`\u003c/span\u003e will no longer be set by provider, exactly one of \u003cspan pulumi-lang-nodejs=\"`protocol`\" pulumi-lang-dotnet=\"`Protocol`\" pulumi-lang-go=\"`protocol`\" pulumi-lang-python=\"`protocol`\" pulumi-lang-yaml=\"`protocol`\" pulumi-lang-java=\"`protocol`\"\u003e`protocol`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`protocolPorts`\" pulumi-lang-dotnet=\"`ProtocolPorts`\" pulumi-lang-go=\"`protocolPorts`\" pulumi-lang-python=\"`protocol_ports`\" pulumi-lang-yaml=\"`protocolPorts`\" pulumi-lang-java=\"`protocolPorts`\"\u003e`protocol_ports`\u003c/span\u003e must be specified. You need to explicitly specify `protocol=\"application-default\"` to keep the the current default of the \u003cspan pulumi-lang-nodejs=\"`protocol`\" pulumi-lang-dotnet=\"`Protocol`\" pulumi-lang-go=\"`protocol`\" pulumi-lang-python=\"`protocol`\" pulumi-lang-yaml=\"`protocol`\" pulumi-lang-java=\"`protocol`\"\u003e`protocol`\u003c/span\u003e.\n"},"protocolPorts":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Protocol:Port entries. E.g. `[ \"TCP:80\", \"UDP:5431\" ]`. Conflicts with \u003cspan pulumi-lang-nodejs=\"`protocol`\" pulumi-lang-dotnet=\"`Protocol`\" pulumi-lang-go=\"`protocol`\" pulumi-lang-python=\"`protocol`\" pulumi-lang-yaml=\"`protocol`\" pulumi-lang-java=\"`protocol`\"\u003e`protocol`\u003c/span\u003e.\n"},"rulestackId":{"type":"string","description":"The ID of the Local Rulestack in which to create this Rule. Changing this forces a new Palo Alto Local Rulestack Rule to be created.\n","willReplaceOnChanges":true},"source":{"$ref":"#/types/azure:paloalto/LocalRulestackRuleSource:LocalRulestackRuleSource","description":"One or more \u003cspan pulumi-lang-nodejs=\"`source`\" pulumi-lang-dotnet=\"`Source`\" pulumi-lang-go=\"`source`\" pulumi-lang-python=\"`source`\" pulumi-lang-yaml=\"`source`\" pulumi-lang-java=\"`source`\"\u003e`source`\u003c/span\u003e blocks as defined below.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Palo Alto Local Rulestack Rule.\n"}},"type":"object"}},"azure:paloalto/nextGenerationFirewallVirtualHubLocalRulestack:NextGenerationFirewallVirtualHubLocalRulestack":{"description":"Manages a Palo Alto Next Generation Firewall VHub Local Rulestack.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst examplePublicIp = new azure.network.PublicIp(\"example\", {\n    name: \"acceptanceTestPublicIp1\",\n    resourceGroupName: example.name,\n    location: example.location,\n    allocationMethod: \"Static\",\n    tags: {\n        environment: \"Production\",\n    },\n});\nconst exampleVirtualWan = new azure.network.VirtualWan(\"example\", {\n    name: \"example-virtualwan\",\n    resourceGroupName: example.name,\n    location: example.location,\n});\nconst exampleVirtualHub = new azure.network.VirtualHub(\"example\", {\n    name: \"example-virtualhub\",\n    resourceGroupName: example.name,\n    location: example.location,\n    virtualWanId: exampleVirtualWan.id,\n    addressPrefix: \"10.0.0.0/23\",\n    tags: {\n        hubSaaSPreview: \"true\",\n    },\n});\nconst exampleVirtualNetworkAppliance = new azure.paloalto.VirtualNetworkAppliance(\"example\", {\n    name: \"example-appliance\",\n    virtualHubId: exampleVirtualHub.id,\n});\nconst exampleNextGenerationFirewallVirtualHubLocalRulestack = new azure.paloalto.NextGenerationFirewallVirtualHubLocalRulestack(\"example\", {\n    name: \"example-ngfwvn\",\n    resourceGroupName: example.name,\n    rulestackId: exampleAzurermPaloAltoLocalRulestack.id,\n    networkProfile: {\n        publicIpAddressIds: [examplePublicIp.id],\n        virtualHubId: exampleVirtualHub.id,\n        networkVirtualApplianceId: exampleVirtualNetworkAppliance.id,\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_public_ip = azure.network.PublicIp(\"example\",\n    name=\"acceptanceTestPublicIp1\",\n    resource_group_name=example.name,\n    location=example.location,\n    allocation_method=\"Static\",\n    tags={\n        \"environment\": \"Production\",\n    })\nexample_virtual_wan = azure.network.VirtualWan(\"example\",\n    name=\"example-virtualwan\",\n    resource_group_name=example.name,\n    location=example.location)\nexample_virtual_hub = azure.network.VirtualHub(\"example\",\n    name=\"example-virtualhub\",\n    resource_group_name=example.name,\n    location=example.location,\n    virtual_wan_id=example_virtual_wan.id,\n    address_prefix=\"10.0.0.0/23\",\n    tags={\n        \"hubSaaSPreview\": \"true\",\n    })\nexample_virtual_network_appliance = azure.paloalto.VirtualNetworkAppliance(\"example\",\n    name=\"example-appliance\",\n    virtual_hub_id=example_virtual_hub.id)\nexample_next_generation_firewall_virtual_hub_local_rulestack = azure.paloalto.NextGenerationFirewallVirtualHubLocalRulestack(\"example\",\n    name=\"example-ngfwvn\",\n    resource_group_name=example.name,\n    rulestack_id=example_azurerm_palo_alto_local_rulestack[\"id\"],\n    network_profile={\n        \"public_ip_address_ids\": [example_public_ip.id],\n        \"virtual_hub_id\": example_virtual_hub.id,\n        \"network_virtual_appliance_id\": example_virtual_network_appliance.id,\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var examplePublicIp = new Azure.Network.PublicIp(\"example\", new()\n    {\n        Name = \"acceptanceTestPublicIp1\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        AllocationMethod = \"Static\",\n        Tags = \n        {\n            { \"environment\", \"Production\" },\n        },\n    });\n\n    var exampleVirtualWan = new Azure.Network.VirtualWan(\"example\", new()\n    {\n        Name = \"example-virtualwan\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n    });\n\n    var exampleVirtualHub = new Azure.Network.VirtualHub(\"example\", new()\n    {\n        Name = \"example-virtualhub\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        VirtualWanId = exampleVirtualWan.Id,\n        AddressPrefix = \"10.0.0.0/23\",\n        Tags = \n        {\n            { \"hubSaaSPreview\", \"true\" },\n        },\n    });\n\n    var exampleVirtualNetworkAppliance = new Azure.PaloAlto.VirtualNetworkAppliance(\"example\", new()\n    {\n        Name = \"example-appliance\",\n        VirtualHubId = exampleVirtualHub.Id,\n    });\n\n    var exampleNextGenerationFirewallVirtualHubLocalRulestack = new Azure.PaloAlto.NextGenerationFirewallVirtualHubLocalRulestack(\"example\", new()\n    {\n        Name = \"example-ngfwvn\",\n        ResourceGroupName = example.Name,\n        RulestackId = exampleAzurermPaloAltoLocalRulestack.Id,\n        NetworkProfile = new Azure.PaloAlto.Inputs.NextGenerationFirewallVirtualHubLocalRulestackNetworkProfileArgs\n        {\n            PublicIpAddressIds = new[]\n            {\n                examplePublicIp.Id,\n            },\n            VirtualHubId = exampleVirtualHub.Id,\n            NetworkVirtualApplianceId = exampleVirtualNetworkAppliance.Id,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/paloalto\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texamplePublicIp, err := network.NewPublicIp(ctx, \"example\", \u0026network.PublicIpArgs{\n\t\t\tName:              pulumi.String(\"acceptanceTestPublicIp1\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tAllocationMethod:  pulumi.String(\"Static\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"environment\": pulumi.String(\"Production\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualWan, err := network.NewVirtualWan(ctx, \"example\", \u0026network.VirtualWanArgs{\n\t\t\tName:              pulumi.String(\"example-virtualwan\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualHub, err := network.NewVirtualHub(ctx, \"example\", \u0026network.VirtualHubArgs{\n\t\t\tName:              pulumi.String(\"example-virtualhub\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tVirtualWanId:      exampleVirtualWan.ID(),\n\t\t\tAddressPrefix:     pulumi.String(\"10.0.0.0/23\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"hubSaaSPreview\": pulumi.String(\"true\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualNetworkAppliance, err := paloalto.NewVirtualNetworkAppliance(ctx, \"example\", \u0026paloalto.VirtualNetworkApplianceArgs{\n\t\t\tName:         pulumi.String(\"example-appliance\"),\n\t\t\tVirtualHubId: exampleVirtualHub.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = paloalto.NewNextGenerationFirewallVirtualHubLocalRulestack(ctx, \"example\", \u0026paloalto.NextGenerationFirewallVirtualHubLocalRulestackArgs{\n\t\t\tName:              pulumi.String(\"example-ngfwvn\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tRulestackId:       pulumi.Any(exampleAzurermPaloAltoLocalRulestack.Id),\n\t\t\tNetworkProfile: \u0026paloalto.NextGenerationFirewallVirtualHubLocalRulestackNetworkProfileArgs{\n\t\t\t\tPublicIpAddressIds: pulumi.StringArray{\n\t\t\t\t\texamplePublicIp.ID(),\n\t\t\t\t},\n\t\t\t\tVirtualHubId:              exampleVirtualHub.ID(),\n\t\t\t\tNetworkVirtualApplianceId: exampleVirtualNetworkAppliance.ID(),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.PublicIp;\nimport com.pulumi.azure.network.PublicIpArgs;\nimport com.pulumi.azure.network.VirtualWan;\nimport com.pulumi.azure.network.VirtualWanArgs;\nimport com.pulumi.azure.network.VirtualHub;\nimport com.pulumi.azure.network.VirtualHubArgs;\nimport com.pulumi.azure.paloalto.VirtualNetworkAppliance;\nimport com.pulumi.azure.paloalto.VirtualNetworkApplianceArgs;\nimport com.pulumi.azure.paloalto.NextGenerationFirewallVirtualHubLocalRulestack;\nimport com.pulumi.azure.paloalto.NextGenerationFirewallVirtualHubLocalRulestackArgs;\nimport com.pulumi.azure.paloalto.inputs.NextGenerationFirewallVirtualHubLocalRulestackNetworkProfileArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var examplePublicIp = new PublicIp(\"examplePublicIp\", PublicIpArgs.builder()\n            .name(\"acceptanceTestPublicIp1\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .allocationMethod(\"Static\")\n            .tags(Map.of(\"environment\", \"Production\"))\n            .build());\n\n        var exampleVirtualWan = new VirtualWan(\"exampleVirtualWan\", VirtualWanArgs.builder()\n            .name(\"example-virtualwan\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .build());\n\n        var exampleVirtualHub = new VirtualHub(\"exampleVirtualHub\", VirtualHubArgs.builder()\n            .name(\"example-virtualhub\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .virtualWanId(exampleVirtualWan.id())\n            .addressPrefix(\"10.0.0.0/23\")\n            .tags(Map.of(\"hubSaaSPreview\", \"true\"))\n            .build());\n\n        var exampleVirtualNetworkAppliance = new VirtualNetworkAppliance(\"exampleVirtualNetworkAppliance\", VirtualNetworkApplianceArgs.builder()\n            .name(\"example-appliance\")\n            .virtualHubId(exampleVirtualHub.id())\n            .build());\n\n        var exampleNextGenerationFirewallVirtualHubLocalRulestack = new NextGenerationFirewallVirtualHubLocalRulestack(\"exampleNextGenerationFirewallVirtualHubLocalRulestack\", NextGenerationFirewallVirtualHubLocalRulestackArgs.builder()\n            .name(\"example-ngfwvn\")\n            .resourceGroupName(example.name())\n            .rulestackId(exampleAzurermPaloAltoLocalRulestack.id())\n            .networkProfile(NextGenerationFirewallVirtualHubLocalRulestackNetworkProfileArgs.builder()\n                .publicIpAddressIds(examplePublicIp.id())\n                .virtualHubId(exampleVirtualHub.id())\n                .networkVirtualApplianceId(exampleVirtualNetworkAppliance.id())\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  examplePublicIp:\n    type: azure:network:PublicIp\n    name: example\n    properties:\n      name: acceptanceTestPublicIp1\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      allocationMethod: Static\n      tags:\n        environment: Production\n  exampleVirtualWan:\n    type: azure:network:VirtualWan\n    name: example\n    properties:\n      name: example-virtualwan\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n  exampleVirtualHub:\n    type: azure:network:VirtualHub\n    name: example\n    properties:\n      name: example-virtualhub\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      virtualWanId: ${exampleVirtualWan.id}\n      addressPrefix: 10.0.0.0/23\n      tags:\n        hubSaaSPreview: 'true'\n  exampleVirtualNetworkAppliance:\n    type: azure:paloalto:VirtualNetworkAppliance\n    name: example\n    properties:\n      name: example-appliance\n      virtualHubId: ${exampleVirtualHub.id}\n  exampleNextGenerationFirewallVirtualHubLocalRulestack:\n    type: azure:paloalto:NextGenerationFirewallVirtualHubLocalRulestack\n    name: example\n    properties:\n      name: example-ngfwvn\n      resourceGroupName: ${example.name}\n      rulestackId: ${exampleAzurermPaloAltoLocalRulestack.id}\n      networkProfile:\n        publicIpAddressIds:\n          - ${examplePublicIp.id}\n        virtualHubId: ${exampleVirtualHub.id}\n        networkVirtualApplianceId: ${exampleVirtualNetworkAppliance.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `PaloAltoNetworks.Cloudngfw` - 2025-05-23, 2022-08-29\n\n## Import\n\nPalo Alto Next Generation Firewall VHub Local Rulestacks can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:paloalto/nextGenerationFirewallVirtualHubLocalRulestack:NextGenerationFirewallVirtualHubLocalRulestack example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/PaloAltoNetworks.Cloudngfw/firewalls/myVhubRulestackFW\n```\n\n","properties":{"destinationNats":{"type":"array","items":{"$ref":"#/types/azure:paloalto/NextGenerationFirewallVirtualHubLocalRulestackDestinationNat:NextGenerationFirewallVirtualHubLocalRulestackDestinationNat"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`destinationNat`\" pulumi-lang-dotnet=\"`DestinationNat`\" pulumi-lang-go=\"`destinationNat`\" pulumi-lang-python=\"`destination_nat`\" pulumi-lang-yaml=\"`destinationNat`\" pulumi-lang-java=\"`destinationNat`\"\u003e`destination_nat`\u003c/span\u003e blocks as defined below.\n"},"dnsSettings":{"$ref":"#/types/azure:paloalto/NextGenerationFirewallVirtualHubLocalRulestackDnsSettings:NextGenerationFirewallVirtualHubLocalRulestackDnsSettings","description":"A \u003cspan pulumi-lang-nodejs=\"`dnsSettings`\" pulumi-lang-dotnet=\"`DnsSettings`\" pulumi-lang-go=\"`dnsSettings`\" pulumi-lang-python=\"`dns_settings`\" pulumi-lang-yaml=\"`dnsSettings`\" pulumi-lang-java=\"`dnsSettings`\"\u003e`dns_settings`\u003c/span\u003e block as defined below.\n"},"marketplaceOfferId":{"type":"string","description":"The marketplace offer ID. Defaults to \u003cspan pulumi-lang-nodejs=\"`panSwfwCloudNgfw`\" pulumi-lang-dotnet=\"`PanSwfwCloudNgfw`\" pulumi-lang-go=\"`panSwfwCloudNgfw`\" pulumi-lang-python=\"`pan_swfw_cloud_ngfw`\" pulumi-lang-yaml=\"`panSwfwCloudNgfw`\" pulumi-lang-java=\"`panSwfwCloudNgfw`\"\u003e`pan_swfw_cloud_ngfw`\u003c/span\u003e. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"The name which should be used for this Palo Alto Next Generation Firewall VHub Local Rulestack. Changing this forces a new Palo Alto Next Generation Firewall VHub Local Rulestack to be created.\n"},"networkProfile":{"$ref":"#/types/azure:paloalto/NextGenerationFirewallVirtualHubLocalRulestackNetworkProfile:NextGenerationFirewallVirtualHubLocalRulestackNetworkProfile","description":"A \u003cspan pulumi-lang-nodejs=\"`networkProfile`\" pulumi-lang-dotnet=\"`NetworkProfile`\" pulumi-lang-go=\"`networkProfile`\" pulumi-lang-python=\"`network_profile`\" pulumi-lang-yaml=\"`networkProfile`\" pulumi-lang-java=\"`networkProfile`\"\u003e`network_profile`\u003c/span\u003e block as defined below.\n"},"planId":{"type":"string","description":"The billing plan ID as published by Liftr.PAN. Defaults to `panw-cloud-ngfw-payg`.\n\n\u003e **Note:** The former \u003cspan pulumi-lang-nodejs=\"`planId`\" pulumi-lang-dotnet=\"`PlanId`\" pulumi-lang-go=\"`planId`\" pulumi-lang-python=\"`plan_id`\" pulumi-lang-yaml=\"`planId`\" pulumi-lang-java=\"`planId`\"\u003e`plan_id`\u003c/span\u003e `panw-cloud-ngfw-payg` is defined as stop sell, but has been set as the default to not break any existing resources that were originally provisioned with it. Users need to explicitly set \u003cspan pulumi-lang-nodejs=\"`planId`\" pulumi-lang-dotnet=\"`PlanId`\" pulumi-lang-go=\"`planId`\" pulumi-lang-python=\"`plan_id`\" pulumi-lang-yaml=\"`planId`\" pulumi-lang-java=\"`planId`\"\u003e`plan_id`\u003c/span\u003e to `panw-cngfw-payg` when creating new resources.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Palo Alto Next Generation Firewall VHub Local Rulestack should exist. Changing this forces a new Palo Alto Next Generation Firewall VHub Local Rulestack to be created.\n"},"rulestackId":{"type":"string","description":"The ID of the Local Rulestack to be used for this Next Generation Firewall.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Palo Alto Next Generation Firewall VHub Local Rulestack.\n"}},"required":["name","networkProfile","resourceGroupName","rulestackId"],"inputProperties":{"destinationNats":{"type":"array","items":{"$ref":"#/types/azure:paloalto/NextGenerationFirewallVirtualHubLocalRulestackDestinationNat:NextGenerationFirewallVirtualHubLocalRulestackDestinationNat"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`destinationNat`\" pulumi-lang-dotnet=\"`DestinationNat`\" pulumi-lang-go=\"`destinationNat`\" pulumi-lang-python=\"`destination_nat`\" pulumi-lang-yaml=\"`destinationNat`\" pulumi-lang-java=\"`destinationNat`\"\u003e`destination_nat`\u003c/span\u003e blocks as defined below.\n"},"dnsSettings":{"$ref":"#/types/azure:paloalto/NextGenerationFirewallVirtualHubLocalRulestackDnsSettings:NextGenerationFirewallVirtualHubLocalRulestackDnsSettings","description":"A \u003cspan pulumi-lang-nodejs=\"`dnsSettings`\" pulumi-lang-dotnet=\"`DnsSettings`\" pulumi-lang-go=\"`dnsSettings`\" pulumi-lang-python=\"`dns_settings`\" pulumi-lang-yaml=\"`dnsSettings`\" pulumi-lang-java=\"`dnsSettings`\"\u003e`dns_settings`\u003c/span\u003e block as defined below.\n"},"marketplaceOfferId":{"type":"string","description":"The marketplace offer ID. Defaults to \u003cspan pulumi-lang-nodejs=\"`panSwfwCloudNgfw`\" pulumi-lang-dotnet=\"`PanSwfwCloudNgfw`\" pulumi-lang-go=\"`panSwfwCloudNgfw`\" pulumi-lang-python=\"`pan_swfw_cloud_ngfw`\" pulumi-lang-yaml=\"`panSwfwCloudNgfw`\" pulumi-lang-java=\"`panSwfwCloudNgfw`\"\u003e`pan_swfw_cloud_ngfw`\u003c/span\u003e. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Palo Alto Next Generation Firewall VHub Local Rulestack. Changing this forces a new Palo Alto Next Generation Firewall VHub Local Rulestack to be created.\n","willReplaceOnChanges":true},"networkProfile":{"$ref":"#/types/azure:paloalto/NextGenerationFirewallVirtualHubLocalRulestackNetworkProfile:NextGenerationFirewallVirtualHubLocalRulestackNetworkProfile","description":"A \u003cspan pulumi-lang-nodejs=\"`networkProfile`\" pulumi-lang-dotnet=\"`NetworkProfile`\" pulumi-lang-go=\"`networkProfile`\" pulumi-lang-python=\"`network_profile`\" pulumi-lang-yaml=\"`networkProfile`\" pulumi-lang-java=\"`networkProfile`\"\u003e`network_profile`\u003c/span\u003e block as defined below.\n"},"planId":{"type":"string","description":"The billing plan ID as published by Liftr.PAN. Defaults to `panw-cloud-ngfw-payg`.\n\n\u003e **Note:** The former \u003cspan pulumi-lang-nodejs=\"`planId`\" pulumi-lang-dotnet=\"`PlanId`\" pulumi-lang-go=\"`planId`\" pulumi-lang-python=\"`plan_id`\" pulumi-lang-yaml=\"`planId`\" pulumi-lang-java=\"`planId`\"\u003e`plan_id`\u003c/span\u003e `panw-cloud-ngfw-payg` is defined as stop sell, but has been set as the default to not break any existing resources that were originally provisioned with it. Users need to explicitly set \u003cspan pulumi-lang-nodejs=\"`planId`\" pulumi-lang-dotnet=\"`PlanId`\" pulumi-lang-go=\"`planId`\" pulumi-lang-python=\"`plan_id`\" pulumi-lang-yaml=\"`planId`\" pulumi-lang-java=\"`planId`\"\u003e`plan_id`\u003c/span\u003e to `panw-cngfw-payg` when creating new resources.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Palo Alto Next Generation Firewall VHub Local Rulestack should exist. Changing this forces a new Palo Alto Next Generation Firewall VHub Local Rulestack to be created.\n","willReplaceOnChanges":true},"rulestackId":{"type":"string","description":"The ID of the Local Rulestack to be used for this Next Generation Firewall.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Palo Alto Next Generation Firewall VHub Local Rulestack.\n"}},"requiredInputs":["networkProfile","resourceGroupName","rulestackId"],"stateInputs":{"description":"Input properties used for looking up and filtering NextGenerationFirewallVirtualHubLocalRulestack resources.\n","properties":{"destinationNats":{"type":"array","items":{"$ref":"#/types/azure:paloalto/NextGenerationFirewallVirtualHubLocalRulestackDestinationNat:NextGenerationFirewallVirtualHubLocalRulestackDestinationNat"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`destinationNat`\" pulumi-lang-dotnet=\"`DestinationNat`\" pulumi-lang-go=\"`destinationNat`\" pulumi-lang-python=\"`destination_nat`\" pulumi-lang-yaml=\"`destinationNat`\" pulumi-lang-java=\"`destinationNat`\"\u003e`destination_nat`\u003c/span\u003e blocks as defined below.\n"},"dnsSettings":{"$ref":"#/types/azure:paloalto/NextGenerationFirewallVirtualHubLocalRulestackDnsSettings:NextGenerationFirewallVirtualHubLocalRulestackDnsSettings","description":"A \u003cspan pulumi-lang-nodejs=\"`dnsSettings`\" pulumi-lang-dotnet=\"`DnsSettings`\" pulumi-lang-go=\"`dnsSettings`\" pulumi-lang-python=\"`dns_settings`\" pulumi-lang-yaml=\"`dnsSettings`\" pulumi-lang-java=\"`dnsSettings`\"\u003e`dns_settings`\u003c/span\u003e block as defined below.\n"},"marketplaceOfferId":{"type":"string","description":"The marketplace offer ID. Defaults to \u003cspan pulumi-lang-nodejs=\"`panSwfwCloudNgfw`\" pulumi-lang-dotnet=\"`PanSwfwCloudNgfw`\" pulumi-lang-go=\"`panSwfwCloudNgfw`\" pulumi-lang-python=\"`pan_swfw_cloud_ngfw`\" pulumi-lang-yaml=\"`panSwfwCloudNgfw`\" pulumi-lang-java=\"`panSwfwCloudNgfw`\"\u003e`pan_swfw_cloud_ngfw`\u003c/span\u003e. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Palo Alto Next Generation Firewall VHub Local Rulestack. Changing this forces a new Palo Alto Next Generation Firewall VHub Local Rulestack to be created.\n","willReplaceOnChanges":true},"networkProfile":{"$ref":"#/types/azure:paloalto/NextGenerationFirewallVirtualHubLocalRulestackNetworkProfile:NextGenerationFirewallVirtualHubLocalRulestackNetworkProfile","description":"A \u003cspan pulumi-lang-nodejs=\"`networkProfile`\" pulumi-lang-dotnet=\"`NetworkProfile`\" pulumi-lang-go=\"`networkProfile`\" pulumi-lang-python=\"`network_profile`\" pulumi-lang-yaml=\"`networkProfile`\" pulumi-lang-java=\"`networkProfile`\"\u003e`network_profile`\u003c/span\u003e block as defined below.\n"},"planId":{"type":"string","description":"The billing plan ID as published by Liftr.PAN. Defaults to `panw-cloud-ngfw-payg`.\n\n\u003e **Note:** The former \u003cspan pulumi-lang-nodejs=\"`planId`\" pulumi-lang-dotnet=\"`PlanId`\" pulumi-lang-go=\"`planId`\" pulumi-lang-python=\"`plan_id`\" pulumi-lang-yaml=\"`planId`\" pulumi-lang-java=\"`planId`\"\u003e`plan_id`\u003c/span\u003e `panw-cloud-ngfw-payg` is defined as stop sell, but has been set as the default to not break any existing resources that were originally provisioned with it. Users need to explicitly set \u003cspan pulumi-lang-nodejs=\"`planId`\" pulumi-lang-dotnet=\"`PlanId`\" pulumi-lang-go=\"`planId`\" pulumi-lang-python=\"`plan_id`\" pulumi-lang-yaml=\"`planId`\" pulumi-lang-java=\"`planId`\"\u003e`plan_id`\u003c/span\u003e to `panw-cngfw-payg` when creating new resources.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Palo Alto Next Generation Firewall VHub Local Rulestack should exist. Changing this forces a new Palo Alto Next Generation Firewall VHub Local Rulestack to be created.\n","willReplaceOnChanges":true},"rulestackId":{"type":"string","description":"The ID of the Local Rulestack to be used for this Next Generation Firewall.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Palo Alto Next Generation Firewall VHub Local Rulestack.\n"}},"type":"object"}},"azure:paloalto/nextGenerationFirewallVirtualHubPanorama:NextGenerationFirewallVirtualHubPanorama":{"description":"Manages a Palo Alto Next Generation Firewall VHub Panorama.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst examplePublicIp = new azure.network.PublicIp(\"example\", {\n    name: \"acceptanceTestPublicIp1\",\n    resourceGroupName: example.name,\n    location: example.location,\n    allocationMethod: \"Static\",\n    tags: {\n        environment: \"Production\",\n    },\n});\nconst exampleVirtualWan = new azure.network.VirtualWan(\"example\", {\n    name: \"example-virtualwan\",\n    resourceGroupName: example.name,\n    location: example.location,\n});\nconst exampleVirtualHub = new azure.network.VirtualHub(\"example\", {\n    name: \"example-virtualhub\",\n    resourceGroupName: example.name,\n    location: example.location,\n    virtualWanId: exampleVirtualWan.id,\n    addressPrefix: \"10.0.0.0/23\",\n    tags: {\n        hubSaaSPreview: \"true\",\n    },\n});\nconst exampleVirtualNetworkAppliance = new azure.paloalto.VirtualNetworkAppliance(\"example\", {\n    name: \"example-appliance\",\n    virtualHubId: exampleVirtualHub.id,\n});\nconst exampleNextGenerationFirewallVirtualHubPanorama = new azure.paloalto.NextGenerationFirewallVirtualHubPanorama(\"example\", {\n    name: \"example\",\n    resourceGroupName: example.name,\n    location: example.location,\n    networkProfile: {\n        publicIpAddressIds: [examplePublicIp.id],\n        virtualHubId: exampleVirtualHub.id,\n        networkVirtualApplianceId: exampleVirtualNetworkAppliance.id,\n    },\n    panoramaBase64Config: \"VGhpcyBpcyBub3QgYSByZWFsIGNvbmZpZywgcGxlYXNlIHVzZSB5b3VyIFBhbm9yYW1hIHNlcnZlciB0byBnZW5lcmF0ZSBhIHJlYWwgdmFsdWUgZm9yIHRoaXMgcHJvcGVydHkhCg==\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_public_ip = azure.network.PublicIp(\"example\",\n    name=\"acceptanceTestPublicIp1\",\n    resource_group_name=example.name,\n    location=example.location,\n    allocation_method=\"Static\",\n    tags={\n        \"environment\": \"Production\",\n    })\nexample_virtual_wan = azure.network.VirtualWan(\"example\",\n    name=\"example-virtualwan\",\n    resource_group_name=example.name,\n    location=example.location)\nexample_virtual_hub = azure.network.VirtualHub(\"example\",\n    name=\"example-virtualhub\",\n    resource_group_name=example.name,\n    location=example.location,\n    virtual_wan_id=example_virtual_wan.id,\n    address_prefix=\"10.0.0.0/23\",\n    tags={\n        \"hubSaaSPreview\": \"true\",\n    })\nexample_virtual_network_appliance = azure.paloalto.VirtualNetworkAppliance(\"example\",\n    name=\"example-appliance\",\n    virtual_hub_id=example_virtual_hub.id)\nexample_next_generation_firewall_virtual_hub_panorama = azure.paloalto.NextGenerationFirewallVirtualHubPanorama(\"example\",\n    name=\"example\",\n    resource_group_name=example.name,\n    location=example.location,\n    network_profile={\n        \"public_ip_address_ids\": [example_public_ip.id],\n        \"virtual_hub_id\": example_virtual_hub.id,\n        \"network_virtual_appliance_id\": example_virtual_network_appliance.id,\n    },\n    panorama_base64_config=\"VGhpcyBpcyBub3QgYSByZWFsIGNvbmZpZywgcGxlYXNlIHVzZSB5b3VyIFBhbm9yYW1hIHNlcnZlciB0byBnZW5lcmF0ZSBhIHJlYWwgdmFsdWUgZm9yIHRoaXMgcHJvcGVydHkhCg==\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var examplePublicIp = new Azure.Network.PublicIp(\"example\", new()\n    {\n        Name = \"acceptanceTestPublicIp1\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        AllocationMethod = \"Static\",\n        Tags = \n        {\n            { \"environment\", \"Production\" },\n        },\n    });\n\n    var exampleVirtualWan = new Azure.Network.VirtualWan(\"example\", new()\n    {\n        Name = \"example-virtualwan\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n    });\n\n    var exampleVirtualHub = new Azure.Network.VirtualHub(\"example\", new()\n    {\n        Name = \"example-virtualhub\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        VirtualWanId = exampleVirtualWan.Id,\n        AddressPrefix = \"10.0.0.0/23\",\n        Tags = \n        {\n            { \"hubSaaSPreview\", \"true\" },\n        },\n    });\n\n    var exampleVirtualNetworkAppliance = new Azure.PaloAlto.VirtualNetworkAppliance(\"example\", new()\n    {\n        Name = \"example-appliance\",\n        VirtualHubId = exampleVirtualHub.Id,\n    });\n\n    var exampleNextGenerationFirewallVirtualHubPanorama = new Azure.PaloAlto.NextGenerationFirewallVirtualHubPanorama(\"example\", new()\n    {\n        Name = \"example\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        NetworkProfile = new Azure.PaloAlto.Inputs.NextGenerationFirewallVirtualHubPanoramaNetworkProfileArgs\n        {\n            PublicIpAddressIds = new[]\n            {\n                examplePublicIp.Id,\n            },\n            VirtualHubId = exampleVirtualHub.Id,\n            NetworkVirtualApplianceId = exampleVirtualNetworkAppliance.Id,\n        },\n        PanoramaBase64Config = \"VGhpcyBpcyBub3QgYSByZWFsIGNvbmZpZywgcGxlYXNlIHVzZSB5b3VyIFBhbm9yYW1hIHNlcnZlciB0byBnZW5lcmF0ZSBhIHJlYWwgdmFsdWUgZm9yIHRoaXMgcHJvcGVydHkhCg==\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/paloalto\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texamplePublicIp, err := network.NewPublicIp(ctx, \"example\", \u0026network.PublicIpArgs{\n\t\t\tName:              pulumi.String(\"acceptanceTestPublicIp1\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tAllocationMethod:  pulumi.String(\"Static\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"environment\": pulumi.String(\"Production\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualWan, err := network.NewVirtualWan(ctx, \"example\", \u0026network.VirtualWanArgs{\n\t\t\tName:              pulumi.String(\"example-virtualwan\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualHub, err := network.NewVirtualHub(ctx, \"example\", \u0026network.VirtualHubArgs{\n\t\t\tName:              pulumi.String(\"example-virtualhub\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tVirtualWanId:      exampleVirtualWan.ID(),\n\t\t\tAddressPrefix:     pulumi.String(\"10.0.0.0/23\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"hubSaaSPreview\": pulumi.String(\"true\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualNetworkAppliance, err := paloalto.NewVirtualNetworkAppliance(ctx, \"example\", \u0026paloalto.VirtualNetworkApplianceArgs{\n\t\t\tName:         pulumi.String(\"example-appliance\"),\n\t\t\tVirtualHubId: exampleVirtualHub.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = paloalto.NewNextGenerationFirewallVirtualHubPanorama(ctx, \"example\", \u0026paloalto.NextGenerationFirewallVirtualHubPanoramaArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tNetworkProfile: \u0026paloalto.NextGenerationFirewallVirtualHubPanoramaNetworkProfileArgs{\n\t\t\t\tPublicIpAddressIds: pulumi.StringArray{\n\t\t\t\t\texamplePublicIp.ID(),\n\t\t\t\t},\n\t\t\t\tVirtualHubId:              exampleVirtualHub.ID(),\n\t\t\t\tNetworkVirtualApplianceId: exampleVirtualNetworkAppliance.ID(),\n\t\t\t},\n\t\t\tPanoramaBase64Config: pulumi.String(\"VGhpcyBpcyBub3QgYSByZWFsIGNvbmZpZywgcGxlYXNlIHVzZSB5b3VyIFBhbm9yYW1hIHNlcnZlciB0byBnZW5lcmF0ZSBhIHJlYWwgdmFsdWUgZm9yIHRoaXMgcHJvcGVydHkhCg==\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.PublicIp;\nimport com.pulumi.azure.network.PublicIpArgs;\nimport com.pulumi.azure.network.VirtualWan;\nimport com.pulumi.azure.network.VirtualWanArgs;\nimport com.pulumi.azure.network.VirtualHub;\nimport com.pulumi.azure.network.VirtualHubArgs;\nimport com.pulumi.azure.paloalto.VirtualNetworkAppliance;\nimport com.pulumi.azure.paloalto.VirtualNetworkApplianceArgs;\nimport com.pulumi.azure.paloalto.NextGenerationFirewallVirtualHubPanorama;\nimport com.pulumi.azure.paloalto.NextGenerationFirewallVirtualHubPanoramaArgs;\nimport com.pulumi.azure.paloalto.inputs.NextGenerationFirewallVirtualHubPanoramaNetworkProfileArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var examplePublicIp = new PublicIp(\"examplePublicIp\", PublicIpArgs.builder()\n            .name(\"acceptanceTestPublicIp1\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .allocationMethod(\"Static\")\n            .tags(Map.of(\"environment\", \"Production\"))\n            .build());\n\n        var exampleVirtualWan = new VirtualWan(\"exampleVirtualWan\", VirtualWanArgs.builder()\n            .name(\"example-virtualwan\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .build());\n\n        var exampleVirtualHub = new VirtualHub(\"exampleVirtualHub\", VirtualHubArgs.builder()\n            .name(\"example-virtualhub\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .virtualWanId(exampleVirtualWan.id())\n            .addressPrefix(\"10.0.0.0/23\")\n            .tags(Map.of(\"hubSaaSPreview\", \"true\"))\n            .build());\n\n        var exampleVirtualNetworkAppliance = new VirtualNetworkAppliance(\"exampleVirtualNetworkAppliance\", VirtualNetworkApplianceArgs.builder()\n            .name(\"example-appliance\")\n            .virtualHubId(exampleVirtualHub.id())\n            .build());\n\n        var exampleNextGenerationFirewallVirtualHubPanorama = new NextGenerationFirewallVirtualHubPanorama(\"exampleNextGenerationFirewallVirtualHubPanorama\", NextGenerationFirewallVirtualHubPanoramaArgs.builder()\n            .name(\"example\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .networkProfile(NextGenerationFirewallVirtualHubPanoramaNetworkProfileArgs.builder()\n                .publicIpAddressIds(examplePublicIp.id())\n                .virtualHubId(exampleVirtualHub.id())\n                .networkVirtualApplianceId(exampleVirtualNetworkAppliance.id())\n                .build())\n            .panoramaBase64Config(\"VGhpcyBpcyBub3QgYSByZWFsIGNvbmZpZywgcGxlYXNlIHVzZSB5b3VyIFBhbm9yYW1hIHNlcnZlciB0byBnZW5lcmF0ZSBhIHJlYWwgdmFsdWUgZm9yIHRoaXMgcHJvcGVydHkhCg==\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  examplePublicIp:\n    type: azure:network:PublicIp\n    name: example\n    properties:\n      name: acceptanceTestPublicIp1\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      allocationMethod: Static\n      tags:\n        environment: Production\n  exampleVirtualWan:\n    type: azure:network:VirtualWan\n    name: example\n    properties:\n      name: example-virtualwan\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n  exampleVirtualHub:\n    type: azure:network:VirtualHub\n    name: example\n    properties:\n      name: example-virtualhub\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      virtualWanId: ${exampleVirtualWan.id}\n      addressPrefix: 10.0.0.0/23\n      tags:\n        hubSaaSPreview: 'true'\n  exampleVirtualNetworkAppliance:\n    type: azure:paloalto:VirtualNetworkAppliance\n    name: example\n    properties:\n      name: example-appliance\n      virtualHubId: ${exampleVirtualHub.id}\n  exampleNextGenerationFirewallVirtualHubPanorama:\n    type: azure:paloalto:NextGenerationFirewallVirtualHubPanorama\n    name: example\n    properties:\n      name: example\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      networkProfile:\n        publicIpAddressIds:\n          - ${examplePublicIp.id}\n        virtualHubId: ${exampleVirtualHub.id}\n        networkVirtualApplianceId: ${exampleVirtualNetworkAppliance.id}\n      panoramaBase64Config: VGhpcyBpcyBub3QgYSByZWFsIGNvbmZpZywgcGxlYXNlIHVzZSB5b3VyIFBhbm9yYW1hIHNlcnZlciB0byBnZW5lcmF0ZSBhIHJlYWwgdmFsdWUgZm9yIHRoaXMgcHJvcGVydHkhCg==\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `PaloAltoNetworks.Cloudngfw` - 2025-05-23\n\n## Import\n\nPalo Alto Next Generation Firewall VHub Panoramas can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:paloalto/nextGenerationFirewallVirtualHubPanorama:NextGenerationFirewallVirtualHubPanorama example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/PaloAltoNetworks.Cloudngfw/firewalls/myVhubPanoramaFW\n```\n\n","properties":{"destinationNats":{"type":"array","items":{"$ref":"#/types/azure:paloalto/NextGenerationFirewallVirtualHubPanoramaDestinationNat:NextGenerationFirewallVirtualHubPanoramaDestinationNat"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`destinationNat`\" pulumi-lang-dotnet=\"`DestinationNat`\" pulumi-lang-go=\"`destinationNat`\" pulumi-lang-python=\"`destination_nat`\" pulumi-lang-yaml=\"`destinationNat`\" pulumi-lang-java=\"`destinationNat`\"\u003e`destination_nat`\u003c/span\u003e blocks as defined below.\n"},"dnsSettings":{"$ref":"#/types/azure:paloalto/NextGenerationFirewallVirtualHubPanoramaDnsSettings:NextGenerationFirewallVirtualHubPanoramaDnsSettings","description":"A \u003cspan pulumi-lang-nodejs=\"`dnsSettings`\" pulumi-lang-dotnet=\"`DnsSettings`\" pulumi-lang-go=\"`dnsSettings`\" pulumi-lang-python=\"`dns_settings`\" pulumi-lang-yaml=\"`dnsSettings`\" pulumi-lang-java=\"`dnsSettings`\"\u003e`dns_settings`\u003c/span\u003e block as defined below.\n"},"location":{"type":"string","description":"The Azure Region where the Palo Alto Next Generation Firewall VHub Panorama should exist. Changing this forces a new Palo Alto Next Generation Firewall VHub Panorama to be created.\n"},"marketplaceOfferId":{"type":"string","description":"The marketplace offer ID. Defaults to \u003cspan pulumi-lang-nodejs=\"`panSwfwCloudNgfw`\" pulumi-lang-dotnet=\"`PanSwfwCloudNgfw`\" pulumi-lang-go=\"`panSwfwCloudNgfw`\" pulumi-lang-python=\"`pan_swfw_cloud_ngfw`\" pulumi-lang-yaml=\"`panSwfwCloudNgfw`\" pulumi-lang-java=\"`panSwfwCloudNgfw`\"\u003e`pan_swfw_cloud_ngfw`\u003c/span\u003e. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"The name which should be used for this Palo Alto Next Generation Firewall VHub Panorama. Changing this forces a new Palo Alto Next Generation Firewall VHub Panorama to be created.\n"},"networkProfile":{"$ref":"#/types/azure:paloalto/NextGenerationFirewallVirtualHubPanoramaNetworkProfile:NextGenerationFirewallVirtualHubPanoramaNetworkProfile","description":"A \u003cspan pulumi-lang-nodejs=\"`networkProfile`\" pulumi-lang-dotnet=\"`NetworkProfile`\" pulumi-lang-go=\"`networkProfile`\" pulumi-lang-python=\"`network_profile`\" pulumi-lang-yaml=\"`networkProfile`\" pulumi-lang-java=\"`networkProfile`\"\u003e`network_profile`\u003c/span\u003e block as defined below.\n"},"panoramaBase64Config":{"type":"string","description":"The Base64 Encoded configuration value for connecting to the Panorama Configuration server.\n"},"panoramas":{"type":"array","items":{"$ref":"#/types/azure:paloalto/NextGenerationFirewallVirtualHubPanoramaPanorama:NextGenerationFirewallVirtualHubPanoramaPanorama"}},"planId":{"type":"string","description":"The billing plan ID as published by Liftr.PAN. Defaults to `panw-cloud-ngfw-payg`.\n\n\u003e **Note:** The former \u003cspan pulumi-lang-nodejs=\"`planId`\" pulumi-lang-dotnet=\"`PlanId`\" pulumi-lang-go=\"`planId`\" pulumi-lang-python=\"`plan_id`\" pulumi-lang-yaml=\"`planId`\" pulumi-lang-java=\"`planId`\"\u003e`plan_id`\u003c/span\u003e `panw-cloud-ngfw-payg` is defined as stop sell, but has been set as the default to not break any existing resources that were originally provisioned with it. Users need to explicitly set \u003cspan pulumi-lang-nodejs=\"`planId`\" pulumi-lang-dotnet=\"`PlanId`\" pulumi-lang-go=\"`planId`\" pulumi-lang-python=\"`plan_id`\" pulumi-lang-yaml=\"`planId`\" pulumi-lang-java=\"`planId`\"\u003e`plan_id`\u003c/span\u003e to `panw-cngfw-payg` when creating new resources.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Palo Alto Next Generation Firewall VHub Panorama should exist. Changing this forces a new Palo Alto Next Generation Firewall VHub Panorama to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Palo Alto Next Generation Firewall VHub Panorama.\n"}},"required":["location","name","networkProfile","panoramas","panoramaBase64Config","resourceGroupName"],"inputProperties":{"destinationNats":{"type":"array","items":{"$ref":"#/types/azure:paloalto/NextGenerationFirewallVirtualHubPanoramaDestinationNat:NextGenerationFirewallVirtualHubPanoramaDestinationNat"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`destinationNat`\" pulumi-lang-dotnet=\"`DestinationNat`\" pulumi-lang-go=\"`destinationNat`\" pulumi-lang-python=\"`destination_nat`\" pulumi-lang-yaml=\"`destinationNat`\" pulumi-lang-java=\"`destinationNat`\"\u003e`destination_nat`\u003c/span\u003e blocks as defined below.\n"},"dnsSettings":{"$ref":"#/types/azure:paloalto/NextGenerationFirewallVirtualHubPanoramaDnsSettings:NextGenerationFirewallVirtualHubPanoramaDnsSettings","description":"A \u003cspan pulumi-lang-nodejs=\"`dnsSettings`\" pulumi-lang-dotnet=\"`DnsSettings`\" pulumi-lang-go=\"`dnsSettings`\" pulumi-lang-python=\"`dns_settings`\" pulumi-lang-yaml=\"`dnsSettings`\" pulumi-lang-java=\"`dnsSettings`\"\u003e`dns_settings`\u003c/span\u003e block as defined below.\n"},"location":{"type":"string","description":"The Azure Region where the Palo Alto Next Generation Firewall VHub Panorama should exist. Changing this forces a new Palo Alto Next Generation Firewall VHub Panorama to be created.\n","willReplaceOnChanges":true},"marketplaceOfferId":{"type":"string","description":"The marketplace offer ID. Defaults to \u003cspan pulumi-lang-nodejs=\"`panSwfwCloudNgfw`\" pulumi-lang-dotnet=\"`PanSwfwCloudNgfw`\" pulumi-lang-go=\"`panSwfwCloudNgfw`\" pulumi-lang-python=\"`pan_swfw_cloud_ngfw`\" pulumi-lang-yaml=\"`panSwfwCloudNgfw`\" pulumi-lang-java=\"`panSwfwCloudNgfw`\"\u003e`pan_swfw_cloud_ngfw`\u003c/span\u003e. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Palo Alto Next Generation Firewall VHub Panorama. Changing this forces a new Palo Alto Next Generation Firewall VHub Panorama to be created.\n","willReplaceOnChanges":true},"networkProfile":{"$ref":"#/types/azure:paloalto/NextGenerationFirewallVirtualHubPanoramaNetworkProfile:NextGenerationFirewallVirtualHubPanoramaNetworkProfile","description":"A \u003cspan pulumi-lang-nodejs=\"`networkProfile`\" pulumi-lang-dotnet=\"`NetworkProfile`\" pulumi-lang-go=\"`networkProfile`\" pulumi-lang-python=\"`network_profile`\" pulumi-lang-yaml=\"`networkProfile`\" pulumi-lang-java=\"`networkProfile`\"\u003e`network_profile`\u003c/span\u003e block as defined below.\n"},"panoramaBase64Config":{"type":"string","description":"The Base64 Encoded configuration value for connecting to the Panorama Configuration server.\n"},"planId":{"type":"string","description":"The billing plan ID as published by Liftr.PAN. Defaults to `panw-cloud-ngfw-payg`.\n\n\u003e **Note:** The former \u003cspan pulumi-lang-nodejs=\"`planId`\" pulumi-lang-dotnet=\"`PlanId`\" pulumi-lang-go=\"`planId`\" pulumi-lang-python=\"`plan_id`\" pulumi-lang-yaml=\"`planId`\" pulumi-lang-java=\"`planId`\"\u003e`plan_id`\u003c/span\u003e `panw-cloud-ngfw-payg` is defined as stop sell, but has been set as the default to not break any existing resources that were originally provisioned with it. Users need to explicitly set \u003cspan pulumi-lang-nodejs=\"`planId`\" pulumi-lang-dotnet=\"`PlanId`\" pulumi-lang-go=\"`planId`\" pulumi-lang-python=\"`plan_id`\" pulumi-lang-yaml=\"`planId`\" pulumi-lang-java=\"`planId`\"\u003e`plan_id`\u003c/span\u003e to `panw-cngfw-payg` when creating new resources.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Palo Alto Next Generation Firewall VHub Panorama should exist. Changing this forces a new Palo Alto Next Generation Firewall VHub Panorama to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Palo Alto Next Generation Firewall VHub Panorama.\n"}},"requiredInputs":["networkProfile","panoramaBase64Config","resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering NextGenerationFirewallVirtualHubPanorama resources.\n","properties":{"destinationNats":{"type":"array","items":{"$ref":"#/types/azure:paloalto/NextGenerationFirewallVirtualHubPanoramaDestinationNat:NextGenerationFirewallVirtualHubPanoramaDestinationNat"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`destinationNat`\" pulumi-lang-dotnet=\"`DestinationNat`\" pulumi-lang-go=\"`destinationNat`\" pulumi-lang-python=\"`destination_nat`\" pulumi-lang-yaml=\"`destinationNat`\" pulumi-lang-java=\"`destinationNat`\"\u003e`destination_nat`\u003c/span\u003e blocks as defined below.\n"},"dnsSettings":{"$ref":"#/types/azure:paloalto/NextGenerationFirewallVirtualHubPanoramaDnsSettings:NextGenerationFirewallVirtualHubPanoramaDnsSettings","description":"A \u003cspan pulumi-lang-nodejs=\"`dnsSettings`\" pulumi-lang-dotnet=\"`DnsSettings`\" pulumi-lang-go=\"`dnsSettings`\" pulumi-lang-python=\"`dns_settings`\" pulumi-lang-yaml=\"`dnsSettings`\" pulumi-lang-java=\"`dnsSettings`\"\u003e`dns_settings`\u003c/span\u003e block as defined below.\n"},"location":{"type":"string","description":"The Azure Region where the Palo Alto Next Generation Firewall VHub Panorama should exist. Changing this forces a new Palo Alto Next Generation Firewall VHub Panorama to be created.\n","willReplaceOnChanges":true},"marketplaceOfferId":{"type":"string","description":"The marketplace offer ID. Defaults to \u003cspan pulumi-lang-nodejs=\"`panSwfwCloudNgfw`\" pulumi-lang-dotnet=\"`PanSwfwCloudNgfw`\" pulumi-lang-go=\"`panSwfwCloudNgfw`\" pulumi-lang-python=\"`pan_swfw_cloud_ngfw`\" pulumi-lang-yaml=\"`panSwfwCloudNgfw`\" pulumi-lang-java=\"`panSwfwCloudNgfw`\"\u003e`pan_swfw_cloud_ngfw`\u003c/span\u003e. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Palo Alto Next Generation Firewall VHub Panorama. Changing this forces a new Palo Alto Next Generation Firewall VHub Panorama to be created.\n","willReplaceOnChanges":true},"networkProfile":{"$ref":"#/types/azure:paloalto/NextGenerationFirewallVirtualHubPanoramaNetworkProfile:NextGenerationFirewallVirtualHubPanoramaNetworkProfile","description":"A \u003cspan pulumi-lang-nodejs=\"`networkProfile`\" pulumi-lang-dotnet=\"`NetworkProfile`\" pulumi-lang-go=\"`networkProfile`\" pulumi-lang-python=\"`network_profile`\" pulumi-lang-yaml=\"`networkProfile`\" pulumi-lang-java=\"`networkProfile`\"\u003e`network_profile`\u003c/span\u003e block as defined below.\n"},"panoramaBase64Config":{"type":"string","description":"The Base64 Encoded configuration value for connecting to the Panorama Configuration server.\n"},"panoramas":{"type":"array","items":{"$ref":"#/types/azure:paloalto/NextGenerationFirewallVirtualHubPanoramaPanorama:NextGenerationFirewallVirtualHubPanoramaPanorama"}},"planId":{"type":"string","description":"The billing plan ID as published by Liftr.PAN. Defaults to `panw-cloud-ngfw-payg`.\n\n\u003e **Note:** The former \u003cspan pulumi-lang-nodejs=\"`planId`\" pulumi-lang-dotnet=\"`PlanId`\" pulumi-lang-go=\"`planId`\" pulumi-lang-python=\"`plan_id`\" pulumi-lang-yaml=\"`planId`\" pulumi-lang-java=\"`planId`\"\u003e`plan_id`\u003c/span\u003e `panw-cloud-ngfw-payg` is defined as stop sell, but has been set as the default to not break any existing resources that were originally provisioned with it. Users need to explicitly set \u003cspan pulumi-lang-nodejs=\"`planId`\" pulumi-lang-dotnet=\"`PlanId`\" pulumi-lang-go=\"`planId`\" pulumi-lang-python=\"`plan_id`\" pulumi-lang-yaml=\"`planId`\" pulumi-lang-java=\"`planId`\"\u003e`plan_id`\u003c/span\u003e to `panw-cngfw-payg` when creating new resources.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Palo Alto Next Generation Firewall VHub Panorama should exist. Changing this forces a new Palo Alto Next Generation Firewall VHub Panorama to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Palo Alto Next Generation Firewall VHub Panorama.\n"}},"type":"object"}},"azure:paloalto/nextGenerationFirewallVirtualHubStrataCloudManager:NextGenerationFirewallVirtualHubStrataCloudManager":{"description":"Manages a Palo Alto Next Generation Firewall Virtual Hub Strata Cloud Manager.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst examplePublicIp = new azure.network.PublicIp(\"example\", {\n    name: \"example-public-ip\",\n    resourceGroupName: example.name,\n    location: example.location,\n    allocationMethod: \"Static\",\n    tags: {\n        environment: \"Production\",\n    },\n});\nconst exampleVirtualWan = new azure.network.VirtualWan(\"example\", {\n    name: \"example-virtualwan\",\n    resourceGroupName: example.name,\n    location: example.location,\n});\nconst exampleVirtualHub = new azure.network.VirtualHub(\"example\", {\n    name: \"example-virtualhub\",\n    resourceGroupName: example.name,\n    location: example.location,\n    virtualWanId: exampleVirtualWan.id,\n    addressPrefix: \"10.0.0.0/23\",\n    tags: {\n        hubSaaSPreview: \"true\",\n    },\n});\nconst exampleVirtualNetworkAppliance = new azure.paloalto.VirtualNetworkAppliance(\"example\", {\n    name: \"example-appliance\",\n    virtualHubId: exampleVirtualHub.id,\n});\nconst exampleNextGenerationFirewallVirtualHubStrataCloudManager = new azure.paloalto.NextGenerationFirewallVirtualHubStrataCloudManager(\"example\", {\n    name: \"example\",\n    resourceGroupName: \"example\",\n    location: \"West Europe\",\n    strataCloudManagerTenantName: \"example\",\n    networkProfile: {\n        publicIpAddressIds: [examplePublicIp.id],\n        virtualHubId: exampleVirtualHub.id,\n        networkVirtualApplianceId: exampleVirtualNetworkAppliance.id,\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_public_ip = azure.network.PublicIp(\"example\",\n    name=\"example-public-ip\",\n    resource_group_name=example.name,\n    location=example.location,\n    allocation_method=\"Static\",\n    tags={\n        \"environment\": \"Production\",\n    })\nexample_virtual_wan = azure.network.VirtualWan(\"example\",\n    name=\"example-virtualwan\",\n    resource_group_name=example.name,\n    location=example.location)\nexample_virtual_hub = azure.network.VirtualHub(\"example\",\n    name=\"example-virtualhub\",\n    resource_group_name=example.name,\n    location=example.location,\n    virtual_wan_id=example_virtual_wan.id,\n    address_prefix=\"10.0.0.0/23\",\n    tags={\n        \"hubSaaSPreview\": \"true\",\n    })\nexample_virtual_network_appliance = azure.paloalto.VirtualNetworkAppliance(\"example\",\n    name=\"example-appliance\",\n    virtual_hub_id=example_virtual_hub.id)\nexample_next_generation_firewall_virtual_hub_strata_cloud_manager = azure.paloalto.NextGenerationFirewallVirtualHubStrataCloudManager(\"example\",\n    name=\"example\",\n    resource_group_name=\"example\",\n    location=\"West Europe\",\n    strata_cloud_manager_tenant_name=\"example\",\n    network_profile={\n        \"public_ip_address_ids\": [example_public_ip.id],\n        \"virtual_hub_id\": example_virtual_hub.id,\n        \"network_virtual_appliance_id\": example_virtual_network_appliance.id,\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var examplePublicIp = new Azure.Network.PublicIp(\"example\", new()\n    {\n        Name = \"example-public-ip\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        AllocationMethod = \"Static\",\n        Tags = \n        {\n            { \"environment\", \"Production\" },\n        },\n    });\n\n    var exampleVirtualWan = new Azure.Network.VirtualWan(\"example\", new()\n    {\n        Name = \"example-virtualwan\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n    });\n\n    var exampleVirtualHub = new Azure.Network.VirtualHub(\"example\", new()\n    {\n        Name = \"example-virtualhub\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        VirtualWanId = exampleVirtualWan.Id,\n        AddressPrefix = \"10.0.0.0/23\",\n        Tags = \n        {\n            { \"hubSaaSPreview\", \"true\" },\n        },\n    });\n\n    var exampleVirtualNetworkAppliance = new Azure.PaloAlto.VirtualNetworkAppliance(\"example\", new()\n    {\n        Name = \"example-appliance\",\n        VirtualHubId = exampleVirtualHub.Id,\n    });\n\n    var exampleNextGenerationFirewallVirtualHubStrataCloudManager = new Azure.PaloAlto.NextGenerationFirewallVirtualHubStrataCloudManager(\"example\", new()\n    {\n        Name = \"example\",\n        ResourceGroupName = \"example\",\n        Location = \"West Europe\",\n        StrataCloudManagerTenantName = \"example\",\n        NetworkProfile = new Azure.PaloAlto.Inputs.NextGenerationFirewallVirtualHubStrataCloudManagerNetworkProfileArgs\n        {\n            PublicIpAddressIds = new[]\n            {\n                examplePublicIp.Id,\n            },\n            VirtualHubId = exampleVirtualHub.Id,\n            NetworkVirtualApplianceId = exampleVirtualNetworkAppliance.Id,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/paloalto\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texamplePublicIp, err := network.NewPublicIp(ctx, \"example\", \u0026network.PublicIpArgs{\n\t\t\tName:              pulumi.String(\"example-public-ip\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tAllocationMethod:  pulumi.String(\"Static\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"environment\": pulumi.String(\"Production\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualWan, err := network.NewVirtualWan(ctx, \"example\", \u0026network.VirtualWanArgs{\n\t\t\tName:              pulumi.String(\"example-virtualwan\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualHub, err := network.NewVirtualHub(ctx, \"example\", \u0026network.VirtualHubArgs{\n\t\t\tName:              pulumi.String(\"example-virtualhub\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tVirtualWanId:      exampleVirtualWan.ID(),\n\t\t\tAddressPrefix:     pulumi.String(\"10.0.0.0/23\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"hubSaaSPreview\": pulumi.String(\"true\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualNetworkAppliance, err := paloalto.NewVirtualNetworkAppliance(ctx, \"example\", \u0026paloalto.VirtualNetworkApplianceArgs{\n\t\t\tName:         pulumi.String(\"example-appliance\"),\n\t\t\tVirtualHubId: exampleVirtualHub.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = paloalto.NewNextGenerationFirewallVirtualHubStrataCloudManager(ctx, \"example\", \u0026paloalto.NextGenerationFirewallVirtualHubStrataCloudManagerArgs{\n\t\t\tName:                         pulumi.String(\"example\"),\n\t\t\tResourceGroupName:            pulumi.String(\"example\"),\n\t\t\tLocation:                     pulumi.String(\"West Europe\"),\n\t\t\tStrataCloudManagerTenantName: pulumi.String(\"example\"),\n\t\t\tNetworkProfile: \u0026paloalto.NextGenerationFirewallVirtualHubStrataCloudManagerNetworkProfileArgs{\n\t\t\t\tPublicIpAddressIds: pulumi.StringArray{\n\t\t\t\t\texamplePublicIp.ID(),\n\t\t\t\t},\n\t\t\t\tVirtualHubId:              exampleVirtualHub.ID(),\n\t\t\t\tNetworkVirtualApplianceId: exampleVirtualNetworkAppliance.ID(),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.PublicIp;\nimport com.pulumi.azure.network.PublicIpArgs;\nimport com.pulumi.azure.network.VirtualWan;\nimport com.pulumi.azure.network.VirtualWanArgs;\nimport com.pulumi.azure.network.VirtualHub;\nimport com.pulumi.azure.network.VirtualHubArgs;\nimport com.pulumi.azure.paloalto.VirtualNetworkAppliance;\nimport com.pulumi.azure.paloalto.VirtualNetworkApplianceArgs;\nimport com.pulumi.azure.paloalto.NextGenerationFirewallVirtualHubStrataCloudManager;\nimport com.pulumi.azure.paloalto.NextGenerationFirewallVirtualHubStrataCloudManagerArgs;\nimport com.pulumi.azure.paloalto.inputs.NextGenerationFirewallVirtualHubStrataCloudManagerNetworkProfileArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var examplePublicIp = new PublicIp(\"examplePublicIp\", PublicIpArgs.builder()\n            .name(\"example-public-ip\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .allocationMethod(\"Static\")\n            .tags(Map.of(\"environment\", \"Production\"))\n            .build());\n\n        var exampleVirtualWan = new VirtualWan(\"exampleVirtualWan\", VirtualWanArgs.builder()\n            .name(\"example-virtualwan\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .build());\n\n        var exampleVirtualHub = new VirtualHub(\"exampleVirtualHub\", VirtualHubArgs.builder()\n            .name(\"example-virtualhub\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .virtualWanId(exampleVirtualWan.id())\n            .addressPrefix(\"10.0.0.0/23\")\n            .tags(Map.of(\"hubSaaSPreview\", \"true\"))\n            .build());\n\n        var exampleVirtualNetworkAppliance = new VirtualNetworkAppliance(\"exampleVirtualNetworkAppliance\", VirtualNetworkApplianceArgs.builder()\n            .name(\"example-appliance\")\n            .virtualHubId(exampleVirtualHub.id())\n            .build());\n\n        var exampleNextGenerationFirewallVirtualHubStrataCloudManager = new NextGenerationFirewallVirtualHubStrataCloudManager(\"exampleNextGenerationFirewallVirtualHubStrataCloudManager\", NextGenerationFirewallVirtualHubStrataCloudManagerArgs.builder()\n            .name(\"example\")\n            .resourceGroupName(\"example\")\n            .location(\"West Europe\")\n            .strataCloudManagerTenantName(\"example\")\n            .networkProfile(NextGenerationFirewallVirtualHubStrataCloudManagerNetworkProfileArgs.builder()\n                .publicIpAddressIds(examplePublicIp.id())\n                .virtualHubId(exampleVirtualHub.id())\n                .networkVirtualApplianceId(exampleVirtualNetworkAppliance.id())\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  examplePublicIp:\n    type: azure:network:PublicIp\n    name: example\n    properties:\n      name: example-public-ip\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      allocationMethod: Static\n      tags:\n        environment: Production\n  exampleVirtualWan:\n    type: azure:network:VirtualWan\n    name: example\n    properties:\n      name: example-virtualwan\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n  exampleVirtualHub:\n    type: azure:network:VirtualHub\n    name: example\n    properties:\n      name: example-virtualhub\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      virtualWanId: ${exampleVirtualWan.id}\n      addressPrefix: 10.0.0.0/23\n      tags:\n        hubSaaSPreview: 'true'\n  exampleVirtualNetworkAppliance:\n    type: azure:paloalto:VirtualNetworkAppliance\n    name: example\n    properties:\n      name: example-appliance\n      virtualHubId: ${exampleVirtualHub.id}\n  exampleNextGenerationFirewallVirtualHubStrataCloudManager:\n    type: azure:paloalto:NextGenerationFirewallVirtualHubStrataCloudManager\n    name: example\n    properties:\n      name: example\n      resourceGroupName: example\n      location: West Europe\n      strataCloudManagerTenantName: example\n      networkProfile:\n        publicIpAddressIds:\n          - ${examplePublicIp.id}\n        virtualHubId: ${exampleVirtualHub.id}\n        networkVirtualApplianceId: ${exampleVirtualNetworkAppliance.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `PaloAltoNetworks.Cloudngfw` - 2025-05-23\n\n## Import\n\nPalo Alto Next Generation Firewall Virtual Hub Strata Cloud Managers can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:paloalto/nextGenerationFirewallVirtualHubStrataCloudManager:NextGenerationFirewallVirtualHubStrataCloudManager example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/PaloAltoNetworks.Cloudngfw/firewalls/myVNetStrataCloudManagerFW\n```\n\n","properties":{"destinationNats":{"type":"array","items":{"$ref":"#/types/azure:paloalto/NextGenerationFirewallVirtualHubStrataCloudManagerDestinationNat:NextGenerationFirewallVirtualHubStrataCloudManagerDestinationNat"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`destinationNat`\" pulumi-lang-dotnet=\"`DestinationNat`\" pulumi-lang-go=\"`destinationNat`\" pulumi-lang-python=\"`destination_nat`\" pulumi-lang-yaml=\"`destinationNat`\" pulumi-lang-java=\"`destinationNat`\"\u003e`destination_nat`\u003c/span\u003e blocks as defined below.\n"},"dnsSettings":{"$ref":"#/types/azure:paloalto/NextGenerationFirewallVirtualHubStrataCloudManagerDnsSettings:NextGenerationFirewallVirtualHubStrataCloudManagerDnsSettings","description":"A \u003cspan pulumi-lang-nodejs=\"`dnsSettings`\" pulumi-lang-dotnet=\"`DnsSettings`\" pulumi-lang-go=\"`dnsSettings`\" pulumi-lang-python=\"`dns_settings`\" pulumi-lang-yaml=\"`dnsSettings`\" pulumi-lang-java=\"`dnsSettings`\"\u003e`dns_settings`\u003c/span\u003e block as defined below.\n"},"identity":{"$ref":"#/types/azure:paloalto/NextGenerationFirewallVirtualHubStrataCloudManagerIdentity:NextGenerationFirewallVirtualHubStrataCloudManagerIdentity","description":"A \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"location":{"type":"string","description":"The Azure Region where the Palo Alto Next Generation Firewall Virtual Hub Strata Cloud Manager should exist. Changing this forces a new Palo Alto Next Generation Firewall Virtual Hub Strata Cloud Manager to be created.\n"},"marketplaceOfferId":{"type":"string","description":"The ID of the marketplace offer. Defaults to \u003cspan pulumi-lang-nodejs=\"`panSwfwCloudNgfw`\" pulumi-lang-dotnet=\"`PanSwfwCloudNgfw`\" pulumi-lang-go=\"`panSwfwCloudNgfw`\" pulumi-lang-python=\"`pan_swfw_cloud_ngfw`\" pulumi-lang-yaml=\"`panSwfwCloudNgfw`\" pulumi-lang-java=\"`panSwfwCloudNgfw`\"\u003e`pan_swfw_cloud_ngfw`\u003c/span\u003e. Changing this forces a new Palo Alto Next Generation Firewall Virtual Hub Strata Cloud Manager to be created.\n"},"name":{"type":"string","description":"The name which should be used for this Palo Alto Next Generation Firewall Virtual Hub Strata Cloud Manager. Changing this forces a new Palo Alto Next Generation Firewall Virtual Hub Strata Cloud Manager to be created.\n"},"networkProfile":{"$ref":"#/types/azure:paloalto/NextGenerationFirewallVirtualHubStrataCloudManagerNetworkProfile:NextGenerationFirewallVirtualHubStrataCloudManagerNetworkProfile","description":"A \u003cspan pulumi-lang-nodejs=\"`networkProfile`\" pulumi-lang-dotnet=\"`NetworkProfile`\" pulumi-lang-go=\"`networkProfile`\" pulumi-lang-python=\"`network_profile`\" pulumi-lang-yaml=\"`networkProfile`\" pulumi-lang-java=\"`networkProfile`\"\u003e`network_profile`\u003c/span\u003e block as defined below.\n"},"planId":{"type":"string","description":"The ID of the billing plan. Defaults to `panw-cngfw-payg`.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Palo Alto Next Generation Firewall Virtual Hub Strata Cloud Manager should exist. Changing this forces a new Palo Alto Next Generation Firewall Virtual Hub Strata Cloud Manager to be created.\n"},"strataCloudManagerTenantName":{"type":"string","description":"Strata Cloud Manager name which is intended to manage the policy for this firewall.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Palo Alto Next Generation Firewall Virtual Hub Strata Cloud Manager.\n"}},"required":["location","name","networkProfile","resourceGroupName","strataCloudManagerTenantName"],"inputProperties":{"destinationNats":{"type":"array","items":{"$ref":"#/types/azure:paloalto/NextGenerationFirewallVirtualHubStrataCloudManagerDestinationNat:NextGenerationFirewallVirtualHubStrataCloudManagerDestinationNat"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`destinationNat`\" pulumi-lang-dotnet=\"`DestinationNat`\" pulumi-lang-go=\"`destinationNat`\" pulumi-lang-python=\"`destination_nat`\" pulumi-lang-yaml=\"`destinationNat`\" pulumi-lang-java=\"`destinationNat`\"\u003e`destination_nat`\u003c/span\u003e blocks as defined below.\n"},"dnsSettings":{"$ref":"#/types/azure:paloalto/NextGenerationFirewallVirtualHubStrataCloudManagerDnsSettings:NextGenerationFirewallVirtualHubStrataCloudManagerDnsSettings","description":"A \u003cspan pulumi-lang-nodejs=\"`dnsSettings`\" pulumi-lang-dotnet=\"`DnsSettings`\" pulumi-lang-go=\"`dnsSettings`\" pulumi-lang-python=\"`dns_settings`\" pulumi-lang-yaml=\"`dnsSettings`\" pulumi-lang-java=\"`dnsSettings`\"\u003e`dns_settings`\u003c/span\u003e block as defined below.\n"},"identity":{"$ref":"#/types/azure:paloalto/NextGenerationFirewallVirtualHubStrataCloudManagerIdentity:NextGenerationFirewallVirtualHubStrataCloudManagerIdentity","description":"A \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"location":{"type":"string","description":"The Azure Region where the Palo Alto Next Generation Firewall Virtual Hub Strata Cloud Manager should exist. Changing this forces a new Palo Alto Next Generation Firewall Virtual Hub Strata Cloud Manager to be created.\n","willReplaceOnChanges":true},"marketplaceOfferId":{"type":"string","description":"The ID of the marketplace offer. Defaults to \u003cspan pulumi-lang-nodejs=\"`panSwfwCloudNgfw`\" pulumi-lang-dotnet=\"`PanSwfwCloudNgfw`\" pulumi-lang-go=\"`panSwfwCloudNgfw`\" pulumi-lang-python=\"`pan_swfw_cloud_ngfw`\" pulumi-lang-yaml=\"`panSwfwCloudNgfw`\" pulumi-lang-java=\"`panSwfwCloudNgfw`\"\u003e`pan_swfw_cloud_ngfw`\u003c/span\u003e. Changing this forces a new Palo Alto Next Generation Firewall Virtual Hub Strata Cloud Manager to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Palo Alto Next Generation Firewall Virtual Hub Strata Cloud Manager. Changing this forces a new Palo Alto Next Generation Firewall Virtual Hub Strata Cloud Manager to be created.\n","willReplaceOnChanges":true},"networkProfile":{"$ref":"#/types/azure:paloalto/NextGenerationFirewallVirtualHubStrataCloudManagerNetworkProfile:NextGenerationFirewallVirtualHubStrataCloudManagerNetworkProfile","description":"A \u003cspan pulumi-lang-nodejs=\"`networkProfile`\" pulumi-lang-dotnet=\"`NetworkProfile`\" pulumi-lang-go=\"`networkProfile`\" pulumi-lang-python=\"`network_profile`\" pulumi-lang-yaml=\"`networkProfile`\" pulumi-lang-java=\"`networkProfile`\"\u003e`network_profile`\u003c/span\u003e block as defined below.\n"},"planId":{"type":"string","description":"The ID of the billing plan. Defaults to `panw-cngfw-payg`.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Palo Alto Next Generation Firewall Virtual Hub Strata Cloud Manager should exist. Changing this forces a new Palo Alto Next Generation Firewall Virtual Hub Strata Cloud Manager to be created.\n","willReplaceOnChanges":true},"strataCloudManagerTenantName":{"type":"string","description":"Strata Cloud Manager name which is intended to manage the policy for this firewall.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Palo Alto Next Generation Firewall Virtual Hub Strata Cloud Manager.\n"}},"requiredInputs":["networkProfile","resourceGroupName","strataCloudManagerTenantName"],"stateInputs":{"description":"Input properties used for looking up and filtering NextGenerationFirewallVirtualHubStrataCloudManager resources.\n","properties":{"destinationNats":{"type":"array","items":{"$ref":"#/types/azure:paloalto/NextGenerationFirewallVirtualHubStrataCloudManagerDestinationNat:NextGenerationFirewallVirtualHubStrataCloudManagerDestinationNat"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`destinationNat`\" pulumi-lang-dotnet=\"`DestinationNat`\" pulumi-lang-go=\"`destinationNat`\" pulumi-lang-python=\"`destination_nat`\" pulumi-lang-yaml=\"`destinationNat`\" pulumi-lang-java=\"`destinationNat`\"\u003e`destination_nat`\u003c/span\u003e blocks as defined below.\n"},"dnsSettings":{"$ref":"#/types/azure:paloalto/NextGenerationFirewallVirtualHubStrataCloudManagerDnsSettings:NextGenerationFirewallVirtualHubStrataCloudManagerDnsSettings","description":"A \u003cspan pulumi-lang-nodejs=\"`dnsSettings`\" pulumi-lang-dotnet=\"`DnsSettings`\" pulumi-lang-go=\"`dnsSettings`\" pulumi-lang-python=\"`dns_settings`\" pulumi-lang-yaml=\"`dnsSettings`\" pulumi-lang-java=\"`dnsSettings`\"\u003e`dns_settings`\u003c/span\u003e block as defined below.\n"},"identity":{"$ref":"#/types/azure:paloalto/NextGenerationFirewallVirtualHubStrataCloudManagerIdentity:NextGenerationFirewallVirtualHubStrataCloudManagerIdentity","description":"A \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"location":{"type":"string","description":"The Azure Region where the Palo Alto Next Generation Firewall Virtual Hub Strata Cloud Manager should exist. Changing this forces a new Palo Alto Next Generation Firewall Virtual Hub Strata Cloud Manager to be created.\n","willReplaceOnChanges":true},"marketplaceOfferId":{"type":"string","description":"The ID of the marketplace offer. Defaults to \u003cspan pulumi-lang-nodejs=\"`panSwfwCloudNgfw`\" pulumi-lang-dotnet=\"`PanSwfwCloudNgfw`\" pulumi-lang-go=\"`panSwfwCloudNgfw`\" pulumi-lang-python=\"`pan_swfw_cloud_ngfw`\" pulumi-lang-yaml=\"`panSwfwCloudNgfw`\" pulumi-lang-java=\"`panSwfwCloudNgfw`\"\u003e`pan_swfw_cloud_ngfw`\u003c/span\u003e. Changing this forces a new Palo Alto Next Generation Firewall Virtual Hub Strata Cloud Manager to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Palo Alto Next Generation Firewall Virtual Hub Strata Cloud Manager. Changing this forces a new Palo Alto Next Generation Firewall Virtual Hub Strata Cloud Manager to be created.\n","willReplaceOnChanges":true},"networkProfile":{"$ref":"#/types/azure:paloalto/NextGenerationFirewallVirtualHubStrataCloudManagerNetworkProfile:NextGenerationFirewallVirtualHubStrataCloudManagerNetworkProfile","description":"A \u003cspan pulumi-lang-nodejs=\"`networkProfile`\" pulumi-lang-dotnet=\"`NetworkProfile`\" pulumi-lang-go=\"`networkProfile`\" pulumi-lang-python=\"`network_profile`\" pulumi-lang-yaml=\"`networkProfile`\" pulumi-lang-java=\"`networkProfile`\"\u003e`network_profile`\u003c/span\u003e block as defined below.\n"},"planId":{"type":"string","description":"The ID of the billing plan. Defaults to `panw-cngfw-payg`.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Palo Alto Next Generation Firewall Virtual Hub Strata Cloud Manager should exist. Changing this forces a new Palo Alto Next Generation Firewall Virtual Hub Strata Cloud Manager to be created.\n","willReplaceOnChanges":true},"strataCloudManagerTenantName":{"type":"string","description":"Strata Cloud Manager name which is intended to manage the policy for this firewall.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Palo Alto Next Generation Firewall Virtual Hub Strata Cloud Manager.\n"}},"type":"object"}},"azure:paloalto/nextGenerationFirewallVirtualNetworkLocalRulestack:NextGenerationFirewallVirtualNetworkLocalRulestack":{"description":"Manages a Palo Alto Next Generation Firewall Deployed in a Virtual Network and configured via a Local Rulestack.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resource-group\",\n    location: \"westeurope\",\n});\nconst examplePublicIp = new azure.network.PublicIp(\"example\", {\n    name: \"example-public-ip\",\n    location: example.location,\n    resourceGroupName: example.name,\n    allocationMethod: \"Static\",\n    sku: \"Standard\",\n});\nconst exampleNetworkSecurityGroup = new azure.network.NetworkSecurityGroup(\"example\", {\n    name: \"example-nsg\",\n    location: test.location,\n    resourceGroupName: test.name,\n});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"example\", {\n    name: \"example-vnet\",\n    addressSpaces: [\"10.0.0.0/16\"],\n    location: example.location,\n    resourceGroupName: example.name,\n    tags: {\n        environment: \"Production\",\n    },\n});\nconst trust = new azure.network.Subnet(\"trust\", {\n    name: \"example-trust-subnet\",\n    resourceGroupName: example.name,\n    virtualNetworkName: exampleVirtualNetwork.name,\n    addressPrefixes: [\"10.0.1.0/24\"],\n    delegations: [{\n        name: \"trusted\",\n        serviceDelegation: {\n            name: \"PaloAltoNetworks.Cloudngfw/firewalls\",\n            actions: [\"Microsoft.Network/virtualNetworks/subnets/join/action\"],\n        },\n    }],\n});\nconst trustSubnetNetworkSecurityGroupAssociation = new azure.network.SubnetNetworkSecurityGroupAssociation(\"trust\", {\n    subnetId: trust.id,\n    networkSecurityGroupId: exampleNetworkSecurityGroup.id,\n});\nconst untrust = new azure.network.Subnet(\"untrust\", {\n    name: \"example-untrust-subnet\",\n    resourceGroupName: example.name,\n    virtualNetworkName: exampleVirtualNetwork.name,\n    addressPrefixes: [\"10.0.2.0/24\"],\n    delegations: [{\n        name: \"untrusted\",\n        serviceDelegation: {\n            name: \"PaloAltoNetworks.Cloudngfw/firewalls\",\n            actions: [\"Microsoft.Network/virtualNetworks/subnets/join/action\"],\n        },\n    }],\n});\nconst untrustSubnetNetworkSecurityGroupAssociation = new azure.network.SubnetNetworkSecurityGroupAssociation(\"untrust\", {\n    subnetId: untrust.id,\n    networkSecurityGroupId: exampleNetworkSecurityGroup.id,\n});\nconst exampleLocalRulestack = new azure.paloalto.LocalRulestack(\"example\", {\n    name: \"example-rulestack\",\n    resourceGroupName: example.name,\n    location: example.locatio,\n});\nconst exampleLocalRulestackRule = new azure.paloalto.LocalRulestackRule(\"example\", {\n    name: \"example-rulestack-rule\",\n    rulestackId: exampleLocalRulestack.id,\n    priority: 1001,\n    action: \"Allow\",\n    applications: [\"any\"],\n    destination: {\n        cidrs: [\"any\"],\n    },\n    source: {\n        cidrs: [\"any\"],\n    },\n});\nconst exampleNextGenerationFirewallVirtualNetworkLocalRulestack = new azure.paloalto.NextGenerationFirewallVirtualNetworkLocalRulestack(\"example\", {\n    name: \"example-ngfwvn\",\n    resourceGroupName: example.name,\n    rulestackId: exampleLocalRulestack.id,\n    networkProfile: {\n        publicIpAddressIds: [examplePublicIp.id],\n        vnetConfiguration: {\n            virtualNetworkId: exampleVirtualNetwork.id,\n            trustedSubnetId: trust.id,\n            untrustedSubnetId: untrust.id,\n        },\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resource-group\",\n    location=\"westeurope\")\nexample_public_ip = azure.network.PublicIp(\"example\",\n    name=\"example-public-ip\",\n    location=example.location,\n    resource_group_name=example.name,\n    allocation_method=\"Static\",\n    sku=\"Standard\")\nexample_network_security_group = azure.network.NetworkSecurityGroup(\"example\",\n    name=\"example-nsg\",\n    location=test[\"location\"],\n    resource_group_name=test[\"name\"])\nexample_virtual_network = azure.network.VirtualNetwork(\"example\",\n    name=\"example-vnet\",\n    address_spaces=[\"10.0.0.0/16\"],\n    location=example.location,\n    resource_group_name=example.name,\n    tags={\n        \"environment\": \"Production\",\n    })\ntrust = azure.network.Subnet(\"trust\",\n    name=\"example-trust-subnet\",\n    resource_group_name=example.name,\n    virtual_network_name=example_virtual_network.name,\n    address_prefixes=[\"10.0.1.0/24\"],\n    delegations=[{\n        \"name\": \"trusted\",\n        \"service_delegation\": {\n            \"name\": \"PaloAltoNetworks.Cloudngfw/firewalls\",\n            \"actions\": [\"Microsoft.Network/virtualNetworks/subnets/join/action\"],\n        },\n    }])\ntrust_subnet_network_security_group_association = azure.network.SubnetNetworkSecurityGroupAssociation(\"trust\",\n    subnet_id=trust.id,\n    network_security_group_id=example_network_security_group.id)\nuntrust = azure.network.Subnet(\"untrust\",\n    name=\"example-untrust-subnet\",\n    resource_group_name=example.name,\n    virtual_network_name=example_virtual_network.name,\n    address_prefixes=[\"10.0.2.0/24\"],\n    delegations=[{\n        \"name\": \"untrusted\",\n        \"service_delegation\": {\n            \"name\": \"PaloAltoNetworks.Cloudngfw/firewalls\",\n            \"actions\": [\"Microsoft.Network/virtualNetworks/subnets/join/action\"],\n        },\n    }])\nuntrust_subnet_network_security_group_association = azure.network.SubnetNetworkSecurityGroupAssociation(\"untrust\",\n    subnet_id=untrust.id,\n    network_security_group_id=example_network_security_group.id)\nexample_local_rulestack = azure.paloalto.LocalRulestack(\"example\",\n    name=\"example-rulestack\",\n    resource_group_name=example.name,\n    location=example.locatio)\nexample_local_rulestack_rule = azure.paloalto.LocalRulestackRule(\"example\",\n    name=\"example-rulestack-rule\",\n    rulestack_id=example_local_rulestack.id,\n    priority=1001,\n    action=\"Allow\",\n    applications=[\"any\"],\n    destination={\n        \"cidrs\": [\"any\"],\n    },\n    source={\n        \"cidrs\": [\"any\"],\n    })\nexample_next_generation_firewall_virtual_network_local_rulestack = azure.paloalto.NextGenerationFirewallVirtualNetworkLocalRulestack(\"example\",\n    name=\"example-ngfwvn\",\n    resource_group_name=example.name,\n    rulestack_id=example_local_rulestack.id,\n    network_profile={\n        \"public_ip_address_ids\": [example_public_ip.id],\n        \"vnet_configuration\": {\n            \"virtual_network_id\": example_virtual_network.id,\n            \"trusted_subnet_id\": trust.id,\n            \"untrusted_subnet_id\": untrust.id,\n        },\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resource-group\",\n        Location = \"westeurope\",\n    });\n\n    var examplePublicIp = new Azure.Network.PublicIp(\"example\", new()\n    {\n        Name = \"example-public-ip\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        AllocationMethod = \"Static\",\n        Sku = \"Standard\",\n    });\n\n    var exampleNetworkSecurityGroup = new Azure.Network.NetworkSecurityGroup(\"example\", new()\n    {\n        Name = \"example-nsg\",\n        Location = test.Location,\n        ResourceGroupName = test.Name,\n    });\n\n    var exampleVirtualNetwork = new Azure.Network.VirtualNetwork(\"example\", new()\n    {\n        Name = \"example-vnet\",\n        AddressSpaces = new[]\n        {\n            \"10.0.0.0/16\",\n        },\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Tags = \n        {\n            { \"environment\", \"Production\" },\n        },\n    });\n\n    var trust = new Azure.Network.Subnet(\"trust\", new()\n    {\n        Name = \"example-trust-subnet\",\n        ResourceGroupName = example.Name,\n        VirtualNetworkName = exampleVirtualNetwork.Name,\n        AddressPrefixes = new[]\n        {\n            \"10.0.1.0/24\",\n        },\n        Delegations = new[]\n        {\n            new Azure.Network.Inputs.SubnetDelegationArgs\n            {\n                Name = \"trusted\",\n                ServiceDelegation = new Azure.Network.Inputs.SubnetDelegationServiceDelegationArgs\n                {\n                    Name = \"PaloAltoNetworks.Cloudngfw/firewalls\",\n                    Actions = new[]\n                    {\n                        \"Microsoft.Network/virtualNetworks/subnets/join/action\",\n                    },\n                },\n            },\n        },\n    });\n\n    var trustSubnetNetworkSecurityGroupAssociation = new Azure.Network.SubnetNetworkSecurityGroupAssociation(\"trust\", new()\n    {\n        SubnetId = trust.Id,\n        NetworkSecurityGroupId = exampleNetworkSecurityGroup.Id,\n    });\n\n    var untrust = new Azure.Network.Subnet(\"untrust\", new()\n    {\n        Name = \"example-untrust-subnet\",\n        ResourceGroupName = example.Name,\n        VirtualNetworkName = exampleVirtualNetwork.Name,\n        AddressPrefixes = new[]\n        {\n            \"10.0.2.0/24\",\n        },\n        Delegations = new[]\n        {\n            new Azure.Network.Inputs.SubnetDelegationArgs\n            {\n                Name = \"untrusted\",\n                ServiceDelegation = new Azure.Network.Inputs.SubnetDelegationServiceDelegationArgs\n                {\n                    Name = \"PaloAltoNetworks.Cloudngfw/firewalls\",\n                    Actions = new[]\n                    {\n                        \"Microsoft.Network/virtualNetworks/subnets/join/action\",\n                    },\n                },\n            },\n        },\n    });\n\n    var untrustSubnetNetworkSecurityGroupAssociation = new Azure.Network.SubnetNetworkSecurityGroupAssociation(\"untrust\", new()\n    {\n        SubnetId = untrust.Id,\n        NetworkSecurityGroupId = exampleNetworkSecurityGroup.Id,\n    });\n\n    var exampleLocalRulestack = new Azure.PaloAlto.LocalRulestack(\"example\", new()\n    {\n        Name = \"example-rulestack\",\n        ResourceGroupName = example.Name,\n        Location = example.Locatio,\n    });\n\n    var exampleLocalRulestackRule = new Azure.PaloAlto.LocalRulestackRule(\"example\", new()\n    {\n        Name = \"example-rulestack-rule\",\n        RulestackId = exampleLocalRulestack.Id,\n        Priority = 1001,\n        Action = \"Allow\",\n        Applications = new[]\n        {\n            \"any\",\n        },\n        Destination = new Azure.PaloAlto.Inputs.LocalRulestackRuleDestinationArgs\n        {\n            Cidrs = new[]\n            {\n                \"any\",\n            },\n        },\n        Source = new Azure.PaloAlto.Inputs.LocalRulestackRuleSourceArgs\n        {\n            Cidrs = new[]\n            {\n                \"any\",\n            },\n        },\n    });\n\n    var exampleNextGenerationFirewallVirtualNetworkLocalRulestack = new Azure.PaloAlto.NextGenerationFirewallVirtualNetworkLocalRulestack(\"example\", new()\n    {\n        Name = \"example-ngfwvn\",\n        ResourceGroupName = example.Name,\n        RulestackId = exampleLocalRulestack.Id,\n        NetworkProfile = new Azure.PaloAlto.Inputs.NextGenerationFirewallVirtualNetworkLocalRulestackNetworkProfileArgs\n        {\n            PublicIpAddressIds = new[]\n            {\n                examplePublicIp.Id,\n            },\n            VnetConfiguration = new Azure.PaloAlto.Inputs.NextGenerationFirewallVirtualNetworkLocalRulestackNetworkProfileVnetConfigurationArgs\n            {\n                VirtualNetworkId = exampleVirtualNetwork.Id,\n                TrustedSubnetId = trust.Id,\n                UntrustedSubnetId = untrust.Id,\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/paloalto\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resource-group\"),\n\t\t\tLocation: pulumi.String(\"westeurope\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texamplePublicIp, err := network.NewPublicIp(ctx, \"example\", \u0026network.PublicIpArgs{\n\t\t\tName:              pulumi.String(\"example-public-ip\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tAllocationMethod:  pulumi.String(\"Static\"),\n\t\t\tSku:               pulumi.String(\"Standard\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNetworkSecurityGroup, err := network.NewNetworkSecurityGroup(ctx, \"example\", \u0026network.NetworkSecurityGroupArgs{\n\t\t\tName:              pulumi.String(\"example-nsg\"),\n\t\t\tLocation:          pulumi.Any(test.Location),\n\t\t\tResourceGroupName: pulumi.Any(test.Name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, \"example\", \u0026network.VirtualNetworkArgs{\n\t\t\tName: pulumi.String(\"example-vnet\"),\n\t\t\tAddressSpaces: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.0.0/16\"),\n\t\t\t},\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"environment\": pulumi.String(\"Production\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttrust, err := network.NewSubnet(ctx, \"trust\", \u0026network.SubnetArgs{\n\t\t\tName:               pulumi.String(\"example-trust-subnet\"),\n\t\t\tResourceGroupName:  example.Name,\n\t\t\tVirtualNetworkName: exampleVirtualNetwork.Name,\n\t\t\tAddressPrefixes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.1.0/24\"),\n\t\t\t},\n\t\t\tDelegations: network.SubnetDelegationArray{\n\t\t\t\t\u0026network.SubnetDelegationArgs{\n\t\t\t\t\tName: pulumi.String(\"trusted\"),\n\t\t\t\t\tServiceDelegation: \u0026network.SubnetDelegationServiceDelegationArgs{\n\t\t\t\t\t\tName: pulumi.String(\"PaloAltoNetworks.Cloudngfw/firewalls\"),\n\t\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"Microsoft.Network/virtualNetworks/subnets/join/action\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = network.NewSubnetNetworkSecurityGroupAssociation(ctx, \"trust\", \u0026network.SubnetNetworkSecurityGroupAssociationArgs{\n\t\t\tSubnetId:               trust.ID(),\n\t\t\tNetworkSecurityGroupId: exampleNetworkSecurityGroup.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tuntrust, err := network.NewSubnet(ctx, \"untrust\", \u0026network.SubnetArgs{\n\t\t\tName:               pulumi.String(\"example-untrust-subnet\"),\n\t\t\tResourceGroupName:  example.Name,\n\t\t\tVirtualNetworkName: exampleVirtualNetwork.Name,\n\t\t\tAddressPrefixes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.2.0/24\"),\n\t\t\t},\n\t\t\tDelegations: network.SubnetDelegationArray{\n\t\t\t\t\u0026network.SubnetDelegationArgs{\n\t\t\t\t\tName: pulumi.String(\"untrusted\"),\n\t\t\t\t\tServiceDelegation: \u0026network.SubnetDelegationServiceDelegationArgs{\n\t\t\t\t\t\tName: pulumi.String(\"PaloAltoNetworks.Cloudngfw/firewalls\"),\n\t\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"Microsoft.Network/virtualNetworks/subnets/join/action\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = network.NewSubnetNetworkSecurityGroupAssociation(ctx, \"untrust\", \u0026network.SubnetNetworkSecurityGroupAssociationArgs{\n\t\t\tSubnetId:               untrust.ID(),\n\t\t\tNetworkSecurityGroupId: exampleNetworkSecurityGroup.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleLocalRulestack, err := paloalto.NewLocalRulestack(ctx, \"example\", \u0026paloalto.LocalRulestackArgs{\n\t\t\tName:              pulumi.String(\"example-rulestack\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Locatio,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = paloalto.NewLocalRulestackRule(ctx, \"example\", \u0026paloalto.LocalRulestackRuleArgs{\n\t\t\tName:        pulumi.String(\"example-rulestack-rule\"),\n\t\t\tRulestackId: exampleLocalRulestack.ID(),\n\t\t\tPriority:    pulumi.Int(1001),\n\t\t\tAction:      pulumi.String(\"Allow\"),\n\t\t\tApplications: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"any\"),\n\t\t\t},\n\t\t\tDestination: \u0026paloalto.LocalRulestackRuleDestinationArgs{\n\t\t\t\tCidrs: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"any\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tSource: \u0026paloalto.LocalRulestackRuleSourceArgs{\n\t\t\t\tCidrs: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"any\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = paloalto.NewNextGenerationFirewallVirtualNetworkLocalRulestack(ctx, \"example\", \u0026paloalto.NextGenerationFirewallVirtualNetworkLocalRulestackArgs{\n\t\t\tName:              pulumi.String(\"example-ngfwvn\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tRulestackId:       exampleLocalRulestack.ID(),\n\t\t\tNetworkProfile: \u0026paloalto.NextGenerationFirewallVirtualNetworkLocalRulestackNetworkProfileArgs{\n\t\t\t\tPublicIpAddressIds: pulumi.StringArray{\n\t\t\t\t\texamplePublicIp.ID(),\n\t\t\t\t},\n\t\t\t\tVnetConfiguration: \u0026paloalto.NextGenerationFirewallVirtualNetworkLocalRulestackNetworkProfileVnetConfigurationArgs{\n\t\t\t\t\tVirtualNetworkId:  exampleVirtualNetwork.ID(),\n\t\t\t\t\tTrustedSubnetId:   trust.ID(),\n\t\t\t\t\tUntrustedSubnetId: untrust.ID(),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.PublicIp;\nimport com.pulumi.azure.network.PublicIpArgs;\nimport com.pulumi.azure.network.NetworkSecurityGroup;\nimport com.pulumi.azure.network.NetworkSecurityGroupArgs;\nimport com.pulumi.azure.network.VirtualNetwork;\nimport com.pulumi.azure.network.VirtualNetworkArgs;\nimport com.pulumi.azure.network.Subnet;\nimport com.pulumi.azure.network.SubnetArgs;\nimport com.pulumi.azure.network.inputs.SubnetDelegationArgs;\nimport com.pulumi.azure.network.inputs.SubnetDelegationServiceDelegationArgs;\nimport com.pulumi.azure.network.SubnetNetworkSecurityGroupAssociation;\nimport com.pulumi.azure.network.SubnetNetworkSecurityGroupAssociationArgs;\nimport com.pulumi.azure.paloalto.LocalRulestack;\nimport com.pulumi.azure.paloalto.LocalRulestackArgs;\nimport com.pulumi.azure.paloalto.LocalRulestackRule;\nimport com.pulumi.azure.paloalto.LocalRulestackRuleArgs;\nimport com.pulumi.azure.paloalto.inputs.LocalRulestackRuleDestinationArgs;\nimport com.pulumi.azure.paloalto.inputs.LocalRulestackRuleSourceArgs;\nimport com.pulumi.azure.paloalto.NextGenerationFirewallVirtualNetworkLocalRulestack;\nimport com.pulumi.azure.paloalto.NextGenerationFirewallVirtualNetworkLocalRulestackArgs;\nimport com.pulumi.azure.paloalto.inputs.NextGenerationFirewallVirtualNetworkLocalRulestackNetworkProfileArgs;\nimport com.pulumi.azure.paloalto.inputs.NextGenerationFirewallVirtualNetworkLocalRulestackNetworkProfileVnetConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resource-group\")\n            .location(\"westeurope\")\n            .build());\n\n        var examplePublicIp = new PublicIp(\"examplePublicIp\", PublicIpArgs.builder()\n            .name(\"example-public-ip\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .allocationMethod(\"Static\")\n            .sku(\"Standard\")\n            .build());\n\n        var exampleNetworkSecurityGroup = new NetworkSecurityGroup(\"exampleNetworkSecurityGroup\", NetworkSecurityGroupArgs.builder()\n            .name(\"example-nsg\")\n            .location(test.location())\n            .resourceGroupName(test.name())\n            .build());\n\n        var exampleVirtualNetwork = new VirtualNetwork(\"exampleVirtualNetwork\", VirtualNetworkArgs.builder()\n            .name(\"example-vnet\")\n            .addressSpaces(\"10.0.0.0/16\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .tags(Map.of(\"environment\", \"Production\"))\n            .build());\n\n        var trust = new Subnet(\"trust\", SubnetArgs.builder()\n            .name(\"example-trust-subnet\")\n            .resourceGroupName(example.name())\n            .virtualNetworkName(exampleVirtualNetwork.name())\n            .addressPrefixes(\"10.0.1.0/24\")\n            .delegations(SubnetDelegationArgs.builder()\n                .name(\"trusted\")\n                .serviceDelegation(SubnetDelegationServiceDelegationArgs.builder()\n                    .name(\"PaloAltoNetworks.Cloudngfw/firewalls\")\n                    .actions(\"Microsoft.Network/virtualNetworks/subnets/join/action\")\n                    .build())\n                .build())\n            .build());\n\n        var trustSubnetNetworkSecurityGroupAssociation = new SubnetNetworkSecurityGroupAssociation(\"trustSubnetNetworkSecurityGroupAssociation\", SubnetNetworkSecurityGroupAssociationArgs.builder()\n            .subnetId(trust.id())\n            .networkSecurityGroupId(exampleNetworkSecurityGroup.id())\n            .build());\n\n        var untrust = new Subnet(\"untrust\", SubnetArgs.builder()\n            .name(\"example-untrust-subnet\")\n            .resourceGroupName(example.name())\n            .virtualNetworkName(exampleVirtualNetwork.name())\n            .addressPrefixes(\"10.0.2.0/24\")\n            .delegations(SubnetDelegationArgs.builder()\n                .name(\"untrusted\")\n                .serviceDelegation(SubnetDelegationServiceDelegationArgs.builder()\n                    .name(\"PaloAltoNetworks.Cloudngfw/firewalls\")\n                    .actions(\"Microsoft.Network/virtualNetworks/subnets/join/action\")\n                    .build())\n                .build())\n            .build());\n\n        var untrustSubnetNetworkSecurityGroupAssociation = new SubnetNetworkSecurityGroupAssociation(\"untrustSubnetNetworkSecurityGroupAssociation\", SubnetNetworkSecurityGroupAssociationArgs.builder()\n            .subnetId(untrust.id())\n            .networkSecurityGroupId(exampleNetworkSecurityGroup.id())\n            .build());\n\n        var exampleLocalRulestack = new LocalRulestack(\"exampleLocalRulestack\", LocalRulestackArgs.builder()\n            .name(\"example-rulestack\")\n            .resourceGroupName(example.name())\n            .location(example.locatio())\n            .build());\n\n        var exampleLocalRulestackRule = new LocalRulestackRule(\"exampleLocalRulestackRule\", LocalRulestackRuleArgs.builder()\n            .name(\"example-rulestack-rule\")\n            .rulestackId(exampleLocalRulestack.id())\n            .priority(1001)\n            .action(\"Allow\")\n            .applications(\"any\")\n            .destination(LocalRulestackRuleDestinationArgs.builder()\n                .cidrs(\"any\")\n                .build())\n            .source(LocalRulestackRuleSourceArgs.builder()\n                .cidrs(\"any\")\n                .build())\n            .build());\n\n        var exampleNextGenerationFirewallVirtualNetworkLocalRulestack = new NextGenerationFirewallVirtualNetworkLocalRulestack(\"exampleNextGenerationFirewallVirtualNetworkLocalRulestack\", NextGenerationFirewallVirtualNetworkLocalRulestackArgs.builder()\n            .name(\"example-ngfwvn\")\n            .resourceGroupName(example.name())\n            .rulestackId(exampleLocalRulestack.id())\n            .networkProfile(NextGenerationFirewallVirtualNetworkLocalRulestackNetworkProfileArgs.builder()\n                .publicIpAddressIds(examplePublicIp.id())\n                .vnetConfiguration(NextGenerationFirewallVirtualNetworkLocalRulestackNetworkProfileVnetConfigurationArgs.builder()\n                    .virtualNetworkId(exampleVirtualNetwork.id())\n                    .trustedSubnetId(trust.id())\n                    .untrustedSubnetId(untrust.id())\n                    .build())\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resource-group\n      location: westeurope\n  examplePublicIp:\n    type: azure:network:PublicIp\n    name: example\n    properties:\n      name: example-public-ip\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      allocationMethod: Static\n      sku: Standard\n  exampleNetworkSecurityGroup:\n    type: azure:network:NetworkSecurityGroup\n    name: example\n    properties:\n      name: example-nsg\n      location: ${test.location}\n      resourceGroupName: ${test.name}\n  exampleVirtualNetwork:\n    type: azure:network:VirtualNetwork\n    name: example\n    properties:\n      name: example-vnet\n      addressSpaces:\n        - 10.0.0.0/16\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      tags:\n        environment: Production\n  trust:\n    type: azure:network:Subnet\n    properties:\n      name: example-trust-subnet\n      resourceGroupName: ${example.name}\n      virtualNetworkName: ${exampleVirtualNetwork.name}\n      addressPrefixes:\n        - 10.0.1.0/24\n      delegations:\n        - name: trusted\n          serviceDelegation:\n            name: PaloAltoNetworks.Cloudngfw/firewalls\n            actions:\n              - Microsoft.Network/virtualNetworks/subnets/join/action\n  trustSubnetNetworkSecurityGroupAssociation:\n    type: azure:network:SubnetNetworkSecurityGroupAssociation\n    name: trust\n    properties:\n      subnetId: ${trust.id}\n      networkSecurityGroupId: ${exampleNetworkSecurityGroup.id}\n  untrust:\n    type: azure:network:Subnet\n    properties:\n      name: example-untrust-subnet\n      resourceGroupName: ${example.name}\n      virtualNetworkName: ${exampleVirtualNetwork.name}\n      addressPrefixes:\n        - 10.0.2.0/24\n      delegations:\n        - name: untrusted\n          serviceDelegation:\n            name: PaloAltoNetworks.Cloudngfw/firewalls\n            actions:\n              - Microsoft.Network/virtualNetworks/subnets/join/action\n  untrustSubnetNetworkSecurityGroupAssociation:\n    type: azure:network:SubnetNetworkSecurityGroupAssociation\n    name: untrust\n    properties:\n      subnetId: ${untrust.id}\n      networkSecurityGroupId: ${exampleNetworkSecurityGroup.id}\n  exampleLocalRulestack:\n    type: azure:paloalto:LocalRulestack\n    name: example\n    properties:\n      name: example-rulestack\n      resourceGroupName: ${example.name}\n      location: ${example.locatio}\n  exampleLocalRulestackRule:\n    type: azure:paloalto:LocalRulestackRule\n    name: example\n    properties:\n      name: example-rulestack-rule\n      rulestackId: ${exampleLocalRulestack.id}\n      priority: 1001\n      action: Allow\n      applications:\n        - any\n      destination:\n        cidrs:\n          - any\n      source:\n        cidrs:\n          - any\n  exampleNextGenerationFirewallVirtualNetworkLocalRulestack:\n    type: azure:paloalto:NextGenerationFirewallVirtualNetworkLocalRulestack\n    name: example\n    properties:\n      name: example-ngfwvn\n      resourceGroupName: ${example.name}\n      rulestackId: ${exampleLocalRulestack.id}\n      networkProfile:\n        publicIpAddressIds:\n          - ${examplePublicIp.id}\n        vnetConfiguration:\n          virtualNetworkId: ${exampleVirtualNetwork.id}\n          trustedSubnetId: ${trust.id}\n          untrustedSubnetId: ${untrust.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `PaloAltoNetworks.Cloudngfw` - 2025-05-23, 2022-08-29\n\n## Import\n\nPalo Alto Next Generation Firewall Virtual Network Local Rulestacks can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:paloalto/nextGenerationFirewallVirtualNetworkLocalRulestack:NextGenerationFirewallVirtualNetworkLocalRulestack example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/PaloAltoNetworks.Cloudngfw/firewalls/myVNetRulestackFW\n```\n\n","properties":{"destinationNats":{"type":"array","items":{"$ref":"#/types/azure:paloalto/NextGenerationFirewallVirtualNetworkLocalRulestackDestinationNat:NextGenerationFirewallVirtualNetworkLocalRulestackDestinationNat"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`destinationNat`\" pulumi-lang-dotnet=\"`DestinationNat`\" pulumi-lang-go=\"`destinationNat`\" pulumi-lang-python=\"`destination_nat`\" pulumi-lang-yaml=\"`destinationNat`\" pulumi-lang-java=\"`destinationNat`\"\u003e`destination_nat`\u003c/span\u003e blocks as defined below.\n"},"dnsSettings":{"$ref":"#/types/azure:paloalto/NextGenerationFirewallVirtualNetworkLocalRulestackDnsSettings:NextGenerationFirewallVirtualNetworkLocalRulestackDnsSettings","description":"A \u003cspan pulumi-lang-nodejs=\"`dnsSettings`\" pulumi-lang-dotnet=\"`DnsSettings`\" pulumi-lang-go=\"`dnsSettings`\" pulumi-lang-python=\"`dns_settings`\" pulumi-lang-yaml=\"`dnsSettings`\" pulumi-lang-java=\"`dnsSettings`\"\u003e`dns_settings`\u003c/span\u003e block as defined below.\n"},"marketplaceOfferId":{"type":"string","description":"The marketplace offer ID. Defaults to \u003cspan pulumi-lang-nodejs=\"`panSwfwCloudNgfw`\" pulumi-lang-dotnet=\"`PanSwfwCloudNgfw`\" pulumi-lang-go=\"`panSwfwCloudNgfw`\" pulumi-lang-python=\"`pan_swfw_cloud_ngfw`\" pulumi-lang-yaml=\"`panSwfwCloudNgfw`\" pulumi-lang-java=\"`panSwfwCloudNgfw`\"\u003e`pan_swfw_cloud_ngfw`\u003c/span\u003e. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"The name which should be used for this Palo Alto Next Generation Firewall Virtual Network Local Rulestack. Changing this forces a new Palo Alto Next Generation Firewall Virtual Network Local Rulestack to be created.\n"},"networkProfile":{"$ref":"#/types/azure:paloalto/NextGenerationFirewallVirtualNetworkLocalRulestackNetworkProfile:NextGenerationFirewallVirtualNetworkLocalRulestackNetworkProfile","description":"A \u003cspan pulumi-lang-nodejs=\"`networkProfile`\" pulumi-lang-dotnet=\"`NetworkProfile`\" pulumi-lang-go=\"`networkProfile`\" pulumi-lang-python=\"`network_profile`\" pulumi-lang-yaml=\"`networkProfile`\" pulumi-lang-java=\"`networkProfile`\"\u003e`network_profile`\u003c/span\u003e block as defined below.\n"},"planId":{"type":"string","description":"The billing plan ID as published by Liftr.PAN. Defaults to `panw-cloud-ngfw-payg`.\n\n\u003e **Note:** The former \u003cspan pulumi-lang-nodejs=\"`planId`\" pulumi-lang-dotnet=\"`PlanId`\" pulumi-lang-go=\"`planId`\" pulumi-lang-python=\"`plan_id`\" pulumi-lang-yaml=\"`planId`\" pulumi-lang-java=\"`planId`\"\u003e`plan_id`\u003c/span\u003e `panw-cloud-ngfw-payg` is defined as stop sell, but has been set as the default to not break any existing resources that were originally provisioned with it. Users need to explicitly set \u003cspan pulumi-lang-nodejs=\"`planId`\" pulumi-lang-dotnet=\"`PlanId`\" pulumi-lang-go=\"`planId`\" pulumi-lang-python=\"`plan_id`\" pulumi-lang-yaml=\"`planId`\" pulumi-lang-java=\"`planId`\"\u003e`plan_id`\u003c/span\u003e to `panw-cngfw-payg` when creating new resources.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Palo Alto Next Generation Firewall Virtual Network Local Rulestack should exist. Changing this forces a new Palo Alto Next Generation Firewall Virtual Network Local Rulestack to be created.\n"},"rulestackId":{"type":"string","description":"The ID of the Local Rulestack which will be used to configure this Firewall Resource.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Palo Alto Next Generation Firewall Virtual Network Local Rulestack.\n"}},"required":["name","networkProfile","resourceGroupName","rulestackId"],"inputProperties":{"destinationNats":{"type":"array","items":{"$ref":"#/types/azure:paloalto/NextGenerationFirewallVirtualNetworkLocalRulestackDestinationNat:NextGenerationFirewallVirtualNetworkLocalRulestackDestinationNat"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`destinationNat`\" pulumi-lang-dotnet=\"`DestinationNat`\" pulumi-lang-go=\"`destinationNat`\" pulumi-lang-python=\"`destination_nat`\" pulumi-lang-yaml=\"`destinationNat`\" pulumi-lang-java=\"`destinationNat`\"\u003e`destination_nat`\u003c/span\u003e blocks as defined below.\n"},"dnsSettings":{"$ref":"#/types/azure:paloalto/NextGenerationFirewallVirtualNetworkLocalRulestackDnsSettings:NextGenerationFirewallVirtualNetworkLocalRulestackDnsSettings","description":"A \u003cspan pulumi-lang-nodejs=\"`dnsSettings`\" pulumi-lang-dotnet=\"`DnsSettings`\" pulumi-lang-go=\"`dnsSettings`\" pulumi-lang-python=\"`dns_settings`\" pulumi-lang-yaml=\"`dnsSettings`\" pulumi-lang-java=\"`dnsSettings`\"\u003e`dns_settings`\u003c/span\u003e block as defined below.\n"},"marketplaceOfferId":{"type":"string","description":"The marketplace offer ID. Defaults to \u003cspan pulumi-lang-nodejs=\"`panSwfwCloudNgfw`\" pulumi-lang-dotnet=\"`PanSwfwCloudNgfw`\" pulumi-lang-go=\"`panSwfwCloudNgfw`\" pulumi-lang-python=\"`pan_swfw_cloud_ngfw`\" pulumi-lang-yaml=\"`panSwfwCloudNgfw`\" pulumi-lang-java=\"`panSwfwCloudNgfw`\"\u003e`pan_swfw_cloud_ngfw`\u003c/span\u003e. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Palo Alto Next Generation Firewall Virtual Network Local Rulestack. Changing this forces a new Palo Alto Next Generation Firewall Virtual Network Local Rulestack to be created.\n","willReplaceOnChanges":true},"networkProfile":{"$ref":"#/types/azure:paloalto/NextGenerationFirewallVirtualNetworkLocalRulestackNetworkProfile:NextGenerationFirewallVirtualNetworkLocalRulestackNetworkProfile","description":"A \u003cspan pulumi-lang-nodejs=\"`networkProfile`\" pulumi-lang-dotnet=\"`NetworkProfile`\" pulumi-lang-go=\"`networkProfile`\" pulumi-lang-python=\"`network_profile`\" pulumi-lang-yaml=\"`networkProfile`\" pulumi-lang-java=\"`networkProfile`\"\u003e`network_profile`\u003c/span\u003e block as defined below.\n"},"planId":{"type":"string","description":"The billing plan ID as published by Liftr.PAN. Defaults to `panw-cloud-ngfw-payg`.\n\n\u003e **Note:** The former \u003cspan pulumi-lang-nodejs=\"`planId`\" pulumi-lang-dotnet=\"`PlanId`\" pulumi-lang-go=\"`planId`\" pulumi-lang-python=\"`plan_id`\" pulumi-lang-yaml=\"`planId`\" pulumi-lang-java=\"`planId`\"\u003e`plan_id`\u003c/span\u003e `panw-cloud-ngfw-payg` is defined as stop sell, but has been set as the default to not break any existing resources that were originally provisioned with it. Users need to explicitly set \u003cspan pulumi-lang-nodejs=\"`planId`\" pulumi-lang-dotnet=\"`PlanId`\" pulumi-lang-go=\"`planId`\" pulumi-lang-python=\"`plan_id`\" pulumi-lang-yaml=\"`planId`\" pulumi-lang-java=\"`planId`\"\u003e`plan_id`\u003c/span\u003e to `panw-cngfw-payg` when creating new resources.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Palo Alto Next Generation Firewall Virtual Network Local Rulestack should exist. Changing this forces a new Palo Alto Next Generation Firewall Virtual Network Local Rulestack to be created.\n","willReplaceOnChanges":true},"rulestackId":{"type":"string","description":"The ID of the Local Rulestack which will be used to configure this Firewall Resource.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Palo Alto Next Generation Firewall Virtual Network Local Rulestack.\n"}},"requiredInputs":["networkProfile","resourceGroupName","rulestackId"],"stateInputs":{"description":"Input properties used for looking up and filtering NextGenerationFirewallVirtualNetworkLocalRulestack resources.\n","properties":{"destinationNats":{"type":"array","items":{"$ref":"#/types/azure:paloalto/NextGenerationFirewallVirtualNetworkLocalRulestackDestinationNat:NextGenerationFirewallVirtualNetworkLocalRulestackDestinationNat"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`destinationNat`\" pulumi-lang-dotnet=\"`DestinationNat`\" pulumi-lang-go=\"`destinationNat`\" pulumi-lang-python=\"`destination_nat`\" pulumi-lang-yaml=\"`destinationNat`\" pulumi-lang-java=\"`destinationNat`\"\u003e`destination_nat`\u003c/span\u003e blocks as defined below.\n"},"dnsSettings":{"$ref":"#/types/azure:paloalto/NextGenerationFirewallVirtualNetworkLocalRulestackDnsSettings:NextGenerationFirewallVirtualNetworkLocalRulestackDnsSettings","description":"A \u003cspan pulumi-lang-nodejs=\"`dnsSettings`\" pulumi-lang-dotnet=\"`DnsSettings`\" pulumi-lang-go=\"`dnsSettings`\" pulumi-lang-python=\"`dns_settings`\" pulumi-lang-yaml=\"`dnsSettings`\" pulumi-lang-java=\"`dnsSettings`\"\u003e`dns_settings`\u003c/span\u003e block as defined below.\n"},"marketplaceOfferId":{"type":"string","description":"The marketplace offer ID. Defaults to \u003cspan pulumi-lang-nodejs=\"`panSwfwCloudNgfw`\" pulumi-lang-dotnet=\"`PanSwfwCloudNgfw`\" pulumi-lang-go=\"`panSwfwCloudNgfw`\" pulumi-lang-python=\"`pan_swfw_cloud_ngfw`\" pulumi-lang-yaml=\"`panSwfwCloudNgfw`\" pulumi-lang-java=\"`panSwfwCloudNgfw`\"\u003e`pan_swfw_cloud_ngfw`\u003c/span\u003e. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Palo Alto Next Generation Firewall Virtual Network Local Rulestack. Changing this forces a new Palo Alto Next Generation Firewall Virtual Network Local Rulestack to be created.\n","willReplaceOnChanges":true},"networkProfile":{"$ref":"#/types/azure:paloalto/NextGenerationFirewallVirtualNetworkLocalRulestackNetworkProfile:NextGenerationFirewallVirtualNetworkLocalRulestackNetworkProfile","description":"A \u003cspan pulumi-lang-nodejs=\"`networkProfile`\" pulumi-lang-dotnet=\"`NetworkProfile`\" pulumi-lang-go=\"`networkProfile`\" pulumi-lang-python=\"`network_profile`\" pulumi-lang-yaml=\"`networkProfile`\" pulumi-lang-java=\"`networkProfile`\"\u003e`network_profile`\u003c/span\u003e block as defined below.\n"},"planId":{"type":"string","description":"The billing plan ID as published by Liftr.PAN. Defaults to `panw-cloud-ngfw-payg`.\n\n\u003e **Note:** The former \u003cspan pulumi-lang-nodejs=\"`planId`\" pulumi-lang-dotnet=\"`PlanId`\" pulumi-lang-go=\"`planId`\" pulumi-lang-python=\"`plan_id`\" pulumi-lang-yaml=\"`planId`\" pulumi-lang-java=\"`planId`\"\u003e`plan_id`\u003c/span\u003e `panw-cloud-ngfw-payg` is defined as stop sell, but has been set as the default to not break any existing resources that were originally provisioned with it. Users need to explicitly set \u003cspan pulumi-lang-nodejs=\"`planId`\" pulumi-lang-dotnet=\"`PlanId`\" pulumi-lang-go=\"`planId`\" pulumi-lang-python=\"`plan_id`\" pulumi-lang-yaml=\"`planId`\" pulumi-lang-java=\"`planId`\"\u003e`plan_id`\u003c/span\u003e to `panw-cngfw-payg` when creating new resources.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Palo Alto Next Generation Firewall Virtual Network Local Rulestack should exist. Changing this forces a new Palo Alto Next Generation Firewall Virtual Network Local Rulestack to be created.\n","willReplaceOnChanges":true},"rulestackId":{"type":"string","description":"The ID of the Local Rulestack which will be used to configure this Firewall Resource.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Palo Alto Next Generation Firewall Virtual Network Local Rulestack.\n"}},"type":"object"}},"azure:paloalto/nextGenerationFirewallVirtualNetworkPanorama:NextGenerationFirewallVirtualNetworkPanorama":{"description":"Manages a Palo Alto Next Generation Firewall Virtual Network Panorama.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resource-group\",\n    location: \"westeurope\",\n});\nconst examplePublicIp = new azure.network.PublicIp(\"example\", {\n    name: \"example-public-ip\",\n    location: example.location,\n    resourceGroupName: example.name,\n    allocationMethod: \"Static\",\n    sku: \"Standard\",\n});\nconst exampleNetworkSecurityGroup = new azure.network.NetworkSecurityGroup(\"example\", {\n    name: \"example-nsg\",\n    location: test.location,\n    resourceGroupName: test.name,\n});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"example\", {\n    name: \"example-vnet\",\n    addressSpaces: [\"10.0.0.0/16\"],\n    location: example.location,\n    resourceGroupName: example.name,\n    tags: {\n        environment: \"Production\",\n    },\n});\nconst trust = new azure.network.Subnet(\"trust\", {\n    name: \"example-trust-subnet\",\n    resourceGroupName: example.name,\n    virtualNetworkName: exampleVirtualNetwork.name,\n    addressPrefixes: [\"10.0.1.0/24\"],\n    delegations: [{\n        name: \"trusted\",\n        serviceDelegation: {\n            name: \"PaloAltoNetworks.Cloudngfw/firewalls\",\n            actions: [\"Microsoft.Network/virtualNetworks/subnets/join/action\"],\n        },\n    }],\n});\nconst trustSubnetNetworkSecurityGroupAssociation = new azure.network.SubnetNetworkSecurityGroupAssociation(\"trust\", {\n    subnetId: trust.id,\n    networkSecurityGroupId: exampleNetworkSecurityGroup.id,\n});\nconst untrust = new azure.network.Subnet(\"untrust\", {\n    name: \"example-untrust-subnet\",\n    resourceGroupName: example.name,\n    virtualNetworkName: exampleVirtualNetwork.name,\n    addressPrefixes: [\"10.0.2.0/24\"],\n    delegations: [{\n        name: \"untrusted\",\n        serviceDelegation: {\n            name: \"PaloAltoNetworks.Cloudngfw/firewalls\",\n            actions: [\"Microsoft.Network/virtualNetworks/subnets/join/action\"],\n        },\n    }],\n});\nconst untrustSubnetNetworkSecurityGroupAssociation = new azure.network.SubnetNetworkSecurityGroupAssociation(\"untrust\", {\n    subnetId: untrust.id,\n    networkSecurityGroupId: exampleNetworkSecurityGroup.id,\n});\nconst exampleNextGenerationFirewallVirtualNetworkPanorama = new azure.paloalto.NextGenerationFirewallVirtualNetworkPanorama(\"example\", {\n    name: \"example-ngfwvh\",\n    resourceGroupName: example.name,\n    location: example.location,\n    panoramaBase64Config: \"e2RnbmFtZTogY25nZnctYXotZXhhbXBsZSwgdHBsbmFtZTogY25nZnctZXhhbXBsZS10ZW1wbGF0ZS1zdGFjaywgZXhhbXBsZS1wYW5vcmFtYS1zZXJ2ZXI6IDE5Mi4xNjguMC4xLCB2bS1hdXRoLWtleTogMDAwMDAwMDAwMDAwMDAwLCBleHBpcnk6IDIwMjQvMDcvMzF9Cg==\",\n    networkProfile: {\n        publicIpAddressIds: [examplePublicIp.id],\n        vnetConfiguration: {\n            virtualNetworkId: exampleVirtualNetwork.id,\n            trustedSubnetId: trust.id,\n            untrustedSubnetId: untrust.id,\n        },\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resource-group\",\n    location=\"westeurope\")\nexample_public_ip = azure.network.PublicIp(\"example\",\n    name=\"example-public-ip\",\n    location=example.location,\n    resource_group_name=example.name,\n    allocation_method=\"Static\",\n    sku=\"Standard\")\nexample_network_security_group = azure.network.NetworkSecurityGroup(\"example\",\n    name=\"example-nsg\",\n    location=test[\"location\"],\n    resource_group_name=test[\"name\"])\nexample_virtual_network = azure.network.VirtualNetwork(\"example\",\n    name=\"example-vnet\",\n    address_spaces=[\"10.0.0.0/16\"],\n    location=example.location,\n    resource_group_name=example.name,\n    tags={\n        \"environment\": \"Production\",\n    })\ntrust = azure.network.Subnet(\"trust\",\n    name=\"example-trust-subnet\",\n    resource_group_name=example.name,\n    virtual_network_name=example_virtual_network.name,\n    address_prefixes=[\"10.0.1.0/24\"],\n    delegations=[{\n        \"name\": \"trusted\",\n        \"service_delegation\": {\n            \"name\": \"PaloAltoNetworks.Cloudngfw/firewalls\",\n            \"actions\": [\"Microsoft.Network/virtualNetworks/subnets/join/action\"],\n        },\n    }])\ntrust_subnet_network_security_group_association = azure.network.SubnetNetworkSecurityGroupAssociation(\"trust\",\n    subnet_id=trust.id,\n    network_security_group_id=example_network_security_group.id)\nuntrust = azure.network.Subnet(\"untrust\",\n    name=\"example-untrust-subnet\",\n    resource_group_name=example.name,\n    virtual_network_name=example_virtual_network.name,\n    address_prefixes=[\"10.0.2.0/24\"],\n    delegations=[{\n        \"name\": \"untrusted\",\n        \"service_delegation\": {\n            \"name\": \"PaloAltoNetworks.Cloudngfw/firewalls\",\n            \"actions\": [\"Microsoft.Network/virtualNetworks/subnets/join/action\"],\n        },\n    }])\nuntrust_subnet_network_security_group_association = azure.network.SubnetNetworkSecurityGroupAssociation(\"untrust\",\n    subnet_id=untrust.id,\n    network_security_group_id=example_network_security_group.id)\nexample_next_generation_firewall_virtual_network_panorama = azure.paloalto.NextGenerationFirewallVirtualNetworkPanorama(\"example\",\n    name=\"example-ngfwvh\",\n    resource_group_name=example.name,\n    location=example.location,\n    panorama_base64_config=\"e2RnbmFtZTogY25nZnctYXotZXhhbXBsZSwgdHBsbmFtZTogY25nZnctZXhhbXBsZS10ZW1wbGF0ZS1zdGFjaywgZXhhbXBsZS1wYW5vcmFtYS1zZXJ2ZXI6IDE5Mi4xNjguMC4xLCB2bS1hdXRoLWtleTogMDAwMDAwMDAwMDAwMDAwLCBleHBpcnk6IDIwMjQvMDcvMzF9Cg==\",\n    network_profile={\n        \"public_ip_address_ids\": [example_public_ip.id],\n        \"vnet_configuration\": {\n            \"virtual_network_id\": example_virtual_network.id,\n            \"trusted_subnet_id\": trust.id,\n            \"untrusted_subnet_id\": untrust.id,\n        },\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resource-group\",\n        Location = \"westeurope\",\n    });\n\n    var examplePublicIp = new Azure.Network.PublicIp(\"example\", new()\n    {\n        Name = \"example-public-ip\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        AllocationMethod = \"Static\",\n        Sku = \"Standard\",\n    });\n\n    var exampleNetworkSecurityGroup = new Azure.Network.NetworkSecurityGroup(\"example\", new()\n    {\n        Name = \"example-nsg\",\n        Location = test.Location,\n        ResourceGroupName = test.Name,\n    });\n\n    var exampleVirtualNetwork = new Azure.Network.VirtualNetwork(\"example\", new()\n    {\n        Name = \"example-vnet\",\n        AddressSpaces = new[]\n        {\n            \"10.0.0.0/16\",\n        },\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Tags = \n        {\n            { \"environment\", \"Production\" },\n        },\n    });\n\n    var trust = new Azure.Network.Subnet(\"trust\", new()\n    {\n        Name = \"example-trust-subnet\",\n        ResourceGroupName = example.Name,\n        VirtualNetworkName = exampleVirtualNetwork.Name,\n        AddressPrefixes = new[]\n        {\n            \"10.0.1.0/24\",\n        },\n        Delegations = new[]\n        {\n            new Azure.Network.Inputs.SubnetDelegationArgs\n            {\n                Name = \"trusted\",\n                ServiceDelegation = new Azure.Network.Inputs.SubnetDelegationServiceDelegationArgs\n                {\n                    Name = \"PaloAltoNetworks.Cloudngfw/firewalls\",\n                    Actions = new[]\n                    {\n                        \"Microsoft.Network/virtualNetworks/subnets/join/action\",\n                    },\n                },\n            },\n        },\n    });\n\n    var trustSubnetNetworkSecurityGroupAssociation = new Azure.Network.SubnetNetworkSecurityGroupAssociation(\"trust\", new()\n    {\n        SubnetId = trust.Id,\n        NetworkSecurityGroupId = exampleNetworkSecurityGroup.Id,\n    });\n\n    var untrust = new Azure.Network.Subnet(\"untrust\", new()\n    {\n        Name = \"example-untrust-subnet\",\n        ResourceGroupName = example.Name,\n        VirtualNetworkName = exampleVirtualNetwork.Name,\n        AddressPrefixes = new[]\n        {\n            \"10.0.2.0/24\",\n        },\n        Delegations = new[]\n        {\n            new Azure.Network.Inputs.SubnetDelegationArgs\n            {\n                Name = \"untrusted\",\n                ServiceDelegation = new Azure.Network.Inputs.SubnetDelegationServiceDelegationArgs\n                {\n                    Name = \"PaloAltoNetworks.Cloudngfw/firewalls\",\n                    Actions = new[]\n                    {\n                        \"Microsoft.Network/virtualNetworks/subnets/join/action\",\n                    },\n                },\n            },\n        },\n    });\n\n    var untrustSubnetNetworkSecurityGroupAssociation = new Azure.Network.SubnetNetworkSecurityGroupAssociation(\"untrust\", new()\n    {\n        SubnetId = untrust.Id,\n        NetworkSecurityGroupId = exampleNetworkSecurityGroup.Id,\n    });\n\n    var exampleNextGenerationFirewallVirtualNetworkPanorama = new Azure.PaloAlto.NextGenerationFirewallVirtualNetworkPanorama(\"example\", new()\n    {\n        Name = \"example-ngfwvh\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        PanoramaBase64Config = \"e2RnbmFtZTogY25nZnctYXotZXhhbXBsZSwgdHBsbmFtZTogY25nZnctZXhhbXBsZS10ZW1wbGF0ZS1zdGFjaywgZXhhbXBsZS1wYW5vcmFtYS1zZXJ2ZXI6IDE5Mi4xNjguMC4xLCB2bS1hdXRoLWtleTogMDAwMDAwMDAwMDAwMDAwLCBleHBpcnk6IDIwMjQvMDcvMzF9Cg==\",\n        NetworkProfile = new Azure.PaloAlto.Inputs.NextGenerationFirewallVirtualNetworkPanoramaNetworkProfileArgs\n        {\n            PublicIpAddressIds = new[]\n            {\n                examplePublicIp.Id,\n            },\n            VnetConfiguration = new Azure.PaloAlto.Inputs.NextGenerationFirewallVirtualNetworkPanoramaNetworkProfileVnetConfigurationArgs\n            {\n                VirtualNetworkId = exampleVirtualNetwork.Id,\n                TrustedSubnetId = trust.Id,\n                UntrustedSubnetId = untrust.Id,\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/paloalto\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resource-group\"),\n\t\t\tLocation: pulumi.String(\"westeurope\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texamplePublicIp, err := network.NewPublicIp(ctx, \"example\", \u0026network.PublicIpArgs{\n\t\t\tName:              pulumi.String(\"example-public-ip\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tAllocationMethod:  pulumi.String(\"Static\"),\n\t\t\tSku:               pulumi.String(\"Standard\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNetworkSecurityGroup, err := network.NewNetworkSecurityGroup(ctx, \"example\", \u0026network.NetworkSecurityGroupArgs{\n\t\t\tName:              pulumi.String(\"example-nsg\"),\n\t\t\tLocation:          pulumi.Any(test.Location),\n\t\t\tResourceGroupName: pulumi.Any(test.Name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, \"example\", \u0026network.VirtualNetworkArgs{\n\t\t\tName: pulumi.String(\"example-vnet\"),\n\t\t\tAddressSpaces: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.0.0/16\"),\n\t\t\t},\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"environment\": pulumi.String(\"Production\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttrust, err := network.NewSubnet(ctx, \"trust\", \u0026network.SubnetArgs{\n\t\t\tName:               pulumi.String(\"example-trust-subnet\"),\n\t\t\tResourceGroupName:  example.Name,\n\t\t\tVirtualNetworkName: exampleVirtualNetwork.Name,\n\t\t\tAddressPrefixes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.1.0/24\"),\n\t\t\t},\n\t\t\tDelegations: network.SubnetDelegationArray{\n\t\t\t\t\u0026network.SubnetDelegationArgs{\n\t\t\t\t\tName: pulumi.String(\"trusted\"),\n\t\t\t\t\tServiceDelegation: \u0026network.SubnetDelegationServiceDelegationArgs{\n\t\t\t\t\t\tName: pulumi.String(\"PaloAltoNetworks.Cloudngfw/firewalls\"),\n\t\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"Microsoft.Network/virtualNetworks/subnets/join/action\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = network.NewSubnetNetworkSecurityGroupAssociation(ctx, \"trust\", \u0026network.SubnetNetworkSecurityGroupAssociationArgs{\n\t\t\tSubnetId:               trust.ID(),\n\t\t\tNetworkSecurityGroupId: exampleNetworkSecurityGroup.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tuntrust, err := network.NewSubnet(ctx, \"untrust\", \u0026network.SubnetArgs{\n\t\t\tName:               pulumi.String(\"example-untrust-subnet\"),\n\t\t\tResourceGroupName:  example.Name,\n\t\t\tVirtualNetworkName: exampleVirtualNetwork.Name,\n\t\t\tAddressPrefixes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.2.0/24\"),\n\t\t\t},\n\t\t\tDelegations: network.SubnetDelegationArray{\n\t\t\t\t\u0026network.SubnetDelegationArgs{\n\t\t\t\t\tName: pulumi.String(\"untrusted\"),\n\t\t\t\t\tServiceDelegation: \u0026network.SubnetDelegationServiceDelegationArgs{\n\t\t\t\t\t\tName: pulumi.String(\"PaloAltoNetworks.Cloudngfw/firewalls\"),\n\t\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"Microsoft.Network/virtualNetworks/subnets/join/action\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = network.NewSubnetNetworkSecurityGroupAssociation(ctx, \"untrust\", \u0026network.SubnetNetworkSecurityGroupAssociationArgs{\n\t\t\tSubnetId:               untrust.ID(),\n\t\t\tNetworkSecurityGroupId: exampleNetworkSecurityGroup.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = paloalto.NewNextGenerationFirewallVirtualNetworkPanorama(ctx, \"example\", \u0026paloalto.NextGenerationFirewallVirtualNetworkPanoramaArgs{\n\t\t\tName:                 pulumi.String(\"example-ngfwvh\"),\n\t\t\tResourceGroupName:    example.Name,\n\t\t\tLocation:             example.Location,\n\t\t\tPanoramaBase64Config: pulumi.String(\"e2RnbmFtZTogY25nZnctYXotZXhhbXBsZSwgdHBsbmFtZTogY25nZnctZXhhbXBsZS10ZW1wbGF0ZS1zdGFjaywgZXhhbXBsZS1wYW5vcmFtYS1zZXJ2ZXI6IDE5Mi4xNjguMC4xLCB2bS1hdXRoLWtleTogMDAwMDAwMDAwMDAwMDAwLCBleHBpcnk6IDIwMjQvMDcvMzF9Cg==\"),\n\t\t\tNetworkProfile: \u0026paloalto.NextGenerationFirewallVirtualNetworkPanoramaNetworkProfileArgs{\n\t\t\t\tPublicIpAddressIds: pulumi.StringArray{\n\t\t\t\t\texamplePublicIp.ID(),\n\t\t\t\t},\n\t\t\t\tVnetConfiguration: \u0026paloalto.NextGenerationFirewallVirtualNetworkPanoramaNetworkProfileVnetConfigurationArgs{\n\t\t\t\t\tVirtualNetworkId:  exampleVirtualNetwork.ID(),\n\t\t\t\t\tTrustedSubnetId:   trust.ID(),\n\t\t\t\t\tUntrustedSubnetId: untrust.ID(),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.PublicIp;\nimport com.pulumi.azure.network.PublicIpArgs;\nimport com.pulumi.azure.network.NetworkSecurityGroup;\nimport com.pulumi.azure.network.NetworkSecurityGroupArgs;\nimport com.pulumi.azure.network.VirtualNetwork;\nimport com.pulumi.azure.network.VirtualNetworkArgs;\nimport com.pulumi.azure.network.Subnet;\nimport com.pulumi.azure.network.SubnetArgs;\nimport com.pulumi.azure.network.inputs.SubnetDelegationArgs;\nimport com.pulumi.azure.network.inputs.SubnetDelegationServiceDelegationArgs;\nimport com.pulumi.azure.network.SubnetNetworkSecurityGroupAssociation;\nimport com.pulumi.azure.network.SubnetNetworkSecurityGroupAssociationArgs;\nimport com.pulumi.azure.paloalto.NextGenerationFirewallVirtualNetworkPanorama;\nimport com.pulumi.azure.paloalto.NextGenerationFirewallVirtualNetworkPanoramaArgs;\nimport com.pulumi.azure.paloalto.inputs.NextGenerationFirewallVirtualNetworkPanoramaNetworkProfileArgs;\nimport com.pulumi.azure.paloalto.inputs.NextGenerationFirewallVirtualNetworkPanoramaNetworkProfileVnetConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resource-group\")\n            .location(\"westeurope\")\n            .build());\n\n        var examplePublicIp = new PublicIp(\"examplePublicIp\", PublicIpArgs.builder()\n            .name(\"example-public-ip\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .allocationMethod(\"Static\")\n            .sku(\"Standard\")\n            .build());\n\n        var exampleNetworkSecurityGroup = new NetworkSecurityGroup(\"exampleNetworkSecurityGroup\", NetworkSecurityGroupArgs.builder()\n            .name(\"example-nsg\")\n            .location(test.location())\n            .resourceGroupName(test.name())\n            .build());\n\n        var exampleVirtualNetwork = new VirtualNetwork(\"exampleVirtualNetwork\", VirtualNetworkArgs.builder()\n            .name(\"example-vnet\")\n            .addressSpaces(\"10.0.0.0/16\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .tags(Map.of(\"environment\", \"Production\"))\n            .build());\n\n        var trust = new Subnet(\"trust\", SubnetArgs.builder()\n            .name(\"example-trust-subnet\")\n            .resourceGroupName(example.name())\n            .virtualNetworkName(exampleVirtualNetwork.name())\n            .addressPrefixes(\"10.0.1.0/24\")\n            .delegations(SubnetDelegationArgs.builder()\n                .name(\"trusted\")\n                .serviceDelegation(SubnetDelegationServiceDelegationArgs.builder()\n                    .name(\"PaloAltoNetworks.Cloudngfw/firewalls\")\n                    .actions(\"Microsoft.Network/virtualNetworks/subnets/join/action\")\n                    .build())\n                .build())\n            .build());\n\n        var trustSubnetNetworkSecurityGroupAssociation = new SubnetNetworkSecurityGroupAssociation(\"trustSubnetNetworkSecurityGroupAssociation\", SubnetNetworkSecurityGroupAssociationArgs.builder()\n            .subnetId(trust.id())\n            .networkSecurityGroupId(exampleNetworkSecurityGroup.id())\n            .build());\n\n        var untrust = new Subnet(\"untrust\", SubnetArgs.builder()\n            .name(\"example-untrust-subnet\")\n            .resourceGroupName(example.name())\n            .virtualNetworkName(exampleVirtualNetwork.name())\n            .addressPrefixes(\"10.0.2.0/24\")\n            .delegations(SubnetDelegationArgs.builder()\n                .name(\"untrusted\")\n                .serviceDelegation(SubnetDelegationServiceDelegationArgs.builder()\n                    .name(\"PaloAltoNetworks.Cloudngfw/firewalls\")\n                    .actions(\"Microsoft.Network/virtualNetworks/subnets/join/action\")\n                    .build())\n                .build())\n            .build());\n\n        var untrustSubnetNetworkSecurityGroupAssociation = new SubnetNetworkSecurityGroupAssociation(\"untrustSubnetNetworkSecurityGroupAssociation\", SubnetNetworkSecurityGroupAssociationArgs.builder()\n            .subnetId(untrust.id())\n            .networkSecurityGroupId(exampleNetworkSecurityGroup.id())\n            .build());\n\n        var exampleNextGenerationFirewallVirtualNetworkPanorama = new NextGenerationFirewallVirtualNetworkPanorama(\"exampleNextGenerationFirewallVirtualNetworkPanorama\", NextGenerationFirewallVirtualNetworkPanoramaArgs.builder()\n            .name(\"example-ngfwvh\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .panoramaBase64Config(\"e2RnbmFtZTogY25nZnctYXotZXhhbXBsZSwgdHBsbmFtZTogY25nZnctZXhhbXBsZS10ZW1wbGF0ZS1zdGFjaywgZXhhbXBsZS1wYW5vcmFtYS1zZXJ2ZXI6IDE5Mi4xNjguMC4xLCB2bS1hdXRoLWtleTogMDAwMDAwMDAwMDAwMDAwLCBleHBpcnk6IDIwMjQvMDcvMzF9Cg==\")\n            .networkProfile(NextGenerationFirewallVirtualNetworkPanoramaNetworkProfileArgs.builder()\n                .publicIpAddressIds(examplePublicIp.id())\n                .vnetConfiguration(NextGenerationFirewallVirtualNetworkPanoramaNetworkProfileVnetConfigurationArgs.builder()\n                    .virtualNetworkId(exampleVirtualNetwork.id())\n                    .trustedSubnetId(trust.id())\n                    .untrustedSubnetId(untrust.id())\n                    .build())\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resource-group\n      location: westeurope\n  examplePublicIp:\n    type: azure:network:PublicIp\n    name: example\n    properties:\n      name: example-public-ip\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      allocationMethod: Static\n      sku: Standard\n  exampleNetworkSecurityGroup:\n    type: azure:network:NetworkSecurityGroup\n    name: example\n    properties:\n      name: example-nsg\n      location: ${test.location}\n      resourceGroupName: ${test.name}\n  exampleVirtualNetwork:\n    type: azure:network:VirtualNetwork\n    name: example\n    properties:\n      name: example-vnet\n      addressSpaces:\n        - 10.0.0.0/16\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      tags:\n        environment: Production\n  trust:\n    type: azure:network:Subnet\n    properties:\n      name: example-trust-subnet\n      resourceGroupName: ${example.name}\n      virtualNetworkName: ${exampleVirtualNetwork.name}\n      addressPrefixes:\n        - 10.0.1.0/24\n      delegations:\n        - name: trusted\n          serviceDelegation:\n            name: PaloAltoNetworks.Cloudngfw/firewalls\n            actions:\n              - Microsoft.Network/virtualNetworks/subnets/join/action\n  trustSubnetNetworkSecurityGroupAssociation:\n    type: azure:network:SubnetNetworkSecurityGroupAssociation\n    name: trust\n    properties:\n      subnetId: ${trust.id}\n      networkSecurityGroupId: ${exampleNetworkSecurityGroup.id}\n  untrust:\n    type: azure:network:Subnet\n    properties:\n      name: example-untrust-subnet\n      resourceGroupName: ${example.name}\n      virtualNetworkName: ${exampleVirtualNetwork.name}\n      addressPrefixes:\n        - 10.0.2.0/24\n      delegations:\n        - name: untrusted\n          serviceDelegation:\n            name: PaloAltoNetworks.Cloudngfw/firewalls\n            actions:\n              - Microsoft.Network/virtualNetworks/subnets/join/action\n  untrustSubnetNetworkSecurityGroupAssociation:\n    type: azure:network:SubnetNetworkSecurityGroupAssociation\n    name: untrust\n    properties:\n      subnetId: ${untrust.id}\n      networkSecurityGroupId: ${exampleNetworkSecurityGroup.id}\n  exampleNextGenerationFirewallVirtualNetworkPanorama:\n    type: azure:paloalto:NextGenerationFirewallVirtualNetworkPanorama\n    name: example\n    properties:\n      name: example-ngfwvh\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      panoramaBase64Config: e2RnbmFtZTogY25nZnctYXotZXhhbXBsZSwgdHBsbmFtZTogY25nZnctZXhhbXBsZS10ZW1wbGF0ZS1zdGFjaywgZXhhbXBsZS1wYW5vcmFtYS1zZXJ2ZXI6IDE5Mi4xNjguMC4xLCB2bS1hdXRoLWtleTogMDAwMDAwMDAwMDAwMDAwLCBleHBpcnk6IDIwMjQvMDcvMzF9Cg==\n      networkProfile:\n        publicIpAddressIds:\n          - ${examplePublicIp.id}\n        vnetConfiguration:\n          virtualNetworkId: ${exampleVirtualNetwork.id}\n          trustedSubnetId: ${trust.id}\n          untrustedSubnetId: ${untrust.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `PaloAltoNetworks.Cloudngfw` - 2025-05-23\n\n## Import\n\nPalo Alto Next Generation Firewall Virtual Network Panoramas can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:paloalto/nextGenerationFirewallVirtualNetworkPanorama:NextGenerationFirewallVirtualNetworkPanorama example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/PaloAltoNetworks.Cloudngfw/firewalls/myVNetPanoramaFW\n```\n\n","properties":{"destinationNats":{"type":"array","items":{"$ref":"#/types/azure:paloalto/NextGenerationFirewallVirtualNetworkPanoramaDestinationNat:NextGenerationFirewallVirtualNetworkPanoramaDestinationNat"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`destinationNat`\" pulumi-lang-dotnet=\"`DestinationNat`\" pulumi-lang-go=\"`destinationNat`\" pulumi-lang-python=\"`destination_nat`\" pulumi-lang-yaml=\"`destinationNat`\" pulumi-lang-java=\"`destinationNat`\"\u003e`destination_nat`\u003c/span\u003e blocks as defined below.\n"},"dnsSettings":{"$ref":"#/types/azure:paloalto/NextGenerationFirewallVirtualNetworkPanoramaDnsSettings:NextGenerationFirewallVirtualNetworkPanoramaDnsSettings","description":"A \u003cspan pulumi-lang-nodejs=\"`dnsSettings`\" pulumi-lang-dotnet=\"`DnsSettings`\" pulumi-lang-go=\"`dnsSettings`\" pulumi-lang-python=\"`dns_settings`\" pulumi-lang-yaml=\"`dnsSettings`\" pulumi-lang-java=\"`dnsSettings`\"\u003e`dns_settings`\u003c/span\u003e block as defined below.\n"},"location":{"type":"string","description":"The Azure Region where the Palo Alto Next Generation Firewall Virtual Network Panorama should exist. Changing this forces a new Palo Alto Next Generation Firewall Virtual Network Panorama to be created.\n"},"marketplaceOfferId":{"type":"string","description":"The marketplace offer ID. Defaults to \u003cspan pulumi-lang-nodejs=\"`panSwfwCloudNgfw`\" pulumi-lang-dotnet=\"`PanSwfwCloudNgfw`\" pulumi-lang-go=\"`panSwfwCloudNgfw`\" pulumi-lang-python=\"`pan_swfw_cloud_ngfw`\" pulumi-lang-yaml=\"`panSwfwCloudNgfw`\" pulumi-lang-java=\"`panSwfwCloudNgfw`\"\u003e`pan_swfw_cloud_ngfw`\u003c/span\u003e. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"The name which should be used for this Palo Alto Next Generation Firewall Virtual Network Panorama. Changing this forces a new Palo Alto Next Generation Firewall Virtual Network Panorama to be created.\n"},"networkProfile":{"$ref":"#/types/azure:paloalto/NextGenerationFirewallVirtualNetworkPanoramaNetworkProfile:NextGenerationFirewallVirtualNetworkPanoramaNetworkProfile","description":"A \u003cspan pulumi-lang-nodejs=\"`networkProfile`\" pulumi-lang-dotnet=\"`NetworkProfile`\" pulumi-lang-go=\"`networkProfile`\" pulumi-lang-python=\"`network_profile`\" pulumi-lang-yaml=\"`networkProfile`\" pulumi-lang-java=\"`networkProfile`\"\u003e`network_profile`\u003c/span\u003e block as defined below.\n"},"panoramaBase64Config":{"type":"string","description":"The base64 encoded configuration registration string as defined by your Panorama Server for your Cloud Device Group.\n"},"panoramas":{"type":"array","items":{"$ref":"#/types/azure:paloalto/NextGenerationFirewallVirtualNetworkPanoramaPanorama:NextGenerationFirewallVirtualNetworkPanoramaPanorama"},"description":"A \u003cspan pulumi-lang-nodejs=\"`panorama`\" pulumi-lang-dotnet=\"`Panorama`\" pulumi-lang-go=\"`panorama`\" pulumi-lang-python=\"`panorama`\" pulumi-lang-yaml=\"`panorama`\" pulumi-lang-java=\"`panorama`\"\u003e`panorama`\u003c/span\u003e block as defined below.\n"},"planId":{"type":"string","description":"The billing plan ID as published by Liftr.PAN. Defaults to `panw-cloud-ngfw-payg`.\n\n\u003e **Note:** The former \u003cspan pulumi-lang-nodejs=\"`planId`\" pulumi-lang-dotnet=\"`PlanId`\" pulumi-lang-go=\"`planId`\" pulumi-lang-python=\"`plan_id`\" pulumi-lang-yaml=\"`planId`\" pulumi-lang-java=\"`planId`\"\u003e`plan_id`\u003c/span\u003e `panw-cloud-ngfw-payg` is defined as stop sell, but has been set as the default to not break any existing resources that were originally provisioned with it. Users need to explicitly set \u003cspan pulumi-lang-nodejs=\"`planId`\" pulumi-lang-dotnet=\"`PlanId`\" pulumi-lang-go=\"`planId`\" pulumi-lang-python=\"`plan_id`\" pulumi-lang-yaml=\"`planId`\" pulumi-lang-java=\"`planId`\"\u003e`plan_id`\u003c/span\u003e to `panw-cngfw-payg` when creating new resources.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Palo Alto Next Generation Firewall Virtual Network Panorama should exist. Changing this forces a new Palo Alto Next Generation Firewall Virtual Network Panorama to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Palo Alto Next Generation Firewall Virtual Network Panorama.\n"}},"required":["location","name","networkProfile","panoramas","panoramaBase64Config","resourceGroupName"],"inputProperties":{"destinationNats":{"type":"array","items":{"$ref":"#/types/azure:paloalto/NextGenerationFirewallVirtualNetworkPanoramaDestinationNat:NextGenerationFirewallVirtualNetworkPanoramaDestinationNat"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`destinationNat`\" pulumi-lang-dotnet=\"`DestinationNat`\" pulumi-lang-go=\"`destinationNat`\" pulumi-lang-python=\"`destination_nat`\" pulumi-lang-yaml=\"`destinationNat`\" pulumi-lang-java=\"`destinationNat`\"\u003e`destination_nat`\u003c/span\u003e blocks as defined below.\n"},"dnsSettings":{"$ref":"#/types/azure:paloalto/NextGenerationFirewallVirtualNetworkPanoramaDnsSettings:NextGenerationFirewallVirtualNetworkPanoramaDnsSettings","description":"A \u003cspan pulumi-lang-nodejs=\"`dnsSettings`\" pulumi-lang-dotnet=\"`DnsSettings`\" pulumi-lang-go=\"`dnsSettings`\" pulumi-lang-python=\"`dns_settings`\" pulumi-lang-yaml=\"`dnsSettings`\" pulumi-lang-java=\"`dnsSettings`\"\u003e`dns_settings`\u003c/span\u003e block as defined below.\n"},"location":{"type":"string","description":"The Azure Region where the Palo Alto Next Generation Firewall Virtual Network Panorama should exist. Changing this forces a new Palo Alto Next Generation Firewall Virtual Network Panorama to be created.\n","willReplaceOnChanges":true},"marketplaceOfferId":{"type":"string","description":"The marketplace offer ID. Defaults to \u003cspan pulumi-lang-nodejs=\"`panSwfwCloudNgfw`\" pulumi-lang-dotnet=\"`PanSwfwCloudNgfw`\" pulumi-lang-go=\"`panSwfwCloudNgfw`\" pulumi-lang-python=\"`pan_swfw_cloud_ngfw`\" pulumi-lang-yaml=\"`panSwfwCloudNgfw`\" pulumi-lang-java=\"`panSwfwCloudNgfw`\"\u003e`pan_swfw_cloud_ngfw`\u003c/span\u003e. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Palo Alto Next Generation Firewall Virtual Network Panorama. Changing this forces a new Palo Alto Next Generation Firewall Virtual Network Panorama to be created.\n","willReplaceOnChanges":true},"networkProfile":{"$ref":"#/types/azure:paloalto/NextGenerationFirewallVirtualNetworkPanoramaNetworkProfile:NextGenerationFirewallVirtualNetworkPanoramaNetworkProfile","description":"A \u003cspan pulumi-lang-nodejs=\"`networkProfile`\" pulumi-lang-dotnet=\"`NetworkProfile`\" pulumi-lang-go=\"`networkProfile`\" pulumi-lang-python=\"`network_profile`\" pulumi-lang-yaml=\"`networkProfile`\" pulumi-lang-java=\"`networkProfile`\"\u003e`network_profile`\u003c/span\u003e block as defined below.\n"},"panoramaBase64Config":{"type":"string","description":"The base64 encoded configuration registration string as defined by your Panorama Server for your Cloud Device Group.\n"},"planId":{"type":"string","description":"The billing plan ID as published by Liftr.PAN. Defaults to `panw-cloud-ngfw-payg`.\n\n\u003e **Note:** The former \u003cspan pulumi-lang-nodejs=\"`planId`\" pulumi-lang-dotnet=\"`PlanId`\" pulumi-lang-go=\"`planId`\" pulumi-lang-python=\"`plan_id`\" pulumi-lang-yaml=\"`planId`\" pulumi-lang-java=\"`planId`\"\u003e`plan_id`\u003c/span\u003e `panw-cloud-ngfw-payg` is defined as stop sell, but has been set as the default to not break any existing resources that were originally provisioned with it. Users need to explicitly set \u003cspan pulumi-lang-nodejs=\"`planId`\" pulumi-lang-dotnet=\"`PlanId`\" pulumi-lang-go=\"`planId`\" pulumi-lang-python=\"`plan_id`\" pulumi-lang-yaml=\"`planId`\" pulumi-lang-java=\"`planId`\"\u003e`plan_id`\u003c/span\u003e to `panw-cngfw-payg` when creating new resources.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Palo Alto Next Generation Firewall Virtual Network Panorama should exist. Changing this forces a new Palo Alto Next Generation Firewall Virtual Network Panorama to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Palo Alto Next Generation Firewall Virtual Network Panorama.\n"}},"requiredInputs":["networkProfile","panoramaBase64Config","resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering NextGenerationFirewallVirtualNetworkPanorama resources.\n","properties":{"destinationNats":{"type":"array","items":{"$ref":"#/types/azure:paloalto/NextGenerationFirewallVirtualNetworkPanoramaDestinationNat:NextGenerationFirewallVirtualNetworkPanoramaDestinationNat"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`destinationNat`\" pulumi-lang-dotnet=\"`DestinationNat`\" pulumi-lang-go=\"`destinationNat`\" pulumi-lang-python=\"`destination_nat`\" pulumi-lang-yaml=\"`destinationNat`\" pulumi-lang-java=\"`destinationNat`\"\u003e`destination_nat`\u003c/span\u003e blocks as defined below.\n"},"dnsSettings":{"$ref":"#/types/azure:paloalto/NextGenerationFirewallVirtualNetworkPanoramaDnsSettings:NextGenerationFirewallVirtualNetworkPanoramaDnsSettings","description":"A \u003cspan pulumi-lang-nodejs=\"`dnsSettings`\" pulumi-lang-dotnet=\"`DnsSettings`\" pulumi-lang-go=\"`dnsSettings`\" pulumi-lang-python=\"`dns_settings`\" pulumi-lang-yaml=\"`dnsSettings`\" pulumi-lang-java=\"`dnsSettings`\"\u003e`dns_settings`\u003c/span\u003e block as defined below.\n"},"location":{"type":"string","description":"The Azure Region where the Palo Alto Next Generation Firewall Virtual Network Panorama should exist. Changing this forces a new Palo Alto Next Generation Firewall Virtual Network Panorama to be created.\n","willReplaceOnChanges":true},"marketplaceOfferId":{"type":"string","description":"The marketplace offer ID. Defaults to \u003cspan pulumi-lang-nodejs=\"`panSwfwCloudNgfw`\" pulumi-lang-dotnet=\"`PanSwfwCloudNgfw`\" pulumi-lang-go=\"`panSwfwCloudNgfw`\" pulumi-lang-python=\"`pan_swfw_cloud_ngfw`\" pulumi-lang-yaml=\"`panSwfwCloudNgfw`\" pulumi-lang-java=\"`panSwfwCloudNgfw`\"\u003e`pan_swfw_cloud_ngfw`\u003c/span\u003e. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Palo Alto Next Generation Firewall Virtual Network Panorama. Changing this forces a new Palo Alto Next Generation Firewall Virtual Network Panorama to be created.\n","willReplaceOnChanges":true},"networkProfile":{"$ref":"#/types/azure:paloalto/NextGenerationFirewallVirtualNetworkPanoramaNetworkProfile:NextGenerationFirewallVirtualNetworkPanoramaNetworkProfile","description":"A \u003cspan pulumi-lang-nodejs=\"`networkProfile`\" pulumi-lang-dotnet=\"`NetworkProfile`\" pulumi-lang-go=\"`networkProfile`\" pulumi-lang-python=\"`network_profile`\" pulumi-lang-yaml=\"`networkProfile`\" pulumi-lang-java=\"`networkProfile`\"\u003e`network_profile`\u003c/span\u003e block as defined below.\n"},"panoramaBase64Config":{"type":"string","description":"The base64 encoded configuration registration string as defined by your Panorama Server for your Cloud Device Group.\n"},"panoramas":{"type":"array","items":{"$ref":"#/types/azure:paloalto/NextGenerationFirewallVirtualNetworkPanoramaPanorama:NextGenerationFirewallVirtualNetworkPanoramaPanorama"},"description":"A \u003cspan pulumi-lang-nodejs=\"`panorama`\" pulumi-lang-dotnet=\"`Panorama`\" pulumi-lang-go=\"`panorama`\" pulumi-lang-python=\"`panorama`\" pulumi-lang-yaml=\"`panorama`\" pulumi-lang-java=\"`panorama`\"\u003e`panorama`\u003c/span\u003e block as defined below.\n"},"planId":{"type":"string","description":"The billing plan ID as published by Liftr.PAN. Defaults to `panw-cloud-ngfw-payg`.\n\n\u003e **Note:** The former \u003cspan pulumi-lang-nodejs=\"`planId`\" pulumi-lang-dotnet=\"`PlanId`\" pulumi-lang-go=\"`planId`\" pulumi-lang-python=\"`plan_id`\" pulumi-lang-yaml=\"`planId`\" pulumi-lang-java=\"`planId`\"\u003e`plan_id`\u003c/span\u003e `panw-cloud-ngfw-payg` is defined as stop sell, but has been set as the default to not break any existing resources that were originally provisioned with it. Users need to explicitly set \u003cspan pulumi-lang-nodejs=\"`planId`\" pulumi-lang-dotnet=\"`PlanId`\" pulumi-lang-go=\"`planId`\" pulumi-lang-python=\"`plan_id`\" pulumi-lang-yaml=\"`planId`\" pulumi-lang-java=\"`planId`\"\u003e`plan_id`\u003c/span\u003e to `panw-cngfw-payg` when creating new resources.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Palo Alto Next Generation Firewall Virtual Network Panorama should exist. Changing this forces a new Palo Alto Next Generation Firewall Virtual Network Panorama to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Palo Alto Next Generation Firewall Virtual Network Panorama.\n"}},"type":"object"}},"azure:paloalto/nextGenerationFirewallVirtualNetworkStrataCloudManager:NextGenerationFirewallVirtualNetworkStrataCloudManager":{"description":"Manages a Palo Alto Next Generation Firewall Virtual Network Strata Cloud Manager.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resource-group\",\n    location: \"westeurope\",\n});\nconst examplePublicIp = new azure.network.PublicIp(\"example\", {\n    name: \"example-public-ip\",\n    location: example.location,\n    resourceGroupName: example.name,\n    allocationMethod: \"Static\",\n    sku: \"Standard\",\n});\nconst exampleNetworkSecurityGroup = new azure.network.NetworkSecurityGroup(\"example\", {\n    name: \"example-nsg\",\n    location: example.location,\n    resourceGroupName: example.name,\n});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"example\", {\n    name: \"example-vnet\",\n    addressSpaces: [\"10.0.0.0/16\"],\n    location: example.location,\n    resourceGroupName: example.name,\n    tags: {\n        environment: \"Production\",\n    },\n});\nconst trust = new azure.network.Subnet(\"trust\", {\n    name: \"example-trust-subnet\",\n    resourceGroupName: example.name,\n    virtualNetworkName: exampleVirtualNetwork.name,\n    addressPrefixes: [\"10.0.1.0/24\"],\n    delegations: [{\n        name: \"trusted\",\n        serviceDelegation: {\n            name: \"PaloAltoNetworks.Cloudngfw/firewalls\",\n            actions: [\"Microsoft.Network/virtualNetworks/subnets/join/action\"],\n        },\n    }],\n});\nconst trustSubnetNetworkSecurityGroupAssociation = new azure.network.SubnetNetworkSecurityGroupAssociation(\"trust\", {\n    subnetId: trust.id,\n    networkSecurityGroupId: exampleNetworkSecurityGroup.id,\n});\nconst untrust = new azure.network.Subnet(\"untrust\", {\n    name: \"example-untrust-subnet\",\n    resourceGroupName: example.name,\n    virtualNetworkName: exampleVirtualNetwork.name,\n    addressPrefixes: [\"10.0.2.0/24\"],\n    delegations: [{\n        name: \"untrusted\",\n        serviceDelegation: {\n            name: \"PaloAltoNetworks.Cloudngfw/firewalls\",\n            actions: [\"Microsoft.Network/virtualNetworks/subnets/join/action\"],\n        },\n    }],\n});\nconst untrustSubnetNetworkSecurityGroupAssociation = new azure.network.SubnetNetworkSecurityGroupAssociation(\"untrust\", {\n    subnetId: untrust.id,\n    networkSecurityGroupId: exampleNetworkSecurityGroup.id,\n});\nconst exampleNextGenerationFirewallVirtualNetworkStrataCloudManager = new azure.paloalto.NextGenerationFirewallVirtualNetworkStrataCloudManager(\"example\", {\n    name: \"example-ngfwvh\",\n    resourceGroupName: example.name,\n    location: example.location,\n    strataCloudManagerTenantName: \"example-scm-tenant\",\n    networkProfile: {\n        publicIpAddressIds: [examplePublicIp.id],\n        vnetConfiguration: {\n            virtualNetworkId: exampleVirtualNetwork.id,\n            trustedSubnetId: trust.id,\n            untrustedSubnetId: untrust.id,\n        },\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resource-group\",\n    location=\"westeurope\")\nexample_public_ip = azure.network.PublicIp(\"example\",\n    name=\"example-public-ip\",\n    location=example.location,\n    resource_group_name=example.name,\n    allocation_method=\"Static\",\n    sku=\"Standard\")\nexample_network_security_group = azure.network.NetworkSecurityGroup(\"example\",\n    name=\"example-nsg\",\n    location=example.location,\n    resource_group_name=example.name)\nexample_virtual_network = azure.network.VirtualNetwork(\"example\",\n    name=\"example-vnet\",\n    address_spaces=[\"10.0.0.0/16\"],\n    location=example.location,\n    resource_group_name=example.name,\n    tags={\n        \"environment\": \"Production\",\n    })\ntrust = azure.network.Subnet(\"trust\",\n    name=\"example-trust-subnet\",\n    resource_group_name=example.name,\n    virtual_network_name=example_virtual_network.name,\n    address_prefixes=[\"10.0.1.0/24\"],\n    delegations=[{\n        \"name\": \"trusted\",\n        \"service_delegation\": {\n            \"name\": \"PaloAltoNetworks.Cloudngfw/firewalls\",\n            \"actions\": [\"Microsoft.Network/virtualNetworks/subnets/join/action\"],\n        },\n    }])\ntrust_subnet_network_security_group_association = azure.network.SubnetNetworkSecurityGroupAssociation(\"trust\",\n    subnet_id=trust.id,\n    network_security_group_id=example_network_security_group.id)\nuntrust = azure.network.Subnet(\"untrust\",\n    name=\"example-untrust-subnet\",\n    resource_group_name=example.name,\n    virtual_network_name=example_virtual_network.name,\n    address_prefixes=[\"10.0.2.0/24\"],\n    delegations=[{\n        \"name\": \"untrusted\",\n        \"service_delegation\": {\n            \"name\": \"PaloAltoNetworks.Cloudngfw/firewalls\",\n            \"actions\": [\"Microsoft.Network/virtualNetworks/subnets/join/action\"],\n        },\n    }])\nuntrust_subnet_network_security_group_association = azure.network.SubnetNetworkSecurityGroupAssociation(\"untrust\",\n    subnet_id=untrust.id,\n    network_security_group_id=example_network_security_group.id)\nexample_next_generation_firewall_virtual_network_strata_cloud_manager = azure.paloalto.NextGenerationFirewallVirtualNetworkStrataCloudManager(\"example\",\n    name=\"example-ngfwvh\",\n    resource_group_name=example.name,\n    location=example.location,\n    strata_cloud_manager_tenant_name=\"example-scm-tenant\",\n    network_profile={\n        \"public_ip_address_ids\": [example_public_ip.id],\n        \"vnet_configuration\": {\n            \"virtual_network_id\": example_virtual_network.id,\n            \"trusted_subnet_id\": trust.id,\n            \"untrusted_subnet_id\": untrust.id,\n        },\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resource-group\",\n        Location = \"westeurope\",\n    });\n\n    var examplePublicIp = new Azure.Network.PublicIp(\"example\", new()\n    {\n        Name = \"example-public-ip\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        AllocationMethod = \"Static\",\n        Sku = \"Standard\",\n    });\n\n    var exampleNetworkSecurityGroup = new Azure.Network.NetworkSecurityGroup(\"example\", new()\n    {\n        Name = \"example-nsg\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n    });\n\n    var exampleVirtualNetwork = new Azure.Network.VirtualNetwork(\"example\", new()\n    {\n        Name = \"example-vnet\",\n        AddressSpaces = new[]\n        {\n            \"10.0.0.0/16\",\n        },\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Tags = \n        {\n            { \"environment\", \"Production\" },\n        },\n    });\n\n    var trust = new Azure.Network.Subnet(\"trust\", new()\n    {\n        Name = \"example-trust-subnet\",\n        ResourceGroupName = example.Name,\n        VirtualNetworkName = exampleVirtualNetwork.Name,\n        AddressPrefixes = new[]\n        {\n            \"10.0.1.0/24\",\n        },\n        Delegations = new[]\n        {\n            new Azure.Network.Inputs.SubnetDelegationArgs\n            {\n                Name = \"trusted\",\n                ServiceDelegation = new Azure.Network.Inputs.SubnetDelegationServiceDelegationArgs\n                {\n                    Name = \"PaloAltoNetworks.Cloudngfw/firewalls\",\n                    Actions = new[]\n                    {\n                        \"Microsoft.Network/virtualNetworks/subnets/join/action\",\n                    },\n                },\n            },\n        },\n    });\n\n    var trustSubnetNetworkSecurityGroupAssociation = new Azure.Network.SubnetNetworkSecurityGroupAssociation(\"trust\", new()\n    {\n        SubnetId = trust.Id,\n        NetworkSecurityGroupId = exampleNetworkSecurityGroup.Id,\n    });\n\n    var untrust = new Azure.Network.Subnet(\"untrust\", new()\n    {\n        Name = \"example-untrust-subnet\",\n        ResourceGroupName = example.Name,\n        VirtualNetworkName = exampleVirtualNetwork.Name,\n        AddressPrefixes = new[]\n        {\n            \"10.0.2.0/24\",\n        },\n        Delegations = new[]\n        {\n            new Azure.Network.Inputs.SubnetDelegationArgs\n            {\n                Name = \"untrusted\",\n                ServiceDelegation = new Azure.Network.Inputs.SubnetDelegationServiceDelegationArgs\n                {\n                    Name = \"PaloAltoNetworks.Cloudngfw/firewalls\",\n                    Actions = new[]\n                    {\n                        \"Microsoft.Network/virtualNetworks/subnets/join/action\",\n                    },\n                },\n            },\n        },\n    });\n\n    var untrustSubnetNetworkSecurityGroupAssociation = new Azure.Network.SubnetNetworkSecurityGroupAssociation(\"untrust\", new()\n    {\n        SubnetId = untrust.Id,\n        NetworkSecurityGroupId = exampleNetworkSecurityGroup.Id,\n    });\n\n    var exampleNextGenerationFirewallVirtualNetworkStrataCloudManager = new Azure.PaloAlto.NextGenerationFirewallVirtualNetworkStrataCloudManager(\"example\", new()\n    {\n        Name = \"example-ngfwvh\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        StrataCloudManagerTenantName = \"example-scm-tenant\",\n        NetworkProfile = new Azure.PaloAlto.Inputs.NextGenerationFirewallVirtualNetworkStrataCloudManagerNetworkProfileArgs\n        {\n            PublicIpAddressIds = new[]\n            {\n                examplePublicIp.Id,\n            },\n            VnetConfiguration = new Azure.PaloAlto.Inputs.NextGenerationFirewallVirtualNetworkStrataCloudManagerNetworkProfileVnetConfigurationArgs\n            {\n                VirtualNetworkId = exampleVirtualNetwork.Id,\n                TrustedSubnetId = trust.Id,\n                UntrustedSubnetId = untrust.Id,\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/paloalto\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resource-group\"),\n\t\t\tLocation: pulumi.String(\"westeurope\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texamplePublicIp, err := network.NewPublicIp(ctx, \"example\", \u0026network.PublicIpArgs{\n\t\t\tName:              pulumi.String(\"example-public-ip\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tAllocationMethod:  pulumi.String(\"Static\"),\n\t\t\tSku:               pulumi.String(\"Standard\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNetworkSecurityGroup, err := network.NewNetworkSecurityGroup(ctx, \"example\", \u0026network.NetworkSecurityGroupArgs{\n\t\t\tName:              pulumi.String(\"example-nsg\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, \"example\", \u0026network.VirtualNetworkArgs{\n\t\t\tName: pulumi.String(\"example-vnet\"),\n\t\t\tAddressSpaces: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.0.0/16\"),\n\t\t\t},\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"environment\": pulumi.String(\"Production\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttrust, err := network.NewSubnet(ctx, \"trust\", \u0026network.SubnetArgs{\n\t\t\tName:               pulumi.String(\"example-trust-subnet\"),\n\t\t\tResourceGroupName:  example.Name,\n\t\t\tVirtualNetworkName: exampleVirtualNetwork.Name,\n\t\t\tAddressPrefixes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.1.0/24\"),\n\t\t\t},\n\t\t\tDelegations: network.SubnetDelegationArray{\n\t\t\t\t\u0026network.SubnetDelegationArgs{\n\t\t\t\t\tName: pulumi.String(\"trusted\"),\n\t\t\t\t\tServiceDelegation: \u0026network.SubnetDelegationServiceDelegationArgs{\n\t\t\t\t\t\tName: pulumi.String(\"PaloAltoNetworks.Cloudngfw/firewalls\"),\n\t\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"Microsoft.Network/virtualNetworks/subnets/join/action\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = network.NewSubnetNetworkSecurityGroupAssociation(ctx, \"trust\", \u0026network.SubnetNetworkSecurityGroupAssociationArgs{\n\t\t\tSubnetId:               trust.ID(),\n\t\t\tNetworkSecurityGroupId: exampleNetworkSecurityGroup.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tuntrust, err := network.NewSubnet(ctx, \"untrust\", \u0026network.SubnetArgs{\n\t\t\tName:               pulumi.String(\"example-untrust-subnet\"),\n\t\t\tResourceGroupName:  example.Name,\n\t\t\tVirtualNetworkName: exampleVirtualNetwork.Name,\n\t\t\tAddressPrefixes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.2.0/24\"),\n\t\t\t},\n\t\t\tDelegations: network.SubnetDelegationArray{\n\t\t\t\t\u0026network.SubnetDelegationArgs{\n\t\t\t\t\tName: pulumi.String(\"untrusted\"),\n\t\t\t\t\tServiceDelegation: \u0026network.SubnetDelegationServiceDelegationArgs{\n\t\t\t\t\t\tName: pulumi.String(\"PaloAltoNetworks.Cloudngfw/firewalls\"),\n\t\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"Microsoft.Network/virtualNetworks/subnets/join/action\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = network.NewSubnetNetworkSecurityGroupAssociation(ctx, \"untrust\", \u0026network.SubnetNetworkSecurityGroupAssociationArgs{\n\t\t\tSubnetId:               untrust.ID(),\n\t\t\tNetworkSecurityGroupId: exampleNetworkSecurityGroup.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = paloalto.NewNextGenerationFirewallVirtualNetworkStrataCloudManager(ctx, \"example\", \u0026paloalto.NextGenerationFirewallVirtualNetworkStrataCloudManagerArgs{\n\t\t\tName:                         pulumi.String(\"example-ngfwvh\"),\n\t\t\tResourceGroupName:            example.Name,\n\t\t\tLocation:                     example.Location,\n\t\t\tStrataCloudManagerTenantName: pulumi.String(\"example-scm-tenant\"),\n\t\t\tNetworkProfile: \u0026paloalto.NextGenerationFirewallVirtualNetworkStrataCloudManagerNetworkProfileArgs{\n\t\t\t\tPublicIpAddressIds: pulumi.StringArray{\n\t\t\t\t\texamplePublicIp.ID(),\n\t\t\t\t},\n\t\t\t\tVnetConfiguration: \u0026paloalto.NextGenerationFirewallVirtualNetworkStrataCloudManagerNetworkProfileVnetConfigurationArgs{\n\t\t\t\t\tVirtualNetworkId:  exampleVirtualNetwork.ID(),\n\t\t\t\t\tTrustedSubnetId:   trust.ID(),\n\t\t\t\t\tUntrustedSubnetId: untrust.ID(),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.PublicIp;\nimport com.pulumi.azure.network.PublicIpArgs;\nimport com.pulumi.azure.network.NetworkSecurityGroup;\nimport com.pulumi.azure.network.NetworkSecurityGroupArgs;\nimport com.pulumi.azure.network.VirtualNetwork;\nimport com.pulumi.azure.network.VirtualNetworkArgs;\nimport com.pulumi.azure.network.Subnet;\nimport com.pulumi.azure.network.SubnetArgs;\nimport com.pulumi.azure.network.inputs.SubnetDelegationArgs;\nimport com.pulumi.azure.network.inputs.SubnetDelegationServiceDelegationArgs;\nimport com.pulumi.azure.network.SubnetNetworkSecurityGroupAssociation;\nimport com.pulumi.azure.network.SubnetNetworkSecurityGroupAssociationArgs;\nimport com.pulumi.azure.paloalto.NextGenerationFirewallVirtualNetworkStrataCloudManager;\nimport com.pulumi.azure.paloalto.NextGenerationFirewallVirtualNetworkStrataCloudManagerArgs;\nimport com.pulumi.azure.paloalto.inputs.NextGenerationFirewallVirtualNetworkStrataCloudManagerNetworkProfileArgs;\nimport com.pulumi.azure.paloalto.inputs.NextGenerationFirewallVirtualNetworkStrataCloudManagerNetworkProfileVnetConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resource-group\")\n            .location(\"westeurope\")\n            .build());\n\n        var examplePublicIp = new PublicIp(\"examplePublicIp\", PublicIpArgs.builder()\n            .name(\"example-public-ip\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .allocationMethod(\"Static\")\n            .sku(\"Standard\")\n            .build());\n\n        var exampleNetworkSecurityGroup = new NetworkSecurityGroup(\"exampleNetworkSecurityGroup\", NetworkSecurityGroupArgs.builder()\n            .name(\"example-nsg\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .build());\n\n        var exampleVirtualNetwork = new VirtualNetwork(\"exampleVirtualNetwork\", VirtualNetworkArgs.builder()\n            .name(\"example-vnet\")\n            .addressSpaces(\"10.0.0.0/16\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .tags(Map.of(\"environment\", \"Production\"))\n            .build());\n\n        var trust = new Subnet(\"trust\", SubnetArgs.builder()\n            .name(\"example-trust-subnet\")\n            .resourceGroupName(example.name())\n            .virtualNetworkName(exampleVirtualNetwork.name())\n            .addressPrefixes(\"10.0.1.0/24\")\n            .delegations(SubnetDelegationArgs.builder()\n                .name(\"trusted\")\n                .serviceDelegation(SubnetDelegationServiceDelegationArgs.builder()\n                    .name(\"PaloAltoNetworks.Cloudngfw/firewalls\")\n                    .actions(\"Microsoft.Network/virtualNetworks/subnets/join/action\")\n                    .build())\n                .build())\n            .build());\n\n        var trustSubnetNetworkSecurityGroupAssociation = new SubnetNetworkSecurityGroupAssociation(\"trustSubnetNetworkSecurityGroupAssociation\", SubnetNetworkSecurityGroupAssociationArgs.builder()\n            .subnetId(trust.id())\n            .networkSecurityGroupId(exampleNetworkSecurityGroup.id())\n            .build());\n\n        var untrust = new Subnet(\"untrust\", SubnetArgs.builder()\n            .name(\"example-untrust-subnet\")\n            .resourceGroupName(example.name())\n            .virtualNetworkName(exampleVirtualNetwork.name())\n            .addressPrefixes(\"10.0.2.0/24\")\n            .delegations(SubnetDelegationArgs.builder()\n                .name(\"untrusted\")\n                .serviceDelegation(SubnetDelegationServiceDelegationArgs.builder()\n                    .name(\"PaloAltoNetworks.Cloudngfw/firewalls\")\n                    .actions(\"Microsoft.Network/virtualNetworks/subnets/join/action\")\n                    .build())\n                .build())\n            .build());\n\n        var untrustSubnetNetworkSecurityGroupAssociation = new SubnetNetworkSecurityGroupAssociation(\"untrustSubnetNetworkSecurityGroupAssociation\", SubnetNetworkSecurityGroupAssociationArgs.builder()\n            .subnetId(untrust.id())\n            .networkSecurityGroupId(exampleNetworkSecurityGroup.id())\n            .build());\n\n        var exampleNextGenerationFirewallVirtualNetworkStrataCloudManager = new NextGenerationFirewallVirtualNetworkStrataCloudManager(\"exampleNextGenerationFirewallVirtualNetworkStrataCloudManager\", NextGenerationFirewallVirtualNetworkStrataCloudManagerArgs.builder()\n            .name(\"example-ngfwvh\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .strataCloudManagerTenantName(\"example-scm-tenant\")\n            .networkProfile(NextGenerationFirewallVirtualNetworkStrataCloudManagerNetworkProfileArgs.builder()\n                .publicIpAddressIds(examplePublicIp.id())\n                .vnetConfiguration(NextGenerationFirewallVirtualNetworkStrataCloudManagerNetworkProfileVnetConfigurationArgs.builder()\n                    .virtualNetworkId(exampleVirtualNetwork.id())\n                    .trustedSubnetId(trust.id())\n                    .untrustedSubnetId(untrust.id())\n                    .build())\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resource-group\n      location: westeurope\n  examplePublicIp:\n    type: azure:network:PublicIp\n    name: example\n    properties:\n      name: example-public-ip\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      allocationMethod: Static\n      sku: Standard\n  exampleNetworkSecurityGroup:\n    type: azure:network:NetworkSecurityGroup\n    name: example\n    properties:\n      name: example-nsg\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n  exampleVirtualNetwork:\n    type: azure:network:VirtualNetwork\n    name: example\n    properties:\n      name: example-vnet\n      addressSpaces:\n        - 10.0.0.0/16\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      tags:\n        environment: Production\n  trust:\n    type: azure:network:Subnet\n    properties:\n      name: example-trust-subnet\n      resourceGroupName: ${example.name}\n      virtualNetworkName: ${exampleVirtualNetwork.name}\n      addressPrefixes:\n        - 10.0.1.0/24\n      delegations:\n        - name: trusted\n          serviceDelegation:\n            name: PaloAltoNetworks.Cloudngfw/firewalls\n            actions:\n              - Microsoft.Network/virtualNetworks/subnets/join/action\n  trustSubnetNetworkSecurityGroupAssociation:\n    type: azure:network:SubnetNetworkSecurityGroupAssociation\n    name: trust\n    properties:\n      subnetId: ${trust.id}\n      networkSecurityGroupId: ${exampleNetworkSecurityGroup.id}\n  untrust:\n    type: azure:network:Subnet\n    properties:\n      name: example-untrust-subnet\n      resourceGroupName: ${example.name}\n      virtualNetworkName: ${exampleVirtualNetwork.name}\n      addressPrefixes:\n        - 10.0.2.0/24\n      delegations:\n        - name: untrusted\n          serviceDelegation:\n            name: PaloAltoNetworks.Cloudngfw/firewalls\n            actions:\n              - Microsoft.Network/virtualNetworks/subnets/join/action\n  untrustSubnetNetworkSecurityGroupAssociation:\n    type: azure:network:SubnetNetworkSecurityGroupAssociation\n    name: untrust\n    properties:\n      subnetId: ${untrust.id}\n      networkSecurityGroupId: ${exampleNetworkSecurityGroup.id}\n  exampleNextGenerationFirewallVirtualNetworkStrataCloudManager:\n    type: azure:paloalto:NextGenerationFirewallVirtualNetworkStrataCloudManager\n    name: example\n    properties:\n      name: example-ngfwvh\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      strataCloudManagerTenantName: example-scm-tenant\n      networkProfile:\n        publicIpAddressIds:\n          - ${examplePublicIp.id}\n        vnetConfiguration:\n          virtualNetworkId: ${exampleVirtualNetwork.id}\n          trustedSubnetId: ${trust.id}\n          untrustedSubnetId: ${untrust.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `PaloAltoNetworks.Cloudngfw` - 2025-05-23\n\n## Import\n\nPalo Alto Next Generation Firewall Virtual Network Strata Cloud Managers can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:paloalto/nextGenerationFirewallVirtualNetworkStrataCloudManager:NextGenerationFirewallVirtualNetworkStrataCloudManager example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/PaloAltoNetworks.Cloudngfw/firewalls/myVNetStrataCloudManagerFW\n```\n\n","properties":{"destinationNats":{"type":"array","items":{"$ref":"#/types/azure:paloalto/NextGenerationFirewallVirtualNetworkStrataCloudManagerDestinationNat:NextGenerationFirewallVirtualNetworkStrataCloudManagerDestinationNat"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`destinationNat`\" pulumi-lang-dotnet=\"`DestinationNat`\" pulumi-lang-go=\"`destinationNat`\" pulumi-lang-python=\"`destination_nat`\" pulumi-lang-yaml=\"`destinationNat`\" pulumi-lang-java=\"`destinationNat`\"\u003e`destination_nat`\u003c/span\u003e blocks as defined below.\n"},"dnsSettings":{"$ref":"#/types/azure:paloalto/NextGenerationFirewallVirtualNetworkStrataCloudManagerDnsSettings:NextGenerationFirewallVirtualNetworkStrataCloudManagerDnsSettings","description":"A \u003cspan pulumi-lang-nodejs=\"`dnsSettings`\" pulumi-lang-dotnet=\"`DnsSettings`\" pulumi-lang-go=\"`dnsSettings`\" pulumi-lang-python=\"`dns_settings`\" pulumi-lang-yaml=\"`dnsSettings`\" pulumi-lang-java=\"`dnsSettings`\"\u003e`dns_settings`\u003c/span\u003e block as defined below.\n"},"identity":{"$ref":"#/types/azure:paloalto/NextGenerationFirewallVirtualNetworkStrataCloudManagerIdentity:NextGenerationFirewallVirtualNetworkStrataCloudManagerIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"location":{"type":"string","description":"The Azure Region where the Palo Alto Next Generation Firewall Virtual Network Strata Cloud Manager should exist. Changing this forces a new Palo Alto Next Generation Firewall Virtual Network Strata Cloud Manager to be created.\n"},"marketplaceOfferId":{"type":"string","description":"The marketplace offer ID. Defaults to \u003cspan pulumi-lang-nodejs=\"`panSwfwCloudNgfw`\" pulumi-lang-dotnet=\"`PanSwfwCloudNgfw`\" pulumi-lang-go=\"`panSwfwCloudNgfw`\" pulumi-lang-python=\"`pan_swfw_cloud_ngfw`\" pulumi-lang-yaml=\"`panSwfwCloudNgfw`\" pulumi-lang-java=\"`panSwfwCloudNgfw`\"\u003e`pan_swfw_cloud_ngfw`\u003c/span\u003e. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"The name which should be used for this Palo Alto Next Generation Firewall Virtual Network Strata Cloud Manager. Changing this forces a new Palo Alto Next Generation Firewall Virtual Network Strata Cloud Manager to be created.\n"},"networkProfile":{"$ref":"#/types/azure:paloalto/NextGenerationFirewallVirtualNetworkStrataCloudManagerNetworkProfile:NextGenerationFirewallVirtualNetworkStrataCloudManagerNetworkProfile","description":"A \u003cspan pulumi-lang-nodejs=\"`networkProfile`\" pulumi-lang-dotnet=\"`NetworkProfile`\" pulumi-lang-go=\"`networkProfile`\" pulumi-lang-python=\"`network_profile`\" pulumi-lang-yaml=\"`networkProfile`\" pulumi-lang-java=\"`networkProfile`\"\u003e`network_profile`\u003c/span\u003e block as defined below.\n"},"planId":{"type":"string","description":"The billing plan ID as published by Liftr.PAN. Defaults to `panw-cngfw-payg`.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Palo Alto Next Generation Firewall Virtual Network Strata Cloud Manager should exist. Changing this forces a new Palo Alto Next Generation Firewall Virtual Network Strata Cloud Manager to be created.\n"},"strataCloudManagerTenantName":{"type":"string","description":"Strata Cloud Manager name which is intended to manage the policy for this firewall.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Palo Alto Next Generation Firewall Virtual Network Strata Cloud Manager.\n"}},"required":["location","name","networkProfile","resourceGroupName","strataCloudManagerTenantName"],"inputProperties":{"destinationNats":{"type":"array","items":{"$ref":"#/types/azure:paloalto/NextGenerationFirewallVirtualNetworkStrataCloudManagerDestinationNat:NextGenerationFirewallVirtualNetworkStrataCloudManagerDestinationNat"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`destinationNat`\" pulumi-lang-dotnet=\"`DestinationNat`\" pulumi-lang-go=\"`destinationNat`\" pulumi-lang-python=\"`destination_nat`\" pulumi-lang-yaml=\"`destinationNat`\" pulumi-lang-java=\"`destinationNat`\"\u003e`destination_nat`\u003c/span\u003e blocks as defined below.\n"},"dnsSettings":{"$ref":"#/types/azure:paloalto/NextGenerationFirewallVirtualNetworkStrataCloudManagerDnsSettings:NextGenerationFirewallVirtualNetworkStrataCloudManagerDnsSettings","description":"A \u003cspan pulumi-lang-nodejs=\"`dnsSettings`\" pulumi-lang-dotnet=\"`DnsSettings`\" pulumi-lang-go=\"`dnsSettings`\" pulumi-lang-python=\"`dns_settings`\" pulumi-lang-yaml=\"`dnsSettings`\" pulumi-lang-java=\"`dnsSettings`\"\u003e`dns_settings`\u003c/span\u003e block as defined below.\n"},"identity":{"$ref":"#/types/azure:paloalto/NextGenerationFirewallVirtualNetworkStrataCloudManagerIdentity:NextGenerationFirewallVirtualNetworkStrataCloudManagerIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"location":{"type":"string","description":"The Azure Region where the Palo Alto Next Generation Firewall Virtual Network Strata Cloud Manager should exist. Changing this forces a new Palo Alto Next Generation Firewall Virtual Network Strata Cloud Manager to be created.\n","willReplaceOnChanges":true},"marketplaceOfferId":{"type":"string","description":"The marketplace offer ID. Defaults to \u003cspan pulumi-lang-nodejs=\"`panSwfwCloudNgfw`\" pulumi-lang-dotnet=\"`PanSwfwCloudNgfw`\" pulumi-lang-go=\"`panSwfwCloudNgfw`\" pulumi-lang-python=\"`pan_swfw_cloud_ngfw`\" pulumi-lang-yaml=\"`panSwfwCloudNgfw`\" pulumi-lang-java=\"`panSwfwCloudNgfw`\"\u003e`pan_swfw_cloud_ngfw`\u003c/span\u003e. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Palo Alto Next Generation Firewall Virtual Network Strata Cloud Manager. Changing this forces a new Palo Alto Next Generation Firewall Virtual Network Strata Cloud Manager to be created.\n","willReplaceOnChanges":true},"networkProfile":{"$ref":"#/types/azure:paloalto/NextGenerationFirewallVirtualNetworkStrataCloudManagerNetworkProfile:NextGenerationFirewallVirtualNetworkStrataCloudManagerNetworkProfile","description":"A \u003cspan pulumi-lang-nodejs=\"`networkProfile`\" pulumi-lang-dotnet=\"`NetworkProfile`\" pulumi-lang-go=\"`networkProfile`\" pulumi-lang-python=\"`network_profile`\" pulumi-lang-yaml=\"`networkProfile`\" pulumi-lang-java=\"`networkProfile`\"\u003e`network_profile`\u003c/span\u003e block as defined below.\n"},"planId":{"type":"string","description":"The billing plan ID as published by Liftr.PAN. Defaults to `panw-cngfw-payg`.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Palo Alto Next Generation Firewall Virtual Network Strata Cloud Manager should exist. Changing this forces a new Palo Alto Next Generation Firewall Virtual Network Strata Cloud Manager to be created.\n","willReplaceOnChanges":true},"strataCloudManagerTenantName":{"type":"string","description":"Strata Cloud Manager name which is intended to manage the policy for this firewall.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Palo Alto Next Generation Firewall Virtual Network Strata Cloud Manager.\n"}},"requiredInputs":["networkProfile","resourceGroupName","strataCloudManagerTenantName"],"stateInputs":{"description":"Input properties used for looking up and filtering NextGenerationFirewallVirtualNetworkStrataCloudManager resources.\n","properties":{"destinationNats":{"type":"array","items":{"$ref":"#/types/azure:paloalto/NextGenerationFirewallVirtualNetworkStrataCloudManagerDestinationNat:NextGenerationFirewallVirtualNetworkStrataCloudManagerDestinationNat"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`destinationNat`\" pulumi-lang-dotnet=\"`DestinationNat`\" pulumi-lang-go=\"`destinationNat`\" pulumi-lang-python=\"`destination_nat`\" pulumi-lang-yaml=\"`destinationNat`\" pulumi-lang-java=\"`destinationNat`\"\u003e`destination_nat`\u003c/span\u003e blocks as defined below.\n"},"dnsSettings":{"$ref":"#/types/azure:paloalto/NextGenerationFirewallVirtualNetworkStrataCloudManagerDnsSettings:NextGenerationFirewallVirtualNetworkStrataCloudManagerDnsSettings","description":"A \u003cspan pulumi-lang-nodejs=\"`dnsSettings`\" pulumi-lang-dotnet=\"`DnsSettings`\" pulumi-lang-go=\"`dnsSettings`\" pulumi-lang-python=\"`dns_settings`\" pulumi-lang-yaml=\"`dnsSettings`\" pulumi-lang-java=\"`dnsSettings`\"\u003e`dns_settings`\u003c/span\u003e block as defined below.\n"},"identity":{"$ref":"#/types/azure:paloalto/NextGenerationFirewallVirtualNetworkStrataCloudManagerIdentity:NextGenerationFirewallVirtualNetworkStrataCloudManagerIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"location":{"type":"string","description":"The Azure Region where the Palo Alto Next Generation Firewall Virtual Network Strata Cloud Manager should exist. Changing this forces a new Palo Alto Next Generation Firewall Virtual Network Strata Cloud Manager to be created.\n","willReplaceOnChanges":true},"marketplaceOfferId":{"type":"string","description":"The marketplace offer ID. Defaults to \u003cspan pulumi-lang-nodejs=\"`panSwfwCloudNgfw`\" pulumi-lang-dotnet=\"`PanSwfwCloudNgfw`\" pulumi-lang-go=\"`panSwfwCloudNgfw`\" pulumi-lang-python=\"`pan_swfw_cloud_ngfw`\" pulumi-lang-yaml=\"`panSwfwCloudNgfw`\" pulumi-lang-java=\"`panSwfwCloudNgfw`\"\u003e`pan_swfw_cloud_ngfw`\u003c/span\u003e. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Palo Alto Next Generation Firewall Virtual Network Strata Cloud Manager. Changing this forces a new Palo Alto Next Generation Firewall Virtual Network Strata Cloud Manager to be created.\n","willReplaceOnChanges":true},"networkProfile":{"$ref":"#/types/azure:paloalto/NextGenerationFirewallVirtualNetworkStrataCloudManagerNetworkProfile:NextGenerationFirewallVirtualNetworkStrataCloudManagerNetworkProfile","description":"A \u003cspan pulumi-lang-nodejs=\"`networkProfile`\" pulumi-lang-dotnet=\"`NetworkProfile`\" pulumi-lang-go=\"`networkProfile`\" pulumi-lang-python=\"`network_profile`\" pulumi-lang-yaml=\"`networkProfile`\" pulumi-lang-java=\"`networkProfile`\"\u003e`network_profile`\u003c/span\u003e block as defined below.\n"},"planId":{"type":"string","description":"The billing plan ID as published by Liftr.PAN. Defaults to `panw-cngfw-payg`.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Palo Alto Next Generation Firewall Virtual Network Strata Cloud Manager should exist. Changing this forces a new Palo Alto Next Generation Firewall Virtual Network Strata Cloud Manager to be created.\n","willReplaceOnChanges":true},"strataCloudManagerTenantName":{"type":"string","description":"Strata Cloud Manager name which is intended to manage the policy for this firewall.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Palo Alto Next Generation Firewall Virtual Network Strata Cloud Manager.\n"}},"type":"object"}},"azure:paloalto/virtualNetworkAppliance:VirtualNetworkAppliance":{"description":"Manages a Palo Alto Network Virtual Appliance.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleVirtualWan = new azure.network.VirtualWan(\"example\", {\n    name: \"example-virtualwan\",\n    resourceGroupName: example.name,\n    location: example.location,\n});\nconst exampleVirtualHub = new azure.network.VirtualHub(\"example\", {\n    name: \"example-virtualhub\",\n    resourceGroupName: example.name,\n    location: example.location,\n    virtualWanId: exampleVirtualWan.id,\n    addressPrefix: \"10.0.0.0/23\",\n    tags: {\n        hubSaaSPreview: \"true\",\n    },\n});\nconst exampleVirtualNetworkAppliance = new azure.paloalto.VirtualNetworkAppliance(\"example\", {\n    name: \"example-appliance\",\n    virtualHubId: exampleVirtualHub.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_virtual_wan = azure.network.VirtualWan(\"example\",\n    name=\"example-virtualwan\",\n    resource_group_name=example.name,\n    location=example.location)\nexample_virtual_hub = azure.network.VirtualHub(\"example\",\n    name=\"example-virtualhub\",\n    resource_group_name=example.name,\n    location=example.location,\n    virtual_wan_id=example_virtual_wan.id,\n    address_prefix=\"10.0.0.0/23\",\n    tags={\n        \"hubSaaSPreview\": \"true\",\n    })\nexample_virtual_network_appliance = azure.paloalto.VirtualNetworkAppliance(\"example\",\n    name=\"example-appliance\",\n    virtual_hub_id=example_virtual_hub.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleVirtualWan = new Azure.Network.VirtualWan(\"example\", new()\n    {\n        Name = \"example-virtualwan\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n    });\n\n    var exampleVirtualHub = new Azure.Network.VirtualHub(\"example\", new()\n    {\n        Name = \"example-virtualhub\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        VirtualWanId = exampleVirtualWan.Id,\n        AddressPrefix = \"10.0.0.0/23\",\n        Tags = \n        {\n            { \"hubSaaSPreview\", \"true\" },\n        },\n    });\n\n    var exampleVirtualNetworkAppliance = new Azure.PaloAlto.VirtualNetworkAppliance(\"example\", new()\n    {\n        Name = \"example-appliance\",\n        VirtualHubId = exampleVirtualHub.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/paloalto\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualWan, err := network.NewVirtualWan(ctx, \"example\", \u0026network.VirtualWanArgs{\n\t\t\tName:              pulumi.String(\"example-virtualwan\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualHub, err := network.NewVirtualHub(ctx, \"example\", \u0026network.VirtualHubArgs{\n\t\t\tName:              pulumi.String(\"example-virtualhub\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tVirtualWanId:      exampleVirtualWan.ID(),\n\t\t\tAddressPrefix:     pulumi.String(\"10.0.0.0/23\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"hubSaaSPreview\": pulumi.String(\"true\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = paloalto.NewVirtualNetworkAppliance(ctx, \"example\", \u0026paloalto.VirtualNetworkApplianceArgs{\n\t\t\tName:         pulumi.String(\"example-appliance\"),\n\t\t\tVirtualHubId: exampleVirtualHub.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.VirtualWan;\nimport com.pulumi.azure.network.VirtualWanArgs;\nimport com.pulumi.azure.network.VirtualHub;\nimport com.pulumi.azure.network.VirtualHubArgs;\nimport com.pulumi.azure.paloalto.VirtualNetworkAppliance;\nimport com.pulumi.azure.paloalto.VirtualNetworkApplianceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleVirtualWan = new VirtualWan(\"exampleVirtualWan\", VirtualWanArgs.builder()\n            .name(\"example-virtualwan\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .build());\n\n        var exampleVirtualHub = new VirtualHub(\"exampleVirtualHub\", VirtualHubArgs.builder()\n            .name(\"example-virtualhub\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .virtualWanId(exampleVirtualWan.id())\n            .addressPrefix(\"10.0.0.0/23\")\n            .tags(Map.of(\"hubSaaSPreview\", \"true\"))\n            .build());\n\n        var exampleVirtualNetworkAppliance = new VirtualNetworkAppliance(\"exampleVirtualNetworkAppliance\", VirtualNetworkApplianceArgs.builder()\n            .name(\"example-appliance\")\n            .virtualHubId(exampleVirtualHub.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleVirtualWan:\n    type: azure:network:VirtualWan\n    name: example\n    properties:\n      name: example-virtualwan\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n  exampleVirtualHub:\n    type: azure:network:VirtualHub\n    name: example\n    properties:\n      name: example-virtualhub\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      virtualWanId: ${exampleVirtualWan.id}\n      addressPrefix: 10.0.0.0/23\n      tags:\n        hubSaaSPreview: 'true'\n  exampleVirtualNetworkAppliance:\n    type: azure:paloalto:VirtualNetworkAppliance\n    name: example\n    properties:\n      name: example-appliance\n      virtualHubId: ${exampleVirtualHub.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2025-01-01\n\n## Import\n\nPalo Alto Local Network Virtual Appliances can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:paloalto/virtualNetworkAppliance:VirtualNetworkAppliance example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Network/networkVirtualAppliances/myPANetworkVirtualAppliance\n```\n\n","properties":{"name":{"type":"string","description":"The name which should be used for this Palo Alto Local Network Virtual Appliance. Changing this forces a new Palo Alto Local Network Virtual Appliance to be created.\n"},"virtualHubId":{"type":"string","description":"The ID of the Virtual Hub to deploy this appliance onto. Changing this forces a new Palo Alto Local Network Virtual Appliance to be created.\n\n\u003e **Note:** THe Virtual Hub must be created with the tag `\"hubSaaSPreview\" = \"true\"` to be compatible with this resource.\n"}},"required":["name","virtualHubId"],"inputProperties":{"name":{"type":"string","description":"The name which should be used for this Palo Alto Local Network Virtual Appliance. Changing this forces a new Palo Alto Local Network Virtual Appliance to be created.\n","willReplaceOnChanges":true},"virtualHubId":{"type":"string","description":"The ID of the Virtual Hub to deploy this appliance onto. Changing this forces a new Palo Alto Local Network Virtual Appliance to be created.\n\n\u003e **Note:** THe Virtual Hub must be created with the tag `\"hubSaaSPreview\" = \"true\"` to be compatible with this resource.\n","willReplaceOnChanges":true}},"requiredInputs":["virtualHubId"],"stateInputs":{"description":"Input properties used for looking up and filtering VirtualNetworkAppliance resources.\n","properties":{"name":{"type":"string","description":"The name which should be used for this Palo Alto Local Network Virtual Appliance. Changing this forces a new Palo Alto Local Network Virtual Appliance to be created.\n","willReplaceOnChanges":true},"virtualHubId":{"type":"string","description":"The ID of the Virtual Hub to deploy this appliance onto. Changing this forces a new Palo Alto Local Network Virtual Appliance to be created.\n\n\u003e **Note:** THe Virtual Hub must be created with the tag `\"hubSaaSPreview\" = \"true\"` to be compatible with this resource.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:pim/activeRoleAssignment:ActiveRoleAssignment":{"description":"Manages a PIM Active Role Assignment.\n\n## Example Usage\n\n### Subscription)\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\nimport * as time from \"@pulumiverse/time\";\n\nconst primary = azure.core.getSubscription({});\nconst example = azure.core.getClientConfig({});\nconst exampleGetRoleDefinition = azure.authorization.getRoleDefinition({\n    name: \"Reader\",\n});\nconst exampleStatic = new time.Static(\"example\", {});\nconst exampleActiveRoleAssignment = new azure.pim.ActiveRoleAssignment(\"example\", {\n    scope: primary.then(primary =\u003e primary.id),\n    roleDefinitionId: Promise.all([primary, exampleGetRoleDefinition]).then(([primary, exampleGetRoleDefinition]) =\u003e `${primary.id}${exampleGetRoleDefinition.id}`),\n    principalId: example.then(example =\u003e example.objectId),\n    schedule: {\n        startDateTime: exampleStatic.rfc3339,\n        expiration: {\n            durationHours: 8,\n        },\n    },\n    justification: \"Expiration Duration Set\",\n    ticket: {\n        number: \"1\",\n        system: \"example ticket system\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\nimport pulumiverse_time as time\n\nprimary = azure.core.get_subscription()\nexample = azure.core.get_client_config()\nexample_get_role_definition = azure.authorization.get_role_definition(name=\"Reader\")\nexample_static = time.Static(\"example\")\nexample_active_role_assignment = azure.pim.ActiveRoleAssignment(\"example\",\n    scope=primary.id,\n    role_definition_id=f\"{primary.id}{example_get_role_definition.id}\",\n    principal_id=example.object_id,\n    schedule={\n        \"start_date_time\": example_static.rfc3339,\n        \"expiration\": {\n            \"duration_hours\": 8,\n        },\n    },\n    justification=\"Expiration Duration Set\",\n    ticket={\n        \"number\": \"1\",\n        \"system\": \"example ticket system\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\nusing Time = Pulumiverse.Time;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var primary = Azure.Core.GetSubscription.Invoke();\n\n    var example = Azure.Core.GetClientConfig.Invoke();\n\n    var exampleGetRoleDefinition = Azure.Authorization.GetRoleDefinition.Invoke(new()\n    {\n        Name = \"Reader\",\n    });\n\n    var exampleStatic = new Time.Static(\"example\");\n\n    var exampleActiveRoleAssignment = new Azure.Pim.ActiveRoleAssignment(\"example\", new()\n    {\n        Scope = primary.Apply(getSubscriptionResult =\u003e getSubscriptionResult.Id),\n        RoleDefinitionId = Output.Tuple(primary, exampleGetRoleDefinition).Apply(values =\u003e\n        {\n            var primary = values.Item1;\n            var exampleGetRoleDefinition = values.Item2;\n            return $\"{primary.Apply(getSubscriptionResult =\u003e getSubscriptionResult.Id)}{exampleGetRoleDefinition.Apply(getRoleDefinitionResult =\u003e getRoleDefinitionResult.Id)}\";\n        }),\n        PrincipalId = example.Apply(getClientConfigResult =\u003e getClientConfigResult.ObjectId),\n        Schedule = new Azure.Pim.Inputs.ActiveRoleAssignmentScheduleArgs\n        {\n            StartDateTime = exampleStatic.Rfc3339,\n            Expiration = new Azure.Pim.Inputs.ActiveRoleAssignmentScheduleExpirationArgs\n            {\n                DurationHours = 8,\n            },\n        },\n        Justification = \"Expiration Duration Set\",\n        Ticket = new Azure.Pim.Inputs.ActiveRoleAssignmentTicketArgs\n        {\n            Number = \"1\",\n            System = \"example ticket system\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/authorization\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/pim\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-time/sdk/go/time\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tprimary, err := core.LookupSubscription(ctx, \u0026core.LookupSubscriptionArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := core.GetClientConfig(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleGetRoleDefinition, err := authorization.LookupRoleDefinition(ctx, \u0026authorization.LookupRoleDefinitionArgs{\n\t\t\tName: pulumi.StringRef(\"Reader\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleStatic, err := time.NewStatic(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = pim.NewActiveRoleAssignment(ctx, \"example\", \u0026pim.ActiveRoleAssignmentArgs{\n\t\t\tScope:            pulumi.String(primary.Id),\n\t\t\tRoleDefinitionId: pulumi.Sprintf(\"%v%v\", primary.Id, exampleGetRoleDefinition.Id),\n\t\t\tPrincipalId:      pulumi.String(example.ObjectId),\n\t\t\tSchedule: \u0026pim.ActiveRoleAssignmentScheduleArgs{\n\t\t\t\tStartDateTime: exampleStatic.Rfc3339,\n\t\t\t\tExpiration: \u0026pim.ActiveRoleAssignmentScheduleExpirationArgs{\n\t\t\t\t\tDurationHours: pulumi.Int(8),\n\t\t\t\t},\n\t\t\t},\n\t\t\tJustification: pulumi.String(\"Expiration Duration Set\"),\n\t\t\tTicket: \u0026pim.ActiveRoleAssignmentTicketArgs{\n\t\t\t\tNumber: pulumi.String(\"1\"),\n\t\t\t\tSystem: pulumi.String(\"example ticket system\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.core.inputs.GetSubscriptionArgs;\nimport com.pulumi.azure.authorization.AuthorizationFunctions;\nimport com.pulumi.azure.authorization.inputs.GetRoleDefinitionArgs;\nimport com.pulumiverse.time.Static;\nimport com.pulumi.azure.pim.ActiveRoleAssignment;\nimport com.pulumi.azure.pim.ActiveRoleAssignmentArgs;\nimport com.pulumi.azure.pim.inputs.ActiveRoleAssignmentScheduleArgs;\nimport com.pulumi.azure.pim.inputs.ActiveRoleAssignmentScheduleExpirationArgs;\nimport com.pulumi.azure.pim.inputs.ActiveRoleAssignmentTicketArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var primary = CoreFunctions.getSubscription(GetSubscriptionArgs.builder()\n            .build());\n\n        final var example = CoreFunctions.getClientConfig(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n        final var exampleGetRoleDefinition = AuthorizationFunctions.getRoleDefinition(GetRoleDefinitionArgs.builder()\n            .name(\"Reader\")\n            .build());\n\n        var exampleStatic = new Static(\"exampleStatic\");\n\n        var exampleActiveRoleAssignment = new ActiveRoleAssignment(\"exampleActiveRoleAssignment\", ActiveRoleAssignmentArgs.builder()\n            .scope(primary.id())\n            .roleDefinitionId(String.format(\"%s%s\", primary.id(),exampleGetRoleDefinition.id()))\n            .principalId(example.objectId())\n            .schedule(ActiveRoleAssignmentScheduleArgs.builder()\n                .startDateTime(exampleStatic.rfc3339())\n                .expiration(ActiveRoleAssignmentScheduleExpirationArgs.builder()\n                    .durationHours(8)\n                    .build())\n                .build())\n            .justification(\"Expiration Duration Set\")\n            .ticket(ActiveRoleAssignmentTicketArgs.builder()\n                .number(\"1\")\n                .system(\"example ticket system\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleStatic:\n    type: time:Static\n    name: example\n  exampleActiveRoleAssignment:\n    type: azure:pim:ActiveRoleAssignment\n    name: example\n    properties:\n      scope: ${primary.id}\n      roleDefinitionId: ${primary.id}${exampleGetRoleDefinition.id}\n      principalId: ${example.objectId}\n      schedule:\n        startDateTime: ${exampleStatic.rfc3339}\n        expiration:\n          durationHours: 8\n      justification: Expiration Duration Set\n      ticket:\n        number: '1'\n        system: example ticket system\nvariables:\n  primary:\n    fn::invoke:\n      function: azure:core:getSubscription\n      arguments: {}\n  example:\n    fn::invoke:\n      function: azure:core:getClientConfig\n      arguments: {}\n  exampleGetRoleDefinition:\n    fn::invoke:\n      function: azure:authorization:getRoleDefinition\n      arguments:\n        name: Reader\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\n### Management Group)\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\nimport * as time from \"@pulumiverse/time\";\n\nconst example = azure.core.getClientConfig({});\nconst exampleGetRoleDefinition = azure.authorization.getRoleDefinition({\n    name: \"Reader\",\n});\nconst exampleGroup = new azure.management.Group(\"example\", {name: \"Example-Management-Group\"});\nconst exampleStatic = new time.Static(\"example\", {});\nconst exampleActiveRoleAssignment = new azure.pim.ActiveRoleAssignment(\"example\", {\n    scope: exampleGroup.id,\n    roleDefinitionId: exampleGetRoleDefinition.then(exampleGetRoleDefinition =\u003e exampleGetRoleDefinition.id),\n    principalId: example.then(example =\u003e example.objectId),\n    schedule: {\n        startDateTime: exampleStatic.rfc3339,\n        expiration: {\n            durationHours: 8,\n        },\n    },\n    justification: \"Expiration Duration Set\",\n    ticket: {\n        number: \"1\",\n        system: \"example ticket system\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\nimport pulumiverse_time as time\n\nexample = azure.core.get_client_config()\nexample_get_role_definition = azure.authorization.get_role_definition(name=\"Reader\")\nexample_group = azure.management.Group(\"example\", name=\"Example-Management-Group\")\nexample_static = time.Static(\"example\")\nexample_active_role_assignment = azure.pim.ActiveRoleAssignment(\"example\",\n    scope=example_group.id,\n    role_definition_id=example_get_role_definition.id,\n    principal_id=example.object_id,\n    schedule={\n        \"start_date_time\": example_static.rfc3339,\n        \"expiration\": {\n            \"duration_hours\": 8,\n        },\n    },\n    justification=\"Expiration Duration Set\",\n    ticket={\n        \"number\": \"1\",\n        \"system\": \"example ticket system\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\nusing Time = Pulumiverse.Time;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Core.GetClientConfig.Invoke();\n\n    var exampleGetRoleDefinition = Azure.Authorization.GetRoleDefinition.Invoke(new()\n    {\n        Name = \"Reader\",\n    });\n\n    var exampleGroup = new Azure.Management.Group(\"example\", new()\n    {\n        Name = \"Example-Management-Group\",\n    });\n\n    var exampleStatic = new Time.Static(\"example\");\n\n    var exampleActiveRoleAssignment = new Azure.Pim.ActiveRoleAssignment(\"example\", new()\n    {\n        Scope = exampleGroup.Id,\n        RoleDefinitionId = exampleGetRoleDefinition.Apply(getRoleDefinitionResult =\u003e getRoleDefinitionResult.Id),\n        PrincipalId = example.Apply(getClientConfigResult =\u003e getClientConfigResult.ObjectId),\n        Schedule = new Azure.Pim.Inputs.ActiveRoleAssignmentScheduleArgs\n        {\n            StartDateTime = exampleStatic.Rfc3339,\n            Expiration = new Azure.Pim.Inputs.ActiveRoleAssignmentScheduleExpirationArgs\n            {\n                DurationHours = 8,\n            },\n        },\n        Justification = \"Expiration Duration Set\",\n        Ticket = new Azure.Pim.Inputs.ActiveRoleAssignmentTicketArgs\n        {\n            Number = \"1\",\n            System = \"example ticket system\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/authorization\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/management\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/pim\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-time/sdk/go/time\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.GetClientConfig(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleGetRoleDefinition, err := authorization.LookupRoleDefinition(ctx, \u0026authorization.LookupRoleDefinitionArgs{\n\t\t\tName: pulumi.StringRef(\"Reader\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleGroup, err := management.NewGroup(ctx, \"example\", \u0026management.GroupArgs{\n\t\t\tName: pulumi.String(\"Example-Management-Group\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleStatic, err := time.NewStatic(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = pim.NewActiveRoleAssignment(ctx, \"example\", \u0026pim.ActiveRoleAssignmentArgs{\n\t\t\tScope:            exampleGroup.ID(),\n\t\t\tRoleDefinitionId: pulumi.String(exampleGetRoleDefinition.Id),\n\t\t\tPrincipalId:      pulumi.String(example.ObjectId),\n\t\t\tSchedule: \u0026pim.ActiveRoleAssignmentScheduleArgs{\n\t\t\t\tStartDateTime: exampleStatic.Rfc3339,\n\t\t\t\tExpiration: \u0026pim.ActiveRoleAssignmentScheduleExpirationArgs{\n\t\t\t\t\tDurationHours: pulumi.Int(8),\n\t\t\t\t},\n\t\t\t},\n\t\t\tJustification: pulumi.String(\"Expiration Duration Set\"),\n\t\t\tTicket: \u0026pim.ActiveRoleAssignmentTicketArgs{\n\t\t\t\tNumber: pulumi.String(\"1\"),\n\t\t\t\tSystem: pulumi.String(\"example ticket system\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.authorization.AuthorizationFunctions;\nimport com.pulumi.azure.authorization.inputs.GetRoleDefinitionArgs;\nimport com.pulumi.azure.management.Group;\nimport com.pulumi.azure.management.GroupArgs;\nimport com.pulumiverse.time.Static;\nimport com.pulumi.azure.pim.ActiveRoleAssignment;\nimport com.pulumi.azure.pim.ActiveRoleAssignmentArgs;\nimport com.pulumi.azure.pim.inputs.ActiveRoleAssignmentScheduleArgs;\nimport com.pulumi.azure.pim.inputs.ActiveRoleAssignmentScheduleExpirationArgs;\nimport com.pulumi.azure.pim.inputs.ActiveRoleAssignmentTicketArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = CoreFunctions.getClientConfig(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n        final var exampleGetRoleDefinition = AuthorizationFunctions.getRoleDefinition(GetRoleDefinitionArgs.builder()\n            .name(\"Reader\")\n            .build());\n\n        var exampleGroup = new Group(\"exampleGroup\", GroupArgs.builder()\n            .name(\"Example-Management-Group\")\n            .build());\n\n        var exampleStatic = new Static(\"exampleStatic\");\n\n        var exampleActiveRoleAssignment = new ActiveRoleAssignment(\"exampleActiveRoleAssignment\", ActiveRoleAssignmentArgs.builder()\n            .scope(exampleGroup.id())\n            .roleDefinitionId(exampleGetRoleDefinition.id())\n            .principalId(example.objectId())\n            .schedule(ActiveRoleAssignmentScheduleArgs.builder()\n                .startDateTime(exampleStatic.rfc3339())\n                .expiration(ActiveRoleAssignmentScheduleExpirationArgs.builder()\n                    .durationHours(8)\n                    .build())\n                .build())\n            .justification(\"Expiration Duration Set\")\n            .ticket(ActiveRoleAssignmentTicketArgs.builder()\n                .number(\"1\")\n                .system(\"example ticket system\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleGroup:\n    type: azure:management:Group\n    name: example\n    properties:\n      name: Example-Management-Group\n  exampleStatic:\n    type: time:Static\n    name: example\n  exampleActiveRoleAssignment:\n    type: azure:pim:ActiveRoleAssignment\n    name: example\n    properties:\n      scope: ${exampleGroup.id}\n      roleDefinitionId: ${exampleGetRoleDefinition.id}\n      principalId: ${example.objectId}\n      schedule:\n        startDateTime: ${exampleStatic.rfc3339}\n        expiration:\n          durationHours: 8\n      justification: Expiration Duration Set\n      ticket:\n        number: '1'\n        system: example ticket system\nvariables:\n  example:\n    fn::invoke:\n      function: azure:core:getClientConfig\n      arguments: {}\n  exampleGetRoleDefinition:\n    fn::invoke:\n      function: azure:authorization:getRoleDefinition\n      arguments:\n        name: Reader\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Authorization` - 2020-10-01\n\n## Import\n\nPIM Active Role Assignments can be imported using the following composite resource ID, e.g.\n\n```sh\n$ pulumi import azure:pim/activeRoleAssignment:ActiveRoleAssignment example /subscriptions/00000000-0000-0000-0000-000000000000|/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/00000000-0000-0000-0000-000000000000|00000000-0000-0000-0000-000000000000\n```\n\n\u003e **Note:** This ID is specific to Terraform - and is of the format `{scope}|{roleDefinitionId}|{principalId}`, where the first segment is the scope of the role assignment, the second segment is the role definition ID, and the last segment is the principal object ID.\n\n","properties":{"justification":{"type":"string","description":"The justification for the role assignment. Changing this forces a new resource to be created.\n"},"principalId":{"type":"string","description":"Object ID of the principal for this role assignment. Changing this forces a new resource to be created.\n"},"principalType":{"type":"string","description":"Type of principal to which the role will be assigned.\n"},"roleDefinitionId":{"type":"string","description":"The role definition ID for this role assignment. Changing this forces a new resource to be created.\n"},"schedule":{"$ref":"#/types/azure:pim/ActiveRoleAssignmentSchedule:ActiveRoleAssignmentSchedule","description":"A \u003cspan pulumi-lang-nodejs=\"`schedule`\" pulumi-lang-dotnet=\"`Schedule`\" pulumi-lang-go=\"`schedule`\" pulumi-lang-python=\"`schedule`\" pulumi-lang-yaml=\"`schedule`\" pulumi-lang-java=\"`schedule`\"\u003e`schedule`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n"},"scope":{"type":"string","description":"The scope for this role assignment, should be a valid resource ID. Changing this forces a new resource to be created.\n"},"ticket":{"$ref":"#/types/azure:pim/ActiveRoleAssignmentTicket:ActiveRoleAssignmentTicket","description":"A \u003cspan pulumi-lang-nodejs=\"`ticket`\" pulumi-lang-dotnet=\"`Ticket`\" pulumi-lang-go=\"`ticket`\" pulumi-lang-python=\"`ticket`\" pulumi-lang-yaml=\"`ticket`\" pulumi-lang-java=\"`ticket`\"\u003e`ticket`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n"}},"required":["justification","principalId","principalType","roleDefinitionId","schedule","scope","ticket"],"inputProperties":{"justification":{"type":"string","description":"The justification for the role assignment. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"principalId":{"type":"string","description":"Object ID of the principal for this role assignment. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"roleDefinitionId":{"type":"string","description":"The role definition ID for this role assignment. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"schedule":{"$ref":"#/types/azure:pim/ActiveRoleAssignmentSchedule:ActiveRoleAssignmentSchedule","description":"A \u003cspan pulumi-lang-nodejs=\"`schedule`\" pulumi-lang-dotnet=\"`Schedule`\" pulumi-lang-go=\"`schedule`\" pulumi-lang-python=\"`schedule`\" pulumi-lang-yaml=\"`schedule`\" pulumi-lang-java=\"`schedule`\"\u003e`schedule`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"scope":{"type":"string","description":"The scope for this role assignment, should be a valid resource ID. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"ticket":{"$ref":"#/types/azure:pim/ActiveRoleAssignmentTicket:ActiveRoleAssignmentTicket","description":"A \u003cspan pulumi-lang-nodejs=\"`ticket`\" pulumi-lang-dotnet=\"`Ticket`\" pulumi-lang-go=\"`ticket`\" pulumi-lang-python=\"`ticket`\" pulumi-lang-yaml=\"`ticket`\" pulumi-lang-java=\"`ticket`\"\u003e`ticket`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["principalId","roleDefinitionId","scope"],"stateInputs":{"description":"Input properties used for looking up and filtering ActiveRoleAssignment resources.\n","properties":{"justification":{"type":"string","description":"The justification for the role assignment. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"principalId":{"type":"string","description":"Object ID of the principal for this role assignment. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"principalType":{"type":"string","description":"Type of principal to which the role will be assigned.\n"},"roleDefinitionId":{"type":"string","description":"The role definition ID for this role assignment. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"schedule":{"$ref":"#/types/azure:pim/ActiveRoleAssignmentSchedule:ActiveRoleAssignmentSchedule","description":"A \u003cspan pulumi-lang-nodejs=\"`schedule`\" pulumi-lang-dotnet=\"`Schedule`\" pulumi-lang-go=\"`schedule`\" pulumi-lang-python=\"`schedule`\" pulumi-lang-yaml=\"`schedule`\" pulumi-lang-java=\"`schedule`\"\u003e`schedule`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"scope":{"type":"string","description":"The scope for this role assignment, should be a valid resource ID. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"ticket":{"$ref":"#/types/azure:pim/ActiveRoleAssignmentTicket:ActiveRoleAssignmentTicket","description":"A \u003cspan pulumi-lang-nodejs=\"`ticket`\" pulumi-lang-dotnet=\"`Ticket`\" pulumi-lang-go=\"`ticket`\" pulumi-lang-python=\"`ticket`\" pulumi-lang-yaml=\"`ticket`\" pulumi-lang-java=\"`ticket`\"\u003e`ticket`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:pim/eligibleRoleAssignment:EligibleRoleAssignment":{"description":"Manages a PIM Eligible Role Assignment.\n\n## Example Usage\n\n### Subscription)\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\nimport * as time from \"@pulumiverse/time\";\n\nconst primary = azure.core.getSubscription({});\nconst example = azure.core.getClientConfig({});\nconst exampleGetRoleDefinition = azure.authorization.getRoleDefinition({\n    name: \"Reader\",\n});\nconst exampleStatic = new time.Static(\"example\", {});\nconst exampleEligibleRoleAssignment = new azure.pim.EligibleRoleAssignment(\"example\", {\n    scope: primary.then(primary =\u003e primary.id),\n    roleDefinitionId: Promise.all([primary, exampleGetRoleDefinition]).then(([primary, exampleGetRoleDefinition]) =\u003e `${primary.id}${exampleGetRoleDefinition.id}`),\n    principalId: example.then(example =\u003e example.objectId),\n    schedule: {\n        startDateTime: exampleStatic.rfc3339,\n        expiration: {\n            durationHours: 8,\n        },\n    },\n    justification: \"Expiration Duration Set\",\n    ticket: {\n        number: \"1\",\n        system: \"example ticket system\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\nimport pulumiverse_time as time\n\nprimary = azure.core.get_subscription()\nexample = azure.core.get_client_config()\nexample_get_role_definition = azure.authorization.get_role_definition(name=\"Reader\")\nexample_static = time.Static(\"example\")\nexample_eligible_role_assignment = azure.pim.EligibleRoleAssignment(\"example\",\n    scope=primary.id,\n    role_definition_id=f\"{primary.id}{example_get_role_definition.id}\",\n    principal_id=example.object_id,\n    schedule={\n        \"start_date_time\": example_static.rfc3339,\n        \"expiration\": {\n            \"duration_hours\": 8,\n        },\n    },\n    justification=\"Expiration Duration Set\",\n    ticket={\n        \"number\": \"1\",\n        \"system\": \"example ticket system\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\nusing Time = Pulumiverse.Time;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var primary = Azure.Core.GetSubscription.Invoke();\n\n    var example = Azure.Core.GetClientConfig.Invoke();\n\n    var exampleGetRoleDefinition = Azure.Authorization.GetRoleDefinition.Invoke(new()\n    {\n        Name = \"Reader\",\n    });\n\n    var exampleStatic = new Time.Static(\"example\");\n\n    var exampleEligibleRoleAssignment = new Azure.Pim.EligibleRoleAssignment(\"example\", new()\n    {\n        Scope = primary.Apply(getSubscriptionResult =\u003e getSubscriptionResult.Id),\n        RoleDefinitionId = Output.Tuple(primary, exampleGetRoleDefinition).Apply(values =\u003e\n        {\n            var primary = values.Item1;\n            var exampleGetRoleDefinition = values.Item2;\n            return $\"{primary.Apply(getSubscriptionResult =\u003e getSubscriptionResult.Id)}{exampleGetRoleDefinition.Apply(getRoleDefinitionResult =\u003e getRoleDefinitionResult.Id)}\";\n        }),\n        PrincipalId = example.Apply(getClientConfigResult =\u003e getClientConfigResult.ObjectId),\n        Schedule = new Azure.Pim.Inputs.EligibleRoleAssignmentScheduleArgs\n        {\n            StartDateTime = exampleStatic.Rfc3339,\n            Expiration = new Azure.Pim.Inputs.EligibleRoleAssignmentScheduleExpirationArgs\n            {\n                DurationHours = 8,\n            },\n        },\n        Justification = \"Expiration Duration Set\",\n        Ticket = new Azure.Pim.Inputs.EligibleRoleAssignmentTicketArgs\n        {\n            Number = \"1\",\n            System = \"example ticket system\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/authorization\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/pim\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-time/sdk/go/time\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tprimary, err := core.LookupSubscription(ctx, \u0026core.LookupSubscriptionArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := core.GetClientConfig(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleGetRoleDefinition, err := authorization.LookupRoleDefinition(ctx, \u0026authorization.LookupRoleDefinitionArgs{\n\t\t\tName: pulumi.StringRef(\"Reader\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleStatic, err := time.NewStatic(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = pim.NewEligibleRoleAssignment(ctx, \"example\", \u0026pim.EligibleRoleAssignmentArgs{\n\t\t\tScope:            pulumi.String(primary.Id),\n\t\t\tRoleDefinitionId: pulumi.Sprintf(\"%v%v\", primary.Id, exampleGetRoleDefinition.Id),\n\t\t\tPrincipalId:      pulumi.String(example.ObjectId),\n\t\t\tSchedule: \u0026pim.EligibleRoleAssignmentScheduleArgs{\n\t\t\t\tStartDateTime: exampleStatic.Rfc3339,\n\t\t\t\tExpiration: \u0026pim.EligibleRoleAssignmentScheduleExpirationArgs{\n\t\t\t\t\tDurationHours: pulumi.Int(8),\n\t\t\t\t},\n\t\t\t},\n\t\t\tJustification: pulumi.String(\"Expiration Duration Set\"),\n\t\t\tTicket: \u0026pim.EligibleRoleAssignmentTicketArgs{\n\t\t\t\tNumber: pulumi.String(\"1\"),\n\t\t\t\tSystem: pulumi.String(\"example ticket system\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.core.inputs.GetSubscriptionArgs;\nimport com.pulumi.azure.authorization.AuthorizationFunctions;\nimport com.pulumi.azure.authorization.inputs.GetRoleDefinitionArgs;\nimport com.pulumiverse.time.Static;\nimport com.pulumi.azure.pim.EligibleRoleAssignment;\nimport com.pulumi.azure.pim.EligibleRoleAssignmentArgs;\nimport com.pulumi.azure.pim.inputs.EligibleRoleAssignmentScheduleArgs;\nimport com.pulumi.azure.pim.inputs.EligibleRoleAssignmentScheduleExpirationArgs;\nimport com.pulumi.azure.pim.inputs.EligibleRoleAssignmentTicketArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var primary = CoreFunctions.getSubscription(GetSubscriptionArgs.builder()\n            .build());\n\n        final var example = CoreFunctions.getClientConfig(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n        final var exampleGetRoleDefinition = AuthorizationFunctions.getRoleDefinition(GetRoleDefinitionArgs.builder()\n            .name(\"Reader\")\n            .build());\n\n        var exampleStatic = new Static(\"exampleStatic\");\n\n        var exampleEligibleRoleAssignment = new EligibleRoleAssignment(\"exampleEligibleRoleAssignment\", EligibleRoleAssignmentArgs.builder()\n            .scope(primary.id())\n            .roleDefinitionId(String.format(\"%s%s\", primary.id(),exampleGetRoleDefinition.id()))\n            .principalId(example.objectId())\n            .schedule(EligibleRoleAssignmentScheduleArgs.builder()\n                .startDateTime(exampleStatic.rfc3339())\n                .expiration(EligibleRoleAssignmentScheduleExpirationArgs.builder()\n                    .durationHours(8)\n                    .build())\n                .build())\n            .justification(\"Expiration Duration Set\")\n            .ticket(EligibleRoleAssignmentTicketArgs.builder()\n                .number(\"1\")\n                .system(\"example ticket system\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleStatic:\n    type: time:Static\n    name: example\n  exampleEligibleRoleAssignment:\n    type: azure:pim:EligibleRoleAssignment\n    name: example\n    properties:\n      scope: ${primary.id}\n      roleDefinitionId: ${primary.id}${exampleGetRoleDefinition.id}\n      principalId: ${example.objectId}\n      schedule:\n        startDateTime: ${exampleStatic.rfc3339}\n        expiration:\n          durationHours: 8\n      justification: Expiration Duration Set\n      ticket:\n        number: '1'\n        system: example ticket system\nvariables:\n  primary:\n    fn::invoke:\n      function: azure:core:getSubscription\n      arguments: {}\n  example:\n    fn::invoke:\n      function: azure:core:getClientConfig\n      arguments: {}\n  exampleGetRoleDefinition:\n    fn::invoke:\n      function: azure:authorization:getRoleDefinition\n      arguments:\n        name: Reader\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\n### Management Group)\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\nimport * as time from \"@pulumiverse/time\";\n\nconst example = azure.core.getClientConfig({});\nconst exampleGetRoleDefinition = azure.authorization.getRoleDefinition({\n    name: \"Reader\",\n});\nconst exampleGroup = new azure.management.Group(\"example\", {name: \"Example-Management-Group\"});\nconst exampleStatic = new time.Static(\"example\", {});\nconst exampleEligibleRoleAssignment = new azure.pim.EligibleRoleAssignment(\"example\", {\n    scope: exampleGroup.id,\n    roleDefinitionId: exampleGetRoleDefinition.then(exampleGetRoleDefinition =\u003e exampleGetRoleDefinition.id),\n    principalId: example.then(example =\u003e example.objectId),\n    schedule: {\n        startDateTime: exampleStatic.rfc3339,\n        expiration: {\n            durationHours: 8,\n        },\n    },\n    justification: \"Expiration Duration Set\",\n    ticket: {\n        number: \"1\",\n        system: \"example ticket system\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\nimport pulumiverse_time as time\n\nexample = azure.core.get_client_config()\nexample_get_role_definition = azure.authorization.get_role_definition(name=\"Reader\")\nexample_group = azure.management.Group(\"example\", name=\"Example-Management-Group\")\nexample_static = time.Static(\"example\")\nexample_eligible_role_assignment = azure.pim.EligibleRoleAssignment(\"example\",\n    scope=example_group.id,\n    role_definition_id=example_get_role_definition.id,\n    principal_id=example.object_id,\n    schedule={\n        \"start_date_time\": example_static.rfc3339,\n        \"expiration\": {\n            \"duration_hours\": 8,\n        },\n    },\n    justification=\"Expiration Duration Set\",\n    ticket={\n        \"number\": \"1\",\n        \"system\": \"example ticket system\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\nusing Time = Pulumiverse.Time;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Core.GetClientConfig.Invoke();\n\n    var exampleGetRoleDefinition = Azure.Authorization.GetRoleDefinition.Invoke(new()\n    {\n        Name = \"Reader\",\n    });\n\n    var exampleGroup = new Azure.Management.Group(\"example\", new()\n    {\n        Name = \"Example-Management-Group\",\n    });\n\n    var exampleStatic = new Time.Static(\"example\");\n\n    var exampleEligibleRoleAssignment = new Azure.Pim.EligibleRoleAssignment(\"example\", new()\n    {\n        Scope = exampleGroup.Id,\n        RoleDefinitionId = exampleGetRoleDefinition.Apply(getRoleDefinitionResult =\u003e getRoleDefinitionResult.Id),\n        PrincipalId = example.Apply(getClientConfigResult =\u003e getClientConfigResult.ObjectId),\n        Schedule = new Azure.Pim.Inputs.EligibleRoleAssignmentScheduleArgs\n        {\n            StartDateTime = exampleStatic.Rfc3339,\n            Expiration = new Azure.Pim.Inputs.EligibleRoleAssignmentScheduleExpirationArgs\n            {\n                DurationHours = 8,\n            },\n        },\n        Justification = \"Expiration Duration Set\",\n        Ticket = new Azure.Pim.Inputs.EligibleRoleAssignmentTicketArgs\n        {\n            Number = \"1\",\n            System = \"example ticket system\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/authorization\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/management\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/pim\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-time/sdk/go/time\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.GetClientConfig(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleGetRoleDefinition, err := authorization.LookupRoleDefinition(ctx, \u0026authorization.LookupRoleDefinitionArgs{\n\t\t\tName: pulumi.StringRef(\"Reader\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleGroup, err := management.NewGroup(ctx, \"example\", \u0026management.GroupArgs{\n\t\t\tName: pulumi.String(\"Example-Management-Group\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleStatic, err := time.NewStatic(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = pim.NewEligibleRoleAssignment(ctx, \"example\", \u0026pim.EligibleRoleAssignmentArgs{\n\t\t\tScope:            exampleGroup.ID(),\n\t\t\tRoleDefinitionId: pulumi.String(exampleGetRoleDefinition.Id),\n\t\t\tPrincipalId:      pulumi.String(example.ObjectId),\n\t\t\tSchedule: \u0026pim.EligibleRoleAssignmentScheduleArgs{\n\t\t\t\tStartDateTime: exampleStatic.Rfc3339,\n\t\t\t\tExpiration: \u0026pim.EligibleRoleAssignmentScheduleExpirationArgs{\n\t\t\t\t\tDurationHours: pulumi.Int(8),\n\t\t\t\t},\n\t\t\t},\n\t\t\tJustification: pulumi.String(\"Expiration Duration Set\"),\n\t\t\tTicket: \u0026pim.EligibleRoleAssignmentTicketArgs{\n\t\t\t\tNumber: pulumi.String(\"1\"),\n\t\t\t\tSystem: pulumi.String(\"example ticket system\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.authorization.AuthorizationFunctions;\nimport com.pulumi.azure.authorization.inputs.GetRoleDefinitionArgs;\nimport com.pulumi.azure.management.Group;\nimport com.pulumi.azure.management.GroupArgs;\nimport com.pulumiverse.time.Static;\nimport com.pulumi.azure.pim.EligibleRoleAssignment;\nimport com.pulumi.azure.pim.EligibleRoleAssignmentArgs;\nimport com.pulumi.azure.pim.inputs.EligibleRoleAssignmentScheduleArgs;\nimport com.pulumi.azure.pim.inputs.EligibleRoleAssignmentScheduleExpirationArgs;\nimport com.pulumi.azure.pim.inputs.EligibleRoleAssignmentTicketArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = CoreFunctions.getClientConfig(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n        final var exampleGetRoleDefinition = AuthorizationFunctions.getRoleDefinition(GetRoleDefinitionArgs.builder()\n            .name(\"Reader\")\n            .build());\n\n        var exampleGroup = new Group(\"exampleGroup\", GroupArgs.builder()\n            .name(\"Example-Management-Group\")\n            .build());\n\n        var exampleStatic = new Static(\"exampleStatic\");\n\n        var exampleEligibleRoleAssignment = new EligibleRoleAssignment(\"exampleEligibleRoleAssignment\", EligibleRoleAssignmentArgs.builder()\n            .scope(exampleGroup.id())\n            .roleDefinitionId(exampleGetRoleDefinition.id())\n            .principalId(example.objectId())\n            .schedule(EligibleRoleAssignmentScheduleArgs.builder()\n                .startDateTime(exampleStatic.rfc3339())\n                .expiration(EligibleRoleAssignmentScheduleExpirationArgs.builder()\n                    .durationHours(8)\n                    .build())\n                .build())\n            .justification(\"Expiration Duration Set\")\n            .ticket(EligibleRoleAssignmentTicketArgs.builder()\n                .number(\"1\")\n                .system(\"example ticket system\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleGroup:\n    type: azure:management:Group\n    name: example\n    properties:\n      name: Example-Management-Group\n  exampleStatic:\n    type: time:Static\n    name: example\n  exampleEligibleRoleAssignment:\n    type: azure:pim:EligibleRoleAssignment\n    name: example\n    properties:\n      scope: ${exampleGroup.id}\n      roleDefinitionId: ${exampleGetRoleDefinition.id}\n      principalId: ${example.objectId}\n      schedule:\n        startDateTime: ${exampleStatic.rfc3339}\n        expiration:\n          durationHours: 8\n      justification: Expiration Duration Set\n      ticket:\n        number: '1'\n        system: example ticket system\nvariables:\n  example:\n    fn::invoke:\n      function: azure:core:getClientConfig\n      arguments: {}\n  exampleGetRoleDefinition:\n    fn::invoke:\n      function: azure:authorization:getRoleDefinition\n      arguments:\n        name: Reader\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Authorization` - 2020-10-01\n\n## Import\n\nPIM Eligible Role Assignments can be imported using the following composite resource ID, e.g.\n\n```sh\n$ pulumi import azure:pim/eligibleRoleAssignment:EligibleRoleAssignment example /subscriptions/00000000-0000-0000-0000-000000000000|/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/00000000-0000-0000-0000-000000000000|00000000-0000-0000-0000-000000000000\n```\n\n\u003e **Note:** This ID is specific to Terraform - and is of the format `{scope}|{roleDefinitionId}|{principalId}`, where the first segment is the scope of the role assignment, the second segment is the role definition ID, and the last segment is the principal object ID.\n\n","properties":{"condition":{"type":"string","description":"The condition that limits the resources that the role can be assigned to. See the [official conditions documentation](https://learn.microsoft.com/en-us/azure/role-based-access-control/conditions-overview#what-are-role-assignment-conditions) for details. Changing this forces a new resource to be created.\n"},"conditionVersion":{"type":"string","description":"The version of the condition. Supported values include `2.0`. Changing this forces a new resource to be created.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`conditionVersion`\" pulumi-lang-dotnet=\"`ConditionVersion`\" pulumi-lang-go=\"`conditionVersion`\" pulumi-lang-python=\"`condition_version`\" pulumi-lang-yaml=\"`conditionVersion`\" pulumi-lang-java=\"`conditionVersion`\"\u003e`condition_version`\u003c/span\u003e is required when specifying \u003cspan pulumi-lang-nodejs=\"`condition`\" pulumi-lang-dotnet=\"`Condition`\" pulumi-lang-go=\"`condition`\" pulumi-lang-python=\"`condition`\" pulumi-lang-yaml=\"`condition`\" pulumi-lang-java=\"`condition`\"\u003e`condition`\u003c/span\u003e and vice versa.\n"},"justification":{"type":"string","description":"The justification of the role assignment. Changing this forces a new resource to be created.\n"},"principalId":{"type":"string","description":"Object ID of the principal for this eligible role assignment. Changing this forces a new resource to be created.\n"},"principalType":{"type":"string","description":"Type of principal to which the role will be assigned.\n"},"roleDefinitionId":{"type":"string","description":"The role definition ID for this eligible role assignment. Changing this forces a new resource to be created.\n"},"schedule":{"$ref":"#/types/azure:pim/EligibleRoleAssignmentSchedule:EligibleRoleAssignmentSchedule","description":"A \u003cspan pulumi-lang-nodejs=\"`schedule`\" pulumi-lang-dotnet=\"`Schedule`\" pulumi-lang-go=\"`schedule`\" pulumi-lang-python=\"`schedule`\" pulumi-lang-yaml=\"`schedule`\" pulumi-lang-java=\"`schedule`\"\u003e`schedule`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n"},"scope":{"type":"string","description":"The scope for this eligible role assignment, should be a valid resource ID. Changing this forces a new resource to be created.\n"},"ticket":{"$ref":"#/types/azure:pim/EligibleRoleAssignmentTicket:EligibleRoleAssignmentTicket","description":"A \u003cspan pulumi-lang-nodejs=\"`ticket`\" pulumi-lang-dotnet=\"`Ticket`\" pulumi-lang-go=\"`ticket`\" pulumi-lang-python=\"`ticket`\" pulumi-lang-yaml=\"`ticket`\" pulumi-lang-java=\"`ticket`\"\u003e`ticket`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n"}},"required":["justification","principalId","principalType","roleDefinitionId","schedule","scope","ticket"],"inputProperties":{"condition":{"type":"string","description":"The condition that limits the resources that the role can be assigned to. See the [official conditions documentation](https://learn.microsoft.com/en-us/azure/role-based-access-control/conditions-overview#what-are-role-assignment-conditions) for details. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"conditionVersion":{"type":"string","description":"The version of the condition. Supported values include `2.0`. Changing this forces a new resource to be created.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`conditionVersion`\" pulumi-lang-dotnet=\"`ConditionVersion`\" pulumi-lang-go=\"`conditionVersion`\" pulumi-lang-python=\"`condition_version`\" pulumi-lang-yaml=\"`conditionVersion`\" pulumi-lang-java=\"`conditionVersion`\"\u003e`condition_version`\u003c/span\u003e is required when specifying \u003cspan pulumi-lang-nodejs=\"`condition`\" pulumi-lang-dotnet=\"`Condition`\" pulumi-lang-go=\"`condition`\" pulumi-lang-python=\"`condition`\" pulumi-lang-yaml=\"`condition`\" pulumi-lang-java=\"`condition`\"\u003e`condition`\u003c/span\u003e and vice versa.\n","willReplaceOnChanges":true},"justification":{"type":"string","description":"The justification of the role assignment. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"principalId":{"type":"string","description":"Object ID of the principal for this eligible role assignment. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"roleDefinitionId":{"type":"string","description":"The role definition ID for this eligible role assignment. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"schedule":{"$ref":"#/types/azure:pim/EligibleRoleAssignmentSchedule:EligibleRoleAssignmentSchedule","description":"A \u003cspan pulumi-lang-nodejs=\"`schedule`\" pulumi-lang-dotnet=\"`Schedule`\" pulumi-lang-go=\"`schedule`\" pulumi-lang-python=\"`schedule`\" pulumi-lang-yaml=\"`schedule`\" pulumi-lang-java=\"`schedule`\"\u003e`schedule`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"scope":{"type":"string","description":"The scope for this eligible role assignment, should be a valid resource ID. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"ticket":{"$ref":"#/types/azure:pim/EligibleRoleAssignmentTicket:EligibleRoleAssignmentTicket","description":"A \u003cspan pulumi-lang-nodejs=\"`ticket`\" pulumi-lang-dotnet=\"`Ticket`\" pulumi-lang-go=\"`ticket`\" pulumi-lang-python=\"`ticket`\" pulumi-lang-yaml=\"`ticket`\" pulumi-lang-java=\"`ticket`\"\u003e`ticket`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["principalId","roleDefinitionId","scope"],"stateInputs":{"description":"Input properties used for looking up and filtering EligibleRoleAssignment resources.\n","properties":{"condition":{"type":"string","description":"The condition that limits the resources that the role can be assigned to. See the [official conditions documentation](https://learn.microsoft.com/en-us/azure/role-based-access-control/conditions-overview#what-are-role-assignment-conditions) for details. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"conditionVersion":{"type":"string","description":"The version of the condition. Supported values include `2.0`. Changing this forces a new resource to be created.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`conditionVersion`\" pulumi-lang-dotnet=\"`ConditionVersion`\" pulumi-lang-go=\"`conditionVersion`\" pulumi-lang-python=\"`condition_version`\" pulumi-lang-yaml=\"`conditionVersion`\" pulumi-lang-java=\"`conditionVersion`\"\u003e`condition_version`\u003c/span\u003e is required when specifying \u003cspan pulumi-lang-nodejs=\"`condition`\" pulumi-lang-dotnet=\"`Condition`\" pulumi-lang-go=\"`condition`\" pulumi-lang-python=\"`condition`\" pulumi-lang-yaml=\"`condition`\" pulumi-lang-java=\"`condition`\"\u003e`condition`\u003c/span\u003e and vice versa.\n","willReplaceOnChanges":true},"justification":{"type":"string","description":"The justification of the role assignment. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"principalId":{"type":"string","description":"Object ID of the principal for this eligible role assignment. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"principalType":{"type":"string","description":"Type of principal to which the role will be assigned.\n"},"roleDefinitionId":{"type":"string","description":"The role definition ID for this eligible role assignment. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"schedule":{"$ref":"#/types/azure:pim/EligibleRoleAssignmentSchedule:EligibleRoleAssignmentSchedule","description":"A \u003cspan pulumi-lang-nodejs=\"`schedule`\" pulumi-lang-dotnet=\"`Schedule`\" pulumi-lang-go=\"`schedule`\" pulumi-lang-python=\"`schedule`\" pulumi-lang-yaml=\"`schedule`\" pulumi-lang-java=\"`schedule`\"\u003e`schedule`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"scope":{"type":"string","description":"The scope for this eligible role assignment, should be a valid resource ID. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"ticket":{"$ref":"#/types/azure:pim/EligibleRoleAssignmentTicket:EligibleRoleAssignmentTicket","description":"A \u003cspan pulumi-lang-nodejs=\"`ticket`\" pulumi-lang-dotnet=\"`Ticket`\" pulumi-lang-go=\"`ticket`\" pulumi-lang-python=\"`ticket`\" pulumi-lang-yaml=\"`ticket`\" pulumi-lang-java=\"`ticket`\"\u003e`ticket`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:pim/roleManagementPolicy:RoleManagementPolicy":{"description":"Manage a role policy for an Azure Management Group, Subscription, Resource Group or resource.\n\n## Example Usage\n\n### Management Group\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.management.Group(\"example\", {name: \"example-group\"});\nconst mgContributor = azure.authorization.getRoleDefinitionOutput({\n    name: \"Contributor\",\n    scope: example.id,\n});\nconst exampleRoleManagementPolicy = new azure.pim.RoleManagementPolicy(\"example\", {\n    scope: example.id,\n    roleDefinitionId: mgContributor.apply(mgContributor =\u003e mgContributor.id),\n    eligibleAssignmentRules: {\n        expirationRequired: false,\n    },\n    activeAssignmentRules: {\n        expireAfter: \"P90D\",\n    },\n    activationRules: {\n        maximumDuration: \"PT1H\",\n        requireApproval: true,\n    },\n    notificationRules: {\n        activeAssignments: {\n            adminNotifications: {\n                notificationLevel: \"Critical\",\n                defaultRecipients: false,\n                additionalRecipients: [\"someone@example.com\"],\n            },\n        },\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.management.Group(\"example\", name=\"example-group\")\nmg_contributor = azure.authorization.get_role_definition_output(name=\"Contributor\",\n    scope=example.id)\nexample_role_management_policy = azure.pim.RoleManagementPolicy(\"example\",\n    scope=example.id,\n    role_definition_id=mg_contributor.id,\n    eligible_assignment_rules={\n        \"expiration_required\": False,\n    },\n    active_assignment_rules={\n        \"expire_after\": \"P90D\",\n    },\n    activation_rules={\n        \"maximum_duration\": \"PT1H\",\n        \"require_approval\": True,\n    },\n    notification_rules={\n        \"active_assignments\": {\n            \"admin_notifications\": {\n                \"notification_level\": \"Critical\",\n                \"default_recipients\": False,\n                \"additional_recipients\": [\"someone@example.com\"],\n            },\n        },\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Management.Group(\"example\", new()\n    {\n        Name = \"example-group\",\n    });\n\n    var mgContributor = Azure.Authorization.GetRoleDefinition.Invoke(new()\n    {\n        Name = \"Contributor\",\n        Scope = example.Id,\n    });\n\n    var exampleRoleManagementPolicy = new Azure.Pim.RoleManagementPolicy(\"example\", new()\n    {\n        Scope = example.Id,\n        RoleDefinitionId = mgContributor.Apply(getRoleDefinitionResult =\u003e getRoleDefinitionResult.Id),\n        EligibleAssignmentRules = new Azure.Pim.Inputs.RoleManagementPolicyEligibleAssignmentRulesArgs\n        {\n            ExpirationRequired = false,\n        },\n        ActiveAssignmentRules = new Azure.Pim.Inputs.RoleManagementPolicyActiveAssignmentRulesArgs\n        {\n            ExpireAfter = \"P90D\",\n        },\n        ActivationRules = new Azure.Pim.Inputs.RoleManagementPolicyActivationRulesArgs\n        {\n            MaximumDuration = \"PT1H\",\n            RequireApproval = true,\n        },\n        NotificationRules = new Azure.Pim.Inputs.RoleManagementPolicyNotificationRulesArgs\n        {\n            ActiveAssignments = new Azure.Pim.Inputs.RoleManagementPolicyNotificationRulesActiveAssignmentsArgs\n            {\n                AdminNotifications = new Azure.Pim.Inputs.RoleManagementPolicyNotificationRulesActiveAssignmentsAdminNotificationsArgs\n                {\n                    NotificationLevel = \"Critical\",\n                    DefaultRecipients = false,\n                    AdditionalRecipients = new[]\n                    {\n                        \"someone@example.com\",\n                    },\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/authorization\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/management\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/pim\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := management.NewGroup(ctx, \"example\", \u0026management.GroupArgs{\n\t\t\tName: pulumi.String(\"example-group\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmgContributor := authorization.LookupRoleDefinitionOutput(ctx, authorization.GetRoleDefinitionOutputArgs{\n\t\t\tName:  pulumi.String(\"Contributor\"),\n\t\t\tScope: example.ID(),\n\t\t}, nil)\n\t\t_, err = pim.NewRoleManagementPolicy(ctx, \"example\", \u0026pim.RoleManagementPolicyArgs{\n\t\t\tScope: example.ID(),\n\t\t\tRoleDefinitionId: pulumi.String(mgContributor.ApplyT(func(mgContributor authorization.GetRoleDefinitionResult) (*string, error) {\n\t\t\t\treturn \u0026mgContributor.Id, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tEligibleAssignmentRules: \u0026pim.RoleManagementPolicyEligibleAssignmentRulesArgs{\n\t\t\t\tExpirationRequired: pulumi.Bool(false),\n\t\t\t},\n\t\t\tActiveAssignmentRules: \u0026pim.RoleManagementPolicyActiveAssignmentRulesArgs{\n\t\t\t\tExpireAfter: pulumi.String(\"P90D\"),\n\t\t\t},\n\t\t\tActivationRules: \u0026pim.RoleManagementPolicyActivationRulesArgs{\n\t\t\t\tMaximumDuration: pulumi.String(\"PT1H\"),\n\t\t\t\tRequireApproval: pulumi.Bool(true),\n\t\t\t},\n\t\t\tNotificationRules: \u0026pim.RoleManagementPolicyNotificationRulesArgs{\n\t\t\t\tActiveAssignments: \u0026pim.RoleManagementPolicyNotificationRulesActiveAssignmentsArgs{\n\t\t\t\t\tAdminNotifications: \u0026pim.RoleManagementPolicyNotificationRulesActiveAssignmentsAdminNotificationsArgs{\n\t\t\t\t\t\tNotificationLevel: pulumi.String(\"Critical\"),\n\t\t\t\t\t\tDefaultRecipients: pulumi.Bool(false),\n\t\t\t\t\t\tAdditionalRecipients: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"someone@example.com\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.management.Group;\nimport com.pulumi.azure.management.GroupArgs;\nimport com.pulumi.azure.authorization.AuthorizationFunctions;\nimport com.pulumi.azure.authorization.inputs.GetRoleDefinitionArgs;\nimport com.pulumi.azure.pim.RoleManagementPolicy;\nimport com.pulumi.azure.pim.RoleManagementPolicyArgs;\nimport com.pulumi.azure.pim.inputs.RoleManagementPolicyEligibleAssignmentRulesArgs;\nimport com.pulumi.azure.pim.inputs.RoleManagementPolicyActiveAssignmentRulesArgs;\nimport com.pulumi.azure.pim.inputs.RoleManagementPolicyActivationRulesArgs;\nimport com.pulumi.azure.pim.inputs.RoleManagementPolicyNotificationRulesArgs;\nimport com.pulumi.azure.pim.inputs.RoleManagementPolicyNotificationRulesActiveAssignmentsArgs;\nimport com.pulumi.azure.pim.inputs.RoleManagementPolicyNotificationRulesActiveAssignmentsAdminNotificationsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new Group(\"example\", GroupArgs.builder()\n            .name(\"example-group\")\n            .build());\n\n        final var mgContributor = AuthorizationFunctions.getRoleDefinition(GetRoleDefinitionArgs.builder()\n            .name(\"Contributor\")\n            .scope(example.id())\n            .build());\n\n        var exampleRoleManagementPolicy = new RoleManagementPolicy(\"exampleRoleManagementPolicy\", RoleManagementPolicyArgs.builder()\n            .scope(example.id())\n            .roleDefinitionId(mgContributor.applyValue(_mgContributor -\u003e _mgContributor.id()))\n            .eligibleAssignmentRules(RoleManagementPolicyEligibleAssignmentRulesArgs.builder()\n                .expirationRequired(false)\n                .build())\n            .activeAssignmentRules(RoleManagementPolicyActiveAssignmentRulesArgs.builder()\n                .expireAfter(\"P90D\")\n                .build())\n            .activationRules(RoleManagementPolicyActivationRulesArgs.builder()\n                .maximumDuration(\"PT1H\")\n                .requireApproval(true)\n                .build())\n            .notificationRules(RoleManagementPolicyNotificationRulesArgs.builder()\n                .activeAssignments(RoleManagementPolicyNotificationRulesActiveAssignmentsArgs.builder()\n                    .adminNotifications(RoleManagementPolicyNotificationRulesActiveAssignmentsAdminNotificationsArgs.builder()\n                        .notificationLevel(\"Critical\")\n                        .defaultRecipients(false)\n                        .additionalRecipients(\"someone@example.com\")\n                        .build())\n                    .build())\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:management:Group\n    properties:\n      name: example-group\n  exampleRoleManagementPolicy:\n    type: azure:pim:RoleManagementPolicy\n    name: example\n    properties:\n      scope: ${example.id}\n      roleDefinitionId: ${mgContributor.id}\n      eligibleAssignmentRules:\n        expirationRequired: false\n      activeAssignmentRules:\n        expireAfter: P90D\n      activationRules:\n        maximumDuration: PT1H\n        requireApproval: true\n      notificationRules:\n        activeAssignments:\n          adminNotifications:\n            notificationLevel: Critical\n            defaultRecipients: false\n            additionalRecipients:\n              - someone@example.com\nvariables:\n  mgContributor:\n    fn::invoke:\n      function: azure:authorization:getRoleDefinition\n      arguments:\n        name: Contributor\n        scope: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Authorization` - 2020-10-01\n\n## Import\n\nBecause these policies are created automatically by Azure, they will auto-import on first use. They can be imported using the `resource id` of the role definition, combined with the scope id, e.g.\n\n```sh\n$ pulumi import azure:pim/roleManagementPolicy:RoleManagementPolicy example \"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/00000000-0000-0000-0000-000000000000|\u003cscope\u003e\"\n```\n\n","properties":{"activationRules":{"$ref":"#/types/azure:pim/RoleManagementPolicyActivationRules:RoleManagementPolicyActivationRules","description":"An \u003cspan pulumi-lang-nodejs=\"`activationRules`\" pulumi-lang-dotnet=\"`ActivationRules`\" pulumi-lang-go=\"`activationRules`\" pulumi-lang-python=\"`activation_rules`\" pulumi-lang-yaml=\"`activationRules`\" pulumi-lang-java=\"`activationRules`\"\u003e`activation_rules`\u003c/span\u003e block as defined below.\n"},"activeAssignmentRules":{"$ref":"#/types/azure:pim/RoleManagementPolicyActiveAssignmentRules:RoleManagementPolicyActiveAssignmentRules","description":"An \u003cspan pulumi-lang-nodejs=\"`activeAssignmentRules`\" pulumi-lang-dotnet=\"`ActiveAssignmentRules`\" pulumi-lang-go=\"`activeAssignmentRules`\" pulumi-lang-python=\"`active_assignment_rules`\" pulumi-lang-yaml=\"`activeAssignmentRules`\" pulumi-lang-java=\"`activeAssignmentRules`\"\u003e`active_assignment_rules`\u003c/span\u003e block as defined below.\n"},"description":{"type":"string","description":"(String) The description of this policy.\n"},"eligibleAssignmentRules":{"$ref":"#/types/azure:pim/RoleManagementPolicyEligibleAssignmentRules:RoleManagementPolicyEligibleAssignmentRules","description":"An \u003cspan pulumi-lang-nodejs=\"`eligibleAssignmentRules`\" pulumi-lang-dotnet=\"`EligibleAssignmentRules`\" pulumi-lang-go=\"`eligibleAssignmentRules`\" pulumi-lang-python=\"`eligible_assignment_rules`\" pulumi-lang-yaml=\"`eligibleAssignmentRules`\" pulumi-lang-java=\"`eligibleAssignmentRules`\"\u003e`eligible_assignment_rules`\u003c/span\u003e block as defined below.\n"},"name":{"type":"string","description":"(String) The name of this policy, which is typically a UUID and may change over time.\n"},"notificationRules":{"$ref":"#/types/azure:pim/RoleManagementPolicyNotificationRules:RoleManagementPolicyNotificationRules","description":"A \u003cspan pulumi-lang-nodejs=\"`notificationRules`\" pulumi-lang-dotnet=\"`NotificationRules`\" pulumi-lang-go=\"`notificationRules`\" pulumi-lang-python=\"`notification_rules`\" pulumi-lang-yaml=\"`notificationRules`\" pulumi-lang-java=\"`notificationRules`\"\u003e`notification_rules`\u003c/span\u003e block as defined below.\n"},"roleDefinitionId":{"type":"string","description":"The scoped Role Definition ID of the role for which this policy will apply. Changing this forces a new resource to be created.\n"},"scope":{"type":"string","description":"The scope to which this Role Management Policy will apply. Can refer to a management group, a subscription, a resource group or a resource. Changing this forces a new resource to be created.\n"}},"required":["activationRules","activeAssignmentRules","description","eligibleAssignmentRules","name","notificationRules","roleDefinitionId","scope"],"inputProperties":{"activationRules":{"$ref":"#/types/azure:pim/RoleManagementPolicyActivationRules:RoleManagementPolicyActivationRules","description":"An \u003cspan pulumi-lang-nodejs=\"`activationRules`\" pulumi-lang-dotnet=\"`ActivationRules`\" pulumi-lang-go=\"`activationRules`\" pulumi-lang-python=\"`activation_rules`\" pulumi-lang-yaml=\"`activationRules`\" pulumi-lang-java=\"`activationRules`\"\u003e`activation_rules`\u003c/span\u003e block as defined below.\n"},"activeAssignmentRules":{"$ref":"#/types/azure:pim/RoleManagementPolicyActiveAssignmentRules:RoleManagementPolicyActiveAssignmentRules","description":"An \u003cspan pulumi-lang-nodejs=\"`activeAssignmentRules`\" pulumi-lang-dotnet=\"`ActiveAssignmentRules`\" pulumi-lang-go=\"`activeAssignmentRules`\" pulumi-lang-python=\"`active_assignment_rules`\" pulumi-lang-yaml=\"`activeAssignmentRules`\" pulumi-lang-java=\"`activeAssignmentRules`\"\u003e`active_assignment_rules`\u003c/span\u003e block as defined below.\n"},"eligibleAssignmentRules":{"$ref":"#/types/azure:pim/RoleManagementPolicyEligibleAssignmentRules:RoleManagementPolicyEligibleAssignmentRules","description":"An \u003cspan pulumi-lang-nodejs=\"`eligibleAssignmentRules`\" pulumi-lang-dotnet=\"`EligibleAssignmentRules`\" pulumi-lang-go=\"`eligibleAssignmentRules`\" pulumi-lang-python=\"`eligible_assignment_rules`\" pulumi-lang-yaml=\"`eligibleAssignmentRules`\" pulumi-lang-java=\"`eligibleAssignmentRules`\"\u003e`eligible_assignment_rules`\u003c/span\u003e block as defined below.\n"},"notificationRules":{"$ref":"#/types/azure:pim/RoleManagementPolicyNotificationRules:RoleManagementPolicyNotificationRules","description":"A \u003cspan pulumi-lang-nodejs=\"`notificationRules`\" pulumi-lang-dotnet=\"`NotificationRules`\" pulumi-lang-go=\"`notificationRules`\" pulumi-lang-python=\"`notification_rules`\" pulumi-lang-yaml=\"`notificationRules`\" pulumi-lang-java=\"`notificationRules`\"\u003e`notification_rules`\u003c/span\u003e block as defined below.\n"},"roleDefinitionId":{"type":"string","description":"The scoped Role Definition ID of the role for which this policy will apply. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"scope":{"type":"string","description":"The scope to which this Role Management Policy will apply. Can refer to a management group, a subscription, a resource group or a resource. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["roleDefinitionId","scope"],"stateInputs":{"description":"Input properties used for looking up and filtering RoleManagementPolicy resources.\n","properties":{"activationRules":{"$ref":"#/types/azure:pim/RoleManagementPolicyActivationRules:RoleManagementPolicyActivationRules","description":"An \u003cspan pulumi-lang-nodejs=\"`activationRules`\" pulumi-lang-dotnet=\"`ActivationRules`\" pulumi-lang-go=\"`activationRules`\" pulumi-lang-python=\"`activation_rules`\" pulumi-lang-yaml=\"`activationRules`\" pulumi-lang-java=\"`activationRules`\"\u003e`activation_rules`\u003c/span\u003e block as defined below.\n"},"activeAssignmentRules":{"$ref":"#/types/azure:pim/RoleManagementPolicyActiveAssignmentRules:RoleManagementPolicyActiveAssignmentRules","description":"An \u003cspan pulumi-lang-nodejs=\"`activeAssignmentRules`\" pulumi-lang-dotnet=\"`ActiveAssignmentRules`\" pulumi-lang-go=\"`activeAssignmentRules`\" pulumi-lang-python=\"`active_assignment_rules`\" pulumi-lang-yaml=\"`activeAssignmentRules`\" pulumi-lang-java=\"`activeAssignmentRules`\"\u003e`active_assignment_rules`\u003c/span\u003e block as defined below.\n"},"description":{"type":"string","description":"(String) The description of this policy.\n"},"eligibleAssignmentRules":{"$ref":"#/types/azure:pim/RoleManagementPolicyEligibleAssignmentRules:RoleManagementPolicyEligibleAssignmentRules","description":"An \u003cspan pulumi-lang-nodejs=\"`eligibleAssignmentRules`\" pulumi-lang-dotnet=\"`EligibleAssignmentRules`\" pulumi-lang-go=\"`eligibleAssignmentRules`\" pulumi-lang-python=\"`eligible_assignment_rules`\" pulumi-lang-yaml=\"`eligibleAssignmentRules`\" pulumi-lang-java=\"`eligibleAssignmentRules`\"\u003e`eligible_assignment_rules`\u003c/span\u003e block as defined below.\n"},"name":{"type":"string","description":"(String) The name of this policy, which is typically a UUID and may change over time.\n"},"notificationRules":{"$ref":"#/types/azure:pim/RoleManagementPolicyNotificationRules:RoleManagementPolicyNotificationRules","description":"A \u003cspan pulumi-lang-nodejs=\"`notificationRules`\" pulumi-lang-dotnet=\"`NotificationRules`\" pulumi-lang-go=\"`notificationRules`\" pulumi-lang-python=\"`notification_rules`\" pulumi-lang-yaml=\"`notificationRules`\" pulumi-lang-java=\"`notificationRules`\"\u003e`notification_rules`\u003c/span\u003e block as defined below.\n"},"roleDefinitionId":{"type":"string","description":"The scoped Role Definition ID of the role for which this policy will apply. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"scope":{"type":"string","description":"The scope to which this Role Management Policy will apply. Can refer to a management group, a subscription, a resource group or a resource. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:policy/definition:Definition":{"description":"Manages a policy rule definition on a management group or your provider subscription.\n\nPolicy definitions do not take effect until they are assigned to a scope using a Policy Assignment.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst policy = new azure.policy.Definition(\"policy\", {\n    name: \"accTestPolicy\",\n    policyType: \"Custom\",\n    mode: \"Indexed\",\n    displayName: \"acceptance test policy definition\",\n    metadata: `    {\n    \\\\\"category\\\\\": \\\\\"General\\\\\"\n    }\n\n`,\n    policyRule: ` {\n    \"if\": {\n      \"not\": {\n        \"field\": \"location\",\n        \"in\": \"[parameters('allowedLocations')]\"\n      }\n    },\n    \"then\": {\n      \"effect\": \"audit\"\n    }\n  }\n`,\n    parameters: ` {\n    \\\\\"allowedLocations\\\\\": {\n      \\\\\"type\\\\\": \\\\\"Array\\\\\",\n      \\\\\"metadata\\\\\": {\n        \\\\\"description\\\\\": \\\\\"The list of allowed locations for resources.\\\\\",\n        \\\\\"displayName\\\\\": \\\\\"Allowed locations\\\\\",\n        \\\\\"strongType\\\\\": \\\\\"location\\\\\"\n      }\n    }\n  }\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\npolicy = azure.policy.Definition(\"policy\",\n    name=\"accTestPolicy\",\n    policy_type=\"Custom\",\n    mode=\"Indexed\",\n    display_name=\"acceptance test policy definition\",\n    metadata=\"\"\"    {\n    \\\"category\\\": \\\"General\\\"\n    }\n\n\"\"\",\n    policy_rule=\"\"\" {\n    \"if\": {\n      \"not\": {\n        \"field\": \"location\",\n        \"in\": \"[parameters('allowedLocations')]\"\n      }\n    },\n    \"then\": {\n      \"effect\": \"audit\"\n    }\n  }\n\"\"\",\n    parameters=\"\"\" {\n    \\\"allowedLocations\\\": {\n      \\\"type\\\": \\\"Array\\\",\n      \\\"metadata\\\": {\n        \\\"description\\\": \\\"The list of allowed locations for resources.\\\",\n        \\\"displayName\\\": \\\"Allowed locations\\\",\n        \\\"strongType\\\": \\\"location\\\"\n      }\n    }\n  }\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var policy = new Azure.Policy.Definition(\"policy\", new()\n    {\n        Name = \"accTestPolicy\",\n        PolicyType = \"Custom\",\n        Mode = \"Indexed\",\n        DisplayName = \"acceptance test policy definition\",\n        Metadata = @\"    {\n    \\\"\"category\\\"\": \\\"\"General\\\"\"\n    }\n\n\",\n        PolicyRule = @\" {\n    \"\"if\"\": {\n      \"\"not\"\": {\n        \"\"field\"\": \"\"location\"\",\n        \"\"in\"\": \"\"[parameters('allowedLocations')]\"\"\n      }\n    },\n    \"\"then\"\": {\n      \"\"effect\"\": \"\"audit\"\"\n    }\n  }\n\",\n        Parameters = @\" {\n    \\\"\"allowedLocations\\\"\": {\n      \\\"\"type\\\"\": \\\"\"Array\\\"\",\n      \\\"\"metadata\\\"\": {\n        \\\"\"description\\\"\": \\\"\"The list of allowed locations for resources.\\\"\",\n        \\\"\"displayName\\\"\": \\\"\"Allowed locations\\\"\",\n        \\\"\"strongType\\\"\": \\\"\"location\\\"\"\n      }\n    }\n  }\n\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/policy\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := policy.NewDefinition(ctx, \"policy\", \u0026policy.DefinitionArgs{\n\t\t\tName:        pulumi.String(\"accTestPolicy\"),\n\t\t\tPolicyType:  pulumi.String(\"Custom\"),\n\t\t\tMode:        pulumi.String(\"Indexed\"),\n\t\t\tDisplayName: pulumi.String(\"acceptance test policy definition\"),\n\t\t\tMetadata:    pulumi.String(\"    {\\n    \\\\\\\"category\\\\\\\": \\\\\\\"General\\\\\\\"\\n    }\\n\\n\"),\n\t\t\tPolicyRule: pulumi.String(` {\n    \"if\": {\n      \"not\": {\n        \"field\": \"location\",\n        \"in\": \"[parameters('allowedLocations')]\"\n      }\n    },\n    \"then\": {\n      \"effect\": \"audit\"\n    }\n  }\n`),\n\t\t\tParameters: pulumi.String(` {\n    \\\"allowedLocations\\\": {\n      \\\"type\\\": \\\"Array\\\",\n      \\\"metadata\\\": {\n        \\\"description\\\": \\\"The list of allowed locations for resources.\\\",\n        \\\"displayName\\\": \\\"Allowed locations\\\",\n        \\\"strongType\\\": \\\"location\\\"\n      }\n    }\n  }\n`),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.policy.Definition;\nimport com.pulumi.azure.policy.DefinitionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var policy = new Definition(\"policy\", DefinitionArgs.builder()\n            .name(\"accTestPolicy\")\n            .policyType(\"Custom\")\n            .mode(\"Indexed\")\n            .displayName(\"acceptance test policy definition\")\n            .metadata(\"\"\"\n    {\n    \\\"category\\\": \\\"General\\\"\n    }\n\n            \"\"\")\n            .policyRule(\"\"\"\n {\n    \"if\": {\n      \"not\": {\n        \"field\": \"location\",\n        \"in\": \"[parameters('allowedLocations')]\"\n      }\n    },\n    \"then\": {\n      \"effect\": \"audit\"\n    }\n  }\n            \"\"\")\n            .parameters(\"\"\"\n {\n    \\\"allowedLocations\\\": {\n      \\\"type\\\": \\\"Array\\\",\n      \\\"metadata\\\": {\n        \\\"description\\\": \\\"The list of allowed locations for resources.\\\",\n        \\\"displayName\\\": \\\"Allowed locations\\\",\n        \\\"strongType\\\": \\\"location\\\"\n      }\n    }\n  }\n            \"\"\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  policy:\n    type: azure:policy:Definition\n    properties:\n      name: accTestPolicy\n      policyType: Custom\n      mode: Indexed\n      displayName: acceptance test policy definition\n      metadata: |2+\n            {\n            \\\"category\\\": \\\"General\\\"\n            }\n\n      policyRule: |2\n         {\n            \"if\": {\n              \"not\": {\n                \"field\": \"location\",\n                \"in\": \"[parameters('allowedLocations')]\"\n              }\n            },\n            \"then\": {\n              \"effect\": \"audit\"\n            }\n          }\n      parameters: |2\n         {\n            \\\"allowedLocations\\\": {\n              \\\"type\\\": \\\"Array\\\",\n              \\\"metadata\\\": {\n                \\\"description\\\": \\\"The list of allowed locations for resources.\\\",\n                \\\"displayName\\\": \\\"Allowed locations\\\",\n                \\\"strongType\\\": \\\"location\\\"\n              }\n            }\n          }\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nPolicy Definitions can be imported using the `policy name`, e.g.\n\n```sh\n$ pulumi import azure:policy/definition:Definition examplePolicy /subscriptions/\u003cSUBSCRIPTION_ID\u003e/providers/Microsoft.Authorization/policyDefinitions/\u003cPOLICY_NAME\u003e\n```\n\nor\n\n```sh\n$ pulumi import azure:policy/definition:Definition examplePolicy /providers/Microsoft.Management/managementgroups/\u003cMANGAGEMENT_GROUP_ID\u003e/providers/Microsoft.Authorization/policyDefinitions/\u003cPOLICY_NAME\u003e\n```\n\n","properties":{"description":{"type":"string","description":"The description of the policy definition.\n"},"displayName":{"type":"string","description":"The display name of the policy definition.\n"},"managementGroupId":{"type":"string","description":"The id of the Management Group where this policy should be defined. Changing this forces a new resource to be created.\n"},"metadata":{"type":"string","description":"The metadata for the policy definition. This is a JSON string representing additional metadata that should be stored with the policy definition.\n"},"mode":{"type":"string","description":"The policy resource manager mode that allows you to specify which resource types will be evaluated. Possible values are `All`, `Indexed`, `Microsoft.ContainerService.Data`, `Microsoft.CustomerLockbox.Data`, `Microsoft.DataCatalog.Data`, `Microsoft.KeyVault.Data`, `Microsoft.Kubernetes.Data`, `Microsoft.MachineLearningServices.Data`, `Microsoft.Network.Data` and `Microsoft.Synapse.Data`.\n\n\u003e **Note:** Other resource provider modes only support built-in policy definitions but may later become available in custom definitions, these include; `Microsoft.ContainerService.Data`, `Microsoft.CustomerLockbox.Data`, `Microsoft.DataCatalog.Data`, `Microsoft.KeyVault.Data`, `Microsoft.Kubernetes.Data`, `Microsoft.MachineLearningServices.Data`, `Microsoft.Network.Data` and `Microsoft.Synapse.Data`. [See here](https://docs.microsoft.com/en-us/azure/governance/policy/concepts/definition-structure#resource-provider-modes) for more details.\n"},"name":{"type":"string","description":"The name of the policy definition. Changing this forces a new resource to be created.\n"},"parameters":{"type":"string","description":"Parameters for the policy definition. This field is a JSON string that allows you to parameterize your policy definition. Reducing the number of parameters forces a new resource to be created.\n"},"policyRule":{"type":"string","description":"The policy rule for the policy definition. This is a JSON string representing the rule that contains an if and a then block.\n"},"policyType":{"type":"string","description":"The policy type. Possible values are `BuiltIn`, `Custom`, `NotSpecified` and `Static`. Changing this forces a new resource to be created.\n"},"roleDefinitionIds":{"type":"array","items":{"type":"string"},"description":"A list of role definition id extracted from \u003cspan pulumi-lang-nodejs=\"`policyRule`\" pulumi-lang-dotnet=\"`PolicyRule`\" pulumi-lang-go=\"`policyRule`\" pulumi-lang-python=\"`policy_rule`\" pulumi-lang-yaml=\"`policyRule`\" pulumi-lang-java=\"`policyRule`\"\u003e`policy_rule`\u003c/span\u003e required for remediation.\n"}},"required":["displayName","metadata","mode","name","policyType","roleDefinitionIds"],"inputProperties":{"description":{"type":"string","description":"The description of the policy definition.\n"},"displayName":{"type":"string","description":"The display name of the policy definition.\n"},"managementGroupId":{"type":"string","description":"The id of the Management Group where this policy should be defined. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"metadata":{"type":"string","description":"The metadata for the policy definition. This is a JSON string representing additional metadata that should be stored with the policy definition.\n"},"mode":{"type":"string","description":"The policy resource manager mode that allows you to specify which resource types will be evaluated. Possible values are `All`, `Indexed`, `Microsoft.ContainerService.Data`, `Microsoft.CustomerLockbox.Data`, `Microsoft.DataCatalog.Data`, `Microsoft.KeyVault.Data`, `Microsoft.Kubernetes.Data`, `Microsoft.MachineLearningServices.Data`, `Microsoft.Network.Data` and `Microsoft.Synapse.Data`.\n\n\u003e **Note:** Other resource provider modes only support built-in policy definitions but may later become available in custom definitions, these include; `Microsoft.ContainerService.Data`, `Microsoft.CustomerLockbox.Data`, `Microsoft.DataCatalog.Data`, `Microsoft.KeyVault.Data`, `Microsoft.Kubernetes.Data`, `Microsoft.MachineLearningServices.Data`, `Microsoft.Network.Data` and `Microsoft.Synapse.Data`. [See here](https://docs.microsoft.com/en-us/azure/governance/policy/concepts/definition-structure#resource-provider-modes) for more details.\n"},"name":{"type":"string","description":"The name of the policy definition. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"parameters":{"type":"string","description":"Parameters for the policy definition. This field is a JSON string that allows you to parameterize your policy definition. Reducing the number of parameters forces a new resource to be created.\n"},"policyRule":{"type":"string","description":"The policy rule for the policy definition. This is a JSON string representing the rule that contains an if and a then block.\n"},"policyType":{"type":"string","description":"The policy type. Possible values are `BuiltIn`, `Custom`, `NotSpecified` and `Static`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["displayName","mode","policyType"],"stateInputs":{"description":"Input properties used for looking up and filtering Definition resources.\n","properties":{"description":{"type":"string","description":"The description of the policy definition.\n"},"displayName":{"type":"string","description":"The display name of the policy definition.\n"},"managementGroupId":{"type":"string","description":"The id of the Management Group where this policy should be defined. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"metadata":{"type":"string","description":"The metadata for the policy definition. This is a JSON string representing additional metadata that should be stored with the policy definition.\n"},"mode":{"type":"string","description":"The policy resource manager mode that allows you to specify which resource types will be evaluated. Possible values are `All`, `Indexed`, `Microsoft.ContainerService.Data`, `Microsoft.CustomerLockbox.Data`, `Microsoft.DataCatalog.Data`, `Microsoft.KeyVault.Data`, `Microsoft.Kubernetes.Data`, `Microsoft.MachineLearningServices.Data`, `Microsoft.Network.Data` and `Microsoft.Synapse.Data`.\n\n\u003e **Note:** Other resource provider modes only support built-in policy definitions but may later become available in custom definitions, these include; `Microsoft.ContainerService.Data`, `Microsoft.CustomerLockbox.Data`, `Microsoft.DataCatalog.Data`, `Microsoft.KeyVault.Data`, `Microsoft.Kubernetes.Data`, `Microsoft.MachineLearningServices.Data`, `Microsoft.Network.Data` and `Microsoft.Synapse.Data`. [See here](https://docs.microsoft.com/en-us/azure/governance/policy/concepts/definition-structure#resource-provider-modes) for more details.\n"},"name":{"type":"string","description":"The name of the policy definition. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"parameters":{"type":"string","description":"Parameters for the policy definition. This field is a JSON string that allows you to parameterize your policy definition. Reducing the number of parameters forces a new resource to be created.\n"},"policyRule":{"type":"string","description":"The policy rule for the policy definition. This is a JSON string representing the rule that contains an if and a then block.\n"},"policyType":{"type":"string","description":"The policy type. Possible values are `BuiltIn`, `Custom`, `NotSpecified` and `Static`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"roleDefinitionIds":{"type":"array","items":{"type":"string"},"description":"A list of role definition id extracted from \u003cspan pulumi-lang-nodejs=\"`policyRule`\" pulumi-lang-dotnet=\"`PolicyRule`\" pulumi-lang-go=\"`policyRule`\" pulumi-lang-python=\"`policy_rule`\" pulumi-lang-yaml=\"`policyRule`\" pulumi-lang-java=\"`policyRule`\"\u003e`policy_rule`\u003c/span\u003e required for remediation.\n"}},"type":"object"}},"azure:policy/policySetDefinition:PolicySetDefinition":{"description":"Manages a Policy Set Definition.\n\n\u003e **Note:** Policy set definitions (also known as policy initiatives) do not take effect until they are assigned to a scope using a Policy Set Assignment.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.policy.PolicySetDefinition(\"example\", {\n    name: \"example\",\n    policyType: \"Custom\",\n    displayName: \"Example\",\n    parameters: `    {\n        \\\\\"allowedLocations\\\\\": {\n            \\\\\"type\\\\\": \\\\\"Array\\\\\",\n            \\\\\"metadata\\\\\": {\n                \\\\\"description\\\\\": \\\\\"The list of allowed locations for resources.\\\\\",\n                \\\\\"displayName\\\\\": \\\\\"Allowed locations\\\\\",\n                \\\\\"strongType\\\\\": \\\\\"location\\\\\"\n            }\n        }\n    }\n`,\n    policyDefinitionReferences: [{\n        version: \"1.0.*\",\n        policyDefinitionId: \"/providers/Microsoft.Authorization/policyDefinitions/e765b5de-1225-4ba3-bd56-1ac6695af988\",\n        parameterValues: `    {\n      \\\\\"listOfAllowedLocations\\\\\": {\\\\\"value\\\\\": \\\\\"[parameters('allowedLocations')]\\\\\"}\n    }\n`,\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.policy.PolicySetDefinition(\"example\",\n    name=\"example\",\n    policy_type=\"Custom\",\n    display_name=\"Example\",\n    parameters=\"\"\"    {\n        \\\"allowedLocations\\\": {\n            \\\"type\\\": \\\"Array\\\",\n            \\\"metadata\\\": {\n                \\\"description\\\": \\\"The list of allowed locations for resources.\\\",\n                \\\"displayName\\\": \\\"Allowed locations\\\",\n                \\\"strongType\\\": \\\"location\\\"\n            }\n        }\n    }\n\"\"\",\n    policy_definition_references=[{\n        \"version\": \"1.0.*\",\n        \"policy_definition_id\": \"/providers/Microsoft.Authorization/policyDefinitions/e765b5de-1225-4ba3-bd56-1ac6695af988\",\n        \"parameter_values\": \"\"\"    {\n      \\\"listOfAllowedLocations\\\": {\\\"value\\\": \\\"[parameters('allowedLocations')]\\\"}\n    }\n\"\"\",\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Policy.PolicySetDefinition(\"example\", new()\n    {\n        Name = \"example\",\n        PolicyType = \"Custom\",\n        DisplayName = \"Example\",\n        Parameters = @\"    {\n        \\\"\"allowedLocations\\\"\": {\n            \\\"\"type\\\"\": \\\"\"Array\\\"\",\n            \\\"\"metadata\\\"\": {\n                \\\"\"description\\\"\": \\\"\"The list of allowed locations for resources.\\\"\",\n                \\\"\"displayName\\\"\": \\\"\"Allowed locations\\\"\",\n                \\\"\"strongType\\\"\": \\\"\"location\\\"\"\n            }\n        }\n    }\n\",\n        PolicyDefinitionReferences = new[]\n        {\n            new Azure.Policy.Inputs.PolicySetDefinitionPolicyDefinitionReferenceArgs\n            {\n                Version = \"1.0.*\",\n                PolicyDefinitionId = \"/providers/Microsoft.Authorization/policyDefinitions/e765b5de-1225-4ba3-bd56-1ac6695af988\",\n                ParameterValues = @\"    {\n      \\\"\"listOfAllowedLocations\\\"\": {\\\"\"value\\\"\": \\\"\"[parameters('allowedLocations')]\\\"\"}\n    }\n\",\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/policy\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := policy.NewPolicySetDefinition(ctx, \"example\", \u0026policy.PolicySetDefinitionArgs{\n\t\t\tName:        pulumi.String(\"example\"),\n\t\t\tPolicyType:  pulumi.String(\"Custom\"),\n\t\t\tDisplayName: pulumi.String(\"Example\"),\n\t\t\tParameters: pulumi.String(`    {\n        \\\"allowedLocations\\\": {\n            \\\"type\\\": \\\"Array\\\",\n            \\\"metadata\\\": {\n                \\\"description\\\": \\\"The list of allowed locations for resources.\\\",\n                \\\"displayName\\\": \\\"Allowed locations\\\",\n                \\\"strongType\\\": \\\"location\\\"\n            }\n        }\n    }\n`),\n\t\t\tPolicyDefinitionReferences: policy.PolicySetDefinitionPolicyDefinitionReferenceArray{\n\t\t\t\t\u0026policy.PolicySetDefinitionPolicyDefinitionReferenceArgs{\n\t\t\t\t\tVersion:            pulumi.String(\"1.0.*\"),\n\t\t\t\t\tPolicyDefinitionId: pulumi.String(\"/providers/Microsoft.Authorization/policyDefinitions/e765b5de-1225-4ba3-bd56-1ac6695af988\"),\n\t\t\t\t\tParameterValues:    pulumi.String(\"    {\\n      \\\\\\\"listOfAllowedLocations\\\\\\\": {\\\\\\\"value\\\\\\\": \\\\\\\"[parameters('allowedLocations')]\\\\\\\"}\\n    }\\n\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.policy.PolicySetDefinition;\nimport com.pulumi.azure.policy.PolicySetDefinitionArgs;\nimport com.pulumi.azure.policy.inputs.PolicySetDefinitionPolicyDefinitionReferenceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new PolicySetDefinition(\"example\", PolicySetDefinitionArgs.builder()\n            .name(\"example\")\n            .policyType(\"Custom\")\n            .displayName(\"Example\")\n            .parameters(\"\"\"\n    {\n        \\\"allowedLocations\\\": {\n            \\\"type\\\": \\\"Array\\\",\n            \\\"metadata\\\": {\n                \\\"description\\\": \\\"The list of allowed locations for resources.\\\",\n                \\\"displayName\\\": \\\"Allowed locations\\\",\n                \\\"strongType\\\": \\\"location\\\"\n            }\n        }\n    }\n            \"\"\")\n            .policyDefinitionReferences(PolicySetDefinitionPolicyDefinitionReferenceArgs.builder()\n                .version(\"1.0.*\")\n                .policyDefinitionId(\"/providers/Microsoft.Authorization/policyDefinitions/e765b5de-1225-4ba3-bd56-1ac6695af988\")\n                .parameterValues(\"\"\"\n    {\n      \\\"listOfAllowedLocations\\\": {\\\"value\\\": \\\"[parameters('allowedLocations')]\\\"}\n    }\n                \"\"\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:policy:PolicySetDefinition\n    properties:\n      name: example\n      policyType: Custom\n      displayName: Example\n      parameters: |2\n            {\n                \\\"allowedLocations\\\": {\n                    \\\"type\\\": \\\"Array\\\",\n                    \\\"metadata\\\": {\n                        \\\"description\\\": \\\"The list of allowed locations for resources.\\\",\n                        \\\"displayName\\\": \\\"Allowed locations\\\",\n                        \\\"strongType\\\": \\\"location\\\"\n                    }\n                }\n            }\n      policyDefinitionReferences:\n        - version: 1.0.*\n          policyDefinitionId: /providers/Microsoft.Authorization/policyDefinitions/e765b5de-1225-4ba3-bd56-1ac6695af988\n          parameterValues: |2\n                {\n                  \\\"listOfAllowedLocations\\\": {\\\"value\\\": \\\"[parameters('allowedLocations')]\\\"}\n                }\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Authorization` - 2025-01-01\n\n* `Microsoft.Management` - 2025-01-01\n\n## Import\n\nPolicy Set Definitions can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:policy/policySetDefinition:PolicySetDefinition example /subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/policySetDefinitions/policySetDefinitionName\n```\n\n","properties":{"description":{"type":"string","description":"The description of this Policy Set Definition.\n"},"displayName":{"type":"string","description":"The display name of this Policy Set Definition.\n"},"managementGroupId":{"type":"string","deprecationMessage":"\u003cspan pulumi-lang-nodejs=\"`managementGroupId`\" pulumi-lang-dotnet=\"`ManagementGroupId`\" pulumi-lang-go=\"`managementGroupId`\" pulumi-lang-python=\"`management_group_id`\" pulumi-lang-yaml=\"`managementGroupId`\" pulumi-lang-java=\"`managementGroupId`\"\u003e`management_group_id`\u003c/span\u003e has been deprecated in favour of the \u003cspan pulumi-lang-nodejs=\"`azure.management.GroupPolicySetDefinition`\" pulumi-lang-dotnet=\"`azure.management.GroupPolicySetDefinition`\" pulumi-lang-go=\"`management.GroupPolicySetDefinition`\" pulumi-lang-python=\"`management.GroupPolicySetDefinition`\" pulumi-lang-yaml=\"`azure.management.GroupPolicySetDefinition`\" pulumi-lang-java=\"`azure.management.GroupPolicySetDefinition`\"\u003e`azure.management.GroupPolicySetDefinition`\u003c/span\u003e resource and will be removed in v5.0 of the AzureRM Provider."},"metadata":{"type":"string","description":"The metadata for the Policy Set Definition in JSON format.\n"},"name":{"type":"string","description":"The name which should be used for this Policy Set Definition. Changing this forces a new Policy Set Definition to be created.\n"},"parameters":{"type":"string","description":"The parameters for the Policy Set Definition in JSON format. Reducing the number of parameters forces a new resource to be created.\n"},"policyDefinitionGroups":{"type":"array","items":{"$ref":"#/types/azure:policy/PolicySetDefinitionPolicyDefinitionGroup:PolicySetDefinitionPolicyDefinitionGroup"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`policyDefinitionGroup`\" pulumi-lang-dotnet=\"`PolicyDefinitionGroup`\" pulumi-lang-go=\"`policyDefinitionGroup`\" pulumi-lang-python=\"`policy_definition_group`\" pulumi-lang-yaml=\"`policyDefinitionGroup`\" pulumi-lang-java=\"`policyDefinitionGroup`\"\u003e`policy_definition_group`\u003c/span\u003e blocks as defined below.\n"},"policyDefinitionReferences":{"type":"array","items":{"$ref":"#/types/azure:policy/PolicySetDefinitionPolicyDefinitionReference:PolicySetDefinitionPolicyDefinitionReference"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`policyDefinitionReference`\" pulumi-lang-dotnet=\"`PolicyDefinitionReference`\" pulumi-lang-go=\"`policyDefinitionReference`\" pulumi-lang-python=\"`policy_definition_reference`\" pulumi-lang-yaml=\"`policyDefinitionReference`\" pulumi-lang-java=\"`policyDefinitionReference`\"\u003e`policy_definition_reference`\u003c/span\u003e blocks as defined below.\n"},"policyType":{"type":"string","description":"The Policy Set Definition type. Possible values are `BuiltIn`, `Custom`, `NotSpecified`, and `Static`. Changing this forces a new Policy Set Definition to be created.\n"}},"required":["displayName","metadata","name","policyDefinitionReferences","policyType"],"inputProperties":{"description":{"type":"string","description":"The description of this Policy Set Definition.\n"},"displayName":{"type":"string","description":"The display name of this Policy Set Definition.\n"},"managementGroupId":{"type":"string","deprecationMessage":"\u003cspan pulumi-lang-nodejs=\"`managementGroupId`\" pulumi-lang-dotnet=\"`ManagementGroupId`\" pulumi-lang-go=\"`managementGroupId`\" pulumi-lang-python=\"`management_group_id`\" pulumi-lang-yaml=\"`managementGroupId`\" pulumi-lang-java=\"`managementGroupId`\"\u003e`management_group_id`\u003c/span\u003e has been deprecated in favour of the \u003cspan pulumi-lang-nodejs=\"`azure.management.GroupPolicySetDefinition`\" pulumi-lang-dotnet=\"`azure.management.GroupPolicySetDefinition`\" pulumi-lang-go=\"`management.GroupPolicySetDefinition`\" pulumi-lang-python=\"`management.GroupPolicySetDefinition`\" pulumi-lang-yaml=\"`azure.management.GroupPolicySetDefinition`\" pulumi-lang-java=\"`azure.management.GroupPolicySetDefinition`\"\u003e`azure.management.GroupPolicySetDefinition`\u003c/span\u003e resource and will be removed in v5.0 of the AzureRM Provider.","willReplaceOnChanges":true},"metadata":{"type":"string","description":"The metadata for the Policy Set Definition in JSON format.\n"},"name":{"type":"string","description":"The name which should be used for this Policy Set Definition. Changing this forces a new Policy Set Definition to be created.\n","willReplaceOnChanges":true},"parameters":{"type":"string","description":"The parameters for the Policy Set Definition in JSON format. Reducing the number of parameters forces a new resource to be created.\n"},"policyDefinitionGroups":{"type":"array","items":{"$ref":"#/types/azure:policy/PolicySetDefinitionPolicyDefinitionGroup:PolicySetDefinitionPolicyDefinitionGroup"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`policyDefinitionGroup`\" pulumi-lang-dotnet=\"`PolicyDefinitionGroup`\" pulumi-lang-go=\"`policyDefinitionGroup`\" pulumi-lang-python=\"`policy_definition_group`\" pulumi-lang-yaml=\"`policyDefinitionGroup`\" pulumi-lang-java=\"`policyDefinitionGroup`\"\u003e`policy_definition_group`\u003c/span\u003e blocks as defined below.\n"},"policyDefinitionReferences":{"type":"array","items":{"$ref":"#/types/azure:policy/PolicySetDefinitionPolicyDefinitionReference:PolicySetDefinitionPolicyDefinitionReference"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`policyDefinitionReference`\" pulumi-lang-dotnet=\"`PolicyDefinitionReference`\" pulumi-lang-go=\"`policyDefinitionReference`\" pulumi-lang-python=\"`policy_definition_reference`\" pulumi-lang-yaml=\"`policyDefinitionReference`\" pulumi-lang-java=\"`policyDefinitionReference`\"\u003e`policy_definition_reference`\u003c/span\u003e blocks as defined below.\n"},"policyType":{"type":"string","description":"The Policy Set Definition type. Possible values are `BuiltIn`, `Custom`, `NotSpecified`, and `Static`. Changing this forces a new Policy Set Definition to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["displayName","policyDefinitionReferences","policyType"],"stateInputs":{"description":"Input properties used for looking up and filtering PolicySetDefinition resources.\n","properties":{"description":{"type":"string","description":"The description of this Policy Set Definition.\n"},"displayName":{"type":"string","description":"The display name of this Policy Set Definition.\n"},"managementGroupId":{"type":"string","deprecationMessage":"\u003cspan pulumi-lang-nodejs=\"`managementGroupId`\" pulumi-lang-dotnet=\"`ManagementGroupId`\" pulumi-lang-go=\"`managementGroupId`\" pulumi-lang-python=\"`management_group_id`\" pulumi-lang-yaml=\"`managementGroupId`\" pulumi-lang-java=\"`managementGroupId`\"\u003e`management_group_id`\u003c/span\u003e has been deprecated in favour of the \u003cspan pulumi-lang-nodejs=\"`azure.management.GroupPolicySetDefinition`\" pulumi-lang-dotnet=\"`azure.management.GroupPolicySetDefinition`\" pulumi-lang-go=\"`management.GroupPolicySetDefinition`\" pulumi-lang-python=\"`management.GroupPolicySetDefinition`\" pulumi-lang-yaml=\"`azure.management.GroupPolicySetDefinition`\" pulumi-lang-java=\"`azure.management.GroupPolicySetDefinition`\"\u003e`azure.management.GroupPolicySetDefinition`\u003c/span\u003e resource and will be removed in v5.0 of the AzureRM Provider.","willReplaceOnChanges":true},"metadata":{"type":"string","description":"The metadata for the Policy Set Definition in JSON format.\n"},"name":{"type":"string","description":"The name which should be used for this Policy Set Definition. Changing this forces a new Policy Set Definition to be created.\n","willReplaceOnChanges":true},"parameters":{"type":"string","description":"The parameters for the Policy Set Definition in JSON format. Reducing the number of parameters forces a new resource to be created.\n"},"policyDefinitionGroups":{"type":"array","items":{"$ref":"#/types/azure:policy/PolicySetDefinitionPolicyDefinitionGroup:PolicySetDefinitionPolicyDefinitionGroup"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`policyDefinitionGroup`\" pulumi-lang-dotnet=\"`PolicyDefinitionGroup`\" pulumi-lang-go=\"`policyDefinitionGroup`\" pulumi-lang-python=\"`policy_definition_group`\" pulumi-lang-yaml=\"`policyDefinitionGroup`\" pulumi-lang-java=\"`policyDefinitionGroup`\"\u003e`policy_definition_group`\u003c/span\u003e blocks as defined below.\n"},"policyDefinitionReferences":{"type":"array","items":{"$ref":"#/types/azure:policy/PolicySetDefinitionPolicyDefinitionReference:PolicySetDefinitionPolicyDefinitionReference"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`policyDefinitionReference`\" pulumi-lang-dotnet=\"`PolicyDefinitionReference`\" pulumi-lang-go=\"`policyDefinitionReference`\" pulumi-lang-python=\"`policy_definition_reference`\" pulumi-lang-yaml=\"`policyDefinitionReference`\" pulumi-lang-java=\"`policyDefinitionReference`\"\u003e`policy_definition_reference`\u003c/span\u003e blocks as defined below.\n"},"policyType":{"type":"string","description":"The Policy Set Definition type. Possible values are `BuiltIn`, `Custom`, `NotSpecified`, and `Static`. Changing this forces a new Policy Set Definition to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:policy/virtualMachineConfigurationAssignment:VirtualMachineConfigurationAssignment":{"description":"Applies a Guest Configuration Policy to a Virtual Machine.\n\n\u003e **Note:** You can create Guest Configuration Policies without defining a \u003cspan pulumi-lang-nodejs=\"`azure.compute.Extension`\" pulumi-lang-dotnet=\"`azure.compute.Extension`\" pulumi-lang-go=\"`compute.Extension`\" pulumi-lang-python=\"`compute.Extension`\" pulumi-lang-yaml=\"`azure.compute.Extension`\" pulumi-lang-java=\"`azure.compute.Extension`\"\u003e`azure.compute.Extension`\u003c/span\u003e resource, however the policies will not be executed until a \u003cspan pulumi-lang-nodejs=\"`azure.compute.Extension`\" pulumi-lang-dotnet=\"`azure.compute.Extension`\" pulumi-lang-go=\"`compute.Extension`\" pulumi-lang-python=\"`compute.Extension`\" pulumi-lang-yaml=\"`azure.compute.Extension`\" pulumi-lang-java=\"`azure.compute.Extension`\"\u003e`azure.compute.Extension`\u003c/span\u003e has been provisioned to the virtual machine.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-gca\",\n    location: \"West Europe\",\n});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"example\", {\n    name: \"example-vnet\",\n    location: example.location,\n    resourceGroupName: example.name,\n    addressSpaces: [\"10.0.0.0/16\"],\n});\nconst exampleSubnet = new azure.network.Subnet(\"example\", {\n    name: \"internal\",\n    resourceGroupName: example.name,\n    virtualNetworkName: exampleVirtualNetwork.name,\n    addressPrefixes: [\"10.0.2.0/24\"],\n});\nconst exampleNetworkInterface = new azure.network.NetworkInterface(\"example\", {\n    name: \"example-nic\",\n    resourceGroupName: example.name,\n    location: example.location,\n    ipConfigurations: [{\n        name: \"internal\",\n        subnetId: exampleSubnet.id,\n        privateIpAddressAllocation: \"Dynamic\",\n    }],\n});\nconst exampleWindowsVirtualMachine = new azure.compute.WindowsVirtualMachine(\"example\", {\n    name: \"examplevm\",\n    resourceGroupName: example.name,\n    location: example.location,\n    size: \"Standard_F2\",\n    adminUsername: \"adminuser\",\n    adminPassword: \"P@$$w0rd1234!\",\n    networkInterfaceIds: [exampleNetworkInterface.id],\n    identity: {\n        type: \"SystemAssigned\",\n    },\n    osDisk: {\n        caching: \"ReadWrite\",\n        storageAccountType: \"Standard_LRS\",\n    },\n    sourceImageReference: {\n        publisher: \"MicrosoftWindowsServer\",\n        offer: \"WindowsServer\",\n        sku: \"2019-Datacenter\",\n        version: \"latest\",\n    },\n});\nconst exampleExtension = new azure.compute.Extension(\"example\", {\n    name: \"AzurePolicyforWindows\",\n    virtualMachineId: exampleWindowsVirtualMachine.id,\n    publisher: \"Microsoft.GuestConfiguration\",\n    type: \"ConfigurationforWindows\",\n    typeHandlerVersion: \"1.29\",\n    autoUpgradeMinorVersion: true,\n});\nconst exampleVirtualMachineConfigurationAssignment = new azure.policy.VirtualMachineConfigurationAssignment(\"example\", {\n    name: \"AzureWindowsBaseline\",\n    location: exampleWindowsVirtualMachine.location,\n    virtualMachineId: exampleWindowsVirtualMachine.id,\n    configuration: {\n        assignmentType: \"ApplyAndMonitor\",\n        version: \"1.*\",\n        parameters: [\n            {\n                name: \"Minimum Password Length;ExpectedValue\",\n                value: \"16\",\n            },\n            {\n                name: \"Minimum Password Age;ExpectedValue\",\n                value: \"0\",\n            },\n            {\n                name: \"Maximum Password Age;ExpectedValue\",\n                value: \"30,45\",\n            },\n            {\n                name: \"Enforce Password History;ExpectedValue\",\n                value: \"10\",\n            },\n            {\n                name: \"Password Must Meet Complexity Requirements;ExpectedValue\",\n                value: \"1\",\n            },\n        ],\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-gca\",\n    location=\"West Europe\")\nexample_virtual_network = azure.network.VirtualNetwork(\"example\",\n    name=\"example-vnet\",\n    location=example.location,\n    resource_group_name=example.name,\n    address_spaces=[\"10.0.0.0/16\"])\nexample_subnet = azure.network.Subnet(\"example\",\n    name=\"internal\",\n    resource_group_name=example.name,\n    virtual_network_name=example_virtual_network.name,\n    address_prefixes=[\"10.0.2.0/24\"])\nexample_network_interface = azure.network.NetworkInterface(\"example\",\n    name=\"example-nic\",\n    resource_group_name=example.name,\n    location=example.location,\n    ip_configurations=[{\n        \"name\": \"internal\",\n        \"subnet_id\": example_subnet.id,\n        \"private_ip_address_allocation\": \"Dynamic\",\n    }])\nexample_windows_virtual_machine = azure.compute.WindowsVirtualMachine(\"example\",\n    name=\"examplevm\",\n    resource_group_name=example.name,\n    location=example.location,\n    size=\"Standard_F2\",\n    admin_username=\"adminuser\",\n    admin_password=\"P@$$w0rd1234!\",\n    network_interface_ids=[example_network_interface.id],\n    identity={\n        \"type\": \"SystemAssigned\",\n    },\n    os_disk={\n        \"caching\": \"ReadWrite\",\n        \"storage_account_type\": \"Standard_LRS\",\n    },\n    source_image_reference={\n        \"publisher\": \"MicrosoftWindowsServer\",\n        \"offer\": \"WindowsServer\",\n        \"sku\": \"2019-Datacenter\",\n        \"version\": \"latest\",\n    })\nexample_extension = azure.compute.Extension(\"example\",\n    name=\"AzurePolicyforWindows\",\n    virtual_machine_id=example_windows_virtual_machine.id,\n    publisher=\"Microsoft.GuestConfiguration\",\n    type=\"ConfigurationforWindows\",\n    type_handler_version=\"1.29\",\n    auto_upgrade_minor_version=True)\nexample_virtual_machine_configuration_assignment = azure.policy.VirtualMachineConfigurationAssignment(\"example\",\n    name=\"AzureWindowsBaseline\",\n    location=example_windows_virtual_machine.location,\n    virtual_machine_id=example_windows_virtual_machine.id,\n    configuration={\n        \"assignment_type\": \"ApplyAndMonitor\",\n        \"version\": \"1.*\",\n        \"parameters\": [\n            {\n                \"name\": \"Minimum Password Length;ExpectedValue\",\n                \"value\": \"16\",\n            },\n            {\n                \"name\": \"Minimum Password Age;ExpectedValue\",\n                \"value\": \"0\",\n            },\n            {\n                \"name\": \"Maximum Password Age;ExpectedValue\",\n                \"value\": \"30,45\",\n            },\n            {\n                \"name\": \"Enforce Password History;ExpectedValue\",\n                \"value\": \"10\",\n            },\n            {\n                \"name\": \"Password Must Meet Complexity Requirements;ExpectedValue\",\n                \"value\": \"1\",\n            },\n        ],\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-gca\",\n        Location = \"West Europe\",\n    });\n\n    var exampleVirtualNetwork = new Azure.Network.VirtualNetwork(\"example\", new()\n    {\n        Name = \"example-vnet\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        AddressSpaces = new[]\n        {\n            \"10.0.0.0/16\",\n        },\n    });\n\n    var exampleSubnet = new Azure.Network.Subnet(\"example\", new()\n    {\n        Name = \"internal\",\n        ResourceGroupName = example.Name,\n        VirtualNetworkName = exampleVirtualNetwork.Name,\n        AddressPrefixes = new[]\n        {\n            \"10.0.2.0/24\",\n        },\n    });\n\n    var exampleNetworkInterface = new Azure.Network.NetworkInterface(\"example\", new()\n    {\n        Name = \"example-nic\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        IpConfigurations = new[]\n        {\n            new Azure.Network.Inputs.NetworkInterfaceIpConfigurationArgs\n            {\n                Name = \"internal\",\n                SubnetId = exampleSubnet.Id,\n                PrivateIpAddressAllocation = \"Dynamic\",\n            },\n        },\n    });\n\n    var exampleWindowsVirtualMachine = new Azure.Compute.WindowsVirtualMachine(\"example\", new()\n    {\n        Name = \"examplevm\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        Size = \"Standard_F2\",\n        AdminUsername = \"adminuser\",\n        AdminPassword = \"P@$$w0rd1234!\",\n        NetworkInterfaceIds = new[]\n        {\n            exampleNetworkInterface.Id,\n        },\n        Identity = new Azure.Compute.Inputs.WindowsVirtualMachineIdentityArgs\n        {\n            Type = \"SystemAssigned\",\n        },\n        OsDisk = new Azure.Compute.Inputs.WindowsVirtualMachineOsDiskArgs\n        {\n            Caching = \"ReadWrite\",\n            StorageAccountType = \"Standard_LRS\",\n        },\n        SourceImageReference = new Azure.Compute.Inputs.WindowsVirtualMachineSourceImageReferenceArgs\n        {\n            Publisher = \"MicrosoftWindowsServer\",\n            Offer = \"WindowsServer\",\n            Sku = \"2019-Datacenter\",\n            Version = \"latest\",\n        },\n    });\n\n    var exampleExtension = new Azure.Compute.Extension(\"example\", new()\n    {\n        Name = \"AzurePolicyforWindows\",\n        VirtualMachineId = exampleWindowsVirtualMachine.Id,\n        Publisher = \"Microsoft.GuestConfiguration\",\n        Type = \"ConfigurationforWindows\",\n        TypeHandlerVersion = \"1.29\",\n        AutoUpgradeMinorVersion = true,\n    });\n\n    var exampleVirtualMachineConfigurationAssignment = new Azure.Policy.VirtualMachineConfigurationAssignment(\"example\", new()\n    {\n        Name = \"AzureWindowsBaseline\",\n        Location = exampleWindowsVirtualMachine.Location,\n        VirtualMachineId = exampleWindowsVirtualMachine.Id,\n        Configuration = new Azure.Policy.Inputs.VirtualMachineConfigurationAssignmentConfigurationArgs\n        {\n            AssignmentType = \"ApplyAndMonitor\",\n            Version = \"1.*\",\n            Parameters = new[]\n            {\n                new Azure.Policy.Inputs.VirtualMachineConfigurationAssignmentConfigurationParameterArgs\n                {\n                    Name = \"Minimum Password Length;ExpectedValue\",\n                    Value = \"16\",\n                },\n                new Azure.Policy.Inputs.VirtualMachineConfigurationAssignmentConfigurationParameterArgs\n                {\n                    Name = \"Minimum Password Age;ExpectedValue\",\n                    Value = \"0\",\n                },\n                new Azure.Policy.Inputs.VirtualMachineConfigurationAssignmentConfigurationParameterArgs\n                {\n                    Name = \"Maximum Password Age;ExpectedValue\",\n                    Value = \"30,45\",\n                },\n                new Azure.Policy.Inputs.VirtualMachineConfigurationAssignmentConfigurationParameterArgs\n                {\n                    Name = \"Enforce Password History;ExpectedValue\",\n                    Value = \"10\",\n                },\n                new Azure.Policy.Inputs.VirtualMachineConfigurationAssignmentConfigurationParameterArgs\n                {\n                    Name = \"Password Must Meet Complexity Requirements;ExpectedValue\",\n                    Value = \"1\",\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/compute\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/policy\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-gca\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, \"example\", \u0026network.VirtualNetworkArgs{\n\t\t\tName:              pulumi.String(\"example-vnet\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tAddressSpaces: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.0.0/16\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSubnet, err := network.NewSubnet(ctx, \"example\", \u0026network.SubnetArgs{\n\t\t\tName:               pulumi.String(\"internal\"),\n\t\t\tResourceGroupName:  example.Name,\n\t\t\tVirtualNetworkName: exampleVirtualNetwork.Name,\n\t\t\tAddressPrefixes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.2.0/24\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNetworkInterface, err := network.NewNetworkInterface(ctx, \"example\", \u0026network.NetworkInterfaceArgs{\n\t\t\tName:              pulumi.String(\"example-nic\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tIpConfigurations: network.NetworkInterfaceIpConfigurationArray{\n\t\t\t\t\u0026network.NetworkInterfaceIpConfigurationArgs{\n\t\t\t\t\tName:                       pulumi.String(\"internal\"),\n\t\t\t\t\tSubnetId:                   exampleSubnet.ID(),\n\t\t\t\t\tPrivateIpAddressAllocation: pulumi.String(\"Dynamic\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleWindowsVirtualMachine, err := compute.NewWindowsVirtualMachine(ctx, \"example\", \u0026compute.WindowsVirtualMachineArgs{\n\t\t\tName:              pulumi.String(\"examplevm\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tSize:              pulumi.String(\"Standard_F2\"),\n\t\t\tAdminUsername:     pulumi.String(\"adminuser\"),\n\t\t\tAdminPassword:     pulumi.String(\"P@$$w0rd1234!\"),\n\t\t\tNetworkInterfaceIds: pulumi.StringArray{\n\t\t\t\texampleNetworkInterface.ID(),\n\t\t\t},\n\t\t\tIdentity: \u0026compute.WindowsVirtualMachineIdentityArgs{\n\t\t\t\tType: pulumi.String(\"SystemAssigned\"),\n\t\t\t},\n\t\t\tOsDisk: \u0026compute.WindowsVirtualMachineOsDiskArgs{\n\t\t\t\tCaching:            pulumi.String(\"ReadWrite\"),\n\t\t\t\tStorageAccountType: pulumi.String(\"Standard_LRS\"),\n\t\t\t},\n\t\t\tSourceImageReference: \u0026compute.WindowsVirtualMachineSourceImageReferenceArgs{\n\t\t\t\tPublisher: pulumi.String(\"MicrosoftWindowsServer\"),\n\t\t\t\tOffer:     pulumi.String(\"WindowsServer\"),\n\t\t\t\tSku:       pulumi.String(\"2019-Datacenter\"),\n\t\t\t\tVersion:   pulumi.String(\"latest\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = compute.NewExtension(ctx, \"example\", \u0026compute.ExtensionArgs{\n\t\t\tName:                    pulumi.String(\"AzurePolicyforWindows\"),\n\t\t\tVirtualMachineId:        exampleWindowsVirtualMachine.ID(),\n\t\t\tPublisher:               pulumi.String(\"Microsoft.GuestConfiguration\"),\n\t\t\tType:                    pulumi.String(\"ConfigurationforWindows\"),\n\t\t\tTypeHandlerVersion:      pulumi.String(\"1.29\"),\n\t\t\tAutoUpgradeMinorVersion: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = policy.NewVirtualMachineConfigurationAssignment(ctx, \"example\", \u0026policy.VirtualMachineConfigurationAssignmentArgs{\n\t\t\tName:             pulumi.String(\"AzureWindowsBaseline\"),\n\t\t\tLocation:         exampleWindowsVirtualMachine.Location,\n\t\t\tVirtualMachineId: exampleWindowsVirtualMachine.ID(),\n\t\t\tConfiguration: \u0026policy.VirtualMachineConfigurationAssignmentConfigurationArgs{\n\t\t\t\tAssignmentType: pulumi.String(\"ApplyAndMonitor\"),\n\t\t\t\tVersion:        pulumi.String(\"1.*\"),\n\t\t\t\tParameters: policy.VirtualMachineConfigurationAssignmentConfigurationParameterArray{\n\t\t\t\t\t\u0026policy.VirtualMachineConfigurationAssignmentConfigurationParameterArgs{\n\t\t\t\t\t\tName:  pulumi.String(\"Minimum Password Length;ExpectedValue\"),\n\t\t\t\t\t\tValue: pulumi.String(\"16\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026policy.VirtualMachineConfigurationAssignmentConfigurationParameterArgs{\n\t\t\t\t\t\tName:  pulumi.String(\"Minimum Password Age;ExpectedValue\"),\n\t\t\t\t\t\tValue: pulumi.String(\"0\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026policy.VirtualMachineConfigurationAssignmentConfigurationParameterArgs{\n\t\t\t\t\t\tName:  pulumi.String(\"Maximum Password Age;ExpectedValue\"),\n\t\t\t\t\t\tValue: pulumi.String(\"30,45\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026policy.VirtualMachineConfigurationAssignmentConfigurationParameterArgs{\n\t\t\t\t\t\tName:  pulumi.String(\"Enforce Password History;ExpectedValue\"),\n\t\t\t\t\t\tValue: pulumi.String(\"10\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026policy.VirtualMachineConfigurationAssignmentConfigurationParameterArgs{\n\t\t\t\t\t\tName:  pulumi.String(\"Password Must Meet Complexity Requirements;ExpectedValue\"),\n\t\t\t\t\t\tValue: pulumi.String(\"1\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.VirtualNetwork;\nimport com.pulumi.azure.network.VirtualNetworkArgs;\nimport com.pulumi.azure.network.Subnet;\nimport com.pulumi.azure.network.SubnetArgs;\nimport com.pulumi.azure.network.NetworkInterface;\nimport com.pulumi.azure.network.NetworkInterfaceArgs;\nimport com.pulumi.azure.network.inputs.NetworkInterfaceIpConfigurationArgs;\nimport com.pulumi.azure.compute.WindowsVirtualMachine;\nimport com.pulumi.azure.compute.WindowsVirtualMachineArgs;\nimport com.pulumi.azure.compute.inputs.WindowsVirtualMachineIdentityArgs;\nimport com.pulumi.azure.compute.inputs.WindowsVirtualMachineOsDiskArgs;\nimport com.pulumi.azure.compute.inputs.WindowsVirtualMachineSourceImageReferenceArgs;\nimport com.pulumi.azure.compute.Extension;\nimport com.pulumi.azure.compute.ExtensionArgs;\nimport com.pulumi.azure.policy.VirtualMachineConfigurationAssignment;\nimport com.pulumi.azure.policy.VirtualMachineConfigurationAssignmentArgs;\nimport com.pulumi.azure.policy.inputs.VirtualMachineConfigurationAssignmentConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-gca\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleVirtualNetwork = new VirtualNetwork(\"exampleVirtualNetwork\", VirtualNetworkArgs.builder()\n            .name(\"example-vnet\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .addressSpaces(\"10.0.0.0/16\")\n            .build());\n\n        var exampleSubnet = new Subnet(\"exampleSubnet\", SubnetArgs.builder()\n            .name(\"internal\")\n            .resourceGroupName(example.name())\n            .virtualNetworkName(exampleVirtualNetwork.name())\n            .addressPrefixes(\"10.0.2.0/24\")\n            .build());\n\n        var exampleNetworkInterface = new NetworkInterface(\"exampleNetworkInterface\", NetworkInterfaceArgs.builder()\n            .name(\"example-nic\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .ipConfigurations(NetworkInterfaceIpConfigurationArgs.builder()\n                .name(\"internal\")\n                .subnetId(exampleSubnet.id())\n                .privateIpAddressAllocation(\"Dynamic\")\n                .build())\n            .build());\n\n        var exampleWindowsVirtualMachine = new WindowsVirtualMachine(\"exampleWindowsVirtualMachine\", WindowsVirtualMachineArgs.builder()\n            .name(\"examplevm\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .size(\"Standard_F2\")\n            .adminUsername(\"adminuser\")\n            .adminPassword(\"P@$$w0rd1234!\")\n            .networkInterfaceIds(exampleNetworkInterface.id())\n            .identity(WindowsVirtualMachineIdentityArgs.builder()\n                .type(\"SystemAssigned\")\n                .build())\n            .osDisk(WindowsVirtualMachineOsDiskArgs.builder()\n                .caching(\"ReadWrite\")\n                .storageAccountType(\"Standard_LRS\")\n                .build())\n            .sourceImageReference(WindowsVirtualMachineSourceImageReferenceArgs.builder()\n                .publisher(\"MicrosoftWindowsServer\")\n                .offer(\"WindowsServer\")\n                .sku(\"2019-Datacenter\")\n                .version(\"latest\")\n                .build())\n            .build());\n\n        var exampleExtension = new Extension(\"exampleExtension\", ExtensionArgs.builder()\n            .name(\"AzurePolicyforWindows\")\n            .virtualMachineId(exampleWindowsVirtualMachine.id())\n            .publisher(\"Microsoft.GuestConfiguration\")\n            .type(\"ConfigurationforWindows\")\n            .typeHandlerVersion(\"1.29\")\n            .autoUpgradeMinorVersion(true)\n            .build());\n\n        var exampleVirtualMachineConfigurationAssignment = new VirtualMachineConfigurationAssignment(\"exampleVirtualMachineConfigurationAssignment\", VirtualMachineConfigurationAssignmentArgs.builder()\n            .name(\"AzureWindowsBaseline\")\n            .location(exampleWindowsVirtualMachine.location())\n            .virtualMachineId(exampleWindowsVirtualMachine.id())\n            .configuration(VirtualMachineConfigurationAssignmentConfigurationArgs.builder()\n                .assignmentType(\"ApplyAndMonitor\")\n                .version(\"1.*\")\n                .parameters(                \n                    VirtualMachineConfigurationAssignmentConfigurationParameterArgs.builder()\n                        .name(\"Minimum Password Length;ExpectedValue\")\n                        .value(\"16\")\n                        .build(),\n                    VirtualMachineConfigurationAssignmentConfigurationParameterArgs.builder()\n                        .name(\"Minimum Password Age;ExpectedValue\")\n                        .value(\"0\")\n                        .build(),\n                    VirtualMachineConfigurationAssignmentConfigurationParameterArgs.builder()\n                        .name(\"Maximum Password Age;ExpectedValue\")\n                        .value(\"30,45\")\n                        .build(),\n                    VirtualMachineConfigurationAssignmentConfigurationParameterArgs.builder()\n                        .name(\"Enforce Password History;ExpectedValue\")\n                        .value(\"10\")\n                        .build(),\n                    VirtualMachineConfigurationAssignmentConfigurationParameterArgs.builder()\n                        .name(\"Password Must Meet Complexity Requirements;ExpectedValue\")\n                        .value(\"1\")\n                        .build())\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-gca\n      location: West Europe\n  exampleVirtualNetwork:\n    type: azure:network:VirtualNetwork\n    name: example\n    properties:\n      name: example-vnet\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      addressSpaces:\n        - 10.0.0.0/16\n  exampleSubnet:\n    type: azure:network:Subnet\n    name: example\n    properties:\n      name: internal\n      resourceGroupName: ${example.name}\n      virtualNetworkName: ${exampleVirtualNetwork.name}\n      addressPrefixes:\n        - 10.0.2.0/24\n  exampleNetworkInterface:\n    type: azure:network:NetworkInterface\n    name: example\n    properties:\n      name: example-nic\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      ipConfigurations:\n        - name: internal\n          subnetId: ${exampleSubnet.id}\n          privateIpAddressAllocation: Dynamic\n  exampleWindowsVirtualMachine:\n    type: azure:compute:WindowsVirtualMachine\n    name: example\n    properties:\n      name: examplevm\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      size: Standard_F2\n      adminUsername: adminuser\n      adminPassword: P@$$w0rd1234!\n      networkInterfaceIds:\n        - ${exampleNetworkInterface.id}\n      identity:\n        type: SystemAssigned\n      osDisk:\n        caching: ReadWrite\n        storageAccountType: Standard_LRS\n      sourceImageReference:\n        publisher: MicrosoftWindowsServer\n        offer: WindowsServer\n        sku: 2019-Datacenter\n        version: latest\n  exampleExtension:\n    type: azure:compute:Extension\n    name: example\n    properties:\n      name: AzurePolicyforWindows\n      virtualMachineId: ${exampleWindowsVirtualMachine.id}\n      publisher: Microsoft.GuestConfiguration\n      type: ConfigurationforWindows\n      typeHandlerVersion: '1.29'\n      autoUpgradeMinorVersion: 'true'\n  exampleVirtualMachineConfigurationAssignment:\n    type: azure:policy:VirtualMachineConfigurationAssignment\n    name: example\n    properties:\n      name: AzureWindowsBaseline\n      location: ${exampleWindowsVirtualMachine.location}\n      virtualMachineId: ${exampleWindowsVirtualMachine.id}\n      configuration:\n        assignmentType: ApplyAndMonitor\n        version: 1.*\n        parameters:\n          - name: Minimum Password Length;ExpectedValue\n            value: '16'\n          - name: Minimum Password Age;ExpectedValue\n            value: '0'\n          - name: Maximum Password Age;ExpectedValue\n            value: 30,45\n          - name: Enforce Password History;ExpectedValue\n            value: '10'\n          - name: Password Must Meet Complexity Requirements;ExpectedValue\n            value: '1'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Compute` - 2024-04-05\n\n## Import\n\nPolicy Virtual Machine Configuration Assignments can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:policy/virtualMachineConfigurationAssignment:VirtualMachineConfigurationAssignment example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Compute/virtualMachines/vm1/providers/Microsoft.GuestConfiguration/guestConfigurationAssignments/assignment1\n```\n\n","properties":{"configuration":{"$ref":"#/types/azure:policy/VirtualMachineConfigurationAssignmentConfiguration:VirtualMachineConfigurationAssignmentConfiguration","description":"A \u003cspan pulumi-lang-nodejs=\"`configuration`\" pulumi-lang-dotnet=\"`Configuration`\" pulumi-lang-go=\"`configuration`\" pulumi-lang-python=\"`configuration`\" pulumi-lang-yaml=\"`configuration`\" pulumi-lang-java=\"`configuration`\"\u003e`configuration`\u003c/span\u003e block as defined below.\n"},"location":{"type":"string","description":"The Azure location where the Policy Virtual Machine Configuration Assignment should exist. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"The name of the Guest Configuration that will be assigned in this Guest Configuration Assignment. Changing this forces a new resource to be created.\n"},"virtualMachineId":{"type":"string","description":"The resource ID of the Policy Virtual Machine which this Guest Configuration Assignment should apply to. Changing this forces a new resource to be created.\n"}},"required":["configuration","location","name","virtualMachineId"],"inputProperties":{"configuration":{"$ref":"#/types/azure:policy/VirtualMachineConfigurationAssignmentConfiguration:VirtualMachineConfigurationAssignmentConfiguration","description":"A \u003cspan pulumi-lang-nodejs=\"`configuration`\" pulumi-lang-dotnet=\"`Configuration`\" pulumi-lang-go=\"`configuration`\" pulumi-lang-python=\"`configuration`\" pulumi-lang-yaml=\"`configuration`\" pulumi-lang-java=\"`configuration`\"\u003e`configuration`\u003c/span\u003e block as defined below.\n"},"location":{"type":"string","description":"The Azure location where the Policy Virtual Machine Configuration Assignment should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the Guest Configuration that will be assigned in this Guest Configuration Assignment. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"virtualMachineId":{"type":"string","description":"The resource ID of the Policy Virtual Machine which this Guest Configuration Assignment should apply to. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["configuration","virtualMachineId"],"stateInputs":{"description":"Input properties used for looking up and filtering VirtualMachineConfigurationAssignment resources.\n","properties":{"configuration":{"$ref":"#/types/azure:policy/VirtualMachineConfigurationAssignmentConfiguration:VirtualMachineConfigurationAssignmentConfiguration","description":"A \u003cspan pulumi-lang-nodejs=\"`configuration`\" pulumi-lang-dotnet=\"`Configuration`\" pulumi-lang-go=\"`configuration`\" pulumi-lang-python=\"`configuration`\" pulumi-lang-yaml=\"`configuration`\" pulumi-lang-java=\"`configuration`\"\u003e`configuration`\u003c/span\u003e block as defined below.\n"},"location":{"type":"string","description":"The Azure location where the Policy Virtual Machine Configuration Assignment should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the Guest Configuration that will be assigned in this Guest Configuration Assignment. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"virtualMachineId":{"type":"string","description":"The resource ID of the Policy Virtual Machine which this Guest Configuration Assignment should apply to. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:portal/portalDashboard:PortalDashboard":{"description":"Manages a shared dashboard in the Azure Portal.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst config = new pulumi.Config();\n// Content for the MD tile\nconst mdContent = config.get(\"mdContent\") || \"# Hello all :)\";\n// Link to a video\nconst videoLink = config.get(\"videoLink\") || \"https://www.youtube.com/watch?v=......\";\nconst current = azure.core.getSubscription({});\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"mygroup\",\n    location: \"West Europe\",\n});\nconst my_board = new azure.portal.PortalDashboard(\"my-board\", {\n    name: \"my-cool-dashboard\",\n    resourceGroupName: example.name,\n    location: example.location,\n    tags: {\n        source: \"terraform\",\n    },\n    dashboardProperties: current.then(current =\u003e `{\n   \\\"lenses\\\": {\n        \\\"0\\\": {\n            \\\"order\\\": 0,\n            \\\"parts\\\": {\n                \\\"0\\\": {\n                    \\\"position\\\": {\n                        \\\"x\\\": 0,\n                        \\\"y\\\": 0,\n                        \\\"rowSpan\\\": 2,\n                        \\\"colSpan\\\": 3\n                    },\n                    \\\"metadata\\\": {\n                        \\\"inputs\\\": [],\n                        \\\"type\\\": \\\"Extension/HubsExtension/PartType/MarkdownPart\\\",\n                        \\\"settings\\\": {\n                            \\\"content\\\": {\n                                \\\"settings\\\": {\n                                    \\\"content\\\": \\\"${mdContent}\\\",\n                                    \\\"subtitle\\\": \\\"\\\",\n                                    \\\"title\\\": \\\"\\\"\n                                }\n                            }\n                        }\n                    }\n                },               \n                \\\"1\\\": {\n                    \\\"position\\\": {\n                        \\\"x\\\": 5,\n                        \\\"y\\\": 0,\n                        \\\"rowSpan\\\": 4,\n                        \\\"colSpan\\\": 6\n                    },\n                    \\\"metadata\\\": {\n                        \\\"inputs\\\": [],\n                        \\\"type\\\": \\\"Extension/HubsExtension/PartType/VideoPart\\\",\n                        \\\"settings\\\": {\n                            \\\"content\\\": {\n                                \\\"settings\\\": {\n                                    \\\"title\\\": \\\"Important Information\\\",\n                                    \\\"subtitle\\\": \\\"\\\",\n                                    \\\"src\\\": \\\"${videoLink}\\\",\n                                    \\\"autoplay\\\": true\n                                }\n                            }\n                        }\n                    }\n                },\n                \\\"2\\\": {\n                    \\\"position\\\": {\n                        \\\"x\\\": 0,\n                        \\\"y\\\": 4,\n                        \\\"rowSpan\\\": 4,\n                        \\\"colSpan\\\": 6\n                    },\n                    \\\"metadata\\\": {\n                        \\\"inputs\\\": [\n                            {\n                                \\\"name\\\": \\\"ComponentId\\\",\n                                \\\"value\\\": \\\"/subscriptions/${current.subscriptionId}/resourceGroups/myRG/providers/microsoft.insights/components/myWebApp\\\"\n                            }\n                        ],\n                        \\\"type\\\": \\\"Extension/AppInsightsExtension/PartType/AppMapGalPt\\\",\n                        \\\"settings\\\": {},\n                        \\\"asset\\\": {\n                            \\\"idInputName\\\": \\\"ComponentId\\\",\n                            \\\"type\\\": \\\"ApplicationInsights\\\"\n                        }\n                    }\n                }              \n            }\n        }\n    },\n    \\\"metadata\\\": {\n        \\\"model\\\": {\n            \\\"timeRange\\\": {\n                \\\"value\\\": {\n                    \\\"relative\\\": {\n                        \\\"duration\\\": 24,\n                        \\\"timeUnit\\\": 1\n                    }\n                },\n                \\\"type\\\": \\\"MsPortalFx.Composition.Configuration.ValueTypes.TimeRange\\\"\n            },\n            \\\"filterLocale\\\": {\n                \\\"value\\\": \\\"en-us\\\"\n            },\n            \\\"filters\\\": {\n                \\\"value\\\": {\n                    \\\"MsPortalFx_TimeRange\\\": {\n                        \\\"model\\\": {\n                            \\\"format\\\": \\\"utc\\\",\n                            \\\"granularity\\\": \\\"auto\\\",\n                            \\\"relative\\\": \\\"24h\\\"\n                        },\n                        \\\"displayCache\\\": {\n                            \\\"name\\\": \\\"UTC Time\\\",\n                            \\\"value\\\": \\\"Past 24 hours\\\"\n                        },\n                        \\\"filteredPartIds\\\": [\n                            \\\"StartboardPart-UnboundPart-ae44fef5-76b8-46b0-86f0-2b3f47bad1c7\\\"\n                        ]\n                    }\n                }\n            }\n        }\n    }\n}\n`),\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nconfig = pulumi.Config()\n# Content for the MD tile\nmd_content = config.get(\"mdContent\")\nif md_content is None:\n    md_content = \"# Hello all :)\"\n# Link to a video\nvideo_link = config.get(\"videoLink\")\nif video_link is None:\n    video_link = \"https://www.youtube.com/watch?v=......\"\ncurrent = azure.core.get_subscription()\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"mygroup\",\n    location=\"West Europe\")\nmy_board = azure.portal.PortalDashboard(\"my-board\",\n    name=\"my-cool-dashboard\",\n    resource_group_name=example.name,\n    location=example.location,\n    tags={\n        \"source\": \"terraform\",\n    },\n    dashboard_properties=f\"\"\"{{\n   \\\"lenses\\\": {{\n        \\\"0\\\": {{\n            \\\"order\\\": 0,\n            \\\"parts\\\": {{\n                \\\"0\\\": {{\n                    \\\"position\\\": {{\n                        \\\"x\\\": 0,\n                        \\\"y\\\": 0,\n                        \\\"rowSpan\\\": 2,\n                        \\\"colSpan\\\": 3\n                    }},\n                    \\\"metadata\\\": {{\n                        \\\"inputs\\\": [],\n                        \\\"type\\\": \\\"Extension/HubsExtension/PartType/MarkdownPart\\\",\n                        \\\"settings\\\": {{\n                            \\\"content\\\": {{\n                                \\\"settings\\\": {{\n                                    \\\"content\\\": \\\"{md_content}\\\",\n                                    \\\"subtitle\\\": \\\"\\\",\n                                    \\\"title\\\": \\\"\\\"\n                                }}\n                            }}\n                        }}\n                    }}\n                }},               \n                \\\"1\\\": {{\n                    \\\"position\\\": {{\n                        \\\"x\\\": 5,\n                        \\\"y\\\": 0,\n                        \\\"rowSpan\\\": 4,\n                        \\\"colSpan\\\": 6\n                    }},\n                    \\\"metadata\\\": {{\n                        \\\"inputs\\\": [],\n                        \\\"type\\\": \\\"Extension/HubsExtension/PartType/VideoPart\\\",\n                        \\\"settings\\\": {{\n                            \\\"content\\\": {{\n                                \\\"settings\\\": {{\n                                    \\\"title\\\": \\\"Important Information\\\",\n                                    \\\"subtitle\\\": \\\"\\\",\n                                    \\\"src\\\": \\\"{video_link}\\\",\n                                    \\\"autoplay\\\": true\n                                }}\n                            }}\n                        }}\n                    }}\n                }},\n                \\\"2\\\": {{\n                    \\\"position\\\": {{\n                        \\\"x\\\": 0,\n                        \\\"y\\\": 4,\n                        \\\"rowSpan\\\": 4,\n                        \\\"colSpan\\\": 6\n                    }},\n                    \\\"metadata\\\": {{\n                        \\\"inputs\\\": [\n                            {{\n                                \\\"name\\\": \\\"ComponentId\\\",\n                                \\\"value\\\": \\\"/subscriptions/{current.subscription_id}/resourceGroups/myRG/providers/microsoft.insights/components/myWebApp\\\"\n                            }}\n                        ],\n                        \\\"type\\\": \\\"Extension/AppInsightsExtension/PartType/AppMapGalPt\\\",\n                        \\\"settings\\\": {{}},\n                        \\\"asset\\\": {{\n                            \\\"idInputName\\\": \\\"ComponentId\\\",\n                            \\\"type\\\": \\\"ApplicationInsights\\\"\n                        }}\n                    }}\n                }}              \n            }}\n        }}\n    }},\n    \\\"metadata\\\": {{\n        \\\"model\\\": {{\n            \\\"timeRange\\\": {{\n                \\\"value\\\": {{\n                    \\\"relative\\\": {{\n                        \\\"duration\\\": 24,\n                        \\\"timeUnit\\\": 1\n                    }}\n                }},\n                \\\"type\\\": \\\"MsPortalFx.Composition.Configuration.ValueTypes.TimeRange\\\"\n            }},\n            \\\"filterLocale\\\": {{\n                \\\"value\\\": \\\"en-us\\\"\n            }},\n            \\\"filters\\\": {{\n                \\\"value\\\": {{\n                    \\\"MsPortalFx_TimeRange\\\": {{\n                        \\\"model\\\": {{\n                            \\\"format\\\": \\\"utc\\\",\n                            \\\"granularity\\\": \\\"auto\\\",\n                            \\\"relative\\\": \\\"24h\\\"\n                        }},\n                        \\\"displayCache\\\": {{\n                            \\\"name\\\": \\\"UTC Time\\\",\n                            \\\"value\\\": \\\"Past 24 hours\\\"\n                        }},\n                        \\\"filteredPartIds\\\": [\n                            \\\"StartboardPart-UnboundPart-ae44fef5-76b8-46b0-86f0-2b3f47bad1c7\\\"\n                        ]\n                    }}\n                }}\n            }}\n        }}\n    }}\n}}\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    // Content for the MD tile\n    var mdContent = config.Get(\"mdContent\") ?? \"# Hello all :)\";\n    // Link to a video\n    var videoLink = config.Get(\"videoLink\") ?? \"https://www.youtube.com/watch?v=......\";\n    var current = Azure.Core.GetSubscription.Invoke();\n\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"mygroup\",\n        Location = \"West Europe\",\n    });\n\n    var my_board = new Azure.Portal.PortalDashboard(\"my-board\", new()\n    {\n        Name = \"my-cool-dashboard\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        Tags = \n        {\n            { \"source\", \"terraform\" },\n        },\n        DashboardProperties = @$\"{{\n   \\\"\"lenses\\\"\": {{\n        \\\"\"0\\\"\": {{\n            \\\"\"order\\\"\": 0,\n            \\\"\"parts\\\"\": {{\n                \\\"\"0\\\"\": {{\n                    \\\"\"position\\\"\": {{\n                        \\\"\"x\\\"\": 0,\n                        \\\"\"y\\\"\": 0,\n                        \\\"\"rowSpan\\\"\": 2,\n                        \\\"\"colSpan\\\"\": 3\n                    }},\n                    \\\"\"metadata\\\"\": {{\n                        \\\"\"inputs\\\"\": [],\n                        \\\"\"type\\\"\": \\\"\"Extension/HubsExtension/PartType/MarkdownPart\\\"\",\n                        \\\"\"settings\\\"\": {{\n                            \\\"\"content\\\"\": {{\n                                \\\"\"settings\\\"\": {{\n                                    \\\"\"content\\\"\": \\\"\"{mdContent}\\\"\",\n                                    \\\"\"subtitle\\\"\": \\\"\"\\\"\",\n                                    \\\"\"title\\\"\": \\\"\"\\\"\"\n                                }}\n                            }}\n                        }}\n                    }}\n                }},               \n                \\\"\"1\\\"\": {{\n                    \\\"\"position\\\"\": {{\n                        \\\"\"x\\\"\": 5,\n                        \\\"\"y\\\"\": 0,\n                        \\\"\"rowSpan\\\"\": 4,\n                        \\\"\"colSpan\\\"\": 6\n                    }},\n                    \\\"\"metadata\\\"\": {{\n                        \\\"\"inputs\\\"\": [],\n                        \\\"\"type\\\"\": \\\"\"Extension/HubsExtension/PartType/VideoPart\\\"\",\n                        \\\"\"settings\\\"\": {{\n                            \\\"\"content\\\"\": {{\n                                \\\"\"settings\\\"\": {{\n                                    \\\"\"title\\\"\": \\\"\"Important Information\\\"\",\n                                    \\\"\"subtitle\\\"\": \\\"\"\\\"\",\n                                    \\\"\"src\\\"\": \\\"\"{videoLink}\\\"\",\n                                    \\\"\"autoplay\\\"\": true\n                                }}\n                            }}\n                        }}\n                    }}\n                }},\n                \\\"\"2\\\"\": {{\n                    \\\"\"position\\\"\": {{\n                        \\\"\"x\\\"\": 0,\n                        \\\"\"y\\\"\": 4,\n                        \\\"\"rowSpan\\\"\": 4,\n                        \\\"\"colSpan\\\"\": 6\n                    }},\n                    \\\"\"metadata\\\"\": {{\n                        \\\"\"inputs\\\"\": [\n                            {{\n                                \\\"\"name\\\"\": \\\"\"ComponentId\\\"\",\n                                \\\"\"value\\\"\": \\\"\"/subscriptions/{current.Apply(getSubscriptionResult =\u003e getSubscriptionResult.SubscriptionId)}/resourceGroups/myRG/providers/microsoft.insights/components/myWebApp\\\"\"\n                            }}\n                        ],\n                        \\\"\"type\\\"\": \\\"\"Extension/AppInsightsExtension/PartType/AppMapGalPt\\\"\",\n                        \\\"\"settings\\\"\": {{}},\n                        \\\"\"asset\\\"\": {{\n                            \\\"\"idInputName\\\"\": \\\"\"ComponentId\\\"\",\n                            \\\"\"type\\\"\": \\\"\"ApplicationInsights\\\"\"\n                        }}\n                    }}\n                }}              \n            }}\n        }}\n    }},\n    \\\"\"metadata\\\"\": {{\n        \\\"\"model\\\"\": {{\n            \\\"\"timeRange\\\"\": {{\n                \\\"\"value\\\"\": {{\n                    \\\"\"relative\\\"\": {{\n                        \\\"\"duration\\\"\": 24,\n                        \\\"\"timeUnit\\\"\": 1\n                    }}\n                }},\n                \\\"\"type\\\"\": \\\"\"MsPortalFx.Composition.Configuration.ValueTypes.TimeRange\\\"\"\n            }},\n            \\\"\"filterLocale\\\"\": {{\n                \\\"\"value\\\"\": \\\"\"en-us\\\"\"\n            }},\n            \\\"\"filters\\\"\": {{\n                \\\"\"value\\\"\": {{\n                    \\\"\"MsPortalFx_TimeRange\\\"\": {{\n                        \\\"\"model\\\"\": {{\n                            \\\"\"format\\\"\": \\\"\"utc\\\"\",\n                            \\\"\"granularity\\\"\": \\\"\"auto\\\"\",\n                            \\\"\"relative\\\"\": \\\"\"24h\\\"\"\n                        }},\n                        \\\"\"displayCache\\\"\": {{\n                            \\\"\"name\\\"\": \\\"\"UTC Time\\\"\",\n                            \\\"\"value\\\"\": \\\"\"Past 24 hours\\\"\"\n                        }},\n                        \\\"\"filteredPartIds\\\"\": [\n                            \\\"\"StartboardPart-UnboundPart-ae44fef5-76b8-46b0-86f0-2b3f47bad1c7\\\"\"\n                        ]\n                    }}\n                }}\n            }}\n        }}\n    }}\n}}\n\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/portal\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\t// Content for the MD tile\n\t\tmdContent := \"# Hello all :)\"\n\t\tif param := cfg.Get(\"mdContent\"); param != \"\" {\n\t\t\tmdContent = param\n\t\t}\n\t\t// Link to a video\n\t\tvideoLink := \"https://www.youtube.com/watch?v=......\"\n\t\tif param := cfg.Get(\"videoLink\"); param != \"\" {\n\t\t\tvideoLink = param\n\t\t}\n\t\tcurrent, err := core.LookupSubscription(ctx, \u0026core.LookupSubscriptionArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"mygroup\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = portal.NewPortalDashboard(ctx, \"my-board\", \u0026portal.PortalDashboardArgs{\n\t\t\tName:              pulumi.String(\"my-cool-dashboard\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"source\": pulumi.String(\"terraform\"),\n\t\t\t},\n\t\t\tDashboardProperties: pulumi.Sprintf(`{\n   \\\"lenses\\\": {\n        \\\"0\\\": {\n            \\\"order\\\": 0,\n            \\\"parts\\\": {\n                \\\"0\\\": {\n                    \\\"position\\\": {\n                        \\\"x\\\": 0,\n                        \\\"y\\\": 0,\n                        \\\"rowSpan\\\": 2,\n                        \\\"colSpan\\\": 3\n                    },\n                    \\\"metadata\\\": {\n                        \\\"inputs\\\": [],\n                        \\\"type\\\": \\\"Extension/HubsExtension/PartType/MarkdownPart\\\",\n                        \\\"settings\\\": {\n                            \\\"content\\\": {\n                                \\\"settings\\\": {\n                                    \\\"content\\\": \\\"%v\\\",\n                                    \\\"subtitle\\\": \\\"\\\",\n                                    \\\"title\\\": \\\"\\\"\n                                }\n                            }\n                        }\n                    }\n                },               \n                \\\"1\\\": {\n                    \\\"position\\\": {\n                        \\\"x\\\": 5,\n                        \\\"y\\\": 0,\n                        \\\"rowSpan\\\": 4,\n                        \\\"colSpan\\\": 6\n                    },\n                    \\\"metadata\\\": {\n                        \\\"inputs\\\": [],\n                        \\\"type\\\": \\\"Extension/HubsExtension/PartType/VideoPart\\\",\n                        \\\"settings\\\": {\n                            \\\"content\\\": {\n                                \\\"settings\\\": {\n                                    \\\"title\\\": \\\"Important Information\\\",\n                                    \\\"subtitle\\\": \\\"\\\",\n                                    \\\"src\\\": \\\"%v\\\",\n                                    \\\"autoplay\\\": true\n                                }\n                            }\n                        }\n                    }\n                },\n                \\\"2\\\": {\n                    \\\"position\\\": {\n                        \\\"x\\\": 0,\n                        \\\"y\\\": 4,\n                        \\\"rowSpan\\\": 4,\n                        \\\"colSpan\\\": 6\n                    },\n                    \\\"metadata\\\": {\n                        \\\"inputs\\\": [\n                            {\n                                \\\"name\\\": \\\"ComponentId\\\",\n                                \\\"value\\\": \\\"/subscriptions/%v/resourceGroups/myRG/providers/microsoft.insights/components/myWebApp\\\"\n                            }\n                        ],\n                        \\\"type\\\": \\\"Extension/AppInsightsExtension/PartType/AppMapGalPt\\\",\n                        \\\"settings\\\": {},\n                        \\\"asset\\\": {\n                            \\\"idInputName\\\": \\\"ComponentId\\\",\n                            \\\"type\\\": \\\"ApplicationInsights\\\"\n                        }\n                    }\n                }              \n            }\n        }\n    },\n    \\\"metadata\\\": {\n        \\\"model\\\": {\n            \\\"timeRange\\\": {\n                \\\"value\\\": {\n                    \\\"relative\\\": {\n                        \\\"duration\\\": 24,\n                        \\\"timeUnit\\\": 1\n                    }\n                },\n                \\\"type\\\": \\\"MsPortalFx.Composition.Configuration.ValueTypes.TimeRange\\\"\n            },\n            \\\"filterLocale\\\": {\n                \\\"value\\\": \\\"en-us\\\"\n            },\n            \\\"filters\\\": {\n                \\\"value\\\": {\n                    \\\"MsPortalFx_TimeRange\\\": {\n                        \\\"model\\\": {\n                            \\\"format\\\": \\\"utc\\\",\n                            \\\"granularity\\\": \\\"auto\\\",\n                            \\\"relative\\\": \\\"24h\\\"\n                        },\n                        \\\"displayCache\\\": {\n                            \\\"name\\\": \\\"UTC Time\\\",\n                            \\\"value\\\": \\\"Past 24 hours\\\"\n                        },\n                        \\\"filteredPartIds\\\": [\n                            \\\"StartboardPart-UnboundPart-ae44fef5-76b8-46b0-86f0-2b3f47bad1c7\\\"\n                        ]\n                    }\n                }\n            }\n        }\n    }\n}\n`, mdContent, videoLink, current.SubscriptionId),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.core.inputs.GetSubscriptionArgs;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.portal.PortalDashboard;\nimport com.pulumi.azure.portal.PortalDashboardArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var mdContent = config.get(\"mdContent\").orElse(\"# Hello all :)\");\n        final var videoLink = config.get(\"videoLink\").orElse(\"https://www.youtube.com/watch?v=......\");\n        final var current = CoreFunctions.getSubscription(GetSubscriptionArgs.builder()\n            .build());\n\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"mygroup\")\n            .location(\"West Europe\")\n            .build());\n\n        var my_board = new PortalDashboard(\"my-board\", PortalDashboardArgs.builder()\n            .name(\"my-cool-dashboard\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .tags(Map.of(\"source\", \"terraform\"))\n            .dashboardProperties(\"\"\"\n{\n   \\\"lenses\\\": {\n        \\\"0\\\": {\n            \\\"order\\\": 0,\n            \\\"parts\\\": {\n                \\\"0\\\": {\n                    \\\"position\\\": {\n                        \\\"x\\\": 0,\n                        \\\"y\\\": 0,\n                        \\\"rowSpan\\\": 2,\n                        \\\"colSpan\\\": 3\n                    },\n                    \\\"metadata\\\": {\n                        \\\"inputs\\\": [],\n                        \\\"type\\\": \\\"Extension/HubsExtension/PartType/MarkdownPart\\\",\n                        \\\"settings\\\": {\n                            \\\"content\\\": {\n                                \\\"settings\\\": {\n                                    \\\"content\\\": \\\"%s\\\",\n                                    \\\"subtitle\\\": \\\"\\\",\n                                    \\\"title\\\": \\\"\\\"\n                                }\n                            }\n                        }\n                    }\n                },               \n                \\\"1\\\": {\n                    \\\"position\\\": {\n                        \\\"x\\\": 5,\n                        \\\"y\\\": 0,\n                        \\\"rowSpan\\\": 4,\n                        \\\"colSpan\\\": 6\n                    },\n                    \\\"metadata\\\": {\n                        \\\"inputs\\\": [],\n                        \\\"type\\\": \\\"Extension/HubsExtension/PartType/VideoPart\\\",\n                        \\\"settings\\\": {\n                            \\\"content\\\": {\n                                \\\"settings\\\": {\n                                    \\\"title\\\": \\\"Important Information\\\",\n                                    \\\"subtitle\\\": \\\"\\\",\n                                    \\\"src\\\": \\\"%s\\\",\n                                    \\\"autoplay\\\": true\n                                }\n                            }\n                        }\n                    }\n                },\n                \\\"2\\\": {\n                    \\\"position\\\": {\n                        \\\"x\\\": 0,\n                        \\\"y\\\": 4,\n                        \\\"rowSpan\\\": 4,\n                        \\\"colSpan\\\": 6\n                    },\n                    \\\"metadata\\\": {\n                        \\\"inputs\\\": [\n                            {\n                                \\\"name\\\": \\\"ComponentId\\\",\n                                \\\"value\\\": \\\"/subscriptions/%s/resourceGroups/myRG/providers/microsoft.insights/components/myWebApp\\\"\n                            }\n                        ],\n                        \\\"type\\\": \\\"Extension/AppInsightsExtension/PartType/AppMapGalPt\\\",\n                        \\\"settings\\\": {},\n                        \\\"asset\\\": {\n                            \\\"idInputName\\\": \\\"ComponentId\\\",\n                            \\\"type\\\": \\\"ApplicationInsights\\\"\n                        }\n                    }\n                }              \n            }\n        }\n    },\n    \\\"metadata\\\": {\n        \\\"model\\\": {\n            \\\"timeRange\\\": {\n                \\\"value\\\": {\n                    \\\"relative\\\": {\n                        \\\"duration\\\": 24,\n                        \\\"timeUnit\\\": 1\n                    }\n                },\n                \\\"type\\\": \\\"MsPortalFx.Composition.Configuration.ValueTypes.TimeRange\\\"\n            },\n            \\\"filterLocale\\\": {\n                \\\"value\\\": \\\"en-us\\\"\n            },\n            \\\"filters\\\": {\n                \\\"value\\\": {\n                    \\\"MsPortalFx_TimeRange\\\": {\n                        \\\"model\\\": {\n                            \\\"format\\\": \\\"utc\\\",\n                            \\\"granularity\\\": \\\"auto\\\",\n                            \\\"relative\\\": \\\"24h\\\"\n                        },\n                        \\\"displayCache\\\": {\n                            \\\"name\\\": \\\"UTC Time\\\",\n                            \\\"value\\\": \\\"Past 24 hours\\\"\n                        },\n                        \\\"filteredPartIds\\\": [\n                            \\\"StartboardPart-UnboundPart-ae44fef5-76b8-46b0-86f0-2b3f47bad1c7\\\"\n                        ]\n                    }\n                }\n            }\n        }\n    }\n}\n\", mdContent,videoLink,current.subscriptionId()))\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  mdContent:\n    type: string\n    default: '# Hello all :)'\n  videoLink:\n    type: string\n    default: https://www.youtube.com/watch?v=......\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: mygroup\n      location: West Europe\n  my-board:\n    type: azure:portal:PortalDashboard\n    properties:\n      name: my-cool-dashboard\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      tags:\n        source: terraform\n      dashboardProperties: \"{\\n   \\\\\\\"lenses\\\\\\\": {\\n        \\\\\\\"0\\\\\\\": {\\n            \\\\\\\"order\\\\\\\": 0,\\n            \\\\\\\"parts\\\\\\\": {\\n                \\\\\\\"0\\\\\\\": {\\n                    \\\\\\\"position\\\\\\\": {\\n                        \\\\\\\"x\\\\\\\": 0,\\n                        \\\\\\\"y\\\\\\\": 0,\\n                        \\\\\\\"rowSpan\\\\\\\": 2,\\n                        \\\\\\\"colSpan\\\\\\\": 3\\n                    },\\n                    \\\\\\\"metadata\\\\\\\": {\\n                        \\\\\\\"inputs\\\\\\\": [],\\n                        \\\\\\\"type\\\\\\\": \\\\\\\"Extension/HubsExtension/PartType/MarkdownPart\\\\\\\",\\n                        \\\\\\\"settings\\\\\\\": {\\n                            \\\\\\\"content\\\\\\\": {\\n                                \\\\\\\"settings\\\\\\\": {\\n                                    \\\\\\\"content\\\\\\\": \\\\\\\"${mdContent}\\\\\\\",\\n                                    \\\\\\\"subtitle\\\\\\\": \\\\\\\"\\\\\\\",\\n                                    \\\\\\\"title\\\\\\\": \\\\\\\"\\\\\\\"\\n                                }\\n                            }\\n                        }\\n                    }\\n                },               \\n                \\\\\\\"1\\\\\\\": {\\n                    \\\\\\\"position\\\\\\\": {\\n                        \\\\\\\"x\\\\\\\": 5,\\n                        \\\\\\\"y\\\\\\\": 0,\\n                        \\\\\\\"rowSpan\\\\\\\": 4,\\n                        \\\\\\\"colSpan\\\\\\\": 6\\n                    },\\n                    \\\\\\\"metadata\\\\\\\": {\\n                        \\\\\\\"inputs\\\\\\\": [],\\n                        \\\\\\\"type\\\\\\\": \\\\\\\"Extension/HubsExtension/PartType/VideoPart\\\\\\\",\\n                        \\\\\\\"settings\\\\\\\": {\\n                            \\\\\\\"content\\\\\\\": {\\n                                \\\\\\\"settings\\\\\\\": {\\n                                    \\\\\\\"title\\\\\\\": \\\\\\\"Important Information\\\\\\\",\\n                                    \\\\\\\"subtitle\\\\\\\": \\\\\\\"\\\\\\\",\\n                                    \\\\\\\"src\\\\\\\": \\\\\\\"${videoLink}\\\\\\\",\\n                                    \\\\\\\"autoplay\\\\\\\": true\\n                                }\\n                            }\\n                        }\\n                    }\\n                },\\n                \\\\\\\"2\\\\\\\": {\\n                    \\\\\\\"position\\\\\\\": {\\n                        \\\\\\\"x\\\\\\\": 0,\\n                        \\\\\\\"y\\\\\\\": 4,\\n                        \\\\\\\"rowSpan\\\\\\\": 4,\\n                        \\\\\\\"colSpan\\\\\\\": 6\\n                    },\\n                    \\\\\\\"metadata\\\\\\\": {\\n                        \\\\\\\"inputs\\\\\\\": [\\n                            {\\n                                \\\\\\\"name\\\\\\\": \\\\\\\"ComponentId\\\\\\\",\\n                                \\\\\\\"value\\\\\\\": \\\\\\\"/subscriptions/${current.subscriptionId}/resourceGroups/myRG/providers/microsoft.insights/components/myWebApp\\\\\\\"\\n                            }\\n                        ],\\n                        \\\\\\\"type\\\\\\\": \\\\\\\"Extension/AppInsightsExtension/PartType/AppMapGalPt\\\\\\\",\\n                        \\\\\\\"settings\\\\\\\": {},\\n                        \\\\\\\"asset\\\\\\\": {\\n                            \\\\\\\"idInputName\\\\\\\": \\\\\\\"ComponentId\\\\\\\",\\n                            \\\\\\\"type\\\\\\\": \\\\\\\"ApplicationInsights\\\\\\\"\\n                        }\\n                    }\\n                }              \\n            }\\n        }\\n    },\\n    \\\\\\\"metadata\\\\\\\": {\\n        \\\\\\\"model\\\\\\\": {\\n            \\\\\\\"timeRange\\\\\\\": {\\n                \\\\\\\"value\\\\\\\": {\\n                    \\\\\\\"relative\\\\\\\": {\\n                        \\\\\\\"duration\\\\\\\": 24,\\n                        \\\\\\\"timeUnit\\\\\\\": 1\\n                    }\\n                },\\n                \\\\\\\"type\\\\\\\": \\\\\\\"MsPortalFx.Composition.Configuration.ValueTypes.TimeRange\\\\\\\"\\n            },\\n            \\\\\\\"filterLocale\\\\\\\": {\\n                \\\\\\\"value\\\\\\\": \\\\\\\"en-us\\\\\\\"\\n            },\\n            \\\\\\\"filters\\\\\\\": {\\n                \\\\\\\"value\\\\\\\": {\\n                    \\\\\\\"MsPortalFx_TimeRange\\\\\\\": {\\n                        \\\\\\\"model\\\\\\\": {\\n                            \\\\\\\"format\\\\\\\": \\\\\\\"utc\\\\\\\",\\n                            \\\\\\\"granularity\\\\\\\": \\\\\\\"auto\\\\\\\",\\n                            \\\\\\\"relative\\\\\\\": \\\\\\\"24h\\\\\\\"\\n                        },\\n                        \\\\\\\"displayCache\\\\\\\": {\\n                            \\\\\\\"name\\\\\\\": \\\\\\\"UTC Time\\\\\\\",\\n                            \\\\\\\"value\\\\\\\": \\\\\\\"Past 24 hours\\\\\\\"\\n                        },\\n                        \\\\\\\"filteredPartIds\\\\\\\": [\\n                            \\\\\\\"StartboardPart-UnboundPart-ae44fef5-76b8-46b0-86f0-2b3f47bad1c7\\\\\\\"\\n                        ]\\n                    }\\n                }\\n            }\\n        }\\n    }\\n}\\n\"\nvariables:\n  current:\n    fn::invoke:\n      function: azure:core:getSubscription\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nIt is recommended to follow the steps outlined\n[here](https://docs.microsoft.com/azure/azure-portal/azure-portal-dashboards-create-programmatically#fetch-the-json-representation-of-the-dashboard) to create a Dashboard in the Portal and extract the relevant JSON to use in this resource. From the extracted JSON, the contents of the `properties: {}` object can used. Variables can be injected as needed - see above example.\n\n### Using a \u003cspan pulumi-lang-nodejs=\"`templateFile`\" pulumi-lang-dotnet=\"`TemplateFile`\" pulumi-lang-go=\"`templateFile`\" pulumi-lang-python=\"`template_file`\" pulumi-lang-yaml=\"`templateFile`\" pulumi-lang-java=\"`templateFile`\"\u003e`template_file`\u003c/span\u003e data source or the \u003cspan pulumi-lang-nodejs=\"`templatefile`\" pulumi-lang-dotnet=\"`Templatefile`\" pulumi-lang-go=\"`templatefile`\" pulumi-lang-python=\"`templatefile`\" pulumi-lang-yaml=\"`templatefile`\" pulumi-lang-java=\"`templatefile`\"\u003e`templatefile`\u003c/span\u003e function\n\nSince the contents of the dashboard JSON can be quite lengthy, use a template file to improve readability:\n\n`dash.tpl`:\n\n```JSON\n{\n    \"lenses\": {\n         \"0\": {\n             \"order\": 0,\n             \"parts\": {\n                 \"0\": {\n                     \"position\": {\n                         \"x\": 0,\n                         \"y\": 0,\n                         \"rowSpan\": 2,\n                         \"colSpan\": 3\n                     },\n                     \"metadata\": {\n                         \"inputs\": [],\n                         \"type\": \"Extension/HubsExtension/PartType/MarkdownPart\",\n                         \"settings\": {\n                             \"content\": {\n                                 \"settings\": {\n                                     \"content\": \"${md_content}\", // \u003c-- note the 'var.' is dropped\n                                     \"subtitle\": \"\",\n                                     \"title\": \"\"\n                                 }\n                             }\n                         }\n                     }\n                 },  \n                 ...\n                 ...\n```\n\nThis is then referenced in the `.tf` file by using a \u003cspan pulumi-lang-nodejs=\"`templateFile`\" pulumi-lang-dotnet=\"`TemplateFile`\" pulumi-lang-go=\"`templateFile`\" pulumi-lang-python=\"`template_file`\" pulumi-lang-yaml=\"`templateFile`\" pulumi-lang-java=\"`templateFile`\"\u003e`template_file`\u003c/span\u003e data source (terraform 0.11 or earlier), or the \u003cspan pulumi-lang-nodejs=\"`templatefile`\" pulumi-lang-dotnet=\"`Templatefile`\" pulumi-lang-go=\"`templatefile`\" pulumi-lang-python=\"`templatefile`\" pulumi-lang-yaml=\"`templatefile`\" pulumi-lang-java=\"`templatefile`\"\u003e`templatefile`\u003c/span\u003e function (terraform 0.12+).\n\n`main.tf` (terraform 0.11 or earlier):\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azurerm from \"@pulumi/azurerm\";\n\nfunction notImplemented(message: string) {\n    throw new Error(message);\n}\n\nconst dash_template = notImplemented(\"The template_file data resource is not yet supported.\");\n//...\nconst my_board = new azurerm.index.Dashboard(\"my-board\", {\n    name: \"my-cool-dashboard\",\n    resourceGroupName: example.name,\n    location: example.location,\n    tags: {\n        source: \"terraform\",\n    },\n    dashboardProperties: dash_template.rendered,\n});\n```\n```python\nimport pulumi\nimport pulumi_azurerm as azurerm\n\n\ndef not_implemented(msg):\n    raise NotImplementedError(msg)\n\ndash_template = not_implemented(\"The template_file data resource is not yet supported.\")\n#...\nmy_board = azurerm.index.Dashboard(\"my-board\",\n    name=my-cool-dashboard,\n    resource_group_name=example.name,\n    location=example.location,\n    tags={\n        source: terraform,\n    },\n    dashboard_properties=dash_template.rendered)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azurerm = Pulumi.Azurerm;\n\n\t\nobject NotImplemented(string errorMessage) \n{\n    throw new System.NotImplementedException(errorMessage);\n}\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var dash_template = NotImplemented(\"The template_file data resource is not yet supported.\");\n\n    //...\n    var my_board = new Azurerm.Index.Dashboard(\"my-board\", new()\n    {\n        Name = \"my-cool-dashboard\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        Tags = \n        {\n            { \"source\", \"terraform\" },\n        },\n        DashboardProperties = dash_template.Rendered,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azurerm/sdk/go/azurerm\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc notImplemented(message string) pulumi.AnyOutput {\n\tpanic(message)\n}\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tdash_template := notImplemented(\"The template_file data resource is not yet supported.\")\n\t\t// ...\n\t\t_, err := azurerm.NewDashboard(ctx, \"my-board\", \u0026azurerm.DashboardArgs{\n\t\t\tName:              \"my-cool-dashboard\",\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tTags: map[string]interface{}{\n\t\t\t\t\"source\": \"terraform\",\n\t\t\t},\n\t\t\tDashboardProperties: dash_template.Rendered,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n`main.tf` (terraform 0.12+)\n\n## Import\n\nDashboards can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:portal/portalDashboard:PortalDashboard my-board /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Portal/dashboards/00000000-0000-0000-0000-000000000000\n```\n\nNote the URI in the above sample can be found using the Resource Explorer tool in the Azure Portal.\n\n","properties":{"dashboardProperties":{"type":"string","description":"JSON data representing dashboard body. See above for details on how to obtain this from the Portal.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"Specifies the name of the Shared Dashboard. Changing this forces a new resource to be created.\n\n\u003e **Note:** You can specify a tag with the key `hidden-title` to set a more user-friendly title for this Dashboard.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the dashboard. Changing this forces a new resource to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"required":["dashboardProperties","location","name","resourceGroupName"],"inputProperties":{"dashboardProperties":{"type":"string","description":"JSON data representing dashboard body. See above for details on how to obtain this from the Portal.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the Shared Dashboard. Changing this forces a new resource to be created.\n\n\u003e **Note:** You can specify a tag with the key `hidden-title` to set a more user-friendly title for this Dashboard.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the dashboard. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"requiredInputs":["dashboardProperties","resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering PortalDashboard resources.\n","properties":{"dashboardProperties":{"type":"string","description":"JSON data representing dashboard body. See above for details on how to obtain this from the Portal.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the Shared Dashboard. Changing this forces a new resource to be created.\n\n\u003e **Note:** You can specify a tag with the key `hidden-title` to set a more user-friendly title for this Dashboard.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the dashboard. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"type":"object"},"aliases":[{"type":"azure:portal/dashboard:Dashboard"}]},"azure:postgresql/activeDirectoryAdministrator:ActiveDirectoryAdministrator":{"description":"Allows you to set a user or group as the AD administrator for an PostgreSQL server in Azure\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`azure.postgresql.ActiveDirectoryAdministrator`\" pulumi-lang-dotnet=\"`azure.postgresql.ActiveDirectoryAdministrator`\" pulumi-lang-go=\"`postgresql.ActiveDirectoryAdministrator`\" pulumi-lang-python=\"`postgresql.ActiveDirectoryAdministrator`\" pulumi-lang-yaml=\"`azure.postgresql.ActiveDirectoryAdministrator`\" pulumi-lang-java=\"`azure.postgresql.ActiveDirectoryAdministrator`\"\u003e`azure.postgresql.ActiveDirectoryAdministrator`\u003c/span\u003e resource is deprecated and will be removed in v5.0 of the AzureRM Provider. Azure Database for PostgreSQL Single Server and its sub resources have been retired as of 2025-03-28, please use the \u003cspan pulumi-lang-nodejs=\"`azure.postgresql.FlexibleServerActiveDirectoryAdministrator`\" pulumi-lang-dotnet=\"`azure.postgresql.FlexibleServerActiveDirectoryAdministrator`\" pulumi-lang-go=\"`postgresql.FlexibleServerActiveDirectoryAdministrator`\" pulumi-lang-python=\"`postgresql.FlexibleServerActiveDirectoryAdministrator`\" pulumi-lang-yaml=\"`azure.postgresql.FlexibleServerActiveDirectoryAdministrator`\" pulumi-lang-java=\"`azure.postgresql.FlexibleServerActiveDirectoryAdministrator`\"\u003e`azure.postgresql.FlexibleServerActiveDirectoryAdministrator`\u003c/span\u003e resource instead. For more information, see https://techcommunity.microsoft.com/blog/adforpostgresql/retiring-azure-database-for-postgresql-single-server-in-2025/3783783.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst current = azure.core.getClientConfig({});\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleServer = new azure.postgresql.Server(\"example\", {\n    name: \"example-psqlserver\",\n    resourceGroupName: example.name,\n    location: example.location,\n    version: \"9.6\",\n    administratorLogin: \"4dm1n157r470r\",\n    administratorLoginPassword: \"4-v3ry-53cr37-p455w0rd\",\n    skuName: \"GP_Gen5_2\",\n    sslEnforcementEnabled: true,\n});\nconst exampleActiveDirectoryAdministrator = new azure.postgresql.ActiveDirectoryAdministrator(\"example\", {\n    serverName: exampleServer.name,\n    resourceGroupName: example.name,\n    login: \"sqladmin\",\n    tenantId: current.then(current =\u003e current.tenantId),\n    objectId: current.then(current =\u003e current.objectId),\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\ncurrent = azure.core.get_client_config()\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_server = azure.postgresql.Server(\"example\",\n    name=\"example-psqlserver\",\n    resource_group_name=example.name,\n    location=example.location,\n    version=\"9.6\",\n    administrator_login=\"4dm1n157r470r\",\n    administrator_login_password=\"4-v3ry-53cr37-p455w0rd\",\n    sku_name=\"GP_Gen5_2\",\n    ssl_enforcement_enabled=True)\nexample_active_directory_administrator = azure.postgresql.ActiveDirectoryAdministrator(\"example\",\n    server_name=example_server.name,\n    resource_group_name=example.name,\n    login=\"sqladmin\",\n    tenant_id=current.tenant_id,\n    object_id=current.object_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var current = Azure.Core.GetClientConfig.Invoke();\n\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleServer = new Azure.PostgreSql.Server(\"example\", new()\n    {\n        Name = \"example-psqlserver\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        Version = \"9.6\",\n        AdministratorLogin = \"4dm1n157r470r\",\n        AdministratorLoginPassword = \"4-v3ry-53cr37-p455w0rd\",\n        SkuName = \"GP_Gen5_2\",\n        SslEnforcementEnabled = true,\n    });\n\n    var exampleActiveDirectoryAdministrator = new Azure.PostgreSql.ActiveDirectoryAdministrator(\"example\", new()\n    {\n        ServerName = exampleServer.Name,\n        ResourceGroupName = example.Name,\n        Login = \"sqladmin\",\n        TenantId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.TenantId),\n        ObjectId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.ObjectId),\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/postgresql\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := core.GetClientConfig(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleServer, err := postgresql.NewServer(ctx, \"example\", \u0026postgresql.ServerArgs{\n\t\t\tName:                       pulumi.String(\"example-psqlserver\"),\n\t\t\tResourceGroupName:          example.Name,\n\t\t\tLocation:                   example.Location,\n\t\t\tVersion:                    pulumi.String(\"9.6\"),\n\t\t\tAdministratorLogin:         pulumi.String(\"4dm1n157r470r\"),\n\t\t\tAdministratorLoginPassword: pulumi.String(\"4-v3ry-53cr37-p455w0rd\"),\n\t\t\tSkuName:                    pulumi.String(\"GP_Gen5_2\"),\n\t\t\tSslEnforcementEnabled:      pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = postgresql.NewActiveDirectoryAdministrator(ctx, \"example\", \u0026postgresql.ActiveDirectoryAdministratorArgs{\n\t\t\tServerName:        exampleServer.Name,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLogin:             pulumi.String(\"sqladmin\"),\n\t\t\tTenantId:          pulumi.String(current.TenantId),\n\t\t\tObjectId:          pulumi.String(current.ObjectId),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.postgresql.Server;\nimport com.pulumi.azure.postgresql.ServerArgs;\nimport com.pulumi.azure.postgresql.ActiveDirectoryAdministrator;\nimport com.pulumi.azure.postgresql.ActiveDirectoryAdministratorArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var current = CoreFunctions.getClientConfig(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleServer = new Server(\"exampleServer\", ServerArgs.builder()\n            .name(\"example-psqlserver\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .version(\"9.6\")\n            .administratorLogin(\"4dm1n157r470r\")\n            .administratorLoginPassword(\"4-v3ry-53cr37-p455w0rd\")\n            .skuName(\"GP_Gen5_2\")\n            .sslEnforcementEnabled(true)\n            .build());\n\n        var exampleActiveDirectoryAdministrator = new ActiveDirectoryAdministrator(\"exampleActiveDirectoryAdministrator\", ActiveDirectoryAdministratorArgs.builder()\n            .serverName(exampleServer.name())\n            .resourceGroupName(example.name())\n            .login(\"sqladmin\")\n            .tenantId(current.tenantId())\n            .objectId(current.objectId())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleServer:\n    type: azure:postgresql:Server\n    name: example\n    properties:\n      name: example-psqlserver\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      version: '9.6'\n      administratorLogin: 4dm1n157r470r\n      administratorLoginPassword: 4-v3ry-53cr37-p455w0rd\n      skuName: GP_Gen5_2\n      sslEnforcementEnabled: true\n  exampleActiveDirectoryAdministrator:\n    type: azure:postgresql:ActiveDirectoryAdministrator\n    name: example\n    properties:\n      serverName: ${exampleServer.name}\n      resourceGroupName: ${example.name}\n      login: sqladmin\n      tenantId: ${current.tenantId}\n      objectId: ${current.objectId}\nvariables:\n  current:\n    fn::invoke:\n      function: azure:core:getClientConfig\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.DBforPostgreSQL` - 2017-12-01\n\n## Import\n\nA PostgreSQL Active Directory Administrator can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:postgresql/activeDirectoryAdministrator:ActiveDirectoryAdministrator administrator /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myresourcegroup/providers/Microsoft.DBforPostgreSQL/servers/myserver\n```\n\n","properties":{"login":{"type":"string","description":"The login name of the principal to set as the server administrator\n"},"objectId":{"type":"string","description":"The ID of the principal to set as the server administrator. For a managed identity this should be the Client ID of the identity.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group for the PostgreSQL server. Changing this forces a new resource to be created.\n"},"serverName":{"type":"string","description":"The name of the PostgreSQL Server on which to set the administrator. Changing this forces a new resource to be created.\n"},"tenantId":{"type":"string","description":"The Azure Tenant ID\n"}},"required":["login","objectId","resourceGroupName","serverName","tenantId"],"inputProperties":{"login":{"type":"string","description":"The login name of the principal to set as the server administrator\n"},"objectId":{"type":"string","description":"The ID of the principal to set as the server administrator. For a managed identity this should be the Client ID of the identity.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group for the PostgreSQL server. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"serverName":{"type":"string","description":"The name of the PostgreSQL Server on which to set the administrator. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tenantId":{"type":"string","description":"The Azure Tenant ID\n"}},"requiredInputs":["login","objectId","resourceGroupName","serverName","tenantId"],"stateInputs":{"description":"Input properties used for looking up and filtering ActiveDirectoryAdministrator resources.\n","properties":{"login":{"type":"string","description":"The login name of the principal to set as the server administrator\n"},"objectId":{"type":"string","description":"The ID of the principal to set as the server administrator. For a managed identity this should be the Client ID of the identity.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group for the PostgreSQL server. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"serverName":{"type":"string","description":"The name of the PostgreSQL Server on which to set the administrator. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tenantId":{"type":"string","description":"The Azure Tenant ID\n"}},"type":"object"}},"azure:postgresql/configuration:Configuration":{"description":"Sets a PostgreSQL Configuration value on a PostgreSQL Server.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`azure.postgresql.Configuration`\" pulumi-lang-dotnet=\"`azure.postgresql.Configuration`\" pulumi-lang-go=\"`postgresql.Configuration`\" pulumi-lang-python=\"`postgresql.Configuration`\" pulumi-lang-yaml=\"`azure.postgresql.Configuration`\" pulumi-lang-java=\"`azure.postgresql.Configuration`\"\u003e`azure.postgresql.Configuration`\u003c/span\u003e resource is deprecated and will be removed in v5.0 of the AzureRM Provider. Azure Database for PostgreSQL Single Server and its sub resources have been retired as of 2025-03-28, please use the \u003cspan pulumi-lang-nodejs=\"`azure.postgresql.FlexibleServerConfiguration`\" pulumi-lang-dotnet=\"`azure.postgresql.FlexibleServerConfiguration`\" pulumi-lang-go=\"`postgresql.FlexibleServerConfiguration`\" pulumi-lang-python=\"`postgresql.FlexibleServerConfiguration`\" pulumi-lang-yaml=\"`azure.postgresql.FlexibleServerConfiguration`\" pulumi-lang-java=\"`azure.postgresql.FlexibleServerConfiguration`\"\u003e`azure.postgresql.FlexibleServerConfiguration`\u003c/span\u003e resource instead. For more information, see https://techcommunity.microsoft.com/blog/adforpostgresql/retiring-azure-database-for-postgresql-single-server-in-2025/3783783.\n\n## Disclaimers\n\n\u003e **Note:** Since this resource is provisioned by default, the Azure Provider will not check for the presence of an existing resource prior to attempting to create it.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"api-rg-pro\",\n    location: \"West Europe\",\n});\nconst exampleServer = new azure.postgresql.Server(\"example\", {\n    name: \"postgresql-server-1\",\n    location: example.location,\n    resourceGroupName: example.name,\n    skuName: \"B_Gen5_2\",\n    storageMb: 5120,\n    backupRetentionDays: 7,\n    geoRedundantBackupEnabled: false,\n    autoGrowEnabled: true,\n    administratorLogin: \"psqladmin\",\n    administratorLoginPassword: \"H@Sh1CoR3!\",\n    version: \"9.5\",\n    sslEnforcementEnabled: true,\n});\nconst exampleConfiguration = new azure.postgresql.Configuration(\"example\", {\n    name: \"backslash_quote\",\n    resourceGroupName: example.name,\n    serverName: exampleServer.name,\n    value: \"on\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"api-rg-pro\",\n    location=\"West Europe\")\nexample_server = azure.postgresql.Server(\"example\",\n    name=\"postgresql-server-1\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku_name=\"B_Gen5_2\",\n    storage_mb=5120,\n    backup_retention_days=7,\n    geo_redundant_backup_enabled=False,\n    auto_grow_enabled=True,\n    administrator_login=\"psqladmin\",\n    administrator_login_password=\"H@Sh1CoR3!\",\n    version=\"9.5\",\n    ssl_enforcement_enabled=True)\nexample_configuration = azure.postgresql.Configuration(\"example\",\n    name=\"backslash_quote\",\n    resource_group_name=example.name,\n    server_name=example_server.name,\n    value=\"on\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"api-rg-pro\",\n        Location = \"West Europe\",\n    });\n\n    var exampleServer = new Azure.PostgreSql.Server(\"example\", new()\n    {\n        Name = \"postgresql-server-1\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        SkuName = \"B_Gen5_2\",\n        StorageMb = 5120,\n        BackupRetentionDays = 7,\n        GeoRedundantBackupEnabled = false,\n        AutoGrowEnabled = true,\n        AdministratorLogin = \"psqladmin\",\n        AdministratorLoginPassword = \"H@Sh1CoR3!\",\n        Version = \"9.5\",\n        SslEnforcementEnabled = true,\n    });\n\n    var exampleConfiguration = new Azure.PostgreSql.Configuration(\"example\", new()\n    {\n        Name = \"backslash_quote\",\n        ResourceGroupName = example.Name,\n        ServerName = exampleServer.Name,\n        Value = \"on\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/postgresql\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"api-rg-pro\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleServer, err := postgresql.NewServer(ctx, \"example\", \u0026postgresql.ServerArgs{\n\t\t\tName:                       pulumi.String(\"postgresql-server-1\"),\n\t\t\tLocation:                   example.Location,\n\t\t\tResourceGroupName:          example.Name,\n\t\t\tSkuName:                    pulumi.String(\"B_Gen5_2\"),\n\t\t\tStorageMb:                  pulumi.Int(5120),\n\t\t\tBackupRetentionDays:        pulumi.Int(7),\n\t\t\tGeoRedundantBackupEnabled:  pulumi.Bool(false),\n\t\t\tAutoGrowEnabled:            pulumi.Bool(true),\n\t\t\tAdministratorLogin:         pulumi.String(\"psqladmin\"),\n\t\t\tAdministratorLoginPassword: pulumi.String(\"H@Sh1CoR3!\"),\n\t\t\tVersion:                    pulumi.String(\"9.5\"),\n\t\t\tSslEnforcementEnabled:      pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = postgresql.NewConfiguration(ctx, \"example\", \u0026postgresql.ConfigurationArgs{\n\t\t\tName:              pulumi.String(\"backslash_quote\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tServerName:        exampleServer.Name,\n\t\t\tValue:             pulumi.String(\"on\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.postgresql.Server;\nimport com.pulumi.azure.postgresql.ServerArgs;\nimport com.pulumi.azure.postgresql.Configuration;\nimport com.pulumi.azure.postgresql.ConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"api-rg-pro\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleServer = new Server(\"exampleServer\", ServerArgs.builder()\n            .name(\"postgresql-server-1\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .skuName(\"B_Gen5_2\")\n            .storageMb(5120)\n            .backupRetentionDays(7)\n            .geoRedundantBackupEnabled(false)\n            .autoGrowEnabled(true)\n            .administratorLogin(\"psqladmin\")\n            .administratorLoginPassword(\"H@Sh1CoR3!\")\n            .version(\"9.5\")\n            .sslEnforcementEnabled(true)\n            .build());\n\n        var exampleConfiguration = new Configuration(\"exampleConfiguration\", ConfigurationArgs.builder()\n            .name(\"backslash_quote\")\n            .resourceGroupName(example.name())\n            .serverName(exampleServer.name())\n            .value(\"on\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: api-rg-pro\n      location: West Europe\n  exampleServer:\n    type: azure:postgresql:Server\n    name: example\n    properties:\n      name: postgresql-server-1\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      skuName: B_Gen5_2\n      storageMb: 5120\n      backupRetentionDays: 7\n      geoRedundantBackupEnabled: false\n      autoGrowEnabled: true\n      administratorLogin: psqladmin\n      administratorLoginPassword: H@Sh1CoR3!\n      version: '9.5'\n      sslEnforcementEnabled: true\n  exampleConfiguration:\n    type: azure:postgresql:Configuration\n    name: example\n    properties:\n      name: backslash_quote\n      resourceGroupName: ${example.name}\n      serverName: ${exampleServer.name}\n      value: on\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.DBforPostgreSQL` - 2017-12-01\n\n## Import\n\nPostgreSQL Configurations can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:postgresql/configuration:Configuration backslash_quote /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.DBforPostgreSQL/servers/server1/configurations/backslash_quote\n```\n\n","properties":{"name":{"type":"string","description":"Specifies the name of the PostgreSQL Configuration, which needs [to be a valid PostgreSQL configuration name](https://www.postgresql.org/docs/current/static/sql-syntax-lexical.html#SQL-SYNTAX-IDENTIFIER). Changing this forces a new resource to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the PostgreSQL Server exists. Changing this forces a new resource to be created.\n"},"serverName":{"type":"string","description":"Specifies the name of the PostgreSQL Server. Changing this forces a new resource to be created.\n"},"value":{"type":"string","description":"Specifies the value of the PostgreSQL Configuration. See the PostgreSQL documentation for valid values. Changing this forces a new resource to be created.\n"}},"required":["name","resourceGroupName","serverName","value"],"inputProperties":{"name":{"type":"string","description":"Specifies the name of the PostgreSQL Configuration, which needs [to be a valid PostgreSQL configuration name](https://www.postgresql.org/docs/current/static/sql-syntax-lexical.html#SQL-SYNTAX-IDENTIFIER). Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the PostgreSQL Server exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"serverName":{"type":"string","description":"Specifies the name of the PostgreSQL Server. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"value":{"type":"string","description":"Specifies the value of the PostgreSQL Configuration. See the PostgreSQL documentation for valid values. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["name","resourceGroupName","serverName","value"],"stateInputs":{"description":"Input properties used for looking up and filtering Configuration resources.\n","properties":{"name":{"type":"string","description":"Specifies the name of the PostgreSQL Configuration, which needs [to be a valid PostgreSQL configuration name](https://www.postgresql.org/docs/current/static/sql-syntax-lexical.html#SQL-SYNTAX-IDENTIFIER). Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the PostgreSQL Server exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"serverName":{"type":"string","description":"Specifies the name of the PostgreSQL Server. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"value":{"type":"string","description":"Specifies the value of the PostgreSQL Configuration. See the PostgreSQL documentation for valid values. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:postgresql/database:Database":{"description":"Manages a PostgreSQL Database within a PostgreSQL Server\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`azure.postgresql.Database`\" pulumi-lang-dotnet=\"`azure.postgresql.Database`\" pulumi-lang-go=\"`postgresql.Database`\" pulumi-lang-python=\"`postgresql.Database`\" pulumi-lang-yaml=\"`azure.postgresql.Database`\" pulumi-lang-java=\"`azure.postgresql.Database`\"\u003e`azure.postgresql.Database`\u003c/span\u003e resource is deprecated and will be removed in v5.0 of the AzureRM Provider. Azure Database for PostgreSQL Single Server and its sub resources have been retired as of 2025-03-28, please use the \u003cspan pulumi-lang-nodejs=\"`azure.postgresql.FlexibleServerDatabase`\" pulumi-lang-dotnet=\"`azure.postgresql.FlexibleServerDatabase`\" pulumi-lang-go=\"`postgresql.FlexibleServerDatabase`\" pulumi-lang-python=\"`postgresql.FlexibleServerDatabase`\" pulumi-lang-yaml=\"`azure.postgresql.FlexibleServerDatabase`\" pulumi-lang-java=\"`azure.postgresql.FlexibleServerDatabase`\"\u003e`azure.postgresql.FlexibleServerDatabase`\u003c/span\u003e resource instead. For more information, see https://techcommunity.microsoft.com/blog/adforpostgresql/retiring-azure-database-for-postgresql-single-server-in-2025/3783783.\n\n!\u003e **Note:** To mitigate the possibility of accidental data loss it is highly recommended that you use the \u003cspan pulumi-lang-nodejs=\"`preventDestroy`\" pulumi-lang-dotnet=\"`PreventDestroy`\" pulumi-lang-go=\"`preventDestroy`\" pulumi-lang-python=\"`prevent_destroy`\" pulumi-lang-yaml=\"`preventDestroy`\" pulumi-lang-java=\"`preventDestroy`\"\u003e`prevent_destroy`\u003c/span\u003e lifecycle argument in your configuration file for this resource. For more information on the \u003cspan pulumi-lang-nodejs=\"`preventDestroy`\" pulumi-lang-dotnet=\"`PreventDestroy`\" pulumi-lang-go=\"`preventDestroy`\" pulumi-lang-python=\"`prevent_destroy`\" pulumi-lang-yaml=\"`preventDestroy`\" pulumi-lang-java=\"`preventDestroy`\"\u003e`prevent_destroy`\u003c/span\u003e lifecycle argument please see the terraform documentation.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"api-rg-pro\",\n    location: \"West Europe\",\n});\nconst exampleServer = new azure.postgresql.Server(\"example\", {\n    name: \"postgresql-server-1\",\n    location: example.location,\n    resourceGroupName: example.name,\n    skuName: \"B_Gen5_2\",\n    storageMb: 5120,\n    backupRetentionDays: 7,\n    geoRedundantBackupEnabled: false,\n    autoGrowEnabled: true,\n    administratorLogin: \"psqladmin\",\n    administratorLoginPassword: \"H@Sh1CoR3!\",\n    version: \"9.5\",\n    sslEnforcementEnabled: true,\n});\nconst exampleDatabase = new azure.postgresql.Database(\"example\", {\n    name: \"exampledb\",\n    resourceGroupName: example.name,\n    serverName: exampleServer.name,\n    charset: \"UTF8\",\n    collation: \"English_United States.1252\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"api-rg-pro\",\n    location=\"West Europe\")\nexample_server = azure.postgresql.Server(\"example\",\n    name=\"postgresql-server-1\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku_name=\"B_Gen5_2\",\n    storage_mb=5120,\n    backup_retention_days=7,\n    geo_redundant_backup_enabled=False,\n    auto_grow_enabled=True,\n    administrator_login=\"psqladmin\",\n    administrator_login_password=\"H@Sh1CoR3!\",\n    version=\"9.5\",\n    ssl_enforcement_enabled=True)\nexample_database = azure.postgresql.Database(\"example\",\n    name=\"exampledb\",\n    resource_group_name=example.name,\n    server_name=example_server.name,\n    charset=\"UTF8\",\n    collation=\"English_United States.1252\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"api-rg-pro\",\n        Location = \"West Europe\",\n    });\n\n    var exampleServer = new Azure.PostgreSql.Server(\"example\", new()\n    {\n        Name = \"postgresql-server-1\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        SkuName = \"B_Gen5_2\",\n        StorageMb = 5120,\n        BackupRetentionDays = 7,\n        GeoRedundantBackupEnabled = false,\n        AutoGrowEnabled = true,\n        AdministratorLogin = \"psqladmin\",\n        AdministratorLoginPassword = \"H@Sh1CoR3!\",\n        Version = \"9.5\",\n        SslEnforcementEnabled = true,\n    });\n\n    var exampleDatabase = new Azure.PostgreSql.Database(\"example\", new()\n    {\n        Name = \"exampledb\",\n        ResourceGroupName = example.Name,\n        ServerName = exampleServer.Name,\n        Charset = \"UTF8\",\n        Collation = \"English_United States.1252\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/postgresql\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"api-rg-pro\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleServer, err := postgresql.NewServer(ctx, \"example\", \u0026postgresql.ServerArgs{\n\t\t\tName:                       pulumi.String(\"postgresql-server-1\"),\n\t\t\tLocation:                   example.Location,\n\t\t\tResourceGroupName:          example.Name,\n\t\t\tSkuName:                    pulumi.String(\"B_Gen5_2\"),\n\t\t\tStorageMb:                  pulumi.Int(5120),\n\t\t\tBackupRetentionDays:        pulumi.Int(7),\n\t\t\tGeoRedundantBackupEnabled:  pulumi.Bool(false),\n\t\t\tAutoGrowEnabled:            pulumi.Bool(true),\n\t\t\tAdministratorLogin:         pulumi.String(\"psqladmin\"),\n\t\t\tAdministratorLoginPassword: pulumi.String(\"H@Sh1CoR3!\"),\n\t\t\tVersion:                    pulumi.String(\"9.5\"),\n\t\t\tSslEnforcementEnabled:      pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = postgresql.NewDatabase(ctx, \"example\", \u0026postgresql.DatabaseArgs{\n\t\t\tName:              pulumi.String(\"exampledb\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tServerName:        exampleServer.Name,\n\t\t\tCharset:           pulumi.String(\"UTF8\"),\n\t\t\tCollation:         pulumi.String(\"English_United States.1252\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.postgresql.Server;\nimport com.pulumi.azure.postgresql.ServerArgs;\nimport com.pulumi.azure.postgresql.Database;\nimport com.pulumi.azure.postgresql.DatabaseArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"api-rg-pro\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleServer = new Server(\"exampleServer\", ServerArgs.builder()\n            .name(\"postgresql-server-1\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .skuName(\"B_Gen5_2\")\n            .storageMb(5120)\n            .backupRetentionDays(7)\n            .geoRedundantBackupEnabled(false)\n            .autoGrowEnabled(true)\n            .administratorLogin(\"psqladmin\")\n            .administratorLoginPassword(\"H@Sh1CoR3!\")\n            .version(\"9.5\")\n            .sslEnforcementEnabled(true)\n            .build());\n\n        var exampleDatabase = new Database(\"exampleDatabase\", DatabaseArgs.builder()\n            .name(\"exampledb\")\n            .resourceGroupName(example.name())\n            .serverName(exampleServer.name())\n            .charset(\"UTF8\")\n            .collation(\"English_United States.1252\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: api-rg-pro\n      location: West Europe\n  exampleServer:\n    type: azure:postgresql:Server\n    name: example\n    properties:\n      name: postgresql-server-1\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      skuName: B_Gen5_2\n      storageMb: 5120\n      backupRetentionDays: 7\n      geoRedundantBackupEnabled: false\n      autoGrowEnabled: true\n      administratorLogin: psqladmin\n      administratorLoginPassword: H@Sh1CoR3!\n      version: '9.5'\n      sslEnforcementEnabled: true\n  exampleDatabase:\n    type: azure:postgresql:Database\n    name: example\n    properties:\n      name: exampledb\n      resourceGroupName: ${example.name}\n      serverName: ${exampleServer.name}\n      charset: UTF8\n      collation: English_United States.1252\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.DBforPostgreSQL` - 2017-12-01\n\n## Import\n\nPostgreSQL Database's can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:postgresql/database:Database database1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.DBforPostgreSQL/servers/server1/databases/database1\n```\n\n","properties":{"charset":{"type":"string","description":"Specifies the Charset for the PostgreSQL Database, which needs [to be a valid PostgreSQL Charset](https://www.postgresql.org/docs/current/static/multibyte.html). Changing this forces a new resource to be created.\n"},"collation":{"type":"string","description":"Specifies the Collation for the PostgreSQL Database, which needs [to be a valid PostgreSQL Collation](https://www.postgresql.org/docs/current/static/collation.html). Note that Microsoft uses different [notation](https://msdn.microsoft.com/library/windows/desktop/dd373814.aspx) - en-US instead of en_US. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"Specifies the name of the PostgreSQL Database, which needs [to be a valid PostgreSQL identifier](https://www.postgresql.org/docs/current/static/sql-syntax-lexical.html#SQL-SYNTAX-IDENTIFIERS). Changing this forces a new resource to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the PostgreSQL Server exists. Changing this forces a new resource to be created.\n"},"serverName":{"type":"string","description":"Specifies the name of the PostgreSQL Server. Changing this forces a new resource to be created.\n"}},"required":["charset","collation","name","resourceGroupName","serverName"],"inputProperties":{"charset":{"type":"string","description":"Specifies the Charset for the PostgreSQL Database, which needs [to be a valid PostgreSQL Charset](https://www.postgresql.org/docs/current/static/multibyte.html). Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"collation":{"type":"string","description":"Specifies the Collation for the PostgreSQL Database, which needs [to be a valid PostgreSQL Collation](https://www.postgresql.org/docs/current/static/collation.html). Note that Microsoft uses different [notation](https://msdn.microsoft.com/library/windows/desktop/dd373814.aspx) - en-US instead of en_US. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the PostgreSQL Database, which needs [to be a valid PostgreSQL identifier](https://www.postgresql.org/docs/current/static/sql-syntax-lexical.html#SQL-SYNTAX-IDENTIFIERS). Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the PostgreSQL Server exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"serverName":{"type":"string","description":"Specifies the name of the PostgreSQL Server. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["charset","collation","resourceGroupName","serverName"],"stateInputs":{"description":"Input properties used for looking up and filtering Database resources.\n","properties":{"charset":{"type":"string","description":"Specifies the Charset for the PostgreSQL Database, which needs [to be a valid PostgreSQL Charset](https://www.postgresql.org/docs/current/static/multibyte.html). Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"collation":{"type":"string","description":"Specifies the Collation for the PostgreSQL Database, which needs [to be a valid PostgreSQL Collation](https://www.postgresql.org/docs/current/static/collation.html). Note that Microsoft uses different [notation](https://msdn.microsoft.com/library/windows/desktop/dd373814.aspx) - en-US instead of en_US. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the PostgreSQL Database, which needs [to be a valid PostgreSQL identifier](https://www.postgresql.org/docs/current/static/sql-syntax-lexical.html#SQL-SYNTAX-IDENTIFIERS). Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the PostgreSQL Server exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"serverName":{"type":"string","description":"Specifies the name of the PostgreSQL Server. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:postgresql/firewallRule:FirewallRule":{"description":"Manages a Firewall Rule for a PostgreSQL Server\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`azure.postgresql.FirewallRule`\" pulumi-lang-dotnet=\"`azure.postgresql.FirewallRule`\" pulumi-lang-go=\"`postgresql.FirewallRule`\" pulumi-lang-python=\"`postgresql.FirewallRule`\" pulumi-lang-yaml=\"`azure.postgresql.FirewallRule`\" pulumi-lang-java=\"`azure.postgresql.FirewallRule`\"\u003e`azure.postgresql.FirewallRule`\u003c/span\u003e resource is deprecated and will be removed in v5.0 of the AzureRM Provider. Azure Database for PostgreSQL Single Server and its sub resources have been retired as of 2025-03-28, please use the \u003cspan pulumi-lang-nodejs=\"`azure.postgresql.FlexibleServerFirewallRule`\" pulumi-lang-dotnet=\"`azure.postgresql.FlexibleServerFirewallRule`\" pulumi-lang-go=\"`postgresql.FlexibleServerFirewallRule`\" pulumi-lang-python=\"`postgresql.FlexibleServerFirewallRule`\" pulumi-lang-yaml=\"`azure.postgresql.FlexibleServerFirewallRule`\" pulumi-lang-java=\"`azure.postgresql.FlexibleServerFirewallRule`\"\u003e`azure.postgresql.FlexibleServerFirewallRule`\u003c/span\u003e resource instead. For more information, see https://techcommunity.microsoft.com/blog/adforpostgresql/retiring-azure-database-for-postgresql-single-server-in-2025/3783783.\n\n## Example Usage\n\n### Single IP Address)\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"api-rg-pro\",\n    location: \"West Europe\",\n});\nconst exampleServer = new azure.postgresql.Server(\"example\", {\n    name: \"example-postgre-server\",\n    location: example.location,\n    resourceGroupName: example.name,\n    skuName: \"GP_Gen5_2\",\n    version: \"11\",\n    sslEnforcementEnabled: true,\n});\nconst exampleFirewallRule = new azure.postgresql.FirewallRule(\"example\", {\n    name: \"office\",\n    resourceGroupName: example.name,\n    serverName: exampleServer.name,\n    startIpAddress: \"40.112.8.12\",\n    endIpAddress: \"40.112.8.12\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"api-rg-pro\",\n    location=\"West Europe\")\nexample_server = azure.postgresql.Server(\"example\",\n    name=\"example-postgre-server\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku_name=\"GP_Gen5_2\",\n    version=\"11\",\n    ssl_enforcement_enabled=True)\nexample_firewall_rule = azure.postgresql.FirewallRule(\"example\",\n    name=\"office\",\n    resource_group_name=example.name,\n    server_name=example_server.name,\n    start_ip_address=\"40.112.8.12\",\n    end_ip_address=\"40.112.8.12\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"api-rg-pro\",\n        Location = \"West Europe\",\n    });\n\n    var exampleServer = new Azure.PostgreSql.Server(\"example\", new()\n    {\n        Name = \"example-postgre-server\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        SkuName = \"GP_Gen5_2\",\n        Version = \"11\",\n        SslEnforcementEnabled = true,\n    });\n\n    var exampleFirewallRule = new Azure.PostgreSql.FirewallRule(\"example\", new()\n    {\n        Name = \"office\",\n        ResourceGroupName = example.Name,\n        ServerName = exampleServer.Name,\n        StartIpAddress = \"40.112.8.12\",\n        EndIpAddress = \"40.112.8.12\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/postgresql\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"api-rg-pro\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleServer, err := postgresql.NewServer(ctx, \"example\", \u0026postgresql.ServerArgs{\n\t\t\tName:                  pulumi.String(\"example-postgre-server\"),\n\t\t\tLocation:              example.Location,\n\t\t\tResourceGroupName:     example.Name,\n\t\t\tSkuName:               pulumi.String(\"GP_Gen5_2\"),\n\t\t\tVersion:               pulumi.String(\"11\"),\n\t\t\tSslEnforcementEnabled: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = postgresql.NewFirewallRule(ctx, \"example\", \u0026postgresql.FirewallRuleArgs{\n\t\t\tName:              pulumi.String(\"office\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tServerName:        exampleServer.Name,\n\t\t\tStartIpAddress:    pulumi.String(\"40.112.8.12\"),\n\t\t\tEndIpAddress:      pulumi.String(\"40.112.8.12\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.postgresql.Server;\nimport com.pulumi.azure.postgresql.ServerArgs;\nimport com.pulumi.azure.postgresql.FirewallRule;\nimport com.pulumi.azure.postgresql.FirewallRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"api-rg-pro\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleServer = new Server(\"exampleServer\", ServerArgs.builder()\n            .name(\"example-postgre-server\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .skuName(\"GP_Gen5_2\")\n            .version(\"11\")\n            .sslEnforcementEnabled(true)\n            .build());\n\n        var exampleFirewallRule = new FirewallRule(\"exampleFirewallRule\", FirewallRuleArgs.builder()\n            .name(\"office\")\n            .resourceGroupName(example.name())\n            .serverName(exampleServer.name())\n            .startIpAddress(\"40.112.8.12\")\n            .endIpAddress(\"40.112.8.12\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: api-rg-pro\n      location: West Europe\n  exampleServer:\n    type: azure:postgresql:Server\n    name: example\n    properties:\n      name: example-postgre-server\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      skuName: GP_Gen5_2\n      version: '11'\n      sslEnforcementEnabled: true\n  exampleFirewallRule:\n    type: azure:postgresql:FirewallRule\n    name: example\n    properties:\n      name: office\n      resourceGroupName: ${example.name}\n      serverName: ${exampleServer.name}\n      startIpAddress: 40.112.8.12\n      endIpAddress: 40.112.8.12\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\n### IP Range)\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"api-rg-pro\",\n    location: \"West Europe\",\n});\nconst exampleServer = new azure.postgresql.Server(\"example\", {});\nconst exampleFirewallRule = new azure.postgresql.FirewallRule(\"example\", {\n    name: \"office\",\n    resourceGroupName: example.name,\n    serverName: exampleServer.name,\n    startIpAddress: \"40.112.0.0\",\n    endIpAddress: \"40.112.255.255\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"api-rg-pro\",\n    location=\"West Europe\")\nexample_server = azure.postgresql.Server(\"example\")\nexample_firewall_rule = azure.postgresql.FirewallRule(\"example\",\n    name=\"office\",\n    resource_group_name=example.name,\n    server_name=example_server.name,\n    start_ip_address=\"40.112.0.0\",\n    end_ip_address=\"40.112.255.255\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"api-rg-pro\",\n        Location = \"West Europe\",\n    });\n\n    var exampleServer = new Azure.PostgreSql.Server(\"example\");\n\n    var exampleFirewallRule = new Azure.PostgreSql.FirewallRule(\"example\", new()\n    {\n        Name = \"office\",\n        ResourceGroupName = example.Name,\n        ServerName = exampleServer.Name,\n        StartIpAddress = \"40.112.0.0\",\n        EndIpAddress = \"40.112.255.255\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/postgresql\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"api-rg-pro\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleServer, err := postgresql.NewServer(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = postgresql.NewFirewallRule(ctx, \"example\", \u0026postgresql.FirewallRuleArgs{\n\t\t\tName:              pulumi.String(\"office\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tServerName:        exampleServer.Name,\n\t\t\tStartIpAddress:    pulumi.String(\"40.112.0.0\"),\n\t\t\tEndIpAddress:      pulumi.String(\"40.112.255.255\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.postgresql.Server;\nimport com.pulumi.azure.postgresql.FirewallRule;\nimport com.pulumi.azure.postgresql.FirewallRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"api-rg-pro\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleServer = new Server(\"exampleServer\");\n\n        var exampleFirewallRule = new FirewallRule(\"exampleFirewallRule\", FirewallRuleArgs.builder()\n            .name(\"office\")\n            .resourceGroupName(example.name())\n            .serverName(exampleServer.name())\n            .startIpAddress(\"40.112.0.0\")\n            .endIpAddress(\"40.112.255.255\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: api-rg-pro\n      location: West Europe\n  exampleServer:\n    type: azure:postgresql:Server\n    name: example\n  exampleFirewallRule:\n    type: azure:postgresql:FirewallRule\n    name: example\n    properties:\n      name: office\n      resourceGroupName: ${example.name}\n      serverName: ${exampleServer.name}\n      startIpAddress: 40.112.0.0\n      endIpAddress: 40.112.255.255\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.DBforPostgreSQL` - 2017-12-01\n\n## Import\n\nPostgreSQL Firewall Rule's can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:postgresql/firewallRule:FirewallRule rule1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.DBforPostgreSQL/servers/server1/firewallRules/rule1\n```\n\n","properties":{"endIpAddress":{"type":"string","description":"Specifies the End IP Address associated with this Firewall Rule. Changing this forces a new resource to be created.\n\n\u003e **Note:** The Azure feature `Allow access to Azure services` can be enabled by setting \u003cspan pulumi-lang-nodejs=\"`startIpAddress`\" pulumi-lang-dotnet=\"`StartIpAddress`\" pulumi-lang-go=\"`startIpAddress`\" pulumi-lang-python=\"`start_ip_address`\" pulumi-lang-yaml=\"`startIpAddress`\" pulumi-lang-java=\"`startIpAddress`\"\u003e`start_ip_address`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`endIpAddress`\" pulumi-lang-dotnet=\"`EndIpAddress`\" pulumi-lang-go=\"`endIpAddress`\" pulumi-lang-python=\"`end_ip_address`\" pulumi-lang-yaml=\"`endIpAddress`\" pulumi-lang-java=\"`endIpAddress`\"\u003e`end_ip_address`\u003c/span\u003e to `0.0.0.0` which ([is documented in the Azure API Docs](https://docs.microsoft.com/rest/api/sql/firewallrules/createorupdate)).\n"},"name":{"type":"string","description":"Specifies the name of the PostgreSQL Firewall Rule. Changing this forces a new resource to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the PostgreSQL Server exists. Changing this forces a new resource to be created.\n"},"serverName":{"type":"string","description":"Specifies the name of the PostgreSQL Server. Changing this forces a new resource to be created.\n"},"startIpAddress":{"type":"string","description":"Specifies the Start IP Address associated with this Firewall Rule. Changing this forces a new resource to be created.\n"}},"required":["endIpAddress","name","resourceGroupName","serverName","startIpAddress"],"inputProperties":{"endIpAddress":{"type":"string","description":"Specifies the End IP Address associated with this Firewall Rule. Changing this forces a new resource to be created.\n\n\u003e **Note:** The Azure feature `Allow access to Azure services` can be enabled by setting \u003cspan pulumi-lang-nodejs=\"`startIpAddress`\" pulumi-lang-dotnet=\"`StartIpAddress`\" pulumi-lang-go=\"`startIpAddress`\" pulumi-lang-python=\"`start_ip_address`\" pulumi-lang-yaml=\"`startIpAddress`\" pulumi-lang-java=\"`startIpAddress`\"\u003e`start_ip_address`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`endIpAddress`\" pulumi-lang-dotnet=\"`EndIpAddress`\" pulumi-lang-go=\"`endIpAddress`\" pulumi-lang-python=\"`end_ip_address`\" pulumi-lang-yaml=\"`endIpAddress`\" pulumi-lang-java=\"`endIpAddress`\"\u003e`end_ip_address`\u003c/span\u003e to `0.0.0.0` which ([is documented in the Azure API Docs](https://docs.microsoft.com/rest/api/sql/firewallrules/createorupdate)).\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the PostgreSQL Firewall Rule. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the PostgreSQL Server exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"serverName":{"type":"string","description":"Specifies the name of the PostgreSQL Server. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"startIpAddress":{"type":"string","description":"Specifies the Start IP Address associated with this Firewall Rule. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["endIpAddress","resourceGroupName","serverName","startIpAddress"],"stateInputs":{"description":"Input properties used for looking up and filtering FirewallRule resources.\n","properties":{"endIpAddress":{"type":"string","description":"Specifies the End IP Address associated with this Firewall Rule. Changing this forces a new resource to be created.\n\n\u003e **Note:** The Azure feature `Allow access to Azure services` can be enabled by setting \u003cspan pulumi-lang-nodejs=\"`startIpAddress`\" pulumi-lang-dotnet=\"`StartIpAddress`\" pulumi-lang-go=\"`startIpAddress`\" pulumi-lang-python=\"`start_ip_address`\" pulumi-lang-yaml=\"`startIpAddress`\" pulumi-lang-java=\"`startIpAddress`\"\u003e`start_ip_address`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`endIpAddress`\" pulumi-lang-dotnet=\"`EndIpAddress`\" pulumi-lang-go=\"`endIpAddress`\" pulumi-lang-python=\"`end_ip_address`\" pulumi-lang-yaml=\"`endIpAddress`\" pulumi-lang-java=\"`endIpAddress`\"\u003e`end_ip_address`\u003c/span\u003e to `0.0.0.0` which ([is documented in the Azure API Docs](https://docs.microsoft.com/rest/api/sql/firewallrules/createorupdate)).\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the PostgreSQL Firewall Rule. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the PostgreSQL Server exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"serverName":{"type":"string","description":"Specifies the name of the PostgreSQL Server. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"startIpAddress":{"type":"string","description":"Specifies the Start IP Address associated with this Firewall Rule. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:postgresql/flexibleServer:FlexibleServer":{"description":"Manages a PostgreSQL Flexible Server.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"example\", {\n    name: \"example-vn\",\n    location: example.location,\n    resourceGroupName: example.name,\n    addressSpaces: [\"10.0.0.0/16\"],\n});\nconst exampleSubnet = new azure.network.Subnet(\"example\", {\n    name: \"example-sn\",\n    resourceGroupName: example.name,\n    virtualNetworkName: exampleVirtualNetwork.name,\n    addressPrefixes: [\"10.0.2.0/24\"],\n    serviceEndpoints: [\"Microsoft.Storage\"],\n    delegations: [{\n        name: \"fs\",\n        serviceDelegation: {\n            name: \"Microsoft.DBforPostgreSQL/flexibleServers\",\n            actions: [\"Microsoft.Network/virtualNetworks/subnets/join/action\"],\n        },\n    }],\n});\nconst exampleZone = new azure.privatedns.Zone(\"example\", {\n    name: \"example.postgres.database.azure.com\",\n    resourceGroupName: example.name,\n});\nconst exampleZoneVirtualNetworkLink = new azure.privatedns.ZoneVirtualNetworkLink(\"example\", {\n    name: \"exampleVnetZone.com\",\n    privateDnsZoneName: exampleZone.name,\n    virtualNetworkId: exampleVirtualNetwork.id,\n    resourceGroupName: example.name,\n}, {\n    dependsOn: [exampleSubnet],\n});\nconst exampleFlexibleServer = new azure.postgresql.FlexibleServer(\"example\", {\n    name: \"example-psqlflexibleserver\",\n    resourceGroupName: example.name,\n    location: example.location,\n    version: \"12\",\n    delegatedSubnetId: exampleSubnet.id,\n    privateDnsZoneId: exampleZone.id,\n    publicNetworkAccessEnabled: false,\n    administratorLogin: \"psqladmin\",\n    administratorPassword: \"H@Sh1CoR3!\",\n    zone: \"1\",\n    storageMb: 32768,\n    storageTier: \"P4\",\n    skuName: \"B_Standard_B1ms\",\n}, {\n    dependsOn: [exampleZoneVirtualNetworkLink],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_virtual_network = azure.network.VirtualNetwork(\"example\",\n    name=\"example-vn\",\n    location=example.location,\n    resource_group_name=example.name,\n    address_spaces=[\"10.0.0.0/16\"])\nexample_subnet = azure.network.Subnet(\"example\",\n    name=\"example-sn\",\n    resource_group_name=example.name,\n    virtual_network_name=example_virtual_network.name,\n    address_prefixes=[\"10.0.2.0/24\"],\n    service_endpoints=[\"Microsoft.Storage\"],\n    delegations=[{\n        \"name\": \"fs\",\n        \"service_delegation\": {\n            \"name\": \"Microsoft.DBforPostgreSQL/flexibleServers\",\n            \"actions\": [\"Microsoft.Network/virtualNetworks/subnets/join/action\"],\n        },\n    }])\nexample_zone = azure.privatedns.Zone(\"example\",\n    name=\"example.postgres.database.azure.com\",\n    resource_group_name=example.name)\nexample_zone_virtual_network_link = azure.privatedns.ZoneVirtualNetworkLink(\"example\",\n    name=\"exampleVnetZone.com\",\n    private_dns_zone_name=example_zone.name,\n    virtual_network_id=example_virtual_network.id,\n    resource_group_name=example.name,\n    opts = pulumi.ResourceOptions(depends_on=[example_subnet]))\nexample_flexible_server = azure.postgresql.FlexibleServer(\"example\",\n    name=\"example-psqlflexibleserver\",\n    resource_group_name=example.name,\n    location=example.location,\n    version=\"12\",\n    delegated_subnet_id=example_subnet.id,\n    private_dns_zone_id=example_zone.id,\n    public_network_access_enabled=False,\n    administrator_login=\"psqladmin\",\n    administrator_password=\"H@Sh1CoR3!\",\n    zone=\"1\",\n    storage_mb=32768,\n    storage_tier=\"P4\",\n    sku_name=\"B_Standard_B1ms\",\n    opts = pulumi.ResourceOptions(depends_on=[example_zone_virtual_network_link]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleVirtualNetwork = new Azure.Network.VirtualNetwork(\"example\", new()\n    {\n        Name = \"example-vn\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        AddressSpaces = new[]\n        {\n            \"10.0.0.0/16\",\n        },\n    });\n\n    var exampleSubnet = new Azure.Network.Subnet(\"example\", new()\n    {\n        Name = \"example-sn\",\n        ResourceGroupName = example.Name,\n        VirtualNetworkName = exampleVirtualNetwork.Name,\n        AddressPrefixes = new[]\n        {\n            \"10.0.2.0/24\",\n        },\n        ServiceEndpoints = new[]\n        {\n            \"Microsoft.Storage\",\n        },\n        Delegations = new[]\n        {\n            new Azure.Network.Inputs.SubnetDelegationArgs\n            {\n                Name = \"fs\",\n                ServiceDelegation = new Azure.Network.Inputs.SubnetDelegationServiceDelegationArgs\n                {\n                    Name = \"Microsoft.DBforPostgreSQL/flexibleServers\",\n                    Actions = new[]\n                    {\n                        \"Microsoft.Network/virtualNetworks/subnets/join/action\",\n                    },\n                },\n            },\n        },\n    });\n\n    var exampleZone = new Azure.PrivateDns.Zone(\"example\", new()\n    {\n        Name = \"example.postgres.database.azure.com\",\n        ResourceGroupName = example.Name,\n    });\n\n    var exampleZoneVirtualNetworkLink = new Azure.PrivateDns.ZoneVirtualNetworkLink(\"example\", new()\n    {\n        Name = \"exampleVnetZone.com\",\n        PrivateDnsZoneName = exampleZone.Name,\n        VirtualNetworkId = exampleVirtualNetwork.Id,\n        ResourceGroupName = example.Name,\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            exampleSubnet,\n        },\n    });\n\n    var exampleFlexibleServer = new Azure.PostgreSql.FlexibleServer(\"example\", new()\n    {\n        Name = \"example-psqlflexibleserver\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        Version = \"12\",\n        DelegatedSubnetId = exampleSubnet.Id,\n        PrivateDnsZoneId = exampleZone.Id,\n        PublicNetworkAccessEnabled = false,\n        AdministratorLogin = \"psqladmin\",\n        AdministratorPassword = \"H@Sh1CoR3!\",\n        Zone = \"1\",\n        StorageMb = 32768,\n        StorageTier = \"P4\",\n        SkuName = \"B_Standard_B1ms\",\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            exampleZoneVirtualNetworkLink,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/postgresql\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/privatedns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, \"example\", \u0026network.VirtualNetworkArgs{\n\t\t\tName:              pulumi.String(\"example-vn\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tAddressSpaces: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.0.0/16\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSubnet, err := network.NewSubnet(ctx, \"example\", \u0026network.SubnetArgs{\n\t\t\tName:               pulumi.String(\"example-sn\"),\n\t\t\tResourceGroupName:  example.Name,\n\t\t\tVirtualNetworkName: exampleVirtualNetwork.Name,\n\t\t\tAddressPrefixes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.2.0/24\"),\n\t\t\t},\n\t\t\tServiceEndpoints: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"Microsoft.Storage\"),\n\t\t\t},\n\t\t\tDelegations: network.SubnetDelegationArray{\n\t\t\t\t\u0026network.SubnetDelegationArgs{\n\t\t\t\t\tName: pulumi.String(\"fs\"),\n\t\t\t\t\tServiceDelegation: \u0026network.SubnetDelegationServiceDelegationArgs{\n\t\t\t\t\t\tName: pulumi.String(\"Microsoft.DBforPostgreSQL/flexibleServers\"),\n\t\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"Microsoft.Network/virtualNetworks/subnets/join/action\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleZone, err := privatedns.NewZone(ctx, \"example\", \u0026privatedns.ZoneArgs{\n\t\t\tName:              pulumi.String(\"example.postgres.database.azure.com\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleZoneVirtualNetworkLink, err := privatedns.NewZoneVirtualNetworkLink(ctx, \"example\", \u0026privatedns.ZoneVirtualNetworkLinkArgs{\n\t\t\tName:               pulumi.String(\"exampleVnetZone.com\"),\n\t\t\tPrivateDnsZoneName: exampleZone.Name,\n\t\t\tVirtualNetworkId:   exampleVirtualNetwork.ID(),\n\t\t\tResourceGroupName:  example.Name,\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleSubnet,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = postgresql.NewFlexibleServer(ctx, \"example\", \u0026postgresql.FlexibleServerArgs{\n\t\t\tName:                       pulumi.String(\"example-psqlflexibleserver\"),\n\t\t\tResourceGroupName:          example.Name,\n\t\t\tLocation:                   example.Location,\n\t\t\tVersion:                    pulumi.String(\"12\"),\n\t\t\tDelegatedSubnetId:          exampleSubnet.ID(),\n\t\t\tPrivateDnsZoneId:           exampleZone.ID(),\n\t\t\tPublicNetworkAccessEnabled: pulumi.Bool(false),\n\t\t\tAdministratorLogin:         pulumi.String(\"psqladmin\"),\n\t\t\tAdministratorPassword:      pulumi.String(\"H@Sh1CoR3!\"),\n\t\t\tZone:                       pulumi.String(\"1\"),\n\t\t\tStorageMb:                  pulumi.Int(32768),\n\t\t\tStorageTier:                pulumi.String(\"P4\"),\n\t\t\tSkuName:                    pulumi.String(\"B_Standard_B1ms\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleZoneVirtualNetworkLink,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.VirtualNetwork;\nimport com.pulumi.azure.network.VirtualNetworkArgs;\nimport com.pulumi.azure.network.Subnet;\nimport com.pulumi.azure.network.SubnetArgs;\nimport com.pulumi.azure.network.inputs.SubnetDelegationArgs;\nimport com.pulumi.azure.network.inputs.SubnetDelegationServiceDelegationArgs;\nimport com.pulumi.azure.privatedns.Zone;\nimport com.pulumi.azure.privatedns.ZoneArgs;\nimport com.pulumi.azure.privatedns.ZoneVirtualNetworkLink;\nimport com.pulumi.azure.privatedns.ZoneVirtualNetworkLinkArgs;\nimport com.pulumi.azure.postgresql.FlexibleServer;\nimport com.pulumi.azure.postgresql.FlexibleServerArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleVirtualNetwork = new VirtualNetwork(\"exampleVirtualNetwork\", VirtualNetworkArgs.builder()\n            .name(\"example-vn\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .addressSpaces(\"10.0.0.0/16\")\n            .build());\n\n        var exampleSubnet = new Subnet(\"exampleSubnet\", SubnetArgs.builder()\n            .name(\"example-sn\")\n            .resourceGroupName(example.name())\n            .virtualNetworkName(exampleVirtualNetwork.name())\n            .addressPrefixes(\"10.0.2.0/24\")\n            .serviceEndpoints(\"Microsoft.Storage\")\n            .delegations(SubnetDelegationArgs.builder()\n                .name(\"fs\")\n                .serviceDelegation(SubnetDelegationServiceDelegationArgs.builder()\n                    .name(\"Microsoft.DBforPostgreSQL/flexibleServers\")\n                    .actions(\"Microsoft.Network/virtualNetworks/subnets/join/action\")\n                    .build())\n                .build())\n            .build());\n\n        var exampleZone = new Zone(\"exampleZone\", ZoneArgs.builder()\n            .name(\"example.postgres.database.azure.com\")\n            .resourceGroupName(example.name())\n            .build());\n\n        var exampleZoneVirtualNetworkLink = new ZoneVirtualNetworkLink(\"exampleZoneVirtualNetworkLink\", ZoneVirtualNetworkLinkArgs.builder()\n            .name(\"exampleVnetZone.com\")\n            .privateDnsZoneName(exampleZone.name())\n            .virtualNetworkId(exampleVirtualNetwork.id())\n            .resourceGroupName(example.name())\n            .build(), CustomResourceOptions.builder()\n                .dependsOn(exampleSubnet)\n                .build());\n\n        var exampleFlexibleServer = new FlexibleServer(\"exampleFlexibleServer\", FlexibleServerArgs.builder()\n            .name(\"example-psqlflexibleserver\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .version(\"12\")\n            .delegatedSubnetId(exampleSubnet.id())\n            .privateDnsZoneId(exampleZone.id())\n            .publicNetworkAccessEnabled(false)\n            .administratorLogin(\"psqladmin\")\n            .administratorPassword(\"H@Sh1CoR3!\")\n            .zone(\"1\")\n            .storageMb(32768)\n            .storageTier(\"P4\")\n            .skuName(\"B_Standard_B1ms\")\n            .build(), CustomResourceOptions.builder()\n                .dependsOn(exampleZoneVirtualNetworkLink)\n                .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleVirtualNetwork:\n    type: azure:network:VirtualNetwork\n    name: example\n    properties:\n      name: example-vn\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      addressSpaces:\n        - 10.0.0.0/16\n  exampleSubnet:\n    type: azure:network:Subnet\n    name: example\n    properties:\n      name: example-sn\n      resourceGroupName: ${example.name}\n      virtualNetworkName: ${exampleVirtualNetwork.name}\n      addressPrefixes:\n        - 10.0.2.0/24\n      serviceEndpoints:\n        - Microsoft.Storage\n      delegations:\n        - name: fs\n          serviceDelegation:\n            name: Microsoft.DBforPostgreSQL/flexibleServers\n            actions:\n              - Microsoft.Network/virtualNetworks/subnets/join/action\n  exampleZone:\n    type: azure:privatedns:Zone\n    name: example\n    properties:\n      name: example.postgres.database.azure.com\n      resourceGroupName: ${example.name}\n  exampleZoneVirtualNetworkLink:\n    type: azure:privatedns:ZoneVirtualNetworkLink\n    name: example\n    properties:\n      name: exampleVnetZone.com\n      privateDnsZoneName: ${exampleZone.name}\n      virtualNetworkId: ${exampleVirtualNetwork.id}\n      resourceGroupName: ${example.name}\n    options:\n      dependsOn:\n        - ${exampleSubnet}\n  exampleFlexibleServer:\n    type: azure:postgresql:FlexibleServer\n    name: example\n    properties:\n      name: example-psqlflexibleserver\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      version: '12'\n      delegatedSubnetId: ${exampleSubnet.id}\n      privateDnsZoneId: ${exampleZone.id}\n      publicNetworkAccessEnabled: false\n      administratorLogin: psqladmin\n      administratorPassword: H@Sh1CoR3!\n      zone: '1'\n      storageMb: 32768\n      storageTier: P4\n      skuName: B_Standard_B1ms\n    options:\n      dependsOn:\n        - ${exampleZoneVirtualNetworkLink}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## \u003cspan pulumi-lang-nodejs=\"`storageTier`\" pulumi-lang-dotnet=\"`StorageTier`\" pulumi-lang-go=\"`storageTier`\" pulumi-lang-python=\"`storage_tier`\" pulumi-lang-yaml=\"`storageTier`\" pulumi-lang-java=\"`storageTier`\"\u003e`storage_tier`\u003c/span\u003e defaults based on \u003cspan pulumi-lang-nodejs=\"`storageMb`\" pulumi-lang-dotnet=\"`StorageMb`\" pulumi-lang-go=\"`storageMb`\" pulumi-lang-python=\"`storage_mb`\" pulumi-lang-yaml=\"`storageMb`\" pulumi-lang-java=\"`storageMb`\"\u003e`storage_mb`\u003c/span\u003e\n\n| \u003cspan pulumi-lang-nodejs=\"`storageMb`\" pulumi-lang-dotnet=\"`StorageMb`\" pulumi-lang-go=\"`storageMb`\" pulumi-lang-python=\"`storage_mb`\" pulumi-lang-yaml=\"`storageMb`\" pulumi-lang-java=\"`storageMb`\"\u003e`storage_mb`\u003c/span\u003e | GiB   | TiB | Default | Supported \u003cspan pulumi-lang-nodejs=\"`storageTier`\" pulumi-lang-dotnet=\"`StorageTier`\" pulumi-lang-go=\"`storageTier`\" pulumi-lang-python=\"`storage_tier`\" pulumi-lang-yaml=\"`storageTier`\" pulumi-lang-java=\"`storageTier`\"\u003e`storage_tier`\u003c/span\u003e's           | Provisioned `IOPS`  |\n|:------------:|:-----:|:---:|:-------:|:------------------------------------:|:-------------------:|\n| 32768        | 32    |  -  | P4      | P4, P6, P10, P15, P20, P30, P40, P50 | 120                 |\n| 65536        | 64    |  -  | P6      | P6, P10, P15, P20, P30, P40, P50     | 240                 |\n| 131072       | 128   |  -  | P10     | P10, P15, P20, P30, P40, P50         | 500                 |\n| 262144       | 256   |  -  | P15     | P15, P20, P30, P40, P50              | 1,100               |\n| 524288       | 512   |  -  | P20     | P20, P30, P40, P50                   | 2,300               |\n| 1048576      | 1024  |  1  | P30     | P30, P40, P50                        | 5,000               |\n| 2097152      | 2048  |  2  | P40     | P40, P50                             | 7,500               |\n| 4193280      | 4095  |  4  | P50     | P50                                  | 7,500               |\n| 4194304      | 4096  |  4  | P50     | P50                                  | 7,500               |\n| 8388608      | 8192  |  8  | P60     | P60, P70                             | 16,000              |\n| 16777216     | 16384 |  16 | P70     | P70, P80                             | 18,000              |\n| 33553408     | 32767 |  32 | P80     | P80                                  | 20,000              |\n\n\u003e **Note:** Host Caching (ReadOnly and Read/Write) is supported on disk sizes less than 4194304 MiB. This means any disk that is provisioned up to 4193280 MiB can take advantage of Host Caching. Host caching is not supported for disk sizes larger than 4193280 MiB. For example, a P50 premium disk provisioned at 4193280 GiB can take advantage of Host caching while a P50 disk provisioned at 4194304 MiB cannot. Moving from a smaller disk size to a larger disk size, greater than 4193280 MiB, will cause the disk to lose the disk caching ability.\n\n---\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.DBforPostgreSQL` - 2025-08-01\n\n## Import\n\nPostgreSQL Flexible Servers can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:postgresql/flexibleServer:FlexibleServer example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.DBforPostgreSQL/flexibleServers/server1\n```\n\n","properties":{"administratorLogin":{"type":"string","description":"The Administrator login for the PostgreSQL Flexible Server. Required when \u003cspan pulumi-lang-nodejs=\"`createMode`\" pulumi-lang-dotnet=\"`CreateMode`\" pulumi-lang-go=\"`createMode`\" pulumi-lang-python=\"`create_mode`\" pulumi-lang-yaml=\"`createMode`\" pulumi-lang-java=\"`createMode`\"\u003e`create_mode`\u003c/span\u003e is `Default` and `authentication.password_auth_enabled` is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n\n\u003e **Note:** Once \u003cspan pulumi-lang-nodejs=\"`administratorLogin`\" pulumi-lang-dotnet=\"`AdministratorLogin`\" pulumi-lang-go=\"`administratorLogin`\" pulumi-lang-python=\"`administrator_login`\" pulumi-lang-yaml=\"`administratorLogin`\" pulumi-lang-java=\"`administratorLogin`\"\u003e`administrator_login`\u003c/span\u003e is specified, changing this forces a new PostgreSQL Flexible Server to be created.\n\n\u003e **Note:** To create with \u003cspan pulumi-lang-nodejs=\"`administratorLogin`\" pulumi-lang-dotnet=\"`AdministratorLogin`\" pulumi-lang-go=\"`administratorLogin`\" pulumi-lang-python=\"`administrator_login`\" pulumi-lang-yaml=\"`administratorLogin`\" pulumi-lang-java=\"`administratorLogin`\"\u003e`administrator_login`\u003c/span\u003e specified or update with it first specified , `authentication.password_auth_enabled` must be set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"administratorPassword":{"type":"string","description":"The Password associated with the \u003cspan pulumi-lang-nodejs=\"`administratorLogin`\" pulumi-lang-dotnet=\"`AdministratorLogin`\" pulumi-lang-go=\"`administratorLogin`\" pulumi-lang-python=\"`administrator_login`\" pulumi-lang-yaml=\"`administratorLogin`\" pulumi-lang-java=\"`administratorLogin`\"\u003e`administrator_login`\u003c/span\u003e for the PostgreSQL Flexible Server.\n","secret":true},"administratorPasswordWoVersion":{"type":"integer","description":"An integer value used to trigger an update for \u003cspan pulumi-lang-nodejs=\"`administratorPasswordWo`\" pulumi-lang-dotnet=\"`AdministratorPasswordWo`\" pulumi-lang-go=\"`administratorPasswordWo`\" pulumi-lang-python=\"`administrator_password_wo`\" pulumi-lang-yaml=\"`administratorPasswordWo`\" pulumi-lang-java=\"`administratorPasswordWo`\"\u003e`administrator_password_wo`\u003c/span\u003e. This property should be incremented when updating \u003cspan pulumi-lang-nodejs=\"`administratorPasswordWo`\" pulumi-lang-dotnet=\"`AdministratorPasswordWo`\" pulumi-lang-go=\"`administratorPasswordWo`\" pulumi-lang-python=\"`administrator_password_wo`\" pulumi-lang-yaml=\"`administratorPasswordWo`\" pulumi-lang-java=\"`administratorPasswordWo`\"\u003e`administrator_password_wo`\u003c/span\u003e.\n"},"authentication":{"$ref":"#/types/azure:postgresql/FlexibleServerAuthentication:FlexibleServerAuthentication","description":"An \u003cspan pulumi-lang-nodejs=\"`authentication`\" pulumi-lang-dotnet=\"`Authentication`\" pulumi-lang-go=\"`authentication`\" pulumi-lang-python=\"`authentication`\" pulumi-lang-yaml=\"`authentication`\" pulumi-lang-java=\"`authentication`\"\u003e`authentication`\u003c/span\u003e block as defined below.\n"},"autoGrowEnabled":{"type":"boolean","description":"Is the storage auto grow for PostgreSQL Flexible Server enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"backupRetentionDays":{"type":"integer","description":"The backup retention days for the PostgreSQL Flexible Server. Possible values are between \u003cspan pulumi-lang-nodejs=\"`7`\" pulumi-lang-dotnet=\"`7`\" pulumi-lang-go=\"`7`\" pulumi-lang-python=\"`7`\" pulumi-lang-yaml=\"`7`\" pulumi-lang-java=\"`7`\"\u003e`7`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`35`\" pulumi-lang-dotnet=\"`35`\" pulumi-lang-go=\"`35`\" pulumi-lang-python=\"`35`\" pulumi-lang-yaml=\"`35`\" pulumi-lang-java=\"`35`\"\u003e`35`\u003c/span\u003e days.\n"},"cluster":{"$ref":"#/types/azure:postgresql/FlexibleServerCluster:FlexibleServerCluster","description":"A \u003cspan pulumi-lang-nodejs=\"`cluster`\" pulumi-lang-dotnet=\"`Cluster`\" pulumi-lang-go=\"`cluster`\" pulumi-lang-python=\"`cluster`\" pulumi-lang-yaml=\"`cluster`\" pulumi-lang-java=\"`cluster`\"\u003e`cluster`\u003c/span\u003e block as defined below.\n"},"createMode":{"type":"string","description":"The creation mode which can be used to restore or replicate existing servers. Possible values are `Default`, `GeoRestore`, `PointInTimeRestore`, `Replica`, `ReviveDropped` and `Update`.\n"},"customerManagedKey":{"$ref":"#/types/azure:postgresql/FlexibleServerCustomerManagedKey:FlexibleServerCustomerManagedKey","description":"A \u003cspan pulumi-lang-nodejs=\"`customerManagedKey`\" pulumi-lang-dotnet=\"`CustomerManagedKey`\" pulumi-lang-go=\"`customerManagedKey`\" pulumi-lang-python=\"`customer_managed_key`\" pulumi-lang-yaml=\"`customerManagedKey`\" pulumi-lang-java=\"`customerManagedKey`\"\u003e`customer_managed_key`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n"},"delegatedSubnetId":{"type":"string","description":"The ID of the virtual network subnet to create the PostgreSQL Flexible Server. The provided subnet should not have any other resource deployed in it and this subnet will be delegated to the PostgreSQL Flexible Server, if not already delegated. Changing this forces a new PostgreSQL Flexible Server to be created.\n"},"fqdn":{"type":"string","description":"The FQDN of the PostgreSQL Flexible Server.\n"},"geoRedundantBackupEnabled":{"type":"boolean","description":"Is Geo-Redundant backup enabled on the PostgreSQL Flexible Server. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Changing this forces a new PostgreSQL Flexible Server to be created.\n"},"highAvailability":{"$ref":"#/types/azure:postgresql/FlexibleServerHighAvailability:FlexibleServerHighAvailability","description":"A \u003cspan pulumi-lang-nodejs=\"`highAvailability`\" pulumi-lang-dotnet=\"`HighAvailability`\" pulumi-lang-go=\"`highAvailability`\" pulumi-lang-python=\"`high_availability`\" pulumi-lang-yaml=\"`highAvailability`\" pulumi-lang-java=\"`highAvailability`\"\u003e`high_availability`\u003c/span\u003e block as defined below.\n"},"identity":{"$ref":"#/types/azure:postgresql/FlexibleServerIdentity:FlexibleServerIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"location":{"type":"string","description":"The Azure Region where the PostgreSQL Flexible Server should exist. Changing this forces a new PostgreSQL Flexible Server to be created.\n"},"maintenanceWindow":{"$ref":"#/types/azure:postgresql/FlexibleServerMaintenanceWindow:FlexibleServerMaintenanceWindow","description":"A \u003cspan pulumi-lang-nodejs=\"`maintenanceWindow`\" pulumi-lang-dotnet=\"`MaintenanceWindow`\" pulumi-lang-go=\"`maintenanceWindow`\" pulumi-lang-python=\"`maintenance_window`\" pulumi-lang-yaml=\"`maintenanceWindow`\" pulumi-lang-java=\"`maintenanceWindow`\"\u003e`maintenance_window`\u003c/span\u003e block as defined below.\n"},"name":{"type":"string","description":"The name which should be used for this PostgreSQL Flexible Server. Changing this forces a new PostgreSQL Flexible Server to be created.\n\n\u003e **Note:** This must be unique across the entire Azure service, not just within the resource group.\n"},"pointInTimeRestoreTimeInUtc":{"type":"string","description":"The point in time to restore from \u003cspan pulumi-lang-nodejs=\"`sourceServerId`\" pulumi-lang-dotnet=\"`SourceServerId`\" pulumi-lang-go=\"`sourceServerId`\" pulumi-lang-python=\"`source_server_id`\" pulumi-lang-yaml=\"`sourceServerId`\" pulumi-lang-java=\"`sourceServerId`\"\u003e`source_server_id`\u003c/span\u003e when \u003cspan pulumi-lang-nodejs=\"`createMode`\" pulumi-lang-dotnet=\"`CreateMode`\" pulumi-lang-go=\"`createMode`\" pulumi-lang-python=\"`create_mode`\" pulumi-lang-yaml=\"`createMode`\" pulumi-lang-java=\"`createMode`\"\u003e`create_mode`\u003c/span\u003e is `GeoRestore`, `PointInTimeRestore`. Changing this forces a new PostgreSQL Flexible Server to be created.\n"},"privateDnsZoneId":{"type":"string","description":"The ID of the private DNS zone to create the PostgreSQL Flexible Server.\n\n\u003e **Note:** There will be a breaking change from upstream service at 15th July 2021, the \u003cspan pulumi-lang-nodejs=\"`privateDnsZoneId`\" pulumi-lang-dotnet=\"`PrivateDnsZoneId`\" pulumi-lang-go=\"`privateDnsZoneId`\" pulumi-lang-python=\"`private_dns_zone_id`\" pulumi-lang-yaml=\"`privateDnsZoneId`\" pulumi-lang-java=\"`privateDnsZoneId`\"\u003e`private_dns_zone_id`\u003c/span\u003e will be required when setting a \u003cspan pulumi-lang-nodejs=\"`delegatedSubnetId`\" pulumi-lang-dotnet=\"`DelegatedSubnetId`\" pulumi-lang-go=\"`delegatedSubnetId`\" pulumi-lang-python=\"`delegated_subnet_id`\" pulumi-lang-yaml=\"`delegatedSubnetId`\" pulumi-lang-java=\"`delegatedSubnetId`\"\u003e`delegated_subnet_id`\u003c/span\u003e. For existing flexible servers who don't want to be recreated, you need to provide the \u003cspan pulumi-lang-nodejs=\"`privateDnsZoneId`\" pulumi-lang-dotnet=\"`PrivateDnsZoneId`\" pulumi-lang-go=\"`privateDnsZoneId`\" pulumi-lang-python=\"`private_dns_zone_id`\" pulumi-lang-yaml=\"`privateDnsZoneId`\" pulumi-lang-java=\"`privateDnsZoneId`\"\u003e`private_dns_zone_id`\u003c/span\u003e to the service team to manually migrate to the specified private DNS zone. The \u003cspan pulumi-lang-nodejs=\"`azure.privatedns.Zone`\" pulumi-lang-dotnet=\"`azure.privatedns.Zone`\" pulumi-lang-go=\"`privatedns.Zone`\" pulumi-lang-python=\"`privatedns.Zone`\" pulumi-lang-yaml=\"`azure.privatedns.Zone`\" pulumi-lang-java=\"`azure.privatedns.Zone`\"\u003e`azure.privatedns.Zone`\u003c/span\u003e should end with suffix `.postgres.database.azure.com`.\n"},"publicNetworkAccessEnabled":{"type":"boolean","description":"Specifies whether this PostgreSQL Flexible Server is publicly accessible. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`publicNetworkAccessEnabled`\" pulumi-lang-dotnet=\"`PublicNetworkAccessEnabled`\" pulumi-lang-go=\"`publicNetworkAccessEnabled`\" pulumi-lang-python=\"`public_network_access_enabled`\" pulumi-lang-yaml=\"`publicNetworkAccessEnabled`\" pulumi-lang-java=\"`publicNetworkAccessEnabled`\"\u003e`public_network_access_enabled`\u003c/span\u003e must be set to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e when \u003cspan pulumi-lang-nodejs=\"`delegatedSubnetId`\" pulumi-lang-dotnet=\"`DelegatedSubnetId`\" pulumi-lang-go=\"`delegatedSubnetId`\" pulumi-lang-python=\"`delegated_subnet_id`\" pulumi-lang-yaml=\"`delegatedSubnetId`\" pulumi-lang-java=\"`delegatedSubnetId`\"\u003e`delegated_subnet_id`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`privateDnsZoneId`\" pulumi-lang-dotnet=\"`PrivateDnsZoneId`\" pulumi-lang-go=\"`privateDnsZoneId`\" pulumi-lang-python=\"`private_dns_zone_id`\" pulumi-lang-yaml=\"`privateDnsZoneId`\" pulumi-lang-java=\"`privateDnsZoneId`\"\u003e`private_dns_zone_id`\u003c/span\u003e have a value.\n"},"replicationRole":{"type":"string","description":"The replication role for the PostgreSQL Flexible Server. Possible value is `None`.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`replicationRole`\" pulumi-lang-dotnet=\"`ReplicationRole`\" pulumi-lang-go=\"`replicationRole`\" pulumi-lang-python=\"`replication_role`\" pulumi-lang-yaml=\"`replicationRole`\" pulumi-lang-java=\"`replicationRole`\"\u003e`replication_role`\u003c/span\u003e cannot be set while creating and only can be updated to `None` for replica server.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the PostgreSQL Flexible Server should exist. Changing this forces a new PostgreSQL Flexible Server to be created.\n"},"skuName":{"type":"string","description":"The SKU Name for the PostgreSQL Flexible Server. The name of the SKU, follows the \u003cspan pulumi-lang-nodejs=\"`tier`\" pulumi-lang-dotnet=\"`Tier`\" pulumi-lang-go=\"`tier`\" pulumi-lang-python=\"`tier`\" pulumi-lang-yaml=\"`tier`\" pulumi-lang-java=\"`tier`\"\u003e`tier`\u003c/span\u003e + \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e pattern (e.g. `B_Standard_B1ms`, `GP_Standard_D2s_v3`, `MO_Standard_E4s_v3`).\n"},"sourceServerId":{"type":"string","description":"The resource ID of the source PostgreSQL Flexible Server to be restored. Required when \u003cspan pulumi-lang-nodejs=\"`createMode`\" pulumi-lang-dotnet=\"`CreateMode`\" pulumi-lang-go=\"`createMode`\" pulumi-lang-python=\"`create_mode`\" pulumi-lang-yaml=\"`createMode`\" pulumi-lang-java=\"`createMode`\"\u003e`create_mode`\u003c/span\u003e is `GeoRestore`, `PointInTimeRestore` or `Replica`. Changing this forces a new PostgreSQL Flexible Server to be created.\n"},"storageMb":{"type":"integer","description":"The max storage allowed for the PostgreSQL Flexible Server. Possible values are \u003cspan pulumi-lang-nodejs=\"`32768`\" pulumi-lang-dotnet=\"`32768`\" pulumi-lang-go=\"`32768`\" pulumi-lang-python=\"`32768`\" pulumi-lang-yaml=\"`32768`\" pulumi-lang-java=\"`32768`\"\u003e`32768`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`65536`\" pulumi-lang-dotnet=\"`65536`\" pulumi-lang-go=\"`65536`\" pulumi-lang-python=\"`65536`\" pulumi-lang-yaml=\"`65536`\" pulumi-lang-java=\"`65536`\"\u003e`65536`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`131072`\" pulumi-lang-dotnet=\"`131072`\" pulumi-lang-go=\"`131072`\" pulumi-lang-python=\"`131072`\" pulumi-lang-yaml=\"`131072`\" pulumi-lang-java=\"`131072`\"\u003e`131072`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`262144`\" pulumi-lang-dotnet=\"`262144`\" pulumi-lang-go=\"`262144`\" pulumi-lang-python=\"`262144`\" pulumi-lang-yaml=\"`262144`\" pulumi-lang-java=\"`262144`\"\u003e`262144`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`524288`\" pulumi-lang-dotnet=\"`524288`\" pulumi-lang-go=\"`524288`\" pulumi-lang-python=\"`524288`\" pulumi-lang-yaml=\"`524288`\" pulumi-lang-java=\"`524288`\"\u003e`524288`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`1048576`\" pulumi-lang-dotnet=\"`1048576`\" pulumi-lang-go=\"`1048576`\" pulumi-lang-python=\"`1048576`\" pulumi-lang-yaml=\"`1048576`\" pulumi-lang-java=\"`1048576`\"\u003e`1048576`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`2097152`\" pulumi-lang-dotnet=\"`2097152`\" pulumi-lang-go=\"`2097152`\" pulumi-lang-python=\"`2097152`\" pulumi-lang-yaml=\"`2097152`\" pulumi-lang-java=\"`2097152`\"\u003e`2097152`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`4193280`\" pulumi-lang-dotnet=\"`4193280`\" pulumi-lang-go=\"`4193280`\" pulumi-lang-python=\"`4193280`\" pulumi-lang-yaml=\"`4193280`\" pulumi-lang-java=\"`4193280`\"\u003e`4193280`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`4194304`\" pulumi-lang-dotnet=\"`4194304`\" pulumi-lang-go=\"`4194304`\" pulumi-lang-python=\"`4194304`\" pulumi-lang-yaml=\"`4194304`\" pulumi-lang-java=\"`4194304`\"\u003e`4194304`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`8388608`\" pulumi-lang-dotnet=\"`8388608`\" pulumi-lang-go=\"`8388608`\" pulumi-lang-python=\"`8388608`\" pulumi-lang-yaml=\"`8388608`\" pulumi-lang-java=\"`8388608`\"\u003e`8388608`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`16777216`\" pulumi-lang-dotnet=\"`16777216`\" pulumi-lang-go=\"`16777216`\" pulumi-lang-python=\"`16777216`\" pulumi-lang-yaml=\"`16777216`\" pulumi-lang-java=\"`16777216`\"\u003e`16777216`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`33553408`\" pulumi-lang-dotnet=\"`33553408`\" pulumi-lang-go=\"`33553408`\" pulumi-lang-python=\"`33553408`\" pulumi-lang-yaml=\"`33553408`\" pulumi-lang-java=\"`33553408`\"\u003e`33553408`\u003c/span\u003e.\n\n\u003e **Note:** If the \u003cspan pulumi-lang-nodejs=\"`storageMb`\" pulumi-lang-dotnet=\"`StorageMb`\" pulumi-lang-go=\"`storageMb`\" pulumi-lang-python=\"`storage_mb`\" pulumi-lang-yaml=\"`storageMb`\" pulumi-lang-java=\"`storageMb`\"\u003e`storage_mb`\u003c/span\u003e field is undefined on the initial deployment of the PostgreSQL Flexible Server resource it will default to \u003cspan pulumi-lang-nodejs=\"`32768`\" pulumi-lang-dotnet=\"`32768`\" pulumi-lang-go=\"`32768`\" pulumi-lang-python=\"`32768`\" pulumi-lang-yaml=\"`32768`\" pulumi-lang-java=\"`32768`\"\u003e`32768`\u003c/span\u003e. If the \u003cspan pulumi-lang-nodejs=\"`storageMb`\" pulumi-lang-dotnet=\"`StorageMb`\" pulumi-lang-go=\"`storageMb`\" pulumi-lang-python=\"`storage_mb`\" pulumi-lang-yaml=\"`storageMb`\" pulumi-lang-java=\"`storageMb`\"\u003e`storage_mb`\u003c/span\u003e field has been defined and then removed, the \u003cspan pulumi-lang-nodejs=\"`storageMb`\" pulumi-lang-dotnet=\"`StorageMb`\" pulumi-lang-go=\"`storageMb`\" pulumi-lang-python=\"`storage_mb`\" pulumi-lang-yaml=\"`storageMb`\" pulumi-lang-java=\"`storageMb`\"\u003e`storage_mb`\u003c/span\u003e field will retain the previously defined value.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`storageMb`\" pulumi-lang-dotnet=\"`StorageMb`\" pulumi-lang-go=\"`storageMb`\" pulumi-lang-python=\"`storage_mb`\" pulumi-lang-yaml=\"`storageMb`\" pulumi-lang-java=\"`storageMb`\"\u003e`storage_mb`\u003c/span\u003e can only be scaled up, for example, you can scale the \u003cspan pulumi-lang-nodejs=\"`storageMb`\" pulumi-lang-dotnet=\"`StorageMb`\" pulumi-lang-go=\"`storageMb`\" pulumi-lang-python=\"`storage_mb`\" pulumi-lang-yaml=\"`storageMb`\" pulumi-lang-java=\"`storageMb`\"\u003e`storage_mb`\u003c/span\u003e from \u003cspan pulumi-lang-nodejs=\"`32768`\" pulumi-lang-dotnet=\"`32768`\" pulumi-lang-go=\"`32768`\" pulumi-lang-python=\"`32768`\" pulumi-lang-yaml=\"`32768`\" pulumi-lang-java=\"`32768`\"\u003e`32768`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`65536`\" pulumi-lang-dotnet=\"`65536`\" pulumi-lang-go=\"`65536`\" pulumi-lang-python=\"`65536`\" pulumi-lang-yaml=\"`65536`\" pulumi-lang-java=\"`65536`\"\u003e`65536`\u003c/span\u003e, but not from \u003cspan pulumi-lang-nodejs=\"`65536`\" pulumi-lang-dotnet=\"`65536`\" pulumi-lang-go=\"`65536`\" pulumi-lang-python=\"`65536`\" pulumi-lang-yaml=\"`65536`\" pulumi-lang-java=\"`65536`\"\u003e`65536`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`32768`\" pulumi-lang-dotnet=\"`32768`\" pulumi-lang-go=\"`32768`\" pulumi-lang-python=\"`32768`\" pulumi-lang-yaml=\"`32768`\" pulumi-lang-java=\"`32768`\"\u003e`32768`\u003c/span\u003e. Scaling down \u003cspan pulumi-lang-nodejs=\"`storageMb`\" pulumi-lang-dotnet=\"`StorageMb`\" pulumi-lang-go=\"`storageMb`\" pulumi-lang-python=\"`storage_mb`\" pulumi-lang-yaml=\"`storageMb`\" pulumi-lang-java=\"`storageMb`\"\u003e`storage_mb`\u003c/span\u003e forces a new PostgreSQL Flexible Server to be created.\n"},"storageTier":{"type":"string","description":"The name of storage performance tier for IOPS of the PostgreSQL Flexible Server. Possible values are `P4`, `P6`, `P10`, `P15`,`P20`, `P30`,`P40`, `P50`,`P60`, `P70` or `P80`. Default value is dependent on the \u003cspan pulumi-lang-nodejs=\"`storageMb`\" pulumi-lang-dotnet=\"`StorageMb`\" pulumi-lang-go=\"`storageMb`\" pulumi-lang-python=\"`storage_mb`\" pulumi-lang-yaml=\"`storageMb`\" pulumi-lang-java=\"`storageMb`\"\u003e`storage_mb`\u003c/span\u003e value. Please see the \u003cspan pulumi-lang-nodejs=\"`storageTier`\" pulumi-lang-dotnet=\"`StorageTier`\" pulumi-lang-go=\"`storageTier`\" pulumi-lang-python=\"`storage_tier`\" pulumi-lang-yaml=\"`storageTier`\" pulumi-lang-java=\"`storageTier`\"\u003e`storage_tier`\u003c/span\u003e defaults based on \u003cspan pulumi-lang-nodejs=\"`storageMb`\" pulumi-lang-dotnet=\"`StorageMb`\" pulumi-lang-go=\"`storageMb`\" pulumi-lang-python=\"`storage_mb`\" pulumi-lang-yaml=\"`storageMb`\" pulumi-lang-java=\"`storageMb`\"\u003e`storage_mb`\u003c/span\u003e table below.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`storageTier`\" pulumi-lang-dotnet=\"`StorageTier`\" pulumi-lang-go=\"`storageTier`\" pulumi-lang-python=\"`storage_tier`\" pulumi-lang-yaml=\"`storageTier`\" pulumi-lang-java=\"`storageTier`\"\u003e`storage_tier`\u003c/span\u003e can be scaled once every 12 hours, this restriction is in place to ensure stability and performance after any changes to your PostgreSQL Flexible Server's configuration.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the PostgreSQL Flexible Server.\n"},"version":{"type":"string","description":"The version of PostgreSQL Flexible Server to use. Possible values are \u003cspan pulumi-lang-nodejs=\"`11`\" pulumi-lang-dotnet=\"`11`\" pulumi-lang-go=\"`11`\" pulumi-lang-python=\"`11`\" pulumi-lang-yaml=\"`11`\" pulumi-lang-java=\"`11`\"\u003e`11`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`12`\" pulumi-lang-dotnet=\"`12`\" pulumi-lang-go=\"`12`\" pulumi-lang-python=\"`12`\" pulumi-lang-yaml=\"`12`\" pulumi-lang-java=\"`12`\"\u003e`12`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`13`\" pulumi-lang-dotnet=\"`13`\" pulumi-lang-go=\"`13`\" pulumi-lang-python=\"`13`\" pulumi-lang-yaml=\"`13`\" pulumi-lang-java=\"`13`\"\u003e`13`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`14`\" pulumi-lang-dotnet=\"`14`\" pulumi-lang-go=\"`14`\" pulumi-lang-python=\"`14`\" pulumi-lang-yaml=\"`14`\" pulumi-lang-java=\"`14`\"\u003e`14`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`15`\" pulumi-lang-dotnet=\"`15`\" pulumi-lang-go=\"`15`\" pulumi-lang-python=\"`15`\" pulumi-lang-yaml=\"`15`\" pulumi-lang-java=\"`15`\"\u003e`15`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`16`\" pulumi-lang-dotnet=\"`16`\" pulumi-lang-go=\"`16`\" pulumi-lang-python=\"`16`\" pulumi-lang-yaml=\"`16`\" pulumi-lang-java=\"`16`\"\u003e`16`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`17`\" pulumi-lang-dotnet=\"`17`\" pulumi-lang-go=\"`17`\" pulumi-lang-python=\"`17`\" pulumi-lang-yaml=\"`17`\" pulumi-lang-java=\"`17`\"\u003e`17`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`18`\" pulumi-lang-dotnet=\"`18`\" pulumi-lang-go=\"`18`\" pulumi-lang-python=\"`18`\" pulumi-lang-yaml=\"`18`\" pulumi-lang-java=\"`18`\"\u003e`18`\u003c/span\u003e. Required when \u003cspan pulumi-lang-nodejs=\"`createMode`\" pulumi-lang-dotnet=\"`CreateMode`\" pulumi-lang-go=\"`createMode`\" pulumi-lang-python=\"`create_mode`\" pulumi-lang-yaml=\"`createMode`\" pulumi-lang-java=\"`createMode`\"\u003e`create_mode`\u003c/span\u003e is `Default`.\n\n\u003e **Note:** Downgrading \u003cspan pulumi-lang-nodejs=\"`version`\" pulumi-lang-dotnet=\"`Version`\" pulumi-lang-go=\"`version`\" pulumi-lang-python=\"`version`\" pulumi-lang-yaml=\"`version`\" pulumi-lang-java=\"`version`\"\u003e`version`\u003c/span\u003e isn't supported and will force a new PostgreSQL Flexible Server to be created.\n\n\u003e **Note:** In-place version updates are irreversible and may cause downtime for the PostgreSQL Flexible Server, determined by the size of the instance.\n\n\u003e **Note:** Major version upgrades are not supported when \u003cspan pulumi-lang-nodejs=\"`cluster`\" pulumi-lang-dotnet=\"`Cluster`\" pulumi-lang-go=\"`cluster`\" pulumi-lang-python=\"`cluster`\" pulumi-lang-yaml=\"`cluster`\" pulumi-lang-java=\"`cluster`\"\u003e`cluster`\u003c/span\u003e is specified.\n"},"zone":{"type":"string","description":"Specifies the Availability Zone in which the PostgreSQL Flexible Server should be located.\n\n\u003e **Note:** Azure will automatically assign an Availability Zone if one is not specified. If the PostgreSQL Flexible Server fails-over to the Standby Availability Zone, the \u003cspan pulumi-lang-nodejs=\"`zone`\" pulumi-lang-dotnet=\"`Zone`\" pulumi-lang-go=\"`zone`\" pulumi-lang-python=\"`zone`\" pulumi-lang-yaml=\"`zone`\" pulumi-lang-java=\"`zone`\"\u003e`zone`\u003c/span\u003e will be updated to reflect the current Primary Availability Zone. You can use Terraform's \u003cspan pulumi-lang-nodejs=\"`ignoreChanges`\" pulumi-lang-dotnet=\"`IgnoreChanges`\" pulumi-lang-go=\"`ignoreChanges`\" pulumi-lang-python=\"`ignore_changes`\" pulumi-lang-yaml=\"`ignoreChanges`\" pulumi-lang-java=\"`ignoreChanges`\"\u003e`ignore_changes`\u003c/span\u003e functionality to ignore changes to the \u003cspan pulumi-lang-nodejs=\"`zone`\" pulumi-lang-dotnet=\"`Zone`\" pulumi-lang-go=\"`zone`\" pulumi-lang-python=\"`zone`\" pulumi-lang-yaml=\"`zone`\" pulumi-lang-java=\"`zone`\"\u003e`zone`\u003c/span\u003e and `high_availability[0].standby_availability_zone` fields should you wish for Terraform to not migrate the PostgreSQL Flexible Server back to it's primary Availability Zone after a fail-over.\n\n\u003e **Note:** The Availability Zones available depend on the Azure Region that the PostgreSQL Flexible Server is being deployed into - see [the Azure Availability Zones documentation](https://azure.microsoft.com/global-infrastructure/geographies/#geographies) for more information on which Availability Zones are available in each Azure Region.\n"}},"required":["administratorLogin","authentication","backupRetentionDays","fqdn","location","name","privateDnsZoneId","resourceGroupName","skuName","storageMb","storageTier","version"],"inputProperties":{"administratorLogin":{"type":"string","description":"The Administrator login for the PostgreSQL Flexible Server. Required when \u003cspan pulumi-lang-nodejs=\"`createMode`\" pulumi-lang-dotnet=\"`CreateMode`\" pulumi-lang-go=\"`createMode`\" pulumi-lang-python=\"`create_mode`\" pulumi-lang-yaml=\"`createMode`\" pulumi-lang-java=\"`createMode`\"\u003e`create_mode`\u003c/span\u003e is `Default` and `authentication.password_auth_enabled` is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n\n\u003e **Note:** Once \u003cspan pulumi-lang-nodejs=\"`administratorLogin`\" pulumi-lang-dotnet=\"`AdministratorLogin`\" pulumi-lang-go=\"`administratorLogin`\" pulumi-lang-python=\"`administrator_login`\" pulumi-lang-yaml=\"`administratorLogin`\" pulumi-lang-java=\"`administratorLogin`\"\u003e`administrator_login`\u003c/span\u003e is specified, changing this forces a new PostgreSQL Flexible Server to be created.\n\n\u003e **Note:** To create with \u003cspan pulumi-lang-nodejs=\"`administratorLogin`\" pulumi-lang-dotnet=\"`AdministratorLogin`\" pulumi-lang-go=\"`administratorLogin`\" pulumi-lang-python=\"`administrator_login`\" pulumi-lang-yaml=\"`administratorLogin`\" pulumi-lang-java=\"`administratorLogin`\"\u003e`administrator_login`\u003c/span\u003e specified or update with it first specified , `authentication.password_auth_enabled` must be set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"administratorPassword":{"type":"string","description":"The Password associated with the \u003cspan pulumi-lang-nodejs=\"`administratorLogin`\" pulumi-lang-dotnet=\"`AdministratorLogin`\" pulumi-lang-go=\"`administratorLogin`\" pulumi-lang-python=\"`administrator_login`\" pulumi-lang-yaml=\"`administratorLogin`\" pulumi-lang-java=\"`administratorLogin`\"\u003e`administrator_login`\u003c/span\u003e for the PostgreSQL Flexible Server.\n","secret":true},"administratorPasswordWoVersion":{"type":"integer","description":"An integer value used to trigger an update for \u003cspan pulumi-lang-nodejs=\"`administratorPasswordWo`\" pulumi-lang-dotnet=\"`AdministratorPasswordWo`\" pulumi-lang-go=\"`administratorPasswordWo`\" pulumi-lang-python=\"`administrator_password_wo`\" pulumi-lang-yaml=\"`administratorPasswordWo`\" pulumi-lang-java=\"`administratorPasswordWo`\"\u003e`administrator_password_wo`\u003c/span\u003e. This property should be incremented when updating \u003cspan pulumi-lang-nodejs=\"`administratorPasswordWo`\" pulumi-lang-dotnet=\"`AdministratorPasswordWo`\" pulumi-lang-go=\"`administratorPasswordWo`\" pulumi-lang-python=\"`administrator_password_wo`\" pulumi-lang-yaml=\"`administratorPasswordWo`\" pulumi-lang-java=\"`administratorPasswordWo`\"\u003e`administrator_password_wo`\u003c/span\u003e.\n"},"authentication":{"$ref":"#/types/azure:postgresql/FlexibleServerAuthentication:FlexibleServerAuthentication","description":"An \u003cspan pulumi-lang-nodejs=\"`authentication`\" pulumi-lang-dotnet=\"`Authentication`\" pulumi-lang-go=\"`authentication`\" pulumi-lang-python=\"`authentication`\" pulumi-lang-yaml=\"`authentication`\" pulumi-lang-java=\"`authentication`\"\u003e`authentication`\u003c/span\u003e block as defined below.\n"},"autoGrowEnabled":{"type":"boolean","description":"Is the storage auto grow for PostgreSQL Flexible Server enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"backupRetentionDays":{"type":"integer","description":"The backup retention days for the PostgreSQL Flexible Server. Possible values are between \u003cspan pulumi-lang-nodejs=\"`7`\" pulumi-lang-dotnet=\"`7`\" pulumi-lang-go=\"`7`\" pulumi-lang-python=\"`7`\" pulumi-lang-yaml=\"`7`\" pulumi-lang-java=\"`7`\"\u003e`7`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`35`\" pulumi-lang-dotnet=\"`35`\" pulumi-lang-go=\"`35`\" pulumi-lang-python=\"`35`\" pulumi-lang-yaml=\"`35`\" pulumi-lang-java=\"`35`\"\u003e`35`\u003c/span\u003e days.\n"},"cluster":{"$ref":"#/types/azure:postgresql/FlexibleServerCluster:FlexibleServerCluster","description":"A \u003cspan pulumi-lang-nodejs=\"`cluster`\" pulumi-lang-dotnet=\"`Cluster`\" pulumi-lang-go=\"`cluster`\" pulumi-lang-python=\"`cluster`\" pulumi-lang-yaml=\"`cluster`\" pulumi-lang-java=\"`cluster`\"\u003e`cluster`\u003c/span\u003e block as defined below.\n","willReplaceOnChanges":true},"createMode":{"type":"string","description":"The creation mode which can be used to restore or replicate existing servers. Possible values are `Default`, `GeoRestore`, `PointInTimeRestore`, `Replica`, `ReviveDropped` and `Update`.\n"},"customerManagedKey":{"$ref":"#/types/azure:postgresql/FlexibleServerCustomerManagedKey:FlexibleServerCustomerManagedKey","description":"A \u003cspan pulumi-lang-nodejs=\"`customerManagedKey`\" pulumi-lang-dotnet=\"`CustomerManagedKey`\" pulumi-lang-go=\"`customerManagedKey`\" pulumi-lang-python=\"`customer_managed_key`\" pulumi-lang-yaml=\"`customerManagedKey`\" pulumi-lang-java=\"`customerManagedKey`\"\u003e`customer_managed_key`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"delegatedSubnetId":{"type":"string","description":"The ID of the virtual network subnet to create the PostgreSQL Flexible Server. The provided subnet should not have any other resource deployed in it and this subnet will be delegated to the PostgreSQL Flexible Server, if not already delegated. Changing this forces a new PostgreSQL Flexible Server to be created.\n","willReplaceOnChanges":true},"geoRedundantBackupEnabled":{"type":"boolean","description":"Is Geo-Redundant backup enabled on the PostgreSQL Flexible Server. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Changing this forces a new PostgreSQL Flexible Server to be created.\n","willReplaceOnChanges":true},"highAvailability":{"$ref":"#/types/azure:postgresql/FlexibleServerHighAvailability:FlexibleServerHighAvailability","description":"A \u003cspan pulumi-lang-nodejs=\"`highAvailability`\" pulumi-lang-dotnet=\"`HighAvailability`\" pulumi-lang-go=\"`highAvailability`\" pulumi-lang-python=\"`high_availability`\" pulumi-lang-yaml=\"`highAvailability`\" pulumi-lang-java=\"`highAvailability`\"\u003e`high_availability`\u003c/span\u003e block as defined below.\n"},"identity":{"$ref":"#/types/azure:postgresql/FlexibleServerIdentity:FlexibleServerIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"location":{"type":"string","description":"The Azure Region where the PostgreSQL Flexible Server should exist. Changing this forces a new PostgreSQL Flexible Server to be created.\n","willReplaceOnChanges":true},"maintenanceWindow":{"$ref":"#/types/azure:postgresql/FlexibleServerMaintenanceWindow:FlexibleServerMaintenanceWindow","description":"A \u003cspan pulumi-lang-nodejs=\"`maintenanceWindow`\" pulumi-lang-dotnet=\"`MaintenanceWindow`\" pulumi-lang-go=\"`maintenanceWindow`\" pulumi-lang-python=\"`maintenance_window`\" pulumi-lang-yaml=\"`maintenanceWindow`\" pulumi-lang-java=\"`maintenanceWindow`\"\u003e`maintenance_window`\u003c/span\u003e block as defined below.\n"},"name":{"type":"string","description":"The name which should be used for this PostgreSQL Flexible Server. Changing this forces a new PostgreSQL Flexible Server to be created.\n\n\u003e **Note:** This must be unique across the entire Azure service, not just within the resource group.\n","willReplaceOnChanges":true},"pointInTimeRestoreTimeInUtc":{"type":"string","description":"The point in time to restore from \u003cspan pulumi-lang-nodejs=\"`sourceServerId`\" pulumi-lang-dotnet=\"`SourceServerId`\" pulumi-lang-go=\"`sourceServerId`\" pulumi-lang-python=\"`source_server_id`\" pulumi-lang-yaml=\"`sourceServerId`\" pulumi-lang-java=\"`sourceServerId`\"\u003e`source_server_id`\u003c/span\u003e when \u003cspan pulumi-lang-nodejs=\"`createMode`\" pulumi-lang-dotnet=\"`CreateMode`\" pulumi-lang-go=\"`createMode`\" pulumi-lang-python=\"`create_mode`\" pulumi-lang-yaml=\"`createMode`\" pulumi-lang-java=\"`createMode`\"\u003e`create_mode`\u003c/span\u003e is `GeoRestore`, `PointInTimeRestore`. Changing this forces a new PostgreSQL Flexible Server to be created.\n","willReplaceOnChanges":true},"privateDnsZoneId":{"type":"string","description":"The ID of the private DNS zone to create the PostgreSQL Flexible Server.\n\n\u003e **Note:** There will be a breaking change from upstream service at 15th July 2021, the \u003cspan pulumi-lang-nodejs=\"`privateDnsZoneId`\" pulumi-lang-dotnet=\"`PrivateDnsZoneId`\" pulumi-lang-go=\"`privateDnsZoneId`\" pulumi-lang-python=\"`private_dns_zone_id`\" pulumi-lang-yaml=\"`privateDnsZoneId`\" pulumi-lang-java=\"`privateDnsZoneId`\"\u003e`private_dns_zone_id`\u003c/span\u003e will be required when setting a \u003cspan pulumi-lang-nodejs=\"`delegatedSubnetId`\" pulumi-lang-dotnet=\"`DelegatedSubnetId`\" pulumi-lang-go=\"`delegatedSubnetId`\" pulumi-lang-python=\"`delegated_subnet_id`\" pulumi-lang-yaml=\"`delegatedSubnetId`\" pulumi-lang-java=\"`delegatedSubnetId`\"\u003e`delegated_subnet_id`\u003c/span\u003e. For existing flexible servers who don't want to be recreated, you need to provide the \u003cspan pulumi-lang-nodejs=\"`privateDnsZoneId`\" pulumi-lang-dotnet=\"`PrivateDnsZoneId`\" pulumi-lang-go=\"`privateDnsZoneId`\" pulumi-lang-python=\"`private_dns_zone_id`\" pulumi-lang-yaml=\"`privateDnsZoneId`\" pulumi-lang-java=\"`privateDnsZoneId`\"\u003e`private_dns_zone_id`\u003c/span\u003e to the service team to manually migrate to the specified private DNS zone. The \u003cspan pulumi-lang-nodejs=\"`azure.privatedns.Zone`\" pulumi-lang-dotnet=\"`azure.privatedns.Zone`\" pulumi-lang-go=\"`privatedns.Zone`\" pulumi-lang-python=\"`privatedns.Zone`\" pulumi-lang-yaml=\"`azure.privatedns.Zone`\" pulumi-lang-java=\"`azure.privatedns.Zone`\"\u003e`azure.privatedns.Zone`\u003c/span\u003e should end with suffix `.postgres.database.azure.com`.\n"},"publicNetworkAccessEnabled":{"type":"boolean","description":"Specifies whether this PostgreSQL Flexible Server is publicly accessible. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`publicNetworkAccessEnabled`\" pulumi-lang-dotnet=\"`PublicNetworkAccessEnabled`\" pulumi-lang-go=\"`publicNetworkAccessEnabled`\" pulumi-lang-python=\"`public_network_access_enabled`\" pulumi-lang-yaml=\"`publicNetworkAccessEnabled`\" pulumi-lang-java=\"`publicNetworkAccessEnabled`\"\u003e`public_network_access_enabled`\u003c/span\u003e must be set to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e when \u003cspan pulumi-lang-nodejs=\"`delegatedSubnetId`\" pulumi-lang-dotnet=\"`DelegatedSubnetId`\" pulumi-lang-go=\"`delegatedSubnetId`\" pulumi-lang-python=\"`delegated_subnet_id`\" pulumi-lang-yaml=\"`delegatedSubnetId`\" pulumi-lang-java=\"`delegatedSubnetId`\"\u003e`delegated_subnet_id`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`privateDnsZoneId`\" pulumi-lang-dotnet=\"`PrivateDnsZoneId`\" pulumi-lang-go=\"`privateDnsZoneId`\" pulumi-lang-python=\"`private_dns_zone_id`\" pulumi-lang-yaml=\"`privateDnsZoneId`\" pulumi-lang-java=\"`privateDnsZoneId`\"\u003e`private_dns_zone_id`\u003c/span\u003e have a value.\n"},"replicationRole":{"type":"string","description":"The replication role for the PostgreSQL Flexible Server. Possible value is `None`.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`replicationRole`\" pulumi-lang-dotnet=\"`ReplicationRole`\" pulumi-lang-go=\"`replicationRole`\" pulumi-lang-python=\"`replication_role`\" pulumi-lang-yaml=\"`replicationRole`\" pulumi-lang-java=\"`replicationRole`\"\u003e`replication_role`\u003c/span\u003e cannot be set while creating and only can be updated to `None` for replica server.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the PostgreSQL Flexible Server should exist. Changing this forces a new PostgreSQL Flexible Server to be created.\n","willReplaceOnChanges":true},"skuName":{"type":"string","description":"The SKU Name for the PostgreSQL Flexible Server. The name of the SKU, follows the \u003cspan pulumi-lang-nodejs=\"`tier`\" pulumi-lang-dotnet=\"`Tier`\" pulumi-lang-go=\"`tier`\" pulumi-lang-python=\"`tier`\" pulumi-lang-yaml=\"`tier`\" pulumi-lang-java=\"`tier`\"\u003e`tier`\u003c/span\u003e + \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e pattern (e.g. `B_Standard_B1ms`, `GP_Standard_D2s_v3`, `MO_Standard_E4s_v3`).\n"},"sourceServerId":{"type":"string","description":"The resource ID of the source PostgreSQL Flexible Server to be restored. Required when \u003cspan pulumi-lang-nodejs=\"`createMode`\" pulumi-lang-dotnet=\"`CreateMode`\" pulumi-lang-go=\"`createMode`\" pulumi-lang-python=\"`create_mode`\" pulumi-lang-yaml=\"`createMode`\" pulumi-lang-java=\"`createMode`\"\u003e`create_mode`\u003c/span\u003e is `GeoRestore`, `PointInTimeRestore` or `Replica`. Changing this forces a new PostgreSQL Flexible Server to be created.\n","willReplaceOnChanges":true},"storageMb":{"type":"integer","description":"The max storage allowed for the PostgreSQL Flexible Server. Possible values are \u003cspan pulumi-lang-nodejs=\"`32768`\" pulumi-lang-dotnet=\"`32768`\" pulumi-lang-go=\"`32768`\" pulumi-lang-python=\"`32768`\" pulumi-lang-yaml=\"`32768`\" pulumi-lang-java=\"`32768`\"\u003e`32768`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`65536`\" pulumi-lang-dotnet=\"`65536`\" pulumi-lang-go=\"`65536`\" pulumi-lang-python=\"`65536`\" pulumi-lang-yaml=\"`65536`\" pulumi-lang-java=\"`65536`\"\u003e`65536`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`131072`\" pulumi-lang-dotnet=\"`131072`\" pulumi-lang-go=\"`131072`\" pulumi-lang-python=\"`131072`\" pulumi-lang-yaml=\"`131072`\" pulumi-lang-java=\"`131072`\"\u003e`131072`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`262144`\" pulumi-lang-dotnet=\"`262144`\" pulumi-lang-go=\"`262144`\" pulumi-lang-python=\"`262144`\" pulumi-lang-yaml=\"`262144`\" pulumi-lang-java=\"`262144`\"\u003e`262144`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`524288`\" pulumi-lang-dotnet=\"`524288`\" pulumi-lang-go=\"`524288`\" pulumi-lang-python=\"`524288`\" pulumi-lang-yaml=\"`524288`\" pulumi-lang-java=\"`524288`\"\u003e`524288`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`1048576`\" pulumi-lang-dotnet=\"`1048576`\" pulumi-lang-go=\"`1048576`\" pulumi-lang-python=\"`1048576`\" pulumi-lang-yaml=\"`1048576`\" pulumi-lang-java=\"`1048576`\"\u003e`1048576`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`2097152`\" pulumi-lang-dotnet=\"`2097152`\" pulumi-lang-go=\"`2097152`\" pulumi-lang-python=\"`2097152`\" pulumi-lang-yaml=\"`2097152`\" pulumi-lang-java=\"`2097152`\"\u003e`2097152`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`4193280`\" pulumi-lang-dotnet=\"`4193280`\" pulumi-lang-go=\"`4193280`\" pulumi-lang-python=\"`4193280`\" pulumi-lang-yaml=\"`4193280`\" pulumi-lang-java=\"`4193280`\"\u003e`4193280`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`4194304`\" pulumi-lang-dotnet=\"`4194304`\" pulumi-lang-go=\"`4194304`\" pulumi-lang-python=\"`4194304`\" pulumi-lang-yaml=\"`4194304`\" pulumi-lang-java=\"`4194304`\"\u003e`4194304`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`8388608`\" pulumi-lang-dotnet=\"`8388608`\" pulumi-lang-go=\"`8388608`\" pulumi-lang-python=\"`8388608`\" pulumi-lang-yaml=\"`8388608`\" pulumi-lang-java=\"`8388608`\"\u003e`8388608`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`16777216`\" pulumi-lang-dotnet=\"`16777216`\" pulumi-lang-go=\"`16777216`\" pulumi-lang-python=\"`16777216`\" pulumi-lang-yaml=\"`16777216`\" pulumi-lang-java=\"`16777216`\"\u003e`16777216`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`33553408`\" pulumi-lang-dotnet=\"`33553408`\" pulumi-lang-go=\"`33553408`\" pulumi-lang-python=\"`33553408`\" pulumi-lang-yaml=\"`33553408`\" pulumi-lang-java=\"`33553408`\"\u003e`33553408`\u003c/span\u003e.\n\n\u003e **Note:** If the \u003cspan pulumi-lang-nodejs=\"`storageMb`\" pulumi-lang-dotnet=\"`StorageMb`\" pulumi-lang-go=\"`storageMb`\" pulumi-lang-python=\"`storage_mb`\" pulumi-lang-yaml=\"`storageMb`\" pulumi-lang-java=\"`storageMb`\"\u003e`storage_mb`\u003c/span\u003e field is undefined on the initial deployment of the PostgreSQL Flexible Server resource it will default to \u003cspan pulumi-lang-nodejs=\"`32768`\" pulumi-lang-dotnet=\"`32768`\" pulumi-lang-go=\"`32768`\" pulumi-lang-python=\"`32768`\" pulumi-lang-yaml=\"`32768`\" pulumi-lang-java=\"`32768`\"\u003e`32768`\u003c/span\u003e. If the \u003cspan pulumi-lang-nodejs=\"`storageMb`\" pulumi-lang-dotnet=\"`StorageMb`\" pulumi-lang-go=\"`storageMb`\" pulumi-lang-python=\"`storage_mb`\" pulumi-lang-yaml=\"`storageMb`\" pulumi-lang-java=\"`storageMb`\"\u003e`storage_mb`\u003c/span\u003e field has been defined and then removed, the \u003cspan pulumi-lang-nodejs=\"`storageMb`\" pulumi-lang-dotnet=\"`StorageMb`\" pulumi-lang-go=\"`storageMb`\" pulumi-lang-python=\"`storage_mb`\" pulumi-lang-yaml=\"`storageMb`\" pulumi-lang-java=\"`storageMb`\"\u003e`storage_mb`\u003c/span\u003e field will retain the previously defined value.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`storageMb`\" pulumi-lang-dotnet=\"`StorageMb`\" pulumi-lang-go=\"`storageMb`\" pulumi-lang-python=\"`storage_mb`\" pulumi-lang-yaml=\"`storageMb`\" pulumi-lang-java=\"`storageMb`\"\u003e`storage_mb`\u003c/span\u003e can only be scaled up, for example, you can scale the \u003cspan pulumi-lang-nodejs=\"`storageMb`\" pulumi-lang-dotnet=\"`StorageMb`\" pulumi-lang-go=\"`storageMb`\" pulumi-lang-python=\"`storage_mb`\" pulumi-lang-yaml=\"`storageMb`\" pulumi-lang-java=\"`storageMb`\"\u003e`storage_mb`\u003c/span\u003e from \u003cspan pulumi-lang-nodejs=\"`32768`\" pulumi-lang-dotnet=\"`32768`\" pulumi-lang-go=\"`32768`\" pulumi-lang-python=\"`32768`\" pulumi-lang-yaml=\"`32768`\" pulumi-lang-java=\"`32768`\"\u003e`32768`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`65536`\" pulumi-lang-dotnet=\"`65536`\" pulumi-lang-go=\"`65536`\" pulumi-lang-python=\"`65536`\" pulumi-lang-yaml=\"`65536`\" pulumi-lang-java=\"`65536`\"\u003e`65536`\u003c/span\u003e, but not from \u003cspan pulumi-lang-nodejs=\"`65536`\" pulumi-lang-dotnet=\"`65536`\" pulumi-lang-go=\"`65536`\" pulumi-lang-python=\"`65536`\" pulumi-lang-yaml=\"`65536`\" pulumi-lang-java=\"`65536`\"\u003e`65536`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`32768`\" pulumi-lang-dotnet=\"`32768`\" pulumi-lang-go=\"`32768`\" pulumi-lang-python=\"`32768`\" pulumi-lang-yaml=\"`32768`\" pulumi-lang-java=\"`32768`\"\u003e`32768`\u003c/span\u003e. Scaling down \u003cspan pulumi-lang-nodejs=\"`storageMb`\" pulumi-lang-dotnet=\"`StorageMb`\" pulumi-lang-go=\"`storageMb`\" pulumi-lang-python=\"`storage_mb`\" pulumi-lang-yaml=\"`storageMb`\" pulumi-lang-java=\"`storageMb`\"\u003e`storage_mb`\u003c/span\u003e forces a new PostgreSQL Flexible Server to be created.\n"},"storageTier":{"type":"string","description":"The name of storage performance tier for IOPS of the PostgreSQL Flexible Server. Possible values are `P4`, `P6`, `P10`, `P15`,`P20`, `P30`,`P40`, `P50`,`P60`, `P70` or `P80`. Default value is dependent on the \u003cspan pulumi-lang-nodejs=\"`storageMb`\" pulumi-lang-dotnet=\"`StorageMb`\" pulumi-lang-go=\"`storageMb`\" pulumi-lang-python=\"`storage_mb`\" pulumi-lang-yaml=\"`storageMb`\" pulumi-lang-java=\"`storageMb`\"\u003e`storage_mb`\u003c/span\u003e value. Please see the \u003cspan pulumi-lang-nodejs=\"`storageTier`\" pulumi-lang-dotnet=\"`StorageTier`\" pulumi-lang-go=\"`storageTier`\" pulumi-lang-python=\"`storage_tier`\" pulumi-lang-yaml=\"`storageTier`\" pulumi-lang-java=\"`storageTier`\"\u003e`storage_tier`\u003c/span\u003e defaults based on \u003cspan pulumi-lang-nodejs=\"`storageMb`\" pulumi-lang-dotnet=\"`StorageMb`\" pulumi-lang-go=\"`storageMb`\" pulumi-lang-python=\"`storage_mb`\" pulumi-lang-yaml=\"`storageMb`\" pulumi-lang-java=\"`storageMb`\"\u003e`storage_mb`\u003c/span\u003e table below.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`storageTier`\" pulumi-lang-dotnet=\"`StorageTier`\" pulumi-lang-go=\"`storageTier`\" pulumi-lang-python=\"`storage_tier`\" pulumi-lang-yaml=\"`storageTier`\" pulumi-lang-java=\"`storageTier`\"\u003e`storage_tier`\u003c/span\u003e can be scaled once every 12 hours, this restriction is in place to ensure stability and performance after any changes to your PostgreSQL Flexible Server's configuration.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the PostgreSQL Flexible Server.\n"},"version":{"type":"string","description":"The version of PostgreSQL Flexible Server to use. Possible values are \u003cspan pulumi-lang-nodejs=\"`11`\" pulumi-lang-dotnet=\"`11`\" pulumi-lang-go=\"`11`\" pulumi-lang-python=\"`11`\" pulumi-lang-yaml=\"`11`\" pulumi-lang-java=\"`11`\"\u003e`11`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`12`\" pulumi-lang-dotnet=\"`12`\" pulumi-lang-go=\"`12`\" pulumi-lang-python=\"`12`\" pulumi-lang-yaml=\"`12`\" pulumi-lang-java=\"`12`\"\u003e`12`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`13`\" pulumi-lang-dotnet=\"`13`\" pulumi-lang-go=\"`13`\" pulumi-lang-python=\"`13`\" pulumi-lang-yaml=\"`13`\" pulumi-lang-java=\"`13`\"\u003e`13`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`14`\" pulumi-lang-dotnet=\"`14`\" pulumi-lang-go=\"`14`\" pulumi-lang-python=\"`14`\" pulumi-lang-yaml=\"`14`\" pulumi-lang-java=\"`14`\"\u003e`14`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`15`\" pulumi-lang-dotnet=\"`15`\" pulumi-lang-go=\"`15`\" pulumi-lang-python=\"`15`\" pulumi-lang-yaml=\"`15`\" pulumi-lang-java=\"`15`\"\u003e`15`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`16`\" pulumi-lang-dotnet=\"`16`\" pulumi-lang-go=\"`16`\" pulumi-lang-python=\"`16`\" pulumi-lang-yaml=\"`16`\" pulumi-lang-java=\"`16`\"\u003e`16`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`17`\" pulumi-lang-dotnet=\"`17`\" pulumi-lang-go=\"`17`\" pulumi-lang-python=\"`17`\" pulumi-lang-yaml=\"`17`\" pulumi-lang-java=\"`17`\"\u003e`17`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`18`\" pulumi-lang-dotnet=\"`18`\" pulumi-lang-go=\"`18`\" pulumi-lang-python=\"`18`\" pulumi-lang-yaml=\"`18`\" pulumi-lang-java=\"`18`\"\u003e`18`\u003c/span\u003e. Required when \u003cspan pulumi-lang-nodejs=\"`createMode`\" pulumi-lang-dotnet=\"`CreateMode`\" pulumi-lang-go=\"`createMode`\" pulumi-lang-python=\"`create_mode`\" pulumi-lang-yaml=\"`createMode`\" pulumi-lang-java=\"`createMode`\"\u003e`create_mode`\u003c/span\u003e is `Default`.\n\n\u003e **Note:** Downgrading \u003cspan pulumi-lang-nodejs=\"`version`\" pulumi-lang-dotnet=\"`Version`\" pulumi-lang-go=\"`version`\" pulumi-lang-python=\"`version`\" pulumi-lang-yaml=\"`version`\" pulumi-lang-java=\"`version`\"\u003e`version`\u003c/span\u003e isn't supported and will force a new PostgreSQL Flexible Server to be created.\n\n\u003e **Note:** In-place version updates are irreversible and may cause downtime for the PostgreSQL Flexible Server, determined by the size of the instance.\n\n\u003e **Note:** Major version upgrades are not supported when \u003cspan pulumi-lang-nodejs=\"`cluster`\" pulumi-lang-dotnet=\"`Cluster`\" pulumi-lang-go=\"`cluster`\" pulumi-lang-python=\"`cluster`\" pulumi-lang-yaml=\"`cluster`\" pulumi-lang-java=\"`cluster`\"\u003e`cluster`\u003c/span\u003e is specified.\n"},"zone":{"type":"string","description":"Specifies the Availability Zone in which the PostgreSQL Flexible Server should be located.\n\n\u003e **Note:** Azure will automatically assign an Availability Zone if one is not specified. If the PostgreSQL Flexible Server fails-over to the Standby Availability Zone, the \u003cspan pulumi-lang-nodejs=\"`zone`\" pulumi-lang-dotnet=\"`Zone`\" pulumi-lang-go=\"`zone`\" pulumi-lang-python=\"`zone`\" pulumi-lang-yaml=\"`zone`\" pulumi-lang-java=\"`zone`\"\u003e`zone`\u003c/span\u003e will be updated to reflect the current Primary Availability Zone. You can use Terraform's \u003cspan pulumi-lang-nodejs=\"`ignoreChanges`\" pulumi-lang-dotnet=\"`IgnoreChanges`\" pulumi-lang-go=\"`ignoreChanges`\" pulumi-lang-python=\"`ignore_changes`\" pulumi-lang-yaml=\"`ignoreChanges`\" pulumi-lang-java=\"`ignoreChanges`\"\u003e`ignore_changes`\u003c/span\u003e functionality to ignore changes to the \u003cspan pulumi-lang-nodejs=\"`zone`\" pulumi-lang-dotnet=\"`Zone`\" pulumi-lang-go=\"`zone`\" pulumi-lang-python=\"`zone`\" pulumi-lang-yaml=\"`zone`\" pulumi-lang-java=\"`zone`\"\u003e`zone`\u003c/span\u003e and `high_availability[0].standby_availability_zone` fields should you wish for Terraform to not migrate the PostgreSQL Flexible Server back to it's primary Availability Zone after a fail-over.\n\n\u003e **Note:** The Availability Zones available depend on the Azure Region that the PostgreSQL Flexible Server is being deployed into - see [the Azure Availability Zones documentation](https://azure.microsoft.com/global-infrastructure/geographies/#geographies) for more information on which Availability Zones are available in each Azure Region.\n"}},"requiredInputs":["resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering FlexibleServer resources.\n","properties":{"administratorLogin":{"type":"string","description":"The Administrator login for the PostgreSQL Flexible Server. Required when \u003cspan pulumi-lang-nodejs=\"`createMode`\" pulumi-lang-dotnet=\"`CreateMode`\" pulumi-lang-go=\"`createMode`\" pulumi-lang-python=\"`create_mode`\" pulumi-lang-yaml=\"`createMode`\" pulumi-lang-java=\"`createMode`\"\u003e`create_mode`\u003c/span\u003e is `Default` and `authentication.password_auth_enabled` is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n\n\u003e **Note:** Once \u003cspan pulumi-lang-nodejs=\"`administratorLogin`\" pulumi-lang-dotnet=\"`AdministratorLogin`\" pulumi-lang-go=\"`administratorLogin`\" pulumi-lang-python=\"`administrator_login`\" pulumi-lang-yaml=\"`administratorLogin`\" pulumi-lang-java=\"`administratorLogin`\"\u003e`administrator_login`\u003c/span\u003e is specified, changing this forces a new PostgreSQL Flexible Server to be created.\n\n\u003e **Note:** To create with \u003cspan pulumi-lang-nodejs=\"`administratorLogin`\" pulumi-lang-dotnet=\"`AdministratorLogin`\" pulumi-lang-go=\"`administratorLogin`\" pulumi-lang-python=\"`administrator_login`\" pulumi-lang-yaml=\"`administratorLogin`\" pulumi-lang-java=\"`administratorLogin`\"\u003e`administrator_login`\u003c/span\u003e specified or update with it first specified , `authentication.password_auth_enabled` must be set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"administratorPassword":{"type":"string","description":"The Password associated with the \u003cspan pulumi-lang-nodejs=\"`administratorLogin`\" pulumi-lang-dotnet=\"`AdministratorLogin`\" pulumi-lang-go=\"`administratorLogin`\" pulumi-lang-python=\"`administrator_login`\" pulumi-lang-yaml=\"`administratorLogin`\" pulumi-lang-java=\"`administratorLogin`\"\u003e`administrator_login`\u003c/span\u003e for the PostgreSQL Flexible Server.\n","secret":true},"administratorPasswordWoVersion":{"type":"integer","description":"An integer value used to trigger an update for \u003cspan pulumi-lang-nodejs=\"`administratorPasswordWo`\" pulumi-lang-dotnet=\"`AdministratorPasswordWo`\" pulumi-lang-go=\"`administratorPasswordWo`\" pulumi-lang-python=\"`administrator_password_wo`\" pulumi-lang-yaml=\"`administratorPasswordWo`\" pulumi-lang-java=\"`administratorPasswordWo`\"\u003e`administrator_password_wo`\u003c/span\u003e. This property should be incremented when updating \u003cspan pulumi-lang-nodejs=\"`administratorPasswordWo`\" pulumi-lang-dotnet=\"`AdministratorPasswordWo`\" pulumi-lang-go=\"`administratorPasswordWo`\" pulumi-lang-python=\"`administrator_password_wo`\" pulumi-lang-yaml=\"`administratorPasswordWo`\" pulumi-lang-java=\"`administratorPasswordWo`\"\u003e`administrator_password_wo`\u003c/span\u003e.\n"},"authentication":{"$ref":"#/types/azure:postgresql/FlexibleServerAuthentication:FlexibleServerAuthentication","description":"An \u003cspan pulumi-lang-nodejs=\"`authentication`\" pulumi-lang-dotnet=\"`Authentication`\" pulumi-lang-go=\"`authentication`\" pulumi-lang-python=\"`authentication`\" pulumi-lang-yaml=\"`authentication`\" pulumi-lang-java=\"`authentication`\"\u003e`authentication`\u003c/span\u003e block as defined below.\n"},"autoGrowEnabled":{"type":"boolean","description":"Is the storage auto grow for PostgreSQL Flexible Server enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"backupRetentionDays":{"type":"integer","description":"The backup retention days for the PostgreSQL Flexible Server. Possible values are between \u003cspan pulumi-lang-nodejs=\"`7`\" pulumi-lang-dotnet=\"`7`\" pulumi-lang-go=\"`7`\" pulumi-lang-python=\"`7`\" pulumi-lang-yaml=\"`7`\" pulumi-lang-java=\"`7`\"\u003e`7`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`35`\" pulumi-lang-dotnet=\"`35`\" pulumi-lang-go=\"`35`\" pulumi-lang-python=\"`35`\" pulumi-lang-yaml=\"`35`\" pulumi-lang-java=\"`35`\"\u003e`35`\u003c/span\u003e days.\n"},"cluster":{"$ref":"#/types/azure:postgresql/FlexibleServerCluster:FlexibleServerCluster","description":"A \u003cspan pulumi-lang-nodejs=\"`cluster`\" pulumi-lang-dotnet=\"`Cluster`\" pulumi-lang-go=\"`cluster`\" pulumi-lang-python=\"`cluster`\" pulumi-lang-yaml=\"`cluster`\" pulumi-lang-java=\"`cluster`\"\u003e`cluster`\u003c/span\u003e block as defined below.\n","willReplaceOnChanges":true},"createMode":{"type":"string","description":"The creation mode which can be used to restore or replicate existing servers. Possible values are `Default`, `GeoRestore`, `PointInTimeRestore`, `Replica`, `ReviveDropped` and `Update`.\n"},"customerManagedKey":{"$ref":"#/types/azure:postgresql/FlexibleServerCustomerManagedKey:FlexibleServerCustomerManagedKey","description":"A \u003cspan pulumi-lang-nodejs=\"`customerManagedKey`\" pulumi-lang-dotnet=\"`CustomerManagedKey`\" pulumi-lang-go=\"`customerManagedKey`\" pulumi-lang-python=\"`customer_managed_key`\" pulumi-lang-yaml=\"`customerManagedKey`\" pulumi-lang-java=\"`customerManagedKey`\"\u003e`customer_managed_key`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"delegatedSubnetId":{"type":"string","description":"The ID of the virtual network subnet to create the PostgreSQL Flexible Server. The provided subnet should not have any other resource deployed in it and this subnet will be delegated to the PostgreSQL Flexible Server, if not already delegated. Changing this forces a new PostgreSQL Flexible Server to be created.\n","willReplaceOnChanges":true},"fqdn":{"type":"string","description":"The FQDN of the PostgreSQL Flexible Server.\n"},"geoRedundantBackupEnabled":{"type":"boolean","description":"Is Geo-Redundant backup enabled on the PostgreSQL Flexible Server. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Changing this forces a new PostgreSQL Flexible Server to be created.\n","willReplaceOnChanges":true},"highAvailability":{"$ref":"#/types/azure:postgresql/FlexibleServerHighAvailability:FlexibleServerHighAvailability","description":"A \u003cspan pulumi-lang-nodejs=\"`highAvailability`\" pulumi-lang-dotnet=\"`HighAvailability`\" pulumi-lang-go=\"`highAvailability`\" pulumi-lang-python=\"`high_availability`\" pulumi-lang-yaml=\"`highAvailability`\" pulumi-lang-java=\"`highAvailability`\"\u003e`high_availability`\u003c/span\u003e block as defined below.\n"},"identity":{"$ref":"#/types/azure:postgresql/FlexibleServerIdentity:FlexibleServerIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"location":{"type":"string","description":"The Azure Region where the PostgreSQL Flexible Server should exist. Changing this forces a new PostgreSQL Flexible Server to be created.\n","willReplaceOnChanges":true},"maintenanceWindow":{"$ref":"#/types/azure:postgresql/FlexibleServerMaintenanceWindow:FlexibleServerMaintenanceWindow","description":"A \u003cspan pulumi-lang-nodejs=\"`maintenanceWindow`\" pulumi-lang-dotnet=\"`MaintenanceWindow`\" pulumi-lang-go=\"`maintenanceWindow`\" pulumi-lang-python=\"`maintenance_window`\" pulumi-lang-yaml=\"`maintenanceWindow`\" pulumi-lang-java=\"`maintenanceWindow`\"\u003e`maintenance_window`\u003c/span\u003e block as defined below.\n"},"name":{"type":"string","description":"The name which should be used for this PostgreSQL Flexible Server. Changing this forces a new PostgreSQL Flexible Server to be created.\n\n\u003e **Note:** This must be unique across the entire Azure service, not just within the resource group.\n","willReplaceOnChanges":true},"pointInTimeRestoreTimeInUtc":{"type":"string","description":"The point in time to restore from \u003cspan pulumi-lang-nodejs=\"`sourceServerId`\" pulumi-lang-dotnet=\"`SourceServerId`\" pulumi-lang-go=\"`sourceServerId`\" pulumi-lang-python=\"`source_server_id`\" pulumi-lang-yaml=\"`sourceServerId`\" pulumi-lang-java=\"`sourceServerId`\"\u003e`source_server_id`\u003c/span\u003e when \u003cspan pulumi-lang-nodejs=\"`createMode`\" pulumi-lang-dotnet=\"`CreateMode`\" pulumi-lang-go=\"`createMode`\" pulumi-lang-python=\"`create_mode`\" pulumi-lang-yaml=\"`createMode`\" pulumi-lang-java=\"`createMode`\"\u003e`create_mode`\u003c/span\u003e is `GeoRestore`, `PointInTimeRestore`. Changing this forces a new PostgreSQL Flexible Server to be created.\n","willReplaceOnChanges":true},"privateDnsZoneId":{"type":"string","description":"The ID of the private DNS zone to create the PostgreSQL Flexible Server.\n\n\u003e **Note:** There will be a breaking change from upstream service at 15th July 2021, the \u003cspan pulumi-lang-nodejs=\"`privateDnsZoneId`\" pulumi-lang-dotnet=\"`PrivateDnsZoneId`\" pulumi-lang-go=\"`privateDnsZoneId`\" pulumi-lang-python=\"`private_dns_zone_id`\" pulumi-lang-yaml=\"`privateDnsZoneId`\" pulumi-lang-java=\"`privateDnsZoneId`\"\u003e`private_dns_zone_id`\u003c/span\u003e will be required when setting a \u003cspan pulumi-lang-nodejs=\"`delegatedSubnetId`\" pulumi-lang-dotnet=\"`DelegatedSubnetId`\" pulumi-lang-go=\"`delegatedSubnetId`\" pulumi-lang-python=\"`delegated_subnet_id`\" pulumi-lang-yaml=\"`delegatedSubnetId`\" pulumi-lang-java=\"`delegatedSubnetId`\"\u003e`delegated_subnet_id`\u003c/span\u003e. For existing flexible servers who don't want to be recreated, you need to provide the \u003cspan pulumi-lang-nodejs=\"`privateDnsZoneId`\" pulumi-lang-dotnet=\"`PrivateDnsZoneId`\" pulumi-lang-go=\"`privateDnsZoneId`\" pulumi-lang-python=\"`private_dns_zone_id`\" pulumi-lang-yaml=\"`privateDnsZoneId`\" pulumi-lang-java=\"`privateDnsZoneId`\"\u003e`private_dns_zone_id`\u003c/span\u003e to the service team to manually migrate to the specified private DNS zone. The \u003cspan pulumi-lang-nodejs=\"`azure.privatedns.Zone`\" pulumi-lang-dotnet=\"`azure.privatedns.Zone`\" pulumi-lang-go=\"`privatedns.Zone`\" pulumi-lang-python=\"`privatedns.Zone`\" pulumi-lang-yaml=\"`azure.privatedns.Zone`\" pulumi-lang-java=\"`azure.privatedns.Zone`\"\u003e`azure.privatedns.Zone`\u003c/span\u003e should end with suffix `.postgres.database.azure.com`.\n"},"publicNetworkAccessEnabled":{"type":"boolean","description":"Specifies whether this PostgreSQL Flexible Server is publicly accessible. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`publicNetworkAccessEnabled`\" pulumi-lang-dotnet=\"`PublicNetworkAccessEnabled`\" pulumi-lang-go=\"`publicNetworkAccessEnabled`\" pulumi-lang-python=\"`public_network_access_enabled`\" pulumi-lang-yaml=\"`publicNetworkAccessEnabled`\" pulumi-lang-java=\"`publicNetworkAccessEnabled`\"\u003e`public_network_access_enabled`\u003c/span\u003e must be set to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e when \u003cspan pulumi-lang-nodejs=\"`delegatedSubnetId`\" pulumi-lang-dotnet=\"`DelegatedSubnetId`\" pulumi-lang-go=\"`delegatedSubnetId`\" pulumi-lang-python=\"`delegated_subnet_id`\" pulumi-lang-yaml=\"`delegatedSubnetId`\" pulumi-lang-java=\"`delegatedSubnetId`\"\u003e`delegated_subnet_id`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`privateDnsZoneId`\" pulumi-lang-dotnet=\"`PrivateDnsZoneId`\" pulumi-lang-go=\"`privateDnsZoneId`\" pulumi-lang-python=\"`private_dns_zone_id`\" pulumi-lang-yaml=\"`privateDnsZoneId`\" pulumi-lang-java=\"`privateDnsZoneId`\"\u003e`private_dns_zone_id`\u003c/span\u003e have a value.\n"},"replicationRole":{"type":"string","description":"The replication role for the PostgreSQL Flexible Server. Possible value is `None`.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`replicationRole`\" pulumi-lang-dotnet=\"`ReplicationRole`\" pulumi-lang-go=\"`replicationRole`\" pulumi-lang-python=\"`replication_role`\" pulumi-lang-yaml=\"`replicationRole`\" pulumi-lang-java=\"`replicationRole`\"\u003e`replication_role`\u003c/span\u003e cannot be set while creating and only can be updated to `None` for replica server.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the PostgreSQL Flexible Server should exist. Changing this forces a new PostgreSQL Flexible Server to be created.\n","willReplaceOnChanges":true},"skuName":{"type":"string","description":"The SKU Name for the PostgreSQL Flexible Server. The name of the SKU, follows the \u003cspan pulumi-lang-nodejs=\"`tier`\" pulumi-lang-dotnet=\"`Tier`\" pulumi-lang-go=\"`tier`\" pulumi-lang-python=\"`tier`\" pulumi-lang-yaml=\"`tier`\" pulumi-lang-java=\"`tier`\"\u003e`tier`\u003c/span\u003e + \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e pattern (e.g. `B_Standard_B1ms`, `GP_Standard_D2s_v3`, `MO_Standard_E4s_v3`).\n"},"sourceServerId":{"type":"string","description":"The resource ID of the source PostgreSQL Flexible Server to be restored. Required when \u003cspan pulumi-lang-nodejs=\"`createMode`\" pulumi-lang-dotnet=\"`CreateMode`\" pulumi-lang-go=\"`createMode`\" pulumi-lang-python=\"`create_mode`\" pulumi-lang-yaml=\"`createMode`\" pulumi-lang-java=\"`createMode`\"\u003e`create_mode`\u003c/span\u003e is `GeoRestore`, `PointInTimeRestore` or `Replica`. Changing this forces a new PostgreSQL Flexible Server to be created.\n","willReplaceOnChanges":true},"storageMb":{"type":"integer","description":"The max storage allowed for the PostgreSQL Flexible Server. Possible values are \u003cspan pulumi-lang-nodejs=\"`32768`\" pulumi-lang-dotnet=\"`32768`\" pulumi-lang-go=\"`32768`\" pulumi-lang-python=\"`32768`\" pulumi-lang-yaml=\"`32768`\" pulumi-lang-java=\"`32768`\"\u003e`32768`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`65536`\" pulumi-lang-dotnet=\"`65536`\" pulumi-lang-go=\"`65536`\" pulumi-lang-python=\"`65536`\" pulumi-lang-yaml=\"`65536`\" pulumi-lang-java=\"`65536`\"\u003e`65536`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`131072`\" pulumi-lang-dotnet=\"`131072`\" pulumi-lang-go=\"`131072`\" pulumi-lang-python=\"`131072`\" pulumi-lang-yaml=\"`131072`\" pulumi-lang-java=\"`131072`\"\u003e`131072`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`262144`\" pulumi-lang-dotnet=\"`262144`\" pulumi-lang-go=\"`262144`\" pulumi-lang-python=\"`262144`\" pulumi-lang-yaml=\"`262144`\" pulumi-lang-java=\"`262144`\"\u003e`262144`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`524288`\" pulumi-lang-dotnet=\"`524288`\" pulumi-lang-go=\"`524288`\" pulumi-lang-python=\"`524288`\" pulumi-lang-yaml=\"`524288`\" pulumi-lang-java=\"`524288`\"\u003e`524288`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`1048576`\" pulumi-lang-dotnet=\"`1048576`\" pulumi-lang-go=\"`1048576`\" pulumi-lang-python=\"`1048576`\" pulumi-lang-yaml=\"`1048576`\" pulumi-lang-java=\"`1048576`\"\u003e`1048576`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`2097152`\" pulumi-lang-dotnet=\"`2097152`\" pulumi-lang-go=\"`2097152`\" pulumi-lang-python=\"`2097152`\" pulumi-lang-yaml=\"`2097152`\" pulumi-lang-java=\"`2097152`\"\u003e`2097152`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`4193280`\" pulumi-lang-dotnet=\"`4193280`\" pulumi-lang-go=\"`4193280`\" pulumi-lang-python=\"`4193280`\" pulumi-lang-yaml=\"`4193280`\" pulumi-lang-java=\"`4193280`\"\u003e`4193280`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`4194304`\" pulumi-lang-dotnet=\"`4194304`\" pulumi-lang-go=\"`4194304`\" pulumi-lang-python=\"`4194304`\" pulumi-lang-yaml=\"`4194304`\" pulumi-lang-java=\"`4194304`\"\u003e`4194304`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`8388608`\" pulumi-lang-dotnet=\"`8388608`\" pulumi-lang-go=\"`8388608`\" pulumi-lang-python=\"`8388608`\" pulumi-lang-yaml=\"`8388608`\" pulumi-lang-java=\"`8388608`\"\u003e`8388608`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`16777216`\" pulumi-lang-dotnet=\"`16777216`\" pulumi-lang-go=\"`16777216`\" pulumi-lang-python=\"`16777216`\" pulumi-lang-yaml=\"`16777216`\" pulumi-lang-java=\"`16777216`\"\u003e`16777216`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`33553408`\" pulumi-lang-dotnet=\"`33553408`\" pulumi-lang-go=\"`33553408`\" pulumi-lang-python=\"`33553408`\" pulumi-lang-yaml=\"`33553408`\" pulumi-lang-java=\"`33553408`\"\u003e`33553408`\u003c/span\u003e.\n\n\u003e **Note:** If the \u003cspan pulumi-lang-nodejs=\"`storageMb`\" pulumi-lang-dotnet=\"`StorageMb`\" pulumi-lang-go=\"`storageMb`\" pulumi-lang-python=\"`storage_mb`\" pulumi-lang-yaml=\"`storageMb`\" pulumi-lang-java=\"`storageMb`\"\u003e`storage_mb`\u003c/span\u003e field is undefined on the initial deployment of the PostgreSQL Flexible Server resource it will default to \u003cspan pulumi-lang-nodejs=\"`32768`\" pulumi-lang-dotnet=\"`32768`\" pulumi-lang-go=\"`32768`\" pulumi-lang-python=\"`32768`\" pulumi-lang-yaml=\"`32768`\" pulumi-lang-java=\"`32768`\"\u003e`32768`\u003c/span\u003e. If the \u003cspan pulumi-lang-nodejs=\"`storageMb`\" pulumi-lang-dotnet=\"`StorageMb`\" pulumi-lang-go=\"`storageMb`\" pulumi-lang-python=\"`storage_mb`\" pulumi-lang-yaml=\"`storageMb`\" pulumi-lang-java=\"`storageMb`\"\u003e`storage_mb`\u003c/span\u003e field has been defined and then removed, the \u003cspan pulumi-lang-nodejs=\"`storageMb`\" pulumi-lang-dotnet=\"`StorageMb`\" pulumi-lang-go=\"`storageMb`\" pulumi-lang-python=\"`storage_mb`\" pulumi-lang-yaml=\"`storageMb`\" pulumi-lang-java=\"`storageMb`\"\u003e`storage_mb`\u003c/span\u003e field will retain the previously defined value.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`storageMb`\" pulumi-lang-dotnet=\"`StorageMb`\" pulumi-lang-go=\"`storageMb`\" pulumi-lang-python=\"`storage_mb`\" pulumi-lang-yaml=\"`storageMb`\" pulumi-lang-java=\"`storageMb`\"\u003e`storage_mb`\u003c/span\u003e can only be scaled up, for example, you can scale the \u003cspan pulumi-lang-nodejs=\"`storageMb`\" pulumi-lang-dotnet=\"`StorageMb`\" pulumi-lang-go=\"`storageMb`\" pulumi-lang-python=\"`storage_mb`\" pulumi-lang-yaml=\"`storageMb`\" pulumi-lang-java=\"`storageMb`\"\u003e`storage_mb`\u003c/span\u003e from \u003cspan pulumi-lang-nodejs=\"`32768`\" pulumi-lang-dotnet=\"`32768`\" pulumi-lang-go=\"`32768`\" pulumi-lang-python=\"`32768`\" pulumi-lang-yaml=\"`32768`\" pulumi-lang-java=\"`32768`\"\u003e`32768`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`65536`\" pulumi-lang-dotnet=\"`65536`\" pulumi-lang-go=\"`65536`\" pulumi-lang-python=\"`65536`\" pulumi-lang-yaml=\"`65536`\" pulumi-lang-java=\"`65536`\"\u003e`65536`\u003c/span\u003e, but not from \u003cspan pulumi-lang-nodejs=\"`65536`\" pulumi-lang-dotnet=\"`65536`\" pulumi-lang-go=\"`65536`\" pulumi-lang-python=\"`65536`\" pulumi-lang-yaml=\"`65536`\" pulumi-lang-java=\"`65536`\"\u003e`65536`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`32768`\" pulumi-lang-dotnet=\"`32768`\" pulumi-lang-go=\"`32768`\" pulumi-lang-python=\"`32768`\" pulumi-lang-yaml=\"`32768`\" pulumi-lang-java=\"`32768`\"\u003e`32768`\u003c/span\u003e. Scaling down \u003cspan pulumi-lang-nodejs=\"`storageMb`\" pulumi-lang-dotnet=\"`StorageMb`\" pulumi-lang-go=\"`storageMb`\" pulumi-lang-python=\"`storage_mb`\" pulumi-lang-yaml=\"`storageMb`\" pulumi-lang-java=\"`storageMb`\"\u003e`storage_mb`\u003c/span\u003e forces a new PostgreSQL Flexible Server to be created.\n"},"storageTier":{"type":"string","description":"The name of storage performance tier for IOPS of the PostgreSQL Flexible Server. Possible values are `P4`, `P6`, `P10`, `P15`,`P20`, `P30`,`P40`, `P50`,`P60`, `P70` or `P80`. Default value is dependent on the \u003cspan pulumi-lang-nodejs=\"`storageMb`\" pulumi-lang-dotnet=\"`StorageMb`\" pulumi-lang-go=\"`storageMb`\" pulumi-lang-python=\"`storage_mb`\" pulumi-lang-yaml=\"`storageMb`\" pulumi-lang-java=\"`storageMb`\"\u003e`storage_mb`\u003c/span\u003e value. Please see the \u003cspan pulumi-lang-nodejs=\"`storageTier`\" pulumi-lang-dotnet=\"`StorageTier`\" pulumi-lang-go=\"`storageTier`\" pulumi-lang-python=\"`storage_tier`\" pulumi-lang-yaml=\"`storageTier`\" pulumi-lang-java=\"`storageTier`\"\u003e`storage_tier`\u003c/span\u003e defaults based on \u003cspan pulumi-lang-nodejs=\"`storageMb`\" pulumi-lang-dotnet=\"`StorageMb`\" pulumi-lang-go=\"`storageMb`\" pulumi-lang-python=\"`storage_mb`\" pulumi-lang-yaml=\"`storageMb`\" pulumi-lang-java=\"`storageMb`\"\u003e`storage_mb`\u003c/span\u003e table below.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`storageTier`\" pulumi-lang-dotnet=\"`StorageTier`\" pulumi-lang-go=\"`storageTier`\" pulumi-lang-python=\"`storage_tier`\" pulumi-lang-yaml=\"`storageTier`\" pulumi-lang-java=\"`storageTier`\"\u003e`storage_tier`\u003c/span\u003e can be scaled once every 12 hours, this restriction is in place to ensure stability and performance after any changes to your PostgreSQL Flexible Server's configuration.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the PostgreSQL Flexible Server.\n"},"version":{"type":"string","description":"The version of PostgreSQL Flexible Server to use. Possible values are \u003cspan pulumi-lang-nodejs=\"`11`\" pulumi-lang-dotnet=\"`11`\" pulumi-lang-go=\"`11`\" pulumi-lang-python=\"`11`\" pulumi-lang-yaml=\"`11`\" pulumi-lang-java=\"`11`\"\u003e`11`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`12`\" pulumi-lang-dotnet=\"`12`\" pulumi-lang-go=\"`12`\" pulumi-lang-python=\"`12`\" pulumi-lang-yaml=\"`12`\" pulumi-lang-java=\"`12`\"\u003e`12`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`13`\" pulumi-lang-dotnet=\"`13`\" pulumi-lang-go=\"`13`\" pulumi-lang-python=\"`13`\" pulumi-lang-yaml=\"`13`\" pulumi-lang-java=\"`13`\"\u003e`13`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`14`\" pulumi-lang-dotnet=\"`14`\" pulumi-lang-go=\"`14`\" pulumi-lang-python=\"`14`\" pulumi-lang-yaml=\"`14`\" pulumi-lang-java=\"`14`\"\u003e`14`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`15`\" pulumi-lang-dotnet=\"`15`\" pulumi-lang-go=\"`15`\" pulumi-lang-python=\"`15`\" pulumi-lang-yaml=\"`15`\" pulumi-lang-java=\"`15`\"\u003e`15`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`16`\" pulumi-lang-dotnet=\"`16`\" pulumi-lang-go=\"`16`\" pulumi-lang-python=\"`16`\" pulumi-lang-yaml=\"`16`\" pulumi-lang-java=\"`16`\"\u003e`16`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`17`\" pulumi-lang-dotnet=\"`17`\" pulumi-lang-go=\"`17`\" pulumi-lang-python=\"`17`\" pulumi-lang-yaml=\"`17`\" pulumi-lang-java=\"`17`\"\u003e`17`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`18`\" pulumi-lang-dotnet=\"`18`\" pulumi-lang-go=\"`18`\" pulumi-lang-python=\"`18`\" pulumi-lang-yaml=\"`18`\" pulumi-lang-java=\"`18`\"\u003e`18`\u003c/span\u003e. Required when \u003cspan pulumi-lang-nodejs=\"`createMode`\" pulumi-lang-dotnet=\"`CreateMode`\" pulumi-lang-go=\"`createMode`\" pulumi-lang-python=\"`create_mode`\" pulumi-lang-yaml=\"`createMode`\" pulumi-lang-java=\"`createMode`\"\u003e`create_mode`\u003c/span\u003e is `Default`.\n\n\u003e **Note:** Downgrading \u003cspan pulumi-lang-nodejs=\"`version`\" pulumi-lang-dotnet=\"`Version`\" pulumi-lang-go=\"`version`\" pulumi-lang-python=\"`version`\" pulumi-lang-yaml=\"`version`\" pulumi-lang-java=\"`version`\"\u003e`version`\u003c/span\u003e isn't supported and will force a new PostgreSQL Flexible Server to be created.\n\n\u003e **Note:** In-place version updates are irreversible and may cause downtime for the PostgreSQL Flexible Server, determined by the size of the instance.\n\n\u003e **Note:** Major version upgrades are not supported when \u003cspan pulumi-lang-nodejs=\"`cluster`\" pulumi-lang-dotnet=\"`Cluster`\" pulumi-lang-go=\"`cluster`\" pulumi-lang-python=\"`cluster`\" pulumi-lang-yaml=\"`cluster`\" pulumi-lang-java=\"`cluster`\"\u003e`cluster`\u003c/span\u003e is specified.\n"},"zone":{"type":"string","description":"Specifies the Availability Zone in which the PostgreSQL Flexible Server should be located.\n\n\u003e **Note:** Azure will automatically assign an Availability Zone if one is not specified. If the PostgreSQL Flexible Server fails-over to the Standby Availability Zone, the \u003cspan pulumi-lang-nodejs=\"`zone`\" pulumi-lang-dotnet=\"`Zone`\" pulumi-lang-go=\"`zone`\" pulumi-lang-python=\"`zone`\" pulumi-lang-yaml=\"`zone`\" pulumi-lang-java=\"`zone`\"\u003e`zone`\u003c/span\u003e will be updated to reflect the current Primary Availability Zone. You can use Terraform's \u003cspan pulumi-lang-nodejs=\"`ignoreChanges`\" pulumi-lang-dotnet=\"`IgnoreChanges`\" pulumi-lang-go=\"`ignoreChanges`\" pulumi-lang-python=\"`ignore_changes`\" pulumi-lang-yaml=\"`ignoreChanges`\" pulumi-lang-java=\"`ignoreChanges`\"\u003e`ignore_changes`\u003c/span\u003e functionality to ignore changes to the \u003cspan pulumi-lang-nodejs=\"`zone`\" pulumi-lang-dotnet=\"`Zone`\" pulumi-lang-go=\"`zone`\" pulumi-lang-python=\"`zone`\" pulumi-lang-yaml=\"`zone`\" pulumi-lang-java=\"`zone`\"\u003e`zone`\u003c/span\u003e and `high_availability[0].standby_availability_zone` fields should you wish for Terraform to not migrate the PostgreSQL Flexible Server back to it's primary Availability Zone after a fail-over.\n\n\u003e **Note:** The Availability Zones available depend on the Azure Region that the PostgreSQL Flexible Server is being deployed into - see [the Azure Availability Zones documentation](https://azure.microsoft.com/global-infrastructure/geographies/#geographies) for more information on which Availability Zones are available in each Azure Region.\n"}},"type":"object"}},"azure:postgresql/flexibleServerActiveDirectoryAdministrator:FlexibleServerActiveDirectoryAdministrator":{"description":"Allows you to set a user or group as the AD administrator for a PostgreSQL Flexible Server.\n\n## Import\n\nA PostgreSQL Flexible Server Active Directory Administrator can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:postgresql/flexibleServerActiveDirectoryAdministrator:FlexibleServerActiveDirectoryAdministrator example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myresourcegroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/myserver/administrators/objectId\n```\n\n","properties":{"objectId":{"type":"string","description":"The object ID of a user, service principal or security group in the Azure Active Directory tenant set as the Flexible Server Admin. Changing this forces a new resource to be created.\n"},"principalName":{"type":"string","description":"The name of Azure Active Directory principal. Changing this forces a new resource to be created.\n"},"principalType":{"type":"string","description":"The type of Azure Active Directory principal. Possible values are `Group`, `ServicePrincipal` and `User`. Changing this forces a new resource to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group for the PostgreSQL Server. Changing this forces a new resource to be created.\n"},"serverName":{"type":"string","description":"The name of the PostgreSQL Flexible Server on which to set the administrator. Changing this forces a new resource to be created.\n"},"tenantId":{"type":"string","description":"The Azure Tenant ID. Changing this forces a new resource to be created.\n"}},"required":["objectId","principalName","principalType","resourceGroupName","serverName","tenantId"],"inputProperties":{"objectId":{"type":"string","description":"The object ID of a user, service principal or security group in the Azure Active Directory tenant set as the Flexible Server Admin. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"principalName":{"type":"string","description":"The name of Azure Active Directory principal. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"principalType":{"type":"string","description":"The type of Azure Active Directory principal. Possible values are `Group`, `ServicePrincipal` and `User`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group for the PostgreSQL Server. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"serverName":{"type":"string","description":"The name of the PostgreSQL Flexible Server on which to set the administrator. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tenantId":{"type":"string","description":"The Azure Tenant ID. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["objectId","principalName","principalType","resourceGroupName","serverName","tenantId"],"stateInputs":{"description":"Input properties used for looking up and filtering FlexibleServerActiveDirectoryAdministrator resources.\n","properties":{"objectId":{"type":"string","description":"The object ID of a user, service principal or security group in the Azure Active Directory tenant set as the Flexible Server Admin. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"principalName":{"type":"string","description":"The name of Azure Active Directory principal. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"principalType":{"type":"string","description":"The type of Azure Active Directory principal. Possible values are `Group`, `ServicePrincipal` and `User`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group for the PostgreSQL Server. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"serverName":{"type":"string","description":"The name of the PostgreSQL Flexible Server on which to set the administrator. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tenantId":{"type":"string","description":"The Azure Tenant ID. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:postgresql/flexibleServerBackup:FlexibleServerBackup":{"description":"Manages a PostgreSQL Flexible Server Backup.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleFlexibleServer = new azure.postgresql.FlexibleServer(\"example\", {\n    name: \"example-fs\",\n    resourceGroupName: example.name,\n    location: example.location,\n    administratorLogin: \"adminTerraform\",\n    administratorPassword: \"QAZwsx123\",\n    version: \"12\",\n    skuName: \"GP_Standard_D2s_v3\",\n    zone: \"2\",\n});\nconst exampleFlexibleServerBackup = new azure.postgresql.FlexibleServerBackup(\"example\", {\n    name: \"example-pfsb\",\n    serverId: exampleFlexibleServer.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_flexible_server = azure.postgresql.FlexibleServer(\"example\",\n    name=\"example-fs\",\n    resource_group_name=example.name,\n    location=example.location,\n    administrator_login=\"adminTerraform\",\n    administrator_password=\"QAZwsx123\",\n    version=\"12\",\n    sku_name=\"GP_Standard_D2s_v3\",\n    zone=\"2\")\nexample_flexible_server_backup = azure.postgresql.FlexibleServerBackup(\"example\",\n    name=\"example-pfsb\",\n    server_id=example_flexible_server.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleFlexibleServer = new Azure.PostgreSql.FlexibleServer(\"example\", new()\n    {\n        Name = \"example-fs\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        AdministratorLogin = \"adminTerraform\",\n        AdministratorPassword = \"QAZwsx123\",\n        Version = \"12\",\n        SkuName = \"GP_Standard_D2s_v3\",\n        Zone = \"2\",\n    });\n\n    var exampleFlexibleServerBackup = new Azure.PostgreSql.FlexibleServerBackup(\"example\", new()\n    {\n        Name = \"example-pfsb\",\n        ServerId = exampleFlexibleServer.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/postgresql\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleFlexibleServer, err := postgresql.NewFlexibleServer(ctx, \"example\", \u0026postgresql.FlexibleServerArgs{\n\t\t\tName:                  pulumi.String(\"example-fs\"),\n\t\t\tResourceGroupName:     example.Name,\n\t\t\tLocation:              example.Location,\n\t\t\tAdministratorLogin:    pulumi.String(\"adminTerraform\"),\n\t\t\tAdministratorPassword: pulumi.String(\"QAZwsx123\"),\n\t\t\tVersion:               pulumi.String(\"12\"),\n\t\t\tSkuName:               pulumi.String(\"GP_Standard_D2s_v3\"),\n\t\t\tZone:                  pulumi.String(\"2\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = postgresql.NewFlexibleServerBackup(ctx, \"example\", \u0026postgresql.FlexibleServerBackupArgs{\n\t\t\tName:     pulumi.String(\"example-pfsb\"),\n\t\t\tServerId: exampleFlexibleServer.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.postgresql.FlexibleServer;\nimport com.pulumi.azure.postgresql.FlexibleServerArgs;\nimport com.pulumi.azure.postgresql.FlexibleServerBackup;\nimport com.pulumi.azure.postgresql.FlexibleServerBackupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleFlexibleServer = new FlexibleServer(\"exampleFlexibleServer\", FlexibleServerArgs.builder()\n            .name(\"example-fs\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .administratorLogin(\"adminTerraform\")\n            .administratorPassword(\"QAZwsx123\")\n            .version(\"12\")\n            .skuName(\"GP_Standard_D2s_v3\")\n            .zone(\"2\")\n            .build());\n\n        var exampleFlexibleServerBackup = new FlexibleServerBackup(\"exampleFlexibleServerBackup\", FlexibleServerBackupArgs.builder()\n            .name(\"example-pfsb\")\n            .serverId(exampleFlexibleServer.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleFlexibleServer:\n    type: azure:postgresql:FlexibleServer\n    name: example\n    properties:\n      name: example-fs\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      administratorLogin: adminTerraform\n      administratorPassword: QAZwsx123\n      version: '12'\n      skuName: GP_Standard_D2s_v3\n      zone: '2'\n  exampleFlexibleServerBackup:\n    type: azure:postgresql:FlexibleServerBackup\n    name: example\n    properties:\n      name: example-pfsb\n      serverId: ${exampleFlexibleServer.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.DBforPostgreSQL` - 2025-08-01\n\n## Import\n\nAn existing PostgreSQL Flexible Server Backup can be imported into Pulumi using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:postgresql/flexibleServerBackup:FlexibleServerBackup example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.DBforPostgreSQL/flexibleServers/fs1/backups/backup1\n```\n\n","properties":{"completedTime":{"type":"string","description":"The Time (ISO8601 format) at which the backup was completed.\n"},"name":{"type":"string","description":"Specifies the name of this PostgreSQL Flexible Server Backup. Changing this forces a new resource to be created.\n"},"serverId":{"type":"string","description":"The ID of the PostgreSQL Flexible Server from which to create this PostgreSQL Flexible Server Backup. Changing this forces a new resource to be created.\n"}},"required":["completedTime","name","serverId"],"inputProperties":{"name":{"type":"string","description":"Specifies the name of this PostgreSQL Flexible Server Backup. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"serverId":{"type":"string","description":"The ID of the PostgreSQL Flexible Server from which to create this PostgreSQL Flexible Server Backup. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["serverId"],"stateInputs":{"description":"Input properties used for looking up and filtering FlexibleServerBackup resources.\n","properties":{"completedTime":{"type":"string","description":"The Time (ISO8601 format) at which the backup was completed.\n"},"name":{"type":"string","description":"Specifies the name of this PostgreSQL Flexible Server Backup. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"serverId":{"type":"string","description":"The ID of the PostgreSQL Flexible Server from which to create this PostgreSQL Flexible Server Backup. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:postgresql/flexibleServerConfiguration:FlexibleServerConfiguration":{"description":"Sets a PostgreSQL Configuration value on a Azure PostgreSQL Flexible Server.\n\n\u003e **Note:** Changes to static server parameters will automatically trigger Azure Flex Server restart. This behavior can be disabled in the provider \u003cspan pulumi-lang-nodejs=\"`features`\" pulumi-lang-dotnet=\"`Features`\" pulumi-lang-go=\"`features`\" pulumi-lang-python=\"`features`\" pulumi-lang-yaml=\"`features`\" pulumi-lang-java=\"`features`\"\u003e`features`\u003c/span\u003e block by setting the \u003cspan pulumi-lang-nodejs=\"`restartServerOnConfigurationValueChange`\" pulumi-lang-dotnet=\"`RestartServerOnConfigurationValueChange`\" pulumi-lang-go=\"`restartServerOnConfigurationValueChange`\" pulumi-lang-python=\"`restart_server_on_configuration_value_change`\" pulumi-lang-yaml=\"`restartServerOnConfigurationValueChange`\" pulumi-lang-java=\"`restartServerOnConfigurationValueChange`\"\u003e`restart_server_on_configuration_value_change`\u003c/span\u003e field to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e within the \u003cspan pulumi-lang-nodejs=\"`postgresqlFlexibleServer`\" pulumi-lang-dotnet=\"`PostgresqlFlexibleServer`\" pulumi-lang-go=\"`postgresqlFlexibleServer`\" pulumi-lang-python=\"`postgresql_flexible_server`\" pulumi-lang-yaml=\"`postgresqlFlexibleServer`\" pulumi-lang-java=\"`postgresqlFlexibleServer`\"\u003e`postgresql_flexible_server`\u003c/span\u003e block.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleFlexibleServer = new azure.postgresql.FlexibleServer(\"example\", {\n    name: \"example-psqlflexibleserver\",\n    resourceGroupName: example.name,\n    location: example.location,\n    version: \"12\",\n    administratorLogin: \"psqladmin\",\n    administratorPassword: \"H@Sh1CoR3!\",\n    storageMb: 32768,\n    skuName: \"GP_Standard_D4s_v3\",\n});\nconst exampleFlexibleServerConfiguration = new azure.postgresql.FlexibleServerConfiguration(\"example\", {\n    name: \"backslash_quote\",\n    serverId: exampleFlexibleServer.id,\n    value: \"on\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_flexible_server = azure.postgresql.FlexibleServer(\"example\",\n    name=\"example-psqlflexibleserver\",\n    resource_group_name=example.name,\n    location=example.location,\n    version=\"12\",\n    administrator_login=\"psqladmin\",\n    administrator_password=\"H@Sh1CoR3!\",\n    storage_mb=32768,\n    sku_name=\"GP_Standard_D4s_v3\")\nexample_flexible_server_configuration = azure.postgresql.FlexibleServerConfiguration(\"example\",\n    name=\"backslash_quote\",\n    server_id=example_flexible_server.id,\n    value=\"on\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleFlexibleServer = new Azure.PostgreSql.FlexibleServer(\"example\", new()\n    {\n        Name = \"example-psqlflexibleserver\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        Version = \"12\",\n        AdministratorLogin = \"psqladmin\",\n        AdministratorPassword = \"H@Sh1CoR3!\",\n        StorageMb = 32768,\n        SkuName = \"GP_Standard_D4s_v3\",\n    });\n\n    var exampleFlexibleServerConfiguration = new Azure.PostgreSql.FlexibleServerConfiguration(\"example\", new()\n    {\n        Name = \"backslash_quote\",\n        ServerId = exampleFlexibleServer.Id,\n        Value = \"on\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/postgresql\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleFlexibleServer, err := postgresql.NewFlexibleServer(ctx, \"example\", \u0026postgresql.FlexibleServerArgs{\n\t\t\tName:                  pulumi.String(\"example-psqlflexibleserver\"),\n\t\t\tResourceGroupName:     example.Name,\n\t\t\tLocation:              example.Location,\n\t\t\tVersion:               pulumi.String(\"12\"),\n\t\t\tAdministratorLogin:    pulumi.String(\"psqladmin\"),\n\t\t\tAdministratorPassword: pulumi.String(\"H@Sh1CoR3!\"),\n\t\t\tStorageMb:             pulumi.Int(32768),\n\t\t\tSkuName:               pulumi.String(\"GP_Standard_D4s_v3\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = postgresql.NewFlexibleServerConfiguration(ctx, \"example\", \u0026postgresql.FlexibleServerConfigurationArgs{\n\t\t\tName:     pulumi.String(\"backslash_quote\"),\n\t\t\tServerId: exampleFlexibleServer.ID(),\n\t\t\tValue:    pulumi.String(\"on\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.postgresql.FlexibleServer;\nimport com.pulumi.azure.postgresql.FlexibleServerArgs;\nimport com.pulumi.azure.postgresql.FlexibleServerConfiguration;\nimport com.pulumi.azure.postgresql.FlexibleServerConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleFlexibleServer = new FlexibleServer(\"exampleFlexibleServer\", FlexibleServerArgs.builder()\n            .name(\"example-psqlflexibleserver\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .version(\"12\")\n            .administratorLogin(\"psqladmin\")\n            .administratorPassword(\"H@Sh1CoR3!\")\n            .storageMb(32768)\n            .skuName(\"GP_Standard_D4s_v3\")\n            .build());\n\n        var exampleFlexibleServerConfiguration = new FlexibleServerConfiguration(\"exampleFlexibleServerConfiguration\", FlexibleServerConfigurationArgs.builder()\n            .name(\"backslash_quote\")\n            .serverId(exampleFlexibleServer.id())\n            .value(\"on\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleFlexibleServer:\n    type: azure:postgresql:FlexibleServer\n    name: example\n    properties:\n      name: example-psqlflexibleserver\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      version: '12'\n      administratorLogin: psqladmin\n      administratorPassword: H@Sh1CoR3!\n      storageMb: 32768\n      skuName: GP_Standard_D4s_v3\n  exampleFlexibleServerConfiguration:\n    type: azure:postgresql:FlexibleServerConfiguration\n    name: example\n    properties:\n      name: backslash_quote\n      serverId: ${exampleFlexibleServer.id}\n      value: on\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Azure Extensions\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleFlexibleServer = new azure.postgresql.FlexibleServer(\"example\", {\n    name: \"example-psqlflexibleserver\",\n    resourceGroupName: example.name,\n    location: example.location,\n    version: \"12\",\n    administratorLogin: \"psqladmin\",\n    administratorPassword: \"H@Sh1CoR3!\",\n    storageMb: 32768,\n    skuName: \"GP_Standard_D4s_v3\",\n});\nconst exampleFlexibleServerConfiguration = new azure.postgresql.FlexibleServerConfiguration(\"example\", {\n    name: \"azure.extensions\",\n    serverId: exampleFlexibleServer.id,\n    value: \"CUBE,CITEXT,BTREE_GIST\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_flexible_server = azure.postgresql.FlexibleServer(\"example\",\n    name=\"example-psqlflexibleserver\",\n    resource_group_name=example.name,\n    location=example.location,\n    version=\"12\",\n    administrator_login=\"psqladmin\",\n    administrator_password=\"H@Sh1CoR3!\",\n    storage_mb=32768,\n    sku_name=\"GP_Standard_D4s_v3\")\nexample_flexible_server_configuration = azure.postgresql.FlexibleServerConfiguration(\"example\",\n    name=\"azure.extensions\",\n    server_id=example_flexible_server.id,\n    value=\"CUBE,CITEXT,BTREE_GIST\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleFlexibleServer = new Azure.PostgreSql.FlexibleServer(\"example\", new()\n    {\n        Name = \"example-psqlflexibleserver\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        Version = \"12\",\n        AdministratorLogin = \"psqladmin\",\n        AdministratorPassword = \"H@Sh1CoR3!\",\n        StorageMb = 32768,\n        SkuName = \"GP_Standard_D4s_v3\",\n    });\n\n    var exampleFlexibleServerConfiguration = new Azure.PostgreSql.FlexibleServerConfiguration(\"example\", new()\n    {\n        Name = \"azure.extensions\",\n        ServerId = exampleFlexibleServer.Id,\n        Value = \"CUBE,CITEXT,BTREE_GIST\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/postgresql\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleFlexibleServer, err := postgresql.NewFlexibleServer(ctx, \"example\", \u0026postgresql.FlexibleServerArgs{\n\t\t\tName:                  pulumi.String(\"example-psqlflexibleserver\"),\n\t\t\tResourceGroupName:     example.Name,\n\t\t\tLocation:              example.Location,\n\t\t\tVersion:               pulumi.String(\"12\"),\n\t\t\tAdministratorLogin:    pulumi.String(\"psqladmin\"),\n\t\t\tAdministratorPassword: pulumi.String(\"H@Sh1CoR3!\"),\n\t\t\tStorageMb:             pulumi.Int(32768),\n\t\t\tSkuName:               pulumi.String(\"GP_Standard_D4s_v3\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = postgresql.NewFlexibleServerConfiguration(ctx, \"example\", \u0026postgresql.FlexibleServerConfigurationArgs{\n\t\t\tName:     pulumi.String(\"azure.extensions\"),\n\t\t\tServerId: exampleFlexibleServer.ID(),\n\t\t\tValue:    pulumi.String(\"CUBE,CITEXT,BTREE_GIST\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.postgresql.FlexibleServer;\nimport com.pulumi.azure.postgresql.FlexibleServerArgs;\nimport com.pulumi.azure.postgresql.FlexibleServerConfiguration;\nimport com.pulumi.azure.postgresql.FlexibleServerConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleFlexibleServer = new FlexibleServer(\"exampleFlexibleServer\", FlexibleServerArgs.builder()\n            .name(\"example-psqlflexibleserver\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .version(\"12\")\n            .administratorLogin(\"psqladmin\")\n            .administratorPassword(\"H@Sh1CoR3!\")\n            .storageMb(32768)\n            .skuName(\"GP_Standard_D4s_v3\")\n            .build());\n\n        var exampleFlexibleServerConfiguration = new FlexibleServerConfiguration(\"exampleFlexibleServerConfiguration\", FlexibleServerConfigurationArgs.builder()\n            .name(\"azure.extensions\")\n            .serverId(exampleFlexibleServer.id())\n            .value(\"CUBE,CITEXT,BTREE_GIST\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleFlexibleServer:\n    type: azure:postgresql:FlexibleServer\n    name: example\n    properties:\n      name: example-psqlflexibleserver\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      version: '12'\n      administratorLogin: psqladmin\n      administratorPassword: H@Sh1CoR3!\n      storageMb: 32768\n      skuName: GP_Standard_D4s_v3\n  exampleFlexibleServerConfiguration:\n    type: azure:postgresql:FlexibleServerConfiguration\n    name: example\n    properties:\n      name: azure.extensions\n      serverId: ${exampleFlexibleServer.id}\n      value: CUBE,CITEXT,BTREE_GIST\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.DBforPostgreSQL` - 2025-08-01\n\n## Import\n\nPostgreSQL Configurations can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:postgresql/flexibleServerConfiguration:FlexibleServerConfiguration example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.DBforPostgreSQL/flexibleServers/server1/configurations/configuration1\n```\n\n","properties":{"name":{"type":"string","description":"Specifies the name of the PostgreSQL Configuration, which needs [to be a valid PostgreSQL configuration name](https://www.postgresql.org/docs/current/static/sql-syntax-lexical.html#SQL-SYNTAX-IDENTIFIER). Changing this forces a new resource to be created.\n\n\u003e **Note:** PostgreSQL provides the ability to extend the functionality using azure extensions, with PostgreSQL azure extensions you should specify the \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e value as `azure.extensions` and the \u003cspan pulumi-lang-nodejs=\"`value`\" pulumi-lang-dotnet=\"`Value`\" pulumi-lang-go=\"`value`\" pulumi-lang-python=\"`value`\" pulumi-lang-yaml=\"`value`\" pulumi-lang-java=\"`value`\"\u003e`value`\u003c/span\u003e you wish to allow in the [extensions list](https://learn.microsoft.com/en-us/azure/postgresql/flexible-server/concepts-extensions?WT.mc_id=Portal-Microsoft_Azure_OSSDatabases#extension-versions).\n"},"serverId":{"type":"string","description":"The ID of the PostgreSQL Flexible Server where we want to change configuration. Changing this forces a new PostgreSQL Flexible Server Configuration resource.\n"},"value":{"type":"string","description":"Specifies the value of the PostgreSQL Configuration. See the PostgreSQL documentation for valid values.\n"}},"required":["name","serverId","value"],"inputProperties":{"name":{"type":"string","description":"Specifies the name of the PostgreSQL Configuration, which needs [to be a valid PostgreSQL configuration name](https://www.postgresql.org/docs/current/static/sql-syntax-lexical.html#SQL-SYNTAX-IDENTIFIER). Changing this forces a new resource to be created.\n\n\u003e **Note:** PostgreSQL provides the ability to extend the functionality using azure extensions, with PostgreSQL azure extensions you should specify the \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e value as `azure.extensions` and the \u003cspan pulumi-lang-nodejs=\"`value`\" pulumi-lang-dotnet=\"`Value`\" pulumi-lang-go=\"`value`\" pulumi-lang-python=\"`value`\" pulumi-lang-yaml=\"`value`\" pulumi-lang-java=\"`value`\"\u003e`value`\u003c/span\u003e you wish to allow in the [extensions list](https://learn.microsoft.com/en-us/azure/postgresql/flexible-server/concepts-extensions?WT.mc_id=Portal-Microsoft_Azure_OSSDatabases#extension-versions).\n","willReplaceOnChanges":true},"serverId":{"type":"string","description":"The ID of the PostgreSQL Flexible Server where we want to change configuration. Changing this forces a new PostgreSQL Flexible Server Configuration resource.\n","willReplaceOnChanges":true},"value":{"type":"string","description":"Specifies the value of the PostgreSQL Configuration. See the PostgreSQL documentation for valid values.\n"}},"requiredInputs":["serverId","value"],"stateInputs":{"description":"Input properties used for looking up and filtering FlexibleServerConfiguration resources.\n","properties":{"name":{"type":"string","description":"Specifies the name of the PostgreSQL Configuration, which needs [to be a valid PostgreSQL configuration name](https://www.postgresql.org/docs/current/static/sql-syntax-lexical.html#SQL-SYNTAX-IDENTIFIER). Changing this forces a new resource to be created.\n\n\u003e **Note:** PostgreSQL provides the ability to extend the functionality using azure extensions, with PostgreSQL azure extensions you should specify the \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e value as `azure.extensions` and the \u003cspan pulumi-lang-nodejs=\"`value`\" pulumi-lang-dotnet=\"`Value`\" pulumi-lang-go=\"`value`\" pulumi-lang-python=\"`value`\" pulumi-lang-yaml=\"`value`\" pulumi-lang-java=\"`value`\"\u003e`value`\u003c/span\u003e you wish to allow in the [extensions list](https://learn.microsoft.com/en-us/azure/postgresql/flexible-server/concepts-extensions?WT.mc_id=Portal-Microsoft_Azure_OSSDatabases#extension-versions).\n","willReplaceOnChanges":true},"serverId":{"type":"string","description":"The ID of the PostgreSQL Flexible Server where we want to change configuration. Changing this forces a new PostgreSQL Flexible Server Configuration resource.\n","willReplaceOnChanges":true},"value":{"type":"string","description":"Specifies the value of the PostgreSQL Configuration. See the PostgreSQL documentation for valid values.\n"}},"type":"object"}},"azure:postgresql/flexibleServerDatabase:FlexibleServerDatabase":{"description":"Manages a PostgreSQL Flexible Server Database.\n\n!\u003e **Note:** To mitigate the possibility of accidental data loss it is highly recommended that you use the \u003cspan pulumi-lang-nodejs=\"`preventDestroy`\" pulumi-lang-dotnet=\"`PreventDestroy`\" pulumi-lang-go=\"`preventDestroy`\" pulumi-lang-python=\"`prevent_destroy`\" pulumi-lang-yaml=\"`preventDestroy`\" pulumi-lang-java=\"`preventDestroy`\"\u003e`prevent_destroy`\u003c/span\u003e lifecycle argument in your configuration file for this resource. For more information on the \u003cspan pulumi-lang-nodejs=\"`preventDestroy`\" pulumi-lang-dotnet=\"`PreventDestroy`\" pulumi-lang-go=\"`preventDestroy`\" pulumi-lang-python=\"`prevent_destroy`\" pulumi-lang-yaml=\"`preventDestroy`\" pulumi-lang-java=\"`preventDestroy`\"\u003e`prevent_destroy`\u003c/span\u003e lifecycle argument please see the terraform documentation.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleFlexibleServer = new azure.postgresql.FlexibleServer(\"example\", {\n    name: \"example-psqlflexibleserver\",\n    resourceGroupName: example.name,\n    location: example.location,\n    version: \"12\",\n    administratorLogin: \"psqladmin\",\n    administratorPassword: \"H@Sh1CoR3!\",\n    storageMb: 32768,\n    skuName: \"GP_Standard_D4s_v3\",\n});\nconst exampleFlexibleServerDatabase = new azure.postgresql.FlexibleServerDatabase(\"example\", {\n    name: \"exampledb\",\n    serverId: exampleFlexibleServer.id,\n    collation: \"en_US.utf8\",\n    charset: \"UTF8\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_flexible_server = azure.postgresql.FlexibleServer(\"example\",\n    name=\"example-psqlflexibleserver\",\n    resource_group_name=example.name,\n    location=example.location,\n    version=\"12\",\n    administrator_login=\"psqladmin\",\n    administrator_password=\"H@Sh1CoR3!\",\n    storage_mb=32768,\n    sku_name=\"GP_Standard_D4s_v3\")\nexample_flexible_server_database = azure.postgresql.FlexibleServerDatabase(\"example\",\n    name=\"exampledb\",\n    server_id=example_flexible_server.id,\n    collation=\"en_US.utf8\",\n    charset=\"UTF8\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleFlexibleServer = new Azure.PostgreSql.FlexibleServer(\"example\", new()\n    {\n        Name = \"example-psqlflexibleserver\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        Version = \"12\",\n        AdministratorLogin = \"psqladmin\",\n        AdministratorPassword = \"H@Sh1CoR3!\",\n        StorageMb = 32768,\n        SkuName = \"GP_Standard_D4s_v3\",\n    });\n\n    var exampleFlexibleServerDatabase = new Azure.PostgreSql.FlexibleServerDatabase(\"example\", new()\n    {\n        Name = \"exampledb\",\n        ServerId = exampleFlexibleServer.Id,\n        Collation = \"en_US.utf8\",\n        Charset = \"UTF8\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/postgresql\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleFlexibleServer, err := postgresql.NewFlexibleServer(ctx, \"example\", \u0026postgresql.FlexibleServerArgs{\n\t\t\tName:                  pulumi.String(\"example-psqlflexibleserver\"),\n\t\t\tResourceGroupName:     example.Name,\n\t\t\tLocation:              example.Location,\n\t\t\tVersion:               pulumi.String(\"12\"),\n\t\t\tAdministratorLogin:    pulumi.String(\"psqladmin\"),\n\t\t\tAdministratorPassword: pulumi.String(\"H@Sh1CoR3!\"),\n\t\t\tStorageMb:             pulumi.Int(32768),\n\t\t\tSkuName:               pulumi.String(\"GP_Standard_D4s_v3\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = postgresql.NewFlexibleServerDatabase(ctx, \"example\", \u0026postgresql.FlexibleServerDatabaseArgs{\n\t\t\tName:      pulumi.String(\"exampledb\"),\n\t\t\tServerId:  exampleFlexibleServer.ID(),\n\t\t\tCollation: pulumi.String(\"en_US.utf8\"),\n\t\t\tCharset:   pulumi.String(\"UTF8\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.postgresql.FlexibleServer;\nimport com.pulumi.azure.postgresql.FlexibleServerArgs;\nimport com.pulumi.azure.postgresql.FlexibleServerDatabase;\nimport com.pulumi.azure.postgresql.FlexibleServerDatabaseArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleFlexibleServer = new FlexibleServer(\"exampleFlexibleServer\", FlexibleServerArgs.builder()\n            .name(\"example-psqlflexibleserver\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .version(\"12\")\n            .administratorLogin(\"psqladmin\")\n            .administratorPassword(\"H@Sh1CoR3!\")\n            .storageMb(32768)\n            .skuName(\"GP_Standard_D4s_v3\")\n            .build());\n\n        var exampleFlexibleServerDatabase = new FlexibleServerDatabase(\"exampleFlexibleServerDatabase\", FlexibleServerDatabaseArgs.builder()\n            .name(\"exampledb\")\n            .serverId(exampleFlexibleServer.id())\n            .collation(\"en_US.utf8\")\n            .charset(\"UTF8\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleFlexibleServer:\n    type: azure:postgresql:FlexibleServer\n    name: example\n    properties:\n      name: example-psqlflexibleserver\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      version: '12'\n      administratorLogin: psqladmin\n      administratorPassword: H@Sh1CoR3!\n      storageMb: 32768\n      skuName: GP_Standard_D4s_v3\n  exampleFlexibleServerDatabase:\n    type: azure:postgresql:FlexibleServerDatabase\n    name: example\n    properties:\n      name: exampledb\n      serverId: ${exampleFlexibleServer.id}\n      collation: en_US.utf8\n      charset: UTF8\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.DBforPostgreSQL` - 2025-08-01\n\n## Import\n\nAzure PostgreSQL Flexible Server Database can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:postgresql/flexibleServerDatabase:FlexibleServerDatabase example /subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/resGroup1/providers/Microsoft.DBforPostgreSQL/flexibleServers/flexibleServer1/databases/database1\n```\n\n","properties":{"charset":{"type":"string","description":"Specifies the Charset for the Azure PostgreSQL Flexible Server Database, which needs [to be a valid PostgreSQL Charset](https://www.postgresql.org/docs/current/static/multibyte.html). Defaults to `UTF8`. Changing this forces a new Azure PostgreSQL Flexible Server Database to be created.\n"},"collation":{"type":"string","description":"Specifies the Collation for the Azure PostgreSQL Flexible Server Database, which needs [to be a valid PostgreSQL Collation](https://www.postgresql.org/docs/current/static/collation.html). Defaults to `en_US.utf8`. Changing this forces a new Azure PostgreSQL Flexible Server Database to be created.\n"},"name":{"type":"string","description":"Specifies the name of the PostgreSQL Database, which needs [to be a valid PostgreSQL identifier](https://www.postgresql.org/docs/current/sql-syntax-lexical.html#SQL-SYNTAX-IDENTIFIERS). Changing this forces a new Azure PostgreSQL Flexible Server Database to be created.\n"},"serverId":{"type":"string","description":"The ID of the Azure PostgreSQL Flexible Server from which to create this PostgreSQL Flexible Server Database. Changing this forces a new Azure PostgreSQL Flexible Server Database to be created.\n"}},"required":["name","serverId"],"inputProperties":{"charset":{"type":"string","description":"Specifies the Charset for the Azure PostgreSQL Flexible Server Database, which needs [to be a valid PostgreSQL Charset](https://www.postgresql.org/docs/current/static/multibyte.html). Defaults to `UTF8`. Changing this forces a new Azure PostgreSQL Flexible Server Database to be created.\n","willReplaceOnChanges":true},"collation":{"type":"string","description":"Specifies the Collation for the Azure PostgreSQL Flexible Server Database, which needs [to be a valid PostgreSQL Collation](https://www.postgresql.org/docs/current/static/collation.html). Defaults to `en_US.utf8`. Changing this forces a new Azure PostgreSQL Flexible Server Database to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the PostgreSQL Database, which needs [to be a valid PostgreSQL identifier](https://www.postgresql.org/docs/current/sql-syntax-lexical.html#SQL-SYNTAX-IDENTIFIERS). Changing this forces a new Azure PostgreSQL Flexible Server Database to be created.\n","willReplaceOnChanges":true},"serverId":{"type":"string","description":"The ID of the Azure PostgreSQL Flexible Server from which to create this PostgreSQL Flexible Server Database. Changing this forces a new Azure PostgreSQL Flexible Server Database to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["serverId"],"stateInputs":{"description":"Input properties used for looking up and filtering FlexibleServerDatabase resources.\n","properties":{"charset":{"type":"string","description":"Specifies the Charset for the Azure PostgreSQL Flexible Server Database, which needs [to be a valid PostgreSQL Charset](https://www.postgresql.org/docs/current/static/multibyte.html). Defaults to `UTF8`. Changing this forces a new Azure PostgreSQL Flexible Server Database to be created.\n","willReplaceOnChanges":true},"collation":{"type":"string","description":"Specifies the Collation for the Azure PostgreSQL Flexible Server Database, which needs [to be a valid PostgreSQL Collation](https://www.postgresql.org/docs/current/static/collation.html). Defaults to `en_US.utf8`. Changing this forces a new Azure PostgreSQL Flexible Server Database to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the PostgreSQL Database, which needs [to be a valid PostgreSQL identifier](https://www.postgresql.org/docs/current/sql-syntax-lexical.html#SQL-SYNTAX-IDENTIFIERS). Changing this forces a new Azure PostgreSQL Flexible Server Database to be created.\n","willReplaceOnChanges":true},"serverId":{"type":"string","description":"The ID of the Azure PostgreSQL Flexible Server from which to create this PostgreSQL Flexible Server Database. Changing this forces a new Azure PostgreSQL Flexible Server Database to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:postgresql/flexibleServerFirewallRule:FlexibleServerFirewallRule":{"description":"Manages a PostgreSQL Flexible Server Firewall Rule.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleFlexibleServer = new azure.postgresql.FlexibleServer(\"example\", {\n    name: \"example-psqlflexibleserver\",\n    resourceGroupName: example.name,\n    location: example.location,\n    version: \"12\",\n    administratorLogin: \"psqladmin\",\n    administratorPassword: \"H@Sh1CoR3!\",\n    storageMb: 32768,\n    skuName: \"GP_Standard_D4s_v3\",\n});\nconst exampleFlexibleServerFirewallRule = new azure.postgresql.FlexibleServerFirewallRule(\"example\", {\n    name: \"example-fw\",\n    serverId: exampleFlexibleServer.id,\n    startIpAddress: \"122.122.0.0\",\n    endIpAddress: \"122.122.0.0\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_flexible_server = azure.postgresql.FlexibleServer(\"example\",\n    name=\"example-psqlflexibleserver\",\n    resource_group_name=example.name,\n    location=example.location,\n    version=\"12\",\n    administrator_login=\"psqladmin\",\n    administrator_password=\"H@Sh1CoR3!\",\n    storage_mb=32768,\n    sku_name=\"GP_Standard_D4s_v3\")\nexample_flexible_server_firewall_rule = azure.postgresql.FlexibleServerFirewallRule(\"example\",\n    name=\"example-fw\",\n    server_id=example_flexible_server.id,\n    start_ip_address=\"122.122.0.0\",\n    end_ip_address=\"122.122.0.0\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleFlexibleServer = new Azure.PostgreSql.FlexibleServer(\"example\", new()\n    {\n        Name = \"example-psqlflexibleserver\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        Version = \"12\",\n        AdministratorLogin = \"psqladmin\",\n        AdministratorPassword = \"H@Sh1CoR3!\",\n        StorageMb = 32768,\n        SkuName = \"GP_Standard_D4s_v3\",\n    });\n\n    var exampleFlexibleServerFirewallRule = new Azure.PostgreSql.FlexibleServerFirewallRule(\"example\", new()\n    {\n        Name = \"example-fw\",\n        ServerId = exampleFlexibleServer.Id,\n        StartIpAddress = \"122.122.0.0\",\n        EndIpAddress = \"122.122.0.0\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/postgresql\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleFlexibleServer, err := postgresql.NewFlexibleServer(ctx, \"example\", \u0026postgresql.FlexibleServerArgs{\n\t\t\tName:                  pulumi.String(\"example-psqlflexibleserver\"),\n\t\t\tResourceGroupName:     example.Name,\n\t\t\tLocation:              example.Location,\n\t\t\tVersion:               pulumi.String(\"12\"),\n\t\t\tAdministratorLogin:    pulumi.String(\"psqladmin\"),\n\t\t\tAdministratorPassword: pulumi.String(\"H@Sh1CoR3!\"),\n\t\t\tStorageMb:             pulumi.Int(32768),\n\t\t\tSkuName:               pulumi.String(\"GP_Standard_D4s_v3\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = postgresql.NewFlexibleServerFirewallRule(ctx, \"example\", \u0026postgresql.FlexibleServerFirewallRuleArgs{\n\t\t\tName:           pulumi.String(\"example-fw\"),\n\t\t\tServerId:       exampleFlexibleServer.ID(),\n\t\t\tStartIpAddress: pulumi.String(\"122.122.0.0\"),\n\t\t\tEndIpAddress:   pulumi.String(\"122.122.0.0\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.postgresql.FlexibleServer;\nimport com.pulumi.azure.postgresql.FlexibleServerArgs;\nimport com.pulumi.azure.postgresql.FlexibleServerFirewallRule;\nimport com.pulumi.azure.postgresql.FlexibleServerFirewallRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleFlexibleServer = new FlexibleServer(\"exampleFlexibleServer\", FlexibleServerArgs.builder()\n            .name(\"example-psqlflexibleserver\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .version(\"12\")\n            .administratorLogin(\"psqladmin\")\n            .administratorPassword(\"H@Sh1CoR3!\")\n            .storageMb(32768)\n            .skuName(\"GP_Standard_D4s_v3\")\n            .build());\n\n        var exampleFlexibleServerFirewallRule = new FlexibleServerFirewallRule(\"exampleFlexibleServerFirewallRule\", FlexibleServerFirewallRuleArgs.builder()\n            .name(\"example-fw\")\n            .serverId(exampleFlexibleServer.id())\n            .startIpAddress(\"122.122.0.0\")\n            .endIpAddress(\"122.122.0.0\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleFlexibleServer:\n    type: azure:postgresql:FlexibleServer\n    name: example\n    properties:\n      name: example-psqlflexibleserver\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      version: '12'\n      administratorLogin: psqladmin\n      administratorPassword: H@Sh1CoR3!\n      storageMb: 32768\n      skuName: GP_Standard_D4s_v3\n  exampleFlexibleServerFirewallRule:\n    type: azure:postgresql:FlexibleServerFirewallRule\n    name: example\n    properties:\n      name: example-fw\n      serverId: ${exampleFlexibleServer.id}\n      startIpAddress: 122.122.0.0\n      endIpAddress: 122.122.0.0\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.DBforPostgreSQL` - 2025-08-01\n\n## Import\n\nPostgreSQL Flexible Server Firewall Rules can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:postgresql/flexibleServerFirewallRule:FlexibleServerFirewallRule example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.DBforPostgreSQL/flexibleServers/flexibleServer1/firewallRules/firewallRule1\n```\n\n","properties":{"endIpAddress":{"type":"string","description":"The IPv4 Address defining the end of the range of addresses associated with this PostgreSQL Flexible Server Firewall Rule.\n"},"name":{"type":"string","description":"The name which should be used for this PostgreSQL Flexible Server Firewall Rule. Changing this forces a new PostgreSQL Flexible Server Firewall Rule to be created.\n"},"serverId":{"type":"string","description":"The ID of the PostgreSQL Flexible Server from which to create this PostgreSQL Flexible Server Firewall Rule. Changing this forces a new PostgreSQL Flexible Server Firewall Rule to be created.\n"},"startIpAddress":{"type":"string","description":"The IPv4 Address defining the start of the range of addresses associated with this PostgreSQL Flexible Server Firewall Rule.\n"}},"required":["endIpAddress","name","serverId","startIpAddress"],"inputProperties":{"endIpAddress":{"type":"string","description":"The IPv4 Address defining the end of the range of addresses associated with this PostgreSQL Flexible Server Firewall Rule.\n"},"name":{"type":"string","description":"The name which should be used for this PostgreSQL Flexible Server Firewall Rule. Changing this forces a new PostgreSQL Flexible Server Firewall Rule to be created.\n","willReplaceOnChanges":true},"serverId":{"type":"string","description":"The ID of the PostgreSQL Flexible Server from which to create this PostgreSQL Flexible Server Firewall Rule. Changing this forces a new PostgreSQL Flexible Server Firewall Rule to be created.\n","willReplaceOnChanges":true},"startIpAddress":{"type":"string","description":"The IPv4 Address defining the start of the range of addresses associated with this PostgreSQL Flexible Server Firewall Rule.\n"}},"requiredInputs":["endIpAddress","serverId","startIpAddress"],"stateInputs":{"description":"Input properties used for looking up and filtering FlexibleServerFirewallRule resources.\n","properties":{"endIpAddress":{"type":"string","description":"The IPv4 Address defining the end of the range of addresses associated with this PostgreSQL Flexible Server Firewall Rule.\n"},"name":{"type":"string","description":"The name which should be used for this PostgreSQL Flexible Server Firewall Rule. Changing this forces a new PostgreSQL Flexible Server Firewall Rule to be created.\n","willReplaceOnChanges":true},"serverId":{"type":"string","description":"The ID of the PostgreSQL Flexible Server from which to create this PostgreSQL Flexible Server Firewall Rule. Changing this forces a new PostgreSQL Flexible Server Firewall Rule to be created.\n","willReplaceOnChanges":true},"startIpAddress":{"type":"string","description":"The IPv4 Address defining the start of the range of addresses associated with this PostgreSQL Flexible Server Firewall Rule.\n"}},"type":"object"}},"azure:postgresql/flexibleServerVirtualEndpoint:FlexibleServerVirtualEndpoint":{"description":"Allows you to create a Virtual Endpoint associated with a Postgres Flexible Replica.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"East US\",\n});\nconst exampleFlexibleServer = new azure.postgresql.FlexibleServer(\"example\", {\n    name: \"example\",\n    resourceGroupName: example.name,\n    location: example.location,\n    version: \"16\",\n    publicNetworkAccessEnabled: false,\n    administratorLogin: \"psqladmin\",\n    administratorPassword: \"H@Sh1CoR3!\",\n    zone: \"1\",\n    storageMb: 32768,\n    storageTier: \"P30\",\n    skuName: \"GP_Standard_D2ads_v5\",\n});\nconst exampleReplica = new azure.postgresql.FlexibleServer(\"example_replica\", {\n    name: \"example-replica\",\n    resourceGroupName: exampleFlexibleServer.resourceGroupName,\n    location: exampleFlexibleServer.location,\n    createMode: \"Replica\",\n    sourceServerId: exampleFlexibleServer.id,\n    version: \"16\",\n    publicNetworkAccessEnabled: false,\n    zone: \"1\",\n    storageMb: 32768,\n    storageTier: \"P30\",\n    skuName: \"GP_Standard_D2ads_v5\",\n});\nconst exampleFlexibleServerVirtualEndpoint = new azure.postgresql.FlexibleServerVirtualEndpoint(\"example\", {\n    name: \"example-endpoint-1\",\n    sourceServerId: exampleFlexibleServer.id,\n    replicaServerId: exampleReplica.id,\n    type: \"ReadWrite\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"East US\")\nexample_flexible_server = azure.postgresql.FlexibleServer(\"example\",\n    name=\"example\",\n    resource_group_name=example.name,\n    location=example.location,\n    version=\"16\",\n    public_network_access_enabled=False,\n    administrator_login=\"psqladmin\",\n    administrator_password=\"H@Sh1CoR3!\",\n    zone=\"1\",\n    storage_mb=32768,\n    storage_tier=\"P30\",\n    sku_name=\"GP_Standard_D2ads_v5\")\nexample_replica = azure.postgresql.FlexibleServer(\"example_replica\",\n    name=\"example-replica\",\n    resource_group_name=example_flexible_server.resource_group_name,\n    location=example_flexible_server.location,\n    create_mode=\"Replica\",\n    source_server_id=example_flexible_server.id,\n    version=\"16\",\n    public_network_access_enabled=False,\n    zone=\"1\",\n    storage_mb=32768,\n    storage_tier=\"P30\",\n    sku_name=\"GP_Standard_D2ads_v5\")\nexample_flexible_server_virtual_endpoint = azure.postgresql.FlexibleServerVirtualEndpoint(\"example\",\n    name=\"example-endpoint-1\",\n    source_server_id=example_flexible_server.id,\n    replica_server_id=example_replica.id,\n    type=\"ReadWrite\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"East US\",\n    });\n\n    var exampleFlexibleServer = new Azure.PostgreSql.FlexibleServer(\"example\", new()\n    {\n        Name = \"example\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        Version = \"16\",\n        PublicNetworkAccessEnabled = false,\n        AdministratorLogin = \"psqladmin\",\n        AdministratorPassword = \"H@Sh1CoR3!\",\n        Zone = \"1\",\n        StorageMb = 32768,\n        StorageTier = \"P30\",\n        SkuName = \"GP_Standard_D2ads_v5\",\n    });\n\n    var exampleReplica = new Azure.PostgreSql.FlexibleServer(\"example_replica\", new()\n    {\n        Name = \"example-replica\",\n        ResourceGroupName = exampleFlexibleServer.ResourceGroupName,\n        Location = exampleFlexibleServer.Location,\n        CreateMode = \"Replica\",\n        SourceServerId = exampleFlexibleServer.Id,\n        Version = \"16\",\n        PublicNetworkAccessEnabled = false,\n        Zone = \"1\",\n        StorageMb = 32768,\n        StorageTier = \"P30\",\n        SkuName = \"GP_Standard_D2ads_v5\",\n    });\n\n    var exampleFlexibleServerVirtualEndpoint = new Azure.PostgreSql.FlexibleServerVirtualEndpoint(\"example\", new()\n    {\n        Name = \"example-endpoint-1\",\n        SourceServerId = exampleFlexibleServer.Id,\n        ReplicaServerId = exampleReplica.Id,\n        Type = \"ReadWrite\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/postgresql\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"East US\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleFlexibleServer, err := postgresql.NewFlexibleServer(ctx, \"example\", \u0026postgresql.FlexibleServerArgs{\n\t\t\tName:                       pulumi.String(\"example\"),\n\t\t\tResourceGroupName:          example.Name,\n\t\t\tLocation:                   example.Location,\n\t\t\tVersion:                    pulumi.String(\"16\"),\n\t\t\tPublicNetworkAccessEnabled: pulumi.Bool(false),\n\t\t\tAdministratorLogin:         pulumi.String(\"psqladmin\"),\n\t\t\tAdministratorPassword:      pulumi.String(\"H@Sh1CoR3!\"),\n\t\t\tZone:                       pulumi.String(\"1\"),\n\t\t\tStorageMb:                  pulumi.Int(32768),\n\t\t\tStorageTier:                pulumi.String(\"P30\"),\n\t\t\tSkuName:                    pulumi.String(\"GP_Standard_D2ads_v5\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleReplica, err := postgresql.NewFlexibleServer(ctx, \"example_replica\", \u0026postgresql.FlexibleServerArgs{\n\t\t\tName:                       pulumi.String(\"example-replica\"),\n\t\t\tResourceGroupName:          exampleFlexibleServer.ResourceGroupName,\n\t\t\tLocation:                   exampleFlexibleServer.Location,\n\t\t\tCreateMode:                 pulumi.String(\"Replica\"),\n\t\t\tSourceServerId:             exampleFlexibleServer.ID(),\n\t\t\tVersion:                    pulumi.String(\"16\"),\n\t\t\tPublicNetworkAccessEnabled: pulumi.Bool(false),\n\t\t\tZone:                       pulumi.String(\"1\"),\n\t\t\tStorageMb:                  pulumi.Int(32768),\n\t\t\tStorageTier:                pulumi.String(\"P30\"),\n\t\t\tSkuName:                    pulumi.String(\"GP_Standard_D2ads_v5\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = postgresql.NewFlexibleServerVirtualEndpoint(ctx, \"example\", \u0026postgresql.FlexibleServerVirtualEndpointArgs{\n\t\t\tName:            pulumi.String(\"example-endpoint-1\"),\n\t\t\tSourceServerId:  exampleFlexibleServer.ID(),\n\t\t\tReplicaServerId: exampleReplica.ID(),\n\t\t\tType:            pulumi.String(\"ReadWrite\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.postgresql.FlexibleServer;\nimport com.pulumi.azure.postgresql.FlexibleServerArgs;\nimport com.pulumi.azure.postgresql.FlexibleServerVirtualEndpoint;\nimport com.pulumi.azure.postgresql.FlexibleServerVirtualEndpointArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"East US\")\n            .build());\n\n        var exampleFlexibleServer = new FlexibleServer(\"exampleFlexibleServer\", FlexibleServerArgs.builder()\n            .name(\"example\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .version(\"16\")\n            .publicNetworkAccessEnabled(false)\n            .administratorLogin(\"psqladmin\")\n            .administratorPassword(\"H@Sh1CoR3!\")\n            .zone(\"1\")\n            .storageMb(32768)\n            .storageTier(\"P30\")\n            .skuName(\"GP_Standard_D2ads_v5\")\n            .build());\n\n        var exampleReplica = new FlexibleServer(\"exampleReplica\", FlexibleServerArgs.builder()\n            .name(\"example-replica\")\n            .resourceGroupName(exampleFlexibleServer.resourceGroupName())\n            .location(exampleFlexibleServer.location())\n            .createMode(\"Replica\")\n            .sourceServerId(exampleFlexibleServer.id())\n            .version(\"16\")\n            .publicNetworkAccessEnabled(false)\n            .zone(\"1\")\n            .storageMb(32768)\n            .storageTier(\"P30\")\n            .skuName(\"GP_Standard_D2ads_v5\")\n            .build());\n\n        var exampleFlexibleServerVirtualEndpoint = new FlexibleServerVirtualEndpoint(\"exampleFlexibleServerVirtualEndpoint\", FlexibleServerVirtualEndpointArgs.builder()\n            .name(\"example-endpoint-1\")\n            .sourceServerId(exampleFlexibleServer.id())\n            .replicaServerId(exampleReplica.id())\n            .type(\"ReadWrite\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: East US\n  exampleFlexibleServer:\n    type: azure:postgresql:FlexibleServer\n    name: example\n    properties:\n      name: example\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      version: '16'\n      publicNetworkAccessEnabled: false\n      administratorLogin: psqladmin\n      administratorPassword: H@Sh1CoR3!\n      zone: '1'\n      storageMb: 32768\n      storageTier: P30\n      skuName: GP_Standard_D2ads_v5\n  exampleReplica:\n    type: azure:postgresql:FlexibleServer\n    name: example_replica\n    properties:\n      name: example-replica\n      resourceGroupName: ${exampleFlexibleServer.resourceGroupName}\n      location: ${exampleFlexibleServer.location}\n      createMode: Replica\n      sourceServerId: ${exampleFlexibleServer.id}\n      version: '16'\n      publicNetworkAccessEnabled: false\n      zone: '1'\n      storageMb: 32768\n      storageTier: P30\n      skuName: GP_Standard_D2ads_v5\n  exampleFlexibleServerVirtualEndpoint:\n    type: azure:postgresql:FlexibleServerVirtualEndpoint\n    name: example\n    properties:\n      name: example-endpoint-1\n      sourceServerId: ${exampleFlexibleServer.id}\n      replicaServerId: ${exampleReplica.id}\n      type: ReadWrite\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003e **Note:** If creating multiple replicas, an error can occur if virtual endpoints are created before all replicas have been completed. To avoid this error, use a \u003cspan pulumi-lang-nodejs=\"`dependsOn`\" pulumi-lang-dotnet=\"`DependsOn`\" pulumi-lang-go=\"`dependsOn`\" pulumi-lang-python=\"`depends_on`\" pulumi-lang-yaml=\"`dependsOn`\" pulumi-lang-java=\"`dependsOn`\"\u003e`depends_on`\u003c/span\u003e property on \u003cspan pulumi-lang-nodejs=\"`azure.postgresql.FlexibleServerVirtualEndpoint`\" pulumi-lang-dotnet=\"`azure.postgresql.FlexibleServerVirtualEndpoint`\" pulumi-lang-go=\"`postgresql.FlexibleServerVirtualEndpoint`\" pulumi-lang-python=\"`postgresql.FlexibleServerVirtualEndpoint`\" pulumi-lang-yaml=\"`azure.postgresql.FlexibleServerVirtualEndpoint`\" pulumi-lang-java=\"`azure.postgresql.FlexibleServerVirtualEndpoint`\"\u003e`azure.postgresql.FlexibleServerVirtualEndpoint`\u003c/span\u003e that references all Postgres Flexible Server Replicas.\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.DBforPostgreSQL` - 2025-08-01\n\n## Import\n\nA PostgreSQL Flexible Virtual Endpoint can be imported using the `resource id`, e.g.\n```sh\n$ pulumi import azure:postgresql/flexibleServerVirtualEndpoint:FlexibleServerVirtualEndpoint example \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.DBforPostgreSQL/flexibleServers/sourceServerName/virtualEndpoints/endpointName|/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.DBforPostgreSQL/flexibleServers/replicaServerName/virtualEndpoints/endpointName\"\n```\n\n","properties":{"name":{"type":"string","description":"The name of the Virtual Endpoint. Changing this forces a new resource to be created.\n"},"replicaServerId":{"type":"string","description":"The Resource ID of the *Replica* Postgres Flexible Server this should be associated with\n\n\u003e **Note:** If a fail-over has occurred, you will be unable to update \u003cspan pulumi-lang-nodejs=\"`replicaServerId`\" pulumi-lang-dotnet=\"`ReplicaServerId`\" pulumi-lang-go=\"`replicaServerId`\" pulumi-lang-python=\"`replica_server_id`\" pulumi-lang-yaml=\"`replicaServerId`\" pulumi-lang-java=\"`replicaServerId`\"\u003e`replica_server_id`\u003c/span\u003e. You can remove the resource from state and reimport it back in with \u003cspan pulumi-lang-nodejs=\"`sourceServerId`\" pulumi-lang-dotnet=\"`SourceServerId`\" pulumi-lang-go=\"`sourceServerId`\" pulumi-lang-python=\"`source_server_id`\" pulumi-lang-yaml=\"`sourceServerId`\" pulumi-lang-java=\"`sourceServerId`\"\u003e`source_server_id`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`replicaServerId`\" pulumi-lang-dotnet=\"`ReplicaServerId`\" pulumi-lang-go=\"`replicaServerId`\" pulumi-lang-python=\"`replica_server_id`\" pulumi-lang-yaml=\"`replicaServerId`\" pulumi-lang-java=\"`replicaServerId`\"\u003e`replica_server_id`\u003c/span\u003e flipped and then update \u003cspan pulumi-lang-nodejs=\"`replicaServerId`\" pulumi-lang-dotnet=\"`ReplicaServerId`\" pulumi-lang-go=\"`replicaServerId`\" pulumi-lang-python=\"`replica_server_id`\" pulumi-lang-yaml=\"`replicaServerId`\" pulumi-lang-java=\"`replicaServerId`\"\u003e`replica_server_id`\u003c/span\u003e.\n"},"sourceServerId":{"type":"string","description":"The Resource ID of the *Source* Postgres Flexible Server this should be associated with. Changing this forces a new resource to be created.\n"},"type":{"type":"string","description":"The type of Virtual Endpoint. Currently only `ReadWrite` is supported. Changing this forces a new resource to be created.\n"}},"required":["name","replicaServerId","sourceServerId","type"],"inputProperties":{"name":{"type":"string","description":"The name of the Virtual Endpoint. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"replicaServerId":{"type":"string","description":"The Resource ID of the *Replica* Postgres Flexible Server this should be associated with\n\n\u003e **Note:** If a fail-over has occurred, you will be unable to update \u003cspan pulumi-lang-nodejs=\"`replicaServerId`\" pulumi-lang-dotnet=\"`ReplicaServerId`\" pulumi-lang-go=\"`replicaServerId`\" pulumi-lang-python=\"`replica_server_id`\" pulumi-lang-yaml=\"`replicaServerId`\" pulumi-lang-java=\"`replicaServerId`\"\u003e`replica_server_id`\u003c/span\u003e. You can remove the resource from state and reimport it back in with \u003cspan pulumi-lang-nodejs=\"`sourceServerId`\" pulumi-lang-dotnet=\"`SourceServerId`\" pulumi-lang-go=\"`sourceServerId`\" pulumi-lang-python=\"`source_server_id`\" pulumi-lang-yaml=\"`sourceServerId`\" pulumi-lang-java=\"`sourceServerId`\"\u003e`source_server_id`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`replicaServerId`\" pulumi-lang-dotnet=\"`ReplicaServerId`\" pulumi-lang-go=\"`replicaServerId`\" pulumi-lang-python=\"`replica_server_id`\" pulumi-lang-yaml=\"`replicaServerId`\" pulumi-lang-java=\"`replicaServerId`\"\u003e`replica_server_id`\u003c/span\u003e flipped and then update \u003cspan pulumi-lang-nodejs=\"`replicaServerId`\" pulumi-lang-dotnet=\"`ReplicaServerId`\" pulumi-lang-go=\"`replicaServerId`\" pulumi-lang-python=\"`replica_server_id`\" pulumi-lang-yaml=\"`replicaServerId`\" pulumi-lang-java=\"`replicaServerId`\"\u003e`replica_server_id`\u003c/span\u003e.\n"},"sourceServerId":{"type":"string","description":"The Resource ID of the *Source* Postgres Flexible Server this should be associated with. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"type":{"type":"string","description":"The type of Virtual Endpoint. Currently only `ReadWrite` is supported. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["replicaServerId","sourceServerId","type"],"stateInputs":{"description":"Input properties used for looking up and filtering FlexibleServerVirtualEndpoint resources.\n","properties":{"name":{"type":"string","description":"The name of the Virtual Endpoint. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"replicaServerId":{"type":"string","description":"The Resource ID of the *Replica* Postgres Flexible Server this should be associated with\n\n\u003e **Note:** If a fail-over has occurred, you will be unable to update \u003cspan pulumi-lang-nodejs=\"`replicaServerId`\" pulumi-lang-dotnet=\"`ReplicaServerId`\" pulumi-lang-go=\"`replicaServerId`\" pulumi-lang-python=\"`replica_server_id`\" pulumi-lang-yaml=\"`replicaServerId`\" pulumi-lang-java=\"`replicaServerId`\"\u003e`replica_server_id`\u003c/span\u003e. You can remove the resource from state and reimport it back in with \u003cspan pulumi-lang-nodejs=\"`sourceServerId`\" pulumi-lang-dotnet=\"`SourceServerId`\" pulumi-lang-go=\"`sourceServerId`\" pulumi-lang-python=\"`source_server_id`\" pulumi-lang-yaml=\"`sourceServerId`\" pulumi-lang-java=\"`sourceServerId`\"\u003e`source_server_id`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`replicaServerId`\" pulumi-lang-dotnet=\"`ReplicaServerId`\" pulumi-lang-go=\"`replicaServerId`\" pulumi-lang-python=\"`replica_server_id`\" pulumi-lang-yaml=\"`replicaServerId`\" pulumi-lang-java=\"`replicaServerId`\"\u003e`replica_server_id`\u003c/span\u003e flipped and then update \u003cspan pulumi-lang-nodejs=\"`replicaServerId`\" pulumi-lang-dotnet=\"`ReplicaServerId`\" pulumi-lang-go=\"`replicaServerId`\" pulumi-lang-python=\"`replica_server_id`\" pulumi-lang-yaml=\"`replicaServerId`\" pulumi-lang-java=\"`replicaServerId`\"\u003e`replica_server_id`\u003c/span\u003e.\n"},"sourceServerId":{"type":"string","description":"The Resource ID of the *Source* Postgres Flexible Server this should be associated with. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"type":{"type":"string","description":"The type of Virtual Endpoint. Currently only `ReadWrite` is supported. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:postgresql/server:Server":{"description":"Manages a PostgreSQL Server.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`azure.postgresql.Server`\" pulumi-lang-dotnet=\"`azure.postgresql.Server`\" pulumi-lang-go=\"`postgresql.Server`\" pulumi-lang-python=\"`postgresql.Server`\" pulumi-lang-yaml=\"`azure.postgresql.Server`\" pulumi-lang-java=\"`azure.postgresql.Server`\"\u003e`azure.postgresql.Server`\u003c/span\u003e resource is deprecated and will be removed in v5.0 of the AzureRM Provider. Azure Database for PostgreSQL Single Server and its sub resources have been retired as of 2025-03-28, please use the \u003cspan pulumi-lang-nodejs=\"`azure.postgresql.FlexibleServer`\" pulumi-lang-dotnet=\"`azure.postgresql.FlexibleServer`\" pulumi-lang-go=\"`postgresql.FlexibleServer`\" pulumi-lang-python=\"`postgresql.FlexibleServer`\" pulumi-lang-yaml=\"`azure.postgresql.FlexibleServer`\" pulumi-lang-java=\"`azure.postgresql.FlexibleServer`\"\u003e`azure.postgresql.FlexibleServer`\u003c/span\u003e resource instead. For more information, see https://techcommunity.microsoft.com/blog/adforpostgresql/retiring-azure-database-for-postgresql-single-server-in-2025/3783783.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleServer = new azure.postgresql.Server(\"example\", {\n    name: \"example-psqlserver\",\n    location: example.location,\n    resourceGroupName: example.name,\n    administratorLogin: \"psqladmin\",\n    administratorLoginPassword: \"H@Sh1CoR3!\",\n    skuName: \"GP_Gen5_4\",\n    version: \"11\",\n    storageMb: 640000,\n    backupRetentionDays: 7,\n    geoRedundantBackupEnabled: true,\n    autoGrowEnabled: true,\n    publicNetworkAccessEnabled: false,\n    sslEnforcementEnabled: true,\n    sslMinimalTlsVersionEnforced: \"TLS1_2\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_server = azure.postgresql.Server(\"example\",\n    name=\"example-psqlserver\",\n    location=example.location,\n    resource_group_name=example.name,\n    administrator_login=\"psqladmin\",\n    administrator_login_password=\"H@Sh1CoR3!\",\n    sku_name=\"GP_Gen5_4\",\n    version=\"11\",\n    storage_mb=640000,\n    backup_retention_days=7,\n    geo_redundant_backup_enabled=True,\n    auto_grow_enabled=True,\n    public_network_access_enabled=False,\n    ssl_enforcement_enabled=True,\n    ssl_minimal_tls_version_enforced=\"TLS1_2\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleServer = new Azure.PostgreSql.Server(\"example\", new()\n    {\n        Name = \"example-psqlserver\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        AdministratorLogin = \"psqladmin\",\n        AdministratorLoginPassword = \"H@Sh1CoR3!\",\n        SkuName = \"GP_Gen5_4\",\n        Version = \"11\",\n        StorageMb = 640000,\n        BackupRetentionDays = 7,\n        GeoRedundantBackupEnabled = true,\n        AutoGrowEnabled = true,\n        PublicNetworkAccessEnabled = false,\n        SslEnforcementEnabled = true,\n        SslMinimalTlsVersionEnforced = \"TLS1_2\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/postgresql\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = postgresql.NewServer(ctx, \"example\", \u0026postgresql.ServerArgs{\n\t\t\tName:                         pulumi.String(\"example-psqlserver\"),\n\t\t\tLocation:                     example.Location,\n\t\t\tResourceGroupName:            example.Name,\n\t\t\tAdministratorLogin:           pulumi.String(\"psqladmin\"),\n\t\t\tAdministratorLoginPassword:   pulumi.String(\"H@Sh1CoR3!\"),\n\t\t\tSkuName:                      pulumi.String(\"GP_Gen5_4\"),\n\t\t\tVersion:                      pulumi.String(\"11\"),\n\t\t\tStorageMb:                    pulumi.Int(640000),\n\t\t\tBackupRetentionDays:          pulumi.Int(7),\n\t\t\tGeoRedundantBackupEnabled:    pulumi.Bool(true),\n\t\t\tAutoGrowEnabled:              pulumi.Bool(true),\n\t\t\tPublicNetworkAccessEnabled:   pulumi.Bool(false),\n\t\t\tSslEnforcementEnabled:        pulumi.Bool(true),\n\t\t\tSslMinimalTlsVersionEnforced: pulumi.String(\"TLS1_2\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.postgresql.Server;\nimport com.pulumi.azure.postgresql.ServerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleServer = new Server(\"exampleServer\", ServerArgs.builder()\n            .name(\"example-psqlserver\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .administratorLogin(\"psqladmin\")\n            .administratorLoginPassword(\"H@Sh1CoR3!\")\n            .skuName(\"GP_Gen5_4\")\n            .version(\"11\")\n            .storageMb(640000)\n            .backupRetentionDays(7)\n            .geoRedundantBackupEnabled(true)\n            .autoGrowEnabled(true)\n            .publicNetworkAccessEnabled(false)\n            .sslEnforcementEnabled(true)\n            .sslMinimalTlsVersionEnforced(\"TLS1_2\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleServer:\n    type: azure:postgresql:Server\n    name: example\n    properties:\n      name: example-psqlserver\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      administratorLogin: psqladmin\n      administratorLoginPassword: H@Sh1CoR3!\n      skuName: GP_Gen5_4\n      version: '11'\n      storageMb: 640000\n      backupRetentionDays: 7\n      geoRedundantBackupEnabled: true\n      autoGrowEnabled: true\n      publicNetworkAccessEnabled: false\n      sslEnforcementEnabled: true\n      sslMinimalTlsVersionEnforced: TLS1_2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.DBforPostgreSQL` - 2017-12-01\n\n## Import\n\nPostgreSQL Server's can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:postgresql/server:Server server1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.DBforPostgreSQL/servers/server1\n```\n\n","properties":{"administratorLogin":{"type":"string","description":"The Administrator login for the PostgreSQL Server. Required when \u003cspan pulumi-lang-nodejs=\"`createMode`\" pulumi-lang-dotnet=\"`CreateMode`\" pulumi-lang-go=\"`createMode`\" pulumi-lang-python=\"`create_mode`\" pulumi-lang-yaml=\"`createMode`\" pulumi-lang-java=\"`createMode`\"\u003e`create_mode`\u003c/span\u003e is `Default`. Changing this forces a new resource to be created.\n"},"administratorLoginPassword":{"type":"string","description":"The Password associated with the \u003cspan pulumi-lang-nodejs=\"`administratorLogin`\" pulumi-lang-dotnet=\"`AdministratorLogin`\" pulumi-lang-go=\"`administratorLogin`\" pulumi-lang-python=\"`administrator_login`\" pulumi-lang-yaml=\"`administratorLogin`\" pulumi-lang-java=\"`administratorLogin`\"\u003e`administrator_login`\u003c/span\u003e for the PostgreSQL Server.\n","secret":true},"administratorLoginPasswordWoVersion":{"type":"integer","description":"An integer value used to trigger an update for \u003cspan pulumi-lang-nodejs=\"`administratorLoginPasswordWo`\" pulumi-lang-dotnet=\"`AdministratorLoginPasswordWo`\" pulumi-lang-go=\"`administratorLoginPasswordWo`\" pulumi-lang-python=\"`administrator_login_password_wo`\" pulumi-lang-yaml=\"`administratorLoginPasswordWo`\" pulumi-lang-java=\"`administratorLoginPasswordWo`\"\u003e`administrator_login_password_wo`\u003c/span\u003e. This property should be incremented when updating \u003cspan pulumi-lang-nodejs=\"`administratorLoginPasswordWo`\" pulumi-lang-dotnet=\"`AdministratorLoginPasswordWo`\" pulumi-lang-go=\"`administratorLoginPasswordWo`\" pulumi-lang-python=\"`administrator_login_password_wo`\" pulumi-lang-yaml=\"`administratorLoginPasswordWo`\" pulumi-lang-java=\"`administratorLoginPasswordWo`\"\u003e`administrator_login_password_wo`\u003c/span\u003e.\n"},"autoGrowEnabled":{"type":"boolean","description":"Enable/Disable auto-growing of the storage. Storage auto-grow prevents your server from running out of storage and becoming read-only. If storage auto grow is enabled, the storage automatically grows without impacting the workload. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"backupRetentionDays":{"type":"integer","description":"Backup retention days for the server, supported values are between \u003cspan pulumi-lang-nodejs=\"`7`\" pulumi-lang-dotnet=\"`7`\" pulumi-lang-go=\"`7`\" pulumi-lang-python=\"`7`\" pulumi-lang-yaml=\"`7`\" pulumi-lang-java=\"`7`\"\u003e`7`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`35`\" pulumi-lang-dotnet=\"`35`\" pulumi-lang-go=\"`35`\" pulumi-lang-python=\"`35`\" pulumi-lang-yaml=\"`35`\" pulumi-lang-java=\"`35`\"\u003e`35`\u003c/span\u003e days.\n"},"createMode":{"type":"string","description":"The creation mode. Can be used to restore or replicate existing servers. Possible values are `Default`, `Replica`, `GeoRestore`, and `PointInTimeRestore`. Defaults to `Default`.\n"},"creationSourceServerId":{"type":"string","description":"For creation modes other than `Default`, the source server ID to use.\n"},"fqdn":{"type":"string","description":"The FQDN of the PostgreSQL Server.\n"},"geoRedundantBackupEnabled":{"type":"boolean","description":"Turn Geo-redundant server backups on/off. This allows you to choose between locally redundant or geo-redundant backup storage in the General Purpose and Memory Optimized tiers. When the backups are stored in geo-redundant backup storage, they are not only stored within the region in which your server is hosted, but are also replicated to a paired data center. This provides better protection and ability to restore your server in a different region in the event of a disaster. This is not support for the Basic tier. Changing this forces a new resource to be created.\n"},"identity":{"$ref":"#/types/azure:postgresql/ServerIdentity:ServerIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"infrastructureEncryptionEnabled":{"type":"boolean","description":"Whether or not infrastructure is encrypted for this server. Changing this forces a new resource to be created.\n\n\u003e **Note:** This property is currently still in development and not supported by Microsoft. If the \u003cspan pulumi-lang-nodejs=\"`infrastructureEncryptionEnabled`\" pulumi-lang-dotnet=\"`InfrastructureEncryptionEnabled`\" pulumi-lang-go=\"`infrastructureEncryptionEnabled`\" pulumi-lang-python=\"`infrastructure_encryption_enabled`\" pulumi-lang-yaml=\"`infrastructureEncryptionEnabled`\" pulumi-lang-java=\"`infrastructureEncryptionEnabled`\"\u003e`infrastructure_encryption_enabled`\u003c/span\u003e attribute is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e the PostgreSQL instance will incur a substantial performance degradation due to a second encryption pass on top of the existing default encryption that is already provided by Azure Storage. It is strongly suggested to leave this value \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e as not doing so can lead to unclear error messages.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"Specifies the name of the PostgreSQL Server. Changing this forces a new resource to be created.\n"},"publicNetworkAccessEnabled":{"type":"boolean","description":"Whether or not public network access is allowed for this server. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the PostgreSQL Server. Changing this forces a new resource to be created.\n"},"restorePointInTime":{"type":"string","description":"When \u003cspan pulumi-lang-nodejs=\"`createMode`\" pulumi-lang-dotnet=\"`CreateMode`\" pulumi-lang-go=\"`createMode`\" pulumi-lang-python=\"`create_mode`\" pulumi-lang-yaml=\"`createMode`\" pulumi-lang-java=\"`createMode`\"\u003e`create_mode`\u003c/span\u003e is `PointInTimeRestore` the point in time to restore from \u003cspan pulumi-lang-nodejs=\"`creationSourceServerId`\" pulumi-lang-dotnet=\"`CreationSourceServerId`\" pulumi-lang-go=\"`creationSourceServerId`\" pulumi-lang-python=\"`creation_source_server_id`\" pulumi-lang-yaml=\"`creationSourceServerId`\" pulumi-lang-java=\"`creationSourceServerId`\"\u003e`creation_source_server_id`\u003c/span\u003e. It should be provided in [RFC3339](https://www.rfc-editor.org/rfc/rfc3339) format, e.g. `2013-11-08T22:00:40Z`.\n"},"skuName":{"type":"string","description":"Specifies the SKU Name for this PostgreSQL Server. The name of the SKU, follows the \u003cspan pulumi-lang-nodejs=\"`tier`\" pulumi-lang-dotnet=\"`Tier`\" pulumi-lang-go=\"`tier`\" pulumi-lang-python=\"`tier`\" pulumi-lang-yaml=\"`tier`\" pulumi-lang-java=\"`tier`\"\u003e`tier`\u003c/span\u003e + \u003cspan pulumi-lang-nodejs=\"`family`\" pulumi-lang-dotnet=\"`Family`\" pulumi-lang-go=\"`family`\" pulumi-lang-python=\"`family`\" pulumi-lang-yaml=\"`family`\" pulumi-lang-java=\"`family`\"\u003e`family`\u003c/span\u003e + \u003cspan pulumi-lang-nodejs=\"`cores`\" pulumi-lang-dotnet=\"`Cores`\" pulumi-lang-go=\"`cores`\" pulumi-lang-python=\"`cores`\" pulumi-lang-yaml=\"`cores`\" pulumi-lang-java=\"`cores`\"\u003e`cores`\u003c/span\u003e pattern (e.g. `B_Gen4_1`, `GP_Gen5_8`). For more information see the [product documentation](https://docs.microsoft.com/rest/api/postgresql/singleserver/servers/create#sku). Possible values are `B_Gen4_1`, `B_Gen4_2`, `B_Gen5_1`, `B_Gen5_2`, `GP_Gen4_2`, `GP_Gen4_4`, `GP_Gen4_8`, `GP_Gen4_16`, `GP_Gen4_32`, `GP_Gen5_2`, `GP_Gen5_4`, `GP_Gen5_8`, `GP_Gen5_16`, `GP_Gen5_32`, `GP_Gen5_64`, `MO_Gen5_2`, `MO_Gen5_4`, `MO_Gen5_8`, `MO_Gen5_16` and `MO_Gen5_32`.\n\n\u003e **Note:** When replication is set up and \u003cspan pulumi-lang-nodejs=\"`skuName`\" pulumi-lang-dotnet=\"`SkuName`\" pulumi-lang-go=\"`skuName`\" pulumi-lang-python=\"`sku_name`\" pulumi-lang-yaml=\"`skuName`\" pulumi-lang-java=\"`skuName`\"\u003e`sku_name`\u003c/span\u003e is changed to a higher tier or more capacity for the primary, all replicas are scaled up to the same tier/capacity. This is an Azure requirement, for more information see the [replica scaling documentation](https://docs.microsoft.com/azure/postgresql/concepts-read-replicas#scaling)\n"},"sslEnforcementEnabled":{"type":"boolean","description":"Specifies if SSL should be enforced on connections. Possible values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`sslMinimalTlsVersionEnforced`\" pulumi-lang-dotnet=\"`SslMinimalTlsVersionEnforced`\" pulumi-lang-go=\"`sslMinimalTlsVersionEnforced`\" pulumi-lang-python=\"`ssl_minimal_tls_version_enforced`\" pulumi-lang-yaml=\"`sslMinimalTlsVersionEnforced`\" pulumi-lang-java=\"`sslMinimalTlsVersionEnforced`\"\u003e`ssl_minimal_tls_version_enforced`\u003c/span\u003e must be set to `TLSEnforcementDisabled` when \u003cspan pulumi-lang-nodejs=\"`sslEnforcementEnabled`\" pulumi-lang-dotnet=\"`SslEnforcementEnabled`\" pulumi-lang-go=\"`sslEnforcementEnabled`\" pulumi-lang-python=\"`ssl_enforcement_enabled`\" pulumi-lang-yaml=\"`sslEnforcementEnabled`\" pulumi-lang-java=\"`sslEnforcementEnabled`\"\u003e`ssl_enforcement_enabled`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"sslMinimalTlsVersionEnforced":{"type":"string","description":"The minimum TLS version to support on the sever. Possible values are `TLSEnforcementDisabled`, `TLS1_0`, `TLS1_1`, and `TLS1_2`. Defaults to `TLS1_2`.\n"},"storageMb":{"type":"integer","description":"Max storage allowed for a server. Possible values are between \u003cspan pulumi-lang-nodejs=\"`5120`\" pulumi-lang-dotnet=\"`5120`\" pulumi-lang-go=\"`5120`\" pulumi-lang-python=\"`5120`\" pulumi-lang-yaml=\"`5120`\" pulumi-lang-java=\"`5120`\"\u003e`5120`\u003c/span\u003e MB(5GB) and \u003cspan pulumi-lang-nodejs=\"`1048576`\" pulumi-lang-dotnet=\"`1048576`\" pulumi-lang-go=\"`1048576`\" pulumi-lang-python=\"`1048576`\" pulumi-lang-yaml=\"`1048576`\" pulumi-lang-java=\"`1048576`\"\u003e`1048576`\u003c/span\u003e MB(1TB) for the Basic SKU and between \u003cspan pulumi-lang-nodejs=\"`5120`\" pulumi-lang-dotnet=\"`5120`\" pulumi-lang-go=\"`5120`\" pulumi-lang-python=\"`5120`\" pulumi-lang-yaml=\"`5120`\" pulumi-lang-java=\"`5120`\"\u003e`5120`\u003c/span\u003e MB(5GB) and \u003cspan pulumi-lang-nodejs=\"`16777216`\" pulumi-lang-dotnet=\"`16777216`\" pulumi-lang-go=\"`16777216`\" pulumi-lang-python=\"`16777216`\" pulumi-lang-yaml=\"`16777216`\" pulumi-lang-java=\"`16777216`\"\u003e`16777216`\u003c/span\u003e MB(16TB) for General Purpose/Memory Optimized SKUs. For more information see the [product documentation](https://docs.microsoft.com/azure/postgresql/concepts-pricing-tiers#storage).\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"threatDetectionPolicy":{"$ref":"#/types/azure:postgresql/ServerThreatDetectionPolicy:ServerThreatDetectionPolicy","description":"Threat detection policy configuration, known in the API as Server Security Alerts Policy. The \u003cspan pulumi-lang-nodejs=\"`threatDetectionPolicy`\" pulumi-lang-dotnet=\"`ThreatDetectionPolicy`\" pulumi-lang-go=\"`threatDetectionPolicy`\" pulumi-lang-python=\"`threat_detection_policy`\" pulumi-lang-yaml=\"`threatDetectionPolicy`\" pulumi-lang-java=\"`threatDetectionPolicy`\"\u003e`threat_detection_policy`\u003c/span\u003e block supports fields documented below.\n"},"version":{"type":"string","description":"Specifies the version of PostgreSQL to use. Valid values are `9.5`, `9.6`, \u003cspan pulumi-lang-nodejs=\"`10`\" pulumi-lang-dotnet=\"`10`\" pulumi-lang-go=\"`10`\" pulumi-lang-python=\"`10`\" pulumi-lang-yaml=\"`10`\" pulumi-lang-java=\"`10`\"\u003e`10`\u003c/span\u003e, `10.0`, `10.2` and \u003cspan pulumi-lang-nodejs=\"`11`\" pulumi-lang-dotnet=\"`11`\" pulumi-lang-go=\"`11`\" pulumi-lang-python=\"`11`\" pulumi-lang-yaml=\"`11`\" pulumi-lang-java=\"`11`\"\u003e`11`\u003c/span\u003e. Changing this forces a new resource to be created.\n"}},"required":["administratorLogin","backupRetentionDays","fqdn","location","name","resourceGroupName","skuName","sslEnforcementEnabled","storageMb","version"],"inputProperties":{"administratorLogin":{"type":"string","description":"The Administrator login for the PostgreSQL Server. Required when \u003cspan pulumi-lang-nodejs=\"`createMode`\" pulumi-lang-dotnet=\"`CreateMode`\" pulumi-lang-go=\"`createMode`\" pulumi-lang-python=\"`create_mode`\" pulumi-lang-yaml=\"`createMode`\" pulumi-lang-java=\"`createMode`\"\u003e`create_mode`\u003c/span\u003e is `Default`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"administratorLoginPassword":{"type":"string","description":"The Password associated with the \u003cspan pulumi-lang-nodejs=\"`administratorLogin`\" pulumi-lang-dotnet=\"`AdministratorLogin`\" pulumi-lang-go=\"`administratorLogin`\" pulumi-lang-python=\"`administrator_login`\" pulumi-lang-yaml=\"`administratorLogin`\" pulumi-lang-java=\"`administratorLogin`\"\u003e`administrator_login`\u003c/span\u003e for the PostgreSQL Server.\n","secret":true},"administratorLoginPasswordWoVersion":{"type":"integer","description":"An integer value used to trigger an update for \u003cspan pulumi-lang-nodejs=\"`administratorLoginPasswordWo`\" pulumi-lang-dotnet=\"`AdministratorLoginPasswordWo`\" pulumi-lang-go=\"`administratorLoginPasswordWo`\" pulumi-lang-python=\"`administrator_login_password_wo`\" pulumi-lang-yaml=\"`administratorLoginPasswordWo`\" pulumi-lang-java=\"`administratorLoginPasswordWo`\"\u003e`administrator_login_password_wo`\u003c/span\u003e. This property should be incremented when updating \u003cspan pulumi-lang-nodejs=\"`administratorLoginPasswordWo`\" pulumi-lang-dotnet=\"`AdministratorLoginPasswordWo`\" pulumi-lang-go=\"`administratorLoginPasswordWo`\" pulumi-lang-python=\"`administrator_login_password_wo`\" pulumi-lang-yaml=\"`administratorLoginPasswordWo`\" pulumi-lang-java=\"`administratorLoginPasswordWo`\"\u003e`administrator_login_password_wo`\u003c/span\u003e.\n"},"autoGrowEnabled":{"type":"boolean","description":"Enable/Disable auto-growing of the storage. Storage auto-grow prevents your server from running out of storage and becoming read-only. If storage auto grow is enabled, the storage automatically grows without impacting the workload. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"backupRetentionDays":{"type":"integer","description":"Backup retention days for the server, supported values are between \u003cspan pulumi-lang-nodejs=\"`7`\" pulumi-lang-dotnet=\"`7`\" pulumi-lang-go=\"`7`\" pulumi-lang-python=\"`7`\" pulumi-lang-yaml=\"`7`\" pulumi-lang-java=\"`7`\"\u003e`7`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`35`\" pulumi-lang-dotnet=\"`35`\" pulumi-lang-go=\"`35`\" pulumi-lang-python=\"`35`\" pulumi-lang-yaml=\"`35`\" pulumi-lang-java=\"`35`\"\u003e`35`\u003c/span\u003e days.\n"},"createMode":{"type":"string","description":"The creation mode. Can be used to restore or replicate existing servers. Possible values are `Default`, `Replica`, `GeoRestore`, and `PointInTimeRestore`. Defaults to `Default`.\n"},"creationSourceServerId":{"type":"string","description":"For creation modes other than `Default`, the source server ID to use.\n"},"geoRedundantBackupEnabled":{"type":"boolean","description":"Turn Geo-redundant server backups on/off. This allows you to choose between locally redundant or geo-redundant backup storage in the General Purpose and Memory Optimized tiers. When the backups are stored in geo-redundant backup storage, they are not only stored within the region in which your server is hosted, but are also replicated to a paired data center. This provides better protection and ability to restore your server in a different region in the event of a disaster. This is not support for the Basic tier. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"identity":{"$ref":"#/types/azure:postgresql/ServerIdentity:ServerIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"infrastructureEncryptionEnabled":{"type":"boolean","description":"Whether or not infrastructure is encrypted for this server. Changing this forces a new resource to be created.\n\n\u003e **Note:** This property is currently still in development and not supported by Microsoft. If the \u003cspan pulumi-lang-nodejs=\"`infrastructureEncryptionEnabled`\" pulumi-lang-dotnet=\"`InfrastructureEncryptionEnabled`\" pulumi-lang-go=\"`infrastructureEncryptionEnabled`\" pulumi-lang-python=\"`infrastructure_encryption_enabled`\" pulumi-lang-yaml=\"`infrastructureEncryptionEnabled`\" pulumi-lang-java=\"`infrastructureEncryptionEnabled`\"\u003e`infrastructure_encryption_enabled`\u003c/span\u003e attribute is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e the PostgreSQL instance will incur a substantial performance degradation due to a second encryption pass on top of the existing default encryption that is already provided by Azure Storage. It is strongly suggested to leave this value \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e as not doing so can lead to unclear error messages.\n","willReplaceOnChanges":true},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the PostgreSQL Server. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"publicNetworkAccessEnabled":{"type":"boolean","description":"Whether or not public network access is allowed for this server. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the PostgreSQL Server. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"restorePointInTime":{"type":"string","description":"When \u003cspan pulumi-lang-nodejs=\"`createMode`\" pulumi-lang-dotnet=\"`CreateMode`\" pulumi-lang-go=\"`createMode`\" pulumi-lang-python=\"`create_mode`\" pulumi-lang-yaml=\"`createMode`\" pulumi-lang-java=\"`createMode`\"\u003e`create_mode`\u003c/span\u003e is `PointInTimeRestore` the point in time to restore from \u003cspan pulumi-lang-nodejs=\"`creationSourceServerId`\" pulumi-lang-dotnet=\"`CreationSourceServerId`\" pulumi-lang-go=\"`creationSourceServerId`\" pulumi-lang-python=\"`creation_source_server_id`\" pulumi-lang-yaml=\"`creationSourceServerId`\" pulumi-lang-java=\"`creationSourceServerId`\"\u003e`creation_source_server_id`\u003c/span\u003e. It should be provided in [RFC3339](https://www.rfc-editor.org/rfc/rfc3339) format, e.g. `2013-11-08T22:00:40Z`.\n"},"skuName":{"type":"string","description":"Specifies the SKU Name for this PostgreSQL Server. The name of the SKU, follows the \u003cspan pulumi-lang-nodejs=\"`tier`\" pulumi-lang-dotnet=\"`Tier`\" pulumi-lang-go=\"`tier`\" pulumi-lang-python=\"`tier`\" pulumi-lang-yaml=\"`tier`\" pulumi-lang-java=\"`tier`\"\u003e`tier`\u003c/span\u003e + \u003cspan pulumi-lang-nodejs=\"`family`\" pulumi-lang-dotnet=\"`Family`\" pulumi-lang-go=\"`family`\" pulumi-lang-python=\"`family`\" pulumi-lang-yaml=\"`family`\" pulumi-lang-java=\"`family`\"\u003e`family`\u003c/span\u003e + \u003cspan pulumi-lang-nodejs=\"`cores`\" pulumi-lang-dotnet=\"`Cores`\" pulumi-lang-go=\"`cores`\" pulumi-lang-python=\"`cores`\" pulumi-lang-yaml=\"`cores`\" pulumi-lang-java=\"`cores`\"\u003e`cores`\u003c/span\u003e pattern (e.g. `B_Gen4_1`, `GP_Gen5_8`). For more information see the [product documentation](https://docs.microsoft.com/rest/api/postgresql/singleserver/servers/create#sku). Possible values are `B_Gen4_1`, `B_Gen4_2`, `B_Gen5_1`, `B_Gen5_2`, `GP_Gen4_2`, `GP_Gen4_4`, `GP_Gen4_8`, `GP_Gen4_16`, `GP_Gen4_32`, `GP_Gen5_2`, `GP_Gen5_4`, `GP_Gen5_8`, `GP_Gen5_16`, `GP_Gen5_32`, `GP_Gen5_64`, `MO_Gen5_2`, `MO_Gen5_4`, `MO_Gen5_8`, `MO_Gen5_16` and `MO_Gen5_32`.\n\n\u003e **Note:** When replication is set up and \u003cspan pulumi-lang-nodejs=\"`skuName`\" pulumi-lang-dotnet=\"`SkuName`\" pulumi-lang-go=\"`skuName`\" pulumi-lang-python=\"`sku_name`\" pulumi-lang-yaml=\"`skuName`\" pulumi-lang-java=\"`skuName`\"\u003e`sku_name`\u003c/span\u003e is changed to a higher tier or more capacity for the primary, all replicas are scaled up to the same tier/capacity. This is an Azure requirement, for more information see the [replica scaling documentation](https://docs.microsoft.com/azure/postgresql/concepts-read-replicas#scaling)\n"},"sslEnforcementEnabled":{"type":"boolean","description":"Specifies if SSL should be enforced on connections. Possible values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`sslMinimalTlsVersionEnforced`\" pulumi-lang-dotnet=\"`SslMinimalTlsVersionEnforced`\" pulumi-lang-go=\"`sslMinimalTlsVersionEnforced`\" pulumi-lang-python=\"`ssl_minimal_tls_version_enforced`\" pulumi-lang-yaml=\"`sslMinimalTlsVersionEnforced`\" pulumi-lang-java=\"`sslMinimalTlsVersionEnforced`\"\u003e`ssl_minimal_tls_version_enforced`\u003c/span\u003e must be set to `TLSEnforcementDisabled` when \u003cspan pulumi-lang-nodejs=\"`sslEnforcementEnabled`\" pulumi-lang-dotnet=\"`SslEnforcementEnabled`\" pulumi-lang-go=\"`sslEnforcementEnabled`\" pulumi-lang-python=\"`ssl_enforcement_enabled`\" pulumi-lang-yaml=\"`sslEnforcementEnabled`\" pulumi-lang-java=\"`sslEnforcementEnabled`\"\u003e`ssl_enforcement_enabled`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"sslMinimalTlsVersionEnforced":{"type":"string","description":"The minimum TLS version to support on the sever. Possible values are `TLSEnforcementDisabled`, `TLS1_0`, `TLS1_1`, and `TLS1_2`. Defaults to `TLS1_2`.\n"},"storageMb":{"type":"integer","description":"Max storage allowed for a server. Possible values are between \u003cspan pulumi-lang-nodejs=\"`5120`\" pulumi-lang-dotnet=\"`5120`\" pulumi-lang-go=\"`5120`\" pulumi-lang-python=\"`5120`\" pulumi-lang-yaml=\"`5120`\" pulumi-lang-java=\"`5120`\"\u003e`5120`\u003c/span\u003e MB(5GB) and \u003cspan pulumi-lang-nodejs=\"`1048576`\" pulumi-lang-dotnet=\"`1048576`\" pulumi-lang-go=\"`1048576`\" pulumi-lang-python=\"`1048576`\" pulumi-lang-yaml=\"`1048576`\" pulumi-lang-java=\"`1048576`\"\u003e`1048576`\u003c/span\u003e MB(1TB) for the Basic SKU and between \u003cspan pulumi-lang-nodejs=\"`5120`\" pulumi-lang-dotnet=\"`5120`\" pulumi-lang-go=\"`5120`\" pulumi-lang-python=\"`5120`\" pulumi-lang-yaml=\"`5120`\" pulumi-lang-java=\"`5120`\"\u003e`5120`\u003c/span\u003e MB(5GB) and \u003cspan pulumi-lang-nodejs=\"`16777216`\" pulumi-lang-dotnet=\"`16777216`\" pulumi-lang-go=\"`16777216`\" pulumi-lang-python=\"`16777216`\" pulumi-lang-yaml=\"`16777216`\" pulumi-lang-java=\"`16777216`\"\u003e`16777216`\u003c/span\u003e MB(16TB) for General Purpose/Memory Optimized SKUs. For more information see the [product documentation](https://docs.microsoft.com/azure/postgresql/concepts-pricing-tiers#storage).\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"threatDetectionPolicy":{"$ref":"#/types/azure:postgresql/ServerThreatDetectionPolicy:ServerThreatDetectionPolicy","description":"Threat detection policy configuration, known in the API as Server Security Alerts Policy. The \u003cspan pulumi-lang-nodejs=\"`threatDetectionPolicy`\" pulumi-lang-dotnet=\"`ThreatDetectionPolicy`\" pulumi-lang-go=\"`threatDetectionPolicy`\" pulumi-lang-python=\"`threat_detection_policy`\" pulumi-lang-yaml=\"`threatDetectionPolicy`\" pulumi-lang-java=\"`threatDetectionPolicy`\"\u003e`threat_detection_policy`\u003c/span\u003e block supports fields documented below.\n"},"version":{"type":"string","description":"Specifies the version of PostgreSQL to use. Valid values are `9.5`, `9.6`, \u003cspan pulumi-lang-nodejs=\"`10`\" pulumi-lang-dotnet=\"`10`\" pulumi-lang-go=\"`10`\" pulumi-lang-python=\"`10`\" pulumi-lang-yaml=\"`10`\" pulumi-lang-java=\"`10`\"\u003e`10`\u003c/span\u003e, `10.0`, `10.2` and \u003cspan pulumi-lang-nodejs=\"`11`\" pulumi-lang-dotnet=\"`11`\" pulumi-lang-go=\"`11`\" pulumi-lang-python=\"`11`\" pulumi-lang-yaml=\"`11`\" pulumi-lang-java=\"`11`\"\u003e`11`\u003c/span\u003e. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["resourceGroupName","skuName","sslEnforcementEnabled","version"],"stateInputs":{"description":"Input properties used for looking up and filtering Server resources.\n","properties":{"administratorLogin":{"type":"string","description":"The Administrator login for the PostgreSQL Server. Required when \u003cspan pulumi-lang-nodejs=\"`createMode`\" pulumi-lang-dotnet=\"`CreateMode`\" pulumi-lang-go=\"`createMode`\" pulumi-lang-python=\"`create_mode`\" pulumi-lang-yaml=\"`createMode`\" pulumi-lang-java=\"`createMode`\"\u003e`create_mode`\u003c/span\u003e is `Default`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"administratorLoginPassword":{"type":"string","description":"The Password associated with the \u003cspan pulumi-lang-nodejs=\"`administratorLogin`\" pulumi-lang-dotnet=\"`AdministratorLogin`\" pulumi-lang-go=\"`administratorLogin`\" pulumi-lang-python=\"`administrator_login`\" pulumi-lang-yaml=\"`administratorLogin`\" pulumi-lang-java=\"`administratorLogin`\"\u003e`administrator_login`\u003c/span\u003e for the PostgreSQL Server.\n","secret":true},"administratorLoginPasswordWoVersion":{"type":"integer","description":"An integer value used to trigger an update for \u003cspan pulumi-lang-nodejs=\"`administratorLoginPasswordWo`\" pulumi-lang-dotnet=\"`AdministratorLoginPasswordWo`\" pulumi-lang-go=\"`administratorLoginPasswordWo`\" pulumi-lang-python=\"`administrator_login_password_wo`\" pulumi-lang-yaml=\"`administratorLoginPasswordWo`\" pulumi-lang-java=\"`administratorLoginPasswordWo`\"\u003e`administrator_login_password_wo`\u003c/span\u003e. This property should be incremented when updating \u003cspan pulumi-lang-nodejs=\"`administratorLoginPasswordWo`\" pulumi-lang-dotnet=\"`AdministratorLoginPasswordWo`\" pulumi-lang-go=\"`administratorLoginPasswordWo`\" pulumi-lang-python=\"`administrator_login_password_wo`\" pulumi-lang-yaml=\"`administratorLoginPasswordWo`\" pulumi-lang-java=\"`administratorLoginPasswordWo`\"\u003e`administrator_login_password_wo`\u003c/span\u003e.\n"},"autoGrowEnabled":{"type":"boolean","description":"Enable/Disable auto-growing of the storage. Storage auto-grow prevents your server from running out of storage and becoming read-only. If storage auto grow is enabled, the storage automatically grows without impacting the workload. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"backupRetentionDays":{"type":"integer","description":"Backup retention days for the server, supported values are between \u003cspan pulumi-lang-nodejs=\"`7`\" pulumi-lang-dotnet=\"`7`\" pulumi-lang-go=\"`7`\" pulumi-lang-python=\"`7`\" pulumi-lang-yaml=\"`7`\" pulumi-lang-java=\"`7`\"\u003e`7`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`35`\" pulumi-lang-dotnet=\"`35`\" pulumi-lang-go=\"`35`\" pulumi-lang-python=\"`35`\" pulumi-lang-yaml=\"`35`\" pulumi-lang-java=\"`35`\"\u003e`35`\u003c/span\u003e days.\n"},"createMode":{"type":"string","description":"The creation mode. Can be used to restore or replicate existing servers. Possible values are `Default`, `Replica`, `GeoRestore`, and `PointInTimeRestore`. Defaults to `Default`.\n"},"creationSourceServerId":{"type":"string","description":"For creation modes other than `Default`, the source server ID to use.\n"},"fqdn":{"type":"string","description":"The FQDN of the PostgreSQL Server.\n"},"geoRedundantBackupEnabled":{"type":"boolean","description":"Turn Geo-redundant server backups on/off. This allows you to choose between locally redundant or geo-redundant backup storage in the General Purpose and Memory Optimized tiers. When the backups are stored in geo-redundant backup storage, they are not only stored within the region in which your server is hosted, but are also replicated to a paired data center. This provides better protection and ability to restore your server in a different region in the event of a disaster. This is not support for the Basic tier. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"identity":{"$ref":"#/types/azure:postgresql/ServerIdentity:ServerIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"infrastructureEncryptionEnabled":{"type":"boolean","description":"Whether or not infrastructure is encrypted for this server. Changing this forces a new resource to be created.\n\n\u003e **Note:** This property is currently still in development and not supported by Microsoft. If the \u003cspan pulumi-lang-nodejs=\"`infrastructureEncryptionEnabled`\" pulumi-lang-dotnet=\"`InfrastructureEncryptionEnabled`\" pulumi-lang-go=\"`infrastructureEncryptionEnabled`\" pulumi-lang-python=\"`infrastructure_encryption_enabled`\" pulumi-lang-yaml=\"`infrastructureEncryptionEnabled`\" pulumi-lang-java=\"`infrastructureEncryptionEnabled`\"\u003e`infrastructure_encryption_enabled`\u003c/span\u003e attribute is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e the PostgreSQL instance will incur a substantial performance degradation due to a second encryption pass on top of the existing default encryption that is already provided by Azure Storage. It is strongly suggested to leave this value \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e as not doing so can lead to unclear error messages.\n","willReplaceOnChanges":true},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the PostgreSQL Server. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"publicNetworkAccessEnabled":{"type":"boolean","description":"Whether or not public network access is allowed for this server. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the PostgreSQL Server. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"restorePointInTime":{"type":"string","description":"When \u003cspan pulumi-lang-nodejs=\"`createMode`\" pulumi-lang-dotnet=\"`CreateMode`\" pulumi-lang-go=\"`createMode`\" pulumi-lang-python=\"`create_mode`\" pulumi-lang-yaml=\"`createMode`\" pulumi-lang-java=\"`createMode`\"\u003e`create_mode`\u003c/span\u003e is `PointInTimeRestore` the point in time to restore from \u003cspan pulumi-lang-nodejs=\"`creationSourceServerId`\" pulumi-lang-dotnet=\"`CreationSourceServerId`\" pulumi-lang-go=\"`creationSourceServerId`\" pulumi-lang-python=\"`creation_source_server_id`\" pulumi-lang-yaml=\"`creationSourceServerId`\" pulumi-lang-java=\"`creationSourceServerId`\"\u003e`creation_source_server_id`\u003c/span\u003e. It should be provided in [RFC3339](https://www.rfc-editor.org/rfc/rfc3339) format, e.g. `2013-11-08T22:00:40Z`.\n"},"skuName":{"type":"string","description":"Specifies the SKU Name for this PostgreSQL Server. The name of the SKU, follows the \u003cspan pulumi-lang-nodejs=\"`tier`\" pulumi-lang-dotnet=\"`Tier`\" pulumi-lang-go=\"`tier`\" pulumi-lang-python=\"`tier`\" pulumi-lang-yaml=\"`tier`\" pulumi-lang-java=\"`tier`\"\u003e`tier`\u003c/span\u003e + \u003cspan pulumi-lang-nodejs=\"`family`\" pulumi-lang-dotnet=\"`Family`\" pulumi-lang-go=\"`family`\" pulumi-lang-python=\"`family`\" pulumi-lang-yaml=\"`family`\" pulumi-lang-java=\"`family`\"\u003e`family`\u003c/span\u003e + \u003cspan pulumi-lang-nodejs=\"`cores`\" pulumi-lang-dotnet=\"`Cores`\" pulumi-lang-go=\"`cores`\" pulumi-lang-python=\"`cores`\" pulumi-lang-yaml=\"`cores`\" pulumi-lang-java=\"`cores`\"\u003e`cores`\u003c/span\u003e pattern (e.g. `B_Gen4_1`, `GP_Gen5_8`). For more information see the [product documentation](https://docs.microsoft.com/rest/api/postgresql/singleserver/servers/create#sku). Possible values are `B_Gen4_1`, `B_Gen4_2`, `B_Gen5_1`, `B_Gen5_2`, `GP_Gen4_2`, `GP_Gen4_4`, `GP_Gen4_8`, `GP_Gen4_16`, `GP_Gen4_32`, `GP_Gen5_2`, `GP_Gen5_4`, `GP_Gen5_8`, `GP_Gen5_16`, `GP_Gen5_32`, `GP_Gen5_64`, `MO_Gen5_2`, `MO_Gen5_4`, `MO_Gen5_8`, `MO_Gen5_16` and `MO_Gen5_32`.\n\n\u003e **Note:** When replication is set up and \u003cspan pulumi-lang-nodejs=\"`skuName`\" pulumi-lang-dotnet=\"`SkuName`\" pulumi-lang-go=\"`skuName`\" pulumi-lang-python=\"`sku_name`\" pulumi-lang-yaml=\"`skuName`\" pulumi-lang-java=\"`skuName`\"\u003e`sku_name`\u003c/span\u003e is changed to a higher tier or more capacity for the primary, all replicas are scaled up to the same tier/capacity. This is an Azure requirement, for more information see the [replica scaling documentation](https://docs.microsoft.com/azure/postgresql/concepts-read-replicas#scaling)\n"},"sslEnforcementEnabled":{"type":"boolean","description":"Specifies if SSL should be enforced on connections. Possible values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`sslMinimalTlsVersionEnforced`\" pulumi-lang-dotnet=\"`SslMinimalTlsVersionEnforced`\" pulumi-lang-go=\"`sslMinimalTlsVersionEnforced`\" pulumi-lang-python=\"`ssl_minimal_tls_version_enforced`\" pulumi-lang-yaml=\"`sslMinimalTlsVersionEnforced`\" pulumi-lang-java=\"`sslMinimalTlsVersionEnforced`\"\u003e`ssl_minimal_tls_version_enforced`\u003c/span\u003e must be set to `TLSEnforcementDisabled` when \u003cspan pulumi-lang-nodejs=\"`sslEnforcementEnabled`\" pulumi-lang-dotnet=\"`SslEnforcementEnabled`\" pulumi-lang-go=\"`sslEnforcementEnabled`\" pulumi-lang-python=\"`ssl_enforcement_enabled`\" pulumi-lang-yaml=\"`sslEnforcementEnabled`\" pulumi-lang-java=\"`sslEnforcementEnabled`\"\u003e`ssl_enforcement_enabled`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"sslMinimalTlsVersionEnforced":{"type":"string","description":"The minimum TLS version to support on the sever. Possible values are `TLSEnforcementDisabled`, `TLS1_0`, `TLS1_1`, and `TLS1_2`. Defaults to `TLS1_2`.\n"},"storageMb":{"type":"integer","description":"Max storage allowed for a server. Possible values are between \u003cspan pulumi-lang-nodejs=\"`5120`\" pulumi-lang-dotnet=\"`5120`\" pulumi-lang-go=\"`5120`\" pulumi-lang-python=\"`5120`\" pulumi-lang-yaml=\"`5120`\" pulumi-lang-java=\"`5120`\"\u003e`5120`\u003c/span\u003e MB(5GB) and \u003cspan pulumi-lang-nodejs=\"`1048576`\" pulumi-lang-dotnet=\"`1048576`\" pulumi-lang-go=\"`1048576`\" pulumi-lang-python=\"`1048576`\" pulumi-lang-yaml=\"`1048576`\" pulumi-lang-java=\"`1048576`\"\u003e`1048576`\u003c/span\u003e MB(1TB) for the Basic SKU and between \u003cspan pulumi-lang-nodejs=\"`5120`\" pulumi-lang-dotnet=\"`5120`\" pulumi-lang-go=\"`5120`\" pulumi-lang-python=\"`5120`\" pulumi-lang-yaml=\"`5120`\" pulumi-lang-java=\"`5120`\"\u003e`5120`\u003c/span\u003e MB(5GB) and \u003cspan pulumi-lang-nodejs=\"`16777216`\" pulumi-lang-dotnet=\"`16777216`\" pulumi-lang-go=\"`16777216`\" pulumi-lang-python=\"`16777216`\" pulumi-lang-yaml=\"`16777216`\" pulumi-lang-java=\"`16777216`\"\u003e`16777216`\u003c/span\u003e MB(16TB) for General Purpose/Memory Optimized SKUs. For more information see the [product documentation](https://docs.microsoft.com/azure/postgresql/concepts-pricing-tiers#storage).\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"threatDetectionPolicy":{"$ref":"#/types/azure:postgresql/ServerThreatDetectionPolicy:ServerThreatDetectionPolicy","description":"Threat detection policy configuration, known in the API as Server Security Alerts Policy. The \u003cspan pulumi-lang-nodejs=\"`threatDetectionPolicy`\" pulumi-lang-dotnet=\"`ThreatDetectionPolicy`\" pulumi-lang-go=\"`threatDetectionPolicy`\" pulumi-lang-python=\"`threat_detection_policy`\" pulumi-lang-yaml=\"`threatDetectionPolicy`\" pulumi-lang-java=\"`threatDetectionPolicy`\"\u003e`threat_detection_policy`\u003c/span\u003e block supports fields documented below.\n"},"version":{"type":"string","description":"Specifies the version of PostgreSQL to use. Valid values are `9.5`, `9.6`, \u003cspan pulumi-lang-nodejs=\"`10`\" pulumi-lang-dotnet=\"`10`\" pulumi-lang-go=\"`10`\" pulumi-lang-python=\"`10`\" pulumi-lang-yaml=\"`10`\" pulumi-lang-java=\"`10`\"\u003e`10`\u003c/span\u003e, `10.0`, `10.2` and \u003cspan pulumi-lang-nodejs=\"`11`\" pulumi-lang-dotnet=\"`11`\" pulumi-lang-go=\"`11`\" pulumi-lang-python=\"`11`\" pulumi-lang-yaml=\"`11`\" pulumi-lang-java=\"`11`\"\u003e`11`\u003c/span\u003e. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:postgresql/serverKey:ServerKey":{"description":"Manages a Customer Managed Key for a PostgreSQL Server.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`azure.postgresql.ServerKey`\" pulumi-lang-dotnet=\"`azure.postgresql.ServerKey`\" pulumi-lang-go=\"`postgresql.ServerKey`\" pulumi-lang-python=\"`postgresql.ServerKey`\" pulumi-lang-yaml=\"`azure.postgresql.ServerKey`\" pulumi-lang-java=\"`azure.postgresql.ServerKey`\"\u003e`azure.postgresql.ServerKey`\u003c/span\u003e resource is deprecated and will be removed in v5.0 of the AzureRM Provider. Azure Database for PostgreSQL Single Server and its sub resources have been retired as of 2025-03-28. For more information, see https://techcommunity.microsoft.com/blog/adforpostgresql/retiring-azure-database-for-postgresql-single-server-in-2025/3783783.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst current = azure.core.getClientConfig({});\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleKeyVault = new azure.keyvault.KeyVault(\"example\", {\n    name: \"examplekv\",\n    location: example.location,\n    resourceGroupName: example.name,\n    tenantId: current.then(current =\u003e current.tenantId),\n    skuName: \"premium\",\n    purgeProtectionEnabled: true,\n});\nconst exampleServer = new azure.postgresql.Server(\"example\", {\n    name: \"example-postgre-server\",\n    location: example.location,\n    resourceGroupName: example.name,\n    administratorLogin: \"psqladmin\",\n    administratorLoginPassword: \"H@Sh1CoR3!\",\n    skuName: \"GP_Gen5_2\",\n    version: \"11\",\n    storageMb: 51200,\n    sslEnforcementEnabled: true,\n    identity: {\n        type: \"SystemAssigned\",\n    },\n});\nconst server = new azure.keyvault.AccessPolicy(\"server\", {\n    keyVaultId: exampleKeyVault.id,\n    tenantId: current.then(current =\u003e current.tenantId),\n    objectId: exampleServer.identity.apply(identity =\u003e identity?.principalId),\n    keyPermissions: [\n        \"Get\",\n        \"UnwrapKey\",\n        \"WrapKey\",\n    ],\n    secretPermissions: [\"Get\"],\n});\nconst client = new azure.keyvault.AccessPolicy(\"client\", {\n    keyVaultId: exampleKeyVault.id,\n    tenantId: current.then(current =\u003e current.tenantId),\n    objectId: current.then(current =\u003e current.objectId),\n    keyPermissions: [\n        \"Get\",\n        \"Create\",\n        \"Delete\",\n        \"List\",\n        \"Restore\",\n        \"Recover\",\n        \"UnwrapKey\",\n        \"WrapKey\",\n        \"Purge\",\n        \"Encrypt\",\n        \"Decrypt\",\n        \"Sign\",\n        \"Verify\",\n        \"GetRotationPolicy\",\n    ],\n    secretPermissions: [\"Get\"],\n});\nconst exampleKey = new azure.keyvault.Key(\"example\", {\n    name: \"tfex-key\",\n    keyVaultId: exampleKeyVault.id,\n    keyType: \"RSA\",\n    keySize: 2048,\n    keyOpts: [\n        \"decrypt\",\n        \"encrypt\",\n        \"sign\",\n        \"unwrapKey\",\n        \"verify\",\n        \"wrapKey\",\n    ],\n}, {\n    dependsOn: [\n        client,\n        server,\n    ],\n});\nconst exampleServerKey = new azure.postgresql.ServerKey(\"example\", {\n    serverId: exampleServer.id,\n    keyVaultKeyId: exampleKey.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\ncurrent = azure.core.get_client_config()\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_key_vault = azure.keyvault.KeyVault(\"example\",\n    name=\"examplekv\",\n    location=example.location,\n    resource_group_name=example.name,\n    tenant_id=current.tenant_id,\n    sku_name=\"premium\",\n    purge_protection_enabled=True)\nexample_server = azure.postgresql.Server(\"example\",\n    name=\"example-postgre-server\",\n    location=example.location,\n    resource_group_name=example.name,\n    administrator_login=\"psqladmin\",\n    administrator_login_password=\"H@Sh1CoR3!\",\n    sku_name=\"GP_Gen5_2\",\n    version=\"11\",\n    storage_mb=51200,\n    ssl_enforcement_enabled=True,\n    identity={\n        \"type\": \"SystemAssigned\",\n    })\nserver = azure.keyvault.AccessPolicy(\"server\",\n    key_vault_id=example_key_vault.id,\n    tenant_id=current.tenant_id,\n    object_id=example_server.identity.principal_id,\n    key_permissions=[\n        \"Get\",\n        \"UnwrapKey\",\n        \"WrapKey\",\n    ],\n    secret_permissions=[\"Get\"])\nclient = azure.keyvault.AccessPolicy(\"client\",\n    key_vault_id=example_key_vault.id,\n    tenant_id=current.tenant_id,\n    object_id=current.object_id,\n    key_permissions=[\n        \"Get\",\n        \"Create\",\n        \"Delete\",\n        \"List\",\n        \"Restore\",\n        \"Recover\",\n        \"UnwrapKey\",\n        \"WrapKey\",\n        \"Purge\",\n        \"Encrypt\",\n        \"Decrypt\",\n        \"Sign\",\n        \"Verify\",\n        \"GetRotationPolicy\",\n    ],\n    secret_permissions=[\"Get\"])\nexample_key = azure.keyvault.Key(\"example\",\n    name=\"tfex-key\",\n    key_vault_id=example_key_vault.id,\n    key_type=\"RSA\",\n    key_size=2048,\n    key_opts=[\n        \"decrypt\",\n        \"encrypt\",\n        \"sign\",\n        \"unwrapKey\",\n        \"verify\",\n        \"wrapKey\",\n    ],\n    opts = pulumi.ResourceOptions(depends_on=[\n            client,\n            server,\n        ]))\nexample_server_key = azure.postgresql.ServerKey(\"example\",\n    server_id=example_server.id,\n    key_vault_key_id=example_key.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var current = Azure.Core.GetClientConfig.Invoke();\n\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleKeyVault = new Azure.KeyVault.KeyVault(\"example\", new()\n    {\n        Name = \"examplekv\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        TenantId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.TenantId),\n        SkuName = \"premium\",\n        PurgeProtectionEnabled = true,\n    });\n\n    var exampleServer = new Azure.PostgreSql.Server(\"example\", new()\n    {\n        Name = \"example-postgre-server\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        AdministratorLogin = \"psqladmin\",\n        AdministratorLoginPassword = \"H@Sh1CoR3!\",\n        SkuName = \"GP_Gen5_2\",\n        Version = \"11\",\n        StorageMb = 51200,\n        SslEnforcementEnabled = true,\n        Identity = new Azure.PostgreSql.Inputs.ServerIdentityArgs\n        {\n            Type = \"SystemAssigned\",\n        },\n    });\n\n    var server = new Azure.KeyVault.AccessPolicy(\"server\", new()\n    {\n        KeyVaultId = exampleKeyVault.Id,\n        TenantId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.TenantId),\n        ObjectId = exampleServer.Identity.Apply(identity =\u003e identity?.PrincipalId),\n        KeyPermissions = new[]\n        {\n            \"Get\",\n            \"UnwrapKey\",\n            \"WrapKey\",\n        },\n        SecretPermissions = new[]\n        {\n            \"Get\",\n        },\n    });\n\n    var client = new Azure.KeyVault.AccessPolicy(\"client\", new()\n    {\n        KeyVaultId = exampleKeyVault.Id,\n        TenantId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.TenantId),\n        ObjectId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.ObjectId),\n        KeyPermissions = new[]\n        {\n            \"Get\",\n            \"Create\",\n            \"Delete\",\n            \"List\",\n            \"Restore\",\n            \"Recover\",\n            \"UnwrapKey\",\n            \"WrapKey\",\n            \"Purge\",\n            \"Encrypt\",\n            \"Decrypt\",\n            \"Sign\",\n            \"Verify\",\n            \"GetRotationPolicy\",\n        },\n        SecretPermissions = new[]\n        {\n            \"Get\",\n        },\n    });\n\n    var exampleKey = new Azure.KeyVault.Key(\"example\", new()\n    {\n        Name = \"tfex-key\",\n        KeyVaultId = exampleKeyVault.Id,\n        KeyType = \"RSA\",\n        KeySize = 2048,\n        KeyOpts = new[]\n        {\n            \"decrypt\",\n            \"encrypt\",\n            \"sign\",\n            \"unwrapKey\",\n            \"verify\",\n            \"wrapKey\",\n        },\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            client,\n            server,\n        },\n    });\n\n    var exampleServerKey = new Azure.PostgreSql.ServerKey(\"example\", new()\n    {\n        ServerId = exampleServer.Id,\n        KeyVaultKeyId = exampleKey.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/keyvault\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/postgresql\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := core.GetClientConfig(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleKeyVault, err := keyvault.NewKeyVault(ctx, \"example\", \u0026keyvault.KeyVaultArgs{\n\t\t\tName:                   pulumi.String(\"examplekv\"),\n\t\t\tLocation:               example.Location,\n\t\t\tResourceGroupName:      example.Name,\n\t\t\tTenantId:               pulumi.String(current.TenantId),\n\t\t\tSkuName:                pulumi.String(\"premium\"),\n\t\t\tPurgeProtectionEnabled: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleServer, err := postgresql.NewServer(ctx, \"example\", \u0026postgresql.ServerArgs{\n\t\t\tName:                       pulumi.String(\"example-postgre-server\"),\n\t\t\tLocation:                   example.Location,\n\t\t\tResourceGroupName:          example.Name,\n\t\t\tAdministratorLogin:         pulumi.String(\"psqladmin\"),\n\t\t\tAdministratorLoginPassword: pulumi.String(\"H@Sh1CoR3!\"),\n\t\t\tSkuName:                    pulumi.String(\"GP_Gen5_2\"),\n\t\t\tVersion:                    pulumi.String(\"11\"),\n\t\t\tStorageMb:                  pulumi.Int(51200),\n\t\t\tSslEnforcementEnabled:      pulumi.Bool(true),\n\t\t\tIdentity: \u0026postgresql.ServerIdentityArgs{\n\t\t\t\tType: pulumi.String(\"SystemAssigned\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tserver, err := keyvault.NewAccessPolicy(ctx, \"server\", \u0026keyvault.AccessPolicyArgs{\n\t\t\tKeyVaultId: exampleKeyVault.ID(),\n\t\t\tTenantId:   pulumi.String(current.TenantId),\n\t\t\tObjectId: pulumi.String(exampleServer.Identity.ApplyT(func(identity postgresql.ServerIdentity) (*string, error) {\n\t\t\t\treturn \u0026identity.PrincipalId, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tKeyPermissions: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"Get\"),\n\t\t\t\tpulumi.String(\"UnwrapKey\"),\n\t\t\t\tpulumi.String(\"WrapKey\"),\n\t\t\t},\n\t\t\tSecretPermissions: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"Get\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tclient, err := keyvault.NewAccessPolicy(ctx, \"client\", \u0026keyvault.AccessPolicyArgs{\n\t\t\tKeyVaultId: exampleKeyVault.ID(),\n\t\t\tTenantId:   pulumi.String(current.TenantId),\n\t\t\tObjectId:   pulumi.String(current.ObjectId),\n\t\t\tKeyPermissions: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"Get\"),\n\t\t\t\tpulumi.String(\"Create\"),\n\t\t\t\tpulumi.String(\"Delete\"),\n\t\t\t\tpulumi.String(\"List\"),\n\t\t\t\tpulumi.String(\"Restore\"),\n\t\t\t\tpulumi.String(\"Recover\"),\n\t\t\t\tpulumi.String(\"UnwrapKey\"),\n\t\t\t\tpulumi.String(\"WrapKey\"),\n\t\t\t\tpulumi.String(\"Purge\"),\n\t\t\t\tpulumi.String(\"Encrypt\"),\n\t\t\t\tpulumi.String(\"Decrypt\"),\n\t\t\t\tpulumi.String(\"Sign\"),\n\t\t\t\tpulumi.String(\"Verify\"),\n\t\t\t\tpulumi.String(\"GetRotationPolicy\"),\n\t\t\t},\n\t\t\tSecretPermissions: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"Get\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleKey, err := keyvault.NewKey(ctx, \"example\", \u0026keyvault.KeyArgs{\n\t\t\tName:       pulumi.String(\"tfex-key\"),\n\t\t\tKeyVaultId: exampleKeyVault.ID(),\n\t\t\tKeyType:    pulumi.String(\"RSA\"),\n\t\t\tKeySize:    pulumi.Int(2048),\n\t\t\tKeyOpts: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"decrypt\"),\n\t\t\t\tpulumi.String(\"encrypt\"),\n\t\t\t\tpulumi.String(\"sign\"),\n\t\t\t\tpulumi.String(\"unwrapKey\"),\n\t\t\t\tpulumi.String(\"verify\"),\n\t\t\t\tpulumi.String(\"wrapKey\"),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tclient,\n\t\t\tserver,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = postgresql.NewServerKey(ctx, \"example\", \u0026postgresql.ServerKeyArgs{\n\t\t\tServerId:      exampleServer.ID(),\n\t\t\tKeyVaultKeyId: exampleKey.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.keyvault.KeyVault;\nimport com.pulumi.azure.keyvault.KeyVaultArgs;\nimport com.pulumi.azure.postgresql.Server;\nimport com.pulumi.azure.postgresql.ServerArgs;\nimport com.pulumi.azure.postgresql.inputs.ServerIdentityArgs;\nimport com.pulumi.azure.keyvault.AccessPolicy;\nimport com.pulumi.azure.keyvault.AccessPolicyArgs;\nimport com.pulumi.azure.keyvault.Key;\nimport com.pulumi.azure.keyvault.KeyArgs;\nimport com.pulumi.azure.postgresql.ServerKey;\nimport com.pulumi.azure.postgresql.ServerKeyArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var current = CoreFunctions.getClientConfig(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleKeyVault = new KeyVault(\"exampleKeyVault\", KeyVaultArgs.builder()\n            .name(\"examplekv\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .tenantId(current.tenantId())\n            .skuName(\"premium\")\n            .purgeProtectionEnabled(true)\n            .build());\n\n        var exampleServer = new Server(\"exampleServer\", ServerArgs.builder()\n            .name(\"example-postgre-server\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .administratorLogin(\"psqladmin\")\n            .administratorLoginPassword(\"H@Sh1CoR3!\")\n            .skuName(\"GP_Gen5_2\")\n            .version(\"11\")\n            .storageMb(51200)\n            .sslEnforcementEnabled(true)\n            .identity(ServerIdentityArgs.builder()\n                .type(\"SystemAssigned\")\n                .build())\n            .build());\n\n        var server = new AccessPolicy(\"server\", AccessPolicyArgs.builder()\n            .keyVaultId(exampleKeyVault.id())\n            .tenantId(current.tenantId())\n            .objectId(exampleServer.identity().applyValue(_identity -\u003e _identity.principalId()))\n            .keyPermissions(            \n                \"Get\",\n                \"UnwrapKey\",\n                \"WrapKey\")\n            .secretPermissions(\"Get\")\n            .build());\n\n        var client = new AccessPolicy(\"client\", AccessPolicyArgs.builder()\n            .keyVaultId(exampleKeyVault.id())\n            .tenantId(current.tenantId())\n            .objectId(current.objectId())\n            .keyPermissions(            \n                \"Get\",\n                \"Create\",\n                \"Delete\",\n                \"List\",\n                \"Restore\",\n                \"Recover\",\n                \"UnwrapKey\",\n                \"WrapKey\",\n                \"Purge\",\n                \"Encrypt\",\n                \"Decrypt\",\n                \"Sign\",\n                \"Verify\",\n                \"GetRotationPolicy\")\n            .secretPermissions(\"Get\")\n            .build());\n\n        var exampleKey = new Key(\"exampleKey\", KeyArgs.builder()\n            .name(\"tfex-key\")\n            .keyVaultId(exampleKeyVault.id())\n            .keyType(\"RSA\")\n            .keySize(2048)\n            .keyOpts(            \n                \"decrypt\",\n                \"encrypt\",\n                \"sign\",\n                \"unwrapKey\",\n                \"verify\",\n                \"wrapKey\")\n            .build(), CustomResourceOptions.builder()\n                .dependsOn(                \n                    client,\n                    server)\n                .build());\n\n        var exampleServerKey = new ServerKey(\"exampleServerKey\", ServerKeyArgs.builder()\n            .serverId(exampleServer.id())\n            .keyVaultKeyId(exampleKey.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleKeyVault:\n    type: azure:keyvault:KeyVault\n    name: example\n    properties:\n      name: examplekv\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      tenantId: ${current.tenantId}\n      skuName: premium\n      purgeProtectionEnabled: true\n  server:\n    type: azure:keyvault:AccessPolicy\n    properties:\n      keyVaultId: ${exampleKeyVault.id}\n      tenantId: ${current.tenantId}\n      objectId: ${exampleServer.identity.principalId}\n      keyPermissions:\n        - Get\n        - UnwrapKey\n        - WrapKey\n      secretPermissions:\n        - Get\n  client:\n    type: azure:keyvault:AccessPolicy\n    properties:\n      keyVaultId: ${exampleKeyVault.id}\n      tenantId: ${current.tenantId}\n      objectId: ${current.objectId}\n      keyPermissions:\n        - Get\n        - Create\n        - Delete\n        - List\n        - Restore\n        - Recover\n        - UnwrapKey\n        - WrapKey\n        - Purge\n        - Encrypt\n        - Decrypt\n        - Sign\n        - Verify\n        - GetRotationPolicy\n      secretPermissions:\n        - Get\n  exampleKey:\n    type: azure:keyvault:Key\n    name: example\n    properties:\n      name: tfex-key\n      keyVaultId: ${exampleKeyVault.id}\n      keyType: RSA\n      keySize: 2048\n      keyOpts:\n        - decrypt\n        - encrypt\n        - sign\n        - unwrapKey\n        - verify\n        - wrapKey\n    options:\n      dependsOn:\n        - ${client}\n        - ${server}\n  exampleServer:\n    type: azure:postgresql:Server\n    name: example\n    properties:\n      name: example-postgre-server\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      administratorLogin: psqladmin\n      administratorLoginPassword: H@Sh1CoR3!\n      skuName: GP_Gen5_2\n      version: '11'\n      storageMb: 51200\n      sslEnforcementEnabled: true\n      identity:\n        type: SystemAssigned\n  exampleServerKey:\n    type: azure:postgresql:ServerKey\n    name: example\n    properties:\n      serverId: ${exampleServer.id}\n      keyVaultKeyId: ${exampleKey.id}\nvariables:\n  current:\n    fn::invoke:\n      function: azure:core:getClientConfig\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.DBforPostgreSQL` - 2020-01-01\n\n## Import\n\nA PostgreSQL Server Key can be imported using the `resource id` of the PostgreSQL Server Key, e.g.\n\n```sh\n$ pulumi import azure:postgresql/serverKey:ServerKey example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.DBforPostgreSQL/servers/server1/keys/keyvaultname_key-name_keyversion\n```\n\n","properties":{"keyVaultKeyId":{"type":"string","description":"The URL to a Key Vault Key.\n"},"serverId":{"type":"string","description":"The ID of the PostgreSQL Server. Changing this forces a new resource to be created.\n"}},"required":["keyVaultKeyId","serverId"],"inputProperties":{"keyVaultKeyId":{"type":"string","description":"The URL to a Key Vault Key.\n"},"serverId":{"type":"string","description":"The ID of the PostgreSQL Server. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["keyVaultKeyId","serverId"],"stateInputs":{"description":"Input properties used for looking up and filtering ServerKey resources.\n","properties":{"keyVaultKeyId":{"type":"string","description":"The URL to a Key Vault Key.\n"},"serverId":{"type":"string","description":"The ID of the PostgreSQL Server. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:postgresql/virtualNetworkRule:VirtualNetworkRule":{"description":"Manages a PostgreSQL Virtual Network Rule.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`azure.postgresql.VirtualNetworkRule`\" pulumi-lang-dotnet=\"`azure.postgresql.VirtualNetworkRule`\" pulumi-lang-go=\"`postgresql.VirtualNetworkRule`\" pulumi-lang-python=\"`postgresql.VirtualNetworkRule`\" pulumi-lang-yaml=\"`azure.postgresql.VirtualNetworkRule`\" pulumi-lang-java=\"`azure.postgresql.VirtualNetworkRule`\"\u003e`azure.postgresql.VirtualNetworkRule`\u003c/span\u003e resource is deprecated and will be removed in v5.0 of the AzureRM Provider. Azure Database for PostgreSQL Single Server and its sub resources have been retired as of 2025-03-28. For more information, see https://techcommunity.microsoft.com/blog/adforpostgresql/retiring-azure-database-for-postgresql-single-server-in-2025/3783783.\n\n\u003e **Note:** PostgreSQL Virtual Network Rules [can only be used with SKU Tiers of `GeneralPurpose` or `MemoryOptimized`](https://docs.microsoft.com/azure/postgresql/concepts-data-access-and-security-vnet)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"example\", {\n    name: \"example-vnet\",\n    addressSpaces: [\"10.7.29.0/29\"],\n    location: example.location,\n    resourceGroupName: example.name,\n});\nconst internal = new azure.network.Subnet(\"internal\", {\n    name: \"internal\",\n    resourceGroupName: example.name,\n    virtualNetworkName: exampleVirtualNetwork.name,\n    addressPrefixes: [\"10.7.29.0/29\"],\n    serviceEndpoints: [\"Microsoft.Sql\"],\n});\nconst exampleServer = new azure.postgresql.Server(\"example\", {\n    name: \"postgresql-server-1\",\n    location: example.location,\n    resourceGroupName: example.name,\n    skuName: \"GP_Gen5_2\",\n    storageMb: 5120,\n    backupRetentionDays: 7,\n    administratorLogin: \"psqladmin\",\n    administratorLoginPassword: \"H@Sh1CoR3!\",\n    version: \"9.5\",\n    sslEnforcementEnabled: true,\n});\nconst exampleVirtualNetworkRule = new azure.postgresql.VirtualNetworkRule(\"example\", {\n    name: \"postgresql-vnet-rule\",\n    resourceGroupName: example.name,\n    serverName: exampleServer.name,\n    subnetId: internal.id,\n    ignoreMissingVnetServiceEndpoint: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_virtual_network = azure.network.VirtualNetwork(\"example\",\n    name=\"example-vnet\",\n    address_spaces=[\"10.7.29.0/29\"],\n    location=example.location,\n    resource_group_name=example.name)\ninternal = azure.network.Subnet(\"internal\",\n    name=\"internal\",\n    resource_group_name=example.name,\n    virtual_network_name=example_virtual_network.name,\n    address_prefixes=[\"10.7.29.0/29\"],\n    service_endpoints=[\"Microsoft.Sql\"])\nexample_server = azure.postgresql.Server(\"example\",\n    name=\"postgresql-server-1\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku_name=\"GP_Gen5_2\",\n    storage_mb=5120,\n    backup_retention_days=7,\n    administrator_login=\"psqladmin\",\n    administrator_login_password=\"H@Sh1CoR3!\",\n    version=\"9.5\",\n    ssl_enforcement_enabled=True)\nexample_virtual_network_rule = azure.postgresql.VirtualNetworkRule(\"example\",\n    name=\"postgresql-vnet-rule\",\n    resource_group_name=example.name,\n    server_name=example_server.name,\n    subnet_id=internal.id,\n    ignore_missing_vnet_service_endpoint=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleVirtualNetwork = new Azure.Network.VirtualNetwork(\"example\", new()\n    {\n        Name = \"example-vnet\",\n        AddressSpaces = new[]\n        {\n            \"10.7.29.0/29\",\n        },\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n    });\n\n    var @internal = new Azure.Network.Subnet(\"internal\", new()\n    {\n        Name = \"internal\",\n        ResourceGroupName = example.Name,\n        VirtualNetworkName = exampleVirtualNetwork.Name,\n        AddressPrefixes = new[]\n        {\n            \"10.7.29.0/29\",\n        },\n        ServiceEndpoints = new[]\n        {\n            \"Microsoft.Sql\",\n        },\n    });\n\n    var exampleServer = new Azure.PostgreSql.Server(\"example\", new()\n    {\n        Name = \"postgresql-server-1\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        SkuName = \"GP_Gen5_2\",\n        StorageMb = 5120,\n        BackupRetentionDays = 7,\n        AdministratorLogin = \"psqladmin\",\n        AdministratorLoginPassword = \"H@Sh1CoR3!\",\n        Version = \"9.5\",\n        SslEnforcementEnabled = true,\n    });\n\n    var exampleVirtualNetworkRule = new Azure.PostgreSql.VirtualNetworkRule(\"example\", new()\n    {\n        Name = \"postgresql-vnet-rule\",\n        ResourceGroupName = example.Name,\n        ServerName = exampleServer.Name,\n        SubnetId = @internal.Id,\n        IgnoreMissingVnetServiceEndpoint = true,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/postgresql\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, \"example\", \u0026network.VirtualNetworkArgs{\n\t\t\tName: pulumi.String(\"example-vnet\"),\n\t\t\tAddressSpaces: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.7.29.0/29\"),\n\t\t\t},\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinternal, err := network.NewSubnet(ctx, \"internal\", \u0026network.SubnetArgs{\n\t\t\tName:               pulumi.String(\"internal\"),\n\t\t\tResourceGroupName:  example.Name,\n\t\t\tVirtualNetworkName: exampleVirtualNetwork.Name,\n\t\t\tAddressPrefixes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.7.29.0/29\"),\n\t\t\t},\n\t\t\tServiceEndpoints: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"Microsoft.Sql\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleServer, err := postgresql.NewServer(ctx, \"example\", \u0026postgresql.ServerArgs{\n\t\t\tName:                       pulumi.String(\"postgresql-server-1\"),\n\t\t\tLocation:                   example.Location,\n\t\t\tResourceGroupName:          example.Name,\n\t\t\tSkuName:                    pulumi.String(\"GP_Gen5_2\"),\n\t\t\tStorageMb:                  pulumi.Int(5120),\n\t\t\tBackupRetentionDays:        pulumi.Int(7),\n\t\t\tAdministratorLogin:         pulumi.String(\"psqladmin\"),\n\t\t\tAdministratorLoginPassword: pulumi.String(\"H@Sh1CoR3!\"),\n\t\t\tVersion:                    pulumi.String(\"9.5\"),\n\t\t\tSslEnforcementEnabled:      pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = postgresql.NewVirtualNetworkRule(ctx, \"example\", \u0026postgresql.VirtualNetworkRuleArgs{\n\t\t\tName:                             pulumi.String(\"postgresql-vnet-rule\"),\n\t\t\tResourceGroupName:                example.Name,\n\t\t\tServerName:                       exampleServer.Name,\n\t\t\tSubnetId:                         internal.ID(),\n\t\t\tIgnoreMissingVnetServiceEndpoint: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.VirtualNetwork;\nimport com.pulumi.azure.network.VirtualNetworkArgs;\nimport com.pulumi.azure.network.Subnet;\nimport com.pulumi.azure.network.SubnetArgs;\nimport com.pulumi.azure.postgresql.Server;\nimport com.pulumi.azure.postgresql.ServerArgs;\nimport com.pulumi.azure.postgresql.VirtualNetworkRule;\nimport com.pulumi.azure.postgresql.VirtualNetworkRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleVirtualNetwork = new VirtualNetwork(\"exampleVirtualNetwork\", VirtualNetworkArgs.builder()\n            .name(\"example-vnet\")\n            .addressSpaces(\"10.7.29.0/29\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .build());\n\n        var internal = new Subnet(\"internal\", SubnetArgs.builder()\n            .name(\"internal\")\n            .resourceGroupName(example.name())\n            .virtualNetworkName(exampleVirtualNetwork.name())\n            .addressPrefixes(\"10.7.29.0/29\")\n            .serviceEndpoints(\"Microsoft.Sql\")\n            .build());\n\n        var exampleServer = new Server(\"exampleServer\", ServerArgs.builder()\n            .name(\"postgresql-server-1\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .skuName(\"GP_Gen5_2\")\n            .storageMb(5120)\n            .backupRetentionDays(7)\n            .administratorLogin(\"psqladmin\")\n            .administratorLoginPassword(\"H@Sh1CoR3!\")\n            .version(\"9.5\")\n            .sslEnforcementEnabled(true)\n            .build());\n\n        var exampleVirtualNetworkRule = new VirtualNetworkRule(\"exampleVirtualNetworkRule\", VirtualNetworkRuleArgs.builder()\n            .name(\"postgresql-vnet-rule\")\n            .resourceGroupName(example.name())\n            .serverName(exampleServer.name())\n            .subnetId(internal.id())\n            .ignoreMissingVnetServiceEndpoint(true)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleVirtualNetwork:\n    type: azure:network:VirtualNetwork\n    name: example\n    properties:\n      name: example-vnet\n      addressSpaces:\n        - 10.7.29.0/29\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n  internal:\n    type: azure:network:Subnet\n    properties:\n      name: internal\n      resourceGroupName: ${example.name}\n      virtualNetworkName: ${exampleVirtualNetwork.name}\n      addressPrefixes:\n        - 10.7.29.0/29\n      serviceEndpoints:\n        - Microsoft.Sql\n  exampleServer:\n    type: azure:postgresql:Server\n    name: example\n    properties:\n      name: postgresql-server-1\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      skuName: GP_Gen5_2\n      storageMb: 5120\n      backupRetentionDays: 7\n      administratorLogin: psqladmin\n      administratorLoginPassword: H@Sh1CoR3!\n      version: '9.5'\n      sslEnforcementEnabled: true\n  exampleVirtualNetworkRule:\n    type: azure:postgresql:VirtualNetworkRule\n    name: example\n    properties:\n      name: postgresql-vnet-rule\n      resourceGroupName: ${example.name}\n      serverName: ${exampleServer.name}\n      subnetId: ${internal.id}\n      ignoreMissingVnetServiceEndpoint: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.DBforPostgreSQL` - 2017-12-01\n\n## Import\n\nPostgreSQL Virtual Network Rules can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:postgresql/virtualNetworkRule:VirtualNetworkRule rule1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myresourcegroup/providers/Microsoft.DBforPostgreSQL/servers/myserver/virtualNetworkRules/vnetrulename\n```\n\n","properties":{"ignoreMissingVnetServiceEndpoint":{"type":"boolean","description":"Should the Virtual Network Rule be created before the Subnet has the Virtual Network Service Endpoint enabled?\n"},"name":{"type":"string","description":"The name of the PostgreSQL virtual network rule. Cannot be empty and must only contain alphanumeric characters and hyphens. Cannot start with a number, and cannot start or end with a hyphen. Changing this forces a new resource to be created.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e must be between 1-128 characters long and must satisfy all of the requirements below:\n\n1. Contains only alphanumeric and hyphen characters\n2. Cannot start with a number or hyphen\n3. Cannot end with a hyphen\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group where the PostgreSQL server resides. Changing this forces a new resource to be created.\n"},"serverName":{"type":"string","description":"The name of the SQL Server to which this PostgreSQL virtual network rule will be applied to. Changing this forces a new resource to be created.\n"},"subnetId":{"type":"string","description":"The ID of the subnet that the PostgreSQL server will be connected to.\n"}},"required":["name","resourceGroupName","serverName","subnetId"],"inputProperties":{"ignoreMissingVnetServiceEndpoint":{"type":"boolean","description":"Should the Virtual Network Rule be created before the Subnet has the Virtual Network Service Endpoint enabled?\n"},"name":{"type":"string","description":"The name of the PostgreSQL virtual network rule. Cannot be empty and must only contain alphanumeric characters and hyphens. Cannot start with a number, and cannot start or end with a hyphen. Changing this forces a new resource to be created.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e must be between 1-128 characters long and must satisfy all of the requirements below:\n\n1. Contains only alphanumeric and hyphen characters\n2. Cannot start with a number or hyphen\n3. Cannot end with a hyphen\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group where the PostgreSQL server resides. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"serverName":{"type":"string","description":"The name of the SQL Server to which this PostgreSQL virtual network rule will be applied to. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"subnetId":{"type":"string","description":"The ID of the subnet that the PostgreSQL server will be connected to.\n"}},"requiredInputs":["resourceGroupName","serverName","subnetId"],"stateInputs":{"description":"Input properties used for looking up and filtering VirtualNetworkRule resources.\n","properties":{"ignoreMissingVnetServiceEndpoint":{"type":"boolean","description":"Should the Virtual Network Rule be created before the Subnet has the Virtual Network Service Endpoint enabled?\n"},"name":{"type":"string","description":"The name of the PostgreSQL virtual network rule. Cannot be empty and must only contain alphanumeric characters and hyphens. Cannot start with a number, and cannot start or end with a hyphen. Changing this forces a new resource to be created.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e must be between 1-128 characters long and must satisfy all of the requirements below:\n\n1. Contains only alphanumeric and hyphen characters\n2. Cannot start with a number or hyphen\n3. Cannot end with a hyphen\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group where the PostgreSQL server resides. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"serverName":{"type":"string","description":"The name of the SQL Server to which this PostgreSQL virtual network rule will be applied to. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"subnetId":{"type":"string","description":"The ID of the subnet that the PostgreSQL server will be connected to.\n"}},"type":"object"}},"azure:powerbi/embedded:Embedded":{"description":"Manages a PowerBI Embedded.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleEmbedded = new azure.powerbi.Embedded(\"example\", {\n    name: \"examplepowerbi\",\n    location: example.location,\n    resourceGroupName: example.name,\n    skuName: \"A1\",\n    administrators: [\"azsdktest@microsoft.com\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_embedded = azure.powerbi.Embedded(\"example\",\n    name=\"examplepowerbi\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku_name=\"A1\",\n    administrators=[\"azsdktest@microsoft.com\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleEmbedded = new Azure.PowerBI.Embedded(\"example\", new()\n    {\n        Name = \"examplepowerbi\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        SkuName = \"A1\",\n        Administrators = new[]\n        {\n            \"azsdktest@microsoft.com\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/powerbi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = powerbi.NewEmbedded(ctx, \"example\", \u0026powerbi.EmbeddedArgs{\n\t\t\tName:              pulumi.String(\"examplepowerbi\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSkuName:           pulumi.String(\"A1\"),\n\t\t\tAdministrators: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"azsdktest@microsoft.com\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.powerbi.Embedded;\nimport com.pulumi.azure.powerbi.EmbeddedArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleEmbedded = new Embedded(\"exampleEmbedded\", EmbeddedArgs.builder()\n            .name(\"examplepowerbi\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .skuName(\"A1\")\n            .administrators(\"azsdktest@microsoft.com\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleEmbedded:\n    type: azure:powerbi:Embedded\n    name: example\n    properties:\n      name: examplepowerbi\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      skuName: A1\n      administrators:\n        - azsdktest@microsoft.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.PowerBIDedicated` - 2021-01-01\n\n## Import\n\nPowerBI Embedded can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:powerbi/embedded:Embedded example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.PowerBIDedicated/capacities/capacity1\n```\n\n","properties":{"administrators":{"type":"array","items":{"type":"string"},"description":"A set of administrator user identities, which manages the Power BI Embedded and must be a member user or a service principal in your AAD tenant.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n"},"mode":{"type":"string","description":"Sets the PowerBI Embedded's mode. Possible values include: `Gen1`, `Gen2`. Defaults to `Gen1`. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"The name of the PowerBI Embedded. Changing this forces a new resource to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the PowerBI Embedded should be created. Changing this forces a new resource to be created.\n"},"skuName":{"type":"string","description":"Sets the PowerBI Embedded's pricing level's SKU. Possible values include: `A1`, `A2`, `A3`, `A4`, `A5`, `A6`, `A7` and `A8`.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"required":["administrators","location","name","resourceGroupName","skuName"],"inputProperties":{"administrators":{"type":"array","items":{"type":"string"},"description":"A set of administrator user identities, which manages the Power BI Embedded and must be a member user or a service principal in your AAD tenant.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"mode":{"type":"string","description":"Sets the PowerBI Embedded's mode. Possible values include: `Gen1`, `Gen2`. Defaults to `Gen1`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the PowerBI Embedded. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the PowerBI Embedded should be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"skuName":{"type":"string","description":"Sets the PowerBI Embedded's pricing level's SKU. Possible values include: `A1`, `A2`, `A3`, `A4`, `A5`, `A6`, `A7` and `A8`.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"requiredInputs":["administrators","resourceGroupName","skuName"],"stateInputs":{"description":"Input properties used for looking up and filtering Embedded resources.\n","properties":{"administrators":{"type":"array","items":{"type":"string"},"description":"A set of administrator user identities, which manages the Power BI Embedded and must be a member user or a service principal in your AAD tenant.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"mode":{"type":"string","description":"Sets the PowerBI Embedded's mode. Possible values include: `Gen1`, `Gen2`. Defaults to `Gen1`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the PowerBI Embedded. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the PowerBI Embedded should be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"skuName":{"type":"string","description":"Sets the PowerBI Embedded's pricing level's SKU. Possible values include: `A1`, `A2`, `A3`, `A4`, `A5`, `A6`, `A7` and `A8`.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"type":"object"}},"azure:privatedns/aAAARecord:AAAARecord":{"description":"Enables you to manage DNS AAAA Records within Azure Private DNS.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst test = new azure.privatedns.Zone(\"test\", {\n    name: \"mydomain.com\",\n    resourceGroupName: example.name,\n});\nconst testAAAARecord = new azure.privatedns.AAAARecord(\"test\", {\n    name: \"test\",\n    zoneName: test.name,\n    resourceGroupName: example.name,\n    ttl: 300,\n    records: [\n        \"fd5d:70bc:930e:d008:0000:0000:0000:7334\",\n        \"fd5d:70bc:930e:d008::7335\",\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\ntest = azure.privatedns.Zone(\"test\",\n    name=\"mydomain.com\",\n    resource_group_name=example.name)\ntest_aaaa_record = azure.privatedns.AAAARecord(\"test\",\n    name=\"test\",\n    zone_name=test.name,\n    resource_group_name=example.name,\n    ttl=300,\n    records=[\n        \"fd5d:70bc:930e:d008:0000:0000:0000:7334\",\n        \"fd5d:70bc:930e:d008::7335\",\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var test = new Azure.PrivateDns.Zone(\"test\", new()\n    {\n        Name = \"mydomain.com\",\n        ResourceGroupName = example.Name,\n    });\n\n    var testAAAARecord = new Azure.PrivateDns.AAAARecord(\"test\", new()\n    {\n        Name = \"test\",\n        ZoneName = test.Name,\n        ResourceGroupName = example.Name,\n        Ttl = 300,\n        Records = new[]\n        {\n            \"fd5d:70bc:930e:d008:0000:0000:0000:7334\",\n            \"fd5d:70bc:930e:d008::7335\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/privatedns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttest, err := privatedns.NewZone(ctx, \"test\", \u0026privatedns.ZoneArgs{\n\t\t\tName:              pulumi.String(\"mydomain.com\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = privatedns.NewAAAARecord(ctx, \"test\", \u0026privatedns.AAAARecordArgs{\n\t\t\tName:              pulumi.String(\"test\"),\n\t\t\tZoneName:          test.Name,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tTtl:               pulumi.Int(300),\n\t\t\tRecords: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"fd5d:70bc:930e:d008:0000:0000:0000:7334\"),\n\t\t\t\tpulumi.String(\"fd5d:70bc:930e:d008::7335\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.privatedns.Zone;\nimport com.pulumi.azure.privatedns.ZoneArgs;\nimport com.pulumi.azure.privatedns.AAAARecord;\nimport com.pulumi.azure.privatedns.AAAARecordArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var test = new Zone(\"test\", ZoneArgs.builder()\n            .name(\"mydomain.com\")\n            .resourceGroupName(example.name())\n            .build());\n\n        var testAAAARecord = new AAAARecord(\"testAAAARecord\", AAAARecordArgs.builder()\n            .name(\"test\")\n            .zoneName(test.name())\n            .resourceGroupName(example.name())\n            .ttl(300)\n            .records(            \n                \"fd5d:70bc:930e:d008:0000:0000:0000:7334\",\n                \"fd5d:70bc:930e:d008::7335\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  test:\n    type: azure:privatedns:Zone\n    properties:\n      name: mydomain.com\n      resourceGroupName: ${example.name}\n  testAAAARecord:\n    type: azure:privatedns:AAAARecord\n    name: test\n    properties:\n      name: test\n      zoneName: ${test.name}\n      resourceGroupName: ${example.name}\n      ttl: 300\n      records:\n        - fd5d:70bc:930e:d008:0000:0000:0000:7334\n        - fd5d:70bc:930e:d008::7335\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2024-06-01\n\n## Import\n\nPrivate DNS AAAA Records can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:privatedns/aAAARecord:AAAARecord test /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Network/privateDnsZones/zone1/AAAA/myrecord1\n```\n\n","properties":{"fqdn":{"type":"string","description":"The FQDN of the DNS AAAA Record.\n"},"name":{"type":"string","description":"The name of the DNS A Record. Changing this forces a new resource to be created.\n"},"records":{"type":"array","items":{"type":"string"},"description":"A list of IPv6 Addresses.\n"},"resourceGroupName":{"type":"string","description":"Specifies the resource group where the resource exists. Changing this forces a new resource to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"ttl":{"type":"integer","description":"The Time To Live (TTL) of the DNS record in seconds.\n"},"zoneName":{"type":"string","description":"Specifies the Private DNS Zone where the resource exists. Changing this forces a new resource to be created.\n"}},"required":["fqdn","name","records","resourceGroupName","ttl","zoneName"],"inputProperties":{"name":{"type":"string","description":"The name of the DNS A Record. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"records":{"type":"array","items":{"type":"string"},"description":"A list of IPv6 Addresses.\n"},"resourceGroupName":{"type":"string","description":"Specifies the resource group where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"ttl":{"type":"integer","description":"The Time To Live (TTL) of the DNS record in seconds.\n"},"zoneName":{"type":"string","description":"Specifies the Private DNS Zone where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["records","resourceGroupName","ttl","zoneName"],"stateInputs":{"description":"Input properties used for looking up and filtering AAAARecord resources.\n","properties":{"fqdn":{"type":"string","description":"The FQDN of the DNS AAAA Record.\n"},"name":{"type":"string","description":"The name of the DNS A Record. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"records":{"type":"array","items":{"type":"string"},"description":"A list of IPv6 Addresses.\n"},"resourceGroupName":{"type":"string","description":"Specifies the resource group where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"ttl":{"type":"integer","description":"The Time To Live (TTL) of the DNS record in seconds.\n"},"zoneName":{"type":"string","description":"Specifies the Private DNS Zone where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:privatedns/aRecord:ARecord":{"description":"Enables you to manage DNS A Records within Azure Private DNS.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleZone = new azure.privatedns.Zone(\"example\", {\n    name: \"mydomain.com\",\n    resourceGroupName: example.name,\n});\nconst exampleARecord = new azure.privatedns.ARecord(\"example\", {\n    name: \"test\",\n    zoneName: exampleZone.name,\n    resourceGroupName: example.name,\n    ttl: 300,\n    records: [\"10.0.180.17\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_zone = azure.privatedns.Zone(\"example\",\n    name=\"mydomain.com\",\n    resource_group_name=example.name)\nexample_a_record = azure.privatedns.ARecord(\"example\",\n    name=\"test\",\n    zone_name=example_zone.name,\n    resource_group_name=example.name,\n    ttl=300,\n    records=[\"10.0.180.17\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleZone = new Azure.PrivateDns.Zone(\"example\", new()\n    {\n        Name = \"mydomain.com\",\n        ResourceGroupName = example.Name,\n    });\n\n    var exampleARecord = new Azure.PrivateDns.ARecord(\"example\", new()\n    {\n        Name = \"test\",\n        ZoneName = exampleZone.Name,\n        ResourceGroupName = example.Name,\n        Ttl = 300,\n        Records = new[]\n        {\n            \"10.0.180.17\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/privatedns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleZone, err := privatedns.NewZone(ctx, \"example\", \u0026privatedns.ZoneArgs{\n\t\t\tName:              pulumi.String(\"mydomain.com\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = privatedns.NewARecord(ctx, \"example\", \u0026privatedns.ARecordArgs{\n\t\t\tName:              pulumi.String(\"test\"),\n\t\t\tZoneName:          exampleZone.Name,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tTtl:               pulumi.Int(300),\n\t\t\tRecords: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.180.17\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.privatedns.Zone;\nimport com.pulumi.azure.privatedns.ZoneArgs;\nimport com.pulumi.azure.privatedns.ARecord;\nimport com.pulumi.azure.privatedns.ARecordArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleZone = new Zone(\"exampleZone\", ZoneArgs.builder()\n            .name(\"mydomain.com\")\n            .resourceGroupName(example.name())\n            .build());\n\n        var exampleARecord = new ARecord(\"exampleARecord\", ARecordArgs.builder()\n            .name(\"test\")\n            .zoneName(exampleZone.name())\n            .resourceGroupName(example.name())\n            .ttl(300)\n            .records(\"10.0.180.17\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleZone:\n    type: azure:privatedns:Zone\n    name: example\n    properties:\n      name: mydomain.com\n      resourceGroupName: ${example.name}\n  exampleARecord:\n    type: azure:privatedns:ARecord\n    name: example\n    properties:\n      name: test\n      zoneName: ${exampleZone.name}\n      resourceGroupName: ${example.name}\n      ttl: 300\n      records:\n        - 10.0.180.17\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2024-06-01\n\n## Import\n\nPrivate DNS A Records can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:privatedns/aRecord:ARecord example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Network/privateDnsZones/zone1/A/myrecord1\n```\n\n","properties":{"fqdn":{"type":"string","description":"The FQDN of the DNS A Record.\n"},"name":{"type":"string","description":"The name of the DNS A Record. Changing this forces a new resource to be created.\n"},"records":{"type":"array","items":{"type":"string"},"description":"List of IPv4 Addresses.\n"},"resourceGroupName":{"type":"string","description":"Specifies the resource group where the Private DNS Zone exists. Changing this forces a new resource to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"ttl":{"type":"integer","description":"The Time To Live (TTL) of the DNS record in seconds.\n"},"zoneName":{"type":"string","description":"Specifies the Private DNS Zone where the resource exists. Changing this forces a new resource to be created.\n"}},"required":["fqdn","name","records","resourceGroupName","ttl","zoneName"],"inputProperties":{"name":{"type":"string","description":"The name of the DNS A Record. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"records":{"type":"array","items":{"type":"string"},"description":"List of IPv4 Addresses.\n"},"resourceGroupName":{"type":"string","description":"Specifies the resource group where the Private DNS Zone exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"ttl":{"type":"integer","description":"The Time To Live (TTL) of the DNS record in seconds.\n"},"zoneName":{"type":"string","description":"Specifies the Private DNS Zone where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["records","resourceGroupName","ttl","zoneName"],"stateInputs":{"description":"Input properties used for looking up and filtering ARecord resources.\n","properties":{"fqdn":{"type":"string","description":"The FQDN of the DNS A Record.\n"},"name":{"type":"string","description":"The name of the DNS A Record. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"records":{"type":"array","items":{"type":"string"},"description":"List of IPv4 Addresses.\n"},"resourceGroupName":{"type":"string","description":"Specifies the resource group where the Private DNS Zone exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"ttl":{"type":"integer","description":"The Time To Live (TTL) of the DNS record in seconds.\n"},"zoneName":{"type":"string","description":"Specifies the Private DNS Zone where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:privatedns/cnameRecord:CnameRecord":{"description":"Enables you to manage DNS CNAME Records within Azure Private DNS.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleZone = new azure.privatedns.Zone(\"example\", {\n    name: \"mydomain.com\",\n    resourceGroupName: example.name,\n});\nconst exampleCnameRecord = new azure.privatedns.CnameRecord(\"example\", {\n    name: \"test\",\n    zoneName: exampleZone.name,\n    resourceGroupName: example.name,\n    ttl: 300,\n    record: \"contoso.com\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_zone = azure.privatedns.Zone(\"example\",\n    name=\"mydomain.com\",\n    resource_group_name=example.name)\nexample_cname_record = azure.privatedns.CnameRecord(\"example\",\n    name=\"test\",\n    zone_name=example_zone.name,\n    resource_group_name=example.name,\n    ttl=300,\n    record=\"contoso.com\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleZone = new Azure.PrivateDns.Zone(\"example\", new()\n    {\n        Name = \"mydomain.com\",\n        ResourceGroupName = example.Name,\n    });\n\n    var exampleCnameRecord = new Azure.PrivateDns.CnameRecord(\"example\", new()\n    {\n        Name = \"test\",\n        ZoneName = exampleZone.Name,\n        ResourceGroupName = example.Name,\n        Ttl = 300,\n        Record = \"contoso.com\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/privatedns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleZone, err := privatedns.NewZone(ctx, \"example\", \u0026privatedns.ZoneArgs{\n\t\t\tName:              pulumi.String(\"mydomain.com\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = privatedns.NewCnameRecord(ctx, \"example\", \u0026privatedns.CnameRecordArgs{\n\t\t\tName:              pulumi.String(\"test\"),\n\t\t\tZoneName:          exampleZone.Name,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tTtl:               pulumi.Int(300),\n\t\t\tRecord:            pulumi.String(\"contoso.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.privatedns.Zone;\nimport com.pulumi.azure.privatedns.ZoneArgs;\nimport com.pulumi.azure.privatedns.CnameRecord;\nimport com.pulumi.azure.privatedns.CnameRecordArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleZone = new Zone(\"exampleZone\", ZoneArgs.builder()\n            .name(\"mydomain.com\")\n            .resourceGroupName(example.name())\n            .build());\n\n        var exampleCnameRecord = new CnameRecord(\"exampleCnameRecord\", CnameRecordArgs.builder()\n            .name(\"test\")\n            .zoneName(exampleZone.name())\n            .resourceGroupName(example.name())\n            .ttl(300)\n            .record(\"contoso.com\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleZone:\n    type: azure:privatedns:Zone\n    name: example\n    properties:\n      name: mydomain.com\n      resourceGroupName: ${example.name}\n  exampleCnameRecord:\n    type: azure:privatedns:CnameRecord\n    name: example\n    properties:\n      name: test\n      zoneName: ${exampleZone.name}\n      resourceGroupName: ${example.name}\n      ttl: 300\n      record: contoso.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2024-06-01\n\n## Import\n\nPrivate DNS CName Records can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:privatedns/cnameRecord:CnameRecord example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Network/privateDnsZones/zone1/CNAME/myrecord1\n```\n\n","properties":{"fqdn":{"type":"string","description":"The FQDN of the DNS CNAME Record.\n"},"name":{"type":"string","description":"The name of the DNS CNAME Record. Changing this forces a new resource to be created.\n"},"record":{"type":"string","description":"The target of the CNAME.\n"},"resourceGroupName":{"type":"string","description":"Specifies the resource group where the resource exists. Changing this forces a new resource to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"ttl":{"type":"integer","description":"The Time To Live (TTL) of the DNS record in seconds. Possible values are between \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`2147483647`\" pulumi-lang-dotnet=\"`2147483647`\" pulumi-lang-go=\"`2147483647`\" pulumi-lang-python=\"`2147483647`\" pulumi-lang-yaml=\"`2147483647`\" pulumi-lang-java=\"`2147483647`\"\u003e`2147483647`\u003c/span\u003e.\n"},"zoneName":{"type":"string","description":"Specifies the Private DNS Zone where the resource exists. Changing this forces a new resource to be created.\n"}},"required":["fqdn","name","record","resourceGroupName","ttl","zoneName"],"inputProperties":{"name":{"type":"string","description":"The name of the DNS CNAME Record. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"record":{"type":"string","description":"The target of the CNAME.\n"},"resourceGroupName":{"type":"string","description":"Specifies the resource group where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"ttl":{"type":"integer","description":"The Time To Live (TTL) of the DNS record in seconds. Possible values are between \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`2147483647`\" pulumi-lang-dotnet=\"`2147483647`\" pulumi-lang-go=\"`2147483647`\" pulumi-lang-python=\"`2147483647`\" pulumi-lang-yaml=\"`2147483647`\" pulumi-lang-java=\"`2147483647`\"\u003e`2147483647`\u003c/span\u003e.\n"},"zoneName":{"type":"string","description":"Specifies the Private DNS Zone where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["record","resourceGroupName","ttl","zoneName"],"stateInputs":{"description":"Input properties used for looking up and filtering CnameRecord resources.\n","properties":{"fqdn":{"type":"string","description":"The FQDN of the DNS CNAME Record.\n"},"name":{"type":"string","description":"The name of the DNS CNAME Record. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"record":{"type":"string","description":"The target of the CNAME.\n"},"resourceGroupName":{"type":"string","description":"Specifies the resource group where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"ttl":{"type":"integer","description":"The Time To Live (TTL) of the DNS record in seconds. Possible values are between \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`2147483647`\" pulumi-lang-dotnet=\"`2147483647`\" pulumi-lang-go=\"`2147483647`\" pulumi-lang-python=\"`2147483647`\" pulumi-lang-yaml=\"`2147483647`\" pulumi-lang-java=\"`2147483647`\"\u003e`2147483647`\u003c/span\u003e.\n"},"zoneName":{"type":"string","description":"Specifies the Private DNS Zone where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:privatedns/linkService:LinkService":{"description":"Manages a Private Link Service.\n\n\u003e **Note:** Private Link is now in [GA](https://docs.microsoft.com/en-gb/azure/private-link/).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"example\", {\n    name: \"example-network\",\n    resourceGroupName: example.name,\n    location: example.location,\n    addressSpaces: [\"10.5.0.0/16\"],\n});\nconst exampleSubnet = new azure.network.Subnet(\"example\", {\n    name: \"example-subnet\",\n    resourceGroupName: example.name,\n    virtualNetworkName: exampleVirtualNetwork.name,\n    addressPrefixes: [\"10.5.1.0/24\"],\n    enforcePrivateLinkServiceNetworkPolicies: true,\n});\nconst examplePublicIp = new azure.network.PublicIp(\"example\", {\n    name: \"example-api\",\n    sku: \"Standard\",\n    location: example.location,\n    resourceGroupName: example.name,\n    allocationMethod: \"Static\",\n});\nconst exampleLoadBalancer = new azure.lb.LoadBalancer(\"example\", {\n    name: \"example-lb\",\n    sku: \"Standard\",\n    location: example.location,\n    resourceGroupName: example.name,\n    frontendIpConfigurations: [{\n        name: examplePublicIp.name,\n        publicIpAddressId: examplePublicIp.id,\n    }],\n});\nconst exampleLinkService = new azure.privatedns.LinkService(\"example\", {\n    name: \"example-privatelink\",\n    resourceGroupName: example.name,\n    location: example.location,\n    autoApprovalSubscriptionIds: [\"00000000-0000-0000-0000-000000000000\"],\n    visibilitySubscriptionIds: [\"00000000-0000-0000-0000-000000000000\"],\n    loadBalancerFrontendIpConfigurationIds: [exampleLoadBalancer.frontendIpConfigurations.apply(frontendIpConfigurations =\u003e frontendIpConfigurations?.[0]?.id)],\n    natIpConfigurations: [\n        {\n            name: \"primary\",\n            privateIpAddress: \"10.5.1.17\",\n            privateIpAddressVersion: \"IPv4\",\n            subnetId: exampleSubnet.id,\n            primary: true,\n        },\n        {\n            name: \"secondary\",\n            privateIpAddress: \"10.5.1.18\",\n            privateIpAddressVersion: \"IPv4\",\n            subnetId: exampleSubnet.id,\n            primary: false,\n        },\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_virtual_network = azure.network.VirtualNetwork(\"example\",\n    name=\"example-network\",\n    resource_group_name=example.name,\n    location=example.location,\n    address_spaces=[\"10.5.0.0/16\"])\nexample_subnet = azure.network.Subnet(\"example\",\n    name=\"example-subnet\",\n    resource_group_name=example.name,\n    virtual_network_name=example_virtual_network.name,\n    address_prefixes=[\"10.5.1.0/24\"],\n    enforce_private_link_service_network_policies=True)\nexample_public_ip = azure.network.PublicIp(\"example\",\n    name=\"example-api\",\n    sku=\"Standard\",\n    location=example.location,\n    resource_group_name=example.name,\n    allocation_method=\"Static\")\nexample_load_balancer = azure.lb.LoadBalancer(\"example\",\n    name=\"example-lb\",\n    sku=\"Standard\",\n    location=example.location,\n    resource_group_name=example.name,\n    frontend_ip_configurations=[{\n        \"name\": example_public_ip.name,\n        \"public_ip_address_id\": example_public_ip.id,\n    }])\nexample_link_service = azure.privatedns.LinkService(\"example\",\n    name=\"example-privatelink\",\n    resource_group_name=example.name,\n    location=example.location,\n    auto_approval_subscription_ids=[\"00000000-0000-0000-0000-000000000000\"],\n    visibility_subscription_ids=[\"00000000-0000-0000-0000-000000000000\"],\n    load_balancer_frontend_ip_configuration_ids=[example_load_balancer.frontend_ip_configurations[0].id],\n    nat_ip_configurations=[\n        {\n            \"name\": \"primary\",\n            \"private_ip_address\": \"10.5.1.17\",\n            \"private_ip_address_version\": \"IPv4\",\n            \"subnet_id\": example_subnet.id,\n            \"primary\": True,\n        },\n        {\n            \"name\": \"secondary\",\n            \"private_ip_address\": \"10.5.1.18\",\n            \"private_ip_address_version\": \"IPv4\",\n            \"subnet_id\": example_subnet.id,\n            \"primary\": False,\n        },\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleVirtualNetwork = new Azure.Network.VirtualNetwork(\"example\", new()\n    {\n        Name = \"example-network\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        AddressSpaces = new[]\n        {\n            \"10.5.0.0/16\",\n        },\n    });\n\n    var exampleSubnet = new Azure.Network.Subnet(\"example\", new()\n    {\n        Name = \"example-subnet\",\n        ResourceGroupName = example.Name,\n        VirtualNetworkName = exampleVirtualNetwork.Name,\n        AddressPrefixes = new[]\n        {\n            \"10.5.1.0/24\",\n        },\n        EnforcePrivateLinkServiceNetworkPolicies = true,\n    });\n\n    var examplePublicIp = new Azure.Network.PublicIp(\"example\", new()\n    {\n        Name = \"example-api\",\n        Sku = \"Standard\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        AllocationMethod = \"Static\",\n    });\n\n    var exampleLoadBalancer = new Azure.Lb.LoadBalancer(\"example\", new()\n    {\n        Name = \"example-lb\",\n        Sku = \"Standard\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        FrontendIpConfigurations = new[]\n        {\n            new Azure.Lb.Inputs.LoadBalancerFrontendIpConfigurationArgs\n            {\n                Name = examplePublicIp.Name,\n                PublicIpAddressId = examplePublicIp.Id,\n            },\n        },\n    });\n\n    var exampleLinkService = new Azure.PrivateDns.LinkService(\"example\", new()\n    {\n        Name = \"example-privatelink\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        AutoApprovalSubscriptionIds = new[]\n        {\n            \"00000000-0000-0000-0000-000000000000\",\n        },\n        VisibilitySubscriptionIds = new[]\n        {\n            \"00000000-0000-0000-0000-000000000000\",\n        },\n        LoadBalancerFrontendIpConfigurationIds = new[]\n        {\n            exampleLoadBalancer.FrontendIpConfigurations.Apply(frontendIpConfigurations =\u003e frontendIpConfigurations[0]?.Id),\n        },\n        NatIpConfigurations = new[]\n        {\n            new Azure.PrivateDns.Inputs.LinkServiceNatIpConfigurationArgs\n            {\n                Name = \"primary\",\n                PrivateIpAddress = \"10.5.1.17\",\n                PrivateIpAddressVersion = \"IPv4\",\n                SubnetId = exampleSubnet.Id,\n                Primary = true,\n            },\n            new Azure.PrivateDns.Inputs.LinkServiceNatIpConfigurationArgs\n            {\n                Name = \"secondary\",\n                PrivateIpAddress = \"10.5.1.18\",\n                PrivateIpAddressVersion = \"IPv4\",\n                SubnetId = exampleSubnet.Id,\n                Primary = false,\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/lb\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/privatedns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, \"example\", \u0026network.VirtualNetworkArgs{\n\t\t\tName:              pulumi.String(\"example-network\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tAddressSpaces: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.5.0.0/16\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSubnet, err := network.NewSubnet(ctx, \"example\", \u0026network.SubnetArgs{\n\t\t\tName:               pulumi.String(\"example-subnet\"),\n\t\t\tResourceGroupName:  example.Name,\n\t\t\tVirtualNetworkName: exampleVirtualNetwork.Name,\n\t\t\tAddressPrefixes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.5.1.0/24\"),\n\t\t\t},\n\t\t\tEnforcePrivateLinkServiceNetworkPolicies: true,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texamplePublicIp, err := network.NewPublicIp(ctx, \"example\", \u0026network.PublicIpArgs{\n\t\t\tName:              pulumi.String(\"example-api\"),\n\t\t\tSku:               pulumi.String(\"Standard\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tAllocationMethod:  pulumi.String(\"Static\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleLoadBalancer, err := lb.NewLoadBalancer(ctx, \"example\", \u0026lb.LoadBalancerArgs{\n\t\t\tName:              pulumi.String(\"example-lb\"),\n\t\t\tSku:               pulumi.String(\"Standard\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tFrontendIpConfigurations: lb.LoadBalancerFrontendIpConfigurationArray{\n\t\t\t\t\u0026lb.LoadBalancerFrontendIpConfigurationArgs{\n\t\t\t\t\tName:              examplePublicIp.Name,\n\t\t\t\t\tPublicIpAddressId: examplePublicIp.ID(),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = privatedns.NewLinkService(ctx, \"example\", \u0026privatedns.LinkServiceArgs{\n\t\t\tName:              pulumi.String(\"example-privatelink\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tAutoApprovalSubscriptionIds: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"00000000-0000-0000-0000-000000000000\"),\n\t\t\t},\n\t\t\tVisibilitySubscriptionIds: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"00000000-0000-0000-0000-000000000000\"),\n\t\t\t},\n\t\t\tLoadBalancerFrontendIpConfigurationIds: pulumi.StringArray{\n\t\t\t\tpulumi.String(exampleLoadBalancer.FrontendIpConfigurations.ApplyT(func(frontendIpConfigurations []lb.LoadBalancerFrontendIpConfiguration) (*string, error) {\n\t\t\t\t\treturn \u0026frontendIpConfigurations[0].Id, nil\n\t\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\t},\n\t\t\tNatIpConfigurations: privatedns.LinkServiceNatIpConfigurationArray{\n\t\t\t\t\u0026privatedns.LinkServiceNatIpConfigurationArgs{\n\t\t\t\t\tName:                    pulumi.String(\"primary\"),\n\t\t\t\t\tPrivateIpAddress:        pulumi.String(\"10.5.1.17\"),\n\t\t\t\t\tPrivateIpAddressVersion: pulumi.String(\"IPv4\"),\n\t\t\t\t\tSubnetId:                exampleSubnet.ID(),\n\t\t\t\t\tPrimary:                 pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t\t\u0026privatedns.LinkServiceNatIpConfigurationArgs{\n\t\t\t\t\tName:                    pulumi.String(\"secondary\"),\n\t\t\t\t\tPrivateIpAddress:        pulumi.String(\"10.5.1.18\"),\n\t\t\t\t\tPrivateIpAddressVersion: pulumi.String(\"IPv4\"),\n\t\t\t\t\tSubnetId:                exampleSubnet.ID(),\n\t\t\t\t\tPrimary:                 pulumi.Bool(false),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.VirtualNetwork;\nimport com.pulumi.azure.network.VirtualNetworkArgs;\nimport com.pulumi.azure.network.Subnet;\nimport com.pulumi.azure.network.SubnetArgs;\nimport com.pulumi.azure.network.PublicIp;\nimport com.pulumi.azure.network.PublicIpArgs;\nimport com.pulumi.azure.lb.LoadBalancer;\nimport com.pulumi.azure.lb.LoadBalancerArgs;\nimport com.pulumi.azure.lb.inputs.LoadBalancerFrontendIpConfigurationArgs;\nimport com.pulumi.azure.privatedns.LinkService;\nimport com.pulumi.azure.privatedns.LinkServiceArgs;\nimport com.pulumi.azure.privatedns.inputs.LinkServiceNatIpConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleVirtualNetwork = new VirtualNetwork(\"exampleVirtualNetwork\", VirtualNetworkArgs.builder()\n            .name(\"example-network\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .addressSpaces(\"10.5.0.0/16\")\n            .build());\n\n        var exampleSubnet = new Subnet(\"exampleSubnet\", SubnetArgs.builder()\n            .name(\"example-subnet\")\n            .resourceGroupName(example.name())\n            .virtualNetworkName(exampleVirtualNetwork.name())\n            .addressPrefixes(\"10.5.1.0/24\")\n            .enforcePrivateLinkServiceNetworkPolicies(true)\n            .build());\n\n        var examplePublicIp = new PublicIp(\"examplePublicIp\", PublicIpArgs.builder()\n            .name(\"example-api\")\n            .sku(\"Standard\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .allocationMethod(\"Static\")\n            .build());\n\n        var exampleLoadBalancer = new LoadBalancer(\"exampleLoadBalancer\", LoadBalancerArgs.builder()\n            .name(\"example-lb\")\n            .sku(\"Standard\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .frontendIpConfigurations(LoadBalancerFrontendIpConfigurationArgs.builder()\n                .name(examplePublicIp.name())\n                .publicIpAddressId(examplePublicIp.id())\n                .build())\n            .build());\n\n        var exampleLinkService = new LinkService(\"exampleLinkService\", LinkServiceArgs.builder()\n            .name(\"example-privatelink\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .autoApprovalSubscriptionIds(\"00000000-0000-0000-0000-000000000000\")\n            .visibilitySubscriptionIds(\"00000000-0000-0000-0000-000000000000\")\n            .loadBalancerFrontendIpConfigurationIds(exampleLoadBalancer.frontendIpConfigurations().applyValue(_frontendIpConfigurations -\u003e _frontendIpConfigurations[0].id()))\n            .natIpConfigurations(            \n                LinkServiceNatIpConfigurationArgs.builder()\n                    .name(\"primary\")\n                    .privateIpAddress(\"10.5.1.17\")\n                    .privateIpAddressVersion(\"IPv4\")\n                    .subnetId(exampleSubnet.id())\n                    .primary(true)\n                    .build(),\n                LinkServiceNatIpConfigurationArgs.builder()\n                    .name(\"secondary\")\n                    .privateIpAddress(\"10.5.1.18\")\n                    .privateIpAddressVersion(\"IPv4\")\n                    .subnetId(exampleSubnet.id())\n                    .primary(false)\n                    .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleVirtualNetwork:\n    type: azure:network:VirtualNetwork\n    name: example\n    properties:\n      name: example-network\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      addressSpaces:\n        - 10.5.0.0/16\n  exampleSubnet:\n    type: azure:network:Subnet\n    name: example\n    properties:\n      name: example-subnet\n      resourceGroupName: ${example.name}\n      virtualNetworkName: ${exampleVirtualNetwork.name}\n      addressPrefixes:\n        - 10.5.1.0/24\n      enforcePrivateLinkServiceNetworkPolicies: true\n  examplePublicIp:\n    type: azure:network:PublicIp\n    name: example\n    properties:\n      name: example-api\n      sku: Standard\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      allocationMethod: Static\n  exampleLoadBalancer:\n    type: azure:lb:LoadBalancer\n    name: example\n    properties:\n      name: example-lb\n      sku: Standard\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      frontendIpConfigurations:\n        - name: ${examplePublicIp.name}\n          publicIpAddressId: ${examplePublicIp.id}\n  exampleLinkService:\n    type: azure:privatedns:LinkService\n    name: example\n    properties:\n      name: example-privatelink\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      autoApprovalSubscriptionIds:\n        - 00000000-0000-0000-0000-000000000000\n      visibilitySubscriptionIds:\n        - 00000000-0000-0000-0000-000000000000\n      loadBalancerFrontendIpConfigurationIds:\n        - ${exampleLoadBalancer.frontendIpConfigurations[0].id}\n      natIpConfigurations:\n        - name: primary\n          privateIpAddress: 10.5.1.17\n          privateIpAddressVersion: IPv4\n          subnetId: ${exampleSubnet.id}\n          primary: true\n        - name: secondary\n          privateIpAddress: 10.5.1.18\n          privateIpAddressVersion: IPv4\n          subnetId: ${exampleSubnet.id}\n          primary: false\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2025-01-01\n\n## Import\n\nPrivate Link Services can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:privatedns/linkService:LinkService example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Network/privateLinkServices/service1\n```\n\n","properties":{"alias":{"type":"string","description":"A globally unique DNS Name for your Private Link Service. You can use this alias to request a connection to your Private Link Service.\n"},"autoApprovalSubscriptionIds":{"type":"array","items":{"type":"string"},"description":"A list of Subscription UUID/GUID's that will be automatically be able to use this Private Link Service.\n"},"destinationIpAddress":{"type":"string","description":"The destination IP address of the Private Link Service.\n"},"enableProxyProtocol":{"type":"boolean","description":"Should the Private Link Service support the Proxy Protocol?\n"},"fqdns":{"type":"array","items":{"type":"string"},"description":"List of FQDNs allowed for the Private Link Service.\n"},"loadBalancerFrontendIpConfigurationIds":{"type":"array","items":{"type":"string"},"description":"A list of Frontend IP Configuration IDs from a Standard Load Balancer, where traffic from the Private Link Service should be routed. You can use Load Balancer Rules to direct this traffic to appropriate backend pools where your applications are running. Changing this forces a new resource to be created.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"Specifies the name of this Private Link Service. Changing this forces a new resource to be created.\n"},"natIpConfigurations":{"type":"array","items":{"$ref":"#/types/azure:privatedns/LinkServiceNatIpConfiguration:LinkServiceNatIpConfiguration"},"description":"One or more (up to 8) \u003cspan pulumi-lang-nodejs=\"`natIpConfiguration`\" pulumi-lang-dotnet=\"`NatIpConfiguration`\" pulumi-lang-go=\"`natIpConfiguration`\" pulumi-lang-python=\"`nat_ip_configuration`\" pulumi-lang-yaml=\"`natIpConfiguration`\" pulumi-lang-java=\"`natIpConfiguration`\"\u003e`nat_ip_configuration`\u003c/span\u003e block as defined below.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Private Link Service should exist. Changing this forces a new resource to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"visibilitySubscriptionIds":{"type":"array","items":{"type":"string"},"description":"A list of Subscription UUID/GUID's that will be able to see this Private Link Service.\n\n\u003e **Note:** If no Subscription IDs are specified then Azure allows every Subscription to see this Private Link Service.\n"}},"required":["alias","location","name","natIpConfigurations","resourceGroupName"],"inputProperties":{"autoApprovalSubscriptionIds":{"type":"array","items":{"type":"string"},"description":"A list of Subscription UUID/GUID's that will be automatically be able to use this Private Link Service.\n"},"destinationIpAddress":{"type":"string","description":"The destination IP address of the Private Link Service.\n"},"enableProxyProtocol":{"type":"boolean","description":"Should the Private Link Service support the Proxy Protocol?\n"},"fqdns":{"type":"array","items":{"type":"string"},"description":"List of FQDNs allowed for the Private Link Service.\n"},"loadBalancerFrontendIpConfigurationIds":{"type":"array","items":{"type":"string"},"description":"A list of Frontend IP Configuration IDs from a Standard Load Balancer, where traffic from the Private Link Service should be routed. You can use Load Balancer Rules to direct this traffic to appropriate backend pools where your applications are running. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of this Private Link Service. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"natIpConfigurations":{"type":"array","items":{"$ref":"#/types/azure:privatedns/LinkServiceNatIpConfiguration:LinkServiceNatIpConfiguration"},"description":"One or more (up to 8) \u003cspan pulumi-lang-nodejs=\"`natIpConfiguration`\" pulumi-lang-dotnet=\"`NatIpConfiguration`\" pulumi-lang-go=\"`natIpConfiguration`\" pulumi-lang-python=\"`nat_ip_configuration`\" pulumi-lang-yaml=\"`natIpConfiguration`\" pulumi-lang-java=\"`natIpConfiguration`\"\u003e`nat_ip_configuration`\u003c/span\u003e block as defined below.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Private Link Service should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"visibilitySubscriptionIds":{"type":"array","items":{"type":"string"},"description":"A list of Subscription UUID/GUID's that will be able to see this Private Link Service.\n\n\u003e **Note:** If no Subscription IDs are specified then Azure allows every Subscription to see this Private Link Service.\n"}},"requiredInputs":["natIpConfigurations","resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering LinkService resources.\n","properties":{"alias":{"type":"string","description":"A globally unique DNS Name for your Private Link Service. You can use this alias to request a connection to your Private Link Service.\n"},"autoApprovalSubscriptionIds":{"type":"array","items":{"type":"string"},"description":"A list of Subscription UUID/GUID's that will be automatically be able to use this Private Link Service.\n"},"destinationIpAddress":{"type":"string","description":"The destination IP address of the Private Link Service.\n"},"enableProxyProtocol":{"type":"boolean","description":"Should the Private Link Service support the Proxy Protocol?\n"},"fqdns":{"type":"array","items":{"type":"string"},"description":"List of FQDNs allowed for the Private Link Service.\n"},"loadBalancerFrontendIpConfigurationIds":{"type":"array","items":{"type":"string"},"description":"A list of Frontend IP Configuration IDs from a Standard Load Balancer, where traffic from the Private Link Service should be routed. You can use Load Balancer Rules to direct this traffic to appropriate backend pools where your applications are running. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of this Private Link Service. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"natIpConfigurations":{"type":"array","items":{"$ref":"#/types/azure:privatedns/LinkServiceNatIpConfiguration:LinkServiceNatIpConfiguration"},"description":"One or more (up to 8) \u003cspan pulumi-lang-nodejs=\"`natIpConfiguration`\" pulumi-lang-dotnet=\"`NatIpConfiguration`\" pulumi-lang-go=\"`natIpConfiguration`\" pulumi-lang-python=\"`nat_ip_configuration`\" pulumi-lang-yaml=\"`natIpConfiguration`\" pulumi-lang-java=\"`natIpConfiguration`\"\u003e`nat_ip_configuration`\u003c/span\u003e block as defined below.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Private Link Service should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"visibilitySubscriptionIds":{"type":"array","items":{"type":"string"},"description":"A list of Subscription UUID/GUID's that will be able to see this Private Link Service.\n\n\u003e **Note:** If no Subscription IDs are specified then Azure allows every Subscription to see this Private Link Service.\n"}},"type":"object"}},"azure:privatedns/mxRecord:MxRecord":{"description":"Enables you to manage DNS MX Records within Azure Private DNS.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleZone = new azure.privatedns.Zone(\"example\", {\n    name: \"contoso.com\",\n    resourceGroupName: example.name,\n});\nconst exampleMxRecord = new azure.privatedns.MxRecord(\"example\", {\n    name: \"example\",\n    resourceGroupName: example.name,\n    zoneName: exampleZone.name,\n    ttl: 300,\n    records: [\n        {\n            preference: 10,\n            exchange: \"mx1.contoso.com\",\n        },\n        {\n            preference: 20,\n            exchange: \"backupmx.contoso.com\",\n        },\n    ],\n    tags: {\n        Environment: \"Production\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_zone = azure.privatedns.Zone(\"example\",\n    name=\"contoso.com\",\n    resource_group_name=example.name)\nexample_mx_record = azure.privatedns.MxRecord(\"example\",\n    name=\"example\",\n    resource_group_name=example.name,\n    zone_name=example_zone.name,\n    ttl=300,\n    records=[\n        {\n            \"preference\": 10,\n            \"exchange\": \"mx1.contoso.com\",\n        },\n        {\n            \"preference\": 20,\n            \"exchange\": \"backupmx.contoso.com\",\n        },\n    ],\n    tags={\n        \"Environment\": \"Production\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleZone = new Azure.PrivateDns.Zone(\"example\", new()\n    {\n        Name = \"contoso.com\",\n        ResourceGroupName = example.Name,\n    });\n\n    var exampleMxRecord = new Azure.PrivateDns.MxRecord(\"example\", new()\n    {\n        Name = \"example\",\n        ResourceGroupName = example.Name,\n        ZoneName = exampleZone.Name,\n        Ttl = 300,\n        Records = new[]\n        {\n            new Azure.PrivateDns.Inputs.MxRecordRecordArgs\n            {\n                Preference = 10,\n                Exchange = \"mx1.contoso.com\",\n            },\n            new Azure.PrivateDns.Inputs.MxRecordRecordArgs\n            {\n                Preference = 20,\n                Exchange = \"backupmx.contoso.com\",\n            },\n        },\n        Tags = \n        {\n            { \"Environment\", \"Production\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/privatedns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleZone, err := privatedns.NewZone(ctx, \"example\", \u0026privatedns.ZoneArgs{\n\t\t\tName:              pulumi.String(\"contoso.com\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = privatedns.NewMxRecord(ctx, \"example\", \u0026privatedns.MxRecordArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tZoneName:          exampleZone.Name,\n\t\t\tTtl:               pulumi.Int(300),\n\t\t\tRecords: privatedns.MxRecordRecordArray{\n\t\t\t\t\u0026privatedns.MxRecordRecordArgs{\n\t\t\t\t\tPreference: pulumi.Int(10),\n\t\t\t\t\tExchange:   pulumi.String(\"mx1.contoso.com\"),\n\t\t\t\t},\n\t\t\t\t\u0026privatedns.MxRecordRecordArgs{\n\t\t\t\t\tPreference: pulumi.Int(20),\n\t\t\t\t\tExchange:   pulumi.String(\"backupmx.contoso.com\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Environment\": pulumi.String(\"Production\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.privatedns.Zone;\nimport com.pulumi.azure.privatedns.ZoneArgs;\nimport com.pulumi.azure.privatedns.MxRecord;\nimport com.pulumi.azure.privatedns.MxRecordArgs;\nimport com.pulumi.azure.privatedns.inputs.MxRecordRecordArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleZone = new Zone(\"exampleZone\", ZoneArgs.builder()\n            .name(\"contoso.com\")\n            .resourceGroupName(example.name())\n            .build());\n\n        var exampleMxRecord = new MxRecord(\"exampleMxRecord\", MxRecordArgs.builder()\n            .name(\"example\")\n            .resourceGroupName(example.name())\n            .zoneName(exampleZone.name())\n            .ttl(300)\n            .records(            \n                MxRecordRecordArgs.builder()\n                    .preference(10)\n                    .exchange(\"mx1.contoso.com\")\n                    .build(),\n                MxRecordRecordArgs.builder()\n                    .preference(20)\n                    .exchange(\"backupmx.contoso.com\")\n                    .build())\n            .tags(Map.of(\"Environment\", \"Production\"))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleZone:\n    type: azure:privatedns:Zone\n    name: example\n    properties:\n      name: contoso.com\n      resourceGroupName: ${example.name}\n  exampleMxRecord:\n    type: azure:privatedns:MxRecord\n    name: example\n    properties:\n      name: example\n      resourceGroupName: ${example.name}\n      zoneName: ${exampleZone.name}\n      ttl: 300\n      records:\n        - preference: 10\n          exchange: mx1.contoso.com\n        - preference: 20\n          exchange: backupmx.contoso.com\n      tags:\n        Environment: Production\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2024-06-01\n\n## Import\n\nPrivate DNS MX Records can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:privatedns/mxRecord:MxRecord example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Network/privateDnsZones/contoso.com/MX/@\n```\n\n","properties":{"fqdn":{"type":"string","description":"The FQDN of the DNS MX Record.\n"},"name":{"type":"string","description":"The name of the DNS MX Record. Changing this forces a new resource to be created. Default to '@' for root zone entry.\n"},"records":{"type":"array","items":{"$ref":"#/types/azure:privatedns/MxRecordRecord:MxRecordRecord"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`record`\" pulumi-lang-dotnet=\"`Record`\" pulumi-lang-go=\"`record`\" pulumi-lang-python=\"`record`\" pulumi-lang-yaml=\"`record`\" pulumi-lang-java=\"`record`\"\u003e`record`\u003c/span\u003e blocks as defined below.\n"},"resourceGroupName":{"type":"string","description":"Specifies the resource group where the resource exists. Changing this forces a new resource to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"ttl":{"type":"integer","description":"The Time To Live (TTL) of the DNS record in seconds.\n"},"zoneName":{"type":"string","description":"Specifies the Private DNS Zone where the resource exists. Changing this forces a new resource to be created.\n"}},"required":["fqdn","name","records","resourceGroupName","ttl","zoneName"],"inputProperties":{"name":{"type":"string","description":"The name of the DNS MX Record. Changing this forces a new resource to be created. Default to '@' for root zone entry.\n","willReplaceOnChanges":true},"records":{"type":"array","items":{"$ref":"#/types/azure:privatedns/MxRecordRecord:MxRecordRecord"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`record`\" pulumi-lang-dotnet=\"`Record`\" pulumi-lang-go=\"`record`\" pulumi-lang-python=\"`record`\" pulumi-lang-yaml=\"`record`\" pulumi-lang-java=\"`record`\"\u003e`record`\u003c/span\u003e blocks as defined below.\n"},"resourceGroupName":{"type":"string","description":"Specifies the resource group where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"ttl":{"type":"integer","description":"The Time To Live (TTL) of the DNS record in seconds.\n"},"zoneName":{"type":"string","description":"Specifies the Private DNS Zone where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["records","resourceGroupName","ttl","zoneName"],"stateInputs":{"description":"Input properties used for looking up and filtering MxRecord resources.\n","properties":{"fqdn":{"type":"string","description":"The FQDN of the DNS MX Record.\n"},"name":{"type":"string","description":"The name of the DNS MX Record. Changing this forces a new resource to be created. Default to '@' for root zone entry.\n","willReplaceOnChanges":true},"records":{"type":"array","items":{"$ref":"#/types/azure:privatedns/MxRecordRecord:MxRecordRecord"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`record`\" pulumi-lang-dotnet=\"`Record`\" pulumi-lang-go=\"`record`\" pulumi-lang-python=\"`record`\" pulumi-lang-yaml=\"`record`\" pulumi-lang-java=\"`record`\"\u003e`record`\u003c/span\u003e blocks as defined below.\n"},"resourceGroupName":{"type":"string","description":"Specifies the resource group where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"ttl":{"type":"integer","description":"The Time To Live (TTL) of the DNS record in seconds.\n"},"zoneName":{"type":"string","description":"Specifies the Private DNS Zone where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:privatedns/pTRRecord:PTRRecord":{"description":"Enables you to manage DNS PTR Records within Azure Private DNS.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleZone = new azure.privatedns.Zone(\"example\", {\n    name: \"2.0.192.in-addr.arpa\",\n    resourceGroupName: example.name,\n});\nconst examplePTRRecord = new azure.privatedns.PTRRecord(\"example\", {\n    name: \"15\",\n    zoneName: exampleZone.name,\n    resourceGroupName: example.name,\n    ttl: 300,\n    records: [\"test.example.com\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_zone = azure.privatedns.Zone(\"example\",\n    name=\"2.0.192.in-addr.arpa\",\n    resource_group_name=example.name)\nexample_ptr_record = azure.privatedns.PTRRecord(\"example\",\n    name=\"15\",\n    zone_name=example_zone.name,\n    resource_group_name=example.name,\n    ttl=300,\n    records=[\"test.example.com\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleZone = new Azure.PrivateDns.Zone(\"example\", new()\n    {\n        Name = \"2.0.192.in-addr.arpa\",\n        ResourceGroupName = example.Name,\n    });\n\n    var examplePTRRecord = new Azure.PrivateDns.PTRRecord(\"example\", new()\n    {\n        Name = \"15\",\n        ZoneName = exampleZone.Name,\n        ResourceGroupName = example.Name,\n        Ttl = 300,\n        Records = new[]\n        {\n            \"test.example.com\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/privatedns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleZone, err := privatedns.NewZone(ctx, \"example\", \u0026privatedns.ZoneArgs{\n\t\t\tName:              pulumi.String(\"2.0.192.in-addr.arpa\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = privatedns.NewPTRRecord(ctx, \"example\", \u0026privatedns.PTRRecordArgs{\n\t\t\tName:              pulumi.String(\"15\"),\n\t\t\tZoneName:          exampleZone.Name,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tTtl:               pulumi.Int(300),\n\t\t\tRecords: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"test.example.com\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.privatedns.Zone;\nimport com.pulumi.azure.privatedns.ZoneArgs;\nimport com.pulumi.azure.privatedns.PTRRecord;\nimport com.pulumi.azure.privatedns.PTRRecordArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleZone = new Zone(\"exampleZone\", ZoneArgs.builder()\n            .name(\"2.0.192.in-addr.arpa\")\n            .resourceGroupName(example.name())\n            .build());\n\n        var examplePTRRecord = new PTRRecord(\"examplePTRRecord\", PTRRecordArgs.builder()\n            .name(\"15\")\n            .zoneName(exampleZone.name())\n            .resourceGroupName(example.name())\n            .ttl(300)\n            .records(\"test.example.com\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleZone:\n    type: azure:privatedns:Zone\n    name: example\n    properties:\n      name: 2.0.192.in-addr.arpa\n      resourceGroupName: ${example.name}\n  examplePTRRecord:\n    type: azure:privatedns:PTRRecord\n    name: example\n    properties:\n      name: '15'\n      zoneName: ${exampleZone.name}\n      resourceGroupName: ${example.name}\n      ttl: 300\n      records:\n        - test.example.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2024-06-01\n\n## Import\n\nPrivate DNS PTR Records can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:privatedns/pTRRecord:PTRRecord example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Network/privateDnsZones/2.0.192.in-addr.arpa/PTR/15\n```\n\n","properties":{"fqdn":{"type":"string","description":"The FQDN of the DNS PTR Record.\n"},"name":{"type":"string","description":"The name of the DNS PTR Record. Changing this forces a new resource to be created.\n"},"records":{"type":"array","items":{"type":"string"},"description":"List of Fully Qualified Domain Names.\n"},"resourceGroupName":{"type":"string","description":"Specifies the resource group where the resource exists. Changing this forces a new resource to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"ttl":{"type":"integer","description":"The Time To Live (TTL) of the DNS record in seconds.\n"},"zoneName":{"type":"string","description":"Specifies the Private DNS Zone where the resource exists. Changing this forces a new resource to be created.\n"}},"required":["fqdn","name","records","resourceGroupName","ttl","zoneName"],"inputProperties":{"name":{"type":"string","description":"The name of the DNS PTR Record. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"records":{"type":"array","items":{"type":"string"},"description":"List of Fully Qualified Domain Names.\n"},"resourceGroupName":{"type":"string","description":"Specifies the resource group where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"ttl":{"type":"integer","description":"The Time To Live (TTL) of the DNS record in seconds.\n"},"zoneName":{"type":"string","description":"Specifies the Private DNS Zone where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["records","resourceGroupName","ttl","zoneName"],"stateInputs":{"description":"Input properties used for looking up and filtering PTRRecord resources.\n","properties":{"fqdn":{"type":"string","description":"The FQDN of the DNS PTR Record.\n"},"name":{"type":"string","description":"The name of the DNS PTR Record. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"records":{"type":"array","items":{"type":"string"},"description":"List of Fully Qualified Domain Names.\n"},"resourceGroupName":{"type":"string","description":"Specifies the resource group where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"ttl":{"type":"integer","description":"The Time To Live (TTL) of the DNS record in seconds.\n"},"zoneName":{"type":"string","description":"Specifies the Private DNS Zone where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:privatedns/resolver:Resolver":{"description":"Manages a Private DNS Resolver.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"example\", {\n    name: \"example\",\n    resourceGroupName: example.name,\n    location: example.location,\n    addressSpaces: [\"10.0.0.0/16\"],\n});\nconst test = new azure.privatedns.Resolver(\"test\", {\n    name: \"example\",\n    resourceGroupName: example.name,\n    location: example.location,\n    virtualNetworkId: exampleVirtualNetwork.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_virtual_network = azure.network.VirtualNetwork(\"example\",\n    name=\"example\",\n    resource_group_name=example.name,\n    location=example.location,\n    address_spaces=[\"10.0.0.0/16\"])\ntest = azure.privatedns.Resolver(\"test\",\n    name=\"example\",\n    resource_group_name=example.name,\n    location=example.location,\n    virtual_network_id=example_virtual_network.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleVirtualNetwork = new Azure.Network.VirtualNetwork(\"example\", new()\n    {\n        Name = \"example\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        AddressSpaces = new[]\n        {\n            \"10.0.0.0/16\",\n        },\n    });\n\n    var test = new Azure.PrivateDns.Resolver(\"test\", new()\n    {\n        Name = \"example\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        VirtualNetworkId = exampleVirtualNetwork.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/privatedns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, \"example\", \u0026network.VirtualNetworkArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tAddressSpaces: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.0.0/16\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = privatedns.NewResolver(ctx, \"test\", \u0026privatedns.ResolverArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tVirtualNetworkId:  exampleVirtualNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.VirtualNetwork;\nimport com.pulumi.azure.network.VirtualNetworkArgs;\nimport com.pulumi.azure.privatedns.Resolver;\nimport com.pulumi.azure.privatedns.ResolverArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleVirtualNetwork = new VirtualNetwork(\"exampleVirtualNetwork\", VirtualNetworkArgs.builder()\n            .name(\"example\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .addressSpaces(\"10.0.0.0/16\")\n            .build());\n\n        var test = new Resolver(\"test\", ResolverArgs.builder()\n            .name(\"example\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .virtualNetworkId(exampleVirtualNetwork.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleVirtualNetwork:\n    type: azure:network:VirtualNetwork\n    name: example\n    properties:\n      name: example\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      addressSpaces:\n        - 10.0.0.0/16\n  test:\n    type: azure:privatedns:Resolver\n    properties:\n      name: example\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      virtualNetworkId: ${exampleVirtualNetwork.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2022-07-01\n\n## Import\n\nDNS Resolver can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:privatedns/resolver:Resolver example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup1/providers/Microsoft.Network/dnsResolvers/dnsResolver1\n```\n\n","properties":{"location":{"type":"string","description":"Specifies the Azure Region where the Private DNS Resolver should exist. Changing this forces a new Private DNS Resolver to be created.\n"},"name":{"type":"string","description":"Specifies the name which should be used for this Private DNS Resolver. Changing this forces a new Private DNS Resolver to be created.\n"},"resourceGroupName":{"type":"string","description":"Specifies the name of the Resource Group where the Private DNS Resolver should exist. Changing this forces a new Private DNS Resolver to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Private DNS Resolver.\n"},"virtualNetworkId":{"type":"string","description":"The ID of the Virtual Network that is linked to the Private DNS Resolver. Changing this forces a new Private DNS Resolver to be created.\n"}},"required":["location","name","resourceGroupName","virtualNetworkId"],"inputProperties":{"location":{"type":"string","description":"Specifies the Azure Region where the Private DNS Resolver should exist. Changing this forces a new Private DNS Resolver to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name which should be used for this Private DNS Resolver. Changing this forces a new Private DNS Resolver to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"Specifies the name of the Resource Group where the Private DNS Resolver should exist. Changing this forces a new Private DNS Resolver to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Private DNS Resolver.\n"},"virtualNetworkId":{"type":"string","description":"The ID of the Virtual Network that is linked to the Private DNS Resolver. Changing this forces a new Private DNS Resolver to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["resourceGroupName","virtualNetworkId"],"stateInputs":{"description":"Input properties used for looking up and filtering Resolver resources.\n","properties":{"location":{"type":"string","description":"Specifies the Azure Region where the Private DNS Resolver should exist. Changing this forces a new Private DNS Resolver to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name which should be used for this Private DNS Resolver. Changing this forces a new Private DNS Resolver to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"Specifies the name of the Resource Group where the Private DNS Resolver should exist. Changing this forces a new Private DNS Resolver to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Private DNS Resolver.\n"},"virtualNetworkId":{"type":"string","description":"The ID of the Virtual Network that is linked to the Private DNS Resolver. Changing this forces a new Private DNS Resolver to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:privatedns/resolverDnsForwardingRuleset:ResolverDnsForwardingRuleset":{"description":"Manages a Private DNS Resolver Dns Forwarding Ruleset.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"west europe\",\n});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"example\", {\n    name: \"example-vnet\",\n    resourceGroupName: example.name,\n    location: example.location,\n    addressSpaces: [\"10.0.0.0/16\"],\n});\nconst exampleSubnet = new azure.network.Subnet(\"example\", {\n    name: \"outbounddns\",\n    resourceGroupName: example.name,\n    virtualNetworkName: exampleVirtualNetwork.name,\n    addressPrefixes: [\"10.0.0.64/28\"],\n    delegations: [{\n        name: \"Microsoft.Network.dnsResolvers\",\n        serviceDelegation: {\n            actions: [\"Microsoft.Network/virtualNetworks/subnets/join/action\"],\n            name: \"Microsoft.Network/dnsResolvers\",\n        },\n    }],\n});\nconst exampleResolver = new azure.privatedns.Resolver(\"example\", {\n    name: \"example-resolver\",\n    resourceGroupName: example.name,\n    location: example.location,\n    virtualNetworkId: exampleVirtualNetwork.id,\n});\nconst exampleResolverOutboundEndpoint = new azure.privatedns.ResolverOutboundEndpoint(\"example\", {\n    name: \"example-endpoint\",\n    privateDnsResolverId: exampleResolver.id,\n    location: exampleResolver.location,\n    subnetId: exampleSubnet.id,\n    tags: {\n        key: \"value\",\n    },\n});\nconst exampleResolverDnsForwardingRuleset = new azure.privatedns.ResolverDnsForwardingRuleset(\"example\", {\n    name: \"example-ruleset\",\n    resourceGroupName: example.name,\n    location: example.location,\n    privateDnsResolverOutboundEndpointIds: [exampleResolverOutboundEndpoint.id],\n    tags: {\n        key: \"value\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"west europe\")\nexample_virtual_network = azure.network.VirtualNetwork(\"example\",\n    name=\"example-vnet\",\n    resource_group_name=example.name,\n    location=example.location,\n    address_spaces=[\"10.0.0.0/16\"])\nexample_subnet = azure.network.Subnet(\"example\",\n    name=\"outbounddns\",\n    resource_group_name=example.name,\n    virtual_network_name=example_virtual_network.name,\n    address_prefixes=[\"10.0.0.64/28\"],\n    delegations=[{\n        \"name\": \"Microsoft.Network.dnsResolvers\",\n        \"service_delegation\": {\n            \"actions\": [\"Microsoft.Network/virtualNetworks/subnets/join/action\"],\n            \"name\": \"Microsoft.Network/dnsResolvers\",\n        },\n    }])\nexample_resolver = azure.privatedns.Resolver(\"example\",\n    name=\"example-resolver\",\n    resource_group_name=example.name,\n    location=example.location,\n    virtual_network_id=example_virtual_network.id)\nexample_resolver_outbound_endpoint = azure.privatedns.ResolverOutboundEndpoint(\"example\",\n    name=\"example-endpoint\",\n    private_dns_resolver_id=example_resolver.id,\n    location=example_resolver.location,\n    subnet_id=example_subnet.id,\n    tags={\n        \"key\": \"value\",\n    })\nexample_resolver_dns_forwarding_ruleset = azure.privatedns.ResolverDnsForwardingRuleset(\"example\",\n    name=\"example-ruleset\",\n    resource_group_name=example.name,\n    location=example.location,\n    private_dns_resolver_outbound_endpoint_ids=[example_resolver_outbound_endpoint.id],\n    tags={\n        \"key\": \"value\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"west europe\",\n    });\n\n    var exampleVirtualNetwork = new Azure.Network.VirtualNetwork(\"example\", new()\n    {\n        Name = \"example-vnet\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        AddressSpaces = new[]\n        {\n            \"10.0.0.0/16\",\n        },\n    });\n\n    var exampleSubnet = new Azure.Network.Subnet(\"example\", new()\n    {\n        Name = \"outbounddns\",\n        ResourceGroupName = example.Name,\n        VirtualNetworkName = exampleVirtualNetwork.Name,\n        AddressPrefixes = new[]\n        {\n            \"10.0.0.64/28\",\n        },\n        Delegations = new[]\n        {\n            new Azure.Network.Inputs.SubnetDelegationArgs\n            {\n                Name = \"Microsoft.Network.dnsResolvers\",\n                ServiceDelegation = new Azure.Network.Inputs.SubnetDelegationServiceDelegationArgs\n                {\n                    Actions = new[]\n                    {\n                        \"Microsoft.Network/virtualNetworks/subnets/join/action\",\n                    },\n                    Name = \"Microsoft.Network/dnsResolvers\",\n                },\n            },\n        },\n    });\n\n    var exampleResolver = new Azure.PrivateDns.Resolver(\"example\", new()\n    {\n        Name = \"example-resolver\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        VirtualNetworkId = exampleVirtualNetwork.Id,\n    });\n\n    var exampleResolverOutboundEndpoint = new Azure.PrivateDns.ResolverOutboundEndpoint(\"example\", new()\n    {\n        Name = \"example-endpoint\",\n        PrivateDnsResolverId = exampleResolver.Id,\n        Location = exampleResolver.Location,\n        SubnetId = exampleSubnet.Id,\n        Tags = \n        {\n            { \"key\", \"value\" },\n        },\n    });\n\n    var exampleResolverDnsForwardingRuleset = new Azure.PrivateDns.ResolverDnsForwardingRuleset(\"example\", new()\n    {\n        Name = \"example-ruleset\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        PrivateDnsResolverOutboundEndpointIds = new[]\n        {\n            exampleResolverOutboundEndpoint.Id,\n        },\n        Tags = \n        {\n            { \"key\", \"value\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/privatedns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"west europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, \"example\", \u0026network.VirtualNetworkArgs{\n\t\t\tName:              pulumi.String(\"example-vnet\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tAddressSpaces: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.0.0/16\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSubnet, err := network.NewSubnet(ctx, \"example\", \u0026network.SubnetArgs{\n\t\t\tName:               pulumi.String(\"outbounddns\"),\n\t\t\tResourceGroupName:  example.Name,\n\t\t\tVirtualNetworkName: exampleVirtualNetwork.Name,\n\t\t\tAddressPrefixes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.0.64/28\"),\n\t\t\t},\n\t\t\tDelegations: network.SubnetDelegationArray{\n\t\t\t\t\u0026network.SubnetDelegationArgs{\n\t\t\t\t\tName: pulumi.String(\"Microsoft.Network.dnsResolvers\"),\n\t\t\t\t\tServiceDelegation: \u0026network.SubnetDelegationServiceDelegationArgs{\n\t\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"Microsoft.Network/virtualNetworks/subnets/join/action\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tName: pulumi.String(\"Microsoft.Network/dnsResolvers\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleResolver, err := privatedns.NewResolver(ctx, \"example\", \u0026privatedns.ResolverArgs{\n\t\t\tName:              pulumi.String(\"example-resolver\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tVirtualNetworkId:  exampleVirtualNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleResolverOutboundEndpoint, err := privatedns.NewResolverOutboundEndpoint(ctx, \"example\", \u0026privatedns.ResolverOutboundEndpointArgs{\n\t\t\tName:                 pulumi.String(\"example-endpoint\"),\n\t\t\tPrivateDnsResolverId: exampleResolver.ID(),\n\t\t\tLocation:             exampleResolver.Location,\n\t\t\tSubnetId:             exampleSubnet.ID(),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"key\": pulumi.String(\"value\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = privatedns.NewResolverDnsForwardingRuleset(ctx, \"example\", \u0026privatedns.ResolverDnsForwardingRulesetArgs{\n\t\t\tName:              pulumi.String(\"example-ruleset\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tPrivateDnsResolverOutboundEndpointIds: pulumi.StringArray{\n\t\t\t\texampleResolverOutboundEndpoint.ID(),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"key\": pulumi.String(\"value\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.VirtualNetwork;\nimport com.pulumi.azure.network.VirtualNetworkArgs;\nimport com.pulumi.azure.network.Subnet;\nimport com.pulumi.azure.network.SubnetArgs;\nimport com.pulumi.azure.network.inputs.SubnetDelegationArgs;\nimport com.pulumi.azure.network.inputs.SubnetDelegationServiceDelegationArgs;\nimport com.pulumi.azure.privatedns.Resolver;\nimport com.pulumi.azure.privatedns.ResolverArgs;\nimport com.pulumi.azure.privatedns.ResolverOutboundEndpoint;\nimport com.pulumi.azure.privatedns.ResolverOutboundEndpointArgs;\nimport com.pulumi.azure.privatedns.ResolverDnsForwardingRuleset;\nimport com.pulumi.azure.privatedns.ResolverDnsForwardingRulesetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"west europe\")\n            .build());\n\n        var exampleVirtualNetwork = new VirtualNetwork(\"exampleVirtualNetwork\", VirtualNetworkArgs.builder()\n            .name(\"example-vnet\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .addressSpaces(\"10.0.0.0/16\")\n            .build());\n\n        var exampleSubnet = new Subnet(\"exampleSubnet\", SubnetArgs.builder()\n            .name(\"outbounddns\")\n            .resourceGroupName(example.name())\n            .virtualNetworkName(exampleVirtualNetwork.name())\n            .addressPrefixes(\"10.0.0.64/28\")\n            .delegations(SubnetDelegationArgs.builder()\n                .name(\"Microsoft.Network.dnsResolvers\")\n                .serviceDelegation(SubnetDelegationServiceDelegationArgs.builder()\n                    .actions(\"Microsoft.Network/virtualNetworks/subnets/join/action\")\n                    .name(\"Microsoft.Network/dnsResolvers\")\n                    .build())\n                .build())\n            .build());\n\n        var exampleResolver = new Resolver(\"exampleResolver\", ResolverArgs.builder()\n            .name(\"example-resolver\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .virtualNetworkId(exampleVirtualNetwork.id())\n            .build());\n\n        var exampleResolverOutboundEndpoint = new ResolverOutboundEndpoint(\"exampleResolverOutboundEndpoint\", ResolverOutboundEndpointArgs.builder()\n            .name(\"example-endpoint\")\n            .privateDnsResolverId(exampleResolver.id())\n            .location(exampleResolver.location())\n            .subnetId(exampleSubnet.id())\n            .tags(Map.of(\"key\", \"value\"))\n            .build());\n\n        var exampleResolverDnsForwardingRuleset = new ResolverDnsForwardingRuleset(\"exampleResolverDnsForwardingRuleset\", ResolverDnsForwardingRulesetArgs.builder()\n            .name(\"example-ruleset\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .privateDnsResolverOutboundEndpointIds(exampleResolverOutboundEndpoint.id())\n            .tags(Map.of(\"key\", \"value\"))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: west europe\n  exampleVirtualNetwork:\n    type: azure:network:VirtualNetwork\n    name: example\n    properties:\n      name: example-vnet\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      addressSpaces:\n        - 10.0.0.0/16\n  exampleSubnet:\n    type: azure:network:Subnet\n    name: example\n    properties:\n      name: outbounddns\n      resourceGroupName: ${example.name}\n      virtualNetworkName: ${exampleVirtualNetwork.name}\n      addressPrefixes:\n        - 10.0.0.64/28\n      delegations:\n        - name: Microsoft.Network.dnsResolvers\n          serviceDelegation:\n            actions:\n              - Microsoft.Network/virtualNetworks/subnets/join/action\n            name: Microsoft.Network/dnsResolvers\n  exampleResolver:\n    type: azure:privatedns:Resolver\n    name: example\n    properties:\n      name: example-resolver\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      virtualNetworkId: ${exampleVirtualNetwork.id}\n  exampleResolverOutboundEndpoint:\n    type: azure:privatedns:ResolverOutboundEndpoint\n    name: example\n    properties:\n      name: example-endpoint\n      privateDnsResolverId: ${exampleResolver.id}\n      location: ${exampleResolver.location}\n      subnetId: ${exampleSubnet.id}\n      tags:\n        key: value\n  exampleResolverDnsForwardingRuleset:\n    type: azure:privatedns:ResolverDnsForwardingRuleset\n    name: example\n    properties:\n      name: example-ruleset\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      privateDnsResolverOutboundEndpointIds:\n        - ${exampleResolverOutboundEndpoint.id}\n      tags:\n        key: value\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2022-07-01\n\n## Import\n\nPrivate DNS Resolver Dns Forwarding Ruleset can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:privatedns/resolverDnsForwardingRuleset:ResolverDnsForwardingRuleset example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup1/providers/Microsoft.Network/dnsForwardingRulesets/dnsForwardingRuleset1\n```\n\n","properties":{"location":{"type":"string","description":"Specifies the Azure Region where the Private DNS Resolver Dns Forwarding Ruleset should exist. Changing this forces a new Private DNS Resolver Dns Forwarding Ruleset to be created.\n"},"name":{"type":"string","description":"Specifies the name which should be used for this Private DNS Resolver Dns Forwarding Ruleset. Changing this forces a new Private DNS Resolver Dns Forwarding Ruleset to be created.\n"},"privateDnsResolverOutboundEndpointIds":{"type":"array","items":{"type":"string"},"description":"The list of IDs of the Private DNS Resolver Outbound Endpoint that is linked to the Private DNS Resolver Dns Forwarding Ruleset.\n"},"resourceGroupName":{"type":"string","description":"Specifies the name of the Resource Group where the Private DNS Resolver Dns Forwarding Ruleset should exist. Changing this forces a new Private DNS Resolver Dns Forwarding Ruleset to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the Private DNS Resolver Dns Forwarding Ruleset.\n"}},"required":["location","name","privateDnsResolverOutboundEndpointIds","resourceGroupName"],"inputProperties":{"location":{"type":"string","description":"Specifies the Azure Region where the Private DNS Resolver Dns Forwarding Ruleset should exist. Changing this forces a new Private DNS Resolver Dns Forwarding Ruleset to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name which should be used for this Private DNS Resolver Dns Forwarding Ruleset. Changing this forces a new Private DNS Resolver Dns Forwarding Ruleset to be created.\n","willReplaceOnChanges":true},"privateDnsResolverOutboundEndpointIds":{"type":"array","items":{"type":"string"},"description":"The list of IDs of the Private DNS Resolver Outbound Endpoint that is linked to the Private DNS Resolver Dns Forwarding Ruleset.\n"},"resourceGroupName":{"type":"string","description":"Specifies the name of the Resource Group where the Private DNS Resolver Dns Forwarding Ruleset should exist. Changing this forces a new Private DNS Resolver Dns Forwarding Ruleset to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the Private DNS Resolver Dns Forwarding Ruleset.\n"}},"requiredInputs":["privateDnsResolverOutboundEndpointIds","resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering ResolverDnsForwardingRuleset resources.\n","properties":{"location":{"type":"string","description":"Specifies the Azure Region where the Private DNS Resolver Dns Forwarding Ruleset should exist. Changing this forces a new Private DNS Resolver Dns Forwarding Ruleset to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name which should be used for this Private DNS Resolver Dns Forwarding Ruleset. Changing this forces a new Private DNS Resolver Dns Forwarding Ruleset to be created.\n","willReplaceOnChanges":true},"privateDnsResolverOutboundEndpointIds":{"type":"array","items":{"type":"string"},"description":"The list of IDs of the Private DNS Resolver Outbound Endpoint that is linked to the Private DNS Resolver Dns Forwarding Ruleset.\n"},"resourceGroupName":{"type":"string","description":"Specifies the name of the Resource Group where the Private DNS Resolver Dns Forwarding Ruleset should exist. Changing this forces a new Private DNS Resolver Dns Forwarding Ruleset to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the Private DNS Resolver Dns Forwarding Ruleset.\n"}},"type":"object"}},"azure:privatedns/resolverForwardingRule:ResolverForwardingRule":{"description":"Manages a Private DNS Resolver Forwarding Rule.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"west europe\",\n});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"example\", {\n    name: \"example-vnet\",\n    resourceGroupName: example.name,\n    location: example.location,\n    addressSpaces: [\"10.0.0.0/16\"],\n});\nconst exampleSubnet = new azure.network.Subnet(\"example\", {\n    name: \"outbounddns\",\n    resourceGroupName: example.name,\n    virtualNetworkName: exampleVirtualNetwork.name,\n    addressPrefixes: [\"10.0.0.64/28\"],\n    delegations: [{\n        name: \"Microsoft.Network.dnsResolvers\",\n        serviceDelegation: {\n            actions: [\"Microsoft.Network/virtualNetworks/subnets/join/action\"],\n            name: \"Microsoft.Network/dnsResolvers\",\n        },\n    }],\n});\nconst exampleResolver = new azure.privatedns.Resolver(\"example\", {\n    name: \"example-resolver\",\n    resourceGroupName: example.name,\n    location: example.location,\n    virtualNetworkId: exampleVirtualNetwork.id,\n});\nconst exampleResolverOutboundEndpoint = new azure.privatedns.ResolverOutboundEndpoint(\"example\", {\n    name: \"example-endpoint\",\n    privateDnsResolverId: exampleResolver.id,\n    location: exampleResolver.location,\n    subnetId: exampleSubnet.id,\n    tags: {\n        key: \"value\",\n    },\n});\nconst exampleResolverDnsForwardingRuleset = new azure.privatedns.ResolverDnsForwardingRuleset(\"example\", {\n    name: \"example-drdfr\",\n    resourceGroupName: example.name,\n    location: example.location,\n    privateDnsResolverOutboundEndpointIds: [exampleResolverOutboundEndpoint.id],\n});\nconst exampleResolverForwardingRule = new azure.privatedns.ResolverForwardingRule(\"example\", {\n    name: \"example-rule\",\n    dnsForwardingRulesetId: exampleResolverDnsForwardingRuleset.id,\n    domainName: \"onprem.local.\",\n    enabled: true,\n    targetDnsServers: [{\n        ipAddress: \"10.10.0.1\",\n        port: 53,\n    }],\n    metadata: {\n        key: \"value\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"west europe\")\nexample_virtual_network = azure.network.VirtualNetwork(\"example\",\n    name=\"example-vnet\",\n    resource_group_name=example.name,\n    location=example.location,\n    address_spaces=[\"10.0.0.0/16\"])\nexample_subnet = azure.network.Subnet(\"example\",\n    name=\"outbounddns\",\n    resource_group_name=example.name,\n    virtual_network_name=example_virtual_network.name,\n    address_prefixes=[\"10.0.0.64/28\"],\n    delegations=[{\n        \"name\": \"Microsoft.Network.dnsResolvers\",\n        \"service_delegation\": {\n            \"actions\": [\"Microsoft.Network/virtualNetworks/subnets/join/action\"],\n            \"name\": \"Microsoft.Network/dnsResolvers\",\n        },\n    }])\nexample_resolver = azure.privatedns.Resolver(\"example\",\n    name=\"example-resolver\",\n    resource_group_name=example.name,\n    location=example.location,\n    virtual_network_id=example_virtual_network.id)\nexample_resolver_outbound_endpoint = azure.privatedns.ResolverOutboundEndpoint(\"example\",\n    name=\"example-endpoint\",\n    private_dns_resolver_id=example_resolver.id,\n    location=example_resolver.location,\n    subnet_id=example_subnet.id,\n    tags={\n        \"key\": \"value\",\n    })\nexample_resolver_dns_forwarding_ruleset = azure.privatedns.ResolverDnsForwardingRuleset(\"example\",\n    name=\"example-drdfr\",\n    resource_group_name=example.name,\n    location=example.location,\n    private_dns_resolver_outbound_endpoint_ids=[example_resolver_outbound_endpoint.id])\nexample_resolver_forwarding_rule = azure.privatedns.ResolverForwardingRule(\"example\",\n    name=\"example-rule\",\n    dns_forwarding_ruleset_id=example_resolver_dns_forwarding_ruleset.id,\n    domain_name=\"onprem.local.\",\n    enabled=True,\n    target_dns_servers=[{\n        \"ip_address\": \"10.10.0.1\",\n        \"port\": 53,\n    }],\n    metadata={\n        \"key\": \"value\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"west europe\",\n    });\n\n    var exampleVirtualNetwork = new Azure.Network.VirtualNetwork(\"example\", new()\n    {\n        Name = \"example-vnet\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        AddressSpaces = new[]\n        {\n            \"10.0.0.0/16\",\n        },\n    });\n\n    var exampleSubnet = new Azure.Network.Subnet(\"example\", new()\n    {\n        Name = \"outbounddns\",\n        ResourceGroupName = example.Name,\n        VirtualNetworkName = exampleVirtualNetwork.Name,\n        AddressPrefixes = new[]\n        {\n            \"10.0.0.64/28\",\n        },\n        Delegations = new[]\n        {\n            new Azure.Network.Inputs.SubnetDelegationArgs\n            {\n                Name = \"Microsoft.Network.dnsResolvers\",\n                ServiceDelegation = new Azure.Network.Inputs.SubnetDelegationServiceDelegationArgs\n                {\n                    Actions = new[]\n                    {\n                        \"Microsoft.Network/virtualNetworks/subnets/join/action\",\n                    },\n                    Name = \"Microsoft.Network/dnsResolvers\",\n                },\n            },\n        },\n    });\n\n    var exampleResolver = new Azure.PrivateDns.Resolver(\"example\", new()\n    {\n        Name = \"example-resolver\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        VirtualNetworkId = exampleVirtualNetwork.Id,\n    });\n\n    var exampleResolverOutboundEndpoint = new Azure.PrivateDns.ResolverOutboundEndpoint(\"example\", new()\n    {\n        Name = \"example-endpoint\",\n        PrivateDnsResolverId = exampleResolver.Id,\n        Location = exampleResolver.Location,\n        SubnetId = exampleSubnet.Id,\n        Tags = \n        {\n            { \"key\", \"value\" },\n        },\n    });\n\n    var exampleResolverDnsForwardingRuleset = new Azure.PrivateDns.ResolverDnsForwardingRuleset(\"example\", new()\n    {\n        Name = \"example-drdfr\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        PrivateDnsResolverOutboundEndpointIds = new[]\n        {\n            exampleResolverOutboundEndpoint.Id,\n        },\n    });\n\n    var exampleResolverForwardingRule = new Azure.PrivateDns.ResolverForwardingRule(\"example\", new()\n    {\n        Name = \"example-rule\",\n        DnsForwardingRulesetId = exampleResolverDnsForwardingRuleset.Id,\n        DomainName = \"onprem.local.\",\n        Enabled = true,\n        TargetDnsServers = new[]\n        {\n            new Azure.PrivateDns.Inputs.ResolverForwardingRuleTargetDnsServerArgs\n            {\n                IpAddress = \"10.10.0.1\",\n                Port = 53,\n            },\n        },\n        Metadata = \n        {\n            { \"key\", \"value\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/privatedns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"west europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, \"example\", \u0026network.VirtualNetworkArgs{\n\t\t\tName:              pulumi.String(\"example-vnet\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tAddressSpaces: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.0.0/16\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSubnet, err := network.NewSubnet(ctx, \"example\", \u0026network.SubnetArgs{\n\t\t\tName:               pulumi.String(\"outbounddns\"),\n\t\t\tResourceGroupName:  example.Name,\n\t\t\tVirtualNetworkName: exampleVirtualNetwork.Name,\n\t\t\tAddressPrefixes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.0.64/28\"),\n\t\t\t},\n\t\t\tDelegations: network.SubnetDelegationArray{\n\t\t\t\t\u0026network.SubnetDelegationArgs{\n\t\t\t\t\tName: pulumi.String(\"Microsoft.Network.dnsResolvers\"),\n\t\t\t\t\tServiceDelegation: \u0026network.SubnetDelegationServiceDelegationArgs{\n\t\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"Microsoft.Network/virtualNetworks/subnets/join/action\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tName: pulumi.String(\"Microsoft.Network/dnsResolvers\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleResolver, err := privatedns.NewResolver(ctx, \"example\", \u0026privatedns.ResolverArgs{\n\t\t\tName:              pulumi.String(\"example-resolver\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tVirtualNetworkId:  exampleVirtualNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleResolverOutboundEndpoint, err := privatedns.NewResolverOutboundEndpoint(ctx, \"example\", \u0026privatedns.ResolverOutboundEndpointArgs{\n\t\t\tName:                 pulumi.String(\"example-endpoint\"),\n\t\t\tPrivateDnsResolverId: exampleResolver.ID(),\n\t\t\tLocation:             exampleResolver.Location,\n\t\t\tSubnetId:             exampleSubnet.ID(),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"key\": pulumi.String(\"value\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleResolverDnsForwardingRuleset, err := privatedns.NewResolverDnsForwardingRuleset(ctx, \"example\", \u0026privatedns.ResolverDnsForwardingRulesetArgs{\n\t\t\tName:              pulumi.String(\"example-drdfr\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tPrivateDnsResolverOutboundEndpointIds: pulumi.StringArray{\n\t\t\t\texampleResolverOutboundEndpoint.ID(),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = privatedns.NewResolverForwardingRule(ctx, \"example\", \u0026privatedns.ResolverForwardingRuleArgs{\n\t\t\tName:                   pulumi.String(\"example-rule\"),\n\t\t\tDnsForwardingRulesetId: exampleResolverDnsForwardingRuleset.ID(),\n\t\t\tDomainName:             pulumi.String(\"onprem.local.\"),\n\t\t\tEnabled:                pulumi.Bool(true),\n\t\t\tTargetDnsServers: privatedns.ResolverForwardingRuleTargetDnsServerArray{\n\t\t\t\t\u0026privatedns.ResolverForwardingRuleTargetDnsServerArgs{\n\t\t\t\t\tIpAddress: pulumi.String(\"10.10.0.1\"),\n\t\t\t\t\tPort:      pulumi.Int(53),\n\t\t\t\t},\n\t\t\t},\n\t\t\tMetadata: pulumi.StringMap{\n\t\t\t\t\"key\": pulumi.String(\"value\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.VirtualNetwork;\nimport com.pulumi.azure.network.VirtualNetworkArgs;\nimport com.pulumi.azure.network.Subnet;\nimport com.pulumi.azure.network.SubnetArgs;\nimport com.pulumi.azure.network.inputs.SubnetDelegationArgs;\nimport com.pulumi.azure.network.inputs.SubnetDelegationServiceDelegationArgs;\nimport com.pulumi.azure.privatedns.Resolver;\nimport com.pulumi.azure.privatedns.ResolverArgs;\nimport com.pulumi.azure.privatedns.ResolverOutboundEndpoint;\nimport com.pulumi.azure.privatedns.ResolverOutboundEndpointArgs;\nimport com.pulumi.azure.privatedns.ResolverDnsForwardingRuleset;\nimport com.pulumi.azure.privatedns.ResolverDnsForwardingRulesetArgs;\nimport com.pulumi.azure.privatedns.ResolverForwardingRule;\nimport com.pulumi.azure.privatedns.ResolverForwardingRuleArgs;\nimport com.pulumi.azure.privatedns.inputs.ResolverForwardingRuleTargetDnsServerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"west europe\")\n            .build());\n\n        var exampleVirtualNetwork = new VirtualNetwork(\"exampleVirtualNetwork\", VirtualNetworkArgs.builder()\n            .name(\"example-vnet\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .addressSpaces(\"10.0.0.0/16\")\n            .build());\n\n        var exampleSubnet = new Subnet(\"exampleSubnet\", SubnetArgs.builder()\n            .name(\"outbounddns\")\n            .resourceGroupName(example.name())\n            .virtualNetworkName(exampleVirtualNetwork.name())\n            .addressPrefixes(\"10.0.0.64/28\")\n            .delegations(SubnetDelegationArgs.builder()\n                .name(\"Microsoft.Network.dnsResolvers\")\n                .serviceDelegation(SubnetDelegationServiceDelegationArgs.builder()\n                    .actions(\"Microsoft.Network/virtualNetworks/subnets/join/action\")\n                    .name(\"Microsoft.Network/dnsResolvers\")\n                    .build())\n                .build())\n            .build());\n\n        var exampleResolver = new Resolver(\"exampleResolver\", ResolverArgs.builder()\n            .name(\"example-resolver\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .virtualNetworkId(exampleVirtualNetwork.id())\n            .build());\n\n        var exampleResolverOutboundEndpoint = new ResolverOutboundEndpoint(\"exampleResolverOutboundEndpoint\", ResolverOutboundEndpointArgs.builder()\n            .name(\"example-endpoint\")\n            .privateDnsResolverId(exampleResolver.id())\n            .location(exampleResolver.location())\n            .subnetId(exampleSubnet.id())\n            .tags(Map.of(\"key\", \"value\"))\n            .build());\n\n        var exampleResolverDnsForwardingRuleset = new ResolverDnsForwardingRuleset(\"exampleResolverDnsForwardingRuleset\", ResolverDnsForwardingRulesetArgs.builder()\n            .name(\"example-drdfr\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .privateDnsResolverOutboundEndpointIds(exampleResolverOutboundEndpoint.id())\n            .build());\n\n        var exampleResolverForwardingRule = new ResolverForwardingRule(\"exampleResolverForwardingRule\", ResolverForwardingRuleArgs.builder()\n            .name(\"example-rule\")\n            .dnsForwardingRulesetId(exampleResolverDnsForwardingRuleset.id())\n            .domainName(\"onprem.local.\")\n            .enabled(true)\n            .targetDnsServers(ResolverForwardingRuleTargetDnsServerArgs.builder()\n                .ipAddress(\"10.10.0.1\")\n                .port(53)\n                .build())\n            .metadata(Map.of(\"key\", \"value\"))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: west europe\n  exampleVirtualNetwork:\n    type: azure:network:VirtualNetwork\n    name: example\n    properties:\n      name: example-vnet\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      addressSpaces:\n        - 10.0.0.0/16\n  exampleSubnet:\n    type: azure:network:Subnet\n    name: example\n    properties:\n      name: outbounddns\n      resourceGroupName: ${example.name}\n      virtualNetworkName: ${exampleVirtualNetwork.name}\n      addressPrefixes:\n        - 10.0.0.64/28\n      delegations:\n        - name: Microsoft.Network.dnsResolvers\n          serviceDelegation:\n            actions:\n              - Microsoft.Network/virtualNetworks/subnets/join/action\n            name: Microsoft.Network/dnsResolvers\n  exampleResolver:\n    type: azure:privatedns:Resolver\n    name: example\n    properties:\n      name: example-resolver\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      virtualNetworkId: ${exampleVirtualNetwork.id}\n  exampleResolverOutboundEndpoint:\n    type: azure:privatedns:ResolverOutboundEndpoint\n    name: example\n    properties:\n      name: example-endpoint\n      privateDnsResolverId: ${exampleResolver.id}\n      location: ${exampleResolver.location}\n      subnetId: ${exampleSubnet.id}\n      tags:\n        key: value\n  exampleResolverDnsForwardingRuleset:\n    type: azure:privatedns:ResolverDnsForwardingRuleset\n    name: example\n    properties:\n      name: example-drdfr\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      privateDnsResolverOutboundEndpointIds:\n        - ${exampleResolverOutboundEndpoint.id}\n  exampleResolverForwardingRule:\n    type: azure:privatedns:ResolverForwardingRule\n    name: example\n    properties:\n      name: example-rule\n      dnsForwardingRulesetId: ${exampleResolverDnsForwardingRuleset.id}\n      domainName: onprem.local.\n      enabled: true\n      targetDnsServers:\n        - ipAddress: 10.10.0.1\n          port: 53\n      metadata:\n        key: value\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2022-07-01\n\n## Import\n\nPrivate DNS Resolver Forwarding Rules can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:privatedns/resolverForwardingRule:ResolverForwardingRule example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup1/providers/Microsoft.Network/dnsForwardingRulesets/dnsForwardingRuleset1/forwardingRules/forwardingRule1\n```\n\n","properties":{"dnsForwardingRulesetId":{"type":"string","description":"Specifies the ID of the Private DNS Resolver Forwarding Ruleset. Changing this forces a new Private DNS Resolver Forwarding Rule to be created.\n"},"domainName":{"type":"string","description":"Specifies the domain name for the Private DNS Resolver Forwarding Rule. Changing this forces a new Private DNS Resolver Forwarding Rule to be created.\n"},"enabled":{"type":"boolean","description":"Specifies the state of the Private DNS Resolver Forwarding Rule. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"metadata":{"type":"object","additionalProperties":{"type":"string"},"description":"Metadata attached to the Private DNS Resolver Forwarding Rule.\n"},"name":{"type":"string","description":"Specifies the name which should be used for this Private DNS Resolver Forwarding Rule. Changing this forces a new Private DNS Resolver Forwarding Rule to be created.\n"},"targetDnsServers":{"type":"array","items":{"$ref":"#/types/azure:privatedns/ResolverForwardingRuleTargetDnsServer:ResolverForwardingRuleTargetDnsServer"},"description":"Can be specified multiple times to define multiple target DNS servers. Each \u003cspan pulumi-lang-nodejs=\"`targetDnsServers`\" pulumi-lang-dotnet=\"`TargetDnsServers`\" pulumi-lang-go=\"`targetDnsServers`\" pulumi-lang-python=\"`target_dns_servers`\" pulumi-lang-yaml=\"`targetDnsServers`\" pulumi-lang-java=\"`targetDnsServers`\"\u003e`target_dns_servers`\u003c/span\u003e block as defined below.\n"}},"required":["dnsForwardingRulesetId","domainName","name","targetDnsServers"],"inputProperties":{"dnsForwardingRulesetId":{"type":"string","description":"Specifies the ID of the Private DNS Resolver Forwarding Ruleset. Changing this forces a new Private DNS Resolver Forwarding Rule to be created.\n","willReplaceOnChanges":true},"domainName":{"type":"string","description":"Specifies the domain name for the Private DNS Resolver Forwarding Rule. Changing this forces a new Private DNS Resolver Forwarding Rule to be created.\n","willReplaceOnChanges":true},"enabled":{"type":"boolean","description":"Specifies the state of the Private DNS Resolver Forwarding Rule. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"metadata":{"type":"object","additionalProperties":{"type":"string"},"description":"Metadata attached to the Private DNS Resolver Forwarding Rule.\n"},"name":{"type":"string","description":"Specifies the name which should be used for this Private DNS Resolver Forwarding Rule. Changing this forces a new Private DNS Resolver Forwarding Rule to be created.\n","willReplaceOnChanges":true},"targetDnsServers":{"type":"array","items":{"$ref":"#/types/azure:privatedns/ResolverForwardingRuleTargetDnsServer:ResolverForwardingRuleTargetDnsServer"},"description":"Can be specified multiple times to define multiple target DNS servers. Each \u003cspan pulumi-lang-nodejs=\"`targetDnsServers`\" pulumi-lang-dotnet=\"`TargetDnsServers`\" pulumi-lang-go=\"`targetDnsServers`\" pulumi-lang-python=\"`target_dns_servers`\" pulumi-lang-yaml=\"`targetDnsServers`\" pulumi-lang-java=\"`targetDnsServers`\"\u003e`target_dns_servers`\u003c/span\u003e block as defined below.\n"}},"requiredInputs":["dnsForwardingRulesetId","domainName","targetDnsServers"],"stateInputs":{"description":"Input properties used for looking up and filtering ResolverForwardingRule resources.\n","properties":{"dnsForwardingRulesetId":{"type":"string","description":"Specifies the ID of the Private DNS Resolver Forwarding Ruleset. Changing this forces a new Private DNS Resolver Forwarding Rule to be created.\n","willReplaceOnChanges":true},"domainName":{"type":"string","description":"Specifies the domain name for the Private DNS Resolver Forwarding Rule. Changing this forces a new Private DNS Resolver Forwarding Rule to be created.\n","willReplaceOnChanges":true},"enabled":{"type":"boolean","description":"Specifies the state of the Private DNS Resolver Forwarding Rule. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"metadata":{"type":"object","additionalProperties":{"type":"string"},"description":"Metadata attached to the Private DNS Resolver Forwarding Rule.\n"},"name":{"type":"string","description":"Specifies the name which should be used for this Private DNS Resolver Forwarding Rule. Changing this forces a new Private DNS Resolver Forwarding Rule to be created.\n","willReplaceOnChanges":true},"targetDnsServers":{"type":"array","items":{"$ref":"#/types/azure:privatedns/ResolverForwardingRuleTargetDnsServer:ResolverForwardingRuleTargetDnsServer"},"description":"Can be specified multiple times to define multiple target DNS servers. Each \u003cspan pulumi-lang-nodejs=\"`targetDnsServers`\" pulumi-lang-dotnet=\"`TargetDnsServers`\" pulumi-lang-go=\"`targetDnsServers`\" pulumi-lang-python=\"`target_dns_servers`\" pulumi-lang-yaml=\"`targetDnsServers`\" pulumi-lang-java=\"`targetDnsServers`\"\u003e`target_dns_servers`\u003c/span\u003e block as defined below.\n"}},"type":"object"}},"azure:privatedns/resolverInboundEndpoint:ResolverInboundEndpoint":{"description":"Manages a Private DNS Resolver Inbound Endpoint.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"example\", {\n    name: \"example\",\n    resourceGroupName: example.name,\n    location: example.location,\n    addressSpaces: [\"10.0.0.0/16\"],\n});\nconst exampleResolver = new azure.privatedns.Resolver(\"example\", {\n    name: \"example\",\n    resourceGroupName: example.name,\n    location: example.location,\n    virtualNetworkId: exampleVirtualNetwork.id,\n});\nconst exampleSubnet = new azure.network.Subnet(\"example\", {\n    name: \"inbounddns\",\n    resourceGroupName: example.name,\n    virtualNetworkName: exampleVirtualNetwork.name,\n    addressPrefixes: [\"10.0.0.0/28\"],\n    delegations: [{\n        name: \"Microsoft.Network.dnsResolvers\",\n        serviceDelegation: {\n            actions: [\"Microsoft.Network/virtualNetworks/subnets/join/action\"],\n            name: \"Microsoft.Network/dnsResolvers\",\n        },\n    }],\n});\nconst exampleResolverInboundEndpoint = new azure.privatedns.ResolverInboundEndpoint(\"example\", {\n    name: \"example-drie\",\n    privateDnsResolverId: exampleResolver.id,\n    location: exampleResolver.location,\n    ipConfigurations: {\n        privateIpAllocationMethod: \"Dynamic\",\n        subnetId: exampleSubnet.id,\n    },\n    tags: {\n        key: \"value\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_virtual_network = azure.network.VirtualNetwork(\"example\",\n    name=\"example\",\n    resource_group_name=example.name,\n    location=example.location,\n    address_spaces=[\"10.0.0.0/16\"])\nexample_resolver = azure.privatedns.Resolver(\"example\",\n    name=\"example\",\n    resource_group_name=example.name,\n    location=example.location,\n    virtual_network_id=example_virtual_network.id)\nexample_subnet = azure.network.Subnet(\"example\",\n    name=\"inbounddns\",\n    resource_group_name=example.name,\n    virtual_network_name=example_virtual_network.name,\n    address_prefixes=[\"10.0.0.0/28\"],\n    delegations=[{\n        \"name\": \"Microsoft.Network.dnsResolvers\",\n        \"service_delegation\": {\n            \"actions\": [\"Microsoft.Network/virtualNetworks/subnets/join/action\"],\n            \"name\": \"Microsoft.Network/dnsResolvers\",\n        },\n    }])\nexample_resolver_inbound_endpoint = azure.privatedns.ResolverInboundEndpoint(\"example\",\n    name=\"example-drie\",\n    private_dns_resolver_id=example_resolver.id,\n    location=example_resolver.location,\n    ip_configurations={\n        \"private_ip_allocation_method\": \"Dynamic\",\n        \"subnet_id\": example_subnet.id,\n    },\n    tags={\n        \"key\": \"value\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleVirtualNetwork = new Azure.Network.VirtualNetwork(\"example\", new()\n    {\n        Name = \"example\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        AddressSpaces = new[]\n        {\n            \"10.0.0.0/16\",\n        },\n    });\n\n    var exampleResolver = new Azure.PrivateDns.Resolver(\"example\", new()\n    {\n        Name = \"example\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        VirtualNetworkId = exampleVirtualNetwork.Id,\n    });\n\n    var exampleSubnet = new Azure.Network.Subnet(\"example\", new()\n    {\n        Name = \"inbounddns\",\n        ResourceGroupName = example.Name,\n        VirtualNetworkName = exampleVirtualNetwork.Name,\n        AddressPrefixes = new[]\n        {\n            \"10.0.0.0/28\",\n        },\n        Delegations = new[]\n        {\n            new Azure.Network.Inputs.SubnetDelegationArgs\n            {\n                Name = \"Microsoft.Network.dnsResolvers\",\n                ServiceDelegation = new Azure.Network.Inputs.SubnetDelegationServiceDelegationArgs\n                {\n                    Actions = new[]\n                    {\n                        \"Microsoft.Network/virtualNetworks/subnets/join/action\",\n                    },\n                    Name = \"Microsoft.Network/dnsResolvers\",\n                },\n            },\n        },\n    });\n\n    var exampleResolverInboundEndpoint = new Azure.PrivateDns.ResolverInboundEndpoint(\"example\", new()\n    {\n        Name = \"example-drie\",\n        PrivateDnsResolverId = exampleResolver.Id,\n        Location = exampleResolver.Location,\n        IpConfigurations = new Azure.PrivateDns.Inputs.ResolverInboundEndpointIpConfigurationsArgs\n        {\n            PrivateIpAllocationMethod = \"Dynamic\",\n            SubnetId = exampleSubnet.Id,\n        },\n        Tags = \n        {\n            { \"key\", \"value\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/privatedns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, \"example\", \u0026network.VirtualNetworkArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tAddressSpaces: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.0.0/16\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleResolver, err := privatedns.NewResolver(ctx, \"example\", \u0026privatedns.ResolverArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tVirtualNetworkId:  exampleVirtualNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSubnet, err := network.NewSubnet(ctx, \"example\", \u0026network.SubnetArgs{\n\t\t\tName:               pulumi.String(\"inbounddns\"),\n\t\t\tResourceGroupName:  example.Name,\n\t\t\tVirtualNetworkName: exampleVirtualNetwork.Name,\n\t\t\tAddressPrefixes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.0.0/28\"),\n\t\t\t},\n\t\t\tDelegations: network.SubnetDelegationArray{\n\t\t\t\t\u0026network.SubnetDelegationArgs{\n\t\t\t\t\tName: pulumi.String(\"Microsoft.Network.dnsResolvers\"),\n\t\t\t\t\tServiceDelegation: \u0026network.SubnetDelegationServiceDelegationArgs{\n\t\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"Microsoft.Network/virtualNetworks/subnets/join/action\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tName: pulumi.String(\"Microsoft.Network/dnsResolvers\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = privatedns.NewResolverInboundEndpoint(ctx, \"example\", \u0026privatedns.ResolverInboundEndpointArgs{\n\t\t\tName:                 pulumi.String(\"example-drie\"),\n\t\t\tPrivateDnsResolverId: exampleResolver.ID(),\n\t\t\tLocation:             exampleResolver.Location,\n\t\t\tIpConfigurations: \u0026privatedns.ResolverInboundEndpointIpConfigurationsArgs{\n\t\t\t\tPrivateIpAllocationMethod: pulumi.String(\"Dynamic\"),\n\t\t\t\tSubnetId:                  exampleSubnet.ID(),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"key\": pulumi.String(\"value\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.VirtualNetwork;\nimport com.pulumi.azure.network.VirtualNetworkArgs;\nimport com.pulumi.azure.privatedns.Resolver;\nimport com.pulumi.azure.privatedns.ResolverArgs;\nimport com.pulumi.azure.network.Subnet;\nimport com.pulumi.azure.network.SubnetArgs;\nimport com.pulumi.azure.network.inputs.SubnetDelegationArgs;\nimport com.pulumi.azure.network.inputs.SubnetDelegationServiceDelegationArgs;\nimport com.pulumi.azure.privatedns.ResolverInboundEndpoint;\nimport com.pulumi.azure.privatedns.ResolverInboundEndpointArgs;\nimport com.pulumi.azure.privatedns.inputs.ResolverInboundEndpointIpConfigurationsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleVirtualNetwork = new VirtualNetwork(\"exampleVirtualNetwork\", VirtualNetworkArgs.builder()\n            .name(\"example\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .addressSpaces(\"10.0.0.0/16\")\n            .build());\n\n        var exampleResolver = new Resolver(\"exampleResolver\", ResolverArgs.builder()\n            .name(\"example\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .virtualNetworkId(exampleVirtualNetwork.id())\n            .build());\n\n        var exampleSubnet = new Subnet(\"exampleSubnet\", SubnetArgs.builder()\n            .name(\"inbounddns\")\n            .resourceGroupName(example.name())\n            .virtualNetworkName(exampleVirtualNetwork.name())\n            .addressPrefixes(\"10.0.0.0/28\")\n            .delegations(SubnetDelegationArgs.builder()\n                .name(\"Microsoft.Network.dnsResolvers\")\n                .serviceDelegation(SubnetDelegationServiceDelegationArgs.builder()\n                    .actions(\"Microsoft.Network/virtualNetworks/subnets/join/action\")\n                    .name(\"Microsoft.Network/dnsResolvers\")\n                    .build())\n                .build())\n            .build());\n\n        var exampleResolverInboundEndpoint = new ResolverInboundEndpoint(\"exampleResolverInboundEndpoint\", ResolverInboundEndpointArgs.builder()\n            .name(\"example-drie\")\n            .privateDnsResolverId(exampleResolver.id())\n            .location(exampleResolver.location())\n            .ipConfigurations(ResolverInboundEndpointIpConfigurationsArgs.builder()\n                .privateIpAllocationMethod(\"Dynamic\")\n                .subnetId(exampleSubnet.id())\n                .build())\n            .tags(Map.of(\"key\", \"value\"))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleVirtualNetwork:\n    type: azure:network:VirtualNetwork\n    name: example\n    properties:\n      name: example\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      addressSpaces:\n        - 10.0.0.0/16\n  exampleResolver:\n    type: azure:privatedns:Resolver\n    name: example\n    properties:\n      name: example\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      virtualNetworkId: ${exampleVirtualNetwork.id}\n  exampleSubnet:\n    type: azure:network:Subnet\n    name: example\n    properties:\n      name: inbounddns\n      resourceGroupName: ${example.name}\n      virtualNetworkName: ${exampleVirtualNetwork.name}\n      addressPrefixes:\n        - 10.0.0.0/28\n      delegations:\n        - name: Microsoft.Network.dnsResolvers\n          serviceDelegation:\n            actions:\n              - Microsoft.Network/virtualNetworks/subnets/join/action\n            name: Microsoft.Network/dnsResolvers\n  exampleResolverInboundEndpoint:\n    type: azure:privatedns:ResolverInboundEndpoint\n    name: example\n    properties:\n      name: example-drie\n      privateDnsResolverId: ${exampleResolver.id}\n      location: ${exampleResolver.location}\n      ipConfigurations:\n        privateIpAllocationMethod: Dynamic\n        subnetId: ${exampleSubnet.id}\n      tags:\n        key: value\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2022-07-01\n\n## Import\n\nPrivate DNS Resolver Inbound Endpoint can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:privatedns/resolverInboundEndpoint:ResolverInboundEndpoint example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup1/providers/Microsoft.Network/dnsResolvers/dnsResolver1/inboundEndpoints/inboundEndpoint1\n```\n\n","properties":{"ipConfigurations":{"$ref":"#/types/azure:privatedns/ResolverInboundEndpointIpConfigurations:ResolverInboundEndpointIpConfigurations","description":"One \u003cspan pulumi-lang-nodejs=\"`ipConfigurations`\" pulumi-lang-dotnet=\"`IpConfigurations`\" pulumi-lang-go=\"`ipConfigurations`\" pulumi-lang-python=\"`ip_configurations`\" pulumi-lang-yaml=\"`ipConfigurations`\" pulumi-lang-java=\"`ipConfigurations`\"\u003e`ip_configurations`\u003c/span\u003e block as defined below. Changing this forces a new Private DNS Resolver Inbound Endpoint to be created.\n"},"location":{"type":"string","description":"Specifies the Azure Region where the Private DNS Resolver Inbound Endpoint should exist. Changing this forces a new Private DNS Resolver Inbound Endpoint to be created.\n"},"name":{"type":"string","description":"Specifies the name which should be used for this Private DNS Resolver Inbound Endpoint. Changing this forces a new Private DNS Resolver Inbound Endpoint to be created.\n"},"privateDnsResolverId":{"type":"string","description":"Specifies the ID of the Private DNS Resolver Inbound Endpoint. Changing this forces a new Private DNS Resolver Inbound Endpoint to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Private DNS Resolver Inbound Endpoint.\n"}},"required":["ipConfigurations","location","name","privateDnsResolverId"],"inputProperties":{"ipConfigurations":{"$ref":"#/types/azure:privatedns/ResolverInboundEndpointIpConfigurations:ResolverInboundEndpointIpConfigurations","description":"One \u003cspan pulumi-lang-nodejs=\"`ipConfigurations`\" pulumi-lang-dotnet=\"`IpConfigurations`\" pulumi-lang-go=\"`ipConfigurations`\" pulumi-lang-python=\"`ip_configurations`\" pulumi-lang-yaml=\"`ipConfigurations`\" pulumi-lang-java=\"`ipConfigurations`\"\u003e`ip_configurations`\u003c/span\u003e block as defined below. Changing this forces a new Private DNS Resolver Inbound Endpoint to be created.\n","willReplaceOnChanges":true},"location":{"type":"string","description":"Specifies the Azure Region where the Private DNS Resolver Inbound Endpoint should exist. Changing this forces a new Private DNS Resolver Inbound Endpoint to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name which should be used for this Private DNS Resolver Inbound Endpoint. Changing this forces a new Private DNS Resolver Inbound Endpoint to be created.\n","willReplaceOnChanges":true},"privateDnsResolverId":{"type":"string","description":"Specifies the ID of the Private DNS Resolver Inbound Endpoint. Changing this forces a new Private DNS Resolver Inbound Endpoint to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Private DNS Resolver Inbound Endpoint.\n"}},"requiredInputs":["ipConfigurations","privateDnsResolverId"],"stateInputs":{"description":"Input properties used for looking up and filtering ResolverInboundEndpoint resources.\n","properties":{"ipConfigurations":{"$ref":"#/types/azure:privatedns/ResolverInboundEndpointIpConfigurations:ResolverInboundEndpointIpConfigurations","description":"One \u003cspan pulumi-lang-nodejs=\"`ipConfigurations`\" pulumi-lang-dotnet=\"`IpConfigurations`\" pulumi-lang-go=\"`ipConfigurations`\" pulumi-lang-python=\"`ip_configurations`\" pulumi-lang-yaml=\"`ipConfigurations`\" pulumi-lang-java=\"`ipConfigurations`\"\u003e`ip_configurations`\u003c/span\u003e block as defined below. Changing this forces a new Private DNS Resolver Inbound Endpoint to be created.\n","willReplaceOnChanges":true},"location":{"type":"string","description":"Specifies the Azure Region where the Private DNS Resolver Inbound Endpoint should exist. Changing this forces a new Private DNS Resolver Inbound Endpoint to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name which should be used for this Private DNS Resolver Inbound Endpoint. Changing this forces a new Private DNS Resolver Inbound Endpoint to be created.\n","willReplaceOnChanges":true},"privateDnsResolverId":{"type":"string","description":"Specifies the ID of the Private DNS Resolver Inbound Endpoint. Changing this forces a new Private DNS Resolver Inbound Endpoint to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Private DNS Resolver Inbound Endpoint.\n"}},"type":"object"}},"azure:privatedns/resolverOutboundEndpoint:ResolverOutboundEndpoint":{"description":"Manages a Private DNS Resolver Outbound Endpoint.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"west europe\",\n});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"example\", {\n    name: \"example-vnet\",\n    resourceGroupName: example.name,\n    location: example.location,\n    addressSpaces: [\"10.0.0.0/16\"],\n});\nconst exampleSubnet = new azure.network.Subnet(\"example\", {\n    name: \"outbounddns\",\n    resourceGroupName: example.name,\n    virtualNetworkName: exampleVirtualNetwork.name,\n    addressPrefixes: [\"10.0.0.64/28\"],\n    delegations: [{\n        name: \"Microsoft.Network.dnsResolvers\",\n        serviceDelegation: {\n            actions: [\"Microsoft.Network/virtualNetworks/subnets/join/action\"],\n            name: \"Microsoft.Network/dnsResolvers\",\n        },\n    }],\n});\nconst exampleResolver = new azure.privatedns.Resolver(\"example\", {\n    name: \"example-resolver\",\n    resourceGroupName: example.name,\n    location: example.location,\n    virtualNetworkId: exampleVirtualNetwork.id,\n});\nconst exampleResolverOutboundEndpoint = new azure.privatedns.ResolverOutboundEndpoint(\"example\", {\n    name: \"example-endpoint\",\n    privateDnsResolverId: exampleResolver.id,\n    location: exampleResolver.location,\n    subnetId: exampleSubnet.id,\n    tags: {\n        key: \"value\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"west europe\")\nexample_virtual_network = azure.network.VirtualNetwork(\"example\",\n    name=\"example-vnet\",\n    resource_group_name=example.name,\n    location=example.location,\n    address_spaces=[\"10.0.0.0/16\"])\nexample_subnet = azure.network.Subnet(\"example\",\n    name=\"outbounddns\",\n    resource_group_name=example.name,\n    virtual_network_name=example_virtual_network.name,\n    address_prefixes=[\"10.0.0.64/28\"],\n    delegations=[{\n        \"name\": \"Microsoft.Network.dnsResolvers\",\n        \"service_delegation\": {\n            \"actions\": [\"Microsoft.Network/virtualNetworks/subnets/join/action\"],\n            \"name\": \"Microsoft.Network/dnsResolvers\",\n        },\n    }])\nexample_resolver = azure.privatedns.Resolver(\"example\",\n    name=\"example-resolver\",\n    resource_group_name=example.name,\n    location=example.location,\n    virtual_network_id=example_virtual_network.id)\nexample_resolver_outbound_endpoint = azure.privatedns.ResolverOutboundEndpoint(\"example\",\n    name=\"example-endpoint\",\n    private_dns_resolver_id=example_resolver.id,\n    location=example_resolver.location,\n    subnet_id=example_subnet.id,\n    tags={\n        \"key\": \"value\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"west europe\",\n    });\n\n    var exampleVirtualNetwork = new Azure.Network.VirtualNetwork(\"example\", new()\n    {\n        Name = \"example-vnet\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        AddressSpaces = new[]\n        {\n            \"10.0.0.0/16\",\n        },\n    });\n\n    var exampleSubnet = new Azure.Network.Subnet(\"example\", new()\n    {\n        Name = \"outbounddns\",\n        ResourceGroupName = example.Name,\n        VirtualNetworkName = exampleVirtualNetwork.Name,\n        AddressPrefixes = new[]\n        {\n            \"10.0.0.64/28\",\n        },\n        Delegations = new[]\n        {\n            new Azure.Network.Inputs.SubnetDelegationArgs\n            {\n                Name = \"Microsoft.Network.dnsResolvers\",\n                ServiceDelegation = new Azure.Network.Inputs.SubnetDelegationServiceDelegationArgs\n                {\n                    Actions = new[]\n                    {\n                        \"Microsoft.Network/virtualNetworks/subnets/join/action\",\n                    },\n                    Name = \"Microsoft.Network/dnsResolvers\",\n                },\n            },\n        },\n    });\n\n    var exampleResolver = new Azure.PrivateDns.Resolver(\"example\", new()\n    {\n        Name = \"example-resolver\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        VirtualNetworkId = exampleVirtualNetwork.Id,\n    });\n\n    var exampleResolverOutboundEndpoint = new Azure.PrivateDns.ResolverOutboundEndpoint(\"example\", new()\n    {\n        Name = \"example-endpoint\",\n        PrivateDnsResolverId = exampleResolver.Id,\n        Location = exampleResolver.Location,\n        SubnetId = exampleSubnet.Id,\n        Tags = \n        {\n            { \"key\", \"value\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/privatedns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"west europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, \"example\", \u0026network.VirtualNetworkArgs{\n\t\t\tName:              pulumi.String(\"example-vnet\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tAddressSpaces: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.0.0/16\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSubnet, err := network.NewSubnet(ctx, \"example\", \u0026network.SubnetArgs{\n\t\t\tName:               pulumi.String(\"outbounddns\"),\n\t\t\tResourceGroupName:  example.Name,\n\t\t\tVirtualNetworkName: exampleVirtualNetwork.Name,\n\t\t\tAddressPrefixes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.0.64/28\"),\n\t\t\t},\n\t\t\tDelegations: network.SubnetDelegationArray{\n\t\t\t\t\u0026network.SubnetDelegationArgs{\n\t\t\t\t\tName: pulumi.String(\"Microsoft.Network.dnsResolvers\"),\n\t\t\t\t\tServiceDelegation: \u0026network.SubnetDelegationServiceDelegationArgs{\n\t\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"Microsoft.Network/virtualNetworks/subnets/join/action\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tName: pulumi.String(\"Microsoft.Network/dnsResolvers\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleResolver, err := privatedns.NewResolver(ctx, \"example\", \u0026privatedns.ResolverArgs{\n\t\t\tName:              pulumi.String(\"example-resolver\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tVirtualNetworkId:  exampleVirtualNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = privatedns.NewResolverOutboundEndpoint(ctx, \"example\", \u0026privatedns.ResolverOutboundEndpointArgs{\n\t\t\tName:                 pulumi.String(\"example-endpoint\"),\n\t\t\tPrivateDnsResolverId: exampleResolver.ID(),\n\t\t\tLocation:             exampleResolver.Location,\n\t\t\tSubnetId:             exampleSubnet.ID(),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"key\": pulumi.String(\"value\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.VirtualNetwork;\nimport com.pulumi.azure.network.VirtualNetworkArgs;\nimport com.pulumi.azure.network.Subnet;\nimport com.pulumi.azure.network.SubnetArgs;\nimport com.pulumi.azure.network.inputs.SubnetDelegationArgs;\nimport com.pulumi.azure.network.inputs.SubnetDelegationServiceDelegationArgs;\nimport com.pulumi.azure.privatedns.Resolver;\nimport com.pulumi.azure.privatedns.ResolverArgs;\nimport com.pulumi.azure.privatedns.ResolverOutboundEndpoint;\nimport com.pulumi.azure.privatedns.ResolverOutboundEndpointArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"west europe\")\n            .build());\n\n        var exampleVirtualNetwork = new VirtualNetwork(\"exampleVirtualNetwork\", VirtualNetworkArgs.builder()\n            .name(\"example-vnet\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .addressSpaces(\"10.0.0.0/16\")\n            .build());\n\n        var exampleSubnet = new Subnet(\"exampleSubnet\", SubnetArgs.builder()\n            .name(\"outbounddns\")\n            .resourceGroupName(example.name())\n            .virtualNetworkName(exampleVirtualNetwork.name())\n            .addressPrefixes(\"10.0.0.64/28\")\n            .delegations(SubnetDelegationArgs.builder()\n                .name(\"Microsoft.Network.dnsResolvers\")\n                .serviceDelegation(SubnetDelegationServiceDelegationArgs.builder()\n                    .actions(\"Microsoft.Network/virtualNetworks/subnets/join/action\")\n                    .name(\"Microsoft.Network/dnsResolvers\")\n                    .build())\n                .build())\n            .build());\n\n        var exampleResolver = new Resolver(\"exampleResolver\", ResolverArgs.builder()\n            .name(\"example-resolver\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .virtualNetworkId(exampleVirtualNetwork.id())\n            .build());\n\n        var exampleResolverOutboundEndpoint = new ResolverOutboundEndpoint(\"exampleResolverOutboundEndpoint\", ResolverOutboundEndpointArgs.builder()\n            .name(\"example-endpoint\")\n            .privateDnsResolverId(exampleResolver.id())\n            .location(exampleResolver.location())\n            .subnetId(exampleSubnet.id())\n            .tags(Map.of(\"key\", \"value\"))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: west europe\n  exampleVirtualNetwork:\n    type: azure:network:VirtualNetwork\n    name: example\n    properties:\n      name: example-vnet\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      addressSpaces:\n        - 10.0.0.0/16\n  exampleSubnet:\n    type: azure:network:Subnet\n    name: example\n    properties:\n      name: outbounddns\n      resourceGroupName: ${example.name}\n      virtualNetworkName: ${exampleVirtualNetwork.name}\n      addressPrefixes:\n        - 10.0.0.64/28\n      delegations:\n        - name: Microsoft.Network.dnsResolvers\n          serviceDelegation:\n            actions:\n              - Microsoft.Network/virtualNetworks/subnets/join/action\n            name: Microsoft.Network/dnsResolvers\n  exampleResolver:\n    type: azure:privatedns:Resolver\n    name: example\n    properties:\n      name: example-resolver\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      virtualNetworkId: ${exampleVirtualNetwork.id}\n  exampleResolverOutboundEndpoint:\n    type: azure:privatedns:ResolverOutboundEndpoint\n    name: example\n    properties:\n      name: example-endpoint\n      privateDnsResolverId: ${exampleResolver.id}\n      location: ${exampleResolver.location}\n      subnetId: ${exampleSubnet.id}\n      tags:\n        key: value\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2022-07-01\n\n## Import\n\nPrivate DNS Resolver Outbound Endpoint can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:privatedns/resolverOutboundEndpoint:ResolverOutboundEndpoint example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup1/providers/Microsoft.Network/dnsResolvers/dnsResolver1/outboundEndpoints/outboundEndpoint1\n```\n\n","properties":{"location":{"type":"string","description":"Specifies the Azure Region where the Private DNS Resolver Outbound Endpoint should exist. Changing this forces a new Private DNS Resolver Outbound Endpoint to be created.\n"},"name":{"type":"string","description":"Specifies the name which should be used for this Private DNS Resolver Outbound Endpoint. Changing this forces a new Private DNS Resolver Outbound Endpoint to be created.\n"},"privateDnsResolverId":{"type":"string","description":"Specifies the ID of the Private DNS Resolver Outbound Endpoint. Changing this forces a new Private DNS Resolver Outbound Endpoint to be created.\n"},"subnetId":{"type":"string","description":"The ID of the Subnet that is linked to the Private DNS Resolver Outbound Endpoint. Changing this forces a new resource to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Private DNS Resolver Outbound Endpoint.\n"}},"required":["location","name","privateDnsResolverId","subnetId"],"inputProperties":{"location":{"type":"string","description":"Specifies the Azure Region where the Private DNS Resolver Outbound Endpoint should exist. Changing this forces a new Private DNS Resolver Outbound Endpoint to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name which should be used for this Private DNS Resolver Outbound Endpoint. Changing this forces a new Private DNS Resolver Outbound Endpoint to be created.\n","willReplaceOnChanges":true},"privateDnsResolverId":{"type":"string","description":"Specifies the ID of the Private DNS Resolver Outbound Endpoint. Changing this forces a new Private DNS Resolver Outbound Endpoint to be created.\n","willReplaceOnChanges":true},"subnetId":{"type":"string","description":"The ID of the Subnet that is linked to the Private DNS Resolver Outbound Endpoint. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Private DNS Resolver Outbound Endpoint.\n"}},"requiredInputs":["privateDnsResolverId","subnetId"],"stateInputs":{"description":"Input properties used for looking up and filtering ResolverOutboundEndpoint resources.\n","properties":{"location":{"type":"string","description":"Specifies the Azure Region where the Private DNS Resolver Outbound Endpoint should exist. Changing this forces a new Private DNS Resolver Outbound Endpoint to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name which should be used for this Private DNS Resolver Outbound Endpoint. Changing this forces a new Private DNS Resolver Outbound Endpoint to be created.\n","willReplaceOnChanges":true},"privateDnsResolverId":{"type":"string","description":"Specifies the ID of the Private DNS Resolver Outbound Endpoint. Changing this forces a new Private DNS Resolver Outbound Endpoint to be created.\n","willReplaceOnChanges":true},"subnetId":{"type":"string","description":"The ID of the Subnet that is linked to the Private DNS Resolver Outbound Endpoint. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Private DNS Resolver Outbound Endpoint.\n"}},"type":"object"}},"azure:privatedns/resolverVirtualNetworkLink:ResolverVirtualNetworkLink":{"description":"Manages a Private DNS Resolver Virtual Network Link.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"west europe\",\n});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"example\", {\n    name: \"example-vnet\",\n    resourceGroupName: example.name,\n    location: example.location,\n    addressSpaces: [\"10.0.0.0/16\"],\n});\nconst exampleSubnet = new azure.network.Subnet(\"example\", {\n    name: \"outbounddns\",\n    resourceGroupName: example.name,\n    virtualNetworkName: exampleVirtualNetwork.name,\n    addressPrefixes: [\"10.0.0.64/28\"],\n    delegations: [{\n        name: \"Microsoft.Network.dnsResolvers\",\n        serviceDelegation: {\n            actions: [\"Microsoft.Network/virtualNetworks/subnets/join/action\"],\n            name: \"Microsoft.Network/dnsResolvers\",\n        },\n    }],\n});\nconst exampleResolver = new azure.privatedns.Resolver(\"example\", {\n    name: \"example-resolver\",\n    resourceGroupName: example.name,\n    location: example.location,\n    virtualNetworkId: exampleVirtualNetwork.id,\n});\nconst exampleResolverOutboundEndpoint = new azure.privatedns.ResolverOutboundEndpoint(\"example\", {\n    name: \"example-endpoint\",\n    privateDnsResolverId: exampleResolver.id,\n    location: exampleResolver.location,\n    subnetId: exampleSubnet.id,\n    tags: {\n        key: \"value\",\n    },\n});\nconst exampleResolverDnsForwardingRuleset = new azure.privatedns.ResolverDnsForwardingRuleset(\"example\", {\n    name: \"example-ruleset\",\n    resourceGroupName: example.name,\n    location: example.location,\n    privateDnsResolverOutboundEndpointIds: [exampleResolverOutboundEndpoint.id],\n    tags: {\n        key: \"value\",\n    },\n});\nconst exampleResolverVirtualNetworkLink = new azure.privatedns.ResolverVirtualNetworkLink(\"example\", {\n    name: \"example-link\",\n    dnsForwardingRulesetId: exampleResolverDnsForwardingRuleset.id,\n    virtualNetworkId: exampleVirtualNetwork.id,\n    metadata: {\n        key: \"value\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"west europe\")\nexample_virtual_network = azure.network.VirtualNetwork(\"example\",\n    name=\"example-vnet\",\n    resource_group_name=example.name,\n    location=example.location,\n    address_spaces=[\"10.0.0.0/16\"])\nexample_subnet = azure.network.Subnet(\"example\",\n    name=\"outbounddns\",\n    resource_group_name=example.name,\n    virtual_network_name=example_virtual_network.name,\n    address_prefixes=[\"10.0.0.64/28\"],\n    delegations=[{\n        \"name\": \"Microsoft.Network.dnsResolvers\",\n        \"service_delegation\": {\n            \"actions\": [\"Microsoft.Network/virtualNetworks/subnets/join/action\"],\n            \"name\": \"Microsoft.Network/dnsResolvers\",\n        },\n    }])\nexample_resolver = azure.privatedns.Resolver(\"example\",\n    name=\"example-resolver\",\n    resource_group_name=example.name,\n    location=example.location,\n    virtual_network_id=example_virtual_network.id)\nexample_resolver_outbound_endpoint = azure.privatedns.ResolverOutboundEndpoint(\"example\",\n    name=\"example-endpoint\",\n    private_dns_resolver_id=example_resolver.id,\n    location=example_resolver.location,\n    subnet_id=example_subnet.id,\n    tags={\n        \"key\": \"value\",\n    })\nexample_resolver_dns_forwarding_ruleset = azure.privatedns.ResolverDnsForwardingRuleset(\"example\",\n    name=\"example-ruleset\",\n    resource_group_name=example.name,\n    location=example.location,\n    private_dns_resolver_outbound_endpoint_ids=[example_resolver_outbound_endpoint.id],\n    tags={\n        \"key\": \"value\",\n    })\nexample_resolver_virtual_network_link = azure.privatedns.ResolverVirtualNetworkLink(\"example\",\n    name=\"example-link\",\n    dns_forwarding_ruleset_id=example_resolver_dns_forwarding_ruleset.id,\n    virtual_network_id=example_virtual_network.id,\n    metadata={\n        \"key\": \"value\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"west europe\",\n    });\n\n    var exampleVirtualNetwork = new Azure.Network.VirtualNetwork(\"example\", new()\n    {\n        Name = \"example-vnet\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        AddressSpaces = new[]\n        {\n            \"10.0.0.0/16\",\n        },\n    });\n\n    var exampleSubnet = new Azure.Network.Subnet(\"example\", new()\n    {\n        Name = \"outbounddns\",\n        ResourceGroupName = example.Name,\n        VirtualNetworkName = exampleVirtualNetwork.Name,\n        AddressPrefixes = new[]\n        {\n            \"10.0.0.64/28\",\n        },\n        Delegations = new[]\n        {\n            new Azure.Network.Inputs.SubnetDelegationArgs\n            {\n                Name = \"Microsoft.Network.dnsResolvers\",\n                ServiceDelegation = new Azure.Network.Inputs.SubnetDelegationServiceDelegationArgs\n                {\n                    Actions = new[]\n                    {\n                        \"Microsoft.Network/virtualNetworks/subnets/join/action\",\n                    },\n                    Name = \"Microsoft.Network/dnsResolvers\",\n                },\n            },\n        },\n    });\n\n    var exampleResolver = new Azure.PrivateDns.Resolver(\"example\", new()\n    {\n        Name = \"example-resolver\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        VirtualNetworkId = exampleVirtualNetwork.Id,\n    });\n\n    var exampleResolverOutboundEndpoint = new Azure.PrivateDns.ResolverOutboundEndpoint(\"example\", new()\n    {\n        Name = \"example-endpoint\",\n        PrivateDnsResolverId = exampleResolver.Id,\n        Location = exampleResolver.Location,\n        SubnetId = exampleSubnet.Id,\n        Tags = \n        {\n            { \"key\", \"value\" },\n        },\n    });\n\n    var exampleResolverDnsForwardingRuleset = new Azure.PrivateDns.ResolverDnsForwardingRuleset(\"example\", new()\n    {\n        Name = \"example-ruleset\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        PrivateDnsResolverOutboundEndpointIds = new[]\n        {\n            exampleResolverOutboundEndpoint.Id,\n        },\n        Tags = \n        {\n            { \"key\", \"value\" },\n        },\n    });\n\n    var exampleResolverVirtualNetworkLink = new Azure.PrivateDns.ResolverVirtualNetworkLink(\"example\", new()\n    {\n        Name = \"example-link\",\n        DnsForwardingRulesetId = exampleResolverDnsForwardingRuleset.Id,\n        VirtualNetworkId = exampleVirtualNetwork.Id,\n        Metadata = \n        {\n            { \"key\", \"value\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/privatedns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"west europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, \"example\", \u0026network.VirtualNetworkArgs{\n\t\t\tName:              pulumi.String(\"example-vnet\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tAddressSpaces: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.0.0/16\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSubnet, err := network.NewSubnet(ctx, \"example\", \u0026network.SubnetArgs{\n\t\t\tName:               pulumi.String(\"outbounddns\"),\n\t\t\tResourceGroupName:  example.Name,\n\t\t\tVirtualNetworkName: exampleVirtualNetwork.Name,\n\t\t\tAddressPrefixes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.0.64/28\"),\n\t\t\t},\n\t\t\tDelegations: network.SubnetDelegationArray{\n\t\t\t\t\u0026network.SubnetDelegationArgs{\n\t\t\t\t\tName: pulumi.String(\"Microsoft.Network.dnsResolvers\"),\n\t\t\t\t\tServiceDelegation: \u0026network.SubnetDelegationServiceDelegationArgs{\n\t\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"Microsoft.Network/virtualNetworks/subnets/join/action\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tName: pulumi.String(\"Microsoft.Network/dnsResolvers\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleResolver, err := privatedns.NewResolver(ctx, \"example\", \u0026privatedns.ResolverArgs{\n\t\t\tName:              pulumi.String(\"example-resolver\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tVirtualNetworkId:  exampleVirtualNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleResolverOutboundEndpoint, err := privatedns.NewResolverOutboundEndpoint(ctx, \"example\", \u0026privatedns.ResolverOutboundEndpointArgs{\n\t\t\tName:                 pulumi.String(\"example-endpoint\"),\n\t\t\tPrivateDnsResolverId: exampleResolver.ID(),\n\t\t\tLocation:             exampleResolver.Location,\n\t\t\tSubnetId:             exampleSubnet.ID(),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"key\": pulumi.String(\"value\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleResolverDnsForwardingRuleset, err := privatedns.NewResolverDnsForwardingRuleset(ctx, \"example\", \u0026privatedns.ResolverDnsForwardingRulesetArgs{\n\t\t\tName:              pulumi.String(\"example-ruleset\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tPrivateDnsResolverOutboundEndpointIds: pulumi.StringArray{\n\t\t\t\texampleResolverOutboundEndpoint.ID(),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"key\": pulumi.String(\"value\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = privatedns.NewResolverVirtualNetworkLink(ctx, \"example\", \u0026privatedns.ResolverVirtualNetworkLinkArgs{\n\t\t\tName:                   pulumi.String(\"example-link\"),\n\t\t\tDnsForwardingRulesetId: exampleResolverDnsForwardingRuleset.ID(),\n\t\t\tVirtualNetworkId:       exampleVirtualNetwork.ID(),\n\t\t\tMetadata: pulumi.StringMap{\n\t\t\t\t\"key\": pulumi.String(\"value\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.VirtualNetwork;\nimport com.pulumi.azure.network.VirtualNetworkArgs;\nimport com.pulumi.azure.network.Subnet;\nimport com.pulumi.azure.network.SubnetArgs;\nimport com.pulumi.azure.network.inputs.SubnetDelegationArgs;\nimport com.pulumi.azure.network.inputs.SubnetDelegationServiceDelegationArgs;\nimport com.pulumi.azure.privatedns.Resolver;\nimport com.pulumi.azure.privatedns.ResolverArgs;\nimport com.pulumi.azure.privatedns.ResolverOutboundEndpoint;\nimport com.pulumi.azure.privatedns.ResolverOutboundEndpointArgs;\nimport com.pulumi.azure.privatedns.ResolverDnsForwardingRuleset;\nimport com.pulumi.azure.privatedns.ResolverDnsForwardingRulesetArgs;\nimport com.pulumi.azure.privatedns.ResolverVirtualNetworkLink;\nimport com.pulumi.azure.privatedns.ResolverVirtualNetworkLinkArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"west europe\")\n            .build());\n\n        var exampleVirtualNetwork = new VirtualNetwork(\"exampleVirtualNetwork\", VirtualNetworkArgs.builder()\n            .name(\"example-vnet\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .addressSpaces(\"10.0.0.0/16\")\n            .build());\n\n        var exampleSubnet = new Subnet(\"exampleSubnet\", SubnetArgs.builder()\n            .name(\"outbounddns\")\n            .resourceGroupName(example.name())\n            .virtualNetworkName(exampleVirtualNetwork.name())\n            .addressPrefixes(\"10.0.0.64/28\")\n            .delegations(SubnetDelegationArgs.builder()\n                .name(\"Microsoft.Network.dnsResolvers\")\n                .serviceDelegation(SubnetDelegationServiceDelegationArgs.builder()\n                    .actions(\"Microsoft.Network/virtualNetworks/subnets/join/action\")\n                    .name(\"Microsoft.Network/dnsResolvers\")\n                    .build())\n                .build())\n            .build());\n\n        var exampleResolver = new Resolver(\"exampleResolver\", ResolverArgs.builder()\n            .name(\"example-resolver\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .virtualNetworkId(exampleVirtualNetwork.id())\n            .build());\n\n        var exampleResolverOutboundEndpoint = new ResolverOutboundEndpoint(\"exampleResolverOutboundEndpoint\", ResolverOutboundEndpointArgs.builder()\n            .name(\"example-endpoint\")\n            .privateDnsResolverId(exampleResolver.id())\n            .location(exampleResolver.location())\n            .subnetId(exampleSubnet.id())\n            .tags(Map.of(\"key\", \"value\"))\n            .build());\n\n        var exampleResolverDnsForwardingRuleset = new ResolverDnsForwardingRuleset(\"exampleResolverDnsForwardingRuleset\", ResolverDnsForwardingRulesetArgs.builder()\n            .name(\"example-ruleset\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .privateDnsResolverOutboundEndpointIds(exampleResolverOutboundEndpoint.id())\n            .tags(Map.of(\"key\", \"value\"))\n            .build());\n\n        var exampleResolverVirtualNetworkLink = new ResolverVirtualNetworkLink(\"exampleResolverVirtualNetworkLink\", ResolverVirtualNetworkLinkArgs.builder()\n            .name(\"example-link\")\n            .dnsForwardingRulesetId(exampleResolverDnsForwardingRuleset.id())\n            .virtualNetworkId(exampleVirtualNetwork.id())\n            .metadata(Map.of(\"key\", \"value\"))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: west europe\n  exampleVirtualNetwork:\n    type: azure:network:VirtualNetwork\n    name: example\n    properties:\n      name: example-vnet\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      addressSpaces:\n        - 10.0.0.0/16\n  exampleSubnet:\n    type: azure:network:Subnet\n    name: example\n    properties:\n      name: outbounddns\n      resourceGroupName: ${example.name}\n      virtualNetworkName: ${exampleVirtualNetwork.name}\n      addressPrefixes:\n        - 10.0.0.64/28\n      delegations:\n        - name: Microsoft.Network.dnsResolvers\n          serviceDelegation:\n            actions:\n              - Microsoft.Network/virtualNetworks/subnets/join/action\n            name: Microsoft.Network/dnsResolvers\n  exampleResolver:\n    type: azure:privatedns:Resolver\n    name: example\n    properties:\n      name: example-resolver\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      virtualNetworkId: ${exampleVirtualNetwork.id}\n  exampleResolverOutboundEndpoint:\n    type: azure:privatedns:ResolverOutboundEndpoint\n    name: example\n    properties:\n      name: example-endpoint\n      privateDnsResolverId: ${exampleResolver.id}\n      location: ${exampleResolver.location}\n      subnetId: ${exampleSubnet.id}\n      tags:\n        key: value\n  exampleResolverDnsForwardingRuleset:\n    type: azure:privatedns:ResolverDnsForwardingRuleset\n    name: example\n    properties:\n      name: example-ruleset\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      privateDnsResolverOutboundEndpointIds:\n        - ${exampleResolverOutboundEndpoint.id}\n      tags:\n        key: value\n  exampleResolverVirtualNetworkLink:\n    type: azure:privatedns:ResolverVirtualNetworkLink\n    name: example\n    properties:\n      name: example-link\n      dnsForwardingRulesetId: ${exampleResolverDnsForwardingRuleset.id}\n      virtualNetworkId: ${exampleVirtualNetwork.id}\n      metadata:\n        key: value\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2022-07-01\n\n## Import\n\nPrivate DNS Resolver Virtual Network Link can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:privatedns/resolverVirtualNetworkLink:ResolverVirtualNetworkLink example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup1/providers/Microsoft.Network/dnsForwardingRulesets/dnsForwardingRuleset1/virtualNetworkLinks/virtualNetworkLink1\n```\n\n","properties":{"dnsForwardingRulesetId":{"type":"string","description":"Specifies the ID of the Private DNS Resolver DNS Forwarding Ruleset. Changing this forces a new Private DNS Resolver Virtual Network Link to be created.\n"},"metadata":{"type":"object","additionalProperties":{"type":"string"},"description":"Metadata attached to the Private DNS Resolver Virtual Network Link.\n"},"name":{"type":"string","description":"Specifies the name which should be used for this Private DNS Resolver Virtual Network Link. Changing this forces a new Private DNS Resolver Virtual Network Link to be created.\n"},"virtualNetworkId":{"type":"string","description":"The ID of the Virtual Network that is linked to the Private DNS Resolver Virtual Network Link. Changing this forces a new resource to be created.\n"}},"required":["dnsForwardingRulesetId","name","virtualNetworkId"],"inputProperties":{"dnsForwardingRulesetId":{"type":"string","description":"Specifies the ID of the Private DNS Resolver DNS Forwarding Ruleset. Changing this forces a new Private DNS Resolver Virtual Network Link to be created.\n","willReplaceOnChanges":true},"metadata":{"type":"object","additionalProperties":{"type":"string"},"description":"Metadata attached to the Private DNS Resolver Virtual Network Link.\n"},"name":{"type":"string","description":"Specifies the name which should be used for this Private DNS Resolver Virtual Network Link. Changing this forces a new Private DNS Resolver Virtual Network Link to be created.\n","willReplaceOnChanges":true},"virtualNetworkId":{"type":"string","description":"The ID of the Virtual Network that is linked to the Private DNS Resolver Virtual Network Link. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["dnsForwardingRulesetId","virtualNetworkId"],"stateInputs":{"description":"Input properties used for looking up and filtering ResolverVirtualNetworkLink resources.\n","properties":{"dnsForwardingRulesetId":{"type":"string","description":"Specifies the ID of the Private DNS Resolver DNS Forwarding Ruleset. Changing this forces a new Private DNS Resolver Virtual Network Link to be created.\n","willReplaceOnChanges":true},"metadata":{"type":"object","additionalProperties":{"type":"string"},"description":"Metadata attached to the Private DNS Resolver Virtual Network Link.\n"},"name":{"type":"string","description":"Specifies the name which should be used for this Private DNS Resolver Virtual Network Link. Changing this forces a new Private DNS Resolver Virtual Network Link to be created.\n","willReplaceOnChanges":true},"virtualNetworkId":{"type":"string","description":"The ID of the Virtual Network that is linked to the Private DNS Resolver Virtual Network Link. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:privatedns/sRVRecord:SRVRecord":{"description":"Enables you to manage DNS SRV Records within Azure Private DNS.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleZone = new azure.privatedns.Zone(\"example\", {\n    name: \"contoso.com\",\n    resourceGroupName: example.name,\n});\nconst exampleSRVRecord = new azure.privatedns.SRVRecord(\"example\", {\n    name: \"test\",\n    resourceGroupName: example.name,\n    zoneName: exampleZone.name,\n    ttl: 300,\n    records: [\n        {\n            priority: 1,\n            weight: 5,\n            port: 8080,\n            target: \"target1.contoso.com\",\n        },\n        {\n            priority: 10,\n            weight: 10,\n            port: 8080,\n            target: \"target2.contoso.com\",\n        },\n    ],\n    tags: {\n        Environment: \"Production\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_zone = azure.privatedns.Zone(\"example\",\n    name=\"contoso.com\",\n    resource_group_name=example.name)\nexample_srv_record = azure.privatedns.SRVRecord(\"example\",\n    name=\"test\",\n    resource_group_name=example.name,\n    zone_name=example_zone.name,\n    ttl=300,\n    records=[\n        {\n            \"priority\": 1,\n            \"weight\": 5,\n            \"port\": 8080,\n            \"target\": \"target1.contoso.com\",\n        },\n        {\n            \"priority\": 10,\n            \"weight\": 10,\n            \"port\": 8080,\n            \"target\": \"target2.contoso.com\",\n        },\n    ],\n    tags={\n        \"Environment\": \"Production\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleZone = new Azure.PrivateDns.Zone(\"example\", new()\n    {\n        Name = \"contoso.com\",\n        ResourceGroupName = example.Name,\n    });\n\n    var exampleSRVRecord = new Azure.PrivateDns.SRVRecord(\"example\", new()\n    {\n        Name = \"test\",\n        ResourceGroupName = example.Name,\n        ZoneName = exampleZone.Name,\n        Ttl = 300,\n        Records = new[]\n        {\n            new Azure.PrivateDns.Inputs.SRVRecordRecordArgs\n            {\n                Priority = 1,\n                Weight = 5,\n                Port = 8080,\n                Target = \"target1.contoso.com\",\n            },\n            new Azure.PrivateDns.Inputs.SRVRecordRecordArgs\n            {\n                Priority = 10,\n                Weight = 10,\n                Port = 8080,\n                Target = \"target2.contoso.com\",\n            },\n        },\n        Tags = \n        {\n            { \"Environment\", \"Production\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/privatedns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleZone, err := privatedns.NewZone(ctx, \"example\", \u0026privatedns.ZoneArgs{\n\t\t\tName:              pulumi.String(\"contoso.com\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = privatedns.NewSRVRecord(ctx, \"example\", \u0026privatedns.SRVRecordArgs{\n\t\t\tName:              pulumi.String(\"test\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tZoneName:          exampleZone.Name,\n\t\t\tTtl:               pulumi.Int(300),\n\t\t\tRecords: privatedns.SRVRecordRecordArray{\n\t\t\t\t\u0026privatedns.SRVRecordRecordArgs{\n\t\t\t\t\tPriority: pulumi.Int(1),\n\t\t\t\t\tWeight:   pulumi.Int(5),\n\t\t\t\t\tPort:     pulumi.Int(8080),\n\t\t\t\t\tTarget:   pulumi.String(\"target1.contoso.com\"),\n\t\t\t\t},\n\t\t\t\t\u0026privatedns.SRVRecordRecordArgs{\n\t\t\t\t\tPriority: pulumi.Int(10),\n\t\t\t\t\tWeight:   pulumi.Int(10),\n\t\t\t\t\tPort:     pulumi.Int(8080),\n\t\t\t\t\tTarget:   pulumi.String(\"target2.contoso.com\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Environment\": pulumi.String(\"Production\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.privatedns.Zone;\nimport com.pulumi.azure.privatedns.ZoneArgs;\nimport com.pulumi.azure.privatedns.SRVRecord;\nimport com.pulumi.azure.privatedns.SRVRecordArgs;\nimport com.pulumi.azure.privatedns.inputs.SRVRecordRecordArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleZone = new Zone(\"exampleZone\", ZoneArgs.builder()\n            .name(\"contoso.com\")\n            .resourceGroupName(example.name())\n            .build());\n\n        var exampleSRVRecord = new SRVRecord(\"exampleSRVRecord\", SRVRecordArgs.builder()\n            .name(\"test\")\n            .resourceGroupName(example.name())\n            .zoneName(exampleZone.name())\n            .ttl(300)\n            .records(            \n                SRVRecordRecordArgs.builder()\n                    .priority(1)\n                    .weight(5)\n                    .port(8080)\n                    .target(\"target1.contoso.com\")\n                    .build(),\n                SRVRecordRecordArgs.builder()\n                    .priority(10)\n                    .weight(10)\n                    .port(8080)\n                    .target(\"target2.contoso.com\")\n                    .build())\n            .tags(Map.of(\"Environment\", \"Production\"))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleZone:\n    type: azure:privatedns:Zone\n    name: example\n    properties:\n      name: contoso.com\n      resourceGroupName: ${example.name}\n  exampleSRVRecord:\n    type: azure:privatedns:SRVRecord\n    name: example\n    properties:\n      name: test\n      resourceGroupName: ${example.name}\n      zoneName: ${exampleZone.name}\n      ttl: 300\n      records:\n        - priority: 1\n          weight: 5\n          port: 8080\n          target: target1.contoso.com\n        - priority: 10\n          weight: 10\n          port: 8080\n          target: target2.contoso.com\n      tags:\n        Environment: Production\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2024-06-01\n\n## Import\n\nPrivate DNS SRV Records can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:privatedns/sRVRecord:SRVRecord test /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Network/privateDnsZones/contoso.com/SRV/test\n```\n\n","properties":{"fqdn":{"type":"string","description":"The FQDN of the DNS SRV Record.\n"},"name":{"type":"string","description":"The name of the DNS SRV Record. Changing this forces a new resource to be created.\n"},"records":{"type":"array","items":{"$ref":"#/types/azure:privatedns/SRVRecordRecord:SRVRecordRecord"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`record`\" pulumi-lang-dotnet=\"`Record`\" pulumi-lang-go=\"`record`\" pulumi-lang-python=\"`record`\" pulumi-lang-yaml=\"`record`\" pulumi-lang-java=\"`record`\"\u003e`record`\u003c/span\u003e blocks as defined below.\n"},"resourceGroupName":{"type":"string","description":"Specifies the resource group where the resource exists. Changing this forces a new resource to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"ttl":{"type":"integer","description":"The Time To Live (TTL) of the DNS record in seconds.\n"},"zoneName":{"type":"string","description":"Specifies the Private DNS Zone where the resource exists. Changing this forces a new resource to be created.\n"}},"required":["fqdn","name","records","resourceGroupName","ttl","zoneName"],"inputProperties":{"name":{"type":"string","description":"The name of the DNS SRV Record. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"records":{"type":"array","items":{"$ref":"#/types/azure:privatedns/SRVRecordRecord:SRVRecordRecord"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`record`\" pulumi-lang-dotnet=\"`Record`\" pulumi-lang-go=\"`record`\" pulumi-lang-python=\"`record`\" pulumi-lang-yaml=\"`record`\" pulumi-lang-java=\"`record`\"\u003e`record`\u003c/span\u003e blocks as defined below.\n"},"resourceGroupName":{"type":"string","description":"Specifies the resource group where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"ttl":{"type":"integer","description":"The Time To Live (TTL) of the DNS record in seconds.\n"},"zoneName":{"type":"string","description":"Specifies the Private DNS Zone where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["records","resourceGroupName","ttl","zoneName"],"stateInputs":{"description":"Input properties used for looking up and filtering SRVRecord resources.\n","properties":{"fqdn":{"type":"string","description":"The FQDN of the DNS SRV Record.\n"},"name":{"type":"string","description":"The name of the DNS SRV Record. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"records":{"type":"array","items":{"$ref":"#/types/azure:privatedns/SRVRecordRecord:SRVRecordRecord"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`record`\" pulumi-lang-dotnet=\"`Record`\" pulumi-lang-go=\"`record`\" pulumi-lang-python=\"`record`\" pulumi-lang-yaml=\"`record`\" pulumi-lang-java=\"`record`\"\u003e`record`\u003c/span\u003e blocks as defined below.\n"},"resourceGroupName":{"type":"string","description":"Specifies the resource group where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"ttl":{"type":"integer","description":"The Time To Live (TTL) of the DNS record in seconds.\n"},"zoneName":{"type":"string","description":"Specifies the Private DNS Zone where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:privatedns/txtRecord:TxtRecord":{"description":"Enables you to manage DNS TXT Records within Azure Private DNS.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleZone = new azure.privatedns.Zone(\"example\", {\n    name: \"contoso.com\",\n    resourceGroupName: example.name,\n});\nconst exampleTxtRecord = new azure.privatedns.TxtRecord(\"example\", {\n    name: \"test\",\n    resourceGroupName: example.name,\n    zoneName: exampleZone.name,\n    ttl: 300,\n    records: [{\n        value: \"v=spf1 mx ~all\",\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_zone = azure.privatedns.Zone(\"example\",\n    name=\"contoso.com\",\n    resource_group_name=example.name)\nexample_txt_record = azure.privatedns.TxtRecord(\"example\",\n    name=\"test\",\n    resource_group_name=example.name,\n    zone_name=example_zone.name,\n    ttl=300,\n    records=[{\n        \"value\": \"v=spf1 mx ~all\",\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleZone = new Azure.PrivateDns.Zone(\"example\", new()\n    {\n        Name = \"contoso.com\",\n        ResourceGroupName = example.Name,\n    });\n\n    var exampleTxtRecord = new Azure.PrivateDns.TxtRecord(\"example\", new()\n    {\n        Name = \"test\",\n        ResourceGroupName = example.Name,\n        ZoneName = exampleZone.Name,\n        Ttl = 300,\n        Records = new[]\n        {\n            new Azure.PrivateDns.Inputs.TxtRecordRecordArgs\n            {\n                Value = \"v=spf1 mx ~all\",\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/privatedns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleZone, err := privatedns.NewZone(ctx, \"example\", \u0026privatedns.ZoneArgs{\n\t\t\tName:              pulumi.String(\"contoso.com\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = privatedns.NewTxtRecord(ctx, \"example\", \u0026privatedns.TxtRecordArgs{\n\t\t\tName:              pulumi.String(\"test\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tZoneName:          exampleZone.Name,\n\t\t\tTtl:               pulumi.Int(300),\n\t\t\tRecords: privatedns.TxtRecordRecordArray{\n\t\t\t\t\u0026privatedns.TxtRecordRecordArgs{\n\t\t\t\t\tValue: pulumi.String(\"v=spf1 mx ~all\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.privatedns.Zone;\nimport com.pulumi.azure.privatedns.ZoneArgs;\nimport com.pulumi.azure.privatedns.TxtRecord;\nimport com.pulumi.azure.privatedns.TxtRecordArgs;\nimport com.pulumi.azure.privatedns.inputs.TxtRecordRecordArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleZone = new Zone(\"exampleZone\", ZoneArgs.builder()\n            .name(\"contoso.com\")\n            .resourceGroupName(example.name())\n            .build());\n\n        var exampleTxtRecord = new TxtRecord(\"exampleTxtRecord\", TxtRecordArgs.builder()\n            .name(\"test\")\n            .resourceGroupName(example.name())\n            .zoneName(exampleZone.name())\n            .ttl(300)\n            .records(TxtRecordRecordArgs.builder()\n                .value(\"v=spf1 mx ~all\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleZone:\n    type: azure:privatedns:Zone\n    name: example\n    properties:\n      name: contoso.com\n      resourceGroupName: ${example.name}\n  exampleTxtRecord:\n    type: azure:privatedns:TxtRecord\n    name: example\n    properties:\n      name: test\n      resourceGroupName: ${example.name}\n      zoneName: ${exampleZone.name}\n      ttl: 300\n      records:\n        - value: v=spf1 mx ~all\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2024-06-01\n\n## Import\n\nPrivate DNS TXT Records can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:privatedns/txtRecord:TxtRecord test /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Network/privateDnsZones/contoso.com/TXT/test\n```\n\n","properties":{"fqdn":{"type":"string","description":"The FQDN of the DNS TXT Record.\n"},"name":{"type":"string","description":"The name of the DNS TXT Record. Changing this forces a new resource to be created.\n"},"records":{"type":"array","items":{"$ref":"#/types/azure:privatedns/TxtRecordRecord:TxtRecordRecord"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`record`\" pulumi-lang-dotnet=\"`Record`\" pulumi-lang-go=\"`record`\" pulumi-lang-python=\"`record`\" pulumi-lang-yaml=\"`record`\" pulumi-lang-java=\"`record`\"\u003e`record`\u003c/span\u003e blocks as defined below.\n"},"resourceGroupName":{"type":"string","description":"Specifies the resource group where the resource exists. Changing this forces a new resource to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"ttl":{"type":"integer","description":"The Time To Live (TTL) of the DNS record in seconds.\n"},"zoneName":{"type":"string","description":"Specifies the Private DNS Zone where the resource exists. Changing this forces a new resource to be created.\n"}},"required":["fqdn","name","records","resourceGroupName","ttl","zoneName"],"inputProperties":{"name":{"type":"string","description":"The name of the DNS TXT Record. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"records":{"type":"array","items":{"$ref":"#/types/azure:privatedns/TxtRecordRecord:TxtRecordRecord"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`record`\" pulumi-lang-dotnet=\"`Record`\" pulumi-lang-go=\"`record`\" pulumi-lang-python=\"`record`\" pulumi-lang-yaml=\"`record`\" pulumi-lang-java=\"`record`\"\u003e`record`\u003c/span\u003e blocks as defined below.\n"},"resourceGroupName":{"type":"string","description":"Specifies the resource group where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"ttl":{"type":"integer","description":"The Time To Live (TTL) of the DNS record in seconds.\n"},"zoneName":{"type":"string","description":"Specifies the Private DNS Zone where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["records","resourceGroupName","ttl","zoneName"],"stateInputs":{"description":"Input properties used for looking up and filtering TxtRecord resources.\n","properties":{"fqdn":{"type":"string","description":"The FQDN of the DNS TXT Record.\n"},"name":{"type":"string","description":"The name of the DNS TXT Record. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"records":{"type":"array","items":{"$ref":"#/types/azure:privatedns/TxtRecordRecord:TxtRecordRecord"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`record`\" pulumi-lang-dotnet=\"`Record`\" pulumi-lang-go=\"`record`\" pulumi-lang-python=\"`record`\" pulumi-lang-yaml=\"`record`\" pulumi-lang-java=\"`record`\"\u003e`record`\u003c/span\u003e blocks as defined below.\n"},"resourceGroupName":{"type":"string","description":"Specifies the resource group where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"ttl":{"type":"integer","description":"The Time To Live (TTL) of the DNS record in seconds.\n"},"zoneName":{"type":"string","description":"Specifies the Private DNS Zone where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:privatedns/zone:Zone":{"description":"Enables you to manage Private DNS zones within Azure DNS. These zones are hosted on Azure's name servers.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleZone = new azure.privatedns.Zone(\"example\", {\n    name: \"mydomain.com\",\n    resourceGroupName: example.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_zone = azure.privatedns.Zone(\"example\",\n    name=\"mydomain.com\",\n    resource_group_name=example.name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleZone = new Azure.PrivateDns.Zone(\"example\", new()\n    {\n        Name = \"mydomain.com\",\n        ResourceGroupName = example.Name,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/privatedns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = privatedns.NewZone(ctx, \"example\", \u0026privatedns.ZoneArgs{\n\t\t\tName:              pulumi.String(\"mydomain.com\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.privatedns.Zone;\nimport com.pulumi.azure.privatedns.ZoneArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleZone = new Zone(\"exampleZone\", ZoneArgs.builder()\n            .name(\"mydomain.com\")\n            .resourceGroupName(example.name())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleZone:\n    type: azure:privatedns:Zone\n    name: example\n    properties:\n      name: mydomain.com\n      resourceGroupName: ${example.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2024-06-01\n\n## Import\n\nPrivate DNS Zones can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:privatedns/zone:Zone zone1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Network/privateDnsZones/zone1\n```\n\n","properties":{"maxNumberOfRecordSets":{"type":"integer","description":"The maximum number of record sets that can be created in this Private DNS zone.\n"},"maxNumberOfVirtualNetworkLinks":{"type":"integer","description":"The maximum number of virtual networks that can be linked to this Private DNS zone.\n"},"maxNumberOfVirtualNetworkLinksWithRegistration":{"type":"integer","description":"The maximum number of virtual networks that can be linked to this Private DNS zone with registration enabled.\n"},"name":{"type":"string","description":"The name of the Private DNS Zone. Must be a valid domain name. Changing this forces a new resource to be created.\n\n\u003e **Note:** If you are going to be using the Private DNS Zone with a Private Endpoint the name of the Private DNS Zone must follow the **Private DNS Zone name** schema in the [product documentation](https://docs.microsoft.com/azure/private-link/private-endpoint-dns#virtual-network-and-on-premises-workloads-using-a-dns-forwarder) in order for the two resources to be connected successfully.\n"},"numberOfRecordSets":{"type":"integer","description":"The current number of record sets in this Private DNS zone.\n"},"resourceGroupName":{"type":"string","description":"Specifies the resource group where the resource exists. Changing this forces a new resource to be created.\n"},"soaRecord":{"$ref":"#/types/azure:privatedns/ZoneSoaRecord:ZoneSoaRecord","description":"An \u003cspan pulumi-lang-nodejs=\"`soaRecord`\" pulumi-lang-dotnet=\"`SoaRecord`\" pulumi-lang-go=\"`soaRecord`\" pulumi-lang-python=\"`soa_record`\" pulumi-lang-yaml=\"`soaRecord`\" pulumi-lang-java=\"`soaRecord`\"\u003e`soa_record`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"required":["maxNumberOfRecordSets","maxNumberOfVirtualNetworkLinks","maxNumberOfVirtualNetworkLinksWithRegistration","name","numberOfRecordSets","resourceGroupName","soaRecord"],"inputProperties":{"name":{"type":"string","description":"The name of the Private DNS Zone. Must be a valid domain name. Changing this forces a new resource to be created.\n\n\u003e **Note:** If you are going to be using the Private DNS Zone with a Private Endpoint the name of the Private DNS Zone must follow the **Private DNS Zone name** schema in the [product documentation](https://docs.microsoft.com/azure/private-link/private-endpoint-dns#virtual-network-and-on-premises-workloads-using-a-dns-forwarder) in order for the two resources to be connected successfully.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"Specifies the resource group where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"soaRecord":{"$ref":"#/types/azure:privatedns/ZoneSoaRecord:ZoneSoaRecord","description":"An \u003cspan pulumi-lang-nodejs=\"`soaRecord`\" pulumi-lang-dotnet=\"`SoaRecord`\" pulumi-lang-go=\"`soaRecord`\" pulumi-lang-python=\"`soa_record`\" pulumi-lang-yaml=\"`soaRecord`\" pulumi-lang-java=\"`soaRecord`\"\u003e`soa_record`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"requiredInputs":["resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering Zone resources.\n","properties":{"maxNumberOfRecordSets":{"type":"integer","description":"The maximum number of record sets that can be created in this Private DNS zone.\n"},"maxNumberOfVirtualNetworkLinks":{"type":"integer","description":"The maximum number of virtual networks that can be linked to this Private DNS zone.\n"},"maxNumberOfVirtualNetworkLinksWithRegistration":{"type":"integer","description":"The maximum number of virtual networks that can be linked to this Private DNS zone with registration enabled.\n"},"name":{"type":"string","description":"The name of the Private DNS Zone. Must be a valid domain name. Changing this forces a new resource to be created.\n\n\u003e **Note:** If you are going to be using the Private DNS Zone with a Private Endpoint the name of the Private DNS Zone must follow the **Private DNS Zone name** schema in the [product documentation](https://docs.microsoft.com/azure/private-link/private-endpoint-dns#virtual-network-and-on-premises-workloads-using-a-dns-forwarder) in order for the two resources to be connected successfully.\n","willReplaceOnChanges":true},"numberOfRecordSets":{"type":"integer","description":"The current number of record sets in this Private DNS zone.\n"},"resourceGroupName":{"type":"string","description":"Specifies the resource group where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"soaRecord":{"$ref":"#/types/azure:privatedns/ZoneSoaRecord:ZoneSoaRecord","description":"An \u003cspan pulumi-lang-nodejs=\"`soaRecord`\" pulumi-lang-dotnet=\"`SoaRecord`\" pulumi-lang-go=\"`soaRecord`\" pulumi-lang-python=\"`soa_record`\" pulumi-lang-yaml=\"`soaRecord`\" pulumi-lang-java=\"`soaRecord`\"\u003e`soa_record`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"type":"object"}},"azure:privatedns/zoneVirtualNetworkLink:ZoneVirtualNetworkLink":{"description":"Enables you to manage Private DNS zone Virtual Network Links. These Links enable DNS resolution and registration inside Azure Virtual Networks using Azure Private DNS.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleZone = new azure.privatedns.Zone(\"example\", {\n    name: \"mydomain.com\",\n    resourceGroupName: example.name,\n});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"example\", {\n    name: \"test-network\",\n    addressSpaces: [\"10.0.0.0/16\"],\n    location: example.location,\n    resourceGroupName: example.name,\n});\nconst exampleZoneVirtualNetworkLink = new azure.privatedns.ZoneVirtualNetworkLink(\"example\", {\n    name: \"test\",\n    resourceGroupName: example.name,\n    privateDnsZoneName: exampleZone.name,\n    virtualNetworkId: exampleVirtualNetwork.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_zone = azure.privatedns.Zone(\"example\",\n    name=\"mydomain.com\",\n    resource_group_name=example.name)\nexample_virtual_network = azure.network.VirtualNetwork(\"example\",\n    name=\"test-network\",\n    address_spaces=[\"10.0.0.0/16\"],\n    location=example.location,\n    resource_group_name=example.name)\nexample_zone_virtual_network_link = azure.privatedns.ZoneVirtualNetworkLink(\"example\",\n    name=\"test\",\n    resource_group_name=example.name,\n    private_dns_zone_name=example_zone.name,\n    virtual_network_id=example_virtual_network.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleZone = new Azure.PrivateDns.Zone(\"example\", new()\n    {\n        Name = \"mydomain.com\",\n        ResourceGroupName = example.Name,\n    });\n\n    var exampleVirtualNetwork = new Azure.Network.VirtualNetwork(\"example\", new()\n    {\n        Name = \"test-network\",\n        AddressSpaces = new[]\n        {\n            \"10.0.0.0/16\",\n        },\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n    });\n\n    var exampleZoneVirtualNetworkLink = new Azure.PrivateDns.ZoneVirtualNetworkLink(\"example\", new()\n    {\n        Name = \"test\",\n        ResourceGroupName = example.Name,\n        PrivateDnsZoneName = exampleZone.Name,\n        VirtualNetworkId = exampleVirtualNetwork.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/privatedns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleZone, err := privatedns.NewZone(ctx, \"example\", \u0026privatedns.ZoneArgs{\n\t\t\tName:              pulumi.String(\"mydomain.com\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, \"example\", \u0026network.VirtualNetworkArgs{\n\t\t\tName: pulumi.String(\"test-network\"),\n\t\t\tAddressSpaces: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.0.0/16\"),\n\t\t\t},\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = privatedns.NewZoneVirtualNetworkLink(ctx, \"example\", \u0026privatedns.ZoneVirtualNetworkLinkArgs{\n\t\t\tName:               pulumi.String(\"test\"),\n\t\t\tResourceGroupName:  example.Name,\n\t\t\tPrivateDnsZoneName: exampleZone.Name,\n\t\t\tVirtualNetworkId:   exampleVirtualNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.privatedns.Zone;\nimport com.pulumi.azure.privatedns.ZoneArgs;\nimport com.pulumi.azure.network.VirtualNetwork;\nimport com.pulumi.azure.network.VirtualNetworkArgs;\nimport com.pulumi.azure.privatedns.ZoneVirtualNetworkLink;\nimport com.pulumi.azure.privatedns.ZoneVirtualNetworkLinkArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleZone = new Zone(\"exampleZone\", ZoneArgs.builder()\n            .name(\"mydomain.com\")\n            .resourceGroupName(example.name())\n            .build());\n\n        var exampleVirtualNetwork = new VirtualNetwork(\"exampleVirtualNetwork\", VirtualNetworkArgs.builder()\n            .name(\"test-network\")\n            .addressSpaces(\"10.0.0.0/16\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .build());\n\n        var exampleZoneVirtualNetworkLink = new ZoneVirtualNetworkLink(\"exampleZoneVirtualNetworkLink\", ZoneVirtualNetworkLinkArgs.builder()\n            .name(\"test\")\n            .resourceGroupName(example.name())\n            .privateDnsZoneName(exampleZone.name())\n            .virtualNetworkId(exampleVirtualNetwork.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleZone:\n    type: azure:privatedns:Zone\n    name: example\n    properties:\n      name: mydomain.com\n      resourceGroupName: ${example.name}\n  exampleZoneVirtualNetworkLink:\n    type: azure:privatedns:ZoneVirtualNetworkLink\n    name: example\n    properties:\n      name: test\n      resourceGroupName: ${example.name}\n      privateDnsZoneName: ${exampleZone.name}\n      virtualNetworkId: ${exampleVirtualNetwork.id}\n  exampleVirtualNetwork:\n    type: azure:network:VirtualNetwork\n    name: example\n    properties:\n      name: test-network\n      addressSpaces:\n        - 10.0.0.0/16\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2024-06-01\n\n## Import\n\nPrivate DNS Zone Virtual Network Links can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:privatedns/zoneVirtualNetworkLink:ZoneVirtualNetworkLink link1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Network/privateDnsZones/zone1.com/virtualNetworkLinks/myVnetLink1\n```\n\n","properties":{"name":{"type":"string","description":"The name of the Private DNS Zone Virtual Network Link. Changing this forces a new resource to be created.\n"},"privateDnsZoneName":{"type":"string","description":"The name of the Private DNS zone (without a terminating dot). Changing this forces a new resource to be created.\n"},"registrationEnabled":{"type":"boolean","description":"Is auto-registration of virtual machine records in the virtual network in the Private DNS zone enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"resolutionPolicy":{"type":"string","description":"Specifies the resolution policy of the Private DNS Zone Virtual Network Link. Possible values are `Default` and `NxDomainRedirect`.\n"},"resourceGroupName":{"type":"string","description":"Specifies the resource group where the Private DNS Zone exists. Changing this forces a new resource to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"virtualNetworkId":{"type":"string","description":"The ID of the Virtual Network that should be linked to the DNS Zone. Changing this forces a new resource to be created.\n"}},"required":["name","privateDnsZoneName","resolutionPolicy","resourceGroupName","virtualNetworkId"],"inputProperties":{"name":{"type":"string","description":"The name of the Private DNS Zone Virtual Network Link. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"privateDnsZoneName":{"type":"string","description":"The name of the Private DNS zone (without a terminating dot). Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"registrationEnabled":{"type":"boolean","description":"Is auto-registration of virtual machine records in the virtual network in the Private DNS zone enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"resolutionPolicy":{"type":"string","description":"Specifies the resolution policy of the Private DNS Zone Virtual Network Link. Possible values are `Default` and `NxDomainRedirect`.\n"},"resourceGroupName":{"type":"string","description":"Specifies the resource group where the Private DNS Zone exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"virtualNetworkId":{"type":"string","description":"The ID of the Virtual Network that should be linked to the DNS Zone. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["privateDnsZoneName","resourceGroupName","virtualNetworkId"],"stateInputs":{"description":"Input properties used for looking up and filtering ZoneVirtualNetworkLink resources.\n","properties":{"name":{"type":"string","description":"The name of the Private DNS Zone Virtual Network Link. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"privateDnsZoneName":{"type":"string","description":"The name of the Private DNS zone (without a terminating dot). Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"registrationEnabled":{"type":"boolean","description":"Is auto-registration of virtual machine records in the virtual network in the Private DNS zone enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"resolutionPolicy":{"type":"string","description":"Specifies the resolution policy of the Private DNS Zone Virtual Network Link. Possible values are `Default` and `NxDomainRedirect`.\n"},"resourceGroupName":{"type":"string","description":"Specifies the resource group where the Private DNS Zone exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"virtualNetworkId":{"type":"string","description":"The ID of the Virtual Network that should be linked to the DNS Zone. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:privatelink/applicationSecurityGroupAssociation:ApplicationSecurityGroupAssociation":{"description":"Manages an association between Private Endpoint and Application Security Group.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst current = azure.core.getSubscription({});\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-PEASGAsso\",\n    location: \"West Europe\",\n});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"example\", {\n    name: \"examplevnet\",\n    resourceGroupName: example.name,\n    location: example.location,\n    addressSpaces: [\"10.5.0.0/16\"],\n});\nconst service = new azure.network.Subnet(\"service\", {\n    name: \"examplenetservice\",\n    resourceGroupName: example.name,\n    virtualNetworkName: exampleVirtualNetwork.name,\n    addressPrefixes: [\"10.5.1.0/24\"],\n    enforcePrivateLinkServiceNetworkPolicies: true,\n});\nconst endpoint = new azure.network.Subnet(\"endpoint\", {\n    name: \"examplenetendpoint\",\n    resourceGroupName: example.name,\n    virtualNetworkName: exampleVirtualNetwork.name,\n    addressPrefixes: [\"10.5.2.0/24\"],\n    enforcePrivateLinkEndpointNetworkPolicies: true,\n});\nconst examplePublicIp = new azure.network.PublicIp(\"example\", {\n    name: \"examplepip\",\n    sku: \"Standard\",\n    location: example.location,\n    resourceGroupName: example.name,\n    allocationMethod: \"Static\",\n});\nconst exampleLoadBalancer = new azure.lb.LoadBalancer(\"example\", {\n    name: \"examplelb\",\n    sku: \"Standard\",\n    location: example.location,\n    resourceGroupName: example.name,\n    frontendIpConfigurations: [{\n        name: examplePublicIp.name,\n        publicIpAddressId: examplePublicIp.id,\n    }],\n});\nconst exampleLinkService = new azure.privatedns.LinkService(\"example\", {\n    name: \"examplePLS\",\n    location: example.location,\n    resourceGroupName: example.name,\n    autoApprovalSubscriptionIds: [current.then(current =\u003e current.subscriptionId)],\n    visibilitySubscriptionIds: [current.then(current =\u003e current.subscriptionId)],\n    natIpConfigurations: [{\n        name: \"primaryIpConfiguration\",\n        primary: true,\n        subnetId: service.id,\n    }],\n    loadBalancerFrontendIpConfigurationIds: [exampleLoadBalancer.frontendIpConfigurations.apply(frontendIpConfigurations =\u003e frontendIpConfigurations?.[0]?.id)],\n});\nconst exampleEndpoint = new azure.privatelink.Endpoint(\"example\", {\n    name: \"example-privatelink\",\n    resourceGroupName: example.name,\n    location: example.location,\n    subnetId: endpoint.id,\n    privateServiceConnection: {\n        name: exampleLinkService.name,\n        isManualConnection: false,\n        privateConnectionResourceId: exampleLinkService.id,\n    },\n});\nconst exampleApplicationSecurityGroup = new azure.network.ApplicationSecurityGroup(\"example\", {\n    name: \"example\",\n    location: example.location,\n    resourceGroupName: example.name,\n});\nconst exampleApplicationSecurityGroupAssociation = new azure.privatelink.ApplicationSecurityGroupAssociation(\"example\", {\n    privateEndpointId: exampleEndpoint.id,\n    applicationSecurityGroupId: exampleApplicationSecurityGroup.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\ncurrent = azure.core.get_subscription()\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-PEASGAsso\",\n    location=\"West Europe\")\nexample_virtual_network = azure.network.VirtualNetwork(\"example\",\n    name=\"examplevnet\",\n    resource_group_name=example.name,\n    location=example.location,\n    address_spaces=[\"10.5.0.0/16\"])\nservice = azure.network.Subnet(\"service\",\n    name=\"examplenetservice\",\n    resource_group_name=example.name,\n    virtual_network_name=example_virtual_network.name,\n    address_prefixes=[\"10.5.1.0/24\"],\n    enforce_private_link_service_network_policies=True)\nendpoint = azure.network.Subnet(\"endpoint\",\n    name=\"examplenetendpoint\",\n    resource_group_name=example.name,\n    virtual_network_name=example_virtual_network.name,\n    address_prefixes=[\"10.5.2.0/24\"],\n    enforce_private_link_endpoint_network_policies=True)\nexample_public_ip = azure.network.PublicIp(\"example\",\n    name=\"examplepip\",\n    sku=\"Standard\",\n    location=example.location,\n    resource_group_name=example.name,\n    allocation_method=\"Static\")\nexample_load_balancer = azure.lb.LoadBalancer(\"example\",\n    name=\"examplelb\",\n    sku=\"Standard\",\n    location=example.location,\n    resource_group_name=example.name,\n    frontend_ip_configurations=[{\n        \"name\": example_public_ip.name,\n        \"public_ip_address_id\": example_public_ip.id,\n    }])\nexample_link_service = azure.privatedns.LinkService(\"example\",\n    name=\"examplePLS\",\n    location=example.location,\n    resource_group_name=example.name,\n    auto_approval_subscription_ids=[current.subscription_id],\n    visibility_subscription_ids=[current.subscription_id],\n    nat_ip_configurations=[{\n        \"name\": \"primaryIpConfiguration\",\n        \"primary\": True,\n        \"subnet_id\": service.id,\n    }],\n    load_balancer_frontend_ip_configuration_ids=[example_load_balancer.frontend_ip_configurations[0].id])\nexample_endpoint = azure.privatelink.Endpoint(\"example\",\n    name=\"example-privatelink\",\n    resource_group_name=example.name,\n    location=example.location,\n    subnet_id=endpoint.id,\n    private_service_connection={\n        \"name\": example_link_service.name,\n        \"is_manual_connection\": False,\n        \"private_connection_resource_id\": example_link_service.id,\n    })\nexample_application_security_group = azure.network.ApplicationSecurityGroup(\"example\",\n    name=\"example\",\n    location=example.location,\n    resource_group_name=example.name)\nexample_application_security_group_association = azure.privatelink.ApplicationSecurityGroupAssociation(\"example\",\n    private_endpoint_id=example_endpoint.id,\n    application_security_group_id=example_application_security_group.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var current = Azure.Core.GetSubscription.Invoke();\n\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-PEASGAsso\",\n        Location = \"West Europe\",\n    });\n\n    var exampleVirtualNetwork = new Azure.Network.VirtualNetwork(\"example\", new()\n    {\n        Name = \"examplevnet\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        AddressSpaces = new[]\n        {\n            \"10.5.0.0/16\",\n        },\n    });\n\n    var service = new Azure.Network.Subnet(\"service\", new()\n    {\n        Name = \"examplenetservice\",\n        ResourceGroupName = example.Name,\n        VirtualNetworkName = exampleVirtualNetwork.Name,\n        AddressPrefixes = new[]\n        {\n            \"10.5.1.0/24\",\n        },\n        EnforcePrivateLinkServiceNetworkPolicies = true,\n    });\n\n    var endpoint = new Azure.Network.Subnet(\"endpoint\", new()\n    {\n        Name = \"examplenetendpoint\",\n        ResourceGroupName = example.Name,\n        VirtualNetworkName = exampleVirtualNetwork.Name,\n        AddressPrefixes = new[]\n        {\n            \"10.5.2.0/24\",\n        },\n        EnforcePrivateLinkEndpointNetworkPolicies = true,\n    });\n\n    var examplePublicIp = new Azure.Network.PublicIp(\"example\", new()\n    {\n        Name = \"examplepip\",\n        Sku = \"Standard\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        AllocationMethod = \"Static\",\n    });\n\n    var exampleLoadBalancer = new Azure.Lb.LoadBalancer(\"example\", new()\n    {\n        Name = \"examplelb\",\n        Sku = \"Standard\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        FrontendIpConfigurations = new[]\n        {\n            new Azure.Lb.Inputs.LoadBalancerFrontendIpConfigurationArgs\n            {\n                Name = examplePublicIp.Name,\n                PublicIpAddressId = examplePublicIp.Id,\n            },\n        },\n    });\n\n    var exampleLinkService = new Azure.PrivateDns.LinkService(\"example\", new()\n    {\n        Name = \"examplePLS\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        AutoApprovalSubscriptionIds = new[]\n        {\n            current.Apply(getSubscriptionResult =\u003e getSubscriptionResult.SubscriptionId),\n        },\n        VisibilitySubscriptionIds = new[]\n        {\n            current.Apply(getSubscriptionResult =\u003e getSubscriptionResult.SubscriptionId),\n        },\n        NatIpConfigurations = new[]\n        {\n            new Azure.PrivateDns.Inputs.LinkServiceNatIpConfigurationArgs\n            {\n                Name = \"primaryIpConfiguration\",\n                Primary = true,\n                SubnetId = service.Id,\n            },\n        },\n        LoadBalancerFrontendIpConfigurationIds = new[]\n        {\n            exampleLoadBalancer.FrontendIpConfigurations.Apply(frontendIpConfigurations =\u003e frontendIpConfigurations[0]?.Id),\n        },\n    });\n\n    var exampleEndpoint = new Azure.PrivateLink.Endpoint(\"example\", new()\n    {\n        Name = \"example-privatelink\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        SubnetId = endpoint.Id,\n        PrivateServiceConnection = new Azure.PrivateLink.Inputs.EndpointPrivateServiceConnectionArgs\n        {\n            Name = exampleLinkService.Name,\n            IsManualConnection = false,\n            PrivateConnectionResourceId = exampleLinkService.Id,\n        },\n    });\n\n    var exampleApplicationSecurityGroup = new Azure.Network.ApplicationSecurityGroup(\"example\", new()\n    {\n        Name = \"example\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n    });\n\n    var exampleApplicationSecurityGroupAssociation = new Azure.PrivateLink.ApplicationSecurityGroupAssociation(\"example\", new()\n    {\n        PrivateEndpointId = exampleEndpoint.Id,\n        ApplicationSecurityGroupId = exampleApplicationSecurityGroup.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/lb\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/privatedns\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/privatelink\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := core.LookupSubscription(ctx, \u0026core.LookupSubscriptionArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-PEASGAsso\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, \"example\", \u0026network.VirtualNetworkArgs{\n\t\t\tName:              pulumi.String(\"examplevnet\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tAddressSpaces: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.5.0.0/16\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tservice, err := network.NewSubnet(ctx, \"service\", \u0026network.SubnetArgs{\n\t\t\tName:               pulumi.String(\"examplenetservice\"),\n\t\t\tResourceGroupName:  example.Name,\n\t\t\tVirtualNetworkName: exampleVirtualNetwork.Name,\n\t\t\tAddressPrefixes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.5.1.0/24\"),\n\t\t\t},\n\t\t\tEnforcePrivateLinkServiceNetworkPolicies: true,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tendpoint, err := network.NewSubnet(ctx, \"endpoint\", \u0026network.SubnetArgs{\n\t\t\tName:               pulumi.String(\"examplenetendpoint\"),\n\t\t\tResourceGroupName:  example.Name,\n\t\t\tVirtualNetworkName: exampleVirtualNetwork.Name,\n\t\t\tAddressPrefixes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.5.2.0/24\"),\n\t\t\t},\n\t\t\tEnforcePrivateLinkEndpointNetworkPolicies: true,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texamplePublicIp, err := network.NewPublicIp(ctx, \"example\", \u0026network.PublicIpArgs{\n\t\t\tName:              pulumi.String(\"examplepip\"),\n\t\t\tSku:               pulumi.String(\"Standard\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tAllocationMethod:  pulumi.String(\"Static\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleLoadBalancer, err := lb.NewLoadBalancer(ctx, \"example\", \u0026lb.LoadBalancerArgs{\n\t\t\tName:              pulumi.String(\"examplelb\"),\n\t\t\tSku:               pulumi.String(\"Standard\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tFrontendIpConfigurations: lb.LoadBalancerFrontendIpConfigurationArray{\n\t\t\t\t\u0026lb.LoadBalancerFrontendIpConfigurationArgs{\n\t\t\t\t\tName:              examplePublicIp.Name,\n\t\t\t\t\tPublicIpAddressId: examplePublicIp.ID(),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleLinkService, err := privatedns.NewLinkService(ctx, \"example\", \u0026privatedns.LinkServiceArgs{\n\t\t\tName:              pulumi.String(\"examplePLS\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tAutoApprovalSubscriptionIds: pulumi.StringArray{\n\t\t\t\tpulumi.String(current.SubscriptionId),\n\t\t\t},\n\t\t\tVisibilitySubscriptionIds: pulumi.StringArray{\n\t\t\t\tpulumi.String(current.SubscriptionId),\n\t\t\t},\n\t\t\tNatIpConfigurations: privatedns.LinkServiceNatIpConfigurationArray{\n\t\t\t\t\u0026privatedns.LinkServiceNatIpConfigurationArgs{\n\t\t\t\t\tName:     pulumi.String(\"primaryIpConfiguration\"),\n\t\t\t\t\tPrimary:  pulumi.Bool(true),\n\t\t\t\t\tSubnetId: service.ID(),\n\t\t\t\t},\n\t\t\t},\n\t\t\tLoadBalancerFrontendIpConfigurationIds: pulumi.StringArray{\n\t\t\t\tpulumi.String(exampleLoadBalancer.FrontendIpConfigurations.ApplyT(func(frontendIpConfigurations []lb.LoadBalancerFrontendIpConfiguration) (*string, error) {\n\t\t\t\t\treturn \u0026frontendIpConfigurations[0].Id, nil\n\t\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleEndpoint, err := privatelink.NewEndpoint(ctx, \"example\", \u0026privatelink.EndpointArgs{\n\t\t\tName:              pulumi.String(\"example-privatelink\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tSubnetId:          endpoint.ID(),\n\t\t\tPrivateServiceConnection: \u0026privatelink.EndpointPrivateServiceConnectionArgs{\n\t\t\t\tName:                        exampleLinkService.Name,\n\t\t\t\tIsManualConnection:          pulumi.Bool(false),\n\t\t\t\tPrivateConnectionResourceId: exampleLinkService.ID(),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleApplicationSecurityGroup, err := network.NewApplicationSecurityGroup(ctx, \"example\", \u0026network.ApplicationSecurityGroupArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = privatelink.NewApplicationSecurityGroupAssociation(ctx, \"example\", \u0026privatelink.ApplicationSecurityGroupAssociationArgs{\n\t\t\tPrivateEndpointId:          exampleEndpoint.ID(),\n\t\t\tApplicationSecurityGroupId: exampleApplicationSecurityGroup.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.core.inputs.GetSubscriptionArgs;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.VirtualNetwork;\nimport com.pulumi.azure.network.VirtualNetworkArgs;\nimport com.pulumi.azure.network.Subnet;\nimport com.pulumi.azure.network.SubnetArgs;\nimport com.pulumi.azure.network.PublicIp;\nimport com.pulumi.azure.network.PublicIpArgs;\nimport com.pulumi.azure.lb.LoadBalancer;\nimport com.pulumi.azure.lb.LoadBalancerArgs;\nimport com.pulumi.azure.lb.inputs.LoadBalancerFrontendIpConfigurationArgs;\nimport com.pulumi.azure.privatedns.LinkService;\nimport com.pulumi.azure.privatedns.LinkServiceArgs;\nimport com.pulumi.azure.privatedns.inputs.LinkServiceNatIpConfigurationArgs;\nimport com.pulumi.azure.privatelink.Endpoint;\nimport com.pulumi.azure.privatelink.EndpointArgs;\nimport com.pulumi.azure.privatelink.inputs.EndpointPrivateServiceConnectionArgs;\nimport com.pulumi.azure.network.ApplicationSecurityGroup;\nimport com.pulumi.azure.network.ApplicationSecurityGroupArgs;\nimport com.pulumi.azure.privatelink.ApplicationSecurityGroupAssociation;\nimport com.pulumi.azure.privatelink.ApplicationSecurityGroupAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var current = CoreFunctions.getSubscription(GetSubscriptionArgs.builder()\n            .build());\n\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-PEASGAsso\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleVirtualNetwork = new VirtualNetwork(\"exampleVirtualNetwork\", VirtualNetworkArgs.builder()\n            .name(\"examplevnet\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .addressSpaces(\"10.5.0.0/16\")\n            .build());\n\n        var service = new Subnet(\"service\", SubnetArgs.builder()\n            .name(\"examplenetservice\")\n            .resourceGroupName(example.name())\n            .virtualNetworkName(exampleVirtualNetwork.name())\n            .addressPrefixes(\"10.5.1.0/24\")\n            .enforcePrivateLinkServiceNetworkPolicies(true)\n            .build());\n\n        var endpoint = new Subnet(\"endpoint\", SubnetArgs.builder()\n            .name(\"examplenetendpoint\")\n            .resourceGroupName(example.name())\n            .virtualNetworkName(exampleVirtualNetwork.name())\n            .addressPrefixes(\"10.5.2.0/24\")\n            .enforcePrivateLinkEndpointNetworkPolicies(true)\n            .build());\n\n        var examplePublicIp = new PublicIp(\"examplePublicIp\", PublicIpArgs.builder()\n            .name(\"examplepip\")\n            .sku(\"Standard\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .allocationMethod(\"Static\")\n            .build());\n\n        var exampleLoadBalancer = new LoadBalancer(\"exampleLoadBalancer\", LoadBalancerArgs.builder()\n            .name(\"examplelb\")\n            .sku(\"Standard\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .frontendIpConfigurations(LoadBalancerFrontendIpConfigurationArgs.builder()\n                .name(examplePublicIp.name())\n                .publicIpAddressId(examplePublicIp.id())\n                .build())\n            .build());\n\n        var exampleLinkService = new LinkService(\"exampleLinkService\", LinkServiceArgs.builder()\n            .name(\"examplePLS\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .autoApprovalSubscriptionIds(current.subscriptionId())\n            .visibilitySubscriptionIds(current.subscriptionId())\n            .natIpConfigurations(LinkServiceNatIpConfigurationArgs.builder()\n                .name(\"primaryIpConfiguration\")\n                .primary(true)\n                .subnetId(service.id())\n                .build())\n            .loadBalancerFrontendIpConfigurationIds(exampleLoadBalancer.frontendIpConfigurations().applyValue(_frontendIpConfigurations -\u003e _frontendIpConfigurations[0].id()))\n            .build());\n\n        var exampleEndpoint = new Endpoint(\"exampleEndpoint\", EndpointArgs.builder()\n            .name(\"example-privatelink\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .subnetId(endpoint.id())\n            .privateServiceConnection(EndpointPrivateServiceConnectionArgs.builder()\n                .name(exampleLinkService.name())\n                .isManualConnection(false)\n                .privateConnectionResourceId(exampleLinkService.id())\n                .build())\n            .build());\n\n        var exampleApplicationSecurityGroup = new ApplicationSecurityGroup(\"exampleApplicationSecurityGroup\", ApplicationSecurityGroupArgs.builder()\n            .name(\"example\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .build());\n\n        var exampleApplicationSecurityGroupAssociation = new ApplicationSecurityGroupAssociation(\"exampleApplicationSecurityGroupAssociation\", ApplicationSecurityGroupAssociationArgs.builder()\n            .privateEndpointId(exampleEndpoint.id())\n            .applicationSecurityGroupId(exampleApplicationSecurityGroup.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-PEASGAsso\n      location: West Europe\n  exampleVirtualNetwork:\n    type: azure:network:VirtualNetwork\n    name: example\n    properties:\n      name: examplevnet\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      addressSpaces:\n        - 10.5.0.0/16\n  service:\n    type: azure:network:Subnet\n    properties:\n      name: examplenetservice\n      resourceGroupName: ${example.name}\n      virtualNetworkName: ${exampleVirtualNetwork.name}\n      addressPrefixes:\n        - 10.5.1.0/24\n      enforcePrivateLinkServiceNetworkPolicies: true\n  endpoint:\n    type: azure:network:Subnet\n    properties:\n      name: examplenetendpoint\n      resourceGroupName: ${example.name}\n      virtualNetworkName: ${exampleVirtualNetwork.name}\n      addressPrefixes:\n        - 10.5.2.0/24\n      enforcePrivateLinkEndpointNetworkPolicies: true\n  examplePublicIp:\n    type: azure:network:PublicIp\n    name: example\n    properties:\n      name: examplepip\n      sku: Standard\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      allocationMethod: Static\n  exampleLoadBalancer:\n    type: azure:lb:LoadBalancer\n    name: example\n    properties:\n      name: examplelb\n      sku: Standard\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      frontendIpConfigurations:\n        - name: ${examplePublicIp.name}\n          publicIpAddressId: ${examplePublicIp.id}\n  exampleLinkService:\n    type: azure:privatedns:LinkService\n    name: example\n    properties:\n      name: examplePLS\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      autoApprovalSubscriptionIds:\n        - ${current.subscriptionId}\n      visibilitySubscriptionIds:\n        - ${current.subscriptionId}\n      natIpConfigurations:\n        - name: primaryIpConfiguration\n          primary: true\n          subnetId: ${service.id}\n      loadBalancerFrontendIpConfigurationIds:\n        - ${exampleLoadBalancer.frontendIpConfigurations[0].id}\n  exampleEndpoint:\n    type: azure:privatelink:Endpoint\n    name: example\n    properties:\n      name: example-privatelink\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      subnetId: ${endpoint.id}\n      privateServiceConnection:\n        name: ${exampleLinkService.name}\n        isManualConnection: false\n        privateConnectionResourceId: ${exampleLinkService.id}\n  exampleApplicationSecurityGroup:\n    type: azure:network:ApplicationSecurityGroup\n    name: example\n    properties:\n      name: example\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n  exampleApplicationSecurityGroupAssociation:\n    type: azure:privatelink:ApplicationSecurityGroupAssociation\n    name: example\n    properties:\n      privateEndpointId: ${exampleEndpoint.id}\n      applicationSecurityGroupId: ${exampleApplicationSecurityGroup.id}\nvariables:\n  current:\n    fn::invoke:\n      function: azure:core:getSubscription\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2025-01-01\n\n## Import\n\nAssociations between Private Endpoint and Application Security Group can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:privatelink/applicationSecurityGroupAssociation:ApplicationSecurityGroupAssociation association1 \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Network/privateEndpoints/endpoints1|/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Network/applicationSecurityGroups/securityGroup1\",\n```\n\n\u003e **Note:** This ID is specific to Terraform - and is of the format `{privateEndpointId}|{applicationSecurityGroupId}`.\n\n","properties":{"applicationSecurityGroupId":{"type":"string","description":"The id of application security group to associate. Changing this forces a new resource to be created.\n"},"privateEndpointId":{"type":"string","description":"The id of private endpoint to associate. Changing this forces a new resource to be created.\n"}},"required":["applicationSecurityGroupId","privateEndpointId"],"inputProperties":{"applicationSecurityGroupId":{"type":"string","description":"The id of application security group to associate. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"privateEndpointId":{"type":"string","description":"The id of private endpoint to associate. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["applicationSecurityGroupId","privateEndpointId"],"stateInputs":{"description":"Input properties used for looking up and filtering ApplicationSecurityGroupAssociation resources.\n","properties":{"applicationSecurityGroupId":{"type":"string","description":"The id of application security group to associate. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"privateEndpointId":{"type":"string","description":"The id of private endpoint to associate. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:privatelink/endpoint:Endpoint":{"description":"Manages a Private Endpoint.\n\nAzure Private Endpoint is a network interface that connects you privately and securely to a service powered by Azure Private Link. Private Endpoint uses a private IP address from your VNet, effectively bringing the service into your VNet. The service could be an Azure service such as Azure Storage, SQL, etc. or your own Private Link Service.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"example\", {\n    name: \"example-network\",\n    addressSpaces: [\"10.0.0.0/16\"],\n    location: example.location,\n    resourceGroupName: example.name,\n});\nconst service = new azure.network.Subnet(\"service\", {\n    name: \"service\",\n    resourceGroupName: example.name,\n    virtualNetworkName: exampleVirtualNetwork.name,\n    addressPrefixes: [\"10.0.1.0/24\"],\n    enforcePrivateLinkServiceNetworkPolicies: true,\n});\nconst endpoint = new azure.network.Subnet(\"endpoint\", {\n    name: \"endpoint\",\n    resourceGroupName: example.name,\n    virtualNetworkName: exampleVirtualNetwork.name,\n    addressPrefixes: [\"10.0.2.0/24\"],\n    enforcePrivateLinkEndpointNetworkPolicies: true,\n});\nconst examplePublicIp = new azure.network.PublicIp(\"example\", {\n    name: \"example-pip\",\n    sku: \"Standard\",\n    location: example.location,\n    resourceGroupName: example.name,\n    allocationMethod: \"Static\",\n});\nconst exampleLoadBalancer = new azure.lb.LoadBalancer(\"example\", {\n    name: \"example-lb\",\n    sku: \"Standard\",\n    location: example.location,\n    resourceGroupName: example.name,\n    frontendIpConfigurations: [{\n        name: examplePublicIp.name,\n        publicIpAddressId: examplePublicIp.id,\n    }],\n});\nconst exampleLinkService = new azure.privatedns.LinkService(\"example\", {\n    name: \"example-privatelink\",\n    location: example.location,\n    resourceGroupName: example.name,\n    natIpConfigurations: [{\n        name: examplePublicIp.name,\n        primary: true,\n        subnetId: service.id,\n    }],\n    loadBalancerFrontendIpConfigurationIds: [exampleLoadBalancer.frontendIpConfigurations.apply(frontendIpConfigurations =\u003e frontendIpConfigurations?.[0]?.id)],\n});\nconst exampleEndpoint = new azure.privatelink.Endpoint(\"example\", {\n    name: \"example-endpoint\",\n    location: example.location,\n    resourceGroupName: example.name,\n    subnetId: endpoint.id,\n    privateServiceConnection: {\n        name: \"example-privateserviceconnection\",\n        privateConnectionResourceId: exampleLinkService.id,\n        isManualConnection: false,\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_virtual_network = azure.network.VirtualNetwork(\"example\",\n    name=\"example-network\",\n    address_spaces=[\"10.0.0.0/16\"],\n    location=example.location,\n    resource_group_name=example.name)\nservice = azure.network.Subnet(\"service\",\n    name=\"service\",\n    resource_group_name=example.name,\n    virtual_network_name=example_virtual_network.name,\n    address_prefixes=[\"10.0.1.0/24\"],\n    enforce_private_link_service_network_policies=True)\nendpoint = azure.network.Subnet(\"endpoint\",\n    name=\"endpoint\",\n    resource_group_name=example.name,\n    virtual_network_name=example_virtual_network.name,\n    address_prefixes=[\"10.0.2.0/24\"],\n    enforce_private_link_endpoint_network_policies=True)\nexample_public_ip = azure.network.PublicIp(\"example\",\n    name=\"example-pip\",\n    sku=\"Standard\",\n    location=example.location,\n    resource_group_name=example.name,\n    allocation_method=\"Static\")\nexample_load_balancer = azure.lb.LoadBalancer(\"example\",\n    name=\"example-lb\",\n    sku=\"Standard\",\n    location=example.location,\n    resource_group_name=example.name,\n    frontend_ip_configurations=[{\n        \"name\": example_public_ip.name,\n        \"public_ip_address_id\": example_public_ip.id,\n    }])\nexample_link_service = azure.privatedns.LinkService(\"example\",\n    name=\"example-privatelink\",\n    location=example.location,\n    resource_group_name=example.name,\n    nat_ip_configurations=[{\n        \"name\": example_public_ip.name,\n        \"primary\": True,\n        \"subnet_id\": service.id,\n    }],\n    load_balancer_frontend_ip_configuration_ids=[example_load_balancer.frontend_ip_configurations[0].id])\nexample_endpoint = azure.privatelink.Endpoint(\"example\",\n    name=\"example-endpoint\",\n    location=example.location,\n    resource_group_name=example.name,\n    subnet_id=endpoint.id,\n    private_service_connection={\n        \"name\": \"example-privateserviceconnection\",\n        \"private_connection_resource_id\": example_link_service.id,\n        \"is_manual_connection\": False,\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleVirtualNetwork = new Azure.Network.VirtualNetwork(\"example\", new()\n    {\n        Name = \"example-network\",\n        AddressSpaces = new[]\n        {\n            \"10.0.0.0/16\",\n        },\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n    });\n\n    var service = new Azure.Network.Subnet(\"service\", new()\n    {\n        Name = \"service\",\n        ResourceGroupName = example.Name,\n        VirtualNetworkName = exampleVirtualNetwork.Name,\n        AddressPrefixes = new[]\n        {\n            \"10.0.1.0/24\",\n        },\n        EnforcePrivateLinkServiceNetworkPolicies = true,\n    });\n\n    var endpoint = new Azure.Network.Subnet(\"endpoint\", new()\n    {\n        Name = \"endpoint\",\n        ResourceGroupName = example.Name,\n        VirtualNetworkName = exampleVirtualNetwork.Name,\n        AddressPrefixes = new[]\n        {\n            \"10.0.2.0/24\",\n        },\n        EnforcePrivateLinkEndpointNetworkPolicies = true,\n    });\n\n    var examplePublicIp = new Azure.Network.PublicIp(\"example\", new()\n    {\n        Name = \"example-pip\",\n        Sku = \"Standard\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        AllocationMethod = \"Static\",\n    });\n\n    var exampleLoadBalancer = new Azure.Lb.LoadBalancer(\"example\", new()\n    {\n        Name = \"example-lb\",\n        Sku = \"Standard\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        FrontendIpConfigurations = new[]\n        {\n            new Azure.Lb.Inputs.LoadBalancerFrontendIpConfigurationArgs\n            {\n                Name = examplePublicIp.Name,\n                PublicIpAddressId = examplePublicIp.Id,\n            },\n        },\n    });\n\n    var exampleLinkService = new Azure.PrivateDns.LinkService(\"example\", new()\n    {\n        Name = \"example-privatelink\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        NatIpConfigurations = new[]\n        {\n            new Azure.PrivateDns.Inputs.LinkServiceNatIpConfigurationArgs\n            {\n                Name = examplePublicIp.Name,\n                Primary = true,\n                SubnetId = service.Id,\n            },\n        },\n        LoadBalancerFrontendIpConfigurationIds = new[]\n        {\n            exampleLoadBalancer.FrontendIpConfigurations.Apply(frontendIpConfigurations =\u003e frontendIpConfigurations[0]?.Id),\n        },\n    });\n\n    var exampleEndpoint = new Azure.PrivateLink.Endpoint(\"example\", new()\n    {\n        Name = \"example-endpoint\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        SubnetId = endpoint.Id,\n        PrivateServiceConnection = new Azure.PrivateLink.Inputs.EndpointPrivateServiceConnectionArgs\n        {\n            Name = \"example-privateserviceconnection\",\n            PrivateConnectionResourceId = exampleLinkService.Id,\n            IsManualConnection = false,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/lb\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/privatedns\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/privatelink\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, \"example\", \u0026network.VirtualNetworkArgs{\n\t\t\tName: pulumi.String(\"example-network\"),\n\t\t\tAddressSpaces: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.0.0/16\"),\n\t\t\t},\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tservice, err := network.NewSubnet(ctx, \"service\", \u0026network.SubnetArgs{\n\t\t\tName:               pulumi.String(\"service\"),\n\t\t\tResourceGroupName:  example.Name,\n\t\t\tVirtualNetworkName: exampleVirtualNetwork.Name,\n\t\t\tAddressPrefixes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.1.0/24\"),\n\t\t\t},\n\t\t\tEnforcePrivateLinkServiceNetworkPolicies: true,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tendpoint, err := network.NewSubnet(ctx, \"endpoint\", \u0026network.SubnetArgs{\n\t\t\tName:               pulumi.String(\"endpoint\"),\n\t\t\tResourceGroupName:  example.Name,\n\t\t\tVirtualNetworkName: exampleVirtualNetwork.Name,\n\t\t\tAddressPrefixes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.2.0/24\"),\n\t\t\t},\n\t\t\tEnforcePrivateLinkEndpointNetworkPolicies: true,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texamplePublicIp, err := network.NewPublicIp(ctx, \"example\", \u0026network.PublicIpArgs{\n\t\t\tName:              pulumi.String(\"example-pip\"),\n\t\t\tSku:               pulumi.String(\"Standard\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tAllocationMethod:  pulumi.String(\"Static\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleLoadBalancer, err := lb.NewLoadBalancer(ctx, \"example\", \u0026lb.LoadBalancerArgs{\n\t\t\tName:              pulumi.String(\"example-lb\"),\n\t\t\tSku:               pulumi.String(\"Standard\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tFrontendIpConfigurations: lb.LoadBalancerFrontendIpConfigurationArray{\n\t\t\t\t\u0026lb.LoadBalancerFrontendIpConfigurationArgs{\n\t\t\t\t\tName:              examplePublicIp.Name,\n\t\t\t\t\tPublicIpAddressId: examplePublicIp.ID(),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleLinkService, err := privatedns.NewLinkService(ctx, \"example\", \u0026privatedns.LinkServiceArgs{\n\t\t\tName:              pulumi.String(\"example-privatelink\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tNatIpConfigurations: privatedns.LinkServiceNatIpConfigurationArray{\n\t\t\t\t\u0026privatedns.LinkServiceNatIpConfigurationArgs{\n\t\t\t\t\tName:     examplePublicIp.Name,\n\t\t\t\t\tPrimary:  pulumi.Bool(true),\n\t\t\t\t\tSubnetId: service.ID(),\n\t\t\t\t},\n\t\t\t},\n\t\t\tLoadBalancerFrontendIpConfigurationIds: pulumi.StringArray{\n\t\t\t\tpulumi.String(exampleLoadBalancer.FrontendIpConfigurations.ApplyT(func(frontendIpConfigurations []lb.LoadBalancerFrontendIpConfiguration) (*string, error) {\n\t\t\t\t\treturn \u0026frontendIpConfigurations[0].Id, nil\n\t\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = privatelink.NewEndpoint(ctx, \"example\", \u0026privatelink.EndpointArgs{\n\t\t\tName:              pulumi.String(\"example-endpoint\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSubnetId:          endpoint.ID(),\n\t\t\tPrivateServiceConnection: \u0026privatelink.EndpointPrivateServiceConnectionArgs{\n\t\t\t\tName:                        pulumi.String(\"example-privateserviceconnection\"),\n\t\t\t\tPrivateConnectionResourceId: exampleLinkService.ID(),\n\t\t\t\tIsManualConnection:          pulumi.Bool(false),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.VirtualNetwork;\nimport com.pulumi.azure.network.VirtualNetworkArgs;\nimport com.pulumi.azure.network.Subnet;\nimport com.pulumi.azure.network.SubnetArgs;\nimport com.pulumi.azure.network.PublicIp;\nimport com.pulumi.azure.network.PublicIpArgs;\nimport com.pulumi.azure.lb.LoadBalancer;\nimport com.pulumi.azure.lb.LoadBalancerArgs;\nimport com.pulumi.azure.lb.inputs.LoadBalancerFrontendIpConfigurationArgs;\nimport com.pulumi.azure.privatedns.LinkService;\nimport com.pulumi.azure.privatedns.LinkServiceArgs;\nimport com.pulumi.azure.privatedns.inputs.LinkServiceNatIpConfigurationArgs;\nimport com.pulumi.azure.privatelink.Endpoint;\nimport com.pulumi.azure.privatelink.EndpointArgs;\nimport com.pulumi.azure.privatelink.inputs.EndpointPrivateServiceConnectionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleVirtualNetwork = new VirtualNetwork(\"exampleVirtualNetwork\", VirtualNetworkArgs.builder()\n            .name(\"example-network\")\n            .addressSpaces(\"10.0.0.0/16\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .build());\n\n        var service = new Subnet(\"service\", SubnetArgs.builder()\n            .name(\"service\")\n            .resourceGroupName(example.name())\n            .virtualNetworkName(exampleVirtualNetwork.name())\n            .addressPrefixes(\"10.0.1.0/24\")\n            .enforcePrivateLinkServiceNetworkPolicies(true)\n            .build());\n\n        var endpoint = new Subnet(\"endpoint\", SubnetArgs.builder()\n            .name(\"endpoint\")\n            .resourceGroupName(example.name())\n            .virtualNetworkName(exampleVirtualNetwork.name())\n            .addressPrefixes(\"10.0.2.0/24\")\n            .enforcePrivateLinkEndpointNetworkPolicies(true)\n            .build());\n\n        var examplePublicIp = new PublicIp(\"examplePublicIp\", PublicIpArgs.builder()\n            .name(\"example-pip\")\n            .sku(\"Standard\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .allocationMethod(\"Static\")\n            .build());\n\n        var exampleLoadBalancer = new LoadBalancer(\"exampleLoadBalancer\", LoadBalancerArgs.builder()\n            .name(\"example-lb\")\n            .sku(\"Standard\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .frontendIpConfigurations(LoadBalancerFrontendIpConfigurationArgs.builder()\n                .name(examplePublicIp.name())\n                .publicIpAddressId(examplePublicIp.id())\n                .build())\n            .build());\n\n        var exampleLinkService = new LinkService(\"exampleLinkService\", LinkServiceArgs.builder()\n            .name(\"example-privatelink\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .natIpConfigurations(LinkServiceNatIpConfigurationArgs.builder()\n                .name(examplePublicIp.name())\n                .primary(true)\n                .subnetId(service.id())\n                .build())\n            .loadBalancerFrontendIpConfigurationIds(exampleLoadBalancer.frontendIpConfigurations().applyValue(_frontendIpConfigurations -\u003e _frontendIpConfigurations[0].id()))\n            .build());\n\n        var exampleEndpoint = new Endpoint(\"exampleEndpoint\", EndpointArgs.builder()\n            .name(\"example-endpoint\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .subnetId(endpoint.id())\n            .privateServiceConnection(EndpointPrivateServiceConnectionArgs.builder()\n                .name(\"example-privateserviceconnection\")\n                .privateConnectionResourceId(exampleLinkService.id())\n                .isManualConnection(false)\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleVirtualNetwork:\n    type: azure:network:VirtualNetwork\n    name: example\n    properties:\n      name: example-network\n      addressSpaces:\n        - 10.0.0.0/16\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n  service:\n    type: azure:network:Subnet\n    properties:\n      name: service\n      resourceGroupName: ${example.name}\n      virtualNetworkName: ${exampleVirtualNetwork.name}\n      addressPrefixes:\n        - 10.0.1.0/24\n      enforcePrivateLinkServiceNetworkPolicies: true\n  endpoint:\n    type: azure:network:Subnet\n    properties:\n      name: endpoint\n      resourceGroupName: ${example.name}\n      virtualNetworkName: ${exampleVirtualNetwork.name}\n      addressPrefixes:\n        - 10.0.2.0/24\n      enforcePrivateLinkEndpointNetworkPolicies: true\n  examplePublicIp:\n    type: azure:network:PublicIp\n    name: example\n    properties:\n      name: example-pip\n      sku: Standard\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      allocationMethod: Static\n  exampleLoadBalancer:\n    type: azure:lb:LoadBalancer\n    name: example\n    properties:\n      name: example-lb\n      sku: Standard\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      frontendIpConfigurations:\n        - name: ${examplePublicIp.name}\n          publicIpAddressId: ${examplePublicIp.id}\n  exampleLinkService:\n    type: azure:privatedns:LinkService\n    name: example\n    properties:\n      name: example-privatelink\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      natIpConfigurations:\n        - name: ${examplePublicIp.name}\n          primary: true\n          subnetId: ${service.id}\n      loadBalancerFrontendIpConfigurationIds:\n        - ${exampleLoadBalancer.frontendIpConfigurations[0].id}\n  exampleEndpoint:\n    type: azure:privatelink:Endpoint\n    name: example\n    properties:\n      name: example-endpoint\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      subnetId: ${endpoint.id}\n      privateServiceConnection:\n        name: example-privateserviceconnection\n        privateConnectionResourceId: ${exampleLinkService.id}\n        isManualConnection: false\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nUsing a Private Link Service Alias with existing resources:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.core.getResourceGroup({\n    name: \"example-resources\",\n});\nconst vnet = example.then(example =\u003e azure.network.getVirtualNetwork({\n    name: \"example-network\",\n    resourceGroupName: example.name,\n}));\nconst subnet = Promise.all([vnet, example]).then(([vnet, example]) =\u003e azure.network.getSubnet({\n    name: \"default\",\n    virtualNetworkName: vnet.name,\n    resourceGroupName: example.name,\n}));\nconst exampleEndpoint = new azure.privatelink.Endpoint(\"example\", {\n    name: \"example-endpoint\",\n    location: example.then(example =\u003e example.location),\n    resourceGroupName: example.then(example =\u003e example.name),\n    subnetId: subnet.then(subnet =\u003e subnet.id),\n    privateServiceConnection: {\n        name: \"example-privateserviceconnection\",\n        privateConnectionResourceAlias: \"example-privatelinkservice.d20286c8-4ea5-11eb-9584-8f53157226c6.centralus.azure.privatelinkservice\",\n        isManualConnection: true,\n        requestMessage: \"PL\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.get_resource_group(name=\"example-resources\")\nvnet = azure.network.get_virtual_network(name=\"example-network\",\n    resource_group_name=example.name)\nsubnet = azure.network.get_subnet(name=\"default\",\n    virtual_network_name=vnet.name,\n    resource_group_name=example.name)\nexample_endpoint = azure.privatelink.Endpoint(\"example\",\n    name=\"example-endpoint\",\n    location=example.location,\n    resource_group_name=example.name,\n    subnet_id=subnet.id,\n    private_service_connection={\n        \"name\": \"example-privateserviceconnection\",\n        \"private_connection_resource_alias\": \"example-privatelinkservice.d20286c8-4ea5-11eb-9584-8f53157226c6.centralus.azure.privatelinkservice\",\n        \"is_manual_connection\": True,\n        \"request_message\": \"PL\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Core.GetResourceGroup.Invoke(new()\n    {\n        Name = \"example-resources\",\n    });\n\n    var vnet = Azure.Network.GetVirtualNetwork.Invoke(new()\n    {\n        Name = \"example-network\",\n        ResourceGroupName = example.Apply(getResourceGroupResult =\u003e getResourceGroupResult.Name),\n    });\n\n    var subnet = Azure.Network.GetSubnet.Invoke(new()\n    {\n        Name = \"default\",\n        VirtualNetworkName = vnet.Apply(getVirtualNetworkResult =\u003e getVirtualNetworkResult.Name),\n        ResourceGroupName = example.Apply(getResourceGroupResult =\u003e getResourceGroupResult.Name),\n    });\n\n    var exampleEndpoint = new Azure.PrivateLink.Endpoint(\"example\", new()\n    {\n        Name = \"example-endpoint\",\n        Location = example.Apply(getResourceGroupResult =\u003e getResourceGroupResult.Location),\n        ResourceGroupName = example.Apply(getResourceGroupResult =\u003e getResourceGroupResult.Name),\n        SubnetId = subnet.Apply(getSubnetResult =\u003e getSubnetResult.Id),\n        PrivateServiceConnection = new Azure.PrivateLink.Inputs.EndpointPrivateServiceConnectionArgs\n        {\n            Name = \"example-privateserviceconnection\",\n            PrivateConnectionResourceAlias = \"example-privatelinkservice.d20286c8-4ea5-11eb-9584-8f53157226c6.centralus.azure.privatelinkservice\",\n            IsManualConnection = true,\n            RequestMessage = \"PL\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/privatelink\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.LookupResourceGroup(ctx, \u0026core.LookupResourceGroupArgs{\n\t\t\tName: \"example-resources\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvnet, err := network.LookupVirtualNetwork(ctx, \u0026network.LookupVirtualNetworkArgs{\n\t\t\tName:              \"example-network\",\n\t\t\tResourceGroupName: example.Name,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsubnet, err := network.LookupSubnet(ctx, \u0026network.LookupSubnetArgs{\n\t\t\tName:               \"default\",\n\t\t\tVirtualNetworkName: vnet.Name,\n\t\t\tResourceGroupName:  example.Name,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = privatelink.NewEndpoint(ctx, \"example\", \u0026privatelink.EndpointArgs{\n\t\t\tName:              pulumi.String(\"example-endpoint\"),\n\t\t\tLocation:          pulumi.String(example.Location),\n\t\t\tResourceGroupName: pulumi.String(example.Name),\n\t\t\tSubnetId:          pulumi.String(subnet.Id),\n\t\t\tPrivateServiceConnection: \u0026privatelink.EndpointPrivateServiceConnectionArgs{\n\t\t\t\tName:                           pulumi.String(\"example-privateserviceconnection\"),\n\t\t\t\tPrivateConnectionResourceAlias: pulumi.String(\"example-privatelinkservice.d20286c8-4ea5-11eb-9584-8f53157226c6.centralus.azure.privatelinkservice\"),\n\t\t\t\tIsManualConnection:             pulumi.Bool(true),\n\t\t\t\tRequestMessage:                 pulumi.String(\"PL\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.core.inputs.GetResourceGroupArgs;\nimport com.pulumi.azure.network.NetworkFunctions;\nimport com.pulumi.azure.network.inputs.GetVirtualNetworkArgs;\nimport com.pulumi.azure.network.inputs.GetSubnetArgs;\nimport com.pulumi.azure.privatelink.Endpoint;\nimport com.pulumi.azure.privatelink.EndpointArgs;\nimport com.pulumi.azure.privatelink.inputs.EndpointPrivateServiceConnectionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = CoreFunctions.getResourceGroup(GetResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .build());\n\n        final var vnet = NetworkFunctions.getVirtualNetwork(GetVirtualNetworkArgs.builder()\n            .name(\"example-network\")\n            .resourceGroupName(example.name())\n            .build());\n\n        final var subnet = NetworkFunctions.getSubnet(GetSubnetArgs.builder()\n            .name(\"default\")\n            .virtualNetworkName(vnet.name())\n            .resourceGroupName(example.name())\n            .build());\n\n        var exampleEndpoint = new Endpoint(\"exampleEndpoint\", EndpointArgs.builder()\n            .name(\"example-endpoint\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .subnetId(subnet.id())\n            .privateServiceConnection(EndpointPrivateServiceConnectionArgs.builder()\n                .name(\"example-privateserviceconnection\")\n                .privateConnectionResourceAlias(\"example-privatelinkservice.d20286c8-4ea5-11eb-9584-8f53157226c6.centralus.azure.privatelinkservice\")\n                .isManualConnection(true)\n                .requestMessage(\"PL\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleEndpoint:\n    type: azure:privatelink:Endpoint\n    name: example\n    properties:\n      name: example-endpoint\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      subnetId: ${subnet.id}\n      privateServiceConnection:\n        name: example-privateserviceconnection\n        privateConnectionResourceAlias: example-privatelinkservice.d20286c8-4ea5-11eb-9584-8f53157226c6.centralus.azure.privatelinkservice\n        isManualConnection: true\n        requestMessage: PL\nvariables:\n  example:\n    fn::invoke:\n      function: azure:core:getResourceGroup\n      arguments:\n        name: example-resources\n  vnet:\n    fn::invoke:\n      function: azure:network:getVirtualNetwork\n      arguments:\n        name: example-network\n        resourceGroupName: ${example.name}\n  subnet:\n    fn::invoke:\n      function: azure:network:getSubnet\n      arguments:\n        name: default\n        virtualNetworkName: ${vnet.name}\n        resourceGroupName: ${example.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nUsing a Private Endpoint pointing to an *owned* Azure service, with proper DNS configuration:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-rg\",\n    location: \"West Europe\",\n});\nconst exampleAccount = new azure.storage.Account(\"example\", {\n    name: \"exampleaccount\",\n    resourceGroupName: example.name,\n    location: example.location,\n    accountTier: \"Standard\",\n    accountReplicationType: \"LRS\",\n});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"example\", {\n    name: \"virtnetname\",\n    addressSpaces: [\"10.0.0.0/16\"],\n    location: example.location,\n    resourceGroupName: example.name,\n});\nconst exampleSubnet = new azure.network.Subnet(\"example\", {\n    name: \"subnetname\",\n    resourceGroupName: example.name,\n    virtualNetworkName: exampleVirtualNetwork.name,\n    addressPrefixes: [\"10.0.2.0/24\"],\n});\nconst exampleZone = new azure.privatedns.Zone(\"example\", {\n    name: \"privatelink.blob.core.windows.net\",\n    resourceGroupName: example.name,\n});\nconst exampleEndpoint = new azure.privatelink.Endpoint(\"example\", {\n    name: \"example-endpoint\",\n    location: example.location,\n    resourceGroupName: example.name,\n    subnetId: exampleSubnet.id,\n    privateServiceConnection: {\n        name: \"example-privateserviceconnection\",\n        privateConnectionResourceId: exampleAccount.id,\n        subresourceNames: [\"blob\"],\n        isManualConnection: false,\n    },\n    privateDnsZoneGroup: {\n        name: \"example-dns-zone-group\",\n        privateDnsZoneIds: [exampleZone.id],\n    },\n});\nconst exampleZoneVirtualNetworkLink = new azure.privatedns.ZoneVirtualNetworkLink(\"example\", {\n    name: \"example-link\",\n    resourceGroupName: example.name,\n    privateDnsZoneName: exampleZone.name,\n    virtualNetworkId: exampleVirtualNetwork.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-rg\",\n    location=\"West Europe\")\nexample_account = azure.storage.Account(\"example\",\n    name=\"exampleaccount\",\n    resource_group_name=example.name,\n    location=example.location,\n    account_tier=\"Standard\",\n    account_replication_type=\"LRS\")\nexample_virtual_network = azure.network.VirtualNetwork(\"example\",\n    name=\"virtnetname\",\n    address_spaces=[\"10.0.0.0/16\"],\n    location=example.location,\n    resource_group_name=example.name)\nexample_subnet = azure.network.Subnet(\"example\",\n    name=\"subnetname\",\n    resource_group_name=example.name,\n    virtual_network_name=example_virtual_network.name,\n    address_prefixes=[\"10.0.2.0/24\"])\nexample_zone = azure.privatedns.Zone(\"example\",\n    name=\"privatelink.blob.core.windows.net\",\n    resource_group_name=example.name)\nexample_endpoint = azure.privatelink.Endpoint(\"example\",\n    name=\"example-endpoint\",\n    location=example.location,\n    resource_group_name=example.name,\n    subnet_id=example_subnet.id,\n    private_service_connection={\n        \"name\": \"example-privateserviceconnection\",\n        \"private_connection_resource_id\": example_account.id,\n        \"subresource_names\": [\"blob\"],\n        \"is_manual_connection\": False,\n    },\n    private_dns_zone_group={\n        \"name\": \"example-dns-zone-group\",\n        \"private_dns_zone_ids\": [example_zone.id],\n    })\nexample_zone_virtual_network_link = azure.privatedns.ZoneVirtualNetworkLink(\"example\",\n    name=\"example-link\",\n    resource_group_name=example.name,\n    private_dns_zone_name=example_zone.name,\n    virtual_network_id=example_virtual_network.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-rg\",\n        Location = \"West Europe\",\n    });\n\n    var exampleAccount = new Azure.Storage.Account(\"example\", new()\n    {\n        Name = \"exampleaccount\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        AccountTier = \"Standard\",\n        AccountReplicationType = \"LRS\",\n    });\n\n    var exampleVirtualNetwork = new Azure.Network.VirtualNetwork(\"example\", new()\n    {\n        Name = \"virtnetname\",\n        AddressSpaces = new[]\n        {\n            \"10.0.0.0/16\",\n        },\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n    });\n\n    var exampleSubnet = new Azure.Network.Subnet(\"example\", new()\n    {\n        Name = \"subnetname\",\n        ResourceGroupName = example.Name,\n        VirtualNetworkName = exampleVirtualNetwork.Name,\n        AddressPrefixes = new[]\n        {\n            \"10.0.2.0/24\",\n        },\n    });\n\n    var exampleZone = new Azure.PrivateDns.Zone(\"example\", new()\n    {\n        Name = \"privatelink.blob.core.windows.net\",\n        ResourceGroupName = example.Name,\n    });\n\n    var exampleEndpoint = new Azure.PrivateLink.Endpoint(\"example\", new()\n    {\n        Name = \"example-endpoint\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        SubnetId = exampleSubnet.Id,\n        PrivateServiceConnection = new Azure.PrivateLink.Inputs.EndpointPrivateServiceConnectionArgs\n        {\n            Name = \"example-privateserviceconnection\",\n            PrivateConnectionResourceId = exampleAccount.Id,\n            SubresourceNames = new[]\n            {\n                \"blob\",\n            },\n            IsManualConnection = false,\n        },\n        PrivateDnsZoneGroup = new Azure.PrivateLink.Inputs.EndpointPrivateDnsZoneGroupArgs\n        {\n            Name = \"example-dns-zone-group\",\n            PrivateDnsZoneIds = new[]\n            {\n                exampleZone.Id,\n            },\n        },\n    });\n\n    var exampleZoneVirtualNetworkLink = new Azure.PrivateDns.ZoneVirtualNetworkLink(\"example\", new()\n    {\n        Name = \"example-link\",\n        ResourceGroupName = example.Name,\n        PrivateDnsZoneName = exampleZone.Name,\n        VirtualNetworkId = exampleVirtualNetwork.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/privatedns\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/privatelink\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-rg\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := storage.NewAccount(ctx, \"example\", \u0026storage.AccountArgs{\n\t\t\tName:                   pulumi.String(\"exampleaccount\"),\n\t\t\tResourceGroupName:      example.Name,\n\t\t\tLocation:               example.Location,\n\t\t\tAccountTier:            pulumi.String(\"Standard\"),\n\t\t\tAccountReplicationType: pulumi.String(\"LRS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, \"example\", \u0026network.VirtualNetworkArgs{\n\t\t\tName: pulumi.String(\"virtnetname\"),\n\t\t\tAddressSpaces: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.0.0/16\"),\n\t\t\t},\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSubnet, err := network.NewSubnet(ctx, \"example\", \u0026network.SubnetArgs{\n\t\t\tName:               pulumi.String(\"subnetname\"),\n\t\t\tResourceGroupName:  example.Name,\n\t\t\tVirtualNetworkName: exampleVirtualNetwork.Name,\n\t\t\tAddressPrefixes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.2.0/24\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleZone, err := privatedns.NewZone(ctx, \"example\", \u0026privatedns.ZoneArgs{\n\t\t\tName:              pulumi.String(\"privatelink.blob.core.windows.net\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = privatelink.NewEndpoint(ctx, \"example\", \u0026privatelink.EndpointArgs{\n\t\t\tName:              pulumi.String(\"example-endpoint\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSubnetId:          exampleSubnet.ID(),\n\t\t\tPrivateServiceConnection: \u0026privatelink.EndpointPrivateServiceConnectionArgs{\n\t\t\t\tName:                        pulumi.String(\"example-privateserviceconnection\"),\n\t\t\t\tPrivateConnectionResourceId: exampleAccount.ID(),\n\t\t\t\tSubresourceNames: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"blob\"),\n\t\t\t\t},\n\t\t\t\tIsManualConnection: pulumi.Bool(false),\n\t\t\t},\n\t\t\tPrivateDnsZoneGroup: \u0026privatelink.EndpointPrivateDnsZoneGroupArgs{\n\t\t\t\tName: pulumi.String(\"example-dns-zone-group\"),\n\t\t\t\tPrivateDnsZoneIds: pulumi.StringArray{\n\t\t\t\t\texampleZone.ID(),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = privatedns.NewZoneVirtualNetworkLink(ctx, \"example\", \u0026privatedns.ZoneVirtualNetworkLinkArgs{\n\t\t\tName:               pulumi.String(\"example-link\"),\n\t\t\tResourceGroupName:  example.Name,\n\t\t\tPrivateDnsZoneName: exampleZone.Name,\n\t\t\tVirtualNetworkId:   exampleVirtualNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.storage.Account;\nimport com.pulumi.azure.storage.AccountArgs;\nimport com.pulumi.azure.network.VirtualNetwork;\nimport com.pulumi.azure.network.VirtualNetworkArgs;\nimport com.pulumi.azure.network.Subnet;\nimport com.pulumi.azure.network.SubnetArgs;\nimport com.pulumi.azure.privatedns.Zone;\nimport com.pulumi.azure.privatedns.ZoneArgs;\nimport com.pulumi.azure.privatelink.Endpoint;\nimport com.pulumi.azure.privatelink.EndpointArgs;\nimport com.pulumi.azure.privatelink.inputs.EndpointPrivateServiceConnectionArgs;\nimport com.pulumi.azure.privatelink.inputs.EndpointPrivateDnsZoneGroupArgs;\nimport com.pulumi.azure.privatedns.ZoneVirtualNetworkLink;\nimport com.pulumi.azure.privatedns.ZoneVirtualNetworkLinkArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-rg\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"exampleaccount\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .accountTier(\"Standard\")\n            .accountReplicationType(\"LRS\")\n            .build());\n\n        var exampleVirtualNetwork = new VirtualNetwork(\"exampleVirtualNetwork\", VirtualNetworkArgs.builder()\n            .name(\"virtnetname\")\n            .addressSpaces(\"10.0.0.0/16\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .build());\n\n        var exampleSubnet = new Subnet(\"exampleSubnet\", SubnetArgs.builder()\n            .name(\"subnetname\")\n            .resourceGroupName(example.name())\n            .virtualNetworkName(exampleVirtualNetwork.name())\n            .addressPrefixes(\"10.0.2.0/24\")\n            .build());\n\n        var exampleZone = new Zone(\"exampleZone\", ZoneArgs.builder()\n            .name(\"privatelink.blob.core.windows.net\")\n            .resourceGroupName(example.name())\n            .build());\n\n        var exampleEndpoint = new Endpoint(\"exampleEndpoint\", EndpointArgs.builder()\n            .name(\"example-endpoint\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .subnetId(exampleSubnet.id())\n            .privateServiceConnection(EndpointPrivateServiceConnectionArgs.builder()\n                .name(\"example-privateserviceconnection\")\n                .privateConnectionResourceId(exampleAccount.id())\n                .subresourceNames(\"blob\")\n                .isManualConnection(false)\n                .build())\n            .privateDnsZoneGroup(EndpointPrivateDnsZoneGroupArgs.builder()\n                .name(\"example-dns-zone-group\")\n                .privateDnsZoneIds(exampleZone.id())\n                .build())\n            .build());\n\n        var exampleZoneVirtualNetworkLink = new ZoneVirtualNetworkLink(\"exampleZoneVirtualNetworkLink\", ZoneVirtualNetworkLinkArgs.builder()\n            .name(\"example-link\")\n            .resourceGroupName(example.name())\n            .privateDnsZoneName(exampleZone.name())\n            .virtualNetworkId(exampleVirtualNetwork.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-rg\n      location: West Europe\n  exampleAccount:\n    type: azure:storage:Account\n    name: example\n    properties:\n      name: exampleaccount\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      accountTier: Standard\n      accountReplicationType: LRS\n  exampleVirtualNetwork:\n    type: azure:network:VirtualNetwork\n    name: example\n    properties:\n      name: virtnetname\n      addressSpaces:\n        - 10.0.0.0/16\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n  exampleSubnet:\n    type: azure:network:Subnet\n    name: example\n    properties:\n      name: subnetname\n      resourceGroupName: ${example.name}\n      virtualNetworkName: ${exampleVirtualNetwork.name}\n      addressPrefixes:\n        - 10.0.2.0/24\n  exampleEndpoint:\n    type: azure:privatelink:Endpoint\n    name: example\n    properties:\n      name: example-endpoint\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      subnetId: ${exampleSubnet.id}\n      privateServiceConnection:\n        name: example-privateserviceconnection\n        privateConnectionResourceId: ${exampleAccount.id}\n        subresourceNames:\n          - blob\n        isManualConnection: false\n      privateDnsZoneGroup:\n        name: example-dns-zone-group\n        privateDnsZoneIds:\n          - ${exampleZone.id}\n  exampleZone:\n    type: azure:privatedns:Zone\n    name: example\n    properties:\n      name: privatelink.blob.core.windows.net\n      resourceGroupName: ${example.name}\n  exampleZoneVirtualNetworkLink:\n    type: azure:privatedns:ZoneVirtualNetworkLink\n    name: example\n    properties:\n      name: example-link\n      resourceGroupName: ${example.name}\n      privateDnsZoneName: ${exampleZone.name}\n      virtualNetworkId: ${exampleVirtualNetwork.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Example HCL Configurations\n\n* How to conneca `Private Endpoint` to a Application Gateway\n* How to connect a `Private Endpoint` to a Cosmos MongoDB\n* How to connect a `Private Endpoint` to a Cosmos PostgreSQL\n* How to connect a `Private Endpoint` to a PostgreSQL Server\n* How to connect a `Private Endpoint` to a Private Link Service\n* How to connect a `Private Endpoint` to a Private DNS Group\n* How to connect a `Private Endpoint` to a Databricks Workspace\n* How to connect a `Private Endpoint` to a Managed Redis\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2025-01-01\n\n## Import\n\nPrivate Endpoints can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:privatelink/endpoint:Endpoint example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Network/privateEndpoints/endpoint1\n```\n\n","properties":{"customDnsConfigs":{"type":"array","items":{"$ref":"#/types/azure:privatelink/EndpointCustomDnsConfig:EndpointCustomDnsConfig"},"description":"A \u003cspan pulumi-lang-nodejs=\"`customDnsConfigs`\" pulumi-lang-dotnet=\"`CustomDnsConfigs`\" pulumi-lang-go=\"`customDnsConfigs`\" pulumi-lang-python=\"`custom_dns_configs`\" pulumi-lang-yaml=\"`customDnsConfigs`\" pulumi-lang-java=\"`customDnsConfigs`\"\u003e`custom_dns_configs`\u003c/span\u003e block as defined below.\n"},"customNetworkInterfaceName":{"type":"string","description":"The custom name of the network interface attached to the private endpoint. Changing this forces a new resource to be created.\n"},"ipConfigurations":{"type":"array","items":{"$ref":"#/types/azure:privatelink/EndpointIpConfiguration:EndpointIpConfiguration"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`ipConfiguration`\" pulumi-lang-dotnet=\"`IpConfiguration`\" pulumi-lang-go=\"`ipConfiguration`\" pulumi-lang-python=\"`ip_configuration`\" pulumi-lang-yaml=\"`ipConfiguration`\" pulumi-lang-java=\"`ipConfiguration`\"\u003e`ip_configuration`\u003c/span\u003e blocks as defined below. This allows a static IP address to be set for this Private Endpoint, otherwise an address is dynamically allocated from the Subnet.\n"},"location":{"type":"string","description":"The supported Azure location where the resource exists. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"Specifies the Name of the Private Endpoint. Changing this forces a new resource to be created.\n"},"networkInterfaces":{"type":"array","items":{"$ref":"#/types/azure:privatelink/EndpointNetworkInterface:EndpointNetworkInterface"},"description":"A \u003cspan pulumi-lang-nodejs=\"`networkInterface`\" pulumi-lang-dotnet=\"`NetworkInterface`\" pulumi-lang-go=\"`networkInterface`\" pulumi-lang-python=\"`network_interface`\" pulumi-lang-yaml=\"`networkInterface`\" pulumi-lang-java=\"`networkInterface`\"\u003e`network_interface`\u003c/span\u003e block as defined below.\n"},"privateDnsZoneConfigs":{"type":"array","items":{"$ref":"#/types/azure:privatelink/EndpointPrivateDnsZoneConfig:EndpointPrivateDnsZoneConfig"},"description":"A \u003cspan pulumi-lang-nodejs=\"`privateDnsZoneConfigs`\" pulumi-lang-dotnet=\"`PrivateDnsZoneConfigs`\" pulumi-lang-go=\"`privateDnsZoneConfigs`\" pulumi-lang-python=\"`private_dns_zone_configs`\" pulumi-lang-yaml=\"`privateDnsZoneConfigs`\" pulumi-lang-java=\"`privateDnsZoneConfigs`\"\u003e`private_dns_zone_configs`\u003c/span\u003e block as defined below.\n"},"privateDnsZoneGroup":{"$ref":"#/types/azure:privatelink/EndpointPrivateDnsZoneGroup:EndpointPrivateDnsZoneGroup","description":"A \u003cspan pulumi-lang-nodejs=\"`privateDnsZoneGroup`\" pulumi-lang-dotnet=\"`PrivateDnsZoneGroup`\" pulumi-lang-go=\"`privateDnsZoneGroup`\" pulumi-lang-python=\"`private_dns_zone_group`\" pulumi-lang-yaml=\"`privateDnsZoneGroup`\" pulumi-lang-java=\"`privateDnsZoneGroup`\"\u003e`private_dns_zone_group`\u003c/span\u003e block as defined below.\n"},"privateServiceConnection":{"$ref":"#/types/azure:privatelink/EndpointPrivateServiceConnection:EndpointPrivateServiceConnection","description":"A \u003cspan pulumi-lang-nodejs=\"`privateServiceConnection`\" pulumi-lang-dotnet=\"`PrivateServiceConnection`\" pulumi-lang-go=\"`privateServiceConnection`\" pulumi-lang-python=\"`private_service_connection`\" pulumi-lang-yaml=\"`privateServiceConnection`\" pulumi-lang-java=\"`privateServiceConnection`\"\u003e`private_service_connection`\u003c/span\u003e block as defined below.\n"},"resourceGroupName":{"type":"string","description":"Specifies the Name of the Resource Group within which the Private Endpoint should exist. Changing this forces a new resource to be created.\n"},"subnetId":{"type":"string","description":"The ID of the Subnet from which Private IP Addresses will be allocated for this Private Endpoint. Changing this forces a new resource to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"required":["customDnsConfigs","location","name","networkInterfaces","privateDnsZoneConfigs","privateServiceConnection","resourceGroupName","subnetId"],"inputProperties":{"customNetworkInterfaceName":{"type":"string","description":"The custom name of the network interface attached to the private endpoint. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"ipConfigurations":{"type":"array","items":{"$ref":"#/types/azure:privatelink/EndpointIpConfiguration:EndpointIpConfiguration"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`ipConfiguration`\" pulumi-lang-dotnet=\"`IpConfiguration`\" pulumi-lang-go=\"`ipConfiguration`\" pulumi-lang-python=\"`ip_configuration`\" pulumi-lang-yaml=\"`ipConfiguration`\" pulumi-lang-java=\"`ipConfiguration`\"\u003e`ip_configuration`\u003c/span\u003e blocks as defined below. This allows a static IP address to be set for this Private Endpoint, otherwise an address is dynamically allocated from the Subnet.\n"},"location":{"type":"string","description":"The supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the Name of the Private Endpoint. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"privateDnsZoneGroup":{"$ref":"#/types/azure:privatelink/EndpointPrivateDnsZoneGroup:EndpointPrivateDnsZoneGroup","description":"A \u003cspan pulumi-lang-nodejs=\"`privateDnsZoneGroup`\" pulumi-lang-dotnet=\"`PrivateDnsZoneGroup`\" pulumi-lang-go=\"`privateDnsZoneGroup`\" pulumi-lang-python=\"`private_dns_zone_group`\" pulumi-lang-yaml=\"`privateDnsZoneGroup`\" pulumi-lang-java=\"`privateDnsZoneGroup`\"\u003e`private_dns_zone_group`\u003c/span\u003e block as defined below.\n"},"privateServiceConnection":{"$ref":"#/types/azure:privatelink/EndpointPrivateServiceConnection:EndpointPrivateServiceConnection","description":"A \u003cspan pulumi-lang-nodejs=\"`privateServiceConnection`\" pulumi-lang-dotnet=\"`PrivateServiceConnection`\" pulumi-lang-go=\"`privateServiceConnection`\" pulumi-lang-python=\"`private_service_connection`\" pulumi-lang-yaml=\"`privateServiceConnection`\" pulumi-lang-java=\"`privateServiceConnection`\"\u003e`private_service_connection`\u003c/span\u003e block as defined below.\n"},"resourceGroupName":{"type":"string","description":"Specifies the Name of the Resource Group within which the Private Endpoint should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"subnetId":{"type":"string","description":"The ID of the Subnet from which Private IP Addresses will be allocated for this Private Endpoint. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"requiredInputs":["privateServiceConnection","resourceGroupName","subnetId"],"stateInputs":{"description":"Input properties used for looking up and filtering Endpoint resources.\n","properties":{"customDnsConfigs":{"type":"array","items":{"$ref":"#/types/azure:privatelink/EndpointCustomDnsConfig:EndpointCustomDnsConfig"},"description":"A \u003cspan pulumi-lang-nodejs=\"`customDnsConfigs`\" pulumi-lang-dotnet=\"`CustomDnsConfigs`\" pulumi-lang-go=\"`customDnsConfigs`\" pulumi-lang-python=\"`custom_dns_configs`\" pulumi-lang-yaml=\"`customDnsConfigs`\" pulumi-lang-java=\"`customDnsConfigs`\"\u003e`custom_dns_configs`\u003c/span\u003e block as defined below.\n"},"customNetworkInterfaceName":{"type":"string","description":"The custom name of the network interface attached to the private endpoint. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"ipConfigurations":{"type":"array","items":{"$ref":"#/types/azure:privatelink/EndpointIpConfiguration:EndpointIpConfiguration"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`ipConfiguration`\" pulumi-lang-dotnet=\"`IpConfiguration`\" pulumi-lang-go=\"`ipConfiguration`\" pulumi-lang-python=\"`ip_configuration`\" pulumi-lang-yaml=\"`ipConfiguration`\" pulumi-lang-java=\"`ipConfiguration`\"\u003e`ip_configuration`\u003c/span\u003e blocks as defined below. This allows a static IP address to be set for this Private Endpoint, otherwise an address is dynamically allocated from the Subnet.\n"},"location":{"type":"string","description":"The supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the Name of the Private Endpoint. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"networkInterfaces":{"type":"array","items":{"$ref":"#/types/azure:privatelink/EndpointNetworkInterface:EndpointNetworkInterface"},"description":"A \u003cspan pulumi-lang-nodejs=\"`networkInterface`\" pulumi-lang-dotnet=\"`NetworkInterface`\" pulumi-lang-go=\"`networkInterface`\" pulumi-lang-python=\"`network_interface`\" pulumi-lang-yaml=\"`networkInterface`\" pulumi-lang-java=\"`networkInterface`\"\u003e`network_interface`\u003c/span\u003e block as defined below.\n"},"privateDnsZoneConfigs":{"type":"array","items":{"$ref":"#/types/azure:privatelink/EndpointPrivateDnsZoneConfig:EndpointPrivateDnsZoneConfig"},"description":"A \u003cspan pulumi-lang-nodejs=\"`privateDnsZoneConfigs`\" pulumi-lang-dotnet=\"`PrivateDnsZoneConfigs`\" pulumi-lang-go=\"`privateDnsZoneConfigs`\" pulumi-lang-python=\"`private_dns_zone_configs`\" pulumi-lang-yaml=\"`privateDnsZoneConfigs`\" pulumi-lang-java=\"`privateDnsZoneConfigs`\"\u003e`private_dns_zone_configs`\u003c/span\u003e block as defined below.\n"},"privateDnsZoneGroup":{"$ref":"#/types/azure:privatelink/EndpointPrivateDnsZoneGroup:EndpointPrivateDnsZoneGroup","description":"A \u003cspan pulumi-lang-nodejs=\"`privateDnsZoneGroup`\" pulumi-lang-dotnet=\"`PrivateDnsZoneGroup`\" pulumi-lang-go=\"`privateDnsZoneGroup`\" pulumi-lang-python=\"`private_dns_zone_group`\" pulumi-lang-yaml=\"`privateDnsZoneGroup`\" pulumi-lang-java=\"`privateDnsZoneGroup`\"\u003e`private_dns_zone_group`\u003c/span\u003e block as defined below.\n"},"privateServiceConnection":{"$ref":"#/types/azure:privatelink/EndpointPrivateServiceConnection:EndpointPrivateServiceConnection","description":"A \u003cspan pulumi-lang-nodejs=\"`privateServiceConnection`\" pulumi-lang-dotnet=\"`PrivateServiceConnection`\" pulumi-lang-go=\"`privateServiceConnection`\" pulumi-lang-python=\"`private_service_connection`\" pulumi-lang-yaml=\"`privateServiceConnection`\" pulumi-lang-java=\"`privateServiceConnection`\"\u003e`private_service_connection`\u003c/span\u003e block as defined below.\n"},"resourceGroupName":{"type":"string","description":"Specifies the Name of the Resource Group within which the Private Endpoint should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"subnetId":{"type":"string","description":"The ID of the Subnet from which Private IP Addresses will be allocated for this Private Endpoint. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"type":"object"}},"azure:proximity/placementGroup:PlacementGroup":{"description":"Manages a proximity placement group for virtual machines, virtual machine scale sets and availability sets.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst examplePlacementGroup = new azure.proximity.PlacementGroup(\"example\", {\n    name: \"exampleProximityPlacementGroup\",\n    location: example.location,\n    resourceGroupName: example.name,\n    tags: {\n        environment: \"Production\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_placement_group = azure.proximity.PlacementGroup(\"example\",\n    name=\"exampleProximityPlacementGroup\",\n    location=example.location,\n    resource_group_name=example.name,\n    tags={\n        \"environment\": \"Production\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var examplePlacementGroup = new Azure.Proximity.PlacementGroup(\"example\", new()\n    {\n        Name = \"exampleProximityPlacementGroup\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Tags = \n        {\n            { \"environment\", \"Production\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/proximity\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = proximity.NewPlacementGroup(ctx, \"example\", \u0026proximity.PlacementGroupArgs{\n\t\t\tName:              pulumi.String(\"exampleProximityPlacementGroup\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"environment\": pulumi.String(\"Production\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.proximity.PlacementGroup;\nimport com.pulumi.azure.proximity.PlacementGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var examplePlacementGroup = new PlacementGroup(\"examplePlacementGroup\", PlacementGroupArgs.builder()\n            .name(\"exampleProximityPlacementGroup\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .tags(Map.of(\"environment\", \"Production\"))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  examplePlacementGroup:\n    type: azure:proximity:PlacementGroup\n    name: example\n    properties:\n      name: exampleProximityPlacementGroup\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      tags:\n        environment: Production\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Compute` - 2022-03-01\n\n## Import\n\nProximity Placement Groups can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:proximity/placementGroup:PlacementGroup example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/example-rg/providers/Microsoft.Compute/proximityPlacementGroups/example-ppg\n```\n\n","properties":{"allowedVmSizes":{"type":"array","items":{"type":"string"},"description":"Specifies the supported sizes of Virtual Machines that can be created in the Proximity Placement Group.\n\n\u003e **Note:** Removing \u003cspan pulumi-lang-nodejs=\"`allowedVmSizes`\" pulumi-lang-dotnet=\"`AllowedVmSizes`\" pulumi-lang-go=\"`allowedVmSizes`\" pulumi-lang-python=\"`allowed_vm_sizes`\" pulumi-lang-yaml=\"`allowedVmSizes`\" pulumi-lang-java=\"`allowedVmSizes`\"\u003e`allowed_vm_sizes`\u003c/span\u003e after it is set forces a new resource to be created.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"Specifies the name of the proximity placement group. Changing this forces a new resource to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the availability set. Changing this forces a new resource to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"zone":{"type":"string","description":"Specifies the supported zone of the Proximity Placement Group. Changing this forces a new resource to be created.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`allowedVmSizes`\" pulumi-lang-dotnet=\"`AllowedVmSizes`\" pulumi-lang-go=\"`allowedVmSizes`\" pulumi-lang-python=\"`allowed_vm_sizes`\" pulumi-lang-yaml=\"`allowedVmSizes`\" pulumi-lang-java=\"`allowedVmSizes`\"\u003e`allowed_vm_sizes`\u003c/span\u003e must be set when \u003cspan pulumi-lang-nodejs=\"`zone`\" pulumi-lang-dotnet=\"`Zone`\" pulumi-lang-go=\"`zone`\" pulumi-lang-python=\"`zone`\" pulumi-lang-yaml=\"`zone`\" pulumi-lang-java=\"`zone`\"\u003e`zone`\u003c/span\u003e is specified.\n"}},"required":["location","name","resourceGroupName"],"inputProperties":{"allowedVmSizes":{"type":"array","items":{"type":"string"},"description":"Specifies the supported sizes of Virtual Machines that can be created in the Proximity Placement Group.\n\n\u003e **Note:** Removing \u003cspan pulumi-lang-nodejs=\"`allowedVmSizes`\" pulumi-lang-dotnet=\"`AllowedVmSizes`\" pulumi-lang-go=\"`allowedVmSizes`\" pulumi-lang-python=\"`allowed_vm_sizes`\" pulumi-lang-yaml=\"`allowedVmSizes`\" pulumi-lang-java=\"`allowedVmSizes`\"\u003e`allowed_vm_sizes`\u003c/span\u003e after it is set forces a new resource to be created.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the proximity placement group. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the availability set. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"zone":{"type":"string","description":"Specifies the supported zone of the Proximity Placement Group. Changing this forces a new resource to be created.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`allowedVmSizes`\" pulumi-lang-dotnet=\"`AllowedVmSizes`\" pulumi-lang-go=\"`allowedVmSizes`\" pulumi-lang-python=\"`allowed_vm_sizes`\" pulumi-lang-yaml=\"`allowedVmSizes`\" pulumi-lang-java=\"`allowedVmSizes`\"\u003e`allowed_vm_sizes`\u003c/span\u003e must be set when \u003cspan pulumi-lang-nodejs=\"`zone`\" pulumi-lang-dotnet=\"`Zone`\" pulumi-lang-go=\"`zone`\" pulumi-lang-python=\"`zone`\" pulumi-lang-yaml=\"`zone`\" pulumi-lang-java=\"`zone`\"\u003e`zone`\u003c/span\u003e is specified.\n","willReplaceOnChanges":true}},"requiredInputs":["resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering PlacementGroup resources.\n","properties":{"allowedVmSizes":{"type":"array","items":{"type":"string"},"description":"Specifies the supported sizes of Virtual Machines that can be created in the Proximity Placement Group.\n\n\u003e **Note:** Removing \u003cspan pulumi-lang-nodejs=\"`allowedVmSizes`\" pulumi-lang-dotnet=\"`AllowedVmSizes`\" pulumi-lang-go=\"`allowedVmSizes`\" pulumi-lang-python=\"`allowed_vm_sizes`\" pulumi-lang-yaml=\"`allowedVmSizes`\" pulumi-lang-java=\"`allowedVmSizes`\"\u003e`allowed_vm_sizes`\u003c/span\u003e after it is set forces a new resource to be created.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the proximity placement group. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the availability set. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"zone":{"type":"string","description":"Specifies the supported zone of the Proximity Placement Group. Changing this forces a new resource to be created.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`allowedVmSizes`\" pulumi-lang-dotnet=\"`AllowedVmSizes`\" pulumi-lang-go=\"`allowedVmSizes`\" pulumi-lang-python=\"`allowed_vm_sizes`\" pulumi-lang-yaml=\"`allowedVmSizes`\" pulumi-lang-java=\"`allowedVmSizes`\"\u003e`allowed_vm_sizes`\u003c/span\u003e must be set when \u003cspan pulumi-lang-nodejs=\"`zone`\" pulumi-lang-dotnet=\"`Zone`\" pulumi-lang-go=\"`zone`\" pulumi-lang-python=\"`zone`\" pulumi-lang-yaml=\"`zone`\" pulumi-lang-java=\"`zone`\"\u003e`zone`\u003c/span\u003e is specified.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:purview/account:Account":{"description":"Manages a Purview Account.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleAccount = new azure.purview.Account(\"example\", {\n    name: \"example\",\n    resourceGroupName: example.name,\n    location: example.location,\n    identity: {\n        type: \"SystemAssigned\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_account = azure.purview.Account(\"example\",\n    name=\"example\",\n    resource_group_name=example.name,\n    location=example.location,\n    identity={\n        \"type\": \"SystemAssigned\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleAccount = new Azure.Purview.Account(\"example\", new()\n    {\n        Name = \"example\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        Identity = new Azure.Purview.Inputs.AccountIdentityArgs\n        {\n            Type = \"SystemAssigned\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/purview\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = purview.NewAccount(ctx, \"example\", \u0026purview.AccountArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tIdentity: \u0026purview.AccountIdentityArgs{\n\t\t\t\tType: pulumi.String(\"SystemAssigned\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.purview.Account;\nimport com.pulumi.azure.purview.AccountArgs;\nimport com.pulumi.azure.purview.inputs.AccountIdentityArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"example\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .identity(AccountIdentityArgs.builder()\n                .type(\"SystemAssigned\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleAccount:\n    type: azure:purview:Account\n    name: example\n    properties:\n      name: example\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      identity:\n        type: SystemAssigned\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Purview` - 2021-12-01\n\n## Import\n\nPurview Accounts can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:purview/account:Account example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Purview/accounts/account1\n```\n\n","properties":{"atlasKafkaEndpointPrimaryConnectionString":{"type":"string","description":"Atlas Kafka endpoint primary connection string.\n","secret":true},"atlasKafkaEndpointSecondaryConnectionString":{"type":"string","description":"Atlas Kafka endpoint secondary connection string.\n","secret":true},"awsExternalId":{"type":"string","description":"Configured in AWS to allow use of the role arn used for scanning\n"},"catalogEndpoint":{"type":"string","description":"Catalog endpoint.\n"},"guardianEndpoint":{"type":"string","description":"Guardian endpoint.\n"},"identity":{"$ref":"#/types/azure:purview/AccountIdentity:AccountIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"location":{"type":"string","description":"The Azure Region where the Purview Account should exist. Changing this forces a new Purview Account to be created.\n"},"managedEventHubEnabled":{"type":"boolean","description":"Whether the Purview Account should create a managed Event Hub Namespace. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`managedEventHubEnabled`\" pulumi-lang-dotnet=\"`ManagedEventHubEnabled`\" pulumi-lang-go=\"`managedEventHubEnabled`\" pulumi-lang-python=\"`managed_event_hub_enabled`\" pulumi-lang-yaml=\"`managedEventHubEnabled`\" pulumi-lang-java=\"`managedEventHubEnabled`\"\u003e`managed_event_hub_enabled`\u003c/span\u003e must be \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e in order to use a Kafka Configuration with the Purview Account.\n"},"managedResourceGroupName":{"type":"string","description":"The name which should be used for the new Resource Group where Purview Account creates the managed resources. Changing this forces a new Purview Account to be created.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`managedResourceGroupName`\" pulumi-lang-dotnet=\"`ManagedResourceGroupName`\" pulumi-lang-go=\"`managedResourceGroupName`\" pulumi-lang-python=\"`managed_resource_group_name`\" pulumi-lang-yaml=\"`managedResourceGroupName`\" pulumi-lang-java=\"`managedResourceGroupName`\"\u003e`managed_resource_group_name`\u003c/span\u003e must be a new Resource Group.\n"},"managedResources":{"type":"array","items":{"$ref":"#/types/azure:purview/AccountManagedResource:AccountManagedResource"},"description":"A \u003cspan pulumi-lang-nodejs=\"`managedResources`\" pulumi-lang-dotnet=\"`ManagedResources`\" pulumi-lang-go=\"`managedResources`\" pulumi-lang-python=\"`managed_resources`\" pulumi-lang-yaml=\"`managedResources`\" pulumi-lang-java=\"`managedResources`\"\u003e`managed_resources`\u003c/span\u003e block as defined below.\n"},"name":{"type":"string","description":"The name which should be used for this Purview Account. Changing this forces a new Purview Account to be created.\n"},"publicNetworkEnabled":{"type":"boolean","description":"Should the Purview Account be visible to the public network? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Purview Account should exist. Changing this forces a new Purview Account to be created.\n"},"scanEndpoint":{"type":"string","description":"Scan endpoint.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Purview Account.\n"}},"required":["atlasKafkaEndpointPrimaryConnectionString","atlasKafkaEndpointSecondaryConnectionString","awsExternalId","catalogEndpoint","guardianEndpoint","identity","location","managedResourceGroupName","managedResources","name","resourceGroupName","scanEndpoint"],"inputProperties":{"identity":{"$ref":"#/types/azure:purview/AccountIdentity:AccountIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"location":{"type":"string","description":"The Azure Region where the Purview Account should exist. Changing this forces a new Purview Account to be created.\n","willReplaceOnChanges":true},"managedEventHubEnabled":{"type":"boolean","description":"Whether the Purview Account should create a managed Event Hub Namespace. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`managedEventHubEnabled`\" pulumi-lang-dotnet=\"`ManagedEventHubEnabled`\" pulumi-lang-go=\"`managedEventHubEnabled`\" pulumi-lang-python=\"`managed_event_hub_enabled`\" pulumi-lang-yaml=\"`managedEventHubEnabled`\" pulumi-lang-java=\"`managedEventHubEnabled`\"\u003e`managed_event_hub_enabled`\u003c/span\u003e must be \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e in order to use a Kafka Configuration with the Purview Account.\n"},"managedResourceGroupName":{"type":"string","description":"The name which should be used for the new Resource Group where Purview Account creates the managed resources. Changing this forces a new Purview Account to be created.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`managedResourceGroupName`\" pulumi-lang-dotnet=\"`ManagedResourceGroupName`\" pulumi-lang-go=\"`managedResourceGroupName`\" pulumi-lang-python=\"`managed_resource_group_name`\" pulumi-lang-yaml=\"`managedResourceGroupName`\" pulumi-lang-java=\"`managedResourceGroupName`\"\u003e`managed_resource_group_name`\u003c/span\u003e must be a new Resource Group.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Purview Account. Changing this forces a new Purview Account to be created.\n","willReplaceOnChanges":true},"publicNetworkEnabled":{"type":"boolean","description":"Should the Purview Account be visible to the public network? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Purview Account should exist. Changing this forces a new Purview Account to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Purview Account.\n"}},"requiredInputs":["identity","resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering Account resources.\n","properties":{"atlasKafkaEndpointPrimaryConnectionString":{"type":"string","description":"Atlas Kafka endpoint primary connection string.\n","secret":true},"atlasKafkaEndpointSecondaryConnectionString":{"type":"string","description":"Atlas Kafka endpoint secondary connection string.\n","secret":true},"awsExternalId":{"type":"string","description":"Configured in AWS to allow use of the role arn used for scanning\n"},"catalogEndpoint":{"type":"string","description":"Catalog endpoint.\n"},"guardianEndpoint":{"type":"string","description":"Guardian endpoint.\n"},"identity":{"$ref":"#/types/azure:purview/AccountIdentity:AccountIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"location":{"type":"string","description":"The Azure Region where the Purview Account should exist. Changing this forces a new Purview Account to be created.\n","willReplaceOnChanges":true},"managedEventHubEnabled":{"type":"boolean","description":"Whether the Purview Account should create a managed Event Hub Namespace. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`managedEventHubEnabled`\" pulumi-lang-dotnet=\"`ManagedEventHubEnabled`\" pulumi-lang-go=\"`managedEventHubEnabled`\" pulumi-lang-python=\"`managed_event_hub_enabled`\" pulumi-lang-yaml=\"`managedEventHubEnabled`\" pulumi-lang-java=\"`managedEventHubEnabled`\"\u003e`managed_event_hub_enabled`\u003c/span\u003e must be \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e in order to use a Kafka Configuration with the Purview Account.\n"},"managedResourceGroupName":{"type":"string","description":"The name which should be used for the new Resource Group where Purview Account creates the managed resources. Changing this forces a new Purview Account to be created.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`managedResourceGroupName`\" pulumi-lang-dotnet=\"`ManagedResourceGroupName`\" pulumi-lang-go=\"`managedResourceGroupName`\" pulumi-lang-python=\"`managed_resource_group_name`\" pulumi-lang-yaml=\"`managedResourceGroupName`\" pulumi-lang-java=\"`managedResourceGroupName`\"\u003e`managed_resource_group_name`\u003c/span\u003e must be a new Resource Group.\n","willReplaceOnChanges":true},"managedResources":{"type":"array","items":{"$ref":"#/types/azure:purview/AccountManagedResource:AccountManagedResource"},"description":"A \u003cspan pulumi-lang-nodejs=\"`managedResources`\" pulumi-lang-dotnet=\"`ManagedResources`\" pulumi-lang-go=\"`managedResources`\" pulumi-lang-python=\"`managed_resources`\" pulumi-lang-yaml=\"`managedResources`\" pulumi-lang-java=\"`managedResources`\"\u003e`managed_resources`\u003c/span\u003e block as defined below.\n"},"name":{"type":"string","description":"The name which should be used for this Purview Account. Changing this forces a new Purview Account to be created.\n","willReplaceOnChanges":true},"publicNetworkEnabled":{"type":"boolean","description":"Should the Purview Account be visible to the public network? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Purview Account should exist. Changing this forces a new Purview Account to be created.\n","willReplaceOnChanges":true},"scanEndpoint":{"type":"string","description":"Scan endpoint.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Purview Account.\n"}},"type":"object"}},"azure:qumulo/fileSystem:FileSystem":{"description":"Manages an Azure Native Qumulo Scalable File System.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"example\", {\n    name: \"example-vnet\",\n    addressSpaces: [\"10.0.0.0/16\"],\n    location: example.location,\n    resourceGroupName: example.name,\n});\nconst exampleSubnet = new azure.network.Subnet(\"example\", {\n    name: \"example-subnet\",\n    resourceGroupName: example.name,\n    virtualNetworkName: exampleVirtualNetwork.name,\n    addressPrefixes: [\"10.0.1.0/24\"],\n    delegations: [{\n        name: \"delegation\",\n        serviceDelegation: {\n            actions: [\"Microsoft.Network/virtualNetworks/subnets/join/action\"],\n            name: \"Qumulo.Storage/fileSystems\",\n        },\n    }],\n});\nconst exampleFileSystem = new azure.qumulo.FileSystem(\"example\", {\n    name: \"example\",\n    resourceGroupName: example.name,\n    location: example.location,\n    adminPassword: \")^X#ZX#JRyIY}t9\",\n    availabilityZone: \"1\",\n    delegatedSubnetId: exampleSubnet.id,\n    storageSku: \"Standard\",\n    email: \"test@test.com\",\n    tags: {\n        environment: \"test\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_virtual_network = azure.network.VirtualNetwork(\"example\",\n    name=\"example-vnet\",\n    address_spaces=[\"10.0.0.0/16\"],\n    location=example.location,\n    resource_group_name=example.name)\nexample_subnet = azure.network.Subnet(\"example\",\n    name=\"example-subnet\",\n    resource_group_name=example.name,\n    virtual_network_name=example_virtual_network.name,\n    address_prefixes=[\"10.0.1.0/24\"],\n    delegations=[{\n        \"name\": \"delegation\",\n        \"service_delegation\": {\n            \"actions\": [\"Microsoft.Network/virtualNetworks/subnets/join/action\"],\n            \"name\": \"Qumulo.Storage/fileSystems\",\n        },\n    }])\nexample_file_system = azure.qumulo.FileSystem(\"example\",\n    name=\"example\",\n    resource_group_name=example.name,\n    location=example.location,\n    admin_password=\")^X#ZX#JRyIY}t9\",\n    availability_zone=\"1\",\n    delegated_subnet_id=example_subnet.id,\n    storage_sku=\"Standard\",\n    email=\"test@test.com\",\n    tags={\n        \"environment\": \"test\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleVirtualNetwork = new Azure.Network.VirtualNetwork(\"example\", new()\n    {\n        Name = \"example-vnet\",\n        AddressSpaces = new[]\n        {\n            \"10.0.0.0/16\",\n        },\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n    });\n\n    var exampleSubnet = new Azure.Network.Subnet(\"example\", new()\n    {\n        Name = \"example-subnet\",\n        ResourceGroupName = example.Name,\n        VirtualNetworkName = exampleVirtualNetwork.Name,\n        AddressPrefixes = new[]\n        {\n            \"10.0.1.0/24\",\n        },\n        Delegations = new[]\n        {\n            new Azure.Network.Inputs.SubnetDelegationArgs\n            {\n                Name = \"delegation\",\n                ServiceDelegation = new Azure.Network.Inputs.SubnetDelegationServiceDelegationArgs\n                {\n                    Actions = new[]\n                    {\n                        \"Microsoft.Network/virtualNetworks/subnets/join/action\",\n                    },\n                    Name = \"Qumulo.Storage/fileSystems\",\n                },\n            },\n        },\n    });\n\n    var exampleFileSystem = new Azure.Qumulo.FileSystem(\"example\", new()\n    {\n        Name = \"example\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        AdminPassword = \")^X#ZX#JRyIY}t9\",\n        AvailabilityZone = \"1\",\n        DelegatedSubnetId = exampleSubnet.Id,\n        StorageSku = \"Standard\",\n        Email = \"test@test.com\",\n        Tags = \n        {\n            { \"environment\", \"test\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/qumulo\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, \"example\", \u0026network.VirtualNetworkArgs{\n\t\t\tName: pulumi.String(\"example-vnet\"),\n\t\t\tAddressSpaces: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.0.0/16\"),\n\t\t\t},\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSubnet, err := network.NewSubnet(ctx, \"example\", \u0026network.SubnetArgs{\n\t\t\tName:               pulumi.String(\"example-subnet\"),\n\t\t\tResourceGroupName:  example.Name,\n\t\t\tVirtualNetworkName: exampleVirtualNetwork.Name,\n\t\t\tAddressPrefixes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.1.0/24\"),\n\t\t\t},\n\t\t\tDelegations: network.SubnetDelegationArray{\n\t\t\t\t\u0026network.SubnetDelegationArgs{\n\t\t\t\t\tName: pulumi.String(\"delegation\"),\n\t\t\t\t\tServiceDelegation: \u0026network.SubnetDelegationServiceDelegationArgs{\n\t\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"Microsoft.Network/virtualNetworks/subnets/join/action\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tName: pulumi.String(\"Qumulo.Storage/fileSystems\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = qumulo.NewFileSystem(ctx, \"example\", \u0026qumulo.FileSystemArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tAdminPassword:     pulumi.String(\")^X#ZX#JRyIY}t9\"),\n\t\t\tAvailabilityZone:  \"1\",\n\t\t\tDelegatedSubnetId: exampleSubnet.ID(),\n\t\t\tStorageSku:        pulumi.String(\"Standard\"),\n\t\t\tEmail:             pulumi.String(\"test@test.com\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"environment\": pulumi.String(\"test\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.VirtualNetwork;\nimport com.pulumi.azure.network.VirtualNetworkArgs;\nimport com.pulumi.azure.network.Subnet;\nimport com.pulumi.azure.network.SubnetArgs;\nimport com.pulumi.azure.network.inputs.SubnetDelegationArgs;\nimport com.pulumi.azure.network.inputs.SubnetDelegationServiceDelegationArgs;\nimport com.pulumi.azure.qumulo.FileSystem;\nimport com.pulumi.azure.qumulo.FileSystemArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleVirtualNetwork = new VirtualNetwork(\"exampleVirtualNetwork\", VirtualNetworkArgs.builder()\n            .name(\"example-vnet\")\n            .addressSpaces(\"10.0.0.0/16\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .build());\n\n        var exampleSubnet = new Subnet(\"exampleSubnet\", SubnetArgs.builder()\n            .name(\"example-subnet\")\n            .resourceGroupName(example.name())\n            .virtualNetworkName(exampleVirtualNetwork.name())\n            .addressPrefixes(\"10.0.1.0/24\")\n            .delegations(SubnetDelegationArgs.builder()\n                .name(\"delegation\")\n                .serviceDelegation(SubnetDelegationServiceDelegationArgs.builder()\n                    .actions(\"Microsoft.Network/virtualNetworks/subnets/join/action\")\n                    .name(\"Qumulo.Storage/fileSystems\")\n                    .build())\n                .build())\n            .build());\n\n        var exampleFileSystem = new FileSystem(\"exampleFileSystem\", FileSystemArgs.builder()\n            .name(\"example\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .adminPassword(\")^X#ZX#JRyIY}t9\")\n            .availabilityZone(\"1\")\n            .delegatedSubnetId(exampleSubnet.id())\n            .storageSku(\"Standard\")\n            .email(\"test@test.com\")\n            .tags(Map.of(\"environment\", \"test\"))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleVirtualNetwork:\n    type: azure:network:VirtualNetwork\n    name: example\n    properties:\n      name: example-vnet\n      addressSpaces:\n        - 10.0.0.0/16\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n  exampleSubnet:\n    type: azure:network:Subnet\n    name: example\n    properties:\n      name: example-subnet\n      resourceGroupName: ${example.name}\n      virtualNetworkName: ${exampleVirtualNetwork.name}\n      addressPrefixes:\n        - 10.0.1.0/24\n      delegations:\n        - name: delegation\n          serviceDelegation:\n            actions:\n              - Microsoft.Network/virtualNetworks/subnets/join/action\n            name: Qumulo.Storage/fileSystems\n  exampleFileSystem:\n    type: azure:qumulo:FileSystem\n    name: example\n    properties:\n      name: example\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      adminPassword: )^X#ZX#JRyIY}t9\n      availabilityZone: '1'\n      delegatedSubnetId: ${exampleSubnet.id}\n      storageSku: Standard\n      email: test@test.com\n      tags:\n        environment: test\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Qumulo.Storage` - 2024-06-19\n\n## Import\n\nAn existing File System can be imported into Pulumi using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:qumulo/fileSystem:FileSystem example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Qumulo.Storage/fileSystems/example\n```\n\n","properties":{"adminPassword":{"type":"string","description":"The initial administrator password of the Azure Native Qumulo Scalable File System. Changing this forces a new resource to be created.\n","secret":true},"email":{"type":"string","description":"The email address used for the Azure Native Qumulo Scalable File System. Changing this forces a new resource to be created.\n"},"location":{"type":"string","description":"The Azure Region where the Azure Native Qumulo Scalable File System should exist. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"Specifies the name of this Azure Native Qumulo Scalable File System resource. Changing this forces a new resource to be created.\n"},"offerId":{"type":"string","description":"Specifies the marketplace offer ID. Defaults to `qumulo-saas-mpp`. Changing this forces a new resource to be created.\n"},"planId":{"type":"string","description":"Specifies the marketplace plan ID. Defaults to `azure-native-qumulo-v3`. Changing this forces a new resource to be created.\n"},"publisherId":{"type":"string","description":"Specifies the marketplace publisher ID. Defaults to \u003cspan pulumi-lang-nodejs=\"`qumulo1584033880660`\" pulumi-lang-dotnet=\"`Qumulo1584033880660`\" pulumi-lang-go=\"`qumulo1584033880660`\" pulumi-lang-python=\"`qumulo1584033880660`\" pulumi-lang-yaml=\"`qumulo1584033880660`\" pulumi-lang-java=\"`qumulo1584033880660`\"\u003e`qumulo1584033880660`\u003c/span\u003e. Changing this forces a new resource to be created.\n"},"resourceGroupName":{"type":"string","description":"Specifies the name of the Resource Group within which this Azure Native Qumulo Scalable File System should exist. Changing this forces a new resource to be created.\n"},"storageSku":{"type":"string","description":"The storage Sku. Possible values are `Cold_LRS`, `Hot_LRS` and `Hot_ZRS`. Changing this forces a new resource to be created.\n"},"subnetId":{"type":"string","description":"The delegated subnet ID for Vnet injection. Changing this forces a new resource to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the File System.\n"},"zone":{"type":"string","description":"The Availability Zone in which the Azure Native Qumulo Scalable File system is located. Changing this forces a new resource to be created.\n"}},"required":["adminPassword","email","location","name","resourceGroupName","storageSku","subnetId","zone"],"inputProperties":{"adminPassword":{"type":"string","description":"The initial administrator password of the Azure Native Qumulo Scalable File System. Changing this forces a new resource to be created.\n","secret":true,"willReplaceOnChanges":true},"email":{"type":"string","description":"The email address used for the Azure Native Qumulo Scalable File System. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"location":{"type":"string","description":"The Azure Region where the Azure Native Qumulo Scalable File System should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of this Azure Native Qumulo Scalable File System resource. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"offerId":{"type":"string","description":"Specifies the marketplace offer ID. Defaults to `qumulo-saas-mpp`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"planId":{"type":"string","description":"Specifies the marketplace plan ID. Defaults to `azure-native-qumulo-v3`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"publisherId":{"type":"string","description":"Specifies the marketplace publisher ID. Defaults to \u003cspan pulumi-lang-nodejs=\"`qumulo1584033880660`\" pulumi-lang-dotnet=\"`Qumulo1584033880660`\" pulumi-lang-go=\"`qumulo1584033880660`\" pulumi-lang-python=\"`qumulo1584033880660`\" pulumi-lang-yaml=\"`qumulo1584033880660`\" pulumi-lang-java=\"`qumulo1584033880660`\"\u003e`qumulo1584033880660`\u003c/span\u003e. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"Specifies the name of the Resource Group within which this Azure Native Qumulo Scalable File System should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"storageSku":{"type":"string","description":"The storage Sku. Possible values are `Cold_LRS`, `Hot_LRS` and `Hot_ZRS`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"subnetId":{"type":"string","description":"The delegated subnet ID for Vnet injection. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the File System.\n"},"zone":{"type":"string","description":"The Availability Zone in which the Azure Native Qumulo Scalable File system is located. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["adminPassword","email","resourceGroupName","storageSku","subnetId","zone"],"stateInputs":{"description":"Input properties used for looking up and filtering FileSystem resources.\n","properties":{"adminPassword":{"type":"string","description":"The initial administrator password of the Azure Native Qumulo Scalable File System. Changing this forces a new resource to be created.\n","secret":true,"willReplaceOnChanges":true},"email":{"type":"string","description":"The email address used for the Azure Native Qumulo Scalable File System. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"location":{"type":"string","description":"The Azure Region where the Azure Native Qumulo Scalable File System should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of this Azure Native Qumulo Scalable File System resource. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"offerId":{"type":"string","description":"Specifies the marketplace offer ID. Defaults to `qumulo-saas-mpp`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"planId":{"type":"string","description":"Specifies the marketplace plan ID. Defaults to `azure-native-qumulo-v3`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"publisherId":{"type":"string","description":"Specifies the marketplace publisher ID. Defaults to \u003cspan pulumi-lang-nodejs=\"`qumulo1584033880660`\" pulumi-lang-dotnet=\"`Qumulo1584033880660`\" pulumi-lang-go=\"`qumulo1584033880660`\" pulumi-lang-python=\"`qumulo1584033880660`\" pulumi-lang-yaml=\"`qumulo1584033880660`\" pulumi-lang-java=\"`qumulo1584033880660`\"\u003e`qumulo1584033880660`\u003c/span\u003e. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"Specifies the name of the Resource Group within which this Azure Native Qumulo Scalable File System should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"storageSku":{"type":"string","description":"The storage Sku. Possible values are `Cold_LRS`, `Hot_LRS` and `Hot_ZRS`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"subnetId":{"type":"string","description":"The delegated subnet ID for Vnet injection. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the File System.\n"},"zone":{"type":"string","description":"The Availability Zone in which the Azure Native Qumulo Scalable File system is located. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:recoveryservices/vault:Vault":{"description":"Manages a Recovery Services Vault.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"tfex-recovery_vault\",\n    location: \"West Europe\",\n});\nconst vault = new azure.recoveryservices.Vault(\"vault\", {\n    name: \"example-recovery-vault\",\n    location: example.location,\n    resourceGroupName: example.name,\n    sku: \"Standard\",\n    softDeleteEnabled: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"tfex-recovery_vault\",\n    location=\"West Europe\")\nvault = azure.recoveryservices.Vault(\"vault\",\n    name=\"example-recovery-vault\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku=\"Standard\",\n    soft_delete_enabled=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"tfex-recovery_vault\",\n        Location = \"West Europe\",\n    });\n\n    var vault = new Azure.RecoveryServices.Vault(\"vault\", new()\n    {\n        Name = \"example-recovery-vault\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Sku = \"Standard\",\n        SoftDeleteEnabled = true,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/recoveryservices\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"tfex-recovery_vault\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = recoveryservices.NewVault(ctx, \"vault\", \u0026recoveryservices.VaultArgs{\n\t\t\tName:              pulumi.String(\"example-recovery-vault\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSku:               pulumi.String(\"Standard\"),\n\t\t\tSoftDeleteEnabled: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.recoveryservices.Vault;\nimport com.pulumi.azure.recoveryservices.VaultArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"tfex-recovery_vault\")\n            .location(\"West Europe\")\n            .build());\n\n        var vault = new Vault(\"vault\", VaultArgs.builder()\n            .name(\"example-recovery-vault\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .sku(\"Standard\")\n            .softDeleteEnabled(true)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: tfex-recovery_vault\n      location: West Europe\n  vault:\n    type: azure:recoveryservices:Vault\n    properties:\n      name: example-recovery-vault\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      sku: Standard\n      softDeleteEnabled: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.RecoveryServices` - 2024-04-01, 2024-01-01\n\n## Import\n\nRecovery Services Vaults can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:recoveryservices/vault:Vault vault1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.RecoveryServices/vaults/vault1\n```\n\n","properties":{"classicVmwareReplicationEnabled":{"type":"boolean","description":"Whether to enable the Classic experience for VMware replication. If set to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e VMware machines will be protected using the new stateless ASR replication appliance. Changing this forces a new resource to be created.\n"},"crossRegionRestoreEnabled":{"type":"boolean","description":"Is cross region restore enabled for this Vault? Only can be \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, when \u003cspan pulumi-lang-nodejs=\"`storageModeType`\" pulumi-lang-dotnet=\"`StorageModeType`\" pulumi-lang-go=\"`storageModeType`\" pulumi-lang-python=\"`storage_mode_type`\" pulumi-lang-yaml=\"`storageModeType`\" pulumi-lang-java=\"`storageModeType`\"\u003e`storage_mode_type`\u003c/span\u003e is `GeoRedundant`. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** Once \u003cspan pulumi-lang-nodejs=\"`crossRegionRestoreEnabled`\" pulumi-lang-dotnet=\"`CrossRegionRestoreEnabled`\" pulumi-lang-go=\"`crossRegionRestoreEnabled`\" pulumi-lang-python=\"`cross_region_restore_enabled`\" pulumi-lang-yaml=\"`crossRegionRestoreEnabled`\" pulumi-lang-java=\"`crossRegionRestoreEnabled`\"\u003e`cross_region_restore_enabled`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, changing it back to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e forces a new Recovery Service Vault to be created.\n"},"encryption":{"$ref":"#/types/azure:recoveryservices/VaultEncryption:VaultEncryption","description":"An \u003cspan pulumi-lang-nodejs=\"`encryption`\" pulumi-lang-dotnet=\"`Encryption`\" pulumi-lang-go=\"`encryption`\" pulumi-lang-python=\"`encryption`\" pulumi-lang-yaml=\"`encryption`\" pulumi-lang-java=\"`encryption`\"\u003e`encryption`\u003c/span\u003e block as defined below. Required with \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e.\n\n!\u003e **Note:** Once Encryption with your own key has been Enabled it's not possible to Disable it.\n"},"identity":{"$ref":"#/types/azure:recoveryservices/VaultIdentity:VaultIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"immutability":{"type":"string","description":"Immutability Settings of vault, possible values include: `Locked`, `Unlocked` and `Disabled`.\n\n\u003e **Note:** Once \u003cspan pulumi-lang-nodejs=\"`immutability`\" pulumi-lang-dotnet=\"`Immutability`\" pulumi-lang-go=\"`immutability`\" pulumi-lang-python=\"`immutability`\" pulumi-lang-yaml=\"`immutability`\" pulumi-lang-java=\"`immutability`\"\u003e`immutability`\u003c/span\u003e is set to `Locked`, changing it to other values forces a new Recovery Services Vault to be created.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n"},"monitoring":{"$ref":"#/types/azure:recoveryservices/VaultMonitoring:VaultMonitoring","description":"A \u003cspan pulumi-lang-nodejs=\"`monitoring`\" pulumi-lang-dotnet=\"`Monitoring`\" pulumi-lang-go=\"`monitoring`\" pulumi-lang-python=\"`monitoring`\" pulumi-lang-yaml=\"`monitoring`\" pulumi-lang-java=\"`monitoring`\"\u003e`monitoring`\u003c/span\u003e block as defined below.\n"},"name":{"type":"string","description":"Specifies the name of the Recovery Services Vault. Recovery Service Vault name must be 2 - 50 characters long, start with a letter, contain only letters, numbers and hyphens. Changing this forces a new resource to be created.\n"},"publicNetworkAccessEnabled":{"type":"boolean","description":"Is it enabled to access the vault from public networks. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the Recovery Services Vault. Changing this forces a new resource to be created.\n"},"sku":{"type":"string","description":"Sets the vault's SKU. Possible values include: `Standard`, `RS0`.\n"},"softDeleteEnabled":{"type":"boolean","description":"Is soft delete enable for this Vault? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"storageModeType":{"type":"string","description":"The storage type of the Recovery Services Vault. Possible values are `GeoRedundant`, `LocallyRedundant` and `ZoneRedundant`. Defaults to `GeoRedundant`.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"required":["immutability","location","name","resourceGroupName","sku"],"inputProperties":{"classicVmwareReplicationEnabled":{"type":"boolean","description":"Whether to enable the Classic experience for VMware replication. If set to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e VMware machines will be protected using the new stateless ASR replication appliance. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"crossRegionRestoreEnabled":{"type":"boolean","description":"Is cross region restore enabled for this Vault? Only can be \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, when \u003cspan pulumi-lang-nodejs=\"`storageModeType`\" pulumi-lang-dotnet=\"`StorageModeType`\" pulumi-lang-go=\"`storageModeType`\" pulumi-lang-python=\"`storage_mode_type`\" pulumi-lang-yaml=\"`storageModeType`\" pulumi-lang-java=\"`storageModeType`\"\u003e`storage_mode_type`\u003c/span\u003e is `GeoRedundant`. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** Once \u003cspan pulumi-lang-nodejs=\"`crossRegionRestoreEnabled`\" pulumi-lang-dotnet=\"`CrossRegionRestoreEnabled`\" pulumi-lang-go=\"`crossRegionRestoreEnabled`\" pulumi-lang-python=\"`cross_region_restore_enabled`\" pulumi-lang-yaml=\"`crossRegionRestoreEnabled`\" pulumi-lang-java=\"`crossRegionRestoreEnabled`\"\u003e`cross_region_restore_enabled`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, changing it back to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e forces a new Recovery Service Vault to be created.\n"},"encryption":{"$ref":"#/types/azure:recoveryservices/VaultEncryption:VaultEncryption","description":"An \u003cspan pulumi-lang-nodejs=\"`encryption`\" pulumi-lang-dotnet=\"`Encryption`\" pulumi-lang-go=\"`encryption`\" pulumi-lang-python=\"`encryption`\" pulumi-lang-yaml=\"`encryption`\" pulumi-lang-java=\"`encryption`\"\u003e`encryption`\u003c/span\u003e block as defined below. Required with \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e.\n\n!\u003e **Note:** Once Encryption with your own key has been Enabled it's not possible to Disable it.\n"},"identity":{"$ref":"#/types/azure:recoveryservices/VaultIdentity:VaultIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"immutability":{"type":"string","description":"Immutability Settings of vault, possible values include: `Locked`, `Unlocked` and `Disabled`.\n\n\u003e **Note:** Once \u003cspan pulumi-lang-nodejs=\"`immutability`\" pulumi-lang-dotnet=\"`Immutability`\" pulumi-lang-go=\"`immutability`\" pulumi-lang-python=\"`immutability`\" pulumi-lang-yaml=\"`immutability`\" pulumi-lang-java=\"`immutability`\"\u003e`immutability`\u003c/span\u003e is set to `Locked`, changing it to other values forces a new Recovery Services Vault to be created.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"monitoring":{"$ref":"#/types/azure:recoveryservices/VaultMonitoring:VaultMonitoring","description":"A \u003cspan pulumi-lang-nodejs=\"`monitoring`\" pulumi-lang-dotnet=\"`Monitoring`\" pulumi-lang-go=\"`monitoring`\" pulumi-lang-python=\"`monitoring`\" pulumi-lang-yaml=\"`monitoring`\" pulumi-lang-java=\"`monitoring`\"\u003e`monitoring`\u003c/span\u003e block as defined below.\n"},"name":{"type":"string","description":"Specifies the name of the Recovery Services Vault. Recovery Service Vault name must be 2 - 50 characters long, start with a letter, contain only letters, numbers and hyphens. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"publicNetworkAccessEnabled":{"type":"boolean","description":"Is it enabled to access the vault from public networks. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the Recovery Services Vault. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sku":{"type":"string","description":"Sets the vault's SKU. Possible values include: `Standard`, `RS0`.\n"},"softDeleteEnabled":{"type":"boolean","description":"Is soft delete enable for this Vault? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"storageModeType":{"type":"string","description":"The storage type of the Recovery Services Vault. Possible values are `GeoRedundant`, `LocallyRedundant` and `ZoneRedundant`. Defaults to `GeoRedundant`.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"requiredInputs":["resourceGroupName","sku"],"stateInputs":{"description":"Input properties used for looking up and filtering Vault resources.\n","properties":{"classicVmwareReplicationEnabled":{"type":"boolean","description":"Whether to enable the Classic experience for VMware replication. If set to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e VMware machines will be protected using the new stateless ASR replication appliance. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"crossRegionRestoreEnabled":{"type":"boolean","description":"Is cross region restore enabled for this Vault? Only can be \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, when \u003cspan pulumi-lang-nodejs=\"`storageModeType`\" pulumi-lang-dotnet=\"`StorageModeType`\" pulumi-lang-go=\"`storageModeType`\" pulumi-lang-python=\"`storage_mode_type`\" pulumi-lang-yaml=\"`storageModeType`\" pulumi-lang-java=\"`storageModeType`\"\u003e`storage_mode_type`\u003c/span\u003e is `GeoRedundant`. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** Once \u003cspan pulumi-lang-nodejs=\"`crossRegionRestoreEnabled`\" pulumi-lang-dotnet=\"`CrossRegionRestoreEnabled`\" pulumi-lang-go=\"`crossRegionRestoreEnabled`\" pulumi-lang-python=\"`cross_region_restore_enabled`\" pulumi-lang-yaml=\"`crossRegionRestoreEnabled`\" pulumi-lang-java=\"`crossRegionRestoreEnabled`\"\u003e`cross_region_restore_enabled`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, changing it back to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e forces a new Recovery Service Vault to be created.\n"},"encryption":{"$ref":"#/types/azure:recoveryservices/VaultEncryption:VaultEncryption","description":"An \u003cspan pulumi-lang-nodejs=\"`encryption`\" pulumi-lang-dotnet=\"`Encryption`\" pulumi-lang-go=\"`encryption`\" pulumi-lang-python=\"`encryption`\" pulumi-lang-yaml=\"`encryption`\" pulumi-lang-java=\"`encryption`\"\u003e`encryption`\u003c/span\u003e block as defined below. Required with \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e.\n\n!\u003e **Note:** Once Encryption with your own key has been Enabled it's not possible to Disable it.\n"},"identity":{"$ref":"#/types/azure:recoveryservices/VaultIdentity:VaultIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"immutability":{"type":"string","description":"Immutability Settings of vault, possible values include: `Locked`, `Unlocked` and `Disabled`.\n\n\u003e **Note:** Once \u003cspan pulumi-lang-nodejs=\"`immutability`\" pulumi-lang-dotnet=\"`Immutability`\" pulumi-lang-go=\"`immutability`\" pulumi-lang-python=\"`immutability`\" pulumi-lang-yaml=\"`immutability`\" pulumi-lang-java=\"`immutability`\"\u003e`immutability`\u003c/span\u003e is set to `Locked`, changing it to other values forces a new Recovery Services Vault to be created.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"monitoring":{"$ref":"#/types/azure:recoveryservices/VaultMonitoring:VaultMonitoring","description":"A \u003cspan pulumi-lang-nodejs=\"`monitoring`\" pulumi-lang-dotnet=\"`Monitoring`\" pulumi-lang-go=\"`monitoring`\" pulumi-lang-python=\"`monitoring`\" pulumi-lang-yaml=\"`monitoring`\" pulumi-lang-java=\"`monitoring`\"\u003e`monitoring`\u003c/span\u003e block as defined below.\n"},"name":{"type":"string","description":"Specifies the name of the Recovery Services Vault. Recovery Service Vault name must be 2 - 50 characters long, start with a letter, contain only letters, numbers and hyphens. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"publicNetworkAccessEnabled":{"type":"boolean","description":"Is it enabled to access the vault from public networks. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the Recovery Services Vault. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sku":{"type":"string","description":"Sets the vault's SKU. Possible values include: `Standard`, `RS0`.\n"},"softDeleteEnabled":{"type":"boolean","description":"Is soft delete enable for this Vault? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"storageModeType":{"type":"string","description":"The storage type of the Recovery Services Vault. Possible values are `GeoRedundant`, `LocallyRedundant` and `ZoneRedundant`. Defaults to `GeoRedundant`.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"type":"object"}},"azure:recoveryservices/vaultResourceGuardAssociation:VaultResourceGuardAssociation":{"description":"Manages an association of a Resource Guard and Recovery Services Vault. \n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleResourceGuard = new azure.dataprotection.ResourceGuard(\"example\", {\n    name: \"example-resourceguard\",\n    resourceGroupName: example.name,\n    location: example.location,\n});\nconst vault = new azure.recoveryservices.Vault(\"vault\", {\n    name: \"example-recovery-vault\",\n    location: example.location,\n    resourceGroupName: example.name,\n    sku: \"Standard\",\n    softDeleteEnabled: true,\n});\nconst test = new azure.recoveryservices.VaultResourceGuardAssociation(\"test\", {\n    vaultId: testAzurermRecoveryServicesVault.id,\n    resourceGuardId: testAzurermDataProtectionResourceGuard.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_resource_guard = azure.dataprotection.ResourceGuard(\"example\",\n    name=\"example-resourceguard\",\n    resource_group_name=example.name,\n    location=example.location)\nvault = azure.recoveryservices.Vault(\"vault\",\n    name=\"example-recovery-vault\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku=\"Standard\",\n    soft_delete_enabled=True)\ntest = azure.recoveryservices.VaultResourceGuardAssociation(\"test\",\n    vault_id=test_azurerm_recovery_services_vault[\"id\"],\n    resource_guard_id=test_azurerm_data_protection_resource_guard[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleResourceGuard = new Azure.DataProtection.ResourceGuard(\"example\", new()\n    {\n        Name = \"example-resourceguard\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n    });\n\n    var vault = new Azure.RecoveryServices.Vault(\"vault\", new()\n    {\n        Name = \"example-recovery-vault\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Sku = \"Standard\",\n        SoftDeleteEnabled = true,\n    });\n\n    var test = new Azure.RecoveryServices.VaultResourceGuardAssociation(\"test\", new()\n    {\n        VaultId = testAzurermRecoveryServicesVault.Id,\n        ResourceGuardId = testAzurermDataProtectionResourceGuard.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/dataprotection\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/recoveryservices\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = dataprotection.NewResourceGuard(ctx, \"example\", \u0026dataprotection.ResourceGuardArgs{\n\t\t\tName:              pulumi.String(\"example-resourceguard\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = recoveryservices.NewVault(ctx, \"vault\", \u0026recoveryservices.VaultArgs{\n\t\t\tName:              pulumi.String(\"example-recovery-vault\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSku:               pulumi.String(\"Standard\"),\n\t\t\tSoftDeleteEnabled: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = recoveryservices.NewVaultResourceGuardAssociation(ctx, \"test\", \u0026recoveryservices.VaultResourceGuardAssociationArgs{\n\t\t\tVaultId:         pulumi.Any(testAzurermRecoveryServicesVault.Id),\n\t\t\tResourceGuardId: pulumi.Any(testAzurermDataProtectionResourceGuard.Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.dataprotection.ResourceGuard;\nimport com.pulumi.azure.dataprotection.ResourceGuardArgs;\nimport com.pulumi.azure.recoveryservices.Vault;\nimport com.pulumi.azure.recoveryservices.VaultArgs;\nimport com.pulumi.azure.recoveryservices.VaultResourceGuardAssociation;\nimport com.pulumi.azure.recoveryservices.VaultResourceGuardAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleResourceGuard = new ResourceGuard(\"exampleResourceGuard\", ResourceGuardArgs.builder()\n            .name(\"example-resourceguard\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .build());\n\n        var vault = new Vault(\"vault\", VaultArgs.builder()\n            .name(\"example-recovery-vault\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .sku(\"Standard\")\n            .softDeleteEnabled(true)\n            .build());\n\n        var test = new VaultResourceGuardAssociation(\"test\", VaultResourceGuardAssociationArgs.builder()\n            .vaultId(testAzurermRecoveryServicesVault.id())\n            .resourceGuardId(testAzurermDataProtectionResourceGuard.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleResourceGuard:\n    type: azure:dataprotection:ResourceGuard\n    name: example\n    properties:\n      name: example-resourceguard\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n  vault:\n    type: azure:recoveryservices:Vault\n    properties:\n      name: example-recovery-vault\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      sku: Standard\n      softDeleteEnabled: true\n  test:\n    type: azure:recoveryservices:VaultResourceGuardAssociation\n    properties:\n      vaultId: ${testAzurermRecoveryServicesVault.id}\n      resourceGuardId: ${testAzurermDataProtectionResourceGuard.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nResource Guards can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:recoveryservices/vaultResourceGuardAssociation:VaultResourceGuardAssociation example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.RecoveryServices/vaults/vault1/backupResourceGuardProxies/proxy1\n```\n\n","properties":{"resourceGuardId":{"type":"string","description":"ID of the Resource Guard which should be associated with. Changing this forces a new resource to be created.\n"},"vaultId":{"type":"string","description":"ID of the Recovery Services Vault which should be associated with. Changing this forces a new resource to be created.\n"}},"required":["resourceGuardId","vaultId"],"inputProperties":{"resourceGuardId":{"type":"string","description":"ID of the Resource Guard which should be associated with. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"vaultId":{"type":"string","description":"ID of the Recovery Services Vault which should be associated with. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["resourceGuardId","vaultId"],"stateInputs":{"description":"Input properties used for looking up and filtering VaultResourceGuardAssociation resources.\n","properties":{"resourceGuardId":{"type":"string","description":"ID of the Resource Guard which should be associated with. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"vaultId":{"type":"string","description":"ID of the Recovery Services Vault which should be associated with. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:redhatopenshift/cluster:Cluster":{"description":"Manages a fully managed Azure Red Hat OpenShift Cluster (also known as ARO).\n\n\u003e **Note:** All arguments including the client secret will be stored in the raw state as plain-text. [Read more about sensitive data in state](https://www.terraform.io/docs/state/sensitive-data.html).\n\n## Import\n\nRed Hat OpenShift Clusters can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:redhatopenshift/cluster:Cluster cluster1 /subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/group1/providers/Microsoft.RedHatOpenShift/openShiftClusters/cluster1\n```\n\n","properties":{"apiServerProfile":{"$ref":"#/types/azure:redhatopenshift/ClusterApiServerProfile:ClusterApiServerProfile","description":"An \u003cspan pulumi-lang-nodejs=\"`apiServerProfile`\" pulumi-lang-dotnet=\"`ApiServerProfile`\" pulumi-lang-go=\"`apiServerProfile`\" pulumi-lang-python=\"`api_server_profile`\" pulumi-lang-yaml=\"`apiServerProfile`\" pulumi-lang-java=\"`apiServerProfile`\"\u003e`api_server_profile`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n"},"clusterProfile":{"$ref":"#/types/azure:redhatopenshift/ClusterClusterProfile:ClusterClusterProfile","description":"A \u003cspan pulumi-lang-nodejs=\"`clusterProfile`\" pulumi-lang-dotnet=\"`ClusterProfile`\" pulumi-lang-go=\"`clusterProfile`\" pulumi-lang-python=\"`cluster_profile`\" pulumi-lang-yaml=\"`clusterProfile`\" pulumi-lang-java=\"`clusterProfile`\"\u003e`cluster_profile`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n"},"consoleUrl":{"type":"string","description":"The Red Hat OpenShift cluster console URL.\n"},"ingressProfile":{"$ref":"#/types/azure:redhatopenshift/ClusterIngressProfile:ClusterIngressProfile","description":"An \u003cspan pulumi-lang-nodejs=\"`ingressProfile`\" pulumi-lang-dotnet=\"`IngressProfile`\" pulumi-lang-go=\"`ingressProfile`\" pulumi-lang-python=\"`ingress_profile`\" pulumi-lang-yaml=\"`ingressProfile`\" pulumi-lang-java=\"`ingressProfile`\"\u003e`ingress_profile`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n"},"location":{"type":"string","description":"The location where the Azure Red Hat OpenShift Cluster should be created. Changing this forces a new resource to be created.\n"},"mainProfile":{"$ref":"#/types/azure:redhatopenshift/ClusterMainProfile:ClusterMainProfile","description":"A \u003cspan pulumi-lang-nodejs=\"`mainProfile`\" pulumi-lang-dotnet=\"`MainProfile`\" pulumi-lang-go=\"`mainProfile`\" pulumi-lang-python=\"`main_profile`\" pulumi-lang-yaml=\"`mainProfile`\" pulumi-lang-java=\"`mainProfile`\"\u003e`main_profile`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"The name of the Azure Red Hat OpenShift Cluster to create. Changing this forces a new resource to be created.\n"},"networkProfile":{"$ref":"#/types/azure:redhatopenshift/ClusterNetworkProfile:ClusterNetworkProfile","description":"A \u003cspan pulumi-lang-nodejs=\"`networkProfile`\" pulumi-lang-dotnet=\"`NetworkProfile`\" pulumi-lang-go=\"`networkProfile`\" pulumi-lang-python=\"`network_profile`\" pulumi-lang-yaml=\"`networkProfile`\" pulumi-lang-java=\"`networkProfile`\"\u003e`network_profile`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n"},"resourceGroupName":{"type":"string","description":"Specifies the Resource Group where the Azure Red Hat OpenShift Cluster should exist. Changing this forces a new resource to be created.\n"},"servicePrincipal":{"$ref":"#/types/azure:redhatopenshift/ClusterServicePrincipal:ClusterServicePrincipal","description":"A \u003cspan pulumi-lang-nodejs=\"`servicePrincipal`\" pulumi-lang-dotnet=\"`ServicePrincipal`\" pulumi-lang-go=\"`servicePrincipal`\" pulumi-lang-python=\"`service_principal`\" pulumi-lang-yaml=\"`servicePrincipal`\" pulumi-lang-java=\"`servicePrincipal`\"\u003e`service_principal`\u003c/span\u003e block as defined below.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"workerProfile":{"$ref":"#/types/azure:redhatopenshift/ClusterWorkerProfile:ClusterWorkerProfile","description":"A \u003cspan pulumi-lang-nodejs=\"`workerProfile`\" pulumi-lang-dotnet=\"`WorkerProfile`\" pulumi-lang-go=\"`workerProfile`\" pulumi-lang-python=\"`worker_profile`\" pulumi-lang-yaml=\"`workerProfile`\" pulumi-lang-java=\"`workerProfile`\"\u003e`worker_profile`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n"}},"required":["apiServerProfile","clusterProfile","consoleUrl","ingressProfile","location","mainProfile","name","networkProfile","resourceGroupName","servicePrincipal","workerProfile"],"inputProperties":{"apiServerProfile":{"$ref":"#/types/azure:redhatopenshift/ClusterApiServerProfile:ClusterApiServerProfile","description":"An \u003cspan pulumi-lang-nodejs=\"`apiServerProfile`\" pulumi-lang-dotnet=\"`ApiServerProfile`\" pulumi-lang-go=\"`apiServerProfile`\" pulumi-lang-python=\"`api_server_profile`\" pulumi-lang-yaml=\"`apiServerProfile`\" pulumi-lang-java=\"`apiServerProfile`\"\u003e`api_server_profile`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"clusterProfile":{"$ref":"#/types/azure:redhatopenshift/ClusterClusterProfile:ClusterClusterProfile","description":"A \u003cspan pulumi-lang-nodejs=\"`clusterProfile`\" pulumi-lang-dotnet=\"`ClusterProfile`\" pulumi-lang-go=\"`clusterProfile`\" pulumi-lang-python=\"`cluster_profile`\" pulumi-lang-yaml=\"`clusterProfile`\" pulumi-lang-java=\"`clusterProfile`\"\u003e`cluster_profile`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"ingressProfile":{"$ref":"#/types/azure:redhatopenshift/ClusterIngressProfile:ClusterIngressProfile","description":"An \u003cspan pulumi-lang-nodejs=\"`ingressProfile`\" pulumi-lang-dotnet=\"`IngressProfile`\" pulumi-lang-go=\"`ingressProfile`\" pulumi-lang-python=\"`ingress_profile`\" pulumi-lang-yaml=\"`ingressProfile`\" pulumi-lang-java=\"`ingressProfile`\"\u003e`ingress_profile`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"location":{"type":"string","description":"The location where the Azure Red Hat OpenShift Cluster should be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"mainProfile":{"$ref":"#/types/azure:redhatopenshift/ClusterMainProfile:ClusterMainProfile","description":"A \u003cspan pulumi-lang-nodejs=\"`mainProfile`\" pulumi-lang-dotnet=\"`MainProfile`\" pulumi-lang-go=\"`mainProfile`\" pulumi-lang-python=\"`main_profile`\" pulumi-lang-yaml=\"`mainProfile`\" pulumi-lang-java=\"`mainProfile`\"\u003e`main_profile`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the Azure Red Hat OpenShift Cluster to create. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"networkProfile":{"$ref":"#/types/azure:redhatopenshift/ClusterNetworkProfile:ClusterNetworkProfile","description":"A \u003cspan pulumi-lang-nodejs=\"`networkProfile`\" pulumi-lang-dotnet=\"`NetworkProfile`\" pulumi-lang-go=\"`networkProfile`\" pulumi-lang-python=\"`network_profile`\" pulumi-lang-yaml=\"`networkProfile`\" pulumi-lang-java=\"`networkProfile`\"\u003e`network_profile`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"Specifies the Resource Group where the Azure Red Hat OpenShift Cluster should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"servicePrincipal":{"$ref":"#/types/azure:redhatopenshift/ClusterServicePrincipal:ClusterServicePrincipal","description":"A \u003cspan pulumi-lang-nodejs=\"`servicePrincipal`\" pulumi-lang-dotnet=\"`ServicePrincipal`\" pulumi-lang-go=\"`servicePrincipal`\" pulumi-lang-python=\"`service_principal`\" pulumi-lang-yaml=\"`servicePrincipal`\" pulumi-lang-java=\"`servicePrincipal`\"\u003e`service_principal`\u003c/span\u003e block as defined below.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"workerProfile":{"$ref":"#/types/azure:redhatopenshift/ClusterWorkerProfile:ClusterWorkerProfile","description":"A \u003cspan pulumi-lang-nodejs=\"`workerProfile`\" pulumi-lang-dotnet=\"`WorkerProfile`\" pulumi-lang-go=\"`workerProfile`\" pulumi-lang-python=\"`worker_profile`\" pulumi-lang-yaml=\"`workerProfile`\" pulumi-lang-java=\"`workerProfile`\"\u003e`worker_profile`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["apiServerProfile","clusterProfile","ingressProfile","mainProfile","networkProfile","resourceGroupName","servicePrincipal","workerProfile"],"stateInputs":{"description":"Input properties used for looking up and filtering Cluster resources.\n","properties":{"apiServerProfile":{"$ref":"#/types/azure:redhatopenshift/ClusterApiServerProfile:ClusterApiServerProfile","description":"An \u003cspan pulumi-lang-nodejs=\"`apiServerProfile`\" pulumi-lang-dotnet=\"`ApiServerProfile`\" pulumi-lang-go=\"`apiServerProfile`\" pulumi-lang-python=\"`api_server_profile`\" pulumi-lang-yaml=\"`apiServerProfile`\" pulumi-lang-java=\"`apiServerProfile`\"\u003e`api_server_profile`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"clusterProfile":{"$ref":"#/types/azure:redhatopenshift/ClusterClusterProfile:ClusterClusterProfile","description":"A \u003cspan pulumi-lang-nodejs=\"`clusterProfile`\" pulumi-lang-dotnet=\"`ClusterProfile`\" pulumi-lang-go=\"`clusterProfile`\" pulumi-lang-python=\"`cluster_profile`\" pulumi-lang-yaml=\"`clusterProfile`\" pulumi-lang-java=\"`clusterProfile`\"\u003e`cluster_profile`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"consoleUrl":{"type":"string","description":"The Red Hat OpenShift cluster console URL.\n"},"ingressProfile":{"$ref":"#/types/azure:redhatopenshift/ClusterIngressProfile:ClusterIngressProfile","description":"An \u003cspan pulumi-lang-nodejs=\"`ingressProfile`\" pulumi-lang-dotnet=\"`IngressProfile`\" pulumi-lang-go=\"`ingressProfile`\" pulumi-lang-python=\"`ingress_profile`\" pulumi-lang-yaml=\"`ingressProfile`\" pulumi-lang-java=\"`ingressProfile`\"\u003e`ingress_profile`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"location":{"type":"string","description":"The location where the Azure Red Hat OpenShift Cluster should be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"mainProfile":{"$ref":"#/types/azure:redhatopenshift/ClusterMainProfile:ClusterMainProfile","description":"A \u003cspan pulumi-lang-nodejs=\"`mainProfile`\" pulumi-lang-dotnet=\"`MainProfile`\" pulumi-lang-go=\"`mainProfile`\" pulumi-lang-python=\"`main_profile`\" pulumi-lang-yaml=\"`mainProfile`\" pulumi-lang-java=\"`mainProfile`\"\u003e`main_profile`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the Azure Red Hat OpenShift Cluster to create. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"networkProfile":{"$ref":"#/types/azure:redhatopenshift/ClusterNetworkProfile:ClusterNetworkProfile","description":"A \u003cspan pulumi-lang-nodejs=\"`networkProfile`\" pulumi-lang-dotnet=\"`NetworkProfile`\" pulumi-lang-go=\"`networkProfile`\" pulumi-lang-python=\"`network_profile`\" pulumi-lang-yaml=\"`networkProfile`\" pulumi-lang-java=\"`networkProfile`\"\u003e`network_profile`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"Specifies the Resource Group where the Azure Red Hat OpenShift Cluster should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"servicePrincipal":{"$ref":"#/types/azure:redhatopenshift/ClusterServicePrincipal:ClusterServicePrincipal","description":"A \u003cspan pulumi-lang-nodejs=\"`servicePrincipal`\" pulumi-lang-dotnet=\"`ServicePrincipal`\" pulumi-lang-go=\"`servicePrincipal`\" pulumi-lang-python=\"`service_principal`\" pulumi-lang-yaml=\"`servicePrincipal`\" pulumi-lang-java=\"`servicePrincipal`\"\u003e`service_principal`\u003c/span\u003e block as defined below.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"workerProfile":{"$ref":"#/types/azure:redhatopenshift/ClusterWorkerProfile:ClusterWorkerProfile","description":"A \u003cspan pulumi-lang-nodejs=\"`workerProfile`\" pulumi-lang-dotnet=\"`WorkerProfile`\" pulumi-lang-go=\"`workerProfile`\" pulumi-lang-python=\"`worker_profile`\" pulumi-lang-yaml=\"`workerProfile`\" pulumi-lang-java=\"`workerProfile`\"\u003e`worker_profile`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:redis/cache:Cache":{"description":"Manages a Redis Cache.\n\n\u003e **Note:** Redis version 4 is being retired and no longer supports creating new instances. Version 4 will be removed in a future release. [Redis Version 4 Retirement](https://learn.microsoft.com/azure/azure-cache-for-redis/cache-retired-features#important-upgrade-timelines)\n\n## Example Usage\n\nThis example provisions a Standard Redis Cache.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\n// NOTE: the Name used for Redis needs to be globally unique\nconst exampleCache = new azure.redis.Cache(\"example\", {\n    name: \"example-cache\",\n    location: example.location,\n    resourceGroupName: example.name,\n    capacity: 2,\n    family: \"C\",\n    skuName: \"Standard\",\n    nonSslPortEnabled: false,\n    minimumTlsVersion: \"1.2\",\n    redisConfiguration: {},\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\n# NOTE: the Name used for Redis needs to be globally unique\nexample_cache = azure.redis.Cache(\"example\",\n    name=\"example-cache\",\n    location=example.location,\n    resource_group_name=example.name,\n    capacity=2,\n    family=\"C\",\n    sku_name=\"Standard\",\n    non_ssl_port_enabled=False,\n    minimum_tls_version=\"1.2\",\n    redis_configuration={})\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    // NOTE: the Name used for Redis needs to be globally unique\n    var exampleCache = new Azure.Redis.Cache(\"example\", new()\n    {\n        Name = \"example-cache\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Capacity = 2,\n        Family = \"C\",\n        SkuName = \"Standard\",\n        NonSslPortEnabled = false,\n        MinimumTlsVersion = \"1.2\",\n        RedisConfiguration = null,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/redis\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// NOTE: the Name used for Redis needs to be globally unique\n\t\t_, err = redis.NewCache(ctx, \"example\", \u0026redis.CacheArgs{\n\t\t\tName:               pulumi.String(\"example-cache\"),\n\t\t\tLocation:           example.Location,\n\t\t\tResourceGroupName:  example.Name,\n\t\t\tCapacity:           pulumi.Int(2),\n\t\t\tFamily:             pulumi.String(\"C\"),\n\t\t\tSkuName:            pulumi.String(\"Standard\"),\n\t\t\tNonSslPortEnabled:  pulumi.Bool(false),\n\t\t\tMinimumTlsVersion:  pulumi.String(\"1.2\"),\n\t\t\tRedisConfiguration: \u0026redis.CacheRedisConfigurationArgs{},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.redis.Cache;\nimport com.pulumi.azure.redis.CacheArgs;\nimport com.pulumi.azure.redis.inputs.CacheRedisConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        // NOTE: the Name used for Redis needs to be globally unique\n        var exampleCache = new Cache(\"exampleCache\", CacheArgs.builder()\n            .name(\"example-cache\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .capacity(2)\n            .family(\"C\")\n            .skuName(\"Standard\")\n            .nonSslPortEnabled(false)\n            .minimumTlsVersion(\"1.2\")\n            .redisConfiguration(CacheRedisConfigurationArgs.builder()\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  # NOTE: the Name used for Redis needs to be globally unique\n  exampleCache:\n    type: azure:redis:Cache\n    name: example\n    properties:\n      name: example-cache\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      capacity: 2\n      family: C\n      skuName: Standard\n      nonSslPortEnabled: false\n      minimumTlsVersion: '1.2'\n      redisConfiguration: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Relevant Links\n\n* [Azure Cache for Redis planning](https://docs.microsoft.com/azure/azure-cache-for-redis/cache-planning-faq)\n* [Redis: Available Configuration Settings](https://redis.io/topics/config)\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Cache` - 2024-11-01\n\n## Import\n\nRedis Cache's can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:redis/cache:Cache cache1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Cache/redis/cache1\n```\n\n","properties":{"accessKeysAuthenticationEnabled":{"type":"boolean","description":"Whether access key authentication is enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e. \u003cspan pulumi-lang-nodejs=\"`activeDirectoryAuthenticationEnabled`\" pulumi-lang-dotnet=\"`ActiveDirectoryAuthenticationEnabled`\" pulumi-lang-go=\"`activeDirectoryAuthenticationEnabled`\" pulumi-lang-python=\"`active_directory_authentication_enabled`\" pulumi-lang-yaml=\"`activeDirectoryAuthenticationEnabled`\" pulumi-lang-java=\"`activeDirectoryAuthenticationEnabled`\"\u003e`active_directory_authentication_enabled`\u003c/span\u003e must be set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e to disable access key authentication.\n"},"capacity":{"type":"integer","description":"The size of the Redis cache to deploy. Valid values for a SKU \u003cspan pulumi-lang-nodejs=\"`family`\" pulumi-lang-dotnet=\"`Family`\" pulumi-lang-go=\"`family`\" pulumi-lang-python=\"`family`\" pulumi-lang-yaml=\"`family`\" pulumi-lang-java=\"`family`\"\u003e`family`\u003c/span\u003e of C (Basic/Standard) are `0, 1, 2, 3, 4, 5, 6`, and for P (Premium) \u003cspan pulumi-lang-nodejs=\"`family`\" pulumi-lang-dotnet=\"`Family`\" pulumi-lang-go=\"`family`\" pulumi-lang-python=\"`family`\" pulumi-lang-yaml=\"`family`\" pulumi-lang-java=\"`family`\"\u003e`family`\u003c/span\u003e are `1, 2, 3, 4, 5`.\n"},"family":{"type":"string","description":"The SKU family/pricing group to use. Valid values are `C` (for Basic/Standard SKU family) and `P` (for `Premium`)\n"},"hostname":{"type":"string","description":"The Hostname of the Redis Instance\n"},"identity":{"$ref":"#/types/azure:redis/CacheIdentity:CacheIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"location":{"type":"string","description":"The location of the resource group. Changing this forces a new resource to be created.\n"},"minimumTlsVersion":{"type":"string","description":"The minimum TLS version. Possible values are `1.0`, `1.1` and `1.2`. Defaults to `1.0`.\n\n\u003e **NOTE:** Azure Services will require TLS 1.2+ by August 2025, please see this [announcement](https://azure.microsoft.com/en-us/updates/v2/update-retirement-tls1-0-tls1-1-versions-azure-services/) for more.\n"},"name":{"type":"string","description":"The name of the Redis instance. Changing this forces a new resource to be created.\n"},"nonSslPortEnabled":{"type":"boolean","description":"Enable the non-SSL port (6379) - disabled by default.\n"},"patchSchedules":{"type":"array","items":{"$ref":"#/types/azure:redis/CachePatchSchedule:CachePatchSchedule"},"description":"A list of \u003cspan pulumi-lang-nodejs=\"`patchSchedule`\" pulumi-lang-dotnet=\"`PatchSchedule`\" pulumi-lang-go=\"`patchSchedule`\" pulumi-lang-python=\"`patch_schedule`\" pulumi-lang-yaml=\"`patchSchedule`\" pulumi-lang-java=\"`patchSchedule`\"\u003e`patch_schedule`\u003c/span\u003e blocks as defined below.\n"},"port":{"type":"integer","description":"The non-SSL Port of the Redis Instance\n"},"primaryAccessKey":{"type":"string","description":"The Primary Access Key for the Redis Instance\n","secret":true},"primaryConnectionString":{"type":"string","description":"The primary connection string of the Redis Instance.\n","secret":true},"privateStaticIpAddress":{"type":"string","description":"The Static IP Address to assign to the Redis Cache when hosted inside the Virtual Network. This argument implies the use of \u003cspan pulumi-lang-nodejs=\"`subnetId`\" pulumi-lang-dotnet=\"`SubnetId`\" pulumi-lang-go=\"`subnetId`\" pulumi-lang-python=\"`subnet_id`\" pulumi-lang-yaml=\"`subnetId`\" pulumi-lang-java=\"`subnetId`\"\u003e`subnet_id`\u003c/span\u003e. Changing this forces a new resource to be created.\n"},"publicNetworkAccessEnabled":{"type":"boolean","description":"Whether or not public network access is allowed for this Redis Cache. \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e means this resource could be accessed by both public and private endpoint. \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e means only private endpoint access is allowed. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"redisConfiguration":{"$ref":"#/types/azure:redis/CacheRedisConfiguration:CacheRedisConfiguration","description":"A \u003cspan pulumi-lang-nodejs=\"`redisConfiguration`\" pulumi-lang-dotnet=\"`RedisConfiguration`\" pulumi-lang-go=\"`redisConfiguration`\" pulumi-lang-python=\"`redis_configuration`\" pulumi-lang-yaml=\"`redisConfiguration`\" pulumi-lang-java=\"`redisConfiguration`\"\u003e`redis_configuration`\u003c/span\u003e block as defined below - with some limitations by SKU - defaults/details are shown below.\n"},"redisVersion":{"type":"string","description":"Redis version. Only major version needed. Possible values are \u003cspan pulumi-lang-nodejs=\"`4`\" pulumi-lang-dotnet=\"`4`\" pulumi-lang-go=\"`4`\" pulumi-lang-python=\"`4`\" pulumi-lang-yaml=\"`4`\" pulumi-lang-java=\"`4`\"\u003e`4`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`6`\" pulumi-lang-dotnet=\"`6`\" pulumi-lang-go=\"`6`\" pulumi-lang-python=\"`6`\" pulumi-lang-yaml=\"`6`\" pulumi-lang-java=\"`6`\"\u003e`6`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`6`\" pulumi-lang-dotnet=\"`6`\" pulumi-lang-go=\"`6`\" pulumi-lang-python=\"`6`\" pulumi-lang-yaml=\"`6`\" pulumi-lang-java=\"`6`\"\u003e`6`\u003c/span\u003e.\n"},"replicasPerMaster":{"type":"integer","description":"Amount of replicas to create per master for this Redis Cache.\n\n\u003e **Note:** Configuring the number of replicas per master is only available when using the Premium SKU and cannot be used in conjunction with shards.\n"},"replicasPerPrimary":{"type":"integer","description":"Amount of replicas to create per primary for this Redis Cache. If both \u003cspan pulumi-lang-nodejs=\"`replicasPerPrimary`\" pulumi-lang-dotnet=\"`ReplicasPerPrimary`\" pulumi-lang-go=\"`replicasPerPrimary`\" pulumi-lang-python=\"`replicas_per_primary`\" pulumi-lang-yaml=\"`replicasPerPrimary`\" pulumi-lang-java=\"`replicasPerPrimary`\"\u003e`replicas_per_primary`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`replicasPerMaster`\" pulumi-lang-dotnet=\"`ReplicasPerMaster`\" pulumi-lang-go=\"`replicasPerMaster`\" pulumi-lang-python=\"`replicas_per_master`\" pulumi-lang-yaml=\"`replicasPerMaster`\" pulumi-lang-java=\"`replicasPerMaster`\"\u003e`replicas_per_master`\u003c/span\u003e are set, they need to be equal.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the Redis instance. Changing this forces a new resource to be created.\n"},"secondaryAccessKey":{"type":"string","description":"The Secondary Access Key for the Redis Instance\n","secret":true},"secondaryConnectionString":{"type":"string","description":"The secondary connection string of the Redis Instance.\n","secret":true},"shardCount":{"type":"integer","description":"*Only available when using the Premium SKU* The number of Shards to create on the Redis Cluster.\n"},"skuName":{"type":"string","description":"The SKU of Redis to use. Possible values are `Basic`, `Standard` and `Premium`.\n\n\u003e **Note** Downgrading the SKU will force a new resource to be created.\n"},"sslPort":{"type":"integer","description":"The SSL Port of the Redis Instance\n"},"subnetId":{"type":"string","description":"*Only available when using the Premium SKU* The ID of the Subnet within which the Redis Cache should be deployed. This Subnet must only contain Azure Cache for Redis instances without any other type of resources. Changing this forces a new resource to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"tenantSettings":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tenant settings to assign to the resource.\n"},"zones":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Availability Zones in which this Redis Cache should be located. Changing this forces a new Redis Cache to be created.\n\n\u003e **Please Note:** Availability Zones are [in Preview and only supported in several regions at this time](https://docs.microsoft.com/azure/availability-zones/az-overview) - as such you must be opted into the Preview to use this functionality. You can [opt into the Availability Zones Preview in the Azure Portal](https://aka.ms/azenroll).\n"}},"required":["capacity","family","hostname","location","name","port","primaryAccessKey","primaryConnectionString","privateStaticIpAddress","redisConfiguration","replicasPerMaster","replicasPerPrimary","resourceGroupName","secondaryAccessKey","secondaryConnectionString","skuName","sslPort"],"inputProperties":{"accessKeysAuthenticationEnabled":{"type":"boolean","description":"Whether access key authentication is enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e. \u003cspan pulumi-lang-nodejs=\"`activeDirectoryAuthenticationEnabled`\" pulumi-lang-dotnet=\"`ActiveDirectoryAuthenticationEnabled`\" pulumi-lang-go=\"`activeDirectoryAuthenticationEnabled`\" pulumi-lang-python=\"`active_directory_authentication_enabled`\" pulumi-lang-yaml=\"`activeDirectoryAuthenticationEnabled`\" pulumi-lang-java=\"`activeDirectoryAuthenticationEnabled`\"\u003e`active_directory_authentication_enabled`\u003c/span\u003e must be set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e to disable access key authentication.\n"},"capacity":{"type":"integer","description":"The size of the Redis cache to deploy. Valid values for a SKU \u003cspan pulumi-lang-nodejs=\"`family`\" pulumi-lang-dotnet=\"`Family`\" pulumi-lang-go=\"`family`\" pulumi-lang-python=\"`family`\" pulumi-lang-yaml=\"`family`\" pulumi-lang-java=\"`family`\"\u003e`family`\u003c/span\u003e of C (Basic/Standard) are `0, 1, 2, 3, 4, 5, 6`, and for P (Premium) \u003cspan pulumi-lang-nodejs=\"`family`\" pulumi-lang-dotnet=\"`Family`\" pulumi-lang-go=\"`family`\" pulumi-lang-python=\"`family`\" pulumi-lang-yaml=\"`family`\" pulumi-lang-java=\"`family`\"\u003e`family`\u003c/span\u003e are `1, 2, 3, 4, 5`.\n"},"family":{"type":"string","description":"The SKU family/pricing group to use. Valid values are `C` (for Basic/Standard SKU family) and `P` (for `Premium`)\n"},"identity":{"$ref":"#/types/azure:redis/CacheIdentity:CacheIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"location":{"type":"string","description":"The location of the resource group. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"minimumTlsVersion":{"type":"string","description":"The minimum TLS version. Possible values are `1.0`, `1.1` and `1.2`. Defaults to `1.0`.\n\n\u003e **NOTE:** Azure Services will require TLS 1.2+ by August 2025, please see this [announcement](https://azure.microsoft.com/en-us/updates/v2/update-retirement-tls1-0-tls1-1-versions-azure-services/) for more.\n"},"name":{"type":"string","description":"The name of the Redis instance. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"nonSslPortEnabled":{"type":"boolean","description":"Enable the non-SSL port (6379) - disabled by default.\n"},"patchSchedules":{"type":"array","items":{"$ref":"#/types/azure:redis/CachePatchSchedule:CachePatchSchedule"},"description":"A list of \u003cspan pulumi-lang-nodejs=\"`patchSchedule`\" pulumi-lang-dotnet=\"`PatchSchedule`\" pulumi-lang-go=\"`patchSchedule`\" pulumi-lang-python=\"`patch_schedule`\" pulumi-lang-yaml=\"`patchSchedule`\" pulumi-lang-java=\"`patchSchedule`\"\u003e`patch_schedule`\u003c/span\u003e blocks as defined below.\n"},"privateStaticIpAddress":{"type":"string","description":"The Static IP Address to assign to the Redis Cache when hosted inside the Virtual Network. This argument implies the use of \u003cspan pulumi-lang-nodejs=\"`subnetId`\" pulumi-lang-dotnet=\"`SubnetId`\" pulumi-lang-go=\"`subnetId`\" pulumi-lang-python=\"`subnet_id`\" pulumi-lang-yaml=\"`subnetId`\" pulumi-lang-java=\"`subnetId`\"\u003e`subnet_id`\u003c/span\u003e. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"publicNetworkAccessEnabled":{"type":"boolean","description":"Whether or not public network access is allowed for this Redis Cache. \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e means this resource could be accessed by both public and private endpoint. \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e means only private endpoint access is allowed. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"redisConfiguration":{"$ref":"#/types/azure:redis/CacheRedisConfiguration:CacheRedisConfiguration","description":"A \u003cspan pulumi-lang-nodejs=\"`redisConfiguration`\" pulumi-lang-dotnet=\"`RedisConfiguration`\" pulumi-lang-go=\"`redisConfiguration`\" pulumi-lang-python=\"`redis_configuration`\" pulumi-lang-yaml=\"`redisConfiguration`\" pulumi-lang-java=\"`redisConfiguration`\"\u003e`redis_configuration`\u003c/span\u003e block as defined below - with some limitations by SKU - defaults/details are shown below.\n"},"redisVersion":{"type":"string","description":"Redis version. Only major version needed. Possible values are \u003cspan pulumi-lang-nodejs=\"`4`\" pulumi-lang-dotnet=\"`4`\" pulumi-lang-go=\"`4`\" pulumi-lang-python=\"`4`\" pulumi-lang-yaml=\"`4`\" pulumi-lang-java=\"`4`\"\u003e`4`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`6`\" pulumi-lang-dotnet=\"`6`\" pulumi-lang-go=\"`6`\" pulumi-lang-python=\"`6`\" pulumi-lang-yaml=\"`6`\" pulumi-lang-java=\"`6`\"\u003e`6`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`6`\" pulumi-lang-dotnet=\"`6`\" pulumi-lang-go=\"`6`\" pulumi-lang-python=\"`6`\" pulumi-lang-yaml=\"`6`\" pulumi-lang-java=\"`6`\"\u003e`6`\u003c/span\u003e.\n"},"replicasPerMaster":{"type":"integer","description":"Amount of replicas to create per master for this Redis Cache.\n\n\u003e **Note:** Configuring the number of replicas per master is only available when using the Premium SKU and cannot be used in conjunction with shards.\n"},"replicasPerPrimary":{"type":"integer","description":"Amount of replicas to create per primary for this Redis Cache. If both \u003cspan pulumi-lang-nodejs=\"`replicasPerPrimary`\" pulumi-lang-dotnet=\"`ReplicasPerPrimary`\" pulumi-lang-go=\"`replicasPerPrimary`\" pulumi-lang-python=\"`replicas_per_primary`\" pulumi-lang-yaml=\"`replicasPerPrimary`\" pulumi-lang-java=\"`replicasPerPrimary`\"\u003e`replicas_per_primary`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`replicasPerMaster`\" pulumi-lang-dotnet=\"`ReplicasPerMaster`\" pulumi-lang-go=\"`replicasPerMaster`\" pulumi-lang-python=\"`replicas_per_master`\" pulumi-lang-yaml=\"`replicasPerMaster`\" pulumi-lang-java=\"`replicasPerMaster`\"\u003e`replicas_per_master`\u003c/span\u003e are set, they need to be equal.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the Redis instance. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"shardCount":{"type":"integer","description":"*Only available when using the Premium SKU* The number of Shards to create on the Redis Cluster.\n"},"skuName":{"type":"string","description":"The SKU of Redis to use. Possible values are `Basic`, `Standard` and `Premium`.\n\n\u003e **Note** Downgrading the SKU will force a new resource to be created.\n"},"subnetId":{"type":"string","description":"*Only available when using the Premium SKU* The ID of the Subnet within which the Redis Cache should be deployed. This Subnet must only contain Azure Cache for Redis instances without any other type of resources. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"tenantSettings":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tenant settings to assign to the resource.\n"},"zones":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Availability Zones in which this Redis Cache should be located. Changing this forces a new Redis Cache to be created.\n\n\u003e **Please Note:** Availability Zones are [in Preview and only supported in several regions at this time](https://docs.microsoft.com/azure/availability-zones/az-overview) - as such you must be opted into the Preview to use this functionality. You can [opt into the Availability Zones Preview in the Azure Portal](https://aka.ms/azenroll).\n","willReplaceOnChanges":true}},"requiredInputs":["capacity","family","resourceGroupName","skuName"],"stateInputs":{"description":"Input properties used for looking up and filtering Cache resources.\n","properties":{"accessKeysAuthenticationEnabled":{"type":"boolean","description":"Whether access key authentication is enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e. \u003cspan pulumi-lang-nodejs=\"`activeDirectoryAuthenticationEnabled`\" pulumi-lang-dotnet=\"`ActiveDirectoryAuthenticationEnabled`\" pulumi-lang-go=\"`activeDirectoryAuthenticationEnabled`\" pulumi-lang-python=\"`active_directory_authentication_enabled`\" pulumi-lang-yaml=\"`activeDirectoryAuthenticationEnabled`\" pulumi-lang-java=\"`activeDirectoryAuthenticationEnabled`\"\u003e`active_directory_authentication_enabled`\u003c/span\u003e must be set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e to disable access key authentication.\n"},"capacity":{"type":"integer","description":"The size of the Redis cache to deploy. Valid values for a SKU \u003cspan pulumi-lang-nodejs=\"`family`\" pulumi-lang-dotnet=\"`Family`\" pulumi-lang-go=\"`family`\" pulumi-lang-python=\"`family`\" pulumi-lang-yaml=\"`family`\" pulumi-lang-java=\"`family`\"\u003e`family`\u003c/span\u003e of C (Basic/Standard) are `0, 1, 2, 3, 4, 5, 6`, and for P (Premium) \u003cspan pulumi-lang-nodejs=\"`family`\" pulumi-lang-dotnet=\"`Family`\" pulumi-lang-go=\"`family`\" pulumi-lang-python=\"`family`\" pulumi-lang-yaml=\"`family`\" pulumi-lang-java=\"`family`\"\u003e`family`\u003c/span\u003e are `1, 2, 3, 4, 5`.\n"},"family":{"type":"string","description":"The SKU family/pricing group to use. Valid values are `C` (for Basic/Standard SKU family) and `P` (for `Premium`)\n"},"hostname":{"type":"string","description":"The Hostname of the Redis Instance\n"},"identity":{"$ref":"#/types/azure:redis/CacheIdentity:CacheIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"location":{"type":"string","description":"The location of the resource group. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"minimumTlsVersion":{"type":"string","description":"The minimum TLS version. Possible values are `1.0`, `1.1` and `1.2`. Defaults to `1.0`.\n\n\u003e **NOTE:** Azure Services will require TLS 1.2+ by August 2025, please see this [announcement](https://azure.microsoft.com/en-us/updates/v2/update-retirement-tls1-0-tls1-1-versions-azure-services/) for more.\n"},"name":{"type":"string","description":"The name of the Redis instance. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"nonSslPortEnabled":{"type":"boolean","description":"Enable the non-SSL port (6379) - disabled by default.\n"},"patchSchedules":{"type":"array","items":{"$ref":"#/types/azure:redis/CachePatchSchedule:CachePatchSchedule"},"description":"A list of \u003cspan pulumi-lang-nodejs=\"`patchSchedule`\" pulumi-lang-dotnet=\"`PatchSchedule`\" pulumi-lang-go=\"`patchSchedule`\" pulumi-lang-python=\"`patch_schedule`\" pulumi-lang-yaml=\"`patchSchedule`\" pulumi-lang-java=\"`patchSchedule`\"\u003e`patch_schedule`\u003c/span\u003e blocks as defined below.\n"},"port":{"type":"integer","description":"The non-SSL Port of the Redis Instance\n"},"primaryAccessKey":{"type":"string","description":"The Primary Access Key for the Redis Instance\n","secret":true},"primaryConnectionString":{"type":"string","description":"The primary connection string of the Redis Instance.\n","secret":true},"privateStaticIpAddress":{"type":"string","description":"The Static IP Address to assign to the Redis Cache when hosted inside the Virtual Network. This argument implies the use of \u003cspan pulumi-lang-nodejs=\"`subnetId`\" pulumi-lang-dotnet=\"`SubnetId`\" pulumi-lang-go=\"`subnetId`\" pulumi-lang-python=\"`subnet_id`\" pulumi-lang-yaml=\"`subnetId`\" pulumi-lang-java=\"`subnetId`\"\u003e`subnet_id`\u003c/span\u003e. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"publicNetworkAccessEnabled":{"type":"boolean","description":"Whether or not public network access is allowed for this Redis Cache. \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e means this resource could be accessed by both public and private endpoint. \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e means only private endpoint access is allowed. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"redisConfiguration":{"$ref":"#/types/azure:redis/CacheRedisConfiguration:CacheRedisConfiguration","description":"A \u003cspan pulumi-lang-nodejs=\"`redisConfiguration`\" pulumi-lang-dotnet=\"`RedisConfiguration`\" pulumi-lang-go=\"`redisConfiguration`\" pulumi-lang-python=\"`redis_configuration`\" pulumi-lang-yaml=\"`redisConfiguration`\" pulumi-lang-java=\"`redisConfiguration`\"\u003e`redis_configuration`\u003c/span\u003e block as defined below - with some limitations by SKU - defaults/details are shown below.\n"},"redisVersion":{"type":"string","description":"Redis version. Only major version needed. Possible values are \u003cspan pulumi-lang-nodejs=\"`4`\" pulumi-lang-dotnet=\"`4`\" pulumi-lang-go=\"`4`\" pulumi-lang-python=\"`4`\" pulumi-lang-yaml=\"`4`\" pulumi-lang-java=\"`4`\"\u003e`4`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`6`\" pulumi-lang-dotnet=\"`6`\" pulumi-lang-go=\"`6`\" pulumi-lang-python=\"`6`\" pulumi-lang-yaml=\"`6`\" pulumi-lang-java=\"`6`\"\u003e`6`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`6`\" pulumi-lang-dotnet=\"`6`\" pulumi-lang-go=\"`6`\" pulumi-lang-python=\"`6`\" pulumi-lang-yaml=\"`6`\" pulumi-lang-java=\"`6`\"\u003e`6`\u003c/span\u003e.\n"},"replicasPerMaster":{"type":"integer","description":"Amount of replicas to create per master for this Redis Cache.\n\n\u003e **Note:** Configuring the number of replicas per master is only available when using the Premium SKU and cannot be used in conjunction with shards.\n"},"replicasPerPrimary":{"type":"integer","description":"Amount of replicas to create per primary for this Redis Cache. If both \u003cspan pulumi-lang-nodejs=\"`replicasPerPrimary`\" pulumi-lang-dotnet=\"`ReplicasPerPrimary`\" pulumi-lang-go=\"`replicasPerPrimary`\" pulumi-lang-python=\"`replicas_per_primary`\" pulumi-lang-yaml=\"`replicasPerPrimary`\" pulumi-lang-java=\"`replicasPerPrimary`\"\u003e`replicas_per_primary`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`replicasPerMaster`\" pulumi-lang-dotnet=\"`ReplicasPerMaster`\" pulumi-lang-go=\"`replicasPerMaster`\" pulumi-lang-python=\"`replicas_per_master`\" pulumi-lang-yaml=\"`replicasPerMaster`\" pulumi-lang-java=\"`replicasPerMaster`\"\u003e`replicas_per_master`\u003c/span\u003e are set, they need to be equal.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the Redis instance. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"secondaryAccessKey":{"type":"string","description":"The Secondary Access Key for the Redis Instance\n","secret":true},"secondaryConnectionString":{"type":"string","description":"The secondary connection string of the Redis Instance.\n","secret":true},"shardCount":{"type":"integer","description":"*Only available when using the Premium SKU* The number of Shards to create on the Redis Cluster.\n"},"skuName":{"type":"string","description":"The SKU of Redis to use. Possible values are `Basic`, `Standard` and `Premium`.\n\n\u003e **Note** Downgrading the SKU will force a new resource to be created.\n"},"sslPort":{"type":"integer","description":"The SSL Port of the Redis Instance\n"},"subnetId":{"type":"string","description":"*Only available when using the Premium SKU* The ID of the Subnet within which the Redis Cache should be deployed. This Subnet must only contain Azure Cache for Redis instances without any other type of resources. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"tenantSettings":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tenant settings to assign to the resource.\n"},"zones":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Availability Zones in which this Redis Cache should be located. Changing this forces a new Redis Cache to be created.\n\n\u003e **Please Note:** Availability Zones are [in Preview and only supported in several regions at this time](https://docs.microsoft.com/azure/availability-zones/az-overview) - as such you must be opted into the Preview to use this functionality. You can [opt into the Availability Zones Preview in the Azure Portal](https://aka.ms/azenroll).\n","willReplaceOnChanges":true}},"type":"object"}},"azure:redis/cacheAccessPolicy:CacheAccessPolicy":{"description":"Manages a Redis Cache Access Policy\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"East US\",\n});\nconst exampleCache = new azure.redis.Cache(\"example\", {\n    name: \"example\",\n    location: example.location,\n    resourceGroupName: example.name,\n    capacity: 1,\n    family: \"P\",\n    skuName: \"Premium\",\n    enableNonSslPort: false,\n    redisConfiguration: {\n        maxmemoryReserved: 2,\n        maxmemoryDelta: 2,\n        maxmemoryPolicy: \"allkeys-lru\",\n    },\n});\nconst exampleCacheAccessPolicy = new azure.redis.CacheAccessPolicy(\"example\", {\n    name: \"example\",\n    redisCacheId: exampleCache.id,\n    permissions: \"+@read +@connection +cluster|info\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"East US\")\nexample_cache = azure.redis.Cache(\"example\",\n    name=\"example\",\n    location=example.location,\n    resource_group_name=example.name,\n    capacity=1,\n    family=\"P\",\n    sku_name=\"Premium\",\n    enable_non_ssl_port=False,\n    redis_configuration={\n        \"maxmemory_reserved\": 2,\n        \"maxmemory_delta\": 2,\n        \"maxmemory_policy\": \"allkeys-lru\",\n    })\nexample_cache_access_policy = azure.redis.CacheAccessPolicy(\"example\",\n    name=\"example\",\n    redis_cache_id=example_cache.id,\n    permissions=\"+@read +@connection +cluster|info\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"East US\",\n    });\n\n    var exampleCache = new Azure.Redis.Cache(\"example\", new()\n    {\n        Name = \"example\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Capacity = 1,\n        Family = \"P\",\n        SkuName = \"Premium\",\n        EnableNonSslPort = false,\n        RedisConfiguration = new Azure.Redis.Inputs.CacheRedisConfigurationArgs\n        {\n            MaxmemoryReserved = 2,\n            MaxmemoryDelta = 2,\n            MaxmemoryPolicy = \"allkeys-lru\",\n        },\n    });\n\n    var exampleCacheAccessPolicy = new Azure.Redis.CacheAccessPolicy(\"example\", new()\n    {\n        Name = \"example\",\n        RedisCacheId = exampleCache.Id,\n        Permissions = \"+@read +@connection +cluster|info\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/redis\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"East US\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleCache, err := redis.NewCache(ctx, \"example\", \u0026redis.CacheArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tCapacity:          pulumi.Int(1),\n\t\t\tFamily:            pulumi.String(\"P\"),\n\t\t\tSkuName:           pulumi.String(\"Premium\"),\n\t\t\tEnableNonSslPort:  false,\n\t\t\tRedisConfiguration: \u0026redis.CacheRedisConfigurationArgs{\n\t\t\t\tMaxmemoryReserved: pulumi.Int(2),\n\t\t\t\tMaxmemoryDelta:    pulumi.Int(2),\n\t\t\t\tMaxmemoryPolicy:   pulumi.String(\"allkeys-lru\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = redis.NewCacheAccessPolicy(ctx, \"example\", \u0026redis.CacheAccessPolicyArgs{\n\t\t\tName:         pulumi.String(\"example\"),\n\t\t\tRedisCacheId: exampleCache.ID(),\n\t\t\tPermissions:  pulumi.String(\"+@read +@connection +cluster|info\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.redis.Cache;\nimport com.pulumi.azure.redis.CacheArgs;\nimport com.pulumi.azure.redis.inputs.CacheRedisConfigurationArgs;\nimport com.pulumi.azure.redis.CacheAccessPolicy;\nimport com.pulumi.azure.redis.CacheAccessPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"East US\")\n            .build());\n\n        var exampleCache = new Cache(\"exampleCache\", CacheArgs.builder()\n            .name(\"example\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .capacity(1)\n            .family(\"P\")\n            .skuName(\"Premium\")\n            .enableNonSslPort(false)\n            .redisConfiguration(CacheRedisConfigurationArgs.builder()\n                .maxmemoryReserved(2)\n                .maxmemoryDelta(2)\n                .maxmemoryPolicy(\"allkeys-lru\")\n                .build())\n            .build());\n\n        var exampleCacheAccessPolicy = new CacheAccessPolicy(\"exampleCacheAccessPolicy\", CacheAccessPolicyArgs.builder()\n            .name(\"example\")\n            .redisCacheId(exampleCache.id())\n            .permissions(\"+@read +@connection +cluster|info\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: East US\n  exampleCache:\n    type: azure:redis:Cache\n    name: example\n    properties:\n      name: example\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      capacity: 1\n      family: P\n      skuName: Premium\n      enableNonSslPort: false\n      redisConfiguration:\n        maxmemoryReserved: 2\n        maxmemoryDelta: 2\n        maxmemoryPolicy: allkeys-lru\n  exampleCacheAccessPolicy:\n    type: azure:redis:CacheAccessPolicy\n    name: example\n    properties:\n      name: example\n      redisCacheId: ${exampleCache.id}\n      permissions: +@read +@connection +cluster|info\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Cache` - 2024-11-01\n\n## Import\n\nRedis Cache Access Policy can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:redis/cacheAccessPolicy:CacheAccessPolicy example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Cache/redis/cache1/accessPolicies/policy1\n```\n\n","properties":{"name":{"type":"string","description":"The name of the Redis Cache Access Policy. Changing this forces a new Redis Cache Access Policy to be created.\n"},"permissions":{"type":"string","description":"Permissions that are going to be assigned to this Redis Cache Access Policy.\n"},"redisCacheId":{"type":"string","description":"The ID of the Redis Cache. Changing this forces a new Redis Cache Access Policy to be created.\n"}},"required":["name","permissions","redisCacheId"],"inputProperties":{"name":{"type":"string","description":"The name of the Redis Cache Access Policy. Changing this forces a new Redis Cache Access Policy to be created.\n","willReplaceOnChanges":true},"permissions":{"type":"string","description":"Permissions that are going to be assigned to this Redis Cache Access Policy.\n"},"redisCacheId":{"type":"string","description":"The ID of the Redis Cache. Changing this forces a new Redis Cache Access Policy to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["permissions","redisCacheId"],"stateInputs":{"description":"Input properties used for looking up and filtering CacheAccessPolicy resources.\n","properties":{"name":{"type":"string","description":"The name of the Redis Cache Access Policy. Changing this forces a new Redis Cache Access Policy to be created.\n","willReplaceOnChanges":true},"permissions":{"type":"string","description":"Permissions that are going to be assigned to this Redis Cache Access Policy.\n"},"redisCacheId":{"type":"string","description":"The ID of the Redis Cache. Changing this forces a new Redis Cache Access Policy to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:redis/cacheAccessPolicyAssignment:CacheAccessPolicyAssignment":{"description":"Manages a Redis Cache Access Policy Assignment\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst test = azure.core.getClientConfig({});\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"East US\",\n});\nconst exampleCache = new azure.redis.Cache(\"example\", {\n    name: \"example\",\n    location: example.location,\n    resourceGroupName: example.name,\n    capacity: 1,\n    family: \"P\",\n    skuName: \"Premium\",\n    enableNonSslPort: false,\n    redisConfiguration: {\n        maxmemoryReserved: 2,\n        maxmemoryDelta: 2,\n        maxmemoryPolicy: \"allkeys-lru\",\n    },\n});\nconst exampleCacheAccessPolicyAssignment = new azure.redis.CacheAccessPolicyAssignment(\"example\", {\n    name: \"example\",\n    redisCacheId: exampleCache.id,\n    accessPolicyName: \"Data Contributor\",\n    objectId: test.then(test =\u003e test.objectId),\n    objectIdAlias: \"ServicePrincipal\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\ntest = azure.core.get_client_config()\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"East US\")\nexample_cache = azure.redis.Cache(\"example\",\n    name=\"example\",\n    location=example.location,\n    resource_group_name=example.name,\n    capacity=1,\n    family=\"P\",\n    sku_name=\"Premium\",\n    enable_non_ssl_port=False,\n    redis_configuration={\n        \"maxmemory_reserved\": 2,\n        \"maxmemory_delta\": 2,\n        \"maxmemory_policy\": \"allkeys-lru\",\n    })\nexample_cache_access_policy_assignment = azure.redis.CacheAccessPolicyAssignment(\"example\",\n    name=\"example\",\n    redis_cache_id=example_cache.id,\n    access_policy_name=\"Data Contributor\",\n    object_id=test.object_id,\n    object_id_alias=\"ServicePrincipal\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var test = Azure.Core.GetClientConfig.Invoke();\n\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"East US\",\n    });\n\n    var exampleCache = new Azure.Redis.Cache(\"example\", new()\n    {\n        Name = \"example\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Capacity = 1,\n        Family = \"P\",\n        SkuName = \"Premium\",\n        EnableNonSslPort = false,\n        RedisConfiguration = new Azure.Redis.Inputs.CacheRedisConfigurationArgs\n        {\n            MaxmemoryReserved = 2,\n            MaxmemoryDelta = 2,\n            MaxmemoryPolicy = \"allkeys-lru\",\n        },\n    });\n\n    var exampleCacheAccessPolicyAssignment = new Azure.Redis.CacheAccessPolicyAssignment(\"example\", new()\n    {\n        Name = \"example\",\n        RedisCacheId = exampleCache.Id,\n        AccessPolicyName = \"Data Contributor\",\n        ObjectId = test.Apply(getClientConfigResult =\u003e getClientConfigResult.ObjectId),\n        ObjectIdAlias = \"ServicePrincipal\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/redis\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttest, err := core.GetClientConfig(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"East US\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleCache, err := redis.NewCache(ctx, \"example\", \u0026redis.CacheArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tCapacity:          pulumi.Int(1),\n\t\t\tFamily:            pulumi.String(\"P\"),\n\t\t\tSkuName:           pulumi.String(\"Premium\"),\n\t\t\tEnableNonSslPort:  false,\n\t\t\tRedisConfiguration: \u0026redis.CacheRedisConfigurationArgs{\n\t\t\t\tMaxmemoryReserved: pulumi.Int(2),\n\t\t\t\tMaxmemoryDelta:    pulumi.Int(2),\n\t\t\t\tMaxmemoryPolicy:   pulumi.String(\"allkeys-lru\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = redis.NewCacheAccessPolicyAssignment(ctx, \"example\", \u0026redis.CacheAccessPolicyAssignmentArgs{\n\t\t\tName:             pulumi.String(\"example\"),\n\t\t\tRedisCacheId:     exampleCache.ID(),\n\t\t\tAccessPolicyName: pulumi.String(\"Data Contributor\"),\n\t\t\tObjectId:         pulumi.String(test.ObjectId),\n\t\t\tObjectIdAlias:    pulumi.String(\"ServicePrincipal\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.redis.Cache;\nimport com.pulumi.azure.redis.CacheArgs;\nimport com.pulumi.azure.redis.inputs.CacheRedisConfigurationArgs;\nimport com.pulumi.azure.redis.CacheAccessPolicyAssignment;\nimport com.pulumi.azure.redis.CacheAccessPolicyAssignmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var test = CoreFunctions.getClientConfig(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"East US\")\n            .build());\n\n        var exampleCache = new Cache(\"exampleCache\", CacheArgs.builder()\n            .name(\"example\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .capacity(1)\n            .family(\"P\")\n            .skuName(\"Premium\")\n            .enableNonSslPort(false)\n            .redisConfiguration(CacheRedisConfigurationArgs.builder()\n                .maxmemoryReserved(2)\n                .maxmemoryDelta(2)\n                .maxmemoryPolicy(\"allkeys-lru\")\n                .build())\n            .build());\n\n        var exampleCacheAccessPolicyAssignment = new CacheAccessPolicyAssignment(\"exampleCacheAccessPolicyAssignment\", CacheAccessPolicyAssignmentArgs.builder()\n            .name(\"example\")\n            .redisCacheId(exampleCache.id())\n            .accessPolicyName(\"Data Contributor\")\n            .objectId(test.objectId())\n            .objectIdAlias(\"ServicePrincipal\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: East US\n  exampleCache:\n    type: azure:redis:Cache\n    name: example\n    properties:\n      name: example\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      capacity: 1\n      family: P\n      skuName: Premium\n      enableNonSslPort: false\n      redisConfiguration:\n        maxmemoryReserved: 2\n        maxmemoryDelta: 2\n        maxmemoryPolicy: allkeys-lru\n  exampleCacheAccessPolicyAssignment:\n    type: azure:redis:CacheAccessPolicyAssignment\n    name: example\n    properties:\n      name: example\n      redisCacheId: ${exampleCache.id}\n      accessPolicyName: Data Contributor\n      objectId: ${test.objectId}\n      objectIdAlias: ServicePrincipal\nvariables:\n  test:\n    fn::invoke:\n      function: azure:core:getClientConfig\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Cache` - 2024-11-01\n\n## Import\n\nRedis Cache Policy Assignment can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:redis/cacheAccessPolicyAssignment:CacheAccessPolicyAssignment example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Cache/redis/cache1/accessPolicyAssignments/assignment1\n```\n\n","properties":{"accessPolicyName":{"type":"string","description":"The name of the Access Policy to be assigned. Changing this forces a new Redis Cache Access Policy Assignment to be created.\n"},"name":{"type":"string","description":"The name of the Redis Cache Access Policy Assignment. Changing this forces a new Redis Cache Access Policy Assignment to be created.\n"},"objectId":{"type":"string","description":"The principal ID to be assigned the Access Policy. Changing this forces a new Redis Cache Access Policy Assignment to be created.\n"},"objectIdAlias":{"type":"string","description":"The alias of the principal ID. User-friendly name for object ID. Also represents username for token based authentication. Changing this forces a new Redis Cache Access Policy Assignment to be created.\n"},"redisCacheId":{"type":"string","description":"The ID of the Redis Cache. Changing this forces a new Redis Cache Access Policy Assignment to be created.\n"}},"required":["accessPolicyName","name","objectId","objectIdAlias","redisCacheId"],"inputProperties":{"accessPolicyName":{"type":"string","description":"The name of the Access Policy to be assigned. Changing this forces a new Redis Cache Access Policy Assignment to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the Redis Cache Access Policy Assignment. Changing this forces a new Redis Cache Access Policy Assignment to be created.\n","willReplaceOnChanges":true},"objectId":{"type":"string","description":"The principal ID to be assigned the Access Policy. Changing this forces a new Redis Cache Access Policy Assignment to be created.\n","willReplaceOnChanges":true},"objectIdAlias":{"type":"string","description":"The alias of the principal ID. User-friendly name for object ID. Also represents username for token based authentication. Changing this forces a new Redis Cache Access Policy Assignment to be created.\n","willReplaceOnChanges":true},"redisCacheId":{"type":"string","description":"The ID of the Redis Cache. Changing this forces a new Redis Cache Access Policy Assignment to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["accessPolicyName","objectId","objectIdAlias","redisCacheId"],"stateInputs":{"description":"Input properties used for looking up and filtering CacheAccessPolicyAssignment resources.\n","properties":{"accessPolicyName":{"type":"string","description":"The name of the Access Policy to be assigned. Changing this forces a new Redis Cache Access Policy Assignment to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the Redis Cache Access Policy Assignment. Changing this forces a new Redis Cache Access Policy Assignment to be created.\n","willReplaceOnChanges":true},"objectId":{"type":"string","description":"The principal ID to be assigned the Access Policy. Changing this forces a new Redis Cache Access Policy Assignment to be created.\n","willReplaceOnChanges":true},"objectIdAlias":{"type":"string","description":"The alias of the principal ID. User-friendly name for object ID. Also represents username for token based authentication. Changing this forces a new Redis Cache Access Policy Assignment to be created.\n","willReplaceOnChanges":true},"redisCacheId":{"type":"string","description":"The ID of the Redis Cache. Changing this forces a new Redis Cache Access Policy Assignment to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:redis/enterpriseCluster:EnterpriseCluster":{"description":"Manages a Redis Enterprise Cluster.\n\n\u003e **Note:** This resource has been deprecated in favor of azurerm_managed_redis.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-redisenterprise\",\n    location: \"West Europe\",\n});\nconst exampleEnterpriseCluster = new azure.redis.EnterpriseCluster(\"example\", {\n    name: \"example-redisenterprise\",\n    resourceGroupName: example.name,\n    location: example.location,\n    skuName: \"EnterpriseFlash_F300-3\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-redisenterprise\",\n    location=\"West Europe\")\nexample_enterprise_cluster = azure.redis.EnterpriseCluster(\"example\",\n    name=\"example-redisenterprise\",\n    resource_group_name=example.name,\n    location=example.location,\n    sku_name=\"EnterpriseFlash_F300-3\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-redisenterprise\",\n        Location = \"West Europe\",\n    });\n\n    var exampleEnterpriseCluster = new Azure.Redis.EnterpriseCluster(\"example\", new()\n    {\n        Name = \"example-redisenterprise\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        SkuName = \"EnterpriseFlash_F300-3\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/redis\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-redisenterprise\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = redis.NewEnterpriseCluster(ctx, \"example\", \u0026redis.EnterpriseClusterArgs{\n\t\t\tName:              pulumi.String(\"example-redisenterprise\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tSkuName:           pulumi.String(\"EnterpriseFlash_F300-3\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.redis.EnterpriseCluster;\nimport com.pulumi.azure.redis.EnterpriseClusterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-redisenterprise\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleEnterpriseCluster = new EnterpriseCluster(\"exampleEnterpriseCluster\", EnterpriseClusterArgs.builder()\n            .name(\"example-redisenterprise\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .skuName(\"EnterpriseFlash_F300-3\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-redisenterprise\n      location: West Europe\n  exampleEnterpriseCluster:\n    type: azure:redis:EnterpriseCluster\n    name: example\n    properties:\n      name: example-redisenterprise\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      skuName: EnterpriseFlash_F300-3\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Cache` - 2024-10-01\n\n## Import\n\nRedis Enterprise Clusters can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:redis/enterpriseCluster:EnterpriseCluster example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Cache/redisEnterprise/cluster1\n```\n\n","properties":{"hostname":{"type":"string","description":"DNS name of the cluster endpoint.\n"},"location":{"type":"string","description":"The Azure Region where the Redis Enterprise Cluster should exist. Changing this forces a new Redis Enterprise Cluster to be created.\n"},"minimumTlsVersion":{"type":"string","description":"The minimum TLS version. Possible values are `1.0`, `1.1` and `1.2`. Defaults to `1.2`. Changing this forces a new Redis Enterprise Cluster to be created.\n\n\u003e **Note:** Azure Services will require TLS 1.2+ by August 2025, please see this [announcement](https://azure.microsoft.com/en-us/updates/v2/update-retirement-tls1-0-tls1-1-versions-azure-services/) for more.\n"},"name":{"type":"string","description":"The name which should be used for this Redis Enterprise Cluster. Changing this forces a new Redis Enterprise Cluster to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Redis Enterprise Cluster should exist. Changing this forces a new Redis Enterprise Cluster to be created.\n"},"skuName":{"type":"string","description":"The \u003cspan pulumi-lang-nodejs=\"`skuName`\" pulumi-lang-dotnet=\"`SkuName`\" pulumi-lang-go=\"`skuName`\" pulumi-lang-python=\"`sku_name`\" pulumi-lang-yaml=\"`skuName`\" pulumi-lang-java=\"`skuName`\"\u003e`sku_name`\u003c/span\u003e is comprised of two segments separated by a hyphen (e.g. `Enterprise_E10-2`). The first segment of the \u003cspan pulumi-lang-nodejs=\"`skuName`\" pulumi-lang-dotnet=\"`SkuName`\" pulumi-lang-go=\"`skuName`\" pulumi-lang-python=\"`sku_name`\" pulumi-lang-yaml=\"`skuName`\" pulumi-lang-java=\"`skuName`\"\u003e`sku_name`\u003c/span\u003e defines the \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e of the SKU, possible values are `Enterprise_E5`, `Enterprise_E10`, `Enterprise_E20`, `Enterprise_E50`, `Enterprise_E100`, `Enterprise_E200`, `Enterprise_E400`, `EnterpriseFlash_F300`, `EnterpriseFlash_F700` or `EnterpriseFlash_F1500`. The second segment defines the \u003cspan pulumi-lang-nodejs=\"`capacity`\" pulumi-lang-dotnet=\"`Capacity`\" pulumi-lang-go=\"`capacity`\" pulumi-lang-python=\"`capacity`\" pulumi-lang-yaml=\"`capacity`\" pulumi-lang-java=\"`capacity`\"\u003e`capacity`\u003c/span\u003e of the \u003cspan pulumi-lang-nodejs=\"`skuName`\" pulumi-lang-dotnet=\"`SkuName`\" pulumi-lang-go=\"`skuName`\" pulumi-lang-python=\"`sku_name`\" pulumi-lang-yaml=\"`skuName`\" pulumi-lang-java=\"`skuName`\"\u003e`sku_name`\u003c/span\u003e, possible values for `Enteprise` SKUs are (\u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`4`\" pulumi-lang-dotnet=\"`4`\" pulumi-lang-go=\"`4`\" pulumi-lang-python=\"`4`\" pulumi-lang-yaml=\"`4`\" pulumi-lang-java=\"`4`\"\u003e`4`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`6`\" pulumi-lang-dotnet=\"`6`\" pulumi-lang-go=\"`6`\" pulumi-lang-python=\"`6`\" pulumi-lang-yaml=\"`6`\" pulumi-lang-java=\"`6`\"\u003e`6`\u003c/span\u003e, ...). Possible values for `EnterpriseFlash` SKUs are (\u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`9`\" pulumi-lang-dotnet=\"`9`\" pulumi-lang-go=\"`9`\" pulumi-lang-python=\"`9`\" pulumi-lang-yaml=\"`9`\" pulumi-lang-java=\"`9`\"\u003e`9`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`15`\" pulumi-lang-dotnet=\"`15`\" pulumi-lang-go=\"`15`\" pulumi-lang-python=\"`15`\" pulumi-lang-yaml=\"`15`\" pulumi-lang-java=\"`15`\"\u003e`15`\u003c/span\u003e, ...). Changing this forces a new Redis Enterprise Cluster to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Redis Enterprise Cluster.\n"},"zones":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Availability Zones in which this Redis Enterprise Cluster should be located. Changing this forces a new Redis Enterprise Cluster to be created.\n"}},"required":["hostname","location","name","resourceGroupName","skuName"],"inputProperties":{"location":{"type":"string","description":"The Azure Region where the Redis Enterprise Cluster should exist. Changing this forces a new Redis Enterprise Cluster to be created.\n","willReplaceOnChanges":true},"minimumTlsVersion":{"type":"string","description":"The minimum TLS version. Possible values are `1.0`, `1.1` and `1.2`. Defaults to `1.2`. Changing this forces a new Redis Enterprise Cluster to be created.\n\n\u003e **Note:** Azure Services will require TLS 1.2+ by August 2025, please see this [announcement](https://azure.microsoft.com/en-us/updates/v2/update-retirement-tls1-0-tls1-1-versions-azure-services/) for more.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Redis Enterprise Cluster. Changing this forces a new Redis Enterprise Cluster to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Redis Enterprise Cluster should exist. Changing this forces a new Redis Enterprise Cluster to be created.\n","willReplaceOnChanges":true},"skuName":{"type":"string","description":"The \u003cspan pulumi-lang-nodejs=\"`skuName`\" pulumi-lang-dotnet=\"`SkuName`\" pulumi-lang-go=\"`skuName`\" pulumi-lang-python=\"`sku_name`\" pulumi-lang-yaml=\"`skuName`\" pulumi-lang-java=\"`skuName`\"\u003e`sku_name`\u003c/span\u003e is comprised of two segments separated by a hyphen (e.g. `Enterprise_E10-2`). The first segment of the \u003cspan pulumi-lang-nodejs=\"`skuName`\" pulumi-lang-dotnet=\"`SkuName`\" pulumi-lang-go=\"`skuName`\" pulumi-lang-python=\"`sku_name`\" pulumi-lang-yaml=\"`skuName`\" pulumi-lang-java=\"`skuName`\"\u003e`sku_name`\u003c/span\u003e defines the \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e of the SKU, possible values are `Enterprise_E5`, `Enterprise_E10`, `Enterprise_E20`, `Enterprise_E50`, `Enterprise_E100`, `Enterprise_E200`, `Enterprise_E400`, `EnterpriseFlash_F300`, `EnterpriseFlash_F700` or `EnterpriseFlash_F1500`. The second segment defines the \u003cspan pulumi-lang-nodejs=\"`capacity`\" pulumi-lang-dotnet=\"`Capacity`\" pulumi-lang-go=\"`capacity`\" pulumi-lang-python=\"`capacity`\" pulumi-lang-yaml=\"`capacity`\" pulumi-lang-java=\"`capacity`\"\u003e`capacity`\u003c/span\u003e of the \u003cspan pulumi-lang-nodejs=\"`skuName`\" pulumi-lang-dotnet=\"`SkuName`\" pulumi-lang-go=\"`skuName`\" pulumi-lang-python=\"`sku_name`\" pulumi-lang-yaml=\"`skuName`\" pulumi-lang-java=\"`skuName`\"\u003e`sku_name`\u003c/span\u003e, possible values for `Enteprise` SKUs are (\u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`4`\" pulumi-lang-dotnet=\"`4`\" pulumi-lang-go=\"`4`\" pulumi-lang-python=\"`4`\" pulumi-lang-yaml=\"`4`\" pulumi-lang-java=\"`4`\"\u003e`4`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`6`\" pulumi-lang-dotnet=\"`6`\" pulumi-lang-go=\"`6`\" pulumi-lang-python=\"`6`\" pulumi-lang-yaml=\"`6`\" pulumi-lang-java=\"`6`\"\u003e`6`\u003c/span\u003e, ...). Possible values for `EnterpriseFlash` SKUs are (\u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`9`\" pulumi-lang-dotnet=\"`9`\" pulumi-lang-go=\"`9`\" pulumi-lang-python=\"`9`\" pulumi-lang-yaml=\"`9`\" pulumi-lang-java=\"`9`\"\u003e`9`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`15`\" pulumi-lang-dotnet=\"`15`\" pulumi-lang-go=\"`15`\" pulumi-lang-python=\"`15`\" pulumi-lang-yaml=\"`15`\" pulumi-lang-java=\"`15`\"\u003e`15`\u003c/span\u003e, ...). Changing this forces a new Redis Enterprise Cluster to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Redis Enterprise Cluster.\n"},"zones":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Availability Zones in which this Redis Enterprise Cluster should be located. Changing this forces a new Redis Enterprise Cluster to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["resourceGroupName","skuName"],"stateInputs":{"description":"Input properties used for looking up and filtering EnterpriseCluster resources.\n","properties":{"hostname":{"type":"string","description":"DNS name of the cluster endpoint.\n"},"location":{"type":"string","description":"The Azure Region where the Redis Enterprise Cluster should exist. Changing this forces a new Redis Enterprise Cluster to be created.\n","willReplaceOnChanges":true},"minimumTlsVersion":{"type":"string","description":"The minimum TLS version. Possible values are `1.0`, `1.1` and `1.2`. Defaults to `1.2`. Changing this forces a new Redis Enterprise Cluster to be created.\n\n\u003e **Note:** Azure Services will require TLS 1.2+ by August 2025, please see this [announcement](https://azure.microsoft.com/en-us/updates/v2/update-retirement-tls1-0-tls1-1-versions-azure-services/) for more.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Redis Enterprise Cluster. Changing this forces a new Redis Enterprise Cluster to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Redis Enterprise Cluster should exist. Changing this forces a new Redis Enterprise Cluster to be created.\n","willReplaceOnChanges":true},"skuName":{"type":"string","description":"The \u003cspan pulumi-lang-nodejs=\"`skuName`\" pulumi-lang-dotnet=\"`SkuName`\" pulumi-lang-go=\"`skuName`\" pulumi-lang-python=\"`sku_name`\" pulumi-lang-yaml=\"`skuName`\" pulumi-lang-java=\"`skuName`\"\u003e`sku_name`\u003c/span\u003e is comprised of two segments separated by a hyphen (e.g. `Enterprise_E10-2`). The first segment of the \u003cspan pulumi-lang-nodejs=\"`skuName`\" pulumi-lang-dotnet=\"`SkuName`\" pulumi-lang-go=\"`skuName`\" pulumi-lang-python=\"`sku_name`\" pulumi-lang-yaml=\"`skuName`\" pulumi-lang-java=\"`skuName`\"\u003e`sku_name`\u003c/span\u003e defines the \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e of the SKU, possible values are `Enterprise_E5`, `Enterprise_E10`, `Enterprise_E20`, `Enterprise_E50`, `Enterprise_E100`, `Enterprise_E200`, `Enterprise_E400`, `EnterpriseFlash_F300`, `EnterpriseFlash_F700` or `EnterpriseFlash_F1500`. The second segment defines the \u003cspan pulumi-lang-nodejs=\"`capacity`\" pulumi-lang-dotnet=\"`Capacity`\" pulumi-lang-go=\"`capacity`\" pulumi-lang-python=\"`capacity`\" pulumi-lang-yaml=\"`capacity`\" pulumi-lang-java=\"`capacity`\"\u003e`capacity`\u003c/span\u003e of the \u003cspan pulumi-lang-nodejs=\"`skuName`\" pulumi-lang-dotnet=\"`SkuName`\" pulumi-lang-go=\"`skuName`\" pulumi-lang-python=\"`sku_name`\" pulumi-lang-yaml=\"`skuName`\" pulumi-lang-java=\"`skuName`\"\u003e`sku_name`\u003c/span\u003e, possible values for `Enteprise` SKUs are (\u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`4`\" pulumi-lang-dotnet=\"`4`\" pulumi-lang-go=\"`4`\" pulumi-lang-python=\"`4`\" pulumi-lang-yaml=\"`4`\" pulumi-lang-java=\"`4`\"\u003e`4`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`6`\" pulumi-lang-dotnet=\"`6`\" pulumi-lang-go=\"`6`\" pulumi-lang-python=\"`6`\" pulumi-lang-yaml=\"`6`\" pulumi-lang-java=\"`6`\"\u003e`6`\u003c/span\u003e, ...). Possible values for `EnterpriseFlash` SKUs are (\u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`9`\" pulumi-lang-dotnet=\"`9`\" pulumi-lang-go=\"`9`\" pulumi-lang-python=\"`9`\" pulumi-lang-yaml=\"`9`\" pulumi-lang-java=\"`9`\"\u003e`9`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`15`\" pulumi-lang-dotnet=\"`15`\" pulumi-lang-go=\"`15`\" pulumi-lang-python=\"`15`\" pulumi-lang-yaml=\"`15`\" pulumi-lang-java=\"`15`\"\u003e`15`\u003c/span\u003e, ...). Changing this forces a new Redis Enterprise Cluster to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Redis Enterprise Cluster.\n"},"zones":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Availability Zones in which this Redis Enterprise Cluster should be located. Changing this forces a new Redis Enterprise Cluster to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:redis/enterpriseDatabase:EnterpriseDatabase":{"description":"Manages a Redis Enterprise Database.\n\n\u003e **Note:** This resource has been deprecated in favor of azurerm_managed_redis.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-redisenterprise\",\n    location: \"West Europe\",\n});\nconst exampleEnterpriseCluster = new azure.redis.EnterpriseCluster(\"example\", {\n    name: \"example-redisenterprise\",\n    resourceGroupName: example.name,\n    location: example.location,\n    skuName: \"Enterprise_E20-4\",\n});\nconst example1 = new azure.redis.EnterpriseCluster(\"example1\", {\n    name: \"example-redisenterprise1\",\n    resourceGroupName: example.name,\n    location: example.location,\n    skuName: \"Enterprise_E20-4\",\n});\nconst exampleEnterpriseDatabase = new azure.redis.EnterpriseDatabase(\"example\", {\n    name: \"default\",\n    clusterId: exampleEnterpriseCluster.id,\n    clientProtocol: \"Encrypted\",\n    clusteringPolicy: \"EnterpriseCluster\",\n    evictionPolicy: \"NoEviction\",\n    port: 10000,\n    linkedDatabaseIds: [\n        pulumi.interpolate`${exampleEnterpriseCluster.id}/databases/default`,\n        pulumi.interpolate`${example1.id}/databases/default`,\n    ],\n    linkedDatabaseGroupNickname: \"tftestGeoGroup\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-redisenterprise\",\n    location=\"West Europe\")\nexample_enterprise_cluster = azure.redis.EnterpriseCluster(\"example\",\n    name=\"example-redisenterprise\",\n    resource_group_name=example.name,\n    location=example.location,\n    sku_name=\"Enterprise_E20-4\")\nexample1 = azure.redis.EnterpriseCluster(\"example1\",\n    name=\"example-redisenterprise1\",\n    resource_group_name=example.name,\n    location=example.location,\n    sku_name=\"Enterprise_E20-4\")\nexample_enterprise_database = azure.redis.EnterpriseDatabase(\"example\",\n    name=\"default\",\n    cluster_id=example_enterprise_cluster.id,\n    client_protocol=\"Encrypted\",\n    clustering_policy=\"EnterpriseCluster\",\n    eviction_policy=\"NoEviction\",\n    port=10000,\n    linked_database_ids=[\n        example_enterprise_cluster.id.apply(lambda id: f\"{id}/databases/default\"),\n        example1.id.apply(lambda id: f\"{id}/databases/default\"),\n    ],\n    linked_database_group_nickname=\"tftestGeoGroup\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-redisenterprise\",\n        Location = \"West Europe\",\n    });\n\n    var exampleEnterpriseCluster = new Azure.Redis.EnterpriseCluster(\"example\", new()\n    {\n        Name = \"example-redisenterprise\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        SkuName = \"Enterprise_E20-4\",\n    });\n\n    var example1 = new Azure.Redis.EnterpriseCluster(\"example1\", new()\n    {\n        Name = \"example-redisenterprise1\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        SkuName = \"Enterprise_E20-4\",\n    });\n\n    var exampleEnterpriseDatabase = new Azure.Redis.EnterpriseDatabase(\"example\", new()\n    {\n        Name = \"default\",\n        ClusterId = exampleEnterpriseCluster.Id,\n        ClientProtocol = \"Encrypted\",\n        ClusteringPolicy = \"EnterpriseCluster\",\n        EvictionPolicy = \"NoEviction\",\n        Port = 10000,\n        LinkedDatabaseIds = new[]\n        {\n            exampleEnterpriseCluster.Id.Apply(id =\u003e $\"{id}/databases/default\"),\n            example1.Id.Apply(id =\u003e $\"{id}/databases/default\"),\n        },\n        LinkedDatabaseGroupNickname = \"tftestGeoGroup\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/redis\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-redisenterprise\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleEnterpriseCluster, err := redis.NewEnterpriseCluster(ctx, \"example\", \u0026redis.EnterpriseClusterArgs{\n\t\t\tName:              pulumi.String(\"example-redisenterprise\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tSkuName:           pulumi.String(\"Enterprise_E20-4\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample1, err := redis.NewEnterpriseCluster(ctx, \"example1\", \u0026redis.EnterpriseClusterArgs{\n\t\t\tName:              pulumi.String(\"example-redisenterprise1\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tSkuName:           pulumi.String(\"Enterprise_E20-4\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = redis.NewEnterpriseDatabase(ctx, \"example\", \u0026redis.EnterpriseDatabaseArgs{\n\t\t\tName:             pulumi.String(\"default\"),\n\t\t\tClusterId:        exampleEnterpriseCluster.ID(),\n\t\t\tClientProtocol:   pulumi.String(\"Encrypted\"),\n\t\t\tClusteringPolicy: pulumi.String(\"EnterpriseCluster\"),\n\t\t\tEvictionPolicy:   pulumi.String(\"NoEviction\"),\n\t\t\tPort:             pulumi.Int(10000),\n\t\t\tLinkedDatabaseIds: pulumi.StringArray{\n\t\t\t\texampleEnterpriseCluster.ID().ApplyT(func(id string) (string, error) {\n\t\t\t\t\treturn fmt.Sprintf(\"%v/databases/default\", id), nil\n\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\texample1.ID().ApplyT(func(id string) (string, error) {\n\t\t\t\t\treturn fmt.Sprintf(\"%v/databases/default\", id), nil\n\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t},\n\t\t\tLinkedDatabaseGroupNickname: pulumi.String(\"tftestGeoGroup\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.redis.EnterpriseCluster;\nimport com.pulumi.azure.redis.EnterpriseClusterArgs;\nimport com.pulumi.azure.redis.EnterpriseDatabase;\nimport com.pulumi.azure.redis.EnterpriseDatabaseArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-redisenterprise\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleEnterpriseCluster = new EnterpriseCluster(\"exampleEnterpriseCluster\", EnterpriseClusterArgs.builder()\n            .name(\"example-redisenterprise\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .skuName(\"Enterprise_E20-4\")\n            .build());\n\n        var example1 = new EnterpriseCluster(\"example1\", EnterpriseClusterArgs.builder()\n            .name(\"example-redisenterprise1\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .skuName(\"Enterprise_E20-4\")\n            .build());\n\n        var exampleEnterpriseDatabase = new EnterpriseDatabase(\"exampleEnterpriseDatabase\", EnterpriseDatabaseArgs.builder()\n            .name(\"default\")\n            .clusterId(exampleEnterpriseCluster.id())\n            .clientProtocol(\"Encrypted\")\n            .clusteringPolicy(\"EnterpriseCluster\")\n            .evictionPolicy(\"NoEviction\")\n            .port(10000)\n            .linkedDatabaseIds(            \n                exampleEnterpriseCluster.id().applyValue(_id -\u003e String.format(\"%s/databases/default\", _id)),\n                example1.id().applyValue(_id -\u003e String.format(\"%s/databases/default\", _id)))\n            .linkedDatabaseGroupNickname(\"tftestGeoGroup\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-redisenterprise\n      location: West Europe\n  exampleEnterpriseCluster:\n    type: azure:redis:EnterpriseCluster\n    name: example\n    properties:\n      name: example-redisenterprise\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      skuName: Enterprise_E20-4\n  example1:\n    type: azure:redis:EnterpriseCluster\n    properties:\n      name: example-redisenterprise1\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      skuName: Enterprise_E20-4\n  exampleEnterpriseDatabase:\n    type: azure:redis:EnterpriseDatabase\n    name: example\n    properties:\n      name: default\n      clusterId: ${exampleEnterpriseCluster.id}\n      clientProtocol: Encrypted\n      clusteringPolicy: EnterpriseCluster\n      evictionPolicy: NoEviction\n      port: 10000\n      linkedDatabaseIds:\n        - ${exampleEnterpriseCluster.id}/databases/default\n        - ${example1.id}/databases/default\n      linkedDatabaseGroupNickname: tftestGeoGroup\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Cache` - 2024-10-01\n\n## Import\n\nRedis Enterprise Databases can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:redis/enterpriseDatabase:EnterpriseDatabase example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Cache/redisEnterprise/cluster1/databases/database1\n```\n\n","properties":{"clientProtocol":{"type":"string","description":"Specifies whether redis clients can connect using TLS-encrypted or plaintext redis protocols. Possible values are `Encrypted` and `Plaintext`. Defaults to `Encrypted`. Changing this forces a new Redis Enterprise Database to be created.\n"},"clusterId":{"type":"string","description":"The resource id of the Redis Enterprise Cluster to deploy this Redis Enterprise Database. Changing this forces a new Redis Enterprise Database to be created.\n"},"clusteringPolicy":{"type":"string","description":"Clustering policy Specified at create time. Possible values are `EnterpriseCluster` and `OSSCluster`. Defaults to `OSSCluster`. Changing this forces a new Redis Enterprise Database to be created.\n"},"evictionPolicy":{"type":"string","description":"Redis eviction policy possible values are `AllKeysLFU`, `AllKeysLRU`, `AllKeysRandom`, `VolatileLRU`, `VolatileLFU`, `VolatileTTL`, `VolatileRandom` and `NoEviction`. Changing this forces a new Redis Enterprise Database to be created. Defaults to `VolatileLRU`.\n"},"linkedDatabaseGroupNickname":{"type":"string","description":"Nickname of the group of linked databases. Changing this force a new Redis Enterprise Geo Database to be created.\n"},"linkedDatabaseIds":{"type":"array","items":{"type":"string"},"description":"A list of database resources to link with this database with a maximum of 5.\n\n\u003e **Note:** Only the newly created databases can be added to an existing geo-replication group. Existing regular databases or recreated databases cannot be added to the existing geo-replication group. Any linked database removed from the list will be forcefully unlinked. The only recommended operation is to delete after force-unlink and the recommended scenario of force-unlink is region outage. The database cannot be linked again after force-unlink.\n"},"modules":{"type":"array","items":{"$ref":"#/types/azure:redis/EnterpriseDatabaseModule:EnterpriseDatabaseModule"},"description":"A \u003cspan pulumi-lang-nodejs=\"`module`\" pulumi-lang-dotnet=\"`Module`\" pulumi-lang-go=\"`module`\" pulumi-lang-python=\"`module`\" pulumi-lang-yaml=\"`module`\" pulumi-lang-java=\"`module`\"\u003e`module`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n\n\u003e **Note:** Only `RediSearch` and `RedisJSON` modules are allowed with geo-replication\n"},"name":{"type":"string","description":"The name which should be used for this Redis Enterprise Database. Currently the acceptable value for this argument is \u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\"\u003e`default`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\"\u003e`default`\u003c/span\u003e. Changing this forces a new Redis Enterprise Database to be created.\n"},"port":{"type":"integer","description":"TCP port of the database endpoint. Specified at create time. Defaults to an available port. Changing this forces a new Redis Enterprise Database to be created. Defaults to \u003cspan pulumi-lang-nodejs=\"`10000`\" pulumi-lang-dotnet=\"`10000`\" pulumi-lang-go=\"`10000`\" pulumi-lang-python=\"`10000`\" pulumi-lang-yaml=\"`10000`\" pulumi-lang-java=\"`10000`\"\u003e`10000`\u003c/span\u003e.\n"},"primaryAccessKey":{"type":"string","description":"The Primary Access Key for the Redis Enterprise Database Instance.\n","secret":true},"secondaryAccessKey":{"type":"string","description":"The Secondary Access Key for the Redis Enterprise Database Instance.\n","secret":true}},"required":["clusterId","name","primaryAccessKey","secondaryAccessKey"],"inputProperties":{"clientProtocol":{"type":"string","description":"Specifies whether redis clients can connect using TLS-encrypted or plaintext redis protocols. Possible values are `Encrypted` and `Plaintext`. Defaults to `Encrypted`. Changing this forces a new Redis Enterprise Database to be created.\n","willReplaceOnChanges":true},"clusterId":{"type":"string","description":"The resource id of the Redis Enterprise Cluster to deploy this Redis Enterprise Database. Changing this forces a new Redis Enterprise Database to be created.\n","willReplaceOnChanges":true},"clusteringPolicy":{"type":"string","description":"Clustering policy Specified at create time. Possible values are `EnterpriseCluster` and `OSSCluster`. Defaults to `OSSCluster`. Changing this forces a new Redis Enterprise Database to be created.\n","willReplaceOnChanges":true},"evictionPolicy":{"type":"string","description":"Redis eviction policy possible values are `AllKeysLFU`, `AllKeysLRU`, `AllKeysRandom`, `VolatileLRU`, `VolatileLFU`, `VolatileTTL`, `VolatileRandom` and `NoEviction`. Changing this forces a new Redis Enterprise Database to be created. Defaults to `VolatileLRU`.\n","willReplaceOnChanges":true},"linkedDatabaseGroupNickname":{"type":"string","description":"Nickname of the group of linked databases. Changing this force a new Redis Enterprise Geo Database to be created.\n","willReplaceOnChanges":true},"linkedDatabaseIds":{"type":"array","items":{"type":"string"},"description":"A list of database resources to link with this database with a maximum of 5.\n\n\u003e **Note:** Only the newly created databases can be added to an existing geo-replication group. Existing regular databases or recreated databases cannot be added to the existing geo-replication group. Any linked database removed from the list will be forcefully unlinked. The only recommended operation is to delete after force-unlink and the recommended scenario of force-unlink is region outage. The database cannot be linked again after force-unlink.\n"},"modules":{"type":"array","items":{"$ref":"#/types/azure:redis/EnterpriseDatabaseModule:EnterpriseDatabaseModule"},"description":"A \u003cspan pulumi-lang-nodejs=\"`module`\" pulumi-lang-dotnet=\"`Module`\" pulumi-lang-go=\"`module`\" pulumi-lang-python=\"`module`\" pulumi-lang-yaml=\"`module`\" pulumi-lang-java=\"`module`\"\u003e`module`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n\n\u003e **Note:** Only `RediSearch` and `RedisJSON` modules are allowed with geo-replication\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Redis Enterprise Database. Currently the acceptable value for this argument is \u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\"\u003e`default`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\"\u003e`default`\u003c/span\u003e. Changing this forces a new Redis Enterprise Database to be created.\n","willReplaceOnChanges":true},"port":{"type":"integer","description":"TCP port of the database endpoint. Specified at create time. Defaults to an available port. Changing this forces a new Redis Enterprise Database to be created. Defaults to \u003cspan pulumi-lang-nodejs=\"`10000`\" pulumi-lang-dotnet=\"`10000`\" pulumi-lang-go=\"`10000`\" pulumi-lang-python=\"`10000`\" pulumi-lang-yaml=\"`10000`\" pulumi-lang-java=\"`10000`\"\u003e`10000`\u003c/span\u003e.\n","willReplaceOnChanges":true}},"requiredInputs":["clusterId"],"stateInputs":{"description":"Input properties used for looking up and filtering EnterpriseDatabase resources.\n","properties":{"clientProtocol":{"type":"string","description":"Specifies whether redis clients can connect using TLS-encrypted or plaintext redis protocols. Possible values are `Encrypted` and `Plaintext`. Defaults to `Encrypted`. Changing this forces a new Redis Enterprise Database to be created.\n","willReplaceOnChanges":true},"clusterId":{"type":"string","description":"The resource id of the Redis Enterprise Cluster to deploy this Redis Enterprise Database. Changing this forces a new Redis Enterprise Database to be created.\n","willReplaceOnChanges":true},"clusteringPolicy":{"type":"string","description":"Clustering policy Specified at create time. Possible values are `EnterpriseCluster` and `OSSCluster`. Defaults to `OSSCluster`. Changing this forces a new Redis Enterprise Database to be created.\n","willReplaceOnChanges":true},"evictionPolicy":{"type":"string","description":"Redis eviction policy possible values are `AllKeysLFU`, `AllKeysLRU`, `AllKeysRandom`, `VolatileLRU`, `VolatileLFU`, `VolatileTTL`, `VolatileRandom` and `NoEviction`. Changing this forces a new Redis Enterprise Database to be created. Defaults to `VolatileLRU`.\n","willReplaceOnChanges":true},"linkedDatabaseGroupNickname":{"type":"string","description":"Nickname of the group of linked databases. Changing this force a new Redis Enterprise Geo Database to be created.\n","willReplaceOnChanges":true},"linkedDatabaseIds":{"type":"array","items":{"type":"string"},"description":"A list of database resources to link with this database with a maximum of 5.\n\n\u003e **Note:** Only the newly created databases can be added to an existing geo-replication group. Existing regular databases or recreated databases cannot be added to the existing geo-replication group. Any linked database removed from the list will be forcefully unlinked. The only recommended operation is to delete after force-unlink and the recommended scenario of force-unlink is region outage. The database cannot be linked again after force-unlink.\n"},"modules":{"type":"array","items":{"$ref":"#/types/azure:redis/EnterpriseDatabaseModule:EnterpriseDatabaseModule"},"description":"A \u003cspan pulumi-lang-nodejs=\"`module`\" pulumi-lang-dotnet=\"`Module`\" pulumi-lang-go=\"`module`\" pulumi-lang-python=\"`module`\" pulumi-lang-yaml=\"`module`\" pulumi-lang-java=\"`module`\"\u003e`module`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n\n\u003e **Note:** Only `RediSearch` and `RedisJSON` modules are allowed with geo-replication\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Redis Enterprise Database. Currently the acceptable value for this argument is \u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\"\u003e`default`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\"\u003e`default`\u003c/span\u003e. Changing this forces a new Redis Enterprise Database to be created.\n","willReplaceOnChanges":true},"port":{"type":"integer","description":"TCP port of the database endpoint. Specified at create time. Defaults to an available port. Changing this forces a new Redis Enterprise Database to be created. Defaults to \u003cspan pulumi-lang-nodejs=\"`10000`\" pulumi-lang-dotnet=\"`10000`\" pulumi-lang-go=\"`10000`\" pulumi-lang-python=\"`10000`\" pulumi-lang-yaml=\"`10000`\" pulumi-lang-java=\"`10000`\"\u003e`10000`\u003c/span\u003e.\n","willReplaceOnChanges":true},"primaryAccessKey":{"type":"string","description":"The Primary Access Key for the Redis Enterprise Database Instance.\n","secret":true},"secondaryAccessKey":{"type":"string","description":"The Secondary Access Key for the Redis Enterprise Database Instance.\n","secret":true}},"type":"object"}},"azure:redis/firewallRule:FirewallRule":{"description":"Manages a Firewall Rule associated with a Redis Cache.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\nimport * as random from \"@pulumi/random\";\n\nconst server = new random.index.Id(\"server\", {\n    keepers: {\n        aziId: 1,\n    },\n    byteLength: 8,\n});\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"redis-resourcegroup\",\n    location: \"West Europe\",\n});\nconst exampleCache = new azure.redis.Cache(\"example\", {\n    name: `redis${server.hex}`,\n    location: example.location,\n    resourceGroupName: example.name,\n    capacity: 1,\n    family: \"P\",\n    skuName: \"Premium\",\n    enableNonSslPort: false,\n    redisConfiguration: {\n        maxmemoryReserved: 2,\n        maxmemoryDelta: 2,\n        maxmemoryPolicy: \"allkeys-lru\",\n    },\n});\nconst exampleFirewallRule = new azure.redis.FirewallRule(\"example\", {\n    name: \"someIPrange\",\n    redisCacheName: exampleCache.name,\n    resourceGroupName: example.name,\n    startIp: \"1.2.3.4\",\n    endIp: \"2.3.4.5\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\nimport pulumi_random as random\n\nserver = random.index.Id(\"server\",\n    keepers={\n        aziId: 1,\n    },\n    byte_length=8)\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"redis-resourcegroup\",\n    location=\"West Europe\")\nexample_cache = azure.redis.Cache(\"example\",\n    name=f\"redis{server['hex']}\",\n    location=example.location,\n    resource_group_name=example.name,\n    capacity=1,\n    family=\"P\",\n    sku_name=\"Premium\",\n    enable_non_ssl_port=False,\n    redis_configuration={\n        \"maxmemory_reserved\": 2,\n        \"maxmemory_delta\": 2,\n        \"maxmemory_policy\": \"allkeys-lru\",\n    })\nexample_firewall_rule = azure.redis.FirewallRule(\"example\",\n    name=\"someIPrange\",\n    redis_cache_name=example_cache.name,\n    resource_group_name=example.name,\n    start_ip=\"1.2.3.4\",\n    end_ip=\"2.3.4.5\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var server = new Random.Index.Id(\"server\", new()\n    {\n        Keepers = \n        {\n            { \"aziId\", 1 },\n        },\n        ByteLength = 8,\n    });\n\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"redis-resourcegroup\",\n        Location = \"West Europe\",\n    });\n\n    var exampleCache = new Azure.Redis.Cache(\"example\", new()\n    {\n        Name = $\"redis{server.Hex}\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Capacity = 1,\n        Family = \"P\",\n        SkuName = \"Premium\",\n        EnableNonSslPort = false,\n        RedisConfiguration = new Azure.Redis.Inputs.CacheRedisConfigurationArgs\n        {\n            MaxmemoryReserved = 2,\n            MaxmemoryDelta = 2,\n            MaxmemoryPolicy = \"allkeys-lru\",\n        },\n    });\n\n    var exampleFirewallRule = new Azure.Redis.FirewallRule(\"example\", new()\n    {\n        Name = \"someIPrange\",\n        RedisCacheName = exampleCache.Name,\n        ResourceGroupName = example.Name,\n        StartIp = \"1.2.3.4\",\n        EndIp = \"2.3.4.5\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/redis\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tserver, err := random.NewId(ctx, \"server\", \u0026random.IdArgs{\n\t\t\tKeepers: map[string]interface{}{\n\t\t\t\t\"aziId\": 1,\n\t\t\t},\n\t\t\tByteLength: 8,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"redis-resourcegroup\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleCache, err := redis.NewCache(ctx, \"example\", \u0026redis.CacheArgs{\n\t\t\tName:              pulumi.Sprintf(\"redis%v\", server.Hex),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tCapacity:          pulumi.Int(1),\n\t\t\tFamily:            pulumi.String(\"P\"),\n\t\t\tSkuName:           pulumi.String(\"Premium\"),\n\t\t\tEnableNonSslPort:  false,\n\t\t\tRedisConfiguration: \u0026redis.CacheRedisConfigurationArgs{\n\t\t\t\tMaxmemoryReserved: pulumi.Int(2),\n\t\t\t\tMaxmemoryDelta:    pulumi.Int(2),\n\t\t\t\tMaxmemoryPolicy:   pulumi.String(\"allkeys-lru\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = redis.NewFirewallRule(ctx, \"example\", \u0026redis.FirewallRuleArgs{\n\t\t\tName:              pulumi.String(\"someIPrange\"),\n\t\t\tRedisCacheName:    exampleCache.Name,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tStartIp:           pulumi.String(\"1.2.3.4\"),\n\t\t\tEndIp:             pulumi.String(\"2.3.4.5\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.random.Id;\nimport com.pulumi.random.IdArgs;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.redis.Cache;\nimport com.pulumi.azure.redis.CacheArgs;\nimport com.pulumi.azure.redis.inputs.CacheRedisConfigurationArgs;\nimport com.pulumi.azure.redis.FirewallRule;\nimport com.pulumi.azure.redis.FirewallRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var server = new Id(\"server\", IdArgs.builder()\n            .keepers(Map.of(\"aziId\", 1))\n            .byteLength(8)\n            .build());\n\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"redis-resourcegroup\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleCache = new Cache(\"exampleCache\", CacheArgs.builder()\n            .name(String.format(\"redis%s\", server.hex()))\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .capacity(1)\n            .family(\"P\")\n            .skuName(\"Premium\")\n            .enableNonSslPort(false)\n            .redisConfiguration(CacheRedisConfigurationArgs.builder()\n                .maxmemoryReserved(2)\n                .maxmemoryDelta(2)\n                .maxmemoryPolicy(\"allkeys-lru\")\n                .build())\n            .build());\n\n        var exampleFirewallRule = new FirewallRule(\"exampleFirewallRule\", FirewallRuleArgs.builder()\n            .name(\"someIPrange\")\n            .redisCacheName(exampleCache.name())\n            .resourceGroupName(example.name())\n            .startIp(\"1.2.3.4\")\n            .endIp(\"2.3.4.5\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  server:\n    type: random:Id\n    properties:\n      keepers:\n        aziId: 1\n      byteLength: 8\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: redis-resourcegroup\n      location: West Europe\n  exampleCache:\n    type: azure:redis:Cache\n    name: example\n    properties:\n      name: redis${server.hex}\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      capacity: 1\n      family: P\n      skuName: Premium\n      enableNonSslPort: false\n      redisConfiguration:\n        maxmemoryReserved: 2\n        maxmemoryDelta: 2\n        maxmemoryPolicy: allkeys-lru\n  exampleFirewallRule:\n    type: azure:redis:FirewallRule\n    name: example\n    properties:\n      name: someIPrange\n      redisCacheName: ${exampleCache.name}\n      resourceGroupName: ${example.name}\n      startIp: 1.2.3.4\n      endIp: 2.3.4.5\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Cache` - 2024-11-01\n\n## Import\n\nRedis Firewall Rules can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:redis/firewallRule:FirewallRule rule1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Cache/redis/cache1/firewallRules/rule1\n```\n\n","properties":{"endIp":{"type":"string","description":"The highest IP address included in the range.\n"},"name":{"type":"string","description":"The name of the Firewall Rule. Changing this forces a new resource to be created.\n"},"redisCacheName":{"type":"string","description":"The name of the Redis Cache. Changing this forces a new resource to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which this Redis Cache exists. Changing this forces a new resource to be created.\n"},"startIp":{"type":"string","description":"The lowest IP address included in the range\n"}},"required":["endIp","name","redisCacheName","resourceGroupName","startIp"],"inputProperties":{"endIp":{"type":"string","description":"The highest IP address included in the range.\n"},"name":{"type":"string","description":"The name of the Firewall Rule. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"redisCacheName":{"type":"string","description":"The name of the Redis Cache. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which this Redis Cache exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"startIp":{"type":"string","description":"The lowest IP address included in the range\n"}},"requiredInputs":["endIp","redisCacheName","resourceGroupName","startIp"],"stateInputs":{"description":"Input properties used for looking up and filtering FirewallRule resources.\n","properties":{"endIp":{"type":"string","description":"The highest IP address included in the range.\n"},"name":{"type":"string","description":"The name of the Firewall Rule. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"redisCacheName":{"type":"string","description":"The name of the Redis Cache. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which this Redis Cache exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"startIp":{"type":"string","description":"The lowest IP address included in the range\n"}},"type":"object"}},"azure:redis/linkedServer:LinkedServer":{"description":"Manages a Redis Linked Server (ie Geo Location)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example_primary = new azure.core.ResourceGroup(\"example-primary\", {\n    name: \"example-resources-primary\",\n    location: \"East US\",\n});\nconst example_primaryCache = new azure.redis.Cache(\"example-primary\", {\n    name: \"example-cache1\",\n    location: example_primary.location,\n    resourceGroupName: example_primary.name,\n    capacity: 1,\n    family: \"P\",\n    skuName: \"Premium\",\n    enableNonSslPort: false,\n    redisConfiguration: {\n        maxmemoryReserved: 2,\n        maxmemoryDelta: 2,\n        maxmemoryPolicy: \"allkeys-lru\",\n    },\n});\nconst example_secondary = new azure.core.ResourceGroup(\"example-secondary\", {\n    name: \"example-resources-secondary\",\n    location: \"West US\",\n});\nconst example_secondaryCache = new azure.redis.Cache(\"example-secondary\", {\n    name: \"example-cache2\",\n    location: example_secondary.location,\n    resourceGroupName: example_secondary.name,\n    capacity: 1,\n    family: \"P\",\n    skuName: \"Premium\",\n    enableNonSslPort: false,\n    redisConfiguration: {\n        maxmemoryReserved: 2,\n        maxmemoryDelta: 2,\n        maxmemoryPolicy: \"allkeys-lru\",\n    },\n});\nconst example_link = new azure.redis.LinkedServer(\"example-link\", {\n    targetRedisCacheName: example_primaryCache.name,\n    resourceGroupName: example_primaryCache.resourceGroupName,\n    linkedRedisCacheId: example_secondaryCache.id,\n    linkedRedisCacheLocation: example_secondaryCache.location,\n    serverRole: \"Secondary\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_primary = azure.core.ResourceGroup(\"example-primary\",\n    name=\"example-resources-primary\",\n    location=\"East US\")\nexample_primary_cache = azure.redis.Cache(\"example-primary\",\n    name=\"example-cache1\",\n    location=example_primary.location,\n    resource_group_name=example_primary.name,\n    capacity=1,\n    family=\"P\",\n    sku_name=\"Premium\",\n    enable_non_ssl_port=False,\n    redis_configuration={\n        \"maxmemory_reserved\": 2,\n        \"maxmemory_delta\": 2,\n        \"maxmemory_policy\": \"allkeys-lru\",\n    })\nexample_secondary = azure.core.ResourceGroup(\"example-secondary\",\n    name=\"example-resources-secondary\",\n    location=\"West US\")\nexample_secondary_cache = azure.redis.Cache(\"example-secondary\",\n    name=\"example-cache2\",\n    location=example_secondary.location,\n    resource_group_name=example_secondary.name,\n    capacity=1,\n    family=\"P\",\n    sku_name=\"Premium\",\n    enable_non_ssl_port=False,\n    redis_configuration={\n        \"maxmemory_reserved\": 2,\n        \"maxmemory_delta\": 2,\n        \"maxmemory_policy\": \"allkeys-lru\",\n    })\nexample_link = azure.redis.LinkedServer(\"example-link\",\n    target_redis_cache_name=example_primary_cache.name,\n    resource_group_name=example_primary_cache.resource_group_name,\n    linked_redis_cache_id=example_secondary_cache.id,\n    linked_redis_cache_location=example_secondary_cache.location,\n    server_role=\"Secondary\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example_primary = new Azure.Core.ResourceGroup(\"example-primary\", new()\n    {\n        Name = \"example-resources-primary\",\n        Location = \"East US\",\n    });\n\n    var example_primaryCache = new Azure.Redis.Cache(\"example-primary\", new()\n    {\n        Name = \"example-cache1\",\n        Location = example_primary.Location,\n        ResourceGroupName = example_primary.Name,\n        Capacity = 1,\n        Family = \"P\",\n        SkuName = \"Premium\",\n        EnableNonSslPort = false,\n        RedisConfiguration = new Azure.Redis.Inputs.CacheRedisConfigurationArgs\n        {\n            MaxmemoryReserved = 2,\n            MaxmemoryDelta = 2,\n            MaxmemoryPolicy = \"allkeys-lru\",\n        },\n    });\n\n    var example_secondary = new Azure.Core.ResourceGroup(\"example-secondary\", new()\n    {\n        Name = \"example-resources-secondary\",\n        Location = \"West US\",\n    });\n\n    var example_secondaryCache = new Azure.Redis.Cache(\"example-secondary\", new()\n    {\n        Name = \"example-cache2\",\n        Location = example_secondary.Location,\n        ResourceGroupName = example_secondary.Name,\n        Capacity = 1,\n        Family = \"P\",\n        SkuName = \"Premium\",\n        EnableNonSslPort = false,\n        RedisConfiguration = new Azure.Redis.Inputs.CacheRedisConfigurationArgs\n        {\n            MaxmemoryReserved = 2,\n            MaxmemoryDelta = 2,\n            MaxmemoryPolicy = \"allkeys-lru\",\n        },\n    });\n\n    var example_link = new Azure.Redis.LinkedServer(\"example-link\", new()\n    {\n        TargetRedisCacheName = example_primaryCache.Name,\n        ResourceGroupName = example_primaryCache.ResourceGroupName,\n        LinkedRedisCacheId = example_secondaryCache.Id,\n        LinkedRedisCacheLocation = example_secondaryCache.Location,\n        ServerRole = \"Secondary\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/redis\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample_primary, err := core.NewResourceGroup(ctx, \"example-primary\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources-primary\"),\n\t\t\tLocation: pulumi.String(\"East US\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample_primaryCache, err := redis.NewCache(ctx, \"example-primary\", \u0026redis.CacheArgs{\n\t\t\tName:              pulumi.String(\"example-cache1\"),\n\t\t\tLocation:          example_primary.Location,\n\t\t\tResourceGroupName: example_primary.Name,\n\t\t\tCapacity:          pulumi.Int(1),\n\t\t\tFamily:            pulumi.String(\"P\"),\n\t\t\tSkuName:           pulumi.String(\"Premium\"),\n\t\t\tEnableNonSslPort:  false,\n\t\t\tRedisConfiguration: \u0026redis.CacheRedisConfigurationArgs{\n\t\t\t\tMaxmemoryReserved: pulumi.Int(2),\n\t\t\t\tMaxmemoryDelta:    pulumi.Int(2),\n\t\t\t\tMaxmemoryPolicy:   pulumi.String(\"allkeys-lru\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample_secondary, err := core.NewResourceGroup(ctx, \"example-secondary\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources-secondary\"),\n\t\t\tLocation: pulumi.String(\"West US\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample_secondaryCache, err := redis.NewCache(ctx, \"example-secondary\", \u0026redis.CacheArgs{\n\t\t\tName:              pulumi.String(\"example-cache2\"),\n\t\t\tLocation:          example_secondary.Location,\n\t\t\tResourceGroupName: example_secondary.Name,\n\t\t\tCapacity:          pulumi.Int(1),\n\t\t\tFamily:            pulumi.String(\"P\"),\n\t\t\tSkuName:           pulumi.String(\"Premium\"),\n\t\t\tEnableNonSslPort:  false,\n\t\t\tRedisConfiguration: \u0026redis.CacheRedisConfigurationArgs{\n\t\t\t\tMaxmemoryReserved: pulumi.Int(2),\n\t\t\t\tMaxmemoryDelta:    pulumi.Int(2),\n\t\t\t\tMaxmemoryPolicy:   pulumi.String(\"allkeys-lru\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = redis.NewLinkedServer(ctx, \"example-link\", \u0026redis.LinkedServerArgs{\n\t\t\tTargetRedisCacheName:     example_primaryCache.Name,\n\t\t\tResourceGroupName:        example_primaryCache.ResourceGroupName,\n\t\t\tLinkedRedisCacheId:       example_secondaryCache.ID(),\n\t\t\tLinkedRedisCacheLocation: example_secondaryCache.Location,\n\t\t\tServerRole:               pulumi.String(\"Secondary\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.redis.Cache;\nimport com.pulumi.azure.redis.CacheArgs;\nimport com.pulumi.azure.redis.inputs.CacheRedisConfigurationArgs;\nimport com.pulumi.azure.redis.LinkedServer;\nimport com.pulumi.azure.redis.LinkedServerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example_primary = new ResourceGroup(\"example-primary\", ResourceGroupArgs.builder()\n            .name(\"example-resources-primary\")\n            .location(\"East US\")\n            .build());\n\n        var example_primaryCache = new Cache(\"example-primaryCache\", CacheArgs.builder()\n            .name(\"example-cache1\")\n            .location(example_primary.location())\n            .resourceGroupName(example_primary.name())\n            .capacity(1)\n            .family(\"P\")\n            .skuName(\"Premium\")\n            .enableNonSslPort(false)\n            .redisConfiguration(CacheRedisConfigurationArgs.builder()\n                .maxmemoryReserved(2)\n                .maxmemoryDelta(2)\n                .maxmemoryPolicy(\"allkeys-lru\")\n                .build())\n            .build());\n\n        var example_secondary = new ResourceGroup(\"example-secondary\", ResourceGroupArgs.builder()\n            .name(\"example-resources-secondary\")\n            .location(\"West US\")\n            .build());\n\n        var example_secondaryCache = new Cache(\"example-secondaryCache\", CacheArgs.builder()\n            .name(\"example-cache2\")\n            .location(example_secondary.location())\n            .resourceGroupName(example_secondary.name())\n            .capacity(1)\n            .family(\"P\")\n            .skuName(\"Premium\")\n            .enableNonSslPort(false)\n            .redisConfiguration(CacheRedisConfigurationArgs.builder()\n                .maxmemoryReserved(2)\n                .maxmemoryDelta(2)\n                .maxmemoryPolicy(\"allkeys-lru\")\n                .build())\n            .build());\n\n        var example_link = new LinkedServer(\"example-link\", LinkedServerArgs.builder()\n            .targetRedisCacheName(example_primaryCache.name())\n            .resourceGroupName(example_primaryCache.resourceGroupName())\n            .linkedRedisCacheId(example_secondaryCache.id())\n            .linkedRedisCacheLocation(example_secondaryCache.location())\n            .serverRole(\"Secondary\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example-primary:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources-primary\n      location: East US\n  example-primaryCache:\n    type: azure:redis:Cache\n    name: example-primary\n    properties:\n      name: example-cache1\n      location: ${[\"example-primary\"].location}\n      resourceGroupName: ${[\"example-primary\"].name}\n      capacity: 1\n      family: P\n      skuName: Premium\n      enableNonSslPort: false\n      redisConfiguration:\n        maxmemoryReserved: 2\n        maxmemoryDelta: 2\n        maxmemoryPolicy: allkeys-lru\n  example-secondary:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources-secondary\n      location: West US\n  example-secondaryCache:\n    type: azure:redis:Cache\n    name: example-secondary\n    properties:\n      name: example-cache2\n      location: ${[\"example-secondary\"].location}\n      resourceGroupName: ${[\"example-secondary\"].name}\n      capacity: 1\n      family: P\n      skuName: Premium\n      enableNonSslPort: false\n      redisConfiguration:\n        maxmemoryReserved: 2\n        maxmemoryDelta: 2\n        maxmemoryPolicy: allkeys-lru\n  example-link:\n    type: azure:redis:LinkedServer\n    properties:\n      targetRedisCacheName: ${[\"example-primaryCache\"].name}\n      resourceGroupName: ${[\"example-primaryCache\"].resourceGroupName}\n      linkedRedisCacheId: ${[\"example-secondaryCache\"].id}\n      linkedRedisCacheLocation: ${[\"example-secondaryCache\"].location}\n      serverRole: Secondary\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Cache` - 2024-11-01\n\n## Import\n\nRedis can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:redis/linkedServer:LinkedServer example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Cache/redis/cache1/linkedServers/cache2\n```\n\n","properties":{"geoReplicatedPrimaryHostName":{"type":"string","description":"The geo-replicated primary hostname for this linked server.\n"},"linkedRedisCacheId":{"type":"string","description":"The ID of the linked Redis cache. Changing this forces a new Redis to be created.\n"},"linkedRedisCacheLocation":{"type":"string","description":"The location of the linked Redis cache. Changing this forces a new Redis to be created.\n"},"name":{"type":"string","description":"The name of the linked server.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Redis caches exists. Changing this forces a new Redis to be created.\n"},"serverRole":{"type":"string","description":"The role of the linked Redis cache (eg \"Secondary\"). Changing this forces a new Redis to be created. Possible values are `Primary` and `Secondary`.\n"},"targetRedisCacheName":{"type":"string","description":"The name of Redis cache to link with. Changing this forces a new Redis to be created. (eg The primary role)\n"}},"required":["geoReplicatedPrimaryHostName","linkedRedisCacheId","linkedRedisCacheLocation","name","resourceGroupName","serverRole","targetRedisCacheName"],"inputProperties":{"linkedRedisCacheId":{"type":"string","description":"The ID of the linked Redis cache. Changing this forces a new Redis to be created.\n","willReplaceOnChanges":true},"linkedRedisCacheLocation":{"type":"string","description":"The location of the linked Redis cache. Changing this forces a new Redis to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Redis caches exists. Changing this forces a new Redis to be created.\n","willReplaceOnChanges":true},"serverRole":{"type":"string","description":"The role of the linked Redis cache (eg \"Secondary\"). Changing this forces a new Redis to be created. Possible values are `Primary` and `Secondary`.\n","willReplaceOnChanges":true},"targetRedisCacheName":{"type":"string","description":"The name of Redis cache to link with. Changing this forces a new Redis to be created. (eg The primary role)\n","willReplaceOnChanges":true}},"requiredInputs":["linkedRedisCacheId","linkedRedisCacheLocation","resourceGroupName","serverRole","targetRedisCacheName"],"stateInputs":{"description":"Input properties used for looking up and filtering LinkedServer resources.\n","properties":{"geoReplicatedPrimaryHostName":{"type":"string","description":"The geo-replicated primary hostname for this linked server.\n"},"linkedRedisCacheId":{"type":"string","description":"The ID of the linked Redis cache. Changing this forces a new Redis to be created.\n","willReplaceOnChanges":true},"linkedRedisCacheLocation":{"type":"string","description":"The location of the linked Redis cache. Changing this forces a new Redis to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the linked server.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Redis caches exists. Changing this forces a new Redis to be created.\n","willReplaceOnChanges":true},"serverRole":{"type":"string","description":"The role of the linked Redis cache (eg \"Secondary\"). Changing this forces a new Redis to be created. Possible values are `Primary` and `Secondary`.\n","willReplaceOnChanges":true},"targetRedisCacheName":{"type":"string","description":"The name of Redis cache to link with. Changing this forces a new Redis to be created. (eg The primary role)\n","willReplaceOnChanges":true}},"type":"object"}},"azure:relay/hybridConnection:HybridConnection":{"description":"Manages an Azure Relay Hybrid Connection.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleNamespace = new azure.relay.Namespace(\"example\", {\n    name: \"example-relay\",\n    location: example.location,\n    resourceGroupName: example.name,\n    skuName: \"Standard\",\n    tags: {\n        source: \"managed\",\n    },\n});\nconst exampleHybridConnection = new azure.relay.HybridConnection(\"example\", {\n    name: \"acctestrnhc-%d\",\n    resourceGroupName: example.name,\n    relayNamespaceName: exampleNamespace.name,\n    requiresClientAuthorization: false,\n    userMetadata: \"testmetadata\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_namespace = azure.relay.Namespace(\"example\",\n    name=\"example-relay\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku_name=\"Standard\",\n    tags={\n        \"source\": \"managed\",\n    })\nexample_hybrid_connection = azure.relay.HybridConnection(\"example\",\n    name=\"acctestrnhc-%d\",\n    resource_group_name=example.name,\n    relay_namespace_name=example_namespace.name,\n    requires_client_authorization=False,\n    user_metadata=\"testmetadata\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleNamespace = new Azure.Relay.Namespace(\"example\", new()\n    {\n        Name = \"example-relay\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        SkuName = \"Standard\",\n        Tags = \n        {\n            { \"source\", \"managed\" },\n        },\n    });\n\n    var exampleHybridConnection = new Azure.Relay.HybridConnection(\"example\", new()\n    {\n        Name = \"acctestrnhc-%d\",\n        ResourceGroupName = example.Name,\n        RelayNamespaceName = exampleNamespace.Name,\n        RequiresClientAuthorization = false,\n        UserMetadata = \"testmetadata\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/relay\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNamespace, err := relay.NewNamespace(ctx, \"example\", \u0026relay.NamespaceArgs{\n\t\t\tName:              pulumi.String(\"example-relay\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSkuName:           pulumi.String(\"Standard\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"source\": pulumi.String(\"managed\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = relay.NewHybridConnection(ctx, \"example\", \u0026relay.HybridConnectionArgs{\n\t\t\tName:                        pulumi.String(\"acctestrnhc-%d\"),\n\t\t\tResourceGroupName:           example.Name,\n\t\t\tRelayNamespaceName:          exampleNamespace.Name,\n\t\t\tRequiresClientAuthorization: pulumi.Bool(false),\n\t\t\tUserMetadata:                pulumi.String(\"testmetadata\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.relay.Namespace;\nimport com.pulumi.azure.relay.NamespaceArgs;\nimport com.pulumi.azure.relay.HybridConnection;\nimport com.pulumi.azure.relay.HybridConnectionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleNamespace = new Namespace(\"exampleNamespace\", NamespaceArgs.builder()\n            .name(\"example-relay\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .skuName(\"Standard\")\n            .tags(Map.of(\"source\", \"managed\"))\n            .build());\n\n        var exampleHybridConnection = new HybridConnection(\"exampleHybridConnection\", HybridConnectionArgs.builder()\n            .name(\"acctestrnhc-%d\")\n            .resourceGroupName(example.name())\n            .relayNamespaceName(exampleNamespace.name())\n            .requiresClientAuthorization(false)\n            .userMetadata(\"testmetadata\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleNamespace:\n    type: azure:relay:Namespace\n    name: example\n    properties:\n      name: example-relay\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      skuName: Standard\n      tags:\n        source: managed\n  exampleHybridConnection:\n    type: azure:relay:HybridConnection\n    name: example\n    properties:\n      name: acctestrnhc-%d\n      resourceGroupName: ${example.name}\n      relayNamespaceName: ${exampleNamespace.name}\n      requiresClientAuthorization: false\n      userMetadata: testmetadata\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Relay` - 2021-11-01\n\n## Import\n\nRelay Hybrid Connection's can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:relay/hybridConnection:HybridConnection relay1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Relay/namespaces/relay1/hybridConnections/hconn1\n```\n\n","properties":{"name":{"type":"string","description":"Specifies the name of the Azure Relay Hybrid Connection. Changing this forces a new resource to be created.\n"},"relayNamespaceName":{"type":"string","description":"The name of the Azure Relay in which to create the Azure Relay Hybrid Connection. Changing this forces a new resource to be created.\n"},"requiresClientAuthorization":{"type":"boolean","description":"Specify if client authorization is needed for this hybrid connection. Changing this forces a new resource to be created. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the Azure Relay Hybrid Connection. Changing this forces a new resource to be created.\n"},"userMetadata":{"type":"string","description":"The usermetadata is a placeholder to store user-defined string data for the hybrid connection endpoint. For example, it can be used to store descriptive data, such as a list of teams and their contact information. Also, user-defined configuration settings can be stored.\n"}},"required":["name","relayNamespaceName","resourceGroupName"],"inputProperties":{"name":{"type":"string","description":"Specifies the name of the Azure Relay Hybrid Connection. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"relayNamespaceName":{"type":"string","description":"The name of the Azure Relay in which to create the Azure Relay Hybrid Connection. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"requiresClientAuthorization":{"type":"boolean","description":"Specify if client authorization is needed for this hybrid connection. Changing this forces a new resource to be created. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the Azure Relay Hybrid Connection. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"userMetadata":{"type":"string","description":"The usermetadata is a placeholder to store user-defined string data for the hybrid connection endpoint. For example, it can be used to store descriptive data, such as a list of teams and their contact information. Also, user-defined configuration settings can be stored.\n"}},"requiredInputs":["relayNamespaceName","resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering HybridConnection resources.\n","properties":{"name":{"type":"string","description":"Specifies the name of the Azure Relay Hybrid Connection. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"relayNamespaceName":{"type":"string","description":"The name of the Azure Relay in which to create the Azure Relay Hybrid Connection. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"requiresClientAuthorization":{"type":"boolean","description":"Specify if client authorization is needed for this hybrid connection. Changing this forces a new resource to be created. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the Azure Relay Hybrid Connection. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"userMetadata":{"type":"string","description":"The usermetadata is a placeholder to store user-defined string data for the hybrid connection endpoint. For example, it can be used to store descriptive data, such as a list of teams and their contact information. Also, user-defined configuration settings can be stored.\n"}},"type":"object"}},"azure:relay/hybridConnectionAuthorizationRule:HybridConnectionAuthorizationRule":{"description":"Manages an Azure Relay Hybrid Connection Authorization Rule.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleNamespace = new azure.relay.Namespace(\"example\", {\n    name: \"example-relay\",\n    location: example.location,\n    resourceGroupName: example.name,\n    skuName: \"Standard\",\n    tags: {\n        source: \"terraform\",\n    },\n});\nconst exampleHybridConnection = new azure.relay.HybridConnection(\"example\", {\n    name: \"acctestrnhc-%d\",\n    resourceGroupName: example.name,\n    relayNamespaceName: exampleNamespace.name,\n    requiresClientAuthorization: false,\n    userMetadata: \"testmetadata\",\n});\nconst exampleHybridConnectionAuthorizationRule = new azure.relay.HybridConnectionAuthorizationRule(\"example\", {\n    name: \"example\",\n    resourceGroupName: example.name,\n    hybridConnectionName: exampleHybridConnection.name,\n    namespaceName: exampleNamespace.name,\n    listen: true,\n    send: true,\n    manage: false,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_namespace = azure.relay.Namespace(\"example\",\n    name=\"example-relay\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku_name=\"Standard\",\n    tags={\n        \"source\": \"terraform\",\n    })\nexample_hybrid_connection = azure.relay.HybridConnection(\"example\",\n    name=\"acctestrnhc-%d\",\n    resource_group_name=example.name,\n    relay_namespace_name=example_namespace.name,\n    requires_client_authorization=False,\n    user_metadata=\"testmetadata\")\nexample_hybrid_connection_authorization_rule = azure.relay.HybridConnectionAuthorizationRule(\"example\",\n    name=\"example\",\n    resource_group_name=example.name,\n    hybrid_connection_name=example_hybrid_connection.name,\n    namespace_name=example_namespace.name,\n    listen=True,\n    send=True,\n    manage=False)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleNamespace = new Azure.Relay.Namespace(\"example\", new()\n    {\n        Name = \"example-relay\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        SkuName = \"Standard\",\n        Tags = \n        {\n            { \"source\", \"terraform\" },\n        },\n    });\n\n    var exampleHybridConnection = new Azure.Relay.HybridConnection(\"example\", new()\n    {\n        Name = \"acctestrnhc-%d\",\n        ResourceGroupName = example.Name,\n        RelayNamespaceName = exampleNamespace.Name,\n        RequiresClientAuthorization = false,\n        UserMetadata = \"testmetadata\",\n    });\n\n    var exampleHybridConnectionAuthorizationRule = new Azure.Relay.HybridConnectionAuthorizationRule(\"example\", new()\n    {\n        Name = \"example\",\n        ResourceGroupName = example.Name,\n        HybridConnectionName = exampleHybridConnection.Name,\n        NamespaceName = exampleNamespace.Name,\n        Listen = true,\n        Send = true,\n        Manage = false,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/relay\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNamespace, err := relay.NewNamespace(ctx, \"example\", \u0026relay.NamespaceArgs{\n\t\t\tName:              pulumi.String(\"example-relay\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSkuName:           pulumi.String(\"Standard\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"source\": pulumi.String(\"terraform\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleHybridConnection, err := relay.NewHybridConnection(ctx, \"example\", \u0026relay.HybridConnectionArgs{\n\t\t\tName:                        pulumi.String(\"acctestrnhc-%d\"),\n\t\t\tResourceGroupName:           example.Name,\n\t\t\tRelayNamespaceName:          exampleNamespace.Name,\n\t\t\tRequiresClientAuthorization: pulumi.Bool(false),\n\t\t\tUserMetadata:                pulumi.String(\"testmetadata\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = relay.NewHybridConnectionAuthorizationRule(ctx, \"example\", \u0026relay.HybridConnectionAuthorizationRuleArgs{\n\t\t\tName:                 pulumi.String(\"example\"),\n\t\t\tResourceGroupName:    example.Name,\n\t\t\tHybridConnectionName: exampleHybridConnection.Name,\n\t\t\tNamespaceName:        exampleNamespace.Name,\n\t\t\tListen:               pulumi.Bool(true),\n\t\t\tSend:                 pulumi.Bool(true),\n\t\t\tManage:               pulumi.Bool(false),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.relay.Namespace;\nimport com.pulumi.azure.relay.NamespaceArgs;\nimport com.pulumi.azure.relay.HybridConnection;\nimport com.pulumi.azure.relay.HybridConnectionArgs;\nimport com.pulumi.azure.relay.HybridConnectionAuthorizationRule;\nimport com.pulumi.azure.relay.HybridConnectionAuthorizationRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleNamespace = new Namespace(\"exampleNamespace\", NamespaceArgs.builder()\n            .name(\"example-relay\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .skuName(\"Standard\")\n            .tags(Map.of(\"source\", \"terraform\"))\n            .build());\n\n        var exampleHybridConnection = new HybridConnection(\"exampleHybridConnection\", HybridConnectionArgs.builder()\n            .name(\"acctestrnhc-%d\")\n            .resourceGroupName(example.name())\n            .relayNamespaceName(exampleNamespace.name())\n            .requiresClientAuthorization(false)\n            .userMetadata(\"testmetadata\")\n            .build());\n\n        var exampleHybridConnectionAuthorizationRule = new HybridConnectionAuthorizationRule(\"exampleHybridConnectionAuthorizationRule\", HybridConnectionAuthorizationRuleArgs.builder()\n            .name(\"example\")\n            .resourceGroupName(example.name())\n            .hybridConnectionName(exampleHybridConnection.name())\n            .namespaceName(exampleNamespace.name())\n            .listen(true)\n            .send(true)\n            .manage(false)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleNamespace:\n    type: azure:relay:Namespace\n    name: example\n    properties:\n      name: example-relay\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      skuName: Standard\n      tags:\n        source: terraform\n  exampleHybridConnection:\n    type: azure:relay:HybridConnection\n    name: example\n    properties:\n      name: acctestrnhc-%d\n      resourceGroupName: ${example.name}\n      relayNamespaceName: ${exampleNamespace.name}\n      requiresClientAuthorization: false\n      userMetadata: testmetadata\n  exampleHybridConnectionAuthorizationRule:\n    type: azure:relay:HybridConnectionAuthorizationRule\n    name: example\n    properties:\n      name: example\n      resourceGroupName: ${example.name}\n      hybridConnectionName: ${exampleHybridConnection.name}\n      namespaceName: ${exampleNamespace.name}\n      listen: true\n      send: true\n      manage: false\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Relay` - 2021-11-01\n\n## Import\n\nAzure Relay Hybrid Connection Authorization Rules can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:relay/hybridConnectionAuthorizationRule:HybridConnectionAuthorizationRule example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Relay/namespaces/namespace1/hybridConnections/connection1/authorizationRules/rule1\n```\n\n","properties":{"hybridConnectionName":{"type":"string","description":"Name of the Azure Relay Hybrid Connection for which this Azure Relay Hybrid Connection Authorization Rule will be created. Changing this forces a new Azure Relay Hybrid Connection Authorization Rule to be created.\n"},"listen":{"type":"boolean","description":"Grants listen access to this Authorization Rule. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"manage":{"type":"boolean","description":"Grants manage access to this Authorization Rule. When this property is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e - both \u003cspan pulumi-lang-nodejs=\"`listen`\" pulumi-lang-dotnet=\"`Listen`\" pulumi-lang-go=\"`listen`\" pulumi-lang-python=\"`listen`\" pulumi-lang-yaml=\"`listen`\" pulumi-lang-java=\"`listen`\"\u003e`listen`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`send`\" pulumi-lang-dotnet=\"`Send`\" pulumi-lang-go=\"`send`\" pulumi-lang-python=\"`send`\" pulumi-lang-yaml=\"`send`\" pulumi-lang-java=\"`send`\"\u003e`send`\u003c/span\u003e must be set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e too. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"name":{"type":"string","description":"The name which should be used for this Azure Relay Hybrid Connection Authorization Rule. Changing this forces a new Azure Relay Hybrid Connection Authorization Rule to be created.\n"},"namespaceName":{"type":"string","description":"Name of the Azure Relay Namespace for which this Azure Relay Hybrid Connection Authorization Rule will be created. Changing this forces a new Azure Relay Hybrid Connection Authorization Rule to be created.\n"},"primaryConnectionString":{"type":"string","description":"The Primary Connection String for the Azure Relay Hybrid Connection Authorization Rule.\n","secret":true},"primaryKey":{"type":"string","description":"The Primary Key for the Azure Relay Hybrid Connection Authorization Rule.\n","secret":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Azure Relay Hybrid Connection Authorization Rule should exist. Changing this forces a new Azure Relay Hybrid Connection Authorization Rule to be created.\n"},"secondaryConnectionString":{"type":"string","description":"The Secondary Connection String for the Azure Relay Hybrid Connection Authorization Rule.\n","secret":true},"secondaryKey":{"type":"string","description":"The Secondary Key for the Azure Relay Hybrid Connection Authorization Rule.\n","secret":true},"send":{"type":"boolean","description":"Grants send access to this Authorization Rule. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"}},"required":["hybridConnectionName","name","namespaceName","primaryConnectionString","primaryKey","resourceGroupName","secondaryConnectionString","secondaryKey"],"inputProperties":{"hybridConnectionName":{"type":"string","description":"Name of the Azure Relay Hybrid Connection for which this Azure Relay Hybrid Connection Authorization Rule will be created. Changing this forces a new Azure Relay Hybrid Connection Authorization Rule to be created.\n","willReplaceOnChanges":true},"listen":{"type":"boolean","description":"Grants listen access to this Authorization Rule. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"manage":{"type":"boolean","description":"Grants manage access to this Authorization Rule. When this property is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e - both \u003cspan pulumi-lang-nodejs=\"`listen`\" pulumi-lang-dotnet=\"`Listen`\" pulumi-lang-go=\"`listen`\" pulumi-lang-python=\"`listen`\" pulumi-lang-yaml=\"`listen`\" pulumi-lang-java=\"`listen`\"\u003e`listen`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`send`\" pulumi-lang-dotnet=\"`Send`\" pulumi-lang-go=\"`send`\" pulumi-lang-python=\"`send`\" pulumi-lang-yaml=\"`send`\" pulumi-lang-java=\"`send`\"\u003e`send`\u003c/span\u003e must be set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e too. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"name":{"type":"string","description":"The name which should be used for this Azure Relay Hybrid Connection Authorization Rule. Changing this forces a new Azure Relay Hybrid Connection Authorization Rule to be created.\n","willReplaceOnChanges":true},"namespaceName":{"type":"string","description":"Name of the Azure Relay Namespace for which this Azure Relay Hybrid Connection Authorization Rule will be created. Changing this forces a new Azure Relay Hybrid Connection Authorization Rule to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Azure Relay Hybrid Connection Authorization Rule should exist. Changing this forces a new Azure Relay Hybrid Connection Authorization Rule to be created.\n","willReplaceOnChanges":true},"send":{"type":"boolean","description":"Grants send access to this Authorization Rule. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"}},"requiredInputs":["hybridConnectionName","namespaceName","resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering HybridConnectionAuthorizationRule resources.\n","properties":{"hybridConnectionName":{"type":"string","description":"Name of the Azure Relay Hybrid Connection for which this Azure Relay Hybrid Connection Authorization Rule will be created. Changing this forces a new Azure Relay Hybrid Connection Authorization Rule to be created.\n","willReplaceOnChanges":true},"listen":{"type":"boolean","description":"Grants listen access to this Authorization Rule. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"manage":{"type":"boolean","description":"Grants manage access to this Authorization Rule. When this property is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e - both \u003cspan pulumi-lang-nodejs=\"`listen`\" pulumi-lang-dotnet=\"`Listen`\" pulumi-lang-go=\"`listen`\" pulumi-lang-python=\"`listen`\" pulumi-lang-yaml=\"`listen`\" pulumi-lang-java=\"`listen`\"\u003e`listen`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`send`\" pulumi-lang-dotnet=\"`Send`\" pulumi-lang-go=\"`send`\" pulumi-lang-python=\"`send`\" pulumi-lang-yaml=\"`send`\" pulumi-lang-java=\"`send`\"\u003e`send`\u003c/span\u003e must be set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e too. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"name":{"type":"string","description":"The name which should be used for this Azure Relay Hybrid Connection Authorization Rule. Changing this forces a new Azure Relay Hybrid Connection Authorization Rule to be created.\n","willReplaceOnChanges":true},"namespaceName":{"type":"string","description":"Name of the Azure Relay Namespace for which this Azure Relay Hybrid Connection Authorization Rule will be created. Changing this forces a new Azure Relay Hybrid Connection Authorization Rule to be created.\n","willReplaceOnChanges":true},"primaryConnectionString":{"type":"string","description":"The Primary Connection String for the Azure Relay Hybrid Connection Authorization Rule.\n","secret":true},"primaryKey":{"type":"string","description":"The Primary Key for the Azure Relay Hybrid Connection Authorization Rule.\n","secret":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Azure Relay Hybrid Connection Authorization Rule should exist. Changing this forces a new Azure Relay Hybrid Connection Authorization Rule to be created.\n","willReplaceOnChanges":true},"secondaryConnectionString":{"type":"string","description":"The Secondary Connection String for the Azure Relay Hybrid Connection Authorization Rule.\n","secret":true},"secondaryKey":{"type":"string","description":"The Secondary Key for the Azure Relay Hybrid Connection Authorization Rule.\n","secret":true},"send":{"type":"boolean","description":"Grants send access to this Authorization Rule. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"}},"type":"object"}},"azure:relay/namespace:Namespace":{"description":"Manages an Azure Relay Namespace.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleNamespace = new azure.relay.Namespace(\"example\", {\n    name: \"example-relay\",\n    location: example.location,\n    resourceGroupName: example.name,\n    skuName: \"Standard\",\n    tags: {\n        source: \"example\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_namespace = azure.relay.Namespace(\"example\",\n    name=\"example-relay\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku_name=\"Standard\",\n    tags={\n        \"source\": \"example\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleNamespace = new Azure.Relay.Namespace(\"example\", new()\n    {\n        Name = \"example-relay\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        SkuName = \"Standard\",\n        Tags = \n        {\n            { \"source\", \"example\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/relay\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = relay.NewNamespace(ctx, \"example\", \u0026relay.NamespaceArgs{\n\t\t\tName:              pulumi.String(\"example-relay\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSkuName:           pulumi.String(\"Standard\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"source\": pulumi.String(\"example\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.relay.Namespace;\nimport com.pulumi.azure.relay.NamespaceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleNamespace = new Namespace(\"exampleNamespace\", NamespaceArgs.builder()\n            .name(\"example-relay\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .skuName(\"Standard\")\n            .tags(Map.of(\"source\", \"example\"))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleNamespace:\n    type: azure:relay:Namespace\n    name: example\n    properties:\n      name: example-relay\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      skuName: Standard\n      tags:\n        source: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Relay` - 2021-11-01\n\n## Import\n\nAzure Relay Namespace's can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:relay/namespace:Namespace relay1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Relay/namespaces/relay1\n```\n\n","properties":{"location":{"type":"string","description":"Specifies the supported Azure location where the Azure Relay Namespace exists. Changing this forces a new resource to be created.\n"},"metricId":{"type":"string","description":"The Identifier for Azure Insights metrics.\n"},"name":{"type":"string","description":"Specifies the name of the Azure Relay Namespace. Changing this forces a new resource to be created.\n"},"primaryConnectionString":{"type":"string","description":"The primary connection string for the authorization rule `RootManageSharedAccessKey`.\n","secret":true},"primaryKey":{"type":"string","description":"The primary access key for the authorization rule `RootManageSharedAccessKey`.\n","secret":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the Azure Relay Namespace. Changing this forces a new resource to be created.\n"},"secondaryConnectionString":{"type":"string","description":"The secondary connection string for the authorization rule `RootManageSharedAccessKey`.\n","secret":true},"secondaryKey":{"type":"string","description":"The secondary access key for the authorization rule `RootManageSharedAccessKey`.\n","secret":true},"skuName":{"type":"string","description":"The name of the SKU to use. At this time the only supported value is `Standard`.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"required":["location","metricId","name","primaryConnectionString","primaryKey","resourceGroupName","secondaryConnectionString","secondaryKey","skuName"],"inputProperties":{"location":{"type":"string","description":"Specifies the supported Azure location where the Azure Relay Namespace exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the Azure Relay Namespace. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the Azure Relay Namespace. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"skuName":{"type":"string","description":"The name of the SKU to use. At this time the only supported value is `Standard`.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"requiredInputs":["resourceGroupName","skuName"],"stateInputs":{"description":"Input properties used for looking up and filtering Namespace resources.\n","properties":{"location":{"type":"string","description":"Specifies the supported Azure location where the Azure Relay Namespace exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"metricId":{"type":"string","description":"The Identifier for Azure Insights metrics.\n"},"name":{"type":"string","description":"Specifies the name of the Azure Relay Namespace. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"primaryConnectionString":{"type":"string","description":"The primary connection string for the authorization rule `RootManageSharedAccessKey`.\n","secret":true},"primaryKey":{"type":"string","description":"The primary access key for the authorization rule `RootManageSharedAccessKey`.\n","secret":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the Azure Relay Namespace. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"secondaryConnectionString":{"type":"string","description":"The secondary connection string for the authorization rule `RootManageSharedAccessKey`.\n","secret":true},"secondaryKey":{"type":"string","description":"The secondary access key for the authorization rule `RootManageSharedAccessKey`.\n","secret":true},"skuName":{"type":"string","description":"The name of the SKU to use. At this time the only supported value is `Standard`.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"type":"object"}},"azure:relay/namespaceAuthorizationRule:NamespaceAuthorizationRule":{"description":"Manages an Azure Relay Namespace Authorization Rule.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleNamespace = new azure.relay.Namespace(\"example\", {\n    name: \"example-relay\",\n    location: example.location,\n    resourceGroupName: example.name,\n    skuName: \"Standard\",\n    tags: {\n        source: \"terraform\",\n    },\n});\nconst exampleNamespaceAuthorizationRule = new azure.relay.NamespaceAuthorizationRule(\"example\", {\n    name: \"example\",\n    resourceGroupName: example.name,\n    namespaceName: exampleNamespace.name,\n    listen: true,\n    send: true,\n    manage: false,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_namespace = azure.relay.Namespace(\"example\",\n    name=\"example-relay\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku_name=\"Standard\",\n    tags={\n        \"source\": \"terraform\",\n    })\nexample_namespace_authorization_rule = azure.relay.NamespaceAuthorizationRule(\"example\",\n    name=\"example\",\n    resource_group_name=example.name,\n    namespace_name=example_namespace.name,\n    listen=True,\n    send=True,\n    manage=False)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleNamespace = new Azure.Relay.Namespace(\"example\", new()\n    {\n        Name = \"example-relay\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        SkuName = \"Standard\",\n        Tags = \n        {\n            { \"source\", \"terraform\" },\n        },\n    });\n\n    var exampleNamespaceAuthorizationRule = new Azure.Relay.NamespaceAuthorizationRule(\"example\", new()\n    {\n        Name = \"example\",\n        ResourceGroupName = example.Name,\n        NamespaceName = exampleNamespace.Name,\n        Listen = true,\n        Send = true,\n        Manage = false,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/relay\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNamespace, err := relay.NewNamespace(ctx, \"example\", \u0026relay.NamespaceArgs{\n\t\t\tName:              pulumi.String(\"example-relay\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSkuName:           pulumi.String(\"Standard\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"source\": pulumi.String(\"terraform\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = relay.NewNamespaceAuthorizationRule(ctx, \"example\", \u0026relay.NamespaceAuthorizationRuleArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tNamespaceName:     exampleNamespace.Name,\n\t\t\tListen:            pulumi.Bool(true),\n\t\t\tSend:              pulumi.Bool(true),\n\t\t\tManage:            pulumi.Bool(false),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.relay.Namespace;\nimport com.pulumi.azure.relay.NamespaceArgs;\nimport com.pulumi.azure.relay.NamespaceAuthorizationRule;\nimport com.pulumi.azure.relay.NamespaceAuthorizationRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleNamespace = new Namespace(\"exampleNamespace\", NamespaceArgs.builder()\n            .name(\"example-relay\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .skuName(\"Standard\")\n            .tags(Map.of(\"source\", \"terraform\"))\n            .build());\n\n        var exampleNamespaceAuthorizationRule = new NamespaceAuthorizationRule(\"exampleNamespaceAuthorizationRule\", NamespaceAuthorizationRuleArgs.builder()\n            .name(\"example\")\n            .resourceGroupName(example.name())\n            .namespaceName(exampleNamespace.name())\n            .listen(true)\n            .send(true)\n            .manage(false)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleNamespace:\n    type: azure:relay:Namespace\n    name: example\n    properties:\n      name: example-relay\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      skuName: Standard\n      tags:\n        source: terraform\n  exampleNamespaceAuthorizationRule:\n    type: azure:relay:NamespaceAuthorizationRule\n    name: example\n    properties:\n      name: example\n      resourceGroupName: ${example.name}\n      namespaceName: ${exampleNamespace.name}\n      listen: true\n      send: true\n      manage: false\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Relay` - 2021-11-01\n\n## Import\n\nAzure Relay Namespace Authorization Rules can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:relay/namespaceAuthorizationRule:NamespaceAuthorizationRule example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Relay/namespaces/namespace1/authorizationRules/rule1\n```\n\n","properties":{"listen":{"type":"boolean","description":"Grants listen access to this Authorization Rule. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"manage":{"type":"boolean","description":"Grants manage access to this Authorization Rule. When this property is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e - both \u003cspan pulumi-lang-nodejs=\"`listen`\" pulumi-lang-dotnet=\"`Listen`\" pulumi-lang-go=\"`listen`\" pulumi-lang-python=\"`listen`\" pulumi-lang-yaml=\"`listen`\" pulumi-lang-java=\"`listen`\"\u003e`listen`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`send`\" pulumi-lang-dotnet=\"`Send`\" pulumi-lang-go=\"`send`\" pulumi-lang-python=\"`send`\" pulumi-lang-yaml=\"`send`\" pulumi-lang-java=\"`send`\"\u003e`send`\u003c/span\u003e must be set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e too. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"name":{"type":"string","description":"The name which should be used for this Azure Relay Namespace Authorization Rule. Changing this forces a new Azure Relay Namespace Authorization Rule to be created.\n"},"namespaceName":{"type":"string","description":"Name of the Azure Relay Namespace for which this Azure Relay Namespace Authorization Rule will be created. Changing this forces a new Azure Relay Namespace Authorization Rule to be created.\n"},"primaryConnectionString":{"type":"string","description":"The Primary Connection String for the Azure Relay Namespace Authorization Rule.\n","secret":true},"primaryKey":{"type":"string","description":"The Primary Key for the Azure Relay Namespace Authorization Rule.\n","secret":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Azure Relay Namespace Authorization Rule should exist. Changing this forces a new Azure Relay Namespace Authorization Rule to be created.\n"},"secondaryConnectionString":{"type":"string","description":"The Secondary Connection String for the Azure Relay Namespace Authorization Rule.\n","secret":true},"secondaryKey":{"type":"string","description":"The Secondary Key for the Azure Relay Namespace Authorization Rule.\n","secret":true},"send":{"type":"boolean","description":"Grants send access to this Authorization Rule. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"}},"required":["name","namespaceName","primaryConnectionString","primaryKey","resourceGroupName","secondaryConnectionString","secondaryKey"],"inputProperties":{"listen":{"type":"boolean","description":"Grants listen access to this Authorization Rule. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"manage":{"type":"boolean","description":"Grants manage access to this Authorization Rule. When this property is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e - both \u003cspan pulumi-lang-nodejs=\"`listen`\" pulumi-lang-dotnet=\"`Listen`\" pulumi-lang-go=\"`listen`\" pulumi-lang-python=\"`listen`\" pulumi-lang-yaml=\"`listen`\" pulumi-lang-java=\"`listen`\"\u003e`listen`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`send`\" pulumi-lang-dotnet=\"`Send`\" pulumi-lang-go=\"`send`\" pulumi-lang-python=\"`send`\" pulumi-lang-yaml=\"`send`\" pulumi-lang-java=\"`send`\"\u003e`send`\u003c/span\u003e must be set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e too. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"name":{"type":"string","description":"The name which should be used for this Azure Relay Namespace Authorization Rule. Changing this forces a new Azure Relay Namespace Authorization Rule to be created.\n","willReplaceOnChanges":true},"namespaceName":{"type":"string","description":"Name of the Azure Relay Namespace for which this Azure Relay Namespace Authorization Rule will be created. Changing this forces a new Azure Relay Namespace Authorization Rule to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Azure Relay Namespace Authorization Rule should exist. Changing this forces a new Azure Relay Namespace Authorization Rule to be created.\n","willReplaceOnChanges":true},"send":{"type":"boolean","description":"Grants send access to this Authorization Rule. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"}},"requiredInputs":["namespaceName","resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering NamespaceAuthorizationRule resources.\n","properties":{"listen":{"type":"boolean","description":"Grants listen access to this Authorization Rule. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"manage":{"type":"boolean","description":"Grants manage access to this Authorization Rule. When this property is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e - both \u003cspan pulumi-lang-nodejs=\"`listen`\" pulumi-lang-dotnet=\"`Listen`\" pulumi-lang-go=\"`listen`\" pulumi-lang-python=\"`listen`\" pulumi-lang-yaml=\"`listen`\" pulumi-lang-java=\"`listen`\"\u003e`listen`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`send`\" pulumi-lang-dotnet=\"`Send`\" pulumi-lang-go=\"`send`\" pulumi-lang-python=\"`send`\" pulumi-lang-yaml=\"`send`\" pulumi-lang-java=\"`send`\"\u003e`send`\u003c/span\u003e must be set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e too. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"name":{"type":"string","description":"The name which should be used for this Azure Relay Namespace Authorization Rule. Changing this forces a new Azure Relay Namespace Authorization Rule to be created.\n","willReplaceOnChanges":true},"namespaceName":{"type":"string","description":"Name of the Azure Relay Namespace for which this Azure Relay Namespace Authorization Rule will be created. Changing this forces a new Azure Relay Namespace Authorization Rule to be created.\n","willReplaceOnChanges":true},"primaryConnectionString":{"type":"string","description":"The Primary Connection String for the Azure Relay Namespace Authorization Rule.\n","secret":true},"primaryKey":{"type":"string","description":"The Primary Key for the Azure Relay Namespace Authorization Rule.\n","secret":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Azure Relay Namespace Authorization Rule should exist. Changing this forces a new Azure Relay Namespace Authorization Rule to be created.\n","willReplaceOnChanges":true},"secondaryConnectionString":{"type":"string","description":"The Secondary Connection String for the Azure Relay Namespace Authorization Rule.\n","secret":true},"secondaryKey":{"type":"string","description":"The Secondary Key for the Azure Relay Namespace Authorization Rule.\n","secret":true},"send":{"type":"boolean","description":"Grants send access to this Authorization Rule. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"}},"type":"object"}},"azure:role/assignment:Assignment":{"description":"Assigns a given Principal (User or Group) to a given Role.\n\n## Example Usage\n\n### Using A Built-In Role)\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst primary = azure.core.getSubscription({});\nconst example = azure.core.getClientConfig({});\nconst exampleAssignment = new azure.authorization.Assignment(\"example\", {\n    scope: primary.then(primary =\u003e primary.id),\n    roleDefinitionName: \"Reader\",\n    principalId: example.then(example =\u003e example.objectId),\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nprimary = azure.core.get_subscription()\nexample = azure.core.get_client_config()\nexample_assignment = azure.authorization.Assignment(\"example\",\n    scope=primary.id,\n    role_definition_name=\"Reader\",\n    principal_id=example.object_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var primary = Azure.Core.GetSubscription.Invoke();\n\n    var example = Azure.Core.GetClientConfig.Invoke();\n\n    var exampleAssignment = new Azure.Authorization.Assignment(\"example\", new()\n    {\n        Scope = primary.Apply(getSubscriptionResult =\u003e getSubscriptionResult.Id),\n        RoleDefinitionName = \"Reader\",\n        PrincipalId = example.Apply(getClientConfigResult =\u003e getClientConfigResult.ObjectId),\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/authorization\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tprimary, err := core.LookupSubscription(ctx, \u0026core.LookupSubscriptionArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := core.GetClientConfig(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = authorization.NewAssignment(ctx, \"example\", \u0026authorization.AssignmentArgs{\n\t\t\tScope:              pulumi.String(primary.Id),\n\t\t\tRoleDefinitionName: pulumi.String(\"Reader\"),\n\t\t\tPrincipalId:        pulumi.String(example.ObjectId),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.core.inputs.GetSubscriptionArgs;\nimport com.pulumi.azure.authorization.Assignment;\nimport com.pulumi.azure.authorization.AssignmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var primary = CoreFunctions.getSubscription(GetSubscriptionArgs.builder()\n            .build());\n\n        final var example = CoreFunctions.getClientConfig(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n        var exampleAssignment = new Assignment(\"exampleAssignment\", AssignmentArgs.builder()\n            .scope(primary.id())\n            .roleDefinitionName(\"Reader\")\n            .principalId(example.objectId())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleAssignment:\n    type: azure:authorization:Assignment\n    name: example\n    properties:\n      scope: ${primary.id}\n      roleDefinitionName: Reader\n      principalId: ${example.objectId}\nvariables:\n  primary:\n    fn::invoke:\n      function: azure:core:getSubscription\n      arguments: {}\n  example:\n    fn::invoke:\n      function: azure:core:getClientConfig\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\n### Custom Role \u0026 Service Principal)\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst primary = azure.core.getSubscription({});\nconst example = azure.core.getClientConfig({});\nconst exampleRoleDefinition = new azure.authorization.RoleDefinition(\"example\", {\n    roleDefinitionId: \"00000000-0000-0000-0000-000000000000\",\n    name: \"my-custom-role-definition\",\n    scope: primary.then(primary =\u003e primary.id),\n    permissions: [{\n        actions: [\"Microsoft.Resources/subscriptions/resourceGroups/read\"],\n        notActions: [],\n    }],\n    assignableScopes: [primary.then(primary =\u003e primary.id)],\n});\nconst exampleAssignment = new azure.authorization.Assignment(\"example\", {\n    name: \"00000000-0000-0000-0000-000000000000\",\n    scope: primary.then(primary =\u003e primary.id),\n    roleDefinitionId: exampleRoleDefinition.roleDefinitionResourceId,\n    principalId: example.then(example =\u003e example.objectId),\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nprimary = azure.core.get_subscription()\nexample = azure.core.get_client_config()\nexample_role_definition = azure.authorization.RoleDefinition(\"example\",\n    role_definition_id=\"00000000-0000-0000-0000-000000000000\",\n    name=\"my-custom-role-definition\",\n    scope=primary.id,\n    permissions=[{\n        \"actions\": [\"Microsoft.Resources/subscriptions/resourceGroups/read\"],\n        \"not_actions\": [],\n    }],\n    assignable_scopes=[primary.id])\nexample_assignment = azure.authorization.Assignment(\"example\",\n    name=\"00000000-0000-0000-0000-000000000000\",\n    scope=primary.id,\n    role_definition_id=example_role_definition.role_definition_resource_id,\n    principal_id=example.object_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var primary = Azure.Core.GetSubscription.Invoke();\n\n    var example = Azure.Core.GetClientConfig.Invoke();\n\n    var exampleRoleDefinition = new Azure.Authorization.RoleDefinition(\"example\", new()\n    {\n        RoleDefinitionId = \"00000000-0000-0000-0000-000000000000\",\n        Name = \"my-custom-role-definition\",\n        Scope = primary.Apply(getSubscriptionResult =\u003e getSubscriptionResult.Id),\n        Permissions = new[]\n        {\n            new Azure.Authorization.Inputs.RoleDefinitionPermissionArgs\n            {\n                Actions = new[]\n                {\n                    \"Microsoft.Resources/subscriptions/resourceGroups/read\",\n                },\n                NotActions = new() { },\n            },\n        },\n        AssignableScopes = new[]\n        {\n            primary.Apply(getSubscriptionResult =\u003e getSubscriptionResult.Id),\n        },\n    });\n\n    var exampleAssignment = new Azure.Authorization.Assignment(\"example\", new()\n    {\n        Name = \"00000000-0000-0000-0000-000000000000\",\n        Scope = primary.Apply(getSubscriptionResult =\u003e getSubscriptionResult.Id),\n        RoleDefinitionId = exampleRoleDefinition.RoleDefinitionResourceId,\n        PrincipalId = example.Apply(getClientConfigResult =\u003e getClientConfigResult.ObjectId),\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/authorization\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tprimary, err := core.LookupSubscription(ctx, \u0026core.LookupSubscriptionArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := core.GetClientConfig(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleRoleDefinition, err := authorization.NewRoleDefinition(ctx, \"example\", \u0026authorization.RoleDefinitionArgs{\n\t\t\tRoleDefinitionId: pulumi.String(\"00000000-0000-0000-0000-000000000000\"),\n\t\t\tName:             pulumi.String(\"my-custom-role-definition\"),\n\t\t\tScope:            pulumi.String(primary.Id),\n\t\t\tPermissions: authorization.RoleDefinitionPermissionArray{\n\t\t\t\t\u0026authorization.RoleDefinitionPermissionArgs{\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"Microsoft.Resources/subscriptions/resourceGroups/read\"),\n\t\t\t\t\t},\n\t\t\t\t\tNotActions: pulumi.StringArray{},\n\t\t\t\t},\n\t\t\t},\n\t\t\tAssignableScopes: pulumi.StringArray{\n\t\t\t\tpulumi.String(primary.Id),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = authorization.NewAssignment(ctx, \"example\", \u0026authorization.AssignmentArgs{\n\t\t\tName:             pulumi.String(\"00000000-0000-0000-0000-000000000000\"),\n\t\t\tScope:            pulumi.String(primary.Id),\n\t\t\tRoleDefinitionId: exampleRoleDefinition.RoleDefinitionResourceId,\n\t\t\tPrincipalId:      pulumi.String(example.ObjectId),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.core.inputs.GetSubscriptionArgs;\nimport com.pulumi.azure.authorization.RoleDefinition;\nimport com.pulumi.azure.authorization.RoleDefinitionArgs;\nimport com.pulumi.azure.authorization.inputs.RoleDefinitionPermissionArgs;\nimport com.pulumi.azure.authorization.Assignment;\nimport com.pulumi.azure.authorization.AssignmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var primary = CoreFunctions.getSubscription(GetSubscriptionArgs.builder()\n            .build());\n\n        final var example = CoreFunctions.getClientConfig(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n        var exampleRoleDefinition = new RoleDefinition(\"exampleRoleDefinition\", RoleDefinitionArgs.builder()\n            .roleDefinitionId(\"00000000-0000-0000-0000-000000000000\")\n            .name(\"my-custom-role-definition\")\n            .scope(primary.id())\n            .permissions(RoleDefinitionPermissionArgs.builder()\n                .actions(\"Microsoft.Resources/subscriptions/resourceGroups/read\")\n                .notActions()\n                .build())\n            .assignableScopes(primary.id())\n            .build());\n\n        var exampleAssignment = new Assignment(\"exampleAssignment\", AssignmentArgs.builder()\n            .name(\"00000000-0000-0000-0000-000000000000\")\n            .scope(primary.id())\n            .roleDefinitionId(exampleRoleDefinition.roleDefinitionResourceId())\n            .principalId(example.objectId())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleRoleDefinition:\n    type: azure:authorization:RoleDefinition\n    name: example\n    properties:\n      roleDefinitionId: 00000000-0000-0000-0000-000000000000\n      name: my-custom-role-definition\n      scope: ${primary.id}\n      permissions:\n        - actions:\n            - Microsoft.Resources/subscriptions/resourceGroups/read\n          notActions: []\n      assignableScopes:\n        - ${primary.id}\n  exampleAssignment:\n    type: azure:authorization:Assignment\n    name: example\n    properties:\n      name: 00000000-0000-0000-0000-000000000000\n      scope: ${primary.id}\n      roleDefinitionId: ${exampleRoleDefinition.roleDefinitionResourceId}\n      principalId: ${example.objectId}\nvariables:\n  primary:\n    fn::invoke:\n      function: azure:core:getSubscription\n      arguments: {}\n  example:\n    fn::invoke:\n      function: azure:core:getClientConfig\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\n### Custom Role \u0026 User)\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst primary = azure.core.getSubscription({});\nconst example = azure.core.getClientConfig({});\nconst exampleRoleDefinition = new azure.authorization.RoleDefinition(\"example\", {\n    roleDefinitionId: \"00000000-0000-0000-0000-000000000000\",\n    name: \"my-custom-role-definition\",\n    scope: primary.then(primary =\u003e primary.id),\n    permissions: [{\n        actions: [\"Microsoft.Resources/subscriptions/resourceGroups/read\"],\n        notActions: [],\n    }],\n    assignableScopes: [primary.then(primary =\u003e primary.id)],\n});\nconst exampleAssignment = new azure.authorization.Assignment(\"example\", {\n    name: \"00000000-0000-0000-0000-000000000000\",\n    scope: primary.then(primary =\u003e primary.id),\n    roleDefinitionId: exampleRoleDefinition.roleDefinitionResourceId,\n    principalId: example.then(example =\u003e example.objectId),\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nprimary = azure.core.get_subscription()\nexample = azure.core.get_client_config()\nexample_role_definition = azure.authorization.RoleDefinition(\"example\",\n    role_definition_id=\"00000000-0000-0000-0000-000000000000\",\n    name=\"my-custom-role-definition\",\n    scope=primary.id,\n    permissions=[{\n        \"actions\": [\"Microsoft.Resources/subscriptions/resourceGroups/read\"],\n        \"not_actions\": [],\n    }],\n    assignable_scopes=[primary.id])\nexample_assignment = azure.authorization.Assignment(\"example\",\n    name=\"00000000-0000-0000-0000-000000000000\",\n    scope=primary.id,\n    role_definition_id=example_role_definition.role_definition_resource_id,\n    principal_id=example.object_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var primary = Azure.Core.GetSubscription.Invoke();\n\n    var example = Azure.Core.GetClientConfig.Invoke();\n\n    var exampleRoleDefinition = new Azure.Authorization.RoleDefinition(\"example\", new()\n    {\n        RoleDefinitionId = \"00000000-0000-0000-0000-000000000000\",\n        Name = \"my-custom-role-definition\",\n        Scope = primary.Apply(getSubscriptionResult =\u003e getSubscriptionResult.Id),\n        Permissions = new[]\n        {\n            new Azure.Authorization.Inputs.RoleDefinitionPermissionArgs\n            {\n                Actions = new[]\n                {\n                    \"Microsoft.Resources/subscriptions/resourceGroups/read\",\n                },\n                NotActions = new() { },\n            },\n        },\n        AssignableScopes = new[]\n        {\n            primary.Apply(getSubscriptionResult =\u003e getSubscriptionResult.Id),\n        },\n    });\n\n    var exampleAssignment = new Azure.Authorization.Assignment(\"example\", new()\n    {\n        Name = \"00000000-0000-0000-0000-000000000000\",\n        Scope = primary.Apply(getSubscriptionResult =\u003e getSubscriptionResult.Id),\n        RoleDefinitionId = exampleRoleDefinition.RoleDefinitionResourceId,\n        PrincipalId = example.Apply(getClientConfigResult =\u003e getClientConfigResult.ObjectId),\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/authorization\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tprimary, err := core.LookupSubscription(ctx, \u0026core.LookupSubscriptionArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := core.GetClientConfig(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleRoleDefinition, err := authorization.NewRoleDefinition(ctx, \"example\", \u0026authorization.RoleDefinitionArgs{\n\t\t\tRoleDefinitionId: pulumi.String(\"00000000-0000-0000-0000-000000000000\"),\n\t\t\tName:             pulumi.String(\"my-custom-role-definition\"),\n\t\t\tScope:            pulumi.String(primary.Id),\n\t\t\tPermissions: authorization.RoleDefinitionPermissionArray{\n\t\t\t\t\u0026authorization.RoleDefinitionPermissionArgs{\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"Microsoft.Resources/subscriptions/resourceGroups/read\"),\n\t\t\t\t\t},\n\t\t\t\t\tNotActions: pulumi.StringArray{},\n\t\t\t\t},\n\t\t\t},\n\t\t\tAssignableScopes: pulumi.StringArray{\n\t\t\t\tpulumi.String(primary.Id),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = authorization.NewAssignment(ctx, \"example\", \u0026authorization.AssignmentArgs{\n\t\t\tName:             pulumi.String(\"00000000-0000-0000-0000-000000000000\"),\n\t\t\tScope:            pulumi.String(primary.Id),\n\t\t\tRoleDefinitionId: exampleRoleDefinition.RoleDefinitionResourceId,\n\t\t\tPrincipalId:      pulumi.String(example.ObjectId),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.core.inputs.GetSubscriptionArgs;\nimport com.pulumi.azure.authorization.RoleDefinition;\nimport com.pulumi.azure.authorization.RoleDefinitionArgs;\nimport com.pulumi.azure.authorization.inputs.RoleDefinitionPermissionArgs;\nimport com.pulumi.azure.authorization.Assignment;\nimport com.pulumi.azure.authorization.AssignmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var primary = CoreFunctions.getSubscription(GetSubscriptionArgs.builder()\n            .build());\n\n        final var example = CoreFunctions.getClientConfig(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n        var exampleRoleDefinition = new RoleDefinition(\"exampleRoleDefinition\", RoleDefinitionArgs.builder()\n            .roleDefinitionId(\"00000000-0000-0000-0000-000000000000\")\n            .name(\"my-custom-role-definition\")\n            .scope(primary.id())\n            .permissions(RoleDefinitionPermissionArgs.builder()\n                .actions(\"Microsoft.Resources/subscriptions/resourceGroups/read\")\n                .notActions()\n                .build())\n            .assignableScopes(primary.id())\n            .build());\n\n        var exampleAssignment = new Assignment(\"exampleAssignment\", AssignmentArgs.builder()\n            .name(\"00000000-0000-0000-0000-000000000000\")\n            .scope(primary.id())\n            .roleDefinitionId(exampleRoleDefinition.roleDefinitionResourceId())\n            .principalId(example.objectId())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleRoleDefinition:\n    type: azure:authorization:RoleDefinition\n    name: example\n    properties:\n      roleDefinitionId: 00000000-0000-0000-0000-000000000000\n      name: my-custom-role-definition\n      scope: ${primary.id}\n      permissions:\n        - actions:\n            - Microsoft.Resources/subscriptions/resourceGroups/read\n          notActions: []\n      assignableScopes:\n        - ${primary.id}\n  exampleAssignment:\n    type: azure:authorization:Assignment\n    name: example\n    properties:\n      name: 00000000-0000-0000-0000-000000000000\n      scope: ${primary.id}\n      roleDefinitionId: ${exampleRoleDefinition.roleDefinitionResourceId}\n      principalId: ${example.objectId}\nvariables:\n  primary:\n    fn::invoke:\n      function: azure:core:getSubscription\n      arguments: {}\n  example:\n    fn::invoke:\n      function: azure:core:getClientConfig\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\n### Custom Role \u0026 Management Group)\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst primary = azure.core.getSubscription({});\nconst example = azure.core.getClientConfig({});\nconst exampleGetGroup = azure.management.getGroup({\n    name: \"00000000-0000-0000-0000-000000000000\",\n});\nconst exampleRoleDefinition = new azure.authorization.RoleDefinition(\"example\", {\n    roleDefinitionId: \"00000000-0000-0000-0000-000000000000\",\n    name: \"my-custom-role-definition\",\n    scope: primary.then(primary =\u003e primary.id),\n    permissions: [{\n        actions: [\"Microsoft.Resources/subscriptions/resourceGroups/read\"],\n        notActions: [],\n    }],\n    assignableScopes: [primary.then(primary =\u003e primary.id)],\n});\nconst exampleAssignment = new azure.authorization.Assignment(\"example\", {\n    name: \"00000000-0000-0000-0000-000000000000\",\n    scope: primaryAzurermManagementGroup.id,\n    roleDefinitionId: exampleRoleDefinition.roleDefinitionResourceId,\n    principalId: example.then(example =\u003e example.objectId),\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nprimary = azure.core.get_subscription()\nexample = azure.core.get_client_config()\nexample_get_group = azure.management.get_group(name=\"00000000-0000-0000-0000-000000000000\")\nexample_role_definition = azure.authorization.RoleDefinition(\"example\",\n    role_definition_id=\"00000000-0000-0000-0000-000000000000\",\n    name=\"my-custom-role-definition\",\n    scope=primary.id,\n    permissions=[{\n        \"actions\": [\"Microsoft.Resources/subscriptions/resourceGroups/read\"],\n        \"not_actions\": [],\n    }],\n    assignable_scopes=[primary.id])\nexample_assignment = azure.authorization.Assignment(\"example\",\n    name=\"00000000-0000-0000-0000-000000000000\",\n    scope=primary_azurerm_management_group[\"id\"],\n    role_definition_id=example_role_definition.role_definition_resource_id,\n    principal_id=example.object_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var primary = Azure.Core.GetSubscription.Invoke();\n\n    var example = Azure.Core.GetClientConfig.Invoke();\n\n    var exampleGetGroup = Azure.Management.GetGroup.Invoke(new()\n    {\n        Name = \"00000000-0000-0000-0000-000000000000\",\n    });\n\n    var exampleRoleDefinition = new Azure.Authorization.RoleDefinition(\"example\", new()\n    {\n        RoleDefinitionId = \"00000000-0000-0000-0000-000000000000\",\n        Name = \"my-custom-role-definition\",\n        Scope = primary.Apply(getSubscriptionResult =\u003e getSubscriptionResult.Id),\n        Permissions = new[]\n        {\n            new Azure.Authorization.Inputs.RoleDefinitionPermissionArgs\n            {\n                Actions = new[]\n                {\n                    \"Microsoft.Resources/subscriptions/resourceGroups/read\",\n                },\n                NotActions = new() { },\n            },\n        },\n        AssignableScopes = new[]\n        {\n            primary.Apply(getSubscriptionResult =\u003e getSubscriptionResult.Id),\n        },\n    });\n\n    var exampleAssignment = new Azure.Authorization.Assignment(\"example\", new()\n    {\n        Name = \"00000000-0000-0000-0000-000000000000\",\n        Scope = primaryAzurermManagementGroup.Id,\n        RoleDefinitionId = exampleRoleDefinition.RoleDefinitionResourceId,\n        PrincipalId = example.Apply(getClientConfigResult =\u003e getClientConfigResult.ObjectId),\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/authorization\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/management\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tprimary, err := core.LookupSubscription(ctx, \u0026core.LookupSubscriptionArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := core.GetClientConfig(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = management.LookupGroup(ctx, \u0026management.LookupGroupArgs{\n\t\t\tName: pulumi.StringRef(\"00000000-0000-0000-0000-000000000000\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleRoleDefinition, err := authorization.NewRoleDefinition(ctx, \"example\", \u0026authorization.RoleDefinitionArgs{\n\t\t\tRoleDefinitionId: pulumi.String(\"00000000-0000-0000-0000-000000000000\"),\n\t\t\tName:             pulumi.String(\"my-custom-role-definition\"),\n\t\t\tScope:            pulumi.String(primary.Id),\n\t\t\tPermissions: authorization.RoleDefinitionPermissionArray{\n\t\t\t\t\u0026authorization.RoleDefinitionPermissionArgs{\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"Microsoft.Resources/subscriptions/resourceGroups/read\"),\n\t\t\t\t\t},\n\t\t\t\t\tNotActions: pulumi.StringArray{},\n\t\t\t\t},\n\t\t\t},\n\t\t\tAssignableScopes: pulumi.StringArray{\n\t\t\t\tpulumi.String(primary.Id),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = authorization.NewAssignment(ctx, \"example\", \u0026authorization.AssignmentArgs{\n\t\t\tName:             pulumi.String(\"00000000-0000-0000-0000-000000000000\"),\n\t\t\tScope:            pulumi.Any(primaryAzurermManagementGroup.Id),\n\t\t\tRoleDefinitionId: exampleRoleDefinition.RoleDefinitionResourceId,\n\t\t\tPrincipalId:      pulumi.String(example.ObjectId),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.core.inputs.GetSubscriptionArgs;\nimport com.pulumi.azure.management.ManagementFunctions;\nimport com.pulumi.azure.management.inputs.GetGroupArgs;\nimport com.pulumi.azure.authorization.RoleDefinition;\nimport com.pulumi.azure.authorization.RoleDefinitionArgs;\nimport com.pulumi.azure.authorization.inputs.RoleDefinitionPermissionArgs;\nimport com.pulumi.azure.authorization.Assignment;\nimport com.pulumi.azure.authorization.AssignmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var primary = CoreFunctions.getSubscription(GetSubscriptionArgs.builder()\n            .build());\n\n        final var example = CoreFunctions.getClientConfig(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n        final var exampleGetGroup = ManagementFunctions.getGroup(GetGroupArgs.builder()\n            .name(\"00000000-0000-0000-0000-000000000000\")\n            .build());\n\n        var exampleRoleDefinition = new RoleDefinition(\"exampleRoleDefinition\", RoleDefinitionArgs.builder()\n            .roleDefinitionId(\"00000000-0000-0000-0000-000000000000\")\n            .name(\"my-custom-role-definition\")\n            .scope(primary.id())\n            .permissions(RoleDefinitionPermissionArgs.builder()\n                .actions(\"Microsoft.Resources/subscriptions/resourceGroups/read\")\n                .notActions()\n                .build())\n            .assignableScopes(primary.id())\n            .build());\n\n        var exampleAssignment = new Assignment(\"exampleAssignment\", AssignmentArgs.builder()\n            .name(\"00000000-0000-0000-0000-000000000000\")\n            .scope(primaryAzurermManagementGroup.id())\n            .roleDefinitionId(exampleRoleDefinition.roleDefinitionResourceId())\n            .principalId(example.objectId())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleRoleDefinition:\n    type: azure:authorization:RoleDefinition\n    name: example\n    properties:\n      roleDefinitionId: 00000000-0000-0000-0000-000000000000\n      name: my-custom-role-definition\n      scope: ${primary.id}\n      permissions:\n        - actions:\n            - Microsoft.Resources/subscriptions/resourceGroups/read\n          notActions: []\n      assignableScopes:\n        - ${primary.id}\n  exampleAssignment:\n    type: azure:authorization:Assignment\n    name: example\n    properties:\n      name: 00000000-0000-0000-0000-000000000000\n      scope: ${primaryAzurermManagementGroup.id}\n      roleDefinitionId: ${exampleRoleDefinition.roleDefinitionResourceId}\n      principalId: ${example.objectId}\nvariables:\n  primary:\n    fn::invoke:\n      function: azure:core:getSubscription\n      arguments: {}\n  example:\n    fn::invoke:\n      function: azure:core:getClientConfig\n      arguments: {}\n  exampleGetGroup:\n    fn::invoke:\n      function: azure:management:getGroup\n      arguments:\n        name: 00000000-0000-0000-0000-000000000000\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\n### ABAC Condition)\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\nimport * as std from \"@pulumi/std\";\n\nconst primary = azure.core.getSubscription({});\nconst example = azure.core.getClientConfig({});\nconst builtin = azure.authorization.getRoleDefinition({\n    name: \"Reader\",\n});\nconst exampleAssignment = new azure.authorization.Assignment(\"example\", {\n    roleDefinitionName: \"Role Based Access Control Administrator\",\n    scope: primary.then(primary =\u003e primary.id),\n    principalId: example.then(example =\u003e example.objectId),\n    principalType: \"ServicePrincipal\",\n    description: \"Role Based Access Control Administrator role assignment with ABAC Condition.\",\n    conditionVersion: \"2.0\",\n    condition: Promise.all([builtin.then(builtin =\u003e std.basename({\n        input: builtin.roleDefinitionId,\n    })), builtin.then(builtin =\u003e std.basename({\n        input: builtin.roleDefinitionId,\n    }))]).then(([invoke, invoke1]) =\u003e `(\n (\n  !(ActionMatches{'Microsoft.Authorization/roleAssignments/write'})\n )\n OR\n (\n  @Request[Microsoft.Authorization/roleAssignments:RoleDefinitionId] ForAnyOfAnyValues:GuidEquals {${invoke.result}}\n )\n)\nAND\n(\n (\n  !(ActionMatches{'Microsoft.Authorization/roleAssignments/delete'})\n )\n OR\n (\n  @Resource[Microsoft.Authorization/roleAssignments:RoleDefinitionId] ForAnyOfAnyValues:GuidEquals {${invoke1.result}}\n )\n)\n`),\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\nimport pulumi_std as std\n\nprimary = azure.core.get_subscription()\nexample = azure.core.get_client_config()\nbuiltin = azure.authorization.get_role_definition(name=\"Reader\")\nexample_assignment = azure.authorization.Assignment(\"example\",\n    role_definition_name=\"Role Based Access Control Administrator\",\n    scope=primary.id,\n    principal_id=example.object_id,\n    principal_type=\"ServicePrincipal\",\n    description=\"Role Based Access Control Administrator role assignment with ABAC Condition.\",\n    condition_version=\"2.0\",\n    condition=f\"\"\"(\n (\n  !(ActionMatches{{'Microsoft.Authorization/roleAssignments/write'}})\n )\n OR\n (\n  @Request[Microsoft.Authorization/roleAssignments:RoleDefinitionId] ForAnyOfAnyValues:GuidEquals {{{std.basename(input=builtin.role_definition_id).result}}}\n )\n)\nAND\n(\n (\n  !(ActionMatches{{'Microsoft.Authorization/roleAssignments/delete'}})\n )\n OR\n (\n  @Resource[Microsoft.Authorization/roleAssignments:RoleDefinitionId] ForAnyOfAnyValues:GuidEquals {{{std.basename(input=builtin.role_definition_id).result}}}\n )\n)\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var primary = Azure.Core.GetSubscription.Invoke();\n\n    var example = Azure.Core.GetClientConfig.Invoke();\n\n    var builtin = Azure.Authorization.GetRoleDefinition.Invoke(new()\n    {\n        Name = \"Reader\",\n    });\n\n    var exampleAssignment = new Azure.Authorization.Assignment(\"example\", new()\n    {\n        RoleDefinitionName = \"Role Based Access Control Administrator\",\n        Scope = primary.Apply(getSubscriptionResult =\u003e getSubscriptionResult.Id),\n        PrincipalId = example.Apply(getClientConfigResult =\u003e getClientConfigResult.ObjectId),\n        PrincipalType = \"ServicePrincipal\",\n        Description = \"Role Based Access Control Administrator role assignment with ABAC Condition.\",\n        ConditionVersion = \"2.0\",\n        Condition = Output.Tuple(Std.Basename.Invoke(new()\n        {\n            Input = builtin.Apply(getRoleDefinitionResult =\u003e getRoleDefinitionResult.RoleDefinitionId),\n        }), Std.Basename.Invoke(new()\n        {\n            Input = builtin.Apply(getRoleDefinitionResult =\u003e getRoleDefinitionResult.RoleDefinitionId),\n        })).Apply(values =\u003e\n        {\n            var invoke = values.Item1;\n            var invoke1 = values.Item2;\n            return @$\"(\n (\n  !(ActionMatches{{'Microsoft.Authorization/roleAssignments/write'}})\n )\n OR\n (\n  @Request[Microsoft.Authorization/roleAssignments:RoleDefinitionId] ForAnyOfAnyValues:GuidEquals {{{invoke.Result}}}\n )\n)\nAND\n(\n (\n  !(ActionMatches{{'Microsoft.Authorization/roleAssignments/delete'}})\n )\n OR\n (\n  @Resource[Microsoft.Authorization/roleAssignments:RoleDefinitionId] ForAnyOfAnyValues:GuidEquals {{{invoke1.Result}}}\n )\n)\n\";\n        }),\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/authorization\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tprimary, err := core.LookupSubscription(ctx, \u0026core.LookupSubscriptionArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := core.GetClientConfig(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tbuiltin, err := authorization.LookupRoleDefinition(ctx, \u0026authorization.LookupRoleDefinitionArgs{\n\t\t\tName: pulumi.StringRef(\"Reader\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeBasename, err := std.Basename(ctx, \u0026std.BasenameArgs{\n\t\t\tInput: builtin.RoleDefinitionId,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeBasename1, err := std.Basename(ctx, \u0026std.BasenameArgs{\n\t\t\tInput: builtin.RoleDefinitionId,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = authorization.NewAssignment(ctx, \"example\", \u0026authorization.AssignmentArgs{\n\t\t\tRoleDefinitionName: pulumi.String(\"Role Based Access Control Administrator\"),\n\t\t\tScope:              pulumi.String(primary.Id),\n\t\t\tPrincipalId:        pulumi.String(example.ObjectId),\n\t\t\tPrincipalType:      pulumi.String(\"ServicePrincipal\"),\n\t\t\tDescription:        pulumi.String(\"Role Based Access Control Administrator role assignment with ABAC Condition.\"),\n\t\t\tConditionVersion:   pulumi.String(\"2.0\"),\n\t\t\tCondition: pulumi.Sprintf(`(\n (\n  !(ActionMatches{'Microsoft.Authorization/roleAssignments/write'})\n )\n OR\n (\n  @Request[Microsoft.Authorization/roleAssignments:RoleDefinitionId] ForAnyOfAnyValues:GuidEquals {%v}\n )\n)\nAND\n(\n (\n  !(ActionMatches{'Microsoft.Authorization/roleAssignments/delete'})\n )\n OR\n (\n  @Resource[Microsoft.Authorization/roleAssignments:RoleDefinitionId] ForAnyOfAnyValues:GuidEquals {%v}\n )\n)\n`, invokeBasename.Result, invokeBasename1.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.core.inputs.GetSubscriptionArgs;\nimport com.pulumi.azure.authorization.AuthorizationFunctions;\nimport com.pulumi.azure.authorization.inputs.GetRoleDefinitionArgs;\nimport com.pulumi.azure.authorization.Assignment;\nimport com.pulumi.azure.authorization.AssignmentArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.BasenameArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var primary = CoreFunctions.getSubscription(GetSubscriptionArgs.builder()\n            .build());\n\n        final var example = CoreFunctions.getClientConfig(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n        final var builtin = AuthorizationFunctions.getRoleDefinition(GetRoleDefinitionArgs.builder()\n            .name(\"Reader\")\n            .build());\n\n        var exampleAssignment = new Assignment(\"exampleAssignment\", AssignmentArgs.builder()\n            .roleDefinitionName(\"Role Based Access Control Administrator\")\n            .scope(primary.id())\n            .principalId(example.objectId())\n            .principalType(\"ServicePrincipal\")\n            .description(\"Role Based Access Control Administrator role assignment with ABAC Condition.\")\n            .conditionVersion(\"2.0\")\n            .condition(\"\"\"\n(\n (\n  !(ActionMatches{'Microsoft.Authorization/roleAssignments/write'})\n )\n OR\n (\n  @Request[Microsoft.Authorization/roleAssignments:RoleDefinitionId] ForAnyOfAnyValues:GuidEquals {%s}\n )\n)\nAND\n(\n (\n  !(ActionMatches{'Microsoft.Authorization/roleAssignments/delete'})\n )\n OR\n (\n  @Resource[Microsoft.Authorization/roleAssignments:RoleDefinitionId] ForAnyOfAnyValues:GuidEquals {%s}\n )\n)\n\", StdFunctions.basename(BasenameArgs.builder()\n                .input(builtin.roleDefinitionId())\n                .build()).result(),StdFunctions.basename(BasenameArgs.builder()\n                .input(builtin.roleDefinitionId())\n                .build()).result()))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleAssignment:\n    type: azure:authorization:Assignment\n    name: example\n    properties:\n      roleDefinitionName: Role Based Access Control Administrator\n      scope: ${primary.id}\n      principalId: ${example.objectId}\n      principalType: ServicePrincipal\n      description: Role Based Access Control Administrator role assignment with ABAC Condition.\n      conditionVersion: '2.0'\n      condition:\n        fn::join:\n          - \"\"\n          - - |-\n              (\n               (\n                !(ActionMatches{'Microsoft.Authorization/roleAssignments/write'})\n               )\n               OR\n               (\n                @Request[Microsoft.Authorization/roleAssignments:RoleDefinitionId] ForAnyOfAnyValues:GuidEquals {\n            - fn::invoke:\n                function: std:basename\n                arguments:\n                  input: ${builtin.roleDefinitionId}\n                return: result\n            - |-\n              }\n               )\n              )\n              AND\n              (\n               (\n                !(ActionMatches{'Microsoft.Authorization/roleAssignments/delete'})\n               )\n               OR\n               (\n                @Resource[Microsoft.Authorization/roleAssignments:RoleDefinitionId] ForAnyOfAnyValues:GuidEquals {\n            - fn::invoke:\n                function: std:basename\n                arguments:\n                  input: ${builtin.roleDefinitionId}\n                return: result\n            - |\n              }\n               )\n              )\nvariables:\n  primary:\n    fn::invoke:\n      function: azure:core:getSubscription\n      arguments: {}\n  example:\n    fn::invoke:\n      function: azure:core:getClientConfig\n      arguments: {}\n  builtin:\n    fn::invoke:\n      function: azure:authorization:getRoleDefinition\n      arguments:\n        name: Reader\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Authorization` - 2022-05-01-preview, 2022-04-01\n\n## Import\n\nRole Assignments can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:role/assignment:Assignment example /subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/00000000-0000-0000-0000-000000000000\n```\n\n\u003e **Note:** The format of `resource id` could be different for different kinds of \u003cspan pulumi-lang-nodejs=\"`scope`\" pulumi-lang-dotnet=\"`Scope`\" pulumi-lang-go=\"`scope`\" pulumi-lang-python=\"`scope`\" pulumi-lang-yaml=\"`scope`\" pulumi-lang-java=\"`scope`\"\u003e`scope`\u003c/span\u003e:\n\n* for scope `Subscription`, the id format is `/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/00000000-0000-0000-0000-000000000000`\n* for scope `Resource Group`, the id format is `/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Authorization/roleAssignments/00000000-0000-0000-0000-000000000000`\n* for scope `Key Vault`, the id format is `/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.KeyVault/vaults/vault1/providers/Microsoft.Authorization/roleAssignments/00000000-0000-0000-0000-000000000000`\n* for scope `Storage Account`, the id format is `/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Storage/storageAccounts/storageAccount1/providers/Microsoft.Authorization/roleAssignments/00000000-0000-0000-0000-000000000000`\n\n\u003e **Note:** for cross tenant scenarios, the format of `resource id` is composed of Azure resource ID and tenantId. for example:\n\n```text\n/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/00000000-0000-0000-0000-000000000000|00000000-0000-0000-0000-000000000000\n```\n\n","properties":{"condition":{"type":"string","description":"The condition that limits the resources that the role can be assigned to. Changing this forces a new resource to be created.\n"},"conditionVersion":{"type":"string","description":"The version of the condition. Possible values are `1.0` or `2.0`. Changing this forces a new resource to be created.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`condition`\" pulumi-lang-dotnet=\"`Condition`\" pulumi-lang-go=\"`condition`\" pulumi-lang-python=\"`condition`\" pulumi-lang-yaml=\"`condition`\" pulumi-lang-java=\"`condition`\"\u003e`condition`\u003c/span\u003e is required when \u003cspan pulumi-lang-nodejs=\"`conditionVersion`\" pulumi-lang-dotnet=\"`ConditionVersion`\" pulumi-lang-go=\"`conditionVersion`\" pulumi-lang-python=\"`condition_version`\" pulumi-lang-yaml=\"`conditionVersion`\" pulumi-lang-java=\"`conditionVersion`\"\u003e`condition_version`\u003c/span\u003e is set.\n"},"delegatedManagedIdentityResourceId":{"type":"string","description":"The delegated Azure Resource Id which contains a Managed Identity. Changing this forces a new resource to be created.\n\n\u003e **Note:** This field is only used in cross tenant scenarios.\n"},"description":{"type":"string","description":"The description for this Role Assignment. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"A unique UUID/GUID for this Role Assignment - one will be generated if not specified. Changing this forces a new resource to be created.\n"},"principalId":{"type":"string","description":"The ID of the Principal (User, Group or Service Principal) to assign the Role Definition to. Changing this forces a new resource to be created.\n\n\u003e **Note:** The Principal ID is also known as the Object ID (i.e. not the \"Application ID\" for applications).\n"},"principalType":{"type":"string","description":"The type of the \u003cspan pulumi-lang-nodejs=\"`principalId`\" pulumi-lang-dotnet=\"`PrincipalId`\" pulumi-lang-go=\"`principalId`\" pulumi-lang-python=\"`principal_id`\" pulumi-lang-yaml=\"`principalId`\" pulumi-lang-java=\"`principalId`\"\u003e`principal_id`\u003c/span\u003e. Possible values are `User`, `Group` and `ServicePrincipal`. Changing this forces a new resource to be created. It is necessary to explicitly set this attribute when creating role assignments if the principal creating the assignment is constrained by ABAC rules that filters on the PrincipalType attribute.\n"},"roleDefinitionId":{"type":"string","description":"The Scoped-ID of the Role Definition. Changing this forces a new resource to be created.\n"},"roleDefinitionName":{"type":"string","description":"The name of a built-in Role. Changing this forces a new resource to be created.\n\n\u003e **Note:** Either \u003cspan pulumi-lang-nodejs=\"`roleDefinitionId`\" pulumi-lang-dotnet=\"`RoleDefinitionId`\" pulumi-lang-go=\"`roleDefinitionId`\" pulumi-lang-python=\"`role_definition_id`\" pulumi-lang-yaml=\"`roleDefinitionId`\" pulumi-lang-java=\"`roleDefinitionId`\"\u003e`role_definition_id`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`roleDefinitionName`\" pulumi-lang-dotnet=\"`RoleDefinitionName`\" pulumi-lang-go=\"`roleDefinitionName`\" pulumi-lang-python=\"`role_definition_name`\" pulumi-lang-yaml=\"`roleDefinitionName`\" pulumi-lang-java=\"`roleDefinitionName`\"\u003e`role_definition_name`\u003c/span\u003e must be set.\n"},"scope":{"type":"string","description":"The scope at which the Role Assignment applies to, such as `/subscriptions/0b1f6471-1bf0-4dda-aec3-111122223333`, `/subscriptions/0b1f6471-1bf0-4dda-aec3-111122223333/resourceGroups/myGroup`, or `/subscriptions/0b1f6471-1bf0-4dda-aec3-111122223333/resourceGroups/myGroup/providers/Microsoft.Compute/virtualMachines/myVM`, or `/providers/Microsoft.Management/managementGroups/myMG`. Changing this forces a new resource to be created.\n"},"skipServicePrincipalAadCheck":{"type":"boolean","description":"If the \u003cspan pulumi-lang-nodejs=\"`principalId`\" pulumi-lang-dotnet=\"`PrincipalId`\" pulumi-lang-go=\"`principalId`\" pulumi-lang-python=\"`principal_id`\" pulumi-lang-yaml=\"`principalId`\" pulumi-lang-java=\"`principalId`\"\u003e`principal_id`\u003c/span\u003e is a newly provisioned `Service Principal` set this value to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e to skip the `Azure Active Directory` check which may fail due to replication lag. This argument is only valid if the \u003cspan pulumi-lang-nodejs=\"`principalId`\" pulumi-lang-dotnet=\"`PrincipalId`\" pulumi-lang-go=\"`principalId`\" pulumi-lang-python=\"`principal_id`\" pulumi-lang-yaml=\"`principalId`\" pulumi-lang-java=\"`principalId`\"\u003e`principal_id`\u003c/span\u003e is a `Service Principal` identity. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** If it is not a `Service Principal` identity it will cause the role assignment to fail.\n"}},"required":["conditionVersion","name","principalId","principalType","roleDefinitionId","roleDefinitionName","scope","skipServicePrincipalAadCheck"],"inputProperties":{"condition":{"type":"string","description":"The condition that limits the resources that the role can be assigned to. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"conditionVersion":{"type":"string","description":"The version of the condition. Possible values are `1.0` or `2.0`. Changing this forces a new resource to be created.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`condition`\" pulumi-lang-dotnet=\"`Condition`\" pulumi-lang-go=\"`condition`\" pulumi-lang-python=\"`condition`\" pulumi-lang-yaml=\"`condition`\" pulumi-lang-java=\"`condition`\"\u003e`condition`\u003c/span\u003e is required when \u003cspan pulumi-lang-nodejs=\"`conditionVersion`\" pulumi-lang-dotnet=\"`ConditionVersion`\" pulumi-lang-go=\"`conditionVersion`\" pulumi-lang-python=\"`condition_version`\" pulumi-lang-yaml=\"`conditionVersion`\" pulumi-lang-java=\"`conditionVersion`\"\u003e`condition_version`\u003c/span\u003e is set.\n","willReplaceOnChanges":true},"delegatedManagedIdentityResourceId":{"type":"string","description":"The delegated Azure Resource Id which contains a Managed Identity. Changing this forces a new resource to be created.\n\n\u003e **Note:** This field is only used in cross tenant scenarios.\n","willReplaceOnChanges":true},"description":{"type":"string","description":"The description for this Role Assignment. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"A unique UUID/GUID for this Role Assignment - one will be generated if not specified. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"principalId":{"type":"string","description":"The ID of the Principal (User, Group or Service Principal) to assign the Role Definition to. Changing this forces a new resource to be created.\n\n\u003e **Note:** The Principal ID is also known as the Object ID (i.e. not the \"Application ID\" for applications).\n","willReplaceOnChanges":true},"principalType":{"type":"string","description":"The type of the \u003cspan pulumi-lang-nodejs=\"`principalId`\" pulumi-lang-dotnet=\"`PrincipalId`\" pulumi-lang-go=\"`principalId`\" pulumi-lang-python=\"`principal_id`\" pulumi-lang-yaml=\"`principalId`\" pulumi-lang-java=\"`principalId`\"\u003e`principal_id`\u003c/span\u003e. Possible values are `User`, `Group` and `ServicePrincipal`. Changing this forces a new resource to be created. It is necessary to explicitly set this attribute when creating role assignments if the principal creating the assignment is constrained by ABAC rules that filters on the PrincipalType attribute.\n","willReplaceOnChanges":true},"roleDefinitionId":{"type":"string","description":"The Scoped-ID of the Role Definition. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"roleDefinitionName":{"type":"string","description":"The name of a built-in Role. Changing this forces a new resource to be created.\n\n\u003e **Note:** Either \u003cspan pulumi-lang-nodejs=\"`roleDefinitionId`\" pulumi-lang-dotnet=\"`RoleDefinitionId`\" pulumi-lang-go=\"`roleDefinitionId`\" pulumi-lang-python=\"`role_definition_id`\" pulumi-lang-yaml=\"`roleDefinitionId`\" pulumi-lang-java=\"`roleDefinitionId`\"\u003e`role_definition_id`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`roleDefinitionName`\" pulumi-lang-dotnet=\"`RoleDefinitionName`\" pulumi-lang-go=\"`roleDefinitionName`\" pulumi-lang-python=\"`role_definition_name`\" pulumi-lang-yaml=\"`roleDefinitionName`\" pulumi-lang-java=\"`roleDefinitionName`\"\u003e`role_definition_name`\u003c/span\u003e must be set.\n","willReplaceOnChanges":true},"scope":{"type":"string","description":"The scope at which the Role Assignment applies to, such as `/subscriptions/0b1f6471-1bf0-4dda-aec3-111122223333`, `/subscriptions/0b1f6471-1bf0-4dda-aec3-111122223333/resourceGroups/myGroup`, or `/subscriptions/0b1f6471-1bf0-4dda-aec3-111122223333/resourceGroups/myGroup/providers/Microsoft.Compute/virtualMachines/myVM`, or `/providers/Microsoft.Management/managementGroups/myMG`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"skipServicePrincipalAadCheck":{"type":"boolean","description":"If the \u003cspan pulumi-lang-nodejs=\"`principalId`\" pulumi-lang-dotnet=\"`PrincipalId`\" pulumi-lang-go=\"`principalId`\" pulumi-lang-python=\"`principal_id`\" pulumi-lang-yaml=\"`principalId`\" pulumi-lang-java=\"`principalId`\"\u003e`principal_id`\u003c/span\u003e is a newly provisioned `Service Principal` set this value to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e to skip the `Azure Active Directory` check which may fail due to replication lag. This argument is only valid if the \u003cspan pulumi-lang-nodejs=\"`principalId`\" pulumi-lang-dotnet=\"`PrincipalId`\" pulumi-lang-go=\"`principalId`\" pulumi-lang-python=\"`principal_id`\" pulumi-lang-yaml=\"`principalId`\" pulumi-lang-java=\"`principalId`\"\u003e`principal_id`\u003c/span\u003e is a `Service Principal` identity. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** If it is not a `Service Principal` identity it will cause the role assignment to fail.\n"}},"requiredInputs":["principalId","scope"],"stateInputs":{"description":"Input properties used for looking up and filtering Assignment resources.\n","properties":{"condition":{"type":"string","description":"The condition that limits the resources that the role can be assigned to. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"conditionVersion":{"type":"string","description":"The version of the condition. Possible values are `1.0` or `2.0`. Changing this forces a new resource to be created.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`condition`\" pulumi-lang-dotnet=\"`Condition`\" pulumi-lang-go=\"`condition`\" pulumi-lang-python=\"`condition`\" pulumi-lang-yaml=\"`condition`\" pulumi-lang-java=\"`condition`\"\u003e`condition`\u003c/span\u003e is required when \u003cspan pulumi-lang-nodejs=\"`conditionVersion`\" pulumi-lang-dotnet=\"`ConditionVersion`\" pulumi-lang-go=\"`conditionVersion`\" pulumi-lang-python=\"`condition_version`\" pulumi-lang-yaml=\"`conditionVersion`\" pulumi-lang-java=\"`conditionVersion`\"\u003e`condition_version`\u003c/span\u003e is set.\n","willReplaceOnChanges":true},"delegatedManagedIdentityResourceId":{"type":"string","description":"The delegated Azure Resource Id which contains a Managed Identity. Changing this forces a new resource to be created.\n\n\u003e **Note:** This field is only used in cross tenant scenarios.\n","willReplaceOnChanges":true},"description":{"type":"string","description":"The description for this Role Assignment. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"A unique UUID/GUID for this Role Assignment - one will be generated if not specified. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"principalId":{"type":"string","description":"The ID of the Principal (User, Group or Service Principal) to assign the Role Definition to. Changing this forces a new resource to be created.\n\n\u003e **Note:** The Principal ID is also known as the Object ID (i.e. not the \"Application ID\" for applications).\n","willReplaceOnChanges":true},"principalType":{"type":"string","description":"The type of the \u003cspan pulumi-lang-nodejs=\"`principalId`\" pulumi-lang-dotnet=\"`PrincipalId`\" pulumi-lang-go=\"`principalId`\" pulumi-lang-python=\"`principal_id`\" pulumi-lang-yaml=\"`principalId`\" pulumi-lang-java=\"`principalId`\"\u003e`principal_id`\u003c/span\u003e. Possible values are `User`, `Group` and `ServicePrincipal`. Changing this forces a new resource to be created. It is necessary to explicitly set this attribute when creating role assignments if the principal creating the assignment is constrained by ABAC rules that filters on the PrincipalType attribute.\n","willReplaceOnChanges":true},"roleDefinitionId":{"type":"string","description":"The Scoped-ID of the Role Definition. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"roleDefinitionName":{"type":"string","description":"The name of a built-in Role. Changing this forces a new resource to be created.\n\n\u003e **Note:** Either \u003cspan pulumi-lang-nodejs=\"`roleDefinitionId`\" pulumi-lang-dotnet=\"`RoleDefinitionId`\" pulumi-lang-go=\"`roleDefinitionId`\" pulumi-lang-python=\"`role_definition_id`\" pulumi-lang-yaml=\"`roleDefinitionId`\" pulumi-lang-java=\"`roleDefinitionId`\"\u003e`role_definition_id`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`roleDefinitionName`\" pulumi-lang-dotnet=\"`RoleDefinitionName`\" pulumi-lang-go=\"`roleDefinitionName`\" pulumi-lang-python=\"`role_definition_name`\" pulumi-lang-yaml=\"`roleDefinitionName`\" pulumi-lang-java=\"`roleDefinitionName`\"\u003e`role_definition_name`\u003c/span\u003e must be set.\n","willReplaceOnChanges":true},"scope":{"type":"string","description":"The scope at which the Role Assignment applies to, such as `/subscriptions/0b1f6471-1bf0-4dda-aec3-111122223333`, `/subscriptions/0b1f6471-1bf0-4dda-aec3-111122223333/resourceGroups/myGroup`, or `/subscriptions/0b1f6471-1bf0-4dda-aec3-111122223333/resourceGroups/myGroup/providers/Microsoft.Compute/virtualMachines/myVM`, or `/providers/Microsoft.Management/managementGroups/myMG`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"skipServicePrincipalAadCheck":{"type":"boolean","description":"If the \u003cspan pulumi-lang-nodejs=\"`principalId`\" pulumi-lang-dotnet=\"`PrincipalId`\" pulumi-lang-go=\"`principalId`\" pulumi-lang-python=\"`principal_id`\" pulumi-lang-yaml=\"`principalId`\" pulumi-lang-java=\"`principalId`\"\u003e`principal_id`\u003c/span\u003e is a newly provisioned `Service Principal` set this value to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e to skip the `Azure Active Directory` check which may fail due to replication lag. This argument is only valid if the \u003cspan pulumi-lang-nodejs=\"`principalId`\" pulumi-lang-dotnet=\"`PrincipalId`\" pulumi-lang-go=\"`principalId`\" pulumi-lang-python=\"`principal_id`\" pulumi-lang-yaml=\"`principalId`\" pulumi-lang-java=\"`principalId`\"\u003e`principal_id`\u003c/span\u003e is a `Service Principal` identity. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** If it is not a `Service Principal` identity it will cause the role assignment to fail.\n"}},"type":"object"},"deprecationMessage":"azure.role.Assignment has been deprecated in favor of azure.authorization.Assignment"},"azure:role/definition:Definition":{"description":"Manages a custom Role Definition, used to assign Roles to Users/Principals. See ['Understand role definitions'](https://docs.microsoft.com/azure/role-based-access-control/role-definitions) in the Azure documentation for more details.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst primary = azure.core.getSubscription({});\nconst example = new azure.authorization.RoleDefinition(\"example\", {\n    name: \"my-custom-role\",\n    scope: primary.then(primary =\u003e primary.id),\n    description: \"This is a custom role created\",\n    permissions: [{\n        actions: [\"*\"],\n        notActions: [],\n    }],\n    assignableScopes: [primary.then(primary =\u003e primary.id)],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nprimary = azure.core.get_subscription()\nexample = azure.authorization.RoleDefinition(\"example\",\n    name=\"my-custom-role\",\n    scope=primary.id,\n    description=\"This is a custom role created\",\n    permissions=[{\n        \"actions\": [\"*\"],\n        \"not_actions\": [],\n    }],\n    assignable_scopes=[primary.id])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var primary = Azure.Core.GetSubscription.Invoke();\n\n    var example = new Azure.Authorization.RoleDefinition(\"example\", new()\n    {\n        Name = \"my-custom-role\",\n        Scope = primary.Apply(getSubscriptionResult =\u003e getSubscriptionResult.Id),\n        Description = \"This is a custom role created\",\n        Permissions = new[]\n        {\n            new Azure.Authorization.Inputs.RoleDefinitionPermissionArgs\n            {\n                Actions = new[]\n                {\n                    \"*\",\n                },\n                NotActions = new() { },\n            },\n        },\n        AssignableScopes = new[]\n        {\n            primary.Apply(getSubscriptionResult =\u003e getSubscriptionResult.Id),\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/authorization\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tprimary, err := core.LookupSubscription(ctx, \u0026core.LookupSubscriptionArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = authorization.NewRoleDefinition(ctx, \"example\", \u0026authorization.RoleDefinitionArgs{\n\t\t\tName:        pulumi.String(\"my-custom-role\"),\n\t\t\tScope:       pulumi.String(primary.Id),\n\t\t\tDescription: pulumi.String(\"This is a custom role created\"),\n\t\t\tPermissions: authorization.RoleDefinitionPermissionArray{\n\t\t\t\t\u0026authorization.RoleDefinitionPermissionArgs{\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"*\"),\n\t\t\t\t\t},\n\t\t\t\t\tNotActions: pulumi.StringArray{},\n\t\t\t\t},\n\t\t\t},\n\t\t\tAssignableScopes: pulumi.StringArray{\n\t\t\t\tpulumi.String(primary.Id),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.core.inputs.GetSubscriptionArgs;\nimport com.pulumi.azure.authorization.RoleDefinition;\nimport com.pulumi.azure.authorization.RoleDefinitionArgs;\nimport com.pulumi.azure.authorization.inputs.RoleDefinitionPermissionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var primary = CoreFunctions.getSubscription(GetSubscriptionArgs.builder()\n            .build());\n\n        var example = new RoleDefinition(\"example\", RoleDefinitionArgs.builder()\n            .name(\"my-custom-role\")\n            .scope(primary.id())\n            .description(\"This is a custom role created\")\n            .permissions(RoleDefinitionPermissionArgs.builder()\n                .actions(\"*\")\n                .notActions()\n                .build())\n            .assignableScopes(primary.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:authorization:RoleDefinition\n    properties:\n      name: my-custom-role\n      scope: ${primary.id}\n      description: This is a custom role created\n      permissions:\n        - actions:\n            - '*'\n          notActions: []\n      assignableScopes:\n        - ${primary.id}\nvariables:\n  primary:\n    fn::invoke:\n      function: azure:core:getSubscription\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\n### With Management Group\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst current = azure.core.getSubscription({});\nconst example = new azure.management.Group(\"example\", {\n    displayName: \"ParentGroup\",\n    subscriptionIds: [current.then(current =\u003e current.subscriptionId)],\n});\nconst exampleRoleDefinition = new azure.authorization.RoleDefinition(\"example\", {\n    name: \"example-mg-role\",\n    scope: example.id,\n    description: \"Example custom role scoped to a management group.\",\n    permissions: [{\n        actions: [\"Microsoft.Insights/alertRules/*\"],\n        notActions: [],\n    }],\n    assignableScopes: [example.id],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\ncurrent = azure.core.get_subscription()\nexample = azure.management.Group(\"example\",\n    display_name=\"ParentGroup\",\n    subscription_ids=[current.subscription_id])\nexample_role_definition = azure.authorization.RoleDefinition(\"example\",\n    name=\"example-mg-role\",\n    scope=example.id,\n    description=\"Example custom role scoped to a management group.\",\n    permissions=[{\n        \"actions\": [\"Microsoft.Insights/alertRules/*\"],\n        \"not_actions\": [],\n    }],\n    assignable_scopes=[example.id])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var current = Azure.Core.GetSubscription.Invoke();\n\n    var example = new Azure.Management.Group(\"example\", new()\n    {\n        DisplayName = \"ParentGroup\",\n        SubscriptionIds = new[]\n        {\n            current.Apply(getSubscriptionResult =\u003e getSubscriptionResult.SubscriptionId),\n        },\n    });\n\n    var exampleRoleDefinition = new Azure.Authorization.RoleDefinition(\"example\", new()\n    {\n        Name = \"example-mg-role\",\n        Scope = example.Id,\n        Description = \"Example custom role scoped to a management group.\",\n        Permissions = new[]\n        {\n            new Azure.Authorization.Inputs.RoleDefinitionPermissionArgs\n            {\n                Actions = new[]\n                {\n                    \"Microsoft.Insights/alertRules/*\",\n                },\n                NotActions = new() { },\n            },\n        },\n        AssignableScopes = new[]\n        {\n            example.Id,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/authorization\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/management\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := core.LookupSubscription(ctx, \u0026core.LookupSubscriptionArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := management.NewGroup(ctx, \"example\", \u0026management.GroupArgs{\n\t\t\tDisplayName: pulumi.String(\"ParentGroup\"),\n\t\t\tSubscriptionIds: pulumi.StringArray{\n\t\t\t\tpulumi.String(current.SubscriptionId),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = authorization.NewRoleDefinition(ctx, \"example\", \u0026authorization.RoleDefinitionArgs{\n\t\t\tName:        pulumi.String(\"example-mg-role\"),\n\t\t\tScope:       example.ID(),\n\t\t\tDescription: pulumi.String(\"Example custom role scoped to a management group.\"),\n\t\t\tPermissions: authorization.RoleDefinitionPermissionArray{\n\t\t\t\t\u0026authorization.RoleDefinitionPermissionArgs{\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"Microsoft.Insights/alertRules/*\"),\n\t\t\t\t\t},\n\t\t\t\t\tNotActions: pulumi.StringArray{},\n\t\t\t\t},\n\t\t\t},\n\t\t\tAssignableScopes: pulumi.StringArray{\n\t\t\t\texample.ID(),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.core.inputs.GetSubscriptionArgs;\nimport com.pulumi.azure.management.Group;\nimport com.pulumi.azure.management.GroupArgs;\nimport com.pulumi.azure.authorization.RoleDefinition;\nimport com.pulumi.azure.authorization.RoleDefinitionArgs;\nimport com.pulumi.azure.authorization.inputs.RoleDefinitionPermissionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var current = CoreFunctions.getSubscription(GetSubscriptionArgs.builder()\n            .build());\n\n        var example = new Group(\"example\", GroupArgs.builder()\n            .displayName(\"ParentGroup\")\n            .subscriptionIds(current.subscriptionId())\n            .build());\n\n        var exampleRoleDefinition = new RoleDefinition(\"exampleRoleDefinition\", RoleDefinitionArgs.builder()\n            .name(\"example-mg-role\")\n            .scope(example.id())\n            .description(\"Example custom role scoped to a management group.\")\n            .permissions(RoleDefinitionPermissionArgs.builder()\n                .actions(\"Microsoft.Insights/alertRules/*\")\n                .notActions()\n                .build())\n            .assignableScopes(example.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:management:Group\n    properties:\n      displayName: ParentGroup\n      subscriptionIds:\n        - ${current.subscriptionId}\n  exampleRoleDefinition:\n    type: azure:authorization:RoleDefinition\n    name: example\n    properties:\n      name: example-mg-role\n      scope: ${example.id}\n      description: Example custom role scoped to a management group.\n      permissions:\n        - actions:\n            - Microsoft.Insights/alertRules/*\n          notActions: []\n      assignableScopes:\n        - ${example.id}\nvariables:\n  current:\n    fn::invoke:\n      function: azure:core:getSubscription\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Authorization` - 2022-05-01-preview\n\n## Import\n\nRole Definitions can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:role/definition:Definition example \"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/00000000-0000-0000-0000-000000000000|/subscriptions/00000000-0000-0000-0000-000000000000\"\n```\n\n\u003e **Note:** This ID is specific to this provider - and is of the format `{roleDefinitionId}|{scope}`.\n\n","properties":{"assignableScopes":{"type":"array","items":{"type":"string"},"description":"One or more assignable scopes for this Role Definition, such as `/subscriptions/0b1f6471-1bf0-4dda-aec3-111122223333`, `/subscriptions/0b1f6471-1bf0-4dda-aec3-111122223333/resourceGroups/myGroup`, `/providers/Microsoft.Management/managementGroups/0b1f6471-1bf0-4dda-aec3-111122223333` , or `/subscriptions/0b1f6471-1bf0-4dda-aec3-111122223333/resourceGroups/myGroup/providers/Microsoft.Compute/virtualMachines/myVM`.\n\n\u003e **NOTE:** The value for \u003cspan pulumi-lang-nodejs=\"`scope`\" pulumi-lang-dotnet=\"`Scope`\" pulumi-lang-go=\"`scope`\" pulumi-lang-python=\"`scope`\" pulumi-lang-yaml=\"`scope`\" pulumi-lang-java=\"`scope`\"\u003e`scope`\u003c/span\u003e is automatically included in this list if no other values supplied.\n"},"description":{"type":"string","description":"A description of the Role Definition.\n"},"name":{"type":"string","description":"The name of the Role Definition.\n"},"permissions":{"type":"array","items":{"$ref":"#/types/azure:role/DefinitionPermission:DefinitionPermission"},"description":"A \u003cspan pulumi-lang-nodejs=\"`permissions`\" pulumi-lang-dotnet=\"`Permissions`\" pulumi-lang-go=\"`permissions`\" pulumi-lang-python=\"`permissions`\" pulumi-lang-yaml=\"`permissions`\" pulumi-lang-java=\"`permissions`\"\u003e`permissions`\u003c/span\u003e block as defined below.\n"},"roleDefinitionId":{"type":"string","description":"A unique UUID/GUID which identifies this role - one will be generated if not specified. Changing this forces a new resource to be created.\n"},"roleDefinitionResourceId":{"type":"string","description":"The Azure Resource Manager ID for the resource.\n"},"scope":{"type":"string","description":"The scope at which the Role Definition applies to, such as `/subscriptions/0b1f6471-1bf0-4dda-aec3-111122223333`, `/subscriptions/0b1f6471-1bf0-4dda-aec3-111122223333/resourceGroups/myGroup`, `/providers/Microsoft.Management/managementGroups/0b1f6471-1bf0-4dda-aec3-111122223333`, or `/subscriptions/0b1f6471-1bf0-4dda-aec3-111122223333/resourceGroups/myGroup/providers/Microsoft.Compute/virtualMachines/myVM`. It is recommended to use the first entry of the \u003cspan pulumi-lang-nodejs=\"`assignableScopes`\" pulumi-lang-dotnet=\"`AssignableScopes`\" pulumi-lang-go=\"`assignableScopes`\" pulumi-lang-python=\"`assignable_scopes`\" pulumi-lang-yaml=\"`assignableScopes`\" pulumi-lang-java=\"`assignableScopes`\"\u003e`assignable_scopes`\u003c/span\u003e. Changing this forces a new resource to be created.\n"}},"required":["assignableScopes","name","roleDefinitionId","roleDefinitionResourceId","scope"],"inputProperties":{"assignableScopes":{"type":"array","items":{"type":"string"},"description":"One or more assignable scopes for this Role Definition, such as `/subscriptions/0b1f6471-1bf0-4dda-aec3-111122223333`, `/subscriptions/0b1f6471-1bf0-4dda-aec3-111122223333/resourceGroups/myGroup`, `/providers/Microsoft.Management/managementGroups/0b1f6471-1bf0-4dda-aec3-111122223333` , or `/subscriptions/0b1f6471-1bf0-4dda-aec3-111122223333/resourceGroups/myGroup/providers/Microsoft.Compute/virtualMachines/myVM`.\n\n\u003e **NOTE:** The value for \u003cspan pulumi-lang-nodejs=\"`scope`\" pulumi-lang-dotnet=\"`Scope`\" pulumi-lang-go=\"`scope`\" pulumi-lang-python=\"`scope`\" pulumi-lang-yaml=\"`scope`\" pulumi-lang-java=\"`scope`\"\u003e`scope`\u003c/span\u003e is automatically included in this list if no other values supplied.\n"},"description":{"type":"string","description":"A description of the Role Definition.\n"},"name":{"type":"string","description":"The name of the Role Definition.\n"},"permissions":{"type":"array","items":{"$ref":"#/types/azure:role/DefinitionPermission:DefinitionPermission"},"description":"A \u003cspan pulumi-lang-nodejs=\"`permissions`\" pulumi-lang-dotnet=\"`Permissions`\" pulumi-lang-go=\"`permissions`\" pulumi-lang-python=\"`permissions`\" pulumi-lang-yaml=\"`permissions`\" pulumi-lang-java=\"`permissions`\"\u003e`permissions`\u003c/span\u003e block as defined below.\n"},"roleDefinitionId":{"type":"string","description":"A unique UUID/GUID which identifies this role - one will be generated if not specified. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"scope":{"type":"string","description":"The scope at which the Role Definition applies to, such as `/subscriptions/0b1f6471-1bf0-4dda-aec3-111122223333`, `/subscriptions/0b1f6471-1bf0-4dda-aec3-111122223333/resourceGroups/myGroup`, `/providers/Microsoft.Management/managementGroups/0b1f6471-1bf0-4dda-aec3-111122223333`, or `/subscriptions/0b1f6471-1bf0-4dda-aec3-111122223333/resourceGroups/myGroup/providers/Microsoft.Compute/virtualMachines/myVM`. It is recommended to use the first entry of the \u003cspan pulumi-lang-nodejs=\"`assignableScopes`\" pulumi-lang-dotnet=\"`AssignableScopes`\" pulumi-lang-go=\"`assignableScopes`\" pulumi-lang-python=\"`assignable_scopes`\" pulumi-lang-yaml=\"`assignableScopes`\" pulumi-lang-java=\"`assignableScopes`\"\u003e`assignable_scopes`\u003c/span\u003e. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["scope"],"stateInputs":{"description":"Input properties used for looking up and filtering Definition resources.\n","properties":{"assignableScopes":{"type":"array","items":{"type":"string"},"description":"One or more assignable scopes for this Role Definition, such as `/subscriptions/0b1f6471-1bf0-4dda-aec3-111122223333`, `/subscriptions/0b1f6471-1bf0-4dda-aec3-111122223333/resourceGroups/myGroup`, `/providers/Microsoft.Management/managementGroups/0b1f6471-1bf0-4dda-aec3-111122223333` , or `/subscriptions/0b1f6471-1bf0-4dda-aec3-111122223333/resourceGroups/myGroup/providers/Microsoft.Compute/virtualMachines/myVM`.\n\n\u003e **NOTE:** The value for \u003cspan pulumi-lang-nodejs=\"`scope`\" pulumi-lang-dotnet=\"`Scope`\" pulumi-lang-go=\"`scope`\" pulumi-lang-python=\"`scope`\" pulumi-lang-yaml=\"`scope`\" pulumi-lang-java=\"`scope`\"\u003e`scope`\u003c/span\u003e is automatically included in this list if no other values supplied.\n"},"description":{"type":"string","description":"A description of the Role Definition.\n"},"name":{"type":"string","description":"The name of the Role Definition.\n"},"permissions":{"type":"array","items":{"$ref":"#/types/azure:role/DefinitionPermission:DefinitionPermission"},"description":"A \u003cspan pulumi-lang-nodejs=\"`permissions`\" pulumi-lang-dotnet=\"`Permissions`\" pulumi-lang-go=\"`permissions`\" pulumi-lang-python=\"`permissions`\" pulumi-lang-yaml=\"`permissions`\" pulumi-lang-java=\"`permissions`\"\u003e`permissions`\u003c/span\u003e block as defined below.\n"},"roleDefinitionId":{"type":"string","description":"A unique UUID/GUID which identifies this role - one will be generated if not specified. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"roleDefinitionResourceId":{"type":"string","description":"The Azure Resource Manager ID for the resource.\n"},"scope":{"type":"string","description":"The scope at which the Role Definition applies to, such as `/subscriptions/0b1f6471-1bf0-4dda-aec3-111122223333`, `/subscriptions/0b1f6471-1bf0-4dda-aec3-111122223333/resourceGroups/myGroup`, `/providers/Microsoft.Management/managementGroups/0b1f6471-1bf0-4dda-aec3-111122223333`, or `/subscriptions/0b1f6471-1bf0-4dda-aec3-111122223333/resourceGroups/myGroup/providers/Microsoft.Compute/virtualMachines/myVM`. It is recommended to use the first entry of the \u003cspan pulumi-lang-nodejs=\"`assignableScopes`\" pulumi-lang-dotnet=\"`AssignableScopes`\" pulumi-lang-go=\"`assignableScopes`\" pulumi-lang-python=\"`assignable_scopes`\" pulumi-lang-yaml=\"`assignableScopes`\" pulumi-lang-java=\"`assignableScopes`\"\u003e`assignable_scopes`\u003c/span\u003e. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"},"deprecationMessage":"azure.role.Definition has been deprecated in favor of azure.authorization.RoleDefinition"},"azure:search/service:Service":{"description":"Manages a Search Service.\n\n## Example Usage\n\n### Supporting API Keys)\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleService = new azure.search.Service(\"example\", {\n    name: \"example-resource\",\n    resourceGroupName: example.name,\n    location: example.location,\n    sku: \"standard\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_service = azure.search.Service(\"example\",\n    name=\"example-resource\",\n    resource_group_name=example.name,\n    location=example.location,\n    sku=\"standard\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleService = new Azure.Search.Service(\"example\", new()\n    {\n        Name = \"example-resource\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        Sku = \"standard\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/search\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = search.NewService(ctx, \"example\", \u0026search.ServiceArgs{\n\t\t\tName:              pulumi.String(\"example-resource\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tSku:               pulumi.String(\"standard\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.search.Service;\nimport com.pulumi.azure.search.ServiceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleService = new Service(\"exampleService\", ServiceArgs.builder()\n            .name(\"example-resource\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .sku(\"standard\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleService:\n    type: azure:search:Service\n    name: example\n    properties:\n      name: example-resource\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      sku: standard\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\n### Using Both AzureAD And API Keys)\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleService = new azure.search.Service(\"example\", {\n    name: \"example-resource\",\n    resourceGroupName: example.name,\n    location: example.location,\n    sku: \"standard\",\n    localAuthenticationEnabled: true,\n    authenticationFailureMode: \"http403\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_service = azure.search.Service(\"example\",\n    name=\"example-resource\",\n    resource_group_name=example.name,\n    location=example.location,\n    sku=\"standard\",\n    local_authentication_enabled=True,\n    authentication_failure_mode=\"http403\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleService = new Azure.Search.Service(\"example\", new()\n    {\n        Name = \"example-resource\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        Sku = \"standard\",\n        LocalAuthenticationEnabled = true,\n        AuthenticationFailureMode = \"http403\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/search\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = search.NewService(ctx, \"example\", \u0026search.ServiceArgs{\n\t\t\tName:                       pulumi.String(\"example-resource\"),\n\t\t\tResourceGroupName:          example.Name,\n\t\t\tLocation:                   example.Location,\n\t\t\tSku:                        pulumi.String(\"standard\"),\n\t\t\tLocalAuthenticationEnabled: pulumi.Bool(true),\n\t\t\tAuthenticationFailureMode:  pulumi.String(\"http403\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.search.Service;\nimport com.pulumi.azure.search.ServiceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleService = new Service(\"exampleService\", ServiceArgs.builder()\n            .name(\"example-resource\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .sku(\"standard\")\n            .localAuthenticationEnabled(true)\n            .authenticationFailureMode(\"http403\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleService:\n    type: azure:search:Service\n    name: example\n    properties:\n      name: example-resource\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      sku: standard\n      localAuthenticationEnabled: true\n      authenticationFailureMode: http403\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\n### Supporting Only AzureAD Authentication)\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleService = new azure.search.Service(\"example\", {\n    name: \"example-resource\",\n    resourceGroupName: example.name,\n    location: example.location,\n    sku: \"standard\",\n    localAuthenticationEnabled: false,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_service = azure.search.Service(\"example\",\n    name=\"example-resource\",\n    resource_group_name=example.name,\n    location=example.location,\n    sku=\"standard\",\n    local_authentication_enabled=False)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleService = new Azure.Search.Service(\"example\", new()\n    {\n        Name = \"example-resource\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        Sku = \"standard\",\n        LocalAuthenticationEnabled = false,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/search\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = search.NewService(ctx, \"example\", \u0026search.ServiceArgs{\n\t\t\tName:                       pulumi.String(\"example-resource\"),\n\t\t\tResourceGroupName:          example.Name,\n\t\t\tLocation:                   example.Location,\n\t\t\tSku:                        pulumi.String(\"standard\"),\n\t\t\tLocalAuthenticationEnabled: pulumi.Bool(false),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.search.Service;\nimport com.pulumi.azure.search.ServiceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleService = new Service(\"exampleService\", ServiceArgs.builder()\n            .name(\"example-resource\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .sku(\"standard\")\n            .localAuthenticationEnabled(false)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleService:\n    type: azure:search:Service\n    name: example\n    properties:\n      name: example-resource\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      sku: standard\n      localAuthenticationEnabled: false\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Search` - 2025-05-01\n\n## Import\n\nSearch Services can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:search/service:Service example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Search/searchServices/service1\n```\n\n","properties":{"allowedIps":{"type":"array","items":{"type":"string"},"description":"Specifies a list of inbound IPv4 or CIDRs that are allowed to access the Search Service. If the incoming IP request is from an IP address which is not included in the \u003cspan pulumi-lang-nodejs=\"`allowedIps`\" pulumi-lang-dotnet=\"`AllowedIps`\" pulumi-lang-go=\"`allowedIps`\" pulumi-lang-python=\"`allowed_ips`\" pulumi-lang-yaml=\"`allowedIps`\" pulumi-lang-java=\"`allowedIps`\"\u003e`allowed_ips`\u003c/span\u003e it will be blocked by the Search Services firewall.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`allowedIps`\" pulumi-lang-dotnet=\"`AllowedIps`\" pulumi-lang-go=\"`allowedIps`\" pulumi-lang-python=\"`allowed_ips`\" pulumi-lang-yaml=\"`allowedIps`\" pulumi-lang-java=\"`allowedIps`\"\u003e`allowed_ips`\u003c/span\u003e are only applied if the \u003cspan pulumi-lang-nodejs=\"`publicNetworkAccessEnabled`\" pulumi-lang-dotnet=\"`PublicNetworkAccessEnabled`\" pulumi-lang-go=\"`publicNetworkAccessEnabled`\" pulumi-lang-python=\"`public_network_access_enabled`\" pulumi-lang-yaml=\"`publicNetworkAccessEnabled`\" pulumi-lang-java=\"`publicNetworkAccessEnabled`\"\u003e`public_network_access_enabled`\u003c/span\u003e field has been set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, else all traffic over the public interface will be rejected, even if the \u003cspan pulumi-lang-nodejs=\"`allowedIps`\" pulumi-lang-dotnet=\"`AllowedIps`\" pulumi-lang-go=\"`allowedIps`\" pulumi-lang-python=\"`allowed_ips`\" pulumi-lang-yaml=\"`allowedIps`\" pulumi-lang-java=\"`allowedIps`\"\u003e`allowed_ips`\u003c/span\u003e field has been defined. When the \u003cspan pulumi-lang-nodejs=\"`publicNetworkAccessEnabled`\" pulumi-lang-dotnet=\"`PublicNetworkAccessEnabled`\" pulumi-lang-go=\"`publicNetworkAccessEnabled`\" pulumi-lang-python=\"`public_network_access_enabled`\" pulumi-lang-yaml=\"`publicNetworkAccessEnabled`\" pulumi-lang-java=\"`publicNetworkAccessEnabled`\"\u003e`public_network_access_enabled`\u003c/span\u003e field has been set to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e the private endpoint connections are the only allowed access point to the Search Service.\n"},"authenticationFailureMode":{"type":"string","description":"Specifies the response that the Search Service should return for requests that fail authentication. Possible values include `http401WithBearerChallenge` or \u003cspan pulumi-lang-nodejs=\"`http403`\" pulumi-lang-dotnet=\"`Http403`\" pulumi-lang-go=\"`http403`\" pulumi-lang-python=\"`http403`\" pulumi-lang-yaml=\"`http403`\" pulumi-lang-java=\"`http403`\"\u003e`http403`\u003c/span\u003e.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`authenticationFailureMode`\" pulumi-lang-dotnet=\"`AuthenticationFailureMode`\" pulumi-lang-go=\"`authenticationFailureMode`\" pulumi-lang-python=\"`authentication_failure_mode`\" pulumi-lang-yaml=\"`authenticationFailureMode`\" pulumi-lang-java=\"`authenticationFailureMode`\"\u003e`authentication_failure_mode`\u003c/span\u003e can only be configured when using \u003cspan pulumi-lang-nodejs=\"`localAuthenticationEnabled`\" pulumi-lang-dotnet=\"`LocalAuthenticationEnabled`\" pulumi-lang-go=\"`localAuthenticationEnabled`\" pulumi-lang-python=\"`local_authentication_enabled`\" pulumi-lang-yaml=\"`localAuthenticationEnabled`\" pulumi-lang-java=\"`localAuthenticationEnabled`\"\u003e`local_authentication_enabled`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e - which when set together specifies that both API Keys and AzureAD Authentication should be supported.\n"},"customerManagedKeyEncryptionComplianceStatus":{"type":"string","description":"Describes whether the search service is compliant or not with respect to having non-customer encrypted resources. If a service has more than one non-customer encrypted resource and `Enforcement` is \u003cspan pulumi-lang-nodejs=\"`enabled`\" pulumi-lang-dotnet=\"`Enabled`\" pulumi-lang-go=\"`enabled`\" pulumi-lang-python=\"`enabled`\" pulumi-lang-yaml=\"`enabled`\" pulumi-lang-java=\"`enabled`\"\u003e`enabled`\u003c/span\u003e then the service will be marked as `NonCompliant`. If all the resources are customer encrypted, then the service will be marked as `Compliant`.\n"},"customerManagedKeyEnforcementEnabled":{"type":"boolean","description":"Specifies whether the Search Service should enforce that non-customer resources are encrypted. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"hostingMode":{"type":"string","description":"Specifies the Hosting Mode, which allows for High Density partitions (that allow for up to 1000 indexes) should be supported. Possible values are `HighDensity` or `Default`. Defaults to `Default`. Changing this forces a new Search Service to be created.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`hostingMode`\" pulumi-lang-dotnet=\"`HostingMode`\" pulumi-lang-go=\"`hostingMode`\" pulumi-lang-python=\"`hosting_mode`\" pulumi-lang-yaml=\"`hostingMode`\" pulumi-lang-java=\"`hostingMode`\"\u003e`hosting_mode`\u003c/span\u003e can only be configured when \u003cspan pulumi-lang-nodejs=\"`sku`\" pulumi-lang-dotnet=\"`Sku`\" pulumi-lang-go=\"`sku`\" pulumi-lang-python=\"`sku`\" pulumi-lang-yaml=\"`sku`\" pulumi-lang-java=\"`sku`\"\u003e`sku`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`standard3`\" pulumi-lang-dotnet=\"`Standard3`\" pulumi-lang-go=\"`standard3`\" pulumi-lang-python=\"`standard3`\" pulumi-lang-yaml=\"`standard3`\" pulumi-lang-java=\"`standard3`\"\u003e`standard3`\u003c/span\u003e.\n"},"identity":{"$ref":"#/types/azure:search/ServiceIdentity:ServiceIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"localAuthenticationEnabled":{"type":"boolean","description":"Specifies whether the Search Service allows authenticating using API Keys? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"location":{"type":"string","description":"The Azure Region where the Search Service should exist. Changing this forces a new Search Service to be created.\n"},"name":{"type":"string","description":"The Name which should be used for this Search Service. Changing this forces a new Search Service to be created.\n"},"networkRuleBypassOption":{"type":"string","description":"Whether to allow trusted Azure services to access a network restricted Search Service? Possible values are `None` and `AzureServices`. Defaults to `None`.\n"},"partitionCount":{"type":"integer","description":"Specifies the number of partitions which should be created. This field cannot be set when using a \u003cspan pulumi-lang-nodejs=\"`free`\" pulumi-lang-dotnet=\"`Free`\" pulumi-lang-go=\"`free`\" pulumi-lang-python=\"`free`\" pulumi-lang-yaml=\"`free`\" pulumi-lang-java=\"`free`\"\u003e`free`\u003c/span\u003e sku ([see the Microsoft documentation](https://learn.microsoft.com/azure/search/search-sku-tier)). Possible values include \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`4`\" pulumi-lang-dotnet=\"`4`\" pulumi-lang-go=\"`4`\" pulumi-lang-python=\"`4`\" pulumi-lang-yaml=\"`4`\" pulumi-lang-java=\"`4`\"\u003e`4`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`6`\" pulumi-lang-dotnet=\"`6`\" pulumi-lang-go=\"`6`\" pulumi-lang-python=\"`6`\" pulumi-lang-yaml=\"`6`\" pulumi-lang-java=\"`6`\"\u003e`6`\u003c/span\u003e, or \u003cspan pulumi-lang-nodejs=\"`12`\" pulumi-lang-dotnet=\"`12`\" pulumi-lang-go=\"`12`\" pulumi-lang-python=\"`12`\" pulumi-lang-yaml=\"`12`\" pulumi-lang-java=\"`12`\"\u003e`12`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e.\n\n\u003e **Note:** when \u003cspan pulumi-lang-nodejs=\"`hostingMode`\" pulumi-lang-dotnet=\"`HostingMode`\" pulumi-lang-go=\"`hostingMode`\" pulumi-lang-python=\"`hosting_mode`\" pulumi-lang-yaml=\"`hostingMode`\" pulumi-lang-java=\"`hostingMode`\"\u003e`hosting_mode`\u003c/span\u003e is set to `highDensity` the maximum number of partitions allowed is \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e.\n"},"primaryKey":{"type":"string","description":"The Primary Key used for Search Service Administration.\n","secret":true},"publicNetworkAccessEnabled":{"type":"boolean","description":"Specifies whether Public Network Access is allowed for this resource. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"queryKeys":{"type":"array","items":{"$ref":"#/types/azure:search/ServiceQueryKey:ServiceQueryKey"},"description":"A \u003cspan pulumi-lang-nodejs=\"`queryKeys`\" pulumi-lang-dotnet=\"`QueryKeys`\" pulumi-lang-go=\"`queryKeys`\" pulumi-lang-python=\"`query_keys`\" pulumi-lang-yaml=\"`queryKeys`\" pulumi-lang-java=\"`queryKeys`\"\u003e`query_keys`\u003c/span\u003e block as defined below.\n"},"replicaCount":{"type":"integer","description":"Specifies the number of Replica's which should be created for this Search Service. This field cannot be set when using a \u003cspan pulumi-lang-nodejs=\"`free`\" pulumi-lang-dotnet=\"`Free`\" pulumi-lang-go=\"`free`\" pulumi-lang-python=\"`free`\" pulumi-lang-yaml=\"`free`\" pulumi-lang-java=\"`free`\"\u003e`free`\u003c/span\u003e sku ([see the Microsoft documentation](https://learn.microsoft.com/azure/search/search-sku-tier)).\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Search Service should exist. Changing this forces a new Search Service to be created.\n"},"secondaryKey":{"type":"string","description":"The Secondary Key used for Search Service Administration.\n","secret":true},"semanticSearchSku":{"type":"string","description":"Specifies the Semantic Search SKU which should be used for this Search Service. Possible values include \u003cspan pulumi-lang-nodejs=\"`free`\" pulumi-lang-dotnet=\"`Free`\" pulumi-lang-go=\"`free`\" pulumi-lang-python=\"`free`\" pulumi-lang-yaml=\"`free`\" pulumi-lang-java=\"`free`\"\u003e`free`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`standard`\" pulumi-lang-dotnet=\"`Standard`\" pulumi-lang-go=\"`standard`\" pulumi-lang-python=\"`standard`\" pulumi-lang-yaml=\"`standard`\" pulumi-lang-java=\"`standard`\"\u003e`standard`\u003c/span\u003e.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`semanticSearchSku`\" pulumi-lang-dotnet=\"`SemanticSearchSku`\" pulumi-lang-go=\"`semanticSearchSku`\" pulumi-lang-python=\"`semantic_search_sku`\" pulumi-lang-yaml=\"`semanticSearchSku`\" pulumi-lang-java=\"`semanticSearchSku`\"\u003e`semantic_search_sku`\u003c/span\u003e cannot be defined if your Search Services \u003cspan pulumi-lang-nodejs=\"`sku`\" pulumi-lang-dotnet=\"`Sku`\" pulumi-lang-go=\"`sku`\" pulumi-lang-python=\"`sku`\" pulumi-lang-yaml=\"`sku`\" pulumi-lang-java=\"`sku`\"\u003e`sku`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`free`\" pulumi-lang-dotnet=\"`Free`\" pulumi-lang-go=\"`free`\" pulumi-lang-python=\"`free`\" pulumi-lang-yaml=\"`free`\" pulumi-lang-java=\"`free`\"\u003e`free`\u003c/span\u003e. The Semantic Search feature is only available in certain regions, please see the [product documentation](https://learn.microsoft.com/azure/search/semantic-search-overview#availability-and-pricing) for more information.\n"},"sku":{"type":"string","description":"The SKU which should be used for this Search Service. Possible values include \u003cspan pulumi-lang-nodejs=\"`basic`\" pulumi-lang-dotnet=\"`Basic`\" pulumi-lang-go=\"`basic`\" pulumi-lang-python=\"`basic`\" pulumi-lang-yaml=\"`basic`\" pulumi-lang-java=\"`basic`\"\u003e`basic`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`free`\" pulumi-lang-dotnet=\"`Free`\" pulumi-lang-go=\"`free`\" pulumi-lang-python=\"`free`\" pulumi-lang-yaml=\"`free`\" pulumi-lang-java=\"`free`\"\u003e`free`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`standard`\" pulumi-lang-dotnet=\"`Standard`\" pulumi-lang-go=\"`standard`\" pulumi-lang-python=\"`standard`\" pulumi-lang-yaml=\"`standard`\" pulumi-lang-java=\"`standard`\"\u003e`standard`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`standard2`\" pulumi-lang-dotnet=\"`Standard2`\" pulumi-lang-go=\"`standard2`\" pulumi-lang-python=\"`standard2`\" pulumi-lang-yaml=\"`standard2`\" pulumi-lang-java=\"`standard2`\"\u003e`standard2`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`standard3`\" pulumi-lang-dotnet=\"`Standard3`\" pulumi-lang-go=\"`standard3`\" pulumi-lang-python=\"`standard3`\" pulumi-lang-yaml=\"`standard3`\" pulumi-lang-java=\"`standard3`\"\u003e`standard3`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`storageOptimizedL1`\" pulumi-lang-dotnet=\"`StorageOptimizedL1`\" pulumi-lang-go=\"`storageOptimizedL1`\" pulumi-lang-python=\"`storage_optimized_l1`\" pulumi-lang-yaml=\"`storageOptimizedL1`\" pulumi-lang-java=\"`storageOptimizedL1`\"\u003e`storage_optimized_l1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`storageOptimizedL2`\" pulumi-lang-dotnet=\"`StorageOptimizedL2`\" pulumi-lang-go=\"`storageOptimizedL2`\" pulumi-lang-python=\"`storage_optimized_l2`\" pulumi-lang-yaml=\"`storageOptimizedL2`\" pulumi-lang-java=\"`storageOptimizedL2`\"\u003e`storage_optimized_l2`\u003c/span\u003e.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`basic`\" pulumi-lang-dotnet=\"`Basic`\" pulumi-lang-go=\"`basic`\" pulumi-lang-python=\"`basic`\" pulumi-lang-yaml=\"`basic`\" pulumi-lang-java=\"`basic`\"\u003e`basic`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`free`\" pulumi-lang-dotnet=\"`Free`\" pulumi-lang-go=\"`free`\" pulumi-lang-python=\"`free`\" pulumi-lang-yaml=\"`free`\" pulumi-lang-java=\"`free`\"\u003e`free`\u003c/span\u003e SKUs provision the Search Service in a Shared Cluster - the \u003cspan pulumi-lang-nodejs=\"`standard`\" pulumi-lang-dotnet=\"`Standard`\" pulumi-lang-go=\"`standard`\" pulumi-lang-python=\"`standard`\" pulumi-lang-yaml=\"`standard`\" pulumi-lang-java=\"`standard`\"\u003e`standard`\u003c/span\u003e SKUs use a Dedicated Cluster.\n\n\u003e **Note:** The SKUs \u003cspan pulumi-lang-nodejs=\"`standard2`\" pulumi-lang-dotnet=\"`Standard2`\" pulumi-lang-go=\"`standard2`\" pulumi-lang-python=\"`standard2`\" pulumi-lang-yaml=\"`standard2`\" pulumi-lang-java=\"`standard2`\"\u003e`standard2`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`standard3`\" pulumi-lang-dotnet=\"`Standard3`\" pulumi-lang-go=\"`standard3`\" pulumi-lang-python=\"`standard3`\" pulumi-lang-yaml=\"`standard3`\" pulumi-lang-java=\"`standard3`\"\u003e`standard3`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`storageOptimizedL1`\" pulumi-lang-dotnet=\"`StorageOptimizedL1`\" pulumi-lang-go=\"`storageOptimizedL1`\" pulumi-lang-python=\"`storage_optimized_l1`\" pulumi-lang-yaml=\"`storageOptimizedL1`\" pulumi-lang-java=\"`storageOptimizedL1`\"\u003e`storage_optimized_l1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`storageOptimizedL2`\" pulumi-lang-dotnet=\"`StorageOptimizedL2`\" pulumi-lang-go=\"`storageOptimizedL2`\" pulumi-lang-python=\"`storage_optimized_l2`\" pulumi-lang-yaml=\"`storageOptimizedL2`\" pulumi-lang-java=\"`storageOptimizedL2`\"\u003e`storage_optimized_l2`\u003c/span\u003e are only available by submitting a quota increase request to Microsoft. Please see the [product documentation](https://learn.microsoft.com/azure/azure-resource-manager/troubleshooting/error-resource-quota?tabs=azure-cli) on how to submit a quota increase request.\n\n\u003e **Note:** SKU upgrades between Basic and Standard (S1, S2, S3) tiers from a lower tier to a higher tier (e.g., Basic → S1, S1 → S2, S2 → S3) are supported without recreating the resource. And your region must support the higher tier. All other SKU changes (downgrades, changes from/to Free tier, or changes to/from Storage Optimized tiers) will force creation of a new Search Service.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Specifies a mapping of tags which should be assigned to this Search Service.\n"}},"required":["customerManagedKeyEncryptionComplianceStatus","location","name","primaryKey","queryKeys","resourceGroupName","secondaryKey","sku"],"inputProperties":{"allowedIps":{"type":"array","items":{"type":"string"},"description":"Specifies a list of inbound IPv4 or CIDRs that are allowed to access the Search Service. If the incoming IP request is from an IP address which is not included in the \u003cspan pulumi-lang-nodejs=\"`allowedIps`\" pulumi-lang-dotnet=\"`AllowedIps`\" pulumi-lang-go=\"`allowedIps`\" pulumi-lang-python=\"`allowed_ips`\" pulumi-lang-yaml=\"`allowedIps`\" pulumi-lang-java=\"`allowedIps`\"\u003e`allowed_ips`\u003c/span\u003e it will be blocked by the Search Services firewall.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`allowedIps`\" pulumi-lang-dotnet=\"`AllowedIps`\" pulumi-lang-go=\"`allowedIps`\" pulumi-lang-python=\"`allowed_ips`\" pulumi-lang-yaml=\"`allowedIps`\" pulumi-lang-java=\"`allowedIps`\"\u003e`allowed_ips`\u003c/span\u003e are only applied if the \u003cspan pulumi-lang-nodejs=\"`publicNetworkAccessEnabled`\" pulumi-lang-dotnet=\"`PublicNetworkAccessEnabled`\" pulumi-lang-go=\"`publicNetworkAccessEnabled`\" pulumi-lang-python=\"`public_network_access_enabled`\" pulumi-lang-yaml=\"`publicNetworkAccessEnabled`\" pulumi-lang-java=\"`publicNetworkAccessEnabled`\"\u003e`public_network_access_enabled`\u003c/span\u003e field has been set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, else all traffic over the public interface will be rejected, even if the \u003cspan pulumi-lang-nodejs=\"`allowedIps`\" pulumi-lang-dotnet=\"`AllowedIps`\" pulumi-lang-go=\"`allowedIps`\" pulumi-lang-python=\"`allowed_ips`\" pulumi-lang-yaml=\"`allowedIps`\" pulumi-lang-java=\"`allowedIps`\"\u003e`allowed_ips`\u003c/span\u003e field has been defined. When the \u003cspan pulumi-lang-nodejs=\"`publicNetworkAccessEnabled`\" pulumi-lang-dotnet=\"`PublicNetworkAccessEnabled`\" pulumi-lang-go=\"`publicNetworkAccessEnabled`\" pulumi-lang-python=\"`public_network_access_enabled`\" pulumi-lang-yaml=\"`publicNetworkAccessEnabled`\" pulumi-lang-java=\"`publicNetworkAccessEnabled`\"\u003e`public_network_access_enabled`\u003c/span\u003e field has been set to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e the private endpoint connections are the only allowed access point to the Search Service.\n"},"authenticationFailureMode":{"type":"string","description":"Specifies the response that the Search Service should return for requests that fail authentication. Possible values include `http401WithBearerChallenge` or \u003cspan pulumi-lang-nodejs=\"`http403`\" pulumi-lang-dotnet=\"`Http403`\" pulumi-lang-go=\"`http403`\" pulumi-lang-python=\"`http403`\" pulumi-lang-yaml=\"`http403`\" pulumi-lang-java=\"`http403`\"\u003e`http403`\u003c/span\u003e.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`authenticationFailureMode`\" pulumi-lang-dotnet=\"`AuthenticationFailureMode`\" pulumi-lang-go=\"`authenticationFailureMode`\" pulumi-lang-python=\"`authentication_failure_mode`\" pulumi-lang-yaml=\"`authenticationFailureMode`\" pulumi-lang-java=\"`authenticationFailureMode`\"\u003e`authentication_failure_mode`\u003c/span\u003e can only be configured when using \u003cspan pulumi-lang-nodejs=\"`localAuthenticationEnabled`\" pulumi-lang-dotnet=\"`LocalAuthenticationEnabled`\" pulumi-lang-go=\"`localAuthenticationEnabled`\" pulumi-lang-python=\"`local_authentication_enabled`\" pulumi-lang-yaml=\"`localAuthenticationEnabled`\" pulumi-lang-java=\"`localAuthenticationEnabled`\"\u003e`local_authentication_enabled`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e - which when set together specifies that both API Keys and AzureAD Authentication should be supported.\n"},"customerManagedKeyEnforcementEnabled":{"type":"boolean","description":"Specifies whether the Search Service should enforce that non-customer resources are encrypted. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"hostingMode":{"type":"string","description":"Specifies the Hosting Mode, which allows for High Density partitions (that allow for up to 1000 indexes) should be supported. Possible values are `HighDensity` or `Default`. Defaults to `Default`. Changing this forces a new Search Service to be created.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`hostingMode`\" pulumi-lang-dotnet=\"`HostingMode`\" pulumi-lang-go=\"`hostingMode`\" pulumi-lang-python=\"`hosting_mode`\" pulumi-lang-yaml=\"`hostingMode`\" pulumi-lang-java=\"`hostingMode`\"\u003e`hosting_mode`\u003c/span\u003e can only be configured when \u003cspan pulumi-lang-nodejs=\"`sku`\" pulumi-lang-dotnet=\"`Sku`\" pulumi-lang-go=\"`sku`\" pulumi-lang-python=\"`sku`\" pulumi-lang-yaml=\"`sku`\" pulumi-lang-java=\"`sku`\"\u003e`sku`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`standard3`\" pulumi-lang-dotnet=\"`Standard3`\" pulumi-lang-go=\"`standard3`\" pulumi-lang-python=\"`standard3`\" pulumi-lang-yaml=\"`standard3`\" pulumi-lang-java=\"`standard3`\"\u003e`standard3`\u003c/span\u003e.\n","willReplaceOnChanges":true},"identity":{"$ref":"#/types/azure:search/ServiceIdentity:ServiceIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"localAuthenticationEnabled":{"type":"boolean","description":"Specifies whether the Search Service allows authenticating using API Keys? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"location":{"type":"string","description":"The Azure Region where the Search Service should exist. Changing this forces a new Search Service to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The Name which should be used for this Search Service. Changing this forces a new Search Service to be created.\n","willReplaceOnChanges":true},"networkRuleBypassOption":{"type":"string","description":"Whether to allow trusted Azure services to access a network restricted Search Service? Possible values are `None` and `AzureServices`. Defaults to `None`.\n"},"partitionCount":{"type":"integer","description":"Specifies the number of partitions which should be created. This field cannot be set when using a \u003cspan pulumi-lang-nodejs=\"`free`\" pulumi-lang-dotnet=\"`Free`\" pulumi-lang-go=\"`free`\" pulumi-lang-python=\"`free`\" pulumi-lang-yaml=\"`free`\" pulumi-lang-java=\"`free`\"\u003e`free`\u003c/span\u003e sku ([see the Microsoft documentation](https://learn.microsoft.com/azure/search/search-sku-tier)). Possible values include \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`4`\" pulumi-lang-dotnet=\"`4`\" pulumi-lang-go=\"`4`\" pulumi-lang-python=\"`4`\" pulumi-lang-yaml=\"`4`\" pulumi-lang-java=\"`4`\"\u003e`4`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`6`\" pulumi-lang-dotnet=\"`6`\" pulumi-lang-go=\"`6`\" pulumi-lang-python=\"`6`\" pulumi-lang-yaml=\"`6`\" pulumi-lang-java=\"`6`\"\u003e`6`\u003c/span\u003e, or \u003cspan pulumi-lang-nodejs=\"`12`\" pulumi-lang-dotnet=\"`12`\" pulumi-lang-go=\"`12`\" pulumi-lang-python=\"`12`\" pulumi-lang-yaml=\"`12`\" pulumi-lang-java=\"`12`\"\u003e`12`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e.\n\n\u003e **Note:** when \u003cspan pulumi-lang-nodejs=\"`hostingMode`\" pulumi-lang-dotnet=\"`HostingMode`\" pulumi-lang-go=\"`hostingMode`\" pulumi-lang-python=\"`hosting_mode`\" pulumi-lang-yaml=\"`hostingMode`\" pulumi-lang-java=\"`hostingMode`\"\u003e`hosting_mode`\u003c/span\u003e is set to `highDensity` the maximum number of partitions allowed is \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e.\n"},"publicNetworkAccessEnabled":{"type":"boolean","description":"Specifies whether Public Network Access is allowed for this resource. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"replicaCount":{"type":"integer","description":"Specifies the number of Replica's which should be created for this Search Service. This field cannot be set when using a \u003cspan pulumi-lang-nodejs=\"`free`\" pulumi-lang-dotnet=\"`Free`\" pulumi-lang-go=\"`free`\" pulumi-lang-python=\"`free`\" pulumi-lang-yaml=\"`free`\" pulumi-lang-java=\"`free`\"\u003e`free`\u003c/span\u003e sku ([see the Microsoft documentation](https://learn.microsoft.com/azure/search/search-sku-tier)).\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Search Service should exist. Changing this forces a new Search Service to be created.\n","willReplaceOnChanges":true},"semanticSearchSku":{"type":"string","description":"Specifies the Semantic Search SKU which should be used for this Search Service. Possible values include \u003cspan pulumi-lang-nodejs=\"`free`\" pulumi-lang-dotnet=\"`Free`\" pulumi-lang-go=\"`free`\" pulumi-lang-python=\"`free`\" pulumi-lang-yaml=\"`free`\" pulumi-lang-java=\"`free`\"\u003e`free`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`standard`\" pulumi-lang-dotnet=\"`Standard`\" pulumi-lang-go=\"`standard`\" pulumi-lang-python=\"`standard`\" pulumi-lang-yaml=\"`standard`\" pulumi-lang-java=\"`standard`\"\u003e`standard`\u003c/span\u003e.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`semanticSearchSku`\" pulumi-lang-dotnet=\"`SemanticSearchSku`\" pulumi-lang-go=\"`semanticSearchSku`\" pulumi-lang-python=\"`semantic_search_sku`\" pulumi-lang-yaml=\"`semanticSearchSku`\" pulumi-lang-java=\"`semanticSearchSku`\"\u003e`semantic_search_sku`\u003c/span\u003e cannot be defined if your Search Services \u003cspan pulumi-lang-nodejs=\"`sku`\" pulumi-lang-dotnet=\"`Sku`\" pulumi-lang-go=\"`sku`\" pulumi-lang-python=\"`sku`\" pulumi-lang-yaml=\"`sku`\" pulumi-lang-java=\"`sku`\"\u003e`sku`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`free`\" pulumi-lang-dotnet=\"`Free`\" pulumi-lang-go=\"`free`\" pulumi-lang-python=\"`free`\" pulumi-lang-yaml=\"`free`\" pulumi-lang-java=\"`free`\"\u003e`free`\u003c/span\u003e. The Semantic Search feature is only available in certain regions, please see the [product documentation](https://learn.microsoft.com/azure/search/semantic-search-overview#availability-and-pricing) for more information.\n"},"sku":{"type":"string","description":"The SKU which should be used for this Search Service. Possible values include \u003cspan pulumi-lang-nodejs=\"`basic`\" pulumi-lang-dotnet=\"`Basic`\" pulumi-lang-go=\"`basic`\" pulumi-lang-python=\"`basic`\" pulumi-lang-yaml=\"`basic`\" pulumi-lang-java=\"`basic`\"\u003e`basic`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`free`\" pulumi-lang-dotnet=\"`Free`\" pulumi-lang-go=\"`free`\" pulumi-lang-python=\"`free`\" pulumi-lang-yaml=\"`free`\" pulumi-lang-java=\"`free`\"\u003e`free`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`standard`\" pulumi-lang-dotnet=\"`Standard`\" pulumi-lang-go=\"`standard`\" pulumi-lang-python=\"`standard`\" pulumi-lang-yaml=\"`standard`\" pulumi-lang-java=\"`standard`\"\u003e`standard`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`standard2`\" pulumi-lang-dotnet=\"`Standard2`\" pulumi-lang-go=\"`standard2`\" pulumi-lang-python=\"`standard2`\" pulumi-lang-yaml=\"`standard2`\" pulumi-lang-java=\"`standard2`\"\u003e`standard2`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`standard3`\" pulumi-lang-dotnet=\"`Standard3`\" pulumi-lang-go=\"`standard3`\" pulumi-lang-python=\"`standard3`\" pulumi-lang-yaml=\"`standard3`\" pulumi-lang-java=\"`standard3`\"\u003e`standard3`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`storageOptimizedL1`\" pulumi-lang-dotnet=\"`StorageOptimizedL1`\" pulumi-lang-go=\"`storageOptimizedL1`\" pulumi-lang-python=\"`storage_optimized_l1`\" pulumi-lang-yaml=\"`storageOptimizedL1`\" pulumi-lang-java=\"`storageOptimizedL1`\"\u003e`storage_optimized_l1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`storageOptimizedL2`\" pulumi-lang-dotnet=\"`StorageOptimizedL2`\" pulumi-lang-go=\"`storageOptimizedL2`\" pulumi-lang-python=\"`storage_optimized_l2`\" pulumi-lang-yaml=\"`storageOptimizedL2`\" pulumi-lang-java=\"`storageOptimizedL2`\"\u003e`storage_optimized_l2`\u003c/span\u003e.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`basic`\" pulumi-lang-dotnet=\"`Basic`\" pulumi-lang-go=\"`basic`\" pulumi-lang-python=\"`basic`\" pulumi-lang-yaml=\"`basic`\" pulumi-lang-java=\"`basic`\"\u003e`basic`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`free`\" pulumi-lang-dotnet=\"`Free`\" pulumi-lang-go=\"`free`\" pulumi-lang-python=\"`free`\" pulumi-lang-yaml=\"`free`\" pulumi-lang-java=\"`free`\"\u003e`free`\u003c/span\u003e SKUs provision the Search Service in a Shared Cluster - the \u003cspan pulumi-lang-nodejs=\"`standard`\" pulumi-lang-dotnet=\"`Standard`\" pulumi-lang-go=\"`standard`\" pulumi-lang-python=\"`standard`\" pulumi-lang-yaml=\"`standard`\" pulumi-lang-java=\"`standard`\"\u003e`standard`\u003c/span\u003e SKUs use a Dedicated Cluster.\n\n\u003e **Note:** The SKUs \u003cspan pulumi-lang-nodejs=\"`standard2`\" pulumi-lang-dotnet=\"`Standard2`\" pulumi-lang-go=\"`standard2`\" pulumi-lang-python=\"`standard2`\" pulumi-lang-yaml=\"`standard2`\" pulumi-lang-java=\"`standard2`\"\u003e`standard2`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`standard3`\" pulumi-lang-dotnet=\"`Standard3`\" pulumi-lang-go=\"`standard3`\" pulumi-lang-python=\"`standard3`\" pulumi-lang-yaml=\"`standard3`\" pulumi-lang-java=\"`standard3`\"\u003e`standard3`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`storageOptimizedL1`\" pulumi-lang-dotnet=\"`StorageOptimizedL1`\" pulumi-lang-go=\"`storageOptimizedL1`\" pulumi-lang-python=\"`storage_optimized_l1`\" pulumi-lang-yaml=\"`storageOptimizedL1`\" pulumi-lang-java=\"`storageOptimizedL1`\"\u003e`storage_optimized_l1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`storageOptimizedL2`\" pulumi-lang-dotnet=\"`StorageOptimizedL2`\" pulumi-lang-go=\"`storageOptimizedL2`\" pulumi-lang-python=\"`storage_optimized_l2`\" pulumi-lang-yaml=\"`storageOptimizedL2`\" pulumi-lang-java=\"`storageOptimizedL2`\"\u003e`storage_optimized_l2`\u003c/span\u003e are only available by submitting a quota increase request to Microsoft. Please see the [product documentation](https://learn.microsoft.com/azure/azure-resource-manager/troubleshooting/error-resource-quota?tabs=azure-cli) on how to submit a quota increase request.\n\n\u003e **Note:** SKU upgrades between Basic and Standard (S1, S2, S3) tiers from a lower tier to a higher tier (e.g., Basic → S1, S1 → S2, S2 → S3) are supported without recreating the resource. And your region must support the higher tier. All other SKU changes (downgrades, changes from/to Free tier, or changes to/from Storage Optimized tiers) will force creation of a new Search Service.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Specifies a mapping of tags which should be assigned to this Search Service.\n"}},"requiredInputs":["resourceGroupName","sku"],"stateInputs":{"description":"Input properties used for looking up and filtering Service resources.\n","properties":{"allowedIps":{"type":"array","items":{"type":"string"},"description":"Specifies a list of inbound IPv4 or CIDRs that are allowed to access the Search Service. If the incoming IP request is from an IP address which is not included in the \u003cspan pulumi-lang-nodejs=\"`allowedIps`\" pulumi-lang-dotnet=\"`AllowedIps`\" pulumi-lang-go=\"`allowedIps`\" pulumi-lang-python=\"`allowed_ips`\" pulumi-lang-yaml=\"`allowedIps`\" pulumi-lang-java=\"`allowedIps`\"\u003e`allowed_ips`\u003c/span\u003e it will be blocked by the Search Services firewall.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`allowedIps`\" pulumi-lang-dotnet=\"`AllowedIps`\" pulumi-lang-go=\"`allowedIps`\" pulumi-lang-python=\"`allowed_ips`\" pulumi-lang-yaml=\"`allowedIps`\" pulumi-lang-java=\"`allowedIps`\"\u003e`allowed_ips`\u003c/span\u003e are only applied if the \u003cspan pulumi-lang-nodejs=\"`publicNetworkAccessEnabled`\" pulumi-lang-dotnet=\"`PublicNetworkAccessEnabled`\" pulumi-lang-go=\"`publicNetworkAccessEnabled`\" pulumi-lang-python=\"`public_network_access_enabled`\" pulumi-lang-yaml=\"`publicNetworkAccessEnabled`\" pulumi-lang-java=\"`publicNetworkAccessEnabled`\"\u003e`public_network_access_enabled`\u003c/span\u003e field has been set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, else all traffic over the public interface will be rejected, even if the \u003cspan pulumi-lang-nodejs=\"`allowedIps`\" pulumi-lang-dotnet=\"`AllowedIps`\" pulumi-lang-go=\"`allowedIps`\" pulumi-lang-python=\"`allowed_ips`\" pulumi-lang-yaml=\"`allowedIps`\" pulumi-lang-java=\"`allowedIps`\"\u003e`allowed_ips`\u003c/span\u003e field has been defined. When the \u003cspan pulumi-lang-nodejs=\"`publicNetworkAccessEnabled`\" pulumi-lang-dotnet=\"`PublicNetworkAccessEnabled`\" pulumi-lang-go=\"`publicNetworkAccessEnabled`\" pulumi-lang-python=\"`public_network_access_enabled`\" pulumi-lang-yaml=\"`publicNetworkAccessEnabled`\" pulumi-lang-java=\"`publicNetworkAccessEnabled`\"\u003e`public_network_access_enabled`\u003c/span\u003e field has been set to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e the private endpoint connections are the only allowed access point to the Search Service.\n"},"authenticationFailureMode":{"type":"string","description":"Specifies the response that the Search Service should return for requests that fail authentication. Possible values include `http401WithBearerChallenge` or \u003cspan pulumi-lang-nodejs=\"`http403`\" pulumi-lang-dotnet=\"`Http403`\" pulumi-lang-go=\"`http403`\" pulumi-lang-python=\"`http403`\" pulumi-lang-yaml=\"`http403`\" pulumi-lang-java=\"`http403`\"\u003e`http403`\u003c/span\u003e.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`authenticationFailureMode`\" pulumi-lang-dotnet=\"`AuthenticationFailureMode`\" pulumi-lang-go=\"`authenticationFailureMode`\" pulumi-lang-python=\"`authentication_failure_mode`\" pulumi-lang-yaml=\"`authenticationFailureMode`\" pulumi-lang-java=\"`authenticationFailureMode`\"\u003e`authentication_failure_mode`\u003c/span\u003e can only be configured when using \u003cspan pulumi-lang-nodejs=\"`localAuthenticationEnabled`\" pulumi-lang-dotnet=\"`LocalAuthenticationEnabled`\" pulumi-lang-go=\"`localAuthenticationEnabled`\" pulumi-lang-python=\"`local_authentication_enabled`\" pulumi-lang-yaml=\"`localAuthenticationEnabled`\" pulumi-lang-java=\"`localAuthenticationEnabled`\"\u003e`local_authentication_enabled`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e - which when set together specifies that both API Keys and AzureAD Authentication should be supported.\n"},"customerManagedKeyEncryptionComplianceStatus":{"type":"string","description":"Describes whether the search service is compliant or not with respect to having non-customer encrypted resources. If a service has more than one non-customer encrypted resource and `Enforcement` is \u003cspan pulumi-lang-nodejs=\"`enabled`\" pulumi-lang-dotnet=\"`Enabled`\" pulumi-lang-go=\"`enabled`\" pulumi-lang-python=\"`enabled`\" pulumi-lang-yaml=\"`enabled`\" pulumi-lang-java=\"`enabled`\"\u003e`enabled`\u003c/span\u003e then the service will be marked as `NonCompliant`. If all the resources are customer encrypted, then the service will be marked as `Compliant`.\n"},"customerManagedKeyEnforcementEnabled":{"type":"boolean","description":"Specifies whether the Search Service should enforce that non-customer resources are encrypted. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"hostingMode":{"type":"string","description":"Specifies the Hosting Mode, which allows for High Density partitions (that allow for up to 1000 indexes) should be supported. Possible values are `HighDensity` or `Default`. Defaults to `Default`. Changing this forces a new Search Service to be created.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`hostingMode`\" pulumi-lang-dotnet=\"`HostingMode`\" pulumi-lang-go=\"`hostingMode`\" pulumi-lang-python=\"`hosting_mode`\" pulumi-lang-yaml=\"`hostingMode`\" pulumi-lang-java=\"`hostingMode`\"\u003e`hosting_mode`\u003c/span\u003e can only be configured when \u003cspan pulumi-lang-nodejs=\"`sku`\" pulumi-lang-dotnet=\"`Sku`\" pulumi-lang-go=\"`sku`\" pulumi-lang-python=\"`sku`\" pulumi-lang-yaml=\"`sku`\" pulumi-lang-java=\"`sku`\"\u003e`sku`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`standard3`\" pulumi-lang-dotnet=\"`Standard3`\" pulumi-lang-go=\"`standard3`\" pulumi-lang-python=\"`standard3`\" pulumi-lang-yaml=\"`standard3`\" pulumi-lang-java=\"`standard3`\"\u003e`standard3`\u003c/span\u003e.\n","willReplaceOnChanges":true},"identity":{"$ref":"#/types/azure:search/ServiceIdentity:ServiceIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"localAuthenticationEnabled":{"type":"boolean","description":"Specifies whether the Search Service allows authenticating using API Keys? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"location":{"type":"string","description":"The Azure Region where the Search Service should exist. Changing this forces a new Search Service to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The Name which should be used for this Search Service. Changing this forces a new Search Service to be created.\n","willReplaceOnChanges":true},"networkRuleBypassOption":{"type":"string","description":"Whether to allow trusted Azure services to access a network restricted Search Service? Possible values are `None` and `AzureServices`. Defaults to `None`.\n"},"partitionCount":{"type":"integer","description":"Specifies the number of partitions which should be created. This field cannot be set when using a \u003cspan pulumi-lang-nodejs=\"`free`\" pulumi-lang-dotnet=\"`Free`\" pulumi-lang-go=\"`free`\" pulumi-lang-python=\"`free`\" pulumi-lang-yaml=\"`free`\" pulumi-lang-java=\"`free`\"\u003e`free`\u003c/span\u003e sku ([see the Microsoft documentation](https://learn.microsoft.com/azure/search/search-sku-tier)). Possible values include \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`4`\" pulumi-lang-dotnet=\"`4`\" pulumi-lang-go=\"`4`\" pulumi-lang-python=\"`4`\" pulumi-lang-yaml=\"`4`\" pulumi-lang-java=\"`4`\"\u003e`4`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`6`\" pulumi-lang-dotnet=\"`6`\" pulumi-lang-go=\"`6`\" pulumi-lang-python=\"`6`\" pulumi-lang-yaml=\"`6`\" pulumi-lang-java=\"`6`\"\u003e`6`\u003c/span\u003e, or \u003cspan pulumi-lang-nodejs=\"`12`\" pulumi-lang-dotnet=\"`12`\" pulumi-lang-go=\"`12`\" pulumi-lang-python=\"`12`\" pulumi-lang-yaml=\"`12`\" pulumi-lang-java=\"`12`\"\u003e`12`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e.\n\n\u003e **Note:** when \u003cspan pulumi-lang-nodejs=\"`hostingMode`\" pulumi-lang-dotnet=\"`HostingMode`\" pulumi-lang-go=\"`hostingMode`\" pulumi-lang-python=\"`hosting_mode`\" pulumi-lang-yaml=\"`hostingMode`\" pulumi-lang-java=\"`hostingMode`\"\u003e`hosting_mode`\u003c/span\u003e is set to `highDensity` the maximum number of partitions allowed is \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e.\n"},"primaryKey":{"type":"string","description":"The Primary Key used for Search Service Administration.\n","secret":true},"publicNetworkAccessEnabled":{"type":"boolean","description":"Specifies whether Public Network Access is allowed for this resource. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"queryKeys":{"type":"array","items":{"$ref":"#/types/azure:search/ServiceQueryKey:ServiceQueryKey"},"description":"A \u003cspan pulumi-lang-nodejs=\"`queryKeys`\" pulumi-lang-dotnet=\"`QueryKeys`\" pulumi-lang-go=\"`queryKeys`\" pulumi-lang-python=\"`query_keys`\" pulumi-lang-yaml=\"`queryKeys`\" pulumi-lang-java=\"`queryKeys`\"\u003e`query_keys`\u003c/span\u003e block as defined below.\n"},"replicaCount":{"type":"integer","description":"Specifies the number of Replica's which should be created for this Search Service. This field cannot be set when using a \u003cspan pulumi-lang-nodejs=\"`free`\" pulumi-lang-dotnet=\"`Free`\" pulumi-lang-go=\"`free`\" pulumi-lang-python=\"`free`\" pulumi-lang-yaml=\"`free`\" pulumi-lang-java=\"`free`\"\u003e`free`\u003c/span\u003e sku ([see the Microsoft documentation](https://learn.microsoft.com/azure/search/search-sku-tier)).\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Search Service should exist. Changing this forces a new Search Service to be created.\n","willReplaceOnChanges":true},"secondaryKey":{"type":"string","description":"The Secondary Key used for Search Service Administration.\n","secret":true},"semanticSearchSku":{"type":"string","description":"Specifies the Semantic Search SKU which should be used for this Search Service. Possible values include \u003cspan pulumi-lang-nodejs=\"`free`\" pulumi-lang-dotnet=\"`Free`\" pulumi-lang-go=\"`free`\" pulumi-lang-python=\"`free`\" pulumi-lang-yaml=\"`free`\" pulumi-lang-java=\"`free`\"\u003e`free`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`standard`\" pulumi-lang-dotnet=\"`Standard`\" pulumi-lang-go=\"`standard`\" pulumi-lang-python=\"`standard`\" pulumi-lang-yaml=\"`standard`\" pulumi-lang-java=\"`standard`\"\u003e`standard`\u003c/span\u003e.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`semanticSearchSku`\" pulumi-lang-dotnet=\"`SemanticSearchSku`\" pulumi-lang-go=\"`semanticSearchSku`\" pulumi-lang-python=\"`semantic_search_sku`\" pulumi-lang-yaml=\"`semanticSearchSku`\" pulumi-lang-java=\"`semanticSearchSku`\"\u003e`semantic_search_sku`\u003c/span\u003e cannot be defined if your Search Services \u003cspan pulumi-lang-nodejs=\"`sku`\" pulumi-lang-dotnet=\"`Sku`\" pulumi-lang-go=\"`sku`\" pulumi-lang-python=\"`sku`\" pulumi-lang-yaml=\"`sku`\" pulumi-lang-java=\"`sku`\"\u003e`sku`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`free`\" pulumi-lang-dotnet=\"`Free`\" pulumi-lang-go=\"`free`\" pulumi-lang-python=\"`free`\" pulumi-lang-yaml=\"`free`\" pulumi-lang-java=\"`free`\"\u003e`free`\u003c/span\u003e. The Semantic Search feature is only available in certain regions, please see the [product documentation](https://learn.microsoft.com/azure/search/semantic-search-overview#availability-and-pricing) for more information.\n"},"sku":{"type":"string","description":"The SKU which should be used for this Search Service. Possible values include \u003cspan pulumi-lang-nodejs=\"`basic`\" pulumi-lang-dotnet=\"`Basic`\" pulumi-lang-go=\"`basic`\" pulumi-lang-python=\"`basic`\" pulumi-lang-yaml=\"`basic`\" pulumi-lang-java=\"`basic`\"\u003e`basic`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`free`\" pulumi-lang-dotnet=\"`Free`\" pulumi-lang-go=\"`free`\" pulumi-lang-python=\"`free`\" pulumi-lang-yaml=\"`free`\" pulumi-lang-java=\"`free`\"\u003e`free`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`standard`\" pulumi-lang-dotnet=\"`Standard`\" pulumi-lang-go=\"`standard`\" pulumi-lang-python=\"`standard`\" pulumi-lang-yaml=\"`standard`\" pulumi-lang-java=\"`standard`\"\u003e`standard`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`standard2`\" pulumi-lang-dotnet=\"`Standard2`\" pulumi-lang-go=\"`standard2`\" pulumi-lang-python=\"`standard2`\" pulumi-lang-yaml=\"`standard2`\" pulumi-lang-java=\"`standard2`\"\u003e`standard2`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`standard3`\" pulumi-lang-dotnet=\"`Standard3`\" pulumi-lang-go=\"`standard3`\" pulumi-lang-python=\"`standard3`\" pulumi-lang-yaml=\"`standard3`\" pulumi-lang-java=\"`standard3`\"\u003e`standard3`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`storageOptimizedL1`\" pulumi-lang-dotnet=\"`StorageOptimizedL1`\" pulumi-lang-go=\"`storageOptimizedL1`\" pulumi-lang-python=\"`storage_optimized_l1`\" pulumi-lang-yaml=\"`storageOptimizedL1`\" pulumi-lang-java=\"`storageOptimizedL1`\"\u003e`storage_optimized_l1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`storageOptimizedL2`\" pulumi-lang-dotnet=\"`StorageOptimizedL2`\" pulumi-lang-go=\"`storageOptimizedL2`\" pulumi-lang-python=\"`storage_optimized_l2`\" pulumi-lang-yaml=\"`storageOptimizedL2`\" pulumi-lang-java=\"`storageOptimizedL2`\"\u003e`storage_optimized_l2`\u003c/span\u003e.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`basic`\" pulumi-lang-dotnet=\"`Basic`\" pulumi-lang-go=\"`basic`\" pulumi-lang-python=\"`basic`\" pulumi-lang-yaml=\"`basic`\" pulumi-lang-java=\"`basic`\"\u003e`basic`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`free`\" pulumi-lang-dotnet=\"`Free`\" pulumi-lang-go=\"`free`\" pulumi-lang-python=\"`free`\" pulumi-lang-yaml=\"`free`\" pulumi-lang-java=\"`free`\"\u003e`free`\u003c/span\u003e SKUs provision the Search Service in a Shared Cluster - the \u003cspan pulumi-lang-nodejs=\"`standard`\" pulumi-lang-dotnet=\"`Standard`\" pulumi-lang-go=\"`standard`\" pulumi-lang-python=\"`standard`\" pulumi-lang-yaml=\"`standard`\" pulumi-lang-java=\"`standard`\"\u003e`standard`\u003c/span\u003e SKUs use a Dedicated Cluster.\n\n\u003e **Note:** The SKUs \u003cspan pulumi-lang-nodejs=\"`standard2`\" pulumi-lang-dotnet=\"`Standard2`\" pulumi-lang-go=\"`standard2`\" pulumi-lang-python=\"`standard2`\" pulumi-lang-yaml=\"`standard2`\" pulumi-lang-java=\"`standard2`\"\u003e`standard2`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`standard3`\" pulumi-lang-dotnet=\"`Standard3`\" pulumi-lang-go=\"`standard3`\" pulumi-lang-python=\"`standard3`\" pulumi-lang-yaml=\"`standard3`\" pulumi-lang-java=\"`standard3`\"\u003e`standard3`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`storageOptimizedL1`\" pulumi-lang-dotnet=\"`StorageOptimizedL1`\" pulumi-lang-go=\"`storageOptimizedL1`\" pulumi-lang-python=\"`storage_optimized_l1`\" pulumi-lang-yaml=\"`storageOptimizedL1`\" pulumi-lang-java=\"`storageOptimizedL1`\"\u003e`storage_optimized_l1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`storageOptimizedL2`\" pulumi-lang-dotnet=\"`StorageOptimizedL2`\" pulumi-lang-go=\"`storageOptimizedL2`\" pulumi-lang-python=\"`storage_optimized_l2`\" pulumi-lang-yaml=\"`storageOptimizedL2`\" pulumi-lang-java=\"`storageOptimizedL2`\"\u003e`storage_optimized_l2`\u003c/span\u003e are only available by submitting a quota increase request to Microsoft. Please see the [product documentation](https://learn.microsoft.com/azure/azure-resource-manager/troubleshooting/error-resource-quota?tabs=azure-cli) on how to submit a quota increase request.\n\n\u003e **Note:** SKU upgrades between Basic and Standard (S1, S2, S3) tiers from a lower tier to a higher tier (e.g., Basic → S1, S1 → S2, S2 → S3) are supported without recreating the resource. And your region must support the higher tier. All other SKU changes (downgrades, changes from/to Free tier, or changes to/from Storage Optimized tiers) will force creation of a new Search Service.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Specifies a mapping of tags which should be assigned to this Search Service.\n"}},"type":"object"}},"azure:search/sharedPrivateLinkService:SharedPrivateLinkService":{"description":"Manages the Shared Private Link Service for an Azure Search Service.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst test = new azure.core.ResourceGroup(\"test\", {\n    name: \"example-resourceGroup\",\n    location: \"east us\",\n});\nconst testService = new azure.search.Service(\"test\", {\n    name: \"example-search\",\n    resourceGroupName: test.name,\n    location: test.location,\n    sku: \"standard\",\n});\nconst testAccount = new azure.storage.Account(\"test\", {\n    name: \"example\",\n    resourceGroupName: test.name,\n    location: test.location,\n    accountTier: \"Standard\",\n    accountReplicationType: \"LRS\",\n});\nconst testSharedPrivateLinkService = new azure.search.SharedPrivateLinkService(\"test\", {\n    name: \"example-spl\",\n    searchServiceId: testService.id,\n    subresourceName: \"blob\",\n    targetResourceId: testAccount.id,\n    requestMessage: \"please approve\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\ntest = azure.core.ResourceGroup(\"test\",\n    name=\"example-resourceGroup\",\n    location=\"east us\")\ntest_service = azure.search.Service(\"test\",\n    name=\"example-search\",\n    resource_group_name=test.name,\n    location=test.location,\n    sku=\"standard\")\ntest_account = azure.storage.Account(\"test\",\n    name=\"example\",\n    resource_group_name=test.name,\n    location=test.location,\n    account_tier=\"Standard\",\n    account_replication_type=\"LRS\")\ntest_shared_private_link_service = azure.search.SharedPrivateLinkService(\"test\",\n    name=\"example-spl\",\n    search_service_id=test_service.id,\n    subresource_name=\"blob\",\n    target_resource_id=test_account.id,\n    request_message=\"please approve\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var test = new Azure.Core.ResourceGroup(\"test\", new()\n    {\n        Name = \"example-resourceGroup\",\n        Location = \"east us\",\n    });\n\n    var testService = new Azure.Search.Service(\"test\", new()\n    {\n        Name = \"example-search\",\n        ResourceGroupName = test.Name,\n        Location = test.Location,\n        Sku = \"standard\",\n    });\n\n    var testAccount = new Azure.Storage.Account(\"test\", new()\n    {\n        Name = \"example\",\n        ResourceGroupName = test.Name,\n        Location = test.Location,\n        AccountTier = \"Standard\",\n        AccountReplicationType = \"LRS\",\n    });\n\n    var testSharedPrivateLinkService = new Azure.Search.SharedPrivateLinkService(\"test\", new()\n    {\n        Name = \"example-spl\",\n        SearchServiceId = testService.Id,\n        SubresourceName = \"blob\",\n        TargetResourceId = testAccount.Id,\n        RequestMessage = \"please approve\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/search\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttest, err := core.NewResourceGroup(ctx, \"test\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resourceGroup\"),\n\t\t\tLocation: pulumi.String(\"east us\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestService, err := search.NewService(ctx, \"test\", \u0026search.ServiceArgs{\n\t\t\tName:              pulumi.String(\"example-search\"),\n\t\t\tResourceGroupName: test.Name,\n\t\t\tLocation:          test.Location,\n\t\t\tSku:               pulumi.String(\"standard\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestAccount, err := storage.NewAccount(ctx, \"test\", \u0026storage.AccountArgs{\n\t\t\tName:                   pulumi.String(\"example\"),\n\t\t\tResourceGroupName:      test.Name,\n\t\t\tLocation:               test.Location,\n\t\t\tAccountTier:            pulumi.String(\"Standard\"),\n\t\t\tAccountReplicationType: pulumi.String(\"LRS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = search.NewSharedPrivateLinkService(ctx, \"test\", \u0026search.SharedPrivateLinkServiceArgs{\n\t\t\tName:             pulumi.String(\"example-spl\"),\n\t\t\tSearchServiceId:  testService.ID(),\n\t\t\tSubresourceName:  pulumi.String(\"blob\"),\n\t\t\tTargetResourceId: testAccount.ID(),\n\t\t\tRequestMessage:   pulumi.String(\"please approve\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.search.Service;\nimport com.pulumi.azure.search.ServiceArgs;\nimport com.pulumi.azure.storage.Account;\nimport com.pulumi.azure.storage.AccountArgs;\nimport com.pulumi.azure.search.SharedPrivateLinkService;\nimport com.pulumi.azure.search.SharedPrivateLinkServiceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var test = new ResourceGroup(\"test\", ResourceGroupArgs.builder()\n            .name(\"example-resourceGroup\")\n            .location(\"east us\")\n            .build());\n\n        var testService = new Service(\"testService\", ServiceArgs.builder()\n            .name(\"example-search\")\n            .resourceGroupName(test.name())\n            .location(test.location())\n            .sku(\"standard\")\n            .build());\n\n        var testAccount = new Account(\"testAccount\", AccountArgs.builder()\n            .name(\"example\")\n            .resourceGroupName(test.name())\n            .location(test.location())\n            .accountTier(\"Standard\")\n            .accountReplicationType(\"LRS\")\n            .build());\n\n        var testSharedPrivateLinkService = new SharedPrivateLinkService(\"testSharedPrivateLinkService\", SharedPrivateLinkServiceArgs.builder()\n            .name(\"example-spl\")\n            .searchServiceId(testService.id())\n            .subresourceName(\"blob\")\n            .targetResourceId(testAccount.id())\n            .requestMessage(\"please approve\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  test:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resourceGroup\n      location: east us\n  testService:\n    type: azure:search:Service\n    name: test\n    properties:\n      name: example-search\n      resourceGroupName: ${test.name}\n      location: ${test.location}\n      sku: standard\n  testAccount:\n    type: azure:storage:Account\n    name: test\n    properties:\n      name: example\n      resourceGroupName: ${test.name}\n      location: ${test.location}\n      accountTier: Standard\n      accountReplicationType: LRS\n  testSharedPrivateLinkService:\n    type: azure:search:SharedPrivateLinkService\n    name: test\n    properties:\n      name: example-spl\n      searchServiceId: ${testService.id}\n      subresourceName: blob\n      targetResourceId: ${testAccount.id}\n      requestMessage: please approve\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Search` - 2025-05-01\n\n## Import\n\nAzure Search Shared Private Link Resource can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:search/sharedPrivateLinkService:SharedPrivateLinkService example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Search/searchServices/service1/sharedPrivateLinkResources/resource1\n```\n\n","properties":{"name":{"type":"string","description":"Specify the name of the Azure Search Shared Private Link Resource. Changing this forces a new resource to be created.\n"},"requestMessage":{"type":"string","description":"Specify the request message for requesting approval of the Shared Private Link Enabled Remote Resource.\n"},"searchServiceId":{"type":"string","description":"Specify the id of the Azure Search Service. Changing this forces a new resource to be created.\n"},"status":{"type":"string","description":"The status of a private endpoint connection. Possible values are Pending, Approved, Rejected or Disconnected.\n"},"subresourceName":{"type":"string","description":"Specify the sub resource name which the Azure Search Private Endpoint is able to connect to. Changing this forces a new resource to be created.\n"},"targetResourceId":{"type":"string","description":"Specify the ID of the Shared Private Link Enabled Remote Resource which this Azure Search Private Endpoint should be connected to. Changing this forces a new resource to be created.\n\n\u003e **Note:** The sub resource name should match with the type of the target resource id that's being specified.\n"}},"required":["name","searchServiceId","status","subresourceName","targetResourceId"],"inputProperties":{"name":{"type":"string","description":"Specify the name of the Azure Search Shared Private Link Resource. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"requestMessage":{"type":"string","description":"Specify the request message for requesting approval of the Shared Private Link Enabled Remote Resource.\n"},"searchServiceId":{"type":"string","description":"Specify the id of the Azure Search Service. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"subresourceName":{"type":"string","description":"Specify the sub resource name which the Azure Search Private Endpoint is able to connect to. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"targetResourceId":{"type":"string","description":"Specify the ID of the Shared Private Link Enabled Remote Resource which this Azure Search Private Endpoint should be connected to. Changing this forces a new resource to be created.\n\n\u003e **Note:** The sub resource name should match with the type of the target resource id that's being specified.\n","willReplaceOnChanges":true}},"requiredInputs":["searchServiceId","subresourceName","targetResourceId"],"stateInputs":{"description":"Input properties used for looking up and filtering SharedPrivateLinkService resources.\n","properties":{"name":{"type":"string","description":"Specify the name of the Azure Search Shared Private Link Resource. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"requestMessage":{"type":"string","description":"Specify the request message for requesting approval of the Shared Private Link Enabled Remote Resource.\n"},"searchServiceId":{"type":"string","description":"Specify the id of the Azure Search Service. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"status":{"type":"string","description":"The status of a private endpoint connection. Possible values are Pending, Approved, Rejected or Disconnected.\n"},"subresourceName":{"type":"string","description":"Specify the sub resource name which the Azure Search Private Endpoint is able to connect to. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"targetResourceId":{"type":"string","description":"Specify the ID of the Shared Private Link Enabled Remote Resource which this Azure Search Private Endpoint should be connected to. Changing this forces a new resource to be created.\n\n\u003e **Note:** The sub resource name should match with the type of the target resource id that's being specified.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:securitycenter/advancedThreatProtection:AdvancedThreatProtection":{"description":"Manages a resources Advanced Threat Protection setting.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"atp-example\",\n    location: \"West Europe\",\n});\nconst exampleAccount = new azure.storage.Account(\"example\", {\n    name: \"examplestorage\",\n    resourceGroupName: example.name,\n    location: example.location,\n    accountTier: \"Standard\",\n    accountReplicationType: \"LRS\",\n    tags: {\n        environment: \"example\",\n    },\n});\nconst exampleAdvancedThreatProtection = new azure.securitycenter.AdvancedThreatProtection(\"example\", {\n    targetResourceId: exampleAccount.id,\n    enabled: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"atp-example\",\n    location=\"West Europe\")\nexample_account = azure.storage.Account(\"example\",\n    name=\"examplestorage\",\n    resource_group_name=example.name,\n    location=example.location,\n    account_tier=\"Standard\",\n    account_replication_type=\"LRS\",\n    tags={\n        \"environment\": \"example\",\n    })\nexample_advanced_threat_protection = azure.securitycenter.AdvancedThreatProtection(\"example\",\n    target_resource_id=example_account.id,\n    enabled=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"atp-example\",\n        Location = \"West Europe\",\n    });\n\n    var exampleAccount = new Azure.Storage.Account(\"example\", new()\n    {\n        Name = \"examplestorage\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        AccountTier = \"Standard\",\n        AccountReplicationType = \"LRS\",\n        Tags = \n        {\n            { \"environment\", \"example\" },\n        },\n    });\n\n    var exampleAdvancedThreatProtection = new Azure.SecurityCenter.AdvancedThreatProtection(\"example\", new()\n    {\n        TargetResourceId = exampleAccount.Id,\n        Enabled = true,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/securitycenter\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"atp-example\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := storage.NewAccount(ctx, \"example\", \u0026storage.AccountArgs{\n\t\t\tName:                   pulumi.String(\"examplestorage\"),\n\t\t\tResourceGroupName:      example.Name,\n\t\t\tLocation:               example.Location,\n\t\t\tAccountTier:            pulumi.String(\"Standard\"),\n\t\t\tAccountReplicationType: pulumi.String(\"LRS\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"environment\": pulumi.String(\"example\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = securitycenter.NewAdvancedThreatProtection(ctx, \"example\", \u0026securitycenter.AdvancedThreatProtectionArgs{\n\t\t\tTargetResourceId: exampleAccount.ID(),\n\t\t\tEnabled:          pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.storage.Account;\nimport com.pulumi.azure.storage.AccountArgs;\nimport com.pulumi.azure.securitycenter.AdvancedThreatProtection;\nimport com.pulumi.azure.securitycenter.AdvancedThreatProtectionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"atp-example\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"examplestorage\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .accountTier(\"Standard\")\n            .accountReplicationType(\"LRS\")\n            .tags(Map.of(\"environment\", \"example\"))\n            .build());\n\n        var exampleAdvancedThreatProtection = new AdvancedThreatProtection(\"exampleAdvancedThreatProtection\", AdvancedThreatProtectionArgs.builder()\n            .targetResourceId(exampleAccount.id())\n            .enabled(true)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: atp-example\n      location: West Europe\n  exampleAccount:\n    type: azure:storage:Account\n    name: example\n    properties:\n      name: examplestorage\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      accountTier: Standard\n      accountReplicationType: LRS\n      tags:\n        environment: example\n  exampleAdvancedThreatProtection:\n    type: azure:securitycenter:AdvancedThreatProtection\n    name: example\n    properties:\n      targetResourceId: ${exampleAccount.id}\n      enabled: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nAdvanced Threat Protection can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:securitycenter/advancedThreatProtection:AdvancedThreatProtection example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/exampleResourceGroup/providers/Microsoft.Storage/storageAccounts/exampleaccount/providers/Microsoft.Security/advancedThreatProtectionSettings/default\n```\n\n","properties":{"enabled":{"type":"boolean","description":"Should Advanced Threat Protection be enabled on this resource?\n"},"targetResourceId":{"type":"string","description":"The ID of the Azure Resource which to enable Advanced Threat Protection on. Changing this forces a new resource to be created.\n"}},"required":["enabled","targetResourceId"],"inputProperties":{"enabled":{"type":"boolean","description":"Should Advanced Threat Protection be enabled on this resource?\n"},"targetResourceId":{"type":"string","description":"The ID of the Azure Resource which to enable Advanced Threat Protection on. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["enabled","targetResourceId"],"stateInputs":{"description":"Input properties used for looking up and filtering AdvancedThreatProtection resources.\n","properties":{"enabled":{"type":"boolean","description":"Should Advanced Threat Protection be enabled on this resource?\n"},"targetResourceId":{"type":"string","description":"The ID of the Azure Resource which to enable Advanced Threat Protection on. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:securitycenter/assessment:Assessment":{"description":"Manages the Security Center Assessment for Azure Security Center.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\nimport * as std from \"@pulumi/std\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"example\", {\n    name: \"example-network\",\n    resourceGroupName: example.name,\n    location: example.location,\n    addressSpaces: [\"10.0.0.0/16\"],\n});\nconst internal = new azure.network.Subnet(\"internal\", {\n    name: \"internal\",\n    resourceGroupName: example.name,\n    virtualNetworkName: exampleVirtualNetwork.name,\n    addressPrefixes: [\"10.0.2.0/24\"],\n});\nconst exampleLinuxVirtualMachineScaleSet = new azure.compute.LinuxVirtualMachineScaleSet(\"example\", {\n    name: \"example-vmss\",\n    resourceGroupName: example.name,\n    location: example.location,\n    sku: \"Standard_F2\",\n    instances: 1,\n    adminUsername: \"adminuser\",\n    adminSshKeys: [{\n        username: \"adminuser\",\n        publicKey: std.file({\n            input: \"~/.ssh/id_rsa.pub\",\n        }).then(invoke =\u003e invoke.result),\n    }],\n    sourceImageReference: {\n        publisher: \"Canonical\",\n        offer: \"0001-com-ubuntu-server-jammy\",\n        sku: \"22_04-lts\",\n        version: \"latest\",\n    },\n    osDisk: {\n        storageAccountType: \"Standard_LRS\",\n        caching: \"ReadWrite\",\n    },\n    networkInterfaces: [{\n        name: \"example\",\n        primary: true,\n        ipConfigurations: [{\n            name: \"internal\",\n            primary: true,\n            subnetId: internal.id,\n        }],\n    }],\n});\nconst exampleAssessmentPolicy = new azure.securitycenter.AssessmentPolicy(\"example\", {\n    displayName: \"Test Display Name\",\n    severity: \"Medium\",\n    description: \"Test Description\",\n});\nconst exampleAssessment = new azure.securitycenter.Assessment(\"example\", {\n    assessmentPolicyId: exampleAssessmentPolicy.id,\n    targetResourceId: exampleLinuxVirtualMachineScaleSet.id,\n    status: {\n        code: \"Healthy\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\nimport pulumi_std as std\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_virtual_network = azure.network.VirtualNetwork(\"example\",\n    name=\"example-network\",\n    resource_group_name=example.name,\n    location=example.location,\n    address_spaces=[\"10.0.0.0/16\"])\ninternal = azure.network.Subnet(\"internal\",\n    name=\"internal\",\n    resource_group_name=example.name,\n    virtual_network_name=example_virtual_network.name,\n    address_prefixes=[\"10.0.2.0/24\"])\nexample_linux_virtual_machine_scale_set = azure.compute.LinuxVirtualMachineScaleSet(\"example\",\n    name=\"example-vmss\",\n    resource_group_name=example.name,\n    location=example.location,\n    sku=\"Standard_F2\",\n    instances=1,\n    admin_username=\"adminuser\",\n    admin_ssh_keys=[{\n        \"username\": \"adminuser\",\n        \"public_key\": std.file(input=\"~/.ssh/id_rsa.pub\").result,\n    }],\n    source_image_reference={\n        \"publisher\": \"Canonical\",\n        \"offer\": \"0001-com-ubuntu-server-jammy\",\n        \"sku\": \"22_04-lts\",\n        \"version\": \"latest\",\n    },\n    os_disk={\n        \"storage_account_type\": \"Standard_LRS\",\n        \"caching\": \"ReadWrite\",\n    },\n    network_interfaces=[{\n        \"name\": \"example\",\n        \"primary\": True,\n        \"ip_configurations\": [{\n            \"name\": \"internal\",\n            \"primary\": True,\n            \"subnet_id\": internal.id,\n        }],\n    }])\nexample_assessment_policy = azure.securitycenter.AssessmentPolicy(\"example\",\n    display_name=\"Test Display Name\",\n    severity=\"Medium\",\n    description=\"Test Description\")\nexample_assessment = azure.securitycenter.Assessment(\"example\",\n    assessment_policy_id=example_assessment_policy.id,\n    target_resource_id=example_linux_virtual_machine_scale_set.id,\n    status={\n        \"code\": \"Healthy\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleVirtualNetwork = new Azure.Network.VirtualNetwork(\"example\", new()\n    {\n        Name = \"example-network\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        AddressSpaces = new[]\n        {\n            \"10.0.0.0/16\",\n        },\n    });\n\n    var @internal = new Azure.Network.Subnet(\"internal\", new()\n    {\n        Name = \"internal\",\n        ResourceGroupName = example.Name,\n        VirtualNetworkName = exampleVirtualNetwork.Name,\n        AddressPrefixes = new[]\n        {\n            \"10.0.2.0/24\",\n        },\n    });\n\n    var exampleLinuxVirtualMachineScaleSet = new Azure.Compute.LinuxVirtualMachineScaleSet(\"example\", new()\n    {\n        Name = \"example-vmss\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        Sku = \"Standard_F2\",\n        Instances = 1,\n        AdminUsername = \"adminuser\",\n        AdminSshKeys = new[]\n        {\n            new Azure.Compute.Inputs.LinuxVirtualMachineScaleSetAdminSshKeyArgs\n            {\n                Username = \"adminuser\",\n                PublicKey = Std.File.Invoke(new()\n                {\n                    Input = \"~/.ssh/id_rsa.pub\",\n                }).Apply(invoke =\u003e invoke.Result),\n            },\n        },\n        SourceImageReference = new Azure.Compute.Inputs.LinuxVirtualMachineScaleSetSourceImageReferenceArgs\n        {\n            Publisher = \"Canonical\",\n            Offer = \"0001-com-ubuntu-server-jammy\",\n            Sku = \"22_04-lts\",\n            Version = \"latest\",\n        },\n        OsDisk = new Azure.Compute.Inputs.LinuxVirtualMachineScaleSetOsDiskArgs\n        {\n            StorageAccountType = \"Standard_LRS\",\n            Caching = \"ReadWrite\",\n        },\n        NetworkInterfaces = new[]\n        {\n            new Azure.Compute.Inputs.LinuxVirtualMachineScaleSetNetworkInterfaceArgs\n            {\n                Name = \"example\",\n                Primary = true,\n                IpConfigurations = new[]\n                {\n                    new Azure.Compute.Inputs.LinuxVirtualMachineScaleSetNetworkInterfaceIpConfigurationArgs\n                    {\n                        Name = \"internal\",\n                        Primary = true,\n                        SubnetId = @internal.Id,\n                    },\n                },\n            },\n        },\n    });\n\n    var exampleAssessmentPolicy = new Azure.SecurityCenter.AssessmentPolicy(\"example\", new()\n    {\n        DisplayName = \"Test Display Name\",\n        Severity = \"Medium\",\n        Description = \"Test Description\",\n    });\n\n    var exampleAssessment = new Azure.SecurityCenter.Assessment(\"example\", new()\n    {\n        AssessmentPolicyId = exampleAssessmentPolicy.Id,\n        TargetResourceId = exampleLinuxVirtualMachineScaleSet.Id,\n        Status = new Azure.SecurityCenter.Inputs.AssessmentStatusArgs\n        {\n            Code = \"Healthy\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/compute\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/securitycenter\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, \"example\", \u0026network.VirtualNetworkArgs{\n\t\t\tName:              pulumi.String(\"example-network\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tAddressSpaces: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.0.0/16\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinternal, err := network.NewSubnet(ctx, \"internal\", \u0026network.SubnetArgs{\n\t\t\tName:               pulumi.String(\"internal\"),\n\t\t\tResourceGroupName:  example.Name,\n\t\t\tVirtualNetworkName: exampleVirtualNetwork.Name,\n\t\t\tAddressPrefixes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.2.0/24\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"~/.ssh/id_rsa.pub\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleLinuxVirtualMachineScaleSet, err := compute.NewLinuxVirtualMachineScaleSet(ctx, \"example\", \u0026compute.LinuxVirtualMachineScaleSetArgs{\n\t\t\tName:              pulumi.String(\"example-vmss\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tSku:               pulumi.String(\"Standard_F2\"),\n\t\t\tInstances:         pulumi.Int(1),\n\t\t\tAdminUsername:     pulumi.String(\"adminuser\"),\n\t\t\tAdminSshKeys: compute.LinuxVirtualMachineScaleSetAdminSshKeyArray{\n\t\t\t\t\u0026compute.LinuxVirtualMachineScaleSetAdminSshKeyArgs{\n\t\t\t\t\tUsername:  pulumi.String(\"adminuser\"),\n\t\t\t\t\tPublicKey: pulumi.String(invokeFile.Result),\n\t\t\t\t},\n\t\t\t},\n\t\t\tSourceImageReference: \u0026compute.LinuxVirtualMachineScaleSetSourceImageReferenceArgs{\n\t\t\t\tPublisher: pulumi.String(\"Canonical\"),\n\t\t\t\tOffer:     pulumi.String(\"0001-com-ubuntu-server-jammy\"),\n\t\t\t\tSku:       pulumi.String(\"22_04-lts\"),\n\t\t\t\tVersion:   pulumi.String(\"latest\"),\n\t\t\t},\n\t\t\tOsDisk: \u0026compute.LinuxVirtualMachineScaleSetOsDiskArgs{\n\t\t\t\tStorageAccountType: pulumi.String(\"Standard_LRS\"),\n\t\t\t\tCaching:            pulumi.String(\"ReadWrite\"),\n\t\t\t},\n\t\t\tNetworkInterfaces: compute.LinuxVirtualMachineScaleSetNetworkInterfaceArray{\n\t\t\t\t\u0026compute.LinuxVirtualMachineScaleSetNetworkInterfaceArgs{\n\t\t\t\t\tName:    pulumi.String(\"example\"),\n\t\t\t\t\tPrimary: pulumi.Bool(true),\n\t\t\t\t\tIpConfigurations: compute.LinuxVirtualMachineScaleSetNetworkInterfaceIpConfigurationArray{\n\t\t\t\t\t\t\u0026compute.LinuxVirtualMachineScaleSetNetworkInterfaceIpConfigurationArgs{\n\t\t\t\t\t\t\tName:     pulumi.String(\"internal\"),\n\t\t\t\t\t\t\tPrimary:  pulumi.Bool(true),\n\t\t\t\t\t\t\tSubnetId: internal.ID(),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAssessmentPolicy, err := securitycenter.NewAssessmentPolicy(ctx, \"example\", \u0026securitycenter.AssessmentPolicyArgs{\n\t\t\tDisplayName: pulumi.String(\"Test Display Name\"),\n\t\t\tSeverity:    pulumi.String(\"Medium\"),\n\t\t\tDescription: pulumi.String(\"Test Description\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = securitycenter.NewAssessment(ctx, \"example\", \u0026securitycenter.AssessmentArgs{\n\t\t\tAssessmentPolicyId: exampleAssessmentPolicy.ID(),\n\t\t\tTargetResourceId:   exampleLinuxVirtualMachineScaleSet.ID(),\n\t\t\tStatus: \u0026securitycenter.AssessmentStatusArgs{\n\t\t\t\tCode: pulumi.String(\"Healthy\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.VirtualNetwork;\nimport com.pulumi.azure.network.VirtualNetworkArgs;\nimport com.pulumi.azure.network.Subnet;\nimport com.pulumi.azure.network.SubnetArgs;\nimport com.pulumi.azure.compute.LinuxVirtualMachineScaleSet;\nimport com.pulumi.azure.compute.LinuxVirtualMachineScaleSetArgs;\nimport com.pulumi.azure.compute.inputs.LinuxVirtualMachineScaleSetAdminSshKeyArgs;\nimport com.pulumi.azure.compute.inputs.LinuxVirtualMachineScaleSetSourceImageReferenceArgs;\nimport com.pulumi.azure.compute.inputs.LinuxVirtualMachineScaleSetOsDiskArgs;\nimport com.pulumi.azure.compute.inputs.LinuxVirtualMachineScaleSetNetworkInterfaceArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.FileArgs;\nimport com.pulumi.azure.securitycenter.AssessmentPolicy;\nimport com.pulumi.azure.securitycenter.AssessmentPolicyArgs;\nimport com.pulumi.azure.securitycenter.Assessment;\nimport com.pulumi.azure.securitycenter.AssessmentArgs;\nimport com.pulumi.azure.securitycenter.inputs.AssessmentStatusArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleVirtualNetwork = new VirtualNetwork(\"exampleVirtualNetwork\", VirtualNetworkArgs.builder()\n            .name(\"example-network\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .addressSpaces(\"10.0.0.0/16\")\n            .build());\n\n        var internal = new Subnet(\"internal\", SubnetArgs.builder()\n            .name(\"internal\")\n            .resourceGroupName(example.name())\n            .virtualNetworkName(exampleVirtualNetwork.name())\n            .addressPrefixes(\"10.0.2.0/24\")\n            .build());\n\n        var exampleLinuxVirtualMachineScaleSet = new LinuxVirtualMachineScaleSet(\"exampleLinuxVirtualMachineScaleSet\", LinuxVirtualMachineScaleSetArgs.builder()\n            .name(\"example-vmss\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .sku(\"Standard_F2\")\n            .instances(1)\n            .adminUsername(\"adminuser\")\n            .adminSshKeys(LinuxVirtualMachineScaleSetAdminSshKeyArgs.builder()\n                .username(\"adminuser\")\n                .publicKey(StdFunctions.file(FileArgs.builder()\n                    .input(\"~/.ssh/id_rsa.pub\")\n                    .build()).result())\n                .build())\n            .sourceImageReference(LinuxVirtualMachineScaleSetSourceImageReferenceArgs.builder()\n                .publisher(\"Canonical\")\n                .offer(\"0001-com-ubuntu-server-jammy\")\n                .sku(\"22_04-lts\")\n                .version(\"latest\")\n                .build())\n            .osDisk(LinuxVirtualMachineScaleSetOsDiskArgs.builder()\n                .storageAccountType(\"Standard_LRS\")\n                .caching(\"ReadWrite\")\n                .build())\n            .networkInterfaces(LinuxVirtualMachineScaleSetNetworkInterfaceArgs.builder()\n                .name(\"example\")\n                .primary(true)\n                .ipConfigurations(LinuxVirtualMachineScaleSetNetworkInterfaceIpConfigurationArgs.builder()\n                    .name(\"internal\")\n                    .primary(true)\n                    .subnetId(internal.id())\n                    .build())\n                .build())\n            .build());\n\n        var exampleAssessmentPolicy = new AssessmentPolicy(\"exampleAssessmentPolicy\", AssessmentPolicyArgs.builder()\n            .displayName(\"Test Display Name\")\n            .severity(\"Medium\")\n            .description(\"Test Description\")\n            .build());\n\n        var exampleAssessment = new Assessment(\"exampleAssessment\", AssessmentArgs.builder()\n            .assessmentPolicyId(exampleAssessmentPolicy.id())\n            .targetResourceId(exampleLinuxVirtualMachineScaleSet.id())\n            .status(AssessmentStatusArgs.builder()\n                .code(\"Healthy\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleVirtualNetwork:\n    type: azure:network:VirtualNetwork\n    name: example\n    properties:\n      name: example-network\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      addressSpaces:\n        - 10.0.0.0/16\n  internal:\n    type: azure:network:Subnet\n    properties:\n      name: internal\n      resourceGroupName: ${example.name}\n      virtualNetworkName: ${exampleVirtualNetwork.name}\n      addressPrefixes:\n        - 10.0.2.0/24\n  exampleLinuxVirtualMachineScaleSet:\n    type: azure:compute:LinuxVirtualMachineScaleSet\n    name: example\n    properties:\n      name: example-vmss\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      sku: Standard_F2\n      instances: 1\n      adminUsername: adminuser\n      adminSshKeys:\n        - username: adminuser\n          publicKey:\n            fn::invoke:\n              function: std:file\n              arguments:\n                input: ~/.ssh/id_rsa.pub\n              return: result\n      sourceImageReference:\n        publisher: Canonical\n        offer: 0001-com-ubuntu-server-jammy\n        sku: 22_04-lts\n        version: latest\n      osDisk:\n        storageAccountType: Standard_LRS\n        caching: ReadWrite\n      networkInterfaces:\n        - name: example\n          primary: true\n          ipConfigurations:\n            - name: internal\n              primary: true\n              subnetId: ${internal.id}\n  exampleAssessmentPolicy:\n    type: azure:securitycenter:AssessmentPolicy\n    name: example\n    properties:\n      displayName: Test Display Name\n      severity: Medium\n      description: Test Description\n  exampleAssessment:\n    type: azure:securitycenter:Assessment\n    name: example\n    properties:\n      assessmentPolicyId: ${exampleAssessmentPolicy.id}\n      targetResourceId: ${exampleLinuxVirtualMachineScaleSet.id}\n      status:\n        code: Healthy\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nSecurity Assessment can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:securitycenter/assessment:Assessment example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resGroup1/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1/providers/Microsoft.Security/assessments/00000000-0000-0000-0000-000000000000\n```\n\n","properties":{"additionalData":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of additional data to associate with the assessment.\n"},"assessmentPolicyId":{"type":"string","description":"The ID of the security Assessment policy to apply to this resource. Changing this forces a new security Assessment to be created.\n"},"status":{"$ref":"#/types/azure:securitycenter/AssessmentStatus:AssessmentStatus","description":"A \u003cspan pulumi-lang-nodejs=\"`status`\" pulumi-lang-dotnet=\"`Status`\" pulumi-lang-go=\"`status`\" pulumi-lang-python=\"`status`\" pulumi-lang-yaml=\"`status`\" pulumi-lang-java=\"`status`\"\u003e`status`\u003c/span\u003e block as defined below.\n"},"targetResourceId":{"type":"string","description":"The ID of the target resource. Changing this forces a new security Assessment to be created.\n"}},"required":["assessmentPolicyId","status","targetResourceId"],"inputProperties":{"additionalData":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of additional data to associate with the assessment.\n"},"assessmentPolicyId":{"type":"string","description":"The ID of the security Assessment policy to apply to this resource. Changing this forces a new security Assessment to be created.\n","willReplaceOnChanges":true},"status":{"$ref":"#/types/azure:securitycenter/AssessmentStatus:AssessmentStatus","description":"A \u003cspan pulumi-lang-nodejs=\"`status`\" pulumi-lang-dotnet=\"`Status`\" pulumi-lang-go=\"`status`\" pulumi-lang-python=\"`status`\" pulumi-lang-yaml=\"`status`\" pulumi-lang-java=\"`status`\"\u003e`status`\u003c/span\u003e block as defined below.\n"},"targetResourceId":{"type":"string","description":"The ID of the target resource. Changing this forces a new security Assessment to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["assessmentPolicyId","status","targetResourceId"],"stateInputs":{"description":"Input properties used for looking up and filtering Assessment resources.\n","properties":{"additionalData":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of additional data to associate with the assessment.\n"},"assessmentPolicyId":{"type":"string","description":"The ID of the security Assessment policy to apply to this resource. Changing this forces a new security Assessment to be created.\n","willReplaceOnChanges":true},"status":{"$ref":"#/types/azure:securitycenter/AssessmentStatus:AssessmentStatus","description":"A \u003cspan pulumi-lang-nodejs=\"`status`\" pulumi-lang-dotnet=\"`Status`\" pulumi-lang-go=\"`status`\" pulumi-lang-python=\"`status`\" pulumi-lang-yaml=\"`status`\" pulumi-lang-java=\"`status`\"\u003e`status`\u003c/span\u003e block as defined below.\n"},"targetResourceId":{"type":"string","description":"The ID of the target resource. Changing this forces a new security Assessment to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:securitycenter/assessmentPolicy:AssessmentPolicy":{"description":"Manages the Security Center Assessment Metadata for Azure Security Center.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.securitycenter.AssessmentPolicy(\"example\", {\n    displayName: \"Test Display Name\",\n    severity: \"Medium\",\n    description: \"Test Description\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.securitycenter.AssessmentPolicy(\"example\",\n    display_name=\"Test Display Name\",\n    severity=\"Medium\",\n    description=\"Test Description\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.SecurityCenter.AssessmentPolicy(\"example\", new()\n    {\n        DisplayName = \"Test Display Name\",\n        Severity = \"Medium\",\n        Description = \"Test Description\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/securitycenter\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := securitycenter.NewAssessmentPolicy(ctx, \"example\", \u0026securitycenter.AssessmentPolicyArgs{\n\t\t\tDisplayName: pulumi.String(\"Test Display Name\"),\n\t\t\tSeverity:    pulumi.String(\"Medium\"),\n\t\t\tDescription: pulumi.String(\"Test Description\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.securitycenter.AssessmentPolicy;\nimport com.pulumi.azure.securitycenter.AssessmentPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new AssessmentPolicy(\"example\", AssessmentPolicyArgs.builder()\n            .displayName(\"Test Display Name\")\n            .severity(\"Medium\")\n            .description(\"Test Description\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:securitycenter:AssessmentPolicy\n    properties:\n      displayName: Test Display Name\n      severity: Medium\n      description: Test Description\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Security` - 2021-06-01\n\n## Import\n\nSecurity Assessments Policy can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:securitycenter/assessmentPolicy:AssessmentPolicy example /subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Security/assessmentMetadata/metadata1\n```\n\n","properties":{"categories":{"type":"array","items":{"type":"string"},"description":"A list of the categories of resource that is at risk when the Security Center Assessment is unhealthy. Possible values are `Unknown`, `Compute`, `Data`, `IdentityAndAccess`, `IoT` and `Networking`.\n"},"description":{"type":"string","description":"The description of the Security Center Assessment.\n"},"displayName":{"type":"string","description":"The user-friendly display name of the Security Center Assessment.\n"},"implementationEffort":{"type":"string","description":"The implementation effort which is used to remediate the Security Center Assessment. Possible values are `Low`, `Moderate` and `High`.\n"},"name":{"type":"string","description":"The GUID as the name of the Security Center Assessment Policy.\n"},"remediationDescription":{"type":"string","description":"The description which is used to mitigate the security issue.\n"},"severity":{"type":"string","description":"The severity level of the Security Center Assessment. Possible values are `Low`, `Medium` and `High`. Defaults to `Medium`.\n"},"threats":{"type":"array","items":{"type":"string"},"description":"A list of the threat impacts for the Security Center Assessment. Possible values are `AccountBreach`, `DataExfiltration`, `DataSpillage`, `DenialOfService`, `ElevationOfPrivilege`, `MaliciousInsider`, `MissingCoverage` and `ThreatResistance`.\n"},"userImpact":{"type":"string","description":"The user impact of the Security Center Assessment. Possible values are `Low`, `Moderate` and `High`.\n"}},"required":["categories","description","displayName","name"],"inputProperties":{"categories":{"type":"array","items":{"type":"string"},"description":"A list of the categories of resource that is at risk when the Security Center Assessment is unhealthy. Possible values are `Unknown`, `Compute`, `Data`, `IdentityAndAccess`, `IoT` and `Networking`.\n"},"description":{"type":"string","description":"The description of the Security Center Assessment.\n"},"displayName":{"type":"string","description":"The user-friendly display name of the Security Center Assessment.\n"},"implementationEffort":{"type":"string","description":"The implementation effort which is used to remediate the Security Center Assessment. Possible values are `Low`, `Moderate` and `High`.\n"},"remediationDescription":{"type":"string","description":"The description which is used to mitigate the security issue.\n"},"severity":{"type":"string","description":"The severity level of the Security Center Assessment. Possible values are `Low`, `Medium` and `High`. Defaults to `Medium`.\n"},"threats":{"type":"array","items":{"type":"string"},"description":"A list of the threat impacts for the Security Center Assessment. Possible values are `AccountBreach`, `DataExfiltration`, `DataSpillage`, `DenialOfService`, `ElevationOfPrivilege`, `MaliciousInsider`, `MissingCoverage` and `ThreatResistance`.\n"},"userImpact":{"type":"string","description":"The user impact of the Security Center Assessment. Possible values are `Low`, `Moderate` and `High`.\n"}},"requiredInputs":["description","displayName"],"stateInputs":{"description":"Input properties used for looking up and filtering AssessmentPolicy resources.\n","properties":{"categories":{"type":"array","items":{"type":"string"},"description":"A list of the categories of resource that is at risk when the Security Center Assessment is unhealthy. Possible values are `Unknown`, `Compute`, `Data`, `IdentityAndAccess`, `IoT` and `Networking`.\n"},"description":{"type":"string","description":"The description of the Security Center Assessment.\n"},"displayName":{"type":"string","description":"The user-friendly display name of the Security Center Assessment.\n"},"implementationEffort":{"type":"string","description":"The implementation effort which is used to remediate the Security Center Assessment. Possible values are `Low`, `Moderate` and `High`.\n"},"name":{"type":"string","description":"The GUID as the name of the Security Center Assessment Policy.\n"},"remediationDescription":{"type":"string","description":"The description which is used to mitigate the security issue.\n"},"severity":{"type":"string","description":"The severity level of the Security Center Assessment. Possible values are `Low`, `Medium` and `High`. Defaults to `Medium`.\n"},"threats":{"type":"array","items":{"type":"string"},"description":"A list of the threat impacts for the Security Center Assessment. Possible values are `AccountBreach`, `DataExfiltration`, `DataSpillage`, `DenialOfService`, `ElevationOfPrivilege`, `MaliciousInsider`, `MissingCoverage` and `ThreatResistance`.\n"},"userImpact":{"type":"string","description":"The user impact of the Security Center Assessment. Possible values are `Low`, `Moderate` and `High`.\n"}},"type":"object"}},"azure:securitycenter/autoProvisioning:AutoProvisioning":{"description":"Enables or disables the Security Center Auto Provisioning feature for the subscription\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`azure.securitycenter.AutoProvisioning`\" pulumi-lang-dotnet=\"`azure.securitycenter.AutoProvisioning`\" pulumi-lang-go=\"`securitycenter.AutoProvisioning`\" pulumi-lang-python=\"`securitycenter.AutoProvisioning`\" pulumi-lang-yaml=\"`azure.securitycenter.AutoProvisioning`\" pulumi-lang-java=\"`azure.securitycenter.AutoProvisioning`\"\u003e`azure.securitycenter.AutoProvisioning`\u003c/span\u003e resource has been deprecated because [the auto provisioning capability will be deprecated by end of Novemember of 2024](https://learn.microsoft.com/en-us/azure/defender-for-cloud/prepare-deprecation-log-analytics-mma-agent#log-analytics-agent-autoprovisioning-experience---deprecation-plan) and will be removed in v5.0 of the AzureRM Provider.\n\n\u003e **Note:** There is no resource name required, it will always be \"default\"\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.securitycenter.AutoProvisioning(\"example\", {autoProvision: \"On\"});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.securitycenter.AutoProvisioning(\"example\", auto_provision=\"On\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.SecurityCenter.AutoProvisioning(\"example\", new()\n    {\n        AutoProvision = \"On\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/securitycenter\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := securitycenter.NewAutoProvisioning(ctx, \"example\", \u0026securitycenter.AutoProvisioningArgs{\n\t\t\tAutoProvision: pulumi.String(\"On\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.securitycenter.AutoProvisioning;\nimport com.pulumi.azure.securitycenter.AutoProvisioningArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new AutoProvisioning(\"example\", AutoProvisioningArgs.builder()\n            .autoProvision(\"On\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:securitycenter:AutoProvisioning\n    properties:\n      autoProvision: On\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nSecurity Center Auto Provisioning can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:securitycenter/autoProvisioning:AutoProvisioning example /subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Security/autoProvisioningSettings/default\n```\n\n","properties":{"autoProvision":{"type":"string","description":"Should the security agent be automatically provisioned on Virtual Machines in this subscription? Possible values are `On` (to install the security agent automatically, if it's missing) or `Off` (to not install the security agent automatically).\n"}},"required":["autoProvision"],"inputProperties":{"autoProvision":{"type":"string","description":"Should the security agent be automatically provisioned on Virtual Machines in this subscription? Possible values are `On` (to install the security agent automatically, if it's missing) or `Off` (to not install the security agent automatically).\n"}},"requiredInputs":["autoProvision"],"stateInputs":{"description":"Input properties used for looking up and filtering AutoProvisioning resources.\n","properties":{"autoProvision":{"type":"string","description":"Should the security agent be automatically provisioned on Virtual Machines in this subscription? Possible values are `On` (to install the security agent automatically, if it's missing) or `Off` (to not install the security agent automatically).\n"}},"type":"object"}},"azure:securitycenter/automation:Automation":{"description":"Manages Security Center Automation and Continuous Export. This resource supports three types of destination in the \u003cspan pulumi-lang-nodejs=\"`action`\" pulumi-lang-dotnet=\"`Action`\" pulumi-lang-go=\"`action`\" pulumi-lang-python=\"`action`\" pulumi-lang-yaml=\"`action`\" pulumi-lang-java=\"`action`\"\u003e`action`\u003c/span\u003e, Logic Apps, Log Analytics and Event Hubs\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst current = azure.core.getClientConfig({});\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleEventHubNamespace = new azure.eventhub.EventHubNamespace(\"example\", {\n    name: \"example-namespace\",\n    location: example.location,\n    resourceGroupName: example.name,\n    sku: \"Standard\",\n    capacity: 2,\n});\nconst exampleEventHub = new azure.eventhub.EventHub(\"example\", {\n    name: \"acceptanceTestEventHub\",\n    namespaceName: exampleEventHubNamespace.name,\n    resourceGroupName: example.name,\n    partitionCount: 2,\n    messageRetention: 2,\n});\nconst exampleAuthorizationRule = new azure.eventhub.AuthorizationRule(\"example\", {\n    name: \"example-rule\",\n    namespaceName: exampleEventHubNamespace.name,\n    eventhubName: exampleEventHub.name,\n    resourceGroupName: example.name,\n    listen: true,\n    send: false,\n    manage: false,\n});\nconst exampleAutomation = new azure.securitycenter.Automation(\"example\", {\n    name: \"example-automation\",\n    location: example.location,\n    resourceGroupName: example.name,\n    actions: [{\n        type: \"EventHub\",\n        resourceId: exampleEventHub.id,\n        connectionString: exampleAuthorizationRule.primaryConnectionString,\n    }],\n    sources: [{\n        eventSource: \"Alerts\",\n        ruleSets: [{\n            rules: [{\n                propertyPath: \"properties.metadata.severity\",\n                operator: \"Equals\",\n                expectedValue: \"High\",\n                propertyType: \"String\",\n            }],\n        }],\n    }],\n    scopes: [current.then(current =\u003e `/subscriptions/${current.subscriptionId}`)],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\ncurrent = azure.core.get_client_config()\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_event_hub_namespace = azure.eventhub.EventHubNamespace(\"example\",\n    name=\"example-namespace\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku=\"Standard\",\n    capacity=2)\nexample_event_hub = azure.eventhub.EventHub(\"example\",\n    name=\"acceptanceTestEventHub\",\n    namespace_name=example_event_hub_namespace.name,\n    resource_group_name=example.name,\n    partition_count=2,\n    message_retention=2)\nexample_authorization_rule = azure.eventhub.AuthorizationRule(\"example\",\n    name=\"example-rule\",\n    namespace_name=example_event_hub_namespace.name,\n    eventhub_name=example_event_hub.name,\n    resource_group_name=example.name,\n    listen=True,\n    send=False,\n    manage=False)\nexample_automation = azure.securitycenter.Automation(\"example\",\n    name=\"example-automation\",\n    location=example.location,\n    resource_group_name=example.name,\n    actions=[{\n        \"type\": \"EventHub\",\n        \"resource_id\": example_event_hub.id,\n        \"connection_string\": example_authorization_rule.primary_connection_string,\n    }],\n    sources=[{\n        \"event_source\": \"Alerts\",\n        \"rule_sets\": [{\n            \"rules\": [{\n                \"property_path\": \"properties.metadata.severity\",\n                \"operator\": \"Equals\",\n                \"expected_value\": \"High\",\n                \"property_type\": \"String\",\n            }],\n        }],\n    }],\n    scopes=[f\"/subscriptions/{current.subscription_id}\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var current = Azure.Core.GetClientConfig.Invoke();\n\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleEventHubNamespace = new Azure.EventHub.EventHubNamespace(\"example\", new()\n    {\n        Name = \"example-namespace\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Sku = \"Standard\",\n        Capacity = 2,\n    });\n\n    var exampleEventHub = new Azure.EventHub.EventHub(\"example\", new()\n    {\n        Name = \"acceptanceTestEventHub\",\n        NamespaceName = exampleEventHubNamespace.Name,\n        ResourceGroupName = example.Name,\n        PartitionCount = 2,\n        MessageRetention = 2,\n    });\n\n    var exampleAuthorizationRule = new Azure.EventHub.AuthorizationRule(\"example\", new()\n    {\n        Name = \"example-rule\",\n        NamespaceName = exampleEventHubNamespace.Name,\n        EventhubName = exampleEventHub.Name,\n        ResourceGroupName = example.Name,\n        Listen = true,\n        Send = false,\n        Manage = false,\n    });\n\n    var exampleAutomation = new Azure.SecurityCenter.Automation(\"example\", new()\n    {\n        Name = \"example-automation\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Actions = new[]\n        {\n            new Azure.SecurityCenter.Inputs.AutomationActionArgs\n            {\n                Type = \"EventHub\",\n                ResourceId = exampleEventHub.Id,\n                ConnectionString = exampleAuthorizationRule.PrimaryConnectionString,\n            },\n        },\n        Sources = new[]\n        {\n            new Azure.SecurityCenter.Inputs.AutomationSourceArgs\n            {\n                EventSource = \"Alerts\",\n                RuleSets = new[]\n                {\n                    new Azure.SecurityCenter.Inputs.AutomationSourceRuleSetArgs\n                    {\n                        Rules = new[]\n                        {\n                            new Azure.SecurityCenter.Inputs.AutomationSourceRuleSetRuleArgs\n                            {\n                                PropertyPath = \"properties.metadata.severity\",\n                                Operator = \"Equals\",\n                                ExpectedValue = \"High\",\n                                PropertyType = \"String\",\n                            },\n                        },\n                    },\n                },\n            },\n        },\n        Scopes = new[]\n        {\n            $\"/subscriptions/{current.Apply(getClientConfigResult =\u003e getClientConfigResult.SubscriptionId)}\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/eventhub\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/securitycenter\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := core.GetClientConfig(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleEventHubNamespace, err := eventhub.NewEventHubNamespace(ctx, \"example\", \u0026eventhub.EventHubNamespaceArgs{\n\t\t\tName:              pulumi.String(\"example-namespace\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSku:               pulumi.String(\"Standard\"),\n\t\t\tCapacity:          pulumi.Int(2),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleEventHub, err := eventhub.NewEventHub(ctx, \"example\", \u0026eventhub.EventHubArgs{\n\t\t\tName:              pulumi.String(\"acceptanceTestEventHub\"),\n\t\t\tNamespaceName:     exampleEventHubNamespace.Name,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tPartitionCount:    pulumi.Int(2),\n\t\t\tMessageRetention:  pulumi.Int(2),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAuthorizationRule, err := eventhub.NewAuthorizationRule(ctx, \"example\", \u0026eventhub.AuthorizationRuleArgs{\n\t\t\tName:              pulumi.String(\"example-rule\"),\n\t\t\tNamespaceName:     exampleEventHubNamespace.Name,\n\t\t\tEventhubName:      exampleEventHub.Name,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tListen:            pulumi.Bool(true),\n\t\t\tSend:              pulumi.Bool(false),\n\t\t\tManage:            pulumi.Bool(false),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = securitycenter.NewAutomation(ctx, \"example\", \u0026securitycenter.AutomationArgs{\n\t\t\tName:              pulumi.String(\"example-automation\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tActions: securitycenter.AutomationActionArray{\n\t\t\t\t\u0026securitycenter.AutomationActionArgs{\n\t\t\t\t\tType:             pulumi.String(\"EventHub\"),\n\t\t\t\t\tResourceId:       exampleEventHub.ID(),\n\t\t\t\t\tConnectionString: exampleAuthorizationRule.PrimaryConnectionString,\n\t\t\t\t},\n\t\t\t},\n\t\t\tSources: securitycenter.AutomationSourceArray{\n\t\t\t\t\u0026securitycenter.AutomationSourceArgs{\n\t\t\t\t\tEventSource: pulumi.String(\"Alerts\"),\n\t\t\t\t\tRuleSets: securitycenter.AutomationSourceRuleSetArray{\n\t\t\t\t\t\t\u0026securitycenter.AutomationSourceRuleSetArgs{\n\t\t\t\t\t\t\tRules: securitycenter.AutomationSourceRuleSetRuleArray{\n\t\t\t\t\t\t\t\t\u0026securitycenter.AutomationSourceRuleSetRuleArgs{\n\t\t\t\t\t\t\t\t\tPropertyPath:  pulumi.String(\"properties.metadata.severity\"),\n\t\t\t\t\t\t\t\t\tOperator:      pulumi.String(\"Equals\"),\n\t\t\t\t\t\t\t\t\tExpectedValue: pulumi.String(\"High\"),\n\t\t\t\t\t\t\t\t\tPropertyType:  pulumi.String(\"String\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tScopes: pulumi.StringArray{\n\t\t\t\tpulumi.Sprintf(\"/subscriptions/%v\", current.SubscriptionId),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.eventhub.EventHubNamespace;\nimport com.pulumi.azure.eventhub.EventHubNamespaceArgs;\nimport com.pulumi.azure.eventhub.EventHub;\nimport com.pulumi.azure.eventhub.EventHubArgs;\nimport com.pulumi.azure.eventhub.AuthorizationRule;\nimport com.pulumi.azure.eventhub.AuthorizationRuleArgs;\nimport com.pulumi.azure.securitycenter.Automation;\nimport com.pulumi.azure.securitycenter.AutomationArgs;\nimport com.pulumi.azure.securitycenter.inputs.AutomationActionArgs;\nimport com.pulumi.azure.securitycenter.inputs.AutomationSourceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var current = CoreFunctions.getClientConfig(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleEventHubNamespace = new EventHubNamespace(\"exampleEventHubNamespace\", EventHubNamespaceArgs.builder()\n            .name(\"example-namespace\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .sku(\"Standard\")\n            .capacity(2)\n            .build());\n\n        var exampleEventHub = new EventHub(\"exampleEventHub\", EventHubArgs.builder()\n            .name(\"acceptanceTestEventHub\")\n            .namespaceName(exampleEventHubNamespace.name())\n            .resourceGroupName(example.name())\n            .partitionCount(2)\n            .messageRetention(2)\n            .build());\n\n        var exampleAuthorizationRule = new AuthorizationRule(\"exampleAuthorizationRule\", AuthorizationRuleArgs.builder()\n            .name(\"example-rule\")\n            .namespaceName(exampleEventHubNamespace.name())\n            .eventhubName(exampleEventHub.name())\n            .resourceGroupName(example.name())\n            .listen(true)\n            .send(false)\n            .manage(false)\n            .build());\n\n        var exampleAutomation = new Automation(\"exampleAutomation\", AutomationArgs.builder()\n            .name(\"example-automation\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .actions(AutomationActionArgs.builder()\n                .type(\"EventHub\")\n                .resourceId(exampleEventHub.id())\n                .connectionString(exampleAuthorizationRule.primaryConnectionString())\n                .build())\n            .sources(AutomationSourceArgs.builder()\n                .eventSource(\"Alerts\")\n                .ruleSets(AutomationSourceRuleSetArgs.builder()\n                    .rules(AutomationSourceRuleSetRuleArgs.builder()\n                        .propertyPath(\"properties.metadata.severity\")\n                        .operator(\"Equals\")\n                        .expectedValue(\"High\")\n                        .propertyType(\"String\")\n                        .build())\n                    .build())\n                .build())\n            .scopes(String.format(\"/subscriptions/%s\", current.subscriptionId()))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleEventHubNamespace:\n    type: azure:eventhub:EventHubNamespace\n    name: example\n    properties:\n      name: example-namespace\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      sku: Standard\n      capacity: 2\n  exampleEventHub:\n    type: azure:eventhub:EventHub\n    name: example\n    properties:\n      name: acceptanceTestEventHub\n      namespaceName: ${exampleEventHubNamespace.name}\n      resourceGroupName: ${example.name}\n      partitionCount: 2\n      messageRetention: 2\n  exampleAuthorizationRule:\n    type: azure:eventhub:AuthorizationRule\n    name: example\n    properties:\n      name: example-rule\n      namespaceName: ${exampleEventHubNamespace.name}\n      eventhubName: ${exampleEventHub.name}\n      resourceGroupName: ${example.name}\n      listen: true\n      send: false\n      manage: false\n  exampleAutomation:\n    type: azure:securitycenter:Automation\n    name: example\n    properties:\n      name: example-automation\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      actions:\n        - type: EventHub\n          resourceId: ${exampleEventHub.id}\n          connectionString: ${exampleAuthorizationRule.primaryConnectionString}\n      sources:\n        - eventSource: Alerts\n          ruleSets:\n            - rules:\n                - propertyPath: properties.metadata.severity\n                  operator: Equals\n                  expectedValue: High\n                  propertyType: String\n      scopes:\n        - /subscriptions/${current.subscriptionId}\nvariables:\n  current:\n    fn::invoke:\n      function: azure:core:getClientConfig\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Security` - 2019-01-01-preview\n\n## Import\n\nSecurity Center Automations can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:securitycenter/automation:Automation example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Security/automations/automation1\n```\n\n","properties":{"actions":{"type":"array","items":{"$ref":"#/types/azure:securitycenter/AutomationAction:AutomationAction"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`action`\" pulumi-lang-dotnet=\"`Action`\" pulumi-lang-go=\"`action`\" pulumi-lang-python=\"`action`\" pulumi-lang-yaml=\"`action`\" pulumi-lang-java=\"`action`\"\u003e`action`\u003c/span\u003e blocks as defined below. An \u003cspan pulumi-lang-nodejs=\"`action`\" pulumi-lang-dotnet=\"`Action`\" pulumi-lang-go=\"`action`\" pulumi-lang-python=\"`action`\" pulumi-lang-yaml=\"`action`\" pulumi-lang-java=\"`action`\"\u003e`action`\u003c/span\u003e tells this automation where the data is to be sent to upon being evaluated by the rules in the \u003cspan pulumi-lang-nodejs=\"`source`\" pulumi-lang-dotnet=\"`Source`\" pulumi-lang-go=\"`source`\" pulumi-lang-python=\"`source`\" pulumi-lang-yaml=\"`source`\" pulumi-lang-java=\"`source`\"\u003e`source`\u003c/span\u003e.\n"},"description":{"type":"string","description":"Specifies the description for the Security Center Automation.\n"},"enabled":{"type":"boolean","description":"Boolean to enable or disable this Security Center Automation. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"location":{"type":"string","description":"The Azure Region where the Security Center Automation should exist. Changing this forces a new Security Center Automation to be created.\n"},"name":{"type":"string","description":"The name which should be used for this Security Center Automation. Changing this forces a new Security Center Automation to be created.\n\n\u003e **Note:** For the automation to appear in Azure Portal correctly under Microsoft Defender for Cloud \u003e Environment Settings \u003e Account \u003e Continuous Export, either `ExportToWorkspace` or `ExportToEventHub` must be used.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Security Center Automation should exist. Changing this forces a new Security Center Automation to be created.\n"},"scopes":{"type":"array","items":{"type":"string"},"description":"A list of scopes on which the automation logic is applied, at least one is required. Supported scopes are a subscription (in this format `/subscriptions/00000000-0000-0000-0000-000000000000`) or a resource group under that subscription (in the format `/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/example`). The automation will only apply on defined scopes.\n"},"sources":{"type":"array","items":{"$ref":"#/types/azure:securitycenter/AutomationSource:AutomationSource"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`source`\" pulumi-lang-dotnet=\"`Source`\" pulumi-lang-go=\"`source`\" pulumi-lang-python=\"`source`\" pulumi-lang-yaml=\"`source`\" pulumi-lang-java=\"`source`\"\u003e`source`\u003c/span\u003e blocks as defined below. A \u003cspan pulumi-lang-nodejs=\"`source`\" pulumi-lang-dotnet=\"`Source`\" pulumi-lang-go=\"`source`\" pulumi-lang-python=\"`source`\" pulumi-lang-yaml=\"`source`\" pulumi-lang-java=\"`source`\"\u003e`source`\u003c/span\u003e defines what data types will be processed and a set of rules to filter that data.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags assigned to the resource.\n"}},"required":["actions","location","name","resourceGroupName","scopes","sources"],"inputProperties":{"actions":{"type":"array","items":{"$ref":"#/types/azure:securitycenter/AutomationAction:AutomationAction"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`action`\" pulumi-lang-dotnet=\"`Action`\" pulumi-lang-go=\"`action`\" pulumi-lang-python=\"`action`\" pulumi-lang-yaml=\"`action`\" pulumi-lang-java=\"`action`\"\u003e`action`\u003c/span\u003e blocks as defined below. An \u003cspan pulumi-lang-nodejs=\"`action`\" pulumi-lang-dotnet=\"`Action`\" pulumi-lang-go=\"`action`\" pulumi-lang-python=\"`action`\" pulumi-lang-yaml=\"`action`\" pulumi-lang-java=\"`action`\"\u003e`action`\u003c/span\u003e tells this automation where the data is to be sent to upon being evaluated by the rules in the \u003cspan pulumi-lang-nodejs=\"`source`\" pulumi-lang-dotnet=\"`Source`\" pulumi-lang-go=\"`source`\" pulumi-lang-python=\"`source`\" pulumi-lang-yaml=\"`source`\" pulumi-lang-java=\"`source`\"\u003e`source`\u003c/span\u003e.\n"},"description":{"type":"string","description":"Specifies the description for the Security Center Automation.\n"},"enabled":{"type":"boolean","description":"Boolean to enable or disable this Security Center Automation. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"location":{"type":"string","description":"The Azure Region where the Security Center Automation should exist. Changing this forces a new Security Center Automation to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Security Center Automation. Changing this forces a new Security Center Automation to be created.\n\n\u003e **Note:** For the automation to appear in Azure Portal correctly under Microsoft Defender for Cloud \u003e Environment Settings \u003e Account \u003e Continuous Export, either `ExportToWorkspace` or `ExportToEventHub` must be used.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Security Center Automation should exist. Changing this forces a new Security Center Automation to be created.\n","willReplaceOnChanges":true},"scopes":{"type":"array","items":{"type":"string"},"description":"A list of scopes on which the automation logic is applied, at least one is required. Supported scopes are a subscription (in this format `/subscriptions/00000000-0000-0000-0000-000000000000`) or a resource group under that subscription (in the format `/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/example`). The automation will only apply on defined scopes.\n"},"sources":{"type":"array","items":{"$ref":"#/types/azure:securitycenter/AutomationSource:AutomationSource"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`source`\" pulumi-lang-dotnet=\"`Source`\" pulumi-lang-go=\"`source`\" pulumi-lang-python=\"`source`\" pulumi-lang-yaml=\"`source`\" pulumi-lang-java=\"`source`\"\u003e`source`\u003c/span\u003e blocks as defined below. A \u003cspan pulumi-lang-nodejs=\"`source`\" pulumi-lang-dotnet=\"`Source`\" pulumi-lang-go=\"`source`\" pulumi-lang-python=\"`source`\" pulumi-lang-yaml=\"`source`\" pulumi-lang-java=\"`source`\"\u003e`source`\u003c/span\u003e defines what data types will be processed and a set of rules to filter that data.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags assigned to the resource.\n"}},"requiredInputs":["actions","resourceGroupName","scopes","sources"],"stateInputs":{"description":"Input properties used for looking up and filtering Automation resources.\n","properties":{"actions":{"type":"array","items":{"$ref":"#/types/azure:securitycenter/AutomationAction:AutomationAction"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`action`\" pulumi-lang-dotnet=\"`Action`\" pulumi-lang-go=\"`action`\" pulumi-lang-python=\"`action`\" pulumi-lang-yaml=\"`action`\" pulumi-lang-java=\"`action`\"\u003e`action`\u003c/span\u003e blocks as defined below. An \u003cspan pulumi-lang-nodejs=\"`action`\" pulumi-lang-dotnet=\"`Action`\" pulumi-lang-go=\"`action`\" pulumi-lang-python=\"`action`\" pulumi-lang-yaml=\"`action`\" pulumi-lang-java=\"`action`\"\u003e`action`\u003c/span\u003e tells this automation where the data is to be sent to upon being evaluated by the rules in the \u003cspan pulumi-lang-nodejs=\"`source`\" pulumi-lang-dotnet=\"`Source`\" pulumi-lang-go=\"`source`\" pulumi-lang-python=\"`source`\" pulumi-lang-yaml=\"`source`\" pulumi-lang-java=\"`source`\"\u003e`source`\u003c/span\u003e.\n"},"description":{"type":"string","description":"Specifies the description for the Security Center Automation.\n"},"enabled":{"type":"boolean","description":"Boolean to enable or disable this Security Center Automation. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"location":{"type":"string","description":"The Azure Region where the Security Center Automation should exist. Changing this forces a new Security Center Automation to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Security Center Automation. Changing this forces a new Security Center Automation to be created.\n\n\u003e **Note:** For the automation to appear in Azure Portal correctly under Microsoft Defender for Cloud \u003e Environment Settings \u003e Account \u003e Continuous Export, either `ExportToWorkspace` or `ExportToEventHub` must be used.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Security Center Automation should exist. Changing this forces a new Security Center Automation to be created.\n","willReplaceOnChanges":true},"scopes":{"type":"array","items":{"type":"string"},"description":"A list of scopes on which the automation logic is applied, at least one is required. Supported scopes are a subscription (in this format `/subscriptions/00000000-0000-0000-0000-000000000000`) or a resource group under that subscription (in the format `/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/example`). The automation will only apply on defined scopes.\n"},"sources":{"type":"array","items":{"$ref":"#/types/azure:securitycenter/AutomationSource:AutomationSource"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`source`\" pulumi-lang-dotnet=\"`Source`\" pulumi-lang-go=\"`source`\" pulumi-lang-python=\"`source`\" pulumi-lang-yaml=\"`source`\" pulumi-lang-java=\"`source`\"\u003e`source`\u003c/span\u003e blocks as defined below. A \u003cspan pulumi-lang-nodejs=\"`source`\" pulumi-lang-dotnet=\"`Source`\" pulumi-lang-go=\"`source`\" pulumi-lang-python=\"`source`\" pulumi-lang-yaml=\"`source`\" pulumi-lang-java=\"`source`\"\u003e`source`\u003c/span\u003e defines what data types will be processed and a set of rules to filter that data.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags assigned to the resource.\n"}},"type":"object"}},"azure:securitycenter/contact:Contact":{"description":"Manages the subscription's Security Center Contact.\n\n\u003e **Note:** Owner access permission is required.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.securitycenter.Contact(\"example\", {\n    name: \"contact\",\n    email: \"contact@example.com\",\n    phone: \"+1-555-555-5555\",\n    alertNotifications: true,\n    alertsToAdmins: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.securitycenter.Contact(\"example\",\n    name=\"contact\",\n    email=\"contact@example.com\",\n    phone=\"+1-555-555-5555\",\n    alert_notifications=True,\n    alerts_to_admins=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.SecurityCenter.Contact(\"example\", new()\n    {\n        Name = \"contact\",\n        Email = \"contact@example.com\",\n        Phone = \"+1-555-555-5555\",\n        AlertNotifications = true,\n        AlertsToAdmins = true,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/securitycenter\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := securitycenter.NewContact(ctx, \"example\", \u0026securitycenter.ContactArgs{\n\t\t\tName:               pulumi.String(\"contact\"),\n\t\t\tEmail:              pulumi.String(\"contact@example.com\"),\n\t\t\tPhone:              pulumi.String(\"+1-555-555-5555\"),\n\t\t\tAlertNotifications: pulumi.Bool(true),\n\t\t\tAlertsToAdmins:     pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.securitycenter.Contact;\nimport com.pulumi.azure.securitycenter.ContactArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new Contact(\"example\", ContactArgs.builder()\n            .name(\"contact\")\n            .email(\"contact@example.com\")\n            .phone(\"+1-555-555-5555\")\n            .alertNotifications(true)\n            .alertsToAdmins(true)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:securitycenter:Contact\n    properties:\n      name: contact\n      email: contact@example.com\n      phone: +1-555-555-5555\n      alertNotifications: true\n      alertsToAdmins: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nSecurity Center Contacts can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:securitycenter/contact:Contact example /subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Security/securityContacts/default1\n```\n\n","properties":{"alertNotifications":{"type":"boolean","description":"Whether to send security alerts notifications to the security contact.\n"},"alertsToAdmins":{"type":"boolean","description":"Whether to send security alerts notifications to subscription admins.\n"},"email":{"type":"string","description":"The email of the Security Center Contact.\n"},"name":{"type":"string","description":"The name of the Security Center Contact. Changing this forces a new Security Center Contact to be created.\n"},"phone":{"type":"string","description":"The phone number of the Security Center Contact.\n"}},"required":["alertNotifications","alertsToAdmins","email","name"],"inputProperties":{"alertNotifications":{"type":"boolean","description":"Whether to send security alerts notifications to the security contact.\n"},"alertsToAdmins":{"type":"boolean","description":"Whether to send security alerts notifications to subscription admins.\n"},"email":{"type":"string","description":"The email of the Security Center Contact.\n"},"name":{"type":"string","description":"The name of the Security Center Contact. Changing this forces a new Security Center Contact to be created.\n","willReplaceOnChanges":true},"phone":{"type":"string","description":"The phone number of the Security Center Contact.\n"}},"requiredInputs":["alertNotifications","alertsToAdmins","email"],"stateInputs":{"description":"Input properties used for looking up and filtering Contact resources.\n","properties":{"alertNotifications":{"type":"boolean","description":"Whether to send security alerts notifications to the security contact.\n"},"alertsToAdmins":{"type":"boolean","description":"Whether to send security alerts notifications to subscription admins.\n"},"email":{"type":"string","description":"The email of the Security Center Contact.\n"},"name":{"type":"string","description":"The name of the Security Center Contact. Changing this forces a new Security Center Contact to be created.\n","willReplaceOnChanges":true},"phone":{"type":"string","description":"The phone number of the Security Center Contact.\n"}},"type":"object"}},"azure:securitycenter/serverVulnerabilityAssessmentVirtualMachine:ServerVulnerabilityAssessmentVirtualMachine":{"description":"Manages an Azure Server Vulnerability Assessment (Qualys) to a VM.\n\n\u003e **Note:** Azure Defender has to be enabled on the subscription in order for this resource to work.\nSee this [documentation](https://docs.microsoft.com/azure/security-center/security-center-get-started) to get started.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"example\", {\n    name: \"example-vnet\",\n    resourceGroupName: example.name,\n    addressSpaces: [\"192.168.1.0/24\"],\n    location: example.location,\n});\nconst exampleSubnet = new azure.network.Subnet(\"example\", {\n    name: \"example-subnet\",\n    resourceGroupName: example.name,\n    virtualNetworkName: exampleVirtualNetwork.name,\n    addressPrefixes: [\"192.168.1.0/24\"],\n});\nconst exampleNetworkInterface = new azure.network.NetworkInterface(\"example\", {\n    name: \"example-nic\",\n    location: example.location,\n    resourceGroupName: example.name,\n    ipConfigurations: [{\n        name: \"vm-example\",\n        subnetId: exampleSubnet.id,\n        privateIpAddressAllocation: \"Dynamic\",\n    }],\n});\nconst exampleLinuxVirtualMachine = new azure.compute.LinuxVirtualMachine(\"example\", {\n    name: \"example-vm\",\n    location: example.location,\n    resourceGroupName: example.name,\n    size: \"Standard_B1s\",\n    adminUsername: \"testadmin\",\n    adminPassword: \"Password1234!\",\n    disablePasswordAuthentication: false,\n    sourceImageReference: {\n        publisher: \"Canonical\",\n        offer: \"0001-com-ubuntu-server-jammy\",\n        sku: \"22_04-lts\",\n        version: \"latest\",\n    },\n    osDisk: {\n        caching: \"ReadWrite\",\n        storageAccountType: \"Standard_LRS\",\n    },\n    networkInterfaceIds: [exampleNetworkInterface.id],\n});\nconst exampleServerVulnerabilityAssessmentVirtualMachine = new azure.securitycenter.ServerVulnerabilityAssessmentVirtualMachine(\"example\", {virtualMachineId: exampleLinuxVirtualMachine.id});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_virtual_network = azure.network.VirtualNetwork(\"example\",\n    name=\"example-vnet\",\n    resource_group_name=example.name,\n    address_spaces=[\"192.168.1.0/24\"],\n    location=example.location)\nexample_subnet = azure.network.Subnet(\"example\",\n    name=\"example-subnet\",\n    resource_group_name=example.name,\n    virtual_network_name=example_virtual_network.name,\n    address_prefixes=[\"192.168.1.0/24\"])\nexample_network_interface = azure.network.NetworkInterface(\"example\",\n    name=\"example-nic\",\n    location=example.location,\n    resource_group_name=example.name,\n    ip_configurations=[{\n        \"name\": \"vm-example\",\n        \"subnet_id\": example_subnet.id,\n        \"private_ip_address_allocation\": \"Dynamic\",\n    }])\nexample_linux_virtual_machine = azure.compute.LinuxVirtualMachine(\"example\",\n    name=\"example-vm\",\n    location=example.location,\n    resource_group_name=example.name,\n    size=\"Standard_B1s\",\n    admin_username=\"testadmin\",\n    admin_password=\"Password1234!\",\n    disable_password_authentication=False,\n    source_image_reference={\n        \"publisher\": \"Canonical\",\n        \"offer\": \"0001-com-ubuntu-server-jammy\",\n        \"sku\": \"22_04-lts\",\n        \"version\": \"latest\",\n    },\n    os_disk={\n        \"caching\": \"ReadWrite\",\n        \"storage_account_type\": \"Standard_LRS\",\n    },\n    network_interface_ids=[example_network_interface.id])\nexample_server_vulnerability_assessment_virtual_machine = azure.securitycenter.ServerVulnerabilityAssessmentVirtualMachine(\"example\", virtual_machine_id=example_linux_virtual_machine.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleVirtualNetwork = new Azure.Network.VirtualNetwork(\"example\", new()\n    {\n        Name = \"example-vnet\",\n        ResourceGroupName = example.Name,\n        AddressSpaces = new[]\n        {\n            \"192.168.1.0/24\",\n        },\n        Location = example.Location,\n    });\n\n    var exampleSubnet = new Azure.Network.Subnet(\"example\", new()\n    {\n        Name = \"example-subnet\",\n        ResourceGroupName = example.Name,\n        VirtualNetworkName = exampleVirtualNetwork.Name,\n        AddressPrefixes = new[]\n        {\n            \"192.168.1.0/24\",\n        },\n    });\n\n    var exampleNetworkInterface = new Azure.Network.NetworkInterface(\"example\", new()\n    {\n        Name = \"example-nic\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        IpConfigurations = new[]\n        {\n            new Azure.Network.Inputs.NetworkInterfaceIpConfigurationArgs\n            {\n                Name = \"vm-example\",\n                SubnetId = exampleSubnet.Id,\n                PrivateIpAddressAllocation = \"Dynamic\",\n            },\n        },\n    });\n\n    var exampleLinuxVirtualMachine = new Azure.Compute.LinuxVirtualMachine(\"example\", new()\n    {\n        Name = \"example-vm\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Size = \"Standard_B1s\",\n        AdminUsername = \"testadmin\",\n        AdminPassword = \"Password1234!\",\n        DisablePasswordAuthentication = false,\n        SourceImageReference = new Azure.Compute.Inputs.LinuxVirtualMachineSourceImageReferenceArgs\n        {\n            Publisher = \"Canonical\",\n            Offer = \"0001-com-ubuntu-server-jammy\",\n            Sku = \"22_04-lts\",\n            Version = \"latest\",\n        },\n        OsDisk = new Azure.Compute.Inputs.LinuxVirtualMachineOsDiskArgs\n        {\n            Caching = \"ReadWrite\",\n            StorageAccountType = \"Standard_LRS\",\n        },\n        NetworkInterfaceIds = new[]\n        {\n            exampleNetworkInterface.Id,\n        },\n    });\n\n    var exampleServerVulnerabilityAssessmentVirtualMachine = new Azure.SecurityCenter.ServerVulnerabilityAssessmentVirtualMachine(\"example\", new()\n    {\n        VirtualMachineId = exampleLinuxVirtualMachine.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/compute\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/securitycenter\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, \"example\", \u0026network.VirtualNetworkArgs{\n\t\t\tName:              pulumi.String(\"example-vnet\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tAddressSpaces: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"192.168.1.0/24\"),\n\t\t\t},\n\t\t\tLocation: example.Location,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSubnet, err := network.NewSubnet(ctx, \"example\", \u0026network.SubnetArgs{\n\t\t\tName:               pulumi.String(\"example-subnet\"),\n\t\t\tResourceGroupName:  example.Name,\n\t\t\tVirtualNetworkName: exampleVirtualNetwork.Name,\n\t\t\tAddressPrefixes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"192.168.1.0/24\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNetworkInterface, err := network.NewNetworkInterface(ctx, \"example\", \u0026network.NetworkInterfaceArgs{\n\t\t\tName:              pulumi.String(\"example-nic\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tIpConfigurations: network.NetworkInterfaceIpConfigurationArray{\n\t\t\t\t\u0026network.NetworkInterfaceIpConfigurationArgs{\n\t\t\t\t\tName:                       pulumi.String(\"vm-example\"),\n\t\t\t\t\tSubnetId:                   exampleSubnet.ID(),\n\t\t\t\t\tPrivateIpAddressAllocation: pulumi.String(\"Dynamic\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleLinuxVirtualMachine, err := compute.NewLinuxVirtualMachine(ctx, \"example\", \u0026compute.LinuxVirtualMachineArgs{\n\t\t\tName:                          pulumi.String(\"example-vm\"),\n\t\t\tLocation:                      example.Location,\n\t\t\tResourceGroupName:             example.Name,\n\t\t\tSize:                          pulumi.String(\"Standard_B1s\"),\n\t\t\tAdminUsername:                 pulumi.String(\"testadmin\"),\n\t\t\tAdminPassword:                 pulumi.String(\"Password1234!\"),\n\t\t\tDisablePasswordAuthentication: pulumi.Bool(false),\n\t\t\tSourceImageReference: \u0026compute.LinuxVirtualMachineSourceImageReferenceArgs{\n\t\t\t\tPublisher: pulumi.String(\"Canonical\"),\n\t\t\t\tOffer:     pulumi.String(\"0001-com-ubuntu-server-jammy\"),\n\t\t\t\tSku:       pulumi.String(\"22_04-lts\"),\n\t\t\t\tVersion:   pulumi.String(\"latest\"),\n\t\t\t},\n\t\t\tOsDisk: \u0026compute.LinuxVirtualMachineOsDiskArgs{\n\t\t\t\tCaching:            pulumi.String(\"ReadWrite\"),\n\t\t\t\tStorageAccountType: pulumi.String(\"Standard_LRS\"),\n\t\t\t},\n\t\t\tNetworkInterfaceIds: pulumi.StringArray{\n\t\t\t\texampleNetworkInterface.ID(),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = securitycenter.NewServerVulnerabilityAssessmentVirtualMachine(ctx, \"example\", \u0026securitycenter.ServerVulnerabilityAssessmentVirtualMachineArgs{\n\t\t\tVirtualMachineId: exampleLinuxVirtualMachine.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.VirtualNetwork;\nimport com.pulumi.azure.network.VirtualNetworkArgs;\nimport com.pulumi.azure.network.Subnet;\nimport com.pulumi.azure.network.SubnetArgs;\nimport com.pulumi.azure.network.NetworkInterface;\nimport com.pulumi.azure.network.NetworkInterfaceArgs;\nimport com.pulumi.azure.network.inputs.NetworkInterfaceIpConfigurationArgs;\nimport com.pulumi.azure.compute.LinuxVirtualMachine;\nimport com.pulumi.azure.compute.LinuxVirtualMachineArgs;\nimport com.pulumi.azure.compute.inputs.LinuxVirtualMachineSourceImageReferenceArgs;\nimport com.pulumi.azure.compute.inputs.LinuxVirtualMachineOsDiskArgs;\nimport com.pulumi.azure.securitycenter.ServerVulnerabilityAssessmentVirtualMachine;\nimport com.pulumi.azure.securitycenter.ServerVulnerabilityAssessmentVirtualMachineArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleVirtualNetwork = new VirtualNetwork(\"exampleVirtualNetwork\", VirtualNetworkArgs.builder()\n            .name(\"example-vnet\")\n            .resourceGroupName(example.name())\n            .addressSpaces(\"192.168.1.0/24\")\n            .location(example.location())\n            .build());\n\n        var exampleSubnet = new Subnet(\"exampleSubnet\", SubnetArgs.builder()\n            .name(\"example-subnet\")\n            .resourceGroupName(example.name())\n            .virtualNetworkName(exampleVirtualNetwork.name())\n            .addressPrefixes(\"192.168.1.0/24\")\n            .build());\n\n        var exampleNetworkInterface = new NetworkInterface(\"exampleNetworkInterface\", NetworkInterfaceArgs.builder()\n            .name(\"example-nic\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .ipConfigurations(NetworkInterfaceIpConfigurationArgs.builder()\n                .name(\"vm-example\")\n                .subnetId(exampleSubnet.id())\n                .privateIpAddressAllocation(\"Dynamic\")\n                .build())\n            .build());\n\n        var exampleLinuxVirtualMachine = new LinuxVirtualMachine(\"exampleLinuxVirtualMachine\", LinuxVirtualMachineArgs.builder()\n            .name(\"example-vm\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .size(\"Standard_B1s\")\n            .adminUsername(\"testadmin\")\n            .adminPassword(\"Password1234!\")\n            .disablePasswordAuthentication(false)\n            .sourceImageReference(LinuxVirtualMachineSourceImageReferenceArgs.builder()\n                .publisher(\"Canonical\")\n                .offer(\"0001-com-ubuntu-server-jammy\")\n                .sku(\"22_04-lts\")\n                .version(\"latest\")\n                .build())\n            .osDisk(LinuxVirtualMachineOsDiskArgs.builder()\n                .caching(\"ReadWrite\")\n                .storageAccountType(\"Standard_LRS\")\n                .build())\n            .networkInterfaceIds(exampleNetworkInterface.id())\n            .build());\n\n        var exampleServerVulnerabilityAssessmentVirtualMachine = new ServerVulnerabilityAssessmentVirtualMachine(\"exampleServerVulnerabilityAssessmentVirtualMachine\", ServerVulnerabilityAssessmentVirtualMachineArgs.builder()\n            .virtualMachineId(exampleLinuxVirtualMachine.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleVirtualNetwork:\n    type: azure:network:VirtualNetwork\n    name: example\n    properties:\n      name: example-vnet\n      resourceGroupName: ${example.name}\n      addressSpaces:\n        - 192.168.1.0/24\n      location: ${example.location}\n  exampleSubnet:\n    type: azure:network:Subnet\n    name: example\n    properties:\n      name: example-subnet\n      resourceGroupName: ${example.name}\n      virtualNetworkName: ${exampleVirtualNetwork.name}\n      addressPrefixes:\n        - 192.168.1.0/24\n  exampleNetworkInterface:\n    type: azure:network:NetworkInterface\n    name: example\n    properties:\n      name: example-nic\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      ipConfigurations:\n        - name: vm-example\n          subnetId: ${exampleSubnet.id}\n          privateIpAddressAllocation: Dynamic\n  exampleLinuxVirtualMachine:\n    type: azure:compute:LinuxVirtualMachine\n    name: example\n    properties:\n      name: example-vm\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      size: Standard_B1s\n      adminUsername: testadmin\n      adminPassword: Password1234!\n      disablePasswordAuthentication: false\n      sourceImageReference:\n        publisher: Canonical\n        offer: 0001-com-ubuntu-server-jammy\n        sku: 22_04-lts\n        version: latest\n      osDisk:\n        caching: ReadWrite\n        storageAccountType: Standard_LRS\n      networkInterfaceIds:\n        - ${exampleNetworkInterface.id}\n  exampleServerVulnerabilityAssessmentVirtualMachine:\n    type: azure:securitycenter:ServerVulnerabilityAssessmentVirtualMachine\n    name: example\n    properties:\n      virtualMachineId: ${exampleLinuxVirtualMachine.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nServer Vulnerability Assessments can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:securitycenter/serverVulnerabilityAssessmentVirtualMachine:ServerVulnerabilityAssessmentVirtualMachine example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resource-group-name/providers/Microsoft.Compute/virtualMachines/vm-name/providers/Microsoft.Security/serverVulnerabilityAssessments/Default\n```\n\n","properties":{"virtualMachineId":{"type":"string","description":"The ID of the virtual machine to be monitored by vulnerability assessment. Changing this forces a new resource to be created.\n"}},"required":["virtualMachineId"],"inputProperties":{"virtualMachineId":{"type":"string","description":"The ID of the virtual machine to be monitored by vulnerability assessment. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["virtualMachineId"],"stateInputs":{"description":"Input properties used for looking up and filtering ServerVulnerabilityAssessmentVirtualMachine resources.\n","properties":{"virtualMachineId":{"type":"string","description":"The ID of the virtual machine to be monitored by vulnerability assessment. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"},"aliases":[{"type":"azure:securitycenter/serverVulnerabilityAssessment:ServerVulnerabilityAssessment"}]},"azure:securitycenter/serverVulnerabilityAssessmentsSetting:ServerVulnerabilityAssessmentsSetting":{"description":"Manages the Server Vulnerability Assesments Setting for Azure Security Center.\n\n\u003e **Note:** This resource requires the `Owner` permission on the Subscription.\n\n\u003e **Note:** Deletion of this resource disables the setting.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.securitycenter.ServerVulnerabilityAssessmentsSetting(\"example\", {vulnerabilityAssessmentProvider: \"MdeTvm\"});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.securitycenter.ServerVulnerabilityAssessmentsSetting(\"example\", vulnerability_assessment_provider=\"MdeTvm\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.SecurityCenter.ServerVulnerabilityAssessmentsSetting(\"example\", new()\n    {\n        VulnerabilityAssessmentProvider = \"MdeTvm\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/securitycenter\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := securitycenter.NewServerVulnerabilityAssessmentsSetting(ctx, \"example\", \u0026securitycenter.ServerVulnerabilityAssessmentsSettingArgs{\n\t\t\tVulnerabilityAssessmentProvider: pulumi.String(\"MdeTvm\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.securitycenter.ServerVulnerabilityAssessmentsSetting;\nimport com.pulumi.azure.securitycenter.ServerVulnerabilityAssessmentsSettingArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ServerVulnerabilityAssessmentsSetting(\"example\", ServerVulnerabilityAssessmentsSettingArgs.builder()\n            .vulnerabilityAssessmentProvider(\"MdeTvm\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:securitycenter:ServerVulnerabilityAssessmentsSetting\n    properties:\n      vulnerabilityAssessmentProvider: MdeTvm\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Security` - 2023-05-01\n\n## Import\n\nThe setting can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:securitycenter/serverVulnerabilityAssessmentsSetting:ServerVulnerabilityAssessmentsSetting example /subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Security/serverVulnerabilityAssessmentsSettings/AzureServersSetting\n```\n\n","properties":{"vulnerabilityAssessmentProvider":{"type":"string","description":"The vulnerability assesment provider to use. The only possible values is `MdeTvm`.\n"}},"required":["vulnerabilityAssessmentProvider"],"inputProperties":{"vulnerabilityAssessmentProvider":{"type":"string","description":"The vulnerability assesment provider to use. The only possible values is `MdeTvm`.\n"}},"requiredInputs":["vulnerabilityAssessmentProvider"],"stateInputs":{"description":"Input properties used for looking up and filtering ServerVulnerabilityAssessmentsSetting resources.\n","properties":{"vulnerabilityAssessmentProvider":{"type":"string","description":"The vulnerability assesment provider to use. The only possible values is `MdeTvm`.\n"}},"type":"object"}},"azure:securitycenter/setting:Setting":{"description":"Manages the Data Access Settings for Azure Security Center.\n\n\u003e **Note:** This resource requires the `Owner` permission on the Subscription.\n\n\u003e **Note:** Deletion of this resource disables the setting.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.securitycenter.Setting(\"example\", {\n    settingName: \"MCAS\",\n    enabled: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.securitycenter.Setting(\"example\",\n    setting_name=\"MCAS\",\n    enabled=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.SecurityCenter.Setting(\"example\", new()\n    {\n        SettingName = \"MCAS\",\n        Enabled = true,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/securitycenter\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := securitycenter.NewSetting(ctx, \"example\", \u0026securitycenter.SettingArgs{\n\t\t\tSettingName: pulumi.String(\"MCAS\"),\n\t\t\tEnabled:     pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.securitycenter.Setting;\nimport com.pulumi.azure.securitycenter.SettingArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new Setting(\"example\", SettingArgs.builder()\n            .settingName(\"MCAS\")\n            .enabled(true)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:securitycenter:Setting\n    properties:\n      settingName: MCAS\n      enabled: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Security` - 2022-05-01\n\n## Import\n\nThe setting can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:securitycenter/setting:Setting example /subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Security/settings/\u003csetting_name\u003e\n```\n\n","properties":{"enabled":{"type":"boolean","description":"Boolean flag to enable/disable data access.\n"},"settingName":{"type":"string","description":"The setting to manage. Possible values are `MCAS` , `WDATP`, `WDATP_EXCLUDE_LINUX_PUBLIC_PREVIEW`, `WDATP_UNIFIED_SOLUTION` and `Sentinel`. Changing this forces a new resource to be created.\n"}},"required":["enabled","settingName"],"inputProperties":{"enabled":{"type":"boolean","description":"Boolean flag to enable/disable data access.\n"},"settingName":{"type":"string","description":"The setting to manage. Possible values are `MCAS` , `WDATP`, `WDATP_EXCLUDE_LINUX_PUBLIC_PREVIEW`, `WDATP_UNIFIED_SOLUTION` and `Sentinel`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["enabled","settingName"],"stateInputs":{"description":"Input properties used for looking up and filtering Setting resources.\n","properties":{"enabled":{"type":"boolean","description":"Boolean flag to enable/disable data access.\n"},"settingName":{"type":"string","description":"The setting to manage. Possible values are `MCAS` , `WDATP`, `WDATP_EXCLUDE_LINUX_PUBLIC_PREVIEW`, `WDATP_UNIFIED_SOLUTION` and `Sentinel`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:securitycenter/storageDefender:StorageDefender":{"description":"Manages the Defender for Storage.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-rg\",\n    location: \"westus2\",\n});\nconst exampleAccount = new azure.storage.Account(\"example\", {\n    name: \"exampleacc\",\n    resourceGroupName: example.name,\n    location: example.location,\n    accountTier: \"Standard\",\n    accountReplicationType: \"LRS\",\n});\nconst exampleStorageDefender = new azure.securitycenter.StorageDefender(\"example\", {storageAccountId: exampleAccount.id});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-rg\",\n    location=\"westus2\")\nexample_account = azure.storage.Account(\"example\",\n    name=\"exampleacc\",\n    resource_group_name=example.name,\n    location=example.location,\n    account_tier=\"Standard\",\n    account_replication_type=\"LRS\")\nexample_storage_defender = azure.securitycenter.StorageDefender(\"example\", storage_account_id=example_account.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-rg\",\n        Location = \"westus2\",\n    });\n\n    var exampleAccount = new Azure.Storage.Account(\"example\", new()\n    {\n        Name = \"exampleacc\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        AccountTier = \"Standard\",\n        AccountReplicationType = \"LRS\",\n    });\n\n    var exampleStorageDefender = new Azure.SecurityCenter.StorageDefender(\"example\", new()\n    {\n        StorageAccountId = exampleAccount.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/securitycenter\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-rg\"),\n\t\t\tLocation: pulumi.String(\"westus2\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := storage.NewAccount(ctx, \"example\", \u0026storage.AccountArgs{\n\t\t\tName:                   pulumi.String(\"exampleacc\"),\n\t\t\tResourceGroupName:      example.Name,\n\t\t\tLocation:               example.Location,\n\t\t\tAccountTier:            pulumi.String(\"Standard\"),\n\t\t\tAccountReplicationType: pulumi.String(\"LRS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = securitycenter.NewStorageDefender(ctx, \"example\", \u0026securitycenter.StorageDefenderArgs{\n\t\t\tStorageAccountId: exampleAccount.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.storage.Account;\nimport com.pulumi.azure.storage.AccountArgs;\nimport com.pulumi.azure.securitycenter.StorageDefender;\nimport com.pulumi.azure.securitycenter.StorageDefenderArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-rg\")\n            .location(\"westus2\")\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"exampleacc\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .accountTier(\"Standard\")\n            .accountReplicationType(\"LRS\")\n            .build());\n\n        var exampleStorageDefender = new StorageDefender(\"exampleStorageDefender\", StorageDefenderArgs.builder()\n            .storageAccountId(exampleAccount.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-rg\n      location: westus2\n  exampleAccount:\n    type: azure:storage:Account\n    name: example\n    properties:\n      name: exampleacc\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      accountTier: Standard\n      accountReplicationType: LRS\n  exampleStorageDefender:\n    type: azure:securitycenter:StorageDefender\n    name: example\n    properties:\n      storageAccountId: ${exampleAccount.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Security` - 2025-06-01\n\n## Import\n\nThe setting can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:securitycenter/storageDefender:StorageDefender example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Storage/storageAccounts/storageacc\n```\n\n","properties":{"malwareScanningOnUploadCapGbPerMonth":{"type":"integer","description":"The max GB to be scanned per Month. Must be `-1` or above \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e. Omit this property or set to `-1` if no capping is needed. Defaults to `-1`.\n"},"malwareScanningOnUploadEnabled":{"type":"boolean","description":"Whether On Upload malware scanning should be enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"overrideSubscriptionSettingsEnabled":{"type":"boolean","description":"Whether the settings defined for this storage account should override the settings defined for the subscription. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"scanResultsEventGridTopicId":{"type":"string","description":"The Event Grid Topic where every scan result will be sent to. When you set an Event Grid custom topic, you must set \u003cspan pulumi-lang-nodejs=\"`overrideSubscriptionSettingsEnabled`\" pulumi-lang-dotnet=\"`OverrideSubscriptionSettingsEnabled`\" pulumi-lang-go=\"`overrideSubscriptionSettingsEnabled`\" pulumi-lang-python=\"`override_subscription_settings_enabled`\" pulumi-lang-yaml=\"`overrideSubscriptionSettingsEnabled`\" pulumi-lang-java=\"`overrideSubscriptionSettingsEnabled`\"\u003e`override_subscription_settings_enabled`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e to override the subscription-level settings.\n"},"sensitiveDataDiscoveryEnabled":{"type":"boolean","description":"Whether Sensitive Data Discovery should be enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"storageAccountId":{"type":"string","description":"The ID of the storage account the defender applied to. Changing this forces a new resource to be created.\n"}},"required":["storageAccountId"],"inputProperties":{"malwareScanningOnUploadCapGbPerMonth":{"type":"integer","description":"The max GB to be scanned per Month. Must be `-1` or above \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e. Omit this property or set to `-1` if no capping is needed. Defaults to `-1`.\n"},"malwareScanningOnUploadEnabled":{"type":"boolean","description":"Whether On Upload malware scanning should be enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"overrideSubscriptionSettingsEnabled":{"type":"boolean","description":"Whether the settings defined for this storage account should override the settings defined for the subscription. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"scanResultsEventGridTopicId":{"type":"string","description":"The Event Grid Topic where every scan result will be sent to. When you set an Event Grid custom topic, you must set \u003cspan pulumi-lang-nodejs=\"`overrideSubscriptionSettingsEnabled`\" pulumi-lang-dotnet=\"`OverrideSubscriptionSettingsEnabled`\" pulumi-lang-go=\"`overrideSubscriptionSettingsEnabled`\" pulumi-lang-python=\"`override_subscription_settings_enabled`\" pulumi-lang-yaml=\"`overrideSubscriptionSettingsEnabled`\" pulumi-lang-java=\"`overrideSubscriptionSettingsEnabled`\"\u003e`override_subscription_settings_enabled`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e to override the subscription-level settings.\n"},"sensitiveDataDiscoveryEnabled":{"type":"boolean","description":"Whether Sensitive Data Discovery should be enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"storageAccountId":{"type":"string","description":"The ID of the storage account the defender applied to. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["storageAccountId"],"stateInputs":{"description":"Input properties used for looking up and filtering StorageDefender resources.\n","properties":{"malwareScanningOnUploadCapGbPerMonth":{"type":"integer","description":"The max GB to be scanned per Month. Must be `-1` or above \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e. Omit this property or set to `-1` if no capping is needed. Defaults to `-1`.\n"},"malwareScanningOnUploadEnabled":{"type":"boolean","description":"Whether On Upload malware scanning should be enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"overrideSubscriptionSettingsEnabled":{"type":"boolean","description":"Whether the settings defined for this storage account should override the settings defined for the subscription. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"scanResultsEventGridTopicId":{"type":"string","description":"The Event Grid Topic where every scan result will be sent to. When you set an Event Grid custom topic, you must set \u003cspan pulumi-lang-nodejs=\"`overrideSubscriptionSettingsEnabled`\" pulumi-lang-dotnet=\"`OverrideSubscriptionSettingsEnabled`\" pulumi-lang-go=\"`overrideSubscriptionSettingsEnabled`\" pulumi-lang-python=\"`override_subscription_settings_enabled`\" pulumi-lang-yaml=\"`overrideSubscriptionSettingsEnabled`\" pulumi-lang-java=\"`overrideSubscriptionSettingsEnabled`\"\u003e`override_subscription_settings_enabled`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e to override the subscription-level settings.\n"},"sensitiveDataDiscoveryEnabled":{"type":"boolean","description":"Whether Sensitive Data Discovery should be enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"storageAccountId":{"type":"string","description":"The ID of the storage account the defender applied to. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:securitycenter/subscriptionPricing:SubscriptionPricing":{"description":"Manages the Pricing Tier for Azure Security Center in the current subscription.\n\n\u003e **Note:** Deletion of this resource will reset the pricing tier to `Free`\n\n## Example Usage\n\n### Basic usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.securitycenter.SubscriptionPricing(\"example\", {\n    tier: \"Standard\",\n    resourceType: \"VirtualMachines\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.securitycenter.SubscriptionPricing(\"example\",\n    tier=\"Standard\",\n    resource_type=\"VirtualMachines\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.SecurityCenter.SubscriptionPricing(\"example\", new()\n    {\n        Tier = \"Standard\",\n        ResourceType = \"VirtualMachines\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/securitycenter\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := securitycenter.NewSubscriptionPricing(ctx, \"example\", \u0026securitycenter.SubscriptionPricingArgs{\n\t\t\tTier:         pulumi.String(\"Standard\"),\n\t\t\tResourceType: pulumi.String(\"VirtualMachines\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.securitycenter.SubscriptionPricing;\nimport com.pulumi.azure.securitycenter.SubscriptionPricingArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new SubscriptionPricing(\"example\", SubscriptionPricingArgs.builder()\n            .tier(\"Standard\")\n            .resourceType(\"VirtualMachines\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:securitycenter:SubscriptionPricing\n    properties:\n      tier: Standard\n      resourceType: VirtualMachines\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Using Extensions with Defender CSPM\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example1 = new azure.securitycenter.SubscriptionPricing(\"example1\", {\n    tier: \"Standard\",\n    resourceType: \"CloudPosture\",\n    extensions: [\n        {\n            name: \"ContainerRegistriesVulnerabilityAssessments\",\n        },\n        {\n            name: \"AgentlessVmScanning\",\n            additionalExtensionProperties: {\n                ExclusionTags: \"[]\",\n            },\n        },\n        {\n            name: \"AgentlessDiscoveryForKubernetes\",\n        },\n        {\n            name: \"SensitiveDataDiscovery\",\n        },\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample1 = azure.securitycenter.SubscriptionPricing(\"example1\",\n    tier=\"Standard\",\n    resource_type=\"CloudPosture\",\n    extensions=[\n        {\n            \"name\": \"ContainerRegistriesVulnerabilityAssessments\",\n        },\n        {\n            \"name\": \"AgentlessVmScanning\",\n            \"additional_extension_properties\": {\n                \"ExclusionTags\": \"[]\",\n            },\n        },\n        {\n            \"name\": \"AgentlessDiscoveryForKubernetes\",\n        },\n        {\n            \"name\": \"SensitiveDataDiscovery\",\n        },\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example1 = new Azure.SecurityCenter.SubscriptionPricing(\"example1\", new()\n    {\n        Tier = \"Standard\",\n        ResourceType = \"CloudPosture\",\n        Extensions = new[]\n        {\n            new Azure.SecurityCenter.Inputs.SubscriptionPricingExtensionArgs\n            {\n                Name = \"ContainerRegistriesVulnerabilityAssessments\",\n            },\n            new Azure.SecurityCenter.Inputs.SubscriptionPricingExtensionArgs\n            {\n                Name = \"AgentlessVmScanning\",\n                AdditionalExtensionProperties = \n                {\n                    { \"ExclusionTags\", \"[]\" },\n                },\n            },\n            new Azure.SecurityCenter.Inputs.SubscriptionPricingExtensionArgs\n            {\n                Name = \"AgentlessDiscoveryForKubernetes\",\n            },\n            new Azure.SecurityCenter.Inputs.SubscriptionPricingExtensionArgs\n            {\n                Name = \"SensitiveDataDiscovery\",\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/securitycenter\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := securitycenter.NewSubscriptionPricing(ctx, \"example1\", \u0026securitycenter.SubscriptionPricingArgs{\n\t\t\tTier:         pulumi.String(\"Standard\"),\n\t\t\tResourceType: pulumi.String(\"CloudPosture\"),\n\t\t\tExtensions: securitycenter.SubscriptionPricingExtensionArray{\n\t\t\t\t\u0026securitycenter.SubscriptionPricingExtensionArgs{\n\t\t\t\t\tName: pulumi.String(\"ContainerRegistriesVulnerabilityAssessments\"),\n\t\t\t\t},\n\t\t\t\t\u0026securitycenter.SubscriptionPricingExtensionArgs{\n\t\t\t\t\tName: pulumi.String(\"AgentlessVmScanning\"),\n\t\t\t\t\tAdditionalExtensionProperties: pulumi.StringMap{\n\t\t\t\t\t\t\"ExclusionTags\": pulumi.String(\"[]\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026securitycenter.SubscriptionPricingExtensionArgs{\n\t\t\t\t\tName: pulumi.String(\"AgentlessDiscoveryForKubernetes\"),\n\t\t\t\t},\n\t\t\t\t\u0026securitycenter.SubscriptionPricingExtensionArgs{\n\t\t\t\t\tName: pulumi.String(\"SensitiveDataDiscovery\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.securitycenter.SubscriptionPricing;\nimport com.pulumi.azure.securitycenter.SubscriptionPricingArgs;\nimport com.pulumi.azure.securitycenter.inputs.SubscriptionPricingExtensionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example1 = new SubscriptionPricing(\"example1\", SubscriptionPricingArgs.builder()\n            .tier(\"Standard\")\n            .resourceType(\"CloudPosture\")\n            .extensions(            \n                SubscriptionPricingExtensionArgs.builder()\n                    .name(\"ContainerRegistriesVulnerabilityAssessments\")\n                    .build(),\n                SubscriptionPricingExtensionArgs.builder()\n                    .name(\"AgentlessVmScanning\")\n                    .additionalExtensionProperties(Map.of(\"ExclusionTags\", \"[]\"))\n                    .build(),\n                SubscriptionPricingExtensionArgs.builder()\n                    .name(\"AgentlessDiscoveryForKubernetes\")\n                    .build(),\n                SubscriptionPricingExtensionArgs.builder()\n                    .name(\"SensitiveDataDiscovery\")\n                    .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example1:\n    type: azure:securitycenter:SubscriptionPricing\n    properties:\n      tier: Standard\n      resourceType: CloudPosture\n      extensions:\n        - name: ContainerRegistriesVulnerabilityAssessments\n        - name: AgentlessVmScanning\n          additionalExtensionProperties:\n            ExclusionTags: '[]'\n        - name: AgentlessDiscoveryForKubernetes\n        - name: SensitiveDataDiscovery\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Security` - 2023-01-01\n\n## Import\n\nThe pricing tier can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:securitycenter/subscriptionPricing:SubscriptionPricing example /subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Security/pricings/\u003cresource_type\u003e\n```\n\n","properties":{"extensions":{"type":"array","items":{"$ref":"#/types/azure:securitycenter/SubscriptionPricingExtension:SubscriptionPricingExtension"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`extension`\" pulumi-lang-dotnet=\"`Extension`\" pulumi-lang-go=\"`extension`\" pulumi-lang-python=\"`extension`\" pulumi-lang-yaml=\"`extension`\" pulumi-lang-java=\"`extension`\"\u003e`extension`\u003c/span\u003e blocks as defined below.\n"},"resourceType":{"type":"string","description":"The resource type this setting affects. Possible values are `AI`, `Api`, `AppServices`, `ContainerRegistry`, `KeyVaults`, `KubernetesService`, `SqlServers`, `SqlServerVirtualMachines`, `StorageAccounts`, `VirtualMachines`, `Arm`, `Dns`, `OpenSourceRelationalDatabases`, `Containers`, `CosmosDbs` and `CloudPosture`. Defaults to `VirtualMachines`\n"},"subplan":{"type":"string","description":"Resource type pricing subplan. Contact your MSFT representative for possible values. Changing this forces a new resource to be created.\n"},"tier":{"type":"string","description":"The pricing tier to use. Possible values are `Free` and `Standard`.\n"}},"required":["tier"],"inputProperties":{"extensions":{"type":"array","items":{"$ref":"#/types/azure:securitycenter/SubscriptionPricingExtension:SubscriptionPricingExtension"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`extension`\" pulumi-lang-dotnet=\"`Extension`\" pulumi-lang-go=\"`extension`\" pulumi-lang-python=\"`extension`\" pulumi-lang-yaml=\"`extension`\" pulumi-lang-java=\"`extension`\"\u003e`extension`\u003c/span\u003e blocks as defined below.\n"},"resourceType":{"type":"string","description":"The resource type this setting affects. Possible values are `AI`, `Api`, `AppServices`, `ContainerRegistry`, `KeyVaults`, `KubernetesService`, `SqlServers`, `SqlServerVirtualMachines`, `StorageAccounts`, `VirtualMachines`, `Arm`, `Dns`, `OpenSourceRelationalDatabases`, `Containers`, `CosmosDbs` and `CloudPosture`. Defaults to `VirtualMachines`\n"},"subplan":{"type":"string","description":"Resource type pricing subplan. Contact your MSFT representative for possible values. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tier":{"type":"string","description":"The pricing tier to use. Possible values are `Free` and `Standard`.\n"}},"requiredInputs":["tier"],"stateInputs":{"description":"Input properties used for looking up and filtering SubscriptionPricing resources.\n","properties":{"extensions":{"type":"array","items":{"$ref":"#/types/azure:securitycenter/SubscriptionPricingExtension:SubscriptionPricingExtension"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`extension`\" pulumi-lang-dotnet=\"`Extension`\" pulumi-lang-go=\"`extension`\" pulumi-lang-python=\"`extension`\" pulumi-lang-yaml=\"`extension`\" pulumi-lang-java=\"`extension`\"\u003e`extension`\u003c/span\u003e blocks as defined below.\n"},"resourceType":{"type":"string","description":"The resource type this setting affects. Possible values are `AI`, `Api`, `AppServices`, `ContainerRegistry`, `KeyVaults`, `KubernetesService`, `SqlServers`, `SqlServerVirtualMachines`, `StorageAccounts`, `VirtualMachines`, `Arm`, `Dns`, `OpenSourceRelationalDatabases`, `Containers`, `CosmosDbs` and `CloudPosture`. Defaults to `VirtualMachines`\n"},"subplan":{"type":"string","description":"Resource type pricing subplan. Contact your MSFT representative for possible values. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tier":{"type":"string","description":"The pricing tier to use. Possible values are `Free` and `Standard`.\n"}},"type":"object"}},"azure:securitycenter/workspace:Workspace":{"description":"Manages the subscription's Security Center Workspace.\n\n\u003e **Note:** Owner access permission is required.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"tfex-security-workspace\",\n    location: \"West Europe\",\n});\nconst exampleAnalyticsWorkspace = new azure.operationalinsights.AnalyticsWorkspace(\"example\", {\n    name: \"tfex-security-workspace\",\n    location: example.location,\n    resourceGroupName: example.name,\n    sku: \"PerGB2018\",\n});\nconst exampleWorkspace = new azure.securitycenter.Workspace(\"example\", {\n    scope: \"/subscriptions/00000000-0000-0000-0000-000000000000\",\n    workspaceId: exampleAnalyticsWorkspace.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"tfex-security-workspace\",\n    location=\"West Europe\")\nexample_analytics_workspace = azure.operationalinsights.AnalyticsWorkspace(\"example\",\n    name=\"tfex-security-workspace\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku=\"PerGB2018\")\nexample_workspace = azure.securitycenter.Workspace(\"example\",\n    scope=\"/subscriptions/00000000-0000-0000-0000-000000000000\",\n    workspace_id=example_analytics_workspace.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"tfex-security-workspace\",\n        Location = \"West Europe\",\n    });\n\n    var exampleAnalyticsWorkspace = new Azure.OperationalInsights.AnalyticsWorkspace(\"example\", new()\n    {\n        Name = \"tfex-security-workspace\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Sku = \"PerGB2018\",\n    });\n\n    var exampleWorkspace = new Azure.SecurityCenter.Workspace(\"example\", new()\n    {\n        Scope = \"/subscriptions/00000000-0000-0000-0000-000000000000\",\n        WorkspaceId = exampleAnalyticsWorkspace.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/operationalinsights\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/securitycenter\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"tfex-security-workspace\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAnalyticsWorkspace, err := operationalinsights.NewAnalyticsWorkspace(ctx, \"example\", \u0026operationalinsights.AnalyticsWorkspaceArgs{\n\t\t\tName:              pulumi.String(\"tfex-security-workspace\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSku:               pulumi.String(\"PerGB2018\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = securitycenter.NewWorkspace(ctx, \"example\", \u0026securitycenter.WorkspaceArgs{\n\t\t\tScope:       pulumi.String(\"/subscriptions/00000000-0000-0000-0000-000000000000\"),\n\t\t\tWorkspaceId: exampleAnalyticsWorkspace.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.operationalinsights.AnalyticsWorkspace;\nimport com.pulumi.azure.operationalinsights.AnalyticsWorkspaceArgs;\nimport com.pulumi.azure.securitycenter.Workspace;\nimport com.pulumi.azure.securitycenter.WorkspaceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"tfex-security-workspace\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleAnalyticsWorkspace = new AnalyticsWorkspace(\"exampleAnalyticsWorkspace\", AnalyticsWorkspaceArgs.builder()\n            .name(\"tfex-security-workspace\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .sku(\"PerGB2018\")\n            .build());\n\n        var exampleWorkspace = new Workspace(\"exampleWorkspace\", WorkspaceArgs.builder()\n            .scope(\"/subscriptions/00000000-0000-0000-0000-000000000000\")\n            .workspaceId(exampleAnalyticsWorkspace.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: tfex-security-workspace\n      location: West Europe\n  exampleAnalyticsWorkspace:\n    type: azure:operationalinsights:AnalyticsWorkspace\n    name: example\n    properties:\n      name: tfex-security-workspace\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      sku: PerGB2018\n  exampleWorkspace:\n    type: azure:securitycenter:Workspace\n    name: example\n    properties:\n      scope: /subscriptions/00000000-0000-0000-0000-000000000000\n      workspaceId: ${exampleAnalyticsWorkspace.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe contact can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:securitycenter/workspace:Workspace example /subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Security/workspaceSettings/default\n```\n\n","properties":{"scope":{"type":"string","description":"The scope of VMs to send their security data to the desired workspace, unless overridden by a setting with more specific scope.\n"},"workspaceId":{"type":"string","description":"The ID of the Log Analytics Workspace to save the data in.\n"}},"required":["scope","workspaceId"],"inputProperties":{"scope":{"type":"string","description":"The scope of VMs to send their security data to the desired workspace, unless overridden by a setting with more specific scope.\n"},"workspaceId":{"type":"string","description":"The ID of the Log Analytics Workspace to save the data in.\n"}},"requiredInputs":["scope","workspaceId"],"stateInputs":{"description":"Input properties used for looking up and filtering Workspace resources.\n","properties":{"scope":{"type":"string","description":"The scope of VMs to send their security data to the desired workspace, unless overridden by a setting with more specific scope.\n"},"workspaceId":{"type":"string","description":"The ID of the Log Analytics Workspace to save the data in.\n"}},"type":"object"}},"azure:sentinel/alertRuleAnomalyBuiltIn:AlertRuleAnomalyBuiltIn":{"description":"## Disclaimers\n\n\u003e **Note:** A Built-in Anomaly Alert Rule could not be deleted. delete a Terraform managed Built-in Anomaly Alert Rule will cause the Built-in Anomaly Alert Rule to be disabled.\n\nManages a Built-in Anomaly Alert Rule.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleAnalyticsWorkspace = new azure.operationalinsights.AnalyticsWorkspace(\"example\", {\n    name: \"example-law\",\n    location: exampleResourceGroup.location,\n    resourceGroupName: exampleResourceGroup.name,\n    sku: \"PerGB2018\",\n});\nconst exampleLogAnalyticsWorkspaceOnboarding = new azure.sentinel.LogAnalyticsWorkspaceOnboarding(\"example\", {\n    workspaceId: exampleAnalyticsWorkspace.id,\n    customerManagedKeyEnabled: false,\n});\nconst example = azure.sentinel.getAlertRuleAnomalyOutput({\n    logAnalyticsWorkspaceId: exampleLogAnalyticsWorkspaceOnboarding.workspaceId,\n    displayName: \"Potential data staging\",\n});\nconst exampleAlertRuleAnomalyBuiltIn = new azure.sentinel.AlertRuleAnomalyBuiltIn(\"example\", {\n    displayName: \"Potential data staging\",\n    logAnalyticsWorkspaceId: exampleAnalyticsWorkspace.id,\n    mode: \"Production\",\n    enabled: false,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_analytics_workspace = azure.operationalinsights.AnalyticsWorkspace(\"example\",\n    name=\"example-law\",\n    location=example_resource_group.location,\n    resource_group_name=example_resource_group.name,\n    sku=\"PerGB2018\")\nexample_log_analytics_workspace_onboarding = azure.sentinel.LogAnalyticsWorkspaceOnboarding(\"example\",\n    workspace_id=example_analytics_workspace.id,\n    customer_managed_key_enabled=False)\nexample = azure.sentinel.get_alert_rule_anomaly_output(log_analytics_workspace_id=example_log_analytics_workspace_onboarding.workspace_id,\n    display_name=\"Potential data staging\")\nexample_alert_rule_anomaly_built_in = azure.sentinel.AlertRuleAnomalyBuiltIn(\"example\",\n    display_name=\"Potential data staging\",\n    log_analytics_workspace_id=example_analytics_workspace.id,\n    mode=\"Production\",\n    enabled=False)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleResourceGroup = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleAnalyticsWorkspace = new Azure.OperationalInsights.AnalyticsWorkspace(\"example\", new()\n    {\n        Name = \"example-law\",\n        Location = exampleResourceGroup.Location,\n        ResourceGroupName = exampleResourceGroup.Name,\n        Sku = \"PerGB2018\",\n    });\n\n    var exampleLogAnalyticsWorkspaceOnboarding = new Azure.Sentinel.LogAnalyticsWorkspaceOnboarding(\"example\", new()\n    {\n        WorkspaceId = exampleAnalyticsWorkspace.Id,\n        CustomerManagedKeyEnabled = false,\n    });\n\n    var example = Azure.Sentinel.GetAlertRuleAnomaly.Invoke(new()\n    {\n        LogAnalyticsWorkspaceId = exampleLogAnalyticsWorkspaceOnboarding.WorkspaceId,\n        DisplayName = \"Potential data staging\",\n    });\n\n    var exampleAlertRuleAnomalyBuiltIn = new Azure.Sentinel.AlertRuleAnomalyBuiltIn(\"example\", new()\n    {\n        DisplayName = \"Potential data staging\",\n        LogAnalyticsWorkspaceId = exampleAnalyticsWorkspace.Id,\n        Mode = \"Production\",\n        Enabled = false,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/operationalinsights\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/sentinel\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAnalyticsWorkspace, err := operationalinsights.NewAnalyticsWorkspace(ctx, \"example\", \u0026operationalinsights.AnalyticsWorkspaceArgs{\n\t\t\tName:              pulumi.String(\"example-law\"),\n\t\t\tLocation:          exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tSku:               pulumi.String(\"PerGB2018\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleLogAnalyticsWorkspaceOnboarding, err := sentinel.NewLogAnalyticsWorkspaceOnboarding(ctx, \"example\", \u0026sentinel.LogAnalyticsWorkspaceOnboardingArgs{\n\t\t\tWorkspaceId:               exampleAnalyticsWorkspace.ID(),\n\t\t\tCustomerManagedKeyEnabled: pulumi.Bool(false),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_ = sentinel.GetAlertRuleAnomalyOutput(ctx, sentinel.GetAlertRuleAnomalyOutputArgs{\n\t\t\tLogAnalyticsWorkspaceId: exampleLogAnalyticsWorkspaceOnboarding.WorkspaceId,\n\t\t\tDisplayName:             pulumi.String(\"Potential data staging\"),\n\t\t}, nil)\n\t\t_, err = sentinel.NewAlertRuleAnomalyBuiltIn(ctx, \"example\", \u0026sentinel.AlertRuleAnomalyBuiltInArgs{\n\t\t\tDisplayName:             pulumi.String(\"Potential data staging\"),\n\t\t\tLogAnalyticsWorkspaceId: exampleAnalyticsWorkspace.ID(),\n\t\t\tMode:                    pulumi.String(\"Production\"),\n\t\t\tEnabled:                 pulumi.Bool(false),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.operationalinsights.AnalyticsWorkspace;\nimport com.pulumi.azure.operationalinsights.AnalyticsWorkspaceArgs;\nimport com.pulumi.azure.sentinel.LogAnalyticsWorkspaceOnboarding;\nimport com.pulumi.azure.sentinel.LogAnalyticsWorkspaceOnboardingArgs;\nimport com.pulumi.azure.sentinel.SentinelFunctions;\nimport com.pulumi.azure.sentinel.inputs.GetAlertRuleAnomalyArgs;\nimport com.pulumi.azure.sentinel.AlertRuleAnomalyBuiltIn;\nimport com.pulumi.azure.sentinel.AlertRuleAnomalyBuiltInArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var exampleResourceGroup = new ResourceGroup(\"exampleResourceGroup\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleAnalyticsWorkspace = new AnalyticsWorkspace(\"exampleAnalyticsWorkspace\", AnalyticsWorkspaceArgs.builder()\n            .name(\"example-law\")\n            .location(exampleResourceGroup.location())\n            .resourceGroupName(exampleResourceGroup.name())\n            .sku(\"PerGB2018\")\n            .build());\n\n        var exampleLogAnalyticsWorkspaceOnboarding = new LogAnalyticsWorkspaceOnboarding(\"exampleLogAnalyticsWorkspaceOnboarding\", LogAnalyticsWorkspaceOnboardingArgs.builder()\n            .workspaceId(exampleAnalyticsWorkspace.id())\n            .customerManagedKeyEnabled(false)\n            .build());\n\n        final var example = SentinelFunctions.getAlertRuleAnomaly(GetAlertRuleAnomalyArgs.builder()\n            .logAnalyticsWorkspaceId(exampleLogAnalyticsWorkspaceOnboarding.workspaceId())\n            .displayName(\"Potential data staging\")\n            .build());\n\n        var exampleAlertRuleAnomalyBuiltIn = new AlertRuleAnomalyBuiltIn(\"exampleAlertRuleAnomalyBuiltIn\", AlertRuleAnomalyBuiltInArgs.builder()\n            .displayName(\"Potential data staging\")\n            .logAnalyticsWorkspaceId(exampleAnalyticsWorkspace.id())\n            .mode(\"Production\")\n            .enabled(false)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleResourceGroup:\n    type: azure:core:ResourceGroup\n    name: example\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleAnalyticsWorkspace:\n    type: azure:operationalinsights:AnalyticsWorkspace\n    name: example\n    properties:\n      name: example-law\n      location: ${exampleResourceGroup.location}\n      resourceGroupName: ${exampleResourceGroup.name}\n      sku: PerGB2018\n  exampleLogAnalyticsWorkspaceOnboarding:\n    type: azure:sentinel:LogAnalyticsWorkspaceOnboarding\n    name: example\n    properties:\n      workspaceId: ${exampleAnalyticsWorkspace.id}\n      customerManagedKeyEnabled: false\n  exampleAlertRuleAnomalyBuiltIn:\n    type: azure:sentinel:AlertRuleAnomalyBuiltIn\n    name: example\n    properties:\n      displayName: Potential data staging\n      logAnalyticsWorkspaceId: ${exampleAnalyticsWorkspace.id}\n      mode: Production\n      enabled: false\nvariables:\n  example:\n    fn::invoke:\n      function: azure:sentinel:getAlertRuleAnomaly\n      arguments:\n        logAnalyticsWorkspaceId: ${exampleLogAnalyticsWorkspaceOnboarding.workspaceId}\n        displayName: Potential data staging\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nBuilt In Anomaly Alert Rules can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:sentinel/alertRuleAnomalyBuiltIn:AlertRuleAnomalyBuiltIn example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.OperationalInsights/workspaces/workspace1/providers/Microsoft.SecurityInsights/securityMLAnalyticsSettings/setting1\n```\n\n","properties":{"anomalySettingsVersion":{"type":"integer","description":"The version of the Anomaly Security ML Analytics Settings.\n"},"anomalyVersion":{"type":"string","description":"The anomaly version of the Anomaly Alert Rule.\n"},"description":{"type":"string","description":"The description of the threshold observation.\n"},"displayName":{"type":"string","description":"The Display Name of the built-in Anomaly Alert Rule.\n\n\u003e **Note:** One of \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`displayName`\" pulumi-lang-dotnet=\"`DisplayName`\" pulumi-lang-go=\"`displayName`\" pulumi-lang-python=\"`display_name`\" pulumi-lang-yaml=\"`displayName`\" pulumi-lang-java=\"`displayName`\"\u003e`display_name`\u003c/span\u003e block must be specified.\n"},"enabled":{"type":"boolean","description":"Should the Built-in Anomaly Alert Rule be enabled?\n"},"frequency":{"type":"string","description":"The frequency the Anomaly Alert Rule will be run.\n"},"logAnalyticsWorkspaceId":{"type":"string","description":"The ID of the Log Analytics Workspace. Changing this forces a new Built-in Anomaly Alert Rule to be created.\n"},"mode":{"type":"string","description":"mode of the Built-in Anomaly Alert Rule. Possible Values are `Production` and `Flighting`.\n"},"multiSelectObservations":{"type":"array","items":{"$ref":"#/types/azure:sentinel/AlertRuleAnomalyBuiltInMultiSelectObservation:AlertRuleAnomalyBuiltInMultiSelectObservation"},"description":"A list of \u003cspan pulumi-lang-nodejs=\"`multiSelectObservation`\" pulumi-lang-dotnet=\"`MultiSelectObservation`\" pulumi-lang-go=\"`multiSelectObservation`\" pulumi-lang-python=\"`multi_select_observation`\" pulumi-lang-yaml=\"`multiSelectObservation`\" pulumi-lang-java=\"`multiSelectObservation`\"\u003e`multi_select_observation`\u003c/span\u003e blocks as defined below.\n"},"name":{"type":"string","description":"The Name of the built-in Anomaly Alert Rule.\n"},"prioritizedExcludeObservations":{"type":"array","items":{"$ref":"#/types/azure:sentinel/AlertRuleAnomalyBuiltInPrioritizedExcludeObservation:AlertRuleAnomalyBuiltInPrioritizedExcludeObservation"},"description":"A list of \u003cspan pulumi-lang-nodejs=\"`prioritizedExcludeObservation`\" pulumi-lang-dotnet=\"`PrioritizedExcludeObservation`\" pulumi-lang-go=\"`prioritizedExcludeObservation`\" pulumi-lang-python=\"`prioritized_exclude_observation`\" pulumi-lang-yaml=\"`prioritizedExcludeObservation`\" pulumi-lang-java=\"`prioritizedExcludeObservation`\"\u003e`prioritized_exclude_observation`\u003c/span\u003e blocks as defined below.\n"},"requiredDataConnectors":{"type":"array","items":{"$ref":"#/types/azure:sentinel/AlertRuleAnomalyBuiltInRequiredDataConnector:AlertRuleAnomalyBuiltInRequiredDataConnector"},"description":"A \u003cspan pulumi-lang-nodejs=\"`requiredDataConnector`\" pulumi-lang-dotnet=\"`RequiredDataConnector`\" pulumi-lang-go=\"`requiredDataConnector`\" pulumi-lang-python=\"`required_data_connector`\" pulumi-lang-yaml=\"`requiredDataConnector`\" pulumi-lang-java=\"`requiredDataConnector`\"\u003e`required_data_connector`\u003c/span\u003e block as defined below.\n"},"settingsDefinitionId":{"type":"string","description":"The ID of the anomaly settings definition Id.\n"},"singleSelectObservations":{"type":"array","items":{"$ref":"#/types/azure:sentinel/AlertRuleAnomalyBuiltInSingleSelectObservation:AlertRuleAnomalyBuiltInSingleSelectObservation"},"description":"A list of \u003cspan pulumi-lang-nodejs=\"`singleSelectObservation`\" pulumi-lang-dotnet=\"`SingleSelectObservation`\" pulumi-lang-go=\"`singleSelectObservation`\" pulumi-lang-python=\"`single_select_observation`\" pulumi-lang-yaml=\"`singleSelectObservation`\" pulumi-lang-java=\"`singleSelectObservation`\"\u003e`single_select_observation`\u003c/span\u003e blocks as defined below.\n"},"tactics":{"type":"array","items":{"type":"string"},"description":"A list of categories of attacks by which to classify the rule.\n"},"techniques":{"type":"array","items":{"type":"string"},"description":"A list of techniques of attacks by which to classify the rule.\n"},"thresholdObservations":{"type":"array","items":{"$ref":"#/types/azure:sentinel/AlertRuleAnomalyBuiltInThresholdObservation:AlertRuleAnomalyBuiltInThresholdObservation"},"description":"A list of \u003cspan pulumi-lang-nodejs=\"`thresholdObservation`\" pulumi-lang-dotnet=\"`ThresholdObservation`\" pulumi-lang-go=\"`thresholdObservation`\" pulumi-lang-python=\"`threshold_observation`\" pulumi-lang-yaml=\"`thresholdObservation`\" pulumi-lang-java=\"`thresholdObservation`\"\u003e`threshold_observation`\u003c/span\u003e blocks as defined below.\n"}},"required":["anomalySettingsVersion","anomalyVersion","description","displayName","enabled","frequency","logAnalyticsWorkspaceId","mode","multiSelectObservations","name","prioritizedExcludeObservations","requiredDataConnectors","settingsDefinitionId","singleSelectObservations","tactics","techniques","thresholdObservations"],"inputProperties":{"displayName":{"type":"string","description":"The Display Name of the built-in Anomaly Alert Rule.\n\n\u003e **Note:** One of \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`displayName`\" pulumi-lang-dotnet=\"`DisplayName`\" pulumi-lang-go=\"`displayName`\" pulumi-lang-python=\"`display_name`\" pulumi-lang-yaml=\"`displayName`\" pulumi-lang-java=\"`displayName`\"\u003e`display_name`\u003c/span\u003e block must be specified.\n"},"enabled":{"type":"boolean","description":"Should the Built-in Anomaly Alert Rule be enabled?\n"},"logAnalyticsWorkspaceId":{"type":"string","description":"The ID of the Log Analytics Workspace. Changing this forces a new Built-in Anomaly Alert Rule to be created.\n","willReplaceOnChanges":true},"mode":{"type":"string","description":"mode of the Built-in Anomaly Alert Rule. Possible Values are `Production` and `Flighting`.\n"},"name":{"type":"string","description":"The Name of the built-in Anomaly Alert Rule.\n"}},"requiredInputs":["enabled","logAnalyticsWorkspaceId","mode"],"stateInputs":{"description":"Input properties used for looking up and filtering AlertRuleAnomalyBuiltIn resources.\n","properties":{"anomalySettingsVersion":{"type":"integer","description":"The version of the Anomaly Security ML Analytics Settings.\n"},"anomalyVersion":{"type":"string","description":"The anomaly version of the Anomaly Alert Rule.\n"},"description":{"type":"string","description":"The description of the threshold observation.\n"},"displayName":{"type":"string","description":"The Display Name of the built-in Anomaly Alert Rule.\n\n\u003e **Note:** One of \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`displayName`\" pulumi-lang-dotnet=\"`DisplayName`\" pulumi-lang-go=\"`displayName`\" pulumi-lang-python=\"`display_name`\" pulumi-lang-yaml=\"`displayName`\" pulumi-lang-java=\"`displayName`\"\u003e`display_name`\u003c/span\u003e block must be specified.\n"},"enabled":{"type":"boolean","description":"Should the Built-in Anomaly Alert Rule be enabled?\n"},"frequency":{"type":"string","description":"The frequency the Anomaly Alert Rule will be run.\n"},"logAnalyticsWorkspaceId":{"type":"string","description":"The ID of the Log Analytics Workspace. Changing this forces a new Built-in Anomaly Alert Rule to be created.\n","willReplaceOnChanges":true},"mode":{"type":"string","description":"mode of the Built-in Anomaly Alert Rule. Possible Values are `Production` and `Flighting`.\n"},"multiSelectObservations":{"type":"array","items":{"$ref":"#/types/azure:sentinel/AlertRuleAnomalyBuiltInMultiSelectObservation:AlertRuleAnomalyBuiltInMultiSelectObservation"},"description":"A list of \u003cspan pulumi-lang-nodejs=\"`multiSelectObservation`\" pulumi-lang-dotnet=\"`MultiSelectObservation`\" pulumi-lang-go=\"`multiSelectObservation`\" pulumi-lang-python=\"`multi_select_observation`\" pulumi-lang-yaml=\"`multiSelectObservation`\" pulumi-lang-java=\"`multiSelectObservation`\"\u003e`multi_select_observation`\u003c/span\u003e blocks as defined below.\n"},"name":{"type":"string","description":"The Name of the built-in Anomaly Alert Rule.\n"},"prioritizedExcludeObservations":{"type":"array","items":{"$ref":"#/types/azure:sentinel/AlertRuleAnomalyBuiltInPrioritizedExcludeObservation:AlertRuleAnomalyBuiltInPrioritizedExcludeObservation"},"description":"A list of \u003cspan pulumi-lang-nodejs=\"`prioritizedExcludeObservation`\" pulumi-lang-dotnet=\"`PrioritizedExcludeObservation`\" pulumi-lang-go=\"`prioritizedExcludeObservation`\" pulumi-lang-python=\"`prioritized_exclude_observation`\" pulumi-lang-yaml=\"`prioritizedExcludeObservation`\" pulumi-lang-java=\"`prioritizedExcludeObservation`\"\u003e`prioritized_exclude_observation`\u003c/span\u003e blocks as defined below.\n"},"requiredDataConnectors":{"type":"array","items":{"$ref":"#/types/azure:sentinel/AlertRuleAnomalyBuiltInRequiredDataConnector:AlertRuleAnomalyBuiltInRequiredDataConnector"},"description":"A \u003cspan pulumi-lang-nodejs=\"`requiredDataConnector`\" pulumi-lang-dotnet=\"`RequiredDataConnector`\" pulumi-lang-go=\"`requiredDataConnector`\" pulumi-lang-python=\"`required_data_connector`\" pulumi-lang-yaml=\"`requiredDataConnector`\" pulumi-lang-java=\"`requiredDataConnector`\"\u003e`required_data_connector`\u003c/span\u003e block as defined below.\n"},"settingsDefinitionId":{"type":"string","description":"The ID of the anomaly settings definition Id.\n"},"singleSelectObservations":{"type":"array","items":{"$ref":"#/types/azure:sentinel/AlertRuleAnomalyBuiltInSingleSelectObservation:AlertRuleAnomalyBuiltInSingleSelectObservation"},"description":"A list of \u003cspan pulumi-lang-nodejs=\"`singleSelectObservation`\" pulumi-lang-dotnet=\"`SingleSelectObservation`\" pulumi-lang-go=\"`singleSelectObservation`\" pulumi-lang-python=\"`single_select_observation`\" pulumi-lang-yaml=\"`singleSelectObservation`\" pulumi-lang-java=\"`singleSelectObservation`\"\u003e`single_select_observation`\u003c/span\u003e blocks as defined below.\n"},"tactics":{"type":"array","items":{"type":"string"},"description":"A list of categories of attacks by which to classify the rule.\n"},"techniques":{"type":"array","items":{"type":"string"},"description":"A list of techniques of attacks by which to classify the rule.\n"},"thresholdObservations":{"type":"array","items":{"$ref":"#/types/azure:sentinel/AlertRuleAnomalyBuiltInThresholdObservation:AlertRuleAnomalyBuiltInThresholdObservation"},"description":"A list of \u003cspan pulumi-lang-nodejs=\"`thresholdObservation`\" pulumi-lang-dotnet=\"`ThresholdObservation`\" pulumi-lang-go=\"`thresholdObservation`\" pulumi-lang-python=\"`threshold_observation`\" pulumi-lang-yaml=\"`thresholdObservation`\" pulumi-lang-java=\"`thresholdObservation`\"\u003e`threshold_observation`\u003c/span\u003e blocks as defined below.\n"}},"type":"object"}},"azure:sentinel/alertRuleAnomalyDuplicate:AlertRuleAnomalyDuplicate":{"description":"Manages a Duplicated Anomaly Alert Rule.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleAnalyticsWorkspace = new azure.operationalinsights.AnalyticsWorkspace(\"example\", {\n    name: \"example-law\",\n    location: exampleResourceGroup.location,\n    resourceGroupName: exampleResourceGroup.name,\n    sku: \"PerGB2018\",\n});\nconst exampleLogAnalyticsWorkspaceOnboarding = new azure.sentinel.LogAnalyticsWorkspaceOnboarding(\"example\", {\n    workspaceId: exampleAnalyticsWorkspace.id,\n    customerManagedKeyEnabled: false,\n});\nconst example = azure.sentinel.getAlertRuleAnomalyOutput({\n    logAnalyticsWorkspaceId: exampleLogAnalyticsWorkspaceOnboarding.workspaceId,\n    displayName: \"UEBA Anomalous Sign In\",\n});\nconst exampleAlertRuleAnomalyDuplicate = new azure.sentinel.AlertRuleAnomalyDuplicate(\"example\", {\n    displayName: \"example duplicated UEBA Anomalous Sign In\",\n    logAnalyticsWorkspaceId: exampleAnalyticsWorkspace.id,\n    builtInRuleId: example.apply(example =\u003e example.id),\n    enabled: true,\n    mode: \"Flighting\",\n    thresholdObservations: [{\n        name: \"Anomaly score threshold\",\n        value: \"0.6\",\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_analytics_workspace = azure.operationalinsights.AnalyticsWorkspace(\"example\",\n    name=\"example-law\",\n    location=example_resource_group.location,\n    resource_group_name=example_resource_group.name,\n    sku=\"PerGB2018\")\nexample_log_analytics_workspace_onboarding = azure.sentinel.LogAnalyticsWorkspaceOnboarding(\"example\",\n    workspace_id=example_analytics_workspace.id,\n    customer_managed_key_enabled=False)\nexample = azure.sentinel.get_alert_rule_anomaly_output(log_analytics_workspace_id=example_log_analytics_workspace_onboarding.workspace_id,\n    display_name=\"UEBA Anomalous Sign In\")\nexample_alert_rule_anomaly_duplicate = azure.sentinel.AlertRuleAnomalyDuplicate(\"example\",\n    display_name=\"example duplicated UEBA Anomalous Sign In\",\n    log_analytics_workspace_id=example_analytics_workspace.id,\n    built_in_rule_id=example.id,\n    enabled=True,\n    mode=\"Flighting\",\n    threshold_observations=[{\n        \"name\": \"Anomaly score threshold\",\n        \"value\": \"0.6\",\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleResourceGroup = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleAnalyticsWorkspace = new Azure.OperationalInsights.AnalyticsWorkspace(\"example\", new()\n    {\n        Name = \"example-law\",\n        Location = exampleResourceGroup.Location,\n        ResourceGroupName = exampleResourceGroup.Name,\n        Sku = \"PerGB2018\",\n    });\n\n    var exampleLogAnalyticsWorkspaceOnboarding = new Azure.Sentinel.LogAnalyticsWorkspaceOnboarding(\"example\", new()\n    {\n        WorkspaceId = exampleAnalyticsWorkspace.Id,\n        CustomerManagedKeyEnabled = false,\n    });\n\n    var example = Azure.Sentinel.GetAlertRuleAnomaly.Invoke(new()\n    {\n        LogAnalyticsWorkspaceId = exampleLogAnalyticsWorkspaceOnboarding.WorkspaceId,\n        DisplayName = \"UEBA Anomalous Sign In\",\n    });\n\n    var exampleAlertRuleAnomalyDuplicate = new Azure.Sentinel.AlertRuleAnomalyDuplicate(\"example\", new()\n    {\n        DisplayName = \"example duplicated UEBA Anomalous Sign In\",\n        LogAnalyticsWorkspaceId = exampleAnalyticsWorkspace.Id,\n        BuiltInRuleId = example.Apply(getAlertRuleAnomalyResult =\u003e getAlertRuleAnomalyResult.Id),\n        Enabled = true,\n        Mode = \"Flighting\",\n        ThresholdObservations = new[]\n        {\n            new Azure.Sentinel.Inputs.AlertRuleAnomalyDuplicateThresholdObservationArgs\n            {\n                Name = \"Anomaly score threshold\",\n                Value = \"0.6\",\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/operationalinsights\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/sentinel\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAnalyticsWorkspace, err := operationalinsights.NewAnalyticsWorkspace(ctx, \"example\", \u0026operationalinsights.AnalyticsWorkspaceArgs{\n\t\t\tName:              pulumi.String(\"example-law\"),\n\t\t\tLocation:          exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tSku:               pulumi.String(\"PerGB2018\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleLogAnalyticsWorkspaceOnboarding, err := sentinel.NewLogAnalyticsWorkspaceOnboarding(ctx, \"example\", \u0026sentinel.LogAnalyticsWorkspaceOnboardingArgs{\n\t\t\tWorkspaceId:               exampleAnalyticsWorkspace.ID(),\n\t\t\tCustomerManagedKeyEnabled: pulumi.Bool(false),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample := sentinel.GetAlertRuleAnomalyOutput(ctx, sentinel.GetAlertRuleAnomalyOutputArgs{\n\t\t\tLogAnalyticsWorkspaceId: exampleLogAnalyticsWorkspaceOnboarding.WorkspaceId,\n\t\t\tDisplayName:             pulumi.String(\"UEBA Anomalous Sign In\"),\n\t\t}, nil)\n\t\t_, err = sentinel.NewAlertRuleAnomalyDuplicate(ctx, \"example\", \u0026sentinel.AlertRuleAnomalyDuplicateArgs{\n\t\t\tDisplayName:             pulumi.String(\"example duplicated UEBA Anomalous Sign In\"),\n\t\t\tLogAnalyticsWorkspaceId: exampleAnalyticsWorkspace.ID(),\n\t\t\tBuiltInRuleId: pulumi.String(example.ApplyT(func(example sentinel.GetAlertRuleAnomalyResult) (*string, error) {\n\t\t\t\treturn \u0026example.Id, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tEnabled: pulumi.Bool(true),\n\t\t\tMode:    pulumi.String(\"Flighting\"),\n\t\t\tThresholdObservations: sentinel.AlertRuleAnomalyDuplicateThresholdObservationArray{\n\t\t\t\t\u0026sentinel.AlertRuleAnomalyDuplicateThresholdObservationArgs{\n\t\t\t\t\tName:  pulumi.String(\"Anomaly score threshold\"),\n\t\t\t\t\tValue: pulumi.String(\"0.6\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.operationalinsights.AnalyticsWorkspace;\nimport com.pulumi.azure.operationalinsights.AnalyticsWorkspaceArgs;\nimport com.pulumi.azure.sentinel.LogAnalyticsWorkspaceOnboarding;\nimport com.pulumi.azure.sentinel.LogAnalyticsWorkspaceOnboardingArgs;\nimport com.pulumi.azure.sentinel.SentinelFunctions;\nimport com.pulumi.azure.sentinel.inputs.GetAlertRuleAnomalyArgs;\nimport com.pulumi.azure.sentinel.AlertRuleAnomalyDuplicate;\nimport com.pulumi.azure.sentinel.AlertRuleAnomalyDuplicateArgs;\nimport com.pulumi.azure.sentinel.inputs.AlertRuleAnomalyDuplicateThresholdObservationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var exampleResourceGroup = new ResourceGroup(\"exampleResourceGroup\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleAnalyticsWorkspace = new AnalyticsWorkspace(\"exampleAnalyticsWorkspace\", AnalyticsWorkspaceArgs.builder()\n            .name(\"example-law\")\n            .location(exampleResourceGroup.location())\n            .resourceGroupName(exampleResourceGroup.name())\n            .sku(\"PerGB2018\")\n            .build());\n\n        var exampleLogAnalyticsWorkspaceOnboarding = new LogAnalyticsWorkspaceOnboarding(\"exampleLogAnalyticsWorkspaceOnboarding\", LogAnalyticsWorkspaceOnboardingArgs.builder()\n            .workspaceId(exampleAnalyticsWorkspace.id())\n            .customerManagedKeyEnabled(false)\n            .build());\n\n        final var example = SentinelFunctions.getAlertRuleAnomaly(GetAlertRuleAnomalyArgs.builder()\n            .logAnalyticsWorkspaceId(exampleLogAnalyticsWorkspaceOnboarding.workspaceId())\n            .displayName(\"UEBA Anomalous Sign In\")\n            .build());\n\n        var exampleAlertRuleAnomalyDuplicate = new AlertRuleAnomalyDuplicate(\"exampleAlertRuleAnomalyDuplicate\", AlertRuleAnomalyDuplicateArgs.builder()\n            .displayName(\"example duplicated UEBA Anomalous Sign In\")\n            .logAnalyticsWorkspaceId(exampleAnalyticsWorkspace.id())\n            .builtInRuleId(example.applyValue(_example -\u003e _example.id()))\n            .enabled(true)\n            .mode(\"Flighting\")\n            .thresholdObservations(AlertRuleAnomalyDuplicateThresholdObservationArgs.builder()\n                .name(\"Anomaly score threshold\")\n                .value(\"0.6\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleResourceGroup:\n    type: azure:core:ResourceGroup\n    name: example\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleAnalyticsWorkspace:\n    type: azure:operationalinsights:AnalyticsWorkspace\n    name: example\n    properties:\n      name: example-law\n      location: ${exampleResourceGroup.location}\n      resourceGroupName: ${exampleResourceGroup.name}\n      sku: PerGB2018\n  exampleLogAnalyticsWorkspaceOnboarding:\n    type: azure:sentinel:LogAnalyticsWorkspaceOnboarding\n    name: example\n    properties:\n      workspaceId: ${exampleAnalyticsWorkspace.id}\n      customerManagedKeyEnabled: false\n  exampleAlertRuleAnomalyDuplicate:\n    type: azure:sentinel:AlertRuleAnomalyDuplicate\n    name: example\n    properties:\n      displayName: example duplicated UEBA Anomalous Sign In\n      logAnalyticsWorkspaceId: ${exampleAnalyticsWorkspace.id}\n      builtInRuleId: ${example.id}\n      enabled: true\n      mode: Flighting\n      thresholdObservations:\n        - name: Anomaly score threshold\n          value: '0.6'\nvariables:\n  example:\n    fn::invoke:\n      function: azure:sentinel:getAlertRuleAnomaly\n      arguments:\n        logAnalyticsWorkspaceId: ${exampleLogAnalyticsWorkspaceOnboarding.workspaceId}\n        displayName: UEBA Anomalous Sign In\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nBuilt In Anomaly Alert Rules can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:sentinel/alertRuleAnomalyDuplicate:AlertRuleAnomalyDuplicate example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.OperationalInsights/workspaces/workspace1/providers/Microsoft.SecurityInsights/securityMLAnalyticsSettings/setting1\n```\n\n","properties":{"anomalySettingsVersion":{"type":"integer","description":"The version of the Anomaly Security ML Analytics Settings.\n"},"anomalyVersion":{"type":"string","description":"The anomaly version of the Anomaly Alert Rule.\n"},"builtInRuleId":{"type":"string","description":"The ID of the built-in Anomaly Alert Rule. Changing this forces a new Duplicated Anomaly Alert Rule to be created.\n"},"description":{"type":"string","description":"The description of the Anomaly Alert Rule.\n"},"displayName":{"type":"string","description":"The Display Name of the built-in Anomaly Alert Rule.\n"},"enabled":{"type":"boolean","description":"Should the Duplicated Anomaly Alert Rule be enabled?\n"},"frequency":{"type":"string","description":"The frequency the Anomaly Alert Rule will be run, such as \"P1D\".\n"},"isDefaultSettings":{"type":"boolean","description":"Whether the current settings of the Anomaly Alert Rule equals default settings.\n"},"logAnalyticsWorkspaceId":{"type":"string","description":"The ID of the Log Analytics Workspace. Changing this forces a new Duplicated Anomaly Alert Rule to be created.\n"},"mode":{"type":"string","description":"mode of the Duplicated Anomaly Alert Rule. Possible Values are `Production` and `Flighting`.\n"},"multiSelectObservations":{"type":"array","items":{"$ref":"#/types/azure:sentinel/AlertRuleAnomalyDuplicateMultiSelectObservation:AlertRuleAnomalyDuplicateMultiSelectObservation"},"description":"A list of \u003cspan pulumi-lang-nodejs=\"`multiSelectObservation`\" pulumi-lang-dotnet=\"`MultiSelectObservation`\" pulumi-lang-go=\"`multiSelectObservation`\" pulumi-lang-python=\"`multi_select_observation`\" pulumi-lang-yaml=\"`multiSelectObservation`\" pulumi-lang-java=\"`multiSelectObservation`\"\u003e`multi_select_observation`\u003c/span\u003e blocks as defined below.\n"},"name":{"type":"string"},"prioritizedExcludeObservations":{"type":"array","items":{"$ref":"#/types/azure:sentinel/AlertRuleAnomalyDuplicatePrioritizedExcludeObservation:AlertRuleAnomalyDuplicatePrioritizedExcludeObservation"},"description":"A list of \u003cspan pulumi-lang-nodejs=\"`prioritizedExcludeObservation`\" pulumi-lang-dotnet=\"`PrioritizedExcludeObservation`\" pulumi-lang-go=\"`prioritizedExcludeObservation`\" pulumi-lang-python=\"`prioritized_exclude_observation`\" pulumi-lang-yaml=\"`prioritizedExcludeObservation`\" pulumi-lang-java=\"`prioritizedExcludeObservation`\"\u003e`prioritized_exclude_observation`\u003c/span\u003e blocks as defined below.\n"},"requiredDataConnectors":{"type":"array","items":{"$ref":"#/types/azure:sentinel/AlertRuleAnomalyDuplicateRequiredDataConnector:AlertRuleAnomalyDuplicateRequiredDataConnector"},"description":"A \u003cspan pulumi-lang-nodejs=\"`requiredDataConnector`\" pulumi-lang-dotnet=\"`RequiredDataConnector`\" pulumi-lang-go=\"`requiredDataConnector`\" pulumi-lang-python=\"`required_data_connector`\" pulumi-lang-yaml=\"`requiredDataConnector`\" pulumi-lang-java=\"`requiredDataConnector`\"\u003e`required_data_connector`\u003c/span\u003e block as defined below.\n"},"settingsDefinitionId":{"type":"string","description":"The ID of the anomaly settings definition Id.\n"},"singleSelectObservations":{"type":"array","items":{"$ref":"#/types/azure:sentinel/AlertRuleAnomalyDuplicateSingleSelectObservation:AlertRuleAnomalyDuplicateSingleSelectObservation"},"description":"A list of \u003cspan pulumi-lang-nodejs=\"`singleSelectObservation`\" pulumi-lang-dotnet=\"`SingleSelectObservation`\" pulumi-lang-go=\"`singleSelectObservation`\" pulumi-lang-python=\"`single_select_observation`\" pulumi-lang-yaml=\"`singleSelectObservation`\" pulumi-lang-java=\"`singleSelectObservation`\"\u003e`single_select_observation`\u003c/span\u003e blocks as defined below.\n"},"tactics":{"type":"array","items":{"type":"string"},"description":"A list of categories of attacks by which to classify the rule.\n"},"techniques":{"type":"array","items":{"type":"string"},"description":"A list of techniques of attacks by which to classify the rule.\n"},"thresholdObservations":{"type":"array","items":{"$ref":"#/types/azure:sentinel/AlertRuleAnomalyDuplicateThresholdObservation:AlertRuleAnomalyDuplicateThresholdObservation"},"description":"A list of \u003cspan pulumi-lang-nodejs=\"`thresholdObservation`\" pulumi-lang-dotnet=\"`ThresholdObservation`\" pulumi-lang-go=\"`thresholdObservation`\" pulumi-lang-python=\"`threshold_observation`\" pulumi-lang-yaml=\"`thresholdObservation`\" pulumi-lang-java=\"`thresholdObservation`\"\u003e`threshold_observation`\u003c/span\u003e blocks as defined below.\n\n\u003e **Note:** un-specified \u003cspan pulumi-lang-nodejs=\"`multiSelectObservation`\" pulumi-lang-dotnet=\"`MultiSelectObservation`\" pulumi-lang-go=\"`multiSelectObservation`\" pulumi-lang-python=\"`multi_select_observation`\" pulumi-lang-yaml=\"`multiSelectObservation`\" pulumi-lang-java=\"`multiSelectObservation`\"\u003e`multi_select_observation`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`singleSelectObservation`\" pulumi-lang-dotnet=\"`SingleSelectObservation`\" pulumi-lang-go=\"`singleSelectObservation`\" pulumi-lang-python=\"`single_select_observation`\" pulumi-lang-yaml=\"`singleSelectObservation`\" pulumi-lang-java=\"`singleSelectObservation`\"\u003e`single_select_observation`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`prioritizedExcludeObservation`\" pulumi-lang-dotnet=\"`PrioritizedExcludeObservation`\" pulumi-lang-go=\"`prioritizedExcludeObservation`\" pulumi-lang-python=\"`prioritized_exclude_observation`\" pulumi-lang-yaml=\"`prioritizedExcludeObservation`\" pulumi-lang-java=\"`prioritizedExcludeObservation`\"\u003e`prioritized_exclude_observation`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`thresholdObservation`\" pulumi-lang-dotnet=\"`ThresholdObservation`\" pulumi-lang-go=\"`thresholdObservation`\" pulumi-lang-python=\"`threshold_observation`\" pulumi-lang-yaml=\"`thresholdObservation`\" pulumi-lang-java=\"`thresholdObservation`\"\u003e`threshold_observation`\u003c/span\u003e will be inherited from the built-in Anomaly Alert Rule.\n"}},"required":["anomalySettingsVersion","anomalyVersion","builtInRuleId","description","displayName","enabled","frequency","isDefaultSettings","logAnalyticsWorkspaceId","mode","multiSelectObservations","name","prioritizedExcludeObservations","requiredDataConnectors","settingsDefinitionId","singleSelectObservations","tactics","techniques","thresholdObservations"],"inputProperties":{"builtInRuleId":{"type":"string","description":"The ID of the built-in Anomaly Alert Rule. Changing this forces a new Duplicated Anomaly Alert Rule to be created.\n","willReplaceOnChanges":true},"displayName":{"type":"string","description":"The Display Name of the built-in Anomaly Alert Rule.\n"},"enabled":{"type":"boolean","description":"Should the Duplicated Anomaly Alert Rule be enabled?\n"},"logAnalyticsWorkspaceId":{"type":"string","description":"The ID of the Log Analytics Workspace. Changing this forces a new Duplicated Anomaly Alert Rule to be created.\n","willReplaceOnChanges":true},"mode":{"type":"string","description":"mode of the Duplicated Anomaly Alert Rule. Possible Values are `Production` and `Flighting`.\n"},"multiSelectObservations":{"type":"array","items":{"$ref":"#/types/azure:sentinel/AlertRuleAnomalyDuplicateMultiSelectObservation:AlertRuleAnomalyDuplicateMultiSelectObservation"},"description":"A list of \u003cspan pulumi-lang-nodejs=\"`multiSelectObservation`\" pulumi-lang-dotnet=\"`MultiSelectObservation`\" pulumi-lang-go=\"`multiSelectObservation`\" pulumi-lang-python=\"`multi_select_observation`\" pulumi-lang-yaml=\"`multiSelectObservation`\" pulumi-lang-java=\"`multiSelectObservation`\"\u003e`multi_select_observation`\u003c/span\u003e blocks as defined below.\n"},"prioritizedExcludeObservations":{"type":"array","items":{"$ref":"#/types/azure:sentinel/AlertRuleAnomalyDuplicatePrioritizedExcludeObservation:AlertRuleAnomalyDuplicatePrioritizedExcludeObservation"},"description":"A list of \u003cspan pulumi-lang-nodejs=\"`prioritizedExcludeObservation`\" pulumi-lang-dotnet=\"`PrioritizedExcludeObservation`\" pulumi-lang-go=\"`prioritizedExcludeObservation`\" pulumi-lang-python=\"`prioritized_exclude_observation`\" pulumi-lang-yaml=\"`prioritizedExcludeObservation`\" pulumi-lang-java=\"`prioritizedExcludeObservation`\"\u003e`prioritized_exclude_observation`\u003c/span\u003e blocks as defined below.\n"},"singleSelectObservations":{"type":"array","items":{"$ref":"#/types/azure:sentinel/AlertRuleAnomalyDuplicateSingleSelectObservation:AlertRuleAnomalyDuplicateSingleSelectObservation"},"description":"A list of \u003cspan pulumi-lang-nodejs=\"`singleSelectObservation`\" pulumi-lang-dotnet=\"`SingleSelectObservation`\" pulumi-lang-go=\"`singleSelectObservation`\" pulumi-lang-python=\"`single_select_observation`\" pulumi-lang-yaml=\"`singleSelectObservation`\" pulumi-lang-java=\"`singleSelectObservation`\"\u003e`single_select_observation`\u003c/span\u003e blocks as defined below.\n"},"thresholdObservations":{"type":"array","items":{"$ref":"#/types/azure:sentinel/AlertRuleAnomalyDuplicateThresholdObservation:AlertRuleAnomalyDuplicateThresholdObservation"},"description":"A list of \u003cspan pulumi-lang-nodejs=\"`thresholdObservation`\" pulumi-lang-dotnet=\"`ThresholdObservation`\" pulumi-lang-go=\"`thresholdObservation`\" pulumi-lang-python=\"`threshold_observation`\" pulumi-lang-yaml=\"`thresholdObservation`\" pulumi-lang-java=\"`thresholdObservation`\"\u003e`threshold_observation`\u003c/span\u003e blocks as defined below.\n\n\u003e **Note:** un-specified \u003cspan pulumi-lang-nodejs=\"`multiSelectObservation`\" pulumi-lang-dotnet=\"`MultiSelectObservation`\" pulumi-lang-go=\"`multiSelectObservation`\" pulumi-lang-python=\"`multi_select_observation`\" pulumi-lang-yaml=\"`multiSelectObservation`\" pulumi-lang-java=\"`multiSelectObservation`\"\u003e`multi_select_observation`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`singleSelectObservation`\" pulumi-lang-dotnet=\"`SingleSelectObservation`\" pulumi-lang-go=\"`singleSelectObservation`\" pulumi-lang-python=\"`single_select_observation`\" pulumi-lang-yaml=\"`singleSelectObservation`\" pulumi-lang-java=\"`singleSelectObservation`\"\u003e`single_select_observation`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`prioritizedExcludeObservation`\" pulumi-lang-dotnet=\"`PrioritizedExcludeObservation`\" pulumi-lang-go=\"`prioritizedExcludeObservation`\" pulumi-lang-python=\"`prioritized_exclude_observation`\" pulumi-lang-yaml=\"`prioritizedExcludeObservation`\" pulumi-lang-java=\"`prioritizedExcludeObservation`\"\u003e`prioritized_exclude_observation`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`thresholdObservation`\" pulumi-lang-dotnet=\"`ThresholdObservation`\" pulumi-lang-go=\"`thresholdObservation`\" pulumi-lang-python=\"`threshold_observation`\" pulumi-lang-yaml=\"`thresholdObservation`\" pulumi-lang-java=\"`thresholdObservation`\"\u003e`threshold_observation`\u003c/span\u003e will be inherited from the built-in Anomaly Alert Rule.\n"}},"requiredInputs":["builtInRuleId","displayName","enabled","logAnalyticsWorkspaceId","mode"],"stateInputs":{"description":"Input properties used for looking up and filtering AlertRuleAnomalyDuplicate resources.\n","properties":{"anomalySettingsVersion":{"type":"integer","description":"The version of the Anomaly Security ML Analytics Settings.\n"},"anomalyVersion":{"type":"string","description":"The anomaly version of the Anomaly Alert Rule.\n"},"builtInRuleId":{"type":"string","description":"The ID of the built-in Anomaly Alert Rule. Changing this forces a new Duplicated Anomaly Alert Rule to be created.\n","willReplaceOnChanges":true},"description":{"type":"string","description":"The description of the Anomaly Alert Rule.\n"},"displayName":{"type":"string","description":"The Display Name of the built-in Anomaly Alert Rule.\n"},"enabled":{"type":"boolean","description":"Should the Duplicated Anomaly Alert Rule be enabled?\n"},"frequency":{"type":"string","description":"The frequency the Anomaly Alert Rule will be run, such as \"P1D\".\n"},"isDefaultSettings":{"type":"boolean","description":"Whether the current settings of the Anomaly Alert Rule equals default settings.\n"},"logAnalyticsWorkspaceId":{"type":"string","description":"The ID of the Log Analytics Workspace. Changing this forces a new Duplicated Anomaly Alert Rule to be created.\n","willReplaceOnChanges":true},"mode":{"type":"string","description":"mode of the Duplicated Anomaly Alert Rule. Possible Values are `Production` and `Flighting`.\n"},"multiSelectObservations":{"type":"array","items":{"$ref":"#/types/azure:sentinel/AlertRuleAnomalyDuplicateMultiSelectObservation:AlertRuleAnomalyDuplicateMultiSelectObservation"},"description":"A list of \u003cspan pulumi-lang-nodejs=\"`multiSelectObservation`\" pulumi-lang-dotnet=\"`MultiSelectObservation`\" pulumi-lang-go=\"`multiSelectObservation`\" pulumi-lang-python=\"`multi_select_observation`\" pulumi-lang-yaml=\"`multiSelectObservation`\" pulumi-lang-java=\"`multiSelectObservation`\"\u003e`multi_select_observation`\u003c/span\u003e blocks as defined below.\n"},"name":{"type":"string"},"prioritizedExcludeObservations":{"type":"array","items":{"$ref":"#/types/azure:sentinel/AlertRuleAnomalyDuplicatePrioritizedExcludeObservation:AlertRuleAnomalyDuplicatePrioritizedExcludeObservation"},"description":"A list of \u003cspan pulumi-lang-nodejs=\"`prioritizedExcludeObservation`\" pulumi-lang-dotnet=\"`PrioritizedExcludeObservation`\" pulumi-lang-go=\"`prioritizedExcludeObservation`\" pulumi-lang-python=\"`prioritized_exclude_observation`\" pulumi-lang-yaml=\"`prioritizedExcludeObservation`\" pulumi-lang-java=\"`prioritizedExcludeObservation`\"\u003e`prioritized_exclude_observation`\u003c/span\u003e blocks as defined below.\n"},"requiredDataConnectors":{"type":"array","items":{"$ref":"#/types/azure:sentinel/AlertRuleAnomalyDuplicateRequiredDataConnector:AlertRuleAnomalyDuplicateRequiredDataConnector"},"description":"A \u003cspan pulumi-lang-nodejs=\"`requiredDataConnector`\" pulumi-lang-dotnet=\"`RequiredDataConnector`\" pulumi-lang-go=\"`requiredDataConnector`\" pulumi-lang-python=\"`required_data_connector`\" pulumi-lang-yaml=\"`requiredDataConnector`\" pulumi-lang-java=\"`requiredDataConnector`\"\u003e`required_data_connector`\u003c/span\u003e block as defined below.\n"},"settingsDefinitionId":{"type":"string","description":"The ID of the anomaly settings definition Id.\n"},"singleSelectObservations":{"type":"array","items":{"$ref":"#/types/azure:sentinel/AlertRuleAnomalyDuplicateSingleSelectObservation:AlertRuleAnomalyDuplicateSingleSelectObservation"},"description":"A list of \u003cspan pulumi-lang-nodejs=\"`singleSelectObservation`\" pulumi-lang-dotnet=\"`SingleSelectObservation`\" pulumi-lang-go=\"`singleSelectObservation`\" pulumi-lang-python=\"`single_select_observation`\" pulumi-lang-yaml=\"`singleSelectObservation`\" pulumi-lang-java=\"`singleSelectObservation`\"\u003e`single_select_observation`\u003c/span\u003e blocks as defined below.\n"},"tactics":{"type":"array","items":{"type":"string"},"description":"A list of categories of attacks by which to classify the rule.\n"},"techniques":{"type":"array","items":{"type":"string"},"description":"A list of techniques of attacks by which to classify the rule.\n"},"thresholdObservations":{"type":"array","items":{"$ref":"#/types/azure:sentinel/AlertRuleAnomalyDuplicateThresholdObservation:AlertRuleAnomalyDuplicateThresholdObservation"},"description":"A list of \u003cspan pulumi-lang-nodejs=\"`thresholdObservation`\" pulumi-lang-dotnet=\"`ThresholdObservation`\" pulumi-lang-go=\"`thresholdObservation`\" pulumi-lang-python=\"`threshold_observation`\" pulumi-lang-yaml=\"`thresholdObservation`\" pulumi-lang-java=\"`thresholdObservation`\"\u003e`threshold_observation`\u003c/span\u003e blocks as defined below.\n\n\u003e **Note:** un-specified \u003cspan pulumi-lang-nodejs=\"`multiSelectObservation`\" pulumi-lang-dotnet=\"`MultiSelectObservation`\" pulumi-lang-go=\"`multiSelectObservation`\" pulumi-lang-python=\"`multi_select_observation`\" pulumi-lang-yaml=\"`multiSelectObservation`\" pulumi-lang-java=\"`multiSelectObservation`\"\u003e`multi_select_observation`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`singleSelectObservation`\" pulumi-lang-dotnet=\"`SingleSelectObservation`\" pulumi-lang-go=\"`singleSelectObservation`\" pulumi-lang-python=\"`single_select_observation`\" pulumi-lang-yaml=\"`singleSelectObservation`\" pulumi-lang-java=\"`singleSelectObservation`\"\u003e`single_select_observation`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`prioritizedExcludeObservation`\" pulumi-lang-dotnet=\"`PrioritizedExcludeObservation`\" pulumi-lang-go=\"`prioritizedExcludeObservation`\" pulumi-lang-python=\"`prioritized_exclude_observation`\" pulumi-lang-yaml=\"`prioritizedExcludeObservation`\" pulumi-lang-java=\"`prioritizedExcludeObservation`\"\u003e`prioritized_exclude_observation`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`thresholdObservation`\" pulumi-lang-dotnet=\"`ThresholdObservation`\" pulumi-lang-go=\"`thresholdObservation`\" pulumi-lang-python=\"`threshold_observation`\" pulumi-lang-yaml=\"`thresholdObservation`\" pulumi-lang-java=\"`thresholdObservation`\"\u003e`threshold_observation`\u003c/span\u003e will be inherited from the built-in Anomaly Alert Rule.\n"}},"type":"object"}},"azure:sentinel/alertRuleFusion:AlertRuleFusion":{"description":"Manages a Sentinel Fusion Alert Rule.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleAnalyticsWorkspace = new azure.operationalinsights.AnalyticsWorkspace(\"example\", {\n    name: \"example-workspace\",\n    location: example.location,\n    resourceGroupName: example.name,\n    sku: \"PerGB2018\",\n});\nconst exampleLogAnalyticsWorkspaceOnboarding = new azure.sentinel.LogAnalyticsWorkspaceOnboarding(\"example\", {workspaceId: exampleAnalyticsWorkspace.id});\nconst exampleAlertRuleFusion = new azure.sentinel.AlertRuleFusion(\"example\", {\n    logAnalyticsWorkspaceId: exampleLogAnalyticsWorkspaceOnboarding.workspaceId,\n    alertRuleTemplateGuid: \"f71aba3d-28fb-450b-b192-4e76a83015c8\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_analytics_workspace = azure.operationalinsights.AnalyticsWorkspace(\"example\",\n    name=\"example-workspace\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku=\"PerGB2018\")\nexample_log_analytics_workspace_onboarding = azure.sentinel.LogAnalyticsWorkspaceOnboarding(\"example\", workspace_id=example_analytics_workspace.id)\nexample_alert_rule_fusion = azure.sentinel.AlertRuleFusion(\"example\",\n    log_analytics_workspace_id=example_log_analytics_workspace_onboarding.workspace_id,\n    alert_rule_template_guid=\"f71aba3d-28fb-450b-b192-4e76a83015c8\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleAnalyticsWorkspace = new Azure.OperationalInsights.AnalyticsWorkspace(\"example\", new()\n    {\n        Name = \"example-workspace\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Sku = \"PerGB2018\",\n    });\n\n    var exampleLogAnalyticsWorkspaceOnboarding = new Azure.Sentinel.LogAnalyticsWorkspaceOnboarding(\"example\", new()\n    {\n        WorkspaceId = exampleAnalyticsWorkspace.Id,\n    });\n\n    var exampleAlertRuleFusion = new Azure.Sentinel.AlertRuleFusion(\"example\", new()\n    {\n        LogAnalyticsWorkspaceId = exampleLogAnalyticsWorkspaceOnboarding.WorkspaceId,\n        AlertRuleTemplateGuid = \"f71aba3d-28fb-450b-b192-4e76a83015c8\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/operationalinsights\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/sentinel\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAnalyticsWorkspace, err := operationalinsights.NewAnalyticsWorkspace(ctx, \"example\", \u0026operationalinsights.AnalyticsWorkspaceArgs{\n\t\t\tName:              pulumi.String(\"example-workspace\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSku:               pulumi.String(\"PerGB2018\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleLogAnalyticsWorkspaceOnboarding, err := sentinel.NewLogAnalyticsWorkspaceOnboarding(ctx, \"example\", \u0026sentinel.LogAnalyticsWorkspaceOnboardingArgs{\n\t\t\tWorkspaceId: exampleAnalyticsWorkspace.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = sentinel.NewAlertRuleFusion(ctx, \"example\", \u0026sentinel.AlertRuleFusionArgs{\n\t\t\tLogAnalyticsWorkspaceId: exampleLogAnalyticsWorkspaceOnboarding.WorkspaceId,\n\t\t\tAlertRuleTemplateGuid:   pulumi.String(\"f71aba3d-28fb-450b-b192-4e76a83015c8\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.operationalinsights.AnalyticsWorkspace;\nimport com.pulumi.azure.operationalinsights.AnalyticsWorkspaceArgs;\nimport com.pulumi.azure.sentinel.LogAnalyticsWorkspaceOnboarding;\nimport com.pulumi.azure.sentinel.LogAnalyticsWorkspaceOnboardingArgs;\nimport com.pulumi.azure.sentinel.AlertRuleFusion;\nimport com.pulumi.azure.sentinel.AlertRuleFusionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleAnalyticsWorkspace = new AnalyticsWorkspace(\"exampleAnalyticsWorkspace\", AnalyticsWorkspaceArgs.builder()\n            .name(\"example-workspace\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .sku(\"PerGB2018\")\n            .build());\n\n        var exampleLogAnalyticsWorkspaceOnboarding = new LogAnalyticsWorkspaceOnboarding(\"exampleLogAnalyticsWorkspaceOnboarding\", LogAnalyticsWorkspaceOnboardingArgs.builder()\n            .workspaceId(exampleAnalyticsWorkspace.id())\n            .build());\n\n        var exampleAlertRuleFusion = new AlertRuleFusion(\"exampleAlertRuleFusion\", AlertRuleFusionArgs.builder()\n            .logAnalyticsWorkspaceId(exampleLogAnalyticsWorkspaceOnboarding.workspaceId())\n            .alertRuleTemplateGuid(\"f71aba3d-28fb-450b-b192-4e76a83015c8\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleAnalyticsWorkspace:\n    type: azure:operationalinsights:AnalyticsWorkspace\n    name: example\n    properties:\n      name: example-workspace\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      sku: PerGB2018\n  exampleLogAnalyticsWorkspaceOnboarding:\n    type: azure:sentinel:LogAnalyticsWorkspaceOnboarding\n    name: example\n    properties:\n      workspaceId: ${exampleAnalyticsWorkspace.id}\n  exampleAlertRuleFusion:\n    type: azure:sentinel:AlertRuleFusion\n    name: example\n    properties:\n      logAnalyticsWorkspaceId: ${exampleLogAnalyticsWorkspaceOnboarding.workspaceId}\n      alertRuleTemplateGuid: f71aba3d-28fb-450b-b192-4e76a83015c8\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.OperationalInsights` - 2023-12-01-preview\n\n## Import\n\nSentinel Fusion Alert Rules can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:sentinel/alertRuleFusion:AlertRuleFusion example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.OperationalInsights/workspaces/workspace1/providers/Microsoft.SecurityInsights/alertRules/rule1\n```\n\n","properties":{"alertRuleTemplateGuid":{"type":"string","description":"The GUID of the alert rule template which is used for this Sentinel Fusion Alert Rule. Changing this forces a new Sentinel Fusion Alert Rule to be created.\n"},"enabled":{"type":"boolean","description":"Should this Sentinel Fusion Alert Rule be enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"logAnalyticsWorkspaceId":{"type":"string","description":"The ID of the Log Analytics Workspace this Sentinel Fusion Alert Rule belongs to. Changing this forces a new Sentinel Fusion Alert Rule to be created.\n"},"name":{"type":"string","deprecationMessage":"the \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e is deprecated and will be removed in v5.0 version of the provider."},"sources":{"type":"array","items":{"$ref":"#/types/azure:sentinel/AlertRuleFusionSource:AlertRuleFusionSource"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`source`\" pulumi-lang-dotnet=\"`Source`\" pulumi-lang-go=\"`source`\" pulumi-lang-python=\"`source`\" pulumi-lang-yaml=\"`source`\" pulumi-lang-java=\"`source`\"\u003e`source`\u003c/span\u003e blocks as defined below.\n"}},"required":["alertRuleTemplateGuid","logAnalyticsWorkspaceId","name","sources"],"inputProperties":{"alertRuleTemplateGuid":{"type":"string","description":"The GUID of the alert rule template which is used for this Sentinel Fusion Alert Rule. Changing this forces a new Sentinel Fusion Alert Rule to be created.\n","willReplaceOnChanges":true},"enabled":{"type":"boolean","description":"Should this Sentinel Fusion Alert Rule be enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"logAnalyticsWorkspaceId":{"type":"string","description":"The ID of the Log Analytics Workspace this Sentinel Fusion Alert Rule belongs to. Changing this forces a new Sentinel Fusion Alert Rule to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","deprecationMessage":"the \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e is deprecated and will be removed in v5.0 version of the provider.","willReplaceOnChanges":true},"sources":{"type":"array","items":{"$ref":"#/types/azure:sentinel/AlertRuleFusionSource:AlertRuleFusionSource"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`source`\" pulumi-lang-dotnet=\"`Source`\" pulumi-lang-go=\"`source`\" pulumi-lang-python=\"`source`\" pulumi-lang-yaml=\"`source`\" pulumi-lang-java=\"`source`\"\u003e`source`\u003c/span\u003e blocks as defined below.\n"}},"requiredInputs":["alertRuleTemplateGuid","logAnalyticsWorkspaceId"],"stateInputs":{"description":"Input properties used for looking up and filtering AlertRuleFusion resources.\n","properties":{"alertRuleTemplateGuid":{"type":"string","description":"The GUID of the alert rule template which is used for this Sentinel Fusion Alert Rule. Changing this forces a new Sentinel Fusion Alert Rule to be created.\n","willReplaceOnChanges":true},"enabled":{"type":"boolean","description":"Should this Sentinel Fusion Alert Rule be enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"logAnalyticsWorkspaceId":{"type":"string","description":"The ID of the Log Analytics Workspace this Sentinel Fusion Alert Rule belongs to. Changing this forces a new Sentinel Fusion Alert Rule to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","deprecationMessage":"the \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e is deprecated and will be removed in v5.0 version of the provider.","willReplaceOnChanges":true},"sources":{"type":"array","items":{"$ref":"#/types/azure:sentinel/AlertRuleFusionSource:AlertRuleFusionSource"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`source`\" pulumi-lang-dotnet=\"`Source`\" pulumi-lang-go=\"`source`\" pulumi-lang-python=\"`source`\" pulumi-lang-yaml=\"`source`\" pulumi-lang-java=\"`source`\"\u003e`source`\u003c/span\u003e blocks as defined below.\n"}},"type":"object"}},"azure:sentinel/alertRuleMachineLearningBehaviorAnalytics:AlertRuleMachineLearningBehaviorAnalytics":{"description":"Manages a Sentinel Machine Learning Behavior Analytics Alert Rule.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleAnalyticsWorkspace = new azure.operationalinsights.AnalyticsWorkspace(\"example\", {\n    name: \"example-workspace\",\n    location: example.location,\n    resourceGroupName: example.name,\n    sku: \"PerGB2018\",\n});\nconst exampleLogAnalyticsWorkspaceOnboarding = new azure.sentinel.LogAnalyticsWorkspaceOnboarding(\"example\", {workspaceId: exampleAnalyticsWorkspace.id});\nconst exampleAlertRuleMachineLearningBehaviorAnalytics = new azure.sentinel.AlertRuleMachineLearningBehaviorAnalytics(\"example\", {\n    name: \"example-ml-alert-rule\",\n    logAnalyticsWorkspaceId: exampleAnalyticsWorkspace.id,\n    alertRuleTemplateGuid: \"737a2ce1-70a3-4968-9e90-3e6aca836abf\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_analytics_workspace = azure.operationalinsights.AnalyticsWorkspace(\"example\",\n    name=\"example-workspace\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku=\"PerGB2018\")\nexample_log_analytics_workspace_onboarding = azure.sentinel.LogAnalyticsWorkspaceOnboarding(\"example\", workspace_id=example_analytics_workspace.id)\nexample_alert_rule_machine_learning_behavior_analytics = azure.sentinel.AlertRuleMachineLearningBehaviorAnalytics(\"example\",\n    name=\"example-ml-alert-rule\",\n    log_analytics_workspace_id=example_analytics_workspace.id,\n    alert_rule_template_guid=\"737a2ce1-70a3-4968-9e90-3e6aca836abf\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleAnalyticsWorkspace = new Azure.OperationalInsights.AnalyticsWorkspace(\"example\", new()\n    {\n        Name = \"example-workspace\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Sku = \"PerGB2018\",\n    });\n\n    var exampleLogAnalyticsWorkspaceOnboarding = new Azure.Sentinel.LogAnalyticsWorkspaceOnboarding(\"example\", new()\n    {\n        WorkspaceId = exampleAnalyticsWorkspace.Id,\n    });\n\n    var exampleAlertRuleMachineLearningBehaviorAnalytics = new Azure.Sentinel.AlertRuleMachineLearningBehaviorAnalytics(\"example\", new()\n    {\n        Name = \"example-ml-alert-rule\",\n        LogAnalyticsWorkspaceId = exampleAnalyticsWorkspace.Id,\n        AlertRuleTemplateGuid = \"737a2ce1-70a3-4968-9e90-3e6aca836abf\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/operationalinsights\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/sentinel\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAnalyticsWorkspace, err := operationalinsights.NewAnalyticsWorkspace(ctx, \"example\", \u0026operationalinsights.AnalyticsWorkspaceArgs{\n\t\t\tName:              pulumi.String(\"example-workspace\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSku:               pulumi.String(\"PerGB2018\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = sentinel.NewLogAnalyticsWorkspaceOnboarding(ctx, \"example\", \u0026sentinel.LogAnalyticsWorkspaceOnboardingArgs{\n\t\t\tWorkspaceId: exampleAnalyticsWorkspace.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = sentinel.NewAlertRuleMachineLearningBehaviorAnalytics(ctx, \"example\", \u0026sentinel.AlertRuleMachineLearningBehaviorAnalyticsArgs{\n\t\t\tName:                    pulumi.String(\"example-ml-alert-rule\"),\n\t\t\tLogAnalyticsWorkspaceId: exampleAnalyticsWorkspace.ID(),\n\t\t\tAlertRuleTemplateGuid:   pulumi.String(\"737a2ce1-70a3-4968-9e90-3e6aca836abf\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.operationalinsights.AnalyticsWorkspace;\nimport com.pulumi.azure.operationalinsights.AnalyticsWorkspaceArgs;\nimport com.pulumi.azure.sentinel.LogAnalyticsWorkspaceOnboarding;\nimport com.pulumi.azure.sentinel.LogAnalyticsWorkspaceOnboardingArgs;\nimport com.pulumi.azure.sentinel.AlertRuleMachineLearningBehaviorAnalytics;\nimport com.pulumi.azure.sentinel.AlertRuleMachineLearningBehaviorAnalyticsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleAnalyticsWorkspace = new AnalyticsWorkspace(\"exampleAnalyticsWorkspace\", AnalyticsWorkspaceArgs.builder()\n            .name(\"example-workspace\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .sku(\"PerGB2018\")\n            .build());\n\n        var exampleLogAnalyticsWorkspaceOnboarding = new LogAnalyticsWorkspaceOnboarding(\"exampleLogAnalyticsWorkspaceOnboarding\", LogAnalyticsWorkspaceOnboardingArgs.builder()\n            .workspaceId(exampleAnalyticsWorkspace.id())\n            .build());\n\n        var exampleAlertRuleMachineLearningBehaviorAnalytics = new AlertRuleMachineLearningBehaviorAnalytics(\"exampleAlertRuleMachineLearningBehaviorAnalytics\", AlertRuleMachineLearningBehaviorAnalyticsArgs.builder()\n            .name(\"example-ml-alert-rule\")\n            .logAnalyticsWorkspaceId(exampleAnalyticsWorkspace.id())\n            .alertRuleTemplateGuid(\"737a2ce1-70a3-4968-9e90-3e6aca836abf\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleAnalyticsWorkspace:\n    type: azure:operationalinsights:AnalyticsWorkspace\n    name: example\n    properties:\n      name: example-workspace\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      sku: PerGB2018\n  exampleLogAnalyticsWorkspaceOnboarding:\n    type: azure:sentinel:LogAnalyticsWorkspaceOnboarding\n    name: example\n    properties:\n      workspaceId: ${exampleAnalyticsWorkspace.id}\n  exampleAlertRuleMachineLearningBehaviorAnalytics:\n    type: azure:sentinel:AlertRuleMachineLearningBehaviorAnalytics\n    name: example\n    properties:\n      name: example-ml-alert-rule\n      logAnalyticsWorkspaceId: ${exampleAnalyticsWorkspace.id}\n      alertRuleTemplateGuid: 737a2ce1-70a3-4968-9e90-3e6aca836abf\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.OperationalInsights` - 2023-12-01-preview\n\n## Import\n\nSentinel Machine Learning Behavior Analytics Rules can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:sentinel/alertRuleMachineLearningBehaviorAnalytics:AlertRuleMachineLearningBehaviorAnalytics example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.OperationalInsights/workspaces/workspace1/providers/Microsoft.SecurityInsights/alertRules/rule1\n```\n\n","properties":{"alertRuleTemplateGuid":{"type":"string","description":"The GUID of the alert rule template which is used for this Sentinel Machine Learning Behavior Analytics Alert Rule. Changing this forces a new Sentinel Machine Learning Behavior Analytics Alert Rule to be created.\n"},"enabled":{"type":"boolean","description":"Should this Sentinel Machine Learning Behavior Analytics Alert Rule be enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"logAnalyticsWorkspaceId":{"type":"string","description":"The ID of the Log Analytics Workspace this SentinelMachine Learning Behavior Analytics Alert Rule belongs to. Changing this forces a new Sentinel Machine Learning Behavior Analytics Alert Rule to be created.\n"},"name":{"type":"string","description":"The name which should be used for this SentinelMachine Learning Behavior Analytics Alert Rule. Changing this forces a new Sentinel Machine Learning Behavior Analytics Alert Rule to be created.\n"}},"required":["alertRuleTemplateGuid","logAnalyticsWorkspaceId","name"],"inputProperties":{"alertRuleTemplateGuid":{"type":"string","description":"The GUID of the alert rule template which is used for this Sentinel Machine Learning Behavior Analytics Alert Rule. Changing this forces a new Sentinel Machine Learning Behavior Analytics Alert Rule to be created.\n","willReplaceOnChanges":true},"enabled":{"type":"boolean","description":"Should this Sentinel Machine Learning Behavior Analytics Alert Rule be enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"logAnalyticsWorkspaceId":{"type":"string","description":"The ID of the Log Analytics Workspace this SentinelMachine Learning Behavior Analytics Alert Rule belongs to. Changing this forces a new Sentinel Machine Learning Behavior Analytics Alert Rule to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this SentinelMachine Learning Behavior Analytics Alert Rule. Changing this forces a new Sentinel Machine Learning Behavior Analytics Alert Rule to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["alertRuleTemplateGuid","logAnalyticsWorkspaceId"],"stateInputs":{"description":"Input properties used for looking up and filtering AlertRuleMachineLearningBehaviorAnalytics resources.\n","properties":{"alertRuleTemplateGuid":{"type":"string","description":"The GUID of the alert rule template which is used for this Sentinel Machine Learning Behavior Analytics Alert Rule. Changing this forces a new Sentinel Machine Learning Behavior Analytics Alert Rule to be created.\n","willReplaceOnChanges":true},"enabled":{"type":"boolean","description":"Should this Sentinel Machine Learning Behavior Analytics Alert Rule be enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"logAnalyticsWorkspaceId":{"type":"string","description":"The ID of the Log Analytics Workspace this SentinelMachine Learning Behavior Analytics Alert Rule belongs to. Changing this forces a new Sentinel Machine Learning Behavior Analytics Alert Rule to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this SentinelMachine Learning Behavior Analytics Alert Rule. Changing this forces a new Sentinel Machine Learning Behavior Analytics Alert Rule to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:sentinel/alertRuleMsSecurityIncident:AlertRuleMsSecurityIncident":{"description":"Manages a Sentinel MS Security Incident Alert Rule.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleAnalyticsWorkspace = new azure.operationalinsights.AnalyticsWorkspace(\"example\", {\n    name: \"example-workspace\",\n    location: example.location,\n    resourceGroupName: example.name,\n    sku: \"PerGB2018\",\n});\nconst exampleLogAnalyticsWorkspaceOnboarding = new azure.sentinel.LogAnalyticsWorkspaceOnboarding(\"example\", {workspaceId: exampleAnalyticsWorkspace.id});\nconst exampleAlertRuleMsSecurityIncident = new azure.sentinel.AlertRuleMsSecurityIncident(\"example\", {\n    name: \"example-ms-security-incident-alert-rule\",\n    logAnalyticsWorkspaceId: exampleLogAnalyticsWorkspaceOnboarding.workspaceId,\n    productFilter: \"Microsoft Cloud App Security\",\n    displayName: \"example rule\",\n    severityFilters: [\"High\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_analytics_workspace = azure.operationalinsights.AnalyticsWorkspace(\"example\",\n    name=\"example-workspace\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku=\"PerGB2018\")\nexample_log_analytics_workspace_onboarding = azure.sentinel.LogAnalyticsWorkspaceOnboarding(\"example\", workspace_id=example_analytics_workspace.id)\nexample_alert_rule_ms_security_incident = azure.sentinel.AlertRuleMsSecurityIncident(\"example\",\n    name=\"example-ms-security-incident-alert-rule\",\n    log_analytics_workspace_id=example_log_analytics_workspace_onboarding.workspace_id,\n    product_filter=\"Microsoft Cloud App Security\",\n    display_name=\"example rule\",\n    severity_filters=[\"High\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleAnalyticsWorkspace = new Azure.OperationalInsights.AnalyticsWorkspace(\"example\", new()\n    {\n        Name = \"example-workspace\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Sku = \"PerGB2018\",\n    });\n\n    var exampleLogAnalyticsWorkspaceOnboarding = new Azure.Sentinel.LogAnalyticsWorkspaceOnboarding(\"example\", new()\n    {\n        WorkspaceId = exampleAnalyticsWorkspace.Id,\n    });\n\n    var exampleAlertRuleMsSecurityIncident = new Azure.Sentinel.AlertRuleMsSecurityIncident(\"example\", new()\n    {\n        Name = \"example-ms-security-incident-alert-rule\",\n        LogAnalyticsWorkspaceId = exampleLogAnalyticsWorkspaceOnboarding.WorkspaceId,\n        ProductFilter = \"Microsoft Cloud App Security\",\n        DisplayName = \"example rule\",\n        SeverityFilters = new[]\n        {\n            \"High\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/operationalinsights\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/sentinel\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAnalyticsWorkspace, err := operationalinsights.NewAnalyticsWorkspace(ctx, \"example\", \u0026operationalinsights.AnalyticsWorkspaceArgs{\n\t\t\tName:              pulumi.String(\"example-workspace\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSku:               pulumi.String(\"PerGB2018\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleLogAnalyticsWorkspaceOnboarding, err := sentinel.NewLogAnalyticsWorkspaceOnboarding(ctx, \"example\", \u0026sentinel.LogAnalyticsWorkspaceOnboardingArgs{\n\t\t\tWorkspaceId: exampleAnalyticsWorkspace.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = sentinel.NewAlertRuleMsSecurityIncident(ctx, \"example\", \u0026sentinel.AlertRuleMsSecurityIncidentArgs{\n\t\t\tName:                    pulumi.String(\"example-ms-security-incident-alert-rule\"),\n\t\t\tLogAnalyticsWorkspaceId: exampleLogAnalyticsWorkspaceOnboarding.WorkspaceId,\n\t\t\tProductFilter:           pulumi.String(\"Microsoft Cloud App Security\"),\n\t\t\tDisplayName:             pulumi.String(\"example rule\"),\n\t\t\tSeverityFilters: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"High\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.operationalinsights.AnalyticsWorkspace;\nimport com.pulumi.azure.operationalinsights.AnalyticsWorkspaceArgs;\nimport com.pulumi.azure.sentinel.LogAnalyticsWorkspaceOnboarding;\nimport com.pulumi.azure.sentinel.LogAnalyticsWorkspaceOnboardingArgs;\nimport com.pulumi.azure.sentinel.AlertRuleMsSecurityIncident;\nimport com.pulumi.azure.sentinel.AlertRuleMsSecurityIncidentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleAnalyticsWorkspace = new AnalyticsWorkspace(\"exampleAnalyticsWorkspace\", AnalyticsWorkspaceArgs.builder()\n            .name(\"example-workspace\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .sku(\"PerGB2018\")\n            .build());\n\n        var exampleLogAnalyticsWorkspaceOnboarding = new LogAnalyticsWorkspaceOnboarding(\"exampleLogAnalyticsWorkspaceOnboarding\", LogAnalyticsWorkspaceOnboardingArgs.builder()\n            .workspaceId(exampleAnalyticsWorkspace.id())\n            .build());\n\n        var exampleAlertRuleMsSecurityIncident = new AlertRuleMsSecurityIncident(\"exampleAlertRuleMsSecurityIncident\", AlertRuleMsSecurityIncidentArgs.builder()\n            .name(\"example-ms-security-incident-alert-rule\")\n            .logAnalyticsWorkspaceId(exampleLogAnalyticsWorkspaceOnboarding.workspaceId())\n            .productFilter(\"Microsoft Cloud App Security\")\n            .displayName(\"example rule\")\n            .severityFilters(\"High\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleAnalyticsWorkspace:\n    type: azure:operationalinsights:AnalyticsWorkspace\n    name: example\n    properties:\n      name: example-workspace\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      sku: PerGB2018\n  exampleLogAnalyticsWorkspaceOnboarding:\n    type: azure:sentinel:LogAnalyticsWorkspaceOnboarding\n    name: example\n    properties:\n      workspaceId: ${exampleAnalyticsWorkspace.id}\n  exampleAlertRuleMsSecurityIncident:\n    type: azure:sentinel:AlertRuleMsSecurityIncident\n    name: example\n    properties:\n      name: example-ms-security-incident-alert-rule\n      logAnalyticsWorkspaceId: ${exampleLogAnalyticsWorkspaceOnboarding.workspaceId}\n      productFilter: Microsoft Cloud App Security\n      displayName: example rule\n      severityFilters:\n        - High\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.OperationalInsights` - 2023-12-01-preview\n\n## Import\n\nSentinel MS Security Incident Alert Rules can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:sentinel/alertRuleMsSecurityIncident:AlertRuleMsSecurityIncident example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.OperationalInsights/workspaces/workspace1/providers/Microsoft.SecurityInsights/alertRules/rule1\n```\n\n","properties":{"alertRuleTemplateGuid":{"type":"string","description":"The GUID of the alert rule template which is used to create this Sentinel Scheduled Alert Rule. Changing this forces a new Sentinel MS Security Incident Alert Rule to be created.\n"},"description":{"type":"string","description":"The description of this Sentinel MS Security Incident Alert Rule.\n"},"displayName":{"type":"string","description":"The friendly name of this Sentinel MS Security Incident Alert Rule.\n"},"displayNameExcludeFilters":{"type":"array","items":{"type":"string"},"description":"Only create incidents when the alert display name doesn't contain text from this list.\n"},"displayNameFilters":{"type":"array","items":{"type":"string"},"description":"Only create incidents when the alert display name contain text from this list, leave empty to apply no filter.\n"},"enabled":{"type":"boolean","description":"Should this Sentinel MS Security Incident Alert Rule be enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"logAnalyticsWorkspaceId":{"type":"string","description":"The ID of the Log Analytics Workspace this Sentinel MS Security Incident Alert Rule belongs to. Changing this forces a new Sentinel MS Security Incident Alert Rule to be created.\n"},"name":{"type":"string","description":"The name which should be used for this Sentinel MS Security Incident Alert Rule. Changing this forces a new Sentinel MS Security Incident Alert Rule to be created.\n"},"productFilter":{"type":"string","description":"The Microsoft Security Service from where the alert will be generated. Possible values are `Azure Active Directory Identity Protection`, `Azure Advanced Threat Protection`, `Azure Security Center`, `Azure Security Center for IoT`, `Microsoft Cloud App Security`, `Microsoft Defender Advanced Threat Protection` and `Office 365 Advanced Threat Protection`.\n"},"severityFilters":{"type":"array","items":{"type":"string"},"description":"Only create incidents from alerts when alert severity level is contained in this list. Possible values are `High`, `Medium`, `Low` and `Informational`.\n\n\u003e **Note:** At least one of the severity filters need to be set.\n"}},"required":["displayName","logAnalyticsWorkspaceId","name","productFilter","severityFilters"],"inputProperties":{"alertRuleTemplateGuid":{"type":"string","description":"The GUID of the alert rule template which is used to create this Sentinel Scheduled Alert Rule. Changing this forces a new Sentinel MS Security Incident Alert Rule to be created.\n","willReplaceOnChanges":true},"description":{"type":"string","description":"The description of this Sentinel MS Security Incident Alert Rule.\n"},"displayName":{"type":"string","description":"The friendly name of this Sentinel MS Security Incident Alert Rule.\n"},"displayNameExcludeFilters":{"type":"array","items":{"type":"string"},"description":"Only create incidents when the alert display name doesn't contain text from this list.\n"},"displayNameFilters":{"type":"array","items":{"type":"string"},"description":"Only create incidents when the alert display name contain text from this list, leave empty to apply no filter.\n"},"enabled":{"type":"boolean","description":"Should this Sentinel MS Security Incident Alert Rule be enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"logAnalyticsWorkspaceId":{"type":"string","description":"The ID of the Log Analytics Workspace this Sentinel MS Security Incident Alert Rule belongs to. Changing this forces a new Sentinel MS Security Incident Alert Rule to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Sentinel MS Security Incident Alert Rule. Changing this forces a new Sentinel MS Security Incident Alert Rule to be created.\n","willReplaceOnChanges":true},"productFilter":{"type":"string","description":"The Microsoft Security Service from where the alert will be generated. Possible values are `Azure Active Directory Identity Protection`, `Azure Advanced Threat Protection`, `Azure Security Center`, `Azure Security Center for IoT`, `Microsoft Cloud App Security`, `Microsoft Defender Advanced Threat Protection` and `Office 365 Advanced Threat Protection`.\n"},"severityFilters":{"type":"array","items":{"type":"string"},"description":"Only create incidents from alerts when alert severity level is contained in this list. Possible values are `High`, `Medium`, `Low` and `Informational`.\n\n\u003e **Note:** At least one of the severity filters need to be set.\n"}},"requiredInputs":["displayName","logAnalyticsWorkspaceId","productFilter","severityFilters"],"stateInputs":{"description":"Input properties used for looking up and filtering AlertRuleMsSecurityIncident resources.\n","properties":{"alertRuleTemplateGuid":{"type":"string","description":"The GUID of the alert rule template which is used to create this Sentinel Scheduled Alert Rule. Changing this forces a new Sentinel MS Security Incident Alert Rule to be created.\n","willReplaceOnChanges":true},"description":{"type":"string","description":"The description of this Sentinel MS Security Incident Alert Rule.\n"},"displayName":{"type":"string","description":"The friendly name of this Sentinel MS Security Incident Alert Rule.\n"},"displayNameExcludeFilters":{"type":"array","items":{"type":"string"},"description":"Only create incidents when the alert display name doesn't contain text from this list.\n"},"displayNameFilters":{"type":"array","items":{"type":"string"},"description":"Only create incidents when the alert display name contain text from this list, leave empty to apply no filter.\n"},"enabled":{"type":"boolean","description":"Should this Sentinel MS Security Incident Alert Rule be enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"logAnalyticsWorkspaceId":{"type":"string","description":"The ID of the Log Analytics Workspace this Sentinel MS Security Incident Alert Rule belongs to. Changing this forces a new Sentinel MS Security Incident Alert Rule to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Sentinel MS Security Incident Alert Rule. Changing this forces a new Sentinel MS Security Incident Alert Rule to be created.\n","willReplaceOnChanges":true},"productFilter":{"type":"string","description":"The Microsoft Security Service from where the alert will be generated. Possible values are `Azure Active Directory Identity Protection`, `Azure Advanced Threat Protection`, `Azure Security Center`, `Azure Security Center for IoT`, `Microsoft Cloud App Security`, `Microsoft Defender Advanced Threat Protection` and `Office 365 Advanced Threat Protection`.\n"},"severityFilters":{"type":"array","items":{"type":"string"},"description":"Only create incidents from alerts when alert severity level is contained in this list. Possible values are `High`, `Medium`, `Low` and `Informational`.\n\n\u003e **Note:** At least one of the severity filters need to be set.\n"}},"type":"object"}},"azure:sentinel/alertRuleNrt:AlertRuleNrt":{"description":"Manages a Sentinel NRT Alert Rule.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleAnalyticsWorkspace = new azure.operationalinsights.AnalyticsWorkspace(\"example\", {\n    name: \"example-workspace\",\n    location: example.location,\n    resourceGroupName: example.name,\n    sku: \"pergb2018\",\n});\nconst exampleLogAnalyticsWorkspaceOnboarding = new azure.sentinel.LogAnalyticsWorkspaceOnboarding(\"example\", {workspaceId: exampleAnalyticsWorkspace.id});\nconst exampleAlertRuleNrt = new azure.sentinel.AlertRuleNrt(\"example\", {\n    name: \"example\",\n    logAnalyticsWorkspaceId: exampleLogAnalyticsWorkspaceOnboarding.workspaceId,\n    displayName: \"example\",\n    severity: \"High\",\n    query: `AzureActivity |\n  where OperationName == \\\\\"Create or Update Virtual Machine\\\\\" or OperationName ==\\\\\"Create Deployment\\\\\" |\n  where ActivityStatus == \\\\\"Succeeded\\\\\" |\n  make-series dcount(ResourceId) default=0 on EventSubmissionTimestamp in range(ago(7d), now(), 1d) by Caller\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_analytics_workspace = azure.operationalinsights.AnalyticsWorkspace(\"example\",\n    name=\"example-workspace\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku=\"pergb2018\")\nexample_log_analytics_workspace_onboarding = azure.sentinel.LogAnalyticsWorkspaceOnboarding(\"example\", workspace_id=example_analytics_workspace.id)\nexample_alert_rule_nrt = azure.sentinel.AlertRuleNrt(\"example\",\n    name=\"example\",\n    log_analytics_workspace_id=example_log_analytics_workspace_onboarding.workspace_id,\n    display_name=\"example\",\n    severity=\"High\",\n    query=\"\"\"AzureActivity |\n  where OperationName == \\\"Create or Update Virtual Machine\\\" or OperationName ==\\\"Create Deployment\\\" |\n  where ActivityStatus == \\\"Succeeded\\\" |\n  make-series dcount(ResourceId) default=0 on EventSubmissionTimestamp in range(ago(7d), now(), 1d) by Caller\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleAnalyticsWorkspace = new Azure.OperationalInsights.AnalyticsWorkspace(\"example\", new()\n    {\n        Name = \"example-workspace\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Sku = \"pergb2018\",\n    });\n\n    var exampleLogAnalyticsWorkspaceOnboarding = new Azure.Sentinel.LogAnalyticsWorkspaceOnboarding(\"example\", new()\n    {\n        WorkspaceId = exampleAnalyticsWorkspace.Id,\n    });\n\n    var exampleAlertRuleNrt = new Azure.Sentinel.AlertRuleNrt(\"example\", new()\n    {\n        Name = \"example\",\n        LogAnalyticsWorkspaceId = exampleLogAnalyticsWorkspaceOnboarding.WorkspaceId,\n        DisplayName = \"example\",\n        Severity = \"High\",\n        Query = @\"AzureActivity |\n  where OperationName == \\\"\"Create or Update Virtual Machine\\\"\" or OperationName ==\\\"\"Create Deployment\\\"\" |\n  where ActivityStatus == \\\"\"Succeeded\\\"\" |\n  make-series dcount(ResourceId) default=0 on EventSubmissionTimestamp in range(ago(7d), now(), 1d) by Caller\n\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/operationalinsights\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/sentinel\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAnalyticsWorkspace, err := operationalinsights.NewAnalyticsWorkspace(ctx, \"example\", \u0026operationalinsights.AnalyticsWorkspaceArgs{\n\t\t\tName:              pulumi.String(\"example-workspace\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSku:               pulumi.String(\"pergb2018\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleLogAnalyticsWorkspaceOnboarding, err := sentinel.NewLogAnalyticsWorkspaceOnboarding(ctx, \"example\", \u0026sentinel.LogAnalyticsWorkspaceOnboardingArgs{\n\t\t\tWorkspaceId: exampleAnalyticsWorkspace.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = sentinel.NewAlertRuleNrt(ctx, \"example\", \u0026sentinel.AlertRuleNrtArgs{\n\t\t\tName:                    pulumi.String(\"example\"),\n\t\t\tLogAnalyticsWorkspaceId: exampleLogAnalyticsWorkspaceOnboarding.WorkspaceId,\n\t\t\tDisplayName:             pulumi.String(\"example\"),\n\t\t\tSeverity:                pulumi.String(\"High\"),\n\t\t\tQuery:                   pulumi.String(\"AzureActivity |\\n  where OperationName == \\\\\\\"Create or Update Virtual Machine\\\\\\\" or OperationName ==\\\\\\\"Create Deployment\\\\\\\" |\\n  where ActivityStatus == \\\\\\\"Succeeded\\\\\\\" |\\n  make-series dcount(ResourceId) default=0 on EventSubmissionTimestamp in range(ago(7d), now(), 1d) by Caller\\n\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.operationalinsights.AnalyticsWorkspace;\nimport com.pulumi.azure.operationalinsights.AnalyticsWorkspaceArgs;\nimport com.pulumi.azure.sentinel.LogAnalyticsWorkspaceOnboarding;\nimport com.pulumi.azure.sentinel.LogAnalyticsWorkspaceOnboardingArgs;\nimport com.pulumi.azure.sentinel.AlertRuleNrt;\nimport com.pulumi.azure.sentinel.AlertRuleNrtArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleAnalyticsWorkspace = new AnalyticsWorkspace(\"exampleAnalyticsWorkspace\", AnalyticsWorkspaceArgs.builder()\n            .name(\"example-workspace\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .sku(\"pergb2018\")\n            .build());\n\n        var exampleLogAnalyticsWorkspaceOnboarding = new LogAnalyticsWorkspaceOnboarding(\"exampleLogAnalyticsWorkspaceOnboarding\", LogAnalyticsWorkspaceOnboardingArgs.builder()\n            .workspaceId(exampleAnalyticsWorkspace.id())\n            .build());\n\n        var exampleAlertRuleNrt = new AlertRuleNrt(\"exampleAlertRuleNrt\", AlertRuleNrtArgs.builder()\n            .name(\"example\")\n            .logAnalyticsWorkspaceId(exampleLogAnalyticsWorkspaceOnboarding.workspaceId())\n            .displayName(\"example\")\n            .severity(\"High\")\n            .query(\"\"\"\nAzureActivity |\n  where OperationName == \\\"Create or Update Virtual Machine\\\" or OperationName ==\\\"Create Deployment\\\" |\n  where ActivityStatus == \\\"Succeeded\\\" |\n  make-series dcount(ResourceId) default=0 on EventSubmissionTimestamp in range(ago(7d), now(), 1d) by Caller\n            \"\"\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleAnalyticsWorkspace:\n    type: azure:operationalinsights:AnalyticsWorkspace\n    name: example\n    properties:\n      name: example-workspace\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      sku: pergb2018\n  exampleLogAnalyticsWorkspaceOnboarding:\n    type: azure:sentinel:LogAnalyticsWorkspaceOnboarding\n    name: example\n    properties:\n      workspaceId: ${exampleAnalyticsWorkspace.id}\n  exampleAlertRuleNrt:\n    type: azure:sentinel:AlertRuleNrt\n    name: example\n    properties:\n      name: example\n      logAnalyticsWorkspaceId: ${exampleLogAnalyticsWorkspaceOnboarding.workspaceId}\n      displayName: example\n      severity: High\n      query: |\n        AzureActivity |\n          where OperationName == \\\"Create or Update Virtual Machine\\\" or OperationName ==\\\"Create Deployment\\\" |\n          where ActivityStatus == \\\"Succeeded\\\" |\n          make-series dcount(ResourceId) default=0 on EventSubmissionTimestamp in range(ago(7d), now(), 1d) by Caller\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.OperationalInsights` - 2023-12-01-preview\n\n## Import\n\nSentinel NRT Alert Rules can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:sentinel/alertRuleNrt:AlertRuleNrt example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.OperationalInsights/workspaces/workspace1/providers/Microsoft.SecurityInsights/alertRules/rule1\n```\n\n","properties":{"alertDetailsOverrides":{"type":"array","items":{"$ref":"#/types/azure:sentinel/AlertRuleNrtAlertDetailsOverride:AlertRuleNrtAlertDetailsOverride"},"description":"An \u003cspan pulumi-lang-nodejs=\"`alertDetailsOverride`\" pulumi-lang-dotnet=\"`AlertDetailsOverride`\" pulumi-lang-go=\"`alertDetailsOverride`\" pulumi-lang-python=\"`alert_details_override`\" pulumi-lang-yaml=\"`alertDetailsOverride`\" pulumi-lang-java=\"`alertDetailsOverride`\"\u003e`alert_details_override`\u003c/span\u003e block as defined below.\n"},"alertRuleTemplateGuid":{"type":"string","description":"The GUID of the alert rule template which is used for this Sentinel NRT Alert Rule. Changing this forces a new Sentinel NRT Alert Rule to be created.\n"},"alertRuleTemplateVersion":{"type":"string","description":"The version of the alert rule template which is used for this Sentinel NRT Alert Rule. Changing this forces a new Sentinel NRT Alert Rule to be created.\n"},"customDetails":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of string key-value pairs of columns to be attached to this Sentinel NRT Alert Rule. The key will appear as the field name in alerts and the value is the event parameter you wish to surface in the alerts.\n"},"description":{"type":"string","description":"The description of this Sentinel NRT Alert Rule.\n"},"displayName":{"type":"string","description":"The friendly name of this Sentinel NRT Alert Rule.\n"},"enabled":{"type":"boolean","description":"Should the Sentinel NRT Alert Rule be enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"entityMappings":{"type":"array","items":{"$ref":"#/types/azure:sentinel/AlertRuleNrtEntityMapping:AlertRuleNrtEntityMapping"},"description":"A list of \u003cspan pulumi-lang-nodejs=\"`entityMapping`\" pulumi-lang-dotnet=\"`EntityMapping`\" pulumi-lang-go=\"`entityMapping`\" pulumi-lang-python=\"`entity_mapping`\" pulumi-lang-yaml=\"`entityMapping`\" pulumi-lang-java=\"`entityMapping`\"\u003e`entity_mapping`\u003c/span\u003e blocks as defined below.\n"},"eventGrouping":{"$ref":"#/types/azure:sentinel/AlertRuleNrtEventGrouping:AlertRuleNrtEventGrouping","description":"A \u003cspan pulumi-lang-nodejs=\"`eventGrouping`\" pulumi-lang-dotnet=\"`EventGrouping`\" pulumi-lang-go=\"`eventGrouping`\" pulumi-lang-python=\"`event_grouping`\" pulumi-lang-yaml=\"`eventGrouping`\" pulumi-lang-java=\"`eventGrouping`\"\u003e`event_grouping`\u003c/span\u003e block as defined below.\n"},"incident":{"$ref":"#/types/azure:sentinel/AlertRuleNrtIncident:AlertRuleNrtIncident","description":"A \u003cspan pulumi-lang-nodejs=\"`incident`\" pulumi-lang-dotnet=\"`Incident`\" pulumi-lang-go=\"`incident`\" pulumi-lang-python=\"`incident`\" pulumi-lang-yaml=\"`incident`\" pulumi-lang-java=\"`incident`\"\u003e`incident`\u003c/span\u003e block as defined below.\n"},"logAnalyticsWorkspaceId":{"type":"string","description":"The ID of the Log Analytics Workspace this Sentinel NRT Alert Rule belongs to. Changing this forces a new Sentinel NRT Alert Rule to be created.\n"},"name":{"type":"string","description":"The name which should be used for this Sentinel NRT Alert Rule. Changing this forces a new Sentinel NRT Alert Rule to be created.\n"},"query":{"type":"string","description":"The query of this Sentinel NRT Alert Rule.\n"},"sentinelEntityMappings":{"type":"array","items":{"$ref":"#/types/azure:sentinel/AlertRuleNrtSentinelEntityMapping:AlertRuleNrtSentinelEntityMapping"},"description":"A list of \u003cspan pulumi-lang-nodejs=\"`sentinelEntityMapping`\" pulumi-lang-dotnet=\"`SentinelEntityMapping`\" pulumi-lang-go=\"`sentinelEntityMapping`\" pulumi-lang-python=\"`sentinel_entity_mapping`\" pulumi-lang-yaml=\"`sentinelEntityMapping`\" pulumi-lang-java=\"`sentinelEntityMapping`\"\u003e`sentinel_entity_mapping`\u003c/span\u003e blocks as defined below.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`entityMapping`\" pulumi-lang-dotnet=\"`EntityMapping`\" pulumi-lang-go=\"`entityMapping`\" pulumi-lang-python=\"`entity_mapping`\" pulumi-lang-yaml=\"`entityMapping`\" pulumi-lang-java=\"`entityMapping`\"\u003e`entity_mapping`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`sentinelEntityMapping`\" pulumi-lang-dotnet=\"`SentinelEntityMapping`\" pulumi-lang-go=\"`sentinelEntityMapping`\" pulumi-lang-python=\"`sentinel_entity_mapping`\" pulumi-lang-yaml=\"`sentinelEntityMapping`\" pulumi-lang-java=\"`sentinelEntityMapping`\"\u003e`sentinel_entity_mapping`\u003c/span\u003e together can't exceed 5.\n"},"severity":{"type":"string","description":"The alert severity of this Sentinel NRT Alert Rule. Possible values are `High`, `Medium`, `Low` and `Informational`.\n"},"suppressionDuration":{"type":"string","description":"If \u003cspan pulumi-lang-nodejs=\"`suppressionEnabled`\" pulumi-lang-dotnet=\"`SuppressionEnabled`\" pulumi-lang-go=\"`suppressionEnabled`\" pulumi-lang-python=\"`suppression_enabled`\" pulumi-lang-yaml=\"`suppressionEnabled`\" pulumi-lang-java=\"`suppressionEnabled`\"\u003e`suppression_enabled`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, this is ISO 8601 timespan duration, which specifies the amount of time the query should stop running after alert is generated. Defaults to `PT5H`.\n"},"suppressionEnabled":{"type":"boolean","description":"Should the Sentinel NRT Alert Rulea stop running query after alert is generated? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"tactics":{"type":"array","items":{"type":"string"},"description":"A list of categories of attacks by which to classify the rule. Possible values are `Collection`, `CommandAndControl`, `CredentialAccess`, `DefenseEvasion`, `Discovery`, `Execution`, `Exfiltration`, `Impact`, `ImpairProcessControl`, `InhibitResponseFunction`, `InitialAccess`, `LateralMovement`, `Persistence`, `PreAttack`, `PrivilegeEscalation`, `Reconnaissance` and `ResourceDevelopment`.\n"},"techniques":{"type":"array","items":{"type":"string"},"description":"A list of techniques of attacks by which to classify the rule.\n"}},"required":["displayName","eventGrouping","incident","logAnalyticsWorkspaceId","name","query","severity"],"inputProperties":{"alertDetailsOverrides":{"type":"array","items":{"$ref":"#/types/azure:sentinel/AlertRuleNrtAlertDetailsOverride:AlertRuleNrtAlertDetailsOverride"},"description":"An \u003cspan pulumi-lang-nodejs=\"`alertDetailsOverride`\" pulumi-lang-dotnet=\"`AlertDetailsOverride`\" pulumi-lang-go=\"`alertDetailsOverride`\" pulumi-lang-python=\"`alert_details_override`\" pulumi-lang-yaml=\"`alertDetailsOverride`\" pulumi-lang-java=\"`alertDetailsOverride`\"\u003e`alert_details_override`\u003c/span\u003e block as defined below.\n"},"alertRuleTemplateGuid":{"type":"string","description":"The GUID of the alert rule template which is used for this Sentinel NRT Alert Rule. Changing this forces a new Sentinel NRT Alert Rule to be created.\n","willReplaceOnChanges":true},"alertRuleTemplateVersion":{"type":"string","description":"The version of the alert rule template which is used for this Sentinel NRT Alert Rule. Changing this forces a new Sentinel NRT Alert Rule to be created.\n","willReplaceOnChanges":true},"customDetails":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of string key-value pairs of columns to be attached to this Sentinel NRT Alert Rule. The key will appear as the field name in alerts and the value is the event parameter you wish to surface in the alerts.\n"},"description":{"type":"string","description":"The description of this Sentinel NRT Alert Rule.\n"},"displayName":{"type":"string","description":"The friendly name of this Sentinel NRT Alert Rule.\n"},"enabled":{"type":"boolean","description":"Should the Sentinel NRT Alert Rule be enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"entityMappings":{"type":"array","items":{"$ref":"#/types/azure:sentinel/AlertRuleNrtEntityMapping:AlertRuleNrtEntityMapping"},"description":"A list of \u003cspan pulumi-lang-nodejs=\"`entityMapping`\" pulumi-lang-dotnet=\"`EntityMapping`\" pulumi-lang-go=\"`entityMapping`\" pulumi-lang-python=\"`entity_mapping`\" pulumi-lang-yaml=\"`entityMapping`\" pulumi-lang-java=\"`entityMapping`\"\u003e`entity_mapping`\u003c/span\u003e blocks as defined below.\n"},"eventGrouping":{"$ref":"#/types/azure:sentinel/AlertRuleNrtEventGrouping:AlertRuleNrtEventGrouping","description":"A \u003cspan pulumi-lang-nodejs=\"`eventGrouping`\" pulumi-lang-dotnet=\"`EventGrouping`\" pulumi-lang-go=\"`eventGrouping`\" pulumi-lang-python=\"`event_grouping`\" pulumi-lang-yaml=\"`eventGrouping`\" pulumi-lang-java=\"`eventGrouping`\"\u003e`event_grouping`\u003c/span\u003e block as defined below.\n"},"incident":{"$ref":"#/types/azure:sentinel/AlertRuleNrtIncident:AlertRuleNrtIncident","description":"A \u003cspan pulumi-lang-nodejs=\"`incident`\" pulumi-lang-dotnet=\"`Incident`\" pulumi-lang-go=\"`incident`\" pulumi-lang-python=\"`incident`\" pulumi-lang-yaml=\"`incident`\" pulumi-lang-java=\"`incident`\"\u003e`incident`\u003c/span\u003e block as defined below.\n"},"logAnalyticsWorkspaceId":{"type":"string","description":"The ID of the Log Analytics Workspace this Sentinel NRT Alert Rule belongs to. Changing this forces a new Sentinel NRT Alert Rule to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Sentinel NRT Alert Rule. Changing this forces a new Sentinel NRT Alert Rule to be created.\n","willReplaceOnChanges":true},"query":{"type":"string","description":"The query of this Sentinel NRT Alert Rule.\n"},"sentinelEntityMappings":{"type":"array","items":{"$ref":"#/types/azure:sentinel/AlertRuleNrtSentinelEntityMapping:AlertRuleNrtSentinelEntityMapping"},"description":"A list of \u003cspan pulumi-lang-nodejs=\"`sentinelEntityMapping`\" pulumi-lang-dotnet=\"`SentinelEntityMapping`\" pulumi-lang-go=\"`sentinelEntityMapping`\" pulumi-lang-python=\"`sentinel_entity_mapping`\" pulumi-lang-yaml=\"`sentinelEntityMapping`\" pulumi-lang-java=\"`sentinelEntityMapping`\"\u003e`sentinel_entity_mapping`\u003c/span\u003e blocks as defined below.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`entityMapping`\" pulumi-lang-dotnet=\"`EntityMapping`\" pulumi-lang-go=\"`entityMapping`\" pulumi-lang-python=\"`entity_mapping`\" pulumi-lang-yaml=\"`entityMapping`\" pulumi-lang-java=\"`entityMapping`\"\u003e`entity_mapping`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`sentinelEntityMapping`\" pulumi-lang-dotnet=\"`SentinelEntityMapping`\" pulumi-lang-go=\"`sentinelEntityMapping`\" pulumi-lang-python=\"`sentinel_entity_mapping`\" pulumi-lang-yaml=\"`sentinelEntityMapping`\" pulumi-lang-java=\"`sentinelEntityMapping`\"\u003e`sentinel_entity_mapping`\u003c/span\u003e together can't exceed 5.\n"},"severity":{"type":"string","description":"The alert severity of this Sentinel NRT Alert Rule. Possible values are `High`, `Medium`, `Low` and `Informational`.\n"},"suppressionDuration":{"type":"string","description":"If \u003cspan pulumi-lang-nodejs=\"`suppressionEnabled`\" pulumi-lang-dotnet=\"`SuppressionEnabled`\" pulumi-lang-go=\"`suppressionEnabled`\" pulumi-lang-python=\"`suppression_enabled`\" pulumi-lang-yaml=\"`suppressionEnabled`\" pulumi-lang-java=\"`suppressionEnabled`\"\u003e`suppression_enabled`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, this is ISO 8601 timespan duration, which specifies the amount of time the query should stop running after alert is generated. Defaults to `PT5H`.\n"},"suppressionEnabled":{"type":"boolean","description":"Should the Sentinel NRT Alert Rulea stop running query after alert is generated? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"tactics":{"type":"array","items":{"type":"string"},"description":"A list of categories of attacks by which to classify the rule. Possible values are `Collection`, `CommandAndControl`, `CredentialAccess`, `DefenseEvasion`, `Discovery`, `Execution`, `Exfiltration`, `Impact`, `ImpairProcessControl`, `InhibitResponseFunction`, `InitialAccess`, `LateralMovement`, `Persistence`, `PreAttack`, `PrivilegeEscalation`, `Reconnaissance` and `ResourceDevelopment`.\n"},"techniques":{"type":"array","items":{"type":"string"},"description":"A list of techniques of attacks by which to classify the rule.\n"}},"requiredInputs":["displayName","eventGrouping","logAnalyticsWorkspaceId","query","severity"],"stateInputs":{"description":"Input properties used for looking up and filtering AlertRuleNrt resources.\n","properties":{"alertDetailsOverrides":{"type":"array","items":{"$ref":"#/types/azure:sentinel/AlertRuleNrtAlertDetailsOverride:AlertRuleNrtAlertDetailsOverride"},"description":"An \u003cspan pulumi-lang-nodejs=\"`alertDetailsOverride`\" pulumi-lang-dotnet=\"`AlertDetailsOverride`\" pulumi-lang-go=\"`alertDetailsOverride`\" pulumi-lang-python=\"`alert_details_override`\" pulumi-lang-yaml=\"`alertDetailsOverride`\" pulumi-lang-java=\"`alertDetailsOverride`\"\u003e`alert_details_override`\u003c/span\u003e block as defined below.\n"},"alertRuleTemplateGuid":{"type":"string","description":"The GUID of the alert rule template which is used for this Sentinel NRT Alert Rule. Changing this forces a new Sentinel NRT Alert Rule to be created.\n","willReplaceOnChanges":true},"alertRuleTemplateVersion":{"type":"string","description":"The version of the alert rule template which is used for this Sentinel NRT Alert Rule. Changing this forces a new Sentinel NRT Alert Rule to be created.\n","willReplaceOnChanges":true},"customDetails":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of string key-value pairs of columns to be attached to this Sentinel NRT Alert Rule. The key will appear as the field name in alerts and the value is the event parameter you wish to surface in the alerts.\n"},"description":{"type":"string","description":"The description of this Sentinel NRT Alert Rule.\n"},"displayName":{"type":"string","description":"The friendly name of this Sentinel NRT Alert Rule.\n"},"enabled":{"type":"boolean","description":"Should the Sentinel NRT Alert Rule be enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"entityMappings":{"type":"array","items":{"$ref":"#/types/azure:sentinel/AlertRuleNrtEntityMapping:AlertRuleNrtEntityMapping"},"description":"A list of \u003cspan pulumi-lang-nodejs=\"`entityMapping`\" pulumi-lang-dotnet=\"`EntityMapping`\" pulumi-lang-go=\"`entityMapping`\" pulumi-lang-python=\"`entity_mapping`\" pulumi-lang-yaml=\"`entityMapping`\" pulumi-lang-java=\"`entityMapping`\"\u003e`entity_mapping`\u003c/span\u003e blocks as defined below.\n"},"eventGrouping":{"$ref":"#/types/azure:sentinel/AlertRuleNrtEventGrouping:AlertRuleNrtEventGrouping","description":"A \u003cspan pulumi-lang-nodejs=\"`eventGrouping`\" pulumi-lang-dotnet=\"`EventGrouping`\" pulumi-lang-go=\"`eventGrouping`\" pulumi-lang-python=\"`event_grouping`\" pulumi-lang-yaml=\"`eventGrouping`\" pulumi-lang-java=\"`eventGrouping`\"\u003e`event_grouping`\u003c/span\u003e block as defined below.\n"},"incident":{"$ref":"#/types/azure:sentinel/AlertRuleNrtIncident:AlertRuleNrtIncident","description":"A \u003cspan pulumi-lang-nodejs=\"`incident`\" pulumi-lang-dotnet=\"`Incident`\" pulumi-lang-go=\"`incident`\" pulumi-lang-python=\"`incident`\" pulumi-lang-yaml=\"`incident`\" pulumi-lang-java=\"`incident`\"\u003e`incident`\u003c/span\u003e block as defined below.\n"},"logAnalyticsWorkspaceId":{"type":"string","description":"The ID of the Log Analytics Workspace this Sentinel NRT Alert Rule belongs to. Changing this forces a new Sentinel NRT Alert Rule to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Sentinel NRT Alert Rule. Changing this forces a new Sentinel NRT Alert Rule to be created.\n","willReplaceOnChanges":true},"query":{"type":"string","description":"The query of this Sentinel NRT Alert Rule.\n"},"sentinelEntityMappings":{"type":"array","items":{"$ref":"#/types/azure:sentinel/AlertRuleNrtSentinelEntityMapping:AlertRuleNrtSentinelEntityMapping"},"description":"A list of \u003cspan pulumi-lang-nodejs=\"`sentinelEntityMapping`\" pulumi-lang-dotnet=\"`SentinelEntityMapping`\" pulumi-lang-go=\"`sentinelEntityMapping`\" pulumi-lang-python=\"`sentinel_entity_mapping`\" pulumi-lang-yaml=\"`sentinelEntityMapping`\" pulumi-lang-java=\"`sentinelEntityMapping`\"\u003e`sentinel_entity_mapping`\u003c/span\u003e blocks as defined below.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`entityMapping`\" pulumi-lang-dotnet=\"`EntityMapping`\" pulumi-lang-go=\"`entityMapping`\" pulumi-lang-python=\"`entity_mapping`\" pulumi-lang-yaml=\"`entityMapping`\" pulumi-lang-java=\"`entityMapping`\"\u003e`entity_mapping`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`sentinelEntityMapping`\" pulumi-lang-dotnet=\"`SentinelEntityMapping`\" pulumi-lang-go=\"`sentinelEntityMapping`\" pulumi-lang-python=\"`sentinel_entity_mapping`\" pulumi-lang-yaml=\"`sentinelEntityMapping`\" pulumi-lang-java=\"`sentinelEntityMapping`\"\u003e`sentinel_entity_mapping`\u003c/span\u003e together can't exceed 5.\n"},"severity":{"type":"string","description":"The alert severity of this Sentinel NRT Alert Rule. Possible values are `High`, `Medium`, `Low` and `Informational`.\n"},"suppressionDuration":{"type":"string","description":"If \u003cspan pulumi-lang-nodejs=\"`suppressionEnabled`\" pulumi-lang-dotnet=\"`SuppressionEnabled`\" pulumi-lang-go=\"`suppressionEnabled`\" pulumi-lang-python=\"`suppression_enabled`\" pulumi-lang-yaml=\"`suppressionEnabled`\" pulumi-lang-java=\"`suppressionEnabled`\"\u003e`suppression_enabled`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, this is ISO 8601 timespan duration, which specifies the amount of time the query should stop running after alert is generated. Defaults to `PT5H`.\n"},"suppressionEnabled":{"type":"boolean","description":"Should the Sentinel NRT Alert Rulea stop running query after alert is generated? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"tactics":{"type":"array","items":{"type":"string"},"description":"A list of categories of attacks by which to classify the rule. Possible values are `Collection`, `CommandAndControl`, `CredentialAccess`, `DefenseEvasion`, `Discovery`, `Execution`, `Exfiltration`, `Impact`, `ImpairProcessControl`, `InhibitResponseFunction`, `InitialAccess`, `LateralMovement`, `Persistence`, `PreAttack`, `PrivilegeEscalation`, `Reconnaissance` and `ResourceDevelopment`.\n"},"techniques":{"type":"array","items":{"type":"string"},"description":"A list of techniques of attacks by which to classify the rule.\n"}},"type":"object"}},"azure:sentinel/alertRuleScheduled:AlertRuleScheduled":{"description":"Manages a Sentinel Scheduled Alert Rule.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleAnalyticsWorkspace = new azure.operationalinsights.AnalyticsWorkspace(\"example\", {\n    name: \"example-workspace\",\n    location: example.location,\n    resourceGroupName: example.name,\n    sku: \"PerGB2018\",\n});\nconst exampleLogAnalyticsWorkspaceOnboarding = new azure.sentinel.LogAnalyticsWorkspaceOnboarding(\"example\", {workspaceId: exampleAnalyticsWorkspace.id});\nconst exampleAlertRuleScheduled = new azure.sentinel.AlertRuleScheduled(\"example\", {\n    name: \"example\",\n    logAnalyticsWorkspaceId: exampleLogAnalyticsWorkspaceOnboarding.workspaceId,\n    displayName: \"example\",\n    severity: \"High\",\n    query: `AzureActivity |\n  where OperationName == \\\\\"Create or Update Virtual Machine\\\\\" or OperationName ==\\\\\"Create Deployment\\\\\" |\n  where ActivityStatus == \\\\\"Succeeded\\\\\" |\n  make-series dcount(ResourceId) default=0 on EventSubmissionTimestamp in range(ago(7d), now(), 1d) by Caller\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_analytics_workspace = azure.operationalinsights.AnalyticsWorkspace(\"example\",\n    name=\"example-workspace\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku=\"PerGB2018\")\nexample_log_analytics_workspace_onboarding = azure.sentinel.LogAnalyticsWorkspaceOnboarding(\"example\", workspace_id=example_analytics_workspace.id)\nexample_alert_rule_scheduled = azure.sentinel.AlertRuleScheduled(\"example\",\n    name=\"example\",\n    log_analytics_workspace_id=example_log_analytics_workspace_onboarding.workspace_id,\n    display_name=\"example\",\n    severity=\"High\",\n    query=\"\"\"AzureActivity |\n  where OperationName == \\\"Create or Update Virtual Machine\\\" or OperationName ==\\\"Create Deployment\\\" |\n  where ActivityStatus == \\\"Succeeded\\\" |\n  make-series dcount(ResourceId) default=0 on EventSubmissionTimestamp in range(ago(7d), now(), 1d) by Caller\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleAnalyticsWorkspace = new Azure.OperationalInsights.AnalyticsWorkspace(\"example\", new()\n    {\n        Name = \"example-workspace\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Sku = \"PerGB2018\",\n    });\n\n    var exampleLogAnalyticsWorkspaceOnboarding = new Azure.Sentinel.LogAnalyticsWorkspaceOnboarding(\"example\", new()\n    {\n        WorkspaceId = exampleAnalyticsWorkspace.Id,\n    });\n\n    var exampleAlertRuleScheduled = new Azure.Sentinel.AlertRuleScheduled(\"example\", new()\n    {\n        Name = \"example\",\n        LogAnalyticsWorkspaceId = exampleLogAnalyticsWorkspaceOnboarding.WorkspaceId,\n        DisplayName = \"example\",\n        Severity = \"High\",\n        Query = @\"AzureActivity |\n  where OperationName == \\\"\"Create or Update Virtual Machine\\\"\" or OperationName ==\\\"\"Create Deployment\\\"\" |\n  where ActivityStatus == \\\"\"Succeeded\\\"\" |\n  make-series dcount(ResourceId) default=0 on EventSubmissionTimestamp in range(ago(7d), now(), 1d) by Caller\n\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/operationalinsights\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/sentinel\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAnalyticsWorkspace, err := operationalinsights.NewAnalyticsWorkspace(ctx, \"example\", \u0026operationalinsights.AnalyticsWorkspaceArgs{\n\t\t\tName:              pulumi.String(\"example-workspace\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSku:               pulumi.String(\"PerGB2018\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleLogAnalyticsWorkspaceOnboarding, err := sentinel.NewLogAnalyticsWorkspaceOnboarding(ctx, \"example\", \u0026sentinel.LogAnalyticsWorkspaceOnboardingArgs{\n\t\t\tWorkspaceId: exampleAnalyticsWorkspace.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = sentinel.NewAlertRuleScheduled(ctx, \"example\", \u0026sentinel.AlertRuleScheduledArgs{\n\t\t\tName:                    pulumi.String(\"example\"),\n\t\t\tLogAnalyticsWorkspaceId: exampleLogAnalyticsWorkspaceOnboarding.WorkspaceId,\n\t\t\tDisplayName:             pulumi.String(\"example\"),\n\t\t\tSeverity:                pulumi.String(\"High\"),\n\t\t\tQuery:                   pulumi.String(\"AzureActivity |\\n  where OperationName == \\\\\\\"Create or Update Virtual Machine\\\\\\\" or OperationName ==\\\\\\\"Create Deployment\\\\\\\" |\\n  where ActivityStatus == \\\\\\\"Succeeded\\\\\\\" |\\n  make-series dcount(ResourceId) default=0 on EventSubmissionTimestamp in range(ago(7d), now(), 1d) by Caller\\n\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.operationalinsights.AnalyticsWorkspace;\nimport com.pulumi.azure.operationalinsights.AnalyticsWorkspaceArgs;\nimport com.pulumi.azure.sentinel.LogAnalyticsWorkspaceOnboarding;\nimport com.pulumi.azure.sentinel.LogAnalyticsWorkspaceOnboardingArgs;\nimport com.pulumi.azure.sentinel.AlertRuleScheduled;\nimport com.pulumi.azure.sentinel.AlertRuleScheduledArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleAnalyticsWorkspace = new AnalyticsWorkspace(\"exampleAnalyticsWorkspace\", AnalyticsWorkspaceArgs.builder()\n            .name(\"example-workspace\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .sku(\"PerGB2018\")\n            .build());\n\n        var exampleLogAnalyticsWorkspaceOnboarding = new LogAnalyticsWorkspaceOnboarding(\"exampleLogAnalyticsWorkspaceOnboarding\", LogAnalyticsWorkspaceOnboardingArgs.builder()\n            .workspaceId(exampleAnalyticsWorkspace.id())\n            .build());\n\n        var exampleAlertRuleScheduled = new AlertRuleScheduled(\"exampleAlertRuleScheduled\", AlertRuleScheduledArgs.builder()\n            .name(\"example\")\n            .logAnalyticsWorkspaceId(exampleLogAnalyticsWorkspaceOnboarding.workspaceId())\n            .displayName(\"example\")\n            .severity(\"High\")\n            .query(\"\"\"\nAzureActivity |\n  where OperationName == \\\"Create or Update Virtual Machine\\\" or OperationName ==\\\"Create Deployment\\\" |\n  where ActivityStatus == \\\"Succeeded\\\" |\n  make-series dcount(ResourceId) default=0 on EventSubmissionTimestamp in range(ago(7d), now(), 1d) by Caller\n            \"\"\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleAnalyticsWorkspace:\n    type: azure:operationalinsights:AnalyticsWorkspace\n    name: example\n    properties:\n      name: example-workspace\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      sku: PerGB2018\n  exampleLogAnalyticsWorkspaceOnboarding:\n    type: azure:sentinel:LogAnalyticsWorkspaceOnboarding\n    name: example\n    properties:\n      workspaceId: ${exampleAnalyticsWorkspace.id}\n  exampleAlertRuleScheduled:\n    type: azure:sentinel:AlertRuleScheduled\n    name: example\n    properties:\n      name: example\n      logAnalyticsWorkspaceId: ${exampleLogAnalyticsWorkspaceOnboarding.workspaceId}\n      displayName: example\n      severity: High\n      query: |\n        AzureActivity |\n          where OperationName == \\\"Create or Update Virtual Machine\\\" or OperationName ==\\\"Create Deployment\\\" |\n          where ActivityStatus == \\\"Succeeded\\\" |\n          make-series dcount(ResourceId) default=0 on EventSubmissionTimestamp in range(ago(7d), now(), 1d) by Caller\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.OperationalInsights` - 2023-12-01-preview\n\n## Import\n\nSentinel Scheduled Alert Rules can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:sentinel/alertRuleScheduled:AlertRuleScheduled example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.OperationalInsights/workspaces/workspace1/providers/Microsoft.SecurityInsights/alertRules/rule1\n```\n\n","properties":{"alertDetailsOverrides":{"type":"array","items":{"$ref":"#/types/azure:sentinel/AlertRuleScheduledAlertDetailsOverride:AlertRuleScheduledAlertDetailsOverride"},"description":"An \u003cspan pulumi-lang-nodejs=\"`alertDetailsOverride`\" pulumi-lang-dotnet=\"`AlertDetailsOverride`\" pulumi-lang-go=\"`alertDetailsOverride`\" pulumi-lang-python=\"`alert_details_override`\" pulumi-lang-yaml=\"`alertDetailsOverride`\" pulumi-lang-java=\"`alertDetailsOverride`\"\u003e`alert_details_override`\u003c/span\u003e block as defined below.\n"},"alertRuleTemplateGuid":{"type":"string","description":"The GUID of the alert rule template which is used for this Sentinel Scheduled Alert Rule. Changing this forces a new Sentinel Scheduled Alert Rule to be created.\n"},"alertRuleTemplateVersion":{"type":"string","description":"The version of the alert rule template which is used for this Sentinel Scheduled Alert Rule.\n"},"customDetails":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of string key-value pairs of columns to be attached to this Sentinel Scheduled Alert Rule. The key will appear as the field name in alerts and the value is the event parameter you wish to surface in the alerts.\n"},"description":{"type":"string","description":"The description of this Sentinel Scheduled Alert Rule.\n"},"displayName":{"type":"string","description":"The friendly name of this Sentinel Scheduled Alert Rule.\n"},"enabled":{"type":"boolean","description":"Should the Sentinel Scheduled Alert Rule be enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"entityMappings":{"type":"array","items":{"$ref":"#/types/azure:sentinel/AlertRuleScheduledEntityMapping:AlertRuleScheduledEntityMapping"},"description":"A list of \u003cspan pulumi-lang-nodejs=\"`entityMapping`\" pulumi-lang-dotnet=\"`EntityMapping`\" pulumi-lang-go=\"`entityMapping`\" pulumi-lang-python=\"`entity_mapping`\" pulumi-lang-yaml=\"`entityMapping`\" pulumi-lang-java=\"`entityMapping`\"\u003e`entity_mapping`\u003c/span\u003e blocks as defined below.\n"},"eventGrouping":{"$ref":"#/types/azure:sentinel/AlertRuleScheduledEventGrouping:AlertRuleScheduledEventGrouping","description":"A \u003cspan pulumi-lang-nodejs=\"`eventGrouping`\" pulumi-lang-dotnet=\"`EventGrouping`\" pulumi-lang-go=\"`eventGrouping`\" pulumi-lang-python=\"`event_grouping`\" pulumi-lang-yaml=\"`eventGrouping`\" pulumi-lang-java=\"`eventGrouping`\"\u003e`event_grouping`\u003c/span\u003e block as defined below.\n"},"incident":{"$ref":"#/types/azure:sentinel/AlertRuleScheduledIncident:AlertRuleScheduledIncident","description":"A \u003cspan pulumi-lang-nodejs=\"`incident`\" pulumi-lang-dotnet=\"`Incident`\" pulumi-lang-go=\"`incident`\" pulumi-lang-python=\"`incident`\" pulumi-lang-yaml=\"`incident`\" pulumi-lang-java=\"`incident`\"\u003e`incident`\u003c/span\u003e block as defined below.\n"},"logAnalyticsWorkspaceId":{"type":"string","description":"The ID of the Log Analytics Workspace this Sentinel Scheduled Alert Rule belongs to. Changing this forces a new Sentinel Scheduled Alert Rule to be created.\n"},"name":{"type":"string","description":"The name which should be used for this Sentinel Scheduled Alert Rule. Changing this forces a new Sentinel Scheduled Alert Rule to be created.\n"},"query":{"type":"string","description":"The query of this Sentinel Scheduled Alert Rule.\n"},"queryFrequency":{"type":"string","description":"The ISO 8601 timespan duration between two consecutive queries. Defaults to `PT5H`.\n"},"queryPeriod":{"type":"string","description":"The ISO 8601 timespan duration, which determine the time period of the data covered by the query. For example, it can query the past 10 minutes of data, or the past 6 hours of data. Defaults to `PT5H`.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`queryPeriod`\" pulumi-lang-dotnet=\"`QueryPeriod`\" pulumi-lang-go=\"`queryPeriod`\" pulumi-lang-python=\"`query_period`\" pulumi-lang-yaml=\"`queryPeriod`\" pulumi-lang-java=\"`queryPeriod`\"\u003e`query_period`\u003c/span\u003e must larger than or equal to \u003cspan pulumi-lang-nodejs=\"`queryFrequency`\" pulumi-lang-dotnet=\"`QueryFrequency`\" pulumi-lang-go=\"`queryFrequency`\" pulumi-lang-python=\"`query_frequency`\" pulumi-lang-yaml=\"`queryFrequency`\" pulumi-lang-java=\"`queryFrequency`\"\u003e`query_frequency`\u003c/span\u003e, which ensures there is no gaps in the overall query coverage.\n"},"sentinelEntityMappings":{"type":"array","items":{"$ref":"#/types/azure:sentinel/AlertRuleScheduledSentinelEntityMapping:AlertRuleScheduledSentinelEntityMapping"},"description":"A list of \u003cspan pulumi-lang-nodejs=\"`sentinelEntityMapping`\" pulumi-lang-dotnet=\"`SentinelEntityMapping`\" pulumi-lang-go=\"`sentinelEntityMapping`\" pulumi-lang-python=\"`sentinel_entity_mapping`\" pulumi-lang-yaml=\"`sentinelEntityMapping`\" pulumi-lang-java=\"`sentinelEntityMapping`\"\u003e`sentinel_entity_mapping`\u003c/span\u003e blocks as defined below.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`entityMapping`\" pulumi-lang-dotnet=\"`EntityMapping`\" pulumi-lang-go=\"`entityMapping`\" pulumi-lang-python=\"`entity_mapping`\" pulumi-lang-yaml=\"`entityMapping`\" pulumi-lang-java=\"`entityMapping`\"\u003e`entity_mapping`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`sentinelEntityMapping`\" pulumi-lang-dotnet=\"`SentinelEntityMapping`\" pulumi-lang-go=\"`sentinelEntityMapping`\" pulumi-lang-python=\"`sentinel_entity_mapping`\" pulumi-lang-yaml=\"`sentinelEntityMapping`\" pulumi-lang-java=\"`sentinelEntityMapping`\"\u003e`sentinel_entity_mapping`\u003c/span\u003e together can't exceed 10.\n"},"severity":{"type":"string","description":"The alert severity of this Sentinel Scheduled Alert Rule. Possible values are `High`, `Medium`, `Low` and `Informational`.\n"},"suppressionDuration":{"type":"string","description":"If \u003cspan pulumi-lang-nodejs=\"`suppressionEnabled`\" pulumi-lang-dotnet=\"`SuppressionEnabled`\" pulumi-lang-go=\"`suppressionEnabled`\" pulumi-lang-python=\"`suppression_enabled`\" pulumi-lang-yaml=\"`suppressionEnabled`\" pulumi-lang-java=\"`suppressionEnabled`\"\u003e`suppression_enabled`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, this is ISO 8601 timespan duration, which specifies the amount of time the query should stop running after alert is generated. Defaults to `PT5H`.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`suppressionDuration`\" pulumi-lang-dotnet=\"`SuppressionDuration`\" pulumi-lang-go=\"`suppressionDuration`\" pulumi-lang-python=\"`suppression_duration`\" pulumi-lang-yaml=\"`suppressionDuration`\" pulumi-lang-java=\"`suppressionDuration`\"\u003e`suppression_duration`\u003c/span\u003e must larger than or equal to \u003cspan pulumi-lang-nodejs=\"`queryFrequency`\" pulumi-lang-dotnet=\"`QueryFrequency`\" pulumi-lang-go=\"`queryFrequency`\" pulumi-lang-python=\"`query_frequency`\" pulumi-lang-yaml=\"`queryFrequency`\" pulumi-lang-java=\"`queryFrequency`\"\u003e`query_frequency`\u003c/span\u003e, otherwise the suppression has no actual effect since no query will happen during the suppression duration.\n"},"suppressionEnabled":{"type":"boolean","description":"Should the Sentinel Scheduled Alert Rulea stop running query after alert is generated? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"tactics":{"type":"array","items":{"type":"string"},"description":"A list of categories of attacks by which to classify the rule. Possible values are `Collection`, `CommandAndControl`, `CredentialAccess`, `DefenseEvasion`, `Discovery`, `Execution`, `Exfiltration`, `ImpairProcessControl`, `InhibitResponseFunction`, `Impact`, `InitialAccess`, `LateralMovement`, `Persistence`, `PrivilegeEscalation`, `PreAttack`, `Reconnaissance` and `ResourceDevelopment`.\n"},"techniques":{"type":"array","items":{"type":"string"},"description":"A list of techniques of attacks by which to classify the rule.\n"},"triggerOperator":{"type":"string","description":"The alert trigger operator, combined with \u003cspan pulumi-lang-nodejs=\"`triggerThreshold`\" pulumi-lang-dotnet=\"`TriggerThreshold`\" pulumi-lang-go=\"`triggerThreshold`\" pulumi-lang-python=\"`trigger_threshold`\" pulumi-lang-yaml=\"`triggerThreshold`\" pulumi-lang-java=\"`triggerThreshold`\"\u003e`trigger_threshold`\u003c/span\u003e, setting alert threshold of this Sentinel Scheduled Alert Rule. Possible values are `Equal`, `GreaterThan`, `LessThan`, `NotEqual`. Defaults to `GreaterThan`.\n"},"triggerThreshold":{"type":"integer","description":"The baseline number of query results generated, combined with \u003cspan pulumi-lang-nodejs=\"`triggerOperator`\" pulumi-lang-dotnet=\"`TriggerOperator`\" pulumi-lang-go=\"`triggerOperator`\" pulumi-lang-python=\"`trigger_operator`\" pulumi-lang-yaml=\"`triggerOperator`\" pulumi-lang-java=\"`triggerOperator`\"\u003e`trigger_operator`\u003c/span\u003e, setting alert threshold of this Sentinel Scheduled Alert Rule. Defaults to \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"}},"required":["displayName","incident","logAnalyticsWorkspaceId","name","query","severity"],"inputProperties":{"alertDetailsOverrides":{"type":"array","items":{"$ref":"#/types/azure:sentinel/AlertRuleScheduledAlertDetailsOverride:AlertRuleScheduledAlertDetailsOverride"},"description":"An \u003cspan pulumi-lang-nodejs=\"`alertDetailsOverride`\" pulumi-lang-dotnet=\"`AlertDetailsOverride`\" pulumi-lang-go=\"`alertDetailsOverride`\" pulumi-lang-python=\"`alert_details_override`\" pulumi-lang-yaml=\"`alertDetailsOverride`\" pulumi-lang-java=\"`alertDetailsOverride`\"\u003e`alert_details_override`\u003c/span\u003e block as defined below.\n"},"alertRuleTemplateGuid":{"type":"string","description":"The GUID of the alert rule template which is used for this Sentinel Scheduled Alert Rule. Changing this forces a new Sentinel Scheduled Alert Rule to be created.\n","willReplaceOnChanges":true},"alertRuleTemplateVersion":{"type":"string","description":"The version of the alert rule template which is used for this Sentinel Scheduled Alert Rule.\n"},"customDetails":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of string key-value pairs of columns to be attached to this Sentinel Scheduled Alert Rule. The key will appear as the field name in alerts and the value is the event parameter you wish to surface in the alerts.\n"},"description":{"type":"string","description":"The description of this Sentinel Scheduled Alert Rule.\n"},"displayName":{"type":"string","description":"The friendly name of this Sentinel Scheduled Alert Rule.\n"},"enabled":{"type":"boolean","description":"Should the Sentinel Scheduled Alert Rule be enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"entityMappings":{"type":"array","items":{"$ref":"#/types/azure:sentinel/AlertRuleScheduledEntityMapping:AlertRuleScheduledEntityMapping"},"description":"A list of \u003cspan pulumi-lang-nodejs=\"`entityMapping`\" pulumi-lang-dotnet=\"`EntityMapping`\" pulumi-lang-go=\"`entityMapping`\" pulumi-lang-python=\"`entity_mapping`\" pulumi-lang-yaml=\"`entityMapping`\" pulumi-lang-java=\"`entityMapping`\"\u003e`entity_mapping`\u003c/span\u003e blocks as defined below.\n"},"eventGrouping":{"$ref":"#/types/azure:sentinel/AlertRuleScheduledEventGrouping:AlertRuleScheduledEventGrouping","description":"A \u003cspan pulumi-lang-nodejs=\"`eventGrouping`\" pulumi-lang-dotnet=\"`EventGrouping`\" pulumi-lang-go=\"`eventGrouping`\" pulumi-lang-python=\"`event_grouping`\" pulumi-lang-yaml=\"`eventGrouping`\" pulumi-lang-java=\"`eventGrouping`\"\u003e`event_grouping`\u003c/span\u003e block as defined below.\n"},"incident":{"$ref":"#/types/azure:sentinel/AlertRuleScheduledIncident:AlertRuleScheduledIncident","description":"A \u003cspan pulumi-lang-nodejs=\"`incident`\" pulumi-lang-dotnet=\"`Incident`\" pulumi-lang-go=\"`incident`\" pulumi-lang-python=\"`incident`\" pulumi-lang-yaml=\"`incident`\" pulumi-lang-java=\"`incident`\"\u003e`incident`\u003c/span\u003e block as defined below.\n"},"logAnalyticsWorkspaceId":{"type":"string","description":"The ID of the Log Analytics Workspace this Sentinel Scheduled Alert Rule belongs to. Changing this forces a new Sentinel Scheduled Alert Rule to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Sentinel Scheduled Alert Rule. Changing this forces a new Sentinel Scheduled Alert Rule to be created.\n","willReplaceOnChanges":true},"query":{"type":"string","description":"The query of this Sentinel Scheduled Alert Rule.\n"},"queryFrequency":{"type":"string","description":"The ISO 8601 timespan duration between two consecutive queries. Defaults to `PT5H`.\n"},"queryPeriod":{"type":"string","description":"The ISO 8601 timespan duration, which determine the time period of the data covered by the query. For example, it can query the past 10 minutes of data, or the past 6 hours of data. Defaults to `PT5H`.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`queryPeriod`\" pulumi-lang-dotnet=\"`QueryPeriod`\" pulumi-lang-go=\"`queryPeriod`\" pulumi-lang-python=\"`query_period`\" pulumi-lang-yaml=\"`queryPeriod`\" pulumi-lang-java=\"`queryPeriod`\"\u003e`query_period`\u003c/span\u003e must larger than or equal to \u003cspan pulumi-lang-nodejs=\"`queryFrequency`\" pulumi-lang-dotnet=\"`QueryFrequency`\" pulumi-lang-go=\"`queryFrequency`\" pulumi-lang-python=\"`query_frequency`\" pulumi-lang-yaml=\"`queryFrequency`\" pulumi-lang-java=\"`queryFrequency`\"\u003e`query_frequency`\u003c/span\u003e, which ensures there is no gaps in the overall query coverage.\n"},"sentinelEntityMappings":{"type":"array","items":{"$ref":"#/types/azure:sentinel/AlertRuleScheduledSentinelEntityMapping:AlertRuleScheduledSentinelEntityMapping"},"description":"A list of \u003cspan pulumi-lang-nodejs=\"`sentinelEntityMapping`\" pulumi-lang-dotnet=\"`SentinelEntityMapping`\" pulumi-lang-go=\"`sentinelEntityMapping`\" pulumi-lang-python=\"`sentinel_entity_mapping`\" pulumi-lang-yaml=\"`sentinelEntityMapping`\" pulumi-lang-java=\"`sentinelEntityMapping`\"\u003e`sentinel_entity_mapping`\u003c/span\u003e blocks as defined below.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`entityMapping`\" pulumi-lang-dotnet=\"`EntityMapping`\" pulumi-lang-go=\"`entityMapping`\" pulumi-lang-python=\"`entity_mapping`\" pulumi-lang-yaml=\"`entityMapping`\" pulumi-lang-java=\"`entityMapping`\"\u003e`entity_mapping`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`sentinelEntityMapping`\" pulumi-lang-dotnet=\"`SentinelEntityMapping`\" pulumi-lang-go=\"`sentinelEntityMapping`\" pulumi-lang-python=\"`sentinel_entity_mapping`\" pulumi-lang-yaml=\"`sentinelEntityMapping`\" pulumi-lang-java=\"`sentinelEntityMapping`\"\u003e`sentinel_entity_mapping`\u003c/span\u003e together can't exceed 10.\n"},"severity":{"type":"string","description":"The alert severity of this Sentinel Scheduled Alert Rule. Possible values are `High`, `Medium`, `Low` and `Informational`.\n"},"suppressionDuration":{"type":"string","description":"If \u003cspan pulumi-lang-nodejs=\"`suppressionEnabled`\" pulumi-lang-dotnet=\"`SuppressionEnabled`\" pulumi-lang-go=\"`suppressionEnabled`\" pulumi-lang-python=\"`suppression_enabled`\" pulumi-lang-yaml=\"`suppressionEnabled`\" pulumi-lang-java=\"`suppressionEnabled`\"\u003e`suppression_enabled`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, this is ISO 8601 timespan duration, which specifies the amount of time the query should stop running after alert is generated. Defaults to `PT5H`.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`suppressionDuration`\" pulumi-lang-dotnet=\"`SuppressionDuration`\" pulumi-lang-go=\"`suppressionDuration`\" pulumi-lang-python=\"`suppression_duration`\" pulumi-lang-yaml=\"`suppressionDuration`\" pulumi-lang-java=\"`suppressionDuration`\"\u003e`suppression_duration`\u003c/span\u003e must larger than or equal to \u003cspan pulumi-lang-nodejs=\"`queryFrequency`\" pulumi-lang-dotnet=\"`QueryFrequency`\" pulumi-lang-go=\"`queryFrequency`\" pulumi-lang-python=\"`query_frequency`\" pulumi-lang-yaml=\"`queryFrequency`\" pulumi-lang-java=\"`queryFrequency`\"\u003e`query_frequency`\u003c/span\u003e, otherwise the suppression has no actual effect since no query will happen during the suppression duration.\n"},"suppressionEnabled":{"type":"boolean","description":"Should the Sentinel Scheduled Alert Rulea stop running query after alert is generated? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"tactics":{"type":"array","items":{"type":"string"},"description":"A list of categories of attacks by which to classify the rule. Possible values are `Collection`, `CommandAndControl`, `CredentialAccess`, `DefenseEvasion`, `Discovery`, `Execution`, `Exfiltration`, `ImpairProcessControl`, `InhibitResponseFunction`, `Impact`, `InitialAccess`, `LateralMovement`, `Persistence`, `PrivilegeEscalation`, `PreAttack`, `Reconnaissance` and `ResourceDevelopment`.\n"},"techniques":{"type":"array","items":{"type":"string"},"description":"A list of techniques of attacks by which to classify the rule.\n"},"triggerOperator":{"type":"string","description":"The alert trigger operator, combined with \u003cspan pulumi-lang-nodejs=\"`triggerThreshold`\" pulumi-lang-dotnet=\"`TriggerThreshold`\" pulumi-lang-go=\"`triggerThreshold`\" pulumi-lang-python=\"`trigger_threshold`\" pulumi-lang-yaml=\"`triggerThreshold`\" pulumi-lang-java=\"`triggerThreshold`\"\u003e`trigger_threshold`\u003c/span\u003e, setting alert threshold of this Sentinel Scheduled Alert Rule. Possible values are `Equal`, `GreaterThan`, `LessThan`, `NotEqual`. Defaults to `GreaterThan`.\n"},"triggerThreshold":{"type":"integer","description":"The baseline number of query results generated, combined with \u003cspan pulumi-lang-nodejs=\"`triggerOperator`\" pulumi-lang-dotnet=\"`TriggerOperator`\" pulumi-lang-go=\"`triggerOperator`\" pulumi-lang-python=\"`trigger_operator`\" pulumi-lang-yaml=\"`triggerOperator`\" pulumi-lang-java=\"`triggerOperator`\"\u003e`trigger_operator`\u003c/span\u003e, setting alert threshold of this Sentinel Scheduled Alert Rule. Defaults to \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"}},"requiredInputs":["displayName","logAnalyticsWorkspaceId","query","severity"],"stateInputs":{"description":"Input properties used for looking up and filtering AlertRuleScheduled resources.\n","properties":{"alertDetailsOverrides":{"type":"array","items":{"$ref":"#/types/azure:sentinel/AlertRuleScheduledAlertDetailsOverride:AlertRuleScheduledAlertDetailsOverride"},"description":"An \u003cspan pulumi-lang-nodejs=\"`alertDetailsOverride`\" pulumi-lang-dotnet=\"`AlertDetailsOverride`\" pulumi-lang-go=\"`alertDetailsOverride`\" pulumi-lang-python=\"`alert_details_override`\" pulumi-lang-yaml=\"`alertDetailsOverride`\" pulumi-lang-java=\"`alertDetailsOverride`\"\u003e`alert_details_override`\u003c/span\u003e block as defined below.\n"},"alertRuleTemplateGuid":{"type":"string","description":"The GUID of the alert rule template which is used for this Sentinel Scheduled Alert Rule. Changing this forces a new Sentinel Scheduled Alert Rule to be created.\n","willReplaceOnChanges":true},"alertRuleTemplateVersion":{"type":"string","description":"The version of the alert rule template which is used for this Sentinel Scheduled Alert Rule.\n"},"customDetails":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of string key-value pairs of columns to be attached to this Sentinel Scheduled Alert Rule. The key will appear as the field name in alerts and the value is the event parameter you wish to surface in the alerts.\n"},"description":{"type":"string","description":"The description of this Sentinel Scheduled Alert Rule.\n"},"displayName":{"type":"string","description":"The friendly name of this Sentinel Scheduled Alert Rule.\n"},"enabled":{"type":"boolean","description":"Should the Sentinel Scheduled Alert Rule be enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"entityMappings":{"type":"array","items":{"$ref":"#/types/azure:sentinel/AlertRuleScheduledEntityMapping:AlertRuleScheduledEntityMapping"},"description":"A list of \u003cspan pulumi-lang-nodejs=\"`entityMapping`\" pulumi-lang-dotnet=\"`EntityMapping`\" pulumi-lang-go=\"`entityMapping`\" pulumi-lang-python=\"`entity_mapping`\" pulumi-lang-yaml=\"`entityMapping`\" pulumi-lang-java=\"`entityMapping`\"\u003e`entity_mapping`\u003c/span\u003e blocks as defined below.\n"},"eventGrouping":{"$ref":"#/types/azure:sentinel/AlertRuleScheduledEventGrouping:AlertRuleScheduledEventGrouping","description":"A \u003cspan pulumi-lang-nodejs=\"`eventGrouping`\" pulumi-lang-dotnet=\"`EventGrouping`\" pulumi-lang-go=\"`eventGrouping`\" pulumi-lang-python=\"`event_grouping`\" pulumi-lang-yaml=\"`eventGrouping`\" pulumi-lang-java=\"`eventGrouping`\"\u003e`event_grouping`\u003c/span\u003e block as defined below.\n"},"incident":{"$ref":"#/types/azure:sentinel/AlertRuleScheduledIncident:AlertRuleScheduledIncident","description":"A \u003cspan pulumi-lang-nodejs=\"`incident`\" pulumi-lang-dotnet=\"`Incident`\" pulumi-lang-go=\"`incident`\" pulumi-lang-python=\"`incident`\" pulumi-lang-yaml=\"`incident`\" pulumi-lang-java=\"`incident`\"\u003e`incident`\u003c/span\u003e block as defined below.\n"},"logAnalyticsWorkspaceId":{"type":"string","description":"The ID of the Log Analytics Workspace this Sentinel Scheduled Alert Rule belongs to. Changing this forces a new Sentinel Scheduled Alert Rule to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Sentinel Scheduled Alert Rule. Changing this forces a new Sentinel Scheduled Alert Rule to be created.\n","willReplaceOnChanges":true},"query":{"type":"string","description":"The query of this Sentinel Scheduled Alert Rule.\n"},"queryFrequency":{"type":"string","description":"The ISO 8601 timespan duration between two consecutive queries. Defaults to `PT5H`.\n"},"queryPeriod":{"type":"string","description":"The ISO 8601 timespan duration, which determine the time period of the data covered by the query. For example, it can query the past 10 minutes of data, or the past 6 hours of data. Defaults to `PT5H`.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`queryPeriod`\" pulumi-lang-dotnet=\"`QueryPeriod`\" pulumi-lang-go=\"`queryPeriod`\" pulumi-lang-python=\"`query_period`\" pulumi-lang-yaml=\"`queryPeriod`\" pulumi-lang-java=\"`queryPeriod`\"\u003e`query_period`\u003c/span\u003e must larger than or equal to \u003cspan pulumi-lang-nodejs=\"`queryFrequency`\" pulumi-lang-dotnet=\"`QueryFrequency`\" pulumi-lang-go=\"`queryFrequency`\" pulumi-lang-python=\"`query_frequency`\" pulumi-lang-yaml=\"`queryFrequency`\" pulumi-lang-java=\"`queryFrequency`\"\u003e`query_frequency`\u003c/span\u003e, which ensures there is no gaps in the overall query coverage.\n"},"sentinelEntityMappings":{"type":"array","items":{"$ref":"#/types/azure:sentinel/AlertRuleScheduledSentinelEntityMapping:AlertRuleScheduledSentinelEntityMapping"},"description":"A list of \u003cspan pulumi-lang-nodejs=\"`sentinelEntityMapping`\" pulumi-lang-dotnet=\"`SentinelEntityMapping`\" pulumi-lang-go=\"`sentinelEntityMapping`\" pulumi-lang-python=\"`sentinel_entity_mapping`\" pulumi-lang-yaml=\"`sentinelEntityMapping`\" pulumi-lang-java=\"`sentinelEntityMapping`\"\u003e`sentinel_entity_mapping`\u003c/span\u003e blocks as defined below.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`entityMapping`\" pulumi-lang-dotnet=\"`EntityMapping`\" pulumi-lang-go=\"`entityMapping`\" pulumi-lang-python=\"`entity_mapping`\" pulumi-lang-yaml=\"`entityMapping`\" pulumi-lang-java=\"`entityMapping`\"\u003e`entity_mapping`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`sentinelEntityMapping`\" pulumi-lang-dotnet=\"`SentinelEntityMapping`\" pulumi-lang-go=\"`sentinelEntityMapping`\" pulumi-lang-python=\"`sentinel_entity_mapping`\" pulumi-lang-yaml=\"`sentinelEntityMapping`\" pulumi-lang-java=\"`sentinelEntityMapping`\"\u003e`sentinel_entity_mapping`\u003c/span\u003e together can't exceed 10.\n"},"severity":{"type":"string","description":"The alert severity of this Sentinel Scheduled Alert Rule. Possible values are `High`, `Medium`, `Low` and `Informational`.\n"},"suppressionDuration":{"type":"string","description":"If \u003cspan pulumi-lang-nodejs=\"`suppressionEnabled`\" pulumi-lang-dotnet=\"`SuppressionEnabled`\" pulumi-lang-go=\"`suppressionEnabled`\" pulumi-lang-python=\"`suppression_enabled`\" pulumi-lang-yaml=\"`suppressionEnabled`\" pulumi-lang-java=\"`suppressionEnabled`\"\u003e`suppression_enabled`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, this is ISO 8601 timespan duration, which specifies the amount of time the query should stop running after alert is generated. Defaults to `PT5H`.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`suppressionDuration`\" pulumi-lang-dotnet=\"`SuppressionDuration`\" pulumi-lang-go=\"`suppressionDuration`\" pulumi-lang-python=\"`suppression_duration`\" pulumi-lang-yaml=\"`suppressionDuration`\" pulumi-lang-java=\"`suppressionDuration`\"\u003e`suppression_duration`\u003c/span\u003e must larger than or equal to \u003cspan pulumi-lang-nodejs=\"`queryFrequency`\" pulumi-lang-dotnet=\"`QueryFrequency`\" pulumi-lang-go=\"`queryFrequency`\" pulumi-lang-python=\"`query_frequency`\" pulumi-lang-yaml=\"`queryFrequency`\" pulumi-lang-java=\"`queryFrequency`\"\u003e`query_frequency`\u003c/span\u003e, otherwise the suppression has no actual effect since no query will happen during the suppression duration.\n"},"suppressionEnabled":{"type":"boolean","description":"Should the Sentinel Scheduled Alert Rulea stop running query after alert is generated? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"tactics":{"type":"array","items":{"type":"string"},"description":"A list of categories of attacks by which to classify the rule. Possible values are `Collection`, `CommandAndControl`, `CredentialAccess`, `DefenseEvasion`, `Discovery`, `Execution`, `Exfiltration`, `ImpairProcessControl`, `InhibitResponseFunction`, `Impact`, `InitialAccess`, `LateralMovement`, `Persistence`, `PrivilegeEscalation`, `PreAttack`, `Reconnaissance` and `ResourceDevelopment`.\n"},"techniques":{"type":"array","items":{"type":"string"},"description":"A list of techniques of attacks by which to classify the rule.\n"},"triggerOperator":{"type":"string","description":"The alert trigger operator, combined with \u003cspan pulumi-lang-nodejs=\"`triggerThreshold`\" pulumi-lang-dotnet=\"`TriggerThreshold`\" pulumi-lang-go=\"`triggerThreshold`\" pulumi-lang-python=\"`trigger_threshold`\" pulumi-lang-yaml=\"`triggerThreshold`\" pulumi-lang-java=\"`triggerThreshold`\"\u003e`trigger_threshold`\u003c/span\u003e, setting alert threshold of this Sentinel Scheduled Alert Rule. Possible values are `Equal`, `GreaterThan`, `LessThan`, `NotEqual`. Defaults to `GreaterThan`.\n"},"triggerThreshold":{"type":"integer","description":"The baseline number of query results generated, combined with \u003cspan pulumi-lang-nodejs=\"`triggerOperator`\" pulumi-lang-dotnet=\"`TriggerOperator`\" pulumi-lang-go=\"`triggerOperator`\" pulumi-lang-python=\"`trigger_operator`\" pulumi-lang-yaml=\"`triggerOperator`\" pulumi-lang-java=\"`triggerOperator`\"\u003e`trigger_operator`\u003c/span\u003e, setting alert threshold of this Sentinel Scheduled Alert Rule. Defaults to \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"}},"type":"object"}},"azure:sentinel/alertRuleThreatIntelligence:AlertRuleThreatIntelligence":{"description":"Manages a Sentinel Threat Intelligence Alert Rule.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleAnalyticsWorkspace = new azure.operationalinsights.AnalyticsWorkspace(\"example\", {\n    name: \"example-workspace\",\n    location: exampleResourceGroup.location,\n    resourceGroupName: exampleResourceGroup.name,\n    sku: \"pergb2018\",\n});\nconst exampleAnalyticsSolution = new azure.operationalinsights.AnalyticsSolution(\"example\", {\n    solutionName: \"SecurityInsights\",\n    location: exampleResourceGroup.location,\n    resourceGroupName: exampleResourceGroup.name,\n    workspaceResourceId: exampleAnalyticsWorkspace.id,\n    workspaceName: exampleAnalyticsWorkspace.name,\n    plan: {\n        publisher: \"Microsoft\",\n        product: \"OMSGallery/SecurityInsights\",\n    },\n});\nconst example = azure.sentinel.getAlertRuleTemplateOutput({\n    displayName: \"(Preview) Microsoft Defender Threat Intelligence Analytics\",\n    logAnalyticsWorkspaceId: exampleAnalyticsSolution.workspaceResourceId,\n});\nconst exampleAlertRuleThreatIntelligence = new azure.sentinel.AlertRuleThreatIntelligence(\"example\", {\n    name: \"example-rule\",\n    logAnalyticsWorkspaceId: exampleAnalyticsSolution.workspaceResourceId,\n    alertRuleTemplateGuid: example.apply(example =\u003e example.name),\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_analytics_workspace = azure.operationalinsights.AnalyticsWorkspace(\"example\",\n    name=\"example-workspace\",\n    location=example_resource_group.location,\n    resource_group_name=example_resource_group.name,\n    sku=\"pergb2018\")\nexample_analytics_solution = azure.operationalinsights.AnalyticsSolution(\"example\",\n    solution_name=\"SecurityInsights\",\n    location=example_resource_group.location,\n    resource_group_name=example_resource_group.name,\n    workspace_resource_id=example_analytics_workspace.id,\n    workspace_name=example_analytics_workspace.name,\n    plan={\n        \"publisher\": \"Microsoft\",\n        \"product\": \"OMSGallery/SecurityInsights\",\n    })\nexample = azure.sentinel.get_alert_rule_template_output(display_name=\"(Preview) Microsoft Defender Threat Intelligence Analytics\",\n    log_analytics_workspace_id=example_analytics_solution.workspace_resource_id)\nexample_alert_rule_threat_intelligence = azure.sentinel.AlertRuleThreatIntelligence(\"example\",\n    name=\"example-rule\",\n    log_analytics_workspace_id=example_analytics_solution.workspace_resource_id,\n    alert_rule_template_guid=example.name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleResourceGroup = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleAnalyticsWorkspace = new Azure.OperationalInsights.AnalyticsWorkspace(\"example\", new()\n    {\n        Name = \"example-workspace\",\n        Location = exampleResourceGroup.Location,\n        ResourceGroupName = exampleResourceGroup.Name,\n        Sku = \"pergb2018\",\n    });\n\n    var exampleAnalyticsSolution = new Azure.OperationalInsights.AnalyticsSolution(\"example\", new()\n    {\n        SolutionName = \"SecurityInsights\",\n        Location = exampleResourceGroup.Location,\n        ResourceGroupName = exampleResourceGroup.Name,\n        WorkspaceResourceId = exampleAnalyticsWorkspace.Id,\n        WorkspaceName = exampleAnalyticsWorkspace.Name,\n        Plan = new Azure.OperationalInsights.Inputs.AnalyticsSolutionPlanArgs\n        {\n            Publisher = \"Microsoft\",\n            Product = \"OMSGallery/SecurityInsights\",\n        },\n    });\n\n    var example = Azure.Sentinel.GetAlertRuleTemplate.Invoke(new()\n    {\n        DisplayName = \"(Preview) Microsoft Defender Threat Intelligence Analytics\",\n        LogAnalyticsWorkspaceId = exampleAnalyticsSolution.WorkspaceResourceId,\n    });\n\n    var exampleAlertRuleThreatIntelligence = new Azure.Sentinel.AlertRuleThreatIntelligence(\"example\", new()\n    {\n        Name = \"example-rule\",\n        LogAnalyticsWorkspaceId = exampleAnalyticsSolution.WorkspaceResourceId,\n        AlertRuleTemplateGuid = example.Apply(getAlertRuleTemplateResult =\u003e getAlertRuleTemplateResult.Name),\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/operationalinsights\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/sentinel\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAnalyticsWorkspace, err := operationalinsights.NewAnalyticsWorkspace(ctx, \"example\", \u0026operationalinsights.AnalyticsWorkspaceArgs{\n\t\t\tName:              pulumi.String(\"example-workspace\"),\n\t\t\tLocation:          exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tSku:               pulumi.String(\"pergb2018\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAnalyticsSolution, err := operationalinsights.NewAnalyticsSolution(ctx, \"example\", \u0026operationalinsights.AnalyticsSolutionArgs{\n\t\t\tSolutionName:        pulumi.String(\"SecurityInsights\"),\n\t\t\tLocation:            exampleResourceGroup.Location,\n\t\t\tResourceGroupName:   exampleResourceGroup.Name,\n\t\t\tWorkspaceResourceId: exampleAnalyticsWorkspace.ID(),\n\t\t\tWorkspaceName:       exampleAnalyticsWorkspace.Name,\n\t\t\tPlan: \u0026operationalinsights.AnalyticsSolutionPlanArgs{\n\t\t\t\tPublisher: pulumi.String(\"Microsoft\"),\n\t\t\t\tProduct:   pulumi.String(\"OMSGallery/SecurityInsights\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample := sentinel.GetAlertRuleTemplateOutput(ctx, sentinel.GetAlertRuleTemplateOutputArgs{\n\t\t\tDisplayName:             pulumi.String(\"(Preview) Microsoft Defender Threat Intelligence Analytics\"),\n\t\t\tLogAnalyticsWorkspaceId: exampleAnalyticsSolution.WorkspaceResourceId,\n\t\t}, nil)\n\t\t_, err = sentinel.NewAlertRuleThreatIntelligence(ctx, \"example\", \u0026sentinel.AlertRuleThreatIntelligenceArgs{\n\t\t\tName:                    pulumi.String(\"example-rule\"),\n\t\t\tLogAnalyticsWorkspaceId: exampleAnalyticsSolution.WorkspaceResourceId,\n\t\t\tAlertRuleTemplateGuid: pulumi.String(example.ApplyT(func(example sentinel.GetAlertRuleTemplateResult) (*string, error) {\n\t\t\t\treturn \u0026example.Name, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.operationalinsights.AnalyticsWorkspace;\nimport com.pulumi.azure.operationalinsights.AnalyticsWorkspaceArgs;\nimport com.pulumi.azure.operationalinsights.AnalyticsSolution;\nimport com.pulumi.azure.operationalinsights.AnalyticsSolutionArgs;\nimport com.pulumi.azure.operationalinsights.inputs.AnalyticsSolutionPlanArgs;\nimport com.pulumi.azure.sentinel.SentinelFunctions;\nimport com.pulumi.azure.sentinel.inputs.GetAlertRuleTemplateArgs;\nimport com.pulumi.azure.sentinel.AlertRuleThreatIntelligence;\nimport com.pulumi.azure.sentinel.AlertRuleThreatIntelligenceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var exampleResourceGroup = new ResourceGroup(\"exampleResourceGroup\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleAnalyticsWorkspace = new AnalyticsWorkspace(\"exampleAnalyticsWorkspace\", AnalyticsWorkspaceArgs.builder()\n            .name(\"example-workspace\")\n            .location(exampleResourceGroup.location())\n            .resourceGroupName(exampleResourceGroup.name())\n            .sku(\"pergb2018\")\n            .build());\n\n        var exampleAnalyticsSolution = new AnalyticsSolution(\"exampleAnalyticsSolution\", AnalyticsSolutionArgs.builder()\n            .solutionName(\"SecurityInsights\")\n            .location(exampleResourceGroup.location())\n            .resourceGroupName(exampleResourceGroup.name())\n            .workspaceResourceId(exampleAnalyticsWorkspace.id())\n            .workspaceName(exampleAnalyticsWorkspace.name())\n            .plan(AnalyticsSolutionPlanArgs.builder()\n                .publisher(\"Microsoft\")\n                .product(\"OMSGallery/SecurityInsights\")\n                .build())\n            .build());\n\n        final var example = SentinelFunctions.getAlertRuleTemplate(GetAlertRuleTemplateArgs.builder()\n            .displayName(\"(Preview) Microsoft Defender Threat Intelligence Analytics\")\n            .logAnalyticsWorkspaceId(exampleAnalyticsSolution.workspaceResourceId())\n            .build());\n\n        var exampleAlertRuleThreatIntelligence = new AlertRuleThreatIntelligence(\"exampleAlertRuleThreatIntelligence\", AlertRuleThreatIntelligenceArgs.builder()\n            .name(\"example-rule\")\n            .logAnalyticsWorkspaceId(exampleAnalyticsSolution.workspaceResourceId())\n            .alertRuleTemplateGuid(example.applyValue(_example -\u003e _example.name()))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleResourceGroup:\n    type: azure:core:ResourceGroup\n    name: example\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleAnalyticsWorkspace:\n    type: azure:operationalinsights:AnalyticsWorkspace\n    name: example\n    properties:\n      name: example-workspace\n      location: ${exampleResourceGroup.location}\n      resourceGroupName: ${exampleResourceGroup.name}\n      sku: pergb2018\n  exampleAnalyticsSolution:\n    type: azure:operationalinsights:AnalyticsSolution\n    name: example\n    properties:\n      solutionName: SecurityInsights\n      location: ${exampleResourceGroup.location}\n      resourceGroupName: ${exampleResourceGroup.name}\n      workspaceResourceId: ${exampleAnalyticsWorkspace.id}\n      workspaceName: ${exampleAnalyticsWorkspace.name}\n      plan:\n        publisher: Microsoft\n        product: OMSGallery/SecurityInsights\n  exampleAlertRuleThreatIntelligence:\n    type: azure:sentinel:AlertRuleThreatIntelligence\n    name: example\n    properties:\n      name: example-rule\n      logAnalyticsWorkspaceId: ${exampleAnalyticsSolution.workspaceResourceId}\n      alertRuleTemplateGuid: ${example.name}\nvariables:\n  example:\n    fn::invoke:\n      function: azure:sentinel:getAlertRuleTemplate\n      arguments:\n        displayName: (Preview) Microsoft Defender Threat Intelligence Analytics\n        logAnalyticsWorkspaceId: ${exampleAnalyticsSolution.workspaceResourceId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.OperationalInsights` - 2023-12-01-preview\n\n## Import\n\nSentinel Threat Intelligence Alert Rules can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:sentinel/alertRuleThreatIntelligence:AlertRuleThreatIntelligence example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.OperationalInsights/workspaces/workspace1/providers/Microsoft.SecurityInsights/alertRules/rule1\n```\n\n","properties":{"alertRuleTemplateGuid":{"type":"string","description":"The GUID of the alert rule template which is used for this Sentinel Threat Intelligence Alert Rule. Changing this forces a new Sentinel Threat Intelligence Alert Rule to be created.\n"},"enabled":{"type":"boolean","description":"Whether the Threat Intelligence Alert rule enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"logAnalyticsWorkspaceId":{"type":"string","description":"The ID of the Log Analytics Workspace this Sentinel Threat Intelligence Alert Rule belongs to. Changing this forces a new Sentinel Threat Intelligence Alert Rule to be created.\n"},"name":{"type":"string","description":"The name which should be used for this Sentinel Threat Intelligence Alert Rule. Changing this forces a new Sentinel Threat Intelligence Alert Rule to be created.\n"}},"required":["alertRuleTemplateGuid","logAnalyticsWorkspaceId","name"],"inputProperties":{"alertRuleTemplateGuid":{"type":"string","description":"The GUID of the alert rule template which is used for this Sentinel Threat Intelligence Alert Rule. Changing this forces a new Sentinel Threat Intelligence Alert Rule to be created.\n","willReplaceOnChanges":true},"enabled":{"type":"boolean","description":"Whether the Threat Intelligence Alert rule enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"logAnalyticsWorkspaceId":{"type":"string","description":"The ID of the Log Analytics Workspace this Sentinel Threat Intelligence Alert Rule belongs to. Changing this forces a new Sentinel Threat Intelligence Alert Rule to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Sentinel Threat Intelligence Alert Rule. Changing this forces a new Sentinel Threat Intelligence Alert Rule to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["alertRuleTemplateGuid","logAnalyticsWorkspaceId"],"stateInputs":{"description":"Input properties used for looking up and filtering AlertRuleThreatIntelligence resources.\n","properties":{"alertRuleTemplateGuid":{"type":"string","description":"The GUID of the alert rule template which is used for this Sentinel Threat Intelligence Alert Rule. Changing this forces a new Sentinel Threat Intelligence Alert Rule to be created.\n","willReplaceOnChanges":true},"enabled":{"type":"boolean","description":"Whether the Threat Intelligence Alert rule enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"logAnalyticsWorkspaceId":{"type":"string","description":"The ID of the Log Analytics Workspace this Sentinel Threat Intelligence Alert Rule belongs to. Changing this forces a new Sentinel Threat Intelligence Alert Rule to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Sentinel Threat Intelligence Alert Rule. Changing this forces a new Sentinel Threat Intelligence Alert Rule to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:sentinel/authomationRule:AuthomationRule":{"description":"Manages a Sentinel Automation Rule.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-rg\",\n    location: \"west europe\",\n});\nconst exampleAnalyticsWorkspace = new azure.operationalinsights.AnalyticsWorkspace(\"example\", {\n    name: \"example-workspace\",\n    location: example.location,\n    resourceGroupName: example.name,\n    sku: \"PerGB2018\",\n});\nconst exampleLogAnalyticsWorkspaceOnboarding = new azure.sentinel.LogAnalyticsWorkspaceOnboarding(\"example\", {workspaceId: exampleAnalyticsWorkspace.id});\nconst exampleAutomationRule = new azure.sentinel.AutomationRule(\"example\", {\n    name: \"56094f72-ac3f-40e7-a0c0-47bd95f70336\",\n    logAnalyticsWorkspaceId: exampleLogAnalyticsWorkspaceOnboarding.workspaceId,\n    displayName: \"automation_rule1\",\n    order: 1,\n    actionIncidents: [{\n        order: 1,\n        status: \"Active\",\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-rg\",\n    location=\"west europe\")\nexample_analytics_workspace = azure.operationalinsights.AnalyticsWorkspace(\"example\",\n    name=\"example-workspace\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku=\"PerGB2018\")\nexample_log_analytics_workspace_onboarding = azure.sentinel.LogAnalyticsWorkspaceOnboarding(\"example\", workspace_id=example_analytics_workspace.id)\nexample_automation_rule = azure.sentinel.AutomationRule(\"example\",\n    name=\"56094f72-ac3f-40e7-a0c0-47bd95f70336\",\n    log_analytics_workspace_id=example_log_analytics_workspace_onboarding.workspace_id,\n    display_name=\"automation_rule1\",\n    order=1,\n    action_incidents=[{\n        \"order\": 1,\n        \"status\": \"Active\",\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-rg\",\n        Location = \"west europe\",\n    });\n\n    var exampleAnalyticsWorkspace = new Azure.OperationalInsights.AnalyticsWorkspace(\"example\", new()\n    {\n        Name = \"example-workspace\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Sku = \"PerGB2018\",\n    });\n\n    var exampleLogAnalyticsWorkspaceOnboarding = new Azure.Sentinel.LogAnalyticsWorkspaceOnboarding(\"example\", new()\n    {\n        WorkspaceId = exampleAnalyticsWorkspace.Id,\n    });\n\n    var exampleAutomationRule = new Azure.Sentinel.AutomationRule(\"example\", new()\n    {\n        Name = \"56094f72-ac3f-40e7-a0c0-47bd95f70336\",\n        LogAnalyticsWorkspaceId = exampleLogAnalyticsWorkspaceOnboarding.WorkspaceId,\n        DisplayName = \"automation_rule1\",\n        Order = 1,\n        ActionIncidents = new[]\n        {\n            new Azure.Sentinel.Inputs.AutomationRuleActionIncidentArgs\n            {\n                Order = 1,\n                Status = \"Active\",\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/operationalinsights\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/sentinel\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-rg\"),\n\t\t\tLocation: pulumi.String(\"west europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAnalyticsWorkspace, err := operationalinsights.NewAnalyticsWorkspace(ctx, \"example\", \u0026operationalinsights.AnalyticsWorkspaceArgs{\n\t\t\tName:              pulumi.String(\"example-workspace\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSku:               pulumi.String(\"PerGB2018\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleLogAnalyticsWorkspaceOnboarding, err := sentinel.NewLogAnalyticsWorkspaceOnboarding(ctx, \"example\", \u0026sentinel.LogAnalyticsWorkspaceOnboardingArgs{\n\t\t\tWorkspaceId: exampleAnalyticsWorkspace.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = sentinel.NewAutomationRule(ctx, \"example\", \u0026sentinel.AutomationRuleArgs{\n\t\t\tName:                    pulumi.String(\"56094f72-ac3f-40e7-a0c0-47bd95f70336\"),\n\t\t\tLogAnalyticsWorkspaceId: exampleLogAnalyticsWorkspaceOnboarding.WorkspaceId,\n\t\t\tDisplayName:             pulumi.String(\"automation_rule1\"),\n\t\t\tOrder:                   pulumi.Int(1),\n\t\t\tActionIncidents: sentinel.AutomationRuleActionIncidentArray{\n\t\t\t\t\u0026sentinel.AutomationRuleActionIncidentArgs{\n\t\t\t\t\tOrder:  pulumi.Int(1),\n\t\t\t\t\tStatus: pulumi.String(\"Active\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.operationalinsights.AnalyticsWorkspace;\nimport com.pulumi.azure.operationalinsights.AnalyticsWorkspaceArgs;\nimport com.pulumi.azure.sentinel.LogAnalyticsWorkspaceOnboarding;\nimport com.pulumi.azure.sentinel.LogAnalyticsWorkspaceOnboardingArgs;\nimport com.pulumi.azure.sentinel.AutomationRule;\nimport com.pulumi.azure.sentinel.AutomationRuleArgs;\nimport com.pulumi.azure.sentinel.inputs.AutomationRuleActionIncidentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-rg\")\n            .location(\"west europe\")\n            .build());\n\n        var exampleAnalyticsWorkspace = new AnalyticsWorkspace(\"exampleAnalyticsWorkspace\", AnalyticsWorkspaceArgs.builder()\n            .name(\"example-workspace\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .sku(\"PerGB2018\")\n            .build());\n\n        var exampleLogAnalyticsWorkspaceOnboarding = new LogAnalyticsWorkspaceOnboarding(\"exampleLogAnalyticsWorkspaceOnboarding\", LogAnalyticsWorkspaceOnboardingArgs.builder()\n            .workspaceId(exampleAnalyticsWorkspace.id())\n            .build());\n\n        var exampleAutomationRule = new AutomationRule(\"exampleAutomationRule\", AutomationRuleArgs.builder()\n            .name(\"56094f72-ac3f-40e7-a0c0-47bd95f70336\")\n            .logAnalyticsWorkspaceId(exampleLogAnalyticsWorkspaceOnboarding.workspaceId())\n            .displayName(\"automation_rule1\")\n            .order(1)\n            .actionIncidents(AutomationRuleActionIncidentArgs.builder()\n                .order(1)\n                .status(\"Active\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-rg\n      location: west europe\n  exampleAnalyticsWorkspace:\n    type: azure:operationalinsights:AnalyticsWorkspace\n    name: example\n    properties:\n      name: example-workspace\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      sku: PerGB2018\n  exampleLogAnalyticsWorkspaceOnboarding:\n    type: azure:sentinel:LogAnalyticsWorkspaceOnboarding\n    name: example\n    properties:\n      workspaceId: ${exampleAnalyticsWorkspace.id}\n  exampleAutomationRule:\n    type: azure:sentinel:AutomationRule\n    name: example\n    properties:\n      name: 56094f72-ac3f-40e7-a0c0-47bd95f70336\n      logAnalyticsWorkspaceId: ${exampleLogAnalyticsWorkspaceOnboarding.workspaceId}\n      displayName: automation_rule1\n      order: 1\n      actionIncidents:\n        - order: 1\n          status: Active\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.OperationalInsights` - 2024-09-01\n\n## Import\n\nSentinel Automation Rules can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:sentinel/authomationRule:AuthomationRule example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.OperationalInsights/workspaces/workspace1/providers/Microsoft.SecurityInsights/automationRules/rule1\n```\n\n","properties":{"actionIncidentTasks":{"type":"array","items":{"$ref":"#/types/azure:sentinel/AuthomationRuleActionIncidentTask:AuthomationRuleActionIncidentTask"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`actionIncidentTask`\" pulumi-lang-dotnet=\"`ActionIncidentTask`\" pulumi-lang-go=\"`actionIncidentTask`\" pulumi-lang-python=\"`action_incident_task`\" pulumi-lang-yaml=\"`actionIncidentTask`\" pulumi-lang-java=\"`actionIncidentTask`\"\u003e`action_incident_task`\u003c/span\u003e blocks as defined below.\n"},"actionIncidents":{"type":"array","items":{"$ref":"#/types/azure:sentinel/AuthomationRuleActionIncident:AuthomationRuleActionIncident"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`actionIncident`\" pulumi-lang-dotnet=\"`ActionIncident`\" pulumi-lang-go=\"`actionIncident`\" pulumi-lang-python=\"`action_incident`\" pulumi-lang-yaml=\"`actionIncident`\" pulumi-lang-java=\"`actionIncident`\"\u003e`action_incident`\u003c/span\u003e blocks as defined below.\n"},"actionPlaybooks":{"type":"array","items":{"$ref":"#/types/azure:sentinel/AuthomationRuleActionPlaybook:AuthomationRuleActionPlaybook"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`actionPlaybook`\" pulumi-lang-dotnet=\"`ActionPlaybook`\" pulumi-lang-go=\"`actionPlaybook`\" pulumi-lang-python=\"`action_playbook`\" pulumi-lang-yaml=\"`actionPlaybook`\" pulumi-lang-java=\"`actionPlaybook`\"\u003e`action_playbook`\u003c/span\u003e blocks as defined below.\n\n\u003e **Note:** Either one \u003cspan pulumi-lang-nodejs=\"`actionIncident`\" pulumi-lang-dotnet=\"`ActionIncident`\" pulumi-lang-go=\"`actionIncident`\" pulumi-lang-python=\"`action_incident`\" pulumi-lang-yaml=\"`actionIncident`\" pulumi-lang-java=\"`actionIncident`\"\u003e`action_incident`\u003c/span\u003e block or \u003cspan pulumi-lang-nodejs=\"`actionPlaybook`\" pulumi-lang-dotnet=\"`ActionPlaybook`\" pulumi-lang-go=\"`actionPlaybook`\" pulumi-lang-python=\"`action_playbook`\" pulumi-lang-yaml=\"`actionPlaybook`\" pulumi-lang-java=\"`actionPlaybook`\"\u003e`action_playbook`\u003c/span\u003e block has to be specified.\n"},"conditionJson":{"type":"string","description":"A JSON array of one or more condition JSON objects as is defined [here](https://learn.microsoft.com/en-us/rest/api/securityinsights/preview/automation-rules/create-or-update?tabs=HTTP#automationruletriggeringlogic).\n"},"displayName":{"type":"string","description":"The display name which should be used for this Sentinel Automation Rule.\n"},"enabled":{"type":"boolean","description":"Whether this Sentinel Automation Rule is enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"expiration":{"type":"string","description":"The time in RFC3339 format of kind `UTC` that determines when this Automation Rule should expire and be disabled.\n"},"logAnalyticsWorkspaceId":{"type":"string","description":"The ID of the Log Analytics Workspace where this Sentinel applies to. Changing this forces a new Sentinel Automation Rule to be created.\n"},"name":{"type":"string","description":"The UUID which should be used for this Sentinel Automation Rule. Changing this forces a new Sentinel Automation Rule to be created.\n"},"order":{"type":"integer","description":"The order of this Sentinel Automation Rule. Possible values varies between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`1000`\" pulumi-lang-dotnet=\"`1000`\" pulumi-lang-go=\"`1000`\" pulumi-lang-python=\"`1000`\" pulumi-lang-yaml=\"`1000`\" pulumi-lang-java=\"`1000`\"\u003e`1000`\u003c/span\u003e.\n"},"triggersOn":{"type":"string","description":"Specifies what triggers this automation rule. Possible values are `Alerts` and `Incidents`. Defaults to `Incidents`.\n"},"triggersWhen":{"type":"string","description":"Specifies when will this automation rule be triggered. Possible values are `Created` and `Updated`. Defaults to `Created`.\n"}},"required":["displayName","logAnalyticsWorkspaceId","name","order"],"inputProperties":{"actionIncidentTasks":{"type":"array","items":{"$ref":"#/types/azure:sentinel/AuthomationRuleActionIncidentTask:AuthomationRuleActionIncidentTask"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`actionIncidentTask`\" pulumi-lang-dotnet=\"`ActionIncidentTask`\" pulumi-lang-go=\"`actionIncidentTask`\" pulumi-lang-python=\"`action_incident_task`\" pulumi-lang-yaml=\"`actionIncidentTask`\" pulumi-lang-java=\"`actionIncidentTask`\"\u003e`action_incident_task`\u003c/span\u003e blocks as defined below.\n"},"actionIncidents":{"type":"array","items":{"$ref":"#/types/azure:sentinel/AuthomationRuleActionIncident:AuthomationRuleActionIncident"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`actionIncident`\" pulumi-lang-dotnet=\"`ActionIncident`\" pulumi-lang-go=\"`actionIncident`\" pulumi-lang-python=\"`action_incident`\" pulumi-lang-yaml=\"`actionIncident`\" pulumi-lang-java=\"`actionIncident`\"\u003e`action_incident`\u003c/span\u003e blocks as defined below.\n"},"actionPlaybooks":{"type":"array","items":{"$ref":"#/types/azure:sentinel/AuthomationRuleActionPlaybook:AuthomationRuleActionPlaybook"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`actionPlaybook`\" pulumi-lang-dotnet=\"`ActionPlaybook`\" pulumi-lang-go=\"`actionPlaybook`\" pulumi-lang-python=\"`action_playbook`\" pulumi-lang-yaml=\"`actionPlaybook`\" pulumi-lang-java=\"`actionPlaybook`\"\u003e`action_playbook`\u003c/span\u003e blocks as defined below.\n\n\u003e **Note:** Either one \u003cspan pulumi-lang-nodejs=\"`actionIncident`\" pulumi-lang-dotnet=\"`ActionIncident`\" pulumi-lang-go=\"`actionIncident`\" pulumi-lang-python=\"`action_incident`\" pulumi-lang-yaml=\"`actionIncident`\" pulumi-lang-java=\"`actionIncident`\"\u003e`action_incident`\u003c/span\u003e block or \u003cspan pulumi-lang-nodejs=\"`actionPlaybook`\" pulumi-lang-dotnet=\"`ActionPlaybook`\" pulumi-lang-go=\"`actionPlaybook`\" pulumi-lang-python=\"`action_playbook`\" pulumi-lang-yaml=\"`actionPlaybook`\" pulumi-lang-java=\"`actionPlaybook`\"\u003e`action_playbook`\u003c/span\u003e block has to be specified.\n"},"conditionJson":{"type":"string","description":"A JSON array of one or more condition JSON objects as is defined [here](https://learn.microsoft.com/en-us/rest/api/securityinsights/preview/automation-rules/create-or-update?tabs=HTTP#automationruletriggeringlogic).\n"},"displayName":{"type":"string","description":"The display name which should be used for this Sentinel Automation Rule.\n"},"enabled":{"type":"boolean","description":"Whether this Sentinel Automation Rule is enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"expiration":{"type":"string","description":"The time in RFC3339 format of kind `UTC` that determines when this Automation Rule should expire and be disabled.\n"},"logAnalyticsWorkspaceId":{"type":"string","description":"The ID of the Log Analytics Workspace where this Sentinel applies to. Changing this forces a new Sentinel Automation Rule to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The UUID which should be used for this Sentinel Automation Rule. Changing this forces a new Sentinel Automation Rule to be created.\n","willReplaceOnChanges":true},"order":{"type":"integer","description":"The order of this Sentinel Automation Rule. Possible values varies between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`1000`\" pulumi-lang-dotnet=\"`1000`\" pulumi-lang-go=\"`1000`\" pulumi-lang-python=\"`1000`\" pulumi-lang-yaml=\"`1000`\" pulumi-lang-java=\"`1000`\"\u003e`1000`\u003c/span\u003e.\n"},"triggersOn":{"type":"string","description":"Specifies what triggers this automation rule. Possible values are `Alerts` and `Incidents`. Defaults to `Incidents`.\n"},"triggersWhen":{"type":"string","description":"Specifies when will this automation rule be triggered. Possible values are `Created` and `Updated`. Defaults to `Created`.\n"}},"requiredInputs":["displayName","logAnalyticsWorkspaceId","order"],"stateInputs":{"description":"Input properties used for looking up and filtering AuthomationRule resources.\n","properties":{"actionIncidentTasks":{"type":"array","items":{"$ref":"#/types/azure:sentinel/AuthomationRuleActionIncidentTask:AuthomationRuleActionIncidentTask"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`actionIncidentTask`\" pulumi-lang-dotnet=\"`ActionIncidentTask`\" pulumi-lang-go=\"`actionIncidentTask`\" pulumi-lang-python=\"`action_incident_task`\" pulumi-lang-yaml=\"`actionIncidentTask`\" pulumi-lang-java=\"`actionIncidentTask`\"\u003e`action_incident_task`\u003c/span\u003e blocks as defined below.\n"},"actionIncidents":{"type":"array","items":{"$ref":"#/types/azure:sentinel/AuthomationRuleActionIncident:AuthomationRuleActionIncident"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`actionIncident`\" pulumi-lang-dotnet=\"`ActionIncident`\" pulumi-lang-go=\"`actionIncident`\" pulumi-lang-python=\"`action_incident`\" pulumi-lang-yaml=\"`actionIncident`\" pulumi-lang-java=\"`actionIncident`\"\u003e`action_incident`\u003c/span\u003e blocks as defined below.\n"},"actionPlaybooks":{"type":"array","items":{"$ref":"#/types/azure:sentinel/AuthomationRuleActionPlaybook:AuthomationRuleActionPlaybook"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`actionPlaybook`\" pulumi-lang-dotnet=\"`ActionPlaybook`\" pulumi-lang-go=\"`actionPlaybook`\" pulumi-lang-python=\"`action_playbook`\" pulumi-lang-yaml=\"`actionPlaybook`\" pulumi-lang-java=\"`actionPlaybook`\"\u003e`action_playbook`\u003c/span\u003e blocks as defined below.\n\n\u003e **Note:** Either one \u003cspan pulumi-lang-nodejs=\"`actionIncident`\" pulumi-lang-dotnet=\"`ActionIncident`\" pulumi-lang-go=\"`actionIncident`\" pulumi-lang-python=\"`action_incident`\" pulumi-lang-yaml=\"`actionIncident`\" pulumi-lang-java=\"`actionIncident`\"\u003e`action_incident`\u003c/span\u003e block or \u003cspan pulumi-lang-nodejs=\"`actionPlaybook`\" pulumi-lang-dotnet=\"`ActionPlaybook`\" pulumi-lang-go=\"`actionPlaybook`\" pulumi-lang-python=\"`action_playbook`\" pulumi-lang-yaml=\"`actionPlaybook`\" pulumi-lang-java=\"`actionPlaybook`\"\u003e`action_playbook`\u003c/span\u003e block has to be specified.\n"},"conditionJson":{"type":"string","description":"A JSON array of one or more condition JSON objects as is defined [here](https://learn.microsoft.com/en-us/rest/api/securityinsights/preview/automation-rules/create-or-update?tabs=HTTP#automationruletriggeringlogic).\n"},"displayName":{"type":"string","description":"The display name which should be used for this Sentinel Automation Rule.\n"},"enabled":{"type":"boolean","description":"Whether this Sentinel Automation Rule is enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"expiration":{"type":"string","description":"The time in RFC3339 format of kind `UTC` that determines when this Automation Rule should expire and be disabled.\n"},"logAnalyticsWorkspaceId":{"type":"string","description":"The ID of the Log Analytics Workspace where this Sentinel applies to. Changing this forces a new Sentinel Automation Rule to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The UUID which should be used for this Sentinel Automation Rule. Changing this forces a new Sentinel Automation Rule to be created.\n","willReplaceOnChanges":true},"order":{"type":"integer","description":"The order of this Sentinel Automation Rule. Possible values varies between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`1000`\" pulumi-lang-dotnet=\"`1000`\" pulumi-lang-go=\"`1000`\" pulumi-lang-python=\"`1000`\" pulumi-lang-yaml=\"`1000`\" pulumi-lang-java=\"`1000`\"\u003e`1000`\u003c/span\u003e.\n"},"triggersOn":{"type":"string","description":"Specifies what triggers this automation rule. Possible values are `Alerts` and `Incidents`. Defaults to `Incidents`.\n"},"triggersWhen":{"type":"string","description":"Specifies when will this automation rule be triggered. Possible values are `Created` and `Updated`. Defaults to `Created`.\n"}},"type":"object"},"deprecationMessage":"azure.sentinel.AuthomationRule has been deprecated in favor of azure.sentinel.AutomationRule"},"azure:sentinel/automationRule:AutomationRule":{"description":"Manages a Sentinel Automation Rule.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-rg\",\n    location: \"west europe\",\n});\nconst exampleAnalyticsWorkspace = new azure.operationalinsights.AnalyticsWorkspace(\"example\", {\n    name: \"example-workspace\",\n    location: example.location,\n    resourceGroupName: example.name,\n    sku: \"PerGB2018\",\n});\nconst exampleLogAnalyticsWorkspaceOnboarding = new azure.sentinel.LogAnalyticsWorkspaceOnboarding(\"example\", {workspaceId: exampleAnalyticsWorkspace.id});\nconst exampleAutomationRule = new azure.sentinel.AutomationRule(\"example\", {\n    name: \"56094f72-ac3f-40e7-a0c0-47bd95f70336\",\n    logAnalyticsWorkspaceId: exampleLogAnalyticsWorkspaceOnboarding.workspaceId,\n    displayName: \"automation_rule1\",\n    order: 1,\n    actionIncidents: [{\n        order: 1,\n        status: \"Active\",\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-rg\",\n    location=\"west europe\")\nexample_analytics_workspace = azure.operationalinsights.AnalyticsWorkspace(\"example\",\n    name=\"example-workspace\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku=\"PerGB2018\")\nexample_log_analytics_workspace_onboarding = azure.sentinel.LogAnalyticsWorkspaceOnboarding(\"example\", workspace_id=example_analytics_workspace.id)\nexample_automation_rule = azure.sentinel.AutomationRule(\"example\",\n    name=\"56094f72-ac3f-40e7-a0c0-47bd95f70336\",\n    log_analytics_workspace_id=example_log_analytics_workspace_onboarding.workspace_id,\n    display_name=\"automation_rule1\",\n    order=1,\n    action_incidents=[{\n        \"order\": 1,\n        \"status\": \"Active\",\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-rg\",\n        Location = \"west europe\",\n    });\n\n    var exampleAnalyticsWorkspace = new Azure.OperationalInsights.AnalyticsWorkspace(\"example\", new()\n    {\n        Name = \"example-workspace\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Sku = \"PerGB2018\",\n    });\n\n    var exampleLogAnalyticsWorkspaceOnboarding = new Azure.Sentinel.LogAnalyticsWorkspaceOnboarding(\"example\", new()\n    {\n        WorkspaceId = exampleAnalyticsWorkspace.Id,\n    });\n\n    var exampleAutomationRule = new Azure.Sentinel.AutomationRule(\"example\", new()\n    {\n        Name = \"56094f72-ac3f-40e7-a0c0-47bd95f70336\",\n        LogAnalyticsWorkspaceId = exampleLogAnalyticsWorkspaceOnboarding.WorkspaceId,\n        DisplayName = \"automation_rule1\",\n        Order = 1,\n        ActionIncidents = new[]\n        {\n            new Azure.Sentinel.Inputs.AutomationRuleActionIncidentArgs\n            {\n                Order = 1,\n                Status = \"Active\",\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/operationalinsights\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/sentinel\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-rg\"),\n\t\t\tLocation: pulumi.String(\"west europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAnalyticsWorkspace, err := operationalinsights.NewAnalyticsWorkspace(ctx, \"example\", \u0026operationalinsights.AnalyticsWorkspaceArgs{\n\t\t\tName:              pulumi.String(\"example-workspace\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSku:               pulumi.String(\"PerGB2018\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleLogAnalyticsWorkspaceOnboarding, err := sentinel.NewLogAnalyticsWorkspaceOnboarding(ctx, \"example\", \u0026sentinel.LogAnalyticsWorkspaceOnboardingArgs{\n\t\t\tWorkspaceId: exampleAnalyticsWorkspace.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = sentinel.NewAutomationRule(ctx, \"example\", \u0026sentinel.AutomationRuleArgs{\n\t\t\tName:                    pulumi.String(\"56094f72-ac3f-40e7-a0c0-47bd95f70336\"),\n\t\t\tLogAnalyticsWorkspaceId: exampleLogAnalyticsWorkspaceOnboarding.WorkspaceId,\n\t\t\tDisplayName:             pulumi.String(\"automation_rule1\"),\n\t\t\tOrder:                   pulumi.Int(1),\n\t\t\tActionIncidents: sentinel.AutomationRuleActionIncidentArray{\n\t\t\t\t\u0026sentinel.AutomationRuleActionIncidentArgs{\n\t\t\t\t\tOrder:  pulumi.Int(1),\n\t\t\t\t\tStatus: pulumi.String(\"Active\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.operationalinsights.AnalyticsWorkspace;\nimport com.pulumi.azure.operationalinsights.AnalyticsWorkspaceArgs;\nimport com.pulumi.azure.sentinel.LogAnalyticsWorkspaceOnboarding;\nimport com.pulumi.azure.sentinel.LogAnalyticsWorkspaceOnboardingArgs;\nimport com.pulumi.azure.sentinel.AutomationRule;\nimport com.pulumi.azure.sentinel.AutomationRuleArgs;\nimport com.pulumi.azure.sentinel.inputs.AutomationRuleActionIncidentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-rg\")\n            .location(\"west europe\")\n            .build());\n\n        var exampleAnalyticsWorkspace = new AnalyticsWorkspace(\"exampleAnalyticsWorkspace\", AnalyticsWorkspaceArgs.builder()\n            .name(\"example-workspace\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .sku(\"PerGB2018\")\n            .build());\n\n        var exampleLogAnalyticsWorkspaceOnboarding = new LogAnalyticsWorkspaceOnboarding(\"exampleLogAnalyticsWorkspaceOnboarding\", LogAnalyticsWorkspaceOnboardingArgs.builder()\n            .workspaceId(exampleAnalyticsWorkspace.id())\n            .build());\n\n        var exampleAutomationRule = new AutomationRule(\"exampleAutomationRule\", AutomationRuleArgs.builder()\n            .name(\"56094f72-ac3f-40e7-a0c0-47bd95f70336\")\n            .logAnalyticsWorkspaceId(exampleLogAnalyticsWorkspaceOnboarding.workspaceId())\n            .displayName(\"automation_rule1\")\n            .order(1)\n            .actionIncidents(AutomationRuleActionIncidentArgs.builder()\n                .order(1)\n                .status(\"Active\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-rg\n      location: west europe\n  exampleAnalyticsWorkspace:\n    type: azure:operationalinsights:AnalyticsWorkspace\n    name: example\n    properties:\n      name: example-workspace\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      sku: PerGB2018\n  exampleLogAnalyticsWorkspaceOnboarding:\n    type: azure:sentinel:LogAnalyticsWorkspaceOnboarding\n    name: example\n    properties:\n      workspaceId: ${exampleAnalyticsWorkspace.id}\n  exampleAutomationRule:\n    type: azure:sentinel:AutomationRule\n    name: example\n    properties:\n      name: 56094f72-ac3f-40e7-a0c0-47bd95f70336\n      logAnalyticsWorkspaceId: ${exampleLogAnalyticsWorkspaceOnboarding.workspaceId}\n      displayName: automation_rule1\n      order: 1\n      actionIncidents:\n        - order: 1\n          status: Active\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.OperationalInsights` - 2024-09-01\n\n## Import\n\nSentinel Automation Rules can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:sentinel/automationRule:AutomationRule example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.OperationalInsights/workspaces/workspace1/providers/Microsoft.SecurityInsights/automationRules/rule1\n```\n\n","properties":{"actionIncidentTasks":{"type":"array","items":{"$ref":"#/types/azure:sentinel/AutomationRuleActionIncidentTask:AutomationRuleActionIncidentTask"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`actionIncidentTask`\" pulumi-lang-dotnet=\"`ActionIncidentTask`\" pulumi-lang-go=\"`actionIncidentTask`\" pulumi-lang-python=\"`action_incident_task`\" pulumi-lang-yaml=\"`actionIncidentTask`\" pulumi-lang-java=\"`actionIncidentTask`\"\u003e`action_incident_task`\u003c/span\u003e blocks as defined below.\n"},"actionIncidents":{"type":"array","items":{"$ref":"#/types/azure:sentinel/AutomationRuleActionIncident:AutomationRuleActionIncident"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`actionIncident`\" pulumi-lang-dotnet=\"`ActionIncident`\" pulumi-lang-go=\"`actionIncident`\" pulumi-lang-python=\"`action_incident`\" pulumi-lang-yaml=\"`actionIncident`\" pulumi-lang-java=\"`actionIncident`\"\u003e`action_incident`\u003c/span\u003e blocks as defined below.\n"},"actionPlaybooks":{"type":"array","items":{"$ref":"#/types/azure:sentinel/AutomationRuleActionPlaybook:AutomationRuleActionPlaybook"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`actionPlaybook`\" pulumi-lang-dotnet=\"`ActionPlaybook`\" pulumi-lang-go=\"`actionPlaybook`\" pulumi-lang-python=\"`action_playbook`\" pulumi-lang-yaml=\"`actionPlaybook`\" pulumi-lang-java=\"`actionPlaybook`\"\u003e`action_playbook`\u003c/span\u003e blocks as defined below.\n\n\u003e **Note:** Either one \u003cspan pulumi-lang-nodejs=\"`actionIncident`\" pulumi-lang-dotnet=\"`ActionIncident`\" pulumi-lang-go=\"`actionIncident`\" pulumi-lang-python=\"`action_incident`\" pulumi-lang-yaml=\"`actionIncident`\" pulumi-lang-java=\"`actionIncident`\"\u003e`action_incident`\u003c/span\u003e block or \u003cspan pulumi-lang-nodejs=\"`actionPlaybook`\" pulumi-lang-dotnet=\"`ActionPlaybook`\" pulumi-lang-go=\"`actionPlaybook`\" pulumi-lang-python=\"`action_playbook`\" pulumi-lang-yaml=\"`actionPlaybook`\" pulumi-lang-java=\"`actionPlaybook`\"\u003e`action_playbook`\u003c/span\u003e block has to be specified.\n"},"conditionJson":{"type":"string","description":"A JSON array of one or more condition JSON objects as is defined [here](https://learn.microsoft.com/en-us/rest/api/securityinsights/preview/automation-rules/create-or-update?tabs=HTTP#automationruletriggeringlogic).\n"},"displayName":{"type":"string","description":"The display name which should be used for this Sentinel Automation Rule.\n"},"enabled":{"type":"boolean","description":"Whether this Sentinel Automation Rule is enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"expiration":{"type":"string","description":"The time in RFC3339 format of kind `UTC` that determines when this Automation Rule should expire and be disabled.\n"},"logAnalyticsWorkspaceId":{"type":"string","description":"The ID of the Log Analytics Workspace where this Sentinel applies to. Changing this forces a new Sentinel Automation Rule to be created.\n"},"name":{"type":"string","description":"The UUID which should be used for this Sentinel Automation Rule. Changing this forces a new Sentinel Automation Rule to be created.\n"},"order":{"type":"integer","description":"The order of this Sentinel Automation Rule. Possible values varies between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`1000`\" pulumi-lang-dotnet=\"`1000`\" pulumi-lang-go=\"`1000`\" pulumi-lang-python=\"`1000`\" pulumi-lang-yaml=\"`1000`\" pulumi-lang-java=\"`1000`\"\u003e`1000`\u003c/span\u003e.\n"},"triggersOn":{"type":"string","description":"Specifies what triggers this automation rule. Possible values are `Alerts` and `Incidents`. Defaults to `Incidents`.\n"},"triggersWhen":{"type":"string","description":"Specifies when will this automation rule be triggered. Possible values are `Created` and `Updated`. Defaults to `Created`.\n"}},"required":["displayName","logAnalyticsWorkspaceId","name","order"],"inputProperties":{"actionIncidentTasks":{"type":"array","items":{"$ref":"#/types/azure:sentinel/AutomationRuleActionIncidentTask:AutomationRuleActionIncidentTask"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`actionIncidentTask`\" pulumi-lang-dotnet=\"`ActionIncidentTask`\" pulumi-lang-go=\"`actionIncidentTask`\" pulumi-lang-python=\"`action_incident_task`\" pulumi-lang-yaml=\"`actionIncidentTask`\" pulumi-lang-java=\"`actionIncidentTask`\"\u003e`action_incident_task`\u003c/span\u003e blocks as defined below.\n"},"actionIncidents":{"type":"array","items":{"$ref":"#/types/azure:sentinel/AutomationRuleActionIncident:AutomationRuleActionIncident"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`actionIncident`\" pulumi-lang-dotnet=\"`ActionIncident`\" pulumi-lang-go=\"`actionIncident`\" pulumi-lang-python=\"`action_incident`\" pulumi-lang-yaml=\"`actionIncident`\" pulumi-lang-java=\"`actionIncident`\"\u003e`action_incident`\u003c/span\u003e blocks as defined below.\n"},"actionPlaybooks":{"type":"array","items":{"$ref":"#/types/azure:sentinel/AutomationRuleActionPlaybook:AutomationRuleActionPlaybook"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`actionPlaybook`\" pulumi-lang-dotnet=\"`ActionPlaybook`\" pulumi-lang-go=\"`actionPlaybook`\" pulumi-lang-python=\"`action_playbook`\" pulumi-lang-yaml=\"`actionPlaybook`\" pulumi-lang-java=\"`actionPlaybook`\"\u003e`action_playbook`\u003c/span\u003e blocks as defined below.\n\n\u003e **Note:** Either one \u003cspan pulumi-lang-nodejs=\"`actionIncident`\" pulumi-lang-dotnet=\"`ActionIncident`\" pulumi-lang-go=\"`actionIncident`\" pulumi-lang-python=\"`action_incident`\" pulumi-lang-yaml=\"`actionIncident`\" pulumi-lang-java=\"`actionIncident`\"\u003e`action_incident`\u003c/span\u003e block or \u003cspan pulumi-lang-nodejs=\"`actionPlaybook`\" pulumi-lang-dotnet=\"`ActionPlaybook`\" pulumi-lang-go=\"`actionPlaybook`\" pulumi-lang-python=\"`action_playbook`\" pulumi-lang-yaml=\"`actionPlaybook`\" pulumi-lang-java=\"`actionPlaybook`\"\u003e`action_playbook`\u003c/span\u003e block has to be specified.\n"},"conditionJson":{"type":"string","description":"A JSON array of one or more condition JSON objects as is defined [here](https://learn.microsoft.com/en-us/rest/api/securityinsights/preview/automation-rules/create-or-update?tabs=HTTP#automationruletriggeringlogic).\n"},"displayName":{"type":"string","description":"The display name which should be used for this Sentinel Automation Rule.\n"},"enabled":{"type":"boolean","description":"Whether this Sentinel Automation Rule is enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"expiration":{"type":"string","description":"The time in RFC3339 format of kind `UTC` that determines when this Automation Rule should expire and be disabled.\n"},"logAnalyticsWorkspaceId":{"type":"string","description":"The ID of the Log Analytics Workspace where this Sentinel applies to. Changing this forces a new Sentinel Automation Rule to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The UUID which should be used for this Sentinel Automation Rule. Changing this forces a new Sentinel Automation Rule to be created.\n","willReplaceOnChanges":true},"order":{"type":"integer","description":"The order of this Sentinel Automation Rule. Possible values varies between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`1000`\" pulumi-lang-dotnet=\"`1000`\" pulumi-lang-go=\"`1000`\" pulumi-lang-python=\"`1000`\" pulumi-lang-yaml=\"`1000`\" pulumi-lang-java=\"`1000`\"\u003e`1000`\u003c/span\u003e.\n"},"triggersOn":{"type":"string","description":"Specifies what triggers this automation rule. Possible values are `Alerts` and `Incidents`. Defaults to `Incidents`.\n"},"triggersWhen":{"type":"string","description":"Specifies when will this automation rule be triggered. Possible values are `Created` and `Updated`. Defaults to `Created`.\n"}},"requiredInputs":["displayName","logAnalyticsWorkspaceId","order"],"stateInputs":{"description":"Input properties used for looking up and filtering AutomationRule resources.\n","properties":{"actionIncidentTasks":{"type":"array","items":{"$ref":"#/types/azure:sentinel/AutomationRuleActionIncidentTask:AutomationRuleActionIncidentTask"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`actionIncidentTask`\" pulumi-lang-dotnet=\"`ActionIncidentTask`\" pulumi-lang-go=\"`actionIncidentTask`\" pulumi-lang-python=\"`action_incident_task`\" pulumi-lang-yaml=\"`actionIncidentTask`\" pulumi-lang-java=\"`actionIncidentTask`\"\u003e`action_incident_task`\u003c/span\u003e blocks as defined below.\n"},"actionIncidents":{"type":"array","items":{"$ref":"#/types/azure:sentinel/AutomationRuleActionIncident:AutomationRuleActionIncident"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`actionIncident`\" pulumi-lang-dotnet=\"`ActionIncident`\" pulumi-lang-go=\"`actionIncident`\" pulumi-lang-python=\"`action_incident`\" pulumi-lang-yaml=\"`actionIncident`\" pulumi-lang-java=\"`actionIncident`\"\u003e`action_incident`\u003c/span\u003e blocks as defined below.\n"},"actionPlaybooks":{"type":"array","items":{"$ref":"#/types/azure:sentinel/AutomationRuleActionPlaybook:AutomationRuleActionPlaybook"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`actionPlaybook`\" pulumi-lang-dotnet=\"`ActionPlaybook`\" pulumi-lang-go=\"`actionPlaybook`\" pulumi-lang-python=\"`action_playbook`\" pulumi-lang-yaml=\"`actionPlaybook`\" pulumi-lang-java=\"`actionPlaybook`\"\u003e`action_playbook`\u003c/span\u003e blocks as defined below.\n\n\u003e **Note:** Either one \u003cspan pulumi-lang-nodejs=\"`actionIncident`\" pulumi-lang-dotnet=\"`ActionIncident`\" pulumi-lang-go=\"`actionIncident`\" pulumi-lang-python=\"`action_incident`\" pulumi-lang-yaml=\"`actionIncident`\" pulumi-lang-java=\"`actionIncident`\"\u003e`action_incident`\u003c/span\u003e block or \u003cspan pulumi-lang-nodejs=\"`actionPlaybook`\" pulumi-lang-dotnet=\"`ActionPlaybook`\" pulumi-lang-go=\"`actionPlaybook`\" pulumi-lang-python=\"`action_playbook`\" pulumi-lang-yaml=\"`actionPlaybook`\" pulumi-lang-java=\"`actionPlaybook`\"\u003e`action_playbook`\u003c/span\u003e block has to be specified.\n"},"conditionJson":{"type":"string","description":"A JSON array of one or more condition JSON objects as is defined [here](https://learn.microsoft.com/en-us/rest/api/securityinsights/preview/automation-rules/create-or-update?tabs=HTTP#automationruletriggeringlogic).\n"},"displayName":{"type":"string","description":"The display name which should be used for this Sentinel Automation Rule.\n"},"enabled":{"type":"boolean","description":"Whether this Sentinel Automation Rule is enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"expiration":{"type":"string","description":"The time in RFC3339 format of kind `UTC` that determines when this Automation Rule should expire and be disabled.\n"},"logAnalyticsWorkspaceId":{"type":"string","description":"The ID of the Log Analytics Workspace where this Sentinel applies to. Changing this forces a new Sentinel Automation Rule to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The UUID which should be used for this Sentinel Automation Rule. Changing this forces a new Sentinel Automation Rule to be created.\n","willReplaceOnChanges":true},"order":{"type":"integer","description":"The order of this Sentinel Automation Rule. Possible values varies between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`1000`\" pulumi-lang-dotnet=\"`1000`\" pulumi-lang-go=\"`1000`\" pulumi-lang-python=\"`1000`\" pulumi-lang-yaml=\"`1000`\" pulumi-lang-java=\"`1000`\"\u003e`1000`\u003c/span\u003e.\n"},"triggersOn":{"type":"string","description":"Specifies what triggers this automation rule. Possible values are `Alerts` and `Incidents`. Defaults to `Incidents`.\n"},"triggersWhen":{"type":"string","description":"Specifies when will this automation rule be triggered. Possible values are `Created` and `Updated`. Defaults to `Created`.\n"}},"type":"object"},"aliases":[{"type":"azure:sentinel/authomationRule:AuthomationRule"}]},"azure:sentinel/dataConnectorAwsCloudTrail:DataConnectorAwsCloudTrail":{"description":"Manages a AWS CloudTrail Data Connector.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-rg\",\n    location: \"West Europe\",\n});\nconst exampleAnalyticsWorkspace = new azure.operationalinsights.AnalyticsWorkspace(\"example\", {\n    name: \"example-workspace\",\n    location: example.location,\n    resourceGroupName: example.name,\n    sku: \"PerGB2018\",\n});\nconst exampleLogAnalyticsWorkspaceOnboarding = new azure.sentinel.LogAnalyticsWorkspaceOnboarding(\"example\", {workspaceId: exampleAnalyticsWorkspace.id});\nconst exampleDataConnectorAwsCloudTrail = new azure.sentinel.DataConnectorAwsCloudTrail(\"example\", {\n    name: \"example\",\n    logAnalyticsWorkspaceId: exampleLogAnalyticsWorkspaceOnboarding.workspaceId,\n    awsRoleArn: \"arn:aws:iam::000000000000:role/role1\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-rg\",\n    location=\"West Europe\")\nexample_analytics_workspace = azure.operationalinsights.AnalyticsWorkspace(\"example\",\n    name=\"example-workspace\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku=\"PerGB2018\")\nexample_log_analytics_workspace_onboarding = azure.sentinel.LogAnalyticsWorkspaceOnboarding(\"example\", workspace_id=example_analytics_workspace.id)\nexample_data_connector_aws_cloud_trail = azure.sentinel.DataConnectorAwsCloudTrail(\"example\",\n    name=\"example\",\n    log_analytics_workspace_id=example_log_analytics_workspace_onboarding.workspace_id,\n    aws_role_arn=\"arn:aws:iam::000000000000:role/role1\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-rg\",\n        Location = \"West Europe\",\n    });\n\n    var exampleAnalyticsWorkspace = new Azure.OperationalInsights.AnalyticsWorkspace(\"example\", new()\n    {\n        Name = \"example-workspace\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Sku = \"PerGB2018\",\n    });\n\n    var exampleLogAnalyticsWorkspaceOnboarding = new Azure.Sentinel.LogAnalyticsWorkspaceOnboarding(\"example\", new()\n    {\n        WorkspaceId = exampleAnalyticsWorkspace.Id,\n    });\n\n    var exampleDataConnectorAwsCloudTrail = new Azure.Sentinel.DataConnectorAwsCloudTrail(\"example\", new()\n    {\n        Name = \"example\",\n        LogAnalyticsWorkspaceId = exampleLogAnalyticsWorkspaceOnboarding.WorkspaceId,\n        AwsRoleArn = \"arn:aws:iam::000000000000:role/role1\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/operationalinsights\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/sentinel\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-rg\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAnalyticsWorkspace, err := operationalinsights.NewAnalyticsWorkspace(ctx, \"example\", \u0026operationalinsights.AnalyticsWorkspaceArgs{\n\t\t\tName:              pulumi.String(\"example-workspace\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSku:               pulumi.String(\"PerGB2018\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleLogAnalyticsWorkspaceOnboarding, err := sentinel.NewLogAnalyticsWorkspaceOnboarding(ctx, \"example\", \u0026sentinel.LogAnalyticsWorkspaceOnboardingArgs{\n\t\t\tWorkspaceId: exampleAnalyticsWorkspace.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = sentinel.NewDataConnectorAwsCloudTrail(ctx, \"example\", \u0026sentinel.DataConnectorAwsCloudTrailArgs{\n\t\t\tName:                    pulumi.String(\"example\"),\n\t\t\tLogAnalyticsWorkspaceId: exampleLogAnalyticsWorkspaceOnboarding.WorkspaceId,\n\t\t\tAwsRoleArn:              pulumi.String(\"arn:aws:iam::000000000000:role/role1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.operationalinsights.AnalyticsWorkspace;\nimport com.pulumi.azure.operationalinsights.AnalyticsWorkspaceArgs;\nimport com.pulumi.azure.sentinel.LogAnalyticsWorkspaceOnboarding;\nimport com.pulumi.azure.sentinel.LogAnalyticsWorkspaceOnboardingArgs;\nimport com.pulumi.azure.sentinel.DataConnectorAwsCloudTrail;\nimport com.pulumi.azure.sentinel.DataConnectorAwsCloudTrailArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-rg\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleAnalyticsWorkspace = new AnalyticsWorkspace(\"exampleAnalyticsWorkspace\", AnalyticsWorkspaceArgs.builder()\n            .name(\"example-workspace\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .sku(\"PerGB2018\")\n            .build());\n\n        var exampleLogAnalyticsWorkspaceOnboarding = new LogAnalyticsWorkspaceOnboarding(\"exampleLogAnalyticsWorkspaceOnboarding\", LogAnalyticsWorkspaceOnboardingArgs.builder()\n            .workspaceId(exampleAnalyticsWorkspace.id())\n            .build());\n\n        var exampleDataConnectorAwsCloudTrail = new DataConnectorAwsCloudTrail(\"exampleDataConnectorAwsCloudTrail\", DataConnectorAwsCloudTrailArgs.builder()\n            .name(\"example\")\n            .logAnalyticsWorkspaceId(exampleLogAnalyticsWorkspaceOnboarding.workspaceId())\n            .awsRoleArn(\"arn:aws:iam::000000000000:role/role1\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-rg\n      location: West Europe\n  exampleAnalyticsWorkspace:\n    type: azure:operationalinsights:AnalyticsWorkspace\n    name: example\n    properties:\n      name: example-workspace\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      sku: PerGB2018\n  exampleLogAnalyticsWorkspaceOnboarding:\n    type: azure:sentinel:LogAnalyticsWorkspaceOnboarding\n    name: example\n    properties:\n      workspaceId: ${exampleAnalyticsWorkspace.id}\n  exampleDataConnectorAwsCloudTrail:\n    type: azure:sentinel:DataConnectorAwsCloudTrail\n    name: example\n    properties:\n      name: example\n      logAnalyticsWorkspaceId: ${exampleLogAnalyticsWorkspaceOnboarding.workspaceId}\n      awsRoleArn: arn:aws:iam::000000000000:role/role1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nAWS CloudTrail Data Connectors can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:sentinel/dataConnectorAwsCloudTrail:DataConnectorAwsCloudTrail example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.OperationalInsights/workspaces/workspace1/providers/Microsoft.SecurityInsights/dataConnectors/dc1\n```\n\n","properties":{"awsRoleArn":{"type":"string","description":"The ARN of the AWS CloudTrail role, which is connected to this AWS CloudTrail Data Connector.\n"},"logAnalyticsWorkspaceId":{"type":"string","description":"The ID of the Log Analytics Workspace that this AWS CloudTrail Data Connector resides in. Changing this forces a new AWS CloudTrail Data Connector to be created.\n"},"name":{"type":"string","description":"The name which should be used for this AWS CloudTrail Data Connector. Changing this forces a new AWS CloudTrail Data Connector to be created.\n"}},"required":["awsRoleArn","logAnalyticsWorkspaceId","name"],"inputProperties":{"awsRoleArn":{"type":"string","description":"The ARN of the AWS CloudTrail role, which is connected to this AWS CloudTrail Data Connector.\n"},"logAnalyticsWorkspaceId":{"type":"string","description":"The ID of the Log Analytics Workspace that this AWS CloudTrail Data Connector resides in. Changing this forces a new AWS CloudTrail Data Connector to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this AWS CloudTrail Data Connector. Changing this forces a new AWS CloudTrail Data Connector to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["awsRoleArn","logAnalyticsWorkspaceId"],"stateInputs":{"description":"Input properties used for looking up and filtering DataConnectorAwsCloudTrail resources.\n","properties":{"awsRoleArn":{"type":"string","description":"The ARN of the AWS CloudTrail role, which is connected to this AWS CloudTrail Data Connector.\n"},"logAnalyticsWorkspaceId":{"type":"string","description":"The ID of the Log Analytics Workspace that this AWS CloudTrail Data Connector resides in. Changing this forces a new AWS CloudTrail Data Connector to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this AWS CloudTrail Data Connector. Changing this forces a new AWS CloudTrail Data Connector to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:sentinel/dataConnectorAwsS3:DataConnectorAwsS3":{"description":"Manages a AWS S3 Data Connector.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-rg\",\n    location: \"West Europe\",\n});\nconst exampleAnalyticsWorkspace = new azure.operationalinsights.AnalyticsWorkspace(\"example\", {\n    name: \"example-workspace\",\n    location: example.location,\n    resourceGroupName: example.name,\n    sku: \"PerGB2018\",\n});\nconst exampleLogAnalyticsWorkspaceOnboarding = new azure.sentinel.LogAnalyticsWorkspaceOnboarding(\"example\", {workspaceId: exampleAnalyticsWorkspace.id});\nconst exampleDataConnectorAwsS3 = new azure.sentinel.DataConnectorAwsS3(\"example\", {\n    name: \"example\",\n    logAnalyticsWorkspaceId: exampleLogAnalyticsWorkspaceOnboarding.workspaceId,\n    awsRoleArn: \"arn:aws:iam::000000000000:role/role1\",\n    destinationTable: \"AWSGuardDuty\",\n    sqsUrls: [\"https://sqs.us-east-1.amazonaws.com/000000000000/example\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-rg\",\n    location=\"West Europe\")\nexample_analytics_workspace = azure.operationalinsights.AnalyticsWorkspace(\"example\",\n    name=\"example-workspace\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku=\"PerGB2018\")\nexample_log_analytics_workspace_onboarding = azure.sentinel.LogAnalyticsWorkspaceOnboarding(\"example\", workspace_id=example_analytics_workspace.id)\nexample_data_connector_aws_s3 = azure.sentinel.DataConnectorAwsS3(\"example\",\n    name=\"example\",\n    log_analytics_workspace_id=example_log_analytics_workspace_onboarding.workspace_id,\n    aws_role_arn=\"arn:aws:iam::000000000000:role/role1\",\n    destination_table=\"AWSGuardDuty\",\n    sqs_urls=[\"https://sqs.us-east-1.amazonaws.com/000000000000/example\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-rg\",\n        Location = \"West Europe\",\n    });\n\n    var exampleAnalyticsWorkspace = new Azure.OperationalInsights.AnalyticsWorkspace(\"example\", new()\n    {\n        Name = \"example-workspace\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Sku = \"PerGB2018\",\n    });\n\n    var exampleLogAnalyticsWorkspaceOnboarding = new Azure.Sentinel.LogAnalyticsWorkspaceOnboarding(\"example\", new()\n    {\n        WorkspaceId = exampleAnalyticsWorkspace.Id,\n    });\n\n    var exampleDataConnectorAwsS3 = new Azure.Sentinel.DataConnectorAwsS3(\"example\", new()\n    {\n        Name = \"example\",\n        LogAnalyticsWorkspaceId = exampleLogAnalyticsWorkspaceOnboarding.WorkspaceId,\n        AwsRoleArn = \"arn:aws:iam::000000000000:role/role1\",\n        DestinationTable = \"AWSGuardDuty\",\n        SqsUrls = new[]\n        {\n            \"https://sqs.us-east-1.amazonaws.com/000000000000/example\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/operationalinsights\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/sentinel\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-rg\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAnalyticsWorkspace, err := operationalinsights.NewAnalyticsWorkspace(ctx, \"example\", \u0026operationalinsights.AnalyticsWorkspaceArgs{\n\t\t\tName:              pulumi.String(\"example-workspace\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSku:               pulumi.String(\"PerGB2018\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleLogAnalyticsWorkspaceOnboarding, err := sentinel.NewLogAnalyticsWorkspaceOnboarding(ctx, \"example\", \u0026sentinel.LogAnalyticsWorkspaceOnboardingArgs{\n\t\t\tWorkspaceId: exampleAnalyticsWorkspace.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = sentinel.NewDataConnectorAwsS3(ctx, \"example\", \u0026sentinel.DataConnectorAwsS3Args{\n\t\t\tName:                    pulumi.String(\"example\"),\n\t\t\tLogAnalyticsWorkspaceId: exampleLogAnalyticsWorkspaceOnboarding.WorkspaceId,\n\t\t\tAwsRoleArn:              pulumi.String(\"arn:aws:iam::000000000000:role/role1\"),\n\t\t\tDestinationTable:        pulumi.String(\"AWSGuardDuty\"),\n\t\t\tSqsUrls: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"https://sqs.us-east-1.amazonaws.com/000000000000/example\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.operationalinsights.AnalyticsWorkspace;\nimport com.pulumi.azure.operationalinsights.AnalyticsWorkspaceArgs;\nimport com.pulumi.azure.sentinel.LogAnalyticsWorkspaceOnboarding;\nimport com.pulumi.azure.sentinel.LogAnalyticsWorkspaceOnboardingArgs;\nimport com.pulumi.azure.sentinel.DataConnectorAwsS3;\nimport com.pulumi.azure.sentinel.DataConnectorAwsS3Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-rg\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleAnalyticsWorkspace = new AnalyticsWorkspace(\"exampleAnalyticsWorkspace\", AnalyticsWorkspaceArgs.builder()\n            .name(\"example-workspace\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .sku(\"PerGB2018\")\n            .build());\n\n        var exampleLogAnalyticsWorkspaceOnboarding = new LogAnalyticsWorkspaceOnboarding(\"exampleLogAnalyticsWorkspaceOnboarding\", LogAnalyticsWorkspaceOnboardingArgs.builder()\n            .workspaceId(exampleAnalyticsWorkspace.id())\n            .build());\n\n        var exampleDataConnectorAwsS3 = new DataConnectorAwsS3(\"exampleDataConnectorAwsS3\", DataConnectorAwsS3Args.builder()\n            .name(\"example\")\n            .logAnalyticsWorkspaceId(exampleLogAnalyticsWorkspaceOnboarding.workspaceId())\n            .awsRoleArn(\"arn:aws:iam::000000000000:role/role1\")\n            .destinationTable(\"AWSGuardDuty\")\n            .sqsUrls(\"https://sqs.us-east-1.amazonaws.com/000000000000/example\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-rg\n      location: West Europe\n  exampleAnalyticsWorkspace:\n    type: azure:operationalinsights:AnalyticsWorkspace\n    name: example\n    properties:\n      name: example-workspace\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      sku: PerGB2018\n  exampleLogAnalyticsWorkspaceOnboarding:\n    type: azure:sentinel:LogAnalyticsWorkspaceOnboarding\n    name: example\n    properties:\n      workspaceId: ${exampleAnalyticsWorkspace.id}\n  exampleDataConnectorAwsS3:\n    type: azure:sentinel:DataConnectorAwsS3\n    name: example\n    properties:\n      name: example\n      logAnalyticsWorkspaceId: ${exampleLogAnalyticsWorkspaceOnboarding.workspaceId}\n      awsRoleArn: arn:aws:iam::000000000000:role/role1\n      destinationTable: AWSGuardDuty\n      sqsUrls:\n        - https://sqs.us-east-1.amazonaws.com/000000000000/example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nAWS S3 Data Connectors can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:sentinel/dataConnectorAwsS3:DataConnectorAwsS3 example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.OperationalInsights/workspaces/workspace1/providers/Microsoft.SecurityInsights/dataConnectors/dc1\n```\n\n","properties":{"awsRoleArn":{"type":"string","description":"The ARN of the AWS role, which is connected to this AWS CloudTrail Data Connector. See the [Azure document](https://docs.microsoft.com/azure/sentinel/connect-aws?tabs=s3#create-an-aws-assumed-role-and-grant-access-to-the-aws-sentinel-account) for details.\n"},"destinationTable":{"type":"string","description":"The name of the Log Analytics table that will store the ingested data.\n"},"logAnalyticsWorkspaceId":{"type":"string","description":"The ID of the Log Analytics Workspace that this AWS S3 Data Connector resides in. Changing this forces a new AWS S3 Data Connector to be created.\n"},"name":{"type":"string","description":"The name which should be used for this AWS S3 Data Connector. Changing this forces a new AWS S3 Data Connector to be created.\n"},"sqsUrls":{"type":"array","items":{"type":"string"},"description":"Specifies a list of AWS SQS urls for the AWS S3 Data Connector.\n"}},"required":["awsRoleArn","destinationTable","logAnalyticsWorkspaceId","name","sqsUrls"],"inputProperties":{"awsRoleArn":{"type":"string","description":"The ARN of the AWS role, which is connected to this AWS CloudTrail Data Connector. See the [Azure document](https://docs.microsoft.com/azure/sentinel/connect-aws?tabs=s3#create-an-aws-assumed-role-and-grant-access-to-the-aws-sentinel-account) for details.\n"},"destinationTable":{"type":"string","description":"The name of the Log Analytics table that will store the ingested data.\n"},"logAnalyticsWorkspaceId":{"type":"string","description":"The ID of the Log Analytics Workspace that this AWS S3 Data Connector resides in. Changing this forces a new AWS S3 Data Connector to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this AWS S3 Data Connector. Changing this forces a new AWS S3 Data Connector to be created.\n","willReplaceOnChanges":true},"sqsUrls":{"type":"array","items":{"type":"string"},"description":"Specifies a list of AWS SQS urls for the AWS S3 Data Connector.\n"}},"requiredInputs":["awsRoleArn","destinationTable","logAnalyticsWorkspaceId","sqsUrls"],"stateInputs":{"description":"Input properties used for looking up and filtering DataConnectorAwsS3 resources.\n","properties":{"awsRoleArn":{"type":"string","description":"The ARN of the AWS role, which is connected to this AWS CloudTrail Data Connector. See the [Azure document](https://docs.microsoft.com/azure/sentinel/connect-aws?tabs=s3#create-an-aws-assumed-role-and-grant-access-to-the-aws-sentinel-account) for details.\n"},"destinationTable":{"type":"string","description":"The name of the Log Analytics table that will store the ingested data.\n"},"logAnalyticsWorkspaceId":{"type":"string","description":"The ID of the Log Analytics Workspace that this AWS S3 Data Connector resides in. Changing this forces a new AWS S3 Data Connector to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this AWS S3 Data Connector. Changing this forces a new AWS S3 Data Connector to be created.\n","willReplaceOnChanges":true},"sqsUrls":{"type":"array","items":{"type":"string"},"description":"Specifies a list of AWS SQS urls for the AWS S3 Data Connector.\n"}},"type":"object"}},"azure:sentinel/dataConnectorAzureActiveDirectory:DataConnectorAzureActiveDirectory":{"description":"Manages a Azure Active Directory Data Connector.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-rg\",\n    location: \"West Europe\",\n});\nconst exampleAnalyticsWorkspace = new azure.operationalinsights.AnalyticsWorkspace(\"example\", {\n    name: \"example-workspace\",\n    location: example.location,\n    resourceGroupName: example.name,\n    sku: \"PerGB2018\",\n});\nconst exampleLogAnalyticsWorkspaceOnboarding = new azure.sentinel.LogAnalyticsWorkspaceOnboarding(\"example\", {workspaceId: exampleAnalyticsWorkspace.id});\nconst exampleDataConnectorAzureActiveDirectory = new azure.sentinel.DataConnectorAzureActiveDirectory(\"example\", {\n    name: \"example\",\n    logAnalyticsWorkspaceId: exampleLogAnalyticsWorkspaceOnboarding.workspaceId,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-rg\",\n    location=\"West Europe\")\nexample_analytics_workspace = azure.operationalinsights.AnalyticsWorkspace(\"example\",\n    name=\"example-workspace\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku=\"PerGB2018\")\nexample_log_analytics_workspace_onboarding = azure.sentinel.LogAnalyticsWorkspaceOnboarding(\"example\", workspace_id=example_analytics_workspace.id)\nexample_data_connector_azure_active_directory = azure.sentinel.DataConnectorAzureActiveDirectory(\"example\",\n    name=\"example\",\n    log_analytics_workspace_id=example_log_analytics_workspace_onboarding.workspace_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-rg\",\n        Location = \"West Europe\",\n    });\n\n    var exampleAnalyticsWorkspace = new Azure.OperationalInsights.AnalyticsWorkspace(\"example\", new()\n    {\n        Name = \"example-workspace\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Sku = \"PerGB2018\",\n    });\n\n    var exampleLogAnalyticsWorkspaceOnboarding = new Azure.Sentinel.LogAnalyticsWorkspaceOnboarding(\"example\", new()\n    {\n        WorkspaceId = exampleAnalyticsWorkspace.Id,\n    });\n\n    var exampleDataConnectorAzureActiveDirectory = new Azure.Sentinel.DataConnectorAzureActiveDirectory(\"example\", new()\n    {\n        Name = \"example\",\n        LogAnalyticsWorkspaceId = exampleLogAnalyticsWorkspaceOnboarding.WorkspaceId,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/operationalinsights\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/sentinel\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-rg\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAnalyticsWorkspace, err := operationalinsights.NewAnalyticsWorkspace(ctx, \"example\", \u0026operationalinsights.AnalyticsWorkspaceArgs{\n\t\t\tName:              pulumi.String(\"example-workspace\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSku:               pulumi.String(\"PerGB2018\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleLogAnalyticsWorkspaceOnboarding, err := sentinel.NewLogAnalyticsWorkspaceOnboarding(ctx, \"example\", \u0026sentinel.LogAnalyticsWorkspaceOnboardingArgs{\n\t\t\tWorkspaceId: exampleAnalyticsWorkspace.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = sentinel.NewDataConnectorAzureActiveDirectory(ctx, \"example\", \u0026sentinel.DataConnectorAzureActiveDirectoryArgs{\n\t\t\tName:                    pulumi.String(\"example\"),\n\t\t\tLogAnalyticsWorkspaceId: exampleLogAnalyticsWorkspaceOnboarding.WorkspaceId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.operationalinsights.AnalyticsWorkspace;\nimport com.pulumi.azure.operationalinsights.AnalyticsWorkspaceArgs;\nimport com.pulumi.azure.sentinel.LogAnalyticsWorkspaceOnboarding;\nimport com.pulumi.azure.sentinel.LogAnalyticsWorkspaceOnboardingArgs;\nimport com.pulumi.azure.sentinel.DataConnectorAzureActiveDirectory;\nimport com.pulumi.azure.sentinel.DataConnectorAzureActiveDirectoryArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-rg\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleAnalyticsWorkspace = new AnalyticsWorkspace(\"exampleAnalyticsWorkspace\", AnalyticsWorkspaceArgs.builder()\n            .name(\"example-workspace\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .sku(\"PerGB2018\")\n            .build());\n\n        var exampleLogAnalyticsWorkspaceOnboarding = new LogAnalyticsWorkspaceOnboarding(\"exampleLogAnalyticsWorkspaceOnboarding\", LogAnalyticsWorkspaceOnboardingArgs.builder()\n            .workspaceId(exampleAnalyticsWorkspace.id())\n            .build());\n\n        var exampleDataConnectorAzureActiveDirectory = new DataConnectorAzureActiveDirectory(\"exampleDataConnectorAzureActiveDirectory\", DataConnectorAzureActiveDirectoryArgs.builder()\n            .name(\"example\")\n            .logAnalyticsWorkspaceId(exampleLogAnalyticsWorkspaceOnboarding.workspaceId())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-rg\n      location: West Europe\n  exampleAnalyticsWorkspace:\n    type: azure:operationalinsights:AnalyticsWorkspace\n    name: example\n    properties:\n      name: example-workspace\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      sku: PerGB2018\n  exampleLogAnalyticsWorkspaceOnboarding:\n    type: azure:sentinel:LogAnalyticsWorkspaceOnboarding\n    name: example\n    properties:\n      workspaceId: ${exampleAnalyticsWorkspace.id}\n  exampleDataConnectorAzureActiveDirectory:\n    type: azure:sentinel:DataConnectorAzureActiveDirectory\n    name: example\n    properties:\n      name: example\n      logAnalyticsWorkspaceId: ${exampleLogAnalyticsWorkspaceOnboarding.workspaceId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nAzure Active Directory Data Connectors can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:sentinel/dataConnectorAzureActiveDirectory:DataConnectorAzureActiveDirectory example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.OperationalInsights/workspaces/workspace1/providers/Microsoft.SecurityInsights/dataConnectors/dc1\n```\n\n","properties":{"logAnalyticsWorkspaceId":{"type":"string","description":"The ID of the Log Analytics Workspace that this Azure Active Directory Data Connector resides in. Changing this forces a new Azure Active Directory Data Connector to be created.\n"},"name":{"type":"string","description":"The name which should be used for this Azure Active Directory Data Connector. Changing this forces a new Azure Active Directory Data Connector to be created.\n"},"tenantId":{"type":"string","description":"The ID of the tenant that this Azure Active Directory Data Connector connects to. Changing this forces a new Azure Active Directory Data Connector to be created.\n\n\u003e **Note:** Currently, only the same tenant as the running account is allowed. Cross-tenant scenario is not supported yet.\n"}},"required":["logAnalyticsWorkspaceId","name","tenantId"],"inputProperties":{"logAnalyticsWorkspaceId":{"type":"string","description":"The ID of the Log Analytics Workspace that this Azure Active Directory Data Connector resides in. Changing this forces a new Azure Active Directory Data Connector to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Azure Active Directory Data Connector. Changing this forces a new Azure Active Directory Data Connector to be created.\n","willReplaceOnChanges":true},"tenantId":{"type":"string","description":"The ID of the tenant that this Azure Active Directory Data Connector connects to. Changing this forces a new Azure Active Directory Data Connector to be created.\n\n\u003e **Note:** Currently, only the same tenant as the running account is allowed. Cross-tenant scenario is not supported yet.\n","willReplaceOnChanges":true}},"requiredInputs":["logAnalyticsWorkspaceId"],"stateInputs":{"description":"Input properties used for looking up and filtering DataConnectorAzureActiveDirectory resources.\n","properties":{"logAnalyticsWorkspaceId":{"type":"string","description":"The ID of the Log Analytics Workspace that this Azure Active Directory Data Connector resides in. Changing this forces a new Azure Active Directory Data Connector to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Azure Active Directory Data Connector. Changing this forces a new Azure Active Directory Data Connector to be created.\n","willReplaceOnChanges":true},"tenantId":{"type":"string","description":"The ID of the tenant that this Azure Active Directory Data Connector connects to. Changing this forces a new Azure Active Directory Data Connector to be created.\n\n\u003e **Note:** Currently, only the same tenant as the running account is allowed. Cross-tenant scenario is not supported yet.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:sentinel/dataConnectorAzureAdvancedThreadProtection:DataConnectorAzureAdvancedThreadProtection":{"description":"Manages a Azure Advanced Threat Protection Data Connector.\n\n!\u003e **Note:** This resource requires that [Enterprise Mobility + Security E5](https://www.microsoft.com/en-us/microsoft-365/enterprise-mobility-security) is enabled on the tenant being connected to.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-rg\",\n    location: \"west europe\",\n});\nconst exampleAnalyticsWorkspace = new azure.operationalinsights.AnalyticsWorkspace(\"example\", {\n    name: \"example-workspace\",\n    location: example.location,\n    resourceGroupName: example.name,\n    sku: \"PerGB2018\",\n});\nconst exampleLogAnalyticsWorkspaceOnboarding = new azure.sentinel.LogAnalyticsWorkspaceOnboarding(\"example\", {workspaceId: exampleAnalyticsWorkspace.id});\nconst exampleDataConnectorAzureAdvancedThreadProtection = new azure.sentinel.DataConnectorAzureAdvancedThreadProtection(\"example\", {\n    name: \"example\",\n    logAnalyticsWorkspaceId: exampleLogAnalyticsWorkspaceOnboarding.workspaceId,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-rg\",\n    location=\"west europe\")\nexample_analytics_workspace = azure.operationalinsights.AnalyticsWorkspace(\"example\",\n    name=\"example-workspace\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku=\"PerGB2018\")\nexample_log_analytics_workspace_onboarding = azure.sentinel.LogAnalyticsWorkspaceOnboarding(\"example\", workspace_id=example_analytics_workspace.id)\nexample_data_connector_azure_advanced_thread_protection = azure.sentinel.DataConnectorAzureAdvancedThreadProtection(\"example\",\n    name=\"example\",\n    log_analytics_workspace_id=example_log_analytics_workspace_onboarding.workspace_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-rg\",\n        Location = \"west europe\",\n    });\n\n    var exampleAnalyticsWorkspace = new Azure.OperationalInsights.AnalyticsWorkspace(\"example\", new()\n    {\n        Name = \"example-workspace\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Sku = \"PerGB2018\",\n    });\n\n    var exampleLogAnalyticsWorkspaceOnboarding = new Azure.Sentinel.LogAnalyticsWorkspaceOnboarding(\"example\", new()\n    {\n        WorkspaceId = exampleAnalyticsWorkspace.Id,\n    });\n\n    var exampleDataConnectorAzureAdvancedThreadProtection = new Azure.Sentinel.DataConnectorAzureAdvancedThreadProtection(\"example\", new()\n    {\n        Name = \"example\",\n        LogAnalyticsWorkspaceId = exampleLogAnalyticsWorkspaceOnboarding.WorkspaceId,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/operationalinsights\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/sentinel\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-rg\"),\n\t\t\tLocation: pulumi.String(\"west europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAnalyticsWorkspace, err := operationalinsights.NewAnalyticsWorkspace(ctx, \"example\", \u0026operationalinsights.AnalyticsWorkspaceArgs{\n\t\t\tName:              pulumi.String(\"example-workspace\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSku:               pulumi.String(\"PerGB2018\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleLogAnalyticsWorkspaceOnboarding, err := sentinel.NewLogAnalyticsWorkspaceOnboarding(ctx, \"example\", \u0026sentinel.LogAnalyticsWorkspaceOnboardingArgs{\n\t\t\tWorkspaceId: exampleAnalyticsWorkspace.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = sentinel.NewDataConnectorAzureAdvancedThreadProtection(ctx, \"example\", \u0026sentinel.DataConnectorAzureAdvancedThreadProtectionArgs{\n\t\t\tName:                    pulumi.String(\"example\"),\n\t\t\tLogAnalyticsWorkspaceId: exampleLogAnalyticsWorkspaceOnboarding.WorkspaceId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.operationalinsights.AnalyticsWorkspace;\nimport com.pulumi.azure.operationalinsights.AnalyticsWorkspaceArgs;\nimport com.pulumi.azure.sentinel.LogAnalyticsWorkspaceOnboarding;\nimport com.pulumi.azure.sentinel.LogAnalyticsWorkspaceOnboardingArgs;\nimport com.pulumi.azure.sentinel.DataConnectorAzureAdvancedThreadProtection;\nimport com.pulumi.azure.sentinel.DataConnectorAzureAdvancedThreadProtectionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-rg\")\n            .location(\"west europe\")\n            .build());\n\n        var exampleAnalyticsWorkspace = new AnalyticsWorkspace(\"exampleAnalyticsWorkspace\", AnalyticsWorkspaceArgs.builder()\n            .name(\"example-workspace\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .sku(\"PerGB2018\")\n            .build());\n\n        var exampleLogAnalyticsWorkspaceOnboarding = new LogAnalyticsWorkspaceOnboarding(\"exampleLogAnalyticsWorkspaceOnboarding\", LogAnalyticsWorkspaceOnboardingArgs.builder()\n            .workspaceId(exampleAnalyticsWorkspace.id())\n            .build());\n\n        var exampleDataConnectorAzureAdvancedThreadProtection = new DataConnectorAzureAdvancedThreadProtection(\"exampleDataConnectorAzureAdvancedThreadProtection\", DataConnectorAzureAdvancedThreadProtectionArgs.builder()\n            .name(\"example\")\n            .logAnalyticsWorkspaceId(exampleLogAnalyticsWorkspaceOnboarding.workspaceId())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-rg\n      location: west europe\n  exampleAnalyticsWorkspace:\n    type: azure:operationalinsights:AnalyticsWorkspace\n    name: example\n    properties:\n      name: example-workspace\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      sku: PerGB2018\n  exampleLogAnalyticsWorkspaceOnboarding:\n    type: azure:sentinel:LogAnalyticsWorkspaceOnboarding\n    name: example\n    properties:\n      workspaceId: ${exampleAnalyticsWorkspace.id}\n  exampleDataConnectorAzureAdvancedThreadProtection:\n    type: azure:sentinel:DataConnectorAzureAdvancedThreadProtection\n    name: example\n    properties:\n      name: example\n      logAnalyticsWorkspaceId: ${exampleLogAnalyticsWorkspaceOnboarding.workspaceId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nAzure Advanced Threat Protection Data Connectors can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:sentinel/dataConnectorAzureAdvancedThreadProtection:DataConnectorAzureAdvancedThreadProtection example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.OperationalInsights/workspaces/workspace1/providers/Microsoft.SecurityInsights/dataConnectors/dc1\n```\n\n","properties":{"logAnalyticsWorkspaceId":{"type":"string","description":"The ID of the Log Analytics Workspace that this Azure Advanced Threat Protection Data Connector resides in. Changing this forces a new Azure Advanced Threat Protection Data Connector to be created.\n"},"name":{"type":"string","description":"The name which should be used for this Azure Advanced Threat Protection Data Connector. Changing this forces a new Azure Advanced Threat Protection Data Connector to be created.\n"},"tenantId":{"type":"string","description":"The ID of the tenant that this Azure Advanced Threat Protection Data Connector connects to. Changing this forces a new Azure Advanced Threat Protection Data Connector to be created.\n\n\u003e **Note:** Currently, only the same tenant as the running account is allowed. Cross-tenant scenario is not supported yet.\n"}},"required":["logAnalyticsWorkspaceId","name","tenantId"],"inputProperties":{"logAnalyticsWorkspaceId":{"type":"string","description":"The ID of the Log Analytics Workspace that this Azure Advanced Threat Protection Data Connector resides in. Changing this forces a new Azure Advanced Threat Protection Data Connector to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Azure Advanced Threat Protection Data Connector. Changing this forces a new Azure Advanced Threat Protection Data Connector to be created.\n","willReplaceOnChanges":true},"tenantId":{"type":"string","description":"The ID of the tenant that this Azure Advanced Threat Protection Data Connector connects to. Changing this forces a new Azure Advanced Threat Protection Data Connector to be created.\n\n\u003e **Note:** Currently, only the same tenant as the running account is allowed. Cross-tenant scenario is not supported yet.\n","willReplaceOnChanges":true}},"requiredInputs":["logAnalyticsWorkspaceId"],"stateInputs":{"description":"Input properties used for looking up and filtering DataConnectorAzureAdvancedThreadProtection resources.\n","properties":{"logAnalyticsWorkspaceId":{"type":"string","description":"The ID of the Log Analytics Workspace that this Azure Advanced Threat Protection Data Connector resides in. Changing this forces a new Azure Advanced Threat Protection Data Connector to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Azure Advanced Threat Protection Data Connector. Changing this forces a new Azure Advanced Threat Protection Data Connector to be created.\n","willReplaceOnChanges":true},"tenantId":{"type":"string","description":"The ID of the tenant that this Azure Advanced Threat Protection Data Connector connects to. Changing this forces a new Azure Advanced Threat Protection Data Connector to be created.\n\n\u003e **Note:** Currently, only the same tenant as the running account is allowed. Cross-tenant scenario is not supported yet.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:sentinel/dataConnectorAzureSecurityCenter:DataConnectorAzureSecurityCenter":{"description":"Manages a Azure Security Center Data Connector.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-rg\",\n    location: \"west europe\",\n});\nconst exampleAnalyticsWorkspace = new azure.operationalinsights.AnalyticsWorkspace(\"example\", {\n    name: \"example-workspace\",\n    location: example.location,\n    resourceGroupName: example.name,\n    sku: \"PerGB2018\",\n});\nconst exampleLogAnalyticsWorkspaceOnboarding = new azure.sentinel.LogAnalyticsWorkspaceOnboarding(\"example\", {workspaceId: exampleAnalyticsWorkspace.id});\nconst exampleDataConnectorAzureSecurityCenter = new azure.sentinel.DataConnectorAzureSecurityCenter(\"example\", {\n    name: \"example\",\n    logAnalyticsWorkspaceId: exampleLogAnalyticsWorkspaceOnboarding.workspaceId,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-rg\",\n    location=\"west europe\")\nexample_analytics_workspace = azure.operationalinsights.AnalyticsWorkspace(\"example\",\n    name=\"example-workspace\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku=\"PerGB2018\")\nexample_log_analytics_workspace_onboarding = azure.sentinel.LogAnalyticsWorkspaceOnboarding(\"example\", workspace_id=example_analytics_workspace.id)\nexample_data_connector_azure_security_center = azure.sentinel.DataConnectorAzureSecurityCenter(\"example\",\n    name=\"example\",\n    log_analytics_workspace_id=example_log_analytics_workspace_onboarding.workspace_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-rg\",\n        Location = \"west europe\",\n    });\n\n    var exampleAnalyticsWorkspace = new Azure.OperationalInsights.AnalyticsWorkspace(\"example\", new()\n    {\n        Name = \"example-workspace\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Sku = \"PerGB2018\",\n    });\n\n    var exampleLogAnalyticsWorkspaceOnboarding = new Azure.Sentinel.LogAnalyticsWorkspaceOnboarding(\"example\", new()\n    {\n        WorkspaceId = exampleAnalyticsWorkspace.Id,\n    });\n\n    var exampleDataConnectorAzureSecurityCenter = new Azure.Sentinel.DataConnectorAzureSecurityCenter(\"example\", new()\n    {\n        Name = \"example\",\n        LogAnalyticsWorkspaceId = exampleLogAnalyticsWorkspaceOnboarding.WorkspaceId,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/operationalinsights\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/sentinel\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-rg\"),\n\t\t\tLocation: pulumi.String(\"west europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAnalyticsWorkspace, err := operationalinsights.NewAnalyticsWorkspace(ctx, \"example\", \u0026operationalinsights.AnalyticsWorkspaceArgs{\n\t\t\tName:              pulumi.String(\"example-workspace\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSku:               pulumi.String(\"PerGB2018\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleLogAnalyticsWorkspaceOnboarding, err := sentinel.NewLogAnalyticsWorkspaceOnboarding(ctx, \"example\", \u0026sentinel.LogAnalyticsWorkspaceOnboardingArgs{\n\t\t\tWorkspaceId: exampleAnalyticsWorkspace.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = sentinel.NewDataConnectorAzureSecurityCenter(ctx, \"example\", \u0026sentinel.DataConnectorAzureSecurityCenterArgs{\n\t\t\tName:                    pulumi.String(\"example\"),\n\t\t\tLogAnalyticsWorkspaceId: exampleLogAnalyticsWorkspaceOnboarding.WorkspaceId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.operationalinsights.AnalyticsWorkspace;\nimport com.pulumi.azure.operationalinsights.AnalyticsWorkspaceArgs;\nimport com.pulumi.azure.sentinel.LogAnalyticsWorkspaceOnboarding;\nimport com.pulumi.azure.sentinel.LogAnalyticsWorkspaceOnboardingArgs;\nimport com.pulumi.azure.sentinel.DataConnectorAzureSecurityCenter;\nimport com.pulumi.azure.sentinel.DataConnectorAzureSecurityCenterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-rg\")\n            .location(\"west europe\")\n            .build());\n\n        var exampleAnalyticsWorkspace = new AnalyticsWorkspace(\"exampleAnalyticsWorkspace\", AnalyticsWorkspaceArgs.builder()\n            .name(\"example-workspace\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .sku(\"PerGB2018\")\n            .build());\n\n        var exampleLogAnalyticsWorkspaceOnboarding = new LogAnalyticsWorkspaceOnboarding(\"exampleLogAnalyticsWorkspaceOnboarding\", LogAnalyticsWorkspaceOnboardingArgs.builder()\n            .workspaceId(exampleAnalyticsWorkspace.id())\n            .build());\n\n        var exampleDataConnectorAzureSecurityCenter = new DataConnectorAzureSecurityCenter(\"exampleDataConnectorAzureSecurityCenter\", DataConnectorAzureSecurityCenterArgs.builder()\n            .name(\"example\")\n            .logAnalyticsWorkspaceId(exampleLogAnalyticsWorkspaceOnboarding.workspaceId())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-rg\n      location: west europe\n  exampleAnalyticsWorkspace:\n    type: azure:operationalinsights:AnalyticsWorkspace\n    name: example\n    properties:\n      name: example-workspace\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      sku: PerGB2018\n  exampleLogAnalyticsWorkspaceOnboarding:\n    type: azure:sentinel:LogAnalyticsWorkspaceOnboarding\n    name: example\n    properties:\n      workspaceId: ${exampleAnalyticsWorkspace.id}\n  exampleDataConnectorAzureSecurityCenter:\n    type: azure:sentinel:DataConnectorAzureSecurityCenter\n    name: example\n    properties:\n      name: example\n      logAnalyticsWorkspaceId: ${exampleLogAnalyticsWorkspaceOnboarding.workspaceId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nAzure Security Center Data Connectors can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:sentinel/dataConnectorAzureSecurityCenter:DataConnectorAzureSecurityCenter example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.OperationalInsights/workspaces/workspace1/providers/Microsoft.SecurityInsights/dataConnectors/dc1\n```\n\n","properties":{"logAnalyticsWorkspaceId":{"type":"string","description":"The ID of the Log Analytics Workspace that this Azure Security Center Data Connector resides in. Changing this forces a new Azure Security Center Data Connector to be created.\n"},"name":{"type":"string","description":"The name which should be used for this Azure Security Center Data Connector. Changing this forces a new Azure Security Center Data Connector to be created.\n"},"subscriptionId":{"type":"string","description":"The ID of the subscription that this Azure Security Center Data Connector connects to. Changing this forces a new Azure Security Center Data Connector to be created.\n"}},"required":["logAnalyticsWorkspaceId","name","subscriptionId"],"inputProperties":{"logAnalyticsWorkspaceId":{"type":"string","description":"The ID of the Log Analytics Workspace that this Azure Security Center Data Connector resides in. Changing this forces a new Azure Security Center Data Connector to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Azure Security Center Data Connector. Changing this forces a new Azure Security Center Data Connector to be created.\n","willReplaceOnChanges":true},"subscriptionId":{"type":"string","description":"The ID of the subscription that this Azure Security Center Data Connector connects to. Changing this forces a new Azure Security Center Data Connector to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["logAnalyticsWorkspaceId"],"stateInputs":{"description":"Input properties used for looking up and filtering DataConnectorAzureSecurityCenter resources.\n","properties":{"logAnalyticsWorkspaceId":{"type":"string","description":"The ID of the Log Analytics Workspace that this Azure Security Center Data Connector resides in. Changing this forces a new Azure Security Center Data Connector to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Azure Security Center Data Connector. Changing this forces a new Azure Security Center Data Connector to be created.\n","willReplaceOnChanges":true},"subscriptionId":{"type":"string","description":"The ID of the subscription that this Azure Security Center Data Connector connects to. Changing this forces a new Azure Security Center Data Connector to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:sentinel/dataConnectorDynamics365:DataConnectorDynamics365":{"description":"Manages a Dynamics 365 Data Connector.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-rg\",\n    location: \"West Europe\",\n});\nconst exampleAnalyticsWorkspace = new azure.operationalinsights.AnalyticsWorkspace(\"example\", {\n    name: \"example-workspace\",\n    location: example.location,\n    resourceGroupName: example.name,\n    sku: \"PerGB2018\",\n});\nconst exampleLogAnalyticsWorkspaceOnboarding = new azure.sentinel.LogAnalyticsWorkspaceOnboarding(\"example\", {workspaceId: exampleAnalyticsWorkspace.id});\nconst exampleDataConnectorDynamics365 = new azure.sentinel.DataConnectorDynamics365(\"example\", {\n    name: \"example\",\n    logAnalyticsWorkspaceId: exampleLogAnalyticsWorkspaceOnboarding.workspaceId,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-rg\",\n    location=\"West Europe\")\nexample_analytics_workspace = azure.operationalinsights.AnalyticsWorkspace(\"example\",\n    name=\"example-workspace\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku=\"PerGB2018\")\nexample_log_analytics_workspace_onboarding = azure.sentinel.LogAnalyticsWorkspaceOnboarding(\"example\", workspace_id=example_analytics_workspace.id)\nexample_data_connector_dynamics365 = azure.sentinel.DataConnectorDynamics365(\"example\",\n    name=\"example\",\n    log_analytics_workspace_id=example_log_analytics_workspace_onboarding.workspace_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-rg\",\n        Location = \"West Europe\",\n    });\n\n    var exampleAnalyticsWorkspace = new Azure.OperationalInsights.AnalyticsWorkspace(\"example\", new()\n    {\n        Name = \"example-workspace\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Sku = \"PerGB2018\",\n    });\n\n    var exampleLogAnalyticsWorkspaceOnboarding = new Azure.Sentinel.LogAnalyticsWorkspaceOnboarding(\"example\", new()\n    {\n        WorkspaceId = exampleAnalyticsWorkspace.Id,\n    });\n\n    var exampleDataConnectorDynamics365 = new Azure.Sentinel.DataConnectorDynamics365(\"example\", new()\n    {\n        Name = \"example\",\n        LogAnalyticsWorkspaceId = exampleLogAnalyticsWorkspaceOnboarding.WorkspaceId,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/operationalinsights\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/sentinel\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-rg\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAnalyticsWorkspace, err := operationalinsights.NewAnalyticsWorkspace(ctx, \"example\", \u0026operationalinsights.AnalyticsWorkspaceArgs{\n\t\t\tName:              pulumi.String(\"example-workspace\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSku:               pulumi.String(\"PerGB2018\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleLogAnalyticsWorkspaceOnboarding, err := sentinel.NewLogAnalyticsWorkspaceOnboarding(ctx, \"example\", \u0026sentinel.LogAnalyticsWorkspaceOnboardingArgs{\n\t\t\tWorkspaceId: exampleAnalyticsWorkspace.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = sentinel.NewDataConnectorDynamics365(ctx, \"example\", \u0026sentinel.DataConnectorDynamics365Args{\n\t\t\tName:                    pulumi.String(\"example\"),\n\t\t\tLogAnalyticsWorkspaceId: exampleLogAnalyticsWorkspaceOnboarding.WorkspaceId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.operationalinsights.AnalyticsWorkspace;\nimport com.pulumi.azure.operationalinsights.AnalyticsWorkspaceArgs;\nimport com.pulumi.azure.sentinel.LogAnalyticsWorkspaceOnboarding;\nimport com.pulumi.azure.sentinel.LogAnalyticsWorkspaceOnboardingArgs;\nimport com.pulumi.azure.sentinel.DataConnectorDynamics365;\nimport com.pulumi.azure.sentinel.DataConnectorDynamics365Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-rg\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleAnalyticsWorkspace = new AnalyticsWorkspace(\"exampleAnalyticsWorkspace\", AnalyticsWorkspaceArgs.builder()\n            .name(\"example-workspace\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .sku(\"PerGB2018\")\n            .build());\n\n        var exampleLogAnalyticsWorkspaceOnboarding = new LogAnalyticsWorkspaceOnboarding(\"exampleLogAnalyticsWorkspaceOnboarding\", LogAnalyticsWorkspaceOnboardingArgs.builder()\n            .workspaceId(exampleAnalyticsWorkspace.id())\n            .build());\n\n        var exampleDataConnectorDynamics365 = new DataConnectorDynamics365(\"exampleDataConnectorDynamics365\", DataConnectorDynamics365Args.builder()\n            .name(\"example\")\n            .logAnalyticsWorkspaceId(exampleLogAnalyticsWorkspaceOnboarding.workspaceId())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-rg\n      location: West Europe\n  exampleAnalyticsWorkspace:\n    type: azure:operationalinsights:AnalyticsWorkspace\n    name: example\n    properties:\n      name: example-workspace\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      sku: PerGB2018\n  exampleLogAnalyticsWorkspaceOnboarding:\n    type: azure:sentinel:LogAnalyticsWorkspaceOnboarding\n    name: example\n    properties:\n      workspaceId: ${exampleAnalyticsWorkspace.id}\n  exampleDataConnectorDynamics365:\n    type: azure:sentinel:DataConnectorDynamics365\n    name: example\n    properties:\n      name: example\n      logAnalyticsWorkspaceId: ${exampleLogAnalyticsWorkspaceOnboarding.workspaceId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nDynamics 365 Data Connectors can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:sentinel/dataConnectorDynamics365:DataConnectorDynamics365 example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.OperationalInsights/workspaces/workspace1/providers/Microsoft.SecurityInsights/dataConnectors/dc1\n```\n\n","properties":{"logAnalyticsWorkspaceId":{"type":"string","description":"The ID of the Log Analytics Workspace that this Dynamics 365 Data Connector resides in. Changing this forces a new Dynamics 365 Data Connector to be created.\n"},"name":{"type":"string","description":"The name which should be used for this Dynamics 365 Data Connector. Changing this forces a new Dynamics 365 Data Connector to be created.\n"},"tenantId":{"type":"string","description":"The ID of the tenant that this Dynamics 365 Data Connector connects to. Changing this forces a new Dynamics 365 Data Connector to be created.\n\n\u003e **Note:** Currently, only the same tenant as the running account is allowed. Cross-tenant scenario is not supported yet.\n"}},"required":["logAnalyticsWorkspaceId","name","tenantId"],"inputProperties":{"logAnalyticsWorkspaceId":{"type":"string","description":"The ID of the Log Analytics Workspace that this Dynamics 365 Data Connector resides in. Changing this forces a new Dynamics 365 Data Connector to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Dynamics 365 Data Connector. Changing this forces a new Dynamics 365 Data Connector to be created.\n","willReplaceOnChanges":true},"tenantId":{"type":"string","description":"The ID of the tenant that this Dynamics 365 Data Connector connects to. Changing this forces a new Dynamics 365 Data Connector to be created.\n\n\u003e **Note:** Currently, only the same tenant as the running account is allowed. Cross-tenant scenario is not supported yet.\n","willReplaceOnChanges":true}},"requiredInputs":["logAnalyticsWorkspaceId"],"stateInputs":{"description":"Input properties used for looking up and filtering DataConnectorDynamics365 resources.\n","properties":{"logAnalyticsWorkspaceId":{"type":"string","description":"The ID of the Log Analytics Workspace that this Dynamics 365 Data Connector resides in. Changing this forces a new Dynamics 365 Data Connector to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Dynamics 365 Data Connector. Changing this forces a new Dynamics 365 Data Connector to be created.\n","willReplaceOnChanges":true},"tenantId":{"type":"string","description":"The ID of the tenant that this Dynamics 365 Data Connector connects to. Changing this forces a new Dynamics 365 Data Connector to be created.\n\n\u003e **Note:** Currently, only the same tenant as the running account is allowed. Cross-tenant scenario is not supported yet.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:sentinel/dataConnectorIot:DataConnectorIot":{"description":"Manages an Iot Data Connector.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-rg\",\n    location: \"West Europe\",\n});\nconst exampleAnalyticsWorkspace = new azure.operationalinsights.AnalyticsWorkspace(\"example\", {\n    name: \"example-workspace\",\n    location: example.location,\n    resourceGroupName: example.name,\n    sku: \"PerGB2018\",\n});\nconst exampleLogAnalyticsWorkspaceOnboarding = new azure.sentinel.LogAnalyticsWorkspaceOnboarding(\"example\", {workspaceId: exampleAnalyticsWorkspace.id});\nconst exampleDataConnectorIot = new azure.sentinel.DataConnectorIot(\"example\", {\n    name: \"example\",\n    logAnalyticsWorkspaceId: exampleLogAnalyticsWorkspaceOnboarding.workspaceId,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-rg\",\n    location=\"West Europe\")\nexample_analytics_workspace = azure.operationalinsights.AnalyticsWorkspace(\"example\",\n    name=\"example-workspace\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku=\"PerGB2018\")\nexample_log_analytics_workspace_onboarding = azure.sentinel.LogAnalyticsWorkspaceOnboarding(\"example\", workspace_id=example_analytics_workspace.id)\nexample_data_connector_iot = azure.sentinel.DataConnectorIot(\"example\",\n    name=\"example\",\n    log_analytics_workspace_id=example_log_analytics_workspace_onboarding.workspace_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-rg\",\n        Location = \"West Europe\",\n    });\n\n    var exampleAnalyticsWorkspace = new Azure.OperationalInsights.AnalyticsWorkspace(\"example\", new()\n    {\n        Name = \"example-workspace\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Sku = \"PerGB2018\",\n    });\n\n    var exampleLogAnalyticsWorkspaceOnboarding = new Azure.Sentinel.LogAnalyticsWorkspaceOnboarding(\"example\", new()\n    {\n        WorkspaceId = exampleAnalyticsWorkspace.Id,\n    });\n\n    var exampleDataConnectorIot = new Azure.Sentinel.DataConnectorIot(\"example\", new()\n    {\n        Name = \"example\",\n        LogAnalyticsWorkspaceId = exampleLogAnalyticsWorkspaceOnboarding.WorkspaceId,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/operationalinsights\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/sentinel\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-rg\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAnalyticsWorkspace, err := operationalinsights.NewAnalyticsWorkspace(ctx, \"example\", \u0026operationalinsights.AnalyticsWorkspaceArgs{\n\t\t\tName:              pulumi.String(\"example-workspace\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSku:               pulumi.String(\"PerGB2018\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleLogAnalyticsWorkspaceOnboarding, err := sentinel.NewLogAnalyticsWorkspaceOnboarding(ctx, \"example\", \u0026sentinel.LogAnalyticsWorkspaceOnboardingArgs{\n\t\t\tWorkspaceId: exampleAnalyticsWorkspace.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = sentinel.NewDataConnectorIot(ctx, \"example\", \u0026sentinel.DataConnectorIotArgs{\n\t\t\tName:                    pulumi.String(\"example\"),\n\t\t\tLogAnalyticsWorkspaceId: exampleLogAnalyticsWorkspaceOnboarding.WorkspaceId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.operationalinsights.AnalyticsWorkspace;\nimport com.pulumi.azure.operationalinsights.AnalyticsWorkspaceArgs;\nimport com.pulumi.azure.sentinel.LogAnalyticsWorkspaceOnboarding;\nimport com.pulumi.azure.sentinel.LogAnalyticsWorkspaceOnboardingArgs;\nimport com.pulumi.azure.sentinel.DataConnectorIot;\nimport com.pulumi.azure.sentinel.DataConnectorIotArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-rg\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleAnalyticsWorkspace = new AnalyticsWorkspace(\"exampleAnalyticsWorkspace\", AnalyticsWorkspaceArgs.builder()\n            .name(\"example-workspace\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .sku(\"PerGB2018\")\n            .build());\n\n        var exampleLogAnalyticsWorkspaceOnboarding = new LogAnalyticsWorkspaceOnboarding(\"exampleLogAnalyticsWorkspaceOnboarding\", LogAnalyticsWorkspaceOnboardingArgs.builder()\n            .workspaceId(exampleAnalyticsWorkspace.id())\n            .build());\n\n        var exampleDataConnectorIot = new DataConnectorIot(\"exampleDataConnectorIot\", DataConnectorIotArgs.builder()\n            .name(\"example\")\n            .logAnalyticsWorkspaceId(exampleLogAnalyticsWorkspaceOnboarding.workspaceId())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-rg\n      location: West Europe\n  exampleAnalyticsWorkspace:\n    type: azure:operationalinsights:AnalyticsWorkspace\n    name: example\n    properties:\n      name: example-workspace\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      sku: PerGB2018\n  exampleLogAnalyticsWorkspaceOnboarding:\n    type: azure:sentinel:LogAnalyticsWorkspaceOnboarding\n    name: example\n    properties:\n      workspaceId: ${exampleAnalyticsWorkspace.id}\n  exampleDataConnectorIot:\n    type: azure:sentinel:DataConnectorIot\n    name: example\n    properties:\n      name: example\n      logAnalyticsWorkspaceId: ${exampleLogAnalyticsWorkspaceOnboarding.workspaceId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nIot Data Connectors can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:sentinel/dataConnectorIot:DataConnectorIot example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.OperationalInsights/workspaces/workspace1/providers/Microsoft.SecurityInsights/dataConnectors/dc1\n```\n\n","properties":{"logAnalyticsWorkspaceId":{"type":"string","description":"The ID of the Log Analytics Workspace that this Iot Data Connector resides in. Changing this forces a new Iot Data Connector to be created.\n"},"name":{"type":"string","description":"The name which should be used for this Iot Data Connector. Changing this forces a new Iot Data Connector to be created.\n"},"subscriptionId":{"type":"string","description":"The ID of the subscription that this Iot Data Connector connects to. Changing this forces a new Iot Data Connector to be created.\n"}},"required":["logAnalyticsWorkspaceId","name","subscriptionId"],"inputProperties":{"logAnalyticsWorkspaceId":{"type":"string","description":"The ID of the Log Analytics Workspace that this Iot Data Connector resides in. Changing this forces a new Iot Data Connector to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Iot Data Connector. Changing this forces a new Iot Data Connector to be created.\n","willReplaceOnChanges":true},"subscriptionId":{"type":"string","description":"The ID of the subscription that this Iot Data Connector connects to. Changing this forces a new Iot Data Connector to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["logAnalyticsWorkspaceId"],"stateInputs":{"description":"Input properties used for looking up and filtering DataConnectorIot resources.\n","properties":{"logAnalyticsWorkspaceId":{"type":"string","description":"The ID of the Log Analytics Workspace that this Iot Data Connector resides in. Changing this forces a new Iot Data Connector to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Iot Data Connector. Changing this forces a new Iot Data Connector to be created.\n","willReplaceOnChanges":true},"subscriptionId":{"type":"string","description":"The ID of the subscription that this Iot Data Connector connects to. Changing this forces a new Iot Data Connector to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:sentinel/dataConnectorMicrosoftCloudAppSecurity:DataConnectorMicrosoftCloudAppSecurity":{"description":"Manages a Microsoft Cloud App Security Data Connector.\n\n!\u003e **Note:** This resource requires that [Enterprise Mobility + Security E5](https://www.microsoft.com/en-us/microsoft-365/enterprise-mobility-security) is enabled on the tenant being connected to.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-rg\",\n    location: \"west europe\",\n});\nconst exampleAnalyticsWorkspace = new azure.operationalinsights.AnalyticsWorkspace(\"example\", {\n    name: \"example-workspace\",\n    location: example.location,\n    resourceGroupName: example.name,\n    sku: \"PerGB2018\",\n});\nconst exampleLogAnalyticsWorkspaceOnboarding = new azure.sentinel.LogAnalyticsWorkspaceOnboarding(\"example\", {workspaceId: exampleAnalyticsWorkspace.id});\nconst exampleDataConnectorMicrosoftCloudAppSecurity = new azure.sentinel.DataConnectorMicrosoftCloudAppSecurity(\"example\", {\n    name: \"example\",\n    logAnalyticsWorkspaceId: exampleLogAnalyticsWorkspaceOnboarding.workspaceId,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-rg\",\n    location=\"west europe\")\nexample_analytics_workspace = azure.operationalinsights.AnalyticsWorkspace(\"example\",\n    name=\"example-workspace\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku=\"PerGB2018\")\nexample_log_analytics_workspace_onboarding = azure.sentinel.LogAnalyticsWorkspaceOnboarding(\"example\", workspace_id=example_analytics_workspace.id)\nexample_data_connector_microsoft_cloud_app_security = azure.sentinel.DataConnectorMicrosoftCloudAppSecurity(\"example\",\n    name=\"example\",\n    log_analytics_workspace_id=example_log_analytics_workspace_onboarding.workspace_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-rg\",\n        Location = \"west europe\",\n    });\n\n    var exampleAnalyticsWorkspace = new Azure.OperationalInsights.AnalyticsWorkspace(\"example\", new()\n    {\n        Name = \"example-workspace\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Sku = \"PerGB2018\",\n    });\n\n    var exampleLogAnalyticsWorkspaceOnboarding = new Azure.Sentinel.LogAnalyticsWorkspaceOnboarding(\"example\", new()\n    {\n        WorkspaceId = exampleAnalyticsWorkspace.Id,\n    });\n\n    var exampleDataConnectorMicrosoftCloudAppSecurity = new Azure.Sentinel.DataConnectorMicrosoftCloudAppSecurity(\"example\", new()\n    {\n        Name = \"example\",\n        LogAnalyticsWorkspaceId = exampleLogAnalyticsWorkspaceOnboarding.WorkspaceId,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/operationalinsights\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/sentinel\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-rg\"),\n\t\t\tLocation: pulumi.String(\"west europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAnalyticsWorkspace, err := operationalinsights.NewAnalyticsWorkspace(ctx, \"example\", \u0026operationalinsights.AnalyticsWorkspaceArgs{\n\t\t\tName:              pulumi.String(\"example-workspace\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSku:               pulumi.String(\"PerGB2018\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleLogAnalyticsWorkspaceOnboarding, err := sentinel.NewLogAnalyticsWorkspaceOnboarding(ctx, \"example\", \u0026sentinel.LogAnalyticsWorkspaceOnboardingArgs{\n\t\t\tWorkspaceId: exampleAnalyticsWorkspace.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = sentinel.NewDataConnectorMicrosoftCloudAppSecurity(ctx, \"example\", \u0026sentinel.DataConnectorMicrosoftCloudAppSecurityArgs{\n\t\t\tName:                    pulumi.String(\"example\"),\n\t\t\tLogAnalyticsWorkspaceId: exampleLogAnalyticsWorkspaceOnboarding.WorkspaceId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.operationalinsights.AnalyticsWorkspace;\nimport com.pulumi.azure.operationalinsights.AnalyticsWorkspaceArgs;\nimport com.pulumi.azure.sentinel.LogAnalyticsWorkspaceOnboarding;\nimport com.pulumi.azure.sentinel.LogAnalyticsWorkspaceOnboardingArgs;\nimport com.pulumi.azure.sentinel.DataConnectorMicrosoftCloudAppSecurity;\nimport com.pulumi.azure.sentinel.DataConnectorMicrosoftCloudAppSecurityArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-rg\")\n            .location(\"west europe\")\n            .build());\n\n        var exampleAnalyticsWorkspace = new AnalyticsWorkspace(\"exampleAnalyticsWorkspace\", AnalyticsWorkspaceArgs.builder()\n            .name(\"example-workspace\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .sku(\"PerGB2018\")\n            .build());\n\n        var exampleLogAnalyticsWorkspaceOnboarding = new LogAnalyticsWorkspaceOnboarding(\"exampleLogAnalyticsWorkspaceOnboarding\", LogAnalyticsWorkspaceOnboardingArgs.builder()\n            .workspaceId(exampleAnalyticsWorkspace.id())\n            .build());\n\n        var exampleDataConnectorMicrosoftCloudAppSecurity = new DataConnectorMicrosoftCloudAppSecurity(\"exampleDataConnectorMicrosoftCloudAppSecurity\", DataConnectorMicrosoftCloudAppSecurityArgs.builder()\n            .name(\"example\")\n            .logAnalyticsWorkspaceId(exampleLogAnalyticsWorkspaceOnboarding.workspaceId())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-rg\n      location: west europe\n  exampleAnalyticsWorkspace:\n    type: azure:operationalinsights:AnalyticsWorkspace\n    name: example\n    properties:\n      name: example-workspace\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      sku: PerGB2018\n  exampleLogAnalyticsWorkspaceOnboarding:\n    type: azure:sentinel:LogAnalyticsWorkspaceOnboarding\n    name: example\n    properties:\n      workspaceId: ${exampleAnalyticsWorkspace.id}\n  exampleDataConnectorMicrosoftCloudAppSecurity:\n    type: azure:sentinel:DataConnectorMicrosoftCloudAppSecurity\n    name: example\n    properties:\n      name: example\n      logAnalyticsWorkspaceId: ${exampleLogAnalyticsWorkspaceOnboarding.workspaceId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nMicrosoft Cloud App Security Data Connectors can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:sentinel/dataConnectorMicrosoftCloudAppSecurity:DataConnectorMicrosoftCloudAppSecurity example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.OperationalInsights/workspaces/workspace1/providers/Microsoft.SecurityInsights/dataConnectors/dc1\n```\n\n","properties":{"alertsEnabled":{"type":"boolean","description":"Should the alerts be enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"discoveryLogsEnabled":{"type":"boolean","description":"Should the Discovery Logs be enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n\n\u003e **Note:** One of either \u003cspan pulumi-lang-nodejs=\"`alertsEnabled`\" pulumi-lang-dotnet=\"`AlertsEnabled`\" pulumi-lang-go=\"`alertsEnabled`\" pulumi-lang-python=\"`alerts_enabled`\" pulumi-lang-yaml=\"`alertsEnabled`\" pulumi-lang-java=\"`alertsEnabled`\"\u003e`alerts_enabled`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`discoveryLogsEnabled`\" pulumi-lang-dotnet=\"`DiscoveryLogsEnabled`\" pulumi-lang-go=\"`discoveryLogsEnabled`\" pulumi-lang-python=\"`discovery_logs_enabled`\" pulumi-lang-yaml=\"`discoveryLogsEnabled`\" pulumi-lang-java=\"`discoveryLogsEnabled`\"\u003e`discovery_logs_enabled`\u003c/span\u003e has to be specified.\n"},"logAnalyticsWorkspaceId":{"type":"string","description":"The ID of the Log Analytics Workspace that this Microsoft Cloud App Security Data Connector resides in. Changing this forces a new Microsoft Cloud App Security Data Connector to be created.\n"},"name":{"type":"string","description":"The name which should be used for this Microsoft Cloud App Security Data Connector. Changing this forces a new Microsoft Cloud App Security Data Connector to be created.\n"},"tenantId":{"type":"string","description":"The ID of the Tenant that this Microsoft Cloud App Security Data Connector connects to.\n\n\u003e **Note:** Currently, only the same tenant as the running account is allowed. Cross-tenant scenario is not supported yet.\n"}},"required":["logAnalyticsWorkspaceId","name","tenantId"],"inputProperties":{"alertsEnabled":{"type":"boolean","description":"Should the alerts be enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"discoveryLogsEnabled":{"type":"boolean","description":"Should the Discovery Logs be enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n\n\u003e **Note:** One of either \u003cspan pulumi-lang-nodejs=\"`alertsEnabled`\" pulumi-lang-dotnet=\"`AlertsEnabled`\" pulumi-lang-go=\"`alertsEnabled`\" pulumi-lang-python=\"`alerts_enabled`\" pulumi-lang-yaml=\"`alertsEnabled`\" pulumi-lang-java=\"`alertsEnabled`\"\u003e`alerts_enabled`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`discoveryLogsEnabled`\" pulumi-lang-dotnet=\"`DiscoveryLogsEnabled`\" pulumi-lang-go=\"`discoveryLogsEnabled`\" pulumi-lang-python=\"`discovery_logs_enabled`\" pulumi-lang-yaml=\"`discoveryLogsEnabled`\" pulumi-lang-java=\"`discoveryLogsEnabled`\"\u003e`discovery_logs_enabled`\u003c/span\u003e has to be specified.\n"},"logAnalyticsWorkspaceId":{"type":"string","description":"The ID of the Log Analytics Workspace that this Microsoft Cloud App Security Data Connector resides in. Changing this forces a new Microsoft Cloud App Security Data Connector to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Microsoft Cloud App Security Data Connector. Changing this forces a new Microsoft Cloud App Security Data Connector to be created.\n","willReplaceOnChanges":true},"tenantId":{"type":"string","description":"The ID of the Tenant that this Microsoft Cloud App Security Data Connector connects to.\n\n\u003e **Note:** Currently, only the same tenant as the running account is allowed. Cross-tenant scenario is not supported yet.\n"}},"requiredInputs":["logAnalyticsWorkspaceId"],"stateInputs":{"description":"Input properties used for looking up and filtering DataConnectorMicrosoftCloudAppSecurity resources.\n","properties":{"alertsEnabled":{"type":"boolean","description":"Should the alerts be enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"discoveryLogsEnabled":{"type":"boolean","description":"Should the Discovery Logs be enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n\n\u003e **Note:** One of either \u003cspan pulumi-lang-nodejs=\"`alertsEnabled`\" pulumi-lang-dotnet=\"`AlertsEnabled`\" pulumi-lang-go=\"`alertsEnabled`\" pulumi-lang-python=\"`alerts_enabled`\" pulumi-lang-yaml=\"`alertsEnabled`\" pulumi-lang-java=\"`alertsEnabled`\"\u003e`alerts_enabled`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`discoveryLogsEnabled`\" pulumi-lang-dotnet=\"`DiscoveryLogsEnabled`\" pulumi-lang-go=\"`discoveryLogsEnabled`\" pulumi-lang-python=\"`discovery_logs_enabled`\" pulumi-lang-yaml=\"`discoveryLogsEnabled`\" pulumi-lang-java=\"`discoveryLogsEnabled`\"\u003e`discovery_logs_enabled`\u003c/span\u003e has to be specified.\n"},"logAnalyticsWorkspaceId":{"type":"string","description":"The ID of the Log Analytics Workspace that this Microsoft Cloud App Security Data Connector resides in. Changing this forces a new Microsoft Cloud App Security Data Connector to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Microsoft Cloud App Security Data Connector. Changing this forces a new Microsoft Cloud App Security Data Connector to be created.\n","willReplaceOnChanges":true},"tenantId":{"type":"string","description":"The ID of the Tenant that this Microsoft Cloud App Security Data Connector connects to.\n\n\u003e **Note:** Currently, only the same tenant as the running account is allowed. Cross-tenant scenario is not supported yet.\n"}},"type":"object"}},"azure:sentinel/dataConnectorMicrosoftDefenderAdvancedThreatProtection:DataConnectorMicrosoftDefenderAdvancedThreatProtection":{"description":"Manages a Microsoft Defender Advanced Threat Protection Data Connector.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-rg\",\n    location: \"west europe\",\n});\nconst exampleAnalyticsWorkspace = new azure.operationalinsights.AnalyticsWorkspace(\"example\", {\n    name: \"example-workspace\",\n    location: example.location,\n    resourceGroupName: example.name,\n    sku: \"PerGB2018\",\n});\nconst exampleLogAnalyticsWorkspaceOnboarding = new azure.sentinel.LogAnalyticsWorkspaceOnboarding(\"example\", {workspaceId: exampleAnalyticsWorkspace.id});\nconst exampleDataConnectorMicrosoftDefenderAdvancedThreatProtection = new azure.sentinel.DataConnectorMicrosoftDefenderAdvancedThreatProtection(\"example\", {\n    name: \"example\",\n    logAnalyticsWorkspaceId: exampleLogAnalyticsWorkspaceOnboarding.workspaceId,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-rg\",\n    location=\"west europe\")\nexample_analytics_workspace = azure.operationalinsights.AnalyticsWorkspace(\"example\",\n    name=\"example-workspace\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku=\"PerGB2018\")\nexample_log_analytics_workspace_onboarding = azure.sentinel.LogAnalyticsWorkspaceOnboarding(\"example\", workspace_id=example_analytics_workspace.id)\nexample_data_connector_microsoft_defender_advanced_threat_protection = azure.sentinel.DataConnectorMicrosoftDefenderAdvancedThreatProtection(\"example\",\n    name=\"example\",\n    log_analytics_workspace_id=example_log_analytics_workspace_onboarding.workspace_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-rg\",\n        Location = \"west europe\",\n    });\n\n    var exampleAnalyticsWorkspace = new Azure.OperationalInsights.AnalyticsWorkspace(\"example\", new()\n    {\n        Name = \"example-workspace\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Sku = \"PerGB2018\",\n    });\n\n    var exampleLogAnalyticsWorkspaceOnboarding = new Azure.Sentinel.LogAnalyticsWorkspaceOnboarding(\"example\", new()\n    {\n        WorkspaceId = exampleAnalyticsWorkspace.Id,\n    });\n\n    var exampleDataConnectorMicrosoftDefenderAdvancedThreatProtection = new Azure.Sentinel.DataConnectorMicrosoftDefenderAdvancedThreatProtection(\"example\", new()\n    {\n        Name = \"example\",\n        LogAnalyticsWorkspaceId = exampleLogAnalyticsWorkspaceOnboarding.WorkspaceId,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/operationalinsights\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/sentinel\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-rg\"),\n\t\t\tLocation: pulumi.String(\"west europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAnalyticsWorkspace, err := operationalinsights.NewAnalyticsWorkspace(ctx, \"example\", \u0026operationalinsights.AnalyticsWorkspaceArgs{\n\t\t\tName:              pulumi.String(\"example-workspace\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSku:               pulumi.String(\"PerGB2018\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleLogAnalyticsWorkspaceOnboarding, err := sentinel.NewLogAnalyticsWorkspaceOnboarding(ctx, \"example\", \u0026sentinel.LogAnalyticsWorkspaceOnboardingArgs{\n\t\t\tWorkspaceId: exampleAnalyticsWorkspace.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = sentinel.NewDataConnectorMicrosoftDefenderAdvancedThreatProtection(ctx, \"example\", \u0026sentinel.DataConnectorMicrosoftDefenderAdvancedThreatProtectionArgs{\n\t\t\tName:                    pulumi.String(\"example\"),\n\t\t\tLogAnalyticsWorkspaceId: exampleLogAnalyticsWorkspaceOnboarding.WorkspaceId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.operationalinsights.AnalyticsWorkspace;\nimport com.pulumi.azure.operationalinsights.AnalyticsWorkspaceArgs;\nimport com.pulumi.azure.sentinel.LogAnalyticsWorkspaceOnboarding;\nimport com.pulumi.azure.sentinel.LogAnalyticsWorkspaceOnboardingArgs;\nimport com.pulumi.azure.sentinel.DataConnectorMicrosoftDefenderAdvancedThreatProtection;\nimport com.pulumi.azure.sentinel.DataConnectorMicrosoftDefenderAdvancedThreatProtectionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-rg\")\n            .location(\"west europe\")\n            .build());\n\n        var exampleAnalyticsWorkspace = new AnalyticsWorkspace(\"exampleAnalyticsWorkspace\", AnalyticsWorkspaceArgs.builder()\n            .name(\"example-workspace\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .sku(\"PerGB2018\")\n            .build());\n\n        var exampleLogAnalyticsWorkspaceOnboarding = new LogAnalyticsWorkspaceOnboarding(\"exampleLogAnalyticsWorkspaceOnboarding\", LogAnalyticsWorkspaceOnboardingArgs.builder()\n            .workspaceId(exampleAnalyticsWorkspace.id())\n            .build());\n\n        var exampleDataConnectorMicrosoftDefenderAdvancedThreatProtection = new DataConnectorMicrosoftDefenderAdvancedThreatProtection(\"exampleDataConnectorMicrosoftDefenderAdvancedThreatProtection\", DataConnectorMicrosoftDefenderAdvancedThreatProtectionArgs.builder()\n            .name(\"example\")\n            .logAnalyticsWorkspaceId(exampleLogAnalyticsWorkspaceOnboarding.workspaceId())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-rg\n      location: west europe\n  exampleAnalyticsWorkspace:\n    type: azure:operationalinsights:AnalyticsWorkspace\n    name: example\n    properties:\n      name: example-workspace\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      sku: PerGB2018\n  exampleLogAnalyticsWorkspaceOnboarding:\n    type: azure:sentinel:LogAnalyticsWorkspaceOnboarding\n    name: example\n    properties:\n      workspaceId: ${exampleAnalyticsWorkspace.id}\n  exampleDataConnectorMicrosoftDefenderAdvancedThreatProtection:\n    type: azure:sentinel:DataConnectorMicrosoftDefenderAdvancedThreatProtection\n    name: example\n    properties:\n      name: example\n      logAnalyticsWorkspaceId: ${exampleLogAnalyticsWorkspaceOnboarding.workspaceId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nMicrosoft Defender Advanced Threat Protection Data Connectors can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:sentinel/dataConnectorMicrosoftDefenderAdvancedThreatProtection:DataConnectorMicrosoftDefenderAdvancedThreatProtection example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.OperationalInsights/workspaces/workspace1/providers/Microsoft.SecurityInsights/dataConnectors/dc1\n```\n\n","properties":{"logAnalyticsWorkspaceId":{"type":"string","description":"The ID of the Log Analytics Workspace that this Microsoft Defender Advanced Threat Protection Data Connector resides in. Changing this forces a new Microsoft Defender Advanced Threat Protection Data Connector to be created.\n"},"name":{"type":"string","description":"The name which should be used for this Microsoft Defender Advanced Threat Protection Data Connector. Changing this forces a new Microsoft Defender Advanced Threat Protection Data Connector to be created.\n"},"tenantId":{"type":"string","description":"The ID of the tenant that this Microsoft Defender Advanced Threat Protection Data Connector connects to. Changing this forces a new Microsoft Defender Advanced Threat Protection Data Connector to be created.\n\n\u003e **Note:** Currently, only the same tenant as the running account is allowed. Cross-tenant scenario is not supported yet.\n"}},"required":["logAnalyticsWorkspaceId","name","tenantId"],"inputProperties":{"logAnalyticsWorkspaceId":{"type":"string","description":"The ID of the Log Analytics Workspace that this Microsoft Defender Advanced Threat Protection Data Connector resides in. Changing this forces a new Microsoft Defender Advanced Threat Protection Data Connector to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Microsoft Defender Advanced Threat Protection Data Connector. Changing this forces a new Microsoft Defender Advanced Threat Protection Data Connector to be created.\n","willReplaceOnChanges":true},"tenantId":{"type":"string","description":"The ID of the tenant that this Microsoft Defender Advanced Threat Protection Data Connector connects to. Changing this forces a new Microsoft Defender Advanced Threat Protection Data Connector to be created.\n\n\u003e **Note:** Currently, only the same tenant as the running account is allowed. Cross-tenant scenario is not supported yet.\n","willReplaceOnChanges":true}},"requiredInputs":["logAnalyticsWorkspaceId"],"stateInputs":{"description":"Input properties used for looking up and filtering DataConnectorMicrosoftDefenderAdvancedThreatProtection resources.\n","properties":{"logAnalyticsWorkspaceId":{"type":"string","description":"The ID of the Log Analytics Workspace that this Microsoft Defender Advanced Threat Protection Data Connector resides in. Changing this forces a new Microsoft Defender Advanced Threat Protection Data Connector to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Microsoft Defender Advanced Threat Protection Data Connector. Changing this forces a new Microsoft Defender Advanced Threat Protection Data Connector to be created.\n","willReplaceOnChanges":true},"tenantId":{"type":"string","description":"The ID of the tenant that this Microsoft Defender Advanced Threat Protection Data Connector connects to. Changing this forces a new Microsoft Defender Advanced Threat Protection Data Connector to be created.\n\n\u003e **Note:** Currently, only the same tenant as the running account is allowed. Cross-tenant scenario is not supported yet.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:sentinel/dataConnectorMicrosoftThreatIntelligence:DataConnectorMicrosoftThreatIntelligence":{"description":"Manages a Microsoft Threat Intelligence Data Connector.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-rg\",\n    location: \"east us\",\n});\nconst exampleAnalyticsWorkspace = new azure.operationalinsights.AnalyticsWorkspace(\"example\", {\n    name: \"example-workspace\",\n    location: example.location,\n    resourceGroupName: example.name,\n    sku: \"PerGB2018\",\n});\nconst exampleLogAnalyticsWorkspaceOnboarding = new azure.sentinel.LogAnalyticsWorkspaceOnboarding(\"example\", {workspaceId: exampleAnalyticsWorkspace.id});\nconst exampleDataConnectorMicrosoftThreatIntelligence = new azure.sentinel.DataConnectorMicrosoftThreatIntelligence(\"example\", {\n    name: \"example-dc-msti\",\n    logAnalyticsWorkspaceId: exampleLogAnalyticsWorkspaceOnboarding.workspaceId,\n    microsoftEmergingThreatFeedLookbackDate: \"1970-01-01T00:00:00Z\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-rg\",\n    location=\"east us\")\nexample_analytics_workspace = azure.operationalinsights.AnalyticsWorkspace(\"example\",\n    name=\"example-workspace\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku=\"PerGB2018\")\nexample_log_analytics_workspace_onboarding = azure.sentinel.LogAnalyticsWorkspaceOnboarding(\"example\", workspace_id=example_analytics_workspace.id)\nexample_data_connector_microsoft_threat_intelligence = azure.sentinel.DataConnectorMicrosoftThreatIntelligence(\"example\",\n    name=\"example-dc-msti\",\n    log_analytics_workspace_id=example_log_analytics_workspace_onboarding.workspace_id,\n    microsoft_emerging_threat_feed_lookback_date=\"1970-01-01T00:00:00Z\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-rg\",\n        Location = \"east us\",\n    });\n\n    var exampleAnalyticsWorkspace = new Azure.OperationalInsights.AnalyticsWorkspace(\"example\", new()\n    {\n        Name = \"example-workspace\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Sku = \"PerGB2018\",\n    });\n\n    var exampleLogAnalyticsWorkspaceOnboarding = new Azure.Sentinel.LogAnalyticsWorkspaceOnboarding(\"example\", new()\n    {\n        WorkspaceId = exampleAnalyticsWorkspace.Id,\n    });\n\n    var exampleDataConnectorMicrosoftThreatIntelligence = new Azure.Sentinel.DataConnectorMicrosoftThreatIntelligence(\"example\", new()\n    {\n        Name = \"example-dc-msti\",\n        LogAnalyticsWorkspaceId = exampleLogAnalyticsWorkspaceOnboarding.WorkspaceId,\n        MicrosoftEmergingThreatFeedLookbackDate = \"1970-01-01T00:00:00Z\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/operationalinsights\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/sentinel\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-rg\"),\n\t\t\tLocation: pulumi.String(\"east us\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAnalyticsWorkspace, err := operationalinsights.NewAnalyticsWorkspace(ctx, \"example\", \u0026operationalinsights.AnalyticsWorkspaceArgs{\n\t\t\tName:              pulumi.String(\"example-workspace\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSku:               pulumi.String(\"PerGB2018\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleLogAnalyticsWorkspaceOnboarding, err := sentinel.NewLogAnalyticsWorkspaceOnboarding(ctx, \"example\", \u0026sentinel.LogAnalyticsWorkspaceOnboardingArgs{\n\t\t\tWorkspaceId: exampleAnalyticsWorkspace.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = sentinel.NewDataConnectorMicrosoftThreatIntelligence(ctx, \"example\", \u0026sentinel.DataConnectorMicrosoftThreatIntelligenceArgs{\n\t\t\tName:                                    pulumi.String(\"example-dc-msti\"),\n\t\t\tLogAnalyticsWorkspaceId:                 exampleLogAnalyticsWorkspaceOnboarding.WorkspaceId,\n\t\t\tMicrosoftEmergingThreatFeedLookbackDate: pulumi.String(\"1970-01-01T00:00:00Z\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.operationalinsights.AnalyticsWorkspace;\nimport com.pulumi.azure.operationalinsights.AnalyticsWorkspaceArgs;\nimport com.pulumi.azure.sentinel.LogAnalyticsWorkspaceOnboarding;\nimport com.pulumi.azure.sentinel.LogAnalyticsWorkspaceOnboardingArgs;\nimport com.pulumi.azure.sentinel.DataConnectorMicrosoftThreatIntelligence;\nimport com.pulumi.azure.sentinel.DataConnectorMicrosoftThreatIntelligenceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-rg\")\n            .location(\"east us\")\n            .build());\n\n        var exampleAnalyticsWorkspace = new AnalyticsWorkspace(\"exampleAnalyticsWorkspace\", AnalyticsWorkspaceArgs.builder()\n            .name(\"example-workspace\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .sku(\"PerGB2018\")\n            .build());\n\n        var exampleLogAnalyticsWorkspaceOnboarding = new LogAnalyticsWorkspaceOnboarding(\"exampleLogAnalyticsWorkspaceOnboarding\", LogAnalyticsWorkspaceOnboardingArgs.builder()\n            .workspaceId(exampleAnalyticsWorkspace.id())\n            .build());\n\n        var exampleDataConnectorMicrosoftThreatIntelligence = new DataConnectorMicrosoftThreatIntelligence(\"exampleDataConnectorMicrosoftThreatIntelligence\", DataConnectorMicrosoftThreatIntelligenceArgs.builder()\n            .name(\"example-dc-msti\")\n            .logAnalyticsWorkspaceId(exampleLogAnalyticsWorkspaceOnboarding.workspaceId())\n            .microsoftEmergingThreatFeedLookbackDate(\"1970-01-01T00:00:00Z\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-rg\n      location: east us\n  exampleAnalyticsWorkspace:\n    type: azure:operationalinsights:AnalyticsWorkspace\n    name: example\n    properties:\n      name: example-workspace\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      sku: PerGB2018\n  exampleLogAnalyticsWorkspaceOnboarding:\n    type: azure:sentinel:LogAnalyticsWorkspaceOnboarding\n    name: example\n    properties:\n      workspaceId: ${exampleAnalyticsWorkspace.id}\n  exampleDataConnectorMicrosoftThreatIntelligence:\n    type: azure:sentinel:DataConnectorMicrosoftThreatIntelligence\n    name: example\n    properties:\n      name: example-dc-msti\n      logAnalyticsWorkspaceId: ${exampleLogAnalyticsWorkspaceOnboarding.workspaceId}\n      microsoftEmergingThreatFeedLookbackDate: 1970-01-01T00:00:00Z\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nsentinels can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:sentinel/dataConnectorMicrosoftThreatIntelligence:DataConnectorMicrosoftThreatIntelligence example /subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/resGroup1/providers/Microsoft.OperationalInsights/workspaces/workspace1/providers/Microsoft.SecurityInsights/dataConnectors/dc1\n```\n\n","properties":{"logAnalyticsWorkspaceId":{"type":"string","description":"The ID of the Log Analytics Workspace. Changing this forces a new Data Connector to be created.\n"},"microsoftEmergingThreatFeedLookbackDate":{"type":"string","description":"The lookback date for the Microsoft Emerging Threat Feed in RFC3339. Changing this forces a new Data Connector to be created.\n"},"name":{"type":"string","description":"The name which should be used for this Microsoft Threat Intelligence Data Connector. Changing this forces a new Microsoft Threat Intelligence Data Connector to be created.\n"},"tenantId":{"type":"string","description":"The ID of the tenant that this Microsoft Threat Intelligence Data Connector connects to. Changing this forces a new Microsoft Threat Intelligence Data Connector to be created.\n\n\u003e **Note:** Currently, only the same tenant as the running account is allowed. Cross-tenant scenario is not supported yet.\n"}},"required":["logAnalyticsWorkspaceId","microsoftEmergingThreatFeedLookbackDate","name","tenantId"],"inputProperties":{"logAnalyticsWorkspaceId":{"type":"string","description":"The ID of the Log Analytics Workspace. Changing this forces a new Data Connector to be created.\n","willReplaceOnChanges":true},"microsoftEmergingThreatFeedLookbackDate":{"type":"string","description":"The lookback date for the Microsoft Emerging Threat Feed in RFC3339. Changing this forces a new Data Connector to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Microsoft Threat Intelligence Data Connector. Changing this forces a new Microsoft Threat Intelligence Data Connector to be created.\n","willReplaceOnChanges":true},"tenantId":{"type":"string","description":"The ID of the tenant that this Microsoft Threat Intelligence Data Connector connects to. Changing this forces a new Microsoft Threat Intelligence Data Connector to be created.\n\n\u003e **Note:** Currently, only the same tenant as the running account is allowed. Cross-tenant scenario is not supported yet.\n","willReplaceOnChanges":true}},"requiredInputs":["logAnalyticsWorkspaceId","microsoftEmergingThreatFeedLookbackDate"],"stateInputs":{"description":"Input properties used for looking up and filtering DataConnectorMicrosoftThreatIntelligence resources.\n","properties":{"logAnalyticsWorkspaceId":{"type":"string","description":"The ID of the Log Analytics Workspace. Changing this forces a new Data Connector to be created.\n","willReplaceOnChanges":true},"microsoftEmergingThreatFeedLookbackDate":{"type":"string","description":"The lookback date for the Microsoft Emerging Threat Feed in RFC3339. Changing this forces a new Data Connector to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Microsoft Threat Intelligence Data Connector. Changing this forces a new Microsoft Threat Intelligence Data Connector to be created.\n","willReplaceOnChanges":true},"tenantId":{"type":"string","description":"The ID of the tenant that this Microsoft Threat Intelligence Data Connector connects to. Changing this forces a new Microsoft Threat Intelligence Data Connector to be created.\n\n\u003e **Note:** Currently, only the same tenant as the running account is allowed. Cross-tenant scenario is not supported yet.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:sentinel/dataConnectorMicrosoftThreatProtection:DataConnectorMicrosoftThreatProtection":{"description":"Manages a Microsoft Threat Protection Data Connector.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-rg\",\n    location: \"West Europe\",\n});\nconst exampleAnalyticsWorkspace = new azure.operationalinsights.AnalyticsWorkspace(\"example\", {\n    name: \"example-workspace\",\n    location: example.location,\n    resourceGroupName: example.name,\n    sku: \"PerGB2018\",\n});\nconst exampleLogAnalyticsWorkspaceOnboarding = new azure.sentinel.LogAnalyticsWorkspaceOnboarding(\"example\", {workspaceId: exampleAnalyticsWorkspace.id});\nconst exampleDataConnectorMicrosoftThreatProtection = new azure.sentinel.DataConnectorMicrosoftThreatProtection(\"example\", {\n    name: \"example\",\n    logAnalyticsWorkspaceId: exampleLogAnalyticsWorkspaceOnboarding.workspaceId,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-rg\",\n    location=\"West Europe\")\nexample_analytics_workspace = azure.operationalinsights.AnalyticsWorkspace(\"example\",\n    name=\"example-workspace\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku=\"PerGB2018\")\nexample_log_analytics_workspace_onboarding = azure.sentinel.LogAnalyticsWorkspaceOnboarding(\"example\", workspace_id=example_analytics_workspace.id)\nexample_data_connector_microsoft_threat_protection = azure.sentinel.DataConnectorMicrosoftThreatProtection(\"example\",\n    name=\"example\",\n    log_analytics_workspace_id=example_log_analytics_workspace_onboarding.workspace_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-rg\",\n        Location = \"West Europe\",\n    });\n\n    var exampleAnalyticsWorkspace = new Azure.OperationalInsights.AnalyticsWorkspace(\"example\", new()\n    {\n        Name = \"example-workspace\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Sku = \"PerGB2018\",\n    });\n\n    var exampleLogAnalyticsWorkspaceOnboarding = new Azure.Sentinel.LogAnalyticsWorkspaceOnboarding(\"example\", new()\n    {\n        WorkspaceId = exampleAnalyticsWorkspace.Id,\n    });\n\n    var exampleDataConnectorMicrosoftThreatProtection = new Azure.Sentinel.DataConnectorMicrosoftThreatProtection(\"example\", new()\n    {\n        Name = \"example\",\n        LogAnalyticsWorkspaceId = exampleLogAnalyticsWorkspaceOnboarding.WorkspaceId,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/operationalinsights\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/sentinel\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-rg\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAnalyticsWorkspace, err := operationalinsights.NewAnalyticsWorkspace(ctx, \"example\", \u0026operationalinsights.AnalyticsWorkspaceArgs{\n\t\t\tName:              pulumi.String(\"example-workspace\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSku:               pulumi.String(\"PerGB2018\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleLogAnalyticsWorkspaceOnboarding, err := sentinel.NewLogAnalyticsWorkspaceOnboarding(ctx, \"example\", \u0026sentinel.LogAnalyticsWorkspaceOnboardingArgs{\n\t\t\tWorkspaceId: exampleAnalyticsWorkspace.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = sentinel.NewDataConnectorMicrosoftThreatProtection(ctx, \"example\", \u0026sentinel.DataConnectorMicrosoftThreatProtectionArgs{\n\t\t\tName:                    pulumi.String(\"example\"),\n\t\t\tLogAnalyticsWorkspaceId: exampleLogAnalyticsWorkspaceOnboarding.WorkspaceId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.operationalinsights.AnalyticsWorkspace;\nimport com.pulumi.azure.operationalinsights.AnalyticsWorkspaceArgs;\nimport com.pulumi.azure.sentinel.LogAnalyticsWorkspaceOnboarding;\nimport com.pulumi.azure.sentinel.LogAnalyticsWorkspaceOnboardingArgs;\nimport com.pulumi.azure.sentinel.DataConnectorMicrosoftThreatProtection;\nimport com.pulumi.azure.sentinel.DataConnectorMicrosoftThreatProtectionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-rg\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleAnalyticsWorkspace = new AnalyticsWorkspace(\"exampleAnalyticsWorkspace\", AnalyticsWorkspaceArgs.builder()\n            .name(\"example-workspace\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .sku(\"PerGB2018\")\n            .build());\n\n        var exampleLogAnalyticsWorkspaceOnboarding = new LogAnalyticsWorkspaceOnboarding(\"exampleLogAnalyticsWorkspaceOnboarding\", LogAnalyticsWorkspaceOnboardingArgs.builder()\n            .workspaceId(exampleAnalyticsWorkspace.id())\n            .build());\n\n        var exampleDataConnectorMicrosoftThreatProtection = new DataConnectorMicrosoftThreatProtection(\"exampleDataConnectorMicrosoftThreatProtection\", DataConnectorMicrosoftThreatProtectionArgs.builder()\n            .name(\"example\")\n            .logAnalyticsWorkspaceId(exampleLogAnalyticsWorkspaceOnboarding.workspaceId())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-rg\n      location: West Europe\n  exampleAnalyticsWorkspace:\n    type: azure:operationalinsights:AnalyticsWorkspace\n    name: example\n    properties:\n      name: example-workspace\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      sku: PerGB2018\n  exampleLogAnalyticsWorkspaceOnboarding:\n    type: azure:sentinel:LogAnalyticsWorkspaceOnboarding\n    name: example\n    properties:\n      workspaceId: ${exampleAnalyticsWorkspace.id}\n  exampleDataConnectorMicrosoftThreatProtection:\n    type: azure:sentinel:DataConnectorMicrosoftThreatProtection\n    name: example\n    properties:\n      name: example\n      logAnalyticsWorkspaceId: ${exampleLogAnalyticsWorkspaceOnboarding.workspaceId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nMicrosoft Threat Protection Data Connectors can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:sentinel/dataConnectorMicrosoftThreatProtection:DataConnectorMicrosoftThreatProtection example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.OperationalInsights/workspaces/workspace1/providers/Microsoft.SecurityInsights/dataConnectors/dc1\n```\n\n","properties":{"logAnalyticsWorkspaceId":{"type":"string","description":"The ID of the Log Analytics Workspace that this Microsoft Threat Protection Data Connector resides in. Changing this forces a new Microsoft Threat Protection Data Connector to be created.\n"},"name":{"type":"string","description":"The name which should be used for this Microsoft Threat Protection Data Connector. Changing this forces a new Microsoft Threat Protection Data Connector to be created.\n"},"tenantId":{"type":"string","description":"The ID of the tenant that this Microsoft Threat Protection Data Connector connects to. Changing this forces a new Microsoft Threat Protection Data Connector to be created.\n\n\u003e **Note:** Currently, only the same tenant as the running account is allowed. Cross-tenant scenario is not supported yet.\n"}},"required":["logAnalyticsWorkspaceId","name","tenantId"],"inputProperties":{"logAnalyticsWorkspaceId":{"type":"string","description":"The ID of the Log Analytics Workspace that this Microsoft Threat Protection Data Connector resides in. Changing this forces a new Microsoft Threat Protection Data Connector to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Microsoft Threat Protection Data Connector. Changing this forces a new Microsoft Threat Protection Data Connector to be created.\n","willReplaceOnChanges":true},"tenantId":{"type":"string","description":"The ID of the tenant that this Microsoft Threat Protection Data Connector connects to. Changing this forces a new Microsoft Threat Protection Data Connector to be created.\n\n\u003e **Note:** Currently, only the same tenant as the running account is allowed. Cross-tenant scenario is not supported yet.\n","willReplaceOnChanges":true}},"requiredInputs":["logAnalyticsWorkspaceId"],"stateInputs":{"description":"Input properties used for looking up and filtering DataConnectorMicrosoftThreatProtection resources.\n","properties":{"logAnalyticsWorkspaceId":{"type":"string","description":"The ID of the Log Analytics Workspace that this Microsoft Threat Protection Data Connector resides in. Changing this forces a new Microsoft Threat Protection Data Connector to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Microsoft Threat Protection Data Connector. Changing this forces a new Microsoft Threat Protection Data Connector to be created.\n","willReplaceOnChanges":true},"tenantId":{"type":"string","description":"The ID of the tenant that this Microsoft Threat Protection Data Connector connects to. Changing this forces a new Microsoft Threat Protection Data Connector to be created.\n\n\u003e **Note:** Currently, only the same tenant as the running account is allowed. Cross-tenant scenario is not supported yet.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:sentinel/dataConnectorOffice365:DataConnectorOffice365":{"description":"Manages a Office 365 Data Connector.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-rg\",\n    location: \"West Europe\",\n});\nconst exampleAnalyticsWorkspace = new azure.operationalinsights.AnalyticsWorkspace(\"example\", {\n    name: \"example-workspace\",\n    location: example.location,\n    resourceGroupName: example.name,\n    sku: \"PerGB2018\",\n});\nconst exampleLogAnalyticsWorkspaceOnboarding = new azure.sentinel.LogAnalyticsWorkspaceOnboarding(\"example\", {workspaceId: exampleAnalyticsWorkspace.id});\nconst exampleDataConnectorOffice365 = new azure.sentinel.DataConnectorOffice365(\"example\", {\n    name: \"example\",\n    logAnalyticsWorkspaceId: exampleLogAnalyticsWorkspaceOnboarding.workspaceId,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-rg\",\n    location=\"West Europe\")\nexample_analytics_workspace = azure.operationalinsights.AnalyticsWorkspace(\"example\",\n    name=\"example-workspace\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku=\"PerGB2018\")\nexample_log_analytics_workspace_onboarding = azure.sentinel.LogAnalyticsWorkspaceOnboarding(\"example\", workspace_id=example_analytics_workspace.id)\nexample_data_connector_office365 = azure.sentinel.DataConnectorOffice365(\"example\",\n    name=\"example\",\n    log_analytics_workspace_id=example_log_analytics_workspace_onboarding.workspace_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-rg\",\n        Location = \"West Europe\",\n    });\n\n    var exampleAnalyticsWorkspace = new Azure.OperationalInsights.AnalyticsWorkspace(\"example\", new()\n    {\n        Name = \"example-workspace\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Sku = \"PerGB2018\",\n    });\n\n    var exampleLogAnalyticsWorkspaceOnboarding = new Azure.Sentinel.LogAnalyticsWorkspaceOnboarding(\"example\", new()\n    {\n        WorkspaceId = exampleAnalyticsWorkspace.Id,\n    });\n\n    var exampleDataConnectorOffice365 = new Azure.Sentinel.DataConnectorOffice365(\"example\", new()\n    {\n        Name = \"example\",\n        LogAnalyticsWorkspaceId = exampleLogAnalyticsWorkspaceOnboarding.WorkspaceId,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/operationalinsights\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/sentinel\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-rg\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAnalyticsWorkspace, err := operationalinsights.NewAnalyticsWorkspace(ctx, \"example\", \u0026operationalinsights.AnalyticsWorkspaceArgs{\n\t\t\tName:              pulumi.String(\"example-workspace\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSku:               pulumi.String(\"PerGB2018\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleLogAnalyticsWorkspaceOnboarding, err := sentinel.NewLogAnalyticsWorkspaceOnboarding(ctx, \"example\", \u0026sentinel.LogAnalyticsWorkspaceOnboardingArgs{\n\t\t\tWorkspaceId: exampleAnalyticsWorkspace.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = sentinel.NewDataConnectorOffice365(ctx, \"example\", \u0026sentinel.DataConnectorOffice365Args{\n\t\t\tName:                    pulumi.String(\"example\"),\n\t\t\tLogAnalyticsWorkspaceId: exampleLogAnalyticsWorkspaceOnboarding.WorkspaceId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.operationalinsights.AnalyticsWorkspace;\nimport com.pulumi.azure.operationalinsights.AnalyticsWorkspaceArgs;\nimport com.pulumi.azure.sentinel.LogAnalyticsWorkspaceOnboarding;\nimport com.pulumi.azure.sentinel.LogAnalyticsWorkspaceOnboardingArgs;\nimport com.pulumi.azure.sentinel.DataConnectorOffice365;\nimport com.pulumi.azure.sentinel.DataConnectorOffice365Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-rg\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleAnalyticsWorkspace = new AnalyticsWorkspace(\"exampleAnalyticsWorkspace\", AnalyticsWorkspaceArgs.builder()\n            .name(\"example-workspace\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .sku(\"PerGB2018\")\n            .build());\n\n        var exampleLogAnalyticsWorkspaceOnboarding = new LogAnalyticsWorkspaceOnboarding(\"exampleLogAnalyticsWorkspaceOnboarding\", LogAnalyticsWorkspaceOnboardingArgs.builder()\n            .workspaceId(exampleAnalyticsWorkspace.id())\n            .build());\n\n        var exampleDataConnectorOffice365 = new DataConnectorOffice365(\"exampleDataConnectorOffice365\", DataConnectorOffice365Args.builder()\n            .name(\"example\")\n            .logAnalyticsWorkspaceId(exampleLogAnalyticsWorkspaceOnboarding.workspaceId())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-rg\n      location: West Europe\n  exampleAnalyticsWorkspace:\n    type: azure:operationalinsights:AnalyticsWorkspace\n    name: example\n    properties:\n      name: example-workspace\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      sku: PerGB2018\n  exampleLogAnalyticsWorkspaceOnboarding:\n    type: azure:sentinel:LogAnalyticsWorkspaceOnboarding\n    name: example\n    properties:\n      workspaceId: ${exampleAnalyticsWorkspace.id}\n  exampleDataConnectorOffice365:\n    type: azure:sentinel:DataConnectorOffice365\n    name: example\n    properties:\n      name: example\n      logAnalyticsWorkspaceId: ${exampleLogAnalyticsWorkspaceOnboarding.workspaceId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nOffice 365 Data Connectors can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:sentinel/dataConnectorOffice365:DataConnectorOffice365 example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.OperationalInsights/workspaces/workspace1/providers/Microsoft.SecurityInsights/dataConnectors/dc1\n```\n\n","properties":{"exchangeEnabled":{"type":"boolean","description":"Should the Exchange data connector be enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"logAnalyticsWorkspaceId":{"type":"string","description":"The ID of the Log Analytics Workspace that this Office 365 Data Connector resides in. Changing this forces a new Office 365 Data Connector to be created.\n"},"name":{"type":"string","description":"The name which should be used for this Office 365 Data Connector. Changing this forces a new Office 365 Data Connector to be created.\n"},"sharepointEnabled":{"type":"boolean","description":"Should the SharePoint data connector be enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"teamsEnabled":{"type":"boolean","description":"Should the Microsoft Teams data connector be enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n\n\u003e **Note:** At least one of \u003cspan pulumi-lang-nodejs=\"`exchangeEnabled`\" pulumi-lang-dotnet=\"`ExchangeEnabled`\" pulumi-lang-go=\"`exchangeEnabled`\" pulumi-lang-python=\"`exchange_enabled`\" pulumi-lang-yaml=\"`exchangeEnabled`\" pulumi-lang-java=\"`exchangeEnabled`\"\u003e`exchange_enabled`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`sharedpointEnabled`\" pulumi-lang-dotnet=\"`SharedpointEnabled`\" pulumi-lang-go=\"`sharedpointEnabled`\" pulumi-lang-python=\"`sharedpoint_enabled`\" pulumi-lang-yaml=\"`sharedpointEnabled`\" pulumi-lang-java=\"`sharedpointEnabled`\"\u003e`sharedpoint_enabled`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`teamsEnabled`\" pulumi-lang-dotnet=\"`TeamsEnabled`\" pulumi-lang-go=\"`teamsEnabled`\" pulumi-lang-python=\"`teams_enabled`\" pulumi-lang-yaml=\"`teamsEnabled`\" pulumi-lang-java=\"`teamsEnabled`\"\u003e`teams_enabled`\u003c/span\u003e has to be specified.\n"},"tenantId":{"type":"string","description":"The ID of the Tenant that this Office 365 Data Connector connects to. Changing this forces a new Office 365 Data Connector to be created.\n\n\u003e **Note:** Currently, only the same tenant as the running account is allowed. Cross-tenant scenario is not supported yet.\n"}},"required":["logAnalyticsWorkspaceId","name","tenantId"],"inputProperties":{"exchangeEnabled":{"type":"boolean","description":"Should the Exchange data connector be enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"logAnalyticsWorkspaceId":{"type":"string","description":"The ID of the Log Analytics Workspace that this Office 365 Data Connector resides in. Changing this forces a new Office 365 Data Connector to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Office 365 Data Connector. Changing this forces a new Office 365 Data Connector to be created.\n","willReplaceOnChanges":true},"sharepointEnabled":{"type":"boolean","description":"Should the SharePoint data connector be enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"teamsEnabled":{"type":"boolean","description":"Should the Microsoft Teams data connector be enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n\n\u003e **Note:** At least one of \u003cspan pulumi-lang-nodejs=\"`exchangeEnabled`\" pulumi-lang-dotnet=\"`ExchangeEnabled`\" pulumi-lang-go=\"`exchangeEnabled`\" pulumi-lang-python=\"`exchange_enabled`\" pulumi-lang-yaml=\"`exchangeEnabled`\" pulumi-lang-java=\"`exchangeEnabled`\"\u003e`exchange_enabled`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`sharedpointEnabled`\" pulumi-lang-dotnet=\"`SharedpointEnabled`\" pulumi-lang-go=\"`sharedpointEnabled`\" pulumi-lang-python=\"`sharedpoint_enabled`\" pulumi-lang-yaml=\"`sharedpointEnabled`\" pulumi-lang-java=\"`sharedpointEnabled`\"\u003e`sharedpoint_enabled`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`teamsEnabled`\" pulumi-lang-dotnet=\"`TeamsEnabled`\" pulumi-lang-go=\"`teamsEnabled`\" pulumi-lang-python=\"`teams_enabled`\" pulumi-lang-yaml=\"`teamsEnabled`\" pulumi-lang-java=\"`teamsEnabled`\"\u003e`teams_enabled`\u003c/span\u003e has to be specified.\n"},"tenantId":{"type":"string","description":"The ID of the Tenant that this Office 365 Data Connector connects to. Changing this forces a new Office 365 Data Connector to be created.\n\n\u003e **Note:** Currently, only the same tenant as the running account is allowed. Cross-tenant scenario is not supported yet.\n","willReplaceOnChanges":true}},"requiredInputs":["logAnalyticsWorkspaceId"],"stateInputs":{"description":"Input properties used for looking up and filtering DataConnectorOffice365 resources.\n","properties":{"exchangeEnabled":{"type":"boolean","description":"Should the Exchange data connector be enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"logAnalyticsWorkspaceId":{"type":"string","description":"The ID of the Log Analytics Workspace that this Office 365 Data Connector resides in. Changing this forces a new Office 365 Data Connector to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Office 365 Data Connector. Changing this forces a new Office 365 Data Connector to be created.\n","willReplaceOnChanges":true},"sharepointEnabled":{"type":"boolean","description":"Should the SharePoint data connector be enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"teamsEnabled":{"type":"boolean","description":"Should the Microsoft Teams data connector be enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n\n\u003e **Note:** At least one of \u003cspan pulumi-lang-nodejs=\"`exchangeEnabled`\" pulumi-lang-dotnet=\"`ExchangeEnabled`\" pulumi-lang-go=\"`exchangeEnabled`\" pulumi-lang-python=\"`exchange_enabled`\" pulumi-lang-yaml=\"`exchangeEnabled`\" pulumi-lang-java=\"`exchangeEnabled`\"\u003e`exchange_enabled`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`sharedpointEnabled`\" pulumi-lang-dotnet=\"`SharedpointEnabled`\" pulumi-lang-go=\"`sharedpointEnabled`\" pulumi-lang-python=\"`sharedpoint_enabled`\" pulumi-lang-yaml=\"`sharedpointEnabled`\" pulumi-lang-java=\"`sharedpointEnabled`\"\u003e`sharedpoint_enabled`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`teamsEnabled`\" pulumi-lang-dotnet=\"`TeamsEnabled`\" pulumi-lang-go=\"`teamsEnabled`\" pulumi-lang-python=\"`teams_enabled`\" pulumi-lang-yaml=\"`teamsEnabled`\" pulumi-lang-java=\"`teamsEnabled`\"\u003e`teams_enabled`\u003c/span\u003e has to be specified.\n"},"tenantId":{"type":"string","description":"The ID of the Tenant that this Office 365 Data Connector connects to. Changing this forces a new Office 365 Data Connector to be created.\n\n\u003e **Note:** Currently, only the same tenant as the running account is allowed. Cross-tenant scenario is not supported yet.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:sentinel/dataConnectorOffice365Project:DataConnectorOffice365Project":{"description":"Manages an Office 365 Project Data Connector.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-rg\",\n    location: \"West Europe\",\n});\nconst exampleAnalyticsWorkspace = new azure.operationalinsights.AnalyticsWorkspace(\"example\", {\n    name: \"example-workspace\",\n    location: example.location,\n    resourceGroupName: example.name,\n    sku: \"PerGB2018\",\n});\nconst exampleLogAnalyticsWorkspaceOnboarding = new azure.sentinel.LogAnalyticsWorkspaceOnboarding(\"example\", {workspaceId: exampleAnalyticsWorkspace.id});\nconst exampleDataConnectorOffice365Project = new azure.sentinel.DataConnectorOffice365Project(\"example\", {\n    name: \"example\",\n    logAnalyticsWorkspaceId: exampleLogAnalyticsWorkspaceOnboarding.workspaceId,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-rg\",\n    location=\"West Europe\")\nexample_analytics_workspace = azure.operationalinsights.AnalyticsWorkspace(\"example\",\n    name=\"example-workspace\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku=\"PerGB2018\")\nexample_log_analytics_workspace_onboarding = azure.sentinel.LogAnalyticsWorkspaceOnboarding(\"example\", workspace_id=example_analytics_workspace.id)\nexample_data_connector_office365_project = azure.sentinel.DataConnectorOffice365Project(\"example\",\n    name=\"example\",\n    log_analytics_workspace_id=example_log_analytics_workspace_onboarding.workspace_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-rg\",\n        Location = \"West Europe\",\n    });\n\n    var exampleAnalyticsWorkspace = new Azure.OperationalInsights.AnalyticsWorkspace(\"example\", new()\n    {\n        Name = \"example-workspace\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Sku = \"PerGB2018\",\n    });\n\n    var exampleLogAnalyticsWorkspaceOnboarding = new Azure.Sentinel.LogAnalyticsWorkspaceOnboarding(\"example\", new()\n    {\n        WorkspaceId = exampleAnalyticsWorkspace.Id,\n    });\n\n    var exampleDataConnectorOffice365Project = new Azure.Sentinel.DataConnectorOffice365Project(\"example\", new()\n    {\n        Name = \"example\",\n        LogAnalyticsWorkspaceId = exampleLogAnalyticsWorkspaceOnboarding.WorkspaceId,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/operationalinsights\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/sentinel\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-rg\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAnalyticsWorkspace, err := operationalinsights.NewAnalyticsWorkspace(ctx, \"example\", \u0026operationalinsights.AnalyticsWorkspaceArgs{\n\t\t\tName:              pulumi.String(\"example-workspace\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSku:               pulumi.String(\"PerGB2018\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleLogAnalyticsWorkspaceOnboarding, err := sentinel.NewLogAnalyticsWorkspaceOnboarding(ctx, \"example\", \u0026sentinel.LogAnalyticsWorkspaceOnboardingArgs{\n\t\t\tWorkspaceId: exampleAnalyticsWorkspace.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = sentinel.NewDataConnectorOffice365Project(ctx, \"example\", \u0026sentinel.DataConnectorOffice365ProjectArgs{\n\t\t\tName:                    pulumi.String(\"example\"),\n\t\t\tLogAnalyticsWorkspaceId: exampleLogAnalyticsWorkspaceOnboarding.WorkspaceId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.operationalinsights.AnalyticsWorkspace;\nimport com.pulumi.azure.operationalinsights.AnalyticsWorkspaceArgs;\nimport com.pulumi.azure.sentinel.LogAnalyticsWorkspaceOnboarding;\nimport com.pulumi.azure.sentinel.LogAnalyticsWorkspaceOnboardingArgs;\nimport com.pulumi.azure.sentinel.DataConnectorOffice365Project;\nimport com.pulumi.azure.sentinel.DataConnectorOffice365ProjectArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-rg\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleAnalyticsWorkspace = new AnalyticsWorkspace(\"exampleAnalyticsWorkspace\", AnalyticsWorkspaceArgs.builder()\n            .name(\"example-workspace\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .sku(\"PerGB2018\")\n            .build());\n\n        var exampleLogAnalyticsWorkspaceOnboarding = new LogAnalyticsWorkspaceOnboarding(\"exampleLogAnalyticsWorkspaceOnboarding\", LogAnalyticsWorkspaceOnboardingArgs.builder()\n            .workspaceId(exampleAnalyticsWorkspace.id())\n            .build());\n\n        var exampleDataConnectorOffice365Project = new DataConnectorOffice365Project(\"exampleDataConnectorOffice365Project\", DataConnectorOffice365ProjectArgs.builder()\n            .name(\"example\")\n            .logAnalyticsWorkspaceId(exampleLogAnalyticsWorkspaceOnboarding.workspaceId())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-rg\n      location: West Europe\n  exampleAnalyticsWorkspace:\n    type: azure:operationalinsights:AnalyticsWorkspace\n    name: example\n    properties:\n      name: example-workspace\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      sku: PerGB2018\n  exampleLogAnalyticsWorkspaceOnboarding:\n    type: azure:sentinel:LogAnalyticsWorkspaceOnboarding\n    name: example\n    properties:\n      workspaceId: ${exampleAnalyticsWorkspace.id}\n  exampleDataConnectorOffice365Project:\n    type: azure:sentinel:DataConnectorOffice365Project\n    name: example\n    properties:\n      name: example\n      logAnalyticsWorkspaceId: ${exampleLogAnalyticsWorkspaceOnboarding.workspaceId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nOffice 365 Project Data Connectors can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:sentinel/dataConnectorOffice365Project:DataConnectorOffice365Project example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.OperationalInsights/workspaces/workspace1/providers/Microsoft.SecurityInsights/dataConnectors/dc1\n```\n\n","properties":{"logAnalyticsWorkspaceId":{"type":"string","description":"The ID of the Log Analytics Workspace that this Office 365 Project Data Connector resides in. Changing this forces a new Office 365 Project Data Connector to be created.\n"},"name":{"type":"string","description":"The name which should be used for this Office 365 Project Data Connector. Changing this forces a new Office 365 Project Data Connector to be created.\n"},"tenantId":{"type":"string","description":"The ID of the tenant that this Office 365 Project Data Connector connects to. Changing this forces a new Office 365 Project Data Connector to be created.\n\n\u003e **Note:** Currently, only the same tenant as the running account is allowed. Cross-tenant scenario is not supported yet.\n"}},"required":["logAnalyticsWorkspaceId","name","tenantId"],"inputProperties":{"logAnalyticsWorkspaceId":{"type":"string","description":"The ID of the Log Analytics Workspace that this Office 365 Project Data Connector resides in. Changing this forces a new Office 365 Project Data Connector to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Office 365 Project Data Connector. Changing this forces a new Office 365 Project Data Connector to be created.\n","willReplaceOnChanges":true},"tenantId":{"type":"string","description":"The ID of the tenant that this Office 365 Project Data Connector connects to. Changing this forces a new Office 365 Project Data Connector to be created.\n\n\u003e **Note:** Currently, only the same tenant as the running account is allowed. Cross-tenant scenario is not supported yet.\n","willReplaceOnChanges":true}},"requiredInputs":["logAnalyticsWorkspaceId"],"stateInputs":{"description":"Input properties used for looking up and filtering DataConnectorOffice365Project resources.\n","properties":{"logAnalyticsWorkspaceId":{"type":"string","description":"The ID of the Log Analytics Workspace that this Office 365 Project Data Connector resides in. Changing this forces a new Office 365 Project Data Connector to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Office 365 Project Data Connector. Changing this forces a new Office 365 Project Data Connector to be created.\n","willReplaceOnChanges":true},"tenantId":{"type":"string","description":"The ID of the tenant that this Office 365 Project Data Connector connects to. Changing this forces a new Office 365 Project Data Connector to be created.\n\n\u003e **Note:** Currently, only the same tenant as the running account is allowed. Cross-tenant scenario is not supported yet.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:sentinel/dataConnectorOfficeAtp:DataConnectorOfficeAtp":{"description":"Manages a Office ATP Data Connector.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-rg\",\n    location: \"West Europe\",\n});\nconst exampleAnalyticsWorkspace = new azure.operationalinsights.AnalyticsWorkspace(\"example\", {\n    name: \"example-workspace\",\n    location: example.location,\n    resourceGroupName: example.name,\n    sku: \"PerGB2018\",\n});\nconst exampleLogAnalyticsWorkspaceOnboarding = new azure.sentinel.LogAnalyticsWorkspaceOnboarding(\"example\", {workspaceId: exampleAnalyticsWorkspace.id});\nconst exampleDataConnectorOfficeAtp = new azure.sentinel.DataConnectorOfficeAtp(\"example\", {\n    name: \"example\",\n    logAnalyticsWorkspaceId: exampleLogAnalyticsWorkspaceOnboarding.workspaceId,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-rg\",\n    location=\"West Europe\")\nexample_analytics_workspace = azure.operationalinsights.AnalyticsWorkspace(\"example\",\n    name=\"example-workspace\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku=\"PerGB2018\")\nexample_log_analytics_workspace_onboarding = azure.sentinel.LogAnalyticsWorkspaceOnboarding(\"example\", workspace_id=example_analytics_workspace.id)\nexample_data_connector_office_atp = azure.sentinel.DataConnectorOfficeAtp(\"example\",\n    name=\"example\",\n    log_analytics_workspace_id=example_log_analytics_workspace_onboarding.workspace_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-rg\",\n        Location = \"West Europe\",\n    });\n\n    var exampleAnalyticsWorkspace = new Azure.OperationalInsights.AnalyticsWorkspace(\"example\", new()\n    {\n        Name = \"example-workspace\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Sku = \"PerGB2018\",\n    });\n\n    var exampleLogAnalyticsWorkspaceOnboarding = new Azure.Sentinel.LogAnalyticsWorkspaceOnboarding(\"example\", new()\n    {\n        WorkspaceId = exampleAnalyticsWorkspace.Id,\n    });\n\n    var exampleDataConnectorOfficeAtp = new Azure.Sentinel.DataConnectorOfficeAtp(\"example\", new()\n    {\n        Name = \"example\",\n        LogAnalyticsWorkspaceId = exampleLogAnalyticsWorkspaceOnboarding.WorkspaceId,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/operationalinsights\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/sentinel\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-rg\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAnalyticsWorkspace, err := operationalinsights.NewAnalyticsWorkspace(ctx, \"example\", \u0026operationalinsights.AnalyticsWorkspaceArgs{\n\t\t\tName:              pulumi.String(\"example-workspace\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSku:               pulumi.String(\"PerGB2018\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleLogAnalyticsWorkspaceOnboarding, err := sentinel.NewLogAnalyticsWorkspaceOnboarding(ctx, \"example\", \u0026sentinel.LogAnalyticsWorkspaceOnboardingArgs{\n\t\t\tWorkspaceId: exampleAnalyticsWorkspace.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = sentinel.NewDataConnectorOfficeAtp(ctx, \"example\", \u0026sentinel.DataConnectorOfficeAtpArgs{\n\t\t\tName:                    pulumi.String(\"example\"),\n\t\t\tLogAnalyticsWorkspaceId: exampleLogAnalyticsWorkspaceOnboarding.WorkspaceId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.operationalinsights.AnalyticsWorkspace;\nimport com.pulumi.azure.operationalinsights.AnalyticsWorkspaceArgs;\nimport com.pulumi.azure.sentinel.LogAnalyticsWorkspaceOnboarding;\nimport com.pulumi.azure.sentinel.LogAnalyticsWorkspaceOnboardingArgs;\nimport com.pulumi.azure.sentinel.DataConnectorOfficeAtp;\nimport com.pulumi.azure.sentinel.DataConnectorOfficeAtpArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-rg\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleAnalyticsWorkspace = new AnalyticsWorkspace(\"exampleAnalyticsWorkspace\", AnalyticsWorkspaceArgs.builder()\n            .name(\"example-workspace\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .sku(\"PerGB2018\")\n            .build());\n\n        var exampleLogAnalyticsWorkspaceOnboarding = new LogAnalyticsWorkspaceOnboarding(\"exampleLogAnalyticsWorkspaceOnboarding\", LogAnalyticsWorkspaceOnboardingArgs.builder()\n            .workspaceId(exampleAnalyticsWorkspace.id())\n            .build());\n\n        var exampleDataConnectorOfficeAtp = new DataConnectorOfficeAtp(\"exampleDataConnectorOfficeAtp\", DataConnectorOfficeAtpArgs.builder()\n            .name(\"example\")\n            .logAnalyticsWorkspaceId(exampleLogAnalyticsWorkspaceOnboarding.workspaceId())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-rg\n      location: West Europe\n  exampleAnalyticsWorkspace:\n    type: azure:operationalinsights:AnalyticsWorkspace\n    name: example\n    properties:\n      name: example-workspace\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      sku: PerGB2018\n  exampleLogAnalyticsWorkspaceOnboarding:\n    type: azure:sentinel:LogAnalyticsWorkspaceOnboarding\n    name: example\n    properties:\n      workspaceId: ${exampleAnalyticsWorkspace.id}\n  exampleDataConnectorOfficeAtp:\n    type: azure:sentinel:DataConnectorOfficeAtp\n    name: example\n    properties:\n      name: example\n      logAnalyticsWorkspaceId: ${exampleLogAnalyticsWorkspaceOnboarding.workspaceId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nOffice ATP Data Connectors can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:sentinel/dataConnectorOfficeAtp:DataConnectorOfficeAtp example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.OperationalInsights/workspaces/workspace1/providers/Microsoft.SecurityInsights/dataConnectors/dc1\n```\n\n","properties":{"logAnalyticsWorkspaceId":{"type":"string","description":"The ID of the Log Analytics Workspace that this Office ATP Data Connector resides in. Changing this forces a new Office ATP Data Connector to be created.\n"},"name":{"type":"string","description":"The name which should be used for this Office ATP Data Connector. Changing this forces a new Office ATP Data Connector to be created.\n"},"tenantId":{"type":"string","description":"The ID of the tenant that this Office ATP Data Connector connects to. Changing this forces a new Office ATP Data Connector to be created.\n\n\u003e **Note:** Currently, only the same tenant as the running account is allowed. Cross-tenant scenario is not supported yet.\n"}},"required":["logAnalyticsWorkspaceId","name","tenantId"],"inputProperties":{"logAnalyticsWorkspaceId":{"type":"string","description":"The ID of the Log Analytics Workspace that this Office ATP Data Connector resides in. Changing this forces a new Office ATP Data Connector to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Office ATP Data Connector. Changing this forces a new Office ATP Data Connector to be created.\n","willReplaceOnChanges":true},"tenantId":{"type":"string","description":"The ID of the tenant that this Office ATP Data Connector connects to. Changing this forces a new Office ATP Data Connector to be created.\n\n\u003e **Note:** Currently, only the same tenant as the running account is allowed. Cross-tenant scenario is not supported yet.\n","willReplaceOnChanges":true}},"requiredInputs":["logAnalyticsWorkspaceId"],"stateInputs":{"description":"Input properties used for looking up and filtering DataConnectorOfficeAtp resources.\n","properties":{"logAnalyticsWorkspaceId":{"type":"string","description":"The ID of the Log Analytics Workspace that this Office ATP Data Connector resides in. Changing this forces a new Office ATP Data Connector to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Office ATP Data Connector. Changing this forces a new Office ATP Data Connector to be created.\n","willReplaceOnChanges":true},"tenantId":{"type":"string","description":"The ID of the tenant that this Office ATP Data Connector connects to. Changing this forces a new Office ATP Data Connector to be created.\n\n\u003e **Note:** Currently, only the same tenant as the running account is allowed. Cross-tenant scenario is not supported yet.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:sentinel/dataConnectorOfficeIrm:DataConnectorOfficeIrm":{"description":"Manages an Office IRM Data Connector.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-rg\",\n    location: \"West Europe\",\n});\nconst exampleAnalyticsWorkspace = new azure.operationalinsights.AnalyticsWorkspace(\"example\", {\n    name: \"example-workspace\",\n    location: example.location,\n    resourceGroupName: example.name,\n    sku: \"PerGB2018\",\n});\nconst exampleLogAnalyticsWorkspaceOnboarding = new azure.sentinel.LogAnalyticsWorkspaceOnboarding(\"example\", {workspaceId: exampleAnalyticsWorkspace.id});\nconst exampleDataConnectorOfficeIrm = new azure.sentinel.DataConnectorOfficeIrm(\"example\", {\n    name: \"example\",\n    logAnalyticsWorkspaceId: exampleLogAnalyticsWorkspaceOnboarding.workspaceId,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-rg\",\n    location=\"West Europe\")\nexample_analytics_workspace = azure.operationalinsights.AnalyticsWorkspace(\"example\",\n    name=\"example-workspace\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku=\"PerGB2018\")\nexample_log_analytics_workspace_onboarding = azure.sentinel.LogAnalyticsWorkspaceOnboarding(\"example\", workspace_id=example_analytics_workspace.id)\nexample_data_connector_office_irm = azure.sentinel.DataConnectorOfficeIrm(\"example\",\n    name=\"example\",\n    log_analytics_workspace_id=example_log_analytics_workspace_onboarding.workspace_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-rg\",\n        Location = \"West Europe\",\n    });\n\n    var exampleAnalyticsWorkspace = new Azure.OperationalInsights.AnalyticsWorkspace(\"example\", new()\n    {\n        Name = \"example-workspace\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Sku = \"PerGB2018\",\n    });\n\n    var exampleLogAnalyticsWorkspaceOnboarding = new Azure.Sentinel.LogAnalyticsWorkspaceOnboarding(\"example\", new()\n    {\n        WorkspaceId = exampleAnalyticsWorkspace.Id,\n    });\n\n    var exampleDataConnectorOfficeIrm = new Azure.Sentinel.DataConnectorOfficeIrm(\"example\", new()\n    {\n        Name = \"example\",\n        LogAnalyticsWorkspaceId = exampleLogAnalyticsWorkspaceOnboarding.WorkspaceId,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/operationalinsights\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/sentinel\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-rg\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAnalyticsWorkspace, err := operationalinsights.NewAnalyticsWorkspace(ctx, \"example\", \u0026operationalinsights.AnalyticsWorkspaceArgs{\n\t\t\tName:              pulumi.String(\"example-workspace\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSku:               pulumi.String(\"PerGB2018\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleLogAnalyticsWorkspaceOnboarding, err := sentinel.NewLogAnalyticsWorkspaceOnboarding(ctx, \"example\", \u0026sentinel.LogAnalyticsWorkspaceOnboardingArgs{\n\t\t\tWorkspaceId: exampleAnalyticsWorkspace.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = sentinel.NewDataConnectorOfficeIrm(ctx, \"example\", \u0026sentinel.DataConnectorOfficeIrmArgs{\n\t\t\tName:                    pulumi.String(\"example\"),\n\t\t\tLogAnalyticsWorkspaceId: exampleLogAnalyticsWorkspaceOnboarding.WorkspaceId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.operationalinsights.AnalyticsWorkspace;\nimport com.pulumi.azure.operationalinsights.AnalyticsWorkspaceArgs;\nimport com.pulumi.azure.sentinel.LogAnalyticsWorkspaceOnboarding;\nimport com.pulumi.azure.sentinel.LogAnalyticsWorkspaceOnboardingArgs;\nimport com.pulumi.azure.sentinel.DataConnectorOfficeIrm;\nimport com.pulumi.azure.sentinel.DataConnectorOfficeIrmArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-rg\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleAnalyticsWorkspace = new AnalyticsWorkspace(\"exampleAnalyticsWorkspace\", AnalyticsWorkspaceArgs.builder()\n            .name(\"example-workspace\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .sku(\"PerGB2018\")\n            .build());\n\n        var exampleLogAnalyticsWorkspaceOnboarding = new LogAnalyticsWorkspaceOnboarding(\"exampleLogAnalyticsWorkspaceOnboarding\", LogAnalyticsWorkspaceOnboardingArgs.builder()\n            .workspaceId(exampleAnalyticsWorkspace.id())\n            .build());\n\n        var exampleDataConnectorOfficeIrm = new DataConnectorOfficeIrm(\"exampleDataConnectorOfficeIrm\", DataConnectorOfficeIrmArgs.builder()\n            .name(\"example\")\n            .logAnalyticsWorkspaceId(exampleLogAnalyticsWorkspaceOnboarding.workspaceId())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-rg\n      location: West Europe\n  exampleAnalyticsWorkspace:\n    type: azure:operationalinsights:AnalyticsWorkspace\n    name: example\n    properties:\n      name: example-workspace\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      sku: PerGB2018\n  exampleLogAnalyticsWorkspaceOnboarding:\n    type: azure:sentinel:LogAnalyticsWorkspaceOnboarding\n    name: example\n    properties:\n      workspaceId: ${exampleAnalyticsWorkspace.id}\n  exampleDataConnectorOfficeIrm:\n    type: azure:sentinel:DataConnectorOfficeIrm\n    name: example\n    properties:\n      name: example\n      logAnalyticsWorkspaceId: ${exampleLogAnalyticsWorkspaceOnboarding.workspaceId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nOffice IRM Data Connectors can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:sentinel/dataConnectorOfficeIrm:DataConnectorOfficeIrm example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.OperationalInsights/workspaces/workspace1/providers/Microsoft.SecurityInsights/dataConnectors/dc1\n```\n\n","properties":{"logAnalyticsWorkspaceId":{"type":"string","description":"The ID of the Log Analytics Workspace that this Office IRM Data Connector resides in. Changing this forces a new Office IRM Data Connector to be created.\n"},"name":{"type":"string","description":"The name which should be used for this Office IRM Data Connector. Changing this forces a new Office IRM Data Connector to be created.\n"},"tenantId":{"type":"string","description":"The ID of the tenant that this Office IRM Data Connector connects to. Changing this forces a new Office IRM Data Connector to be created.\n\n\u003e **Note:** Currently, only the same tenant as the running account is allowed. Cross-tenant scenario is not supported yet.\n"}},"required":["logAnalyticsWorkspaceId","name","tenantId"],"inputProperties":{"logAnalyticsWorkspaceId":{"type":"string","description":"The ID of the Log Analytics Workspace that this Office IRM Data Connector resides in. Changing this forces a new Office IRM Data Connector to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Office IRM Data Connector. Changing this forces a new Office IRM Data Connector to be created.\n","willReplaceOnChanges":true},"tenantId":{"type":"string","description":"The ID of the tenant that this Office IRM Data Connector connects to. Changing this forces a new Office IRM Data Connector to be created.\n\n\u003e **Note:** Currently, only the same tenant as the running account is allowed. Cross-tenant scenario is not supported yet.\n","willReplaceOnChanges":true}},"requiredInputs":["logAnalyticsWorkspaceId"],"stateInputs":{"description":"Input properties used for looking up and filtering DataConnectorOfficeIrm resources.\n","properties":{"logAnalyticsWorkspaceId":{"type":"string","description":"The ID of the Log Analytics Workspace that this Office IRM Data Connector resides in. Changing this forces a new Office IRM Data Connector to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Office IRM Data Connector. Changing this forces a new Office IRM Data Connector to be created.\n","willReplaceOnChanges":true},"tenantId":{"type":"string","description":"The ID of the tenant that this Office IRM Data Connector connects to. Changing this forces a new Office IRM Data Connector to be created.\n\n\u003e **Note:** Currently, only the same tenant as the running account is allowed. Cross-tenant scenario is not supported yet.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:sentinel/dataConnectorOfficePowerBi:DataConnectorOfficePowerBi":{"description":"Manages an Office Power BI Data Connector.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-rg\",\n    location: \"West Europe\",\n});\nconst exampleAnalyticsWorkspace = new azure.operationalinsights.AnalyticsWorkspace(\"example\", {\n    name: \"example-workspace\",\n    location: example.location,\n    resourceGroupName: example.name,\n    sku: \"PerGB2018\",\n});\nconst exampleLogAnalyticsWorkspaceOnboarding = new azure.sentinel.LogAnalyticsWorkspaceOnboarding(\"example\", {workspaceId: exampleAnalyticsWorkspace.id});\nconst exampleDataConnectorOfficePowerBi = new azure.sentinel.DataConnectorOfficePowerBi(\"example\", {\n    name: \"example\",\n    logAnalyticsWorkspaceId: exampleLogAnalyticsWorkspaceOnboarding.workspaceId,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-rg\",\n    location=\"West Europe\")\nexample_analytics_workspace = azure.operationalinsights.AnalyticsWorkspace(\"example\",\n    name=\"example-workspace\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku=\"PerGB2018\")\nexample_log_analytics_workspace_onboarding = azure.sentinel.LogAnalyticsWorkspaceOnboarding(\"example\", workspace_id=example_analytics_workspace.id)\nexample_data_connector_office_power_bi = azure.sentinel.DataConnectorOfficePowerBi(\"example\",\n    name=\"example\",\n    log_analytics_workspace_id=example_log_analytics_workspace_onboarding.workspace_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-rg\",\n        Location = \"West Europe\",\n    });\n\n    var exampleAnalyticsWorkspace = new Azure.OperationalInsights.AnalyticsWorkspace(\"example\", new()\n    {\n        Name = \"example-workspace\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Sku = \"PerGB2018\",\n    });\n\n    var exampleLogAnalyticsWorkspaceOnboarding = new Azure.Sentinel.LogAnalyticsWorkspaceOnboarding(\"example\", new()\n    {\n        WorkspaceId = exampleAnalyticsWorkspace.Id,\n    });\n\n    var exampleDataConnectorOfficePowerBi = new Azure.Sentinel.DataConnectorOfficePowerBi(\"example\", new()\n    {\n        Name = \"example\",\n        LogAnalyticsWorkspaceId = exampleLogAnalyticsWorkspaceOnboarding.WorkspaceId,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/operationalinsights\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/sentinel\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-rg\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAnalyticsWorkspace, err := operationalinsights.NewAnalyticsWorkspace(ctx, \"example\", \u0026operationalinsights.AnalyticsWorkspaceArgs{\n\t\t\tName:              pulumi.String(\"example-workspace\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSku:               pulumi.String(\"PerGB2018\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleLogAnalyticsWorkspaceOnboarding, err := sentinel.NewLogAnalyticsWorkspaceOnboarding(ctx, \"example\", \u0026sentinel.LogAnalyticsWorkspaceOnboardingArgs{\n\t\t\tWorkspaceId: exampleAnalyticsWorkspace.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = sentinel.NewDataConnectorOfficePowerBi(ctx, \"example\", \u0026sentinel.DataConnectorOfficePowerBiArgs{\n\t\t\tName:                    pulumi.String(\"example\"),\n\t\t\tLogAnalyticsWorkspaceId: exampleLogAnalyticsWorkspaceOnboarding.WorkspaceId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.operationalinsights.AnalyticsWorkspace;\nimport com.pulumi.azure.operationalinsights.AnalyticsWorkspaceArgs;\nimport com.pulumi.azure.sentinel.LogAnalyticsWorkspaceOnboarding;\nimport com.pulumi.azure.sentinel.LogAnalyticsWorkspaceOnboardingArgs;\nimport com.pulumi.azure.sentinel.DataConnectorOfficePowerBi;\nimport com.pulumi.azure.sentinel.DataConnectorOfficePowerBiArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-rg\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleAnalyticsWorkspace = new AnalyticsWorkspace(\"exampleAnalyticsWorkspace\", AnalyticsWorkspaceArgs.builder()\n            .name(\"example-workspace\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .sku(\"PerGB2018\")\n            .build());\n\n        var exampleLogAnalyticsWorkspaceOnboarding = new LogAnalyticsWorkspaceOnboarding(\"exampleLogAnalyticsWorkspaceOnboarding\", LogAnalyticsWorkspaceOnboardingArgs.builder()\n            .workspaceId(exampleAnalyticsWorkspace.id())\n            .build());\n\n        var exampleDataConnectorOfficePowerBi = new DataConnectorOfficePowerBi(\"exampleDataConnectorOfficePowerBi\", DataConnectorOfficePowerBiArgs.builder()\n            .name(\"example\")\n            .logAnalyticsWorkspaceId(exampleLogAnalyticsWorkspaceOnboarding.workspaceId())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-rg\n      location: West Europe\n  exampleAnalyticsWorkspace:\n    type: azure:operationalinsights:AnalyticsWorkspace\n    name: example\n    properties:\n      name: example-workspace\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      sku: PerGB2018\n  exampleLogAnalyticsWorkspaceOnboarding:\n    type: azure:sentinel:LogAnalyticsWorkspaceOnboarding\n    name: example\n    properties:\n      workspaceId: ${exampleAnalyticsWorkspace.id}\n  exampleDataConnectorOfficePowerBi:\n    type: azure:sentinel:DataConnectorOfficePowerBi\n    name: example\n    properties:\n      name: example\n      logAnalyticsWorkspaceId: ${exampleLogAnalyticsWorkspaceOnboarding.workspaceId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nOffice Power BI Data Connectors can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:sentinel/dataConnectorOfficePowerBi:DataConnectorOfficePowerBi example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.OperationalInsights/workspaces/workspace1/providers/Microsoft.SecurityInsights/dataConnectors/dc1\n```\n\n","properties":{"logAnalyticsWorkspaceId":{"type":"string","description":"The ID of the Log Analytics Workspace that this Office Power BI Data Connector resides in. Changing this forces a new Office Power BI Data Connector to be created.\n"},"name":{"type":"string","description":"The name which should be used for this Office Power BI Data Connector. Changing this forces a new Office Power BI Data Connector to be created.\n"},"tenantId":{"type":"string","description":"The ID of the tenant that this Office Power BI Data Connector connects to. Changing this forces a new Office Power BI Data Connector to be created.\n\n\u003e **Note:** Currently, only the same tenant as the running account is allowed. Cross-tenant scenario is not supported yet.\n"}},"required":["logAnalyticsWorkspaceId","name","tenantId"],"inputProperties":{"logAnalyticsWorkspaceId":{"type":"string","description":"The ID of the Log Analytics Workspace that this Office Power BI Data Connector resides in. Changing this forces a new Office Power BI Data Connector to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Office Power BI Data Connector. Changing this forces a new Office Power BI Data Connector to be created.\n","willReplaceOnChanges":true},"tenantId":{"type":"string","description":"The ID of the tenant that this Office Power BI Data Connector connects to. Changing this forces a new Office Power BI Data Connector to be created.\n\n\u003e **Note:** Currently, only the same tenant as the running account is allowed. Cross-tenant scenario is not supported yet.\n","willReplaceOnChanges":true}},"requiredInputs":["logAnalyticsWorkspaceId"],"stateInputs":{"description":"Input properties used for looking up and filtering DataConnectorOfficePowerBi resources.\n","properties":{"logAnalyticsWorkspaceId":{"type":"string","description":"The ID of the Log Analytics Workspace that this Office Power BI Data Connector resides in. Changing this forces a new Office Power BI Data Connector to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Office Power BI Data Connector. Changing this forces a new Office Power BI Data Connector to be created.\n","willReplaceOnChanges":true},"tenantId":{"type":"string","description":"The ID of the tenant that this Office Power BI Data Connector connects to. Changing this forces a new Office Power BI Data Connector to be created.\n\n\u003e **Note:** Currently, only the same tenant as the running account is allowed. Cross-tenant scenario is not supported yet.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:sentinel/dataConnectorThreatIntelligence:DataConnectorThreatIntelligence":{"description":"Manages a Threat Intelligence Data Connector.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-rg\",\n    location: \"West Europe\",\n});\nconst exampleAnalyticsWorkspace = new azure.operationalinsights.AnalyticsWorkspace(\"example\", {\n    name: \"example-workspace\",\n    location: example.location,\n    resourceGroupName: example.name,\n    sku: \"PerGB2018\",\n});\nconst exampleLogAnalyticsWorkspaceOnboarding = new azure.sentinel.LogAnalyticsWorkspaceOnboarding(\"example\", {workspaceId: exampleAnalyticsWorkspace.id});\nconst exampleDataConnectorThreatIntelligence = new azure.sentinel.DataConnectorThreatIntelligence(\"example\", {\n    name: \"example\",\n    logAnalyticsWorkspaceId: exampleLogAnalyticsWorkspaceOnboarding.workspaceId,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-rg\",\n    location=\"West Europe\")\nexample_analytics_workspace = azure.operationalinsights.AnalyticsWorkspace(\"example\",\n    name=\"example-workspace\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku=\"PerGB2018\")\nexample_log_analytics_workspace_onboarding = azure.sentinel.LogAnalyticsWorkspaceOnboarding(\"example\", workspace_id=example_analytics_workspace.id)\nexample_data_connector_threat_intelligence = azure.sentinel.DataConnectorThreatIntelligence(\"example\",\n    name=\"example\",\n    log_analytics_workspace_id=example_log_analytics_workspace_onboarding.workspace_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-rg\",\n        Location = \"West Europe\",\n    });\n\n    var exampleAnalyticsWorkspace = new Azure.OperationalInsights.AnalyticsWorkspace(\"example\", new()\n    {\n        Name = \"example-workspace\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Sku = \"PerGB2018\",\n    });\n\n    var exampleLogAnalyticsWorkspaceOnboarding = new Azure.Sentinel.LogAnalyticsWorkspaceOnboarding(\"example\", new()\n    {\n        WorkspaceId = exampleAnalyticsWorkspace.Id,\n    });\n\n    var exampleDataConnectorThreatIntelligence = new Azure.Sentinel.DataConnectorThreatIntelligence(\"example\", new()\n    {\n        Name = \"example\",\n        LogAnalyticsWorkspaceId = exampleLogAnalyticsWorkspaceOnboarding.WorkspaceId,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/operationalinsights\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/sentinel\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-rg\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAnalyticsWorkspace, err := operationalinsights.NewAnalyticsWorkspace(ctx, \"example\", \u0026operationalinsights.AnalyticsWorkspaceArgs{\n\t\t\tName:              pulumi.String(\"example-workspace\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSku:               pulumi.String(\"PerGB2018\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleLogAnalyticsWorkspaceOnboarding, err := sentinel.NewLogAnalyticsWorkspaceOnboarding(ctx, \"example\", \u0026sentinel.LogAnalyticsWorkspaceOnboardingArgs{\n\t\t\tWorkspaceId: exampleAnalyticsWorkspace.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = sentinel.NewDataConnectorThreatIntelligence(ctx, \"example\", \u0026sentinel.DataConnectorThreatIntelligenceArgs{\n\t\t\tName:                    pulumi.String(\"example\"),\n\t\t\tLogAnalyticsWorkspaceId: exampleLogAnalyticsWorkspaceOnboarding.WorkspaceId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.operationalinsights.AnalyticsWorkspace;\nimport com.pulumi.azure.operationalinsights.AnalyticsWorkspaceArgs;\nimport com.pulumi.azure.sentinel.LogAnalyticsWorkspaceOnboarding;\nimport com.pulumi.azure.sentinel.LogAnalyticsWorkspaceOnboardingArgs;\nimport com.pulumi.azure.sentinel.DataConnectorThreatIntelligence;\nimport com.pulumi.azure.sentinel.DataConnectorThreatIntelligenceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-rg\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleAnalyticsWorkspace = new AnalyticsWorkspace(\"exampleAnalyticsWorkspace\", AnalyticsWorkspaceArgs.builder()\n            .name(\"example-workspace\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .sku(\"PerGB2018\")\n            .build());\n\n        var exampleLogAnalyticsWorkspaceOnboarding = new LogAnalyticsWorkspaceOnboarding(\"exampleLogAnalyticsWorkspaceOnboarding\", LogAnalyticsWorkspaceOnboardingArgs.builder()\n            .workspaceId(exampleAnalyticsWorkspace.id())\n            .build());\n\n        var exampleDataConnectorThreatIntelligence = new DataConnectorThreatIntelligence(\"exampleDataConnectorThreatIntelligence\", DataConnectorThreatIntelligenceArgs.builder()\n            .name(\"example\")\n            .logAnalyticsWorkspaceId(exampleLogAnalyticsWorkspaceOnboarding.workspaceId())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-rg\n      location: West Europe\n  exampleAnalyticsWorkspace:\n    type: azure:operationalinsights:AnalyticsWorkspace\n    name: example\n    properties:\n      name: example-workspace\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      sku: PerGB2018\n  exampleLogAnalyticsWorkspaceOnboarding:\n    type: azure:sentinel:LogAnalyticsWorkspaceOnboarding\n    name: example\n    properties:\n      workspaceId: ${exampleAnalyticsWorkspace.id}\n  exampleDataConnectorThreatIntelligence:\n    type: azure:sentinel:DataConnectorThreatIntelligence\n    name: example\n    properties:\n      name: example\n      logAnalyticsWorkspaceId: ${exampleLogAnalyticsWorkspaceOnboarding.workspaceId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThreat Intelligence Data Connectors can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:sentinel/dataConnectorThreatIntelligence:DataConnectorThreatIntelligence example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.OperationalInsights/workspaces/workspace1/providers/Microsoft.SecurityInsights/dataConnectors/dc1\n```\n\n","properties":{"logAnalyticsWorkspaceId":{"type":"string","description":"The ID of the Log Analytics Workspace that this Threat Intelligence Data Connector resides in. Changing this forces a new Threat Intelligence Data Connector to be created.\n"},"lookbackDate":{"type":"string","description":"The lookback date for the this Threat Intelligence Data Connector in RFC3339. Defaults to `1970-01-01T00:00:00Z`. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"The name which should be used for this Threat Intelligence Data Connector. Changing this forces a new Threat Intelligence Data Connector to be created.\n"},"tenantId":{"type":"string","description":"The ID of the tenant that this Threat Intelligence Data Connector connects to. Changing this forces a new Threat Intelligence Data Connector to be created.\n\n\u003e **Note:** Currently, only the same tenant as the running account is allowed. Cross-tenant scenario is not supported yet.\n"}},"required":["logAnalyticsWorkspaceId","name","tenantId"],"inputProperties":{"logAnalyticsWorkspaceId":{"type":"string","description":"The ID of the Log Analytics Workspace that this Threat Intelligence Data Connector resides in. Changing this forces a new Threat Intelligence Data Connector to be created.\n","willReplaceOnChanges":true},"lookbackDate":{"type":"string","description":"The lookback date for the this Threat Intelligence Data Connector in RFC3339. Defaults to `1970-01-01T00:00:00Z`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Threat Intelligence Data Connector. Changing this forces a new Threat Intelligence Data Connector to be created.\n","willReplaceOnChanges":true},"tenantId":{"type":"string","description":"The ID of the tenant that this Threat Intelligence Data Connector connects to. Changing this forces a new Threat Intelligence Data Connector to be created.\n\n\u003e **Note:** Currently, only the same tenant as the running account is allowed. Cross-tenant scenario is not supported yet.\n","willReplaceOnChanges":true}},"requiredInputs":["logAnalyticsWorkspaceId"],"stateInputs":{"description":"Input properties used for looking up and filtering DataConnectorThreatIntelligence resources.\n","properties":{"logAnalyticsWorkspaceId":{"type":"string","description":"The ID of the Log Analytics Workspace that this Threat Intelligence Data Connector resides in. Changing this forces a new Threat Intelligence Data Connector to be created.\n","willReplaceOnChanges":true},"lookbackDate":{"type":"string","description":"The lookback date for the this Threat Intelligence Data Connector in RFC3339. Defaults to `1970-01-01T00:00:00Z`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Threat Intelligence Data Connector. Changing this forces a new Threat Intelligence Data Connector to be created.\n","willReplaceOnChanges":true},"tenantId":{"type":"string","description":"The ID of the tenant that this Threat Intelligence Data Connector connects to. Changing this forces a new Threat Intelligence Data Connector to be created.\n\n\u003e **Note:** Currently, only the same tenant as the running account is allowed. Cross-tenant scenario is not supported yet.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:sentinel/dataConnectorThreatIntelligenceTaxii:DataConnectorThreatIntelligenceTaxii":{"description":"Manages an Threat Intelligence TAXII Data Connector.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-rg\",\n    location: \"West Europe\",\n});\nconst exampleAnalyticsWorkspace = new azure.operationalinsights.AnalyticsWorkspace(\"example\", {\n    name: \"example-workspace\",\n    location: example.location,\n    resourceGroupName: example.name,\n    sku: \"PerGB2018\",\n});\nconst exampleLogAnalyticsWorkspaceOnboarding = new azure.sentinel.LogAnalyticsWorkspaceOnboarding(\"example\", {workspaceId: exampleAnalyticsWorkspace.id});\nconst exampleDataConnectorThreatIntelligenceTaxii = new azure.sentinel.DataConnectorThreatIntelligenceTaxii(\"example\", {\n    name: \"example\",\n    logAnalyticsWorkspaceId: exampleLogAnalyticsWorkspaceOnboarding.workspaceId,\n    displayName: \"example\",\n    apiRootUrl: \"https://foo/taxii2/api2/\",\n    collectionId: \"someid\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-rg\",\n    location=\"West Europe\")\nexample_analytics_workspace = azure.operationalinsights.AnalyticsWorkspace(\"example\",\n    name=\"example-workspace\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku=\"PerGB2018\")\nexample_log_analytics_workspace_onboarding = azure.sentinel.LogAnalyticsWorkspaceOnboarding(\"example\", workspace_id=example_analytics_workspace.id)\nexample_data_connector_threat_intelligence_taxii = azure.sentinel.DataConnectorThreatIntelligenceTaxii(\"example\",\n    name=\"example\",\n    log_analytics_workspace_id=example_log_analytics_workspace_onboarding.workspace_id,\n    display_name=\"example\",\n    api_root_url=\"https://foo/taxii2/api2/\",\n    collection_id=\"someid\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-rg\",\n        Location = \"West Europe\",\n    });\n\n    var exampleAnalyticsWorkspace = new Azure.OperationalInsights.AnalyticsWorkspace(\"example\", new()\n    {\n        Name = \"example-workspace\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Sku = \"PerGB2018\",\n    });\n\n    var exampleLogAnalyticsWorkspaceOnboarding = new Azure.Sentinel.LogAnalyticsWorkspaceOnboarding(\"example\", new()\n    {\n        WorkspaceId = exampleAnalyticsWorkspace.Id,\n    });\n\n    var exampleDataConnectorThreatIntelligenceTaxii = new Azure.Sentinel.DataConnectorThreatIntelligenceTaxii(\"example\", new()\n    {\n        Name = \"example\",\n        LogAnalyticsWorkspaceId = exampleLogAnalyticsWorkspaceOnboarding.WorkspaceId,\n        DisplayName = \"example\",\n        ApiRootUrl = \"https://foo/taxii2/api2/\",\n        CollectionId = \"someid\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/operationalinsights\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/sentinel\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-rg\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAnalyticsWorkspace, err := operationalinsights.NewAnalyticsWorkspace(ctx, \"example\", \u0026operationalinsights.AnalyticsWorkspaceArgs{\n\t\t\tName:              pulumi.String(\"example-workspace\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSku:               pulumi.String(\"PerGB2018\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleLogAnalyticsWorkspaceOnboarding, err := sentinel.NewLogAnalyticsWorkspaceOnboarding(ctx, \"example\", \u0026sentinel.LogAnalyticsWorkspaceOnboardingArgs{\n\t\t\tWorkspaceId: exampleAnalyticsWorkspace.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = sentinel.NewDataConnectorThreatIntelligenceTaxii(ctx, \"example\", \u0026sentinel.DataConnectorThreatIntelligenceTaxiiArgs{\n\t\t\tName:                    pulumi.String(\"example\"),\n\t\t\tLogAnalyticsWorkspaceId: exampleLogAnalyticsWorkspaceOnboarding.WorkspaceId,\n\t\t\tDisplayName:             pulumi.String(\"example\"),\n\t\t\tApiRootUrl:              pulumi.String(\"https://foo/taxii2/api2/\"),\n\t\t\tCollectionId:            pulumi.String(\"someid\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.operationalinsights.AnalyticsWorkspace;\nimport com.pulumi.azure.operationalinsights.AnalyticsWorkspaceArgs;\nimport com.pulumi.azure.sentinel.LogAnalyticsWorkspaceOnboarding;\nimport com.pulumi.azure.sentinel.LogAnalyticsWorkspaceOnboardingArgs;\nimport com.pulumi.azure.sentinel.DataConnectorThreatIntelligenceTaxii;\nimport com.pulumi.azure.sentinel.DataConnectorThreatIntelligenceTaxiiArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-rg\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleAnalyticsWorkspace = new AnalyticsWorkspace(\"exampleAnalyticsWorkspace\", AnalyticsWorkspaceArgs.builder()\n            .name(\"example-workspace\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .sku(\"PerGB2018\")\n            .build());\n\n        var exampleLogAnalyticsWorkspaceOnboarding = new LogAnalyticsWorkspaceOnboarding(\"exampleLogAnalyticsWorkspaceOnboarding\", LogAnalyticsWorkspaceOnboardingArgs.builder()\n            .workspaceId(exampleAnalyticsWorkspace.id())\n            .build());\n\n        var exampleDataConnectorThreatIntelligenceTaxii = new DataConnectorThreatIntelligenceTaxii(\"exampleDataConnectorThreatIntelligenceTaxii\", DataConnectorThreatIntelligenceTaxiiArgs.builder()\n            .name(\"example\")\n            .logAnalyticsWorkspaceId(exampleLogAnalyticsWorkspaceOnboarding.workspaceId())\n            .displayName(\"example\")\n            .apiRootUrl(\"https://foo/taxii2/api2/\")\n            .collectionId(\"someid\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-rg\n      location: West Europe\n  exampleAnalyticsWorkspace:\n    type: azure:operationalinsights:AnalyticsWorkspace\n    name: example\n    properties:\n      name: example-workspace\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      sku: PerGB2018\n  exampleLogAnalyticsWorkspaceOnboarding:\n    type: azure:sentinel:LogAnalyticsWorkspaceOnboarding\n    name: example\n    properties:\n      workspaceId: ${exampleAnalyticsWorkspace.id}\n  exampleDataConnectorThreatIntelligenceTaxii:\n    type: azure:sentinel:DataConnectorThreatIntelligenceTaxii\n    name: example\n    properties:\n      name: example\n      logAnalyticsWorkspaceId: ${exampleLogAnalyticsWorkspaceOnboarding.workspaceId}\n      displayName: example\n      apiRootUrl: https://foo/taxii2/api2/\n      collectionId: someid\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.OperationalInsights` - 2022-10-01\n\n## Import\n\nThreat Intelligence TAXII Data Connectors can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:sentinel/dataConnectorThreatIntelligenceTaxii:DataConnectorThreatIntelligenceTaxii example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.OperationalInsights/workspaces/workspace1/providers/Microsoft.SecurityInsights/dataConnectors/dc1\n```\n\n","properties":{"apiRootUrl":{"type":"string","description":"The API root URI of the TAXII server.\n"},"collectionId":{"type":"string","description":"The collection ID of the TAXII server.\n"},"displayName":{"type":"string","description":"The friendly name which should be used for this Threat Intelligence TAXII Data Connector.\n"},"logAnalyticsWorkspaceId":{"type":"string","description":"The ID of the Log Analytics Workspace that this Threat Intelligence TAXII Data Connector resides in. Changing this forces a new Threat Intelligence TAXII Data Connector to be created.\n"},"lookbackDate":{"type":"string","description":"The lookback date for the TAXII server in RFC3339. Defaults to `1970-01-01T00:00:00Z`.\n"},"name":{"type":"string","description":"The name which should be used for this Threat Intelligence TAXII Data Connector. Changing this forces a new Threat Intelligence TAXII Data Connector to be created.\n"},"password":{"type":"string","description":"The password for the TAXII server.\n","secret":true},"pollingFrequency":{"type":"string","description":"The polling frequency for the TAXII server. Possible values are `OnceAMinute`, `OnceAnHour` and `OnceADay`. Defaults to `OnceAnHour`.\n"},"tenantId":{"type":"string","description":"The ID of the tenant that this Threat Intelligence TAXII Data Connector connects to. Changing this forces a new Threat Intelligence TAXII Data Connector to be created.\n\n\u003e **Note:** Currently, only the same tenant as the running account is allowed. Cross-tenant scenario is not supported yet.\n"},"userName":{"type":"string","description":"The user name for the TAXII server.\n","secret":true}},"required":["apiRootUrl","collectionId","displayName","logAnalyticsWorkspaceId","name","tenantId"],"inputProperties":{"apiRootUrl":{"type":"string","description":"The API root URI of the TAXII server.\n"},"collectionId":{"type":"string","description":"The collection ID of the TAXII server.\n"},"displayName":{"type":"string","description":"The friendly name which should be used for this Threat Intelligence TAXII Data Connector.\n"},"logAnalyticsWorkspaceId":{"type":"string","description":"The ID of the Log Analytics Workspace that this Threat Intelligence TAXII Data Connector resides in. Changing this forces a new Threat Intelligence TAXII Data Connector to be created.\n","willReplaceOnChanges":true},"lookbackDate":{"type":"string","description":"The lookback date for the TAXII server in RFC3339. Defaults to `1970-01-01T00:00:00Z`.\n"},"name":{"type":"string","description":"The name which should be used for this Threat Intelligence TAXII Data Connector. Changing this forces a new Threat Intelligence TAXII Data Connector to be created.\n","willReplaceOnChanges":true},"password":{"type":"string","description":"The password for the TAXII server.\n","secret":true},"pollingFrequency":{"type":"string","description":"The polling frequency for the TAXII server. Possible values are `OnceAMinute`, `OnceAnHour` and `OnceADay`. Defaults to `OnceAnHour`.\n"},"tenantId":{"type":"string","description":"The ID of the tenant that this Threat Intelligence TAXII Data Connector connects to. Changing this forces a new Threat Intelligence TAXII Data Connector to be created.\n\n\u003e **Note:** Currently, only the same tenant as the running account is allowed. Cross-tenant scenario is not supported yet.\n","willReplaceOnChanges":true},"userName":{"type":"string","description":"The user name for the TAXII server.\n","secret":true}},"requiredInputs":["apiRootUrl","collectionId","displayName","logAnalyticsWorkspaceId"],"stateInputs":{"description":"Input properties used for looking up and filtering DataConnectorThreatIntelligenceTaxii resources.\n","properties":{"apiRootUrl":{"type":"string","description":"The API root URI of the TAXII server.\n"},"collectionId":{"type":"string","description":"The collection ID of the TAXII server.\n"},"displayName":{"type":"string","description":"The friendly name which should be used for this Threat Intelligence TAXII Data Connector.\n"},"logAnalyticsWorkspaceId":{"type":"string","description":"The ID of the Log Analytics Workspace that this Threat Intelligence TAXII Data Connector resides in. Changing this forces a new Threat Intelligence TAXII Data Connector to be created.\n","willReplaceOnChanges":true},"lookbackDate":{"type":"string","description":"The lookback date for the TAXII server in RFC3339. Defaults to `1970-01-01T00:00:00Z`.\n"},"name":{"type":"string","description":"The name which should be used for this Threat Intelligence TAXII Data Connector. Changing this forces a new Threat Intelligence TAXII Data Connector to be created.\n","willReplaceOnChanges":true},"password":{"type":"string","description":"The password for the TAXII server.\n","secret":true},"pollingFrequency":{"type":"string","description":"The polling frequency for the TAXII server. Possible values are `OnceAMinute`, `OnceAnHour` and `OnceADay`. Defaults to `OnceAnHour`.\n"},"tenantId":{"type":"string","description":"The ID of the tenant that this Threat Intelligence TAXII Data Connector connects to. Changing this forces a new Threat Intelligence TAXII Data Connector to be created.\n\n\u003e **Note:** Currently, only the same tenant as the running account is allowed. Cross-tenant scenario is not supported yet.\n","willReplaceOnChanges":true},"userName":{"type":"string","description":"The user name for the TAXII server.\n","secret":true}},"type":"object"}},"azure:sentinel/logAnalyticsWorkspaceOnboarding:LogAnalyticsWorkspaceOnboarding":{"description":"Manages a Security Insights Sentinel Onboarding.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleAnalyticsWorkspace = new azure.operationalinsights.AnalyticsWorkspace(\"example\", {\n    name: \"example-law\",\n    location: example.location,\n    resourceGroupName: example.name,\n    sku: \"PerGB2018\",\n});\nconst exampleLogAnalyticsWorkspaceOnboarding = new azure.sentinel.LogAnalyticsWorkspaceOnboarding(\"example\", {\n    workspaceId: exampleAnalyticsWorkspace.id,\n    customerManagedKeyEnabled: false,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_analytics_workspace = azure.operationalinsights.AnalyticsWorkspace(\"example\",\n    name=\"example-law\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku=\"PerGB2018\")\nexample_log_analytics_workspace_onboarding = azure.sentinel.LogAnalyticsWorkspaceOnboarding(\"example\",\n    workspace_id=example_analytics_workspace.id,\n    customer_managed_key_enabled=False)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleAnalyticsWorkspace = new Azure.OperationalInsights.AnalyticsWorkspace(\"example\", new()\n    {\n        Name = \"example-law\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Sku = \"PerGB2018\",\n    });\n\n    var exampleLogAnalyticsWorkspaceOnboarding = new Azure.Sentinel.LogAnalyticsWorkspaceOnboarding(\"example\", new()\n    {\n        WorkspaceId = exampleAnalyticsWorkspace.Id,\n        CustomerManagedKeyEnabled = false,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/operationalinsights\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/sentinel\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAnalyticsWorkspace, err := operationalinsights.NewAnalyticsWorkspace(ctx, \"example\", \u0026operationalinsights.AnalyticsWorkspaceArgs{\n\t\t\tName:              pulumi.String(\"example-law\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSku:               pulumi.String(\"PerGB2018\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = sentinel.NewLogAnalyticsWorkspaceOnboarding(ctx, \"example\", \u0026sentinel.LogAnalyticsWorkspaceOnboardingArgs{\n\t\t\tWorkspaceId:               exampleAnalyticsWorkspace.ID(),\n\t\t\tCustomerManagedKeyEnabled: pulumi.Bool(false),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.operationalinsights.AnalyticsWorkspace;\nimport com.pulumi.azure.operationalinsights.AnalyticsWorkspaceArgs;\nimport com.pulumi.azure.sentinel.LogAnalyticsWorkspaceOnboarding;\nimport com.pulumi.azure.sentinel.LogAnalyticsWorkspaceOnboardingArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleAnalyticsWorkspace = new AnalyticsWorkspace(\"exampleAnalyticsWorkspace\", AnalyticsWorkspaceArgs.builder()\n            .name(\"example-law\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .sku(\"PerGB2018\")\n            .build());\n\n        var exampleLogAnalyticsWorkspaceOnboarding = new LogAnalyticsWorkspaceOnboarding(\"exampleLogAnalyticsWorkspaceOnboarding\", LogAnalyticsWorkspaceOnboardingArgs.builder()\n            .workspaceId(exampleAnalyticsWorkspace.id())\n            .customerManagedKeyEnabled(false)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleAnalyticsWorkspace:\n    type: azure:operationalinsights:AnalyticsWorkspace\n    name: example\n    properties:\n      name: example-law\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      sku: PerGB2018\n  exampleLogAnalyticsWorkspaceOnboarding:\n    type: azure:sentinel:LogAnalyticsWorkspaceOnboarding\n    name: example\n    properties:\n      workspaceId: ${exampleAnalyticsWorkspace.id}\n      customerManagedKeyEnabled: false\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.OperationalInsights` - 2022-11-01\n\n## Import\n\nSecurity Insights Sentinel Onboarding States can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:sentinel/logAnalyticsWorkspaceOnboarding:LogAnalyticsWorkspaceOnboarding example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup1/providers/Microsoft.OperationalInsights/workspaces/workspace1/providers/Microsoft.SecurityInsights/onboardingStates/defaults\n```\n\n","properties":{"customerManagedKeyEnabled":{"type":"boolean","description":"Specifies if the Workspace is using Customer managed key. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Changing this forces a new resource to be created.\n\n\u003e **Note:** To set up Microsoft Sentinel customer-managed key it needs to enable CMK on the workspace and add access policy to your Azure Key Vault. Details could be found on [this document](https://learn.microsoft.com/en-us/azure/sentinel/customer-managed-keys)\n\n\u003e **Note:** Once a workspace is onboarded to Microsoft Sentinel with \u003cspan pulumi-lang-nodejs=\"`customerManagedKeyEnabled`\" pulumi-lang-dotnet=\"`CustomerManagedKeyEnabled`\" pulumi-lang-go=\"`customerManagedKeyEnabled`\" pulumi-lang-python=\"`customer_managed_key_enabled`\" pulumi-lang-yaml=\"`customerManagedKeyEnabled`\" pulumi-lang-java=\"`customerManagedKeyEnabled`\"\u003e`customer_managed_key_enabled`\u003c/span\u003e set to true, it will not be able to be onboarded again with \u003cspan pulumi-lang-nodejs=\"`customerManagedKeyEnabled`\" pulumi-lang-dotnet=\"`CustomerManagedKeyEnabled`\" pulumi-lang-go=\"`customerManagedKeyEnabled`\" pulumi-lang-python=\"`customer_managed_key_enabled`\" pulumi-lang-yaml=\"`customerManagedKeyEnabled`\" pulumi-lang-java=\"`customerManagedKeyEnabled`\"\u003e`customer_managed_key_enabled`\u003c/span\u003e set to false.\n"},"workspaceId":{"type":"string","description":"Specifies the Workspace Id. Changing this forces the Log Analytics Workspace off the board and onboard again. Changing this forces a new resource to be created.\n"}},"required":["workspaceId"],"inputProperties":{"customerManagedKeyEnabled":{"type":"boolean","description":"Specifies if the Workspace is using Customer managed key. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Changing this forces a new resource to be created.\n\n\u003e **Note:** To set up Microsoft Sentinel customer-managed key it needs to enable CMK on the workspace and add access policy to your Azure Key Vault. Details could be found on [this document](https://learn.microsoft.com/en-us/azure/sentinel/customer-managed-keys)\n\n\u003e **Note:** Once a workspace is onboarded to Microsoft Sentinel with \u003cspan pulumi-lang-nodejs=\"`customerManagedKeyEnabled`\" pulumi-lang-dotnet=\"`CustomerManagedKeyEnabled`\" pulumi-lang-go=\"`customerManagedKeyEnabled`\" pulumi-lang-python=\"`customer_managed_key_enabled`\" pulumi-lang-yaml=\"`customerManagedKeyEnabled`\" pulumi-lang-java=\"`customerManagedKeyEnabled`\"\u003e`customer_managed_key_enabled`\u003c/span\u003e set to true, it will not be able to be onboarded again with \u003cspan pulumi-lang-nodejs=\"`customerManagedKeyEnabled`\" pulumi-lang-dotnet=\"`CustomerManagedKeyEnabled`\" pulumi-lang-go=\"`customerManagedKeyEnabled`\" pulumi-lang-python=\"`customer_managed_key_enabled`\" pulumi-lang-yaml=\"`customerManagedKeyEnabled`\" pulumi-lang-java=\"`customerManagedKeyEnabled`\"\u003e`customer_managed_key_enabled`\u003c/span\u003e set to false.\n","willReplaceOnChanges":true},"workspaceId":{"type":"string","description":"Specifies the Workspace Id. Changing this forces the Log Analytics Workspace off the board and onboard again. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["workspaceId"],"stateInputs":{"description":"Input properties used for looking up and filtering LogAnalyticsWorkspaceOnboarding resources.\n","properties":{"customerManagedKeyEnabled":{"type":"boolean","description":"Specifies if the Workspace is using Customer managed key. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Changing this forces a new resource to be created.\n\n\u003e **Note:** To set up Microsoft Sentinel customer-managed key it needs to enable CMK on the workspace and add access policy to your Azure Key Vault. Details could be found on [this document](https://learn.microsoft.com/en-us/azure/sentinel/customer-managed-keys)\n\n\u003e **Note:** Once a workspace is onboarded to Microsoft Sentinel with \u003cspan pulumi-lang-nodejs=\"`customerManagedKeyEnabled`\" pulumi-lang-dotnet=\"`CustomerManagedKeyEnabled`\" pulumi-lang-go=\"`customerManagedKeyEnabled`\" pulumi-lang-python=\"`customer_managed_key_enabled`\" pulumi-lang-yaml=\"`customerManagedKeyEnabled`\" pulumi-lang-java=\"`customerManagedKeyEnabled`\"\u003e`customer_managed_key_enabled`\u003c/span\u003e set to true, it will not be able to be onboarded again with \u003cspan pulumi-lang-nodejs=\"`customerManagedKeyEnabled`\" pulumi-lang-dotnet=\"`CustomerManagedKeyEnabled`\" pulumi-lang-go=\"`customerManagedKeyEnabled`\" pulumi-lang-python=\"`customer_managed_key_enabled`\" pulumi-lang-yaml=\"`customerManagedKeyEnabled`\" pulumi-lang-java=\"`customerManagedKeyEnabled`\"\u003e`customer_managed_key_enabled`\u003c/span\u003e set to false.\n","willReplaceOnChanges":true},"workspaceId":{"type":"string","description":"Specifies the Workspace Id. Changing this forces the Log Analytics Workspace off the board and onboard again. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:sentinel/metadata:Metadata":{"description":"Manages a Sentinel Metadata.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleAnalyticsWorkspace = new azure.operationalinsights.AnalyticsWorkspace(\"example\", {\n    name: \"example-workspace\",\n    location: example.location,\n    resourceGroupName: example.name,\n    sku: \"pergb2018\",\n});\nconst exampleAnalyticsSolution = new azure.operationalinsights.AnalyticsSolution(\"example\", {\n    solutionName: \"SecurityInsights\",\n    location: example.location,\n    resourceGroupName: example.name,\n    workspaceResourceId: exampleAnalyticsWorkspace.id,\n    workspaceName: exampleAnalyticsWorkspace.name,\n    plan: {\n        publisher: \"Microsoft\",\n        product: \"OMSGallery/SecurityInsights\",\n    },\n});\nconst exampleAlertRuleNrt = new azure.sentinel.AlertRuleNrt(\"example\", {\n    name: \"example\",\n    logAnalyticsWorkspaceId: exampleAnalyticsSolution.workspaceResourceId,\n    displayName: \"example\",\n    severity: \"High\",\n    query: `AzureActivity |\n  where OperationName == \\\\\"Create or Update Virtual Machine\\\\\" or OperationName ==\\\\\"Create Deployment\\\\\" |\n  where ActivityStatus == \\\\\"Succeeded\\\\\" |\n  make-series dcount(ResourceId) default=0 on EventSubmissionTimestamp in range(ago(7d), now(), 1d) by Caller\n`,\n});\nconst exampleMetadata = new azure.sentinel.Metadata(\"example\", {\n    name: \"exampl\",\n    workspaceId: exampleAnalyticsSolution.workspaceResourceId,\n    contentId: exampleAlertRuleNrt.name,\n    kind: \"AnalyticsRule\",\n    parentId: exampleAlertRuleNrt.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_analytics_workspace = azure.operationalinsights.AnalyticsWorkspace(\"example\",\n    name=\"example-workspace\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku=\"pergb2018\")\nexample_analytics_solution = azure.operationalinsights.AnalyticsSolution(\"example\",\n    solution_name=\"SecurityInsights\",\n    location=example.location,\n    resource_group_name=example.name,\n    workspace_resource_id=example_analytics_workspace.id,\n    workspace_name=example_analytics_workspace.name,\n    plan={\n        \"publisher\": \"Microsoft\",\n        \"product\": \"OMSGallery/SecurityInsights\",\n    })\nexample_alert_rule_nrt = azure.sentinel.AlertRuleNrt(\"example\",\n    name=\"example\",\n    log_analytics_workspace_id=example_analytics_solution.workspace_resource_id,\n    display_name=\"example\",\n    severity=\"High\",\n    query=\"\"\"AzureActivity |\n  where OperationName == \\\"Create or Update Virtual Machine\\\" or OperationName ==\\\"Create Deployment\\\" |\n  where ActivityStatus == \\\"Succeeded\\\" |\n  make-series dcount(ResourceId) default=0 on EventSubmissionTimestamp in range(ago(7d), now(), 1d) by Caller\n\"\"\")\nexample_metadata = azure.sentinel.Metadata(\"example\",\n    name=\"exampl\",\n    workspace_id=example_analytics_solution.workspace_resource_id,\n    content_id=example_alert_rule_nrt.name,\n    kind=\"AnalyticsRule\",\n    parent_id=example_alert_rule_nrt.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleAnalyticsWorkspace = new Azure.OperationalInsights.AnalyticsWorkspace(\"example\", new()\n    {\n        Name = \"example-workspace\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Sku = \"pergb2018\",\n    });\n\n    var exampleAnalyticsSolution = new Azure.OperationalInsights.AnalyticsSolution(\"example\", new()\n    {\n        SolutionName = \"SecurityInsights\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        WorkspaceResourceId = exampleAnalyticsWorkspace.Id,\n        WorkspaceName = exampleAnalyticsWorkspace.Name,\n        Plan = new Azure.OperationalInsights.Inputs.AnalyticsSolutionPlanArgs\n        {\n            Publisher = \"Microsoft\",\n            Product = \"OMSGallery/SecurityInsights\",\n        },\n    });\n\n    var exampleAlertRuleNrt = new Azure.Sentinel.AlertRuleNrt(\"example\", new()\n    {\n        Name = \"example\",\n        LogAnalyticsWorkspaceId = exampleAnalyticsSolution.WorkspaceResourceId,\n        DisplayName = \"example\",\n        Severity = \"High\",\n        Query = @\"AzureActivity |\n  where OperationName == \\\"\"Create or Update Virtual Machine\\\"\" or OperationName ==\\\"\"Create Deployment\\\"\" |\n  where ActivityStatus == \\\"\"Succeeded\\\"\" |\n  make-series dcount(ResourceId) default=0 on EventSubmissionTimestamp in range(ago(7d), now(), 1d) by Caller\n\",\n    });\n\n    var exampleMetadata = new Azure.Sentinel.Metadata(\"example\", new()\n    {\n        Name = \"exampl\",\n        WorkspaceId = exampleAnalyticsSolution.WorkspaceResourceId,\n        ContentId = exampleAlertRuleNrt.Name,\n        Kind = \"AnalyticsRule\",\n        ParentId = exampleAlertRuleNrt.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/operationalinsights\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/sentinel\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAnalyticsWorkspace, err := operationalinsights.NewAnalyticsWorkspace(ctx, \"example\", \u0026operationalinsights.AnalyticsWorkspaceArgs{\n\t\t\tName:              pulumi.String(\"example-workspace\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSku:               pulumi.String(\"pergb2018\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAnalyticsSolution, err := operationalinsights.NewAnalyticsSolution(ctx, \"example\", \u0026operationalinsights.AnalyticsSolutionArgs{\n\t\t\tSolutionName:        pulumi.String(\"SecurityInsights\"),\n\t\t\tLocation:            example.Location,\n\t\t\tResourceGroupName:   example.Name,\n\t\t\tWorkspaceResourceId: exampleAnalyticsWorkspace.ID(),\n\t\t\tWorkspaceName:       exampleAnalyticsWorkspace.Name,\n\t\t\tPlan: \u0026operationalinsights.AnalyticsSolutionPlanArgs{\n\t\t\t\tPublisher: pulumi.String(\"Microsoft\"),\n\t\t\t\tProduct:   pulumi.String(\"OMSGallery/SecurityInsights\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAlertRuleNrt, err := sentinel.NewAlertRuleNrt(ctx, \"example\", \u0026sentinel.AlertRuleNrtArgs{\n\t\t\tName:                    pulumi.String(\"example\"),\n\t\t\tLogAnalyticsWorkspaceId: exampleAnalyticsSolution.WorkspaceResourceId,\n\t\t\tDisplayName:             pulumi.String(\"example\"),\n\t\t\tSeverity:                pulumi.String(\"High\"),\n\t\t\tQuery:                   pulumi.String(\"AzureActivity |\\n  where OperationName == \\\\\\\"Create or Update Virtual Machine\\\\\\\" or OperationName ==\\\\\\\"Create Deployment\\\\\\\" |\\n  where ActivityStatus == \\\\\\\"Succeeded\\\\\\\" |\\n  make-series dcount(ResourceId) default=0 on EventSubmissionTimestamp in range(ago(7d), now(), 1d) by Caller\\n\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = sentinel.NewMetadata(ctx, \"example\", \u0026sentinel.MetadataArgs{\n\t\t\tName:        pulumi.String(\"exampl\"),\n\t\t\tWorkspaceId: exampleAnalyticsSolution.WorkspaceResourceId,\n\t\t\tContentId:   exampleAlertRuleNrt.Name,\n\t\t\tKind:        pulumi.String(\"AnalyticsRule\"),\n\t\t\tParentId:    exampleAlertRuleNrt.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.operationalinsights.AnalyticsWorkspace;\nimport com.pulumi.azure.operationalinsights.AnalyticsWorkspaceArgs;\nimport com.pulumi.azure.operationalinsights.AnalyticsSolution;\nimport com.pulumi.azure.operationalinsights.AnalyticsSolutionArgs;\nimport com.pulumi.azure.operationalinsights.inputs.AnalyticsSolutionPlanArgs;\nimport com.pulumi.azure.sentinel.AlertRuleNrt;\nimport com.pulumi.azure.sentinel.AlertRuleNrtArgs;\nimport com.pulumi.azure.sentinel.Metadata;\nimport com.pulumi.azure.sentinel.MetadataArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleAnalyticsWorkspace = new AnalyticsWorkspace(\"exampleAnalyticsWorkspace\", AnalyticsWorkspaceArgs.builder()\n            .name(\"example-workspace\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .sku(\"pergb2018\")\n            .build());\n\n        var exampleAnalyticsSolution = new AnalyticsSolution(\"exampleAnalyticsSolution\", AnalyticsSolutionArgs.builder()\n            .solutionName(\"SecurityInsights\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .workspaceResourceId(exampleAnalyticsWorkspace.id())\n            .workspaceName(exampleAnalyticsWorkspace.name())\n            .plan(AnalyticsSolutionPlanArgs.builder()\n                .publisher(\"Microsoft\")\n                .product(\"OMSGallery/SecurityInsights\")\n                .build())\n            .build());\n\n        var exampleAlertRuleNrt = new AlertRuleNrt(\"exampleAlertRuleNrt\", AlertRuleNrtArgs.builder()\n            .name(\"example\")\n            .logAnalyticsWorkspaceId(exampleAnalyticsSolution.workspaceResourceId())\n            .displayName(\"example\")\n            .severity(\"High\")\n            .query(\"\"\"\nAzureActivity |\n  where OperationName == \\\"Create or Update Virtual Machine\\\" or OperationName ==\\\"Create Deployment\\\" |\n  where ActivityStatus == \\\"Succeeded\\\" |\n  make-series dcount(ResourceId) default=0 on EventSubmissionTimestamp in range(ago(7d), now(), 1d) by Caller\n            \"\"\")\n            .build());\n\n        var exampleMetadata = new Metadata(\"exampleMetadata\", MetadataArgs.builder()\n            .name(\"exampl\")\n            .workspaceId(exampleAnalyticsSolution.workspaceResourceId())\n            .contentId(exampleAlertRuleNrt.name())\n            .kind(\"AnalyticsRule\")\n            .parentId(exampleAlertRuleNrt.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleAnalyticsWorkspace:\n    type: azure:operationalinsights:AnalyticsWorkspace\n    name: example\n    properties:\n      name: example-workspace\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      sku: pergb2018\n  exampleAnalyticsSolution:\n    type: azure:operationalinsights:AnalyticsSolution\n    name: example\n    properties:\n      solutionName: SecurityInsights\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      workspaceResourceId: ${exampleAnalyticsWorkspace.id}\n      workspaceName: ${exampleAnalyticsWorkspace.name}\n      plan:\n        publisher: Microsoft\n        product: OMSGallery/SecurityInsights\n  exampleAlertRuleNrt:\n    type: azure:sentinel:AlertRuleNrt\n    name: example\n    properties:\n      name: example\n      logAnalyticsWorkspaceId: ${exampleAnalyticsSolution.workspaceResourceId}\n      displayName: example\n      severity: High\n      query: |\n        AzureActivity |\n          where OperationName == \\\"Create or Update Virtual Machine\\\" or OperationName ==\\\"Create Deployment\\\" |\n          where ActivityStatus == \\\"Succeeded\\\" |\n          make-series dcount(ResourceId) default=0 on EventSubmissionTimestamp in range(ago(7d), now(), 1d) by Caller\n  exampleMetadata:\n    type: azure:sentinel:Metadata\n    name: example\n    properties:\n      name: exampl\n      workspaceId: ${exampleAnalyticsSolution.workspaceResourceId}\n      contentId: ${exampleAlertRuleNrt.name}\n      kind: AnalyticsRule\n      parentId: ${exampleAlertRuleNrt.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.OperationalInsights` - 2022-10-01-preview\n\n## Import\n\nSentinel Metadata can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:sentinel/metadata:Metadata example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resourcegroup1/providers/Microsoft.OperationalInsights/workspaces/workspace1/providers/Microsoft.SecurityInsights/metadata/metadata1\n```\n\n","properties":{"author":{"$ref":"#/types/azure:sentinel/MetadataAuthor:MetadataAuthor","description":"An \u003cspan pulumi-lang-nodejs=\"`author`\" pulumi-lang-dotnet=\"`Author`\" pulumi-lang-go=\"`author`\" pulumi-lang-python=\"`author`\" pulumi-lang-yaml=\"`author`\" pulumi-lang-java=\"`author`\"\u003e`author`\u003c/span\u003e blocks as defined below.\n"},"category":{"$ref":"#/types/azure:sentinel/MetadataCategory:MetadataCategory","description":"A \u003cspan pulumi-lang-nodejs=\"`category`\" pulumi-lang-dotnet=\"`Category`\" pulumi-lang-go=\"`category`\" pulumi-lang-python=\"`category`\" pulumi-lang-yaml=\"`category`\" pulumi-lang-java=\"`category`\"\u003e`category`\u003c/span\u003e block as defined below.\n"},"contentId":{"type":"string","description":"The ID of the content. Used to identify dependencies and content from solutions or community.\n"},"contentSchemaVersion":{"type":"string","description":"Schema version of the content. Can be used to distinguish between flow based on the schema version.\n"},"customVersion":{"type":"string","description":"The Custom version of the content.\n"},"dependency":{"type":"string","description":"A JSON formatted \u003cspan pulumi-lang-nodejs=\"`dependency`\" pulumi-lang-dotnet=\"`Dependency`\" pulumi-lang-go=\"`dependency`\" pulumi-lang-python=\"`dependency`\" pulumi-lang-yaml=\"`dependency`\" pulumi-lang-java=\"`dependency`\"\u003e`dependency`\u003c/span\u003e block as defined below. Dependency for the content item, what other content items it requires to work.\n"},"firstPublishDate":{"type":"string","description":"The first publish date of solution content item.\n"},"iconId":{"type":"string","description":"The ID of the icon, this id can be fetched from the solution template.\n"},"kind":{"type":"string","description":"The kind of content the metadata is for. Possible values are `AnalyticsRule`, `AnalyticsRuleTemplate`, `AutomationRule`, `AzureFunction`, `DataConnector`, `DataType`, `HuntingQuery`, `InvestigationQuery`, `LogicAppsCustomConnector`, `Parser`, `Playbook`, `PlaybookTemplate`, `Solution`, `Watchlist`, `WatchlistTemplate`, `Workbook` and `WorkbookTemplate`.\n"},"lastPublishDate":{"type":"string","description":"The last publish date of solution content item.\n"},"name":{"type":"string","description":"The name which should be used for this Sentinel Metadata. Changing this forces a new Sentinel Metadata to be created.\n"},"parentId":{"type":"string","description":"The ID of the parent resource ID of the content item, which the metadata belongs to.\n"},"previewImages":{"type":"array","items":{"type":"string"},"description":"Specifies a list of preview image file names. These will be taken from solution artifacts.\n"},"previewImagesDarks":{"type":"array","items":{"type":"string"},"description":"Specifies a list of preview image file names used for dark theme. These will be taken from solution artifacts.\n"},"providers":{"type":"array","items":{"type":"string"},"description":"Specifies a list of providers for the solution content item.\n"},"source":{"$ref":"#/types/azure:sentinel/MetadataSource:MetadataSource","description":"A \u003cspan pulumi-lang-nodejs=\"`source`\" pulumi-lang-dotnet=\"`Source`\" pulumi-lang-go=\"`source`\" pulumi-lang-python=\"`source`\" pulumi-lang-yaml=\"`source`\" pulumi-lang-java=\"`source`\"\u003e`source`\u003c/span\u003e block as defined below.\n"},"support":{"$ref":"#/types/azure:sentinel/MetadataSupport:MetadataSupport","description":"A \u003cspan pulumi-lang-nodejs=\"`support`\" pulumi-lang-dotnet=\"`Support`\" pulumi-lang-go=\"`support`\" pulumi-lang-python=\"`support`\" pulumi-lang-yaml=\"`support`\" pulumi-lang-java=\"`support`\"\u003e`support`\u003c/span\u003e block as defined below.\n"},"threatAnalysisTactics":{"type":"array","items":{"type":"string"},"description":"Specifies a list of tactics the resource covers. Possible values are `Reconnaissance`, `ResourceDevelopment`, `InitialAccess`, `Execution`, `Persistence`, `PrivilegeEscalation`, `DefenseEvasion`, `CredentialAccess`, `Discovery`, `LateralMovement`, `Collection`, `CommandAndControl`, `Exfiltration`, `Impact`, `ImpairProcessControl` and `InhibitResponseFunction`.\n"},"threatAnalysisTechniques":{"type":"array","items":{"type":"string"},"description":"Specifies a list of techniques the resource covers.\n"},"version":{"type":"string","description":"Version of the content.\n"},"workspaceId":{"type":"string","description":"The ID of the Log Analytics Workspace. Changing this forces a new Sentinel Metadata to be created.\n"}},"required":["contentId","kind","name","parentId","source","workspaceId"],"inputProperties":{"author":{"$ref":"#/types/azure:sentinel/MetadataAuthor:MetadataAuthor","description":"An \u003cspan pulumi-lang-nodejs=\"`author`\" pulumi-lang-dotnet=\"`Author`\" pulumi-lang-go=\"`author`\" pulumi-lang-python=\"`author`\" pulumi-lang-yaml=\"`author`\" pulumi-lang-java=\"`author`\"\u003e`author`\u003c/span\u003e blocks as defined below.\n"},"category":{"$ref":"#/types/azure:sentinel/MetadataCategory:MetadataCategory","description":"A \u003cspan pulumi-lang-nodejs=\"`category`\" pulumi-lang-dotnet=\"`Category`\" pulumi-lang-go=\"`category`\" pulumi-lang-python=\"`category`\" pulumi-lang-yaml=\"`category`\" pulumi-lang-java=\"`category`\"\u003e`category`\u003c/span\u003e block as defined below.\n"},"contentId":{"type":"string","description":"The ID of the content. Used to identify dependencies and content from solutions or community.\n"},"contentSchemaVersion":{"type":"string","description":"Schema version of the content. Can be used to distinguish between flow based on the schema version.\n"},"customVersion":{"type":"string","description":"The Custom version of the content.\n"},"dependency":{"type":"string","description":"A JSON formatted \u003cspan pulumi-lang-nodejs=\"`dependency`\" pulumi-lang-dotnet=\"`Dependency`\" pulumi-lang-go=\"`dependency`\" pulumi-lang-python=\"`dependency`\" pulumi-lang-yaml=\"`dependency`\" pulumi-lang-java=\"`dependency`\"\u003e`dependency`\u003c/span\u003e block as defined below. Dependency for the content item, what other content items it requires to work.\n"},"firstPublishDate":{"type":"string","description":"The first publish date of solution content item.\n"},"iconId":{"type":"string","description":"The ID of the icon, this id can be fetched from the solution template.\n"},"kind":{"type":"string","description":"The kind of content the metadata is for. Possible values are `AnalyticsRule`, `AnalyticsRuleTemplate`, `AutomationRule`, `AzureFunction`, `DataConnector`, `DataType`, `HuntingQuery`, `InvestigationQuery`, `LogicAppsCustomConnector`, `Parser`, `Playbook`, `PlaybookTemplate`, `Solution`, `Watchlist`, `WatchlistTemplate`, `Workbook` and `WorkbookTemplate`.\n"},"lastPublishDate":{"type":"string","description":"The last publish date of solution content item.\n"},"name":{"type":"string","description":"The name which should be used for this Sentinel Metadata. Changing this forces a new Sentinel Metadata to be created.\n","willReplaceOnChanges":true},"parentId":{"type":"string","description":"The ID of the parent resource ID of the content item, which the metadata belongs to.\n"},"previewImages":{"type":"array","items":{"type":"string"},"description":"Specifies a list of preview image file names. These will be taken from solution artifacts.\n"},"previewImagesDarks":{"type":"array","items":{"type":"string"},"description":"Specifies a list of preview image file names used for dark theme. These will be taken from solution artifacts.\n"},"providers":{"type":"array","items":{"type":"string"},"description":"Specifies a list of providers for the solution content item.\n"},"source":{"$ref":"#/types/azure:sentinel/MetadataSource:MetadataSource","description":"A \u003cspan pulumi-lang-nodejs=\"`source`\" pulumi-lang-dotnet=\"`Source`\" pulumi-lang-go=\"`source`\" pulumi-lang-python=\"`source`\" pulumi-lang-yaml=\"`source`\" pulumi-lang-java=\"`source`\"\u003e`source`\u003c/span\u003e block as defined below.\n"},"support":{"$ref":"#/types/azure:sentinel/MetadataSupport:MetadataSupport","description":"A \u003cspan pulumi-lang-nodejs=\"`support`\" pulumi-lang-dotnet=\"`Support`\" pulumi-lang-go=\"`support`\" pulumi-lang-python=\"`support`\" pulumi-lang-yaml=\"`support`\" pulumi-lang-java=\"`support`\"\u003e`support`\u003c/span\u003e block as defined below.\n"},"threatAnalysisTactics":{"type":"array","items":{"type":"string"},"description":"Specifies a list of tactics the resource covers. Possible values are `Reconnaissance`, `ResourceDevelopment`, `InitialAccess`, `Execution`, `Persistence`, `PrivilegeEscalation`, `DefenseEvasion`, `CredentialAccess`, `Discovery`, `LateralMovement`, `Collection`, `CommandAndControl`, `Exfiltration`, `Impact`, `ImpairProcessControl` and `InhibitResponseFunction`.\n"},"threatAnalysisTechniques":{"type":"array","items":{"type":"string"},"description":"Specifies a list of techniques the resource covers.\n"},"version":{"type":"string","description":"Version of the content.\n"},"workspaceId":{"type":"string","description":"The ID of the Log Analytics Workspace. Changing this forces a new Sentinel Metadata to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["contentId","kind","parentId","workspaceId"],"stateInputs":{"description":"Input properties used for looking up and filtering Metadata resources.\n","properties":{"author":{"$ref":"#/types/azure:sentinel/MetadataAuthor:MetadataAuthor","description":"An \u003cspan pulumi-lang-nodejs=\"`author`\" pulumi-lang-dotnet=\"`Author`\" pulumi-lang-go=\"`author`\" pulumi-lang-python=\"`author`\" pulumi-lang-yaml=\"`author`\" pulumi-lang-java=\"`author`\"\u003e`author`\u003c/span\u003e blocks as defined below.\n"},"category":{"$ref":"#/types/azure:sentinel/MetadataCategory:MetadataCategory","description":"A \u003cspan pulumi-lang-nodejs=\"`category`\" pulumi-lang-dotnet=\"`Category`\" pulumi-lang-go=\"`category`\" pulumi-lang-python=\"`category`\" pulumi-lang-yaml=\"`category`\" pulumi-lang-java=\"`category`\"\u003e`category`\u003c/span\u003e block as defined below.\n"},"contentId":{"type":"string","description":"The ID of the content. Used to identify dependencies and content from solutions or community.\n"},"contentSchemaVersion":{"type":"string","description":"Schema version of the content. Can be used to distinguish between flow based on the schema version.\n"},"customVersion":{"type":"string","description":"The Custom version of the content.\n"},"dependency":{"type":"string","description":"A JSON formatted \u003cspan pulumi-lang-nodejs=\"`dependency`\" pulumi-lang-dotnet=\"`Dependency`\" pulumi-lang-go=\"`dependency`\" pulumi-lang-python=\"`dependency`\" pulumi-lang-yaml=\"`dependency`\" pulumi-lang-java=\"`dependency`\"\u003e`dependency`\u003c/span\u003e block as defined below. Dependency for the content item, what other content items it requires to work.\n"},"firstPublishDate":{"type":"string","description":"The first publish date of solution content item.\n"},"iconId":{"type":"string","description":"The ID of the icon, this id can be fetched from the solution template.\n"},"kind":{"type":"string","description":"The kind of content the metadata is for. Possible values are `AnalyticsRule`, `AnalyticsRuleTemplate`, `AutomationRule`, `AzureFunction`, `DataConnector`, `DataType`, `HuntingQuery`, `InvestigationQuery`, `LogicAppsCustomConnector`, `Parser`, `Playbook`, `PlaybookTemplate`, `Solution`, `Watchlist`, `WatchlistTemplate`, `Workbook` and `WorkbookTemplate`.\n"},"lastPublishDate":{"type":"string","description":"The last publish date of solution content item.\n"},"name":{"type":"string","description":"The name which should be used for this Sentinel Metadata. Changing this forces a new Sentinel Metadata to be created.\n","willReplaceOnChanges":true},"parentId":{"type":"string","description":"The ID of the parent resource ID of the content item, which the metadata belongs to.\n"},"previewImages":{"type":"array","items":{"type":"string"},"description":"Specifies a list of preview image file names. These will be taken from solution artifacts.\n"},"previewImagesDarks":{"type":"array","items":{"type":"string"},"description":"Specifies a list of preview image file names used for dark theme. These will be taken from solution artifacts.\n"},"providers":{"type":"array","items":{"type":"string"},"description":"Specifies a list of providers for the solution content item.\n"},"source":{"$ref":"#/types/azure:sentinel/MetadataSource:MetadataSource","description":"A \u003cspan pulumi-lang-nodejs=\"`source`\" pulumi-lang-dotnet=\"`Source`\" pulumi-lang-go=\"`source`\" pulumi-lang-python=\"`source`\" pulumi-lang-yaml=\"`source`\" pulumi-lang-java=\"`source`\"\u003e`source`\u003c/span\u003e block as defined below.\n"},"support":{"$ref":"#/types/azure:sentinel/MetadataSupport:MetadataSupport","description":"A \u003cspan pulumi-lang-nodejs=\"`support`\" pulumi-lang-dotnet=\"`Support`\" pulumi-lang-go=\"`support`\" pulumi-lang-python=\"`support`\" pulumi-lang-yaml=\"`support`\" pulumi-lang-java=\"`support`\"\u003e`support`\u003c/span\u003e block as defined below.\n"},"threatAnalysisTactics":{"type":"array","items":{"type":"string"},"description":"Specifies a list of tactics the resource covers. Possible values are `Reconnaissance`, `ResourceDevelopment`, `InitialAccess`, `Execution`, `Persistence`, `PrivilegeEscalation`, `DefenseEvasion`, `CredentialAccess`, `Discovery`, `LateralMovement`, `Collection`, `CommandAndControl`, `Exfiltration`, `Impact`, `ImpairProcessControl` and `InhibitResponseFunction`.\n"},"threatAnalysisTechniques":{"type":"array","items":{"type":"string"},"description":"Specifies a list of techniques the resource covers.\n"},"version":{"type":"string","description":"Version of the content.\n"},"workspaceId":{"type":"string","description":"The ID of the Log Analytics Workspace. Changing this forces a new Sentinel Metadata to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:sentinel/threatIntelligenceIndicator:ThreatIntelligenceIndicator":{"description":"Manages a Sentinel Threat Intelligence Indicator.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-rg\",\n    location: \"east us\",\n});\nconst exampleAnalyticsWorkspace = new azure.operationalinsights.AnalyticsWorkspace(\"example\", {\n    name: \"example-law\",\n    location: example.location,\n    resourceGroupName: example.name,\n    sku: \"PerGB2018\",\n    retentionInDays: 30,\n});\nconst exampleLogAnalyticsWorkspaceOnboarding = new azure.sentinel.LogAnalyticsWorkspaceOnboarding(\"example\", {workspaceId: exampleAnalyticsWorkspace.id});\nconst exampleThreatIntelligenceIndicator = new azure.sentinel.ThreatIntelligenceIndicator(\"example\", {\n    workspaceId: exampleLogAnalyticsWorkspaceOnboarding.workspaceId,\n    patternType: \"domain-name\",\n    pattern: \"http://example.com\",\n    source: \"Microsoft Sentinel\",\n    validateFromUtc: \"2022-12-14T16:00:00Z\",\n    displayName: \"example-indicator\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-rg\",\n    location=\"east us\")\nexample_analytics_workspace = azure.operationalinsights.AnalyticsWorkspace(\"example\",\n    name=\"example-law\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku=\"PerGB2018\",\n    retention_in_days=30)\nexample_log_analytics_workspace_onboarding = azure.sentinel.LogAnalyticsWorkspaceOnboarding(\"example\", workspace_id=example_analytics_workspace.id)\nexample_threat_intelligence_indicator = azure.sentinel.ThreatIntelligenceIndicator(\"example\",\n    workspace_id=example_log_analytics_workspace_onboarding.workspace_id,\n    pattern_type=\"domain-name\",\n    pattern=\"http://example.com\",\n    source=\"Microsoft Sentinel\",\n    validate_from_utc=\"2022-12-14T16:00:00Z\",\n    display_name=\"example-indicator\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-rg\",\n        Location = \"east us\",\n    });\n\n    var exampleAnalyticsWorkspace = new Azure.OperationalInsights.AnalyticsWorkspace(\"example\", new()\n    {\n        Name = \"example-law\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Sku = \"PerGB2018\",\n        RetentionInDays = 30,\n    });\n\n    var exampleLogAnalyticsWorkspaceOnboarding = new Azure.Sentinel.LogAnalyticsWorkspaceOnboarding(\"example\", new()\n    {\n        WorkspaceId = exampleAnalyticsWorkspace.Id,\n    });\n\n    var exampleThreatIntelligenceIndicator = new Azure.Sentinel.ThreatIntelligenceIndicator(\"example\", new()\n    {\n        WorkspaceId = exampleLogAnalyticsWorkspaceOnboarding.WorkspaceId,\n        PatternType = \"domain-name\",\n        Pattern = \"http://example.com\",\n        Source = \"Microsoft Sentinel\",\n        ValidateFromUtc = \"2022-12-14T16:00:00Z\",\n        DisplayName = \"example-indicator\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/operationalinsights\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/sentinel\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-rg\"),\n\t\t\tLocation: pulumi.String(\"east us\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAnalyticsWorkspace, err := operationalinsights.NewAnalyticsWorkspace(ctx, \"example\", \u0026operationalinsights.AnalyticsWorkspaceArgs{\n\t\t\tName:              pulumi.String(\"example-law\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSku:               pulumi.String(\"PerGB2018\"),\n\t\t\tRetentionInDays:   pulumi.Int(30),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleLogAnalyticsWorkspaceOnboarding, err := sentinel.NewLogAnalyticsWorkspaceOnboarding(ctx, \"example\", \u0026sentinel.LogAnalyticsWorkspaceOnboardingArgs{\n\t\t\tWorkspaceId: exampleAnalyticsWorkspace.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = sentinel.NewThreatIntelligenceIndicator(ctx, \"example\", \u0026sentinel.ThreatIntelligenceIndicatorArgs{\n\t\t\tWorkspaceId:     exampleLogAnalyticsWorkspaceOnboarding.WorkspaceId,\n\t\t\tPatternType:     pulumi.String(\"domain-name\"),\n\t\t\tPattern:         pulumi.String(\"http://example.com\"),\n\t\t\tSource:          pulumi.String(\"Microsoft Sentinel\"),\n\t\t\tValidateFromUtc: pulumi.String(\"2022-12-14T16:00:00Z\"),\n\t\t\tDisplayName:     pulumi.String(\"example-indicator\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.operationalinsights.AnalyticsWorkspace;\nimport com.pulumi.azure.operationalinsights.AnalyticsWorkspaceArgs;\nimport com.pulumi.azure.sentinel.LogAnalyticsWorkspaceOnboarding;\nimport com.pulumi.azure.sentinel.LogAnalyticsWorkspaceOnboardingArgs;\nimport com.pulumi.azure.sentinel.ThreatIntelligenceIndicator;\nimport com.pulumi.azure.sentinel.ThreatIntelligenceIndicatorArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-rg\")\n            .location(\"east us\")\n            .build());\n\n        var exampleAnalyticsWorkspace = new AnalyticsWorkspace(\"exampleAnalyticsWorkspace\", AnalyticsWorkspaceArgs.builder()\n            .name(\"example-law\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .sku(\"PerGB2018\")\n            .retentionInDays(30)\n            .build());\n\n        var exampleLogAnalyticsWorkspaceOnboarding = new LogAnalyticsWorkspaceOnboarding(\"exampleLogAnalyticsWorkspaceOnboarding\", LogAnalyticsWorkspaceOnboardingArgs.builder()\n            .workspaceId(exampleAnalyticsWorkspace.id())\n            .build());\n\n        var exampleThreatIntelligenceIndicator = new ThreatIntelligenceIndicator(\"exampleThreatIntelligenceIndicator\", ThreatIntelligenceIndicatorArgs.builder()\n            .workspaceId(exampleLogAnalyticsWorkspaceOnboarding.workspaceId())\n            .patternType(\"domain-name\")\n            .pattern(\"http://example.com\")\n            .source(\"Microsoft Sentinel\")\n            .validateFromUtc(\"2022-12-14T16:00:00Z\")\n            .displayName(\"example-indicator\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-rg\n      location: east us\n  exampleAnalyticsWorkspace:\n    type: azure:operationalinsights:AnalyticsWorkspace\n    name: example\n    properties:\n      name: example-law\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      sku: PerGB2018\n      retentionInDays: 30\n  exampleLogAnalyticsWorkspaceOnboarding:\n    type: azure:sentinel:LogAnalyticsWorkspaceOnboarding\n    name: example\n    properties:\n      workspaceId: ${exampleAnalyticsWorkspace.id}\n  exampleThreatIntelligenceIndicator:\n    type: azure:sentinel:ThreatIntelligenceIndicator\n    name: example\n    properties:\n      workspaceId: ${exampleLogAnalyticsWorkspaceOnboarding.workspaceId}\n      patternType: domain-name\n      pattern: http://example.com\n      source: Microsoft Sentinel\n      validateFromUtc: 2022-12-14T16:00:00Z\n      displayName: example-indicator\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nSentinel Threat Intelligence Indicators can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:sentinel/threatIntelligenceIndicator:ThreatIntelligenceIndicator example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resourcegroup1/providers/Microsoft.OperationalInsights/workspaces/workspace1/providers/Microsoft.SecurityInsights/threatIntelligence/main/indicators/indicator1\n```\n\n","properties":{"confidence":{"type":"integer","description":"Confidence levels of the Threat Intelligence Indicator.\n"},"createdBy":{"type":"string","description":"The creator of the Threat Intelligence Indicator.\n"},"createdOn":{"type":"string","description":"The date of this Threat Intelligence Indicator created.\n"},"defanged":{"type":"boolean","description":"Whether the Threat Intelligence entity is defanged?\n"},"description":{"type":"string","description":"The description of the Threat Intelligence Indicator.\n"},"displayName":{"type":"string","description":"The display name of the Threat Intelligence Indicator.\n"},"extension":{"type":"string","description":"The extension config of the Threat Intelligence Indicator in JSON format.\n"},"externalId":{"type":"string","description":"The external ID of the Threat Intelligence Indicator.\n"},"externalLastUpdatedTimeUtc":{"type":"string","description":"the External last updated time in UTC.\n"},"externalReferences":{"type":"array","items":{"$ref":"#/types/azure:sentinel/ThreatIntelligenceIndicatorExternalReference:ThreatIntelligenceIndicatorExternalReference"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`externalReference`\" pulumi-lang-dotnet=\"`ExternalReference`\" pulumi-lang-go=\"`externalReference`\" pulumi-lang-python=\"`external_reference`\" pulumi-lang-yaml=\"`externalReference`\" pulumi-lang-java=\"`externalReference`\"\u003e`external_reference`\u003c/span\u003e blocks as defined below.\n"},"granularMarkings":{"type":"array","items":{"$ref":"#/types/azure:sentinel/ThreatIntelligenceIndicatorGranularMarking:ThreatIntelligenceIndicatorGranularMarking"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`granularMarking`\" pulumi-lang-dotnet=\"`GranularMarking`\" pulumi-lang-go=\"`granularMarking`\" pulumi-lang-python=\"`granular_marking`\" pulumi-lang-yaml=\"`granularMarking`\" pulumi-lang-java=\"`granularMarking`\"\u003e`granular_marking`\u003c/span\u003e blocks as defined below.\n"},"guid":{"type":"string","description":"The guid of this Sentinel Threat Intelligence Indicator.\n"},"indicatorTypes":{"type":"array","items":{"type":"string"},"description":"A list of indicator types of this Threat Intelligence Indicator.\n"},"killChainPhases":{"type":"array","items":{"$ref":"#/types/azure:sentinel/ThreatIntelligenceIndicatorKillChainPhase:ThreatIntelligenceIndicatorKillChainPhase"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`killChainPhase`\" pulumi-lang-dotnet=\"`KillChainPhase`\" pulumi-lang-go=\"`killChainPhase`\" pulumi-lang-python=\"`kill_chain_phase`\" pulumi-lang-yaml=\"`killChainPhase`\" pulumi-lang-java=\"`killChainPhase`\"\u003e`kill_chain_phase`\u003c/span\u003e blocks as defined below.\n"},"language":{"type":"string","description":"The language of the Threat Intelligence Indicator.\n"},"lastUpdatedTimeUtc":{"type":"string","description":"The last updated time of the Threat Intelligence Indicator in UTC.\n"},"objectMarkingRefs":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Threat Intelligence marking references.\n"},"parsedPatterns":{"type":"array","items":{"$ref":"#/types/azure:sentinel/ThreatIntelligenceIndicatorParsedPattern:ThreatIntelligenceIndicatorParsedPattern"},"description":"A \u003cspan pulumi-lang-nodejs=\"`parsedPattern`\" pulumi-lang-dotnet=\"`ParsedPattern`\" pulumi-lang-go=\"`parsedPattern`\" pulumi-lang-python=\"`parsed_pattern`\" pulumi-lang-yaml=\"`parsedPattern`\" pulumi-lang-java=\"`parsedPattern`\"\u003e`parsed_pattern`\u003c/span\u003e block as defined below.\n"},"pattern":{"type":"string","description":"The pattern used by the Threat Intelligence Indicator. When \u003cspan pulumi-lang-nodejs=\"`patternType`\" pulumi-lang-dotnet=\"`PatternType`\" pulumi-lang-go=\"`patternType`\" pulumi-lang-python=\"`pattern_type`\" pulumi-lang-yaml=\"`patternType`\" pulumi-lang-java=\"`patternType`\"\u003e`pattern_type`\u003c/span\u003e set to \u003cspan pulumi-lang-nodejs=\"`file`\" pulumi-lang-dotnet=\"`File`\" pulumi-lang-go=\"`file`\" pulumi-lang-python=\"`file`\" pulumi-lang-yaml=\"`file`\" pulumi-lang-java=\"`file`\"\u003e`file`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`pattern`\" pulumi-lang-dotnet=\"`Pattern`\" pulumi-lang-go=\"`pattern`\" pulumi-lang-python=\"`pattern`\" pulumi-lang-yaml=\"`pattern`\" pulumi-lang-java=\"`pattern`\"\u003e`pattern`\u003c/span\u003e must be specified with `\u003cHashName\u003e:\u003cValue\u003e` format, such as `MD5:78ecc5c05cd8b79af480df2f8fba0b9d`.\n"},"patternType":{"type":"string","description":"The type of pattern used by the Threat Intelligence Indicator. Possible values are `domain-name`, \u003cspan pulumi-lang-nodejs=\"`file`\" pulumi-lang-dotnet=\"`File`\" pulumi-lang-go=\"`file`\" pulumi-lang-python=\"`file`\" pulumi-lang-yaml=\"`file`\" pulumi-lang-java=\"`file`\"\u003e`file`\u003c/span\u003e, `ipv4-addr`, `ipv6-addr` and \u003cspan pulumi-lang-nodejs=\"`url`\" pulumi-lang-dotnet=\"`Url`\" pulumi-lang-go=\"`url`\" pulumi-lang-python=\"`url`\" pulumi-lang-yaml=\"`url`\" pulumi-lang-java=\"`url`\"\u003e`url`\u003c/span\u003e.\n"},"patternVersion":{"type":"string","description":"The version of a Threat Intelligence entity.\n"},"revoked":{"type":"boolean","description":"Whether the Threat Intelligence entity revoked.\n"},"source":{"type":"string","description":"Source of the Threat Intelligence Indicator. Changing this forces a new resource to be created.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Specifies a list of tags of the Threat Intelligence Indicator.\n"},"threatTypes":{"type":"array","items":{"type":"string"},"description":"Specifies a list of threat types of this Threat Intelligence Indicator.\n"},"validateFromUtc":{"type":"string","description":"The start of validate date in RFC3339.\n"},"validateUntilUtc":{"type":"string","description":"The end of validate date of the Threat Intelligence Indicator in RFC3339 format.\n"},"workspaceId":{"type":"string","description":"The ID of the Log Analytics Workspace. Changing this forces a new Sentinel Threat Intelligence Indicator to be created.\n"}},"required":["createdOn","defanged","displayName","extension","externalId","externalLastUpdatedTimeUtc","guid","indicatorTypes","lastUpdatedTimeUtc","parsedPatterns","pattern","patternType","source","validateFromUtc","workspaceId"],"inputProperties":{"confidence":{"type":"integer","description":"Confidence levels of the Threat Intelligence Indicator.\n"},"createdBy":{"type":"string","description":"The creator of the Threat Intelligence Indicator.\n"},"description":{"type":"string","description":"The description of the Threat Intelligence Indicator.\n"},"displayName":{"type":"string","description":"The display name of the Threat Intelligence Indicator.\n"},"extension":{"type":"string","description":"The extension config of the Threat Intelligence Indicator in JSON format.\n"},"externalReferences":{"type":"array","items":{"$ref":"#/types/azure:sentinel/ThreatIntelligenceIndicatorExternalReference:ThreatIntelligenceIndicatorExternalReference"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`externalReference`\" pulumi-lang-dotnet=\"`ExternalReference`\" pulumi-lang-go=\"`externalReference`\" pulumi-lang-python=\"`external_reference`\" pulumi-lang-yaml=\"`externalReference`\" pulumi-lang-java=\"`externalReference`\"\u003e`external_reference`\u003c/span\u003e blocks as defined below.\n"},"granularMarkings":{"type":"array","items":{"$ref":"#/types/azure:sentinel/ThreatIntelligenceIndicatorGranularMarking:ThreatIntelligenceIndicatorGranularMarking"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`granularMarking`\" pulumi-lang-dotnet=\"`GranularMarking`\" pulumi-lang-go=\"`granularMarking`\" pulumi-lang-python=\"`granular_marking`\" pulumi-lang-yaml=\"`granularMarking`\" pulumi-lang-java=\"`granularMarking`\"\u003e`granular_marking`\u003c/span\u003e blocks as defined below.\n"},"killChainPhases":{"type":"array","items":{"$ref":"#/types/azure:sentinel/ThreatIntelligenceIndicatorKillChainPhase:ThreatIntelligenceIndicatorKillChainPhase"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`killChainPhase`\" pulumi-lang-dotnet=\"`KillChainPhase`\" pulumi-lang-go=\"`killChainPhase`\" pulumi-lang-python=\"`kill_chain_phase`\" pulumi-lang-yaml=\"`killChainPhase`\" pulumi-lang-java=\"`killChainPhase`\"\u003e`kill_chain_phase`\u003c/span\u003e blocks as defined below.\n"},"language":{"type":"string","description":"The language of the Threat Intelligence Indicator.\n"},"objectMarkingRefs":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Threat Intelligence marking references.\n"},"pattern":{"type":"string","description":"The pattern used by the Threat Intelligence Indicator. When \u003cspan pulumi-lang-nodejs=\"`patternType`\" pulumi-lang-dotnet=\"`PatternType`\" pulumi-lang-go=\"`patternType`\" pulumi-lang-python=\"`pattern_type`\" pulumi-lang-yaml=\"`patternType`\" pulumi-lang-java=\"`patternType`\"\u003e`pattern_type`\u003c/span\u003e set to \u003cspan pulumi-lang-nodejs=\"`file`\" pulumi-lang-dotnet=\"`File`\" pulumi-lang-go=\"`file`\" pulumi-lang-python=\"`file`\" pulumi-lang-yaml=\"`file`\" pulumi-lang-java=\"`file`\"\u003e`file`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`pattern`\" pulumi-lang-dotnet=\"`Pattern`\" pulumi-lang-go=\"`pattern`\" pulumi-lang-python=\"`pattern`\" pulumi-lang-yaml=\"`pattern`\" pulumi-lang-java=\"`pattern`\"\u003e`pattern`\u003c/span\u003e must be specified with `\u003cHashName\u003e:\u003cValue\u003e` format, such as `MD5:78ecc5c05cd8b79af480df2f8fba0b9d`.\n"},"patternType":{"type":"string","description":"The type of pattern used by the Threat Intelligence Indicator. Possible values are `domain-name`, \u003cspan pulumi-lang-nodejs=\"`file`\" pulumi-lang-dotnet=\"`File`\" pulumi-lang-go=\"`file`\" pulumi-lang-python=\"`file`\" pulumi-lang-yaml=\"`file`\" pulumi-lang-java=\"`file`\"\u003e`file`\u003c/span\u003e, `ipv4-addr`, `ipv6-addr` and \u003cspan pulumi-lang-nodejs=\"`url`\" pulumi-lang-dotnet=\"`Url`\" pulumi-lang-go=\"`url`\" pulumi-lang-python=\"`url`\" pulumi-lang-yaml=\"`url`\" pulumi-lang-java=\"`url`\"\u003e`url`\u003c/span\u003e.\n"},"patternVersion":{"type":"string","description":"The version of a Threat Intelligence entity.\n"},"revoked":{"type":"boolean","description":"Whether the Threat Intelligence entity revoked.\n"},"source":{"type":"string","description":"Source of the Threat Intelligence Indicator. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"array","items":{"type":"string"},"description":"Specifies a list of tags of the Threat Intelligence Indicator.\n"},"threatTypes":{"type":"array","items":{"type":"string"},"description":"Specifies a list of threat types of this Threat Intelligence Indicator.\n"},"validateFromUtc":{"type":"string","description":"The start of validate date in RFC3339.\n"},"validateUntilUtc":{"type":"string","description":"The end of validate date of the Threat Intelligence Indicator in RFC3339 format.\n"},"workspaceId":{"type":"string","description":"The ID of the Log Analytics Workspace. Changing this forces a new Sentinel Threat Intelligence Indicator to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["displayName","pattern","patternType","source","validateFromUtc","workspaceId"],"stateInputs":{"description":"Input properties used for looking up and filtering ThreatIntelligenceIndicator resources.\n","properties":{"confidence":{"type":"integer","description":"Confidence levels of the Threat Intelligence Indicator.\n"},"createdBy":{"type":"string","description":"The creator of the Threat Intelligence Indicator.\n"},"createdOn":{"type":"string","description":"The date of this Threat Intelligence Indicator created.\n"},"defanged":{"type":"boolean","description":"Whether the Threat Intelligence entity is defanged?\n"},"description":{"type":"string","description":"The description of the Threat Intelligence Indicator.\n"},"displayName":{"type":"string","description":"The display name of the Threat Intelligence Indicator.\n"},"extension":{"type":"string","description":"The extension config of the Threat Intelligence Indicator in JSON format.\n"},"externalId":{"type":"string","description":"The external ID of the Threat Intelligence Indicator.\n"},"externalLastUpdatedTimeUtc":{"type":"string","description":"the External last updated time in UTC.\n"},"externalReferences":{"type":"array","items":{"$ref":"#/types/azure:sentinel/ThreatIntelligenceIndicatorExternalReference:ThreatIntelligenceIndicatorExternalReference"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`externalReference`\" pulumi-lang-dotnet=\"`ExternalReference`\" pulumi-lang-go=\"`externalReference`\" pulumi-lang-python=\"`external_reference`\" pulumi-lang-yaml=\"`externalReference`\" pulumi-lang-java=\"`externalReference`\"\u003e`external_reference`\u003c/span\u003e blocks as defined below.\n"},"granularMarkings":{"type":"array","items":{"$ref":"#/types/azure:sentinel/ThreatIntelligenceIndicatorGranularMarking:ThreatIntelligenceIndicatorGranularMarking"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`granularMarking`\" pulumi-lang-dotnet=\"`GranularMarking`\" pulumi-lang-go=\"`granularMarking`\" pulumi-lang-python=\"`granular_marking`\" pulumi-lang-yaml=\"`granularMarking`\" pulumi-lang-java=\"`granularMarking`\"\u003e`granular_marking`\u003c/span\u003e blocks as defined below.\n"},"guid":{"type":"string","description":"The guid of this Sentinel Threat Intelligence Indicator.\n"},"indicatorTypes":{"type":"array","items":{"type":"string"},"description":"A list of indicator types of this Threat Intelligence Indicator.\n"},"killChainPhases":{"type":"array","items":{"$ref":"#/types/azure:sentinel/ThreatIntelligenceIndicatorKillChainPhase:ThreatIntelligenceIndicatorKillChainPhase"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`killChainPhase`\" pulumi-lang-dotnet=\"`KillChainPhase`\" pulumi-lang-go=\"`killChainPhase`\" pulumi-lang-python=\"`kill_chain_phase`\" pulumi-lang-yaml=\"`killChainPhase`\" pulumi-lang-java=\"`killChainPhase`\"\u003e`kill_chain_phase`\u003c/span\u003e blocks as defined below.\n"},"language":{"type":"string","description":"The language of the Threat Intelligence Indicator.\n"},"lastUpdatedTimeUtc":{"type":"string","description":"The last updated time of the Threat Intelligence Indicator in UTC.\n"},"objectMarkingRefs":{"type":"array","items":{"type":"string"},"description":"Specifies a list of Threat Intelligence marking references.\n"},"parsedPatterns":{"type":"array","items":{"$ref":"#/types/azure:sentinel/ThreatIntelligenceIndicatorParsedPattern:ThreatIntelligenceIndicatorParsedPattern"},"description":"A \u003cspan pulumi-lang-nodejs=\"`parsedPattern`\" pulumi-lang-dotnet=\"`ParsedPattern`\" pulumi-lang-go=\"`parsedPattern`\" pulumi-lang-python=\"`parsed_pattern`\" pulumi-lang-yaml=\"`parsedPattern`\" pulumi-lang-java=\"`parsedPattern`\"\u003e`parsed_pattern`\u003c/span\u003e block as defined below.\n"},"pattern":{"type":"string","description":"The pattern used by the Threat Intelligence Indicator. When \u003cspan pulumi-lang-nodejs=\"`patternType`\" pulumi-lang-dotnet=\"`PatternType`\" pulumi-lang-go=\"`patternType`\" pulumi-lang-python=\"`pattern_type`\" pulumi-lang-yaml=\"`patternType`\" pulumi-lang-java=\"`patternType`\"\u003e`pattern_type`\u003c/span\u003e set to \u003cspan pulumi-lang-nodejs=\"`file`\" pulumi-lang-dotnet=\"`File`\" pulumi-lang-go=\"`file`\" pulumi-lang-python=\"`file`\" pulumi-lang-yaml=\"`file`\" pulumi-lang-java=\"`file`\"\u003e`file`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`pattern`\" pulumi-lang-dotnet=\"`Pattern`\" pulumi-lang-go=\"`pattern`\" pulumi-lang-python=\"`pattern`\" pulumi-lang-yaml=\"`pattern`\" pulumi-lang-java=\"`pattern`\"\u003e`pattern`\u003c/span\u003e must be specified with `\u003cHashName\u003e:\u003cValue\u003e` format, such as `MD5:78ecc5c05cd8b79af480df2f8fba0b9d`.\n"},"patternType":{"type":"string","description":"The type of pattern used by the Threat Intelligence Indicator. Possible values are `domain-name`, \u003cspan pulumi-lang-nodejs=\"`file`\" pulumi-lang-dotnet=\"`File`\" pulumi-lang-go=\"`file`\" pulumi-lang-python=\"`file`\" pulumi-lang-yaml=\"`file`\" pulumi-lang-java=\"`file`\"\u003e`file`\u003c/span\u003e, `ipv4-addr`, `ipv6-addr` and \u003cspan pulumi-lang-nodejs=\"`url`\" pulumi-lang-dotnet=\"`Url`\" pulumi-lang-go=\"`url`\" pulumi-lang-python=\"`url`\" pulumi-lang-yaml=\"`url`\" pulumi-lang-java=\"`url`\"\u003e`url`\u003c/span\u003e.\n"},"patternVersion":{"type":"string","description":"The version of a Threat Intelligence entity.\n"},"revoked":{"type":"boolean","description":"Whether the Threat Intelligence entity revoked.\n"},"source":{"type":"string","description":"Source of the Threat Intelligence Indicator. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"array","items":{"type":"string"},"description":"Specifies a list of tags of the Threat Intelligence Indicator.\n"},"threatTypes":{"type":"array","items":{"type":"string"},"description":"Specifies a list of threat types of this Threat Intelligence Indicator.\n"},"validateFromUtc":{"type":"string","description":"The start of validate date in RFC3339.\n"},"validateUntilUtc":{"type":"string","description":"The end of validate date of the Threat Intelligence Indicator in RFC3339 format.\n"},"workspaceId":{"type":"string","description":"The ID of the Log Analytics Workspace. Changing this forces a new Sentinel Threat Intelligence Indicator to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:sentinel/watchlist:Watchlist":{"description":"Manages a Sentinel Watchlist.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-rg\",\n    location: \"West Europe\",\n});\nconst exampleAnalyticsWorkspace = new azure.operationalinsights.AnalyticsWorkspace(\"example\", {\n    name: \"example-workspace\",\n    location: example.location,\n    resourceGroupName: example.name,\n    sku: \"PerGB2018\",\n});\nconst exampleLogAnalyticsWorkspaceOnboarding = new azure.sentinel.LogAnalyticsWorkspaceOnboarding(\"example\", {workspaceId: exampleAnalyticsWorkspace.id});\nconst exampleWatchlist = new azure.sentinel.Watchlist(\"example\", {\n    name: \"example-watchlist\",\n    logAnalyticsWorkspaceId: exampleLogAnalyticsWorkspaceOnboarding.workspaceId,\n    displayName: \"example-wl\",\n    itemSearchKey: \"Key\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-rg\",\n    location=\"West Europe\")\nexample_analytics_workspace = azure.operationalinsights.AnalyticsWorkspace(\"example\",\n    name=\"example-workspace\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku=\"PerGB2018\")\nexample_log_analytics_workspace_onboarding = azure.sentinel.LogAnalyticsWorkspaceOnboarding(\"example\", workspace_id=example_analytics_workspace.id)\nexample_watchlist = azure.sentinel.Watchlist(\"example\",\n    name=\"example-watchlist\",\n    log_analytics_workspace_id=example_log_analytics_workspace_onboarding.workspace_id,\n    display_name=\"example-wl\",\n    item_search_key=\"Key\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-rg\",\n        Location = \"West Europe\",\n    });\n\n    var exampleAnalyticsWorkspace = new Azure.OperationalInsights.AnalyticsWorkspace(\"example\", new()\n    {\n        Name = \"example-workspace\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Sku = \"PerGB2018\",\n    });\n\n    var exampleLogAnalyticsWorkspaceOnboarding = new Azure.Sentinel.LogAnalyticsWorkspaceOnboarding(\"example\", new()\n    {\n        WorkspaceId = exampleAnalyticsWorkspace.Id,\n    });\n\n    var exampleWatchlist = new Azure.Sentinel.Watchlist(\"example\", new()\n    {\n        Name = \"example-watchlist\",\n        LogAnalyticsWorkspaceId = exampleLogAnalyticsWorkspaceOnboarding.WorkspaceId,\n        DisplayName = \"example-wl\",\n        ItemSearchKey = \"Key\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/operationalinsights\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/sentinel\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-rg\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAnalyticsWorkspace, err := operationalinsights.NewAnalyticsWorkspace(ctx, \"example\", \u0026operationalinsights.AnalyticsWorkspaceArgs{\n\t\t\tName:              pulumi.String(\"example-workspace\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSku:               pulumi.String(\"PerGB2018\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleLogAnalyticsWorkspaceOnboarding, err := sentinel.NewLogAnalyticsWorkspaceOnboarding(ctx, \"example\", \u0026sentinel.LogAnalyticsWorkspaceOnboardingArgs{\n\t\t\tWorkspaceId: exampleAnalyticsWorkspace.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = sentinel.NewWatchlist(ctx, \"example\", \u0026sentinel.WatchlistArgs{\n\t\t\tName:                    pulumi.String(\"example-watchlist\"),\n\t\t\tLogAnalyticsWorkspaceId: exampleLogAnalyticsWorkspaceOnboarding.WorkspaceId,\n\t\t\tDisplayName:             pulumi.String(\"example-wl\"),\n\t\t\tItemSearchKey:           pulumi.String(\"Key\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.operationalinsights.AnalyticsWorkspace;\nimport com.pulumi.azure.operationalinsights.AnalyticsWorkspaceArgs;\nimport com.pulumi.azure.sentinel.LogAnalyticsWorkspaceOnboarding;\nimport com.pulumi.azure.sentinel.LogAnalyticsWorkspaceOnboardingArgs;\nimport com.pulumi.azure.sentinel.Watchlist;\nimport com.pulumi.azure.sentinel.WatchlistArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-rg\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleAnalyticsWorkspace = new AnalyticsWorkspace(\"exampleAnalyticsWorkspace\", AnalyticsWorkspaceArgs.builder()\n            .name(\"example-workspace\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .sku(\"PerGB2018\")\n            .build());\n\n        var exampleLogAnalyticsWorkspaceOnboarding = new LogAnalyticsWorkspaceOnboarding(\"exampleLogAnalyticsWorkspaceOnboarding\", LogAnalyticsWorkspaceOnboardingArgs.builder()\n            .workspaceId(exampleAnalyticsWorkspace.id())\n            .build());\n\n        var exampleWatchlist = new Watchlist(\"exampleWatchlist\", WatchlistArgs.builder()\n            .name(\"example-watchlist\")\n            .logAnalyticsWorkspaceId(exampleLogAnalyticsWorkspaceOnboarding.workspaceId())\n            .displayName(\"example-wl\")\n            .itemSearchKey(\"Key\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-rg\n      location: West Europe\n  exampleAnalyticsWorkspace:\n    type: azure:operationalinsights:AnalyticsWorkspace\n    name: example\n    properties:\n      name: example-workspace\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      sku: PerGB2018\n  exampleLogAnalyticsWorkspaceOnboarding:\n    type: azure:sentinel:LogAnalyticsWorkspaceOnboarding\n    name: example\n    properties:\n      workspaceId: ${exampleAnalyticsWorkspace.id}\n  exampleWatchlist:\n    type: azure:sentinel:Watchlist\n    name: example\n    properties:\n      name: example-watchlist\n      logAnalyticsWorkspaceId: ${exampleLogAnalyticsWorkspaceOnboarding.workspaceId}\n      displayName: example-wl\n      itemSearchKey: Key\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.OperationalInsights` - 2022-11-01\n\n## Import\n\nSentinel Watchlists can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:sentinel/watchlist:Watchlist example /subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/resGroup1/providers/Microsoft.OperationalInsights/workspaces/workspace1/providers/Microsoft.SecurityInsights/watchlists/list1\n```\n\n","properties":{"defaultDuration":{"type":"string","description":"The default duration in ISO8601 duration form of this Sentinel Watchlist. Changing this forces a new Sentinel Watchlist to be created.\n"},"description":{"type":"string","description":"The description of this Sentinel Watchlist. Changing this forces a new Sentinel Watchlist to be created.\n"},"displayName":{"type":"string","description":"The display name of this Sentinel Watchlist. Changing this forces a new Sentinel Watchlist to be created.\n"},"itemSearchKey":{"type":"string","description":"The key used to optimize query performance when using Watchlist for joins with other data. Changing this forces a new Sentinel Watchlist to be created.\n"},"labels":{"type":"array","items":{"type":"string"},"description":"Specifies a list of labels related to this Sentinel Watchlist. Changing this forces a new Sentinel Watchlist to be created.\n"},"logAnalyticsWorkspaceId":{"type":"string","description":"The ID of the Log Analytics Workspace where this Sentinel Watchlist resides in. Changing this forces a new Sentinel Watchlist to be created.\n"},"name":{"type":"string","description":"The name which should be used for this Sentinel Watchlist. Changing this forces a new Sentinel Watchlist to be created.\n"}},"required":["displayName","itemSearchKey","logAnalyticsWorkspaceId","name"],"inputProperties":{"defaultDuration":{"type":"string","description":"The default duration in ISO8601 duration form of this Sentinel Watchlist. Changing this forces a new Sentinel Watchlist to be created.\n","willReplaceOnChanges":true},"description":{"type":"string","description":"The description of this Sentinel Watchlist. Changing this forces a new Sentinel Watchlist to be created.\n","willReplaceOnChanges":true},"displayName":{"type":"string","description":"The display name of this Sentinel Watchlist. Changing this forces a new Sentinel Watchlist to be created.\n","willReplaceOnChanges":true},"itemSearchKey":{"type":"string","description":"The key used to optimize query performance when using Watchlist for joins with other data. Changing this forces a new Sentinel Watchlist to be created.\n","willReplaceOnChanges":true},"labels":{"type":"array","items":{"type":"string"},"description":"Specifies a list of labels related to this Sentinel Watchlist. Changing this forces a new Sentinel Watchlist to be created.\n","willReplaceOnChanges":true},"logAnalyticsWorkspaceId":{"type":"string","description":"The ID of the Log Analytics Workspace where this Sentinel Watchlist resides in. Changing this forces a new Sentinel Watchlist to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Sentinel Watchlist. Changing this forces a new Sentinel Watchlist to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["displayName","itemSearchKey","logAnalyticsWorkspaceId"],"stateInputs":{"description":"Input properties used for looking up and filtering Watchlist resources.\n","properties":{"defaultDuration":{"type":"string","description":"The default duration in ISO8601 duration form of this Sentinel Watchlist. Changing this forces a new Sentinel Watchlist to be created.\n","willReplaceOnChanges":true},"description":{"type":"string","description":"The description of this Sentinel Watchlist. Changing this forces a new Sentinel Watchlist to be created.\n","willReplaceOnChanges":true},"displayName":{"type":"string","description":"The display name of this Sentinel Watchlist. Changing this forces a new Sentinel Watchlist to be created.\n","willReplaceOnChanges":true},"itemSearchKey":{"type":"string","description":"The key used to optimize query performance when using Watchlist for joins with other data. Changing this forces a new Sentinel Watchlist to be created.\n","willReplaceOnChanges":true},"labels":{"type":"array","items":{"type":"string"},"description":"Specifies a list of labels related to this Sentinel Watchlist. Changing this forces a new Sentinel Watchlist to be created.\n","willReplaceOnChanges":true},"logAnalyticsWorkspaceId":{"type":"string","description":"The ID of the Log Analytics Workspace where this Sentinel Watchlist resides in. Changing this forces a new Sentinel Watchlist to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Sentinel Watchlist. Changing this forces a new Sentinel Watchlist to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:sentinel/watchlistItem:WatchlistItem":{"description":"Manages a Sentinel Watchlist Item.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-rg\",\n    location: \"West Europe\",\n});\nconst exampleAnalyticsWorkspace = new azure.operationalinsights.AnalyticsWorkspace(\"example\", {\n    name: \"example-workspace\",\n    location: example.location,\n    resourceGroupName: example.name,\n    sku: \"PerGB2018\",\n});\nconst exampleLogAnalyticsWorkspaceOnboarding = new azure.sentinel.LogAnalyticsWorkspaceOnboarding(\"example\", {workspaceId: exampleAnalyticsWorkspace.id});\nconst exampleWatchlist = new azure.sentinel.Watchlist(\"example\", {\n    name: \"example-watchlist\",\n    logAnalyticsWorkspaceId: exampleLogAnalyticsWorkspaceOnboarding.workspaceId,\n    displayName: \"example-wl\",\n    itemSearchKey: \"Key\",\n});\nconst exampleWatchlistItem = new azure.sentinel.WatchlistItem(\"example\", {\n    name: \"0aac6fa5-223e-49cf-9bfd-3554dc9d2b76\",\n    watchlistId: exampleWatchlist.id,\n    properties: {\n        k1: \"v1\",\n        k2: \"v2\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-rg\",\n    location=\"West Europe\")\nexample_analytics_workspace = azure.operationalinsights.AnalyticsWorkspace(\"example\",\n    name=\"example-workspace\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku=\"PerGB2018\")\nexample_log_analytics_workspace_onboarding = azure.sentinel.LogAnalyticsWorkspaceOnboarding(\"example\", workspace_id=example_analytics_workspace.id)\nexample_watchlist = azure.sentinel.Watchlist(\"example\",\n    name=\"example-watchlist\",\n    log_analytics_workspace_id=example_log_analytics_workspace_onboarding.workspace_id,\n    display_name=\"example-wl\",\n    item_search_key=\"Key\")\nexample_watchlist_item = azure.sentinel.WatchlistItem(\"example\",\n    name=\"0aac6fa5-223e-49cf-9bfd-3554dc9d2b76\",\n    watchlist_id=example_watchlist.id,\n    properties={\n        \"k1\": \"v1\",\n        \"k2\": \"v2\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-rg\",\n        Location = \"West Europe\",\n    });\n\n    var exampleAnalyticsWorkspace = new Azure.OperationalInsights.AnalyticsWorkspace(\"example\", new()\n    {\n        Name = \"example-workspace\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Sku = \"PerGB2018\",\n    });\n\n    var exampleLogAnalyticsWorkspaceOnboarding = new Azure.Sentinel.LogAnalyticsWorkspaceOnboarding(\"example\", new()\n    {\n        WorkspaceId = exampleAnalyticsWorkspace.Id,\n    });\n\n    var exampleWatchlist = new Azure.Sentinel.Watchlist(\"example\", new()\n    {\n        Name = \"example-watchlist\",\n        LogAnalyticsWorkspaceId = exampleLogAnalyticsWorkspaceOnboarding.WorkspaceId,\n        DisplayName = \"example-wl\",\n        ItemSearchKey = \"Key\",\n    });\n\n    var exampleWatchlistItem = new Azure.Sentinel.WatchlistItem(\"example\", new()\n    {\n        Name = \"0aac6fa5-223e-49cf-9bfd-3554dc9d2b76\",\n        WatchlistId = exampleWatchlist.Id,\n        Properties = \n        {\n            { \"k1\", \"v1\" },\n            { \"k2\", \"v2\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/operationalinsights\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/sentinel\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-rg\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAnalyticsWorkspace, err := operationalinsights.NewAnalyticsWorkspace(ctx, \"example\", \u0026operationalinsights.AnalyticsWorkspaceArgs{\n\t\t\tName:              pulumi.String(\"example-workspace\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSku:               pulumi.String(\"PerGB2018\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleLogAnalyticsWorkspaceOnboarding, err := sentinel.NewLogAnalyticsWorkspaceOnboarding(ctx, \"example\", \u0026sentinel.LogAnalyticsWorkspaceOnboardingArgs{\n\t\t\tWorkspaceId: exampleAnalyticsWorkspace.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleWatchlist, err := sentinel.NewWatchlist(ctx, \"example\", \u0026sentinel.WatchlistArgs{\n\t\t\tName:                    pulumi.String(\"example-watchlist\"),\n\t\t\tLogAnalyticsWorkspaceId: exampleLogAnalyticsWorkspaceOnboarding.WorkspaceId,\n\t\t\tDisplayName:             pulumi.String(\"example-wl\"),\n\t\t\tItemSearchKey:           pulumi.String(\"Key\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = sentinel.NewWatchlistItem(ctx, \"example\", \u0026sentinel.WatchlistItemArgs{\n\t\t\tName:        pulumi.String(\"0aac6fa5-223e-49cf-9bfd-3554dc9d2b76\"),\n\t\t\tWatchlistId: exampleWatchlist.ID(),\n\t\t\tProperties: pulumi.StringMap{\n\t\t\t\t\"k1\": pulumi.String(\"v1\"),\n\t\t\t\t\"k2\": pulumi.String(\"v2\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.operationalinsights.AnalyticsWorkspace;\nimport com.pulumi.azure.operationalinsights.AnalyticsWorkspaceArgs;\nimport com.pulumi.azure.sentinel.LogAnalyticsWorkspaceOnboarding;\nimport com.pulumi.azure.sentinel.LogAnalyticsWorkspaceOnboardingArgs;\nimport com.pulumi.azure.sentinel.Watchlist;\nimport com.pulumi.azure.sentinel.WatchlistArgs;\nimport com.pulumi.azure.sentinel.WatchlistItem;\nimport com.pulumi.azure.sentinel.WatchlistItemArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-rg\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleAnalyticsWorkspace = new AnalyticsWorkspace(\"exampleAnalyticsWorkspace\", AnalyticsWorkspaceArgs.builder()\n            .name(\"example-workspace\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .sku(\"PerGB2018\")\n            .build());\n\n        var exampleLogAnalyticsWorkspaceOnboarding = new LogAnalyticsWorkspaceOnboarding(\"exampleLogAnalyticsWorkspaceOnboarding\", LogAnalyticsWorkspaceOnboardingArgs.builder()\n            .workspaceId(exampleAnalyticsWorkspace.id())\n            .build());\n\n        var exampleWatchlist = new Watchlist(\"exampleWatchlist\", WatchlistArgs.builder()\n            .name(\"example-watchlist\")\n            .logAnalyticsWorkspaceId(exampleLogAnalyticsWorkspaceOnboarding.workspaceId())\n            .displayName(\"example-wl\")\n            .itemSearchKey(\"Key\")\n            .build());\n\n        var exampleWatchlistItem = new WatchlistItem(\"exampleWatchlistItem\", WatchlistItemArgs.builder()\n            .name(\"0aac6fa5-223e-49cf-9bfd-3554dc9d2b76\")\n            .watchlistId(exampleWatchlist.id())\n            .properties(Map.ofEntries(\n                Map.entry(\"k1\", \"v1\"),\n                Map.entry(\"k2\", \"v2\")\n            ))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-rg\n      location: West Europe\n  exampleAnalyticsWorkspace:\n    type: azure:operationalinsights:AnalyticsWorkspace\n    name: example\n    properties:\n      name: example-workspace\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      sku: PerGB2018\n  exampleLogAnalyticsWorkspaceOnboarding:\n    type: azure:sentinel:LogAnalyticsWorkspaceOnboarding\n    name: example\n    properties:\n      workspaceId: ${exampleAnalyticsWorkspace.id}\n  exampleWatchlist:\n    type: azure:sentinel:Watchlist\n    name: example\n    properties:\n      name: example-watchlist\n      logAnalyticsWorkspaceId: ${exampleLogAnalyticsWorkspaceOnboarding.workspaceId}\n      displayName: example-wl\n      itemSearchKey: Key\n  exampleWatchlistItem:\n    type: azure:sentinel:WatchlistItem\n    name: example\n    properties:\n      name: 0aac6fa5-223e-49cf-9bfd-3554dc9d2b76\n      watchlistId: ${exampleWatchlist.id}\n      properties:\n        k1: v1\n        k2: v2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.OperationalInsights` - 2022-11-01\n\n## Import\n\nSentinel Watchlist Items can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:sentinel/watchlistItem:WatchlistItem example /subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/resGroup1/providers/Microsoft.OperationalInsights/workspaces/workspace1/providers/Microsoft.SecurityInsights/watchlists/list1/watchlistItems/item1\n```\n\n","properties":{"name":{"type":"string","description":"The name in UUID format which should be used for this Sentinel Watchlist Item. Changing this forces a new Sentinel Watchlist Item to be created.\n"},"properties":{"type":"object","additionalProperties":{"type":"string"},"description":"The key value pairs of the Sentinel Watchlist Item.\n"},"watchlistId":{"type":"string","description":"The ID of the Sentinel Watchlist that this Item resides in. Changing this forces a new Sentinel Watchlist Item to be created.\n"}},"required":["name","properties","watchlistId"],"inputProperties":{"name":{"type":"string","description":"The name in UUID format which should be used for this Sentinel Watchlist Item. Changing this forces a new Sentinel Watchlist Item to be created.\n","willReplaceOnChanges":true},"properties":{"type":"object","additionalProperties":{"type":"string"},"description":"The key value pairs of the Sentinel Watchlist Item.\n"},"watchlistId":{"type":"string","description":"The ID of the Sentinel Watchlist that this Item resides in. Changing this forces a new Sentinel Watchlist Item to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["properties","watchlistId"],"stateInputs":{"description":"Input properties used for looking up and filtering WatchlistItem resources.\n","properties":{"name":{"type":"string","description":"The name in UUID format which should be used for this Sentinel Watchlist Item. Changing this forces a new Sentinel Watchlist Item to be created.\n","willReplaceOnChanges":true},"properties":{"type":"object","additionalProperties":{"type":"string"},"description":"The key value pairs of the Sentinel Watchlist Item.\n"},"watchlistId":{"type":"string","description":"The ID of the Sentinel Watchlist that this Item resides in. Changing this forces a new Sentinel Watchlist Item to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:servicebus/namespace:Namespace":{"description":"Manages a ServiceBus Namespace.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"my-servicebus\",\n    location: \"West Europe\",\n});\nconst exampleNamespace = new azure.servicebus.Namespace(\"example\", {\n    name: \"tfex-servicebus-namespace\",\n    location: example.location,\n    resourceGroupName: example.name,\n    sku: \"Standard\",\n    tags: {\n        source: \"example\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"my-servicebus\",\n    location=\"West Europe\")\nexample_namespace = azure.servicebus.Namespace(\"example\",\n    name=\"tfex-servicebus-namespace\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku=\"Standard\",\n    tags={\n        \"source\": \"example\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"my-servicebus\",\n        Location = \"West Europe\",\n    });\n\n    var exampleNamespace = new Azure.ServiceBus.Namespace(\"example\", new()\n    {\n        Name = \"tfex-servicebus-namespace\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Sku = \"Standard\",\n        Tags = \n        {\n            { \"source\", \"example\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/servicebus\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"my-servicebus\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = servicebus.NewNamespace(ctx, \"example\", \u0026servicebus.NamespaceArgs{\n\t\t\tName:              pulumi.String(\"tfex-servicebus-namespace\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSku:               pulumi.String(\"Standard\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"source\": pulumi.String(\"example\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.servicebus.Namespace;\nimport com.pulumi.azure.servicebus.NamespaceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"my-servicebus\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleNamespace = new Namespace(\"exampleNamespace\", NamespaceArgs.builder()\n            .name(\"tfex-servicebus-namespace\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .sku(\"Standard\")\n            .tags(Map.of(\"source\", \"example\"))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: my-servicebus\n      location: West Europe\n  exampleNamespace:\n    type: azure:servicebus:Namespace\n    name: example\n    properties:\n      name: tfex-servicebus-namespace\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      sku: Standard\n      tags:\n        source: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.ServiceBus` - 2024-01-01\n\n## Import\n\nService Bus Namespace can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:servicebus/namespace:Namespace example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.ServiceBus/namespaces/sbns1\n```\n\n","properties":{"capacity":{"type":"integer","description":"Specifies the capacity. When \u003cspan pulumi-lang-nodejs=\"`sku`\" pulumi-lang-dotnet=\"`Sku`\" pulumi-lang-go=\"`sku`\" pulumi-lang-python=\"`sku`\" pulumi-lang-yaml=\"`sku`\" pulumi-lang-java=\"`sku`\"\u003e`sku`\u003c/span\u003e is `Premium`, capacity can be \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`4`\" pulumi-lang-dotnet=\"`4`\" pulumi-lang-go=\"`4`\" pulumi-lang-python=\"`4`\" pulumi-lang-yaml=\"`4`\" pulumi-lang-java=\"`4`\"\u003e`4`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`8`\" pulumi-lang-dotnet=\"`8`\" pulumi-lang-go=\"`8`\" pulumi-lang-python=\"`8`\" pulumi-lang-yaml=\"`8`\" pulumi-lang-java=\"`8`\"\u003e`8`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`16`\" pulumi-lang-dotnet=\"`16`\" pulumi-lang-go=\"`16`\" pulumi-lang-python=\"`16`\" pulumi-lang-yaml=\"`16`\" pulumi-lang-java=\"`16`\"\u003e`16`\u003c/span\u003e. When \u003cspan pulumi-lang-nodejs=\"`sku`\" pulumi-lang-dotnet=\"`Sku`\" pulumi-lang-go=\"`sku`\" pulumi-lang-python=\"`sku`\" pulumi-lang-yaml=\"`sku`\" pulumi-lang-java=\"`sku`\"\u003e`sku`\u003c/span\u003e is `Basic` or `Standard`, capacity can be \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e only.\n"},"customerManagedKey":{"$ref":"#/types/azure:servicebus/NamespaceCustomerManagedKey:NamespaceCustomerManagedKey","description":"An \u003cspan pulumi-lang-nodejs=\"`customerManagedKey`\" pulumi-lang-dotnet=\"`CustomerManagedKey`\" pulumi-lang-go=\"`customerManagedKey`\" pulumi-lang-python=\"`customer_managed_key`\" pulumi-lang-yaml=\"`customerManagedKey`\" pulumi-lang-java=\"`customerManagedKey`\"\u003e`customer_managed_key`\u003c/span\u003e block as defined below.\n"},"defaultPrimaryConnectionString":{"type":"string","description":"The primary connection string for the authorization rule `RootManageSharedAccessKey`.\n","secret":true},"defaultPrimaryKey":{"type":"string","description":"The primary access key for the authorization rule `RootManageSharedAccessKey`.\n","secret":true},"defaultSecondaryConnectionString":{"type":"string","description":"The secondary connection string for the authorization rule `RootManageSharedAccessKey`.\n","secret":true},"defaultSecondaryKey":{"type":"string","description":"The secondary access key for the authorization rule `RootManageSharedAccessKey`.\n","secret":true},"endpoint":{"type":"string","description":"The URL to access the Service Bus Namespace.\n"},"identity":{"$ref":"#/types/azure:servicebus/NamespaceIdentity:NamespaceIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"localAuthEnabled":{"type":"boolean","description":"Whether or not SAS authentication is enabled for the Service Bus namespace. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n"},"minimumTlsVersion":{"type":"string","description":"The minimum supported TLS version for this Service Bus Namespace. Valid values are: `1.0`, `1.1` and `1.2`. Defaults to `1.2`.\n\n\u003e **Note:** Azure Services will require TLS 1.2+ by August 2025, please see this [announcement](https://azure.microsoft.com/en-us/updates/v2/update-retirement-tls1-0-tls1-1-versions-azure-services/) for more.\n"},"name":{"type":"string","description":"Specifies the name of the Service Bus Namespace resource . Changing this forces a new resource to be created.\n"},"networkRuleSet":{"$ref":"#/types/azure:servicebus/NamespaceNetworkRuleSet:NamespaceNetworkRuleSet","description":"An \u003cspan pulumi-lang-nodejs=\"`networkRuleSet`\" pulumi-lang-dotnet=\"`NetworkRuleSet`\" pulumi-lang-go=\"`networkRuleSet`\" pulumi-lang-python=\"`network_rule_set`\" pulumi-lang-yaml=\"`networkRuleSet`\" pulumi-lang-java=\"`networkRuleSet`\"\u003e`network_rule_set`\u003c/span\u003e block as defined below.\n"},"premiumMessagingPartitions":{"type":"integer","description":"Specifies the number messaging partitions. Only valid when \u003cspan pulumi-lang-nodejs=\"`sku`\" pulumi-lang-dotnet=\"`Sku`\" pulumi-lang-go=\"`sku`\" pulumi-lang-python=\"`sku`\" pulumi-lang-yaml=\"`sku`\" pulumi-lang-java=\"`sku`\"\u003e`sku`\u003c/span\u003e is `Premium` and the minimum number is \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e. Possible values include \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`4`\" pulumi-lang-dotnet=\"`4`\" pulumi-lang-go=\"`4`\" pulumi-lang-python=\"`4`\" pulumi-lang-yaml=\"`4`\" pulumi-lang-java=\"`4`\"\u003e`4`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e for Standard, Basic namespace. Changing this forces a new resource to be created.\n\n\u003e **Note:** It's not possible to change the partitioning option on any existing namespace. The number of partitions can only be set during namespace creation. Please check the doc https://learn.microsoft.com/en-us/azure/service-bus-messaging/enable-partitions-premium for more feature restrictions.\n"},"publicNetworkAccessEnabled":{"type":"boolean","description":"Is public network access enabled for the Service Bus Namespace? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to Changing this forces a new resource to be created.\ncreate the namespace.\n"},"sku":{"type":"string","description":"Defines which tier to use. Options are `Basic`, `Standard` or `Premium`. Please note that setting this field to `Premium` will force the creation of a new resource.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"required":["defaultPrimaryConnectionString","defaultPrimaryKey","defaultSecondaryConnectionString","defaultSecondaryKey","endpoint","location","name","networkRuleSet","resourceGroupName","sku"],"inputProperties":{"capacity":{"type":"integer","description":"Specifies the capacity. When \u003cspan pulumi-lang-nodejs=\"`sku`\" pulumi-lang-dotnet=\"`Sku`\" pulumi-lang-go=\"`sku`\" pulumi-lang-python=\"`sku`\" pulumi-lang-yaml=\"`sku`\" pulumi-lang-java=\"`sku`\"\u003e`sku`\u003c/span\u003e is `Premium`, capacity can be \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`4`\" pulumi-lang-dotnet=\"`4`\" pulumi-lang-go=\"`4`\" pulumi-lang-python=\"`4`\" pulumi-lang-yaml=\"`4`\" pulumi-lang-java=\"`4`\"\u003e`4`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`8`\" pulumi-lang-dotnet=\"`8`\" pulumi-lang-go=\"`8`\" pulumi-lang-python=\"`8`\" pulumi-lang-yaml=\"`8`\" pulumi-lang-java=\"`8`\"\u003e`8`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`16`\" pulumi-lang-dotnet=\"`16`\" pulumi-lang-go=\"`16`\" pulumi-lang-python=\"`16`\" pulumi-lang-yaml=\"`16`\" pulumi-lang-java=\"`16`\"\u003e`16`\u003c/span\u003e. When \u003cspan pulumi-lang-nodejs=\"`sku`\" pulumi-lang-dotnet=\"`Sku`\" pulumi-lang-go=\"`sku`\" pulumi-lang-python=\"`sku`\" pulumi-lang-yaml=\"`sku`\" pulumi-lang-java=\"`sku`\"\u003e`sku`\u003c/span\u003e is `Basic` or `Standard`, capacity can be \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e only.\n"},"customerManagedKey":{"$ref":"#/types/azure:servicebus/NamespaceCustomerManagedKey:NamespaceCustomerManagedKey","description":"An \u003cspan pulumi-lang-nodejs=\"`customerManagedKey`\" pulumi-lang-dotnet=\"`CustomerManagedKey`\" pulumi-lang-go=\"`customerManagedKey`\" pulumi-lang-python=\"`customer_managed_key`\" pulumi-lang-yaml=\"`customerManagedKey`\" pulumi-lang-java=\"`customerManagedKey`\"\u003e`customer_managed_key`\u003c/span\u003e block as defined below.\n"},"identity":{"$ref":"#/types/azure:servicebus/NamespaceIdentity:NamespaceIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"localAuthEnabled":{"type":"boolean","description":"Whether or not SAS authentication is enabled for the Service Bus namespace. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"minimumTlsVersion":{"type":"string","description":"The minimum supported TLS version for this Service Bus Namespace. Valid values are: `1.0`, `1.1` and `1.2`. Defaults to `1.2`.\n\n\u003e **Note:** Azure Services will require TLS 1.2+ by August 2025, please see this [announcement](https://azure.microsoft.com/en-us/updates/v2/update-retirement-tls1-0-tls1-1-versions-azure-services/) for more.\n"},"name":{"type":"string","description":"Specifies the name of the Service Bus Namespace resource . Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"networkRuleSet":{"$ref":"#/types/azure:servicebus/NamespaceNetworkRuleSet:NamespaceNetworkRuleSet","description":"An \u003cspan pulumi-lang-nodejs=\"`networkRuleSet`\" pulumi-lang-dotnet=\"`NetworkRuleSet`\" pulumi-lang-go=\"`networkRuleSet`\" pulumi-lang-python=\"`network_rule_set`\" pulumi-lang-yaml=\"`networkRuleSet`\" pulumi-lang-java=\"`networkRuleSet`\"\u003e`network_rule_set`\u003c/span\u003e block as defined below.\n"},"premiumMessagingPartitions":{"type":"integer","description":"Specifies the number messaging partitions. Only valid when \u003cspan pulumi-lang-nodejs=\"`sku`\" pulumi-lang-dotnet=\"`Sku`\" pulumi-lang-go=\"`sku`\" pulumi-lang-python=\"`sku`\" pulumi-lang-yaml=\"`sku`\" pulumi-lang-java=\"`sku`\"\u003e`sku`\u003c/span\u003e is `Premium` and the minimum number is \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e. Possible values include \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`4`\" pulumi-lang-dotnet=\"`4`\" pulumi-lang-go=\"`4`\" pulumi-lang-python=\"`4`\" pulumi-lang-yaml=\"`4`\" pulumi-lang-java=\"`4`\"\u003e`4`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e for Standard, Basic namespace. Changing this forces a new resource to be created.\n\n\u003e **Note:** It's not possible to change the partitioning option on any existing namespace. The number of partitions can only be set during namespace creation. Please check the doc https://learn.microsoft.com/en-us/azure/service-bus-messaging/enable-partitions-premium for more feature restrictions.\n","willReplaceOnChanges":true},"publicNetworkAccessEnabled":{"type":"boolean","description":"Is public network access enabled for the Service Bus Namespace? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to Changing this forces a new resource to be created.\ncreate the namespace.\n","willReplaceOnChanges":true},"sku":{"type":"string","description":"Defines which tier to use. Options are `Basic`, `Standard` or `Premium`. Please note that setting this field to `Premium` will force the creation of a new resource.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"requiredInputs":["resourceGroupName","sku"],"stateInputs":{"description":"Input properties used for looking up and filtering Namespace resources.\n","properties":{"capacity":{"type":"integer","description":"Specifies the capacity. When \u003cspan pulumi-lang-nodejs=\"`sku`\" pulumi-lang-dotnet=\"`Sku`\" pulumi-lang-go=\"`sku`\" pulumi-lang-python=\"`sku`\" pulumi-lang-yaml=\"`sku`\" pulumi-lang-java=\"`sku`\"\u003e`sku`\u003c/span\u003e is `Premium`, capacity can be \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`4`\" pulumi-lang-dotnet=\"`4`\" pulumi-lang-go=\"`4`\" pulumi-lang-python=\"`4`\" pulumi-lang-yaml=\"`4`\" pulumi-lang-java=\"`4`\"\u003e`4`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`8`\" pulumi-lang-dotnet=\"`8`\" pulumi-lang-go=\"`8`\" pulumi-lang-python=\"`8`\" pulumi-lang-yaml=\"`8`\" pulumi-lang-java=\"`8`\"\u003e`8`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`16`\" pulumi-lang-dotnet=\"`16`\" pulumi-lang-go=\"`16`\" pulumi-lang-python=\"`16`\" pulumi-lang-yaml=\"`16`\" pulumi-lang-java=\"`16`\"\u003e`16`\u003c/span\u003e. When \u003cspan pulumi-lang-nodejs=\"`sku`\" pulumi-lang-dotnet=\"`Sku`\" pulumi-lang-go=\"`sku`\" pulumi-lang-python=\"`sku`\" pulumi-lang-yaml=\"`sku`\" pulumi-lang-java=\"`sku`\"\u003e`sku`\u003c/span\u003e is `Basic` or `Standard`, capacity can be \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e only.\n"},"customerManagedKey":{"$ref":"#/types/azure:servicebus/NamespaceCustomerManagedKey:NamespaceCustomerManagedKey","description":"An \u003cspan pulumi-lang-nodejs=\"`customerManagedKey`\" pulumi-lang-dotnet=\"`CustomerManagedKey`\" pulumi-lang-go=\"`customerManagedKey`\" pulumi-lang-python=\"`customer_managed_key`\" pulumi-lang-yaml=\"`customerManagedKey`\" pulumi-lang-java=\"`customerManagedKey`\"\u003e`customer_managed_key`\u003c/span\u003e block as defined below.\n"},"defaultPrimaryConnectionString":{"type":"string","description":"The primary connection string for the authorization rule `RootManageSharedAccessKey`.\n","secret":true},"defaultPrimaryKey":{"type":"string","description":"The primary access key for the authorization rule `RootManageSharedAccessKey`.\n","secret":true},"defaultSecondaryConnectionString":{"type":"string","description":"The secondary connection string for the authorization rule `RootManageSharedAccessKey`.\n","secret":true},"defaultSecondaryKey":{"type":"string","description":"The secondary access key for the authorization rule `RootManageSharedAccessKey`.\n","secret":true},"endpoint":{"type":"string","description":"The URL to access the Service Bus Namespace.\n"},"identity":{"$ref":"#/types/azure:servicebus/NamespaceIdentity:NamespaceIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"localAuthEnabled":{"type":"boolean","description":"Whether or not SAS authentication is enabled for the Service Bus namespace. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"minimumTlsVersion":{"type":"string","description":"The minimum supported TLS version for this Service Bus Namespace. Valid values are: `1.0`, `1.1` and `1.2`. Defaults to `1.2`.\n\n\u003e **Note:** Azure Services will require TLS 1.2+ by August 2025, please see this [announcement](https://azure.microsoft.com/en-us/updates/v2/update-retirement-tls1-0-tls1-1-versions-azure-services/) for more.\n"},"name":{"type":"string","description":"Specifies the name of the Service Bus Namespace resource . Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"networkRuleSet":{"$ref":"#/types/azure:servicebus/NamespaceNetworkRuleSet:NamespaceNetworkRuleSet","description":"An \u003cspan pulumi-lang-nodejs=\"`networkRuleSet`\" pulumi-lang-dotnet=\"`NetworkRuleSet`\" pulumi-lang-go=\"`networkRuleSet`\" pulumi-lang-python=\"`network_rule_set`\" pulumi-lang-yaml=\"`networkRuleSet`\" pulumi-lang-java=\"`networkRuleSet`\"\u003e`network_rule_set`\u003c/span\u003e block as defined below.\n"},"premiumMessagingPartitions":{"type":"integer","description":"Specifies the number messaging partitions. Only valid when \u003cspan pulumi-lang-nodejs=\"`sku`\" pulumi-lang-dotnet=\"`Sku`\" pulumi-lang-go=\"`sku`\" pulumi-lang-python=\"`sku`\" pulumi-lang-yaml=\"`sku`\" pulumi-lang-java=\"`sku`\"\u003e`sku`\u003c/span\u003e is `Premium` and the minimum number is \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e. Possible values include \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`4`\" pulumi-lang-dotnet=\"`4`\" pulumi-lang-go=\"`4`\" pulumi-lang-python=\"`4`\" pulumi-lang-yaml=\"`4`\" pulumi-lang-java=\"`4`\"\u003e`4`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e for Standard, Basic namespace. Changing this forces a new resource to be created.\n\n\u003e **Note:** It's not possible to change the partitioning option on any existing namespace. The number of partitions can only be set during namespace creation. Please check the doc https://learn.microsoft.com/en-us/azure/service-bus-messaging/enable-partitions-premium for more feature restrictions.\n","willReplaceOnChanges":true},"publicNetworkAccessEnabled":{"type":"boolean","description":"Is public network access enabled for the Service Bus Namespace? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to Changing this forces a new resource to be created.\ncreate the namespace.\n","willReplaceOnChanges":true},"sku":{"type":"string","description":"Defines which tier to use. Options are `Basic`, `Standard` or `Premium`. Please note that setting this field to `Premium` will force the creation of a new resource.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"type":"object"},"aliases":[{"type":"azure:eventhub/namespace:Namespace"}]},"azure:servicebus/namespaceAuthorizationRule:NamespaceAuthorizationRule":{"description":"Manages a ServiceBus Namespace authorization Rule within a ServiceBus.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"my-servicebus\",\n    location: \"West US\",\n});\nconst exampleNamespace = new azure.servicebus.Namespace(\"example\", {\n    name: \"tfex-servicebus-namespace\",\n    location: example.location,\n    resourceGroupName: example.name,\n    sku: \"Standard\",\n    tags: {\n        source: \"example\",\n    },\n});\nconst exampleNamespaceAuthorizationRule = new azure.servicebus.NamespaceAuthorizationRule(\"example\", {\n    name: \"examplerule\",\n    namespaceId: exampleNamespace.id,\n    listen: true,\n    send: true,\n    manage: false,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"my-servicebus\",\n    location=\"West US\")\nexample_namespace = azure.servicebus.Namespace(\"example\",\n    name=\"tfex-servicebus-namespace\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku=\"Standard\",\n    tags={\n        \"source\": \"example\",\n    })\nexample_namespace_authorization_rule = azure.servicebus.NamespaceAuthorizationRule(\"example\",\n    name=\"examplerule\",\n    namespace_id=example_namespace.id,\n    listen=True,\n    send=True,\n    manage=False)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"my-servicebus\",\n        Location = \"West US\",\n    });\n\n    var exampleNamespace = new Azure.ServiceBus.Namespace(\"example\", new()\n    {\n        Name = \"tfex-servicebus-namespace\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Sku = \"Standard\",\n        Tags = \n        {\n            { \"source\", \"example\" },\n        },\n    });\n\n    var exampleNamespaceAuthorizationRule = new Azure.ServiceBus.NamespaceAuthorizationRule(\"example\", new()\n    {\n        Name = \"examplerule\",\n        NamespaceId = exampleNamespace.Id,\n        Listen = true,\n        Send = true,\n        Manage = false,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/servicebus\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"my-servicebus\"),\n\t\t\tLocation: pulumi.String(\"West US\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNamespace, err := servicebus.NewNamespace(ctx, \"example\", \u0026servicebus.NamespaceArgs{\n\t\t\tName:              pulumi.String(\"tfex-servicebus-namespace\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSku:               pulumi.String(\"Standard\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"source\": pulumi.String(\"example\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = servicebus.NewNamespaceAuthorizationRule(ctx, \"example\", \u0026servicebus.NamespaceAuthorizationRuleArgs{\n\t\t\tName:        pulumi.String(\"examplerule\"),\n\t\t\tNamespaceId: exampleNamespace.ID(),\n\t\t\tListen:      pulumi.Bool(true),\n\t\t\tSend:        pulumi.Bool(true),\n\t\t\tManage:      pulumi.Bool(false),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.servicebus.Namespace;\nimport com.pulumi.azure.servicebus.NamespaceArgs;\nimport com.pulumi.azure.servicebus.NamespaceAuthorizationRule;\nimport com.pulumi.azure.servicebus.NamespaceAuthorizationRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"my-servicebus\")\n            .location(\"West US\")\n            .build());\n\n        var exampleNamespace = new Namespace(\"exampleNamespace\", NamespaceArgs.builder()\n            .name(\"tfex-servicebus-namespace\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .sku(\"Standard\")\n            .tags(Map.of(\"source\", \"example\"))\n            .build());\n\n        var exampleNamespaceAuthorizationRule = new NamespaceAuthorizationRule(\"exampleNamespaceAuthorizationRule\", NamespaceAuthorizationRuleArgs.builder()\n            .name(\"examplerule\")\n            .namespaceId(exampleNamespace.id())\n            .listen(true)\n            .send(true)\n            .manage(false)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: my-servicebus\n      location: West US\n  exampleNamespace:\n    type: azure:servicebus:Namespace\n    name: example\n    properties:\n      name: tfex-servicebus-namespace\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      sku: Standard\n      tags:\n        source: example\n  exampleNamespaceAuthorizationRule:\n    type: azure:servicebus:NamespaceAuthorizationRule\n    name: example\n    properties:\n      name: examplerule\n      namespaceId: ${exampleNamespace.id}\n      listen: true\n      send: true\n      manage: false\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.ServiceBus` - 2024-01-01\n\n## Import\n\nServiceBus Namespace authorization rules can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:servicebus/namespaceAuthorizationRule:NamespaceAuthorizationRule rule1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.ServiceBus/namespaces/namespace1/authorizationRules/rule1\n```\n\n","properties":{"listen":{"type":"boolean","description":"Grants listen access to this Authorization Rule. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"manage":{"type":"boolean","description":"Grants manage access to this Authorization Rule. When this property is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e - both \u003cspan pulumi-lang-nodejs=\"`listen`\" pulumi-lang-dotnet=\"`Listen`\" pulumi-lang-go=\"`listen`\" pulumi-lang-python=\"`listen`\" pulumi-lang-yaml=\"`listen`\" pulumi-lang-java=\"`listen`\"\u003e`listen`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`send`\" pulumi-lang-dotnet=\"`Send`\" pulumi-lang-go=\"`send`\" pulumi-lang-python=\"`send`\" pulumi-lang-yaml=\"`send`\" pulumi-lang-java=\"`send`\"\u003e`send`\u003c/span\u003e must be too. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"name":{"type":"string","description":"Specifies the name of the ServiceBus Namespace Authorization Rule resource. Changing this forces a new resource to be created.\n"},"namespaceId":{"type":"string","description":"Specifies the ID of the ServiceBus Namespace. Changing this forces a new resource to be created.\n\n\u003e **Note:** At least one of the 3 permissions below needs to be set.\n"},"primaryConnectionString":{"type":"string","description":"The Primary Connection String for the ServiceBus Namespace authorization Rule.\n","secret":true},"primaryConnectionStringAlias":{"type":"string","description":"The alias Primary Connection String for the ServiceBus Namespace, if the namespace is Geo DR paired.\n","secret":true},"primaryKey":{"type":"string","description":"The Primary Key for the ServiceBus Namespace authorization Rule.\n","secret":true},"secondaryConnectionString":{"type":"string","description":"The Secondary Connection String for the ServiceBus Namespace authorization Rule.\n","secret":true},"secondaryConnectionStringAlias":{"type":"string","description":"The alias Secondary Connection String for the ServiceBus Namespace\n","secret":true},"secondaryKey":{"type":"string","description":"The Secondary Key for the ServiceBus Namespace authorization Rule.\n","secret":true},"send":{"type":"boolean","description":"Grants send access to this Authorization Rule. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"}},"required":["name","namespaceId","primaryConnectionString","primaryConnectionStringAlias","primaryKey","secondaryConnectionString","secondaryConnectionStringAlias","secondaryKey"],"inputProperties":{"listen":{"type":"boolean","description":"Grants listen access to this Authorization Rule. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"manage":{"type":"boolean","description":"Grants manage access to this Authorization Rule. When this property is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e - both \u003cspan pulumi-lang-nodejs=\"`listen`\" pulumi-lang-dotnet=\"`Listen`\" pulumi-lang-go=\"`listen`\" pulumi-lang-python=\"`listen`\" pulumi-lang-yaml=\"`listen`\" pulumi-lang-java=\"`listen`\"\u003e`listen`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`send`\" pulumi-lang-dotnet=\"`Send`\" pulumi-lang-go=\"`send`\" pulumi-lang-python=\"`send`\" pulumi-lang-yaml=\"`send`\" pulumi-lang-java=\"`send`\"\u003e`send`\u003c/span\u003e must be too. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"name":{"type":"string","description":"Specifies the name of the ServiceBus Namespace Authorization Rule resource. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"namespaceId":{"type":"string","description":"Specifies the ID of the ServiceBus Namespace. Changing this forces a new resource to be created.\n\n\u003e **Note:** At least one of the 3 permissions below needs to be set.\n","willReplaceOnChanges":true},"send":{"type":"boolean","description":"Grants send access to this Authorization Rule. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"}},"requiredInputs":["namespaceId"],"stateInputs":{"description":"Input properties used for looking up and filtering NamespaceAuthorizationRule resources.\n","properties":{"listen":{"type":"boolean","description":"Grants listen access to this Authorization Rule. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"manage":{"type":"boolean","description":"Grants manage access to this Authorization Rule. When this property is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e - both \u003cspan pulumi-lang-nodejs=\"`listen`\" pulumi-lang-dotnet=\"`Listen`\" pulumi-lang-go=\"`listen`\" pulumi-lang-python=\"`listen`\" pulumi-lang-yaml=\"`listen`\" pulumi-lang-java=\"`listen`\"\u003e`listen`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`send`\" pulumi-lang-dotnet=\"`Send`\" pulumi-lang-go=\"`send`\" pulumi-lang-python=\"`send`\" pulumi-lang-yaml=\"`send`\" pulumi-lang-java=\"`send`\"\u003e`send`\u003c/span\u003e must be too. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"name":{"type":"string","description":"Specifies the name of the ServiceBus Namespace Authorization Rule resource. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"namespaceId":{"type":"string","description":"Specifies the ID of the ServiceBus Namespace. Changing this forces a new resource to be created.\n\n\u003e **Note:** At least one of the 3 permissions below needs to be set.\n","willReplaceOnChanges":true},"primaryConnectionString":{"type":"string","description":"The Primary Connection String for the ServiceBus Namespace authorization Rule.\n","secret":true},"primaryConnectionStringAlias":{"type":"string","description":"The alias Primary Connection String for the ServiceBus Namespace, if the namespace is Geo DR paired.\n","secret":true},"primaryKey":{"type":"string","description":"The Primary Key for the ServiceBus Namespace authorization Rule.\n","secret":true},"secondaryConnectionString":{"type":"string","description":"The Secondary Connection String for the ServiceBus Namespace authorization Rule.\n","secret":true},"secondaryConnectionStringAlias":{"type":"string","description":"The alias Secondary Connection String for the ServiceBus Namespace\n","secret":true},"secondaryKey":{"type":"string","description":"The Secondary Key for the ServiceBus Namespace authorization Rule.\n","secret":true},"send":{"type":"boolean","description":"Grants send access to this Authorization Rule. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"}},"type":"object"},"aliases":[{"type":"azure:eventhub/namespaceAuthorizationRule:NamespaceAuthorizationRule"}]},"azure:servicebus/namespaceCustomerManagedKey:NamespaceCustomerManagedKey":{"description":"Manages a Service Bus Namespace Customer Managed Key.\n\n!\u003e **Note:** It is not possible to remove the Customer Managed Key from the Service Bus Namespace once it's been added. To remove the Customer Managed Key, the parent Service Bus Namespace must be deleted and recreated.\n\n\u003e **Note:** This resource should only be used to create a Customer Managed Key for Service Bus Namespaces with System Assigned identities. The \u003cspan pulumi-lang-nodejs=\"`customerManagedKey`\" pulumi-lang-dotnet=\"`CustomerManagedKey`\" pulumi-lang-go=\"`customerManagedKey`\" pulumi-lang-python=\"`customer_managed_key`\" pulumi-lang-yaml=\"`customerManagedKey`\" pulumi-lang-java=\"`customerManagedKey`\"\u003e`customer_managed_key`\u003c/span\u003e block in \u003cspan pulumi-lang-nodejs=\"`azure.servicebus.Namespace`\" pulumi-lang-dotnet=\"`azure.servicebus.Namespace`\" pulumi-lang-go=\"`servicebus.Namespace`\" pulumi-lang-python=\"`servicebus.Namespace`\" pulumi-lang-yaml=\"`azure.servicebus.Namespace`\" pulumi-lang-java=\"`azure.servicebus.Namespace`\"\u003e`azure.servicebus.Namespace`\u003c/span\u003e should be used to create a Customer Managed Key for a Service Bus Namespace with a User Assigned identity.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resource-group\",\n    location: \"West Europe\",\n});\nconst exampleNamespace = new azure.servicebus.Namespace(\"example\", {\n    name: \"example-servicebus-namespace\",\n    location: example.location,\n    resourceGroupName: example.name,\n    sku: \"Premium\",\n    premiumMessagingPartitions: 1,\n    capacity: 1,\n    identity: {\n        type: \"SystemAssigned\",\n    },\n});\nconst current = azure.core.getClientConfig({});\nconst exampleKeyVault = new azure.keyvault.KeyVault(\"example\", {\n    name: \"example-key-vault\",\n    location: example.location,\n    resourceGroupName: example.name,\n    enabledForDiskEncryption: true,\n    tenantId: current.then(current =\u003e current.tenantId),\n    softDeleteRetentionDays: 7,\n    purgeProtectionEnabled: true,\n    skuName: \"standard\",\n    accessPolicies: [\n        {\n            tenantId: current.then(current =\u003e current.tenantId),\n            objectId: current.then(current =\u003e current.objectId),\n            keyPermissions: [\n                \"Create\",\n                \"Decrypt\",\n                \"Encrypt\",\n                \"Delete\",\n                \"Get\",\n                \"List\",\n                \"Purge\",\n                \"UnwrapKey\",\n                \"WrapKey\",\n                \"Verify\",\n                \"GetRotationPolicy\",\n            ],\n            secretPermissions: [\"Set\"],\n        },\n        {\n            tenantId: exampleNamespace.identity.apply(identity =\u003e identity?.tenantId),\n            objectId: exampleNamespace.identity.apply(identity =\u003e identity?.principalId),\n            keyPermissions: [\n                \"Create\",\n                \"Decrypt\",\n                \"Encrypt\",\n                \"Delete\",\n                \"Get\",\n                \"List\",\n                \"Purge\",\n                \"UnwrapKey\",\n                \"WrapKey\",\n                \"Verify\",\n                \"GetRotationPolicy\",\n            ],\n            secretPermissions: [\"Set\"],\n        },\n    ],\n});\nconst exampleKey = new azure.keyvault.Key(\"example\", {\n    name: \"example-key-vault-key\",\n    keyVaultId: exampleKeyVault.id,\n    keyType: \"RSA\",\n    keySize: 2048,\n    keyOpts: [\n        \"decrypt\",\n        \"encrypt\",\n        \"sign\",\n        \"unwrapKey\",\n        \"verify\",\n        \"wrapKey\",\n    ],\n});\nconst exampleNamespaceCustomerManagedKey = new azure.servicebus.NamespaceCustomerManagedKey(\"example\", {\n    namespaceId: exampleNamespace.id,\n    keyVaultKeyId: exampleKey.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resource-group\",\n    location=\"West Europe\")\nexample_namespace = azure.servicebus.Namespace(\"example\",\n    name=\"example-servicebus-namespace\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku=\"Premium\",\n    premium_messaging_partitions=1,\n    capacity=1,\n    identity={\n        \"type\": \"SystemAssigned\",\n    })\ncurrent = azure.core.get_client_config()\nexample_key_vault = azure.keyvault.KeyVault(\"example\",\n    name=\"example-key-vault\",\n    location=example.location,\n    resource_group_name=example.name,\n    enabled_for_disk_encryption=True,\n    tenant_id=current.tenant_id,\n    soft_delete_retention_days=7,\n    purge_protection_enabled=True,\n    sku_name=\"standard\",\n    access_policies=[\n        {\n            \"tenant_id\": current.tenant_id,\n            \"object_id\": current.object_id,\n            \"key_permissions\": [\n                \"Create\",\n                \"Decrypt\",\n                \"Encrypt\",\n                \"Delete\",\n                \"Get\",\n                \"List\",\n                \"Purge\",\n                \"UnwrapKey\",\n                \"WrapKey\",\n                \"Verify\",\n                \"GetRotationPolicy\",\n            ],\n            \"secret_permissions\": [\"Set\"],\n        },\n        {\n            \"tenant_id\": example_namespace.identity.tenant_id,\n            \"object_id\": example_namespace.identity.principal_id,\n            \"key_permissions\": [\n                \"Create\",\n                \"Decrypt\",\n                \"Encrypt\",\n                \"Delete\",\n                \"Get\",\n                \"List\",\n                \"Purge\",\n                \"UnwrapKey\",\n                \"WrapKey\",\n                \"Verify\",\n                \"GetRotationPolicy\",\n            ],\n            \"secret_permissions\": [\"Set\"],\n        },\n    ])\nexample_key = azure.keyvault.Key(\"example\",\n    name=\"example-key-vault-key\",\n    key_vault_id=example_key_vault.id,\n    key_type=\"RSA\",\n    key_size=2048,\n    key_opts=[\n        \"decrypt\",\n        \"encrypt\",\n        \"sign\",\n        \"unwrapKey\",\n        \"verify\",\n        \"wrapKey\",\n    ])\nexample_namespace_customer_managed_key = azure.servicebus.NamespaceCustomerManagedKey(\"example\",\n    namespace_id=example_namespace.id,\n    key_vault_key_id=example_key.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resource-group\",\n        Location = \"West Europe\",\n    });\n\n    var exampleNamespace = new Azure.ServiceBus.Namespace(\"example\", new()\n    {\n        Name = \"example-servicebus-namespace\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Sku = \"Premium\",\n        PremiumMessagingPartitions = 1,\n        Capacity = 1,\n        Identity = new Azure.ServiceBus.Inputs.NamespaceIdentityArgs\n        {\n            Type = \"SystemAssigned\",\n        },\n    });\n\n    var current = Azure.Core.GetClientConfig.Invoke();\n\n    var exampleKeyVault = new Azure.KeyVault.KeyVault(\"example\", new()\n    {\n        Name = \"example-key-vault\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        EnabledForDiskEncryption = true,\n        TenantId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.TenantId),\n        SoftDeleteRetentionDays = 7,\n        PurgeProtectionEnabled = true,\n        SkuName = \"standard\",\n        AccessPolicies = new[]\n        {\n            new Azure.KeyVault.Inputs.KeyVaultAccessPolicyArgs\n            {\n                TenantId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.TenantId),\n                ObjectId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.ObjectId),\n                KeyPermissions = new[]\n                {\n                    \"Create\",\n                    \"Decrypt\",\n                    \"Encrypt\",\n                    \"Delete\",\n                    \"Get\",\n                    \"List\",\n                    \"Purge\",\n                    \"UnwrapKey\",\n                    \"WrapKey\",\n                    \"Verify\",\n                    \"GetRotationPolicy\",\n                },\n                SecretPermissions = new[]\n                {\n                    \"Set\",\n                },\n            },\n            new Azure.KeyVault.Inputs.KeyVaultAccessPolicyArgs\n            {\n                TenantId = exampleNamespace.Identity.Apply(identity =\u003e identity?.TenantId),\n                ObjectId = exampleNamespace.Identity.Apply(identity =\u003e identity?.PrincipalId),\n                KeyPermissions = new[]\n                {\n                    \"Create\",\n                    \"Decrypt\",\n                    \"Encrypt\",\n                    \"Delete\",\n                    \"Get\",\n                    \"List\",\n                    \"Purge\",\n                    \"UnwrapKey\",\n                    \"WrapKey\",\n                    \"Verify\",\n                    \"GetRotationPolicy\",\n                },\n                SecretPermissions = new[]\n                {\n                    \"Set\",\n                },\n            },\n        },\n    });\n\n    var exampleKey = new Azure.KeyVault.Key(\"example\", new()\n    {\n        Name = \"example-key-vault-key\",\n        KeyVaultId = exampleKeyVault.Id,\n        KeyType = \"RSA\",\n        KeySize = 2048,\n        KeyOpts = new[]\n        {\n            \"decrypt\",\n            \"encrypt\",\n            \"sign\",\n            \"unwrapKey\",\n            \"verify\",\n            \"wrapKey\",\n        },\n    });\n\n    var exampleNamespaceCustomerManagedKey = new Azure.ServiceBus.NamespaceCustomerManagedKey(\"example\", new()\n    {\n        NamespaceId = exampleNamespace.Id,\n        KeyVaultKeyId = exampleKey.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/keyvault\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/servicebus\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resource-group\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNamespace, err := servicebus.NewNamespace(ctx, \"example\", \u0026servicebus.NamespaceArgs{\n\t\t\tName:                       pulumi.String(\"example-servicebus-namespace\"),\n\t\t\tLocation:                   example.Location,\n\t\t\tResourceGroupName:          example.Name,\n\t\t\tSku:                        pulumi.String(\"Premium\"),\n\t\t\tPremiumMessagingPartitions: pulumi.Int(1),\n\t\t\tCapacity:                   pulumi.Int(1),\n\t\t\tIdentity: \u0026servicebus.NamespaceIdentityArgs{\n\t\t\t\tType: pulumi.String(\"SystemAssigned\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrent, err := core.GetClientConfig(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleKeyVault, err := keyvault.NewKeyVault(ctx, \"example\", \u0026keyvault.KeyVaultArgs{\n\t\t\tName:                     pulumi.String(\"example-key-vault\"),\n\t\t\tLocation:                 example.Location,\n\t\t\tResourceGroupName:        example.Name,\n\t\t\tEnabledForDiskEncryption: pulumi.Bool(true),\n\t\t\tTenantId:                 pulumi.String(current.TenantId),\n\t\t\tSoftDeleteRetentionDays:  pulumi.Int(7),\n\t\t\tPurgeProtectionEnabled:   pulumi.Bool(true),\n\t\t\tSkuName:                  pulumi.String(\"standard\"),\n\t\t\tAccessPolicies: keyvault.KeyVaultAccessPolicyArray{\n\t\t\t\t\u0026keyvault.KeyVaultAccessPolicyArgs{\n\t\t\t\t\tTenantId: pulumi.String(current.TenantId),\n\t\t\t\t\tObjectId: pulumi.String(current.ObjectId),\n\t\t\t\t\tKeyPermissions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"Create\"),\n\t\t\t\t\t\tpulumi.String(\"Decrypt\"),\n\t\t\t\t\t\tpulumi.String(\"Encrypt\"),\n\t\t\t\t\t\tpulumi.String(\"Delete\"),\n\t\t\t\t\t\tpulumi.String(\"Get\"),\n\t\t\t\t\t\tpulumi.String(\"List\"),\n\t\t\t\t\t\tpulumi.String(\"Purge\"),\n\t\t\t\t\t\tpulumi.String(\"UnwrapKey\"),\n\t\t\t\t\t\tpulumi.String(\"WrapKey\"),\n\t\t\t\t\t\tpulumi.String(\"Verify\"),\n\t\t\t\t\t\tpulumi.String(\"GetRotationPolicy\"),\n\t\t\t\t\t},\n\t\t\t\t\tSecretPermissions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"Set\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026keyvault.KeyVaultAccessPolicyArgs{\n\t\t\t\t\tTenantId: exampleNamespace.Identity.ApplyT(func(identity servicebus.NamespaceIdentity) (*string, error) {\n\t\t\t\t\t\treturn \u0026identity.TenantId, nil\n\t\t\t\t\t}).(pulumi.StringPtrOutput),\n\t\t\t\t\tObjectId: exampleNamespace.Identity.ApplyT(func(identity servicebus.NamespaceIdentity) (*string, error) {\n\t\t\t\t\t\treturn \u0026identity.PrincipalId, nil\n\t\t\t\t\t}).(pulumi.StringPtrOutput),\n\t\t\t\t\tKeyPermissions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"Create\"),\n\t\t\t\t\t\tpulumi.String(\"Decrypt\"),\n\t\t\t\t\t\tpulumi.String(\"Encrypt\"),\n\t\t\t\t\t\tpulumi.String(\"Delete\"),\n\t\t\t\t\t\tpulumi.String(\"Get\"),\n\t\t\t\t\t\tpulumi.String(\"List\"),\n\t\t\t\t\t\tpulumi.String(\"Purge\"),\n\t\t\t\t\t\tpulumi.String(\"UnwrapKey\"),\n\t\t\t\t\t\tpulumi.String(\"WrapKey\"),\n\t\t\t\t\t\tpulumi.String(\"Verify\"),\n\t\t\t\t\t\tpulumi.String(\"GetRotationPolicy\"),\n\t\t\t\t\t},\n\t\t\t\t\tSecretPermissions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"Set\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleKey, err := keyvault.NewKey(ctx, \"example\", \u0026keyvault.KeyArgs{\n\t\t\tName:       pulumi.String(\"example-key-vault-key\"),\n\t\t\tKeyVaultId: exampleKeyVault.ID(),\n\t\t\tKeyType:    pulumi.String(\"RSA\"),\n\t\t\tKeySize:    pulumi.Int(2048),\n\t\t\tKeyOpts: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"decrypt\"),\n\t\t\t\tpulumi.String(\"encrypt\"),\n\t\t\t\tpulumi.String(\"sign\"),\n\t\t\t\tpulumi.String(\"unwrapKey\"),\n\t\t\t\tpulumi.String(\"verify\"),\n\t\t\t\tpulumi.String(\"wrapKey\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = servicebus.NewNamespaceCustomerManagedKey(ctx, \"example\", \u0026servicebus.NamespaceCustomerManagedKeyArgs{\n\t\t\tNamespaceId:   exampleNamespace.ID(),\n\t\t\tKeyVaultKeyId: exampleKey.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.servicebus.Namespace;\nimport com.pulumi.azure.servicebus.NamespaceArgs;\nimport com.pulumi.azure.servicebus.inputs.NamespaceIdentityArgs;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.keyvault.KeyVault;\nimport com.pulumi.azure.keyvault.KeyVaultArgs;\nimport com.pulumi.azure.keyvault.inputs.KeyVaultAccessPolicyArgs;\nimport com.pulumi.azure.keyvault.Key;\nimport com.pulumi.azure.keyvault.KeyArgs;\nimport com.pulumi.azure.servicebus.NamespaceCustomerManagedKey;\nimport com.pulumi.azure.servicebus.NamespaceCustomerManagedKeyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resource-group\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleNamespace = new Namespace(\"exampleNamespace\", NamespaceArgs.builder()\n            .name(\"example-servicebus-namespace\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .sku(\"Premium\")\n            .premiumMessagingPartitions(1)\n            .capacity(1)\n            .identity(NamespaceIdentityArgs.builder()\n                .type(\"SystemAssigned\")\n                .build())\n            .build());\n\n        final var current = CoreFunctions.getClientConfig(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n        var exampleKeyVault = new KeyVault(\"exampleKeyVault\", KeyVaultArgs.builder()\n            .name(\"example-key-vault\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .enabledForDiskEncryption(true)\n            .tenantId(current.tenantId())\n            .softDeleteRetentionDays(7)\n            .purgeProtectionEnabled(true)\n            .skuName(\"standard\")\n            .accessPolicies(            \n                KeyVaultAccessPolicyArgs.builder()\n                    .tenantId(current.tenantId())\n                    .objectId(current.objectId())\n                    .keyPermissions(                    \n                        \"Create\",\n                        \"Decrypt\",\n                        \"Encrypt\",\n                        \"Delete\",\n                        \"Get\",\n                        \"List\",\n                        \"Purge\",\n                        \"UnwrapKey\",\n                        \"WrapKey\",\n                        \"Verify\",\n                        \"GetRotationPolicy\")\n                    .secretPermissions(\"Set\")\n                    .build(),\n                KeyVaultAccessPolicyArgs.builder()\n                    .tenantId(exampleNamespace.identity().applyValue(_identity -\u003e _identity.tenantId()))\n                    .objectId(exampleNamespace.identity().applyValue(_identity -\u003e _identity.principalId()))\n                    .keyPermissions(                    \n                        \"Create\",\n                        \"Decrypt\",\n                        \"Encrypt\",\n                        \"Delete\",\n                        \"Get\",\n                        \"List\",\n                        \"Purge\",\n                        \"UnwrapKey\",\n                        \"WrapKey\",\n                        \"Verify\",\n                        \"GetRotationPolicy\")\n                    .secretPermissions(\"Set\")\n                    .build())\n            .build());\n\n        var exampleKey = new Key(\"exampleKey\", KeyArgs.builder()\n            .name(\"example-key-vault-key\")\n            .keyVaultId(exampleKeyVault.id())\n            .keyType(\"RSA\")\n            .keySize(2048)\n            .keyOpts(            \n                \"decrypt\",\n                \"encrypt\",\n                \"sign\",\n                \"unwrapKey\",\n                \"verify\",\n                \"wrapKey\")\n            .build());\n\n        var exampleNamespaceCustomerManagedKey = new NamespaceCustomerManagedKey(\"exampleNamespaceCustomerManagedKey\", NamespaceCustomerManagedKeyArgs.builder()\n            .namespaceId(exampleNamespace.id())\n            .keyVaultKeyId(exampleKey.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resource-group\n      location: West Europe\n  exampleNamespace:\n    type: azure:servicebus:Namespace\n    name: example\n    properties:\n      name: example-servicebus-namespace\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      sku: Premium\n      premiumMessagingPartitions: 1\n      capacity: 1\n      identity:\n        type: SystemAssigned\n  exampleKeyVault:\n    type: azure:keyvault:KeyVault\n    name: example\n    properties:\n      name: example-key-vault\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      enabledForDiskEncryption: true\n      tenantId: ${current.tenantId}\n      softDeleteRetentionDays: 7\n      purgeProtectionEnabled: true\n      skuName: standard\n      accessPolicies:\n        - tenantId: ${current.tenantId}\n          objectId: ${current.objectId}\n          keyPermissions:\n            - Create\n            - Decrypt\n            - Encrypt\n            - Delete\n            - Get\n            - List\n            - Purge\n            - UnwrapKey\n            - WrapKey\n            - Verify\n            - GetRotationPolicy\n          secretPermissions:\n            - Set\n        - tenantId: ${exampleNamespace.identity.tenantId}\n          objectId: ${exampleNamespace.identity.principalId}\n          keyPermissions:\n            - Create\n            - Decrypt\n            - Encrypt\n            - Delete\n            - Get\n            - List\n            - Purge\n            - UnwrapKey\n            - WrapKey\n            - Verify\n            - GetRotationPolicy\n          secretPermissions:\n            - Set\n  exampleKey:\n    type: azure:keyvault:Key\n    name: example\n    properties:\n      name: example-key-vault-key\n      keyVaultId: ${exampleKeyVault.id}\n      keyType: RSA\n      keySize: 2048\n      keyOpts:\n        - decrypt\n        - encrypt\n        - sign\n        - unwrapKey\n        - verify\n        - wrapKey\n  exampleNamespaceCustomerManagedKey:\n    type: azure:servicebus:NamespaceCustomerManagedKey\n    name: example\n    properties:\n      namespaceId: ${exampleNamespace.id}\n      keyVaultKeyId: ${exampleKey.id}\nvariables:\n  current:\n    fn::invoke:\n      function: azure:core:getClientConfig\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.ServiceBus` - 2024-01-01\n\n## Import\n\nService Bus Namespace Customer Managed Key can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:servicebus/namespaceCustomerManagedKey:NamespaceCustomerManagedKey example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.ServiceBus/namespaces/sbns1\n```\n\n","properties":{"infrastructureEncryptionEnabled":{"type":"boolean","description":"Used to specify whether enable Infrastructure Encryption. Changing this forces a new resource to be created.\n"},"keyVaultKeyId":{"type":"string","description":"The ID of the Key Vault Key which should be used to Encrypt the data in this Service Bus Namespace.\n"},"namespaceId":{"type":"string","description":"The ID of the Service Bus namespace. Changing this forces a new resource to be created.\n"}},"required":["keyVaultKeyId","namespaceId"],"inputProperties":{"infrastructureEncryptionEnabled":{"type":"boolean","description":"Used to specify whether enable Infrastructure Encryption. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"keyVaultKeyId":{"type":"string","description":"The ID of the Key Vault Key which should be used to Encrypt the data in this Service Bus Namespace.\n"},"namespaceId":{"type":"string","description":"The ID of the Service Bus namespace. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["keyVaultKeyId","namespaceId"],"stateInputs":{"description":"Input properties used for looking up and filtering NamespaceCustomerManagedKey resources.\n","properties":{"infrastructureEncryptionEnabled":{"type":"boolean","description":"Used to specify whether enable Infrastructure Encryption. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"keyVaultKeyId":{"type":"string","description":"The ID of the Key Vault Key which should be used to Encrypt the data in this Service Bus Namespace.\n"},"namespaceId":{"type":"string","description":"The ID of the Service Bus namespace. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:servicebus/namespaceDisasterRecoveryConfig:NamespaceDisasterRecoveryConfig":{"description":"Manages a Disaster Recovery Config for a Service Bus Namespace.\n\n\u003e **Note:** Disaster Recovery Config is a Premium SKU only capability.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"servicebus-replication\",\n    location: \"West Europe\",\n});\nconst primary = new azure.servicebus.Namespace(\"primary\", {\n    name: \"servicebus-primary\",\n    location: example.location,\n    resourceGroupName: example.name,\n    sku: \"Premium\",\n    capacity: 1,\n});\nconst secondary = new azure.servicebus.Namespace(\"secondary\", {\n    name: \"servicebus-secondary\",\n    location: example.location,\n    resourceGroupName: example.name,\n    sku: \"Premium\",\n    capacity: 1,\n});\nconst exampleNamespaceAuthorizationRule = new azure.servicebus.NamespaceAuthorizationRule(\"example\", {\n    name: \"examplerule\",\n    namespaceId: exampleAzurermServicebusNamespace.id,\n    listen: true,\n    send: true,\n    manage: false,\n});\nconst exampleNamespaceDisasterRecoveryConfig = new azure.servicebus.NamespaceDisasterRecoveryConfig(\"example\", {\n    name: \"servicebus-alias-name\",\n    primaryNamespaceId: primary.id,\n    partnerNamespaceId: secondary.id,\n    aliasAuthorizationRuleId: exampleNamespaceAuthorizationRule.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"servicebus-replication\",\n    location=\"West Europe\")\nprimary = azure.servicebus.Namespace(\"primary\",\n    name=\"servicebus-primary\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku=\"Premium\",\n    capacity=1)\nsecondary = azure.servicebus.Namespace(\"secondary\",\n    name=\"servicebus-secondary\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku=\"Premium\",\n    capacity=1)\nexample_namespace_authorization_rule = azure.servicebus.NamespaceAuthorizationRule(\"example\",\n    name=\"examplerule\",\n    namespace_id=example_azurerm_servicebus_namespace[\"id\"],\n    listen=True,\n    send=True,\n    manage=False)\nexample_namespace_disaster_recovery_config = azure.servicebus.NamespaceDisasterRecoveryConfig(\"example\",\n    name=\"servicebus-alias-name\",\n    primary_namespace_id=primary.id,\n    partner_namespace_id=secondary.id,\n    alias_authorization_rule_id=example_namespace_authorization_rule.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"servicebus-replication\",\n        Location = \"West Europe\",\n    });\n\n    var primary = new Azure.ServiceBus.Namespace(\"primary\", new()\n    {\n        Name = \"servicebus-primary\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Sku = \"Premium\",\n        Capacity = 1,\n    });\n\n    var secondary = new Azure.ServiceBus.Namespace(\"secondary\", new()\n    {\n        Name = \"servicebus-secondary\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Sku = \"Premium\",\n        Capacity = 1,\n    });\n\n    var exampleNamespaceAuthorizationRule = new Azure.ServiceBus.NamespaceAuthorizationRule(\"example\", new()\n    {\n        Name = \"examplerule\",\n        NamespaceId = exampleAzurermServicebusNamespace.Id,\n        Listen = true,\n        Send = true,\n        Manage = false,\n    });\n\n    var exampleNamespaceDisasterRecoveryConfig = new Azure.ServiceBus.NamespaceDisasterRecoveryConfig(\"example\", new()\n    {\n        Name = \"servicebus-alias-name\",\n        PrimaryNamespaceId = primary.Id,\n        PartnerNamespaceId = secondary.Id,\n        AliasAuthorizationRuleId = exampleNamespaceAuthorizationRule.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/servicebus\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"servicebus-replication\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tprimary, err := servicebus.NewNamespace(ctx, \"primary\", \u0026servicebus.NamespaceArgs{\n\t\t\tName:              pulumi.String(\"servicebus-primary\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSku:               pulumi.String(\"Premium\"),\n\t\t\tCapacity:          pulumi.Int(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsecondary, err := servicebus.NewNamespace(ctx, \"secondary\", \u0026servicebus.NamespaceArgs{\n\t\t\tName:              pulumi.String(\"servicebus-secondary\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSku:               pulumi.String(\"Premium\"),\n\t\t\tCapacity:          pulumi.Int(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNamespaceAuthorizationRule, err := servicebus.NewNamespaceAuthorizationRule(ctx, \"example\", \u0026servicebus.NamespaceAuthorizationRuleArgs{\n\t\t\tName:        pulumi.String(\"examplerule\"),\n\t\t\tNamespaceId: pulumi.Any(exampleAzurermServicebusNamespace.Id),\n\t\t\tListen:      pulumi.Bool(true),\n\t\t\tSend:        pulumi.Bool(true),\n\t\t\tManage:      pulumi.Bool(false),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = servicebus.NewNamespaceDisasterRecoveryConfig(ctx, \"example\", \u0026servicebus.NamespaceDisasterRecoveryConfigArgs{\n\t\t\tName:                     pulumi.String(\"servicebus-alias-name\"),\n\t\t\tPrimaryNamespaceId:       primary.ID(),\n\t\t\tPartnerNamespaceId:       secondary.ID(),\n\t\t\tAliasAuthorizationRuleId: exampleNamespaceAuthorizationRule.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.servicebus.Namespace;\nimport com.pulumi.azure.servicebus.NamespaceArgs;\nimport com.pulumi.azure.servicebus.NamespaceAuthorizationRule;\nimport com.pulumi.azure.servicebus.NamespaceAuthorizationRuleArgs;\nimport com.pulumi.azure.servicebus.NamespaceDisasterRecoveryConfig;\nimport com.pulumi.azure.servicebus.NamespaceDisasterRecoveryConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"servicebus-replication\")\n            .location(\"West Europe\")\n            .build());\n\n        var primary = new Namespace(\"primary\", NamespaceArgs.builder()\n            .name(\"servicebus-primary\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .sku(\"Premium\")\n            .capacity(1)\n            .build());\n\n        var secondary = new Namespace(\"secondary\", NamespaceArgs.builder()\n            .name(\"servicebus-secondary\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .sku(\"Premium\")\n            .capacity(1)\n            .build());\n\n        var exampleNamespaceAuthorizationRule = new NamespaceAuthorizationRule(\"exampleNamespaceAuthorizationRule\", NamespaceAuthorizationRuleArgs.builder()\n            .name(\"examplerule\")\n            .namespaceId(exampleAzurermServicebusNamespace.id())\n            .listen(true)\n            .send(true)\n            .manage(false)\n            .build());\n\n        var exampleNamespaceDisasterRecoveryConfig = new NamespaceDisasterRecoveryConfig(\"exampleNamespaceDisasterRecoveryConfig\", NamespaceDisasterRecoveryConfigArgs.builder()\n            .name(\"servicebus-alias-name\")\n            .primaryNamespaceId(primary.id())\n            .partnerNamespaceId(secondary.id())\n            .aliasAuthorizationRuleId(exampleNamespaceAuthorizationRule.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: servicebus-replication\n      location: West Europe\n  primary:\n    type: azure:servicebus:Namespace\n    properties:\n      name: servicebus-primary\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      sku: Premium\n      capacity: '1'\n  secondary:\n    type: azure:servicebus:Namespace\n    properties:\n      name: servicebus-secondary\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      sku: Premium\n      capacity: '1'\n  exampleNamespaceAuthorizationRule:\n    type: azure:servicebus:NamespaceAuthorizationRule\n    name: example\n    properties:\n      name: examplerule\n      namespaceId: ${exampleAzurermServicebusNamespace.id}\n      listen: true\n      send: true\n      manage: false\n  exampleNamespaceDisasterRecoveryConfig:\n    type: azure:servicebus:NamespaceDisasterRecoveryConfig\n    name: example\n    properties:\n      name: servicebus-alias-name\n      primaryNamespaceId: ${primary.id}\n      partnerNamespaceId: ${secondary.id}\n      aliasAuthorizationRuleId: ${exampleNamespaceAuthorizationRule.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.ServiceBus` - 2024-01-01\n\n## Import\n\nService Bus DR configs can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:servicebus/namespaceDisasterRecoveryConfig:NamespaceDisasterRecoveryConfig config1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.ServiceBus/namespaces/namespace1/disasterRecoveryConfigs/config1\n```\n\n","properties":{"aliasAuthorizationRuleId":{"type":"string","description":"The Shared access policies used to access the connection string for the alias.\n"},"defaultPrimaryKey":{"type":"string","description":"The primary access key for the authorization rule `RootManageSharedAccessKey`.\n","secret":true},"defaultSecondaryKey":{"type":"string","description":"The secondary access key for the authorization rule `RootManageSharedAccessKey`.\n","secret":true},"name":{"type":"string","description":"Specifies the name of the Disaster Recovery Config. This is the alias DNS name that will be created. Changing this forces a new resource to be created.\n"},"partnerNamespaceId":{"type":"string","description":"The ID of the Service Bus Namespace to replicate to.\n"},"primaryConnectionStringAlias":{"type":"string","description":"The alias Primary Connection String for the ServiceBus Namespace.\n","secret":true},"primaryNamespaceId":{"type":"string","description":"The ID of the primary Service Bus Namespace to replicate. Changing this forces a new resource to be created.\n"},"secondaryConnectionStringAlias":{"type":"string","description":"The alias Secondary Connection String for the ServiceBus Namespace\n","secret":true}},"required":["defaultPrimaryKey","defaultSecondaryKey","name","partnerNamespaceId","primaryConnectionStringAlias","primaryNamespaceId","secondaryConnectionStringAlias"],"inputProperties":{"aliasAuthorizationRuleId":{"type":"string","description":"The Shared access policies used to access the connection string for the alias.\n"},"name":{"type":"string","description":"Specifies the name of the Disaster Recovery Config. This is the alias DNS name that will be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"partnerNamespaceId":{"type":"string","description":"The ID of the Service Bus Namespace to replicate to.\n"},"primaryNamespaceId":{"type":"string","description":"The ID of the primary Service Bus Namespace to replicate. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["partnerNamespaceId","primaryNamespaceId"],"stateInputs":{"description":"Input properties used for looking up and filtering NamespaceDisasterRecoveryConfig resources.\n","properties":{"aliasAuthorizationRuleId":{"type":"string","description":"The Shared access policies used to access the connection string for the alias.\n"},"defaultPrimaryKey":{"type":"string","description":"The primary access key for the authorization rule `RootManageSharedAccessKey`.\n","secret":true},"defaultSecondaryKey":{"type":"string","description":"The secondary access key for the authorization rule `RootManageSharedAccessKey`.\n","secret":true},"name":{"type":"string","description":"Specifies the name of the Disaster Recovery Config. This is the alias DNS name that will be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"partnerNamespaceId":{"type":"string","description":"The ID of the Service Bus Namespace to replicate to.\n"},"primaryConnectionStringAlias":{"type":"string","description":"The alias Primary Connection String for the ServiceBus Namespace.\n","secret":true},"primaryNamespaceId":{"type":"string","description":"The ID of the primary Service Bus Namespace to replicate. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"secondaryConnectionStringAlias":{"type":"string","description":"The alias Secondary Connection String for the ServiceBus Namespace\n","secret":true}},"type":"object"}},"azure:servicebus/queue:Queue":{"description":"Manages a ServiceBus Queue.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"my-servicebus\",\n    location: \"West Europe\",\n});\nconst exampleNamespace = new azure.servicebus.Namespace(\"example\", {\n    name: \"tfex-servicebus-namespace\",\n    location: example.location,\n    resourceGroupName: example.name,\n    sku: \"Standard\",\n    tags: {\n        source: \"example\",\n    },\n});\nconst exampleQueue = new azure.servicebus.Queue(\"example\", {\n    name: \"tfex_servicebus_queue\",\n    namespaceId: exampleNamespace.id,\n    partitioningEnabled: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"my-servicebus\",\n    location=\"West Europe\")\nexample_namespace = azure.servicebus.Namespace(\"example\",\n    name=\"tfex-servicebus-namespace\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku=\"Standard\",\n    tags={\n        \"source\": \"example\",\n    })\nexample_queue = azure.servicebus.Queue(\"example\",\n    name=\"tfex_servicebus_queue\",\n    namespace_id=example_namespace.id,\n    partitioning_enabled=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"my-servicebus\",\n        Location = \"West Europe\",\n    });\n\n    var exampleNamespace = new Azure.ServiceBus.Namespace(\"example\", new()\n    {\n        Name = \"tfex-servicebus-namespace\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Sku = \"Standard\",\n        Tags = \n        {\n            { \"source\", \"example\" },\n        },\n    });\n\n    var exampleQueue = new Azure.ServiceBus.Queue(\"example\", new()\n    {\n        Name = \"tfex_servicebus_queue\",\n        NamespaceId = exampleNamespace.Id,\n        PartitioningEnabled = true,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/servicebus\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"my-servicebus\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNamespace, err := servicebus.NewNamespace(ctx, \"example\", \u0026servicebus.NamespaceArgs{\n\t\t\tName:              pulumi.String(\"tfex-servicebus-namespace\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSku:               pulumi.String(\"Standard\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"source\": pulumi.String(\"example\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = servicebus.NewQueue(ctx, \"example\", \u0026servicebus.QueueArgs{\n\t\t\tName:                pulumi.String(\"tfex_servicebus_queue\"),\n\t\t\tNamespaceId:         exampleNamespace.ID(),\n\t\t\tPartitioningEnabled: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.servicebus.Namespace;\nimport com.pulumi.azure.servicebus.NamespaceArgs;\nimport com.pulumi.azure.servicebus.Queue;\nimport com.pulumi.azure.servicebus.QueueArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"my-servicebus\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleNamespace = new Namespace(\"exampleNamespace\", NamespaceArgs.builder()\n            .name(\"tfex-servicebus-namespace\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .sku(\"Standard\")\n            .tags(Map.of(\"source\", \"example\"))\n            .build());\n\n        var exampleQueue = new Queue(\"exampleQueue\", QueueArgs.builder()\n            .name(\"tfex_servicebus_queue\")\n            .namespaceId(exampleNamespace.id())\n            .partitioningEnabled(true)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: my-servicebus\n      location: West Europe\n  exampleNamespace:\n    type: azure:servicebus:Namespace\n    name: example\n    properties:\n      name: tfex-servicebus-namespace\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      sku: Standard\n      tags:\n        source: example\n  exampleQueue:\n    type: azure:servicebus:Queue\n    name: example\n    properties:\n      name: tfex_servicebus_queue\n      namespaceId: ${exampleNamespace.id}\n      partitioningEnabled: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.ServiceBus` - 2024-01-01\n\n## Import\n\nService Bus Queue can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:servicebus/queue:Queue example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.ServiceBus/namespaces/sbns1/queues/snqueue1\n```\n\n","properties":{"autoDeleteOnIdle":{"type":"string","description":"The ISO 8601 timespan duration of the idle interval after which the Queue is automatically deleted, minimum of 5 minutes.\n"},"batchedOperationsEnabled":{"type":"boolean","description":"Boolean flag which controls whether server-side batched operations are enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"deadLetteringOnMessageExpiration":{"type":"boolean","description":"Boolean flag which controls whether the Queue has dead letter support when a message expires. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"defaultMessageTtl":{"type":"string","description":"The ISO 8601 timespan duration of the TTL of messages sent to this queue. This is the default value used when TTL is not set on message itself.\n"},"duplicateDetectionHistoryTimeWindow":{"type":"string","description":"The ISO 8601 timespan duration during which duplicates can be detected. Defaults to `PT10M` (10 Minutes).\n"},"expressEnabled":{"type":"boolean","description":"Boolean flag which controls whether Express Entities are enabled. An express queue holds a message in memory temporarily before writing it to persistent storage. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e for Basic and Standard. For Premium, it MUST be set to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** Service Bus Premium namespaces do not support Express Entities, so \u003cspan pulumi-lang-nodejs=\"`expressEnabled`\" pulumi-lang-dotnet=\"`ExpressEnabled`\" pulumi-lang-go=\"`expressEnabled`\" pulumi-lang-python=\"`express_enabled`\" pulumi-lang-yaml=\"`expressEnabled`\" pulumi-lang-java=\"`expressEnabled`\"\u003e`express_enabled`\u003c/span\u003e MUST be set to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"forwardDeadLetteredMessagesTo":{"type":"string","description":"The name of a Queue or Topic to automatically forward dead lettered messages to.\n"},"forwardTo":{"type":"string","description":"The name of a Queue or Topic to automatically forward messages to. Please [see the documentation](https://docs.microsoft.com/azure/service-bus-messaging/service-bus-auto-forwarding) for more information.\n"},"lockDuration":{"type":"string","description":"The ISO 8601 timespan duration of a peek-lock; that is, the amount of time that the message is locked for other receivers. Maximum value is 5 minutes. Defaults to `PT1M` (1 Minute).\n"},"maxDeliveryCount":{"type":"integer","description":"Integer value which controls when a message is automatically dead lettered. Defaults to \u003cspan pulumi-lang-nodejs=\"`10`\" pulumi-lang-dotnet=\"`10`\" pulumi-lang-go=\"`10`\" pulumi-lang-python=\"`10`\" pulumi-lang-yaml=\"`10`\" pulumi-lang-java=\"`10`\"\u003e`10`\u003c/span\u003e.\n"},"maxMessageSizeInKilobytes":{"type":"integer","description":"Integer value which controls the maximum size of a message allowed on the queue for Premium SKU. For supported values see the \"Large messages support\" section of [this document](https://docs.microsoft.com/azure/service-bus-messaging/service-bus-premium-messaging#large-messages-support-preview).\n"},"maxSizeInMegabytes":{"type":"integer","description":"Integer value which controls the size of memory allocated for the queue. For supported values see the \"Queue or topic size\" section of [Service Bus Quotas](https://docs.microsoft.com/azure/service-bus-messaging/service-bus-quotas).\n"},"name":{"type":"string","description":"Specifies the name of the ServiceBus Queue resource. Changing this forces a new resource to be created.\n"},"namespaceId":{"type":"string","description":"The ID of the ServiceBus Namespace to create this queue in. Changing this forces a new resource to be created.\n"},"namespaceName":{"type":"string"},"partitioningEnabled":{"type":"boolean","description":"Boolean flag which controls whether to enable the queue to be partitioned across multiple message brokers. Changing this forces a new resource to be created. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e for Basic and Standard.\n\n\u003e **Note:** Partitioning is available at entity creation for all queues and topics in Basic or Standard SKUs. For premium namespace, partitioning is available at namespace creation, and all queues and topics in the partitioned namespace will be partitioned, for the premium namespace that has \u003cspan pulumi-lang-nodejs=\"`premiumMessagingPartitions`\" pulumi-lang-dotnet=\"`PremiumMessagingPartitions`\" pulumi-lang-go=\"`premiumMessagingPartitions`\" pulumi-lang-python=\"`premium_messaging_partitions`\" pulumi-lang-yaml=\"`premiumMessagingPartitions`\" pulumi-lang-java=\"`premiumMessagingPartitions`\"\u003e`premium_messaging_partitions`\u003c/span\u003e sets to \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e, the namespace is not partitioned.\n"},"requiresDuplicateDetection":{"type":"boolean","description":"Boolean flag which controls whether the Queue requires duplicate detection. Changing this forces a new resource to be created. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"requiresSession":{"type":"boolean","description":"Boolean flag which controls whether the Queue requires sessions. This will allow ordered handling of unbounded sequences of related messages. With sessions enabled a queue can guarantee first-in-first-out delivery of messages. Changing this forces a new resource to be created. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"resourceGroupName":{"type":"string"},"status":{"type":"string","description":"The status of the Queue. Possible values are `Active`, `Creating`, `Deleting`, `Disabled`, `ReceiveDisabled`, `Renaming`, `SendDisabled`, `Unknown`. Note that `Restoring` is not accepted. Defaults to `Active`.\n"}},"required":["autoDeleteOnIdle","defaultMessageTtl","maxMessageSizeInKilobytes","maxSizeInMegabytes","name","namespaceId","namespaceName","resourceGroupName"],"inputProperties":{"autoDeleteOnIdle":{"type":"string","description":"The ISO 8601 timespan duration of the idle interval after which the Queue is automatically deleted, minimum of 5 minutes.\n"},"batchedOperationsEnabled":{"type":"boolean","description":"Boolean flag which controls whether server-side batched operations are enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"deadLetteringOnMessageExpiration":{"type":"boolean","description":"Boolean flag which controls whether the Queue has dead letter support when a message expires. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"defaultMessageTtl":{"type":"string","description":"The ISO 8601 timespan duration of the TTL of messages sent to this queue. This is the default value used when TTL is not set on message itself.\n"},"duplicateDetectionHistoryTimeWindow":{"type":"string","description":"The ISO 8601 timespan duration during which duplicates can be detected. Defaults to `PT10M` (10 Minutes).\n"},"expressEnabled":{"type":"boolean","description":"Boolean flag which controls whether Express Entities are enabled. An express queue holds a message in memory temporarily before writing it to persistent storage. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e for Basic and Standard. For Premium, it MUST be set to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** Service Bus Premium namespaces do not support Express Entities, so \u003cspan pulumi-lang-nodejs=\"`expressEnabled`\" pulumi-lang-dotnet=\"`ExpressEnabled`\" pulumi-lang-go=\"`expressEnabled`\" pulumi-lang-python=\"`express_enabled`\" pulumi-lang-yaml=\"`expressEnabled`\" pulumi-lang-java=\"`expressEnabled`\"\u003e`express_enabled`\u003c/span\u003e MUST be set to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"forwardDeadLetteredMessagesTo":{"type":"string","description":"The name of a Queue or Topic to automatically forward dead lettered messages to.\n"},"forwardTo":{"type":"string","description":"The name of a Queue or Topic to automatically forward messages to. Please [see the documentation](https://docs.microsoft.com/azure/service-bus-messaging/service-bus-auto-forwarding) for more information.\n"},"lockDuration":{"type":"string","description":"The ISO 8601 timespan duration of a peek-lock; that is, the amount of time that the message is locked for other receivers. Maximum value is 5 minutes. Defaults to `PT1M` (1 Minute).\n"},"maxDeliveryCount":{"type":"integer","description":"Integer value which controls when a message is automatically dead lettered. Defaults to \u003cspan pulumi-lang-nodejs=\"`10`\" pulumi-lang-dotnet=\"`10`\" pulumi-lang-go=\"`10`\" pulumi-lang-python=\"`10`\" pulumi-lang-yaml=\"`10`\" pulumi-lang-java=\"`10`\"\u003e`10`\u003c/span\u003e.\n"},"maxMessageSizeInKilobytes":{"type":"integer","description":"Integer value which controls the maximum size of a message allowed on the queue for Premium SKU. For supported values see the \"Large messages support\" section of [this document](https://docs.microsoft.com/azure/service-bus-messaging/service-bus-premium-messaging#large-messages-support-preview).\n"},"maxSizeInMegabytes":{"type":"integer","description":"Integer value which controls the size of memory allocated for the queue. For supported values see the \"Queue or topic size\" section of [Service Bus Quotas](https://docs.microsoft.com/azure/service-bus-messaging/service-bus-quotas).\n"},"name":{"type":"string","description":"Specifies the name of the ServiceBus Queue resource. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"namespaceId":{"type":"string","description":"The ID of the ServiceBus Namespace to create this queue in. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"partitioningEnabled":{"type":"boolean","description":"Boolean flag which controls whether to enable the queue to be partitioned across multiple message brokers. Changing this forces a new resource to be created. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e for Basic and Standard.\n\n\u003e **Note:** Partitioning is available at entity creation for all queues and topics in Basic or Standard SKUs. For premium namespace, partitioning is available at namespace creation, and all queues and topics in the partitioned namespace will be partitioned, for the premium namespace that has \u003cspan pulumi-lang-nodejs=\"`premiumMessagingPartitions`\" pulumi-lang-dotnet=\"`PremiumMessagingPartitions`\" pulumi-lang-go=\"`premiumMessagingPartitions`\" pulumi-lang-python=\"`premium_messaging_partitions`\" pulumi-lang-yaml=\"`premiumMessagingPartitions`\" pulumi-lang-java=\"`premiumMessagingPartitions`\"\u003e`premium_messaging_partitions`\u003c/span\u003e sets to \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e, the namespace is not partitioned.\n","willReplaceOnChanges":true},"requiresDuplicateDetection":{"type":"boolean","description":"Boolean flag which controls whether the Queue requires duplicate detection. Changing this forces a new resource to be created. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n","willReplaceOnChanges":true},"requiresSession":{"type":"boolean","description":"Boolean flag which controls whether the Queue requires sessions. This will allow ordered handling of unbounded sequences of related messages. With sessions enabled a queue can guarantee first-in-first-out delivery of messages. Changing this forces a new resource to be created. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n","willReplaceOnChanges":true},"status":{"type":"string","description":"The status of the Queue. Possible values are `Active`, `Creating`, `Deleting`, `Disabled`, `ReceiveDisabled`, `Renaming`, `SendDisabled`, `Unknown`. Note that `Restoring` is not accepted. Defaults to `Active`.\n"}},"requiredInputs":["namespaceId"],"stateInputs":{"description":"Input properties used for looking up and filtering Queue resources.\n","properties":{"autoDeleteOnIdle":{"type":"string","description":"The ISO 8601 timespan duration of the idle interval after which the Queue is automatically deleted, minimum of 5 minutes.\n"},"batchedOperationsEnabled":{"type":"boolean","description":"Boolean flag which controls whether server-side batched operations are enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"deadLetteringOnMessageExpiration":{"type":"boolean","description":"Boolean flag which controls whether the Queue has dead letter support when a message expires. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"defaultMessageTtl":{"type":"string","description":"The ISO 8601 timespan duration of the TTL of messages sent to this queue. This is the default value used when TTL is not set on message itself.\n"},"duplicateDetectionHistoryTimeWindow":{"type":"string","description":"The ISO 8601 timespan duration during which duplicates can be detected. Defaults to `PT10M` (10 Minutes).\n"},"expressEnabled":{"type":"boolean","description":"Boolean flag which controls whether Express Entities are enabled. An express queue holds a message in memory temporarily before writing it to persistent storage. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e for Basic and Standard. For Premium, it MUST be set to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** Service Bus Premium namespaces do not support Express Entities, so \u003cspan pulumi-lang-nodejs=\"`expressEnabled`\" pulumi-lang-dotnet=\"`ExpressEnabled`\" pulumi-lang-go=\"`expressEnabled`\" pulumi-lang-python=\"`express_enabled`\" pulumi-lang-yaml=\"`expressEnabled`\" pulumi-lang-java=\"`expressEnabled`\"\u003e`express_enabled`\u003c/span\u003e MUST be set to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"forwardDeadLetteredMessagesTo":{"type":"string","description":"The name of a Queue or Topic to automatically forward dead lettered messages to.\n"},"forwardTo":{"type":"string","description":"The name of a Queue or Topic to automatically forward messages to. Please [see the documentation](https://docs.microsoft.com/azure/service-bus-messaging/service-bus-auto-forwarding) for more information.\n"},"lockDuration":{"type":"string","description":"The ISO 8601 timespan duration of a peek-lock; that is, the amount of time that the message is locked for other receivers. Maximum value is 5 minutes. Defaults to `PT1M` (1 Minute).\n"},"maxDeliveryCount":{"type":"integer","description":"Integer value which controls when a message is automatically dead lettered. Defaults to \u003cspan pulumi-lang-nodejs=\"`10`\" pulumi-lang-dotnet=\"`10`\" pulumi-lang-go=\"`10`\" pulumi-lang-python=\"`10`\" pulumi-lang-yaml=\"`10`\" pulumi-lang-java=\"`10`\"\u003e`10`\u003c/span\u003e.\n"},"maxMessageSizeInKilobytes":{"type":"integer","description":"Integer value which controls the maximum size of a message allowed on the queue for Premium SKU. For supported values see the \"Large messages support\" section of [this document](https://docs.microsoft.com/azure/service-bus-messaging/service-bus-premium-messaging#large-messages-support-preview).\n"},"maxSizeInMegabytes":{"type":"integer","description":"Integer value which controls the size of memory allocated for the queue. For supported values see the \"Queue or topic size\" section of [Service Bus Quotas](https://docs.microsoft.com/azure/service-bus-messaging/service-bus-quotas).\n"},"name":{"type":"string","description":"Specifies the name of the ServiceBus Queue resource. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"namespaceId":{"type":"string","description":"The ID of the ServiceBus Namespace to create this queue in. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"namespaceName":{"type":"string"},"partitioningEnabled":{"type":"boolean","description":"Boolean flag which controls whether to enable the queue to be partitioned across multiple message brokers. Changing this forces a new resource to be created. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e for Basic and Standard.\n\n\u003e **Note:** Partitioning is available at entity creation for all queues and topics in Basic or Standard SKUs. For premium namespace, partitioning is available at namespace creation, and all queues and topics in the partitioned namespace will be partitioned, for the premium namespace that has \u003cspan pulumi-lang-nodejs=\"`premiumMessagingPartitions`\" pulumi-lang-dotnet=\"`PremiumMessagingPartitions`\" pulumi-lang-go=\"`premiumMessagingPartitions`\" pulumi-lang-python=\"`premium_messaging_partitions`\" pulumi-lang-yaml=\"`premiumMessagingPartitions`\" pulumi-lang-java=\"`premiumMessagingPartitions`\"\u003e`premium_messaging_partitions`\u003c/span\u003e sets to \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e, the namespace is not partitioned.\n","willReplaceOnChanges":true},"requiresDuplicateDetection":{"type":"boolean","description":"Boolean flag which controls whether the Queue requires duplicate detection. Changing this forces a new resource to be created. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n","willReplaceOnChanges":true},"requiresSession":{"type":"boolean","description":"Boolean flag which controls whether the Queue requires sessions. This will allow ordered handling of unbounded sequences of related messages. With sessions enabled a queue can guarantee first-in-first-out delivery of messages. Changing this forces a new resource to be created. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string"},"status":{"type":"string","description":"The status of the Queue. Possible values are `Active`, `Creating`, `Deleting`, `Disabled`, `ReceiveDisabled`, `Renaming`, `SendDisabled`, `Unknown`. Note that `Restoring` is not accepted. Defaults to `Active`.\n"}},"type":"object"},"aliases":[{"type":"azure:eventhub/queue:Queue"}]},"azure:servicebus/queueAuthorizationRule:QueueAuthorizationRule":{"description":"Manages an Authorization Rule for a ServiceBus Queue.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"my-servicebus\",\n    location: \"West US\",\n});\nconst exampleNamespace = new azure.servicebus.Namespace(\"example\", {\n    name: \"tfex-servicebus-namespace\",\n    location: example.location,\n    resourceGroupName: example.name,\n    sku: \"Standard\",\n    tags: {\n        source: \"example\",\n    },\n});\nconst exampleQueue = new azure.servicebus.Queue(\"example\", {\n    name: \"tfex_servicebus_queue\",\n    namespaceId: exampleNamespace.id,\n    enablePartitioning: true,\n});\nconst exampleQueueAuthorizationRule = new azure.servicebus.QueueAuthorizationRule(\"example\", {\n    name: \"examplerule\",\n    queueId: exampleQueue.id,\n    listen: true,\n    send: true,\n    manage: false,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"my-servicebus\",\n    location=\"West US\")\nexample_namespace = azure.servicebus.Namespace(\"example\",\n    name=\"tfex-servicebus-namespace\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku=\"Standard\",\n    tags={\n        \"source\": \"example\",\n    })\nexample_queue = azure.servicebus.Queue(\"example\",\n    name=\"tfex_servicebus_queue\",\n    namespace_id=example_namespace.id,\n    enable_partitioning=True)\nexample_queue_authorization_rule = azure.servicebus.QueueAuthorizationRule(\"example\",\n    name=\"examplerule\",\n    queue_id=example_queue.id,\n    listen=True,\n    send=True,\n    manage=False)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"my-servicebus\",\n        Location = \"West US\",\n    });\n\n    var exampleNamespace = new Azure.ServiceBus.Namespace(\"example\", new()\n    {\n        Name = \"tfex-servicebus-namespace\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Sku = \"Standard\",\n        Tags = \n        {\n            { \"source\", \"example\" },\n        },\n    });\n\n    var exampleQueue = new Azure.ServiceBus.Queue(\"example\", new()\n    {\n        Name = \"tfex_servicebus_queue\",\n        NamespaceId = exampleNamespace.Id,\n        EnablePartitioning = true,\n    });\n\n    var exampleQueueAuthorizationRule = new Azure.ServiceBus.QueueAuthorizationRule(\"example\", new()\n    {\n        Name = \"examplerule\",\n        QueueId = exampleQueue.Id,\n        Listen = true,\n        Send = true,\n        Manage = false,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/servicebus\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"my-servicebus\"),\n\t\t\tLocation: pulumi.String(\"West US\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNamespace, err := servicebus.NewNamespace(ctx, \"example\", \u0026servicebus.NamespaceArgs{\n\t\t\tName:              pulumi.String(\"tfex-servicebus-namespace\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSku:               pulumi.String(\"Standard\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"source\": pulumi.String(\"example\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleQueue, err := servicebus.NewQueue(ctx, \"example\", \u0026servicebus.QueueArgs{\n\t\t\tName:               pulumi.String(\"tfex_servicebus_queue\"),\n\t\t\tNamespaceId:        exampleNamespace.ID(),\n\t\t\tEnablePartitioning: true,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = servicebus.NewQueueAuthorizationRule(ctx, \"example\", \u0026servicebus.QueueAuthorizationRuleArgs{\n\t\t\tName:    pulumi.String(\"examplerule\"),\n\t\t\tQueueId: exampleQueue.ID(),\n\t\t\tListen:  pulumi.Bool(true),\n\t\t\tSend:    pulumi.Bool(true),\n\t\t\tManage:  pulumi.Bool(false),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.servicebus.Namespace;\nimport com.pulumi.azure.servicebus.NamespaceArgs;\nimport com.pulumi.azure.servicebus.Queue;\nimport com.pulumi.azure.servicebus.QueueArgs;\nimport com.pulumi.azure.servicebus.QueueAuthorizationRule;\nimport com.pulumi.azure.servicebus.QueueAuthorizationRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"my-servicebus\")\n            .location(\"West US\")\n            .build());\n\n        var exampleNamespace = new Namespace(\"exampleNamespace\", NamespaceArgs.builder()\n            .name(\"tfex-servicebus-namespace\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .sku(\"Standard\")\n            .tags(Map.of(\"source\", \"example\"))\n            .build());\n\n        var exampleQueue = new Queue(\"exampleQueue\", QueueArgs.builder()\n            .name(\"tfex_servicebus_queue\")\n            .namespaceId(exampleNamespace.id())\n            .enablePartitioning(true)\n            .build());\n\n        var exampleQueueAuthorizationRule = new QueueAuthorizationRule(\"exampleQueueAuthorizationRule\", QueueAuthorizationRuleArgs.builder()\n            .name(\"examplerule\")\n            .queueId(exampleQueue.id())\n            .listen(true)\n            .send(true)\n            .manage(false)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: my-servicebus\n      location: West US\n  exampleNamespace:\n    type: azure:servicebus:Namespace\n    name: example\n    properties:\n      name: tfex-servicebus-namespace\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      sku: Standard\n      tags:\n        source: example\n  exampleQueue:\n    type: azure:servicebus:Queue\n    name: example\n    properties:\n      name: tfex_servicebus_queue\n      namespaceId: ${exampleNamespace.id}\n      enablePartitioning: true\n  exampleQueueAuthorizationRule:\n    type: azure:servicebus:QueueAuthorizationRule\n    name: example\n    properties:\n      name: examplerule\n      queueId: ${exampleQueue.id}\n      listen: true\n      send: true\n      manage: false\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.ServiceBus` - 2024-01-01\n\n## Import\n\nServiceBus Queue Authorization Rules can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:servicebus/queueAuthorizationRule:QueueAuthorizationRule rule1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.ServiceBus/namespaces/namespace1/queues/queue1/authorizationRules/rule1\n```\n\n","properties":{"listen":{"type":"boolean","description":"Does this Authorization Rule have Listen permissions to the ServiceBus Queue? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"manage":{"type":"boolean","description":"Does this Authorization Rule have Manage permissions to the ServiceBus Queue? When this property is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e - both \u003cspan pulumi-lang-nodejs=\"`listen`\" pulumi-lang-dotnet=\"`Listen`\" pulumi-lang-go=\"`listen`\" pulumi-lang-python=\"`listen`\" pulumi-lang-yaml=\"`listen`\" pulumi-lang-java=\"`listen`\"\u003e`listen`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`send`\" pulumi-lang-dotnet=\"`Send`\" pulumi-lang-go=\"`send`\" pulumi-lang-python=\"`send`\" pulumi-lang-yaml=\"`send`\" pulumi-lang-java=\"`send`\"\u003e`send`\u003c/span\u003e must be too. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"name":{"type":"string","description":"Specifies the name of the Authorization Rule. Changing this forces a new resource to be created.\n"},"primaryConnectionString":{"type":"string","description":"The Primary Connection String for the Authorization Rule.\n","secret":true},"primaryConnectionStringAlias":{"type":"string","description":"The alias Primary Connection String for the ServiceBus Namespace, if the namespace is Geo DR paired.\n","secret":true},"primaryKey":{"type":"string","description":"The Primary Key for the Authorization Rule.\n","secret":true},"queueId":{"type":"string","description":"Specifies the ID of the ServiceBus Queue. Changing this forces a new resource to be created.\n\n\u003e **Note:** At least one of the 3 permissions below needs to be set.\n"},"secondaryConnectionString":{"type":"string","description":"The Secondary Connection String for the Authorization Rule.\n","secret":true},"secondaryConnectionStringAlias":{"type":"string","description":"The alias Secondary Connection String for the ServiceBus Namespace\n","secret":true},"secondaryKey":{"type":"string","description":"The Secondary Key for the Authorization Rule.\n","secret":true},"send":{"type":"boolean","description":"Does this Authorization Rule have Send permissions to the ServiceBus Queue? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"}},"required":["name","primaryConnectionString","primaryConnectionStringAlias","primaryKey","queueId","secondaryConnectionString","secondaryConnectionStringAlias","secondaryKey"],"inputProperties":{"listen":{"type":"boolean","description":"Does this Authorization Rule have Listen permissions to the ServiceBus Queue? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"manage":{"type":"boolean","description":"Does this Authorization Rule have Manage permissions to the ServiceBus Queue? When this property is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e - both \u003cspan pulumi-lang-nodejs=\"`listen`\" pulumi-lang-dotnet=\"`Listen`\" pulumi-lang-go=\"`listen`\" pulumi-lang-python=\"`listen`\" pulumi-lang-yaml=\"`listen`\" pulumi-lang-java=\"`listen`\"\u003e`listen`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`send`\" pulumi-lang-dotnet=\"`Send`\" pulumi-lang-go=\"`send`\" pulumi-lang-python=\"`send`\" pulumi-lang-yaml=\"`send`\" pulumi-lang-java=\"`send`\"\u003e`send`\u003c/span\u003e must be too. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"name":{"type":"string","description":"Specifies the name of the Authorization Rule. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"queueId":{"type":"string","description":"Specifies the ID of the ServiceBus Queue. Changing this forces a new resource to be created.\n\n\u003e **Note:** At least one of the 3 permissions below needs to be set.\n","willReplaceOnChanges":true},"send":{"type":"boolean","description":"Does this Authorization Rule have Send permissions to the ServiceBus Queue? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"}},"requiredInputs":["queueId"],"stateInputs":{"description":"Input properties used for looking up and filtering QueueAuthorizationRule resources.\n","properties":{"listen":{"type":"boolean","description":"Does this Authorization Rule have Listen permissions to the ServiceBus Queue? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"manage":{"type":"boolean","description":"Does this Authorization Rule have Manage permissions to the ServiceBus Queue? When this property is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e - both \u003cspan pulumi-lang-nodejs=\"`listen`\" pulumi-lang-dotnet=\"`Listen`\" pulumi-lang-go=\"`listen`\" pulumi-lang-python=\"`listen`\" pulumi-lang-yaml=\"`listen`\" pulumi-lang-java=\"`listen`\"\u003e`listen`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`send`\" pulumi-lang-dotnet=\"`Send`\" pulumi-lang-go=\"`send`\" pulumi-lang-python=\"`send`\" pulumi-lang-yaml=\"`send`\" pulumi-lang-java=\"`send`\"\u003e`send`\u003c/span\u003e must be too. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"name":{"type":"string","description":"Specifies the name of the Authorization Rule. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"primaryConnectionString":{"type":"string","description":"The Primary Connection String for the Authorization Rule.\n","secret":true},"primaryConnectionStringAlias":{"type":"string","description":"The alias Primary Connection String for the ServiceBus Namespace, if the namespace is Geo DR paired.\n","secret":true},"primaryKey":{"type":"string","description":"The Primary Key for the Authorization Rule.\n","secret":true},"queueId":{"type":"string","description":"Specifies the ID of the ServiceBus Queue. Changing this forces a new resource to be created.\n\n\u003e **Note:** At least one of the 3 permissions below needs to be set.\n","willReplaceOnChanges":true},"secondaryConnectionString":{"type":"string","description":"The Secondary Connection String for the Authorization Rule.\n","secret":true},"secondaryConnectionStringAlias":{"type":"string","description":"The alias Secondary Connection String for the ServiceBus Namespace\n","secret":true},"secondaryKey":{"type":"string","description":"The Secondary Key for the Authorization Rule.\n","secret":true},"send":{"type":"boolean","description":"Does this Authorization Rule have Send permissions to the ServiceBus Queue? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"}},"type":"object"},"aliases":[{"type":"azure:eventhub/queueAuthorizationRule:QueueAuthorizationRule"}]},"azure:servicebus/subscription:Subscription":{"description":"Manages a ServiceBus Subscription.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"tfex-servicebus-subscription\",\n    location: \"West Europe\",\n});\nconst exampleNamespace = new azure.servicebus.Namespace(\"example\", {\n    name: \"tfex-servicebus-namespace\",\n    location: example.location,\n    resourceGroupName: example.name,\n    sku: \"Standard\",\n    tags: {\n        source: \"example\",\n    },\n});\nconst exampleTopic = new azure.servicebus.Topic(\"example\", {\n    name: \"tfex_servicebus_topic\",\n    namespaceId: exampleNamespace.id,\n    partitioningEnabled: true,\n});\nconst exampleSubscription = new azure.servicebus.Subscription(\"example\", {\n    name: \"tfex_servicebus_subscription\",\n    topicId: exampleTopic.id,\n    maxDeliveryCount: 1,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"tfex-servicebus-subscription\",\n    location=\"West Europe\")\nexample_namespace = azure.servicebus.Namespace(\"example\",\n    name=\"tfex-servicebus-namespace\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku=\"Standard\",\n    tags={\n        \"source\": \"example\",\n    })\nexample_topic = azure.servicebus.Topic(\"example\",\n    name=\"tfex_servicebus_topic\",\n    namespace_id=example_namespace.id,\n    partitioning_enabled=True)\nexample_subscription = azure.servicebus.Subscription(\"example\",\n    name=\"tfex_servicebus_subscription\",\n    topic_id=example_topic.id,\n    max_delivery_count=1)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"tfex-servicebus-subscription\",\n        Location = \"West Europe\",\n    });\n\n    var exampleNamespace = new Azure.ServiceBus.Namespace(\"example\", new()\n    {\n        Name = \"tfex-servicebus-namespace\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Sku = \"Standard\",\n        Tags = \n        {\n            { \"source\", \"example\" },\n        },\n    });\n\n    var exampleTopic = new Azure.ServiceBus.Topic(\"example\", new()\n    {\n        Name = \"tfex_servicebus_topic\",\n        NamespaceId = exampleNamespace.Id,\n        PartitioningEnabled = true,\n    });\n\n    var exampleSubscription = new Azure.ServiceBus.Subscription(\"example\", new()\n    {\n        Name = \"tfex_servicebus_subscription\",\n        TopicId = exampleTopic.Id,\n        MaxDeliveryCount = 1,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/servicebus\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"tfex-servicebus-subscription\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNamespace, err := servicebus.NewNamespace(ctx, \"example\", \u0026servicebus.NamespaceArgs{\n\t\t\tName:              pulumi.String(\"tfex-servicebus-namespace\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSku:               pulumi.String(\"Standard\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"source\": pulumi.String(\"example\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleTopic, err := servicebus.NewTopic(ctx, \"example\", \u0026servicebus.TopicArgs{\n\t\t\tName:                pulumi.String(\"tfex_servicebus_topic\"),\n\t\t\tNamespaceId:         exampleNamespace.ID(),\n\t\t\tPartitioningEnabled: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = servicebus.NewSubscription(ctx, \"example\", \u0026servicebus.SubscriptionArgs{\n\t\t\tName:             pulumi.String(\"tfex_servicebus_subscription\"),\n\t\t\tTopicId:          exampleTopic.ID(),\n\t\t\tMaxDeliveryCount: pulumi.Int(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.servicebus.Namespace;\nimport com.pulumi.azure.servicebus.NamespaceArgs;\nimport com.pulumi.azure.servicebus.Topic;\nimport com.pulumi.azure.servicebus.TopicArgs;\nimport com.pulumi.azure.servicebus.Subscription;\nimport com.pulumi.azure.servicebus.SubscriptionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"tfex-servicebus-subscription\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleNamespace = new Namespace(\"exampleNamespace\", NamespaceArgs.builder()\n            .name(\"tfex-servicebus-namespace\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .sku(\"Standard\")\n            .tags(Map.of(\"source\", \"example\"))\n            .build());\n\n        var exampleTopic = new Topic(\"exampleTopic\", TopicArgs.builder()\n            .name(\"tfex_servicebus_topic\")\n            .namespaceId(exampleNamespace.id())\n            .partitioningEnabled(true)\n            .build());\n\n        var exampleSubscription = new Subscription(\"exampleSubscription\", SubscriptionArgs.builder()\n            .name(\"tfex_servicebus_subscription\")\n            .topicId(exampleTopic.id())\n            .maxDeliveryCount(1)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: tfex-servicebus-subscription\n      location: West Europe\n  exampleNamespace:\n    type: azure:servicebus:Namespace\n    name: example\n    properties:\n      name: tfex-servicebus-namespace\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      sku: Standard\n      tags:\n        source: example\n  exampleTopic:\n    type: azure:servicebus:Topic\n    name: example\n    properties:\n      name: tfex_servicebus_topic\n      namespaceId: ${exampleNamespace.id}\n      partitioningEnabled: true\n  exampleSubscription:\n    type: azure:servicebus:Subscription\n    name: example\n    properties:\n      name: tfex_servicebus_subscription\n      topicId: ${exampleTopic.id}\n      maxDeliveryCount: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.ServiceBus` - 2024-01-01\n\n## Import\n\nService Bus Subscriptions can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:servicebus/subscription:Subscription example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.ServiceBus/namespaces/sbns1/topics/sntopic1/subscriptions/sbsub1\n```\n\n","properties":{"autoDeleteOnIdle":{"type":"string","description":"The idle interval after which the topic is automatically deleted as an [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations). The minimum duration is \u003cspan pulumi-lang-nodejs=\"`5`\" pulumi-lang-dotnet=\"`5`\" pulumi-lang-go=\"`5`\" pulumi-lang-python=\"`5`\" pulumi-lang-yaml=\"`5`\" pulumi-lang-java=\"`5`\"\u003e`5`\u003c/span\u003e minutes or `PT5M`. Defaults to `P10675199DT2H48M5.4775807S`.\n"},"batchedOperationsEnabled":{"type":"boolean","description":"Boolean flag which controls whether the Subscription supports batched operations.\n"},"clientScopedSubscription":{"$ref":"#/types/azure:servicebus/SubscriptionClientScopedSubscription:SubscriptionClientScopedSubscription","description":"A \u003cspan pulumi-lang-nodejs=\"`clientScopedSubscription`\" pulumi-lang-dotnet=\"`ClientScopedSubscription`\" pulumi-lang-go=\"`clientScopedSubscription`\" pulumi-lang-python=\"`client_scoped_subscription`\" pulumi-lang-yaml=\"`clientScopedSubscription`\" pulumi-lang-java=\"`clientScopedSubscription`\"\u003e`client_scoped_subscription`\u003c/span\u003e block as defined below.\n"},"clientScopedSubscriptionEnabled":{"type":"boolean","description":"whether the subscription is scoped to a client id. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** Client Scoped Subscription can only be used for JMS subscription (Java Message Service).\n"},"deadLetteringOnFilterEvaluationError":{"type":"boolean","description":"Boolean flag which controls whether the Subscription has dead letter support on filter evaluation exceptions. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"deadLetteringOnMessageExpiration":{"type":"boolean","description":"Boolean flag which controls whether the Subscription has dead letter support when a message expires.\n"},"defaultMessageTtl":{"type":"string","description":"The Default message timespan to live as an [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations). This is the duration after which the message expires, starting from when the message is sent to Service Bus. This is the value used when TimeToLive is not set on a message itself. Defaults to `P10675199DT2H48M5.4775807S`.\n"},"forwardDeadLetteredMessagesTo":{"type":"string","description":"The name of a Queue or Topic to automatically forward Dead Letter messages to.\n"},"forwardTo":{"type":"string","description":"The name of a Queue or Topic to automatically forward messages to.\n"},"lockDuration":{"type":"string","description":"The lock duration for the subscription as an [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations). Defaults to `PT1M`.\n"},"maxDeliveryCount":{"type":"integer","description":"The maximum number of deliveries.\n"},"name":{"type":"string","description":"Specifies the name of the ServiceBus Subscription resource. Changing this forces a new resource to be created.\n"},"requiresSession":{"type":"boolean","description":"Boolean flag which controls whether this Subscription supports the concept of a session. Changing this forces a new resource to be created.\n"},"status":{"type":"string","description":"The status of the Subscription. Possible values are `Active`,`ReceiveDisabled`, or `Disabled`. Defaults to `Active`.\n"},"topicId":{"type":"string","description":"The ID of the ServiceBus Topic to create this Subscription in. Changing this forces a new resource to be created.\n"}},"required":["maxDeliveryCount","name","topicId"],"inputProperties":{"autoDeleteOnIdle":{"type":"string","description":"The idle interval after which the topic is automatically deleted as an [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations). The minimum duration is \u003cspan pulumi-lang-nodejs=\"`5`\" pulumi-lang-dotnet=\"`5`\" pulumi-lang-go=\"`5`\" pulumi-lang-python=\"`5`\" pulumi-lang-yaml=\"`5`\" pulumi-lang-java=\"`5`\"\u003e`5`\u003c/span\u003e minutes or `PT5M`. Defaults to `P10675199DT2H48M5.4775807S`.\n"},"batchedOperationsEnabled":{"type":"boolean","description":"Boolean flag which controls whether the Subscription supports batched operations.\n"},"clientScopedSubscription":{"$ref":"#/types/azure:servicebus/SubscriptionClientScopedSubscription:SubscriptionClientScopedSubscription","description":"A \u003cspan pulumi-lang-nodejs=\"`clientScopedSubscription`\" pulumi-lang-dotnet=\"`ClientScopedSubscription`\" pulumi-lang-go=\"`clientScopedSubscription`\" pulumi-lang-python=\"`client_scoped_subscription`\" pulumi-lang-yaml=\"`clientScopedSubscription`\" pulumi-lang-java=\"`clientScopedSubscription`\"\u003e`client_scoped_subscription`\u003c/span\u003e block as defined below.\n"},"clientScopedSubscriptionEnabled":{"type":"boolean","description":"whether the subscription is scoped to a client id. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** Client Scoped Subscription can only be used for JMS subscription (Java Message Service).\n"},"deadLetteringOnFilterEvaluationError":{"type":"boolean","description":"Boolean flag which controls whether the Subscription has dead letter support on filter evaluation exceptions. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"deadLetteringOnMessageExpiration":{"type":"boolean","description":"Boolean flag which controls whether the Subscription has dead letter support when a message expires.\n"},"defaultMessageTtl":{"type":"string","description":"The Default message timespan to live as an [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations). This is the duration after which the message expires, starting from when the message is sent to Service Bus. This is the value used when TimeToLive is not set on a message itself. Defaults to `P10675199DT2H48M5.4775807S`.\n"},"forwardDeadLetteredMessagesTo":{"type":"string","description":"The name of a Queue or Topic to automatically forward Dead Letter messages to.\n"},"forwardTo":{"type":"string","description":"The name of a Queue or Topic to automatically forward messages to.\n"},"lockDuration":{"type":"string","description":"The lock duration for the subscription as an [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations). Defaults to `PT1M`.\n"},"maxDeliveryCount":{"type":"integer","description":"The maximum number of deliveries.\n"},"name":{"type":"string","description":"Specifies the name of the ServiceBus Subscription resource. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"requiresSession":{"type":"boolean","description":"Boolean flag which controls whether this Subscription supports the concept of a session. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"status":{"type":"string","description":"The status of the Subscription. Possible values are `Active`,`ReceiveDisabled`, or `Disabled`. Defaults to `Active`.\n"},"topicId":{"type":"string","description":"The ID of the ServiceBus Topic to create this Subscription in. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["maxDeliveryCount","topicId"],"stateInputs":{"description":"Input properties used for looking up and filtering Subscription resources.\n","properties":{"autoDeleteOnIdle":{"type":"string","description":"The idle interval after which the topic is automatically deleted as an [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations). The minimum duration is \u003cspan pulumi-lang-nodejs=\"`5`\" pulumi-lang-dotnet=\"`5`\" pulumi-lang-go=\"`5`\" pulumi-lang-python=\"`5`\" pulumi-lang-yaml=\"`5`\" pulumi-lang-java=\"`5`\"\u003e`5`\u003c/span\u003e minutes or `PT5M`. Defaults to `P10675199DT2H48M5.4775807S`.\n"},"batchedOperationsEnabled":{"type":"boolean","description":"Boolean flag which controls whether the Subscription supports batched operations.\n"},"clientScopedSubscription":{"$ref":"#/types/azure:servicebus/SubscriptionClientScopedSubscription:SubscriptionClientScopedSubscription","description":"A \u003cspan pulumi-lang-nodejs=\"`clientScopedSubscription`\" pulumi-lang-dotnet=\"`ClientScopedSubscription`\" pulumi-lang-go=\"`clientScopedSubscription`\" pulumi-lang-python=\"`client_scoped_subscription`\" pulumi-lang-yaml=\"`clientScopedSubscription`\" pulumi-lang-java=\"`clientScopedSubscription`\"\u003e`client_scoped_subscription`\u003c/span\u003e block as defined below.\n"},"clientScopedSubscriptionEnabled":{"type":"boolean","description":"whether the subscription is scoped to a client id. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** Client Scoped Subscription can only be used for JMS subscription (Java Message Service).\n"},"deadLetteringOnFilterEvaluationError":{"type":"boolean","description":"Boolean flag which controls whether the Subscription has dead letter support on filter evaluation exceptions. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"deadLetteringOnMessageExpiration":{"type":"boolean","description":"Boolean flag which controls whether the Subscription has dead letter support when a message expires.\n"},"defaultMessageTtl":{"type":"string","description":"The Default message timespan to live as an [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations). This is the duration after which the message expires, starting from when the message is sent to Service Bus. This is the value used when TimeToLive is not set on a message itself. Defaults to `P10675199DT2H48M5.4775807S`.\n"},"forwardDeadLetteredMessagesTo":{"type":"string","description":"The name of a Queue or Topic to automatically forward Dead Letter messages to.\n"},"forwardTo":{"type":"string","description":"The name of a Queue or Topic to automatically forward messages to.\n"},"lockDuration":{"type":"string","description":"The lock duration for the subscription as an [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations). Defaults to `PT1M`.\n"},"maxDeliveryCount":{"type":"integer","description":"The maximum number of deliveries.\n"},"name":{"type":"string","description":"Specifies the name of the ServiceBus Subscription resource. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"requiresSession":{"type":"boolean","description":"Boolean flag which controls whether this Subscription supports the concept of a session. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"status":{"type":"string","description":"The status of the Subscription. Possible values are `Active`,`ReceiveDisabled`, or `Disabled`. Defaults to `Active`.\n"},"topicId":{"type":"string","description":"The ID of the ServiceBus Topic to create this Subscription in. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"},"aliases":[{"type":"azure:eventhub/subscription:Subscription"}]},"azure:servicebus/subscriptionRule:SubscriptionRule":{"description":"Manages a ServiceBus Subscription Rule.\n\n## Example Usage\n\n### SQL Filter)\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"tfex-servicebus-subscription-rule-sql\",\n    location: \"West Europe\",\n});\nconst exampleNamespace = new azure.servicebus.Namespace(\"example\", {\n    name: \"tfex-servicebus-namespace\",\n    location: example.location,\n    resourceGroupName: example.name,\n    sku: \"Standard\",\n    tags: {\n        source: \"example\",\n    },\n});\nconst exampleTopic = new azure.servicebus.Topic(\"example\", {\n    name: \"tfex_servicebus_topic\",\n    namespaceId: exampleNamespace.id,\n    enablePartitioning: true,\n});\nconst exampleSubscription = new azure.servicebus.Subscription(\"example\", {\n    name: \"tfex_servicebus_subscription\",\n    topicId: exampleTopic.id,\n    maxDeliveryCount: 1,\n});\nconst exampleSubscriptionRule = new azure.servicebus.SubscriptionRule(\"example\", {\n    name: \"tfex_servicebus_rule\",\n    subscriptionId: exampleSubscription.id,\n    filterType: \"SqlFilter\",\n    sqlFilter: \"colour = 'red'\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"tfex-servicebus-subscription-rule-sql\",\n    location=\"West Europe\")\nexample_namespace = azure.servicebus.Namespace(\"example\",\n    name=\"tfex-servicebus-namespace\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku=\"Standard\",\n    tags={\n        \"source\": \"example\",\n    })\nexample_topic = azure.servicebus.Topic(\"example\",\n    name=\"tfex_servicebus_topic\",\n    namespace_id=example_namespace.id,\n    enable_partitioning=True)\nexample_subscription = azure.servicebus.Subscription(\"example\",\n    name=\"tfex_servicebus_subscription\",\n    topic_id=example_topic.id,\n    max_delivery_count=1)\nexample_subscription_rule = azure.servicebus.SubscriptionRule(\"example\",\n    name=\"tfex_servicebus_rule\",\n    subscription_id=example_subscription.id,\n    filter_type=\"SqlFilter\",\n    sql_filter=\"colour = 'red'\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"tfex-servicebus-subscription-rule-sql\",\n        Location = \"West Europe\",\n    });\n\n    var exampleNamespace = new Azure.ServiceBus.Namespace(\"example\", new()\n    {\n        Name = \"tfex-servicebus-namespace\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Sku = \"Standard\",\n        Tags = \n        {\n            { \"source\", \"example\" },\n        },\n    });\n\n    var exampleTopic = new Azure.ServiceBus.Topic(\"example\", new()\n    {\n        Name = \"tfex_servicebus_topic\",\n        NamespaceId = exampleNamespace.Id,\n        EnablePartitioning = true,\n    });\n\n    var exampleSubscription = new Azure.ServiceBus.Subscription(\"example\", new()\n    {\n        Name = \"tfex_servicebus_subscription\",\n        TopicId = exampleTopic.Id,\n        MaxDeliveryCount = 1,\n    });\n\n    var exampleSubscriptionRule = new Azure.ServiceBus.SubscriptionRule(\"example\", new()\n    {\n        Name = \"tfex_servicebus_rule\",\n        SubscriptionId = exampleSubscription.Id,\n        FilterType = \"SqlFilter\",\n        SqlFilter = \"colour = 'red'\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/servicebus\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"tfex-servicebus-subscription-rule-sql\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNamespace, err := servicebus.NewNamespace(ctx, \"example\", \u0026servicebus.NamespaceArgs{\n\t\t\tName:              pulumi.String(\"tfex-servicebus-namespace\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSku:               pulumi.String(\"Standard\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"source\": pulumi.String(\"example\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleTopic, err := servicebus.NewTopic(ctx, \"example\", \u0026servicebus.TopicArgs{\n\t\t\tName:               pulumi.String(\"tfex_servicebus_topic\"),\n\t\t\tNamespaceId:        exampleNamespace.ID(),\n\t\t\tEnablePartitioning: true,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSubscription, err := servicebus.NewSubscription(ctx, \"example\", \u0026servicebus.SubscriptionArgs{\n\t\t\tName:             pulumi.String(\"tfex_servicebus_subscription\"),\n\t\t\tTopicId:          exampleTopic.ID(),\n\t\t\tMaxDeliveryCount: pulumi.Int(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = servicebus.NewSubscriptionRule(ctx, \"example\", \u0026servicebus.SubscriptionRuleArgs{\n\t\t\tName:           pulumi.String(\"tfex_servicebus_rule\"),\n\t\t\tSubscriptionId: exampleSubscription.ID(),\n\t\t\tFilterType:     pulumi.String(\"SqlFilter\"),\n\t\t\tSqlFilter:      pulumi.String(\"colour = 'red'\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.servicebus.Namespace;\nimport com.pulumi.azure.servicebus.NamespaceArgs;\nimport com.pulumi.azure.servicebus.Topic;\nimport com.pulumi.azure.servicebus.TopicArgs;\nimport com.pulumi.azure.servicebus.Subscription;\nimport com.pulumi.azure.servicebus.SubscriptionArgs;\nimport com.pulumi.azure.servicebus.SubscriptionRule;\nimport com.pulumi.azure.servicebus.SubscriptionRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"tfex-servicebus-subscription-rule-sql\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleNamespace = new Namespace(\"exampleNamespace\", NamespaceArgs.builder()\n            .name(\"tfex-servicebus-namespace\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .sku(\"Standard\")\n            .tags(Map.of(\"source\", \"example\"))\n            .build());\n\n        var exampleTopic = new Topic(\"exampleTopic\", TopicArgs.builder()\n            .name(\"tfex_servicebus_topic\")\n            .namespaceId(exampleNamespace.id())\n            .enablePartitioning(true)\n            .build());\n\n        var exampleSubscription = new Subscription(\"exampleSubscription\", SubscriptionArgs.builder()\n            .name(\"tfex_servicebus_subscription\")\n            .topicId(exampleTopic.id())\n            .maxDeliveryCount(1)\n            .build());\n\n        var exampleSubscriptionRule = new SubscriptionRule(\"exampleSubscriptionRule\", SubscriptionRuleArgs.builder()\n            .name(\"tfex_servicebus_rule\")\n            .subscriptionId(exampleSubscription.id())\n            .filterType(\"SqlFilter\")\n            .sqlFilter(\"colour = 'red'\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: tfex-servicebus-subscription-rule-sql\n      location: West Europe\n  exampleNamespace:\n    type: azure:servicebus:Namespace\n    name: example\n    properties:\n      name: tfex-servicebus-namespace\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      sku: Standard\n      tags:\n        source: example\n  exampleTopic:\n    type: azure:servicebus:Topic\n    name: example\n    properties:\n      name: tfex_servicebus_topic\n      namespaceId: ${exampleNamespace.id}\n      enablePartitioning: true\n  exampleSubscription:\n    type: azure:servicebus:Subscription\n    name: example\n    properties:\n      name: tfex_servicebus_subscription\n      topicId: ${exampleTopic.id}\n      maxDeliveryCount: 1\n  exampleSubscriptionRule:\n    type: azure:servicebus:SubscriptionRule\n    name: example\n    properties:\n      name: tfex_servicebus_rule\n      subscriptionId: ${exampleSubscription.id}\n      filterType: SqlFilter\n      sqlFilter: colour = 'red'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\n### Correlation Filter)\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"tfex-servicebus-subscription-rule-cor\",\n    location: \"West Europe\",\n});\nconst exampleNamespace = new azure.servicebus.Namespace(\"example\", {\n    name: \"tfex-servicebus-namespace\",\n    location: example.location,\n    resourceGroupName: example.name,\n    sku: \"Standard\",\n    tags: {\n        source: \"example\",\n    },\n});\nconst exampleTopic = new azure.servicebus.Topic(\"example\", {\n    name: \"tfex_servicebus_topic\",\n    namespaceId: exampleNamespace.id,\n    enablePartitioning: true,\n});\nconst exampleSubscription = new azure.servicebus.Subscription(\"example\", {\n    name: \"tfex_servicebus_subscription\",\n    topicId: exampleTopic.id,\n    maxDeliveryCount: 1,\n});\nconst exampleSubscriptionRule = new azure.servicebus.SubscriptionRule(\"example\", {\n    name: \"tfex_servicebus_rule\",\n    subscriptionId: exampleSubscription.id,\n    filterType: \"CorrelationFilter\",\n    correlationFilter: {\n        correlationId: \"high\",\n        label: \"red\",\n        properties: {\n            customProperty: \"value\",\n        },\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"tfex-servicebus-subscription-rule-cor\",\n    location=\"West Europe\")\nexample_namespace = azure.servicebus.Namespace(\"example\",\n    name=\"tfex-servicebus-namespace\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku=\"Standard\",\n    tags={\n        \"source\": \"example\",\n    })\nexample_topic = azure.servicebus.Topic(\"example\",\n    name=\"tfex_servicebus_topic\",\n    namespace_id=example_namespace.id,\n    enable_partitioning=True)\nexample_subscription = azure.servicebus.Subscription(\"example\",\n    name=\"tfex_servicebus_subscription\",\n    topic_id=example_topic.id,\n    max_delivery_count=1)\nexample_subscription_rule = azure.servicebus.SubscriptionRule(\"example\",\n    name=\"tfex_servicebus_rule\",\n    subscription_id=example_subscription.id,\n    filter_type=\"CorrelationFilter\",\n    correlation_filter={\n        \"correlation_id\": \"high\",\n        \"label\": \"red\",\n        \"properties\": {\n            \"customProperty\": \"value\",\n        },\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"tfex-servicebus-subscription-rule-cor\",\n        Location = \"West Europe\",\n    });\n\n    var exampleNamespace = new Azure.ServiceBus.Namespace(\"example\", new()\n    {\n        Name = \"tfex-servicebus-namespace\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Sku = \"Standard\",\n        Tags = \n        {\n            { \"source\", \"example\" },\n        },\n    });\n\n    var exampleTopic = new Azure.ServiceBus.Topic(\"example\", new()\n    {\n        Name = \"tfex_servicebus_topic\",\n        NamespaceId = exampleNamespace.Id,\n        EnablePartitioning = true,\n    });\n\n    var exampleSubscription = new Azure.ServiceBus.Subscription(\"example\", new()\n    {\n        Name = \"tfex_servicebus_subscription\",\n        TopicId = exampleTopic.Id,\n        MaxDeliveryCount = 1,\n    });\n\n    var exampleSubscriptionRule = new Azure.ServiceBus.SubscriptionRule(\"example\", new()\n    {\n        Name = \"tfex_servicebus_rule\",\n        SubscriptionId = exampleSubscription.Id,\n        FilterType = \"CorrelationFilter\",\n        CorrelationFilter = new Azure.ServiceBus.Inputs.SubscriptionRuleCorrelationFilterArgs\n        {\n            CorrelationId = \"high\",\n            Label = \"red\",\n            Properties = \n            {\n                { \"customProperty\", \"value\" },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/servicebus\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"tfex-servicebus-subscription-rule-cor\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNamespace, err := servicebus.NewNamespace(ctx, \"example\", \u0026servicebus.NamespaceArgs{\n\t\t\tName:              pulumi.String(\"tfex-servicebus-namespace\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSku:               pulumi.String(\"Standard\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"source\": pulumi.String(\"example\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleTopic, err := servicebus.NewTopic(ctx, \"example\", \u0026servicebus.TopicArgs{\n\t\t\tName:               pulumi.String(\"tfex_servicebus_topic\"),\n\t\t\tNamespaceId:        exampleNamespace.ID(),\n\t\t\tEnablePartitioning: true,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSubscription, err := servicebus.NewSubscription(ctx, \"example\", \u0026servicebus.SubscriptionArgs{\n\t\t\tName:             pulumi.String(\"tfex_servicebus_subscription\"),\n\t\t\tTopicId:          exampleTopic.ID(),\n\t\t\tMaxDeliveryCount: pulumi.Int(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = servicebus.NewSubscriptionRule(ctx, \"example\", \u0026servicebus.SubscriptionRuleArgs{\n\t\t\tName:           pulumi.String(\"tfex_servicebus_rule\"),\n\t\t\tSubscriptionId: exampleSubscription.ID(),\n\t\t\tFilterType:     pulumi.String(\"CorrelationFilter\"),\n\t\t\tCorrelationFilter: \u0026servicebus.SubscriptionRuleCorrelationFilterArgs{\n\t\t\t\tCorrelationId: pulumi.String(\"high\"),\n\t\t\t\tLabel:         pulumi.String(\"red\"),\n\t\t\t\tProperties: pulumi.StringMap{\n\t\t\t\t\t\"customProperty\": pulumi.String(\"value\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.servicebus.Namespace;\nimport com.pulumi.azure.servicebus.NamespaceArgs;\nimport com.pulumi.azure.servicebus.Topic;\nimport com.pulumi.azure.servicebus.TopicArgs;\nimport com.pulumi.azure.servicebus.Subscription;\nimport com.pulumi.azure.servicebus.SubscriptionArgs;\nimport com.pulumi.azure.servicebus.SubscriptionRule;\nimport com.pulumi.azure.servicebus.SubscriptionRuleArgs;\nimport com.pulumi.azure.servicebus.inputs.SubscriptionRuleCorrelationFilterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"tfex-servicebus-subscription-rule-cor\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleNamespace = new Namespace(\"exampleNamespace\", NamespaceArgs.builder()\n            .name(\"tfex-servicebus-namespace\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .sku(\"Standard\")\n            .tags(Map.of(\"source\", \"example\"))\n            .build());\n\n        var exampleTopic = new Topic(\"exampleTopic\", TopicArgs.builder()\n            .name(\"tfex_servicebus_topic\")\n            .namespaceId(exampleNamespace.id())\n            .enablePartitioning(true)\n            .build());\n\n        var exampleSubscription = new Subscription(\"exampleSubscription\", SubscriptionArgs.builder()\n            .name(\"tfex_servicebus_subscription\")\n            .topicId(exampleTopic.id())\n            .maxDeliveryCount(1)\n            .build());\n\n        var exampleSubscriptionRule = new SubscriptionRule(\"exampleSubscriptionRule\", SubscriptionRuleArgs.builder()\n            .name(\"tfex_servicebus_rule\")\n            .subscriptionId(exampleSubscription.id())\n            .filterType(\"CorrelationFilter\")\n            .correlationFilter(SubscriptionRuleCorrelationFilterArgs.builder()\n                .correlationId(\"high\")\n                .label(\"red\")\n                .properties(Map.of(\"customProperty\", \"value\"))\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: tfex-servicebus-subscription-rule-cor\n      location: West Europe\n  exampleNamespace:\n    type: azure:servicebus:Namespace\n    name: example\n    properties:\n      name: tfex-servicebus-namespace\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      sku: Standard\n      tags:\n        source: example\n  exampleTopic:\n    type: azure:servicebus:Topic\n    name: example\n    properties:\n      name: tfex_servicebus_topic\n      namespaceId: ${exampleNamespace.id}\n      enablePartitioning: true\n  exampleSubscription:\n    type: azure:servicebus:Subscription\n    name: example\n    properties:\n      name: tfex_servicebus_subscription\n      topicId: ${exampleTopic.id}\n      maxDeliveryCount: 1\n  exampleSubscriptionRule:\n    type: azure:servicebus:SubscriptionRule\n    name: example\n    properties:\n      name: tfex_servicebus_rule\n      subscriptionId: ${exampleSubscription.id}\n      filterType: CorrelationFilter\n      correlationFilter:\n        correlationId: high\n        label: red\n        properties:\n          customProperty: value\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.ServiceBus` - 2024-01-01\n\n## Import\n\nService Bus Subscription Rule can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:servicebus/subscriptionRule:SubscriptionRule example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.ServiceBus/namespaces/sbns1/topics/sntopic1/subscriptions/sbsub1/rules/sbrule1\n```\n\n","properties":{"action":{"type":"string","description":"Represents set of actions written in SQL language-based syntax that is performed against a BrokeredMessage.\n"},"correlationFilter":{"$ref":"#/types/azure:servicebus/SubscriptionRuleCorrelationFilter:SubscriptionRuleCorrelationFilter","description":"A \u003cspan pulumi-lang-nodejs=\"`correlationFilter`\" pulumi-lang-dotnet=\"`CorrelationFilter`\" pulumi-lang-go=\"`correlationFilter`\" pulumi-lang-python=\"`correlation_filter`\" pulumi-lang-yaml=\"`correlationFilter`\" pulumi-lang-java=\"`correlationFilter`\"\u003e`correlation_filter`\u003c/span\u003e block as documented below to be evaluated against a BrokeredMessage. Required when \u003cspan pulumi-lang-nodejs=\"`filterType`\" pulumi-lang-dotnet=\"`FilterType`\" pulumi-lang-go=\"`filterType`\" pulumi-lang-python=\"`filter_type`\" pulumi-lang-yaml=\"`filterType`\" pulumi-lang-java=\"`filterType`\"\u003e`filter_type`\u003c/span\u003e is set to `CorrelationFilter`.\n"},"filterType":{"type":"string","description":"Type of filter to be applied to a BrokeredMessage. Possible values are `SqlFilter` and `CorrelationFilter`.\n"},"name":{"type":"string","description":"Specifies the name of the ServiceBus Subscription Rule. Changing this forces a new resource to be created.\n"},"sqlFilter":{"type":"string","description":"Represents a filter written in SQL language-based syntax that to be evaluated against a BrokeredMessage. Required when \u003cspan pulumi-lang-nodejs=\"`filterType`\" pulumi-lang-dotnet=\"`FilterType`\" pulumi-lang-go=\"`filterType`\" pulumi-lang-python=\"`filter_type`\" pulumi-lang-yaml=\"`filterType`\" pulumi-lang-java=\"`filterType`\"\u003e`filter_type`\u003c/span\u003e is set to `SqlFilter`.\n"},"sqlFilterCompatibilityLevel":{"type":"integer"},"subscriptionId":{"type":"string","description":"The ID of the ServiceBus Subscription in which this Rule should be created. Changing this forces a new resource to be created.\n"}},"required":["filterType","name","sqlFilterCompatibilityLevel","subscriptionId"],"inputProperties":{"action":{"type":"string","description":"Represents set of actions written in SQL language-based syntax that is performed against a BrokeredMessage.\n"},"correlationFilter":{"$ref":"#/types/azure:servicebus/SubscriptionRuleCorrelationFilter:SubscriptionRuleCorrelationFilter","description":"A \u003cspan pulumi-lang-nodejs=\"`correlationFilter`\" pulumi-lang-dotnet=\"`CorrelationFilter`\" pulumi-lang-go=\"`correlationFilter`\" pulumi-lang-python=\"`correlation_filter`\" pulumi-lang-yaml=\"`correlationFilter`\" pulumi-lang-java=\"`correlationFilter`\"\u003e`correlation_filter`\u003c/span\u003e block as documented below to be evaluated against a BrokeredMessage. Required when \u003cspan pulumi-lang-nodejs=\"`filterType`\" pulumi-lang-dotnet=\"`FilterType`\" pulumi-lang-go=\"`filterType`\" pulumi-lang-python=\"`filter_type`\" pulumi-lang-yaml=\"`filterType`\" pulumi-lang-java=\"`filterType`\"\u003e`filter_type`\u003c/span\u003e is set to `CorrelationFilter`.\n"},"filterType":{"type":"string","description":"Type of filter to be applied to a BrokeredMessage. Possible values are `SqlFilter` and `CorrelationFilter`.\n"},"name":{"type":"string","description":"Specifies the name of the ServiceBus Subscription Rule. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sqlFilter":{"type":"string","description":"Represents a filter written in SQL language-based syntax that to be evaluated against a BrokeredMessage. Required when \u003cspan pulumi-lang-nodejs=\"`filterType`\" pulumi-lang-dotnet=\"`FilterType`\" pulumi-lang-go=\"`filterType`\" pulumi-lang-python=\"`filter_type`\" pulumi-lang-yaml=\"`filterType`\" pulumi-lang-java=\"`filterType`\"\u003e`filter_type`\u003c/span\u003e is set to `SqlFilter`.\n"},"subscriptionId":{"type":"string","description":"The ID of the ServiceBus Subscription in which this Rule should be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["filterType","subscriptionId"],"stateInputs":{"description":"Input properties used for looking up and filtering SubscriptionRule resources.\n","properties":{"action":{"type":"string","description":"Represents set of actions written in SQL language-based syntax that is performed against a BrokeredMessage.\n"},"correlationFilter":{"$ref":"#/types/azure:servicebus/SubscriptionRuleCorrelationFilter:SubscriptionRuleCorrelationFilter","description":"A \u003cspan pulumi-lang-nodejs=\"`correlationFilter`\" pulumi-lang-dotnet=\"`CorrelationFilter`\" pulumi-lang-go=\"`correlationFilter`\" pulumi-lang-python=\"`correlation_filter`\" pulumi-lang-yaml=\"`correlationFilter`\" pulumi-lang-java=\"`correlationFilter`\"\u003e`correlation_filter`\u003c/span\u003e block as documented below to be evaluated against a BrokeredMessage. Required when \u003cspan pulumi-lang-nodejs=\"`filterType`\" pulumi-lang-dotnet=\"`FilterType`\" pulumi-lang-go=\"`filterType`\" pulumi-lang-python=\"`filter_type`\" pulumi-lang-yaml=\"`filterType`\" pulumi-lang-java=\"`filterType`\"\u003e`filter_type`\u003c/span\u003e is set to `CorrelationFilter`.\n"},"filterType":{"type":"string","description":"Type of filter to be applied to a BrokeredMessage. Possible values are `SqlFilter` and `CorrelationFilter`.\n"},"name":{"type":"string","description":"Specifies the name of the ServiceBus Subscription Rule. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sqlFilter":{"type":"string","description":"Represents a filter written in SQL language-based syntax that to be evaluated against a BrokeredMessage. Required when \u003cspan pulumi-lang-nodejs=\"`filterType`\" pulumi-lang-dotnet=\"`FilterType`\" pulumi-lang-go=\"`filterType`\" pulumi-lang-python=\"`filter_type`\" pulumi-lang-yaml=\"`filterType`\" pulumi-lang-java=\"`filterType`\"\u003e`filter_type`\u003c/span\u003e is set to `SqlFilter`.\n"},"sqlFilterCompatibilityLevel":{"type":"integer"},"subscriptionId":{"type":"string","description":"The ID of the ServiceBus Subscription in which this Rule should be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"},"aliases":[{"type":"azure:eventhub/subscriptionRule:SubscriptionRule"}]},"azure:servicebus/topic:Topic":{"description":"Manages a ServiceBus Topic.\n\n\u003e **Note:** Topics can only be created in Namespaces with an SKU of `Standard` or higher.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"tfex-servicebus-topic\",\n    location: \"West Europe\",\n});\nconst exampleNamespace = new azure.servicebus.Namespace(\"example\", {\n    name: \"tfex-servicebus-namespace\",\n    location: example.location,\n    resourceGroupName: example.name,\n    sku: \"Standard\",\n    tags: {\n        source: \"example\",\n    },\n});\nconst exampleTopic = new azure.servicebus.Topic(\"example\", {\n    name: \"tfex_servicebus_topic\",\n    namespaceId: exampleNamespace.id,\n    partitioningEnabled: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"tfex-servicebus-topic\",\n    location=\"West Europe\")\nexample_namespace = azure.servicebus.Namespace(\"example\",\n    name=\"tfex-servicebus-namespace\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku=\"Standard\",\n    tags={\n        \"source\": \"example\",\n    })\nexample_topic = azure.servicebus.Topic(\"example\",\n    name=\"tfex_servicebus_topic\",\n    namespace_id=example_namespace.id,\n    partitioning_enabled=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"tfex-servicebus-topic\",\n        Location = \"West Europe\",\n    });\n\n    var exampleNamespace = new Azure.ServiceBus.Namespace(\"example\", new()\n    {\n        Name = \"tfex-servicebus-namespace\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Sku = \"Standard\",\n        Tags = \n        {\n            { \"source\", \"example\" },\n        },\n    });\n\n    var exampleTopic = new Azure.ServiceBus.Topic(\"example\", new()\n    {\n        Name = \"tfex_servicebus_topic\",\n        NamespaceId = exampleNamespace.Id,\n        PartitioningEnabled = true,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/servicebus\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"tfex-servicebus-topic\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNamespace, err := servicebus.NewNamespace(ctx, \"example\", \u0026servicebus.NamespaceArgs{\n\t\t\tName:              pulumi.String(\"tfex-servicebus-namespace\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSku:               pulumi.String(\"Standard\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"source\": pulumi.String(\"example\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = servicebus.NewTopic(ctx, \"example\", \u0026servicebus.TopicArgs{\n\t\t\tName:                pulumi.String(\"tfex_servicebus_topic\"),\n\t\t\tNamespaceId:         exampleNamespace.ID(),\n\t\t\tPartitioningEnabled: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.servicebus.Namespace;\nimport com.pulumi.azure.servicebus.NamespaceArgs;\nimport com.pulumi.azure.servicebus.Topic;\nimport com.pulumi.azure.servicebus.TopicArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"tfex-servicebus-topic\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleNamespace = new Namespace(\"exampleNamespace\", NamespaceArgs.builder()\n            .name(\"tfex-servicebus-namespace\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .sku(\"Standard\")\n            .tags(Map.of(\"source\", \"example\"))\n            .build());\n\n        var exampleTopic = new Topic(\"exampleTopic\", TopicArgs.builder()\n            .name(\"tfex_servicebus_topic\")\n            .namespaceId(exampleNamespace.id())\n            .partitioningEnabled(true)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: tfex-servicebus-topic\n      location: West Europe\n  exampleNamespace:\n    type: azure:servicebus:Namespace\n    name: example\n    properties:\n      name: tfex-servicebus-namespace\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      sku: Standard\n      tags:\n        source: example\n  exampleTopic:\n    type: azure:servicebus:Topic\n    name: example\n    properties:\n      name: tfex_servicebus_topic\n      namespaceId: ${exampleNamespace.id}\n      partitioningEnabled: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.ServiceBus` - 2024-01-01\n\n## Import\n\nService Bus Topics can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:servicebus/topic:Topic example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.ServiceBus/namespaces/sbns1/topics/sntopic1\n```\n\n","properties":{"autoDeleteOnIdle":{"type":"string","description":"The ISO 8601 timespan duration of the idle interval after which the Topic is automatically deleted, minimum of 5 minutes. Defaults to `P10675199DT2H48M5.4775807S`.\n"},"batchedOperationsEnabled":{"type":"boolean","description":"Boolean flag which controls if server-side batched operations are enabled.\n"},"defaultMessageTtl":{"type":"string","description":"The ISO 8601 timespan duration of TTL of messages sent to this topic if no TTL value is set on the message itself. Defaults to `P10675199DT2H48M5.4775807S`.\n"},"duplicateDetectionHistoryTimeWindow":{"type":"string","description":"The ISO 8601 timespan duration during which duplicates can be detected. Defaults to `PT10M` (10 Minutes).\n"},"expressEnabled":{"type":"boolean","description":"Boolean flag which controls whether Express Entities are enabled. An express topic holds a message in memory temporarily before writing it to persistent storage.\n"},"maxMessageSizeInKilobytes":{"type":"integer","description":"Integer value which controls the maximum size of a message allowed on the topic for Premium SKU. For supported values see the \"Large messages support\" section of [this document](https://docs.microsoft.com/azure/service-bus-messaging/service-bus-premium-messaging#large-messages-support-preview). Defaults to \u003cspan pulumi-lang-nodejs=\"`256`\" pulumi-lang-dotnet=\"`256`\" pulumi-lang-go=\"`256`\" pulumi-lang-python=\"`256`\" pulumi-lang-yaml=\"`256`\" pulumi-lang-java=\"`256`\"\u003e`256`\u003c/span\u003e.\n"},"maxSizeInMegabytes":{"type":"integer","description":"Integer value which controls the size of memory allocated for the topic. For supported values see the \"Queue/topic size\" section of [this document](https://docs.microsoft.com/azure/service-bus-messaging/service-bus-quotas). Defaults to \u003cspan pulumi-lang-nodejs=\"`5120`\" pulumi-lang-dotnet=\"`5120`\" pulumi-lang-go=\"`5120`\" pulumi-lang-python=\"`5120`\" pulumi-lang-yaml=\"`5120`\" pulumi-lang-java=\"`5120`\"\u003e`5120`\u003c/span\u003e.\n"},"name":{"type":"string","description":"Specifies the name of the ServiceBus Topic resource. Changing this forces a new resource to be created.\n"},"namespaceId":{"type":"string","description":"The ID of the ServiceBus Namespace to create this topic in. Changing this forces a new resource to be created.\n"},"namespaceName":{"type":"string"},"partitioningEnabled":{"type":"boolean","description":"Boolean flag which controls whether to enable the topic to be partitioned across multiple message brokers. Changing this forces a new resource to be created.\n\n\u003e **Note:** Partitioning is available at entity creation for all queues and topics in Basic or Standard SKUs. It is not available for the Premium messaging SKU, but any previously existing partitioned entities in Premium namespaces continue to work as expected. For premium namespaces, partitioning is available at namespace creation and all queues and topics in the partitioned namespace will be partitioned. Premium namespaces that have \u003cspan pulumi-lang-nodejs=\"`premiumMessagingPartitions`\" pulumi-lang-dotnet=\"`PremiumMessagingPartitions`\" pulumi-lang-go=\"`premiumMessagingPartitions`\" pulumi-lang-python=\"`premium_messaging_partitions`\" pulumi-lang-yaml=\"`premiumMessagingPartitions`\" pulumi-lang-java=\"`premiumMessagingPartitions`\"\u003e`premium_messaging_partitions`\u003c/span\u003e set to \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e are not partitioned. Please [see the documentation](https://docs.microsoft.com/azure/service-bus-messaging/service-bus-partitioning) for more information.\n"},"requiresDuplicateDetection":{"type":"boolean","description":"Boolean flag which controls whether the Topic requires duplicate detection. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Changing this forces a new resource to be created.\n"},"resourceGroupName":{"type":"string"},"status":{"type":"string","description":"The Status of the Service Bus Topic. Acceptable values are `Active` or `Disabled`. Defaults to `Active`.\n"},"supportOrdering":{"type":"boolean","description":"Boolean flag which controls whether the Topic supports ordering.\n"}},"required":["maxMessageSizeInKilobytes","maxSizeInMegabytes","name","namespaceId","namespaceName","resourceGroupName"],"inputProperties":{"autoDeleteOnIdle":{"type":"string","description":"The ISO 8601 timespan duration of the idle interval after which the Topic is automatically deleted, minimum of 5 minutes. Defaults to `P10675199DT2H48M5.4775807S`.\n"},"batchedOperationsEnabled":{"type":"boolean","description":"Boolean flag which controls if server-side batched operations are enabled.\n"},"defaultMessageTtl":{"type":"string","description":"The ISO 8601 timespan duration of TTL of messages sent to this topic if no TTL value is set on the message itself. Defaults to `P10675199DT2H48M5.4775807S`.\n"},"duplicateDetectionHistoryTimeWindow":{"type":"string","description":"The ISO 8601 timespan duration during which duplicates can be detected. Defaults to `PT10M` (10 Minutes).\n"},"expressEnabled":{"type":"boolean","description":"Boolean flag which controls whether Express Entities are enabled. An express topic holds a message in memory temporarily before writing it to persistent storage.\n"},"maxMessageSizeInKilobytes":{"type":"integer","description":"Integer value which controls the maximum size of a message allowed on the topic for Premium SKU. For supported values see the \"Large messages support\" section of [this document](https://docs.microsoft.com/azure/service-bus-messaging/service-bus-premium-messaging#large-messages-support-preview). Defaults to \u003cspan pulumi-lang-nodejs=\"`256`\" pulumi-lang-dotnet=\"`256`\" pulumi-lang-go=\"`256`\" pulumi-lang-python=\"`256`\" pulumi-lang-yaml=\"`256`\" pulumi-lang-java=\"`256`\"\u003e`256`\u003c/span\u003e.\n"},"maxSizeInMegabytes":{"type":"integer","description":"Integer value which controls the size of memory allocated for the topic. For supported values see the \"Queue/topic size\" section of [this document](https://docs.microsoft.com/azure/service-bus-messaging/service-bus-quotas). Defaults to \u003cspan pulumi-lang-nodejs=\"`5120`\" pulumi-lang-dotnet=\"`5120`\" pulumi-lang-go=\"`5120`\" pulumi-lang-python=\"`5120`\" pulumi-lang-yaml=\"`5120`\" pulumi-lang-java=\"`5120`\"\u003e`5120`\u003c/span\u003e.\n"},"name":{"type":"string","description":"Specifies the name of the ServiceBus Topic resource. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"namespaceId":{"type":"string","description":"The ID of the ServiceBus Namespace to create this topic in. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"partitioningEnabled":{"type":"boolean","description":"Boolean flag which controls whether to enable the topic to be partitioned across multiple message brokers. Changing this forces a new resource to be created.\n\n\u003e **Note:** Partitioning is available at entity creation for all queues and topics in Basic or Standard SKUs. It is not available for the Premium messaging SKU, but any previously existing partitioned entities in Premium namespaces continue to work as expected. For premium namespaces, partitioning is available at namespace creation and all queues and topics in the partitioned namespace will be partitioned. Premium namespaces that have \u003cspan pulumi-lang-nodejs=\"`premiumMessagingPartitions`\" pulumi-lang-dotnet=\"`PremiumMessagingPartitions`\" pulumi-lang-go=\"`premiumMessagingPartitions`\" pulumi-lang-python=\"`premium_messaging_partitions`\" pulumi-lang-yaml=\"`premiumMessagingPartitions`\" pulumi-lang-java=\"`premiumMessagingPartitions`\"\u003e`premium_messaging_partitions`\u003c/span\u003e set to \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e are not partitioned. Please [see the documentation](https://docs.microsoft.com/azure/service-bus-messaging/service-bus-partitioning) for more information.\n","willReplaceOnChanges":true},"requiresDuplicateDetection":{"type":"boolean","description":"Boolean flag which controls whether the Topic requires duplicate detection. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"status":{"type":"string","description":"The Status of the Service Bus Topic. Acceptable values are `Active` or `Disabled`. Defaults to `Active`.\n"},"supportOrdering":{"type":"boolean","description":"Boolean flag which controls whether the Topic supports ordering.\n"}},"requiredInputs":["namespaceId"],"stateInputs":{"description":"Input properties used for looking up and filtering Topic resources.\n","properties":{"autoDeleteOnIdle":{"type":"string","description":"The ISO 8601 timespan duration of the idle interval after which the Topic is automatically deleted, minimum of 5 minutes. Defaults to `P10675199DT2H48M5.4775807S`.\n"},"batchedOperationsEnabled":{"type":"boolean","description":"Boolean flag which controls if server-side batched operations are enabled.\n"},"defaultMessageTtl":{"type":"string","description":"The ISO 8601 timespan duration of TTL of messages sent to this topic if no TTL value is set on the message itself. Defaults to `P10675199DT2H48M5.4775807S`.\n"},"duplicateDetectionHistoryTimeWindow":{"type":"string","description":"The ISO 8601 timespan duration during which duplicates can be detected. Defaults to `PT10M` (10 Minutes).\n"},"expressEnabled":{"type":"boolean","description":"Boolean flag which controls whether Express Entities are enabled. An express topic holds a message in memory temporarily before writing it to persistent storage.\n"},"maxMessageSizeInKilobytes":{"type":"integer","description":"Integer value which controls the maximum size of a message allowed on the topic for Premium SKU. For supported values see the \"Large messages support\" section of [this document](https://docs.microsoft.com/azure/service-bus-messaging/service-bus-premium-messaging#large-messages-support-preview). Defaults to \u003cspan pulumi-lang-nodejs=\"`256`\" pulumi-lang-dotnet=\"`256`\" pulumi-lang-go=\"`256`\" pulumi-lang-python=\"`256`\" pulumi-lang-yaml=\"`256`\" pulumi-lang-java=\"`256`\"\u003e`256`\u003c/span\u003e.\n"},"maxSizeInMegabytes":{"type":"integer","description":"Integer value which controls the size of memory allocated for the topic. For supported values see the \"Queue/topic size\" section of [this document](https://docs.microsoft.com/azure/service-bus-messaging/service-bus-quotas). Defaults to \u003cspan pulumi-lang-nodejs=\"`5120`\" pulumi-lang-dotnet=\"`5120`\" pulumi-lang-go=\"`5120`\" pulumi-lang-python=\"`5120`\" pulumi-lang-yaml=\"`5120`\" pulumi-lang-java=\"`5120`\"\u003e`5120`\u003c/span\u003e.\n"},"name":{"type":"string","description":"Specifies the name of the ServiceBus Topic resource. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"namespaceId":{"type":"string","description":"The ID of the ServiceBus Namespace to create this topic in. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"namespaceName":{"type":"string"},"partitioningEnabled":{"type":"boolean","description":"Boolean flag which controls whether to enable the topic to be partitioned across multiple message brokers. Changing this forces a new resource to be created.\n\n\u003e **Note:** Partitioning is available at entity creation for all queues and topics in Basic or Standard SKUs. It is not available for the Premium messaging SKU, but any previously existing partitioned entities in Premium namespaces continue to work as expected. For premium namespaces, partitioning is available at namespace creation and all queues and topics in the partitioned namespace will be partitioned. Premium namespaces that have \u003cspan pulumi-lang-nodejs=\"`premiumMessagingPartitions`\" pulumi-lang-dotnet=\"`PremiumMessagingPartitions`\" pulumi-lang-go=\"`premiumMessagingPartitions`\" pulumi-lang-python=\"`premium_messaging_partitions`\" pulumi-lang-yaml=\"`premiumMessagingPartitions`\" pulumi-lang-java=\"`premiumMessagingPartitions`\"\u003e`premium_messaging_partitions`\u003c/span\u003e set to \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e are not partitioned. Please [see the documentation](https://docs.microsoft.com/azure/service-bus-messaging/service-bus-partitioning) for more information.\n","willReplaceOnChanges":true},"requiresDuplicateDetection":{"type":"boolean","description":"Boolean flag which controls whether the Topic requires duplicate detection. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string"},"status":{"type":"string","description":"The Status of the Service Bus Topic. Acceptable values are `Active` or `Disabled`. Defaults to `Active`.\n"},"supportOrdering":{"type":"boolean","description":"Boolean flag which controls whether the Topic supports ordering.\n"}},"type":"object"},"aliases":[{"type":"azure:eventhub/topic:Topic"}]},"azure:servicebus/topicAuthorizationRule:TopicAuthorizationRule":{"description":"Manages a ServiceBus Topic authorization Rule within a ServiceBus Topic.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"tfex-servicebus\",\n    location: \"West Europe\",\n});\nconst exampleNamespace = new azure.servicebus.Namespace(\"example\", {\n    name: \"tfex-servicebus-namespace\",\n    location: example.location,\n    resourceGroupName: example.name,\n    sku: \"Standard\",\n    tags: {\n        source: \"example\",\n    },\n});\nconst exampleTopic = new azure.servicebus.Topic(\"example\", {\n    name: \"tfex_servicebus_topic\",\n    namespaceId: exampleNamespace.id,\n});\nconst exampleTopicAuthorizationRule = new azure.servicebus.TopicAuthorizationRule(\"example\", {\n    name: \"tfex_servicebus_topic_sasPolicy\",\n    topicId: exampleTopic.id,\n    listen: true,\n    send: false,\n    manage: false,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"tfex-servicebus\",\n    location=\"West Europe\")\nexample_namespace = azure.servicebus.Namespace(\"example\",\n    name=\"tfex-servicebus-namespace\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku=\"Standard\",\n    tags={\n        \"source\": \"example\",\n    })\nexample_topic = azure.servicebus.Topic(\"example\",\n    name=\"tfex_servicebus_topic\",\n    namespace_id=example_namespace.id)\nexample_topic_authorization_rule = azure.servicebus.TopicAuthorizationRule(\"example\",\n    name=\"tfex_servicebus_topic_sasPolicy\",\n    topic_id=example_topic.id,\n    listen=True,\n    send=False,\n    manage=False)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"tfex-servicebus\",\n        Location = \"West Europe\",\n    });\n\n    var exampleNamespace = new Azure.ServiceBus.Namespace(\"example\", new()\n    {\n        Name = \"tfex-servicebus-namespace\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Sku = \"Standard\",\n        Tags = \n        {\n            { \"source\", \"example\" },\n        },\n    });\n\n    var exampleTopic = new Azure.ServiceBus.Topic(\"example\", new()\n    {\n        Name = \"tfex_servicebus_topic\",\n        NamespaceId = exampleNamespace.Id,\n    });\n\n    var exampleTopicAuthorizationRule = new Azure.ServiceBus.TopicAuthorizationRule(\"example\", new()\n    {\n        Name = \"tfex_servicebus_topic_sasPolicy\",\n        TopicId = exampleTopic.Id,\n        Listen = true,\n        Send = false,\n        Manage = false,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/servicebus\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"tfex-servicebus\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNamespace, err := servicebus.NewNamespace(ctx, \"example\", \u0026servicebus.NamespaceArgs{\n\t\t\tName:              pulumi.String(\"tfex-servicebus-namespace\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSku:               pulumi.String(\"Standard\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"source\": pulumi.String(\"example\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleTopic, err := servicebus.NewTopic(ctx, \"example\", \u0026servicebus.TopicArgs{\n\t\t\tName:        pulumi.String(\"tfex_servicebus_topic\"),\n\t\t\tNamespaceId: exampleNamespace.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = servicebus.NewTopicAuthorizationRule(ctx, \"example\", \u0026servicebus.TopicAuthorizationRuleArgs{\n\t\t\tName:    pulumi.String(\"tfex_servicebus_topic_sasPolicy\"),\n\t\t\tTopicId: exampleTopic.ID(),\n\t\t\tListen:  pulumi.Bool(true),\n\t\t\tSend:    pulumi.Bool(false),\n\t\t\tManage:  pulumi.Bool(false),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.servicebus.Namespace;\nimport com.pulumi.azure.servicebus.NamespaceArgs;\nimport com.pulumi.azure.servicebus.Topic;\nimport com.pulumi.azure.servicebus.TopicArgs;\nimport com.pulumi.azure.servicebus.TopicAuthorizationRule;\nimport com.pulumi.azure.servicebus.TopicAuthorizationRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"tfex-servicebus\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleNamespace = new Namespace(\"exampleNamespace\", NamespaceArgs.builder()\n            .name(\"tfex-servicebus-namespace\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .sku(\"Standard\")\n            .tags(Map.of(\"source\", \"example\"))\n            .build());\n\n        var exampleTopic = new Topic(\"exampleTopic\", TopicArgs.builder()\n            .name(\"tfex_servicebus_topic\")\n            .namespaceId(exampleNamespace.id())\n            .build());\n\n        var exampleTopicAuthorizationRule = new TopicAuthorizationRule(\"exampleTopicAuthorizationRule\", TopicAuthorizationRuleArgs.builder()\n            .name(\"tfex_servicebus_topic_sasPolicy\")\n            .topicId(exampleTopic.id())\n            .listen(true)\n            .send(false)\n            .manage(false)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: tfex-servicebus\n      location: West Europe\n  exampleNamespace:\n    type: azure:servicebus:Namespace\n    name: example\n    properties:\n      name: tfex-servicebus-namespace\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      sku: Standard\n      tags:\n        source: example\n  exampleTopic:\n    type: azure:servicebus:Topic\n    name: example\n    properties:\n      name: tfex_servicebus_topic\n      namespaceId: ${exampleNamespace.id}\n  exampleTopicAuthorizationRule:\n    type: azure:servicebus:TopicAuthorizationRule\n    name: example\n    properties:\n      name: tfex_servicebus_topic_sasPolicy\n      topicId: ${exampleTopic.id}\n      listen: true\n      send: false\n      manage: false\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.ServiceBus` - 2024-01-01\n\n## Import\n\nServiceBus Topic authorization rules can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:servicebus/topicAuthorizationRule:TopicAuthorizationRule rule1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.ServiceBus/namespaces/namespace1/topics/topic1/authorizationRules/rule1\n```\n\n","properties":{"listen":{"type":"boolean","description":"Grants listen access to this this Authorization Rule. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"manage":{"type":"boolean","description":"Grants manage access to this this Authorization Rule. When this property is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e - both \u003cspan pulumi-lang-nodejs=\"`listen`\" pulumi-lang-dotnet=\"`Listen`\" pulumi-lang-go=\"`listen`\" pulumi-lang-python=\"`listen`\" pulumi-lang-yaml=\"`listen`\" pulumi-lang-java=\"`listen`\"\u003e`listen`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`send`\" pulumi-lang-dotnet=\"`Send`\" pulumi-lang-go=\"`send`\" pulumi-lang-python=\"`send`\" pulumi-lang-yaml=\"`send`\" pulumi-lang-java=\"`send`\"\u003e`send`\u003c/span\u003e must be too. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"name":{"type":"string","description":"Specifies the name of the ServiceBus Topic Authorization Rule resource. Changing this forces a new resource to be created.\n"},"primaryConnectionString":{"type":"string","description":"The Primary Connection String for the ServiceBus Topic authorization Rule.\n","secret":true},"primaryConnectionStringAlias":{"type":"string","description":"The alias Primary Connection String for the ServiceBus Namespace, if the namespace is Geo DR paired.\n","secret":true},"primaryKey":{"type":"string","description":"The Primary Key for the ServiceBus Topic authorization Rule.\n","secret":true},"secondaryConnectionString":{"type":"string","description":"The Secondary Connection String for the ServiceBus Topic authorization Rule.\n","secret":true},"secondaryConnectionStringAlias":{"type":"string","description":"The alias Secondary Connection String for the ServiceBus Namespace\n","secret":true},"secondaryKey":{"type":"string","description":"The Secondary Key for the ServiceBus Topic authorization Rule.\n","secret":true},"send":{"type":"boolean","description":"Grants send access to this this Authorization Rule. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"topicId":{"type":"string","description":"Specifies the ID of the ServiceBus Topic. Changing this forces a new resource to be created.\n\n\u003e **Note:** At least one of the 3 permissions below needs to be set.\n"}},"required":["name","primaryConnectionString","primaryConnectionStringAlias","primaryKey","secondaryConnectionString","secondaryConnectionStringAlias","secondaryKey","topicId"],"inputProperties":{"listen":{"type":"boolean","description":"Grants listen access to this this Authorization Rule. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"manage":{"type":"boolean","description":"Grants manage access to this this Authorization Rule. When this property is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e - both \u003cspan pulumi-lang-nodejs=\"`listen`\" pulumi-lang-dotnet=\"`Listen`\" pulumi-lang-go=\"`listen`\" pulumi-lang-python=\"`listen`\" pulumi-lang-yaml=\"`listen`\" pulumi-lang-java=\"`listen`\"\u003e`listen`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`send`\" pulumi-lang-dotnet=\"`Send`\" pulumi-lang-go=\"`send`\" pulumi-lang-python=\"`send`\" pulumi-lang-yaml=\"`send`\" pulumi-lang-java=\"`send`\"\u003e`send`\u003c/span\u003e must be too. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"name":{"type":"string","description":"Specifies the name of the ServiceBus Topic Authorization Rule resource. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"send":{"type":"boolean","description":"Grants send access to this this Authorization Rule. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"topicId":{"type":"string","description":"Specifies the ID of the ServiceBus Topic. Changing this forces a new resource to be created.\n\n\u003e **Note:** At least one of the 3 permissions below needs to be set.\n","willReplaceOnChanges":true}},"requiredInputs":["topicId"],"stateInputs":{"description":"Input properties used for looking up and filtering TopicAuthorizationRule resources.\n","properties":{"listen":{"type":"boolean","description":"Grants listen access to this this Authorization Rule. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"manage":{"type":"boolean","description":"Grants manage access to this this Authorization Rule. When this property is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e - both \u003cspan pulumi-lang-nodejs=\"`listen`\" pulumi-lang-dotnet=\"`Listen`\" pulumi-lang-go=\"`listen`\" pulumi-lang-python=\"`listen`\" pulumi-lang-yaml=\"`listen`\" pulumi-lang-java=\"`listen`\"\u003e`listen`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`send`\" pulumi-lang-dotnet=\"`Send`\" pulumi-lang-go=\"`send`\" pulumi-lang-python=\"`send`\" pulumi-lang-yaml=\"`send`\" pulumi-lang-java=\"`send`\"\u003e`send`\u003c/span\u003e must be too. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"name":{"type":"string","description":"Specifies the name of the ServiceBus Topic Authorization Rule resource. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"primaryConnectionString":{"type":"string","description":"The Primary Connection String for the ServiceBus Topic authorization Rule.\n","secret":true},"primaryConnectionStringAlias":{"type":"string","description":"The alias Primary Connection String for the ServiceBus Namespace, if the namespace is Geo DR paired.\n","secret":true},"primaryKey":{"type":"string","description":"The Primary Key for the ServiceBus Topic authorization Rule.\n","secret":true},"secondaryConnectionString":{"type":"string","description":"The Secondary Connection String for the ServiceBus Topic authorization Rule.\n","secret":true},"secondaryConnectionStringAlias":{"type":"string","description":"The alias Secondary Connection String for the ServiceBus Namespace\n","secret":true},"secondaryKey":{"type":"string","description":"The Secondary Key for the ServiceBus Topic authorization Rule.\n","secret":true},"send":{"type":"boolean","description":"Grants send access to this this Authorization Rule. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"topicId":{"type":"string","description":"Specifies the ID of the ServiceBus Topic. Changing this forces a new resource to be created.\n\n\u003e **Note:** At least one of the 3 permissions below needs to be set.\n","willReplaceOnChanges":true}},"type":"object"},"aliases":[{"type":"azure:eventhub/topicAuthorizationRule:TopicAuthorizationRule"}]},"azure:servicefabric/cluster:Cluster":{"description":"Manages a Service Fabric Cluster.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleCluster = new azure.servicefabric.Cluster(\"example\", {\n    name: \"example-servicefabric\",\n    resourceGroupName: example.name,\n    location: example.location,\n    reliabilityLevel: \"Bronze\",\n    upgradeMode: \"Manual\",\n    clusterCodeVersion: \"7.1.456.959\",\n    vmImage: \"Windows\",\n    managementEndpoint: \"https://example:80\",\n    nodeTypes: [{\n        name: \"first\",\n        instanceCount: 3,\n        isPrimary: true,\n        clientEndpointPort: 2020,\n        httpEndpointPort: 80,\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_cluster = azure.servicefabric.Cluster(\"example\",\n    name=\"example-servicefabric\",\n    resource_group_name=example.name,\n    location=example.location,\n    reliability_level=\"Bronze\",\n    upgrade_mode=\"Manual\",\n    cluster_code_version=\"7.1.456.959\",\n    vm_image=\"Windows\",\n    management_endpoint=\"https://example:80\",\n    node_types=[{\n        \"name\": \"first\",\n        \"instance_count\": 3,\n        \"is_primary\": True,\n        \"client_endpoint_port\": 2020,\n        \"http_endpoint_port\": 80,\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleCluster = new Azure.ServiceFabric.Cluster(\"example\", new()\n    {\n        Name = \"example-servicefabric\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        ReliabilityLevel = \"Bronze\",\n        UpgradeMode = \"Manual\",\n        ClusterCodeVersion = \"7.1.456.959\",\n        VmImage = \"Windows\",\n        ManagementEndpoint = \"https://example:80\",\n        NodeTypes = new[]\n        {\n            new Azure.ServiceFabric.Inputs.ClusterNodeTypeArgs\n            {\n                Name = \"first\",\n                InstanceCount = 3,\n                IsPrimary = true,\n                ClientEndpointPort = 2020,\n                HttpEndpointPort = 80,\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/servicefabric\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = servicefabric.NewCluster(ctx, \"example\", \u0026servicefabric.ClusterArgs{\n\t\t\tName:               pulumi.String(\"example-servicefabric\"),\n\t\t\tResourceGroupName:  example.Name,\n\t\t\tLocation:           example.Location,\n\t\t\tReliabilityLevel:   pulumi.String(\"Bronze\"),\n\t\t\tUpgradeMode:        pulumi.String(\"Manual\"),\n\t\t\tClusterCodeVersion: pulumi.String(\"7.1.456.959\"),\n\t\t\tVmImage:            pulumi.String(\"Windows\"),\n\t\t\tManagementEndpoint: pulumi.String(\"https://example:80\"),\n\t\t\tNodeTypes: servicefabric.ClusterNodeTypeArray{\n\t\t\t\t\u0026servicefabric.ClusterNodeTypeArgs{\n\t\t\t\t\tName:               pulumi.String(\"first\"),\n\t\t\t\t\tInstanceCount:      pulumi.Int(3),\n\t\t\t\t\tIsPrimary:          pulumi.Bool(true),\n\t\t\t\t\tClientEndpointPort: pulumi.Int(2020),\n\t\t\t\t\tHttpEndpointPort:   pulumi.Int(80),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.servicefabric.Cluster;\nimport com.pulumi.azure.servicefabric.ClusterArgs;\nimport com.pulumi.azure.servicefabric.inputs.ClusterNodeTypeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleCluster = new Cluster(\"exampleCluster\", ClusterArgs.builder()\n            .name(\"example-servicefabric\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .reliabilityLevel(\"Bronze\")\n            .upgradeMode(\"Manual\")\n            .clusterCodeVersion(\"7.1.456.959\")\n            .vmImage(\"Windows\")\n            .managementEndpoint(\"https://example:80\")\n            .nodeTypes(ClusterNodeTypeArgs.builder()\n                .name(\"first\")\n                .instanceCount(3)\n                .isPrimary(true)\n                .clientEndpointPort(2020)\n                .httpEndpointPort(80)\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleCluster:\n    type: azure:servicefabric:Cluster\n    name: example\n    properties:\n      name: example-servicefabric\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      reliabilityLevel: Bronze\n      upgradeMode: Manual\n      clusterCodeVersion: 7.1.456.959\n      vmImage: Windows\n      managementEndpoint: https://example:80\n      nodeTypes:\n        - name: first\n          instanceCount: 3\n          isPrimary: true\n          clientEndpointPort: 2020\n          httpEndpointPort: 80\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.ServiceFabric` - 2021-06-01\n\n## Import\n\nService Fabric Clusters can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:servicefabric/cluster:Cluster cluster1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.ServiceFabric/clusters/cluster1\n```\n\n","properties":{"addOnFeatures":{"type":"array","items":{"type":"string"},"description":"A List of one or more features which should be enabled, such as `DnsService`.\n"},"azureActiveDirectory":{"$ref":"#/types/azure:servicefabric/ClusterAzureActiveDirectory:ClusterAzureActiveDirectory","description":"An \u003cspan pulumi-lang-nodejs=\"`azureActiveDirectory`\" pulumi-lang-dotnet=\"`AzureActiveDirectory`\" pulumi-lang-go=\"`azureActiveDirectory`\" pulumi-lang-python=\"`azure_active_directory`\" pulumi-lang-yaml=\"`azureActiveDirectory`\" pulumi-lang-java=\"`azureActiveDirectory`\"\u003e`azure_active_directory`\u003c/span\u003e block as defined below.\n"},"certificate":{"$ref":"#/types/azure:servicefabric/ClusterCertificate:ClusterCertificate","description":"A \u003cspan pulumi-lang-nodejs=\"`certificate`\" pulumi-lang-dotnet=\"`Certificate`\" pulumi-lang-go=\"`certificate`\" pulumi-lang-python=\"`certificate`\" pulumi-lang-yaml=\"`certificate`\" pulumi-lang-java=\"`certificate`\"\u003e`certificate`\u003c/span\u003e block as defined below. Conflicts with \u003cspan pulumi-lang-nodejs=\"`certificateCommonNames`\" pulumi-lang-dotnet=\"`CertificateCommonNames`\" pulumi-lang-go=\"`certificateCommonNames`\" pulumi-lang-python=\"`certificate_common_names`\" pulumi-lang-yaml=\"`certificateCommonNames`\" pulumi-lang-java=\"`certificateCommonNames`\"\u003e`certificate_common_names`\u003c/span\u003e.\n"},"certificateCommonNames":{"$ref":"#/types/azure:servicefabric/ClusterCertificateCommonNames:ClusterCertificateCommonNames","description":"A \u003cspan pulumi-lang-nodejs=\"`certificateCommonNames`\" pulumi-lang-dotnet=\"`CertificateCommonNames`\" pulumi-lang-go=\"`certificateCommonNames`\" pulumi-lang-python=\"`certificate_common_names`\" pulumi-lang-yaml=\"`certificateCommonNames`\" pulumi-lang-java=\"`certificateCommonNames`\"\u003e`certificate_common_names`\u003c/span\u003e block as defined below. Conflicts with \u003cspan pulumi-lang-nodejs=\"`certificate`\" pulumi-lang-dotnet=\"`Certificate`\" pulumi-lang-go=\"`certificate`\" pulumi-lang-python=\"`certificate`\" pulumi-lang-yaml=\"`certificate`\" pulumi-lang-java=\"`certificate`\"\u003e`certificate`\u003c/span\u003e.\n"},"clientCertificateCommonNames":{"type":"array","items":{"$ref":"#/types/azure:servicefabric/ClusterClientCertificateCommonName:ClusterClientCertificateCommonName"},"description":"A \u003cspan pulumi-lang-nodejs=\"`clientCertificateCommonName`\" pulumi-lang-dotnet=\"`ClientCertificateCommonName`\" pulumi-lang-go=\"`clientCertificateCommonName`\" pulumi-lang-python=\"`client_certificate_common_name`\" pulumi-lang-yaml=\"`clientCertificateCommonName`\" pulumi-lang-java=\"`clientCertificateCommonName`\"\u003e`client_certificate_common_name`\u003c/span\u003e block as defined below.\n\n\u003e **Note:** If Client Certificates are enabled then at a Certificate must be configured on the cluster.\n"},"clientCertificateThumbprints":{"type":"array","items":{"$ref":"#/types/azure:servicefabric/ClusterClientCertificateThumbprint:ClusterClientCertificateThumbprint"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`clientCertificateThumbprint`\" pulumi-lang-dotnet=\"`ClientCertificateThumbprint`\" pulumi-lang-go=\"`clientCertificateThumbprint`\" pulumi-lang-python=\"`client_certificate_thumbprint`\" pulumi-lang-yaml=\"`clientCertificateThumbprint`\" pulumi-lang-java=\"`clientCertificateThumbprint`\"\u003e`client_certificate_thumbprint`\u003c/span\u003e blocks as defined below.\n"},"clusterCodeVersion":{"type":"string","description":"Required if Upgrade Mode set to `Manual`, Specifies the Version of the Cluster Code of the cluster.\n"},"clusterEndpoint":{"type":"string","description":"The Cluster Endpoint for this Service Fabric Cluster.\n"},"diagnosticsConfig":{"$ref":"#/types/azure:servicefabric/ClusterDiagnosticsConfig:ClusterDiagnosticsConfig","description":"A \u003cspan pulumi-lang-nodejs=\"`diagnosticsConfig`\" pulumi-lang-dotnet=\"`DiagnosticsConfig`\" pulumi-lang-go=\"`diagnosticsConfig`\" pulumi-lang-python=\"`diagnostics_config`\" pulumi-lang-yaml=\"`diagnosticsConfig`\" pulumi-lang-java=\"`diagnosticsConfig`\"\u003e`diagnostics_config`\u003c/span\u003e block as defined below.\n"},"fabricSettings":{"type":"array","items":{"$ref":"#/types/azure:servicefabric/ClusterFabricSetting:ClusterFabricSetting"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`fabricSettings`\" pulumi-lang-dotnet=\"`FabricSettings`\" pulumi-lang-go=\"`fabricSettings`\" pulumi-lang-python=\"`fabric_settings`\" pulumi-lang-yaml=\"`fabricSettings`\" pulumi-lang-java=\"`fabricSettings`\"\u003e`fabric_settings`\u003c/span\u003e blocks as defined below.\n"},"location":{"type":"string","description":"Specifies the Azure Region where the Service Fabric Cluster should exist. Changing this forces a new resource to be created.\n"},"managementEndpoint":{"type":"string","description":"Specifies the Management Endpoint of the cluster such as `http://example.com`. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"The name of the Service Fabric Cluster. Changing this forces a new resource to be created.\n"},"nodeTypes":{"type":"array","items":{"$ref":"#/types/azure:servicefabric/ClusterNodeType:ClusterNodeType"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`nodeType`\" pulumi-lang-dotnet=\"`NodeType`\" pulumi-lang-go=\"`nodeType`\" pulumi-lang-python=\"`node_type`\" pulumi-lang-yaml=\"`nodeType`\" pulumi-lang-java=\"`nodeType`\"\u003e`node_type`\u003c/span\u003e blocks as defined below.\n"},"reliabilityLevel":{"type":"string","description":"Specifies the Reliability Level of the Cluster. Possible values include `None`, `Bronze`, `Silver`, `Gold` and `Platinum`.\n\n\u003e **Note:** The Reliability Level of the Cluster depends on the number of nodes in the Cluster: `Platinum` requires at least 9 VM's, `Gold` requires at least 7 VM's, `Silver` requires at least 5 VM's, `Bronze` requires at least 3 VM's.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group in which the Service Fabric Cluster exists. Changing this forces a new resource to be created.\n"},"reverseProxyCertificate":{"$ref":"#/types/azure:servicefabric/ClusterReverseProxyCertificate:ClusterReverseProxyCertificate","description":"A \u003cspan pulumi-lang-nodejs=\"`reverseProxyCertificate`\" pulumi-lang-dotnet=\"`ReverseProxyCertificate`\" pulumi-lang-go=\"`reverseProxyCertificate`\" pulumi-lang-python=\"`reverse_proxy_certificate`\" pulumi-lang-yaml=\"`reverseProxyCertificate`\" pulumi-lang-java=\"`reverseProxyCertificate`\"\u003e`reverse_proxy_certificate`\u003c/span\u003e block as defined below. Conflicts with \u003cspan pulumi-lang-nodejs=\"`reverseProxyCertificateCommonNames`\" pulumi-lang-dotnet=\"`ReverseProxyCertificateCommonNames`\" pulumi-lang-go=\"`reverseProxyCertificateCommonNames`\" pulumi-lang-python=\"`reverse_proxy_certificate_common_names`\" pulumi-lang-yaml=\"`reverseProxyCertificateCommonNames`\" pulumi-lang-java=\"`reverseProxyCertificateCommonNames`\"\u003e`reverse_proxy_certificate_common_names`\u003c/span\u003e.\n"},"reverseProxyCertificateCommonNames":{"$ref":"#/types/azure:servicefabric/ClusterReverseProxyCertificateCommonNames:ClusterReverseProxyCertificateCommonNames","description":"A \u003cspan pulumi-lang-nodejs=\"`reverseProxyCertificateCommonNames`\" pulumi-lang-dotnet=\"`ReverseProxyCertificateCommonNames`\" pulumi-lang-go=\"`reverseProxyCertificateCommonNames`\" pulumi-lang-python=\"`reverse_proxy_certificate_common_names`\" pulumi-lang-yaml=\"`reverseProxyCertificateCommonNames`\" pulumi-lang-java=\"`reverseProxyCertificateCommonNames`\"\u003e`reverse_proxy_certificate_common_names`\u003c/span\u003e block as defined below. Conflicts with \u003cspan pulumi-lang-nodejs=\"`reverseProxyCertificate`\" pulumi-lang-dotnet=\"`ReverseProxyCertificate`\" pulumi-lang-go=\"`reverseProxyCertificate`\" pulumi-lang-python=\"`reverse_proxy_certificate`\" pulumi-lang-yaml=\"`reverseProxyCertificate`\" pulumi-lang-java=\"`reverseProxyCertificate`\"\u003e`reverse_proxy_certificate`\u003c/span\u003e.\n"},"serviceFabricZonalUpgradeMode":{"type":"string","description":"Specifies the logical grouping of VMs in upgrade domains. Possible values are `Hierarchical` or `Parallel`.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"upgradeMode":{"type":"string","description":"Specifies the Upgrade Mode of the cluster. Possible values are `Automatic` or `Manual`.\n"},"upgradePolicy":{"$ref":"#/types/azure:servicefabric/ClusterUpgradePolicy:ClusterUpgradePolicy","description":"A \u003cspan pulumi-lang-nodejs=\"`upgradePolicy`\" pulumi-lang-dotnet=\"`UpgradePolicy`\" pulumi-lang-go=\"`upgradePolicy`\" pulumi-lang-python=\"`upgrade_policy`\" pulumi-lang-yaml=\"`upgradePolicy`\" pulumi-lang-java=\"`upgradePolicy`\"\u003e`upgrade_policy`\u003c/span\u003e block as defined below.\n"},"vmImage":{"type":"string","description":"Specifies the Image expected for the Service Fabric Cluster, such as `Windows`. Changing this forces a new resource to be created.\n"},"vmssZonalUpgradeMode":{"type":"string","description":"Specifies the upgrade mode for the virtual machine scale set updates that happen in all availability zones at once. Possible values are `Hierarchical` or `Parallel`.\n"}},"required":["clusterCodeVersion","clusterEndpoint","location","managementEndpoint","name","nodeTypes","reliabilityLevel","resourceGroupName","upgradeMode","vmImage"],"inputProperties":{"addOnFeatures":{"type":"array","items":{"type":"string"},"description":"A List of one or more features which should be enabled, such as `DnsService`.\n"},"azureActiveDirectory":{"$ref":"#/types/azure:servicefabric/ClusterAzureActiveDirectory:ClusterAzureActiveDirectory","description":"An \u003cspan pulumi-lang-nodejs=\"`azureActiveDirectory`\" pulumi-lang-dotnet=\"`AzureActiveDirectory`\" pulumi-lang-go=\"`azureActiveDirectory`\" pulumi-lang-python=\"`azure_active_directory`\" pulumi-lang-yaml=\"`azureActiveDirectory`\" pulumi-lang-java=\"`azureActiveDirectory`\"\u003e`azure_active_directory`\u003c/span\u003e block as defined below.\n"},"certificate":{"$ref":"#/types/azure:servicefabric/ClusterCertificate:ClusterCertificate","description":"A \u003cspan pulumi-lang-nodejs=\"`certificate`\" pulumi-lang-dotnet=\"`Certificate`\" pulumi-lang-go=\"`certificate`\" pulumi-lang-python=\"`certificate`\" pulumi-lang-yaml=\"`certificate`\" pulumi-lang-java=\"`certificate`\"\u003e`certificate`\u003c/span\u003e block as defined below. Conflicts with \u003cspan pulumi-lang-nodejs=\"`certificateCommonNames`\" pulumi-lang-dotnet=\"`CertificateCommonNames`\" pulumi-lang-go=\"`certificateCommonNames`\" pulumi-lang-python=\"`certificate_common_names`\" pulumi-lang-yaml=\"`certificateCommonNames`\" pulumi-lang-java=\"`certificateCommonNames`\"\u003e`certificate_common_names`\u003c/span\u003e.\n"},"certificateCommonNames":{"$ref":"#/types/azure:servicefabric/ClusterCertificateCommonNames:ClusterCertificateCommonNames","description":"A \u003cspan pulumi-lang-nodejs=\"`certificateCommonNames`\" pulumi-lang-dotnet=\"`CertificateCommonNames`\" pulumi-lang-go=\"`certificateCommonNames`\" pulumi-lang-python=\"`certificate_common_names`\" pulumi-lang-yaml=\"`certificateCommonNames`\" pulumi-lang-java=\"`certificateCommonNames`\"\u003e`certificate_common_names`\u003c/span\u003e block as defined below. Conflicts with \u003cspan pulumi-lang-nodejs=\"`certificate`\" pulumi-lang-dotnet=\"`Certificate`\" pulumi-lang-go=\"`certificate`\" pulumi-lang-python=\"`certificate`\" pulumi-lang-yaml=\"`certificate`\" pulumi-lang-java=\"`certificate`\"\u003e`certificate`\u003c/span\u003e.\n"},"clientCertificateCommonNames":{"type":"array","items":{"$ref":"#/types/azure:servicefabric/ClusterClientCertificateCommonName:ClusterClientCertificateCommonName"},"description":"A \u003cspan pulumi-lang-nodejs=\"`clientCertificateCommonName`\" pulumi-lang-dotnet=\"`ClientCertificateCommonName`\" pulumi-lang-go=\"`clientCertificateCommonName`\" pulumi-lang-python=\"`client_certificate_common_name`\" pulumi-lang-yaml=\"`clientCertificateCommonName`\" pulumi-lang-java=\"`clientCertificateCommonName`\"\u003e`client_certificate_common_name`\u003c/span\u003e block as defined below.\n\n\u003e **Note:** If Client Certificates are enabled then at a Certificate must be configured on the cluster.\n"},"clientCertificateThumbprints":{"type":"array","items":{"$ref":"#/types/azure:servicefabric/ClusterClientCertificateThumbprint:ClusterClientCertificateThumbprint"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`clientCertificateThumbprint`\" pulumi-lang-dotnet=\"`ClientCertificateThumbprint`\" pulumi-lang-go=\"`clientCertificateThumbprint`\" pulumi-lang-python=\"`client_certificate_thumbprint`\" pulumi-lang-yaml=\"`clientCertificateThumbprint`\" pulumi-lang-java=\"`clientCertificateThumbprint`\"\u003e`client_certificate_thumbprint`\u003c/span\u003e blocks as defined below.\n"},"clusterCodeVersion":{"type":"string","description":"Required if Upgrade Mode set to `Manual`, Specifies the Version of the Cluster Code of the cluster.\n"},"diagnosticsConfig":{"$ref":"#/types/azure:servicefabric/ClusterDiagnosticsConfig:ClusterDiagnosticsConfig","description":"A \u003cspan pulumi-lang-nodejs=\"`diagnosticsConfig`\" pulumi-lang-dotnet=\"`DiagnosticsConfig`\" pulumi-lang-go=\"`diagnosticsConfig`\" pulumi-lang-python=\"`diagnostics_config`\" pulumi-lang-yaml=\"`diagnosticsConfig`\" pulumi-lang-java=\"`diagnosticsConfig`\"\u003e`diagnostics_config`\u003c/span\u003e block as defined below.\n"},"fabricSettings":{"type":"array","items":{"$ref":"#/types/azure:servicefabric/ClusterFabricSetting:ClusterFabricSetting"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`fabricSettings`\" pulumi-lang-dotnet=\"`FabricSettings`\" pulumi-lang-go=\"`fabricSettings`\" pulumi-lang-python=\"`fabric_settings`\" pulumi-lang-yaml=\"`fabricSettings`\" pulumi-lang-java=\"`fabricSettings`\"\u003e`fabric_settings`\u003c/span\u003e blocks as defined below.\n"},"location":{"type":"string","description":"Specifies the Azure Region where the Service Fabric Cluster should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"managementEndpoint":{"type":"string","description":"Specifies the Management Endpoint of the cluster such as `http://example.com`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the Service Fabric Cluster. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"nodeTypes":{"type":"array","items":{"$ref":"#/types/azure:servicefabric/ClusterNodeType:ClusterNodeType"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`nodeType`\" pulumi-lang-dotnet=\"`NodeType`\" pulumi-lang-go=\"`nodeType`\" pulumi-lang-python=\"`node_type`\" pulumi-lang-yaml=\"`nodeType`\" pulumi-lang-java=\"`nodeType`\"\u003e`node_type`\u003c/span\u003e blocks as defined below.\n"},"reliabilityLevel":{"type":"string","description":"Specifies the Reliability Level of the Cluster. Possible values include `None`, `Bronze`, `Silver`, `Gold` and `Platinum`.\n\n\u003e **Note:** The Reliability Level of the Cluster depends on the number of nodes in the Cluster: `Platinum` requires at least 9 VM's, `Gold` requires at least 7 VM's, `Silver` requires at least 5 VM's, `Bronze` requires at least 3 VM's.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group in which the Service Fabric Cluster exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"reverseProxyCertificate":{"$ref":"#/types/azure:servicefabric/ClusterReverseProxyCertificate:ClusterReverseProxyCertificate","description":"A \u003cspan pulumi-lang-nodejs=\"`reverseProxyCertificate`\" pulumi-lang-dotnet=\"`ReverseProxyCertificate`\" pulumi-lang-go=\"`reverseProxyCertificate`\" pulumi-lang-python=\"`reverse_proxy_certificate`\" pulumi-lang-yaml=\"`reverseProxyCertificate`\" pulumi-lang-java=\"`reverseProxyCertificate`\"\u003e`reverse_proxy_certificate`\u003c/span\u003e block as defined below. Conflicts with \u003cspan pulumi-lang-nodejs=\"`reverseProxyCertificateCommonNames`\" pulumi-lang-dotnet=\"`ReverseProxyCertificateCommonNames`\" pulumi-lang-go=\"`reverseProxyCertificateCommonNames`\" pulumi-lang-python=\"`reverse_proxy_certificate_common_names`\" pulumi-lang-yaml=\"`reverseProxyCertificateCommonNames`\" pulumi-lang-java=\"`reverseProxyCertificateCommonNames`\"\u003e`reverse_proxy_certificate_common_names`\u003c/span\u003e.\n"},"reverseProxyCertificateCommonNames":{"$ref":"#/types/azure:servicefabric/ClusterReverseProxyCertificateCommonNames:ClusterReverseProxyCertificateCommonNames","description":"A \u003cspan pulumi-lang-nodejs=\"`reverseProxyCertificateCommonNames`\" pulumi-lang-dotnet=\"`ReverseProxyCertificateCommonNames`\" pulumi-lang-go=\"`reverseProxyCertificateCommonNames`\" pulumi-lang-python=\"`reverse_proxy_certificate_common_names`\" pulumi-lang-yaml=\"`reverseProxyCertificateCommonNames`\" pulumi-lang-java=\"`reverseProxyCertificateCommonNames`\"\u003e`reverse_proxy_certificate_common_names`\u003c/span\u003e block as defined below. Conflicts with \u003cspan pulumi-lang-nodejs=\"`reverseProxyCertificate`\" pulumi-lang-dotnet=\"`ReverseProxyCertificate`\" pulumi-lang-go=\"`reverseProxyCertificate`\" pulumi-lang-python=\"`reverse_proxy_certificate`\" pulumi-lang-yaml=\"`reverseProxyCertificate`\" pulumi-lang-java=\"`reverseProxyCertificate`\"\u003e`reverse_proxy_certificate`\u003c/span\u003e.\n"},"serviceFabricZonalUpgradeMode":{"type":"string","description":"Specifies the logical grouping of VMs in upgrade domains. Possible values are `Hierarchical` or `Parallel`.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"upgradeMode":{"type":"string","description":"Specifies the Upgrade Mode of the cluster. Possible values are `Automatic` or `Manual`.\n"},"upgradePolicy":{"$ref":"#/types/azure:servicefabric/ClusterUpgradePolicy:ClusterUpgradePolicy","description":"A \u003cspan pulumi-lang-nodejs=\"`upgradePolicy`\" pulumi-lang-dotnet=\"`UpgradePolicy`\" pulumi-lang-go=\"`upgradePolicy`\" pulumi-lang-python=\"`upgrade_policy`\" pulumi-lang-yaml=\"`upgradePolicy`\" pulumi-lang-java=\"`upgradePolicy`\"\u003e`upgrade_policy`\u003c/span\u003e block as defined below.\n"},"vmImage":{"type":"string","description":"Specifies the Image expected for the Service Fabric Cluster, such as `Windows`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"vmssZonalUpgradeMode":{"type":"string","description":"Specifies the upgrade mode for the virtual machine scale set updates that happen in all availability zones at once. Possible values are `Hierarchical` or `Parallel`.\n"}},"requiredInputs":["managementEndpoint","nodeTypes","reliabilityLevel","resourceGroupName","upgradeMode","vmImage"],"stateInputs":{"description":"Input properties used for looking up and filtering Cluster resources.\n","properties":{"addOnFeatures":{"type":"array","items":{"type":"string"},"description":"A List of one or more features which should be enabled, such as `DnsService`.\n"},"azureActiveDirectory":{"$ref":"#/types/azure:servicefabric/ClusterAzureActiveDirectory:ClusterAzureActiveDirectory","description":"An \u003cspan pulumi-lang-nodejs=\"`azureActiveDirectory`\" pulumi-lang-dotnet=\"`AzureActiveDirectory`\" pulumi-lang-go=\"`azureActiveDirectory`\" pulumi-lang-python=\"`azure_active_directory`\" pulumi-lang-yaml=\"`azureActiveDirectory`\" pulumi-lang-java=\"`azureActiveDirectory`\"\u003e`azure_active_directory`\u003c/span\u003e block as defined below.\n"},"certificate":{"$ref":"#/types/azure:servicefabric/ClusterCertificate:ClusterCertificate","description":"A \u003cspan pulumi-lang-nodejs=\"`certificate`\" pulumi-lang-dotnet=\"`Certificate`\" pulumi-lang-go=\"`certificate`\" pulumi-lang-python=\"`certificate`\" pulumi-lang-yaml=\"`certificate`\" pulumi-lang-java=\"`certificate`\"\u003e`certificate`\u003c/span\u003e block as defined below. Conflicts with \u003cspan pulumi-lang-nodejs=\"`certificateCommonNames`\" pulumi-lang-dotnet=\"`CertificateCommonNames`\" pulumi-lang-go=\"`certificateCommonNames`\" pulumi-lang-python=\"`certificate_common_names`\" pulumi-lang-yaml=\"`certificateCommonNames`\" pulumi-lang-java=\"`certificateCommonNames`\"\u003e`certificate_common_names`\u003c/span\u003e.\n"},"certificateCommonNames":{"$ref":"#/types/azure:servicefabric/ClusterCertificateCommonNames:ClusterCertificateCommonNames","description":"A \u003cspan pulumi-lang-nodejs=\"`certificateCommonNames`\" pulumi-lang-dotnet=\"`CertificateCommonNames`\" pulumi-lang-go=\"`certificateCommonNames`\" pulumi-lang-python=\"`certificate_common_names`\" pulumi-lang-yaml=\"`certificateCommonNames`\" pulumi-lang-java=\"`certificateCommonNames`\"\u003e`certificate_common_names`\u003c/span\u003e block as defined below. Conflicts with \u003cspan pulumi-lang-nodejs=\"`certificate`\" pulumi-lang-dotnet=\"`Certificate`\" pulumi-lang-go=\"`certificate`\" pulumi-lang-python=\"`certificate`\" pulumi-lang-yaml=\"`certificate`\" pulumi-lang-java=\"`certificate`\"\u003e`certificate`\u003c/span\u003e.\n"},"clientCertificateCommonNames":{"type":"array","items":{"$ref":"#/types/azure:servicefabric/ClusterClientCertificateCommonName:ClusterClientCertificateCommonName"},"description":"A \u003cspan pulumi-lang-nodejs=\"`clientCertificateCommonName`\" pulumi-lang-dotnet=\"`ClientCertificateCommonName`\" pulumi-lang-go=\"`clientCertificateCommonName`\" pulumi-lang-python=\"`client_certificate_common_name`\" pulumi-lang-yaml=\"`clientCertificateCommonName`\" pulumi-lang-java=\"`clientCertificateCommonName`\"\u003e`client_certificate_common_name`\u003c/span\u003e block as defined below.\n\n\u003e **Note:** If Client Certificates are enabled then at a Certificate must be configured on the cluster.\n"},"clientCertificateThumbprints":{"type":"array","items":{"$ref":"#/types/azure:servicefabric/ClusterClientCertificateThumbprint:ClusterClientCertificateThumbprint"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`clientCertificateThumbprint`\" pulumi-lang-dotnet=\"`ClientCertificateThumbprint`\" pulumi-lang-go=\"`clientCertificateThumbprint`\" pulumi-lang-python=\"`client_certificate_thumbprint`\" pulumi-lang-yaml=\"`clientCertificateThumbprint`\" pulumi-lang-java=\"`clientCertificateThumbprint`\"\u003e`client_certificate_thumbprint`\u003c/span\u003e blocks as defined below.\n"},"clusterCodeVersion":{"type":"string","description":"Required if Upgrade Mode set to `Manual`, Specifies the Version of the Cluster Code of the cluster.\n"},"clusterEndpoint":{"type":"string","description":"The Cluster Endpoint for this Service Fabric Cluster.\n"},"diagnosticsConfig":{"$ref":"#/types/azure:servicefabric/ClusterDiagnosticsConfig:ClusterDiagnosticsConfig","description":"A \u003cspan pulumi-lang-nodejs=\"`diagnosticsConfig`\" pulumi-lang-dotnet=\"`DiagnosticsConfig`\" pulumi-lang-go=\"`diagnosticsConfig`\" pulumi-lang-python=\"`diagnostics_config`\" pulumi-lang-yaml=\"`diagnosticsConfig`\" pulumi-lang-java=\"`diagnosticsConfig`\"\u003e`diagnostics_config`\u003c/span\u003e block as defined below.\n"},"fabricSettings":{"type":"array","items":{"$ref":"#/types/azure:servicefabric/ClusterFabricSetting:ClusterFabricSetting"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`fabricSettings`\" pulumi-lang-dotnet=\"`FabricSettings`\" pulumi-lang-go=\"`fabricSettings`\" pulumi-lang-python=\"`fabric_settings`\" pulumi-lang-yaml=\"`fabricSettings`\" pulumi-lang-java=\"`fabricSettings`\"\u003e`fabric_settings`\u003c/span\u003e blocks as defined below.\n"},"location":{"type":"string","description":"Specifies the Azure Region where the Service Fabric Cluster should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"managementEndpoint":{"type":"string","description":"Specifies the Management Endpoint of the cluster such as `http://example.com`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the Service Fabric Cluster. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"nodeTypes":{"type":"array","items":{"$ref":"#/types/azure:servicefabric/ClusterNodeType:ClusterNodeType"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`nodeType`\" pulumi-lang-dotnet=\"`NodeType`\" pulumi-lang-go=\"`nodeType`\" pulumi-lang-python=\"`node_type`\" pulumi-lang-yaml=\"`nodeType`\" pulumi-lang-java=\"`nodeType`\"\u003e`node_type`\u003c/span\u003e blocks as defined below.\n"},"reliabilityLevel":{"type":"string","description":"Specifies the Reliability Level of the Cluster. Possible values include `None`, `Bronze`, `Silver`, `Gold` and `Platinum`.\n\n\u003e **Note:** The Reliability Level of the Cluster depends on the number of nodes in the Cluster: `Platinum` requires at least 9 VM's, `Gold` requires at least 7 VM's, `Silver` requires at least 5 VM's, `Bronze` requires at least 3 VM's.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group in which the Service Fabric Cluster exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"reverseProxyCertificate":{"$ref":"#/types/azure:servicefabric/ClusterReverseProxyCertificate:ClusterReverseProxyCertificate","description":"A \u003cspan pulumi-lang-nodejs=\"`reverseProxyCertificate`\" pulumi-lang-dotnet=\"`ReverseProxyCertificate`\" pulumi-lang-go=\"`reverseProxyCertificate`\" pulumi-lang-python=\"`reverse_proxy_certificate`\" pulumi-lang-yaml=\"`reverseProxyCertificate`\" pulumi-lang-java=\"`reverseProxyCertificate`\"\u003e`reverse_proxy_certificate`\u003c/span\u003e block as defined below. Conflicts with \u003cspan pulumi-lang-nodejs=\"`reverseProxyCertificateCommonNames`\" pulumi-lang-dotnet=\"`ReverseProxyCertificateCommonNames`\" pulumi-lang-go=\"`reverseProxyCertificateCommonNames`\" pulumi-lang-python=\"`reverse_proxy_certificate_common_names`\" pulumi-lang-yaml=\"`reverseProxyCertificateCommonNames`\" pulumi-lang-java=\"`reverseProxyCertificateCommonNames`\"\u003e`reverse_proxy_certificate_common_names`\u003c/span\u003e.\n"},"reverseProxyCertificateCommonNames":{"$ref":"#/types/azure:servicefabric/ClusterReverseProxyCertificateCommonNames:ClusterReverseProxyCertificateCommonNames","description":"A \u003cspan pulumi-lang-nodejs=\"`reverseProxyCertificateCommonNames`\" pulumi-lang-dotnet=\"`ReverseProxyCertificateCommonNames`\" pulumi-lang-go=\"`reverseProxyCertificateCommonNames`\" pulumi-lang-python=\"`reverse_proxy_certificate_common_names`\" pulumi-lang-yaml=\"`reverseProxyCertificateCommonNames`\" pulumi-lang-java=\"`reverseProxyCertificateCommonNames`\"\u003e`reverse_proxy_certificate_common_names`\u003c/span\u003e block as defined below. Conflicts with \u003cspan pulumi-lang-nodejs=\"`reverseProxyCertificate`\" pulumi-lang-dotnet=\"`ReverseProxyCertificate`\" pulumi-lang-go=\"`reverseProxyCertificate`\" pulumi-lang-python=\"`reverse_proxy_certificate`\" pulumi-lang-yaml=\"`reverseProxyCertificate`\" pulumi-lang-java=\"`reverseProxyCertificate`\"\u003e`reverse_proxy_certificate`\u003c/span\u003e.\n"},"serviceFabricZonalUpgradeMode":{"type":"string","description":"Specifies the logical grouping of VMs in upgrade domains. Possible values are `Hierarchical` or `Parallel`.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"upgradeMode":{"type":"string","description":"Specifies the Upgrade Mode of the cluster. Possible values are `Automatic` or `Manual`.\n"},"upgradePolicy":{"$ref":"#/types/azure:servicefabric/ClusterUpgradePolicy:ClusterUpgradePolicy","description":"A \u003cspan pulumi-lang-nodejs=\"`upgradePolicy`\" pulumi-lang-dotnet=\"`UpgradePolicy`\" pulumi-lang-go=\"`upgradePolicy`\" pulumi-lang-python=\"`upgrade_policy`\" pulumi-lang-yaml=\"`upgradePolicy`\" pulumi-lang-java=\"`upgradePolicy`\"\u003e`upgrade_policy`\u003c/span\u003e block as defined below.\n"},"vmImage":{"type":"string","description":"Specifies the Image expected for the Service Fabric Cluster, such as `Windows`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"vmssZonalUpgradeMode":{"type":"string","description":"Specifies the upgrade mode for the virtual machine scale set updates that happen in all availability zones at once. Possible values are `Hierarchical` or `Parallel`.\n"}},"type":"object"}},"azure:servicefabric/managedCluster:ManagedCluster":{"description":"Manages a Resource Group.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.servicefabric.ManagedCluster(\"example\", {\n    name: \"example\",\n    resourceGroupName: \"example\",\n    location: \"West Europe\",\n    httpGatewayPort: 4567,\n    lbRules: [{\n        backendPort: 38080,\n        frontendPort: 80,\n        probeProtocol: \"http\",\n        probeRequestPath: \"/test\",\n        protocol: \"tcp\",\n    }],\n    clientConnectionPort: 12345,\n    nodeTypes: [{\n        dataDiskSizeGb: 130,\n        name: \"test1\",\n        primary: true,\n        applicationPortRange: \"30000-49000\",\n        ephemeralPortRange: \"10000-20000\",\n        vmSize: \"Standard_DS1_v2\",\n        vmImagePublisher: \"MicrosoftWindowsServer\",\n        vmImageSku: \"2019-Datacenter-with-Containers\",\n        vmImageOffer: \"WindowsServer\",\n        vmImageVersion: \"latest\",\n        vmInstanceCount: 5,\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.servicefabric.ManagedCluster(\"example\",\n    name=\"example\",\n    resource_group_name=\"example\",\n    location=\"West Europe\",\n    http_gateway_port=4567,\n    lb_rules=[{\n        \"backend_port\": 38080,\n        \"frontend_port\": 80,\n        \"probe_protocol\": \"http\",\n        \"probe_request_path\": \"/test\",\n        \"protocol\": \"tcp\",\n    }],\n    client_connection_port=12345,\n    node_types=[{\n        \"data_disk_size_gb\": 130,\n        \"name\": \"test1\",\n        \"primary\": True,\n        \"application_port_range\": \"30000-49000\",\n        \"ephemeral_port_range\": \"10000-20000\",\n        \"vm_size\": \"Standard_DS1_v2\",\n        \"vm_image_publisher\": \"MicrosoftWindowsServer\",\n        \"vm_image_sku\": \"2019-Datacenter-with-Containers\",\n        \"vm_image_offer\": \"WindowsServer\",\n        \"vm_image_version\": \"latest\",\n        \"vm_instance_count\": 5,\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.ServiceFabric.ManagedCluster(\"example\", new()\n    {\n        Name = \"example\",\n        ResourceGroupName = \"example\",\n        Location = \"West Europe\",\n        HttpGatewayPort = 4567,\n        LbRules = new[]\n        {\n            new Azure.ServiceFabric.Inputs.ManagedClusterLbRuleArgs\n            {\n                BackendPort = 38080,\n                FrontendPort = 80,\n                ProbeProtocol = \"http\",\n                ProbeRequestPath = \"/test\",\n                Protocol = \"tcp\",\n            },\n        },\n        ClientConnectionPort = 12345,\n        NodeTypes = new[]\n        {\n            new Azure.ServiceFabric.Inputs.ManagedClusterNodeTypeArgs\n            {\n                DataDiskSizeGb = 130,\n                Name = \"test1\",\n                Primary = true,\n                ApplicationPortRange = \"30000-49000\",\n                EphemeralPortRange = \"10000-20000\",\n                VmSize = \"Standard_DS1_v2\",\n                VmImagePublisher = \"MicrosoftWindowsServer\",\n                VmImageSku = \"2019-Datacenter-with-Containers\",\n                VmImageOffer = \"WindowsServer\",\n                VmImageVersion = \"latest\",\n                VmInstanceCount = 5,\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/servicefabric\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := servicefabric.NewManagedCluster(ctx, \"example\", \u0026servicefabric.ManagedClusterArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tResourceGroupName: pulumi.String(\"example\"),\n\t\t\tLocation:          pulumi.String(\"West Europe\"),\n\t\t\tHttpGatewayPort:   pulumi.Int(4567),\n\t\t\tLbRules: servicefabric.ManagedClusterLbRuleArray{\n\t\t\t\t\u0026servicefabric.ManagedClusterLbRuleArgs{\n\t\t\t\t\tBackendPort:      pulumi.Int(38080),\n\t\t\t\t\tFrontendPort:     pulumi.Int(80),\n\t\t\t\t\tProbeProtocol:    pulumi.String(\"http\"),\n\t\t\t\t\tProbeRequestPath: pulumi.String(\"/test\"),\n\t\t\t\t\tProtocol:         pulumi.String(\"tcp\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tClientConnectionPort: pulumi.Int(12345),\n\t\t\tNodeTypes: servicefabric.ManagedClusterNodeTypeArray{\n\t\t\t\t\u0026servicefabric.ManagedClusterNodeTypeArgs{\n\t\t\t\t\tDataDiskSizeGb:       pulumi.Int(130),\n\t\t\t\t\tName:                 pulumi.String(\"test1\"),\n\t\t\t\t\tPrimary:              pulumi.Bool(true),\n\t\t\t\t\tApplicationPortRange: pulumi.String(\"30000-49000\"),\n\t\t\t\t\tEphemeralPortRange:   pulumi.String(\"10000-20000\"),\n\t\t\t\t\tVmSize:               pulumi.String(\"Standard_DS1_v2\"),\n\t\t\t\t\tVmImagePublisher:     pulumi.String(\"MicrosoftWindowsServer\"),\n\t\t\t\t\tVmImageSku:           pulumi.String(\"2019-Datacenter-with-Containers\"),\n\t\t\t\t\tVmImageOffer:         pulumi.String(\"WindowsServer\"),\n\t\t\t\t\tVmImageVersion:       pulumi.String(\"latest\"),\n\t\t\t\t\tVmInstanceCount:      pulumi.Int(5),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.servicefabric.ManagedCluster;\nimport com.pulumi.azure.servicefabric.ManagedClusterArgs;\nimport com.pulumi.azure.servicefabric.inputs.ManagedClusterLbRuleArgs;\nimport com.pulumi.azure.servicefabric.inputs.ManagedClusterNodeTypeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ManagedCluster(\"example\", ManagedClusterArgs.builder()\n            .name(\"example\")\n            .resourceGroupName(\"example\")\n            .location(\"West Europe\")\n            .httpGatewayPort(4567)\n            .lbRules(ManagedClusterLbRuleArgs.builder()\n                .backendPort(38080)\n                .frontendPort(80)\n                .probeProtocol(\"http\")\n                .probeRequestPath(\"/test\")\n                .protocol(\"tcp\")\n                .build())\n            .clientConnectionPort(12345)\n            .nodeTypes(ManagedClusterNodeTypeArgs.builder()\n                .dataDiskSizeGb(130)\n                .name(\"test1\")\n                .primary(true)\n                .applicationPortRange(\"30000-49000\")\n                .ephemeralPortRange(\"10000-20000\")\n                .vmSize(\"Standard_DS1_v2\")\n                .vmImagePublisher(\"MicrosoftWindowsServer\")\n                .vmImageSku(\"2019-Datacenter-with-Containers\")\n                .vmImageOffer(\"WindowsServer\")\n                .vmImageVersion(\"latest\")\n                .vmInstanceCount(5)\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:servicefabric:ManagedCluster\n    properties:\n      name: example\n      resourceGroupName: example\n      location: West Europe\n      httpGatewayPort: 4567\n      lbRules:\n        - backendPort: 38080\n          frontendPort: 80\n          probeProtocol: http\n          probeRequestPath: /test\n          protocol: tcp\n      clientConnectionPort: 12345\n      nodeTypes:\n        - dataDiskSizeGb: 130\n          name: test1\n          primary: true\n          applicationPortRange: 30000-49000\n          ephemeralPortRange: 10000-20000\n          vmSize: Standard_DS1_v2\n          vmImagePublisher: MicrosoftWindowsServer\n          vmImageSku: 2019-Datacenter-with-Containers\n          vmImageOffer: WindowsServer\n          vmImageVersion: latest\n          vmInstanceCount: 5\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.ServiceFabric` - 2024-04-01\n\n## Import\n\nResource Groups can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:servicefabric/managedCluster:ManagedCluster example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup1/providers/Microsoft.ServiceFabric/managedClusters/clusterName1\n```\n\n","properties":{"authentication":{"$ref":"#/types/azure:servicefabric/ManagedClusterAuthentication:ManagedClusterAuthentication","description":"Controls how connections to the cluster are authenticated. A \u003cspan pulumi-lang-nodejs=\"`authentication`\" pulumi-lang-dotnet=\"`Authentication`\" pulumi-lang-go=\"`authentication`\" pulumi-lang-python=\"`authentication`\" pulumi-lang-yaml=\"`authentication`\" pulumi-lang-java=\"`authentication`\"\u003e`authentication`\u003c/span\u003e block as defined below.\n"},"backupServiceEnabled":{"type":"boolean","description":"If true, backup service is enabled.\n"},"clientConnectionPort":{"type":"integer","description":"Port to use when connecting to the cluster.\n"},"customFabricSettings":{"type":"array","items":{"$ref":"#/types/azure:servicefabric/ManagedClusterCustomFabricSetting:ManagedClusterCustomFabricSetting"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`customFabricSetting`\" pulumi-lang-dotnet=\"`CustomFabricSetting`\" pulumi-lang-go=\"`customFabricSetting`\" pulumi-lang-python=\"`custom_fabric_setting`\" pulumi-lang-yaml=\"`customFabricSetting`\" pulumi-lang-java=\"`customFabricSetting`\"\u003e`custom_fabric_setting`\u003c/span\u003e blocks as defined below.\n"},"dnsName":{"type":"string","description":"Hostname for the cluster. If unset the cluster's name will be used..\n"},"dnsServiceEnabled":{"type":"boolean","description":"If true, DNS service is enabled.\n"},"httpGatewayPort":{"type":"integer","description":"Port that should be used by the Service Fabric Explorer to visualize applications and cluster status.\n"},"lbRules":{"type":"array","items":{"$ref":"#/types/azure:servicefabric/ManagedClusterLbRule:ManagedClusterLbRule"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`lbRule`\" pulumi-lang-dotnet=\"`LbRule`\" pulumi-lang-go=\"`lbRule`\" pulumi-lang-python=\"`lb_rule`\" pulumi-lang-yaml=\"`lbRule`\" pulumi-lang-java=\"`lbRule`\"\u003e`lb_rule`\u003c/span\u003e blocks as defined below.\n"},"location":{"type":"string","description":"The Azure Region where the Resource Group should exist. Changing this forces a new Resource Group to be created.\n"},"name":{"type":"string","description":"The name which should be used for this Resource Group. Changing this forces a new Resource Group to be created.\n"},"nodeTypes":{"type":"array","items":{"$ref":"#/types/azure:servicefabric/ManagedClusterNodeType:ManagedClusterNodeType"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`nodeType`\" pulumi-lang-dotnet=\"`NodeType`\" pulumi-lang-go=\"`nodeType`\" pulumi-lang-python=\"`node_type`\" pulumi-lang-yaml=\"`nodeType`\" pulumi-lang-java=\"`nodeType`\"\u003e`node_type`\u003c/span\u003e blocks as defined below.\n"},"password":{"type":"string","description":"Administrator password for the VMs that will be created as part of this cluster.\n","secret":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Resource Group should exist. Changing this forces a new Resource Group to be created.\n"},"sku":{"type":"string","description":"SKU for this cluster. Changing this forces a new resource to be created. Default is `Basic`, allowed values are either `Basic` or `Standard`.\n"},"subnetId":{"type":"string","description":"The resource ID of the Subnet. Changing this forces a new Resource Group to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Resource Group.\n"},"upgradeWave":{"type":"string","description":"Upgrade wave for the fabric runtime. Default is `Wave0`, allowed value must be one of `Wave0`, `Wave1`, or `Wave2`.\n"},"username":{"type":"string","description":"Administrator password for the VMs that will be created as part of this cluster.\n"}},"required":["clientConnectionPort","dnsName","httpGatewayPort","lbRules","location","name","resourceGroupName"],"inputProperties":{"authentication":{"$ref":"#/types/azure:servicefabric/ManagedClusterAuthentication:ManagedClusterAuthentication","description":"Controls how connections to the cluster are authenticated. A \u003cspan pulumi-lang-nodejs=\"`authentication`\" pulumi-lang-dotnet=\"`Authentication`\" pulumi-lang-go=\"`authentication`\" pulumi-lang-python=\"`authentication`\" pulumi-lang-yaml=\"`authentication`\" pulumi-lang-java=\"`authentication`\"\u003e`authentication`\u003c/span\u003e block as defined below.\n"},"backupServiceEnabled":{"type":"boolean","description":"If true, backup service is enabled.\n"},"clientConnectionPort":{"type":"integer","description":"Port to use when connecting to the cluster.\n"},"customFabricSettings":{"type":"array","items":{"$ref":"#/types/azure:servicefabric/ManagedClusterCustomFabricSetting:ManagedClusterCustomFabricSetting"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`customFabricSetting`\" pulumi-lang-dotnet=\"`CustomFabricSetting`\" pulumi-lang-go=\"`customFabricSetting`\" pulumi-lang-python=\"`custom_fabric_setting`\" pulumi-lang-yaml=\"`customFabricSetting`\" pulumi-lang-java=\"`customFabricSetting`\"\u003e`custom_fabric_setting`\u003c/span\u003e blocks as defined below.\n"},"dnsName":{"type":"string","description":"Hostname for the cluster. If unset the cluster's name will be used..\n"},"dnsServiceEnabled":{"type":"boolean","description":"If true, DNS service is enabled.\n"},"httpGatewayPort":{"type":"integer","description":"Port that should be used by the Service Fabric Explorer to visualize applications and cluster status.\n"},"lbRules":{"type":"array","items":{"$ref":"#/types/azure:servicefabric/ManagedClusterLbRule:ManagedClusterLbRule"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`lbRule`\" pulumi-lang-dotnet=\"`LbRule`\" pulumi-lang-go=\"`lbRule`\" pulumi-lang-python=\"`lb_rule`\" pulumi-lang-yaml=\"`lbRule`\" pulumi-lang-java=\"`lbRule`\"\u003e`lb_rule`\u003c/span\u003e blocks as defined below.\n"},"location":{"type":"string","description":"The Azure Region where the Resource Group should exist. Changing this forces a new Resource Group to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Resource Group. Changing this forces a new Resource Group to be created.\n","willReplaceOnChanges":true},"nodeTypes":{"type":"array","items":{"$ref":"#/types/azure:servicefabric/ManagedClusterNodeType:ManagedClusterNodeType"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`nodeType`\" pulumi-lang-dotnet=\"`NodeType`\" pulumi-lang-go=\"`nodeType`\" pulumi-lang-python=\"`node_type`\" pulumi-lang-yaml=\"`nodeType`\" pulumi-lang-java=\"`nodeType`\"\u003e`node_type`\u003c/span\u003e blocks as defined below.\n"},"password":{"type":"string","description":"Administrator password for the VMs that will be created as part of this cluster.\n","secret":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Resource Group should exist. Changing this forces a new Resource Group to be created.\n","willReplaceOnChanges":true},"sku":{"type":"string","description":"SKU for this cluster. Changing this forces a new resource to be created. Default is `Basic`, allowed values are either `Basic` or `Standard`.\n","willReplaceOnChanges":true},"subnetId":{"type":"string","description":"The resource ID of the Subnet. Changing this forces a new Resource Group to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Resource Group.\n"},"upgradeWave":{"type":"string","description":"Upgrade wave for the fabric runtime. Default is `Wave0`, allowed value must be one of `Wave0`, `Wave1`, or `Wave2`.\n"},"username":{"type":"string","description":"Administrator password for the VMs that will be created as part of this cluster.\n"}},"requiredInputs":["clientConnectionPort","httpGatewayPort","lbRules","resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering ManagedCluster resources.\n","properties":{"authentication":{"$ref":"#/types/azure:servicefabric/ManagedClusterAuthentication:ManagedClusterAuthentication","description":"Controls how connections to the cluster are authenticated. A \u003cspan pulumi-lang-nodejs=\"`authentication`\" pulumi-lang-dotnet=\"`Authentication`\" pulumi-lang-go=\"`authentication`\" pulumi-lang-python=\"`authentication`\" pulumi-lang-yaml=\"`authentication`\" pulumi-lang-java=\"`authentication`\"\u003e`authentication`\u003c/span\u003e block as defined below.\n"},"backupServiceEnabled":{"type":"boolean","description":"If true, backup service is enabled.\n"},"clientConnectionPort":{"type":"integer","description":"Port to use when connecting to the cluster.\n"},"customFabricSettings":{"type":"array","items":{"$ref":"#/types/azure:servicefabric/ManagedClusterCustomFabricSetting:ManagedClusterCustomFabricSetting"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`customFabricSetting`\" pulumi-lang-dotnet=\"`CustomFabricSetting`\" pulumi-lang-go=\"`customFabricSetting`\" pulumi-lang-python=\"`custom_fabric_setting`\" pulumi-lang-yaml=\"`customFabricSetting`\" pulumi-lang-java=\"`customFabricSetting`\"\u003e`custom_fabric_setting`\u003c/span\u003e blocks as defined below.\n"},"dnsName":{"type":"string","description":"Hostname for the cluster. If unset the cluster's name will be used..\n"},"dnsServiceEnabled":{"type":"boolean","description":"If true, DNS service is enabled.\n"},"httpGatewayPort":{"type":"integer","description":"Port that should be used by the Service Fabric Explorer to visualize applications and cluster status.\n"},"lbRules":{"type":"array","items":{"$ref":"#/types/azure:servicefabric/ManagedClusterLbRule:ManagedClusterLbRule"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`lbRule`\" pulumi-lang-dotnet=\"`LbRule`\" pulumi-lang-go=\"`lbRule`\" pulumi-lang-python=\"`lb_rule`\" pulumi-lang-yaml=\"`lbRule`\" pulumi-lang-java=\"`lbRule`\"\u003e`lb_rule`\u003c/span\u003e blocks as defined below.\n"},"location":{"type":"string","description":"The Azure Region where the Resource Group should exist. Changing this forces a new Resource Group to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Resource Group. Changing this forces a new Resource Group to be created.\n","willReplaceOnChanges":true},"nodeTypes":{"type":"array","items":{"$ref":"#/types/azure:servicefabric/ManagedClusterNodeType:ManagedClusterNodeType"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`nodeType`\" pulumi-lang-dotnet=\"`NodeType`\" pulumi-lang-go=\"`nodeType`\" pulumi-lang-python=\"`node_type`\" pulumi-lang-yaml=\"`nodeType`\" pulumi-lang-java=\"`nodeType`\"\u003e`node_type`\u003c/span\u003e blocks as defined below.\n"},"password":{"type":"string","description":"Administrator password for the VMs that will be created as part of this cluster.\n","secret":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Resource Group should exist. Changing this forces a new Resource Group to be created.\n","willReplaceOnChanges":true},"sku":{"type":"string","description":"SKU for this cluster. Changing this forces a new resource to be created. Default is `Basic`, allowed values are either `Basic` or `Standard`.\n","willReplaceOnChanges":true},"subnetId":{"type":"string","description":"The resource ID of the Subnet. Changing this forces a new Resource Group to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Resource Group.\n"},"upgradeWave":{"type":"string","description":"Upgrade wave for the fabric runtime. Default is `Wave0`, allowed value must be one of `Wave0`, `Wave1`, or `Wave2`.\n"},"username":{"type":"string","description":"Administrator password for the VMs that will be created as part of this cluster.\n"}},"type":"object"}},"azure:signalr/service:Service":{"description":"Manages an Azure SignalR service.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"my-signalr\",\n    location: \"West US\",\n});\nconst exampleService = new azure.signalr.Service(\"example\", {\n    name: \"tfex-signalr\",\n    location: example.location,\n    resourceGroupName: example.name,\n    sku: {\n        name: \"Free_F1\",\n        capacity: 1,\n    },\n    cors: [{\n        allowedOrigins: [\"http://www.example.com\"],\n    }],\n    publicNetworkAccessEnabled: false,\n    connectivityLogsEnabled: true,\n    messagingLogsEnabled: true,\n    serviceMode: \"Default\",\n    upstreamEndpoints: [{\n        categoryPatterns: [\n            \"connections\",\n            \"messages\",\n        ],\n        eventPatterns: [\"*\"],\n        hubPatterns: [\"hub1\"],\n        urlTemplate: \"http://foo.com\",\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"my-signalr\",\n    location=\"West US\")\nexample_service = azure.signalr.Service(\"example\",\n    name=\"tfex-signalr\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku={\n        \"name\": \"Free_F1\",\n        \"capacity\": 1,\n    },\n    cors=[{\n        \"allowed_origins\": [\"http://www.example.com\"],\n    }],\n    public_network_access_enabled=False,\n    connectivity_logs_enabled=True,\n    messaging_logs_enabled=True,\n    service_mode=\"Default\",\n    upstream_endpoints=[{\n        \"category_patterns\": [\n            \"connections\",\n            \"messages\",\n        ],\n        \"event_patterns\": [\"*\"],\n        \"hub_patterns\": [\"hub1\"],\n        \"url_template\": \"http://foo.com\",\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"my-signalr\",\n        Location = \"West US\",\n    });\n\n    var exampleService = new Azure.SignalR.Service(\"example\", new()\n    {\n        Name = \"tfex-signalr\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Sku = new Azure.SignalR.Inputs.ServiceSkuArgs\n        {\n            Name = \"Free_F1\",\n            Capacity = 1,\n        },\n        Cors = new[]\n        {\n            new Azure.SignalR.Inputs.ServiceCorArgs\n            {\n                AllowedOrigins = new[]\n                {\n                    \"http://www.example.com\",\n                },\n            },\n        },\n        PublicNetworkAccessEnabled = false,\n        ConnectivityLogsEnabled = true,\n        MessagingLogsEnabled = true,\n        ServiceMode = \"Default\",\n        UpstreamEndpoints = new[]\n        {\n            new Azure.SignalR.Inputs.ServiceUpstreamEndpointArgs\n            {\n                CategoryPatterns = new[]\n                {\n                    \"connections\",\n                    \"messages\",\n                },\n                EventPatterns = new[]\n                {\n                    \"*\",\n                },\n                HubPatterns = new[]\n                {\n                    \"hub1\",\n                },\n                UrlTemplate = \"http://foo.com\",\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/signalr\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"my-signalr\"),\n\t\t\tLocation: pulumi.String(\"West US\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = signalr.NewService(ctx, \"example\", \u0026signalr.ServiceArgs{\n\t\t\tName:              pulumi.String(\"tfex-signalr\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSku: \u0026signalr.ServiceSkuArgs{\n\t\t\t\tName:     pulumi.String(\"Free_F1\"),\n\t\t\t\tCapacity: pulumi.Int(1),\n\t\t\t},\n\t\t\tCors: signalr.ServiceCorArray{\n\t\t\t\t\u0026signalr.ServiceCorArgs{\n\t\t\t\t\tAllowedOrigins: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"http://www.example.com\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tPublicNetworkAccessEnabled: pulumi.Bool(false),\n\t\t\tConnectivityLogsEnabled:    pulumi.Bool(true),\n\t\t\tMessagingLogsEnabled:       pulumi.Bool(true),\n\t\t\tServiceMode:                pulumi.String(\"Default\"),\n\t\t\tUpstreamEndpoints: signalr.ServiceUpstreamEndpointArray{\n\t\t\t\t\u0026signalr.ServiceUpstreamEndpointArgs{\n\t\t\t\t\tCategoryPatterns: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"connections\"),\n\t\t\t\t\t\tpulumi.String(\"messages\"),\n\t\t\t\t\t},\n\t\t\t\t\tEventPatterns: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"*\"),\n\t\t\t\t\t},\n\t\t\t\t\tHubPatterns: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"hub1\"),\n\t\t\t\t\t},\n\t\t\t\t\tUrlTemplate: pulumi.String(\"http://foo.com\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.signalr.Service;\nimport com.pulumi.azure.signalr.ServiceArgs;\nimport com.pulumi.azure.signalr.inputs.ServiceSkuArgs;\nimport com.pulumi.azure.signalr.inputs.ServiceCorArgs;\nimport com.pulumi.azure.signalr.inputs.ServiceUpstreamEndpointArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"my-signalr\")\n            .location(\"West US\")\n            .build());\n\n        var exampleService = new Service(\"exampleService\", ServiceArgs.builder()\n            .name(\"tfex-signalr\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .sku(ServiceSkuArgs.builder()\n                .name(\"Free_F1\")\n                .capacity(1)\n                .build())\n            .cors(ServiceCorArgs.builder()\n                .allowedOrigins(\"http://www.example.com\")\n                .build())\n            .publicNetworkAccessEnabled(false)\n            .connectivityLogsEnabled(true)\n            .messagingLogsEnabled(true)\n            .serviceMode(\"Default\")\n            .upstreamEndpoints(ServiceUpstreamEndpointArgs.builder()\n                .categoryPatterns(                \n                    \"connections\",\n                    \"messages\")\n                .eventPatterns(\"*\")\n                .hubPatterns(\"hub1\")\n                .urlTemplate(\"http://foo.com\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: my-signalr\n      location: West US\n  exampleService:\n    type: azure:signalr:Service\n    name: example\n    properties:\n      name: tfex-signalr\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      sku:\n        name: Free_F1\n        capacity: 1\n      cors:\n        - allowedOrigins:\n            - http://www.example.com\n      publicNetworkAccessEnabled: false\n      connectivityLogsEnabled: true\n      messagingLogsEnabled: true\n      serviceMode: Default\n      upstreamEndpoints:\n        - categoryPatterns:\n            - connections\n            - messages\n          eventPatterns:\n            - '*'\n          hubPatterns:\n            - hub1\n          urlTemplate: http://foo.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.SignalRService` - 2024-03-01\n\n## Import\n\nSignalR services can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:signalr/service:Service example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/terraform-signalr/providers/Microsoft.SignalRService/signalR/tfex-signalr\n```\n\n","properties":{"aadAuthEnabled":{"type":"boolean","description":"Whether to enable AAD auth? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"connectivityLogsEnabled":{"type":"boolean","description":"Specifies if Connectivity Logs are enabled or not. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"cors":{"type":"array","items":{"$ref":"#/types/azure:signalr/ServiceCor:ServiceCor"},"description":"A \u003cspan pulumi-lang-nodejs=\"`cors`\" pulumi-lang-dotnet=\"`Cors`\" pulumi-lang-go=\"`cors`\" pulumi-lang-python=\"`cors`\" pulumi-lang-yaml=\"`cors`\" pulumi-lang-java=\"`cors`\"\u003e`cors`\u003c/span\u003e block as documented below.\n"},"hostname":{"type":"string","description":"The FQDN of the SignalR service.\n"},"httpRequestLogsEnabled":{"type":"boolean","description":"Specifies if Http Request Logs are enabled or not. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"identity":{"$ref":"#/types/azure:signalr/ServiceIdentity:ServiceIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"ipAddress":{"type":"string","description":"The publicly accessible IP of the SignalR service.\n"},"liveTrace":{"$ref":"#/types/azure:signalr/ServiceLiveTrace:ServiceLiveTrace","description":"A \u003cspan pulumi-lang-nodejs=\"`liveTrace`\" pulumi-lang-dotnet=\"`LiveTrace`\" pulumi-lang-go=\"`liveTrace`\" pulumi-lang-python=\"`live_trace`\" pulumi-lang-yaml=\"`liveTrace`\" pulumi-lang-java=\"`liveTrace`\"\u003e`live_trace`\u003c/span\u003e block as defined below.\n"},"liveTraceEnabled":{"type":"boolean","deprecationMessage":"\u003cspan pulumi-lang-nodejs=\"`liveTraceEnabled`\" pulumi-lang-dotnet=\"`LiveTraceEnabled`\" pulumi-lang-go=\"`liveTraceEnabled`\" pulumi-lang-python=\"`live_trace_enabled`\" pulumi-lang-yaml=\"`liveTraceEnabled`\" pulumi-lang-java=\"`liveTraceEnabled`\"\u003e`live_trace_enabled`\u003c/span\u003e has been deprecated in favor of \u003cspan pulumi-lang-nodejs=\"`liveTrace`\" pulumi-lang-dotnet=\"`LiveTrace`\" pulumi-lang-go=\"`liveTrace`\" pulumi-lang-python=\"`live_trace`\" pulumi-lang-yaml=\"`liveTrace`\" pulumi-lang-java=\"`liveTrace`\"\u003e`live_trace`\u003c/span\u003e and will be removed in 4.0."},"localAuthEnabled":{"type":"boolean","description":"Whether to enable local auth? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the SignalR service exists. Changing this forces a new resource to be created.\n"},"messagingLogsEnabled":{"type":"boolean","description":"Specifies if Messaging Logs are enabled or not. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"name":{"type":"string","description":"The name of the SignalR service. Changing this forces a new resource to be created.\n"},"primaryAccessKey":{"type":"string","description":"The primary access key for the SignalR service.\n","secret":true},"primaryConnectionString":{"type":"string","description":"The primary connection string for the SignalR service.\n","secret":true},"publicNetworkAccessEnabled":{"type":"boolean","description":"Whether to enable public network access? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`publicNetworkAccessEnabled`\" pulumi-lang-dotnet=\"`PublicNetworkAccessEnabled`\" pulumi-lang-go=\"`publicNetworkAccessEnabled`\" pulumi-lang-python=\"`public_network_access_enabled`\" pulumi-lang-yaml=\"`publicNetworkAccessEnabled`\" pulumi-lang-java=\"`publicNetworkAccessEnabled`\"\u003e`public_network_access_enabled`\u003c/span\u003e cannot be set to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e in `Free` sku tier.\n"},"publicPort":{"type":"integer","description":"The publicly accessible port of the SignalR service which is designed for browser/client use.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the SignalR service. Changing this forces a new resource to be created.\n"},"secondaryAccessKey":{"type":"string","description":"The secondary access key for the SignalR service.\n","secret":true},"secondaryConnectionString":{"type":"string","description":"The secondary connection string for the SignalR service.\n","secret":true},"serverPort":{"type":"integer","description":"The publicly accessible port of the SignalR service which is designed for customer server side use.\n"},"serverlessConnectionTimeoutInSeconds":{"type":"integer","description":"Specifies the client connection timeout. Defaults to \u003cspan pulumi-lang-nodejs=\"`30`\" pulumi-lang-dotnet=\"`30`\" pulumi-lang-go=\"`30`\" pulumi-lang-python=\"`30`\" pulumi-lang-yaml=\"`30`\" pulumi-lang-java=\"`30`\"\u003e`30`\u003c/span\u003e.\n"},"serviceMode":{"type":"string","description":"Specifies the service mode. Possible values are `Classic`, `Default` and `Serverless`. Defaults to `Default`.\n"},"sku":{"$ref":"#/types/azure:signalr/ServiceSku:ServiceSku","description":"A \u003cspan pulumi-lang-nodejs=\"`sku`\" pulumi-lang-dotnet=\"`Sku`\" pulumi-lang-go=\"`sku`\" pulumi-lang-python=\"`sku`\" pulumi-lang-yaml=\"`sku`\" pulumi-lang-java=\"`sku`\"\u003e`sku`\u003c/span\u003e block as documented below.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"tlsClientCertEnabled":{"type":"boolean","description":"Whether to request client certificate during TLS handshake? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`tlsClientCertEnabled`\" pulumi-lang-dotnet=\"`TlsClientCertEnabled`\" pulumi-lang-go=\"`tlsClientCertEnabled`\" pulumi-lang-python=\"`tls_client_cert_enabled`\" pulumi-lang-yaml=\"`tlsClientCertEnabled`\" pulumi-lang-java=\"`tlsClientCertEnabled`\"\u003e`tls_client_cert_enabled`\u003c/span\u003e cannot be set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e in `Free` sku tier.\n"},"upstreamEndpoints":{"type":"array","items":{"$ref":"#/types/azure:signalr/ServiceUpstreamEndpoint:ServiceUpstreamEndpoint"},"description":"An \u003cspan pulumi-lang-nodejs=\"`upstreamEndpoint`\" pulumi-lang-dotnet=\"`UpstreamEndpoint`\" pulumi-lang-go=\"`upstreamEndpoint`\" pulumi-lang-python=\"`upstream_endpoint`\" pulumi-lang-yaml=\"`upstreamEndpoint`\" pulumi-lang-java=\"`upstreamEndpoint`\"\u003e`upstream_endpoint`\u003c/span\u003e block as documented below. Using this block requires the SignalR service to be Serverless. When creating multiple blocks they will be processed in the order they are defined in.\n"}},"required":["cors","hostname","ipAddress","location","name","primaryAccessKey","primaryConnectionString","publicPort","resourceGroupName","secondaryAccessKey","secondaryConnectionString","serverPort","sku"],"inputProperties":{"aadAuthEnabled":{"type":"boolean","description":"Whether to enable AAD auth? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"connectivityLogsEnabled":{"type":"boolean","description":"Specifies if Connectivity Logs are enabled or not. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"cors":{"type":"array","items":{"$ref":"#/types/azure:signalr/ServiceCor:ServiceCor"},"description":"A \u003cspan pulumi-lang-nodejs=\"`cors`\" pulumi-lang-dotnet=\"`Cors`\" pulumi-lang-go=\"`cors`\" pulumi-lang-python=\"`cors`\" pulumi-lang-yaml=\"`cors`\" pulumi-lang-java=\"`cors`\"\u003e`cors`\u003c/span\u003e block as documented below.\n"},"httpRequestLogsEnabled":{"type":"boolean","description":"Specifies if Http Request Logs are enabled or not. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"identity":{"$ref":"#/types/azure:signalr/ServiceIdentity:ServiceIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"liveTrace":{"$ref":"#/types/azure:signalr/ServiceLiveTrace:ServiceLiveTrace","description":"A \u003cspan pulumi-lang-nodejs=\"`liveTrace`\" pulumi-lang-dotnet=\"`LiveTrace`\" pulumi-lang-go=\"`liveTrace`\" pulumi-lang-python=\"`live_trace`\" pulumi-lang-yaml=\"`liveTrace`\" pulumi-lang-java=\"`liveTrace`\"\u003e`live_trace`\u003c/span\u003e block as defined below.\n"},"liveTraceEnabled":{"type":"boolean","deprecationMessage":"\u003cspan pulumi-lang-nodejs=\"`liveTraceEnabled`\" pulumi-lang-dotnet=\"`LiveTraceEnabled`\" pulumi-lang-go=\"`liveTraceEnabled`\" pulumi-lang-python=\"`live_trace_enabled`\" pulumi-lang-yaml=\"`liveTraceEnabled`\" pulumi-lang-java=\"`liveTraceEnabled`\"\u003e`live_trace_enabled`\u003c/span\u003e has been deprecated in favor of \u003cspan pulumi-lang-nodejs=\"`liveTrace`\" pulumi-lang-dotnet=\"`LiveTrace`\" pulumi-lang-go=\"`liveTrace`\" pulumi-lang-python=\"`live_trace`\" pulumi-lang-yaml=\"`liveTrace`\" pulumi-lang-java=\"`liveTrace`\"\u003e`live_trace`\u003c/span\u003e and will be removed in 4.0."},"localAuthEnabled":{"type":"boolean","description":"Whether to enable local auth? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the SignalR service exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"messagingLogsEnabled":{"type":"boolean","description":"Specifies if Messaging Logs are enabled or not. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"name":{"type":"string","description":"The name of the SignalR service. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"publicNetworkAccessEnabled":{"type":"boolean","description":"Whether to enable public network access? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`publicNetworkAccessEnabled`\" pulumi-lang-dotnet=\"`PublicNetworkAccessEnabled`\" pulumi-lang-go=\"`publicNetworkAccessEnabled`\" pulumi-lang-python=\"`public_network_access_enabled`\" pulumi-lang-yaml=\"`publicNetworkAccessEnabled`\" pulumi-lang-java=\"`publicNetworkAccessEnabled`\"\u003e`public_network_access_enabled`\u003c/span\u003e cannot be set to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e in `Free` sku tier.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the SignalR service. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"serverlessConnectionTimeoutInSeconds":{"type":"integer","description":"Specifies the client connection timeout. Defaults to \u003cspan pulumi-lang-nodejs=\"`30`\" pulumi-lang-dotnet=\"`30`\" pulumi-lang-go=\"`30`\" pulumi-lang-python=\"`30`\" pulumi-lang-yaml=\"`30`\" pulumi-lang-java=\"`30`\"\u003e`30`\u003c/span\u003e.\n"},"serviceMode":{"type":"string","description":"Specifies the service mode. Possible values are `Classic`, `Default` and `Serverless`. Defaults to `Default`.\n"},"sku":{"$ref":"#/types/azure:signalr/ServiceSku:ServiceSku","description":"A \u003cspan pulumi-lang-nodejs=\"`sku`\" pulumi-lang-dotnet=\"`Sku`\" pulumi-lang-go=\"`sku`\" pulumi-lang-python=\"`sku`\" pulumi-lang-yaml=\"`sku`\" pulumi-lang-java=\"`sku`\"\u003e`sku`\u003c/span\u003e block as documented below.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"tlsClientCertEnabled":{"type":"boolean","description":"Whether to request client certificate during TLS handshake? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`tlsClientCertEnabled`\" pulumi-lang-dotnet=\"`TlsClientCertEnabled`\" pulumi-lang-go=\"`tlsClientCertEnabled`\" pulumi-lang-python=\"`tls_client_cert_enabled`\" pulumi-lang-yaml=\"`tlsClientCertEnabled`\" pulumi-lang-java=\"`tlsClientCertEnabled`\"\u003e`tls_client_cert_enabled`\u003c/span\u003e cannot be set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e in `Free` sku tier.\n"},"upstreamEndpoints":{"type":"array","items":{"$ref":"#/types/azure:signalr/ServiceUpstreamEndpoint:ServiceUpstreamEndpoint"},"description":"An \u003cspan pulumi-lang-nodejs=\"`upstreamEndpoint`\" pulumi-lang-dotnet=\"`UpstreamEndpoint`\" pulumi-lang-go=\"`upstreamEndpoint`\" pulumi-lang-python=\"`upstream_endpoint`\" pulumi-lang-yaml=\"`upstreamEndpoint`\" pulumi-lang-java=\"`upstreamEndpoint`\"\u003e`upstream_endpoint`\u003c/span\u003e block as documented below. Using this block requires the SignalR service to be Serverless. When creating multiple blocks they will be processed in the order they are defined in.\n"}},"requiredInputs":["resourceGroupName","sku"],"stateInputs":{"description":"Input properties used for looking up and filtering Service resources.\n","properties":{"aadAuthEnabled":{"type":"boolean","description":"Whether to enable AAD auth? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"connectivityLogsEnabled":{"type":"boolean","description":"Specifies if Connectivity Logs are enabled or not. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"cors":{"type":"array","items":{"$ref":"#/types/azure:signalr/ServiceCor:ServiceCor"},"description":"A \u003cspan pulumi-lang-nodejs=\"`cors`\" pulumi-lang-dotnet=\"`Cors`\" pulumi-lang-go=\"`cors`\" pulumi-lang-python=\"`cors`\" pulumi-lang-yaml=\"`cors`\" pulumi-lang-java=\"`cors`\"\u003e`cors`\u003c/span\u003e block as documented below.\n"},"hostname":{"type":"string","description":"The FQDN of the SignalR service.\n"},"httpRequestLogsEnabled":{"type":"boolean","description":"Specifies if Http Request Logs are enabled or not. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"identity":{"$ref":"#/types/azure:signalr/ServiceIdentity:ServiceIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"ipAddress":{"type":"string","description":"The publicly accessible IP of the SignalR service.\n"},"liveTrace":{"$ref":"#/types/azure:signalr/ServiceLiveTrace:ServiceLiveTrace","description":"A \u003cspan pulumi-lang-nodejs=\"`liveTrace`\" pulumi-lang-dotnet=\"`LiveTrace`\" pulumi-lang-go=\"`liveTrace`\" pulumi-lang-python=\"`live_trace`\" pulumi-lang-yaml=\"`liveTrace`\" pulumi-lang-java=\"`liveTrace`\"\u003e`live_trace`\u003c/span\u003e block as defined below.\n"},"liveTraceEnabled":{"type":"boolean","deprecationMessage":"\u003cspan pulumi-lang-nodejs=\"`liveTraceEnabled`\" pulumi-lang-dotnet=\"`LiveTraceEnabled`\" pulumi-lang-go=\"`liveTraceEnabled`\" pulumi-lang-python=\"`live_trace_enabled`\" pulumi-lang-yaml=\"`liveTraceEnabled`\" pulumi-lang-java=\"`liveTraceEnabled`\"\u003e`live_trace_enabled`\u003c/span\u003e has been deprecated in favor of \u003cspan pulumi-lang-nodejs=\"`liveTrace`\" pulumi-lang-dotnet=\"`LiveTrace`\" pulumi-lang-go=\"`liveTrace`\" pulumi-lang-python=\"`live_trace`\" pulumi-lang-yaml=\"`liveTrace`\" pulumi-lang-java=\"`liveTrace`\"\u003e`live_trace`\u003c/span\u003e and will be removed in 4.0."},"localAuthEnabled":{"type":"boolean","description":"Whether to enable local auth? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the SignalR service exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"messagingLogsEnabled":{"type":"boolean","description":"Specifies if Messaging Logs are enabled or not. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"name":{"type":"string","description":"The name of the SignalR service. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"primaryAccessKey":{"type":"string","description":"The primary access key for the SignalR service.\n","secret":true},"primaryConnectionString":{"type":"string","description":"The primary connection string for the SignalR service.\n","secret":true},"publicNetworkAccessEnabled":{"type":"boolean","description":"Whether to enable public network access? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`publicNetworkAccessEnabled`\" pulumi-lang-dotnet=\"`PublicNetworkAccessEnabled`\" pulumi-lang-go=\"`publicNetworkAccessEnabled`\" pulumi-lang-python=\"`public_network_access_enabled`\" pulumi-lang-yaml=\"`publicNetworkAccessEnabled`\" pulumi-lang-java=\"`publicNetworkAccessEnabled`\"\u003e`public_network_access_enabled`\u003c/span\u003e cannot be set to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e in `Free` sku tier.\n"},"publicPort":{"type":"integer","description":"The publicly accessible port of the SignalR service which is designed for browser/client use.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the SignalR service. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"secondaryAccessKey":{"type":"string","description":"The secondary access key for the SignalR service.\n","secret":true},"secondaryConnectionString":{"type":"string","description":"The secondary connection string for the SignalR service.\n","secret":true},"serverPort":{"type":"integer","description":"The publicly accessible port of the SignalR service which is designed for customer server side use.\n"},"serverlessConnectionTimeoutInSeconds":{"type":"integer","description":"Specifies the client connection timeout. Defaults to \u003cspan pulumi-lang-nodejs=\"`30`\" pulumi-lang-dotnet=\"`30`\" pulumi-lang-go=\"`30`\" pulumi-lang-python=\"`30`\" pulumi-lang-yaml=\"`30`\" pulumi-lang-java=\"`30`\"\u003e`30`\u003c/span\u003e.\n"},"serviceMode":{"type":"string","description":"Specifies the service mode. Possible values are `Classic`, `Default` and `Serverless`. Defaults to `Default`.\n"},"sku":{"$ref":"#/types/azure:signalr/ServiceSku:ServiceSku","description":"A \u003cspan pulumi-lang-nodejs=\"`sku`\" pulumi-lang-dotnet=\"`Sku`\" pulumi-lang-go=\"`sku`\" pulumi-lang-python=\"`sku`\" pulumi-lang-yaml=\"`sku`\" pulumi-lang-java=\"`sku`\"\u003e`sku`\u003c/span\u003e block as documented below.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"tlsClientCertEnabled":{"type":"boolean","description":"Whether to request client certificate during TLS handshake? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`tlsClientCertEnabled`\" pulumi-lang-dotnet=\"`TlsClientCertEnabled`\" pulumi-lang-go=\"`tlsClientCertEnabled`\" pulumi-lang-python=\"`tls_client_cert_enabled`\" pulumi-lang-yaml=\"`tlsClientCertEnabled`\" pulumi-lang-java=\"`tlsClientCertEnabled`\"\u003e`tls_client_cert_enabled`\u003c/span\u003e cannot be set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e in `Free` sku tier.\n"},"upstreamEndpoints":{"type":"array","items":{"$ref":"#/types/azure:signalr/ServiceUpstreamEndpoint:ServiceUpstreamEndpoint"},"description":"An \u003cspan pulumi-lang-nodejs=\"`upstreamEndpoint`\" pulumi-lang-dotnet=\"`UpstreamEndpoint`\" pulumi-lang-go=\"`upstreamEndpoint`\" pulumi-lang-python=\"`upstream_endpoint`\" pulumi-lang-yaml=\"`upstreamEndpoint`\" pulumi-lang-java=\"`upstreamEndpoint`\"\u003e`upstream_endpoint`\u003c/span\u003e block as documented below. Using this block requires the SignalR service to be Serverless. When creating multiple blocks they will be processed in the order they are defined in.\n"}},"type":"object"}},"azure:signalr/serviceCustomCertificate:ServiceCustomCertificate":{"description":"Manages an Azure SignalR Custom Certificate.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\nimport * as std from \"@pulumi/std\";\n\nconst current = azure.core.getClientConfig({});\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleService = new azure.signalr.Service(\"example\", {\n    name: \"example-signalr\",\n    location: testAzurermResourceGroup.location,\n    resourceGroupName: testAzurermResourceGroup.name,\n    sku: {\n        name: \"Premium_P1\",\n        capacity: 1,\n    },\n    identity: {\n        type: \"SystemAssigned\",\n    },\n});\nconst exampleKeyVault = new azure.keyvault.KeyVault(\"example\", {\n    name: \"example-keyvault\",\n    location: example.location,\n    resourceGroupName: example.name,\n    tenantId: current.then(current =\u003e current.tenantId),\n    skuName: \"premium\",\n    accessPolicies: [\n        {\n            tenantId: current.then(current =\u003e current.tenantId),\n            objectId: current.then(current =\u003e current.objectId),\n            certificatePermissions: [\n                \"Create\",\n                \"Get\",\n                \"List\",\n            ],\n            secretPermissions: [\n                \"Get\",\n                \"List\",\n            ],\n        },\n        {\n            tenantId: current.then(current =\u003e current.tenantId),\n            objectId: testAzurermSignalrService.identity[0].principalId,\n            certificatePermissions: [\n                \"Create\",\n                \"Get\",\n                \"List\",\n            ],\n            secretPermissions: [\n                \"Get\",\n                \"List\",\n            ],\n        },\n    ],\n});\nconst exampleCertificate = new azure.keyvault.Certificate(\"example\", {\n    name: \"imported-cert\",\n    keyVaultId: exampleKeyVault.id,\n    certificate: {\n        contents: std.filebase64({\n            input: \"certificate-to-import.pfx\",\n        }).then(invoke =\u003e invoke.result),\n        password: \"\",\n    },\n});\nconst test = new azure.signalr.ServiceCustomCertificate(\"test\", {\n    name: \"example-cert\",\n    signalrServiceId: exampleService.id,\n    customCertificateId: exampleCertificate.id,\n}, {\n    dependsOn: [exampleAzurermKeyVaultAccessPolicy],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\nimport pulumi_std as std\n\ncurrent = azure.core.get_client_config()\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_service = azure.signalr.Service(\"example\",\n    name=\"example-signalr\",\n    location=test_azurerm_resource_group[\"location\"],\n    resource_group_name=test_azurerm_resource_group[\"name\"],\n    sku={\n        \"name\": \"Premium_P1\",\n        \"capacity\": 1,\n    },\n    identity={\n        \"type\": \"SystemAssigned\",\n    })\nexample_key_vault = azure.keyvault.KeyVault(\"example\",\n    name=\"example-keyvault\",\n    location=example.location,\n    resource_group_name=example.name,\n    tenant_id=current.tenant_id,\n    sku_name=\"premium\",\n    access_policies=[\n        {\n            \"tenant_id\": current.tenant_id,\n            \"object_id\": current.object_id,\n            \"certificate_permissions\": [\n                \"Create\",\n                \"Get\",\n                \"List\",\n            ],\n            \"secret_permissions\": [\n                \"Get\",\n                \"List\",\n            ],\n        },\n        {\n            \"tenant_id\": current.tenant_id,\n            \"object_id\": test_azurerm_signalr_service[\"identity\"][0][\"principalId\"],\n            \"certificate_permissions\": [\n                \"Create\",\n                \"Get\",\n                \"List\",\n            ],\n            \"secret_permissions\": [\n                \"Get\",\n                \"List\",\n            ],\n        },\n    ])\nexample_certificate = azure.keyvault.Certificate(\"example\",\n    name=\"imported-cert\",\n    key_vault_id=example_key_vault.id,\n    certificate={\n        \"contents\": std.filebase64(input=\"certificate-to-import.pfx\").result,\n        \"password\": \"\",\n    })\ntest = azure.signalr.ServiceCustomCertificate(\"test\",\n    name=\"example-cert\",\n    signalr_service_id=example_service.id,\n    custom_certificate_id=example_certificate.id,\n    opts = pulumi.ResourceOptions(depends_on=[example_azurerm_key_vault_access_policy]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var current = Azure.Core.GetClientConfig.Invoke();\n\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleService = new Azure.SignalR.Service(\"example\", new()\n    {\n        Name = \"example-signalr\",\n        Location = testAzurermResourceGroup.Location,\n        ResourceGroupName = testAzurermResourceGroup.Name,\n        Sku = new Azure.SignalR.Inputs.ServiceSkuArgs\n        {\n            Name = \"Premium_P1\",\n            Capacity = 1,\n        },\n        Identity = new Azure.SignalR.Inputs.ServiceIdentityArgs\n        {\n            Type = \"SystemAssigned\",\n        },\n    });\n\n    var exampleKeyVault = new Azure.KeyVault.KeyVault(\"example\", new()\n    {\n        Name = \"example-keyvault\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        TenantId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.TenantId),\n        SkuName = \"premium\",\n        AccessPolicies = new[]\n        {\n            new Azure.KeyVault.Inputs.KeyVaultAccessPolicyArgs\n            {\n                TenantId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.TenantId),\n                ObjectId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.ObjectId),\n                CertificatePermissions = new[]\n                {\n                    \"Create\",\n                    \"Get\",\n                    \"List\",\n                },\n                SecretPermissions = new[]\n                {\n                    \"Get\",\n                    \"List\",\n                },\n            },\n            new Azure.KeyVault.Inputs.KeyVaultAccessPolicyArgs\n            {\n                TenantId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.TenantId),\n                ObjectId = testAzurermSignalrService.Identity[0].PrincipalId,\n                CertificatePermissions = new[]\n                {\n                    \"Create\",\n                    \"Get\",\n                    \"List\",\n                },\n                SecretPermissions = new[]\n                {\n                    \"Get\",\n                    \"List\",\n                },\n            },\n        },\n    });\n\n    var exampleCertificate = new Azure.KeyVault.Certificate(\"example\", new()\n    {\n        Name = \"imported-cert\",\n        KeyVaultId = exampleKeyVault.Id,\n        KeyVaultCertificate = new Azure.KeyVault.Inputs.CertificateCertificateArgs\n        {\n            Contents = Std.Filebase64.Invoke(new()\n            {\n                Input = \"certificate-to-import.pfx\",\n            }).Apply(invoke =\u003e invoke.Result),\n            Password = \"\",\n        },\n    });\n\n    var test = new Azure.SignalR.ServiceCustomCertificate(\"test\", new()\n    {\n        Name = \"example-cert\",\n        SignalrServiceId = exampleService.Id,\n        CustomCertificateId = exampleCertificate.Id,\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            exampleAzurermKeyVaultAccessPolicy,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/keyvault\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/signalr\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := core.GetClientConfig(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleService, err := signalr.NewService(ctx, \"example\", \u0026signalr.ServiceArgs{\n\t\t\tName:              pulumi.String(\"example-signalr\"),\n\t\t\tLocation:          pulumi.Any(testAzurermResourceGroup.Location),\n\t\t\tResourceGroupName: pulumi.Any(testAzurermResourceGroup.Name),\n\t\t\tSku: \u0026signalr.ServiceSkuArgs{\n\t\t\t\tName:     pulumi.String(\"Premium_P1\"),\n\t\t\t\tCapacity: pulumi.Int(1),\n\t\t\t},\n\t\t\tIdentity: \u0026signalr.ServiceIdentityArgs{\n\t\t\t\tType: pulumi.String(\"SystemAssigned\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleKeyVault, err := keyvault.NewKeyVault(ctx, \"example\", \u0026keyvault.KeyVaultArgs{\n\t\t\tName:              pulumi.String(\"example-keyvault\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tTenantId:          pulumi.String(current.TenantId),\n\t\t\tSkuName:           pulumi.String(\"premium\"),\n\t\t\tAccessPolicies: keyvault.KeyVaultAccessPolicyArray{\n\t\t\t\t\u0026keyvault.KeyVaultAccessPolicyArgs{\n\t\t\t\t\tTenantId: pulumi.String(current.TenantId),\n\t\t\t\t\tObjectId: pulumi.String(current.ObjectId),\n\t\t\t\t\tCertificatePermissions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"Create\"),\n\t\t\t\t\t\tpulumi.String(\"Get\"),\n\t\t\t\t\t\tpulumi.String(\"List\"),\n\t\t\t\t\t},\n\t\t\t\t\tSecretPermissions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"Get\"),\n\t\t\t\t\t\tpulumi.String(\"List\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026keyvault.KeyVaultAccessPolicyArgs{\n\t\t\t\t\tTenantId: pulumi.String(current.TenantId),\n\t\t\t\t\tObjectId: pulumi.Any(testAzurermSignalrService.Identity[0].PrincipalId),\n\t\t\t\t\tCertificatePermissions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"Create\"),\n\t\t\t\t\t\tpulumi.String(\"Get\"),\n\t\t\t\t\t\tpulumi.String(\"List\"),\n\t\t\t\t\t},\n\t\t\t\t\tSecretPermissions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"Get\"),\n\t\t\t\t\t\tpulumi.String(\"List\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFilebase64, err := std.Filebase64(ctx, \u0026std.Filebase64Args{\n\t\t\tInput: \"certificate-to-import.pfx\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleCertificate, err := keyvault.NewCertificate(ctx, \"example\", \u0026keyvault.CertificateArgs{\n\t\t\tName:       pulumi.String(\"imported-cert\"),\n\t\t\tKeyVaultId: exampleKeyVault.ID(),\n\t\t\tCertificate: \u0026keyvault.CertificateCertificateArgs{\n\t\t\t\tContents: pulumi.String(invokeFilebase64.Result),\n\t\t\t\tPassword: pulumi.String(\"\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = signalr.NewServiceCustomCertificate(ctx, \"test\", \u0026signalr.ServiceCustomCertificateArgs{\n\t\t\tName:                pulumi.String(\"example-cert\"),\n\t\t\tSignalrServiceId:    exampleService.ID(),\n\t\t\tCustomCertificateId: exampleCertificate.ID(),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleAzurermKeyVaultAccessPolicy,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.signalr.Service;\nimport com.pulumi.azure.signalr.ServiceArgs;\nimport com.pulumi.azure.signalr.inputs.ServiceSkuArgs;\nimport com.pulumi.azure.signalr.inputs.ServiceIdentityArgs;\nimport com.pulumi.azure.keyvault.KeyVault;\nimport com.pulumi.azure.keyvault.KeyVaultArgs;\nimport com.pulumi.azure.keyvault.inputs.KeyVaultAccessPolicyArgs;\nimport com.pulumi.azure.keyvault.Certificate;\nimport com.pulumi.azure.keyvault.CertificateArgs;\nimport com.pulumi.azure.keyvault.inputs.CertificateCertificateArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.Filebase64Args;\nimport com.pulumi.azure.signalr.ServiceCustomCertificate;\nimport com.pulumi.azure.signalr.ServiceCustomCertificateArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var current = CoreFunctions.getClientConfig(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleService = new Service(\"exampleService\", ServiceArgs.builder()\n            .name(\"example-signalr\")\n            .location(testAzurermResourceGroup.location())\n            .resourceGroupName(testAzurermResourceGroup.name())\n            .sku(ServiceSkuArgs.builder()\n                .name(\"Premium_P1\")\n                .capacity(1)\n                .build())\n            .identity(ServiceIdentityArgs.builder()\n                .type(\"SystemAssigned\")\n                .build())\n            .build());\n\n        var exampleKeyVault = new KeyVault(\"exampleKeyVault\", KeyVaultArgs.builder()\n            .name(\"example-keyvault\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .tenantId(current.tenantId())\n            .skuName(\"premium\")\n            .accessPolicies(            \n                KeyVaultAccessPolicyArgs.builder()\n                    .tenantId(current.tenantId())\n                    .objectId(current.objectId())\n                    .certificatePermissions(                    \n                        \"Create\",\n                        \"Get\",\n                        \"List\")\n                    .secretPermissions(                    \n                        \"Get\",\n                        \"List\")\n                    .build(),\n                KeyVaultAccessPolicyArgs.builder()\n                    .tenantId(current.tenantId())\n                    .objectId(testAzurermSignalrService.identity()[0].principalId())\n                    .certificatePermissions(                    \n                        \"Create\",\n                        \"Get\",\n                        \"List\")\n                    .secretPermissions(                    \n                        \"Get\",\n                        \"List\")\n                    .build())\n            .build());\n\n        var exampleCertificate = new Certificate(\"exampleCertificate\", CertificateArgs.builder()\n            .name(\"imported-cert\")\n            .keyVaultId(exampleKeyVault.id())\n            .certificate(CertificateCertificateArgs.builder()\n                .contents(StdFunctions.filebase64(Filebase64Args.builder()\n                    .input(\"certificate-to-import.pfx\")\n                    .build()).result())\n                .password(\"\")\n                .build())\n            .build());\n\n        var test = new ServiceCustomCertificate(\"test\", ServiceCustomCertificateArgs.builder()\n            .name(\"example-cert\")\n            .signalrServiceId(exampleService.id())\n            .customCertificateId(exampleCertificate.id())\n            .build(), CustomResourceOptions.builder()\n                .dependsOn(exampleAzurermKeyVaultAccessPolicy)\n                .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleService:\n    type: azure:signalr:Service\n    name: example\n    properties:\n      name: example-signalr\n      location: ${testAzurermResourceGroup.location}\n      resourceGroupName: ${testAzurermResourceGroup.name}\n      sku:\n        name: Premium_P1\n        capacity: 1\n      identity:\n        type: SystemAssigned\n  exampleKeyVault:\n    type: azure:keyvault:KeyVault\n    name: example\n    properties:\n      name: example-keyvault\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      tenantId: ${current.tenantId}\n      skuName: premium\n      accessPolicies:\n        - tenantId: ${current.tenantId}\n          objectId: ${current.objectId}\n          certificatePermissions:\n            - Create\n            - Get\n            - List\n          secretPermissions:\n            - Get\n            - List\n        - tenantId: ${current.tenantId}\n          objectId: ${testAzurermSignalrService.identity[0].principalId}\n          certificatePermissions:\n            - Create\n            - Get\n            - List\n          secretPermissions:\n            - Get\n            - List\n  exampleCertificate:\n    type: azure:keyvault:Certificate\n    name: example\n    properties:\n      name: imported-cert\n      keyVaultId: ${exampleKeyVault.id}\n      certificate:\n        contents:\n          fn::invoke:\n            function: std:filebase64\n            arguments:\n              input: certificate-to-import.pfx\n            return: result\n        password: \"\"\n  test:\n    type: azure:signalr:ServiceCustomCertificate\n    properties:\n      name: example-cert\n      signalrServiceId: ${exampleService.id}\n      customCertificateId: ${exampleCertificate.id}\n    options:\n      dependsOn:\n        - ${exampleAzurermKeyVaultAccessPolicy}\nvariables:\n  current:\n    fn::invoke:\n      function: azure:core:getClientConfig\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.SignalRService` - 2024-03-01\n\n## Import\n\nCustom Certificate for a SignalR service can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:signalr/serviceCustomCertificate:ServiceCustomCertificate example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.SignalRService/signalR/signalr1/customCertificates/cert1\n```\n\n","properties":{"certificateVersion":{"type":"string","description":"The certificate version of the SignalR Custom Certificate service.\n"},"customCertificateId":{"type":"string","description":"The certificate id of the SignalR Custom Certificate service. Changing this forces a new resource to be created.\n\n\u003e **Note:** Self assigned certificate is not supported and the provisioning status will fail.\n"},"name":{"type":"string","description":"The name of the SignalR Custom Certificate. Changing this forces a new resource to be created.\n"},"signalrServiceId":{"type":"string","description":"The SignalR ID of the SignalR Custom Certificate. Changing this forces a new resource to be created.\n\n\u003e **Note:** Custom Certificate is only available for SignalR Premium tier. Please enable managed identity in the corresponding SignalR Service and give the managed identity access to the key vault, the required permission is Get Certificate and Secret.\n"}},"required":["certificateVersion","customCertificateId","name","signalrServiceId"],"inputProperties":{"customCertificateId":{"type":"string","description":"The certificate id of the SignalR Custom Certificate service. Changing this forces a new resource to be created.\n\n\u003e **Note:** Self assigned certificate is not supported and the provisioning status will fail.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the SignalR Custom Certificate. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"signalrServiceId":{"type":"string","description":"The SignalR ID of the SignalR Custom Certificate. Changing this forces a new resource to be created.\n\n\u003e **Note:** Custom Certificate is only available for SignalR Premium tier. Please enable managed identity in the corresponding SignalR Service and give the managed identity access to the key vault, the required permission is Get Certificate and Secret.\n","willReplaceOnChanges":true}},"requiredInputs":["customCertificateId","signalrServiceId"],"stateInputs":{"description":"Input properties used for looking up and filtering ServiceCustomCertificate resources.\n","properties":{"certificateVersion":{"type":"string","description":"The certificate version of the SignalR Custom Certificate service.\n"},"customCertificateId":{"type":"string","description":"The certificate id of the SignalR Custom Certificate service. Changing this forces a new resource to be created.\n\n\u003e **Note:** Self assigned certificate is not supported and the provisioning status will fail.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the SignalR Custom Certificate. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"signalrServiceId":{"type":"string","description":"The SignalR ID of the SignalR Custom Certificate. Changing this forces a new resource to be created.\n\n\u003e **Note:** Custom Certificate is only available for SignalR Premium tier. Please enable managed identity in the corresponding SignalR Service and give the managed identity access to the key vault, the required permission is Get Certificate and Secret.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:signalr/serviceCustomDomain:ServiceCustomDomain":{"description":"Manages an Azure SignalR Custom Domain.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\nimport * as std from \"@pulumi/std\";\n\nconst current = azure.core.getClientConfig({});\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleService = new azure.signalr.Service(\"example\", {\n    name: \"example-signalr\",\n    location: testAzurermResourceGroup.location,\n    resourceGroupName: testAzurermResourceGroup.name,\n    sku: {\n        name: \"Premium_P1\",\n        capacity: 1,\n    },\n    identity: {\n        type: \"SystemAssigned\",\n    },\n});\nconst exampleKeyVault = new azure.keyvault.KeyVault(\"example\", {\n    name: \"example-keyvault\",\n    location: example.location,\n    resourceGroupName: example.name,\n    tenantId: current.then(current =\u003e current.tenantId),\n    skuName: \"premium\",\n    accessPolicies: [\n        {\n            tenantId: current.then(current =\u003e current.tenantId),\n            objectId: current.then(current =\u003e current.objectId),\n            certificatePermissions: [\n                \"Create\",\n                \"Get\",\n                \"List\",\n            ],\n            secretPermissions: [\n                \"Get\",\n                \"List\",\n            ],\n        },\n        {\n            tenantId: current.then(current =\u003e current.tenantId),\n            objectId: testAzurermSignalrService.identity[0].principalId,\n            certificatePermissions: [\n                \"Create\",\n                \"Get\",\n                \"List\",\n            ],\n            secretPermissions: [\n                \"Get\",\n                \"List\",\n            ],\n        },\n    ],\n});\nconst exampleCertificate = new azure.keyvault.Certificate(\"example\", {\n    name: \"imported-cert\",\n    keyVaultId: exampleKeyVault.id,\n    certificate: {\n        contents: std.filebase64({\n            input: \"certificate-to-import.pfx\",\n        }).then(invoke =\u003e invoke.result),\n        password: \"\",\n    },\n});\nconst test = new azure.signalr.ServiceCustomCertificate(\"test\", {\n    name: \"example-cert\",\n    signalrServiceId: exampleService.id,\n    customCertificateId: exampleCertificate.id,\n}, {\n    dependsOn: [exampleAzurermKeyVaultAccessPolicy],\n});\nconst testServiceCustomDomain = new azure.signalr.ServiceCustomDomain(\"test\", {\n    name: \"example-domain\",\n    signalrServiceId: testAzurermSignalrService.id,\n    domainName: \"tftest.com\",\n    signalrCustomCertificateId: test.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\nimport pulumi_std as std\n\ncurrent = azure.core.get_client_config()\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_service = azure.signalr.Service(\"example\",\n    name=\"example-signalr\",\n    location=test_azurerm_resource_group[\"location\"],\n    resource_group_name=test_azurerm_resource_group[\"name\"],\n    sku={\n        \"name\": \"Premium_P1\",\n        \"capacity\": 1,\n    },\n    identity={\n        \"type\": \"SystemAssigned\",\n    })\nexample_key_vault = azure.keyvault.KeyVault(\"example\",\n    name=\"example-keyvault\",\n    location=example.location,\n    resource_group_name=example.name,\n    tenant_id=current.tenant_id,\n    sku_name=\"premium\",\n    access_policies=[\n        {\n            \"tenant_id\": current.tenant_id,\n            \"object_id\": current.object_id,\n            \"certificate_permissions\": [\n                \"Create\",\n                \"Get\",\n                \"List\",\n            ],\n            \"secret_permissions\": [\n                \"Get\",\n                \"List\",\n            ],\n        },\n        {\n            \"tenant_id\": current.tenant_id,\n            \"object_id\": test_azurerm_signalr_service[\"identity\"][0][\"principalId\"],\n            \"certificate_permissions\": [\n                \"Create\",\n                \"Get\",\n                \"List\",\n            ],\n            \"secret_permissions\": [\n                \"Get\",\n                \"List\",\n            ],\n        },\n    ])\nexample_certificate = azure.keyvault.Certificate(\"example\",\n    name=\"imported-cert\",\n    key_vault_id=example_key_vault.id,\n    certificate={\n        \"contents\": std.filebase64(input=\"certificate-to-import.pfx\").result,\n        \"password\": \"\",\n    })\ntest = azure.signalr.ServiceCustomCertificate(\"test\",\n    name=\"example-cert\",\n    signalr_service_id=example_service.id,\n    custom_certificate_id=example_certificate.id,\n    opts = pulumi.ResourceOptions(depends_on=[example_azurerm_key_vault_access_policy]))\ntest_service_custom_domain = azure.signalr.ServiceCustomDomain(\"test\",\n    name=\"example-domain\",\n    signalr_service_id=test_azurerm_signalr_service[\"id\"],\n    domain_name=\"tftest.com\",\n    signalr_custom_certificate_id=test.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var current = Azure.Core.GetClientConfig.Invoke();\n\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleService = new Azure.SignalR.Service(\"example\", new()\n    {\n        Name = \"example-signalr\",\n        Location = testAzurermResourceGroup.Location,\n        ResourceGroupName = testAzurermResourceGroup.Name,\n        Sku = new Azure.SignalR.Inputs.ServiceSkuArgs\n        {\n            Name = \"Premium_P1\",\n            Capacity = 1,\n        },\n        Identity = new Azure.SignalR.Inputs.ServiceIdentityArgs\n        {\n            Type = \"SystemAssigned\",\n        },\n    });\n\n    var exampleKeyVault = new Azure.KeyVault.KeyVault(\"example\", new()\n    {\n        Name = \"example-keyvault\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        TenantId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.TenantId),\n        SkuName = \"premium\",\n        AccessPolicies = new[]\n        {\n            new Azure.KeyVault.Inputs.KeyVaultAccessPolicyArgs\n            {\n                TenantId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.TenantId),\n                ObjectId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.ObjectId),\n                CertificatePermissions = new[]\n                {\n                    \"Create\",\n                    \"Get\",\n                    \"List\",\n                },\n                SecretPermissions = new[]\n                {\n                    \"Get\",\n                    \"List\",\n                },\n            },\n            new Azure.KeyVault.Inputs.KeyVaultAccessPolicyArgs\n            {\n                TenantId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.TenantId),\n                ObjectId = testAzurermSignalrService.Identity[0].PrincipalId,\n                CertificatePermissions = new[]\n                {\n                    \"Create\",\n                    \"Get\",\n                    \"List\",\n                },\n                SecretPermissions = new[]\n                {\n                    \"Get\",\n                    \"List\",\n                },\n            },\n        },\n    });\n\n    var exampleCertificate = new Azure.KeyVault.Certificate(\"example\", new()\n    {\n        Name = \"imported-cert\",\n        KeyVaultId = exampleKeyVault.Id,\n        KeyVaultCertificate = new Azure.KeyVault.Inputs.CertificateCertificateArgs\n        {\n            Contents = Std.Filebase64.Invoke(new()\n            {\n                Input = \"certificate-to-import.pfx\",\n            }).Apply(invoke =\u003e invoke.Result),\n            Password = \"\",\n        },\n    });\n\n    var test = new Azure.SignalR.ServiceCustomCertificate(\"test\", new()\n    {\n        Name = \"example-cert\",\n        SignalrServiceId = exampleService.Id,\n        CustomCertificateId = exampleCertificate.Id,\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            exampleAzurermKeyVaultAccessPolicy,\n        },\n    });\n\n    var testServiceCustomDomain = new Azure.SignalR.ServiceCustomDomain(\"test\", new()\n    {\n        Name = \"example-domain\",\n        SignalrServiceId = testAzurermSignalrService.Id,\n        DomainName = \"tftest.com\",\n        SignalrCustomCertificateId = test.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/keyvault\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/signalr\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := core.GetClientConfig(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleService, err := signalr.NewService(ctx, \"example\", \u0026signalr.ServiceArgs{\n\t\t\tName:              pulumi.String(\"example-signalr\"),\n\t\t\tLocation:          pulumi.Any(testAzurermResourceGroup.Location),\n\t\t\tResourceGroupName: pulumi.Any(testAzurermResourceGroup.Name),\n\t\t\tSku: \u0026signalr.ServiceSkuArgs{\n\t\t\t\tName:     pulumi.String(\"Premium_P1\"),\n\t\t\t\tCapacity: pulumi.Int(1),\n\t\t\t},\n\t\t\tIdentity: \u0026signalr.ServiceIdentityArgs{\n\t\t\t\tType: pulumi.String(\"SystemAssigned\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleKeyVault, err := keyvault.NewKeyVault(ctx, \"example\", \u0026keyvault.KeyVaultArgs{\n\t\t\tName:              pulumi.String(\"example-keyvault\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tTenantId:          pulumi.String(current.TenantId),\n\t\t\tSkuName:           pulumi.String(\"premium\"),\n\t\t\tAccessPolicies: keyvault.KeyVaultAccessPolicyArray{\n\t\t\t\t\u0026keyvault.KeyVaultAccessPolicyArgs{\n\t\t\t\t\tTenantId: pulumi.String(current.TenantId),\n\t\t\t\t\tObjectId: pulumi.String(current.ObjectId),\n\t\t\t\t\tCertificatePermissions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"Create\"),\n\t\t\t\t\t\tpulumi.String(\"Get\"),\n\t\t\t\t\t\tpulumi.String(\"List\"),\n\t\t\t\t\t},\n\t\t\t\t\tSecretPermissions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"Get\"),\n\t\t\t\t\t\tpulumi.String(\"List\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026keyvault.KeyVaultAccessPolicyArgs{\n\t\t\t\t\tTenantId: pulumi.String(current.TenantId),\n\t\t\t\t\tObjectId: pulumi.Any(testAzurermSignalrService.Identity[0].PrincipalId),\n\t\t\t\t\tCertificatePermissions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"Create\"),\n\t\t\t\t\t\tpulumi.String(\"Get\"),\n\t\t\t\t\t\tpulumi.String(\"List\"),\n\t\t\t\t\t},\n\t\t\t\t\tSecretPermissions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"Get\"),\n\t\t\t\t\t\tpulumi.String(\"List\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFilebase64, err := std.Filebase64(ctx, \u0026std.Filebase64Args{\n\t\t\tInput: \"certificate-to-import.pfx\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleCertificate, err := keyvault.NewCertificate(ctx, \"example\", \u0026keyvault.CertificateArgs{\n\t\t\tName:       pulumi.String(\"imported-cert\"),\n\t\t\tKeyVaultId: exampleKeyVault.ID(),\n\t\t\tCertificate: \u0026keyvault.CertificateCertificateArgs{\n\t\t\t\tContents: pulumi.String(invokeFilebase64.Result),\n\t\t\t\tPassword: pulumi.String(\"\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttest, err := signalr.NewServiceCustomCertificate(ctx, \"test\", \u0026signalr.ServiceCustomCertificateArgs{\n\t\t\tName:                pulumi.String(\"example-cert\"),\n\t\t\tSignalrServiceId:    exampleService.ID(),\n\t\t\tCustomCertificateId: exampleCertificate.ID(),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleAzurermKeyVaultAccessPolicy,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = signalr.NewServiceCustomDomain(ctx, \"test\", \u0026signalr.ServiceCustomDomainArgs{\n\t\t\tName:                       pulumi.String(\"example-domain\"),\n\t\t\tSignalrServiceId:           pulumi.Any(testAzurermSignalrService.Id),\n\t\t\tDomainName:                 pulumi.String(\"tftest.com\"),\n\t\t\tSignalrCustomCertificateId: test.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.signalr.Service;\nimport com.pulumi.azure.signalr.ServiceArgs;\nimport com.pulumi.azure.signalr.inputs.ServiceSkuArgs;\nimport com.pulumi.azure.signalr.inputs.ServiceIdentityArgs;\nimport com.pulumi.azure.keyvault.KeyVault;\nimport com.pulumi.azure.keyvault.KeyVaultArgs;\nimport com.pulumi.azure.keyvault.inputs.KeyVaultAccessPolicyArgs;\nimport com.pulumi.azure.keyvault.Certificate;\nimport com.pulumi.azure.keyvault.CertificateArgs;\nimport com.pulumi.azure.keyvault.inputs.CertificateCertificateArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.Filebase64Args;\nimport com.pulumi.azure.signalr.ServiceCustomCertificate;\nimport com.pulumi.azure.signalr.ServiceCustomCertificateArgs;\nimport com.pulumi.azure.signalr.ServiceCustomDomain;\nimport com.pulumi.azure.signalr.ServiceCustomDomainArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var current = CoreFunctions.getClientConfig(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleService = new Service(\"exampleService\", ServiceArgs.builder()\n            .name(\"example-signalr\")\n            .location(testAzurermResourceGroup.location())\n            .resourceGroupName(testAzurermResourceGroup.name())\n            .sku(ServiceSkuArgs.builder()\n                .name(\"Premium_P1\")\n                .capacity(1)\n                .build())\n            .identity(ServiceIdentityArgs.builder()\n                .type(\"SystemAssigned\")\n                .build())\n            .build());\n\n        var exampleKeyVault = new KeyVault(\"exampleKeyVault\", KeyVaultArgs.builder()\n            .name(\"example-keyvault\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .tenantId(current.tenantId())\n            .skuName(\"premium\")\n            .accessPolicies(            \n                KeyVaultAccessPolicyArgs.builder()\n                    .tenantId(current.tenantId())\n                    .objectId(current.objectId())\n                    .certificatePermissions(                    \n                        \"Create\",\n                        \"Get\",\n                        \"List\")\n                    .secretPermissions(                    \n                        \"Get\",\n                        \"List\")\n                    .build(),\n                KeyVaultAccessPolicyArgs.builder()\n                    .tenantId(current.tenantId())\n                    .objectId(testAzurermSignalrService.identity()[0].principalId())\n                    .certificatePermissions(                    \n                        \"Create\",\n                        \"Get\",\n                        \"List\")\n                    .secretPermissions(                    \n                        \"Get\",\n                        \"List\")\n                    .build())\n            .build());\n\n        var exampleCertificate = new Certificate(\"exampleCertificate\", CertificateArgs.builder()\n            .name(\"imported-cert\")\n            .keyVaultId(exampleKeyVault.id())\n            .certificate(CertificateCertificateArgs.builder()\n                .contents(StdFunctions.filebase64(Filebase64Args.builder()\n                    .input(\"certificate-to-import.pfx\")\n                    .build()).result())\n                .password(\"\")\n                .build())\n            .build());\n\n        var test = new ServiceCustomCertificate(\"test\", ServiceCustomCertificateArgs.builder()\n            .name(\"example-cert\")\n            .signalrServiceId(exampleService.id())\n            .customCertificateId(exampleCertificate.id())\n            .build(), CustomResourceOptions.builder()\n                .dependsOn(exampleAzurermKeyVaultAccessPolicy)\n                .build());\n\n        var testServiceCustomDomain = new ServiceCustomDomain(\"testServiceCustomDomain\", ServiceCustomDomainArgs.builder()\n            .name(\"example-domain\")\n            .signalrServiceId(testAzurermSignalrService.id())\n            .domainName(\"tftest.com\")\n            .signalrCustomCertificateId(test.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleService:\n    type: azure:signalr:Service\n    name: example\n    properties:\n      name: example-signalr\n      location: ${testAzurermResourceGroup.location}\n      resourceGroupName: ${testAzurermResourceGroup.name}\n      sku:\n        name: Premium_P1\n        capacity: 1\n      identity:\n        type: SystemAssigned\n  exampleKeyVault:\n    type: azure:keyvault:KeyVault\n    name: example\n    properties:\n      name: example-keyvault\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      tenantId: ${current.tenantId}\n      skuName: premium\n      accessPolicies:\n        - tenantId: ${current.tenantId}\n          objectId: ${current.objectId}\n          certificatePermissions:\n            - Create\n            - Get\n            - List\n          secretPermissions:\n            - Get\n            - List\n        - tenantId: ${current.tenantId}\n          objectId: ${testAzurermSignalrService.identity[0].principalId}\n          certificatePermissions:\n            - Create\n            - Get\n            - List\n          secretPermissions:\n            - Get\n            - List\n  exampleCertificate:\n    type: azure:keyvault:Certificate\n    name: example\n    properties:\n      name: imported-cert\n      keyVaultId: ${exampleKeyVault.id}\n      certificate:\n        contents:\n          fn::invoke:\n            function: std:filebase64\n            arguments:\n              input: certificate-to-import.pfx\n            return: result\n        password: \"\"\n  test:\n    type: azure:signalr:ServiceCustomCertificate\n    properties:\n      name: example-cert\n      signalrServiceId: ${exampleService.id}\n      customCertificateId: ${exampleCertificate.id}\n    options:\n      dependsOn:\n        - ${exampleAzurermKeyVaultAccessPolicy}\n  testServiceCustomDomain:\n    type: azure:signalr:ServiceCustomDomain\n    name: test\n    properties:\n      name: example-domain\n      signalrServiceId: ${testAzurermSignalrService.id}\n      domainName: tftest.com\n      signalrCustomCertificateId: ${test.id}\nvariables:\n  current:\n    fn::invoke:\n      function: azure:core:getClientConfig\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.SignalRService` - 2024-03-01\n\n## Import\n\nCustom Domain for a SignalR service can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:signalr/serviceCustomDomain:ServiceCustomDomain example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.SignalRService/signalR/signalr1/customDomains/customDomain1\n```\n\n","properties":{"domainName":{"type":"string","description":"Specifies the custom domain name of the SignalR Custom Domain. Changing this forces a new resource to be created.\n\n\u003e **Note:** Please ensure the custom domain name is included in the Subject Alternative Names of the selected SignalR Custom Certificate.\n"},"name":{"type":"string","description":"Specifies the name of the SignalR Custom Domain. Changing this forces a new resource to be created.\n"},"signalrCustomCertificateId":{"type":"string","description":"Specifies the SignalR Custom Certificate ID of the SignalR Custom Domain. Changing this forces a new resource to be created.\n"},"signalrServiceId":{"type":"string","description":"Specifies the SignalR ID of the SignalR Custom Domain. Changing this forces a new resource to be created.\n"}},"required":["domainName","name","signalrCustomCertificateId","signalrServiceId"],"inputProperties":{"domainName":{"type":"string","description":"Specifies the custom domain name of the SignalR Custom Domain. Changing this forces a new resource to be created.\n\n\u003e **Note:** Please ensure the custom domain name is included in the Subject Alternative Names of the selected SignalR Custom Certificate.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the SignalR Custom Domain. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"signalrCustomCertificateId":{"type":"string","description":"Specifies the SignalR Custom Certificate ID of the SignalR Custom Domain. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"signalrServiceId":{"type":"string","description":"Specifies the SignalR ID of the SignalR Custom Domain. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["domainName","signalrCustomCertificateId","signalrServiceId"],"stateInputs":{"description":"Input properties used for looking up and filtering ServiceCustomDomain resources.\n","properties":{"domainName":{"type":"string","description":"Specifies the custom domain name of the SignalR Custom Domain. Changing this forces a new resource to be created.\n\n\u003e **Note:** Please ensure the custom domain name is included in the Subject Alternative Names of the selected SignalR Custom Certificate.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the SignalR Custom Domain. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"signalrCustomCertificateId":{"type":"string","description":"Specifies the SignalR Custom Certificate ID of the SignalR Custom Domain. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"signalrServiceId":{"type":"string","description":"Specifies the SignalR ID of the SignalR Custom Domain. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:signalr/serviceNetworkAcl:ServiceNetworkAcl":{"description":"Manages the Network ACL for a SignalR service.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleService = new azure.signalr.Service(\"example\", {\n    name: \"example-signalr\",\n    location: example.location,\n    resourceGroupName: example.name,\n    sku: {\n        name: \"Standard_S1\",\n        capacity: 1,\n    },\n});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"example\", {\n    name: \"example-vnet\",\n    resourceGroupName: example.name,\n    location: example.location,\n    addressSpaces: [\"10.5.0.0/16\"],\n});\nconst exampleSubnet = new azure.network.Subnet(\"example\", {\n    name: \"example-subnet\",\n    resourceGroupName: example.name,\n    virtualNetworkName: exampleVirtualNetwork.name,\n    addressPrefixes: [\"10.5.2.0/24\"],\n    enforcePrivateLinkEndpointNetworkPolicies: true,\n});\nconst exampleEndpoint = new azure.privatelink.Endpoint(\"example\", {\n    name: \"example-privateendpoint\",\n    resourceGroupName: example.name,\n    location: example.location,\n    subnetId: exampleSubnet.id,\n    privateServiceConnection: {\n        name: \"psc-sig-test\",\n        isManualConnection: false,\n        privateConnectionResourceId: exampleService.id,\n        subresourceNames: [\"signalr\"],\n    },\n});\nconst exampleServiceNetworkAcl = new azure.signalr.ServiceNetworkAcl(\"example\", {\n    signalrServiceId: exampleService.id,\n    defaultAction: \"Deny\",\n    publicNetwork: {\n        allowedRequestTypes: [\"ClientConnection\"],\n    },\n    privateEndpoints: [{\n        id: exampleEndpoint.id,\n        allowedRequestTypes: [\"ServerConnection\"],\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_service = azure.signalr.Service(\"example\",\n    name=\"example-signalr\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku={\n        \"name\": \"Standard_S1\",\n        \"capacity\": 1,\n    })\nexample_virtual_network = azure.network.VirtualNetwork(\"example\",\n    name=\"example-vnet\",\n    resource_group_name=example.name,\n    location=example.location,\n    address_spaces=[\"10.5.0.0/16\"])\nexample_subnet = azure.network.Subnet(\"example\",\n    name=\"example-subnet\",\n    resource_group_name=example.name,\n    virtual_network_name=example_virtual_network.name,\n    address_prefixes=[\"10.5.2.0/24\"],\n    enforce_private_link_endpoint_network_policies=True)\nexample_endpoint = azure.privatelink.Endpoint(\"example\",\n    name=\"example-privateendpoint\",\n    resource_group_name=example.name,\n    location=example.location,\n    subnet_id=example_subnet.id,\n    private_service_connection={\n        \"name\": \"psc-sig-test\",\n        \"is_manual_connection\": False,\n        \"private_connection_resource_id\": example_service.id,\n        \"subresource_names\": [\"signalr\"],\n    })\nexample_service_network_acl = azure.signalr.ServiceNetworkAcl(\"example\",\n    signalr_service_id=example_service.id,\n    default_action=\"Deny\",\n    public_network={\n        \"allowed_request_types\": [\"ClientConnection\"],\n    },\n    private_endpoints=[{\n        \"id\": example_endpoint.id,\n        \"allowed_request_types\": [\"ServerConnection\"],\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleService = new Azure.SignalR.Service(\"example\", new()\n    {\n        Name = \"example-signalr\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Sku = new Azure.SignalR.Inputs.ServiceSkuArgs\n        {\n            Name = \"Standard_S1\",\n            Capacity = 1,\n        },\n    });\n\n    var exampleVirtualNetwork = new Azure.Network.VirtualNetwork(\"example\", new()\n    {\n        Name = \"example-vnet\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        AddressSpaces = new[]\n        {\n            \"10.5.0.0/16\",\n        },\n    });\n\n    var exampleSubnet = new Azure.Network.Subnet(\"example\", new()\n    {\n        Name = \"example-subnet\",\n        ResourceGroupName = example.Name,\n        VirtualNetworkName = exampleVirtualNetwork.Name,\n        AddressPrefixes = new[]\n        {\n            \"10.5.2.0/24\",\n        },\n        EnforcePrivateLinkEndpointNetworkPolicies = true,\n    });\n\n    var exampleEndpoint = new Azure.PrivateLink.Endpoint(\"example\", new()\n    {\n        Name = \"example-privateendpoint\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        SubnetId = exampleSubnet.Id,\n        PrivateServiceConnection = new Azure.PrivateLink.Inputs.EndpointPrivateServiceConnectionArgs\n        {\n            Name = \"psc-sig-test\",\n            IsManualConnection = false,\n            PrivateConnectionResourceId = exampleService.Id,\n            SubresourceNames = new[]\n            {\n                \"signalr\",\n            },\n        },\n    });\n\n    var exampleServiceNetworkAcl = new Azure.SignalR.ServiceNetworkAcl(\"example\", new()\n    {\n        SignalrServiceId = exampleService.Id,\n        DefaultAction = \"Deny\",\n        PublicNetwork = new Azure.SignalR.Inputs.ServiceNetworkAclPublicNetworkArgs\n        {\n            AllowedRequestTypes = new[]\n            {\n                \"ClientConnection\",\n            },\n        },\n        PrivateEndpoints = new[]\n        {\n            new Azure.SignalR.Inputs.ServiceNetworkAclPrivateEndpointArgs\n            {\n                Id = exampleEndpoint.Id,\n                AllowedRequestTypes = new[]\n                {\n                    \"ServerConnection\",\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/privatelink\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/signalr\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleService, err := signalr.NewService(ctx, \"example\", \u0026signalr.ServiceArgs{\n\t\t\tName:              pulumi.String(\"example-signalr\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSku: \u0026signalr.ServiceSkuArgs{\n\t\t\t\tName:     pulumi.String(\"Standard_S1\"),\n\t\t\t\tCapacity: pulumi.Int(1),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, \"example\", \u0026network.VirtualNetworkArgs{\n\t\t\tName:              pulumi.String(\"example-vnet\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tAddressSpaces: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.5.0.0/16\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSubnet, err := network.NewSubnet(ctx, \"example\", \u0026network.SubnetArgs{\n\t\t\tName:               pulumi.String(\"example-subnet\"),\n\t\t\tResourceGroupName:  example.Name,\n\t\t\tVirtualNetworkName: exampleVirtualNetwork.Name,\n\t\t\tAddressPrefixes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.5.2.0/24\"),\n\t\t\t},\n\t\t\tEnforcePrivateLinkEndpointNetworkPolicies: true,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleEndpoint, err := privatelink.NewEndpoint(ctx, \"example\", \u0026privatelink.EndpointArgs{\n\t\t\tName:              pulumi.String(\"example-privateendpoint\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tSubnetId:          exampleSubnet.ID(),\n\t\t\tPrivateServiceConnection: \u0026privatelink.EndpointPrivateServiceConnectionArgs{\n\t\t\t\tName:                        pulumi.String(\"psc-sig-test\"),\n\t\t\t\tIsManualConnection:          pulumi.Bool(false),\n\t\t\t\tPrivateConnectionResourceId: exampleService.ID(),\n\t\t\t\tSubresourceNames: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"signalr\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = signalr.NewServiceNetworkAcl(ctx, \"example\", \u0026signalr.ServiceNetworkAclArgs{\n\t\t\tSignalrServiceId: exampleService.ID(),\n\t\t\tDefaultAction:    pulumi.String(\"Deny\"),\n\t\t\tPublicNetwork: \u0026signalr.ServiceNetworkAclPublicNetworkArgs{\n\t\t\t\tAllowedRequestTypes: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"ClientConnection\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tPrivateEndpoints: signalr.ServiceNetworkAclPrivateEndpointArray{\n\t\t\t\t\u0026signalr.ServiceNetworkAclPrivateEndpointArgs{\n\t\t\t\t\tId: exampleEndpoint.ID(),\n\t\t\t\t\tAllowedRequestTypes: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"ServerConnection\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.signalr.Service;\nimport com.pulumi.azure.signalr.ServiceArgs;\nimport com.pulumi.azure.signalr.inputs.ServiceSkuArgs;\nimport com.pulumi.azure.network.VirtualNetwork;\nimport com.pulumi.azure.network.VirtualNetworkArgs;\nimport com.pulumi.azure.network.Subnet;\nimport com.pulumi.azure.network.SubnetArgs;\nimport com.pulumi.azure.privatelink.Endpoint;\nimport com.pulumi.azure.privatelink.EndpointArgs;\nimport com.pulumi.azure.privatelink.inputs.EndpointPrivateServiceConnectionArgs;\nimport com.pulumi.azure.signalr.ServiceNetworkAcl;\nimport com.pulumi.azure.signalr.ServiceNetworkAclArgs;\nimport com.pulumi.azure.signalr.inputs.ServiceNetworkAclPublicNetworkArgs;\nimport com.pulumi.azure.signalr.inputs.ServiceNetworkAclPrivateEndpointArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleService = new Service(\"exampleService\", ServiceArgs.builder()\n            .name(\"example-signalr\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .sku(ServiceSkuArgs.builder()\n                .name(\"Standard_S1\")\n                .capacity(1)\n                .build())\n            .build());\n\n        var exampleVirtualNetwork = new VirtualNetwork(\"exampleVirtualNetwork\", VirtualNetworkArgs.builder()\n            .name(\"example-vnet\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .addressSpaces(\"10.5.0.0/16\")\n            .build());\n\n        var exampleSubnet = new Subnet(\"exampleSubnet\", SubnetArgs.builder()\n            .name(\"example-subnet\")\n            .resourceGroupName(example.name())\n            .virtualNetworkName(exampleVirtualNetwork.name())\n            .addressPrefixes(\"10.5.2.0/24\")\n            .enforcePrivateLinkEndpointNetworkPolicies(true)\n            .build());\n\n        var exampleEndpoint = new Endpoint(\"exampleEndpoint\", EndpointArgs.builder()\n            .name(\"example-privateendpoint\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .subnetId(exampleSubnet.id())\n            .privateServiceConnection(EndpointPrivateServiceConnectionArgs.builder()\n                .name(\"psc-sig-test\")\n                .isManualConnection(false)\n                .privateConnectionResourceId(exampleService.id())\n                .subresourceNames(\"signalr\")\n                .build())\n            .build());\n\n        var exampleServiceNetworkAcl = new ServiceNetworkAcl(\"exampleServiceNetworkAcl\", ServiceNetworkAclArgs.builder()\n            .signalrServiceId(exampleService.id())\n            .defaultAction(\"Deny\")\n            .publicNetwork(ServiceNetworkAclPublicNetworkArgs.builder()\n                .allowedRequestTypes(\"ClientConnection\")\n                .build())\n            .privateEndpoints(ServiceNetworkAclPrivateEndpointArgs.builder()\n                .id(exampleEndpoint.id())\n                .allowedRequestTypes(\"ServerConnection\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleService:\n    type: azure:signalr:Service\n    name: example\n    properties:\n      name: example-signalr\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      sku:\n        name: Standard_S1\n        capacity: 1\n  exampleVirtualNetwork:\n    type: azure:network:VirtualNetwork\n    name: example\n    properties:\n      name: example-vnet\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      addressSpaces:\n        - 10.5.0.0/16\n  exampleSubnet:\n    type: azure:network:Subnet\n    name: example\n    properties:\n      name: example-subnet\n      resourceGroupName: ${example.name}\n      virtualNetworkName: ${exampleVirtualNetwork.name}\n      addressPrefixes:\n        - 10.5.2.0/24\n      enforcePrivateLinkEndpointNetworkPolicies: true\n  exampleEndpoint:\n    type: azure:privatelink:Endpoint\n    name: example\n    properties:\n      name: example-privateendpoint\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      subnetId: ${exampleSubnet.id}\n      privateServiceConnection:\n        name: psc-sig-test\n        isManualConnection: false\n        privateConnectionResourceId: ${exampleService.id}\n        subresourceNames:\n          - signalr\n  exampleServiceNetworkAcl:\n    type: azure:signalr:ServiceNetworkAcl\n    name: example\n    properties:\n      signalrServiceId: ${exampleService.id}\n      defaultAction: Deny\n      publicNetwork:\n        allowedRequestTypes:\n          - ClientConnection\n      privateEndpoints:\n        - id: ${exampleEndpoint.id}\n          allowedRequestTypes:\n            - ServerConnection\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.SignalRService` - 2024-03-01\n\n## Import\n\nNetwork ACLs for a SignalR service can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:signalr/serviceNetworkAcl:ServiceNetworkAcl example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.SignalRService/signalR/signalr1\n```\n\n","properties":{"defaultAction":{"type":"string","description":"The default action to control the network access when no other rule matches. Possible values are `Allow` and `Deny`.\n"},"privateEndpoints":{"type":"array","items":{"$ref":"#/types/azure:signalr/ServiceNetworkAclPrivateEndpoint:ServiceNetworkAclPrivateEndpoint"},"description":"A \u003cspan pulumi-lang-nodejs=\"`privateEndpoint`\" pulumi-lang-dotnet=\"`PrivateEndpoint`\" pulumi-lang-go=\"`privateEndpoint`\" pulumi-lang-python=\"`private_endpoint`\" pulumi-lang-yaml=\"`privateEndpoint`\" pulumi-lang-java=\"`privateEndpoint`\"\u003e`private_endpoint`\u003c/span\u003e block as defined below.\n"},"publicNetwork":{"$ref":"#/types/azure:signalr/ServiceNetworkAclPublicNetwork:ServiceNetworkAclPublicNetwork","description":"A \u003cspan pulumi-lang-nodejs=\"`publicNetwork`\" pulumi-lang-dotnet=\"`PublicNetwork`\" pulumi-lang-go=\"`publicNetwork`\" pulumi-lang-python=\"`public_network`\" pulumi-lang-yaml=\"`publicNetwork`\" pulumi-lang-java=\"`publicNetwork`\"\u003e`public_network`\u003c/span\u003e block as defined below.\n"},"signalrServiceId":{"type":"string","description":"The ID of the SignalR service. Changing this forces a new resource to be created.\n"}},"required":["defaultAction","publicNetwork","signalrServiceId"],"inputProperties":{"defaultAction":{"type":"string","description":"The default action to control the network access when no other rule matches. Possible values are `Allow` and `Deny`.\n"},"privateEndpoints":{"type":"array","items":{"$ref":"#/types/azure:signalr/ServiceNetworkAclPrivateEndpoint:ServiceNetworkAclPrivateEndpoint"},"description":"A \u003cspan pulumi-lang-nodejs=\"`privateEndpoint`\" pulumi-lang-dotnet=\"`PrivateEndpoint`\" pulumi-lang-go=\"`privateEndpoint`\" pulumi-lang-python=\"`private_endpoint`\" pulumi-lang-yaml=\"`privateEndpoint`\" pulumi-lang-java=\"`privateEndpoint`\"\u003e`private_endpoint`\u003c/span\u003e block as defined below.\n"},"publicNetwork":{"$ref":"#/types/azure:signalr/ServiceNetworkAclPublicNetwork:ServiceNetworkAclPublicNetwork","description":"A \u003cspan pulumi-lang-nodejs=\"`publicNetwork`\" pulumi-lang-dotnet=\"`PublicNetwork`\" pulumi-lang-go=\"`publicNetwork`\" pulumi-lang-python=\"`public_network`\" pulumi-lang-yaml=\"`publicNetwork`\" pulumi-lang-java=\"`publicNetwork`\"\u003e`public_network`\u003c/span\u003e block as defined below.\n"},"signalrServiceId":{"type":"string","description":"The ID of the SignalR service. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["defaultAction","publicNetwork","signalrServiceId"],"stateInputs":{"description":"Input properties used for looking up and filtering ServiceNetworkAcl resources.\n","properties":{"defaultAction":{"type":"string","description":"The default action to control the network access when no other rule matches. Possible values are `Allow` and `Deny`.\n"},"privateEndpoints":{"type":"array","items":{"$ref":"#/types/azure:signalr/ServiceNetworkAclPrivateEndpoint:ServiceNetworkAclPrivateEndpoint"},"description":"A \u003cspan pulumi-lang-nodejs=\"`privateEndpoint`\" pulumi-lang-dotnet=\"`PrivateEndpoint`\" pulumi-lang-go=\"`privateEndpoint`\" pulumi-lang-python=\"`private_endpoint`\" pulumi-lang-yaml=\"`privateEndpoint`\" pulumi-lang-java=\"`privateEndpoint`\"\u003e`private_endpoint`\u003c/span\u003e block as defined below.\n"},"publicNetwork":{"$ref":"#/types/azure:signalr/ServiceNetworkAclPublicNetwork:ServiceNetworkAclPublicNetwork","description":"A \u003cspan pulumi-lang-nodejs=\"`publicNetwork`\" pulumi-lang-dotnet=\"`PublicNetwork`\" pulumi-lang-go=\"`publicNetwork`\" pulumi-lang-python=\"`public_network`\" pulumi-lang-yaml=\"`publicNetwork`\" pulumi-lang-java=\"`publicNetwork`\"\u003e`public_network`\u003c/span\u003e block as defined below.\n"},"signalrServiceId":{"type":"string","description":"The ID of the SignalR service. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:signalr/sharedPrivateLinkResource:SharedPrivateLinkResource":{"description":"Manages the Shared Private Link Resource for a Signalr service.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst current = azure.core.getClientConfig({});\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"terraform-signalr\",\n    location: \"east us\",\n});\nconst exampleKeyVault = new azure.keyvault.KeyVault(\"example\", {\n    name: \"examplekeyvault\",\n    location: example.location,\n    resourceGroupName: example.name,\n    tenantId: current.then(current =\u003e current.tenantId),\n    skuName: \"standard\",\n    softDeleteRetentionDays: 7,\n    accessPolicies: [{\n        tenantId: current.then(current =\u003e current.tenantId),\n        objectId: current.then(current =\u003e current.objectId),\n        certificatePermissions: [\"ManageContacts\"],\n        keyPermissions: [\"Create\"],\n        secretPermissions: [\"Set\"],\n    }],\n});\nconst test = new azure.signalr.Service(\"test\", {\n    name: \"tfex-signalr\",\n    location: testAzurermResourceGroup.location,\n    resourceGroupName: testAzurermResourceGroup.name,\n    sku: {\n        name: \"Standard_S1\",\n        capacity: 1,\n    },\n});\nconst exampleSharedPrivateLinkResource = new azure.signalr.SharedPrivateLinkResource(\"example\", {\n    name: \"tfex-signalr-splr\",\n    signalrServiceId: exampleAzurermSignalrService.id,\n    subResourceName: \"vault\",\n    targetResourceId: exampleKeyVault.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\ncurrent = azure.core.get_client_config()\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"terraform-signalr\",\n    location=\"east us\")\nexample_key_vault = azure.keyvault.KeyVault(\"example\",\n    name=\"examplekeyvault\",\n    location=example.location,\n    resource_group_name=example.name,\n    tenant_id=current.tenant_id,\n    sku_name=\"standard\",\n    soft_delete_retention_days=7,\n    access_policies=[{\n        \"tenant_id\": current.tenant_id,\n        \"object_id\": current.object_id,\n        \"certificate_permissions\": [\"ManageContacts\"],\n        \"key_permissions\": [\"Create\"],\n        \"secret_permissions\": [\"Set\"],\n    }])\ntest = azure.signalr.Service(\"test\",\n    name=\"tfex-signalr\",\n    location=test_azurerm_resource_group[\"location\"],\n    resource_group_name=test_azurerm_resource_group[\"name\"],\n    sku={\n        \"name\": \"Standard_S1\",\n        \"capacity\": 1,\n    })\nexample_shared_private_link_resource = azure.signalr.SharedPrivateLinkResource(\"example\",\n    name=\"tfex-signalr-splr\",\n    signalr_service_id=example_azurerm_signalr_service[\"id\"],\n    sub_resource_name=\"vault\",\n    target_resource_id=example_key_vault.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var current = Azure.Core.GetClientConfig.Invoke();\n\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"terraform-signalr\",\n        Location = \"east us\",\n    });\n\n    var exampleKeyVault = new Azure.KeyVault.KeyVault(\"example\", new()\n    {\n        Name = \"examplekeyvault\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        TenantId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.TenantId),\n        SkuName = \"standard\",\n        SoftDeleteRetentionDays = 7,\n        AccessPolicies = new[]\n        {\n            new Azure.KeyVault.Inputs.KeyVaultAccessPolicyArgs\n            {\n                TenantId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.TenantId),\n                ObjectId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.ObjectId),\n                CertificatePermissions = new[]\n                {\n                    \"ManageContacts\",\n                },\n                KeyPermissions = new[]\n                {\n                    \"Create\",\n                },\n                SecretPermissions = new[]\n                {\n                    \"Set\",\n                },\n            },\n        },\n    });\n\n    var test = new Azure.SignalR.Service(\"test\", new()\n    {\n        Name = \"tfex-signalr\",\n        Location = testAzurermResourceGroup.Location,\n        ResourceGroupName = testAzurermResourceGroup.Name,\n        Sku = new Azure.SignalR.Inputs.ServiceSkuArgs\n        {\n            Name = \"Standard_S1\",\n            Capacity = 1,\n        },\n    });\n\n    var exampleSharedPrivateLinkResource = new Azure.SignalR.SharedPrivateLinkResource(\"example\", new()\n    {\n        Name = \"tfex-signalr-splr\",\n        SignalrServiceId = exampleAzurermSignalrService.Id,\n        SubResourceName = \"vault\",\n        TargetResourceId = exampleKeyVault.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/keyvault\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/signalr\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := core.GetClientConfig(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"terraform-signalr\"),\n\t\t\tLocation: pulumi.String(\"east us\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleKeyVault, err := keyvault.NewKeyVault(ctx, \"example\", \u0026keyvault.KeyVaultArgs{\n\t\t\tName:                    pulumi.String(\"examplekeyvault\"),\n\t\t\tLocation:                example.Location,\n\t\t\tResourceGroupName:       example.Name,\n\t\t\tTenantId:                pulumi.String(current.TenantId),\n\t\t\tSkuName:                 pulumi.String(\"standard\"),\n\t\t\tSoftDeleteRetentionDays: pulumi.Int(7),\n\t\t\tAccessPolicies: keyvault.KeyVaultAccessPolicyArray{\n\t\t\t\t\u0026keyvault.KeyVaultAccessPolicyArgs{\n\t\t\t\t\tTenantId: pulumi.String(current.TenantId),\n\t\t\t\t\tObjectId: pulumi.String(current.ObjectId),\n\t\t\t\t\tCertificatePermissions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"ManageContacts\"),\n\t\t\t\t\t},\n\t\t\t\t\tKeyPermissions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"Create\"),\n\t\t\t\t\t},\n\t\t\t\t\tSecretPermissions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"Set\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = signalr.NewService(ctx, \"test\", \u0026signalr.ServiceArgs{\n\t\t\tName:              pulumi.String(\"tfex-signalr\"),\n\t\t\tLocation:          pulumi.Any(testAzurermResourceGroup.Location),\n\t\t\tResourceGroupName: pulumi.Any(testAzurermResourceGroup.Name),\n\t\t\tSku: \u0026signalr.ServiceSkuArgs{\n\t\t\t\tName:     pulumi.String(\"Standard_S1\"),\n\t\t\t\tCapacity: pulumi.Int(1),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = signalr.NewSharedPrivateLinkResource(ctx, \"example\", \u0026signalr.SharedPrivateLinkResourceArgs{\n\t\t\tName:             pulumi.String(\"tfex-signalr-splr\"),\n\t\t\tSignalrServiceId: pulumi.Any(exampleAzurermSignalrService.Id),\n\t\t\tSubResourceName:  pulumi.String(\"vault\"),\n\t\t\tTargetResourceId: exampleKeyVault.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.keyvault.KeyVault;\nimport com.pulumi.azure.keyvault.KeyVaultArgs;\nimport com.pulumi.azure.keyvault.inputs.KeyVaultAccessPolicyArgs;\nimport com.pulumi.azure.signalr.Service;\nimport com.pulumi.azure.signalr.ServiceArgs;\nimport com.pulumi.azure.signalr.inputs.ServiceSkuArgs;\nimport com.pulumi.azure.signalr.SharedPrivateLinkResource;\nimport com.pulumi.azure.signalr.SharedPrivateLinkResourceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var current = CoreFunctions.getClientConfig(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"terraform-signalr\")\n            .location(\"east us\")\n            .build());\n\n        var exampleKeyVault = new KeyVault(\"exampleKeyVault\", KeyVaultArgs.builder()\n            .name(\"examplekeyvault\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .tenantId(current.tenantId())\n            .skuName(\"standard\")\n            .softDeleteRetentionDays(7)\n            .accessPolicies(KeyVaultAccessPolicyArgs.builder()\n                .tenantId(current.tenantId())\n                .objectId(current.objectId())\n                .certificatePermissions(\"ManageContacts\")\n                .keyPermissions(\"Create\")\n                .secretPermissions(\"Set\")\n                .build())\n            .build());\n\n        var test = new Service(\"test\", ServiceArgs.builder()\n            .name(\"tfex-signalr\")\n            .location(testAzurermResourceGroup.location())\n            .resourceGroupName(testAzurermResourceGroup.name())\n            .sku(ServiceSkuArgs.builder()\n                .name(\"Standard_S1\")\n                .capacity(1)\n                .build())\n            .build());\n\n        var exampleSharedPrivateLinkResource = new SharedPrivateLinkResource(\"exampleSharedPrivateLinkResource\", SharedPrivateLinkResourceArgs.builder()\n            .name(\"tfex-signalr-splr\")\n            .signalrServiceId(exampleAzurermSignalrService.id())\n            .subResourceName(\"vault\")\n            .targetResourceId(exampleKeyVault.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: terraform-signalr\n      location: east us\n  exampleKeyVault:\n    type: azure:keyvault:KeyVault\n    name: example\n    properties:\n      name: examplekeyvault\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      tenantId: ${current.tenantId}\n      skuName: standard\n      softDeleteRetentionDays: 7\n      accessPolicies:\n        - tenantId: ${current.tenantId}\n          objectId: ${current.objectId}\n          certificatePermissions:\n            - ManageContacts\n          keyPermissions:\n            - Create\n          secretPermissions:\n            - Set\n  test:\n    type: azure:signalr:Service\n    properties:\n      name: tfex-signalr\n      location: ${testAzurermResourceGroup.location}\n      resourceGroupName: ${testAzurermResourceGroup.name}\n      sku:\n        name: Standard_S1\n        capacity: 1\n  exampleSharedPrivateLinkResource:\n    type: azure:signalr:SharedPrivateLinkResource\n    name: example\n    properties:\n      name: tfex-signalr-splr\n      signalrServiceId: ${exampleAzurermSignalrService.id}\n      subResourceName: vault\n      targetResourceId: ${exampleKeyVault.id}\nvariables:\n  current:\n    fn::invoke:\n      function: azure:core:getClientConfig\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.SignalRService` - 2024-03-01\n\n## Import\n\nSignalr Shared Private Link Resource can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:signalr/sharedPrivateLinkResource:SharedPrivateLinkResource example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.SignalRService/signalR/signalr1/sharedPrivateLinkResources/resource1\n```\n\n","properties":{"name":{"type":"string","description":"The name of the Signalr Shared Private Link Resource. Changing this forces a new resource to be created.\n"},"requestMessage":{"type":"string","description":"The request message for requesting approval of the Shared Private Link Enabled Remote Resource.\n"},"signalrServiceId":{"type":"string","description":"The id of the Signalr Service. Changing this forces a new resource to be created.\n"},"status":{"type":"string","description":"The status of a private endpoint connection. Possible values are `Pending`, `Approved`, `Rejected` or `Disconnected`.\n"},"subResourceName":{"type":"string","description":"The sub resource name which the Signalr Private Endpoint can connect to. Possible values are \u003cspan pulumi-lang-nodejs=\"`sites`\" pulumi-lang-dotnet=\"`Sites`\" pulumi-lang-go=\"`sites`\" pulumi-lang-python=\"`sites`\" pulumi-lang-yaml=\"`sites`\" pulumi-lang-java=\"`sites`\"\u003e`sites`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`vault`\" pulumi-lang-dotnet=\"`Vault`\" pulumi-lang-go=\"`vault`\" pulumi-lang-python=\"`vault`\" pulumi-lang-yaml=\"`vault`\" pulumi-lang-java=\"`vault`\"\u003e`vault`\u003c/span\u003e. Changing this forces a new resource to be created.\n"},"targetResourceId":{"type":"string","description":"The ID of the Shared Private Link Enabled Remote Resource which this Signalr Private Endpoint should be connected to. Changing this forces a new resource to be created.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`subResourceName`\" pulumi-lang-dotnet=\"`SubResourceName`\" pulumi-lang-go=\"`subResourceName`\" pulumi-lang-python=\"`sub_resource_name`\" pulumi-lang-yaml=\"`subResourceName`\" pulumi-lang-java=\"`subResourceName`\"\u003e`sub_resource_name`\u003c/span\u003e should match with the type of the \u003cspan pulumi-lang-nodejs=\"`targetResourceId`\" pulumi-lang-dotnet=\"`TargetResourceId`\" pulumi-lang-go=\"`targetResourceId`\" pulumi-lang-python=\"`target_resource_id`\" pulumi-lang-yaml=\"`targetResourceId`\" pulumi-lang-java=\"`targetResourceId`\"\u003e`target_resource_id`\u003c/span\u003e that's being specified.\n"}},"required":["name","signalrServiceId","status","subResourceName","targetResourceId"],"inputProperties":{"name":{"type":"string","description":"The name of the Signalr Shared Private Link Resource. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"requestMessage":{"type":"string","description":"The request message for requesting approval of the Shared Private Link Enabled Remote Resource.\n"},"signalrServiceId":{"type":"string","description":"The id of the Signalr Service. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"subResourceName":{"type":"string","description":"The sub resource name which the Signalr Private Endpoint can connect to. Possible values are \u003cspan pulumi-lang-nodejs=\"`sites`\" pulumi-lang-dotnet=\"`Sites`\" pulumi-lang-go=\"`sites`\" pulumi-lang-python=\"`sites`\" pulumi-lang-yaml=\"`sites`\" pulumi-lang-java=\"`sites`\"\u003e`sites`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`vault`\" pulumi-lang-dotnet=\"`Vault`\" pulumi-lang-go=\"`vault`\" pulumi-lang-python=\"`vault`\" pulumi-lang-yaml=\"`vault`\" pulumi-lang-java=\"`vault`\"\u003e`vault`\u003c/span\u003e. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"targetResourceId":{"type":"string","description":"The ID of the Shared Private Link Enabled Remote Resource which this Signalr Private Endpoint should be connected to. Changing this forces a new resource to be created.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`subResourceName`\" pulumi-lang-dotnet=\"`SubResourceName`\" pulumi-lang-go=\"`subResourceName`\" pulumi-lang-python=\"`sub_resource_name`\" pulumi-lang-yaml=\"`subResourceName`\" pulumi-lang-java=\"`subResourceName`\"\u003e`sub_resource_name`\u003c/span\u003e should match with the type of the \u003cspan pulumi-lang-nodejs=\"`targetResourceId`\" pulumi-lang-dotnet=\"`TargetResourceId`\" pulumi-lang-go=\"`targetResourceId`\" pulumi-lang-python=\"`target_resource_id`\" pulumi-lang-yaml=\"`targetResourceId`\" pulumi-lang-java=\"`targetResourceId`\"\u003e`target_resource_id`\u003c/span\u003e that's being specified.\n","willReplaceOnChanges":true}},"requiredInputs":["signalrServiceId","subResourceName","targetResourceId"],"stateInputs":{"description":"Input properties used for looking up and filtering SharedPrivateLinkResource resources.\n","properties":{"name":{"type":"string","description":"The name of the Signalr Shared Private Link Resource. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"requestMessage":{"type":"string","description":"The request message for requesting approval of the Shared Private Link Enabled Remote Resource.\n"},"signalrServiceId":{"type":"string","description":"The id of the Signalr Service. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"status":{"type":"string","description":"The status of a private endpoint connection. Possible values are `Pending`, `Approved`, `Rejected` or `Disconnected`.\n"},"subResourceName":{"type":"string","description":"The sub resource name which the Signalr Private Endpoint can connect to. Possible values are \u003cspan pulumi-lang-nodejs=\"`sites`\" pulumi-lang-dotnet=\"`Sites`\" pulumi-lang-go=\"`sites`\" pulumi-lang-python=\"`sites`\" pulumi-lang-yaml=\"`sites`\" pulumi-lang-java=\"`sites`\"\u003e`sites`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`vault`\" pulumi-lang-dotnet=\"`Vault`\" pulumi-lang-go=\"`vault`\" pulumi-lang-python=\"`vault`\" pulumi-lang-yaml=\"`vault`\" pulumi-lang-java=\"`vault`\"\u003e`vault`\u003c/span\u003e. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"targetResourceId":{"type":"string","description":"The ID of the Shared Private Link Enabled Remote Resource which this Signalr Private Endpoint should be connected to. Changing this forces a new resource to be created.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`subResourceName`\" pulumi-lang-dotnet=\"`SubResourceName`\" pulumi-lang-go=\"`subResourceName`\" pulumi-lang-python=\"`sub_resource_name`\" pulumi-lang-yaml=\"`subResourceName`\" pulumi-lang-java=\"`subResourceName`\"\u003e`sub_resource_name`\u003c/span\u003e should match with the type of the \u003cspan pulumi-lang-nodejs=\"`targetResourceId`\" pulumi-lang-dotnet=\"`TargetResourceId`\" pulumi-lang-go=\"`targetResourceId`\" pulumi-lang-python=\"`target_resource_id`\" pulumi-lang-yaml=\"`targetResourceId`\" pulumi-lang-java=\"`targetResourceId`\"\u003e`target_resource_id`\u003c/span\u003e that's being specified.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:siterecovery/fabric:Fabric":{"description":"Manages a Azure Site Recovery Replication Fabric within a Recovery Services vault. Only Azure fabrics are supported at this time. Replication Fabrics serve as a container within an Azure region for other Site Recovery resources such as protection containers, protected items, network mappings.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst primary = new azure.core.ResourceGroup(\"primary\", {\n    name: \"tfex-network-mapping-primary\",\n    location: \"West US\",\n});\nconst secondary = new azure.core.ResourceGroup(\"secondary\", {\n    name: \"tfex-network-mapping-secondary\",\n    location: \"East US\",\n});\nconst vault = new azure.recoveryservices.Vault(\"vault\", {\n    name: \"example-recovery-vault\",\n    location: secondary.location,\n    resourceGroupName: secondary.name,\n    sku: \"Standard\",\n});\nconst fabric = new azure.siterecovery.Fabric(\"fabric\", {\n    name: \"primary-fabric\",\n    resourceGroupName: secondary.name,\n    recoveryVaultName: vault.name,\n    location: primary.location,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nprimary = azure.core.ResourceGroup(\"primary\",\n    name=\"tfex-network-mapping-primary\",\n    location=\"West US\")\nsecondary = azure.core.ResourceGroup(\"secondary\",\n    name=\"tfex-network-mapping-secondary\",\n    location=\"East US\")\nvault = azure.recoveryservices.Vault(\"vault\",\n    name=\"example-recovery-vault\",\n    location=secondary.location,\n    resource_group_name=secondary.name,\n    sku=\"Standard\")\nfabric = azure.siterecovery.Fabric(\"fabric\",\n    name=\"primary-fabric\",\n    resource_group_name=secondary.name,\n    recovery_vault_name=vault.name,\n    location=primary.location)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var primary = new Azure.Core.ResourceGroup(\"primary\", new()\n    {\n        Name = \"tfex-network-mapping-primary\",\n        Location = \"West US\",\n    });\n\n    var secondary = new Azure.Core.ResourceGroup(\"secondary\", new()\n    {\n        Name = \"tfex-network-mapping-secondary\",\n        Location = \"East US\",\n    });\n\n    var vault = new Azure.RecoveryServices.Vault(\"vault\", new()\n    {\n        Name = \"example-recovery-vault\",\n        Location = secondary.Location,\n        ResourceGroupName = secondary.Name,\n        Sku = \"Standard\",\n    });\n\n    var fabric = new Azure.SiteRecovery.Fabric(\"fabric\", new()\n    {\n        Name = \"primary-fabric\",\n        ResourceGroupName = secondary.Name,\n        RecoveryVaultName = vault.Name,\n        Location = primary.Location,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/recoveryservices\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/siterecovery\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tprimary, err := core.NewResourceGroup(ctx, \"primary\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"tfex-network-mapping-primary\"),\n\t\t\tLocation: pulumi.String(\"West US\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsecondary, err := core.NewResourceGroup(ctx, \"secondary\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"tfex-network-mapping-secondary\"),\n\t\t\tLocation: pulumi.String(\"East US\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvault, err := recoveryservices.NewVault(ctx, \"vault\", \u0026recoveryservices.VaultArgs{\n\t\t\tName:              pulumi.String(\"example-recovery-vault\"),\n\t\t\tLocation:          secondary.Location,\n\t\t\tResourceGroupName: secondary.Name,\n\t\t\tSku:               pulumi.String(\"Standard\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = siterecovery.NewFabric(ctx, \"fabric\", \u0026siterecovery.FabricArgs{\n\t\t\tName:              pulumi.String(\"primary-fabric\"),\n\t\t\tResourceGroupName: secondary.Name,\n\t\t\tRecoveryVaultName: vault.Name,\n\t\t\tLocation:          primary.Location,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.recoveryservices.Vault;\nimport com.pulumi.azure.recoveryservices.VaultArgs;\nimport com.pulumi.azure.siterecovery.Fabric;\nimport com.pulumi.azure.siterecovery.FabricArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var primary = new ResourceGroup(\"primary\", ResourceGroupArgs.builder()\n            .name(\"tfex-network-mapping-primary\")\n            .location(\"West US\")\n            .build());\n\n        var secondary = new ResourceGroup(\"secondary\", ResourceGroupArgs.builder()\n            .name(\"tfex-network-mapping-secondary\")\n            .location(\"East US\")\n            .build());\n\n        var vault = new Vault(\"vault\", VaultArgs.builder()\n            .name(\"example-recovery-vault\")\n            .location(secondary.location())\n            .resourceGroupName(secondary.name())\n            .sku(\"Standard\")\n            .build());\n\n        var fabric = new Fabric(\"fabric\", FabricArgs.builder()\n            .name(\"primary-fabric\")\n            .resourceGroupName(secondary.name())\n            .recoveryVaultName(vault.name())\n            .location(primary.location())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  primary:\n    type: azure:core:ResourceGroup\n    properties:\n      name: tfex-network-mapping-primary\n      location: West US\n  secondary:\n    type: azure:core:ResourceGroup\n    properties:\n      name: tfex-network-mapping-secondary\n      location: East US\n  vault:\n    type: azure:recoveryservices:Vault\n    properties:\n      name: example-recovery-vault\n      location: ${secondary.location}\n      resourceGroupName: ${secondary.name}\n      sku: Standard\n  fabric:\n    type: azure:siterecovery:Fabric\n    properties:\n      name: primary-fabric\n      resourceGroupName: ${secondary.name}\n      recoveryVaultName: ${vault.name}\n      location: ${primary.location}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.RecoveryServices` - 2024-04-01\n\n## Import\n\nSite Recovery Fabric can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:siterecovery/fabric:Fabric myfabric /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resource-group-name/providers/Microsoft.RecoveryServices/vaults/recovery-vault-name/replicationFabrics/fabric-name\n```\n\n","properties":{"location":{"type":"string","description":"In what region should the fabric be located. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"The name of the network mapping. Changing this forces a new resource to be created.\n"},"recoveryVaultName":{"type":"string","description":"The name of the vault that should be updated. Changing this forces a new resource to be created.\n"},"resourceGroupName":{"type":"string","description":"Name of the resource group where the vault that should be updated is located. Changing this forces a new resource to be created.\n"}},"required":["location","name","recoveryVaultName","resourceGroupName"],"inputProperties":{"location":{"type":"string","description":"In what region should the fabric be located. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the network mapping. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"recoveryVaultName":{"type":"string","description":"The name of the vault that should be updated. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"Name of the resource group where the vault that should be updated is located. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["recoveryVaultName","resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering Fabric resources.\n","properties":{"location":{"type":"string","description":"In what region should the fabric be located. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the network mapping. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"recoveryVaultName":{"type":"string","description":"The name of the vault that should be updated. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"Name of the resource group where the vault that should be updated is located. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:siterecovery/hyperVReplicationPolicy:HyperVReplicationPolicy":{"description":"Manages a Azure Site Recovery replication policy for HyperV within a Recovery Vault. Replication policies define the frequency at which recovery points are created and how long they are stored.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-rg\",\n    location: \"East US\",\n});\nconst vault = new azure.recoveryservices.Vault(\"vault\", {\n    name: \"example-recovery-vault\",\n    location: example.location,\n    resourceGroupName: example.name,\n    sku: \"Standard\",\n});\nconst policy = new azure.siterecovery.HyperVReplicationPolicy(\"policy\", {\n    name: \"policy\",\n    recoveryVaultId: vault.id,\n    recoveryPointRetentionInHours: 2,\n    applicationConsistentSnapshotFrequencyInHours: 1,\n    replicationIntervalInSeconds: 300,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-rg\",\n    location=\"East US\")\nvault = azure.recoveryservices.Vault(\"vault\",\n    name=\"example-recovery-vault\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku=\"Standard\")\npolicy = azure.siterecovery.HyperVReplicationPolicy(\"policy\",\n    name=\"policy\",\n    recovery_vault_id=vault.id,\n    recovery_point_retention_in_hours=2,\n    application_consistent_snapshot_frequency_in_hours=1,\n    replication_interval_in_seconds=300)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-rg\",\n        Location = \"East US\",\n    });\n\n    var vault = new Azure.RecoveryServices.Vault(\"vault\", new()\n    {\n        Name = \"example-recovery-vault\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Sku = \"Standard\",\n    });\n\n    var policy = new Azure.SiteRecovery.HyperVReplicationPolicy(\"policy\", new()\n    {\n        Name = \"policy\",\n        RecoveryVaultId = vault.Id,\n        RecoveryPointRetentionInHours = 2,\n        ApplicationConsistentSnapshotFrequencyInHours = 1,\n        ReplicationIntervalInSeconds = 300,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/recoveryservices\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/siterecovery\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-rg\"),\n\t\t\tLocation: pulumi.String(\"East US\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvault, err := recoveryservices.NewVault(ctx, \"vault\", \u0026recoveryservices.VaultArgs{\n\t\t\tName:              pulumi.String(\"example-recovery-vault\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSku:               pulumi.String(\"Standard\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = siterecovery.NewHyperVReplicationPolicy(ctx, \"policy\", \u0026siterecovery.HyperVReplicationPolicyArgs{\n\t\t\tName:                          pulumi.String(\"policy\"),\n\t\t\tRecoveryVaultId:               vault.ID(),\n\t\t\tRecoveryPointRetentionInHours: pulumi.Int(2),\n\t\t\tApplicationConsistentSnapshotFrequencyInHours: pulumi.Int(1),\n\t\t\tReplicationIntervalInSeconds:                  pulumi.Int(300),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.recoveryservices.Vault;\nimport com.pulumi.azure.recoveryservices.VaultArgs;\nimport com.pulumi.azure.siterecovery.HyperVReplicationPolicy;\nimport com.pulumi.azure.siterecovery.HyperVReplicationPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-rg\")\n            .location(\"East US\")\n            .build());\n\n        var vault = new Vault(\"vault\", VaultArgs.builder()\n            .name(\"example-recovery-vault\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .sku(\"Standard\")\n            .build());\n\n        var policy = new HyperVReplicationPolicy(\"policy\", HyperVReplicationPolicyArgs.builder()\n            .name(\"policy\")\n            .recoveryVaultId(vault.id())\n            .recoveryPointRetentionInHours(2)\n            .applicationConsistentSnapshotFrequencyInHours(1)\n            .replicationIntervalInSeconds(300)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-rg\n      location: East US\n  vault:\n    type: azure:recoveryservices:Vault\n    properties:\n      name: example-recovery-vault\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      sku: Standard\n  policy:\n    type: azure:siterecovery:HyperVReplicationPolicy\n    properties:\n      name: policy\n      recoveryVaultId: ${vault.id}\n      recoveryPointRetentionInHours: 2\n      applicationConsistentSnapshotFrequencyInHours: 1\n      replicationIntervalInSeconds: 300\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.RecoveryServices` - 2024-04-01\n\n## Import\n\nSite Recovery Replication Policies can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:siterecovery/hyperVReplicationPolicy:HyperVReplicationPolicy mypolicy /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resource-group-name/providers/Microsoft.RecoveryServices/vaults/recovery-vault-name/replicationPolicies/policy-name\n```\n\n","properties":{"applicationConsistentSnapshotFrequencyInHours":{"type":"integer","description":"Specifies the frequency at which to create application consistent recovery points.\n"},"name":{"type":"string","description":"The name of the replication policy. Changing this forces a new resource to be created.\n"},"recoveryPointRetentionInHours":{"type":"integer","description":"The duration in hours for which the recovery points need to be stored.\n"},"recoveryVaultId":{"type":"string","description":"The id of the vault that should be updated. Changing this forces a new resource to be created.\n"},"replicationIntervalInSeconds":{"type":"integer","description":"Specifies how frequently data should be synchronized between source and target locations. Possible values are \u003cspan pulumi-lang-nodejs=\"`30`\" pulumi-lang-dotnet=\"`30`\" pulumi-lang-go=\"`30`\" pulumi-lang-python=\"`30`\" pulumi-lang-yaml=\"`30`\" pulumi-lang-java=\"`30`\"\u003e`30`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`300`\" pulumi-lang-dotnet=\"`300`\" pulumi-lang-go=\"`300`\" pulumi-lang-python=\"`300`\" pulumi-lang-yaml=\"`300`\" pulumi-lang-java=\"`300`\"\u003e`300`\u003c/span\u003e.\n"}},"required":["applicationConsistentSnapshotFrequencyInHours","name","recoveryPointRetentionInHours","recoveryVaultId","replicationIntervalInSeconds"],"inputProperties":{"applicationConsistentSnapshotFrequencyInHours":{"type":"integer","description":"Specifies the frequency at which to create application consistent recovery points.\n"},"name":{"type":"string","description":"The name of the replication policy. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"recoveryPointRetentionInHours":{"type":"integer","description":"The duration in hours for which the recovery points need to be stored.\n"},"recoveryVaultId":{"type":"string","description":"The id of the vault that should be updated. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"replicationIntervalInSeconds":{"type":"integer","description":"Specifies how frequently data should be synchronized between source and target locations. Possible values are \u003cspan pulumi-lang-nodejs=\"`30`\" pulumi-lang-dotnet=\"`30`\" pulumi-lang-go=\"`30`\" pulumi-lang-python=\"`30`\" pulumi-lang-yaml=\"`30`\" pulumi-lang-java=\"`30`\"\u003e`30`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`300`\" pulumi-lang-dotnet=\"`300`\" pulumi-lang-go=\"`300`\" pulumi-lang-python=\"`300`\" pulumi-lang-yaml=\"`300`\" pulumi-lang-java=\"`300`\"\u003e`300`\u003c/span\u003e.\n"}},"requiredInputs":["applicationConsistentSnapshotFrequencyInHours","recoveryPointRetentionInHours","recoveryVaultId","replicationIntervalInSeconds"],"stateInputs":{"description":"Input properties used for looking up and filtering HyperVReplicationPolicy resources.\n","properties":{"applicationConsistentSnapshotFrequencyInHours":{"type":"integer","description":"Specifies the frequency at which to create application consistent recovery points.\n"},"name":{"type":"string","description":"The name of the replication policy. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"recoveryPointRetentionInHours":{"type":"integer","description":"The duration in hours for which the recovery points need to be stored.\n"},"recoveryVaultId":{"type":"string","description":"The id of the vault that should be updated. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"replicationIntervalInSeconds":{"type":"integer","description":"Specifies how frequently data should be synchronized between source and target locations. Possible values are \u003cspan pulumi-lang-nodejs=\"`30`\" pulumi-lang-dotnet=\"`30`\" pulumi-lang-go=\"`30`\" pulumi-lang-python=\"`30`\" pulumi-lang-yaml=\"`30`\" pulumi-lang-java=\"`30`\"\u003e`30`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`300`\" pulumi-lang-dotnet=\"`300`\" pulumi-lang-go=\"`300`\" pulumi-lang-python=\"`300`\" pulumi-lang-yaml=\"`300`\" pulumi-lang-java=\"`300`\"\u003e`300`\u003c/span\u003e.\n"}},"type":"object"}},"azure:siterecovery/hyperVReplicationPolicyAssociation:HyperVReplicationPolicyAssociation":{"description":"Manages an Azure Site Recovery replication policy for HyperV within a Recovery Vault. \n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-rg\",\n    location: \"East US\",\n});\nconst exampleVault = new azure.recoveryservices.Vault(\"example\", {\n    name: \"example-recovery-vault\",\n    location: example.location,\n    resourceGroupName: example.name,\n    sku: \"Standard\",\n});\nconst exampleHyperVSite = new azure.siterecovery.HyperVSite(\"example\", {\n    recoveryVaultId: exampleVault.id,\n    name: \"example-site\",\n});\nconst exampleHyperVReplicationPolicy = new azure.siterecovery.HyperVReplicationPolicy(\"example\", {\n    name: \"policy\",\n    recoveryVaultId: exampleVault.id,\n    recoveryPointRetentionInHours: 2,\n    applicationConsistentSnapshotFrequencyInHours: 1,\n    replicationIntervalInSeconds: 300,\n});\nconst exampleHyperVReplicationPolicyAssociation = new azure.siterecovery.HyperVReplicationPolicyAssociation(\"example\", {\n    name: \"example-association\",\n    hypervSiteId: exampleHyperVSite.id,\n    policyId: exampleHyperVReplicationPolicy.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-rg\",\n    location=\"East US\")\nexample_vault = azure.recoveryservices.Vault(\"example\",\n    name=\"example-recovery-vault\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku=\"Standard\")\nexample_hyper_v_site = azure.siterecovery.HyperVSite(\"example\",\n    recovery_vault_id=example_vault.id,\n    name=\"example-site\")\nexample_hyper_v_replication_policy = azure.siterecovery.HyperVReplicationPolicy(\"example\",\n    name=\"policy\",\n    recovery_vault_id=example_vault.id,\n    recovery_point_retention_in_hours=2,\n    application_consistent_snapshot_frequency_in_hours=1,\n    replication_interval_in_seconds=300)\nexample_hyper_v_replication_policy_association = azure.siterecovery.HyperVReplicationPolicyAssociation(\"example\",\n    name=\"example-association\",\n    hyperv_site_id=example_hyper_v_site.id,\n    policy_id=example_hyper_v_replication_policy.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-rg\",\n        Location = \"East US\",\n    });\n\n    var exampleVault = new Azure.RecoveryServices.Vault(\"example\", new()\n    {\n        Name = \"example-recovery-vault\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Sku = \"Standard\",\n    });\n\n    var exampleHyperVSite = new Azure.SiteRecovery.HyperVSite(\"example\", new()\n    {\n        RecoveryVaultId = exampleVault.Id,\n        Name = \"example-site\",\n    });\n\n    var exampleHyperVReplicationPolicy = new Azure.SiteRecovery.HyperVReplicationPolicy(\"example\", new()\n    {\n        Name = \"policy\",\n        RecoveryVaultId = exampleVault.Id,\n        RecoveryPointRetentionInHours = 2,\n        ApplicationConsistentSnapshotFrequencyInHours = 1,\n        ReplicationIntervalInSeconds = 300,\n    });\n\n    var exampleHyperVReplicationPolicyAssociation = new Azure.SiteRecovery.HyperVReplicationPolicyAssociation(\"example\", new()\n    {\n        Name = \"example-association\",\n        HypervSiteId = exampleHyperVSite.Id,\n        PolicyId = exampleHyperVReplicationPolicy.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/recoveryservices\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/siterecovery\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-rg\"),\n\t\t\tLocation: pulumi.String(\"East US\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVault, err := recoveryservices.NewVault(ctx, \"example\", \u0026recoveryservices.VaultArgs{\n\t\t\tName:              pulumi.String(\"example-recovery-vault\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSku:               pulumi.String(\"Standard\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleHyperVSite, err := siterecovery.NewHyperVSite(ctx, \"example\", \u0026siterecovery.HyperVSiteArgs{\n\t\t\tRecoveryVaultId: exampleVault.ID(),\n\t\t\tName:            pulumi.String(\"example-site\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleHyperVReplicationPolicy, err := siterecovery.NewHyperVReplicationPolicy(ctx, \"example\", \u0026siterecovery.HyperVReplicationPolicyArgs{\n\t\t\tName:                          pulumi.String(\"policy\"),\n\t\t\tRecoveryVaultId:               exampleVault.ID(),\n\t\t\tRecoveryPointRetentionInHours: pulumi.Int(2),\n\t\t\tApplicationConsistentSnapshotFrequencyInHours: pulumi.Int(1),\n\t\t\tReplicationIntervalInSeconds:                  pulumi.Int(300),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = siterecovery.NewHyperVReplicationPolicyAssociation(ctx, \"example\", \u0026siterecovery.HyperVReplicationPolicyAssociationArgs{\n\t\t\tName:         pulumi.String(\"example-association\"),\n\t\t\tHypervSiteId: exampleHyperVSite.ID(),\n\t\t\tPolicyId:     exampleHyperVReplicationPolicy.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.recoveryservices.Vault;\nimport com.pulumi.azure.recoveryservices.VaultArgs;\nimport com.pulumi.azure.siterecovery.HyperVSite;\nimport com.pulumi.azure.siterecovery.HyperVSiteArgs;\nimport com.pulumi.azure.siterecovery.HyperVReplicationPolicy;\nimport com.pulumi.azure.siterecovery.HyperVReplicationPolicyArgs;\nimport com.pulumi.azure.siterecovery.HyperVReplicationPolicyAssociation;\nimport com.pulumi.azure.siterecovery.HyperVReplicationPolicyAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-rg\")\n            .location(\"East US\")\n            .build());\n\n        var exampleVault = new Vault(\"exampleVault\", VaultArgs.builder()\n            .name(\"example-recovery-vault\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .sku(\"Standard\")\n            .build());\n\n        var exampleHyperVSite = new HyperVSite(\"exampleHyperVSite\", HyperVSiteArgs.builder()\n            .recoveryVaultId(exampleVault.id())\n            .name(\"example-site\")\n            .build());\n\n        var exampleHyperVReplicationPolicy = new HyperVReplicationPolicy(\"exampleHyperVReplicationPolicy\", HyperVReplicationPolicyArgs.builder()\n            .name(\"policy\")\n            .recoveryVaultId(exampleVault.id())\n            .recoveryPointRetentionInHours(2)\n            .applicationConsistentSnapshotFrequencyInHours(1)\n            .replicationIntervalInSeconds(300)\n            .build());\n\n        var exampleHyperVReplicationPolicyAssociation = new HyperVReplicationPolicyAssociation(\"exampleHyperVReplicationPolicyAssociation\", HyperVReplicationPolicyAssociationArgs.builder()\n            .name(\"example-association\")\n            .hypervSiteId(exampleHyperVSite.id())\n            .policyId(exampleHyperVReplicationPolicy.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-rg\n      location: East US\n  exampleVault:\n    type: azure:recoveryservices:Vault\n    name: example\n    properties:\n      name: example-recovery-vault\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      sku: Standard\n  exampleHyperVSite:\n    type: azure:siterecovery:HyperVSite\n    name: example\n    properties:\n      recoveryVaultId: ${exampleVault.id}\n      name: example-site\n  exampleHyperVReplicationPolicy:\n    type: azure:siterecovery:HyperVReplicationPolicy\n    name: example\n    properties:\n      name: policy\n      recoveryVaultId: ${exampleVault.id}\n      recoveryPointRetentionInHours: 2\n      applicationConsistentSnapshotFrequencyInHours: 1\n      replicationIntervalInSeconds: 300\n  exampleHyperVReplicationPolicyAssociation:\n    type: azure:siterecovery:HyperVReplicationPolicyAssociation\n    name: example\n    properties:\n      name: example-association\n      hypervSiteId: ${exampleHyperVSite.id}\n      policyId: ${exampleHyperVReplicationPolicy.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.RecoveryServices` - 2024-04-01\n\n## Import\n\nSite Recovery Replication Policies can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:siterecovery/hyperVReplicationPolicyAssociation:HyperVReplicationPolicyAssociation mypolicy /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resource-group-name/providers/Microsoft.RecoveryServices/vaults/recovery-vault-name/replicationFabrics/site-name/replicationProtectionContainers/container-name/replicationProtectionContainerMappings/mapping-name\n```\n\n","properties":{"hypervSiteId":{"type":"string","description":"The ID of the HyperV site to which the policy should be associated. Changing this forces a new association to be created.\n"},"name":{"type":"string","description":"The name of the replication policy association. Changing this forces a new association to be created.\n"},"policyId":{"type":"string","description":"The ID of the HyperV replication policy which to be associated. Changing this forces a new association to be created.\n"}},"required":["hypervSiteId","name","policyId"],"inputProperties":{"hypervSiteId":{"type":"string","description":"The ID of the HyperV site to which the policy should be associated. Changing this forces a new association to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the replication policy association. Changing this forces a new association to be created.\n","willReplaceOnChanges":true},"policyId":{"type":"string","description":"The ID of the HyperV replication policy which to be associated. Changing this forces a new association to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["hypervSiteId","policyId"],"stateInputs":{"description":"Input properties used for looking up and filtering HyperVReplicationPolicyAssociation resources.\n","properties":{"hypervSiteId":{"type":"string","description":"The ID of the HyperV site to which the policy should be associated. Changing this forces a new association to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the replication policy association. Changing this forces a new association to be created.\n","willReplaceOnChanges":true},"policyId":{"type":"string","description":"The ID of the HyperV replication policy which to be associated. Changing this forces a new association to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:siterecovery/hyperVSite:HyperVSite":{"description":"Manages a HyperV Site in Recovery Service Vault.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-rg\",\n    location: \"eastus\",\n});\nconst exampleVault = new azure.recoveryservices.Vault(\"example\", {\n    name: \"example-vault\",\n    location: example.location,\n    resourceGroupName: example.name,\n    sku: \"Standard\",\n    softDeleteEnabled: false,\n});\nconst exampleHyperVSite = new azure.siterecovery.HyperVSite(\"example\", {\n    name: \"example-site\",\n    recoveryVaultId: exampleVault.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-rg\",\n    location=\"eastus\")\nexample_vault = azure.recoveryservices.Vault(\"example\",\n    name=\"example-vault\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku=\"Standard\",\n    soft_delete_enabled=False)\nexample_hyper_v_site = azure.siterecovery.HyperVSite(\"example\",\n    name=\"example-site\",\n    recovery_vault_id=example_vault.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-rg\",\n        Location = \"eastus\",\n    });\n\n    var exampleVault = new Azure.RecoveryServices.Vault(\"example\", new()\n    {\n        Name = \"example-vault\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Sku = \"Standard\",\n        SoftDeleteEnabled = false,\n    });\n\n    var exampleHyperVSite = new Azure.SiteRecovery.HyperVSite(\"example\", new()\n    {\n        Name = \"example-site\",\n        RecoveryVaultId = exampleVault.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/recoveryservices\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/siterecovery\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-rg\"),\n\t\t\tLocation: pulumi.String(\"eastus\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVault, err := recoveryservices.NewVault(ctx, \"example\", \u0026recoveryservices.VaultArgs{\n\t\t\tName:              pulumi.String(\"example-vault\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSku:               pulumi.String(\"Standard\"),\n\t\t\tSoftDeleteEnabled: pulumi.Bool(false),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = siterecovery.NewHyperVSite(ctx, \"example\", \u0026siterecovery.HyperVSiteArgs{\n\t\t\tName:            pulumi.String(\"example-site\"),\n\t\t\tRecoveryVaultId: exampleVault.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.recoveryservices.Vault;\nimport com.pulumi.azure.recoveryservices.VaultArgs;\nimport com.pulumi.azure.siterecovery.HyperVSite;\nimport com.pulumi.azure.siterecovery.HyperVSiteArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-rg\")\n            .location(\"eastus\")\n            .build());\n\n        var exampleVault = new Vault(\"exampleVault\", VaultArgs.builder()\n            .name(\"example-vault\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .sku(\"Standard\")\n            .softDeleteEnabled(false)\n            .build());\n\n        var exampleHyperVSite = new HyperVSite(\"exampleHyperVSite\", HyperVSiteArgs.builder()\n            .name(\"example-site\")\n            .recoveryVaultId(exampleVault.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-rg\n      location: eastus\n  exampleVault:\n    type: azure:recoveryservices:Vault\n    name: example\n    properties:\n      name: example-vault\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      sku: Standard\n      softDeleteEnabled: false\n  exampleHyperVSite:\n    type: azure:siterecovery:HyperVSite\n    name: example\n    properties:\n      name: example-site\n      recoveryVaultId: ${exampleVault.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.RecoveryServices` - 2024-04-01\n\n## Import\n\nRecovery Services can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:siterecovery/hyperVSite:HyperVSite example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/fabric1\n```\n\n","properties":{"name":{"type":"string","description":"The name which should be used for this Recovery Service. Changing this forces a new Site to be created.\n"},"recoveryVaultId":{"type":"string","description":"The ID of the Recovery Services Vault where the Site created. Changing this forces a new Site to be created.\n"}},"required":["name","recoveryVaultId"],"inputProperties":{"name":{"type":"string","description":"The name which should be used for this Recovery Service. Changing this forces a new Site to be created.\n","willReplaceOnChanges":true},"recoveryVaultId":{"type":"string","description":"The ID of the Recovery Services Vault where the Site created. Changing this forces a new Site to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["recoveryVaultId"],"stateInputs":{"description":"Input properties used for looking up and filtering HyperVSite resources.\n","properties":{"name":{"type":"string","description":"The name which should be used for this Recovery Service. Changing this forces a new Site to be created.\n","willReplaceOnChanges":true},"recoveryVaultId":{"type":"string","description":"The ID of the Recovery Services Vault where the Site created. Changing this forces a new Site to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:siterecovery/hypervNetworkMapping:HypervNetworkMapping":{"description":"Manages a HyperV site recovery network mapping on Azure. A HyperV network mapping decides how to translate connected networks when a VM is migrated from HyperV VMM Center to Azure.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst target = new azure.core.ResourceGroup(\"target\", {\n    name: \"tfex-network-mapping\",\n    location: \"East US\",\n});\nconst vault = new azure.recoveryservices.Vault(\"vault\", {\n    name: \"example-recovery-vault\",\n    location: target.location,\n    resourceGroupName: target.name,\n    sku: \"Standard\",\n});\nconst targetVirtualNetwork = new azure.network.VirtualNetwork(\"target\", {\n    name: \"network\",\n    resourceGroupName: target.name,\n    addressSpaces: [\"192.168.2.0/24\"],\n    location: target.location,\n});\nconst recovery_mapping = new azure.siterecovery.HypervNetworkMapping(\"recovery-mapping\", {\n    name: \"recovery-network-mapping\",\n    recoveryVaultId: vault.id,\n    sourceSystemCenterVirtualMachineManagerName: \"my-vmm-server\",\n    sourceNetworkName: \"my-vmm-network\",\n    targetNetworkId: targetVirtualNetwork.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\ntarget = azure.core.ResourceGroup(\"target\",\n    name=\"tfex-network-mapping\",\n    location=\"East US\")\nvault = azure.recoveryservices.Vault(\"vault\",\n    name=\"example-recovery-vault\",\n    location=target.location,\n    resource_group_name=target.name,\n    sku=\"Standard\")\ntarget_virtual_network = azure.network.VirtualNetwork(\"target\",\n    name=\"network\",\n    resource_group_name=target.name,\n    address_spaces=[\"192.168.2.0/24\"],\n    location=target.location)\nrecovery_mapping = azure.siterecovery.HypervNetworkMapping(\"recovery-mapping\",\n    name=\"recovery-network-mapping\",\n    recovery_vault_id=vault.id,\n    source_system_center_virtual_machine_manager_name=\"my-vmm-server\",\n    source_network_name=\"my-vmm-network\",\n    target_network_id=target_virtual_network.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var target = new Azure.Core.ResourceGroup(\"target\", new()\n    {\n        Name = \"tfex-network-mapping\",\n        Location = \"East US\",\n    });\n\n    var vault = new Azure.RecoveryServices.Vault(\"vault\", new()\n    {\n        Name = \"example-recovery-vault\",\n        Location = target.Location,\n        ResourceGroupName = target.Name,\n        Sku = \"Standard\",\n    });\n\n    var targetVirtualNetwork = new Azure.Network.VirtualNetwork(\"target\", new()\n    {\n        Name = \"network\",\n        ResourceGroupName = target.Name,\n        AddressSpaces = new[]\n        {\n            \"192.168.2.0/24\",\n        },\n        Location = target.Location,\n    });\n\n    var recovery_mapping = new Azure.SiteRecovery.HypervNetworkMapping(\"recovery-mapping\", new()\n    {\n        Name = \"recovery-network-mapping\",\n        RecoveryVaultId = vault.Id,\n        SourceSystemCenterVirtualMachineManagerName = \"my-vmm-server\",\n        SourceNetworkName = \"my-vmm-network\",\n        TargetNetworkId = targetVirtualNetwork.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/recoveryservices\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/siterecovery\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttarget, err := core.NewResourceGroup(ctx, \"target\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"tfex-network-mapping\"),\n\t\t\tLocation: pulumi.String(\"East US\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvault, err := recoveryservices.NewVault(ctx, \"vault\", \u0026recoveryservices.VaultArgs{\n\t\t\tName:              pulumi.String(\"example-recovery-vault\"),\n\t\t\tLocation:          target.Location,\n\t\t\tResourceGroupName: target.Name,\n\t\t\tSku:               pulumi.String(\"Standard\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttargetVirtualNetwork, err := network.NewVirtualNetwork(ctx, \"target\", \u0026network.VirtualNetworkArgs{\n\t\t\tName:              pulumi.String(\"network\"),\n\t\t\tResourceGroupName: target.Name,\n\t\t\tAddressSpaces: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"192.168.2.0/24\"),\n\t\t\t},\n\t\t\tLocation: target.Location,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = siterecovery.NewHypervNetworkMapping(ctx, \"recovery-mapping\", \u0026siterecovery.HypervNetworkMappingArgs{\n\t\t\tName:            pulumi.String(\"recovery-network-mapping\"),\n\t\t\tRecoveryVaultId: vault.ID(),\n\t\t\tSourceSystemCenterVirtualMachineManagerName: pulumi.String(\"my-vmm-server\"),\n\t\t\tSourceNetworkName: pulumi.String(\"my-vmm-network\"),\n\t\t\tTargetNetworkId:   targetVirtualNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.recoveryservices.Vault;\nimport com.pulumi.azure.recoveryservices.VaultArgs;\nimport com.pulumi.azure.network.VirtualNetwork;\nimport com.pulumi.azure.network.VirtualNetworkArgs;\nimport com.pulumi.azure.siterecovery.HypervNetworkMapping;\nimport com.pulumi.azure.siterecovery.HypervNetworkMappingArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var target = new ResourceGroup(\"target\", ResourceGroupArgs.builder()\n            .name(\"tfex-network-mapping\")\n            .location(\"East US\")\n            .build());\n\n        var vault = new Vault(\"vault\", VaultArgs.builder()\n            .name(\"example-recovery-vault\")\n            .location(target.location())\n            .resourceGroupName(target.name())\n            .sku(\"Standard\")\n            .build());\n\n        var targetVirtualNetwork = new VirtualNetwork(\"targetVirtualNetwork\", VirtualNetworkArgs.builder()\n            .name(\"network\")\n            .resourceGroupName(target.name())\n            .addressSpaces(\"192.168.2.0/24\")\n            .location(target.location())\n            .build());\n\n        var recovery_mapping = new HypervNetworkMapping(\"recovery-mapping\", HypervNetworkMappingArgs.builder()\n            .name(\"recovery-network-mapping\")\n            .recoveryVaultId(vault.id())\n            .sourceSystemCenterVirtualMachineManagerName(\"my-vmm-server\")\n            .sourceNetworkName(\"my-vmm-network\")\n            .targetNetworkId(targetVirtualNetwork.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  target:\n    type: azure:core:ResourceGroup\n    properties:\n      name: tfex-network-mapping\n      location: East US\n  vault:\n    type: azure:recoveryservices:Vault\n    properties:\n      name: example-recovery-vault\n      location: ${target.location}\n      resourceGroupName: ${target.name}\n      sku: Standard\n  targetVirtualNetwork:\n    type: azure:network:VirtualNetwork\n    name: target\n    properties:\n      name: network\n      resourceGroupName: ${target.name}\n      addressSpaces:\n        - 192.168.2.0/24\n      location: ${target.location}\n  recovery-mapping:\n    type: azure:siterecovery:HypervNetworkMapping\n    properties:\n      name: recovery-network-mapping\n      recoveryVaultId: ${vault.id}\n      sourceSystemCenterVirtualMachineManagerName: my-vmm-server\n      sourceNetworkName: my-vmm-network\n      targetNetworkId: ${targetVirtualNetwork.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.RecoveryServices` - 2024-04-01\n\n## Import\n\nSite Recovery Network Mapping can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:siterecovery/hypervNetworkMapping:HypervNetworkMapping mymapping /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resource-group-name/providers/Microsoft.RecoveryServices/vaults/recovery-vault-name/replicationFabrics/primary-fabric-name/replicationNetworks/azureNetwork/replicationNetworkMappings/mapping-name\n```\n\n","properties":{"name":{"type":"string","description":"The name of the HyperV network mapping. Changing this forces a new resource to be created.\n"},"recoveryVaultId":{"type":"string","description":"The ID of the Recovery Services Vault where the HyperV network mapping should be created. Changing this forces a new resource to be created.\n"},"sourceNetworkName":{"type":"string","description":"The Name of the primary network. Changing this forces a new resource to be created.\n"},"sourceSystemCenterVirtualMachineManagerName":{"type":"string","description":"Specifies the name of source System Center Virtual Machine Manager where the source network exists. Changing this forces a new resource to be created.\n"},"targetNetworkId":{"type":"string","description":"The id of the recovery network. Changing this forces a new resource to be created.\n"}},"required":["name","recoveryVaultId","sourceNetworkName","sourceSystemCenterVirtualMachineManagerName","targetNetworkId"],"inputProperties":{"name":{"type":"string","description":"The name of the HyperV network mapping. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"recoveryVaultId":{"type":"string","description":"The ID of the Recovery Services Vault where the HyperV network mapping should be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sourceNetworkName":{"type":"string","description":"The Name of the primary network. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sourceSystemCenterVirtualMachineManagerName":{"type":"string","description":"Specifies the name of source System Center Virtual Machine Manager where the source network exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"targetNetworkId":{"type":"string","description":"The id of the recovery network. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["recoveryVaultId","sourceNetworkName","sourceSystemCenterVirtualMachineManagerName","targetNetworkId"],"stateInputs":{"description":"Input properties used for looking up and filtering HypervNetworkMapping resources.\n","properties":{"name":{"type":"string","description":"The name of the HyperV network mapping. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"recoveryVaultId":{"type":"string","description":"The ID of the Recovery Services Vault where the HyperV network mapping should be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sourceNetworkName":{"type":"string","description":"The Name of the primary network. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sourceSystemCenterVirtualMachineManagerName":{"type":"string","description":"Specifies the name of source System Center Virtual Machine Manager where the source network exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"targetNetworkId":{"type":"string","description":"The id of the recovery network. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:siterecovery/networkMapping:NetworkMapping":{"description":"Manages a site recovery network mapping on Azure. A network mapping decides how to translate connected networks when a VM is migrated from one region to another.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst primary = new azure.core.ResourceGroup(\"primary\", {\n    name: \"tfex-network-mapping-primary\",\n    location: \"West US\",\n});\nconst secondary = new azure.core.ResourceGroup(\"secondary\", {\n    name: \"tfex-network-mapping-secondary\",\n    location: \"East US\",\n});\nconst vault = new azure.recoveryservices.Vault(\"vault\", {\n    name: \"example-recovery-vault\",\n    location: secondary.location,\n    resourceGroupName: secondary.name,\n    sku: \"Standard\",\n});\nconst primaryFabric = new azure.siterecovery.Fabric(\"primary\", {\n    name: \"primary-fabric\",\n    resourceGroupName: secondary.name,\n    recoveryVaultName: vault.name,\n    location: primary.location,\n});\nconst secondaryFabric = new azure.siterecovery.Fabric(\"secondary\", {\n    name: \"secondary-fabric\",\n    resourceGroupName: secondary.name,\n    recoveryVaultName: vault.name,\n    location: secondary.location,\n}, {\n    dependsOn: [primaryFabric],\n});\nconst primaryVirtualNetwork = new azure.network.VirtualNetwork(\"primary\", {\n    name: \"network1\",\n    resourceGroupName: primary.name,\n    addressSpaces: [\"192.168.1.0/24\"],\n    location: primary.location,\n});\nconst secondaryVirtualNetwork = new azure.network.VirtualNetwork(\"secondary\", {\n    name: \"network2\",\n    resourceGroupName: secondary.name,\n    addressSpaces: [\"192.168.2.0/24\"],\n    location: secondary.location,\n});\nconst recovery_mapping = new azure.siterecovery.NetworkMapping(\"recovery-mapping\", {\n    name: \"recovery-network-mapping-1\",\n    resourceGroupName: secondary.name,\n    recoveryVaultName: vault.name,\n    sourceRecoveryFabricName: \"primary-fabric\",\n    targetRecoveryFabricName: \"secondary-fabric\",\n    sourceNetworkId: primaryVirtualNetwork.id,\n    targetNetworkId: secondaryVirtualNetwork.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nprimary = azure.core.ResourceGroup(\"primary\",\n    name=\"tfex-network-mapping-primary\",\n    location=\"West US\")\nsecondary = azure.core.ResourceGroup(\"secondary\",\n    name=\"tfex-network-mapping-secondary\",\n    location=\"East US\")\nvault = azure.recoveryservices.Vault(\"vault\",\n    name=\"example-recovery-vault\",\n    location=secondary.location,\n    resource_group_name=secondary.name,\n    sku=\"Standard\")\nprimary_fabric = azure.siterecovery.Fabric(\"primary\",\n    name=\"primary-fabric\",\n    resource_group_name=secondary.name,\n    recovery_vault_name=vault.name,\n    location=primary.location)\nsecondary_fabric = azure.siterecovery.Fabric(\"secondary\",\n    name=\"secondary-fabric\",\n    resource_group_name=secondary.name,\n    recovery_vault_name=vault.name,\n    location=secondary.location,\n    opts = pulumi.ResourceOptions(depends_on=[primary_fabric]))\nprimary_virtual_network = azure.network.VirtualNetwork(\"primary\",\n    name=\"network1\",\n    resource_group_name=primary.name,\n    address_spaces=[\"192.168.1.0/24\"],\n    location=primary.location)\nsecondary_virtual_network = azure.network.VirtualNetwork(\"secondary\",\n    name=\"network2\",\n    resource_group_name=secondary.name,\n    address_spaces=[\"192.168.2.0/24\"],\n    location=secondary.location)\nrecovery_mapping = azure.siterecovery.NetworkMapping(\"recovery-mapping\",\n    name=\"recovery-network-mapping-1\",\n    resource_group_name=secondary.name,\n    recovery_vault_name=vault.name,\n    source_recovery_fabric_name=\"primary-fabric\",\n    target_recovery_fabric_name=\"secondary-fabric\",\n    source_network_id=primary_virtual_network.id,\n    target_network_id=secondary_virtual_network.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var primary = new Azure.Core.ResourceGroup(\"primary\", new()\n    {\n        Name = \"tfex-network-mapping-primary\",\n        Location = \"West US\",\n    });\n\n    var secondary = new Azure.Core.ResourceGroup(\"secondary\", new()\n    {\n        Name = \"tfex-network-mapping-secondary\",\n        Location = \"East US\",\n    });\n\n    var vault = new Azure.RecoveryServices.Vault(\"vault\", new()\n    {\n        Name = \"example-recovery-vault\",\n        Location = secondary.Location,\n        ResourceGroupName = secondary.Name,\n        Sku = \"Standard\",\n    });\n\n    var primaryFabric = new Azure.SiteRecovery.Fabric(\"primary\", new()\n    {\n        Name = \"primary-fabric\",\n        ResourceGroupName = secondary.Name,\n        RecoveryVaultName = vault.Name,\n        Location = primary.Location,\n    });\n\n    var secondaryFabric = new Azure.SiteRecovery.Fabric(\"secondary\", new()\n    {\n        Name = \"secondary-fabric\",\n        ResourceGroupName = secondary.Name,\n        RecoveryVaultName = vault.Name,\n        Location = secondary.Location,\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            primaryFabric,\n        },\n    });\n\n    var primaryVirtualNetwork = new Azure.Network.VirtualNetwork(\"primary\", new()\n    {\n        Name = \"network1\",\n        ResourceGroupName = primary.Name,\n        AddressSpaces = new[]\n        {\n            \"192.168.1.0/24\",\n        },\n        Location = primary.Location,\n    });\n\n    var secondaryVirtualNetwork = new Azure.Network.VirtualNetwork(\"secondary\", new()\n    {\n        Name = \"network2\",\n        ResourceGroupName = secondary.Name,\n        AddressSpaces = new[]\n        {\n            \"192.168.2.0/24\",\n        },\n        Location = secondary.Location,\n    });\n\n    var recovery_mapping = new Azure.SiteRecovery.NetworkMapping(\"recovery-mapping\", new()\n    {\n        Name = \"recovery-network-mapping-1\",\n        ResourceGroupName = secondary.Name,\n        RecoveryVaultName = vault.Name,\n        SourceRecoveryFabricName = \"primary-fabric\",\n        TargetRecoveryFabricName = \"secondary-fabric\",\n        SourceNetworkId = primaryVirtualNetwork.Id,\n        TargetNetworkId = secondaryVirtualNetwork.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/recoveryservices\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/siterecovery\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tprimary, err := core.NewResourceGroup(ctx, \"primary\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"tfex-network-mapping-primary\"),\n\t\t\tLocation: pulumi.String(\"West US\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsecondary, err := core.NewResourceGroup(ctx, \"secondary\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"tfex-network-mapping-secondary\"),\n\t\t\tLocation: pulumi.String(\"East US\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvault, err := recoveryservices.NewVault(ctx, \"vault\", \u0026recoveryservices.VaultArgs{\n\t\t\tName:              pulumi.String(\"example-recovery-vault\"),\n\t\t\tLocation:          secondary.Location,\n\t\t\tResourceGroupName: secondary.Name,\n\t\t\tSku:               pulumi.String(\"Standard\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tprimaryFabric, err := siterecovery.NewFabric(ctx, \"primary\", \u0026siterecovery.FabricArgs{\n\t\t\tName:              pulumi.String(\"primary-fabric\"),\n\t\t\tResourceGroupName: secondary.Name,\n\t\t\tRecoveryVaultName: vault.Name,\n\t\t\tLocation:          primary.Location,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = siterecovery.NewFabric(ctx, \"secondary\", \u0026siterecovery.FabricArgs{\n\t\t\tName:              pulumi.String(\"secondary-fabric\"),\n\t\t\tResourceGroupName: secondary.Name,\n\t\t\tRecoveryVaultName: vault.Name,\n\t\t\tLocation:          secondary.Location,\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tprimaryFabric,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tprimaryVirtualNetwork, err := network.NewVirtualNetwork(ctx, \"primary\", \u0026network.VirtualNetworkArgs{\n\t\t\tName:              pulumi.String(\"network1\"),\n\t\t\tResourceGroupName: primary.Name,\n\t\t\tAddressSpaces: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"192.168.1.0/24\"),\n\t\t\t},\n\t\t\tLocation: primary.Location,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsecondaryVirtualNetwork, err := network.NewVirtualNetwork(ctx, \"secondary\", \u0026network.VirtualNetworkArgs{\n\t\t\tName:              pulumi.String(\"network2\"),\n\t\t\tResourceGroupName: secondary.Name,\n\t\t\tAddressSpaces: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"192.168.2.0/24\"),\n\t\t\t},\n\t\t\tLocation: secondary.Location,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = siterecovery.NewNetworkMapping(ctx, \"recovery-mapping\", \u0026siterecovery.NetworkMappingArgs{\n\t\t\tName:                     pulumi.String(\"recovery-network-mapping-1\"),\n\t\t\tResourceGroupName:        secondary.Name,\n\t\t\tRecoveryVaultName:        vault.Name,\n\t\t\tSourceRecoveryFabricName: pulumi.String(\"primary-fabric\"),\n\t\t\tTargetRecoveryFabricName: pulumi.String(\"secondary-fabric\"),\n\t\t\tSourceNetworkId:          primaryVirtualNetwork.ID(),\n\t\t\tTargetNetworkId:          secondaryVirtualNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.recoveryservices.Vault;\nimport com.pulumi.azure.recoveryservices.VaultArgs;\nimport com.pulumi.azure.siterecovery.Fabric;\nimport com.pulumi.azure.siterecovery.FabricArgs;\nimport com.pulumi.azure.network.VirtualNetwork;\nimport com.pulumi.azure.network.VirtualNetworkArgs;\nimport com.pulumi.azure.siterecovery.NetworkMapping;\nimport com.pulumi.azure.siterecovery.NetworkMappingArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var primary = new ResourceGroup(\"primary\", ResourceGroupArgs.builder()\n            .name(\"tfex-network-mapping-primary\")\n            .location(\"West US\")\n            .build());\n\n        var secondary = new ResourceGroup(\"secondary\", ResourceGroupArgs.builder()\n            .name(\"tfex-network-mapping-secondary\")\n            .location(\"East US\")\n            .build());\n\n        var vault = new Vault(\"vault\", VaultArgs.builder()\n            .name(\"example-recovery-vault\")\n            .location(secondary.location())\n            .resourceGroupName(secondary.name())\n            .sku(\"Standard\")\n            .build());\n\n        var primaryFabric = new Fabric(\"primaryFabric\", FabricArgs.builder()\n            .name(\"primary-fabric\")\n            .resourceGroupName(secondary.name())\n            .recoveryVaultName(vault.name())\n            .location(primary.location())\n            .build());\n\n        var secondaryFabric = new Fabric(\"secondaryFabric\", FabricArgs.builder()\n            .name(\"secondary-fabric\")\n            .resourceGroupName(secondary.name())\n            .recoveryVaultName(vault.name())\n            .location(secondary.location())\n            .build(), CustomResourceOptions.builder()\n                .dependsOn(primaryFabric)\n                .build());\n\n        var primaryVirtualNetwork = new VirtualNetwork(\"primaryVirtualNetwork\", VirtualNetworkArgs.builder()\n            .name(\"network1\")\n            .resourceGroupName(primary.name())\n            .addressSpaces(\"192.168.1.0/24\")\n            .location(primary.location())\n            .build());\n\n        var secondaryVirtualNetwork = new VirtualNetwork(\"secondaryVirtualNetwork\", VirtualNetworkArgs.builder()\n            .name(\"network2\")\n            .resourceGroupName(secondary.name())\n            .addressSpaces(\"192.168.2.0/24\")\n            .location(secondary.location())\n            .build());\n\n        var recovery_mapping = new NetworkMapping(\"recovery-mapping\", NetworkMappingArgs.builder()\n            .name(\"recovery-network-mapping-1\")\n            .resourceGroupName(secondary.name())\n            .recoveryVaultName(vault.name())\n            .sourceRecoveryFabricName(\"primary-fabric\")\n            .targetRecoveryFabricName(\"secondary-fabric\")\n            .sourceNetworkId(primaryVirtualNetwork.id())\n            .targetNetworkId(secondaryVirtualNetwork.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  primary:\n    type: azure:core:ResourceGroup\n    properties:\n      name: tfex-network-mapping-primary\n      location: West US\n  secondary:\n    type: azure:core:ResourceGroup\n    properties:\n      name: tfex-network-mapping-secondary\n      location: East US\n  vault:\n    type: azure:recoveryservices:Vault\n    properties:\n      name: example-recovery-vault\n      location: ${secondary.location}\n      resourceGroupName: ${secondary.name}\n      sku: Standard\n  primaryFabric:\n    type: azure:siterecovery:Fabric\n    name: primary\n    properties:\n      name: primary-fabric\n      resourceGroupName: ${secondary.name}\n      recoveryVaultName: ${vault.name}\n      location: ${primary.location}\n  secondaryFabric:\n    type: azure:siterecovery:Fabric\n    name: secondary\n    properties:\n      name: secondary-fabric\n      resourceGroupName: ${secondary.name}\n      recoveryVaultName: ${vault.name}\n      location: ${secondary.location}\n    options:\n      dependsOn:\n        - ${primaryFabric}\n  primaryVirtualNetwork:\n    type: azure:network:VirtualNetwork\n    name: primary\n    properties:\n      name: network1\n      resourceGroupName: ${primary.name}\n      addressSpaces:\n        - 192.168.1.0/24\n      location: ${primary.location}\n  secondaryVirtualNetwork:\n    type: azure:network:VirtualNetwork\n    name: secondary\n    properties:\n      name: network2\n      resourceGroupName: ${secondary.name}\n      addressSpaces:\n        - 192.168.2.0/24\n      location: ${secondary.location}\n  recovery-mapping:\n    type: azure:siterecovery:NetworkMapping\n    properties:\n      name: recovery-network-mapping-1\n      resourceGroupName: ${secondary.name}\n      recoveryVaultName: ${vault.name}\n      sourceRecoveryFabricName: primary-fabric\n      targetRecoveryFabricName: secondary-fabric\n      sourceNetworkId: ${primaryVirtualNetwork.id}\n      targetNetworkId: ${secondaryVirtualNetwork.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.RecoveryServices` - 2024-04-01\n\n## Import\n\nSite Recovery Network Mapping can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:siterecovery/networkMapping:NetworkMapping mymapping /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resource-group-name/providers/Microsoft.RecoveryServices/vaults/recovery-vault-name/replicationFabrics/primary-fabric-name/replicationNetworks/azureNetwork/replicationNetworkMappings/mapping-name\n```\n\n","properties":{"name":{"type":"string","description":"The name of the network mapping. Changing this forces a new resource to be created.\n"},"recoveryVaultName":{"type":"string","description":"The name of the vault that should be updated. Changing this forces a new resource to be created.\n"},"resourceGroupName":{"type":"string","description":"Name of the resource group where the vault that should be updated is located. Changing this forces a new resource to be created.\n"},"sourceNetworkId":{"type":"string","description":"The id of the primary network. Changing this forces a new resource to be created.\n"},"sourceRecoveryFabricName":{"type":"string","description":"Specifies the ASR fabric where mapping should be created. Changing this forces a new resource to be created.\n"},"targetNetworkId":{"type":"string","description":"The id of the recovery network. Changing this forces a new resource to be created.\n"},"targetRecoveryFabricName":{"type":"string","description":"The Azure Site Recovery fabric object corresponding to the recovery Azure region. Changing this forces a new resource to be created.\n"}},"required":["name","recoveryVaultName","resourceGroupName","sourceNetworkId","sourceRecoveryFabricName","targetNetworkId","targetRecoveryFabricName"],"inputProperties":{"name":{"type":"string","description":"The name of the network mapping. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"recoveryVaultName":{"type":"string","description":"The name of the vault that should be updated. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"Name of the resource group where the vault that should be updated is located. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sourceNetworkId":{"type":"string","description":"The id of the primary network. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sourceRecoveryFabricName":{"type":"string","description":"Specifies the ASR fabric where mapping should be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"targetNetworkId":{"type":"string","description":"The id of the recovery network. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"targetRecoveryFabricName":{"type":"string","description":"The Azure Site Recovery fabric object corresponding to the recovery Azure region. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["recoveryVaultName","resourceGroupName","sourceNetworkId","sourceRecoveryFabricName","targetNetworkId","targetRecoveryFabricName"],"stateInputs":{"description":"Input properties used for looking up and filtering NetworkMapping resources.\n","properties":{"name":{"type":"string","description":"The name of the network mapping. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"recoveryVaultName":{"type":"string","description":"The name of the vault that should be updated. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"Name of the resource group where the vault that should be updated is located. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sourceNetworkId":{"type":"string","description":"The id of the primary network. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sourceRecoveryFabricName":{"type":"string","description":"Specifies the ASR fabric where mapping should be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"targetNetworkId":{"type":"string","description":"The id of the recovery network. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"targetRecoveryFabricName":{"type":"string","description":"The Azure Site Recovery fabric object corresponding to the recovery Azure region. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:siterecovery/protectionContainer:ProtectionContainer":{"description":"Manages a Azure Site Recovery protection container. Protection containers serve as containers for replicated VMs and belong to a single region / recovery fabric. Protection containers can contain more than one replicated VM. To replicate a VM, a container must exist in both the source and target Azure regions.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst primary = new azure.core.ResourceGroup(\"primary\", {\n    name: \"tfex-network-mapping-primary\",\n    location: \"West US\",\n});\nconst secondary = new azure.core.ResourceGroup(\"secondary\", {\n    name: \"tfex-network-mapping-secondary\",\n    location: \"East US\",\n});\nconst vault = new azure.recoveryservices.Vault(\"vault\", {\n    name: \"example-recovery-vault\",\n    location: secondary.location,\n    resourceGroupName: secondary.name,\n    sku: \"Standard\",\n});\nconst fabric = new azure.siterecovery.Fabric(\"fabric\", {\n    name: \"primary-fabric\",\n    resourceGroupName: secondary.name,\n    recoveryVaultName: vault.name,\n    location: primary.location,\n});\nconst protection_container = new azure.siterecovery.ProtectionContainer(\"protection-container\", {\n    name: \"protection-container\",\n    resourceGroupName: secondary.name,\n    recoveryVaultName: vault.name,\n    recoveryFabricName: fabric.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nprimary = azure.core.ResourceGroup(\"primary\",\n    name=\"tfex-network-mapping-primary\",\n    location=\"West US\")\nsecondary = azure.core.ResourceGroup(\"secondary\",\n    name=\"tfex-network-mapping-secondary\",\n    location=\"East US\")\nvault = azure.recoveryservices.Vault(\"vault\",\n    name=\"example-recovery-vault\",\n    location=secondary.location,\n    resource_group_name=secondary.name,\n    sku=\"Standard\")\nfabric = azure.siterecovery.Fabric(\"fabric\",\n    name=\"primary-fabric\",\n    resource_group_name=secondary.name,\n    recovery_vault_name=vault.name,\n    location=primary.location)\nprotection_container = azure.siterecovery.ProtectionContainer(\"protection-container\",\n    name=\"protection-container\",\n    resource_group_name=secondary.name,\n    recovery_vault_name=vault.name,\n    recovery_fabric_name=fabric.name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var primary = new Azure.Core.ResourceGroup(\"primary\", new()\n    {\n        Name = \"tfex-network-mapping-primary\",\n        Location = \"West US\",\n    });\n\n    var secondary = new Azure.Core.ResourceGroup(\"secondary\", new()\n    {\n        Name = \"tfex-network-mapping-secondary\",\n        Location = \"East US\",\n    });\n\n    var vault = new Azure.RecoveryServices.Vault(\"vault\", new()\n    {\n        Name = \"example-recovery-vault\",\n        Location = secondary.Location,\n        ResourceGroupName = secondary.Name,\n        Sku = \"Standard\",\n    });\n\n    var fabric = new Azure.SiteRecovery.Fabric(\"fabric\", new()\n    {\n        Name = \"primary-fabric\",\n        ResourceGroupName = secondary.Name,\n        RecoveryVaultName = vault.Name,\n        Location = primary.Location,\n    });\n\n    var protection_container = new Azure.SiteRecovery.ProtectionContainer(\"protection-container\", new()\n    {\n        Name = \"protection-container\",\n        ResourceGroupName = secondary.Name,\n        RecoveryVaultName = vault.Name,\n        RecoveryFabricName = fabric.Name,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/recoveryservices\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/siterecovery\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tprimary, err := core.NewResourceGroup(ctx, \"primary\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"tfex-network-mapping-primary\"),\n\t\t\tLocation: pulumi.String(\"West US\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsecondary, err := core.NewResourceGroup(ctx, \"secondary\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"tfex-network-mapping-secondary\"),\n\t\t\tLocation: pulumi.String(\"East US\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvault, err := recoveryservices.NewVault(ctx, \"vault\", \u0026recoveryservices.VaultArgs{\n\t\t\tName:              pulumi.String(\"example-recovery-vault\"),\n\t\t\tLocation:          secondary.Location,\n\t\t\tResourceGroupName: secondary.Name,\n\t\t\tSku:               pulumi.String(\"Standard\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfabric, err := siterecovery.NewFabric(ctx, \"fabric\", \u0026siterecovery.FabricArgs{\n\t\t\tName:              pulumi.String(\"primary-fabric\"),\n\t\t\tResourceGroupName: secondary.Name,\n\t\t\tRecoveryVaultName: vault.Name,\n\t\t\tLocation:          primary.Location,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = siterecovery.NewProtectionContainer(ctx, \"protection-container\", \u0026siterecovery.ProtectionContainerArgs{\n\t\t\tName:               pulumi.String(\"protection-container\"),\n\t\t\tResourceGroupName:  secondary.Name,\n\t\t\tRecoveryVaultName:  vault.Name,\n\t\t\tRecoveryFabricName: fabric.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.recoveryservices.Vault;\nimport com.pulumi.azure.recoveryservices.VaultArgs;\nimport com.pulumi.azure.siterecovery.Fabric;\nimport com.pulumi.azure.siterecovery.FabricArgs;\nimport com.pulumi.azure.siterecovery.ProtectionContainer;\nimport com.pulumi.azure.siterecovery.ProtectionContainerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var primary = new ResourceGroup(\"primary\", ResourceGroupArgs.builder()\n            .name(\"tfex-network-mapping-primary\")\n            .location(\"West US\")\n            .build());\n\n        var secondary = new ResourceGroup(\"secondary\", ResourceGroupArgs.builder()\n            .name(\"tfex-network-mapping-secondary\")\n            .location(\"East US\")\n            .build());\n\n        var vault = new Vault(\"vault\", VaultArgs.builder()\n            .name(\"example-recovery-vault\")\n            .location(secondary.location())\n            .resourceGroupName(secondary.name())\n            .sku(\"Standard\")\n            .build());\n\n        var fabric = new Fabric(\"fabric\", FabricArgs.builder()\n            .name(\"primary-fabric\")\n            .resourceGroupName(secondary.name())\n            .recoveryVaultName(vault.name())\n            .location(primary.location())\n            .build());\n\n        var protection_container = new ProtectionContainer(\"protection-container\", ProtectionContainerArgs.builder()\n            .name(\"protection-container\")\n            .resourceGroupName(secondary.name())\n            .recoveryVaultName(vault.name())\n            .recoveryFabricName(fabric.name())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  primary:\n    type: azure:core:ResourceGroup\n    properties:\n      name: tfex-network-mapping-primary\n      location: West US\n  secondary:\n    type: azure:core:ResourceGroup\n    properties:\n      name: tfex-network-mapping-secondary\n      location: East US\n  vault:\n    type: azure:recoveryservices:Vault\n    properties:\n      name: example-recovery-vault\n      location: ${secondary.location}\n      resourceGroupName: ${secondary.name}\n      sku: Standard\n  fabric:\n    type: azure:siterecovery:Fabric\n    properties:\n      name: primary-fabric\n      resourceGroupName: ${secondary.name}\n      recoveryVaultName: ${vault.name}\n      location: ${primary.location}\n  protection-container:\n    type: azure:siterecovery:ProtectionContainer\n    properties:\n      name: protection-container\n      resourceGroupName: ${secondary.name}\n      recoveryVaultName: ${vault.name}\n      recoveryFabricName: ${fabric.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.RecoveryServices` - 2024-04-01\n\n## Import\n\nSite Recovery Protection Containers can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:siterecovery/protectionContainer:ProtectionContainer mycontainer /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resource-group-name/providers/Microsoft.RecoveryServices/vaults/recovery-vault-name/replicationFabrics/fabric-name/replicationProtectionContainers/protection-container-name\n```\n\n","properties":{"name":{"type":"string","description":"The name of the protection container. Changing this forces a new resource to be created.\n"},"recoveryFabricName":{"type":"string","description":"Name of fabric that should contain this protection container. Changing this forces a new resource to be created.\n"},"recoveryVaultName":{"type":"string","description":"The name of the vault that should be updated. Changing this forces a new resource to be created.\n"},"resourceGroupName":{"type":"string","description":"Name of the resource group where the vault that should be updated is located. Changing this forces a new resource to be created.\n"}},"required":["name","recoveryFabricName","recoveryVaultName","resourceGroupName"],"inputProperties":{"name":{"type":"string","description":"The name of the protection container. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"recoveryFabricName":{"type":"string","description":"Name of fabric that should contain this protection container. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"recoveryVaultName":{"type":"string","description":"The name of the vault that should be updated. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"Name of the resource group where the vault that should be updated is located. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["recoveryFabricName","recoveryVaultName","resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering ProtectionContainer resources.\n","properties":{"name":{"type":"string","description":"The name of the protection container. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"recoveryFabricName":{"type":"string","description":"Name of fabric that should contain this protection container. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"recoveryVaultName":{"type":"string","description":"The name of the vault that should be updated. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"Name of the resource group where the vault that should be updated is located. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:siterecovery/protectionContainerMapping:ProtectionContainerMapping":{"description":"Manages a Azure recovery vault protection container mapping. A protection container mapping decides how to translate the protection container when a VM is migrated from one region to another.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst primary = new azure.core.ResourceGroup(\"primary\", {\n    name: \"tfex-network-mapping-primary\",\n    location: \"West US\",\n});\nconst secondary = new azure.core.ResourceGroup(\"secondary\", {\n    name: \"tfex-network-mapping-secondary\",\n    location: \"East US\",\n});\nconst vault = new azure.recoveryservices.Vault(\"vault\", {\n    name: \"example-recovery-vault\",\n    location: secondary.location,\n    resourceGroupName: secondary.name,\n    sku: \"Standard\",\n});\nconst primaryFabric = new azure.siterecovery.Fabric(\"primary\", {\n    name: \"primary-fabric\",\n    resourceGroupName: secondary.name,\n    recoveryVaultName: vault.name,\n    location: primary.location,\n});\nconst secondaryFabric = new azure.siterecovery.Fabric(\"secondary\", {\n    name: \"secondary-fabric\",\n    resourceGroupName: secondary.name,\n    recoveryVaultName: vault.name,\n    location: secondary.location,\n});\nconst primaryProtectionContainer = new azure.siterecovery.ProtectionContainer(\"primary\", {\n    name: \"primary-protection-container\",\n    resourceGroupName: secondary.name,\n    recoveryVaultName: vault.name,\n    recoveryFabricName: primaryFabric.name,\n});\nconst secondaryProtectionContainer = new azure.siterecovery.ProtectionContainer(\"secondary\", {\n    name: \"secondary-protection-container\",\n    resourceGroupName: secondary.name,\n    recoveryVaultName: vault.name,\n    recoveryFabricName: secondaryFabric.name,\n});\nconst policy = new azure.siterecovery.ReplicationPolicy(\"policy\", {\n    name: \"policy\",\n    resourceGroupName: secondary.name,\n    recoveryVaultName: vault.name,\n    recoveryPointRetentionInMinutes: 24 * 60,\n    applicationConsistentSnapshotFrequencyInMinutes: 4 * 60,\n});\nconst container_mapping = new azure.siterecovery.ProtectionContainerMapping(\"container-mapping\", {\n    name: \"container-mapping\",\n    resourceGroupName: secondary.name,\n    recoveryVaultName: vault.name,\n    recoveryFabricName: primaryFabric.name,\n    recoverySourceProtectionContainerName: primaryProtectionContainer.name,\n    recoveryTargetProtectionContainerId: secondaryProtectionContainer.id,\n    recoveryReplicationPolicyId: policy.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nprimary = azure.core.ResourceGroup(\"primary\",\n    name=\"tfex-network-mapping-primary\",\n    location=\"West US\")\nsecondary = azure.core.ResourceGroup(\"secondary\",\n    name=\"tfex-network-mapping-secondary\",\n    location=\"East US\")\nvault = azure.recoveryservices.Vault(\"vault\",\n    name=\"example-recovery-vault\",\n    location=secondary.location,\n    resource_group_name=secondary.name,\n    sku=\"Standard\")\nprimary_fabric = azure.siterecovery.Fabric(\"primary\",\n    name=\"primary-fabric\",\n    resource_group_name=secondary.name,\n    recovery_vault_name=vault.name,\n    location=primary.location)\nsecondary_fabric = azure.siterecovery.Fabric(\"secondary\",\n    name=\"secondary-fabric\",\n    resource_group_name=secondary.name,\n    recovery_vault_name=vault.name,\n    location=secondary.location)\nprimary_protection_container = azure.siterecovery.ProtectionContainer(\"primary\",\n    name=\"primary-protection-container\",\n    resource_group_name=secondary.name,\n    recovery_vault_name=vault.name,\n    recovery_fabric_name=primary_fabric.name)\nsecondary_protection_container = azure.siterecovery.ProtectionContainer(\"secondary\",\n    name=\"secondary-protection-container\",\n    resource_group_name=secondary.name,\n    recovery_vault_name=vault.name,\n    recovery_fabric_name=secondary_fabric.name)\npolicy = azure.siterecovery.ReplicationPolicy(\"policy\",\n    name=\"policy\",\n    resource_group_name=secondary.name,\n    recovery_vault_name=vault.name,\n    recovery_point_retention_in_minutes=24 * 60,\n    application_consistent_snapshot_frequency_in_minutes=4 * 60)\ncontainer_mapping = azure.siterecovery.ProtectionContainerMapping(\"container-mapping\",\n    name=\"container-mapping\",\n    resource_group_name=secondary.name,\n    recovery_vault_name=vault.name,\n    recovery_fabric_name=primary_fabric.name,\n    recovery_source_protection_container_name=primary_protection_container.name,\n    recovery_target_protection_container_id=secondary_protection_container.id,\n    recovery_replication_policy_id=policy.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var primary = new Azure.Core.ResourceGroup(\"primary\", new()\n    {\n        Name = \"tfex-network-mapping-primary\",\n        Location = \"West US\",\n    });\n\n    var secondary = new Azure.Core.ResourceGroup(\"secondary\", new()\n    {\n        Name = \"tfex-network-mapping-secondary\",\n        Location = \"East US\",\n    });\n\n    var vault = new Azure.RecoveryServices.Vault(\"vault\", new()\n    {\n        Name = \"example-recovery-vault\",\n        Location = secondary.Location,\n        ResourceGroupName = secondary.Name,\n        Sku = \"Standard\",\n    });\n\n    var primaryFabric = new Azure.SiteRecovery.Fabric(\"primary\", new()\n    {\n        Name = \"primary-fabric\",\n        ResourceGroupName = secondary.Name,\n        RecoveryVaultName = vault.Name,\n        Location = primary.Location,\n    });\n\n    var secondaryFabric = new Azure.SiteRecovery.Fabric(\"secondary\", new()\n    {\n        Name = \"secondary-fabric\",\n        ResourceGroupName = secondary.Name,\n        RecoveryVaultName = vault.Name,\n        Location = secondary.Location,\n    });\n\n    var primaryProtectionContainer = new Azure.SiteRecovery.ProtectionContainer(\"primary\", new()\n    {\n        Name = \"primary-protection-container\",\n        ResourceGroupName = secondary.Name,\n        RecoveryVaultName = vault.Name,\n        RecoveryFabricName = primaryFabric.Name,\n    });\n\n    var secondaryProtectionContainer = new Azure.SiteRecovery.ProtectionContainer(\"secondary\", new()\n    {\n        Name = \"secondary-protection-container\",\n        ResourceGroupName = secondary.Name,\n        RecoveryVaultName = vault.Name,\n        RecoveryFabricName = secondaryFabric.Name,\n    });\n\n    var policy = new Azure.SiteRecovery.ReplicationPolicy(\"policy\", new()\n    {\n        Name = \"policy\",\n        ResourceGroupName = secondary.Name,\n        RecoveryVaultName = vault.Name,\n        RecoveryPointRetentionInMinutes = 24 * 60,\n        ApplicationConsistentSnapshotFrequencyInMinutes = 4 * 60,\n    });\n\n    var container_mapping = new Azure.SiteRecovery.ProtectionContainerMapping(\"container-mapping\", new()\n    {\n        Name = \"container-mapping\",\n        ResourceGroupName = secondary.Name,\n        RecoveryVaultName = vault.Name,\n        RecoveryFabricName = primaryFabric.Name,\n        RecoverySourceProtectionContainerName = primaryProtectionContainer.Name,\n        RecoveryTargetProtectionContainerId = secondaryProtectionContainer.Id,\n        RecoveryReplicationPolicyId = policy.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/recoveryservices\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/siterecovery\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tprimary, err := core.NewResourceGroup(ctx, \"primary\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"tfex-network-mapping-primary\"),\n\t\t\tLocation: pulumi.String(\"West US\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsecondary, err := core.NewResourceGroup(ctx, \"secondary\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"tfex-network-mapping-secondary\"),\n\t\t\tLocation: pulumi.String(\"East US\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvault, err := recoveryservices.NewVault(ctx, \"vault\", \u0026recoveryservices.VaultArgs{\n\t\t\tName:              pulumi.String(\"example-recovery-vault\"),\n\t\t\tLocation:          secondary.Location,\n\t\t\tResourceGroupName: secondary.Name,\n\t\t\tSku:               pulumi.String(\"Standard\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tprimaryFabric, err := siterecovery.NewFabric(ctx, \"primary\", \u0026siterecovery.FabricArgs{\n\t\t\tName:              pulumi.String(\"primary-fabric\"),\n\t\t\tResourceGroupName: secondary.Name,\n\t\t\tRecoveryVaultName: vault.Name,\n\t\t\tLocation:          primary.Location,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsecondaryFabric, err := siterecovery.NewFabric(ctx, \"secondary\", \u0026siterecovery.FabricArgs{\n\t\t\tName:              pulumi.String(\"secondary-fabric\"),\n\t\t\tResourceGroupName: secondary.Name,\n\t\t\tRecoveryVaultName: vault.Name,\n\t\t\tLocation:          secondary.Location,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tprimaryProtectionContainer, err := siterecovery.NewProtectionContainer(ctx, \"primary\", \u0026siterecovery.ProtectionContainerArgs{\n\t\t\tName:               pulumi.String(\"primary-protection-container\"),\n\t\t\tResourceGroupName:  secondary.Name,\n\t\t\tRecoveryVaultName:  vault.Name,\n\t\t\tRecoveryFabricName: primaryFabric.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsecondaryProtectionContainer, err := siterecovery.NewProtectionContainer(ctx, \"secondary\", \u0026siterecovery.ProtectionContainerArgs{\n\t\t\tName:               pulumi.String(\"secondary-protection-container\"),\n\t\t\tResourceGroupName:  secondary.Name,\n\t\t\tRecoveryVaultName:  vault.Name,\n\t\t\tRecoveryFabricName: secondaryFabric.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tpolicy, err := siterecovery.NewReplicationPolicy(ctx, \"policy\", \u0026siterecovery.ReplicationPolicyArgs{\n\t\t\tName:                            pulumi.String(\"policy\"),\n\t\t\tResourceGroupName:               secondary.Name,\n\t\t\tRecoveryVaultName:               vault.Name,\n\t\t\tRecoveryPointRetentionInMinutes: int(24 * 60),\n\t\t\tApplicationConsistentSnapshotFrequencyInMinutes: int(4 * 60),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = siterecovery.NewProtectionContainerMapping(ctx, \"container-mapping\", \u0026siterecovery.ProtectionContainerMappingArgs{\n\t\t\tName:                                  pulumi.String(\"container-mapping\"),\n\t\t\tResourceGroupName:                     secondary.Name,\n\t\t\tRecoveryVaultName:                     vault.Name,\n\t\t\tRecoveryFabricName:                    primaryFabric.Name,\n\t\t\tRecoverySourceProtectionContainerName: primaryProtectionContainer.Name,\n\t\t\tRecoveryTargetProtectionContainerId:   secondaryProtectionContainer.ID(),\n\t\t\tRecoveryReplicationPolicyId:           policy.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.recoveryservices.Vault;\nimport com.pulumi.azure.recoveryservices.VaultArgs;\nimport com.pulumi.azure.siterecovery.Fabric;\nimport com.pulumi.azure.siterecovery.FabricArgs;\nimport com.pulumi.azure.siterecovery.ProtectionContainer;\nimport com.pulumi.azure.siterecovery.ProtectionContainerArgs;\nimport com.pulumi.azure.siterecovery.ReplicationPolicy;\nimport com.pulumi.azure.siterecovery.ReplicationPolicyArgs;\nimport com.pulumi.azure.siterecovery.ProtectionContainerMapping;\nimport com.pulumi.azure.siterecovery.ProtectionContainerMappingArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var primary = new ResourceGroup(\"primary\", ResourceGroupArgs.builder()\n            .name(\"tfex-network-mapping-primary\")\n            .location(\"West US\")\n            .build());\n\n        var secondary = new ResourceGroup(\"secondary\", ResourceGroupArgs.builder()\n            .name(\"tfex-network-mapping-secondary\")\n            .location(\"East US\")\n            .build());\n\n        var vault = new Vault(\"vault\", VaultArgs.builder()\n            .name(\"example-recovery-vault\")\n            .location(secondary.location())\n            .resourceGroupName(secondary.name())\n            .sku(\"Standard\")\n            .build());\n\n        var primaryFabric = new Fabric(\"primaryFabric\", FabricArgs.builder()\n            .name(\"primary-fabric\")\n            .resourceGroupName(secondary.name())\n            .recoveryVaultName(vault.name())\n            .location(primary.location())\n            .build());\n\n        var secondaryFabric = new Fabric(\"secondaryFabric\", FabricArgs.builder()\n            .name(\"secondary-fabric\")\n            .resourceGroupName(secondary.name())\n            .recoveryVaultName(vault.name())\n            .location(secondary.location())\n            .build());\n\n        var primaryProtectionContainer = new ProtectionContainer(\"primaryProtectionContainer\", ProtectionContainerArgs.builder()\n            .name(\"primary-protection-container\")\n            .resourceGroupName(secondary.name())\n            .recoveryVaultName(vault.name())\n            .recoveryFabricName(primaryFabric.name())\n            .build());\n\n        var secondaryProtectionContainer = new ProtectionContainer(\"secondaryProtectionContainer\", ProtectionContainerArgs.builder()\n            .name(\"secondary-protection-container\")\n            .resourceGroupName(secondary.name())\n            .recoveryVaultName(vault.name())\n            .recoveryFabricName(secondaryFabric.name())\n            .build());\n\n        var policy = new ReplicationPolicy(\"policy\", ReplicationPolicyArgs.builder()\n            .name(\"policy\")\n            .resourceGroupName(secondary.name())\n            .recoveryVaultName(vault.name())\n            .recoveryPointRetentionInMinutes(24 * 60)\n            .applicationConsistentSnapshotFrequencyInMinutes(4 * 60)\n            .build());\n\n        var container_mapping = new ProtectionContainerMapping(\"container-mapping\", ProtectionContainerMappingArgs.builder()\n            .name(\"container-mapping\")\n            .resourceGroupName(secondary.name())\n            .recoveryVaultName(vault.name())\n            .recoveryFabricName(primaryFabric.name())\n            .recoverySourceProtectionContainerName(primaryProtectionContainer.name())\n            .recoveryTargetProtectionContainerId(secondaryProtectionContainer.id())\n            .recoveryReplicationPolicyId(policy.id())\n            .build());\n\n    }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.RecoveryServices` - 2024-04-01\n\n## Import\n\nSite Recovery Protection Container Mappings can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:siterecovery/protectionContainerMapping:ProtectionContainerMapping mymapping /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resource-group-name/providers/Microsoft.RecoveryServices/vaults/recovery-vault-name/replicationFabrics/fabric1/replicationProtectionContainers/container1/replicationProtectionContainerMappings/mapping1\n```\n\n","properties":{"automaticUpdate":{"$ref":"#/types/azure:siterecovery/ProtectionContainerMappingAutomaticUpdate:ProtectionContainerMappingAutomaticUpdate","description":"a \u003cspan pulumi-lang-nodejs=\"`automaticUpdate`\" pulumi-lang-dotnet=\"`AutomaticUpdate`\" pulumi-lang-go=\"`automaticUpdate`\" pulumi-lang-python=\"`automatic_update`\" pulumi-lang-yaml=\"`automaticUpdate`\" pulumi-lang-java=\"`automaticUpdate`\"\u003e`automatic_update`\u003c/span\u003e block defined as below.\n"},"name":{"type":"string","description":"The name of the protection container mapping. Changing this forces a new resource to be created.\n"},"recoveryFabricName":{"type":"string","description":"Name of fabric that should contains the protection container to map. Changing this forces a new resource to be created.\n"},"recoveryReplicationPolicyId":{"type":"string","description":"Id of the policy to use for this mapping. Changing this forces a new resource to be created.\n"},"recoverySourceProtectionContainerName":{"type":"string","description":"Name of the source protection container to map. Changing this forces a new resource to be created.\n"},"recoveryTargetProtectionContainerId":{"type":"string","description":"Id of target protection container to map to. Changing this forces a new resource to be created.\n"},"recoveryVaultName":{"type":"string","description":"The name of the vault that should be updated. Changing this forces a new resource to be created.\n"},"resourceGroupName":{"type":"string","description":"Name of the resource group where the vault that should be updated is located. Changing this forces a new resource to be created.\n"}},"required":["automaticUpdate","name","recoveryFabricName","recoveryReplicationPolicyId","recoverySourceProtectionContainerName","recoveryTargetProtectionContainerId","recoveryVaultName","resourceGroupName"],"inputProperties":{"automaticUpdate":{"$ref":"#/types/azure:siterecovery/ProtectionContainerMappingAutomaticUpdate:ProtectionContainerMappingAutomaticUpdate","description":"a \u003cspan pulumi-lang-nodejs=\"`automaticUpdate`\" pulumi-lang-dotnet=\"`AutomaticUpdate`\" pulumi-lang-go=\"`automaticUpdate`\" pulumi-lang-python=\"`automatic_update`\" pulumi-lang-yaml=\"`automaticUpdate`\" pulumi-lang-java=\"`automaticUpdate`\"\u003e`automatic_update`\u003c/span\u003e block defined as below.\n"},"name":{"type":"string","description":"The name of the protection container mapping. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"recoveryFabricName":{"type":"string","description":"Name of fabric that should contains the protection container to map. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"recoveryReplicationPolicyId":{"type":"string","description":"Id of the policy to use for this mapping. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"recoverySourceProtectionContainerName":{"type":"string","description":"Name of the source protection container to map. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"recoveryTargetProtectionContainerId":{"type":"string","description":"Id of target protection container to map to. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"recoveryVaultName":{"type":"string","description":"The name of the vault that should be updated. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"Name of the resource group where the vault that should be updated is located. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["recoveryFabricName","recoveryReplicationPolicyId","recoverySourceProtectionContainerName","recoveryTargetProtectionContainerId","recoveryVaultName","resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering ProtectionContainerMapping resources.\n","properties":{"automaticUpdate":{"$ref":"#/types/azure:siterecovery/ProtectionContainerMappingAutomaticUpdate:ProtectionContainerMappingAutomaticUpdate","description":"a \u003cspan pulumi-lang-nodejs=\"`automaticUpdate`\" pulumi-lang-dotnet=\"`AutomaticUpdate`\" pulumi-lang-go=\"`automaticUpdate`\" pulumi-lang-python=\"`automatic_update`\" pulumi-lang-yaml=\"`automaticUpdate`\" pulumi-lang-java=\"`automaticUpdate`\"\u003e`automatic_update`\u003c/span\u003e block defined as below.\n"},"name":{"type":"string","description":"The name of the protection container mapping. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"recoveryFabricName":{"type":"string","description":"Name of fabric that should contains the protection container to map. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"recoveryReplicationPolicyId":{"type":"string","description":"Id of the policy to use for this mapping. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"recoverySourceProtectionContainerName":{"type":"string","description":"Name of the source protection container to map. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"recoveryTargetProtectionContainerId":{"type":"string","description":"Id of target protection container to map to. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"recoveryVaultName":{"type":"string","description":"The name of the vault that should be updated. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"Name of the resource group where the vault that should be updated is located. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:siterecovery/replicatedVM:ReplicatedVM":{"description":"Manages a VM replicated using Azure Site Recovery (Azure to Azure only). A replicated VM keeps a copiously updated image of the VM in another region in order to be able to start the VM in that region in case of a disaster.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst primary = new azure.core.ResourceGroup(\"primary\", {\n    name: \"tfex-replicated-vm-primary\",\n    location: \"West US\",\n});\nconst secondary = new azure.core.ResourceGroup(\"secondary\", {\n    name: \"tfex-replicated-vm-secondary\",\n    location: \"East US\",\n});\nconst primaryVirtualNetwork = new azure.network.VirtualNetwork(\"primary\", {\n    name: \"network1\",\n    resourceGroupName: primary.name,\n    addressSpaces: [\"192.168.1.0/24\"],\n    location: primary.location,\n});\nconst primarySubnet = new azure.network.Subnet(\"primary\", {\n    name: \"network1-subnet\",\n    resourceGroupName: primary.name,\n    virtualNetworkName: primaryVirtualNetwork.name,\n    addressPrefixes: [\"192.168.1.0/24\"],\n});\nconst primaryPublicIp = new azure.network.PublicIp(\"primary\", {\n    name: \"vm-public-ip-primary\",\n    allocationMethod: \"Static\",\n    location: primary.location,\n    resourceGroupName: primary.name,\n    sku: \"Basic\",\n});\nconst vmNetworkInterface = new azure.network.NetworkInterface(\"vm\", {\n    name: \"vm-nic\",\n    location: primary.location,\n    resourceGroupName: primary.name,\n    ipConfigurations: [{\n        name: \"vm\",\n        subnetId: primarySubnet.id,\n        privateIpAddressAllocation: \"Dynamic\",\n        publicIpAddressId: primaryPublicIp.id,\n    }],\n});\nconst vm = new azure.compute.VirtualMachine(\"vm\", {\n    name: \"vm\",\n    location: primary.location,\n    resourceGroupName: primary.name,\n    vmSize: \"Standard_B1s\",\n    networkInterfaceIds: [vmNetworkInterface.id],\n    storageImageReference: {\n        publisher: \"Canonical\",\n        offer: \"0001-com-ubuntu-server-jammy\",\n        sku: \"22_04-lts\",\n        version: \"latest\",\n    },\n    storageOsDisk: {\n        name: \"vm-os-disk\",\n        osType: \"Linux\",\n        caching: \"ReadWrite\",\n        createOption: \"FromImage\",\n        managedDiskType: \"Premium_LRS\",\n    },\n    osProfile: {\n        adminUsername: \"test-admin-123\",\n        adminPassword: \"test-pwd-123\",\n        computerName: \"vm\",\n    },\n    osProfileLinuxConfig: {\n        disablePasswordAuthentication: false,\n    },\n});\nconst vault = new azure.recoveryservices.Vault(\"vault\", {\n    name: \"example-recovery-vault\",\n    location: secondary.location,\n    resourceGroupName: secondary.name,\n    sku: \"Standard\",\n});\nconst primaryFabric = new azure.siterecovery.Fabric(\"primary\", {\n    name: \"primary-fabric\",\n    resourceGroupName: secondary.name,\n    recoveryVaultName: vault.name,\n    location: primary.location,\n});\nconst secondaryFabric = new azure.siterecovery.Fabric(\"secondary\", {\n    name: \"secondary-fabric\",\n    resourceGroupName: secondary.name,\n    recoveryVaultName: vault.name,\n    location: secondary.location,\n});\nconst primaryProtectionContainer = new azure.siterecovery.ProtectionContainer(\"primary\", {\n    name: \"primary-protection-container\",\n    resourceGroupName: secondary.name,\n    recoveryVaultName: vault.name,\n    recoveryFabricName: primaryFabric.name,\n});\nconst secondaryProtectionContainer = new azure.siterecovery.ProtectionContainer(\"secondary\", {\n    name: \"secondary-protection-container\",\n    resourceGroupName: secondary.name,\n    recoveryVaultName: vault.name,\n    recoveryFabricName: secondaryFabric.name,\n});\nconst policy = new azure.siterecovery.ReplicationPolicy(\"policy\", {\n    name: \"policy\",\n    resourceGroupName: secondary.name,\n    recoveryVaultName: vault.name,\n    recoveryPointRetentionInMinutes: 24 * 60,\n    applicationConsistentSnapshotFrequencyInMinutes: 4 * 60,\n});\nconst container_mapping = new azure.siterecovery.ProtectionContainerMapping(\"container-mapping\", {\n    name: \"container-mapping\",\n    resourceGroupName: secondary.name,\n    recoveryVaultName: vault.name,\n    recoveryFabricName: primaryFabric.name,\n    recoverySourceProtectionContainerName: primaryProtectionContainer.name,\n    recoveryTargetProtectionContainerId: secondaryProtectionContainer.id,\n    recoveryReplicationPolicyId: policy.id,\n});\nconst secondaryVirtualNetwork = new azure.network.VirtualNetwork(\"secondary\", {\n    name: \"network2\",\n    resourceGroupName: secondary.name,\n    addressSpaces: [\"192.168.2.0/24\"],\n    location: secondary.location,\n});\nconst network_mapping = new azure.siterecovery.NetworkMapping(\"network-mapping\", {\n    name: \"network-mapping\",\n    resourceGroupName: secondary.name,\n    recoveryVaultName: vault.name,\n    sourceRecoveryFabricName: primaryFabric.name,\n    targetRecoveryFabricName: secondaryFabric.name,\n    sourceNetworkId: primaryVirtualNetwork.id,\n    targetNetworkId: secondaryVirtualNetwork.id,\n});\nconst primaryAccount = new azure.storage.Account(\"primary\", {\n    name: \"primaryrecoverycache\",\n    location: primary.location,\n    resourceGroupName: primary.name,\n    accountTier: \"Standard\",\n    accountReplicationType: \"LRS\",\n});\nconst secondarySubnet = new azure.network.Subnet(\"secondary\", {\n    name: \"network2-subnet\",\n    resourceGroupName: secondary.name,\n    virtualNetworkName: secondaryVirtualNetwork.name,\n    addressPrefixes: [\"192.168.2.0/24\"],\n});\nconst secondaryPublicIp = new azure.network.PublicIp(\"secondary\", {\n    name: \"vm-public-ip-secondary\",\n    allocationMethod: \"Static\",\n    location: secondary.location,\n    resourceGroupName: secondary.name,\n    sku: \"Basic\",\n});\nconst vm_replication = new azure.siterecovery.ReplicatedVM(\"vm-replication\", {\n    name: \"vm-replication\",\n    resourceGroupName: secondary.name,\n    recoveryVaultName: vault.name,\n    sourceRecoveryFabricName: primaryFabric.name,\n    sourceVmId: vm.id,\n    recoveryReplicationPolicyId: policy.id,\n    sourceRecoveryProtectionContainerName: primaryProtectionContainer.name,\n    targetResourceGroupId: secondary.id,\n    targetRecoveryFabricId: secondaryFabric.id,\n    targetRecoveryProtectionContainerId: secondaryProtectionContainer.id,\n    managedDisks: [{\n        diskId: vm.storageOsDisk.apply(storageOsDisk =\u003e storageOsDisk.managedDiskId),\n        stagingStorageAccountId: primaryAccount.id,\n        targetResourceGroupId: secondary.id,\n        targetDiskType: \"Premium_LRS\",\n        targetReplicaDiskType: \"Premium_LRS\",\n    }],\n    networkInterfaces: [{\n        sourceNetworkInterfaceId: vmNetworkInterface.id,\n        targetSubnetName: secondarySubnet.name,\n        recoveryPublicIpAddressId: secondaryPublicIp.id,\n    }],\n}, {\n    dependsOn: [\n        container_mapping,\n        network_mapping,\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nprimary = azure.core.ResourceGroup(\"primary\",\n    name=\"tfex-replicated-vm-primary\",\n    location=\"West US\")\nsecondary = azure.core.ResourceGroup(\"secondary\",\n    name=\"tfex-replicated-vm-secondary\",\n    location=\"East US\")\nprimary_virtual_network = azure.network.VirtualNetwork(\"primary\",\n    name=\"network1\",\n    resource_group_name=primary.name,\n    address_spaces=[\"192.168.1.0/24\"],\n    location=primary.location)\nprimary_subnet = azure.network.Subnet(\"primary\",\n    name=\"network1-subnet\",\n    resource_group_name=primary.name,\n    virtual_network_name=primary_virtual_network.name,\n    address_prefixes=[\"192.168.1.0/24\"])\nprimary_public_ip = azure.network.PublicIp(\"primary\",\n    name=\"vm-public-ip-primary\",\n    allocation_method=\"Static\",\n    location=primary.location,\n    resource_group_name=primary.name,\n    sku=\"Basic\")\nvm_network_interface = azure.network.NetworkInterface(\"vm\",\n    name=\"vm-nic\",\n    location=primary.location,\n    resource_group_name=primary.name,\n    ip_configurations=[{\n        \"name\": \"vm\",\n        \"subnet_id\": primary_subnet.id,\n        \"private_ip_address_allocation\": \"Dynamic\",\n        \"public_ip_address_id\": primary_public_ip.id,\n    }])\nvm = azure.compute.VirtualMachine(\"vm\",\n    name=\"vm\",\n    location=primary.location,\n    resource_group_name=primary.name,\n    vm_size=\"Standard_B1s\",\n    network_interface_ids=[vm_network_interface.id],\n    storage_image_reference={\n        \"publisher\": \"Canonical\",\n        \"offer\": \"0001-com-ubuntu-server-jammy\",\n        \"sku\": \"22_04-lts\",\n        \"version\": \"latest\",\n    },\n    storage_os_disk={\n        \"name\": \"vm-os-disk\",\n        \"os_type\": \"Linux\",\n        \"caching\": \"ReadWrite\",\n        \"create_option\": \"FromImage\",\n        \"managed_disk_type\": \"Premium_LRS\",\n    },\n    os_profile={\n        \"admin_username\": \"test-admin-123\",\n        \"admin_password\": \"test-pwd-123\",\n        \"computer_name\": \"vm\",\n    },\n    os_profile_linux_config={\n        \"disable_password_authentication\": False,\n    })\nvault = azure.recoveryservices.Vault(\"vault\",\n    name=\"example-recovery-vault\",\n    location=secondary.location,\n    resource_group_name=secondary.name,\n    sku=\"Standard\")\nprimary_fabric = azure.siterecovery.Fabric(\"primary\",\n    name=\"primary-fabric\",\n    resource_group_name=secondary.name,\n    recovery_vault_name=vault.name,\n    location=primary.location)\nsecondary_fabric = azure.siterecovery.Fabric(\"secondary\",\n    name=\"secondary-fabric\",\n    resource_group_name=secondary.name,\n    recovery_vault_name=vault.name,\n    location=secondary.location)\nprimary_protection_container = azure.siterecovery.ProtectionContainer(\"primary\",\n    name=\"primary-protection-container\",\n    resource_group_name=secondary.name,\n    recovery_vault_name=vault.name,\n    recovery_fabric_name=primary_fabric.name)\nsecondary_protection_container = azure.siterecovery.ProtectionContainer(\"secondary\",\n    name=\"secondary-protection-container\",\n    resource_group_name=secondary.name,\n    recovery_vault_name=vault.name,\n    recovery_fabric_name=secondary_fabric.name)\npolicy = azure.siterecovery.ReplicationPolicy(\"policy\",\n    name=\"policy\",\n    resource_group_name=secondary.name,\n    recovery_vault_name=vault.name,\n    recovery_point_retention_in_minutes=24 * 60,\n    application_consistent_snapshot_frequency_in_minutes=4 * 60)\ncontainer_mapping = azure.siterecovery.ProtectionContainerMapping(\"container-mapping\",\n    name=\"container-mapping\",\n    resource_group_name=secondary.name,\n    recovery_vault_name=vault.name,\n    recovery_fabric_name=primary_fabric.name,\n    recovery_source_protection_container_name=primary_protection_container.name,\n    recovery_target_protection_container_id=secondary_protection_container.id,\n    recovery_replication_policy_id=policy.id)\nsecondary_virtual_network = azure.network.VirtualNetwork(\"secondary\",\n    name=\"network2\",\n    resource_group_name=secondary.name,\n    address_spaces=[\"192.168.2.0/24\"],\n    location=secondary.location)\nnetwork_mapping = azure.siterecovery.NetworkMapping(\"network-mapping\",\n    name=\"network-mapping\",\n    resource_group_name=secondary.name,\n    recovery_vault_name=vault.name,\n    source_recovery_fabric_name=primary_fabric.name,\n    target_recovery_fabric_name=secondary_fabric.name,\n    source_network_id=primary_virtual_network.id,\n    target_network_id=secondary_virtual_network.id)\nprimary_account = azure.storage.Account(\"primary\",\n    name=\"primaryrecoverycache\",\n    location=primary.location,\n    resource_group_name=primary.name,\n    account_tier=\"Standard\",\n    account_replication_type=\"LRS\")\nsecondary_subnet = azure.network.Subnet(\"secondary\",\n    name=\"network2-subnet\",\n    resource_group_name=secondary.name,\n    virtual_network_name=secondary_virtual_network.name,\n    address_prefixes=[\"192.168.2.0/24\"])\nsecondary_public_ip = azure.network.PublicIp(\"secondary\",\n    name=\"vm-public-ip-secondary\",\n    allocation_method=\"Static\",\n    location=secondary.location,\n    resource_group_name=secondary.name,\n    sku=\"Basic\")\nvm_replication = azure.siterecovery.ReplicatedVM(\"vm-replication\",\n    name=\"vm-replication\",\n    resource_group_name=secondary.name,\n    recovery_vault_name=vault.name,\n    source_recovery_fabric_name=primary_fabric.name,\n    source_vm_id=vm.id,\n    recovery_replication_policy_id=policy.id,\n    source_recovery_protection_container_name=primary_protection_container.name,\n    target_resource_group_id=secondary.id,\n    target_recovery_fabric_id=secondary_fabric.id,\n    target_recovery_protection_container_id=secondary_protection_container.id,\n    managed_disks=[{\n        \"disk_id\": vm.storage_os_disk.managed_disk_id,\n        \"staging_storage_account_id\": primary_account.id,\n        \"target_resource_group_id\": secondary.id,\n        \"target_disk_type\": \"Premium_LRS\",\n        \"target_replica_disk_type\": \"Premium_LRS\",\n    }],\n    network_interfaces=[{\n        \"source_network_interface_id\": vm_network_interface.id,\n        \"target_subnet_name\": secondary_subnet.name,\n        \"recovery_public_ip_address_id\": secondary_public_ip.id,\n    }],\n    opts = pulumi.ResourceOptions(depends_on=[\n            container_mapping,\n            network_mapping,\n        ]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var primary = new Azure.Core.ResourceGroup(\"primary\", new()\n    {\n        Name = \"tfex-replicated-vm-primary\",\n        Location = \"West US\",\n    });\n\n    var secondary = new Azure.Core.ResourceGroup(\"secondary\", new()\n    {\n        Name = \"tfex-replicated-vm-secondary\",\n        Location = \"East US\",\n    });\n\n    var primaryVirtualNetwork = new Azure.Network.VirtualNetwork(\"primary\", new()\n    {\n        Name = \"network1\",\n        ResourceGroupName = primary.Name,\n        AddressSpaces = new[]\n        {\n            \"192.168.1.0/24\",\n        },\n        Location = primary.Location,\n    });\n\n    var primarySubnet = new Azure.Network.Subnet(\"primary\", new()\n    {\n        Name = \"network1-subnet\",\n        ResourceGroupName = primary.Name,\n        VirtualNetworkName = primaryVirtualNetwork.Name,\n        AddressPrefixes = new[]\n        {\n            \"192.168.1.0/24\",\n        },\n    });\n\n    var primaryPublicIp = new Azure.Network.PublicIp(\"primary\", new()\n    {\n        Name = \"vm-public-ip-primary\",\n        AllocationMethod = \"Static\",\n        Location = primary.Location,\n        ResourceGroupName = primary.Name,\n        Sku = \"Basic\",\n    });\n\n    var vmNetworkInterface = new Azure.Network.NetworkInterface(\"vm\", new()\n    {\n        Name = \"vm-nic\",\n        Location = primary.Location,\n        ResourceGroupName = primary.Name,\n        IpConfigurations = new[]\n        {\n            new Azure.Network.Inputs.NetworkInterfaceIpConfigurationArgs\n            {\n                Name = \"vm\",\n                SubnetId = primarySubnet.Id,\n                PrivateIpAddressAllocation = \"Dynamic\",\n                PublicIpAddressId = primaryPublicIp.Id,\n            },\n        },\n    });\n\n    var vm = new Azure.Compute.VirtualMachine(\"vm\", new()\n    {\n        Name = \"vm\",\n        Location = primary.Location,\n        ResourceGroupName = primary.Name,\n        VmSize = \"Standard_B1s\",\n        NetworkInterfaceIds = new[]\n        {\n            vmNetworkInterface.Id,\n        },\n        StorageImageReference = new Azure.Compute.Inputs.VirtualMachineStorageImageReferenceArgs\n        {\n            Publisher = \"Canonical\",\n            Offer = \"0001-com-ubuntu-server-jammy\",\n            Sku = \"22_04-lts\",\n            Version = \"latest\",\n        },\n        StorageOsDisk = new Azure.Compute.Inputs.VirtualMachineStorageOsDiskArgs\n        {\n            Name = \"vm-os-disk\",\n            OsType = \"Linux\",\n            Caching = \"ReadWrite\",\n            CreateOption = \"FromImage\",\n            ManagedDiskType = \"Premium_LRS\",\n        },\n        OsProfile = new Azure.Compute.Inputs.VirtualMachineOsProfileArgs\n        {\n            AdminUsername = \"test-admin-123\",\n            AdminPassword = \"test-pwd-123\",\n            ComputerName = \"vm\",\n        },\n        OsProfileLinuxConfig = new Azure.Compute.Inputs.VirtualMachineOsProfileLinuxConfigArgs\n        {\n            DisablePasswordAuthentication = false,\n        },\n    });\n\n    var vault = new Azure.RecoveryServices.Vault(\"vault\", new()\n    {\n        Name = \"example-recovery-vault\",\n        Location = secondary.Location,\n        ResourceGroupName = secondary.Name,\n        Sku = \"Standard\",\n    });\n\n    var primaryFabric = new Azure.SiteRecovery.Fabric(\"primary\", new()\n    {\n        Name = \"primary-fabric\",\n        ResourceGroupName = secondary.Name,\n        RecoveryVaultName = vault.Name,\n        Location = primary.Location,\n    });\n\n    var secondaryFabric = new Azure.SiteRecovery.Fabric(\"secondary\", new()\n    {\n        Name = \"secondary-fabric\",\n        ResourceGroupName = secondary.Name,\n        RecoveryVaultName = vault.Name,\n        Location = secondary.Location,\n    });\n\n    var primaryProtectionContainer = new Azure.SiteRecovery.ProtectionContainer(\"primary\", new()\n    {\n        Name = \"primary-protection-container\",\n        ResourceGroupName = secondary.Name,\n        RecoveryVaultName = vault.Name,\n        RecoveryFabricName = primaryFabric.Name,\n    });\n\n    var secondaryProtectionContainer = new Azure.SiteRecovery.ProtectionContainer(\"secondary\", new()\n    {\n        Name = \"secondary-protection-container\",\n        ResourceGroupName = secondary.Name,\n        RecoveryVaultName = vault.Name,\n        RecoveryFabricName = secondaryFabric.Name,\n    });\n\n    var policy = new Azure.SiteRecovery.ReplicationPolicy(\"policy\", new()\n    {\n        Name = \"policy\",\n        ResourceGroupName = secondary.Name,\n        RecoveryVaultName = vault.Name,\n        RecoveryPointRetentionInMinutes = 24 * 60,\n        ApplicationConsistentSnapshotFrequencyInMinutes = 4 * 60,\n    });\n\n    var container_mapping = new Azure.SiteRecovery.ProtectionContainerMapping(\"container-mapping\", new()\n    {\n        Name = \"container-mapping\",\n        ResourceGroupName = secondary.Name,\n        RecoveryVaultName = vault.Name,\n        RecoveryFabricName = primaryFabric.Name,\n        RecoverySourceProtectionContainerName = primaryProtectionContainer.Name,\n        RecoveryTargetProtectionContainerId = secondaryProtectionContainer.Id,\n        RecoveryReplicationPolicyId = policy.Id,\n    });\n\n    var secondaryVirtualNetwork = new Azure.Network.VirtualNetwork(\"secondary\", new()\n    {\n        Name = \"network2\",\n        ResourceGroupName = secondary.Name,\n        AddressSpaces = new[]\n        {\n            \"192.168.2.0/24\",\n        },\n        Location = secondary.Location,\n    });\n\n    var network_mapping = new Azure.SiteRecovery.NetworkMapping(\"network-mapping\", new()\n    {\n        Name = \"network-mapping\",\n        ResourceGroupName = secondary.Name,\n        RecoveryVaultName = vault.Name,\n        SourceRecoveryFabricName = primaryFabric.Name,\n        TargetRecoveryFabricName = secondaryFabric.Name,\n        SourceNetworkId = primaryVirtualNetwork.Id,\n        TargetNetworkId = secondaryVirtualNetwork.Id,\n    });\n\n    var primaryAccount = new Azure.Storage.Account(\"primary\", new()\n    {\n        Name = \"primaryrecoverycache\",\n        Location = primary.Location,\n        ResourceGroupName = primary.Name,\n        AccountTier = \"Standard\",\n        AccountReplicationType = \"LRS\",\n    });\n\n    var secondarySubnet = new Azure.Network.Subnet(\"secondary\", new()\n    {\n        Name = \"network2-subnet\",\n        ResourceGroupName = secondary.Name,\n        VirtualNetworkName = secondaryVirtualNetwork.Name,\n        AddressPrefixes = new[]\n        {\n            \"192.168.2.0/24\",\n        },\n    });\n\n    var secondaryPublicIp = new Azure.Network.PublicIp(\"secondary\", new()\n    {\n        Name = \"vm-public-ip-secondary\",\n        AllocationMethod = \"Static\",\n        Location = secondary.Location,\n        ResourceGroupName = secondary.Name,\n        Sku = \"Basic\",\n    });\n\n    var vm_replication = new Azure.SiteRecovery.ReplicatedVM(\"vm-replication\", new()\n    {\n        Name = \"vm-replication\",\n        ResourceGroupName = secondary.Name,\n        RecoveryVaultName = vault.Name,\n        SourceRecoveryFabricName = primaryFabric.Name,\n        SourceVmId = vm.Id,\n        RecoveryReplicationPolicyId = policy.Id,\n        SourceRecoveryProtectionContainerName = primaryProtectionContainer.Name,\n        TargetResourceGroupId = secondary.Id,\n        TargetRecoveryFabricId = secondaryFabric.Id,\n        TargetRecoveryProtectionContainerId = secondaryProtectionContainer.Id,\n        ManagedDisks = new[]\n        {\n            new Azure.SiteRecovery.Inputs.ReplicatedVMManagedDiskArgs\n            {\n                DiskId = vm.StorageOsDisk.Apply(storageOsDisk =\u003e storageOsDisk.ManagedDiskId),\n                StagingStorageAccountId = primaryAccount.Id,\n                TargetResourceGroupId = secondary.Id,\n                TargetDiskType = \"Premium_LRS\",\n                TargetReplicaDiskType = \"Premium_LRS\",\n            },\n        },\n        NetworkInterfaces = new[]\n        {\n            new Azure.SiteRecovery.Inputs.ReplicatedVMNetworkInterfaceArgs\n            {\n                SourceNetworkInterfaceId = vmNetworkInterface.Id,\n                TargetSubnetName = secondarySubnet.Name,\n                RecoveryPublicIpAddressId = secondaryPublicIp.Id,\n            },\n        },\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            container_mapping,\n            network_mapping,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/compute\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/recoveryservices\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/siterecovery\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tprimary, err := core.NewResourceGroup(ctx, \"primary\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"tfex-replicated-vm-primary\"),\n\t\t\tLocation: pulumi.String(\"West US\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsecondary, err := core.NewResourceGroup(ctx, \"secondary\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"tfex-replicated-vm-secondary\"),\n\t\t\tLocation: pulumi.String(\"East US\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tprimaryVirtualNetwork, err := network.NewVirtualNetwork(ctx, \"primary\", \u0026network.VirtualNetworkArgs{\n\t\t\tName:              pulumi.String(\"network1\"),\n\t\t\tResourceGroupName: primary.Name,\n\t\t\tAddressSpaces: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"192.168.1.0/24\"),\n\t\t\t},\n\t\t\tLocation: primary.Location,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tprimarySubnet, err := network.NewSubnet(ctx, \"primary\", \u0026network.SubnetArgs{\n\t\t\tName:               pulumi.String(\"network1-subnet\"),\n\t\t\tResourceGroupName:  primary.Name,\n\t\t\tVirtualNetworkName: primaryVirtualNetwork.Name,\n\t\t\tAddressPrefixes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"192.168.1.0/24\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tprimaryPublicIp, err := network.NewPublicIp(ctx, \"primary\", \u0026network.PublicIpArgs{\n\t\t\tName:              pulumi.String(\"vm-public-ip-primary\"),\n\t\t\tAllocationMethod:  pulumi.String(\"Static\"),\n\t\t\tLocation:          primary.Location,\n\t\t\tResourceGroupName: primary.Name,\n\t\t\tSku:               pulumi.String(\"Basic\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvmNetworkInterface, err := network.NewNetworkInterface(ctx, \"vm\", \u0026network.NetworkInterfaceArgs{\n\t\t\tName:              pulumi.String(\"vm-nic\"),\n\t\t\tLocation:          primary.Location,\n\t\t\tResourceGroupName: primary.Name,\n\t\t\tIpConfigurations: network.NetworkInterfaceIpConfigurationArray{\n\t\t\t\t\u0026network.NetworkInterfaceIpConfigurationArgs{\n\t\t\t\t\tName:                       pulumi.String(\"vm\"),\n\t\t\t\t\tSubnetId:                   primarySubnet.ID(),\n\t\t\t\t\tPrivateIpAddressAllocation: pulumi.String(\"Dynamic\"),\n\t\t\t\t\tPublicIpAddressId:          primaryPublicIp.ID(),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvm, err := compute.NewVirtualMachine(ctx, \"vm\", \u0026compute.VirtualMachineArgs{\n\t\t\tName:              pulumi.String(\"vm\"),\n\t\t\tLocation:          primary.Location,\n\t\t\tResourceGroupName: primary.Name,\n\t\t\tVmSize:            pulumi.String(\"Standard_B1s\"),\n\t\t\tNetworkInterfaceIds: pulumi.StringArray{\n\t\t\t\tvmNetworkInterface.ID(),\n\t\t\t},\n\t\t\tStorageImageReference: \u0026compute.VirtualMachineStorageImageReferenceArgs{\n\t\t\t\tPublisher: pulumi.String(\"Canonical\"),\n\t\t\t\tOffer:     pulumi.String(\"0001-com-ubuntu-server-jammy\"),\n\t\t\t\tSku:       pulumi.String(\"22_04-lts\"),\n\t\t\t\tVersion:   pulumi.String(\"latest\"),\n\t\t\t},\n\t\t\tStorageOsDisk: \u0026compute.VirtualMachineStorageOsDiskArgs{\n\t\t\t\tName:            pulumi.String(\"vm-os-disk\"),\n\t\t\t\tOsType:          pulumi.String(\"Linux\"),\n\t\t\t\tCaching:         pulumi.String(\"ReadWrite\"),\n\t\t\t\tCreateOption:    pulumi.String(\"FromImage\"),\n\t\t\t\tManagedDiskType: pulumi.String(\"Premium_LRS\"),\n\t\t\t},\n\t\t\tOsProfile: \u0026compute.VirtualMachineOsProfileArgs{\n\t\t\t\tAdminUsername: pulumi.String(\"test-admin-123\"),\n\t\t\t\tAdminPassword: pulumi.String(\"test-pwd-123\"),\n\t\t\t\tComputerName:  pulumi.String(\"vm\"),\n\t\t\t},\n\t\t\tOsProfileLinuxConfig: \u0026compute.VirtualMachineOsProfileLinuxConfigArgs{\n\t\t\t\tDisablePasswordAuthentication: pulumi.Bool(false),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvault, err := recoveryservices.NewVault(ctx, \"vault\", \u0026recoveryservices.VaultArgs{\n\t\t\tName:              pulumi.String(\"example-recovery-vault\"),\n\t\t\tLocation:          secondary.Location,\n\t\t\tResourceGroupName: secondary.Name,\n\t\t\tSku:               pulumi.String(\"Standard\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tprimaryFabric, err := siterecovery.NewFabric(ctx, \"primary\", \u0026siterecovery.FabricArgs{\n\t\t\tName:              pulumi.String(\"primary-fabric\"),\n\t\t\tResourceGroupName: secondary.Name,\n\t\t\tRecoveryVaultName: vault.Name,\n\t\t\tLocation:          primary.Location,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsecondaryFabric, err := siterecovery.NewFabric(ctx, \"secondary\", \u0026siterecovery.FabricArgs{\n\t\t\tName:              pulumi.String(\"secondary-fabric\"),\n\t\t\tResourceGroupName: secondary.Name,\n\t\t\tRecoveryVaultName: vault.Name,\n\t\t\tLocation:          secondary.Location,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tprimaryProtectionContainer, err := siterecovery.NewProtectionContainer(ctx, \"primary\", \u0026siterecovery.ProtectionContainerArgs{\n\t\t\tName:               pulumi.String(\"primary-protection-container\"),\n\t\t\tResourceGroupName:  secondary.Name,\n\t\t\tRecoveryVaultName:  vault.Name,\n\t\t\tRecoveryFabricName: primaryFabric.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsecondaryProtectionContainer, err := siterecovery.NewProtectionContainer(ctx, \"secondary\", \u0026siterecovery.ProtectionContainerArgs{\n\t\t\tName:               pulumi.String(\"secondary-protection-container\"),\n\t\t\tResourceGroupName:  secondary.Name,\n\t\t\tRecoveryVaultName:  vault.Name,\n\t\t\tRecoveryFabricName: secondaryFabric.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tpolicy, err := siterecovery.NewReplicationPolicy(ctx, \"policy\", \u0026siterecovery.ReplicationPolicyArgs{\n\t\t\tName:                            pulumi.String(\"policy\"),\n\t\t\tResourceGroupName:               secondary.Name,\n\t\t\tRecoveryVaultName:               vault.Name,\n\t\t\tRecoveryPointRetentionInMinutes: int(24 * 60),\n\t\t\tApplicationConsistentSnapshotFrequencyInMinutes: int(4 * 60),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcontainer_mapping, err := siterecovery.NewProtectionContainerMapping(ctx, \"container-mapping\", \u0026siterecovery.ProtectionContainerMappingArgs{\n\t\t\tName:                                  pulumi.String(\"container-mapping\"),\n\t\t\tResourceGroupName:                     secondary.Name,\n\t\t\tRecoveryVaultName:                     vault.Name,\n\t\t\tRecoveryFabricName:                    primaryFabric.Name,\n\t\t\tRecoverySourceProtectionContainerName: primaryProtectionContainer.Name,\n\t\t\tRecoveryTargetProtectionContainerId:   secondaryProtectionContainer.ID(),\n\t\t\tRecoveryReplicationPolicyId:           policy.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsecondaryVirtualNetwork, err := network.NewVirtualNetwork(ctx, \"secondary\", \u0026network.VirtualNetworkArgs{\n\t\t\tName:              pulumi.String(\"network2\"),\n\t\t\tResourceGroupName: secondary.Name,\n\t\t\tAddressSpaces: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"192.168.2.0/24\"),\n\t\t\t},\n\t\t\tLocation: secondary.Location,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tnetwork_mapping, err := siterecovery.NewNetworkMapping(ctx, \"network-mapping\", \u0026siterecovery.NetworkMappingArgs{\n\t\t\tName:                     pulumi.String(\"network-mapping\"),\n\t\t\tResourceGroupName:        secondary.Name,\n\t\t\tRecoveryVaultName:        vault.Name,\n\t\t\tSourceRecoveryFabricName: primaryFabric.Name,\n\t\t\tTargetRecoveryFabricName: secondaryFabric.Name,\n\t\t\tSourceNetworkId:          primaryVirtualNetwork.ID(),\n\t\t\tTargetNetworkId:          secondaryVirtualNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tprimaryAccount, err := storage.NewAccount(ctx, \"primary\", \u0026storage.AccountArgs{\n\t\t\tName:                   pulumi.String(\"primaryrecoverycache\"),\n\t\t\tLocation:               primary.Location,\n\t\t\tResourceGroupName:      primary.Name,\n\t\t\tAccountTier:            pulumi.String(\"Standard\"),\n\t\t\tAccountReplicationType: pulumi.String(\"LRS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsecondarySubnet, err := network.NewSubnet(ctx, \"secondary\", \u0026network.SubnetArgs{\n\t\t\tName:               pulumi.String(\"network2-subnet\"),\n\t\t\tResourceGroupName:  secondary.Name,\n\t\t\tVirtualNetworkName: secondaryVirtualNetwork.Name,\n\t\t\tAddressPrefixes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"192.168.2.0/24\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsecondaryPublicIp, err := network.NewPublicIp(ctx, \"secondary\", \u0026network.PublicIpArgs{\n\t\t\tName:              pulumi.String(\"vm-public-ip-secondary\"),\n\t\t\tAllocationMethod:  pulumi.String(\"Static\"),\n\t\t\tLocation:          secondary.Location,\n\t\t\tResourceGroupName: secondary.Name,\n\t\t\tSku:               pulumi.String(\"Basic\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = siterecovery.NewReplicatedVM(ctx, \"vm-replication\", \u0026siterecovery.ReplicatedVMArgs{\n\t\t\tName:                                  pulumi.String(\"vm-replication\"),\n\t\t\tResourceGroupName:                     secondary.Name,\n\t\t\tRecoveryVaultName:                     vault.Name,\n\t\t\tSourceRecoveryFabricName:              primaryFabric.Name,\n\t\t\tSourceVmId:                            vm.ID(),\n\t\t\tRecoveryReplicationPolicyId:           policy.ID(),\n\t\t\tSourceRecoveryProtectionContainerName: primaryProtectionContainer.Name,\n\t\t\tTargetResourceGroupId:                 secondary.ID(),\n\t\t\tTargetRecoveryFabricId:                secondaryFabric.ID(),\n\t\t\tTargetRecoveryProtectionContainerId:   secondaryProtectionContainer.ID(),\n\t\t\tManagedDisks: siterecovery.ReplicatedVMManagedDiskArray{\n\t\t\t\t\u0026siterecovery.ReplicatedVMManagedDiskArgs{\n\t\t\t\t\tDiskId: vm.StorageOsDisk.ApplyT(func(storageOsDisk compute.VirtualMachineStorageOsDisk) (*string, error) {\n\t\t\t\t\t\treturn \u0026storageOsDisk.ManagedDiskId, nil\n\t\t\t\t\t}).(pulumi.StringPtrOutput),\n\t\t\t\t\tStagingStorageAccountId: primaryAccount.ID(),\n\t\t\t\t\tTargetResourceGroupId:   secondary.ID(),\n\t\t\t\t\tTargetDiskType:          pulumi.String(\"Premium_LRS\"),\n\t\t\t\t\tTargetReplicaDiskType:   pulumi.String(\"Premium_LRS\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tNetworkInterfaces: siterecovery.ReplicatedVMNetworkInterfaceArray{\n\t\t\t\t\u0026siterecovery.ReplicatedVMNetworkInterfaceArgs{\n\t\t\t\t\tSourceNetworkInterfaceId:  vmNetworkInterface.ID(),\n\t\t\t\t\tTargetSubnetName:          secondarySubnet.Name,\n\t\t\t\t\tRecoveryPublicIpAddressId: secondaryPublicIp.ID(),\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tcontainer_mapping,\n\t\t\tnetwork_mapping,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.VirtualNetwork;\nimport com.pulumi.azure.network.VirtualNetworkArgs;\nimport com.pulumi.azure.network.Subnet;\nimport com.pulumi.azure.network.SubnetArgs;\nimport com.pulumi.azure.network.PublicIp;\nimport com.pulumi.azure.network.PublicIpArgs;\nimport com.pulumi.azure.network.NetworkInterface;\nimport com.pulumi.azure.network.NetworkInterfaceArgs;\nimport com.pulumi.azure.network.inputs.NetworkInterfaceIpConfigurationArgs;\nimport com.pulumi.azure.compute.VirtualMachine;\nimport com.pulumi.azure.compute.VirtualMachineArgs;\nimport com.pulumi.azure.compute.inputs.VirtualMachineStorageImageReferenceArgs;\nimport com.pulumi.azure.compute.inputs.VirtualMachineStorageOsDiskArgs;\nimport com.pulumi.azure.compute.inputs.VirtualMachineOsProfileArgs;\nimport com.pulumi.azure.compute.inputs.VirtualMachineOsProfileLinuxConfigArgs;\nimport com.pulumi.azure.recoveryservices.Vault;\nimport com.pulumi.azure.recoveryservices.VaultArgs;\nimport com.pulumi.azure.siterecovery.Fabric;\nimport com.pulumi.azure.siterecovery.FabricArgs;\nimport com.pulumi.azure.siterecovery.ProtectionContainer;\nimport com.pulumi.azure.siterecovery.ProtectionContainerArgs;\nimport com.pulumi.azure.siterecovery.ReplicationPolicy;\nimport com.pulumi.azure.siterecovery.ReplicationPolicyArgs;\nimport com.pulumi.azure.siterecovery.ProtectionContainerMapping;\nimport com.pulumi.azure.siterecovery.ProtectionContainerMappingArgs;\nimport com.pulumi.azure.siterecovery.NetworkMapping;\nimport com.pulumi.azure.siterecovery.NetworkMappingArgs;\nimport com.pulumi.azure.storage.Account;\nimport com.pulumi.azure.storage.AccountArgs;\nimport com.pulumi.azure.siterecovery.ReplicatedVM;\nimport com.pulumi.azure.siterecovery.ReplicatedVMArgs;\nimport com.pulumi.azure.siterecovery.inputs.ReplicatedVMManagedDiskArgs;\nimport com.pulumi.azure.siterecovery.inputs.ReplicatedVMNetworkInterfaceArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var primary = new ResourceGroup(\"primary\", ResourceGroupArgs.builder()\n            .name(\"tfex-replicated-vm-primary\")\n            .location(\"West US\")\n            .build());\n\n        var secondary = new ResourceGroup(\"secondary\", ResourceGroupArgs.builder()\n            .name(\"tfex-replicated-vm-secondary\")\n            .location(\"East US\")\n            .build());\n\n        var primaryVirtualNetwork = new VirtualNetwork(\"primaryVirtualNetwork\", VirtualNetworkArgs.builder()\n            .name(\"network1\")\n            .resourceGroupName(primary.name())\n            .addressSpaces(\"192.168.1.0/24\")\n            .location(primary.location())\n            .build());\n\n        var primarySubnet = new Subnet(\"primarySubnet\", SubnetArgs.builder()\n            .name(\"network1-subnet\")\n            .resourceGroupName(primary.name())\n            .virtualNetworkName(primaryVirtualNetwork.name())\n            .addressPrefixes(\"192.168.1.0/24\")\n            .build());\n\n        var primaryPublicIp = new PublicIp(\"primaryPublicIp\", PublicIpArgs.builder()\n            .name(\"vm-public-ip-primary\")\n            .allocationMethod(\"Static\")\n            .location(primary.location())\n            .resourceGroupName(primary.name())\n            .sku(\"Basic\")\n            .build());\n\n        var vmNetworkInterface = new NetworkInterface(\"vmNetworkInterface\", NetworkInterfaceArgs.builder()\n            .name(\"vm-nic\")\n            .location(primary.location())\n            .resourceGroupName(primary.name())\n            .ipConfigurations(NetworkInterfaceIpConfigurationArgs.builder()\n                .name(\"vm\")\n                .subnetId(primarySubnet.id())\n                .privateIpAddressAllocation(\"Dynamic\")\n                .publicIpAddressId(primaryPublicIp.id())\n                .build())\n            .build());\n\n        var vm = new VirtualMachine(\"vm\", VirtualMachineArgs.builder()\n            .name(\"vm\")\n            .location(primary.location())\n            .resourceGroupName(primary.name())\n            .vmSize(\"Standard_B1s\")\n            .networkInterfaceIds(vmNetworkInterface.id())\n            .storageImageReference(VirtualMachineStorageImageReferenceArgs.builder()\n                .publisher(\"Canonical\")\n                .offer(\"0001-com-ubuntu-server-jammy\")\n                .sku(\"22_04-lts\")\n                .version(\"latest\")\n                .build())\n            .storageOsDisk(VirtualMachineStorageOsDiskArgs.builder()\n                .name(\"vm-os-disk\")\n                .osType(\"Linux\")\n                .caching(\"ReadWrite\")\n                .createOption(\"FromImage\")\n                .managedDiskType(\"Premium_LRS\")\n                .build())\n            .osProfile(VirtualMachineOsProfileArgs.builder()\n                .adminUsername(\"test-admin-123\")\n                .adminPassword(\"test-pwd-123\")\n                .computerName(\"vm\")\n                .build())\n            .osProfileLinuxConfig(VirtualMachineOsProfileLinuxConfigArgs.builder()\n                .disablePasswordAuthentication(false)\n                .build())\n            .build());\n\n        var vault = new Vault(\"vault\", VaultArgs.builder()\n            .name(\"example-recovery-vault\")\n            .location(secondary.location())\n            .resourceGroupName(secondary.name())\n            .sku(\"Standard\")\n            .build());\n\n        var primaryFabric = new Fabric(\"primaryFabric\", FabricArgs.builder()\n            .name(\"primary-fabric\")\n            .resourceGroupName(secondary.name())\n            .recoveryVaultName(vault.name())\n            .location(primary.location())\n            .build());\n\n        var secondaryFabric = new Fabric(\"secondaryFabric\", FabricArgs.builder()\n            .name(\"secondary-fabric\")\n            .resourceGroupName(secondary.name())\n            .recoveryVaultName(vault.name())\n            .location(secondary.location())\n            .build());\n\n        var primaryProtectionContainer = new ProtectionContainer(\"primaryProtectionContainer\", ProtectionContainerArgs.builder()\n            .name(\"primary-protection-container\")\n            .resourceGroupName(secondary.name())\n            .recoveryVaultName(vault.name())\n            .recoveryFabricName(primaryFabric.name())\n            .build());\n\n        var secondaryProtectionContainer = new ProtectionContainer(\"secondaryProtectionContainer\", ProtectionContainerArgs.builder()\n            .name(\"secondary-protection-container\")\n            .resourceGroupName(secondary.name())\n            .recoveryVaultName(vault.name())\n            .recoveryFabricName(secondaryFabric.name())\n            .build());\n\n        var policy = new ReplicationPolicy(\"policy\", ReplicationPolicyArgs.builder()\n            .name(\"policy\")\n            .resourceGroupName(secondary.name())\n            .recoveryVaultName(vault.name())\n            .recoveryPointRetentionInMinutes(24 * 60)\n            .applicationConsistentSnapshotFrequencyInMinutes(4 * 60)\n            .build());\n\n        var container_mapping = new ProtectionContainerMapping(\"container-mapping\", ProtectionContainerMappingArgs.builder()\n            .name(\"container-mapping\")\n            .resourceGroupName(secondary.name())\n            .recoveryVaultName(vault.name())\n            .recoveryFabricName(primaryFabric.name())\n            .recoverySourceProtectionContainerName(primaryProtectionContainer.name())\n            .recoveryTargetProtectionContainerId(secondaryProtectionContainer.id())\n            .recoveryReplicationPolicyId(policy.id())\n            .build());\n\n        var secondaryVirtualNetwork = new VirtualNetwork(\"secondaryVirtualNetwork\", VirtualNetworkArgs.builder()\n            .name(\"network2\")\n            .resourceGroupName(secondary.name())\n            .addressSpaces(\"192.168.2.0/24\")\n            .location(secondary.location())\n            .build());\n\n        var network_mapping = new NetworkMapping(\"network-mapping\", NetworkMappingArgs.builder()\n            .name(\"network-mapping\")\n            .resourceGroupName(secondary.name())\n            .recoveryVaultName(vault.name())\n            .sourceRecoveryFabricName(primaryFabric.name())\n            .targetRecoveryFabricName(secondaryFabric.name())\n            .sourceNetworkId(primaryVirtualNetwork.id())\n            .targetNetworkId(secondaryVirtualNetwork.id())\n            .build());\n\n        var primaryAccount = new Account(\"primaryAccount\", AccountArgs.builder()\n            .name(\"primaryrecoverycache\")\n            .location(primary.location())\n            .resourceGroupName(primary.name())\n            .accountTier(\"Standard\")\n            .accountReplicationType(\"LRS\")\n            .build());\n\n        var secondarySubnet = new Subnet(\"secondarySubnet\", SubnetArgs.builder()\n            .name(\"network2-subnet\")\n            .resourceGroupName(secondary.name())\n            .virtualNetworkName(secondaryVirtualNetwork.name())\n            .addressPrefixes(\"192.168.2.0/24\")\n            .build());\n\n        var secondaryPublicIp = new PublicIp(\"secondaryPublicIp\", PublicIpArgs.builder()\n            .name(\"vm-public-ip-secondary\")\n            .allocationMethod(\"Static\")\n            .location(secondary.location())\n            .resourceGroupName(secondary.name())\n            .sku(\"Basic\")\n            .build());\n\n        var vm_replication = new ReplicatedVM(\"vm-replication\", ReplicatedVMArgs.builder()\n            .name(\"vm-replication\")\n            .resourceGroupName(secondary.name())\n            .recoveryVaultName(vault.name())\n            .sourceRecoveryFabricName(primaryFabric.name())\n            .sourceVmId(vm.id())\n            .recoveryReplicationPolicyId(policy.id())\n            .sourceRecoveryProtectionContainerName(primaryProtectionContainer.name())\n            .targetResourceGroupId(secondary.id())\n            .targetRecoveryFabricId(secondaryFabric.id())\n            .targetRecoveryProtectionContainerId(secondaryProtectionContainer.id())\n            .managedDisks(ReplicatedVMManagedDiskArgs.builder()\n                .diskId(vm.storageOsDisk().applyValue(_storageOsDisk -\u003e _storageOsDisk.managedDiskId()))\n                .stagingStorageAccountId(primaryAccount.id())\n                .targetResourceGroupId(secondary.id())\n                .targetDiskType(\"Premium_LRS\")\n                .targetReplicaDiskType(\"Premium_LRS\")\n                .build())\n            .networkInterfaces(ReplicatedVMNetworkInterfaceArgs.builder()\n                .sourceNetworkInterfaceId(vmNetworkInterface.id())\n                .targetSubnetName(secondarySubnet.name())\n                .recoveryPublicIpAddressId(secondaryPublicIp.id())\n                .build())\n            .build(), CustomResourceOptions.builder()\n                .dependsOn(                \n                    container_mapping,\n                    network_mapping)\n                .build());\n\n    }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.RecoveryServices` - 2024-04-01\n\n## Import\n\nSite Recovery Replicated VM's can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:siterecovery/replicatedVM:ReplicatedVM vmreplication /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resource-group-name/providers/Microsoft.RecoveryServices/vaults/recovery-vault-name/replicationFabrics/fabric-name/replicationProtectionContainers/protection-container-name/replicationProtectedItems/vm-replication-name\n```\n\n","properties":{"managedDisks":{"type":"array","items":{"$ref":"#/types/azure:siterecovery/ReplicatedVMManagedDisk:ReplicatedVMManagedDisk"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`managedDisk`\" pulumi-lang-dotnet=\"`ManagedDisk`\" pulumi-lang-go=\"`managedDisk`\" pulumi-lang-python=\"`managed_disk`\" pulumi-lang-yaml=\"`managedDisk`\" pulumi-lang-java=\"`managedDisk`\"\u003e`managed_disk`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n"},"multiVmGroupName":{"type":"string","description":"Name of group in which all machines will replicate together and have shared crash consistent and app-consistent recovery points when failed over.\n"},"name":{"type":"string","description":"The name of the replication for the replicated VM. Changing this forces a new resource to be created.\n"},"networkInterfaces":{"type":"array","items":{"$ref":"#/types/azure:siterecovery/ReplicatedVMNetworkInterface:ReplicatedVMNetworkInterface"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`networkInterface`\" pulumi-lang-dotnet=\"`NetworkInterface`\" pulumi-lang-go=\"`networkInterface`\" pulumi-lang-python=\"`network_interface`\" pulumi-lang-yaml=\"`networkInterface`\" pulumi-lang-java=\"`networkInterface`\"\u003e`network_interface`\u003c/span\u003e block as defined below.\n"},"recoveryReplicationPolicyId":{"type":"string","description":"Id of the policy to use for this replicated vm. Changing this forces a new resource to be created.\n"},"recoveryVaultName":{"type":"string","description":"The name of the vault that should be updated. Changing this forces a new resource to be created.\n"},"resourceGroupName":{"type":"string","description":"Name of the resource group where the vault that should be updated is located. Changing this forces a new resource to be created.\n"},"sourceRecoveryFabricName":{"type":"string","description":"Name of fabric that should contain this replication. Changing this forces a new resource to be created.\n"},"sourceRecoveryProtectionContainerName":{"type":"string","description":"Name of the protection container to use. Changing this forces a new resource to be created.\n"},"sourceVmId":{"type":"string","description":"Id of the VM to replicate Changing this forces a new resource to be created.\n"},"targetAvailabilitySetId":{"type":"string","description":"Id of availability set that the new VM should belong to when a failover is done.\n"},"targetBootDiagnosticStorageAccountId":{"type":"string","description":"Id of the storage account which the new VM should used for boot diagnostic when a failover is done.\n"},"targetCapacityReservationGroupId":{"type":"string","description":"Id of the Capacity reservation group where the new VM should belong to when a failover is done.\n"},"targetEdgeZone":{"type":"string","description":"Specifies the Edge Zone within the Azure Region where this Managed Kubernetes Cluster should exist. Changing this forces a new resource to be created.\n"},"targetNetworkId":{"type":"string","description":"Network to use when a failover is done (recommended to set if any\u003cspan pulumi-lang-nodejs=\" networkInterface \" pulumi-lang-dotnet=\" NetworkInterface \" pulumi-lang-go=\" networkInterface \" pulumi-lang-python=\" network_interface \" pulumi-lang-yaml=\" networkInterface \" pulumi-lang-java=\" networkInterface \"\u003e network_interface \u003c/span\u003eis configured for failover).\n"},"targetProximityPlacementGroupId":{"type":"string","description":"Id of Proximity Placement Group the new VM should belong to when a failover is done.\n"},"targetRecoveryFabricId":{"type":"string","description":"Id of fabric where the VM replication should be handled when a failover is done. Changing this forces a new resource to be created.\n"},"targetRecoveryProtectionContainerId":{"type":"string","description":"Id of protection container where the VM replication should be created when a failover is done. Changing this forces a new resource to be created.\n"},"targetResourceGroupId":{"type":"string","description":"Id of resource group where the VM should be created when a failover is done. Changing this forces a new resource to be created.\n"},"targetVirtualMachineScaleSetId":{"type":"string","description":"Id of the Virtual Machine Scale Set which the new Vm should belong to when a failover is done.\n"},"targetVirtualMachineSize":{"type":"string","description":"Specifies the size the Virtual Machine should have.\n"},"targetZone":{"type":"string","description":"Specifies the Availability Zone where the Failover VM should exist. Changing this forces a new resource to be created.\n"},"testNetworkId":{"type":"string","description":"Network to use when a test failover is done.\n"},"unmanagedDisks":{"type":"array","items":{"$ref":"#/types/azure:siterecovery/ReplicatedVMUnmanagedDisk:ReplicatedVMUnmanagedDisk"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`unmanagedDisk`\" pulumi-lang-dotnet=\"`UnmanagedDisk`\" pulumi-lang-go=\"`unmanagedDisk`\" pulumi-lang-python=\"`unmanaged_disk`\" pulumi-lang-yaml=\"`unmanagedDisk`\" pulumi-lang-java=\"`unmanagedDisk`\"\u003e`unmanaged_disk`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n"}},"required":["managedDisks","name","networkInterfaces","recoveryReplicationPolicyId","recoveryVaultName","resourceGroupName","sourceRecoveryFabricName","sourceRecoveryProtectionContainerName","sourceVmId","targetNetworkId","targetRecoveryFabricId","targetRecoveryProtectionContainerId","targetResourceGroupId","targetVirtualMachineSize","testNetworkId","unmanagedDisks"],"inputProperties":{"managedDisks":{"type":"array","items":{"$ref":"#/types/azure:siterecovery/ReplicatedVMManagedDisk:ReplicatedVMManagedDisk"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`managedDisk`\" pulumi-lang-dotnet=\"`ManagedDisk`\" pulumi-lang-go=\"`managedDisk`\" pulumi-lang-python=\"`managed_disk`\" pulumi-lang-yaml=\"`managedDisk`\" pulumi-lang-java=\"`managedDisk`\"\u003e`managed_disk`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"multiVmGroupName":{"type":"string","description":"Name of group in which all machines will replicate together and have shared crash consistent and app-consistent recovery points when failed over.\n"},"name":{"type":"string","description":"The name of the replication for the replicated VM. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"networkInterfaces":{"type":"array","items":{"$ref":"#/types/azure:siterecovery/ReplicatedVMNetworkInterface:ReplicatedVMNetworkInterface"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`networkInterface`\" pulumi-lang-dotnet=\"`NetworkInterface`\" pulumi-lang-go=\"`networkInterface`\" pulumi-lang-python=\"`network_interface`\" pulumi-lang-yaml=\"`networkInterface`\" pulumi-lang-java=\"`networkInterface`\"\u003e`network_interface`\u003c/span\u003e block as defined below.\n"},"recoveryReplicationPolicyId":{"type":"string","description":"Id of the policy to use for this replicated vm. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"recoveryVaultName":{"type":"string","description":"The name of the vault that should be updated. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"Name of the resource group where the vault that should be updated is located. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sourceRecoveryFabricName":{"type":"string","description":"Name of fabric that should contain this replication. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sourceRecoveryProtectionContainerName":{"type":"string","description":"Name of the protection container to use. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sourceVmId":{"type":"string","description":"Id of the VM to replicate Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"targetAvailabilitySetId":{"type":"string","description":"Id of availability set that the new VM should belong to when a failover is done.\n"},"targetBootDiagnosticStorageAccountId":{"type":"string","description":"Id of the storage account which the new VM should used for boot diagnostic when a failover is done.\n"},"targetCapacityReservationGroupId":{"type":"string","description":"Id of the Capacity reservation group where the new VM should belong to when a failover is done.\n"},"targetEdgeZone":{"type":"string","description":"Specifies the Edge Zone within the Azure Region where this Managed Kubernetes Cluster should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"targetNetworkId":{"type":"string","description":"Network to use when a failover is done (recommended to set if any\u003cspan pulumi-lang-nodejs=\" networkInterface \" pulumi-lang-dotnet=\" NetworkInterface \" pulumi-lang-go=\" networkInterface \" pulumi-lang-python=\" network_interface \" pulumi-lang-yaml=\" networkInterface \" pulumi-lang-java=\" networkInterface \"\u003e network_interface \u003c/span\u003eis configured for failover).\n"},"targetProximityPlacementGroupId":{"type":"string","description":"Id of Proximity Placement Group the new VM should belong to when a failover is done.\n"},"targetRecoveryFabricId":{"type":"string","description":"Id of fabric where the VM replication should be handled when a failover is done. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"targetRecoveryProtectionContainerId":{"type":"string","description":"Id of protection container where the VM replication should be created when a failover is done. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"targetResourceGroupId":{"type":"string","description":"Id of resource group where the VM should be created when a failover is done. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"targetVirtualMachineScaleSetId":{"type":"string","description":"Id of the Virtual Machine Scale Set which the new Vm should belong to when a failover is done.\n"},"targetVirtualMachineSize":{"type":"string","description":"Specifies the size the Virtual Machine should have.\n"},"targetZone":{"type":"string","description":"Specifies the Availability Zone where the Failover VM should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"testNetworkId":{"type":"string","description":"Network to use when a test failover is done.\n"},"unmanagedDisks":{"type":"array","items":{"$ref":"#/types/azure:siterecovery/ReplicatedVMUnmanagedDisk:ReplicatedVMUnmanagedDisk"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`unmanagedDisk`\" pulumi-lang-dotnet=\"`UnmanagedDisk`\" pulumi-lang-go=\"`unmanagedDisk`\" pulumi-lang-python=\"`unmanaged_disk`\" pulumi-lang-yaml=\"`unmanagedDisk`\" pulumi-lang-java=\"`unmanagedDisk`\"\u003e`unmanaged_disk`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["recoveryReplicationPolicyId","recoveryVaultName","resourceGroupName","sourceRecoveryFabricName","sourceRecoveryProtectionContainerName","sourceVmId","targetRecoveryFabricId","targetRecoveryProtectionContainerId","targetResourceGroupId"],"stateInputs":{"description":"Input properties used for looking up and filtering ReplicatedVM resources.\n","properties":{"managedDisks":{"type":"array","items":{"$ref":"#/types/azure:siterecovery/ReplicatedVMManagedDisk:ReplicatedVMManagedDisk"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`managedDisk`\" pulumi-lang-dotnet=\"`ManagedDisk`\" pulumi-lang-go=\"`managedDisk`\" pulumi-lang-python=\"`managed_disk`\" pulumi-lang-yaml=\"`managedDisk`\" pulumi-lang-java=\"`managedDisk`\"\u003e`managed_disk`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"multiVmGroupName":{"type":"string","description":"Name of group in which all machines will replicate together and have shared crash consistent and app-consistent recovery points when failed over.\n"},"name":{"type":"string","description":"The name of the replication for the replicated VM. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"networkInterfaces":{"type":"array","items":{"$ref":"#/types/azure:siterecovery/ReplicatedVMNetworkInterface:ReplicatedVMNetworkInterface"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`networkInterface`\" pulumi-lang-dotnet=\"`NetworkInterface`\" pulumi-lang-go=\"`networkInterface`\" pulumi-lang-python=\"`network_interface`\" pulumi-lang-yaml=\"`networkInterface`\" pulumi-lang-java=\"`networkInterface`\"\u003e`network_interface`\u003c/span\u003e block as defined below.\n"},"recoveryReplicationPolicyId":{"type":"string","description":"Id of the policy to use for this replicated vm. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"recoveryVaultName":{"type":"string","description":"The name of the vault that should be updated. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"Name of the resource group where the vault that should be updated is located. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sourceRecoveryFabricName":{"type":"string","description":"Name of fabric that should contain this replication. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sourceRecoveryProtectionContainerName":{"type":"string","description":"Name of the protection container to use. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sourceVmId":{"type":"string","description":"Id of the VM to replicate Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"targetAvailabilitySetId":{"type":"string","description":"Id of availability set that the new VM should belong to when a failover is done.\n"},"targetBootDiagnosticStorageAccountId":{"type":"string","description":"Id of the storage account which the new VM should used for boot diagnostic when a failover is done.\n"},"targetCapacityReservationGroupId":{"type":"string","description":"Id of the Capacity reservation group where the new VM should belong to when a failover is done.\n"},"targetEdgeZone":{"type":"string","description":"Specifies the Edge Zone within the Azure Region where this Managed Kubernetes Cluster should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"targetNetworkId":{"type":"string","description":"Network to use when a failover is done (recommended to set if any\u003cspan pulumi-lang-nodejs=\" networkInterface \" pulumi-lang-dotnet=\" NetworkInterface \" pulumi-lang-go=\" networkInterface \" pulumi-lang-python=\" network_interface \" pulumi-lang-yaml=\" networkInterface \" pulumi-lang-java=\" networkInterface \"\u003e network_interface \u003c/span\u003eis configured for failover).\n"},"targetProximityPlacementGroupId":{"type":"string","description":"Id of Proximity Placement Group the new VM should belong to when a failover is done.\n"},"targetRecoveryFabricId":{"type":"string","description":"Id of fabric where the VM replication should be handled when a failover is done. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"targetRecoveryProtectionContainerId":{"type":"string","description":"Id of protection container where the VM replication should be created when a failover is done. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"targetResourceGroupId":{"type":"string","description":"Id of resource group where the VM should be created when a failover is done. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"targetVirtualMachineScaleSetId":{"type":"string","description":"Id of the Virtual Machine Scale Set which the new Vm should belong to when a failover is done.\n"},"targetVirtualMachineSize":{"type":"string","description":"Specifies the size the Virtual Machine should have.\n"},"targetZone":{"type":"string","description":"Specifies the Availability Zone where the Failover VM should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"testNetworkId":{"type":"string","description":"Network to use when a test failover is done.\n"},"unmanagedDisks":{"type":"array","items":{"$ref":"#/types/azure:siterecovery/ReplicatedVMUnmanagedDisk:ReplicatedVMUnmanagedDisk"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`unmanagedDisk`\" pulumi-lang-dotnet=\"`UnmanagedDisk`\" pulumi-lang-go=\"`unmanagedDisk`\" pulumi-lang-python=\"`unmanaged_disk`\" pulumi-lang-yaml=\"`unmanagedDisk`\" pulumi-lang-java=\"`unmanagedDisk`\"\u003e`unmanaged_disk`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:siterecovery/replicationPolicy:ReplicationPolicy":{"description":"Manages a Azure Site Recovery replication policy within a recovery vault. Replication policies define the frequency at which recovery points are created and how long they are stored.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"tfex-network-mapping-secondary\",\n    location: \"East US\",\n});\nconst vault = new azure.recoveryservices.Vault(\"vault\", {\n    name: \"example-recovery-vault\",\n    location: example.location,\n    resourceGroupName: example.name,\n    sku: \"Standard\",\n});\nconst policy = new azure.siterecovery.ReplicationPolicy(\"policy\", {\n    name: \"policy\",\n    resourceGroupName: example.name,\n    recoveryVaultName: vault.name,\n    recoveryPointRetentionInMinutes: 24 * 60,\n    applicationConsistentSnapshotFrequencyInMinutes: 4 * 60,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"tfex-network-mapping-secondary\",\n    location=\"East US\")\nvault = azure.recoveryservices.Vault(\"vault\",\n    name=\"example-recovery-vault\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku=\"Standard\")\npolicy = azure.siterecovery.ReplicationPolicy(\"policy\",\n    name=\"policy\",\n    resource_group_name=example.name,\n    recovery_vault_name=vault.name,\n    recovery_point_retention_in_minutes=24 * 60,\n    application_consistent_snapshot_frequency_in_minutes=4 * 60)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"tfex-network-mapping-secondary\",\n        Location = \"East US\",\n    });\n\n    var vault = new Azure.RecoveryServices.Vault(\"vault\", new()\n    {\n        Name = \"example-recovery-vault\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Sku = \"Standard\",\n    });\n\n    var policy = new Azure.SiteRecovery.ReplicationPolicy(\"policy\", new()\n    {\n        Name = \"policy\",\n        ResourceGroupName = example.Name,\n        RecoveryVaultName = vault.Name,\n        RecoveryPointRetentionInMinutes = 24 * 60,\n        ApplicationConsistentSnapshotFrequencyInMinutes = 4 * 60,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/recoveryservices\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/siterecovery\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"tfex-network-mapping-secondary\"),\n\t\t\tLocation: pulumi.String(\"East US\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvault, err := recoveryservices.NewVault(ctx, \"vault\", \u0026recoveryservices.VaultArgs{\n\t\t\tName:              pulumi.String(\"example-recovery-vault\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSku:               pulumi.String(\"Standard\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = siterecovery.NewReplicationPolicy(ctx, \"policy\", \u0026siterecovery.ReplicationPolicyArgs{\n\t\t\tName:                            pulumi.String(\"policy\"),\n\t\t\tResourceGroupName:               example.Name,\n\t\t\tRecoveryVaultName:               vault.Name,\n\t\t\tRecoveryPointRetentionInMinutes: int(24 * 60),\n\t\t\tApplicationConsistentSnapshotFrequencyInMinutes: int(4 * 60),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.recoveryservices.Vault;\nimport com.pulumi.azure.recoveryservices.VaultArgs;\nimport com.pulumi.azure.siterecovery.ReplicationPolicy;\nimport com.pulumi.azure.siterecovery.ReplicationPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"tfex-network-mapping-secondary\")\n            .location(\"East US\")\n            .build());\n\n        var vault = new Vault(\"vault\", VaultArgs.builder()\n            .name(\"example-recovery-vault\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .sku(\"Standard\")\n            .build());\n\n        var policy = new ReplicationPolicy(\"policy\", ReplicationPolicyArgs.builder()\n            .name(\"policy\")\n            .resourceGroupName(example.name())\n            .recoveryVaultName(vault.name())\n            .recoveryPointRetentionInMinutes(24 * 60)\n            .applicationConsistentSnapshotFrequencyInMinutes(4 * 60)\n            .build());\n\n    }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.RecoveryServices` - 2024-04-01\n\n## Import\n\nSite Recovery Replication Policies can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:siterecovery/replicationPolicy:ReplicationPolicy mypolicy /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resource-group-name/providers/Microsoft.RecoveryServices/vaults/recovery-vault-name/replicationPolicies/policy-name\n```\n\n","properties":{"applicationConsistentSnapshotFrequencyInMinutes":{"type":"integer","description":"Specifies the frequency(in minutes) at which to create application consistent recovery points.\n\n\u003e **Note:** The value of \u003cspan pulumi-lang-nodejs=\"`applicationConsistentSnapshotFrequencyInMinutes`\" pulumi-lang-dotnet=\"`ApplicationConsistentSnapshotFrequencyInMinutes`\" pulumi-lang-go=\"`applicationConsistentSnapshotFrequencyInMinutes`\" pulumi-lang-python=\"`application_consistent_snapshot_frequency_in_minutes`\" pulumi-lang-yaml=\"`applicationConsistentSnapshotFrequencyInMinutes`\" pulumi-lang-java=\"`applicationConsistentSnapshotFrequencyInMinutes`\"\u003e`application_consistent_snapshot_frequency_in_minutes`\u003c/span\u003e must be less than or equal to the value of \u003cspan pulumi-lang-nodejs=\"`recoveryPointRetentionInMinutes`\" pulumi-lang-dotnet=\"`RecoveryPointRetentionInMinutes`\" pulumi-lang-go=\"`recoveryPointRetentionInMinutes`\" pulumi-lang-python=\"`recovery_point_retention_in_minutes`\" pulumi-lang-yaml=\"`recoveryPointRetentionInMinutes`\" pulumi-lang-java=\"`recoveryPointRetentionInMinutes`\"\u003e`recovery_point_retention_in_minutes`\u003c/span\u003e.\n"},"name":{"type":"string","description":"The name of the replication policy. Changing this forces a new resource to be created.\n"},"recoveryPointRetentionInMinutes":{"type":"integer","description":"The duration in minutes for which the recovery points need to be stored.\n"},"recoveryVaultName":{"type":"string","description":"The name of the vault that should be updated. Changing this forces a new resource to be created.\n"},"resourceGroupName":{"type":"string","description":"Name of the resource group where the vault that should be updated is located. Changing this forces a new resource to be created.\n"}},"required":["applicationConsistentSnapshotFrequencyInMinutes","name","recoveryPointRetentionInMinutes","recoveryVaultName","resourceGroupName"],"inputProperties":{"applicationConsistentSnapshotFrequencyInMinutes":{"type":"integer","description":"Specifies the frequency(in minutes) at which to create application consistent recovery points.\n\n\u003e **Note:** The value of \u003cspan pulumi-lang-nodejs=\"`applicationConsistentSnapshotFrequencyInMinutes`\" pulumi-lang-dotnet=\"`ApplicationConsistentSnapshotFrequencyInMinutes`\" pulumi-lang-go=\"`applicationConsistentSnapshotFrequencyInMinutes`\" pulumi-lang-python=\"`application_consistent_snapshot_frequency_in_minutes`\" pulumi-lang-yaml=\"`applicationConsistentSnapshotFrequencyInMinutes`\" pulumi-lang-java=\"`applicationConsistentSnapshotFrequencyInMinutes`\"\u003e`application_consistent_snapshot_frequency_in_minutes`\u003c/span\u003e must be less than or equal to the value of \u003cspan pulumi-lang-nodejs=\"`recoveryPointRetentionInMinutes`\" pulumi-lang-dotnet=\"`RecoveryPointRetentionInMinutes`\" pulumi-lang-go=\"`recoveryPointRetentionInMinutes`\" pulumi-lang-python=\"`recovery_point_retention_in_minutes`\" pulumi-lang-yaml=\"`recoveryPointRetentionInMinutes`\" pulumi-lang-java=\"`recoveryPointRetentionInMinutes`\"\u003e`recovery_point_retention_in_minutes`\u003c/span\u003e.\n"},"name":{"type":"string","description":"The name of the replication policy. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"recoveryPointRetentionInMinutes":{"type":"integer","description":"The duration in minutes for which the recovery points need to be stored.\n"},"recoveryVaultName":{"type":"string","description":"The name of the vault that should be updated. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"Name of the resource group where the vault that should be updated is located. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["applicationConsistentSnapshotFrequencyInMinutes","recoveryPointRetentionInMinutes","recoveryVaultName","resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering ReplicationPolicy resources.\n","properties":{"applicationConsistentSnapshotFrequencyInMinutes":{"type":"integer","description":"Specifies the frequency(in minutes) at which to create application consistent recovery points.\n\n\u003e **Note:** The value of \u003cspan pulumi-lang-nodejs=\"`applicationConsistentSnapshotFrequencyInMinutes`\" pulumi-lang-dotnet=\"`ApplicationConsistentSnapshotFrequencyInMinutes`\" pulumi-lang-go=\"`applicationConsistentSnapshotFrequencyInMinutes`\" pulumi-lang-python=\"`application_consistent_snapshot_frequency_in_minutes`\" pulumi-lang-yaml=\"`applicationConsistentSnapshotFrequencyInMinutes`\" pulumi-lang-java=\"`applicationConsistentSnapshotFrequencyInMinutes`\"\u003e`application_consistent_snapshot_frequency_in_minutes`\u003c/span\u003e must be less than or equal to the value of \u003cspan pulumi-lang-nodejs=\"`recoveryPointRetentionInMinutes`\" pulumi-lang-dotnet=\"`RecoveryPointRetentionInMinutes`\" pulumi-lang-go=\"`recoveryPointRetentionInMinutes`\" pulumi-lang-python=\"`recovery_point_retention_in_minutes`\" pulumi-lang-yaml=\"`recoveryPointRetentionInMinutes`\" pulumi-lang-java=\"`recoveryPointRetentionInMinutes`\"\u003e`recovery_point_retention_in_minutes`\u003c/span\u003e.\n"},"name":{"type":"string","description":"The name of the replication policy. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"recoveryPointRetentionInMinutes":{"type":"integer","description":"The duration in minutes for which the recovery points need to be stored.\n"},"recoveryVaultName":{"type":"string","description":"The name of the vault that should be updated. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"Name of the resource group where the vault that should be updated is located. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:siterecovery/replicationRecoveryPlan:ReplicationRecoveryPlan":{"description":"Manages a Site Recovery Replication Recovery Plan within a Recovery Services vault. A recovery plan gathers machines into recovery groups for the purpose of failover.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst primary = new azure.core.ResourceGroup(\"primary\", {\n    name: \"tfex-replicated-vm-primary\",\n    location: \"West US\",\n});\nconst secondary = new azure.core.ResourceGroup(\"secondary\", {\n    name: \"tfex-replicated-vm-secondary\",\n    location: \"East US\",\n});\nconst primaryVirtualNetwork = new azure.network.VirtualNetwork(\"primary\", {\n    name: \"network1\",\n    resourceGroupName: primary.name,\n    addressSpaces: [\"192.168.1.0/24\"],\n    location: primary.location,\n});\nconst primarySubnet = new azure.network.Subnet(\"primary\", {\n    name: \"network1-subnet\",\n    resourceGroupName: primary.name,\n    virtualNetworkName: primaryVirtualNetwork.name,\n    addressPrefixes: [\"192.168.1.0/24\"],\n});\nconst primaryPublicIp = new azure.network.PublicIp(\"primary\", {\n    name: \"vm-public-ip-primary\",\n    allocationMethod: \"Static\",\n    location: primary.location,\n    resourceGroupName: primary.name,\n    sku: \"Basic\",\n});\nconst vmNetworkInterface = new azure.network.NetworkInterface(\"vm\", {\n    name: \"vm-nic\",\n    location: primary.location,\n    resourceGroupName: primary.name,\n    ipConfigurations: [{\n        name: \"vm\",\n        subnetId: primarySubnet.id,\n        privateIpAddressAllocation: \"Dynamic\",\n        publicIpAddressId: primaryPublicIp.id,\n    }],\n});\nconst vm = new azure.compute.VirtualMachine(\"vm\", {\n    name: \"vm\",\n    location: primary.location,\n    resourceGroupName: primary.name,\n    vmSize: \"Standard_B1s\",\n    networkInterfaceIds: [vmNetworkInterface.id],\n    storageImageReference: {\n        publisher: \"Canonical\",\n        offer: \"0001-com-ubuntu-server-jammy\",\n        sku: \"22_04-lts\",\n        version: \"latest\",\n    },\n    storageOsDisk: {\n        name: \"vm-os-disk\",\n        osType: \"Linux\",\n        caching: \"ReadWrite\",\n        createOption: \"FromImage\",\n        managedDiskType: \"Premium_LRS\",\n    },\n    osProfile: {\n        adminUsername: \"test-admin-123\",\n        adminPassword: \"test-pwd-123\",\n        computerName: \"vm\",\n    },\n    osProfileLinuxConfig: {\n        disablePasswordAuthentication: false,\n    },\n});\nconst vault = new azure.recoveryservices.Vault(\"vault\", {\n    name: \"example-recovery-vault\",\n    location: secondary.location,\n    resourceGroupName: secondary.name,\n    sku: \"Standard\",\n});\nconst primaryFabric = new azure.siterecovery.Fabric(\"primary\", {\n    name: \"primary-fabric\",\n    resourceGroupName: secondary.name,\n    recoveryVaultName: vault.name,\n    location: primary.location,\n});\nconst secondaryFabric = new azure.siterecovery.Fabric(\"secondary\", {\n    name: \"secondary-fabric\",\n    resourceGroupName: secondary.name,\n    recoveryVaultName: vault.name,\n    location: secondary.location,\n});\nconst primaryProtectionContainer = new azure.siterecovery.ProtectionContainer(\"primary\", {\n    name: \"primary-protection-container\",\n    resourceGroupName: secondary.name,\n    recoveryVaultName: vault.name,\n    recoveryFabricName: primaryFabric.name,\n});\nconst secondaryProtectionContainer = new azure.siterecovery.ProtectionContainer(\"secondary\", {\n    name: \"secondary-protection-container\",\n    resourceGroupName: secondary.name,\n    recoveryVaultName: vault.name,\n    recoveryFabricName: secondaryFabric.name,\n});\nconst policy = new azure.siterecovery.ReplicationPolicy(\"policy\", {\n    name: \"policy\",\n    resourceGroupName: secondary.name,\n    recoveryVaultName: vault.name,\n    recoveryPointRetentionInMinutes: 24 * 60,\n    applicationConsistentSnapshotFrequencyInMinutes: 4 * 60,\n});\nconst container_mapping = new azure.siterecovery.ProtectionContainerMapping(\"container-mapping\", {\n    name: \"container-mapping\",\n    resourceGroupName: secondary.name,\n    recoveryVaultName: vault.name,\n    recoveryFabricName: primaryFabric.name,\n    recoverySourceProtectionContainerName: primaryProtectionContainer.name,\n    recoveryTargetProtectionContainerId: secondaryProtectionContainer.id,\n    recoveryReplicationPolicyId: policy.id,\n});\nconst secondaryVirtualNetwork = new azure.network.VirtualNetwork(\"secondary\", {\n    name: \"network2\",\n    resourceGroupName: secondary.name,\n    addressSpaces: [\"192.168.2.0/24\"],\n    location: secondary.location,\n});\nconst network_mapping = new azure.siterecovery.NetworkMapping(\"network-mapping\", {\n    name: \"network-mapping\",\n    resourceGroupName: secondary.name,\n    recoveryVaultName: vault.name,\n    sourceRecoveryFabricName: primaryFabric.name,\n    targetRecoveryFabricName: secondaryFabric.name,\n    sourceNetworkId: primaryVirtualNetwork.id,\n    targetNetworkId: secondaryVirtualNetwork.id,\n});\nconst primaryAccount = new azure.storage.Account(\"primary\", {\n    name: \"primaryrecoverycache\",\n    location: primary.location,\n    resourceGroupName: primary.name,\n    accountTier: \"Standard\",\n    accountReplicationType: \"LRS\",\n});\nconst secondarySubnet = new azure.network.Subnet(\"secondary\", {\n    name: \"network2-subnet\",\n    resourceGroupName: secondary.name,\n    virtualNetworkName: secondaryVirtualNetwork.name,\n    addressPrefixes: [\"192.168.2.0/24\"],\n});\nconst secondaryPublicIp = new azure.network.PublicIp(\"secondary\", {\n    name: \"vm-public-ip-secondary\",\n    allocationMethod: \"Static\",\n    location: secondary.location,\n    resourceGroupName: secondary.name,\n    sku: \"Basic\",\n});\nconst vm_replication = new azure.siterecovery.ReplicatedVM(\"vm-replication\", {\n    name: \"vm-replication\",\n    resourceGroupName: secondary.name,\n    recoveryVaultName: vault.name,\n    sourceRecoveryFabricName: primaryFabric.name,\n    sourceVmId: vm.id,\n    recoveryReplicationPolicyId: policy.id,\n    sourceRecoveryProtectionContainerName: primaryProtectionContainer.name,\n    targetResourceGroupId: secondary.id,\n    targetRecoveryFabricId: secondaryFabric.id,\n    targetRecoveryProtectionContainerId: secondaryProtectionContainer.id,\n    managedDisks: [{\n        diskId: vm.storageOsDisk.apply(storageOsDisk =\u003e storageOsDisk.managedDiskId),\n        stagingStorageAccountId: primaryAccount.id,\n        targetResourceGroupId: secondary.id,\n        targetDiskType: \"Premium_LRS\",\n        targetReplicaDiskType: \"Premium_LRS\",\n    }],\n    networkInterfaces: [{\n        sourceNetworkInterfaceId: vmNetworkInterface.id,\n        targetSubnetName: secondarySubnet.name,\n        recoveryPublicIpAddressId: secondaryPublicIp.id,\n    }],\n}, {\n    dependsOn: [\n        container_mapping,\n        network_mapping,\n    ],\n});\nconst example = new azure.siterecovery.ReplicationRecoveryPlan(\"example\", {\n    name: \"example-recover-plan\",\n    recoveryVaultId: vault.id,\n    sourceRecoveryFabricId: primaryFabric.id,\n    targetRecoveryFabricId: secondaryFabric.id,\n    shutdownRecoveryGroup: {},\n    failoverRecoveryGroup: {},\n    bootRecoveryGroups: [{\n        replicatedProtectedItems: [vm_replication.id],\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nprimary = azure.core.ResourceGroup(\"primary\",\n    name=\"tfex-replicated-vm-primary\",\n    location=\"West US\")\nsecondary = azure.core.ResourceGroup(\"secondary\",\n    name=\"tfex-replicated-vm-secondary\",\n    location=\"East US\")\nprimary_virtual_network = azure.network.VirtualNetwork(\"primary\",\n    name=\"network1\",\n    resource_group_name=primary.name,\n    address_spaces=[\"192.168.1.0/24\"],\n    location=primary.location)\nprimary_subnet = azure.network.Subnet(\"primary\",\n    name=\"network1-subnet\",\n    resource_group_name=primary.name,\n    virtual_network_name=primary_virtual_network.name,\n    address_prefixes=[\"192.168.1.0/24\"])\nprimary_public_ip = azure.network.PublicIp(\"primary\",\n    name=\"vm-public-ip-primary\",\n    allocation_method=\"Static\",\n    location=primary.location,\n    resource_group_name=primary.name,\n    sku=\"Basic\")\nvm_network_interface = azure.network.NetworkInterface(\"vm\",\n    name=\"vm-nic\",\n    location=primary.location,\n    resource_group_name=primary.name,\n    ip_configurations=[{\n        \"name\": \"vm\",\n        \"subnet_id\": primary_subnet.id,\n        \"private_ip_address_allocation\": \"Dynamic\",\n        \"public_ip_address_id\": primary_public_ip.id,\n    }])\nvm = azure.compute.VirtualMachine(\"vm\",\n    name=\"vm\",\n    location=primary.location,\n    resource_group_name=primary.name,\n    vm_size=\"Standard_B1s\",\n    network_interface_ids=[vm_network_interface.id],\n    storage_image_reference={\n        \"publisher\": \"Canonical\",\n        \"offer\": \"0001-com-ubuntu-server-jammy\",\n        \"sku\": \"22_04-lts\",\n        \"version\": \"latest\",\n    },\n    storage_os_disk={\n        \"name\": \"vm-os-disk\",\n        \"os_type\": \"Linux\",\n        \"caching\": \"ReadWrite\",\n        \"create_option\": \"FromImage\",\n        \"managed_disk_type\": \"Premium_LRS\",\n    },\n    os_profile={\n        \"admin_username\": \"test-admin-123\",\n        \"admin_password\": \"test-pwd-123\",\n        \"computer_name\": \"vm\",\n    },\n    os_profile_linux_config={\n        \"disable_password_authentication\": False,\n    })\nvault = azure.recoveryservices.Vault(\"vault\",\n    name=\"example-recovery-vault\",\n    location=secondary.location,\n    resource_group_name=secondary.name,\n    sku=\"Standard\")\nprimary_fabric = azure.siterecovery.Fabric(\"primary\",\n    name=\"primary-fabric\",\n    resource_group_name=secondary.name,\n    recovery_vault_name=vault.name,\n    location=primary.location)\nsecondary_fabric = azure.siterecovery.Fabric(\"secondary\",\n    name=\"secondary-fabric\",\n    resource_group_name=secondary.name,\n    recovery_vault_name=vault.name,\n    location=secondary.location)\nprimary_protection_container = azure.siterecovery.ProtectionContainer(\"primary\",\n    name=\"primary-protection-container\",\n    resource_group_name=secondary.name,\n    recovery_vault_name=vault.name,\n    recovery_fabric_name=primary_fabric.name)\nsecondary_protection_container = azure.siterecovery.ProtectionContainer(\"secondary\",\n    name=\"secondary-protection-container\",\n    resource_group_name=secondary.name,\n    recovery_vault_name=vault.name,\n    recovery_fabric_name=secondary_fabric.name)\npolicy = azure.siterecovery.ReplicationPolicy(\"policy\",\n    name=\"policy\",\n    resource_group_name=secondary.name,\n    recovery_vault_name=vault.name,\n    recovery_point_retention_in_minutes=24 * 60,\n    application_consistent_snapshot_frequency_in_minutes=4 * 60)\ncontainer_mapping = azure.siterecovery.ProtectionContainerMapping(\"container-mapping\",\n    name=\"container-mapping\",\n    resource_group_name=secondary.name,\n    recovery_vault_name=vault.name,\n    recovery_fabric_name=primary_fabric.name,\n    recovery_source_protection_container_name=primary_protection_container.name,\n    recovery_target_protection_container_id=secondary_protection_container.id,\n    recovery_replication_policy_id=policy.id)\nsecondary_virtual_network = azure.network.VirtualNetwork(\"secondary\",\n    name=\"network2\",\n    resource_group_name=secondary.name,\n    address_spaces=[\"192.168.2.0/24\"],\n    location=secondary.location)\nnetwork_mapping = azure.siterecovery.NetworkMapping(\"network-mapping\",\n    name=\"network-mapping\",\n    resource_group_name=secondary.name,\n    recovery_vault_name=vault.name,\n    source_recovery_fabric_name=primary_fabric.name,\n    target_recovery_fabric_name=secondary_fabric.name,\n    source_network_id=primary_virtual_network.id,\n    target_network_id=secondary_virtual_network.id)\nprimary_account = azure.storage.Account(\"primary\",\n    name=\"primaryrecoverycache\",\n    location=primary.location,\n    resource_group_name=primary.name,\n    account_tier=\"Standard\",\n    account_replication_type=\"LRS\")\nsecondary_subnet = azure.network.Subnet(\"secondary\",\n    name=\"network2-subnet\",\n    resource_group_name=secondary.name,\n    virtual_network_name=secondary_virtual_network.name,\n    address_prefixes=[\"192.168.2.0/24\"])\nsecondary_public_ip = azure.network.PublicIp(\"secondary\",\n    name=\"vm-public-ip-secondary\",\n    allocation_method=\"Static\",\n    location=secondary.location,\n    resource_group_name=secondary.name,\n    sku=\"Basic\")\nvm_replication = azure.siterecovery.ReplicatedVM(\"vm-replication\",\n    name=\"vm-replication\",\n    resource_group_name=secondary.name,\n    recovery_vault_name=vault.name,\n    source_recovery_fabric_name=primary_fabric.name,\n    source_vm_id=vm.id,\n    recovery_replication_policy_id=policy.id,\n    source_recovery_protection_container_name=primary_protection_container.name,\n    target_resource_group_id=secondary.id,\n    target_recovery_fabric_id=secondary_fabric.id,\n    target_recovery_protection_container_id=secondary_protection_container.id,\n    managed_disks=[{\n        \"disk_id\": vm.storage_os_disk.managed_disk_id,\n        \"staging_storage_account_id\": primary_account.id,\n        \"target_resource_group_id\": secondary.id,\n        \"target_disk_type\": \"Premium_LRS\",\n        \"target_replica_disk_type\": \"Premium_LRS\",\n    }],\n    network_interfaces=[{\n        \"source_network_interface_id\": vm_network_interface.id,\n        \"target_subnet_name\": secondary_subnet.name,\n        \"recovery_public_ip_address_id\": secondary_public_ip.id,\n    }],\n    opts = pulumi.ResourceOptions(depends_on=[\n            container_mapping,\n            network_mapping,\n        ]))\nexample = azure.siterecovery.ReplicationRecoveryPlan(\"example\",\n    name=\"example-recover-plan\",\n    recovery_vault_id=vault.id,\n    source_recovery_fabric_id=primary_fabric.id,\n    target_recovery_fabric_id=secondary_fabric.id,\n    shutdown_recovery_group={},\n    failover_recovery_group={},\n    boot_recovery_groups=[{\n        \"replicated_protected_items\": [vm_replication.id],\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var primary = new Azure.Core.ResourceGroup(\"primary\", new()\n    {\n        Name = \"tfex-replicated-vm-primary\",\n        Location = \"West US\",\n    });\n\n    var secondary = new Azure.Core.ResourceGroup(\"secondary\", new()\n    {\n        Name = \"tfex-replicated-vm-secondary\",\n        Location = \"East US\",\n    });\n\n    var primaryVirtualNetwork = new Azure.Network.VirtualNetwork(\"primary\", new()\n    {\n        Name = \"network1\",\n        ResourceGroupName = primary.Name,\n        AddressSpaces = new[]\n        {\n            \"192.168.1.0/24\",\n        },\n        Location = primary.Location,\n    });\n\n    var primarySubnet = new Azure.Network.Subnet(\"primary\", new()\n    {\n        Name = \"network1-subnet\",\n        ResourceGroupName = primary.Name,\n        VirtualNetworkName = primaryVirtualNetwork.Name,\n        AddressPrefixes = new[]\n        {\n            \"192.168.1.0/24\",\n        },\n    });\n\n    var primaryPublicIp = new Azure.Network.PublicIp(\"primary\", new()\n    {\n        Name = \"vm-public-ip-primary\",\n        AllocationMethod = \"Static\",\n        Location = primary.Location,\n        ResourceGroupName = primary.Name,\n        Sku = \"Basic\",\n    });\n\n    var vmNetworkInterface = new Azure.Network.NetworkInterface(\"vm\", new()\n    {\n        Name = \"vm-nic\",\n        Location = primary.Location,\n        ResourceGroupName = primary.Name,\n        IpConfigurations = new[]\n        {\n            new Azure.Network.Inputs.NetworkInterfaceIpConfigurationArgs\n            {\n                Name = \"vm\",\n                SubnetId = primarySubnet.Id,\n                PrivateIpAddressAllocation = \"Dynamic\",\n                PublicIpAddressId = primaryPublicIp.Id,\n            },\n        },\n    });\n\n    var vm = new Azure.Compute.VirtualMachine(\"vm\", new()\n    {\n        Name = \"vm\",\n        Location = primary.Location,\n        ResourceGroupName = primary.Name,\n        VmSize = \"Standard_B1s\",\n        NetworkInterfaceIds = new[]\n        {\n            vmNetworkInterface.Id,\n        },\n        StorageImageReference = new Azure.Compute.Inputs.VirtualMachineStorageImageReferenceArgs\n        {\n            Publisher = \"Canonical\",\n            Offer = \"0001-com-ubuntu-server-jammy\",\n            Sku = \"22_04-lts\",\n            Version = \"latest\",\n        },\n        StorageOsDisk = new Azure.Compute.Inputs.VirtualMachineStorageOsDiskArgs\n        {\n            Name = \"vm-os-disk\",\n            OsType = \"Linux\",\n            Caching = \"ReadWrite\",\n            CreateOption = \"FromImage\",\n            ManagedDiskType = \"Premium_LRS\",\n        },\n        OsProfile = new Azure.Compute.Inputs.VirtualMachineOsProfileArgs\n        {\n            AdminUsername = \"test-admin-123\",\n            AdminPassword = \"test-pwd-123\",\n            ComputerName = \"vm\",\n        },\n        OsProfileLinuxConfig = new Azure.Compute.Inputs.VirtualMachineOsProfileLinuxConfigArgs\n        {\n            DisablePasswordAuthentication = false,\n        },\n    });\n\n    var vault = new Azure.RecoveryServices.Vault(\"vault\", new()\n    {\n        Name = \"example-recovery-vault\",\n        Location = secondary.Location,\n        ResourceGroupName = secondary.Name,\n        Sku = \"Standard\",\n    });\n\n    var primaryFabric = new Azure.SiteRecovery.Fabric(\"primary\", new()\n    {\n        Name = \"primary-fabric\",\n        ResourceGroupName = secondary.Name,\n        RecoveryVaultName = vault.Name,\n        Location = primary.Location,\n    });\n\n    var secondaryFabric = new Azure.SiteRecovery.Fabric(\"secondary\", new()\n    {\n        Name = \"secondary-fabric\",\n        ResourceGroupName = secondary.Name,\n        RecoveryVaultName = vault.Name,\n        Location = secondary.Location,\n    });\n\n    var primaryProtectionContainer = new Azure.SiteRecovery.ProtectionContainer(\"primary\", new()\n    {\n        Name = \"primary-protection-container\",\n        ResourceGroupName = secondary.Name,\n        RecoveryVaultName = vault.Name,\n        RecoveryFabricName = primaryFabric.Name,\n    });\n\n    var secondaryProtectionContainer = new Azure.SiteRecovery.ProtectionContainer(\"secondary\", new()\n    {\n        Name = \"secondary-protection-container\",\n        ResourceGroupName = secondary.Name,\n        RecoveryVaultName = vault.Name,\n        RecoveryFabricName = secondaryFabric.Name,\n    });\n\n    var policy = new Azure.SiteRecovery.ReplicationPolicy(\"policy\", new()\n    {\n        Name = \"policy\",\n        ResourceGroupName = secondary.Name,\n        RecoveryVaultName = vault.Name,\n        RecoveryPointRetentionInMinutes = 24 * 60,\n        ApplicationConsistentSnapshotFrequencyInMinutes = 4 * 60,\n    });\n\n    var container_mapping = new Azure.SiteRecovery.ProtectionContainerMapping(\"container-mapping\", new()\n    {\n        Name = \"container-mapping\",\n        ResourceGroupName = secondary.Name,\n        RecoveryVaultName = vault.Name,\n        RecoveryFabricName = primaryFabric.Name,\n        RecoverySourceProtectionContainerName = primaryProtectionContainer.Name,\n        RecoveryTargetProtectionContainerId = secondaryProtectionContainer.Id,\n        RecoveryReplicationPolicyId = policy.Id,\n    });\n\n    var secondaryVirtualNetwork = new Azure.Network.VirtualNetwork(\"secondary\", new()\n    {\n        Name = \"network2\",\n        ResourceGroupName = secondary.Name,\n        AddressSpaces = new[]\n        {\n            \"192.168.2.0/24\",\n        },\n        Location = secondary.Location,\n    });\n\n    var network_mapping = new Azure.SiteRecovery.NetworkMapping(\"network-mapping\", new()\n    {\n        Name = \"network-mapping\",\n        ResourceGroupName = secondary.Name,\n        RecoveryVaultName = vault.Name,\n        SourceRecoveryFabricName = primaryFabric.Name,\n        TargetRecoveryFabricName = secondaryFabric.Name,\n        SourceNetworkId = primaryVirtualNetwork.Id,\n        TargetNetworkId = secondaryVirtualNetwork.Id,\n    });\n\n    var primaryAccount = new Azure.Storage.Account(\"primary\", new()\n    {\n        Name = \"primaryrecoverycache\",\n        Location = primary.Location,\n        ResourceGroupName = primary.Name,\n        AccountTier = \"Standard\",\n        AccountReplicationType = \"LRS\",\n    });\n\n    var secondarySubnet = new Azure.Network.Subnet(\"secondary\", new()\n    {\n        Name = \"network2-subnet\",\n        ResourceGroupName = secondary.Name,\n        VirtualNetworkName = secondaryVirtualNetwork.Name,\n        AddressPrefixes = new[]\n        {\n            \"192.168.2.0/24\",\n        },\n    });\n\n    var secondaryPublicIp = new Azure.Network.PublicIp(\"secondary\", new()\n    {\n        Name = \"vm-public-ip-secondary\",\n        AllocationMethod = \"Static\",\n        Location = secondary.Location,\n        ResourceGroupName = secondary.Name,\n        Sku = \"Basic\",\n    });\n\n    var vm_replication = new Azure.SiteRecovery.ReplicatedVM(\"vm-replication\", new()\n    {\n        Name = \"vm-replication\",\n        ResourceGroupName = secondary.Name,\n        RecoveryVaultName = vault.Name,\n        SourceRecoveryFabricName = primaryFabric.Name,\n        SourceVmId = vm.Id,\n        RecoveryReplicationPolicyId = policy.Id,\n        SourceRecoveryProtectionContainerName = primaryProtectionContainer.Name,\n        TargetResourceGroupId = secondary.Id,\n        TargetRecoveryFabricId = secondaryFabric.Id,\n        TargetRecoveryProtectionContainerId = secondaryProtectionContainer.Id,\n        ManagedDisks = new[]\n        {\n            new Azure.SiteRecovery.Inputs.ReplicatedVMManagedDiskArgs\n            {\n                DiskId = vm.StorageOsDisk.Apply(storageOsDisk =\u003e storageOsDisk.ManagedDiskId),\n                StagingStorageAccountId = primaryAccount.Id,\n                TargetResourceGroupId = secondary.Id,\n                TargetDiskType = \"Premium_LRS\",\n                TargetReplicaDiskType = \"Premium_LRS\",\n            },\n        },\n        NetworkInterfaces = new[]\n        {\n            new Azure.SiteRecovery.Inputs.ReplicatedVMNetworkInterfaceArgs\n            {\n                SourceNetworkInterfaceId = vmNetworkInterface.Id,\n                TargetSubnetName = secondarySubnet.Name,\n                RecoveryPublicIpAddressId = secondaryPublicIp.Id,\n            },\n        },\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            container_mapping,\n            network_mapping,\n        },\n    });\n\n    var example = new Azure.SiteRecovery.ReplicationRecoveryPlan(\"example\", new()\n    {\n        Name = \"example-recover-plan\",\n        RecoveryVaultId = vault.Id,\n        SourceRecoveryFabricId = primaryFabric.Id,\n        TargetRecoveryFabricId = secondaryFabric.Id,\n        ShutdownRecoveryGroup = null,\n        FailoverRecoveryGroup = null,\n        BootRecoveryGroups = new[]\n        {\n            new Azure.SiteRecovery.Inputs.ReplicationRecoveryPlanBootRecoveryGroupArgs\n            {\n                ReplicatedProtectedItems = new[]\n                {\n                    vm_replication.Id,\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/compute\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/recoveryservices\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/siterecovery\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tprimary, err := core.NewResourceGroup(ctx, \"primary\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"tfex-replicated-vm-primary\"),\n\t\t\tLocation: pulumi.String(\"West US\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsecondary, err := core.NewResourceGroup(ctx, \"secondary\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"tfex-replicated-vm-secondary\"),\n\t\t\tLocation: pulumi.String(\"East US\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tprimaryVirtualNetwork, err := network.NewVirtualNetwork(ctx, \"primary\", \u0026network.VirtualNetworkArgs{\n\t\t\tName:              pulumi.String(\"network1\"),\n\t\t\tResourceGroupName: primary.Name,\n\t\t\tAddressSpaces: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"192.168.1.0/24\"),\n\t\t\t},\n\t\t\tLocation: primary.Location,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tprimarySubnet, err := network.NewSubnet(ctx, \"primary\", \u0026network.SubnetArgs{\n\t\t\tName:               pulumi.String(\"network1-subnet\"),\n\t\t\tResourceGroupName:  primary.Name,\n\t\t\tVirtualNetworkName: primaryVirtualNetwork.Name,\n\t\t\tAddressPrefixes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"192.168.1.0/24\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tprimaryPublicIp, err := network.NewPublicIp(ctx, \"primary\", \u0026network.PublicIpArgs{\n\t\t\tName:              pulumi.String(\"vm-public-ip-primary\"),\n\t\t\tAllocationMethod:  pulumi.String(\"Static\"),\n\t\t\tLocation:          primary.Location,\n\t\t\tResourceGroupName: primary.Name,\n\t\t\tSku:               pulumi.String(\"Basic\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvmNetworkInterface, err := network.NewNetworkInterface(ctx, \"vm\", \u0026network.NetworkInterfaceArgs{\n\t\t\tName:              pulumi.String(\"vm-nic\"),\n\t\t\tLocation:          primary.Location,\n\t\t\tResourceGroupName: primary.Name,\n\t\t\tIpConfigurations: network.NetworkInterfaceIpConfigurationArray{\n\t\t\t\t\u0026network.NetworkInterfaceIpConfigurationArgs{\n\t\t\t\t\tName:                       pulumi.String(\"vm\"),\n\t\t\t\t\tSubnetId:                   primarySubnet.ID(),\n\t\t\t\t\tPrivateIpAddressAllocation: pulumi.String(\"Dynamic\"),\n\t\t\t\t\tPublicIpAddressId:          primaryPublicIp.ID(),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvm, err := compute.NewVirtualMachine(ctx, \"vm\", \u0026compute.VirtualMachineArgs{\n\t\t\tName:              pulumi.String(\"vm\"),\n\t\t\tLocation:          primary.Location,\n\t\t\tResourceGroupName: primary.Name,\n\t\t\tVmSize:            pulumi.String(\"Standard_B1s\"),\n\t\t\tNetworkInterfaceIds: pulumi.StringArray{\n\t\t\t\tvmNetworkInterface.ID(),\n\t\t\t},\n\t\t\tStorageImageReference: \u0026compute.VirtualMachineStorageImageReferenceArgs{\n\t\t\t\tPublisher: pulumi.String(\"Canonical\"),\n\t\t\t\tOffer:     pulumi.String(\"0001-com-ubuntu-server-jammy\"),\n\t\t\t\tSku:       pulumi.String(\"22_04-lts\"),\n\t\t\t\tVersion:   pulumi.String(\"latest\"),\n\t\t\t},\n\t\t\tStorageOsDisk: \u0026compute.VirtualMachineStorageOsDiskArgs{\n\t\t\t\tName:            pulumi.String(\"vm-os-disk\"),\n\t\t\t\tOsType:          pulumi.String(\"Linux\"),\n\t\t\t\tCaching:         pulumi.String(\"ReadWrite\"),\n\t\t\t\tCreateOption:    pulumi.String(\"FromImage\"),\n\t\t\t\tManagedDiskType: pulumi.String(\"Premium_LRS\"),\n\t\t\t},\n\t\t\tOsProfile: \u0026compute.VirtualMachineOsProfileArgs{\n\t\t\t\tAdminUsername: pulumi.String(\"test-admin-123\"),\n\t\t\t\tAdminPassword: pulumi.String(\"test-pwd-123\"),\n\t\t\t\tComputerName:  pulumi.String(\"vm\"),\n\t\t\t},\n\t\t\tOsProfileLinuxConfig: \u0026compute.VirtualMachineOsProfileLinuxConfigArgs{\n\t\t\t\tDisablePasswordAuthentication: pulumi.Bool(false),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvault, err := recoveryservices.NewVault(ctx, \"vault\", \u0026recoveryservices.VaultArgs{\n\t\t\tName:              pulumi.String(\"example-recovery-vault\"),\n\t\t\tLocation:          secondary.Location,\n\t\t\tResourceGroupName: secondary.Name,\n\t\t\tSku:               pulumi.String(\"Standard\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tprimaryFabric, err := siterecovery.NewFabric(ctx, \"primary\", \u0026siterecovery.FabricArgs{\n\t\t\tName:              pulumi.String(\"primary-fabric\"),\n\t\t\tResourceGroupName: secondary.Name,\n\t\t\tRecoveryVaultName: vault.Name,\n\t\t\tLocation:          primary.Location,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsecondaryFabric, err := siterecovery.NewFabric(ctx, \"secondary\", \u0026siterecovery.FabricArgs{\n\t\t\tName:              pulumi.String(\"secondary-fabric\"),\n\t\t\tResourceGroupName: secondary.Name,\n\t\t\tRecoveryVaultName: vault.Name,\n\t\t\tLocation:          secondary.Location,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tprimaryProtectionContainer, err := siterecovery.NewProtectionContainer(ctx, \"primary\", \u0026siterecovery.ProtectionContainerArgs{\n\t\t\tName:               pulumi.String(\"primary-protection-container\"),\n\t\t\tResourceGroupName:  secondary.Name,\n\t\t\tRecoveryVaultName:  vault.Name,\n\t\t\tRecoveryFabricName: primaryFabric.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsecondaryProtectionContainer, err := siterecovery.NewProtectionContainer(ctx, \"secondary\", \u0026siterecovery.ProtectionContainerArgs{\n\t\t\tName:               pulumi.String(\"secondary-protection-container\"),\n\t\t\tResourceGroupName:  secondary.Name,\n\t\t\tRecoveryVaultName:  vault.Name,\n\t\t\tRecoveryFabricName: secondaryFabric.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tpolicy, err := siterecovery.NewReplicationPolicy(ctx, \"policy\", \u0026siterecovery.ReplicationPolicyArgs{\n\t\t\tName:                            pulumi.String(\"policy\"),\n\t\t\tResourceGroupName:               secondary.Name,\n\t\t\tRecoveryVaultName:               vault.Name,\n\t\t\tRecoveryPointRetentionInMinutes: int(24 * 60),\n\t\t\tApplicationConsistentSnapshotFrequencyInMinutes: int(4 * 60),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcontainer_mapping, err := siterecovery.NewProtectionContainerMapping(ctx, \"container-mapping\", \u0026siterecovery.ProtectionContainerMappingArgs{\n\t\t\tName:                                  pulumi.String(\"container-mapping\"),\n\t\t\tResourceGroupName:                     secondary.Name,\n\t\t\tRecoveryVaultName:                     vault.Name,\n\t\t\tRecoveryFabricName:                    primaryFabric.Name,\n\t\t\tRecoverySourceProtectionContainerName: primaryProtectionContainer.Name,\n\t\t\tRecoveryTargetProtectionContainerId:   secondaryProtectionContainer.ID(),\n\t\t\tRecoveryReplicationPolicyId:           policy.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsecondaryVirtualNetwork, err := network.NewVirtualNetwork(ctx, \"secondary\", \u0026network.VirtualNetworkArgs{\n\t\t\tName:              pulumi.String(\"network2\"),\n\t\t\tResourceGroupName: secondary.Name,\n\t\t\tAddressSpaces: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"192.168.2.0/24\"),\n\t\t\t},\n\t\t\tLocation: secondary.Location,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tnetwork_mapping, err := siterecovery.NewNetworkMapping(ctx, \"network-mapping\", \u0026siterecovery.NetworkMappingArgs{\n\t\t\tName:                     pulumi.String(\"network-mapping\"),\n\t\t\tResourceGroupName:        secondary.Name,\n\t\t\tRecoveryVaultName:        vault.Name,\n\t\t\tSourceRecoveryFabricName: primaryFabric.Name,\n\t\t\tTargetRecoveryFabricName: secondaryFabric.Name,\n\t\t\tSourceNetworkId:          primaryVirtualNetwork.ID(),\n\t\t\tTargetNetworkId:          secondaryVirtualNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tprimaryAccount, err := storage.NewAccount(ctx, \"primary\", \u0026storage.AccountArgs{\n\t\t\tName:                   pulumi.String(\"primaryrecoverycache\"),\n\t\t\tLocation:               primary.Location,\n\t\t\tResourceGroupName:      primary.Name,\n\t\t\tAccountTier:            pulumi.String(\"Standard\"),\n\t\t\tAccountReplicationType: pulumi.String(\"LRS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsecondarySubnet, err := network.NewSubnet(ctx, \"secondary\", \u0026network.SubnetArgs{\n\t\t\tName:               pulumi.String(\"network2-subnet\"),\n\t\t\tResourceGroupName:  secondary.Name,\n\t\t\tVirtualNetworkName: secondaryVirtualNetwork.Name,\n\t\t\tAddressPrefixes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"192.168.2.0/24\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsecondaryPublicIp, err := network.NewPublicIp(ctx, \"secondary\", \u0026network.PublicIpArgs{\n\t\t\tName:              pulumi.String(\"vm-public-ip-secondary\"),\n\t\t\tAllocationMethod:  pulumi.String(\"Static\"),\n\t\t\tLocation:          secondary.Location,\n\t\t\tResourceGroupName: secondary.Name,\n\t\t\tSku:               pulumi.String(\"Basic\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvm_replication, err := siterecovery.NewReplicatedVM(ctx, \"vm-replication\", \u0026siterecovery.ReplicatedVMArgs{\n\t\t\tName:                                  pulumi.String(\"vm-replication\"),\n\t\t\tResourceGroupName:                     secondary.Name,\n\t\t\tRecoveryVaultName:                     vault.Name,\n\t\t\tSourceRecoveryFabricName:              primaryFabric.Name,\n\t\t\tSourceVmId:                            vm.ID(),\n\t\t\tRecoveryReplicationPolicyId:           policy.ID(),\n\t\t\tSourceRecoveryProtectionContainerName: primaryProtectionContainer.Name,\n\t\t\tTargetResourceGroupId:                 secondary.ID(),\n\t\t\tTargetRecoveryFabricId:                secondaryFabric.ID(),\n\t\t\tTargetRecoveryProtectionContainerId:   secondaryProtectionContainer.ID(),\n\t\t\tManagedDisks: siterecovery.ReplicatedVMManagedDiskArray{\n\t\t\t\t\u0026siterecovery.ReplicatedVMManagedDiskArgs{\n\t\t\t\t\tDiskId: vm.StorageOsDisk.ApplyT(func(storageOsDisk compute.VirtualMachineStorageOsDisk) (*string, error) {\n\t\t\t\t\t\treturn \u0026storageOsDisk.ManagedDiskId, nil\n\t\t\t\t\t}).(pulumi.StringPtrOutput),\n\t\t\t\t\tStagingStorageAccountId: primaryAccount.ID(),\n\t\t\t\t\tTargetResourceGroupId:   secondary.ID(),\n\t\t\t\t\tTargetDiskType:          pulumi.String(\"Premium_LRS\"),\n\t\t\t\t\tTargetReplicaDiskType:   pulumi.String(\"Premium_LRS\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tNetworkInterfaces: siterecovery.ReplicatedVMNetworkInterfaceArray{\n\t\t\t\t\u0026siterecovery.ReplicatedVMNetworkInterfaceArgs{\n\t\t\t\t\tSourceNetworkInterfaceId:  vmNetworkInterface.ID(),\n\t\t\t\t\tTargetSubnetName:          secondarySubnet.Name,\n\t\t\t\t\tRecoveryPublicIpAddressId: secondaryPublicIp.ID(),\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tcontainer_mapping,\n\t\t\tnetwork_mapping,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = siterecovery.NewReplicationRecoveryPlan(ctx, \"example\", \u0026siterecovery.ReplicationRecoveryPlanArgs{\n\t\t\tName:                   pulumi.String(\"example-recover-plan\"),\n\t\t\tRecoveryVaultId:        vault.ID(),\n\t\t\tSourceRecoveryFabricId: primaryFabric.ID(),\n\t\t\tTargetRecoveryFabricId: secondaryFabric.ID(),\n\t\t\tShutdownRecoveryGroup:  \u0026siterecovery.ReplicationRecoveryPlanShutdownRecoveryGroupArgs{},\n\t\t\tFailoverRecoveryGroup:  \u0026siterecovery.ReplicationRecoveryPlanFailoverRecoveryGroupArgs{},\n\t\t\tBootRecoveryGroups: siterecovery.ReplicationRecoveryPlanBootRecoveryGroupArray{\n\t\t\t\t\u0026siterecovery.ReplicationRecoveryPlanBootRecoveryGroupArgs{\n\t\t\t\t\tReplicatedProtectedItems: pulumi.StringArray{\n\t\t\t\t\t\tvm_replication.ID(),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.VirtualNetwork;\nimport com.pulumi.azure.network.VirtualNetworkArgs;\nimport com.pulumi.azure.network.Subnet;\nimport com.pulumi.azure.network.SubnetArgs;\nimport com.pulumi.azure.network.PublicIp;\nimport com.pulumi.azure.network.PublicIpArgs;\nimport com.pulumi.azure.network.NetworkInterface;\nimport com.pulumi.azure.network.NetworkInterfaceArgs;\nimport com.pulumi.azure.network.inputs.NetworkInterfaceIpConfigurationArgs;\nimport com.pulumi.azure.compute.VirtualMachine;\nimport com.pulumi.azure.compute.VirtualMachineArgs;\nimport com.pulumi.azure.compute.inputs.VirtualMachineStorageImageReferenceArgs;\nimport com.pulumi.azure.compute.inputs.VirtualMachineStorageOsDiskArgs;\nimport com.pulumi.azure.compute.inputs.VirtualMachineOsProfileArgs;\nimport com.pulumi.azure.compute.inputs.VirtualMachineOsProfileLinuxConfigArgs;\nimport com.pulumi.azure.recoveryservices.Vault;\nimport com.pulumi.azure.recoveryservices.VaultArgs;\nimport com.pulumi.azure.siterecovery.Fabric;\nimport com.pulumi.azure.siterecovery.FabricArgs;\nimport com.pulumi.azure.siterecovery.ProtectionContainer;\nimport com.pulumi.azure.siterecovery.ProtectionContainerArgs;\nimport com.pulumi.azure.siterecovery.ReplicationPolicy;\nimport com.pulumi.azure.siterecovery.ReplicationPolicyArgs;\nimport com.pulumi.azure.siterecovery.ProtectionContainerMapping;\nimport com.pulumi.azure.siterecovery.ProtectionContainerMappingArgs;\nimport com.pulumi.azure.siterecovery.NetworkMapping;\nimport com.pulumi.azure.siterecovery.NetworkMappingArgs;\nimport com.pulumi.azure.storage.Account;\nimport com.pulumi.azure.storage.AccountArgs;\nimport com.pulumi.azure.siterecovery.ReplicatedVM;\nimport com.pulumi.azure.siterecovery.ReplicatedVMArgs;\nimport com.pulumi.azure.siterecovery.inputs.ReplicatedVMManagedDiskArgs;\nimport com.pulumi.azure.siterecovery.inputs.ReplicatedVMNetworkInterfaceArgs;\nimport com.pulumi.azure.siterecovery.ReplicationRecoveryPlan;\nimport com.pulumi.azure.siterecovery.ReplicationRecoveryPlanArgs;\nimport com.pulumi.azure.siterecovery.inputs.ReplicationRecoveryPlanShutdownRecoveryGroupArgs;\nimport com.pulumi.azure.siterecovery.inputs.ReplicationRecoveryPlanFailoverRecoveryGroupArgs;\nimport com.pulumi.azure.siterecovery.inputs.ReplicationRecoveryPlanBootRecoveryGroupArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var primary = new ResourceGroup(\"primary\", ResourceGroupArgs.builder()\n            .name(\"tfex-replicated-vm-primary\")\n            .location(\"West US\")\n            .build());\n\n        var secondary = new ResourceGroup(\"secondary\", ResourceGroupArgs.builder()\n            .name(\"tfex-replicated-vm-secondary\")\n            .location(\"East US\")\n            .build());\n\n        var primaryVirtualNetwork = new VirtualNetwork(\"primaryVirtualNetwork\", VirtualNetworkArgs.builder()\n            .name(\"network1\")\n            .resourceGroupName(primary.name())\n            .addressSpaces(\"192.168.1.0/24\")\n            .location(primary.location())\n            .build());\n\n        var primarySubnet = new Subnet(\"primarySubnet\", SubnetArgs.builder()\n            .name(\"network1-subnet\")\n            .resourceGroupName(primary.name())\n            .virtualNetworkName(primaryVirtualNetwork.name())\n            .addressPrefixes(\"192.168.1.0/24\")\n            .build());\n\n        var primaryPublicIp = new PublicIp(\"primaryPublicIp\", PublicIpArgs.builder()\n            .name(\"vm-public-ip-primary\")\n            .allocationMethod(\"Static\")\n            .location(primary.location())\n            .resourceGroupName(primary.name())\n            .sku(\"Basic\")\n            .build());\n\n        var vmNetworkInterface = new NetworkInterface(\"vmNetworkInterface\", NetworkInterfaceArgs.builder()\n            .name(\"vm-nic\")\n            .location(primary.location())\n            .resourceGroupName(primary.name())\n            .ipConfigurations(NetworkInterfaceIpConfigurationArgs.builder()\n                .name(\"vm\")\n                .subnetId(primarySubnet.id())\n                .privateIpAddressAllocation(\"Dynamic\")\n                .publicIpAddressId(primaryPublicIp.id())\n                .build())\n            .build());\n\n        var vm = new VirtualMachine(\"vm\", VirtualMachineArgs.builder()\n            .name(\"vm\")\n            .location(primary.location())\n            .resourceGroupName(primary.name())\n            .vmSize(\"Standard_B1s\")\n            .networkInterfaceIds(vmNetworkInterface.id())\n            .storageImageReference(VirtualMachineStorageImageReferenceArgs.builder()\n                .publisher(\"Canonical\")\n                .offer(\"0001-com-ubuntu-server-jammy\")\n                .sku(\"22_04-lts\")\n                .version(\"latest\")\n                .build())\n            .storageOsDisk(VirtualMachineStorageOsDiskArgs.builder()\n                .name(\"vm-os-disk\")\n                .osType(\"Linux\")\n                .caching(\"ReadWrite\")\n                .createOption(\"FromImage\")\n                .managedDiskType(\"Premium_LRS\")\n                .build())\n            .osProfile(VirtualMachineOsProfileArgs.builder()\n                .adminUsername(\"test-admin-123\")\n                .adminPassword(\"test-pwd-123\")\n                .computerName(\"vm\")\n                .build())\n            .osProfileLinuxConfig(VirtualMachineOsProfileLinuxConfigArgs.builder()\n                .disablePasswordAuthentication(false)\n                .build())\n            .build());\n\n        var vault = new Vault(\"vault\", VaultArgs.builder()\n            .name(\"example-recovery-vault\")\n            .location(secondary.location())\n            .resourceGroupName(secondary.name())\n            .sku(\"Standard\")\n            .build());\n\n        var primaryFabric = new Fabric(\"primaryFabric\", FabricArgs.builder()\n            .name(\"primary-fabric\")\n            .resourceGroupName(secondary.name())\n            .recoveryVaultName(vault.name())\n            .location(primary.location())\n            .build());\n\n        var secondaryFabric = new Fabric(\"secondaryFabric\", FabricArgs.builder()\n            .name(\"secondary-fabric\")\n            .resourceGroupName(secondary.name())\n            .recoveryVaultName(vault.name())\n            .location(secondary.location())\n            .build());\n\n        var primaryProtectionContainer = new ProtectionContainer(\"primaryProtectionContainer\", ProtectionContainerArgs.builder()\n            .name(\"primary-protection-container\")\n            .resourceGroupName(secondary.name())\n            .recoveryVaultName(vault.name())\n            .recoveryFabricName(primaryFabric.name())\n            .build());\n\n        var secondaryProtectionContainer = new ProtectionContainer(\"secondaryProtectionContainer\", ProtectionContainerArgs.builder()\n            .name(\"secondary-protection-container\")\n            .resourceGroupName(secondary.name())\n            .recoveryVaultName(vault.name())\n            .recoveryFabricName(secondaryFabric.name())\n            .build());\n\n        var policy = new ReplicationPolicy(\"policy\", ReplicationPolicyArgs.builder()\n            .name(\"policy\")\n            .resourceGroupName(secondary.name())\n            .recoveryVaultName(vault.name())\n            .recoveryPointRetentionInMinutes(24 * 60)\n            .applicationConsistentSnapshotFrequencyInMinutes(4 * 60)\n            .build());\n\n        var container_mapping = new ProtectionContainerMapping(\"container-mapping\", ProtectionContainerMappingArgs.builder()\n            .name(\"container-mapping\")\n            .resourceGroupName(secondary.name())\n            .recoveryVaultName(vault.name())\n            .recoveryFabricName(primaryFabric.name())\n            .recoverySourceProtectionContainerName(primaryProtectionContainer.name())\n            .recoveryTargetProtectionContainerId(secondaryProtectionContainer.id())\n            .recoveryReplicationPolicyId(policy.id())\n            .build());\n\n        var secondaryVirtualNetwork = new VirtualNetwork(\"secondaryVirtualNetwork\", VirtualNetworkArgs.builder()\n            .name(\"network2\")\n            .resourceGroupName(secondary.name())\n            .addressSpaces(\"192.168.2.0/24\")\n            .location(secondary.location())\n            .build());\n\n        var network_mapping = new NetworkMapping(\"network-mapping\", NetworkMappingArgs.builder()\n            .name(\"network-mapping\")\n            .resourceGroupName(secondary.name())\n            .recoveryVaultName(vault.name())\n            .sourceRecoveryFabricName(primaryFabric.name())\n            .targetRecoveryFabricName(secondaryFabric.name())\n            .sourceNetworkId(primaryVirtualNetwork.id())\n            .targetNetworkId(secondaryVirtualNetwork.id())\n            .build());\n\n        var primaryAccount = new Account(\"primaryAccount\", AccountArgs.builder()\n            .name(\"primaryrecoverycache\")\n            .location(primary.location())\n            .resourceGroupName(primary.name())\n            .accountTier(\"Standard\")\n            .accountReplicationType(\"LRS\")\n            .build());\n\n        var secondarySubnet = new Subnet(\"secondarySubnet\", SubnetArgs.builder()\n            .name(\"network2-subnet\")\n            .resourceGroupName(secondary.name())\n            .virtualNetworkName(secondaryVirtualNetwork.name())\n            .addressPrefixes(\"192.168.2.0/24\")\n            .build());\n\n        var secondaryPublicIp = new PublicIp(\"secondaryPublicIp\", PublicIpArgs.builder()\n            .name(\"vm-public-ip-secondary\")\n            .allocationMethod(\"Static\")\n            .location(secondary.location())\n            .resourceGroupName(secondary.name())\n            .sku(\"Basic\")\n            .build());\n\n        var vm_replication = new ReplicatedVM(\"vm-replication\", ReplicatedVMArgs.builder()\n            .name(\"vm-replication\")\n            .resourceGroupName(secondary.name())\n            .recoveryVaultName(vault.name())\n            .sourceRecoveryFabricName(primaryFabric.name())\n            .sourceVmId(vm.id())\n            .recoveryReplicationPolicyId(policy.id())\n            .sourceRecoveryProtectionContainerName(primaryProtectionContainer.name())\n            .targetResourceGroupId(secondary.id())\n            .targetRecoveryFabricId(secondaryFabric.id())\n            .targetRecoveryProtectionContainerId(secondaryProtectionContainer.id())\n            .managedDisks(ReplicatedVMManagedDiskArgs.builder()\n                .diskId(vm.storageOsDisk().applyValue(_storageOsDisk -\u003e _storageOsDisk.managedDiskId()))\n                .stagingStorageAccountId(primaryAccount.id())\n                .targetResourceGroupId(secondary.id())\n                .targetDiskType(\"Premium_LRS\")\n                .targetReplicaDiskType(\"Premium_LRS\")\n                .build())\n            .networkInterfaces(ReplicatedVMNetworkInterfaceArgs.builder()\n                .sourceNetworkInterfaceId(vmNetworkInterface.id())\n                .targetSubnetName(secondarySubnet.name())\n                .recoveryPublicIpAddressId(secondaryPublicIp.id())\n                .build())\n            .build(), CustomResourceOptions.builder()\n                .dependsOn(                \n                    container_mapping,\n                    network_mapping)\n                .build());\n\n        var example = new ReplicationRecoveryPlan(\"example\", ReplicationRecoveryPlanArgs.builder()\n            .name(\"example-recover-plan\")\n            .recoveryVaultId(vault.id())\n            .sourceRecoveryFabricId(primaryFabric.id())\n            .targetRecoveryFabricId(secondaryFabric.id())\n            .shutdownRecoveryGroup(ReplicationRecoveryPlanShutdownRecoveryGroupArgs.builder()\n                .build())\n            .failoverRecoveryGroup(ReplicationRecoveryPlanFailoverRecoveryGroupArgs.builder()\n                .build())\n            .bootRecoveryGroups(ReplicationRecoveryPlanBootRecoveryGroupArgs.builder()\n                .replicatedProtectedItems(vm_replication.id())\n                .build())\n            .build());\n\n    }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.RecoveryServices` - 2024-04-01\n\n## Import\n\nSite Recovery Fabric can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:siterecovery/replicationRecoveryPlan:ReplicationRecoveryPlan example /subscriptions/00000000-0000-0000-0000-00000000000/resourceGroups/groupName/providers/Microsoft.RecoveryServices/vaults/vaultName/replicationRecoveryPlans/planName\n```\n\n","properties":{"azureToAzureSettings":{"$ref":"#/types/azure:siterecovery/ReplicationRecoveryPlanAzureToAzureSettings:ReplicationRecoveryPlanAzureToAzureSettings","description":"An \u003cspan pulumi-lang-nodejs=\"`azureToAzureSettings`\" pulumi-lang-dotnet=\"`AzureToAzureSettings`\" pulumi-lang-go=\"`azureToAzureSettings`\" pulumi-lang-python=\"`azure_to_azure_settings`\" pulumi-lang-yaml=\"`azureToAzureSettings`\" pulumi-lang-java=\"`azureToAzureSettings`\"\u003e`azure_to_azure_settings`\u003c/span\u003e block as defined below.\n"},"bootRecoveryGroups":{"type":"array","items":{"$ref":"#/types/azure:siterecovery/ReplicationRecoveryPlanBootRecoveryGroup:ReplicationRecoveryPlanBootRecoveryGroup"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`bootRecoveryGroup`\" pulumi-lang-dotnet=\"`BootRecoveryGroup`\" pulumi-lang-go=\"`bootRecoveryGroup`\" pulumi-lang-python=\"`boot_recovery_group`\" pulumi-lang-yaml=\"`bootRecoveryGroup`\" pulumi-lang-java=\"`bootRecoveryGroup`\"\u003e`boot_recovery_group`\u003c/span\u003e blocks as defined below.\n"},"failoverRecoveryGroup":{"$ref":"#/types/azure:siterecovery/ReplicationRecoveryPlanFailoverRecoveryGroup:ReplicationRecoveryPlanFailoverRecoveryGroup","description":"One \u003cspan pulumi-lang-nodejs=\"`failoverRecoveryGroup`\" pulumi-lang-dotnet=\"`FailoverRecoveryGroup`\" pulumi-lang-go=\"`failoverRecoveryGroup`\" pulumi-lang-python=\"`failover_recovery_group`\" pulumi-lang-yaml=\"`failoverRecoveryGroup`\" pulumi-lang-java=\"`failoverRecoveryGroup`\"\u003e`failover_recovery_group`\u003c/span\u003e block as defined below.\n"},"name":{"type":"string","description":"The name of the Replication Plan. The name can contain only letters, numbers, and hyphens. It should start with a letter and end with a letter or a number. Can be a maximum of 63 characters. Changing this forces a new resource to be created.\n"},"recoveryVaultId":{"type":"string","description":"The ID of the vault that should be updated. Changing this forces a new resource to be created.\n"},"shutdownRecoveryGroup":{"$ref":"#/types/azure:siterecovery/ReplicationRecoveryPlanShutdownRecoveryGroup:ReplicationRecoveryPlanShutdownRecoveryGroup","description":"One \u003cspan pulumi-lang-nodejs=\"`shutdownRecoveryGroup`\" pulumi-lang-dotnet=\"`ShutdownRecoveryGroup`\" pulumi-lang-go=\"`shutdownRecoveryGroup`\" pulumi-lang-python=\"`shutdown_recovery_group`\" pulumi-lang-yaml=\"`shutdownRecoveryGroup`\" pulumi-lang-java=\"`shutdownRecoveryGroup`\"\u003e`shutdown_recovery_group`\u003c/span\u003e block as defined below.\n"},"sourceRecoveryFabricId":{"type":"string","description":"ID of source fabric to be recovered from. Changing this forces a new Replication Plan to be created.\n"},"targetRecoveryFabricId":{"type":"string","description":"ID of target fabric to recover. Changing this forces a new Replication Plan to be created.\n"}},"required":["bootRecoveryGroups","failoverRecoveryGroup","name","recoveryVaultId","shutdownRecoveryGroup","sourceRecoveryFabricId","targetRecoveryFabricId"],"inputProperties":{"azureToAzureSettings":{"$ref":"#/types/azure:siterecovery/ReplicationRecoveryPlanAzureToAzureSettings:ReplicationRecoveryPlanAzureToAzureSettings","description":"An \u003cspan pulumi-lang-nodejs=\"`azureToAzureSettings`\" pulumi-lang-dotnet=\"`AzureToAzureSettings`\" pulumi-lang-go=\"`azureToAzureSettings`\" pulumi-lang-python=\"`azure_to_azure_settings`\" pulumi-lang-yaml=\"`azureToAzureSettings`\" pulumi-lang-java=\"`azureToAzureSettings`\"\u003e`azure_to_azure_settings`\u003c/span\u003e block as defined below.\n"},"bootRecoveryGroups":{"type":"array","items":{"$ref":"#/types/azure:siterecovery/ReplicationRecoveryPlanBootRecoveryGroup:ReplicationRecoveryPlanBootRecoveryGroup"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`bootRecoveryGroup`\" pulumi-lang-dotnet=\"`BootRecoveryGroup`\" pulumi-lang-go=\"`bootRecoveryGroup`\" pulumi-lang-python=\"`boot_recovery_group`\" pulumi-lang-yaml=\"`bootRecoveryGroup`\" pulumi-lang-java=\"`bootRecoveryGroup`\"\u003e`boot_recovery_group`\u003c/span\u003e blocks as defined below.\n"},"failoverRecoveryGroup":{"$ref":"#/types/azure:siterecovery/ReplicationRecoveryPlanFailoverRecoveryGroup:ReplicationRecoveryPlanFailoverRecoveryGroup","description":"One \u003cspan pulumi-lang-nodejs=\"`failoverRecoveryGroup`\" pulumi-lang-dotnet=\"`FailoverRecoveryGroup`\" pulumi-lang-go=\"`failoverRecoveryGroup`\" pulumi-lang-python=\"`failover_recovery_group`\" pulumi-lang-yaml=\"`failoverRecoveryGroup`\" pulumi-lang-java=\"`failoverRecoveryGroup`\"\u003e`failover_recovery_group`\u003c/span\u003e block as defined below.\n"},"name":{"type":"string","description":"The name of the Replication Plan. The name can contain only letters, numbers, and hyphens. It should start with a letter and end with a letter or a number. Can be a maximum of 63 characters. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"recoveryVaultId":{"type":"string","description":"The ID of the vault that should be updated. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"shutdownRecoveryGroup":{"$ref":"#/types/azure:siterecovery/ReplicationRecoveryPlanShutdownRecoveryGroup:ReplicationRecoveryPlanShutdownRecoveryGroup","description":"One \u003cspan pulumi-lang-nodejs=\"`shutdownRecoveryGroup`\" pulumi-lang-dotnet=\"`ShutdownRecoveryGroup`\" pulumi-lang-go=\"`shutdownRecoveryGroup`\" pulumi-lang-python=\"`shutdown_recovery_group`\" pulumi-lang-yaml=\"`shutdownRecoveryGroup`\" pulumi-lang-java=\"`shutdownRecoveryGroup`\"\u003e`shutdown_recovery_group`\u003c/span\u003e block as defined below.\n"},"sourceRecoveryFabricId":{"type":"string","description":"ID of source fabric to be recovered from. Changing this forces a new Replication Plan to be created.\n","willReplaceOnChanges":true},"targetRecoveryFabricId":{"type":"string","description":"ID of target fabric to recover. Changing this forces a new Replication Plan to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["bootRecoveryGroups","failoverRecoveryGroup","recoveryVaultId","shutdownRecoveryGroup","sourceRecoveryFabricId","targetRecoveryFabricId"],"stateInputs":{"description":"Input properties used for looking up and filtering ReplicationRecoveryPlan resources.\n","properties":{"azureToAzureSettings":{"$ref":"#/types/azure:siterecovery/ReplicationRecoveryPlanAzureToAzureSettings:ReplicationRecoveryPlanAzureToAzureSettings","description":"An \u003cspan pulumi-lang-nodejs=\"`azureToAzureSettings`\" pulumi-lang-dotnet=\"`AzureToAzureSettings`\" pulumi-lang-go=\"`azureToAzureSettings`\" pulumi-lang-python=\"`azure_to_azure_settings`\" pulumi-lang-yaml=\"`azureToAzureSettings`\" pulumi-lang-java=\"`azureToAzureSettings`\"\u003e`azure_to_azure_settings`\u003c/span\u003e block as defined below.\n"},"bootRecoveryGroups":{"type":"array","items":{"$ref":"#/types/azure:siterecovery/ReplicationRecoveryPlanBootRecoveryGroup:ReplicationRecoveryPlanBootRecoveryGroup"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`bootRecoveryGroup`\" pulumi-lang-dotnet=\"`BootRecoveryGroup`\" pulumi-lang-go=\"`bootRecoveryGroup`\" pulumi-lang-python=\"`boot_recovery_group`\" pulumi-lang-yaml=\"`bootRecoveryGroup`\" pulumi-lang-java=\"`bootRecoveryGroup`\"\u003e`boot_recovery_group`\u003c/span\u003e blocks as defined below.\n"},"failoverRecoveryGroup":{"$ref":"#/types/azure:siterecovery/ReplicationRecoveryPlanFailoverRecoveryGroup:ReplicationRecoveryPlanFailoverRecoveryGroup","description":"One \u003cspan pulumi-lang-nodejs=\"`failoverRecoveryGroup`\" pulumi-lang-dotnet=\"`FailoverRecoveryGroup`\" pulumi-lang-go=\"`failoverRecoveryGroup`\" pulumi-lang-python=\"`failover_recovery_group`\" pulumi-lang-yaml=\"`failoverRecoveryGroup`\" pulumi-lang-java=\"`failoverRecoveryGroup`\"\u003e`failover_recovery_group`\u003c/span\u003e block as defined below.\n"},"name":{"type":"string","description":"The name of the Replication Plan. The name can contain only letters, numbers, and hyphens. It should start with a letter and end with a letter or a number. Can be a maximum of 63 characters. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"recoveryVaultId":{"type":"string","description":"The ID of the vault that should be updated. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"shutdownRecoveryGroup":{"$ref":"#/types/azure:siterecovery/ReplicationRecoveryPlanShutdownRecoveryGroup:ReplicationRecoveryPlanShutdownRecoveryGroup","description":"One \u003cspan pulumi-lang-nodejs=\"`shutdownRecoveryGroup`\" pulumi-lang-dotnet=\"`ShutdownRecoveryGroup`\" pulumi-lang-go=\"`shutdownRecoveryGroup`\" pulumi-lang-python=\"`shutdown_recovery_group`\" pulumi-lang-yaml=\"`shutdownRecoveryGroup`\" pulumi-lang-java=\"`shutdownRecoveryGroup`\"\u003e`shutdown_recovery_group`\u003c/span\u003e block as defined below.\n"},"sourceRecoveryFabricId":{"type":"string","description":"ID of source fabric to be recovered from. Changing this forces a new Replication Plan to be created.\n","willReplaceOnChanges":true},"targetRecoveryFabricId":{"type":"string","description":"ID of target fabric to recover. Changing this forces a new Replication Plan to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:siterecovery/vMWareReplicationPolicy:VMWareReplicationPolicy":{"description":"Manages a VMWare Replication Policy.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-rg\",\n    location: \"eastus\",\n});\nconst exampleVault = new azure.recoveryservices.Vault(\"example\", {\n    name: \"example-vault\",\n    location: example.location,\n    resourceGroupName: example.name,\n    sku: \"Standard\",\n    classicVmwareReplicationEnabled: true,\n    softDeleteEnabled: false,\n});\nconst exampleVMWareReplicationPolicy = new azure.siterecovery.VMWareReplicationPolicy(\"example\", {\n    name: \"example-policy\",\n    recoveryVaultId: exampleVault.id,\n    recoveryPointRetentionInMinutes: 1440,\n    applicationConsistentSnapshotFrequencyInMinutes: 240,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-rg\",\n    location=\"eastus\")\nexample_vault = azure.recoveryservices.Vault(\"example\",\n    name=\"example-vault\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku=\"Standard\",\n    classic_vmware_replication_enabled=True,\n    soft_delete_enabled=False)\nexample_vm_ware_replication_policy = azure.siterecovery.VMWareReplicationPolicy(\"example\",\n    name=\"example-policy\",\n    recovery_vault_id=example_vault.id,\n    recovery_point_retention_in_minutes=1440,\n    application_consistent_snapshot_frequency_in_minutes=240)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-rg\",\n        Location = \"eastus\",\n    });\n\n    var exampleVault = new Azure.RecoveryServices.Vault(\"example\", new()\n    {\n        Name = \"example-vault\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Sku = \"Standard\",\n        ClassicVmwareReplicationEnabled = true,\n        SoftDeleteEnabled = false,\n    });\n\n    var exampleVMWareReplicationPolicy = new Azure.SiteRecovery.VMWareReplicationPolicy(\"example\", new()\n    {\n        Name = \"example-policy\",\n        RecoveryVaultId = exampleVault.Id,\n        RecoveryPointRetentionInMinutes = 1440,\n        ApplicationConsistentSnapshotFrequencyInMinutes = 240,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/recoveryservices\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/siterecovery\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-rg\"),\n\t\t\tLocation: pulumi.String(\"eastus\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVault, err := recoveryservices.NewVault(ctx, \"example\", \u0026recoveryservices.VaultArgs{\n\t\t\tName:                            pulumi.String(\"example-vault\"),\n\t\t\tLocation:                        example.Location,\n\t\t\tResourceGroupName:               example.Name,\n\t\t\tSku:                             pulumi.String(\"Standard\"),\n\t\t\tClassicVmwareReplicationEnabled: pulumi.Bool(true),\n\t\t\tSoftDeleteEnabled:               pulumi.Bool(false),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = siterecovery.NewVMWareReplicationPolicy(ctx, \"example\", \u0026siterecovery.VMWareReplicationPolicyArgs{\n\t\t\tName:                            pulumi.String(\"example-policy\"),\n\t\t\tRecoveryVaultId:                 exampleVault.ID(),\n\t\t\tRecoveryPointRetentionInMinutes: pulumi.Int(1440),\n\t\t\tApplicationConsistentSnapshotFrequencyInMinutes: pulumi.Int(240),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.recoveryservices.Vault;\nimport com.pulumi.azure.recoveryservices.VaultArgs;\nimport com.pulumi.azure.siterecovery.VMWareReplicationPolicy;\nimport com.pulumi.azure.siterecovery.VMWareReplicationPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-rg\")\n            .location(\"eastus\")\n            .build());\n\n        var exampleVault = new Vault(\"exampleVault\", VaultArgs.builder()\n            .name(\"example-vault\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .sku(\"Standard\")\n            .classicVmwareReplicationEnabled(true)\n            .softDeleteEnabled(false)\n            .build());\n\n        var exampleVMWareReplicationPolicy = new VMWareReplicationPolicy(\"exampleVMWareReplicationPolicy\", VMWareReplicationPolicyArgs.builder()\n            .name(\"example-policy\")\n            .recoveryVaultId(exampleVault.id())\n            .recoveryPointRetentionInMinutes(1440)\n            .applicationConsistentSnapshotFrequencyInMinutes(240)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-rg\n      location: eastus\n  exampleVault:\n    type: azure:recoveryservices:Vault\n    name: example\n    properties:\n      name: example-vault\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      sku: Standard\n      classicVmwareReplicationEnabled: true\n      softDeleteEnabled: false\n  exampleVMWareReplicationPolicy:\n    type: azure:siterecovery:VMWareReplicationPolicy\n    name: example\n    properties:\n      name: example-policy\n      recoveryVaultId: ${exampleVault.id}\n      recoveryPointRetentionInMinutes: 1440\n      applicationConsistentSnapshotFrequencyInMinutes: 240\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.RecoveryServices` - 2024-04-01\n\n## Import\n\nVMWare Replication Policy can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:siterecovery/vMWareReplicationPolicy:VMWareReplicationPolicy example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/vault1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationPolicies/policy1\n```\n\n","properties":{"applicationConsistentSnapshotFrequencyInMinutes":{"type":"integer","description":"Specifies the frequency at which to create application consistent recovery points. Must between \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`720`\" pulumi-lang-dotnet=\"`720`\" pulumi-lang-go=\"`720`\" pulumi-lang-python=\"`720`\" pulumi-lang-yaml=\"`720`\" pulumi-lang-java=\"`720`\"\u003e`720`\u003c/span\u003e.\n"},"name":{"type":"string","description":"The name which should be used for this Classic Replication Policy. Changing this forces a new Replication Policy to be created.\n"},"recoveryPointRetentionInMinutes":{"type":"integer","description":"Specifies the period up to which the recovery points will be retained. Must between \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`21600`\" pulumi-lang-dotnet=\"`21600`\" pulumi-lang-go=\"`21600`\" pulumi-lang-python=\"`21600`\" pulumi-lang-yaml=\"`21600`\" pulumi-lang-java=\"`21600`\"\u003e`21600`\u003c/span\u003e.\n"},"recoveryVaultId":{"type":"string","description":"ID of the Recovery Services Vault. Changing this forces a new Replication Policy to be created.\n"}},"required":["applicationConsistentSnapshotFrequencyInMinutes","name","recoveryPointRetentionInMinutes","recoveryVaultId"],"inputProperties":{"applicationConsistentSnapshotFrequencyInMinutes":{"type":"integer","description":"Specifies the frequency at which to create application consistent recovery points. Must between \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`720`\" pulumi-lang-dotnet=\"`720`\" pulumi-lang-go=\"`720`\" pulumi-lang-python=\"`720`\" pulumi-lang-yaml=\"`720`\" pulumi-lang-java=\"`720`\"\u003e`720`\u003c/span\u003e.\n"},"name":{"type":"string","description":"The name which should be used for this Classic Replication Policy. Changing this forces a new Replication Policy to be created.\n","willReplaceOnChanges":true},"recoveryPointRetentionInMinutes":{"type":"integer","description":"Specifies the period up to which the recovery points will be retained. Must between \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`21600`\" pulumi-lang-dotnet=\"`21600`\" pulumi-lang-go=\"`21600`\" pulumi-lang-python=\"`21600`\" pulumi-lang-yaml=\"`21600`\" pulumi-lang-java=\"`21600`\"\u003e`21600`\u003c/span\u003e.\n"},"recoveryVaultId":{"type":"string","description":"ID of the Recovery Services Vault. Changing this forces a new Replication Policy to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["applicationConsistentSnapshotFrequencyInMinutes","recoveryPointRetentionInMinutes","recoveryVaultId"],"stateInputs":{"description":"Input properties used for looking up and filtering VMWareReplicationPolicy resources.\n","properties":{"applicationConsistentSnapshotFrequencyInMinutes":{"type":"integer","description":"Specifies the frequency at which to create application consistent recovery points. Must between \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`720`\" pulumi-lang-dotnet=\"`720`\" pulumi-lang-go=\"`720`\" pulumi-lang-python=\"`720`\" pulumi-lang-yaml=\"`720`\" pulumi-lang-java=\"`720`\"\u003e`720`\u003c/span\u003e.\n"},"name":{"type":"string","description":"The name which should be used for this Classic Replication Policy. Changing this forces a new Replication Policy to be created.\n","willReplaceOnChanges":true},"recoveryPointRetentionInMinutes":{"type":"integer","description":"Specifies the period up to which the recovery points will be retained. Must between \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`21600`\" pulumi-lang-dotnet=\"`21600`\" pulumi-lang-go=\"`21600`\" pulumi-lang-python=\"`21600`\" pulumi-lang-yaml=\"`21600`\" pulumi-lang-java=\"`21600`\"\u003e`21600`\u003c/span\u003e.\n"},"recoveryVaultId":{"type":"string","description":"ID of the Recovery Services Vault. Changing this forces a new Replication Policy to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:siterecovery/vmwareReplicatedVm:VmwareReplicatedVm":{"description":"Manages a VMWare replicated VM using Azure Site Recovery (VMWare to Azure only). A replicated VM keeps a copiously updated image of the VM in Azure in order to be able to start the VM in Azure in case of a disaster.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-rg\",\n    location: \"West US\",\n});\nconst exampleVault = new azure.recoveryservices.Vault(\"example\", {\n    name: \"example-recovery-vault\",\n    location: example.location,\n    resourceGroupName: example.name,\n    sku: \"Standard\",\n});\nconst exampleVMWareReplicationPolicy = new azure.siterecovery.VMWareReplicationPolicy(\"example\", {\n    recoveryVaultId: exampleVault.id,\n    name: \"example-policy\",\n    recoveryPointRetentionInMinutes: 1440,\n    applicationConsistentSnapshotFrequencyInMinutes: 240,\n});\nconst test = new azure.siterecovery.VmwareReplicationPolicyAssociation(\"test\", {\n    name: \"example-association\",\n    recoveryVaultId: exampleVault.id,\n    policyId: exampleVMWareReplicationPolicy.id,\n});\nconst exampleAccount = new azure.storage.Account(\"example\", {\n    name: \"examplestorageacc\",\n    resourceGroupName: example.name,\n    location: example.location,\n    accountTier: \"Standard\",\n    accountKind: \"StorageV2\",\n    accountReplicationType: \"LRS\",\n});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"example\", {\n    name: \"example-net\",\n    resourceGroupName: example.name,\n    addressSpaces: [\"192.168.2.0/24\"],\n    location: example.location,\n});\nconst exampleSubnet = new azure.network.Subnet(\"example\", {\n    name: \"example-subnet\",\n    resourceGroupName: example.name,\n    virtualNetworkName: exampleVirtualNetwork.name,\n    addressPrefixes: [\"192.168.2.0/24\"],\n});\nconst exampleVmwareReplicatedVm = new azure.siterecovery.VmwareReplicatedVm(\"example\", {\n    name: \"example-vmware-vm\",\n    recoveryVaultId: exampleVault.id,\n    sourceVmName: \"example-vm\",\n    applianceName: \"example-appliance\",\n    recoveryReplicationPolicyId: exampleAzurermSiteRecoveryVmwareReplicationPolicyAssociation.policyId,\n    physicalServerCredentialName: \"example-creds\",\n    licenseType: \"NotSpecified\",\n    targetBootDiagnosticsStorageAccountId: exampleAccount.id,\n    targetVmName: \"example_replicated_vm\",\n    targetResourceGroupId: example.id,\n    defaultLogStorageAccountId: exampleAccount.id,\n    defaultRecoveryDiskType: \"Standard_LRS\",\n    targetNetworkId: exampleVirtualNetwork.id,\n    networkInterfaces: [{\n        sourceMacAddress: \"00:00:00:00:00:00\",\n        targetSubnetName: exampleSubnet.name,\n        isPrimary: true,\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-rg\",\n    location=\"West US\")\nexample_vault = azure.recoveryservices.Vault(\"example\",\n    name=\"example-recovery-vault\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku=\"Standard\")\nexample_vm_ware_replication_policy = azure.siterecovery.VMWareReplicationPolicy(\"example\",\n    recovery_vault_id=example_vault.id,\n    name=\"example-policy\",\n    recovery_point_retention_in_minutes=1440,\n    application_consistent_snapshot_frequency_in_minutes=240)\ntest = azure.siterecovery.VmwareReplicationPolicyAssociation(\"test\",\n    name=\"example-association\",\n    recovery_vault_id=example_vault.id,\n    policy_id=example_vm_ware_replication_policy.id)\nexample_account = azure.storage.Account(\"example\",\n    name=\"examplestorageacc\",\n    resource_group_name=example.name,\n    location=example.location,\n    account_tier=\"Standard\",\n    account_kind=\"StorageV2\",\n    account_replication_type=\"LRS\")\nexample_virtual_network = azure.network.VirtualNetwork(\"example\",\n    name=\"example-net\",\n    resource_group_name=example.name,\n    address_spaces=[\"192.168.2.0/24\"],\n    location=example.location)\nexample_subnet = azure.network.Subnet(\"example\",\n    name=\"example-subnet\",\n    resource_group_name=example.name,\n    virtual_network_name=example_virtual_network.name,\n    address_prefixes=[\"192.168.2.0/24\"])\nexample_vmware_replicated_vm = azure.siterecovery.VmwareReplicatedVm(\"example\",\n    name=\"example-vmware-vm\",\n    recovery_vault_id=example_vault.id,\n    source_vm_name=\"example-vm\",\n    appliance_name=\"example-appliance\",\n    recovery_replication_policy_id=example_azurerm_site_recovery_vmware_replication_policy_association[\"policyId\"],\n    physical_server_credential_name=\"example-creds\",\n    license_type=\"NotSpecified\",\n    target_boot_diagnostics_storage_account_id=example_account.id,\n    target_vm_name=\"example_replicated_vm\",\n    target_resource_group_id=example.id,\n    default_log_storage_account_id=example_account.id,\n    default_recovery_disk_type=\"Standard_LRS\",\n    target_network_id=example_virtual_network.id,\n    network_interfaces=[{\n        \"source_mac_address\": \"00:00:00:00:00:00\",\n        \"target_subnet_name\": example_subnet.name,\n        \"is_primary\": True,\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-rg\",\n        Location = \"West US\",\n    });\n\n    var exampleVault = new Azure.RecoveryServices.Vault(\"example\", new()\n    {\n        Name = \"example-recovery-vault\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Sku = \"Standard\",\n    });\n\n    var exampleVMWareReplicationPolicy = new Azure.SiteRecovery.VMWareReplicationPolicy(\"example\", new()\n    {\n        RecoveryVaultId = exampleVault.Id,\n        Name = \"example-policy\",\n        RecoveryPointRetentionInMinutes = 1440,\n        ApplicationConsistentSnapshotFrequencyInMinutes = 240,\n    });\n\n    var test = new Azure.SiteRecovery.VmwareReplicationPolicyAssociation(\"test\", new()\n    {\n        Name = \"example-association\",\n        RecoveryVaultId = exampleVault.Id,\n        PolicyId = exampleVMWareReplicationPolicy.Id,\n    });\n\n    var exampleAccount = new Azure.Storage.Account(\"example\", new()\n    {\n        Name = \"examplestorageacc\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        AccountTier = \"Standard\",\n        AccountKind = \"StorageV2\",\n        AccountReplicationType = \"LRS\",\n    });\n\n    var exampleVirtualNetwork = new Azure.Network.VirtualNetwork(\"example\", new()\n    {\n        Name = \"example-net\",\n        ResourceGroupName = example.Name,\n        AddressSpaces = new[]\n        {\n            \"192.168.2.0/24\",\n        },\n        Location = example.Location,\n    });\n\n    var exampleSubnet = new Azure.Network.Subnet(\"example\", new()\n    {\n        Name = \"example-subnet\",\n        ResourceGroupName = example.Name,\n        VirtualNetworkName = exampleVirtualNetwork.Name,\n        AddressPrefixes = new[]\n        {\n            \"192.168.2.0/24\",\n        },\n    });\n\n    var exampleVmwareReplicatedVm = new Azure.SiteRecovery.VmwareReplicatedVm(\"example\", new()\n    {\n        Name = \"example-vmware-vm\",\n        RecoveryVaultId = exampleVault.Id,\n        SourceVmName = \"example-vm\",\n        ApplianceName = \"example-appliance\",\n        RecoveryReplicationPolicyId = exampleAzurermSiteRecoveryVmwareReplicationPolicyAssociation.PolicyId,\n        PhysicalServerCredentialName = \"example-creds\",\n        LicenseType = \"NotSpecified\",\n        TargetBootDiagnosticsStorageAccountId = exampleAccount.Id,\n        TargetVmName = \"example_replicated_vm\",\n        TargetResourceGroupId = example.Id,\n        DefaultLogStorageAccountId = exampleAccount.Id,\n        DefaultRecoveryDiskType = \"Standard_LRS\",\n        TargetNetworkId = exampleVirtualNetwork.Id,\n        NetworkInterfaces = new[]\n        {\n            new Azure.SiteRecovery.Inputs.VmwareReplicatedVmNetworkInterfaceArgs\n            {\n                SourceMacAddress = \"00:00:00:00:00:00\",\n                TargetSubnetName = exampleSubnet.Name,\n                IsPrimary = true,\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/recoveryservices\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/siterecovery\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-rg\"),\n\t\t\tLocation: pulumi.String(\"West US\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVault, err := recoveryservices.NewVault(ctx, \"example\", \u0026recoveryservices.VaultArgs{\n\t\t\tName:              pulumi.String(\"example-recovery-vault\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSku:               pulumi.String(\"Standard\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVMWareReplicationPolicy, err := siterecovery.NewVMWareReplicationPolicy(ctx, \"example\", \u0026siterecovery.VMWareReplicationPolicyArgs{\n\t\t\tRecoveryVaultId:                 exampleVault.ID(),\n\t\t\tName:                            pulumi.String(\"example-policy\"),\n\t\t\tRecoveryPointRetentionInMinutes: pulumi.Int(1440),\n\t\t\tApplicationConsistentSnapshotFrequencyInMinutes: pulumi.Int(240),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = siterecovery.NewVmwareReplicationPolicyAssociation(ctx, \"test\", \u0026siterecovery.VmwareReplicationPolicyAssociationArgs{\n\t\t\tName:            pulumi.String(\"example-association\"),\n\t\t\tRecoveryVaultId: exampleVault.ID(),\n\t\t\tPolicyId:        exampleVMWareReplicationPolicy.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := storage.NewAccount(ctx, \"example\", \u0026storage.AccountArgs{\n\t\t\tName:                   pulumi.String(\"examplestorageacc\"),\n\t\t\tResourceGroupName:      example.Name,\n\t\t\tLocation:               example.Location,\n\t\t\tAccountTier:            pulumi.String(\"Standard\"),\n\t\t\tAccountKind:            pulumi.String(\"StorageV2\"),\n\t\t\tAccountReplicationType: pulumi.String(\"LRS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, \"example\", \u0026network.VirtualNetworkArgs{\n\t\t\tName:              pulumi.String(\"example-net\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tAddressSpaces: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"192.168.2.0/24\"),\n\t\t\t},\n\t\t\tLocation: example.Location,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSubnet, err := network.NewSubnet(ctx, \"example\", \u0026network.SubnetArgs{\n\t\t\tName:               pulumi.String(\"example-subnet\"),\n\t\t\tResourceGroupName:  example.Name,\n\t\t\tVirtualNetworkName: exampleVirtualNetwork.Name,\n\t\t\tAddressPrefixes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"192.168.2.0/24\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = siterecovery.NewVmwareReplicatedVm(ctx, \"example\", \u0026siterecovery.VmwareReplicatedVmArgs{\n\t\t\tName:                                  pulumi.String(\"example-vmware-vm\"),\n\t\t\tRecoveryVaultId:                       exampleVault.ID(),\n\t\t\tSourceVmName:                          pulumi.String(\"example-vm\"),\n\t\t\tApplianceName:                         pulumi.String(\"example-appliance\"),\n\t\t\tRecoveryReplicationPolicyId:           pulumi.Any(exampleAzurermSiteRecoveryVmwareReplicationPolicyAssociation.PolicyId),\n\t\t\tPhysicalServerCredentialName:          pulumi.String(\"example-creds\"),\n\t\t\tLicenseType:                           pulumi.String(\"NotSpecified\"),\n\t\t\tTargetBootDiagnosticsStorageAccountId: exampleAccount.ID(),\n\t\t\tTargetVmName:                          pulumi.String(\"example_replicated_vm\"),\n\t\t\tTargetResourceGroupId:                 example.ID(),\n\t\t\tDefaultLogStorageAccountId:            exampleAccount.ID(),\n\t\t\tDefaultRecoveryDiskType:               pulumi.String(\"Standard_LRS\"),\n\t\t\tTargetNetworkId:                       exampleVirtualNetwork.ID(),\n\t\t\tNetworkInterfaces: siterecovery.VmwareReplicatedVmNetworkInterfaceArray{\n\t\t\t\t\u0026siterecovery.VmwareReplicatedVmNetworkInterfaceArgs{\n\t\t\t\t\tSourceMacAddress: pulumi.String(\"00:00:00:00:00:00\"),\n\t\t\t\t\tTargetSubnetName: exampleSubnet.Name,\n\t\t\t\t\tIsPrimary:        pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.recoveryservices.Vault;\nimport com.pulumi.azure.recoveryservices.VaultArgs;\nimport com.pulumi.azure.siterecovery.VMWareReplicationPolicy;\nimport com.pulumi.azure.siterecovery.VMWareReplicationPolicyArgs;\nimport com.pulumi.azure.siterecovery.VmwareReplicationPolicyAssociation;\nimport com.pulumi.azure.siterecovery.VmwareReplicationPolicyAssociationArgs;\nimport com.pulumi.azure.storage.Account;\nimport com.pulumi.azure.storage.AccountArgs;\nimport com.pulumi.azure.network.VirtualNetwork;\nimport com.pulumi.azure.network.VirtualNetworkArgs;\nimport com.pulumi.azure.network.Subnet;\nimport com.pulumi.azure.network.SubnetArgs;\nimport com.pulumi.azure.siterecovery.VmwareReplicatedVm;\nimport com.pulumi.azure.siterecovery.VmwareReplicatedVmArgs;\nimport com.pulumi.azure.siterecovery.inputs.VmwareReplicatedVmNetworkInterfaceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-rg\")\n            .location(\"West US\")\n            .build());\n\n        var exampleVault = new Vault(\"exampleVault\", VaultArgs.builder()\n            .name(\"example-recovery-vault\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .sku(\"Standard\")\n            .build());\n\n        var exampleVMWareReplicationPolicy = new VMWareReplicationPolicy(\"exampleVMWareReplicationPolicy\", VMWareReplicationPolicyArgs.builder()\n            .recoveryVaultId(exampleVault.id())\n            .name(\"example-policy\")\n            .recoveryPointRetentionInMinutes(1440)\n            .applicationConsistentSnapshotFrequencyInMinutes(240)\n            .build());\n\n        var test = new VmwareReplicationPolicyAssociation(\"test\", VmwareReplicationPolicyAssociationArgs.builder()\n            .name(\"example-association\")\n            .recoveryVaultId(exampleVault.id())\n            .policyId(exampleVMWareReplicationPolicy.id())\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"examplestorageacc\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .accountTier(\"Standard\")\n            .accountKind(\"StorageV2\")\n            .accountReplicationType(\"LRS\")\n            .build());\n\n        var exampleVirtualNetwork = new VirtualNetwork(\"exampleVirtualNetwork\", VirtualNetworkArgs.builder()\n            .name(\"example-net\")\n            .resourceGroupName(example.name())\n            .addressSpaces(\"192.168.2.0/24\")\n            .location(example.location())\n            .build());\n\n        var exampleSubnet = new Subnet(\"exampleSubnet\", SubnetArgs.builder()\n            .name(\"example-subnet\")\n            .resourceGroupName(example.name())\n            .virtualNetworkName(exampleVirtualNetwork.name())\n            .addressPrefixes(\"192.168.2.0/24\")\n            .build());\n\n        var exampleVmwareReplicatedVm = new VmwareReplicatedVm(\"exampleVmwareReplicatedVm\", VmwareReplicatedVmArgs.builder()\n            .name(\"example-vmware-vm\")\n            .recoveryVaultId(exampleVault.id())\n            .sourceVmName(\"example-vm\")\n            .applianceName(\"example-appliance\")\n            .recoveryReplicationPolicyId(exampleAzurermSiteRecoveryVmwareReplicationPolicyAssociation.policyId())\n            .physicalServerCredentialName(\"example-creds\")\n            .licenseType(\"NotSpecified\")\n            .targetBootDiagnosticsStorageAccountId(exampleAccount.id())\n            .targetVmName(\"example_replicated_vm\")\n            .targetResourceGroupId(example.id())\n            .defaultLogStorageAccountId(exampleAccount.id())\n            .defaultRecoveryDiskType(\"Standard_LRS\")\n            .targetNetworkId(exampleVirtualNetwork.id())\n            .networkInterfaces(VmwareReplicatedVmNetworkInterfaceArgs.builder()\n                .sourceMacAddress(\"00:00:00:00:00:00\")\n                .targetSubnetName(exampleSubnet.name())\n                .isPrimary(true)\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-rg\n      location: West US\n  exampleVault:\n    type: azure:recoveryservices:Vault\n    name: example\n    properties:\n      name: example-recovery-vault\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      sku: Standard\n  exampleVMWareReplicationPolicy:\n    type: azure:siterecovery:VMWareReplicationPolicy\n    name: example\n    properties:\n      recoveryVaultId: ${exampleVault.id}\n      name: example-policy\n      recoveryPointRetentionInMinutes: 1440\n      applicationConsistentSnapshotFrequencyInMinutes: 240\n  test:\n    type: azure:siterecovery:VmwareReplicationPolicyAssociation\n    properties:\n      name: example-association\n      recoveryVaultId: ${exampleVault.id}\n      policyId: ${exampleVMWareReplicationPolicy.id}\n  exampleAccount:\n    type: azure:storage:Account\n    name: example\n    properties:\n      name: examplestorageacc\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      accountTier: Standard\n      accountKind: StorageV2\n      accountReplicationType: LRS\n  exampleVirtualNetwork:\n    type: azure:network:VirtualNetwork\n    name: example\n    properties:\n      name: example-net\n      resourceGroupName: ${example.name}\n      addressSpaces:\n        - 192.168.2.0/24\n      location: ${example.location}\n  exampleSubnet:\n    type: azure:network:Subnet\n    name: example\n    properties:\n      name: example-subnet\n      resourceGroupName: ${example.name}\n      virtualNetworkName: ${exampleVirtualNetwork.name}\n      addressPrefixes:\n        - 192.168.2.0/24\n  exampleVmwareReplicatedVm:\n    type: azure:siterecovery:VmwareReplicatedVm\n    name: example\n    properties:\n      name: example-vmware-vm\n      recoveryVaultId: ${exampleVault.id}\n      sourceVmName: example-vm\n      applianceName: example-appliance\n      recoveryReplicationPolicyId: ${exampleAzurermSiteRecoveryVmwareReplicationPolicyAssociation.policyId}\n      physicalServerCredentialName: example-creds\n      licenseType: NotSpecified\n      targetBootDiagnosticsStorageAccountId: ${exampleAccount.id}\n      targetVmName: example_replicated_vm\n      targetResourceGroupId: ${example.id}\n      defaultLogStorageAccountId: ${exampleAccount.id}\n      defaultRecoveryDiskType: Standard_LRS\n      targetNetworkId: ${exampleVirtualNetwork.id}\n      networkInterfaces:\n        - sourceMacAddress: 00:00:00:00:00:00\n          targetSubnetName: ${exampleSubnet.name}\n          isPrimary: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.OffAzure` - 2020-01-01\n\n* `Microsoft.RecoveryServices` - 2024-04-01\n\n## Import\n\nSite Recovery VMWare Replicated VM's can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:siterecovery/vmwareReplicatedVm:VmwareReplicatedVm vmreplication /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resource-group-name/providers/Microsoft.RecoveryServices/vaults/recovery-vault-name/replicationFabrics/fabric-name/replicationProtectionContainers/protection-container-name/replicationProtectedItems/vm-replication-name\n```\n\n","properties":{"applianceName":{"type":"string","description":"The name of VMWare appliance which handles the replication. Changing this forces a new resource to be created.\n"},"defaultLogStorageAccountId":{"type":"string","description":"The ID of the stroage account that should be used for logging during replication. \n\n\u003e **Note:** Only standard types of storage accounts are allowed.\n\n\u003e **Note:** Only one of \u003cspan pulumi-lang-nodejs=\"`defaultLogStorageAccountId`\" pulumi-lang-dotnet=\"`DefaultLogStorageAccountId`\" pulumi-lang-go=\"`defaultLogStorageAccountId`\" pulumi-lang-python=\"`default_log_storage_account_id`\" pulumi-lang-yaml=\"`defaultLogStorageAccountId`\" pulumi-lang-java=\"`defaultLogStorageAccountId`\"\u003e`default_log_storage_account_id`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`managedDisk`\" pulumi-lang-dotnet=\"`ManagedDisk`\" pulumi-lang-go=\"`managedDisk`\" pulumi-lang-python=\"`managed_disk`\" pulumi-lang-yaml=\"`managedDisk`\" pulumi-lang-java=\"`managedDisk`\"\u003e`managed_disk`\u003c/span\u003e must be specified.\n\n\u003e **Note:** Changing \u003cspan pulumi-lang-nodejs=\"`defaultLogStorageAccountId`\" pulumi-lang-dotnet=\"`DefaultLogStorageAccountId`\" pulumi-lang-go=\"`defaultLogStorageAccountId`\" pulumi-lang-python=\"`default_log_storage_account_id`\" pulumi-lang-yaml=\"`defaultLogStorageAccountId`\" pulumi-lang-java=\"`defaultLogStorageAccountId`\"\u003e`default_log_storage_account_id`\u003c/span\u003e forces a new resource to be created. But removing it does not.\n\n\u003e **Note:** When \u003cspan pulumi-lang-nodejs=\"`defaultLogStorageAccountId`\" pulumi-lang-dotnet=\"`DefaultLogStorageAccountId`\" pulumi-lang-go=\"`defaultLogStorageAccountId`\" pulumi-lang-python=\"`default_log_storage_account_id`\" pulumi-lang-yaml=\"`defaultLogStorageAccountId`\" pulumi-lang-java=\"`defaultLogStorageAccountId`\"\u003e`default_log_storage_account_id`\u003c/span\u003e co-exist with \u003cspan pulumi-lang-nodejs=\"`managedDisk`\" pulumi-lang-dotnet=\"`ManagedDisk`\" pulumi-lang-go=\"`managedDisk`\" pulumi-lang-python=\"`managed_disk`\" pulumi-lang-yaml=\"`managedDisk`\" pulumi-lang-java=\"`managedDisk`\"\u003e`managed_disk`\u003c/span\u003e, the value of \u003cspan pulumi-lang-nodejs=\"`defaultLogStorageAccountId`\" pulumi-lang-dotnet=\"`DefaultLogStorageAccountId`\" pulumi-lang-go=\"`defaultLogStorageAccountId`\" pulumi-lang-python=\"`default_log_storage_account_id`\" pulumi-lang-yaml=\"`defaultLogStorageAccountId`\" pulumi-lang-java=\"`defaultLogStorageAccountId`\"\u003e`default_log_storage_account_id`\u003c/span\u003e must be as same as \u003cspan pulumi-lang-nodejs=\"`logStorageAccountId`\" pulumi-lang-dotnet=\"`LogStorageAccountId`\" pulumi-lang-go=\"`logStorageAccountId`\" pulumi-lang-python=\"`log_storage_account_id`\" pulumi-lang-yaml=\"`logStorageAccountId`\" pulumi-lang-java=\"`logStorageAccountId`\"\u003e`log_storage_account_id`\u003c/span\u003e of every \u003cspan pulumi-lang-nodejs=\"`managedDisk`\" pulumi-lang-dotnet=\"`ManagedDisk`\" pulumi-lang-go=\"`managedDisk`\" pulumi-lang-python=\"`managed_disk`\" pulumi-lang-yaml=\"`managedDisk`\" pulumi-lang-java=\"`managedDisk`\"\u003e`managed_disk`\u003c/span\u003e or it forces a new resource to be created.\n"},"defaultRecoveryDiskType":{"type":"string","description":"The type of storage account that should be used for recovery disks when a failover is done. Possible values are `Premium_LRS`, `PremiumV2_LRS`, `Premium_ZRS`, `Standard_LRS`, `StandardSSD_LRS`, `StandardSSD_ZRS` and `UltraSSD_LRS`.\n\n\u003e **Note:** Only one of \u003cspan pulumi-lang-nodejs=\"`defaultRecoveryDiskType`\" pulumi-lang-dotnet=\"`DefaultRecoveryDiskType`\" pulumi-lang-go=\"`defaultRecoveryDiskType`\" pulumi-lang-python=\"`default_recovery_disk_type`\" pulumi-lang-yaml=\"`defaultRecoveryDiskType`\" pulumi-lang-java=\"`defaultRecoveryDiskType`\"\u003e`default_recovery_disk_type`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`managedDisk`\" pulumi-lang-dotnet=\"`ManagedDisk`\" pulumi-lang-go=\"`managedDisk`\" pulumi-lang-python=\"`managed_disk`\" pulumi-lang-yaml=\"`managedDisk`\" pulumi-lang-java=\"`managedDisk`\"\u003e`managed_disk`\u003c/span\u003e must be specified.\n\n\u003e **Note:** Changing \u003cspan pulumi-lang-nodejs=\"`defaultRecoveryDiskType`\" pulumi-lang-dotnet=\"`DefaultRecoveryDiskType`\" pulumi-lang-go=\"`defaultRecoveryDiskType`\" pulumi-lang-python=\"`default_recovery_disk_type`\" pulumi-lang-yaml=\"`defaultRecoveryDiskType`\" pulumi-lang-java=\"`defaultRecoveryDiskType`\"\u003e`default_recovery_disk_type`\u003c/span\u003e forces a new resource to be created. But removing it does not.\n\n\u003e **Note:** When \u003cspan pulumi-lang-nodejs=\"`defaultRecoveryDiskType`\" pulumi-lang-dotnet=\"`DefaultRecoveryDiskType`\" pulumi-lang-go=\"`defaultRecoveryDiskType`\" pulumi-lang-python=\"`default_recovery_disk_type`\" pulumi-lang-yaml=\"`defaultRecoveryDiskType`\" pulumi-lang-java=\"`defaultRecoveryDiskType`\"\u003e`default_recovery_disk_type`\u003c/span\u003e co-exist with \u003cspan pulumi-lang-nodejs=\"`managedDisk`\" pulumi-lang-dotnet=\"`ManagedDisk`\" pulumi-lang-go=\"`managedDisk`\" pulumi-lang-python=\"`managed_disk`\" pulumi-lang-yaml=\"`managedDisk`\" pulumi-lang-java=\"`managedDisk`\"\u003e`managed_disk`\u003c/span\u003e, the value of \u003cspan pulumi-lang-nodejs=\"`defaultRecoveryDiskType`\" pulumi-lang-dotnet=\"`DefaultRecoveryDiskType`\" pulumi-lang-go=\"`defaultRecoveryDiskType`\" pulumi-lang-python=\"`default_recovery_disk_type`\" pulumi-lang-yaml=\"`defaultRecoveryDiskType`\" pulumi-lang-java=\"`defaultRecoveryDiskType`\"\u003e`default_recovery_disk_type`\u003c/span\u003e must be as same as \u003cspan pulumi-lang-nodejs=\"`targetDiskType`\" pulumi-lang-dotnet=\"`TargetDiskType`\" pulumi-lang-go=\"`targetDiskType`\" pulumi-lang-python=\"`target_disk_type`\" pulumi-lang-yaml=\"`targetDiskType`\" pulumi-lang-java=\"`targetDiskType`\"\u003e`target_disk_type`\u003c/span\u003e of every \u003cspan pulumi-lang-nodejs=\"`managedDisk`\" pulumi-lang-dotnet=\"`ManagedDisk`\" pulumi-lang-go=\"`managedDisk`\" pulumi-lang-python=\"`managed_disk`\" pulumi-lang-yaml=\"`managedDisk`\" pulumi-lang-java=\"`managedDisk`\"\u003e`managed_disk`\u003c/span\u003e or it forces a new resource to be created.\n"},"defaultTargetDiskEncryptionSetId":{"type":"string","description":"The ID of the default Disk Encryption Set that should be used for the disks when a failover is done.\n\n\u003e **Note:** Changing \u003cspan pulumi-lang-nodejs=\"`defaultTargetDiskEncryptionSetId`\" pulumi-lang-dotnet=\"`DefaultTargetDiskEncryptionSetId`\" pulumi-lang-go=\"`defaultTargetDiskEncryptionSetId`\" pulumi-lang-python=\"`default_target_disk_encryption_set_id`\" pulumi-lang-yaml=\"`defaultTargetDiskEncryptionSetId`\" pulumi-lang-java=\"`defaultTargetDiskEncryptionSetId`\"\u003e`default_target_disk_encryption_set_id`\u003c/span\u003e forces a new resource to be created. But removing it does not.\n\n\u003e **Note:** When \u003cspan pulumi-lang-nodejs=\"`defaultTargetDiskEncryptionSetId`\" pulumi-lang-dotnet=\"`DefaultTargetDiskEncryptionSetId`\" pulumi-lang-go=\"`defaultTargetDiskEncryptionSetId`\" pulumi-lang-python=\"`default_target_disk_encryption_set_id`\" pulumi-lang-yaml=\"`defaultTargetDiskEncryptionSetId`\" pulumi-lang-java=\"`defaultTargetDiskEncryptionSetId`\"\u003e`default_target_disk_encryption_set_id`\u003c/span\u003e co-exist with \u003cspan pulumi-lang-nodejs=\"`managedDisk`\" pulumi-lang-dotnet=\"`ManagedDisk`\" pulumi-lang-go=\"`managedDisk`\" pulumi-lang-python=\"`managed_disk`\" pulumi-lang-yaml=\"`managedDisk`\" pulumi-lang-java=\"`managedDisk`\"\u003e`managed_disk`\u003c/span\u003e, the value of \u003cspan pulumi-lang-nodejs=\"`defaultTargetDiskEncryptionSetId`\" pulumi-lang-dotnet=\"`DefaultTargetDiskEncryptionSetId`\" pulumi-lang-go=\"`defaultTargetDiskEncryptionSetId`\" pulumi-lang-python=\"`default_target_disk_encryption_set_id`\" pulumi-lang-yaml=\"`defaultTargetDiskEncryptionSetId`\" pulumi-lang-java=\"`defaultTargetDiskEncryptionSetId`\"\u003e`default_target_disk_encryption_set_id`\u003c/span\u003e must be as same as \u003cspan pulumi-lang-nodejs=\"`targetDiskEncryptionSetId`\" pulumi-lang-dotnet=\"`TargetDiskEncryptionSetId`\" pulumi-lang-go=\"`targetDiskEncryptionSetId`\" pulumi-lang-python=\"`target_disk_encryption_set_id`\" pulumi-lang-yaml=\"`targetDiskEncryptionSetId`\" pulumi-lang-java=\"`targetDiskEncryptionSetId`\"\u003e`target_disk_encryption_set_id`\u003c/span\u003e of every \u003cspan pulumi-lang-nodejs=\"`managedDisk`\" pulumi-lang-dotnet=\"`ManagedDisk`\" pulumi-lang-go=\"`managedDisk`\" pulumi-lang-python=\"`managed_disk`\" pulumi-lang-yaml=\"`managedDisk`\" pulumi-lang-java=\"`managedDisk`\"\u003e`managed_disk`\u003c/span\u003e or it forces a new resource to be created.\n"},"licenseType":{"type":"string","description":"The license type of the VM. Possible values are `NoLicenseType`, `NotSpecified` and `WindowsServer`. Defaults to `NotSpecified`.\n"},"managedDisks":{"type":"array","items":{"$ref":"#/types/azure:siterecovery/VmwareReplicatedVmManagedDisk:VmwareReplicatedVmManagedDisk"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`managedDisk`\" pulumi-lang-dotnet=\"`ManagedDisk`\" pulumi-lang-go=\"`managedDisk`\" pulumi-lang-python=\"`managed_disk`\" pulumi-lang-yaml=\"`managedDisk`\" pulumi-lang-java=\"`managedDisk`\"\u003e`managed_disk`\u003c/span\u003e block as defined below. It's available only if mobility service is already installed on the source VM.\n\n\u003e **Note:** A replicated VM could be created without \u003cspan pulumi-lang-nodejs=\"`managedDisk`\" pulumi-lang-dotnet=\"`ManagedDisk`\" pulumi-lang-go=\"`managedDisk`\" pulumi-lang-python=\"`managed_disk`\" pulumi-lang-yaml=\"`managedDisk`\" pulumi-lang-java=\"`managedDisk`\"\u003e`managed_disk`\u003c/span\u003e block, once the block has been specified, changing it expect removing it forces a new resource to be created.\n"},"multiVmGroupName":{"type":"string","description":"Name of group in which all machines will replicate together and have shared crash consistent and app-consistent recovery points when failed over.\n"},"name":{"type":"string","description":"The name of the replicated VM. Changing this forces a new resource to be created.\n"},"networkInterfaces":{"type":"array","items":{"$ref":"#/types/azure:siterecovery/VmwareReplicatedVmNetworkInterface:VmwareReplicatedVmNetworkInterface"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`networkInterface`\" pulumi-lang-dotnet=\"`NetworkInterface`\" pulumi-lang-go=\"`networkInterface`\" pulumi-lang-python=\"`network_interface`\" pulumi-lang-yaml=\"`networkInterface`\" pulumi-lang-java=\"`networkInterface`\"\u003e`network_interface`\u003c/span\u003e block as defined below.\n"},"physicalServerCredentialName":{"type":"string","description":"The name of the credential to access the source VM. Changing this forces a new resource to be created. More information about the credentials could be found [here](https://learn.microsoft.com/en-us/azure/site-recovery/deploy-vmware-azure-replication-appliance-modernized).\n"},"recoveryReplicationPolicyId":{"type":"string","description":"The ID of the policy to use for this replicated VM.\n"},"recoveryVaultId":{"type":"string","description":"The ID of the Recovery Services Vault where the replicated VM is created.\n"},"sourceVmName":{"type":"string","description":"The name of the source VM in VMWare. Changing this forces a new resource to be created.\n"},"targetAvailabilitySetId":{"type":"string","description":"The ID of availability set that the new VM should belong to when a failover is done.\n"},"targetBootDiagnosticsStorageAccountId":{"type":"string","description":"The ID of the storage account that should be used for boot diagnostics when a failover is done.\n"},"targetNetworkId":{"type":"string","description":"The ID of network to use when a failover is done.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`targetNetworkId`\" pulumi-lang-dotnet=\"`TargetNetworkId`\" pulumi-lang-go=\"`targetNetworkId`\" pulumi-lang-python=\"`target_network_id`\" pulumi-lang-yaml=\"`targetNetworkId`\" pulumi-lang-java=\"`targetNetworkId`\"\u003e`target_network_id`\u003c/span\u003e is required when \u003cspan pulumi-lang-nodejs=\"`networkInterface`\" pulumi-lang-dotnet=\"`NetworkInterface`\" pulumi-lang-go=\"`networkInterface`\" pulumi-lang-python=\"`network_interface`\" pulumi-lang-yaml=\"`networkInterface`\" pulumi-lang-java=\"`networkInterface`\"\u003e`network_interface`\u003c/span\u003e is specified.\n"},"targetProximityPlacementGroupId":{"type":"string","description":"The ID of Proximity Placement Group the new VM should belong to when a failover is done.\n\n\u003e **Note:** Only one of \u003cspan pulumi-lang-nodejs=\"`targetAvailabilitySetId`\" pulumi-lang-dotnet=\"`TargetAvailabilitySetId`\" pulumi-lang-go=\"`targetAvailabilitySetId`\" pulumi-lang-python=\"`target_availability_set_id`\" pulumi-lang-yaml=\"`targetAvailabilitySetId`\" pulumi-lang-java=\"`targetAvailabilitySetId`\"\u003e`target_availability_set_id`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`targetZone`\" pulumi-lang-dotnet=\"`TargetZone`\" pulumi-lang-go=\"`targetZone`\" pulumi-lang-python=\"`target_zone`\" pulumi-lang-yaml=\"`targetZone`\" pulumi-lang-java=\"`targetZone`\"\u003e`target_zone`\u003c/span\u003e can be specified.\n"},"targetResourceGroupId":{"type":"string","description":"The ID of resource group where the VM should be created when a failover is done.\n"},"targetVmName":{"type":"string","description":"Name of the VM that should be created when a failover is done. Changing this forces a new resource to be created.\n"},"targetVmSize":{"type":"string","description":"Size of the VM that should be created when a failover is done, such as `Standard_F2`. If it's not specified, it will automatically be set by detecting the source VM size.\n"},"targetZone":{"type":"string","description":"Specifies the Availability Zone where the Failover VM should exist.\n"},"testNetworkId":{"type":"string","description":"The ID of network to use when a test failover is done.\n"}},"required":["applianceName","name","physicalServerCredentialName","recoveryReplicationPolicyId","recoveryVaultId","sourceVmName","targetResourceGroupId","targetVmName"],"inputProperties":{"applianceName":{"type":"string","description":"The name of VMWare appliance which handles the replication. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"defaultLogStorageAccountId":{"type":"string","description":"The ID of the stroage account that should be used for logging during replication. \n\n\u003e **Note:** Only standard types of storage accounts are allowed.\n\n\u003e **Note:** Only one of \u003cspan pulumi-lang-nodejs=\"`defaultLogStorageAccountId`\" pulumi-lang-dotnet=\"`DefaultLogStorageAccountId`\" pulumi-lang-go=\"`defaultLogStorageAccountId`\" pulumi-lang-python=\"`default_log_storage_account_id`\" pulumi-lang-yaml=\"`defaultLogStorageAccountId`\" pulumi-lang-java=\"`defaultLogStorageAccountId`\"\u003e`default_log_storage_account_id`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`managedDisk`\" pulumi-lang-dotnet=\"`ManagedDisk`\" pulumi-lang-go=\"`managedDisk`\" pulumi-lang-python=\"`managed_disk`\" pulumi-lang-yaml=\"`managedDisk`\" pulumi-lang-java=\"`managedDisk`\"\u003e`managed_disk`\u003c/span\u003e must be specified.\n\n\u003e **Note:** Changing \u003cspan pulumi-lang-nodejs=\"`defaultLogStorageAccountId`\" pulumi-lang-dotnet=\"`DefaultLogStorageAccountId`\" pulumi-lang-go=\"`defaultLogStorageAccountId`\" pulumi-lang-python=\"`default_log_storage_account_id`\" pulumi-lang-yaml=\"`defaultLogStorageAccountId`\" pulumi-lang-java=\"`defaultLogStorageAccountId`\"\u003e`default_log_storage_account_id`\u003c/span\u003e forces a new resource to be created. But removing it does not.\n\n\u003e **Note:** When \u003cspan pulumi-lang-nodejs=\"`defaultLogStorageAccountId`\" pulumi-lang-dotnet=\"`DefaultLogStorageAccountId`\" pulumi-lang-go=\"`defaultLogStorageAccountId`\" pulumi-lang-python=\"`default_log_storage_account_id`\" pulumi-lang-yaml=\"`defaultLogStorageAccountId`\" pulumi-lang-java=\"`defaultLogStorageAccountId`\"\u003e`default_log_storage_account_id`\u003c/span\u003e co-exist with \u003cspan pulumi-lang-nodejs=\"`managedDisk`\" pulumi-lang-dotnet=\"`ManagedDisk`\" pulumi-lang-go=\"`managedDisk`\" pulumi-lang-python=\"`managed_disk`\" pulumi-lang-yaml=\"`managedDisk`\" pulumi-lang-java=\"`managedDisk`\"\u003e`managed_disk`\u003c/span\u003e, the value of \u003cspan pulumi-lang-nodejs=\"`defaultLogStorageAccountId`\" pulumi-lang-dotnet=\"`DefaultLogStorageAccountId`\" pulumi-lang-go=\"`defaultLogStorageAccountId`\" pulumi-lang-python=\"`default_log_storage_account_id`\" pulumi-lang-yaml=\"`defaultLogStorageAccountId`\" pulumi-lang-java=\"`defaultLogStorageAccountId`\"\u003e`default_log_storage_account_id`\u003c/span\u003e must be as same as \u003cspan pulumi-lang-nodejs=\"`logStorageAccountId`\" pulumi-lang-dotnet=\"`LogStorageAccountId`\" pulumi-lang-go=\"`logStorageAccountId`\" pulumi-lang-python=\"`log_storage_account_id`\" pulumi-lang-yaml=\"`logStorageAccountId`\" pulumi-lang-java=\"`logStorageAccountId`\"\u003e`log_storage_account_id`\u003c/span\u003e of every \u003cspan pulumi-lang-nodejs=\"`managedDisk`\" pulumi-lang-dotnet=\"`ManagedDisk`\" pulumi-lang-go=\"`managedDisk`\" pulumi-lang-python=\"`managed_disk`\" pulumi-lang-yaml=\"`managedDisk`\" pulumi-lang-java=\"`managedDisk`\"\u003e`managed_disk`\u003c/span\u003e or it forces a new resource to be created.\n"},"defaultRecoveryDiskType":{"type":"string","description":"The type of storage account that should be used for recovery disks when a failover is done. Possible values are `Premium_LRS`, `PremiumV2_LRS`, `Premium_ZRS`, `Standard_LRS`, `StandardSSD_LRS`, `StandardSSD_ZRS` and `UltraSSD_LRS`.\n\n\u003e **Note:** Only one of \u003cspan pulumi-lang-nodejs=\"`defaultRecoveryDiskType`\" pulumi-lang-dotnet=\"`DefaultRecoveryDiskType`\" pulumi-lang-go=\"`defaultRecoveryDiskType`\" pulumi-lang-python=\"`default_recovery_disk_type`\" pulumi-lang-yaml=\"`defaultRecoveryDiskType`\" pulumi-lang-java=\"`defaultRecoveryDiskType`\"\u003e`default_recovery_disk_type`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`managedDisk`\" pulumi-lang-dotnet=\"`ManagedDisk`\" pulumi-lang-go=\"`managedDisk`\" pulumi-lang-python=\"`managed_disk`\" pulumi-lang-yaml=\"`managedDisk`\" pulumi-lang-java=\"`managedDisk`\"\u003e`managed_disk`\u003c/span\u003e must be specified.\n\n\u003e **Note:** Changing \u003cspan pulumi-lang-nodejs=\"`defaultRecoveryDiskType`\" pulumi-lang-dotnet=\"`DefaultRecoveryDiskType`\" pulumi-lang-go=\"`defaultRecoveryDiskType`\" pulumi-lang-python=\"`default_recovery_disk_type`\" pulumi-lang-yaml=\"`defaultRecoveryDiskType`\" pulumi-lang-java=\"`defaultRecoveryDiskType`\"\u003e`default_recovery_disk_type`\u003c/span\u003e forces a new resource to be created. But removing it does not.\n\n\u003e **Note:** When \u003cspan pulumi-lang-nodejs=\"`defaultRecoveryDiskType`\" pulumi-lang-dotnet=\"`DefaultRecoveryDiskType`\" pulumi-lang-go=\"`defaultRecoveryDiskType`\" pulumi-lang-python=\"`default_recovery_disk_type`\" pulumi-lang-yaml=\"`defaultRecoveryDiskType`\" pulumi-lang-java=\"`defaultRecoveryDiskType`\"\u003e`default_recovery_disk_type`\u003c/span\u003e co-exist with \u003cspan pulumi-lang-nodejs=\"`managedDisk`\" pulumi-lang-dotnet=\"`ManagedDisk`\" pulumi-lang-go=\"`managedDisk`\" pulumi-lang-python=\"`managed_disk`\" pulumi-lang-yaml=\"`managedDisk`\" pulumi-lang-java=\"`managedDisk`\"\u003e`managed_disk`\u003c/span\u003e, the value of \u003cspan pulumi-lang-nodejs=\"`defaultRecoveryDiskType`\" pulumi-lang-dotnet=\"`DefaultRecoveryDiskType`\" pulumi-lang-go=\"`defaultRecoveryDiskType`\" pulumi-lang-python=\"`default_recovery_disk_type`\" pulumi-lang-yaml=\"`defaultRecoveryDiskType`\" pulumi-lang-java=\"`defaultRecoveryDiskType`\"\u003e`default_recovery_disk_type`\u003c/span\u003e must be as same as \u003cspan pulumi-lang-nodejs=\"`targetDiskType`\" pulumi-lang-dotnet=\"`TargetDiskType`\" pulumi-lang-go=\"`targetDiskType`\" pulumi-lang-python=\"`target_disk_type`\" pulumi-lang-yaml=\"`targetDiskType`\" pulumi-lang-java=\"`targetDiskType`\"\u003e`target_disk_type`\u003c/span\u003e of every \u003cspan pulumi-lang-nodejs=\"`managedDisk`\" pulumi-lang-dotnet=\"`ManagedDisk`\" pulumi-lang-go=\"`managedDisk`\" pulumi-lang-python=\"`managed_disk`\" pulumi-lang-yaml=\"`managedDisk`\" pulumi-lang-java=\"`managedDisk`\"\u003e`managed_disk`\u003c/span\u003e or it forces a new resource to be created.\n"},"defaultTargetDiskEncryptionSetId":{"type":"string","description":"The ID of the default Disk Encryption Set that should be used for the disks when a failover is done.\n\n\u003e **Note:** Changing \u003cspan pulumi-lang-nodejs=\"`defaultTargetDiskEncryptionSetId`\" pulumi-lang-dotnet=\"`DefaultTargetDiskEncryptionSetId`\" pulumi-lang-go=\"`defaultTargetDiskEncryptionSetId`\" pulumi-lang-python=\"`default_target_disk_encryption_set_id`\" pulumi-lang-yaml=\"`defaultTargetDiskEncryptionSetId`\" pulumi-lang-java=\"`defaultTargetDiskEncryptionSetId`\"\u003e`default_target_disk_encryption_set_id`\u003c/span\u003e forces a new resource to be created. But removing it does not.\n\n\u003e **Note:** When \u003cspan pulumi-lang-nodejs=\"`defaultTargetDiskEncryptionSetId`\" pulumi-lang-dotnet=\"`DefaultTargetDiskEncryptionSetId`\" pulumi-lang-go=\"`defaultTargetDiskEncryptionSetId`\" pulumi-lang-python=\"`default_target_disk_encryption_set_id`\" pulumi-lang-yaml=\"`defaultTargetDiskEncryptionSetId`\" pulumi-lang-java=\"`defaultTargetDiskEncryptionSetId`\"\u003e`default_target_disk_encryption_set_id`\u003c/span\u003e co-exist with \u003cspan pulumi-lang-nodejs=\"`managedDisk`\" pulumi-lang-dotnet=\"`ManagedDisk`\" pulumi-lang-go=\"`managedDisk`\" pulumi-lang-python=\"`managed_disk`\" pulumi-lang-yaml=\"`managedDisk`\" pulumi-lang-java=\"`managedDisk`\"\u003e`managed_disk`\u003c/span\u003e, the value of \u003cspan pulumi-lang-nodejs=\"`defaultTargetDiskEncryptionSetId`\" pulumi-lang-dotnet=\"`DefaultTargetDiskEncryptionSetId`\" pulumi-lang-go=\"`defaultTargetDiskEncryptionSetId`\" pulumi-lang-python=\"`default_target_disk_encryption_set_id`\" pulumi-lang-yaml=\"`defaultTargetDiskEncryptionSetId`\" pulumi-lang-java=\"`defaultTargetDiskEncryptionSetId`\"\u003e`default_target_disk_encryption_set_id`\u003c/span\u003e must be as same as \u003cspan pulumi-lang-nodejs=\"`targetDiskEncryptionSetId`\" pulumi-lang-dotnet=\"`TargetDiskEncryptionSetId`\" pulumi-lang-go=\"`targetDiskEncryptionSetId`\" pulumi-lang-python=\"`target_disk_encryption_set_id`\" pulumi-lang-yaml=\"`targetDiskEncryptionSetId`\" pulumi-lang-java=\"`targetDiskEncryptionSetId`\"\u003e`target_disk_encryption_set_id`\u003c/span\u003e of every \u003cspan pulumi-lang-nodejs=\"`managedDisk`\" pulumi-lang-dotnet=\"`ManagedDisk`\" pulumi-lang-go=\"`managedDisk`\" pulumi-lang-python=\"`managed_disk`\" pulumi-lang-yaml=\"`managedDisk`\" pulumi-lang-java=\"`managedDisk`\"\u003e`managed_disk`\u003c/span\u003e or it forces a new resource to be created.\n"},"licenseType":{"type":"string","description":"The license type of the VM. Possible values are `NoLicenseType`, `NotSpecified` and `WindowsServer`. Defaults to `NotSpecified`.\n"},"managedDisks":{"type":"array","items":{"$ref":"#/types/azure:siterecovery/VmwareReplicatedVmManagedDisk:VmwareReplicatedVmManagedDisk"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`managedDisk`\" pulumi-lang-dotnet=\"`ManagedDisk`\" pulumi-lang-go=\"`managedDisk`\" pulumi-lang-python=\"`managed_disk`\" pulumi-lang-yaml=\"`managedDisk`\" pulumi-lang-java=\"`managedDisk`\"\u003e`managed_disk`\u003c/span\u003e block as defined below. It's available only if mobility service is already installed on the source VM.\n\n\u003e **Note:** A replicated VM could be created without \u003cspan pulumi-lang-nodejs=\"`managedDisk`\" pulumi-lang-dotnet=\"`ManagedDisk`\" pulumi-lang-go=\"`managedDisk`\" pulumi-lang-python=\"`managed_disk`\" pulumi-lang-yaml=\"`managedDisk`\" pulumi-lang-java=\"`managedDisk`\"\u003e`managed_disk`\u003c/span\u003e block, once the block has been specified, changing it expect removing it forces a new resource to be created.\n"},"multiVmGroupName":{"type":"string","description":"Name of group in which all machines will replicate together and have shared crash consistent and app-consistent recovery points when failed over.\n"},"name":{"type":"string","description":"The name of the replicated VM. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"networkInterfaces":{"type":"array","items":{"$ref":"#/types/azure:siterecovery/VmwareReplicatedVmNetworkInterface:VmwareReplicatedVmNetworkInterface"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`networkInterface`\" pulumi-lang-dotnet=\"`NetworkInterface`\" pulumi-lang-go=\"`networkInterface`\" pulumi-lang-python=\"`network_interface`\" pulumi-lang-yaml=\"`networkInterface`\" pulumi-lang-java=\"`networkInterface`\"\u003e`network_interface`\u003c/span\u003e block as defined below.\n"},"physicalServerCredentialName":{"type":"string","description":"The name of the credential to access the source VM. Changing this forces a new resource to be created. More information about the credentials could be found [here](https://learn.microsoft.com/en-us/azure/site-recovery/deploy-vmware-azure-replication-appliance-modernized).\n","willReplaceOnChanges":true},"recoveryReplicationPolicyId":{"type":"string","description":"The ID of the policy to use for this replicated VM.\n"},"recoveryVaultId":{"type":"string","description":"The ID of the Recovery Services Vault where the replicated VM is created.\n"},"sourceVmName":{"type":"string","description":"The name of the source VM in VMWare. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"targetAvailabilitySetId":{"type":"string","description":"The ID of availability set that the new VM should belong to when a failover is done.\n"},"targetBootDiagnosticsStorageAccountId":{"type":"string","description":"The ID of the storage account that should be used for boot diagnostics when a failover is done.\n"},"targetNetworkId":{"type":"string","description":"The ID of network to use when a failover is done.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`targetNetworkId`\" pulumi-lang-dotnet=\"`TargetNetworkId`\" pulumi-lang-go=\"`targetNetworkId`\" pulumi-lang-python=\"`target_network_id`\" pulumi-lang-yaml=\"`targetNetworkId`\" pulumi-lang-java=\"`targetNetworkId`\"\u003e`target_network_id`\u003c/span\u003e is required when \u003cspan pulumi-lang-nodejs=\"`networkInterface`\" pulumi-lang-dotnet=\"`NetworkInterface`\" pulumi-lang-go=\"`networkInterface`\" pulumi-lang-python=\"`network_interface`\" pulumi-lang-yaml=\"`networkInterface`\" pulumi-lang-java=\"`networkInterface`\"\u003e`network_interface`\u003c/span\u003e is specified.\n"},"targetProximityPlacementGroupId":{"type":"string","description":"The ID of Proximity Placement Group the new VM should belong to when a failover is done.\n\n\u003e **Note:** Only one of \u003cspan pulumi-lang-nodejs=\"`targetAvailabilitySetId`\" pulumi-lang-dotnet=\"`TargetAvailabilitySetId`\" pulumi-lang-go=\"`targetAvailabilitySetId`\" pulumi-lang-python=\"`target_availability_set_id`\" pulumi-lang-yaml=\"`targetAvailabilitySetId`\" pulumi-lang-java=\"`targetAvailabilitySetId`\"\u003e`target_availability_set_id`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`targetZone`\" pulumi-lang-dotnet=\"`TargetZone`\" pulumi-lang-go=\"`targetZone`\" pulumi-lang-python=\"`target_zone`\" pulumi-lang-yaml=\"`targetZone`\" pulumi-lang-java=\"`targetZone`\"\u003e`target_zone`\u003c/span\u003e can be specified.\n"},"targetResourceGroupId":{"type":"string","description":"The ID of resource group where the VM should be created when a failover is done.\n"},"targetVmName":{"type":"string","description":"Name of the VM that should be created when a failover is done. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"targetVmSize":{"type":"string","description":"Size of the VM that should be created when a failover is done, such as `Standard_F2`. If it's not specified, it will automatically be set by detecting the source VM size.\n"},"targetZone":{"type":"string","description":"Specifies the Availability Zone where the Failover VM should exist.\n"},"testNetworkId":{"type":"string","description":"The ID of network to use when a test failover is done.\n"}},"requiredInputs":["applianceName","physicalServerCredentialName","recoveryReplicationPolicyId","recoveryVaultId","sourceVmName","targetResourceGroupId","targetVmName"],"stateInputs":{"description":"Input properties used for looking up and filtering VmwareReplicatedVm resources.\n","properties":{"applianceName":{"type":"string","description":"The name of VMWare appliance which handles the replication. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"defaultLogStorageAccountId":{"type":"string","description":"The ID of the stroage account that should be used for logging during replication. \n\n\u003e **Note:** Only standard types of storage accounts are allowed.\n\n\u003e **Note:** Only one of \u003cspan pulumi-lang-nodejs=\"`defaultLogStorageAccountId`\" pulumi-lang-dotnet=\"`DefaultLogStorageAccountId`\" pulumi-lang-go=\"`defaultLogStorageAccountId`\" pulumi-lang-python=\"`default_log_storage_account_id`\" pulumi-lang-yaml=\"`defaultLogStorageAccountId`\" pulumi-lang-java=\"`defaultLogStorageAccountId`\"\u003e`default_log_storage_account_id`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`managedDisk`\" pulumi-lang-dotnet=\"`ManagedDisk`\" pulumi-lang-go=\"`managedDisk`\" pulumi-lang-python=\"`managed_disk`\" pulumi-lang-yaml=\"`managedDisk`\" pulumi-lang-java=\"`managedDisk`\"\u003e`managed_disk`\u003c/span\u003e must be specified.\n\n\u003e **Note:** Changing \u003cspan pulumi-lang-nodejs=\"`defaultLogStorageAccountId`\" pulumi-lang-dotnet=\"`DefaultLogStorageAccountId`\" pulumi-lang-go=\"`defaultLogStorageAccountId`\" pulumi-lang-python=\"`default_log_storage_account_id`\" pulumi-lang-yaml=\"`defaultLogStorageAccountId`\" pulumi-lang-java=\"`defaultLogStorageAccountId`\"\u003e`default_log_storage_account_id`\u003c/span\u003e forces a new resource to be created. But removing it does not.\n\n\u003e **Note:** When \u003cspan pulumi-lang-nodejs=\"`defaultLogStorageAccountId`\" pulumi-lang-dotnet=\"`DefaultLogStorageAccountId`\" pulumi-lang-go=\"`defaultLogStorageAccountId`\" pulumi-lang-python=\"`default_log_storage_account_id`\" pulumi-lang-yaml=\"`defaultLogStorageAccountId`\" pulumi-lang-java=\"`defaultLogStorageAccountId`\"\u003e`default_log_storage_account_id`\u003c/span\u003e co-exist with \u003cspan pulumi-lang-nodejs=\"`managedDisk`\" pulumi-lang-dotnet=\"`ManagedDisk`\" pulumi-lang-go=\"`managedDisk`\" pulumi-lang-python=\"`managed_disk`\" pulumi-lang-yaml=\"`managedDisk`\" pulumi-lang-java=\"`managedDisk`\"\u003e`managed_disk`\u003c/span\u003e, the value of \u003cspan pulumi-lang-nodejs=\"`defaultLogStorageAccountId`\" pulumi-lang-dotnet=\"`DefaultLogStorageAccountId`\" pulumi-lang-go=\"`defaultLogStorageAccountId`\" pulumi-lang-python=\"`default_log_storage_account_id`\" pulumi-lang-yaml=\"`defaultLogStorageAccountId`\" pulumi-lang-java=\"`defaultLogStorageAccountId`\"\u003e`default_log_storage_account_id`\u003c/span\u003e must be as same as \u003cspan pulumi-lang-nodejs=\"`logStorageAccountId`\" pulumi-lang-dotnet=\"`LogStorageAccountId`\" pulumi-lang-go=\"`logStorageAccountId`\" pulumi-lang-python=\"`log_storage_account_id`\" pulumi-lang-yaml=\"`logStorageAccountId`\" pulumi-lang-java=\"`logStorageAccountId`\"\u003e`log_storage_account_id`\u003c/span\u003e of every \u003cspan pulumi-lang-nodejs=\"`managedDisk`\" pulumi-lang-dotnet=\"`ManagedDisk`\" pulumi-lang-go=\"`managedDisk`\" pulumi-lang-python=\"`managed_disk`\" pulumi-lang-yaml=\"`managedDisk`\" pulumi-lang-java=\"`managedDisk`\"\u003e`managed_disk`\u003c/span\u003e or it forces a new resource to be created.\n"},"defaultRecoveryDiskType":{"type":"string","description":"The type of storage account that should be used for recovery disks when a failover is done. Possible values are `Premium_LRS`, `PremiumV2_LRS`, `Premium_ZRS`, `Standard_LRS`, `StandardSSD_LRS`, `StandardSSD_ZRS` and `UltraSSD_LRS`.\n\n\u003e **Note:** Only one of \u003cspan pulumi-lang-nodejs=\"`defaultRecoveryDiskType`\" pulumi-lang-dotnet=\"`DefaultRecoveryDiskType`\" pulumi-lang-go=\"`defaultRecoveryDiskType`\" pulumi-lang-python=\"`default_recovery_disk_type`\" pulumi-lang-yaml=\"`defaultRecoveryDiskType`\" pulumi-lang-java=\"`defaultRecoveryDiskType`\"\u003e`default_recovery_disk_type`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`managedDisk`\" pulumi-lang-dotnet=\"`ManagedDisk`\" pulumi-lang-go=\"`managedDisk`\" pulumi-lang-python=\"`managed_disk`\" pulumi-lang-yaml=\"`managedDisk`\" pulumi-lang-java=\"`managedDisk`\"\u003e`managed_disk`\u003c/span\u003e must be specified.\n\n\u003e **Note:** Changing \u003cspan pulumi-lang-nodejs=\"`defaultRecoveryDiskType`\" pulumi-lang-dotnet=\"`DefaultRecoveryDiskType`\" pulumi-lang-go=\"`defaultRecoveryDiskType`\" pulumi-lang-python=\"`default_recovery_disk_type`\" pulumi-lang-yaml=\"`defaultRecoveryDiskType`\" pulumi-lang-java=\"`defaultRecoveryDiskType`\"\u003e`default_recovery_disk_type`\u003c/span\u003e forces a new resource to be created. But removing it does not.\n\n\u003e **Note:** When \u003cspan pulumi-lang-nodejs=\"`defaultRecoveryDiskType`\" pulumi-lang-dotnet=\"`DefaultRecoveryDiskType`\" pulumi-lang-go=\"`defaultRecoveryDiskType`\" pulumi-lang-python=\"`default_recovery_disk_type`\" pulumi-lang-yaml=\"`defaultRecoveryDiskType`\" pulumi-lang-java=\"`defaultRecoveryDiskType`\"\u003e`default_recovery_disk_type`\u003c/span\u003e co-exist with \u003cspan pulumi-lang-nodejs=\"`managedDisk`\" pulumi-lang-dotnet=\"`ManagedDisk`\" pulumi-lang-go=\"`managedDisk`\" pulumi-lang-python=\"`managed_disk`\" pulumi-lang-yaml=\"`managedDisk`\" pulumi-lang-java=\"`managedDisk`\"\u003e`managed_disk`\u003c/span\u003e, the value of \u003cspan pulumi-lang-nodejs=\"`defaultRecoveryDiskType`\" pulumi-lang-dotnet=\"`DefaultRecoveryDiskType`\" pulumi-lang-go=\"`defaultRecoveryDiskType`\" pulumi-lang-python=\"`default_recovery_disk_type`\" pulumi-lang-yaml=\"`defaultRecoveryDiskType`\" pulumi-lang-java=\"`defaultRecoveryDiskType`\"\u003e`default_recovery_disk_type`\u003c/span\u003e must be as same as \u003cspan pulumi-lang-nodejs=\"`targetDiskType`\" pulumi-lang-dotnet=\"`TargetDiskType`\" pulumi-lang-go=\"`targetDiskType`\" pulumi-lang-python=\"`target_disk_type`\" pulumi-lang-yaml=\"`targetDiskType`\" pulumi-lang-java=\"`targetDiskType`\"\u003e`target_disk_type`\u003c/span\u003e of every \u003cspan pulumi-lang-nodejs=\"`managedDisk`\" pulumi-lang-dotnet=\"`ManagedDisk`\" pulumi-lang-go=\"`managedDisk`\" pulumi-lang-python=\"`managed_disk`\" pulumi-lang-yaml=\"`managedDisk`\" pulumi-lang-java=\"`managedDisk`\"\u003e`managed_disk`\u003c/span\u003e or it forces a new resource to be created.\n"},"defaultTargetDiskEncryptionSetId":{"type":"string","description":"The ID of the default Disk Encryption Set that should be used for the disks when a failover is done.\n\n\u003e **Note:** Changing \u003cspan pulumi-lang-nodejs=\"`defaultTargetDiskEncryptionSetId`\" pulumi-lang-dotnet=\"`DefaultTargetDiskEncryptionSetId`\" pulumi-lang-go=\"`defaultTargetDiskEncryptionSetId`\" pulumi-lang-python=\"`default_target_disk_encryption_set_id`\" pulumi-lang-yaml=\"`defaultTargetDiskEncryptionSetId`\" pulumi-lang-java=\"`defaultTargetDiskEncryptionSetId`\"\u003e`default_target_disk_encryption_set_id`\u003c/span\u003e forces a new resource to be created. But removing it does not.\n\n\u003e **Note:** When \u003cspan pulumi-lang-nodejs=\"`defaultTargetDiskEncryptionSetId`\" pulumi-lang-dotnet=\"`DefaultTargetDiskEncryptionSetId`\" pulumi-lang-go=\"`defaultTargetDiskEncryptionSetId`\" pulumi-lang-python=\"`default_target_disk_encryption_set_id`\" pulumi-lang-yaml=\"`defaultTargetDiskEncryptionSetId`\" pulumi-lang-java=\"`defaultTargetDiskEncryptionSetId`\"\u003e`default_target_disk_encryption_set_id`\u003c/span\u003e co-exist with \u003cspan pulumi-lang-nodejs=\"`managedDisk`\" pulumi-lang-dotnet=\"`ManagedDisk`\" pulumi-lang-go=\"`managedDisk`\" pulumi-lang-python=\"`managed_disk`\" pulumi-lang-yaml=\"`managedDisk`\" pulumi-lang-java=\"`managedDisk`\"\u003e`managed_disk`\u003c/span\u003e, the value of \u003cspan pulumi-lang-nodejs=\"`defaultTargetDiskEncryptionSetId`\" pulumi-lang-dotnet=\"`DefaultTargetDiskEncryptionSetId`\" pulumi-lang-go=\"`defaultTargetDiskEncryptionSetId`\" pulumi-lang-python=\"`default_target_disk_encryption_set_id`\" pulumi-lang-yaml=\"`defaultTargetDiskEncryptionSetId`\" pulumi-lang-java=\"`defaultTargetDiskEncryptionSetId`\"\u003e`default_target_disk_encryption_set_id`\u003c/span\u003e must be as same as \u003cspan pulumi-lang-nodejs=\"`targetDiskEncryptionSetId`\" pulumi-lang-dotnet=\"`TargetDiskEncryptionSetId`\" pulumi-lang-go=\"`targetDiskEncryptionSetId`\" pulumi-lang-python=\"`target_disk_encryption_set_id`\" pulumi-lang-yaml=\"`targetDiskEncryptionSetId`\" pulumi-lang-java=\"`targetDiskEncryptionSetId`\"\u003e`target_disk_encryption_set_id`\u003c/span\u003e of every \u003cspan pulumi-lang-nodejs=\"`managedDisk`\" pulumi-lang-dotnet=\"`ManagedDisk`\" pulumi-lang-go=\"`managedDisk`\" pulumi-lang-python=\"`managed_disk`\" pulumi-lang-yaml=\"`managedDisk`\" pulumi-lang-java=\"`managedDisk`\"\u003e`managed_disk`\u003c/span\u003e or it forces a new resource to be created.\n"},"licenseType":{"type":"string","description":"The license type of the VM. Possible values are `NoLicenseType`, `NotSpecified` and `WindowsServer`. Defaults to `NotSpecified`.\n"},"managedDisks":{"type":"array","items":{"$ref":"#/types/azure:siterecovery/VmwareReplicatedVmManagedDisk:VmwareReplicatedVmManagedDisk"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`managedDisk`\" pulumi-lang-dotnet=\"`ManagedDisk`\" pulumi-lang-go=\"`managedDisk`\" pulumi-lang-python=\"`managed_disk`\" pulumi-lang-yaml=\"`managedDisk`\" pulumi-lang-java=\"`managedDisk`\"\u003e`managed_disk`\u003c/span\u003e block as defined below. It's available only if mobility service is already installed on the source VM.\n\n\u003e **Note:** A replicated VM could be created without \u003cspan pulumi-lang-nodejs=\"`managedDisk`\" pulumi-lang-dotnet=\"`ManagedDisk`\" pulumi-lang-go=\"`managedDisk`\" pulumi-lang-python=\"`managed_disk`\" pulumi-lang-yaml=\"`managedDisk`\" pulumi-lang-java=\"`managedDisk`\"\u003e`managed_disk`\u003c/span\u003e block, once the block has been specified, changing it expect removing it forces a new resource to be created.\n"},"multiVmGroupName":{"type":"string","description":"Name of group in which all machines will replicate together and have shared crash consistent and app-consistent recovery points when failed over.\n"},"name":{"type":"string","description":"The name of the replicated VM. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"networkInterfaces":{"type":"array","items":{"$ref":"#/types/azure:siterecovery/VmwareReplicatedVmNetworkInterface:VmwareReplicatedVmNetworkInterface"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`networkInterface`\" pulumi-lang-dotnet=\"`NetworkInterface`\" pulumi-lang-go=\"`networkInterface`\" pulumi-lang-python=\"`network_interface`\" pulumi-lang-yaml=\"`networkInterface`\" pulumi-lang-java=\"`networkInterface`\"\u003e`network_interface`\u003c/span\u003e block as defined below.\n"},"physicalServerCredentialName":{"type":"string","description":"The name of the credential to access the source VM. Changing this forces a new resource to be created. More information about the credentials could be found [here](https://learn.microsoft.com/en-us/azure/site-recovery/deploy-vmware-azure-replication-appliance-modernized).\n","willReplaceOnChanges":true},"recoveryReplicationPolicyId":{"type":"string","description":"The ID of the policy to use for this replicated VM.\n"},"recoveryVaultId":{"type":"string","description":"The ID of the Recovery Services Vault where the replicated VM is created.\n"},"sourceVmName":{"type":"string","description":"The name of the source VM in VMWare. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"targetAvailabilitySetId":{"type":"string","description":"The ID of availability set that the new VM should belong to when a failover is done.\n"},"targetBootDiagnosticsStorageAccountId":{"type":"string","description":"The ID of the storage account that should be used for boot diagnostics when a failover is done.\n"},"targetNetworkId":{"type":"string","description":"The ID of network to use when a failover is done.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`targetNetworkId`\" pulumi-lang-dotnet=\"`TargetNetworkId`\" pulumi-lang-go=\"`targetNetworkId`\" pulumi-lang-python=\"`target_network_id`\" pulumi-lang-yaml=\"`targetNetworkId`\" pulumi-lang-java=\"`targetNetworkId`\"\u003e`target_network_id`\u003c/span\u003e is required when \u003cspan pulumi-lang-nodejs=\"`networkInterface`\" pulumi-lang-dotnet=\"`NetworkInterface`\" pulumi-lang-go=\"`networkInterface`\" pulumi-lang-python=\"`network_interface`\" pulumi-lang-yaml=\"`networkInterface`\" pulumi-lang-java=\"`networkInterface`\"\u003e`network_interface`\u003c/span\u003e is specified.\n"},"targetProximityPlacementGroupId":{"type":"string","description":"The ID of Proximity Placement Group the new VM should belong to when a failover is done.\n\n\u003e **Note:** Only one of \u003cspan pulumi-lang-nodejs=\"`targetAvailabilitySetId`\" pulumi-lang-dotnet=\"`TargetAvailabilitySetId`\" pulumi-lang-go=\"`targetAvailabilitySetId`\" pulumi-lang-python=\"`target_availability_set_id`\" pulumi-lang-yaml=\"`targetAvailabilitySetId`\" pulumi-lang-java=\"`targetAvailabilitySetId`\"\u003e`target_availability_set_id`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`targetZone`\" pulumi-lang-dotnet=\"`TargetZone`\" pulumi-lang-go=\"`targetZone`\" pulumi-lang-python=\"`target_zone`\" pulumi-lang-yaml=\"`targetZone`\" pulumi-lang-java=\"`targetZone`\"\u003e`target_zone`\u003c/span\u003e can be specified.\n"},"targetResourceGroupId":{"type":"string","description":"The ID of resource group where the VM should be created when a failover is done.\n"},"targetVmName":{"type":"string","description":"Name of the VM that should be created when a failover is done. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"targetVmSize":{"type":"string","description":"Size of the VM that should be created when a failover is done, such as `Standard_F2`. If it's not specified, it will automatically be set by detecting the source VM size.\n"},"targetZone":{"type":"string","description":"Specifies the Availability Zone where the Failover VM should exist.\n"},"testNetworkId":{"type":"string","description":"The ID of network to use when a test failover is done.\n"}},"type":"object"}},"azure:siterecovery/vmwareReplicationPolicyAssociation:VmwareReplicationPolicyAssociation":{"description":"Manages an Azure Site Recovery replication policy for VMWare within a Recovery Vault.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-rg\",\n    location: \"East US\",\n});\nconst exampleVault = new azure.recoveryservices.Vault(\"example\", {\n    name: \"example-recovery-vault\",\n    location: example.location,\n    resourceGroupName: example.name,\n    sku: \"Standard\",\n});\nconst exampleVMWareReplicationPolicy = new azure.siterecovery.VMWareReplicationPolicy(\"example\", {\n    name: \"example-policy\",\n    recoveryVaultId: exampleVault.id,\n    recoveryPointRetentionInMinutes: 1440,\n    applicationConsistentSnapshotFrequencyInMinutes: 240,\n});\nconst exampleVmwareReplicationPolicyAssociation = new azure.siterecovery.VmwareReplicationPolicyAssociation(\"example\", {\n    name: \"example-association\",\n    recoveryVaultId: exampleVault.id,\n    policyId: exampleVMWareReplicationPolicy.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-rg\",\n    location=\"East US\")\nexample_vault = azure.recoveryservices.Vault(\"example\",\n    name=\"example-recovery-vault\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku=\"Standard\")\nexample_vm_ware_replication_policy = azure.siterecovery.VMWareReplicationPolicy(\"example\",\n    name=\"example-policy\",\n    recovery_vault_id=example_vault.id,\n    recovery_point_retention_in_minutes=1440,\n    application_consistent_snapshot_frequency_in_minutes=240)\nexample_vmware_replication_policy_association = azure.siterecovery.VmwareReplicationPolicyAssociation(\"example\",\n    name=\"example-association\",\n    recovery_vault_id=example_vault.id,\n    policy_id=example_vm_ware_replication_policy.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-rg\",\n        Location = \"East US\",\n    });\n\n    var exampleVault = new Azure.RecoveryServices.Vault(\"example\", new()\n    {\n        Name = \"example-recovery-vault\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Sku = \"Standard\",\n    });\n\n    var exampleVMWareReplicationPolicy = new Azure.SiteRecovery.VMWareReplicationPolicy(\"example\", new()\n    {\n        Name = \"example-policy\",\n        RecoveryVaultId = exampleVault.Id,\n        RecoveryPointRetentionInMinutes = 1440,\n        ApplicationConsistentSnapshotFrequencyInMinutes = 240,\n    });\n\n    var exampleVmwareReplicationPolicyAssociation = new Azure.SiteRecovery.VmwareReplicationPolicyAssociation(\"example\", new()\n    {\n        Name = \"example-association\",\n        RecoveryVaultId = exampleVault.Id,\n        PolicyId = exampleVMWareReplicationPolicy.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/recoveryservices\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/siterecovery\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-rg\"),\n\t\t\tLocation: pulumi.String(\"East US\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVault, err := recoveryservices.NewVault(ctx, \"example\", \u0026recoveryservices.VaultArgs{\n\t\t\tName:              pulumi.String(\"example-recovery-vault\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSku:               pulumi.String(\"Standard\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVMWareReplicationPolicy, err := siterecovery.NewVMWareReplicationPolicy(ctx, \"example\", \u0026siterecovery.VMWareReplicationPolicyArgs{\n\t\t\tName:                            pulumi.String(\"example-policy\"),\n\t\t\tRecoveryVaultId:                 exampleVault.ID(),\n\t\t\tRecoveryPointRetentionInMinutes: pulumi.Int(1440),\n\t\t\tApplicationConsistentSnapshotFrequencyInMinutes: pulumi.Int(240),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = siterecovery.NewVmwareReplicationPolicyAssociation(ctx, \"example\", \u0026siterecovery.VmwareReplicationPolicyAssociationArgs{\n\t\t\tName:            pulumi.String(\"example-association\"),\n\t\t\tRecoveryVaultId: exampleVault.ID(),\n\t\t\tPolicyId:        exampleVMWareReplicationPolicy.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.recoveryservices.Vault;\nimport com.pulumi.azure.recoveryservices.VaultArgs;\nimport com.pulumi.azure.siterecovery.VMWareReplicationPolicy;\nimport com.pulumi.azure.siterecovery.VMWareReplicationPolicyArgs;\nimport com.pulumi.azure.siterecovery.VmwareReplicationPolicyAssociation;\nimport com.pulumi.azure.siterecovery.VmwareReplicationPolicyAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-rg\")\n            .location(\"East US\")\n            .build());\n\n        var exampleVault = new Vault(\"exampleVault\", VaultArgs.builder()\n            .name(\"example-recovery-vault\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .sku(\"Standard\")\n            .build());\n\n        var exampleVMWareReplicationPolicy = new VMWareReplicationPolicy(\"exampleVMWareReplicationPolicy\", VMWareReplicationPolicyArgs.builder()\n            .name(\"example-policy\")\n            .recoveryVaultId(exampleVault.id())\n            .recoveryPointRetentionInMinutes(1440)\n            .applicationConsistentSnapshotFrequencyInMinutes(240)\n            .build());\n\n        var exampleVmwareReplicationPolicyAssociation = new VmwareReplicationPolicyAssociation(\"exampleVmwareReplicationPolicyAssociation\", VmwareReplicationPolicyAssociationArgs.builder()\n            .name(\"example-association\")\n            .recoveryVaultId(exampleVault.id())\n            .policyId(exampleVMWareReplicationPolicy.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-rg\n      location: East US\n  exampleVault:\n    type: azure:recoveryservices:Vault\n    name: example\n    properties:\n      name: example-recovery-vault\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      sku: Standard\n  exampleVMWareReplicationPolicy:\n    type: azure:siterecovery:VMWareReplicationPolicy\n    name: example\n    properties:\n      name: example-policy\n      recoveryVaultId: ${exampleVault.id}\n      recoveryPointRetentionInMinutes: 1440\n      applicationConsistentSnapshotFrequencyInMinutes: 240\n  exampleVmwareReplicationPolicyAssociation:\n    type: azure:siterecovery:VmwareReplicationPolicyAssociation\n    name: example\n    properties:\n      name: example-association\n      recoveryVaultId: ${exampleVault.id}\n      policyId: ${exampleVMWareReplicationPolicy.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.RecoveryServices` - 2024-04-01\n\n## Import\n\nSite Recovery Replication Policies can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:siterecovery/vmwareReplicationPolicyAssociation:VmwareReplicationPolicyAssociation mypolicy /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resource-group-name/providers/Microsoft.RecoveryServices/vaults/recovery-vault-name/replicationFabrics/site-name/replicationProtectionContainers/container-name/replicationProtectionContainerMappings/mapping-name\n```\n\n","properties":{"name":{"type":"string","description":"The name of the replication policy association. Changing this forces a new association to be created.\n"},"policyId":{"type":"string","description":"The ID of the VMWare replication policy which to be associated. Changing this forces a new association to be created.\n"},"recoveryVaultId":{"type":"string","description":"The ID of the Recovery Service Vault to which the policy should be associated.\nChanging this forces a new association to be created.\n"}},"required":["name","policyId","recoveryVaultId"],"inputProperties":{"name":{"type":"string","description":"The name of the replication policy association. Changing this forces a new association to be created.\n","willReplaceOnChanges":true},"policyId":{"type":"string","description":"The ID of the VMWare replication policy which to be associated. Changing this forces a new association to be created.\n","willReplaceOnChanges":true},"recoveryVaultId":{"type":"string","description":"The ID of the Recovery Service Vault to which the policy should be associated.\nChanging this forces a new association to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["policyId","recoveryVaultId"],"stateInputs":{"description":"Input properties used for looking up and filtering VmwareReplicationPolicyAssociation resources.\n","properties":{"name":{"type":"string","description":"The name of the replication policy association. Changing this forces a new association to be created.\n","willReplaceOnChanges":true},"policyId":{"type":"string","description":"The ID of the VMWare replication policy which to be associated. Changing this forces a new association to be created.\n","willReplaceOnChanges":true},"recoveryVaultId":{"type":"string","description":"The ID of the Recovery Service Vault to which the policy should be associated.\nChanging this forces a new association to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:stack/hciCluster:HciCluster":{"description":"Manages an Azure Stack HCI Cluster.\n\n## Import\n\nAzure Stack HCI Clusters can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:stack/hciCluster:HciCluster example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.AzureStackHCI/clusters/cluster1\n```\n\n","properties":{"automanageConfigurationId":{"type":"string","description":"The ID of the Automanage Configuration assigned to the Azure Stack HCI Cluster.\n"},"clientId":{"type":"string","description":"The Client ID of the Azure Active Directory Application which is used by the Azure Stack HCI Cluster. Changing this forces a new resource to be created.\n"},"cloudId":{"type":"string","description":"An immutable UUID for the Azure Stack HCI Cluster.\n"},"identity":{"$ref":"#/types/azure:stack/HciClusterIdentity:HciClusterIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"location":{"type":"string","description":"The Azure Region where the Azure Stack HCI Cluster should exist. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"The name which should be used for this Azure Stack HCI Cluster. Changing this forces a new resource to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Azure Stack HCI Cluster should exist. Changing this forces a new resource to be created.\n"},"resourceProviderObjectId":{"type":"string","description":"The object ID of the Resource Provider Service Principal.\n"},"serviceEndpoint":{"type":"string","description":"The region specific Data Path Endpoint of the Azure Stack HCI Cluster.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Azure Stack HCI Cluster.\n"},"tenantId":{"type":"string","description":"The Tenant ID of the Azure Active Directory which is used by the Azure Stack HCI Cluster. Changing this forces a new resource to be created.\n\n\u003e **Note:** If unspecified the Tenant ID of the Provider will be used.\n"}},"required":["cloudId","location","name","resourceGroupName","resourceProviderObjectId","serviceEndpoint","tenantId"],"inputProperties":{"automanageConfigurationId":{"type":"string","description":"The ID of the Automanage Configuration assigned to the Azure Stack HCI Cluster.\n"},"clientId":{"type":"string","description":"The Client ID of the Azure Active Directory Application which is used by the Azure Stack HCI Cluster. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"identity":{"$ref":"#/types/azure:stack/HciClusterIdentity:HciClusterIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"location":{"type":"string","description":"The Azure Region where the Azure Stack HCI Cluster should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Azure Stack HCI Cluster. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Azure Stack HCI Cluster should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Azure Stack HCI Cluster.\n"},"tenantId":{"type":"string","description":"The Tenant ID of the Azure Active Directory which is used by the Azure Stack HCI Cluster. Changing this forces a new resource to be created.\n\n\u003e **Note:** If unspecified the Tenant ID of the Provider will be used.\n","willReplaceOnChanges":true}},"requiredInputs":["resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering HciCluster resources.\n","properties":{"automanageConfigurationId":{"type":"string","description":"The ID of the Automanage Configuration assigned to the Azure Stack HCI Cluster.\n"},"clientId":{"type":"string","description":"The Client ID of the Azure Active Directory Application which is used by the Azure Stack HCI Cluster. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"cloudId":{"type":"string","description":"An immutable UUID for the Azure Stack HCI Cluster.\n"},"identity":{"$ref":"#/types/azure:stack/HciClusterIdentity:HciClusterIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"location":{"type":"string","description":"The Azure Region where the Azure Stack HCI Cluster should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Azure Stack HCI Cluster. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Azure Stack HCI Cluster should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceProviderObjectId":{"type":"string","description":"The object ID of the Resource Provider Service Principal.\n"},"serviceEndpoint":{"type":"string","description":"The region specific Data Path Endpoint of the Azure Stack HCI Cluster.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Azure Stack HCI Cluster.\n"},"tenantId":{"type":"string","description":"The Tenant ID of the Azure Active Directory which is used by the Azure Stack HCI Cluster. Changing this forces a new resource to be created.\n\n\u003e **Note:** If unspecified the Tenant ID of the Provider will be used.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:stack/hciDeploymentSetting:HciDeploymentSetting":{"description":"Manages a Stack HCI Deployment Setting.\n\n\u003e **Note:** Completion of the prerequisites of deploying the Azure Stack HCI in your environment is outside the scope of this document. For more details refer to the [Azure Stack HCI deployment sequence](https://learn.microsoft.com/en-us/azure-stack/hci/deploy/deployment-introduction#deployment-sequence). If you encounter issues completing the prerequisites, we'd recommend opening a ticket with Microsoft Support.\n\n\u003e **Note:** During the deployment process, the service will generate additional resources, including a new Arc Bridge Appliance and a Custom Location containing several Stack HCI Storage Paths. The provider will attempt to remove these resources on the deletion or recreation of \u003cspan pulumi-lang-nodejs=\"`azure.stack.HciDeploymentSetting`\" pulumi-lang-dotnet=\"`azure.stack.HciDeploymentSetting`\" pulumi-lang-go=\"`stack.HciDeploymentSetting`\" pulumi-lang-python=\"`stack.HciDeploymentSetting`\" pulumi-lang-yaml=\"`azure.stack.HciDeploymentSetting`\" pulumi-lang-java=\"`azure.stack.HciDeploymentSetting`\"\u003e`azure.stack.HciDeploymentSetting`\u003c/span\u003e.\n\n## Import\n\nStack HCI Deployment Settings can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:stack/hciDeploymentSetting:HciDeploymentSetting example /subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/group1/providers/Microsoft.AzureStackHCI/clusters/clus1/deploymentSettings/default\n```\n\n","properties":{"arcResourceIds":{"type":"array","items":{"type":"string"},"description":"Specifies a list of IDs of Azure ARC machine resource to be part of cluster. Changing this forces a new Stack HCI Deployment Setting to be created.\n"},"scaleUnits":{"type":"array","items":{"$ref":"#/types/azure:stack/HciDeploymentSettingScaleUnit:HciDeploymentSettingScaleUnit"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`scaleUnit`\" pulumi-lang-dotnet=\"`ScaleUnit`\" pulumi-lang-go=\"`scaleUnit`\" pulumi-lang-python=\"`scale_unit`\" pulumi-lang-yaml=\"`scaleUnit`\" pulumi-lang-java=\"`scaleUnit`\"\u003e`scale_unit`\u003c/span\u003e blocks as defined below. Changing this forces a new Stack HCI Deployment Setting to be created.\n"},"stackHciClusterId":{"type":"string","description":"The ID of the Azure Stack HCI cluster. Changing this forces a new Stack HCI Deployment Setting to be created.\n"},"version":{"type":"string","description":"The deployment template version. The format must be a set of numbers separated by dots such as `10.0.0.0`. Changing this forces a new Stack HCI Deployment Setting to be created.\n"}},"required":["arcResourceIds","scaleUnits","stackHciClusterId","version"],"inputProperties":{"arcResourceIds":{"type":"array","items":{"type":"string"},"description":"Specifies a list of IDs of Azure ARC machine resource to be part of cluster. Changing this forces a new Stack HCI Deployment Setting to be created.\n","willReplaceOnChanges":true},"scaleUnits":{"type":"array","items":{"$ref":"#/types/azure:stack/HciDeploymentSettingScaleUnit:HciDeploymentSettingScaleUnit"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`scaleUnit`\" pulumi-lang-dotnet=\"`ScaleUnit`\" pulumi-lang-go=\"`scaleUnit`\" pulumi-lang-python=\"`scale_unit`\" pulumi-lang-yaml=\"`scaleUnit`\" pulumi-lang-java=\"`scaleUnit`\"\u003e`scale_unit`\u003c/span\u003e blocks as defined below. Changing this forces a new Stack HCI Deployment Setting to be created.\n","willReplaceOnChanges":true},"stackHciClusterId":{"type":"string","description":"The ID of the Azure Stack HCI cluster. Changing this forces a new Stack HCI Deployment Setting to be created.\n","willReplaceOnChanges":true},"version":{"type":"string","description":"The deployment template version. The format must be a set of numbers separated by dots such as `10.0.0.0`. Changing this forces a new Stack HCI Deployment Setting to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["arcResourceIds","scaleUnits","stackHciClusterId","version"],"stateInputs":{"description":"Input properties used for looking up and filtering HciDeploymentSetting resources.\n","properties":{"arcResourceIds":{"type":"array","items":{"type":"string"},"description":"Specifies a list of IDs of Azure ARC machine resource to be part of cluster. Changing this forces a new Stack HCI Deployment Setting to be created.\n","willReplaceOnChanges":true},"scaleUnits":{"type":"array","items":{"$ref":"#/types/azure:stack/HciDeploymentSettingScaleUnit:HciDeploymentSettingScaleUnit"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`scaleUnit`\" pulumi-lang-dotnet=\"`ScaleUnit`\" pulumi-lang-go=\"`scaleUnit`\" pulumi-lang-python=\"`scale_unit`\" pulumi-lang-yaml=\"`scaleUnit`\" pulumi-lang-java=\"`scaleUnit`\"\u003e`scale_unit`\u003c/span\u003e blocks as defined below. Changing this forces a new Stack HCI Deployment Setting to be created.\n","willReplaceOnChanges":true},"stackHciClusterId":{"type":"string","description":"The ID of the Azure Stack HCI cluster. Changing this forces a new Stack HCI Deployment Setting to be created.\n","willReplaceOnChanges":true},"version":{"type":"string","description":"The deployment template version. The format must be a set of numbers separated by dots such as `10.0.0.0`. Changing this forces a new Stack HCI Deployment Setting to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:stack/hciExtension:HciExtension":{"description":"Manages an Azure Stack HCI Extension.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-hci-ext\",\n    location: \"West Europe\",\n});\nconst exampleHciExtension = new azure.stack.HciExtension(\"example\", {\n    name: \"AzureMonitorWindowsAgent\",\n    arcSettingId: \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/example-hci/providers/Microsoft.AzureStackHCI/clusters/hci-cl/arcSettings/default\",\n    publisher: \"Microsoft.Azure.Monitor\",\n    type: \"MicrosoftMonitoringAgent\",\n    autoUpgradeMinorVersionEnabled: true,\n    automaticUpgradeEnabled: true,\n    typeHandlerVersion: \"1.22.0\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-hci-ext\",\n    location=\"West Europe\")\nexample_hci_extension = azure.stack.HciExtension(\"example\",\n    name=\"AzureMonitorWindowsAgent\",\n    arc_setting_id=\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/example-hci/providers/Microsoft.AzureStackHCI/clusters/hci-cl/arcSettings/default\",\n    publisher=\"Microsoft.Azure.Monitor\",\n    type=\"MicrosoftMonitoringAgent\",\n    auto_upgrade_minor_version_enabled=True,\n    automatic_upgrade_enabled=True,\n    type_handler_version=\"1.22.0\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-hci-ext\",\n        Location = \"West Europe\",\n    });\n\n    var exampleHciExtension = new Azure.Stack.HciExtension(\"example\", new()\n    {\n        Name = \"AzureMonitorWindowsAgent\",\n        ArcSettingId = \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/example-hci/providers/Microsoft.AzureStackHCI/clusters/hci-cl/arcSettings/default\",\n        Publisher = \"Microsoft.Azure.Monitor\",\n        Type = \"MicrosoftMonitoringAgent\",\n        AutoUpgradeMinorVersionEnabled = true,\n        AutomaticUpgradeEnabled = true,\n        TypeHandlerVersion = \"1.22.0\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/stack\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-hci-ext\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = stack.NewHciExtension(ctx, \"example\", \u0026stack.HciExtensionArgs{\n\t\t\tName:                           pulumi.String(\"AzureMonitorWindowsAgent\"),\n\t\t\tArcSettingId:                   pulumi.String(\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/example-hci/providers/Microsoft.AzureStackHCI/clusters/hci-cl/arcSettings/default\"),\n\t\t\tPublisher:                      pulumi.String(\"Microsoft.Azure.Monitor\"),\n\t\t\tType:                           pulumi.String(\"MicrosoftMonitoringAgent\"),\n\t\t\tAutoUpgradeMinorVersionEnabled: pulumi.Bool(true),\n\t\t\tAutomaticUpgradeEnabled:        pulumi.Bool(true),\n\t\t\tTypeHandlerVersion:             pulumi.String(\"1.22.0\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.stack.HciExtension;\nimport com.pulumi.azure.stack.HciExtensionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-hci-ext\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleHciExtension = new HciExtension(\"exampleHciExtension\", HciExtensionArgs.builder()\n            .name(\"AzureMonitorWindowsAgent\")\n            .arcSettingId(\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/example-hci/providers/Microsoft.AzureStackHCI/clusters/hci-cl/arcSettings/default\")\n            .publisher(\"Microsoft.Azure.Monitor\")\n            .type(\"MicrosoftMonitoringAgent\")\n            .autoUpgradeMinorVersionEnabled(true)\n            .automaticUpgradeEnabled(true)\n            .typeHandlerVersion(\"1.22.0\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-hci-ext\n      location: West Europe\n  exampleHciExtension:\n    type: azure:stack:HciExtension\n    name: example\n    properties:\n      name: AzureMonitorWindowsAgent\n      arcSettingId: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/example-hci/providers/Microsoft.AzureStackHCI/clusters/hci-cl/arcSettings/default\n      publisher: Microsoft.Azure.Monitor\n      type: MicrosoftMonitoringAgent\n      autoUpgradeMinorVersionEnabled: true\n      automaticUpgradeEnabled: true\n      typeHandlerVersion: 1.22.0\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.AzureStackHCI` - 2024-01-01\n\n## Import\n\nAzure Stack HCI Extension can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:stack/hciExtension:HciExtension example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.AzureStackHCI/clusters/cluster1/arcSettings/default/extensions/extension1\n```\n\n","properties":{"arcSettingId":{"type":"string","description":"The ID of the Azure Stack HCI Cluster Arc Setting. Changing this forces a new resource to be created.\n"},"autoUpgradeMinorVersionEnabled":{"type":"boolean","description":"Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true. Changing this forces a new resource to be created. Possible values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"automaticUpgradeEnabled":{"type":"boolean","description":"Indicates whether the extension should be automatically upgraded by the platform if there is a newer version available. Possible values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"name":{"type":"string","description":"The name which should be used for this Azure Stack HCI Extension. Changing this forces a new resource to be created.\n"},"protectedSettings":{"type":"string","description":"The json formatted protected settings for the extension.\n","secret":true},"publisher":{"type":"string","description":"The name of the extension handler publisher, such as `Microsoft.Azure.Monitor`. Changing this forces a new resource to be created.\n"},"settings":{"type":"string","description":"The json formatted public settings for the extension.\n"},"type":{"type":"string","description":"Specifies the type of the extension. For example `CustomScriptExtension` or `AzureMonitorLinuxAgent`. Changing this forces a new resource to be created.\n"},"typeHandlerVersion":{"type":"string","description":"Specifies the version of the script handler.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`typeHandlerVersion`\" pulumi-lang-dotnet=\"`TypeHandlerVersion`\" pulumi-lang-go=\"`typeHandlerVersion`\" pulumi-lang-python=\"`type_handler_version`\" pulumi-lang-yaml=\"`typeHandlerVersion`\" pulumi-lang-java=\"`typeHandlerVersion`\"\u003e`type_handler_version`\u003c/span\u003e cannot be set when \u003cspan pulumi-lang-nodejs=\"`automaticUpgradeEnabled`\" pulumi-lang-dotnet=\"`AutomaticUpgradeEnabled`\" pulumi-lang-go=\"`automaticUpgradeEnabled`\" pulumi-lang-python=\"`automatic_upgrade_enabled`\" pulumi-lang-yaml=\"`automaticUpgradeEnabled`\" pulumi-lang-java=\"`automaticUpgradeEnabled`\"\u003e`automatic_upgrade_enabled`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"}},"required":["arcSettingId","name","publisher","type"],"inputProperties":{"arcSettingId":{"type":"string","description":"The ID of the Azure Stack HCI Cluster Arc Setting. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"autoUpgradeMinorVersionEnabled":{"type":"boolean","description":"Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true. Changing this forces a new resource to be created. Possible values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n","willReplaceOnChanges":true},"automaticUpgradeEnabled":{"type":"boolean","description":"Indicates whether the extension should be automatically upgraded by the platform if there is a newer version available. Possible values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"name":{"type":"string","description":"The name which should be used for this Azure Stack HCI Extension. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"protectedSettings":{"type":"string","description":"The json formatted protected settings for the extension.\n","secret":true},"publisher":{"type":"string","description":"The name of the extension handler publisher, such as `Microsoft.Azure.Monitor`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"settings":{"type":"string","description":"The json formatted public settings for the extension.\n"},"type":{"type":"string","description":"Specifies the type of the extension. For example `CustomScriptExtension` or `AzureMonitorLinuxAgent`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"typeHandlerVersion":{"type":"string","description":"Specifies the version of the script handler.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`typeHandlerVersion`\" pulumi-lang-dotnet=\"`TypeHandlerVersion`\" pulumi-lang-go=\"`typeHandlerVersion`\" pulumi-lang-python=\"`type_handler_version`\" pulumi-lang-yaml=\"`typeHandlerVersion`\" pulumi-lang-java=\"`typeHandlerVersion`\"\u003e`type_handler_version`\u003c/span\u003e cannot be set when \u003cspan pulumi-lang-nodejs=\"`automaticUpgradeEnabled`\" pulumi-lang-dotnet=\"`AutomaticUpgradeEnabled`\" pulumi-lang-go=\"`automaticUpgradeEnabled`\" pulumi-lang-python=\"`automatic_upgrade_enabled`\" pulumi-lang-yaml=\"`automaticUpgradeEnabled`\" pulumi-lang-java=\"`automaticUpgradeEnabled`\"\u003e`automatic_upgrade_enabled`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"}},"requiredInputs":["arcSettingId","publisher","type"],"stateInputs":{"description":"Input properties used for looking up and filtering HciExtension resources.\n","properties":{"arcSettingId":{"type":"string","description":"The ID of the Azure Stack HCI Cluster Arc Setting. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"autoUpgradeMinorVersionEnabled":{"type":"boolean","description":"Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true. Changing this forces a new resource to be created. Possible values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n","willReplaceOnChanges":true},"automaticUpgradeEnabled":{"type":"boolean","description":"Indicates whether the extension should be automatically upgraded by the platform if there is a newer version available. Possible values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"name":{"type":"string","description":"The name which should be used for this Azure Stack HCI Extension. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"protectedSettings":{"type":"string","description":"The json formatted protected settings for the extension.\n","secret":true},"publisher":{"type":"string","description":"The name of the extension handler publisher, such as `Microsoft.Azure.Monitor`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"settings":{"type":"string","description":"The json formatted public settings for the extension.\n"},"type":{"type":"string","description":"Specifies the type of the extension. For example `CustomScriptExtension` or `AzureMonitorLinuxAgent`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"typeHandlerVersion":{"type":"string","description":"Specifies the version of the script handler.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`typeHandlerVersion`\" pulumi-lang-dotnet=\"`TypeHandlerVersion`\" pulumi-lang-go=\"`typeHandlerVersion`\" pulumi-lang-python=\"`type_handler_version`\" pulumi-lang-yaml=\"`typeHandlerVersion`\" pulumi-lang-java=\"`typeHandlerVersion`\"\u003e`type_handler_version`\u003c/span\u003e cannot be set when \u003cspan pulumi-lang-nodejs=\"`automaticUpgradeEnabled`\" pulumi-lang-dotnet=\"`AutomaticUpgradeEnabled`\" pulumi-lang-go=\"`automaticUpgradeEnabled`\" pulumi-lang-python=\"`automatic_upgrade_enabled`\" pulumi-lang-yaml=\"`automaticUpgradeEnabled`\" pulumi-lang-java=\"`automaticUpgradeEnabled`\"\u003e`automatic_upgrade_enabled`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"}},"type":"object"}},"azure:stack/hciLogicalNetwork:HciLogicalNetwork":{"description":"Manages an Azure Stack HCI Logical Network.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-rg\",\n    location: \"West Europe\",\n});\nconst exampleHciLogicalNetwork = new azure.stack.HciLogicalNetwork(\"example\", {\n    name: \"example-hci-ln\",\n    resourceGroupName: example.name,\n    location: example.location,\n    customLocationId: \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ExtendedLocation/customLocations/cl1\",\n    virtualSwitchName: \"ConvergedSwitch(managementcompute)\",\n    dnsServers: [\n        \"10.0.0.7\",\n        \"10.0.0.8\",\n    ],\n    subnet: {\n        ipAllocationMethod: \"Static\",\n        addressPrefix: \"10.0.0.0/24\",\n        vlanId: 123,\n        route: {\n            addressPrefix: \"0.0.0.0/0\",\n            nextHopIpAddress: \"10.0.0.1\",\n        },\n    },\n    tags: {\n        foo: \"bar\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-rg\",\n    location=\"West Europe\")\nexample_hci_logical_network = azure.stack.HciLogicalNetwork(\"example\",\n    name=\"example-hci-ln\",\n    resource_group_name=example.name,\n    location=example.location,\n    custom_location_id=\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ExtendedLocation/customLocations/cl1\",\n    virtual_switch_name=\"ConvergedSwitch(managementcompute)\",\n    dns_servers=[\n        \"10.0.0.7\",\n        \"10.0.0.8\",\n    ],\n    subnet={\n        \"ip_allocation_method\": \"Static\",\n        \"address_prefix\": \"10.0.0.0/24\",\n        \"vlan_id\": 123,\n        \"route\": {\n            \"addressPrefix\": \"0.0.0.0/0\",\n            \"nextHopIpAddress\": \"10.0.0.1\",\n        },\n    },\n    tags={\n        \"foo\": \"bar\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-rg\",\n        Location = \"West Europe\",\n    });\n\n    var exampleHciLogicalNetwork = new Azure.Stack.HciLogicalNetwork(\"example\", new()\n    {\n        Name = \"example-hci-ln\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        CustomLocationId = \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ExtendedLocation/customLocations/cl1\",\n        VirtualSwitchName = \"ConvergedSwitch(managementcompute)\",\n        DnsServers = new[]\n        {\n            \"10.0.0.7\",\n            \"10.0.0.8\",\n        },\n        Subnet = new Azure.Stack.Inputs.HciLogicalNetworkSubnetArgs\n        {\n            IpAllocationMethod = \"Static\",\n            AddressPrefix = \"10.0.0.0/24\",\n            VlanId = 123,\n            Route = \n            {\n                { \"addressPrefix\", \"0.0.0.0/0\" },\n                { \"nextHopIpAddress\", \"10.0.0.1\" },\n            },\n        },\n        Tags = \n        {\n            { \"foo\", \"bar\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/stack\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-rg\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = stack.NewHciLogicalNetwork(ctx, \"example\", \u0026stack.HciLogicalNetworkArgs{\n\t\t\tName:              pulumi.String(\"example-hci-ln\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tCustomLocationId:  pulumi.String(\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ExtendedLocation/customLocations/cl1\"),\n\t\t\tVirtualSwitchName: pulumi.String(\"ConvergedSwitch(managementcompute)\"),\n\t\t\tDnsServers: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.0.7\"),\n\t\t\t\tpulumi.String(\"10.0.0.8\"),\n\t\t\t},\n\t\t\tSubnet: \u0026stack.HciLogicalNetworkSubnetArgs{\n\t\t\t\tIpAllocationMethod: pulumi.String(\"Static\"),\n\t\t\t\tAddressPrefix:      pulumi.String(\"10.0.0.0/24\"),\n\t\t\t\tVlanId:             pulumi.Int(123),\n\t\t\t\tRoute: map[string]interface{}{\n\t\t\t\t\t\"addressPrefix\":    \"0.0.0.0/0\",\n\t\t\t\t\t\"nextHopIpAddress\": \"10.0.0.1\",\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"foo\": pulumi.String(\"bar\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.stack.HciLogicalNetwork;\nimport com.pulumi.azure.stack.HciLogicalNetworkArgs;\nimport com.pulumi.azure.stack.inputs.HciLogicalNetworkSubnetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-rg\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleHciLogicalNetwork = new HciLogicalNetwork(\"exampleHciLogicalNetwork\", HciLogicalNetworkArgs.builder()\n            .name(\"example-hci-ln\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .customLocationId(\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ExtendedLocation/customLocations/cl1\")\n            .virtualSwitchName(\"ConvergedSwitch(managementcompute)\")\n            .dnsServers(            \n                \"10.0.0.7\",\n                \"10.0.0.8\")\n            .subnet(HciLogicalNetworkSubnetArgs.builder()\n                .ipAllocationMethod(\"Static\")\n                .addressPrefix(\"10.0.0.0/24\")\n                .vlanId(123)\n                .route(Map.ofEntries(\n                    Map.entry(\"addressPrefix\", \"0.0.0.0/0\"),\n                    Map.entry(\"nextHopIpAddress\", \"10.0.0.1\")\n                ))\n                .build())\n            .tags(Map.of(\"foo\", \"bar\"))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-rg\n      location: West Europe\n  exampleHciLogicalNetwork:\n    type: azure:stack:HciLogicalNetwork\n    name: example\n    properties:\n      name: example-hci-ln\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      customLocationId: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ExtendedLocation/customLocations/cl1\n      virtualSwitchName: ConvergedSwitch(managementcompute)\n      dnsServers:\n        - 10.0.0.7\n        - 10.0.0.8\n      subnet:\n        ipAllocationMethod: Static\n        addressPrefix: 10.0.0.0/24\n        vlanId: 123\n        route:\n          addressPrefix: 0.0.0.0/0\n          nextHopIpAddress: 10.0.0.1\n      tags:\n        foo: bar\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.AzureStackHCI` - 2024-01-01\n\n## Import\n\nAzure Stack HCI Logical Networks can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:stack/hciLogicalNetwork:HciLogicalNetwork example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.AzureStackHCI/logicalNetworks/ln1\n```\n\n","properties":{"customLocationId":{"type":"string","description":"The ID of Custom Location where the Azure Stack HCI Logical Network should exist. Changing this forces a new resource to be created.\n"},"dnsServers":{"type":"array","items":{"type":"string"},"description":"A list of IPv4 addresses of DNS servers available to VMs deployed in the Logical Networks. Changing this forces a new resource to be created.\n"},"location":{"type":"string","description":"The Azure Region where the Azure Stack HCI Logical Network should exist. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"The name which should be used for this Azure Stack HCI Logical Network. Changing this forces a new resource to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Azure Stack HCI Logical Network should exist. Changing this forces a new resource to be created.\n"},"subnet":{"$ref":"#/types/azure:stack/HciLogicalNetworkSubnet:HciLogicalNetworkSubnet","description":"A \u003cspan pulumi-lang-nodejs=\"`subnet`\" pulumi-lang-dotnet=\"`Subnet`\" pulumi-lang-go=\"`subnet`\" pulumi-lang-python=\"`subnet`\" pulumi-lang-yaml=\"`subnet`\" pulumi-lang-java=\"`subnet`\"\u003e`subnet`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Azure Stack HCI Logical Network.\n"},"virtualSwitchName":{"type":"string","description":"The name of the virtual switch on the cluster used to associate with the Azure Stack HCI Logical Network. Possible switch names can be retrieved by following this [Azure guide](https://learn.microsoft.com/azure-stack/hci/manage/create-logical-networks?tabs=azurecli#prerequisites). Changing this forces a new resource to be created.\n"}},"required":["customLocationId","location","name","resourceGroupName","subnet","virtualSwitchName"],"inputProperties":{"customLocationId":{"type":"string","description":"The ID of Custom Location where the Azure Stack HCI Logical Network should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"dnsServers":{"type":"array","items":{"type":"string"},"description":"A list of IPv4 addresses of DNS servers available to VMs deployed in the Logical Networks. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"location":{"type":"string","description":"The Azure Region where the Azure Stack HCI Logical Network should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Azure Stack HCI Logical Network. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Azure Stack HCI Logical Network should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"subnet":{"$ref":"#/types/azure:stack/HciLogicalNetworkSubnet:HciLogicalNetworkSubnet","description":"A \u003cspan pulumi-lang-nodejs=\"`subnet`\" pulumi-lang-dotnet=\"`Subnet`\" pulumi-lang-go=\"`subnet`\" pulumi-lang-python=\"`subnet`\" pulumi-lang-yaml=\"`subnet`\" pulumi-lang-java=\"`subnet`\"\u003e`subnet`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Azure Stack HCI Logical Network.\n"},"virtualSwitchName":{"type":"string","description":"The name of the virtual switch on the cluster used to associate with the Azure Stack HCI Logical Network. Possible switch names can be retrieved by following this [Azure guide](https://learn.microsoft.com/azure-stack/hci/manage/create-logical-networks?tabs=azurecli#prerequisites). Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["customLocationId","resourceGroupName","subnet","virtualSwitchName"],"stateInputs":{"description":"Input properties used for looking up and filtering HciLogicalNetwork resources.\n","properties":{"customLocationId":{"type":"string","description":"The ID of Custom Location where the Azure Stack HCI Logical Network should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"dnsServers":{"type":"array","items":{"type":"string"},"description":"A list of IPv4 addresses of DNS servers available to VMs deployed in the Logical Networks. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"location":{"type":"string","description":"The Azure Region where the Azure Stack HCI Logical Network should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Azure Stack HCI Logical Network. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Azure Stack HCI Logical Network should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"subnet":{"$ref":"#/types/azure:stack/HciLogicalNetworkSubnet:HciLogicalNetworkSubnet","description":"A \u003cspan pulumi-lang-nodejs=\"`subnet`\" pulumi-lang-dotnet=\"`Subnet`\" pulumi-lang-go=\"`subnet`\" pulumi-lang-python=\"`subnet`\" pulumi-lang-yaml=\"`subnet`\" pulumi-lang-java=\"`subnet`\"\u003e`subnet`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Azure Stack HCI Logical Network.\n"},"virtualSwitchName":{"type":"string","description":"The name of the virtual switch on the cluster used to associate with the Azure Stack HCI Logical Network. Possible switch names can be retrieved by following this [Azure guide](https://learn.microsoft.com/azure-stack/hci/manage/create-logical-networks?tabs=azurecli#prerequisites). Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:stack/hciMarketplaceGalleryImage:HciMarketplaceGalleryImage":{"description":"Manages an Azure Stack HCI Marketplace Gallery Image.\n\n## Import\n\nAzure Stack HCI Marketplace Gallery Images can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:stack/hciMarketplaceGalleryImage:HciMarketplaceGalleryImage example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.AzureStackHCI/marketplaceGalleryImages/image1\n```\n\n","properties":{"customLocationId":{"type":"string","description":"The ID of the Custom Location where the Azure Stack HCI Marketplace Gallery Image should exist. Changing this forces a new resource to be created.\n"},"hypervGeneration":{"type":"string","description":"The hypervisor generation of the Azure Stack HCI Marketplace Gallery Image. Possible values are `V1` and `V2`. Changing this forces a new Azure Stack HCI Marketplace Gallery Image to be created.\n"},"identifier":{"$ref":"#/types/azure:stack/HciMarketplaceGalleryImageIdentifier:HciMarketplaceGalleryImageIdentifier","description":"An \u003cspan pulumi-lang-nodejs=\"`identifier`\" pulumi-lang-dotnet=\"`Identifier`\" pulumi-lang-go=\"`identifier`\" pulumi-lang-python=\"`identifier`\" pulumi-lang-yaml=\"`identifier`\" pulumi-lang-java=\"`identifier`\"\u003e`identifier`\u003c/span\u003e block as defined below. Changing this forces a new Azure Stack HCI Marketplace Gallery Image to be created.\n"},"location":{"type":"string","description":"The Azure Region where the Azure Stack HCI Marketplace Gallery Image should exist. Changing this forces a new Azure Stack HCI Marketplace Gallery Image to be created.\n"},"name":{"type":"string","description":"The name which should be used for this Azure Stack HCI Marketplace Gallery Image. Changing this forces a new Azure Stack HCI Marketplace Gallery Image to be created.\n"},"osType":{"type":"string","description":"The Operating System type of the Azure Stack HCI Marketplace Gallery Image. Possible values are `Windows` and `Linux`. Changing this forces a new Azure Stack HCI Marketplace Gallery Image to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Azure Stack HCI Marketplace Gallery Image should exist. Changing this forces a new Azure Stack HCI Marketplace Gallery Image to be created.\n"},"storagePathId":{"type":"string","description":"The ID of the Azure Stack HCI Storage Path used for this Marketplace Gallery Image. Changing this forces a new Azure Stack HCI Virtual Hard Disk to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Azure Stack HCI Marketplace Gallery Image.\n"},"version":{"type":"string","description":"The version of the Azure Stack HCI Marketplace Gallery Image. Changing this forces a new Azure Stack HCI Marketplace Gallery Image to be created.\n"}},"required":["customLocationId","hypervGeneration","identifier","location","name","osType","resourceGroupName","version"],"inputProperties":{"customLocationId":{"type":"string","description":"The ID of the Custom Location where the Azure Stack HCI Marketplace Gallery Image should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"hypervGeneration":{"type":"string","description":"The hypervisor generation of the Azure Stack HCI Marketplace Gallery Image. Possible values are `V1` and `V2`. Changing this forces a new Azure Stack HCI Marketplace Gallery Image to be created.\n","willReplaceOnChanges":true},"identifier":{"$ref":"#/types/azure:stack/HciMarketplaceGalleryImageIdentifier:HciMarketplaceGalleryImageIdentifier","description":"An \u003cspan pulumi-lang-nodejs=\"`identifier`\" pulumi-lang-dotnet=\"`Identifier`\" pulumi-lang-go=\"`identifier`\" pulumi-lang-python=\"`identifier`\" pulumi-lang-yaml=\"`identifier`\" pulumi-lang-java=\"`identifier`\"\u003e`identifier`\u003c/span\u003e block as defined below. Changing this forces a new Azure Stack HCI Marketplace Gallery Image to be created.\n","willReplaceOnChanges":true},"location":{"type":"string","description":"The Azure Region where the Azure Stack HCI Marketplace Gallery Image should exist. Changing this forces a new Azure Stack HCI Marketplace Gallery Image to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Azure Stack HCI Marketplace Gallery Image. Changing this forces a new Azure Stack HCI Marketplace Gallery Image to be created.\n","willReplaceOnChanges":true},"osType":{"type":"string","description":"The Operating System type of the Azure Stack HCI Marketplace Gallery Image. Possible values are `Windows` and `Linux`. Changing this forces a new Azure Stack HCI Marketplace Gallery Image to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Azure Stack HCI Marketplace Gallery Image should exist. Changing this forces a new Azure Stack HCI Marketplace Gallery Image to be created.\n","willReplaceOnChanges":true},"storagePathId":{"type":"string","description":"The ID of the Azure Stack HCI Storage Path used for this Marketplace Gallery Image. Changing this forces a new Azure Stack HCI Virtual Hard Disk to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Azure Stack HCI Marketplace Gallery Image.\n"},"version":{"type":"string","description":"The version of the Azure Stack HCI Marketplace Gallery Image. Changing this forces a new Azure Stack HCI Marketplace Gallery Image to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["customLocationId","hypervGeneration","identifier","osType","resourceGroupName","version"],"stateInputs":{"description":"Input properties used for looking up and filtering HciMarketplaceGalleryImage resources.\n","properties":{"customLocationId":{"type":"string","description":"The ID of the Custom Location where the Azure Stack HCI Marketplace Gallery Image should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"hypervGeneration":{"type":"string","description":"The hypervisor generation of the Azure Stack HCI Marketplace Gallery Image. Possible values are `V1` and `V2`. Changing this forces a new Azure Stack HCI Marketplace Gallery Image to be created.\n","willReplaceOnChanges":true},"identifier":{"$ref":"#/types/azure:stack/HciMarketplaceGalleryImageIdentifier:HciMarketplaceGalleryImageIdentifier","description":"An \u003cspan pulumi-lang-nodejs=\"`identifier`\" pulumi-lang-dotnet=\"`Identifier`\" pulumi-lang-go=\"`identifier`\" pulumi-lang-python=\"`identifier`\" pulumi-lang-yaml=\"`identifier`\" pulumi-lang-java=\"`identifier`\"\u003e`identifier`\u003c/span\u003e block as defined below. Changing this forces a new Azure Stack HCI Marketplace Gallery Image to be created.\n","willReplaceOnChanges":true},"location":{"type":"string","description":"The Azure Region where the Azure Stack HCI Marketplace Gallery Image should exist. Changing this forces a new Azure Stack HCI Marketplace Gallery Image to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Azure Stack HCI Marketplace Gallery Image. Changing this forces a new Azure Stack HCI Marketplace Gallery Image to be created.\n","willReplaceOnChanges":true},"osType":{"type":"string","description":"The Operating System type of the Azure Stack HCI Marketplace Gallery Image. Possible values are `Windows` and `Linux`. Changing this forces a new Azure Stack HCI Marketplace Gallery Image to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Azure Stack HCI Marketplace Gallery Image should exist. Changing this forces a new Azure Stack HCI Marketplace Gallery Image to be created.\n","willReplaceOnChanges":true},"storagePathId":{"type":"string","description":"The ID of the Azure Stack HCI Storage Path used for this Marketplace Gallery Image. Changing this forces a new Azure Stack HCI Virtual Hard Disk to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Azure Stack HCI Marketplace Gallery Image.\n"},"version":{"type":"string","description":"The version of the Azure Stack HCI Marketplace Gallery Image. Changing this forces a new Azure Stack HCI Marketplace Gallery Image to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:stack/hciNetworkInterface:HciNetworkInterface":{"description":"Manages an Azure Stack HCI Network Interface.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-rg\",\n    location: \"West Europe\",\n});\nconst exampleHciLogicalNetwork = new azure.stack.HciLogicalNetwork(\"example\", {\n    name: \"example-hci-ln\",\n    resourceGroupName: example.name,\n    location: example.location,\n    customLocationId: \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ExtendedLocation/customLocations/cl1\",\n    virtualSwitchName: \"ConvergedSwitch(managementcompute)\",\n    dnsServers: [\n        \"10.0.0.7\",\n        \"10.0.0.8\",\n    ],\n    subnet: {\n        ipAllocationMethod: \"Static\",\n        addressPrefix: \"10.0.0.0/24\",\n        route: {\n            name: \"example-route\",\n            addressPrefix: \"0.0.0.0/0\",\n            nextHopIpAddress: \"10.0.20.1\",\n        },\n        vlanId: 123,\n    },\n    tags: {\n        foo: \"bar\",\n    },\n});\nconst exampleHciNetworkInterface = new azure.stack.HciNetworkInterface(\"example\", {\n    name: \"example-ni\",\n    resourceGroupName: example.name,\n    location: example.location,\n    customLocationId: \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ExtendedLocation/customLocations/cl1\",\n    dnsServers: [\"10.0.0.8\"],\n    ipConfiguration: {\n        privateIpAddress: \"10.0.0.2\",\n        subnetId: test.id,\n    },\n    tags: {\n        foo: \"bar\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-rg\",\n    location=\"West Europe\")\nexample_hci_logical_network = azure.stack.HciLogicalNetwork(\"example\",\n    name=\"example-hci-ln\",\n    resource_group_name=example.name,\n    location=example.location,\n    custom_location_id=\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ExtendedLocation/customLocations/cl1\",\n    virtual_switch_name=\"ConvergedSwitch(managementcompute)\",\n    dns_servers=[\n        \"10.0.0.7\",\n        \"10.0.0.8\",\n    ],\n    subnet={\n        \"ip_allocation_method\": \"Static\",\n        \"address_prefix\": \"10.0.0.0/24\",\n        \"route\": {\n            \"name\": \"example-route\",\n            \"addressPrefix\": \"0.0.0.0/0\",\n            \"nextHopIpAddress\": \"10.0.20.1\",\n        },\n        \"vlan_id\": 123,\n    },\n    tags={\n        \"foo\": \"bar\",\n    })\nexample_hci_network_interface = azure.stack.HciNetworkInterface(\"example\",\n    name=\"example-ni\",\n    resource_group_name=example.name,\n    location=example.location,\n    custom_location_id=\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ExtendedLocation/customLocations/cl1\",\n    dns_servers=[\"10.0.0.8\"],\n    ip_configuration={\n        \"private_ip_address\": \"10.0.0.2\",\n        \"subnet_id\": test[\"id\"],\n    },\n    tags={\n        \"foo\": \"bar\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-rg\",\n        Location = \"West Europe\",\n    });\n\n    var exampleHciLogicalNetwork = new Azure.Stack.HciLogicalNetwork(\"example\", new()\n    {\n        Name = \"example-hci-ln\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        CustomLocationId = \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ExtendedLocation/customLocations/cl1\",\n        VirtualSwitchName = \"ConvergedSwitch(managementcompute)\",\n        DnsServers = new[]\n        {\n            \"10.0.0.7\",\n            \"10.0.0.8\",\n        },\n        Subnet = new Azure.Stack.Inputs.HciLogicalNetworkSubnetArgs\n        {\n            IpAllocationMethod = \"Static\",\n            AddressPrefix = \"10.0.0.0/24\",\n            Route = \n            {\n                { \"name\", \"example-route\" },\n                { \"addressPrefix\", \"0.0.0.0/0\" },\n                { \"nextHopIpAddress\", \"10.0.20.1\" },\n            },\n            VlanId = 123,\n        },\n        Tags = \n        {\n            { \"foo\", \"bar\" },\n        },\n    });\n\n    var exampleHciNetworkInterface = new Azure.Stack.HciNetworkInterface(\"example\", new()\n    {\n        Name = \"example-ni\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        CustomLocationId = \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ExtendedLocation/customLocations/cl1\",\n        DnsServers = new[]\n        {\n            \"10.0.0.8\",\n        },\n        IpConfiguration = new Azure.Stack.Inputs.HciNetworkInterfaceIpConfigurationArgs\n        {\n            PrivateIpAddress = \"10.0.0.2\",\n            SubnetId = test.Id,\n        },\n        Tags = \n        {\n            { \"foo\", \"bar\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/stack\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-rg\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = stack.NewHciLogicalNetwork(ctx, \"example\", \u0026stack.HciLogicalNetworkArgs{\n\t\t\tName:              pulumi.String(\"example-hci-ln\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tCustomLocationId:  pulumi.String(\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ExtendedLocation/customLocations/cl1\"),\n\t\t\tVirtualSwitchName: pulumi.String(\"ConvergedSwitch(managementcompute)\"),\n\t\t\tDnsServers: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.0.7\"),\n\t\t\t\tpulumi.String(\"10.0.0.8\"),\n\t\t\t},\n\t\t\tSubnet: \u0026stack.HciLogicalNetworkSubnetArgs{\n\t\t\t\tIpAllocationMethod: pulumi.String(\"Static\"),\n\t\t\t\tAddressPrefix:      pulumi.String(\"10.0.0.0/24\"),\n\t\t\t\tRoute: map[string]interface{}{\n\t\t\t\t\t\"name\":             \"example-route\",\n\t\t\t\t\t\"addressPrefix\":    \"0.0.0.0/0\",\n\t\t\t\t\t\"nextHopIpAddress\": \"10.0.20.1\",\n\t\t\t\t},\n\t\t\t\tVlanId: pulumi.Int(123),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"foo\": pulumi.String(\"bar\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = stack.NewHciNetworkInterface(ctx, \"example\", \u0026stack.HciNetworkInterfaceArgs{\n\t\t\tName:              pulumi.String(\"example-ni\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tCustomLocationId:  pulumi.String(\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ExtendedLocation/customLocations/cl1\"),\n\t\t\tDnsServers: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.0.8\"),\n\t\t\t},\n\t\t\tIpConfiguration: \u0026stack.HciNetworkInterfaceIpConfigurationArgs{\n\t\t\t\tPrivateIpAddress: pulumi.String(\"10.0.0.2\"),\n\t\t\t\tSubnetId:         pulumi.Any(test.Id),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"foo\": pulumi.String(\"bar\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.stack.HciLogicalNetwork;\nimport com.pulumi.azure.stack.HciLogicalNetworkArgs;\nimport com.pulumi.azure.stack.inputs.HciLogicalNetworkSubnetArgs;\nimport com.pulumi.azure.stack.HciNetworkInterface;\nimport com.pulumi.azure.stack.HciNetworkInterfaceArgs;\nimport com.pulumi.azure.stack.inputs.HciNetworkInterfaceIpConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-rg\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleHciLogicalNetwork = new HciLogicalNetwork(\"exampleHciLogicalNetwork\", HciLogicalNetworkArgs.builder()\n            .name(\"example-hci-ln\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .customLocationId(\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ExtendedLocation/customLocations/cl1\")\n            .virtualSwitchName(\"ConvergedSwitch(managementcompute)\")\n            .dnsServers(            \n                \"10.0.0.7\",\n                \"10.0.0.8\")\n            .subnet(HciLogicalNetworkSubnetArgs.builder()\n                .ipAllocationMethod(\"Static\")\n                .addressPrefix(\"10.0.0.0/24\")\n                .route(Map.ofEntries(\n                    Map.entry(\"name\", \"example-route\"),\n                    Map.entry(\"addressPrefix\", \"0.0.0.0/0\"),\n                    Map.entry(\"nextHopIpAddress\", \"10.0.20.1\")\n                ))\n                .vlanId(123)\n                .build())\n            .tags(Map.of(\"foo\", \"bar\"))\n            .build());\n\n        var exampleHciNetworkInterface = new HciNetworkInterface(\"exampleHciNetworkInterface\", HciNetworkInterfaceArgs.builder()\n            .name(\"example-ni\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .customLocationId(\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ExtendedLocation/customLocations/cl1\")\n            .dnsServers(\"10.0.0.8\")\n            .ipConfiguration(HciNetworkInterfaceIpConfigurationArgs.builder()\n                .privateIpAddress(\"10.0.0.2\")\n                .subnetId(test.id())\n                .build())\n            .tags(Map.of(\"foo\", \"bar\"))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-rg\n      location: West Europe\n  exampleHciLogicalNetwork:\n    type: azure:stack:HciLogicalNetwork\n    name: example\n    properties:\n      name: example-hci-ln\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      customLocationId: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ExtendedLocation/customLocations/cl1\n      virtualSwitchName: ConvergedSwitch(managementcompute)\n      dnsServers:\n        - 10.0.0.7\n        - 10.0.0.8\n      subnet:\n        ipAllocationMethod: Static\n        addressPrefix: 10.0.0.0/24\n        route:\n          name: example-route\n          addressPrefix: 0.0.0.0/0\n          nextHopIpAddress: 10.0.20.1\n        vlanId: 123\n      tags:\n        foo: bar\n  exampleHciNetworkInterface:\n    type: azure:stack:HciNetworkInterface\n    name: example\n    properties:\n      name: example-ni\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      customLocationId: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ExtendedLocation/customLocations/cl1\n      dnsServers:\n        - 10.0.0.8\n      ipConfiguration:\n        privateIpAddress: 10.0.0.2\n        subnetId: ${test.id}\n      tags:\n        foo: bar\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.AzureStackHCI` - 2024-01-01\n\n## Import\n\nAzure Stack HCI Network Interfaces can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:stack/hciNetworkInterface:HciNetworkInterface example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.AzureStackHCI/networkInterfaces/ni1\n```\n\n","properties":{"customLocationId":{"type":"string","description":"The ID of the Custom Location where the Azure Stack HCI Network Interface should exist. Changing this forces a new resource to be created.\n"},"dnsServers":{"type":"array","items":{"type":"string"},"description":"A list of IPv4 addresses of DNS servers available to VMs deployed in the Network Interface. Changing this forces a new resource to be created.\n"},"ipConfiguration":{"$ref":"#/types/azure:stack/HciNetworkInterfaceIpConfiguration:HciNetworkInterfaceIpConfiguration","description":"An \u003cspan pulumi-lang-nodejs=\"`ipConfiguration`\" pulumi-lang-dotnet=\"`IpConfiguration`\" pulumi-lang-go=\"`ipConfiguration`\" pulumi-lang-python=\"`ip_configuration`\" pulumi-lang-yaml=\"`ipConfiguration`\" pulumi-lang-java=\"`ipConfiguration`\"\u003e`ip_configuration`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n"},"location":{"type":"string","description":"The Azure Region where the Azure Stack HCI Network Interface should exist. Changing this forces a new resource to be created.\n"},"macAddress":{"type":"string","description":"The MAC address of the Network Interface. Changing this forces a new resource to be created.\n\n\u003e **Note:** If \u003cspan pulumi-lang-nodejs=\"`macAddress`\" pulumi-lang-dotnet=\"`MacAddress`\" pulumi-lang-go=\"`macAddress`\" pulumi-lang-python=\"`mac_address`\" pulumi-lang-yaml=\"`macAddress`\" pulumi-lang-java=\"`macAddress`\"\u003e`mac_address`\u003c/span\u003e is not specified, it will be assigned by the server. If you experience a diff you may need to add this to \u003cspan pulumi-lang-nodejs=\"`ignoreChanges`\" pulumi-lang-dotnet=\"`IgnoreChanges`\" pulumi-lang-go=\"`ignoreChanges`\" pulumi-lang-python=\"`ignore_changes`\" pulumi-lang-yaml=\"`ignoreChanges`\" pulumi-lang-java=\"`ignoreChanges`\"\u003e`ignore_changes`\u003c/span\u003e.\n"},"name":{"type":"string","description":"The name which should be used for this Azure Stack HCI Network Interface. Changing this forces a new resource to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Azure Stack HCI Network Interface should exist. Changing this forces a new resource to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Azure Stack HCI Network Interface.\n"}},"required":["customLocationId","ipConfiguration","location","name","resourceGroupName"],"inputProperties":{"customLocationId":{"type":"string","description":"The ID of the Custom Location where the Azure Stack HCI Network Interface should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"dnsServers":{"type":"array","items":{"type":"string"},"description":"A list of IPv4 addresses of DNS servers available to VMs deployed in the Network Interface. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"ipConfiguration":{"$ref":"#/types/azure:stack/HciNetworkInterfaceIpConfiguration:HciNetworkInterfaceIpConfiguration","description":"An \u003cspan pulumi-lang-nodejs=\"`ipConfiguration`\" pulumi-lang-dotnet=\"`IpConfiguration`\" pulumi-lang-go=\"`ipConfiguration`\" pulumi-lang-python=\"`ip_configuration`\" pulumi-lang-yaml=\"`ipConfiguration`\" pulumi-lang-java=\"`ipConfiguration`\"\u003e`ip_configuration`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"location":{"type":"string","description":"The Azure Region where the Azure Stack HCI Network Interface should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"macAddress":{"type":"string","description":"The MAC address of the Network Interface. Changing this forces a new resource to be created.\n\n\u003e **Note:** If \u003cspan pulumi-lang-nodejs=\"`macAddress`\" pulumi-lang-dotnet=\"`MacAddress`\" pulumi-lang-go=\"`macAddress`\" pulumi-lang-python=\"`mac_address`\" pulumi-lang-yaml=\"`macAddress`\" pulumi-lang-java=\"`macAddress`\"\u003e`mac_address`\u003c/span\u003e is not specified, it will be assigned by the server. If you experience a diff you may need to add this to \u003cspan pulumi-lang-nodejs=\"`ignoreChanges`\" pulumi-lang-dotnet=\"`IgnoreChanges`\" pulumi-lang-go=\"`ignoreChanges`\" pulumi-lang-python=\"`ignore_changes`\" pulumi-lang-yaml=\"`ignoreChanges`\" pulumi-lang-java=\"`ignoreChanges`\"\u003e`ignore_changes`\u003c/span\u003e.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Azure Stack HCI Network Interface. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Azure Stack HCI Network Interface should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Azure Stack HCI Network Interface.\n"}},"requiredInputs":["customLocationId","ipConfiguration","resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering HciNetworkInterface resources.\n","properties":{"customLocationId":{"type":"string","description":"The ID of the Custom Location where the Azure Stack HCI Network Interface should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"dnsServers":{"type":"array","items":{"type":"string"},"description":"A list of IPv4 addresses of DNS servers available to VMs deployed in the Network Interface. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"ipConfiguration":{"$ref":"#/types/azure:stack/HciNetworkInterfaceIpConfiguration:HciNetworkInterfaceIpConfiguration","description":"An \u003cspan pulumi-lang-nodejs=\"`ipConfiguration`\" pulumi-lang-dotnet=\"`IpConfiguration`\" pulumi-lang-go=\"`ipConfiguration`\" pulumi-lang-python=\"`ip_configuration`\" pulumi-lang-yaml=\"`ipConfiguration`\" pulumi-lang-java=\"`ipConfiguration`\"\u003e`ip_configuration`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"location":{"type":"string","description":"The Azure Region where the Azure Stack HCI Network Interface should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"macAddress":{"type":"string","description":"The MAC address of the Network Interface. Changing this forces a new resource to be created.\n\n\u003e **Note:** If \u003cspan pulumi-lang-nodejs=\"`macAddress`\" pulumi-lang-dotnet=\"`MacAddress`\" pulumi-lang-go=\"`macAddress`\" pulumi-lang-python=\"`mac_address`\" pulumi-lang-yaml=\"`macAddress`\" pulumi-lang-java=\"`macAddress`\"\u003e`mac_address`\u003c/span\u003e is not specified, it will be assigned by the server. If you experience a diff you may need to add this to \u003cspan pulumi-lang-nodejs=\"`ignoreChanges`\" pulumi-lang-dotnet=\"`IgnoreChanges`\" pulumi-lang-go=\"`ignoreChanges`\" pulumi-lang-python=\"`ignore_changes`\" pulumi-lang-yaml=\"`ignoreChanges`\" pulumi-lang-java=\"`ignoreChanges`\"\u003e`ignore_changes`\u003c/span\u003e.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Azure Stack HCI Network Interface. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Azure Stack HCI Network Interface should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Azure Stack HCI Network Interface.\n"}},"type":"object"}},"azure:stack/hciStoragePath:HciStoragePath":{"description":"Manages an Azure Stack HCI Storage Path.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-rg\",\n    location: \"West Europe\",\n});\nconst exampleHciStoragePath = new azure.stack.HciStoragePath(\"example\", {\n    name: \"example-sp\",\n    resourceGroupName: example.name,\n    location: example.location,\n    customLocationId: \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ExtendedLocation/customLocations/cl1\",\n    path: \"C:\\\\ClusterStorage\\\\UserStorage_2\\\\sp-example\",\n    tags: {\n        foo: \"bar\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-rg\",\n    location=\"West Europe\")\nexample_hci_storage_path = azure.stack.HciStoragePath(\"example\",\n    name=\"example-sp\",\n    resource_group_name=example.name,\n    location=example.location,\n    custom_location_id=\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ExtendedLocation/customLocations/cl1\",\n    path=\"C:\\\\ClusterStorage\\\\UserStorage_2\\\\sp-example\",\n    tags={\n        \"foo\": \"bar\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-rg\",\n        Location = \"West Europe\",\n    });\n\n    var exampleHciStoragePath = new Azure.Stack.HciStoragePath(\"example\", new()\n    {\n        Name = \"example-sp\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        CustomLocationId = \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ExtendedLocation/customLocations/cl1\",\n        Path = \"C:\\\\ClusterStorage\\\\UserStorage_2\\\\sp-example\",\n        Tags = \n        {\n            { \"foo\", \"bar\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/stack\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-rg\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = stack.NewHciStoragePath(ctx, \"example\", \u0026stack.HciStoragePathArgs{\n\t\t\tName:              pulumi.String(\"example-sp\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tCustomLocationId:  pulumi.String(\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ExtendedLocation/customLocations/cl1\"),\n\t\t\tPath:              pulumi.String(\"C:\\\\ClusterStorage\\\\UserStorage_2\\\\sp-example\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"foo\": pulumi.String(\"bar\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.stack.HciStoragePath;\nimport com.pulumi.azure.stack.HciStoragePathArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-rg\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleHciStoragePath = new HciStoragePath(\"exampleHciStoragePath\", HciStoragePathArgs.builder()\n            .name(\"example-sp\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .customLocationId(\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ExtendedLocation/customLocations/cl1\")\n            .path(\"C:\\\\ClusterStorage\\\\UserStorage_2\\\\sp-example\")\n            .tags(Map.of(\"foo\", \"bar\"))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-rg\n      location: West Europe\n  exampleHciStoragePath:\n    type: azure:stack:HciStoragePath\n    name: example\n    properties:\n      name: example-sp\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      customLocationId: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ExtendedLocation/customLocations/cl1\n      path: C:\\ClusterStorage\\UserStorage_2\\sp-example\n      tags:\n        foo: bar\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.AzureStackHCI` - 2024-01-01\n\n## Import\n\nAzure Stack HCI Storage Paths can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:stack/hciStoragePath:HciStoragePath example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.AzureStackHCI/storageContainers/storage1\n```\n\n","properties":{"customLocationId":{"type":"string","description":"The ID of Custom Location where the Azure Stack HCI Storage Path should exist. Changing this forces a new resource to be created.\n"},"location":{"type":"string","description":"The Azure Region where the Azure Stack HCI Storage Path should exist. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"The name which should be used for this Azure Stack HCI Storage Path. Changing this forces a new resource to be created.\n"},"path":{"type":"string","description":"The file path on the disk to create the Storage Path. Changing this forces a new resource to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Azure Stack HCI Storage Path should exist. Changing this forces a new resource to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Azure Stack HCI Storage Path.\n"}},"required":["customLocationId","location","name","path","resourceGroupName"],"inputProperties":{"customLocationId":{"type":"string","description":"The ID of Custom Location where the Azure Stack HCI Storage Path should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"location":{"type":"string","description":"The Azure Region where the Azure Stack HCI Storage Path should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Azure Stack HCI Storage Path. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"path":{"type":"string","description":"The file path on the disk to create the Storage Path. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Azure Stack HCI Storage Path should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Azure Stack HCI Storage Path.\n"}},"requiredInputs":["customLocationId","path","resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering HciStoragePath resources.\n","properties":{"customLocationId":{"type":"string","description":"The ID of Custom Location where the Azure Stack HCI Storage Path should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"location":{"type":"string","description":"The Azure Region where the Azure Stack HCI Storage Path should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Azure Stack HCI Storage Path. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"path":{"type":"string","description":"The file path on the disk to create the Storage Path. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Azure Stack HCI Storage Path should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Azure Stack HCI Storage Path.\n"}},"type":"object"}},"azure:stack/hciVirtualHardDisk:HciVirtualHardDisk":{"description":"Manages an Azure Stack HCI Virtual Hard Disk.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-rg\",\n    location: \"West Europe\",\n});\nconst exampleHciStoragePath = new azure.stack.HciStoragePath(\"example\", {\n    name: \"example-sp\",\n    resourceGroupName: example.name,\n    location: example.location,\n    customLocationId: \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ExtendedLocation/customLocations/cl1\",\n    path: \"C:\\\\ClusterStorage\\\\UserStorage_2\\\\sp-example\",\n    tags: {\n        foo: \"bar\",\n    },\n});\nconst exampleHciVirtualHardDisk = new azure.stack.HciVirtualHardDisk(\"example\", {\n    name: \"example-vhd\",\n    resourceGroupName: example.name,\n    location: example.location,\n    customLocationId: \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ExtendedLocation/customLocations/cl1\",\n    diskSizeInGb: 2,\n    storagePathId: exampleHciStoragePath.id,\n    tags: {\n        foo: \"bar\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-rg\",\n    location=\"West Europe\")\nexample_hci_storage_path = azure.stack.HciStoragePath(\"example\",\n    name=\"example-sp\",\n    resource_group_name=example.name,\n    location=example.location,\n    custom_location_id=\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ExtendedLocation/customLocations/cl1\",\n    path=\"C:\\\\ClusterStorage\\\\UserStorage_2\\\\sp-example\",\n    tags={\n        \"foo\": \"bar\",\n    })\nexample_hci_virtual_hard_disk = azure.stack.HciVirtualHardDisk(\"example\",\n    name=\"example-vhd\",\n    resource_group_name=example.name,\n    location=example.location,\n    custom_location_id=\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ExtendedLocation/customLocations/cl1\",\n    disk_size_in_gb=2,\n    storage_path_id=example_hci_storage_path.id,\n    tags={\n        \"foo\": \"bar\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-rg\",\n        Location = \"West Europe\",\n    });\n\n    var exampleHciStoragePath = new Azure.Stack.HciStoragePath(\"example\", new()\n    {\n        Name = \"example-sp\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        CustomLocationId = \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ExtendedLocation/customLocations/cl1\",\n        Path = \"C:\\\\ClusterStorage\\\\UserStorage_2\\\\sp-example\",\n        Tags = \n        {\n            { \"foo\", \"bar\" },\n        },\n    });\n\n    var exampleHciVirtualHardDisk = new Azure.Stack.HciVirtualHardDisk(\"example\", new()\n    {\n        Name = \"example-vhd\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        CustomLocationId = \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ExtendedLocation/customLocations/cl1\",\n        DiskSizeInGb = 2,\n        StoragePathId = exampleHciStoragePath.Id,\n        Tags = \n        {\n            { \"foo\", \"bar\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/stack\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-rg\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleHciStoragePath, err := stack.NewHciStoragePath(ctx, \"example\", \u0026stack.HciStoragePathArgs{\n\t\t\tName:              pulumi.String(\"example-sp\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tCustomLocationId:  pulumi.String(\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ExtendedLocation/customLocations/cl1\"),\n\t\t\tPath:              pulumi.String(\"C:\\\\ClusterStorage\\\\UserStorage_2\\\\sp-example\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"foo\": pulumi.String(\"bar\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = stack.NewHciVirtualHardDisk(ctx, \"example\", \u0026stack.HciVirtualHardDiskArgs{\n\t\t\tName:              pulumi.String(\"example-vhd\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tCustomLocationId:  pulumi.String(\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ExtendedLocation/customLocations/cl1\"),\n\t\t\tDiskSizeInGb:      pulumi.Int(2),\n\t\t\tStoragePathId:     exampleHciStoragePath.ID(),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"foo\": pulumi.String(\"bar\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.stack.HciStoragePath;\nimport com.pulumi.azure.stack.HciStoragePathArgs;\nimport com.pulumi.azure.stack.HciVirtualHardDisk;\nimport com.pulumi.azure.stack.HciVirtualHardDiskArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-rg\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleHciStoragePath = new HciStoragePath(\"exampleHciStoragePath\", HciStoragePathArgs.builder()\n            .name(\"example-sp\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .customLocationId(\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ExtendedLocation/customLocations/cl1\")\n            .path(\"C:\\\\ClusterStorage\\\\UserStorage_2\\\\sp-example\")\n            .tags(Map.of(\"foo\", \"bar\"))\n            .build());\n\n        var exampleHciVirtualHardDisk = new HciVirtualHardDisk(\"exampleHciVirtualHardDisk\", HciVirtualHardDiskArgs.builder()\n            .name(\"example-vhd\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .customLocationId(\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ExtendedLocation/customLocations/cl1\")\n            .diskSizeInGb(2)\n            .storagePathId(exampleHciStoragePath.id())\n            .tags(Map.of(\"foo\", \"bar\"))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-rg\n      location: West Europe\n  exampleHciStoragePath:\n    type: azure:stack:HciStoragePath\n    name: example\n    properties:\n      name: example-sp\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      customLocationId: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ExtendedLocation/customLocations/cl1\n      path: C:\\ClusterStorage\\UserStorage_2\\sp-example\n      tags:\n        foo: bar\n  exampleHciVirtualHardDisk:\n    type: azure:stack:HciVirtualHardDisk\n    name: example\n    properties:\n      name: example-vhd\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      customLocationId: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ExtendedLocation/customLocations/cl1\n      diskSizeInGb: 2\n      storagePathId: ${exampleHciStoragePath.id}\n      tags:\n        foo: bar\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.AzureStackHCI` - 2024-01-01\n\n## Import\n\nAzure Stack HCI Virtual Hard Disks can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:stack/hciVirtualHardDisk:HciVirtualHardDisk example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.AzureStackHCI/virtualHardDisks/disk1\n```\n\n","properties":{"blockSizeInBytes":{"type":"integer","description":"The block size of the disk in bytes. Changing this forces a new Azure Stack HCI Virtual Hard Disk to be created.\n"},"customLocationId":{"type":"string","description":"The ID of the Custom Location where the Azure Stack HCI Virtual Hard Disk should exist. Changing this forces a new Azure Stack HCI Virtual Hard Disk to be created.\n"},"diskFileFormat":{"type":"string","description":"The format of the disk file. Possible values are \u003cspan pulumi-lang-nodejs=\"`vhdx`\" pulumi-lang-dotnet=\"`Vhdx`\" pulumi-lang-go=\"`vhdx`\" pulumi-lang-python=\"`vhdx`\" pulumi-lang-yaml=\"`vhdx`\" pulumi-lang-java=\"`vhdx`\"\u003e`vhdx`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`vhd`\" pulumi-lang-dotnet=\"`Vhd`\" pulumi-lang-go=\"`vhd`\" pulumi-lang-python=\"`vhd`\" pulumi-lang-yaml=\"`vhd`\" pulumi-lang-java=\"`vhd`\"\u003e`vhd`\u003c/span\u003e. Changing this forces a new Azure Stack HCI Virtual Hard Disk to be created.\n"},"diskSizeInGb":{"type":"integer","description":"The size of the disk in GB. Changing this forces a new Azure Stack HCI Virtual Hard Disk to be created.\n"},"dynamicEnabled":{"type":"boolean","description":"Whether to enable dynamic sizing for the Azure Stack HCI Virtual Hard Disk. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Changing this forces a new Azure Stack HCI Virtual Hard Disk to be created.\n"},"hypervGeneration":{"type":"string","description":"The hypervisor generation of the Azure Stack HCI Virtual Hard Disk. Possible values are `V1` and `V2`. Changing this forces a new Azure Stack HCI Virtual Hard Disk to be created.\n"},"location":{"type":"string","description":"The Azure Region where the Azure Stack HCI Virtual Hard Disk should exist. Changing this forces a new Azure Stack HCI Virtual Hard Disk to be created.\n"},"logicalSectorInBytes":{"type":"integer","description":"The logical sector size of the disk in bytes. Changing this forces a new Azure Stack HCI Virtual Hard Disk to be created.\n"},"name":{"type":"string","description":"The name which should be used for this Azure Stack HCI Virtual Hard Disk. Changing this forces a new Azure Stack HCI Virtual Hard Disk to be created.\n"},"physicalSectorInBytes":{"type":"integer","description":"The physical sector size of the disk in bytes. Changing this forces a new Azure Stack HCI Virtual Hard Disk to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Azure Stack HCI Virtual Hard Disk should exist. Changing this forces a new Azure Stack HCI Virtual Hard Disk to be created.\n"},"storagePathId":{"type":"string","description":"The ID of the Azure Stack HCI Storage Path used for this Virtual Hard Disk. Changing this forces a new Azure Stack HCI Virtual Hard Disk to be created.\n\n\u003e **Note:** If \u003cspan pulumi-lang-nodejs=\"`storagePathId`\" pulumi-lang-dotnet=\"`StoragePathId`\" pulumi-lang-go=\"`storagePathId`\" pulumi-lang-python=\"`storage_path_id`\" pulumi-lang-yaml=\"`storagePathId`\" pulumi-lang-java=\"`storagePathId`\"\u003e`storage_path_id`\u003c/span\u003e is not specified, the Virtual Hard Disk will be placed in a high availability Storage Path. If you experience a diff you may need to add this to \u003cspan pulumi-lang-nodejs=\"`ignoreChanges`\" pulumi-lang-dotnet=\"`IgnoreChanges`\" pulumi-lang-go=\"`ignoreChanges`\" pulumi-lang-python=\"`ignore_changes`\" pulumi-lang-yaml=\"`ignoreChanges`\" pulumi-lang-java=\"`ignoreChanges`\"\u003e`ignore_changes`\u003c/span\u003e.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Azure Stack HCI Virtual Hard Disk.\n"}},"required":["customLocationId","diskSizeInGb","location","name","resourceGroupName"],"inputProperties":{"blockSizeInBytes":{"type":"integer","description":"The block size of the disk in bytes. Changing this forces a new Azure Stack HCI Virtual Hard Disk to be created.\n","willReplaceOnChanges":true},"customLocationId":{"type":"string","description":"The ID of the Custom Location where the Azure Stack HCI Virtual Hard Disk should exist. Changing this forces a new Azure Stack HCI Virtual Hard Disk to be created.\n","willReplaceOnChanges":true},"diskFileFormat":{"type":"string","description":"The format of the disk file. Possible values are \u003cspan pulumi-lang-nodejs=\"`vhdx`\" pulumi-lang-dotnet=\"`Vhdx`\" pulumi-lang-go=\"`vhdx`\" pulumi-lang-python=\"`vhdx`\" pulumi-lang-yaml=\"`vhdx`\" pulumi-lang-java=\"`vhdx`\"\u003e`vhdx`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`vhd`\" pulumi-lang-dotnet=\"`Vhd`\" pulumi-lang-go=\"`vhd`\" pulumi-lang-python=\"`vhd`\" pulumi-lang-yaml=\"`vhd`\" pulumi-lang-java=\"`vhd`\"\u003e`vhd`\u003c/span\u003e. Changing this forces a new Azure Stack HCI Virtual Hard Disk to be created.\n","willReplaceOnChanges":true},"diskSizeInGb":{"type":"integer","description":"The size of the disk in GB. Changing this forces a new Azure Stack HCI Virtual Hard Disk to be created.\n","willReplaceOnChanges":true},"dynamicEnabled":{"type":"boolean","description":"Whether to enable dynamic sizing for the Azure Stack HCI Virtual Hard Disk. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Changing this forces a new Azure Stack HCI Virtual Hard Disk to be created.\n","willReplaceOnChanges":true},"hypervGeneration":{"type":"string","description":"The hypervisor generation of the Azure Stack HCI Virtual Hard Disk. Possible values are `V1` and `V2`. Changing this forces a new Azure Stack HCI Virtual Hard Disk to be created.\n","willReplaceOnChanges":true},"location":{"type":"string","description":"The Azure Region where the Azure Stack HCI Virtual Hard Disk should exist. Changing this forces a new Azure Stack HCI Virtual Hard Disk to be created.\n","willReplaceOnChanges":true},"logicalSectorInBytes":{"type":"integer","description":"The logical sector size of the disk in bytes. Changing this forces a new Azure Stack HCI Virtual Hard Disk to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Azure Stack HCI Virtual Hard Disk. Changing this forces a new Azure Stack HCI Virtual Hard Disk to be created.\n","willReplaceOnChanges":true},"physicalSectorInBytes":{"type":"integer","description":"The physical sector size of the disk in bytes. Changing this forces a new Azure Stack HCI Virtual Hard Disk to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Azure Stack HCI Virtual Hard Disk should exist. Changing this forces a new Azure Stack HCI Virtual Hard Disk to be created.\n","willReplaceOnChanges":true},"storagePathId":{"type":"string","description":"The ID of the Azure Stack HCI Storage Path used for this Virtual Hard Disk. Changing this forces a new Azure Stack HCI Virtual Hard Disk to be created.\n\n\u003e **Note:** If \u003cspan pulumi-lang-nodejs=\"`storagePathId`\" pulumi-lang-dotnet=\"`StoragePathId`\" pulumi-lang-go=\"`storagePathId`\" pulumi-lang-python=\"`storage_path_id`\" pulumi-lang-yaml=\"`storagePathId`\" pulumi-lang-java=\"`storagePathId`\"\u003e`storage_path_id`\u003c/span\u003e is not specified, the Virtual Hard Disk will be placed in a high availability Storage Path. If you experience a diff you may need to add this to \u003cspan pulumi-lang-nodejs=\"`ignoreChanges`\" pulumi-lang-dotnet=\"`IgnoreChanges`\" pulumi-lang-go=\"`ignoreChanges`\" pulumi-lang-python=\"`ignore_changes`\" pulumi-lang-yaml=\"`ignoreChanges`\" pulumi-lang-java=\"`ignoreChanges`\"\u003e`ignore_changes`\u003c/span\u003e.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Azure Stack HCI Virtual Hard Disk.\n"}},"requiredInputs":["customLocationId","diskSizeInGb","resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering HciVirtualHardDisk resources.\n","properties":{"blockSizeInBytes":{"type":"integer","description":"The block size of the disk in bytes. Changing this forces a new Azure Stack HCI Virtual Hard Disk to be created.\n","willReplaceOnChanges":true},"customLocationId":{"type":"string","description":"The ID of the Custom Location where the Azure Stack HCI Virtual Hard Disk should exist. Changing this forces a new Azure Stack HCI Virtual Hard Disk to be created.\n","willReplaceOnChanges":true},"diskFileFormat":{"type":"string","description":"The format of the disk file. Possible values are \u003cspan pulumi-lang-nodejs=\"`vhdx`\" pulumi-lang-dotnet=\"`Vhdx`\" pulumi-lang-go=\"`vhdx`\" pulumi-lang-python=\"`vhdx`\" pulumi-lang-yaml=\"`vhdx`\" pulumi-lang-java=\"`vhdx`\"\u003e`vhdx`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`vhd`\" pulumi-lang-dotnet=\"`Vhd`\" pulumi-lang-go=\"`vhd`\" pulumi-lang-python=\"`vhd`\" pulumi-lang-yaml=\"`vhd`\" pulumi-lang-java=\"`vhd`\"\u003e`vhd`\u003c/span\u003e. Changing this forces a new Azure Stack HCI Virtual Hard Disk to be created.\n","willReplaceOnChanges":true},"diskSizeInGb":{"type":"integer","description":"The size of the disk in GB. Changing this forces a new Azure Stack HCI Virtual Hard Disk to be created.\n","willReplaceOnChanges":true},"dynamicEnabled":{"type":"boolean","description":"Whether to enable dynamic sizing for the Azure Stack HCI Virtual Hard Disk. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Changing this forces a new Azure Stack HCI Virtual Hard Disk to be created.\n","willReplaceOnChanges":true},"hypervGeneration":{"type":"string","description":"The hypervisor generation of the Azure Stack HCI Virtual Hard Disk. Possible values are `V1` and `V2`. Changing this forces a new Azure Stack HCI Virtual Hard Disk to be created.\n","willReplaceOnChanges":true},"location":{"type":"string","description":"The Azure Region where the Azure Stack HCI Virtual Hard Disk should exist. Changing this forces a new Azure Stack HCI Virtual Hard Disk to be created.\n","willReplaceOnChanges":true},"logicalSectorInBytes":{"type":"integer","description":"The logical sector size of the disk in bytes. Changing this forces a new Azure Stack HCI Virtual Hard Disk to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Azure Stack HCI Virtual Hard Disk. Changing this forces a new Azure Stack HCI Virtual Hard Disk to be created.\n","willReplaceOnChanges":true},"physicalSectorInBytes":{"type":"integer","description":"The physical sector size of the disk in bytes. Changing this forces a new Azure Stack HCI Virtual Hard Disk to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Azure Stack HCI Virtual Hard Disk should exist. Changing this forces a new Azure Stack HCI Virtual Hard Disk to be created.\n","willReplaceOnChanges":true},"storagePathId":{"type":"string","description":"The ID of the Azure Stack HCI Storage Path used for this Virtual Hard Disk. Changing this forces a new Azure Stack HCI Virtual Hard Disk to be created.\n\n\u003e **Note:** If \u003cspan pulumi-lang-nodejs=\"`storagePathId`\" pulumi-lang-dotnet=\"`StoragePathId`\" pulumi-lang-go=\"`storagePathId`\" pulumi-lang-python=\"`storage_path_id`\" pulumi-lang-yaml=\"`storagePathId`\" pulumi-lang-java=\"`storagePathId`\"\u003e`storage_path_id`\u003c/span\u003e is not specified, the Virtual Hard Disk will be placed in a high availability Storage Path. If you experience a diff you may need to add this to \u003cspan pulumi-lang-nodejs=\"`ignoreChanges`\" pulumi-lang-dotnet=\"`IgnoreChanges`\" pulumi-lang-go=\"`ignoreChanges`\" pulumi-lang-python=\"`ignore_changes`\" pulumi-lang-yaml=\"`ignoreChanges`\" pulumi-lang-java=\"`ignoreChanges`\"\u003e`ignore_changes`\u003c/span\u003e.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Azure Stack HCI Virtual Hard Disk.\n"}},"type":"object"}},"azure:storage/account:Account":{"description":"Manages an Azure Storage Account.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleAccount = new azure.storage.Account(\"example\", {\n    name: \"storageaccountname\",\n    resourceGroupName: example.name,\n    location: example.location,\n    accountTier: \"Standard\",\n    accountReplicationType: \"GRS\",\n    tags: {\n        environment: \"staging\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_account = azure.storage.Account(\"example\",\n    name=\"storageaccountname\",\n    resource_group_name=example.name,\n    location=example.location,\n    account_tier=\"Standard\",\n    account_replication_type=\"GRS\",\n    tags={\n        \"environment\": \"staging\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleAccount = new Azure.Storage.Account(\"example\", new()\n    {\n        Name = \"storageaccountname\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        AccountTier = \"Standard\",\n        AccountReplicationType = \"GRS\",\n        Tags = \n        {\n            { \"environment\", \"staging\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = storage.NewAccount(ctx, \"example\", \u0026storage.AccountArgs{\n\t\t\tName:                   pulumi.String(\"storageaccountname\"),\n\t\t\tResourceGroupName:      example.Name,\n\t\t\tLocation:               example.Location,\n\t\t\tAccountTier:            pulumi.String(\"Standard\"),\n\t\t\tAccountReplicationType: pulumi.String(\"GRS\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"environment\": pulumi.String(\"staging\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.storage.Account;\nimport com.pulumi.azure.storage.AccountArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"storageaccountname\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .accountTier(\"Standard\")\n            .accountReplicationType(\"GRS\")\n            .tags(Map.of(\"environment\", \"staging\"))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleAccount:\n    type: azure:storage:Account\n    name: example\n    properties:\n      name: storageaccountname\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      accountTier: Standard\n      accountReplicationType: GRS\n      tags:\n        environment: staging\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\n### With Network Rules\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"example\", {\n    name: \"virtnetname\",\n    addressSpaces: [\"10.0.0.0/16\"],\n    location: example.location,\n    resourceGroupName: example.name,\n});\nconst exampleSubnet = new azure.network.Subnet(\"example\", {\n    name: \"subnetname\",\n    resourceGroupName: example.name,\n    virtualNetworkName: exampleVirtualNetwork.name,\n    addressPrefixes: [\"10.0.2.0/24\"],\n    serviceEndpoints: [\n        \"Microsoft.Sql\",\n        \"Microsoft.Storage\",\n    ],\n});\nconst exampleAccount = new azure.storage.Account(\"example\", {\n    name: \"storageaccountname\",\n    resourceGroupName: example.name,\n    location: example.location,\n    accountTier: \"Standard\",\n    accountReplicationType: \"LRS\",\n    networkRules: {\n        defaultAction: \"Deny\",\n        ipRules: [\"100.0.0.1\"],\n        virtualNetworkSubnetIds: [exampleSubnet.id],\n    },\n    tags: {\n        environment: \"staging\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_virtual_network = azure.network.VirtualNetwork(\"example\",\n    name=\"virtnetname\",\n    address_spaces=[\"10.0.0.0/16\"],\n    location=example.location,\n    resource_group_name=example.name)\nexample_subnet = azure.network.Subnet(\"example\",\n    name=\"subnetname\",\n    resource_group_name=example.name,\n    virtual_network_name=example_virtual_network.name,\n    address_prefixes=[\"10.0.2.0/24\"],\n    service_endpoints=[\n        \"Microsoft.Sql\",\n        \"Microsoft.Storage\",\n    ])\nexample_account = azure.storage.Account(\"example\",\n    name=\"storageaccountname\",\n    resource_group_name=example.name,\n    location=example.location,\n    account_tier=\"Standard\",\n    account_replication_type=\"LRS\",\n    network_rules={\n        \"default_action\": \"Deny\",\n        \"ip_rules\": [\"100.0.0.1\"],\n        \"virtual_network_subnet_ids\": [example_subnet.id],\n    },\n    tags={\n        \"environment\": \"staging\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleVirtualNetwork = new Azure.Network.VirtualNetwork(\"example\", new()\n    {\n        Name = \"virtnetname\",\n        AddressSpaces = new[]\n        {\n            \"10.0.0.0/16\",\n        },\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n    });\n\n    var exampleSubnet = new Azure.Network.Subnet(\"example\", new()\n    {\n        Name = \"subnetname\",\n        ResourceGroupName = example.Name,\n        VirtualNetworkName = exampleVirtualNetwork.Name,\n        AddressPrefixes = new[]\n        {\n            \"10.0.2.0/24\",\n        },\n        ServiceEndpoints = new[]\n        {\n            \"Microsoft.Sql\",\n            \"Microsoft.Storage\",\n        },\n    });\n\n    var exampleAccount = new Azure.Storage.Account(\"example\", new()\n    {\n        Name = \"storageaccountname\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        AccountTier = \"Standard\",\n        AccountReplicationType = \"LRS\",\n        NetworkRules = new Azure.Storage.Inputs.AccountNetworkRulesArgs\n        {\n            DefaultAction = \"Deny\",\n            IpRules = new[]\n            {\n                \"100.0.0.1\",\n            },\n            VirtualNetworkSubnetIds = new[]\n            {\n                exampleSubnet.Id,\n            },\n        },\n        Tags = \n        {\n            { \"environment\", \"staging\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, \"example\", \u0026network.VirtualNetworkArgs{\n\t\t\tName: pulumi.String(\"virtnetname\"),\n\t\t\tAddressSpaces: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.0.0/16\"),\n\t\t\t},\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSubnet, err := network.NewSubnet(ctx, \"example\", \u0026network.SubnetArgs{\n\t\t\tName:               pulumi.String(\"subnetname\"),\n\t\t\tResourceGroupName:  example.Name,\n\t\t\tVirtualNetworkName: exampleVirtualNetwork.Name,\n\t\t\tAddressPrefixes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.2.0/24\"),\n\t\t\t},\n\t\t\tServiceEndpoints: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"Microsoft.Sql\"),\n\t\t\t\tpulumi.String(\"Microsoft.Storage\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = storage.NewAccount(ctx, \"example\", \u0026storage.AccountArgs{\n\t\t\tName:                   pulumi.String(\"storageaccountname\"),\n\t\t\tResourceGroupName:      example.Name,\n\t\t\tLocation:               example.Location,\n\t\t\tAccountTier:            pulumi.String(\"Standard\"),\n\t\t\tAccountReplicationType: pulumi.String(\"LRS\"),\n\t\t\tNetworkRules: \u0026storage.AccountNetworkRulesTypeArgs{\n\t\t\t\tDefaultAction: pulumi.String(\"Deny\"),\n\t\t\t\tIpRules: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"100.0.0.1\"),\n\t\t\t\t},\n\t\t\t\tVirtualNetworkSubnetIds: pulumi.StringArray{\n\t\t\t\t\texampleSubnet.ID(),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"environment\": pulumi.String(\"staging\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.VirtualNetwork;\nimport com.pulumi.azure.network.VirtualNetworkArgs;\nimport com.pulumi.azure.network.Subnet;\nimport com.pulumi.azure.network.SubnetArgs;\nimport com.pulumi.azure.storage.Account;\nimport com.pulumi.azure.storage.AccountArgs;\nimport com.pulumi.azure.storage.inputs.AccountNetworkRulesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleVirtualNetwork = new VirtualNetwork(\"exampleVirtualNetwork\", VirtualNetworkArgs.builder()\n            .name(\"virtnetname\")\n            .addressSpaces(\"10.0.0.0/16\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .build());\n\n        var exampleSubnet = new Subnet(\"exampleSubnet\", SubnetArgs.builder()\n            .name(\"subnetname\")\n            .resourceGroupName(example.name())\n            .virtualNetworkName(exampleVirtualNetwork.name())\n            .addressPrefixes(\"10.0.2.0/24\")\n            .serviceEndpoints(            \n                \"Microsoft.Sql\",\n                \"Microsoft.Storage\")\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"storageaccountname\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .accountTier(\"Standard\")\n            .accountReplicationType(\"LRS\")\n            .networkRules(AccountNetworkRulesArgs.builder()\n                .defaultAction(\"Deny\")\n                .ipRules(\"100.0.0.1\")\n                .virtualNetworkSubnetIds(exampleSubnet.id())\n                .build())\n            .tags(Map.of(\"environment\", \"staging\"))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleVirtualNetwork:\n    type: azure:network:VirtualNetwork\n    name: example\n    properties:\n      name: virtnetname\n      addressSpaces:\n        - 10.0.0.0/16\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n  exampleSubnet:\n    type: azure:network:Subnet\n    name: example\n    properties:\n      name: subnetname\n      resourceGroupName: ${example.name}\n      virtualNetworkName: ${exampleVirtualNetwork.name}\n      addressPrefixes:\n        - 10.0.2.0/24\n      serviceEndpoints:\n        - Microsoft.Sql\n        - Microsoft.Storage\n  exampleAccount:\n    type: azure:storage:Account\n    name: example\n    properties:\n      name: storageaccountname\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      accountTier: Standard\n      accountReplicationType: LRS\n      networkRules:\n        defaultAction: Deny\n        ipRules:\n          - 100.0.0.1\n        virtualNetworkSubnetIds:\n          - ${exampleSubnet.id}\n      tags:\n        environment: staging\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Storage` - 2023-05-01\n\n## Import\n\nStorage Accounts can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:storage/account:Account storageAcc1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myresourcegroup/providers/Microsoft.Storage/storageAccounts/myaccount\n```\n\n","properties":{"accessTier":{"type":"string","description":"Defines the access tier for `BlobStorage`, `FileStorage` and `StorageV2` accounts. Valid options are `Hot`, `Cool`, `Cold` and `Premium`. Defaults to `Hot`.\n"},"accountKind":{"type":"string","description":"Defines the Kind of account. Valid options are `BlobStorage`, `BlockBlobStorage`, `FileStorage`, `Storage` and `StorageV2`. Defaults to `StorageV2`.\n\n\u003e **Note:** Changing the \u003cspan pulumi-lang-nodejs=\"`accountKind`\" pulumi-lang-dotnet=\"`AccountKind`\" pulumi-lang-go=\"`accountKind`\" pulumi-lang-python=\"`account_kind`\" pulumi-lang-yaml=\"`accountKind`\" pulumi-lang-java=\"`accountKind`\"\u003e`account_kind`\u003c/span\u003e value from `Storage` to `StorageV2` will not trigger a force new on the storage account, it will only upgrade the existing storage account from `Storage` to `StorageV2` keeping the existing storage account in place.\n"},"accountReplicationType":{"type":"string","description":"Defines the type of replication to use for this storage account. Valid options are `LRS`, `GRS`, `RAGRS`, `ZRS`, `GZRS` and `RAGZRS`. Changing this forces a new resource to be created when types `LRS`, `GRS` and `RAGRS` are changed to `ZRS`, `GZRS` or `RAGZRS` and vice versa.\n"},"accountTier":{"type":"string","description":"Defines the Tier to use for this storage account. Valid options are `Standard` and `Premium`. For `BlockBlobStorage` and `FileStorage` accounts only `Premium` is valid. Changing this forces a new resource to be created.\n\n\u003e **Note:** Blobs with a tier of `Premium` are of account kind `StorageV2`.\n"},"allowNestedItemsToBePublic":{"type":"boolean","description":"Allow or disallow nested items within this Account to opt into being public. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n\n\u003e **Note:** At this time \u003cspan pulumi-lang-nodejs=\"`allowNestedItemsToBePublic`\" pulumi-lang-dotnet=\"`AllowNestedItemsToBePublic`\" pulumi-lang-go=\"`allowNestedItemsToBePublic`\" pulumi-lang-python=\"`allow_nested_items_to_be_public`\" pulumi-lang-yaml=\"`allowNestedItemsToBePublic`\" pulumi-lang-java=\"`allowNestedItemsToBePublic`\"\u003e`allow_nested_items_to_be_public`\u003c/span\u003e is only supported in the Public Cloud, China Cloud, and US Government Cloud.\n"},"allowedCopyScope":{"type":"string","description":"Restrict copy to and from Storage Accounts within an AAD tenant or with Private Links to the same VNet. Possible values are `AAD` and `PrivateLink`.\n"},"azureFilesAuthentication":{"$ref":"#/types/azure:storage/AccountAzureFilesAuthentication:AccountAzureFilesAuthentication","description":"A \u003cspan pulumi-lang-nodejs=\"`azureFilesAuthentication`\" pulumi-lang-dotnet=\"`AzureFilesAuthentication`\" pulumi-lang-go=\"`azureFilesAuthentication`\" pulumi-lang-python=\"`azure_files_authentication`\" pulumi-lang-yaml=\"`azureFilesAuthentication`\" pulumi-lang-java=\"`azureFilesAuthentication`\"\u003e`azure_files_authentication`\u003c/span\u003e block as defined below.\n"},"blobProperties":{"$ref":"#/types/azure:storage/AccountBlobProperties:AccountBlobProperties","description":"A \u003cspan pulumi-lang-nodejs=\"`blobProperties`\" pulumi-lang-dotnet=\"`BlobProperties`\" pulumi-lang-go=\"`blobProperties`\" pulumi-lang-python=\"`blob_properties`\" pulumi-lang-yaml=\"`blobProperties`\" pulumi-lang-java=\"`blobProperties`\"\u003e`blob_properties`\u003c/span\u003e block as defined below.\n"},"crossTenantReplicationEnabled":{"type":"boolean","description":"Should cross Tenant replication be enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"customDomain":{"$ref":"#/types/azure:storage/AccountCustomDomain:AccountCustomDomain","description":"A \u003cspan pulumi-lang-nodejs=\"`customDomain`\" pulumi-lang-dotnet=\"`CustomDomain`\" pulumi-lang-go=\"`customDomain`\" pulumi-lang-python=\"`custom_domain`\" pulumi-lang-yaml=\"`customDomain`\" pulumi-lang-java=\"`customDomain`\"\u003e`custom_domain`\u003c/span\u003e block as documented below.\n"},"customerManagedKey":{"$ref":"#/types/azure:storage/AccountCustomerManagedKey:AccountCustomerManagedKey","description":"A \u003cspan pulumi-lang-nodejs=\"`customerManagedKey`\" pulumi-lang-dotnet=\"`CustomerManagedKey`\" pulumi-lang-go=\"`customerManagedKey`\" pulumi-lang-python=\"`customer_managed_key`\" pulumi-lang-yaml=\"`customerManagedKey`\" pulumi-lang-java=\"`customerManagedKey`\"\u003e`customer_managed_key`\u003c/span\u003e block as documented below.\n\n\u003e **Note:** It's possible to define a Customer Managed Key both within either the \u003cspan pulumi-lang-nodejs=\"`customerManagedKey`\" pulumi-lang-dotnet=\"`CustomerManagedKey`\" pulumi-lang-go=\"`customerManagedKey`\" pulumi-lang-python=\"`customer_managed_key`\" pulumi-lang-yaml=\"`customerManagedKey`\" pulumi-lang-java=\"`customerManagedKey`\"\u003e`customer_managed_key`\u003c/span\u003e block or by using the \u003cspan pulumi-lang-nodejs=\"`azure.storage.CustomerManagedKey`\" pulumi-lang-dotnet=\"`azure.storage.CustomerManagedKey`\" pulumi-lang-go=\"`storage.CustomerManagedKey`\" pulumi-lang-python=\"`storage.CustomerManagedKey`\" pulumi-lang-yaml=\"`azure.storage.CustomerManagedKey`\" pulumi-lang-java=\"`azure.storage.CustomerManagedKey`\"\u003e`azure.storage.CustomerManagedKey`\u003c/span\u003e resource. However, it's not possible to use both methods to manage a Customer Managed Key for a Storage Account, since these will conflict. When using the \u003cspan pulumi-lang-nodejs=\"`azure.storage.CustomerManagedKey`\" pulumi-lang-dotnet=\"`azure.storage.CustomerManagedKey`\" pulumi-lang-go=\"`storage.CustomerManagedKey`\" pulumi-lang-python=\"`storage.CustomerManagedKey`\" pulumi-lang-yaml=\"`azure.storage.CustomerManagedKey`\" pulumi-lang-java=\"`azure.storage.CustomerManagedKey`\"\u003e`azure.storage.CustomerManagedKey`\u003c/span\u003e resource, you will need to use \u003cspan pulumi-lang-nodejs=\"`ignoreChanges`\" pulumi-lang-dotnet=\"`IgnoreChanges`\" pulumi-lang-go=\"`ignoreChanges`\" pulumi-lang-python=\"`ignore_changes`\" pulumi-lang-yaml=\"`ignoreChanges`\" pulumi-lang-java=\"`ignoreChanges`\"\u003e`ignore_changes`\u003c/span\u003e on the \u003cspan pulumi-lang-nodejs=\"`customerManagedKey`\" pulumi-lang-dotnet=\"`CustomerManagedKey`\" pulumi-lang-go=\"`customerManagedKey`\" pulumi-lang-python=\"`customer_managed_key`\" pulumi-lang-yaml=\"`customerManagedKey`\" pulumi-lang-java=\"`customerManagedKey`\"\u003e`customer_managed_key`\u003c/span\u003e block.\n"},"defaultToOauthAuthentication":{"type":"boolean","description":"Default to Azure Active Directory authorization in the Azure portal when accessing the Storage Account. The default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e\n"},"dnsEndpointType":{"type":"string","description":"Specifies which DNS endpoint type to use. Possible values are `Standard` and `AzureDnsZone`. Defaults to `Standard`. Changing this forces a new resource to be created.\n\n\u003e **Note:** Azure DNS zone support requires `PartitionedDns` feature to be enabled. To enable this feature for your subscription, use the following command: `az feature register --namespace \"Microsoft.Storage\" --name \"PartitionedDns\"`.\n"},"edgeZone":{"type":"string","description":"Specifies the Edge Zone within the Azure Region where this Storage Account should exist. Changing this forces a new Storage Account to be created.\n"},"httpsTrafficOnlyEnabled":{"type":"boolean","description":"Boolean flag which forces HTTPS if enabled, see [here](https://docs.microsoft.com/azure/storage/storage-require-secure-transfer/) for more information. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"identity":{"$ref":"#/types/azure:storage/AccountIdentity:AccountIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"immutabilityPolicy":{"$ref":"#/types/azure:storage/AccountImmutabilityPolicy:AccountImmutabilityPolicy","description":"An \u003cspan pulumi-lang-nodejs=\"`immutabilityPolicy`\" pulumi-lang-dotnet=\"`ImmutabilityPolicy`\" pulumi-lang-go=\"`immutabilityPolicy`\" pulumi-lang-python=\"`immutability_policy`\" pulumi-lang-yaml=\"`immutabilityPolicy`\" pulumi-lang-java=\"`immutabilityPolicy`\"\u003e`immutability_policy`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n"},"infrastructureEncryptionEnabled":{"type":"boolean","description":"Is infrastructure encryption enabled? Changing this forces a new resource to be created. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** This can only be \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e when \u003cspan pulumi-lang-nodejs=\"`accountKind`\" pulumi-lang-dotnet=\"`AccountKind`\" pulumi-lang-go=\"`accountKind`\" pulumi-lang-python=\"`account_kind`\" pulumi-lang-yaml=\"`accountKind`\" pulumi-lang-java=\"`accountKind`\"\u003e`account_kind`\u003c/span\u003e is `StorageV2` or when \u003cspan pulumi-lang-nodejs=\"`accountTier`\" pulumi-lang-dotnet=\"`AccountTier`\" pulumi-lang-go=\"`accountTier`\" pulumi-lang-python=\"`account_tier`\" pulumi-lang-yaml=\"`accountTier`\" pulumi-lang-java=\"`accountTier`\"\u003e`account_tier`\u003c/span\u003e is `Premium` *and* \u003cspan pulumi-lang-nodejs=\"`accountKind`\" pulumi-lang-dotnet=\"`AccountKind`\" pulumi-lang-go=\"`accountKind`\" pulumi-lang-python=\"`account_kind`\" pulumi-lang-yaml=\"`accountKind`\" pulumi-lang-java=\"`accountKind`\"\u003e`account_kind`\u003c/span\u003e is one of `BlockBlobStorage` or `FileStorage`.\n"},"isHnsEnabled":{"type":"boolean","description":"Is Hierarchical Namespace enabled? This can be used with Azure Data Lake Storage Gen 2 ([see here for more information](https://docs.microsoft.com/azure/storage/blobs/data-lake-storage-quickstart-create-account/)). Changing this forces a new resource to be created.\n\n\u003e **Note:** This can only be \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e when \u003cspan pulumi-lang-nodejs=\"`accountTier`\" pulumi-lang-dotnet=\"`AccountTier`\" pulumi-lang-go=\"`accountTier`\" pulumi-lang-python=\"`account_tier`\" pulumi-lang-yaml=\"`accountTier`\" pulumi-lang-java=\"`accountTier`\"\u003e`account_tier`\u003c/span\u003e is `Standard` or when \u003cspan pulumi-lang-nodejs=\"`accountTier`\" pulumi-lang-dotnet=\"`AccountTier`\" pulumi-lang-go=\"`accountTier`\" pulumi-lang-python=\"`account_tier`\" pulumi-lang-yaml=\"`accountTier`\" pulumi-lang-java=\"`accountTier`\"\u003e`account_tier`\u003c/span\u003e is `Premium` *and* \u003cspan pulumi-lang-nodejs=\"`accountKind`\" pulumi-lang-dotnet=\"`AccountKind`\" pulumi-lang-go=\"`accountKind`\" pulumi-lang-python=\"`account_kind`\" pulumi-lang-yaml=\"`accountKind`\" pulumi-lang-java=\"`accountKind`\"\u003e`account_kind`\u003c/span\u003e is `BlockBlobStorage`\n"},"largeFileShareEnabled":{"type":"boolean","description":"Are Large File Shares Enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** Large File Shares are enabled by default when using an \u003cspan pulumi-lang-nodejs=\"`accountKind`\" pulumi-lang-dotnet=\"`AccountKind`\" pulumi-lang-go=\"`accountKind`\" pulumi-lang-python=\"`account_kind`\" pulumi-lang-yaml=\"`accountKind`\" pulumi-lang-java=\"`accountKind`\"\u003e`account_kind`\u003c/span\u003e of `FileStorage`.\n"},"localUserEnabled":{"type":"boolean","description":"Is Local User Enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n"},"minTlsVersion":{"type":"string","description":"The minimum supported TLS version for the storage account. Possible values are `TLS1_0`, `TLS1_1`, `TLS1_2` and `TLS1_3`. Defaults to `TLS1_2` for new storage accounts.\n\n\u003e **Note:** Azure Services will require TLS 1.2+ by August 2025, please see this [announcement](https://azure.microsoft.com/en-us/updates/v2/update-retirement-tls1-0-tls1-1-versions-azure-services/) for more.\n\n\u003e **Note:** At this time \u003cspan pulumi-lang-nodejs=\"`minTlsVersion`\" pulumi-lang-dotnet=\"`MinTlsVersion`\" pulumi-lang-go=\"`minTlsVersion`\" pulumi-lang-python=\"`min_tls_version`\" pulumi-lang-yaml=\"`minTlsVersion`\" pulumi-lang-java=\"`minTlsVersion`\"\u003e`min_tls_version`\u003c/span\u003e is only supported in the Public Cloud, China Cloud, and US Government Cloud.\n"},"name":{"type":"string","description":"Specifies the name of the storage account. Only lowercase Alphanumeric characters allowed. Changing this forces a new resource to be created. This must be unique across the entire Azure service, not just within the resource group.\n"},"networkRules":{"$ref":"#/types/azure:storage/AccountNetworkRules:AccountNetworkRules","description":"A \u003cspan pulumi-lang-nodejs=\"`networkRules`\" pulumi-lang-dotnet=\"`NetworkRules`\" pulumi-lang-go=\"`networkRules`\" pulumi-lang-python=\"`network_rules`\" pulumi-lang-yaml=\"`networkRules`\" pulumi-lang-java=\"`networkRules`\"\u003e`network_rules`\u003c/span\u003e block as documented below.\n"},"nfsv3Enabled":{"type":"boolean","description":"Is NFSv3 protocol enabled? Changing this forces a new resource to be created. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** This can only be \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e when \u003cspan pulumi-lang-nodejs=\"`accountTier`\" pulumi-lang-dotnet=\"`AccountTier`\" pulumi-lang-go=\"`accountTier`\" pulumi-lang-python=\"`account_tier`\" pulumi-lang-yaml=\"`accountTier`\" pulumi-lang-java=\"`accountTier`\"\u003e`account_tier`\u003c/span\u003e is `Standard` and \u003cspan pulumi-lang-nodejs=\"`accountKind`\" pulumi-lang-dotnet=\"`AccountKind`\" pulumi-lang-go=\"`accountKind`\" pulumi-lang-python=\"`account_kind`\" pulumi-lang-yaml=\"`accountKind`\" pulumi-lang-java=\"`accountKind`\"\u003e`account_kind`\u003c/span\u003e is `StorageV2`, or \u003cspan pulumi-lang-nodejs=\"`accountTier`\" pulumi-lang-dotnet=\"`AccountTier`\" pulumi-lang-go=\"`accountTier`\" pulumi-lang-python=\"`account_tier`\" pulumi-lang-yaml=\"`accountTier`\" pulumi-lang-java=\"`accountTier`\"\u003e`account_tier`\u003c/span\u003e is `Premium` and \u003cspan pulumi-lang-nodejs=\"`accountKind`\" pulumi-lang-dotnet=\"`AccountKind`\" pulumi-lang-go=\"`accountKind`\" pulumi-lang-python=\"`account_kind`\" pulumi-lang-yaml=\"`accountKind`\" pulumi-lang-java=\"`accountKind`\"\u003e`account_kind`\u003c/span\u003e is `BlockBlobStorage`. Additionally, the \u003cspan pulumi-lang-nodejs=\"`isHnsEnabled`\" pulumi-lang-dotnet=\"`IsHnsEnabled`\" pulumi-lang-go=\"`isHnsEnabled`\" pulumi-lang-python=\"`is_hns_enabled`\" pulumi-lang-yaml=\"`isHnsEnabled`\" pulumi-lang-java=\"`isHnsEnabled`\"\u003e`is_hns_enabled`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`accountReplicationType`\" pulumi-lang-dotnet=\"`AccountReplicationType`\" pulumi-lang-go=\"`accountReplicationType`\" pulumi-lang-python=\"`account_replication_type`\" pulumi-lang-yaml=\"`accountReplicationType`\" pulumi-lang-java=\"`accountReplicationType`\"\u003e`account_replication_type`\u003c/span\u003e must be `LRS` or `RAGRS`.\n"},"primaryAccessKey":{"type":"string","description":"The primary access key for the storage account.\n","secret":true},"primaryBlobConnectionString":{"type":"string","description":"The connection string associated with the primary blob location.\n","secret":true},"primaryBlobEndpoint":{"type":"string","description":"The endpoint URL for blob storage in the primary location.\n"},"primaryBlobHost":{"type":"string","description":"The hostname with port if applicable for blob storage in the primary location.\n"},"primaryBlobInternetEndpoint":{"type":"string","description":"The internet routing endpoint URL for blob storage in the primary location.\n"},"primaryBlobInternetHost":{"type":"string","description":"The internet routing hostname with port if applicable for blob storage in the primary location.\n"},"primaryBlobMicrosoftEndpoint":{"type":"string","description":"The microsoft routing endpoint URL for blob storage in the primary location.\n"},"primaryBlobMicrosoftHost":{"type":"string","description":"The microsoft routing hostname with port if applicable for blob storage in the primary location.\n"},"primaryConnectionString":{"type":"string","description":"The connection string associated with the primary location.\n","secret":true},"primaryDfsEndpoint":{"type":"string","description":"The endpoint URL for DFS storage in the primary location.\n"},"primaryDfsHost":{"type":"string","description":"The hostname with port if applicable for DFS storage in the primary location.\n"},"primaryDfsInternetEndpoint":{"type":"string","description":"The internet routing endpoint URL for DFS storage in the primary location.\n"},"primaryDfsInternetHost":{"type":"string","description":"The internet routing hostname with port if applicable for DFS storage in the primary location.\n"},"primaryDfsMicrosoftEndpoint":{"type":"string","description":"The microsoft routing endpoint URL for DFS storage in the primary location.\n"},"primaryDfsMicrosoftHost":{"type":"string","description":"The microsoft routing hostname with port if applicable for DFS storage in the primary location.\n"},"primaryFileEndpoint":{"type":"string","description":"The endpoint URL for file storage in the primary location.\n"},"primaryFileHost":{"type":"string","description":"The hostname with port if applicable for file storage in the primary location.\n"},"primaryFileInternetEndpoint":{"type":"string","description":"The internet routing endpoint URL for file storage in the primary location.\n"},"primaryFileInternetHost":{"type":"string","description":"The internet routing hostname with port if applicable for file storage in the primary location.\n"},"primaryFileMicrosoftEndpoint":{"type":"string","description":"The microsoft routing endpoint URL for file storage in the primary location.\n"},"primaryFileMicrosoftHost":{"type":"string","description":"The microsoft routing hostname with port if applicable for file storage in the primary location.\n"},"primaryLocation":{"type":"string","description":"The primary location of the storage account.\n"},"primaryQueueEndpoint":{"type":"string","description":"The endpoint URL for queue storage in the primary location.\n"},"primaryQueueHost":{"type":"string","description":"The hostname with port if applicable for queue storage in the primary location.\n"},"primaryQueueMicrosoftEndpoint":{"type":"string","description":"The microsoft routing endpoint URL for queue storage in the primary location.\n"},"primaryQueueMicrosoftHost":{"type":"string","description":"The microsoft routing hostname with port if applicable for queue storage in the primary location.\n"},"primaryTableEndpoint":{"type":"string","description":"The endpoint URL for table storage in the primary location.\n"},"primaryTableHost":{"type":"string","description":"The hostname with port if applicable for table storage in the primary location.\n"},"primaryTableMicrosoftEndpoint":{"type":"string","description":"The microsoft routing endpoint URL for table storage in the primary location.\n"},"primaryTableMicrosoftHost":{"type":"string","description":"The microsoft routing hostname with port if applicable for table storage in the primary location.\n"},"primaryWebEndpoint":{"type":"string","description":"The endpoint URL for web storage in the primary location.\n"},"primaryWebHost":{"type":"string","description":"The hostname with port if applicable for web storage in the primary location.\n"},"primaryWebInternetEndpoint":{"type":"string","description":"The internet routing endpoint URL for web storage in the primary location.\n"},"primaryWebInternetHost":{"type":"string","description":"The internet routing hostname with port if applicable for web storage in the primary location.\n"},"primaryWebMicrosoftEndpoint":{"type":"string","description":"The microsoft routing endpoint URL for web storage in the primary location.\n"},"primaryWebMicrosoftHost":{"type":"string","description":"The microsoft routing hostname with port if applicable for web storage in the primary location.\n"},"provisionedBillingModelVersion":{"type":"string","description":"Specifies the version of the **provisioned** billing model (e.g. when \u003cspan pulumi-lang-nodejs=\"`accountKind \" pulumi-lang-dotnet=\"`AccountKind \" pulumi-lang-go=\"`accountKind \" pulumi-lang-python=\"`account_kind \" pulumi-lang-yaml=\"`accountKind \" pulumi-lang-java=\"`accountKind \"\u003e`account_kind \u003c/span\u003e= \"FileStorage\"` for Storage File). Possible value is `V2`. Changing this forces a new resource to be created.\n"},"publicNetworkAccessEnabled":{"type":"boolean","description":"Whether the public network access is enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"queueEncryptionKeyType":{"type":"string","description":"The encryption type of the queue service. Possible values are `Service` and `Account`. Changing this forces a new resource to be created. Default value is `Service`.\n"},"queueProperties":{"$ref":"#/types/azure:storage/AccountQueueProperties:AccountQueueProperties","description":"A \u003cspan pulumi-lang-nodejs=\"`queueProperties`\" pulumi-lang-dotnet=\"`QueueProperties`\" pulumi-lang-go=\"`queueProperties`\" pulumi-lang-python=\"`queue_properties`\" pulumi-lang-yaml=\"`queueProperties`\" pulumi-lang-java=\"`queueProperties`\"\u003e`queue_properties`\u003c/span\u003e block as defined below.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`queueProperties`\" pulumi-lang-dotnet=\"`QueueProperties`\" pulumi-lang-go=\"`queueProperties`\" pulumi-lang-python=\"`queue_properties`\" pulumi-lang-yaml=\"`queueProperties`\" pulumi-lang-java=\"`queueProperties`\"\u003e`queue_properties`\u003c/span\u003e can only be configured when \u003cspan pulumi-lang-nodejs=\"`accountTier`\" pulumi-lang-dotnet=\"`AccountTier`\" pulumi-lang-go=\"`accountTier`\" pulumi-lang-python=\"`account_tier`\" pulumi-lang-yaml=\"`accountTier`\" pulumi-lang-java=\"`accountTier`\"\u003e`account_tier`\u003c/span\u003e is set to `Standard` and \u003cspan pulumi-lang-nodejs=\"`accountKind`\" pulumi-lang-dotnet=\"`AccountKind`\" pulumi-lang-go=\"`accountKind`\" pulumi-lang-python=\"`account_kind`\" pulumi-lang-yaml=\"`accountKind`\" pulumi-lang-java=\"`accountKind`\"\u003e`account_kind`\u003c/span\u003e is set to either `Storage` or `StorageV2`.\n","deprecationMessage":"this block has been deprecated and superseded by the \u003cspan pulumi-lang-nodejs=\"`azure.storage.AccountQueueProperties`\" pulumi-lang-dotnet=\"`azure.storage.AccountQueueProperties`\" pulumi-lang-go=\"`storage.AccountQueueProperties`\" pulumi-lang-python=\"`storage.AccountQueueProperties`\" pulumi-lang-yaml=\"`azure.storage.AccountQueueProperties`\" pulumi-lang-java=\"`azure.storage.AccountQueueProperties`\"\u003e`azure.storage.AccountQueueProperties`\u003c/span\u003e resource and will be removed in v5.0 of the AzureRM provider"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the storage account. Changing this forces a new resource to be created.\n"},"routing":{"$ref":"#/types/azure:storage/AccountRouting:AccountRouting","description":"A \u003cspan pulumi-lang-nodejs=\"`routing`\" pulumi-lang-dotnet=\"`Routing`\" pulumi-lang-go=\"`routing`\" pulumi-lang-python=\"`routing`\" pulumi-lang-yaml=\"`routing`\" pulumi-lang-java=\"`routing`\"\u003e`routing`\u003c/span\u003e block as defined below.\n"},"sasPolicy":{"$ref":"#/types/azure:storage/AccountSasPolicy:AccountSasPolicy","description":"A \u003cspan pulumi-lang-nodejs=\"`sasPolicy`\" pulumi-lang-dotnet=\"`SasPolicy`\" pulumi-lang-go=\"`sasPolicy`\" pulumi-lang-python=\"`sas_policy`\" pulumi-lang-yaml=\"`sasPolicy`\" pulumi-lang-java=\"`sasPolicy`\"\u003e`sas_policy`\u003c/span\u003e block as defined below.\n"},"secondaryAccessKey":{"type":"string","description":"The secondary access key for the storage account.\n","secret":true},"secondaryBlobConnectionString":{"type":"string","description":"The connection string associated with the secondary blob location.\n","secret":true},"secondaryBlobEndpoint":{"type":"string","description":"The endpoint URL for blob storage in the secondary location.\n"},"secondaryBlobHost":{"type":"string","description":"The hostname with port if applicable for blob storage in the secondary location.\n"},"secondaryBlobInternetEndpoint":{"type":"string","description":"The internet routing endpoint URL for blob storage in the secondary location.\n"},"secondaryBlobInternetHost":{"type":"string","description":"The internet routing hostname with port if applicable for blob storage in the secondary location.\n"},"secondaryBlobMicrosoftEndpoint":{"type":"string","description":"The microsoft routing endpoint URL for blob storage in the secondary location.\n"},"secondaryBlobMicrosoftHost":{"type":"string","description":"The microsoft routing hostname with port if applicable for blob storage in the secondary location.\n"},"secondaryConnectionString":{"type":"string","description":"The connection string associated with the secondary location.\n","secret":true},"secondaryDfsEndpoint":{"type":"string","description":"The endpoint URL for DFS storage in the secondary location.\n"},"secondaryDfsHost":{"type":"string","description":"The hostname with port if applicable for DFS storage in the secondary location.\n"},"secondaryDfsInternetEndpoint":{"type":"string","description":"The internet routing endpoint URL for DFS storage in the secondary location.\n"},"secondaryDfsInternetHost":{"type":"string","description":"The internet routing hostname with port if applicable for DFS storage in the secondary location.\n"},"secondaryDfsMicrosoftEndpoint":{"type":"string","description":"The microsoft routing endpoint URL for DFS storage in the secondary location.\n"},"secondaryDfsMicrosoftHost":{"type":"string","description":"The microsoft routing hostname with port if applicable for DFS storage in the secondary location.\n"},"secondaryFileEndpoint":{"type":"string","description":"The endpoint URL for file storage in the secondary location.\n"},"secondaryFileHost":{"type":"string","description":"The hostname with port if applicable for file storage in the secondary location.\n"},"secondaryFileInternetEndpoint":{"type":"string","description":"The internet routing endpoint URL for file storage in the secondary location.\n"},"secondaryFileInternetHost":{"type":"string","description":"The internet routing hostname with port if applicable for file storage in the secondary location.\n"},"secondaryFileMicrosoftEndpoint":{"type":"string","description":"The microsoft routing endpoint URL for file storage in the secondary location.\n"},"secondaryFileMicrosoftHost":{"type":"string","description":"The microsoft routing hostname with port if applicable for file storage in the secondary location.\n"},"secondaryLocation":{"type":"string","description":"The secondary location of the storage account.\n"},"secondaryQueueEndpoint":{"type":"string","description":"The endpoint URL for queue storage in the secondary location.\n"},"secondaryQueueHost":{"type":"string","description":"The hostname with port if applicable for queue storage in the secondary location.\n"},"secondaryQueueMicrosoftEndpoint":{"type":"string","description":"The microsoft routing endpoint URL for queue storage in the secondary location.\n"},"secondaryQueueMicrosoftHost":{"type":"string","description":"The microsoft routing hostname with port if applicable for queue storage in the secondary location.\n"},"secondaryTableEndpoint":{"type":"string","description":"The endpoint URL for table storage in the secondary location.\n"},"secondaryTableHost":{"type":"string","description":"The hostname with port if applicable for table storage in the secondary location.\n"},"secondaryTableMicrosoftEndpoint":{"type":"string","description":"The microsoft routing endpoint URL for table storage in the secondary location.\n"},"secondaryTableMicrosoftHost":{"type":"string","description":"The microsoft routing hostname with port if applicable for table storage in the secondary location.\n"},"secondaryWebEndpoint":{"type":"string","description":"The endpoint URL for web storage in the secondary location.\n"},"secondaryWebHost":{"type":"string","description":"The hostname with port if applicable for web storage in the secondary location.\n"},"secondaryWebInternetEndpoint":{"type":"string","description":"The internet routing endpoint URL for web storage in the secondary location.\n"},"secondaryWebInternetHost":{"type":"string","description":"The internet routing hostname with port if applicable for web storage in the secondary location.\n"},"secondaryWebMicrosoftEndpoint":{"type":"string","description":"The microsoft routing endpoint URL for web storage in the secondary location.\n"},"secondaryWebMicrosoftHost":{"type":"string","description":"The microsoft routing hostname with port if applicable for web storage in the secondary location.\n"},"sftpEnabled":{"type":"boolean","description":"Boolean, enable SFTP for the storage account\n\n\u003e **Note:** SFTP support requires \u003cspan pulumi-lang-nodejs=\"`isHnsEnabled`\" pulumi-lang-dotnet=\"`IsHnsEnabled`\" pulumi-lang-go=\"`isHnsEnabled`\" pulumi-lang-python=\"`is_hns_enabled`\" pulumi-lang-yaml=\"`isHnsEnabled`\" pulumi-lang-java=\"`isHnsEnabled`\"\u003e`is_hns_enabled`\u003c/span\u003e set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e. [More information on SFTP support can be found here](https://learn.microsoft.com/azure/storage/blobs/secure-file-transfer-protocol-support). Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e\n"},"shareProperties":{"$ref":"#/types/azure:storage/AccountShareProperties:AccountShareProperties","description":"A \u003cspan pulumi-lang-nodejs=\"`shareProperties`\" pulumi-lang-dotnet=\"`ShareProperties`\" pulumi-lang-go=\"`shareProperties`\" pulumi-lang-python=\"`share_properties`\" pulumi-lang-yaml=\"`shareProperties`\" pulumi-lang-java=\"`shareProperties`\"\u003e`share_properties`\u003c/span\u003e block as defined below.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`shareProperties`\" pulumi-lang-dotnet=\"`ShareProperties`\" pulumi-lang-go=\"`shareProperties`\" pulumi-lang-python=\"`share_properties`\" pulumi-lang-yaml=\"`shareProperties`\" pulumi-lang-java=\"`shareProperties`\"\u003e`share_properties`\u003c/span\u003e can only be configured when either \u003cspan pulumi-lang-nodejs=\"`accountTier`\" pulumi-lang-dotnet=\"`AccountTier`\" pulumi-lang-go=\"`accountTier`\" pulumi-lang-python=\"`account_tier`\" pulumi-lang-yaml=\"`accountTier`\" pulumi-lang-java=\"`accountTier`\"\u003e`account_tier`\u003c/span\u003e is `Standard` and \u003cspan pulumi-lang-nodejs=\"`accountKind`\" pulumi-lang-dotnet=\"`AccountKind`\" pulumi-lang-go=\"`accountKind`\" pulumi-lang-python=\"`account_kind`\" pulumi-lang-yaml=\"`accountKind`\" pulumi-lang-java=\"`accountKind`\"\u003e`account_kind`\u003c/span\u003e is either `Storage` or `StorageV2` - or when \u003cspan pulumi-lang-nodejs=\"`accountTier`\" pulumi-lang-dotnet=\"`AccountTier`\" pulumi-lang-go=\"`accountTier`\" pulumi-lang-python=\"`account_tier`\" pulumi-lang-yaml=\"`accountTier`\" pulumi-lang-java=\"`accountTier`\"\u003e`account_tier`\u003c/span\u003e is `Premium` and \u003cspan pulumi-lang-nodejs=\"`accountKind`\" pulumi-lang-dotnet=\"`AccountKind`\" pulumi-lang-go=\"`accountKind`\" pulumi-lang-python=\"`account_kind`\" pulumi-lang-yaml=\"`accountKind`\" pulumi-lang-java=\"`accountKind`\"\u003e`account_kind`\u003c/span\u003e is `FileStorage`.\n"},"sharedAccessKeyEnabled":{"type":"boolean","description":"Indicates whether the storage account permits requests to be authorized with the account access key via Shared Key. If false, then all requests, including shared access signatures, must be authorized with Azure Active Directory (Azure AD). Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n\n\u003e **Note:** Terraform uses Shared Key Authorisation to provision Storage Containers, Blobs and other items - when Shared Key Access is disabled, you will need to enable the \u003cspan pulumi-lang-nodejs=\"`storageUseAzuread`\" pulumi-lang-dotnet=\"`StorageUseAzuread`\" pulumi-lang-go=\"`storageUseAzuread`\" pulumi-lang-python=\"`storage_use_azuread`\" pulumi-lang-yaml=\"`storageUseAzuread`\" pulumi-lang-java=\"`storageUseAzuread`\"\u003e`storage_use_azuread`\u003c/span\u003e flag in the Provider block to use Azure AD for authentication, however not all Azure Storage services support Active Directory authentication.\n"},"staticWebsite":{"$ref":"#/types/azure:storage/AccountStaticWebsite:AccountStaticWebsite","description":"A \u003cspan pulumi-lang-nodejs=\"`staticWebsite`\" pulumi-lang-dotnet=\"`StaticWebsite`\" pulumi-lang-go=\"`staticWebsite`\" pulumi-lang-python=\"`static_website`\" pulumi-lang-yaml=\"`staticWebsite`\" pulumi-lang-java=\"`staticWebsite`\"\u003e`static_website`\u003c/span\u003e block as defined below.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`staticWebsite`\" pulumi-lang-dotnet=\"`StaticWebsite`\" pulumi-lang-go=\"`staticWebsite`\" pulumi-lang-python=\"`static_website`\" pulumi-lang-yaml=\"`staticWebsite`\" pulumi-lang-java=\"`staticWebsite`\"\u003e`static_website`\u003c/span\u003e can only be set when the \u003cspan pulumi-lang-nodejs=\"`accountKind`\" pulumi-lang-dotnet=\"`AccountKind`\" pulumi-lang-go=\"`accountKind`\" pulumi-lang-python=\"`account_kind`\" pulumi-lang-yaml=\"`accountKind`\" pulumi-lang-java=\"`accountKind`\"\u003e`account_kind`\u003c/span\u003e is set to `StorageV2` or `BlockBlobStorage`.\n\n\u003e **Note:** If \u003cspan pulumi-lang-nodejs=\"`staticWebsite`\" pulumi-lang-dotnet=\"`StaticWebsite`\" pulumi-lang-go=\"`staticWebsite`\" pulumi-lang-python=\"`static_website`\" pulumi-lang-yaml=\"`staticWebsite`\" pulumi-lang-java=\"`staticWebsite`\"\u003e`static_website`\u003c/span\u003e is specified, the service will automatically create a \u003cspan pulumi-lang-nodejs=\"`azure.storage.Container`\" pulumi-lang-dotnet=\"`azure.storage.Container`\" pulumi-lang-go=\"`storage.Container`\" pulumi-lang-python=\"`storage.Container`\" pulumi-lang-yaml=\"`azure.storage.Container`\" pulumi-lang-java=\"`azure.storage.Container`\"\u003e`azure.storage.Container`\u003c/span\u003e named `$web`.\n","deprecationMessage":"this block has been deprecated and superseded by the \u003cspan pulumi-lang-nodejs=\"`azure.storage.AccountStaticWebsite`\" pulumi-lang-dotnet=\"`azure.storage.AccountStaticWebsite`\" pulumi-lang-go=\"`storage.AccountStaticWebsite`\" pulumi-lang-python=\"`storage.AccountStaticWebsite`\" pulumi-lang-yaml=\"`azure.storage.AccountStaticWebsite`\" pulumi-lang-java=\"`azure.storage.AccountStaticWebsite`\"\u003e`azure.storage.AccountStaticWebsite`\u003c/span\u003e resource and will be removed in v5.0 of the AzureRM provider"},"tableEncryptionKeyType":{"type":"string","description":"The encryption type of the table service. Possible values are `Service` and `Account`. Changing this forces a new resource to be created. Default value is `Service`.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`queueEncryptionKeyType`\" pulumi-lang-dotnet=\"`QueueEncryptionKeyType`\" pulumi-lang-go=\"`queueEncryptionKeyType`\" pulumi-lang-python=\"`queue_encryption_key_type`\" pulumi-lang-yaml=\"`queueEncryptionKeyType`\" pulumi-lang-java=\"`queueEncryptionKeyType`\"\u003e`queue_encryption_key_type`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`tableEncryptionKeyType`\" pulumi-lang-dotnet=\"`TableEncryptionKeyType`\" pulumi-lang-go=\"`tableEncryptionKeyType`\" pulumi-lang-python=\"`table_encryption_key_type`\" pulumi-lang-yaml=\"`tableEncryptionKeyType`\" pulumi-lang-java=\"`tableEncryptionKeyType`\"\u003e`table_encryption_key_type`\u003c/span\u003e cannot be set to `Account` when \u003cspan pulumi-lang-nodejs=\"`accountKind`\" pulumi-lang-dotnet=\"`AccountKind`\" pulumi-lang-go=\"`accountKind`\" pulumi-lang-python=\"`account_kind`\" pulumi-lang-yaml=\"`accountKind`\" pulumi-lang-java=\"`accountKind`\"\u003e`account_kind`\u003c/span\u003e is set `Storage`\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"required":["accessTier","accountReplicationType","accountTier","blobProperties","largeFileShareEnabled","location","name","networkRules","primaryAccessKey","primaryBlobConnectionString","primaryBlobEndpoint","primaryBlobHost","primaryBlobInternetEndpoint","primaryBlobInternetHost","primaryBlobMicrosoftEndpoint","primaryBlobMicrosoftHost","primaryConnectionString","primaryDfsEndpoint","primaryDfsHost","primaryDfsInternetEndpoint","primaryDfsInternetHost","primaryDfsMicrosoftEndpoint","primaryDfsMicrosoftHost","primaryFileEndpoint","primaryFileHost","primaryFileInternetEndpoint","primaryFileInternetHost","primaryFileMicrosoftEndpoint","primaryFileMicrosoftHost","primaryLocation","primaryQueueEndpoint","primaryQueueHost","primaryQueueMicrosoftEndpoint","primaryQueueMicrosoftHost","primaryTableEndpoint","primaryTableHost","primaryTableMicrosoftEndpoint","primaryTableMicrosoftHost","primaryWebEndpoint","primaryWebHost","primaryWebInternetEndpoint","primaryWebInternetHost","primaryWebMicrosoftEndpoint","primaryWebMicrosoftHost","queueProperties","resourceGroupName","routing","secondaryAccessKey","secondaryBlobConnectionString","secondaryBlobEndpoint","secondaryBlobHost","secondaryBlobInternetEndpoint","secondaryBlobInternetHost","secondaryBlobMicrosoftEndpoint","secondaryBlobMicrosoftHost","secondaryConnectionString","secondaryDfsEndpoint","secondaryDfsHost","secondaryDfsInternetEndpoint","secondaryDfsInternetHost","secondaryDfsMicrosoftEndpoint","secondaryDfsMicrosoftHost","secondaryFileEndpoint","secondaryFileHost","secondaryFileInternetEndpoint","secondaryFileInternetHost","secondaryFileMicrosoftEndpoint","secondaryFileMicrosoftHost","secondaryLocation","secondaryQueueEndpoint","secondaryQueueHost","secondaryQueueMicrosoftEndpoint","secondaryQueueMicrosoftHost","secondaryTableEndpoint","secondaryTableHost","secondaryTableMicrosoftEndpoint","secondaryTableMicrosoftHost","secondaryWebEndpoint","secondaryWebHost","secondaryWebInternetEndpoint","secondaryWebInternetHost","secondaryWebMicrosoftEndpoint","secondaryWebMicrosoftHost","shareProperties","staticWebsite"],"inputProperties":{"accessTier":{"type":"string","description":"Defines the access tier for `BlobStorage`, `FileStorage` and `StorageV2` accounts. Valid options are `Hot`, `Cool`, `Cold` and `Premium`. Defaults to `Hot`.\n"},"accountKind":{"type":"string","description":"Defines the Kind of account. Valid options are `BlobStorage`, `BlockBlobStorage`, `FileStorage`, `Storage` and `StorageV2`. Defaults to `StorageV2`.\n\n\u003e **Note:** Changing the \u003cspan pulumi-lang-nodejs=\"`accountKind`\" pulumi-lang-dotnet=\"`AccountKind`\" pulumi-lang-go=\"`accountKind`\" pulumi-lang-python=\"`account_kind`\" pulumi-lang-yaml=\"`accountKind`\" pulumi-lang-java=\"`accountKind`\"\u003e`account_kind`\u003c/span\u003e value from `Storage` to `StorageV2` will not trigger a force new on the storage account, it will only upgrade the existing storage account from `Storage` to `StorageV2` keeping the existing storage account in place.\n"},"accountReplicationType":{"type":"string","description":"Defines the type of replication to use for this storage account. Valid options are `LRS`, `GRS`, `RAGRS`, `ZRS`, `GZRS` and `RAGZRS`. Changing this forces a new resource to be created when types `LRS`, `GRS` and `RAGRS` are changed to `ZRS`, `GZRS` or `RAGZRS` and vice versa.\n"},"accountTier":{"type":"string","description":"Defines the Tier to use for this storage account. Valid options are `Standard` and `Premium`. For `BlockBlobStorage` and `FileStorage` accounts only `Premium` is valid. Changing this forces a new resource to be created.\n\n\u003e **Note:** Blobs with a tier of `Premium` are of account kind `StorageV2`.\n","willReplaceOnChanges":true},"allowNestedItemsToBePublic":{"type":"boolean","description":"Allow or disallow nested items within this Account to opt into being public. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n\n\u003e **Note:** At this time \u003cspan pulumi-lang-nodejs=\"`allowNestedItemsToBePublic`\" pulumi-lang-dotnet=\"`AllowNestedItemsToBePublic`\" pulumi-lang-go=\"`allowNestedItemsToBePublic`\" pulumi-lang-python=\"`allow_nested_items_to_be_public`\" pulumi-lang-yaml=\"`allowNestedItemsToBePublic`\" pulumi-lang-java=\"`allowNestedItemsToBePublic`\"\u003e`allow_nested_items_to_be_public`\u003c/span\u003e is only supported in the Public Cloud, China Cloud, and US Government Cloud.\n"},"allowedCopyScope":{"type":"string","description":"Restrict copy to and from Storage Accounts within an AAD tenant or with Private Links to the same VNet. Possible values are `AAD` and `PrivateLink`.\n"},"azureFilesAuthentication":{"$ref":"#/types/azure:storage/AccountAzureFilesAuthentication:AccountAzureFilesAuthentication","description":"A \u003cspan pulumi-lang-nodejs=\"`azureFilesAuthentication`\" pulumi-lang-dotnet=\"`AzureFilesAuthentication`\" pulumi-lang-go=\"`azureFilesAuthentication`\" pulumi-lang-python=\"`azure_files_authentication`\" pulumi-lang-yaml=\"`azureFilesAuthentication`\" pulumi-lang-java=\"`azureFilesAuthentication`\"\u003e`azure_files_authentication`\u003c/span\u003e block as defined below.\n"},"blobProperties":{"$ref":"#/types/azure:storage/AccountBlobProperties:AccountBlobProperties","description":"A \u003cspan pulumi-lang-nodejs=\"`blobProperties`\" pulumi-lang-dotnet=\"`BlobProperties`\" pulumi-lang-go=\"`blobProperties`\" pulumi-lang-python=\"`blob_properties`\" pulumi-lang-yaml=\"`blobProperties`\" pulumi-lang-java=\"`blobProperties`\"\u003e`blob_properties`\u003c/span\u003e block as defined below.\n"},"crossTenantReplicationEnabled":{"type":"boolean","description":"Should cross Tenant replication be enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"customDomain":{"$ref":"#/types/azure:storage/AccountCustomDomain:AccountCustomDomain","description":"A \u003cspan pulumi-lang-nodejs=\"`customDomain`\" pulumi-lang-dotnet=\"`CustomDomain`\" pulumi-lang-go=\"`customDomain`\" pulumi-lang-python=\"`custom_domain`\" pulumi-lang-yaml=\"`customDomain`\" pulumi-lang-java=\"`customDomain`\"\u003e`custom_domain`\u003c/span\u003e block as documented below.\n"},"customerManagedKey":{"$ref":"#/types/azure:storage/AccountCustomerManagedKey:AccountCustomerManagedKey","description":"A \u003cspan pulumi-lang-nodejs=\"`customerManagedKey`\" pulumi-lang-dotnet=\"`CustomerManagedKey`\" pulumi-lang-go=\"`customerManagedKey`\" pulumi-lang-python=\"`customer_managed_key`\" pulumi-lang-yaml=\"`customerManagedKey`\" pulumi-lang-java=\"`customerManagedKey`\"\u003e`customer_managed_key`\u003c/span\u003e block as documented below.\n\n\u003e **Note:** It's possible to define a Customer Managed Key both within either the \u003cspan pulumi-lang-nodejs=\"`customerManagedKey`\" pulumi-lang-dotnet=\"`CustomerManagedKey`\" pulumi-lang-go=\"`customerManagedKey`\" pulumi-lang-python=\"`customer_managed_key`\" pulumi-lang-yaml=\"`customerManagedKey`\" pulumi-lang-java=\"`customerManagedKey`\"\u003e`customer_managed_key`\u003c/span\u003e block or by using the \u003cspan pulumi-lang-nodejs=\"`azure.storage.CustomerManagedKey`\" pulumi-lang-dotnet=\"`azure.storage.CustomerManagedKey`\" pulumi-lang-go=\"`storage.CustomerManagedKey`\" pulumi-lang-python=\"`storage.CustomerManagedKey`\" pulumi-lang-yaml=\"`azure.storage.CustomerManagedKey`\" pulumi-lang-java=\"`azure.storage.CustomerManagedKey`\"\u003e`azure.storage.CustomerManagedKey`\u003c/span\u003e resource. However, it's not possible to use both methods to manage a Customer Managed Key for a Storage Account, since these will conflict. When using the \u003cspan pulumi-lang-nodejs=\"`azure.storage.CustomerManagedKey`\" pulumi-lang-dotnet=\"`azure.storage.CustomerManagedKey`\" pulumi-lang-go=\"`storage.CustomerManagedKey`\" pulumi-lang-python=\"`storage.CustomerManagedKey`\" pulumi-lang-yaml=\"`azure.storage.CustomerManagedKey`\" pulumi-lang-java=\"`azure.storage.CustomerManagedKey`\"\u003e`azure.storage.CustomerManagedKey`\u003c/span\u003e resource, you will need to use \u003cspan pulumi-lang-nodejs=\"`ignoreChanges`\" pulumi-lang-dotnet=\"`IgnoreChanges`\" pulumi-lang-go=\"`ignoreChanges`\" pulumi-lang-python=\"`ignore_changes`\" pulumi-lang-yaml=\"`ignoreChanges`\" pulumi-lang-java=\"`ignoreChanges`\"\u003e`ignore_changes`\u003c/span\u003e on the \u003cspan pulumi-lang-nodejs=\"`customerManagedKey`\" pulumi-lang-dotnet=\"`CustomerManagedKey`\" pulumi-lang-go=\"`customerManagedKey`\" pulumi-lang-python=\"`customer_managed_key`\" pulumi-lang-yaml=\"`customerManagedKey`\" pulumi-lang-java=\"`customerManagedKey`\"\u003e`customer_managed_key`\u003c/span\u003e block.\n"},"defaultToOauthAuthentication":{"type":"boolean","description":"Default to Azure Active Directory authorization in the Azure portal when accessing the Storage Account. The default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e\n"},"dnsEndpointType":{"type":"string","description":"Specifies which DNS endpoint type to use. Possible values are `Standard` and `AzureDnsZone`. Defaults to `Standard`. Changing this forces a new resource to be created.\n\n\u003e **Note:** Azure DNS zone support requires `PartitionedDns` feature to be enabled. To enable this feature for your subscription, use the following command: `az feature register --namespace \"Microsoft.Storage\" --name \"PartitionedDns\"`.\n","willReplaceOnChanges":true},"edgeZone":{"type":"string","description":"Specifies the Edge Zone within the Azure Region where this Storage Account should exist. Changing this forces a new Storage Account to be created.\n","willReplaceOnChanges":true},"httpsTrafficOnlyEnabled":{"type":"boolean","description":"Boolean flag which forces HTTPS if enabled, see [here](https://docs.microsoft.com/azure/storage/storage-require-secure-transfer/) for more information. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"identity":{"$ref":"#/types/azure:storage/AccountIdentity:AccountIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"immutabilityPolicy":{"$ref":"#/types/azure:storage/AccountImmutabilityPolicy:AccountImmutabilityPolicy","description":"An \u003cspan pulumi-lang-nodejs=\"`immutabilityPolicy`\" pulumi-lang-dotnet=\"`ImmutabilityPolicy`\" pulumi-lang-go=\"`immutabilityPolicy`\" pulumi-lang-python=\"`immutability_policy`\" pulumi-lang-yaml=\"`immutabilityPolicy`\" pulumi-lang-java=\"`immutabilityPolicy`\"\u003e`immutability_policy`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"infrastructureEncryptionEnabled":{"type":"boolean","description":"Is infrastructure encryption enabled? Changing this forces a new resource to be created. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** This can only be \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e when \u003cspan pulumi-lang-nodejs=\"`accountKind`\" pulumi-lang-dotnet=\"`AccountKind`\" pulumi-lang-go=\"`accountKind`\" pulumi-lang-python=\"`account_kind`\" pulumi-lang-yaml=\"`accountKind`\" pulumi-lang-java=\"`accountKind`\"\u003e`account_kind`\u003c/span\u003e is `StorageV2` or when \u003cspan pulumi-lang-nodejs=\"`accountTier`\" pulumi-lang-dotnet=\"`AccountTier`\" pulumi-lang-go=\"`accountTier`\" pulumi-lang-python=\"`account_tier`\" pulumi-lang-yaml=\"`accountTier`\" pulumi-lang-java=\"`accountTier`\"\u003e`account_tier`\u003c/span\u003e is `Premium` *and* \u003cspan pulumi-lang-nodejs=\"`accountKind`\" pulumi-lang-dotnet=\"`AccountKind`\" pulumi-lang-go=\"`accountKind`\" pulumi-lang-python=\"`account_kind`\" pulumi-lang-yaml=\"`accountKind`\" pulumi-lang-java=\"`accountKind`\"\u003e`account_kind`\u003c/span\u003e is one of `BlockBlobStorage` or `FileStorage`.\n","willReplaceOnChanges":true},"isHnsEnabled":{"type":"boolean","description":"Is Hierarchical Namespace enabled? This can be used with Azure Data Lake Storage Gen 2 ([see here for more information](https://docs.microsoft.com/azure/storage/blobs/data-lake-storage-quickstart-create-account/)). Changing this forces a new resource to be created.\n\n\u003e **Note:** This can only be \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e when \u003cspan pulumi-lang-nodejs=\"`accountTier`\" pulumi-lang-dotnet=\"`AccountTier`\" pulumi-lang-go=\"`accountTier`\" pulumi-lang-python=\"`account_tier`\" pulumi-lang-yaml=\"`accountTier`\" pulumi-lang-java=\"`accountTier`\"\u003e`account_tier`\u003c/span\u003e is `Standard` or when \u003cspan pulumi-lang-nodejs=\"`accountTier`\" pulumi-lang-dotnet=\"`AccountTier`\" pulumi-lang-go=\"`accountTier`\" pulumi-lang-python=\"`account_tier`\" pulumi-lang-yaml=\"`accountTier`\" pulumi-lang-java=\"`accountTier`\"\u003e`account_tier`\u003c/span\u003e is `Premium` *and* \u003cspan pulumi-lang-nodejs=\"`accountKind`\" pulumi-lang-dotnet=\"`AccountKind`\" pulumi-lang-go=\"`accountKind`\" pulumi-lang-python=\"`account_kind`\" pulumi-lang-yaml=\"`accountKind`\" pulumi-lang-java=\"`accountKind`\"\u003e`account_kind`\u003c/span\u003e is `BlockBlobStorage`\n","willReplaceOnChanges":true},"largeFileShareEnabled":{"type":"boolean","description":"Are Large File Shares Enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** Large File Shares are enabled by default when using an \u003cspan pulumi-lang-nodejs=\"`accountKind`\" pulumi-lang-dotnet=\"`AccountKind`\" pulumi-lang-go=\"`accountKind`\" pulumi-lang-python=\"`account_kind`\" pulumi-lang-yaml=\"`accountKind`\" pulumi-lang-java=\"`accountKind`\"\u003e`account_kind`\u003c/span\u003e of `FileStorage`.\n"},"localUserEnabled":{"type":"boolean","description":"Is Local User Enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"minTlsVersion":{"type":"string","description":"The minimum supported TLS version for the storage account. Possible values are `TLS1_0`, `TLS1_1`, `TLS1_2` and `TLS1_3`. Defaults to `TLS1_2` for new storage accounts.\n\n\u003e **Note:** Azure Services will require TLS 1.2+ by August 2025, please see this [announcement](https://azure.microsoft.com/en-us/updates/v2/update-retirement-tls1-0-tls1-1-versions-azure-services/) for more.\n\n\u003e **Note:** At this time \u003cspan pulumi-lang-nodejs=\"`minTlsVersion`\" pulumi-lang-dotnet=\"`MinTlsVersion`\" pulumi-lang-go=\"`minTlsVersion`\" pulumi-lang-python=\"`min_tls_version`\" pulumi-lang-yaml=\"`minTlsVersion`\" pulumi-lang-java=\"`minTlsVersion`\"\u003e`min_tls_version`\u003c/span\u003e is only supported in the Public Cloud, China Cloud, and US Government Cloud.\n"},"name":{"type":"string","description":"Specifies the name of the storage account. Only lowercase Alphanumeric characters allowed. Changing this forces a new resource to be created. This must be unique across the entire Azure service, not just within the resource group.\n","willReplaceOnChanges":true},"networkRules":{"$ref":"#/types/azure:storage/AccountNetworkRules:AccountNetworkRules","description":"A \u003cspan pulumi-lang-nodejs=\"`networkRules`\" pulumi-lang-dotnet=\"`NetworkRules`\" pulumi-lang-go=\"`networkRules`\" pulumi-lang-python=\"`network_rules`\" pulumi-lang-yaml=\"`networkRules`\" pulumi-lang-java=\"`networkRules`\"\u003e`network_rules`\u003c/span\u003e block as documented below.\n"},"nfsv3Enabled":{"type":"boolean","description":"Is NFSv3 protocol enabled? Changing this forces a new resource to be created. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** This can only be \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e when \u003cspan pulumi-lang-nodejs=\"`accountTier`\" pulumi-lang-dotnet=\"`AccountTier`\" pulumi-lang-go=\"`accountTier`\" pulumi-lang-python=\"`account_tier`\" pulumi-lang-yaml=\"`accountTier`\" pulumi-lang-java=\"`accountTier`\"\u003e`account_tier`\u003c/span\u003e is `Standard` and \u003cspan pulumi-lang-nodejs=\"`accountKind`\" pulumi-lang-dotnet=\"`AccountKind`\" pulumi-lang-go=\"`accountKind`\" pulumi-lang-python=\"`account_kind`\" pulumi-lang-yaml=\"`accountKind`\" pulumi-lang-java=\"`accountKind`\"\u003e`account_kind`\u003c/span\u003e is `StorageV2`, or \u003cspan pulumi-lang-nodejs=\"`accountTier`\" pulumi-lang-dotnet=\"`AccountTier`\" pulumi-lang-go=\"`accountTier`\" pulumi-lang-python=\"`account_tier`\" pulumi-lang-yaml=\"`accountTier`\" pulumi-lang-java=\"`accountTier`\"\u003e`account_tier`\u003c/span\u003e is `Premium` and \u003cspan pulumi-lang-nodejs=\"`accountKind`\" pulumi-lang-dotnet=\"`AccountKind`\" pulumi-lang-go=\"`accountKind`\" pulumi-lang-python=\"`account_kind`\" pulumi-lang-yaml=\"`accountKind`\" pulumi-lang-java=\"`accountKind`\"\u003e`account_kind`\u003c/span\u003e is `BlockBlobStorage`. Additionally, the \u003cspan pulumi-lang-nodejs=\"`isHnsEnabled`\" pulumi-lang-dotnet=\"`IsHnsEnabled`\" pulumi-lang-go=\"`isHnsEnabled`\" pulumi-lang-python=\"`is_hns_enabled`\" pulumi-lang-yaml=\"`isHnsEnabled`\" pulumi-lang-java=\"`isHnsEnabled`\"\u003e`is_hns_enabled`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`accountReplicationType`\" pulumi-lang-dotnet=\"`AccountReplicationType`\" pulumi-lang-go=\"`accountReplicationType`\" pulumi-lang-python=\"`account_replication_type`\" pulumi-lang-yaml=\"`accountReplicationType`\" pulumi-lang-java=\"`accountReplicationType`\"\u003e`account_replication_type`\u003c/span\u003e must be `LRS` or `RAGRS`.\n","willReplaceOnChanges":true},"provisionedBillingModelVersion":{"type":"string","description":"Specifies the version of the **provisioned** billing model (e.g. when \u003cspan pulumi-lang-nodejs=\"`accountKind \" pulumi-lang-dotnet=\"`AccountKind \" pulumi-lang-go=\"`accountKind \" pulumi-lang-python=\"`account_kind \" pulumi-lang-yaml=\"`accountKind \" pulumi-lang-java=\"`accountKind \"\u003e`account_kind \u003c/span\u003e= \"FileStorage\"` for Storage File). Possible value is `V2`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"publicNetworkAccessEnabled":{"type":"boolean","description":"Whether the public network access is enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"queueEncryptionKeyType":{"type":"string","description":"The encryption type of the queue service. Possible values are `Service` and `Account`. Changing this forces a new resource to be created. Default value is `Service`.\n","willReplaceOnChanges":true},"queueProperties":{"$ref":"#/types/azure:storage/AccountQueueProperties:AccountQueueProperties","description":"A \u003cspan pulumi-lang-nodejs=\"`queueProperties`\" pulumi-lang-dotnet=\"`QueueProperties`\" pulumi-lang-go=\"`queueProperties`\" pulumi-lang-python=\"`queue_properties`\" pulumi-lang-yaml=\"`queueProperties`\" pulumi-lang-java=\"`queueProperties`\"\u003e`queue_properties`\u003c/span\u003e block as defined below.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`queueProperties`\" pulumi-lang-dotnet=\"`QueueProperties`\" pulumi-lang-go=\"`queueProperties`\" pulumi-lang-python=\"`queue_properties`\" pulumi-lang-yaml=\"`queueProperties`\" pulumi-lang-java=\"`queueProperties`\"\u003e`queue_properties`\u003c/span\u003e can only be configured when \u003cspan pulumi-lang-nodejs=\"`accountTier`\" pulumi-lang-dotnet=\"`AccountTier`\" pulumi-lang-go=\"`accountTier`\" pulumi-lang-python=\"`account_tier`\" pulumi-lang-yaml=\"`accountTier`\" pulumi-lang-java=\"`accountTier`\"\u003e`account_tier`\u003c/span\u003e is set to `Standard` and \u003cspan pulumi-lang-nodejs=\"`accountKind`\" pulumi-lang-dotnet=\"`AccountKind`\" pulumi-lang-go=\"`accountKind`\" pulumi-lang-python=\"`account_kind`\" pulumi-lang-yaml=\"`accountKind`\" pulumi-lang-java=\"`accountKind`\"\u003e`account_kind`\u003c/span\u003e is set to either `Storage` or `StorageV2`.\n","deprecationMessage":"this block has been deprecated and superseded by the \u003cspan pulumi-lang-nodejs=\"`azure.storage.AccountQueueProperties`\" pulumi-lang-dotnet=\"`azure.storage.AccountQueueProperties`\" pulumi-lang-go=\"`storage.AccountQueueProperties`\" pulumi-lang-python=\"`storage.AccountQueueProperties`\" pulumi-lang-yaml=\"`azure.storage.AccountQueueProperties`\" pulumi-lang-java=\"`azure.storage.AccountQueueProperties`\"\u003e`azure.storage.AccountQueueProperties`\u003c/span\u003e resource and will be removed in v5.0 of the AzureRM provider"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the storage account. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"routing":{"$ref":"#/types/azure:storage/AccountRouting:AccountRouting","description":"A \u003cspan pulumi-lang-nodejs=\"`routing`\" pulumi-lang-dotnet=\"`Routing`\" pulumi-lang-go=\"`routing`\" pulumi-lang-python=\"`routing`\" pulumi-lang-yaml=\"`routing`\" pulumi-lang-java=\"`routing`\"\u003e`routing`\u003c/span\u003e block as defined below.\n"},"sasPolicy":{"$ref":"#/types/azure:storage/AccountSasPolicy:AccountSasPolicy","description":"A \u003cspan pulumi-lang-nodejs=\"`sasPolicy`\" pulumi-lang-dotnet=\"`SasPolicy`\" pulumi-lang-go=\"`sasPolicy`\" pulumi-lang-python=\"`sas_policy`\" pulumi-lang-yaml=\"`sasPolicy`\" pulumi-lang-java=\"`sasPolicy`\"\u003e`sas_policy`\u003c/span\u003e block as defined below.\n"},"sftpEnabled":{"type":"boolean","description":"Boolean, enable SFTP for the storage account\n\n\u003e **Note:** SFTP support requires \u003cspan pulumi-lang-nodejs=\"`isHnsEnabled`\" pulumi-lang-dotnet=\"`IsHnsEnabled`\" pulumi-lang-go=\"`isHnsEnabled`\" pulumi-lang-python=\"`is_hns_enabled`\" pulumi-lang-yaml=\"`isHnsEnabled`\" pulumi-lang-java=\"`isHnsEnabled`\"\u003e`is_hns_enabled`\u003c/span\u003e set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e. [More information on SFTP support can be found here](https://learn.microsoft.com/azure/storage/blobs/secure-file-transfer-protocol-support). Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e\n"},"shareProperties":{"$ref":"#/types/azure:storage/AccountShareProperties:AccountShareProperties","description":"A \u003cspan pulumi-lang-nodejs=\"`shareProperties`\" pulumi-lang-dotnet=\"`ShareProperties`\" pulumi-lang-go=\"`shareProperties`\" pulumi-lang-python=\"`share_properties`\" pulumi-lang-yaml=\"`shareProperties`\" pulumi-lang-java=\"`shareProperties`\"\u003e`share_properties`\u003c/span\u003e block as defined below.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`shareProperties`\" pulumi-lang-dotnet=\"`ShareProperties`\" pulumi-lang-go=\"`shareProperties`\" pulumi-lang-python=\"`share_properties`\" pulumi-lang-yaml=\"`shareProperties`\" pulumi-lang-java=\"`shareProperties`\"\u003e`share_properties`\u003c/span\u003e can only be configured when either \u003cspan pulumi-lang-nodejs=\"`accountTier`\" pulumi-lang-dotnet=\"`AccountTier`\" pulumi-lang-go=\"`accountTier`\" pulumi-lang-python=\"`account_tier`\" pulumi-lang-yaml=\"`accountTier`\" pulumi-lang-java=\"`accountTier`\"\u003e`account_tier`\u003c/span\u003e is `Standard` and \u003cspan pulumi-lang-nodejs=\"`accountKind`\" pulumi-lang-dotnet=\"`AccountKind`\" pulumi-lang-go=\"`accountKind`\" pulumi-lang-python=\"`account_kind`\" pulumi-lang-yaml=\"`accountKind`\" pulumi-lang-java=\"`accountKind`\"\u003e`account_kind`\u003c/span\u003e is either `Storage` or `StorageV2` - or when \u003cspan pulumi-lang-nodejs=\"`accountTier`\" pulumi-lang-dotnet=\"`AccountTier`\" pulumi-lang-go=\"`accountTier`\" pulumi-lang-python=\"`account_tier`\" pulumi-lang-yaml=\"`accountTier`\" pulumi-lang-java=\"`accountTier`\"\u003e`account_tier`\u003c/span\u003e is `Premium` and \u003cspan pulumi-lang-nodejs=\"`accountKind`\" pulumi-lang-dotnet=\"`AccountKind`\" pulumi-lang-go=\"`accountKind`\" pulumi-lang-python=\"`account_kind`\" pulumi-lang-yaml=\"`accountKind`\" pulumi-lang-java=\"`accountKind`\"\u003e`account_kind`\u003c/span\u003e is `FileStorage`.\n"},"sharedAccessKeyEnabled":{"type":"boolean","description":"Indicates whether the storage account permits requests to be authorized with the account access key via Shared Key. If false, then all requests, including shared access signatures, must be authorized with Azure Active Directory (Azure AD). Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n\n\u003e **Note:** Terraform uses Shared Key Authorisation to provision Storage Containers, Blobs and other items - when Shared Key Access is disabled, you will need to enable the \u003cspan pulumi-lang-nodejs=\"`storageUseAzuread`\" pulumi-lang-dotnet=\"`StorageUseAzuread`\" pulumi-lang-go=\"`storageUseAzuread`\" pulumi-lang-python=\"`storage_use_azuread`\" pulumi-lang-yaml=\"`storageUseAzuread`\" pulumi-lang-java=\"`storageUseAzuread`\"\u003e`storage_use_azuread`\u003c/span\u003e flag in the Provider block to use Azure AD for authentication, however not all Azure Storage services support Active Directory authentication.\n"},"staticWebsite":{"$ref":"#/types/azure:storage/AccountStaticWebsite:AccountStaticWebsite","description":"A \u003cspan pulumi-lang-nodejs=\"`staticWebsite`\" pulumi-lang-dotnet=\"`StaticWebsite`\" pulumi-lang-go=\"`staticWebsite`\" pulumi-lang-python=\"`static_website`\" pulumi-lang-yaml=\"`staticWebsite`\" pulumi-lang-java=\"`staticWebsite`\"\u003e`static_website`\u003c/span\u003e block as defined below.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`staticWebsite`\" pulumi-lang-dotnet=\"`StaticWebsite`\" pulumi-lang-go=\"`staticWebsite`\" pulumi-lang-python=\"`static_website`\" pulumi-lang-yaml=\"`staticWebsite`\" pulumi-lang-java=\"`staticWebsite`\"\u003e`static_website`\u003c/span\u003e can only be set when the \u003cspan pulumi-lang-nodejs=\"`accountKind`\" pulumi-lang-dotnet=\"`AccountKind`\" pulumi-lang-go=\"`accountKind`\" pulumi-lang-python=\"`account_kind`\" pulumi-lang-yaml=\"`accountKind`\" pulumi-lang-java=\"`accountKind`\"\u003e`account_kind`\u003c/span\u003e is set to `StorageV2` or `BlockBlobStorage`.\n\n\u003e **Note:** If \u003cspan pulumi-lang-nodejs=\"`staticWebsite`\" pulumi-lang-dotnet=\"`StaticWebsite`\" pulumi-lang-go=\"`staticWebsite`\" pulumi-lang-python=\"`static_website`\" pulumi-lang-yaml=\"`staticWebsite`\" pulumi-lang-java=\"`staticWebsite`\"\u003e`static_website`\u003c/span\u003e is specified, the service will automatically create a \u003cspan pulumi-lang-nodejs=\"`azure.storage.Container`\" pulumi-lang-dotnet=\"`azure.storage.Container`\" pulumi-lang-go=\"`storage.Container`\" pulumi-lang-python=\"`storage.Container`\" pulumi-lang-yaml=\"`azure.storage.Container`\" pulumi-lang-java=\"`azure.storage.Container`\"\u003e`azure.storage.Container`\u003c/span\u003e named `$web`.\n","deprecationMessage":"this block has been deprecated and superseded by the \u003cspan pulumi-lang-nodejs=\"`azure.storage.AccountStaticWebsite`\" pulumi-lang-dotnet=\"`azure.storage.AccountStaticWebsite`\" pulumi-lang-go=\"`storage.AccountStaticWebsite`\" pulumi-lang-python=\"`storage.AccountStaticWebsite`\" pulumi-lang-yaml=\"`azure.storage.AccountStaticWebsite`\" pulumi-lang-java=\"`azure.storage.AccountStaticWebsite`\"\u003e`azure.storage.AccountStaticWebsite`\u003c/span\u003e resource and will be removed in v5.0 of the AzureRM provider"},"tableEncryptionKeyType":{"type":"string","description":"The encryption type of the table service. Possible values are `Service` and `Account`. Changing this forces a new resource to be created. Default value is `Service`.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`queueEncryptionKeyType`\" pulumi-lang-dotnet=\"`QueueEncryptionKeyType`\" pulumi-lang-go=\"`queueEncryptionKeyType`\" pulumi-lang-python=\"`queue_encryption_key_type`\" pulumi-lang-yaml=\"`queueEncryptionKeyType`\" pulumi-lang-java=\"`queueEncryptionKeyType`\"\u003e`queue_encryption_key_type`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`tableEncryptionKeyType`\" pulumi-lang-dotnet=\"`TableEncryptionKeyType`\" pulumi-lang-go=\"`tableEncryptionKeyType`\" pulumi-lang-python=\"`table_encryption_key_type`\" pulumi-lang-yaml=\"`tableEncryptionKeyType`\" pulumi-lang-java=\"`tableEncryptionKeyType`\"\u003e`table_encryption_key_type`\u003c/span\u003e cannot be set to `Account` when \u003cspan pulumi-lang-nodejs=\"`accountKind`\" pulumi-lang-dotnet=\"`AccountKind`\" pulumi-lang-go=\"`accountKind`\" pulumi-lang-python=\"`account_kind`\" pulumi-lang-yaml=\"`accountKind`\" pulumi-lang-java=\"`accountKind`\"\u003e`account_kind`\u003c/span\u003e is set `Storage`\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"requiredInputs":["accountReplicationType","accountTier","resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering Account resources.\n","properties":{"accessTier":{"type":"string","description":"Defines the access tier for `BlobStorage`, `FileStorage` and `StorageV2` accounts. Valid options are `Hot`, `Cool`, `Cold` and `Premium`. Defaults to `Hot`.\n"},"accountKind":{"type":"string","description":"Defines the Kind of account. Valid options are `BlobStorage`, `BlockBlobStorage`, `FileStorage`, `Storage` and `StorageV2`. Defaults to `StorageV2`.\n\n\u003e **Note:** Changing the \u003cspan pulumi-lang-nodejs=\"`accountKind`\" pulumi-lang-dotnet=\"`AccountKind`\" pulumi-lang-go=\"`accountKind`\" pulumi-lang-python=\"`account_kind`\" pulumi-lang-yaml=\"`accountKind`\" pulumi-lang-java=\"`accountKind`\"\u003e`account_kind`\u003c/span\u003e value from `Storage` to `StorageV2` will not trigger a force new on the storage account, it will only upgrade the existing storage account from `Storage` to `StorageV2` keeping the existing storage account in place.\n"},"accountReplicationType":{"type":"string","description":"Defines the type of replication to use for this storage account. Valid options are `LRS`, `GRS`, `RAGRS`, `ZRS`, `GZRS` and `RAGZRS`. Changing this forces a new resource to be created when types `LRS`, `GRS` and `RAGRS` are changed to `ZRS`, `GZRS` or `RAGZRS` and vice versa.\n"},"accountTier":{"type":"string","description":"Defines the Tier to use for this storage account. Valid options are `Standard` and `Premium`. For `BlockBlobStorage` and `FileStorage` accounts only `Premium` is valid. Changing this forces a new resource to be created.\n\n\u003e **Note:** Blobs with a tier of `Premium` are of account kind `StorageV2`.\n","willReplaceOnChanges":true},"allowNestedItemsToBePublic":{"type":"boolean","description":"Allow or disallow nested items within this Account to opt into being public. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n\n\u003e **Note:** At this time \u003cspan pulumi-lang-nodejs=\"`allowNestedItemsToBePublic`\" pulumi-lang-dotnet=\"`AllowNestedItemsToBePublic`\" pulumi-lang-go=\"`allowNestedItemsToBePublic`\" pulumi-lang-python=\"`allow_nested_items_to_be_public`\" pulumi-lang-yaml=\"`allowNestedItemsToBePublic`\" pulumi-lang-java=\"`allowNestedItemsToBePublic`\"\u003e`allow_nested_items_to_be_public`\u003c/span\u003e is only supported in the Public Cloud, China Cloud, and US Government Cloud.\n"},"allowedCopyScope":{"type":"string","description":"Restrict copy to and from Storage Accounts within an AAD tenant or with Private Links to the same VNet. Possible values are `AAD` and `PrivateLink`.\n"},"azureFilesAuthentication":{"$ref":"#/types/azure:storage/AccountAzureFilesAuthentication:AccountAzureFilesAuthentication","description":"A \u003cspan pulumi-lang-nodejs=\"`azureFilesAuthentication`\" pulumi-lang-dotnet=\"`AzureFilesAuthentication`\" pulumi-lang-go=\"`azureFilesAuthentication`\" pulumi-lang-python=\"`azure_files_authentication`\" pulumi-lang-yaml=\"`azureFilesAuthentication`\" pulumi-lang-java=\"`azureFilesAuthentication`\"\u003e`azure_files_authentication`\u003c/span\u003e block as defined below.\n"},"blobProperties":{"$ref":"#/types/azure:storage/AccountBlobProperties:AccountBlobProperties","description":"A \u003cspan pulumi-lang-nodejs=\"`blobProperties`\" pulumi-lang-dotnet=\"`BlobProperties`\" pulumi-lang-go=\"`blobProperties`\" pulumi-lang-python=\"`blob_properties`\" pulumi-lang-yaml=\"`blobProperties`\" pulumi-lang-java=\"`blobProperties`\"\u003e`blob_properties`\u003c/span\u003e block as defined below.\n"},"crossTenantReplicationEnabled":{"type":"boolean","description":"Should cross Tenant replication be enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"customDomain":{"$ref":"#/types/azure:storage/AccountCustomDomain:AccountCustomDomain","description":"A \u003cspan pulumi-lang-nodejs=\"`customDomain`\" pulumi-lang-dotnet=\"`CustomDomain`\" pulumi-lang-go=\"`customDomain`\" pulumi-lang-python=\"`custom_domain`\" pulumi-lang-yaml=\"`customDomain`\" pulumi-lang-java=\"`customDomain`\"\u003e`custom_domain`\u003c/span\u003e block as documented below.\n"},"customerManagedKey":{"$ref":"#/types/azure:storage/AccountCustomerManagedKey:AccountCustomerManagedKey","description":"A \u003cspan pulumi-lang-nodejs=\"`customerManagedKey`\" pulumi-lang-dotnet=\"`CustomerManagedKey`\" pulumi-lang-go=\"`customerManagedKey`\" pulumi-lang-python=\"`customer_managed_key`\" pulumi-lang-yaml=\"`customerManagedKey`\" pulumi-lang-java=\"`customerManagedKey`\"\u003e`customer_managed_key`\u003c/span\u003e block as documented below.\n\n\u003e **Note:** It's possible to define a Customer Managed Key both within either the \u003cspan pulumi-lang-nodejs=\"`customerManagedKey`\" pulumi-lang-dotnet=\"`CustomerManagedKey`\" pulumi-lang-go=\"`customerManagedKey`\" pulumi-lang-python=\"`customer_managed_key`\" pulumi-lang-yaml=\"`customerManagedKey`\" pulumi-lang-java=\"`customerManagedKey`\"\u003e`customer_managed_key`\u003c/span\u003e block or by using the \u003cspan pulumi-lang-nodejs=\"`azure.storage.CustomerManagedKey`\" pulumi-lang-dotnet=\"`azure.storage.CustomerManagedKey`\" pulumi-lang-go=\"`storage.CustomerManagedKey`\" pulumi-lang-python=\"`storage.CustomerManagedKey`\" pulumi-lang-yaml=\"`azure.storage.CustomerManagedKey`\" pulumi-lang-java=\"`azure.storage.CustomerManagedKey`\"\u003e`azure.storage.CustomerManagedKey`\u003c/span\u003e resource. However, it's not possible to use both methods to manage a Customer Managed Key for a Storage Account, since these will conflict. When using the \u003cspan pulumi-lang-nodejs=\"`azure.storage.CustomerManagedKey`\" pulumi-lang-dotnet=\"`azure.storage.CustomerManagedKey`\" pulumi-lang-go=\"`storage.CustomerManagedKey`\" pulumi-lang-python=\"`storage.CustomerManagedKey`\" pulumi-lang-yaml=\"`azure.storage.CustomerManagedKey`\" pulumi-lang-java=\"`azure.storage.CustomerManagedKey`\"\u003e`azure.storage.CustomerManagedKey`\u003c/span\u003e resource, you will need to use \u003cspan pulumi-lang-nodejs=\"`ignoreChanges`\" pulumi-lang-dotnet=\"`IgnoreChanges`\" pulumi-lang-go=\"`ignoreChanges`\" pulumi-lang-python=\"`ignore_changes`\" pulumi-lang-yaml=\"`ignoreChanges`\" pulumi-lang-java=\"`ignoreChanges`\"\u003e`ignore_changes`\u003c/span\u003e on the \u003cspan pulumi-lang-nodejs=\"`customerManagedKey`\" pulumi-lang-dotnet=\"`CustomerManagedKey`\" pulumi-lang-go=\"`customerManagedKey`\" pulumi-lang-python=\"`customer_managed_key`\" pulumi-lang-yaml=\"`customerManagedKey`\" pulumi-lang-java=\"`customerManagedKey`\"\u003e`customer_managed_key`\u003c/span\u003e block.\n"},"defaultToOauthAuthentication":{"type":"boolean","description":"Default to Azure Active Directory authorization in the Azure portal when accessing the Storage Account. The default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e\n"},"dnsEndpointType":{"type":"string","description":"Specifies which DNS endpoint type to use. Possible values are `Standard` and `AzureDnsZone`. Defaults to `Standard`. Changing this forces a new resource to be created.\n\n\u003e **Note:** Azure DNS zone support requires `PartitionedDns` feature to be enabled. To enable this feature for your subscription, use the following command: `az feature register --namespace \"Microsoft.Storage\" --name \"PartitionedDns\"`.\n","willReplaceOnChanges":true},"edgeZone":{"type":"string","description":"Specifies the Edge Zone within the Azure Region where this Storage Account should exist. Changing this forces a new Storage Account to be created.\n","willReplaceOnChanges":true},"httpsTrafficOnlyEnabled":{"type":"boolean","description":"Boolean flag which forces HTTPS if enabled, see [here](https://docs.microsoft.com/azure/storage/storage-require-secure-transfer/) for more information. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"identity":{"$ref":"#/types/azure:storage/AccountIdentity:AccountIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"immutabilityPolicy":{"$ref":"#/types/azure:storage/AccountImmutabilityPolicy:AccountImmutabilityPolicy","description":"An \u003cspan pulumi-lang-nodejs=\"`immutabilityPolicy`\" pulumi-lang-dotnet=\"`ImmutabilityPolicy`\" pulumi-lang-go=\"`immutabilityPolicy`\" pulumi-lang-python=\"`immutability_policy`\" pulumi-lang-yaml=\"`immutabilityPolicy`\" pulumi-lang-java=\"`immutabilityPolicy`\"\u003e`immutability_policy`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"infrastructureEncryptionEnabled":{"type":"boolean","description":"Is infrastructure encryption enabled? Changing this forces a new resource to be created. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** This can only be \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e when \u003cspan pulumi-lang-nodejs=\"`accountKind`\" pulumi-lang-dotnet=\"`AccountKind`\" pulumi-lang-go=\"`accountKind`\" pulumi-lang-python=\"`account_kind`\" pulumi-lang-yaml=\"`accountKind`\" pulumi-lang-java=\"`accountKind`\"\u003e`account_kind`\u003c/span\u003e is `StorageV2` or when \u003cspan pulumi-lang-nodejs=\"`accountTier`\" pulumi-lang-dotnet=\"`AccountTier`\" pulumi-lang-go=\"`accountTier`\" pulumi-lang-python=\"`account_tier`\" pulumi-lang-yaml=\"`accountTier`\" pulumi-lang-java=\"`accountTier`\"\u003e`account_tier`\u003c/span\u003e is `Premium` *and* \u003cspan pulumi-lang-nodejs=\"`accountKind`\" pulumi-lang-dotnet=\"`AccountKind`\" pulumi-lang-go=\"`accountKind`\" pulumi-lang-python=\"`account_kind`\" pulumi-lang-yaml=\"`accountKind`\" pulumi-lang-java=\"`accountKind`\"\u003e`account_kind`\u003c/span\u003e is one of `BlockBlobStorage` or `FileStorage`.\n","willReplaceOnChanges":true},"isHnsEnabled":{"type":"boolean","description":"Is Hierarchical Namespace enabled? This can be used with Azure Data Lake Storage Gen 2 ([see here for more information](https://docs.microsoft.com/azure/storage/blobs/data-lake-storage-quickstart-create-account/)). Changing this forces a new resource to be created.\n\n\u003e **Note:** This can only be \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e when \u003cspan pulumi-lang-nodejs=\"`accountTier`\" pulumi-lang-dotnet=\"`AccountTier`\" pulumi-lang-go=\"`accountTier`\" pulumi-lang-python=\"`account_tier`\" pulumi-lang-yaml=\"`accountTier`\" pulumi-lang-java=\"`accountTier`\"\u003e`account_tier`\u003c/span\u003e is `Standard` or when \u003cspan pulumi-lang-nodejs=\"`accountTier`\" pulumi-lang-dotnet=\"`AccountTier`\" pulumi-lang-go=\"`accountTier`\" pulumi-lang-python=\"`account_tier`\" pulumi-lang-yaml=\"`accountTier`\" pulumi-lang-java=\"`accountTier`\"\u003e`account_tier`\u003c/span\u003e is `Premium` *and* \u003cspan pulumi-lang-nodejs=\"`accountKind`\" pulumi-lang-dotnet=\"`AccountKind`\" pulumi-lang-go=\"`accountKind`\" pulumi-lang-python=\"`account_kind`\" pulumi-lang-yaml=\"`accountKind`\" pulumi-lang-java=\"`accountKind`\"\u003e`account_kind`\u003c/span\u003e is `BlockBlobStorage`\n","willReplaceOnChanges":true},"largeFileShareEnabled":{"type":"boolean","description":"Are Large File Shares Enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** Large File Shares are enabled by default when using an \u003cspan pulumi-lang-nodejs=\"`accountKind`\" pulumi-lang-dotnet=\"`AccountKind`\" pulumi-lang-go=\"`accountKind`\" pulumi-lang-python=\"`account_kind`\" pulumi-lang-yaml=\"`accountKind`\" pulumi-lang-java=\"`accountKind`\"\u003e`account_kind`\u003c/span\u003e of `FileStorage`.\n"},"localUserEnabled":{"type":"boolean","description":"Is Local User Enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"minTlsVersion":{"type":"string","description":"The minimum supported TLS version for the storage account. Possible values are `TLS1_0`, `TLS1_1`, `TLS1_2` and `TLS1_3`. Defaults to `TLS1_2` for new storage accounts.\n\n\u003e **Note:** Azure Services will require TLS 1.2+ by August 2025, please see this [announcement](https://azure.microsoft.com/en-us/updates/v2/update-retirement-tls1-0-tls1-1-versions-azure-services/) for more.\n\n\u003e **Note:** At this time \u003cspan pulumi-lang-nodejs=\"`minTlsVersion`\" pulumi-lang-dotnet=\"`MinTlsVersion`\" pulumi-lang-go=\"`minTlsVersion`\" pulumi-lang-python=\"`min_tls_version`\" pulumi-lang-yaml=\"`minTlsVersion`\" pulumi-lang-java=\"`minTlsVersion`\"\u003e`min_tls_version`\u003c/span\u003e is only supported in the Public Cloud, China Cloud, and US Government Cloud.\n"},"name":{"type":"string","description":"Specifies the name of the storage account. Only lowercase Alphanumeric characters allowed. Changing this forces a new resource to be created. This must be unique across the entire Azure service, not just within the resource group.\n","willReplaceOnChanges":true},"networkRules":{"$ref":"#/types/azure:storage/AccountNetworkRules:AccountNetworkRules","description":"A \u003cspan pulumi-lang-nodejs=\"`networkRules`\" pulumi-lang-dotnet=\"`NetworkRules`\" pulumi-lang-go=\"`networkRules`\" pulumi-lang-python=\"`network_rules`\" pulumi-lang-yaml=\"`networkRules`\" pulumi-lang-java=\"`networkRules`\"\u003e`network_rules`\u003c/span\u003e block as documented below.\n"},"nfsv3Enabled":{"type":"boolean","description":"Is NFSv3 protocol enabled? Changing this forces a new resource to be created. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** This can only be \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e when \u003cspan pulumi-lang-nodejs=\"`accountTier`\" pulumi-lang-dotnet=\"`AccountTier`\" pulumi-lang-go=\"`accountTier`\" pulumi-lang-python=\"`account_tier`\" pulumi-lang-yaml=\"`accountTier`\" pulumi-lang-java=\"`accountTier`\"\u003e`account_tier`\u003c/span\u003e is `Standard` and \u003cspan pulumi-lang-nodejs=\"`accountKind`\" pulumi-lang-dotnet=\"`AccountKind`\" pulumi-lang-go=\"`accountKind`\" pulumi-lang-python=\"`account_kind`\" pulumi-lang-yaml=\"`accountKind`\" pulumi-lang-java=\"`accountKind`\"\u003e`account_kind`\u003c/span\u003e is `StorageV2`, or \u003cspan pulumi-lang-nodejs=\"`accountTier`\" pulumi-lang-dotnet=\"`AccountTier`\" pulumi-lang-go=\"`accountTier`\" pulumi-lang-python=\"`account_tier`\" pulumi-lang-yaml=\"`accountTier`\" pulumi-lang-java=\"`accountTier`\"\u003e`account_tier`\u003c/span\u003e is `Premium` and \u003cspan pulumi-lang-nodejs=\"`accountKind`\" pulumi-lang-dotnet=\"`AccountKind`\" pulumi-lang-go=\"`accountKind`\" pulumi-lang-python=\"`account_kind`\" pulumi-lang-yaml=\"`accountKind`\" pulumi-lang-java=\"`accountKind`\"\u003e`account_kind`\u003c/span\u003e is `BlockBlobStorage`. Additionally, the \u003cspan pulumi-lang-nodejs=\"`isHnsEnabled`\" pulumi-lang-dotnet=\"`IsHnsEnabled`\" pulumi-lang-go=\"`isHnsEnabled`\" pulumi-lang-python=\"`is_hns_enabled`\" pulumi-lang-yaml=\"`isHnsEnabled`\" pulumi-lang-java=\"`isHnsEnabled`\"\u003e`is_hns_enabled`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`accountReplicationType`\" pulumi-lang-dotnet=\"`AccountReplicationType`\" pulumi-lang-go=\"`accountReplicationType`\" pulumi-lang-python=\"`account_replication_type`\" pulumi-lang-yaml=\"`accountReplicationType`\" pulumi-lang-java=\"`accountReplicationType`\"\u003e`account_replication_type`\u003c/span\u003e must be `LRS` or `RAGRS`.\n","willReplaceOnChanges":true},"primaryAccessKey":{"type":"string","description":"The primary access key for the storage account.\n","secret":true},"primaryBlobConnectionString":{"type":"string","description":"The connection string associated with the primary blob location.\n","secret":true},"primaryBlobEndpoint":{"type":"string","description":"The endpoint URL for blob storage in the primary location.\n"},"primaryBlobHost":{"type":"string","description":"The hostname with port if applicable for blob storage in the primary location.\n"},"primaryBlobInternetEndpoint":{"type":"string","description":"The internet routing endpoint URL for blob storage in the primary location.\n"},"primaryBlobInternetHost":{"type":"string","description":"The internet routing hostname with port if applicable for blob storage in the primary location.\n"},"primaryBlobMicrosoftEndpoint":{"type":"string","description":"The microsoft routing endpoint URL for blob storage in the primary location.\n"},"primaryBlobMicrosoftHost":{"type":"string","description":"The microsoft routing hostname with port if applicable for blob storage in the primary location.\n"},"primaryConnectionString":{"type":"string","description":"The connection string associated with the primary location.\n","secret":true},"primaryDfsEndpoint":{"type":"string","description":"The endpoint URL for DFS storage in the primary location.\n"},"primaryDfsHost":{"type":"string","description":"The hostname with port if applicable for DFS storage in the primary location.\n"},"primaryDfsInternetEndpoint":{"type":"string","description":"The internet routing endpoint URL for DFS storage in the primary location.\n"},"primaryDfsInternetHost":{"type":"string","description":"The internet routing hostname with port if applicable for DFS storage in the primary location.\n"},"primaryDfsMicrosoftEndpoint":{"type":"string","description":"The microsoft routing endpoint URL for DFS storage in the primary location.\n"},"primaryDfsMicrosoftHost":{"type":"string","description":"The microsoft routing hostname with port if applicable for DFS storage in the primary location.\n"},"primaryFileEndpoint":{"type":"string","description":"The endpoint URL for file storage in the primary location.\n"},"primaryFileHost":{"type":"string","description":"The hostname with port if applicable for file storage in the primary location.\n"},"primaryFileInternetEndpoint":{"type":"string","description":"The internet routing endpoint URL for file storage in the primary location.\n"},"primaryFileInternetHost":{"type":"string","description":"The internet routing hostname with port if applicable for file storage in the primary location.\n"},"primaryFileMicrosoftEndpoint":{"type":"string","description":"The microsoft routing endpoint URL for file storage in the primary location.\n"},"primaryFileMicrosoftHost":{"type":"string","description":"The microsoft routing hostname with port if applicable for file storage in the primary location.\n"},"primaryLocation":{"type":"string","description":"The primary location of the storage account.\n"},"primaryQueueEndpoint":{"type":"string","description":"The endpoint URL for queue storage in the primary location.\n"},"primaryQueueHost":{"type":"string","description":"The hostname with port if applicable for queue storage in the primary location.\n"},"primaryQueueMicrosoftEndpoint":{"type":"string","description":"The microsoft routing endpoint URL for queue storage in the primary location.\n"},"primaryQueueMicrosoftHost":{"type":"string","description":"The microsoft routing hostname with port if applicable for queue storage in the primary location.\n"},"primaryTableEndpoint":{"type":"string","description":"The endpoint URL for table storage in the primary location.\n"},"primaryTableHost":{"type":"string","description":"The hostname with port if applicable for table storage in the primary location.\n"},"primaryTableMicrosoftEndpoint":{"type":"string","description":"The microsoft routing endpoint URL for table storage in the primary location.\n"},"primaryTableMicrosoftHost":{"type":"string","description":"The microsoft routing hostname with port if applicable for table storage in the primary location.\n"},"primaryWebEndpoint":{"type":"string","description":"The endpoint URL for web storage in the primary location.\n"},"primaryWebHost":{"type":"string","description":"The hostname with port if applicable for web storage in the primary location.\n"},"primaryWebInternetEndpoint":{"type":"string","description":"The internet routing endpoint URL for web storage in the primary location.\n"},"primaryWebInternetHost":{"type":"string","description":"The internet routing hostname with port if applicable for web storage in the primary location.\n"},"primaryWebMicrosoftEndpoint":{"type":"string","description":"The microsoft routing endpoint URL for web storage in the primary location.\n"},"primaryWebMicrosoftHost":{"type":"string","description":"The microsoft routing hostname with port if applicable for web storage in the primary location.\n"},"provisionedBillingModelVersion":{"type":"string","description":"Specifies the version of the **provisioned** billing model (e.g. when \u003cspan pulumi-lang-nodejs=\"`accountKind \" pulumi-lang-dotnet=\"`AccountKind \" pulumi-lang-go=\"`accountKind \" pulumi-lang-python=\"`account_kind \" pulumi-lang-yaml=\"`accountKind \" pulumi-lang-java=\"`accountKind \"\u003e`account_kind \u003c/span\u003e= \"FileStorage\"` for Storage File). Possible value is `V2`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"publicNetworkAccessEnabled":{"type":"boolean","description":"Whether the public network access is enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"queueEncryptionKeyType":{"type":"string","description":"The encryption type of the queue service. Possible values are `Service` and `Account`. Changing this forces a new resource to be created. Default value is `Service`.\n","willReplaceOnChanges":true},"queueProperties":{"$ref":"#/types/azure:storage/AccountQueueProperties:AccountQueueProperties","description":"A \u003cspan pulumi-lang-nodejs=\"`queueProperties`\" pulumi-lang-dotnet=\"`QueueProperties`\" pulumi-lang-go=\"`queueProperties`\" pulumi-lang-python=\"`queue_properties`\" pulumi-lang-yaml=\"`queueProperties`\" pulumi-lang-java=\"`queueProperties`\"\u003e`queue_properties`\u003c/span\u003e block as defined below.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`queueProperties`\" pulumi-lang-dotnet=\"`QueueProperties`\" pulumi-lang-go=\"`queueProperties`\" pulumi-lang-python=\"`queue_properties`\" pulumi-lang-yaml=\"`queueProperties`\" pulumi-lang-java=\"`queueProperties`\"\u003e`queue_properties`\u003c/span\u003e can only be configured when \u003cspan pulumi-lang-nodejs=\"`accountTier`\" pulumi-lang-dotnet=\"`AccountTier`\" pulumi-lang-go=\"`accountTier`\" pulumi-lang-python=\"`account_tier`\" pulumi-lang-yaml=\"`accountTier`\" pulumi-lang-java=\"`accountTier`\"\u003e`account_tier`\u003c/span\u003e is set to `Standard` and \u003cspan pulumi-lang-nodejs=\"`accountKind`\" pulumi-lang-dotnet=\"`AccountKind`\" pulumi-lang-go=\"`accountKind`\" pulumi-lang-python=\"`account_kind`\" pulumi-lang-yaml=\"`accountKind`\" pulumi-lang-java=\"`accountKind`\"\u003e`account_kind`\u003c/span\u003e is set to either `Storage` or `StorageV2`.\n","deprecationMessage":"this block has been deprecated and superseded by the \u003cspan pulumi-lang-nodejs=\"`azure.storage.AccountQueueProperties`\" pulumi-lang-dotnet=\"`azure.storage.AccountQueueProperties`\" pulumi-lang-go=\"`storage.AccountQueueProperties`\" pulumi-lang-python=\"`storage.AccountQueueProperties`\" pulumi-lang-yaml=\"`azure.storage.AccountQueueProperties`\" pulumi-lang-java=\"`azure.storage.AccountQueueProperties`\"\u003e`azure.storage.AccountQueueProperties`\u003c/span\u003e resource and will be removed in v5.0 of the AzureRM provider"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the storage account. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"routing":{"$ref":"#/types/azure:storage/AccountRouting:AccountRouting","description":"A \u003cspan pulumi-lang-nodejs=\"`routing`\" pulumi-lang-dotnet=\"`Routing`\" pulumi-lang-go=\"`routing`\" pulumi-lang-python=\"`routing`\" pulumi-lang-yaml=\"`routing`\" pulumi-lang-java=\"`routing`\"\u003e`routing`\u003c/span\u003e block as defined below.\n"},"sasPolicy":{"$ref":"#/types/azure:storage/AccountSasPolicy:AccountSasPolicy","description":"A \u003cspan pulumi-lang-nodejs=\"`sasPolicy`\" pulumi-lang-dotnet=\"`SasPolicy`\" pulumi-lang-go=\"`sasPolicy`\" pulumi-lang-python=\"`sas_policy`\" pulumi-lang-yaml=\"`sasPolicy`\" pulumi-lang-java=\"`sasPolicy`\"\u003e`sas_policy`\u003c/span\u003e block as defined below.\n"},"secondaryAccessKey":{"type":"string","description":"The secondary access key for the storage account.\n","secret":true},"secondaryBlobConnectionString":{"type":"string","description":"The connection string associated with the secondary blob location.\n","secret":true},"secondaryBlobEndpoint":{"type":"string","description":"The endpoint URL for blob storage in the secondary location.\n"},"secondaryBlobHost":{"type":"string","description":"The hostname with port if applicable for blob storage in the secondary location.\n"},"secondaryBlobInternetEndpoint":{"type":"string","description":"The internet routing endpoint URL for blob storage in the secondary location.\n"},"secondaryBlobInternetHost":{"type":"string","description":"The internet routing hostname with port if applicable for blob storage in the secondary location.\n"},"secondaryBlobMicrosoftEndpoint":{"type":"string","description":"The microsoft routing endpoint URL for blob storage in the secondary location.\n"},"secondaryBlobMicrosoftHost":{"type":"string","description":"The microsoft routing hostname with port if applicable for blob storage in the secondary location.\n"},"secondaryConnectionString":{"type":"string","description":"The connection string associated with the secondary location.\n","secret":true},"secondaryDfsEndpoint":{"type":"string","description":"The endpoint URL for DFS storage in the secondary location.\n"},"secondaryDfsHost":{"type":"string","description":"The hostname with port if applicable for DFS storage in the secondary location.\n"},"secondaryDfsInternetEndpoint":{"type":"string","description":"The internet routing endpoint URL for DFS storage in the secondary location.\n"},"secondaryDfsInternetHost":{"type":"string","description":"The internet routing hostname with port if applicable for DFS storage in the secondary location.\n"},"secondaryDfsMicrosoftEndpoint":{"type":"string","description":"The microsoft routing endpoint URL for DFS storage in the secondary location.\n"},"secondaryDfsMicrosoftHost":{"type":"string","description":"The microsoft routing hostname with port if applicable for DFS storage in the secondary location.\n"},"secondaryFileEndpoint":{"type":"string","description":"The endpoint URL for file storage in the secondary location.\n"},"secondaryFileHost":{"type":"string","description":"The hostname with port if applicable for file storage in the secondary location.\n"},"secondaryFileInternetEndpoint":{"type":"string","description":"The internet routing endpoint URL for file storage in the secondary location.\n"},"secondaryFileInternetHost":{"type":"string","description":"The internet routing hostname with port if applicable for file storage in the secondary location.\n"},"secondaryFileMicrosoftEndpoint":{"type":"string","description":"The microsoft routing endpoint URL for file storage in the secondary location.\n"},"secondaryFileMicrosoftHost":{"type":"string","description":"The microsoft routing hostname with port if applicable for file storage in the secondary location.\n"},"secondaryLocation":{"type":"string","description":"The secondary location of the storage account.\n"},"secondaryQueueEndpoint":{"type":"string","description":"The endpoint URL for queue storage in the secondary location.\n"},"secondaryQueueHost":{"type":"string","description":"The hostname with port if applicable for queue storage in the secondary location.\n"},"secondaryQueueMicrosoftEndpoint":{"type":"string","description":"The microsoft routing endpoint URL for queue storage in the secondary location.\n"},"secondaryQueueMicrosoftHost":{"type":"string","description":"The microsoft routing hostname with port if applicable for queue storage in the secondary location.\n"},"secondaryTableEndpoint":{"type":"string","description":"The endpoint URL for table storage in the secondary location.\n"},"secondaryTableHost":{"type":"string","description":"The hostname with port if applicable for table storage in the secondary location.\n"},"secondaryTableMicrosoftEndpoint":{"type":"string","description":"The microsoft routing endpoint URL for table storage in the secondary location.\n"},"secondaryTableMicrosoftHost":{"type":"string","description":"The microsoft routing hostname with port if applicable for table storage in the secondary location.\n"},"secondaryWebEndpoint":{"type":"string","description":"The endpoint URL for web storage in the secondary location.\n"},"secondaryWebHost":{"type":"string","description":"The hostname with port if applicable for web storage in the secondary location.\n"},"secondaryWebInternetEndpoint":{"type":"string","description":"The internet routing endpoint URL for web storage in the secondary location.\n"},"secondaryWebInternetHost":{"type":"string","description":"The internet routing hostname with port if applicable for web storage in the secondary location.\n"},"secondaryWebMicrosoftEndpoint":{"type":"string","description":"The microsoft routing endpoint URL for web storage in the secondary location.\n"},"secondaryWebMicrosoftHost":{"type":"string","description":"The microsoft routing hostname with port if applicable for web storage in the secondary location.\n"},"sftpEnabled":{"type":"boolean","description":"Boolean, enable SFTP for the storage account\n\n\u003e **Note:** SFTP support requires \u003cspan pulumi-lang-nodejs=\"`isHnsEnabled`\" pulumi-lang-dotnet=\"`IsHnsEnabled`\" pulumi-lang-go=\"`isHnsEnabled`\" pulumi-lang-python=\"`is_hns_enabled`\" pulumi-lang-yaml=\"`isHnsEnabled`\" pulumi-lang-java=\"`isHnsEnabled`\"\u003e`is_hns_enabled`\u003c/span\u003e set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e. [More information on SFTP support can be found here](https://learn.microsoft.com/azure/storage/blobs/secure-file-transfer-protocol-support). Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e\n"},"shareProperties":{"$ref":"#/types/azure:storage/AccountShareProperties:AccountShareProperties","description":"A \u003cspan pulumi-lang-nodejs=\"`shareProperties`\" pulumi-lang-dotnet=\"`ShareProperties`\" pulumi-lang-go=\"`shareProperties`\" pulumi-lang-python=\"`share_properties`\" pulumi-lang-yaml=\"`shareProperties`\" pulumi-lang-java=\"`shareProperties`\"\u003e`share_properties`\u003c/span\u003e block as defined below.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`shareProperties`\" pulumi-lang-dotnet=\"`ShareProperties`\" pulumi-lang-go=\"`shareProperties`\" pulumi-lang-python=\"`share_properties`\" pulumi-lang-yaml=\"`shareProperties`\" pulumi-lang-java=\"`shareProperties`\"\u003e`share_properties`\u003c/span\u003e can only be configured when either \u003cspan pulumi-lang-nodejs=\"`accountTier`\" pulumi-lang-dotnet=\"`AccountTier`\" pulumi-lang-go=\"`accountTier`\" pulumi-lang-python=\"`account_tier`\" pulumi-lang-yaml=\"`accountTier`\" pulumi-lang-java=\"`accountTier`\"\u003e`account_tier`\u003c/span\u003e is `Standard` and \u003cspan pulumi-lang-nodejs=\"`accountKind`\" pulumi-lang-dotnet=\"`AccountKind`\" pulumi-lang-go=\"`accountKind`\" pulumi-lang-python=\"`account_kind`\" pulumi-lang-yaml=\"`accountKind`\" pulumi-lang-java=\"`accountKind`\"\u003e`account_kind`\u003c/span\u003e is either `Storage` or `StorageV2` - or when \u003cspan pulumi-lang-nodejs=\"`accountTier`\" pulumi-lang-dotnet=\"`AccountTier`\" pulumi-lang-go=\"`accountTier`\" pulumi-lang-python=\"`account_tier`\" pulumi-lang-yaml=\"`accountTier`\" pulumi-lang-java=\"`accountTier`\"\u003e`account_tier`\u003c/span\u003e is `Premium` and \u003cspan pulumi-lang-nodejs=\"`accountKind`\" pulumi-lang-dotnet=\"`AccountKind`\" pulumi-lang-go=\"`accountKind`\" pulumi-lang-python=\"`account_kind`\" pulumi-lang-yaml=\"`accountKind`\" pulumi-lang-java=\"`accountKind`\"\u003e`account_kind`\u003c/span\u003e is `FileStorage`.\n"},"sharedAccessKeyEnabled":{"type":"boolean","description":"Indicates whether the storage account permits requests to be authorized with the account access key via Shared Key. If false, then all requests, including shared access signatures, must be authorized with Azure Active Directory (Azure AD). Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n\n\u003e **Note:** Terraform uses Shared Key Authorisation to provision Storage Containers, Blobs and other items - when Shared Key Access is disabled, you will need to enable the \u003cspan pulumi-lang-nodejs=\"`storageUseAzuread`\" pulumi-lang-dotnet=\"`StorageUseAzuread`\" pulumi-lang-go=\"`storageUseAzuread`\" pulumi-lang-python=\"`storage_use_azuread`\" pulumi-lang-yaml=\"`storageUseAzuread`\" pulumi-lang-java=\"`storageUseAzuread`\"\u003e`storage_use_azuread`\u003c/span\u003e flag in the Provider block to use Azure AD for authentication, however not all Azure Storage services support Active Directory authentication.\n"},"staticWebsite":{"$ref":"#/types/azure:storage/AccountStaticWebsite:AccountStaticWebsite","description":"A \u003cspan pulumi-lang-nodejs=\"`staticWebsite`\" pulumi-lang-dotnet=\"`StaticWebsite`\" pulumi-lang-go=\"`staticWebsite`\" pulumi-lang-python=\"`static_website`\" pulumi-lang-yaml=\"`staticWebsite`\" pulumi-lang-java=\"`staticWebsite`\"\u003e`static_website`\u003c/span\u003e block as defined below.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`staticWebsite`\" pulumi-lang-dotnet=\"`StaticWebsite`\" pulumi-lang-go=\"`staticWebsite`\" pulumi-lang-python=\"`static_website`\" pulumi-lang-yaml=\"`staticWebsite`\" pulumi-lang-java=\"`staticWebsite`\"\u003e`static_website`\u003c/span\u003e can only be set when the \u003cspan pulumi-lang-nodejs=\"`accountKind`\" pulumi-lang-dotnet=\"`AccountKind`\" pulumi-lang-go=\"`accountKind`\" pulumi-lang-python=\"`account_kind`\" pulumi-lang-yaml=\"`accountKind`\" pulumi-lang-java=\"`accountKind`\"\u003e`account_kind`\u003c/span\u003e is set to `StorageV2` or `BlockBlobStorage`.\n\n\u003e **Note:** If \u003cspan pulumi-lang-nodejs=\"`staticWebsite`\" pulumi-lang-dotnet=\"`StaticWebsite`\" pulumi-lang-go=\"`staticWebsite`\" pulumi-lang-python=\"`static_website`\" pulumi-lang-yaml=\"`staticWebsite`\" pulumi-lang-java=\"`staticWebsite`\"\u003e`static_website`\u003c/span\u003e is specified, the service will automatically create a \u003cspan pulumi-lang-nodejs=\"`azure.storage.Container`\" pulumi-lang-dotnet=\"`azure.storage.Container`\" pulumi-lang-go=\"`storage.Container`\" pulumi-lang-python=\"`storage.Container`\" pulumi-lang-yaml=\"`azure.storage.Container`\" pulumi-lang-java=\"`azure.storage.Container`\"\u003e`azure.storage.Container`\u003c/span\u003e named `$web`.\n","deprecationMessage":"this block has been deprecated and superseded by the \u003cspan pulumi-lang-nodejs=\"`azure.storage.AccountStaticWebsite`\" pulumi-lang-dotnet=\"`azure.storage.AccountStaticWebsite`\" pulumi-lang-go=\"`storage.AccountStaticWebsite`\" pulumi-lang-python=\"`storage.AccountStaticWebsite`\" pulumi-lang-yaml=\"`azure.storage.AccountStaticWebsite`\" pulumi-lang-java=\"`azure.storage.AccountStaticWebsite`\"\u003e`azure.storage.AccountStaticWebsite`\u003c/span\u003e resource and will be removed in v5.0 of the AzureRM provider"},"tableEncryptionKeyType":{"type":"string","description":"The encryption type of the table service. Possible values are `Service` and `Account`. Changing this forces a new resource to be created. Default value is `Service`.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`queueEncryptionKeyType`\" pulumi-lang-dotnet=\"`QueueEncryptionKeyType`\" pulumi-lang-go=\"`queueEncryptionKeyType`\" pulumi-lang-python=\"`queue_encryption_key_type`\" pulumi-lang-yaml=\"`queueEncryptionKeyType`\" pulumi-lang-java=\"`queueEncryptionKeyType`\"\u003e`queue_encryption_key_type`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`tableEncryptionKeyType`\" pulumi-lang-dotnet=\"`TableEncryptionKeyType`\" pulumi-lang-go=\"`tableEncryptionKeyType`\" pulumi-lang-python=\"`table_encryption_key_type`\" pulumi-lang-yaml=\"`tableEncryptionKeyType`\" pulumi-lang-java=\"`tableEncryptionKeyType`\"\u003e`table_encryption_key_type`\u003c/span\u003e cannot be set to `Account` when \u003cspan pulumi-lang-nodejs=\"`accountKind`\" pulumi-lang-dotnet=\"`AccountKind`\" pulumi-lang-go=\"`accountKind`\" pulumi-lang-python=\"`account_kind`\" pulumi-lang-yaml=\"`accountKind`\" pulumi-lang-java=\"`accountKind`\"\u003e`account_kind`\u003c/span\u003e is set `Storage`\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"type":"object"}},"azure:storage/accountNetworkRules:AccountNetworkRules":{"description":"Manages network rules inside of a Azure Storage Account.\n\n\u003e **Note:** Network Rules can be defined either directly on the \u003cspan pulumi-lang-nodejs=\"`azure.storage.Account`\" pulumi-lang-dotnet=\"`azure.storage.Account`\" pulumi-lang-go=\"`storage.Account`\" pulumi-lang-python=\"`storage.Account`\" pulumi-lang-yaml=\"`azure.storage.Account`\" pulumi-lang-java=\"`azure.storage.Account`\"\u003e`azure.storage.Account`\u003c/span\u003e resource, or using the \u003cspan pulumi-lang-nodejs=\"`azure.storage.AccountNetworkRules`\" pulumi-lang-dotnet=\"`azure.storage.AccountNetworkRules`\" pulumi-lang-go=\"`storage.AccountNetworkRules`\" pulumi-lang-python=\"`storage.AccountNetworkRules`\" pulumi-lang-yaml=\"`azure.storage.AccountNetworkRules`\" pulumi-lang-java=\"`azure.storage.AccountNetworkRules`\"\u003e`azure.storage.AccountNetworkRules`\u003c/span\u003e resource - but the two cannot be used together. Spurious changes will occur if both are used against the same Storage Account.\n\n\u003e **Note:** Only one \u003cspan pulumi-lang-nodejs=\"`azure.storage.AccountNetworkRules`\" pulumi-lang-dotnet=\"`azure.storage.AccountNetworkRules`\" pulumi-lang-go=\"`storage.AccountNetworkRules`\" pulumi-lang-python=\"`storage.AccountNetworkRules`\" pulumi-lang-yaml=\"`azure.storage.AccountNetworkRules`\" pulumi-lang-java=\"`azure.storage.AccountNetworkRules`\"\u003e`azure.storage.AccountNetworkRules`\u003c/span\u003e can be tied to an \u003cspan pulumi-lang-nodejs=\"`azure.storage.Account`\" pulumi-lang-dotnet=\"`azure.storage.Account`\" pulumi-lang-go=\"`storage.Account`\" pulumi-lang-python=\"`storage.Account`\" pulumi-lang-yaml=\"`azure.storage.Account`\" pulumi-lang-java=\"`azure.storage.Account`\"\u003e`azure.storage.Account`\u003c/span\u003e. Spurious changes will occur if more than \u003cspan pulumi-lang-nodejs=\"`azure.storage.AccountNetworkRules`\" pulumi-lang-dotnet=\"`azure.storage.AccountNetworkRules`\" pulumi-lang-go=\"`storage.AccountNetworkRules`\" pulumi-lang-python=\"`storage.AccountNetworkRules`\" pulumi-lang-yaml=\"`azure.storage.AccountNetworkRules`\" pulumi-lang-java=\"`azure.storage.AccountNetworkRules`\"\u003e`azure.storage.AccountNetworkRules`\u003c/span\u003e is tied to the same \u003cspan pulumi-lang-nodejs=\"`azure.storage.Account`\" pulumi-lang-dotnet=\"`azure.storage.Account`\" pulumi-lang-go=\"`storage.Account`\" pulumi-lang-python=\"`storage.Account`\" pulumi-lang-yaml=\"`azure.storage.Account`\" pulumi-lang-java=\"`azure.storage.Account`\"\u003e`azure.storage.Account`\u003c/span\u003e.\n\n\u003e **Note:** Deleting this resource updates the storage account back to the default values it had when the storage account was created.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"example\", {\n    name: \"example-vnet\",\n    addressSpaces: [\"10.0.0.0/16\"],\n    location: example.location,\n    resourceGroupName: example.name,\n});\nconst exampleSubnet = new azure.network.Subnet(\"example\", {\n    name: \"example-subnet\",\n    resourceGroupName: example.name,\n    virtualNetworkName: exampleVirtualNetwork.name,\n    addressPrefixes: [\"10.0.2.0/24\"],\n    serviceEndpoints: [\"Microsoft.Storage\"],\n});\nconst exampleAccount = new azure.storage.Account(\"example\", {\n    name: \"storageaccountname\",\n    resourceGroupName: example.name,\n    location: example.location,\n    accountTier: \"Standard\",\n    accountReplicationType: \"GRS\",\n    tags: {\n        environment: \"staging\",\n    },\n});\nconst exampleAccountNetworkRules = new azure.storage.AccountNetworkRules(\"example\", {\n    storageAccountId: exampleAccount.id,\n    defaultAction: \"Allow\",\n    ipRules: [\"127.0.0.1\"],\n    virtualNetworkSubnetIds: [exampleSubnet.id],\n    bypasses: [\"Metrics\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_virtual_network = azure.network.VirtualNetwork(\"example\",\n    name=\"example-vnet\",\n    address_spaces=[\"10.0.0.0/16\"],\n    location=example.location,\n    resource_group_name=example.name)\nexample_subnet = azure.network.Subnet(\"example\",\n    name=\"example-subnet\",\n    resource_group_name=example.name,\n    virtual_network_name=example_virtual_network.name,\n    address_prefixes=[\"10.0.2.0/24\"],\n    service_endpoints=[\"Microsoft.Storage\"])\nexample_account = azure.storage.Account(\"example\",\n    name=\"storageaccountname\",\n    resource_group_name=example.name,\n    location=example.location,\n    account_tier=\"Standard\",\n    account_replication_type=\"GRS\",\n    tags={\n        \"environment\": \"staging\",\n    })\nexample_account_network_rules = azure.storage.AccountNetworkRules(\"example\",\n    storage_account_id=example_account.id,\n    default_action=\"Allow\",\n    ip_rules=[\"127.0.0.1\"],\n    virtual_network_subnet_ids=[example_subnet.id],\n    bypasses=[\"Metrics\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleVirtualNetwork = new Azure.Network.VirtualNetwork(\"example\", new()\n    {\n        Name = \"example-vnet\",\n        AddressSpaces = new[]\n        {\n            \"10.0.0.0/16\",\n        },\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n    });\n\n    var exampleSubnet = new Azure.Network.Subnet(\"example\", new()\n    {\n        Name = \"example-subnet\",\n        ResourceGroupName = example.Name,\n        VirtualNetworkName = exampleVirtualNetwork.Name,\n        AddressPrefixes = new[]\n        {\n            \"10.0.2.0/24\",\n        },\n        ServiceEndpoints = new[]\n        {\n            \"Microsoft.Storage\",\n        },\n    });\n\n    var exampleAccount = new Azure.Storage.Account(\"example\", new()\n    {\n        Name = \"storageaccountname\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        AccountTier = \"Standard\",\n        AccountReplicationType = \"GRS\",\n        Tags = \n        {\n            { \"environment\", \"staging\" },\n        },\n    });\n\n    var exampleAccountNetworkRules = new Azure.Storage.AccountNetworkRules(\"example\", new()\n    {\n        StorageAccountId = exampleAccount.Id,\n        DefaultAction = \"Allow\",\n        IpRules = new[]\n        {\n            \"127.0.0.1\",\n        },\n        VirtualNetworkSubnetIds = new[]\n        {\n            exampleSubnet.Id,\n        },\n        Bypasses = new[]\n        {\n            \"Metrics\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, \"example\", \u0026network.VirtualNetworkArgs{\n\t\t\tName: pulumi.String(\"example-vnet\"),\n\t\t\tAddressSpaces: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.0.0/16\"),\n\t\t\t},\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSubnet, err := network.NewSubnet(ctx, \"example\", \u0026network.SubnetArgs{\n\t\t\tName:               pulumi.String(\"example-subnet\"),\n\t\t\tResourceGroupName:  example.Name,\n\t\t\tVirtualNetworkName: exampleVirtualNetwork.Name,\n\t\t\tAddressPrefixes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.2.0/24\"),\n\t\t\t},\n\t\t\tServiceEndpoints: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"Microsoft.Storage\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := storage.NewAccount(ctx, \"example\", \u0026storage.AccountArgs{\n\t\t\tName:                   pulumi.String(\"storageaccountname\"),\n\t\t\tResourceGroupName:      example.Name,\n\t\t\tLocation:               example.Location,\n\t\t\tAccountTier:            pulumi.String(\"Standard\"),\n\t\t\tAccountReplicationType: pulumi.String(\"GRS\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"environment\": pulumi.String(\"staging\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = storage.NewAccountNetworkRules(ctx, \"example\", \u0026storage.AccountNetworkRulesArgs{\n\t\t\tStorageAccountId: exampleAccount.ID(),\n\t\t\tDefaultAction:    pulumi.String(\"Allow\"),\n\t\t\tIpRules: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"127.0.0.1\"),\n\t\t\t},\n\t\t\tVirtualNetworkSubnetIds: pulumi.StringArray{\n\t\t\t\texampleSubnet.ID(),\n\t\t\t},\n\t\t\tBypasses: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"Metrics\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.VirtualNetwork;\nimport com.pulumi.azure.network.VirtualNetworkArgs;\nimport com.pulumi.azure.network.Subnet;\nimport com.pulumi.azure.network.SubnetArgs;\nimport com.pulumi.azure.storage.Account;\nimport com.pulumi.azure.storage.AccountArgs;\nimport com.pulumi.azure.storage.AccountNetworkRules;\nimport com.pulumi.azure.storage.AccountNetworkRulesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleVirtualNetwork = new VirtualNetwork(\"exampleVirtualNetwork\", VirtualNetworkArgs.builder()\n            .name(\"example-vnet\")\n            .addressSpaces(\"10.0.0.0/16\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .build());\n\n        var exampleSubnet = new Subnet(\"exampleSubnet\", SubnetArgs.builder()\n            .name(\"example-subnet\")\n            .resourceGroupName(example.name())\n            .virtualNetworkName(exampleVirtualNetwork.name())\n            .addressPrefixes(\"10.0.2.0/24\")\n            .serviceEndpoints(\"Microsoft.Storage\")\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"storageaccountname\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .accountTier(\"Standard\")\n            .accountReplicationType(\"GRS\")\n            .tags(Map.of(\"environment\", \"staging\"))\n            .build());\n\n        var exampleAccountNetworkRules = new AccountNetworkRules(\"exampleAccountNetworkRules\", AccountNetworkRulesArgs.builder()\n            .storageAccountId(exampleAccount.id())\n            .defaultAction(\"Allow\")\n            .ipRules(\"127.0.0.1\")\n            .virtualNetworkSubnetIds(exampleSubnet.id())\n            .bypasses(\"Metrics\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleVirtualNetwork:\n    type: azure:network:VirtualNetwork\n    name: example\n    properties:\n      name: example-vnet\n      addressSpaces:\n        - 10.0.0.0/16\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n  exampleSubnet:\n    type: azure:network:Subnet\n    name: example\n    properties:\n      name: example-subnet\n      resourceGroupName: ${example.name}\n      virtualNetworkName: ${exampleVirtualNetwork.name}\n      addressPrefixes:\n        - 10.0.2.0/24\n      serviceEndpoints:\n        - Microsoft.Storage\n  exampleAccount:\n    type: azure:storage:Account\n    name: example\n    properties:\n      name: storageaccountname\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      accountTier: Standard\n      accountReplicationType: GRS\n      tags:\n        environment: staging\n  exampleAccountNetworkRules:\n    type: azure:storage:AccountNetworkRules\n    name: example\n    properties:\n      storageAccountId: ${exampleAccount.id}\n      defaultAction: Allow\n      ipRules:\n        - 127.0.0.1\n      virtualNetworkSubnetIds:\n        - ${exampleSubnet.id}\n      bypasses:\n        - Metrics\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Storage` - 2023-05-01\n\n## Import\n\nStorage Account Network Rules can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:storage/accountNetworkRules:AccountNetworkRules storageAcc1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myresourcegroup/providers/Microsoft.Storage/storageAccounts/myaccount\n```\n\n","properties":{"bypasses":{"type":"array","items":{"type":"string"},"description":"Specifies whether traffic is bypassed for Logging/Metrics/AzureServices. Valid options are any combination of `Logging`, `Metrics`, `AzureServices`, or `None`. Defaults to `[\"AzureServices\"]`.\n\n\u003e **Note:** User has to explicitly set \u003cspan pulumi-lang-nodejs=\"`bypass`\" pulumi-lang-dotnet=\"`Bypass`\" pulumi-lang-go=\"`bypass`\" pulumi-lang-python=\"`bypass`\" pulumi-lang-yaml=\"`bypass`\" pulumi-lang-java=\"`bypass`\"\u003e`bypass`\u003c/span\u003e to empty slice (`[]`) to remove it.\n"},"defaultAction":{"type":"string","description":"Specifies the default action of allow or deny when no other rules match. Valid options are `Deny` or `Allow`.\n"},"ipRules":{"type":"array","items":{"type":"string"},"description":"List of public IP or IP ranges in CIDR Format. Only IPv4 addresses are allowed. Private IP address ranges (as defined in [RFC 1918](https://tools.ietf.org/html/rfc1918#section-3)) are not allowed.\n\n\u003e **Note:** Small address ranges using \"/31\" or \"/32\" prefix sizes are not supported. These ranges should be configured using individual IP address rules without prefix specified.\n\n\u003e **Note:** IP network rules have no effect on requests originating from the same Azure region as the storage account. Use Virtual network rules to allow same-region requests. Services deployed in the same region as the storage account use private Azure IP addresses for communication. Thus, you cannot restrict access to specific Azure services based on their public outbound IP address range.\n\n\u003e **Note:** User has to explicitly set \u003cspan pulumi-lang-nodejs=\"`ipRules`\" pulumi-lang-dotnet=\"`IpRules`\" pulumi-lang-go=\"`ipRules`\" pulumi-lang-python=\"`ip_rules`\" pulumi-lang-yaml=\"`ipRules`\" pulumi-lang-java=\"`ipRules`\"\u003e`ip_rules`\u003c/span\u003e to empty slice (`[]`) to remove it.\n"},"privateLinkAccessRules":{"type":"array","items":{"$ref":"#/types/azure:storage/AccountNetworkRulesPrivateLinkAccessRule:AccountNetworkRulesPrivateLinkAccessRule"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`privateLinkAccess`\" pulumi-lang-dotnet=\"`PrivateLinkAccess`\" pulumi-lang-go=\"`privateLinkAccess`\" pulumi-lang-python=\"`private_link_access`\" pulumi-lang-yaml=\"`privateLinkAccess`\" pulumi-lang-java=\"`privateLinkAccess`\"\u003e`private_link_access`\u003c/span\u003e block as defined below.\n"},"storageAccountId":{"type":"string","description":"Specifies the ID of the storage account. Changing this forces a new resource to be created.\n"},"virtualNetworkSubnetIds":{"type":"array","items":{"type":"string"},"description":"A list of virtual network subnet ids to secure the storage account.\n\n\u003e **Note:** User has to explicitly set \u003cspan pulumi-lang-nodejs=\"`virtualNetworkSubnetIds`\" pulumi-lang-dotnet=\"`VirtualNetworkSubnetIds`\" pulumi-lang-go=\"`virtualNetworkSubnetIds`\" pulumi-lang-python=\"`virtual_network_subnet_ids`\" pulumi-lang-yaml=\"`virtualNetworkSubnetIds`\" pulumi-lang-java=\"`virtualNetworkSubnetIds`\"\u003e`virtual_network_subnet_ids`\u003c/span\u003e to empty slice (`[]`) to remove it.\n"}},"required":["bypasses","defaultAction","storageAccountId"],"inputProperties":{"bypasses":{"type":"array","items":{"type":"string"},"description":"Specifies whether traffic is bypassed for Logging/Metrics/AzureServices. Valid options are any combination of `Logging`, `Metrics`, `AzureServices`, or `None`. Defaults to `[\"AzureServices\"]`.\n\n\u003e **Note:** User has to explicitly set \u003cspan pulumi-lang-nodejs=\"`bypass`\" pulumi-lang-dotnet=\"`Bypass`\" pulumi-lang-go=\"`bypass`\" pulumi-lang-python=\"`bypass`\" pulumi-lang-yaml=\"`bypass`\" pulumi-lang-java=\"`bypass`\"\u003e`bypass`\u003c/span\u003e to empty slice (`[]`) to remove it.\n"},"defaultAction":{"type":"string","description":"Specifies the default action of allow or deny when no other rules match. Valid options are `Deny` or `Allow`.\n"},"ipRules":{"type":"array","items":{"type":"string"},"description":"List of public IP or IP ranges in CIDR Format. Only IPv4 addresses are allowed. Private IP address ranges (as defined in [RFC 1918](https://tools.ietf.org/html/rfc1918#section-3)) are not allowed.\n\n\u003e **Note:** Small address ranges using \"/31\" or \"/32\" prefix sizes are not supported. These ranges should be configured using individual IP address rules without prefix specified.\n\n\u003e **Note:** IP network rules have no effect on requests originating from the same Azure region as the storage account. Use Virtual network rules to allow same-region requests. Services deployed in the same region as the storage account use private Azure IP addresses for communication. Thus, you cannot restrict access to specific Azure services based on their public outbound IP address range.\n\n\u003e **Note:** User has to explicitly set \u003cspan pulumi-lang-nodejs=\"`ipRules`\" pulumi-lang-dotnet=\"`IpRules`\" pulumi-lang-go=\"`ipRules`\" pulumi-lang-python=\"`ip_rules`\" pulumi-lang-yaml=\"`ipRules`\" pulumi-lang-java=\"`ipRules`\"\u003e`ip_rules`\u003c/span\u003e to empty slice (`[]`) to remove it.\n"},"privateLinkAccessRules":{"type":"array","items":{"$ref":"#/types/azure:storage/AccountNetworkRulesPrivateLinkAccessRule:AccountNetworkRulesPrivateLinkAccessRule"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`privateLinkAccess`\" pulumi-lang-dotnet=\"`PrivateLinkAccess`\" pulumi-lang-go=\"`privateLinkAccess`\" pulumi-lang-python=\"`private_link_access`\" pulumi-lang-yaml=\"`privateLinkAccess`\" pulumi-lang-java=\"`privateLinkAccess`\"\u003e`private_link_access`\u003c/span\u003e block as defined below.\n"},"storageAccountId":{"type":"string","description":"Specifies the ID of the storage account. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"virtualNetworkSubnetIds":{"type":"array","items":{"type":"string"},"description":"A list of virtual network subnet ids to secure the storage account.\n\n\u003e **Note:** User has to explicitly set \u003cspan pulumi-lang-nodejs=\"`virtualNetworkSubnetIds`\" pulumi-lang-dotnet=\"`VirtualNetworkSubnetIds`\" pulumi-lang-go=\"`virtualNetworkSubnetIds`\" pulumi-lang-python=\"`virtual_network_subnet_ids`\" pulumi-lang-yaml=\"`virtualNetworkSubnetIds`\" pulumi-lang-java=\"`virtualNetworkSubnetIds`\"\u003e`virtual_network_subnet_ids`\u003c/span\u003e to empty slice (`[]`) to remove it.\n"}},"requiredInputs":["defaultAction","storageAccountId"],"stateInputs":{"description":"Input properties used for looking up and filtering AccountNetworkRules resources.\n","properties":{"bypasses":{"type":"array","items":{"type":"string"},"description":"Specifies whether traffic is bypassed for Logging/Metrics/AzureServices. Valid options are any combination of `Logging`, `Metrics`, `AzureServices`, or `None`. Defaults to `[\"AzureServices\"]`.\n\n\u003e **Note:** User has to explicitly set \u003cspan pulumi-lang-nodejs=\"`bypass`\" pulumi-lang-dotnet=\"`Bypass`\" pulumi-lang-go=\"`bypass`\" pulumi-lang-python=\"`bypass`\" pulumi-lang-yaml=\"`bypass`\" pulumi-lang-java=\"`bypass`\"\u003e`bypass`\u003c/span\u003e to empty slice (`[]`) to remove it.\n"},"defaultAction":{"type":"string","description":"Specifies the default action of allow or deny when no other rules match. Valid options are `Deny` or `Allow`.\n"},"ipRules":{"type":"array","items":{"type":"string"},"description":"List of public IP or IP ranges in CIDR Format. Only IPv4 addresses are allowed. Private IP address ranges (as defined in [RFC 1918](https://tools.ietf.org/html/rfc1918#section-3)) are not allowed.\n\n\u003e **Note:** Small address ranges using \"/31\" or \"/32\" prefix sizes are not supported. These ranges should be configured using individual IP address rules without prefix specified.\n\n\u003e **Note:** IP network rules have no effect on requests originating from the same Azure region as the storage account. Use Virtual network rules to allow same-region requests. Services deployed in the same region as the storage account use private Azure IP addresses for communication. Thus, you cannot restrict access to specific Azure services based on their public outbound IP address range.\n\n\u003e **Note:** User has to explicitly set \u003cspan pulumi-lang-nodejs=\"`ipRules`\" pulumi-lang-dotnet=\"`IpRules`\" pulumi-lang-go=\"`ipRules`\" pulumi-lang-python=\"`ip_rules`\" pulumi-lang-yaml=\"`ipRules`\" pulumi-lang-java=\"`ipRules`\"\u003e`ip_rules`\u003c/span\u003e to empty slice (`[]`) to remove it.\n"},"privateLinkAccessRules":{"type":"array","items":{"$ref":"#/types/azure:storage/AccountNetworkRulesPrivateLinkAccessRule:AccountNetworkRulesPrivateLinkAccessRule"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`privateLinkAccess`\" pulumi-lang-dotnet=\"`PrivateLinkAccess`\" pulumi-lang-go=\"`privateLinkAccess`\" pulumi-lang-python=\"`private_link_access`\" pulumi-lang-yaml=\"`privateLinkAccess`\" pulumi-lang-java=\"`privateLinkAccess`\"\u003e`private_link_access`\u003c/span\u003e block as defined below.\n"},"storageAccountId":{"type":"string","description":"Specifies the ID of the storage account. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"virtualNetworkSubnetIds":{"type":"array","items":{"type":"string"},"description":"A list of virtual network subnet ids to secure the storage account.\n\n\u003e **Note:** User has to explicitly set \u003cspan pulumi-lang-nodejs=\"`virtualNetworkSubnetIds`\" pulumi-lang-dotnet=\"`VirtualNetworkSubnetIds`\" pulumi-lang-go=\"`virtualNetworkSubnetIds`\" pulumi-lang-python=\"`virtual_network_subnet_ids`\" pulumi-lang-yaml=\"`virtualNetworkSubnetIds`\" pulumi-lang-java=\"`virtualNetworkSubnetIds`\"\u003e`virtual_network_subnet_ids`\u003c/span\u003e to empty slice (`[]`) to remove it.\n"}},"type":"object"}},"azure:storage/accountQueueProperties:AccountQueueProperties":{"description":"Manages the Queue Properties of an Azure Storage Account.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleAccount = new azure.storage.Account(\"example\", {\n    name: \"storageaccountname\",\n    resourceGroupName: example.name,\n    location: example.location,\n    accountTier: \"Standard\",\n    accountReplicationType: \"GRS\",\n    tags: {\n        environment: \"staging\",\n    },\n});\nconst exampleAccountQueueProperties = new azure.storage.AccountQueueProperties(\"example\", {\n    storageAccountId: exampleAccount.id,\n    corsRules: [{\n        allowedOrigins: [\"http://www.example.com\"],\n        exposedHeaders: [\"x-tempo-*\"],\n        allowedHeaders: [\"x-tempo-*\"],\n        allowedMethods: [\n            \"GET\",\n            \"PUT\",\n        ],\n        maxAgeInSeconds: 500,\n    }],\n    logging: {\n        version: \"1.0\",\n        \"delete\": true,\n        read: true,\n        write: true,\n        retentionPolicyDays: 7,\n    },\n    hourMetrics: {\n        version: \"1.0\",\n        retentionPolicyDays: 7,\n    },\n    minuteMetrics: {\n        version: \"1.0\",\n        retentionPolicyDays: 7,\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_account = azure.storage.Account(\"example\",\n    name=\"storageaccountname\",\n    resource_group_name=example.name,\n    location=example.location,\n    account_tier=\"Standard\",\n    account_replication_type=\"GRS\",\n    tags={\n        \"environment\": \"staging\",\n    })\nexample_account_queue_properties = azure.storage.AccountQueueProperties(\"example\",\n    storage_account_id=example_account.id,\n    cors_rules=[{\n        \"allowed_origins\": [\"http://www.example.com\"],\n        \"exposed_headers\": [\"x-tempo-*\"],\n        \"allowed_headers\": [\"x-tempo-*\"],\n        \"allowed_methods\": [\n            \"GET\",\n            \"PUT\",\n        ],\n        \"max_age_in_seconds\": 500,\n    }],\n    logging={\n        \"version\": \"1.0\",\n        \"delete\": True,\n        \"read\": True,\n        \"write\": True,\n        \"retention_policy_days\": 7,\n    },\n    hour_metrics={\n        \"version\": \"1.0\",\n        \"retention_policy_days\": 7,\n    },\n    minute_metrics={\n        \"version\": \"1.0\",\n        \"retention_policy_days\": 7,\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleAccount = new Azure.Storage.Account(\"example\", new()\n    {\n        Name = \"storageaccountname\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        AccountTier = \"Standard\",\n        AccountReplicationType = \"GRS\",\n        Tags = \n        {\n            { \"environment\", \"staging\" },\n        },\n    });\n\n    var exampleAccountQueueProperties = new Azure.Storage.AccountQueueProperties(\"example\", new()\n    {\n        StorageAccountId = exampleAccount.Id,\n        CorsRules = new[]\n        {\n            new Azure.Storage.Inputs.AccountQueuePropertiesCorsRuleArgs\n            {\n                AllowedOrigins = new[]\n                {\n                    \"http://www.example.com\",\n                },\n                ExposedHeaders = new[]\n                {\n                    \"x-tempo-*\",\n                },\n                AllowedHeaders = new[]\n                {\n                    \"x-tempo-*\",\n                },\n                AllowedMethods = new[]\n                {\n                    \"GET\",\n                    \"PUT\",\n                },\n                MaxAgeInSeconds = 500,\n            },\n        },\n        Logging = new Azure.Storage.Inputs.AccountQueuePropertiesLoggingArgs\n        {\n            Version = \"1.0\",\n            Delete = true,\n            Read = true,\n            Write = true,\n            RetentionPolicyDays = 7,\n        },\n        HourMetrics = new Azure.Storage.Inputs.AccountQueuePropertiesHourMetricsArgs\n        {\n            Version = \"1.0\",\n            RetentionPolicyDays = 7,\n        },\n        MinuteMetrics = new Azure.Storage.Inputs.AccountQueuePropertiesMinuteMetricsArgs\n        {\n            Version = \"1.0\",\n            RetentionPolicyDays = 7,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := storage.NewAccount(ctx, \"example\", \u0026storage.AccountArgs{\n\t\t\tName:                   pulumi.String(\"storageaccountname\"),\n\t\t\tResourceGroupName:      example.Name,\n\t\t\tLocation:               example.Location,\n\t\t\tAccountTier:            pulumi.String(\"Standard\"),\n\t\t\tAccountReplicationType: pulumi.String(\"GRS\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"environment\": pulumi.String(\"staging\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = storage.NewAccountQueueProperties(ctx, \"example\", \u0026storage.AccountQueuePropertiesArgs{\n\t\t\tStorageAccountId: exampleAccount.ID(),\n\t\t\tCorsRules: storage.AccountQueuePropertiesCorsRuleArray{\n\t\t\t\t\u0026storage.AccountQueuePropertiesCorsRuleArgs{\n\t\t\t\t\tAllowedOrigins: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"http://www.example.com\"),\n\t\t\t\t\t},\n\t\t\t\t\tExposedHeaders: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"x-tempo-*\"),\n\t\t\t\t\t},\n\t\t\t\t\tAllowedHeaders: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"x-tempo-*\"),\n\t\t\t\t\t},\n\t\t\t\t\tAllowedMethods: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"GET\"),\n\t\t\t\t\t\tpulumi.String(\"PUT\"),\n\t\t\t\t\t},\n\t\t\t\t\tMaxAgeInSeconds: pulumi.Int(500),\n\t\t\t\t},\n\t\t\t},\n\t\t\tLogging: \u0026storage.AccountQueuePropertiesLoggingArgs{\n\t\t\t\tVersion:             pulumi.String(\"1.0\"),\n\t\t\t\tDelete:              pulumi.Bool(true),\n\t\t\t\tRead:                pulumi.Bool(true),\n\t\t\t\tWrite:               pulumi.Bool(true),\n\t\t\t\tRetentionPolicyDays: pulumi.Int(7),\n\t\t\t},\n\t\t\tHourMetrics: \u0026storage.AccountQueuePropertiesHourMetricsArgs{\n\t\t\t\tVersion:             pulumi.String(\"1.0\"),\n\t\t\t\tRetentionPolicyDays: pulumi.Int(7),\n\t\t\t},\n\t\t\tMinuteMetrics: \u0026storage.AccountQueuePropertiesMinuteMetricsArgs{\n\t\t\t\tVersion:             pulumi.String(\"1.0\"),\n\t\t\t\tRetentionPolicyDays: pulumi.Int(7),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.storage.Account;\nimport com.pulumi.azure.storage.AccountArgs;\nimport com.pulumi.azure.storage.AccountQueueProperties;\nimport com.pulumi.azure.storage.AccountQueuePropertiesArgs;\nimport com.pulumi.azure.storage.inputs.AccountQueuePropertiesCorsRuleArgs;\nimport com.pulumi.azure.storage.inputs.AccountQueuePropertiesLoggingArgs;\nimport com.pulumi.azure.storage.inputs.AccountQueuePropertiesHourMetricsArgs;\nimport com.pulumi.azure.storage.inputs.AccountQueuePropertiesMinuteMetricsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"storageaccountname\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .accountTier(\"Standard\")\n            .accountReplicationType(\"GRS\")\n            .tags(Map.of(\"environment\", \"staging\"))\n            .build());\n\n        var exampleAccountQueueProperties = new AccountQueueProperties(\"exampleAccountQueueProperties\", AccountQueuePropertiesArgs.builder()\n            .storageAccountId(exampleAccount.id())\n            .corsRules(AccountQueuePropertiesCorsRuleArgs.builder()\n                .allowedOrigins(\"http://www.example.com\")\n                .exposedHeaders(\"x-tempo-*\")\n                .allowedHeaders(\"x-tempo-*\")\n                .allowedMethods(                \n                    \"GET\",\n                    \"PUT\")\n                .maxAgeInSeconds(500)\n                .build())\n            .logging(AccountQueuePropertiesLoggingArgs.builder()\n                .version(\"1.0\")\n                .delete(true)\n                .read(true)\n                .write(true)\n                .retentionPolicyDays(7)\n                .build())\n            .hourMetrics(AccountQueuePropertiesHourMetricsArgs.builder()\n                .version(\"1.0\")\n                .retentionPolicyDays(7)\n                .build())\n            .minuteMetrics(AccountQueuePropertiesMinuteMetricsArgs.builder()\n                .version(\"1.0\")\n                .retentionPolicyDays(7)\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleAccount:\n    type: azure:storage:Account\n    name: example\n    properties:\n      name: storageaccountname\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      accountTier: Standard\n      accountReplicationType: GRS\n      tags:\n        environment: staging\n  exampleAccountQueueProperties:\n    type: azure:storage:AccountQueueProperties\n    name: example\n    properties:\n      storageAccountId: ${exampleAccount.id}\n      corsRules:\n        - allowedOrigins:\n            - http://www.example.com\n          exposedHeaders:\n            - x-tempo-*\n          allowedHeaders:\n            - x-tempo-*\n          allowedMethods:\n            - GET\n            - PUT\n          maxAgeInSeconds: '500'\n      logging:\n        version: '1.0'\n        delete: true\n        read: true\n        write: true\n        retentionPolicyDays: 7\n      hourMetrics:\n        version: '1.0'\n        retentionPolicyDays: 7\n      minuteMetrics:\n        version: '1.0'\n        retentionPolicyDays: 7\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nStorage Account Queue Properties can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:storage/accountQueueProperties:AccountQueueProperties queueprops /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myresourcegroup/providers/Microsoft.Storage/storageAccounts/myaccount\n```\n\n","properties":{"corsRules":{"type":"array","items":{"$ref":"#/types/azure:storage/AccountQueuePropertiesCorsRule:AccountQueuePropertiesCorsRule"},"description":"A \u003cspan pulumi-lang-nodejs=\"`corsRule`\" pulumi-lang-dotnet=\"`CorsRule`\" pulumi-lang-go=\"`corsRule`\" pulumi-lang-python=\"`cors_rule`\" pulumi-lang-yaml=\"`corsRule`\" pulumi-lang-java=\"`corsRule`\"\u003e`cors_rule`\u003c/span\u003e block as defined above.\n"},"hourMetrics":{"$ref":"#/types/azure:storage/AccountQueuePropertiesHourMetrics:AccountQueuePropertiesHourMetrics","description":"A \u003cspan pulumi-lang-nodejs=\"`hourMetrics`\" pulumi-lang-dotnet=\"`HourMetrics`\" pulumi-lang-go=\"`hourMetrics`\" pulumi-lang-python=\"`hour_metrics`\" pulumi-lang-yaml=\"`hourMetrics`\" pulumi-lang-java=\"`hourMetrics`\"\u003e`hour_metrics`\u003c/span\u003e block as defined below.\n\n\u003e **Note:** At least one of \u003cspan pulumi-lang-nodejs=\"`corsRule`\" pulumi-lang-dotnet=\"`CorsRule`\" pulumi-lang-go=\"`corsRule`\" pulumi-lang-python=\"`cors_rule`\" pulumi-lang-yaml=\"`corsRule`\" pulumi-lang-java=\"`corsRule`\"\u003e`cors_rule`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`logging`\" pulumi-lang-dotnet=\"`Logging`\" pulumi-lang-go=\"`logging`\" pulumi-lang-python=\"`logging`\" pulumi-lang-yaml=\"`logging`\" pulumi-lang-java=\"`logging`\"\u003e`logging`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`minuteMetrics`\" pulumi-lang-dotnet=\"`MinuteMetrics`\" pulumi-lang-go=\"`minuteMetrics`\" pulumi-lang-python=\"`minute_metrics`\" pulumi-lang-yaml=\"`minuteMetrics`\" pulumi-lang-java=\"`minuteMetrics`\"\u003e`minute_metrics`\u003c/span\u003e, or \u003cspan pulumi-lang-nodejs=\"`hourMetrics`\" pulumi-lang-dotnet=\"`HourMetrics`\" pulumi-lang-go=\"`hourMetrics`\" pulumi-lang-python=\"`hour_metrics`\" pulumi-lang-yaml=\"`hourMetrics`\" pulumi-lang-java=\"`hourMetrics`\"\u003e`hour_metrics`\u003c/span\u003e must be specified.\n"},"logging":{"$ref":"#/types/azure:storage/AccountQueuePropertiesLogging:AccountQueuePropertiesLogging","description":"A \u003cspan pulumi-lang-nodejs=\"`logging`\" pulumi-lang-dotnet=\"`Logging`\" pulumi-lang-go=\"`logging`\" pulumi-lang-python=\"`logging`\" pulumi-lang-yaml=\"`logging`\" pulumi-lang-java=\"`logging`\"\u003e`logging`\u003c/span\u003e block as defined below.\n"},"minuteMetrics":{"$ref":"#/types/azure:storage/AccountQueuePropertiesMinuteMetrics:AccountQueuePropertiesMinuteMetrics","description":"A \u003cspan pulumi-lang-nodejs=\"`minuteMetrics`\" pulumi-lang-dotnet=\"`MinuteMetrics`\" pulumi-lang-go=\"`minuteMetrics`\" pulumi-lang-python=\"`minute_metrics`\" pulumi-lang-yaml=\"`minuteMetrics`\" pulumi-lang-java=\"`minuteMetrics`\"\u003e`minute_metrics`\u003c/span\u003e block as defined below.\n"},"storageAccountId":{"type":"string","description":"The ID of the Storage Account to set Queue Properties on. Changing this forces a new resource to be created.\n"}},"required":["hourMetrics","logging","minuteMetrics","storageAccountId"],"inputProperties":{"corsRules":{"type":"array","items":{"$ref":"#/types/azure:storage/AccountQueuePropertiesCorsRule:AccountQueuePropertiesCorsRule"},"description":"A \u003cspan pulumi-lang-nodejs=\"`corsRule`\" pulumi-lang-dotnet=\"`CorsRule`\" pulumi-lang-go=\"`corsRule`\" pulumi-lang-python=\"`cors_rule`\" pulumi-lang-yaml=\"`corsRule`\" pulumi-lang-java=\"`corsRule`\"\u003e`cors_rule`\u003c/span\u003e block as defined above.\n"},"hourMetrics":{"$ref":"#/types/azure:storage/AccountQueuePropertiesHourMetrics:AccountQueuePropertiesHourMetrics","description":"A \u003cspan pulumi-lang-nodejs=\"`hourMetrics`\" pulumi-lang-dotnet=\"`HourMetrics`\" pulumi-lang-go=\"`hourMetrics`\" pulumi-lang-python=\"`hour_metrics`\" pulumi-lang-yaml=\"`hourMetrics`\" pulumi-lang-java=\"`hourMetrics`\"\u003e`hour_metrics`\u003c/span\u003e block as defined below.\n\n\u003e **Note:** At least one of \u003cspan pulumi-lang-nodejs=\"`corsRule`\" pulumi-lang-dotnet=\"`CorsRule`\" pulumi-lang-go=\"`corsRule`\" pulumi-lang-python=\"`cors_rule`\" pulumi-lang-yaml=\"`corsRule`\" pulumi-lang-java=\"`corsRule`\"\u003e`cors_rule`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`logging`\" pulumi-lang-dotnet=\"`Logging`\" pulumi-lang-go=\"`logging`\" pulumi-lang-python=\"`logging`\" pulumi-lang-yaml=\"`logging`\" pulumi-lang-java=\"`logging`\"\u003e`logging`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`minuteMetrics`\" pulumi-lang-dotnet=\"`MinuteMetrics`\" pulumi-lang-go=\"`minuteMetrics`\" pulumi-lang-python=\"`minute_metrics`\" pulumi-lang-yaml=\"`minuteMetrics`\" pulumi-lang-java=\"`minuteMetrics`\"\u003e`minute_metrics`\u003c/span\u003e, or \u003cspan pulumi-lang-nodejs=\"`hourMetrics`\" pulumi-lang-dotnet=\"`HourMetrics`\" pulumi-lang-go=\"`hourMetrics`\" pulumi-lang-python=\"`hour_metrics`\" pulumi-lang-yaml=\"`hourMetrics`\" pulumi-lang-java=\"`hourMetrics`\"\u003e`hour_metrics`\u003c/span\u003e must be specified.\n"},"logging":{"$ref":"#/types/azure:storage/AccountQueuePropertiesLogging:AccountQueuePropertiesLogging","description":"A \u003cspan pulumi-lang-nodejs=\"`logging`\" pulumi-lang-dotnet=\"`Logging`\" pulumi-lang-go=\"`logging`\" pulumi-lang-python=\"`logging`\" pulumi-lang-yaml=\"`logging`\" pulumi-lang-java=\"`logging`\"\u003e`logging`\u003c/span\u003e block as defined below.\n"},"minuteMetrics":{"$ref":"#/types/azure:storage/AccountQueuePropertiesMinuteMetrics:AccountQueuePropertiesMinuteMetrics","description":"A \u003cspan pulumi-lang-nodejs=\"`minuteMetrics`\" pulumi-lang-dotnet=\"`MinuteMetrics`\" pulumi-lang-go=\"`minuteMetrics`\" pulumi-lang-python=\"`minute_metrics`\" pulumi-lang-yaml=\"`minuteMetrics`\" pulumi-lang-java=\"`minuteMetrics`\"\u003e`minute_metrics`\u003c/span\u003e block as defined below.\n"},"storageAccountId":{"type":"string","description":"The ID of the Storage Account to set Queue Properties on. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["storageAccountId"],"stateInputs":{"description":"Input properties used for looking up and filtering AccountQueueProperties resources.\n","properties":{"corsRules":{"type":"array","items":{"$ref":"#/types/azure:storage/AccountQueuePropertiesCorsRule:AccountQueuePropertiesCorsRule"},"description":"A \u003cspan pulumi-lang-nodejs=\"`corsRule`\" pulumi-lang-dotnet=\"`CorsRule`\" pulumi-lang-go=\"`corsRule`\" pulumi-lang-python=\"`cors_rule`\" pulumi-lang-yaml=\"`corsRule`\" pulumi-lang-java=\"`corsRule`\"\u003e`cors_rule`\u003c/span\u003e block as defined above.\n"},"hourMetrics":{"$ref":"#/types/azure:storage/AccountQueuePropertiesHourMetrics:AccountQueuePropertiesHourMetrics","description":"A \u003cspan pulumi-lang-nodejs=\"`hourMetrics`\" pulumi-lang-dotnet=\"`HourMetrics`\" pulumi-lang-go=\"`hourMetrics`\" pulumi-lang-python=\"`hour_metrics`\" pulumi-lang-yaml=\"`hourMetrics`\" pulumi-lang-java=\"`hourMetrics`\"\u003e`hour_metrics`\u003c/span\u003e block as defined below.\n\n\u003e **Note:** At least one of \u003cspan pulumi-lang-nodejs=\"`corsRule`\" pulumi-lang-dotnet=\"`CorsRule`\" pulumi-lang-go=\"`corsRule`\" pulumi-lang-python=\"`cors_rule`\" pulumi-lang-yaml=\"`corsRule`\" pulumi-lang-java=\"`corsRule`\"\u003e`cors_rule`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`logging`\" pulumi-lang-dotnet=\"`Logging`\" pulumi-lang-go=\"`logging`\" pulumi-lang-python=\"`logging`\" pulumi-lang-yaml=\"`logging`\" pulumi-lang-java=\"`logging`\"\u003e`logging`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`minuteMetrics`\" pulumi-lang-dotnet=\"`MinuteMetrics`\" pulumi-lang-go=\"`minuteMetrics`\" pulumi-lang-python=\"`minute_metrics`\" pulumi-lang-yaml=\"`minuteMetrics`\" pulumi-lang-java=\"`minuteMetrics`\"\u003e`minute_metrics`\u003c/span\u003e, or \u003cspan pulumi-lang-nodejs=\"`hourMetrics`\" pulumi-lang-dotnet=\"`HourMetrics`\" pulumi-lang-go=\"`hourMetrics`\" pulumi-lang-python=\"`hour_metrics`\" pulumi-lang-yaml=\"`hourMetrics`\" pulumi-lang-java=\"`hourMetrics`\"\u003e`hour_metrics`\u003c/span\u003e must be specified.\n"},"logging":{"$ref":"#/types/azure:storage/AccountQueuePropertiesLogging:AccountQueuePropertiesLogging","description":"A \u003cspan pulumi-lang-nodejs=\"`logging`\" pulumi-lang-dotnet=\"`Logging`\" pulumi-lang-go=\"`logging`\" pulumi-lang-python=\"`logging`\" pulumi-lang-yaml=\"`logging`\" pulumi-lang-java=\"`logging`\"\u003e`logging`\u003c/span\u003e block as defined below.\n"},"minuteMetrics":{"$ref":"#/types/azure:storage/AccountQueuePropertiesMinuteMetrics:AccountQueuePropertiesMinuteMetrics","description":"A \u003cspan pulumi-lang-nodejs=\"`minuteMetrics`\" pulumi-lang-dotnet=\"`MinuteMetrics`\" pulumi-lang-go=\"`minuteMetrics`\" pulumi-lang-python=\"`minute_metrics`\" pulumi-lang-yaml=\"`minuteMetrics`\" pulumi-lang-java=\"`minuteMetrics`\"\u003e`minute_metrics`\u003c/span\u003e block as defined below.\n"},"storageAccountId":{"type":"string","description":"The ID of the Storage Account to set Queue Properties on. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:storage/accountStaticWebsite:AccountStaticWebsite":{"description":"Manages the Static Website of an Azure Storage Account.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleAccount = new azure.storage.Account(\"example\", {\n    name: \"storageaccountname\",\n    resourceGroupName: example.name,\n    location: example.location,\n    accountTier: \"Standard\",\n    accountReplicationType: \"GRS\",\n    tags: {\n        environment: \"staging\",\n    },\n});\nconst exampleAccountStaticWebsite = new azure.storage.AccountStaticWebsite(\"example\", {\n    storageAccountId: exampleAccount.id,\n    error404Document: \"custom_not_found.html\",\n    indexDocument: \"custom_index.html\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_account = azure.storage.Account(\"example\",\n    name=\"storageaccountname\",\n    resource_group_name=example.name,\n    location=example.location,\n    account_tier=\"Standard\",\n    account_replication_type=\"GRS\",\n    tags={\n        \"environment\": \"staging\",\n    })\nexample_account_static_website = azure.storage.AccountStaticWebsite(\"example\",\n    storage_account_id=example_account.id,\n    error404_document=\"custom_not_found.html\",\n    index_document=\"custom_index.html\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleAccount = new Azure.Storage.Account(\"example\", new()\n    {\n        Name = \"storageaccountname\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        AccountTier = \"Standard\",\n        AccountReplicationType = \"GRS\",\n        Tags = \n        {\n            { \"environment\", \"staging\" },\n        },\n    });\n\n    var exampleAccountStaticWebsite = new Azure.Storage.AccountStaticWebsite(\"example\", new()\n    {\n        StorageAccountId = exampleAccount.Id,\n        Error404Document = \"custom_not_found.html\",\n        IndexDocument = \"custom_index.html\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := storage.NewAccount(ctx, \"example\", \u0026storage.AccountArgs{\n\t\t\tName:                   pulumi.String(\"storageaccountname\"),\n\t\t\tResourceGroupName:      example.Name,\n\t\t\tLocation:               example.Location,\n\t\t\tAccountTier:            pulumi.String(\"Standard\"),\n\t\t\tAccountReplicationType: pulumi.String(\"GRS\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"environment\": pulumi.String(\"staging\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = storage.NewAccountStaticWebsite(ctx, \"example\", \u0026storage.AccountStaticWebsiteArgs{\n\t\t\tStorageAccountId: exampleAccount.ID(),\n\t\t\tError404Document: pulumi.String(\"custom_not_found.html\"),\n\t\t\tIndexDocument:    pulumi.String(\"custom_index.html\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.storage.Account;\nimport com.pulumi.azure.storage.AccountArgs;\nimport com.pulumi.azure.storage.AccountStaticWebsite;\nimport com.pulumi.azure.storage.AccountStaticWebsiteArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"storageaccountname\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .accountTier(\"Standard\")\n            .accountReplicationType(\"GRS\")\n            .tags(Map.of(\"environment\", \"staging\"))\n            .build());\n\n        var exampleAccountStaticWebsite = new AccountStaticWebsite(\"exampleAccountStaticWebsite\", AccountStaticWebsiteArgs.builder()\n            .storageAccountId(exampleAccount.id())\n            .error404Document(\"custom_not_found.html\")\n            .indexDocument(\"custom_index.html\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleAccount:\n    type: azure:storage:Account\n    name: example\n    properties:\n      name: storageaccountname\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      accountTier: Standard\n      accountReplicationType: GRS\n      tags:\n        environment: staging\n  exampleAccountStaticWebsite:\n    type: azure:storage:AccountStaticWebsite\n    name: example\n    properties:\n      storageAccountId: ${exampleAccount.id}\n      error404Document: custom_not_found.html\n      indexDocument: custom_index.html\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nStorage Account Static Websites can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:storage/accountStaticWebsite:AccountStaticWebsite mysite /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myresourcegroup/providers/Microsoft.Storage/storageAccounts/myaccount\n```\n\n","properties":{"error404Document":{"type":"string","description":"The absolute path to a custom webpage that should be used when a request is made which does not correspond to an existing file.\n"},"indexDocument":{"type":"string","description":"The webpage that Azure Storage serves for requests to the root of a website or any subfolder. For example, index.html.\n"},"storageAccountId":{"type":"string","description":"The ID of the Storage Account to set Static Website on. Changing this forces a new resource to be created.\n"}},"required":["storageAccountId"],"inputProperties":{"error404Document":{"type":"string","description":"The absolute path to a custom webpage that should be used when a request is made which does not correspond to an existing file.\n"},"indexDocument":{"type":"string","description":"The webpage that Azure Storage serves for requests to the root of a website or any subfolder. For example, index.html.\n"},"storageAccountId":{"type":"string","description":"The ID of the Storage Account to set Static Website on. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["storageAccountId"],"stateInputs":{"description":"Input properties used for looking up and filtering AccountStaticWebsite resources.\n","properties":{"error404Document":{"type":"string","description":"The absolute path to a custom webpage that should be used when a request is made which does not correspond to an existing file.\n"},"indexDocument":{"type":"string","description":"The webpage that Azure Storage serves for requests to the root of a website or any subfolder. For example, index.html.\n"},"storageAccountId":{"type":"string","description":"The ID of the Storage Account to set Static Website on. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:storage/blob:Blob":{"description":"Manages a Blob within a Storage Container.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleAccount = new azure.storage.Account(\"example\", {\n    name: \"examplestoracc\",\n    resourceGroupName: example.name,\n    location: example.location,\n    accountTier: \"Standard\",\n    accountReplicationType: \"LRS\",\n});\nconst exampleContainer = new azure.storage.Container(\"example\", {\n    name: \"content\",\n    storageAccountId: exampleAccount.id,\n    containerAccessType: \"private\",\n});\nconst exampleBlob = new azure.storage.Blob(\"example\", {\n    name: \"my-awesome-content.zip\",\n    storageAccountName: exampleAccount.name,\n    storageContainerName: exampleContainer.name,\n    type: \"Block\",\n    source: new pulumi.asset.FileAsset(\"some-local-file.zip\"),\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_account = azure.storage.Account(\"example\",\n    name=\"examplestoracc\",\n    resource_group_name=example.name,\n    location=example.location,\n    account_tier=\"Standard\",\n    account_replication_type=\"LRS\")\nexample_container = azure.storage.Container(\"example\",\n    name=\"content\",\n    storage_account_id=example_account.id,\n    container_access_type=\"private\")\nexample_blob = azure.storage.Blob(\"example\",\n    name=\"my-awesome-content.zip\",\n    storage_account_name=example_account.name,\n    storage_container_name=example_container.name,\n    type=\"Block\",\n    source=pulumi.FileAsset(\"some-local-file.zip\"))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleAccount = new Azure.Storage.Account(\"example\", new()\n    {\n        Name = \"examplestoracc\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        AccountTier = \"Standard\",\n        AccountReplicationType = \"LRS\",\n    });\n\n    var exampleContainer = new Azure.Storage.Container(\"example\", new()\n    {\n        Name = \"content\",\n        StorageAccountId = exampleAccount.Id,\n        ContainerAccessType = \"private\",\n    });\n\n    var exampleBlob = new Azure.Storage.Blob(\"example\", new()\n    {\n        Name = \"my-awesome-content.zip\",\n        StorageAccountName = exampleAccount.Name,\n        StorageContainerName = exampleContainer.Name,\n        Type = \"Block\",\n        Source = new FileAsset(\"some-local-file.zip\"),\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := storage.NewAccount(ctx, \"example\", \u0026storage.AccountArgs{\n\t\t\tName:                   pulumi.String(\"examplestoracc\"),\n\t\t\tResourceGroupName:      example.Name,\n\t\t\tLocation:               example.Location,\n\t\t\tAccountTier:            pulumi.String(\"Standard\"),\n\t\t\tAccountReplicationType: pulumi.String(\"LRS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleContainer, err := storage.NewContainer(ctx, \"example\", \u0026storage.ContainerArgs{\n\t\t\tName:                pulumi.String(\"content\"),\n\t\t\tStorageAccountId:    exampleAccount.ID(),\n\t\t\tContainerAccessType: pulumi.String(\"private\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = storage.NewBlob(ctx, \"example\", \u0026storage.BlobArgs{\n\t\t\tName:                 pulumi.String(\"my-awesome-content.zip\"),\n\t\t\tStorageAccountName:   exampleAccount.Name,\n\t\t\tStorageContainerName: exampleContainer.Name,\n\t\t\tType:                 pulumi.String(\"Block\"),\n\t\t\tSource:               pulumi.NewFileAsset(\"some-local-file.zip\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.storage.Account;\nimport com.pulumi.azure.storage.AccountArgs;\nimport com.pulumi.azure.storage.Container;\nimport com.pulumi.azure.storage.ContainerArgs;\nimport com.pulumi.azure.storage.Blob;\nimport com.pulumi.azure.storage.BlobArgs;\nimport com.pulumi.asset.FileAsset;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"examplestoracc\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .accountTier(\"Standard\")\n            .accountReplicationType(\"LRS\")\n            .build());\n\n        var exampleContainer = new Container(\"exampleContainer\", ContainerArgs.builder()\n            .name(\"content\")\n            .storageAccountId(exampleAccount.id())\n            .containerAccessType(\"private\")\n            .build());\n\n        var exampleBlob = new Blob(\"exampleBlob\", BlobArgs.builder()\n            .name(\"my-awesome-content.zip\")\n            .storageAccountName(exampleAccount.name())\n            .storageContainerName(exampleContainer.name())\n            .type(\"Block\")\n            .source(new FileAsset(\"some-local-file.zip\"))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleAccount:\n    type: azure:storage:Account\n    name: example\n    properties:\n      name: examplestoracc\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      accountTier: Standard\n      accountReplicationType: LRS\n  exampleContainer:\n    type: azure:storage:Container\n    name: example\n    properties:\n      name: content\n      storageAccountId: ${exampleAccount.id}\n      containerAccessType: private\n  exampleBlob:\n    type: azure:storage:Blob\n    name: example\n    properties:\n      name: my-awesome-content.zip\n      storageAccountName: ${exampleAccount.name}\n      storageContainerName: ${exampleContainer.name}\n      type: Block\n      source:\n        fn::FileAsset: some-local-file.zip\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nStorage Blob's can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:storage/blob:Blob blob1 https://example.blob.core.windows.net/container/blob.vhd\n```\n\n","properties":{"accessTier":{"type":"string","description":"The access tier of the storage blob. Possible values are `Archive`, `Cool` and `Hot`.\n"},"cacheControl":{"type":"string","description":"Controls the [cache control header](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Cache-Control) content of the response when blob is requested .\n"},"contentMd5":{"type":"string","description":"The MD5 sum of the blob contents. Cannot be defined if \u003cspan pulumi-lang-nodejs=\"`sourceUri`\" pulumi-lang-dotnet=\"`SourceUri`\" pulumi-lang-go=\"`sourceUri`\" pulumi-lang-python=\"`source_uri`\" pulumi-lang-yaml=\"`sourceUri`\" pulumi-lang-java=\"`sourceUri`\"\u003e`source_uri`\u003c/span\u003e is defined, or if blob type is Append or Page. Changing this forces a new resource to be created.\n"},"contentType":{"type":"string","description":"The content type of the storage blob. Cannot be defined if \u003cspan pulumi-lang-nodejs=\"`sourceUri`\" pulumi-lang-dotnet=\"`SourceUri`\" pulumi-lang-go=\"`sourceUri`\" pulumi-lang-python=\"`source_uri`\" pulumi-lang-yaml=\"`sourceUri`\" pulumi-lang-java=\"`sourceUri`\"\u003e`source_uri`\u003c/span\u003e is defined. Defaults to `application/octet-stream`.\n"},"encryptionScope":{"type":"string","description":"The encryption scope to use for this blob.\n"},"metadata":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of custom blob metadata.\n"},"name":{"type":"string","description":"The name of the storage blob. Must be unique within the storage container the blob is located. Changing this forces a new resource to be created.\n"},"parallelism":{"type":"integer","description":"The number of workers per CPU core to run for concurrent uploads. Defaults to \u003cspan pulumi-lang-nodejs=\"`8`\" pulumi-lang-dotnet=\"`8`\" pulumi-lang-go=\"`8`\" pulumi-lang-python=\"`8`\" pulumi-lang-yaml=\"`8`\" pulumi-lang-java=\"`8`\"\u003e`8`\u003c/span\u003e. Changing this forces a new resource to be created.\n\n\u003e **NOTE:** \u003cspan pulumi-lang-nodejs=\"`parallelism`\" pulumi-lang-dotnet=\"`Parallelism`\" pulumi-lang-go=\"`parallelism`\" pulumi-lang-python=\"`parallelism`\" pulumi-lang-yaml=\"`parallelism`\" pulumi-lang-java=\"`parallelism`\"\u003e`parallelism`\u003c/span\u003e is only applicable for Page blobs - support for [Block Blobs is blocked on the upstream issue](https://github.com/jackofallops/giovanni/issues/15).\n"},"size":{"type":"integer","description":"Used only for \u003cspan pulumi-lang-nodejs=\"`page`\" pulumi-lang-dotnet=\"`Page`\" pulumi-lang-go=\"`page`\" pulumi-lang-python=\"`page`\" pulumi-lang-yaml=\"`page`\" pulumi-lang-java=\"`page`\"\u003e`page`\u003c/span\u003e blobs to specify the size in bytes of the blob to be created. Must be a multiple of 512. Defaults to \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e. Changing this forces a new resource to be created.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`size`\" pulumi-lang-dotnet=\"`Size`\" pulumi-lang-go=\"`size`\" pulumi-lang-python=\"`size`\" pulumi-lang-yaml=\"`size`\" pulumi-lang-java=\"`size`\"\u003e`size`\u003c/span\u003e is required if \u003cspan pulumi-lang-nodejs=\"`sourceUri`\" pulumi-lang-dotnet=\"`SourceUri`\" pulumi-lang-go=\"`sourceUri`\" pulumi-lang-python=\"`source_uri`\" pulumi-lang-yaml=\"`sourceUri`\" pulumi-lang-java=\"`sourceUri`\"\u003e`source_uri`\u003c/span\u003e is not set.\n"},"source":{"$ref":"pulumi.json#/Asset","description":"An absolute path to a file on the local system. This field cannot be specified for Append blobs and cannot be specified if \u003cspan pulumi-lang-nodejs=\"`sourceContent`\" pulumi-lang-dotnet=\"`SourceContent`\" pulumi-lang-go=\"`sourceContent`\" pulumi-lang-python=\"`source_content`\" pulumi-lang-yaml=\"`sourceContent`\" pulumi-lang-java=\"`sourceContent`\"\u003e`source_content`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`sourceUri`\" pulumi-lang-dotnet=\"`SourceUri`\" pulumi-lang-go=\"`sourceUri`\" pulumi-lang-python=\"`source_uri`\" pulumi-lang-yaml=\"`sourceUri`\" pulumi-lang-java=\"`sourceUri`\"\u003e`source_uri`\u003c/span\u003e is specified. Changing this forces a new resource to be created.\n"},"sourceContent":{"type":"string","description":"The content for this blob which should be defined inline. This field can only be specified for Block blobs and cannot be specified if \u003cspan pulumi-lang-nodejs=\"`source`\" pulumi-lang-dotnet=\"`Source`\" pulumi-lang-go=\"`source`\" pulumi-lang-python=\"`source`\" pulumi-lang-yaml=\"`source`\" pulumi-lang-java=\"`source`\"\u003e`source`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`sourceUri`\" pulumi-lang-dotnet=\"`SourceUri`\" pulumi-lang-go=\"`sourceUri`\" pulumi-lang-python=\"`source_uri`\" pulumi-lang-yaml=\"`sourceUri`\" pulumi-lang-java=\"`sourceUri`\"\u003e`source_uri`\u003c/span\u003e is specified. Changing this forces a new resource to be created.\n"},"sourceUri":{"type":"string","description":"The URI of an existing blob, or a file in the Azure File service, to use as the source contents for the blob to be created. Changing this forces a new resource to be created. This field cannot be specified for Append blobs and cannot be specified if \u003cspan pulumi-lang-nodejs=\"`source`\" pulumi-lang-dotnet=\"`Source`\" pulumi-lang-go=\"`source`\" pulumi-lang-python=\"`source`\" pulumi-lang-yaml=\"`source`\" pulumi-lang-java=\"`source`\"\u003e`source`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`sourceContent`\" pulumi-lang-dotnet=\"`SourceContent`\" pulumi-lang-go=\"`sourceContent`\" pulumi-lang-python=\"`source_content`\" pulumi-lang-yaml=\"`sourceContent`\" pulumi-lang-java=\"`sourceContent`\"\u003e`source_content`\u003c/span\u003e is specified.\n"},"storageAccountName":{"type":"string","description":"Specifies the storage account in which to create the storage container. Changing this forces a new resource to be created.\n"},"storageContainerName":{"type":"string","description":"The name of the storage container in which this blob should be created. Changing this forces a new resource to be created.\n"},"type":{"type":"string","description":"The type of the storage blob to be created. Possible values are `Append`, `Block` or `Page`. Changing this forces a new resource to be created.\n"},"url":{"type":"string","description":"The URL of the blob\n"}},"required":["accessTier","metadata","name","storageAccountName","storageContainerName","type","url"],"inputProperties":{"accessTier":{"type":"string","description":"The access tier of the storage blob. Possible values are `Archive`, `Cool` and `Hot`.\n"},"cacheControl":{"type":"string","description":"Controls the [cache control header](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Cache-Control) content of the response when blob is requested .\n"},"contentMd5":{"type":"string","description":"The MD5 sum of the blob contents. Cannot be defined if \u003cspan pulumi-lang-nodejs=\"`sourceUri`\" pulumi-lang-dotnet=\"`SourceUri`\" pulumi-lang-go=\"`sourceUri`\" pulumi-lang-python=\"`source_uri`\" pulumi-lang-yaml=\"`sourceUri`\" pulumi-lang-java=\"`sourceUri`\"\u003e`source_uri`\u003c/span\u003e is defined, or if blob type is Append or Page. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"contentType":{"type":"string","description":"The content type of the storage blob. Cannot be defined if \u003cspan pulumi-lang-nodejs=\"`sourceUri`\" pulumi-lang-dotnet=\"`SourceUri`\" pulumi-lang-go=\"`sourceUri`\" pulumi-lang-python=\"`source_uri`\" pulumi-lang-yaml=\"`sourceUri`\" pulumi-lang-java=\"`sourceUri`\"\u003e`source_uri`\u003c/span\u003e is defined. Defaults to `application/octet-stream`.\n"},"encryptionScope":{"type":"string","description":"The encryption scope to use for this blob.\n","willReplaceOnChanges":true},"metadata":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of custom blob metadata.\n"},"name":{"type":"string","description":"The name of the storage blob. Must be unique within the storage container the blob is located. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"parallelism":{"type":"integer","description":"The number of workers per CPU core to run for concurrent uploads. Defaults to \u003cspan pulumi-lang-nodejs=\"`8`\" pulumi-lang-dotnet=\"`8`\" pulumi-lang-go=\"`8`\" pulumi-lang-python=\"`8`\" pulumi-lang-yaml=\"`8`\" pulumi-lang-java=\"`8`\"\u003e`8`\u003c/span\u003e. Changing this forces a new resource to be created.\n\n\u003e **NOTE:** \u003cspan pulumi-lang-nodejs=\"`parallelism`\" pulumi-lang-dotnet=\"`Parallelism`\" pulumi-lang-go=\"`parallelism`\" pulumi-lang-python=\"`parallelism`\" pulumi-lang-yaml=\"`parallelism`\" pulumi-lang-java=\"`parallelism`\"\u003e`parallelism`\u003c/span\u003e is only applicable for Page blobs - support for [Block Blobs is blocked on the upstream issue](https://github.com/jackofallops/giovanni/issues/15).\n","willReplaceOnChanges":true},"size":{"type":"integer","description":"Used only for \u003cspan pulumi-lang-nodejs=\"`page`\" pulumi-lang-dotnet=\"`Page`\" pulumi-lang-go=\"`page`\" pulumi-lang-python=\"`page`\" pulumi-lang-yaml=\"`page`\" pulumi-lang-java=\"`page`\"\u003e`page`\u003c/span\u003e blobs to specify the size in bytes of the blob to be created. Must be a multiple of 512. Defaults to \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e. Changing this forces a new resource to be created.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`size`\" pulumi-lang-dotnet=\"`Size`\" pulumi-lang-go=\"`size`\" pulumi-lang-python=\"`size`\" pulumi-lang-yaml=\"`size`\" pulumi-lang-java=\"`size`\"\u003e`size`\u003c/span\u003e is required if \u003cspan pulumi-lang-nodejs=\"`sourceUri`\" pulumi-lang-dotnet=\"`SourceUri`\" pulumi-lang-go=\"`sourceUri`\" pulumi-lang-python=\"`source_uri`\" pulumi-lang-yaml=\"`sourceUri`\" pulumi-lang-java=\"`sourceUri`\"\u003e`source_uri`\u003c/span\u003e is not set.\n","willReplaceOnChanges":true},"source":{"$ref":"pulumi.json#/Asset","description":"An absolute path to a file on the local system. This field cannot be specified for Append blobs and cannot be specified if \u003cspan pulumi-lang-nodejs=\"`sourceContent`\" pulumi-lang-dotnet=\"`SourceContent`\" pulumi-lang-go=\"`sourceContent`\" pulumi-lang-python=\"`source_content`\" pulumi-lang-yaml=\"`sourceContent`\" pulumi-lang-java=\"`sourceContent`\"\u003e`source_content`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`sourceUri`\" pulumi-lang-dotnet=\"`SourceUri`\" pulumi-lang-go=\"`sourceUri`\" pulumi-lang-python=\"`source_uri`\" pulumi-lang-yaml=\"`sourceUri`\" pulumi-lang-java=\"`sourceUri`\"\u003e`source_uri`\u003c/span\u003e is specified. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sourceContent":{"type":"string","description":"The content for this blob which should be defined inline. This field can only be specified for Block blobs and cannot be specified if \u003cspan pulumi-lang-nodejs=\"`source`\" pulumi-lang-dotnet=\"`Source`\" pulumi-lang-go=\"`source`\" pulumi-lang-python=\"`source`\" pulumi-lang-yaml=\"`source`\" pulumi-lang-java=\"`source`\"\u003e`source`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`sourceUri`\" pulumi-lang-dotnet=\"`SourceUri`\" pulumi-lang-go=\"`sourceUri`\" pulumi-lang-python=\"`source_uri`\" pulumi-lang-yaml=\"`sourceUri`\" pulumi-lang-java=\"`sourceUri`\"\u003e`source_uri`\u003c/span\u003e is specified. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sourceUri":{"type":"string","description":"The URI of an existing blob, or a file in the Azure File service, to use as the source contents for the blob to be created. Changing this forces a new resource to be created. This field cannot be specified for Append blobs and cannot be specified if \u003cspan pulumi-lang-nodejs=\"`source`\" pulumi-lang-dotnet=\"`Source`\" pulumi-lang-go=\"`source`\" pulumi-lang-python=\"`source`\" pulumi-lang-yaml=\"`source`\" pulumi-lang-java=\"`source`\"\u003e`source`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`sourceContent`\" pulumi-lang-dotnet=\"`SourceContent`\" pulumi-lang-go=\"`sourceContent`\" pulumi-lang-python=\"`source_content`\" pulumi-lang-yaml=\"`sourceContent`\" pulumi-lang-java=\"`sourceContent`\"\u003e`source_content`\u003c/span\u003e is specified.\n","willReplaceOnChanges":true},"storageAccountName":{"type":"string","description":"Specifies the storage account in which to create the storage container. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"storageContainerName":{"type":"string","description":"The name of the storage container in which this blob should be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"type":{"type":"string","description":"The type of the storage blob to be created. Possible values are `Append`, `Block` or `Page`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["storageAccountName","storageContainerName","type"],"stateInputs":{"description":"Input properties used for looking up and filtering Blob resources.\n","properties":{"accessTier":{"type":"string","description":"The access tier of the storage blob. Possible values are `Archive`, `Cool` and `Hot`.\n"},"cacheControl":{"type":"string","description":"Controls the [cache control header](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Cache-Control) content of the response when blob is requested .\n"},"contentMd5":{"type":"string","description":"The MD5 sum of the blob contents. Cannot be defined if \u003cspan pulumi-lang-nodejs=\"`sourceUri`\" pulumi-lang-dotnet=\"`SourceUri`\" pulumi-lang-go=\"`sourceUri`\" pulumi-lang-python=\"`source_uri`\" pulumi-lang-yaml=\"`sourceUri`\" pulumi-lang-java=\"`sourceUri`\"\u003e`source_uri`\u003c/span\u003e is defined, or if blob type is Append or Page. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"contentType":{"type":"string","description":"The content type of the storage blob. Cannot be defined if \u003cspan pulumi-lang-nodejs=\"`sourceUri`\" pulumi-lang-dotnet=\"`SourceUri`\" pulumi-lang-go=\"`sourceUri`\" pulumi-lang-python=\"`source_uri`\" pulumi-lang-yaml=\"`sourceUri`\" pulumi-lang-java=\"`sourceUri`\"\u003e`source_uri`\u003c/span\u003e is defined. Defaults to `application/octet-stream`.\n"},"encryptionScope":{"type":"string","description":"The encryption scope to use for this blob.\n","willReplaceOnChanges":true},"metadata":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of custom blob metadata.\n"},"name":{"type":"string","description":"The name of the storage blob. Must be unique within the storage container the blob is located. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"parallelism":{"type":"integer","description":"The number of workers per CPU core to run for concurrent uploads. Defaults to \u003cspan pulumi-lang-nodejs=\"`8`\" pulumi-lang-dotnet=\"`8`\" pulumi-lang-go=\"`8`\" pulumi-lang-python=\"`8`\" pulumi-lang-yaml=\"`8`\" pulumi-lang-java=\"`8`\"\u003e`8`\u003c/span\u003e. Changing this forces a new resource to be created.\n\n\u003e **NOTE:** \u003cspan pulumi-lang-nodejs=\"`parallelism`\" pulumi-lang-dotnet=\"`Parallelism`\" pulumi-lang-go=\"`parallelism`\" pulumi-lang-python=\"`parallelism`\" pulumi-lang-yaml=\"`parallelism`\" pulumi-lang-java=\"`parallelism`\"\u003e`parallelism`\u003c/span\u003e is only applicable for Page blobs - support for [Block Blobs is blocked on the upstream issue](https://github.com/jackofallops/giovanni/issues/15).\n","willReplaceOnChanges":true},"size":{"type":"integer","description":"Used only for \u003cspan pulumi-lang-nodejs=\"`page`\" pulumi-lang-dotnet=\"`Page`\" pulumi-lang-go=\"`page`\" pulumi-lang-python=\"`page`\" pulumi-lang-yaml=\"`page`\" pulumi-lang-java=\"`page`\"\u003e`page`\u003c/span\u003e blobs to specify the size in bytes of the blob to be created. Must be a multiple of 512. Defaults to \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e. Changing this forces a new resource to be created.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`size`\" pulumi-lang-dotnet=\"`Size`\" pulumi-lang-go=\"`size`\" pulumi-lang-python=\"`size`\" pulumi-lang-yaml=\"`size`\" pulumi-lang-java=\"`size`\"\u003e`size`\u003c/span\u003e is required if \u003cspan pulumi-lang-nodejs=\"`sourceUri`\" pulumi-lang-dotnet=\"`SourceUri`\" pulumi-lang-go=\"`sourceUri`\" pulumi-lang-python=\"`source_uri`\" pulumi-lang-yaml=\"`sourceUri`\" pulumi-lang-java=\"`sourceUri`\"\u003e`source_uri`\u003c/span\u003e is not set.\n","willReplaceOnChanges":true},"source":{"$ref":"pulumi.json#/Asset","description":"An absolute path to a file on the local system. This field cannot be specified for Append blobs and cannot be specified if \u003cspan pulumi-lang-nodejs=\"`sourceContent`\" pulumi-lang-dotnet=\"`SourceContent`\" pulumi-lang-go=\"`sourceContent`\" pulumi-lang-python=\"`source_content`\" pulumi-lang-yaml=\"`sourceContent`\" pulumi-lang-java=\"`sourceContent`\"\u003e`source_content`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`sourceUri`\" pulumi-lang-dotnet=\"`SourceUri`\" pulumi-lang-go=\"`sourceUri`\" pulumi-lang-python=\"`source_uri`\" pulumi-lang-yaml=\"`sourceUri`\" pulumi-lang-java=\"`sourceUri`\"\u003e`source_uri`\u003c/span\u003e is specified. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sourceContent":{"type":"string","description":"The content for this blob which should be defined inline. This field can only be specified for Block blobs and cannot be specified if \u003cspan pulumi-lang-nodejs=\"`source`\" pulumi-lang-dotnet=\"`Source`\" pulumi-lang-go=\"`source`\" pulumi-lang-python=\"`source`\" pulumi-lang-yaml=\"`source`\" pulumi-lang-java=\"`source`\"\u003e`source`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`sourceUri`\" pulumi-lang-dotnet=\"`SourceUri`\" pulumi-lang-go=\"`sourceUri`\" pulumi-lang-python=\"`source_uri`\" pulumi-lang-yaml=\"`sourceUri`\" pulumi-lang-java=\"`sourceUri`\"\u003e`source_uri`\u003c/span\u003e is specified. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sourceUri":{"type":"string","description":"The URI of an existing blob, or a file in the Azure File service, to use as the source contents for the blob to be created. Changing this forces a new resource to be created. This field cannot be specified for Append blobs and cannot be specified if \u003cspan pulumi-lang-nodejs=\"`source`\" pulumi-lang-dotnet=\"`Source`\" pulumi-lang-go=\"`source`\" pulumi-lang-python=\"`source`\" pulumi-lang-yaml=\"`source`\" pulumi-lang-java=\"`source`\"\u003e`source`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`sourceContent`\" pulumi-lang-dotnet=\"`SourceContent`\" pulumi-lang-go=\"`sourceContent`\" pulumi-lang-python=\"`source_content`\" pulumi-lang-yaml=\"`sourceContent`\" pulumi-lang-java=\"`sourceContent`\"\u003e`source_content`\u003c/span\u003e is specified.\n","willReplaceOnChanges":true},"storageAccountName":{"type":"string","description":"Specifies the storage account in which to create the storage container. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"storageContainerName":{"type":"string","description":"The name of the storage container in which this blob should be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"type":{"type":"string","description":"The type of the storage blob to be created. Possible values are `Append`, `Block` or `Page`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"url":{"type":"string","description":"The URL of the blob\n"}},"type":"object"}},"azure:storage/blobInventoryPolicy:BlobInventoryPolicy":{"description":"Manages a Storage Blob Inventory Policy.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleAccount = new azure.storage.Account(\"example\", {\n    name: \"examplestoracc\",\n    resourceGroupName: example.name,\n    location: example.location,\n    accountTier: \"Standard\",\n    accountReplicationType: \"LRS\",\n    blobProperties: {\n        versioningEnabled: true,\n    },\n});\nconst exampleContainer = new azure.storage.Container(\"example\", {\n    name: \"examplecontainer\",\n    storageAccountName: exampleAccount.name,\n    containerAccessType: \"private\",\n});\nconst exampleBlobInventoryPolicy = new azure.storage.BlobInventoryPolicy(\"example\", {\n    storageAccountId: exampleAccount.id,\n    rules: [{\n        name: \"rule1\",\n        storageContainerName: exampleContainer.name,\n        format: \"Csv\",\n        schedule: \"Daily\",\n        scope: \"Container\",\n        schemaFields: [\n            \"Name\",\n            \"Last-Modified\",\n        ],\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_account = azure.storage.Account(\"example\",\n    name=\"examplestoracc\",\n    resource_group_name=example.name,\n    location=example.location,\n    account_tier=\"Standard\",\n    account_replication_type=\"LRS\",\n    blob_properties={\n        \"versioning_enabled\": True,\n    })\nexample_container = azure.storage.Container(\"example\",\n    name=\"examplecontainer\",\n    storage_account_name=example_account.name,\n    container_access_type=\"private\")\nexample_blob_inventory_policy = azure.storage.BlobInventoryPolicy(\"example\",\n    storage_account_id=example_account.id,\n    rules=[{\n        \"name\": \"rule1\",\n        \"storage_container_name\": example_container.name,\n        \"format\": \"Csv\",\n        \"schedule\": \"Daily\",\n        \"scope\": \"Container\",\n        \"schema_fields\": [\n            \"Name\",\n            \"Last-Modified\",\n        ],\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleAccount = new Azure.Storage.Account(\"example\", new()\n    {\n        Name = \"examplestoracc\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        AccountTier = \"Standard\",\n        AccountReplicationType = \"LRS\",\n        BlobProperties = new Azure.Storage.Inputs.AccountBlobPropertiesArgs\n        {\n            VersioningEnabled = true,\n        },\n    });\n\n    var exampleContainer = new Azure.Storage.Container(\"example\", new()\n    {\n        Name = \"examplecontainer\",\n        StorageAccountName = exampleAccount.Name,\n        ContainerAccessType = \"private\",\n    });\n\n    var exampleBlobInventoryPolicy = new Azure.Storage.BlobInventoryPolicy(\"example\", new()\n    {\n        StorageAccountId = exampleAccount.Id,\n        Rules = new[]\n        {\n            new Azure.Storage.Inputs.BlobInventoryPolicyRuleArgs\n            {\n                Name = \"rule1\",\n                StorageContainerName = exampleContainer.Name,\n                Format = \"Csv\",\n                Schedule = \"Daily\",\n                Scope = \"Container\",\n                SchemaFields = new[]\n                {\n                    \"Name\",\n                    \"Last-Modified\",\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := storage.NewAccount(ctx, \"example\", \u0026storage.AccountArgs{\n\t\t\tName:                   pulumi.String(\"examplestoracc\"),\n\t\t\tResourceGroupName:      example.Name,\n\t\t\tLocation:               example.Location,\n\t\t\tAccountTier:            pulumi.String(\"Standard\"),\n\t\t\tAccountReplicationType: pulumi.String(\"LRS\"),\n\t\t\tBlobProperties: \u0026storage.AccountBlobPropertiesArgs{\n\t\t\t\tVersioningEnabled: pulumi.Bool(true),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleContainer, err := storage.NewContainer(ctx, \"example\", \u0026storage.ContainerArgs{\n\t\t\tName:                pulumi.String(\"examplecontainer\"),\n\t\t\tStorageAccountName:  exampleAccount.Name,\n\t\t\tContainerAccessType: pulumi.String(\"private\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = storage.NewBlobInventoryPolicy(ctx, \"example\", \u0026storage.BlobInventoryPolicyArgs{\n\t\t\tStorageAccountId: exampleAccount.ID(),\n\t\t\tRules: storage.BlobInventoryPolicyRuleArray{\n\t\t\t\t\u0026storage.BlobInventoryPolicyRuleArgs{\n\t\t\t\t\tName:                 pulumi.String(\"rule1\"),\n\t\t\t\t\tStorageContainerName: exampleContainer.Name,\n\t\t\t\t\tFormat:               pulumi.String(\"Csv\"),\n\t\t\t\t\tSchedule:             pulumi.String(\"Daily\"),\n\t\t\t\t\tScope:                pulumi.String(\"Container\"),\n\t\t\t\t\tSchemaFields: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"Name\"),\n\t\t\t\t\t\tpulumi.String(\"Last-Modified\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.storage.Account;\nimport com.pulumi.azure.storage.AccountArgs;\nimport com.pulumi.azure.storage.inputs.AccountBlobPropertiesArgs;\nimport com.pulumi.azure.storage.Container;\nimport com.pulumi.azure.storage.ContainerArgs;\nimport com.pulumi.azure.storage.BlobInventoryPolicy;\nimport com.pulumi.azure.storage.BlobInventoryPolicyArgs;\nimport com.pulumi.azure.storage.inputs.BlobInventoryPolicyRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"examplestoracc\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .accountTier(\"Standard\")\n            .accountReplicationType(\"LRS\")\n            .blobProperties(AccountBlobPropertiesArgs.builder()\n                .versioningEnabled(true)\n                .build())\n            .build());\n\n        var exampleContainer = new Container(\"exampleContainer\", ContainerArgs.builder()\n            .name(\"examplecontainer\")\n            .storageAccountName(exampleAccount.name())\n            .containerAccessType(\"private\")\n            .build());\n\n        var exampleBlobInventoryPolicy = new BlobInventoryPolicy(\"exampleBlobInventoryPolicy\", BlobInventoryPolicyArgs.builder()\n            .storageAccountId(exampleAccount.id())\n            .rules(BlobInventoryPolicyRuleArgs.builder()\n                .name(\"rule1\")\n                .storageContainerName(exampleContainer.name())\n                .format(\"Csv\")\n                .schedule(\"Daily\")\n                .scope(\"Container\")\n                .schemaFields(                \n                    \"Name\",\n                    \"Last-Modified\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleAccount:\n    type: azure:storage:Account\n    name: example\n    properties:\n      name: examplestoracc\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      accountTier: Standard\n      accountReplicationType: LRS\n      blobProperties:\n        versioningEnabled: true\n  exampleContainer:\n    type: azure:storage:Container\n    name: example\n    properties:\n      name: examplecontainer\n      storageAccountName: ${exampleAccount.name}\n      containerAccessType: private\n  exampleBlobInventoryPolicy:\n    type: azure:storage:BlobInventoryPolicy\n    name: example\n    properties:\n      storageAccountId: ${exampleAccount.id}\n      rules:\n        - name: rule1\n          storageContainerName: ${exampleContainer.name}\n          format: Csv\n          schedule: Daily\n          scope: Container\n          schemaFields:\n            - Name\n            - Last-Modified\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Storage` - 2023-05-01\n\n## Import\n\nStorage Blob Inventory Policies can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:storage/blobInventoryPolicy:BlobInventoryPolicy example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Storage/storageAccounts/storageAccount1\n```\n\n","properties":{"rules":{"type":"array","items":{"$ref":"#/types/azure:storage/BlobInventoryPolicyRule:BlobInventoryPolicyRule"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`rules`\" pulumi-lang-dotnet=\"`Rules`\" pulumi-lang-go=\"`rules`\" pulumi-lang-python=\"`rules`\" pulumi-lang-yaml=\"`rules`\" pulumi-lang-java=\"`rules`\"\u003e`rules`\u003c/span\u003e blocks as defined below.\n"},"storageAccountId":{"type":"string","description":"The ID of the storage account to apply this Blob Inventory Policy to. Changing this forces a new Storage Blob Inventory Policy to be created.\n"}},"required":["rules","storageAccountId"],"inputProperties":{"rules":{"type":"array","items":{"$ref":"#/types/azure:storage/BlobInventoryPolicyRule:BlobInventoryPolicyRule"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`rules`\" pulumi-lang-dotnet=\"`Rules`\" pulumi-lang-go=\"`rules`\" pulumi-lang-python=\"`rules`\" pulumi-lang-yaml=\"`rules`\" pulumi-lang-java=\"`rules`\"\u003e`rules`\u003c/span\u003e blocks as defined below.\n"},"storageAccountId":{"type":"string","description":"The ID of the storage account to apply this Blob Inventory Policy to. Changing this forces a new Storage Blob Inventory Policy to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["rules","storageAccountId"],"stateInputs":{"description":"Input properties used for looking up and filtering BlobInventoryPolicy resources.\n","properties":{"rules":{"type":"array","items":{"$ref":"#/types/azure:storage/BlobInventoryPolicyRule:BlobInventoryPolicyRule"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`rules`\" pulumi-lang-dotnet=\"`Rules`\" pulumi-lang-go=\"`rules`\" pulumi-lang-python=\"`rules`\" pulumi-lang-yaml=\"`rules`\" pulumi-lang-java=\"`rules`\"\u003e`rules`\u003c/span\u003e blocks as defined below.\n"},"storageAccountId":{"type":"string","description":"The ID of the storage account to apply this Blob Inventory Policy to. Changing this forces a new Storage Blob Inventory Policy to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:storage/container:Container":{"description":"Manages a Container within an Azure Storage Account.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleAccount = new azure.storage.Account(\"example\", {\n    name: \"examplestoraccount\",\n    resourceGroupName: example.name,\n    location: example.location,\n    accountTier: \"Standard\",\n    accountReplicationType: \"LRS\",\n    tags: {\n        environment: \"staging\",\n    },\n});\nconst exampleContainer = new azure.storage.Container(\"example\", {\n    name: \"vhds\",\n    storageAccountId: exampleAccount.id,\n    containerAccessType: \"private\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_account = azure.storage.Account(\"example\",\n    name=\"examplestoraccount\",\n    resource_group_name=example.name,\n    location=example.location,\n    account_tier=\"Standard\",\n    account_replication_type=\"LRS\",\n    tags={\n        \"environment\": \"staging\",\n    })\nexample_container = azure.storage.Container(\"example\",\n    name=\"vhds\",\n    storage_account_id=example_account.id,\n    container_access_type=\"private\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleAccount = new Azure.Storage.Account(\"example\", new()\n    {\n        Name = \"examplestoraccount\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        AccountTier = \"Standard\",\n        AccountReplicationType = \"LRS\",\n        Tags = \n        {\n            { \"environment\", \"staging\" },\n        },\n    });\n\n    var exampleContainer = new Azure.Storage.Container(\"example\", new()\n    {\n        Name = \"vhds\",\n        StorageAccountId = exampleAccount.Id,\n        ContainerAccessType = \"private\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := storage.NewAccount(ctx, \"example\", \u0026storage.AccountArgs{\n\t\t\tName:                   pulumi.String(\"examplestoraccount\"),\n\t\t\tResourceGroupName:      example.Name,\n\t\t\tLocation:               example.Location,\n\t\t\tAccountTier:            pulumi.String(\"Standard\"),\n\t\t\tAccountReplicationType: pulumi.String(\"LRS\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"environment\": pulumi.String(\"staging\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = storage.NewContainer(ctx, \"example\", \u0026storage.ContainerArgs{\n\t\t\tName:                pulumi.String(\"vhds\"),\n\t\t\tStorageAccountId:    exampleAccount.ID(),\n\t\t\tContainerAccessType: pulumi.String(\"private\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.storage.Account;\nimport com.pulumi.azure.storage.AccountArgs;\nimport com.pulumi.azure.storage.Container;\nimport com.pulumi.azure.storage.ContainerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"examplestoraccount\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .accountTier(\"Standard\")\n            .accountReplicationType(\"LRS\")\n            .tags(Map.of(\"environment\", \"staging\"))\n            .build());\n\n        var exampleContainer = new Container(\"exampleContainer\", ContainerArgs.builder()\n            .name(\"vhds\")\n            .storageAccountId(exampleAccount.id())\n            .containerAccessType(\"private\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleAccount:\n    type: azure:storage:Account\n    name: example\n    properties:\n      name: examplestoraccount\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      accountTier: Standard\n      accountReplicationType: LRS\n      tags:\n        environment: staging\n  exampleContainer:\n    type: azure:storage:Container\n    name: example\n    properties:\n      name: vhds\n      storageAccountId: ${exampleAccount.id}\n      containerAccessType: private\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Storage` - 2023-05-01\n\n## Import\n\nStorage Containers can be imported using the `resource manager id`, e.g.\n\n```sh\n$ pulumi import azure:storage/container:Container container1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myresourcegroup/providers/Microsoft.Storage/storageAccounts/myaccount/blobServices/default/containers/mycontainer\n```\n\n","properties":{"containerAccessType":{"type":"string","description":"The Access Level configured for this Container. Possible values are \u003cspan pulumi-lang-nodejs=\"`blob`\" pulumi-lang-dotnet=\"`Blob`\" pulumi-lang-go=\"`blob`\" pulumi-lang-python=\"`blob`\" pulumi-lang-yaml=\"`blob`\" pulumi-lang-java=\"`blob`\"\u003e`blob`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`container`\" pulumi-lang-dotnet=\"`Container`\" pulumi-lang-go=\"`container`\" pulumi-lang-python=\"`container`\" pulumi-lang-yaml=\"`container`\" pulumi-lang-java=\"`container`\"\u003e`container`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`private`\" pulumi-lang-dotnet=\"`Private`\" pulumi-lang-go=\"`private`\" pulumi-lang-python=\"`private`\" pulumi-lang-yaml=\"`private`\" pulumi-lang-java=\"`private`\"\u003e`private`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`private`\" pulumi-lang-dotnet=\"`Private`\" pulumi-lang-go=\"`private`\" pulumi-lang-python=\"`private`\" pulumi-lang-yaml=\"`private`\" pulumi-lang-java=\"`private`\"\u003e`private`\u003c/span\u003e.\n\n\u003e **Note:** When updating \u003cspan pulumi-lang-nodejs=\"`containerAccessType`\" pulumi-lang-dotnet=\"`ContainerAccessType`\" pulumi-lang-go=\"`containerAccessType`\" pulumi-lang-python=\"`container_access_type`\" pulumi-lang-yaml=\"`containerAccessType`\" pulumi-lang-java=\"`containerAccessType`\"\u003e`container_access_type`\u003c/span\u003e for an existing storage container resource, Shared Key authentication will always be used, as AzureAD authentication is not supported.\n"},"defaultEncryptionScope":{"type":"string","description":"The default encryption scope to use for blobs uploaded to this container. Changing this forces a new resource to be created.\n"},"encryptionScopeOverrideEnabled":{"type":"boolean","description":"Whether to allow blobs to override the default encryption scope for this container. Can only be set when specifying \u003cspan pulumi-lang-nodejs=\"`defaultEncryptionScope`\" pulumi-lang-dotnet=\"`DefaultEncryptionScope`\" pulumi-lang-go=\"`defaultEncryptionScope`\" pulumi-lang-python=\"`default_encryption_scope`\" pulumi-lang-yaml=\"`defaultEncryptionScope`\" pulumi-lang-java=\"`defaultEncryptionScope`\"\u003e`default_encryption_scope`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e. Changing this forces a new resource to be created.\n"},"hasImmutabilityPolicy":{"type":"boolean","description":"Is there an Immutability Policy configured on this Storage Container?\n"},"hasLegalHold":{"type":"boolean","description":"Is there a Legal Hold configured on this Storage Container?\n"},"metadata":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of MetaData for this Container. All metadata keys should be lowercase.\n"},"name":{"type":"string","description":"The name of the Container which should be created within the Storage Account. Changing this forces a new resource to be created.\n"},"resourceManagerId":{"type":"string","description":"The Resource Manager ID of this Storage Container.\n","deprecationMessage":"this property has been deprecated in favour of \u003cspan pulumi-lang-nodejs=\"`id`\" pulumi-lang-dotnet=\"`Id`\" pulumi-lang-go=\"`id`\" pulumi-lang-python=\"`id`\" pulumi-lang-yaml=\"`id`\" pulumi-lang-java=\"`id`\"\u003e`id`\u003c/span\u003e and will be removed in version 5.0 of the Provider."},"storageAccountId":{"type":"string","description":"The name of the Storage Account where the Container should be created.\n\n\u003e **Note:** One of \u003cspan pulumi-lang-nodejs=\"`storageAccountName`\" pulumi-lang-dotnet=\"`StorageAccountName`\" pulumi-lang-go=\"`storageAccountName`\" pulumi-lang-python=\"`storage_account_name`\" pulumi-lang-yaml=\"`storageAccountName`\" pulumi-lang-java=\"`storageAccountName`\"\u003e`storage_account_name`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`storageAccountId`\" pulumi-lang-dotnet=\"`StorageAccountId`\" pulumi-lang-go=\"`storageAccountId`\" pulumi-lang-python=\"`storage_account_id`\" pulumi-lang-yaml=\"`storageAccountId`\" pulumi-lang-java=\"`storageAccountId`\"\u003e`storage_account_id`\u003c/span\u003e must be specified. When specifying \u003cspan pulumi-lang-nodejs=\"`storageAccountId`\" pulumi-lang-dotnet=\"`StorageAccountId`\" pulumi-lang-go=\"`storageAccountId`\" pulumi-lang-python=\"`storage_account_id`\" pulumi-lang-yaml=\"`storageAccountId`\" pulumi-lang-java=\"`storageAccountId`\"\u003e`storage_account_id`\u003c/span\u003e the resource will use the Resource Manager API, rather than the Data Plane API.\n"},"storageAccountName":{"type":"string","description":"The name of the Storage Account where the Container should be created. This property is deprecated in favour of \u003cspan pulumi-lang-nodejs=\"`storageAccountId`\" pulumi-lang-dotnet=\"`StorageAccountId`\" pulumi-lang-go=\"`storageAccountId`\" pulumi-lang-python=\"`storage_account_id`\" pulumi-lang-yaml=\"`storageAccountId`\" pulumi-lang-java=\"`storageAccountId`\"\u003e`storage_account_id`\u003c/span\u003e.\n\n\u003e **Note:** Migrating from the deprecated \u003cspan pulumi-lang-nodejs=\"`storageAccountName`\" pulumi-lang-dotnet=\"`StorageAccountName`\" pulumi-lang-go=\"`storageAccountName`\" pulumi-lang-python=\"`storage_account_name`\" pulumi-lang-yaml=\"`storageAccountName`\" pulumi-lang-java=\"`storageAccountName`\"\u003e`storage_account_name`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`storageAccountId`\" pulumi-lang-dotnet=\"`StorageAccountId`\" pulumi-lang-go=\"`storageAccountId`\" pulumi-lang-python=\"`storage_account_id`\" pulumi-lang-yaml=\"`storageAccountId`\" pulumi-lang-java=\"`storageAccountId`\"\u003e`storage_account_id`\u003c/span\u003e is supported without recreation. Any other change to either property will result in the resource being recreated.\n","deprecationMessage":"the \u003cspan pulumi-lang-nodejs=\"`storageAccountName`\" pulumi-lang-dotnet=\"`StorageAccountName`\" pulumi-lang-go=\"`storageAccountName`\" pulumi-lang-python=\"`storage_account_name`\" pulumi-lang-yaml=\"`storageAccountName`\" pulumi-lang-java=\"`storageAccountName`\"\u003e`storage_account_name`\u003c/span\u003e property has been deprecated in favour of \u003cspan pulumi-lang-nodejs=\"`storageAccountId`\" pulumi-lang-dotnet=\"`StorageAccountId`\" pulumi-lang-go=\"`storageAccountId`\" pulumi-lang-python=\"`storage_account_id`\" pulumi-lang-yaml=\"`storageAccountId`\" pulumi-lang-java=\"`storageAccountId`\"\u003e`storage_account_id`\u003c/span\u003e and will be removed in version 5.0 of the Provider."}},"required":["defaultEncryptionScope","hasImmutabilityPolicy","hasLegalHold","metadata","name","resourceManagerId"],"inputProperties":{"containerAccessType":{"type":"string","description":"The Access Level configured for this Container. Possible values are \u003cspan pulumi-lang-nodejs=\"`blob`\" pulumi-lang-dotnet=\"`Blob`\" pulumi-lang-go=\"`blob`\" pulumi-lang-python=\"`blob`\" pulumi-lang-yaml=\"`blob`\" pulumi-lang-java=\"`blob`\"\u003e`blob`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`container`\" pulumi-lang-dotnet=\"`Container`\" pulumi-lang-go=\"`container`\" pulumi-lang-python=\"`container`\" pulumi-lang-yaml=\"`container`\" pulumi-lang-java=\"`container`\"\u003e`container`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`private`\" pulumi-lang-dotnet=\"`Private`\" pulumi-lang-go=\"`private`\" pulumi-lang-python=\"`private`\" pulumi-lang-yaml=\"`private`\" pulumi-lang-java=\"`private`\"\u003e`private`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`private`\" pulumi-lang-dotnet=\"`Private`\" pulumi-lang-go=\"`private`\" pulumi-lang-python=\"`private`\" pulumi-lang-yaml=\"`private`\" pulumi-lang-java=\"`private`\"\u003e`private`\u003c/span\u003e.\n\n\u003e **Note:** When updating \u003cspan pulumi-lang-nodejs=\"`containerAccessType`\" pulumi-lang-dotnet=\"`ContainerAccessType`\" pulumi-lang-go=\"`containerAccessType`\" pulumi-lang-python=\"`container_access_type`\" pulumi-lang-yaml=\"`containerAccessType`\" pulumi-lang-java=\"`containerAccessType`\"\u003e`container_access_type`\u003c/span\u003e for an existing storage container resource, Shared Key authentication will always be used, as AzureAD authentication is not supported.\n"},"defaultEncryptionScope":{"type":"string","description":"The default encryption scope to use for blobs uploaded to this container. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"encryptionScopeOverrideEnabled":{"type":"boolean","description":"Whether to allow blobs to override the default encryption scope for this container. Can only be set when specifying \u003cspan pulumi-lang-nodejs=\"`defaultEncryptionScope`\" pulumi-lang-dotnet=\"`DefaultEncryptionScope`\" pulumi-lang-go=\"`defaultEncryptionScope`\" pulumi-lang-python=\"`default_encryption_scope`\" pulumi-lang-yaml=\"`defaultEncryptionScope`\" pulumi-lang-java=\"`defaultEncryptionScope`\"\u003e`default_encryption_scope`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"metadata":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of MetaData for this Container. All metadata keys should be lowercase.\n"},"name":{"type":"string","description":"The name of the Container which should be created within the Storage Account. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"storageAccountId":{"type":"string","description":"The name of the Storage Account where the Container should be created.\n\n\u003e **Note:** One of \u003cspan pulumi-lang-nodejs=\"`storageAccountName`\" pulumi-lang-dotnet=\"`StorageAccountName`\" pulumi-lang-go=\"`storageAccountName`\" pulumi-lang-python=\"`storage_account_name`\" pulumi-lang-yaml=\"`storageAccountName`\" pulumi-lang-java=\"`storageAccountName`\"\u003e`storage_account_name`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`storageAccountId`\" pulumi-lang-dotnet=\"`StorageAccountId`\" pulumi-lang-go=\"`storageAccountId`\" pulumi-lang-python=\"`storage_account_id`\" pulumi-lang-yaml=\"`storageAccountId`\" pulumi-lang-java=\"`storageAccountId`\"\u003e`storage_account_id`\u003c/span\u003e must be specified. When specifying \u003cspan pulumi-lang-nodejs=\"`storageAccountId`\" pulumi-lang-dotnet=\"`StorageAccountId`\" pulumi-lang-go=\"`storageAccountId`\" pulumi-lang-python=\"`storage_account_id`\" pulumi-lang-yaml=\"`storageAccountId`\" pulumi-lang-java=\"`storageAccountId`\"\u003e`storage_account_id`\u003c/span\u003e the resource will use the Resource Manager API, rather than the Data Plane API.\n"},"storageAccountName":{"type":"string","description":"The name of the Storage Account where the Container should be created. This property is deprecated in favour of \u003cspan pulumi-lang-nodejs=\"`storageAccountId`\" pulumi-lang-dotnet=\"`StorageAccountId`\" pulumi-lang-go=\"`storageAccountId`\" pulumi-lang-python=\"`storage_account_id`\" pulumi-lang-yaml=\"`storageAccountId`\" pulumi-lang-java=\"`storageAccountId`\"\u003e`storage_account_id`\u003c/span\u003e.\n\n\u003e **Note:** Migrating from the deprecated \u003cspan pulumi-lang-nodejs=\"`storageAccountName`\" pulumi-lang-dotnet=\"`StorageAccountName`\" pulumi-lang-go=\"`storageAccountName`\" pulumi-lang-python=\"`storage_account_name`\" pulumi-lang-yaml=\"`storageAccountName`\" pulumi-lang-java=\"`storageAccountName`\"\u003e`storage_account_name`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`storageAccountId`\" pulumi-lang-dotnet=\"`StorageAccountId`\" pulumi-lang-go=\"`storageAccountId`\" pulumi-lang-python=\"`storage_account_id`\" pulumi-lang-yaml=\"`storageAccountId`\" pulumi-lang-java=\"`storageAccountId`\"\u003e`storage_account_id`\u003c/span\u003e is supported without recreation. Any other change to either property will result in the resource being recreated.\n","deprecationMessage":"the \u003cspan pulumi-lang-nodejs=\"`storageAccountName`\" pulumi-lang-dotnet=\"`StorageAccountName`\" pulumi-lang-go=\"`storageAccountName`\" pulumi-lang-python=\"`storage_account_name`\" pulumi-lang-yaml=\"`storageAccountName`\" pulumi-lang-java=\"`storageAccountName`\"\u003e`storage_account_name`\u003c/span\u003e property has been deprecated in favour of \u003cspan pulumi-lang-nodejs=\"`storageAccountId`\" pulumi-lang-dotnet=\"`StorageAccountId`\" pulumi-lang-go=\"`storageAccountId`\" pulumi-lang-python=\"`storage_account_id`\" pulumi-lang-yaml=\"`storageAccountId`\" pulumi-lang-java=\"`storageAccountId`\"\u003e`storage_account_id`\u003c/span\u003e and will be removed in version 5.0 of the Provider."}},"stateInputs":{"description":"Input properties used for looking up and filtering Container resources.\n","properties":{"containerAccessType":{"type":"string","description":"The Access Level configured for this Container. Possible values are \u003cspan pulumi-lang-nodejs=\"`blob`\" pulumi-lang-dotnet=\"`Blob`\" pulumi-lang-go=\"`blob`\" pulumi-lang-python=\"`blob`\" pulumi-lang-yaml=\"`blob`\" pulumi-lang-java=\"`blob`\"\u003e`blob`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`container`\" pulumi-lang-dotnet=\"`Container`\" pulumi-lang-go=\"`container`\" pulumi-lang-python=\"`container`\" pulumi-lang-yaml=\"`container`\" pulumi-lang-java=\"`container`\"\u003e`container`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`private`\" pulumi-lang-dotnet=\"`Private`\" pulumi-lang-go=\"`private`\" pulumi-lang-python=\"`private`\" pulumi-lang-yaml=\"`private`\" pulumi-lang-java=\"`private`\"\u003e`private`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`private`\" pulumi-lang-dotnet=\"`Private`\" pulumi-lang-go=\"`private`\" pulumi-lang-python=\"`private`\" pulumi-lang-yaml=\"`private`\" pulumi-lang-java=\"`private`\"\u003e`private`\u003c/span\u003e.\n\n\u003e **Note:** When updating \u003cspan pulumi-lang-nodejs=\"`containerAccessType`\" pulumi-lang-dotnet=\"`ContainerAccessType`\" pulumi-lang-go=\"`containerAccessType`\" pulumi-lang-python=\"`container_access_type`\" pulumi-lang-yaml=\"`containerAccessType`\" pulumi-lang-java=\"`containerAccessType`\"\u003e`container_access_type`\u003c/span\u003e for an existing storage container resource, Shared Key authentication will always be used, as AzureAD authentication is not supported.\n"},"defaultEncryptionScope":{"type":"string","description":"The default encryption scope to use for blobs uploaded to this container. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"encryptionScopeOverrideEnabled":{"type":"boolean","description":"Whether to allow blobs to override the default encryption scope for this container. Can only be set when specifying \u003cspan pulumi-lang-nodejs=\"`defaultEncryptionScope`\" pulumi-lang-dotnet=\"`DefaultEncryptionScope`\" pulumi-lang-go=\"`defaultEncryptionScope`\" pulumi-lang-python=\"`default_encryption_scope`\" pulumi-lang-yaml=\"`defaultEncryptionScope`\" pulumi-lang-java=\"`defaultEncryptionScope`\"\u003e`default_encryption_scope`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"hasImmutabilityPolicy":{"type":"boolean","description":"Is there an Immutability Policy configured on this Storage Container?\n"},"hasLegalHold":{"type":"boolean","description":"Is there a Legal Hold configured on this Storage Container?\n"},"metadata":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of MetaData for this Container. All metadata keys should be lowercase.\n"},"name":{"type":"string","description":"The name of the Container which should be created within the Storage Account. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceManagerId":{"type":"string","description":"The Resource Manager ID of this Storage Container.\n","deprecationMessage":"this property has been deprecated in favour of \u003cspan pulumi-lang-nodejs=\"`id`\" pulumi-lang-dotnet=\"`Id`\" pulumi-lang-go=\"`id`\" pulumi-lang-python=\"`id`\" pulumi-lang-yaml=\"`id`\" pulumi-lang-java=\"`id`\"\u003e`id`\u003c/span\u003e and will be removed in version 5.0 of the Provider."},"storageAccountId":{"type":"string","description":"The name of the Storage Account where the Container should be created.\n\n\u003e **Note:** One of \u003cspan pulumi-lang-nodejs=\"`storageAccountName`\" pulumi-lang-dotnet=\"`StorageAccountName`\" pulumi-lang-go=\"`storageAccountName`\" pulumi-lang-python=\"`storage_account_name`\" pulumi-lang-yaml=\"`storageAccountName`\" pulumi-lang-java=\"`storageAccountName`\"\u003e`storage_account_name`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`storageAccountId`\" pulumi-lang-dotnet=\"`StorageAccountId`\" pulumi-lang-go=\"`storageAccountId`\" pulumi-lang-python=\"`storage_account_id`\" pulumi-lang-yaml=\"`storageAccountId`\" pulumi-lang-java=\"`storageAccountId`\"\u003e`storage_account_id`\u003c/span\u003e must be specified. When specifying \u003cspan pulumi-lang-nodejs=\"`storageAccountId`\" pulumi-lang-dotnet=\"`StorageAccountId`\" pulumi-lang-go=\"`storageAccountId`\" pulumi-lang-python=\"`storage_account_id`\" pulumi-lang-yaml=\"`storageAccountId`\" pulumi-lang-java=\"`storageAccountId`\"\u003e`storage_account_id`\u003c/span\u003e the resource will use the Resource Manager API, rather than the Data Plane API.\n"},"storageAccountName":{"type":"string","description":"The name of the Storage Account where the Container should be created. This property is deprecated in favour of \u003cspan pulumi-lang-nodejs=\"`storageAccountId`\" pulumi-lang-dotnet=\"`StorageAccountId`\" pulumi-lang-go=\"`storageAccountId`\" pulumi-lang-python=\"`storage_account_id`\" pulumi-lang-yaml=\"`storageAccountId`\" pulumi-lang-java=\"`storageAccountId`\"\u003e`storage_account_id`\u003c/span\u003e.\n\n\u003e **Note:** Migrating from the deprecated \u003cspan pulumi-lang-nodejs=\"`storageAccountName`\" pulumi-lang-dotnet=\"`StorageAccountName`\" pulumi-lang-go=\"`storageAccountName`\" pulumi-lang-python=\"`storage_account_name`\" pulumi-lang-yaml=\"`storageAccountName`\" pulumi-lang-java=\"`storageAccountName`\"\u003e`storage_account_name`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`storageAccountId`\" pulumi-lang-dotnet=\"`StorageAccountId`\" pulumi-lang-go=\"`storageAccountId`\" pulumi-lang-python=\"`storage_account_id`\" pulumi-lang-yaml=\"`storageAccountId`\" pulumi-lang-java=\"`storageAccountId`\"\u003e`storage_account_id`\u003c/span\u003e is supported without recreation. Any other change to either property will result in the resource being recreated.\n","deprecationMessage":"the \u003cspan pulumi-lang-nodejs=\"`storageAccountName`\" pulumi-lang-dotnet=\"`StorageAccountName`\" pulumi-lang-go=\"`storageAccountName`\" pulumi-lang-python=\"`storage_account_name`\" pulumi-lang-yaml=\"`storageAccountName`\" pulumi-lang-java=\"`storageAccountName`\"\u003e`storage_account_name`\u003c/span\u003e property has been deprecated in favour of \u003cspan pulumi-lang-nodejs=\"`storageAccountId`\" pulumi-lang-dotnet=\"`StorageAccountId`\" pulumi-lang-go=\"`storageAccountId`\" pulumi-lang-python=\"`storage_account_id`\" pulumi-lang-yaml=\"`storageAccountId`\" pulumi-lang-java=\"`storageAccountId`\"\u003e`storage_account_id`\u003c/span\u003e and will be removed in version 5.0 of the Provider."}},"type":"object"}},"azure:storage/containerImmutabilityPolicy:ContainerImmutabilityPolicy":{"description":"Manages an Immutability Policy for a Container within an Azure Storage Account.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleAccount = new azure.storage.Account(\"example\", {\n    name: \"examplestoraccount\",\n    resourceGroupName: example.name,\n    location: example.location,\n    accountTier: \"Standard\",\n    accountReplicationType: \"LRS\",\n    tags: {\n        environment: \"staging\",\n    },\n});\nconst exampleContainer = new azure.storage.Container(\"example\", {\n    name: \"example\",\n    storageAccountName: exampleAccount.name,\n    containerAccessType: \"private\",\n});\nconst exampleContainerImmutabilityPolicy = new azure.storage.ContainerImmutabilityPolicy(\"example\", {\n    storageContainerResourceManagerId: exampleContainer.id,\n    immutabilityPeriodInDays: 14,\n    protectedAppendWritesAllEnabled: false,\n    protectedAppendWritesEnabled: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_account = azure.storage.Account(\"example\",\n    name=\"examplestoraccount\",\n    resource_group_name=example.name,\n    location=example.location,\n    account_tier=\"Standard\",\n    account_replication_type=\"LRS\",\n    tags={\n        \"environment\": \"staging\",\n    })\nexample_container = azure.storage.Container(\"example\",\n    name=\"example\",\n    storage_account_name=example_account.name,\n    container_access_type=\"private\")\nexample_container_immutability_policy = azure.storage.ContainerImmutabilityPolicy(\"example\",\n    storage_container_resource_manager_id=example_container.id,\n    immutability_period_in_days=14,\n    protected_append_writes_all_enabled=False,\n    protected_append_writes_enabled=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleAccount = new Azure.Storage.Account(\"example\", new()\n    {\n        Name = \"examplestoraccount\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        AccountTier = \"Standard\",\n        AccountReplicationType = \"LRS\",\n        Tags = \n        {\n            { \"environment\", \"staging\" },\n        },\n    });\n\n    var exampleContainer = new Azure.Storage.Container(\"example\", new()\n    {\n        Name = \"example\",\n        StorageAccountName = exampleAccount.Name,\n        ContainerAccessType = \"private\",\n    });\n\n    var exampleContainerImmutabilityPolicy = new Azure.Storage.ContainerImmutabilityPolicy(\"example\", new()\n    {\n        StorageContainerResourceManagerId = exampleContainer.Id,\n        ImmutabilityPeriodInDays = 14,\n        ProtectedAppendWritesAllEnabled = false,\n        ProtectedAppendWritesEnabled = true,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := storage.NewAccount(ctx, \"example\", \u0026storage.AccountArgs{\n\t\t\tName:                   pulumi.String(\"examplestoraccount\"),\n\t\t\tResourceGroupName:      example.Name,\n\t\t\tLocation:               example.Location,\n\t\t\tAccountTier:            pulumi.String(\"Standard\"),\n\t\t\tAccountReplicationType: pulumi.String(\"LRS\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"environment\": pulumi.String(\"staging\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleContainer, err := storage.NewContainer(ctx, \"example\", \u0026storage.ContainerArgs{\n\t\t\tName:                pulumi.String(\"example\"),\n\t\t\tStorageAccountName:  exampleAccount.Name,\n\t\t\tContainerAccessType: pulumi.String(\"private\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = storage.NewContainerImmutabilityPolicy(ctx, \"example\", \u0026storage.ContainerImmutabilityPolicyArgs{\n\t\t\tStorageContainerResourceManagerId: exampleContainer.ID(),\n\t\t\tImmutabilityPeriodInDays:          pulumi.Int(14),\n\t\t\tProtectedAppendWritesAllEnabled:   pulumi.Bool(false),\n\t\t\tProtectedAppendWritesEnabled:      pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.storage.Account;\nimport com.pulumi.azure.storage.AccountArgs;\nimport com.pulumi.azure.storage.Container;\nimport com.pulumi.azure.storage.ContainerArgs;\nimport com.pulumi.azure.storage.ContainerImmutabilityPolicy;\nimport com.pulumi.azure.storage.ContainerImmutabilityPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"examplestoraccount\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .accountTier(\"Standard\")\n            .accountReplicationType(\"LRS\")\n            .tags(Map.of(\"environment\", \"staging\"))\n            .build());\n\n        var exampleContainer = new Container(\"exampleContainer\", ContainerArgs.builder()\n            .name(\"example\")\n            .storageAccountName(exampleAccount.name())\n            .containerAccessType(\"private\")\n            .build());\n\n        var exampleContainerImmutabilityPolicy = new ContainerImmutabilityPolicy(\"exampleContainerImmutabilityPolicy\", ContainerImmutabilityPolicyArgs.builder()\n            .storageContainerResourceManagerId(exampleContainer.id())\n            .immutabilityPeriodInDays(14)\n            .protectedAppendWritesAllEnabled(false)\n            .protectedAppendWritesEnabled(true)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleAccount:\n    type: azure:storage:Account\n    name: example\n    properties:\n      name: examplestoraccount\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      accountTier: Standard\n      accountReplicationType: LRS\n      tags:\n        environment: staging\n  exampleContainer:\n    type: azure:storage:Container\n    name: example\n    properties:\n      name: example\n      storageAccountName: ${exampleAccount.name}\n      containerAccessType: private\n  exampleContainerImmutabilityPolicy:\n    type: azure:storage:ContainerImmutabilityPolicy\n    name: example\n    properties:\n      storageContainerResourceManagerId: ${exampleContainer.id}\n      immutabilityPeriodInDays: 14\n      protectedAppendWritesAllEnabled: false\n      protectedAppendWritesEnabled: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Storage` - 2023-05-01\n\n## Import\n\nStorage Container Immutability Policies can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:storage/containerImmutabilityPolicy:ContainerImmutabilityPolicy example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myresourcegroup/providers/Microsoft.Storage/storageAccounts/myaccount/blobServices/default/containers/mycontainer/immutabilityPolicies/default\n```\n\n","properties":{"immutabilityPeriodInDays":{"type":"integer","description":"The time interval in days that the data needs to be kept in a non-erasable and non-modifiable state.\n"},"locked":{"type":"boolean","description":"Whether to lock this immutability policy. Cannot be set to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e once the policy has been locked.\n\n!\u003e **Note:** Once an Immutability Policy has been locked, it cannot be unlocked. After locking, it will only be possible to increase the value for \u003cspan pulumi-lang-nodejs=\"`retentionPeriodInDays`\" pulumi-lang-dotnet=\"`RetentionPeriodInDays`\" pulumi-lang-go=\"`retentionPeriodInDays`\" pulumi-lang-python=\"`retention_period_in_days`\" pulumi-lang-yaml=\"`retentionPeriodInDays`\" pulumi-lang-java=\"`retentionPeriodInDays`\"\u003e`retention_period_in_days`\u003c/span\u003e up to 5 times for the lifetime of the policy. No other properties will be updateable. Furthermore, the Storage Container and the Storage Account in which it resides will become protected by the policy. It will no longer be possible to delete the Storage Container or the Storage Account. Please refer to [official documentation](https://learn.microsoft.com/en-us/azure/storage/blobs/immutable-policy-configure-container-scope?tabs=azure-portal#lock-a-time-based-retention-policy) for more information.\n"},"protectedAppendWritesAllEnabled":{"type":"boolean","description":"Whether to allow protected append writes to block and append blobs to the container. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Cannot be set with \u003cspan pulumi-lang-nodejs=\"`protectedAppendWritesEnabled`\" pulumi-lang-dotnet=\"`ProtectedAppendWritesEnabled`\" pulumi-lang-go=\"`protectedAppendWritesEnabled`\" pulumi-lang-python=\"`protected_append_writes_enabled`\" pulumi-lang-yaml=\"`protectedAppendWritesEnabled`\" pulumi-lang-java=\"`protectedAppendWritesEnabled`\"\u003e`protected_append_writes_enabled`\u003c/span\u003e.\n"},"protectedAppendWritesEnabled":{"type":"boolean","description":"Whether to allow protected append writes to append blobs to the container. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Cannot be set with \u003cspan pulumi-lang-nodejs=\"`protectedAppendWritesAllEnabled`\" pulumi-lang-dotnet=\"`ProtectedAppendWritesAllEnabled`\" pulumi-lang-go=\"`protectedAppendWritesAllEnabled`\" pulumi-lang-python=\"`protected_append_writes_all_enabled`\" pulumi-lang-yaml=\"`protectedAppendWritesAllEnabled`\" pulumi-lang-java=\"`protectedAppendWritesAllEnabled`\"\u003e`protected_append_writes_all_enabled`\u003c/span\u003e.\n"},"storageContainerResourceManagerId":{"type":"string","description":"The Resource Manager ID of the Storage Container where this Immutability Policy should be applied. Changing this forces a new resource to be created.\n"}},"required":["immutabilityPeriodInDays","storageContainerResourceManagerId"],"inputProperties":{"immutabilityPeriodInDays":{"type":"integer","description":"The time interval in days that the data needs to be kept in a non-erasable and non-modifiable state.\n"},"locked":{"type":"boolean","description":"Whether to lock this immutability policy. Cannot be set to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e once the policy has been locked.\n\n!\u003e **Note:** Once an Immutability Policy has been locked, it cannot be unlocked. After locking, it will only be possible to increase the value for \u003cspan pulumi-lang-nodejs=\"`retentionPeriodInDays`\" pulumi-lang-dotnet=\"`RetentionPeriodInDays`\" pulumi-lang-go=\"`retentionPeriodInDays`\" pulumi-lang-python=\"`retention_period_in_days`\" pulumi-lang-yaml=\"`retentionPeriodInDays`\" pulumi-lang-java=\"`retentionPeriodInDays`\"\u003e`retention_period_in_days`\u003c/span\u003e up to 5 times for the lifetime of the policy. No other properties will be updateable. Furthermore, the Storage Container and the Storage Account in which it resides will become protected by the policy. It will no longer be possible to delete the Storage Container or the Storage Account. Please refer to [official documentation](https://learn.microsoft.com/en-us/azure/storage/blobs/immutable-policy-configure-container-scope?tabs=azure-portal#lock-a-time-based-retention-policy) for more information.\n"},"protectedAppendWritesAllEnabled":{"type":"boolean","description":"Whether to allow protected append writes to block and append blobs to the container. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Cannot be set with \u003cspan pulumi-lang-nodejs=\"`protectedAppendWritesEnabled`\" pulumi-lang-dotnet=\"`ProtectedAppendWritesEnabled`\" pulumi-lang-go=\"`protectedAppendWritesEnabled`\" pulumi-lang-python=\"`protected_append_writes_enabled`\" pulumi-lang-yaml=\"`protectedAppendWritesEnabled`\" pulumi-lang-java=\"`protectedAppendWritesEnabled`\"\u003e`protected_append_writes_enabled`\u003c/span\u003e.\n"},"protectedAppendWritesEnabled":{"type":"boolean","description":"Whether to allow protected append writes to append blobs to the container. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Cannot be set with \u003cspan pulumi-lang-nodejs=\"`protectedAppendWritesAllEnabled`\" pulumi-lang-dotnet=\"`ProtectedAppendWritesAllEnabled`\" pulumi-lang-go=\"`protectedAppendWritesAllEnabled`\" pulumi-lang-python=\"`protected_append_writes_all_enabled`\" pulumi-lang-yaml=\"`protectedAppendWritesAllEnabled`\" pulumi-lang-java=\"`protectedAppendWritesAllEnabled`\"\u003e`protected_append_writes_all_enabled`\u003c/span\u003e.\n"},"storageContainerResourceManagerId":{"type":"string","description":"The Resource Manager ID of the Storage Container where this Immutability Policy should be applied. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["immutabilityPeriodInDays","storageContainerResourceManagerId"],"stateInputs":{"description":"Input properties used for looking up and filtering ContainerImmutabilityPolicy resources.\n","properties":{"immutabilityPeriodInDays":{"type":"integer","description":"The time interval in days that the data needs to be kept in a non-erasable and non-modifiable state.\n"},"locked":{"type":"boolean","description":"Whether to lock this immutability policy. Cannot be set to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e once the policy has been locked.\n\n!\u003e **Note:** Once an Immutability Policy has been locked, it cannot be unlocked. After locking, it will only be possible to increase the value for \u003cspan pulumi-lang-nodejs=\"`retentionPeriodInDays`\" pulumi-lang-dotnet=\"`RetentionPeriodInDays`\" pulumi-lang-go=\"`retentionPeriodInDays`\" pulumi-lang-python=\"`retention_period_in_days`\" pulumi-lang-yaml=\"`retentionPeriodInDays`\" pulumi-lang-java=\"`retentionPeriodInDays`\"\u003e`retention_period_in_days`\u003c/span\u003e up to 5 times for the lifetime of the policy. No other properties will be updateable. Furthermore, the Storage Container and the Storage Account in which it resides will become protected by the policy. It will no longer be possible to delete the Storage Container or the Storage Account. Please refer to [official documentation](https://learn.microsoft.com/en-us/azure/storage/blobs/immutable-policy-configure-container-scope?tabs=azure-portal#lock-a-time-based-retention-policy) for more information.\n"},"protectedAppendWritesAllEnabled":{"type":"boolean","description":"Whether to allow protected append writes to block and append blobs to the container. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Cannot be set with \u003cspan pulumi-lang-nodejs=\"`protectedAppendWritesEnabled`\" pulumi-lang-dotnet=\"`ProtectedAppendWritesEnabled`\" pulumi-lang-go=\"`protectedAppendWritesEnabled`\" pulumi-lang-python=\"`protected_append_writes_enabled`\" pulumi-lang-yaml=\"`protectedAppendWritesEnabled`\" pulumi-lang-java=\"`protectedAppendWritesEnabled`\"\u003e`protected_append_writes_enabled`\u003c/span\u003e.\n"},"protectedAppendWritesEnabled":{"type":"boolean","description":"Whether to allow protected append writes to append blobs to the container. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Cannot be set with \u003cspan pulumi-lang-nodejs=\"`protectedAppendWritesAllEnabled`\" pulumi-lang-dotnet=\"`ProtectedAppendWritesAllEnabled`\" pulumi-lang-go=\"`protectedAppendWritesAllEnabled`\" pulumi-lang-python=\"`protected_append_writes_all_enabled`\" pulumi-lang-yaml=\"`protectedAppendWritesAllEnabled`\" pulumi-lang-java=\"`protectedAppendWritesAllEnabled`\"\u003e`protected_append_writes_all_enabled`\u003c/span\u003e.\n"},"storageContainerResourceManagerId":{"type":"string","description":"The Resource Manager ID of the Storage Container where this Immutability Policy should be applied. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:storage/customerManagedKey:CustomerManagedKey":{"description":"Manages a Customer Managed Key for a Storage Account.\n\n\u003e **Note:** It's possible to define a Customer Managed Key both within the \u003cspan pulumi-lang-nodejs=\"`azure.storage.Account`\" pulumi-lang-dotnet=\"`azure.storage.Account`\" pulumi-lang-go=\"`storage.Account`\" pulumi-lang-python=\"`storage.Account`\" pulumi-lang-yaml=\"`azure.storage.Account`\" pulumi-lang-java=\"`azure.storage.Account`\"\u003e`azure.storage.Account`\u003c/span\u003e resource via the \u003cspan pulumi-lang-nodejs=\"`customerManagedKey`\" pulumi-lang-dotnet=\"`CustomerManagedKey`\" pulumi-lang-go=\"`customerManagedKey`\" pulumi-lang-python=\"`customer_managed_key`\" pulumi-lang-yaml=\"`customerManagedKey`\" pulumi-lang-java=\"`customerManagedKey`\"\u003e`customer_managed_key`\u003c/span\u003e block and by using the \u003cspan pulumi-lang-nodejs=\"`azure.storage.CustomerManagedKey`\" pulumi-lang-dotnet=\"`azure.storage.CustomerManagedKey`\" pulumi-lang-go=\"`storage.CustomerManagedKey`\" pulumi-lang-python=\"`storage.CustomerManagedKey`\" pulumi-lang-yaml=\"`azure.storage.CustomerManagedKey`\" pulumi-lang-java=\"`azure.storage.CustomerManagedKey`\"\u003e`azure.storage.CustomerManagedKey`\u003c/span\u003e resource. However it's not possible to use both methods to manage a Customer Managed Key for a Storage Account, since there'll be conflicts.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst current = azure.core.getClientConfig({});\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleKeyVault = new azure.keyvault.KeyVault(\"example\", {\n    name: \"examplekv\",\n    location: example.location,\n    resourceGroupName: example.name,\n    tenantId: current.then(current =\u003e current.tenantId),\n    skuName: \"standard\",\n    purgeProtectionEnabled: true,\n});\nconst exampleAccount = new azure.storage.Account(\"example\", {\n    name: \"examplestor\",\n    resourceGroupName: example.name,\n    location: example.location,\n    accountTier: \"Standard\",\n    accountReplicationType: \"GRS\",\n    identity: {\n        type: \"SystemAssigned\",\n    },\n});\nconst storage = new azure.keyvault.AccessPolicy(\"storage\", {\n    keyVaultId: exampleKeyVault.id,\n    tenantId: current.then(current =\u003e current.tenantId),\n    objectId: exampleAccount.identity.apply(identity =\u003e identity?.principalId),\n    secretPermissions: [\"Get\"],\n    keyPermissions: [\n        \"Get\",\n        \"UnwrapKey\",\n        \"WrapKey\",\n    ],\n});\nconst client = new azure.keyvault.AccessPolicy(\"client\", {\n    keyVaultId: exampleKeyVault.id,\n    tenantId: current.then(current =\u003e current.tenantId),\n    objectId: current.then(current =\u003e current.objectId),\n    secretPermissions: [\"Get\"],\n    keyPermissions: [\n        \"Get\",\n        \"Create\",\n        \"Delete\",\n        \"List\",\n        \"Restore\",\n        \"Recover\",\n        \"UnwrapKey\",\n        \"WrapKey\",\n        \"Purge\",\n        \"Encrypt\",\n        \"Decrypt\",\n        \"Sign\",\n        \"Verify\",\n        \"GetRotationPolicy\",\n        \"SetRotationPolicy\",\n    ],\n});\nconst exampleKey = new azure.keyvault.Key(\"example\", {\n    name: \"tfex-key\",\n    keyVaultId: exampleKeyVault.id,\n    keyType: \"RSA\",\n    keySize: 2048,\n    keyOpts: [\n        \"decrypt\",\n        \"encrypt\",\n        \"sign\",\n        \"unwrapKey\",\n        \"verify\",\n        \"wrapKey\",\n    ],\n}, {\n    dependsOn: [\n        client,\n        storage,\n    ],\n});\nconst exampleCustomerManagedKey = new azure.storage.CustomerManagedKey(\"example\", {\n    storageAccountId: exampleAccount.id,\n    keyVaultKeyId: exampleKey.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\ncurrent = azure.core.get_client_config()\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_key_vault = azure.keyvault.KeyVault(\"example\",\n    name=\"examplekv\",\n    location=example.location,\n    resource_group_name=example.name,\n    tenant_id=current.tenant_id,\n    sku_name=\"standard\",\n    purge_protection_enabled=True)\nexample_account = azure.storage.Account(\"example\",\n    name=\"examplestor\",\n    resource_group_name=example.name,\n    location=example.location,\n    account_tier=\"Standard\",\n    account_replication_type=\"GRS\",\n    identity={\n        \"type\": \"SystemAssigned\",\n    })\nstorage = azure.keyvault.AccessPolicy(\"storage\",\n    key_vault_id=example_key_vault.id,\n    tenant_id=current.tenant_id,\n    object_id=example_account.identity.principal_id,\n    secret_permissions=[\"Get\"],\n    key_permissions=[\n        \"Get\",\n        \"UnwrapKey\",\n        \"WrapKey\",\n    ])\nclient = azure.keyvault.AccessPolicy(\"client\",\n    key_vault_id=example_key_vault.id,\n    tenant_id=current.tenant_id,\n    object_id=current.object_id,\n    secret_permissions=[\"Get\"],\n    key_permissions=[\n        \"Get\",\n        \"Create\",\n        \"Delete\",\n        \"List\",\n        \"Restore\",\n        \"Recover\",\n        \"UnwrapKey\",\n        \"WrapKey\",\n        \"Purge\",\n        \"Encrypt\",\n        \"Decrypt\",\n        \"Sign\",\n        \"Verify\",\n        \"GetRotationPolicy\",\n        \"SetRotationPolicy\",\n    ])\nexample_key = azure.keyvault.Key(\"example\",\n    name=\"tfex-key\",\n    key_vault_id=example_key_vault.id,\n    key_type=\"RSA\",\n    key_size=2048,\n    key_opts=[\n        \"decrypt\",\n        \"encrypt\",\n        \"sign\",\n        \"unwrapKey\",\n        \"verify\",\n        \"wrapKey\",\n    ],\n    opts = pulumi.ResourceOptions(depends_on=[\n            client,\n            storage,\n        ]))\nexample_customer_managed_key = azure.storage.CustomerManagedKey(\"example\",\n    storage_account_id=example_account.id,\n    key_vault_key_id=example_key.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var current = Azure.Core.GetClientConfig.Invoke();\n\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleKeyVault = new Azure.KeyVault.KeyVault(\"example\", new()\n    {\n        Name = \"examplekv\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        TenantId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.TenantId),\n        SkuName = \"standard\",\n        PurgeProtectionEnabled = true,\n    });\n\n    var exampleAccount = new Azure.Storage.Account(\"example\", new()\n    {\n        Name = \"examplestor\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        AccountTier = \"Standard\",\n        AccountReplicationType = \"GRS\",\n        Identity = new Azure.Storage.Inputs.AccountIdentityArgs\n        {\n            Type = \"SystemAssigned\",\n        },\n    });\n\n    var storage = new Azure.KeyVault.AccessPolicy(\"storage\", new()\n    {\n        KeyVaultId = exampleKeyVault.Id,\n        TenantId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.TenantId),\n        ObjectId = exampleAccount.Identity.Apply(identity =\u003e identity?.PrincipalId),\n        SecretPermissions = new[]\n        {\n            \"Get\",\n        },\n        KeyPermissions = new[]\n        {\n            \"Get\",\n            \"UnwrapKey\",\n            \"WrapKey\",\n        },\n    });\n\n    var client = new Azure.KeyVault.AccessPolicy(\"client\", new()\n    {\n        KeyVaultId = exampleKeyVault.Id,\n        TenantId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.TenantId),\n        ObjectId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.ObjectId),\n        SecretPermissions = new[]\n        {\n            \"Get\",\n        },\n        KeyPermissions = new[]\n        {\n            \"Get\",\n            \"Create\",\n            \"Delete\",\n            \"List\",\n            \"Restore\",\n            \"Recover\",\n            \"UnwrapKey\",\n            \"WrapKey\",\n            \"Purge\",\n            \"Encrypt\",\n            \"Decrypt\",\n            \"Sign\",\n            \"Verify\",\n            \"GetRotationPolicy\",\n            \"SetRotationPolicy\",\n        },\n    });\n\n    var exampleKey = new Azure.KeyVault.Key(\"example\", new()\n    {\n        Name = \"tfex-key\",\n        KeyVaultId = exampleKeyVault.Id,\n        KeyType = \"RSA\",\n        KeySize = 2048,\n        KeyOpts = new[]\n        {\n            \"decrypt\",\n            \"encrypt\",\n            \"sign\",\n            \"unwrapKey\",\n            \"verify\",\n            \"wrapKey\",\n        },\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            client,\n            storage,\n        },\n    });\n\n    var exampleCustomerManagedKey = new Azure.Storage.CustomerManagedKey(\"example\", new()\n    {\n        StorageAccountId = exampleAccount.Id,\n        KeyVaultKeyId = exampleKey.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/keyvault\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := core.GetClientConfig(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleKeyVault, err := keyvault.NewKeyVault(ctx, \"example\", \u0026keyvault.KeyVaultArgs{\n\t\t\tName:                   pulumi.String(\"examplekv\"),\n\t\t\tLocation:               example.Location,\n\t\t\tResourceGroupName:      example.Name,\n\t\t\tTenantId:               pulumi.String(current.TenantId),\n\t\t\tSkuName:                pulumi.String(\"standard\"),\n\t\t\tPurgeProtectionEnabled: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := storage.NewAccount(ctx, \"example\", \u0026storage.AccountArgs{\n\t\t\tName:                   pulumi.String(\"examplestor\"),\n\t\t\tResourceGroupName:      example.Name,\n\t\t\tLocation:               example.Location,\n\t\t\tAccountTier:            pulumi.String(\"Standard\"),\n\t\t\tAccountReplicationType: pulumi.String(\"GRS\"),\n\t\t\tIdentity: \u0026storage.AccountIdentityArgs{\n\t\t\t\tType: pulumi.String(\"SystemAssigned\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tstorage, err := keyvault.NewAccessPolicy(ctx, \"storage\", \u0026keyvault.AccessPolicyArgs{\n\t\t\tKeyVaultId: exampleKeyVault.ID(),\n\t\t\tTenantId:   pulumi.String(current.TenantId),\n\t\t\tObjectId: pulumi.String(exampleAccount.Identity.ApplyT(func(identity storage.AccountIdentity) (*string, error) {\n\t\t\t\treturn \u0026identity.PrincipalId, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tSecretPermissions: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"Get\"),\n\t\t\t},\n\t\t\tKeyPermissions: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"Get\"),\n\t\t\t\tpulumi.String(\"UnwrapKey\"),\n\t\t\t\tpulumi.String(\"WrapKey\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tclient, err := keyvault.NewAccessPolicy(ctx, \"client\", \u0026keyvault.AccessPolicyArgs{\n\t\t\tKeyVaultId: exampleKeyVault.ID(),\n\t\t\tTenantId:   pulumi.String(current.TenantId),\n\t\t\tObjectId:   pulumi.String(current.ObjectId),\n\t\t\tSecretPermissions: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"Get\"),\n\t\t\t},\n\t\t\tKeyPermissions: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"Get\"),\n\t\t\t\tpulumi.String(\"Create\"),\n\t\t\t\tpulumi.String(\"Delete\"),\n\t\t\t\tpulumi.String(\"List\"),\n\t\t\t\tpulumi.String(\"Restore\"),\n\t\t\t\tpulumi.String(\"Recover\"),\n\t\t\t\tpulumi.String(\"UnwrapKey\"),\n\t\t\t\tpulumi.String(\"WrapKey\"),\n\t\t\t\tpulumi.String(\"Purge\"),\n\t\t\t\tpulumi.String(\"Encrypt\"),\n\t\t\t\tpulumi.String(\"Decrypt\"),\n\t\t\t\tpulumi.String(\"Sign\"),\n\t\t\t\tpulumi.String(\"Verify\"),\n\t\t\t\tpulumi.String(\"GetRotationPolicy\"),\n\t\t\t\tpulumi.String(\"SetRotationPolicy\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleKey, err := keyvault.NewKey(ctx, \"example\", \u0026keyvault.KeyArgs{\n\t\t\tName:       pulumi.String(\"tfex-key\"),\n\t\t\tKeyVaultId: exampleKeyVault.ID(),\n\t\t\tKeyType:    pulumi.String(\"RSA\"),\n\t\t\tKeySize:    pulumi.Int(2048),\n\t\t\tKeyOpts: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"decrypt\"),\n\t\t\t\tpulumi.String(\"encrypt\"),\n\t\t\t\tpulumi.String(\"sign\"),\n\t\t\t\tpulumi.String(\"unwrapKey\"),\n\t\t\t\tpulumi.String(\"verify\"),\n\t\t\t\tpulumi.String(\"wrapKey\"),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tclient,\n\t\t\tstorage,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = storage.NewCustomerManagedKey(ctx, \"example\", \u0026storage.CustomerManagedKeyArgs{\n\t\t\tStorageAccountId: exampleAccount.ID(),\n\t\t\tKeyVaultKeyId:    exampleKey.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.keyvault.KeyVault;\nimport com.pulumi.azure.keyvault.KeyVaultArgs;\nimport com.pulumi.azure.storage.Account;\nimport com.pulumi.azure.storage.AccountArgs;\nimport com.pulumi.azure.storage.inputs.AccountIdentityArgs;\nimport com.pulumi.azure.keyvault.AccessPolicy;\nimport com.pulumi.azure.keyvault.AccessPolicyArgs;\nimport com.pulumi.azure.keyvault.Key;\nimport com.pulumi.azure.keyvault.KeyArgs;\nimport com.pulumi.azure.storage.CustomerManagedKey;\nimport com.pulumi.azure.storage.CustomerManagedKeyArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var current = CoreFunctions.getClientConfig(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleKeyVault = new KeyVault(\"exampleKeyVault\", KeyVaultArgs.builder()\n            .name(\"examplekv\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .tenantId(current.tenantId())\n            .skuName(\"standard\")\n            .purgeProtectionEnabled(true)\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"examplestor\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .accountTier(\"Standard\")\n            .accountReplicationType(\"GRS\")\n            .identity(AccountIdentityArgs.builder()\n                .type(\"SystemAssigned\")\n                .build())\n            .build());\n\n        var storage = new AccessPolicy(\"storage\", AccessPolicyArgs.builder()\n            .keyVaultId(exampleKeyVault.id())\n            .tenantId(current.tenantId())\n            .objectId(exampleAccount.identity().applyValue(_identity -\u003e _identity.principalId()))\n            .secretPermissions(\"Get\")\n            .keyPermissions(            \n                \"Get\",\n                \"UnwrapKey\",\n                \"WrapKey\")\n            .build());\n\n        var client = new AccessPolicy(\"client\", AccessPolicyArgs.builder()\n            .keyVaultId(exampleKeyVault.id())\n            .tenantId(current.tenantId())\n            .objectId(current.objectId())\n            .secretPermissions(\"Get\")\n            .keyPermissions(            \n                \"Get\",\n                \"Create\",\n                \"Delete\",\n                \"List\",\n                \"Restore\",\n                \"Recover\",\n                \"UnwrapKey\",\n                \"WrapKey\",\n                \"Purge\",\n                \"Encrypt\",\n                \"Decrypt\",\n                \"Sign\",\n                \"Verify\",\n                \"GetRotationPolicy\",\n                \"SetRotationPolicy\")\n            .build());\n\n        var exampleKey = new Key(\"exampleKey\", KeyArgs.builder()\n            .name(\"tfex-key\")\n            .keyVaultId(exampleKeyVault.id())\n            .keyType(\"RSA\")\n            .keySize(2048)\n            .keyOpts(            \n                \"decrypt\",\n                \"encrypt\",\n                \"sign\",\n                \"unwrapKey\",\n                \"verify\",\n                \"wrapKey\")\n            .build(), CustomResourceOptions.builder()\n                .dependsOn(                \n                    client,\n                    storage)\n                .build());\n\n        var exampleCustomerManagedKey = new CustomerManagedKey(\"exampleCustomerManagedKey\", CustomerManagedKeyArgs.builder()\n            .storageAccountId(exampleAccount.id())\n            .keyVaultKeyId(exampleKey.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleKeyVault:\n    type: azure:keyvault:KeyVault\n    name: example\n    properties:\n      name: examplekv\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      tenantId: ${current.tenantId}\n      skuName: standard\n      purgeProtectionEnabled: true\n  storage:\n    type: azure:keyvault:AccessPolicy\n    properties:\n      keyVaultId: ${exampleKeyVault.id}\n      tenantId: ${current.tenantId}\n      objectId: ${exampleAccount.identity.principalId}\n      secretPermissions:\n        - Get\n      keyPermissions:\n        - Get\n        - UnwrapKey\n        - WrapKey\n  client:\n    type: azure:keyvault:AccessPolicy\n    properties:\n      keyVaultId: ${exampleKeyVault.id}\n      tenantId: ${current.tenantId}\n      objectId: ${current.objectId}\n      secretPermissions:\n        - Get\n      keyPermissions:\n        - Get\n        - Create\n        - Delete\n        - List\n        - Restore\n        - Recover\n        - UnwrapKey\n        - WrapKey\n        - Purge\n        - Encrypt\n        - Decrypt\n        - Sign\n        - Verify\n        - GetRotationPolicy\n        - SetRotationPolicy\n  exampleKey:\n    type: azure:keyvault:Key\n    name: example\n    properties:\n      name: tfex-key\n      keyVaultId: ${exampleKeyVault.id}\n      keyType: RSA\n      keySize: 2048\n      keyOpts:\n        - decrypt\n        - encrypt\n        - sign\n        - unwrapKey\n        - verify\n        - wrapKey\n    options:\n      dependsOn:\n        - ${client}\n        - ${storage}\n  exampleAccount:\n    type: azure:storage:Account\n    name: example\n    properties:\n      name: examplestor\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      accountTier: Standard\n      accountReplicationType: GRS\n      identity:\n        type: SystemAssigned\n  exampleCustomerManagedKey:\n    type: azure:storage:CustomerManagedKey\n    name: example\n    properties:\n      storageAccountId: ${exampleAccount.id}\n      keyVaultKeyId: ${exampleKey.id}\nvariables:\n  current:\n    fn::invoke:\n      function: azure:core:getClientConfig\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Storage` - 2023-05-01\n\n## Import\n\nCustomer Managed Keys for a Storage Account can be imported using the `resource id` of the Storage Account, e.g.\n\n```sh\n$ pulumi import azure:storage/customerManagedKey:CustomerManagedKey example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myresourcegroup/providers/Microsoft.Storage/storageAccounts/myaccount\n```\n\n","properties":{"federatedIdentityClientId":{"type":"string","description":"The Client ID of the multi-tenant application to be used in conjunction with the user-assigned identity for cross-tenant customer-managed-keys server-side encryption on the storage account.\n"},"keyName":{"type":"string","deprecationMessage":"\u003cspan pulumi-lang-nodejs=\"`keyName`\" pulumi-lang-dotnet=\"`KeyName`\" pulumi-lang-go=\"`keyName`\" pulumi-lang-python=\"`key_name`\" pulumi-lang-yaml=\"`keyName`\" pulumi-lang-java=\"`keyName`\"\u003e`key_name`\u003c/span\u003e has been deprecated in favour of \u003cspan pulumi-lang-nodejs=\"`keyVaultKeyId`\" pulumi-lang-dotnet=\"`KeyVaultKeyId`\" pulumi-lang-go=\"`keyVaultKeyId`\" pulumi-lang-python=\"`key_vault_key_id`\" pulumi-lang-yaml=\"`keyVaultKeyId`\" pulumi-lang-java=\"`keyVaultKeyId`\"\u003e`key_vault_key_id`\u003c/span\u003e and will be removed in v5.0 of the AzureRM provider"},"keyVaultId":{"type":"string","deprecationMessage":"\u003cspan pulumi-lang-nodejs=\"`keyVaultId`\" pulumi-lang-dotnet=\"`KeyVaultId`\" pulumi-lang-go=\"`keyVaultId`\" pulumi-lang-python=\"`key_vault_id`\" pulumi-lang-yaml=\"`keyVaultId`\" pulumi-lang-java=\"`keyVaultId`\"\u003e`key_vault_id`\u003c/span\u003e has been deprecated in favour of \u003cspan pulumi-lang-nodejs=\"`keyVaultKeyId`\" pulumi-lang-dotnet=\"`KeyVaultKeyId`\" pulumi-lang-go=\"`keyVaultKeyId`\" pulumi-lang-python=\"`key_vault_key_id`\" pulumi-lang-yaml=\"`keyVaultKeyId`\" pulumi-lang-java=\"`keyVaultKeyId`\"\u003e`key_vault_key_id`\u003c/span\u003e and will be removed in v5.0 of the AzureRM provider"},"keyVaultKeyId":{"type":"string","description":"The ID of the Key Vault Key.\n"},"keyVaultUri":{"type":"string","deprecationMessage":"\u003cspan pulumi-lang-nodejs=\"`keyVaultUri`\" pulumi-lang-dotnet=\"`KeyVaultUri`\" pulumi-lang-go=\"`keyVaultUri`\" pulumi-lang-python=\"`key_vault_uri`\" pulumi-lang-yaml=\"`keyVaultUri`\" pulumi-lang-java=\"`keyVaultUri`\"\u003e`key_vault_uri`\u003c/span\u003e has been deprecated in favour of \u003cspan pulumi-lang-nodejs=\"`keyVaultKeyId`\" pulumi-lang-dotnet=\"`KeyVaultKeyId`\" pulumi-lang-go=\"`keyVaultKeyId`\" pulumi-lang-python=\"`key_vault_key_id`\" pulumi-lang-yaml=\"`keyVaultKeyId`\" pulumi-lang-java=\"`keyVaultKeyId`\"\u003e`key_vault_key_id`\u003c/span\u003e and will be removed in v5.0 of the AzureRM provider"},"keyVersion":{"type":"string","deprecationMessage":"\u003cspan pulumi-lang-nodejs=\"`keyVersion`\" pulumi-lang-dotnet=\"`KeyVersion`\" pulumi-lang-go=\"`keyVersion`\" pulumi-lang-python=\"`key_version`\" pulumi-lang-yaml=\"`keyVersion`\" pulumi-lang-java=\"`keyVersion`\"\u003e`key_version`\u003c/span\u003e has been deprecated in favour of \u003cspan pulumi-lang-nodejs=\"`keyVaultKeyId`\" pulumi-lang-dotnet=\"`KeyVaultKeyId`\" pulumi-lang-go=\"`keyVaultKeyId`\" pulumi-lang-python=\"`key_vault_key_id`\" pulumi-lang-yaml=\"`keyVaultKeyId`\" pulumi-lang-java=\"`keyVaultKeyId`\"\u003e`key_vault_key_id`\u003c/span\u003e and will be removed in v5.0 of the AzureRM provider"},"managedHsmKeyId":{"type":"string","deprecationMessage":"\u003cspan pulumi-lang-nodejs=\"`managedHsmKeyId`\" pulumi-lang-dotnet=\"`ManagedHsmKeyId`\" pulumi-lang-go=\"`managedHsmKeyId`\" pulumi-lang-python=\"`managed_hsm_key_id`\" pulumi-lang-yaml=\"`managedHsmKeyId`\" pulumi-lang-java=\"`managedHsmKeyId`\"\u003e`managed_hsm_key_id`\u003c/span\u003e has been deprecated in favour of \u003cspan pulumi-lang-nodejs=\"`keyVaultKeyId`\" pulumi-lang-dotnet=\"`KeyVaultKeyId`\" pulumi-lang-go=\"`keyVaultKeyId`\" pulumi-lang-python=\"`key_vault_key_id`\" pulumi-lang-yaml=\"`keyVaultKeyId`\" pulumi-lang-java=\"`keyVaultKeyId`\"\u003e`key_vault_key_id`\u003c/span\u003e and will be removed in v5.0 of the AzureRM provider"},"storageAccountId":{"type":"string","description":"The ID of the Storage Account. Changing this forces a new resource to be created.\n"},"userAssignedIdentityId":{"type":"string","description":"The ID of a user assigned identity.\n"}},"required":["keyName","keyVaultId","keyVaultKeyId","keyVaultUri","keyVersion","managedHsmKeyId","storageAccountId"],"inputProperties":{"federatedIdentityClientId":{"type":"string","description":"The Client ID of the multi-tenant application to be used in conjunction with the user-assigned identity for cross-tenant customer-managed-keys server-side encryption on the storage account.\n"},"keyName":{"type":"string","deprecationMessage":"\u003cspan pulumi-lang-nodejs=\"`keyName`\" pulumi-lang-dotnet=\"`KeyName`\" pulumi-lang-go=\"`keyName`\" pulumi-lang-python=\"`key_name`\" pulumi-lang-yaml=\"`keyName`\" pulumi-lang-java=\"`keyName`\"\u003e`key_name`\u003c/span\u003e has been deprecated in favour of \u003cspan pulumi-lang-nodejs=\"`keyVaultKeyId`\" pulumi-lang-dotnet=\"`KeyVaultKeyId`\" pulumi-lang-go=\"`keyVaultKeyId`\" pulumi-lang-python=\"`key_vault_key_id`\" pulumi-lang-yaml=\"`keyVaultKeyId`\" pulumi-lang-java=\"`keyVaultKeyId`\"\u003e`key_vault_key_id`\u003c/span\u003e and will be removed in v5.0 of the AzureRM provider"},"keyVaultId":{"type":"string","deprecationMessage":"\u003cspan pulumi-lang-nodejs=\"`keyVaultId`\" pulumi-lang-dotnet=\"`KeyVaultId`\" pulumi-lang-go=\"`keyVaultId`\" pulumi-lang-python=\"`key_vault_id`\" pulumi-lang-yaml=\"`keyVaultId`\" pulumi-lang-java=\"`keyVaultId`\"\u003e`key_vault_id`\u003c/span\u003e has been deprecated in favour of \u003cspan pulumi-lang-nodejs=\"`keyVaultKeyId`\" pulumi-lang-dotnet=\"`KeyVaultKeyId`\" pulumi-lang-go=\"`keyVaultKeyId`\" pulumi-lang-python=\"`key_vault_key_id`\" pulumi-lang-yaml=\"`keyVaultKeyId`\" pulumi-lang-java=\"`keyVaultKeyId`\"\u003e`key_vault_key_id`\u003c/span\u003e and will be removed in v5.0 of the AzureRM provider"},"keyVaultKeyId":{"type":"string","description":"The ID of the Key Vault Key.\n"},"keyVaultUri":{"type":"string","deprecationMessage":"\u003cspan pulumi-lang-nodejs=\"`keyVaultUri`\" pulumi-lang-dotnet=\"`KeyVaultUri`\" pulumi-lang-go=\"`keyVaultUri`\" pulumi-lang-python=\"`key_vault_uri`\" pulumi-lang-yaml=\"`keyVaultUri`\" pulumi-lang-java=\"`keyVaultUri`\"\u003e`key_vault_uri`\u003c/span\u003e has been deprecated in favour of \u003cspan pulumi-lang-nodejs=\"`keyVaultKeyId`\" pulumi-lang-dotnet=\"`KeyVaultKeyId`\" pulumi-lang-go=\"`keyVaultKeyId`\" pulumi-lang-python=\"`key_vault_key_id`\" pulumi-lang-yaml=\"`keyVaultKeyId`\" pulumi-lang-java=\"`keyVaultKeyId`\"\u003e`key_vault_key_id`\u003c/span\u003e and will be removed in v5.0 of the AzureRM provider"},"keyVersion":{"type":"string","deprecationMessage":"\u003cspan pulumi-lang-nodejs=\"`keyVersion`\" pulumi-lang-dotnet=\"`KeyVersion`\" pulumi-lang-go=\"`keyVersion`\" pulumi-lang-python=\"`key_version`\" pulumi-lang-yaml=\"`keyVersion`\" pulumi-lang-java=\"`keyVersion`\"\u003e`key_version`\u003c/span\u003e has been deprecated in favour of \u003cspan pulumi-lang-nodejs=\"`keyVaultKeyId`\" pulumi-lang-dotnet=\"`KeyVaultKeyId`\" pulumi-lang-go=\"`keyVaultKeyId`\" pulumi-lang-python=\"`key_vault_key_id`\" pulumi-lang-yaml=\"`keyVaultKeyId`\" pulumi-lang-java=\"`keyVaultKeyId`\"\u003e`key_vault_key_id`\u003c/span\u003e and will be removed in v5.0 of the AzureRM provider"},"managedHsmKeyId":{"type":"string","deprecationMessage":"\u003cspan pulumi-lang-nodejs=\"`managedHsmKeyId`\" pulumi-lang-dotnet=\"`ManagedHsmKeyId`\" pulumi-lang-go=\"`managedHsmKeyId`\" pulumi-lang-python=\"`managed_hsm_key_id`\" pulumi-lang-yaml=\"`managedHsmKeyId`\" pulumi-lang-java=\"`managedHsmKeyId`\"\u003e`managed_hsm_key_id`\u003c/span\u003e has been deprecated in favour of \u003cspan pulumi-lang-nodejs=\"`keyVaultKeyId`\" pulumi-lang-dotnet=\"`KeyVaultKeyId`\" pulumi-lang-go=\"`keyVaultKeyId`\" pulumi-lang-python=\"`key_vault_key_id`\" pulumi-lang-yaml=\"`keyVaultKeyId`\" pulumi-lang-java=\"`keyVaultKeyId`\"\u003e`key_vault_key_id`\u003c/span\u003e and will be removed in v5.0 of the AzureRM provider"},"storageAccountId":{"type":"string","description":"The ID of the Storage Account. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"userAssignedIdentityId":{"type":"string","description":"The ID of a user assigned identity.\n"}},"requiredInputs":["storageAccountId"],"stateInputs":{"description":"Input properties used for looking up and filtering CustomerManagedKey resources.\n","properties":{"federatedIdentityClientId":{"type":"string","description":"The Client ID of the multi-tenant application to be used in conjunction with the user-assigned identity for cross-tenant customer-managed-keys server-side encryption on the storage account.\n"},"keyName":{"type":"string","deprecationMessage":"\u003cspan pulumi-lang-nodejs=\"`keyName`\" pulumi-lang-dotnet=\"`KeyName`\" pulumi-lang-go=\"`keyName`\" pulumi-lang-python=\"`key_name`\" pulumi-lang-yaml=\"`keyName`\" pulumi-lang-java=\"`keyName`\"\u003e`key_name`\u003c/span\u003e has been deprecated in favour of \u003cspan pulumi-lang-nodejs=\"`keyVaultKeyId`\" pulumi-lang-dotnet=\"`KeyVaultKeyId`\" pulumi-lang-go=\"`keyVaultKeyId`\" pulumi-lang-python=\"`key_vault_key_id`\" pulumi-lang-yaml=\"`keyVaultKeyId`\" pulumi-lang-java=\"`keyVaultKeyId`\"\u003e`key_vault_key_id`\u003c/span\u003e and will be removed in v5.0 of the AzureRM provider"},"keyVaultId":{"type":"string","deprecationMessage":"\u003cspan pulumi-lang-nodejs=\"`keyVaultId`\" pulumi-lang-dotnet=\"`KeyVaultId`\" pulumi-lang-go=\"`keyVaultId`\" pulumi-lang-python=\"`key_vault_id`\" pulumi-lang-yaml=\"`keyVaultId`\" pulumi-lang-java=\"`keyVaultId`\"\u003e`key_vault_id`\u003c/span\u003e has been deprecated in favour of \u003cspan pulumi-lang-nodejs=\"`keyVaultKeyId`\" pulumi-lang-dotnet=\"`KeyVaultKeyId`\" pulumi-lang-go=\"`keyVaultKeyId`\" pulumi-lang-python=\"`key_vault_key_id`\" pulumi-lang-yaml=\"`keyVaultKeyId`\" pulumi-lang-java=\"`keyVaultKeyId`\"\u003e`key_vault_key_id`\u003c/span\u003e and will be removed in v5.0 of the AzureRM provider"},"keyVaultKeyId":{"type":"string","description":"The ID of the Key Vault Key.\n"},"keyVaultUri":{"type":"string","deprecationMessage":"\u003cspan pulumi-lang-nodejs=\"`keyVaultUri`\" pulumi-lang-dotnet=\"`KeyVaultUri`\" pulumi-lang-go=\"`keyVaultUri`\" pulumi-lang-python=\"`key_vault_uri`\" pulumi-lang-yaml=\"`keyVaultUri`\" pulumi-lang-java=\"`keyVaultUri`\"\u003e`key_vault_uri`\u003c/span\u003e has been deprecated in favour of \u003cspan pulumi-lang-nodejs=\"`keyVaultKeyId`\" pulumi-lang-dotnet=\"`KeyVaultKeyId`\" pulumi-lang-go=\"`keyVaultKeyId`\" pulumi-lang-python=\"`key_vault_key_id`\" pulumi-lang-yaml=\"`keyVaultKeyId`\" pulumi-lang-java=\"`keyVaultKeyId`\"\u003e`key_vault_key_id`\u003c/span\u003e and will be removed in v5.0 of the AzureRM provider"},"keyVersion":{"type":"string","deprecationMessage":"\u003cspan pulumi-lang-nodejs=\"`keyVersion`\" pulumi-lang-dotnet=\"`KeyVersion`\" pulumi-lang-go=\"`keyVersion`\" pulumi-lang-python=\"`key_version`\" pulumi-lang-yaml=\"`keyVersion`\" pulumi-lang-java=\"`keyVersion`\"\u003e`key_version`\u003c/span\u003e has been deprecated in favour of \u003cspan pulumi-lang-nodejs=\"`keyVaultKeyId`\" pulumi-lang-dotnet=\"`KeyVaultKeyId`\" pulumi-lang-go=\"`keyVaultKeyId`\" pulumi-lang-python=\"`key_vault_key_id`\" pulumi-lang-yaml=\"`keyVaultKeyId`\" pulumi-lang-java=\"`keyVaultKeyId`\"\u003e`key_vault_key_id`\u003c/span\u003e and will be removed in v5.0 of the AzureRM provider"},"managedHsmKeyId":{"type":"string","deprecationMessage":"\u003cspan pulumi-lang-nodejs=\"`managedHsmKeyId`\" pulumi-lang-dotnet=\"`ManagedHsmKeyId`\" pulumi-lang-go=\"`managedHsmKeyId`\" pulumi-lang-python=\"`managed_hsm_key_id`\" pulumi-lang-yaml=\"`managedHsmKeyId`\" pulumi-lang-java=\"`managedHsmKeyId`\"\u003e`managed_hsm_key_id`\u003c/span\u003e has been deprecated in favour of \u003cspan pulumi-lang-nodejs=\"`keyVaultKeyId`\" pulumi-lang-dotnet=\"`KeyVaultKeyId`\" pulumi-lang-go=\"`keyVaultKeyId`\" pulumi-lang-python=\"`key_vault_key_id`\" pulumi-lang-yaml=\"`keyVaultKeyId`\" pulumi-lang-java=\"`keyVaultKeyId`\"\u003e`key_vault_key_id`\u003c/span\u003e and will be removed in v5.0 of the AzureRM provider"},"storageAccountId":{"type":"string","description":"The ID of the Storage Account. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"userAssignedIdentityId":{"type":"string","description":"The ID of a user assigned identity.\n"}},"type":"object"}},"azure:storage/dataLakeGen2Filesystem:DataLakeGen2Filesystem":{"description":"Manages a Data Lake Gen2 File System within an Azure Storage Account.\n\n\u003e **Note:** This resource requires some `Storage` specific roles which are not granted by default. Some of the built-ins roles that can be attributed are [`Storage Account Contributor`](https://docs.microsoft.com/azure/role-based-access-control/built-in-roles#storage-account-contributor), [`Storage Blob Data Owner`](https://docs.microsoft.com/azure/role-based-access-control/built-in-roles#storage-blob-data-owner), [`Storage Blob Data Contributor`](https://docs.microsoft.com/azure/role-based-access-control/built-in-roles#storage-blob-data-contributor), [`Storage Blob Data Reader`](https://docs.microsoft.com/azure/role-based-access-control/built-in-roles#storage-blob-data-reader).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleAccount = new azure.storage.Account(\"example\", {\n    name: \"examplestorageacc\",\n    resourceGroupName: example.name,\n    location: example.location,\n    accountTier: \"Standard\",\n    accountReplicationType: \"LRS\",\n    accountKind: \"StorageV2\",\n    isHnsEnabled: true,\n});\nconst exampleDataLakeGen2Filesystem = new azure.storage.DataLakeGen2Filesystem(\"example\", {\n    name: \"example\",\n    storageAccountId: exampleAccount.id,\n    properties: {\n        hello: \"aGVsbG8=\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_account = azure.storage.Account(\"example\",\n    name=\"examplestorageacc\",\n    resource_group_name=example.name,\n    location=example.location,\n    account_tier=\"Standard\",\n    account_replication_type=\"LRS\",\n    account_kind=\"StorageV2\",\n    is_hns_enabled=True)\nexample_data_lake_gen2_filesystem = azure.storage.DataLakeGen2Filesystem(\"example\",\n    name=\"example\",\n    storage_account_id=example_account.id,\n    properties={\n        \"hello\": \"aGVsbG8=\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleAccount = new Azure.Storage.Account(\"example\", new()\n    {\n        Name = \"examplestorageacc\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        AccountTier = \"Standard\",\n        AccountReplicationType = \"LRS\",\n        AccountKind = \"StorageV2\",\n        IsHnsEnabled = true,\n    });\n\n    var exampleDataLakeGen2Filesystem = new Azure.Storage.DataLakeGen2Filesystem(\"example\", new()\n    {\n        Name = \"example\",\n        StorageAccountId = exampleAccount.Id,\n        Properties = \n        {\n            { \"hello\", \"aGVsbG8=\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := storage.NewAccount(ctx, \"example\", \u0026storage.AccountArgs{\n\t\t\tName:                   pulumi.String(\"examplestorageacc\"),\n\t\t\tResourceGroupName:      example.Name,\n\t\t\tLocation:               example.Location,\n\t\t\tAccountTier:            pulumi.String(\"Standard\"),\n\t\t\tAccountReplicationType: pulumi.String(\"LRS\"),\n\t\t\tAccountKind:            pulumi.String(\"StorageV2\"),\n\t\t\tIsHnsEnabled:           pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = storage.NewDataLakeGen2Filesystem(ctx, \"example\", \u0026storage.DataLakeGen2FilesystemArgs{\n\t\t\tName:             pulumi.String(\"example\"),\n\t\t\tStorageAccountId: exampleAccount.ID(),\n\t\t\tProperties: pulumi.StringMap{\n\t\t\t\t\"hello\": pulumi.String(\"aGVsbG8=\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.storage.Account;\nimport com.pulumi.azure.storage.AccountArgs;\nimport com.pulumi.azure.storage.DataLakeGen2Filesystem;\nimport com.pulumi.azure.storage.DataLakeGen2FilesystemArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"examplestorageacc\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .accountTier(\"Standard\")\n            .accountReplicationType(\"LRS\")\n            .accountKind(\"StorageV2\")\n            .isHnsEnabled(true)\n            .build());\n\n        var exampleDataLakeGen2Filesystem = new DataLakeGen2Filesystem(\"exampleDataLakeGen2Filesystem\", DataLakeGen2FilesystemArgs.builder()\n            .name(\"example\")\n            .storageAccountId(exampleAccount.id())\n            .properties(Map.of(\"hello\", \"aGVsbG8=\"))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleAccount:\n    type: azure:storage:Account\n    name: example\n    properties:\n      name: examplestorageacc\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      accountTier: Standard\n      accountReplicationType: LRS\n      accountKind: StorageV2\n      isHnsEnabled: 'true'\n  exampleDataLakeGen2Filesystem:\n    type: azure:storage:DataLakeGen2Filesystem\n    name: example\n    properties:\n      name: example\n      storageAccountId: ${exampleAccount.id}\n      properties:\n        hello: aGVsbG8=\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nData Lake Gen2 File System's can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:storage/dataLakeGen2Filesystem:DataLakeGen2Filesystem queue1 https://account1.dfs.core.windows.net/fileSystem1\n```\n\n","properties":{"aces":{"type":"array","items":{"$ref":"#/types/azure:storage/DataLakeGen2FilesystemAce:DataLakeGen2FilesystemAce"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`ace`\" pulumi-lang-dotnet=\"`Ace`\" pulumi-lang-go=\"`ace`\" pulumi-lang-python=\"`ace`\" pulumi-lang-yaml=\"`ace`\" pulumi-lang-java=\"`ace`\"\u003e`ace`\u003c/span\u003e blocks as defined below to specify the entries for the ACL for the path.\n"},"defaultEncryptionScope":{"type":"string","description":"The default encryption scope to use for this filesystem. Changing this forces a new resource to be created.\n"},"group":{"type":"string","description":"Specifies the Object ID of the Azure Active Directory Group to make the owning group of the root path (i.e. `/`). Possible values also include `$superuser`.\n\n\u003e **Note:** The Storage Account requires \u003cspan pulumi-lang-nodejs=\"`accountKind`\" pulumi-lang-dotnet=\"`AccountKind`\" pulumi-lang-go=\"`accountKind`\" pulumi-lang-python=\"`account_kind`\" pulumi-lang-yaml=\"`accountKind`\" pulumi-lang-java=\"`accountKind`\"\u003e`account_kind`\u003c/span\u003e to be either `StorageV2` or `BlobStorage`. In addition, \u003cspan pulumi-lang-nodejs=\"`isHnsEnabled`\" pulumi-lang-dotnet=\"`IsHnsEnabled`\" pulumi-lang-go=\"`isHnsEnabled`\" pulumi-lang-python=\"`is_hns_enabled`\" pulumi-lang-yaml=\"`isHnsEnabled`\" pulumi-lang-java=\"`isHnsEnabled`\"\u003e`is_hns_enabled`\u003c/span\u003e has to be set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"name":{"type":"string","description":"The name of the Data Lake Gen2 File System which should be created within the Storage Account. Must be unique within the storage account the queue is located. Changing this forces a new resource to be created.\n"},"owner":{"type":"string","description":"Specifies the Object ID of the Azure Active Directory User to make the owning user of the root path (i.e. `/`). Possible values also include `$superuser`.\n"},"properties":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of Key to Base64-Encoded Values which should be assigned to this Data Lake Gen2 File System.\n"},"storageAccountId":{"type":"string","description":"Specifies the ID of the Storage Account in which the Data Lake Gen2 File System should exist. Changing this forces a new resource to be created.\n"}},"required":["aces","defaultEncryptionScope","group","name","owner","storageAccountId"],"inputProperties":{"aces":{"type":"array","items":{"$ref":"#/types/azure:storage/DataLakeGen2FilesystemAce:DataLakeGen2FilesystemAce"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`ace`\" pulumi-lang-dotnet=\"`Ace`\" pulumi-lang-go=\"`ace`\" pulumi-lang-python=\"`ace`\" pulumi-lang-yaml=\"`ace`\" pulumi-lang-java=\"`ace`\"\u003e`ace`\u003c/span\u003e blocks as defined below to specify the entries for the ACL for the path.\n"},"defaultEncryptionScope":{"type":"string","description":"The default encryption scope to use for this filesystem. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"group":{"type":"string","description":"Specifies the Object ID of the Azure Active Directory Group to make the owning group of the root path (i.e. `/`). Possible values also include `$superuser`.\n\n\u003e **Note:** The Storage Account requires \u003cspan pulumi-lang-nodejs=\"`accountKind`\" pulumi-lang-dotnet=\"`AccountKind`\" pulumi-lang-go=\"`accountKind`\" pulumi-lang-python=\"`account_kind`\" pulumi-lang-yaml=\"`accountKind`\" pulumi-lang-java=\"`accountKind`\"\u003e`account_kind`\u003c/span\u003e to be either `StorageV2` or `BlobStorage`. In addition, \u003cspan pulumi-lang-nodejs=\"`isHnsEnabled`\" pulumi-lang-dotnet=\"`IsHnsEnabled`\" pulumi-lang-go=\"`isHnsEnabled`\" pulumi-lang-python=\"`is_hns_enabled`\" pulumi-lang-yaml=\"`isHnsEnabled`\" pulumi-lang-java=\"`isHnsEnabled`\"\u003e`is_hns_enabled`\u003c/span\u003e has to be set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"name":{"type":"string","description":"The name of the Data Lake Gen2 File System which should be created within the Storage Account. Must be unique within the storage account the queue is located. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"owner":{"type":"string","description":"Specifies the Object ID of the Azure Active Directory User to make the owning user of the root path (i.e. `/`). Possible values also include `$superuser`.\n"},"properties":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of Key to Base64-Encoded Values which should be assigned to this Data Lake Gen2 File System.\n"},"storageAccountId":{"type":"string","description":"Specifies the ID of the Storage Account in which the Data Lake Gen2 File System should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["storageAccountId"],"stateInputs":{"description":"Input properties used for looking up and filtering DataLakeGen2Filesystem resources.\n","properties":{"aces":{"type":"array","items":{"$ref":"#/types/azure:storage/DataLakeGen2FilesystemAce:DataLakeGen2FilesystemAce"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`ace`\" pulumi-lang-dotnet=\"`Ace`\" pulumi-lang-go=\"`ace`\" pulumi-lang-python=\"`ace`\" pulumi-lang-yaml=\"`ace`\" pulumi-lang-java=\"`ace`\"\u003e`ace`\u003c/span\u003e blocks as defined below to specify the entries for the ACL for the path.\n"},"defaultEncryptionScope":{"type":"string","description":"The default encryption scope to use for this filesystem. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"group":{"type":"string","description":"Specifies the Object ID of the Azure Active Directory Group to make the owning group of the root path (i.e. `/`). Possible values also include `$superuser`.\n\n\u003e **Note:** The Storage Account requires \u003cspan pulumi-lang-nodejs=\"`accountKind`\" pulumi-lang-dotnet=\"`AccountKind`\" pulumi-lang-go=\"`accountKind`\" pulumi-lang-python=\"`account_kind`\" pulumi-lang-yaml=\"`accountKind`\" pulumi-lang-java=\"`accountKind`\"\u003e`account_kind`\u003c/span\u003e to be either `StorageV2` or `BlobStorage`. In addition, \u003cspan pulumi-lang-nodejs=\"`isHnsEnabled`\" pulumi-lang-dotnet=\"`IsHnsEnabled`\" pulumi-lang-go=\"`isHnsEnabled`\" pulumi-lang-python=\"`is_hns_enabled`\" pulumi-lang-yaml=\"`isHnsEnabled`\" pulumi-lang-java=\"`isHnsEnabled`\"\u003e`is_hns_enabled`\u003c/span\u003e has to be set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"name":{"type":"string","description":"The name of the Data Lake Gen2 File System which should be created within the Storage Account. Must be unique within the storage account the queue is located. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"owner":{"type":"string","description":"Specifies the Object ID of the Azure Active Directory User to make the owning user of the root path (i.e. `/`). Possible values also include `$superuser`.\n"},"properties":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of Key to Base64-Encoded Values which should be assigned to this Data Lake Gen2 File System.\n"},"storageAccountId":{"type":"string","description":"Specifies the ID of the Storage Account in which the Data Lake Gen2 File System should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:storage/dataLakeGen2Path:DataLakeGen2Path":{"description":"Manages a Data Lake Gen2 Path in a File System within an Azure Storage Account.\n\n\u003e **Note:** This resource requires some `Storage` specific roles which are not granted by default. Some of the built-ins roles that can be attributed are [`Storage Account Contributor`](https://docs.microsoft.com/azure/role-based-access-control/built-in-roles#storage-account-contributor), [`Storage Blob Data Owner`](https://docs.microsoft.com/azure/role-based-access-control/built-in-roles#storage-blob-data-owner), [`Storage Blob Data Contributor`](https://docs.microsoft.com/azure/role-based-access-control/built-in-roles#storage-blob-data-contributor), [`Storage Blob Data Reader`](https://docs.microsoft.com/azure/role-based-access-control/built-in-roles#storage-blob-data-reader).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleAccount = new azure.storage.Account(\"example\", {\n    name: \"examplestorageacc\",\n    resourceGroupName: example.name,\n    location: example.location,\n    accountTier: \"Standard\",\n    accountReplicationType: \"LRS\",\n    accountKind: \"StorageV2\",\n    isHnsEnabled: true,\n});\nconst exampleDataLakeGen2Filesystem = new azure.storage.DataLakeGen2Filesystem(\"example\", {\n    name: \"example\",\n    storageAccountId: exampleAccount.id,\n});\nconst exampleDataLakeGen2Path = new azure.storage.DataLakeGen2Path(\"example\", {\n    path: \"example\",\n    filesystemName: exampleDataLakeGen2Filesystem.name,\n    storageAccountId: exampleAccount.id,\n    resource: \"directory\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_account = azure.storage.Account(\"example\",\n    name=\"examplestorageacc\",\n    resource_group_name=example.name,\n    location=example.location,\n    account_tier=\"Standard\",\n    account_replication_type=\"LRS\",\n    account_kind=\"StorageV2\",\n    is_hns_enabled=True)\nexample_data_lake_gen2_filesystem = azure.storage.DataLakeGen2Filesystem(\"example\",\n    name=\"example\",\n    storage_account_id=example_account.id)\nexample_data_lake_gen2_path = azure.storage.DataLakeGen2Path(\"example\",\n    path=\"example\",\n    filesystem_name=example_data_lake_gen2_filesystem.name,\n    storage_account_id=example_account.id,\n    resource=\"directory\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleAccount = new Azure.Storage.Account(\"example\", new()\n    {\n        Name = \"examplestorageacc\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        AccountTier = \"Standard\",\n        AccountReplicationType = \"LRS\",\n        AccountKind = \"StorageV2\",\n        IsHnsEnabled = true,\n    });\n\n    var exampleDataLakeGen2Filesystem = new Azure.Storage.DataLakeGen2Filesystem(\"example\", new()\n    {\n        Name = \"example\",\n        StorageAccountId = exampleAccount.Id,\n    });\n\n    var exampleDataLakeGen2Path = new Azure.Storage.DataLakeGen2Path(\"example\", new()\n    {\n        Path = \"example\",\n        FilesystemName = exampleDataLakeGen2Filesystem.Name,\n        StorageAccountId = exampleAccount.Id,\n        Resource = \"directory\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := storage.NewAccount(ctx, \"example\", \u0026storage.AccountArgs{\n\t\t\tName:                   pulumi.String(\"examplestorageacc\"),\n\t\t\tResourceGroupName:      example.Name,\n\t\t\tLocation:               example.Location,\n\t\t\tAccountTier:            pulumi.String(\"Standard\"),\n\t\t\tAccountReplicationType: pulumi.String(\"LRS\"),\n\t\t\tAccountKind:            pulumi.String(\"StorageV2\"),\n\t\t\tIsHnsEnabled:           pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleDataLakeGen2Filesystem, err := storage.NewDataLakeGen2Filesystem(ctx, \"example\", \u0026storage.DataLakeGen2FilesystemArgs{\n\t\t\tName:             pulumi.String(\"example\"),\n\t\t\tStorageAccountId: exampleAccount.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = storage.NewDataLakeGen2Path(ctx, \"example\", \u0026storage.DataLakeGen2PathArgs{\n\t\t\tPath:             pulumi.String(\"example\"),\n\t\t\tFilesystemName:   exampleDataLakeGen2Filesystem.Name,\n\t\t\tStorageAccountId: exampleAccount.ID(),\n\t\t\tResource:         pulumi.String(\"directory\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.storage.Account;\nimport com.pulumi.azure.storage.AccountArgs;\nimport com.pulumi.azure.storage.DataLakeGen2Filesystem;\nimport com.pulumi.azure.storage.DataLakeGen2FilesystemArgs;\nimport com.pulumi.azure.storage.DataLakeGen2Path;\nimport com.pulumi.azure.storage.DataLakeGen2PathArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"examplestorageacc\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .accountTier(\"Standard\")\n            .accountReplicationType(\"LRS\")\n            .accountKind(\"StorageV2\")\n            .isHnsEnabled(true)\n            .build());\n\n        var exampleDataLakeGen2Filesystem = new DataLakeGen2Filesystem(\"exampleDataLakeGen2Filesystem\", DataLakeGen2FilesystemArgs.builder()\n            .name(\"example\")\n            .storageAccountId(exampleAccount.id())\n            .build());\n\n        var exampleDataLakeGen2Path = new DataLakeGen2Path(\"exampleDataLakeGen2Path\", DataLakeGen2PathArgs.builder()\n            .path(\"example\")\n            .filesystemName(exampleDataLakeGen2Filesystem.name())\n            .storageAccountId(exampleAccount.id())\n            .resource(\"directory\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleAccount:\n    type: azure:storage:Account\n    name: example\n    properties:\n      name: examplestorageacc\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      accountTier: Standard\n      accountReplicationType: LRS\n      accountKind: StorageV2\n      isHnsEnabled: 'true'\n  exampleDataLakeGen2Filesystem:\n    type: azure:storage:DataLakeGen2Filesystem\n    name: example\n    properties:\n      name: example\n      storageAccountId: ${exampleAccount.id}\n  exampleDataLakeGen2Path:\n    type: azure:storage:DataLakeGen2Path\n    name: example\n    properties:\n      path: example\n      filesystemName: ${exampleDataLakeGen2Filesystem.name}\n      storageAccountId: ${exampleAccount.id}\n      resource: directory\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nData Lake Gen2 Paths can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:storage/dataLakeGen2Path:DataLakeGen2Path example https://account1.dfs.core.windows.net/fileSystem1/path\n```\n\n","properties":{"aces":{"type":"array","items":{"$ref":"#/types/azure:storage/DataLakeGen2PathAce:DataLakeGen2PathAce"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`ace`\" pulumi-lang-dotnet=\"`Ace`\" pulumi-lang-go=\"`ace`\" pulumi-lang-python=\"`ace`\" pulumi-lang-yaml=\"`ace`\" pulumi-lang-java=\"`ace`\"\u003e`ace`\u003c/span\u003e blocks as defined below to specify the entries for the ACL for the path.\n"},"filesystemName":{"type":"string","description":"The name of the Data Lake Gen2 File System which should be created within the Storage Account. Must be unique within the storage account the queue is located. Changing this forces a new resource to be created.\n"},"group":{"type":"string","description":"Specifies the Object ID of the Azure Active Directory Group to make the owning group. Possible values also include `$superuser`.\n"},"owner":{"type":"string","description":"Specifies the Object ID of the Azure Active Directory User to make the owning user. Possible values also include `$superuser`.\n"},"path":{"type":"string","description":"The path which should be created within the Data Lake Gen2 File System in the Storage Account. Changing this forces a new resource to be created.\n"},"resource":{"type":"string","description":"Specifies the type for path to create. Currently only \u003cspan pulumi-lang-nodejs=\"`directory`\" pulumi-lang-dotnet=\"`Directory`\" pulumi-lang-go=\"`directory`\" pulumi-lang-python=\"`directory`\" pulumi-lang-yaml=\"`directory`\" pulumi-lang-java=\"`directory`\"\u003e`directory`\u003c/span\u003e is supported. Changing this forces a new resource to be created.\n"},"storageAccountId":{"type":"string","description":"Specifies the ID of the Storage Account in which the Data Lake Gen2 File System should exist. Changing this forces a new resource to be created.\n"}},"required":["aces","filesystemName","group","owner","path","resource","storageAccountId"],"inputProperties":{"aces":{"type":"array","items":{"$ref":"#/types/azure:storage/DataLakeGen2PathAce:DataLakeGen2PathAce"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`ace`\" pulumi-lang-dotnet=\"`Ace`\" pulumi-lang-go=\"`ace`\" pulumi-lang-python=\"`ace`\" pulumi-lang-yaml=\"`ace`\" pulumi-lang-java=\"`ace`\"\u003e`ace`\u003c/span\u003e blocks as defined below to specify the entries for the ACL for the path.\n"},"filesystemName":{"type":"string","description":"The name of the Data Lake Gen2 File System which should be created within the Storage Account. Must be unique within the storage account the queue is located. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"group":{"type":"string","description":"Specifies the Object ID of the Azure Active Directory Group to make the owning group. Possible values also include `$superuser`.\n"},"owner":{"type":"string","description":"Specifies the Object ID of the Azure Active Directory User to make the owning user. Possible values also include `$superuser`.\n"},"path":{"type":"string","description":"The path which should be created within the Data Lake Gen2 File System in the Storage Account. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resource":{"type":"string","description":"Specifies the type for path to create. Currently only \u003cspan pulumi-lang-nodejs=\"`directory`\" pulumi-lang-dotnet=\"`Directory`\" pulumi-lang-go=\"`directory`\" pulumi-lang-python=\"`directory`\" pulumi-lang-yaml=\"`directory`\" pulumi-lang-java=\"`directory`\"\u003e`directory`\u003c/span\u003e is supported. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"storageAccountId":{"type":"string","description":"Specifies the ID of the Storage Account in which the Data Lake Gen2 File System should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["filesystemName","path","resource","storageAccountId"],"stateInputs":{"description":"Input properties used for looking up and filtering DataLakeGen2Path resources.\n","properties":{"aces":{"type":"array","items":{"$ref":"#/types/azure:storage/DataLakeGen2PathAce:DataLakeGen2PathAce"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`ace`\" pulumi-lang-dotnet=\"`Ace`\" pulumi-lang-go=\"`ace`\" pulumi-lang-python=\"`ace`\" pulumi-lang-yaml=\"`ace`\" pulumi-lang-java=\"`ace`\"\u003e`ace`\u003c/span\u003e blocks as defined below to specify the entries for the ACL for the path.\n"},"filesystemName":{"type":"string","description":"The name of the Data Lake Gen2 File System which should be created within the Storage Account. Must be unique within the storage account the queue is located. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"group":{"type":"string","description":"Specifies the Object ID of the Azure Active Directory Group to make the owning group. Possible values also include `$superuser`.\n"},"owner":{"type":"string","description":"Specifies the Object ID of the Azure Active Directory User to make the owning user. Possible values also include `$superuser`.\n"},"path":{"type":"string","description":"The path which should be created within the Data Lake Gen2 File System in the Storage Account. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resource":{"type":"string","description":"Specifies the type for path to create. Currently only \u003cspan pulumi-lang-nodejs=\"`directory`\" pulumi-lang-dotnet=\"`Directory`\" pulumi-lang-go=\"`directory`\" pulumi-lang-python=\"`directory`\" pulumi-lang-yaml=\"`directory`\" pulumi-lang-java=\"`directory`\"\u003e`directory`\u003c/span\u003e is supported. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"storageAccountId":{"type":"string","description":"Specifies the ID of the Storage Account in which the Data Lake Gen2 File System should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:storage/encryptionScope:EncryptionScope":{"description":"Manages a Storage Encryption Scope.\n\n\u003e **Note:** Storage Encryption Scopes are in Preview [more information can be found here](https://docs.microsoft.com/azure/storage/blobs/encryption-scope-manage).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleAccount = new azure.storage.Account(\"example\", {\n    name: \"examplesa\",\n    resourceGroupName: example.name,\n    location: example.location,\n    accountTier: \"Standard\",\n    accountReplicationType: \"LRS\",\n    identity: {\n        type: \"SystemAssigned\",\n    },\n});\nconst exampleEncryptionScope = new azure.storage.EncryptionScope(\"example\", {\n    name: \"microsoftmanaged\",\n    storageAccountId: exampleAccount.id,\n    source: \"Microsoft.Storage\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_account = azure.storage.Account(\"example\",\n    name=\"examplesa\",\n    resource_group_name=example.name,\n    location=example.location,\n    account_tier=\"Standard\",\n    account_replication_type=\"LRS\",\n    identity={\n        \"type\": \"SystemAssigned\",\n    })\nexample_encryption_scope = azure.storage.EncryptionScope(\"example\",\n    name=\"microsoftmanaged\",\n    storage_account_id=example_account.id,\n    source=\"Microsoft.Storage\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleAccount = new Azure.Storage.Account(\"example\", new()\n    {\n        Name = \"examplesa\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        AccountTier = \"Standard\",\n        AccountReplicationType = \"LRS\",\n        Identity = new Azure.Storage.Inputs.AccountIdentityArgs\n        {\n            Type = \"SystemAssigned\",\n        },\n    });\n\n    var exampleEncryptionScope = new Azure.Storage.EncryptionScope(\"example\", new()\n    {\n        Name = \"microsoftmanaged\",\n        StorageAccountId = exampleAccount.Id,\n        Source = \"Microsoft.Storage\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := storage.NewAccount(ctx, \"example\", \u0026storage.AccountArgs{\n\t\t\tName:                   pulumi.String(\"examplesa\"),\n\t\t\tResourceGroupName:      example.Name,\n\t\t\tLocation:               example.Location,\n\t\t\tAccountTier:            pulumi.String(\"Standard\"),\n\t\t\tAccountReplicationType: pulumi.String(\"LRS\"),\n\t\t\tIdentity: \u0026storage.AccountIdentityArgs{\n\t\t\t\tType: pulumi.String(\"SystemAssigned\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = storage.NewEncryptionScope(ctx, \"example\", \u0026storage.EncryptionScopeArgs{\n\t\t\tName:             pulumi.String(\"microsoftmanaged\"),\n\t\t\tStorageAccountId: exampleAccount.ID(),\n\t\t\tSource:           pulumi.String(\"Microsoft.Storage\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.storage.Account;\nimport com.pulumi.azure.storage.AccountArgs;\nimport com.pulumi.azure.storage.inputs.AccountIdentityArgs;\nimport com.pulumi.azure.storage.EncryptionScope;\nimport com.pulumi.azure.storage.EncryptionScopeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"examplesa\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .accountTier(\"Standard\")\n            .accountReplicationType(\"LRS\")\n            .identity(AccountIdentityArgs.builder()\n                .type(\"SystemAssigned\")\n                .build())\n            .build());\n\n        var exampleEncryptionScope = new EncryptionScope(\"exampleEncryptionScope\", EncryptionScopeArgs.builder()\n            .name(\"microsoftmanaged\")\n            .storageAccountId(exampleAccount.id())\n            .source(\"Microsoft.Storage\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleAccount:\n    type: azure:storage:Account\n    name: example\n    properties:\n      name: examplesa\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      accountTier: Standard\n      accountReplicationType: LRS\n      identity:\n        type: SystemAssigned\n  exampleEncryptionScope:\n    type: azure:storage:EncryptionScope\n    name: example\n    properties:\n      name: microsoftmanaged\n      storageAccountId: ${exampleAccount.id}\n      source: Microsoft.Storage\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Storage` - 2023-05-01\n\n## Import\n\nStorage Encryption Scopes can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:storage/encryptionScope:EncryptionScope example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Storage/storageAccounts/account1/encryptionScopes/scope1\n```\n\n","properties":{"infrastructureEncryptionRequired":{"type":"boolean","description":"Is a secondary layer of encryption with Platform Managed Keys for data applied? Changing this forces a new resource to be created.\n"},"keyVaultKeyId":{"type":"string","description":"The ID of the Key Vault Key. Required when \u003cspan pulumi-lang-nodejs=\"`source`\" pulumi-lang-dotnet=\"`Source`\" pulumi-lang-go=\"`source`\" pulumi-lang-python=\"`source`\" pulumi-lang-yaml=\"`source`\" pulumi-lang-java=\"`source`\"\u003e`source`\u003c/span\u003e is `Microsoft.KeyVault`.\n"},"name":{"type":"string","description":"The name which should be used for this Storage Encryption Scope. Changing this forces a new Storage Encryption Scope to be created.\n"},"source":{"type":"string","description":"The source of the Storage Encryption Scope. Possible values are `Microsoft.KeyVault` and `Microsoft.Storage`.\n"},"storageAccountId":{"type":"string","description":"The ID of the Storage Account where this Storage Encryption Scope is created. Changing this forces a new Storage Encryption Scope to be created.\n"}},"required":["name","source","storageAccountId"],"inputProperties":{"infrastructureEncryptionRequired":{"type":"boolean","description":"Is a secondary layer of encryption with Platform Managed Keys for data applied? Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"keyVaultKeyId":{"type":"string","description":"The ID of the Key Vault Key. Required when \u003cspan pulumi-lang-nodejs=\"`source`\" pulumi-lang-dotnet=\"`Source`\" pulumi-lang-go=\"`source`\" pulumi-lang-python=\"`source`\" pulumi-lang-yaml=\"`source`\" pulumi-lang-java=\"`source`\"\u003e`source`\u003c/span\u003e is `Microsoft.KeyVault`.\n"},"name":{"type":"string","description":"The name which should be used for this Storage Encryption Scope. Changing this forces a new Storage Encryption Scope to be created.\n","willReplaceOnChanges":true},"source":{"type":"string","description":"The source of the Storage Encryption Scope. Possible values are `Microsoft.KeyVault` and `Microsoft.Storage`.\n"},"storageAccountId":{"type":"string","description":"The ID of the Storage Account where this Storage Encryption Scope is created. Changing this forces a new Storage Encryption Scope to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["source","storageAccountId"],"stateInputs":{"description":"Input properties used for looking up and filtering EncryptionScope resources.\n","properties":{"infrastructureEncryptionRequired":{"type":"boolean","description":"Is a secondary layer of encryption with Platform Managed Keys for data applied? Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"keyVaultKeyId":{"type":"string","description":"The ID of the Key Vault Key. Required when \u003cspan pulumi-lang-nodejs=\"`source`\" pulumi-lang-dotnet=\"`Source`\" pulumi-lang-go=\"`source`\" pulumi-lang-python=\"`source`\" pulumi-lang-yaml=\"`source`\" pulumi-lang-java=\"`source`\"\u003e`source`\u003c/span\u003e is `Microsoft.KeyVault`.\n"},"name":{"type":"string","description":"The name which should be used for this Storage Encryption Scope. Changing this forces a new Storage Encryption Scope to be created.\n","willReplaceOnChanges":true},"source":{"type":"string","description":"The source of the Storage Encryption Scope. Possible values are `Microsoft.KeyVault` and `Microsoft.Storage`.\n"},"storageAccountId":{"type":"string","description":"The ID of the Storage Account where this Storage Encryption Scope is created. Changing this forces a new Storage Encryption Scope to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:storage/localUser:LocalUser":{"description":"Manages a Storage Account Local User.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-rg\",\n    location: \"WestEurope\",\n});\nconst exampleAccount = new azure.storage.Account(\"example\", {\n    name: \"example-account\",\n    resourceGroupName: example.name,\n    location: example.location,\n    accountKind: \"StorageV2\",\n    accountTier: \"Standard\",\n    accountReplicationType: \"LRS\",\n    isHnsEnabled: true,\n});\nconst exampleContainer = new azure.storage.Container(\"example\", {\n    name: \"example-container\",\n    storageAccountName: exampleAccount.name,\n});\nconst exampleLocalUser = new azure.storage.LocalUser(\"example\", {\n    name: \"user1\",\n    storageAccountId: exampleAccount.id,\n    sshKeyEnabled: true,\n    sshPasswordEnabled: true,\n    homeDirectory: \"example_path\",\n    sshAuthorizedKeys: [\n        {\n            description: \"key1\",\n            key: firstPublicKey,\n        },\n        {\n            description: \"key2\",\n            key: secondPublicKey,\n        },\n    ],\n    permissionScopes: [{\n        permissions: {\n            read: true,\n            create: true,\n        },\n        service: \"blob\",\n        resourceName: exampleContainer.name,\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-rg\",\n    location=\"WestEurope\")\nexample_account = azure.storage.Account(\"example\",\n    name=\"example-account\",\n    resource_group_name=example.name,\n    location=example.location,\n    account_kind=\"StorageV2\",\n    account_tier=\"Standard\",\n    account_replication_type=\"LRS\",\n    is_hns_enabled=True)\nexample_container = azure.storage.Container(\"example\",\n    name=\"example-container\",\n    storage_account_name=example_account.name)\nexample_local_user = azure.storage.LocalUser(\"example\",\n    name=\"user1\",\n    storage_account_id=example_account.id,\n    ssh_key_enabled=True,\n    ssh_password_enabled=True,\n    home_directory=\"example_path\",\n    ssh_authorized_keys=[\n        {\n            \"description\": \"key1\",\n            \"key\": first_public_key,\n        },\n        {\n            \"description\": \"key2\",\n            \"key\": second_public_key,\n        },\n    ],\n    permission_scopes=[{\n        \"permissions\": {\n            \"read\": True,\n            \"create\": True,\n        },\n        \"service\": \"blob\",\n        \"resource_name\": example_container.name,\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-rg\",\n        Location = \"WestEurope\",\n    });\n\n    var exampleAccount = new Azure.Storage.Account(\"example\", new()\n    {\n        Name = \"example-account\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        AccountKind = \"StorageV2\",\n        AccountTier = \"Standard\",\n        AccountReplicationType = \"LRS\",\n        IsHnsEnabled = true,\n    });\n\n    var exampleContainer = new Azure.Storage.Container(\"example\", new()\n    {\n        Name = \"example-container\",\n        StorageAccountName = exampleAccount.Name,\n    });\n\n    var exampleLocalUser = new Azure.Storage.LocalUser(\"example\", new()\n    {\n        Name = \"user1\",\n        StorageAccountId = exampleAccount.Id,\n        SshKeyEnabled = true,\n        SshPasswordEnabled = true,\n        HomeDirectory = \"example_path\",\n        SshAuthorizedKeys = new[]\n        {\n            new Azure.Storage.Inputs.LocalUserSshAuthorizedKeyArgs\n            {\n                Description = \"key1\",\n                Key = firstPublicKey,\n            },\n            new Azure.Storage.Inputs.LocalUserSshAuthorizedKeyArgs\n            {\n                Description = \"key2\",\n                Key = secondPublicKey,\n            },\n        },\n        PermissionScopes = new[]\n        {\n            new Azure.Storage.Inputs.LocalUserPermissionScopeArgs\n            {\n                Permissions = new Azure.Storage.Inputs.LocalUserPermissionScopePermissionsArgs\n                {\n                    Read = true,\n                    Create = true,\n                },\n                Service = \"blob\",\n                ResourceName = exampleContainer.Name,\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-rg\"),\n\t\t\tLocation: pulumi.String(\"WestEurope\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := storage.NewAccount(ctx, \"example\", \u0026storage.AccountArgs{\n\t\t\tName:                   pulumi.String(\"example-account\"),\n\t\t\tResourceGroupName:      example.Name,\n\t\t\tLocation:               example.Location,\n\t\t\tAccountKind:            pulumi.String(\"StorageV2\"),\n\t\t\tAccountTier:            pulumi.String(\"Standard\"),\n\t\t\tAccountReplicationType: pulumi.String(\"LRS\"),\n\t\t\tIsHnsEnabled:           pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleContainer, err := storage.NewContainer(ctx, \"example\", \u0026storage.ContainerArgs{\n\t\t\tName:               pulumi.String(\"example-container\"),\n\t\t\tStorageAccountName: exampleAccount.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = storage.NewLocalUser(ctx, \"example\", \u0026storage.LocalUserArgs{\n\t\t\tName:               pulumi.String(\"user1\"),\n\t\t\tStorageAccountId:   exampleAccount.ID(),\n\t\t\tSshKeyEnabled:      pulumi.Bool(true),\n\t\t\tSshPasswordEnabled: pulumi.Bool(true),\n\t\t\tHomeDirectory:      pulumi.String(\"example_path\"),\n\t\t\tSshAuthorizedKeys: storage.LocalUserSshAuthorizedKeyArray{\n\t\t\t\t\u0026storage.LocalUserSshAuthorizedKeyArgs{\n\t\t\t\t\tDescription: pulumi.String(\"key1\"),\n\t\t\t\t\tKey:         pulumi.Any(firstPublicKey),\n\t\t\t\t},\n\t\t\t\t\u0026storage.LocalUserSshAuthorizedKeyArgs{\n\t\t\t\t\tDescription: pulumi.String(\"key2\"),\n\t\t\t\t\tKey:         pulumi.Any(secondPublicKey),\n\t\t\t\t},\n\t\t\t},\n\t\t\tPermissionScopes: storage.LocalUserPermissionScopeArray{\n\t\t\t\t\u0026storage.LocalUserPermissionScopeArgs{\n\t\t\t\t\tPermissions: \u0026storage.LocalUserPermissionScopePermissionsArgs{\n\t\t\t\t\t\tRead:   pulumi.Bool(true),\n\t\t\t\t\t\tCreate: pulumi.Bool(true),\n\t\t\t\t\t},\n\t\t\t\t\tService:      pulumi.String(\"blob\"),\n\t\t\t\t\tResourceName: exampleContainer.Name,\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.storage.Account;\nimport com.pulumi.azure.storage.AccountArgs;\nimport com.pulumi.azure.storage.Container;\nimport com.pulumi.azure.storage.ContainerArgs;\nimport com.pulumi.azure.storage.LocalUser;\nimport com.pulumi.azure.storage.LocalUserArgs;\nimport com.pulumi.azure.storage.inputs.LocalUserSshAuthorizedKeyArgs;\nimport com.pulumi.azure.storage.inputs.LocalUserPermissionScopeArgs;\nimport com.pulumi.azure.storage.inputs.LocalUserPermissionScopePermissionsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-rg\")\n            .location(\"WestEurope\")\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"example-account\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .accountKind(\"StorageV2\")\n            .accountTier(\"Standard\")\n            .accountReplicationType(\"LRS\")\n            .isHnsEnabled(true)\n            .build());\n\n        var exampleContainer = new Container(\"exampleContainer\", ContainerArgs.builder()\n            .name(\"example-container\")\n            .storageAccountName(exampleAccount.name())\n            .build());\n\n        var exampleLocalUser = new LocalUser(\"exampleLocalUser\", LocalUserArgs.builder()\n            .name(\"user1\")\n            .storageAccountId(exampleAccount.id())\n            .sshKeyEnabled(true)\n            .sshPasswordEnabled(true)\n            .homeDirectory(\"example_path\")\n            .sshAuthorizedKeys(            \n                LocalUserSshAuthorizedKeyArgs.builder()\n                    .description(\"key1\")\n                    .key(firstPublicKey)\n                    .build(),\n                LocalUserSshAuthorizedKeyArgs.builder()\n                    .description(\"key2\")\n                    .key(secondPublicKey)\n                    .build())\n            .permissionScopes(LocalUserPermissionScopeArgs.builder()\n                .permissions(LocalUserPermissionScopePermissionsArgs.builder()\n                    .read(true)\n                    .create(true)\n                    .build())\n                .service(\"blob\")\n                .resourceName(exampleContainer.name())\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-rg\n      location: WestEurope\n  exampleAccount:\n    type: azure:storage:Account\n    name: example\n    properties:\n      name: example-account\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      accountKind: StorageV2\n      accountTier: Standard\n      accountReplicationType: LRS\n      isHnsEnabled: true\n  exampleContainer:\n    type: azure:storage:Container\n    name: example\n    properties:\n      name: example-container\n      storageAccountName: ${exampleAccount.name}\n  exampleLocalUser:\n    type: azure:storage:LocalUser\n    name: example\n    properties:\n      name: user1\n      storageAccountId: ${exampleAccount.id}\n      sshKeyEnabled: true\n      sshPasswordEnabled: true\n      homeDirectory: example_path\n      sshAuthorizedKeys:\n        - description: key1\n          key: ${firstPublicKey}\n        - description: key2\n          key: ${secondPublicKey}\n      permissionScopes:\n        - permissions:\n            read: true\n            create: true\n          service: blob\n          resourceName: ${exampleContainer.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Storage` - 2023-05-01\n\n## Import\n\nStorage Account Local Users can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:storage/localUser:LocalUser example /subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/resGroup1/providers/Microsoft.Storage/storageAccounts/storageAccount1/localUsers/user1\n```\n\n","properties":{"homeDirectory":{"type":"string","description":"The home directory of the Storage Account Local User.\n"},"name":{"type":"string","description":"The name which should be used for this Storage Account Local User. Changing this forces a new Storage Account Local User to be created.\n"},"password":{"type":"string","description":"The value of the password, which is only available when \u003cspan pulumi-lang-nodejs=\"`sshPasswordEnabled`\" pulumi-lang-dotnet=\"`SshPasswordEnabled`\" pulumi-lang-go=\"`sshPasswordEnabled`\" pulumi-lang-python=\"`ssh_password_enabled`\" pulumi-lang-yaml=\"`sshPasswordEnabled`\" pulumi-lang-java=\"`sshPasswordEnabled`\"\u003e`ssh_password_enabled`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n","secret":true},"permissionScopes":{"type":"array","items":{"$ref":"#/types/azure:storage/LocalUserPermissionScope:LocalUserPermissionScope"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`permissionScope`\" pulumi-lang-dotnet=\"`PermissionScope`\" pulumi-lang-go=\"`permissionScope`\" pulumi-lang-python=\"`permission_scope`\" pulumi-lang-yaml=\"`permissionScope`\" pulumi-lang-java=\"`permissionScope`\"\u003e`permission_scope`\u003c/span\u003e blocks as defined below.\n"},"sid":{"type":"string","description":"The unique Security Identifier of this Storage Account Local User.\n","secret":true},"sshAuthorizedKeys":{"type":"array","items":{"$ref":"#/types/azure:storage/LocalUserSshAuthorizedKey:LocalUserSshAuthorizedKey"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`sshAuthorizedKey`\" pulumi-lang-dotnet=\"`SshAuthorizedKey`\" pulumi-lang-go=\"`sshAuthorizedKey`\" pulumi-lang-python=\"`ssh_authorized_key`\" pulumi-lang-yaml=\"`sshAuthorizedKey`\" pulumi-lang-java=\"`sshAuthorizedKey`\"\u003e`ssh_authorized_key`\u003c/span\u003e blocks as defined below.\n"},"sshKeyEnabled":{"type":"boolean","description":"Specifies whether SSH Key Authentication is enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"sshPasswordEnabled":{"type":"boolean","description":"Specifies whether SSH Password Authentication is enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"storageAccountId":{"type":"string","description":"The ID of the Storage Account that this Storage Account Local User resides in. Changing this forces a new Storage Account Local User to be created.\n"}},"required":["name","password","sid","storageAccountId"],"inputProperties":{"homeDirectory":{"type":"string","description":"The home directory of the Storage Account Local User.\n"},"name":{"type":"string","description":"The name which should be used for this Storage Account Local User. Changing this forces a new Storage Account Local User to be created.\n","willReplaceOnChanges":true},"permissionScopes":{"type":"array","items":{"$ref":"#/types/azure:storage/LocalUserPermissionScope:LocalUserPermissionScope"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`permissionScope`\" pulumi-lang-dotnet=\"`PermissionScope`\" pulumi-lang-go=\"`permissionScope`\" pulumi-lang-python=\"`permission_scope`\" pulumi-lang-yaml=\"`permissionScope`\" pulumi-lang-java=\"`permissionScope`\"\u003e`permission_scope`\u003c/span\u003e blocks as defined below.\n"},"sshAuthorizedKeys":{"type":"array","items":{"$ref":"#/types/azure:storage/LocalUserSshAuthorizedKey:LocalUserSshAuthorizedKey"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`sshAuthorizedKey`\" pulumi-lang-dotnet=\"`SshAuthorizedKey`\" pulumi-lang-go=\"`sshAuthorizedKey`\" pulumi-lang-python=\"`ssh_authorized_key`\" pulumi-lang-yaml=\"`sshAuthorizedKey`\" pulumi-lang-java=\"`sshAuthorizedKey`\"\u003e`ssh_authorized_key`\u003c/span\u003e blocks as defined below.\n"},"sshKeyEnabled":{"type":"boolean","description":"Specifies whether SSH Key Authentication is enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"sshPasswordEnabled":{"type":"boolean","description":"Specifies whether SSH Password Authentication is enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"storageAccountId":{"type":"string","description":"The ID of the Storage Account that this Storage Account Local User resides in. Changing this forces a new Storage Account Local User to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["storageAccountId"],"stateInputs":{"description":"Input properties used for looking up and filtering LocalUser resources.\n","properties":{"homeDirectory":{"type":"string","description":"The home directory of the Storage Account Local User.\n"},"name":{"type":"string","description":"The name which should be used for this Storage Account Local User. Changing this forces a new Storage Account Local User to be created.\n","willReplaceOnChanges":true},"password":{"type":"string","description":"The value of the password, which is only available when \u003cspan pulumi-lang-nodejs=\"`sshPasswordEnabled`\" pulumi-lang-dotnet=\"`SshPasswordEnabled`\" pulumi-lang-go=\"`sshPasswordEnabled`\" pulumi-lang-python=\"`ssh_password_enabled`\" pulumi-lang-yaml=\"`sshPasswordEnabled`\" pulumi-lang-java=\"`sshPasswordEnabled`\"\u003e`ssh_password_enabled`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n","secret":true},"permissionScopes":{"type":"array","items":{"$ref":"#/types/azure:storage/LocalUserPermissionScope:LocalUserPermissionScope"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`permissionScope`\" pulumi-lang-dotnet=\"`PermissionScope`\" pulumi-lang-go=\"`permissionScope`\" pulumi-lang-python=\"`permission_scope`\" pulumi-lang-yaml=\"`permissionScope`\" pulumi-lang-java=\"`permissionScope`\"\u003e`permission_scope`\u003c/span\u003e blocks as defined below.\n"},"sid":{"type":"string","description":"The unique Security Identifier of this Storage Account Local User.\n","secret":true},"sshAuthorizedKeys":{"type":"array","items":{"$ref":"#/types/azure:storage/LocalUserSshAuthorizedKey:LocalUserSshAuthorizedKey"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`sshAuthorizedKey`\" pulumi-lang-dotnet=\"`SshAuthorizedKey`\" pulumi-lang-go=\"`sshAuthorizedKey`\" pulumi-lang-python=\"`ssh_authorized_key`\" pulumi-lang-yaml=\"`sshAuthorizedKey`\" pulumi-lang-java=\"`sshAuthorizedKey`\"\u003e`ssh_authorized_key`\u003c/span\u003e blocks as defined below.\n"},"sshKeyEnabled":{"type":"boolean","description":"Specifies whether SSH Key Authentication is enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"sshPasswordEnabled":{"type":"boolean","description":"Specifies whether SSH Password Authentication is enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"storageAccountId":{"type":"string","description":"The ID of the Storage Account that this Storage Account Local User resides in. Changing this forces a new Storage Account Local User to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:storage/managementPolicy:ManagementPolicy":{"description":"Manages an Azure Storage Account Management Policy.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"resourceGroupName\",\n    location: \"West Europe\",\n});\nconst exampleAccount = new azure.storage.Account(\"example\", {\n    name: \"storageaccountname\",\n    resourceGroupName: example.name,\n    location: example.location,\n    accountTier: \"Standard\",\n    accountReplicationType: \"LRS\",\n    accountKind: \"BlobStorage\",\n});\nconst exampleManagementPolicy = new azure.storage.ManagementPolicy(\"example\", {\n    storageAccountId: exampleAccount.id,\n    rules: [\n        {\n            name: \"rule1\",\n            enabled: true,\n            filters: {\n                prefixMatches: [\"container1/prefix1\"],\n                blobTypes: [\"blockBlob\"],\n                matchBlobIndexTags: [{\n                    name: \"tag1\",\n                    operation: \"==\",\n                    value: \"val1\",\n                }],\n            },\n            actions: {\n                baseBlob: {\n                    tierToCoolAfterDaysSinceModificationGreaterThan: 10,\n                    tierToArchiveAfterDaysSinceModificationGreaterThan: 50,\n                    deleteAfterDaysSinceModificationGreaterThan: 100,\n                },\n                snapshot: {\n                    deleteAfterDaysSinceCreationGreaterThan: 30,\n                },\n            },\n        },\n        {\n            name: \"rule2\",\n            enabled: false,\n            filters: {\n                prefixMatches: [\n                    \"container2/prefix1\",\n                    \"container2/prefix2\",\n                ],\n                blobTypes: [\"blockBlob\"],\n            },\n            actions: {\n                baseBlob: {\n                    tierToCoolAfterDaysSinceModificationGreaterThan: 11,\n                    tierToArchiveAfterDaysSinceModificationGreaterThan: 51,\n                    deleteAfterDaysSinceModificationGreaterThan: 101,\n                },\n                snapshot: {\n                    changeTierToArchiveAfterDaysSinceCreation: 90,\n                    changeTierToCoolAfterDaysSinceCreation: 23,\n                    deleteAfterDaysSinceCreationGreaterThan: 31,\n                },\n                version: {\n                    changeTierToArchiveAfterDaysSinceCreation: 9,\n                    changeTierToCoolAfterDaysSinceCreation: 90,\n                    deleteAfterDaysSinceCreation: 3,\n                },\n            },\n        },\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"resourceGroupName\",\n    location=\"West Europe\")\nexample_account = azure.storage.Account(\"example\",\n    name=\"storageaccountname\",\n    resource_group_name=example.name,\n    location=example.location,\n    account_tier=\"Standard\",\n    account_replication_type=\"LRS\",\n    account_kind=\"BlobStorage\")\nexample_management_policy = azure.storage.ManagementPolicy(\"example\",\n    storage_account_id=example_account.id,\n    rules=[\n        {\n            \"name\": \"rule1\",\n            \"enabled\": True,\n            \"filters\": {\n                \"prefix_matches\": [\"container1/prefix1\"],\n                \"blob_types\": [\"blockBlob\"],\n                \"match_blob_index_tags\": [{\n                    \"name\": \"tag1\",\n                    \"operation\": \"==\",\n                    \"value\": \"val1\",\n                }],\n            },\n            \"actions\": {\n                \"base_blob\": {\n                    \"tier_to_cool_after_days_since_modification_greater_than\": 10,\n                    \"tier_to_archive_after_days_since_modification_greater_than\": 50,\n                    \"delete_after_days_since_modification_greater_than\": 100,\n                },\n                \"snapshot\": {\n                    \"delete_after_days_since_creation_greater_than\": 30,\n                },\n            },\n        },\n        {\n            \"name\": \"rule2\",\n            \"enabled\": False,\n            \"filters\": {\n                \"prefix_matches\": [\n                    \"container2/prefix1\",\n                    \"container2/prefix2\",\n                ],\n                \"blob_types\": [\"blockBlob\"],\n            },\n            \"actions\": {\n                \"base_blob\": {\n                    \"tier_to_cool_after_days_since_modification_greater_than\": 11,\n                    \"tier_to_archive_after_days_since_modification_greater_than\": 51,\n                    \"delete_after_days_since_modification_greater_than\": 101,\n                },\n                \"snapshot\": {\n                    \"change_tier_to_archive_after_days_since_creation\": 90,\n                    \"change_tier_to_cool_after_days_since_creation\": 23,\n                    \"delete_after_days_since_creation_greater_than\": 31,\n                },\n                \"version\": {\n                    \"change_tier_to_archive_after_days_since_creation\": 9,\n                    \"change_tier_to_cool_after_days_since_creation\": 90,\n                    \"delete_after_days_since_creation\": 3,\n                },\n            },\n        },\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"resourceGroupName\",\n        Location = \"West Europe\",\n    });\n\n    var exampleAccount = new Azure.Storage.Account(\"example\", new()\n    {\n        Name = \"storageaccountname\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        AccountTier = \"Standard\",\n        AccountReplicationType = \"LRS\",\n        AccountKind = \"BlobStorage\",\n    });\n\n    var exampleManagementPolicy = new Azure.Storage.ManagementPolicy(\"example\", new()\n    {\n        StorageAccountId = exampleAccount.Id,\n        Rules = new[]\n        {\n            new Azure.Storage.Inputs.ManagementPolicyRuleArgs\n            {\n                Name = \"rule1\",\n                Enabled = true,\n                Filters = new Azure.Storage.Inputs.ManagementPolicyRuleFiltersArgs\n                {\n                    PrefixMatches = new[]\n                    {\n                        \"container1/prefix1\",\n                    },\n                    BlobTypes = new[]\n                    {\n                        \"blockBlob\",\n                    },\n                    MatchBlobIndexTags = new[]\n                    {\n                        new Azure.Storage.Inputs.ManagementPolicyRuleFiltersMatchBlobIndexTagArgs\n                        {\n                            Name = \"tag1\",\n                            Operation = \"==\",\n                            Value = \"val1\",\n                        },\n                    },\n                },\n                Actions = new Azure.Storage.Inputs.ManagementPolicyRuleActionsArgs\n                {\n                    BaseBlob = new Azure.Storage.Inputs.ManagementPolicyRuleActionsBaseBlobArgs\n                    {\n                        TierToCoolAfterDaysSinceModificationGreaterThan = 10,\n                        TierToArchiveAfterDaysSinceModificationGreaterThan = 50,\n                        DeleteAfterDaysSinceModificationGreaterThan = 100,\n                    },\n                    Snapshot = new Azure.Storage.Inputs.ManagementPolicyRuleActionsSnapshotArgs\n                    {\n                        DeleteAfterDaysSinceCreationGreaterThan = 30,\n                    },\n                },\n            },\n            new Azure.Storage.Inputs.ManagementPolicyRuleArgs\n            {\n                Name = \"rule2\",\n                Enabled = false,\n                Filters = new Azure.Storage.Inputs.ManagementPolicyRuleFiltersArgs\n                {\n                    PrefixMatches = new[]\n                    {\n                        \"container2/prefix1\",\n                        \"container2/prefix2\",\n                    },\n                    BlobTypes = new[]\n                    {\n                        \"blockBlob\",\n                    },\n                },\n                Actions = new Azure.Storage.Inputs.ManagementPolicyRuleActionsArgs\n                {\n                    BaseBlob = new Azure.Storage.Inputs.ManagementPolicyRuleActionsBaseBlobArgs\n                    {\n                        TierToCoolAfterDaysSinceModificationGreaterThan = 11,\n                        TierToArchiveAfterDaysSinceModificationGreaterThan = 51,\n                        DeleteAfterDaysSinceModificationGreaterThan = 101,\n                    },\n                    Snapshot = new Azure.Storage.Inputs.ManagementPolicyRuleActionsSnapshotArgs\n                    {\n                        ChangeTierToArchiveAfterDaysSinceCreation = 90,\n                        ChangeTierToCoolAfterDaysSinceCreation = 23,\n                        DeleteAfterDaysSinceCreationGreaterThan = 31,\n                    },\n                    Version = new Azure.Storage.Inputs.ManagementPolicyRuleActionsVersionArgs\n                    {\n                        ChangeTierToArchiveAfterDaysSinceCreation = 9,\n                        ChangeTierToCoolAfterDaysSinceCreation = 90,\n                        DeleteAfterDaysSinceCreation = 3,\n                    },\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"resourceGroupName\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := storage.NewAccount(ctx, \"example\", \u0026storage.AccountArgs{\n\t\t\tName:                   pulumi.String(\"storageaccountname\"),\n\t\t\tResourceGroupName:      example.Name,\n\t\t\tLocation:               example.Location,\n\t\t\tAccountTier:            pulumi.String(\"Standard\"),\n\t\t\tAccountReplicationType: pulumi.String(\"LRS\"),\n\t\t\tAccountKind:            pulumi.String(\"BlobStorage\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = storage.NewManagementPolicy(ctx, \"example\", \u0026storage.ManagementPolicyArgs{\n\t\t\tStorageAccountId: exampleAccount.ID(),\n\t\t\tRules: storage.ManagementPolicyRuleArray{\n\t\t\t\t\u0026storage.ManagementPolicyRuleArgs{\n\t\t\t\t\tName:    pulumi.String(\"rule1\"),\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\tFilters: \u0026storage.ManagementPolicyRuleFiltersArgs{\n\t\t\t\t\t\tPrefixMatches: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"container1/prefix1\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tBlobTypes: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"blockBlob\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tMatchBlobIndexTags: storage.ManagementPolicyRuleFiltersMatchBlobIndexTagArray{\n\t\t\t\t\t\t\t\u0026storage.ManagementPolicyRuleFiltersMatchBlobIndexTagArgs{\n\t\t\t\t\t\t\t\tName:      pulumi.String(\"tag1\"),\n\t\t\t\t\t\t\t\tOperation: pulumi.String(\"==\"),\n\t\t\t\t\t\t\t\tValue:     pulumi.String(\"val1\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tActions: \u0026storage.ManagementPolicyRuleActionsArgs{\n\t\t\t\t\t\tBaseBlob: \u0026storage.ManagementPolicyRuleActionsBaseBlobArgs{\n\t\t\t\t\t\t\tTierToCoolAfterDaysSinceModificationGreaterThan:    pulumi.Int(10),\n\t\t\t\t\t\t\tTierToArchiveAfterDaysSinceModificationGreaterThan: pulumi.Int(50),\n\t\t\t\t\t\t\tDeleteAfterDaysSinceModificationGreaterThan:        pulumi.Int(100),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tSnapshot: \u0026storage.ManagementPolicyRuleActionsSnapshotArgs{\n\t\t\t\t\t\t\tDeleteAfterDaysSinceCreationGreaterThan: pulumi.Int(30),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026storage.ManagementPolicyRuleArgs{\n\t\t\t\t\tName:    pulumi.String(\"rule2\"),\n\t\t\t\t\tEnabled: pulumi.Bool(false),\n\t\t\t\t\tFilters: \u0026storage.ManagementPolicyRuleFiltersArgs{\n\t\t\t\t\t\tPrefixMatches: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"container2/prefix1\"),\n\t\t\t\t\t\t\tpulumi.String(\"container2/prefix2\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tBlobTypes: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"blockBlob\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tActions: \u0026storage.ManagementPolicyRuleActionsArgs{\n\t\t\t\t\t\tBaseBlob: \u0026storage.ManagementPolicyRuleActionsBaseBlobArgs{\n\t\t\t\t\t\t\tTierToCoolAfterDaysSinceModificationGreaterThan:    pulumi.Int(11),\n\t\t\t\t\t\t\tTierToArchiveAfterDaysSinceModificationGreaterThan: pulumi.Int(51),\n\t\t\t\t\t\t\tDeleteAfterDaysSinceModificationGreaterThan:        pulumi.Int(101),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tSnapshot: \u0026storage.ManagementPolicyRuleActionsSnapshotArgs{\n\t\t\t\t\t\t\tChangeTierToArchiveAfterDaysSinceCreation: pulumi.Int(90),\n\t\t\t\t\t\t\tChangeTierToCoolAfterDaysSinceCreation:    pulumi.Int(23),\n\t\t\t\t\t\t\tDeleteAfterDaysSinceCreationGreaterThan:   pulumi.Int(31),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tVersion: \u0026storage.ManagementPolicyRuleActionsVersionArgs{\n\t\t\t\t\t\t\tChangeTierToArchiveAfterDaysSinceCreation: pulumi.Int(9),\n\t\t\t\t\t\t\tChangeTierToCoolAfterDaysSinceCreation:    pulumi.Int(90),\n\t\t\t\t\t\t\tDeleteAfterDaysSinceCreation:              pulumi.Int(3),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.storage.Account;\nimport com.pulumi.azure.storage.AccountArgs;\nimport com.pulumi.azure.storage.ManagementPolicy;\nimport com.pulumi.azure.storage.ManagementPolicyArgs;\nimport com.pulumi.azure.storage.inputs.ManagementPolicyRuleArgs;\nimport com.pulumi.azure.storage.inputs.ManagementPolicyRuleFiltersArgs;\nimport com.pulumi.azure.storage.inputs.ManagementPolicyRuleActionsArgs;\nimport com.pulumi.azure.storage.inputs.ManagementPolicyRuleActionsBaseBlobArgs;\nimport com.pulumi.azure.storage.inputs.ManagementPolicyRuleActionsSnapshotArgs;\nimport com.pulumi.azure.storage.inputs.ManagementPolicyRuleActionsVersionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"resourceGroupName\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"storageaccountname\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .accountTier(\"Standard\")\n            .accountReplicationType(\"LRS\")\n            .accountKind(\"BlobStorage\")\n            .build());\n\n        var exampleManagementPolicy = new ManagementPolicy(\"exampleManagementPolicy\", ManagementPolicyArgs.builder()\n            .storageAccountId(exampleAccount.id())\n            .rules(            \n                ManagementPolicyRuleArgs.builder()\n                    .name(\"rule1\")\n                    .enabled(true)\n                    .filters(ManagementPolicyRuleFiltersArgs.builder()\n                        .prefixMatches(\"container1/prefix1\")\n                        .blobTypes(\"blockBlob\")\n                        .matchBlobIndexTags(ManagementPolicyRuleFiltersMatchBlobIndexTagArgs.builder()\n                            .name(\"tag1\")\n                            .operation(\"==\")\n                            .value(\"val1\")\n                            .build())\n                        .build())\n                    .actions(ManagementPolicyRuleActionsArgs.builder()\n                        .baseBlob(ManagementPolicyRuleActionsBaseBlobArgs.builder()\n                            .tierToCoolAfterDaysSinceModificationGreaterThan(10)\n                            .tierToArchiveAfterDaysSinceModificationGreaterThan(50)\n                            .deleteAfterDaysSinceModificationGreaterThan(100)\n                            .build())\n                        .snapshot(ManagementPolicyRuleActionsSnapshotArgs.builder()\n                            .deleteAfterDaysSinceCreationGreaterThan(30)\n                            .build())\n                        .build())\n                    .build(),\n                ManagementPolicyRuleArgs.builder()\n                    .name(\"rule2\")\n                    .enabled(false)\n                    .filters(ManagementPolicyRuleFiltersArgs.builder()\n                        .prefixMatches(                        \n                            \"container2/prefix1\",\n                            \"container2/prefix2\")\n                        .blobTypes(\"blockBlob\")\n                        .build())\n                    .actions(ManagementPolicyRuleActionsArgs.builder()\n                        .baseBlob(ManagementPolicyRuleActionsBaseBlobArgs.builder()\n                            .tierToCoolAfterDaysSinceModificationGreaterThan(11)\n                            .tierToArchiveAfterDaysSinceModificationGreaterThan(51)\n                            .deleteAfterDaysSinceModificationGreaterThan(101)\n                            .build())\n                        .snapshot(ManagementPolicyRuleActionsSnapshotArgs.builder()\n                            .changeTierToArchiveAfterDaysSinceCreation(90)\n                            .changeTierToCoolAfterDaysSinceCreation(23)\n                            .deleteAfterDaysSinceCreationGreaterThan(31)\n                            .build())\n                        .version(ManagementPolicyRuleActionsVersionArgs.builder()\n                            .changeTierToArchiveAfterDaysSinceCreation(9)\n                            .changeTierToCoolAfterDaysSinceCreation(90)\n                            .deleteAfterDaysSinceCreation(3)\n                            .build())\n                        .build())\n                    .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: resourceGroupName\n      location: West Europe\n  exampleAccount:\n    type: azure:storage:Account\n    name: example\n    properties:\n      name: storageaccountname\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      accountTier: Standard\n      accountReplicationType: LRS\n      accountKind: BlobStorage\n  exampleManagementPolicy:\n    type: azure:storage:ManagementPolicy\n    name: example\n    properties:\n      storageAccountId: ${exampleAccount.id}\n      rules:\n        - name: rule1\n          enabled: true\n          filters:\n            prefixMatches:\n              - container1/prefix1\n            blobTypes:\n              - blockBlob\n            matchBlobIndexTags:\n              - name: tag1\n                operation: ==\n                value: val1\n          actions:\n            baseBlob:\n              tierToCoolAfterDaysSinceModificationGreaterThan: 10\n              tierToArchiveAfterDaysSinceModificationGreaterThan: 50\n              deleteAfterDaysSinceModificationGreaterThan: 100\n            snapshot:\n              deleteAfterDaysSinceCreationGreaterThan: 30\n        - name: rule2\n          enabled: false\n          filters:\n            prefixMatches:\n              - container2/prefix1\n              - container2/prefix2\n            blobTypes:\n              - blockBlob\n          actions:\n            baseBlob:\n              tierToCoolAfterDaysSinceModificationGreaterThan: 11\n              tierToArchiveAfterDaysSinceModificationGreaterThan: 51\n              deleteAfterDaysSinceModificationGreaterThan: 101\n            snapshot:\n              changeTierToArchiveAfterDaysSinceCreation: 90\n              changeTierToCoolAfterDaysSinceCreation: 23\n              deleteAfterDaysSinceCreationGreaterThan: 31\n            version:\n              changeTierToArchiveAfterDaysSinceCreation: 9\n              changeTierToCoolAfterDaysSinceCreation: 90\n              deleteAfterDaysSinceCreation: 3\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Storage` - 2023-05-01\n\n## Import\n\nStorage Account Management Policies can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:storage/managementPolicy:ManagementPolicy example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Storage/storageAccounts/myaccountname/managementPolicies/default\n```\n\n","properties":{"rules":{"type":"array","items":{"$ref":"#/types/azure:storage/ManagementPolicyRule:ManagementPolicyRule"},"description":"A \u003cspan pulumi-lang-nodejs=\"`rule`\" pulumi-lang-dotnet=\"`Rule`\" pulumi-lang-go=\"`rule`\" pulumi-lang-python=\"`rule`\" pulumi-lang-yaml=\"`rule`\" pulumi-lang-java=\"`rule`\"\u003e`rule`\u003c/span\u003e block as documented below.\n"},"storageAccountId":{"type":"string","description":"Specifies the id of the storage account to apply the management policy to. Changing this forces a new resource to be created.\n"}},"required":["storageAccountId"],"inputProperties":{"rules":{"type":"array","items":{"$ref":"#/types/azure:storage/ManagementPolicyRule:ManagementPolicyRule"},"description":"A \u003cspan pulumi-lang-nodejs=\"`rule`\" pulumi-lang-dotnet=\"`Rule`\" pulumi-lang-go=\"`rule`\" pulumi-lang-python=\"`rule`\" pulumi-lang-yaml=\"`rule`\" pulumi-lang-java=\"`rule`\"\u003e`rule`\u003c/span\u003e block as documented below.\n"},"storageAccountId":{"type":"string","description":"Specifies the id of the storage account to apply the management policy to. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["storageAccountId"],"stateInputs":{"description":"Input properties used for looking up and filtering ManagementPolicy resources.\n","properties":{"rules":{"type":"array","items":{"$ref":"#/types/azure:storage/ManagementPolicyRule:ManagementPolicyRule"},"description":"A \u003cspan pulumi-lang-nodejs=\"`rule`\" pulumi-lang-dotnet=\"`Rule`\" pulumi-lang-go=\"`rule`\" pulumi-lang-python=\"`rule`\" pulumi-lang-yaml=\"`rule`\" pulumi-lang-java=\"`rule`\"\u003e`rule`\u003c/span\u003e block as documented below.\n"},"storageAccountId":{"type":"string","description":"Specifies the id of the storage account to apply the management policy to. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:storage/mover:Mover":{"description":"Manages a Storage Mover.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleMover = new azure.storage.Mover(\"example\", {\n    name: \"example-ssm\",\n    resourceGroupName: example.name,\n    location: \"West Europe\",\n    description: \"Example Storage Mover Description\",\n    tags: {\n        key: \"value\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_mover = azure.storage.Mover(\"example\",\n    name=\"example-ssm\",\n    resource_group_name=example.name,\n    location=\"West Europe\",\n    description=\"Example Storage Mover Description\",\n    tags={\n        \"key\": \"value\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleMover = new Azure.Storage.Mover(\"example\", new()\n    {\n        Name = \"example-ssm\",\n        ResourceGroupName = example.Name,\n        Location = \"West Europe\",\n        Description = \"Example Storage Mover Description\",\n        Tags = \n        {\n            { \"key\", \"value\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = storage.NewMover(ctx, \"example\", \u0026storage.MoverArgs{\n\t\t\tName:              pulumi.String(\"example-ssm\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          pulumi.String(\"West Europe\"),\n\t\t\tDescription:       pulumi.String(\"Example Storage Mover Description\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"key\": pulumi.String(\"value\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.storage.Mover;\nimport com.pulumi.azure.storage.MoverArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleMover = new Mover(\"exampleMover\", MoverArgs.builder()\n            .name(\"example-ssm\")\n            .resourceGroupName(example.name())\n            .location(\"West Europe\")\n            .description(\"Example Storage Mover Description\")\n            .tags(Map.of(\"key\", \"value\"))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleMover:\n    type: azure:storage:Mover\n    name: example\n    properties:\n      name: example-ssm\n      resourceGroupName: ${example.name}\n      location: West Europe\n      description: Example Storage Mover Description\n      tags:\n        key: value\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.StorageMover` - 2025-07-01\n\n## Import\n\nStorage Mover can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:storage/mover:Mover example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup1/providers/Microsoft.StorageMover/storageMovers/storageMover1\n```\n\n","properties":{"description":{"type":"string","description":"A description for the Storage Mover.\n"},"location":{"type":"string","description":"Specifies the Azure Region where the Storage Mover should exist. Changing this forces a new Storage Mover to be created.\n"},"name":{"type":"string","description":"Specifies the name which should be used for this Storage Mover. Changing this forces a new Storage Mover to be created.\n"},"resourceGroupName":{"type":"string","description":"Specifies the name of the Resource Group where the Storage Mover should exist. Changing this forces a new Storage Mover to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Storage Mover.\n"}},"required":["location","name","resourceGroupName"],"inputProperties":{"description":{"type":"string","description":"A description for the Storage Mover.\n"},"location":{"type":"string","description":"Specifies the Azure Region where the Storage Mover should exist. Changing this forces a new Storage Mover to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name which should be used for this Storage Mover. Changing this forces a new Storage Mover to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"Specifies the name of the Resource Group where the Storage Mover should exist. Changing this forces a new Storage Mover to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Storage Mover.\n"}},"requiredInputs":["resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering Mover resources.\n","properties":{"description":{"type":"string","description":"A description for the Storage Mover.\n"},"location":{"type":"string","description":"Specifies the Azure Region where the Storage Mover should exist. Changing this forces a new Storage Mover to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name which should be used for this Storage Mover. Changing this forces a new Storage Mover to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"Specifies the name of the Resource Group where the Storage Mover should exist. Changing this forces a new Storage Mover to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Storage Mover.\n"}},"type":"object"}},"azure:storage/moverAgent:MoverAgent":{"description":"Manages a Storage Mover Agent.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"East US\",\n});\nconst exampleMover = new azure.storage.Mover(\"example\", {\n    name: \"example-ssm\",\n    resourceGroupName: example.name,\n});\nconst exampleMoverAgent = new azure.storage.MoverAgent(\"example\", {\n    name: \"example-sa\",\n    storageMoverId: exampleMover.id,\n    arcVirtualMachineId: pulumi.interpolate`${example.id}/providers/Microsoft.HybridCompute/machines/examples-hybridComputeName`,\n    arcVirtualMachineUuid: \"3bb2c024-eba9-4d18-9e7a-1d772fcc5fe9\",\n    description: \"Example Agent Description\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"East US\")\nexample_mover = azure.storage.Mover(\"example\",\n    name=\"example-ssm\",\n    resource_group_name=example.name)\nexample_mover_agent = azure.storage.MoverAgent(\"example\",\n    name=\"example-sa\",\n    storage_mover_id=example_mover.id,\n    arc_virtual_machine_id=example.id.apply(lambda id: f\"{id}/providers/Microsoft.HybridCompute/machines/examples-hybridComputeName\"),\n    arc_virtual_machine_uuid=\"3bb2c024-eba9-4d18-9e7a-1d772fcc5fe9\",\n    description=\"Example Agent Description\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"East US\",\n    });\n\n    var exampleMover = new Azure.Storage.Mover(\"example\", new()\n    {\n        Name = \"example-ssm\",\n        ResourceGroupName = example.Name,\n    });\n\n    var exampleMoverAgent = new Azure.Storage.MoverAgent(\"example\", new()\n    {\n        Name = \"example-sa\",\n        StorageMoverId = exampleMover.Id,\n        ArcVirtualMachineId = example.Id.Apply(id =\u003e $\"{id}/providers/Microsoft.HybridCompute/machines/examples-hybridComputeName\"),\n        ArcVirtualMachineUuid = \"3bb2c024-eba9-4d18-9e7a-1d772fcc5fe9\",\n        Description = \"Example Agent Description\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"East US\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleMover, err := storage.NewMover(ctx, \"example\", \u0026storage.MoverArgs{\n\t\t\tName:              pulumi.String(\"example-ssm\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = storage.NewMoverAgent(ctx, \"example\", \u0026storage.MoverAgentArgs{\n\t\t\tName:           pulumi.String(\"example-sa\"),\n\t\t\tStorageMoverId: exampleMover.ID(),\n\t\t\tArcVirtualMachineId: example.ID().ApplyT(func(id string) (string, error) {\n\t\t\t\treturn fmt.Sprintf(\"%v/providers/Microsoft.HybridCompute/machines/examples-hybridComputeName\", id), nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t\tArcVirtualMachineUuid: pulumi.String(\"3bb2c024-eba9-4d18-9e7a-1d772fcc5fe9\"),\n\t\t\tDescription:           pulumi.String(\"Example Agent Description\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.storage.Mover;\nimport com.pulumi.azure.storage.MoverArgs;\nimport com.pulumi.azure.storage.MoverAgent;\nimport com.pulumi.azure.storage.MoverAgentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"East US\")\n            .build());\n\n        var exampleMover = new Mover(\"exampleMover\", MoverArgs.builder()\n            .name(\"example-ssm\")\n            .resourceGroupName(example.name())\n            .build());\n\n        var exampleMoverAgent = new MoverAgent(\"exampleMoverAgent\", MoverAgentArgs.builder()\n            .name(\"example-sa\")\n            .storageMoverId(exampleMover.id())\n            .arcVirtualMachineId(example.id().applyValue(_id -\u003e String.format(\"%s/providers/Microsoft.HybridCompute/machines/examples-hybridComputeName\", _id)))\n            .arcVirtualMachineUuid(\"3bb2c024-eba9-4d18-9e7a-1d772fcc5fe9\")\n            .description(\"Example Agent Description\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: East US\n  exampleMover:\n    type: azure:storage:Mover\n    name: example\n    properties:\n      name: example-ssm\n      resourceGroupName: ${example.name}\n  exampleMoverAgent:\n    type: azure:storage:MoverAgent\n    name: example\n    properties:\n      name: example-sa\n      storageMoverId: ${exampleMover.id}\n      arcVirtualMachineId: ${example.id}/providers/Microsoft.HybridCompute/machines/examples-hybridComputeName\n      arcVirtualMachineUuid: 3bb2c024-eba9-4d18-9e7a-1d772fcc5fe9\n      description: Example Agent Description\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.StorageMover` - 2023-03-01\n\n## Import\n\nStorage Mover Agent can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:storage/moverAgent:MoverAgent example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup1/providers/Microsoft.StorageMover/storageMovers/storageMover1/agents/agent1\n```\n\n","properties":{"arcVirtualMachineId":{"type":"string","description":"Specifies the fully qualified ID of the Hybrid Compute resource for the Storage Mover Agent. Changing this forces a new resource to be created.\n"},"arcVirtualMachineUuid":{"type":"string","description":"Specifies the Hybrid Compute resource's unique SMBIOS ID. Changing this forces a new resource to be created.\n"},"description":{"type":"string","description":"Specifies a description for this Storage Mover Agent.\n"},"name":{"type":"string","description":"Specifies the name which should be used for this Storage Mover Agent. Changing this forces a new resource to be created.\n"},"storageMoverId":{"type":"string","description":"Specifies the ID of the Storage Mover that this Agent should be connected to. Changing this forces a new resource to be created.\n"}},"required":["arcVirtualMachineId","arcVirtualMachineUuid","name","storageMoverId"],"inputProperties":{"arcVirtualMachineId":{"type":"string","description":"Specifies the fully qualified ID of the Hybrid Compute resource for the Storage Mover Agent. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"arcVirtualMachineUuid":{"type":"string","description":"Specifies the Hybrid Compute resource's unique SMBIOS ID. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"description":{"type":"string","description":"Specifies a description for this Storage Mover Agent.\n"},"name":{"type":"string","description":"Specifies the name which should be used for this Storage Mover Agent. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"storageMoverId":{"type":"string","description":"Specifies the ID of the Storage Mover that this Agent should be connected to. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["arcVirtualMachineId","arcVirtualMachineUuid","storageMoverId"],"stateInputs":{"description":"Input properties used for looking up and filtering MoverAgent resources.\n","properties":{"arcVirtualMachineId":{"type":"string","description":"Specifies the fully qualified ID of the Hybrid Compute resource for the Storage Mover Agent. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"arcVirtualMachineUuid":{"type":"string","description":"Specifies the Hybrid Compute resource's unique SMBIOS ID. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"description":{"type":"string","description":"Specifies a description for this Storage Mover Agent.\n"},"name":{"type":"string","description":"Specifies the name which should be used for this Storage Mover Agent. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"storageMoverId":{"type":"string","description":"Specifies the ID of the Storage Mover that this Agent should be connected to. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:storage/moverJobDefinition:MoverJobDefinition":{"description":"Manages a Storage Mover Job Definition.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleMover = new azure.storage.Mover(\"example\", {\n    name: \"example-ssm\",\n    resourceGroupName: example.name,\n    location: example.location,\n});\nconst exampleMoverAgent = new azure.storage.MoverAgent(\"example\", {\n    name: \"example-agent\",\n    storageMoverId: exampleMover.id,\n    arcVirtualMachineId: pulumi.interpolate`${example.id}/providers/Microsoft.HybridCompute/machines/examples-hybridComputeName`,\n    arcVirtualMachineUuid: \"3bb2c024-eba9-4d18-9e7a-1d772fcc5fe9\",\n});\nconst exampleAccount = new azure.storage.Account(\"example\", {\n    name: \"examplesa\",\n    resourceGroupName: example.name,\n    location: example.location,\n    accountTier: \"Standard\",\n    accountReplicationType: \"LRS\",\n    allowNestedItemsToBePublic: true,\n});\nconst exampleContainer = new azure.storage.Container(\"example\", {\n    name: \"acccontainer\",\n    storageAccountName: exampleAccount.name,\n    containerAccessType: \"blob\",\n});\nconst exampleMoverTargetEndpoint = new azure.storage.MoverTargetEndpoint(\"example\", {\n    name: \"example-smte\",\n    storageMoverId: exampleMover.id,\n    storageAccountId: exampleAccount.id,\n    storageContainerName: exampleContainer.name,\n});\nconst exampleMoverSourceEndpoint = new azure.storage.MoverSourceEndpoint(\"example\", {\n    name: \"example-smse\",\n    storageMoverId: exampleMover.id,\n    host: \"192.168.0.1\",\n});\nconst exampleMoverProject = new azure.storage.MoverProject(\"example\", {\n    name: \"example-sp\",\n    storageMoverId: exampleMover.id,\n});\nconst exampleMoverJobDefinition = new azure.storage.MoverJobDefinition(\"example\", {\n    name: \"example-sjd\",\n    storageMoverProjectId: exampleMoverProject.id,\n    agentName: exampleMoverAgent.name,\n    copyMode: \"Additive\",\n    sourceName: exampleMoverSourceEndpoint.name,\n    sourceSubPath: \"/\",\n    targetName: exampleMoverTargetEndpoint.name,\n    targetSubPath: \"/\",\n    description: \"Example Job Definition Description\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_mover = azure.storage.Mover(\"example\",\n    name=\"example-ssm\",\n    resource_group_name=example.name,\n    location=example.location)\nexample_mover_agent = azure.storage.MoverAgent(\"example\",\n    name=\"example-agent\",\n    storage_mover_id=example_mover.id,\n    arc_virtual_machine_id=example.id.apply(lambda id: f\"{id}/providers/Microsoft.HybridCompute/machines/examples-hybridComputeName\"),\n    arc_virtual_machine_uuid=\"3bb2c024-eba9-4d18-9e7a-1d772fcc5fe9\")\nexample_account = azure.storage.Account(\"example\",\n    name=\"examplesa\",\n    resource_group_name=example.name,\n    location=example.location,\n    account_tier=\"Standard\",\n    account_replication_type=\"LRS\",\n    allow_nested_items_to_be_public=True)\nexample_container = azure.storage.Container(\"example\",\n    name=\"acccontainer\",\n    storage_account_name=example_account.name,\n    container_access_type=\"blob\")\nexample_mover_target_endpoint = azure.storage.MoverTargetEndpoint(\"example\",\n    name=\"example-smte\",\n    storage_mover_id=example_mover.id,\n    storage_account_id=example_account.id,\n    storage_container_name=example_container.name)\nexample_mover_source_endpoint = azure.storage.MoverSourceEndpoint(\"example\",\n    name=\"example-smse\",\n    storage_mover_id=example_mover.id,\n    host=\"192.168.0.1\")\nexample_mover_project = azure.storage.MoverProject(\"example\",\n    name=\"example-sp\",\n    storage_mover_id=example_mover.id)\nexample_mover_job_definition = azure.storage.MoverJobDefinition(\"example\",\n    name=\"example-sjd\",\n    storage_mover_project_id=example_mover_project.id,\n    agent_name=example_mover_agent.name,\n    copy_mode=\"Additive\",\n    source_name=example_mover_source_endpoint.name,\n    source_sub_path=\"/\",\n    target_name=example_mover_target_endpoint.name,\n    target_sub_path=\"/\",\n    description=\"Example Job Definition Description\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleMover = new Azure.Storage.Mover(\"example\", new()\n    {\n        Name = \"example-ssm\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n    });\n\n    var exampleMoverAgent = new Azure.Storage.MoverAgent(\"example\", new()\n    {\n        Name = \"example-agent\",\n        StorageMoverId = exampleMover.Id,\n        ArcVirtualMachineId = example.Id.Apply(id =\u003e $\"{id}/providers/Microsoft.HybridCompute/machines/examples-hybridComputeName\"),\n        ArcVirtualMachineUuid = \"3bb2c024-eba9-4d18-9e7a-1d772fcc5fe9\",\n    });\n\n    var exampleAccount = new Azure.Storage.Account(\"example\", new()\n    {\n        Name = \"examplesa\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        AccountTier = \"Standard\",\n        AccountReplicationType = \"LRS\",\n        AllowNestedItemsToBePublic = true,\n    });\n\n    var exampleContainer = new Azure.Storage.Container(\"example\", new()\n    {\n        Name = \"acccontainer\",\n        StorageAccountName = exampleAccount.Name,\n        ContainerAccessType = \"blob\",\n    });\n\n    var exampleMoverTargetEndpoint = new Azure.Storage.MoverTargetEndpoint(\"example\", new()\n    {\n        Name = \"example-smte\",\n        StorageMoverId = exampleMover.Id,\n        StorageAccountId = exampleAccount.Id,\n        StorageContainerName = exampleContainer.Name,\n    });\n\n    var exampleMoverSourceEndpoint = new Azure.Storage.MoverSourceEndpoint(\"example\", new()\n    {\n        Name = \"example-smse\",\n        StorageMoverId = exampleMover.Id,\n        Host = \"192.168.0.1\",\n    });\n\n    var exampleMoverProject = new Azure.Storage.MoverProject(\"example\", new()\n    {\n        Name = \"example-sp\",\n        StorageMoverId = exampleMover.Id,\n    });\n\n    var exampleMoverJobDefinition = new Azure.Storage.MoverJobDefinition(\"example\", new()\n    {\n        Name = \"example-sjd\",\n        StorageMoverProjectId = exampleMoverProject.Id,\n        AgentName = exampleMoverAgent.Name,\n        CopyMode = \"Additive\",\n        SourceName = exampleMoverSourceEndpoint.Name,\n        SourceSubPath = \"/\",\n        TargetName = exampleMoverTargetEndpoint.Name,\n        TargetSubPath = \"/\",\n        Description = \"Example Job Definition Description\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleMover, err := storage.NewMover(ctx, \"example\", \u0026storage.MoverArgs{\n\t\t\tName:              pulumi.String(\"example-ssm\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleMoverAgent, err := storage.NewMoverAgent(ctx, \"example\", \u0026storage.MoverAgentArgs{\n\t\t\tName:           pulumi.String(\"example-agent\"),\n\t\t\tStorageMoverId: exampleMover.ID(),\n\t\t\tArcVirtualMachineId: example.ID().ApplyT(func(id string) (string, error) {\n\t\t\t\treturn fmt.Sprintf(\"%v/providers/Microsoft.HybridCompute/machines/examples-hybridComputeName\", id), nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t\tArcVirtualMachineUuid: pulumi.String(\"3bb2c024-eba9-4d18-9e7a-1d772fcc5fe9\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := storage.NewAccount(ctx, \"example\", \u0026storage.AccountArgs{\n\t\t\tName:                       pulumi.String(\"examplesa\"),\n\t\t\tResourceGroupName:          example.Name,\n\t\t\tLocation:                   example.Location,\n\t\t\tAccountTier:                pulumi.String(\"Standard\"),\n\t\t\tAccountReplicationType:     pulumi.String(\"LRS\"),\n\t\t\tAllowNestedItemsToBePublic: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleContainer, err := storage.NewContainer(ctx, \"example\", \u0026storage.ContainerArgs{\n\t\t\tName:                pulumi.String(\"acccontainer\"),\n\t\t\tStorageAccountName:  exampleAccount.Name,\n\t\t\tContainerAccessType: pulumi.String(\"blob\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleMoverTargetEndpoint, err := storage.NewMoverTargetEndpoint(ctx, \"example\", \u0026storage.MoverTargetEndpointArgs{\n\t\t\tName:                 pulumi.String(\"example-smte\"),\n\t\t\tStorageMoverId:       exampleMover.ID(),\n\t\t\tStorageAccountId:     exampleAccount.ID(),\n\t\t\tStorageContainerName: exampleContainer.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleMoverSourceEndpoint, err := storage.NewMoverSourceEndpoint(ctx, \"example\", \u0026storage.MoverSourceEndpointArgs{\n\t\t\tName:           pulumi.String(\"example-smse\"),\n\t\t\tStorageMoverId: exampleMover.ID(),\n\t\t\tHost:           pulumi.String(\"192.168.0.1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleMoverProject, err := storage.NewMoverProject(ctx, \"example\", \u0026storage.MoverProjectArgs{\n\t\t\tName:           pulumi.String(\"example-sp\"),\n\t\t\tStorageMoverId: exampleMover.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = storage.NewMoverJobDefinition(ctx, \"example\", \u0026storage.MoverJobDefinitionArgs{\n\t\t\tName:                  pulumi.String(\"example-sjd\"),\n\t\t\tStorageMoverProjectId: exampleMoverProject.ID(),\n\t\t\tAgentName:             exampleMoverAgent.Name,\n\t\t\tCopyMode:              pulumi.String(\"Additive\"),\n\t\t\tSourceName:            exampleMoverSourceEndpoint.Name,\n\t\t\tSourceSubPath:         pulumi.String(\"/\"),\n\t\t\tTargetName:            exampleMoverTargetEndpoint.Name,\n\t\t\tTargetSubPath:         pulumi.String(\"/\"),\n\t\t\tDescription:           pulumi.String(\"Example Job Definition Description\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.storage.Mover;\nimport com.pulumi.azure.storage.MoverArgs;\nimport com.pulumi.azure.storage.MoverAgent;\nimport com.pulumi.azure.storage.MoverAgentArgs;\nimport com.pulumi.azure.storage.Account;\nimport com.pulumi.azure.storage.AccountArgs;\nimport com.pulumi.azure.storage.Container;\nimport com.pulumi.azure.storage.ContainerArgs;\nimport com.pulumi.azure.storage.MoverTargetEndpoint;\nimport com.pulumi.azure.storage.MoverTargetEndpointArgs;\nimport com.pulumi.azure.storage.MoverSourceEndpoint;\nimport com.pulumi.azure.storage.MoverSourceEndpointArgs;\nimport com.pulumi.azure.storage.MoverProject;\nimport com.pulumi.azure.storage.MoverProjectArgs;\nimport com.pulumi.azure.storage.MoverJobDefinition;\nimport com.pulumi.azure.storage.MoverJobDefinitionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleMover = new Mover(\"exampleMover\", MoverArgs.builder()\n            .name(\"example-ssm\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .build());\n\n        var exampleMoverAgent = new MoverAgent(\"exampleMoverAgent\", MoverAgentArgs.builder()\n            .name(\"example-agent\")\n            .storageMoverId(exampleMover.id())\n            .arcVirtualMachineId(example.id().applyValue(_id -\u003e String.format(\"%s/providers/Microsoft.HybridCompute/machines/examples-hybridComputeName\", _id)))\n            .arcVirtualMachineUuid(\"3bb2c024-eba9-4d18-9e7a-1d772fcc5fe9\")\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"examplesa\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .accountTier(\"Standard\")\n            .accountReplicationType(\"LRS\")\n            .allowNestedItemsToBePublic(true)\n            .build());\n\n        var exampleContainer = new Container(\"exampleContainer\", ContainerArgs.builder()\n            .name(\"acccontainer\")\n            .storageAccountName(exampleAccount.name())\n            .containerAccessType(\"blob\")\n            .build());\n\n        var exampleMoverTargetEndpoint = new MoverTargetEndpoint(\"exampleMoverTargetEndpoint\", MoverTargetEndpointArgs.builder()\n            .name(\"example-smte\")\n            .storageMoverId(exampleMover.id())\n            .storageAccountId(exampleAccount.id())\n            .storageContainerName(exampleContainer.name())\n            .build());\n\n        var exampleMoverSourceEndpoint = new MoverSourceEndpoint(\"exampleMoverSourceEndpoint\", MoverSourceEndpointArgs.builder()\n            .name(\"example-smse\")\n            .storageMoverId(exampleMover.id())\n            .host(\"192.168.0.1\")\n            .build());\n\n        var exampleMoverProject = new MoverProject(\"exampleMoverProject\", MoverProjectArgs.builder()\n            .name(\"example-sp\")\n            .storageMoverId(exampleMover.id())\n            .build());\n\n        var exampleMoverJobDefinition = new MoverJobDefinition(\"exampleMoverJobDefinition\", MoverJobDefinitionArgs.builder()\n            .name(\"example-sjd\")\n            .storageMoverProjectId(exampleMoverProject.id())\n            .agentName(exampleMoverAgent.name())\n            .copyMode(\"Additive\")\n            .sourceName(exampleMoverSourceEndpoint.name())\n            .sourceSubPath(\"/\")\n            .targetName(exampleMoverTargetEndpoint.name())\n            .targetSubPath(\"/\")\n            .description(\"Example Job Definition Description\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleMover:\n    type: azure:storage:Mover\n    name: example\n    properties:\n      name: example-ssm\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n  exampleMoverAgent:\n    type: azure:storage:MoverAgent\n    name: example\n    properties:\n      name: example-agent\n      storageMoverId: ${exampleMover.id}\n      arcVirtualMachineId: ${example.id}/providers/Microsoft.HybridCompute/machines/examples-hybridComputeName\n      arcVirtualMachineUuid: 3bb2c024-eba9-4d18-9e7a-1d772fcc5fe9\n  exampleAccount:\n    type: azure:storage:Account\n    name: example\n    properties:\n      name: examplesa\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      accountTier: Standard\n      accountReplicationType: LRS\n      allowNestedItemsToBePublic: true\n  exampleContainer:\n    type: azure:storage:Container\n    name: example\n    properties:\n      name: acccontainer\n      storageAccountName: ${exampleAccount.name}\n      containerAccessType: blob\n  exampleMoverTargetEndpoint:\n    type: azure:storage:MoverTargetEndpoint\n    name: example\n    properties:\n      name: example-smte\n      storageMoverId: ${exampleMover.id}\n      storageAccountId: ${exampleAccount.id}\n      storageContainerName: ${exampleContainer.name}\n  exampleMoverSourceEndpoint:\n    type: azure:storage:MoverSourceEndpoint\n    name: example\n    properties:\n      name: example-smse\n      storageMoverId: ${exampleMover.id}\n      host: 192.168.0.1\n  exampleMoverProject:\n    type: azure:storage:MoverProject\n    name: example\n    properties:\n      name: example-sp\n      storageMoverId: ${exampleMover.id}\n  exampleMoverJobDefinition:\n    type: azure:storage:MoverJobDefinition\n    name: example\n    properties:\n      name: example-sjd\n      storageMoverProjectId: ${exampleMoverProject.id}\n      agentName: ${exampleMoverAgent.name}\n      copyMode: Additive\n      sourceName: ${exampleMoverSourceEndpoint.name}\n      sourceSubPath: /\n      targetName: ${exampleMoverTargetEndpoint.name}\n      targetSubPath: /\n      description: Example Job Definition Description\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.StorageMover` - 2025-07-01\n\n## Import\n\nStorage Mover Job Definition can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:storage/moverJobDefinition:MoverJobDefinition example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup1/providers/Microsoft.StorageMover/storageMovers/storageMover1/projects/project1/jobDefinitions/jobDefinition1\n```\n\n","properties":{"agentName":{"type":"string","description":"Specifies the name of the Storage Mover Agent to assign for new Job Runs of this Storage Mover Job Definition.\n"},"copyMode":{"type":"string","description":"Specifies the strategy to use for copy. Possible values are `Additive` and `Mirror`.\n"},"description":{"type":"string","description":"Specifies a description for this Storage Mover Job Definition.\n"},"name":{"type":"string","description":"Specifies the name which should be used for this Storage Mover Job Definition. Changing this forces a new resource to be created.\n"},"sourceName":{"type":"string","description":"Specifies the name of the Storage Mover Source Endpoint. Changing this forces a new resource to be created.\n"},"sourceSubPath":{"type":"string","description":"Specifies the sub path to use when reading from the Storage Mover Source Endpoint. Changing this forces a new resource to be created.\n"},"storageMoverProjectId":{"type":"string","description":"Specifies the ID of the Storage Mover Project. Changing this forces a new resource to be created.\n"},"targetName":{"type":"string","description":"Specifies the name of the Storage Mover target Endpoint. Changing this forces a new resource to be created.\n"},"targetSubPath":{"type":"string","description":"Specifies the sub path to use when writing to the Storage Mover Target Endpoint. Changing this forces a new resource to be created.\n"}},"required":["copyMode","name","sourceName","storageMoverProjectId","targetName"],"inputProperties":{"agentName":{"type":"string","description":"Specifies the name of the Storage Mover Agent to assign for new Job Runs of this Storage Mover Job Definition.\n"},"copyMode":{"type":"string","description":"Specifies the strategy to use for copy. Possible values are `Additive` and `Mirror`.\n"},"description":{"type":"string","description":"Specifies a description for this Storage Mover Job Definition.\n"},"name":{"type":"string","description":"Specifies the name which should be used for this Storage Mover Job Definition. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sourceName":{"type":"string","description":"Specifies the name of the Storage Mover Source Endpoint. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sourceSubPath":{"type":"string","description":"Specifies the sub path to use when reading from the Storage Mover Source Endpoint. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"storageMoverProjectId":{"type":"string","description":"Specifies the ID of the Storage Mover Project. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"targetName":{"type":"string","description":"Specifies the name of the Storage Mover target Endpoint. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"targetSubPath":{"type":"string","description":"Specifies the sub path to use when writing to the Storage Mover Target Endpoint. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["copyMode","sourceName","storageMoverProjectId","targetName"],"stateInputs":{"description":"Input properties used for looking up and filtering MoverJobDefinition resources.\n","properties":{"agentName":{"type":"string","description":"Specifies the name of the Storage Mover Agent to assign for new Job Runs of this Storage Mover Job Definition.\n"},"copyMode":{"type":"string","description":"Specifies the strategy to use for copy. Possible values are `Additive` and `Mirror`.\n"},"description":{"type":"string","description":"Specifies a description for this Storage Mover Job Definition.\n"},"name":{"type":"string","description":"Specifies the name which should be used for this Storage Mover Job Definition. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sourceName":{"type":"string","description":"Specifies the name of the Storage Mover Source Endpoint. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sourceSubPath":{"type":"string","description":"Specifies the sub path to use when reading from the Storage Mover Source Endpoint. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"storageMoverProjectId":{"type":"string","description":"Specifies the ID of the Storage Mover Project. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"targetName":{"type":"string","description":"Specifies the name of the Storage Mover target Endpoint. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"targetSubPath":{"type":"string","description":"Specifies the sub path to use when writing to the Storage Mover Target Endpoint. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:storage/moverProject:MoverProject":{"description":"Manages a Storage Mover Project.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleMover = new azure.storage.Mover(\"example\", {\n    name: \"example-ssm\",\n    resourceGroupName: example.name,\n    location: example.location,\n});\nconst exampleMoverProject = new azure.storage.MoverProject(\"example\", {\n    name: \"example-sp\",\n    storageMoverId: exampleMover.id,\n    description: \"Example Project Description\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_mover = azure.storage.Mover(\"example\",\n    name=\"example-ssm\",\n    resource_group_name=example.name,\n    location=example.location)\nexample_mover_project = azure.storage.MoverProject(\"example\",\n    name=\"example-sp\",\n    storage_mover_id=example_mover.id,\n    description=\"Example Project Description\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleMover = new Azure.Storage.Mover(\"example\", new()\n    {\n        Name = \"example-ssm\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n    });\n\n    var exampleMoverProject = new Azure.Storage.MoverProject(\"example\", new()\n    {\n        Name = \"example-sp\",\n        StorageMoverId = exampleMover.Id,\n        Description = \"Example Project Description\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleMover, err := storage.NewMover(ctx, \"example\", \u0026storage.MoverArgs{\n\t\t\tName:              pulumi.String(\"example-ssm\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = storage.NewMoverProject(ctx, \"example\", \u0026storage.MoverProjectArgs{\n\t\t\tName:           pulumi.String(\"example-sp\"),\n\t\t\tStorageMoverId: exampleMover.ID(),\n\t\t\tDescription:    pulumi.String(\"Example Project Description\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.storage.Mover;\nimport com.pulumi.azure.storage.MoverArgs;\nimport com.pulumi.azure.storage.MoverProject;\nimport com.pulumi.azure.storage.MoverProjectArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleMover = new Mover(\"exampleMover\", MoverArgs.builder()\n            .name(\"example-ssm\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .build());\n\n        var exampleMoverProject = new MoverProject(\"exampleMoverProject\", MoverProjectArgs.builder()\n            .name(\"example-sp\")\n            .storageMoverId(exampleMover.id())\n            .description(\"Example Project Description\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleMover:\n    type: azure:storage:Mover\n    name: example\n    properties:\n      name: example-ssm\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n  exampleMoverProject:\n    type: azure:storage:MoverProject\n    name: example\n    properties:\n      name: example-sp\n      storageMoverId: ${exampleMover.id}\n      description: Example Project Description\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.StorageMover` - 2025-07-01\n\n## Import\n\nStorage Mover Project can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:storage/moverProject:MoverProject example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup1/providers/Microsoft.StorageMover/storageMovers/storageMover1/projects/project1\n```\n\n","properties":{"description":{"type":"string","description":"Specifies a description for this Storage Mover Project.\n"},"name":{"type":"string","description":"Specifies the name which should be used for this Storage Mover Project. Changing this forces a new resource to be created.\n"},"storageMoverId":{"type":"string","description":"Specifies the ID of the storage mover for this Storage Mover Project. Changing this forces a new resource to be created.\n"}},"required":["name","storageMoverId"],"inputProperties":{"description":{"type":"string","description":"Specifies a description for this Storage Mover Project.\n"},"name":{"type":"string","description":"Specifies the name which should be used for this Storage Mover Project. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"storageMoverId":{"type":"string","description":"Specifies the ID of the storage mover for this Storage Mover Project. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["storageMoverId"],"stateInputs":{"description":"Input properties used for looking up and filtering MoverProject resources.\n","properties":{"description":{"type":"string","description":"Specifies a description for this Storage Mover Project.\n"},"name":{"type":"string","description":"Specifies the name which should be used for this Storage Mover Project. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"storageMoverId":{"type":"string","description":"Specifies the ID of the storage mover for this Storage Mover Project. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:storage/moverSourceEndpoint:MoverSourceEndpoint":{"description":"Manages a Storage Mover Source Endpoint.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleMover = new azure.storage.Mover(\"example\", {\n    name: \"example-ssm\",\n    resourceGroupName: example.name,\n    location: \"West Europe\",\n});\nconst exampleMoverSourceEndpoint = new azure.storage.MoverSourceEndpoint(\"example\", {\n    name: \"example-se\",\n    storageMoverId: exampleMover.id,\n    \"export\": \"/\",\n    host: \"192.168.0.1\",\n    nfsVersion: \"NFSv3\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_mover = azure.storage.Mover(\"example\",\n    name=\"example-ssm\",\n    resource_group_name=example.name,\n    location=\"West Europe\")\nexample_mover_source_endpoint = azure.storage.MoverSourceEndpoint(\"example\",\n    name=\"example-se\",\n    storage_mover_id=example_mover.id,\n    export=\"/\",\n    host=\"192.168.0.1\",\n    nfs_version=\"NFSv3\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleMover = new Azure.Storage.Mover(\"example\", new()\n    {\n        Name = \"example-ssm\",\n        ResourceGroupName = example.Name,\n        Location = \"West Europe\",\n    });\n\n    var exampleMoverSourceEndpoint = new Azure.Storage.MoverSourceEndpoint(\"example\", new()\n    {\n        Name = \"example-se\",\n        StorageMoverId = exampleMover.Id,\n        Export = \"/\",\n        Host = \"192.168.0.1\",\n        NfsVersion = \"NFSv3\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleMover, err := storage.NewMover(ctx, \"example\", \u0026storage.MoverArgs{\n\t\t\tName:              pulumi.String(\"example-ssm\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = storage.NewMoverSourceEndpoint(ctx, \"example\", \u0026storage.MoverSourceEndpointArgs{\n\t\t\tName:           pulumi.String(\"example-se\"),\n\t\t\tStorageMoverId: exampleMover.ID(),\n\t\t\tExport:         pulumi.String(\"/\"),\n\t\t\tHost:           pulumi.String(\"192.168.0.1\"),\n\t\t\tNfsVersion:     pulumi.String(\"NFSv3\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.storage.Mover;\nimport com.pulumi.azure.storage.MoverArgs;\nimport com.pulumi.azure.storage.MoverSourceEndpoint;\nimport com.pulumi.azure.storage.MoverSourceEndpointArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleMover = new Mover(\"exampleMover\", MoverArgs.builder()\n            .name(\"example-ssm\")\n            .resourceGroupName(example.name())\n            .location(\"West Europe\")\n            .build());\n\n        var exampleMoverSourceEndpoint = new MoverSourceEndpoint(\"exampleMoverSourceEndpoint\", MoverSourceEndpointArgs.builder()\n            .name(\"example-se\")\n            .storageMoverId(exampleMover.id())\n            .export(\"/\")\n            .host(\"192.168.0.1\")\n            .nfsVersion(\"NFSv3\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleMover:\n    type: azure:storage:Mover\n    name: example\n    properties:\n      name: example-ssm\n      resourceGroupName: ${example.name}\n      location: West Europe\n  exampleMoverSourceEndpoint:\n    type: azure:storage:MoverSourceEndpoint\n    name: example\n    properties:\n      name: example-se\n      storageMoverId: ${exampleMover.id}\n      export: /\n      host: 192.168.0.1\n      nfsVersion: NFSv3\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.StorageMover` - 2025-07-01\n\n## Import\n\nStorage Mover Source Endpoint can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:storage/moverSourceEndpoint:MoverSourceEndpoint example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup1/providers/Microsoft.StorageMover/storageMovers/storageMover1/endpoints/endpoint1\n```\n\n","properties":{"description":{"type":"string","description":"Specifies a description for the Storage Mover Source Endpoint.\n"},"export":{"type":"string","description":"Specifies the directory being exported from the server. Changing this forces a new resource to be created.\n"},"host":{"type":"string","description":"Specifies the host name or IP address of the server exporting the file system. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"Specifies the name which should be used for this Storage Mover Source Endpoint. Changing this forces a new resource to be created.\n"},"nfsVersion":{"type":"string","description":"Specifies the NFS protocol version. Possible values are `NFSauto`, `NFSv3` and `NFSv4`. Defaults to `NFSauto`. Changing this forces a new resource to be created.\n"},"storageMoverId":{"type":"string","description":"Specifies the ID of the Storage Mover for this Storage Mover Source Endpoint. Changing this forces a new resource to be created.\n"}},"required":["host","name","storageMoverId"],"inputProperties":{"description":{"type":"string","description":"Specifies a description for the Storage Mover Source Endpoint.\n"},"export":{"type":"string","description":"Specifies the directory being exported from the server. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"host":{"type":"string","description":"Specifies the host name or IP address of the server exporting the file system. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name which should be used for this Storage Mover Source Endpoint. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"nfsVersion":{"type":"string","description":"Specifies the NFS protocol version. Possible values are `NFSauto`, `NFSv3` and `NFSv4`. Defaults to `NFSauto`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"storageMoverId":{"type":"string","description":"Specifies the ID of the Storage Mover for this Storage Mover Source Endpoint. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["host","storageMoverId"],"stateInputs":{"description":"Input properties used for looking up and filtering MoverSourceEndpoint resources.\n","properties":{"description":{"type":"string","description":"Specifies a description for the Storage Mover Source Endpoint.\n"},"export":{"type":"string","description":"Specifies the directory being exported from the server. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"host":{"type":"string","description":"Specifies the host name or IP address of the server exporting the file system. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name which should be used for this Storage Mover Source Endpoint. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"nfsVersion":{"type":"string","description":"Specifies the NFS protocol version. Possible values are `NFSauto`, `NFSv3` and `NFSv4`. Defaults to `NFSauto`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"storageMoverId":{"type":"string","description":"Specifies the ID of the Storage Mover for this Storage Mover Source Endpoint. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:storage/moverTargetEndpoint:MoverTargetEndpoint":{"description":"Manages a Storage Mover Target Endpoint.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleAccount = new azure.storage.Account(\"example\", {\n    name: \"examplestr\",\n    resourceGroupName: example.name,\n    location: example.location,\n    accountTier: \"Standard\",\n    accountReplicationType: \"LRS\",\n    allowNestedItemsToBePublic: true,\n});\nconst exampleContainer = new azure.storage.Container(\"example\", {\n    name: \"example-sc\",\n    storageAccountName: exampleAccount.name,\n    containerAccessType: \"blob\",\n});\nconst exampleMover = new azure.storage.Mover(\"example\", {\n    name: \"example-ssm\",\n    resourceGroupName: example.name,\n    location: \"West Europe\",\n});\nconst exampleMoverTargetEndpoint = new azure.storage.MoverTargetEndpoint(\"example\", {\n    name: \"example-se\",\n    storageMoverId: exampleMover.id,\n    storageAccountId: exampleAccount.id,\n    storageContainerName: exampleContainer.name,\n    description: \"Example Storage Container Endpoint Description\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_account = azure.storage.Account(\"example\",\n    name=\"examplestr\",\n    resource_group_name=example.name,\n    location=example.location,\n    account_tier=\"Standard\",\n    account_replication_type=\"LRS\",\n    allow_nested_items_to_be_public=True)\nexample_container = azure.storage.Container(\"example\",\n    name=\"example-sc\",\n    storage_account_name=example_account.name,\n    container_access_type=\"blob\")\nexample_mover = azure.storage.Mover(\"example\",\n    name=\"example-ssm\",\n    resource_group_name=example.name,\n    location=\"West Europe\")\nexample_mover_target_endpoint = azure.storage.MoverTargetEndpoint(\"example\",\n    name=\"example-se\",\n    storage_mover_id=example_mover.id,\n    storage_account_id=example_account.id,\n    storage_container_name=example_container.name,\n    description=\"Example Storage Container Endpoint Description\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleAccount = new Azure.Storage.Account(\"example\", new()\n    {\n        Name = \"examplestr\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        AccountTier = \"Standard\",\n        AccountReplicationType = \"LRS\",\n        AllowNestedItemsToBePublic = true,\n    });\n\n    var exampleContainer = new Azure.Storage.Container(\"example\", new()\n    {\n        Name = \"example-sc\",\n        StorageAccountName = exampleAccount.Name,\n        ContainerAccessType = \"blob\",\n    });\n\n    var exampleMover = new Azure.Storage.Mover(\"example\", new()\n    {\n        Name = \"example-ssm\",\n        ResourceGroupName = example.Name,\n        Location = \"West Europe\",\n    });\n\n    var exampleMoverTargetEndpoint = new Azure.Storage.MoverTargetEndpoint(\"example\", new()\n    {\n        Name = \"example-se\",\n        StorageMoverId = exampleMover.Id,\n        StorageAccountId = exampleAccount.Id,\n        StorageContainerName = exampleContainer.Name,\n        Description = \"Example Storage Container Endpoint Description\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := storage.NewAccount(ctx, \"example\", \u0026storage.AccountArgs{\n\t\t\tName:                       pulumi.String(\"examplestr\"),\n\t\t\tResourceGroupName:          example.Name,\n\t\t\tLocation:                   example.Location,\n\t\t\tAccountTier:                pulumi.String(\"Standard\"),\n\t\t\tAccountReplicationType:     pulumi.String(\"LRS\"),\n\t\t\tAllowNestedItemsToBePublic: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleContainer, err := storage.NewContainer(ctx, \"example\", \u0026storage.ContainerArgs{\n\t\t\tName:                pulumi.String(\"example-sc\"),\n\t\t\tStorageAccountName:  exampleAccount.Name,\n\t\t\tContainerAccessType: pulumi.String(\"blob\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleMover, err := storage.NewMover(ctx, \"example\", \u0026storage.MoverArgs{\n\t\t\tName:              pulumi.String(\"example-ssm\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = storage.NewMoverTargetEndpoint(ctx, \"example\", \u0026storage.MoverTargetEndpointArgs{\n\t\t\tName:                 pulumi.String(\"example-se\"),\n\t\t\tStorageMoverId:       exampleMover.ID(),\n\t\t\tStorageAccountId:     exampleAccount.ID(),\n\t\t\tStorageContainerName: exampleContainer.Name,\n\t\t\tDescription:          pulumi.String(\"Example Storage Container Endpoint Description\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.storage.Account;\nimport com.pulumi.azure.storage.AccountArgs;\nimport com.pulumi.azure.storage.Container;\nimport com.pulumi.azure.storage.ContainerArgs;\nimport com.pulumi.azure.storage.Mover;\nimport com.pulumi.azure.storage.MoverArgs;\nimport com.pulumi.azure.storage.MoverTargetEndpoint;\nimport com.pulumi.azure.storage.MoverTargetEndpointArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"examplestr\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .accountTier(\"Standard\")\n            .accountReplicationType(\"LRS\")\n            .allowNestedItemsToBePublic(true)\n            .build());\n\n        var exampleContainer = new Container(\"exampleContainer\", ContainerArgs.builder()\n            .name(\"example-sc\")\n            .storageAccountName(exampleAccount.name())\n            .containerAccessType(\"blob\")\n            .build());\n\n        var exampleMover = new Mover(\"exampleMover\", MoverArgs.builder()\n            .name(\"example-ssm\")\n            .resourceGroupName(example.name())\n            .location(\"West Europe\")\n            .build());\n\n        var exampleMoverTargetEndpoint = new MoverTargetEndpoint(\"exampleMoverTargetEndpoint\", MoverTargetEndpointArgs.builder()\n            .name(\"example-se\")\n            .storageMoverId(exampleMover.id())\n            .storageAccountId(exampleAccount.id())\n            .storageContainerName(exampleContainer.name())\n            .description(\"Example Storage Container Endpoint Description\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleAccount:\n    type: azure:storage:Account\n    name: example\n    properties:\n      name: examplestr\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      accountTier: Standard\n      accountReplicationType: LRS\n      allowNestedItemsToBePublic: true\n  exampleContainer:\n    type: azure:storage:Container\n    name: example\n    properties:\n      name: example-sc\n      storageAccountName: ${exampleAccount.name}\n      containerAccessType: blob\n  exampleMover:\n    type: azure:storage:Mover\n    name: example\n    properties:\n      name: example-ssm\n      resourceGroupName: ${example.name}\n      location: West Europe\n  exampleMoverTargetEndpoint:\n    type: azure:storage:MoverTargetEndpoint\n    name: example\n    properties:\n      name: example-se\n      storageMoverId: ${exampleMover.id}\n      storageAccountId: ${exampleAccount.id}\n      storageContainerName: ${exampleContainer.name}\n      description: Example Storage Container Endpoint Description\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.StorageMover` - 2025-07-01\n\n## Import\n\nStorage Mover Target Endpoint can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:storage/moverTargetEndpoint:MoverTargetEndpoint example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup1/providers/Microsoft.StorageMover/storageMovers/storageMover1/endpoints/endpoint1\n```\n\n","properties":{"description":{"type":"string","description":"Specifies a description for the Storage Mover Target Endpoint.\n"},"name":{"type":"string","description":"Specifies the name which should be used for this Storage Mover Target Endpoint. Changing this forces a new resource to be created.\n"},"storageAccountId":{"type":"string","description":"Specifies the ID of the storage account for this Storage Mover Target Endpoint. Changing this forces a new resource to be created.\n"},"storageContainerName":{"type":"string","description":"Specifies the name of the storage blob container for this Storage Mover Target Endpoint. Changing this forces a new resource to be created.\n"},"storageMoverId":{"type":"string","description":"Specifies the ID of the storage mover for this Storage Mover Target Endpoint. Changing this forces a new resource to be created.\n"}},"required":["name","storageAccountId","storageContainerName","storageMoverId"],"inputProperties":{"description":{"type":"string","description":"Specifies a description for the Storage Mover Target Endpoint.\n"},"name":{"type":"string","description":"Specifies the name which should be used for this Storage Mover Target Endpoint. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"storageAccountId":{"type":"string","description":"Specifies the ID of the storage account for this Storage Mover Target Endpoint. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"storageContainerName":{"type":"string","description":"Specifies the name of the storage blob container for this Storage Mover Target Endpoint. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"storageMoverId":{"type":"string","description":"Specifies the ID of the storage mover for this Storage Mover Target Endpoint. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["storageAccountId","storageContainerName","storageMoverId"],"stateInputs":{"description":"Input properties used for looking up and filtering MoverTargetEndpoint resources.\n","properties":{"description":{"type":"string","description":"Specifies a description for the Storage Mover Target Endpoint.\n"},"name":{"type":"string","description":"Specifies the name which should be used for this Storage Mover Target Endpoint. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"storageAccountId":{"type":"string","description":"Specifies the ID of the storage account for this Storage Mover Target Endpoint. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"storageContainerName":{"type":"string","description":"Specifies the name of the storage blob container for this Storage Mover Target Endpoint. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"storageMoverId":{"type":"string","description":"Specifies the ID of the storage mover for this Storage Mover Target Endpoint. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:storage/objectReplication:ObjectReplication":{"description":"Manages a Storage Object Replication.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst src = new azure.core.ResourceGroup(\"src\", {\n    name: \"srcResourceGroupName\",\n    location: \"West Europe\",\n});\nconst srcAccount = new azure.storage.Account(\"src\", {\n    name: \"srcstorageaccount\",\n    resourceGroupName: src.name,\n    location: src.location,\n    accountTier: \"Standard\",\n    accountReplicationType: \"LRS\",\n    blobProperties: {\n        versioningEnabled: true,\n        changeFeedEnabled: true,\n    },\n});\nconst srcContainer = new azure.storage.Container(\"src\", {\n    name: \"srcstrcontainer\",\n    storageAccountName: srcAccount.name,\n    containerAccessType: \"private\",\n});\nconst dst = new azure.core.ResourceGroup(\"dst\", {\n    name: \"dstResourceGroupName\",\n    location: \"East US\",\n});\nconst dstAccount = new azure.storage.Account(\"dst\", {\n    name: \"dststorageaccount\",\n    resourceGroupName: dst.name,\n    location: dst.location,\n    accountTier: \"Standard\",\n    accountReplicationType: \"LRS\",\n    blobProperties: {\n        versioningEnabled: true,\n        changeFeedEnabled: true,\n    },\n});\nconst dstContainer = new azure.storage.Container(\"dst\", {\n    name: \"dststrcontainer\",\n    storageAccountName: dstAccount.name,\n    containerAccessType: \"private\",\n});\nconst example = new azure.storage.ObjectReplication(\"example\", {\n    sourceStorageAccountId: srcAccount.id,\n    destinationStorageAccountId: dstAccount.id,\n    rules: [{\n        sourceContainerName: srcContainer.name,\n        destinationContainerName: dstContainer.name,\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nsrc = azure.core.ResourceGroup(\"src\",\n    name=\"srcResourceGroupName\",\n    location=\"West Europe\")\nsrc_account = azure.storage.Account(\"src\",\n    name=\"srcstorageaccount\",\n    resource_group_name=src.name,\n    location=src.location,\n    account_tier=\"Standard\",\n    account_replication_type=\"LRS\",\n    blob_properties={\n        \"versioning_enabled\": True,\n        \"change_feed_enabled\": True,\n    })\nsrc_container = azure.storage.Container(\"src\",\n    name=\"srcstrcontainer\",\n    storage_account_name=src_account.name,\n    container_access_type=\"private\")\ndst = azure.core.ResourceGroup(\"dst\",\n    name=\"dstResourceGroupName\",\n    location=\"East US\")\ndst_account = azure.storage.Account(\"dst\",\n    name=\"dststorageaccount\",\n    resource_group_name=dst.name,\n    location=dst.location,\n    account_tier=\"Standard\",\n    account_replication_type=\"LRS\",\n    blob_properties={\n        \"versioning_enabled\": True,\n        \"change_feed_enabled\": True,\n    })\ndst_container = azure.storage.Container(\"dst\",\n    name=\"dststrcontainer\",\n    storage_account_name=dst_account.name,\n    container_access_type=\"private\")\nexample = azure.storage.ObjectReplication(\"example\",\n    source_storage_account_id=src_account.id,\n    destination_storage_account_id=dst_account.id,\n    rules=[{\n        \"source_container_name\": src_container.name,\n        \"destination_container_name\": dst_container.name,\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var src = new Azure.Core.ResourceGroup(\"src\", new()\n    {\n        Name = \"srcResourceGroupName\",\n        Location = \"West Europe\",\n    });\n\n    var srcAccount = new Azure.Storage.Account(\"src\", new()\n    {\n        Name = \"srcstorageaccount\",\n        ResourceGroupName = src.Name,\n        Location = src.Location,\n        AccountTier = \"Standard\",\n        AccountReplicationType = \"LRS\",\n        BlobProperties = new Azure.Storage.Inputs.AccountBlobPropertiesArgs\n        {\n            VersioningEnabled = true,\n            ChangeFeedEnabled = true,\n        },\n    });\n\n    var srcContainer = new Azure.Storage.Container(\"src\", new()\n    {\n        Name = \"srcstrcontainer\",\n        StorageAccountName = srcAccount.Name,\n        ContainerAccessType = \"private\",\n    });\n\n    var dst = new Azure.Core.ResourceGroup(\"dst\", new()\n    {\n        Name = \"dstResourceGroupName\",\n        Location = \"East US\",\n    });\n\n    var dstAccount = new Azure.Storage.Account(\"dst\", new()\n    {\n        Name = \"dststorageaccount\",\n        ResourceGroupName = dst.Name,\n        Location = dst.Location,\n        AccountTier = \"Standard\",\n        AccountReplicationType = \"LRS\",\n        BlobProperties = new Azure.Storage.Inputs.AccountBlobPropertiesArgs\n        {\n            VersioningEnabled = true,\n            ChangeFeedEnabled = true,\n        },\n    });\n\n    var dstContainer = new Azure.Storage.Container(\"dst\", new()\n    {\n        Name = \"dststrcontainer\",\n        StorageAccountName = dstAccount.Name,\n        ContainerAccessType = \"private\",\n    });\n\n    var example = new Azure.Storage.ObjectReplication(\"example\", new()\n    {\n        SourceStorageAccountId = srcAccount.Id,\n        DestinationStorageAccountId = dstAccount.Id,\n        Rules = new[]\n        {\n            new Azure.Storage.Inputs.ObjectReplicationRuleArgs\n            {\n                SourceContainerName = srcContainer.Name,\n                DestinationContainerName = dstContainer.Name,\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tsrc, err := core.NewResourceGroup(ctx, \"src\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"srcResourceGroupName\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsrcAccount, err := storage.NewAccount(ctx, \"src\", \u0026storage.AccountArgs{\n\t\t\tName:                   pulumi.String(\"srcstorageaccount\"),\n\t\t\tResourceGroupName:      src.Name,\n\t\t\tLocation:               src.Location,\n\t\t\tAccountTier:            pulumi.String(\"Standard\"),\n\t\t\tAccountReplicationType: pulumi.String(\"LRS\"),\n\t\t\tBlobProperties: \u0026storage.AccountBlobPropertiesArgs{\n\t\t\t\tVersioningEnabled: pulumi.Bool(true),\n\t\t\t\tChangeFeedEnabled: pulumi.Bool(true),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsrcContainer, err := storage.NewContainer(ctx, \"src\", \u0026storage.ContainerArgs{\n\t\t\tName:                pulumi.String(\"srcstrcontainer\"),\n\t\t\tStorageAccountName:  srcAccount.Name,\n\t\t\tContainerAccessType: pulumi.String(\"private\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdst, err := core.NewResourceGroup(ctx, \"dst\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"dstResourceGroupName\"),\n\t\t\tLocation: pulumi.String(\"East US\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdstAccount, err := storage.NewAccount(ctx, \"dst\", \u0026storage.AccountArgs{\n\t\t\tName:                   pulumi.String(\"dststorageaccount\"),\n\t\t\tResourceGroupName:      dst.Name,\n\t\t\tLocation:               dst.Location,\n\t\t\tAccountTier:            pulumi.String(\"Standard\"),\n\t\t\tAccountReplicationType: pulumi.String(\"LRS\"),\n\t\t\tBlobProperties: \u0026storage.AccountBlobPropertiesArgs{\n\t\t\t\tVersioningEnabled: pulumi.Bool(true),\n\t\t\t\tChangeFeedEnabled: pulumi.Bool(true),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdstContainer, err := storage.NewContainer(ctx, \"dst\", \u0026storage.ContainerArgs{\n\t\t\tName:                pulumi.String(\"dststrcontainer\"),\n\t\t\tStorageAccountName:  dstAccount.Name,\n\t\t\tContainerAccessType: pulumi.String(\"private\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = storage.NewObjectReplication(ctx, \"example\", \u0026storage.ObjectReplicationArgs{\n\t\t\tSourceStorageAccountId:      srcAccount.ID(),\n\t\t\tDestinationStorageAccountId: dstAccount.ID(),\n\t\t\tRules: storage.ObjectReplicationRuleArray{\n\t\t\t\t\u0026storage.ObjectReplicationRuleArgs{\n\t\t\t\t\tSourceContainerName:      srcContainer.Name,\n\t\t\t\t\tDestinationContainerName: dstContainer.Name,\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.storage.Account;\nimport com.pulumi.azure.storage.AccountArgs;\nimport com.pulumi.azure.storage.inputs.AccountBlobPropertiesArgs;\nimport com.pulumi.azure.storage.Container;\nimport com.pulumi.azure.storage.ContainerArgs;\nimport com.pulumi.azure.storage.ObjectReplication;\nimport com.pulumi.azure.storage.ObjectReplicationArgs;\nimport com.pulumi.azure.storage.inputs.ObjectReplicationRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var src = new ResourceGroup(\"src\", ResourceGroupArgs.builder()\n            .name(\"srcResourceGroupName\")\n            .location(\"West Europe\")\n            .build());\n\n        var srcAccount = new Account(\"srcAccount\", AccountArgs.builder()\n            .name(\"srcstorageaccount\")\n            .resourceGroupName(src.name())\n            .location(src.location())\n            .accountTier(\"Standard\")\n            .accountReplicationType(\"LRS\")\n            .blobProperties(AccountBlobPropertiesArgs.builder()\n                .versioningEnabled(true)\n                .changeFeedEnabled(true)\n                .build())\n            .build());\n\n        var srcContainer = new Container(\"srcContainer\", ContainerArgs.builder()\n            .name(\"srcstrcontainer\")\n            .storageAccountName(srcAccount.name())\n            .containerAccessType(\"private\")\n            .build());\n\n        var dst = new ResourceGroup(\"dst\", ResourceGroupArgs.builder()\n            .name(\"dstResourceGroupName\")\n            .location(\"East US\")\n            .build());\n\n        var dstAccount = new Account(\"dstAccount\", AccountArgs.builder()\n            .name(\"dststorageaccount\")\n            .resourceGroupName(dst.name())\n            .location(dst.location())\n            .accountTier(\"Standard\")\n            .accountReplicationType(\"LRS\")\n            .blobProperties(AccountBlobPropertiesArgs.builder()\n                .versioningEnabled(true)\n                .changeFeedEnabled(true)\n                .build())\n            .build());\n\n        var dstContainer = new Container(\"dstContainer\", ContainerArgs.builder()\n            .name(\"dststrcontainer\")\n            .storageAccountName(dstAccount.name())\n            .containerAccessType(\"private\")\n            .build());\n\n        var example = new ObjectReplication(\"example\", ObjectReplicationArgs.builder()\n            .sourceStorageAccountId(srcAccount.id())\n            .destinationStorageAccountId(dstAccount.id())\n            .rules(ObjectReplicationRuleArgs.builder()\n                .sourceContainerName(srcContainer.name())\n                .destinationContainerName(dstContainer.name())\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  src:\n    type: azure:core:ResourceGroup\n    properties:\n      name: srcResourceGroupName\n      location: West Europe\n  srcAccount:\n    type: azure:storage:Account\n    name: src\n    properties:\n      name: srcstorageaccount\n      resourceGroupName: ${src.name}\n      location: ${src.location}\n      accountTier: Standard\n      accountReplicationType: LRS\n      blobProperties:\n        versioningEnabled: true\n        changeFeedEnabled: true\n  srcContainer:\n    type: azure:storage:Container\n    name: src\n    properties:\n      name: srcstrcontainer\n      storageAccountName: ${srcAccount.name}\n      containerAccessType: private\n  dst:\n    type: azure:core:ResourceGroup\n    properties:\n      name: dstResourceGroupName\n      location: East US\n  dstAccount:\n    type: azure:storage:Account\n    name: dst\n    properties:\n      name: dststorageaccount\n      resourceGroupName: ${dst.name}\n      location: ${dst.location}\n      accountTier: Standard\n      accountReplicationType: LRS\n      blobProperties:\n        versioningEnabled: true\n        changeFeedEnabled: true\n  dstContainer:\n    type: azure:storage:Container\n    name: dst\n    properties:\n      name: dststrcontainer\n      storageAccountName: ${dstAccount.name}\n      containerAccessType: private\n  example:\n    type: azure:storage:ObjectReplication\n    properties:\n      sourceStorageAccountId: ${srcAccount.id}\n      destinationStorageAccountId: ${dstAccount.id}\n      rules:\n        - sourceContainerName: ${srcContainer.name}\n          destinationContainerName: ${dstContainer.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Storage` - 2023-05-01\n\n## Import\n\nStorage Object Replication Policies can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:storage/objectReplication:ObjectReplication example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Storage/storageAccounts/storageAccount1/objectReplicationPolicies/objectReplicationPolicy1;/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group2/providers/Microsoft.Storage/storageAccounts/storageAccount2/objectReplicationPolicies/objectReplicationPolicy2\n```\n\n","properties":{"destinationObjectReplicationId":{"type":"string","description":"The ID of the Object Replication in the destination storage account.\n"},"destinationStorageAccountId":{"type":"string","description":"The ID of the destination storage account. Changing this forces a new Storage Object Replication to be created.\n"},"rules":{"type":"array","items":{"$ref":"#/types/azure:storage/ObjectReplicationRule:ObjectReplicationRule"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`rules`\" pulumi-lang-dotnet=\"`Rules`\" pulumi-lang-go=\"`rules`\" pulumi-lang-python=\"`rules`\" pulumi-lang-yaml=\"`rules`\" pulumi-lang-java=\"`rules`\"\u003e`rules`\u003c/span\u003e blocks as defined below.\n"},"sourceObjectReplicationId":{"type":"string","description":"The ID of the Object Replication in the source storage account.\n"},"sourceStorageAccountId":{"type":"string","description":"The ID of the source storage account. Changing this forces a new Storage Object Replication to be created.\n"}},"required":["destinationObjectReplicationId","destinationStorageAccountId","rules","sourceObjectReplicationId","sourceStorageAccountId"],"inputProperties":{"destinationStorageAccountId":{"type":"string","description":"The ID of the destination storage account. Changing this forces a new Storage Object Replication to be created.\n","willReplaceOnChanges":true},"rules":{"type":"array","items":{"$ref":"#/types/azure:storage/ObjectReplicationRule:ObjectReplicationRule"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`rules`\" pulumi-lang-dotnet=\"`Rules`\" pulumi-lang-go=\"`rules`\" pulumi-lang-python=\"`rules`\" pulumi-lang-yaml=\"`rules`\" pulumi-lang-java=\"`rules`\"\u003e`rules`\u003c/span\u003e blocks as defined below.\n"},"sourceStorageAccountId":{"type":"string","description":"The ID of the source storage account. Changing this forces a new Storage Object Replication to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["destinationStorageAccountId","rules","sourceStorageAccountId"],"stateInputs":{"description":"Input properties used for looking up and filtering ObjectReplication resources.\n","properties":{"destinationObjectReplicationId":{"type":"string","description":"The ID of the Object Replication in the destination storage account.\n"},"destinationStorageAccountId":{"type":"string","description":"The ID of the destination storage account. Changing this forces a new Storage Object Replication to be created.\n","willReplaceOnChanges":true},"rules":{"type":"array","items":{"$ref":"#/types/azure:storage/ObjectReplicationRule:ObjectReplicationRule"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`rules`\" pulumi-lang-dotnet=\"`Rules`\" pulumi-lang-go=\"`rules`\" pulumi-lang-python=\"`rules`\" pulumi-lang-yaml=\"`rules`\" pulumi-lang-java=\"`rules`\"\u003e`rules`\u003c/span\u003e blocks as defined below.\n"},"sourceObjectReplicationId":{"type":"string","description":"The ID of the Object Replication in the source storage account.\n"},"sourceStorageAccountId":{"type":"string","description":"The ID of the source storage account. Changing this forces a new Storage Object Replication to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:storage/queue:Queue":{"description":"Manages a Queue within an Azure Storage Account.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleAccount = new azure.storage.Account(\"example\", {\n    name: \"examplestorageacc\",\n    resourceGroupName: example.name,\n    location: example.location,\n    accountTier: \"Standard\",\n    accountReplicationType: \"LRS\",\n});\nconst exampleQueue = new azure.storage.Queue(\"example\", {\n    name: \"mysamplequeue\",\n    storageAccountName: exampleAccount.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_account = azure.storage.Account(\"example\",\n    name=\"examplestorageacc\",\n    resource_group_name=example.name,\n    location=example.location,\n    account_tier=\"Standard\",\n    account_replication_type=\"LRS\")\nexample_queue = azure.storage.Queue(\"example\",\n    name=\"mysamplequeue\",\n    storage_account_name=example_account.name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleAccount = new Azure.Storage.Account(\"example\", new()\n    {\n        Name = \"examplestorageacc\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        AccountTier = \"Standard\",\n        AccountReplicationType = \"LRS\",\n    });\n\n    var exampleQueue = new Azure.Storage.Queue(\"example\", new()\n    {\n        Name = \"mysamplequeue\",\n        StorageAccountName = exampleAccount.Name,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := storage.NewAccount(ctx, \"example\", \u0026storage.AccountArgs{\n\t\t\tName:                   pulumi.String(\"examplestorageacc\"),\n\t\t\tResourceGroupName:      example.Name,\n\t\t\tLocation:               example.Location,\n\t\t\tAccountTier:            pulumi.String(\"Standard\"),\n\t\t\tAccountReplicationType: pulumi.String(\"LRS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = storage.NewQueue(ctx, \"example\", \u0026storage.QueueArgs{\n\t\t\tName:               pulumi.String(\"mysamplequeue\"),\n\t\t\tStorageAccountName: exampleAccount.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.storage.Account;\nimport com.pulumi.azure.storage.AccountArgs;\nimport com.pulumi.azure.storage.Queue;\nimport com.pulumi.azure.storage.QueueArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"examplestorageacc\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .accountTier(\"Standard\")\n            .accountReplicationType(\"LRS\")\n            .build());\n\n        var exampleQueue = new Queue(\"exampleQueue\", QueueArgs.builder()\n            .name(\"mysamplequeue\")\n            .storageAccountName(exampleAccount.name())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleAccount:\n    type: azure:storage:Account\n    name: example\n    properties:\n      name: examplestorageacc\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      accountTier: Standard\n      accountReplicationType: LRS\n  exampleQueue:\n    type: azure:storage:Queue\n    name: example\n    properties:\n      name: mysamplequeue\n      storageAccountName: ${exampleAccount.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Storage` - 2023-05-01\n\n## Import\n\nStorage Queue's can be imported using the `resource id`, e.g.\n\nIf \u003cspan pulumi-lang-nodejs=\"`storageAccountName`\" pulumi-lang-dotnet=\"`StorageAccountName`\" pulumi-lang-go=\"`storageAccountName`\" pulumi-lang-python=\"`storage_account_name`\" pulumi-lang-yaml=\"`storageAccountName`\" pulumi-lang-java=\"`storageAccountName`\"\u003e`storage_account_name`\u003c/span\u003e is used:\n\n```sh\n$ pulumi import azure:storage/queue:Queue queue1 https://example.queue.core.windows.net/queue1\n```\n\nIf \u003cspan pulumi-lang-nodejs=\"`storageAccountId`\" pulumi-lang-dotnet=\"`StorageAccountId`\" pulumi-lang-go=\"`storageAccountId`\" pulumi-lang-python=\"`storage_account_id`\" pulumi-lang-yaml=\"`storageAccountId`\" pulumi-lang-java=\"`storageAccountId`\"\u003e`storage_account_id`\u003c/span\u003e is used:\n\n```sh\n$ pulumi import azure:storage/queue:Queue queue1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myresourcegroup/providers/Microsoft.Storage/storageAccounts/myaccount/queueServices/default/queues/queue1\n```\n\n","properties":{"metadata":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of MetaData which should be assigned to this Storage Queue.\n"},"name":{"type":"string","description":"The name of the Queue which should be created within the Storage Account. Must be unique within the storage account the queue is located. Changing this forces a new resource to be created.\n"},"resourceManagerId":{"type":"string","description":"The Resource Manager ID of this Storage Queue.\n","deprecationMessage":"the \u003cspan pulumi-lang-nodejs=\"`resourceManagerId`\" pulumi-lang-dotnet=\"`ResourceManagerId`\" pulumi-lang-go=\"`resourceManagerId`\" pulumi-lang-python=\"`resource_manager_id`\" pulumi-lang-yaml=\"`resourceManagerId`\" pulumi-lang-java=\"`resourceManagerId`\"\u003e`resource_manager_id`\u003c/span\u003e property has been deprecated in favour of \u003cspan pulumi-lang-nodejs=\"`id`\" pulumi-lang-dotnet=\"`Id`\" pulumi-lang-go=\"`id`\" pulumi-lang-python=\"`id`\" pulumi-lang-yaml=\"`id`\" pulumi-lang-java=\"`id`\"\u003e`id`\u003c/span\u003e and will be removed in version 5.0 of the Provider."},"storageAccountId":{"type":"string","description":"The name of the Storage Account where the Storage Queue should be created.\n\n\u003e **Note:** One of \u003cspan pulumi-lang-nodejs=\"`storageAccountName`\" pulumi-lang-dotnet=\"`StorageAccountName`\" pulumi-lang-go=\"`storageAccountName`\" pulumi-lang-python=\"`storage_account_name`\" pulumi-lang-yaml=\"`storageAccountName`\" pulumi-lang-java=\"`storageAccountName`\"\u003e`storage_account_name`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`storageAccountId`\" pulumi-lang-dotnet=\"`StorageAccountId`\" pulumi-lang-go=\"`storageAccountId`\" pulumi-lang-python=\"`storage_account_id`\" pulumi-lang-yaml=\"`storageAccountId`\" pulumi-lang-java=\"`storageAccountId`\"\u003e`storage_account_id`\u003c/span\u003e must be specified. When specifying \u003cspan pulumi-lang-nodejs=\"`storageAccountId`\" pulumi-lang-dotnet=\"`StorageAccountId`\" pulumi-lang-go=\"`storageAccountId`\" pulumi-lang-python=\"`storage_account_id`\" pulumi-lang-yaml=\"`storageAccountId`\" pulumi-lang-java=\"`storageAccountId`\"\u003e`storage_account_id`\u003c/span\u003e the resource will use the Resource Manager API, rather than the Data Plane API.\n"},"storageAccountName":{"type":"string","description":"The name of the Storage Account where the Storage Queue should be created. This property is deprecated in favour of \u003cspan pulumi-lang-nodejs=\"`storageAccountId`\" pulumi-lang-dotnet=\"`StorageAccountId`\" pulumi-lang-go=\"`storageAccountId`\" pulumi-lang-python=\"`storage_account_id`\" pulumi-lang-yaml=\"`storageAccountId`\" pulumi-lang-java=\"`storageAccountId`\"\u003e`storage_account_id`\u003c/span\u003e.\n\n\u003e **Note:** Migrating from the deprecated \u003cspan pulumi-lang-nodejs=\"`storageAccountName`\" pulumi-lang-dotnet=\"`StorageAccountName`\" pulumi-lang-go=\"`storageAccountName`\" pulumi-lang-python=\"`storage_account_name`\" pulumi-lang-yaml=\"`storageAccountName`\" pulumi-lang-java=\"`storageAccountName`\"\u003e`storage_account_name`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`storageAccountId`\" pulumi-lang-dotnet=\"`StorageAccountId`\" pulumi-lang-go=\"`storageAccountId`\" pulumi-lang-python=\"`storage_account_id`\" pulumi-lang-yaml=\"`storageAccountId`\" pulumi-lang-java=\"`storageAccountId`\"\u003e`storage_account_id`\u003c/span\u003e is supported without recreation. Any other change to either property will result in the resource being recreated.\n","deprecationMessage":"the \u003cspan pulumi-lang-nodejs=\"`storageAccountName`\" pulumi-lang-dotnet=\"`StorageAccountName`\" pulumi-lang-go=\"`storageAccountName`\" pulumi-lang-python=\"`storage_account_name`\" pulumi-lang-yaml=\"`storageAccountName`\" pulumi-lang-java=\"`storageAccountName`\"\u003e`storage_account_name`\u003c/span\u003e property has been deprecated in favour of \u003cspan pulumi-lang-nodejs=\"`storageAccountId`\" pulumi-lang-dotnet=\"`StorageAccountId`\" pulumi-lang-go=\"`storageAccountId`\" pulumi-lang-python=\"`storage_account_id`\" pulumi-lang-yaml=\"`storageAccountId`\" pulumi-lang-java=\"`storageAccountId`\"\u003e`storage_account_id`\u003c/span\u003e and will be removed in version 5.0 of the Provider."},"url":{"type":"string","description":"The data plane URL of the Storage Queue in the format of `\u003cstorage queue endpoint\u003e/\u003cqueue name\u003e`. E.g. `https://example.queue.core.windows.net/queue1`.\n"}},"required":["name","resourceManagerId","url"],"inputProperties":{"metadata":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of MetaData which should be assigned to this Storage Queue.\n"},"name":{"type":"string","description":"The name of the Queue which should be created within the Storage Account. Must be unique within the storage account the queue is located. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"storageAccountId":{"type":"string","description":"The name of the Storage Account where the Storage Queue should be created.\n\n\u003e **Note:** One of \u003cspan pulumi-lang-nodejs=\"`storageAccountName`\" pulumi-lang-dotnet=\"`StorageAccountName`\" pulumi-lang-go=\"`storageAccountName`\" pulumi-lang-python=\"`storage_account_name`\" pulumi-lang-yaml=\"`storageAccountName`\" pulumi-lang-java=\"`storageAccountName`\"\u003e`storage_account_name`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`storageAccountId`\" pulumi-lang-dotnet=\"`StorageAccountId`\" pulumi-lang-go=\"`storageAccountId`\" pulumi-lang-python=\"`storage_account_id`\" pulumi-lang-yaml=\"`storageAccountId`\" pulumi-lang-java=\"`storageAccountId`\"\u003e`storage_account_id`\u003c/span\u003e must be specified. When specifying \u003cspan pulumi-lang-nodejs=\"`storageAccountId`\" pulumi-lang-dotnet=\"`StorageAccountId`\" pulumi-lang-go=\"`storageAccountId`\" pulumi-lang-python=\"`storage_account_id`\" pulumi-lang-yaml=\"`storageAccountId`\" pulumi-lang-java=\"`storageAccountId`\"\u003e`storage_account_id`\u003c/span\u003e the resource will use the Resource Manager API, rather than the Data Plane API.\n"},"storageAccountName":{"type":"string","description":"The name of the Storage Account where the Storage Queue should be created. This property is deprecated in favour of \u003cspan pulumi-lang-nodejs=\"`storageAccountId`\" pulumi-lang-dotnet=\"`StorageAccountId`\" pulumi-lang-go=\"`storageAccountId`\" pulumi-lang-python=\"`storage_account_id`\" pulumi-lang-yaml=\"`storageAccountId`\" pulumi-lang-java=\"`storageAccountId`\"\u003e`storage_account_id`\u003c/span\u003e.\n\n\u003e **Note:** Migrating from the deprecated \u003cspan pulumi-lang-nodejs=\"`storageAccountName`\" pulumi-lang-dotnet=\"`StorageAccountName`\" pulumi-lang-go=\"`storageAccountName`\" pulumi-lang-python=\"`storage_account_name`\" pulumi-lang-yaml=\"`storageAccountName`\" pulumi-lang-java=\"`storageAccountName`\"\u003e`storage_account_name`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`storageAccountId`\" pulumi-lang-dotnet=\"`StorageAccountId`\" pulumi-lang-go=\"`storageAccountId`\" pulumi-lang-python=\"`storage_account_id`\" pulumi-lang-yaml=\"`storageAccountId`\" pulumi-lang-java=\"`storageAccountId`\"\u003e`storage_account_id`\u003c/span\u003e is supported without recreation. Any other change to either property will result in the resource being recreated.\n","deprecationMessage":"the \u003cspan pulumi-lang-nodejs=\"`storageAccountName`\" pulumi-lang-dotnet=\"`StorageAccountName`\" pulumi-lang-go=\"`storageAccountName`\" pulumi-lang-python=\"`storage_account_name`\" pulumi-lang-yaml=\"`storageAccountName`\" pulumi-lang-java=\"`storageAccountName`\"\u003e`storage_account_name`\u003c/span\u003e property has been deprecated in favour of \u003cspan pulumi-lang-nodejs=\"`storageAccountId`\" pulumi-lang-dotnet=\"`StorageAccountId`\" pulumi-lang-go=\"`storageAccountId`\" pulumi-lang-python=\"`storage_account_id`\" pulumi-lang-yaml=\"`storageAccountId`\" pulumi-lang-java=\"`storageAccountId`\"\u003e`storage_account_id`\u003c/span\u003e and will be removed in version 5.0 of the Provider."}},"stateInputs":{"description":"Input properties used for looking up and filtering Queue resources.\n","properties":{"metadata":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of MetaData which should be assigned to this Storage Queue.\n"},"name":{"type":"string","description":"The name of the Queue which should be created within the Storage Account. Must be unique within the storage account the queue is located. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceManagerId":{"type":"string","description":"The Resource Manager ID of this Storage Queue.\n","deprecationMessage":"the \u003cspan pulumi-lang-nodejs=\"`resourceManagerId`\" pulumi-lang-dotnet=\"`ResourceManagerId`\" pulumi-lang-go=\"`resourceManagerId`\" pulumi-lang-python=\"`resource_manager_id`\" pulumi-lang-yaml=\"`resourceManagerId`\" pulumi-lang-java=\"`resourceManagerId`\"\u003e`resource_manager_id`\u003c/span\u003e property has been deprecated in favour of \u003cspan pulumi-lang-nodejs=\"`id`\" pulumi-lang-dotnet=\"`Id`\" pulumi-lang-go=\"`id`\" pulumi-lang-python=\"`id`\" pulumi-lang-yaml=\"`id`\" pulumi-lang-java=\"`id`\"\u003e`id`\u003c/span\u003e and will be removed in version 5.0 of the Provider."},"storageAccountId":{"type":"string","description":"The name of the Storage Account where the Storage Queue should be created.\n\n\u003e **Note:** One of \u003cspan pulumi-lang-nodejs=\"`storageAccountName`\" pulumi-lang-dotnet=\"`StorageAccountName`\" pulumi-lang-go=\"`storageAccountName`\" pulumi-lang-python=\"`storage_account_name`\" pulumi-lang-yaml=\"`storageAccountName`\" pulumi-lang-java=\"`storageAccountName`\"\u003e`storage_account_name`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`storageAccountId`\" pulumi-lang-dotnet=\"`StorageAccountId`\" pulumi-lang-go=\"`storageAccountId`\" pulumi-lang-python=\"`storage_account_id`\" pulumi-lang-yaml=\"`storageAccountId`\" pulumi-lang-java=\"`storageAccountId`\"\u003e`storage_account_id`\u003c/span\u003e must be specified. When specifying \u003cspan pulumi-lang-nodejs=\"`storageAccountId`\" pulumi-lang-dotnet=\"`StorageAccountId`\" pulumi-lang-go=\"`storageAccountId`\" pulumi-lang-python=\"`storage_account_id`\" pulumi-lang-yaml=\"`storageAccountId`\" pulumi-lang-java=\"`storageAccountId`\"\u003e`storage_account_id`\u003c/span\u003e the resource will use the Resource Manager API, rather than the Data Plane API.\n"},"storageAccountName":{"type":"string","description":"The name of the Storage Account where the Storage Queue should be created. This property is deprecated in favour of \u003cspan pulumi-lang-nodejs=\"`storageAccountId`\" pulumi-lang-dotnet=\"`StorageAccountId`\" pulumi-lang-go=\"`storageAccountId`\" pulumi-lang-python=\"`storage_account_id`\" pulumi-lang-yaml=\"`storageAccountId`\" pulumi-lang-java=\"`storageAccountId`\"\u003e`storage_account_id`\u003c/span\u003e.\n\n\u003e **Note:** Migrating from the deprecated \u003cspan pulumi-lang-nodejs=\"`storageAccountName`\" pulumi-lang-dotnet=\"`StorageAccountName`\" pulumi-lang-go=\"`storageAccountName`\" pulumi-lang-python=\"`storage_account_name`\" pulumi-lang-yaml=\"`storageAccountName`\" pulumi-lang-java=\"`storageAccountName`\"\u003e`storage_account_name`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`storageAccountId`\" pulumi-lang-dotnet=\"`StorageAccountId`\" pulumi-lang-go=\"`storageAccountId`\" pulumi-lang-python=\"`storage_account_id`\" pulumi-lang-yaml=\"`storageAccountId`\" pulumi-lang-java=\"`storageAccountId`\"\u003e`storage_account_id`\u003c/span\u003e is supported without recreation. Any other change to either property will result in the resource being recreated.\n","deprecationMessage":"the \u003cspan pulumi-lang-nodejs=\"`storageAccountName`\" pulumi-lang-dotnet=\"`StorageAccountName`\" pulumi-lang-go=\"`storageAccountName`\" pulumi-lang-python=\"`storage_account_name`\" pulumi-lang-yaml=\"`storageAccountName`\" pulumi-lang-java=\"`storageAccountName`\"\u003e`storage_account_name`\u003c/span\u003e property has been deprecated in favour of \u003cspan pulumi-lang-nodejs=\"`storageAccountId`\" pulumi-lang-dotnet=\"`StorageAccountId`\" pulumi-lang-go=\"`storageAccountId`\" pulumi-lang-python=\"`storage_account_id`\" pulumi-lang-yaml=\"`storageAccountId`\" pulumi-lang-java=\"`storageAccountId`\"\u003e`storage_account_id`\u003c/span\u003e and will be removed in version 5.0 of the Provider."},"url":{"type":"string","description":"The data plane URL of the Storage Queue in the format of `\u003cstorage queue endpoint\u003e/\u003cqueue name\u003e`. E.g. `https://example.queue.core.windows.net/queue1`.\n"}},"type":"object"}},"azure:storage/share:Share":{"description":"Manages a File Share within Azure Storage.\n\n\u003e **Note:** The storage share supports two storage tiers: premium and standard. Standard file shares are created in general purpose (GPv1 or GPv2) storage accounts and premium file shares are created in FileStorage storage accounts. For further information, refer to the section \"What storage tiers are supported in Azure Files?\" of [documentation](https://docs.microsoft.com/azure/storage/files/storage-files-faq#general).\n\n\u003e **Note:** Shared Key authentication will always be used for this resource, as AzureAD authentication is not supported by the Storage API for files.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"azuretest\",\n    location: \"West Europe\",\n});\nconst exampleAccount = new azure.storage.Account(\"example\", {\n    name: \"azureteststorage\",\n    resourceGroupName: example.name,\n    location: example.location,\n    accountTier: \"Standard\",\n    accountReplicationType: \"LRS\",\n});\nconst exampleShare = new azure.storage.Share(\"example\", {\n    name: \"sharename\",\n    storageAccountId: exampleAccount.id,\n    quota: 50,\n    acls: [{\n        id: \"MTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTI\",\n        accessPolicies: [{\n            permissions: \"rwdl\",\n            start: \"2019-07-02T09:38:21Z\",\n            expiry: \"2019-07-02T10:38:21Z\",\n        }],\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"azuretest\",\n    location=\"West Europe\")\nexample_account = azure.storage.Account(\"example\",\n    name=\"azureteststorage\",\n    resource_group_name=example.name,\n    location=example.location,\n    account_tier=\"Standard\",\n    account_replication_type=\"LRS\")\nexample_share = azure.storage.Share(\"example\",\n    name=\"sharename\",\n    storage_account_id=example_account.id,\n    quota=50,\n    acls=[{\n        \"id\": \"MTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTI\",\n        \"access_policies\": [{\n            \"permissions\": \"rwdl\",\n            \"start\": \"2019-07-02T09:38:21Z\",\n            \"expiry\": \"2019-07-02T10:38:21Z\",\n        }],\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"azuretest\",\n        Location = \"West Europe\",\n    });\n\n    var exampleAccount = new Azure.Storage.Account(\"example\", new()\n    {\n        Name = \"azureteststorage\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        AccountTier = \"Standard\",\n        AccountReplicationType = \"LRS\",\n    });\n\n    var exampleShare = new Azure.Storage.Share(\"example\", new()\n    {\n        Name = \"sharename\",\n        StorageAccountId = exampleAccount.Id,\n        Quota = 50,\n        Acls = new[]\n        {\n            new Azure.Storage.Inputs.ShareAclArgs\n            {\n                Id = \"MTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTI\",\n                AccessPolicies = new[]\n                {\n                    new Azure.Storage.Inputs.ShareAclAccessPolicyArgs\n                    {\n                        Permissions = \"rwdl\",\n                        Start = \"2019-07-02T09:38:21Z\",\n                        Expiry = \"2019-07-02T10:38:21Z\",\n                    },\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"azuretest\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := storage.NewAccount(ctx, \"example\", \u0026storage.AccountArgs{\n\t\t\tName:                   pulumi.String(\"azureteststorage\"),\n\t\t\tResourceGroupName:      example.Name,\n\t\t\tLocation:               example.Location,\n\t\t\tAccountTier:            pulumi.String(\"Standard\"),\n\t\t\tAccountReplicationType: pulumi.String(\"LRS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = storage.NewShare(ctx, \"example\", \u0026storage.ShareArgs{\n\t\t\tName:             pulumi.String(\"sharename\"),\n\t\t\tStorageAccountId: exampleAccount.ID(),\n\t\t\tQuota:            pulumi.Int(50),\n\t\t\tAcls: storage.ShareAclArray{\n\t\t\t\t\u0026storage.ShareAclArgs{\n\t\t\t\t\tId: pulumi.String(\"MTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTI\"),\n\t\t\t\t\tAccessPolicies: storage.ShareAclAccessPolicyArray{\n\t\t\t\t\t\t\u0026storage.ShareAclAccessPolicyArgs{\n\t\t\t\t\t\t\tPermissions: pulumi.String(\"rwdl\"),\n\t\t\t\t\t\t\tStart:       pulumi.String(\"2019-07-02T09:38:21Z\"),\n\t\t\t\t\t\t\tExpiry:      pulumi.String(\"2019-07-02T10:38:21Z\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.storage.Account;\nimport com.pulumi.azure.storage.AccountArgs;\nimport com.pulumi.azure.storage.Share;\nimport com.pulumi.azure.storage.ShareArgs;\nimport com.pulumi.azure.storage.inputs.ShareAclArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"azuretest\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"azureteststorage\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .accountTier(\"Standard\")\n            .accountReplicationType(\"LRS\")\n            .build());\n\n        var exampleShare = new Share(\"exampleShare\", ShareArgs.builder()\n            .name(\"sharename\")\n            .storageAccountId(exampleAccount.id())\n            .quota(50)\n            .acls(ShareAclArgs.builder()\n                .id(\"MTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTI\")\n                .accessPolicies(ShareAclAccessPolicyArgs.builder()\n                    .permissions(\"rwdl\")\n                    .start(\"2019-07-02T09:38:21Z\")\n                    .expiry(\"2019-07-02T10:38:21Z\")\n                    .build())\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: azuretest\n      location: West Europe\n  exampleAccount:\n    type: azure:storage:Account\n    name: example\n    properties:\n      name: azureteststorage\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      accountTier: Standard\n      accountReplicationType: LRS\n  exampleShare:\n    type: azure:storage:Share\n    name: example\n    properties:\n      name: sharename\n      storageAccountId: ${exampleAccount.id}\n      quota: 50\n      acls:\n        - id: MTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTI\n          accessPolicies:\n            - permissions: rwdl\n              start: 2019-07-02T09:38:21Z\n              expiry: 2019-07-02T10:38:21Z\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Storage` - 2023-05-01\n\n## Import\n\nStorage Shares can be imported using the \u003cspan pulumi-lang-nodejs=\"`id`\" pulumi-lang-dotnet=\"`Id`\" pulumi-lang-go=\"`id`\" pulumi-lang-python=\"`id`\" pulumi-lang-yaml=\"`id`\" pulumi-lang-java=\"`id`\"\u003e`id`\u003c/span\u003e, e.g.\n\n```sh\n$ pulumi import azure:storage/share:Share exampleShare /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Storage/storageAccounts/myAccount/fileServices/default/shares/exampleShare\n```\n\n","properties":{"accessTier":{"type":"string","description":"The access tier of the File Share. Possible values are `Hot`, `Cool` and `TransactionOptimized`, `Premium`.\n\n\u003e **Note:** The `FileStorage` \u003cspan pulumi-lang-nodejs=\"`accountKind`\" pulumi-lang-dotnet=\"`AccountKind`\" pulumi-lang-go=\"`accountKind`\" pulumi-lang-python=\"`account_kind`\" pulumi-lang-yaml=\"`accountKind`\" pulumi-lang-java=\"`accountKind`\"\u003e`account_kind`\u003c/span\u003e of the \u003cspan pulumi-lang-nodejs=\"`azure.storage.Account`\" pulumi-lang-dotnet=\"`azure.storage.Account`\" pulumi-lang-go=\"`storage.Account`\" pulumi-lang-python=\"`storage.Account`\" pulumi-lang-yaml=\"`azure.storage.Account`\" pulumi-lang-java=\"`azure.storage.Account`\"\u003e`azure.storage.Account`\u003c/span\u003e requires `Premium` \u003cspan pulumi-lang-nodejs=\"`accessTier`\" pulumi-lang-dotnet=\"`AccessTier`\" pulumi-lang-go=\"`accessTier`\" pulumi-lang-python=\"`access_tier`\" pulumi-lang-yaml=\"`accessTier`\" pulumi-lang-java=\"`accessTier`\"\u003e`access_tier`\u003c/span\u003e.\n"},"acls":{"type":"array","items":{"$ref":"#/types/azure:storage/ShareAcl:ShareAcl"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`acl`\" pulumi-lang-dotnet=\"`Acl`\" pulumi-lang-go=\"`acl`\" pulumi-lang-python=\"`acl`\" pulumi-lang-yaml=\"`acl`\" pulumi-lang-java=\"`acl`\"\u003e`acl`\u003c/span\u003e blocks as defined below.\n"},"enabledProtocol":{"type":"string","description":"The protocol used for the share. Possible values are `SMB` and `NFS`. The `SMB` indicates the share can be accessed by SMBv3.0, SMBv2.1 and REST. The `NFS` indicates the share can be accessed by NFSv4.1. Defaults to `SMB`. Changing this forces a new resource to be created.\n\n\u003e **Note:** The `FileStorage` \u003cspan pulumi-lang-nodejs=\"`accountKind`\" pulumi-lang-dotnet=\"`AccountKind`\" pulumi-lang-go=\"`accountKind`\" pulumi-lang-python=\"`account_kind`\" pulumi-lang-yaml=\"`accountKind`\" pulumi-lang-java=\"`accountKind`\"\u003e`account_kind`\u003c/span\u003e of the \u003cspan pulumi-lang-nodejs=\"`azure.storage.Account`\" pulumi-lang-dotnet=\"`azure.storage.Account`\" pulumi-lang-go=\"`storage.Account`\" pulumi-lang-python=\"`storage.Account`\" pulumi-lang-yaml=\"`azure.storage.Account`\" pulumi-lang-java=\"`azure.storage.Account`\"\u003e`azure.storage.Account`\u003c/span\u003e is required for the `NFS` protocol.\n"},"metadata":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of MetaData for this File Share.\n"},"name":{"type":"string","description":"The name of the share. Must be unique within the storage account where the share is located. Changing this forces a new resource to be created.\n"},"quota":{"type":"integer","description":"The maximum size of the share, in gigabytes.\n\n\u003e **Note:** For Standard storage accounts, by default this must be \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e GB (or higher) and at most \u003cspan pulumi-lang-nodejs=\"`5120`\" pulumi-lang-dotnet=\"`5120`\" pulumi-lang-go=\"`5120`\" pulumi-lang-python=\"`5120`\" pulumi-lang-yaml=\"`5120`\" pulumi-lang-java=\"`5120`\"\u003e`5120`\u003c/span\u003e GB (\u003cspan pulumi-lang-nodejs=\"`5`\" pulumi-lang-dotnet=\"`5`\" pulumi-lang-go=\"`5`\" pulumi-lang-python=\"`5`\" pulumi-lang-yaml=\"`5`\" pulumi-lang-java=\"`5`\"\u003e`5`\u003c/span\u003e TB). This can be set to a value larger than \u003cspan pulumi-lang-nodejs=\"`5120`\" pulumi-lang-dotnet=\"`5120`\" pulumi-lang-go=\"`5120`\" pulumi-lang-python=\"`5120`\" pulumi-lang-yaml=\"`5120`\" pulumi-lang-java=\"`5120`\"\u003e`5120`\u003c/span\u003e GB if \u003cspan pulumi-lang-nodejs=\"`largeFileShareEnabled`\" pulumi-lang-dotnet=\"`LargeFileShareEnabled`\" pulumi-lang-go=\"`largeFileShareEnabled`\" pulumi-lang-python=\"`large_file_share_enabled`\" pulumi-lang-yaml=\"`largeFileShareEnabled`\" pulumi-lang-java=\"`largeFileShareEnabled`\"\u003e`large_file_share_enabled`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e in the parent \u003cspan pulumi-lang-nodejs=\"`azure.storage.Account`\" pulumi-lang-dotnet=\"`azure.storage.Account`\" pulumi-lang-go=\"`storage.Account`\" pulumi-lang-python=\"`storage.Account`\" pulumi-lang-yaml=\"`azure.storage.Account`\" pulumi-lang-java=\"`azure.storage.Account`\"\u003e`azure.storage.Account`\u003c/span\u003e.\n\n\u003e **Note:** For Premium FileStorage storage accounts, this must be greater than \u003cspan pulumi-lang-nodejs=\"`100`\" pulumi-lang-dotnet=\"`100`\" pulumi-lang-go=\"`100`\" pulumi-lang-python=\"`100`\" pulumi-lang-yaml=\"`100`\" pulumi-lang-java=\"`100`\"\u003e`100`\u003c/span\u003e GB and at most \u003cspan pulumi-lang-nodejs=\"`102400`\" pulumi-lang-dotnet=\"`102400`\" pulumi-lang-go=\"`102400`\" pulumi-lang-python=\"`102400`\" pulumi-lang-yaml=\"`102400`\" pulumi-lang-java=\"`102400`\"\u003e`102400`\u003c/span\u003e GB (\u003cspan pulumi-lang-nodejs=\"`100`\" pulumi-lang-dotnet=\"`100`\" pulumi-lang-go=\"`100`\" pulumi-lang-python=\"`100`\" pulumi-lang-yaml=\"`100`\" pulumi-lang-java=\"`100`\"\u003e`100`\u003c/span\u003e TB).\n"},"resourceManagerId":{"type":"string","description":"The Resource Manager ID of this File Share.\n","deprecationMessage":"this property is deprecated and will be removed 5.0 and replaced by the \u003cspan pulumi-lang-nodejs=\"`id`\" pulumi-lang-dotnet=\"`Id`\" pulumi-lang-go=\"`id`\" pulumi-lang-python=\"`id`\" pulumi-lang-yaml=\"`id`\" pulumi-lang-java=\"`id`\"\u003e`id`\u003c/span\u003e property."},"storageAccountId":{"type":"string","description":"Specifies the storage account in which to create the share.\n\n\u003e **Note:** One of \u003cspan pulumi-lang-nodejs=\"`storageAccountName`\" pulumi-lang-dotnet=\"`StorageAccountName`\" pulumi-lang-go=\"`storageAccountName`\" pulumi-lang-python=\"`storage_account_name`\" pulumi-lang-yaml=\"`storageAccountName`\" pulumi-lang-java=\"`storageAccountName`\"\u003e`storage_account_name`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`storageAccountId`\" pulumi-lang-dotnet=\"`StorageAccountId`\" pulumi-lang-go=\"`storageAccountId`\" pulumi-lang-python=\"`storage_account_id`\" pulumi-lang-yaml=\"`storageAccountId`\" pulumi-lang-java=\"`storageAccountId`\"\u003e`storage_account_id`\u003c/span\u003e must be specified. When specifying \u003cspan pulumi-lang-nodejs=\"`storageAccountId`\" pulumi-lang-dotnet=\"`StorageAccountId`\" pulumi-lang-go=\"`storageAccountId`\" pulumi-lang-python=\"`storage_account_id`\" pulumi-lang-yaml=\"`storageAccountId`\" pulumi-lang-java=\"`storageAccountId`\"\u003e`storage_account_id`\u003c/span\u003e the resource will use the Resource Manager API, rather than the Data Plane API.\n"},"storageAccountName":{"type":"string","description":"Specifies the storage account in which to create the share. This property is deprecated in favour of \u003cspan pulumi-lang-nodejs=\"`storageAccountId`\" pulumi-lang-dotnet=\"`StorageAccountId`\" pulumi-lang-go=\"`storageAccountId`\" pulumi-lang-python=\"`storage_account_id`\" pulumi-lang-yaml=\"`storageAccountId`\" pulumi-lang-java=\"`storageAccountId`\"\u003e`storage_account_id`\u003c/span\u003e.\n\n\u003e **Note:** Migrating from the deprecated \u003cspan pulumi-lang-nodejs=\"`storageAccountName`\" pulumi-lang-dotnet=\"`StorageAccountName`\" pulumi-lang-go=\"`storageAccountName`\" pulumi-lang-python=\"`storage_account_name`\" pulumi-lang-yaml=\"`storageAccountName`\" pulumi-lang-java=\"`storageAccountName`\"\u003e`storage_account_name`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`storageAccountId`\" pulumi-lang-dotnet=\"`StorageAccountId`\" pulumi-lang-go=\"`storageAccountId`\" pulumi-lang-python=\"`storage_account_id`\" pulumi-lang-yaml=\"`storageAccountId`\" pulumi-lang-java=\"`storageAccountId`\"\u003e`storage_account_id`\u003c/span\u003e is supported without recreation. Any other change to either property will result in the resource being recreated.\n","deprecationMessage":"This property has been deprecated and will be replaced by \u003cspan pulumi-lang-nodejs=\"`storageAccountId`\" pulumi-lang-dotnet=\"`StorageAccountId`\" pulumi-lang-go=\"`storageAccountId`\" pulumi-lang-python=\"`storage_account_id`\" pulumi-lang-yaml=\"`storageAccountId`\" pulumi-lang-java=\"`storageAccountId`\"\u003e`storage_account_id`\u003c/span\u003e in version 5.0 of the provider."},"url":{"type":"string","description":"The URL of the File Share\n"}},"required":["accessTier","metadata","name","quota","resourceManagerId","url"],"inputProperties":{"accessTier":{"type":"string","description":"The access tier of the File Share. Possible values are `Hot`, `Cool` and `TransactionOptimized`, `Premium`.\n\n\u003e **Note:** The `FileStorage` \u003cspan pulumi-lang-nodejs=\"`accountKind`\" pulumi-lang-dotnet=\"`AccountKind`\" pulumi-lang-go=\"`accountKind`\" pulumi-lang-python=\"`account_kind`\" pulumi-lang-yaml=\"`accountKind`\" pulumi-lang-java=\"`accountKind`\"\u003e`account_kind`\u003c/span\u003e of the \u003cspan pulumi-lang-nodejs=\"`azure.storage.Account`\" pulumi-lang-dotnet=\"`azure.storage.Account`\" pulumi-lang-go=\"`storage.Account`\" pulumi-lang-python=\"`storage.Account`\" pulumi-lang-yaml=\"`azure.storage.Account`\" pulumi-lang-java=\"`azure.storage.Account`\"\u003e`azure.storage.Account`\u003c/span\u003e requires `Premium` \u003cspan pulumi-lang-nodejs=\"`accessTier`\" pulumi-lang-dotnet=\"`AccessTier`\" pulumi-lang-go=\"`accessTier`\" pulumi-lang-python=\"`access_tier`\" pulumi-lang-yaml=\"`accessTier`\" pulumi-lang-java=\"`accessTier`\"\u003e`access_tier`\u003c/span\u003e.\n"},"acls":{"type":"array","items":{"$ref":"#/types/azure:storage/ShareAcl:ShareAcl"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`acl`\" pulumi-lang-dotnet=\"`Acl`\" pulumi-lang-go=\"`acl`\" pulumi-lang-python=\"`acl`\" pulumi-lang-yaml=\"`acl`\" pulumi-lang-java=\"`acl`\"\u003e`acl`\u003c/span\u003e blocks as defined below.\n"},"enabledProtocol":{"type":"string","description":"The protocol used for the share. Possible values are `SMB` and `NFS`. The `SMB` indicates the share can be accessed by SMBv3.0, SMBv2.1 and REST. The `NFS` indicates the share can be accessed by NFSv4.1. Defaults to `SMB`. Changing this forces a new resource to be created.\n\n\u003e **Note:** The `FileStorage` \u003cspan pulumi-lang-nodejs=\"`accountKind`\" pulumi-lang-dotnet=\"`AccountKind`\" pulumi-lang-go=\"`accountKind`\" pulumi-lang-python=\"`account_kind`\" pulumi-lang-yaml=\"`accountKind`\" pulumi-lang-java=\"`accountKind`\"\u003e`account_kind`\u003c/span\u003e of the \u003cspan pulumi-lang-nodejs=\"`azure.storage.Account`\" pulumi-lang-dotnet=\"`azure.storage.Account`\" pulumi-lang-go=\"`storage.Account`\" pulumi-lang-python=\"`storage.Account`\" pulumi-lang-yaml=\"`azure.storage.Account`\" pulumi-lang-java=\"`azure.storage.Account`\"\u003e`azure.storage.Account`\u003c/span\u003e is required for the `NFS` protocol.\n","willReplaceOnChanges":true},"metadata":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of MetaData for this File Share.\n"},"name":{"type":"string","description":"The name of the share. Must be unique within the storage account where the share is located. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"quota":{"type":"integer","description":"The maximum size of the share, in gigabytes.\n\n\u003e **Note:** For Standard storage accounts, by default this must be \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e GB (or higher) and at most \u003cspan pulumi-lang-nodejs=\"`5120`\" pulumi-lang-dotnet=\"`5120`\" pulumi-lang-go=\"`5120`\" pulumi-lang-python=\"`5120`\" pulumi-lang-yaml=\"`5120`\" pulumi-lang-java=\"`5120`\"\u003e`5120`\u003c/span\u003e GB (\u003cspan pulumi-lang-nodejs=\"`5`\" pulumi-lang-dotnet=\"`5`\" pulumi-lang-go=\"`5`\" pulumi-lang-python=\"`5`\" pulumi-lang-yaml=\"`5`\" pulumi-lang-java=\"`5`\"\u003e`5`\u003c/span\u003e TB). This can be set to a value larger than \u003cspan pulumi-lang-nodejs=\"`5120`\" pulumi-lang-dotnet=\"`5120`\" pulumi-lang-go=\"`5120`\" pulumi-lang-python=\"`5120`\" pulumi-lang-yaml=\"`5120`\" pulumi-lang-java=\"`5120`\"\u003e`5120`\u003c/span\u003e GB if \u003cspan pulumi-lang-nodejs=\"`largeFileShareEnabled`\" pulumi-lang-dotnet=\"`LargeFileShareEnabled`\" pulumi-lang-go=\"`largeFileShareEnabled`\" pulumi-lang-python=\"`large_file_share_enabled`\" pulumi-lang-yaml=\"`largeFileShareEnabled`\" pulumi-lang-java=\"`largeFileShareEnabled`\"\u003e`large_file_share_enabled`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e in the parent \u003cspan pulumi-lang-nodejs=\"`azure.storage.Account`\" pulumi-lang-dotnet=\"`azure.storage.Account`\" pulumi-lang-go=\"`storage.Account`\" pulumi-lang-python=\"`storage.Account`\" pulumi-lang-yaml=\"`azure.storage.Account`\" pulumi-lang-java=\"`azure.storage.Account`\"\u003e`azure.storage.Account`\u003c/span\u003e.\n\n\u003e **Note:** For Premium FileStorage storage accounts, this must be greater than \u003cspan pulumi-lang-nodejs=\"`100`\" pulumi-lang-dotnet=\"`100`\" pulumi-lang-go=\"`100`\" pulumi-lang-python=\"`100`\" pulumi-lang-yaml=\"`100`\" pulumi-lang-java=\"`100`\"\u003e`100`\u003c/span\u003e GB and at most \u003cspan pulumi-lang-nodejs=\"`102400`\" pulumi-lang-dotnet=\"`102400`\" pulumi-lang-go=\"`102400`\" pulumi-lang-python=\"`102400`\" pulumi-lang-yaml=\"`102400`\" pulumi-lang-java=\"`102400`\"\u003e`102400`\u003c/span\u003e GB (\u003cspan pulumi-lang-nodejs=\"`100`\" pulumi-lang-dotnet=\"`100`\" pulumi-lang-go=\"`100`\" pulumi-lang-python=\"`100`\" pulumi-lang-yaml=\"`100`\" pulumi-lang-java=\"`100`\"\u003e`100`\u003c/span\u003e TB).\n"},"storageAccountId":{"type":"string","description":"Specifies the storage account in which to create the share.\n\n\u003e **Note:** One of \u003cspan pulumi-lang-nodejs=\"`storageAccountName`\" pulumi-lang-dotnet=\"`StorageAccountName`\" pulumi-lang-go=\"`storageAccountName`\" pulumi-lang-python=\"`storage_account_name`\" pulumi-lang-yaml=\"`storageAccountName`\" pulumi-lang-java=\"`storageAccountName`\"\u003e`storage_account_name`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`storageAccountId`\" pulumi-lang-dotnet=\"`StorageAccountId`\" pulumi-lang-go=\"`storageAccountId`\" pulumi-lang-python=\"`storage_account_id`\" pulumi-lang-yaml=\"`storageAccountId`\" pulumi-lang-java=\"`storageAccountId`\"\u003e`storage_account_id`\u003c/span\u003e must be specified. When specifying \u003cspan pulumi-lang-nodejs=\"`storageAccountId`\" pulumi-lang-dotnet=\"`StorageAccountId`\" pulumi-lang-go=\"`storageAccountId`\" pulumi-lang-python=\"`storage_account_id`\" pulumi-lang-yaml=\"`storageAccountId`\" pulumi-lang-java=\"`storageAccountId`\"\u003e`storage_account_id`\u003c/span\u003e the resource will use the Resource Manager API, rather than the Data Plane API.\n"},"storageAccountName":{"type":"string","description":"Specifies the storage account in which to create the share. This property is deprecated in favour of \u003cspan pulumi-lang-nodejs=\"`storageAccountId`\" pulumi-lang-dotnet=\"`StorageAccountId`\" pulumi-lang-go=\"`storageAccountId`\" pulumi-lang-python=\"`storage_account_id`\" pulumi-lang-yaml=\"`storageAccountId`\" pulumi-lang-java=\"`storageAccountId`\"\u003e`storage_account_id`\u003c/span\u003e.\n\n\u003e **Note:** Migrating from the deprecated \u003cspan pulumi-lang-nodejs=\"`storageAccountName`\" pulumi-lang-dotnet=\"`StorageAccountName`\" pulumi-lang-go=\"`storageAccountName`\" pulumi-lang-python=\"`storage_account_name`\" pulumi-lang-yaml=\"`storageAccountName`\" pulumi-lang-java=\"`storageAccountName`\"\u003e`storage_account_name`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`storageAccountId`\" pulumi-lang-dotnet=\"`StorageAccountId`\" pulumi-lang-go=\"`storageAccountId`\" pulumi-lang-python=\"`storage_account_id`\" pulumi-lang-yaml=\"`storageAccountId`\" pulumi-lang-java=\"`storageAccountId`\"\u003e`storage_account_id`\u003c/span\u003e is supported without recreation. Any other change to either property will result in the resource being recreated.\n","deprecationMessage":"This property has been deprecated and will be replaced by \u003cspan pulumi-lang-nodejs=\"`storageAccountId`\" pulumi-lang-dotnet=\"`StorageAccountId`\" pulumi-lang-go=\"`storageAccountId`\" pulumi-lang-python=\"`storage_account_id`\" pulumi-lang-yaml=\"`storageAccountId`\" pulumi-lang-java=\"`storageAccountId`\"\u003e`storage_account_id`\u003c/span\u003e in version 5.0 of the provider."}},"requiredInputs":["quota"],"stateInputs":{"description":"Input properties used for looking up and filtering Share resources.\n","properties":{"accessTier":{"type":"string","description":"The access tier of the File Share. Possible values are `Hot`, `Cool` and `TransactionOptimized`, `Premium`.\n\n\u003e **Note:** The `FileStorage` \u003cspan pulumi-lang-nodejs=\"`accountKind`\" pulumi-lang-dotnet=\"`AccountKind`\" pulumi-lang-go=\"`accountKind`\" pulumi-lang-python=\"`account_kind`\" pulumi-lang-yaml=\"`accountKind`\" pulumi-lang-java=\"`accountKind`\"\u003e`account_kind`\u003c/span\u003e of the \u003cspan pulumi-lang-nodejs=\"`azure.storage.Account`\" pulumi-lang-dotnet=\"`azure.storage.Account`\" pulumi-lang-go=\"`storage.Account`\" pulumi-lang-python=\"`storage.Account`\" pulumi-lang-yaml=\"`azure.storage.Account`\" pulumi-lang-java=\"`azure.storage.Account`\"\u003e`azure.storage.Account`\u003c/span\u003e requires `Premium` \u003cspan pulumi-lang-nodejs=\"`accessTier`\" pulumi-lang-dotnet=\"`AccessTier`\" pulumi-lang-go=\"`accessTier`\" pulumi-lang-python=\"`access_tier`\" pulumi-lang-yaml=\"`accessTier`\" pulumi-lang-java=\"`accessTier`\"\u003e`access_tier`\u003c/span\u003e.\n"},"acls":{"type":"array","items":{"$ref":"#/types/azure:storage/ShareAcl:ShareAcl"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`acl`\" pulumi-lang-dotnet=\"`Acl`\" pulumi-lang-go=\"`acl`\" pulumi-lang-python=\"`acl`\" pulumi-lang-yaml=\"`acl`\" pulumi-lang-java=\"`acl`\"\u003e`acl`\u003c/span\u003e blocks as defined below.\n"},"enabledProtocol":{"type":"string","description":"The protocol used for the share. Possible values are `SMB` and `NFS`. The `SMB` indicates the share can be accessed by SMBv3.0, SMBv2.1 and REST. The `NFS` indicates the share can be accessed by NFSv4.1. Defaults to `SMB`. Changing this forces a new resource to be created.\n\n\u003e **Note:** The `FileStorage` \u003cspan pulumi-lang-nodejs=\"`accountKind`\" pulumi-lang-dotnet=\"`AccountKind`\" pulumi-lang-go=\"`accountKind`\" pulumi-lang-python=\"`account_kind`\" pulumi-lang-yaml=\"`accountKind`\" pulumi-lang-java=\"`accountKind`\"\u003e`account_kind`\u003c/span\u003e of the \u003cspan pulumi-lang-nodejs=\"`azure.storage.Account`\" pulumi-lang-dotnet=\"`azure.storage.Account`\" pulumi-lang-go=\"`storage.Account`\" pulumi-lang-python=\"`storage.Account`\" pulumi-lang-yaml=\"`azure.storage.Account`\" pulumi-lang-java=\"`azure.storage.Account`\"\u003e`azure.storage.Account`\u003c/span\u003e is required for the `NFS` protocol.\n","willReplaceOnChanges":true},"metadata":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of MetaData for this File Share.\n"},"name":{"type":"string","description":"The name of the share. Must be unique within the storage account where the share is located. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"quota":{"type":"integer","description":"The maximum size of the share, in gigabytes.\n\n\u003e **Note:** For Standard storage accounts, by default this must be \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e GB (or higher) and at most \u003cspan pulumi-lang-nodejs=\"`5120`\" pulumi-lang-dotnet=\"`5120`\" pulumi-lang-go=\"`5120`\" pulumi-lang-python=\"`5120`\" pulumi-lang-yaml=\"`5120`\" pulumi-lang-java=\"`5120`\"\u003e`5120`\u003c/span\u003e GB (\u003cspan pulumi-lang-nodejs=\"`5`\" pulumi-lang-dotnet=\"`5`\" pulumi-lang-go=\"`5`\" pulumi-lang-python=\"`5`\" pulumi-lang-yaml=\"`5`\" pulumi-lang-java=\"`5`\"\u003e`5`\u003c/span\u003e TB). This can be set to a value larger than \u003cspan pulumi-lang-nodejs=\"`5120`\" pulumi-lang-dotnet=\"`5120`\" pulumi-lang-go=\"`5120`\" pulumi-lang-python=\"`5120`\" pulumi-lang-yaml=\"`5120`\" pulumi-lang-java=\"`5120`\"\u003e`5120`\u003c/span\u003e GB if \u003cspan pulumi-lang-nodejs=\"`largeFileShareEnabled`\" pulumi-lang-dotnet=\"`LargeFileShareEnabled`\" pulumi-lang-go=\"`largeFileShareEnabled`\" pulumi-lang-python=\"`large_file_share_enabled`\" pulumi-lang-yaml=\"`largeFileShareEnabled`\" pulumi-lang-java=\"`largeFileShareEnabled`\"\u003e`large_file_share_enabled`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e in the parent \u003cspan pulumi-lang-nodejs=\"`azure.storage.Account`\" pulumi-lang-dotnet=\"`azure.storage.Account`\" pulumi-lang-go=\"`storage.Account`\" pulumi-lang-python=\"`storage.Account`\" pulumi-lang-yaml=\"`azure.storage.Account`\" pulumi-lang-java=\"`azure.storage.Account`\"\u003e`azure.storage.Account`\u003c/span\u003e.\n\n\u003e **Note:** For Premium FileStorage storage accounts, this must be greater than \u003cspan pulumi-lang-nodejs=\"`100`\" pulumi-lang-dotnet=\"`100`\" pulumi-lang-go=\"`100`\" pulumi-lang-python=\"`100`\" pulumi-lang-yaml=\"`100`\" pulumi-lang-java=\"`100`\"\u003e`100`\u003c/span\u003e GB and at most \u003cspan pulumi-lang-nodejs=\"`102400`\" pulumi-lang-dotnet=\"`102400`\" pulumi-lang-go=\"`102400`\" pulumi-lang-python=\"`102400`\" pulumi-lang-yaml=\"`102400`\" pulumi-lang-java=\"`102400`\"\u003e`102400`\u003c/span\u003e GB (\u003cspan pulumi-lang-nodejs=\"`100`\" pulumi-lang-dotnet=\"`100`\" pulumi-lang-go=\"`100`\" pulumi-lang-python=\"`100`\" pulumi-lang-yaml=\"`100`\" pulumi-lang-java=\"`100`\"\u003e`100`\u003c/span\u003e TB).\n"},"resourceManagerId":{"type":"string","description":"The Resource Manager ID of this File Share.\n","deprecationMessage":"this property is deprecated and will be removed 5.0 and replaced by the \u003cspan pulumi-lang-nodejs=\"`id`\" pulumi-lang-dotnet=\"`Id`\" pulumi-lang-go=\"`id`\" pulumi-lang-python=\"`id`\" pulumi-lang-yaml=\"`id`\" pulumi-lang-java=\"`id`\"\u003e`id`\u003c/span\u003e property."},"storageAccountId":{"type":"string","description":"Specifies the storage account in which to create the share.\n\n\u003e **Note:** One of \u003cspan pulumi-lang-nodejs=\"`storageAccountName`\" pulumi-lang-dotnet=\"`StorageAccountName`\" pulumi-lang-go=\"`storageAccountName`\" pulumi-lang-python=\"`storage_account_name`\" pulumi-lang-yaml=\"`storageAccountName`\" pulumi-lang-java=\"`storageAccountName`\"\u003e`storage_account_name`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`storageAccountId`\" pulumi-lang-dotnet=\"`StorageAccountId`\" pulumi-lang-go=\"`storageAccountId`\" pulumi-lang-python=\"`storage_account_id`\" pulumi-lang-yaml=\"`storageAccountId`\" pulumi-lang-java=\"`storageAccountId`\"\u003e`storage_account_id`\u003c/span\u003e must be specified. When specifying \u003cspan pulumi-lang-nodejs=\"`storageAccountId`\" pulumi-lang-dotnet=\"`StorageAccountId`\" pulumi-lang-go=\"`storageAccountId`\" pulumi-lang-python=\"`storage_account_id`\" pulumi-lang-yaml=\"`storageAccountId`\" pulumi-lang-java=\"`storageAccountId`\"\u003e`storage_account_id`\u003c/span\u003e the resource will use the Resource Manager API, rather than the Data Plane API.\n"},"storageAccountName":{"type":"string","description":"Specifies the storage account in which to create the share. This property is deprecated in favour of \u003cspan pulumi-lang-nodejs=\"`storageAccountId`\" pulumi-lang-dotnet=\"`StorageAccountId`\" pulumi-lang-go=\"`storageAccountId`\" pulumi-lang-python=\"`storage_account_id`\" pulumi-lang-yaml=\"`storageAccountId`\" pulumi-lang-java=\"`storageAccountId`\"\u003e`storage_account_id`\u003c/span\u003e.\n\n\u003e **Note:** Migrating from the deprecated \u003cspan pulumi-lang-nodejs=\"`storageAccountName`\" pulumi-lang-dotnet=\"`StorageAccountName`\" pulumi-lang-go=\"`storageAccountName`\" pulumi-lang-python=\"`storage_account_name`\" pulumi-lang-yaml=\"`storageAccountName`\" pulumi-lang-java=\"`storageAccountName`\"\u003e`storage_account_name`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`storageAccountId`\" pulumi-lang-dotnet=\"`StorageAccountId`\" pulumi-lang-go=\"`storageAccountId`\" pulumi-lang-python=\"`storage_account_id`\" pulumi-lang-yaml=\"`storageAccountId`\" pulumi-lang-java=\"`storageAccountId`\"\u003e`storage_account_id`\u003c/span\u003e is supported without recreation. Any other change to either property will result in the resource being recreated.\n","deprecationMessage":"This property has been deprecated and will be replaced by \u003cspan pulumi-lang-nodejs=\"`storageAccountId`\" pulumi-lang-dotnet=\"`StorageAccountId`\" pulumi-lang-go=\"`storageAccountId`\" pulumi-lang-python=\"`storage_account_id`\" pulumi-lang-yaml=\"`storageAccountId`\" pulumi-lang-java=\"`storageAccountId`\"\u003e`storage_account_id`\u003c/span\u003e in version 5.0 of the provider."},"url":{"type":"string","description":"The URL of the File Share\n"}},"type":"object"}},"azure:storage/shareDirectory:ShareDirectory":{"description":"Manages a Directory within an Azure Storage File Share.\n\n\u003e **Note:** When using Azure Active Directory Authentication (i.e. setting the provider property \u003cspan pulumi-lang-nodejs=\"`storageUseAzuread \" pulumi-lang-dotnet=\"`StorageUseAzuread \" pulumi-lang-go=\"`storageUseAzuread \" pulumi-lang-python=\"`storage_use_azuread \" pulumi-lang-yaml=\"`storageUseAzuread \" pulumi-lang-java=\"`storageUseAzuread \"\u003e`storage_use_azuread \u003c/span\u003e= true`), the principal running Terraform must have the *Storage File Data Privileged Contributor* IAM role assigned. The *Storage File Data SMB Share Contributor* does not have sufficient permissions to create directories. Refer to [official documentation](https://learn.microsoft.com/en-us/rest/api/storageservices/authorize-with-azure-active-directory#permissions-for-file-service-operations) for more details.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"azuretest\",\n    location: \"West Europe\",\n});\nconst exampleAccount = new azure.storage.Account(\"example\", {\n    name: \"azureteststorage\",\n    resourceGroupName: example.name,\n    location: example.location,\n    accountTier: \"Standard\",\n    accountReplicationType: \"LRS\",\n});\nconst exampleShare = new azure.storage.Share(\"example\", {\n    name: \"sharename\",\n    storageAccountId: exampleAccount.id,\n    quota: 50,\n});\nconst exampleShareDirectory = new azure.storage.ShareDirectory(\"example\", {\n    name: \"example\",\n    storageShareUrl: exampleShare.url,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"azuretest\",\n    location=\"West Europe\")\nexample_account = azure.storage.Account(\"example\",\n    name=\"azureteststorage\",\n    resource_group_name=example.name,\n    location=example.location,\n    account_tier=\"Standard\",\n    account_replication_type=\"LRS\")\nexample_share = azure.storage.Share(\"example\",\n    name=\"sharename\",\n    storage_account_id=example_account.id,\n    quota=50)\nexample_share_directory = azure.storage.ShareDirectory(\"example\",\n    name=\"example\",\n    storage_share_url=example_share.url)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"azuretest\",\n        Location = \"West Europe\",\n    });\n\n    var exampleAccount = new Azure.Storage.Account(\"example\", new()\n    {\n        Name = \"azureteststorage\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        AccountTier = \"Standard\",\n        AccountReplicationType = \"LRS\",\n    });\n\n    var exampleShare = new Azure.Storage.Share(\"example\", new()\n    {\n        Name = \"sharename\",\n        StorageAccountId = exampleAccount.Id,\n        Quota = 50,\n    });\n\n    var exampleShareDirectory = new Azure.Storage.ShareDirectory(\"example\", new()\n    {\n        Name = \"example\",\n        StorageShareUrl = exampleShare.Url,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"azuretest\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := storage.NewAccount(ctx, \"example\", \u0026storage.AccountArgs{\n\t\t\tName:                   pulumi.String(\"azureteststorage\"),\n\t\t\tResourceGroupName:      example.Name,\n\t\t\tLocation:               example.Location,\n\t\t\tAccountTier:            pulumi.String(\"Standard\"),\n\t\t\tAccountReplicationType: pulumi.String(\"LRS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleShare, err := storage.NewShare(ctx, \"example\", \u0026storage.ShareArgs{\n\t\t\tName:             pulumi.String(\"sharename\"),\n\t\t\tStorageAccountId: exampleAccount.ID(),\n\t\t\tQuota:            pulumi.Int(50),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = storage.NewShareDirectory(ctx, \"example\", \u0026storage.ShareDirectoryArgs{\n\t\t\tName:            pulumi.String(\"example\"),\n\t\t\tStorageShareUrl: exampleShare.Url,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.storage.Account;\nimport com.pulumi.azure.storage.AccountArgs;\nimport com.pulumi.azure.storage.Share;\nimport com.pulumi.azure.storage.ShareArgs;\nimport com.pulumi.azure.storage.ShareDirectory;\nimport com.pulumi.azure.storage.ShareDirectoryArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"azuretest\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"azureteststorage\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .accountTier(\"Standard\")\n            .accountReplicationType(\"LRS\")\n            .build());\n\n        var exampleShare = new Share(\"exampleShare\", ShareArgs.builder()\n            .name(\"sharename\")\n            .storageAccountId(exampleAccount.id())\n            .quota(50)\n            .build());\n\n        var exampleShareDirectory = new ShareDirectory(\"exampleShareDirectory\", ShareDirectoryArgs.builder()\n            .name(\"example\")\n            .storageShareUrl(exampleShare.url())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: azuretest\n      location: West Europe\n  exampleAccount:\n    type: azure:storage:Account\n    name: example\n    properties:\n      name: azureteststorage\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      accountTier: Standard\n      accountReplicationType: LRS\n  exampleShare:\n    type: azure:storage:Share\n    name: example\n    properties:\n      name: sharename\n      storageAccountId: ${exampleAccount.id}\n      quota: 50\n  exampleShareDirectory:\n    type: azure:storage:ShareDirectory\n    name: example\n    properties:\n      name: example\n      storageShareUrl: ${exampleShare.url}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nDirectories within an Azure Storage File Share can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:storage/shareDirectory:ShareDirectory example https://tomdevsa20.file.core.windows.net/share1/directory1\n```\n\n","properties":{"metadata":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of metadata to assign to this Directory.\n"},"name":{"type":"string","description":"The name (or path) of the Directory that should be created within this File Share. Changing this forces a new resource to be created.\n"},"storageShareId":{"type":"string","deprecationMessage":"This property has been deprecated in favour of \u003cspan pulumi-lang-nodejs=\"`storageShareUrl`\" pulumi-lang-dotnet=\"`StorageShareUrl`\" pulumi-lang-go=\"`storageShareUrl`\" pulumi-lang-python=\"`storage_share_url`\" pulumi-lang-yaml=\"`storageShareUrl`\" pulumi-lang-java=\"`storageShareUrl`\"\u003e`storage_share_url`\u003c/span\u003e and will be removed in version 5.0 of the Provider."},"storageShareUrl":{"type":"string","description":"The Storage Share URL in which this file will be placed into. Changing this forces a new resource to be created.\n"}},"required":["name","storageShareId","storageShareUrl"],"inputProperties":{"metadata":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of metadata to assign to this Directory.\n"},"name":{"type":"string","description":"The name (or path) of the Directory that should be created within this File Share. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"storageShareId":{"type":"string","deprecationMessage":"This property has been deprecated in favour of \u003cspan pulumi-lang-nodejs=\"`storageShareUrl`\" pulumi-lang-dotnet=\"`StorageShareUrl`\" pulumi-lang-go=\"`storageShareUrl`\" pulumi-lang-python=\"`storage_share_url`\" pulumi-lang-yaml=\"`storageShareUrl`\" pulumi-lang-java=\"`storageShareUrl`\"\u003e`storage_share_url`\u003c/span\u003e and will be removed in version 5.0 of the Provider.","willReplaceOnChanges":true},"storageShareUrl":{"type":"string","description":"The Storage Share URL in which this file will be placed into. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"stateInputs":{"description":"Input properties used for looking up and filtering ShareDirectory resources.\n","properties":{"metadata":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of metadata to assign to this Directory.\n"},"name":{"type":"string","description":"The name (or path) of the Directory that should be created within this File Share. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"storageShareId":{"type":"string","deprecationMessage":"This property has been deprecated in favour of \u003cspan pulumi-lang-nodejs=\"`storageShareUrl`\" pulumi-lang-dotnet=\"`StorageShareUrl`\" pulumi-lang-go=\"`storageShareUrl`\" pulumi-lang-python=\"`storage_share_url`\" pulumi-lang-yaml=\"`storageShareUrl`\" pulumi-lang-java=\"`storageShareUrl`\"\u003e`storage_share_url`\u003c/span\u003e and will be removed in version 5.0 of the Provider.","willReplaceOnChanges":true},"storageShareUrl":{"type":"string","description":"The Storage Share URL in which this file will be placed into. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:storage/shareFile:ShareFile":{"description":"Manages a File within an Azure Storage File Share.\n\n\u003e **Note:** When using Azure Active Directory Authentication (i.e. setting the provider property \u003cspan pulumi-lang-nodejs=\"`storageUseAzuread \" pulumi-lang-dotnet=\"`StorageUseAzuread \" pulumi-lang-go=\"`storageUseAzuread \" pulumi-lang-python=\"`storage_use_azuread \" pulumi-lang-yaml=\"`storageUseAzuread \" pulumi-lang-java=\"`storageUseAzuread \"\u003e`storage_use_azuread \u003c/span\u003e= true`), the principal running Terraform must have the *Storage File Data Privileged Contributor* IAM role assigned. The *Storage File Data SMB Share Contributor* does not have sufficient permissions to create files. Refer to [official documentation](https://learn.microsoft.com/en-us/rest/api/storageservices/authorize-with-azure-active-directory#permissions-for-file-service-operations) for more details.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleAccount = new azure.storage.Account(\"example\", {\n    name: \"azureteststorage\",\n    resourceGroupName: example.name,\n    location: example.location,\n    accountTier: \"Standard\",\n    accountReplicationType: \"LRS\",\n});\nconst exampleShare = new azure.storage.Share(\"example\", {\n    name: \"sharename\",\n    storageAccountId: exampleAccount.id,\n    quota: 50,\n});\nconst exampleShareFile = new azure.storage.ShareFile(\"example\", {\n    name: \"my-awesome-content.zip\",\n    storageShareUrl: exampleShare.url,\n    source: \"some-local-file.zip\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_account = azure.storage.Account(\"example\",\n    name=\"azureteststorage\",\n    resource_group_name=example.name,\n    location=example.location,\n    account_tier=\"Standard\",\n    account_replication_type=\"LRS\")\nexample_share = azure.storage.Share(\"example\",\n    name=\"sharename\",\n    storage_account_id=example_account.id,\n    quota=50)\nexample_share_file = azure.storage.ShareFile(\"example\",\n    name=\"my-awesome-content.zip\",\n    storage_share_url=example_share.url,\n    source=\"some-local-file.zip\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleAccount = new Azure.Storage.Account(\"example\", new()\n    {\n        Name = \"azureteststorage\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        AccountTier = \"Standard\",\n        AccountReplicationType = \"LRS\",\n    });\n\n    var exampleShare = new Azure.Storage.Share(\"example\", new()\n    {\n        Name = \"sharename\",\n        StorageAccountId = exampleAccount.Id,\n        Quota = 50,\n    });\n\n    var exampleShareFile = new Azure.Storage.ShareFile(\"example\", new()\n    {\n        Name = \"my-awesome-content.zip\",\n        StorageShareUrl = exampleShare.Url,\n        Source = \"some-local-file.zip\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := storage.NewAccount(ctx, \"example\", \u0026storage.AccountArgs{\n\t\t\tName:                   pulumi.String(\"azureteststorage\"),\n\t\t\tResourceGroupName:      example.Name,\n\t\t\tLocation:               example.Location,\n\t\t\tAccountTier:            pulumi.String(\"Standard\"),\n\t\t\tAccountReplicationType: pulumi.String(\"LRS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleShare, err := storage.NewShare(ctx, \"example\", \u0026storage.ShareArgs{\n\t\t\tName:             pulumi.String(\"sharename\"),\n\t\t\tStorageAccountId: exampleAccount.ID(),\n\t\t\tQuota:            pulumi.Int(50),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = storage.NewShareFile(ctx, \"example\", \u0026storage.ShareFileArgs{\n\t\t\tName:            pulumi.String(\"my-awesome-content.zip\"),\n\t\t\tStorageShareUrl: exampleShare.Url,\n\t\t\tSource:          pulumi.String(\"some-local-file.zip\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.storage.Account;\nimport com.pulumi.azure.storage.AccountArgs;\nimport com.pulumi.azure.storage.Share;\nimport com.pulumi.azure.storage.ShareArgs;\nimport com.pulumi.azure.storage.ShareFile;\nimport com.pulumi.azure.storage.ShareFileArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"azureteststorage\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .accountTier(\"Standard\")\n            .accountReplicationType(\"LRS\")\n            .build());\n\n        var exampleShare = new Share(\"exampleShare\", ShareArgs.builder()\n            .name(\"sharename\")\n            .storageAccountId(exampleAccount.id())\n            .quota(50)\n            .build());\n\n        var exampleShareFile = new ShareFile(\"exampleShareFile\", ShareFileArgs.builder()\n            .name(\"my-awesome-content.zip\")\n            .storageShareUrl(exampleShare.url())\n            .source(\"some-local-file.zip\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleAccount:\n    type: azure:storage:Account\n    name: example\n    properties:\n      name: azureteststorage\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      accountTier: Standard\n      accountReplicationType: LRS\n  exampleShare:\n    type: azure:storage:Share\n    name: example\n    properties:\n      name: sharename\n      storageAccountId: ${exampleAccount.id}\n      quota: 50\n  exampleShareFile:\n    type: azure:storage:ShareFile\n    name: example\n    properties:\n      name: my-awesome-content.zip\n      storageShareUrl: ${exampleShare.url}\n      source: some-local-file.zip\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nDirectories within an Azure Storage File Share can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:storage/shareFile:ShareFile example https://account1.file.core.windows.net/share1/file1\n```\n\n","properties":{"contentDisposition":{"type":"string","description":"Sets the file’s Content-Disposition header.\n"},"contentEncoding":{"type":"string","description":"Specifies which content encodings have been applied to the file.\n"},"contentLength":{"type":"integer","description":"The length in bytes of the file content\n"},"contentMd5":{"type":"string","description":"The MD5 sum of the file contents. Changing this forces a new resource to be created.\n\n\u003e **Note:** This property is intended to be used with the Terraform internal filemd5 and md5 functions when \u003cspan pulumi-lang-nodejs=\"`source`\" pulumi-lang-dotnet=\"`Source`\" pulumi-lang-go=\"`source`\" pulumi-lang-python=\"`source`\" pulumi-lang-yaml=\"`source`\" pulumi-lang-java=\"`source`\"\u003e`source`\u003c/span\u003e is defined.\n"},"contentType":{"type":"string","description":"The content type of the share file. Defaults to `application/octet-stream`.\n"},"metadata":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of metadata to assign to this file.\n"},"name":{"type":"string","description":"The name (or path) of the File that should be created within this File Share. Changing this forces a new resource to be created.\n"},"path":{"type":"string","description":"The storage share directory that you would like the file placed into. Changing this forces a new resource to be created. Defaults to `\"\"`.\n"},"source":{"type":"string","description":"An absolute path to a file on the local system. Changing this forces a new resource to be created.\n\n\u003e **Note:** The file specified with \u003cspan pulumi-lang-nodejs=\"`source`\" pulumi-lang-dotnet=\"`Source`\" pulumi-lang-go=\"`source`\" pulumi-lang-python=\"`source`\" pulumi-lang-yaml=\"`source`\" pulumi-lang-java=\"`source`\"\u003e`source`\u003c/span\u003e can not be empty.\n"},"storageShareId":{"type":"string","deprecationMessage":"This property has been deprecated in favour of \u003cspan pulumi-lang-nodejs=\"`storageShareUrl`\" pulumi-lang-dotnet=\"`StorageShareUrl`\" pulumi-lang-go=\"`storageShareUrl`\" pulumi-lang-python=\"`storage_share_url`\" pulumi-lang-yaml=\"`storageShareUrl`\" pulumi-lang-java=\"`storageShareUrl`\"\u003e`storage_share_url`\u003c/span\u003e and will be removed in version 5.0 of the Provider."},"storageShareUrl":{"type":"string","description":"The Storage Share URL in which this file will be placed into. Changing this forces a new resource to be created.\n"}},"required":["contentLength","name","storageShareId","storageShareUrl"],"inputProperties":{"contentDisposition":{"type":"string","description":"Sets the file’s Content-Disposition header.\n"},"contentEncoding":{"type":"string","description":"Specifies which content encodings have been applied to the file.\n"},"contentMd5":{"type":"string","description":"The MD5 sum of the file contents. Changing this forces a new resource to be created.\n\n\u003e **Note:** This property is intended to be used with the Terraform internal filemd5 and md5 functions when \u003cspan pulumi-lang-nodejs=\"`source`\" pulumi-lang-dotnet=\"`Source`\" pulumi-lang-go=\"`source`\" pulumi-lang-python=\"`source`\" pulumi-lang-yaml=\"`source`\" pulumi-lang-java=\"`source`\"\u003e`source`\u003c/span\u003e is defined.\n","willReplaceOnChanges":true},"contentType":{"type":"string","description":"The content type of the share file. Defaults to `application/octet-stream`.\n"},"metadata":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of metadata to assign to this file.\n"},"name":{"type":"string","description":"The name (or path) of the File that should be created within this File Share. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"path":{"type":"string","description":"The storage share directory that you would like the file placed into. Changing this forces a new resource to be created. Defaults to `\"\"`.\n","willReplaceOnChanges":true},"source":{"type":"string","description":"An absolute path to a file on the local system. Changing this forces a new resource to be created.\n\n\u003e **Note:** The file specified with \u003cspan pulumi-lang-nodejs=\"`source`\" pulumi-lang-dotnet=\"`Source`\" pulumi-lang-go=\"`source`\" pulumi-lang-python=\"`source`\" pulumi-lang-yaml=\"`source`\" pulumi-lang-java=\"`source`\"\u003e`source`\u003c/span\u003e can not be empty.\n","willReplaceOnChanges":true},"storageShareId":{"type":"string","deprecationMessage":"This property has been deprecated in favour of \u003cspan pulumi-lang-nodejs=\"`storageShareUrl`\" pulumi-lang-dotnet=\"`StorageShareUrl`\" pulumi-lang-go=\"`storageShareUrl`\" pulumi-lang-python=\"`storage_share_url`\" pulumi-lang-yaml=\"`storageShareUrl`\" pulumi-lang-java=\"`storageShareUrl`\"\u003e`storage_share_url`\u003c/span\u003e and will be removed in version 5.0 of the Provider.","willReplaceOnChanges":true},"storageShareUrl":{"type":"string","description":"The Storage Share URL in which this file will be placed into. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"stateInputs":{"description":"Input properties used for looking up and filtering ShareFile resources.\n","properties":{"contentDisposition":{"type":"string","description":"Sets the file’s Content-Disposition header.\n"},"contentEncoding":{"type":"string","description":"Specifies which content encodings have been applied to the file.\n"},"contentLength":{"type":"integer","description":"The length in bytes of the file content\n"},"contentMd5":{"type":"string","description":"The MD5 sum of the file contents. Changing this forces a new resource to be created.\n\n\u003e **Note:** This property is intended to be used with the Terraform internal filemd5 and md5 functions when \u003cspan pulumi-lang-nodejs=\"`source`\" pulumi-lang-dotnet=\"`Source`\" pulumi-lang-go=\"`source`\" pulumi-lang-python=\"`source`\" pulumi-lang-yaml=\"`source`\" pulumi-lang-java=\"`source`\"\u003e`source`\u003c/span\u003e is defined.\n","willReplaceOnChanges":true},"contentType":{"type":"string","description":"The content type of the share file. Defaults to `application/octet-stream`.\n"},"metadata":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of metadata to assign to this file.\n"},"name":{"type":"string","description":"The name (or path) of the File that should be created within this File Share. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"path":{"type":"string","description":"The storage share directory that you would like the file placed into. Changing this forces a new resource to be created. Defaults to `\"\"`.\n","willReplaceOnChanges":true},"source":{"type":"string","description":"An absolute path to a file on the local system. Changing this forces a new resource to be created.\n\n\u003e **Note:** The file specified with \u003cspan pulumi-lang-nodejs=\"`source`\" pulumi-lang-dotnet=\"`Source`\" pulumi-lang-go=\"`source`\" pulumi-lang-python=\"`source`\" pulumi-lang-yaml=\"`source`\" pulumi-lang-java=\"`source`\"\u003e`source`\u003c/span\u003e can not be empty.\n","willReplaceOnChanges":true},"storageShareId":{"type":"string","deprecationMessage":"This property has been deprecated in favour of \u003cspan pulumi-lang-nodejs=\"`storageShareUrl`\" pulumi-lang-dotnet=\"`StorageShareUrl`\" pulumi-lang-go=\"`storageShareUrl`\" pulumi-lang-python=\"`storage_share_url`\" pulumi-lang-yaml=\"`storageShareUrl`\" pulumi-lang-java=\"`storageShareUrl`\"\u003e`storage_share_url`\u003c/span\u003e and will be removed in version 5.0 of the Provider.","willReplaceOnChanges":true},"storageShareUrl":{"type":"string","description":"The Storage Share URL in which this file will be placed into. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:storage/sync:Sync":{"description":"Manages a Storage Sync.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleSync = new azure.storage.Sync(\"example\", {\n    name: \"example-storage-sync\",\n    resourceGroupName: example.name,\n    location: example.location,\n    tags: {\n        foo: \"bar\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_sync = azure.storage.Sync(\"example\",\n    name=\"example-storage-sync\",\n    resource_group_name=example.name,\n    location=example.location,\n    tags={\n        \"foo\": \"bar\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleSync = new Azure.Storage.Sync(\"example\", new()\n    {\n        Name = \"example-storage-sync\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        Tags = \n        {\n            { \"foo\", \"bar\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = storage.NewSync(ctx, \"example\", \u0026storage.SyncArgs{\n\t\t\tName:              pulumi.String(\"example-storage-sync\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"foo\": pulumi.String(\"bar\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.storage.Sync;\nimport com.pulumi.azure.storage.SyncArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleSync = new Sync(\"exampleSync\", SyncArgs.builder()\n            .name(\"example-storage-sync\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .tags(Map.of(\"foo\", \"bar\"))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleSync:\n    type: azure:storage:Sync\n    name: example\n    properties:\n      name: example-storage-sync\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      tags:\n        foo: bar\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.StorageSync` - 2020-03-01\n\n## Import\n\nStorage Syncs can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:storage/sync:Sync example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.StorageSync/storageSyncServices/sync1\n```\n\n","properties":{"incomingTrafficPolicy":{"type":"string","description":"Incoming traffic policy. Possible values are `AllowAllTraffic` and `AllowVirtualNetworksOnly`. Defaults to `AllowAllTraffic`.\n"},"location":{"type":"string","description":"The Azure Region where the Storage Sync should exist. Changing this forces a new Storage Sync to be created.\n"},"name":{"type":"string","description":"The name which should be used for this Storage Sync. Changing this forces a new Storage Sync to be created.\n"},"registeredServers":{"type":"array","items":{"type":"string"},"description":"A list of registered servers owned by this Storage Sync.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Storage Sync should exist. Changing this forces a new Storage Sync to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Storage Sync.\n"}},"required":["location","name","registeredServers","resourceGroupName"],"inputProperties":{"incomingTrafficPolicy":{"type":"string","description":"Incoming traffic policy. Possible values are `AllowAllTraffic` and `AllowVirtualNetworksOnly`. Defaults to `AllowAllTraffic`.\n"},"location":{"type":"string","description":"The Azure Region where the Storage Sync should exist. Changing this forces a new Storage Sync to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Storage Sync. Changing this forces a new Storage Sync to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Storage Sync should exist. Changing this forces a new Storage Sync to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Storage Sync.\n"}},"requiredInputs":["resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering Sync resources.\n","properties":{"incomingTrafficPolicy":{"type":"string","description":"Incoming traffic policy. Possible values are `AllowAllTraffic` and `AllowVirtualNetworksOnly`. Defaults to `AllowAllTraffic`.\n"},"location":{"type":"string","description":"The Azure Region where the Storage Sync should exist. Changing this forces a new Storage Sync to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Storage Sync. Changing this forces a new Storage Sync to be created.\n","willReplaceOnChanges":true},"registeredServers":{"type":"array","items":{"type":"string"},"description":"A list of registered servers owned by this Storage Sync.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Storage Sync should exist. Changing this forces a new Storage Sync to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Storage Sync.\n"}},"type":"object"}},"azure:storage/syncCloudEndpoint:SyncCloudEndpoint":{"description":"Manages a Storage Sync Cloud Endpoint.\n\n\u003e **Note:** Please ensure Azure File Sync has access to the storage account in your subscription, which indicates that `Microsoft.StorageSync` is assigned role `Reader and Data Access` ( refer to details [here](https://docs.microsoft.com/azure/storage/files/storage-sync-files-troubleshoot?tabs=portal1%2Cazure-portal#common-troubleshooting-steps)).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleSync = new azure.storage.Sync(\"example\", {\n    name: \"example-ss\",\n    resourceGroupName: example.name,\n    location: example.location,\n});\nconst exampleSyncGroup = new azure.storage.SyncGroup(\"example\", {\n    name: \"example-ss-group\",\n    storageSyncId: exampleSync.id,\n});\nconst exampleAccount = new azure.storage.Account(\"example\", {\n    name: \"example\",\n    resourceGroupName: example.name,\n    location: example.location,\n    accountTier: \"Standard\",\n    accountReplicationType: \"LRS\",\n});\nconst exampleShare = new azure.storage.Share(\"example\", {\n    name: \"example-share\",\n    storageAccountName: exampleAccount.name,\n    quota: 50,\n    acls: [{\n        id: \"GhostedRecall\",\n        accessPolicies: [{\n            permissions: \"r\",\n        }],\n    }],\n});\nconst exampleSyncCloudEndpoint = new azure.storage.SyncCloudEndpoint(\"example\", {\n    name: \"example-ss-ce\",\n    storageSyncGroupId: exampleSyncGroup.id,\n    fileShareName: exampleShare.name,\n    storageAccountId: exampleAccount.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_sync = azure.storage.Sync(\"example\",\n    name=\"example-ss\",\n    resource_group_name=example.name,\n    location=example.location)\nexample_sync_group = azure.storage.SyncGroup(\"example\",\n    name=\"example-ss-group\",\n    storage_sync_id=example_sync.id)\nexample_account = azure.storage.Account(\"example\",\n    name=\"example\",\n    resource_group_name=example.name,\n    location=example.location,\n    account_tier=\"Standard\",\n    account_replication_type=\"LRS\")\nexample_share = azure.storage.Share(\"example\",\n    name=\"example-share\",\n    storage_account_name=example_account.name,\n    quota=50,\n    acls=[{\n        \"id\": \"GhostedRecall\",\n        \"access_policies\": [{\n            \"permissions\": \"r\",\n        }],\n    }])\nexample_sync_cloud_endpoint = azure.storage.SyncCloudEndpoint(\"example\",\n    name=\"example-ss-ce\",\n    storage_sync_group_id=example_sync_group.id,\n    file_share_name=example_share.name,\n    storage_account_id=example_account.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleSync = new Azure.Storage.Sync(\"example\", new()\n    {\n        Name = \"example-ss\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n    });\n\n    var exampleSyncGroup = new Azure.Storage.SyncGroup(\"example\", new()\n    {\n        Name = \"example-ss-group\",\n        StorageSyncId = exampleSync.Id,\n    });\n\n    var exampleAccount = new Azure.Storage.Account(\"example\", new()\n    {\n        Name = \"example\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        AccountTier = \"Standard\",\n        AccountReplicationType = \"LRS\",\n    });\n\n    var exampleShare = new Azure.Storage.Share(\"example\", new()\n    {\n        Name = \"example-share\",\n        StorageAccountName = exampleAccount.Name,\n        Quota = 50,\n        Acls = new[]\n        {\n            new Azure.Storage.Inputs.ShareAclArgs\n            {\n                Id = \"GhostedRecall\",\n                AccessPolicies = new[]\n                {\n                    new Azure.Storage.Inputs.ShareAclAccessPolicyArgs\n                    {\n                        Permissions = \"r\",\n                    },\n                },\n            },\n        },\n    });\n\n    var exampleSyncCloudEndpoint = new Azure.Storage.SyncCloudEndpoint(\"example\", new()\n    {\n        Name = \"example-ss-ce\",\n        StorageSyncGroupId = exampleSyncGroup.Id,\n        FileShareName = exampleShare.Name,\n        StorageAccountId = exampleAccount.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSync, err := storage.NewSync(ctx, \"example\", \u0026storage.SyncArgs{\n\t\t\tName:              pulumi.String(\"example-ss\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSyncGroup, err := storage.NewSyncGroup(ctx, \"example\", \u0026storage.SyncGroupArgs{\n\t\t\tName:          pulumi.String(\"example-ss-group\"),\n\t\t\tStorageSyncId: exampleSync.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := storage.NewAccount(ctx, \"example\", \u0026storage.AccountArgs{\n\t\t\tName:                   pulumi.String(\"example\"),\n\t\t\tResourceGroupName:      example.Name,\n\t\t\tLocation:               example.Location,\n\t\t\tAccountTier:            pulumi.String(\"Standard\"),\n\t\t\tAccountReplicationType: pulumi.String(\"LRS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleShare, err := storage.NewShare(ctx, \"example\", \u0026storage.ShareArgs{\n\t\t\tName:               pulumi.String(\"example-share\"),\n\t\t\tStorageAccountName: exampleAccount.Name,\n\t\t\tQuota:              pulumi.Int(50),\n\t\t\tAcls: storage.ShareAclArray{\n\t\t\t\t\u0026storage.ShareAclArgs{\n\t\t\t\t\tId: pulumi.String(\"GhostedRecall\"),\n\t\t\t\t\tAccessPolicies: storage.ShareAclAccessPolicyArray{\n\t\t\t\t\t\t\u0026storage.ShareAclAccessPolicyArgs{\n\t\t\t\t\t\t\tPermissions: pulumi.String(\"r\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = storage.NewSyncCloudEndpoint(ctx, \"example\", \u0026storage.SyncCloudEndpointArgs{\n\t\t\tName:               pulumi.String(\"example-ss-ce\"),\n\t\t\tStorageSyncGroupId: exampleSyncGroup.ID(),\n\t\t\tFileShareName:      exampleShare.Name,\n\t\t\tStorageAccountId:   exampleAccount.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.storage.Sync;\nimport com.pulumi.azure.storage.SyncArgs;\nimport com.pulumi.azure.storage.SyncGroup;\nimport com.pulumi.azure.storage.SyncGroupArgs;\nimport com.pulumi.azure.storage.Account;\nimport com.pulumi.azure.storage.AccountArgs;\nimport com.pulumi.azure.storage.Share;\nimport com.pulumi.azure.storage.ShareArgs;\nimport com.pulumi.azure.storage.inputs.ShareAclArgs;\nimport com.pulumi.azure.storage.SyncCloudEndpoint;\nimport com.pulumi.azure.storage.SyncCloudEndpointArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleSync = new Sync(\"exampleSync\", SyncArgs.builder()\n            .name(\"example-ss\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .build());\n\n        var exampleSyncGroup = new SyncGroup(\"exampleSyncGroup\", SyncGroupArgs.builder()\n            .name(\"example-ss-group\")\n            .storageSyncId(exampleSync.id())\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"example\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .accountTier(\"Standard\")\n            .accountReplicationType(\"LRS\")\n            .build());\n\n        var exampleShare = new Share(\"exampleShare\", ShareArgs.builder()\n            .name(\"example-share\")\n            .storageAccountName(exampleAccount.name())\n            .quota(50)\n            .acls(ShareAclArgs.builder()\n                .id(\"GhostedRecall\")\n                .accessPolicies(ShareAclAccessPolicyArgs.builder()\n                    .permissions(\"r\")\n                    .build())\n                .build())\n            .build());\n\n        var exampleSyncCloudEndpoint = new SyncCloudEndpoint(\"exampleSyncCloudEndpoint\", SyncCloudEndpointArgs.builder()\n            .name(\"example-ss-ce\")\n            .storageSyncGroupId(exampleSyncGroup.id())\n            .fileShareName(exampleShare.name())\n            .storageAccountId(exampleAccount.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleSync:\n    type: azure:storage:Sync\n    name: example\n    properties:\n      name: example-ss\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n  exampleSyncGroup:\n    type: azure:storage:SyncGroup\n    name: example\n    properties:\n      name: example-ss-group\n      storageSyncId: ${exampleSync.id}\n  exampleAccount:\n    type: azure:storage:Account\n    name: example\n    properties:\n      name: example\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      accountTier: Standard\n      accountReplicationType: LRS\n  exampleShare:\n    type: azure:storage:Share\n    name: example\n    properties:\n      name: example-share\n      storageAccountName: ${exampleAccount.name}\n      quota: 50\n      acls:\n        - id: GhostedRecall\n          accessPolicies:\n            - permissions: r\n  exampleSyncCloudEndpoint:\n    type: azure:storage:SyncCloudEndpoint\n    name: example\n    properties:\n      name: example-ss-ce\n      storageSyncGroupId: ${exampleSyncGroup.id}\n      fileShareName: ${exampleShare.name}\n      storageAccountId: ${exampleAccount.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.StorageSync` - 2020-03-01\n\n## Import\n\nStorage Sync Cloud Endpoints can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:storage/syncCloudEndpoint:SyncCloudEndpoint example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.StorageSync/storageSyncServices/sync1/syncGroups/syncgroup1/cloudEndpoints/cloudEndpoint1\n```\n\n","properties":{"fileShareName":{"type":"string","description":"The Storage Share name to be synchronized in this Storage Sync Cloud Endpoint. Changing this forces a new Storage Sync Cloud Endpoint to be created.\n"},"name":{"type":"string","description":"The name which should be used for this Storage Sync Cloud Endpoint. Changing this forces a new Storage Sync Cloud Endpoint to be created.\n"},"storageAccountId":{"type":"string","description":"The ID of the Storage Account where the Storage Share exists. Changing this forces a new Storage Sync Cloud Endpoint to be created.\n"},"storageAccountTenantId":{"type":"string","description":"The Tenant ID of the Storage Account where the Storage Share exists. Changing this forces a new Storage Sync Cloud Endpoint to be created. Defaults to the current tenant id.\n"},"storageSyncGroupId":{"type":"string","description":"The ID of the Storage Sync Group where this Cloud Endpoint should be created. Changing this forces a new Storage Sync Cloud Endpoint to be created.\n"}},"required":["fileShareName","name","storageAccountId","storageAccountTenantId","storageSyncGroupId"],"inputProperties":{"fileShareName":{"type":"string","description":"The Storage Share name to be synchronized in this Storage Sync Cloud Endpoint. Changing this forces a new Storage Sync Cloud Endpoint to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Storage Sync Cloud Endpoint. Changing this forces a new Storage Sync Cloud Endpoint to be created.\n","willReplaceOnChanges":true},"storageAccountId":{"type":"string","description":"The ID of the Storage Account where the Storage Share exists. Changing this forces a new Storage Sync Cloud Endpoint to be created.\n","willReplaceOnChanges":true},"storageAccountTenantId":{"type":"string","description":"The Tenant ID of the Storage Account where the Storage Share exists. Changing this forces a new Storage Sync Cloud Endpoint to be created. Defaults to the current tenant id.\n","willReplaceOnChanges":true},"storageSyncGroupId":{"type":"string","description":"The ID of the Storage Sync Group where this Cloud Endpoint should be created. Changing this forces a new Storage Sync Cloud Endpoint to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["fileShareName","storageAccountId","storageSyncGroupId"],"stateInputs":{"description":"Input properties used for looking up and filtering SyncCloudEndpoint resources.\n","properties":{"fileShareName":{"type":"string","description":"The Storage Share name to be synchronized in this Storage Sync Cloud Endpoint. Changing this forces a new Storage Sync Cloud Endpoint to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Storage Sync Cloud Endpoint. Changing this forces a new Storage Sync Cloud Endpoint to be created.\n","willReplaceOnChanges":true},"storageAccountId":{"type":"string","description":"The ID of the Storage Account where the Storage Share exists. Changing this forces a new Storage Sync Cloud Endpoint to be created.\n","willReplaceOnChanges":true},"storageAccountTenantId":{"type":"string","description":"The Tenant ID of the Storage Account where the Storage Share exists. Changing this forces a new Storage Sync Cloud Endpoint to be created. Defaults to the current tenant id.\n","willReplaceOnChanges":true},"storageSyncGroupId":{"type":"string","description":"The ID of the Storage Sync Group where this Cloud Endpoint should be created. Changing this forces a new Storage Sync Cloud Endpoint to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:storage/syncGroup:SyncGroup":{"description":"Manages a Storage Sync Group.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleSync = new azure.storage.Sync(\"example\", {\n    name: \"example-ss\",\n    resourceGroupName: example.name,\n    location: example.location,\n});\nconst exampleSyncGroup = new azure.storage.SyncGroup(\"example\", {\n    name: \"example-ss-group\",\n    storageSyncId: exampleSync.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_sync = azure.storage.Sync(\"example\",\n    name=\"example-ss\",\n    resource_group_name=example.name,\n    location=example.location)\nexample_sync_group = azure.storage.SyncGroup(\"example\",\n    name=\"example-ss-group\",\n    storage_sync_id=example_sync.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleSync = new Azure.Storage.Sync(\"example\", new()\n    {\n        Name = \"example-ss\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n    });\n\n    var exampleSyncGroup = new Azure.Storage.SyncGroup(\"example\", new()\n    {\n        Name = \"example-ss-group\",\n        StorageSyncId = exampleSync.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSync, err := storage.NewSync(ctx, \"example\", \u0026storage.SyncArgs{\n\t\t\tName:              pulumi.String(\"example-ss\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = storage.NewSyncGroup(ctx, \"example\", \u0026storage.SyncGroupArgs{\n\t\t\tName:          pulumi.String(\"example-ss-group\"),\n\t\t\tStorageSyncId: exampleSync.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.storage.Sync;\nimport com.pulumi.azure.storage.SyncArgs;\nimport com.pulumi.azure.storage.SyncGroup;\nimport com.pulumi.azure.storage.SyncGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleSync = new Sync(\"exampleSync\", SyncArgs.builder()\n            .name(\"example-ss\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .build());\n\n        var exampleSyncGroup = new SyncGroup(\"exampleSyncGroup\", SyncGroupArgs.builder()\n            .name(\"example-ss-group\")\n            .storageSyncId(exampleSync.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleSync:\n    type: azure:storage:Sync\n    name: example\n    properties:\n      name: example-ss\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n  exampleSyncGroup:\n    type: azure:storage:SyncGroup\n    name: example\n    properties:\n      name: example-ss-group\n      storageSyncId: ${exampleSync.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.StorageSync` - 2020-03-01\n\n## Import\n\nStorage Sync Groups can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:storage/syncGroup:SyncGroup example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resGroup1/providers/Microsoft.StorageSync/storageSyncServices/sync1/syncGroups/group1\n```\n\n","properties":{"name":{"type":"string","description":"The name which should be used for this Storage Sync Group. Changing this forces a new Storage Sync Group to be created.\n"},"storageSyncId":{"type":"string","description":"The resource ID of the Storage Sync where this Storage Sync Group is. Changing this forces a new Storage Sync Group to be created.\n"}},"required":["name","storageSyncId"],"inputProperties":{"name":{"type":"string","description":"The name which should be used for this Storage Sync Group. Changing this forces a new Storage Sync Group to be created.\n","willReplaceOnChanges":true},"storageSyncId":{"type":"string","description":"The resource ID of the Storage Sync where this Storage Sync Group is. Changing this forces a new Storage Sync Group to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["storageSyncId"],"stateInputs":{"description":"Input properties used for looking up and filtering SyncGroup resources.\n","properties":{"name":{"type":"string","description":"The name which should be used for this Storage Sync Group. Changing this forces a new Storage Sync Group to be created.\n","willReplaceOnChanges":true},"storageSyncId":{"type":"string","description":"The resource ID of the Storage Sync where this Storage Sync Group is. Changing this forces a new Storage Sync Group to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:storage/syncServerEndpoint:SyncServerEndpoint":{"description":"Manages a Storage Sync Server Endpoint.\n\n\u003e **Note:** The parent \u003cspan pulumi-lang-nodejs=\"`azure.storage.SyncGroup`\" pulumi-lang-dotnet=\"`azure.storage.SyncGroup`\" pulumi-lang-go=\"`storage.SyncGroup`\" pulumi-lang-python=\"`storage.SyncGroup`\" pulumi-lang-yaml=\"`azure.storage.SyncGroup`\" pulumi-lang-java=\"`azure.storage.SyncGroup`\"\u003e`azure.storage.SyncGroup`\u003c/span\u003e must have an \u003cspan pulumi-lang-nodejs=\"`azure.storage.SyncCloudEndpoint`\" pulumi-lang-dotnet=\"`azure.storage.SyncCloudEndpoint`\" pulumi-lang-go=\"`storage.SyncCloudEndpoint`\" pulumi-lang-python=\"`storage.SyncCloudEndpoint`\" pulumi-lang-yaml=\"`azure.storage.SyncCloudEndpoint`\" pulumi-lang-java=\"`azure.storage.SyncCloudEndpoint`\"\u003e`azure.storage.SyncCloudEndpoint`\u003c/span\u003e available before an \u003cspan pulumi-lang-nodejs=\"`azure.storage.SyncServerEndpoint`\" pulumi-lang-dotnet=\"`azure.storage.SyncServerEndpoint`\" pulumi-lang-go=\"`storage.SyncServerEndpoint`\" pulumi-lang-python=\"`storage.SyncServerEndpoint`\" pulumi-lang-yaml=\"`azure.storage.SyncServerEndpoint`\" pulumi-lang-java=\"`azure.storage.SyncServerEndpoint`\"\u003e`azure.storage.SyncServerEndpoint`\u003c/span\u003e resource can be created.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleSync = new azure.storage.Sync(\"example\", {\n    name: \"example-storage-sync\",\n    resourceGroupName: example.name,\n    location: example.location,\n});\nconst exampleSyncGroup = new azure.storage.SyncGroup(\"example\", {\n    name: \"example-storage-sync-group\",\n    storageSyncId: exampleSync.id,\n});\nconst exampleAccount = new azure.storage.Account(\"example\", {\n    name: \"example-storage-account\",\n    resourceGroupName: example.name,\n    location: example.location,\n    accountTier: \"Standard\",\n    accountReplicationType: \"LRS\",\n});\nconst exampleShare = new azure.storage.Share(\"example\", {\n    name: \"example-storage-share\",\n    storageAccountName: exampleAccount.name,\n    quota: 1,\n    acls: [{\n        id: \"GhostedRecall\",\n        accessPolicies: [{\n            permissions: \"r\",\n        }],\n    }],\n});\nconst exampleSyncCloudEndpoint = new azure.storage.SyncCloudEndpoint(\"example\", {\n    name: \"example-ss-ce\",\n    storageSyncGroupId: exampleSyncGroup.id,\n    fileShareName: exampleShare.name,\n    storageAccountId: exampleAccount.id,\n});\nconst exampleSyncServerEndpoint = new azure.storage.SyncServerEndpoint(\"example\", {\n    name: \"example-storage-sync-server-endpoint\",\n    storageSyncGroupId: exampleSyncGroup.id,\n    registeredServerId: exampleSync.registeredServers[0],\n}, {\n    dependsOn: [exampleSyncCloudEndpoint],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_sync = azure.storage.Sync(\"example\",\n    name=\"example-storage-sync\",\n    resource_group_name=example.name,\n    location=example.location)\nexample_sync_group = azure.storage.SyncGroup(\"example\",\n    name=\"example-storage-sync-group\",\n    storage_sync_id=example_sync.id)\nexample_account = azure.storage.Account(\"example\",\n    name=\"example-storage-account\",\n    resource_group_name=example.name,\n    location=example.location,\n    account_tier=\"Standard\",\n    account_replication_type=\"LRS\")\nexample_share = azure.storage.Share(\"example\",\n    name=\"example-storage-share\",\n    storage_account_name=example_account.name,\n    quota=1,\n    acls=[{\n        \"id\": \"GhostedRecall\",\n        \"access_policies\": [{\n            \"permissions\": \"r\",\n        }],\n    }])\nexample_sync_cloud_endpoint = azure.storage.SyncCloudEndpoint(\"example\",\n    name=\"example-ss-ce\",\n    storage_sync_group_id=example_sync_group.id,\n    file_share_name=example_share.name,\n    storage_account_id=example_account.id)\nexample_sync_server_endpoint = azure.storage.SyncServerEndpoint(\"example\",\n    name=\"example-storage-sync-server-endpoint\",\n    storage_sync_group_id=example_sync_group.id,\n    registered_server_id=example_sync.registered_servers[0],\n    opts = pulumi.ResourceOptions(depends_on=[example_sync_cloud_endpoint]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleSync = new Azure.Storage.Sync(\"example\", new()\n    {\n        Name = \"example-storage-sync\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n    });\n\n    var exampleSyncGroup = new Azure.Storage.SyncGroup(\"example\", new()\n    {\n        Name = \"example-storage-sync-group\",\n        StorageSyncId = exampleSync.Id,\n    });\n\n    var exampleAccount = new Azure.Storage.Account(\"example\", new()\n    {\n        Name = \"example-storage-account\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        AccountTier = \"Standard\",\n        AccountReplicationType = \"LRS\",\n    });\n\n    var exampleShare = new Azure.Storage.Share(\"example\", new()\n    {\n        Name = \"example-storage-share\",\n        StorageAccountName = exampleAccount.Name,\n        Quota = 1,\n        Acls = new[]\n        {\n            new Azure.Storage.Inputs.ShareAclArgs\n            {\n                Id = \"GhostedRecall\",\n                AccessPolicies = new[]\n                {\n                    new Azure.Storage.Inputs.ShareAclAccessPolicyArgs\n                    {\n                        Permissions = \"r\",\n                    },\n                },\n            },\n        },\n    });\n\n    var exampleSyncCloudEndpoint = new Azure.Storage.SyncCloudEndpoint(\"example\", new()\n    {\n        Name = \"example-ss-ce\",\n        StorageSyncGroupId = exampleSyncGroup.Id,\n        FileShareName = exampleShare.Name,\n        StorageAccountId = exampleAccount.Id,\n    });\n\n    var exampleSyncServerEndpoint = new Azure.Storage.SyncServerEndpoint(\"example\", new()\n    {\n        Name = \"example-storage-sync-server-endpoint\",\n        StorageSyncGroupId = exampleSyncGroup.Id,\n        RegisteredServerId = exampleSync.RegisteredServers.Apply(registeredServers =\u003e registeredServers[0]),\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            exampleSyncCloudEndpoint,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSync, err := storage.NewSync(ctx, \"example\", \u0026storage.SyncArgs{\n\t\t\tName:              pulumi.String(\"example-storage-sync\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSyncGroup, err := storage.NewSyncGroup(ctx, \"example\", \u0026storage.SyncGroupArgs{\n\t\t\tName:          pulumi.String(\"example-storage-sync-group\"),\n\t\t\tStorageSyncId: exampleSync.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := storage.NewAccount(ctx, \"example\", \u0026storage.AccountArgs{\n\t\t\tName:                   pulumi.String(\"example-storage-account\"),\n\t\t\tResourceGroupName:      example.Name,\n\t\t\tLocation:               example.Location,\n\t\t\tAccountTier:            pulumi.String(\"Standard\"),\n\t\t\tAccountReplicationType: pulumi.String(\"LRS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleShare, err := storage.NewShare(ctx, \"example\", \u0026storage.ShareArgs{\n\t\t\tName:               pulumi.String(\"example-storage-share\"),\n\t\t\tStorageAccountName: exampleAccount.Name,\n\t\t\tQuota:              pulumi.Int(1),\n\t\t\tAcls: storage.ShareAclArray{\n\t\t\t\t\u0026storage.ShareAclArgs{\n\t\t\t\t\tId: pulumi.String(\"GhostedRecall\"),\n\t\t\t\t\tAccessPolicies: storage.ShareAclAccessPolicyArray{\n\t\t\t\t\t\t\u0026storage.ShareAclAccessPolicyArgs{\n\t\t\t\t\t\t\tPermissions: pulumi.String(\"r\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSyncCloudEndpoint, err := storage.NewSyncCloudEndpoint(ctx, \"example\", \u0026storage.SyncCloudEndpointArgs{\n\t\t\tName:               pulumi.String(\"example-ss-ce\"),\n\t\t\tStorageSyncGroupId: exampleSyncGroup.ID(),\n\t\t\tFileShareName:      exampleShare.Name,\n\t\t\tStorageAccountId:   exampleAccount.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = storage.NewSyncServerEndpoint(ctx, \"example\", \u0026storage.SyncServerEndpointArgs{\n\t\t\tName:               pulumi.String(\"example-storage-sync-server-endpoint\"),\n\t\t\tStorageSyncGroupId: exampleSyncGroup.ID(),\n\t\t\tRegisteredServerId: exampleSync.RegisteredServers.ApplyT(func(registeredServers []string) (string, error) {\n\t\t\t\treturn registeredServers[0], nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleSyncCloudEndpoint,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.storage.Sync;\nimport com.pulumi.azure.storage.SyncArgs;\nimport com.pulumi.azure.storage.SyncGroup;\nimport com.pulumi.azure.storage.SyncGroupArgs;\nimport com.pulumi.azure.storage.Account;\nimport com.pulumi.azure.storage.AccountArgs;\nimport com.pulumi.azure.storage.Share;\nimport com.pulumi.azure.storage.ShareArgs;\nimport com.pulumi.azure.storage.inputs.ShareAclArgs;\nimport com.pulumi.azure.storage.SyncCloudEndpoint;\nimport com.pulumi.azure.storage.SyncCloudEndpointArgs;\nimport com.pulumi.azure.storage.SyncServerEndpoint;\nimport com.pulumi.azure.storage.SyncServerEndpointArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleSync = new Sync(\"exampleSync\", SyncArgs.builder()\n            .name(\"example-storage-sync\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .build());\n\n        var exampleSyncGroup = new SyncGroup(\"exampleSyncGroup\", SyncGroupArgs.builder()\n            .name(\"example-storage-sync-group\")\n            .storageSyncId(exampleSync.id())\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"example-storage-account\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .accountTier(\"Standard\")\n            .accountReplicationType(\"LRS\")\n            .build());\n\n        var exampleShare = new Share(\"exampleShare\", ShareArgs.builder()\n            .name(\"example-storage-share\")\n            .storageAccountName(exampleAccount.name())\n            .quota(1)\n            .acls(ShareAclArgs.builder()\n                .id(\"GhostedRecall\")\n                .accessPolicies(ShareAclAccessPolicyArgs.builder()\n                    .permissions(\"r\")\n                    .build())\n                .build())\n            .build());\n\n        var exampleSyncCloudEndpoint = new SyncCloudEndpoint(\"exampleSyncCloudEndpoint\", SyncCloudEndpointArgs.builder()\n            .name(\"example-ss-ce\")\n            .storageSyncGroupId(exampleSyncGroup.id())\n            .fileShareName(exampleShare.name())\n            .storageAccountId(exampleAccount.id())\n            .build());\n\n        var exampleSyncServerEndpoint = new SyncServerEndpoint(\"exampleSyncServerEndpoint\", SyncServerEndpointArgs.builder()\n            .name(\"example-storage-sync-server-endpoint\")\n            .storageSyncGroupId(exampleSyncGroup.id())\n            .registeredServerId(exampleSync.registeredServers().applyValue(_registeredServers -\u003e _registeredServers[0]))\n            .build(), CustomResourceOptions.builder()\n                .dependsOn(exampleSyncCloudEndpoint)\n                .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleSync:\n    type: azure:storage:Sync\n    name: example\n    properties:\n      name: example-storage-sync\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n  exampleSyncGroup:\n    type: azure:storage:SyncGroup\n    name: example\n    properties:\n      name: example-storage-sync-group\n      storageSyncId: ${exampleSync.id}\n  exampleAccount:\n    type: azure:storage:Account\n    name: example\n    properties:\n      name: example-storage-account\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      accountTier: Standard\n      accountReplicationType: LRS\n  exampleShare:\n    type: azure:storage:Share\n    name: example\n    properties:\n      name: example-storage-share\n      storageAccountName: ${exampleAccount.name}\n      quota: 1\n      acls:\n        - id: GhostedRecall\n          accessPolicies:\n            - permissions: r\n  exampleSyncCloudEndpoint:\n    type: azure:storage:SyncCloudEndpoint\n    name: example\n    properties:\n      name: example-ss-ce\n      storageSyncGroupId: ${exampleSyncGroup.id}\n      fileShareName: ${exampleShare.name}\n      storageAccountId: ${exampleAccount.id}\n  exampleSyncServerEndpoint:\n    type: azure:storage:SyncServerEndpoint\n    name: example\n    properties:\n      name: example-storage-sync-server-endpoint\n      storageSyncGroupId: ${exampleSyncGroup.id}\n      registeredServerId: ${exampleSync.registeredServers[0]}\n    options:\n      dependsOn:\n        - ${exampleSyncCloudEndpoint}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.StorageSync` - 2020-03-01\n\n## Import\n\nStorage Sync Server Endpoints can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:storage/syncServerEndpoint:SyncServerEndpoint example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.StorageSync/storageSyncServices/sync1/syncGroups/syncGroup1/serverEndpoints/endpoint1\n```\n\n","properties":{"cloudTieringEnabled":{"type":"boolean","description":"Is Cloud Tiering Enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"initialDownloadPolicy":{"type":"string","description":"Specifies how the server initially downloads the Azure file share data. Valid Values includes `NamespaceThenModifiedFiles`, `NamespaceOnly`, and `AvoidTieredFiles`. Defaults to `NamespaceThenModifiedFiles`. Changing this forces a new resource to be created.\n"},"localCacheMode":{"type":"string","description":"Specifies how to handle the local cache. Valid Values include `UpdateLocallyCachedFiles` and `DownloadNewAndModifiedFiles`. Defaults to `UpdateLocallyCachedFiles`.\n"},"name":{"type":"string","description":"The name which should be used for this Storage Sync. Changing this forces a new Storage Sync Server Endpoint to be created.\n"},"registeredServerId":{"type":"string","description":"The ID of the Registered Server that will be associate with the Storage Sync Server Endpoint. Changing this forces a new Storage Sync Server Endpoint to be created.\n\n\u003e **Note:** The target server must already be registered with the parent \u003cspan pulumi-lang-nodejs=\"`azure.storage.Sync`\" pulumi-lang-dotnet=\"`azure.storage.Sync`\" pulumi-lang-go=\"`storage.Sync`\" pulumi-lang-python=\"`storage.Sync`\" pulumi-lang-yaml=\"`azure.storage.Sync`\" pulumi-lang-java=\"`azure.storage.Sync`\"\u003e`azure.storage.Sync`\u003c/span\u003e prior to creating this endpoint. For more information on registering a server see the [Microsoft documentation](https://learn.microsoft.com/azure/storage/file-sync/file-sync-server-registration)\n"},"serverLocalPath":{"type":"string","description":"The path on the Windows Server to be synced to the Azure file share. Changing this forces a new Storage Sync Server Endpoint to be created.\n"},"storageSyncGroupId":{"type":"string","description":"The ID of the Storage Sync Group where the Storage Sync Server Endpoint should exist. Changing this forces a new Storage Sync Server Endpoint to be created.\n"},"tierFilesOlderThanDays":{"type":"integer","description":"Files older than the specified age will be tiered to the cloud.\n"},"volumeFreeSpacePercent":{"type":"integer","description":"What percentage of free space on the volume should be preserved? Defaults to \u003cspan pulumi-lang-nodejs=\"`20`\" pulumi-lang-dotnet=\"`20`\" pulumi-lang-go=\"`20`\" pulumi-lang-python=\"`20`\" pulumi-lang-yaml=\"`20`\" pulumi-lang-java=\"`20`\"\u003e`20`\u003c/span\u003e.\n"}},"required":["name","registeredServerId","serverLocalPath","storageSyncGroupId"],"inputProperties":{"cloudTieringEnabled":{"type":"boolean","description":"Is Cloud Tiering Enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"initialDownloadPolicy":{"type":"string","description":"Specifies how the server initially downloads the Azure file share data. Valid Values includes `NamespaceThenModifiedFiles`, `NamespaceOnly`, and `AvoidTieredFiles`. Defaults to `NamespaceThenModifiedFiles`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"localCacheMode":{"type":"string","description":"Specifies how to handle the local cache. Valid Values include `UpdateLocallyCachedFiles` and `DownloadNewAndModifiedFiles`. Defaults to `UpdateLocallyCachedFiles`.\n"},"name":{"type":"string","description":"The name which should be used for this Storage Sync. Changing this forces a new Storage Sync Server Endpoint to be created.\n","willReplaceOnChanges":true},"registeredServerId":{"type":"string","description":"The ID of the Registered Server that will be associate with the Storage Sync Server Endpoint. Changing this forces a new Storage Sync Server Endpoint to be created.\n\n\u003e **Note:** The target server must already be registered with the parent \u003cspan pulumi-lang-nodejs=\"`azure.storage.Sync`\" pulumi-lang-dotnet=\"`azure.storage.Sync`\" pulumi-lang-go=\"`storage.Sync`\" pulumi-lang-python=\"`storage.Sync`\" pulumi-lang-yaml=\"`azure.storage.Sync`\" pulumi-lang-java=\"`azure.storage.Sync`\"\u003e`azure.storage.Sync`\u003c/span\u003e prior to creating this endpoint. For more information on registering a server see the [Microsoft documentation](https://learn.microsoft.com/azure/storage/file-sync/file-sync-server-registration)\n","willReplaceOnChanges":true},"serverLocalPath":{"type":"string","description":"The path on the Windows Server to be synced to the Azure file share. Changing this forces a new Storage Sync Server Endpoint to be created.\n","willReplaceOnChanges":true},"storageSyncGroupId":{"type":"string","description":"The ID of the Storage Sync Group where the Storage Sync Server Endpoint should exist. Changing this forces a new Storage Sync Server Endpoint to be created.\n","willReplaceOnChanges":true},"tierFilesOlderThanDays":{"type":"integer","description":"Files older than the specified age will be tiered to the cloud.\n"},"volumeFreeSpacePercent":{"type":"integer","description":"What percentage of free space on the volume should be preserved? Defaults to \u003cspan pulumi-lang-nodejs=\"`20`\" pulumi-lang-dotnet=\"`20`\" pulumi-lang-go=\"`20`\" pulumi-lang-python=\"`20`\" pulumi-lang-yaml=\"`20`\" pulumi-lang-java=\"`20`\"\u003e`20`\u003c/span\u003e.\n"}},"requiredInputs":["registeredServerId","serverLocalPath","storageSyncGroupId"],"stateInputs":{"description":"Input properties used for looking up and filtering SyncServerEndpoint resources.\n","properties":{"cloudTieringEnabled":{"type":"boolean","description":"Is Cloud Tiering Enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"initialDownloadPolicy":{"type":"string","description":"Specifies how the server initially downloads the Azure file share data. Valid Values includes `NamespaceThenModifiedFiles`, `NamespaceOnly`, and `AvoidTieredFiles`. Defaults to `NamespaceThenModifiedFiles`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"localCacheMode":{"type":"string","description":"Specifies how to handle the local cache. Valid Values include `UpdateLocallyCachedFiles` and `DownloadNewAndModifiedFiles`. Defaults to `UpdateLocallyCachedFiles`.\n"},"name":{"type":"string","description":"The name which should be used for this Storage Sync. Changing this forces a new Storage Sync Server Endpoint to be created.\n","willReplaceOnChanges":true},"registeredServerId":{"type":"string","description":"The ID of the Registered Server that will be associate with the Storage Sync Server Endpoint. Changing this forces a new Storage Sync Server Endpoint to be created.\n\n\u003e **Note:** The target server must already be registered with the parent \u003cspan pulumi-lang-nodejs=\"`azure.storage.Sync`\" pulumi-lang-dotnet=\"`azure.storage.Sync`\" pulumi-lang-go=\"`storage.Sync`\" pulumi-lang-python=\"`storage.Sync`\" pulumi-lang-yaml=\"`azure.storage.Sync`\" pulumi-lang-java=\"`azure.storage.Sync`\"\u003e`azure.storage.Sync`\u003c/span\u003e prior to creating this endpoint. For more information on registering a server see the [Microsoft documentation](https://learn.microsoft.com/azure/storage/file-sync/file-sync-server-registration)\n","willReplaceOnChanges":true},"serverLocalPath":{"type":"string","description":"The path on the Windows Server to be synced to the Azure file share. Changing this forces a new Storage Sync Server Endpoint to be created.\n","willReplaceOnChanges":true},"storageSyncGroupId":{"type":"string","description":"The ID of the Storage Sync Group where the Storage Sync Server Endpoint should exist. Changing this forces a new Storage Sync Server Endpoint to be created.\n","willReplaceOnChanges":true},"tierFilesOlderThanDays":{"type":"integer","description":"Files older than the specified age will be tiered to the cloud.\n"},"volumeFreeSpacePercent":{"type":"integer","description":"What percentage of free space on the volume should be preserved? Defaults to \u003cspan pulumi-lang-nodejs=\"`20`\" pulumi-lang-dotnet=\"`20`\" pulumi-lang-go=\"`20`\" pulumi-lang-python=\"`20`\" pulumi-lang-yaml=\"`20`\" pulumi-lang-java=\"`20`\"\u003e`20`\u003c/span\u003e.\n"}},"type":"object"}},"azure:storage/table:Table":{"description":"Manages a Table within an Azure Storage Account.\n\n\u003e **Note:** Shared Key authentication will always be used for this resource, as AzureAD authentication is not supported when setting or retrieving ACLs for Tables.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"azuretest\",\n    location: \"West Europe\",\n});\nconst exampleAccount = new azure.storage.Account(\"example\", {\n    name: \"azureteststorage1\",\n    resourceGroupName: example.name,\n    location: example.location,\n    accountTier: \"Standard\",\n    accountReplicationType: \"LRS\",\n});\nconst exampleTable = new azure.storage.Table(\"example\", {\n    name: \"mysampletable\",\n    storageAccountName: exampleAccount.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"azuretest\",\n    location=\"West Europe\")\nexample_account = azure.storage.Account(\"example\",\n    name=\"azureteststorage1\",\n    resource_group_name=example.name,\n    location=example.location,\n    account_tier=\"Standard\",\n    account_replication_type=\"LRS\")\nexample_table = azure.storage.Table(\"example\",\n    name=\"mysampletable\",\n    storage_account_name=example_account.name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"azuretest\",\n        Location = \"West Europe\",\n    });\n\n    var exampleAccount = new Azure.Storage.Account(\"example\", new()\n    {\n        Name = \"azureteststorage1\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        AccountTier = \"Standard\",\n        AccountReplicationType = \"LRS\",\n    });\n\n    var exampleTable = new Azure.Storage.Table(\"example\", new()\n    {\n        Name = \"mysampletable\",\n        StorageAccountName = exampleAccount.Name,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"azuretest\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := storage.NewAccount(ctx, \"example\", \u0026storage.AccountArgs{\n\t\t\tName:                   pulumi.String(\"azureteststorage1\"),\n\t\t\tResourceGroupName:      example.Name,\n\t\t\tLocation:               example.Location,\n\t\t\tAccountTier:            pulumi.String(\"Standard\"),\n\t\t\tAccountReplicationType: pulumi.String(\"LRS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = storage.NewTable(ctx, \"example\", \u0026storage.TableArgs{\n\t\t\tName:               pulumi.String(\"mysampletable\"),\n\t\t\tStorageAccountName: exampleAccount.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.storage.Account;\nimport com.pulumi.azure.storage.AccountArgs;\nimport com.pulumi.azure.storage.Table;\nimport com.pulumi.azure.storage.TableArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"azuretest\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"azureteststorage1\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .accountTier(\"Standard\")\n            .accountReplicationType(\"LRS\")\n            .build());\n\n        var exampleTable = new Table(\"exampleTable\", TableArgs.builder()\n            .name(\"mysampletable\")\n            .storageAccountName(exampleAccount.name())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: azuretest\n      location: West Europe\n  exampleAccount:\n    type: azure:storage:Account\n    name: example\n    properties:\n      name: azureteststorage1\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      accountTier: Standard\n      accountReplicationType: LRS\n  exampleTable:\n    type: azure:storage:Table\n    name: example\n    properties:\n      name: mysampletable\n      storageAccountName: ${exampleAccount.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nTable's within a Storage Account can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:storage/table:Table table1 \"https://example.table.core.windows.net/Tables('replace-with-table-name')\"\n```\n\n","properties":{"acls":{"type":"array","items":{"$ref":"#/types/azure:storage/TableAcl:TableAcl"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`acl`\" pulumi-lang-dotnet=\"`Acl`\" pulumi-lang-go=\"`acl`\" pulumi-lang-python=\"`acl`\" pulumi-lang-yaml=\"`acl`\" pulumi-lang-java=\"`acl`\"\u003e`acl`\u003c/span\u003e blocks as defined below.\n"},"name":{"type":"string","description":"The name of the storage table. Only Alphanumeric characters allowed, starting with a letter. Must be unique within the storage account the table is located. Changing this forces a new resource to be created.\n"},"resourceManagerId":{"type":"string","description":"The Resource Manager ID of this Storage Table.\n"},"storageAccountName":{"type":"string","description":"Specifies the storage account in which to create the storage table. Changing this forces a new resource to be created.\n"}},"required":["name","resourceManagerId","storageAccountName"],"inputProperties":{"acls":{"type":"array","items":{"$ref":"#/types/azure:storage/TableAcl:TableAcl"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`acl`\" pulumi-lang-dotnet=\"`Acl`\" pulumi-lang-go=\"`acl`\" pulumi-lang-python=\"`acl`\" pulumi-lang-yaml=\"`acl`\" pulumi-lang-java=\"`acl`\"\u003e`acl`\u003c/span\u003e blocks as defined below.\n"},"name":{"type":"string","description":"The name of the storage table. Only Alphanumeric characters allowed, starting with a letter. Must be unique within the storage account the table is located. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"storageAccountName":{"type":"string","description":"Specifies the storage account in which to create the storage table. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["storageAccountName"],"stateInputs":{"description":"Input properties used for looking up and filtering Table resources.\n","properties":{"acls":{"type":"array","items":{"$ref":"#/types/azure:storage/TableAcl:TableAcl"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`acl`\" pulumi-lang-dotnet=\"`Acl`\" pulumi-lang-go=\"`acl`\" pulumi-lang-python=\"`acl`\" pulumi-lang-yaml=\"`acl`\" pulumi-lang-java=\"`acl`\"\u003e`acl`\u003c/span\u003e blocks as defined below.\n"},"name":{"type":"string","description":"The name of the storage table. Only Alphanumeric characters allowed, starting with a letter. Must be unique within the storage account the table is located. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceManagerId":{"type":"string","description":"The Resource Manager ID of this Storage Table.\n"},"storageAccountName":{"type":"string","description":"Specifies the storage account in which to create the storage table. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:storage/tableEntity:TableEntity":{"description":"Manages an Entity within a Table in an Azure Storage Account.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"azureexample\",\n    location: \"West Europe\",\n});\nconst exampleAccount = new azure.storage.Account(\"example\", {\n    name: \"azureexamplestorage1\",\n    resourceGroupName: example.name,\n    location: example.location,\n    accountTier: \"Standard\",\n    accountReplicationType: \"LRS\",\n});\nconst exampleTable = new azure.storage.Table(\"example\", {\n    name: \"myexampletable\",\n    storageAccountName: exampleAccount.name,\n});\nconst exampleTableEntity = new azure.storage.TableEntity(\"example\", {\n    storageTableId: exampleTable.id,\n    partitionKey: \"examplepartition\",\n    rowKey: \"examplerow\",\n    entity: {\n        example: \"example\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"azureexample\",\n    location=\"West Europe\")\nexample_account = azure.storage.Account(\"example\",\n    name=\"azureexamplestorage1\",\n    resource_group_name=example.name,\n    location=example.location,\n    account_tier=\"Standard\",\n    account_replication_type=\"LRS\")\nexample_table = azure.storage.Table(\"example\",\n    name=\"myexampletable\",\n    storage_account_name=example_account.name)\nexample_table_entity = azure.storage.TableEntity(\"example\",\n    storage_table_id=example_table.id,\n    partition_key=\"examplepartition\",\n    row_key=\"examplerow\",\n    entity={\n        \"example\": \"example\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"azureexample\",\n        Location = \"West Europe\",\n    });\n\n    var exampleAccount = new Azure.Storage.Account(\"example\", new()\n    {\n        Name = \"azureexamplestorage1\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        AccountTier = \"Standard\",\n        AccountReplicationType = \"LRS\",\n    });\n\n    var exampleTable = new Azure.Storage.Table(\"example\", new()\n    {\n        Name = \"myexampletable\",\n        StorageAccountName = exampleAccount.Name,\n    });\n\n    var exampleTableEntity = new Azure.Storage.TableEntity(\"example\", new()\n    {\n        StorageTableId = exampleTable.Id,\n        PartitionKey = \"examplepartition\",\n        RowKey = \"examplerow\",\n        Entity = \n        {\n            { \"example\", \"example\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"azureexample\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := storage.NewAccount(ctx, \"example\", \u0026storage.AccountArgs{\n\t\t\tName:                   pulumi.String(\"azureexamplestorage1\"),\n\t\t\tResourceGroupName:      example.Name,\n\t\t\tLocation:               example.Location,\n\t\t\tAccountTier:            pulumi.String(\"Standard\"),\n\t\t\tAccountReplicationType: pulumi.String(\"LRS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleTable, err := storage.NewTable(ctx, \"example\", \u0026storage.TableArgs{\n\t\t\tName:               pulumi.String(\"myexampletable\"),\n\t\t\tStorageAccountName: exampleAccount.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = storage.NewTableEntity(ctx, \"example\", \u0026storage.TableEntityArgs{\n\t\t\tStorageTableId: exampleTable.ID(),\n\t\t\tPartitionKey:   pulumi.String(\"examplepartition\"),\n\t\t\tRowKey:         pulumi.String(\"examplerow\"),\n\t\t\tEntity: pulumi.StringMap{\n\t\t\t\t\"example\": pulumi.String(\"example\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.storage.Account;\nimport com.pulumi.azure.storage.AccountArgs;\nimport com.pulumi.azure.storage.Table;\nimport com.pulumi.azure.storage.TableArgs;\nimport com.pulumi.azure.storage.TableEntity;\nimport com.pulumi.azure.storage.TableEntityArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"azureexample\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"azureexamplestorage1\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .accountTier(\"Standard\")\n            .accountReplicationType(\"LRS\")\n            .build());\n\n        var exampleTable = new Table(\"exampleTable\", TableArgs.builder()\n            .name(\"myexampletable\")\n            .storageAccountName(exampleAccount.name())\n            .build());\n\n        var exampleTableEntity = new TableEntity(\"exampleTableEntity\", TableEntityArgs.builder()\n            .storageTableId(exampleTable.id())\n            .partitionKey(\"examplepartition\")\n            .rowKey(\"examplerow\")\n            .entity(Map.of(\"example\", \"example\"))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: azureexample\n      location: West Europe\n  exampleAccount:\n    type: azure:storage:Account\n    name: example\n    properties:\n      name: azureexamplestorage1\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      accountTier: Standard\n      accountReplicationType: LRS\n  exampleTable:\n    type: azure:storage:Table\n    name: example\n    properties:\n      name: myexampletable\n      storageAccountName: ${exampleAccount.name}\n  exampleTableEntity:\n    type: azure:storage:TableEntity\n    name: example\n    properties:\n      storageTableId: ${exampleTable.id}\n      partitionKey: examplepartition\n      rowKey: examplerow\n      entity:\n        example: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nEntities within a Table in an Azure Storage Account can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:storage/tableEntity:TableEntity entity1 https://example.table.core.windows.net/table1(PartitionKey='samplepartition',RowKey='samplerow')\n```\n\n","properties":{"entity":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of key/value pairs that describe the entity to be inserted/merged in to the storage table.\n"},"partitionKey":{"type":"string","description":"The key for the partition where the entity will be inserted/merged. Changing this forces a new resource to be created.\n"},"rowKey":{"type":"string","description":"The key for the row where the entity will be inserted/merged. Changing this forces a new resource to be created.\n"},"storageTableId":{"type":"string","description":"The Storage Share ID in which this file will be placed into.\n"}},"required":["entity","partitionKey","rowKey","storageTableId"],"inputProperties":{"entity":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of key/value pairs that describe the entity to be inserted/merged in to the storage table.\n"},"partitionKey":{"type":"string","description":"The key for the partition where the entity will be inserted/merged. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"rowKey":{"type":"string","description":"The key for the row where the entity will be inserted/merged. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"storageTableId":{"type":"string","description":"The Storage Share ID in which this file will be placed into.\n"}},"requiredInputs":["entity","partitionKey","rowKey","storageTableId"],"stateInputs":{"description":"Input properties used for looking up and filtering TableEntity resources.\n","properties":{"entity":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of key/value pairs that describe the entity to be inserted/merged in to the storage table.\n"},"partitionKey":{"type":"string","description":"The key for the partition where the entity will be inserted/merged. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"rowKey":{"type":"string","description":"The key for the row where the entity will be inserted/merged. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"storageTableId":{"type":"string","description":"The Storage Share ID in which this file will be placed into.\n"}},"type":"object"}},"azure:storage/zipBlob:ZipBlob":{"properties":{"accessTier":{"type":"string"},"cacheControl":{"type":"string"},"content":{"$ref":"pulumi.json#/Archive"},"contentMd5":{"type":"string"},"contentType":{"type":"string"},"encryptionScope":{"type":"string"},"metadata":{"type":"object","additionalProperties":{"type":"string"}},"name":{"type":"string"},"parallelism":{"type":"integer"},"size":{"type":"integer"},"sourceContent":{"type":"string"},"sourceUri":{"type":"string"},"storageAccountName":{"type":"string"},"storageContainerName":{"type":"string"},"type":{"type":"string"},"url":{"type":"string"}},"required":["accessTier","metadata","name","storageAccountName","storageContainerName","type","url"],"inputProperties":{"accessTier":{"type":"string"},"cacheControl":{"type":"string"},"content":{"$ref":"pulumi.json#/Archive","willReplaceOnChanges":true},"contentMd5":{"type":"string","willReplaceOnChanges":true},"contentType":{"type":"string"},"encryptionScope":{"type":"string","willReplaceOnChanges":true},"metadata":{"type":"object","additionalProperties":{"type":"string"}},"name":{"type":"string","willReplaceOnChanges":true},"parallelism":{"type":"integer","willReplaceOnChanges":true},"size":{"type":"integer","willReplaceOnChanges":true},"sourceContent":{"type":"string","willReplaceOnChanges":true},"sourceUri":{"type":"string","willReplaceOnChanges":true},"storageAccountName":{"type":"string","willReplaceOnChanges":true},"storageContainerName":{"type":"string","willReplaceOnChanges":true},"type":{"type":"string","willReplaceOnChanges":true}},"requiredInputs":["storageAccountName","storageContainerName","type"],"stateInputs":{"description":"Input properties used for looking up and filtering ZipBlob resources.\n","properties":{"accessTier":{"type":"string"},"cacheControl":{"type":"string"},"content":{"$ref":"pulumi.json#/Archive","willReplaceOnChanges":true},"contentMd5":{"type":"string","willReplaceOnChanges":true},"contentType":{"type":"string"},"encryptionScope":{"type":"string","willReplaceOnChanges":true},"metadata":{"type":"object","additionalProperties":{"type":"string"}},"name":{"type":"string","willReplaceOnChanges":true},"parallelism":{"type":"integer","willReplaceOnChanges":true},"size":{"type":"integer","willReplaceOnChanges":true},"sourceContent":{"type":"string","willReplaceOnChanges":true},"sourceUri":{"type":"string","willReplaceOnChanges":true},"storageAccountName":{"type":"string","willReplaceOnChanges":true},"storageContainerName":{"type":"string","willReplaceOnChanges":true},"type":{"type":"string","willReplaceOnChanges":true},"url":{"type":"string"}},"type":"object"},"deprecationMessage":"ZipBlob resource is deprecated in the 2.0 version of the provider. Use Blob resource instead."},"azure:streamanalytics/cluster:Cluster":{"description":"Manages a Stream Analytics Cluster.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleCluster = new azure.streamanalytics.Cluster(\"example\", {\n    name: \"examplestreamanalyticscluster\",\n    resourceGroupName: example.name,\n    location: example.location,\n    streamingCapacity: 36,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_cluster = azure.streamanalytics.Cluster(\"example\",\n    name=\"examplestreamanalyticscluster\",\n    resource_group_name=example.name,\n    location=example.location,\n    streaming_capacity=36)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleCluster = new Azure.StreamAnalytics.Cluster(\"example\", new()\n    {\n        Name = \"examplestreamanalyticscluster\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        StreamingCapacity = 36,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/streamanalytics\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = streamanalytics.NewCluster(ctx, \"example\", \u0026streamanalytics.ClusterArgs{\n\t\t\tName:              pulumi.String(\"examplestreamanalyticscluster\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tStreamingCapacity: pulumi.Int(36),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.streamanalytics.Cluster;\nimport com.pulumi.azure.streamanalytics.ClusterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleCluster = new Cluster(\"exampleCluster\", ClusterArgs.builder()\n            .name(\"examplestreamanalyticscluster\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .streamingCapacity(36)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleCluster:\n    type: azure:streamanalytics:Cluster\n    name: example\n    properties:\n      name: examplestreamanalyticscluster\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      streamingCapacity: 36\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.StreamAnalytics` - 2020-03-01\n\n## Import\n\nStream Analytics Clusters can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:streamanalytics/cluster:Cluster example /subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/resGroup1/providers/Microsoft.StreamAnalytics/clusters/cluster1\n```\n\n","properties":{"location":{"type":"string","description":"The Azure Region where the Stream Analytics Cluster should exist. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"The name which should be used for this Stream Analytics Cluster. Changing this forces a new resource to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Stream Analytics Cluster should exist. Changing this forces a new resource to be created.\n"},"streamingCapacity":{"type":"integer","description":"The number of streaming units supported by the Cluster. Accepted values are multiples of \u003cspan pulumi-lang-nodejs=\"`36`\" pulumi-lang-dotnet=\"`36`\" pulumi-lang-go=\"`36`\" pulumi-lang-python=\"`36`\" pulumi-lang-yaml=\"`36`\" pulumi-lang-java=\"`36`\"\u003e`36`\u003c/span\u003e in the range of \u003cspan pulumi-lang-nodejs=\"`36`\" pulumi-lang-dotnet=\"`36`\" pulumi-lang-go=\"`36`\" pulumi-lang-python=\"`36`\" pulumi-lang-yaml=\"`36`\" pulumi-lang-java=\"`36`\"\u003e`36`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`216`\" pulumi-lang-dotnet=\"`216`\" pulumi-lang-go=\"`216`\" pulumi-lang-python=\"`216`\" pulumi-lang-yaml=\"`216`\" pulumi-lang-java=\"`216`\"\u003e`216`\u003c/span\u003e.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Stream Analytics.\n"}},"required":["location","name","resourceGroupName","streamingCapacity"],"inputProperties":{"location":{"type":"string","description":"The Azure Region where the Stream Analytics Cluster should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Stream Analytics Cluster. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Stream Analytics Cluster should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"streamingCapacity":{"type":"integer","description":"The number of streaming units supported by the Cluster. Accepted values are multiples of \u003cspan pulumi-lang-nodejs=\"`36`\" pulumi-lang-dotnet=\"`36`\" pulumi-lang-go=\"`36`\" pulumi-lang-python=\"`36`\" pulumi-lang-yaml=\"`36`\" pulumi-lang-java=\"`36`\"\u003e`36`\u003c/span\u003e in the range of \u003cspan pulumi-lang-nodejs=\"`36`\" pulumi-lang-dotnet=\"`36`\" pulumi-lang-go=\"`36`\" pulumi-lang-python=\"`36`\" pulumi-lang-yaml=\"`36`\" pulumi-lang-java=\"`36`\"\u003e`36`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`216`\" pulumi-lang-dotnet=\"`216`\" pulumi-lang-go=\"`216`\" pulumi-lang-python=\"`216`\" pulumi-lang-yaml=\"`216`\" pulumi-lang-java=\"`216`\"\u003e`216`\u003c/span\u003e.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Stream Analytics.\n"}},"requiredInputs":["resourceGroupName","streamingCapacity"],"stateInputs":{"description":"Input properties used for looking up and filtering Cluster resources.\n","properties":{"location":{"type":"string","description":"The Azure Region where the Stream Analytics Cluster should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Stream Analytics Cluster. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Stream Analytics Cluster should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"streamingCapacity":{"type":"integer","description":"The number of streaming units supported by the Cluster. Accepted values are multiples of \u003cspan pulumi-lang-nodejs=\"`36`\" pulumi-lang-dotnet=\"`36`\" pulumi-lang-go=\"`36`\" pulumi-lang-python=\"`36`\" pulumi-lang-yaml=\"`36`\" pulumi-lang-java=\"`36`\"\u003e`36`\u003c/span\u003e in the range of \u003cspan pulumi-lang-nodejs=\"`36`\" pulumi-lang-dotnet=\"`36`\" pulumi-lang-go=\"`36`\" pulumi-lang-python=\"`36`\" pulumi-lang-yaml=\"`36`\" pulumi-lang-java=\"`36`\"\u003e`36`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`216`\" pulumi-lang-dotnet=\"`216`\" pulumi-lang-go=\"`216`\" pulumi-lang-python=\"`216`\" pulumi-lang-yaml=\"`216`\" pulumi-lang-java=\"`216`\"\u003e`216`\u003c/span\u003e.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Stream Analytics.\n"}},"type":"object"}},"azure:streamanalytics/functionJavaScriptUDF:FunctionJavaScriptUDF":{"description":"Manages a JavaScript UDF Function within Stream Analytics Streaming Job.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.core.getResourceGroup({\n    name: \"example-resources\",\n});\nconst exampleGetJob = example.then(example =\u003e azure.streamanalytics.getJob({\n    name: \"example-job\",\n    resourceGroupName: example.name,\n}));\nconst exampleFunctionJavaScriptUDF = new azure.streamanalytics.FunctionJavaScriptUDF(\"example\", {\n    name: \"example-javascript-function\",\n    streamAnalyticsJobName: exampleGetJob.then(exampleGetJob =\u003e exampleGetJob.name),\n    resourceGroupName: exampleGetJob.then(exampleGetJob =\u003e exampleGetJob.resourceGroupName),\n    script: `function getRandomNumber(in) {\n  return in;\n}\n`,\n    inputs: [{\n        type: \"bigint\",\n    }],\n    output: {\n        type: \"bigint\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.get_resource_group(name=\"example-resources\")\nexample_get_job = azure.streamanalytics.get_job(name=\"example-job\",\n    resource_group_name=example.name)\nexample_function_java_script_udf = azure.streamanalytics.FunctionJavaScriptUDF(\"example\",\n    name=\"example-javascript-function\",\n    stream_analytics_job_name=example_get_job.name,\n    resource_group_name=example_get_job.resource_group_name,\n    script=\"\"\"function getRandomNumber(in) {\n  return in;\n}\n\"\"\",\n    inputs=[{\n        \"type\": \"bigint\",\n    }],\n    output={\n        \"type\": \"bigint\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Core.GetResourceGroup.Invoke(new()\n    {\n        Name = \"example-resources\",\n    });\n\n    var exampleGetJob = Azure.StreamAnalytics.GetJob.Invoke(new()\n    {\n        Name = \"example-job\",\n        ResourceGroupName = example.Apply(getResourceGroupResult =\u003e getResourceGroupResult.Name),\n    });\n\n    var exampleFunctionJavaScriptUDF = new Azure.StreamAnalytics.FunctionJavaScriptUDF(\"example\", new()\n    {\n        Name = \"example-javascript-function\",\n        StreamAnalyticsJobName = exampleGetJob.Apply(getJobResult =\u003e getJobResult.Name),\n        ResourceGroupName = exampleGetJob.Apply(getJobResult =\u003e getJobResult.ResourceGroupName),\n        Script = @\"function getRandomNumber(in) {\n  return in;\n}\n\",\n        Inputs = new[]\n        {\n            new Azure.StreamAnalytics.Inputs.FunctionJavaScriptUDFInputArgs\n            {\n                Type = \"bigint\",\n            },\n        },\n        Output = new Azure.StreamAnalytics.Inputs.FunctionJavaScriptUDFOutputArgs\n        {\n            Type = \"bigint\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/streamanalytics\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.LookupResourceGroup(ctx, \u0026core.LookupResourceGroupArgs{\n\t\t\tName: \"example-resources\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleGetJob, err := streamanalytics.LookupJob(ctx, \u0026streamanalytics.LookupJobArgs{\n\t\t\tName:              \"example-job\",\n\t\t\tResourceGroupName: example.Name,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = streamanalytics.NewFunctionJavaScriptUDF(ctx, \"example\", \u0026streamanalytics.FunctionJavaScriptUDFArgs{\n\t\t\tName:                   pulumi.String(\"example-javascript-function\"),\n\t\t\tStreamAnalyticsJobName: pulumi.String(exampleGetJob.Name),\n\t\t\tResourceGroupName:      pulumi.String(exampleGetJob.ResourceGroupName),\n\t\t\tScript:                 pulumi.String(\"function getRandomNumber(in) {\\n  return in;\\n}\\n\"),\n\t\t\tInputs: streamanalytics.FunctionJavaScriptUDFInputTypeArray{\n\t\t\t\t\u0026streamanalytics.FunctionJavaScriptUDFInputTypeArgs{\n\t\t\t\t\tType: pulumi.String(\"bigint\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tOutput: \u0026streamanalytics.FunctionJavaScriptUDFOutputTypeArgs{\n\t\t\t\tType: pulumi.String(\"bigint\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.core.inputs.GetResourceGroupArgs;\nimport com.pulumi.azure.streamanalytics.StreamanalyticsFunctions;\nimport com.pulumi.azure.streamanalytics.inputs.GetJobArgs;\nimport com.pulumi.azure.streamanalytics.FunctionJavaScriptUDF;\nimport com.pulumi.azure.streamanalytics.FunctionJavaScriptUDFArgs;\nimport com.pulumi.azure.streamanalytics.inputs.FunctionJavaScriptUDFInputArgs;\nimport com.pulumi.azure.streamanalytics.inputs.FunctionJavaScriptUDFOutputArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = CoreFunctions.getResourceGroup(GetResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .build());\n\n        final var exampleGetJob = StreamanalyticsFunctions.getJob(GetJobArgs.builder()\n            .name(\"example-job\")\n            .resourceGroupName(example.name())\n            .build());\n\n        var exampleFunctionJavaScriptUDF = new FunctionJavaScriptUDF(\"exampleFunctionJavaScriptUDF\", FunctionJavaScriptUDFArgs.builder()\n            .name(\"example-javascript-function\")\n            .streamAnalyticsJobName(exampleGetJob.name())\n            .resourceGroupName(exampleGetJob.resourceGroupName())\n            .script(\"\"\"\nfunction getRandomNumber(in) {\n  return in;\n}\n            \"\"\")\n            .inputs(FunctionJavaScriptUDFInputArgs.builder()\n                .type(\"bigint\")\n                .build())\n            .output(FunctionJavaScriptUDFOutputArgs.builder()\n                .type(\"bigint\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleFunctionJavaScriptUDF:\n    type: azure:streamanalytics:FunctionJavaScriptUDF\n    name: example\n    properties:\n      name: example-javascript-function\n      streamAnalyticsJobName: ${exampleGetJob.name}\n      resourceGroupName: ${exampleGetJob.resourceGroupName}\n      script: |\n        function getRandomNumber(in) {\n          return in;\n        }\n      inputs:\n        - type: bigint\n      output:\n        type: bigint\nvariables:\n  example:\n    fn::invoke:\n      function: azure:core:getResourceGroup\n      arguments:\n        name: example-resources\n  exampleGetJob:\n    fn::invoke:\n      function: azure:streamanalytics:getJob\n      arguments:\n        name: example-job\n        resourceGroupName: ${example.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.StreamAnalytics` - 2020-03-01\n\n## Import\n\nStream Analytics JavaScript UDF Functions can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:streamanalytics/functionJavaScriptUDF:FunctionJavaScriptUDF example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.StreamAnalytics/streamingJobs/job1/functions/func1\n```\n\n","properties":{"inputs":{"type":"array","items":{"$ref":"#/types/azure:streamanalytics/FunctionJavaScriptUDFInput:FunctionJavaScriptUDFInput"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`input`\" pulumi-lang-dotnet=\"`Input`\" pulumi-lang-go=\"`input`\" pulumi-lang-python=\"`input`\" pulumi-lang-yaml=\"`input`\" pulumi-lang-java=\"`input`\"\u003e`input`\u003c/span\u003e blocks as defined below.\n"},"name":{"type":"string","description":"The name of the JavaScript UDF Function. Changing this forces a new resource to be created.\n"},"output":{"$ref":"#/types/azure:streamanalytics/FunctionJavaScriptUDFOutput:FunctionJavaScriptUDFOutput","description":"An \u003cspan pulumi-lang-nodejs=\"`output`\" pulumi-lang-dotnet=\"`Output`\" pulumi-lang-go=\"`output`\" pulumi-lang-python=\"`output`\" pulumi-lang-yaml=\"`output`\" pulumi-lang-java=\"`output`\"\u003e`output`\u003c/span\u003e blocks as defined below.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Stream Analytics Job exists. Changing this forces a new resource to be created.\n"},"script":{"type":"string","description":"The JavaScript of this UDF Function.\n"},"streamAnalyticsJobName":{"type":"string","description":"The name of the Stream Analytics Job where this Function should be created. Changing this forces a new resource to be created.\n"}},"required":["inputs","name","output","resourceGroupName","script","streamAnalyticsJobName"],"inputProperties":{"inputs":{"type":"array","items":{"$ref":"#/types/azure:streamanalytics/FunctionJavaScriptUDFInput:FunctionJavaScriptUDFInput"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`input`\" pulumi-lang-dotnet=\"`Input`\" pulumi-lang-go=\"`input`\" pulumi-lang-python=\"`input`\" pulumi-lang-yaml=\"`input`\" pulumi-lang-java=\"`input`\"\u003e`input`\u003c/span\u003e blocks as defined below.\n"},"name":{"type":"string","description":"The name of the JavaScript UDF Function. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"output":{"$ref":"#/types/azure:streamanalytics/FunctionJavaScriptUDFOutput:FunctionJavaScriptUDFOutput","description":"An \u003cspan pulumi-lang-nodejs=\"`output`\" pulumi-lang-dotnet=\"`Output`\" pulumi-lang-go=\"`output`\" pulumi-lang-python=\"`output`\" pulumi-lang-yaml=\"`output`\" pulumi-lang-java=\"`output`\"\u003e`output`\u003c/span\u003e blocks as defined below.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Stream Analytics Job exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"script":{"type":"string","description":"The JavaScript of this UDF Function.\n"},"streamAnalyticsJobName":{"type":"string","description":"The name of the Stream Analytics Job where this Function should be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["inputs","output","resourceGroupName","script","streamAnalyticsJobName"],"stateInputs":{"description":"Input properties used for looking up and filtering FunctionJavaScriptUDF resources.\n","properties":{"inputs":{"type":"array","items":{"$ref":"#/types/azure:streamanalytics/FunctionJavaScriptUDFInput:FunctionJavaScriptUDFInput"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`input`\" pulumi-lang-dotnet=\"`Input`\" pulumi-lang-go=\"`input`\" pulumi-lang-python=\"`input`\" pulumi-lang-yaml=\"`input`\" pulumi-lang-java=\"`input`\"\u003e`input`\u003c/span\u003e blocks as defined below.\n"},"name":{"type":"string","description":"The name of the JavaScript UDF Function. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"output":{"$ref":"#/types/azure:streamanalytics/FunctionJavaScriptUDFOutput:FunctionJavaScriptUDFOutput","description":"An \u003cspan pulumi-lang-nodejs=\"`output`\" pulumi-lang-dotnet=\"`Output`\" pulumi-lang-go=\"`output`\" pulumi-lang-python=\"`output`\" pulumi-lang-yaml=\"`output`\" pulumi-lang-java=\"`output`\"\u003e`output`\u003c/span\u003e blocks as defined below.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Stream Analytics Job exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"script":{"type":"string","description":"The JavaScript of this UDF Function.\n"},"streamAnalyticsJobName":{"type":"string","description":"The name of the Stream Analytics Job where this Function should be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:streamanalytics/functionJavascriptUda:FunctionJavascriptUda":{"description":"Manages a JavaScript UDA Function within a Stream Analytics Streaming Job.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.core.getResourceGroup({\n    name: \"example-resources\",\n});\nconst exampleGetJob = example.then(example =\u003e azure.streamanalytics.getJob({\n    name: \"example-job\",\n    resourceGroupName: example.name,\n}));\nconst exampleFunctionJavascriptUda = new azure.streamanalytics.FunctionJavascriptUda(\"example\", {\n    name: \"example-javascript-function\",\n    streamAnalyticsJobId: exampleGetJob.then(exampleGetJob =\u003e exampleGetJob.id),\n    script: `function main() {\n    this.init = function () {\n        this.state = 0;\n    }\n\n    this.accumulate = function (value, timestamp) {\n        this.state += value;\n    }\n\n    this.computeResult = function () {\n        return this.state;\n    }\n}\n`,\n    inputs: [{\n        type: \"bigint\",\n    }],\n    output: {\n        type: \"bigint\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.get_resource_group(name=\"example-resources\")\nexample_get_job = azure.streamanalytics.get_job(name=\"example-job\",\n    resource_group_name=example.name)\nexample_function_javascript_uda = azure.streamanalytics.FunctionJavascriptUda(\"example\",\n    name=\"example-javascript-function\",\n    stream_analytics_job_id=example_get_job.id,\n    script=\"\"\"function main() {\n    this.init = function () {\n        this.state = 0;\n    }\n\n    this.accumulate = function (value, timestamp) {\n        this.state += value;\n    }\n\n    this.computeResult = function () {\n        return this.state;\n    }\n}\n\"\"\",\n    inputs=[{\n        \"type\": \"bigint\",\n    }],\n    output={\n        \"type\": \"bigint\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Core.GetResourceGroup.Invoke(new()\n    {\n        Name = \"example-resources\",\n    });\n\n    var exampleGetJob = Azure.StreamAnalytics.GetJob.Invoke(new()\n    {\n        Name = \"example-job\",\n        ResourceGroupName = example.Apply(getResourceGroupResult =\u003e getResourceGroupResult.Name),\n    });\n\n    var exampleFunctionJavascriptUda = new Azure.StreamAnalytics.FunctionJavascriptUda(\"example\", new()\n    {\n        Name = \"example-javascript-function\",\n        StreamAnalyticsJobId = exampleGetJob.Apply(getJobResult =\u003e getJobResult.Id),\n        Script = @\"function main() {\n    this.init = function () {\n        this.state = 0;\n    }\n\n    this.accumulate = function (value, timestamp) {\n        this.state += value;\n    }\n\n    this.computeResult = function () {\n        return this.state;\n    }\n}\n\",\n        Inputs = new[]\n        {\n            new Azure.StreamAnalytics.Inputs.FunctionJavascriptUdaInputArgs\n            {\n                Type = \"bigint\",\n            },\n        },\n        Output = new Azure.StreamAnalytics.Inputs.FunctionJavascriptUdaOutputArgs\n        {\n            Type = \"bigint\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/streamanalytics\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.LookupResourceGroup(ctx, \u0026core.LookupResourceGroupArgs{\n\t\t\tName: \"example-resources\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleGetJob, err := streamanalytics.LookupJob(ctx, \u0026streamanalytics.LookupJobArgs{\n\t\t\tName:              \"example-job\",\n\t\t\tResourceGroupName: example.Name,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = streamanalytics.NewFunctionJavascriptUda(ctx, \"example\", \u0026streamanalytics.FunctionJavascriptUdaArgs{\n\t\t\tName:                 pulumi.String(\"example-javascript-function\"),\n\t\t\tStreamAnalyticsJobId: pulumi.String(exampleGetJob.Id),\n\t\t\tScript: pulumi.String(`function main() {\n    this.init = function () {\n        this.state = 0;\n    }\n\n    this.accumulate = function (value, timestamp) {\n        this.state += value;\n    }\n\n    this.computeResult = function () {\n        return this.state;\n    }\n}\n`),\n\t\t\tInputs: streamanalytics.FunctionJavascriptUdaInputTypeArray{\n\t\t\t\t\u0026streamanalytics.FunctionJavascriptUdaInputTypeArgs{\n\t\t\t\t\tType: pulumi.String(\"bigint\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tOutput: \u0026streamanalytics.FunctionJavascriptUdaOutputTypeArgs{\n\t\t\t\tType: pulumi.String(\"bigint\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.core.inputs.GetResourceGroupArgs;\nimport com.pulumi.azure.streamanalytics.StreamanalyticsFunctions;\nimport com.pulumi.azure.streamanalytics.inputs.GetJobArgs;\nimport com.pulumi.azure.streamanalytics.FunctionJavascriptUda;\nimport com.pulumi.azure.streamanalytics.FunctionJavascriptUdaArgs;\nimport com.pulumi.azure.streamanalytics.inputs.FunctionJavascriptUdaInputArgs;\nimport com.pulumi.azure.streamanalytics.inputs.FunctionJavascriptUdaOutputArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = CoreFunctions.getResourceGroup(GetResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .build());\n\n        final var exampleGetJob = StreamanalyticsFunctions.getJob(GetJobArgs.builder()\n            .name(\"example-job\")\n            .resourceGroupName(example.name())\n            .build());\n\n        var exampleFunctionJavascriptUda = new FunctionJavascriptUda(\"exampleFunctionJavascriptUda\", FunctionJavascriptUdaArgs.builder()\n            .name(\"example-javascript-function\")\n            .streamAnalyticsJobId(exampleGetJob.id())\n            .script(\"\"\"\nfunction main() {\n    this.init = function () {\n        this.state = 0;\n    }\n\n    this.accumulate = function (value, timestamp) {\n        this.state += value;\n    }\n\n    this.computeResult = function () {\n        return this.state;\n    }\n}\n            \"\"\")\n            .inputs(FunctionJavascriptUdaInputArgs.builder()\n                .type(\"bigint\")\n                .build())\n            .output(FunctionJavascriptUdaOutputArgs.builder()\n                .type(\"bigint\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleFunctionJavascriptUda:\n    type: azure:streamanalytics:FunctionJavascriptUda\n    name: example\n    properties:\n      name: example-javascript-function\n      streamAnalyticsJobId: ${exampleGetJob.id}\n      script: |\n        function main() {\n            this.init = function () {\n                this.state = 0;\n            }\n\n            this.accumulate = function (value, timestamp) {\n                this.state += value;\n            }\n\n            this.computeResult = function () {\n                return this.state;\n            }\n        }\n      inputs:\n        - type: bigint\n      output:\n        type: bigint\nvariables:\n  example:\n    fn::invoke:\n      function: azure:core:getResourceGroup\n      arguments:\n        name: example-resources\n  exampleGetJob:\n    fn::invoke:\n      function: azure:streamanalytics:getJob\n      arguments:\n        name: example-job\n        resourceGroupName: ${example.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.StreamAnalytics` - 2020-03-01\n\n## Import\n\nStream Analytics JavaScript UDA Functions can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:streamanalytics/functionJavascriptUda:FunctionJavascriptUda example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.StreamAnalytics/streamingJobs/job1/functions/func1\n```\n\n","properties":{"inputs":{"type":"array","items":{"$ref":"#/types/azure:streamanalytics/FunctionJavascriptUdaInput:FunctionJavascriptUdaInput"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`input`\" pulumi-lang-dotnet=\"`Input`\" pulumi-lang-go=\"`input`\" pulumi-lang-python=\"`input`\" pulumi-lang-yaml=\"`input`\" pulumi-lang-java=\"`input`\"\u003e`input`\u003c/span\u003e blocks as defined below.\n"},"name":{"type":"string","description":"The name of the JavaScript UDA Function. Changing this forces a new resource to be created.\n"},"output":{"$ref":"#/types/azure:streamanalytics/FunctionJavascriptUdaOutput:FunctionJavascriptUdaOutput","description":"An \u003cspan pulumi-lang-nodejs=\"`output`\" pulumi-lang-dotnet=\"`Output`\" pulumi-lang-go=\"`output`\" pulumi-lang-python=\"`output`\" pulumi-lang-yaml=\"`output`\" pulumi-lang-java=\"`output`\"\u003e`output`\u003c/span\u003e block as defined below.\n"},"script":{"type":"string","description":"The JavaScript of this UDA Function.\n"},"streamAnalyticsJobId":{"type":"string","description":"The resource ID of the Stream Analytics Job where this Function should be created. Changing this forces a new resource to be created.\n"}},"required":["inputs","name","output","script","streamAnalyticsJobId"],"inputProperties":{"inputs":{"type":"array","items":{"$ref":"#/types/azure:streamanalytics/FunctionJavascriptUdaInput:FunctionJavascriptUdaInput"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`input`\" pulumi-lang-dotnet=\"`Input`\" pulumi-lang-go=\"`input`\" pulumi-lang-python=\"`input`\" pulumi-lang-yaml=\"`input`\" pulumi-lang-java=\"`input`\"\u003e`input`\u003c/span\u003e blocks as defined below.\n"},"name":{"type":"string","description":"The name of the JavaScript UDA Function. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"output":{"$ref":"#/types/azure:streamanalytics/FunctionJavascriptUdaOutput:FunctionJavascriptUdaOutput","description":"An \u003cspan pulumi-lang-nodejs=\"`output`\" pulumi-lang-dotnet=\"`Output`\" pulumi-lang-go=\"`output`\" pulumi-lang-python=\"`output`\" pulumi-lang-yaml=\"`output`\" pulumi-lang-java=\"`output`\"\u003e`output`\u003c/span\u003e block as defined below.\n"},"script":{"type":"string","description":"The JavaScript of this UDA Function.\n"},"streamAnalyticsJobId":{"type":"string","description":"The resource ID of the Stream Analytics Job where this Function should be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["inputs","output","script","streamAnalyticsJobId"],"stateInputs":{"description":"Input properties used for looking up and filtering FunctionJavascriptUda resources.\n","properties":{"inputs":{"type":"array","items":{"$ref":"#/types/azure:streamanalytics/FunctionJavascriptUdaInput:FunctionJavascriptUdaInput"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`input`\" pulumi-lang-dotnet=\"`Input`\" pulumi-lang-go=\"`input`\" pulumi-lang-python=\"`input`\" pulumi-lang-yaml=\"`input`\" pulumi-lang-java=\"`input`\"\u003e`input`\u003c/span\u003e blocks as defined below.\n"},"name":{"type":"string","description":"The name of the JavaScript UDA Function. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"output":{"$ref":"#/types/azure:streamanalytics/FunctionJavascriptUdaOutput:FunctionJavascriptUdaOutput","description":"An \u003cspan pulumi-lang-nodejs=\"`output`\" pulumi-lang-dotnet=\"`Output`\" pulumi-lang-go=\"`output`\" pulumi-lang-python=\"`output`\" pulumi-lang-yaml=\"`output`\" pulumi-lang-java=\"`output`\"\u003e`output`\u003c/span\u003e block as defined below.\n"},"script":{"type":"string","description":"The JavaScript of this UDA Function.\n"},"streamAnalyticsJobId":{"type":"string","description":"The resource ID of the Stream Analytics Job where this Function should be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:streamanalytics/job:Job":{"description":"Manages a Stream Analytics Job.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleJob = new azure.streamanalytics.Job(\"example\", {\n    name: \"example-job\",\n    resourceGroupName: example.name,\n    location: example.location,\n    compatibilityLevel: \"1.2\",\n    dataLocale: \"en-GB\",\n    eventsLateArrivalMaxDelayInSeconds: 60,\n    eventsOutOfOrderMaxDelayInSeconds: 50,\n    eventsOutOfOrderPolicy: \"Adjust\",\n    outputErrorPolicy: \"Drop\",\n    streamingUnits: 3,\n    skuName: \"StandardV2\",\n    tags: {\n        environment: \"Example\",\n    },\n    transformationQuery: `    SELECT *\n    INTO [YourOutputAlias]\n    FROM [YourInputAlias]\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_job = azure.streamanalytics.Job(\"example\",\n    name=\"example-job\",\n    resource_group_name=example.name,\n    location=example.location,\n    compatibility_level=\"1.2\",\n    data_locale=\"en-GB\",\n    events_late_arrival_max_delay_in_seconds=60,\n    events_out_of_order_max_delay_in_seconds=50,\n    events_out_of_order_policy=\"Adjust\",\n    output_error_policy=\"Drop\",\n    streaming_units=3,\n    sku_name=\"StandardV2\",\n    tags={\n        \"environment\": \"Example\",\n    },\n    transformation_query=\"\"\"    SELECT *\n    INTO [YourOutputAlias]\n    FROM [YourInputAlias]\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleJob = new Azure.StreamAnalytics.Job(\"example\", new()\n    {\n        Name = \"example-job\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        CompatibilityLevel = \"1.2\",\n        DataLocale = \"en-GB\",\n        EventsLateArrivalMaxDelayInSeconds = 60,\n        EventsOutOfOrderMaxDelayInSeconds = 50,\n        EventsOutOfOrderPolicy = \"Adjust\",\n        OutputErrorPolicy = \"Drop\",\n        StreamingUnits = 3,\n        SkuName = \"StandardV2\",\n        Tags = \n        {\n            { \"environment\", \"Example\" },\n        },\n        TransformationQuery = @\"    SELECT *\n    INTO [YourOutputAlias]\n    FROM [YourInputAlias]\n\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/streamanalytics\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = streamanalytics.NewJob(ctx, \"example\", \u0026streamanalytics.JobArgs{\n\t\t\tName:                               pulumi.String(\"example-job\"),\n\t\t\tResourceGroupName:                  example.Name,\n\t\t\tLocation:                           example.Location,\n\t\t\tCompatibilityLevel:                 pulumi.String(\"1.2\"),\n\t\t\tDataLocale:                         pulumi.String(\"en-GB\"),\n\t\t\tEventsLateArrivalMaxDelayInSeconds: pulumi.Int(60),\n\t\t\tEventsOutOfOrderMaxDelayInSeconds:  pulumi.Int(50),\n\t\t\tEventsOutOfOrderPolicy:             pulumi.String(\"Adjust\"),\n\t\t\tOutputErrorPolicy:                  pulumi.String(\"Drop\"),\n\t\t\tStreamingUnits:                     pulumi.Int(3),\n\t\t\tSkuName:                            pulumi.String(\"StandardV2\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"environment\": pulumi.String(\"Example\"),\n\t\t\t},\n\t\t\tTransformationQuery: pulumi.String(\"    SELECT *\\n    INTO [YourOutputAlias]\\n    FROM [YourInputAlias]\\n\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.streamanalytics.Job;\nimport com.pulumi.azure.streamanalytics.JobArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleJob = new Job(\"exampleJob\", JobArgs.builder()\n            .name(\"example-job\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .compatibilityLevel(\"1.2\")\n            .dataLocale(\"en-GB\")\n            .eventsLateArrivalMaxDelayInSeconds(60)\n            .eventsOutOfOrderMaxDelayInSeconds(50)\n            .eventsOutOfOrderPolicy(\"Adjust\")\n            .outputErrorPolicy(\"Drop\")\n            .streamingUnits(3)\n            .skuName(\"StandardV2\")\n            .tags(Map.of(\"environment\", \"Example\"))\n            .transformationQuery(\"\"\"\n    SELECT *\n    INTO [YourOutputAlias]\n    FROM [YourInputAlias]\n            \"\"\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleJob:\n    type: azure:streamanalytics:Job\n    name: example\n    properties:\n      name: example-job\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      compatibilityLevel: '1.2'\n      dataLocale: en-GB\n      eventsLateArrivalMaxDelayInSeconds: 60\n      eventsOutOfOrderMaxDelayInSeconds: 50\n      eventsOutOfOrderPolicy: Adjust\n      outputErrorPolicy: Drop\n      streamingUnits: 3\n      skuName: StandardV2\n      tags:\n        environment: Example\n      transformationQuery: |2\n            SELECT *\n            INTO [YourOutputAlias]\n            FROM [YourInputAlias]\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.StreamAnalytics` - 2021-10-01-preview, 2020-03-01\n\n## Import\n\nStream Analytics Job's can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:streamanalytics/job:Job example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.StreamAnalytics/streamingJobs/job1\n```\n\n","properties":{"compatibilityLevel":{"type":"string","description":"Specifies the compatibility level for this job - which controls certain runtime behaviours of the streaming job. Possible values are `1.0`, `1.1` and `1.2`.\n\n\u003e **Note:** Support for Compatibility Level 1.2 is dependent on a new version of the Stream Analytics API, which [being tracked in this issue](https://github.com/Azure/azure-rest-api-specs/issues/5604).\n"},"contentStoragePolicy":{"type":"string","description":"The policy for storing stream analytics content. Possible values are `JobStorageAccount`, `SystemAccount`. Defaults to `SystemAccount`.\n"},"dataLocale":{"type":"string","description":"Specifies the Data Locale of the Job, which [should be a supported .NET Culture](https://msdn.microsoft.com/en-us/library/system.globalization.culturetypes(v=vs.110).aspx). Defaults to `en-US`.\n"},"eventsLateArrivalMaxDelayInSeconds":{"type":"integer","description":"Specifies the maximum tolerable delay in seconds where events arriving late could be included. Supported range is `-1` (indefinite) to \u003cspan pulumi-lang-nodejs=\"`1814399`\" pulumi-lang-dotnet=\"`1814399`\" pulumi-lang-go=\"`1814399`\" pulumi-lang-python=\"`1814399`\" pulumi-lang-yaml=\"`1814399`\" pulumi-lang-java=\"`1814399`\"\u003e`1814399`\u003c/span\u003e (20d 23h 59m 59s). Default is \u003cspan pulumi-lang-nodejs=\"`5`\" pulumi-lang-dotnet=\"`5`\" pulumi-lang-go=\"`5`\" pulumi-lang-python=\"`5`\" pulumi-lang-yaml=\"`5`\" pulumi-lang-java=\"`5`\"\u003e`5`\u003c/span\u003e.\n"},"eventsOutOfOrderMaxDelayInSeconds":{"type":"integer","description":"Specifies the maximum tolerable delay in seconds where out-of-order events can be adjusted to be back in order. Supported range is \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`599`\" pulumi-lang-dotnet=\"`599`\" pulumi-lang-go=\"`599`\" pulumi-lang-python=\"`599`\" pulumi-lang-yaml=\"`599`\" pulumi-lang-java=\"`599`\"\u003e`599`\u003c/span\u003e (9m 59s). Default is \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"eventsOutOfOrderPolicy":{"type":"string","description":"Specifies the policy which should be applied to events which arrive out of order in the input event stream. Possible values are `Adjust` and `Drop`. Default is `Adjust`.\n"},"identity":{"$ref":"#/types/azure:streamanalytics/JobIdentity:JobIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"jobId":{"type":"string","description":"The Job ID assigned by the Stream Analytics Job.\n"},"jobStorageAccounts":{"type":"array","items":{"$ref":"#/types/azure:streamanalytics/JobJobStorageAccount:JobJobStorageAccount"},"description":"The details of the job storage account. A \u003cspan pulumi-lang-nodejs=\"`jobStorageAccount`\" pulumi-lang-dotnet=\"`JobStorageAccount`\" pulumi-lang-go=\"`jobStorageAccount`\" pulumi-lang-python=\"`job_storage_account`\" pulumi-lang-yaml=\"`jobStorageAccount`\" pulumi-lang-java=\"`jobStorageAccount`\"\u003e`job_storage_account`\u003c/span\u003e block as defined below.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`contentStoragePolicy`\" pulumi-lang-dotnet=\"`ContentStoragePolicy`\" pulumi-lang-go=\"`contentStoragePolicy`\" pulumi-lang-python=\"`content_storage_policy`\" pulumi-lang-yaml=\"`contentStoragePolicy`\" pulumi-lang-java=\"`contentStoragePolicy`\"\u003e`content_storage_policy`\u003c/span\u003e must be set to `JobStorageAccount` when specifying \u003cspan pulumi-lang-nodejs=\"`jobStorageAccount`\" pulumi-lang-dotnet=\"`JobStorageAccount`\" pulumi-lang-go=\"`jobStorageAccount`\" pulumi-lang-python=\"`job_storage_account`\" pulumi-lang-yaml=\"`jobStorageAccount`\" pulumi-lang-java=\"`jobStorageAccount`\"\u003e`job_storage_account`\u003c/span\u003e.\n"},"location":{"type":"string","description":"The Azure Region in which the Resource Group exists. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"The name of the Stream Analytics Job. Changing this forces a new resource to be created.\n"},"outputErrorPolicy":{"type":"string","description":"Specifies the policy which should be applied to events which arrive at the output and cannot be written to the external storage due to being malformed (such as missing column values, column values of wrong type or size). Possible values are `Drop` and `Stop`. Default is `Drop`.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Stream Analytics Job should exist. Changing this forces a new resource to be created.\n"},"skuName":{"type":"string","description":"The SKU Name to use for the Stream Analytics Job. Possible values are `Standard`, `StandardV2`. Defaults to `Standard`.\n"},"streamAnalyticsClusterId":{"type":"string","description":"The ID of an existing Stream Analytics Cluster where the Stream Analytics Job should run.\n"},"streamingUnits":{"type":"integer","description":"Specifies the number of streaming units that the streaming job uses. Supported values are \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`6`\" pulumi-lang-dotnet=\"`6`\" pulumi-lang-go=\"`6`\" pulumi-lang-python=\"`6`\" pulumi-lang-yaml=\"`6`\" pulumi-lang-java=\"`6`\"\u003e`6`\u003c/span\u003e and multiples of \u003cspan pulumi-lang-nodejs=\"`6`\" pulumi-lang-dotnet=\"`6`\" pulumi-lang-go=\"`6`\" pulumi-lang-python=\"`6`\" pulumi-lang-yaml=\"`6`\" pulumi-lang-java=\"`6`\"\u003e`6`\u003c/span\u003e up to \u003cspan pulumi-lang-nodejs=\"`120`\" pulumi-lang-dotnet=\"`120`\" pulumi-lang-go=\"`120`\" pulumi-lang-python=\"`120`\" pulumi-lang-yaml=\"`120`\" pulumi-lang-java=\"`120`\"\u003e`120`\u003c/span\u003e. A conversion table for V2 streaming units can be found [here](https://learn.microsoft.com/azure/stream-analytics/stream-analytics-streaming-unit-consumption#understand-streaming-unit-conversions-and-where-they-apply)\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`streamingUnits`\" pulumi-lang-dotnet=\"`StreamingUnits`\" pulumi-lang-go=\"`streamingUnits`\" pulumi-lang-python=\"`streaming_units`\" pulumi-lang-yaml=\"`streamingUnits`\" pulumi-lang-java=\"`streamingUnits`\"\u003e`streaming_units`\u003c/span\u003e must be set when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is `Cloud`.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"}},"transformationQuery":{"type":"string"},"type":{"type":"string","description":"The type of the Stream Analytics Job. Possible values are `Cloud` and `Edge`. Defaults to `Cloud`. Changing this forces a new resource to be created.\n\n\u003e **Note:** `Edge` doesn't support \u003cspan pulumi-lang-nodejs=\"`streamAnalyticsClusterId`\" pulumi-lang-dotnet=\"`StreamAnalyticsClusterId`\" pulumi-lang-go=\"`streamAnalyticsClusterId`\" pulumi-lang-python=\"`stream_analytics_cluster_id`\" pulumi-lang-yaml=\"`streamAnalyticsClusterId`\" pulumi-lang-java=\"`streamAnalyticsClusterId`\"\u003e`stream_analytics_cluster_id`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`streamingUnits`\" pulumi-lang-dotnet=\"`StreamingUnits`\" pulumi-lang-go=\"`streamingUnits`\" pulumi-lang-python=\"`streaming_units`\" pulumi-lang-yaml=\"`streamingUnits`\" pulumi-lang-java=\"`streamingUnits`\"\u003e`streaming_units`\u003c/span\u003e.\n"}},"required":["compatibilityLevel","jobId","location","name","resourceGroupName","transformationQuery"],"inputProperties":{"compatibilityLevel":{"type":"string","description":"Specifies the compatibility level for this job - which controls certain runtime behaviours of the streaming job. Possible values are `1.0`, `1.1` and `1.2`.\n\n\u003e **Note:** Support for Compatibility Level 1.2 is dependent on a new version of the Stream Analytics API, which [being tracked in this issue](https://github.com/Azure/azure-rest-api-specs/issues/5604).\n"},"contentStoragePolicy":{"type":"string","description":"The policy for storing stream analytics content. Possible values are `JobStorageAccount`, `SystemAccount`. Defaults to `SystemAccount`.\n"},"dataLocale":{"type":"string","description":"Specifies the Data Locale of the Job, which [should be a supported .NET Culture](https://msdn.microsoft.com/en-us/library/system.globalization.culturetypes(v=vs.110).aspx). Defaults to `en-US`.\n"},"eventsLateArrivalMaxDelayInSeconds":{"type":"integer","description":"Specifies the maximum tolerable delay in seconds where events arriving late could be included. Supported range is `-1` (indefinite) to \u003cspan pulumi-lang-nodejs=\"`1814399`\" pulumi-lang-dotnet=\"`1814399`\" pulumi-lang-go=\"`1814399`\" pulumi-lang-python=\"`1814399`\" pulumi-lang-yaml=\"`1814399`\" pulumi-lang-java=\"`1814399`\"\u003e`1814399`\u003c/span\u003e (20d 23h 59m 59s). Default is \u003cspan pulumi-lang-nodejs=\"`5`\" pulumi-lang-dotnet=\"`5`\" pulumi-lang-go=\"`5`\" pulumi-lang-python=\"`5`\" pulumi-lang-yaml=\"`5`\" pulumi-lang-java=\"`5`\"\u003e`5`\u003c/span\u003e.\n"},"eventsOutOfOrderMaxDelayInSeconds":{"type":"integer","description":"Specifies the maximum tolerable delay in seconds where out-of-order events can be adjusted to be back in order. Supported range is \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`599`\" pulumi-lang-dotnet=\"`599`\" pulumi-lang-go=\"`599`\" pulumi-lang-python=\"`599`\" pulumi-lang-yaml=\"`599`\" pulumi-lang-java=\"`599`\"\u003e`599`\u003c/span\u003e (9m 59s). Default is \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"eventsOutOfOrderPolicy":{"type":"string","description":"Specifies the policy which should be applied to events which arrive out of order in the input event stream. Possible values are `Adjust` and `Drop`. Default is `Adjust`.\n"},"identity":{"$ref":"#/types/azure:streamanalytics/JobIdentity:JobIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"jobStorageAccounts":{"type":"array","items":{"$ref":"#/types/azure:streamanalytics/JobJobStorageAccount:JobJobStorageAccount"},"description":"The details of the job storage account. A \u003cspan pulumi-lang-nodejs=\"`jobStorageAccount`\" pulumi-lang-dotnet=\"`JobStorageAccount`\" pulumi-lang-go=\"`jobStorageAccount`\" pulumi-lang-python=\"`job_storage_account`\" pulumi-lang-yaml=\"`jobStorageAccount`\" pulumi-lang-java=\"`jobStorageAccount`\"\u003e`job_storage_account`\u003c/span\u003e block as defined below.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`contentStoragePolicy`\" pulumi-lang-dotnet=\"`ContentStoragePolicy`\" pulumi-lang-go=\"`contentStoragePolicy`\" pulumi-lang-python=\"`content_storage_policy`\" pulumi-lang-yaml=\"`contentStoragePolicy`\" pulumi-lang-java=\"`contentStoragePolicy`\"\u003e`content_storage_policy`\u003c/span\u003e must be set to `JobStorageAccount` when specifying \u003cspan pulumi-lang-nodejs=\"`jobStorageAccount`\" pulumi-lang-dotnet=\"`JobStorageAccount`\" pulumi-lang-go=\"`jobStorageAccount`\" pulumi-lang-python=\"`job_storage_account`\" pulumi-lang-yaml=\"`jobStorageAccount`\" pulumi-lang-java=\"`jobStorageAccount`\"\u003e`job_storage_account`\u003c/span\u003e.\n"},"location":{"type":"string","description":"The Azure Region in which the Resource Group exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the Stream Analytics Job. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"outputErrorPolicy":{"type":"string","description":"Specifies the policy which should be applied to events which arrive at the output and cannot be written to the external storage due to being malformed (such as missing column values, column values of wrong type or size). Possible values are `Drop` and `Stop`. Default is `Drop`.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Stream Analytics Job should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"skuName":{"type":"string","description":"The SKU Name to use for the Stream Analytics Job. Possible values are `Standard`, `StandardV2`. Defaults to `Standard`.\n"},"streamAnalyticsClusterId":{"type":"string","description":"The ID of an existing Stream Analytics Cluster where the Stream Analytics Job should run.\n"},"streamingUnits":{"type":"integer","description":"Specifies the number of streaming units that the streaming job uses. Supported values are \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`6`\" pulumi-lang-dotnet=\"`6`\" pulumi-lang-go=\"`6`\" pulumi-lang-python=\"`6`\" pulumi-lang-yaml=\"`6`\" pulumi-lang-java=\"`6`\"\u003e`6`\u003c/span\u003e and multiples of \u003cspan pulumi-lang-nodejs=\"`6`\" pulumi-lang-dotnet=\"`6`\" pulumi-lang-go=\"`6`\" pulumi-lang-python=\"`6`\" pulumi-lang-yaml=\"`6`\" pulumi-lang-java=\"`6`\"\u003e`6`\u003c/span\u003e up to \u003cspan pulumi-lang-nodejs=\"`120`\" pulumi-lang-dotnet=\"`120`\" pulumi-lang-go=\"`120`\" pulumi-lang-python=\"`120`\" pulumi-lang-yaml=\"`120`\" pulumi-lang-java=\"`120`\"\u003e`120`\u003c/span\u003e. A conversion table for V2 streaming units can be found [here](https://learn.microsoft.com/azure/stream-analytics/stream-analytics-streaming-unit-consumption#understand-streaming-unit-conversions-and-where-they-apply)\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`streamingUnits`\" pulumi-lang-dotnet=\"`StreamingUnits`\" pulumi-lang-go=\"`streamingUnits`\" pulumi-lang-python=\"`streaming_units`\" pulumi-lang-yaml=\"`streamingUnits`\" pulumi-lang-java=\"`streamingUnits`\"\u003e`streaming_units`\u003c/span\u003e must be set when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is `Cloud`.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"}},"transformationQuery":{"type":"string"},"type":{"type":"string","description":"The type of the Stream Analytics Job. Possible values are `Cloud` and `Edge`. Defaults to `Cloud`. Changing this forces a new resource to be created.\n\n\u003e **Note:** `Edge` doesn't support \u003cspan pulumi-lang-nodejs=\"`streamAnalyticsClusterId`\" pulumi-lang-dotnet=\"`StreamAnalyticsClusterId`\" pulumi-lang-go=\"`streamAnalyticsClusterId`\" pulumi-lang-python=\"`stream_analytics_cluster_id`\" pulumi-lang-yaml=\"`streamAnalyticsClusterId`\" pulumi-lang-java=\"`streamAnalyticsClusterId`\"\u003e`stream_analytics_cluster_id`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`streamingUnits`\" pulumi-lang-dotnet=\"`StreamingUnits`\" pulumi-lang-go=\"`streamingUnits`\" pulumi-lang-python=\"`streaming_units`\" pulumi-lang-yaml=\"`streamingUnits`\" pulumi-lang-java=\"`streamingUnits`\"\u003e`streaming_units`\u003c/span\u003e.\n","willReplaceOnChanges":true}},"requiredInputs":["resourceGroupName","transformationQuery"],"stateInputs":{"description":"Input properties used for looking up and filtering Job resources.\n","properties":{"compatibilityLevel":{"type":"string","description":"Specifies the compatibility level for this job - which controls certain runtime behaviours of the streaming job. Possible values are `1.0`, `1.1` and `1.2`.\n\n\u003e **Note:** Support for Compatibility Level 1.2 is dependent on a new version of the Stream Analytics API, which [being tracked in this issue](https://github.com/Azure/azure-rest-api-specs/issues/5604).\n"},"contentStoragePolicy":{"type":"string","description":"The policy for storing stream analytics content. Possible values are `JobStorageAccount`, `SystemAccount`. Defaults to `SystemAccount`.\n"},"dataLocale":{"type":"string","description":"Specifies the Data Locale of the Job, which [should be a supported .NET Culture](https://msdn.microsoft.com/en-us/library/system.globalization.culturetypes(v=vs.110).aspx). Defaults to `en-US`.\n"},"eventsLateArrivalMaxDelayInSeconds":{"type":"integer","description":"Specifies the maximum tolerable delay in seconds where events arriving late could be included. Supported range is `-1` (indefinite) to \u003cspan pulumi-lang-nodejs=\"`1814399`\" pulumi-lang-dotnet=\"`1814399`\" pulumi-lang-go=\"`1814399`\" pulumi-lang-python=\"`1814399`\" pulumi-lang-yaml=\"`1814399`\" pulumi-lang-java=\"`1814399`\"\u003e`1814399`\u003c/span\u003e (20d 23h 59m 59s). Default is \u003cspan pulumi-lang-nodejs=\"`5`\" pulumi-lang-dotnet=\"`5`\" pulumi-lang-go=\"`5`\" pulumi-lang-python=\"`5`\" pulumi-lang-yaml=\"`5`\" pulumi-lang-java=\"`5`\"\u003e`5`\u003c/span\u003e.\n"},"eventsOutOfOrderMaxDelayInSeconds":{"type":"integer","description":"Specifies the maximum tolerable delay in seconds where out-of-order events can be adjusted to be back in order. Supported range is \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`599`\" pulumi-lang-dotnet=\"`599`\" pulumi-lang-go=\"`599`\" pulumi-lang-python=\"`599`\" pulumi-lang-yaml=\"`599`\" pulumi-lang-java=\"`599`\"\u003e`599`\u003c/span\u003e (9m 59s). Default is \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"eventsOutOfOrderPolicy":{"type":"string","description":"Specifies the policy which should be applied to events which arrive out of order in the input event stream. Possible values are `Adjust` and `Drop`. Default is `Adjust`.\n"},"identity":{"$ref":"#/types/azure:streamanalytics/JobIdentity:JobIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"jobId":{"type":"string","description":"The Job ID assigned by the Stream Analytics Job.\n"},"jobStorageAccounts":{"type":"array","items":{"$ref":"#/types/azure:streamanalytics/JobJobStorageAccount:JobJobStorageAccount"},"description":"The details of the job storage account. A \u003cspan pulumi-lang-nodejs=\"`jobStorageAccount`\" pulumi-lang-dotnet=\"`JobStorageAccount`\" pulumi-lang-go=\"`jobStorageAccount`\" pulumi-lang-python=\"`job_storage_account`\" pulumi-lang-yaml=\"`jobStorageAccount`\" pulumi-lang-java=\"`jobStorageAccount`\"\u003e`job_storage_account`\u003c/span\u003e block as defined below.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`contentStoragePolicy`\" pulumi-lang-dotnet=\"`ContentStoragePolicy`\" pulumi-lang-go=\"`contentStoragePolicy`\" pulumi-lang-python=\"`content_storage_policy`\" pulumi-lang-yaml=\"`contentStoragePolicy`\" pulumi-lang-java=\"`contentStoragePolicy`\"\u003e`content_storage_policy`\u003c/span\u003e must be set to `JobStorageAccount` when specifying \u003cspan pulumi-lang-nodejs=\"`jobStorageAccount`\" pulumi-lang-dotnet=\"`JobStorageAccount`\" pulumi-lang-go=\"`jobStorageAccount`\" pulumi-lang-python=\"`job_storage_account`\" pulumi-lang-yaml=\"`jobStorageAccount`\" pulumi-lang-java=\"`jobStorageAccount`\"\u003e`job_storage_account`\u003c/span\u003e.\n"},"location":{"type":"string","description":"The Azure Region in which the Resource Group exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the Stream Analytics Job. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"outputErrorPolicy":{"type":"string","description":"Specifies the policy which should be applied to events which arrive at the output and cannot be written to the external storage due to being malformed (such as missing column values, column values of wrong type or size). Possible values are `Drop` and `Stop`. Default is `Drop`.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Stream Analytics Job should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"skuName":{"type":"string","description":"The SKU Name to use for the Stream Analytics Job. Possible values are `Standard`, `StandardV2`. Defaults to `Standard`.\n"},"streamAnalyticsClusterId":{"type":"string","description":"The ID of an existing Stream Analytics Cluster where the Stream Analytics Job should run.\n"},"streamingUnits":{"type":"integer","description":"Specifies the number of streaming units that the streaming job uses. Supported values are \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`6`\" pulumi-lang-dotnet=\"`6`\" pulumi-lang-go=\"`6`\" pulumi-lang-python=\"`6`\" pulumi-lang-yaml=\"`6`\" pulumi-lang-java=\"`6`\"\u003e`6`\u003c/span\u003e and multiples of \u003cspan pulumi-lang-nodejs=\"`6`\" pulumi-lang-dotnet=\"`6`\" pulumi-lang-go=\"`6`\" pulumi-lang-python=\"`6`\" pulumi-lang-yaml=\"`6`\" pulumi-lang-java=\"`6`\"\u003e`6`\u003c/span\u003e up to \u003cspan pulumi-lang-nodejs=\"`120`\" pulumi-lang-dotnet=\"`120`\" pulumi-lang-go=\"`120`\" pulumi-lang-python=\"`120`\" pulumi-lang-yaml=\"`120`\" pulumi-lang-java=\"`120`\"\u003e`120`\u003c/span\u003e. A conversion table for V2 streaming units can be found [here](https://learn.microsoft.com/azure/stream-analytics/stream-analytics-streaming-unit-consumption#understand-streaming-unit-conversions-and-where-they-apply)\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`streamingUnits`\" pulumi-lang-dotnet=\"`StreamingUnits`\" pulumi-lang-go=\"`streamingUnits`\" pulumi-lang-python=\"`streaming_units`\" pulumi-lang-yaml=\"`streamingUnits`\" pulumi-lang-java=\"`streamingUnits`\"\u003e`streaming_units`\u003c/span\u003e must be set when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is `Cloud`.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"}},"transformationQuery":{"type":"string"},"type":{"type":"string","description":"The type of the Stream Analytics Job. Possible values are `Cloud` and `Edge`. Defaults to `Cloud`. Changing this forces a new resource to be created.\n\n\u003e **Note:** `Edge` doesn't support \u003cspan pulumi-lang-nodejs=\"`streamAnalyticsClusterId`\" pulumi-lang-dotnet=\"`StreamAnalyticsClusterId`\" pulumi-lang-go=\"`streamAnalyticsClusterId`\" pulumi-lang-python=\"`stream_analytics_cluster_id`\" pulumi-lang-yaml=\"`streamAnalyticsClusterId`\" pulumi-lang-java=\"`streamAnalyticsClusterId`\"\u003e`stream_analytics_cluster_id`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`streamingUnits`\" pulumi-lang-dotnet=\"`StreamingUnits`\" pulumi-lang-go=\"`streamingUnits`\" pulumi-lang-python=\"`streaming_units`\" pulumi-lang-yaml=\"`streamingUnits`\" pulumi-lang-java=\"`streamingUnits`\"\u003e`streaming_units`\u003c/span\u003e.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:streamanalytics/jobSchedule:JobSchedule":{"description":"Manages a Stream Analytics Job Schedule.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleAccount = new azure.storage.Account(\"example\", {\n    name: \"example\",\n    resourceGroupName: example.name,\n    location: example.location,\n    accountTier: \"Standard\",\n    accountReplicationType: \"LRS\",\n});\nconst exampleContainer = new azure.storage.Container(\"example\", {\n    name: \"example\",\n    storageAccountName: exampleAccount.name,\n    containerAccessType: \"private\",\n});\nconst exampleBlob = new azure.storage.Blob(\"example\", {\n    name: \"example\",\n    storageAccountName: exampleAccount.name,\n    storageContainerName: exampleContainer.name,\n    type: \"Block\",\n    source: new pulumi.asset.FileAsset(\"example.csv\"),\n});\nconst exampleJob = new azure.streamanalytics.Job(\"example\", {\n    name: \"example-job\",\n    resourceGroupName: example.name,\n    location: example.location,\n    compatibilityLevel: \"1.2\",\n    dataLocale: \"en-GB\",\n    eventsLateArrivalMaxDelayInSeconds: 60,\n    eventsOutOfOrderMaxDelayInSeconds: 50,\n    eventsOutOfOrderPolicy: \"Adjust\",\n    outputErrorPolicy: \"Drop\",\n    streamingUnits: 3,\n    tags: {\n        environment: \"Example\",\n    },\n    transformationQuery: `    SELECT *\n    INTO [exampleoutput]\n    FROM [exampleinput]\n`,\n});\nconst exampleStreamInputBlob = new azure.streamanalytics.StreamInputBlob(\"example\", {\n    name: \"exampleinput\",\n    streamAnalyticsJobName: exampleJob.name,\n    resourceGroupName: exampleJob.resourceGroupName,\n    storageAccountName: exampleAccount.name,\n    storageAccountKey: exampleAccount.primaryAccessKey,\n    storageContainerName: exampleContainer.name,\n    pathPattern: \"\",\n    dateFormat: \"yyyy/MM/dd\",\n    timeFormat: \"HH\",\n    serialization: {\n        type: \"Csv\",\n        encoding: \"UTF8\",\n        fieldDelimiter: \",\",\n    },\n});\nconst exampleOutputBlob = new azure.streamanalytics.OutputBlob(\"example\", {\n    name: \"exampleoutput\",\n    streamAnalyticsJobName: exampleJob.name,\n    resourceGroupName: exampleJob.resourceGroupName,\n    storageAccountName: exampleAccount.name,\n    storageAccountKey: exampleAccount.primaryAccessKey,\n    storageContainerName: exampleContainer.name,\n    pathPattern: \"example-{date}-{time}\",\n    dateFormat: \"yyyy-MM-dd\",\n    timeFormat: \"HH\",\n    serialization: {\n        type: \"Avro\",\n    },\n});\nconst exampleJobSchedule = new azure.streamanalytics.JobSchedule(\"example\", {\n    streamAnalyticsJobId: exampleJob.id,\n    startMode: \"CustomTime\",\n    startTime: \"2022-09-21T00:00:00Z\",\n}, {\n    dependsOn: [\n        exampleJob,\n        exampleStreamInputBlob,\n        exampleOutputBlob,\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_account = azure.storage.Account(\"example\",\n    name=\"example\",\n    resource_group_name=example.name,\n    location=example.location,\n    account_tier=\"Standard\",\n    account_replication_type=\"LRS\")\nexample_container = azure.storage.Container(\"example\",\n    name=\"example\",\n    storage_account_name=example_account.name,\n    container_access_type=\"private\")\nexample_blob = azure.storage.Blob(\"example\",\n    name=\"example\",\n    storage_account_name=example_account.name,\n    storage_container_name=example_container.name,\n    type=\"Block\",\n    source=pulumi.FileAsset(\"example.csv\"))\nexample_job = azure.streamanalytics.Job(\"example\",\n    name=\"example-job\",\n    resource_group_name=example.name,\n    location=example.location,\n    compatibility_level=\"1.2\",\n    data_locale=\"en-GB\",\n    events_late_arrival_max_delay_in_seconds=60,\n    events_out_of_order_max_delay_in_seconds=50,\n    events_out_of_order_policy=\"Adjust\",\n    output_error_policy=\"Drop\",\n    streaming_units=3,\n    tags={\n        \"environment\": \"Example\",\n    },\n    transformation_query=\"\"\"    SELECT *\n    INTO [exampleoutput]\n    FROM [exampleinput]\n\"\"\")\nexample_stream_input_blob = azure.streamanalytics.StreamInputBlob(\"example\",\n    name=\"exampleinput\",\n    stream_analytics_job_name=example_job.name,\n    resource_group_name=example_job.resource_group_name,\n    storage_account_name=example_account.name,\n    storage_account_key=example_account.primary_access_key,\n    storage_container_name=example_container.name,\n    path_pattern=\"\",\n    date_format=\"yyyy/MM/dd\",\n    time_format=\"HH\",\n    serialization={\n        \"type\": \"Csv\",\n        \"encoding\": \"UTF8\",\n        \"field_delimiter\": \",\",\n    })\nexample_output_blob = azure.streamanalytics.OutputBlob(\"example\",\n    name=\"exampleoutput\",\n    stream_analytics_job_name=example_job.name,\n    resource_group_name=example_job.resource_group_name,\n    storage_account_name=example_account.name,\n    storage_account_key=example_account.primary_access_key,\n    storage_container_name=example_container.name,\n    path_pattern=\"example-{date}-{time}\",\n    date_format=\"yyyy-MM-dd\",\n    time_format=\"HH\",\n    serialization={\n        \"type\": \"Avro\",\n    })\nexample_job_schedule = azure.streamanalytics.JobSchedule(\"example\",\n    stream_analytics_job_id=example_job.id,\n    start_mode=\"CustomTime\",\n    start_time=\"2022-09-21T00:00:00Z\",\n    opts = pulumi.ResourceOptions(depends_on=[\n            example_job,\n            example_stream_input_blob,\n            example_output_blob,\n        ]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleAccount = new Azure.Storage.Account(\"example\", new()\n    {\n        Name = \"example\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        AccountTier = \"Standard\",\n        AccountReplicationType = \"LRS\",\n    });\n\n    var exampleContainer = new Azure.Storage.Container(\"example\", new()\n    {\n        Name = \"example\",\n        StorageAccountName = exampleAccount.Name,\n        ContainerAccessType = \"private\",\n    });\n\n    var exampleBlob = new Azure.Storage.Blob(\"example\", new()\n    {\n        Name = \"example\",\n        StorageAccountName = exampleAccount.Name,\n        StorageContainerName = exampleContainer.Name,\n        Type = \"Block\",\n        Source = new FileAsset(\"example.csv\"),\n    });\n\n    var exampleJob = new Azure.StreamAnalytics.Job(\"example\", new()\n    {\n        Name = \"example-job\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        CompatibilityLevel = \"1.2\",\n        DataLocale = \"en-GB\",\n        EventsLateArrivalMaxDelayInSeconds = 60,\n        EventsOutOfOrderMaxDelayInSeconds = 50,\n        EventsOutOfOrderPolicy = \"Adjust\",\n        OutputErrorPolicy = \"Drop\",\n        StreamingUnits = 3,\n        Tags = \n        {\n            { \"environment\", \"Example\" },\n        },\n        TransformationQuery = @\"    SELECT *\n    INTO [exampleoutput]\n    FROM [exampleinput]\n\",\n    });\n\n    var exampleStreamInputBlob = new Azure.StreamAnalytics.StreamInputBlob(\"example\", new()\n    {\n        Name = \"exampleinput\",\n        StreamAnalyticsJobName = exampleJob.Name,\n        ResourceGroupName = exampleJob.ResourceGroupName,\n        StorageAccountName = exampleAccount.Name,\n        StorageAccountKey = exampleAccount.PrimaryAccessKey,\n        StorageContainerName = exampleContainer.Name,\n        PathPattern = \"\",\n        DateFormat = \"yyyy/MM/dd\",\n        TimeFormat = \"HH\",\n        Serialization = new Azure.StreamAnalytics.Inputs.StreamInputBlobSerializationArgs\n        {\n            Type = \"Csv\",\n            Encoding = \"UTF8\",\n            FieldDelimiter = \",\",\n        },\n    });\n\n    var exampleOutputBlob = new Azure.StreamAnalytics.OutputBlob(\"example\", new()\n    {\n        Name = \"exampleoutput\",\n        StreamAnalyticsJobName = exampleJob.Name,\n        ResourceGroupName = exampleJob.ResourceGroupName,\n        StorageAccountName = exampleAccount.Name,\n        StorageAccountKey = exampleAccount.PrimaryAccessKey,\n        StorageContainerName = exampleContainer.Name,\n        PathPattern = \"example-{date}-{time}\",\n        DateFormat = \"yyyy-MM-dd\",\n        TimeFormat = \"HH\",\n        Serialization = new Azure.StreamAnalytics.Inputs.OutputBlobSerializationArgs\n        {\n            Type = \"Avro\",\n        },\n    });\n\n    var exampleJobSchedule = new Azure.StreamAnalytics.JobSchedule(\"example\", new()\n    {\n        StreamAnalyticsJobId = exampleJob.Id,\n        StartMode = \"CustomTime\",\n        StartTime = \"2022-09-21T00:00:00Z\",\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            exampleJob,\n            exampleStreamInputBlob,\n            exampleOutputBlob,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/streamanalytics\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := storage.NewAccount(ctx, \"example\", \u0026storage.AccountArgs{\n\t\t\tName:                   pulumi.String(\"example\"),\n\t\t\tResourceGroupName:      example.Name,\n\t\t\tLocation:               example.Location,\n\t\t\tAccountTier:            pulumi.String(\"Standard\"),\n\t\t\tAccountReplicationType: pulumi.String(\"LRS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleContainer, err := storage.NewContainer(ctx, \"example\", \u0026storage.ContainerArgs{\n\t\t\tName:                pulumi.String(\"example\"),\n\t\t\tStorageAccountName:  exampleAccount.Name,\n\t\t\tContainerAccessType: pulumi.String(\"private\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = storage.NewBlob(ctx, \"example\", \u0026storage.BlobArgs{\n\t\t\tName:                 pulumi.String(\"example\"),\n\t\t\tStorageAccountName:   exampleAccount.Name,\n\t\t\tStorageContainerName: exampleContainer.Name,\n\t\t\tType:                 pulumi.String(\"Block\"),\n\t\t\tSource:               pulumi.NewFileAsset(\"example.csv\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleJob, err := streamanalytics.NewJob(ctx, \"example\", \u0026streamanalytics.JobArgs{\n\t\t\tName:                               pulumi.String(\"example-job\"),\n\t\t\tResourceGroupName:                  example.Name,\n\t\t\tLocation:                           example.Location,\n\t\t\tCompatibilityLevel:                 pulumi.String(\"1.2\"),\n\t\t\tDataLocale:                         pulumi.String(\"en-GB\"),\n\t\t\tEventsLateArrivalMaxDelayInSeconds: pulumi.Int(60),\n\t\t\tEventsOutOfOrderMaxDelayInSeconds:  pulumi.Int(50),\n\t\t\tEventsOutOfOrderPolicy:             pulumi.String(\"Adjust\"),\n\t\t\tOutputErrorPolicy:                  pulumi.String(\"Drop\"),\n\t\t\tStreamingUnits:                     pulumi.Int(3),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"environment\": pulumi.String(\"Example\"),\n\t\t\t},\n\t\t\tTransformationQuery: pulumi.String(\"    SELECT *\\n    INTO [exampleoutput]\\n    FROM [exampleinput]\\n\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleStreamInputBlob, err := streamanalytics.NewStreamInputBlob(ctx, \"example\", \u0026streamanalytics.StreamInputBlobArgs{\n\t\t\tName:                   pulumi.String(\"exampleinput\"),\n\t\t\tStreamAnalyticsJobName: exampleJob.Name,\n\t\t\tResourceGroupName:      exampleJob.ResourceGroupName,\n\t\t\tStorageAccountName:     exampleAccount.Name,\n\t\t\tStorageAccountKey:      exampleAccount.PrimaryAccessKey,\n\t\t\tStorageContainerName:   exampleContainer.Name,\n\t\t\tPathPattern:            pulumi.String(\"\"),\n\t\t\tDateFormat:             pulumi.String(\"yyyy/MM/dd\"),\n\t\t\tTimeFormat:             pulumi.String(\"HH\"),\n\t\t\tSerialization: \u0026streamanalytics.StreamInputBlobSerializationArgs{\n\t\t\t\tType:           pulumi.String(\"Csv\"),\n\t\t\t\tEncoding:       pulumi.String(\"UTF8\"),\n\t\t\t\tFieldDelimiter: pulumi.String(\",\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleOutputBlob, err := streamanalytics.NewOutputBlob(ctx, \"example\", \u0026streamanalytics.OutputBlobArgs{\n\t\t\tName:                   pulumi.String(\"exampleoutput\"),\n\t\t\tStreamAnalyticsJobName: exampleJob.Name,\n\t\t\tResourceGroupName:      exampleJob.ResourceGroupName,\n\t\t\tStorageAccountName:     exampleAccount.Name,\n\t\t\tStorageAccountKey:      exampleAccount.PrimaryAccessKey,\n\t\t\tStorageContainerName:   exampleContainer.Name,\n\t\t\tPathPattern:            pulumi.String(\"example-{date}-{time}\"),\n\t\t\tDateFormat:             pulumi.String(\"yyyy-MM-dd\"),\n\t\t\tTimeFormat:             pulumi.String(\"HH\"),\n\t\t\tSerialization: \u0026streamanalytics.OutputBlobSerializationArgs{\n\t\t\t\tType: pulumi.String(\"Avro\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = streamanalytics.NewJobSchedule(ctx, \"example\", \u0026streamanalytics.JobScheduleArgs{\n\t\t\tStreamAnalyticsJobId: exampleJob.ID(),\n\t\t\tStartMode:            pulumi.String(\"CustomTime\"),\n\t\t\tStartTime:            pulumi.String(\"2022-09-21T00:00:00Z\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleJob,\n\t\t\texampleStreamInputBlob,\n\t\t\texampleOutputBlob,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.storage.Account;\nimport com.pulumi.azure.storage.AccountArgs;\nimport com.pulumi.azure.storage.Container;\nimport com.pulumi.azure.storage.ContainerArgs;\nimport com.pulumi.azure.storage.Blob;\nimport com.pulumi.azure.storage.BlobArgs;\nimport com.pulumi.azure.streamanalytics.Job;\nimport com.pulumi.azure.streamanalytics.JobArgs;\nimport com.pulumi.azure.streamanalytics.StreamInputBlob;\nimport com.pulumi.azure.streamanalytics.StreamInputBlobArgs;\nimport com.pulumi.azure.streamanalytics.inputs.StreamInputBlobSerializationArgs;\nimport com.pulumi.azure.streamanalytics.OutputBlob;\nimport com.pulumi.azure.streamanalytics.OutputBlobArgs;\nimport com.pulumi.azure.streamanalytics.inputs.OutputBlobSerializationArgs;\nimport com.pulumi.azure.streamanalytics.JobSchedule;\nimport com.pulumi.azure.streamanalytics.JobScheduleArgs;\nimport com.pulumi.asset.FileAsset;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"example\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .accountTier(\"Standard\")\n            .accountReplicationType(\"LRS\")\n            .build());\n\n        var exampleContainer = new Container(\"exampleContainer\", ContainerArgs.builder()\n            .name(\"example\")\n            .storageAccountName(exampleAccount.name())\n            .containerAccessType(\"private\")\n            .build());\n\n        var exampleBlob = new Blob(\"exampleBlob\", BlobArgs.builder()\n            .name(\"example\")\n            .storageAccountName(exampleAccount.name())\n            .storageContainerName(exampleContainer.name())\n            .type(\"Block\")\n            .source(new FileAsset(\"example.csv\"))\n            .build());\n\n        var exampleJob = new Job(\"exampleJob\", JobArgs.builder()\n            .name(\"example-job\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .compatibilityLevel(\"1.2\")\n            .dataLocale(\"en-GB\")\n            .eventsLateArrivalMaxDelayInSeconds(60)\n            .eventsOutOfOrderMaxDelayInSeconds(50)\n            .eventsOutOfOrderPolicy(\"Adjust\")\n            .outputErrorPolicy(\"Drop\")\n            .streamingUnits(3)\n            .tags(Map.of(\"environment\", \"Example\"))\n            .transformationQuery(\"\"\"\n    SELECT *\n    INTO [exampleoutput]\n    FROM [exampleinput]\n            \"\"\")\n            .build());\n\n        var exampleStreamInputBlob = new StreamInputBlob(\"exampleStreamInputBlob\", StreamInputBlobArgs.builder()\n            .name(\"exampleinput\")\n            .streamAnalyticsJobName(exampleJob.name())\n            .resourceGroupName(exampleJob.resourceGroupName())\n            .storageAccountName(exampleAccount.name())\n            .storageAccountKey(exampleAccount.primaryAccessKey())\n            .storageContainerName(exampleContainer.name())\n            .pathPattern(\"\")\n            .dateFormat(\"yyyy/MM/dd\")\n            .timeFormat(\"HH\")\n            .serialization(StreamInputBlobSerializationArgs.builder()\n                .type(\"Csv\")\n                .encoding(\"UTF8\")\n                .fieldDelimiter(\",\")\n                .build())\n            .build());\n\n        var exampleOutputBlob = new OutputBlob(\"exampleOutputBlob\", OutputBlobArgs.builder()\n            .name(\"exampleoutput\")\n            .streamAnalyticsJobName(exampleJob.name())\n            .resourceGroupName(exampleJob.resourceGroupName())\n            .storageAccountName(exampleAccount.name())\n            .storageAccountKey(exampleAccount.primaryAccessKey())\n            .storageContainerName(exampleContainer.name())\n            .pathPattern(\"example-{date}-{time}\")\n            .dateFormat(\"yyyy-MM-dd\")\n            .timeFormat(\"HH\")\n            .serialization(OutputBlobSerializationArgs.builder()\n                .type(\"Avro\")\n                .build())\n            .build());\n\n        var exampleJobSchedule = new JobSchedule(\"exampleJobSchedule\", JobScheduleArgs.builder()\n            .streamAnalyticsJobId(exampleJob.id())\n            .startMode(\"CustomTime\")\n            .startTime(\"2022-09-21T00:00:00Z\")\n            .build(), CustomResourceOptions.builder()\n                .dependsOn(                \n                    exampleJob,\n                    exampleStreamInputBlob,\n                    exampleOutputBlob)\n                .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleAccount:\n    type: azure:storage:Account\n    name: example\n    properties:\n      name: example\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      accountTier: Standard\n      accountReplicationType: LRS\n  exampleContainer:\n    type: azure:storage:Container\n    name: example\n    properties:\n      name: example\n      storageAccountName: ${exampleAccount.name}\n      containerAccessType: private\n  exampleBlob:\n    type: azure:storage:Blob\n    name: example\n    properties:\n      name: example\n      storageAccountName: ${exampleAccount.name}\n      storageContainerName: ${exampleContainer.name}\n      type: Block\n      source:\n        fn::FileAsset: example.csv\n  exampleJob:\n    type: azure:streamanalytics:Job\n    name: example\n    properties:\n      name: example-job\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      compatibilityLevel: '1.2'\n      dataLocale: en-GB\n      eventsLateArrivalMaxDelayInSeconds: 60\n      eventsOutOfOrderMaxDelayInSeconds: 50\n      eventsOutOfOrderPolicy: Adjust\n      outputErrorPolicy: Drop\n      streamingUnits: 3\n      tags:\n        environment: Example\n      transformationQuery: |2\n            SELECT *\n            INTO [exampleoutput]\n            FROM [exampleinput]\n  exampleStreamInputBlob:\n    type: azure:streamanalytics:StreamInputBlob\n    name: example\n    properties:\n      name: exampleinput\n      streamAnalyticsJobName: ${exampleJob.name}\n      resourceGroupName: ${exampleJob.resourceGroupName}\n      storageAccountName: ${exampleAccount.name}\n      storageAccountKey: ${exampleAccount.primaryAccessKey}\n      storageContainerName: ${exampleContainer.name}\n      pathPattern: \"\"\n      dateFormat: yyyy/MM/dd\n      timeFormat: HH\n      serialization:\n        type: Csv\n        encoding: UTF8\n        fieldDelimiter: ','\n  exampleOutputBlob:\n    type: azure:streamanalytics:OutputBlob\n    name: example\n    properties:\n      name: exampleoutput\n      streamAnalyticsJobName: ${exampleJob.name}\n      resourceGroupName: ${exampleJob.resourceGroupName}\n      storageAccountName: ${exampleAccount.name}\n      storageAccountKey: ${exampleAccount.primaryAccessKey}\n      storageContainerName: ${exampleContainer.name}\n      pathPattern: example-{date}-{time}\n      dateFormat: yyyy-MM-dd\n      timeFormat: HH\n      serialization:\n        type: Avro\n  exampleJobSchedule:\n    type: azure:streamanalytics:JobSchedule\n    name: example\n    properties:\n      streamAnalyticsJobId: ${exampleJob.id}\n      startMode: CustomTime\n      startTime: 2022-09-21T00:00:00Z\n    options:\n      dependsOn:\n        - ${exampleJob}\n        - ${exampleStreamInputBlob}\n        - ${exampleOutputBlob}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.StreamAnalytics` - 2021-10-01-preview\n\n## Import\n\nStream Analytics Job's can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:streamanalytics/jobSchedule:JobSchedule example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.StreamAnalytics/streamingJobs/job1/schedule/default\n```\n\n","properties":{"lastOutputTime":{"type":"string","description":"The time at which the Stream Analytics job last produced an output.\n"},"startMode":{"type":"string","description":"The starting mode of the Stream Analytics Job. Possible values are `JobStartTime`, `CustomTime` and `LastOutputEventTime`.\n\n\u003e **Note:** Setting \u003cspan pulumi-lang-nodejs=\"`startMode`\" pulumi-lang-dotnet=\"`StartMode`\" pulumi-lang-go=\"`startMode`\" pulumi-lang-python=\"`start_mode`\" pulumi-lang-yaml=\"`startMode`\" pulumi-lang-java=\"`startMode`\"\u003e`start_mode`\u003c/span\u003e to `LastOutputEventTime` is only possible if the job had been previously started and produced output.\n"},"startTime":{"type":"string","description":"The time in ISO8601 format at which the Stream Analytics Job should be started e.g. `2022-04-01T00:00:00Z`. This property can only be specified if \u003cspan pulumi-lang-nodejs=\"`startMode`\" pulumi-lang-dotnet=\"`StartMode`\" pulumi-lang-go=\"`startMode`\" pulumi-lang-python=\"`start_mode`\" pulumi-lang-yaml=\"`startMode`\" pulumi-lang-java=\"`startMode`\"\u003e`start_mode`\u003c/span\u003e is set to `CustomTime`\n"},"streamAnalyticsJobId":{"type":"string","description":"The ID of the Stream Analytics Job that should be scheduled or started. Changing this forces a new resource to be created.\n"}},"required":["lastOutputTime","startMode","startTime","streamAnalyticsJobId"],"inputProperties":{"startMode":{"type":"string","description":"The starting mode of the Stream Analytics Job. Possible values are `JobStartTime`, `CustomTime` and `LastOutputEventTime`.\n\n\u003e **Note:** Setting \u003cspan pulumi-lang-nodejs=\"`startMode`\" pulumi-lang-dotnet=\"`StartMode`\" pulumi-lang-go=\"`startMode`\" pulumi-lang-python=\"`start_mode`\" pulumi-lang-yaml=\"`startMode`\" pulumi-lang-java=\"`startMode`\"\u003e`start_mode`\u003c/span\u003e to `LastOutputEventTime` is only possible if the job had been previously started and produced output.\n"},"startTime":{"type":"string","description":"The time in ISO8601 format at which the Stream Analytics Job should be started e.g. `2022-04-01T00:00:00Z`. This property can only be specified if \u003cspan pulumi-lang-nodejs=\"`startMode`\" pulumi-lang-dotnet=\"`StartMode`\" pulumi-lang-go=\"`startMode`\" pulumi-lang-python=\"`start_mode`\" pulumi-lang-yaml=\"`startMode`\" pulumi-lang-java=\"`startMode`\"\u003e`start_mode`\u003c/span\u003e is set to `CustomTime`\n"},"streamAnalyticsJobId":{"type":"string","description":"The ID of the Stream Analytics Job that should be scheduled or started. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["startMode","streamAnalyticsJobId"],"stateInputs":{"description":"Input properties used for looking up and filtering JobSchedule resources.\n","properties":{"lastOutputTime":{"type":"string","description":"The time at which the Stream Analytics job last produced an output.\n"},"startMode":{"type":"string","description":"The starting mode of the Stream Analytics Job. Possible values are `JobStartTime`, `CustomTime` and `LastOutputEventTime`.\n\n\u003e **Note:** Setting \u003cspan pulumi-lang-nodejs=\"`startMode`\" pulumi-lang-dotnet=\"`StartMode`\" pulumi-lang-go=\"`startMode`\" pulumi-lang-python=\"`start_mode`\" pulumi-lang-yaml=\"`startMode`\" pulumi-lang-java=\"`startMode`\"\u003e`start_mode`\u003c/span\u003e to `LastOutputEventTime` is only possible if the job had been previously started and produced output.\n"},"startTime":{"type":"string","description":"The time in ISO8601 format at which the Stream Analytics Job should be started e.g. `2022-04-01T00:00:00Z`. This property can only be specified if \u003cspan pulumi-lang-nodejs=\"`startMode`\" pulumi-lang-dotnet=\"`StartMode`\" pulumi-lang-go=\"`startMode`\" pulumi-lang-python=\"`start_mode`\" pulumi-lang-yaml=\"`startMode`\" pulumi-lang-java=\"`startMode`\"\u003e`start_mode`\u003c/span\u003e is set to `CustomTime`\n"},"streamAnalyticsJobId":{"type":"string","description":"The ID of the Stream Analytics Job that should be scheduled or started. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:streamanalytics/jobStorageAccount:JobStorageAccount":{"description":"Manages a Stream Analytics Job Storage Account. Use this resource for managing the Job Storage Account using `Msi` authentication with a `SystemAssigned` identity.\n\n\u003e **Note:** The Job Storage Account for a Stream Analytics Job can be managed on the \u003cspan pulumi-lang-nodejs=\"`azure.streamanalytics.Job`\" pulumi-lang-dotnet=\"`azure.streamanalytics.Job`\" pulumi-lang-go=\"`streamanalytics.Job`\" pulumi-lang-python=\"`streamanalytics.Job`\" pulumi-lang-yaml=\"`azure.streamanalytics.Job`\" pulumi-lang-java=\"`azure.streamanalytics.Job`\"\u003e`azure.streamanalytics.Job`\u003c/span\u003e resource with the \u003cspan pulumi-lang-nodejs=\"`jobStorageAccount`\" pulumi-lang-dotnet=\"`JobStorageAccount`\" pulumi-lang-go=\"`jobStorageAccount`\" pulumi-lang-python=\"`job_storage_account`\" pulumi-lang-yaml=\"`jobStorageAccount`\" pulumi-lang-java=\"`jobStorageAccount`\"\u003e`job_storage_account`\u003c/span\u003e block, or with this resource. We do not recommend managing the Job Storage Account through both means as this can lead to conflicts.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleJob = new azure.streamanalytics.Job(\"example\", {\n    name: \"example-job\",\n    resourceGroupName: example.name,\n    location: example.location,\n    compatibilityLevel: \"1.2\",\n    dataLocale: \"en-GB\",\n    eventsLateArrivalMaxDelayInSeconds: 60,\n    eventsOutOfOrderMaxDelayInSeconds: 50,\n    eventsOutOfOrderPolicy: \"Adjust\",\n    outputErrorPolicy: \"Drop\",\n    streamingUnits: 3,\n    skuName: \"StandardV2\",\n    identity: {\n        type: \"SystemAssigned\",\n    },\n    tags: {\n        environment: \"Example\",\n    },\n    transformationQuery: `    SELECT *\n    INTO [YourOutputAlias]\n    FROM [YourInputAlias]\n`,\n});\nconst exampleAccount = new azure.storage.Account(\"example\", {\n    name: \"exampleaccount\",\n    resourceGroupName: example.name,\n    location: example.location,\n    accountTier: \"Standard\",\n    accountReplicationType: \"LRS\",\n});\nconst exampleJobStorageAccount = new azure.streamanalytics.JobStorageAccount(\"example\", {\n    streamAnalyticsJobId: exampleJob.id,\n    storageAccountName: exampleAccount.name,\n    authenticationMode: \"Msi\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_job = azure.streamanalytics.Job(\"example\",\n    name=\"example-job\",\n    resource_group_name=example.name,\n    location=example.location,\n    compatibility_level=\"1.2\",\n    data_locale=\"en-GB\",\n    events_late_arrival_max_delay_in_seconds=60,\n    events_out_of_order_max_delay_in_seconds=50,\n    events_out_of_order_policy=\"Adjust\",\n    output_error_policy=\"Drop\",\n    streaming_units=3,\n    sku_name=\"StandardV2\",\n    identity={\n        \"type\": \"SystemAssigned\",\n    },\n    tags={\n        \"environment\": \"Example\",\n    },\n    transformation_query=\"\"\"    SELECT *\n    INTO [YourOutputAlias]\n    FROM [YourInputAlias]\n\"\"\")\nexample_account = azure.storage.Account(\"example\",\n    name=\"exampleaccount\",\n    resource_group_name=example.name,\n    location=example.location,\n    account_tier=\"Standard\",\n    account_replication_type=\"LRS\")\nexample_job_storage_account = azure.streamanalytics.JobStorageAccount(\"example\",\n    stream_analytics_job_id=example_job.id,\n    storage_account_name=example_account.name,\n    authentication_mode=\"Msi\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleJob = new Azure.StreamAnalytics.Job(\"example\", new()\n    {\n        Name = \"example-job\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        CompatibilityLevel = \"1.2\",\n        DataLocale = \"en-GB\",\n        EventsLateArrivalMaxDelayInSeconds = 60,\n        EventsOutOfOrderMaxDelayInSeconds = 50,\n        EventsOutOfOrderPolicy = \"Adjust\",\n        OutputErrorPolicy = \"Drop\",\n        StreamingUnits = 3,\n        SkuName = \"StandardV2\",\n        Identity = new Azure.StreamAnalytics.Inputs.JobIdentityArgs\n        {\n            Type = \"SystemAssigned\",\n        },\n        Tags = \n        {\n            { \"environment\", \"Example\" },\n        },\n        TransformationQuery = @\"    SELECT *\n    INTO [YourOutputAlias]\n    FROM [YourInputAlias]\n\",\n    });\n\n    var exampleAccount = new Azure.Storage.Account(\"example\", new()\n    {\n        Name = \"exampleaccount\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        AccountTier = \"Standard\",\n        AccountReplicationType = \"LRS\",\n    });\n\n    var exampleJobStorageAccount = new Azure.StreamAnalytics.JobStorageAccount(\"example\", new()\n    {\n        StreamAnalyticsJobId = exampleJob.Id,\n        StorageAccountName = exampleAccount.Name,\n        AuthenticationMode = \"Msi\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/streamanalytics\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleJob, err := streamanalytics.NewJob(ctx, \"example\", \u0026streamanalytics.JobArgs{\n\t\t\tName:                               pulumi.String(\"example-job\"),\n\t\t\tResourceGroupName:                  example.Name,\n\t\t\tLocation:                           example.Location,\n\t\t\tCompatibilityLevel:                 pulumi.String(\"1.2\"),\n\t\t\tDataLocale:                         pulumi.String(\"en-GB\"),\n\t\t\tEventsLateArrivalMaxDelayInSeconds: pulumi.Int(60),\n\t\t\tEventsOutOfOrderMaxDelayInSeconds:  pulumi.Int(50),\n\t\t\tEventsOutOfOrderPolicy:             pulumi.String(\"Adjust\"),\n\t\t\tOutputErrorPolicy:                  pulumi.String(\"Drop\"),\n\t\t\tStreamingUnits:                     pulumi.Int(3),\n\t\t\tSkuName:                            pulumi.String(\"StandardV2\"),\n\t\t\tIdentity: \u0026streamanalytics.JobIdentityArgs{\n\t\t\t\tType: pulumi.String(\"SystemAssigned\"),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"environment\": pulumi.String(\"Example\"),\n\t\t\t},\n\t\t\tTransformationQuery: pulumi.String(\"    SELECT *\\n    INTO [YourOutputAlias]\\n    FROM [YourInputAlias]\\n\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := storage.NewAccount(ctx, \"example\", \u0026storage.AccountArgs{\n\t\t\tName:                   pulumi.String(\"exampleaccount\"),\n\t\t\tResourceGroupName:      example.Name,\n\t\t\tLocation:               example.Location,\n\t\t\tAccountTier:            pulumi.String(\"Standard\"),\n\t\t\tAccountReplicationType: pulumi.String(\"LRS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = streamanalytics.NewJobStorageAccount(ctx, \"example\", \u0026streamanalytics.JobStorageAccountArgs{\n\t\t\tStreamAnalyticsJobId: exampleJob.ID(),\n\t\t\tStorageAccountName:   exampleAccount.Name,\n\t\t\tAuthenticationMode:   pulumi.String(\"Msi\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.streamanalytics.Job;\nimport com.pulumi.azure.streamanalytics.JobArgs;\nimport com.pulumi.azure.streamanalytics.inputs.JobIdentityArgs;\nimport com.pulumi.azure.storage.Account;\nimport com.pulumi.azure.storage.AccountArgs;\nimport com.pulumi.azure.streamanalytics.JobStorageAccount;\nimport com.pulumi.azure.streamanalytics.JobStorageAccountArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleJob = new Job(\"exampleJob\", JobArgs.builder()\n            .name(\"example-job\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .compatibilityLevel(\"1.2\")\n            .dataLocale(\"en-GB\")\n            .eventsLateArrivalMaxDelayInSeconds(60)\n            .eventsOutOfOrderMaxDelayInSeconds(50)\n            .eventsOutOfOrderPolicy(\"Adjust\")\n            .outputErrorPolicy(\"Drop\")\n            .streamingUnits(3)\n            .skuName(\"StandardV2\")\n            .identity(JobIdentityArgs.builder()\n                .type(\"SystemAssigned\")\n                .build())\n            .tags(Map.of(\"environment\", \"Example\"))\n            .transformationQuery(\"\"\"\n    SELECT *\n    INTO [YourOutputAlias]\n    FROM [YourInputAlias]\n            \"\"\")\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"exampleaccount\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .accountTier(\"Standard\")\n            .accountReplicationType(\"LRS\")\n            .build());\n\n        var exampleJobStorageAccount = new JobStorageAccount(\"exampleJobStorageAccount\", JobStorageAccountArgs.builder()\n            .streamAnalyticsJobId(exampleJob.id())\n            .storageAccountName(exampleAccount.name())\n            .authenticationMode(\"Msi\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleJob:\n    type: azure:streamanalytics:Job\n    name: example\n    properties:\n      name: example-job\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      compatibilityLevel: '1.2'\n      dataLocale: en-GB\n      eventsLateArrivalMaxDelayInSeconds: 60\n      eventsOutOfOrderMaxDelayInSeconds: 50\n      eventsOutOfOrderPolicy: Adjust\n      outputErrorPolicy: Drop\n      streamingUnits: 3\n      skuName: StandardV2\n      identity:\n        type: SystemAssigned\n      tags:\n        environment: Example\n      transformationQuery: |2\n            SELECT *\n            INTO [YourOutputAlias]\n            FROM [YourInputAlias]\n  exampleAccount:\n    type: azure:storage:Account\n    name: example\n    properties:\n      name: exampleaccount\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      accountTier: Standard\n      accountReplicationType: LRS\n  exampleJobStorageAccount:\n    type: azure:streamanalytics:JobStorageAccount\n    name: example\n    properties:\n      streamAnalyticsJobId: ${exampleJob.id}\n      storageAccountName: ${exampleAccount.name}\n      authenticationMode: Msi\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.StreamAnalytics` - 2021-10-01-preview\n\n## Import\n\nStream Analytics Job Storage Accounts can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:streamanalytics/jobStorageAccount:JobStorageAccount example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.StreamAnalytics/streamingJobs/job1\n```\n\n","properties":{"authenticationMode":{"type":"string","description":"The authentication mode for the Stream Analytics Job's Storage Account. Possible values are `ConnectionString`, and `Msi`.\n"},"storageAccountKey":{"type":"string","secret":true},"storageAccountName":{"type":"string"},"streamAnalyticsJobId":{"type":"string","description":"The ID of the Stream Analytics Job. Changing this forces a new resource to be created.\n"}},"required":["authenticationMode","storageAccountName","streamAnalyticsJobId"],"inputProperties":{"authenticationMode":{"type":"string","description":"The authentication mode for the Stream Analytics Job's Storage Account. Possible values are `ConnectionString`, and `Msi`.\n"},"storageAccountKey":{"type":"string","secret":true},"storageAccountName":{"type":"string"},"streamAnalyticsJobId":{"type":"string","description":"The ID of the Stream Analytics Job. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["authenticationMode","storageAccountName","streamAnalyticsJobId"],"stateInputs":{"description":"Input properties used for looking up and filtering JobStorageAccount resources.\n","properties":{"authenticationMode":{"type":"string","description":"The authentication mode for the Stream Analytics Job's Storage Account. Possible values are `ConnectionString`, and `Msi`.\n"},"storageAccountKey":{"type":"string","secret":true},"storageAccountName":{"type":"string"},"streamAnalyticsJobId":{"type":"string","description":"The ID of the Stream Analytics Job. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:streamanalytics/managedPrivateEndpoint:ManagedPrivateEndpoint":{"description":"Manages a Stream Analytics Managed Private Endpoint.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleAccount = new azure.storage.Account(\"example\", {\n    name: \"examplestorageacc\",\n    resourceGroupName: example.name,\n    location: example.location,\n    accountTier: \"Standard\",\n    accountReplicationType: \"LRS\",\n    accountKind: \"StorageV2\",\n    isHnsEnabled: true,\n});\nconst exampleCluster = new azure.streamanalytics.Cluster(\"example\", {\n    name: \"examplestreamanalyticscluster\",\n    resourceGroupName: example.name,\n    location: example.location,\n    streamingCapacity: 36,\n});\nconst exampleManagedPrivateEndpoint = new azure.streamanalytics.ManagedPrivateEndpoint(\"example\", {\n    name: \"exampleprivateendpoint\",\n    resourceGroupName: example.name,\n    streamAnalyticsClusterName: exampleCluster.name,\n    targetResourceId: exampleAccount.id,\n    subresourceName: \"blob\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_account = azure.storage.Account(\"example\",\n    name=\"examplestorageacc\",\n    resource_group_name=example.name,\n    location=example.location,\n    account_tier=\"Standard\",\n    account_replication_type=\"LRS\",\n    account_kind=\"StorageV2\",\n    is_hns_enabled=True)\nexample_cluster = azure.streamanalytics.Cluster(\"example\",\n    name=\"examplestreamanalyticscluster\",\n    resource_group_name=example.name,\n    location=example.location,\n    streaming_capacity=36)\nexample_managed_private_endpoint = azure.streamanalytics.ManagedPrivateEndpoint(\"example\",\n    name=\"exampleprivateendpoint\",\n    resource_group_name=example.name,\n    stream_analytics_cluster_name=example_cluster.name,\n    target_resource_id=example_account.id,\n    subresource_name=\"blob\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleAccount = new Azure.Storage.Account(\"example\", new()\n    {\n        Name = \"examplestorageacc\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        AccountTier = \"Standard\",\n        AccountReplicationType = \"LRS\",\n        AccountKind = \"StorageV2\",\n        IsHnsEnabled = true,\n    });\n\n    var exampleCluster = new Azure.StreamAnalytics.Cluster(\"example\", new()\n    {\n        Name = \"examplestreamanalyticscluster\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        StreamingCapacity = 36,\n    });\n\n    var exampleManagedPrivateEndpoint = new Azure.StreamAnalytics.ManagedPrivateEndpoint(\"example\", new()\n    {\n        Name = \"exampleprivateendpoint\",\n        ResourceGroupName = example.Name,\n        StreamAnalyticsClusterName = exampleCluster.Name,\n        TargetResourceId = exampleAccount.Id,\n        SubresourceName = \"blob\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/streamanalytics\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := storage.NewAccount(ctx, \"example\", \u0026storage.AccountArgs{\n\t\t\tName:                   pulumi.String(\"examplestorageacc\"),\n\t\t\tResourceGroupName:      example.Name,\n\t\t\tLocation:               example.Location,\n\t\t\tAccountTier:            pulumi.String(\"Standard\"),\n\t\t\tAccountReplicationType: pulumi.String(\"LRS\"),\n\t\t\tAccountKind:            pulumi.String(\"StorageV2\"),\n\t\t\tIsHnsEnabled:           pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleCluster, err := streamanalytics.NewCluster(ctx, \"example\", \u0026streamanalytics.ClusterArgs{\n\t\t\tName:              pulumi.String(\"examplestreamanalyticscluster\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tStreamingCapacity: pulumi.Int(36),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = streamanalytics.NewManagedPrivateEndpoint(ctx, \"example\", \u0026streamanalytics.ManagedPrivateEndpointArgs{\n\t\t\tName:                       pulumi.String(\"exampleprivateendpoint\"),\n\t\t\tResourceGroupName:          example.Name,\n\t\t\tStreamAnalyticsClusterName: exampleCluster.Name,\n\t\t\tTargetResourceId:           exampleAccount.ID(),\n\t\t\tSubresourceName:            pulumi.String(\"blob\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.storage.Account;\nimport com.pulumi.azure.storage.AccountArgs;\nimport com.pulumi.azure.streamanalytics.Cluster;\nimport com.pulumi.azure.streamanalytics.ClusterArgs;\nimport com.pulumi.azure.streamanalytics.ManagedPrivateEndpoint;\nimport com.pulumi.azure.streamanalytics.ManagedPrivateEndpointArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"examplestorageacc\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .accountTier(\"Standard\")\n            .accountReplicationType(\"LRS\")\n            .accountKind(\"StorageV2\")\n            .isHnsEnabled(true)\n            .build());\n\n        var exampleCluster = new Cluster(\"exampleCluster\", ClusterArgs.builder()\n            .name(\"examplestreamanalyticscluster\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .streamingCapacity(36)\n            .build());\n\n        var exampleManagedPrivateEndpoint = new ManagedPrivateEndpoint(\"exampleManagedPrivateEndpoint\", ManagedPrivateEndpointArgs.builder()\n            .name(\"exampleprivateendpoint\")\n            .resourceGroupName(example.name())\n            .streamAnalyticsClusterName(exampleCluster.name())\n            .targetResourceId(exampleAccount.id())\n            .subresourceName(\"blob\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleAccount:\n    type: azure:storage:Account\n    name: example\n    properties:\n      name: examplestorageacc\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      accountTier: Standard\n      accountReplicationType: LRS\n      accountKind: StorageV2\n      isHnsEnabled: 'true'\n  exampleCluster:\n    type: azure:streamanalytics:Cluster\n    name: example\n    properties:\n      name: examplestreamanalyticscluster\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      streamingCapacity: 36\n  exampleManagedPrivateEndpoint:\n    type: azure:streamanalytics:ManagedPrivateEndpoint\n    name: example\n    properties:\n      name: exampleprivateendpoint\n      resourceGroupName: ${example.name}\n      streamAnalyticsClusterName: ${exampleCluster.name}\n      targetResourceId: ${exampleAccount.id}\n      subresourceName: blob\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.StreamAnalytics` - 2020-03-01\n\n## Import\n\nStream Analytics Private Endpoints can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:streamanalytics/managedPrivateEndpoint:ManagedPrivateEndpoint example /subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/resGroup1/providers/Microsoft.StreamAnalytics/clusters/cluster1/privateEndpoints/endpoint1\n```\n\n","properties":{"name":{"type":"string","description":"The name which should be used for this Stream Analytics Managed Private Endpoint. Changing this forces a new resource to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Stream Analytics Managed Private Endpoint should exist. Changing this forces a new resource to be created.\n"},"streamAnalyticsClusterName":{"type":"string","description":"The name of the Stream Analytics Cluster where the Managed Private Endpoint should be created. Changing this forces a new resource to be created.\n"},"subresourceName":{"type":"string","description":"Specifies the sub resource name which the Stream Analytics Private Endpoint is able to connect to. Changing this forces a new resource to be created.\n"},"targetResourceId":{"type":"string","description":"The ID of the Private Link Enabled Remote Resource which this Stream Analytics Private endpoint should be connected to. Changing this forces a new resource to be created.\n"}},"required":["name","resourceGroupName","streamAnalyticsClusterName","subresourceName","targetResourceId"],"inputProperties":{"name":{"type":"string","description":"The name which should be used for this Stream Analytics Managed Private Endpoint. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Stream Analytics Managed Private Endpoint should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"streamAnalyticsClusterName":{"type":"string","description":"The name of the Stream Analytics Cluster where the Managed Private Endpoint should be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"subresourceName":{"type":"string","description":"Specifies the sub resource name which the Stream Analytics Private Endpoint is able to connect to. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"targetResourceId":{"type":"string","description":"The ID of the Private Link Enabled Remote Resource which this Stream Analytics Private endpoint should be connected to. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["resourceGroupName","streamAnalyticsClusterName","subresourceName","targetResourceId"],"stateInputs":{"description":"Input properties used for looking up and filtering ManagedPrivateEndpoint resources.\n","properties":{"name":{"type":"string","description":"The name which should be used for this Stream Analytics Managed Private Endpoint. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Stream Analytics Managed Private Endpoint should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"streamAnalyticsClusterName":{"type":"string","description":"The name of the Stream Analytics Cluster where the Managed Private Endpoint should be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"subresourceName":{"type":"string","description":"Specifies the sub resource name which the Stream Analytics Private Endpoint is able to connect to. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"targetResourceId":{"type":"string","description":"The ID of the Private Link Enabled Remote Resource which this Stream Analytics Private endpoint should be connected to. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:streamanalytics/outputBlob:OutputBlob":{"description":"Manages a Stream Analytics Output to Blob Storage.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"example\", {\n    name: \"rg-example\",\n    location: \"West Europe\",\n});\nconst example = azure.streamanalytics.getJobOutput({\n    name: \"example-job\",\n    resourceGroupName: exampleResourceGroup.name,\n});\nconst exampleAccount = new azure.storage.Account(\"example\", {\n    name: \"examplesa\",\n    resourceGroupName: exampleResourceGroup.name,\n    location: exampleResourceGroup.location,\n    accountTier: \"Standard\",\n    accountReplicationType: \"LRS\",\n});\nconst exampleContainer = new azure.storage.Container(\"example\", {\n    name: \"example\",\n    storageAccountName: exampleAccount.name,\n    containerAccessType: \"private\",\n});\nconst exampleOutputBlob = new azure.streamanalytics.OutputBlob(\"example\", {\n    name: \"output-to-blob-storage\",\n    streamAnalyticsJobName: example.apply(example =\u003e example.name),\n    resourceGroupName: example.apply(example =\u003e example.resourceGroupName),\n    storageAccountName: exampleAccount.name,\n    storageAccountKey: exampleAccount.primaryAccessKey,\n    storageContainerName: exampleContainer.name,\n    pathPattern: \"some-pattern\",\n    dateFormat: \"yyyy-MM-dd\",\n    timeFormat: \"HH\",\n    serialization: {\n        type: \"Csv\",\n        encoding: \"UTF8\",\n        fieldDelimiter: \",\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"example\",\n    name=\"rg-example\",\n    location=\"West Europe\")\nexample = azure.streamanalytics.get_job_output(name=\"example-job\",\n    resource_group_name=example_resource_group.name)\nexample_account = azure.storage.Account(\"example\",\n    name=\"examplesa\",\n    resource_group_name=example_resource_group.name,\n    location=example_resource_group.location,\n    account_tier=\"Standard\",\n    account_replication_type=\"LRS\")\nexample_container = azure.storage.Container(\"example\",\n    name=\"example\",\n    storage_account_name=example_account.name,\n    container_access_type=\"private\")\nexample_output_blob = azure.streamanalytics.OutputBlob(\"example\",\n    name=\"output-to-blob-storage\",\n    stream_analytics_job_name=example.name,\n    resource_group_name=example.resource_group_name,\n    storage_account_name=example_account.name,\n    storage_account_key=example_account.primary_access_key,\n    storage_container_name=example_container.name,\n    path_pattern=\"some-pattern\",\n    date_format=\"yyyy-MM-dd\",\n    time_format=\"HH\",\n    serialization={\n        \"type\": \"Csv\",\n        \"encoding\": \"UTF8\",\n        \"field_delimiter\": \",\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleResourceGroup = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"rg-example\",\n        Location = \"West Europe\",\n    });\n\n    var example = Azure.StreamAnalytics.GetJob.Invoke(new()\n    {\n        Name = \"example-job\",\n        ResourceGroupName = exampleResourceGroup.Name,\n    });\n\n    var exampleAccount = new Azure.Storage.Account(\"example\", new()\n    {\n        Name = \"examplesa\",\n        ResourceGroupName = exampleResourceGroup.Name,\n        Location = exampleResourceGroup.Location,\n        AccountTier = \"Standard\",\n        AccountReplicationType = \"LRS\",\n    });\n\n    var exampleContainer = new Azure.Storage.Container(\"example\", new()\n    {\n        Name = \"example\",\n        StorageAccountName = exampleAccount.Name,\n        ContainerAccessType = \"private\",\n    });\n\n    var exampleOutputBlob = new Azure.StreamAnalytics.OutputBlob(\"example\", new()\n    {\n        Name = \"output-to-blob-storage\",\n        StreamAnalyticsJobName = example.Apply(getJobResult =\u003e getJobResult.Name),\n        ResourceGroupName = example.Apply(getJobResult =\u003e getJobResult.ResourceGroupName),\n        StorageAccountName = exampleAccount.Name,\n        StorageAccountKey = exampleAccount.PrimaryAccessKey,\n        StorageContainerName = exampleContainer.Name,\n        PathPattern = \"some-pattern\",\n        DateFormat = \"yyyy-MM-dd\",\n        TimeFormat = \"HH\",\n        Serialization = new Azure.StreamAnalytics.Inputs.OutputBlobSerializationArgs\n        {\n            Type = \"Csv\",\n            Encoding = \"UTF8\",\n            FieldDelimiter = \",\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/streamanalytics\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"rg-example\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample := streamanalytics.LookupJobOutput(ctx, streamanalytics.GetJobOutputArgs{\n\t\t\tName:              pulumi.String(\"example-job\"),\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t}, nil)\n\t\texampleAccount, err := storage.NewAccount(ctx, \"example\", \u0026storage.AccountArgs{\n\t\t\tName:                   pulumi.String(\"examplesa\"),\n\t\t\tResourceGroupName:      exampleResourceGroup.Name,\n\t\t\tLocation:               exampleResourceGroup.Location,\n\t\t\tAccountTier:            pulumi.String(\"Standard\"),\n\t\t\tAccountReplicationType: pulumi.String(\"LRS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleContainer, err := storage.NewContainer(ctx, \"example\", \u0026storage.ContainerArgs{\n\t\t\tName:                pulumi.String(\"example\"),\n\t\t\tStorageAccountName:  exampleAccount.Name,\n\t\t\tContainerAccessType: pulumi.String(\"private\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = streamanalytics.NewOutputBlob(ctx, \"example\", \u0026streamanalytics.OutputBlobArgs{\n\t\t\tName: pulumi.String(\"output-to-blob-storage\"),\n\t\t\tStreamAnalyticsJobName: pulumi.String(example.ApplyT(func(example streamanalytics.GetJobResult) (*string, error) {\n\t\t\t\treturn \u0026example.Name, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tResourceGroupName: pulumi.String(example.ApplyT(func(example streamanalytics.GetJobResult) (*string, error) {\n\t\t\t\treturn \u0026example.ResourceGroupName, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tStorageAccountName:   exampleAccount.Name,\n\t\t\tStorageAccountKey:    exampleAccount.PrimaryAccessKey,\n\t\t\tStorageContainerName: exampleContainer.Name,\n\t\t\tPathPattern:          pulumi.String(\"some-pattern\"),\n\t\t\tDateFormat:           pulumi.String(\"yyyy-MM-dd\"),\n\t\t\tTimeFormat:           pulumi.String(\"HH\"),\n\t\t\tSerialization: \u0026streamanalytics.OutputBlobSerializationArgs{\n\t\t\t\tType:           pulumi.String(\"Csv\"),\n\t\t\t\tEncoding:       pulumi.String(\"UTF8\"),\n\t\t\t\tFieldDelimiter: pulumi.String(\",\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.streamanalytics.StreamanalyticsFunctions;\nimport com.pulumi.azure.streamanalytics.inputs.GetJobArgs;\nimport com.pulumi.azure.storage.Account;\nimport com.pulumi.azure.storage.AccountArgs;\nimport com.pulumi.azure.storage.Container;\nimport com.pulumi.azure.storage.ContainerArgs;\nimport com.pulumi.azure.streamanalytics.OutputBlob;\nimport com.pulumi.azure.streamanalytics.OutputBlobArgs;\nimport com.pulumi.azure.streamanalytics.inputs.OutputBlobSerializationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var exampleResourceGroup = new ResourceGroup(\"exampleResourceGroup\", ResourceGroupArgs.builder()\n            .name(\"rg-example\")\n            .location(\"West Europe\")\n            .build());\n\n        final var example = StreamanalyticsFunctions.getJob(GetJobArgs.builder()\n            .name(\"example-job\")\n            .resourceGroupName(exampleResourceGroup.name())\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"examplesa\")\n            .resourceGroupName(exampleResourceGroup.name())\n            .location(exampleResourceGroup.location())\n            .accountTier(\"Standard\")\n            .accountReplicationType(\"LRS\")\n            .build());\n\n        var exampleContainer = new Container(\"exampleContainer\", ContainerArgs.builder()\n            .name(\"example\")\n            .storageAccountName(exampleAccount.name())\n            .containerAccessType(\"private\")\n            .build());\n\n        var exampleOutputBlob = new OutputBlob(\"exampleOutputBlob\", OutputBlobArgs.builder()\n            .name(\"output-to-blob-storage\")\n            .streamAnalyticsJobName(example.applyValue(_example -\u003e _example.name()))\n            .resourceGroupName(example.applyValue(_example -\u003e _example.resourceGroupName()))\n            .storageAccountName(exampleAccount.name())\n            .storageAccountKey(exampleAccount.primaryAccessKey())\n            .storageContainerName(exampleContainer.name())\n            .pathPattern(\"some-pattern\")\n            .dateFormat(\"yyyy-MM-dd\")\n            .timeFormat(\"HH\")\n            .serialization(OutputBlobSerializationArgs.builder()\n                .type(\"Csv\")\n                .encoding(\"UTF8\")\n                .fieldDelimiter(\",\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleResourceGroup:\n    type: azure:core:ResourceGroup\n    name: example\n    properties:\n      name: rg-example\n      location: West Europe\n  exampleAccount:\n    type: azure:storage:Account\n    name: example\n    properties:\n      name: examplesa\n      resourceGroupName: ${exampleResourceGroup.name}\n      location: ${exampleResourceGroup.location}\n      accountTier: Standard\n      accountReplicationType: LRS\n  exampleContainer:\n    type: azure:storage:Container\n    name: example\n    properties:\n      name: example\n      storageAccountName: ${exampleAccount.name}\n      containerAccessType: private\n  exampleOutputBlob:\n    type: azure:streamanalytics:OutputBlob\n    name: example\n    properties:\n      name: output-to-blob-storage\n      streamAnalyticsJobName: ${example.name}\n      resourceGroupName: ${example.resourceGroupName}\n      storageAccountName: ${exampleAccount.name}\n      storageAccountKey: ${exampleAccount.primaryAccessKey}\n      storageContainerName: ${exampleContainer.name}\n      pathPattern: some-pattern\n      dateFormat: yyyy-MM-dd\n      timeFormat: HH\n      serialization:\n        type: Csv\n        encoding: UTF8\n        fieldDelimiter: ','\nvariables:\n  example:\n    fn::invoke:\n      function: azure:streamanalytics:getJob\n      arguments:\n        name: example-job\n        resourceGroupName: ${exampleResourceGroup.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.StreamAnalytics` - 2021-10-01-preview\n\n## Import\n\nStream Analytics Outputs to Blob Storage can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:streamanalytics/outputBlob:OutputBlob example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.StreamAnalytics/streamingJobs/job1/outputs/output1\n```\n\n","properties":{"authenticationMode":{"type":"string","description":"The authentication mode for the Stream Output. Possible values are `Msi` and `ConnectionString`. Defaults to `ConnectionString`.\n"},"batchMaxWaitTime":{"type":"string","description":"The maximum wait time per batch in `hh:mm:ss` e.g. `00:02:00` for two minutes.\n"},"batchMinRows":{"type":"integer","description":"The minimum number of rows per batch (must be between \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`1000000`\" pulumi-lang-dotnet=\"`1000000`\" pulumi-lang-go=\"`1000000`\" pulumi-lang-python=\"`1000000`\" pulumi-lang-yaml=\"`1000000`\" pulumi-lang-java=\"`1000000`\"\u003e`1000000`\u003c/span\u003e).\n"},"blobWriteMode":{"type":"string","description":"Determines whether blob blocks are either committed automatically or appended. Possible values are `Append` and `Once`. Defaults to `Append`.\n"},"dateFormat":{"type":"string","description":"The date format. Wherever `{date}` appears in \u003cspan pulumi-lang-nodejs=\"`pathPattern`\" pulumi-lang-dotnet=\"`PathPattern`\" pulumi-lang-go=\"`pathPattern`\" pulumi-lang-python=\"`path_pattern`\" pulumi-lang-yaml=\"`pathPattern`\" pulumi-lang-java=\"`pathPattern`\"\u003e`path_pattern`\u003c/span\u003e, the value of this property is used as the date format instead.\n"},"name":{"type":"string","description":"The name of the Stream Output. Changing this forces a new resource to be created.\n"},"pathPattern":{"type":"string","description":"The blob path pattern. Not a regular expression. It represents a pattern against which blob names will be matched to determine whether or not they should be included as input or output to the job.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Stream Analytics Job exists. Changing this forces a new resource to be created.\n"},"serialization":{"$ref":"#/types/azure:streamanalytics/OutputBlobSerialization:OutputBlobSerialization","description":"A \u003cspan pulumi-lang-nodejs=\"`serialization`\" pulumi-lang-dotnet=\"`Serialization`\" pulumi-lang-go=\"`serialization`\" pulumi-lang-python=\"`serialization`\" pulumi-lang-yaml=\"`serialization`\" pulumi-lang-java=\"`serialization`\"\u003e`serialization`\u003c/span\u003e block as defined below.\n"},"storageAccountKey":{"type":"string","description":"The Access Key which should be used to connect to this Storage Account.\n","secret":true},"storageAccountName":{"type":"string","description":"The name of the Storage Account.\n"},"storageContainerName":{"type":"string","description":"The name of the Container within the Storage Account.\n"},"streamAnalyticsJobName":{"type":"string","description":"The name of the Stream Analytics Job. Changing this forces a new resource to be created.\n"},"timeFormat":{"type":"string","description":"The time format. Wherever `{time}` appears in \u003cspan pulumi-lang-nodejs=\"`pathPattern`\" pulumi-lang-dotnet=\"`PathPattern`\" pulumi-lang-go=\"`pathPattern`\" pulumi-lang-python=\"`path_pattern`\" pulumi-lang-yaml=\"`pathPattern`\" pulumi-lang-java=\"`pathPattern`\"\u003e`path_pattern`\u003c/span\u003e, the value of this property is used as the time format instead.\n"}},"required":["dateFormat","name","pathPattern","resourceGroupName","serialization","storageAccountName","storageContainerName","streamAnalyticsJobName","timeFormat"],"inputProperties":{"authenticationMode":{"type":"string","description":"The authentication mode for the Stream Output. Possible values are `Msi` and `ConnectionString`. Defaults to `ConnectionString`.\n"},"batchMaxWaitTime":{"type":"string","description":"The maximum wait time per batch in `hh:mm:ss` e.g. `00:02:00` for two minutes.\n"},"batchMinRows":{"type":"integer","description":"The minimum number of rows per batch (must be between \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`1000000`\" pulumi-lang-dotnet=\"`1000000`\" pulumi-lang-go=\"`1000000`\" pulumi-lang-python=\"`1000000`\" pulumi-lang-yaml=\"`1000000`\" pulumi-lang-java=\"`1000000`\"\u003e`1000000`\u003c/span\u003e).\n"},"blobWriteMode":{"type":"string","description":"Determines whether blob blocks are either committed automatically or appended. Possible values are `Append` and `Once`. Defaults to `Append`.\n"},"dateFormat":{"type":"string","description":"The date format. Wherever `{date}` appears in \u003cspan pulumi-lang-nodejs=\"`pathPattern`\" pulumi-lang-dotnet=\"`PathPattern`\" pulumi-lang-go=\"`pathPattern`\" pulumi-lang-python=\"`path_pattern`\" pulumi-lang-yaml=\"`pathPattern`\" pulumi-lang-java=\"`pathPattern`\"\u003e`path_pattern`\u003c/span\u003e, the value of this property is used as the date format instead.\n"},"name":{"type":"string","description":"The name of the Stream Output. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"pathPattern":{"type":"string","description":"The blob path pattern. Not a regular expression. It represents a pattern against which blob names will be matched to determine whether or not they should be included as input or output to the job.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Stream Analytics Job exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"serialization":{"$ref":"#/types/azure:streamanalytics/OutputBlobSerialization:OutputBlobSerialization","description":"A \u003cspan pulumi-lang-nodejs=\"`serialization`\" pulumi-lang-dotnet=\"`Serialization`\" pulumi-lang-go=\"`serialization`\" pulumi-lang-python=\"`serialization`\" pulumi-lang-yaml=\"`serialization`\" pulumi-lang-java=\"`serialization`\"\u003e`serialization`\u003c/span\u003e block as defined below.\n"},"storageAccountKey":{"type":"string","description":"The Access Key which should be used to connect to this Storage Account.\n","secret":true},"storageAccountName":{"type":"string","description":"The name of the Storage Account.\n"},"storageContainerName":{"type":"string","description":"The name of the Container within the Storage Account.\n"},"streamAnalyticsJobName":{"type":"string","description":"The name of the Stream Analytics Job. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"timeFormat":{"type":"string","description":"The time format. Wherever `{time}` appears in \u003cspan pulumi-lang-nodejs=\"`pathPattern`\" pulumi-lang-dotnet=\"`PathPattern`\" pulumi-lang-go=\"`pathPattern`\" pulumi-lang-python=\"`path_pattern`\" pulumi-lang-yaml=\"`pathPattern`\" pulumi-lang-java=\"`pathPattern`\"\u003e`path_pattern`\u003c/span\u003e, the value of this property is used as the time format instead.\n"}},"requiredInputs":["dateFormat","pathPattern","resourceGroupName","serialization","storageAccountName","storageContainerName","streamAnalyticsJobName","timeFormat"],"stateInputs":{"description":"Input properties used for looking up and filtering OutputBlob resources.\n","properties":{"authenticationMode":{"type":"string","description":"The authentication mode for the Stream Output. Possible values are `Msi` and `ConnectionString`. Defaults to `ConnectionString`.\n"},"batchMaxWaitTime":{"type":"string","description":"The maximum wait time per batch in `hh:mm:ss` e.g. `00:02:00` for two minutes.\n"},"batchMinRows":{"type":"integer","description":"The minimum number of rows per batch (must be between \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`1000000`\" pulumi-lang-dotnet=\"`1000000`\" pulumi-lang-go=\"`1000000`\" pulumi-lang-python=\"`1000000`\" pulumi-lang-yaml=\"`1000000`\" pulumi-lang-java=\"`1000000`\"\u003e`1000000`\u003c/span\u003e).\n"},"blobWriteMode":{"type":"string","description":"Determines whether blob blocks are either committed automatically or appended. Possible values are `Append` and `Once`. Defaults to `Append`.\n"},"dateFormat":{"type":"string","description":"The date format. Wherever `{date}` appears in \u003cspan pulumi-lang-nodejs=\"`pathPattern`\" pulumi-lang-dotnet=\"`PathPattern`\" pulumi-lang-go=\"`pathPattern`\" pulumi-lang-python=\"`path_pattern`\" pulumi-lang-yaml=\"`pathPattern`\" pulumi-lang-java=\"`pathPattern`\"\u003e`path_pattern`\u003c/span\u003e, the value of this property is used as the date format instead.\n"},"name":{"type":"string","description":"The name of the Stream Output. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"pathPattern":{"type":"string","description":"The blob path pattern. Not a regular expression. It represents a pattern against which blob names will be matched to determine whether or not they should be included as input or output to the job.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Stream Analytics Job exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"serialization":{"$ref":"#/types/azure:streamanalytics/OutputBlobSerialization:OutputBlobSerialization","description":"A \u003cspan pulumi-lang-nodejs=\"`serialization`\" pulumi-lang-dotnet=\"`Serialization`\" pulumi-lang-go=\"`serialization`\" pulumi-lang-python=\"`serialization`\" pulumi-lang-yaml=\"`serialization`\" pulumi-lang-java=\"`serialization`\"\u003e`serialization`\u003c/span\u003e block as defined below.\n"},"storageAccountKey":{"type":"string","description":"The Access Key which should be used to connect to this Storage Account.\n","secret":true},"storageAccountName":{"type":"string","description":"The name of the Storage Account.\n"},"storageContainerName":{"type":"string","description":"The name of the Container within the Storage Account.\n"},"streamAnalyticsJobName":{"type":"string","description":"The name of the Stream Analytics Job. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"timeFormat":{"type":"string","description":"The time format. Wherever `{time}` appears in \u003cspan pulumi-lang-nodejs=\"`pathPattern`\" pulumi-lang-dotnet=\"`PathPattern`\" pulumi-lang-go=\"`pathPattern`\" pulumi-lang-python=\"`path_pattern`\" pulumi-lang-yaml=\"`pathPattern`\" pulumi-lang-java=\"`pathPattern`\"\u003e`path_pattern`\u003c/span\u003e, the value of this property is used as the time format instead.\n"}},"type":"object"}},"azure:streamanalytics/outputCosmosdb:OutputCosmosdb":{"description":"Manages a Stream Analytics Output to CosmosDB.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"example\", {\n    name: \"rg-example\",\n    location: \"West Europe\",\n});\nconst example = azure.streamanalytics.getJobOutput({\n    name: \"example-job\",\n    resourceGroupName: exampleResourceGroup.name,\n});\nconst exampleAccount = new azure.cosmosdb.Account(\"example\", {\n    name: \"exampledb\",\n    resourceGroupName: exampleResourceGroup.name,\n    location: exampleResourceGroup.location,\n    offerType: \"Standard\",\n    kind: \"GlobalDocumentDB\",\n    consistencyPolicy: {\n        consistencyLevel: \"BoundedStaleness\",\n        maxIntervalInSeconds: 10,\n        maxStalenessPrefix: 200,\n    },\n    geoLocations: [{\n        location: exampleResourceGroup.location,\n        failoverPriority: 0,\n    }],\n});\nconst exampleSqlDatabase = new azure.cosmosdb.SqlDatabase(\"example\", {\n    name: \"cosmos-sql-db\",\n    resourceGroupName: exampleAccount.resourceGroupName,\n    accountName: exampleAccount.name,\n    throughput: 400,\n});\nconst exampleSqlContainer = new azure.cosmosdb.SqlContainer(\"example\", {\n    name: \"examplecontainer\",\n    resourceGroupName: exampleAccount.resourceGroupName,\n    accountName: exampleAccount.name,\n    databaseName: exampleSqlDatabase.name,\n    partitionKeyPath: \"foo\",\n});\nconst exampleOutputCosmosdb = new azure.streamanalytics.OutputCosmosdb(\"example\", {\n    name: \"output-to-cosmosdb\",\n    streamAnalyticsJobId: example.apply(example =\u003e example.id),\n    cosmosdbAccountKey: exampleAccount.primaryKey,\n    cosmosdbSqlDatabaseId: exampleSqlDatabase.id,\n    containerName: exampleSqlContainer.name,\n    documentId: \"exampledocumentid\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"example\",\n    name=\"rg-example\",\n    location=\"West Europe\")\nexample = azure.streamanalytics.get_job_output(name=\"example-job\",\n    resource_group_name=example_resource_group.name)\nexample_account = azure.cosmosdb.Account(\"example\",\n    name=\"exampledb\",\n    resource_group_name=example_resource_group.name,\n    location=example_resource_group.location,\n    offer_type=\"Standard\",\n    kind=\"GlobalDocumentDB\",\n    consistency_policy={\n        \"consistency_level\": \"BoundedStaleness\",\n        \"max_interval_in_seconds\": 10,\n        \"max_staleness_prefix\": 200,\n    },\n    geo_locations=[{\n        \"location\": example_resource_group.location,\n        \"failover_priority\": 0,\n    }])\nexample_sql_database = azure.cosmosdb.SqlDatabase(\"example\",\n    name=\"cosmos-sql-db\",\n    resource_group_name=example_account.resource_group_name,\n    account_name=example_account.name,\n    throughput=400)\nexample_sql_container = azure.cosmosdb.SqlContainer(\"example\",\n    name=\"examplecontainer\",\n    resource_group_name=example_account.resource_group_name,\n    account_name=example_account.name,\n    database_name=example_sql_database.name,\n    partition_key_path=\"foo\")\nexample_output_cosmosdb = azure.streamanalytics.OutputCosmosdb(\"example\",\n    name=\"output-to-cosmosdb\",\n    stream_analytics_job_id=example.id,\n    cosmosdb_account_key=example_account.primary_key,\n    cosmosdb_sql_database_id=example_sql_database.id,\n    container_name=example_sql_container.name,\n    document_id=\"exampledocumentid\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleResourceGroup = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"rg-example\",\n        Location = \"West Europe\",\n    });\n\n    var example = Azure.StreamAnalytics.GetJob.Invoke(new()\n    {\n        Name = \"example-job\",\n        ResourceGroupName = exampleResourceGroup.Name,\n    });\n\n    var exampleAccount = new Azure.CosmosDB.Account(\"example\", new()\n    {\n        Name = \"exampledb\",\n        ResourceGroupName = exampleResourceGroup.Name,\n        Location = exampleResourceGroup.Location,\n        OfferType = \"Standard\",\n        Kind = \"GlobalDocumentDB\",\n        ConsistencyPolicy = new Azure.CosmosDB.Inputs.AccountConsistencyPolicyArgs\n        {\n            ConsistencyLevel = \"BoundedStaleness\",\n            MaxIntervalInSeconds = 10,\n            MaxStalenessPrefix = 200,\n        },\n        GeoLocations = new[]\n        {\n            new Azure.CosmosDB.Inputs.AccountGeoLocationArgs\n            {\n                Location = exampleResourceGroup.Location,\n                FailoverPriority = 0,\n            },\n        },\n    });\n\n    var exampleSqlDatabase = new Azure.CosmosDB.SqlDatabase(\"example\", new()\n    {\n        Name = \"cosmos-sql-db\",\n        ResourceGroupName = exampleAccount.ResourceGroupName,\n        AccountName = exampleAccount.Name,\n        Throughput = 400,\n    });\n\n    var exampleSqlContainer = new Azure.CosmosDB.SqlContainer(\"example\", new()\n    {\n        Name = \"examplecontainer\",\n        ResourceGroupName = exampleAccount.ResourceGroupName,\n        AccountName = exampleAccount.Name,\n        DatabaseName = exampleSqlDatabase.Name,\n        PartitionKeyPath = \"foo\",\n    });\n\n    var exampleOutputCosmosdb = new Azure.StreamAnalytics.OutputCosmosdb(\"example\", new()\n    {\n        Name = \"output-to-cosmosdb\",\n        StreamAnalyticsJobId = example.Apply(getJobResult =\u003e getJobResult.Id),\n        CosmosdbAccountKey = exampleAccount.PrimaryKey,\n        CosmosdbSqlDatabaseId = exampleSqlDatabase.Id,\n        ContainerName = exampleSqlContainer.Name,\n        DocumentId = \"exampledocumentid\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/cosmosdb\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/streamanalytics\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"rg-example\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample := streamanalytics.LookupJobOutput(ctx, streamanalytics.GetJobOutputArgs{\n\t\t\tName:              pulumi.String(\"example-job\"),\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t}, nil)\n\t\texampleAccount, err := cosmosdb.NewAccount(ctx, \"example\", \u0026cosmosdb.AccountArgs{\n\t\t\tName:              pulumi.String(\"exampledb\"),\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tLocation:          exampleResourceGroup.Location,\n\t\t\tOfferType:         pulumi.String(\"Standard\"),\n\t\t\tKind:              pulumi.String(\"GlobalDocumentDB\"),\n\t\t\tConsistencyPolicy: \u0026cosmosdb.AccountConsistencyPolicyArgs{\n\t\t\t\tConsistencyLevel:     pulumi.String(\"BoundedStaleness\"),\n\t\t\t\tMaxIntervalInSeconds: pulumi.Int(10),\n\t\t\t\tMaxStalenessPrefix:   pulumi.Int(200),\n\t\t\t},\n\t\t\tGeoLocations: cosmosdb.AccountGeoLocationArray{\n\t\t\t\t\u0026cosmosdb.AccountGeoLocationArgs{\n\t\t\t\t\tLocation:         exampleResourceGroup.Location,\n\t\t\t\t\tFailoverPriority: pulumi.Int(0),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSqlDatabase, err := cosmosdb.NewSqlDatabase(ctx, \"example\", \u0026cosmosdb.SqlDatabaseArgs{\n\t\t\tName:              pulumi.String(\"cosmos-sql-db\"),\n\t\t\tResourceGroupName: exampleAccount.ResourceGroupName,\n\t\t\tAccountName:       exampleAccount.Name,\n\t\t\tThroughput:        pulumi.Int(400),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSqlContainer, err := cosmosdb.NewSqlContainer(ctx, \"example\", \u0026cosmosdb.SqlContainerArgs{\n\t\t\tName:              pulumi.String(\"examplecontainer\"),\n\t\t\tResourceGroupName: exampleAccount.ResourceGroupName,\n\t\t\tAccountName:       exampleAccount.Name,\n\t\t\tDatabaseName:      exampleSqlDatabase.Name,\n\t\t\tPartitionKeyPath:  \"foo\",\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = streamanalytics.NewOutputCosmosdb(ctx, \"example\", \u0026streamanalytics.OutputCosmosdbArgs{\n\t\t\tName: pulumi.String(\"output-to-cosmosdb\"),\n\t\t\tStreamAnalyticsJobId: pulumi.String(example.ApplyT(func(example streamanalytics.GetJobResult) (*string, error) {\n\t\t\t\treturn \u0026example.Id, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tCosmosdbAccountKey:    exampleAccount.PrimaryKey,\n\t\t\tCosmosdbSqlDatabaseId: exampleSqlDatabase.ID(),\n\t\t\tContainerName:         exampleSqlContainer.Name,\n\t\t\tDocumentId:            pulumi.String(\"exampledocumentid\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.streamanalytics.StreamanalyticsFunctions;\nimport com.pulumi.azure.streamanalytics.inputs.GetJobArgs;\nimport com.pulumi.azure.cosmosdb.Account;\nimport com.pulumi.azure.cosmosdb.AccountArgs;\nimport com.pulumi.azure.cosmosdb.inputs.AccountConsistencyPolicyArgs;\nimport com.pulumi.azure.cosmosdb.inputs.AccountGeoLocationArgs;\nimport com.pulumi.azure.cosmosdb.SqlDatabase;\nimport com.pulumi.azure.cosmosdb.SqlDatabaseArgs;\nimport com.pulumi.azure.cosmosdb.SqlContainer;\nimport com.pulumi.azure.cosmosdb.SqlContainerArgs;\nimport com.pulumi.azure.streamanalytics.OutputCosmosdb;\nimport com.pulumi.azure.streamanalytics.OutputCosmosdbArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var exampleResourceGroup = new ResourceGroup(\"exampleResourceGroup\", ResourceGroupArgs.builder()\n            .name(\"rg-example\")\n            .location(\"West Europe\")\n            .build());\n\n        final var example = StreamanalyticsFunctions.getJob(GetJobArgs.builder()\n            .name(\"example-job\")\n            .resourceGroupName(exampleResourceGroup.name())\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"exampledb\")\n            .resourceGroupName(exampleResourceGroup.name())\n            .location(exampleResourceGroup.location())\n            .offerType(\"Standard\")\n            .kind(\"GlobalDocumentDB\")\n            .consistencyPolicy(AccountConsistencyPolicyArgs.builder()\n                .consistencyLevel(\"BoundedStaleness\")\n                .maxIntervalInSeconds(10)\n                .maxStalenessPrefix(200)\n                .build())\n            .geoLocations(AccountGeoLocationArgs.builder()\n                .location(exampleResourceGroup.location())\n                .failoverPriority(0)\n                .build())\n            .build());\n\n        var exampleSqlDatabase = new SqlDatabase(\"exampleSqlDatabase\", SqlDatabaseArgs.builder()\n            .name(\"cosmos-sql-db\")\n            .resourceGroupName(exampleAccount.resourceGroupName())\n            .accountName(exampleAccount.name())\n            .throughput(400)\n            .build());\n\n        var exampleSqlContainer = new SqlContainer(\"exampleSqlContainer\", SqlContainerArgs.builder()\n            .name(\"examplecontainer\")\n            .resourceGroupName(exampleAccount.resourceGroupName())\n            .accountName(exampleAccount.name())\n            .databaseName(exampleSqlDatabase.name())\n            .partitionKeyPath(\"foo\")\n            .build());\n\n        var exampleOutputCosmosdb = new OutputCosmosdb(\"exampleOutputCosmosdb\", OutputCosmosdbArgs.builder()\n            .name(\"output-to-cosmosdb\")\n            .streamAnalyticsJobId(example.applyValue(_example -\u003e _example.id()))\n            .cosmosdbAccountKey(exampleAccount.primaryKey())\n            .cosmosdbSqlDatabaseId(exampleSqlDatabase.id())\n            .containerName(exampleSqlContainer.name())\n            .documentId(\"exampledocumentid\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleResourceGroup:\n    type: azure:core:ResourceGroup\n    name: example\n    properties:\n      name: rg-example\n      location: West Europe\n  exampleAccount:\n    type: azure:cosmosdb:Account\n    name: example\n    properties:\n      name: exampledb\n      resourceGroupName: ${exampleResourceGroup.name}\n      location: ${exampleResourceGroup.location}\n      offerType: Standard\n      kind: GlobalDocumentDB\n      consistencyPolicy:\n        consistencyLevel: BoundedStaleness\n        maxIntervalInSeconds: 10\n        maxStalenessPrefix: 200\n      geoLocations:\n        - location: ${exampleResourceGroup.location}\n          failoverPriority: 0\n  exampleSqlDatabase:\n    type: azure:cosmosdb:SqlDatabase\n    name: example\n    properties:\n      name: cosmos-sql-db\n      resourceGroupName: ${exampleAccount.resourceGroupName}\n      accountName: ${exampleAccount.name}\n      throughput: 400\n  exampleSqlContainer:\n    type: azure:cosmosdb:SqlContainer\n    name: example\n    properties:\n      name: examplecontainer\n      resourceGroupName: ${exampleAccount.resourceGroupName}\n      accountName: ${exampleAccount.name}\n      databaseName: ${exampleSqlDatabase.name}\n      partitionKeyPath: foo\n  exampleOutputCosmosdb:\n    type: azure:streamanalytics:OutputCosmosdb\n    name: example\n    properties:\n      name: output-to-cosmosdb\n      streamAnalyticsJobId: ${example.id}\n      cosmosdbAccountKey: ${exampleAccount.primaryKey}\n      cosmosdbSqlDatabaseId: ${exampleSqlDatabase.id}\n      containerName: ${exampleSqlContainer.name}\n      documentId: exampledocumentid\nvariables:\n  example:\n    fn::invoke:\n      function: azure:streamanalytics:getJob\n      arguments:\n        name: example-job\n        resourceGroupName: ${exampleResourceGroup.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.StreamAnalytics` - 2021-10-01-preview\n\n## Import\n\nStream Analytics Outputs for CosmosDB can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:streamanalytics/outputCosmosdb:OutputCosmosdb example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.StreamAnalytics/streamingJobs/job1/outputs/output1\n```\n\n","properties":{"authenticationMode":{"type":"string","description":"The authentication mode for the CosmosDB database. Possible values are `ConnectionString` and `Msi`. Defaults to `ConnectionString`.\n"},"containerName":{"type":"string","description":"The name of the CosmosDB container.\n"},"cosmosdbAccountKey":{"type":"string","description":"The account key for the CosmosDB database.\n","secret":true},"cosmosdbSqlDatabaseId":{"type":"string","description":"The ID of the CosmosDB database.\n"},"documentId":{"type":"string","description":"The name of the field in output events used to specify the primary key which insert or update operations are based on.\n"},"name":{"type":"string","description":"The name of the Stream Analytics Output. Changing this forces a new resource to be created.\n"},"partitionKey":{"type":"string","description":"The name of the field in output events used to specify the key for partitioning output across collections. If \u003cspan pulumi-lang-nodejs=\"`containerName`\" pulumi-lang-dotnet=\"`ContainerName`\" pulumi-lang-go=\"`containerName`\" pulumi-lang-python=\"`container_name`\" pulumi-lang-yaml=\"`containerName`\" pulumi-lang-java=\"`containerName`\"\u003e`container_name`\u003c/span\u003e contains `{partition}` token, this property is required to be specified.\n"},"streamAnalyticsJobId":{"type":"string","description":"The ID of the Stream Analytics Job. Changing this forces a new resource to be created.\n"}},"required":["containerName","cosmosdbAccountKey","cosmosdbSqlDatabaseId","name","streamAnalyticsJobId"],"inputProperties":{"authenticationMode":{"type":"string","description":"The authentication mode for the CosmosDB database. Possible values are `ConnectionString` and `Msi`. Defaults to `ConnectionString`.\n"},"containerName":{"type":"string","description":"The name of the CosmosDB container.\n"},"cosmosdbAccountKey":{"type":"string","description":"The account key for the CosmosDB database.\n","secret":true},"cosmosdbSqlDatabaseId":{"type":"string","description":"The ID of the CosmosDB database.\n"},"documentId":{"type":"string","description":"The name of the field in output events used to specify the primary key which insert or update operations are based on.\n"},"name":{"type":"string","description":"The name of the Stream Analytics Output. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"partitionKey":{"type":"string","description":"The name of the field in output events used to specify the key for partitioning output across collections. If \u003cspan pulumi-lang-nodejs=\"`containerName`\" pulumi-lang-dotnet=\"`ContainerName`\" pulumi-lang-go=\"`containerName`\" pulumi-lang-python=\"`container_name`\" pulumi-lang-yaml=\"`containerName`\" pulumi-lang-java=\"`containerName`\"\u003e`container_name`\u003c/span\u003e contains `{partition}` token, this property is required to be specified.\n"},"streamAnalyticsJobId":{"type":"string","description":"The ID of the Stream Analytics Job. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["containerName","cosmosdbAccountKey","cosmosdbSqlDatabaseId","streamAnalyticsJobId"],"stateInputs":{"description":"Input properties used for looking up and filtering OutputCosmosdb resources.\n","properties":{"authenticationMode":{"type":"string","description":"The authentication mode for the CosmosDB database. Possible values are `ConnectionString` and `Msi`. Defaults to `ConnectionString`.\n"},"containerName":{"type":"string","description":"The name of the CosmosDB container.\n"},"cosmosdbAccountKey":{"type":"string","description":"The account key for the CosmosDB database.\n","secret":true},"cosmosdbSqlDatabaseId":{"type":"string","description":"The ID of the CosmosDB database.\n"},"documentId":{"type":"string","description":"The name of the field in output events used to specify the primary key which insert or update operations are based on.\n"},"name":{"type":"string","description":"The name of the Stream Analytics Output. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"partitionKey":{"type":"string","description":"The name of the field in output events used to specify the key for partitioning output across collections. If \u003cspan pulumi-lang-nodejs=\"`containerName`\" pulumi-lang-dotnet=\"`ContainerName`\" pulumi-lang-go=\"`containerName`\" pulumi-lang-python=\"`container_name`\" pulumi-lang-yaml=\"`containerName`\" pulumi-lang-java=\"`containerName`\"\u003e`container_name`\u003c/span\u003e contains `{partition}` token, this property is required to be specified.\n"},"streamAnalyticsJobId":{"type":"string","description":"The ID of the Stream Analytics Job. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:streamanalytics/outputEventHub:OutputEventHub":{"description":"Manages a Stream Analytics Output to an EventHub.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"example\", {\n    name: \"rg-example\",\n    location: \"West Europe\",\n});\nconst example = azure.streamanalytics.getJobOutput({\n    name: \"example-job\",\n    resourceGroupName: exampleResourceGroup.name,\n});\nconst exampleEventHubNamespace = new azure.eventhub.EventHubNamespace(\"example\", {\n    name: \"example-ehnamespace\",\n    location: exampleResourceGroup.location,\n    resourceGroupName: exampleResourceGroup.name,\n    sku: \"Standard\",\n    capacity: 1,\n});\nconst exampleEventHub = new azure.eventhub.EventHub(\"example\", {\n    name: \"example-eventhub\",\n    namespaceName: exampleEventHubNamespace.name,\n    resourceGroupName: exampleResourceGroup.name,\n    partitionCount: 2,\n    messageRetention: 1,\n});\nconst exampleOutputEventHub = new azure.streamanalytics.OutputEventHub(\"example\", {\n    name: \"output-to-eventhub\",\n    streamAnalyticsJobName: example.apply(example =\u003e example.name),\n    resourceGroupName: example.apply(example =\u003e example.resourceGroupName),\n    eventhubName: exampleEventHub.name,\n    servicebusNamespace: exampleEventHubNamespace.name,\n    sharedAccessPolicyKey: exampleEventHubNamespace.defaultPrimaryKey,\n    sharedAccessPolicyName: \"RootManageSharedAccessKey\",\n    serialization: {\n        type: \"Avro\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"example\",\n    name=\"rg-example\",\n    location=\"West Europe\")\nexample = azure.streamanalytics.get_job_output(name=\"example-job\",\n    resource_group_name=example_resource_group.name)\nexample_event_hub_namespace = azure.eventhub.EventHubNamespace(\"example\",\n    name=\"example-ehnamespace\",\n    location=example_resource_group.location,\n    resource_group_name=example_resource_group.name,\n    sku=\"Standard\",\n    capacity=1)\nexample_event_hub = azure.eventhub.EventHub(\"example\",\n    name=\"example-eventhub\",\n    namespace_name=example_event_hub_namespace.name,\n    resource_group_name=example_resource_group.name,\n    partition_count=2,\n    message_retention=1)\nexample_output_event_hub = azure.streamanalytics.OutputEventHub(\"example\",\n    name=\"output-to-eventhub\",\n    stream_analytics_job_name=example.name,\n    resource_group_name=example.resource_group_name,\n    eventhub_name=example_event_hub.name,\n    servicebus_namespace=example_event_hub_namespace.name,\n    shared_access_policy_key=example_event_hub_namespace.default_primary_key,\n    shared_access_policy_name=\"RootManageSharedAccessKey\",\n    serialization={\n        \"type\": \"Avro\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleResourceGroup = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"rg-example\",\n        Location = \"West Europe\",\n    });\n\n    var example = Azure.StreamAnalytics.GetJob.Invoke(new()\n    {\n        Name = \"example-job\",\n        ResourceGroupName = exampleResourceGroup.Name,\n    });\n\n    var exampleEventHubNamespace = new Azure.EventHub.EventHubNamespace(\"example\", new()\n    {\n        Name = \"example-ehnamespace\",\n        Location = exampleResourceGroup.Location,\n        ResourceGroupName = exampleResourceGroup.Name,\n        Sku = \"Standard\",\n        Capacity = 1,\n    });\n\n    var exampleEventHub = new Azure.EventHub.EventHub(\"example\", new()\n    {\n        Name = \"example-eventhub\",\n        NamespaceName = exampleEventHubNamespace.Name,\n        ResourceGroupName = exampleResourceGroup.Name,\n        PartitionCount = 2,\n        MessageRetention = 1,\n    });\n\n    var exampleOutputEventHub = new Azure.StreamAnalytics.OutputEventHub(\"example\", new()\n    {\n        Name = \"output-to-eventhub\",\n        StreamAnalyticsJobName = example.Apply(getJobResult =\u003e getJobResult.Name),\n        ResourceGroupName = example.Apply(getJobResult =\u003e getJobResult.ResourceGroupName),\n        EventhubName = exampleEventHub.Name,\n        ServicebusNamespace = exampleEventHubNamespace.Name,\n        SharedAccessPolicyKey = exampleEventHubNamespace.DefaultPrimaryKey,\n        SharedAccessPolicyName = \"RootManageSharedAccessKey\",\n        Serialization = new Azure.StreamAnalytics.Inputs.OutputEventHubSerializationArgs\n        {\n            Type = \"Avro\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/eventhub\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/streamanalytics\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"rg-example\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample := streamanalytics.LookupJobOutput(ctx, streamanalytics.GetJobOutputArgs{\n\t\t\tName:              pulumi.String(\"example-job\"),\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t}, nil)\n\t\texampleEventHubNamespace, err := eventhub.NewEventHubNamespace(ctx, \"example\", \u0026eventhub.EventHubNamespaceArgs{\n\t\t\tName:              pulumi.String(\"example-ehnamespace\"),\n\t\t\tLocation:          exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tSku:               pulumi.String(\"Standard\"),\n\t\t\tCapacity:          pulumi.Int(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleEventHub, err := eventhub.NewEventHub(ctx, \"example\", \u0026eventhub.EventHubArgs{\n\t\t\tName:              pulumi.String(\"example-eventhub\"),\n\t\t\tNamespaceName:     exampleEventHubNamespace.Name,\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tPartitionCount:    pulumi.Int(2),\n\t\t\tMessageRetention:  pulumi.Int(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = streamanalytics.NewOutputEventHub(ctx, \"example\", \u0026streamanalytics.OutputEventHubArgs{\n\t\t\tName: pulumi.String(\"output-to-eventhub\"),\n\t\t\tStreamAnalyticsJobName: pulumi.String(example.ApplyT(func(example streamanalytics.GetJobResult) (*string, error) {\n\t\t\t\treturn \u0026example.Name, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tResourceGroupName: pulumi.String(example.ApplyT(func(example streamanalytics.GetJobResult) (*string, error) {\n\t\t\t\treturn \u0026example.ResourceGroupName, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tEventhubName:           exampleEventHub.Name,\n\t\t\tServicebusNamespace:    exampleEventHubNamespace.Name,\n\t\t\tSharedAccessPolicyKey:  exampleEventHubNamespace.DefaultPrimaryKey,\n\t\t\tSharedAccessPolicyName: pulumi.String(\"RootManageSharedAccessKey\"),\n\t\t\tSerialization: \u0026streamanalytics.OutputEventHubSerializationArgs{\n\t\t\t\tType: pulumi.String(\"Avro\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.streamanalytics.StreamanalyticsFunctions;\nimport com.pulumi.azure.streamanalytics.inputs.GetJobArgs;\nimport com.pulumi.azure.eventhub.EventHubNamespace;\nimport com.pulumi.azure.eventhub.EventHubNamespaceArgs;\nimport com.pulumi.azure.eventhub.EventHub;\nimport com.pulumi.azure.eventhub.EventHubArgs;\nimport com.pulumi.azure.streamanalytics.OutputEventHub;\nimport com.pulumi.azure.streamanalytics.OutputEventHubArgs;\nimport com.pulumi.azure.streamanalytics.inputs.OutputEventHubSerializationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var exampleResourceGroup = new ResourceGroup(\"exampleResourceGroup\", ResourceGroupArgs.builder()\n            .name(\"rg-example\")\n            .location(\"West Europe\")\n            .build());\n\n        final var example = StreamanalyticsFunctions.getJob(GetJobArgs.builder()\n            .name(\"example-job\")\n            .resourceGroupName(exampleResourceGroup.name())\n            .build());\n\n        var exampleEventHubNamespace = new EventHubNamespace(\"exampleEventHubNamespace\", EventHubNamespaceArgs.builder()\n            .name(\"example-ehnamespace\")\n            .location(exampleResourceGroup.location())\n            .resourceGroupName(exampleResourceGroup.name())\n            .sku(\"Standard\")\n            .capacity(1)\n            .build());\n\n        var exampleEventHub = new EventHub(\"exampleEventHub\", EventHubArgs.builder()\n            .name(\"example-eventhub\")\n            .namespaceName(exampleEventHubNamespace.name())\n            .resourceGroupName(exampleResourceGroup.name())\n            .partitionCount(2)\n            .messageRetention(1)\n            .build());\n\n        var exampleOutputEventHub = new OutputEventHub(\"exampleOutputEventHub\", OutputEventHubArgs.builder()\n            .name(\"output-to-eventhub\")\n            .streamAnalyticsJobName(example.applyValue(_example -\u003e _example.name()))\n            .resourceGroupName(example.applyValue(_example -\u003e _example.resourceGroupName()))\n            .eventhubName(exampleEventHub.name())\n            .servicebusNamespace(exampleEventHubNamespace.name())\n            .sharedAccessPolicyKey(exampleEventHubNamespace.defaultPrimaryKey())\n            .sharedAccessPolicyName(\"RootManageSharedAccessKey\")\n            .serialization(OutputEventHubSerializationArgs.builder()\n                .type(\"Avro\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleResourceGroup:\n    type: azure:core:ResourceGroup\n    name: example\n    properties:\n      name: rg-example\n      location: West Europe\n  exampleEventHubNamespace:\n    type: azure:eventhub:EventHubNamespace\n    name: example\n    properties:\n      name: example-ehnamespace\n      location: ${exampleResourceGroup.location}\n      resourceGroupName: ${exampleResourceGroup.name}\n      sku: Standard\n      capacity: 1\n  exampleEventHub:\n    type: azure:eventhub:EventHub\n    name: example\n    properties:\n      name: example-eventhub\n      namespaceName: ${exampleEventHubNamespace.name}\n      resourceGroupName: ${exampleResourceGroup.name}\n      partitionCount: 2\n      messageRetention: 1\n  exampleOutputEventHub:\n    type: azure:streamanalytics:OutputEventHub\n    name: example\n    properties:\n      name: output-to-eventhub\n      streamAnalyticsJobName: ${example.name}\n      resourceGroupName: ${example.resourceGroupName}\n      eventhubName: ${exampleEventHub.name}\n      servicebusNamespace: ${exampleEventHubNamespace.name}\n      sharedAccessPolicyKey: ${exampleEventHubNamespace.defaultPrimaryKey}\n      sharedAccessPolicyName: RootManageSharedAccessKey\n      serialization:\n        type: Avro\nvariables:\n  example:\n    fn::invoke:\n      function: azure:streamanalytics:getJob\n      arguments:\n        name: example-job\n        resourceGroupName: ${exampleResourceGroup.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.StreamAnalytics` - 2021-10-01-preview\n\n## Import\n\nStream Analytics Outputs to an EventHub can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:streamanalytics/outputEventHub:OutputEventHub example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.StreamAnalytics/streamingJobs/job1/outputs/output1\n```\n\n","properties":{"authenticationMode":{"type":"string","description":"The authentication mode for the Stream Output. Possible values are `Msi` and `ConnectionString`. Defaults to `ConnectionString`.\n"},"eventhubName":{"type":"string","description":"The name of the Event Hub.\n"},"name":{"type":"string","description":"The name of the Stream Output. Changing this forces a new resource to be created.\n"},"partitionKey":{"type":"string","description":"The column that is used for the Event Hub partition key.\n"},"propertyColumns":{"type":"array","items":{"type":"string"},"description":"A list of property columns to add to the Event Hub output.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Stream Analytics Job exists. Changing this forces a new resource to be created.\n"},"serialization":{"$ref":"#/types/azure:streamanalytics/OutputEventHubSerialization:OutputEventHubSerialization","description":"A \u003cspan pulumi-lang-nodejs=\"`serialization`\" pulumi-lang-dotnet=\"`Serialization`\" pulumi-lang-go=\"`serialization`\" pulumi-lang-python=\"`serialization`\" pulumi-lang-yaml=\"`serialization`\" pulumi-lang-java=\"`serialization`\"\u003e`serialization`\u003c/span\u003e block as defined below.\n"},"servicebusNamespace":{"type":"string","description":"The namespace that is associated with the desired Event Hub, Service Bus Queue, Service Bus Topic, etc.\n"},"sharedAccessPolicyKey":{"type":"string","description":"The shared access policy key for the specified shared access policy. Required when \u003cspan pulumi-lang-nodejs=\"`authenticationMode`\" pulumi-lang-dotnet=\"`AuthenticationMode`\" pulumi-lang-go=\"`authenticationMode`\" pulumi-lang-python=\"`authentication_mode`\" pulumi-lang-yaml=\"`authenticationMode`\" pulumi-lang-java=\"`authenticationMode`\"\u003e`authentication_mode`\u003c/span\u003e is set to `ConnectionString`.\n","secret":true},"sharedAccessPolicyName":{"type":"string","description":"The shared access policy name for the Event Hub, Service Bus Queue, Service Bus Topic, etc. Required when \u003cspan pulumi-lang-nodejs=\"`authenticationMode`\" pulumi-lang-dotnet=\"`AuthenticationMode`\" pulumi-lang-go=\"`authenticationMode`\" pulumi-lang-python=\"`authentication_mode`\" pulumi-lang-yaml=\"`authenticationMode`\" pulumi-lang-java=\"`authenticationMode`\"\u003e`authentication_mode`\u003c/span\u003e is set to `ConnectionString`.\n"},"streamAnalyticsJobName":{"type":"string","description":"The name of the Stream Analytics Job. Changing this forces a new resource to be created.\n"}},"required":["eventhubName","name","resourceGroupName","serialization","servicebusNamespace","streamAnalyticsJobName"],"inputProperties":{"authenticationMode":{"type":"string","description":"The authentication mode for the Stream Output. Possible values are `Msi` and `ConnectionString`. Defaults to `ConnectionString`.\n"},"eventhubName":{"type":"string","description":"The name of the Event Hub.\n"},"name":{"type":"string","description":"The name of the Stream Output. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"partitionKey":{"type":"string","description":"The column that is used for the Event Hub partition key.\n"},"propertyColumns":{"type":"array","items":{"type":"string"},"description":"A list of property columns to add to the Event Hub output.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Stream Analytics Job exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"serialization":{"$ref":"#/types/azure:streamanalytics/OutputEventHubSerialization:OutputEventHubSerialization","description":"A \u003cspan pulumi-lang-nodejs=\"`serialization`\" pulumi-lang-dotnet=\"`Serialization`\" pulumi-lang-go=\"`serialization`\" pulumi-lang-python=\"`serialization`\" pulumi-lang-yaml=\"`serialization`\" pulumi-lang-java=\"`serialization`\"\u003e`serialization`\u003c/span\u003e block as defined below.\n"},"servicebusNamespace":{"type":"string","description":"The namespace that is associated with the desired Event Hub, Service Bus Queue, Service Bus Topic, etc.\n"},"sharedAccessPolicyKey":{"type":"string","description":"The shared access policy key for the specified shared access policy. Required when \u003cspan pulumi-lang-nodejs=\"`authenticationMode`\" pulumi-lang-dotnet=\"`AuthenticationMode`\" pulumi-lang-go=\"`authenticationMode`\" pulumi-lang-python=\"`authentication_mode`\" pulumi-lang-yaml=\"`authenticationMode`\" pulumi-lang-java=\"`authenticationMode`\"\u003e`authentication_mode`\u003c/span\u003e is set to `ConnectionString`.\n","secret":true},"sharedAccessPolicyName":{"type":"string","description":"The shared access policy name for the Event Hub, Service Bus Queue, Service Bus Topic, etc. Required when \u003cspan pulumi-lang-nodejs=\"`authenticationMode`\" pulumi-lang-dotnet=\"`AuthenticationMode`\" pulumi-lang-go=\"`authenticationMode`\" pulumi-lang-python=\"`authentication_mode`\" pulumi-lang-yaml=\"`authenticationMode`\" pulumi-lang-java=\"`authenticationMode`\"\u003e`authentication_mode`\u003c/span\u003e is set to `ConnectionString`.\n"},"streamAnalyticsJobName":{"type":"string","description":"The name of the Stream Analytics Job. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["eventhubName","resourceGroupName","serialization","servicebusNamespace","streamAnalyticsJobName"],"stateInputs":{"description":"Input properties used for looking up and filtering OutputEventHub resources.\n","properties":{"authenticationMode":{"type":"string","description":"The authentication mode for the Stream Output. Possible values are `Msi` and `ConnectionString`. Defaults to `ConnectionString`.\n"},"eventhubName":{"type":"string","description":"The name of the Event Hub.\n"},"name":{"type":"string","description":"The name of the Stream Output. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"partitionKey":{"type":"string","description":"The column that is used for the Event Hub partition key.\n"},"propertyColumns":{"type":"array","items":{"type":"string"},"description":"A list of property columns to add to the Event Hub output.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Stream Analytics Job exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"serialization":{"$ref":"#/types/azure:streamanalytics/OutputEventHubSerialization:OutputEventHubSerialization","description":"A \u003cspan pulumi-lang-nodejs=\"`serialization`\" pulumi-lang-dotnet=\"`Serialization`\" pulumi-lang-go=\"`serialization`\" pulumi-lang-python=\"`serialization`\" pulumi-lang-yaml=\"`serialization`\" pulumi-lang-java=\"`serialization`\"\u003e`serialization`\u003c/span\u003e block as defined below.\n"},"servicebusNamespace":{"type":"string","description":"The namespace that is associated with the desired Event Hub, Service Bus Queue, Service Bus Topic, etc.\n"},"sharedAccessPolicyKey":{"type":"string","description":"The shared access policy key for the specified shared access policy. Required when \u003cspan pulumi-lang-nodejs=\"`authenticationMode`\" pulumi-lang-dotnet=\"`AuthenticationMode`\" pulumi-lang-go=\"`authenticationMode`\" pulumi-lang-python=\"`authentication_mode`\" pulumi-lang-yaml=\"`authenticationMode`\" pulumi-lang-java=\"`authenticationMode`\"\u003e`authentication_mode`\u003c/span\u003e is set to `ConnectionString`.\n","secret":true},"sharedAccessPolicyName":{"type":"string","description":"The shared access policy name for the Event Hub, Service Bus Queue, Service Bus Topic, etc. Required when \u003cspan pulumi-lang-nodejs=\"`authenticationMode`\" pulumi-lang-dotnet=\"`AuthenticationMode`\" pulumi-lang-go=\"`authenticationMode`\" pulumi-lang-python=\"`authentication_mode`\" pulumi-lang-yaml=\"`authenticationMode`\" pulumi-lang-java=\"`authenticationMode`\"\u003e`authentication_mode`\u003c/span\u003e is set to `ConnectionString`.\n"},"streamAnalyticsJobName":{"type":"string","description":"The name of the Stream Analytics Job. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:streamanalytics/outputFunction:OutputFunction":{"description":"Manages a Stream Analytics Output Function.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleAccount = new azure.storage.Account(\"example\", {\n    name: \"examplestorageaccount\",\n    resourceGroupName: example.name,\n    location: example.location,\n    accountTier: \"Standard\",\n    accountReplicationType: \"LRS\",\n});\nconst examplePlan = new azure.appservice.Plan(\"example\", {\n    name: \"exampleappserviceplan\",\n    location: example.location,\n    resourceGroupName: example.name,\n    kind: \"FunctionApp\",\n    reserved: true,\n    sku: {\n        tier: \"Dynamic\",\n        size: \"Y1\",\n    },\n});\nconst exampleFunctionApp = new azure.appservice.FunctionApp(\"example\", {\n    name: \"examplefunctionapp\",\n    location: example.location,\n    resourceGroupName: example.name,\n    appServicePlanId: examplePlan.id,\n    storageAccountName: exampleAccount.name,\n    storageAccountAccessKey: exampleAccount.primaryAccessKey,\n    osType: \"linux\",\n    version: \"~3\",\n});\nconst exampleJob = new azure.streamanalytics.Job(\"example\", {\n    name: \"examplestreamanalyticsjob\",\n    resourceGroupName: example.name,\n    location: example.location,\n    streamingUnits: 3,\n    transformationQuery: `    SELECT *\n    INTO [YourOutputAlias]\n    FROM [YourInputAlias]\n`,\n});\nconst exampleOutputFunction = new azure.streamanalytics.OutputFunction(\"example\", {\n    name: \"exampleoutput\",\n    resourceGroupName: exampleJob.resourceGroupName,\n    streamAnalyticsJobName: exampleJob.name,\n    functionApp: exampleFunctionApp.name,\n    functionName: \"examplefunctionname\",\n    apiKey: \"exampleapikey\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_account = azure.storage.Account(\"example\",\n    name=\"examplestorageaccount\",\n    resource_group_name=example.name,\n    location=example.location,\n    account_tier=\"Standard\",\n    account_replication_type=\"LRS\")\nexample_plan = azure.appservice.Plan(\"example\",\n    name=\"exampleappserviceplan\",\n    location=example.location,\n    resource_group_name=example.name,\n    kind=\"FunctionApp\",\n    reserved=True,\n    sku={\n        \"tier\": \"Dynamic\",\n        \"size\": \"Y1\",\n    })\nexample_function_app = azure.appservice.FunctionApp(\"example\",\n    name=\"examplefunctionapp\",\n    location=example.location,\n    resource_group_name=example.name,\n    app_service_plan_id=example_plan.id,\n    storage_account_name=example_account.name,\n    storage_account_access_key=example_account.primary_access_key,\n    os_type=\"linux\",\n    version=\"~3\")\nexample_job = azure.streamanalytics.Job(\"example\",\n    name=\"examplestreamanalyticsjob\",\n    resource_group_name=example.name,\n    location=example.location,\n    streaming_units=3,\n    transformation_query=\"\"\"    SELECT *\n    INTO [YourOutputAlias]\n    FROM [YourInputAlias]\n\"\"\")\nexample_output_function = azure.streamanalytics.OutputFunction(\"example\",\n    name=\"exampleoutput\",\n    resource_group_name=example_job.resource_group_name,\n    stream_analytics_job_name=example_job.name,\n    function_app=example_function_app.name,\n    function_name=\"examplefunctionname\",\n    api_key=\"exampleapikey\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleAccount = new Azure.Storage.Account(\"example\", new()\n    {\n        Name = \"examplestorageaccount\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        AccountTier = \"Standard\",\n        AccountReplicationType = \"LRS\",\n    });\n\n    var examplePlan = new Azure.AppService.Plan(\"example\", new()\n    {\n        Name = \"exampleappserviceplan\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Kind = \"FunctionApp\",\n        Reserved = true,\n        Sku = new Azure.AppService.Inputs.PlanSkuArgs\n        {\n            Tier = \"Dynamic\",\n            Size = \"Y1\",\n        },\n    });\n\n    var exampleFunctionApp = new Azure.AppService.FunctionApp(\"example\", new()\n    {\n        Name = \"examplefunctionapp\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        AppServicePlanId = examplePlan.Id,\n        StorageAccountName = exampleAccount.Name,\n        StorageAccountAccessKey = exampleAccount.PrimaryAccessKey,\n        OsType = \"linux\",\n        Version = \"~3\",\n    });\n\n    var exampleJob = new Azure.StreamAnalytics.Job(\"example\", new()\n    {\n        Name = \"examplestreamanalyticsjob\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        StreamingUnits = 3,\n        TransformationQuery = @\"    SELECT *\n    INTO [YourOutputAlias]\n    FROM [YourInputAlias]\n\",\n    });\n\n    var exampleOutputFunction = new Azure.StreamAnalytics.OutputFunction(\"example\", new()\n    {\n        Name = \"exampleoutput\",\n        ResourceGroupName = exampleJob.ResourceGroupName,\n        StreamAnalyticsJobName = exampleJob.Name,\n        FunctionApp = exampleFunctionApp.Name,\n        FunctionName = \"examplefunctionname\",\n        ApiKey = \"exampleapikey\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/appservice\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/streamanalytics\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := storage.NewAccount(ctx, \"example\", \u0026storage.AccountArgs{\n\t\t\tName:                   pulumi.String(\"examplestorageaccount\"),\n\t\t\tResourceGroupName:      example.Name,\n\t\t\tLocation:               example.Location,\n\t\t\tAccountTier:            pulumi.String(\"Standard\"),\n\t\t\tAccountReplicationType: pulumi.String(\"LRS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texamplePlan, err := appservice.NewPlan(ctx, \"example\", \u0026appservice.PlanArgs{\n\t\t\tName:              pulumi.String(\"exampleappserviceplan\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tKind:              pulumi.Any(\"FunctionApp\"),\n\t\t\tReserved:          pulumi.Bool(true),\n\t\t\tSku: \u0026appservice.PlanSkuArgs{\n\t\t\t\tTier: pulumi.String(\"Dynamic\"),\n\t\t\t\tSize: pulumi.String(\"Y1\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleFunctionApp, err := appservice.NewFunctionApp(ctx, \"example\", \u0026appservice.FunctionAppArgs{\n\t\t\tName:                    pulumi.String(\"examplefunctionapp\"),\n\t\t\tLocation:                example.Location,\n\t\t\tResourceGroupName:       example.Name,\n\t\t\tAppServicePlanId:        examplePlan.ID(),\n\t\t\tStorageAccountName:      exampleAccount.Name,\n\t\t\tStorageAccountAccessKey: exampleAccount.PrimaryAccessKey,\n\t\t\tOsType:                  pulumi.String(\"linux\"),\n\t\t\tVersion:                 pulumi.String(\"~3\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleJob, err := streamanalytics.NewJob(ctx, \"example\", \u0026streamanalytics.JobArgs{\n\t\t\tName:                pulumi.String(\"examplestreamanalyticsjob\"),\n\t\t\tResourceGroupName:   example.Name,\n\t\t\tLocation:            example.Location,\n\t\t\tStreamingUnits:      pulumi.Int(3),\n\t\t\tTransformationQuery: pulumi.String(\"    SELECT *\\n    INTO [YourOutputAlias]\\n    FROM [YourInputAlias]\\n\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = streamanalytics.NewOutputFunction(ctx, \"example\", \u0026streamanalytics.OutputFunctionArgs{\n\t\t\tName:                   pulumi.String(\"exampleoutput\"),\n\t\t\tResourceGroupName:      exampleJob.ResourceGroupName,\n\t\t\tStreamAnalyticsJobName: exampleJob.Name,\n\t\t\tFunctionApp:            exampleFunctionApp.Name,\n\t\t\tFunctionName:           pulumi.String(\"examplefunctionname\"),\n\t\t\tApiKey:                 pulumi.String(\"exampleapikey\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.storage.Account;\nimport com.pulumi.azure.storage.AccountArgs;\nimport com.pulumi.azure.appservice.Plan;\nimport com.pulumi.azure.appservice.PlanArgs;\nimport com.pulumi.azure.appservice.inputs.PlanSkuArgs;\nimport com.pulumi.azure.appservice.FunctionApp;\nimport com.pulumi.azure.appservice.FunctionAppArgs;\nimport com.pulumi.azure.streamanalytics.Job;\nimport com.pulumi.azure.streamanalytics.JobArgs;\nimport com.pulumi.azure.streamanalytics.OutputFunction;\nimport com.pulumi.azure.streamanalytics.OutputFunctionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"examplestorageaccount\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .accountTier(\"Standard\")\n            .accountReplicationType(\"LRS\")\n            .build());\n\n        var examplePlan = new Plan(\"examplePlan\", PlanArgs.builder()\n            .name(\"exampleappserviceplan\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .kind(\"FunctionApp\")\n            .reserved(true)\n            .sku(PlanSkuArgs.builder()\n                .tier(\"Dynamic\")\n                .size(\"Y1\")\n                .build())\n            .build());\n\n        var exampleFunctionApp = new FunctionApp(\"exampleFunctionApp\", FunctionAppArgs.builder()\n            .name(\"examplefunctionapp\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .appServicePlanId(examplePlan.id())\n            .storageAccountName(exampleAccount.name())\n            .storageAccountAccessKey(exampleAccount.primaryAccessKey())\n            .osType(\"linux\")\n            .version(\"~3\")\n            .build());\n\n        var exampleJob = new Job(\"exampleJob\", JobArgs.builder()\n            .name(\"examplestreamanalyticsjob\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .streamingUnits(3)\n            .transformationQuery(\"\"\"\n    SELECT *\n    INTO [YourOutputAlias]\n    FROM [YourInputAlias]\n            \"\"\")\n            .build());\n\n        var exampleOutputFunction = new OutputFunction(\"exampleOutputFunction\", OutputFunctionArgs.builder()\n            .name(\"exampleoutput\")\n            .resourceGroupName(exampleJob.resourceGroupName())\n            .streamAnalyticsJobName(exampleJob.name())\n            .functionApp(exampleFunctionApp.name())\n            .functionName(\"examplefunctionname\")\n            .apiKey(\"exampleapikey\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleAccount:\n    type: azure:storage:Account\n    name: example\n    properties:\n      name: examplestorageaccount\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      accountTier: Standard\n      accountReplicationType: LRS\n  examplePlan:\n    type: azure:appservice:Plan\n    name: example\n    properties:\n      name: exampleappserviceplan\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      kind: FunctionApp\n      reserved: true\n      sku:\n        tier: Dynamic\n        size: Y1\n  exampleFunctionApp:\n    type: azure:appservice:FunctionApp\n    name: example\n    properties:\n      name: examplefunctionapp\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      appServicePlanId: ${examplePlan.id}\n      storageAccountName: ${exampleAccount.name}\n      storageAccountAccessKey: ${exampleAccount.primaryAccessKey}\n      osType: linux\n      version: ~3\n  exampleJob:\n    type: azure:streamanalytics:Job\n    name: example\n    properties:\n      name: examplestreamanalyticsjob\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      streamingUnits: 3\n      transformationQuery: |2\n            SELECT *\n            INTO [YourOutputAlias]\n            FROM [YourInputAlias]\n  exampleOutputFunction:\n    type: azure:streamanalytics:OutputFunction\n    name: example\n    properties:\n      name: exampleoutput\n      resourceGroupName: ${exampleJob.resourceGroupName}\n      streamAnalyticsJobName: ${exampleJob.name}\n      functionApp: ${exampleFunctionApp.name}\n      functionName: examplefunctionname\n      apiKey: exampleapikey\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.StreamAnalytics` - 2021-10-01-preview\n\n## Import\n\nStream Analytics Output Functions can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:streamanalytics/outputFunction:OutputFunction example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.StreamAnalytics/streamingJobs/job1/outputs/output1\n```\n\n","properties":{"apiKey":{"type":"string","description":"The API key for the Function.\n","secret":true},"batchMaxCount":{"type":"integer","description":"The maximum number of events in each batch that's sent to the function. Defaults to \u003cspan pulumi-lang-nodejs=\"`100`\" pulumi-lang-dotnet=\"`100`\" pulumi-lang-go=\"`100`\" pulumi-lang-python=\"`100`\" pulumi-lang-yaml=\"`100`\" pulumi-lang-java=\"`100`\"\u003e`100`\u003c/span\u003e.\n"},"batchMaxInBytes":{"type":"integer","description":"The maximum batch size in bytes that's sent to the function. Defaults to \u003cspan pulumi-lang-nodejs=\"`262144`\" pulumi-lang-dotnet=\"`262144`\" pulumi-lang-go=\"`262144`\" pulumi-lang-python=\"`262144`\" pulumi-lang-yaml=\"`262144`\" pulumi-lang-java=\"`262144`\"\u003e`262144`\u003c/span\u003e (256 kB).\n"},"functionApp":{"type":"string","description":"The name of the Function App.\n"},"functionName":{"type":"string","description":"The name of the function in the Function App.\n"},"name":{"type":"string","description":"The name which should be used for this Stream Analytics Output. Changing this forces a new resource to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Stream Analytics Output should exist. Changing this forces a new resource to be created.\n"},"streamAnalyticsJobName":{"type":"string","description":"The name of the Stream Analytics Job. Changing this forces a new resource to be created.\n"}},"required":["apiKey","functionApp","functionName","name","resourceGroupName","streamAnalyticsJobName"],"inputProperties":{"apiKey":{"type":"string","description":"The API key for the Function.\n","secret":true},"batchMaxCount":{"type":"integer","description":"The maximum number of events in each batch that's sent to the function. Defaults to \u003cspan pulumi-lang-nodejs=\"`100`\" pulumi-lang-dotnet=\"`100`\" pulumi-lang-go=\"`100`\" pulumi-lang-python=\"`100`\" pulumi-lang-yaml=\"`100`\" pulumi-lang-java=\"`100`\"\u003e`100`\u003c/span\u003e.\n"},"batchMaxInBytes":{"type":"integer","description":"The maximum batch size in bytes that's sent to the function. Defaults to \u003cspan pulumi-lang-nodejs=\"`262144`\" pulumi-lang-dotnet=\"`262144`\" pulumi-lang-go=\"`262144`\" pulumi-lang-python=\"`262144`\" pulumi-lang-yaml=\"`262144`\" pulumi-lang-java=\"`262144`\"\u003e`262144`\u003c/span\u003e (256 kB).\n"},"functionApp":{"type":"string","description":"The name of the Function App.\n"},"functionName":{"type":"string","description":"The name of the function in the Function App.\n"},"name":{"type":"string","description":"The name which should be used for this Stream Analytics Output. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Stream Analytics Output should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"streamAnalyticsJobName":{"type":"string","description":"The name of the Stream Analytics Job. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["apiKey","functionApp","functionName","resourceGroupName","streamAnalyticsJobName"],"stateInputs":{"description":"Input properties used for looking up and filtering OutputFunction resources.\n","properties":{"apiKey":{"type":"string","description":"The API key for the Function.\n","secret":true},"batchMaxCount":{"type":"integer","description":"The maximum number of events in each batch that's sent to the function. Defaults to \u003cspan pulumi-lang-nodejs=\"`100`\" pulumi-lang-dotnet=\"`100`\" pulumi-lang-go=\"`100`\" pulumi-lang-python=\"`100`\" pulumi-lang-yaml=\"`100`\" pulumi-lang-java=\"`100`\"\u003e`100`\u003c/span\u003e.\n"},"batchMaxInBytes":{"type":"integer","description":"The maximum batch size in bytes that's sent to the function. Defaults to \u003cspan pulumi-lang-nodejs=\"`262144`\" pulumi-lang-dotnet=\"`262144`\" pulumi-lang-go=\"`262144`\" pulumi-lang-python=\"`262144`\" pulumi-lang-yaml=\"`262144`\" pulumi-lang-java=\"`262144`\"\u003e`262144`\u003c/span\u003e (256 kB).\n"},"functionApp":{"type":"string","description":"The name of the Function App.\n"},"functionName":{"type":"string","description":"The name of the function in the Function App.\n"},"name":{"type":"string","description":"The name which should be used for this Stream Analytics Output. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Stream Analytics Output should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"streamAnalyticsJobName":{"type":"string","description":"The name of the Stream Analytics Job. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:streamanalytics/outputMssql:OutputMssql":{"description":"Manages a Stream Analytics Output to Microsoft SQL Server Database.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"example\", {\n    name: \"rg-example\",\n    location: \"West Europe\",\n});\nconst example = azure.streamanalytics.getJobOutput({\n    name: \"example-job\",\n    resourceGroupName: exampleResourceGroup.name,\n});\nconst exampleServer = new azure.mssql.Server(\"example\", {\n    name: \"example-server\",\n    resourceGroupName: exampleResourceGroup.name,\n    location: exampleResourceGroup.location,\n    version: \"12.0\",\n    administratorLogin: \"dbadmin\",\n    administratorLoginPassword: \"example-password\",\n});\nconst exampleDatabase = new azure.mssql.Database(\"example\", {\n    name: \"exampledb\",\n    serverId: test.id,\n});\nconst exampleOutputMssql = new azure.streamanalytics.OutputMssql(\"example\", {\n    name: \"example-output-sql\",\n    streamAnalyticsJobName: example.apply(example =\u003e example.name),\n    resourceGroupName: example.apply(example =\u003e example.resourceGroupName),\n    server: exampleServer.fullyQualifiedDomainName,\n    user: exampleServer.administratorLogin,\n    password: exampleServer.administratorLoginPassword,\n    database: exampleDatabase.name,\n    table: \"ExampleTable\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"example\",\n    name=\"rg-example\",\n    location=\"West Europe\")\nexample = azure.streamanalytics.get_job_output(name=\"example-job\",\n    resource_group_name=example_resource_group.name)\nexample_server = azure.mssql.Server(\"example\",\n    name=\"example-server\",\n    resource_group_name=example_resource_group.name,\n    location=example_resource_group.location,\n    version=\"12.0\",\n    administrator_login=\"dbadmin\",\n    administrator_login_password=\"example-password\")\nexample_database = azure.mssql.Database(\"example\",\n    name=\"exampledb\",\n    server_id=test[\"id\"])\nexample_output_mssql = azure.streamanalytics.OutputMssql(\"example\",\n    name=\"example-output-sql\",\n    stream_analytics_job_name=example.name,\n    resource_group_name=example.resource_group_name,\n    server=example_server.fully_qualified_domain_name,\n    user=example_server.administrator_login,\n    password=example_server.administrator_login_password,\n    database=example_database.name,\n    table=\"ExampleTable\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleResourceGroup = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"rg-example\",\n        Location = \"West Europe\",\n    });\n\n    var example = Azure.StreamAnalytics.GetJob.Invoke(new()\n    {\n        Name = \"example-job\",\n        ResourceGroupName = exampleResourceGroup.Name,\n    });\n\n    var exampleServer = new Azure.MSSql.Server(\"example\", new()\n    {\n        Name = \"example-server\",\n        ResourceGroupName = exampleResourceGroup.Name,\n        Location = exampleResourceGroup.Location,\n        Version = \"12.0\",\n        AdministratorLogin = \"dbadmin\",\n        AdministratorLoginPassword = \"example-password\",\n    });\n\n    var exampleDatabase = new Azure.MSSql.Database(\"example\", new()\n    {\n        Name = \"exampledb\",\n        ServerId = test.Id,\n    });\n\n    var exampleOutputMssql = new Azure.StreamAnalytics.OutputMssql(\"example\", new()\n    {\n        Name = \"example-output-sql\",\n        StreamAnalyticsJobName = example.Apply(getJobResult =\u003e getJobResult.Name),\n        ResourceGroupName = example.Apply(getJobResult =\u003e getJobResult.ResourceGroupName),\n        Server = exampleServer.FullyQualifiedDomainName,\n        User = exampleServer.AdministratorLogin,\n        Password = exampleServer.AdministratorLoginPassword,\n        Database = exampleDatabase.Name,\n        Table = \"ExampleTable\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/mssql\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/streamanalytics\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"rg-example\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample := streamanalytics.LookupJobOutput(ctx, streamanalytics.GetJobOutputArgs{\n\t\t\tName:              pulumi.String(\"example-job\"),\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t}, nil)\n\t\texampleServer, err := mssql.NewServer(ctx, \"example\", \u0026mssql.ServerArgs{\n\t\t\tName:                       pulumi.String(\"example-server\"),\n\t\t\tResourceGroupName:          exampleResourceGroup.Name,\n\t\t\tLocation:                   exampleResourceGroup.Location,\n\t\t\tVersion:                    pulumi.String(\"12.0\"),\n\t\t\tAdministratorLogin:         pulumi.String(\"dbadmin\"),\n\t\t\tAdministratorLoginPassword: pulumi.String(\"example-password\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleDatabase, err := mssql.NewDatabase(ctx, \"example\", \u0026mssql.DatabaseArgs{\n\t\t\tName:     pulumi.String(\"exampledb\"),\n\t\t\tServerId: pulumi.Any(test.Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = streamanalytics.NewOutputMssql(ctx, \"example\", \u0026streamanalytics.OutputMssqlArgs{\n\t\t\tName: pulumi.String(\"example-output-sql\"),\n\t\t\tStreamAnalyticsJobName: pulumi.String(example.ApplyT(func(example streamanalytics.GetJobResult) (*string, error) {\n\t\t\t\treturn \u0026example.Name, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tResourceGroupName: pulumi.String(example.ApplyT(func(example streamanalytics.GetJobResult) (*string, error) {\n\t\t\t\treturn \u0026example.ResourceGroupName, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tServer:   exampleServer.FullyQualifiedDomainName,\n\t\t\tUser:     exampleServer.AdministratorLogin,\n\t\t\tPassword: exampleServer.AdministratorLoginPassword,\n\t\t\tDatabase: exampleDatabase.Name,\n\t\t\tTable:    pulumi.String(\"ExampleTable\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.streamanalytics.StreamanalyticsFunctions;\nimport com.pulumi.azure.streamanalytics.inputs.GetJobArgs;\nimport com.pulumi.azure.mssql.Server;\nimport com.pulumi.azure.mssql.ServerArgs;\nimport com.pulumi.azure.mssql.Database;\nimport com.pulumi.azure.mssql.DatabaseArgs;\nimport com.pulumi.azure.streamanalytics.OutputMssql;\nimport com.pulumi.azure.streamanalytics.OutputMssqlArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var exampleResourceGroup = new ResourceGroup(\"exampleResourceGroup\", ResourceGroupArgs.builder()\n            .name(\"rg-example\")\n            .location(\"West Europe\")\n            .build());\n\n        final var example = StreamanalyticsFunctions.getJob(GetJobArgs.builder()\n            .name(\"example-job\")\n            .resourceGroupName(exampleResourceGroup.name())\n            .build());\n\n        var exampleServer = new Server(\"exampleServer\", ServerArgs.builder()\n            .name(\"example-server\")\n            .resourceGroupName(exampleResourceGroup.name())\n            .location(exampleResourceGroup.location())\n            .version(\"12.0\")\n            .administratorLogin(\"dbadmin\")\n            .administratorLoginPassword(\"example-password\")\n            .build());\n\n        var exampleDatabase = new Database(\"exampleDatabase\", DatabaseArgs.builder()\n            .name(\"exampledb\")\n            .serverId(test.id())\n            .build());\n\n        var exampleOutputMssql = new OutputMssql(\"exampleOutputMssql\", OutputMssqlArgs.builder()\n            .name(\"example-output-sql\")\n            .streamAnalyticsJobName(example.applyValue(_example -\u003e _example.name()))\n            .resourceGroupName(example.applyValue(_example -\u003e _example.resourceGroupName()))\n            .server(exampleServer.fullyQualifiedDomainName())\n            .user(exampleServer.administratorLogin())\n            .password(exampleServer.administratorLoginPassword())\n            .database(exampleDatabase.name())\n            .table(\"ExampleTable\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleResourceGroup:\n    type: azure:core:ResourceGroup\n    name: example\n    properties:\n      name: rg-example\n      location: West Europe\n  exampleServer:\n    type: azure:mssql:Server\n    name: example\n    properties:\n      name: example-server\n      resourceGroupName: ${exampleResourceGroup.name}\n      location: ${exampleResourceGroup.location}\n      version: '12.0'\n      administratorLogin: dbadmin\n      administratorLoginPassword: example-password\n  exampleDatabase:\n    type: azure:mssql:Database\n    name: example\n    properties:\n      name: exampledb\n      serverId: ${test.id}\n  exampleOutputMssql:\n    type: azure:streamanalytics:OutputMssql\n    name: example\n    properties:\n      name: example-output-sql\n      streamAnalyticsJobName: ${example.name}\n      resourceGroupName: ${example.resourceGroupName}\n      server: ${exampleServer.fullyQualifiedDomainName}\n      user: ${exampleServer.administratorLogin}\n      password: ${exampleServer.administratorLoginPassword}\n      database: ${exampleDatabase.name}\n      table: ExampleTable\nvariables:\n  example:\n    fn::invoke:\n      function: azure:streamanalytics:getJob\n      arguments:\n        name: example-job\n        resourceGroupName: ${exampleResourceGroup.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.StreamAnalytics` - 2021-10-01-preview\n\n## Import\n\nStream Analytics Outputs to Microsoft SQL Server Database can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:streamanalytics/outputMssql:OutputMssql example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.StreamAnalytics/streamingJobs/job1/outputs/output1\n```\n\n","properties":{"authenticationMode":{"type":"string","description":"The authentication mode for the Stream Output. Possible values are `Msi` and `ConnectionString`. Defaults to `ConnectionString`.\n"},"database":{"type":"string","description":"The MS SQL database name where the reference table exists. Changing this forces a new resource to be created.\n"},"maxBatchCount":{"type":"number","description":"The max batch count to write to the SQL Database. Defaults to \u003cspan pulumi-lang-nodejs=\"`10000`\" pulumi-lang-dotnet=\"`10000`\" pulumi-lang-go=\"`10000`\" pulumi-lang-python=\"`10000`\" pulumi-lang-yaml=\"`10000`\" pulumi-lang-java=\"`10000`\"\u003e`10000`\u003c/span\u003e. Possible values are between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`1073741824`\" pulumi-lang-dotnet=\"`1073741824`\" pulumi-lang-go=\"`1073741824`\" pulumi-lang-python=\"`1073741824`\" pulumi-lang-yaml=\"`1073741824`\" pulumi-lang-java=\"`1073741824`\"\u003e`1073741824`\u003c/span\u003e.\n"},"maxWriterCount":{"type":"number","description":"The max writer count for the SQL Database. Defaults to \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e. Possible values are \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e which bases the writer count on the query partition and \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e which corresponds to a single writer.\n"},"name":{"type":"string","description":"The name of the Stream Output. Changing this forces a new resource to be created.\n"},"password":{"type":"string","description":"Password used together with username, to login to the Microsoft SQL Server. Required if \u003cspan pulumi-lang-nodejs=\"`authenticationMode`\" pulumi-lang-dotnet=\"`AuthenticationMode`\" pulumi-lang-go=\"`authenticationMode`\" pulumi-lang-python=\"`authentication_mode`\" pulumi-lang-yaml=\"`authenticationMode`\" pulumi-lang-java=\"`authenticationMode`\"\u003e`authentication_mode`\u003c/span\u003e is `ConnectionString`.\n","secret":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Stream Analytics Job exists. Changing this forces a new resource to be created.\n"},"server":{"type":"string","description":"The SQL server url. Changing this forces a new resource to be created.\n"},"streamAnalyticsJobName":{"type":"string","description":"The name of the Stream Analytics Job. Changing this forces a new resource to be created.\n"},"table":{"type":"string","description":"Table in the database that the output points to. Changing this forces a new resource to be created.\n"},"user":{"type":"string","description":"Username used to login to the Microsoft SQL Server. Changing this forces a new resource to be created. Required if \u003cspan pulumi-lang-nodejs=\"`authenticationMode`\" pulumi-lang-dotnet=\"`AuthenticationMode`\" pulumi-lang-go=\"`authenticationMode`\" pulumi-lang-python=\"`authentication_mode`\" pulumi-lang-yaml=\"`authenticationMode`\" pulumi-lang-java=\"`authenticationMode`\"\u003e`authentication_mode`\u003c/span\u003e is `ConnectionString`.\n"}},"required":["database","name","resourceGroupName","server","streamAnalyticsJobName","table"],"inputProperties":{"authenticationMode":{"type":"string","description":"The authentication mode for the Stream Output. Possible values are `Msi` and `ConnectionString`. Defaults to `ConnectionString`.\n"},"database":{"type":"string","description":"The MS SQL database name where the reference table exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"maxBatchCount":{"type":"number","description":"The max batch count to write to the SQL Database. Defaults to \u003cspan pulumi-lang-nodejs=\"`10000`\" pulumi-lang-dotnet=\"`10000`\" pulumi-lang-go=\"`10000`\" pulumi-lang-python=\"`10000`\" pulumi-lang-yaml=\"`10000`\" pulumi-lang-java=\"`10000`\"\u003e`10000`\u003c/span\u003e. Possible values are between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`1073741824`\" pulumi-lang-dotnet=\"`1073741824`\" pulumi-lang-go=\"`1073741824`\" pulumi-lang-python=\"`1073741824`\" pulumi-lang-yaml=\"`1073741824`\" pulumi-lang-java=\"`1073741824`\"\u003e`1073741824`\u003c/span\u003e.\n"},"maxWriterCount":{"type":"number","description":"The max writer count for the SQL Database. Defaults to \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e. Possible values are \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e which bases the writer count on the query partition and \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e which corresponds to a single writer.\n"},"name":{"type":"string","description":"The name of the Stream Output. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"password":{"type":"string","description":"Password used together with username, to login to the Microsoft SQL Server. Required if \u003cspan pulumi-lang-nodejs=\"`authenticationMode`\" pulumi-lang-dotnet=\"`AuthenticationMode`\" pulumi-lang-go=\"`authenticationMode`\" pulumi-lang-python=\"`authentication_mode`\" pulumi-lang-yaml=\"`authenticationMode`\" pulumi-lang-java=\"`authenticationMode`\"\u003e`authentication_mode`\u003c/span\u003e is `ConnectionString`.\n","secret":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Stream Analytics Job exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"server":{"type":"string","description":"The SQL server url. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"streamAnalyticsJobName":{"type":"string","description":"The name of the Stream Analytics Job. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"table":{"type":"string","description":"Table in the database that the output points to. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"user":{"type":"string","description":"Username used to login to the Microsoft SQL Server. Changing this forces a new resource to be created. Required if \u003cspan pulumi-lang-nodejs=\"`authenticationMode`\" pulumi-lang-dotnet=\"`AuthenticationMode`\" pulumi-lang-go=\"`authenticationMode`\" pulumi-lang-python=\"`authentication_mode`\" pulumi-lang-yaml=\"`authenticationMode`\" pulumi-lang-java=\"`authenticationMode`\"\u003e`authentication_mode`\u003c/span\u003e is `ConnectionString`.\n","willReplaceOnChanges":true}},"requiredInputs":["database","resourceGroupName","server","streamAnalyticsJobName","table"],"stateInputs":{"description":"Input properties used for looking up and filtering OutputMssql resources.\n","properties":{"authenticationMode":{"type":"string","description":"The authentication mode for the Stream Output. Possible values are `Msi` and `ConnectionString`. Defaults to `ConnectionString`.\n"},"database":{"type":"string","description":"The MS SQL database name where the reference table exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"maxBatchCount":{"type":"number","description":"The max batch count to write to the SQL Database. Defaults to \u003cspan pulumi-lang-nodejs=\"`10000`\" pulumi-lang-dotnet=\"`10000`\" pulumi-lang-go=\"`10000`\" pulumi-lang-python=\"`10000`\" pulumi-lang-yaml=\"`10000`\" pulumi-lang-java=\"`10000`\"\u003e`10000`\u003c/span\u003e. Possible values are between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`1073741824`\" pulumi-lang-dotnet=\"`1073741824`\" pulumi-lang-go=\"`1073741824`\" pulumi-lang-python=\"`1073741824`\" pulumi-lang-yaml=\"`1073741824`\" pulumi-lang-java=\"`1073741824`\"\u003e`1073741824`\u003c/span\u003e.\n"},"maxWriterCount":{"type":"number","description":"The max writer count for the SQL Database. Defaults to \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e. Possible values are \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e which bases the writer count on the query partition and \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e which corresponds to a single writer.\n"},"name":{"type":"string","description":"The name of the Stream Output. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"password":{"type":"string","description":"Password used together with username, to login to the Microsoft SQL Server. Required if \u003cspan pulumi-lang-nodejs=\"`authenticationMode`\" pulumi-lang-dotnet=\"`AuthenticationMode`\" pulumi-lang-go=\"`authenticationMode`\" pulumi-lang-python=\"`authentication_mode`\" pulumi-lang-yaml=\"`authenticationMode`\" pulumi-lang-java=\"`authenticationMode`\"\u003e`authentication_mode`\u003c/span\u003e is `ConnectionString`.\n","secret":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Stream Analytics Job exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"server":{"type":"string","description":"The SQL server url. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"streamAnalyticsJobName":{"type":"string","description":"The name of the Stream Analytics Job. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"table":{"type":"string","description":"Table in the database that the output points to. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"user":{"type":"string","description":"Username used to login to the Microsoft SQL Server. Changing this forces a new resource to be created. Required if \u003cspan pulumi-lang-nodejs=\"`authenticationMode`\" pulumi-lang-dotnet=\"`AuthenticationMode`\" pulumi-lang-go=\"`authenticationMode`\" pulumi-lang-python=\"`authentication_mode`\" pulumi-lang-yaml=\"`authenticationMode`\" pulumi-lang-java=\"`authenticationMode`\"\u003e`authentication_mode`\u003c/span\u003e is `ConnectionString`.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:streamanalytics/outputPowerbi:OutputPowerbi":{"description":"Manages a Stream Analytics Output powerBI.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.core.getResourceGroup({\n    name: \"example-resources\",\n});\nconst exampleGetJob = example.then(example =\u003e azure.streamanalytics.getJob({\n    name: \"example-job\",\n    resourceGroupName: example.name,\n}));\nconst exampleOutputPowerbi = new azure.streamanalytics.OutputPowerbi(\"example\", {\n    name: \"output-to-powerbi\",\n    streamAnalyticsJobId: exampleGetJob.then(exampleGetJob =\u003e exampleGetJob.id),\n    dataset: \"example-dataset\",\n    table: \"example-table\",\n    groupId: \"00000000-0000-0000-0000-000000000000\",\n    groupName: \"some-group-name\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.get_resource_group(name=\"example-resources\")\nexample_get_job = azure.streamanalytics.get_job(name=\"example-job\",\n    resource_group_name=example.name)\nexample_output_powerbi = azure.streamanalytics.OutputPowerbi(\"example\",\n    name=\"output-to-powerbi\",\n    stream_analytics_job_id=example_get_job.id,\n    dataset=\"example-dataset\",\n    table=\"example-table\",\n    group_id=\"00000000-0000-0000-0000-000000000000\",\n    group_name=\"some-group-name\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Core.GetResourceGroup.Invoke(new()\n    {\n        Name = \"example-resources\",\n    });\n\n    var exampleGetJob = Azure.StreamAnalytics.GetJob.Invoke(new()\n    {\n        Name = \"example-job\",\n        ResourceGroupName = example.Apply(getResourceGroupResult =\u003e getResourceGroupResult.Name),\n    });\n\n    var exampleOutputPowerbi = new Azure.StreamAnalytics.OutputPowerbi(\"example\", new()\n    {\n        Name = \"output-to-powerbi\",\n        StreamAnalyticsJobId = exampleGetJob.Apply(getJobResult =\u003e getJobResult.Id),\n        Dataset = \"example-dataset\",\n        Table = \"example-table\",\n        GroupId = \"00000000-0000-0000-0000-000000000000\",\n        GroupName = \"some-group-name\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/streamanalytics\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.LookupResourceGroup(ctx, \u0026core.LookupResourceGroupArgs{\n\t\t\tName: \"example-resources\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleGetJob, err := streamanalytics.LookupJob(ctx, \u0026streamanalytics.LookupJobArgs{\n\t\t\tName:              \"example-job\",\n\t\t\tResourceGroupName: example.Name,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = streamanalytics.NewOutputPowerbi(ctx, \"example\", \u0026streamanalytics.OutputPowerbiArgs{\n\t\t\tName:                 pulumi.String(\"output-to-powerbi\"),\n\t\t\tStreamAnalyticsJobId: pulumi.String(exampleGetJob.Id),\n\t\t\tDataset:              pulumi.String(\"example-dataset\"),\n\t\t\tTable:                pulumi.String(\"example-table\"),\n\t\t\tGroupId:              pulumi.String(\"00000000-0000-0000-0000-000000000000\"),\n\t\t\tGroupName:            pulumi.String(\"some-group-name\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.core.inputs.GetResourceGroupArgs;\nimport com.pulumi.azure.streamanalytics.StreamanalyticsFunctions;\nimport com.pulumi.azure.streamanalytics.inputs.GetJobArgs;\nimport com.pulumi.azure.streamanalytics.OutputPowerbi;\nimport com.pulumi.azure.streamanalytics.OutputPowerbiArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = CoreFunctions.getResourceGroup(GetResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .build());\n\n        final var exampleGetJob = StreamanalyticsFunctions.getJob(GetJobArgs.builder()\n            .name(\"example-job\")\n            .resourceGroupName(example.name())\n            .build());\n\n        var exampleOutputPowerbi = new OutputPowerbi(\"exampleOutputPowerbi\", OutputPowerbiArgs.builder()\n            .name(\"output-to-powerbi\")\n            .streamAnalyticsJobId(exampleGetJob.id())\n            .dataset(\"example-dataset\")\n            .table(\"example-table\")\n            .groupId(\"00000000-0000-0000-0000-000000000000\")\n            .groupName(\"some-group-name\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleOutputPowerbi:\n    type: azure:streamanalytics:OutputPowerbi\n    name: example\n    properties:\n      name: output-to-powerbi\n      streamAnalyticsJobId: ${exampleGetJob.id}\n      dataset: example-dataset\n      table: example-table\n      groupId: 00000000-0000-0000-0000-000000000000\n      groupName: some-group-name\nvariables:\n  example:\n    fn::invoke:\n      function: azure:core:getResourceGroup\n      arguments:\n        name: example-resources\n  exampleGetJob:\n    fn::invoke:\n      function: azure:streamanalytics:getJob\n      arguments:\n        name: example-job\n        resourceGroupName: ${example.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.StreamAnalytics` - 2021-10-01-preview\n\n## Import\n\nStream Analytics Output to Power BI can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:streamanalytics/outputPowerbi:OutputPowerbi example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.StreamAnalytics/streamingJobs/job1/outputs/output1\n```\n\n","properties":{"dataset":{"type":"string","description":"The name of the Power BI dataset.\n"},"groupId":{"type":"string","description":"The ID of the Power BI group, this must be a valid UUID.\n"},"groupName":{"type":"string","description":"The name of the Power BI group. Use this property to help remember which specific Power BI group id was used.\n"},"name":{"type":"string","description":"The name of the Stream Output. Changing this forces a new resource to be created.\n"},"streamAnalyticsJobId":{"type":"string","description":"The ID of the Stream Analytics Job. Changing this forces a new resource to be created.\n"},"table":{"type":"string","description":"The name of the Power BI table under the specified dataset.\n"},"tokenUserDisplayName":{"type":"string","description":"The user display name of the user that was used to obtain the refresh token.\n"},"tokenUserPrincipalName":{"type":"string","description":"The user principal name (UPN) of the user that was used to obtain the refresh token.\n"}},"required":["dataset","groupId","groupName","name","streamAnalyticsJobId","table"],"inputProperties":{"dataset":{"type":"string","description":"The name of the Power BI dataset.\n"},"groupId":{"type":"string","description":"The ID of the Power BI group, this must be a valid UUID.\n"},"groupName":{"type":"string","description":"The name of the Power BI group. Use this property to help remember which specific Power BI group id was used.\n"},"name":{"type":"string","description":"The name of the Stream Output. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"streamAnalyticsJobId":{"type":"string","description":"The ID of the Stream Analytics Job. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"table":{"type":"string","description":"The name of the Power BI table under the specified dataset.\n"},"tokenUserDisplayName":{"type":"string","description":"The user display name of the user that was used to obtain the refresh token.\n"},"tokenUserPrincipalName":{"type":"string","description":"The user principal name (UPN) of the user that was used to obtain the refresh token.\n"}},"requiredInputs":["dataset","groupId","groupName","streamAnalyticsJobId","table"],"stateInputs":{"description":"Input properties used for looking up and filtering OutputPowerbi resources.\n","properties":{"dataset":{"type":"string","description":"The name of the Power BI dataset.\n"},"groupId":{"type":"string","description":"The ID of the Power BI group, this must be a valid UUID.\n"},"groupName":{"type":"string","description":"The name of the Power BI group. Use this property to help remember which specific Power BI group id was used.\n"},"name":{"type":"string","description":"The name of the Stream Output. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"streamAnalyticsJobId":{"type":"string","description":"The ID of the Stream Analytics Job. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"table":{"type":"string","description":"The name of the Power BI table under the specified dataset.\n"},"tokenUserDisplayName":{"type":"string","description":"The user display name of the user that was used to obtain the refresh token.\n"},"tokenUserPrincipalName":{"type":"string","description":"The user principal name (UPN) of the user that was used to obtain the refresh token.\n"}},"type":"object"}},"azure:streamanalytics/outputServiceBusQueue:OutputServiceBusQueue":{"description":"Manages a Stream Analytics Output to a ServiceBus Queue.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"example\", {\n    name: \"rg-example\",\n    location: \"West Europe\",\n});\nconst example = azure.streamanalytics.getJobOutput({\n    name: \"example-job\",\n    resourceGroupName: exampleResourceGroup.name,\n});\nconst exampleNamespace = new azure.servicebus.Namespace(\"example\", {\n    name: \"example-namespace\",\n    location: exampleResourceGroup.location,\n    resourceGroupName: exampleResourceGroup.name,\n    sku: \"Standard\",\n});\nconst exampleQueue = new azure.servicebus.Queue(\"example\", {\n    name: \"example-queue\",\n    namespaceId: exampleNamespace.id,\n    enablePartitioning: true,\n});\nconst exampleOutputServiceBusQueue = new azure.streamanalytics.OutputServiceBusQueue(\"example\", {\n    name: \"blob-storage-output\",\n    streamAnalyticsJobName: example.apply(example =\u003e example.name),\n    resourceGroupName: example.apply(example =\u003e example.resourceGroupName),\n    queueName: exampleQueue.name,\n    servicebusNamespace: exampleNamespace.name,\n    sharedAccessPolicyKey: exampleNamespace.defaultPrimaryKey,\n    sharedAccessPolicyName: \"RootManageSharedAccessKey\",\n    serialization: {\n        type: \"Csv\",\n        format: \"Array\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"example\",\n    name=\"rg-example\",\n    location=\"West Europe\")\nexample = azure.streamanalytics.get_job_output(name=\"example-job\",\n    resource_group_name=example_resource_group.name)\nexample_namespace = azure.servicebus.Namespace(\"example\",\n    name=\"example-namespace\",\n    location=example_resource_group.location,\n    resource_group_name=example_resource_group.name,\n    sku=\"Standard\")\nexample_queue = azure.servicebus.Queue(\"example\",\n    name=\"example-queue\",\n    namespace_id=example_namespace.id,\n    enable_partitioning=True)\nexample_output_service_bus_queue = azure.streamanalytics.OutputServiceBusQueue(\"example\",\n    name=\"blob-storage-output\",\n    stream_analytics_job_name=example.name,\n    resource_group_name=example.resource_group_name,\n    queue_name=example_queue.name,\n    servicebus_namespace=example_namespace.name,\n    shared_access_policy_key=example_namespace.default_primary_key,\n    shared_access_policy_name=\"RootManageSharedAccessKey\",\n    serialization={\n        \"type\": \"Csv\",\n        \"format\": \"Array\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleResourceGroup = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"rg-example\",\n        Location = \"West Europe\",\n    });\n\n    var example = Azure.StreamAnalytics.GetJob.Invoke(new()\n    {\n        Name = \"example-job\",\n        ResourceGroupName = exampleResourceGroup.Name,\n    });\n\n    var exampleNamespace = new Azure.ServiceBus.Namespace(\"example\", new()\n    {\n        Name = \"example-namespace\",\n        Location = exampleResourceGroup.Location,\n        ResourceGroupName = exampleResourceGroup.Name,\n        Sku = \"Standard\",\n    });\n\n    var exampleQueue = new Azure.ServiceBus.Queue(\"example\", new()\n    {\n        Name = \"example-queue\",\n        NamespaceId = exampleNamespace.Id,\n        EnablePartitioning = true,\n    });\n\n    var exampleOutputServiceBusQueue = new Azure.StreamAnalytics.OutputServiceBusQueue(\"example\", new()\n    {\n        Name = \"blob-storage-output\",\n        StreamAnalyticsJobName = example.Apply(getJobResult =\u003e getJobResult.Name),\n        ResourceGroupName = example.Apply(getJobResult =\u003e getJobResult.ResourceGroupName),\n        QueueName = exampleQueue.Name,\n        ServicebusNamespace = exampleNamespace.Name,\n        SharedAccessPolicyKey = exampleNamespace.DefaultPrimaryKey,\n        SharedAccessPolicyName = \"RootManageSharedAccessKey\",\n        Serialization = new Azure.StreamAnalytics.Inputs.OutputServiceBusQueueSerializationArgs\n        {\n            Type = \"Csv\",\n            Format = \"Array\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/servicebus\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/streamanalytics\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"rg-example\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample := streamanalytics.LookupJobOutput(ctx, streamanalytics.GetJobOutputArgs{\n\t\t\tName:              pulumi.String(\"example-job\"),\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t}, nil)\n\t\texampleNamespace, err := servicebus.NewNamespace(ctx, \"example\", \u0026servicebus.NamespaceArgs{\n\t\t\tName:              pulumi.String(\"example-namespace\"),\n\t\t\tLocation:          exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tSku:               pulumi.String(\"Standard\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleQueue, err := servicebus.NewQueue(ctx, \"example\", \u0026servicebus.QueueArgs{\n\t\t\tName:               pulumi.String(\"example-queue\"),\n\t\t\tNamespaceId:        exampleNamespace.ID(),\n\t\t\tEnablePartitioning: true,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = streamanalytics.NewOutputServiceBusQueue(ctx, \"example\", \u0026streamanalytics.OutputServiceBusQueueArgs{\n\t\t\tName: pulumi.String(\"blob-storage-output\"),\n\t\t\tStreamAnalyticsJobName: pulumi.String(example.ApplyT(func(example streamanalytics.GetJobResult) (*string, error) {\n\t\t\t\treturn \u0026example.Name, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tResourceGroupName: pulumi.String(example.ApplyT(func(example streamanalytics.GetJobResult) (*string, error) {\n\t\t\t\treturn \u0026example.ResourceGroupName, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tQueueName:              exampleQueue.Name,\n\t\t\tServicebusNamespace:    exampleNamespace.Name,\n\t\t\tSharedAccessPolicyKey:  exampleNamespace.DefaultPrimaryKey,\n\t\t\tSharedAccessPolicyName: pulumi.String(\"RootManageSharedAccessKey\"),\n\t\t\tSerialization: \u0026streamanalytics.OutputServiceBusQueueSerializationArgs{\n\t\t\t\tType:   pulumi.String(\"Csv\"),\n\t\t\t\tFormat: pulumi.String(\"Array\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.streamanalytics.StreamanalyticsFunctions;\nimport com.pulumi.azure.streamanalytics.inputs.GetJobArgs;\nimport com.pulumi.azure.servicebus.Namespace;\nimport com.pulumi.azure.servicebus.NamespaceArgs;\nimport com.pulumi.azure.servicebus.Queue;\nimport com.pulumi.azure.servicebus.QueueArgs;\nimport com.pulumi.azure.streamanalytics.OutputServiceBusQueue;\nimport com.pulumi.azure.streamanalytics.OutputServiceBusQueueArgs;\nimport com.pulumi.azure.streamanalytics.inputs.OutputServiceBusQueueSerializationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var exampleResourceGroup = new ResourceGroup(\"exampleResourceGroup\", ResourceGroupArgs.builder()\n            .name(\"rg-example\")\n            .location(\"West Europe\")\n            .build());\n\n        final var example = StreamanalyticsFunctions.getJob(GetJobArgs.builder()\n            .name(\"example-job\")\n            .resourceGroupName(exampleResourceGroup.name())\n            .build());\n\n        var exampleNamespace = new Namespace(\"exampleNamespace\", NamespaceArgs.builder()\n            .name(\"example-namespace\")\n            .location(exampleResourceGroup.location())\n            .resourceGroupName(exampleResourceGroup.name())\n            .sku(\"Standard\")\n            .build());\n\n        var exampleQueue = new Queue(\"exampleQueue\", QueueArgs.builder()\n            .name(\"example-queue\")\n            .namespaceId(exampleNamespace.id())\n            .enablePartitioning(true)\n            .build());\n\n        var exampleOutputServiceBusQueue = new OutputServiceBusQueue(\"exampleOutputServiceBusQueue\", OutputServiceBusQueueArgs.builder()\n            .name(\"blob-storage-output\")\n            .streamAnalyticsJobName(example.applyValue(_example -\u003e _example.name()))\n            .resourceGroupName(example.applyValue(_example -\u003e _example.resourceGroupName()))\n            .queueName(exampleQueue.name())\n            .servicebusNamespace(exampleNamespace.name())\n            .sharedAccessPolicyKey(exampleNamespace.defaultPrimaryKey())\n            .sharedAccessPolicyName(\"RootManageSharedAccessKey\")\n            .serialization(OutputServiceBusQueueSerializationArgs.builder()\n                .type(\"Csv\")\n                .format(\"Array\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleResourceGroup:\n    type: azure:core:ResourceGroup\n    name: example\n    properties:\n      name: rg-example\n      location: West Europe\n  exampleNamespace:\n    type: azure:servicebus:Namespace\n    name: example\n    properties:\n      name: example-namespace\n      location: ${exampleResourceGroup.location}\n      resourceGroupName: ${exampleResourceGroup.name}\n      sku: Standard\n  exampleQueue:\n    type: azure:servicebus:Queue\n    name: example\n    properties:\n      name: example-queue\n      namespaceId: ${exampleNamespace.id}\n      enablePartitioning: true\n  exampleOutputServiceBusQueue:\n    type: azure:streamanalytics:OutputServiceBusQueue\n    name: example\n    properties:\n      name: blob-storage-output\n      streamAnalyticsJobName: ${example.name}\n      resourceGroupName: ${example.resourceGroupName}\n      queueName: ${exampleQueue.name}\n      servicebusNamespace: ${exampleNamespace.name}\n      sharedAccessPolicyKey: ${exampleNamespace.defaultPrimaryKey}\n      sharedAccessPolicyName: RootManageSharedAccessKey\n      serialization:\n        type: Csv\n        format: Array\nvariables:\n  example:\n    fn::invoke:\n      function: azure:streamanalytics:getJob\n      arguments:\n        name: example-job\n        resourceGroupName: ${exampleResourceGroup.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.StreamAnalytics` - 2021-10-01-preview\n\n## Import\n\nStream Analytics Output ServiceBus Queue's can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:streamanalytics/outputServiceBusQueue:OutputServiceBusQueue example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.StreamAnalytics/streamingJobs/job1/outputs/output1\n```\n\n","properties":{"authenticationMode":{"type":"string","description":"The authentication mode for the Stream Output. Possible values are `Msi` and `ConnectionString`. Defaults to `ConnectionString`.\n"},"name":{"type":"string","description":"The name of the Stream Output. Changing this forces a new resource to be created.\n"},"propertyColumns":{"type":"array","items":{"type":"string"},"description":"A list of property columns to add to the Service Bus Queue output.\n"},"queueName":{"type":"string","description":"The name of the Service Bus Queue.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Stream Analytics Job exists. Changing this forces a new resource to be created.\n"},"serialization":{"$ref":"#/types/azure:streamanalytics/OutputServiceBusQueueSerialization:OutputServiceBusQueueSerialization","description":"A \u003cspan pulumi-lang-nodejs=\"`serialization`\" pulumi-lang-dotnet=\"`Serialization`\" pulumi-lang-go=\"`serialization`\" pulumi-lang-python=\"`serialization`\" pulumi-lang-yaml=\"`serialization`\" pulumi-lang-java=\"`serialization`\"\u003e`serialization`\u003c/span\u003e block as defined below.\n"},"servicebusNamespace":{"type":"string","description":"The namespace that is associated with the desired Event Hub, Service Bus Queue, Service Bus Topic, etc.\n"},"sharedAccessPolicyKey":{"type":"string","description":"The shared access policy key for the specified shared access policy. Required if \u003cspan pulumi-lang-nodejs=\"`authenticationMode`\" pulumi-lang-dotnet=\"`AuthenticationMode`\" pulumi-lang-go=\"`authenticationMode`\" pulumi-lang-python=\"`authentication_mode`\" pulumi-lang-yaml=\"`authenticationMode`\" pulumi-lang-java=\"`authenticationMode`\"\u003e`authentication_mode`\u003c/span\u003e is `ConnectionString`.\n","secret":true},"sharedAccessPolicyName":{"type":"string","description":"The shared access policy name for the Event Hub, Service Bus Queue, Service Bus Topic, etc. Required if \u003cspan pulumi-lang-nodejs=\"`authenticationMode`\" pulumi-lang-dotnet=\"`AuthenticationMode`\" pulumi-lang-go=\"`authenticationMode`\" pulumi-lang-python=\"`authentication_mode`\" pulumi-lang-yaml=\"`authenticationMode`\" pulumi-lang-java=\"`authenticationMode`\"\u003e`authentication_mode`\u003c/span\u003e is `ConnectionString`.\n"},"streamAnalyticsJobName":{"type":"string","description":"The name of the Stream Analytics Job. Changing this forces a new resource to be created.\n"},"systemPropertyColumns":{"type":"object","additionalProperties":{"type":"string"},"description":"A key-value pair of system property columns that will be attached to the outgoing messages for the Service Bus Queue Output.\n\n\u003e **Note:** The acceptable keys are `ContentType`, `CorrelationId`, `Label`, `MessageId`, `PartitionKey`, `ReplyTo`, `ReplyToSessionId`, `ScheduledEnqueueTimeUtc`, `SessionId`, `TimeToLive` and `To`.\n"}},"required":["name","queueName","resourceGroupName","serialization","servicebusNamespace","streamAnalyticsJobName"],"inputProperties":{"authenticationMode":{"type":"string","description":"The authentication mode for the Stream Output. Possible values are `Msi` and `ConnectionString`. Defaults to `ConnectionString`.\n"},"name":{"type":"string","description":"The name of the Stream Output. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"propertyColumns":{"type":"array","items":{"type":"string"},"description":"A list of property columns to add to the Service Bus Queue output.\n"},"queueName":{"type":"string","description":"The name of the Service Bus Queue.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Stream Analytics Job exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"serialization":{"$ref":"#/types/azure:streamanalytics/OutputServiceBusQueueSerialization:OutputServiceBusQueueSerialization","description":"A \u003cspan pulumi-lang-nodejs=\"`serialization`\" pulumi-lang-dotnet=\"`Serialization`\" pulumi-lang-go=\"`serialization`\" pulumi-lang-python=\"`serialization`\" pulumi-lang-yaml=\"`serialization`\" pulumi-lang-java=\"`serialization`\"\u003e`serialization`\u003c/span\u003e block as defined below.\n"},"servicebusNamespace":{"type":"string","description":"The namespace that is associated with the desired Event Hub, Service Bus Queue, Service Bus Topic, etc.\n"},"sharedAccessPolicyKey":{"type":"string","description":"The shared access policy key for the specified shared access policy. Required if \u003cspan pulumi-lang-nodejs=\"`authenticationMode`\" pulumi-lang-dotnet=\"`AuthenticationMode`\" pulumi-lang-go=\"`authenticationMode`\" pulumi-lang-python=\"`authentication_mode`\" pulumi-lang-yaml=\"`authenticationMode`\" pulumi-lang-java=\"`authenticationMode`\"\u003e`authentication_mode`\u003c/span\u003e is `ConnectionString`.\n","secret":true},"sharedAccessPolicyName":{"type":"string","description":"The shared access policy name for the Event Hub, Service Bus Queue, Service Bus Topic, etc. Required if \u003cspan pulumi-lang-nodejs=\"`authenticationMode`\" pulumi-lang-dotnet=\"`AuthenticationMode`\" pulumi-lang-go=\"`authenticationMode`\" pulumi-lang-python=\"`authentication_mode`\" pulumi-lang-yaml=\"`authenticationMode`\" pulumi-lang-java=\"`authenticationMode`\"\u003e`authentication_mode`\u003c/span\u003e is `ConnectionString`.\n"},"streamAnalyticsJobName":{"type":"string","description":"The name of the Stream Analytics Job. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"systemPropertyColumns":{"type":"object","additionalProperties":{"type":"string"},"description":"A key-value pair of system property columns that will be attached to the outgoing messages for the Service Bus Queue Output.\n\n\u003e **Note:** The acceptable keys are `ContentType`, `CorrelationId`, `Label`, `MessageId`, `PartitionKey`, `ReplyTo`, `ReplyToSessionId`, `ScheduledEnqueueTimeUtc`, `SessionId`, `TimeToLive` and `To`.\n"}},"requiredInputs":["queueName","resourceGroupName","serialization","servicebusNamespace","streamAnalyticsJobName"],"stateInputs":{"description":"Input properties used for looking up and filtering OutputServiceBusQueue resources.\n","properties":{"authenticationMode":{"type":"string","description":"The authentication mode for the Stream Output. Possible values are `Msi` and `ConnectionString`. Defaults to `ConnectionString`.\n"},"name":{"type":"string","description":"The name of the Stream Output. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"propertyColumns":{"type":"array","items":{"type":"string"},"description":"A list of property columns to add to the Service Bus Queue output.\n"},"queueName":{"type":"string","description":"The name of the Service Bus Queue.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Stream Analytics Job exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"serialization":{"$ref":"#/types/azure:streamanalytics/OutputServiceBusQueueSerialization:OutputServiceBusQueueSerialization","description":"A \u003cspan pulumi-lang-nodejs=\"`serialization`\" pulumi-lang-dotnet=\"`Serialization`\" pulumi-lang-go=\"`serialization`\" pulumi-lang-python=\"`serialization`\" pulumi-lang-yaml=\"`serialization`\" pulumi-lang-java=\"`serialization`\"\u003e`serialization`\u003c/span\u003e block as defined below.\n"},"servicebusNamespace":{"type":"string","description":"The namespace that is associated with the desired Event Hub, Service Bus Queue, Service Bus Topic, etc.\n"},"sharedAccessPolicyKey":{"type":"string","description":"The shared access policy key for the specified shared access policy. Required if \u003cspan pulumi-lang-nodejs=\"`authenticationMode`\" pulumi-lang-dotnet=\"`AuthenticationMode`\" pulumi-lang-go=\"`authenticationMode`\" pulumi-lang-python=\"`authentication_mode`\" pulumi-lang-yaml=\"`authenticationMode`\" pulumi-lang-java=\"`authenticationMode`\"\u003e`authentication_mode`\u003c/span\u003e is `ConnectionString`.\n","secret":true},"sharedAccessPolicyName":{"type":"string","description":"The shared access policy name for the Event Hub, Service Bus Queue, Service Bus Topic, etc. Required if \u003cspan pulumi-lang-nodejs=\"`authenticationMode`\" pulumi-lang-dotnet=\"`AuthenticationMode`\" pulumi-lang-go=\"`authenticationMode`\" pulumi-lang-python=\"`authentication_mode`\" pulumi-lang-yaml=\"`authenticationMode`\" pulumi-lang-java=\"`authenticationMode`\"\u003e`authentication_mode`\u003c/span\u003e is `ConnectionString`.\n"},"streamAnalyticsJobName":{"type":"string","description":"The name of the Stream Analytics Job. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"systemPropertyColumns":{"type":"object","additionalProperties":{"type":"string"},"description":"A key-value pair of system property columns that will be attached to the outgoing messages for the Service Bus Queue Output.\n\n\u003e **Note:** The acceptable keys are `ContentType`, `CorrelationId`, `Label`, `MessageId`, `PartitionKey`, `ReplyTo`, `ReplyToSessionId`, `ScheduledEnqueueTimeUtc`, `SessionId`, `TimeToLive` and `To`.\n"}},"type":"object"}},"azure:streamanalytics/outputServicebusTopic:OutputServicebusTopic":{"description":"Manages a Stream Analytics Output to a ServiceBus Topic.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"example\", {\n    name: \"rg-example\",\n    location: \"West Europe\",\n});\nconst example = azure.streamanalytics.getJobOutput({\n    name: \"example-job\",\n    resourceGroupName: exampleResourceGroup.name,\n});\nconst exampleNamespace = new azure.servicebus.Namespace(\"example\", {\n    name: \"example-namespace\",\n    location: exampleResourceGroup.location,\n    resourceGroupName: exampleResourceGroup.name,\n    sku: \"Standard\",\n});\nconst exampleTopic = new azure.servicebus.Topic(\"example\", {\n    name: \"example-topic\",\n    namespaceId: exampleNamespace.id,\n    enablePartitioning: true,\n});\nconst exampleOutputServicebusTopic = new azure.streamanalytics.OutputServicebusTopic(\"example\", {\n    name: \"service-bus-topic-output\",\n    streamAnalyticsJobName: example.apply(example =\u003e example.name),\n    resourceGroupName: example.apply(example =\u003e example.resourceGroupName),\n    topicName: exampleTopic.name,\n    servicebusNamespace: exampleNamespace.name,\n    sharedAccessPolicyKey: exampleNamespace.defaultPrimaryKey,\n    sharedAccessPolicyName: \"RootManageSharedAccessKey\",\n    propertyColumns: [\n        \"col1\",\n        \"col2\",\n    ],\n    serialization: {\n        type: \"Csv\",\n        format: \"Array\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"example\",\n    name=\"rg-example\",\n    location=\"West Europe\")\nexample = azure.streamanalytics.get_job_output(name=\"example-job\",\n    resource_group_name=example_resource_group.name)\nexample_namespace = azure.servicebus.Namespace(\"example\",\n    name=\"example-namespace\",\n    location=example_resource_group.location,\n    resource_group_name=example_resource_group.name,\n    sku=\"Standard\")\nexample_topic = azure.servicebus.Topic(\"example\",\n    name=\"example-topic\",\n    namespace_id=example_namespace.id,\n    enable_partitioning=True)\nexample_output_servicebus_topic = azure.streamanalytics.OutputServicebusTopic(\"example\",\n    name=\"service-bus-topic-output\",\n    stream_analytics_job_name=example.name,\n    resource_group_name=example.resource_group_name,\n    topic_name=example_topic.name,\n    servicebus_namespace=example_namespace.name,\n    shared_access_policy_key=example_namespace.default_primary_key,\n    shared_access_policy_name=\"RootManageSharedAccessKey\",\n    property_columns=[\n        \"col1\",\n        \"col2\",\n    ],\n    serialization={\n        \"type\": \"Csv\",\n        \"format\": \"Array\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleResourceGroup = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"rg-example\",\n        Location = \"West Europe\",\n    });\n\n    var example = Azure.StreamAnalytics.GetJob.Invoke(new()\n    {\n        Name = \"example-job\",\n        ResourceGroupName = exampleResourceGroup.Name,\n    });\n\n    var exampleNamespace = new Azure.ServiceBus.Namespace(\"example\", new()\n    {\n        Name = \"example-namespace\",\n        Location = exampleResourceGroup.Location,\n        ResourceGroupName = exampleResourceGroup.Name,\n        Sku = \"Standard\",\n    });\n\n    var exampleTopic = new Azure.ServiceBus.Topic(\"example\", new()\n    {\n        Name = \"example-topic\",\n        NamespaceId = exampleNamespace.Id,\n        EnablePartitioning = true,\n    });\n\n    var exampleOutputServicebusTopic = new Azure.StreamAnalytics.OutputServicebusTopic(\"example\", new()\n    {\n        Name = \"service-bus-topic-output\",\n        StreamAnalyticsJobName = example.Apply(getJobResult =\u003e getJobResult.Name),\n        ResourceGroupName = example.Apply(getJobResult =\u003e getJobResult.ResourceGroupName),\n        TopicName = exampleTopic.Name,\n        ServicebusNamespace = exampleNamespace.Name,\n        SharedAccessPolicyKey = exampleNamespace.DefaultPrimaryKey,\n        SharedAccessPolicyName = \"RootManageSharedAccessKey\",\n        PropertyColumns = new[]\n        {\n            \"col1\",\n            \"col2\",\n        },\n        Serialization = new Azure.StreamAnalytics.Inputs.OutputServicebusTopicSerializationArgs\n        {\n            Type = \"Csv\",\n            Format = \"Array\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/servicebus\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/streamanalytics\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"rg-example\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample := streamanalytics.LookupJobOutput(ctx, streamanalytics.GetJobOutputArgs{\n\t\t\tName:              pulumi.String(\"example-job\"),\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t}, nil)\n\t\texampleNamespace, err := servicebus.NewNamespace(ctx, \"example\", \u0026servicebus.NamespaceArgs{\n\t\t\tName:              pulumi.String(\"example-namespace\"),\n\t\t\tLocation:          exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tSku:               pulumi.String(\"Standard\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleTopic, err := servicebus.NewTopic(ctx, \"example\", \u0026servicebus.TopicArgs{\n\t\t\tName:               pulumi.String(\"example-topic\"),\n\t\t\tNamespaceId:        exampleNamespace.ID(),\n\t\t\tEnablePartitioning: true,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = streamanalytics.NewOutputServicebusTopic(ctx, \"example\", \u0026streamanalytics.OutputServicebusTopicArgs{\n\t\t\tName: pulumi.String(\"service-bus-topic-output\"),\n\t\t\tStreamAnalyticsJobName: pulumi.String(example.ApplyT(func(example streamanalytics.GetJobResult) (*string, error) {\n\t\t\t\treturn \u0026example.Name, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tResourceGroupName: pulumi.String(example.ApplyT(func(example streamanalytics.GetJobResult) (*string, error) {\n\t\t\t\treturn \u0026example.ResourceGroupName, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tTopicName:              exampleTopic.Name,\n\t\t\tServicebusNamespace:    exampleNamespace.Name,\n\t\t\tSharedAccessPolicyKey:  exampleNamespace.DefaultPrimaryKey,\n\t\t\tSharedAccessPolicyName: pulumi.String(\"RootManageSharedAccessKey\"),\n\t\t\tPropertyColumns: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"col1\"),\n\t\t\t\tpulumi.String(\"col2\"),\n\t\t\t},\n\t\t\tSerialization: \u0026streamanalytics.OutputServicebusTopicSerializationArgs{\n\t\t\t\tType:   pulumi.String(\"Csv\"),\n\t\t\t\tFormat: pulumi.String(\"Array\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.streamanalytics.StreamanalyticsFunctions;\nimport com.pulumi.azure.streamanalytics.inputs.GetJobArgs;\nimport com.pulumi.azure.servicebus.Namespace;\nimport com.pulumi.azure.servicebus.NamespaceArgs;\nimport com.pulumi.azure.servicebus.Topic;\nimport com.pulumi.azure.servicebus.TopicArgs;\nimport com.pulumi.azure.streamanalytics.OutputServicebusTopic;\nimport com.pulumi.azure.streamanalytics.OutputServicebusTopicArgs;\nimport com.pulumi.azure.streamanalytics.inputs.OutputServicebusTopicSerializationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var exampleResourceGroup = new ResourceGroup(\"exampleResourceGroup\", ResourceGroupArgs.builder()\n            .name(\"rg-example\")\n            .location(\"West Europe\")\n            .build());\n\n        final var example = StreamanalyticsFunctions.getJob(GetJobArgs.builder()\n            .name(\"example-job\")\n            .resourceGroupName(exampleResourceGroup.name())\n            .build());\n\n        var exampleNamespace = new Namespace(\"exampleNamespace\", NamespaceArgs.builder()\n            .name(\"example-namespace\")\n            .location(exampleResourceGroup.location())\n            .resourceGroupName(exampleResourceGroup.name())\n            .sku(\"Standard\")\n            .build());\n\n        var exampleTopic = new Topic(\"exampleTopic\", TopicArgs.builder()\n            .name(\"example-topic\")\n            .namespaceId(exampleNamespace.id())\n            .enablePartitioning(true)\n            .build());\n\n        var exampleOutputServicebusTopic = new OutputServicebusTopic(\"exampleOutputServicebusTopic\", OutputServicebusTopicArgs.builder()\n            .name(\"service-bus-topic-output\")\n            .streamAnalyticsJobName(example.applyValue(_example -\u003e _example.name()))\n            .resourceGroupName(example.applyValue(_example -\u003e _example.resourceGroupName()))\n            .topicName(exampleTopic.name())\n            .servicebusNamespace(exampleNamespace.name())\n            .sharedAccessPolicyKey(exampleNamespace.defaultPrimaryKey())\n            .sharedAccessPolicyName(\"RootManageSharedAccessKey\")\n            .propertyColumns(            \n                \"col1\",\n                \"col2\")\n            .serialization(OutputServicebusTopicSerializationArgs.builder()\n                .type(\"Csv\")\n                .format(\"Array\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleResourceGroup:\n    type: azure:core:ResourceGroup\n    name: example\n    properties:\n      name: rg-example\n      location: West Europe\n  exampleNamespace:\n    type: azure:servicebus:Namespace\n    name: example\n    properties:\n      name: example-namespace\n      location: ${exampleResourceGroup.location}\n      resourceGroupName: ${exampleResourceGroup.name}\n      sku: Standard\n  exampleTopic:\n    type: azure:servicebus:Topic\n    name: example\n    properties:\n      name: example-topic\n      namespaceId: ${exampleNamespace.id}\n      enablePartitioning: true\n  exampleOutputServicebusTopic:\n    type: azure:streamanalytics:OutputServicebusTopic\n    name: example\n    properties:\n      name: service-bus-topic-output\n      streamAnalyticsJobName: ${example.name}\n      resourceGroupName: ${example.resourceGroupName}\n      topicName: ${exampleTopic.name}\n      servicebusNamespace: ${exampleNamespace.name}\n      sharedAccessPolicyKey: ${exampleNamespace.defaultPrimaryKey}\n      sharedAccessPolicyName: RootManageSharedAccessKey\n      propertyColumns:\n        - col1\n        - col2\n      serialization:\n        type: Csv\n        format: Array\nvariables:\n  example:\n    fn::invoke:\n      function: azure:streamanalytics:getJob\n      arguments:\n        name: example-job\n        resourceGroupName: ${exampleResourceGroup.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.StreamAnalytics` - 2021-10-01-preview\n\n## Import\n\nStream Analytics Output ServiceBus Topic's can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:streamanalytics/outputServicebusTopic:OutputServicebusTopic example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.StreamAnalytics/streamingJobs/job1/outputs/output1\n```\n\n","properties":{"authenticationMode":{"type":"string","description":"The authentication mode for the Stream Output. Possible values are `Msi` and `ConnectionString`. Defaults to `ConnectionString`.\n"},"name":{"type":"string","description":"The name of the Stream Output. Changing this forces a new resource to be created.\n"},"propertyColumns":{"type":"array","items":{"type":"string"},"description":"A list of property columns to add to the Service Bus Topic output.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Stream Analytics Job exists. Changing this forces a new resource to be created.\n"},"serialization":{"$ref":"#/types/azure:streamanalytics/OutputServicebusTopicSerialization:OutputServicebusTopicSerialization","description":"A \u003cspan pulumi-lang-nodejs=\"`serialization`\" pulumi-lang-dotnet=\"`Serialization`\" pulumi-lang-go=\"`serialization`\" pulumi-lang-python=\"`serialization`\" pulumi-lang-yaml=\"`serialization`\" pulumi-lang-java=\"`serialization`\"\u003e`serialization`\u003c/span\u003e block as defined below.\n"},"servicebusNamespace":{"type":"string","description":"The namespace that is associated with the desired Event Hub, Service Bus Topic, Service Bus Topic, etc.\n"},"sharedAccessPolicyKey":{"type":"string","description":"The shared access policy key for the specified shared access policy. Required if \u003cspan pulumi-lang-nodejs=\"`authenticationMode`\" pulumi-lang-dotnet=\"`AuthenticationMode`\" pulumi-lang-go=\"`authenticationMode`\" pulumi-lang-python=\"`authentication_mode`\" pulumi-lang-yaml=\"`authenticationMode`\" pulumi-lang-java=\"`authenticationMode`\"\u003e`authentication_mode`\u003c/span\u003e is `ConnectionString`.\n","secret":true},"sharedAccessPolicyName":{"type":"string","description":"The shared access policy name for the Event Hub, Service Bus Queue, Service Bus Topic, etc. Required if \u003cspan pulumi-lang-nodejs=\"`authenticationMode`\" pulumi-lang-dotnet=\"`AuthenticationMode`\" pulumi-lang-go=\"`authenticationMode`\" pulumi-lang-python=\"`authentication_mode`\" pulumi-lang-yaml=\"`authenticationMode`\" pulumi-lang-java=\"`authenticationMode`\"\u003e`authentication_mode`\u003c/span\u003e is `ConnectionString`.\n"},"streamAnalyticsJobName":{"type":"string","description":"The name of the Stream Analytics Job. Changing this forces a new resource to be created.\n"},"systemPropertyColumns":{"type":"object","additionalProperties":{"type":"string"},"description":"A key-value pair of system property columns that will be attached to the outgoing messages for the Service Bus Topic Output.\n\n\u003e **Note:** The acceptable keys are `ContentType`, `CorrelationId`, `Label`, `MessageId`, `PartitionKey`, `ReplyTo`, `ReplyToSessionId`, `ScheduledEnqueueTimeUtc`, `SessionId`, `TimeToLive` and `To`.\n"},"topicName":{"type":"string","description":"The name of the Service Bus Topic.\n"}},"required":["name","resourceGroupName","serialization","servicebusNamespace","streamAnalyticsJobName","topicName"],"inputProperties":{"authenticationMode":{"type":"string","description":"The authentication mode for the Stream Output. Possible values are `Msi` and `ConnectionString`. Defaults to `ConnectionString`.\n"},"name":{"type":"string","description":"The name of the Stream Output. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"propertyColumns":{"type":"array","items":{"type":"string"},"description":"A list of property columns to add to the Service Bus Topic output.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Stream Analytics Job exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"serialization":{"$ref":"#/types/azure:streamanalytics/OutputServicebusTopicSerialization:OutputServicebusTopicSerialization","description":"A \u003cspan pulumi-lang-nodejs=\"`serialization`\" pulumi-lang-dotnet=\"`Serialization`\" pulumi-lang-go=\"`serialization`\" pulumi-lang-python=\"`serialization`\" pulumi-lang-yaml=\"`serialization`\" pulumi-lang-java=\"`serialization`\"\u003e`serialization`\u003c/span\u003e block as defined below.\n"},"servicebusNamespace":{"type":"string","description":"The namespace that is associated with the desired Event Hub, Service Bus Topic, Service Bus Topic, etc.\n"},"sharedAccessPolicyKey":{"type":"string","description":"The shared access policy key for the specified shared access policy. Required if \u003cspan pulumi-lang-nodejs=\"`authenticationMode`\" pulumi-lang-dotnet=\"`AuthenticationMode`\" pulumi-lang-go=\"`authenticationMode`\" pulumi-lang-python=\"`authentication_mode`\" pulumi-lang-yaml=\"`authenticationMode`\" pulumi-lang-java=\"`authenticationMode`\"\u003e`authentication_mode`\u003c/span\u003e is `ConnectionString`.\n","secret":true},"sharedAccessPolicyName":{"type":"string","description":"The shared access policy name for the Event Hub, Service Bus Queue, Service Bus Topic, etc. Required if \u003cspan pulumi-lang-nodejs=\"`authenticationMode`\" pulumi-lang-dotnet=\"`AuthenticationMode`\" pulumi-lang-go=\"`authenticationMode`\" pulumi-lang-python=\"`authentication_mode`\" pulumi-lang-yaml=\"`authenticationMode`\" pulumi-lang-java=\"`authenticationMode`\"\u003e`authentication_mode`\u003c/span\u003e is `ConnectionString`.\n"},"streamAnalyticsJobName":{"type":"string","description":"The name of the Stream Analytics Job. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"systemPropertyColumns":{"type":"object","additionalProperties":{"type":"string"},"description":"A key-value pair of system property columns that will be attached to the outgoing messages for the Service Bus Topic Output.\n\n\u003e **Note:** The acceptable keys are `ContentType`, `CorrelationId`, `Label`, `MessageId`, `PartitionKey`, `ReplyTo`, `ReplyToSessionId`, `ScheduledEnqueueTimeUtc`, `SessionId`, `TimeToLive` and `To`.\n"},"topicName":{"type":"string","description":"The name of the Service Bus Topic.\n"}},"requiredInputs":["resourceGroupName","serialization","servicebusNamespace","streamAnalyticsJobName","topicName"],"stateInputs":{"description":"Input properties used for looking up and filtering OutputServicebusTopic resources.\n","properties":{"authenticationMode":{"type":"string","description":"The authentication mode for the Stream Output. Possible values are `Msi` and `ConnectionString`. Defaults to `ConnectionString`.\n"},"name":{"type":"string","description":"The name of the Stream Output. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"propertyColumns":{"type":"array","items":{"type":"string"},"description":"A list of property columns to add to the Service Bus Topic output.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Stream Analytics Job exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"serialization":{"$ref":"#/types/azure:streamanalytics/OutputServicebusTopicSerialization:OutputServicebusTopicSerialization","description":"A \u003cspan pulumi-lang-nodejs=\"`serialization`\" pulumi-lang-dotnet=\"`Serialization`\" pulumi-lang-go=\"`serialization`\" pulumi-lang-python=\"`serialization`\" pulumi-lang-yaml=\"`serialization`\" pulumi-lang-java=\"`serialization`\"\u003e`serialization`\u003c/span\u003e block as defined below.\n"},"servicebusNamespace":{"type":"string","description":"The namespace that is associated with the desired Event Hub, Service Bus Topic, Service Bus Topic, etc.\n"},"sharedAccessPolicyKey":{"type":"string","description":"The shared access policy key for the specified shared access policy. Required if \u003cspan pulumi-lang-nodejs=\"`authenticationMode`\" pulumi-lang-dotnet=\"`AuthenticationMode`\" pulumi-lang-go=\"`authenticationMode`\" pulumi-lang-python=\"`authentication_mode`\" pulumi-lang-yaml=\"`authenticationMode`\" pulumi-lang-java=\"`authenticationMode`\"\u003e`authentication_mode`\u003c/span\u003e is `ConnectionString`.\n","secret":true},"sharedAccessPolicyName":{"type":"string","description":"The shared access policy name for the Event Hub, Service Bus Queue, Service Bus Topic, etc. Required if \u003cspan pulumi-lang-nodejs=\"`authenticationMode`\" pulumi-lang-dotnet=\"`AuthenticationMode`\" pulumi-lang-go=\"`authenticationMode`\" pulumi-lang-python=\"`authentication_mode`\" pulumi-lang-yaml=\"`authenticationMode`\" pulumi-lang-java=\"`authenticationMode`\"\u003e`authentication_mode`\u003c/span\u003e is `ConnectionString`.\n"},"streamAnalyticsJobName":{"type":"string","description":"The name of the Stream Analytics Job. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"systemPropertyColumns":{"type":"object","additionalProperties":{"type":"string"},"description":"A key-value pair of system property columns that will be attached to the outgoing messages for the Service Bus Topic Output.\n\n\u003e **Note:** The acceptable keys are `ContentType`, `CorrelationId`, `Label`, `MessageId`, `PartitionKey`, `ReplyTo`, `ReplyToSessionId`, `ScheduledEnqueueTimeUtc`, `SessionId`, `TimeToLive` and `To`.\n"},"topicName":{"type":"string","description":"The name of the Service Bus Topic.\n"}},"type":"object"}},"azure:streamanalytics/outputSynapse:OutputSynapse":{"description":"Manages a Stream Analytics Output to an Azure Synapse Analytics Workspace.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"example\", {\n    name: \"rg-example\",\n    location: \"West Europe\",\n});\nconst example = azure.streamanalytics.getJobOutput({\n    name: \"example-job\",\n    resourceGroupName: exampleResourceGroup.name,\n});\nconst exampleAccount = new azure.storage.Account(\"example\", {\n    name: \"examplestorageacc\",\n    resourceGroupName: exampleResourceGroup.name,\n    location: exampleResourceGroup.location,\n    accountTier: \"Standard\",\n    accountReplicationType: \"LRS\",\n    accountKind: \"StorageV2\",\n    isHnsEnabled: true,\n});\nconst exampleDataLakeGen2Filesystem = new azure.storage.DataLakeGen2Filesystem(\"example\", {\n    name: \"example\",\n    storageAccountId: exampleAccount.id,\n});\nconst exampleWorkspace = new azure.synapse.Workspace(\"example\", {\n    name: \"example\",\n    resourceGroupName: exampleResourceGroup.name,\n    location: exampleResourceGroup.location,\n    storageDataLakeGen2FilesystemId: exampleDataLakeGen2Filesystem.id,\n    sqlAdministratorLogin: \"sqladminuser\",\n    sqlAdministratorLoginPassword: \"H@Sh1CoR3!\",\n    identity: {\n        type: \"SystemAssigned\",\n    },\n});\nconst exampleOutputSynapse = new azure.streamanalytics.OutputSynapse(\"example\", {\n    name: \"example-output-synapse\",\n    streamAnalyticsJobName: example.apply(example =\u003e example.name),\n    resourceGroupName: example.apply(example =\u003e example.resourceGroupName),\n    server: exampleWorkspace.connectivityEndpoints.sqlOnDemand,\n    user: exampleWorkspace.sqlAdministratorLogin,\n    password: exampleWorkspace.sqlAdministratorLoginPassword,\n    database: \"master\",\n    table: \"ExampleTable\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"example\",\n    name=\"rg-example\",\n    location=\"West Europe\")\nexample = azure.streamanalytics.get_job_output(name=\"example-job\",\n    resource_group_name=example_resource_group.name)\nexample_account = azure.storage.Account(\"example\",\n    name=\"examplestorageacc\",\n    resource_group_name=example_resource_group.name,\n    location=example_resource_group.location,\n    account_tier=\"Standard\",\n    account_replication_type=\"LRS\",\n    account_kind=\"StorageV2\",\n    is_hns_enabled=True)\nexample_data_lake_gen2_filesystem = azure.storage.DataLakeGen2Filesystem(\"example\",\n    name=\"example\",\n    storage_account_id=example_account.id)\nexample_workspace = azure.synapse.Workspace(\"example\",\n    name=\"example\",\n    resource_group_name=example_resource_group.name,\n    location=example_resource_group.location,\n    storage_data_lake_gen2_filesystem_id=example_data_lake_gen2_filesystem.id,\n    sql_administrator_login=\"sqladminuser\",\n    sql_administrator_login_password=\"H@Sh1CoR3!\",\n    identity={\n        \"type\": \"SystemAssigned\",\n    })\nexample_output_synapse = azure.streamanalytics.OutputSynapse(\"example\",\n    name=\"example-output-synapse\",\n    stream_analytics_job_name=example.name,\n    resource_group_name=example.resource_group_name,\n    server=example_workspace.connectivity_endpoints[\"sqlOnDemand\"],\n    user=example_workspace.sql_administrator_login,\n    password=example_workspace.sql_administrator_login_password,\n    database=\"master\",\n    table=\"ExampleTable\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleResourceGroup = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"rg-example\",\n        Location = \"West Europe\",\n    });\n\n    var example = Azure.StreamAnalytics.GetJob.Invoke(new()\n    {\n        Name = \"example-job\",\n        ResourceGroupName = exampleResourceGroup.Name,\n    });\n\n    var exampleAccount = new Azure.Storage.Account(\"example\", new()\n    {\n        Name = \"examplestorageacc\",\n        ResourceGroupName = exampleResourceGroup.Name,\n        Location = exampleResourceGroup.Location,\n        AccountTier = \"Standard\",\n        AccountReplicationType = \"LRS\",\n        AccountKind = \"StorageV2\",\n        IsHnsEnabled = true,\n    });\n\n    var exampleDataLakeGen2Filesystem = new Azure.Storage.DataLakeGen2Filesystem(\"example\", new()\n    {\n        Name = \"example\",\n        StorageAccountId = exampleAccount.Id,\n    });\n\n    var exampleWorkspace = new Azure.Synapse.Workspace(\"example\", new()\n    {\n        Name = \"example\",\n        ResourceGroupName = exampleResourceGroup.Name,\n        Location = exampleResourceGroup.Location,\n        StorageDataLakeGen2FilesystemId = exampleDataLakeGen2Filesystem.Id,\n        SqlAdministratorLogin = \"sqladminuser\",\n        SqlAdministratorLoginPassword = \"H@Sh1CoR3!\",\n        Identity = new Azure.Synapse.Inputs.WorkspaceIdentityArgs\n        {\n            Type = \"SystemAssigned\",\n        },\n    });\n\n    var exampleOutputSynapse = new Azure.StreamAnalytics.OutputSynapse(\"example\", new()\n    {\n        Name = \"example-output-synapse\",\n        StreamAnalyticsJobName = example.Apply(getJobResult =\u003e getJobResult.Name),\n        ResourceGroupName = example.Apply(getJobResult =\u003e getJobResult.ResourceGroupName),\n        Server = exampleWorkspace.ConnectivityEndpoints.Apply(connectivityEndpoints =\u003e connectivityEndpoints.SqlOnDemand),\n        User = exampleWorkspace.SqlAdministratorLogin,\n        Password = exampleWorkspace.SqlAdministratorLoginPassword,\n        Database = \"master\",\n        Table = \"ExampleTable\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/streamanalytics\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/synapse\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"rg-example\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample := streamanalytics.LookupJobOutput(ctx, streamanalytics.GetJobOutputArgs{\n\t\t\tName:              pulumi.String(\"example-job\"),\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t}, nil)\n\t\texampleAccount, err := storage.NewAccount(ctx, \"example\", \u0026storage.AccountArgs{\n\t\t\tName:                   pulumi.String(\"examplestorageacc\"),\n\t\t\tResourceGroupName:      exampleResourceGroup.Name,\n\t\t\tLocation:               exampleResourceGroup.Location,\n\t\t\tAccountTier:            pulumi.String(\"Standard\"),\n\t\t\tAccountReplicationType: pulumi.String(\"LRS\"),\n\t\t\tAccountKind:            pulumi.String(\"StorageV2\"),\n\t\t\tIsHnsEnabled:           pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleDataLakeGen2Filesystem, err := storage.NewDataLakeGen2Filesystem(ctx, \"example\", \u0026storage.DataLakeGen2FilesystemArgs{\n\t\t\tName:             pulumi.String(\"example\"),\n\t\t\tStorageAccountId: exampleAccount.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleWorkspace, err := synapse.NewWorkspace(ctx, \"example\", \u0026synapse.WorkspaceArgs{\n\t\t\tName:                            pulumi.String(\"example\"),\n\t\t\tResourceGroupName:               exampleResourceGroup.Name,\n\t\t\tLocation:                        exampleResourceGroup.Location,\n\t\t\tStorageDataLakeGen2FilesystemId: exampleDataLakeGen2Filesystem.ID(),\n\t\t\tSqlAdministratorLogin:           pulumi.String(\"sqladminuser\"),\n\t\t\tSqlAdministratorLoginPassword:   pulumi.String(\"H@Sh1CoR3!\"),\n\t\t\tIdentity: \u0026synapse.WorkspaceIdentityArgs{\n\t\t\t\tType: pulumi.String(\"SystemAssigned\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = streamanalytics.NewOutputSynapse(ctx, \"example\", \u0026streamanalytics.OutputSynapseArgs{\n\t\t\tName: pulumi.String(\"example-output-synapse\"),\n\t\t\tStreamAnalyticsJobName: pulumi.String(example.ApplyT(func(example streamanalytics.GetJobResult) (*string, error) {\n\t\t\t\treturn \u0026example.Name, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tResourceGroupName: pulumi.String(example.ApplyT(func(example streamanalytics.GetJobResult) (*string, error) {\n\t\t\t\treturn \u0026example.ResourceGroupName, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tServer: exampleWorkspace.ConnectivityEndpoints.ApplyT(func(connectivityEndpoints map[string]string) (string, error) {\n\t\t\t\treturn connectivityEndpoints.SqlOnDemand, nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t\tUser:     exampleWorkspace.SqlAdministratorLogin,\n\t\t\tPassword: exampleWorkspace.SqlAdministratorLoginPassword,\n\t\t\tDatabase: pulumi.String(\"master\"),\n\t\t\tTable:    pulumi.String(\"ExampleTable\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.streamanalytics.StreamanalyticsFunctions;\nimport com.pulumi.azure.streamanalytics.inputs.GetJobArgs;\nimport com.pulumi.azure.storage.Account;\nimport com.pulumi.azure.storage.AccountArgs;\nimport com.pulumi.azure.storage.DataLakeGen2Filesystem;\nimport com.pulumi.azure.storage.DataLakeGen2FilesystemArgs;\nimport com.pulumi.azure.synapse.Workspace;\nimport com.pulumi.azure.synapse.WorkspaceArgs;\nimport com.pulumi.azure.synapse.inputs.WorkspaceIdentityArgs;\nimport com.pulumi.azure.streamanalytics.OutputSynapse;\nimport com.pulumi.azure.streamanalytics.OutputSynapseArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var exampleResourceGroup = new ResourceGroup(\"exampleResourceGroup\", ResourceGroupArgs.builder()\n            .name(\"rg-example\")\n            .location(\"West Europe\")\n            .build());\n\n        final var example = StreamanalyticsFunctions.getJob(GetJobArgs.builder()\n            .name(\"example-job\")\n            .resourceGroupName(exampleResourceGroup.name())\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"examplestorageacc\")\n            .resourceGroupName(exampleResourceGroup.name())\n            .location(exampleResourceGroup.location())\n            .accountTier(\"Standard\")\n            .accountReplicationType(\"LRS\")\n            .accountKind(\"StorageV2\")\n            .isHnsEnabled(true)\n            .build());\n\n        var exampleDataLakeGen2Filesystem = new DataLakeGen2Filesystem(\"exampleDataLakeGen2Filesystem\", DataLakeGen2FilesystemArgs.builder()\n            .name(\"example\")\n            .storageAccountId(exampleAccount.id())\n            .build());\n\n        var exampleWorkspace = new Workspace(\"exampleWorkspace\", WorkspaceArgs.builder()\n            .name(\"example\")\n            .resourceGroupName(exampleResourceGroup.name())\n            .location(exampleResourceGroup.location())\n            .storageDataLakeGen2FilesystemId(exampleDataLakeGen2Filesystem.id())\n            .sqlAdministratorLogin(\"sqladminuser\")\n            .sqlAdministratorLoginPassword(\"H@Sh1CoR3!\")\n            .identity(WorkspaceIdentityArgs.builder()\n                .type(\"SystemAssigned\")\n                .build())\n            .build());\n\n        var exampleOutputSynapse = new OutputSynapse(\"exampleOutputSynapse\", OutputSynapseArgs.builder()\n            .name(\"example-output-synapse\")\n            .streamAnalyticsJobName(example.applyValue(_example -\u003e _example.name()))\n            .resourceGroupName(example.applyValue(_example -\u003e _example.resourceGroupName()))\n            .server(exampleWorkspace.connectivityEndpoints().applyValue(_connectivityEndpoints -\u003e _connectivityEndpoints.sqlOnDemand()))\n            .user(exampleWorkspace.sqlAdministratorLogin())\n            .password(exampleWorkspace.sqlAdministratorLoginPassword())\n            .database(\"master\")\n            .table(\"ExampleTable\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleResourceGroup:\n    type: azure:core:ResourceGroup\n    name: example\n    properties:\n      name: rg-example\n      location: West Europe\n  exampleAccount:\n    type: azure:storage:Account\n    name: example\n    properties:\n      name: examplestorageacc\n      resourceGroupName: ${exampleResourceGroup.name}\n      location: ${exampleResourceGroup.location}\n      accountTier: Standard\n      accountReplicationType: LRS\n      accountKind: StorageV2\n      isHnsEnabled: 'true'\n  exampleDataLakeGen2Filesystem:\n    type: azure:storage:DataLakeGen2Filesystem\n    name: example\n    properties:\n      name: example\n      storageAccountId: ${exampleAccount.id}\n  exampleWorkspace:\n    type: azure:synapse:Workspace\n    name: example\n    properties:\n      name: example\n      resourceGroupName: ${exampleResourceGroup.name}\n      location: ${exampleResourceGroup.location}\n      storageDataLakeGen2FilesystemId: ${exampleDataLakeGen2Filesystem.id}\n      sqlAdministratorLogin: sqladminuser\n      sqlAdministratorLoginPassword: H@Sh1CoR3!\n      identity:\n        type: SystemAssigned\n  exampleOutputSynapse:\n    type: azure:streamanalytics:OutputSynapse\n    name: example\n    properties:\n      name: example-output-synapse\n      streamAnalyticsJobName: ${example.name}\n      resourceGroupName: ${example.resourceGroupName}\n      server: ${exampleWorkspace.connectivityEndpoints.sqlOnDemand}\n      user: ${exampleWorkspace.sqlAdministratorLogin}\n      password: ${exampleWorkspace.sqlAdministratorLoginPassword}\n      database: master\n      table: ExampleTable\nvariables:\n  example:\n    fn::invoke:\n      function: azure:streamanalytics:getJob\n      arguments:\n        name: example-job\n        resourceGroupName: ${exampleResourceGroup.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.StreamAnalytics` - 2021-10-01-preview\n\n## Import\n\nA Stream Analytics Output to an Azure Synapse Analytics Workspace can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:streamanalytics/outputSynapse:OutputSynapse example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.StreamAnalytics/streamingJobs/job1/outputs/output1\n```\n\n","properties":{"database":{"type":"string","description":"The name of the Azure SQL database. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"The name of the Stream Output. Changing this forces a new resource to be created.\n"},"password":{"type":"string","description":"The password that will be used to connect to the Azure SQL database.\n","secret":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Stream Analytics Job exists. Changing this forces a new resource to be created.\n"},"server":{"type":"string","description":"The name of the SQL server containing the Azure SQL database. Changing this forces a new resource to be created.\n"},"streamAnalyticsJobName":{"type":"string","description":"The name of the Stream Analytics Job. Changing this forces a new resource to be created.\n"},"table":{"type":"string","description":"The name of the table in the Azure SQL database. Changing this forces a new resource to be created.\n"},"user":{"type":"string","description":"The user name that will be used to connect to the Azure SQL database. Changing this forces a new resource to be created.\n"}},"required":["database","name","password","resourceGroupName","server","streamAnalyticsJobName","table","user"],"inputProperties":{"database":{"type":"string","description":"The name of the Azure SQL database. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the Stream Output. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"password":{"type":"string","description":"The password that will be used to connect to the Azure SQL database.\n","secret":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Stream Analytics Job exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"server":{"type":"string","description":"The name of the SQL server containing the Azure SQL database. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"streamAnalyticsJobName":{"type":"string","description":"The name of the Stream Analytics Job. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"table":{"type":"string","description":"The name of the table in the Azure SQL database. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"user":{"type":"string","description":"The user name that will be used to connect to the Azure SQL database. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["database","password","resourceGroupName","server","streamAnalyticsJobName","table","user"],"stateInputs":{"description":"Input properties used for looking up and filtering OutputSynapse resources.\n","properties":{"database":{"type":"string","description":"The name of the Azure SQL database. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the Stream Output. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"password":{"type":"string","description":"The password that will be used to connect to the Azure SQL database.\n","secret":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Stream Analytics Job exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"server":{"type":"string","description":"The name of the SQL server containing the Azure SQL database. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"streamAnalyticsJobName":{"type":"string","description":"The name of the Stream Analytics Job. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"table":{"type":"string","description":"The name of the table in the Azure SQL database. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"user":{"type":"string","description":"The user name that will be used to connect to the Azure SQL database. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:streamanalytics/outputTable:OutputTable":{"description":"Manages a Stream Analytics Output Table.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"example\", {\n    name: \"rg-example\",\n    location: \"West Europe\",\n});\nconst example = azure.streamanalytics.getJobOutput({\n    name: \"example-job\",\n    resourceGroupName: exampleResourceGroup.name,\n});\nconst exampleAccount = new azure.storage.Account(\"example\", {\n    name: \"examplesa\",\n    resourceGroupName: exampleResourceGroup.name,\n    location: exampleResourceGroup.location,\n    accountTier: \"Standard\",\n    accountReplicationType: \"LRS\",\n});\nconst exampleTable = new azure.storage.Table(\"example\", {\n    name: \"exampletable\",\n    storageAccountName: exampleAccount.name,\n});\nconst exampleOutputTable = new azure.streamanalytics.OutputTable(\"example\", {\n    name: \"output-to-storage-table\",\n    streamAnalyticsJobName: example.apply(example =\u003e example.name),\n    resourceGroupName: example.apply(example =\u003e example.resourceGroupName),\n    storageAccountName: exampleAccount.name,\n    storageAccountKey: exampleAccount.primaryAccessKey,\n    table: exampleTable.name,\n    partitionKey: \"foo\",\n    rowKey: \"bar\",\n    batchSize: 100,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"example\",\n    name=\"rg-example\",\n    location=\"West Europe\")\nexample = azure.streamanalytics.get_job_output(name=\"example-job\",\n    resource_group_name=example_resource_group.name)\nexample_account = azure.storage.Account(\"example\",\n    name=\"examplesa\",\n    resource_group_name=example_resource_group.name,\n    location=example_resource_group.location,\n    account_tier=\"Standard\",\n    account_replication_type=\"LRS\")\nexample_table = azure.storage.Table(\"example\",\n    name=\"exampletable\",\n    storage_account_name=example_account.name)\nexample_output_table = azure.streamanalytics.OutputTable(\"example\",\n    name=\"output-to-storage-table\",\n    stream_analytics_job_name=example.name,\n    resource_group_name=example.resource_group_name,\n    storage_account_name=example_account.name,\n    storage_account_key=example_account.primary_access_key,\n    table=example_table.name,\n    partition_key=\"foo\",\n    row_key=\"bar\",\n    batch_size=100)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleResourceGroup = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"rg-example\",\n        Location = \"West Europe\",\n    });\n\n    var example = Azure.StreamAnalytics.GetJob.Invoke(new()\n    {\n        Name = \"example-job\",\n        ResourceGroupName = exampleResourceGroup.Name,\n    });\n\n    var exampleAccount = new Azure.Storage.Account(\"example\", new()\n    {\n        Name = \"examplesa\",\n        ResourceGroupName = exampleResourceGroup.Name,\n        Location = exampleResourceGroup.Location,\n        AccountTier = \"Standard\",\n        AccountReplicationType = \"LRS\",\n    });\n\n    var exampleTable = new Azure.Storage.Table(\"example\", new()\n    {\n        Name = \"exampletable\",\n        StorageAccountName = exampleAccount.Name,\n    });\n\n    var exampleOutputTable = new Azure.StreamAnalytics.OutputTable(\"example\", new()\n    {\n        Name = \"output-to-storage-table\",\n        StreamAnalyticsJobName = example.Apply(getJobResult =\u003e getJobResult.Name),\n        ResourceGroupName = example.Apply(getJobResult =\u003e getJobResult.ResourceGroupName),\n        StorageAccountName = exampleAccount.Name,\n        StorageAccountKey = exampleAccount.PrimaryAccessKey,\n        Table = exampleTable.Name,\n        PartitionKey = \"foo\",\n        RowKey = \"bar\",\n        BatchSize = 100,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/streamanalytics\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"rg-example\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample := streamanalytics.LookupJobOutput(ctx, streamanalytics.GetJobOutputArgs{\n\t\t\tName:              pulumi.String(\"example-job\"),\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t}, nil)\n\t\texampleAccount, err := storage.NewAccount(ctx, \"example\", \u0026storage.AccountArgs{\n\t\t\tName:                   pulumi.String(\"examplesa\"),\n\t\t\tResourceGroupName:      exampleResourceGroup.Name,\n\t\t\tLocation:               exampleResourceGroup.Location,\n\t\t\tAccountTier:            pulumi.String(\"Standard\"),\n\t\t\tAccountReplicationType: pulumi.String(\"LRS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleTable, err := storage.NewTable(ctx, \"example\", \u0026storage.TableArgs{\n\t\t\tName:               pulumi.String(\"exampletable\"),\n\t\t\tStorageAccountName: exampleAccount.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = streamanalytics.NewOutputTable(ctx, \"example\", \u0026streamanalytics.OutputTableArgs{\n\t\t\tName: pulumi.String(\"output-to-storage-table\"),\n\t\t\tStreamAnalyticsJobName: pulumi.String(example.ApplyT(func(example streamanalytics.GetJobResult) (*string, error) {\n\t\t\t\treturn \u0026example.Name, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tResourceGroupName: pulumi.String(example.ApplyT(func(example streamanalytics.GetJobResult) (*string, error) {\n\t\t\t\treturn \u0026example.ResourceGroupName, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tStorageAccountName: exampleAccount.Name,\n\t\t\tStorageAccountKey:  exampleAccount.PrimaryAccessKey,\n\t\t\tTable:              exampleTable.Name,\n\t\t\tPartitionKey:       pulumi.String(\"foo\"),\n\t\t\tRowKey:             pulumi.String(\"bar\"),\n\t\t\tBatchSize:          pulumi.Int(100),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.streamanalytics.StreamanalyticsFunctions;\nimport com.pulumi.azure.streamanalytics.inputs.GetJobArgs;\nimport com.pulumi.azure.storage.Account;\nimport com.pulumi.azure.storage.AccountArgs;\nimport com.pulumi.azure.storage.Table;\nimport com.pulumi.azure.storage.TableArgs;\nimport com.pulumi.azure.streamanalytics.OutputTable;\nimport com.pulumi.azure.streamanalytics.OutputTableArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var exampleResourceGroup = new ResourceGroup(\"exampleResourceGroup\", ResourceGroupArgs.builder()\n            .name(\"rg-example\")\n            .location(\"West Europe\")\n            .build());\n\n        final var example = StreamanalyticsFunctions.getJob(GetJobArgs.builder()\n            .name(\"example-job\")\n            .resourceGroupName(exampleResourceGroup.name())\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"examplesa\")\n            .resourceGroupName(exampleResourceGroup.name())\n            .location(exampleResourceGroup.location())\n            .accountTier(\"Standard\")\n            .accountReplicationType(\"LRS\")\n            .build());\n\n        var exampleTable = new Table(\"exampleTable\", TableArgs.builder()\n            .name(\"exampletable\")\n            .storageAccountName(exampleAccount.name())\n            .build());\n\n        var exampleOutputTable = new OutputTable(\"exampleOutputTable\", OutputTableArgs.builder()\n            .name(\"output-to-storage-table\")\n            .streamAnalyticsJobName(example.applyValue(_example -\u003e _example.name()))\n            .resourceGroupName(example.applyValue(_example -\u003e _example.resourceGroupName()))\n            .storageAccountName(exampleAccount.name())\n            .storageAccountKey(exampleAccount.primaryAccessKey())\n            .table(exampleTable.name())\n            .partitionKey(\"foo\")\n            .rowKey(\"bar\")\n            .batchSize(100)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleResourceGroup:\n    type: azure:core:ResourceGroup\n    name: example\n    properties:\n      name: rg-example\n      location: West Europe\n  exampleAccount:\n    type: azure:storage:Account\n    name: example\n    properties:\n      name: examplesa\n      resourceGroupName: ${exampleResourceGroup.name}\n      location: ${exampleResourceGroup.location}\n      accountTier: Standard\n      accountReplicationType: LRS\n  exampleTable:\n    type: azure:storage:Table\n    name: example\n    properties:\n      name: exampletable\n      storageAccountName: ${exampleAccount.name}\n  exampleOutputTable:\n    type: azure:streamanalytics:OutputTable\n    name: example\n    properties:\n      name: output-to-storage-table\n      streamAnalyticsJobName: ${example.name}\n      resourceGroupName: ${example.resourceGroupName}\n      storageAccountName: ${exampleAccount.name}\n      storageAccountKey: ${exampleAccount.primaryAccessKey}\n      table: ${exampleTable.name}\n      partitionKey: foo\n      rowKey: bar\n      batchSize: 100\nvariables:\n  example:\n    fn::invoke:\n      function: azure:streamanalytics:getJob\n      arguments:\n        name: example-job\n        resourceGroupName: ${exampleResourceGroup.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.StreamAnalytics` - 2021-10-01-preview\n\n## Import\n\nStream Analytics Output to Table can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:streamanalytics/outputTable:OutputTable example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.StreamAnalytics/streamingJobs/job1/outputs/output1\n```\n\n","properties":{"batchSize":{"type":"integer","description":"The number of records for a batch operation. Must be between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`100`\" pulumi-lang-dotnet=\"`100`\" pulumi-lang-go=\"`100`\" pulumi-lang-python=\"`100`\" pulumi-lang-yaml=\"`100`\" pulumi-lang-java=\"`100`\"\u003e`100`\u003c/span\u003e.\n"},"columnsToRemoves":{"type":"array","items":{"type":"string"},"description":"A list of the column names to be removed from output event entities.\n"},"name":{"type":"string","description":"The name of the Stream Output. Changing this forces a new resource to be created.\n"},"partitionKey":{"type":"string","description":"The name of the output column that contains the partition key.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Stream Analytics Job exists. Changing this forces a new resource to be created.\n"},"rowKey":{"type":"string","description":"The name of the output column that contains the row key.\n"},"storageAccountKey":{"type":"string","description":"The Access Key which should be used to connect to this Storage Account.\n","secret":true},"storageAccountName":{"type":"string","description":"The name of the Storage Account.\n"},"streamAnalyticsJobName":{"type":"string","description":"The name of the Stream Analytics Job. Changing this forces a new resource to be created.\n"},"table":{"type":"string","description":"The name of the table where the stream should be output to.\n"}},"required":["batchSize","name","partitionKey","resourceGroupName","rowKey","storageAccountKey","storageAccountName","streamAnalyticsJobName","table"],"inputProperties":{"batchSize":{"type":"integer","description":"The number of records for a batch operation. Must be between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`100`\" pulumi-lang-dotnet=\"`100`\" pulumi-lang-go=\"`100`\" pulumi-lang-python=\"`100`\" pulumi-lang-yaml=\"`100`\" pulumi-lang-java=\"`100`\"\u003e`100`\u003c/span\u003e.\n"},"columnsToRemoves":{"type":"array","items":{"type":"string"},"description":"A list of the column names to be removed from output event entities.\n"},"name":{"type":"string","description":"The name of the Stream Output. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"partitionKey":{"type":"string","description":"The name of the output column that contains the partition key.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Stream Analytics Job exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"rowKey":{"type":"string","description":"The name of the output column that contains the row key.\n"},"storageAccountKey":{"type":"string","description":"The Access Key which should be used to connect to this Storage Account.\n","secret":true},"storageAccountName":{"type":"string","description":"The name of the Storage Account.\n"},"streamAnalyticsJobName":{"type":"string","description":"The name of the Stream Analytics Job. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"table":{"type":"string","description":"The name of the table where the stream should be output to.\n"}},"requiredInputs":["batchSize","partitionKey","resourceGroupName","rowKey","storageAccountKey","storageAccountName","streamAnalyticsJobName","table"],"stateInputs":{"description":"Input properties used for looking up and filtering OutputTable resources.\n","properties":{"batchSize":{"type":"integer","description":"The number of records for a batch operation. Must be between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`100`\" pulumi-lang-dotnet=\"`100`\" pulumi-lang-go=\"`100`\" pulumi-lang-python=\"`100`\" pulumi-lang-yaml=\"`100`\" pulumi-lang-java=\"`100`\"\u003e`100`\u003c/span\u003e.\n"},"columnsToRemoves":{"type":"array","items":{"type":"string"},"description":"A list of the column names to be removed from output event entities.\n"},"name":{"type":"string","description":"The name of the Stream Output. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"partitionKey":{"type":"string","description":"The name of the output column that contains the partition key.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Stream Analytics Job exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"rowKey":{"type":"string","description":"The name of the output column that contains the row key.\n"},"storageAccountKey":{"type":"string","description":"The Access Key which should be used to connect to this Storage Account.\n","secret":true},"storageAccountName":{"type":"string","description":"The name of the Storage Account.\n"},"streamAnalyticsJobName":{"type":"string","description":"The name of the Stream Analytics Job. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"table":{"type":"string","description":"The name of the table where the stream should be output to.\n"}},"type":"object"}},"azure:streamanalytics/referenceInputBlob:ReferenceInputBlob":{"description":"Manages a Stream Analytics Reference Input Blob. Reference data (also known as a lookup table) is a finite data set that is static or slowly changing in nature, used to perform a lookup or to correlate with your data stream. Learn more [here](https://docs.microsoft.com/azure/stream-analytics/stream-analytics-use-reference-data#azure-blob-storage).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst example = azure.streamanalytics.getJobOutput({\n    name: \"example-job\",\n    resourceGroupName: exampleResourceGroup.name,\n});\nconst exampleAccount = new azure.storage.Account(\"example\", {\n    name: \"examplestoracc\",\n    resourceGroupName: exampleResourceGroup.name,\n    location: exampleResourceGroup.location,\n    accountTier: \"Standard\",\n    accountReplicationType: \"LRS\",\n});\nconst exampleContainer = new azure.storage.Container(\"example\", {\n    name: \"example\",\n    storageAccountName: exampleAccount.name,\n    containerAccessType: \"private\",\n});\nconst test = new azure.streamanalytics.ReferenceInputBlob(\"test\", {\n    name: \"blob-reference-input\",\n    streamAnalyticsJobName: example.apply(example =\u003e example.name),\n    resourceGroupName: example.apply(example =\u003e example.resourceGroupName),\n    storageAccountName: exampleAccount.name,\n    storageAccountKey: exampleAccount.primaryAccessKey,\n    storageContainerName: exampleContainer.name,\n    pathPattern: \"some-random-pattern\",\n    dateFormat: \"yyyy/MM/dd\",\n    timeFormat: \"HH\",\n    serialization: {\n        type: \"Json\",\n        encoding: \"UTF8\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample = azure.streamanalytics.get_job_output(name=\"example-job\",\n    resource_group_name=example_resource_group.name)\nexample_account = azure.storage.Account(\"example\",\n    name=\"examplestoracc\",\n    resource_group_name=example_resource_group.name,\n    location=example_resource_group.location,\n    account_tier=\"Standard\",\n    account_replication_type=\"LRS\")\nexample_container = azure.storage.Container(\"example\",\n    name=\"example\",\n    storage_account_name=example_account.name,\n    container_access_type=\"private\")\ntest = azure.streamanalytics.ReferenceInputBlob(\"test\",\n    name=\"blob-reference-input\",\n    stream_analytics_job_name=example.name,\n    resource_group_name=example.resource_group_name,\n    storage_account_name=example_account.name,\n    storage_account_key=example_account.primary_access_key,\n    storage_container_name=example_container.name,\n    path_pattern=\"some-random-pattern\",\n    date_format=\"yyyy/MM/dd\",\n    time_format=\"HH\",\n    serialization={\n        \"type\": \"Json\",\n        \"encoding\": \"UTF8\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleResourceGroup = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var example = Azure.StreamAnalytics.GetJob.Invoke(new()\n    {\n        Name = \"example-job\",\n        ResourceGroupName = exampleResourceGroup.Name,\n    });\n\n    var exampleAccount = new Azure.Storage.Account(\"example\", new()\n    {\n        Name = \"examplestoracc\",\n        ResourceGroupName = exampleResourceGroup.Name,\n        Location = exampleResourceGroup.Location,\n        AccountTier = \"Standard\",\n        AccountReplicationType = \"LRS\",\n    });\n\n    var exampleContainer = new Azure.Storage.Container(\"example\", new()\n    {\n        Name = \"example\",\n        StorageAccountName = exampleAccount.Name,\n        ContainerAccessType = \"private\",\n    });\n\n    var test = new Azure.StreamAnalytics.ReferenceInputBlob(\"test\", new()\n    {\n        Name = \"blob-reference-input\",\n        StreamAnalyticsJobName = example.Apply(getJobResult =\u003e getJobResult.Name),\n        ResourceGroupName = example.Apply(getJobResult =\u003e getJobResult.ResourceGroupName),\n        StorageAccountName = exampleAccount.Name,\n        StorageAccountKey = exampleAccount.PrimaryAccessKey,\n        StorageContainerName = exampleContainer.Name,\n        PathPattern = \"some-random-pattern\",\n        DateFormat = \"yyyy/MM/dd\",\n        TimeFormat = \"HH\",\n        Serialization = new Azure.StreamAnalytics.Inputs.ReferenceInputBlobSerializationArgs\n        {\n            Type = \"Json\",\n            Encoding = \"UTF8\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/streamanalytics\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample := streamanalytics.LookupJobOutput(ctx, streamanalytics.GetJobOutputArgs{\n\t\t\tName:              pulumi.String(\"example-job\"),\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t}, nil)\n\t\texampleAccount, err := storage.NewAccount(ctx, \"example\", \u0026storage.AccountArgs{\n\t\t\tName:                   pulumi.String(\"examplestoracc\"),\n\t\t\tResourceGroupName:      exampleResourceGroup.Name,\n\t\t\tLocation:               exampleResourceGroup.Location,\n\t\t\tAccountTier:            pulumi.String(\"Standard\"),\n\t\t\tAccountReplicationType: pulumi.String(\"LRS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleContainer, err := storage.NewContainer(ctx, \"example\", \u0026storage.ContainerArgs{\n\t\t\tName:                pulumi.String(\"example\"),\n\t\t\tStorageAccountName:  exampleAccount.Name,\n\t\t\tContainerAccessType: pulumi.String(\"private\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = streamanalytics.NewReferenceInputBlob(ctx, \"test\", \u0026streamanalytics.ReferenceInputBlobArgs{\n\t\t\tName: pulumi.String(\"blob-reference-input\"),\n\t\t\tStreamAnalyticsJobName: pulumi.String(example.ApplyT(func(example streamanalytics.GetJobResult) (*string, error) {\n\t\t\t\treturn \u0026example.Name, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tResourceGroupName: pulumi.String(example.ApplyT(func(example streamanalytics.GetJobResult) (*string, error) {\n\t\t\t\treturn \u0026example.ResourceGroupName, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tStorageAccountName:   exampleAccount.Name,\n\t\t\tStorageAccountKey:    exampleAccount.PrimaryAccessKey,\n\t\t\tStorageContainerName: exampleContainer.Name,\n\t\t\tPathPattern:          pulumi.String(\"some-random-pattern\"),\n\t\t\tDateFormat:           pulumi.String(\"yyyy/MM/dd\"),\n\t\t\tTimeFormat:           pulumi.String(\"HH\"),\n\t\t\tSerialization: \u0026streamanalytics.ReferenceInputBlobSerializationArgs{\n\t\t\t\tType:     pulumi.String(\"Json\"),\n\t\t\t\tEncoding: pulumi.String(\"UTF8\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.streamanalytics.StreamanalyticsFunctions;\nimport com.pulumi.azure.streamanalytics.inputs.GetJobArgs;\nimport com.pulumi.azure.storage.Account;\nimport com.pulumi.azure.storage.AccountArgs;\nimport com.pulumi.azure.storage.Container;\nimport com.pulumi.azure.storage.ContainerArgs;\nimport com.pulumi.azure.streamanalytics.ReferenceInputBlob;\nimport com.pulumi.azure.streamanalytics.ReferenceInputBlobArgs;\nimport com.pulumi.azure.streamanalytics.inputs.ReferenceInputBlobSerializationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var exampleResourceGroup = new ResourceGroup(\"exampleResourceGroup\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        final var example = StreamanalyticsFunctions.getJob(GetJobArgs.builder()\n            .name(\"example-job\")\n            .resourceGroupName(exampleResourceGroup.name())\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"examplestoracc\")\n            .resourceGroupName(exampleResourceGroup.name())\n            .location(exampleResourceGroup.location())\n            .accountTier(\"Standard\")\n            .accountReplicationType(\"LRS\")\n            .build());\n\n        var exampleContainer = new Container(\"exampleContainer\", ContainerArgs.builder()\n            .name(\"example\")\n            .storageAccountName(exampleAccount.name())\n            .containerAccessType(\"private\")\n            .build());\n\n        var test = new ReferenceInputBlob(\"test\", ReferenceInputBlobArgs.builder()\n            .name(\"blob-reference-input\")\n            .streamAnalyticsJobName(example.applyValue(_example -\u003e _example.name()))\n            .resourceGroupName(example.applyValue(_example -\u003e _example.resourceGroupName()))\n            .storageAccountName(exampleAccount.name())\n            .storageAccountKey(exampleAccount.primaryAccessKey())\n            .storageContainerName(exampleContainer.name())\n            .pathPattern(\"some-random-pattern\")\n            .dateFormat(\"yyyy/MM/dd\")\n            .timeFormat(\"HH\")\n            .serialization(ReferenceInputBlobSerializationArgs.builder()\n                .type(\"Json\")\n                .encoding(\"UTF8\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleResourceGroup:\n    type: azure:core:ResourceGroup\n    name: example\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleAccount:\n    type: azure:storage:Account\n    name: example\n    properties:\n      name: examplestoracc\n      resourceGroupName: ${exampleResourceGroup.name}\n      location: ${exampleResourceGroup.location}\n      accountTier: Standard\n      accountReplicationType: LRS\n  exampleContainer:\n    type: azure:storage:Container\n    name: example\n    properties:\n      name: example\n      storageAccountName: ${exampleAccount.name}\n      containerAccessType: private\n  test:\n    type: azure:streamanalytics:ReferenceInputBlob\n    properties:\n      name: blob-reference-input\n      streamAnalyticsJobName: ${example.name}\n      resourceGroupName: ${example.resourceGroupName}\n      storageAccountName: ${exampleAccount.name}\n      storageAccountKey: ${exampleAccount.primaryAccessKey}\n      storageContainerName: ${exampleContainer.name}\n      pathPattern: some-random-pattern\n      dateFormat: yyyy/MM/dd\n      timeFormat: HH\n      serialization:\n        type: Json\n        encoding: UTF8\nvariables:\n  example:\n    fn::invoke:\n      function: azure:streamanalytics:getJob\n      arguments:\n        name: example-job\n        resourceGroupName: ${exampleResourceGroup.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.StreamAnalytics` - 2020-03-01\n\n## Import\n\nStream Analytics Reference Input Blob's can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:streamanalytics/referenceInputBlob:ReferenceInputBlob example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.StreamAnalytics/streamingJobs/job1/inputs/input1\n```\n\n","properties":{"authenticationMode":{"type":"string","description":"The authentication mode for the Stream Analytics Reference Input. Possible values are `Msi` and `ConnectionString`. Defaults to `ConnectionString`.\n"},"dateFormat":{"type":"string","description":"The date format. Wherever `{date}` appears in \u003cspan pulumi-lang-nodejs=\"`pathPattern`\" pulumi-lang-dotnet=\"`PathPattern`\" pulumi-lang-go=\"`pathPattern`\" pulumi-lang-python=\"`path_pattern`\" pulumi-lang-yaml=\"`pathPattern`\" pulumi-lang-java=\"`pathPattern`\"\u003e`path_pattern`\u003c/span\u003e, the value of this property is used as the date format instead.\n"},"name":{"type":"string","description":"The name of the Reference Input Blob. Changing this forces a new resource to be created.\n"},"pathPattern":{"type":"string","description":"The blob path pattern. Not a regular expression. It represents a pattern against which blob names will be matched to determine whether or not they should be included as input or output to the job.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Stream Analytics Job exists. Changing this forces a new resource to be created.\n"},"serialization":{"$ref":"#/types/azure:streamanalytics/ReferenceInputBlobSerialization:ReferenceInputBlobSerialization","description":"A \u003cspan pulumi-lang-nodejs=\"`serialization`\" pulumi-lang-dotnet=\"`Serialization`\" pulumi-lang-go=\"`serialization`\" pulumi-lang-python=\"`serialization`\" pulumi-lang-yaml=\"`serialization`\" pulumi-lang-java=\"`serialization`\"\u003e`serialization`\u003c/span\u003e block as defined below.\n"},"storageAccountKey":{"type":"string","description":"The Access Key which should be used to connect to this Storage Account. Required if \u003cspan pulumi-lang-nodejs=\"`authenticationMode`\" pulumi-lang-dotnet=\"`AuthenticationMode`\" pulumi-lang-go=\"`authenticationMode`\" pulumi-lang-python=\"`authentication_mode`\" pulumi-lang-yaml=\"`authenticationMode`\" pulumi-lang-java=\"`authenticationMode`\"\u003e`authentication_mode`\u003c/span\u003e is `ConnectionString`.\n","secret":true},"storageAccountName":{"type":"string","description":"The name of the Storage Account that has the blob container with reference data.\n"},"storageContainerName":{"type":"string","description":"The name of the Container within the Storage Account.\n"},"streamAnalyticsJobName":{"type":"string","description":"The name of the Stream Analytics Job. Changing this forces a new resource to be created.\n"},"timeFormat":{"type":"string","description":"The time format. Wherever `{time}` appears in \u003cspan pulumi-lang-nodejs=\"`pathPattern`\" pulumi-lang-dotnet=\"`PathPattern`\" pulumi-lang-go=\"`pathPattern`\" pulumi-lang-python=\"`path_pattern`\" pulumi-lang-yaml=\"`pathPattern`\" pulumi-lang-java=\"`pathPattern`\"\u003e`path_pattern`\u003c/span\u003e, the value of this property is used as the time format instead.\n"}},"required":["dateFormat","name","pathPattern","resourceGroupName","serialization","storageAccountName","storageContainerName","streamAnalyticsJobName","timeFormat"],"inputProperties":{"authenticationMode":{"type":"string","description":"The authentication mode for the Stream Analytics Reference Input. Possible values are `Msi` and `ConnectionString`. Defaults to `ConnectionString`.\n"},"dateFormat":{"type":"string","description":"The date format. Wherever `{date}` appears in \u003cspan pulumi-lang-nodejs=\"`pathPattern`\" pulumi-lang-dotnet=\"`PathPattern`\" pulumi-lang-go=\"`pathPattern`\" pulumi-lang-python=\"`path_pattern`\" pulumi-lang-yaml=\"`pathPattern`\" pulumi-lang-java=\"`pathPattern`\"\u003e`path_pattern`\u003c/span\u003e, the value of this property is used as the date format instead.\n"},"name":{"type":"string","description":"The name of the Reference Input Blob. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"pathPattern":{"type":"string","description":"The blob path pattern. Not a regular expression. It represents a pattern against which blob names will be matched to determine whether or not they should be included as input or output to the job.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Stream Analytics Job exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"serialization":{"$ref":"#/types/azure:streamanalytics/ReferenceInputBlobSerialization:ReferenceInputBlobSerialization","description":"A \u003cspan pulumi-lang-nodejs=\"`serialization`\" pulumi-lang-dotnet=\"`Serialization`\" pulumi-lang-go=\"`serialization`\" pulumi-lang-python=\"`serialization`\" pulumi-lang-yaml=\"`serialization`\" pulumi-lang-java=\"`serialization`\"\u003e`serialization`\u003c/span\u003e block as defined below.\n"},"storageAccountKey":{"type":"string","description":"The Access Key which should be used to connect to this Storage Account. Required if \u003cspan pulumi-lang-nodejs=\"`authenticationMode`\" pulumi-lang-dotnet=\"`AuthenticationMode`\" pulumi-lang-go=\"`authenticationMode`\" pulumi-lang-python=\"`authentication_mode`\" pulumi-lang-yaml=\"`authenticationMode`\" pulumi-lang-java=\"`authenticationMode`\"\u003e`authentication_mode`\u003c/span\u003e is `ConnectionString`.\n","secret":true},"storageAccountName":{"type":"string","description":"The name of the Storage Account that has the blob container with reference data.\n"},"storageContainerName":{"type":"string","description":"The name of the Container within the Storage Account.\n"},"streamAnalyticsJobName":{"type":"string","description":"The name of the Stream Analytics Job. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"timeFormat":{"type":"string","description":"The time format. Wherever `{time}` appears in \u003cspan pulumi-lang-nodejs=\"`pathPattern`\" pulumi-lang-dotnet=\"`PathPattern`\" pulumi-lang-go=\"`pathPattern`\" pulumi-lang-python=\"`path_pattern`\" pulumi-lang-yaml=\"`pathPattern`\" pulumi-lang-java=\"`pathPattern`\"\u003e`path_pattern`\u003c/span\u003e, the value of this property is used as the time format instead.\n"}},"requiredInputs":["dateFormat","pathPattern","resourceGroupName","serialization","storageAccountName","storageContainerName","streamAnalyticsJobName","timeFormat"],"stateInputs":{"description":"Input properties used for looking up and filtering ReferenceInputBlob resources.\n","properties":{"authenticationMode":{"type":"string","description":"The authentication mode for the Stream Analytics Reference Input. Possible values are `Msi` and `ConnectionString`. Defaults to `ConnectionString`.\n"},"dateFormat":{"type":"string","description":"The date format. Wherever `{date}` appears in \u003cspan pulumi-lang-nodejs=\"`pathPattern`\" pulumi-lang-dotnet=\"`PathPattern`\" pulumi-lang-go=\"`pathPattern`\" pulumi-lang-python=\"`path_pattern`\" pulumi-lang-yaml=\"`pathPattern`\" pulumi-lang-java=\"`pathPattern`\"\u003e`path_pattern`\u003c/span\u003e, the value of this property is used as the date format instead.\n"},"name":{"type":"string","description":"The name of the Reference Input Blob. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"pathPattern":{"type":"string","description":"The blob path pattern. Not a regular expression. It represents a pattern against which blob names will be matched to determine whether or not they should be included as input or output to the job.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Stream Analytics Job exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"serialization":{"$ref":"#/types/azure:streamanalytics/ReferenceInputBlobSerialization:ReferenceInputBlobSerialization","description":"A \u003cspan pulumi-lang-nodejs=\"`serialization`\" pulumi-lang-dotnet=\"`Serialization`\" pulumi-lang-go=\"`serialization`\" pulumi-lang-python=\"`serialization`\" pulumi-lang-yaml=\"`serialization`\" pulumi-lang-java=\"`serialization`\"\u003e`serialization`\u003c/span\u003e block as defined below.\n"},"storageAccountKey":{"type":"string","description":"The Access Key which should be used to connect to this Storage Account. Required if \u003cspan pulumi-lang-nodejs=\"`authenticationMode`\" pulumi-lang-dotnet=\"`AuthenticationMode`\" pulumi-lang-go=\"`authenticationMode`\" pulumi-lang-python=\"`authentication_mode`\" pulumi-lang-yaml=\"`authenticationMode`\" pulumi-lang-java=\"`authenticationMode`\"\u003e`authentication_mode`\u003c/span\u003e is `ConnectionString`.\n","secret":true},"storageAccountName":{"type":"string","description":"The name of the Storage Account that has the blob container with reference data.\n"},"storageContainerName":{"type":"string","description":"The name of the Container within the Storage Account.\n"},"streamAnalyticsJobName":{"type":"string","description":"The name of the Stream Analytics Job. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"timeFormat":{"type":"string","description":"The time format. Wherever `{time}` appears in \u003cspan pulumi-lang-nodejs=\"`pathPattern`\" pulumi-lang-dotnet=\"`PathPattern`\" pulumi-lang-go=\"`pathPattern`\" pulumi-lang-python=\"`path_pattern`\" pulumi-lang-yaml=\"`pathPattern`\" pulumi-lang-java=\"`pathPattern`\"\u003e`path_pattern`\u003c/span\u003e, the value of this property is used as the time format instead.\n"}},"type":"object"}},"azure:streamanalytics/referenceInputMssql:ReferenceInputMssql":{"description":"Manages a Stream Analytics Reference Input from MS SQL. Reference data (also known as a lookup table) is a finite data set that is static or slowly changing in nature, used to perform a lookup or to correlate with your data stream. Learn more [here](https://docs.microsoft.com/azure/stream-analytics/stream-analytics-use-reference-data#azure-sql-database).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst example = azure.streamanalytics.getJobOutput({\n    name: \"example-job\",\n    resourceGroupName: exampleResourceGroup.name,\n});\nconst exampleServer = new azure.mssql.Server(\"example\", {\n    name: \"example-sqlserver\",\n    resourceGroupName: exampleResourceGroup.name,\n    location: exampleResourceGroup.location,\n    version: \"12.0\",\n    administratorLogin: \"admin\",\n    administratorLoginPassword: \"password\",\n});\nconst exampleDatabase = new azure.mssql.Database(\"example\", {\n    name: \"example-db\",\n    serverId: exampleServer.id,\n});\nconst exampleReferenceInputMssql = new azure.streamanalytics.ReferenceInputMssql(\"example\", {\n    name: \"example-reference-input\",\n    resourceGroupName: example.apply(example =\u003e example.resourceGroupName),\n    streamAnalyticsJobName: example.apply(example =\u003e example.name),\n    server: exampleServer.fullyQualifiedDomainName,\n    database: exampleDatabase.name,\n    username: \"exampleuser\",\n    password: \"examplepassword\",\n    refreshType: \"RefreshPeriodicallyWithFull\",\n    refreshIntervalDuration: \"00:20:00\",\n    fullSnapshotQuery: `    SELECT *\n    INTO [YourOutputAlias]\n    FROM [YourInputAlias]\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample = azure.streamanalytics.get_job_output(name=\"example-job\",\n    resource_group_name=example_resource_group.name)\nexample_server = azure.mssql.Server(\"example\",\n    name=\"example-sqlserver\",\n    resource_group_name=example_resource_group.name,\n    location=example_resource_group.location,\n    version=\"12.0\",\n    administrator_login=\"admin\",\n    administrator_login_password=\"password\")\nexample_database = azure.mssql.Database(\"example\",\n    name=\"example-db\",\n    server_id=example_server.id)\nexample_reference_input_mssql = azure.streamanalytics.ReferenceInputMssql(\"example\",\n    name=\"example-reference-input\",\n    resource_group_name=example.resource_group_name,\n    stream_analytics_job_name=example.name,\n    server=example_server.fully_qualified_domain_name,\n    database=example_database.name,\n    username=\"exampleuser\",\n    password=\"examplepassword\",\n    refresh_type=\"RefreshPeriodicallyWithFull\",\n    refresh_interval_duration=\"00:20:00\",\n    full_snapshot_query=\"\"\"    SELECT *\n    INTO [YourOutputAlias]\n    FROM [YourInputAlias]\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleResourceGroup = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var example = Azure.StreamAnalytics.GetJob.Invoke(new()\n    {\n        Name = \"example-job\",\n        ResourceGroupName = exampleResourceGroup.Name,\n    });\n\n    var exampleServer = new Azure.MSSql.Server(\"example\", new()\n    {\n        Name = \"example-sqlserver\",\n        ResourceGroupName = exampleResourceGroup.Name,\n        Location = exampleResourceGroup.Location,\n        Version = \"12.0\",\n        AdministratorLogin = \"admin\",\n        AdministratorLoginPassword = \"password\",\n    });\n\n    var exampleDatabase = new Azure.MSSql.Database(\"example\", new()\n    {\n        Name = \"example-db\",\n        ServerId = exampleServer.Id,\n    });\n\n    var exampleReferenceInputMssql = new Azure.StreamAnalytics.ReferenceInputMssql(\"example\", new()\n    {\n        Name = \"example-reference-input\",\n        ResourceGroupName = example.Apply(getJobResult =\u003e getJobResult.ResourceGroupName),\n        StreamAnalyticsJobName = example.Apply(getJobResult =\u003e getJobResult.Name),\n        Server = exampleServer.FullyQualifiedDomainName,\n        Database = exampleDatabase.Name,\n        Username = \"exampleuser\",\n        Password = \"examplepassword\",\n        RefreshType = \"RefreshPeriodicallyWithFull\",\n        RefreshIntervalDuration = \"00:20:00\",\n        FullSnapshotQuery = @\"    SELECT *\n    INTO [YourOutputAlias]\n    FROM [YourInputAlias]\n\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/mssql\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/streamanalytics\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample := streamanalytics.LookupJobOutput(ctx, streamanalytics.GetJobOutputArgs{\n\t\t\tName:              pulumi.String(\"example-job\"),\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t}, nil)\n\t\texampleServer, err := mssql.NewServer(ctx, \"example\", \u0026mssql.ServerArgs{\n\t\t\tName:                       pulumi.String(\"example-sqlserver\"),\n\t\t\tResourceGroupName:          exampleResourceGroup.Name,\n\t\t\tLocation:                   exampleResourceGroup.Location,\n\t\t\tVersion:                    pulumi.String(\"12.0\"),\n\t\t\tAdministratorLogin:         pulumi.String(\"admin\"),\n\t\t\tAdministratorLoginPassword: pulumi.String(\"password\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleDatabase, err := mssql.NewDatabase(ctx, \"example\", \u0026mssql.DatabaseArgs{\n\t\t\tName:     pulumi.String(\"example-db\"),\n\t\t\tServerId: exampleServer.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = streamanalytics.NewReferenceInputMssql(ctx, \"example\", \u0026streamanalytics.ReferenceInputMssqlArgs{\n\t\t\tName: pulumi.String(\"example-reference-input\"),\n\t\t\tResourceGroupName: pulumi.String(example.ApplyT(func(example streamanalytics.GetJobResult) (*string, error) {\n\t\t\t\treturn \u0026example.ResourceGroupName, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tStreamAnalyticsJobName: pulumi.String(example.ApplyT(func(example streamanalytics.GetJobResult) (*string, error) {\n\t\t\t\treturn \u0026example.Name, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tServer:                  exampleServer.FullyQualifiedDomainName,\n\t\t\tDatabase:                exampleDatabase.Name,\n\t\t\tUsername:                pulumi.String(\"exampleuser\"),\n\t\t\tPassword:                pulumi.String(\"examplepassword\"),\n\t\t\tRefreshType:             pulumi.String(\"RefreshPeriodicallyWithFull\"),\n\t\t\tRefreshIntervalDuration: pulumi.String(\"00:20:00\"),\n\t\t\tFullSnapshotQuery:       pulumi.String(\"    SELECT *\\n    INTO [YourOutputAlias]\\n    FROM [YourInputAlias]\\n\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.streamanalytics.StreamanalyticsFunctions;\nimport com.pulumi.azure.streamanalytics.inputs.GetJobArgs;\nimport com.pulumi.azure.mssql.Server;\nimport com.pulumi.azure.mssql.ServerArgs;\nimport com.pulumi.azure.mssql.Database;\nimport com.pulumi.azure.mssql.DatabaseArgs;\nimport com.pulumi.azure.streamanalytics.ReferenceInputMssql;\nimport com.pulumi.azure.streamanalytics.ReferenceInputMssqlArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var exampleResourceGroup = new ResourceGroup(\"exampleResourceGroup\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        final var example = StreamanalyticsFunctions.getJob(GetJobArgs.builder()\n            .name(\"example-job\")\n            .resourceGroupName(exampleResourceGroup.name())\n            .build());\n\n        var exampleServer = new Server(\"exampleServer\", ServerArgs.builder()\n            .name(\"example-sqlserver\")\n            .resourceGroupName(exampleResourceGroup.name())\n            .location(exampleResourceGroup.location())\n            .version(\"12.0\")\n            .administratorLogin(\"admin\")\n            .administratorLoginPassword(\"password\")\n            .build());\n\n        var exampleDatabase = new Database(\"exampleDatabase\", DatabaseArgs.builder()\n            .name(\"example-db\")\n            .serverId(exampleServer.id())\n            .build());\n\n        var exampleReferenceInputMssql = new ReferenceInputMssql(\"exampleReferenceInputMssql\", ReferenceInputMssqlArgs.builder()\n            .name(\"example-reference-input\")\n            .resourceGroupName(example.applyValue(_example -\u003e _example.resourceGroupName()))\n            .streamAnalyticsJobName(example.applyValue(_example -\u003e _example.name()))\n            .server(exampleServer.fullyQualifiedDomainName())\n            .database(exampleDatabase.name())\n            .username(\"exampleuser\")\n            .password(\"examplepassword\")\n            .refreshType(\"RefreshPeriodicallyWithFull\")\n            .refreshIntervalDuration(\"00:20:00\")\n            .fullSnapshotQuery(\"\"\"\n    SELECT *\n    INTO [YourOutputAlias]\n    FROM [YourInputAlias]\n            \"\"\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleResourceGroup:\n    type: azure:core:ResourceGroup\n    name: example\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleServer:\n    type: azure:mssql:Server\n    name: example\n    properties:\n      name: example-sqlserver\n      resourceGroupName: ${exampleResourceGroup.name}\n      location: ${exampleResourceGroup.location}\n      version: '12.0'\n      administratorLogin: admin\n      administratorLoginPassword: password\n  exampleDatabase:\n    type: azure:mssql:Database\n    name: example\n    properties:\n      name: example-db\n      serverId: ${exampleServer.id}\n  exampleReferenceInputMssql:\n    type: azure:streamanalytics:ReferenceInputMssql\n    name: example\n    properties:\n      name: example-reference-input\n      resourceGroupName: ${example.resourceGroupName}\n      streamAnalyticsJobName: ${example.name}\n      server: ${exampleServer.fullyQualifiedDomainName}\n      database: ${exampleDatabase.name}\n      username: exampleuser\n      password: examplepassword\n      refreshType: RefreshPeriodicallyWithFull\n      refreshIntervalDuration: 00:20:00\n      fullSnapshotQuery: |2\n            SELECT *\n            INTO [YourOutputAlias]\n            FROM [YourInputAlias]\nvariables:\n  example:\n    fn::invoke:\n      function: azure:streamanalytics:getJob\n      arguments:\n        name: example-job\n        resourceGroupName: ${exampleResourceGroup.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.StreamAnalytics` - 2020-03-01\n\n## Import\n\nStream Analytics can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:streamanalytics/referenceInputMssql:ReferenceInputMssql example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.StreamAnalytics/streamingJobs/job1/inputs/input1\n```\n\n","properties":{"database":{"type":"string","description":"The MS SQL database name where the reference data exists.\n"},"deltaSnapshotQuery":{"type":"string","description":"The query used to retrieve incremental changes in the reference data from the MS SQL database. Cannot be set when \u003cspan pulumi-lang-nodejs=\"`refreshType`\" pulumi-lang-dotnet=\"`RefreshType`\" pulumi-lang-go=\"`refreshType`\" pulumi-lang-python=\"`refresh_type`\" pulumi-lang-yaml=\"`refreshType`\" pulumi-lang-java=\"`refreshType`\"\u003e`refresh_type`\u003c/span\u003e is `Static`.\n"},"fullSnapshotQuery":{"type":"string","description":"The query used to retrieve the reference data from the MS SQL database.\n"},"name":{"type":"string","description":"The name of the Reference Input MS SQL data. Changing this forces a new resource to be created.\n"},"password":{"type":"string","description":"The password to connect to the MS SQL database.\n","secret":true},"refreshIntervalDuration":{"type":"string","description":"The frequency in `hh:mm:ss` with which the reference data should be retrieved from the MS SQL database e.g. `00:20:00` for every 20 minutes. Must be set when \u003cspan pulumi-lang-nodejs=\"`refreshType`\" pulumi-lang-dotnet=\"`RefreshType`\" pulumi-lang-go=\"`refreshType`\" pulumi-lang-python=\"`refresh_type`\" pulumi-lang-yaml=\"`refreshType`\" pulumi-lang-java=\"`refreshType`\"\u003e`refresh_type`\u003c/span\u003e is `RefreshPeriodicallyWithFull` or `RefreshPeriodicallyWithDelta`.\n"},"refreshType":{"type":"string","description":"Defines whether and how the reference data should be refreshed. Accepted values are `Static`, `RefreshPeriodicallyWithFull` and `RefreshPeriodicallyWithDelta`.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Stream Analytics Job should exist. Changing this forces a new resource to be created.\n"},"server":{"type":"string","description":"The fully qualified domain name of the MS SQL server.\n"},"streamAnalyticsJobName":{"type":"string","description":"The name of the Stream Analytics Job. Changing this forces a new resource to be created.\n"},"table":{"type":"string","description":"The name of the table in the Azure SQL database.\n"},"username":{"type":"string","description":"The username to connect to the MS SQL database.\n"}},"required":["database","fullSnapshotQuery","name","password","refreshType","resourceGroupName","server","streamAnalyticsJobName","username"],"inputProperties":{"database":{"type":"string","description":"The MS SQL database name where the reference data exists.\n"},"deltaSnapshotQuery":{"type":"string","description":"The query used to retrieve incremental changes in the reference data from the MS SQL database. Cannot be set when \u003cspan pulumi-lang-nodejs=\"`refreshType`\" pulumi-lang-dotnet=\"`RefreshType`\" pulumi-lang-go=\"`refreshType`\" pulumi-lang-python=\"`refresh_type`\" pulumi-lang-yaml=\"`refreshType`\" pulumi-lang-java=\"`refreshType`\"\u003e`refresh_type`\u003c/span\u003e is `Static`.\n"},"fullSnapshotQuery":{"type":"string","description":"The query used to retrieve the reference data from the MS SQL database.\n"},"name":{"type":"string","description":"The name of the Reference Input MS SQL data. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"password":{"type":"string","description":"The password to connect to the MS SQL database.\n","secret":true},"refreshIntervalDuration":{"type":"string","description":"The frequency in `hh:mm:ss` with which the reference data should be retrieved from the MS SQL database e.g. `00:20:00` for every 20 minutes. Must be set when \u003cspan pulumi-lang-nodejs=\"`refreshType`\" pulumi-lang-dotnet=\"`RefreshType`\" pulumi-lang-go=\"`refreshType`\" pulumi-lang-python=\"`refresh_type`\" pulumi-lang-yaml=\"`refreshType`\" pulumi-lang-java=\"`refreshType`\"\u003e`refresh_type`\u003c/span\u003e is `RefreshPeriodicallyWithFull` or `RefreshPeriodicallyWithDelta`.\n"},"refreshType":{"type":"string","description":"Defines whether and how the reference data should be refreshed. Accepted values are `Static`, `RefreshPeriodicallyWithFull` and `RefreshPeriodicallyWithDelta`.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Stream Analytics Job should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"server":{"type":"string","description":"The fully qualified domain name of the MS SQL server.\n"},"streamAnalyticsJobName":{"type":"string","description":"The name of the Stream Analytics Job. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"table":{"type":"string","description":"The name of the table in the Azure SQL database.\n"},"username":{"type":"string","description":"The username to connect to the MS SQL database.\n"}},"requiredInputs":["database","fullSnapshotQuery","password","refreshType","resourceGroupName","server","streamAnalyticsJobName","username"],"stateInputs":{"description":"Input properties used for looking up and filtering ReferenceInputMssql resources.\n","properties":{"database":{"type":"string","description":"The MS SQL database name where the reference data exists.\n"},"deltaSnapshotQuery":{"type":"string","description":"The query used to retrieve incremental changes in the reference data from the MS SQL database. Cannot be set when \u003cspan pulumi-lang-nodejs=\"`refreshType`\" pulumi-lang-dotnet=\"`RefreshType`\" pulumi-lang-go=\"`refreshType`\" pulumi-lang-python=\"`refresh_type`\" pulumi-lang-yaml=\"`refreshType`\" pulumi-lang-java=\"`refreshType`\"\u003e`refresh_type`\u003c/span\u003e is `Static`.\n"},"fullSnapshotQuery":{"type":"string","description":"The query used to retrieve the reference data from the MS SQL database.\n"},"name":{"type":"string","description":"The name of the Reference Input MS SQL data. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"password":{"type":"string","description":"The password to connect to the MS SQL database.\n","secret":true},"refreshIntervalDuration":{"type":"string","description":"The frequency in `hh:mm:ss` with which the reference data should be retrieved from the MS SQL database e.g. `00:20:00` for every 20 minutes. Must be set when \u003cspan pulumi-lang-nodejs=\"`refreshType`\" pulumi-lang-dotnet=\"`RefreshType`\" pulumi-lang-go=\"`refreshType`\" pulumi-lang-python=\"`refresh_type`\" pulumi-lang-yaml=\"`refreshType`\" pulumi-lang-java=\"`refreshType`\"\u003e`refresh_type`\u003c/span\u003e is `RefreshPeriodicallyWithFull` or `RefreshPeriodicallyWithDelta`.\n"},"refreshType":{"type":"string","description":"Defines whether and how the reference data should be refreshed. Accepted values are `Static`, `RefreshPeriodicallyWithFull` and `RefreshPeriodicallyWithDelta`.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Stream Analytics Job should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"server":{"type":"string","description":"The fully qualified domain name of the MS SQL server.\n"},"streamAnalyticsJobName":{"type":"string","description":"The name of the Stream Analytics Job. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"table":{"type":"string","description":"The name of the table in the Azure SQL database.\n"},"username":{"type":"string","description":"The username to connect to the MS SQL database.\n"}},"type":"object"}},"azure:streamanalytics/streamInputBlob:StreamInputBlob":{"description":"Manages a Stream Analytics Stream Input Blob.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst example = azure.streamanalytics.getJobOutput({\n    name: \"example-job\",\n    resourceGroupName: exampleResourceGroup.name,\n});\nconst exampleAccount = new azure.storage.Account(\"example\", {\n    name: \"examplestoracc\",\n    resourceGroupName: exampleResourceGroup.name,\n    location: exampleResourceGroup.location,\n    accountTier: \"Standard\",\n    accountReplicationType: \"LRS\",\n});\nconst exampleContainer = new azure.storage.Container(\"example\", {\n    name: \"example\",\n    storageAccountName: exampleAccount.name,\n    containerAccessType: \"private\",\n});\nconst exampleStreamInputBlob = new azure.streamanalytics.StreamInputBlob(\"example\", {\n    name: \"blob-stream-input\",\n    streamAnalyticsJobName: example.apply(example =\u003e example.name),\n    resourceGroupName: example.apply(example =\u003e example.resourceGroupName),\n    storageAccountName: exampleAccount.name,\n    storageAccountKey: exampleAccount.primaryAccessKey,\n    storageContainerName: exampleContainer.name,\n    pathPattern: \"some-random-pattern\",\n    dateFormat: \"yyyy/MM/dd\",\n    timeFormat: \"HH\",\n    serialization: {\n        type: \"Json\",\n        encoding: \"UTF8\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample = azure.streamanalytics.get_job_output(name=\"example-job\",\n    resource_group_name=example_resource_group.name)\nexample_account = azure.storage.Account(\"example\",\n    name=\"examplestoracc\",\n    resource_group_name=example_resource_group.name,\n    location=example_resource_group.location,\n    account_tier=\"Standard\",\n    account_replication_type=\"LRS\")\nexample_container = azure.storage.Container(\"example\",\n    name=\"example\",\n    storage_account_name=example_account.name,\n    container_access_type=\"private\")\nexample_stream_input_blob = azure.streamanalytics.StreamInputBlob(\"example\",\n    name=\"blob-stream-input\",\n    stream_analytics_job_name=example.name,\n    resource_group_name=example.resource_group_name,\n    storage_account_name=example_account.name,\n    storage_account_key=example_account.primary_access_key,\n    storage_container_name=example_container.name,\n    path_pattern=\"some-random-pattern\",\n    date_format=\"yyyy/MM/dd\",\n    time_format=\"HH\",\n    serialization={\n        \"type\": \"Json\",\n        \"encoding\": \"UTF8\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleResourceGroup = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var example = Azure.StreamAnalytics.GetJob.Invoke(new()\n    {\n        Name = \"example-job\",\n        ResourceGroupName = exampleResourceGroup.Name,\n    });\n\n    var exampleAccount = new Azure.Storage.Account(\"example\", new()\n    {\n        Name = \"examplestoracc\",\n        ResourceGroupName = exampleResourceGroup.Name,\n        Location = exampleResourceGroup.Location,\n        AccountTier = \"Standard\",\n        AccountReplicationType = \"LRS\",\n    });\n\n    var exampleContainer = new Azure.Storage.Container(\"example\", new()\n    {\n        Name = \"example\",\n        StorageAccountName = exampleAccount.Name,\n        ContainerAccessType = \"private\",\n    });\n\n    var exampleStreamInputBlob = new Azure.StreamAnalytics.StreamInputBlob(\"example\", new()\n    {\n        Name = \"blob-stream-input\",\n        StreamAnalyticsJobName = example.Apply(getJobResult =\u003e getJobResult.Name),\n        ResourceGroupName = example.Apply(getJobResult =\u003e getJobResult.ResourceGroupName),\n        StorageAccountName = exampleAccount.Name,\n        StorageAccountKey = exampleAccount.PrimaryAccessKey,\n        StorageContainerName = exampleContainer.Name,\n        PathPattern = \"some-random-pattern\",\n        DateFormat = \"yyyy/MM/dd\",\n        TimeFormat = \"HH\",\n        Serialization = new Azure.StreamAnalytics.Inputs.StreamInputBlobSerializationArgs\n        {\n            Type = \"Json\",\n            Encoding = \"UTF8\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/streamanalytics\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample := streamanalytics.LookupJobOutput(ctx, streamanalytics.GetJobOutputArgs{\n\t\t\tName:              pulumi.String(\"example-job\"),\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t}, nil)\n\t\texampleAccount, err := storage.NewAccount(ctx, \"example\", \u0026storage.AccountArgs{\n\t\t\tName:                   pulumi.String(\"examplestoracc\"),\n\t\t\tResourceGroupName:      exampleResourceGroup.Name,\n\t\t\tLocation:               exampleResourceGroup.Location,\n\t\t\tAccountTier:            pulumi.String(\"Standard\"),\n\t\t\tAccountReplicationType: pulumi.String(\"LRS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleContainer, err := storage.NewContainer(ctx, \"example\", \u0026storage.ContainerArgs{\n\t\t\tName:                pulumi.String(\"example\"),\n\t\t\tStorageAccountName:  exampleAccount.Name,\n\t\t\tContainerAccessType: pulumi.String(\"private\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = streamanalytics.NewStreamInputBlob(ctx, \"example\", \u0026streamanalytics.StreamInputBlobArgs{\n\t\t\tName: pulumi.String(\"blob-stream-input\"),\n\t\t\tStreamAnalyticsJobName: pulumi.String(example.ApplyT(func(example streamanalytics.GetJobResult) (*string, error) {\n\t\t\t\treturn \u0026example.Name, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tResourceGroupName: pulumi.String(example.ApplyT(func(example streamanalytics.GetJobResult) (*string, error) {\n\t\t\t\treturn \u0026example.ResourceGroupName, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tStorageAccountName:   exampleAccount.Name,\n\t\t\tStorageAccountKey:    exampleAccount.PrimaryAccessKey,\n\t\t\tStorageContainerName: exampleContainer.Name,\n\t\t\tPathPattern:          pulumi.String(\"some-random-pattern\"),\n\t\t\tDateFormat:           pulumi.String(\"yyyy/MM/dd\"),\n\t\t\tTimeFormat:           pulumi.String(\"HH\"),\n\t\t\tSerialization: \u0026streamanalytics.StreamInputBlobSerializationArgs{\n\t\t\t\tType:     pulumi.String(\"Json\"),\n\t\t\t\tEncoding: pulumi.String(\"UTF8\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.streamanalytics.StreamanalyticsFunctions;\nimport com.pulumi.azure.streamanalytics.inputs.GetJobArgs;\nimport com.pulumi.azure.storage.Account;\nimport com.pulumi.azure.storage.AccountArgs;\nimport com.pulumi.azure.storage.Container;\nimport com.pulumi.azure.storage.ContainerArgs;\nimport com.pulumi.azure.streamanalytics.StreamInputBlob;\nimport com.pulumi.azure.streamanalytics.StreamInputBlobArgs;\nimport com.pulumi.azure.streamanalytics.inputs.StreamInputBlobSerializationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var exampleResourceGroup = new ResourceGroup(\"exampleResourceGroup\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        final var example = StreamanalyticsFunctions.getJob(GetJobArgs.builder()\n            .name(\"example-job\")\n            .resourceGroupName(exampleResourceGroup.name())\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"examplestoracc\")\n            .resourceGroupName(exampleResourceGroup.name())\n            .location(exampleResourceGroup.location())\n            .accountTier(\"Standard\")\n            .accountReplicationType(\"LRS\")\n            .build());\n\n        var exampleContainer = new Container(\"exampleContainer\", ContainerArgs.builder()\n            .name(\"example\")\n            .storageAccountName(exampleAccount.name())\n            .containerAccessType(\"private\")\n            .build());\n\n        var exampleStreamInputBlob = new StreamInputBlob(\"exampleStreamInputBlob\", StreamInputBlobArgs.builder()\n            .name(\"blob-stream-input\")\n            .streamAnalyticsJobName(example.applyValue(_example -\u003e _example.name()))\n            .resourceGroupName(example.applyValue(_example -\u003e _example.resourceGroupName()))\n            .storageAccountName(exampleAccount.name())\n            .storageAccountKey(exampleAccount.primaryAccessKey())\n            .storageContainerName(exampleContainer.name())\n            .pathPattern(\"some-random-pattern\")\n            .dateFormat(\"yyyy/MM/dd\")\n            .timeFormat(\"HH\")\n            .serialization(StreamInputBlobSerializationArgs.builder()\n                .type(\"Json\")\n                .encoding(\"UTF8\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleResourceGroup:\n    type: azure:core:ResourceGroup\n    name: example\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleAccount:\n    type: azure:storage:Account\n    name: example\n    properties:\n      name: examplestoracc\n      resourceGroupName: ${exampleResourceGroup.name}\n      location: ${exampleResourceGroup.location}\n      accountTier: Standard\n      accountReplicationType: LRS\n  exampleContainer:\n    type: azure:storage:Container\n    name: example\n    properties:\n      name: example\n      storageAccountName: ${exampleAccount.name}\n      containerAccessType: private\n  exampleStreamInputBlob:\n    type: azure:streamanalytics:StreamInputBlob\n    name: example\n    properties:\n      name: blob-stream-input\n      streamAnalyticsJobName: ${example.name}\n      resourceGroupName: ${example.resourceGroupName}\n      storageAccountName: ${exampleAccount.name}\n      storageAccountKey: ${exampleAccount.primaryAccessKey}\n      storageContainerName: ${exampleContainer.name}\n      pathPattern: some-random-pattern\n      dateFormat: yyyy/MM/dd\n      timeFormat: HH\n      serialization:\n        type: Json\n        encoding: UTF8\nvariables:\n  example:\n    fn::invoke:\n      function: azure:streamanalytics:getJob\n      arguments:\n        name: example-job\n        resourceGroupName: ${exampleResourceGroup.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.StreamAnalytics` - 2020-03-01\n\n## Import\n\nStream Analytics Stream Input Blob's can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:streamanalytics/streamInputBlob:StreamInputBlob example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.StreamAnalytics/streamingJobs/job1/inputs/input1\n```\n\n","properties":{"authenticationMode":{"type":"string","description":"The authentication mode for the Stream Analytics Input. Possible values are `Msi` and `ConnectionString`. Defaults to `ConnectionString`.\n"},"dateFormat":{"type":"string","description":"The date format. Wherever `{date}` appears in \u003cspan pulumi-lang-nodejs=\"`pathPattern`\" pulumi-lang-dotnet=\"`PathPattern`\" pulumi-lang-go=\"`pathPattern`\" pulumi-lang-python=\"`path_pattern`\" pulumi-lang-yaml=\"`pathPattern`\" pulumi-lang-java=\"`pathPattern`\"\u003e`path_pattern`\u003c/span\u003e, the value of this property is used as the date format instead.\n"},"name":{"type":"string","description":"The name of the Stream Input Blob. Changing this forces a new resource to be created.\n"},"pathPattern":{"type":"string","description":"The blob path pattern. Not a regular expression. It represents a pattern against which blob names will be matched to determine whether or not they should be included as input or output to the job.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Stream Analytics Job exists. Changing this forces a new resource to be created.\n"},"serialization":{"$ref":"#/types/azure:streamanalytics/StreamInputBlobSerialization:StreamInputBlobSerialization","description":"A \u003cspan pulumi-lang-nodejs=\"`serialization`\" pulumi-lang-dotnet=\"`Serialization`\" pulumi-lang-go=\"`serialization`\" pulumi-lang-python=\"`serialization`\" pulumi-lang-yaml=\"`serialization`\" pulumi-lang-java=\"`serialization`\"\u003e`serialization`\u003c/span\u003e block as defined below.\n"},"storageAccountKey":{"type":"string","description":"The Access Key which should be used to connect to this Storage Account.\n","secret":true},"storageAccountName":{"type":"string","description":"The name of the Storage Account.\n"},"storageContainerName":{"type":"string","description":"The name of the Container within the Storage Account.\n"},"streamAnalyticsJobName":{"type":"string","description":"The name of the Stream Analytics Job. Changing this forces a new resource to be created.\n"},"timeFormat":{"type":"string","description":"The time format. Wherever `{time}` appears in \u003cspan pulumi-lang-nodejs=\"`pathPattern`\" pulumi-lang-dotnet=\"`PathPattern`\" pulumi-lang-go=\"`pathPattern`\" pulumi-lang-python=\"`path_pattern`\" pulumi-lang-yaml=\"`pathPattern`\" pulumi-lang-java=\"`pathPattern`\"\u003e`path_pattern`\u003c/span\u003e, the value of this property is used as the time format instead.\n"}},"required":["dateFormat","name","pathPattern","resourceGroupName","serialization","storageAccountKey","storageAccountName","storageContainerName","streamAnalyticsJobName","timeFormat"],"inputProperties":{"authenticationMode":{"type":"string","description":"The authentication mode for the Stream Analytics Input. Possible values are `Msi` and `ConnectionString`. Defaults to `ConnectionString`.\n"},"dateFormat":{"type":"string","description":"The date format. Wherever `{date}` appears in \u003cspan pulumi-lang-nodejs=\"`pathPattern`\" pulumi-lang-dotnet=\"`PathPattern`\" pulumi-lang-go=\"`pathPattern`\" pulumi-lang-python=\"`path_pattern`\" pulumi-lang-yaml=\"`pathPattern`\" pulumi-lang-java=\"`pathPattern`\"\u003e`path_pattern`\u003c/span\u003e, the value of this property is used as the date format instead.\n"},"name":{"type":"string","description":"The name of the Stream Input Blob. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"pathPattern":{"type":"string","description":"The blob path pattern. Not a regular expression. It represents a pattern against which blob names will be matched to determine whether or not they should be included as input or output to the job.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Stream Analytics Job exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"serialization":{"$ref":"#/types/azure:streamanalytics/StreamInputBlobSerialization:StreamInputBlobSerialization","description":"A \u003cspan pulumi-lang-nodejs=\"`serialization`\" pulumi-lang-dotnet=\"`Serialization`\" pulumi-lang-go=\"`serialization`\" pulumi-lang-python=\"`serialization`\" pulumi-lang-yaml=\"`serialization`\" pulumi-lang-java=\"`serialization`\"\u003e`serialization`\u003c/span\u003e block as defined below.\n"},"storageAccountKey":{"type":"string","description":"The Access Key which should be used to connect to this Storage Account.\n","secret":true},"storageAccountName":{"type":"string","description":"The name of the Storage Account.\n"},"storageContainerName":{"type":"string","description":"The name of the Container within the Storage Account.\n"},"streamAnalyticsJobName":{"type":"string","description":"The name of the Stream Analytics Job. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"timeFormat":{"type":"string","description":"The time format. Wherever `{time}` appears in \u003cspan pulumi-lang-nodejs=\"`pathPattern`\" pulumi-lang-dotnet=\"`PathPattern`\" pulumi-lang-go=\"`pathPattern`\" pulumi-lang-python=\"`path_pattern`\" pulumi-lang-yaml=\"`pathPattern`\" pulumi-lang-java=\"`pathPattern`\"\u003e`path_pattern`\u003c/span\u003e, the value of this property is used as the time format instead.\n"}},"requiredInputs":["dateFormat","pathPattern","resourceGroupName","serialization","storageAccountKey","storageAccountName","storageContainerName","streamAnalyticsJobName","timeFormat"],"stateInputs":{"description":"Input properties used for looking up and filtering StreamInputBlob resources.\n","properties":{"authenticationMode":{"type":"string","description":"The authentication mode for the Stream Analytics Input. Possible values are `Msi` and `ConnectionString`. Defaults to `ConnectionString`.\n"},"dateFormat":{"type":"string","description":"The date format. Wherever `{date}` appears in \u003cspan pulumi-lang-nodejs=\"`pathPattern`\" pulumi-lang-dotnet=\"`PathPattern`\" pulumi-lang-go=\"`pathPattern`\" pulumi-lang-python=\"`path_pattern`\" pulumi-lang-yaml=\"`pathPattern`\" pulumi-lang-java=\"`pathPattern`\"\u003e`path_pattern`\u003c/span\u003e, the value of this property is used as the date format instead.\n"},"name":{"type":"string","description":"The name of the Stream Input Blob. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"pathPattern":{"type":"string","description":"The blob path pattern. Not a regular expression. It represents a pattern against which blob names will be matched to determine whether or not they should be included as input or output to the job.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Stream Analytics Job exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"serialization":{"$ref":"#/types/azure:streamanalytics/StreamInputBlobSerialization:StreamInputBlobSerialization","description":"A \u003cspan pulumi-lang-nodejs=\"`serialization`\" pulumi-lang-dotnet=\"`Serialization`\" pulumi-lang-go=\"`serialization`\" pulumi-lang-python=\"`serialization`\" pulumi-lang-yaml=\"`serialization`\" pulumi-lang-java=\"`serialization`\"\u003e`serialization`\u003c/span\u003e block as defined below.\n"},"storageAccountKey":{"type":"string","description":"The Access Key which should be used to connect to this Storage Account.\n","secret":true},"storageAccountName":{"type":"string","description":"The name of the Storage Account.\n"},"storageContainerName":{"type":"string","description":"The name of the Container within the Storage Account.\n"},"streamAnalyticsJobName":{"type":"string","description":"The name of the Stream Analytics Job. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"timeFormat":{"type":"string","description":"The time format. Wherever `{time}` appears in \u003cspan pulumi-lang-nodejs=\"`pathPattern`\" pulumi-lang-dotnet=\"`PathPattern`\" pulumi-lang-go=\"`pathPattern`\" pulumi-lang-python=\"`path_pattern`\" pulumi-lang-yaml=\"`pathPattern`\" pulumi-lang-java=\"`pathPattern`\"\u003e`path_pattern`\u003c/span\u003e, the value of this property is used as the time format instead.\n"}},"type":"object"}},"azure:streamanalytics/streamInputEventHub:StreamInputEventHub":{"description":"\u003e **Note:** This resource creates a Stream Input of type `Microsoft.ServiceBus/EventHub`, to create a Stream Input of type `Microsoft.EventHub/EventHub` please use the resource azurerm_stream_analytics_stream_input_eventhub_v2.\n\nManages a Stream Analytics Stream Input EventHub.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst example = azure.streamanalytics.getJobOutput({\n    name: \"example-job\",\n    resourceGroupName: exampleResourceGroup.name,\n});\nconst exampleEventHubNamespace = new azure.eventhub.EventHubNamespace(\"example\", {\n    name: \"example-namespace\",\n    location: exampleResourceGroup.location,\n    resourceGroupName: exampleResourceGroup.name,\n    sku: \"Standard\",\n    capacity: 1,\n});\nconst exampleEventHub = new azure.eventhub.EventHub(\"example\", {\n    name: \"example-eventhub\",\n    namespaceName: exampleEventHubNamespace.name,\n    resourceGroupName: exampleResourceGroup.name,\n    partitionCount: 2,\n    messageRetention: 1,\n});\nconst exampleConsumerGroup = new azure.eventhub.ConsumerGroup(\"example\", {\n    name: \"example-consumergroup\",\n    namespaceName: exampleEventHubNamespace.name,\n    eventhubName: exampleEventHub.name,\n    resourceGroupName: exampleResourceGroup.name,\n});\nconst exampleStreamInputEventHub = new azure.streamanalytics.StreamInputEventHub(\"example\", {\n    name: \"eventhub-stream-input\",\n    streamAnalyticsJobName: example.apply(example =\u003e example.name),\n    resourceGroupName: example.apply(example =\u003e example.resourceGroupName),\n    eventhubConsumerGroupName: exampleConsumerGroup.name,\n    eventhubName: exampleEventHub.name,\n    servicebusNamespace: exampleEventHubNamespace.name,\n    sharedAccessPolicyKey: exampleEventHubNamespace.defaultPrimaryKey,\n    sharedAccessPolicyName: \"RootManageSharedAccessKey\",\n    serialization: {\n        type: \"Json\",\n        encoding: \"UTF8\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample = azure.streamanalytics.get_job_output(name=\"example-job\",\n    resource_group_name=example_resource_group.name)\nexample_event_hub_namespace = azure.eventhub.EventHubNamespace(\"example\",\n    name=\"example-namespace\",\n    location=example_resource_group.location,\n    resource_group_name=example_resource_group.name,\n    sku=\"Standard\",\n    capacity=1)\nexample_event_hub = azure.eventhub.EventHub(\"example\",\n    name=\"example-eventhub\",\n    namespace_name=example_event_hub_namespace.name,\n    resource_group_name=example_resource_group.name,\n    partition_count=2,\n    message_retention=1)\nexample_consumer_group = azure.eventhub.ConsumerGroup(\"example\",\n    name=\"example-consumergroup\",\n    namespace_name=example_event_hub_namespace.name,\n    eventhub_name=example_event_hub.name,\n    resource_group_name=example_resource_group.name)\nexample_stream_input_event_hub = azure.streamanalytics.StreamInputEventHub(\"example\",\n    name=\"eventhub-stream-input\",\n    stream_analytics_job_name=example.name,\n    resource_group_name=example.resource_group_name,\n    eventhub_consumer_group_name=example_consumer_group.name,\n    eventhub_name=example_event_hub.name,\n    servicebus_namespace=example_event_hub_namespace.name,\n    shared_access_policy_key=example_event_hub_namespace.default_primary_key,\n    shared_access_policy_name=\"RootManageSharedAccessKey\",\n    serialization={\n        \"type\": \"Json\",\n        \"encoding\": \"UTF8\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleResourceGroup = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var example = Azure.StreamAnalytics.GetJob.Invoke(new()\n    {\n        Name = \"example-job\",\n        ResourceGroupName = exampleResourceGroup.Name,\n    });\n\n    var exampleEventHubNamespace = new Azure.EventHub.EventHubNamespace(\"example\", new()\n    {\n        Name = \"example-namespace\",\n        Location = exampleResourceGroup.Location,\n        ResourceGroupName = exampleResourceGroup.Name,\n        Sku = \"Standard\",\n        Capacity = 1,\n    });\n\n    var exampleEventHub = new Azure.EventHub.EventHub(\"example\", new()\n    {\n        Name = \"example-eventhub\",\n        NamespaceName = exampleEventHubNamespace.Name,\n        ResourceGroupName = exampleResourceGroup.Name,\n        PartitionCount = 2,\n        MessageRetention = 1,\n    });\n\n    var exampleConsumerGroup = new Azure.EventHub.ConsumerGroup(\"example\", new()\n    {\n        Name = \"example-consumergroup\",\n        NamespaceName = exampleEventHubNamespace.Name,\n        EventhubName = exampleEventHub.Name,\n        ResourceGroupName = exampleResourceGroup.Name,\n    });\n\n    var exampleStreamInputEventHub = new Azure.StreamAnalytics.StreamInputEventHub(\"example\", new()\n    {\n        Name = \"eventhub-stream-input\",\n        StreamAnalyticsJobName = example.Apply(getJobResult =\u003e getJobResult.Name),\n        ResourceGroupName = example.Apply(getJobResult =\u003e getJobResult.ResourceGroupName),\n        EventhubConsumerGroupName = exampleConsumerGroup.Name,\n        EventhubName = exampleEventHub.Name,\n        ServicebusNamespace = exampleEventHubNamespace.Name,\n        SharedAccessPolicyKey = exampleEventHubNamespace.DefaultPrimaryKey,\n        SharedAccessPolicyName = \"RootManageSharedAccessKey\",\n        Serialization = new Azure.StreamAnalytics.Inputs.StreamInputEventHubSerializationArgs\n        {\n            Type = \"Json\",\n            Encoding = \"UTF8\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/eventhub\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/streamanalytics\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample := streamanalytics.LookupJobOutput(ctx, streamanalytics.GetJobOutputArgs{\n\t\t\tName:              pulumi.String(\"example-job\"),\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t}, nil)\n\t\texampleEventHubNamespace, err := eventhub.NewEventHubNamespace(ctx, \"example\", \u0026eventhub.EventHubNamespaceArgs{\n\t\t\tName:              pulumi.String(\"example-namespace\"),\n\t\t\tLocation:          exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tSku:               pulumi.String(\"Standard\"),\n\t\t\tCapacity:          pulumi.Int(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleEventHub, err := eventhub.NewEventHub(ctx, \"example\", \u0026eventhub.EventHubArgs{\n\t\t\tName:              pulumi.String(\"example-eventhub\"),\n\t\t\tNamespaceName:     exampleEventHubNamespace.Name,\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tPartitionCount:    pulumi.Int(2),\n\t\t\tMessageRetention:  pulumi.Int(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleConsumerGroup, err := eventhub.NewConsumerGroup(ctx, \"example\", \u0026eventhub.ConsumerGroupArgs{\n\t\t\tName:              pulumi.String(\"example-consumergroup\"),\n\t\t\tNamespaceName:     exampleEventHubNamespace.Name,\n\t\t\tEventhubName:      exampleEventHub.Name,\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = streamanalytics.NewStreamInputEventHub(ctx, \"example\", \u0026streamanalytics.StreamInputEventHubArgs{\n\t\t\tName: pulumi.String(\"eventhub-stream-input\"),\n\t\t\tStreamAnalyticsJobName: pulumi.String(example.ApplyT(func(example streamanalytics.GetJobResult) (*string, error) {\n\t\t\t\treturn \u0026example.Name, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tResourceGroupName: pulumi.String(example.ApplyT(func(example streamanalytics.GetJobResult) (*string, error) {\n\t\t\t\treturn \u0026example.ResourceGroupName, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tEventhubConsumerGroupName: exampleConsumerGroup.Name,\n\t\t\tEventhubName:              exampleEventHub.Name,\n\t\t\tServicebusNamespace:       exampleEventHubNamespace.Name,\n\t\t\tSharedAccessPolicyKey:     exampleEventHubNamespace.DefaultPrimaryKey,\n\t\t\tSharedAccessPolicyName:    pulumi.String(\"RootManageSharedAccessKey\"),\n\t\t\tSerialization: \u0026streamanalytics.StreamInputEventHubSerializationArgs{\n\t\t\t\tType:     pulumi.String(\"Json\"),\n\t\t\t\tEncoding: pulumi.String(\"UTF8\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.streamanalytics.StreamanalyticsFunctions;\nimport com.pulumi.azure.streamanalytics.inputs.GetJobArgs;\nimport com.pulumi.azure.eventhub.EventHubNamespace;\nimport com.pulumi.azure.eventhub.EventHubNamespaceArgs;\nimport com.pulumi.azure.eventhub.EventHub;\nimport com.pulumi.azure.eventhub.EventHubArgs;\nimport com.pulumi.azure.eventhub.ConsumerGroup;\nimport com.pulumi.azure.eventhub.ConsumerGroupArgs;\nimport com.pulumi.azure.streamanalytics.StreamInputEventHub;\nimport com.pulumi.azure.streamanalytics.StreamInputEventHubArgs;\nimport com.pulumi.azure.streamanalytics.inputs.StreamInputEventHubSerializationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var exampleResourceGroup = new ResourceGroup(\"exampleResourceGroup\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        final var example = StreamanalyticsFunctions.getJob(GetJobArgs.builder()\n            .name(\"example-job\")\n            .resourceGroupName(exampleResourceGroup.name())\n            .build());\n\n        var exampleEventHubNamespace = new EventHubNamespace(\"exampleEventHubNamespace\", EventHubNamespaceArgs.builder()\n            .name(\"example-namespace\")\n            .location(exampleResourceGroup.location())\n            .resourceGroupName(exampleResourceGroup.name())\n            .sku(\"Standard\")\n            .capacity(1)\n            .build());\n\n        var exampleEventHub = new EventHub(\"exampleEventHub\", EventHubArgs.builder()\n            .name(\"example-eventhub\")\n            .namespaceName(exampleEventHubNamespace.name())\n            .resourceGroupName(exampleResourceGroup.name())\n            .partitionCount(2)\n            .messageRetention(1)\n            .build());\n\n        var exampleConsumerGroup = new ConsumerGroup(\"exampleConsumerGroup\", ConsumerGroupArgs.builder()\n            .name(\"example-consumergroup\")\n            .namespaceName(exampleEventHubNamespace.name())\n            .eventhubName(exampleEventHub.name())\n            .resourceGroupName(exampleResourceGroup.name())\n            .build());\n\n        var exampleStreamInputEventHub = new StreamInputEventHub(\"exampleStreamInputEventHub\", StreamInputEventHubArgs.builder()\n            .name(\"eventhub-stream-input\")\n            .streamAnalyticsJobName(example.applyValue(_example -\u003e _example.name()))\n            .resourceGroupName(example.applyValue(_example -\u003e _example.resourceGroupName()))\n            .eventhubConsumerGroupName(exampleConsumerGroup.name())\n            .eventhubName(exampleEventHub.name())\n            .servicebusNamespace(exampleEventHubNamespace.name())\n            .sharedAccessPolicyKey(exampleEventHubNamespace.defaultPrimaryKey())\n            .sharedAccessPolicyName(\"RootManageSharedAccessKey\")\n            .serialization(StreamInputEventHubSerializationArgs.builder()\n                .type(\"Json\")\n                .encoding(\"UTF8\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleResourceGroup:\n    type: azure:core:ResourceGroup\n    name: example\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleEventHubNamespace:\n    type: azure:eventhub:EventHubNamespace\n    name: example\n    properties:\n      name: example-namespace\n      location: ${exampleResourceGroup.location}\n      resourceGroupName: ${exampleResourceGroup.name}\n      sku: Standard\n      capacity: 1\n  exampleEventHub:\n    type: azure:eventhub:EventHub\n    name: example\n    properties:\n      name: example-eventhub\n      namespaceName: ${exampleEventHubNamespace.name}\n      resourceGroupName: ${exampleResourceGroup.name}\n      partitionCount: 2\n      messageRetention: 1\n  exampleConsumerGroup:\n    type: azure:eventhub:ConsumerGroup\n    name: example\n    properties:\n      name: example-consumergroup\n      namespaceName: ${exampleEventHubNamespace.name}\n      eventhubName: ${exampleEventHub.name}\n      resourceGroupName: ${exampleResourceGroup.name}\n  exampleStreamInputEventHub:\n    type: azure:streamanalytics:StreamInputEventHub\n    name: example\n    properties:\n      name: eventhub-stream-input\n      streamAnalyticsJobName: ${example.name}\n      resourceGroupName: ${example.resourceGroupName}\n      eventhubConsumerGroupName: ${exampleConsumerGroup.name}\n      eventhubName: ${exampleEventHub.name}\n      servicebusNamespace: ${exampleEventHubNamespace.name}\n      sharedAccessPolicyKey: ${exampleEventHubNamespace.defaultPrimaryKey}\n      sharedAccessPolicyName: RootManageSharedAccessKey\n      serialization:\n        type: Json\n        encoding: UTF8\nvariables:\n  example:\n    fn::invoke:\n      function: azure:streamanalytics:getJob\n      arguments:\n        name: example-job\n        resourceGroupName: ${exampleResourceGroup.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.StreamAnalytics` - 2020-03-01\n\n## Import\n\nStream Analytics Stream Input EventHub's can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:streamanalytics/streamInputEventHub:StreamInputEventHub example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.StreamAnalytics/streamingJobs/job1/inputs/input1\n```\n\n","properties":{"authenticationMode":{"type":"string","description":"The authentication mode for the Stream Output. Possible values are `Msi` and `ConnectionString`. Defaults to `ConnectionString`.\n"},"eventhubConsumerGroupName":{"type":"string","description":"The name of an Event Hub Consumer Group that should be used to read events from the Event Hub. Specifying distinct consumer group names for multiple inputs allows each of those inputs to receive the same events from the Event Hub. If not set the input will use the Event Hub's default consumer group.\n"},"eventhubName":{"type":"string","description":"The name of the Event Hub.\n"},"name":{"type":"string","description":"The name of the Stream Input EventHub. Changing this forces a new resource to be created.\n"},"partitionKey":{"type":"string","description":"The property the input Event Hub has been partitioned by.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Stream Analytics Job exists. Changing this forces a new resource to be created.\n"},"serialization":{"$ref":"#/types/azure:streamanalytics/StreamInputEventHubSerialization:StreamInputEventHubSerialization","description":"A \u003cspan pulumi-lang-nodejs=\"`serialization`\" pulumi-lang-dotnet=\"`Serialization`\" pulumi-lang-go=\"`serialization`\" pulumi-lang-python=\"`serialization`\" pulumi-lang-yaml=\"`serialization`\" pulumi-lang-java=\"`serialization`\"\u003e`serialization`\u003c/span\u003e block as defined below.\n"},"servicebusNamespace":{"type":"string","description":"The namespace that is associated with the desired Event Hub, Service Bus Queue, Service Bus Topic, etc.\n"},"sharedAccessPolicyKey":{"type":"string","description":"The shared access policy key for the specified shared access policy.\n","secret":true},"sharedAccessPolicyName":{"type":"string","description":"The shared access policy name for the Event Hub, Service Bus Queue, Service Bus Topic, etc.\n"},"streamAnalyticsJobName":{"type":"string","description":"The name of the Stream Analytics Job. Changing this forces a new resource to be created.\n"}},"required":["eventhubName","name","resourceGroupName","serialization","servicebusNamespace","streamAnalyticsJobName"],"inputProperties":{"authenticationMode":{"type":"string","description":"The authentication mode for the Stream Output. Possible values are `Msi` and `ConnectionString`. Defaults to `ConnectionString`.\n"},"eventhubConsumerGroupName":{"type":"string","description":"The name of an Event Hub Consumer Group that should be used to read events from the Event Hub. Specifying distinct consumer group names for multiple inputs allows each of those inputs to receive the same events from the Event Hub. If not set the input will use the Event Hub's default consumer group.\n"},"eventhubName":{"type":"string","description":"The name of the Event Hub.\n"},"name":{"type":"string","description":"The name of the Stream Input EventHub. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"partitionKey":{"type":"string","description":"The property the input Event Hub has been partitioned by.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Stream Analytics Job exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"serialization":{"$ref":"#/types/azure:streamanalytics/StreamInputEventHubSerialization:StreamInputEventHubSerialization","description":"A \u003cspan pulumi-lang-nodejs=\"`serialization`\" pulumi-lang-dotnet=\"`Serialization`\" pulumi-lang-go=\"`serialization`\" pulumi-lang-python=\"`serialization`\" pulumi-lang-yaml=\"`serialization`\" pulumi-lang-java=\"`serialization`\"\u003e`serialization`\u003c/span\u003e block as defined below.\n"},"servicebusNamespace":{"type":"string","description":"The namespace that is associated with the desired Event Hub, Service Bus Queue, Service Bus Topic, etc.\n"},"sharedAccessPolicyKey":{"type":"string","description":"The shared access policy key for the specified shared access policy.\n","secret":true},"sharedAccessPolicyName":{"type":"string","description":"The shared access policy name for the Event Hub, Service Bus Queue, Service Bus Topic, etc.\n"},"streamAnalyticsJobName":{"type":"string","description":"The name of the Stream Analytics Job. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["eventhubName","resourceGroupName","serialization","servicebusNamespace","streamAnalyticsJobName"],"stateInputs":{"description":"Input properties used for looking up and filtering StreamInputEventHub resources.\n","properties":{"authenticationMode":{"type":"string","description":"The authentication mode for the Stream Output. Possible values are `Msi` and `ConnectionString`. Defaults to `ConnectionString`.\n"},"eventhubConsumerGroupName":{"type":"string","description":"The name of an Event Hub Consumer Group that should be used to read events from the Event Hub. Specifying distinct consumer group names for multiple inputs allows each of those inputs to receive the same events from the Event Hub. If not set the input will use the Event Hub's default consumer group.\n"},"eventhubName":{"type":"string","description":"The name of the Event Hub.\n"},"name":{"type":"string","description":"The name of the Stream Input EventHub. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"partitionKey":{"type":"string","description":"The property the input Event Hub has been partitioned by.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Stream Analytics Job exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"serialization":{"$ref":"#/types/azure:streamanalytics/StreamInputEventHubSerialization:StreamInputEventHubSerialization","description":"A \u003cspan pulumi-lang-nodejs=\"`serialization`\" pulumi-lang-dotnet=\"`Serialization`\" pulumi-lang-go=\"`serialization`\" pulumi-lang-python=\"`serialization`\" pulumi-lang-yaml=\"`serialization`\" pulumi-lang-java=\"`serialization`\"\u003e`serialization`\u003c/span\u003e block as defined below.\n"},"servicebusNamespace":{"type":"string","description":"The namespace that is associated with the desired Event Hub, Service Bus Queue, Service Bus Topic, etc.\n"},"sharedAccessPolicyKey":{"type":"string","description":"The shared access policy key for the specified shared access policy.\n","secret":true},"sharedAccessPolicyName":{"type":"string","description":"The shared access policy name for the Event Hub, Service Bus Queue, Service Bus Topic, etc.\n"},"streamAnalyticsJobName":{"type":"string","description":"The name of the Stream Analytics Job. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:streamanalytics/streamInputEventHubV2:StreamInputEventHubV2":{"description":"\u003e **Note:** This resource creates a Stream Input of type `Microsoft.EventHub/EventHub`, to create a Stream Input of type `Microsoft.ServiceBus/EventHub` please use the resource azurerm_stream_analytics_stream_input_eventhub.\n\nManages a Stream Analytics Stream Input EventHub V2.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst example = azure.streamanalytics.getJobOutput({\n    name: \"example-job\",\n    resourceGroupName: exampleResourceGroup.name,\n});\nconst exampleEventHubNamespace = new azure.eventhub.EventHubNamespace(\"example\", {\n    name: \"example-namespace\",\n    location: exampleResourceGroup.location,\n    resourceGroupName: exampleResourceGroup.name,\n    sku: \"Standard\",\n    capacity: 1,\n});\nconst exampleEventHub = new azure.eventhub.EventHub(\"example\", {\n    name: \"example-eventhub\",\n    namespaceName: exampleEventHubNamespace.name,\n    resourceGroupName: exampleResourceGroup.name,\n    partitionCount: 2,\n    messageRetention: 1,\n});\nconst exampleConsumerGroup = new azure.eventhub.ConsumerGroup(\"example\", {\n    name: \"example-consumergroup\",\n    namespaceName: exampleEventHubNamespace.name,\n    eventhubName: exampleEventHub.name,\n    resourceGroupName: exampleResourceGroup.name,\n});\nconst exampleStreamInputEventHubV2 = new azure.streamanalytics.StreamInputEventHubV2(\"example\", {\n    name: \"eventhub-stream-input\",\n    streamAnalyticsJobId: example.apply(example =\u003e example.id),\n    eventhubConsumerGroupName: exampleConsumerGroup.name,\n    eventhubName: exampleEventHub.name,\n    servicebusNamespace: exampleEventHubNamespace.name,\n    sharedAccessPolicyKey: exampleEventHubNamespace.defaultPrimaryKey,\n    sharedAccessPolicyName: \"RootManageSharedAccessKey\",\n    serialization: {\n        type: \"Json\",\n        encoding: \"UTF8\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample = azure.streamanalytics.get_job_output(name=\"example-job\",\n    resource_group_name=example_resource_group.name)\nexample_event_hub_namespace = azure.eventhub.EventHubNamespace(\"example\",\n    name=\"example-namespace\",\n    location=example_resource_group.location,\n    resource_group_name=example_resource_group.name,\n    sku=\"Standard\",\n    capacity=1)\nexample_event_hub = azure.eventhub.EventHub(\"example\",\n    name=\"example-eventhub\",\n    namespace_name=example_event_hub_namespace.name,\n    resource_group_name=example_resource_group.name,\n    partition_count=2,\n    message_retention=1)\nexample_consumer_group = azure.eventhub.ConsumerGroup(\"example\",\n    name=\"example-consumergroup\",\n    namespace_name=example_event_hub_namespace.name,\n    eventhub_name=example_event_hub.name,\n    resource_group_name=example_resource_group.name)\nexample_stream_input_event_hub_v2 = azure.streamanalytics.StreamInputEventHubV2(\"example\",\n    name=\"eventhub-stream-input\",\n    stream_analytics_job_id=example.id,\n    eventhub_consumer_group_name=example_consumer_group.name,\n    eventhub_name=example_event_hub.name,\n    servicebus_namespace=example_event_hub_namespace.name,\n    shared_access_policy_key=example_event_hub_namespace.default_primary_key,\n    shared_access_policy_name=\"RootManageSharedAccessKey\",\n    serialization={\n        \"type\": \"Json\",\n        \"encoding\": \"UTF8\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleResourceGroup = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var example = Azure.StreamAnalytics.GetJob.Invoke(new()\n    {\n        Name = \"example-job\",\n        ResourceGroupName = exampleResourceGroup.Name,\n    });\n\n    var exampleEventHubNamespace = new Azure.EventHub.EventHubNamespace(\"example\", new()\n    {\n        Name = \"example-namespace\",\n        Location = exampleResourceGroup.Location,\n        ResourceGroupName = exampleResourceGroup.Name,\n        Sku = \"Standard\",\n        Capacity = 1,\n    });\n\n    var exampleEventHub = new Azure.EventHub.EventHub(\"example\", new()\n    {\n        Name = \"example-eventhub\",\n        NamespaceName = exampleEventHubNamespace.Name,\n        ResourceGroupName = exampleResourceGroup.Name,\n        PartitionCount = 2,\n        MessageRetention = 1,\n    });\n\n    var exampleConsumerGroup = new Azure.EventHub.ConsumerGroup(\"example\", new()\n    {\n        Name = \"example-consumergroup\",\n        NamespaceName = exampleEventHubNamespace.Name,\n        EventhubName = exampleEventHub.Name,\n        ResourceGroupName = exampleResourceGroup.Name,\n    });\n\n    var exampleStreamInputEventHubV2 = new Azure.StreamAnalytics.StreamInputEventHubV2(\"example\", new()\n    {\n        Name = \"eventhub-stream-input\",\n        StreamAnalyticsJobId = example.Apply(getJobResult =\u003e getJobResult.Id),\n        EventhubConsumerGroupName = exampleConsumerGroup.Name,\n        EventhubName = exampleEventHub.Name,\n        ServicebusNamespace = exampleEventHubNamespace.Name,\n        SharedAccessPolicyKey = exampleEventHubNamespace.DefaultPrimaryKey,\n        SharedAccessPolicyName = \"RootManageSharedAccessKey\",\n        Serialization = new Azure.StreamAnalytics.Inputs.StreamInputEventHubV2SerializationArgs\n        {\n            Type = \"Json\",\n            Encoding = \"UTF8\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/eventhub\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/streamanalytics\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample := streamanalytics.LookupJobOutput(ctx, streamanalytics.GetJobOutputArgs{\n\t\t\tName:              pulumi.String(\"example-job\"),\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t}, nil)\n\t\texampleEventHubNamespace, err := eventhub.NewEventHubNamespace(ctx, \"example\", \u0026eventhub.EventHubNamespaceArgs{\n\t\t\tName:              pulumi.String(\"example-namespace\"),\n\t\t\tLocation:          exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tSku:               pulumi.String(\"Standard\"),\n\t\t\tCapacity:          pulumi.Int(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleEventHub, err := eventhub.NewEventHub(ctx, \"example\", \u0026eventhub.EventHubArgs{\n\t\t\tName:              pulumi.String(\"example-eventhub\"),\n\t\t\tNamespaceName:     exampleEventHubNamespace.Name,\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tPartitionCount:    pulumi.Int(2),\n\t\t\tMessageRetention:  pulumi.Int(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleConsumerGroup, err := eventhub.NewConsumerGroup(ctx, \"example\", \u0026eventhub.ConsumerGroupArgs{\n\t\t\tName:              pulumi.String(\"example-consumergroup\"),\n\t\t\tNamespaceName:     exampleEventHubNamespace.Name,\n\t\t\tEventhubName:      exampleEventHub.Name,\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = streamanalytics.NewStreamInputEventHubV2(ctx, \"example\", \u0026streamanalytics.StreamInputEventHubV2Args{\n\t\t\tName: pulumi.String(\"eventhub-stream-input\"),\n\t\t\tStreamAnalyticsJobId: pulumi.String(example.ApplyT(func(example streamanalytics.GetJobResult) (*string, error) {\n\t\t\t\treturn \u0026example.Id, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tEventhubConsumerGroupName: exampleConsumerGroup.Name,\n\t\t\tEventhubName:              exampleEventHub.Name,\n\t\t\tServicebusNamespace:       exampleEventHubNamespace.Name,\n\t\t\tSharedAccessPolicyKey:     exampleEventHubNamespace.DefaultPrimaryKey,\n\t\t\tSharedAccessPolicyName:    pulumi.String(\"RootManageSharedAccessKey\"),\n\t\t\tSerialization: \u0026streamanalytics.StreamInputEventHubV2SerializationArgs{\n\t\t\t\tType:     pulumi.String(\"Json\"),\n\t\t\t\tEncoding: pulumi.String(\"UTF8\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.streamanalytics.StreamanalyticsFunctions;\nimport com.pulumi.azure.streamanalytics.inputs.GetJobArgs;\nimport com.pulumi.azure.eventhub.EventHubNamespace;\nimport com.pulumi.azure.eventhub.EventHubNamespaceArgs;\nimport com.pulumi.azure.eventhub.EventHub;\nimport com.pulumi.azure.eventhub.EventHubArgs;\nimport com.pulumi.azure.eventhub.ConsumerGroup;\nimport com.pulumi.azure.eventhub.ConsumerGroupArgs;\nimport com.pulumi.azure.streamanalytics.StreamInputEventHubV2;\nimport com.pulumi.azure.streamanalytics.StreamInputEventHubV2Args;\nimport com.pulumi.azure.streamanalytics.inputs.StreamInputEventHubV2SerializationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var exampleResourceGroup = new ResourceGroup(\"exampleResourceGroup\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        final var example = StreamanalyticsFunctions.getJob(GetJobArgs.builder()\n            .name(\"example-job\")\n            .resourceGroupName(exampleResourceGroup.name())\n            .build());\n\n        var exampleEventHubNamespace = new EventHubNamespace(\"exampleEventHubNamespace\", EventHubNamespaceArgs.builder()\n            .name(\"example-namespace\")\n            .location(exampleResourceGroup.location())\n            .resourceGroupName(exampleResourceGroup.name())\n            .sku(\"Standard\")\n            .capacity(1)\n            .build());\n\n        var exampleEventHub = new EventHub(\"exampleEventHub\", EventHubArgs.builder()\n            .name(\"example-eventhub\")\n            .namespaceName(exampleEventHubNamespace.name())\n            .resourceGroupName(exampleResourceGroup.name())\n            .partitionCount(2)\n            .messageRetention(1)\n            .build());\n\n        var exampleConsumerGroup = new ConsumerGroup(\"exampleConsumerGroup\", ConsumerGroupArgs.builder()\n            .name(\"example-consumergroup\")\n            .namespaceName(exampleEventHubNamespace.name())\n            .eventhubName(exampleEventHub.name())\n            .resourceGroupName(exampleResourceGroup.name())\n            .build());\n\n        var exampleStreamInputEventHubV2 = new StreamInputEventHubV2(\"exampleStreamInputEventHubV2\", StreamInputEventHubV2Args.builder()\n            .name(\"eventhub-stream-input\")\n            .streamAnalyticsJobId(example.applyValue(_example -\u003e _example.id()))\n            .eventhubConsumerGroupName(exampleConsumerGroup.name())\n            .eventhubName(exampleEventHub.name())\n            .servicebusNamespace(exampleEventHubNamespace.name())\n            .sharedAccessPolicyKey(exampleEventHubNamespace.defaultPrimaryKey())\n            .sharedAccessPolicyName(\"RootManageSharedAccessKey\")\n            .serialization(StreamInputEventHubV2SerializationArgs.builder()\n                .type(\"Json\")\n                .encoding(\"UTF8\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleResourceGroup:\n    type: azure:core:ResourceGroup\n    name: example\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleEventHubNamespace:\n    type: azure:eventhub:EventHubNamespace\n    name: example\n    properties:\n      name: example-namespace\n      location: ${exampleResourceGroup.location}\n      resourceGroupName: ${exampleResourceGroup.name}\n      sku: Standard\n      capacity: 1\n  exampleEventHub:\n    type: azure:eventhub:EventHub\n    name: example\n    properties:\n      name: example-eventhub\n      namespaceName: ${exampleEventHubNamespace.name}\n      resourceGroupName: ${exampleResourceGroup.name}\n      partitionCount: 2\n      messageRetention: 1\n  exampleConsumerGroup:\n    type: azure:eventhub:ConsumerGroup\n    name: example\n    properties:\n      name: example-consumergroup\n      namespaceName: ${exampleEventHubNamespace.name}\n      eventhubName: ${exampleEventHub.name}\n      resourceGroupName: ${exampleResourceGroup.name}\n  exampleStreamInputEventHubV2:\n    type: azure:streamanalytics:StreamInputEventHubV2\n    name: example\n    properties:\n      name: eventhub-stream-input\n      streamAnalyticsJobId: ${example.id}\n      eventhubConsumerGroupName: ${exampleConsumerGroup.name}\n      eventhubName: ${exampleEventHub.name}\n      servicebusNamespace: ${exampleEventHubNamespace.name}\n      sharedAccessPolicyKey: ${exampleEventHubNamespace.defaultPrimaryKey}\n      sharedAccessPolicyName: RootManageSharedAccessKey\n      serialization:\n        type: Json\n        encoding: UTF8\nvariables:\n  example:\n    fn::invoke:\n      function: azure:streamanalytics:getJob\n      arguments:\n        name: example-job\n        resourceGroupName: ${exampleResourceGroup.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.StreamAnalytics` - 2020-03-01\n\n## Import\n\nStream Analytics Stream Input EventHub's can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:streamanalytics/streamInputEventHubV2:StreamInputEventHubV2 example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.StreamAnalytics/streamingJobs/job1/inputs/input1\n```\n\n","properties":{"authenticationMode":{"type":"string","description":"The authentication mode for the Stream Output. Possible values are `Msi` and `ConnectionString`. Defaults to `ConnectionString`.\n"},"eventhubConsumerGroupName":{"type":"string","description":"The name of an Event Hub Consumer Group that should be used to read events from the Event Hub. Specifying distinct consumer group names for multiple inputs allows each of those inputs to receive the same events from the Event Hub. If not set the input will use the Event Hub's default consumer group.\n"},"eventhubName":{"type":"string","description":"The name of the Event Hub.\n"},"name":{"type":"string","description":"The name of the Stream Input EventHub V2. Changing this forces a new resource to be created.\n"},"partitionKey":{"type":"string","description":"The property the input Event Hub has been partitioned by.\n"},"serialization":{"$ref":"#/types/azure:streamanalytics/StreamInputEventHubV2Serialization:StreamInputEventHubV2Serialization","description":"A \u003cspan pulumi-lang-nodejs=\"`serialization`\" pulumi-lang-dotnet=\"`Serialization`\" pulumi-lang-go=\"`serialization`\" pulumi-lang-python=\"`serialization`\" pulumi-lang-yaml=\"`serialization`\" pulumi-lang-java=\"`serialization`\"\u003e`serialization`\u003c/span\u003e block as defined below.\n"},"servicebusNamespace":{"type":"string","description":"The namespace that is associated with the desired Event Hub, Service Bus Queue, Service Bus Topic, etc.\n"},"sharedAccessPolicyKey":{"type":"string","description":"The shared access policy key for the specified shared access policy.\n","secret":true},"sharedAccessPolicyName":{"type":"string","description":"The shared access policy name for the Event Hub, Service Bus Queue, Service Bus Topic, etc.\n"},"streamAnalyticsJobId":{"type":"string","description":"The name of the Stream Analytics Job. Changing this forces a new resource to be created.\n"}},"required":["eventhubName","name","serialization","servicebusNamespace","streamAnalyticsJobId"],"inputProperties":{"authenticationMode":{"type":"string","description":"The authentication mode for the Stream Output. Possible values are `Msi` and `ConnectionString`. Defaults to `ConnectionString`.\n"},"eventhubConsumerGroupName":{"type":"string","description":"The name of an Event Hub Consumer Group that should be used to read events from the Event Hub. Specifying distinct consumer group names for multiple inputs allows each of those inputs to receive the same events from the Event Hub. If not set the input will use the Event Hub's default consumer group.\n"},"eventhubName":{"type":"string","description":"The name of the Event Hub.\n"},"name":{"type":"string","description":"The name of the Stream Input EventHub V2. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"partitionKey":{"type":"string","description":"The property the input Event Hub has been partitioned by.\n"},"serialization":{"$ref":"#/types/azure:streamanalytics/StreamInputEventHubV2Serialization:StreamInputEventHubV2Serialization","description":"A \u003cspan pulumi-lang-nodejs=\"`serialization`\" pulumi-lang-dotnet=\"`Serialization`\" pulumi-lang-go=\"`serialization`\" pulumi-lang-python=\"`serialization`\" pulumi-lang-yaml=\"`serialization`\" pulumi-lang-java=\"`serialization`\"\u003e`serialization`\u003c/span\u003e block as defined below.\n"},"servicebusNamespace":{"type":"string","description":"The namespace that is associated with the desired Event Hub, Service Bus Queue, Service Bus Topic, etc.\n"},"sharedAccessPolicyKey":{"type":"string","description":"The shared access policy key for the specified shared access policy.\n","secret":true},"sharedAccessPolicyName":{"type":"string","description":"The shared access policy name for the Event Hub, Service Bus Queue, Service Bus Topic, etc.\n"},"streamAnalyticsJobId":{"type":"string","description":"The name of the Stream Analytics Job. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["eventhubName","serialization","servicebusNamespace","streamAnalyticsJobId"],"stateInputs":{"description":"Input properties used for looking up and filtering StreamInputEventHubV2 resources.\n","properties":{"authenticationMode":{"type":"string","description":"The authentication mode for the Stream Output. Possible values are `Msi` and `ConnectionString`. Defaults to `ConnectionString`.\n"},"eventhubConsumerGroupName":{"type":"string","description":"The name of an Event Hub Consumer Group that should be used to read events from the Event Hub. Specifying distinct consumer group names for multiple inputs allows each of those inputs to receive the same events from the Event Hub. If not set the input will use the Event Hub's default consumer group.\n"},"eventhubName":{"type":"string","description":"The name of the Event Hub.\n"},"name":{"type":"string","description":"The name of the Stream Input EventHub V2. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"partitionKey":{"type":"string","description":"The property the input Event Hub has been partitioned by.\n"},"serialization":{"$ref":"#/types/azure:streamanalytics/StreamInputEventHubV2Serialization:StreamInputEventHubV2Serialization","description":"A \u003cspan pulumi-lang-nodejs=\"`serialization`\" pulumi-lang-dotnet=\"`Serialization`\" pulumi-lang-go=\"`serialization`\" pulumi-lang-python=\"`serialization`\" pulumi-lang-yaml=\"`serialization`\" pulumi-lang-java=\"`serialization`\"\u003e`serialization`\u003c/span\u003e block as defined below.\n"},"servicebusNamespace":{"type":"string","description":"The namespace that is associated with the desired Event Hub, Service Bus Queue, Service Bus Topic, etc.\n"},"sharedAccessPolicyKey":{"type":"string","description":"The shared access policy key for the specified shared access policy.\n","secret":true},"sharedAccessPolicyName":{"type":"string","description":"The shared access policy name for the Event Hub, Service Bus Queue, Service Bus Topic, etc.\n"},"streamAnalyticsJobId":{"type":"string","description":"The name of the Stream Analytics Job. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:streamanalytics/streamInputIotHub:StreamInputIotHub":{"description":"Manages a Stream Analytics Stream Input IoTHub.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst example = azure.streamanalytics.getJobOutput({\n    name: \"example-job\",\n    resourceGroupName: exampleResourceGroup.name,\n});\nconst exampleIoTHub = new azure.iot.IoTHub(\"example\", {\n    name: \"example-iothub\",\n    resourceGroupName: exampleResourceGroup.name,\n    location: exampleResourceGroup.location,\n    sku: {\n        name: \"S1\",\n        capacity: 1,\n    },\n});\nconst exampleStreamInputIotHub = new azure.streamanalytics.StreamInputIotHub(\"example\", {\n    name: \"example-iothub-input\",\n    streamAnalyticsJobName: example.apply(example =\u003e example.name),\n    resourceGroupName: example.apply(example =\u003e example.resourceGroupName),\n    endpoint: \"messages/events\",\n    eventhubConsumerGroupName: \"$Default\",\n    iothubNamespace: exampleIoTHub.name,\n    sharedAccessPolicyKey: exampleIoTHub.sharedAccessPolicies.apply(sharedAccessPolicies =\u003e sharedAccessPolicies[0].primaryKey),\n    sharedAccessPolicyName: \"iothubowner\",\n    serialization: {\n        type: \"Json\",\n        encoding: \"UTF8\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample = azure.streamanalytics.get_job_output(name=\"example-job\",\n    resource_group_name=example_resource_group.name)\nexample_io_t_hub = azure.iot.IoTHub(\"example\",\n    name=\"example-iothub\",\n    resource_group_name=example_resource_group.name,\n    location=example_resource_group.location,\n    sku={\n        \"name\": \"S1\",\n        \"capacity\": 1,\n    })\nexample_stream_input_iot_hub = azure.streamanalytics.StreamInputIotHub(\"example\",\n    name=\"example-iothub-input\",\n    stream_analytics_job_name=example.name,\n    resource_group_name=example.resource_group_name,\n    endpoint=\"messages/events\",\n    eventhub_consumer_group_name=\"$Default\",\n    iothub_namespace=example_io_t_hub.name,\n    shared_access_policy_key=example_io_t_hub.shared_access_policies[0].primary_key,\n    shared_access_policy_name=\"iothubowner\",\n    serialization={\n        \"type\": \"Json\",\n        \"encoding\": \"UTF8\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleResourceGroup = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var example = Azure.StreamAnalytics.GetJob.Invoke(new()\n    {\n        Name = \"example-job\",\n        ResourceGroupName = exampleResourceGroup.Name,\n    });\n\n    var exampleIoTHub = new Azure.Iot.IoTHub(\"example\", new()\n    {\n        Name = \"example-iothub\",\n        ResourceGroupName = exampleResourceGroup.Name,\n        Location = exampleResourceGroup.Location,\n        Sku = new Azure.Iot.Inputs.IoTHubSkuArgs\n        {\n            Name = \"S1\",\n            Capacity = 1,\n        },\n    });\n\n    var exampleStreamInputIotHub = new Azure.StreamAnalytics.StreamInputIotHub(\"example\", new()\n    {\n        Name = \"example-iothub-input\",\n        StreamAnalyticsJobName = example.Apply(getJobResult =\u003e getJobResult.Name),\n        ResourceGroupName = example.Apply(getJobResult =\u003e getJobResult.ResourceGroupName),\n        Endpoint = \"messages/events\",\n        EventhubConsumerGroupName = \"$Default\",\n        IothubNamespace = exampleIoTHub.Name,\n        SharedAccessPolicyKey = exampleIoTHub.SharedAccessPolicies.Apply(sharedAccessPolicies =\u003e sharedAccessPolicies[0].PrimaryKey),\n        SharedAccessPolicyName = \"iothubowner\",\n        Serialization = new Azure.StreamAnalytics.Inputs.StreamInputIotHubSerializationArgs\n        {\n            Type = \"Json\",\n            Encoding = \"UTF8\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/iot\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/streamanalytics\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample := streamanalytics.LookupJobOutput(ctx, streamanalytics.GetJobOutputArgs{\n\t\t\tName:              pulumi.String(\"example-job\"),\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t}, nil)\n\t\texampleIoTHub, err := iot.NewIoTHub(ctx, \"example\", \u0026iot.IoTHubArgs{\n\t\t\tName:              pulumi.String(\"example-iothub\"),\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tLocation:          exampleResourceGroup.Location,\n\t\t\tSku: \u0026iot.IoTHubSkuArgs{\n\t\t\t\tName:     pulumi.String(\"S1\"),\n\t\t\t\tCapacity: pulumi.Int(1),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = streamanalytics.NewStreamInputIotHub(ctx, \"example\", \u0026streamanalytics.StreamInputIotHubArgs{\n\t\t\tName: pulumi.String(\"example-iothub-input\"),\n\t\t\tStreamAnalyticsJobName: pulumi.String(example.ApplyT(func(example streamanalytics.GetJobResult) (*string, error) {\n\t\t\t\treturn \u0026example.Name, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tResourceGroupName: pulumi.String(example.ApplyT(func(example streamanalytics.GetJobResult) (*string, error) {\n\t\t\t\treturn \u0026example.ResourceGroupName, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tEndpoint:                  pulumi.String(\"messages/events\"),\n\t\t\tEventhubConsumerGroupName: pulumi.String(\"$Default\"),\n\t\t\tIothubNamespace:           exampleIoTHub.Name,\n\t\t\tSharedAccessPolicyKey: pulumi.String(exampleIoTHub.SharedAccessPolicies.ApplyT(func(sharedAccessPolicies []iot.IoTHubSharedAccessPolicy) (*string, error) {\n\t\t\t\treturn \u0026sharedAccessPolicies[0].PrimaryKey, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tSharedAccessPolicyName: pulumi.String(\"iothubowner\"),\n\t\t\tSerialization: \u0026streamanalytics.StreamInputIotHubSerializationArgs{\n\t\t\t\tType:     pulumi.String(\"Json\"),\n\t\t\t\tEncoding: pulumi.String(\"UTF8\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.streamanalytics.StreamanalyticsFunctions;\nimport com.pulumi.azure.streamanalytics.inputs.GetJobArgs;\nimport com.pulumi.azure.iot.IoTHub;\nimport com.pulumi.azure.iot.IoTHubArgs;\nimport com.pulumi.azure.iot.inputs.IoTHubSkuArgs;\nimport com.pulumi.azure.streamanalytics.StreamInputIotHub;\nimport com.pulumi.azure.streamanalytics.StreamInputIotHubArgs;\nimport com.pulumi.azure.streamanalytics.inputs.StreamInputIotHubSerializationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var exampleResourceGroup = new ResourceGroup(\"exampleResourceGroup\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        final var example = StreamanalyticsFunctions.getJob(GetJobArgs.builder()\n            .name(\"example-job\")\n            .resourceGroupName(exampleResourceGroup.name())\n            .build());\n\n        var exampleIoTHub = new IoTHub(\"exampleIoTHub\", IoTHubArgs.builder()\n            .name(\"example-iothub\")\n            .resourceGroupName(exampleResourceGroup.name())\n            .location(exampleResourceGroup.location())\n            .sku(IoTHubSkuArgs.builder()\n                .name(\"S1\")\n                .capacity(1)\n                .build())\n            .build());\n\n        var exampleStreamInputIotHub = new StreamInputIotHub(\"exampleStreamInputIotHub\", StreamInputIotHubArgs.builder()\n            .name(\"example-iothub-input\")\n            .streamAnalyticsJobName(example.applyValue(_example -\u003e _example.name()))\n            .resourceGroupName(example.applyValue(_example -\u003e _example.resourceGroupName()))\n            .endpoint(\"messages/events\")\n            .eventhubConsumerGroupName(\"$Default\")\n            .iothubNamespace(exampleIoTHub.name())\n            .sharedAccessPolicyKey(exampleIoTHub.sharedAccessPolicies().applyValue(_sharedAccessPolicies -\u003e _sharedAccessPolicies[0].primaryKey()))\n            .sharedAccessPolicyName(\"iothubowner\")\n            .serialization(StreamInputIotHubSerializationArgs.builder()\n                .type(\"Json\")\n                .encoding(\"UTF8\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleResourceGroup:\n    type: azure:core:ResourceGroup\n    name: example\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleIoTHub:\n    type: azure:iot:IoTHub\n    name: example\n    properties:\n      name: example-iothub\n      resourceGroupName: ${exampleResourceGroup.name}\n      location: ${exampleResourceGroup.location}\n      sku:\n        name: S1\n        capacity: '1'\n  exampleStreamInputIotHub:\n    type: azure:streamanalytics:StreamInputIotHub\n    name: example\n    properties:\n      name: example-iothub-input\n      streamAnalyticsJobName: ${example.name}\n      resourceGroupName: ${example.resourceGroupName}\n      endpoint: messages/events\n      eventhubConsumerGroupName: $Default\n      iothubNamespace: ${exampleIoTHub.name}\n      sharedAccessPolicyKey: ${exampleIoTHub.sharedAccessPolicies[0].primaryKey}\n      sharedAccessPolicyName: iothubowner\n      serialization:\n        type: Json\n        encoding: UTF8\nvariables:\n  example:\n    fn::invoke:\n      function: azure:streamanalytics:getJob\n      arguments:\n        name: example-job\n        resourceGroupName: ${exampleResourceGroup.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.StreamAnalytics` - 2020-03-01\n\n## Import\n\nStream Analytics Stream Input IoTHub's can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:streamanalytics/streamInputIotHub:StreamInputIotHub example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.StreamAnalytics/streamingJobs/job1/inputs/input1\n```\n\n","properties":{"endpoint":{"type":"string","description":"The IoT Hub endpoint to connect to (ie. messages/events, messages/operationsMonitoringEvents, etc.).\n"},"eventhubConsumerGroupName":{"type":"string","description":"The name of an Event Hub Consumer Group that should be used to read events from the Event Hub. Specifying distinct consumer group names for multiple inputs allows each of those inputs to receive the same events from the Event Hub.\n"},"iothubNamespace":{"type":"string","description":"The name or the URI of the IoT Hub.\n"},"name":{"type":"string","description":"The name of the Stream Input IoTHub. Changing this forces a new resource to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Stream Analytics Job exists. Changing this forces a new resource to be created.\n"},"serialization":{"$ref":"#/types/azure:streamanalytics/StreamInputIotHubSerialization:StreamInputIotHubSerialization","description":"A \u003cspan pulumi-lang-nodejs=\"`serialization`\" pulumi-lang-dotnet=\"`Serialization`\" pulumi-lang-go=\"`serialization`\" pulumi-lang-python=\"`serialization`\" pulumi-lang-yaml=\"`serialization`\" pulumi-lang-java=\"`serialization`\"\u003e`serialization`\u003c/span\u003e block as defined below.\n"},"sharedAccessPolicyKey":{"type":"string","description":"The shared access policy key for the specified shared access policy. Changing this forces a new resource to be created.\n","secret":true},"sharedAccessPolicyName":{"type":"string","description":"The shared access policy name for the Event Hub, Service Bus Queue, Service Bus Topic, etc.\n"},"streamAnalyticsJobName":{"type":"string","description":"The name of the Stream Analytics Job. Changing this forces a new resource to be created.\n"}},"required":["endpoint","eventhubConsumerGroupName","iothubNamespace","name","resourceGroupName","serialization","sharedAccessPolicyKey","sharedAccessPolicyName","streamAnalyticsJobName"],"inputProperties":{"endpoint":{"type":"string","description":"The IoT Hub endpoint to connect to (ie. messages/events, messages/operationsMonitoringEvents, etc.).\n"},"eventhubConsumerGroupName":{"type":"string","description":"The name of an Event Hub Consumer Group that should be used to read events from the Event Hub. Specifying distinct consumer group names for multiple inputs allows each of those inputs to receive the same events from the Event Hub.\n"},"iothubNamespace":{"type":"string","description":"The name or the URI of the IoT Hub.\n"},"name":{"type":"string","description":"The name of the Stream Input IoTHub. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Stream Analytics Job exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"serialization":{"$ref":"#/types/azure:streamanalytics/StreamInputIotHubSerialization:StreamInputIotHubSerialization","description":"A \u003cspan pulumi-lang-nodejs=\"`serialization`\" pulumi-lang-dotnet=\"`Serialization`\" pulumi-lang-go=\"`serialization`\" pulumi-lang-python=\"`serialization`\" pulumi-lang-yaml=\"`serialization`\" pulumi-lang-java=\"`serialization`\"\u003e`serialization`\u003c/span\u003e block as defined below.\n"},"sharedAccessPolicyKey":{"type":"string","description":"The shared access policy key for the specified shared access policy. Changing this forces a new resource to be created.\n","secret":true,"willReplaceOnChanges":true},"sharedAccessPolicyName":{"type":"string","description":"The shared access policy name for the Event Hub, Service Bus Queue, Service Bus Topic, etc.\n"},"streamAnalyticsJobName":{"type":"string","description":"The name of the Stream Analytics Job. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["endpoint","eventhubConsumerGroupName","iothubNamespace","resourceGroupName","serialization","sharedAccessPolicyKey","sharedAccessPolicyName","streamAnalyticsJobName"],"stateInputs":{"description":"Input properties used for looking up and filtering StreamInputIotHub resources.\n","properties":{"endpoint":{"type":"string","description":"The IoT Hub endpoint to connect to (ie. messages/events, messages/operationsMonitoringEvents, etc.).\n"},"eventhubConsumerGroupName":{"type":"string","description":"The name of an Event Hub Consumer Group that should be used to read events from the Event Hub. Specifying distinct consumer group names for multiple inputs allows each of those inputs to receive the same events from the Event Hub.\n"},"iothubNamespace":{"type":"string","description":"The name or the URI of the IoT Hub.\n"},"name":{"type":"string","description":"The name of the Stream Input IoTHub. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Stream Analytics Job exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"serialization":{"$ref":"#/types/azure:streamanalytics/StreamInputIotHubSerialization:StreamInputIotHubSerialization","description":"A \u003cspan pulumi-lang-nodejs=\"`serialization`\" pulumi-lang-dotnet=\"`Serialization`\" pulumi-lang-go=\"`serialization`\" pulumi-lang-python=\"`serialization`\" pulumi-lang-yaml=\"`serialization`\" pulumi-lang-java=\"`serialization`\"\u003e`serialization`\u003c/span\u003e block as defined below.\n"},"sharedAccessPolicyKey":{"type":"string","description":"The shared access policy key for the specified shared access policy. Changing this forces a new resource to be created.\n","secret":true,"willReplaceOnChanges":true},"sharedAccessPolicyName":{"type":"string","description":"The shared access policy name for the Event Hub, Service Bus Queue, Service Bus Topic, etc.\n"},"streamAnalyticsJobName":{"type":"string","description":"The name of the Stream Analytics Job. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:synapse/firewallRule:FirewallRule":{"description":"Allows you to Manages a Synapse Firewall Rule.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleAccount = new azure.storage.Account(\"example\", {\n    name: \"examplestorageacc\",\n    resourceGroupName: example.name,\n    location: example.location,\n    accountTier: \"Standard\",\n    accountReplicationType: \"LRS\",\n    accountKind: \"StorageV2\",\n    isHnsEnabled: true,\n});\nconst exampleDataLakeGen2Filesystem = new azure.storage.DataLakeGen2Filesystem(\"example\", {\n    name: \"example\",\n    storageAccountId: exampleAccount.id,\n});\nconst exampleWorkspace = new azure.synapse.Workspace(\"example\", {\n    name: \"example\",\n    resourceGroupName: example.name,\n    location: example.location,\n    storageDataLakeGen2FilesystemId: exampleDataLakeGen2Filesystem.id,\n    sqlAdministratorLogin: \"sqladminuser\",\n    sqlAdministratorLoginPassword: \"H@Sh1CoR3!\",\n    identity: {\n        type: \"SystemAssigned\",\n    },\n});\nconst exampleFirewallRule = new azure.synapse.FirewallRule(\"example\", {\n    name: \"AllowAll\",\n    synapseWorkspaceId: exampleWorkspace.id,\n    startIpAddress: \"0.0.0.0\",\n    endIpAddress: \"255.255.255.255\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_account = azure.storage.Account(\"example\",\n    name=\"examplestorageacc\",\n    resource_group_name=example.name,\n    location=example.location,\n    account_tier=\"Standard\",\n    account_replication_type=\"LRS\",\n    account_kind=\"StorageV2\",\n    is_hns_enabled=True)\nexample_data_lake_gen2_filesystem = azure.storage.DataLakeGen2Filesystem(\"example\",\n    name=\"example\",\n    storage_account_id=example_account.id)\nexample_workspace = azure.synapse.Workspace(\"example\",\n    name=\"example\",\n    resource_group_name=example.name,\n    location=example.location,\n    storage_data_lake_gen2_filesystem_id=example_data_lake_gen2_filesystem.id,\n    sql_administrator_login=\"sqladminuser\",\n    sql_administrator_login_password=\"H@Sh1CoR3!\",\n    identity={\n        \"type\": \"SystemAssigned\",\n    })\nexample_firewall_rule = azure.synapse.FirewallRule(\"example\",\n    name=\"AllowAll\",\n    synapse_workspace_id=example_workspace.id,\n    start_ip_address=\"0.0.0.0\",\n    end_ip_address=\"255.255.255.255\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleAccount = new Azure.Storage.Account(\"example\", new()\n    {\n        Name = \"examplestorageacc\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        AccountTier = \"Standard\",\n        AccountReplicationType = \"LRS\",\n        AccountKind = \"StorageV2\",\n        IsHnsEnabled = true,\n    });\n\n    var exampleDataLakeGen2Filesystem = new Azure.Storage.DataLakeGen2Filesystem(\"example\", new()\n    {\n        Name = \"example\",\n        StorageAccountId = exampleAccount.Id,\n    });\n\n    var exampleWorkspace = new Azure.Synapse.Workspace(\"example\", new()\n    {\n        Name = \"example\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        StorageDataLakeGen2FilesystemId = exampleDataLakeGen2Filesystem.Id,\n        SqlAdministratorLogin = \"sqladminuser\",\n        SqlAdministratorLoginPassword = \"H@Sh1CoR3!\",\n        Identity = new Azure.Synapse.Inputs.WorkspaceIdentityArgs\n        {\n            Type = \"SystemAssigned\",\n        },\n    });\n\n    var exampleFirewallRule = new Azure.Synapse.FirewallRule(\"example\", new()\n    {\n        Name = \"AllowAll\",\n        SynapseWorkspaceId = exampleWorkspace.Id,\n        StartIpAddress = \"0.0.0.0\",\n        EndIpAddress = \"255.255.255.255\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/synapse\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := storage.NewAccount(ctx, \"example\", \u0026storage.AccountArgs{\n\t\t\tName:                   pulumi.String(\"examplestorageacc\"),\n\t\t\tResourceGroupName:      example.Name,\n\t\t\tLocation:               example.Location,\n\t\t\tAccountTier:            pulumi.String(\"Standard\"),\n\t\t\tAccountReplicationType: pulumi.String(\"LRS\"),\n\t\t\tAccountKind:            pulumi.String(\"StorageV2\"),\n\t\t\tIsHnsEnabled:           pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleDataLakeGen2Filesystem, err := storage.NewDataLakeGen2Filesystem(ctx, \"example\", \u0026storage.DataLakeGen2FilesystemArgs{\n\t\t\tName:             pulumi.String(\"example\"),\n\t\t\tStorageAccountId: exampleAccount.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleWorkspace, err := synapse.NewWorkspace(ctx, \"example\", \u0026synapse.WorkspaceArgs{\n\t\t\tName:                            pulumi.String(\"example\"),\n\t\t\tResourceGroupName:               example.Name,\n\t\t\tLocation:                        example.Location,\n\t\t\tStorageDataLakeGen2FilesystemId: exampleDataLakeGen2Filesystem.ID(),\n\t\t\tSqlAdministratorLogin:           pulumi.String(\"sqladminuser\"),\n\t\t\tSqlAdministratorLoginPassword:   pulumi.String(\"H@Sh1CoR3!\"),\n\t\t\tIdentity: \u0026synapse.WorkspaceIdentityArgs{\n\t\t\t\tType: pulumi.String(\"SystemAssigned\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = synapse.NewFirewallRule(ctx, \"example\", \u0026synapse.FirewallRuleArgs{\n\t\t\tName:               pulumi.String(\"AllowAll\"),\n\t\t\tSynapseWorkspaceId: exampleWorkspace.ID(),\n\t\t\tStartIpAddress:     pulumi.String(\"0.0.0.0\"),\n\t\t\tEndIpAddress:       pulumi.String(\"255.255.255.255\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.storage.Account;\nimport com.pulumi.azure.storage.AccountArgs;\nimport com.pulumi.azure.storage.DataLakeGen2Filesystem;\nimport com.pulumi.azure.storage.DataLakeGen2FilesystemArgs;\nimport com.pulumi.azure.synapse.Workspace;\nimport com.pulumi.azure.synapse.WorkspaceArgs;\nimport com.pulumi.azure.synapse.inputs.WorkspaceIdentityArgs;\nimport com.pulumi.azure.synapse.FirewallRule;\nimport com.pulumi.azure.synapse.FirewallRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"examplestorageacc\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .accountTier(\"Standard\")\n            .accountReplicationType(\"LRS\")\n            .accountKind(\"StorageV2\")\n            .isHnsEnabled(true)\n            .build());\n\n        var exampleDataLakeGen2Filesystem = new DataLakeGen2Filesystem(\"exampleDataLakeGen2Filesystem\", DataLakeGen2FilesystemArgs.builder()\n            .name(\"example\")\n            .storageAccountId(exampleAccount.id())\n            .build());\n\n        var exampleWorkspace = new Workspace(\"exampleWorkspace\", WorkspaceArgs.builder()\n            .name(\"example\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .storageDataLakeGen2FilesystemId(exampleDataLakeGen2Filesystem.id())\n            .sqlAdministratorLogin(\"sqladminuser\")\n            .sqlAdministratorLoginPassword(\"H@Sh1CoR3!\")\n            .identity(WorkspaceIdentityArgs.builder()\n                .type(\"SystemAssigned\")\n                .build())\n            .build());\n\n        var exampleFirewallRule = new FirewallRule(\"exampleFirewallRule\", FirewallRuleArgs.builder()\n            .name(\"AllowAll\")\n            .synapseWorkspaceId(exampleWorkspace.id())\n            .startIpAddress(\"0.0.0.0\")\n            .endIpAddress(\"255.255.255.255\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleAccount:\n    type: azure:storage:Account\n    name: example\n    properties:\n      name: examplestorageacc\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      accountTier: Standard\n      accountReplicationType: LRS\n      accountKind: StorageV2\n      isHnsEnabled: 'true'\n  exampleDataLakeGen2Filesystem:\n    type: azure:storage:DataLakeGen2Filesystem\n    name: example\n    properties:\n      name: example\n      storageAccountId: ${exampleAccount.id}\n  exampleWorkspace:\n    type: azure:synapse:Workspace\n    name: example\n    properties:\n      name: example\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      storageDataLakeGen2FilesystemId: ${exampleDataLakeGen2Filesystem.id}\n      sqlAdministratorLogin: sqladminuser\n      sqlAdministratorLoginPassword: H@Sh1CoR3!\n      identity:\n        type: SystemAssigned\n  exampleFirewallRule:\n    type: azure:synapse:FirewallRule\n    name: example\n    properties:\n      name: AllowAll\n      synapseWorkspaceId: ${exampleWorkspace.id}\n      startIpAddress: 0.0.0.0\n      endIpAddress: 255.255.255.255\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nSynapse Firewall Rule can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:synapse/firewallRule:FirewallRule example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resourcegroup1/providers/Microsoft.Synapse/workspaces/workspace1/firewallRules/rule1\n```\n\n","properties":{"endIpAddress":{"type":"string","description":"The ending IP address to allow through the firewall for this rule.\n\n\u003e **Note:** The Azure feature `Allow access to Azure services` can be enabled by setting \u003cspan pulumi-lang-nodejs=\"`startIpAddress`\" pulumi-lang-dotnet=\"`StartIpAddress`\" pulumi-lang-go=\"`startIpAddress`\" pulumi-lang-python=\"`start_ip_address`\" pulumi-lang-yaml=\"`startIpAddress`\" pulumi-lang-java=\"`startIpAddress`\"\u003e`start_ip_address`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`endIpAddress`\" pulumi-lang-dotnet=\"`EndIpAddress`\" pulumi-lang-go=\"`endIpAddress`\" pulumi-lang-python=\"`end_ip_address`\" pulumi-lang-yaml=\"`endIpAddress`\" pulumi-lang-java=\"`endIpAddress`\"\u003e`end_ip_address`\u003c/span\u003e to `0.0.0.0`.\n\n\u003e **Note:** The Azure feature `Allow access to Azure services` requires the \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e to be `AllowAllWindowsAzureIps`.\n"},"name":{"type":"string","description":"The Name of the firewall rule. Changing this forces a new resource to be created.\n"},"startIpAddress":{"type":"string","description":"The starting IP address to allow through the firewall for this rule.\n"},"synapseWorkspaceId":{"type":"string","description":"The ID of the Synapse Workspace on which to create the Firewall Rule. Changing this forces a new resource to be created.\n"}},"required":["endIpAddress","name","startIpAddress","synapseWorkspaceId"],"inputProperties":{"endIpAddress":{"type":"string","description":"The ending IP address to allow through the firewall for this rule.\n\n\u003e **Note:** The Azure feature `Allow access to Azure services` can be enabled by setting \u003cspan pulumi-lang-nodejs=\"`startIpAddress`\" pulumi-lang-dotnet=\"`StartIpAddress`\" pulumi-lang-go=\"`startIpAddress`\" pulumi-lang-python=\"`start_ip_address`\" pulumi-lang-yaml=\"`startIpAddress`\" pulumi-lang-java=\"`startIpAddress`\"\u003e`start_ip_address`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`endIpAddress`\" pulumi-lang-dotnet=\"`EndIpAddress`\" pulumi-lang-go=\"`endIpAddress`\" pulumi-lang-python=\"`end_ip_address`\" pulumi-lang-yaml=\"`endIpAddress`\" pulumi-lang-java=\"`endIpAddress`\"\u003e`end_ip_address`\u003c/span\u003e to `0.0.0.0`.\n\n\u003e **Note:** The Azure feature `Allow access to Azure services` requires the \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e to be `AllowAllWindowsAzureIps`.\n"},"name":{"type":"string","description":"The Name of the firewall rule. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"startIpAddress":{"type":"string","description":"The starting IP address to allow through the firewall for this rule.\n"},"synapseWorkspaceId":{"type":"string","description":"The ID of the Synapse Workspace on which to create the Firewall Rule. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["endIpAddress","startIpAddress","synapseWorkspaceId"],"stateInputs":{"description":"Input properties used for looking up and filtering FirewallRule resources.\n","properties":{"endIpAddress":{"type":"string","description":"The ending IP address to allow through the firewall for this rule.\n\n\u003e **Note:** The Azure feature `Allow access to Azure services` can be enabled by setting \u003cspan pulumi-lang-nodejs=\"`startIpAddress`\" pulumi-lang-dotnet=\"`StartIpAddress`\" pulumi-lang-go=\"`startIpAddress`\" pulumi-lang-python=\"`start_ip_address`\" pulumi-lang-yaml=\"`startIpAddress`\" pulumi-lang-java=\"`startIpAddress`\"\u003e`start_ip_address`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`endIpAddress`\" pulumi-lang-dotnet=\"`EndIpAddress`\" pulumi-lang-go=\"`endIpAddress`\" pulumi-lang-python=\"`end_ip_address`\" pulumi-lang-yaml=\"`endIpAddress`\" pulumi-lang-java=\"`endIpAddress`\"\u003e`end_ip_address`\u003c/span\u003e to `0.0.0.0`.\n\n\u003e **Note:** The Azure feature `Allow access to Azure services` requires the \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e to be `AllowAllWindowsAzureIps`.\n"},"name":{"type":"string","description":"The Name of the firewall rule. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"startIpAddress":{"type":"string","description":"The starting IP address to allow through the firewall for this rule.\n"},"synapseWorkspaceId":{"type":"string","description":"The ID of the Synapse Workspace on which to create the Firewall Rule. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:synapse/integrationRuntimeAzure:IntegrationRuntimeAzure":{"description":"Manages a Synapse Azure Integration Runtime.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example\",\n    location: \"West Europe\",\n});\nconst exampleAccount = new azure.storage.Account(\"example\", {\n    name: \"example\",\n    location: example.location,\n    resourceGroupName: example.name,\n    accountTier: \"Standard\",\n    accountReplicationType: \"LRS\",\n});\nconst exampleContainer = new azure.storage.Container(\"example\", {\n    name: \"content\",\n    storageAccountName: exampleAccount.name,\n    containerAccessType: \"private\",\n});\nconst exampleDataLakeGen2Filesystem = new azure.storage.DataLakeGen2Filesystem(\"example\", {\n    name: \"example\",\n    storageAccountId: exampleAccount.id,\n});\nconst exampleWorkspace = new azure.synapse.Workspace(\"example\", {\n    name: \"example\",\n    location: example.location,\n    resourceGroupName: example.name,\n    storageDataLakeGen2FilesystemId: exampleDataLakeGen2Filesystem.id,\n    sqlAdministratorLogin: \"sqladminuser\",\n    sqlAdministratorLoginPassword: \"H@Sh1CoR3!\",\n    managedVirtualNetworkEnabled: true,\n    identity: {\n        type: \"SystemAssigned\",\n    },\n});\nconst exampleFirewallRule = new azure.synapse.FirewallRule(\"example\", {\n    name: \"AllowAll\",\n    synapseWorkspaceId: exampleWorkspace.id,\n    startIpAddress: \"0.0.0.0\",\n    endIpAddress: \"255.255.255.255\",\n});\nconst exampleIntegrationRuntimeAzure = new azure.synapse.IntegrationRuntimeAzure(\"example\", {\n    name: \"example\",\n    synapseWorkspaceId: exampleWorkspace.id,\n    location: example.location,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example\",\n    location=\"West Europe\")\nexample_account = azure.storage.Account(\"example\",\n    name=\"example\",\n    location=example.location,\n    resource_group_name=example.name,\n    account_tier=\"Standard\",\n    account_replication_type=\"LRS\")\nexample_container = azure.storage.Container(\"example\",\n    name=\"content\",\n    storage_account_name=example_account.name,\n    container_access_type=\"private\")\nexample_data_lake_gen2_filesystem = azure.storage.DataLakeGen2Filesystem(\"example\",\n    name=\"example\",\n    storage_account_id=example_account.id)\nexample_workspace = azure.synapse.Workspace(\"example\",\n    name=\"example\",\n    location=example.location,\n    resource_group_name=example.name,\n    storage_data_lake_gen2_filesystem_id=example_data_lake_gen2_filesystem.id,\n    sql_administrator_login=\"sqladminuser\",\n    sql_administrator_login_password=\"H@Sh1CoR3!\",\n    managed_virtual_network_enabled=True,\n    identity={\n        \"type\": \"SystemAssigned\",\n    })\nexample_firewall_rule = azure.synapse.FirewallRule(\"example\",\n    name=\"AllowAll\",\n    synapse_workspace_id=example_workspace.id,\n    start_ip_address=\"0.0.0.0\",\n    end_ip_address=\"255.255.255.255\")\nexample_integration_runtime_azure = azure.synapse.IntegrationRuntimeAzure(\"example\",\n    name=\"example\",\n    synapse_workspace_id=example_workspace.id,\n    location=example.location)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example\",\n        Location = \"West Europe\",\n    });\n\n    var exampleAccount = new Azure.Storage.Account(\"example\", new()\n    {\n        Name = \"example\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        AccountTier = \"Standard\",\n        AccountReplicationType = \"LRS\",\n    });\n\n    var exampleContainer = new Azure.Storage.Container(\"example\", new()\n    {\n        Name = \"content\",\n        StorageAccountName = exampleAccount.Name,\n        ContainerAccessType = \"private\",\n    });\n\n    var exampleDataLakeGen2Filesystem = new Azure.Storage.DataLakeGen2Filesystem(\"example\", new()\n    {\n        Name = \"example\",\n        StorageAccountId = exampleAccount.Id,\n    });\n\n    var exampleWorkspace = new Azure.Synapse.Workspace(\"example\", new()\n    {\n        Name = \"example\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        StorageDataLakeGen2FilesystemId = exampleDataLakeGen2Filesystem.Id,\n        SqlAdministratorLogin = \"sqladminuser\",\n        SqlAdministratorLoginPassword = \"H@Sh1CoR3!\",\n        ManagedVirtualNetworkEnabled = true,\n        Identity = new Azure.Synapse.Inputs.WorkspaceIdentityArgs\n        {\n            Type = \"SystemAssigned\",\n        },\n    });\n\n    var exampleFirewallRule = new Azure.Synapse.FirewallRule(\"example\", new()\n    {\n        Name = \"AllowAll\",\n        SynapseWorkspaceId = exampleWorkspace.Id,\n        StartIpAddress = \"0.0.0.0\",\n        EndIpAddress = \"255.255.255.255\",\n    });\n\n    var exampleIntegrationRuntimeAzure = new Azure.Synapse.IntegrationRuntimeAzure(\"example\", new()\n    {\n        Name = \"example\",\n        SynapseWorkspaceId = exampleWorkspace.Id,\n        Location = example.Location,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/synapse\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := storage.NewAccount(ctx, \"example\", \u0026storage.AccountArgs{\n\t\t\tName:                   pulumi.String(\"example\"),\n\t\t\tLocation:               example.Location,\n\t\t\tResourceGroupName:      example.Name,\n\t\t\tAccountTier:            pulumi.String(\"Standard\"),\n\t\t\tAccountReplicationType: pulumi.String(\"LRS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = storage.NewContainer(ctx, \"example\", \u0026storage.ContainerArgs{\n\t\t\tName:                pulumi.String(\"content\"),\n\t\t\tStorageAccountName:  exampleAccount.Name,\n\t\t\tContainerAccessType: pulumi.String(\"private\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleDataLakeGen2Filesystem, err := storage.NewDataLakeGen2Filesystem(ctx, \"example\", \u0026storage.DataLakeGen2FilesystemArgs{\n\t\t\tName:             pulumi.String(\"example\"),\n\t\t\tStorageAccountId: exampleAccount.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleWorkspace, err := synapse.NewWorkspace(ctx, \"example\", \u0026synapse.WorkspaceArgs{\n\t\t\tName:                            pulumi.String(\"example\"),\n\t\t\tLocation:                        example.Location,\n\t\t\tResourceGroupName:               example.Name,\n\t\t\tStorageDataLakeGen2FilesystemId: exampleDataLakeGen2Filesystem.ID(),\n\t\t\tSqlAdministratorLogin:           pulumi.String(\"sqladminuser\"),\n\t\t\tSqlAdministratorLoginPassword:   pulumi.String(\"H@Sh1CoR3!\"),\n\t\t\tManagedVirtualNetworkEnabled:    pulumi.Bool(true),\n\t\t\tIdentity: \u0026synapse.WorkspaceIdentityArgs{\n\t\t\t\tType: pulumi.String(\"SystemAssigned\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = synapse.NewFirewallRule(ctx, \"example\", \u0026synapse.FirewallRuleArgs{\n\t\t\tName:               pulumi.String(\"AllowAll\"),\n\t\t\tSynapseWorkspaceId: exampleWorkspace.ID(),\n\t\t\tStartIpAddress:     pulumi.String(\"0.0.0.0\"),\n\t\t\tEndIpAddress:       pulumi.String(\"255.255.255.255\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = synapse.NewIntegrationRuntimeAzure(ctx, \"example\", \u0026synapse.IntegrationRuntimeAzureArgs{\n\t\t\tName:               pulumi.String(\"example\"),\n\t\t\tSynapseWorkspaceId: exampleWorkspace.ID(),\n\t\t\tLocation:           example.Location,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.storage.Account;\nimport com.pulumi.azure.storage.AccountArgs;\nimport com.pulumi.azure.storage.Container;\nimport com.pulumi.azure.storage.ContainerArgs;\nimport com.pulumi.azure.storage.DataLakeGen2Filesystem;\nimport com.pulumi.azure.storage.DataLakeGen2FilesystemArgs;\nimport com.pulumi.azure.synapse.Workspace;\nimport com.pulumi.azure.synapse.WorkspaceArgs;\nimport com.pulumi.azure.synapse.inputs.WorkspaceIdentityArgs;\nimport com.pulumi.azure.synapse.FirewallRule;\nimport com.pulumi.azure.synapse.FirewallRuleArgs;\nimport com.pulumi.azure.synapse.IntegrationRuntimeAzure;\nimport com.pulumi.azure.synapse.IntegrationRuntimeAzureArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"example\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .accountTier(\"Standard\")\n            .accountReplicationType(\"LRS\")\n            .build());\n\n        var exampleContainer = new Container(\"exampleContainer\", ContainerArgs.builder()\n            .name(\"content\")\n            .storageAccountName(exampleAccount.name())\n            .containerAccessType(\"private\")\n            .build());\n\n        var exampleDataLakeGen2Filesystem = new DataLakeGen2Filesystem(\"exampleDataLakeGen2Filesystem\", DataLakeGen2FilesystemArgs.builder()\n            .name(\"example\")\n            .storageAccountId(exampleAccount.id())\n            .build());\n\n        var exampleWorkspace = new Workspace(\"exampleWorkspace\", WorkspaceArgs.builder()\n            .name(\"example\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .storageDataLakeGen2FilesystemId(exampleDataLakeGen2Filesystem.id())\n            .sqlAdministratorLogin(\"sqladminuser\")\n            .sqlAdministratorLoginPassword(\"H@Sh1CoR3!\")\n            .managedVirtualNetworkEnabled(true)\n            .identity(WorkspaceIdentityArgs.builder()\n                .type(\"SystemAssigned\")\n                .build())\n            .build());\n\n        var exampleFirewallRule = new FirewallRule(\"exampleFirewallRule\", FirewallRuleArgs.builder()\n            .name(\"AllowAll\")\n            .synapseWorkspaceId(exampleWorkspace.id())\n            .startIpAddress(\"0.0.0.0\")\n            .endIpAddress(\"255.255.255.255\")\n            .build());\n\n        var exampleIntegrationRuntimeAzure = new IntegrationRuntimeAzure(\"exampleIntegrationRuntimeAzure\", IntegrationRuntimeAzureArgs.builder()\n            .name(\"example\")\n            .synapseWorkspaceId(exampleWorkspace.id())\n            .location(example.location())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example\n      location: West Europe\n  exampleAccount:\n    type: azure:storage:Account\n    name: example\n    properties:\n      name: example\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      accountTier: Standard\n      accountReplicationType: LRS\n  exampleContainer:\n    type: azure:storage:Container\n    name: example\n    properties:\n      name: content\n      storageAccountName: ${exampleAccount.name}\n      containerAccessType: private\n  exampleDataLakeGen2Filesystem:\n    type: azure:storage:DataLakeGen2Filesystem\n    name: example\n    properties:\n      name: example\n      storageAccountId: ${exampleAccount.id}\n  exampleWorkspace:\n    type: azure:synapse:Workspace\n    name: example\n    properties:\n      name: example\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      storageDataLakeGen2FilesystemId: ${exampleDataLakeGen2Filesystem.id}\n      sqlAdministratorLogin: sqladminuser\n      sqlAdministratorLoginPassword: H@Sh1CoR3!\n      managedVirtualNetworkEnabled: true\n      identity:\n        type: SystemAssigned\n  exampleFirewallRule:\n    type: azure:synapse:FirewallRule\n    name: example\n    properties:\n      name: AllowAll\n      synapseWorkspaceId: ${exampleWorkspace.id}\n      startIpAddress: 0.0.0.0\n      endIpAddress: 255.255.255.255\n  exampleIntegrationRuntimeAzure:\n    type: azure:synapse:IntegrationRuntimeAzure\n    name: example\n    properties:\n      name: example\n      synapseWorkspaceId: ${exampleWorkspace.id}\n      location: ${example.location}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nSynapse Azure Integration Runtimes can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:synapse/integrationRuntimeAzure:IntegrationRuntimeAzure example /subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/resGroup1/providers/Microsoft.Synapse/workspaces/workspace1/integrationRuntimes/IntegrationRuntime1\n```\n\n","properties":{"computeType":{"type":"string","description":"Compute type of the cluster which will execute data flow job. Valid values are `General`, `ComputeOptimized` and `MemoryOptimized`. Defaults to `General`.\n"},"coreCount":{"type":"integer","description":"Core count of the cluster which will execute data flow job. Valid values are \u003cspan pulumi-lang-nodejs=\"`8`\" pulumi-lang-dotnet=\"`8`\" pulumi-lang-go=\"`8`\" pulumi-lang-python=\"`8`\" pulumi-lang-yaml=\"`8`\" pulumi-lang-java=\"`8`\"\u003e`8`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`16`\" pulumi-lang-dotnet=\"`16`\" pulumi-lang-go=\"`16`\" pulumi-lang-python=\"`16`\" pulumi-lang-yaml=\"`16`\" pulumi-lang-java=\"`16`\"\u003e`16`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`32`\" pulumi-lang-dotnet=\"`32`\" pulumi-lang-go=\"`32`\" pulumi-lang-python=\"`32`\" pulumi-lang-yaml=\"`32`\" pulumi-lang-java=\"`32`\"\u003e`32`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`48`\" pulumi-lang-dotnet=\"`48`\" pulumi-lang-go=\"`48`\" pulumi-lang-python=\"`48`\" pulumi-lang-yaml=\"`48`\" pulumi-lang-java=\"`48`\"\u003e`48`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`80`\" pulumi-lang-dotnet=\"`80`\" pulumi-lang-go=\"`80`\" pulumi-lang-python=\"`80`\" pulumi-lang-yaml=\"`80`\" pulumi-lang-java=\"`80`\"\u003e`80`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`144`\" pulumi-lang-dotnet=\"`144`\" pulumi-lang-go=\"`144`\" pulumi-lang-python=\"`144`\" pulumi-lang-yaml=\"`144`\" pulumi-lang-java=\"`144`\"\u003e`144`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`272`\" pulumi-lang-dotnet=\"`272`\" pulumi-lang-go=\"`272`\" pulumi-lang-python=\"`272`\" pulumi-lang-yaml=\"`272`\" pulumi-lang-java=\"`272`\"\u003e`272`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`8`\" pulumi-lang-dotnet=\"`8`\" pulumi-lang-go=\"`8`\" pulumi-lang-python=\"`8`\" pulumi-lang-yaml=\"`8`\" pulumi-lang-java=\"`8`\"\u003e`8`\u003c/span\u003e.\n"},"description":{"type":"string","description":"Integration runtime description.\n"},"location":{"type":"string","description":"The Azure Region where the Synapse Azure Integration Runtime should exist. Use `AutoResolve` to create an auto-resolve integration runtime. Changing this forces a new Synapse Azure Integration Runtime to be created.\n"},"name":{"type":"string","description":"The name which should be used for this Synapse Azure Integration Runtime. Changing this forces a new Synapse Azure Integration Runtime to be created.\n"},"synapseWorkspaceId":{"type":"string","description":"The Synapse Workspace ID in which to associate the Integration Runtime with. Changing this forces a new Synapse Azure Integration Runtime to be created.\n"},"timeToLiveMin":{"type":"integer","description":"Time to live (in minutes) setting of the cluster which will execute data flow job. Defaults to \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"}},"required":["location","name","synapseWorkspaceId"],"inputProperties":{"computeType":{"type":"string","description":"Compute type of the cluster which will execute data flow job. Valid values are `General`, `ComputeOptimized` and `MemoryOptimized`. Defaults to `General`.\n"},"coreCount":{"type":"integer","description":"Core count of the cluster which will execute data flow job. Valid values are \u003cspan pulumi-lang-nodejs=\"`8`\" pulumi-lang-dotnet=\"`8`\" pulumi-lang-go=\"`8`\" pulumi-lang-python=\"`8`\" pulumi-lang-yaml=\"`8`\" pulumi-lang-java=\"`8`\"\u003e`8`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`16`\" pulumi-lang-dotnet=\"`16`\" pulumi-lang-go=\"`16`\" pulumi-lang-python=\"`16`\" pulumi-lang-yaml=\"`16`\" pulumi-lang-java=\"`16`\"\u003e`16`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`32`\" pulumi-lang-dotnet=\"`32`\" pulumi-lang-go=\"`32`\" pulumi-lang-python=\"`32`\" pulumi-lang-yaml=\"`32`\" pulumi-lang-java=\"`32`\"\u003e`32`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`48`\" pulumi-lang-dotnet=\"`48`\" pulumi-lang-go=\"`48`\" pulumi-lang-python=\"`48`\" pulumi-lang-yaml=\"`48`\" pulumi-lang-java=\"`48`\"\u003e`48`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`80`\" pulumi-lang-dotnet=\"`80`\" pulumi-lang-go=\"`80`\" pulumi-lang-python=\"`80`\" pulumi-lang-yaml=\"`80`\" pulumi-lang-java=\"`80`\"\u003e`80`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`144`\" pulumi-lang-dotnet=\"`144`\" pulumi-lang-go=\"`144`\" pulumi-lang-python=\"`144`\" pulumi-lang-yaml=\"`144`\" pulumi-lang-java=\"`144`\"\u003e`144`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`272`\" pulumi-lang-dotnet=\"`272`\" pulumi-lang-go=\"`272`\" pulumi-lang-python=\"`272`\" pulumi-lang-yaml=\"`272`\" pulumi-lang-java=\"`272`\"\u003e`272`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`8`\" pulumi-lang-dotnet=\"`8`\" pulumi-lang-go=\"`8`\" pulumi-lang-python=\"`8`\" pulumi-lang-yaml=\"`8`\" pulumi-lang-java=\"`8`\"\u003e`8`\u003c/span\u003e.\n"},"description":{"type":"string","description":"Integration runtime description.\n"},"location":{"type":"string","description":"The Azure Region where the Synapse Azure Integration Runtime should exist. Use `AutoResolve` to create an auto-resolve integration runtime. Changing this forces a new Synapse Azure Integration Runtime to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Synapse Azure Integration Runtime. Changing this forces a new Synapse Azure Integration Runtime to be created.\n","willReplaceOnChanges":true},"synapseWorkspaceId":{"type":"string","description":"The Synapse Workspace ID in which to associate the Integration Runtime with. Changing this forces a new Synapse Azure Integration Runtime to be created.\n","willReplaceOnChanges":true},"timeToLiveMin":{"type":"integer","description":"Time to live (in minutes) setting of the cluster which will execute data flow job. Defaults to \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"}},"requiredInputs":["synapseWorkspaceId"],"stateInputs":{"description":"Input properties used for looking up and filtering IntegrationRuntimeAzure resources.\n","properties":{"computeType":{"type":"string","description":"Compute type of the cluster which will execute data flow job. Valid values are `General`, `ComputeOptimized` and `MemoryOptimized`. Defaults to `General`.\n"},"coreCount":{"type":"integer","description":"Core count of the cluster which will execute data flow job. Valid values are \u003cspan pulumi-lang-nodejs=\"`8`\" pulumi-lang-dotnet=\"`8`\" pulumi-lang-go=\"`8`\" pulumi-lang-python=\"`8`\" pulumi-lang-yaml=\"`8`\" pulumi-lang-java=\"`8`\"\u003e`8`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`16`\" pulumi-lang-dotnet=\"`16`\" pulumi-lang-go=\"`16`\" pulumi-lang-python=\"`16`\" pulumi-lang-yaml=\"`16`\" pulumi-lang-java=\"`16`\"\u003e`16`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`32`\" pulumi-lang-dotnet=\"`32`\" pulumi-lang-go=\"`32`\" pulumi-lang-python=\"`32`\" pulumi-lang-yaml=\"`32`\" pulumi-lang-java=\"`32`\"\u003e`32`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`48`\" pulumi-lang-dotnet=\"`48`\" pulumi-lang-go=\"`48`\" pulumi-lang-python=\"`48`\" pulumi-lang-yaml=\"`48`\" pulumi-lang-java=\"`48`\"\u003e`48`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`80`\" pulumi-lang-dotnet=\"`80`\" pulumi-lang-go=\"`80`\" pulumi-lang-python=\"`80`\" pulumi-lang-yaml=\"`80`\" pulumi-lang-java=\"`80`\"\u003e`80`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`144`\" pulumi-lang-dotnet=\"`144`\" pulumi-lang-go=\"`144`\" pulumi-lang-python=\"`144`\" pulumi-lang-yaml=\"`144`\" pulumi-lang-java=\"`144`\"\u003e`144`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`272`\" pulumi-lang-dotnet=\"`272`\" pulumi-lang-go=\"`272`\" pulumi-lang-python=\"`272`\" pulumi-lang-yaml=\"`272`\" pulumi-lang-java=\"`272`\"\u003e`272`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`8`\" pulumi-lang-dotnet=\"`8`\" pulumi-lang-go=\"`8`\" pulumi-lang-python=\"`8`\" pulumi-lang-yaml=\"`8`\" pulumi-lang-java=\"`8`\"\u003e`8`\u003c/span\u003e.\n"},"description":{"type":"string","description":"Integration runtime description.\n"},"location":{"type":"string","description":"The Azure Region where the Synapse Azure Integration Runtime should exist. Use `AutoResolve` to create an auto-resolve integration runtime. Changing this forces a new Synapse Azure Integration Runtime to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Synapse Azure Integration Runtime. Changing this forces a new Synapse Azure Integration Runtime to be created.\n","willReplaceOnChanges":true},"synapseWorkspaceId":{"type":"string","description":"The Synapse Workspace ID in which to associate the Integration Runtime with. Changing this forces a new Synapse Azure Integration Runtime to be created.\n","willReplaceOnChanges":true},"timeToLiveMin":{"type":"integer","description":"Time to live (in minutes) setting of the cluster which will execute data flow job. Defaults to \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"}},"type":"object"}},"azure:synapse/integrationRuntimeSelfHosted:IntegrationRuntimeSelfHosted":{"description":"Manages a Synapse Self-hosted Integration Runtime.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example\",\n    location: \"West Europe\",\n});\nconst exampleAccount = new azure.storage.Account(\"example\", {\n    name: \"example\",\n    location: example.location,\n    resourceGroupName: example.name,\n    accountTier: \"Standard\",\n    accountReplicationType: \"LRS\",\n});\nconst exampleContainer = new azure.storage.Container(\"example\", {\n    name: \"content\",\n    storageAccountName: exampleAccount.name,\n    containerAccessType: \"private\",\n});\nconst exampleDataLakeGen2Filesystem = new azure.storage.DataLakeGen2Filesystem(\"example\", {\n    name: \"example\",\n    storageAccountId: exampleAccount.id,\n});\nconst exampleWorkspace = new azure.synapse.Workspace(\"example\", {\n    name: \"example\",\n    location: example.location,\n    resourceGroupName: example.name,\n    storageDataLakeGen2FilesystemId: exampleDataLakeGen2Filesystem.id,\n    sqlAdministratorLogin: \"sqladminuser\",\n    sqlAdministratorLoginPassword: \"H@Sh1CoR3!\",\n    managedVirtualNetworkEnabled: true,\n    identity: {\n        type: \"SystemAssigned\",\n    },\n});\nconst exampleFirewallRule = new azure.synapse.FirewallRule(\"example\", {\n    name: \"AllowAll\",\n    synapseWorkspaceId: exampleWorkspace.id,\n    startIpAddress: \"0.0.0.0\",\n    endIpAddress: \"255.255.255.255\",\n});\nconst exampleIntegrationRuntimeSelfHosted = new azure.synapse.IntegrationRuntimeSelfHosted(\"example\", {\n    name: \"example\",\n    synapseWorkspaceId: exampleWorkspace.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example\",\n    location=\"West Europe\")\nexample_account = azure.storage.Account(\"example\",\n    name=\"example\",\n    location=example.location,\n    resource_group_name=example.name,\n    account_tier=\"Standard\",\n    account_replication_type=\"LRS\")\nexample_container = azure.storage.Container(\"example\",\n    name=\"content\",\n    storage_account_name=example_account.name,\n    container_access_type=\"private\")\nexample_data_lake_gen2_filesystem = azure.storage.DataLakeGen2Filesystem(\"example\",\n    name=\"example\",\n    storage_account_id=example_account.id)\nexample_workspace = azure.synapse.Workspace(\"example\",\n    name=\"example\",\n    location=example.location,\n    resource_group_name=example.name,\n    storage_data_lake_gen2_filesystem_id=example_data_lake_gen2_filesystem.id,\n    sql_administrator_login=\"sqladminuser\",\n    sql_administrator_login_password=\"H@Sh1CoR3!\",\n    managed_virtual_network_enabled=True,\n    identity={\n        \"type\": \"SystemAssigned\",\n    })\nexample_firewall_rule = azure.synapse.FirewallRule(\"example\",\n    name=\"AllowAll\",\n    synapse_workspace_id=example_workspace.id,\n    start_ip_address=\"0.0.0.0\",\n    end_ip_address=\"255.255.255.255\")\nexample_integration_runtime_self_hosted = azure.synapse.IntegrationRuntimeSelfHosted(\"example\",\n    name=\"example\",\n    synapse_workspace_id=example_workspace.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example\",\n        Location = \"West Europe\",\n    });\n\n    var exampleAccount = new Azure.Storage.Account(\"example\", new()\n    {\n        Name = \"example\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        AccountTier = \"Standard\",\n        AccountReplicationType = \"LRS\",\n    });\n\n    var exampleContainer = new Azure.Storage.Container(\"example\", new()\n    {\n        Name = \"content\",\n        StorageAccountName = exampleAccount.Name,\n        ContainerAccessType = \"private\",\n    });\n\n    var exampleDataLakeGen2Filesystem = new Azure.Storage.DataLakeGen2Filesystem(\"example\", new()\n    {\n        Name = \"example\",\n        StorageAccountId = exampleAccount.Id,\n    });\n\n    var exampleWorkspace = new Azure.Synapse.Workspace(\"example\", new()\n    {\n        Name = \"example\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        StorageDataLakeGen2FilesystemId = exampleDataLakeGen2Filesystem.Id,\n        SqlAdministratorLogin = \"sqladminuser\",\n        SqlAdministratorLoginPassword = \"H@Sh1CoR3!\",\n        ManagedVirtualNetworkEnabled = true,\n        Identity = new Azure.Synapse.Inputs.WorkspaceIdentityArgs\n        {\n            Type = \"SystemAssigned\",\n        },\n    });\n\n    var exampleFirewallRule = new Azure.Synapse.FirewallRule(\"example\", new()\n    {\n        Name = \"AllowAll\",\n        SynapseWorkspaceId = exampleWorkspace.Id,\n        StartIpAddress = \"0.0.0.0\",\n        EndIpAddress = \"255.255.255.255\",\n    });\n\n    var exampleIntegrationRuntimeSelfHosted = new Azure.Synapse.IntegrationRuntimeSelfHosted(\"example\", new()\n    {\n        Name = \"example\",\n        SynapseWorkspaceId = exampleWorkspace.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/synapse\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := storage.NewAccount(ctx, \"example\", \u0026storage.AccountArgs{\n\t\t\tName:                   pulumi.String(\"example\"),\n\t\t\tLocation:               example.Location,\n\t\t\tResourceGroupName:      example.Name,\n\t\t\tAccountTier:            pulumi.String(\"Standard\"),\n\t\t\tAccountReplicationType: pulumi.String(\"LRS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = storage.NewContainer(ctx, \"example\", \u0026storage.ContainerArgs{\n\t\t\tName:                pulumi.String(\"content\"),\n\t\t\tStorageAccountName:  exampleAccount.Name,\n\t\t\tContainerAccessType: pulumi.String(\"private\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleDataLakeGen2Filesystem, err := storage.NewDataLakeGen2Filesystem(ctx, \"example\", \u0026storage.DataLakeGen2FilesystemArgs{\n\t\t\tName:             pulumi.String(\"example\"),\n\t\t\tStorageAccountId: exampleAccount.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleWorkspace, err := synapse.NewWorkspace(ctx, \"example\", \u0026synapse.WorkspaceArgs{\n\t\t\tName:                            pulumi.String(\"example\"),\n\t\t\tLocation:                        example.Location,\n\t\t\tResourceGroupName:               example.Name,\n\t\t\tStorageDataLakeGen2FilesystemId: exampleDataLakeGen2Filesystem.ID(),\n\t\t\tSqlAdministratorLogin:           pulumi.String(\"sqladminuser\"),\n\t\t\tSqlAdministratorLoginPassword:   pulumi.String(\"H@Sh1CoR3!\"),\n\t\t\tManagedVirtualNetworkEnabled:    pulumi.Bool(true),\n\t\t\tIdentity: \u0026synapse.WorkspaceIdentityArgs{\n\t\t\t\tType: pulumi.String(\"SystemAssigned\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = synapse.NewFirewallRule(ctx, \"example\", \u0026synapse.FirewallRuleArgs{\n\t\t\tName:               pulumi.String(\"AllowAll\"),\n\t\t\tSynapseWorkspaceId: exampleWorkspace.ID(),\n\t\t\tStartIpAddress:     pulumi.String(\"0.0.0.0\"),\n\t\t\tEndIpAddress:       pulumi.String(\"255.255.255.255\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = synapse.NewIntegrationRuntimeSelfHosted(ctx, \"example\", \u0026synapse.IntegrationRuntimeSelfHostedArgs{\n\t\t\tName:               pulumi.String(\"example\"),\n\t\t\tSynapseWorkspaceId: exampleWorkspace.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.storage.Account;\nimport com.pulumi.azure.storage.AccountArgs;\nimport com.pulumi.azure.storage.Container;\nimport com.pulumi.azure.storage.ContainerArgs;\nimport com.pulumi.azure.storage.DataLakeGen2Filesystem;\nimport com.pulumi.azure.storage.DataLakeGen2FilesystemArgs;\nimport com.pulumi.azure.synapse.Workspace;\nimport com.pulumi.azure.synapse.WorkspaceArgs;\nimport com.pulumi.azure.synapse.inputs.WorkspaceIdentityArgs;\nimport com.pulumi.azure.synapse.FirewallRule;\nimport com.pulumi.azure.synapse.FirewallRuleArgs;\nimport com.pulumi.azure.synapse.IntegrationRuntimeSelfHosted;\nimport com.pulumi.azure.synapse.IntegrationRuntimeSelfHostedArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"example\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .accountTier(\"Standard\")\n            .accountReplicationType(\"LRS\")\n            .build());\n\n        var exampleContainer = new Container(\"exampleContainer\", ContainerArgs.builder()\n            .name(\"content\")\n            .storageAccountName(exampleAccount.name())\n            .containerAccessType(\"private\")\n            .build());\n\n        var exampleDataLakeGen2Filesystem = new DataLakeGen2Filesystem(\"exampleDataLakeGen2Filesystem\", DataLakeGen2FilesystemArgs.builder()\n            .name(\"example\")\n            .storageAccountId(exampleAccount.id())\n            .build());\n\n        var exampleWorkspace = new Workspace(\"exampleWorkspace\", WorkspaceArgs.builder()\n            .name(\"example\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .storageDataLakeGen2FilesystemId(exampleDataLakeGen2Filesystem.id())\n            .sqlAdministratorLogin(\"sqladminuser\")\n            .sqlAdministratorLoginPassword(\"H@Sh1CoR3!\")\n            .managedVirtualNetworkEnabled(true)\n            .identity(WorkspaceIdentityArgs.builder()\n                .type(\"SystemAssigned\")\n                .build())\n            .build());\n\n        var exampleFirewallRule = new FirewallRule(\"exampleFirewallRule\", FirewallRuleArgs.builder()\n            .name(\"AllowAll\")\n            .synapseWorkspaceId(exampleWorkspace.id())\n            .startIpAddress(\"0.0.0.0\")\n            .endIpAddress(\"255.255.255.255\")\n            .build());\n\n        var exampleIntegrationRuntimeSelfHosted = new IntegrationRuntimeSelfHosted(\"exampleIntegrationRuntimeSelfHosted\", IntegrationRuntimeSelfHostedArgs.builder()\n            .name(\"example\")\n            .synapseWorkspaceId(exampleWorkspace.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example\n      location: West Europe\n  exampleAccount:\n    type: azure:storage:Account\n    name: example\n    properties:\n      name: example\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      accountTier: Standard\n      accountReplicationType: LRS\n  exampleContainer:\n    type: azure:storage:Container\n    name: example\n    properties:\n      name: content\n      storageAccountName: ${exampleAccount.name}\n      containerAccessType: private\n  exampleDataLakeGen2Filesystem:\n    type: azure:storage:DataLakeGen2Filesystem\n    name: example\n    properties:\n      name: example\n      storageAccountId: ${exampleAccount.id}\n  exampleWorkspace:\n    type: azure:synapse:Workspace\n    name: example\n    properties:\n      name: example\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      storageDataLakeGen2FilesystemId: ${exampleDataLakeGen2Filesystem.id}\n      sqlAdministratorLogin: sqladminuser\n      sqlAdministratorLoginPassword: H@Sh1CoR3!\n      managedVirtualNetworkEnabled: true\n      identity:\n        type: SystemAssigned\n  exampleFirewallRule:\n    type: azure:synapse:FirewallRule\n    name: example\n    properties:\n      name: AllowAll\n      synapseWorkspaceId: ${exampleWorkspace.id}\n      startIpAddress: 0.0.0.0\n      endIpAddress: 255.255.255.255\n  exampleIntegrationRuntimeSelfHosted:\n    type: azure:synapse:IntegrationRuntimeSelfHosted\n    name: example\n    properties:\n      name: example\n      synapseWorkspaceId: ${exampleWorkspace.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nSynapse Self-hosted Integration Runtimes can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:synapse/integrationRuntimeSelfHosted:IntegrationRuntimeSelfHosted example /subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/resGroup1/providers/Microsoft.Synapse/workspaces/workspace1/integrationRuntimes/IntegrationRuntime1\n```\n\n","properties":{"authorizationKeyPrimary":{"type":"string","description":"The primary integration runtime authentication key.\n"},"authorizationKeySecondary":{"type":"string","description":"The secondary integration runtime authentication key.\n"},"description":{"type":"string","description":"Integration runtime description.\n"},"name":{"type":"string","description":"The name which should be used for this Synapse Self-hosted Integration Runtime. Changing this forces a new Synapse Self-hosted Integration Runtime to be created.\n"},"synapseWorkspaceId":{"type":"string","description":"The Synapse Workspace ID in which to associate the Integration Runtime with. Changing this forces a new Synapse Self-hosted Integration Runtime to be created.\n"}},"required":["authorizationKeyPrimary","authorizationKeySecondary","name","synapseWorkspaceId"],"inputProperties":{"description":{"type":"string","description":"Integration runtime description.\n"},"name":{"type":"string","description":"The name which should be used for this Synapse Self-hosted Integration Runtime. Changing this forces a new Synapse Self-hosted Integration Runtime to be created.\n","willReplaceOnChanges":true},"synapseWorkspaceId":{"type":"string","description":"The Synapse Workspace ID in which to associate the Integration Runtime with. Changing this forces a new Synapse Self-hosted Integration Runtime to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["synapseWorkspaceId"],"stateInputs":{"description":"Input properties used for looking up and filtering IntegrationRuntimeSelfHosted resources.\n","properties":{"authorizationKeyPrimary":{"type":"string","description":"The primary integration runtime authentication key.\n"},"authorizationKeySecondary":{"type":"string","description":"The secondary integration runtime authentication key.\n"},"description":{"type":"string","description":"Integration runtime description.\n"},"name":{"type":"string","description":"The name which should be used for this Synapse Self-hosted Integration Runtime. Changing this forces a new Synapse Self-hosted Integration Runtime to be created.\n","willReplaceOnChanges":true},"synapseWorkspaceId":{"type":"string","description":"The Synapse Workspace ID in which to associate the Integration Runtime with. Changing this forces a new Synapse Self-hosted Integration Runtime to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:synapse/linkedService:LinkedService":{"description":"Manages a Synapse Linked Service.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example\",\n    location: \"West Europe\",\n});\nconst exampleAccount = new azure.storage.Account(\"example\", {\n    name: \"example\",\n    resourceGroupName: example.name,\n    location: example.location,\n    accountKind: \"BlobStorage\",\n    accountTier: \"Standard\",\n    accountReplicationType: \"LRS\",\n});\nconst exampleDataLakeGen2Filesystem = new azure.storage.DataLakeGen2Filesystem(\"example\", {\n    name: \"example\",\n    storageAccountId: exampleAccount.id,\n});\nconst exampleWorkspace = new azure.synapse.Workspace(\"example\", {\n    name: \"example\",\n    resourceGroupName: example.name,\n    location: example.location,\n    storageDataLakeGen2FilesystemId: exampleDataLakeGen2Filesystem.id,\n    sqlAdministratorLogin: \"sqladminuser\",\n    sqlAdministratorLoginPassword: \"H@Sh1CoR3!\",\n    managedVirtualNetworkEnabled: true,\n    identity: {\n        type: \"SystemAssigned\",\n    },\n});\nconst exampleFirewallRule = new azure.synapse.FirewallRule(\"example\", {\n    name: \"allowAll\",\n    synapseWorkspaceId: exampleWorkspace.id,\n    startIpAddress: \"0.0.0.0\",\n    endIpAddress: \"255.255.255.255\",\n});\nconst exampleIntegrationRuntimeAzure = new azure.synapse.IntegrationRuntimeAzure(\"example\", {\n    name: \"example\",\n    synapseWorkspaceId: exampleWorkspace.id,\n    location: example.location,\n});\nconst exampleLinkedService = new azure.synapse.LinkedService(\"example\", {\n    name: \"example\",\n    synapseWorkspaceId: exampleWorkspace.id,\n    type: \"AzureBlobStorage\",\n    typePropertiesJson: pulumi.interpolate`{\n  \\\"connectionString\\\": \\\"${exampleAccount.primaryConnectionString}\\\"\n}\n`,\n    integrationRuntime: {\n        name: exampleIntegrationRuntimeAzure.name,\n    },\n}, {\n    dependsOn: [exampleFirewallRule],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example\",\n    location=\"West Europe\")\nexample_account = azure.storage.Account(\"example\",\n    name=\"example\",\n    resource_group_name=example.name,\n    location=example.location,\n    account_kind=\"BlobStorage\",\n    account_tier=\"Standard\",\n    account_replication_type=\"LRS\")\nexample_data_lake_gen2_filesystem = azure.storage.DataLakeGen2Filesystem(\"example\",\n    name=\"example\",\n    storage_account_id=example_account.id)\nexample_workspace = azure.synapse.Workspace(\"example\",\n    name=\"example\",\n    resource_group_name=example.name,\n    location=example.location,\n    storage_data_lake_gen2_filesystem_id=example_data_lake_gen2_filesystem.id,\n    sql_administrator_login=\"sqladminuser\",\n    sql_administrator_login_password=\"H@Sh1CoR3!\",\n    managed_virtual_network_enabled=True,\n    identity={\n        \"type\": \"SystemAssigned\",\n    })\nexample_firewall_rule = azure.synapse.FirewallRule(\"example\",\n    name=\"allowAll\",\n    synapse_workspace_id=example_workspace.id,\n    start_ip_address=\"0.0.0.0\",\n    end_ip_address=\"255.255.255.255\")\nexample_integration_runtime_azure = azure.synapse.IntegrationRuntimeAzure(\"example\",\n    name=\"example\",\n    synapse_workspace_id=example_workspace.id,\n    location=example.location)\nexample_linked_service = azure.synapse.LinkedService(\"example\",\n    name=\"example\",\n    synapse_workspace_id=example_workspace.id,\n    type=\"AzureBlobStorage\",\n    type_properties_json=example_account.primary_connection_string.apply(lambda primary_connection_string: f\"\"\"{{\n  \\\"connectionString\\\": \\\"{primary_connection_string}\\\"\n}}\n\"\"\"),\n    integration_runtime={\n        \"name\": example_integration_runtime_azure.name,\n    },\n    opts = pulumi.ResourceOptions(depends_on=[example_firewall_rule]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example\",\n        Location = \"West Europe\",\n    });\n\n    var exampleAccount = new Azure.Storage.Account(\"example\", new()\n    {\n        Name = \"example\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        AccountKind = \"BlobStorage\",\n        AccountTier = \"Standard\",\n        AccountReplicationType = \"LRS\",\n    });\n\n    var exampleDataLakeGen2Filesystem = new Azure.Storage.DataLakeGen2Filesystem(\"example\", new()\n    {\n        Name = \"example\",\n        StorageAccountId = exampleAccount.Id,\n    });\n\n    var exampleWorkspace = new Azure.Synapse.Workspace(\"example\", new()\n    {\n        Name = \"example\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        StorageDataLakeGen2FilesystemId = exampleDataLakeGen2Filesystem.Id,\n        SqlAdministratorLogin = \"sqladminuser\",\n        SqlAdministratorLoginPassword = \"H@Sh1CoR3!\",\n        ManagedVirtualNetworkEnabled = true,\n        Identity = new Azure.Synapse.Inputs.WorkspaceIdentityArgs\n        {\n            Type = \"SystemAssigned\",\n        },\n    });\n\n    var exampleFirewallRule = new Azure.Synapse.FirewallRule(\"example\", new()\n    {\n        Name = \"allowAll\",\n        SynapseWorkspaceId = exampleWorkspace.Id,\n        StartIpAddress = \"0.0.0.0\",\n        EndIpAddress = \"255.255.255.255\",\n    });\n\n    var exampleIntegrationRuntimeAzure = new Azure.Synapse.IntegrationRuntimeAzure(\"example\", new()\n    {\n        Name = \"example\",\n        SynapseWorkspaceId = exampleWorkspace.Id,\n        Location = example.Location,\n    });\n\n    var exampleLinkedService = new Azure.Synapse.LinkedService(\"example\", new()\n    {\n        Name = \"example\",\n        SynapseWorkspaceId = exampleWorkspace.Id,\n        Type = \"AzureBlobStorage\",\n        TypePropertiesJson = exampleAccount.PrimaryConnectionString.Apply(primaryConnectionString =\u003e @$\"{{\n  \\\"\"connectionString\\\"\": \\\"\"{primaryConnectionString}\\\"\"\n}}\n\"),\n        IntegrationRuntime = new Azure.Synapse.Inputs.LinkedServiceIntegrationRuntimeArgs\n        {\n            Name = exampleIntegrationRuntimeAzure.Name,\n        },\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            exampleFirewallRule,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/synapse\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := storage.NewAccount(ctx, \"example\", \u0026storage.AccountArgs{\n\t\t\tName:                   pulumi.String(\"example\"),\n\t\t\tResourceGroupName:      example.Name,\n\t\t\tLocation:               example.Location,\n\t\t\tAccountKind:            pulumi.String(\"BlobStorage\"),\n\t\t\tAccountTier:            pulumi.String(\"Standard\"),\n\t\t\tAccountReplicationType: pulumi.String(\"LRS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleDataLakeGen2Filesystem, err := storage.NewDataLakeGen2Filesystem(ctx, \"example\", \u0026storage.DataLakeGen2FilesystemArgs{\n\t\t\tName:             pulumi.String(\"example\"),\n\t\t\tStorageAccountId: exampleAccount.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleWorkspace, err := synapse.NewWorkspace(ctx, \"example\", \u0026synapse.WorkspaceArgs{\n\t\t\tName:                            pulumi.String(\"example\"),\n\t\t\tResourceGroupName:               example.Name,\n\t\t\tLocation:                        example.Location,\n\t\t\tStorageDataLakeGen2FilesystemId: exampleDataLakeGen2Filesystem.ID(),\n\t\t\tSqlAdministratorLogin:           pulumi.String(\"sqladminuser\"),\n\t\t\tSqlAdministratorLoginPassword:   pulumi.String(\"H@Sh1CoR3!\"),\n\t\t\tManagedVirtualNetworkEnabled:    pulumi.Bool(true),\n\t\t\tIdentity: \u0026synapse.WorkspaceIdentityArgs{\n\t\t\t\tType: pulumi.String(\"SystemAssigned\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleFirewallRule, err := synapse.NewFirewallRule(ctx, \"example\", \u0026synapse.FirewallRuleArgs{\n\t\t\tName:               pulumi.String(\"allowAll\"),\n\t\t\tSynapseWorkspaceId: exampleWorkspace.ID(),\n\t\t\tStartIpAddress:     pulumi.String(\"0.0.0.0\"),\n\t\t\tEndIpAddress:       pulumi.String(\"255.255.255.255\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleIntegrationRuntimeAzure, err := synapse.NewIntegrationRuntimeAzure(ctx, \"example\", \u0026synapse.IntegrationRuntimeAzureArgs{\n\t\t\tName:               pulumi.String(\"example\"),\n\t\t\tSynapseWorkspaceId: exampleWorkspace.ID(),\n\t\t\tLocation:           example.Location,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = synapse.NewLinkedService(ctx, \"example\", \u0026synapse.LinkedServiceArgs{\n\t\t\tName:               pulumi.String(\"example\"),\n\t\t\tSynapseWorkspaceId: exampleWorkspace.ID(),\n\t\t\tType:               pulumi.String(\"AzureBlobStorage\"),\n\t\t\tTypePropertiesJson: exampleAccount.PrimaryConnectionString.ApplyT(func(primaryConnectionString string) (string, error) {\n\t\t\t\treturn fmt.Sprintf(\"{\\n  \\\\\\\"connectionString\\\\\\\": \\\\\\\"%v\\\\\\\"\\n}\\n\", primaryConnectionString), nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t\tIntegrationRuntime: \u0026synapse.LinkedServiceIntegrationRuntimeArgs{\n\t\t\t\tName: exampleIntegrationRuntimeAzure.Name,\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleFirewallRule,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.storage.Account;\nimport com.pulumi.azure.storage.AccountArgs;\nimport com.pulumi.azure.storage.DataLakeGen2Filesystem;\nimport com.pulumi.azure.storage.DataLakeGen2FilesystemArgs;\nimport com.pulumi.azure.synapse.Workspace;\nimport com.pulumi.azure.synapse.WorkspaceArgs;\nimport com.pulumi.azure.synapse.inputs.WorkspaceIdentityArgs;\nimport com.pulumi.azure.synapse.FirewallRule;\nimport com.pulumi.azure.synapse.FirewallRuleArgs;\nimport com.pulumi.azure.synapse.IntegrationRuntimeAzure;\nimport com.pulumi.azure.synapse.IntegrationRuntimeAzureArgs;\nimport com.pulumi.azure.synapse.LinkedService;\nimport com.pulumi.azure.synapse.LinkedServiceArgs;\nimport com.pulumi.azure.synapse.inputs.LinkedServiceIntegrationRuntimeArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"example\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .accountKind(\"BlobStorage\")\n            .accountTier(\"Standard\")\n            .accountReplicationType(\"LRS\")\n            .build());\n\n        var exampleDataLakeGen2Filesystem = new DataLakeGen2Filesystem(\"exampleDataLakeGen2Filesystem\", DataLakeGen2FilesystemArgs.builder()\n            .name(\"example\")\n            .storageAccountId(exampleAccount.id())\n            .build());\n\n        var exampleWorkspace = new Workspace(\"exampleWorkspace\", WorkspaceArgs.builder()\n            .name(\"example\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .storageDataLakeGen2FilesystemId(exampleDataLakeGen2Filesystem.id())\n            .sqlAdministratorLogin(\"sqladminuser\")\n            .sqlAdministratorLoginPassword(\"H@Sh1CoR3!\")\n            .managedVirtualNetworkEnabled(true)\n            .identity(WorkspaceIdentityArgs.builder()\n                .type(\"SystemAssigned\")\n                .build())\n            .build());\n\n        var exampleFirewallRule = new FirewallRule(\"exampleFirewallRule\", FirewallRuleArgs.builder()\n            .name(\"allowAll\")\n            .synapseWorkspaceId(exampleWorkspace.id())\n            .startIpAddress(\"0.0.0.0\")\n            .endIpAddress(\"255.255.255.255\")\n            .build());\n\n        var exampleIntegrationRuntimeAzure = new IntegrationRuntimeAzure(\"exampleIntegrationRuntimeAzure\", IntegrationRuntimeAzureArgs.builder()\n            .name(\"example\")\n            .synapseWorkspaceId(exampleWorkspace.id())\n            .location(example.location())\n            .build());\n\n        var exampleLinkedService = new LinkedService(\"exampleLinkedService\", LinkedServiceArgs.builder()\n            .name(\"example\")\n            .synapseWorkspaceId(exampleWorkspace.id())\n            .type(\"AzureBlobStorage\")\n            .typePropertiesJson(exampleAccount.primaryConnectionString().applyValue(_primaryConnectionString -\u003e \"\"\"\n{\n  \\\"connectionString\\\": \\\"%s\\\"\n}\n\", _primaryConnectionString)))\n            .integrationRuntime(LinkedServiceIntegrationRuntimeArgs.builder()\n                .name(exampleIntegrationRuntimeAzure.name())\n                .build())\n            .build(), CustomResourceOptions.builder()\n                .dependsOn(exampleFirewallRule)\n                .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example\n      location: West Europe\n  exampleAccount:\n    type: azure:storage:Account\n    name: example\n    properties:\n      name: example\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      accountKind: BlobStorage\n      accountTier: Standard\n      accountReplicationType: LRS\n  exampleDataLakeGen2Filesystem:\n    type: azure:storage:DataLakeGen2Filesystem\n    name: example\n    properties:\n      name: example\n      storageAccountId: ${exampleAccount.id}\n  exampleWorkspace:\n    type: azure:synapse:Workspace\n    name: example\n    properties:\n      name: example\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      storageDataLakeGen2FilesystemId: ${exampleDataLakeGen2Filesystem.id}\n      sqlAdministratorLogin: sqladminuser\n      sqlAdministratorLoginPassword: H@Sh1CoR3!\n      managedVirtualNetworkEnabled: true\n      identity:\n        type: SystemAssigned\n  exampleFirewallRule:\n    type: azure:synapse:FirewallRule\n    name: example\n    properties:\n      name: allowAll\n      synapseWorkspaceId: ${exampleWorkspace.id}\n      startIpAddress: 0.0.0.0\n      endIpAddress: 255.255.255.255\n  exampleIntegrationRuntimeAzure:\n    type: azure:synapse:IntegrationRuntimeAzure\n    name: example\n    properties:\n      name: example\n      synapseWorkspaceId: ${exampleWorkspace.id}\n      location: ${example.location}\n  exampleLinkedService:\n    type: azure:synapse:LinkedService\n    name: example\n    properties:\n      name: example\n      synapseWorkspaceId: ${exampleWorkspace.id}\n      type: AzureBlobStorage\n      typePropertiesJson: |\n        {\n          \\\"connectionString\\\": \\\"${exampleAccount.primaryConnectionString}\\\"\n        }\n      integrationRuntime:\n        name: ${exampleIntegrationRuntimeAzure.name}\n    options:\n      dependsOn:\n        - ${exampleFirewallRule}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nSynapse Linked Services can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:synapse/linkedService:LinkedService example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resGroup1/providers/Microsoft.Synapse/workspaces/workspace1/linkedServices/linkedservice1\n```\n\n","properties":{"additionalProperties":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of additional properties to associate with the Synapse Linked Service.\n"},"annotations":{"type":"array","items":{"type":"string"},"description":"List of tags that can be used for describing the Synapse Linked Service.\n"},"description":{"type":"string","description":"The description for the Synapse Linked Service.\n"},"integrationRuntime":{"$ref":"#/types/azure:synapse/LinkedServiceIntegrationRuntime:LinkedServiceIntegrationRuntime","description":"A \u003cspan pulumi-lang-nodejs=\"`integrationRuntime`\" pulumi-lang-dotnet=\"`IntegrationRuntime`\" pulumi-lang-go=\"`integrationRuntime`\" pulumi-lang-python=\"`integration_runtime`\" pulumi-lang-yaml=\"`integrationRuntime`\" pulumi-lang-java=\"`integrationRuntime`\"\u003e`integration_runtime`\u003c/span\u003e block as defined below.\n"},"name":{"type":"string","description":"The name which should be used for this Synapse Linked Service. Changing this forces a new Synapse Linked Service to be created.\n"},"parameters":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of parameters to associate with the Synapse Linked Service.\n"},"synapseWorkspaceId":{"type":"string","description":"The Synapse Workspace ID in which to associate the Linked Service with. Changing this forces a new Synapse Linked Service to be created.\n"},"type":{"type":"string","description":"The type of data stores that will be connected to Synapse. Valid Values include `AmazonMWS`, `AmazonRdsForOracle`, `AmazonRdsForSqlServer`, `AmazonRedshift`, `AmazonS3`, `AzureBatch`. Changing this forces a new resource to be created.\n`AzureBlobFS`, `AzureBlobStorage`, `AzureDataExplorer`, `AzureDataLakeAnalytics`, `AzureDataLakeStore`, `AzureDatabricks`, `AzureDatabricksDeltaLake`, `AzureFileStorage`, `AzureFunction`,\n`AzureKeyVault`, `AzureML`, `AzureMLService`, `AzureMariaDB`, `AzureMySql`, `AzurePostgreSql`, `AzureSqlDW`, `AzureSqlDatabase`, `AzureSqlMI`, `AzureSearch`, `AzureStorage`,\n`AzureTableStorage`, `Cassandra`, `CommonDataServiceForApps`, `Concur`, `CosmosDb`, `CosmosDbMongoDbApi`, `Couchbase`, `CustomDataSource`, `Db2`, `Drill`,\n`Dynamics`, `DynamicsAX`, `DynamicsCrm`, `Eloqua`, `FileServer`, `FtpServer`, `GoogleAdWords`, `GoogleBigQuery`, `GoogleCloudStorage`, `Greenplum`, `HBase`, `HDInsight`,\n`HDInsightOnDemand`, `HttpServer`, `Hdfs`, `Hive`, `Hubspot`, `Impala`, `Informix`, `Jira`, `LinkedService`, `Magento`, `MariaDB`, `Marketo`, `MicrosoftAccess`, `MongoDb`,\n`MongoDbAtlas`, `MongoDbV2`, `MySql`, `Netezza`, `OData`, `Odbc`, `Office365`, `Oracle`, `OracleServiceCloud`, `Paypal`, `Phoenix`, `PostgreSql`, `Presto`, `QuickBooks`,\n`Responsys`, `RestService`, `SqlServer`, `Salesforce`, `SalesforceMarketingCloud`, `SalesforceServiceCloud`, `SapBW`, `SapCloudForCustomer`, `SapEcc`, `SapHana`, `SapOpenHub`,\n`SapTable`, `ServiceNow`, `Sftp`, `SharePointOnlineList`, `Shopify`, `Snowflake`, `Spark`, `Square`, `Sybase`, `Teradata`, `Vertica`, `Web`, `Xero`, `Zoho`.\n"},"typePropertiesJson":{"type":"string","description":"A JSON object that contains the properties of the Synapse Linked Service.\n"}},"required":["name","synapseWorkspaceId","type","typePropertiesJson"],"inputProperties":{"additionalProperties":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of additional properties to associate with the Synapse Linked Service.\n"},"annotations":{"type":"array","items":{"type":"string"},"description":"List of tags that can be used for describing the Synapse Linked Service.\n"},"description":{"type":"string","description":"The description for the Synapse Linked Service.\n"},"integrationRuntime":{"$ref":"#/types/azure:synapse/LinkedServiceIntegrationRuntime:LinkedServiceIntegrationRuntime","description":"A \u003cspan pulumi-lang-nodejs=\"`integrationRuntime`\" pulumi-lang-dotnet=\"`IntegrationRuntime`\" pulumi-lang-go=\"`integrationRuntime`\" pulumi-lang-python=\"`integration_runtime`\" pulumi-lang-yaml=\"`integrationRuntime`\" pulumi-lang-java=\"`integrationRuntime`\"\u003e`integration_runtime`\u003c/span\u003e block as defined below.\n"},"name":{"type":"string","description":"The name which should be used for this Synapse Linked Service. Changing this forces a new Synapse Linked Service to be created.\n","willReplaceOnChanges":true},"parameters":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of parameters to associate with the Synapse Linked Service.\n"},"synapseWorkspaceId":{"type":"string","description":"The Synapse Workspace ID in which to associate the Linked Service with. Changing this forces a new Synapse Linked Service to be created.\n","willReplaceOnChanges":true},"type":{"type":"string","description":"The type of data stores that will be connected to Synapse. Valid Values include `AmazonMWS`, `AmazonRdsForOracle`, `AmazonRdsForSqlServer`, `AmazonRedshift`, `AmazonS3`, `AzureBatch`. Changing this forces a new resource to be created.\n`AzureBlobFS`, `AzureBlobStorage`, `AzureDataExplorer`, `AzureDataLakeAnalytics`, `AzureDataLakeStore`, `AzureDatabricks`, `AzureDatabricksDeltaLake`, `AzureFileStorage`, `AzureFunction`,\n`AzureKeyVault`, `AzureML`, `AzureMLService`, `AzureMariaDB`, `AzureMySql`, `AzurePostgreSql`, `AzureSqlDW`, `AzureSqlDatabase`, `AzureSqlMI`, `AzureSearch`, `AzureStorage`,\n`AzureTableStorage`, `Cassandra`, `CommonDataServiceForApps`, `Concur`, `CosmosDb`, `CosmosDbMongoDbApi`, `Couchbase`, `CustomDataSource`, `Db2`, `Drill`,\n`Dynamics`, `DynamicsAX`, `DynamicsCrm`, `Eloqua`, `FileServer`, `FtpServer`, `GoogleAdWords`, `GoogleBigQuery`, `GoogleCloudStorage`, `Greenplum`, `HBase`, `HDInsight`,\n`HDInsightOnDemand`, `HttpServer`, `Hdfs`, `Hive`, `Hubspot`, `Impala`, `Informix`, `Jira`, `LinkedService`, `Magento`, `MariaDB`, `Marketo`, `MicrosoftAccess`, `MongoDb`,\n`MongoDbAtlas`, `MongoDbV2`, `MySql`, `Netezza`, `OData`, `Odbc`, `Office365`, `Oracle`, `OracleServiceCloud`, `Paypal`, `Phoenix`, `PostgreSql`, `Presto`, `QuickBooks`,\n`Responsys`, `RestService`, `SqlServer`, `Salesforce`, `SalesforceMarketingCloud`, `SalesforceServiceCloud`, `SapBW`, `SapCloudForCustomer`, `SapEcc`, `SapHana`, `SapOpenHub`,\n`SapTable`, `ServiceNow`, `Sftp`, `SharePointOnlineList`, `Shopify`, `Snowflake`, `Spark`, `Square`, `Sybase`, `Teradata`, `Vertica`, `Web`, `Xero`, `Zoho`.\n","willReplaceOnChanges":true},"typePropertiesJson":{"type":"string","description":"A JSON object that contains the properties of the Synapse Linked Service.\n"}},"requiredInputs":["synapseWorkspaceId","type","typePropertiesJson"],"stateInputs":{"description":"Input properties used for looking up and filtering LinkedService resources.\n","properties":{"additionalProperties":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of additional properties to associate with the Synapse Linked Service.\n"},"annotations":{"type":"array","items":{"type":"string"},"description":"List of tags that can be used for describing the Synapse Linked Service.\n"},"description":{"type":"string","description":"The description for the Synapse Linked Service.\n"},"integrationRuntime":{"$ref":"#/types/azure:synapse/LinkedServiceIntegrationRuntime:LinkedServiceIntegrationRuntime","description":"A \u003cspan pulumi-lang-nodejs=\"`integrationRuntime`\" pulumi-lang-dotnet=\"`IntegrationRuntime`\" pulumi-lang-go=\"`integrationRuntime`\" pulumi-lang-python=\"`integration_runtime`\" pulumi-lang-yaml=\"`integrationRuntime`\" pulumi-lang-java=\"`integrationRuntime`\"\u003e`integration_runtime`\u003c/span\u003e block as defined below.\n"},"name":{"type":"string","description":"The name which should be used for this Synapse Linked Service. Changing this forces a new Synapse Linked Service to be created.\n","willReplaceOnChanges":true},"parameters":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of parameters to associate with the Synapse Linked Service.\n"},"synapseWorkspaceId":{"type":"string","description":"The Synapse Workspace ID in which to associate the Linked Service with. Changing this forces a new Synapse Linked Service to be created.\n","willReplaceOnChanges":true},"type":{"type":"string","description":"The type of data stores that will be connected to Synapse. Valid Values include `AmazonMWS`, `AmazonRdsForOracle`, `AmazonRdsForSqlServer`, `AmazonRedshift`, `AmazonS3`, `AzureBatch`. Changing this forces a new resource to be created.\n`AzureBlobFS`, `AzureBlobStorage`, `AzureDataExplorer`, `AzureDataLakeAnalytics`, `AzureDataLakeStore`, `AzureDatabricks`, `AzureDatabricksDeltaLake`, `AzureFileStorage`, `AzureFunction`,\n`AzureKeyVault`, `AzureML`, `AzureMLService`, `AzureMariaDB`, `AzureMySql`, `AzurePostgreSql`, `AzureSqlDW`, `AzureSqlDatabase`, `AzureSqlMI`, `AzureSearch`, `AzureStorage`,\n`AzureTableStorage`, `Cassandra`, `CommonDataServiceForApps`, `Concur`, `CosmosDb`, `CosmosDbMongoDbApi`, `Couchbase`, `CustomDataSource`, `Db2`, `Drill`,\n`Dynamics`, `DynamicsAX`, `DynamicsCrm`, `Eloqua`, `FileServer`, `FtpServer`, `GoogleAdWords`, `GoogleBigQuery`, `GoogleCloudStorage`, `Greenplum`, `HBase`, `HDInsight`,\n`HDInsightOnDemand`, `HttpServer`, `Hdfs`, `Hive`, `Hubspot`, `Impala`, `Informix`, `Jira`, `LinkedService`, `Magento`, `MariaDB`, `Marketo`, `MicrosoftAccess`, `MongoDb`,\n`MongoDbAtlas`, `MongoDbV2`, `MySql`, `Netezza`, `OData`, `Odbc`, `Office365`, `Oracle`, `OracleServiceCloud`, `Paypal`, `Phoenix`, `PostgreSql`, `Presto`, `QuickBooks`,\n`Responsys`, `RestService`, `SqlServer`, `Salesforce`, `SalesforceMarketingCloud`, `SalesforceServiceCloud`, `SapBW`, `SapCloudForCustomer`, `SapEcc`, `SapHana`, `SapOpenHub`,\n`SapTable`, `ServiceNow`, `Sftp`, `SharePointOnlineList`, `Shopify`, `Snowflake`, `Spark`, `Square`, `Sybase`, `Teradata`, `Vertica`, `Web`, `Xero`, `Zoho`.\n","willReplaceOnChanges":true},"typePropertiesJson":{"type":"string","description":"A JSON object that contains the properties of the Synapse Linked Service.\n"}},"type":"object"}},"azure:synapse/managedPrivateEndpoint:ManagedPrivateEndpoint":{"description":"Manages a Synapse Managed Private Endpoint.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleAccount = new azure.storage.Account(\"example\", {\n    name: \"examplestorageacc\",\n    resourceGroupName: example.name,\n    location: example.location,\n    accountTier: \"Standard\",\n    accountReplicationType: \"LRS\",\n    accountKind: \"StorageV2\",\n    isHnsEnabled: true,\n});\nconst exampleDataLakeGen2Filesystem = new azure.storage.DataLakeGen2Filesystem(\"example\", {\n    name: \"example\",\n    storageAccountId: exampleAccount.id,\n});\nconst exampleWorkspace = new azure.synapse.Workspace(\"example\", {\n    name: \"example\",\n    resourceGroupName: example.name,\n    location: example.location,\n    storageDataLakeGen2FilesystemId: exampleDataLakeGen2Filesystem.id,\n    sqlAdministratorLogin: \"sqladminuser\",\n    sqlAdministratorLoginPassword: \"H@Sh1CoR3!\",\n    managedVirtualNetworkEnabled: true,\n    identity: {\n        type: \"SystemAssigned\",\n    },\n});\nconst exampleFirewallRule = new azure.synapse.FirewallRule(\"example\", {\n    name: \"AllowAll\",\n    synapseWorkspaceId: exampleWorkspace.id,\n    startIpAddress: \"0.0.0.0\",\n    endIpAddress: \"255.255.255.255\",\n});\nconst exampleConnect = new azure.storage.Account(\"example_connect\", {\n    name: \"examplestorage2\",\n    resourceGroupName: example.name,\n    location: example.location,\n    accountTier: \"Standard\",\n    accountReplicationType: \"LRS\",\n    accountKind: \"BlobStorage\",\n});\nconst exampleManagedPrivateEndpoint = new azure.synapse.ManagedPrivateEndpoint(\"example\", {\n    name: \"example-endpoint\",\n    synapseWorkspaceId: exampleWorkspace.id,\n    targetResourceId: exampleConnect.id,\n    subresourceName: \"blob\",\n}, {\n    dependsOn: [exampleFirewallRule],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_account = azure.storage.Account(\"example\",\n    name=\"examplestorageacc\",\n    resource_group_name=example.name,\n    location=example.location,\n    account_tier=\"Standard\",\n    account_replication_type=\"LRS\",\n    account_kind=\"StorageV2\",\n    is_hns_enabled=True)\nexample_data_lake_gen2_filesystem = azure.storage.DataLakeGen2Filesystem(\"example\",\n    name=\"example\",\n    storage_account_id=example_account.id)\nexample_workspace = azure.synapse.Workspace(\"example\",\n    name=\"example\",\n    resource_group_name=example.name,\n    location=example.location,\n    storage_data_lake_gen2_filesystem_id=example_data_lake_gen2_filesystem.id,\n    sql_administrator_login=\"sqladminuser\",\n    sql_administrator_login_password=\"H@Sh1CoR3!\",\n    managed_virtual_network_enabled=True,\n    identity={\n        \"type\": \"SystemAssigned\",\n    })\nexample_firewall_rule = azure.synapse.FirewallRule(\"example\",\n    name=\"AllowAll\",\n    synapse_workspace_id=example_workspace.id,\n    start_ip_address=\"0.0.0.0\",\n    end_ip_address=\"255.255.255.255\")\nexample_connect = azure.storage.Account(\"example_connect\",\n    name=\"examplestorage2\",\n    resource_group_name=example.name,\n    location=example.location,\n    account_tier=\"Standard\",\n    account_replication_type=\"LRS\",\n    account_kind=\"BlobStorage\")\nexample_managed_private_endpoint = azure.synapse.ManagedPrivateEndpoint(\"example\",\n    name=\"example-endpoint\",\n    synapse_workspace_id=example_workspace.id,\n    target_resource_id=example_connect.id,\n    subresource_name=\"blob\",\n    opts = pulumi.ResourceOptions(depends_on=[example_firewall_rule]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleAccount = new Azure.Storage.Account(\"example\", new()\n    {\n        Name = \"examplestorageacc\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        AccountTier = \"Standard\",\n        AccountReplicationType = \"LRS\",\n        AccountKind = \"StorageV2\",\n        IsHnsEnabled = true,\n    });\n\n    var exampleDataLakeGen2Filesystem = new Azure.Storage.DataLakeGen2Filesystem(\"example\", new()\n    {\n        Name = \"example\",\n        StorageAccountId = exampleAccount.Id,\n    });\n\n    var exampleWorkspace = new Azure.Synapse.Workspace(\"example\", new()\n    {\n        Name = \"example\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        StorageDataLakeGen2FilesystemId = exampleDataLakeGen2Filesystem.Id,\n        SqlAdministratorLogin = \"sqladminuser\",\n        SqlAdministratorLoginPassword = \"H@Sh1CoR3!\",\n        ManagedVirtualNetworkEnabled = true,\n        Identity = new Azure.Synapse.Inputs.WorkspaceIdentityArgs\n        {\n            Type = \"SystemAssigned\",\n        },\n    });\n\n    var exampleFirewallRule = new Azure.Synapse.FirewallRule(\"example\", new()\n    {\n        Name = \"AllowAll\",\n        SynapseWorkspaceId = exampleWorkspace.Id,\n        StartIpAddress = \"0.0.0.0\",\n        EndIpAddress = \"255.255.255.255\",\n    });\n\n    var exampleConnect = new Azure.Storage.Account(\"example_connect\", new()\n    {\n        Name = \"examplestorage2\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        AccountTier = \"Standard\",\n        AccountReplicationType = \"LRS\",\n        AccountKind = \"BlobStorage\",\n    });\n\n    var exampleManagedPrivateEndpoint = new Azure.Synapse.ManagedPrivateEndpoint(\"example\", new()\n    {\n        Name = \"example-endpoint\",\n        SynapseWorkspaceId = exampleWorkspace.Id,\n        TargetResourceId = exampleConnect.Id,\n        SubresourceName = \"blob\",\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            exampleFirewallRule,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/synapse\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := storage.NewAccount(ctx, \"example\", \u0026storage.AccountArgs{\n\t\t\tName:                   pulumi.String(\"examplestorageacc\"),\n\t\t\tResourceGroupName:      example.Name,\n\t\t\tLocation:               example.Location,\n\t\t\tAccountTier:            pulumi.String(\"Standard\"),\n\t\t\tAccountReplicationType: pulumi.String(\"LRS\"),\n\t\t\tAccountKind:            pulumi.String(\"StorageV2\"),\n\t\t\tIsHnsEnabled:           pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleDataLakeGen2Filesystem, err := storage.NewDataLakeGen2Filesystem(ctx, \"example\", \u0026storage.DataLakeGen2FilesystemArgs{\n\t\t\tName:             pulumi.String(\"example\"),\n\t\t\tStorageAccountId: exampleAccount.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleWorkspace, err := synapse.NewWorkspace(ctx, \"example\", \u0026synapse.WorkspaceArgs{\n\t\t\tName:                            pulumi.String(\"example\"),\n\t\t\tResourceGroupName:               example.Name,\n\t\t\tLocation:                        example.Location,\n\t\t\tStorageDataLakeGen2FilesystemId: exampleDataLakeGen2Filesystem.ID(),\n\t\t\tSqlAdministratorLogin:           pulumi.String(\"sqladminuser\"),\n\t\t\tSqlAdministratorLoginPassword:   pulumi.String(\"H@Sh1CoR3!\"),\n\t\t\tManagedVirtualNetworkEnabled:    pulumi.Bool(true),\n\t\t\tIdentity: \u0026synapse.WorkspaceIdentityArgs{\n\t\t\t\tType: pulumi.String(\"SystemAssigned\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleFirewallRule, err := synapse.NewFirewallRule(ctx, \"example\", \u0026synapse.FirewallRuleArgs{\n\t\t\tName:               pulumi.String(\"AllowAll\"),\n\t\t\tSynapseWorkspaceId: exampleWorkspace.ID(),\n\t\t\tStartIpAddress:     pulumi.String(\"0.0.0.0\"),\n\t\t\tEndIpAddress:       pulumi.String(\"255.255.255.255\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleConnect, err := storage.NewAccount(ctx, \"example_connect\", \u0026storage.AccountArgs{\n\t\t\tName:                   pulumi.String(\"examplestorage2\"),\n\t\t\tResourceGroupName:      example.Name,\n\t\t\tLocation:               example.Location,\n\t\t\tAccountTier:            pulumi.String(\"Standard\"),\n\t\t\tAccountReplicationType: pulumi.String(\"LRS\"),\n\t\t\tAccountKind:            pulumi.String(\"BlobStorage\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = synapse.NewManagedPrivateEndpoint(ctx, \"example\", \u0026synapse.ManagedPrivateEndpointArgs{\n\t\t\tName:               pulumi.String(\"example-endpoint\"),\n\t\t\tSynapseWorkspaceId: exampleWorkspace.ID(),\n\t\t\tTargetResourceId:   exampleConnect.ID(),\n\t\t\tSubresourceName:    pulumi.String(\"blob\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleFirewallRule,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.storage.Account;\nimport com.pulumi.azure.storage.AccountArgs;\nimport com.pulumi.azure.storage.DataLakeGen2Filesystem;\nimport com.pulumi.azure.storage.DataLakeGen2FilesystemArgs;\nimport com.pulumi.azure.synapse.Workspace;\nimport com.pulumi.azure.synapse.WorkspaceArgs;\nimport com.pulumi.azure.synapse.inputs.WorkspaceIdentityArgs;\nimport com.pulumi.azure.synapse.FirewallRule;\nimport com.pulumi.azure.synapse.FirewallRuleArgs;\nimport com.pulumi.azure.synapse.ManagedPrivateEndpoint;\nimport com.pulumi.azure.synapse.ManagedPrivateEndpointArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"examplestorageacc\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .accountTier(\"Standard\")\n            .accountReplicationType(\"LRS\")\n            .accountKind(\"StorageV2\")\n            .isHnsEnabled(true)\n            .build());\n\n        var exampleDataLakeGen2Filesystem = new DataLakeGen2Filesystem(\"exampleDataLakeGen2Filesystem\", DataLakeGen2FilesystemArgs.builder()\n            .name(\"example\")\n            .storageAccountId(exampleAccount.id())\n            .build());\n\n        var exampleWorkspace = new Workspace(\"exampleWorkspace\", WorkspaceArgs.builder()\n            .name(\"example\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .storageDataLakeGen2FilesystemId(exampleDataLakeGen2Filesystem.id())\n            .sqlAdministratorLogin(\"sqladminuser\")\n            .sqlAdministratorLoginPassword(\"H@Sh1CoR3!\")\n            .managedVirtualNetworkEnabled(true)\n            .identity(WorkspaceIdentityArgs.builder()\n                .type(\"SystemAssigned\")\n                .build())\n            .build());\n\n        var exampleFirewallRule = new FirewallRule(\"exampleFirewallRule\", FirewallRuleArgs.builder()\n            .name(\"AllowAll\")\n            .synapseWorkspaceId(exampleWorkspace.id())\n            .startIpAddress(\"0.0.0.0\")\n            .endIpAddress(\"255.255.255.255\")\n            .build());\n\n        var exampleConnect = new Account(\"exampleConnect\", AccountArgs.builder()\n            .name(\"examplestorage2\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .accountTier(\"Standard\")\n            .accountReplicationType(\"LRS\")\n            .accountKind(\"BlobStorage\")\n            .build());\n\n        var exampleManagedPrivateEndpoint = new ManagedPrivateEndpoint(\"exampleManagedPrivateEndpoint\", ManagedPrivateEndpointArgs.builder()\n            .name(\"example-endpoint\")\n            .synapseWorkspaceId(exampleWorkspace.id())\n            .targetResourceId(exampleConnect.id())\n            .subresourceName(\"blob\")\n            .build(), CustomResourceOptions.builder()\n                .dependsOn(exampleFirewallRule)\n                .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleAccount:\n    type: azure:storage:Account\n    name: example\n    properties:\n      name: examplestorageacc\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      accountTier: Standard\n      accountReplicationType: LRS\n      accountKind: StorageV2\n      isHnsEnabled: 'true'\n  exampleDataLakeGen2Filesystem:\n    type: azure:storage:DataLakeGen2Filesystem\n    name: example\n    properties:\n      name: example\n      storageAccountId: ${exampleAccount.id}\n  exampleWorkspace:\n    type: azure:synapse:Workspace\n    name: example\n    properties:\n      name: example\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      storageDataLakeGen2FilesystemId: ${exampleDataLakeGen2Filesystem.id}\n      sqlAdministratorLogin: sqladminuser\n      sqlAdministratorLoginPassword: H@Sh1CoR3!\n      managedVirtualNetworkEnabled: true\n      identity:\n        type: SystemAssigned\n  exampleFirewallRule:\n    type: azure:synapse:FirewallRule\n    name: example\n    properties:\n      name: AllowAll\n      synapseWorkspaceId: ${exampleWorkspace.id}\n      startIpAddress: 0.0.0.0\n      endIpAddress: 255.255.255.255\n  exampleConnect:\n    type: azure:storage:Account\n    name: example_connect\n    properties:\n      name: examplestorage2\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      accountTier: Standard\n      accountReplicationType: LRS\n      accountKind: BlobStorage\n  exampleManagedPrivateEndpoint:\n    type: azure:synapse:ManagedPrivateEndpoint\n    name: example\n    properties:\n      name: example-endpoint\n      synapseWorkspaceId: ${exampleWorkspace.id}\n      targetResourceId: ${exampleConnect.id}\n      subresourceName: blob\n    options:\n      dependsOn:\n        - ${exampleFirewallRule}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nSynapse Managed Private Endpoint can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:synapse/managedPrivateEndpoint:ManagedPrivateEndpoint example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Synapse/workspaces/workspace1/managedVirtualNetworks/default/managedPrivateEndpoints/endpoint1\n```\n\n","properties":{"name":{"type":"string","description":"Specifies the name which should be used for this Managed Private Endpoint. Changing this forces a new resource to be created.\n"},"subresourceName":{"type":"string","description":"Specifies the sub resource name which the Synapse Private Endpoint is able to connect to. Changing this forces a new resource to be created.\n\n\u003e **Note:** Possible values are listed in [documentation](https://docs.microsoft.com/azure/private-link/private-endpoint-overview#dns-configuration).\n"},"synapseWorkspaceId":{"type":"string","description":"The ID of the Synapse Workspace on which to create the Managed Private Endpoint. Changing this forces a new resource to be created.\n\n\u003e **Note:** A Synapse firewall rule including local IP is needed for managing current resource.\n"},"targetResourceId":{"type":"string","description":"The ID of the Private Link Enabled Remote Resource which this Synapse Private Endpoint should be connected to. Changing this forces a new resource to be created.\n"}},"required":["name","subresourceName","synapseWorkspaceId","targetResourceId"],"inputProperties":{"name":{"type":"string","description":"Specifies the name which should be used for this Managed Private Endpoint. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"subresourceName":{"type":"string","description":"Specifies the sub resource name which the Synapse Private Endpoint is able to connect to. Changing this forces a new resource to be created.\n\n\u003e **Note:** Possible values are listed in [documentation](https://docs.microsoft.com/azure/private-link/private-endpoint-overview#dns-configuration).\n","willReplaceOnChanges":true},"synapseWorkspaceId":{"type":"string","description":"The ID of the Synapse Workspace on which to create the Managed Private Endpoint. Changing this forces a new resource to be created.\n\n\u003e **Note:** A Synapse firewall rule including local IP is needed for managing current resource.\n","willReplaceOnChanges":true},"targetResourceId":{"type":"string","description":"The ID of the Private Link Enabled Remote Resource which this Synapse Private Endpoint should be connected to. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["subresourceName","synapseWorkspaceId","targetResourceId"],"stateInputs":{"description":"Input properties used for looking up and filtering ManagedPrivateEndpoint resources.\n","properties":{"name":{"type":"string","description":"Specifies the name which should be used for this Managed Private Endpoint. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"subresourceName":{"type":"string","description":"Specifies the sub resource name which the Synapse Private Endpoint is able to connect to. Changing this forces a new resource to be created.\n\n\u003e **Note:** Possible values are listed in [documentation](https://docs.microsoft.com/azure/private-link/private-endpoint-overview#dns-configuration).\n","willReplaceOnChanges":true},"synapseWorkspaceId":{"type":"string","description":"The ID of the Synapse Workspace on which to create the Managed Private Endpoint. Changing this forces a new resource to be created.\n\n\u003e **Note:** A Synapse firewall rule including local IP is needed for managing current resource.\n","willReplaceOnChanges":true},"targetResourceId":{"type":"string","description":"The ID of the Private Link Enabled Remote Resource which this Synapse Private Endpoint should be connected to. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:synapse/privateLinkHub:PrivateLinkHub":{"description":"Manages a Synapse Private Link Hub.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.synapse.PrivateLinkHub(\"example\", {\n    name: \"example\",\n    resourceGroupName: \"example-rg\",\n    location: \"West Europe\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.synapse.PrivateLinkHub(\"example\",\n    name=\"example\",\n    resource_group_name=\"example-rg\",\n    location=\"West Europe\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Synapse.PrivateLinkHub(\"example\", new()\n    {\n        Name = \"example\",\n        ResourceGroupName = \"example-rg\",\n        Location = \"West Europe\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/synapse\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := synapse.NewPrivateLinkHub(ctx, \"example\", \u0026synapse.PrivateLinkHubArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tResourceGroupName: pulumi.String(\"example-rg\"),\n\t\t\tLocation:          pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.synapse.PrivateLinkHub;\nimport com.pulumi.azure.synapse.PrivateLinkHubArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new PrivateLinkHub(\"example\", PrivateLinkHubArgs.builder()\n            .name(\"example\")\n            .resourceGroupName(\"example-rg\")\n            .location(\"West Europe\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:synapse:PrivateLinkHub\n    properties:\n      name: example\n      resourceGroupName: example-rg\n      location: West Europe\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nSynapse Private Link Hub can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:synapse/privateLinkHub:PrivateLinkHub example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Synapse/privateLinkHubs/privateLinkHub1\n```\n\n","properties":{"location":{"type":"string","description":"Specifies the Azure location where the Synapse Private Link Hub exists. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"The name which should be used for this Synapse Private Link Hub. Changing this forces a new Synapse Private Link Hub to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the Synapse Private Link Hub. Changing this forces a new resource to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Synapse Private Link Hub.\n"}},"required":["location","name","resourceGroupName"],"inputProperties":{"location":{"type":"string","description":"Specifies the Azure location where the Synapse Private Link Hub exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Synapse Private Link Hub. Changing this forces a new Synapse Private Link Hub to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the Synapse Private Link Hub. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Synapse Private Link Hub.\n"}},"requiredInputs":["resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering PrivateLinkHub resources.\n","properties":{"location":{"type":"string","description":"Specifies the Azure location where the Synapse Private Link Hub exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Synapse Private Link Hub. Changing this forces a new Synapse Private Link Hub to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the Synapse Private Link Hub. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Synapse Private Link Hub.\n"}},"type":"object"}},"azure:synapse/roleAssignment:RoleAssignment":{"description":"Manages a Synapse Role Assignment.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleAccount = new azure.storage.Account(\"example\", {\n    name: \"examplestorageacc\",\n    resourceGroupName: example.name,\n    location: example.location,\n    accountTier: \"Standard\",\n    accountReplicationType: \"LRS\",\n    accountKind: \"StorageV2\",\n    isHnsEnabled: true,\n});\nconst exampleDataLakeGen2Filesystem = new azure.storage.DataLakeGen2Filesystem(\"example\", {\n    name: \"example\",\n    storageAccountId: exampleAccount.id,\n});\nconst exampleWorkspace = new azure.synapse.Workspace(\"example\", {\n    name: \"example\",\n    resourceGroupName: example.name,\n    location: example.location,\n    storageDataLakeGen2FilesystemId: exampleDataLakeGen2Filesystem.id,\n    sqlAdministratorLogin: \"sqladminuser\",\n    sqlAdministratorLoginPassword: \"H@Sh1CoR3!\",\n    identity: {\n        type: \"SystemAssigned\",\n    },\n});\nconst exampleFirewallRule = new azure.synapse.FirewallRule(\"example\", {\n    name: \"AllowAll\",\n    synapseWorkspaceId: exampleWorkspace.id,\n    startIpAddress: \"0.0.0.0\",\n    endIpAddress: \"255.255.255.255\",\n});\nconst current = azure.core.getClientConfig({});\nconst exampleRoleAssignment = new azure.synapse.RoleAssignment(\"example\", {\n    synapseWorkspaceId: exampleWorkspace.id,\n    roleName: \"Synapse SQL Administrator\",\n    principalId: current.then(current =\u003e current.objectId),\n}, {\n    dependsOn: [exampleFirewallRule],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_account = azure.storage.Account(\"example\",\n    name=\"examplestorageacc\",\n    resource_group_name=example.name,\n    location=example.location,\n    account_tier=\"Standard\",\n    account_replication_type=\"LRS\",\n    account_kind=\"StorageV2\",\n    is_hns_enabled=True)\nexample_data_lake_gen2_filesystem = azure.storage.DataLakeGen2Filesystem(\"example\",\n    name=\"example\",\n    storage_account_id=example_account.id)\nexample_workspace = azure.synapse.Workspace(\"example\",\n    name=\"example\",\n    resource_group_name=example.name,\n    location=example.location,\n    storage_data_lake_gen2_filesystem_id=example_data_lake_gen2_filesystem.id,\n    sql_administrator_login=\"sqladminuser\",\n    sql_administrator_login_password=\"H@Sh1CoR3!\",\n    identity={\n        \"type\": \"SystemAssigned\",\n    })\nexample_firewall_rule = azure.synapse.FirewallRule(\"example\",\n    name=\"AllowAll\",\n    synapse_workspace_id=example_workspace.id,\n    start_ip_address=\"0.0.0.0\",\n    end_ip_address=\"255.255.255.255\")\ncurrent = azure.core.get_client_config()\nexample_role_assignment = azure.synapse.RoleAssignment(\"example\",\n    synapse_workspace_id=example_workspace.id,\n    role_name=\"Synapse SQL Administrator\",\n    principal_id=current.object_id,\n    opts = pulumi.ResourceOptions(depends_on=[example_firewall_rule]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleAccount = new Azure.Storage.Account(\"example\", new()\n    {\n        Name = \"examplestorageacc\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        AccountTier = \"Standard\",\n        AccountReplicationType = \"LRS\",\n        AccountKind = \"StorageV2\",\n        IsHnsEnabled = true,\n    });\n\n    var exampleDataLakeGen2Filesystem = new Azure.Storage.DataLakeGen2Filesystem(\"example\", new()\n    {\n        Name = \"example\",\n        StorageAccountId = exampleAccount.Id,\n    });\n\n    var exampleWorkspace = new Azure.Synapse.Workspace(\"example\", new()\n    {\n        Name = \"example\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        StorageDataLakeGen2FilesystemId = exampleDataLakeGen2Filesystem.Id,\n        SqlAdministratorLogin = \"sqladminuser\",\n        SqlAdministratorLoginPassword = \"H@Sh1CoR3!\",\n        Identity = new Azure.Synapse.Inputs.WorkspaceIdentityArgs\n        {\n            Type = \"SystemAssigned\",\n        },\n    });\n\n    var exampleFirewallRule = new Azure.Synapse.FirewallRule(\"example\", new()\n    {\n        Name = \"AllowAll\",\n        SynapseWorkspaceId = exampleWorkspace.Id,\n        StartIpAddress = \"0.0.0.0\",\n        EndIpAddress = \"255.255.255.255\",\n    });\n\n    var current = Azure.Core.GetClientConfig.Invoke();\n\n    var exampleRoleAssignment = new Azure.Synapse.RoleAssignment(\"example\", new()\n    {\n        SynapseWorkspaceId = exampleWorkspace.Id,\n        RoleName = \"Synapse SQL Administrator\",\n        PrincipalId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.ObjectId),\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            exampleFirewallRule,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/synapse\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := storage.NewAccount(ctx, \"example\", \u0026storage.AccountArgs{\n\t\t\tName:                   pulumi.String(\"examplestorageacc\"),\n\t\t\tResourceGroupName:      example.Name,\n\t\t\tLocation:               example.Location,\n\t\t\tAccountTier:            pulumi.String(\"Standard\"),\n\t\t\tAccountReplicationType: pulumi.String(\"LRS\"),\n\t\t\tAccountKind:            pulumi.String(\"StorageV2\"),\n\t\t\tIsHnsEnabled:           pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleDataLakeGen2Filesystem, err := storage.NewDataLakeGen2Filesystem(ctx, \"example\", \u0026storage.DataLakeGen2FilesystemArgs{\n\t\t\tName:             pulumi.String(\"example\"),\n\t\t\tStorageAccountId: exampleAccount.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleWorkspace, err := synapse.NewWorkspace(ctx, \"example\", \u0026synapse.WorkspaceArgs{\n\t\t\tName:                            pulumi.String(\"example\"),\n\t\t\tResourceGroupName:               example.Name,\n\t\t\tLocation:                        example.Location,\n\t\t\tStorageDataLakeGen2FilesystemId: exampleDataLakeGen2Filesystem.ID(),\n\t\t\tSqlAdministratorLogin:           pulumi.String(\"sqladminuser\"),\n\t\t\tSqlAdministratorLoginPassword:   pulumi.String(\"H@Sh1CoR3!\"),\n\t\t\tIdentity: \u0026synapse.WorkspaceIdentityArgs{\n\t\t\t\tType: pulumi.String(\"SystemAssigned\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleFirewallRule, err := synapse.NewFirewallRule(ctx, \"example\", \u0026synapse.FirewallRuleArgs{\n\t\t\tName:               pulumi.String(\"AllowAll\"),\n\t\t\tSynapseWorkspaceId: exampleWorkspace.ID(),\n\t\t\tStartIpAddress:     pulumi.String(\"0.0.0.0\"),\n\t\t\tEndIpAddress:       pulumi.String(\"255.255.255.255\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrent, err := core.GetClientConfig(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = synapse.NewRoleAssignment(ctx, \"example\", \u0026synapse.RoleAssignmentArgs{\n\t\t\tSynapseWorkspaceId: exampleWorkspace.ID(),\n\t\t\tRoleName:           pulumi.String(\"Synapse SQL Administrator\"),\n\t\t\tPrincipalId:        pulumi.String(current.ObjectId),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleFirewallRule,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.storage.Account;\nimport com.pulumi.azure.storage.AccountArgs;\nimport com.pulumi.azure.storage.DataLakeGen2Filesystem;\nimport com.pulumi.azure.storage.DataLakeGen2FilesystemArgs;\nimport com.pulumi.azure.synapse.Workspace;\nimport com.pulumi.azure.synapse.WorkspaceArgs;\nimport com.pulumi.azure.synapse.inputs.WorkspaceIdentityArgs;\nimport com.pulumi.azure.synapse.FirewallRule;\nimport com.pulumi.azure.synapse.FirewallRuleArgs;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.synapse.RoleAssignment;\nimport com.pulumi.azure.synapse.RoleAssignmentArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"examplestorageacc\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .accountTier(\"Standard\")\n            .accountReplicationType(\"LRS\")\n            .accountKind(\"StorageV2\")\n            .isHnsEnabled(true)\n            .build());\n\n        var exampleDataLakeGen2Filesystem = new DataLakeGen2Filesystem(\"exampleDataLakeGen2Filesystem\", DataLakeGen2FilesystemArgs.builder()\n            .name(\"example\")\n            .storageAccountId(exampleAccount.id())\n            .build());\n\n        var exampleWorkspace = new Workspace(\"exampleWorkspace\", WorkspaceArgs.builder()\n            .name(\"example\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .storageDataLakeGen2FilesystemId(exampleDataLakeGen2Filesystem.id())\n            .sqlAdministratorLogin(\"sqladminuser\")\n            .sqlAdministratorLoginPassword(\"H@Sh1CoR3!\")\n            .identity(WorkspaceIdentityArgs.builder()\n                .type(\"SystemAssigned\")\n                .build())\n            .build());\n\n        var exampleFirewallRule = new FirewallRule(\"exampleFirewallRule\", FirewallRuleArgs.builder()\n            .name(\"AllowAll\")\n            .synapseWorkspaceId(exampleWorkspace.id())\n            .startIpAddress(\"0.0.0.0\")\n            .endIpAddress(\"255.255.255.255\")\n            .build());\n\n        final var current = CoreFunctions.getClientConfig(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n        var exampleRoleAssignment = new RoleAssignment(\"exampleRoleAssignment\", RoleAssignmentArgs.builder()\n            .synapseWorkspaceId(exampleWorkspace.id())\n            .roleName(\"Synapse SQL Administrator\")\n            .principalId(current.objectId())\n            .build(), CustomResourceOptions.builder()\n                .dependsOn(exampleFirewallRule)\n                .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleAccount:\n    type: azure:storage:Account\n    name: example\n    properties:\n      name: examplestorageacc\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      accountTier: Standard\n      accountReplicationType: LRS\n      accountKind: StorageV2\n      isHnsEnabled: 'true'\n  exampleDataLakeGen2Filesystem:\n    type: azure:storage:DataLakeGen2Filesystem\n    name: example\n    properties:\n      name: example\n      storageAccountId: ${exampleAccount.id}\n  exampleWorkspace:\n    type: azure:synapse:Workspace\n    name: example\n    properties:\n      name: example\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      storageDataLakeGen2FilesystemId: ${exampleDataLakeGen2Filesystem.id}\n      sqlAdministratorLogin: sqladminuser\n      sqlAdministratorLoginPassword: H@Sh1CoR3!\n      identity:\n        type: SystemAssigned\n  exampleFirewallRule:\n    type: azure:synapse:FirewallRule\n    name: example\n    properties:\n      name: AllowAll\n      synapseWorkspaceId: ${exampleWorkspace.id}\n      startIpAddress: 0.0.0.0\n      endIpAddress: 255.255.255.255\n  exampleRoleAssignment:\n    type: azure:synapse:RoleAssignment\n    name: example\n    properties:\n      synapseWorkspaceId: ${exampleWorkspace.id}\n      roleName: Synapse SQL Administrator\n      principalId: ${current.objectId}\n    options:\n      dependsOn:\n        - ${exampleFirewallRule}\nvariables:\n  current:\n    fn::invoke:\n      function: azure:core:getClientConfig\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nSynapse Role Assignment can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:synapse/roleAssignment:RoleAssignment example \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Synapse/workspaces/workspace1|000000000000\"\n```\n\n\u003e **NOTE:** This ID is specific to this provider - and is of the format `{synapseScope}|{synapseRoleAssignmentId}`.\n\n","properties":{"principalId":{"type":"string","description":"The ID of the Principal (User, Group or Service Principal) to assign the Synapse Role Definition to. Changing this forces a new resource to be created.\n"},"principalType":{"type":"string","description":"The Type of the Principal. One of `User`, `Group` or `ServicePrincipal`. Changing this forces a new resource to be created.\n\n\u003e **NOTE:** While \u003cspan pulumi-lang-nodejs=\"`principalType`\" pulumi-lang-dotnet=\"`PrincipalType`\" pulumi-lang-go=\"`principalType`\" pulumi-lang-python=\"`principal_type`\" pulumi-lang-yaml=\"`principalType`\" pulumi-lang-java=\"`principalType`\"\u003e`principal_type`\u003c/span\u003e is optional, it's still recommended to set this value, as some Synapse use-cases may not work correctly if this is not specified. Service Principals for example can't run SQL statements using `Entra ID` authentication if \u003cspan pulumi-lang-nodejs=\"`principalType`\" pulumi-lang-dotnet=\"`PrincipalType`\" pulumi-lang-go=\"`principalType`\" pulumi-lang-python=\"`principal_type`\" pulumi-lang-yaml=\"`principalType`\" pulumi-lang-java=\"`principalType`\"\u003e`principal_type`\u003c/span\u003e is not set to `ServicePrincipal`.\n"},"roleName":{"type":"string","description":"The Role Name of the Synapse Built-In Role. Possible values are `Apache Spark Administrator`, `Synapse Administrator`, `Synapse Artifact Publisher`, `Synapse Artifact User`, `Synapse Compute Operator`, `Synapse Contributor`, `Synapse Credential User`, `Synapse Linked Data Manager`, `Synapse Monitoring Operator`, `Synapse SQL Administrator` and `Synapse User`. Changing this forces a new resource to be created.\n\n\u003e **NOTE:** Currently, the Synapse built-in roles are `Apache Spark Administrator`, `Synapse Administrator`, `Synapse Artifact Publisher`, `Synapse Artifact User`, `Synapse Compute Operator`, `Synapse Contributor`, `Synapse Credential User`, `Synapse Linked Data Manager`, `Synapse Monitoring Operator`, `Synapse SQL Administrator` and `Synapse User`.\n\n\u003e **NOTE:** Old roles are still supported: `Workspace Admin`, `Apache Spark Admin`, `Sql Admin`. These values will be removed in the next Major Version 3.0.\n"},"synapseSparkPoolId":{"type":"string","description":"The Synapse Spark Pool which the Synapse Role Assignment applies to. Changing this forces a new resource to be created.\n\n\u003e **NOTE:** A Synapse firewall rule including local IP is needed to allow access. Only one of \u003cspan pulumi-lang-nodejs=\"`synapseWorkspaceId`\" pulumi-lang-dotnet=\"`SynapseWorkspaceId`\" pulumi-lang-go=\"`synapseWorkspaceId`\" pulumi-lang-python=\"`synapse_workspace_id`\" pulumi-lang-yaml=\"`synapseWorkspaceId`\" pulumi-lang-java=\"`synapseWorkspaceId`\"\u003e`synapse_workspace_id`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`synapseSparkPoolId`\" pulumi-lang-dotnet=\"`SynapseSparkPoolId`\" pulumi-lang-go=\"`synapseSparkPoolId`\" pulumi-lang-python=\"`synapse_spark_pool_id`\" pulumi-lang-yaml=\"`synapseSparkPoolId`\" pulumi-lang-java=\"`synapseSparkPoolId`\"\u003e`synapse_spark_pool_id`\u003c/span\u003e must be set.\n"},"synapseWorkspaceId":{"type":"string","description":"The Synapse Workspace which the Synapse Role Assignment applies to. Changing this forces a new resource to be created.\n"}},"required":["principalId","roleName"],"inputProperties":{"principalId":{"type":"string","description":"The ID of the Principal (User, Group or Service Principal) to assign the Synapse Role Definition to. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"principalType":{"type":"string","description":"The Type of the Principal. One of `User`, `Group` or `ServicePrincipal`. Changing this forces a new resource to be created.\n\n\u003e **NOTE:** While \u003cspan pulumi-lang-nodejs=\"`principalType`\" pulumi-lang-dotnet=\"`PrincipalType`\" pulumi-lang-go=\"`principalType`\" pulumi-lang-python=\"`principal_type`\" pulumi-lang-yaml=\"`principalType`\" pulumi-lang-java=\"`principalType`\"\u003e`principal_type`\u003c/span\u003e is optional, it's still recommended to set this value, as some Synapse use-cases may not work correctly if this is not specified. Service Principals for example can't run SQL statements using `Entra ID` authentication if \u003cspan pulumi-lang-nodejs=\"`principalType`\" pulumi-lang-dotnet=\"`PrincipalType`\" pulumi-lang-go=\"`principalType`\" pulumi-lang-python=\"`principal_type`\" pulumi-lang-yaml=\"`principalType`\" pulumi-lang-java=\"`principalType`\"\u003e`principal_type`\u003c/span\u003e is not set to `ServicePrincipal`.\n","willReplaceOnChanges":true},"roleName":{"type":"string","description":"The Role Name of the Synapse Built-In Role. Possible values are `Apache Spark Administrator`, `Synapse Administrator`, `Synapse Artifact Publisher`, `Synapse Artifact User`, `Synapse Compute Operator`, `Synapse Contributor`, `Synapse Credential User`, `Synapse Linked Data Manager`, `Synapse Monitoring Operator`, `Synapse SQL Administrator` and `Synapse User`. Changing this forces a new resource to be created.\n\n\u003e **NOTE:** Currently, the Synapse built-in roles are `Apache Spark Administrator`, `Synapse Administrator`, `Synapse Artifact Publisher`, `Synapse Artifact User`, `Synapse Compute Operator`, `Synapse Contributor`, `Synapse Credential User`, `Synapse Linked Data Manager`, `Synapse Monitoring Operator`, `Synapse SQL Administrator` and `Synapse User`.\n\n\u003e **NOTE:** Old roles are still supported: `Workspace Admin`, `Apache Spark Admin`, `Sql Admin`. These values will be removed in the next Major Version 3.0.\n","willReplaceOnChanges":true},"synapseSparkPoolId":{"type":"string","description":"The Synapse Spark Pool which the Synapse Role Assignment applies to. Changing this forces a new resource to be created.\n\n\u003e **NOTE:** A Synapse firewall rule including local IP is needed to allow access. Only one of \u003cspan pulumi-lang-nodejs=\"`synapseWorkspaceId`\" pulumi-lang-dotnet=\"`SynapseWorkspaceId`\" pulumi-lang-go=\"`synapseWorkspaceId`\" pulumi-lang-python=\"`synapse_workspace_id`\" pulumi-lang-yaml=\"`synapseWorkspaceId`\" pulumi-lang-java=\"`synapseWorkspaceId`\"\u003e`synapse_workspace_id`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`synapseSparkPoolId`\" pulumi-lang-dotnet=\"`SynapseSparkPoolId`\" pulumi-lang-go=\"`synapseSparkPoolId`\" pulumi-lang-python=\"`synapse_spark_pool_id`\" pulumi-lang-yaml=\"`synapseSparkPoolId`\" pulumi-lang-java=\"`synapseSparkPoolId`\"\u003e`synapse_spark_pool_id`\u003c/span\u003e must be set.\n","willReplaceOnChanges":true},"synapseWorkspaceId":{"type":"string","description":"The Synapse Workspace which the Synapse Role Assignment applies to. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["principalId","roleName"],"stateInputs":{"description":"Input properties used for looking up and filtering RoleAssignment resources.\n","properties":{"principalId":{"type":"string","description":"The ID of the Principal (User, Group or Service Principal) to assign the Synapse Role Definition to. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"principalType":{"type":"string","description":"The Type of the Principal. One of `User`, `Group` or `ServicePrincipal`. Changing this forces a new resource to be created.\n\n\u003e **NOTE:** While \u003cspan pulumi-lang-nodejs=\"`principalType`\" pulumi-lang-dotnet=\"`PrincipalType`\" pulumi-lang-go=\"`principalType`\" pulumi-lang-python=\"`principal_type`\" pulumi-lang-yaml=\"`principalType`\" pulumi-lang-java=\"`principalType`\"\u003e`principal_type`\u003c/span\u003e is optional, it's still recommended to set this value, as some Synapse use-cases may not work correctly if this is not specified. Service Principals for example can't run SQL statements using `Entra ID` authentication if \u003cspan pulumi-lang-nodejs=\"`principalType`\" pulumi-lang-dotnet=\"`PrincipalType`\" pulumi-lang-go=\"`principalType`\" pulumi-lang-python=\"`principal_type`\" pulumi-lang-yaml=\"`principalType`\" pulumi-lang-java=\"`principalType`\"\u003e`principal_type`\u003c/span\u003e is not set to `ServicePrincipal`.\n","willReplaceOnChanges":true},"roleName":{"type":"string","description":"The Role Name of the Synapse Built-In Role. Possible values are `Apache Spark Administrator`, `Synapse Administrator`, `Synapse Artifact Publisher`, `Synapse Artifact User`, `Synapse Compute Operator`, `Synapse Contributor`, `Synapse Credential User`, `Synapse Linked Data Manager`, `Synapse Monitoring Operator`, `Synapse SQL Administrator` and `Synapse User`. Changing this forces a new resource to be created.\n\n\u003e **NOTE:** Currently, the Synapse built-in roles are `Apache Spark Administrator`, `Synapse Administrator`, `Synapse Artifact Publisher`, `Synapse Artifact User`, `Synapse Compute Operator`, `Synapse Contributor`, `Synapse Credential User`, `Synapse Linked Data Manager`, `Synapse Monitoring Operator`, `Synapse SQL Administrator` and `Synapse User`.\n\n\u003e **NOTE:** Old roles are still supported: `Workspace Admin`, `Apache Spark Admin`, `Sql Admin`. These values will be removed in the next Major Version 3.0.\n","willReplaceOnChanges":true},"synapseSparkPoolId":{"type":"string","description":"The Synapse Spark Pool which the Synapse Role Assignment applies to. Changing this forces a new resource to be created.\n\n\u003e **NOTE:** A Synapse firewall rule including local IP is needed to allow access. Only one of \u003cspan pulumi-lang-nodejs=\"`synapseWorkspaceId`\" pulumi-lang-dotnet=\"`SynapseWorkspaceId`\" pulumi-lang-go=\"`synapseWorkspaceId`\" pulumi-lang-python=\"`synapse_workspace_id`\" pulumi-lang-yaml=\"`synapseWorkspaceId`\" pulumi-lang-java=\"`synapseWorkspaceId`\"\u003e`synapse_workspace_id`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`synapseSparkPoolId`\" pulumi-lang-dotnet=\"`SynapseSparkPoolId`\" pulumi-lang-go=\"`synapseSparkPoolId`\" pulumi-lang-python=\"`synapse_spark_pool_id`\" pulumi-lang-yaml=\"`synapseSparkPoolId`\" pulumi-lang-java=\"`synapseSparkPoolId`\"\u003e`synapse_spark_pool_id`\u003c/span\u003e must be set.\n","willReplaceOnChanges":true},"synapseWorkspaceId":{"type":"string","description":"The Synapse Workspace which the Synapse Role Assignment applies to. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:synapse/sparkPool:SparkPool":{"description":"Manages a Synapse Spark Pool.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleAccount = new azure.storage.Account(\"example\", {\n    name: \"examplestorageacc\",\n    resourceGroupName: example.name,\n    location: example.location,\n    accountTier: \"Standard\",\n    accountReplicationType: \"LRS\",\n    accountKind: \"StorageV2\",\n    isHnsEnabled: true,\n});\nconst exampleDataLakeGen2Filesystem = new azure.storage.DataLakeGen2Filesystem(\"example\", {\n    name: \"example\",\n    storageAccountId: exampleAccount.id,\n});\nconst exampleWorkspace = new azure.synapse.Workspace(\"example\", {\n    name: \"example\",\n    resourceGroupName: example.name,\n    location: example.location,\n    storageDataLakeGen2FilesystemId: exampleDataLakeGen2Filesystem.id,\n    sqlAdministratorLogin: \"sqladminuser\",\n    sqlAdministratorLoginPassword: \"H@Sh1CoR3!\",\n    identity: {\n        type: \"SystemAssigned\",\n    },\n});\nconst exampleSparkPool = new azure.synapse.SparkPool(\"example\", {\n    name: \"example\",\n    synapseWorkspaceId: exampleWorkspace.id,\n    nodeSizeFamily: \"MemoryOptimized\",\n    nodeSize: \"Small\",\n    cacheSize: 100,\n    autoScale: {\n        maxNodeCount: 50,\n        minNodeCount: 3,\n    },\n    autoPause: {\n        delayInMinutes: 15,\n    },\n    libraryRequirement: {\n        content: `appnope==0.1.0\nbeautifulsoup4==4.6.3\n`,\n        filename: \"requirements.txt\",\n    },\n    sparkConfig: {\n        content: \"spark.shuffle.spill                true\\n\",\n        filename: \"config.txt\",\n    },\n    sparkVersion: \"3.5\",\n    tags: {\n        ENV: \"Production\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_account = azure.storage.Account(\"example\",\n    name=\"examplestorageacc\",\n    resource_group_name=example.name,\n    location=example.location,\n    account_tier=\"Standard\",\n    account_replication_type=\"LRS\",\n    account_kind=\"StorageV2\",\n    is_hns_enabled=True)\nexample_data_lake_gen2_filesystem = azure.storage.DataLakeGen2Filesystem(\"example\",\n    name=\"example\",\n    storage_account_id=example_account.id)\nexample_workspace = azure.synapse.Workspace(\"example\",\n    name=\"example\",\n    resource_group_name=example.name,\n    location=example.location,\n    storage_data_lake_gen2_filesystem_id=example_data_lake_gen2_filesystem.id,\n    sql_administrator_login=\"sqladminuser\",\n    sql_administrator_login_password=\"H@Sh1CoR3!\",\n    identity={\n        \"type\": \"SystemAssigned\",\n    })\nexample_spark_pool = azure.synapse.SparkPool(\"example\",\n    name=\"example\",\n    synapse_workspace_id=example_workspace.id,\n    node_size_family=\"MemoryOptimized\",\n    node_size=\"Small\",\n    cache_size=100,\n    auto_scale={\n        \"max_node_count\": 50,\n        \"min_node_count\": 3,\n    },\n    auto_pause={\n        \"delay_in_minutes\": 15,\n    },\n    library_requirement={\n        \"content\": \"\"\"appnope==0.1.0\nbeautifulsoup4==4.6.3\n\"\"\",\n        \"filename\": \"requirements.txt\",\n    },\n    spark_config={\n        \"content\": \"spark.shuffle.spill                true\\n\",\n        \"filename\": \"config.txt\",\n    },\n    spark_version=\"3.5\",\n    tags={\n        \"ENV\": \"Production\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleAccount = new Azure.Storage.Account(\"example\", new()\n    {\n        Name = \"examplestorageacc\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        AccountTier = \"Standard\",\n        AccountReplicationType = \"LRS\",\n        AccountKind = \"StorageV2\",\n        IsHnsEnabled = true,\n    });\n\n    var exampleDataLakeGen2Filesystem = new Azure.Storage.DataLakeGen2Filesystem(\"example\", new()\n    {\n        Name = \"example\",\n        StorageAccountId = exampleAccount.Id,\n    });\n\n    var exampleWorkspace = new Azure.Synapse.Workspace(\"example\", new()\n    {\n        Name = \"example\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        StorageDataLakeGen2FilesystemId = exampleDataLakeGen2Filesystem.Id,\n        SqlAdministratorLogin = \"sqladminuser\",\n        SqlAdministratorLoginPassword = \"H@Sh1CoR3!\",\n        Identity = new Azure.Synapse.Inputs.WorkspaceIdentityArgs\n        {\n            Type = \"SystemAssigned\",\n        },\n    });\n\n    var exampleSparkPool = new Azure.Synapse.SparkPool(\"example\", new()\n    {\n        Name = \"example\",\n        SynapseWorkspaceId = exampleWorkspace.Id,\n        NodeSizeFamily = \"MemoryOptimized\",\n        NodeSize = \"Small\",\n        CacheSize = 100,\n        AutoScale = new Azure.Synapse.Inputs.SparkPoolAutoScaleArgs\n        {\n            MaxNodeCount = 50,\n            MinNodeCount = 3,\n        },\n        AutoPause = new Azure.Synapse.Inputs.SparkPoolAutoPauseArgs\n        {\n            DelayInMinutes = 15,\n        },\n        LibraryRequirement = new Azure.Synapse.Inputs.SparkPoolLibraryRequirementArgs\n        {\n            Content = @\"appnope==0.1.0\nbeautifulsoup4==4.6.3\n\",\n            Filename = \"requirements.txt\",\n        },\n        SparkConfig = new Azure.Synapse.Inputs.SparkPoolSparkConfigArgs\n        {\n            Content = @\"spark.shuffle.spill                true\n\",\n            Filename = \"config.txt\",\n        },\n        SparkVersion = \"3.5\",\n        Tags = \n        {\n            { \"ENV\", \"Production\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/synapse\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := storage.NewAccount(ctx, \"example\", \u0026storage.AccountArgs{\n\t\t\tName:                   pulumi.String(\"examplestorageacc\"),\n\t\t\tResourceGroupName:      example.Name,\n\t\t\tLocation:               example.Location,\n\t\t\tAccountTier:            pulumi.String(\"Standard\"),\n\t\t\tAccountReplicationType: pulumi.String(\"LRS\"),\n\t\t\tAccountKind:            pulumi.String(\"StorageV2\"),\n\t\t\tIsHnsEnabled:           pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleDataLakeGen2Filesystem, err := storage.NewDataLakeGen2Filesystem(ctx, \"example\", \u0026storage.DataLakeGen2FilesystemArgs{\n\t\t\tName:             pulumi.String(\"example\"),\n\t\t\tStorageAccountId: exampleAccount.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleWorkspace, err := synapse.NewWorkspace(ctx, \"example\", \u0026synapse.WorkspaceArgs{\n\t\t\tName:                            pulumi.String(\"example\"),\n\t\t\tResourceGroupName:               example.Name,\n\t\t\tLocation:                        example.Location,\n\t\t\tStorageDataLakeGen2FilesystemId: exampleDataLakeGen2Filesystem.ID(),\n\t\t\tSqlAdministratorLogin:           pulumi.String(\"sqladminuser\"),\n\t\t\tSqlAdministratorLoginPassword:   pulumi.String(\"H@Sh1CoR3!\"),\n\t\t\tIdentity: \u0026synapse.WorkspaceIdentityArgs{\n\t\t\t\tType: pulumi.String(\"SystemAssigned\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = synapse.NewSparkPool(ctx, \"example\", \u0026synapse.SparkPoolArgs{\n\t\t\tName:               pulumi.String(\"example\"),\n\t\t\tSynapseWorkspaceId: exampleWorkspace.ID(),\n\t\t\tNodeSizeFamily:     pulumi.String(\"MemoryOptimized\"),\n\t\t\tNodeSize:           pulumi.String(\"Small\"),\n\t\t\tCacheSize:          pulumi.Int(100),\n\t\t\tAutoScale: \u0026synapse.SparkPoolAutoScaleArgs{\n\t\t\t\tMaxNodeCount: pulumi.Int(50),\n\t\t\t\tMinNodeCount: pulumi.Int(3),\n\t\t\t},\n\t\t\tAutoPause: \u0026synapse.SparkPoolAutoPauseArgs{\n\t\t\t\tDelayInMinutes: pulumi.Int(15),\n\t\t\t},\n\t\t\tLibraryRequirement: \u0026synapse.SparkPoolLibraryRequirementArgs{\n\t\t\t\tContent:  pulumi.String(\"appnope==0.1.0\\nbeautifulsoup4==4.6.3\\n\"),\n\t\t\t\tFilename: pulumi.String(\"requirements.txt\"),\n\t\t\t},\n\t\t\tSparkConfig: \u0026synapse.SparkPoolSparkConfigArgs{\n\t\t\t\tContent:  pulumi.String(\"spark.shuffle.spill                true\\n\"),\n\t\t\t\tFilename: pulumi.String(\"config.txt\"),\n\t\t\t},\n\t\t\tSparkVersion: pulumi.String(\"3.5\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"ENV\": pulumi.String(\"Production\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.storage.Account;\nimport com.pulumi.azure.storage.AccountArgs;\nimport com.pulumi.azure.storage.DataLakeGen2Filesystem;\nimport com.pulumi.azure.storage.DataLakeGen2FilesystemArgs;\nimport com.pulumi.azure.synapse.Workspace;\nimport com.pulumi.azure.synapse.WorkspaceArgs;\nimport com.pulumi.azure.synapse.inputs.WorkspaceIdentityArgs;\nimport com.pulumi.azure.synapse.SparkPool;\nimport com.pulumi.azure.synapse.SparkPoolArgs;\nimport com.pulumi.azure.synapse.inputs.SparkPoolAutoScaleArgs;\nimport com.pulumi.azure.synapse.inputs.SparkPoolAutoPauseArgs;\nimport com.pulumi.azure.synapse.inputs.SparkPoolLibraryRequirementArgs;\nimport com.pulumi.azure.synapse.inputs.SparkPoolSparkConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"examplestorageacc\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .accountTier(\"Standard\")\n            .accountReplicationType(\"LRS\")\n            .accountKind(\"StorageV2\")\n            .isHnsEnabled(true)\n            .build());\n\n        var exampleDataLakeGen2Filesystem = new DataLakeGen2Filesystem(\"exampleDataLakeGen2Filesystem\", DataLakeGen2FilesystemArgs.builder()\n            .name(\"example\")\n            .storageAccountId(exampleAccount.id())\n            .build());\n\n        var exampleWorkspace = new Workspace(\"exampleWorkspace\", WorkspaceArgs.builder()\n            .name(\"example\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .storageDataLakeGen2FilesystemId(exampleDataLakeGen2Filesystem.id())\n            .sqlAdministratorLogin(\"sqladminuser\")\n            .sqlAdministratorLoginPassword(\"H@Sh1CoR3!\")\n            .identity(WorkspaceIdentityArgs.builder()\n                .type(\"SystemAssigned\")\n                .build())\n            .build());\n\n        var exampleSparkPool = new SparkPool(\"exampleSparkPool\", SparkPoolArgs.builder()\n            .name(\"example\")\n            .synapseWorkspaceId(exampleWorkspace.id())\n            .nodeSizeFamily(\"MemoryOptimized\")\n            .nodeSize(\"Small\")\n            .cacheSize(100)\n            .autoScale(SparkPoolAutoScaleArgs.builder()\n                .maxNodeCount(50)\n                .minNodeCount(3)\n                .build())\n            .autoPause(SparkPoolAutoPauseArgs.builder()\n                .delayInMinutes(15)\n                .build())\n            .libraryRequirement(SparkPoolLibraryRequirementArgs.builder()\n                .content(\"\"\"\nappnope==0.1.0\nbeautifulsoup4==4.6.3\n                \"\"\")\n                .filename(\"requirements.txt\")\n                .build())\n            .sparkConfig(SparkPoolSparkConfigArgs.builder()\n                .content(\"\"\"\nspark.shuffle.spill                true\n                \"\"\")\n                .filename(\"config.txt\")\n                .build())\n            .sparkVersion(\"3.5\")\n            .tags(Map.of(\"ENV\", \"Production\"))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleAccount:\n    type: azure:storage:Account\n    name: example\n    properties:\n      name: examplestorageacc\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      accountTier: Standard\n      accountReplicationType: LRS\n      accountKind: StorageV2\n      isHnsEnabled: 'true'\n  exampleDataLakeGen2Filesystem:\n    type: azure:storage:DataLakeGen2Filesystem\n    name: example\n    properties:\n      name: example\n      storageAccountId: ${exampleAccount.id}\n  exampleWorkspace:\n    type: azure:synapse:Workspace\n    name: example\n    properties:\n      name: example\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      storageDataLakeGen2FilesystemId: ${exampleDataLakeGen2Filesystem.id}\n      sqlAdministratorLogin: sqladminuser\n      sqlAdministratorLoginPassword: H@Sh1CoR3!\n      identity:\n        type: SystemAssigned\n  exampleSparkPool:\n    type: azure:synapse:SparkPool\n    name: example\n    properties:\n      name: example\n      synapseWorkspaceId: ${exampleWorkspace.id}\n      nodeSizeFamily: MemoryOptimized\n      nodeSize: Small\n      cacheSize: 100\n      autoScale:\n        maxNodeCount: 50\n        minNodeCount: 3\n      autoPause:\n        delayInMinutes: 15\n      libraryRequirement:\n        content: |\n          appnope==0.1.0\n          beautifulsoup4==4.6.3\n        filename: requirements.txt\n      sparkConfig:\n        content: |\n          spark.shuffle.spill                true\n        filename: config.txt\n      sparkVersion: 3.5\n      tags:\n        ENV: Production\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nSynapse Spark Pool can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:synapse/sparkPool:SparkPool example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Synapse/workspaces/workspace1/bigDataPools/sparkPool1\n```\n\n","properties":{"autoPause":{"$ref":"#/types/azure:synapse/SparkPoolAutoPause:SparkPoolAutoPause","description":"An \u003cspan pulumi-lang-nodejs=\"`autoPause`\" pulumi-lang-dotnet=\"`AutoPause`\" pulumi-lang-go=\"`autoPause`\" pulumi-lang-python=\"`auto_pause`\" pulumi-lang-yaml=\"`autoPause`\" pulumi-lang-java=\"`autoPause`\"\u003e`auto_pause`\u003c/span\u003e block as defined below.\n"},"autoScale":{"$ref":"#/types/azure:synapse/SparkPoolAutoScale:SparkPoolAutoScale","description":"An \u003cspan pulumi-lang-nodejs=\"`autoScale`\" pulumi-lang-dotnet=\"`AutoScale`\" pulumi-lang-go=\"`autoScale`\" pulumi-lang-python=\"`auto_scale`\" pulumi-lang-yaml=\"`autoScale`\" pulumi-lang-java=\"`autoScale`\"\u003e`auto_scale`\u003c/span\u003e block as defined below. Exactly one of \u003cspan pulumi-lang-nodejs=\"`nodeCount`\" pulumi-lang-dotnet=\"`NodeCount`\" pulumi-lang-go=\"`nodeCount`\" pulumi-lang-python=\"`node_count`\" pulumi-lang-yaml=\"`nodeCount`\" pulumi-lang-java=\"`nodeCount`\"\u003e`node_count`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`autoScale`\" pulumi-lang-dotnet=\"`AutoScale`\" pulumi-lang-go=\"`autoScale`\" pulumi-lang-python=\"`auto_scale`\" pulumi-lang-yaml=\"`autoScale`\" pulumi-lang-java=\"`autoScale`\"\u003e`auto_scale`\u003c/span\u003e must be specified.\n"},"cacheSize":{"type":"integer","description":"The cache size in the Spark Pool.\n"},"computeIsolationEnabled":{"type":"boolean","description":"Indicates whether compute isolation is enabled or not. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"dynamicExecutorAllocationEnabled":{"type":"boolean"},"libraryRequirement":{"$ref":"#/types/azure:synapse/SparkPoolLibraryRequirement:SparkPoolLibraryRequirement"},"maxExecutors":{"type":"integer"},"minExecutors":{"type":"integer"},"name":{"type":"string","description":"The name which should be used for this Synapse Spark Pool. Changing this forces a new Synapse Spark Pool to be created.\n"},"nodeCount":{"type":"integer","description":"The number of nodes in the Spark Pool. Exactly one of \u003cspan pulumi-lang-nodejs=\"`nodeCount`\" pulumi-lang-dotnet=\"`NodeCount`\" pulumi-lang-go=\"`nodeCount`\" pulumi-lang-python=\"`node_count`\" pulumi-lang-yaml=\"`nodeCount`\" pulumi-lang-java=\"`nodeCount`\"\u003e`node_count`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`autoScale`\" pulumi-lang-dotnet=\"`AutoScale`\" pulumi-lang-go=\"`autoScale`\" pulumi-lang-python=\"`auto_scale`\" pulumi-lang-yaml=\"`autoScale`\" pulumi-lang-java=\"`autoScale`\"\u003e`auto_scale`\u003c/span\u003e must be specified.\n"},"nodeSize":{"type":"string","description":"The level of node in the Spark Pool. Possible values are `Small`, `Medium`, `Large`, `None`, `XLarge`, `XXLarge` and `XXXLarge`.\n"},"nodeSizeFamily":{"type":"string","description":"The kind of nodes that the Spark Pool provides. Possible values are `HardwareAcceleratedFPGA`, `HardwareAcceleratedGPU`, `MemoryOptimized`, and `None`.\n"},"sessionLevelPackagesEnabled":{"type":"boolean"},"sparkConfig":{"$ref":"#/types/azure:synapse/SparkPoolSparkConfig:SparkPoolSparkConfig"},"sparkEventsFolder":{"type":"string"},"sparkLogFolder":{"type":"string"},"sparkVersion":{"type":"string","description":"The Apache Spark version. Possible values are `3.4` and `3.5`.\n"},"synapseWorkspaceId":{"type":"string","description":"The ID of the Synapse Workspace where the Synapse Spark Pool should exist. Changing this forces a new Synapse Spark Pool to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"}}},"required":["name","nodeCount","nodeSize","nodeSizeFamily","sparkVersion","synapseWorkspaceId"],"inputProperties":{"autoPause":{"$ref":"#/types/azure:synapse/SparkPoolAutoPause:SparkPoolAutoPause","description":"An \u003cspan pulumi-lang-nodejs=\"`autoPause`\" pulumi-lang-dotnet=\"`AutoPause`\" pulumi-lang-go=\"`autoPause`\" pulumi-lang-python=\"`auto_pause`\" pulumi-lang-yaml=\"`autoPause`\" pulumi-lang-java=\"`autoPause`\"\u003e`auto_pause`\u003c/span\u003e block as defined below.\n"},"autoScale":{"$ref":"#/types/azure:synapse/SparkPoolAutoScale:SparkPoolAutoScale","description":"An \u003cspan pulumi-lang-nodejs=\"`autoScale`\" pulumi-lang-dotnet=\"`AutoScale`\" pulumi-lang-go=\"`autoScale`\" pulumi-lang-python=\"`auto_scale`\" pulumi-lang-yaml=\"`autoScale`\" pulumi-lang-java=\"`autoScale`\"\u003e`auto_scale`\u003c/span\u003e block as defined below. Exactly one of \u003cspan pulumi-lang-nodejs=\"`nodeCount`\" pulumi-lang-dotnet=\"`NodeCount`\" pulumi-lang-go=\"`nodeCount`\" pulumi-lang-python=\"`node_count`\" pulumi-lang-yaml=\"`nodeCount`\" pulumi-lang-java=\"`nodeCount`\"\u003e`node_count`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`autoScale`\" pulumi-lang-dotnet=\"`AutoScale`\" pulumi-lang-go=\"`autoScale`\" pulumi-lang-python=\"`auto_scale`\" pulumi-lang-yaml=\"`autoScale`\" pulumi-lang-java=\"`autoScale`\"\u003e`auto_scale`\u003c/span\u003e must be specified.\n"},"cacheSize":{"type":"integer","description":"The cache size in the Spark Pool.\n"},"computeIsolationEnabled":{"type":"boolean","description":"Indicates whether compute isolation is enabled or not. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"dynamicExecutorAllocationEnabled":{"type":"boolean"},"libraryRequirement":{"$ref":"#/types/azure:synapse/SparkPoolLibraryRequirement:SparkPoolLibraryRequirement"},"maxExecutors":{"type":"integer"},"minExecutors":{"type":"integer"},"name":{"type":"string","description":"The name which should be used for this Synapse Spark Pool. Changing this forces a new Synapse Spark Pool to be created.\n","willReplaceOnChanges":true},"nodeCount":{"type":"integer","description":"The number of nodes in the Spark Pool. Exactly one of \u003cspan pulumi-lang-nodejs=\"`nodeCount`\" pulumi-lang-dotnet=\"`NodeCount`\" pulumi-lang-go=\"`nodeCount`\" pulumi-lang-python=\"`node_count`\" pulumi-lang-yaml=\"`nodeCount`\" pulumi-lang-java=\"`nodeCount`\"\u003e`node_count`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`autoScale`\" pulumi-lang-dotnet=\"`AutoScale`\" pulumi-lang-go=\"`autoScale`\" pulumi-lang-python=\"`auto_scale`\" pulumi-lang-yaml=\"`autoScale`\" pulumi-lang-java=\"`autoScale`\"\u003e`auto_scale`\u003c/span\u003e must be specified.\n"},"nodeSize":{"type":"string","description":"The level of node in the Spark Pool. Possible values are `Small`, `Medium`, `Large`, `None`, `XLarge`, `XXLarge` and `XXXLarge`.\n"},"nodeSizeFamily":{"type":"string","description":"The kind of nodes that the Spark Pool provides. Possible values are `HardwareAcceleratedFPGA`, `HardwareAcceleratedGPU`, `MemoryOptimized`, and `None`.\n"},"sessionLevelPackagesEnabled":{"type":"boolean"},"sparkConfig":{"$ref":"#/types/azure:synapse/SparkPoolSparkConfig:SparkPoolSparkConfig"},"sparkEventsFolder":{"type":"string"},"sparkLogFolder":{"type":"string"},"sparkVersion":{"type":"string","description":"The Apache Spark version. Possible values are `3.4` and `3.5`.\n"},"synapseWorkspaceId":{"type":"string","description":"The ID of the Synapse Workspace where the Synapse Spark Pool should exist. Changing this forces a new Synapse Spark Pool to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"}}},"requiredInputs":["nodeSize","nodeSizeFamily","sparkVersion","synapseWorkspaceId"],"stateInputs":{"description":"Input properties used for looking up and filtering SparkPool resources.\n","properties":{"autoPause":{"$ref":"#/types/azure:synapse/SparkPoolAutoPause:SparkPoolAutoPause","description":"An \u003cspan pulumi-lang-nodejs=\"`autoPause`\" pulumi-lang-dotnet=\"`AutoPause`\" pulumi-lang-go=\"`autoPause`\" pulumi-lang-python=\"`auto_pause`\" pulumi-lang-yaml=\"`autoPause`\" pulumi-lang-java=\"`autoPause`\"\u003e`auto_pause`\u003c/span\u003e block as defined below.\n"},"autoScale":{"$ref":"#/types/azure:synapse/SparkPoolAutoScale:SparkPoolAutoScale","description":"An \u003cspan pulumi-lang-nodejs=\"`autoScale`\" pulumi-lang-dotnet=\"`AutoScale`\" pulumi-lang-go=\"`autoScale`\" pulumi-lang-python=\"`auto_scale`\" pulumi-lang-yaml=\"`autoScale`\" pulumi-lang-java=\"`autoScale`\"\u003e`auto_scale`\u003c/span\u003e block as defined below. Exactly one of \u003cspan pulumi-lang-nodejs=\"`nodeCount`\" pulumi-lang-dotnet=\"`NodeCount`\" pulumi-lang-go=\"`nodeCount`\" pulumi-lang-python=\"`node_count`\" pulumi-lang-yaml=\"`nodeCount`\" pulumi-lang-java=\"`nodeCount`\"\u003e`node_count`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`autoScale`\" pulumi-lang-dotnet=\"`AutoScale`\" pulumi-lang-go=\"`autoScale`\" pulumi-lang-python=\"`auto_scale`\" pulumi-lang-yaml=\"`autoScale`\" pulumi-lang-java=\"`autoScale`\"\u003e`auto_scale`\u003c/span\u003e must be specified.\n"},"cacheSize":{"type":"integer","description":"The cache size in the Spark Pool.\n"},"computeIsolationEnabled":{"type":"boolean","description":"Indicates whether compute isolation is enabled or not. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"dynamicExecutorAllocationEnabled":{"type":"boolean"},"libraryRequirement":{"$ref":"#/types/azure:synapse/SparkPoolLibraryRequirement:SparkPoolLibraryRequirement"},"maxExecutors":{"type":"integer"},"minExecutors":{"type":"integer"},"name":{"type":"string","description":"The name which should be used for this Synapse Spark Pool. Changing this forces a new Synapse Spark Pool to be created.\n","willReplaceOnChanges":true},"nodeCount":{"type":"integer","description":"The number of nodes in the Spark Pool. Exactly one of \u003cspan pulumi-lang-nodejs=\"`nodeCount`\" pulumi-lang-dotnet=\"`NodeCount`\" pulumi-lang-go=\"`nodeCount`\" pulumi-lang-python=\"`node_count`\" pulumi-lang-yaml=\"`nodeCount`\" pulumi-lang-java=\"`nodeCount`\"\u003e`node_count`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`autoScale`\" pulumi-lang-dotnet=\"`AutoScale`\" pulumi-lang-go=\"`autoScale`\" pulumi-lang-python=\"`auto_scale`\" pulumi-lang-yaml=\"`autoScale`\" pulumi-lang-java=\"`autoScale`\"\u003e`auto_scale`\u003c/span\u003e must be specified.\n"},"nodeSize":{"type":"string","description":"The level of node in the Spark Pool. Possible values are `Small`, `Medium`, `Large`, `None`, `XLarge`, `XXLarge` and `XXXLarge`.\n"},"nodeSizeFamily":{"type":"string","description":"The kind of nodes that the Spark Pool provides. Possible values are `HardwareAcceleratedFPGA`, `HardwareAcceleratedGPU`, `MemoryOptimized`, and `None`.\n"},"sessionLevelPackagesEnabled":{"type":"boolean"},"sparkConfig":{"$ref":"#/types/azure:synapse/SparkPoolSparkConfig:SparkPoolSparkConfig"},"sparkEventsFolder":{"type":"string"},"sparkLogFolder":{"type":"string"},"sparkVersion":{"type":"string","description":"The Apache Spark version. Possible values are `3.4` and `3.5`.\n"},"synapseWorkspaceId":{"type":"string","description":"The ID of the Synapse Workspace where the Synapse Spark Pool should exist. Changing this forces a new Synapse Spark Pool to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"}}},"type":"object"}},"azure:synapse/sqlPool:SqlPool":{"description":"Manages a Synapse SQL Pool.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleAccount = new azure.storage.Account(\"example\", {\n    name: \"examplestorageacc\",\n    resourceGroupName: example.name,\n    location: example.location,\n    accountTier: \"Standard\",\n    accountReplicationType: \"LRS\",\n    accountKind: \"BlobStorage\",\n});\nconst exampleDataLakeGen2Filesystem = new azure.storage.DataLakeGen2Filesystem(\"example\", {\n    name: \"example\",\n    storageAccountId: exampleAccount.id,\n});\nconst exampleWorkspace = new azure.synapse.Workspace(\"example\", {\n    name: \"example\",\n    resourceGroupName: example.name,\n    location: example.location,\n    storageDataLakeGen2FilesystemId: exampleDataLakeGen2Filesystem.id,\n    sqlAdministratorLogin: \"sqladminuser\",\n    sqlAdministratorLoginPassword: \"H@Sh1CoR3!\",\n    identity: {\n        type: \"SystemAssigned\",\n    },\n});\nconst exampleSqlPool = new azure.synapse.SqlPool(\"example\", {\n    name: \"examplesqlpool\",\n    synapseWorkspaceId: exampleWorkspace.id,\n    skuName: \"DW100c\",\n    createMode: \"Default\",\n    storageAccountType: \"GRS\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_account = azure.storage.Account(\"example\",\n    name=\"examplestorageacc\",\n    resource_group_name=example.name,\n    location=example.location,\n    account_tier=\"Standard\",\n    account_replication_type=\"LRS\",\n    account_kind=\"BlobStorage\")\nexample_data_lake_gen2_filesystem = azure.storage.DataLakeGen2Filesystem(\"example\",\n    name=\"example\",\n    storage_account_id=example_account.id)\nexample_workspace = azure.synapse.Workspace(\"example\",\n    name=\"example\",\n    resource_group_name=example.name,\n    location=example.location,\n    storage_data_lake_gen2_filesystem_id=example_data_lake_gen2_filesystem.id,\n    sql_administrator_login=\"sqladminuser\",\n    sql_administrator_login_password=\"H@Sh1CoR3!\",\n    identity={\n        \"type\": \"SystemAssigned\",\n    })\nexample_sql_pool = azure.synapse.SqlPool(\"example\",\n    name=\"examplesqlpool\",\n    synapse_workspace_id=example_workspace.id,\n    sku_name=\"DW100c\",\n    create_mode=\"Default\",\n    storage_account_type=\"GRS\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleAccount = new Azure.Storage.Account(\"example\", new()\n    {\n        Name = \"examplestorageacc\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        AccountTier = \"Standard\",\n        AccountReplicationType = \"LRS\",\n        AccountKind = \"BlobStorage\",\n    });\n\n    var exampleDataLakeGen2Filesystem = new Azure.Storage.DataLakeGen2Filesystem(\"example\", new()\n    {\n        Name = \"example\",\n        StorageAccountId = exampleAccount.Id,\n    });\n\n    var exampleWorkspace = new Azure.Synapse.Workspace(\"example\", new()\n    {\n        Name = \"example\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        StorageDataLakeGen2FilesystemId = exampleDataLakeGen2Filesystem.Id,\n        SqlAdministratorLogin = \"sqladminuser\",\n        SqlAdministratorLoginPassword = \"H@Sh1CoR3!\",\n        Identity = new Azure.Synapse.Inputs.WorkspaceIdentityArgs\n        {\n            Type = \"SystemAssigned\",\n        },\n    });\n\n    var exampleSqlPool = new Azure.Synapse.SqlPool(\"example\", new()\n    {\n        Name = \"examplesqlpool\",\n        SynapseWorkspaceId = exampleWorkspace.Id,\n        SkuName = \"DW100c\",\n        CreateMode = \"Default\",\n        StorageAccountType = \"GRS\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/synapse\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := storage.NewAccount(ctx, \"example\", \u0026storage.AccountArgs{\n\t\t\tName:                   pulumi.String(\"examplestorageacc\"),\n\t\t\tResourceGroupName:      example.Name,\n\t\t\tLocation:               example.Location,\n\t\t\tAccountTier:            pulumi.String(\"Standard\"),\n\t\t\tAccountReplicationType: pulumi.String(\"LRS\"),\n\t\t\tAccountKind:            pulumi.String(\"BlobStorage\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleDataLakeGen2Filesystem, err := storage.NewDataLakeGen2Filesystem(ctx, \"example\", \u0026storage.DataLakeGen2FilesystemArgs{\n\t\t\tName:             pulumi.String(\"example\"),\n\t\t\tStorageAccountId: exampleAccount.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleWorkspace, err := synapse.NewWorkspace(ctx, \"example\", \u0026synapse.WorkspaceArgs{\n\t\t\tName:                            pulumi.String(\"example\"),\n\t\t\tResourceGroupName:               example.Name,\n\t\t\tLocation:                        example.Location,\n\t\t\tStorageDataLakeGen2FilesystemId: exampleDataLakeGen2Filesystem.ID(),\n\t\t\tSqlAdministratorLogin:           pulumi.String(\"sqladminuser\"),\n\t\t\tSqlAdministratorLoginPassword:   pulumi.String(\"H@Sh1CoR3!\"),\n\t\t\tIdentity: \u0026synapse.WorkspaceIdentityArgs{\n\t\t\t\tType: pulumi.String(\"SystemAssigned\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = synapse.NewSqlPool(ctx, \"example\", \u0026synapse.SqlPoolArgs{\n\t\t\tName:               pulumi.String(\"examplesqlpool\"),\n\t\t\tSynapseWorkspaceId: exampleWorkspace.ID(),\n\t\t\tSkuName:            pulumi.String(\"DW100c\"),\n\t\t\tCreateMode:         pulumi.String(\"Default\"),\n\t\t\tStorageAccountType: pulumi.String(\"GRS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.storage.Account;\nimport com.pulumi.azure.storage.AccountArgs;\nimport com.pulumi.azure.storage.DataLakeGen2Filesystem;\nimport com.pulumi.azure.storage.DataLakeGen2FilesystemArgs;\nimport com.pulumi.azure.synapse.Workspace;\nimport com.pulumi.azure.synapse.WorkspaceArgs;\nimport com.pulumi.azure.synapse.inputs.WorkspaceIdentityArgs;\nimport com.pulumi.azure.synapse.SqlPool;\nimport com.pulumi.azure.synapse.SqlPoolArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"examplestorageacc\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .accountTier(\"Standard\")\n            .accountReplicationType(\"LRS\")\n            .accountKind(\"BlobStorage\")\n            .build());\n\n        var exampleDataLakeGen2Filesystem = new DataLakeGen2Filesystem(\"exampleDataLakeGen2Filesystem\", DataLakeGen2FilesystemArgs.builder()\n            .name(\"example\")\n            .storageAccountId(exampleAccount.id())\n            .build());\n\n        var exampleWorkspace = new Workspace(\"exampleWorkspace\", WorkspaceArgs.builder()\n            .name(\"example\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .storageDataLakeGen2FilesystemId(exampleDataLakeGen2Filesystem.id())\n            .sqlAdministratorLogin(\"sqladminuser\")\n            .sqlAdministratorLoginPassword(\"H@Sh1CoR3!\")\n            .identity(WorkspaceIdentityArgs.builder()\n                .type(\"SystemAssigned\")\n                .build())\n            .build());\n\n        var exampleSqlPool = new SqlPool(\"exampleSqlPool\", SqlPoolArgs.builder()\n            .name(\"examplesqlpool\")\n            .synapseWorkspaceId(exampleWorkspace.id())\n            .skuName(\"DW100c\")\n            .createMode(\"Default\")\n            .storageAccountType(\"GRS\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleAccount:\n    type: azure:storage:Account\n    name: example\n    properties:\n      name: examplestorageacc\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      accountTier: Standard\n      accountReplicationType: LRS\n      accountKind: BlobStorage\n  exampleDataLakeGen2Filesystem:\n    type: azure:storage:DataLakeGen2Filesystem\n    name: example\n    properties:\n      name: example\n      storageAccountId: ${exampleAccount.id}\n  exampleWorkspace:\n    type: azure:synapse:Workspace\n    name: example\n    properties:\n      name: example\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      storageDataLakeGen2FilesystemId: ${exampleDataLakeGen2Filesystem.id}\n      sqlAdministratorLogin: sqladminuser\n      sqlAdministratorLoginPassword: H@Sh1CoR3!\n      identity:\n        type: SystemAssigned\n  exampleSqlPool:\n    type: azure:synapse:SqlPool\n    name: example\n    properties:\n      name: examplesqlpool\n      synapseWorkspaceId: ${exampleWorkspace.id}\n      skuName: DW100c\n      createMode: Default\n      storageAccountType: GRS\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nSynapse SQL Pool can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:synapse/sqlPool:SqlPool example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Synapse/workspaces/workspace1/sqlPools/sqlPool1\n```\n\n","properties":{"collation":{"type":"string","description":"The name of the collation to use with this pool, only applicable when \u003cspan pulumi-lang-nodejs=\"`createMode`\" pulumi-lang-dotnet=\"`CreateMode`\" pulumi-lang-go=\"`createMode`\" pulumi-lang-python=\"`create_mode`\" pulumi-lang-yaml=\"`createMode`\" pulumi-lang-java=\"`createMode`\"\u003e`create_mode`\u003c/span\u003e is set to `Default`. Azure default is `SQL_LATIN1_GENERAL_CP1_CI_AS`. Changing this forces a new Synapse SQL Pool to be created.\n"},"createMode":{"type":"string","description":"Specifies how to create the SQL Pool. Valid values are: `Default`, `Recovery` or `PointInTimeRestore`. Must be `Default` to create a new database. Defaults to `Default`. Changing this forces a new Synapse SQL Pool to be created.\n"},"dataEncrypted":{"type":"boolean","description":"Is transparent data encryption enabled?\n"},"geoBackupPolicyEnabled":{"type":"boolean","description":"Is geo-backup policy enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"name":{"type":"string","description":"The name which should be used for this Synapse SQL Pool. Changing this forces a new Synapse SQL Pool to be created.\n"},"recoveryDatabaseId":{"type":"string","description":"The ID of the Synapse SQL Pool or SQL Database which is to back up, only applicable when \u003cspan pulumi-lang-nodejs=\"`createMode`\" pulumi-lang-dotnet=\"`CreateMode`\" pulumi-lang-go=\"`createMode`\" pulumi-lang-python=\"`create_mode`\" pulumi-lang-yaml=\"`createMode`\" pulumi-lang-java=\"`createMode`\"\u003e`create_mode`\u003c/span\u003e is set to `Recovery`. Changing this forces a new Synapse SQL Pool to be created.\n"},"restore":{"$ref":"#/types/azure:synapse/SqlPoolRestore:SqlPoolRestore","description":"A \u003cspan pulumi-lang-nodejs=\"`restore`\" pulumi-lang-dotnet=\"`Restore`\" pulumi-lang-go=\"`restore`\" pulumi-lang-python=\"`restore`\" pulumi-lang-yaml=\"`restore`\" pulumi-lang-java=\"`restore`\"\u003e`restore`\u003c/span\u003e block as defined below. Only applicable when \u003cspan pulumi-lang-nodejs=\"`createMode`\" pulumi-lang-dotnet=\"`CreateMode`\" pulumi-lang-go=\"`createMode`\" pulumi-lang-python=\"`create_mode`\" pulumi-lang-yaml=\"`createMode`\" pulumi-lang-java=\"`createMode`\"\u003e`create_mode`\u003c/span\u003e is set to `PointInTimeRestore`. Changing this forces a new Synapse SQL Pool to be created.\n"},"skuName":{"type":"string","description":"Specifies the SKU Name for this Synapse SQL Pool. Possible values are `DW100c`, `DW200c`, `DW300c`, `DW400c`, `DW500c`, `DW1000c`, `DW1500c`, `DW2000c`, `DW2500c`, `DW3000c`, `DW5000c`, `DW6000c`, `DW7500c`, `DW10000c`, `DW15000c` or `DW30000c`.\n"},"storageAccountType":{"type":"string","description":"The storage account type that will be used to store backups for this Synapse SQL Pool. Possible values are `LRS` or `GRS`. Changing this forces a new Synapse SQL Pool to be created.\n"},"synapseWorkspaceId":{"type":"string","description":"The ID of Synapse Workspace within which this SQL Pool should be created. Changing this forces a new Synapse SQL Pool to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Synapse SQL Pool.\n"}},"required":["collation","name","skuName","storageAccountType","synapseWorkspaceId"],"inputProperties":{"collation":{"type":"string","description":"The name of the collation to use with this pool, only applicable when \u003cspan pulumi-lang-nodejs=\"`createMode`\" pulumi-lang-dotnet=\"`CreateMode`\" pulumi-lang-go=\"`createMode`\" pulumi-lang-python=\"`create_mode`\" pulumi-lang-yaml=\"`createMode`\" pulumi-lang-java=\"`createMode`\"\u003e`create_mode`\u003c/span\u003e is set to `Default`. Azure default is `SQL_LATIN1_GENERAL_CP1_CI_AS`. Changing this forces a new Synapse SQL Pool to be created.\n","willReplaceOnChanges":true},"createMode":{"type":"string","description":"Specifies how to create the SQL Pool. Valid values are: `Default`, `Recovery` or `PointInTimeRestore`. Must be `Default` to create a new database. Defaults to `Default`. Changing this forces a new Synapse SQL Pool to be created.\n","willReplaceOnChanges":true},"dataEncrypted":{"type":"boolean","description":"Is transparent data encryption enabled?\n"},"geoBackupPolicyEnabled":{"type":"boolean","description":"Is geo-backup policy enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"name":{"type":"string","description":"The name which should be used for this Synapse SQL Pool. Changing this forces a new Synapse SQL Pool to be created.\n","willReplaceOnChanges":true},"recoveryDatabaseId":{"type":"string","description":"The ID of the Synapse SQL Pool or SQL Database which is to back up, only applicable when \u003cspan pulumi-lang-nodejs=\"`createMode`\" pulumi-lang-dotnet=\"`CreateMode`\" pulumi-lang-go=\"`createMode`\" pulumi-lang-python=\"`create_mode`\" pulumi-lang-yaml=\"`createMode`\" pulumi-lang-java=\"`createMode`\"\u003e`create_mode`\u003c/span\u003e is set to `Recovery`. Changing this forces a new Synapse SQL Pool to be created.\n","willReplaceOnChanges":true},"restore":{"$ref":"#/types/azure:synapse/SqlPoolRestore:SqlPoolRestore","description":"A \u003cspan pulumi-lang-nodejs=\"`restore`\" pulumi-lang-dotnet=\"`Restore`\" pulumi-lang-go=\"`restore`\" pulumi-lang-python=\"`restore`\" pulumi-lang-yaml=\"`restore`\" pulumi-lang-java=\"`restore`\"\u003e`restore`\u003c/span\u003e block as defined below. Only applicable when \u003cspan pulumi-lang-nodejs=\"`createMode`\" pulumi-lang-dotnet=\"`CreateMode`\" pulumi-lang-go=\"`createMode`\" pulumi-lang-python=\"`create_mode`\" pulumi-lang-yaml=\"`createMode`\" pulumi-lang-java=\"`createMode`\"\u003e`create_mode`\u003c/span\u003e is set to `PointInTimeRestore`. Changing this forces a new Synapse SQL Pool to be created.\n","willReplaceOnChanges":true},"skuName":{"type":"string","description":"Specifies the SKU Name for this Synapse SQL Pool. Possible values are `DW100c`, `DW200c`, `DW300c`, `DW400c`, `DW500c`, `DW1000c`, `DW1500c`, `DW2000c`, `DW2500c`, `DW3000c`, `DW5000c`, `DW6000c`, `DW7500c`, `DW10000c`, `DW15000c` or `DW30000c`.\n"},"storageAccountType":{"type":"string","description":"The storage account type that will be used to store backups for this Synapse SQL Pool. Possible values are `LRS` or `GRS`. Changing this forces a new Synapse SQL Pool to be created.\n","willReplaceOnChanges":true},"synapseWorkspaceId":{"type":"string","description":"The ID of Synapse Workspace within which this SQL Pool should be created. Changing this forces a new Synapse SQL Pool to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Synapse SQL Pool.\n"}},"requiredInputs":["skuName","storageAccountType","synapseWorkspaceId"],"stateInputs":{"description":"Input properties used for looking up and filtering SqlPool resources.\n","properties":{"collation":{"type":"string","description":"The name of the collation to use with this pool, only applicable when \u003cspan pulumi-lang-nodejs=\"`createMode`\" pulumi-lang-dotnet=\"`CreateMode`\" pulumi-lang-go=\"`createMode`\" pulumi-lang-python=\"`create_mode`\" pulumi-lang-yaml=\"`createMode`\" pulumi-lang-java=\"`createMode`\"\u003e`create_mode`\u003c/span\u003e is set to `Default`. Azure default is `SQL_LATIN1_GENERAL_CP1_CI_AS`. Changing this forces a new Synapse SQL Pool to be created.\n","willReplaceOnChanges":true},"createMode":{"type":"string","description":"Specifies how to create the SQL Pool. Valid values are: `Default`, `Recovery` or `PointInTimeRestore`. Must be `Default` to create a new database. Defaults to `Default`. Changing this forces a new Synapse SQL Pool to be created.\n","willReplaceOnChanges":true},"dataEncrypted":{"type":"boolean","description":"Is transparent data encryption enabled?\n"},"geoBackupPolicyEnabled":{"type":"boolean","description":"Is geo-backup policy enabled? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"name":{"type":"string","description":"The name which should be used for this Synapse SQL Pool. Changing this forces a new Synapse SQL Pool to be created.\n","willReplaceOnChanges":true},"recoveryDatabaseId":{"type":"string","description":"The ID of the Synapse SQL Pool or SQL Database which is to back up, only applicable when \u003cspan pulumi-lang-nodejs=\"`createMode`\" pulumi-lang-dotnet=\"`CreateMode`\" pulumi-lang-go=\"`createMode`\" pulumi-lang-python=\"`create_mode`\" pulumi-lang-yaml=\"`createMode`\" pulumi-lang-java=\"`createMode`\"\u003e`create_mode`\u003c/span\u003e is set to `Recovery`. Changing this forces a new Synapse SQL Pool to be created.\n","willReplaceOnChanges":true},"restore":{"$ref":"#/types/azure:synapse/SqlPoolRestore:SqlPoolRestore","description":"A \u003cspan pulumi-lang-nodejs=\"`restore`\" pulumi-lang-dotnet=\"`Restore`\" pulumi-lang-go=\"`restore`\" pulumi-lang-python=\"`restore`\" pulumi-lang-yaml=\"`restore`\" pulumi-lang-java=\"`restore`\"\u003e`restore`\u003c/span\u003e block as defined below. Only applicable when \u003cspan pulumi-lang-nodejs=\"`createMode`\" pulumi-lang-dotnet=\"`CreateMode`\" pulumi-lang-go=\"`createMode`\" pulumi-lang-python=\"`create_mode`\" pulumi-lang-yaml=\"`createMode`\" pulumi-lang-java=\"`createMode`\"\u003e`create_mode`\u003c/span\u003e is set to `PointInTimeRestore`. Changing this forces a new Synapse SQL Pool to be created.\n","willReplaceOnChanges":true},"skuName":{"type":"string","description":"Specifies the SKU Name for this Synapse SQL Pool. Possible values are `DW100c`, `DW200c`, `DW300c`, `DW400c`, `DW500c`, `DW1000c`, `DW1500c`, `DW2000c`, `DW2500c`, `DW3000c`, `DW5000c`, `DW6000c`, `DW7500c`, `DW10000c`, `DW15000c` or `DW30000c`.\n"},"storageAccountType":{"type":"string","description":"The storage account type that will be used to store backups for this Synapse SQL Pool. Possible values are `LRS` or `GRS`. Changing this forces a new Synapse SQL Pool to be created.\n","willReplaceOnChanges":true},"synapseWorkspaceId":{"type":"string","description":"The ID of Synapse Workspace within which this SQL Pool should be created. Changing this forces a new Synapse SQL Pool to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Synapse SQL Pool.\n"}},"type":"object"}},"azure:synapse/sqlPoolExtendedAuditingPolicy:SqlPoolExtendedAuditingPolicy":{"description":"Manages a Synapse SQL Pool Extended Auditing Policy.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleAccount = new azure.storage.Account(\"example\", {\n    name: \"examplestorageacc\",\n    resourceGroupName: example.name,\n    location: example.location,\n    accountTier: \"Standard\",\n    accountReplicationType: \"LRS\",\n    accountKind: \"BlobStorage\",\n});\nconst exampleDataLakeGen2Filesystem = new azure.storage.DataLakeGen2Filesystem(\"example\", {\n    name: \"example\",\n    storageAccountId: exampleAccount.id,\n});\nconst exampleWorkspace = new azure.synapse.Workspace(\"example\", {\n    name: \"example\",\n    resourceGroupName: example.name,\n    location: example.location,\n    storageDataLakeGen2FilesystemId: exampleDataLakeGen2Filesystem.id,\n    sqlAdministratorLogin: \"sqladminuser\",\n    sqlAdministratorLoginPassword: \"H@Sh1CoR3!\",\n    identity: {\n        type: \"SystemAssigned\",\n    },\n});\nconst exampleSqlPool = new azure.synapse.SqlPool(\"example\", {\n    name: \"examplesqlpool\",\n    synapseWorkspaceId: exampleWorkspace.id,\n    skuName: \"DW100c\",\n    createMode: \"Default\",\n});\nconst auditLogs = new azure.storage.Account(\"audit_logs\", {\n    name: \"examplesa\",\n    resourceGroupName: example.name,\n    location: example.location,\n    accountTier: \"Standard\",\n    accountReplicationType: \"LRS\",\n});\nconst exampleSqlPoolExtendedAuditingPolicy = new azure.synapse.SqlPoolExtendedAuditingPolicy(\"example\", {\n    sqlPoolId: exampleSqlPool.id,\n    storageEndpoint: auditLogs.primaryBlobEndpoint,\n    storageAccountAccessKey: auditLogs.primaryAccessKey,\n    storageAccountAccessKeyIsSecondary: false,\n    retentionInDays: 6,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_account = azure.storage.Account(\"example\",\n    name=\"examplestorageacc\",\n    resource_group_name=example.name,\n    location=example.location,\n    account_tier=\"Standard\",\n    account_replication_type=\"LRS\",\n    account_kind=\"BlobStorage\")\nexample_data_lake_gen2_filesystem = azure.storage.DataLakeGen2Filesystem(\"example\",\n    name=\"example\",\n    storage_account_id=example_account.id)\nexample_workspace = azure.synapse.Workspace(\"example\",\n    name=\"example\",\n    resource_group_name=example.name,\n    location=example.location,\n    storage_data_lake_gen2_filesystem_id=example_data_lake_gen2_filesystem.id,\n    sql_administrator_login=\"sqladminuser\",\n    sql_administrator_login_password=\"H@Sh1CoR3!\",\n    identity={\n        \"type\": \"SystemAssigned\",\n    })\nexample_sql_pool = azure.synapse.SqlPool(\"example\",\n    name=\"examplesqlpool\",\n    synapse_workspace_id=example_workspace.id,\n    sku_name=\"DW100c\",\n    create_mode=\"Default\")\naudit_logs = azure.storage.Account(\"audit_logs\",\n    name=\"examplesa\",\n    resource_group_name=example.name,\n    location=example.location,\n    account_tier=\"Standard\",\n    account_replication_type=\"LRS\")\nexample_sql_pool_extended_auditing_policy = azure.synapse.SqlPoolExtendedAuditingPolicy(\"example\",\n    sql_pool_id=example_sql_pool.id,\n    storage_endpoint=audit_logs.primary_blob_endpoint,\n    storage_account_access_key=audit_logs.primary_access_key,\n    storage_account_access_key_is_secondary=False,\n    retention_in_days=6)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleAccount = new Azure.Storage.Account(\"example\", new()\n    {\n        Name = \"examplestorageacc\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        AccountTier = \"Standard\",\n        AccountReplicationType = \"LRS\",\n        AccountKind = \"BlobStorage\",\n    });\n\n    var exampleDataLakeGen2Filesystem = new Azure.Storage.DataLakeGen2Filesystem(\"example\", new()\n    {\n        Name = \"example\",\n        StorageAccountId = exampleAccount.Id,\n    });\n\n    var exampleWorkspace = new Azure.Synapse.Workspace(\"example\", new()\n    {\n        Name = \"example\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        StorageDataLakeGen2FilesystemId = exampleDataLakeGen2Filesystem.Id,\n        SqlAdministratorLogin = \"sqladminuser\",\n        SqlAdministratorLoginPassword = \"H@Sh1CoR3!\",\n        Identity = new Azure.Synapse.Inputs.WorkspaceIdentityArgs\n        {\n            Type = \"SystemAssigned\",\n        },\n    });\n\n    var exampleSqlPool = new Azure.Synapse.SqlPool(\"example\", new()\n    {\n        Name = \"examplesqlpool\",\n        SynapseWorkspaceId = exampleWorkspace.Id,\n        SkuName = \"DW100c\",\n        CreateMode = \"Default\",\n    });\n\n    var auditLogs = new Azure.Storage.Account(\"audit_logs\", new()\n    {\n        Name = \"examplesa\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        AccountTier = \"Standard\",\n        AccountReplicationType = \"LRS\",\n    });\n\n    var exampleSqlPoolExtendedAuditingPolicy = new Azure.Synapse.SqlPoolExtendedAuditingPolicy(\"example\", new()\n    {\n        SqlPoolId = exampleSqlPool.Id,\n        StorageEndpoint = auditLogs.PrimaryBlobEndpoint,\n        StorageAccountAccessKey = auditLogs.PrimaryAccessKey,\n        StorageAccountAccessKeyIsSecondary = false,\n        RetentionInDays = 6,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/synapse\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := storage.NewAccount(ctx, \"example\", \u0026storage.AccountArgs{\n\t\t\tName:                   pulumi.String(\"examplestorageacc\"),\n\t\t\tResourceGroupName:      example.Name,\n\t\t\tLocation:               example.Location,\n\t\t\tAccountTier:            pulumi.String(\"Standard\"),\n\t\t\tAccountReplicationType: pulumi.String(\"LRS\"),\n\t\t\tAccountKind:            pulumi.String(\"BlobStorage\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleDataLakeGen2Filesystem, err := storage.NewDataLakeGen2Filesystem(ctx, \"example\", \u0026storage.DataLakeGen2FilesystemArgs{\n\t\t\tName:             pulumi.String(\"example\"),\n\t\t\tStorageAccountId: exampleAccount.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleWorkspace, err := synapse.NewWorkspace(ctx, \"example\", \u0026synapse.WorkspaceArgs{\n\t\t\tName:                            pulumi.String(\"example\"),\n\t\t\tResourceGroupName:               example.Name,\n\t\t\tLocation:                        example.Location,\n\t\t\tStorageDataLakeGen2FilesystemId: exampleDataLakeGen2Filesystem.ID(),\n\t\t\tSqlAdministratorLogin:           pulumi.String(\"sqladminuser\"),\n\t\t\tSqlAdministratorLoginPassword:   pulumi.String(\"H@Sh1CoR3!\"),\n\t\t\tIdentity: \u0026synapse.WorkspaceIdentityArgs{\n\t\t\t\tType: pulumi.String(\"SystemAssigned\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSqlPool, err := synapse.NewSqlPool(ctx, \"example\", \u0026synapse.SqlPoolArgs{\n\t\t\tName:               pulumi.String(\"examplesqlpool\"),\n\t\t\tSynapseWorkspaceId: exampleWorkspace.ID(),\n\t\t\tSkuName:            pulumi.String(\"DW100c\"),\n\t\t\tCreateMode:         pulumi.String(\"Default\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tauditLogs, err := storage.NewAccount(ctx, \"audit_logs\", \u0026storage.AccountArgs{\n\t\t\tName:                   pulumi.String(\"examplesa\"),\n\t\t\tResourceGroupName:      example.Name,\n\t\t\tLocation:               example.Location,\n\t\t\tAccountTier:            pulumi.String(\"Standard\"),\n\t\t\tAccountReplicationType: pulumi.String(\"LRS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = synapse.NewSqlPoolExtendedAuditingPolicy(ctx, \"example\", \u0026synapse.SqlPoolExtendedAuditingPolicyArgs{\n\t\t\tSqlPoolId:                          exampleSqlPool.ID(),\n\t\t\tStorageEndpoint:                    auditLogs.PrimaryBlobEndpoint,\n\t\t\tStorageAccountAccessKey:            auditLogs.PrimaryAccessKey,\n\t\t\tStorageAccountAccessKeyIsSecondary: pulumi.Bool(false),\n\t\t\tRetentionInDays:                    pulumi.Int(6),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.storage.Account;\nimport com.pulumi.azure.storage.AccountArgs;\nimport com.pulumi.azure.storage.DataLakeGen2Filesystem;\nimport com.pulumi.azure.storage.DataLakeGen2FilesystemArgs;\nimport com.pulumi.azure.synapse.Workspace;\nimport com.pulumi.azure.synapse.WorkspaceArgs;\nimport com.pulumi.azure.synapse.inputs.WorkspaceIdentityArgs;\nimport com.pulumi.azure.synapse.SqlPool;\nimport com.pulumi.azure.synapse.SqlPoolArgs;\nimport com.pulumi.azure.synapse.SqlPoolExtendedAuditingPolicy;\nimport com.pulumi.azure.synapse.SqlPoolExtendedAuditingPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"examplestorageacc\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .accountTier(\"Standard\")\n            .accountReplicationType(\"LRS\")\n            .accountKind(\"BlobStorage\")\n            .build());\n\n        var exampleDataLakeGen2Filesystem = new DataLakeGen2Filesystem(\"exampleDataLakeGen2Filesystem\", DataLakeGen2FilesystemArgs.builder()\n            .name(\"example\")\n            .storageAccountId(exampleAccount.id())\n            .build());\n\n        var exampleWorkspace = new Workspace(\"exampleWorkspace\", WorkspaceArgs.builder()\n            .name(\"example\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .storageDataLakeGen2FilesystemId(exampleDataLakeGen2Filesystem.id())\n            .sqlAdministratorLogin(\"sqladminuser\")\n            .sqlAdministratorLoginPassword(\"H@Sh1CoR3!\")\n            .identity(WorkspaceIdentityArgs.builder()\n                .type(\"SystemAssigned\")\n                .build())\n            .build());\n\n        var exampleSqlPool = new SqlPool(\"exampleSqlPool\", SqlPoolArgs.builder()\n            .name(\"examplesqlpool\")\n            .synapseWorkspaceId(exampleWorkspace.id())\n            .skuName(\"DW100c\")\n            .createMode(\"Default\")\n            .build());\n\n        var auditLogs = new Account(\"auditLogs\", AccountArgs.builder()\n            .name(\"examplesa\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .accountTier(\"Standard\")\n            .accountReplicationType(\"LRS\")\n            .build());\n\n        var exampleSqlPoolExtendedAuditingPolicy = new SqlPoolExtendedAuditingPolicy(\"exampleSqlPoolExtendedAuditingPolicy\", SqlPoolExtendedAuditingPolicyArgs.builder()\n            .sqlPoolId(exampleSqlPool.id())\n            .storageEndpoint(auditLogs.primaryBlobEndpoint())\n            .storageAccountAccessKey(auditLogs.primaryAccessKey())\n            .storageAccountAccessKeyIsSecondary(false)\n            .retentionInDays(6)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleAccount:\n    type: azure:storage:Account\n    name: example\n    properties:\n      name: examplestorageacc\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      accountTier: Standard\n      accountReplicationType: LRS\n      accountKind: BlobStorage\n  exampleDataLakeGen2Filesystem:\n    type: azure:storage:DataLakeGen2Filesystem\n    name: example\n    properties:\n      name: example\n      storageAccountId: ${exampleAccount.id}\n  exampleWorkspace:\n    type: azure:synapse:Workspace\n    name: example\n    properties:\n      name: example\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      storageDataLakeGen2FilesystemId: ${exampleDataLakeGen2Filesystem.id}\n      sqlAdministratorLogin: sqladminuser\n      sqlAdministratorLoginPassword: H@Sh1CoR3!\n      identity:\n        type: SystemAssigned\n  exampleSqlPool:\n    type: azure:synapse:SqlPool\n    name: example\n    properties:\n      name: examplesqlpool\n      synapseWorkspaceId: ${exampleWorkspace.id}\n      skuName: DW100c\n      createMode: Default\n  auditLogs:\n    type: azure:storage:Account\n    name: audit_logs\n    properties:\n      name: examplesa\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      accountTier: Standard\n      accountReplicationType: LRS\n  exampleSqlPoolExtendedAuditingPolicy:\n    type: azure:synapse:SqlPoolExtendedAuditingPolicy\n    name: example\n    properties:\n      sqlPoolId: ${exampleSqlPool.id}\n      storageEndpoint: ${auditLogs.primaryBlobEndpoint}\n      storageAccountAccessKey: ${auditLogs.primaryAccessKey}\n      storageAccountAccessKeyIsSecondary: false\n      retentionInDays: 6\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nSynapse SQL Pool Extended Auditing Policys can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:synapse/sqlPoolExtendedAuditingPolicy:SqlPoolExtendedAuditingPolicy example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Synapse/workspaces/workspace1/sqlPools/sqlPool1/extendedAuditingSettings/default\n```\n\n","properties":{"logMonitoringEnabled":{"type":"boolean","description":"Enable audit events to Azure Monitor? To enable server audit events to Azure Monitor, please enable its master database audit events to Azure Monitor. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"retentionInDays":{"type":"integer","description":"The number of days to retain logs for in the storage account. Defaults to \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"sqlPoolId":{"type":"string","description":"The ID of the Synapse SQL pool to set the extended auditing policy. Changing this forces a new resource to be created.\n"},"storageAccountAccessKey":{"type":"string","description":"The access key to use for the auditing storage account.\n","secret":true},"storageAccountAccessKeyIsSecondary":{"type":"boolean","description":"Is \u003cspan pulumi-lang-nodejs=\"`storageAccountAccessKey`\" pulumi-lang-dotnet=\"`StorageAccountAccessKey`\" pulumi-lang-go=\"`storageAccountAccessKey`\" pulumi-lang-python=\"`storage_account_access_key`\" pulumi-lang-yaml=\"`storageAccountAccessKey`\" pulumi-lang-java=\"`storageAccountAccessKey`\"\u003e`storage_account_access_key`\u003c/span\u003e value the storage's secondary key?\n"},"storageEndpoint":{"type":"string","description":"The blob storage endpoint (e.g. \u003chttps://example.blob.core.windows.net\u003e). This blob storage will hold all extended auditing logs.\n"}},"required":["sqlPoolId"],"inputProperties":{"logMonitoringEnabled":{"type":"boolean","description":"Enable audit events to Azure Monitor? To enable server audit events to Azure Monitor, please enable its master database audit events to Azure Monitor. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"retentionInDays":{"type":"integer","description":"The number of days to retain logs for in the storage account. Defaults to \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"sqlPoolId":{"type":"string","description":"The ID of the Synapse SQL pool to set the extended auditing policy. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"storageAccountAccessKey":{"type":"string","description":"The access key to use for the auditing storage account.\n","secret":true},"storageAccountAccessKeyIsSecondary":{"type":"boolean","description":"Is \u003cspan pulumi-lang-nodejs=\"`storageAccountAccessKey`\" pulumi-lang-dotnet=\"`StorageAccountAccessKey`\" pulumi-lang-go=\"`storageAccountAccessKey`\" pulumi-lang-python=\"`storage_account_access_key`\" pulumi-lang-yaml=\"`storageAccountAccessKey`\" pulumi-lang-java=\"`storageAccountAccessKey`\"\u003e`storage_account_access_key`\u003c/span\u003e value the storage's secondary key?\n"},"storageEndpoint":{"type":"string","description":"The blob storage endpoint (e.g. \u003chttps://example.blob.core.windows.net\u003e). This blob storage will hold all extended auditing logs.\n"}},"requiredInputs":["sqlPoolId"],"stateInputs":{"description":"Input properties used for looking up and filtering SqlPoolExtendedAuditingPolicy resources.\n","properties":{"logMonitoringEnabled":{"type":"boolean","description":"Enable audit events to Azure Monitor? To enable server audit events to Azure Monitor, please enable its master database audit events to Azure Monitor. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"retentionInDays":{"type":"integer","description":"The number of days to retain logs for in the storage account. Defaults to \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"sqlPoolId":{"type":"string","description":"The ID of the Synapse SQL pool to set the extended auditing policy. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"storageAccountAccessKey":{"type":"string","description":"The access key to use for the auditing storage account.\n","secret":true},"storageAccountAccessKeyIsSecondary":{"type":"boolean","description":"Is \u003cspan pulumi-lang-nodejs=\"`storageAccountAccessKey`\" pulumi-lang-dotnet=\"`StorageAccountAccessKey`\" pulumi-lang-go=\"`storageAccountAccessKey`\" pulumi-lang-python=\"`storage_account_access_key`\" pulumi-lang-yaml=\"`storageAccountAccessKey`\" pulumi-lang-java=\"`storageAccountAccessKey`\"\u003e`storage_account_access_key`\u003c/span\u003e value the storage's secondary key?\n"},"storageEndpoint":{"type":"string","description":"The blob storage endpoint (e.g. \u003chttps://example.blob.core.windows.net\u003e). This blob storage will hold all extended auditing logs.\n"}},"type":"object"}},"azure:synapse/sqlPoolSecurityAlertPolicy:SqlPoolSecurityAlertPolicy":{"description":"Manages a Security Alert Policy for a Synapse SQL Pool.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleAccount = new azure.storage.Account(\"example\", {\n    name: \"examplestorageacc\",\n    resourceGroupName: example.name,\n    location: example.location,\n    accountTier: \"Standard\",\n    accountReplicationType: \"LRS\",\n    accountKind: \"StorageV2\",\n    isHnsEnabled: true,\n});\nconst exampleDataLakeGen2Filesystem = new azure.storage.DataLakeGen2Filesystem(\"example\", {\n    name: \"example\",\n    storageAccountId: exampleAccount.id,\n});\nconst exampleWorkspace = new azure.synapse.Workspace(\"example\", {\n    name: \"example\",\n    resourceGroupName: example.name,\n    location: example.location,\n    storageDataLakeGen2FilesystemId: exampleDataLakeGen2Filesystem.id,\n    sqlAdministratorLogin: \"sqladminuser\",\n    sqlAdministratorLoginPassword: \"H@Sh1CoR3!\",\n    aadAdmin: [{\n        login: \"AzureAD Admin\",\n        objectId: \"00000000-0000-0000-0000-000000000000\",\n        tenantId: \"00000000-0000-0000-0000-000000000000\",\n    }],\n    identity: {\n        type: \"SystemAssigned\",\n    },\n    tags: {\n        Env: \"production\",\n    },\n});\nconst exampleSqlPool = new azure.synapse.SqlPool(\"example\", {\n    name: \"examplesqlpool\",\n    synapseWorkspaceId: exampleWorkspace.id,\n    skuName: \"DW100c\",\n    createMode: \"Default\",\n});\nconst auditLogs = new azure.storage.Account(\"audit_logs\", {\n    name: \"examplesa\",\n    resourceGroupName: example.name,\n    location: example.location,\n    accountTier: \"Standard\",\n    accountReplicationType: \"LRS\",\n});\nconst exampleSqlPoolSecurityAlertPolicy = new azure.synapse.SqlPoolSecurityAlertPolicy(\"example\", {\n    sqlPoolId: exampleSqlPool.id,\n    policyState: \"Enabled\",\n    storageEndpoint: auditLogs.primaryBlobEndpoint,\n    storageAccountAccessKey: auditLogs.primaryAccessKey,\n    disabledAlerts: [\n        \"Sql_Injection\",\n        \"Data_Exfiltration\",\n    ],\n    retentionDays: 20,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_account = azure.storage.Account(\"example\",\n    name=\"examplestorageacc\",\n    resource_group_name=example.name,\n    location=example.location,\n    account_tier=\"Standard\",\n    account_replication_type=\"LRS\",\n    account_kind=\"StorageV2\",\n    is_hns_enabled=True)\nexample_data_lake_gen2_filesystem = azure.storage.DataLakeGen2Filesystem(\"example\",\n    name=\"example\",\n    storage_account_id=example_account.id)\nexample_workspace = azure.synapse.Workspace(\"example\",\n    name=\"example\",\n    resource_group_name=example.name,\n    location=example.location,\n    storage_data_lake_gen2_filesystem_id=example_data_lake_gen2_filesystem.id,\n    sql_administrator_login=\"sqladminuser\",\n    sql_administrator_login_password=\"H@Sh1CoR3!\",\n    aad_admin=[{\n        \"login\": \"AzureAD Admin\",\n        \"objectId\": \"00000000-0000-0000-0000-000000000000\",\n        \"tenantId\": \"00000000-0000-0000-0000-000000000000\",\n    }],\n    identity={\n        \"type\": \"SystemAssigned\",\n    },\n    tags={\n        \"Env\": \"production\",\n    })\nexample_sql_pool = azure.synapse.SqlPool(\"example\",\n    name=\"examplesqlpool\",\n    synapse_workspace_id=example_workspace.id,\n    sku_name=\"DW100c\",\n    create_mode=\"Default\")\naudit_logs = azure.storage.Account(\"audit_logs\",\n    name=\"examplesa\",\n    resource_group_name=example.name,\n    location=example.location,\n    account_tier=\"Standard\",\n    account_replication_type=\"LRS\")\nexample_sql_pool_security_alert_policy = azure.synapse.SqlPoolSecurityAlertPolicy(\"example\",\n    sql_pool_id=example_sql_pool.id,\n    policy_state=\"Enabled\",\n    storage_endpoint=audit_logs.primary_blob_endpoint,\n    storage_account_access_key=audit_logs.primary_access_key,\n    disabled_alerts=[\n        \"Sql_Injection\",\n        \"Data_Exfiltration\",\n    ],\n    retention_days=20)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleAccount = new Azure.Storage.Account(\"example\", new()\n    {\n        Name = \"examplestorageacc\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        AccountTier = \"Standard\",\n        AccountReplicationType = \"LRS\",\n        AccountKind = \"StorageV2\",\n        IsHnsEnabled = true,\n    });\n\n    var exampleDataLakeGen2Filesystem = new Azure.Storage.DataLakeGen2Filesystem(\"example\", new()\n    {\n        Name = \"example\",\n        StorageAccountId = exampleAccount.Id,\n    });\n\n    var exampleWorkspace = new Azure.Synapse.Workspace(\"example\", new()\n    {\n        Name = \"example\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        StorageDataLakeGen2FilesystemId = exampleDataLakeGen2Filesystem.Id,\n        SqlAdministratorLogin = \"sqladminuser\",\n        SqlAdministratorLoginPassword = \"H@Sh1CoR3!\",\n        AadAdmin = new[]\n        {\n            \n            {\n                { \"login\", \"AzureAD Admin\" },\n                { \"objectId\", \"00000000-0000-0000-0000-000000000000\" },\n                { \"tenantId\", \"00000000-0000-0000-0000-000000000000\" },\n            },\n        },\n        Identity = new Azure.Synapse.Inputs.WorkspaceIdentityArgs\n        {\n            Type = \"SystemAssigned\",\n        },\n        Tags = \n        {\n            { \"Env\", \"production\" },\n        },\n    });\n\n    var exampleSqlPool = new Azure.Synapse.SqlPool(\"example\", new()\n    {\n        Name = \"examplesqlpool\",\n        SynapseWorkspaceId = exampleWorkspace.Id,\n        SkuName = \"DW100c\",\n        CreateMode = \"Default\",\n    });\n\n    var auditLogs = new Azure.Storage.Account(\"audit_logs\", new()\n    {\n        Name = \"examplesa\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        AccountTier = \"Standard\",\n        AccountReplicationType = \"LRS\",\n    });\n\n    var exampleSqlPoolSecurityAlertPolicy = new Azure.Synapse.SqlPoolSecurityAlertPolicy(\"example\", new()\n    {\n        SqlPoolId = exampleSqlPool.Id,\n        PolicyState = \"Enabled\",\n        StorageEndpoint = auditLogs.PrimaryBlobEndpoint,\n        StorageAccountAccessKey = auditLogs.PrimaryAccessKey,\n        DisabledAlerts = new[]\n        {\n            \"Sql_Injection\",\n            \"Data_Exfiltration\",\n        },\n        RetentionDays = 20,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/synapse\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := storage.NewAccount(ctx, \"example\", \u0026storage.AccountArgs{\n\t\t\tName:                   pulumi.String(\"examplestorageacc\"),\n\t\t\tResourceGroupName:      example.Name,\n\t\t\tLocation:               example.Location,\n\t\t\tAccountTier:            pulumi.String(\"Standard\"),\n\t\t\tAccountReplicationType: pulumi.String(\"LRS\"),\n\t\t\tAccountKind:            pulumi.String(\"StorageV2\"),\n\t\t\tIsHnsEnabled:           pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleDataLakeGen2Filesystem, err := storage.NewDataLakeGen2Filesystem(ctx, \"example\", \u0026storage.DataLakeGen2FilesystemArgs{\n\t\t\tName:             pulumi.String(\"example\"),\n\t\t\tStorageAccountId: exampleAccount.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleWorkspace, err := synapse.NewWorkspace(ctx, \"example\", \u0026synapse.WorkspaceArgs{\n\t\t\tName:                            pulumi.String(\"example\"),\n\t\t\tResourceGroupName:               example.Name,\n\t\t\tLocation:                        example.Location,\n\t\t\tStorageDataLakeGen2FilesystemId: exampleDataLakeGen2Filesystem.ID(),\n\t\t\tSqlAdministratorLogin:           pulumi.String(\"sqladminuser\"),\n\t\t\tSqlAdministratorLoginPassword:   pulumi.String(\"H@Sh1CoR3!\"),\n\t\t\tAadAdmin: []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"login\":    \"AzureAD Admin\",\n\t\t\t\t\t\"objectId\": \"00000000-0000-0000-0000-000000000000\",\n\t\t\t\t\t\"tenantId\": \"00000000-0000-0000-0000-000000000000\",\n\t\t\t\t},\n\t\t\t},\n\t\t\tIdentity: \u0026synapse.WorkspaceIdentityArgs{\n\t\t\t\tType: pulumi.String(\"SystemAssigned\"),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Env\": pulumi.String(\"production\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSqlPool, err := synapse.NewSqlPool(ctx, \"example\", \u0026synapse.SqlPoolArgs{\n\t\t\tName:               pulumi.String(\"examplesqlpool\"),\n\t\t\tSynapseWorkspaceId: exampleWorkspace.ID(),\n\t\t\tSkuName:            pulumi.String(\"DW100c\"),\n\t\t\tCreateMode:         pulumi.String(\"Default\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tauditLogs, err := storage.NewAccount(ctx, \"audit_logs\", \u0026storage.AccountArgs{\n\t\t\tName:                   pulumi.String(\"examplesa\"),\n\t\t\tResourceGroupName:      example.Name,\n\t\t\tLocation:               example.Location,\n\t\t\tAccountTier:            pulumi.String(\"Standard\"),\n\t\t\tAccountReplicationType: pulumi.String(\"LRS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = synapse.NewSqlPoolSecurityAlertPolicy(ctx, \"example\", \u0026synapse.SqlPoolSecurityAlertPolicyArgs{\n\t\t\tSqlPoolId:               exampleSqlPool.ID(),\n\t\t\tPolicyState:             pulumi.String(\"Enabled\"),\n\t\t\tStorageEndpoint:         auditLogs.PrimaryBlobEndpoint,\n\t\t\tStorageAccountAccessKey: auditLogs.PrimaryAccessKey,\n\t\t\tDisabledAlerts: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"Sql_Injection\"),\n\t\t\t\tpulumi.String(\"Data_Exfiltration\"),\n\t\t\t},\n\t\t\tRetentionDays: pulumi.Int(20),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.storage.Account;\nimport com.pulumi.azure.storage.AccountArgs;\nimport com.pulumi.azure.storage.DataLakeGen2Filesystem;\nimport com.pulumi.azure.storage.DataLakeGen2FilesystemArgs;\nimport com.pulumi.azure.synapse.Workspace;\nimport com.pulumi.azure.synapse.WorkspaceArgs;\nimport com.pulumi.azure.synapse.inputs.WorkspaceIdentityArgs;\nimport com.pulumi.azure.synapse.SqlPool;\nimport com.pulumi.azure.synapse.SqlPoolArgs;\nimport com.pulumi.azure.synapse.SqlPoolSecurityAlertPolicy;\nimport com.pulumi.azure.synapse.SqlPoolSecurityAlertPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"examplestorageacc\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .accountTier(\"Standard\")\n            .accountReplicationType(\"LRS\")\n            .accountKind(\"StorageV2\")\n            .isHnsEnabled(true)\n            .build());\n\n        var exampleDataLakeGen2Filesystem = new DataLakeGen2Filesystem(\"exampleDataLakeGen2Filesystem\", DataLakeGen2FilesystemArgs.builder()\n            .name(\"example\")\n            .storageAccountId(exampleAccount.id())\n            .build());\n\n        var exampleWorkspace = new Workspace(\"exampleWorkspace\", WorkspaceArgs.builder()\n            .name(\"example\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .storageDataLakeGen2FilesystemId(exampleDataLakeGen2Filesystem.id())\n            .sqlAdministratorLogin(\"sqladminuser\")\n            .sqlAdministratorLoginPassword(\"H@Sh1CoR3!\")\n            .aadAdmin(List.of(Map.ofEntries(\n                Map.entry(\"login\", \"AzureAD Admin\"),\n                Map.entry(\"objectId\", \"00000000-0000-0000-0000-000000000000\"),\n                Map.entry(\"tenantId\", \"00000000-0000-0000-0000-000000000000\")\n            )))\n            .identity(WorkspaceIdentityArgs.builder()\n                .type(\"SystemAssigned\")\n                .build())\n            .tags(Map.of(\"Env\", \"production\"))\n            .build());\n\n        var exampleSqlPool = new SqlPool(\"exampleSqlPool\", SqlPoolArgs.builder()\n            .name(\"examplesqlpool\")\n            .synapseWorkspaceId(exampleWorkspace.id())\n            .skuName(\"DW100c\")\n            .createMode(\"Default\")\n            .build());\n\n        var auditLogs = new Account(\"auditLogs\", AccountArgs.builder()\n            .name(\"examplesa\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .accountTier(\"Standard\")\n            .accountReplicationType(\"LRS\")\n            .build());\n\n        var exampleSqlPoolSecurityAlertPolicy = new SqlPoolSecurityAlertPolicy(\"exampleSqlPoolSecurityAlertPolicy\", SqlPoolSecurityAlertPolicyArgs.builder()\n            .sqlPoolId(exampleSqlPool.id())\n            .policyState(\"Enabled\")\n            .storageEndpoint(auditLogs.primaryBlobEndpoint())\n            .storageAccountAccessKey(auditLogs.primaryAccessKey())\n            .disabledAlerts(            \n                \"Sql_Injection\",\n                \"Data_Exfiltration\")\n            .retentionDays(20)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleAccount:\n    type: azure:storage:Account\n    name: example\n    properties:\n      name: examplestorageacc\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      accountTier: Standard\n      accountReplicationType: LRS\n      accountKind: StorageV2\n      isHnsEnabled: 'true'\n  exampleDataLakeGen2Filesystem:\n    type: azure:storage:DataLakeGen2Filesystem\n    name: example\n    properties:\n      name: example\n      storageAccountId: ${exampleAccount.id}\n  exampleWorkspace:\n    type: azure:synapse:Workspace\n    name: example\n    properties:\n      name: example\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      storageDataLakeGen2FilesystemId: ${exampleDataLakeGen2Filesystem.id}\n      sqlAdministratorLogin: sqladminuser\n      sqlAdministratorLoginPassword: H@Sh1CoR3!\n      aadAdmin:\n        - login: AzureAD Admin\n          objectId: 00000000-0000-0000-0000-000000000000\n          tenantId: 00000000-0000-0000-0000-000000000000\n      identity:\n        type: SystemAssigned\n      tags:\n        Env: production\n  exampleSqlPool:\n    type: azure:synapse:SqlPool\n    name: example\n    properties:\n      name: examplesqlpool\n      synapseWorkspaceId: ${exampleWorkspace.id}\n      skuName: DW100c\n      createMode: Default\n  auditLogs:\n    type: azure:storage:Account\n    name: audit_logs\n    properties:\n      name: examplesa\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      accountTier: Standard\n      accountReplicationType: LRS\n  exampleSqlPoolSecurityAlertPolicy:\n    type: azure:synapse:SqlPoolSecurityAlertPolicy\n    name: example\n    properties:\n      sqlPoolId: ${exampleSqlPool.id}\n      policyState: Enabled\n      storageEndpoint: ${auditLogs.primaryBlobEndpoint}\n      storageAccountAccessKey: ${auditLogs.primaryAccessKey}\n      disabledAlerts:\n        - Sql_Injection\n        - Data_Exfiltration\n      retentionDays: 20\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nSynapse SQL Pool Security Alert Policies can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:synapse/sqlPoolSecurityAlertPolicy:SqlPoolSecurityAlertPolicy example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Synapse/workspaces/workspace1/sqlPools/sqlPool1/securityAlertPolicies/default\n```\n\n","properties":{"disabledAlerts":{"type":"array","items":{"type":"string"},"description":"Specifies an array of alerts that are disabled. Allowed values are: `Sql_Injection`, `Sql_Injection_Vulnerability`, `Access_Anomaly`, `Data_Exfiltration`, `Unsafe_Action`.\n"},"emailAccountAdminsEnabled":{"type":"boolean","description":"Boolean flag which specifies if the alert is sent to the account administrators or not. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"emailAddresses":{"type":"array","items":{"type":"string"},"description":"Specifies an array of email addresses to which the alert is sent.\n"},"policyState":{"type":"string","description":"Specifies the state of the policy, whether it is enabled or disabled or a policy has not been applied yet on the specific SQL pool. Possible values are `Disabled`, `Enabled` and `New`.\n"},"retentionDays":{"type":"integer","description":"Specifies the number of days to keep in the Threat Detection audit logs. Defaults to \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"sqlPoolId":{"type":"string","description":"Specifies the ID of the Synapse SQL Pool. Changing this forces a new resource to be created.\n"},"storageAccountAccessKey":{"type":"string","description":"Specifies the identifier key of the Threat Detection audit storage account.\n","secret":true},"storageEndpoint":{"type":"string","description":"Specifies the blob storage endpoint (e.g. \u003chttps://example.blob.core.windows.net\u003e). This blob storage will hold all Threat Detection audit logs.\n"}},"required":["policyState","sqlPoolId"],"inputProperties":{"disabledAlerts":{"type":"array","items":{"type":"string"},"description":"Specifies an array of alerts that are disabled. Allowed values are: `Sql_Injection`, `Sql_Injection_Vulnerability`, `Access_Anomaly`, `Data_Exfiltration`, `Unsafe_Action`.\n"},"emailAccountAdminsEnabled":{"type":"boolean","description":"Boolean flag which specifies if the alert is sent to the account administrators or not. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"emailAddresses":{"type":"array","items":{"type":"string"},"description":"Specifies an array of email addresses to which the alert is sent.\n"},"policyState":{"type":"string","description":"Specifies the state of the policy, whether it is enabled or disabled or a policy has not been applied yet on the specific SQL pool. Possible values are `Disabled`, `Enabled` and `New`.\n"},"retentionDays":{"type":"integer","description":"Specifies the number of days to keep in the Threat Detection audit logs. Defaults to \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"sqlPoolId":{"type":"string","description":"Specifies the ID of the Synapse SQL Pool. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"storageAccountAccessKey":{"type":"string","description":"Specifies the identifier key of the Threat Detection audit storage account.\n","secret":true},"storageEndpoint":{"type":"string","description":"Specifies the blob storage endpoint (e.g. \u003chttps://example.blob.core.windows.net\u003e). This blob storage will hold all Threat Detection audit logs.\n"}},"requiredInputs":["policyState","sqlPoolId"],"stateInputs":{"description":"Input properties used for looking up and filtering SqlPoolSecurityAlertPolicy resources.\n","properties":{"disabledAlerts":{"type":"array","items":{"type":"string"},"description":"Specifies an array of alerts that are disabled. Allowed values are: `Sql_Injection`, `Sql_Injection_Vulnerability`, `Access_Anomaly`, `Data_Exfiltration`, `Unsafe_Action`.\n"},"emailAccountAdminsEnabled":{"type":"boolean","description":"Boolean flag which specifies if the alert is sent to the account administrators or not. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"emailAddresses":{"type":"array","items":{"type":"string"},"description":"Specifies an array of email addresses to which the alert is sent.\n"},"policyState":{"type":"string","description":"Specifies the state of the policy, whether it is enabled or disabled or a policy has not been applied yet on the specific SQL pool. Possible values are `Disabled`, `Enabled` and `New`.\n"},"retentionDays":{"type":"integer","description":"Specifies the number of days to keep in the Threat Detection audit logs. Defaults to \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"sqlPoolId":{"type":"string","description":"Specifies the ID of the Synapse SQL Pool. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"storageAccountAccessKey":{"type":"string","description":"Specifies the identifier key of the Threat Detection audit storage account.\n","secret":true},"storageEndpoint":{"type":"string","description":"Specifies the blob storage endpoint (e.g. \u003chttps://example.blob.core.windows.net\u003e). This blob storage will hold all Threat Detection audit logs.\n"}},"type":"object"}},"azure:synapse/sqlPoolVulnerabilityAssessment:SqlPoolVulnerabilityAssessment":{"description":"Manages the Vulnerability Assessment for a Synapse SQL Pool.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleAccount = new azure.storage.Account(\"example\", {\n    name: \"examplestorageacc\",\n    resourceGroupName: example.name,\n    location: example.location,\n    accountTier: \"Standard\",\n    accountReplicationType: \"LRS\",\n    accountKind: \"StorageV2\",\n    isHnsEnabled: true,\n});\nconst exampleContainer = new azure.storage.Container(\"example\", {\n    name: \"example\",\n    storageAccountName: exampleAccount.name,\n});\nconst exampleDataLakeGen2Filesystem = new azure.storage.DataLakeGen2Filesystem(\"example\", {\n    name: \"example\",\n    storageAccountId: exampleAccount.id,\n});\nconst exampleWorkspace = new azure.synapse.Workspace(\"example\", {\n    name: \"example\",\n    resourceGroupName: example.name,\n    location: example.location,\n    storageDataLakeGen2FilesystemId: exampleDataLakeGen2Filesystem.id,\n    sqlAdministratorLogin: \"sqladminuser\",\n    sqlAdministratorLoginPassword: \"H@Sh1CoR3!\",\n    aadAdmin: [{\n        login: \"AzureAD Admin\",\n        objectId: \"00000000-0000-0000-0000-000000000000\",\n        tenantId: \"00000000-0000-0000-0000-000000000000\",\n    }],\n    identity: {\n        type: \"SystemAssigned\",\n    },\n    tags: {\n        Env: \"production\",\n    },\n});\nconst exampleSqlPool = new azure.synapse.SqlPool(\"example\", {\n    name: \"examplesqlpool\",\n    synapseWorkspaceId: exampleWorkspace.id,\n    skuName: \"DW100c\",\n    createMode: \"Default\",\n});\nconst auditLogs = new azure.storage.Account(\"audit_logs\", {\n    name: \"examplesa\",\n    resourceGroupName: example.name,\n    location: example.location,\n    accountTier: \"Standard\",\n    accountReplicationType: \"LRS\",\n});\nconst exampleSqlPoolSecurityAlertPolicy = new azure.synapse.SqlPoolSecurityAlertPolicy(\"example\", {\n    sqlPoolId: exampleSqlPool.id,\n    policyState: \"Enabled\",\n    storageEndpoint: auditLogs.primaryBlobEndpoint,\n    storageAccountAccessKey: auditLogs.primaryAccessKey,\n    disabledAlerts: [\n        \"Sql_Injection\",\n        \"Data_Exfiltration\",\n    ],\n    retentionDays: 20,\n});\nconst exampleSqlPoolVulnerabilityAssessment = new azure.synapse.SqlPoolVulnerabilityAssessment(\"example\", {\n    sqlPoolSecurityAlertPolicyId: exampleSqlPoolSecurityAlertPolicy.id,\n    storageContainerPath: pulumi.interpolate`${exampleAccount.primaryBlobEndpoint}${exampleContainer.name}/`,\n    storageAccountAccessKey: exampleAccount.primaryAccessKey,\n    recurringScans: {\n        enabled: true,\n        emails: [\n            \"email@example1.com\",\n            \"email@example2.com\",\n        ],\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_account = azure.storage.Account(\"example\",\n    name=\"examplestorageacc\",\n    resource_group_name=example.name,\n    location=example.location,\n    account_tier=\"Standard\",\n    account_replication_type=\"LRS\",\n    account_kind=\"StorageV2\",\n    is_hns_enabled=True)\nexample_container = azure.storage.Container(\"example\",\n    name=\"example\",\n    storage_account_name=example_account.name)\nexample_data_lake_gen2_filesystem = azure.storage.DataLakeGen2Filesystem(\"example\",\n    name=\"example\",\n    storage_account_id=example_account.id)\nexample_workspace = azure.synapse.Workspace(\"example\",\n    name=\"example\",\n    resource_group_name=example.name,\n    location=example.location,\n    storage_data_lake_gen2_filesystem_id=example_data_lake_gen2_filesystem.id,\n    sql_administrator_login=\"sqladminuser\",\n    sql_administrator_login_password=\"H@Sh1CoR3!\",\n    aad_admin=[{\n        \"login\": \"AzureAD Admin\",\n        \"objectId\": \"00000000-0000-0000-0000-000000000000\",\n        \"tenantId\": \"00000000-0000-0000-0000-000000000000\",\n    }],\n    identity={\n        \"type\": \"SystemAssigned\",\n    },\n    tags={\n        \"Env\": \"production\",\n    })\nexample_sql_pool = azure.synapse.SqlPool(\"example\",\n    name=\"examplesqlpool\",\n    synapse_workspace_id=example_workspace.id,\n    sku_name=\"DW100c\",\n    create_mode=\"Default\")\naudit_logs = azure.storage.Account(\"audit_logs\",\n    name=\"examplesa\",\n    resource_group_name=example.name,\n    location=example.location,\n    account_tier=\"Standard\",\n    account_replication_type=\"LRS\")\nexample_sql_pool_security_alert_policy = azure.synapse.SqlPoolSecurityAlertPolicy(\"example\",\n    sql_pool_id=example_sql_pool.id,\n    policy_state=\"Enabled\",\n    storage_endpoint=audit_logs.primary_blob_endpoint,\n    storage_account_access_key=audit_logs.primary_access_key,\n    disabled_alerts=[\n        \"Sql_Injection\",\n        \"Data_Exfiltration\",\n    ],\n    retention_days=20)\nexample_sql_pool_vulnerability_assessment = azure.synapse.SqlPoolVulnerabilityAssessment(\"example\",\n    sql_pool_security_alert_policy_id=example_sql_pool_security_alert_policy.id,\n    storage_container_path=pulumi.Output.all(\n        primary_blob_endpoint=example_account.primary_blob_endpoint,\n        name=example_container.name\n).apply(lambda resolved_outputs: f\"{resolved_outputs['primary_blob_endpoint']}{resolved_outputs['name']}/\")\n,\n    storage_account_access_key=example_account.primary_access_key,\n    recurring_scans={\n        \"enabled\": True,\n        \"emails\": [\n            \"email@example1.com\",\n            \"email@example2.com\",\n        ],\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleAccount = new Azure.Storage.Account(\"example\", new()\n    {\n        Name = \"examplestorageacc\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        AccountTier = \"Standard\",\n        AccountReplicationType = \"LRS\",\n        AccountKind = \"StorageV2\",\n        IsHnsEnabled = true,\n    });\n\n    var exampleContainer = new Azure.Storage.Container(\"example\", new()\n    {\n        Name = \"example\",\n        StorageAccountName = exampleAccount.Name,\n    });\n\n    var exampleDataLakeGen2Filesystem = new Azure.Storage.DataLakeGen2Filesystem(\"example\", new()\n    {\n        Name = \"example\",\n        StorageAccountId = exampleAccount.Id,\n    });\n\n    var exampleWorkspace = new Azure.Synapse.Workspace(\"example\", new()\n    {\n        Name = \"example\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        StorageDataLakeGen2FilesystemId = exampleDataLakeGen2Filesystem.Id,\n        SqlAdministratorLogin = \"sqladminuser\",\n        SqlAdministratorLoginPassword = \"H@Sh1CoR3!\",\n        AadAdmin = new[]\n        {\n            \n            {\n                { \"login\", \"AzureAD Admin\" },\n                { \"objectId\", \"00000000-0000-0000-0000-000000000000\" },\n                { \"tenantId\", \"00000000-0000-0000-0000-000000000000\" },\n            },\n        },\n        Identity = new Azure.Synapse.Inputs.WorkspaceIdentityArgs\n        {\n            Type = \"SystemAssigned\",\n        },\n        Tags = \n        {\n            { \"Env\", \"production\" },\n        },\n    });\n\n    var exampleSqlPool = new Azure.Synapse.SqlPool(\"example\", new()\n    {\n        Name = \"examplesqlpool\",\n        SynapseWorkspaceId = exampleWorkspace.Id,\n        SkuName = \"DW100c\",\n        CreateMode = \"Default\",\n    });\n\n    var auditLogs = new Azure.Storage.Account(\"audit_logs\", new()\n    {\n        Name = \"examplesa\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        AccountTier = \"Standard\",\n        AccountReplicationType = \"LRS\",\n    });\n\n    var exampleSqlPoolSecurityAlertPolicy = new Azure.Synapse.SqlPoolSecurityAlertPolicy(\"example\", new()\n    {\n        SqlPoolId = exampleSqlPool.Id,\n        PolicyState = \"Enabled\",\n        StorageEndpoint = auditLogs.PrimaryBlobEndpoint,\n        StorageAccountAccessKey = auditLogs.PrimaryAccessKey,\n        DisabledAlerts = new[]\n        {\n            \"Sql_Injection\",\n            \"Data_Exfiltration\",\n        },\n        RetentionDays = 20,\n    });\n\n    var exampleSqlPoolVulnerabilityAssessment = new Azure.Synapse.SqlPoolVulnerabilityAssessment(\"example\", new()\n    {\n        SqlPoolSecurityAlertPolicyId = exampleSqlPoolSecurityAlertPolicy.Id,\n        StorageContainerPath = Output.Tuple(exampleAccount.PrimaryBlobEndpoint, exampleContainer.Name).Apply(values =\u003e\n        {\n            var primaryBlobEndpoint = values.Item1;\n            var name = values.Item2;\n            return $\"{primaryBlobEndpoint}{name}/\";\n        }),\n        StorageAccountAccessKey = exampleAccount.PrimaryAccessKey,\n        RecurringScans = new Azure.Synapse.Inputs.SqlPoolVulnerabilityAssessmentRecurringScansArgs\n        {\n            Enabled = true,\n            Emails = new[]\n            {\n                \"email@example1.com\",\n                \"email@example2.com\",\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/synapse\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := storage.NewAccount(ctx, \"example\", \u0026storage.AccountArgs{\n\t\t\tName:                   pulumi.String(\"examplestorageacc\"),\n\t\t\tResourceGroupName:      example.Name,\n\t\t\tLocation:               example.Location,\n\t\t\tAccountTier:            pulumi.String(\"Standard\"),\n\t\t\tAccountReplicationType: pulumi.String(\"LRS\"),\n\t\t\tAccountKind:            pulumi.String(\"StorageV2\"),\n\t\t\tIsHnsEnabled:           pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleContainer, err := storage.NewContainer(ctx, \"example\", \u0026storage.ContainerArgs{\n\t\t\tName:               pulumi.String(\"example\"),\n\t\t\tStorageAccountName: exampleAccount.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleDataLakeGen2Filesystem, err := storage.NewDataLakeGen2Filesystem(ctx, \"example\", \u0026storage.DataLakeGen2FilesystemArgs{\n\t\t\tName:             pulumi.String(\"example\"),\n\t\t\tStorageAccountId: exampleAccount.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleWorkspace, err := synapse.NewWorkspace(ctx, \"example\", \u0026synapse.WorkspaceArgs{\n\t\t\tName:                            pulumi.String(\"example\"),\n\t\t\tResourceGroupName:               example.Name,\n\t\t\tLocation:                        example.Location,\n\t\t\tStorageDataLakeGen2FilesystemId: exampleDataLakeGen2Filesystem.ID(),\n\t\t\tSqlAdministratorLogin:           pulumi.String(\"sqladminuser\"),\n\t\t\tSqlAdministratorLoginPassword:   pulumi.String(\"H@Sh1CoR3!\"),\n\t\t\tAadAdmin: []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"login\":    \"AzureAD Admin\",\n\t\t\t\t\t\"objectId\": \"00000000-0000-0000-0000-000000000000\",\n\t\t\t\t\t\"tenantId\": \"00000000-0000-0000-0000-000000000000\",\n\t\t\t\t},\n\t\t\t},\n\t\t\tIdentity: \u0026synapse.WorkspaceIdentityArgs{\n\t\t\t\tType: pulumi.String(\"SystemAssigned\"),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Env\": pulumi.String(\"production\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSqlPool, err := synapse.NewSqlPool(ctx, \"example\", \u0026synapse.SqlPoolArgs{\n\t\t\tName:               pulumi.String(\"examplesqlpool\"),\n\t\t\tSynapseWorkspaceId: exampleWorkspace.ID(),\n\t\t\tSkuName:            pulumi.String(\"DW100c\"),\n\t\t\tCreateMode:         pulumi.String(\"Default\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tauditLogs, err := storage.NewAccount(ctx, \"audit_logs\", \u0026storage.AccountArgs{\n\t\t\tName:                   pulumi.String(\"examplesa\"),\n\t\t\tResourceGroupName:      example.Name,\n\t\t\tLocation:               example.Location,\n\t\t\tAccountTier:            pulumi.String(\"Standard\"),\n\t\t\tAccountReplicationType: pulumi.String(\"LRS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSqlPoolSecurityAlertPolicy, err := synapse.NewSqlPoolSecurityAlertPolicy(ctx, \"example\", \u0026synapse.SqlPoolSecurityAlertPolicyArgs{\n\t\t\tSqlPoolId:               exampleSqlPool.ID(),\n\t\t\tPolicyState:             pulumi.String(\"Enabled\"),\n\t\t\tStorageEndpoint:         auditLogs.PrimaryBlobEndpoint,\n\t\t\tStorageAccountAccessKey: auditLogs.PrimaryAccessKey,\n\t\t\tDisabledAlerts: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"Sql_Injection\"),\n\t\t\t\tpulumi.String(\"Data_Exfiltration\"),\n\t\t\t},\n\t\t\tRetentionDays: pulumi.Int(20),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = synapse.NewSqlPoolVulnerabilityAssessment(ctx, \"example\", \u0026synapse.SqlPoolVulnerabilityAssessmentArgs{\n\t\t\tSqlPoolSecurityAlertPolicyId: exampleSqlPoolSecurityAlertPolicy.ID(),\n\t\t\tStorageContainerPath: pulumi.All(exampleAccount.PrimaryBlobEndpoint, exampleContainer.Name).ApplyT(func(_args []interface{}) (string, error) {\n\t\t\t\tprimaryBlobEndpoint := _args[0].(string)\n\t\t\t\tname := _args[1].(string)\n\t\t\t\treturn fmt.Sprintf(\"%v%v/\", primaryBlobEndpoint, name), nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t\tStorageAccountAccessKey: exampleAccount.PrimaryAccessKey,\n\t\t\tRecurringScans: \u0026synapse.SqlPoolVulnerabilityAssessmentRecurringScansArgs{\n\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\tEmails: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"email@example1.com\"),\n\t\t\t\t\tpulumi.String(\"email@example2.com\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.storage.Account;\nimport com.pulumi.azure.storage.AccountArgs;\nimport com.pulumi.azure.storage.Container;\nimport com.pulumi.azure.storage.ContainerArgs;\nimport com.pulumi.azure.storage.DataLakeGen2Filesystem;\nimport com.pulumi.azure.storage.DataLakeGen2FilesystemArgs;\nimport com.pulumi.azure.synapse.Workspace;\nimport com.pulumi.azure.synapse.WorkspaceArgs;\nimport com.pulumi.azure.synapse.inputs.WorkspaceIdentityArgs;\nimport com.pulumi.azure.synapse.SqlPool;\nimport com.pulumi.azure.synapse.SqlPoolArgs;\nimport com.pulumi.azure.synapse.SqlPoolSecurityAlertPolicy;\nimport com.pulumi.azure.synapse.SqlPoolSecurityAlertPolicyArgs;\nimport com.pulumi.azure.synapse.SqlPoolVulnerabilityAssessment;\nimport com.pulumi.azure.synapse.SqlPoolVulnerabilityAssessmentArgs;\nimport com.pulumi.azure.synapse.inputs.SqlPoolVulnerabilityAssessmentRecurringScansArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"examplestorageacc\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .accountTier(\"Standard\")\n            .accountReplicationType(\"LRS\")\n            .accountKind(\"StorageV2\")\n            .isHnsEnabled(true)\n            .build());\n\n        var exampleContainer = new Container(\"exampleContainer\", ContainerArgs.builder()\n            .name(\"example\")\n            .storageAccountName(exampleAccount.name())\n            .build());\n\n        var exampleDataLakeGen2Filesystem = new DataLakeGen2Filesystem(\"exampleDataLakeGen2Filesystem\", DataLakeGen2FilesystemArgs.builder()\n            .name(\"example\")\n            .storageAccountId(exampleAccount.id())\n            .build());\n\n        var exampleWorkspace = new Workspace(\"exampleWorkspace\", WorkspaceArgs.builder()\n            .name(\"example\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .storageDataLakeGen2FilesystemId(exampleDataLakeGen2Filesystem.id())\n            .sqlAdministratorLogin(\"sqladminuser\")\n            .sqlAdministratorLoginPassword(\"H@Sh1CoR3!\")\n            .aadAdmin(List.of(Map.ofEntries(\n                Map.entry(\"login\", \"AzureAD Admin\"),\n                Map.entry(\"objectId\", \"00000000-0000-0000-0000-000000000000\"),\n                Map.entry(\"tenantId\", \"00000000-0000-0000-0000-000000000000\")\n            )))\n            .identity(WorkspaceIdentityArgs.builder()\n                .type(\"SystemAssigned\")\n                .build())\n            .tags(Map.of(\"Env\", \"production\"))\n            .build());\n\n        var exampleSqlPool = new SqlPool(\"exampleSqlPool\", SqlPoolArgs.builder()\n            .name(\"examplesqlpool\")\n            .synapseWorkspaceId(exampleWorkspace.id())\n            .skuName(\"DW100c\")\n            .createMode(\"Default\")\n            .build());\n\n        var auditLogs = new Account(\"auditLogs\", AccountArgs.builder()\n            .name(\"examplesa\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .accountTier(\"Standard\")\n            .accountReplicationType(\"LRS\")\n            .build());\n\n        var exampleSqlPoolSecurityAlertPolicy = new SqlPoolSecurityAlertPolicy(\"exampleSqlPoolSecurityAlertPolicy\", SqlPoolSecurityAlertPolicyArgs.builder()\n            .sqlPoolId(exampleSqlPool.id())\n            .policyState(\"Enabled\")\n            .storageEndpoint(auditLogs.primaryBlobEndpoint())\n            .storageAccountAccessKey(auditLogs.primaryAccessKey())\n            .disabledAlerts(            \n                \"Sql_Injection\",\n                \"Data_Exfiltration\")\n            .retentionDays(20)\n            .build());\n\n        var exampleSqlPoolVulnerabilityAssessment = new SqlPoolVulnerabilityAssessment(\"exampleSqlPoolVulnerabilityAssessment\", SqlPoolVulnerabilityAssessmentArgs.builder()\n            .sqlPoolSecurityAlertPolicyId(exampleSqlPoolSecurityAlertPolicy.id())\n            .storageContainerPath(Output.tuple(exampleAccount.primaryBlobEndpoint(), exampleContainer.name()).applyValue(values -\u003e {\n                var primaryBlobEndpoint = values.t1;\n                var name = values.t2;\n                return String.format(\"%s%s/\", primaryBlobEndpoint,name);\n            }))\n            .storageAccountAccessKey(exampleAccount.primaryAccessKey())\n            .recurringScans(SqlPoolVulnerabilityAssessmentRecurringScansArgs.builder()\n                .enabled(true)\n                .emails(                \n                    \"email@example1.com\",\n                    \"email@example2.com\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleAccount:\n    type: azure:storage:Account\n    name: example\n    properties:\n      name: examplestorageacc\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      accountTier: Standard\n      accountReplicationType: LRS\n      accountKind: StorageV2\n      isHnsEnabled: 'true'\n  exampleContainer:\n    type: azure:storage:Container\n    name: example\n    properties:\n      name: example\n      storageAccountName: ${exampleAccount.name}\n  exampleDataLakeGen2Filesystem:\n    type: azure:storage:DataLakeGen2Filesystem\n    name: example\n    properties:\n      name: example\n      storageAccountId: ${exampleAccount.id}\n  exampleWorkspace:\n    type: azure:synapse:Workspace\n    name: example\n    properties:\n      name: example\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      storageDataLakeGen2FilesystemId: ${exampleDataLakeGen2Filesystem.id}\n      sqlAdministratorLogin: sqladminuser\n      sqlAdministratorLoginPassword: H@Sh1CoR3!\n      aadAdmin:\n        - login: AzureAD Admin\n          objectId: 00000000-0000-0000-0000-000000000000\n          tenantId: 00000000-0000-0000-0000-000000000000\n      identity:\n        type: SystemAssigned\n      tags:\n        Env: production\n  exampleSqlPool:\n    type: azure:synapse:SqlPool\n    name: example\n    properties:\n      name: examplesqlpool\n      synapseWorkspaceId: ${exampleWorkspace.id}\n      skuName: DW100c\n      createMode: Default\n  auditLogs:\n    type: azure:storage:Account\n    name: audit_logs\n    properties:\n      name: examplesa\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      accountTier: Standard\n      accountReplicationType: LRS\n  exampleSqlPoolSecurityAlertPolicy:\n    type: azure:synapse:SqlPoolSecurityAlertPolicy\n    name: example\n    properties:\n      sqlPoolId: ${exampleSqlPool.id}\n      policyState: Enabled\n      storageEndpoint: ${auditLogs.primaryBlobEndpoint}\n      storageAccountAccessKey: ${auditLogs.primaryAccessKey}\n      disabledAlerts:\n        - Sql_Injection\n        - Data_Exfiltration\n      retentionDays: 20\n  exampleSqlPoolVulnerabilityAssessment:\n    type: azure:synapse:SqlPoolVulnerabilityAssessment\n    name: example\n    properties:\n      sqlPoolSecurityAlertPolicyId: ${exampleSqlPoolSecurityAlertPolicy.id}\n      storageContainerPath: ${exampleAccount.primaryBlobEndpoint}${exampleContainer.name}/\n      storageAccountAccessKey: ${exampleAccount.primaryAccessKey}\n      recurringScans:\n        enabled: true\n        emails:\n          - email@example1.com\n          - email@example2.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nSynapse SQL Pool Vulnerability Assessment can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:synapse/sqlPoolVulnerabilityAssessment:SqlPoolVulnerabilityAssessment example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Synapse/workspaces/workspace1/sqlPools/sqlPool1/vulnerabilityAssessments/default\n```\n\n","properties":{"recurringScans":{"$ref":"#/types/azure:synapse/SqlPoolVulnerabilityAssessmentRecurringScans:SqlPoolVulnerabilityAssessmentRecurringScans","description":"The recurring scans settings. The \u003cspan pulumi-lang-nodejs=\"`recurringScans`\" pulumi-lang-dotnet=\"`RecurringScans`\" pulumi-lang-go=\"`recurringScans`\" pulumi-lang-python=\"`recurring_scans`\" pulumi-lang-yaml=\"`recurringScans`\" pulumi-lang-java=\"`recurringScans`\"\u003e`recurring_scans`\u003c/span\u003e block supports fields documented below.\n"},"sqlPoolSecurityAlertPolicyId":{"type":"string","description":"The ID of the security alert policy of the Synapse SQL Pool. Changing this forces a new resource to be created.\n"},"storageAccountAccessKey":{"type":"string","description":"Specifies the identifier key of the storage account for vulnerability assessment scan results. If \u003cspan pulumi-lang-nodejs=\"`storageContainerSasKey`\" pulumi-lang-dotnet=\"`StorageContainerSasKey`\" pulumi-lang-go=\"`storageContainerSasKey`\" pulumi-lang-python=\"`storage_container_sas_key`\" pulumi-lang-yaml=\"`storageContainerSasKey`\" pulumi-lang-java=\"`storageContainerSasKey`\"\u003e`storage_container_sas_key`\u003c/span\u003e isn't specified, \u003cspan pulumi-lang-nodejs=\"`storageAccountAccessKey`\" pulumi-lang-dotnet=\"`StorageAccountAccessKey`\" pulumi-lang-go=\"`storageAccountAccessKey`\" pulumi-lang-python=\"`storage_account_access_key`\" pulumi-lang-yaml=\"`storageAccountAccessKey`\" pulumi-lang-java=\"`storageAccountAccessKey`\"\u003e`storage_account_access_key`\u003c/span\u003e is required.\n","secret":true},"storageContainerPath":{"type":"string","description":"A blob storage container path to hold the scan results (e.g. \u003chttps://example.blob.core.windows.net/VaScans/\u003e).\n"},"storageContainerSasKey":{"type":"string","description":"A shared access signature (SAS Key) that has write access to the blob container specified in \u003cspan pulumi-lang-nodejs=\"`storageContainerPath`\" pulumi-lang-dotnet=\"`StorageContainerPath`\" pulumi-lang-go=\"`storageContainerPath`\" pulumi-lang-python=\"`storage_container_path`\" pulumi-lang-yaml=\"`storageContainerPath`\" pulumi-lang-java=\"`storageContainerPath`\"\u003e`storage_container_path`\u003c/span\u003e parameter. If \u003cspan pulumi-lang-nodejs=\"`storageAccountAccessKey`\" pulumi-lang-dotnet=\"`StorageAccountAccessKey`\" pulumi-lang-go=\"`storageAccountAccessKey`\" pulumi-lang-python=\"`storage_account_access_key`\" pulumi-lang-yaml=\"`storageAccountAccessKey`\" pulumi-lang-java=\"`storageAccountAccessKey`\"\u003e`storage_account_access_key`\u003c/span\u003e isn't specified, \u003cspan pulumi-lang-nodejs=\"`storageContainerSasKey`\" pulumi-lang-dotnet=\"`StorageContainerSasKey`\" pulumi-lang-go=\"`storageContainerSasKey`\" pulumi-lang-python=\"`storage_container_sas_key`\" pulumi-lang-yaml=\"`storageContainerSasKey`\" pulumi-lang-java=\"`storageContainerSasKey`\"\u003e`storage_container_sas_key`\u003c/span\u003e is required.\n","secret":true}},"required":["recurringScans","sqlPoolSecurityAlertPolicyId","storageContainerPath"],"inputProperties":{"recurringScans":{"$ref":"#/types/azure:synapse/SqlPoolVulnerabilityAssessmentRecurringScans:SqlPoolVulnerabilityAssessmentRecurringScans","description":"The recurring scans settings. The \u003cspan pulumi-lang-nodejs=\"`recurringScans`\" pulumi-lang-dotnet=\"`RecurringScans`\" pulumi-lang-go=\"`recurringScans`\" pulumi-lang-python=\"`recurring_scans`\" pulumi-lang-yaml=\"`recurringScans`\" pulumi-lang-java=\"`recurringScans`\"\u003e`recurring_scans`\u003c/span\u003e block supports fields documented below.\n"},"sqlPoolSecurityAlertPolicyId":{"type":"string","description":"The ID of the security alert policy of the Synapse SQL Pool. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"storageAccountAccessKey":{"type":"string","description":"Specifies the identifier key of the storage account for vulnerability assessment scan results. If \u003cspan pulumi-lang-nodejs=\"`storageContainerSasKey`\" pulumi-lang-dotnet=\"`StorageContainerSasKey`\" pulumi-lang-go=\"`storageContainerSasKey`\" pulumi-lang-python=\"`storage_container_sas_key`\" pulumi-lang-yaml=\"`storageContainerSasKey`\" pulumi-lang-java=\"`storageContainerSasKey`\"\u003e`storage_container_sas_key`\u003c/span\u003e isn't specified, \u003cspan pulumi-lang-nodejs=\"`storageAccountAccessKey`\" pulumi-lang-dotnet=\"`StorageAccountAccessKey`\" pulumi-lang-go=\"`storageAccountAccessKey`\" pulumi-lang-python=\"`storage_account_access_key`\" pulumi-lang-yaml=\"`storageAccountAccessKey`\" pulumi-lang-java=\"`storageAccountAccessKey`\"\u003e`storage_account_access_key`\u003c/span\u003e is required.\n","secret":true},"storageContainerPath":{"type":"string","description":"A blob storage container path to hold the scan results (e.g. \u003chttps://example.blob.core.windows.net/VaScans/\u003e).\n"},"storageContainerSasKey":{"type":"string","description":"A shared access signature (SAS Key) that has write access to the blob container specified in \u003cspan pulumi-lang-nodejs=\"`storageContainerPath`\" pulumi-lang-dotnet=\"`StorageContainerPath`\" pulumi-lang-go=\"`storageContainerPath`\" pulumi-lang-python=\"`storage_container_path`\" pulumi-lang-yaml=\"`storageContainerPath`\" pulumi-lang-java=\"`storageContainerPath`\"\u003e`storage_container_path`\u003c/span\u003e parameter. If \u003cspan pulumi-lang-nodejs=\"`storageAccountAccessKey`\" pulumi-lang-dotnet=\"`StorageAccountAccessKey`\" pulumi-lang-go=\"`storageAccountAccessKey`\" pulumi-lang-python=\"`storage_account_access_key`\" pulumi-lang-yaml=\"`storageAccountAccessKey`\" pulumi-lang-java=\"`storageAccountAccessKey`\"\u003e`storage_account_access_key`\u003c/span\u003e isn't specified, \u003cspan pulumi-lang-nodejs=\"`storageContainerSasKey`\" pulumi-lang-dotnet=\"`StorageContainerSasKey`\" pulumi-lang-go=\"`storageContainerSasKey`\" pulumi-lang-python=\"`storage_container_sas_key`\" pulumi-lang-yaml=\"`storageContainerSasKey`\" pulumi-lang-java=\"`storageContainerSasKey`\"\u003e`storage_container_sas_key`\u003c/span\u003e is required.\n","secret":true}},"requiredInputs":["sqlPoolSecurityAlertPolicyId","storageContainerPath"],"stateInputs":{"description":"Input properties used for looking up and filtering SqlPoolVulnerabilityAssessment resources.\n","properties":{"recurringScans":{"$ref":"#/types/azure:synapse/SqlPoolVulnerabilityAssessmentRecurringScans:SqlPoolVulnerabilityAssessmentRecurringScans","description":"The recurring scans settings. The \u003cspan pulumi-lang-nodejs=\"`recurringScans`\" pulumi-lang-dotnet=\"`RecurringScans`\" pulumi-lang-go=\"`recurringScans`\" pulumi-lang-python=\"`recurring_scans`\" pulumi-lang-yaml=\"`recurringScans`\" pulumi-lang-java=\"`recurringScans`\"\u003e`recurring_scans`\u003c/span\u003e block supports fields documented below.\n"},"sqlPoolSecurityAlertPolicyId":{"type":"string","description":"The ID of the security alert policy of the Synapse SQL Pool. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"storageAccountAccessKey":{"type":"string","description":"Specifies the identifier key of the storage account for vulnerability assessment scan results. If \u003cspan pulumi-lang-nodejs=\"`storageContainerSasKey`\" pulumi-lang-dotnet=\"`StorageContainerSasKey`\" pulumi-lang-go=\"`storageContainerSasKey`\" pulumi-lang-python=\"`storage_container_sas_key`\" pulumi-lang-yaml=\"`storageContainerSasKey`\" pulumi-lang-java=\"`storageContainerSasKey`\"\u003e`storage_container_sas_key`\u003c/span\u003e isn't specified, \u003cspan pulumi-lang-nodejs=\"`storageAccountAccessKey`\" pulumi-lang-dotnet=\"`StorageAccountAccessKey`\" pulumi-lang-go=\"`storageAccountAccessKey`\" pulumi-lang-python=\"`storage_account_access_key`\" pulumi-lang-yaml=\"`storageAccountAccessKey`\" pulumi-lang-java=\"`storageAccountAccessKey`\"\u003e`storage_account_access_key`\u003c/span\u003e is required.\n","secret":true},"storageContainerPath":{"type":"string","description":"A blob storage container path to hold the scan results (e.g. \u003chttps://example.blob.core.windows.net/VaScans/\u003e).\n"},"storageContainerSasKey":{"type":"string","description":"A shared access signature (SAS Key) that has write access to the blob container specified in \u003cspan pulumi-lang-nodejs=\"`storageContainerPath`\" pulumi-lang-dotnet=\"`StorageContainerPath`\" pulumi-lang-go=\"`storageContainerPath`\" pulumi-lang-python=\"`storage_container_path`\" pulumi-lang-yaml=\"`storageContainerPath`\" pulumi-lang-java=\"`storageContainerPath`\"\u003e`storage_container_path`\u003c/span\u003e parameter. If \u003cspan pulumi-lang-nodejs=\"`storageAccountAccessKey`\" pulumi-lang-dotnet=\"`StorageAccountAccessKey`\" pulumi-lang-go=\"`storageAccountAccessKey`\" pulumi-lang-python=\"`storage_account_access_key`\" pulumi-lang-yaml=\"`storageAccountAccessKey`\" pulumi-lang-java=\"`storageAccountAccessKey`\"\u003e`storage_account_access_key`\u003c/span\u003e isn't specified, \u003cspan pulumi-lang-nodejs=\"`storageContainerSasKey`\" pulumi-lang-dotnet=\"`StorageContainerSasKey`\" pulumi-lang-go=\"`storageContainerSasKey`\" pulumi-lang-python=\"`storage_container_sas_key`\" pulumi-lang-yaml=\"`storageContainerSasKey`\" pulumi-lang-java=\"`storageContainerSasKey`\"\u003e`storage_container_sas_key`\u003c/span\u003e is required.\n","secret":true}},"type":"object"}},"azure:synapse/sqlPoolVulnerabilityAssessmentBaseline:SqlPoolVulnerabilityAssessmentBaseline":{"description":"Manages a Synapse SQL Pool Vulnerability Assessment Rule Baseline.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example\",\n    location: \"west europe\",\n});\nconst exampleAccount = new azure.storage.Account(\"example\", {\n    name: \"example\",\n    resourceGroupName: example.name,\n    location: example.location,\n    accountKind: \"BlobStorage\",\n    accountTier: \"Standard\",\n    accountReplicationType: \"LRS\",\n});\nconst exampleDataLakeGen2Filesystem = new azure.storage.DataLakeGen2Filesystem(\"example\", {\n    name: \"example\",\n    storageAccountId: exampleAccount.id,\n});\nconst exampleWorkspace = new azure.synapse.Workspace(\"example\", {\n    name: \"example\",\n    resourceGroupName: example.name,\n    location: example.location,\n    storageDataLakeGen2FilesystemId: exampleDataLakeGen2Filesystem.id,\n    sqlAdministratorLogin: \"sqladminuser\",\n    sqlAdministratorLoginPassword: \"H@Sh1CoR3!\",\n    identity: {\n        type: \"SystemAssigned\",\n    },\n});\nconst exampleSqlPool = new azure.synapse.SqlPool(\"example\", {\n    name: \"example\",\n    synapseWorkspaceId: exampleWorkspace.id,\n    skuName: \"DW100c\",\n    createMode: \"Default\",\n});\nconst exampleContainer = new azure.storage.Container(\"example\", {\n    name: \"example\",\n    storageAccountName: exampleAccount.name,\n    containerAccessType: \"private\",\n});\nconst exampleSqlPoolSecurityAlertPolicy = new azure.synapse.SqlPoolSecurityAlertPolicy(\"example\", {\n    sqlPoolId: exampleSqlPool.id,\n    policyState: \"Enabled\",\n    storageEndpoint: exampleAccount.primaryBlobEndpoint,\n    storageAccountAccessKey: exampleAccount.primaryAccessKey,\n});\nconst exampleSqlPoolVulnerabilityAssessment = new azure.synapse.SqlPoolVulnerabilityAssessment(\"example\", {\n    sqlPoolSecurityAlertPolicyId: exampleSqlPoolSecurityAlertPolicy.id,\n    storageContainerPath: pulumi.interpolate`${exampleAccount.primaryBlobEndpoint}${exampleContainer.name}/`,\n    storageAccountAccessKey: exampleAccount.primaryAccessKey,\n});\nconst exampleSqlPoolVulnerabilityAssessmentBaseline = new azure.synapse.SqlPoolVulnerabilityAssessmentBaseline(\"example\", {\n    name: \"default\",\n    ruleName: \"VA1017\",\n    sqlPoolVulnerabilityAssessmentId: exampleSqlPoolVulnerabilityAssessment.id,\n    baselines: [\n        {\n            results: [\n                \"userA\",\n                \"SELECT\",\n            ],\n        },\n        {\n            results: [\n                \"userB\",\n                \"SELECT\",\n            ],\n        },\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example\",\n    location=\"west europe\")\nexample_account = azure.storage.Account(\"example\",\n    name=\"example\",\n    resource_group_name=example.name,\n    location=example.location,\n    account_kind=\"BlobStorage\",\n    account_tier=\"Standard\",\n    account_replication_type=\"LRS\")\nexample_data_lake_gen2_filesystem = azure.storage.DataLakeGen2Filesystem(\"example\",\n    name=\"example\",\n    storage_account_id=example_account.id)\nexample_workspace = azure.synapse.Workspace(\"example\",\n    name=\"example\",\n    resource_group_name=example.name,\n    location=example.location,\n    storage_data_lake_gen2_filesystem_id=example_data_lake_gen2_filesystem.id,\n    sql_administrator_login=\"sqladminuser\",\n    sql_administrator_login_password=\"H@Sh1CoR3!\",\n    identity={\n        \"type\": \"SystemAssigned\",\n    })\nexample_sql_pool = azure.synapse.SqlPool(\"example\",\n    name=\"example\",\n    synapse_workspace_id=example_workspace.id,\n    sku_name=\"DW100c\",\n    create_mode=\"Default\")\nexample_container = azure.storage.Container(\"example\",\n    name=\"example\",\n    storage_account_name=example_account.name,\n    container_access_type=\"private\")\nexample_sql_pool_security_alert_policy = azure.synapse.SqlPoolSecurityAlertPolicy(\"example\",\n    sql_pool_id=example_sql_pool.id,\n    policy_state=\"Enabled\",\n    storage_endpoint=example_account.primary_blob_endpoint,\n    storage_account_access_key=example_account.primary_access_key)\nexample_sql_pool_vulnerability_assessment = azure.synapse.SqlPoolVulnerabilityAssessment(\"example\",\n    sql_pool_security_alert_policy_id=example_sql_pool_security_alert_policy.id,\n    storage_container_path=pulumi.Output.all(\n        primary_blob_endpoint=example_account.primary_blob_endpoint,\n        name=example_container.name\n).apply(lambda resolved_outputs: f\"{resolved_outputs['primary_blob_endpoint']}{resolved_outputs['name']}/\")\n,\n    storage_account_access_key=example_account.primary_access_key)\nexample_sql_pool_vulnerability_assessment_baseline = azure.synapse.SqlPoolVulnerabilityAssessmentBaseline(\"example\",\n    name=\"default\",\n    rule_name=\"VA1017\",\n    sql_pool_vulnerability_assessment_id=example_sql_pool_vulnerability_assessment.id,\n    baselines=[\n        {\n            \"results\": [\n                \"userA\",\n                \"SELECT\",\n            ],\n        },\n        {\n            \"results\": [\n                \"userB\",\n                \"SELECT\",\n            ],\n        },\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example\",\n        Location = \"west europe\",\n    });\n\n    var exampleAccount = new Azure.Storage.Account(\"example\", new()\n    {\n        Name = \"example\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        AccountKind = \"BlobStorage\",\n        AccountTier = \"Standard\",\n        AccountReplicationType = \"LRS\",\n    });\n\n    var exampleDataLakeGen2Filesystem = new Azure.Storage.DataLakeGen2Filesystem(\"example\", new()\n    {\n        Name = \"example\",\n        StorageAccountId = exampleAccount.Id,\n    });\n\n    var exampleWorkspace = new Azure.Synapse.Workspace(\"example\", new()\n    {\n        Name = \"example\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        StorageDataLakeGen2FilesystemId = exampleDataLakeGen2Filesystem.Id,\n        SqlAdministratorLogin = \"sqladminuser\",\n        SqlAdministratorLoginPassword = \"H@Sh1CoR3!\",\n        Identity = new Azure.Synapse.Inputs.WorkspaceIdentityArgs\n        {\n            Type = \"SystemAssigned\",\n        },\n    });\n\n    var exampleSqlPool = new Azure.Synapse.SqlPool(\"example\", new()\n    {\n        Name = \"example\",\n        SynapseWorkspaceId = exampleWorkspace.Id,\n        SkuName = \"DW100c\",\n        CreateMode = \"Default\",\n    });\n\n    var exampleContainer = new Azure.Storage.Container(\"example\", new()\n    {\n        Name = \"example\",\n        StorageAccountName = exampleAccount.Name,\n        ContainerAccessType = \"private\",\n    });\n\n    var exampleSqlPoolSecurityAlertPolicy = new Azure.Synapse.SqlPoolSecurityAlertPolicy(\"example\", new()\n    {\n        SqlPoolId = exampleSqlPool.Id,\n        PolicyState = \"Enabled\",\n        StorageEndpoint = exampleAccount.PrimaryBlobEndpoint,\n        StorageAccountAccessKey = exampleAccount.PrimaryAccessKey,\n    });\n\n    var exampleSqlPoolVulnerabilityAssessment = new Azure.Synapse.SqlPoolVulnerabilityAssessment(\"example\", new()\n    {\n        SqlPoolSecurityAlertPolicyId = exampleSqlPoolSecurityAlertPolicy.Id,\n        StorageContainerPath = Output.Tuple(exampleAccount.PrimaryBlobEndpoint, exampleContainer.Name).Apply(values =\u003e\n        {\n            var primaryBlobEndpoint = values.Item1;\n            var name = values.Item2;\n            return $\"{primaryBlobEndpoint}{name}/\";\n        }),\n        StorageAccountAccessKey = exampleAccount.PrimaryAccessKey,\n    });\n\n    var exampleSqlPoolVulnerabilityAssessmentBaseline = new Azure.Synapse.SqlPoolVulnerabilityAssessmentBaseline(\"example\", new()\n    {\n        Name = \"default\",\n        RuleName = \"VA1017\",\n        SqlPoolVulnerabilityAssessmentId = exampleSqlPoolVulnerabilityAssessment.Id,\n        Baselines = new[]\n        {\n            new Azure.Synapse.Inputs.SqlPoolVulnerabilityAssessmentBaselineBaselineArgs\n            {\n                Results = new[]\n                {\n                    \"userA\",\n                    \"SELECT\",\n                },\n            },\n            new Azure.Synapse.Inputs.SqlPoolVulnerabilityAssessmentBaselineBaselineArgs\n            {\n                Results = new[]\n                {\n                    \"userB\",\n                    \"SELECT\",\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/synapse\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example\"),\n\t\t\tLocation: pulumi.String(\"west europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := storage.NewAccount(ctx, \"example\", \u0026storage.AccountArgs{\n\t\t\tName:                   pulumi.String(\"example\"),\n\t\t\tResourceGroupName:      example.Name,\n\t\t\tLocation:               example.Location,\n\t\t\tAccountKind:            pulumi.String(\"BlobStorage\"),\n\t\t\tAccountTier:            pulumi.String(\"Standard\"),\n\t\t\tAccountReplicationType: pulumi.String(\"LRS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleDataLakeGen2Filesystem, err := storage.NewDataLakeGen2Filesystem(ctx, \"example\", \u0026storage.DataLakeGen2FilesystemArgs{\n\t\t\tName:             pulumi.String(\"example\"),\n\t\t\tStorageAccountId: exampleAccount.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleWorkspace, err := synapse.NewWorkspace(ctx, \"example\", \u0026synapse.WorkspaceArgs{\n\t\t\tName:                            pulumi.String(\"example\"),\n\t\t\tResourceGroupName:               example.Name,\n\t\t\tLocation:                        example.Location,\n\t\t\tStorageDataLakeGen2FilesystemId: exampleDataLakeGen2Filesystem.ID(),\n\t\t\tSqlAdministratorLogin:           pulumi.String(\"sqladminuser\"),\n\t\t\tSqlAdministratorLoginPassword:   pulumi.String(\"H@Sh1CoR3!\"),\n\t\t\tIdentity: \u0026synapse.WorkspaceIdentityArgs{\n\t\t\t\tType: pulumi.String(\"SystemAssigned\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSqlPool, err := synapse.NewSqlPool(ctx, \"example\", \u0026synapse.SqlPoolArgs{\n\t\t\tName:               pulumi.String(\"example\"),\n\t\t\tSynapseWorkspaceId: exampleWorkspace.ID(),\n\t\t\tSkuName:            pulumi.String(\"DW100c\"),\n\t\t\tCreateMode:         pulumi.String(\"Default\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleContainer, err := storage.NewContainer(ctx, \"example\", \u0026storage.ContainerArgs{\n\t\t\tName:                pulumi.String(\"example\"),\n\t\t\tStorageAccountName:  exampleAccount.Name,\n\t\t\tContainerAccessType: pulumi.String(\"private\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSqlPoolSecurityAlertPolicy, err := synapse.NewSqlPoolSecurityAlertPolicy(ctx, \"example\", \u0026synapse.SqlPoolSecurityAlertPolicyArgs{\n\t\t\tSqlPoolId:               exampleSqlPool.ID(),\n\t\t\tPolicyState:             pulumi.String(\"Enabled\"),\n\t\t\tStorageEndpoint:         exampleAccount.PrimaryBlobEndpoint,\n\t\t\tStorageAccountAccessKey: exampleAccount.PrimaryAccessKey,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSqlPoolVulnerabilityAssessment, err := synapse.NewSqlPoolVulnerabilityAssessment(ctx, \"example\", \u0026synapse.SqlPoolVulnerabilityAssessmentArgs{\n\t\t\tSqlPoolSecurityAlertPolicyId: exampleSqlPoolSecurityAlertPolicy.ID(),\n\t\t\tStorageContainerPath: pulumi.All(exampleAccount.PrimaryBlobEndpoint, exampleContainer.Name).ApplyT(func(_args []interface{}) (string, error) {\n\t\t\t\tprimaryBlobEndpoint := _args[0].(string)\n\t\t\t\tname := _args[1].(string)\n\t\t\t\treturn fmt.Sprintf(\"%v%v/\", primaryBlobEndpoint, name), nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t\tStorageAccountAccessKey: exampleAccount.PrimaryAccessKey,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = synapse.NewSqlPoolVulnerabilityAssessmentBaseline(ctx, \"example\", \u0026synapse.SqlPoolVulnerabilityAssessmentBaselineArgs{\n\t\t\tName:                             pulumi.String(\"default\"),\n\t\t\tRuleName:                         pulumi.String(\"VA1017\"),\n\t\t\tSqlPoolVulnerabilityAssessmentId: exampleSqlPoolVulnerabilityAssessment.ID(),\n\t\t\tBaselines: synapse.SqlPoolVulnerabilityAssessmentBaselineBaselineArray{\n\t\t\t\t\u0026synapse.SqlPoolVulnerabilityAssessmentBaselineBaselineArgs{\n\t\t\t\t\tResults: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"userA\"),\n\t\t\t\t\t\tpulumi.String(\"SELECT\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026synapse.SqlPoolVulnerabilityAssessmentBaselineBaselineArgs{\n\t\t\t\t\tResults: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"userB\"),\n\t\t\t\t\t\tpulumi.String(\"SELECT\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.storage.Account;\nimport com.pulumi.azure.storage.AccountArgs;\nimport com.pulumi.azure.storage.DataLakeGen2Filesystem;\nimport com.pulumi.azure.storage.DataLakeGen2FilesystemArgs;\nimport com.pulumi.azure.synapse.Workspace;\nimport com.pulumi.azure.synapse.WorkspaceArgs;\nimport com.pulumi.azure.synapse.inputs.WorkspaceIdentityArgs;\nimport com.pulumi.azure.synapse.SqlPool;\nimport com.pulumi.azure.synapse.SqlPoolArgs;\nimport com.pulumi.azure.storage.Container;\nimport com.pulumi.azure.storage.ContainerArgs;\nimport com.pulumi.azure.synapse.SqlPoolSecurityAlertPolicy;\nimport com.pulumi.azure.synapse.SqlPoolSecurityAlertPolicyArgs;\nimport com.pulumi.azure.synapse.SqlPoolVulnerabilityAssessment;\nimport com.pulumi.azure.synapse.SqlPoolVulnerabilityAssessmentArgs;\nimport com.pulumi.azure.synapse.SqlPoolVulnerabilityAssessmentBaseline;\nimport com.pulumi.azure.synapse.SqlPoolVulnerabilityAssessmentBaselineArgs;\nimport com.pulumi.azure.synapse.inputs.SqlPoolVulnerabilityAssessmentBaselineBaselineArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example\")\n            .location(\"west europe\")\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"example\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .accountKind(\"BlobStorage\")\n            .accountTier(\"Standard\")\n            .accountReplicationType(\"LRS\")\n            .build());\n\n        var exampleDataLakeGen2Filesystem = new DataLakeGen2Filesystem(\"exampleDataLakeGen2Filesystem\", DataLakeGen2FilesystemArgs.builder()\n            .name(\"example\")\n            .storageAccountId(exampleAccount.id())\n            .build());\n\n        var exampleWorkspace = new Workspace(\"exampleWorkspace\", WorkspaceArgs.builder()\n            .name(\"example\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .storageDataLakeGen2FilesystemId(exampleDataLakeGen2Filesystem.id())\n            .sqlAdministratorLogin(\"sqladminuser\")\n            .sqlAdministratorLoginPassword(\"H@Sh1CoR3!\")\n            .identity(WorkspaceIdentityArgs.builder()\n                .type(\"SystemAssigned\")\n                .build())\n            .build());\n\n        var exampleSqlPool = new SqlPool(\"exampleSqlPool\", SqlPoolArgs.builder()\n            .name(\"example\")\n            .synapseWorkspaceId(exampleWorkspace.id())\n            .skuName(\"DW100c\")\n            .createMode(\"Default\")\n            .build());\n\n        var exampleContainer = new Container(\"exampleContainer\", ContainerArgs.builder()\n            .name(\"example\")\n            .storageAccountName(exampleAccount.name())\n            .containerAccessType(\"private\")\n            .build());\n\n        var exampleSqlPoolSecurityAlertPolicy = new SqlPoolSecurityAlertPolicy(\"exampleSqlPoolSecurityAlertPolicy\", SqlPoolSecurityAlertPolicyArgs.builder()\n            .sqlPoolId(exampleSqlPool.id())\n            .policyState(\"Enabled\")\n            .storageEndpoint(exampleAccount.primaryBlobEndpoint())\n            .storageAccountAccessKey(exampleAccount.primaryAccessKey())\n            .build());\n\n        var exampleSqlPoolVulnerabilityAssessment = new SqlPoolVulnerabilityAssessment(\"exampleSqlPoolVulnerabilityAssessment\", SqlPoolVulnerabilityAssessmentArgs.builder()\n            .sqlPoolSecurityAlertPolicyId(exampleSqlPoolSecurityAlertPolicy.id())\n            .storageContainerPath(Output.tuple(exampleAccount.primaryBlobEndpoint(), exampleContainer.name()).applyValue(values -\u003e {\n                var primaryBlobEndpoint = values.t1;\n                var name = values.t2;\n                return String.format(\"%s%s/\", primaryBlobEndpoint,name);\n            }))\n            .storageAccountAccessKey(exampleAccount.primaryAccessKey())\n            .build());\n\n        var exampleSqlPoolVulnerabilityAssessmentBaseline = new SqlPoolVulnerabilityAssessmentBaseline(\"exampleSqlPoolVulnerabilityAssessmentBaseline\", SqlPoolVulnerabilityAssessmentBaselineArgs.builder()\n            .name(\"default\")\n            .ruleName(\"VA1017\")\n            .sqlPoolVulnerabilityAssessmentId(exampleSqlPoolVulnerabilityAssessment.id())\n            .baselines(            \n                SqlPoolVulnerabilityAssessmentBaselineBaselineArgs.builder()\n                    .results(                    \n                        \"userA\",\n                        \"SELECT\")\n                    .build(),\n                SqlPoolVulnerabilityAssessmentBaselineBaselineArgs.builder()\n                    .results(                    \n                        \"userB\",\n                        \"SELECT\")\n                    .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example\n      location: west europe\n  exampleAccount:\n    type: azure:storage:Account\n    name: example\n    properties:\n      name: example\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      accountKind: BlobStorage\n      accountTier: Standard\n      accountReplicationType: LRS\n  exampleDataLakeGen2Filesystem:\n    type: azure:storage:DataLakeGen2Filesystem\n    name: example\n    properties:\n      name: example\n      storageAccountId: ${exampleAccount.id}\n  exampleWorkspace:\n    type: azure:synapse:Workspace\n    name: example\n    properties:\n      name: example\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      storageDataLakeGen2FilesystemId: ${exampleDataLakeGen2Filesystem.id}\n      sqlAdministratorLogin: sqladminuser\n      sqlAdministratorLoginPassword: H@Sh1CoR3!\n      identity:\n        type: SystemAssigned\n  exampleSqlPool:\n    type: azure:synapse:SqlPool\n    name: example\n    properties:\n      name: example\n      synapseWorkspaceId: ${exampleWorkspace.id}\n      skuName: DW100c\n      createMode: Default\n  exampleContainer:\n    type: azure:storage:Container\n    name: example\n    properties:\n      name: example\n      storageAccountName: ${exampleAccount.name}\n      containerAccessType: private\n  exampleSqlPoolSecurityAlertPolicy:\n    type: azure:synapse:SqlPoolSecurityAlertPolicy\n    name: example\n    properties:\n      sqlPoolId: ${exampleSqlPool.id}\n      policyState: Enabled\n      storageEndpoint: ${exampleAccount.primaryBlobEndpoint}\n      storageAccountAccessKey: ${exampleAccount.primaryAccessKey}\n  exampleSqlPoolVulnerabilityAssessment:\n    type: azure:synapse:SqlPoolVulnerabilityAssessment\n    name: example\n    properties:\n      sqlPoolSecurityAlertPolicyId: ${exampleSqlPoolSecurityAlertPolicy.id}\n      storageContainerPath: ${exampleAccount.primaryBlobEndpoint}${exampleContainer.name}/\n      storageAccountAccessKey: ${exampleAccount.primaryAccessKey}\n  exampleSqlPoolVulnerabilityAssessmentBaseline:\n    type: azure:synapse:SqlPoolVulnerabilityAssessmentBaseline\n    name: example\n    properties:\n      name: default\n      ruleName: VA1017\n      sqlPoolVulnerabilityAssessmentId: ${exampleSqlPoolVulnerabilityAssessment.id}\n      baselines:\n        - results:\n            - userA\n            - SELECT\n        - results:\n            - userB\n            - SELECT\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nSynapse SQL Pool Vulnerability Assessment Rule Baselines can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:synapse/sqlPoolVulnerabilityAssessmentBaseline:SqlPoolVulnerabilityAssessmentBaseline example /subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/resGroup1/providers/Microsoft.Synapse/workspaces/workspace1/sqlPools/sqlPool1/vulnerabilityAssessments/default/rules/rule1/baselines/baseline1\n```\n\n","properties":{"baselines":{"type":"array","items":{"$ref":"#/types/azure:synapse/SqlPoolVulnerabilityAssessmentBaselineBaseline:SqlPoolVulnerabilityAssessmentBaselineBaseline"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`baseline`\" pulumi-lang-dotnet=\"`Baseline`\" pulumi-lang-go=\"`baseline`\" pulumi-lang-python=\"`baseline`\" pulumi-lang-yaml=\"`baseline`\" pulumi-lang-java=\"`baseline`\"\u003e`baseline`\u003c/span\u003e blocks as defined below.\n"},"name":{"type":"string","description":"The name which should be used for this Synapse SQL Pool Vulnerability Assessment Rule Baseline.\n"},"ruleName":{"type":"string","description":"The ID of the vulnerability assessment rule.\n"},"sqlPoolVulnerabilityAssessmentId":{"type":"string","description":"The ID of the Synapse SQL Pool Vulnerability Assessment. Changing this forces a new Synapse SQL Pool Vulnerability Assessment Rule Baseline to be created.\n"}},"required":["name","ruleName","sqlPoolVulnerabilityAssessmentId"],"inputProperties":{"baselines":{"type":"array","items":{"$ref":"#/types/azure:synapse/SqlPoolVulnerabilityAssessmentBaselineBaseline:SqlPoolVulnerabilityAssessmentBaselineBaseline"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`baseline`\" pulumi-lang-dotnet=\"`Baseline`\" pulumi-lang-go=\"`baseline`\" pulumi-lang-python=\"`baseline`\" pulumi-lang-yaml=\"`baseline`\" pulumi-lang-java=\"`baseline`\"\u003e`baseline`\u003c/span\u003e blocks as defined below.\n"},"name":{"type":"string","description":"The name which should be used for this Synapse SQL Pool Vulnerability Assessment Rule Baseline.\n"},"ruleName":{"type":"string","description":"The ID of the vulnerability assessment rule.\n"},"sqlPoolVulnerabilityAssessmentId":{"type":"string","description":"The ID of the Synapse SQL Pool Vulnerability Assessment. Changing this forces a new Synapse SQL Pool Vulnerability Assessment Rule Baseline to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["ruleName","sqlPoolVulnerabilityAssessmentId"],"stateInputs":{"description":"Input properties used for looking up and filtering SqlPoolVulnerabilityAssessmentBaseline resources.\n","properties":{"baselines":{"type":"array","items":{"$ref":"#/types/azure:synapse/SqlPoolVulnerabilityAssessmentBaselineBaseline:SqlPoolVulnerabilityAssessmentBaselineBaseline"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`baseline`\" pulumi-lang-dotnet=\"`Baseline`\" pulumi-lang-go=\"`baseline`\" pulumi-lang-python=\"`baseline`\" pulumi-lang-yaml=\"`baseline`\" pulumi-lang-java=\"`baseline`\"\u003e`baseline`\u003c/span\u003e blocks as defined below.\n"},"name":{"type":"string","description":"The name which should be used for this Synapse SQL Pool Vulnerability Assessment Rule Baseline.\n"},"ruleName":{"type":"string","description":"The ID of the vulnerability assessment rule.\n"},"sqlPoolVulnerabilityAssessmentId":{"type":"string","description":"The ID of the Synapse SQL Pool Vulnerability Assessment. Changing this forces a new Synapse SQL Pool Vulnerability Assessment Rule Baseline to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:synapse/sqlPoolWorkloadClassifier:SqlPoolWorkloadClassifier":{"description":"Manages a Synapse SQL Pool Workload Classifier.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleAccount = new azure.storage.Account(\"example\", {\n    name: \"example\",\n    resourceGroupName: example.name,\n    location: example.location,\n    accountKind: \"BlobStorage\",\n    accountTier: \"Standard\",\n    accountReplicationType: \"LRS\",\n});\nconst exampleDataLakeGen2Filesystem = new azure.storage.DataLakeGen2Filesystem(\"example\", {\n    name: \"example\",\n    storageAccountId: exampleAccount.id,\n});\nconst exampleWorkspace = new azure.synapse.Workspace(\"example\", {\n    name: \"example\",\n    resourceGroupName: example.name,\n    location: example.location,\n    storageDataLakeGen2FilesystemId: exampleDataLakeGen2Filesystem.id,\n    sqlAdministratorLogin: \"sqladminuser\",\n    sqlAdministratorLoginPassword: \"H@Sh1CoR3!\",\n    identity: {\n        type: \"SystemAssigned\",\n    },\n});\nconst exampleSqlPool = new azure.synapse.SqlPool(\"example\", {\n    name: \"example\",\n    synapseWorkspaceId: exampleWorkspace.id,\n    skuName: \"DW100c\",\n    createMode: \"Default\",\n});\nconst exampleSqlPoolWorkloadGroup = new azure.synapse.SqlPoolWorkloadGroup(\"example\", {\n    name: \"example\",\n    sqlPoolId: exampleSqlPool.id,\n    importance: \"normal\",\n    maxResourcePercent: 100,\n    minResourcePercent: 0,\n    maxResourcePercentPerRequest: 3,\n    minResourcePercentPerRequest: 3,\n    queryExecutionTimeoutInSeconds: 0,\n});\nconst exampleSqlPoolWorkloadClassifier = new azure.synapse.SqlPoolWorkloadClassifier(\"example\", {\n    name: \"example\",\n    workloadGroupId: exampleSqlPoolWorkloadGroup.id,\n    context: \"example_context\",\n    endTime: \"14:00\",\n    importance: \"high\",\n    label: \"example_label\",\n    memberName: \"dbo\",\n    startTime: \"12:00\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_account = azure.storage.Account(\"example\",\n    name=\"example\",\n    resource_group_name=example.name,\n    location=example.location,\n    account_kind=\"BlobStorage\",\n    account_tier=\"Standard\",\n    account_replication_type=\"LRS\")\nexample_data_lake_gen2_filesystem = azure.storage.DataLakeGen2Filesystem(\"example\",\n    name=\"example\",\n    storage_account_id=example_account.id)\nexample_workspace = azure.synapse.Workspace(\"example\",\n    name=\"example\",\n    resource_group_name=example.name,\n    location=example.location,\n    storage_data_lake_gen2_filesystem_id=example_data_lake_gen2_filesystem.id,\n    sql_administrator_login=\"sqladminuser\",\n    sql_administrator_login_password=\"H@Sh1CoR3!\",\n    identity={\n        \"type\": \"SystemAssigned\",\n    })\nexample_sql_pool = azure.synapse.SqlPool(\"example\",\n    name=\"example\",\n    synapse_workspace_id=example_workspace.id,\n    sku_name=\"DW100c\",\n    create_mode=\"Default\")\nexample_sql_pool_workload_group = azure.synapse.SqlPoolWorkloadGroup(\"example\",\n    name=\"example\",\n    sql_pool_id=example_sql_pool.id,\n    importance=\"normal\",\n    max_resource_percent=100,\n    min_resource_percent=0,\n    max_resource_percent_per_request=3,\n    min_resource_percent_per_request=3,\n    query_execution_timeout_in_seconds=0)\nexample_sql_pool_workload_classifier = azure.synapse.SqlPoolWorkloadClassifier(\"example\",\n    name=\"example\",\n    workload_group_id=example_sql_pool_workload_group.id,\n    context=\"example_context\",\n    end_time=\"14:00\",\n    importance=\"high\",\n    label=\"example_label\",\n    member_name=\"dbo\",\n    start_time=\"12:00\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleAccount = new Azure.Storage.Account(\"example\", new()\n    {\n        Name = \"example\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        AccountKind = \"BlobStorage\",\n        AccountTier = \"Standard\",\n        AccountReplicationType = \"LRS\",\n    });\n\n    var exampleDataLakeGen2Filesystem = new Azure.Storage.DataLakeGen2Filesystem(\"example\", new()\n    {\n        Name = \"example\",\n        StorageAccountId = exampleAccount.Id,\n    });\n\n    var exampleWorkspace = new Azure.Synapse.Workspace(\"example\", new()\n    {\n        Name = \"example\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        StorageDataLakeGen2FilesystemId = exampleDataLakeGen2Filesystem.Id,\n        SqlAdministratorLogin = \"sqladminuser\",\n        SqlAdministratorLoginPassword = \"H@Sh1CoR3!\",\n        Identity = new Azure.Synapse.Inputs.WorkspaceIdentityArgs\n        {\n            Type = \"SystemAssigned\",\n        },\n    });\n\n    var exampleSqlPool = new Azure.Synapse.SqlPool(\"example\", new()\n    {\n        Name = \"example\",\n        SynapseWorkspaceId = exampleWorkspace.Id,\n        SkuName = \"DW100c\",\n        CreateMode = \"Default\",\n    });\n\n    var exampleSqlPoolWorkloadGroup = new Azure.Synapse.SqlPoolWorkloadGroup(\"example\", new()\n    {\n        Name = \"example\",\n        SqlPoolId = exampleSqlPool.Id,\n        Importance = \"normal\",\n        MaxResourcePercent = 100,\n        MinResourcePercent = 0,\n        MaxResourcePercentPerRequest = 3,\n        MinResourcePercentPerRequest = 3,\n        QueryExecutionTimeoutInSeconds = 0,\n    });\n\n    var exampleSqlPoolWorkloadClassifier = new Azure.Synapse.SqlPoolWorkloadClassifier(\"example\", new()\n    {\n        Name = \"example\",\n        WorkloadGroupId = exampleSqlPoolWorkloadGroup.Id,\n        Context = \"example_context\",\n        EndTime = \"14:00\",\n        Importance = \"high\",\n        Label = \"example_label\",\n        MemberName = \"dbo\",\n        StartTime = \"12:00\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/synapse\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := storage.NewAccount(ctx, \"example\", \u0026storage.AccountArgs{\n\t\t\tName:                   pulumi.String(\"example\"),\n\t\t\tResourceGroupName:      example.Name,\n\t\t\tLocation:               example.Location,\n\t\t\tAccountKind:            pulumi.String(\"BlobStorage\"),\n\t\t\tAccountTier:            pulumi.String(\"Standard\"),\n\t\t\tAccountReplicationType: pulumi.String(\"LRS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleDataLakeGen2Filesystem, err := storage.NewDataLakeGen2Filesystem(ctx, \"example\", \u0026storage.DataLakeGen2FilesystemArgs{\n\t\t\tName:             pulumi.String(\"example\"),\n\t\t\tStorageAccountId: exampleAccount.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleWorkspace, err := synapse.NewWorkspace(ctx, \"example\", \u0026synapse.WorkspaceArgs{\n\t\t\tName:                            pulumi.String(\"example\"),\n\t\t\tResourceGroupName:               example.Name,\n\t\t\tLocation:                        example.Location,\n\t\t\tStorageDataLakeGen2FilesystemId: exampleDataLakeGen2Filesystem.ID(),\n\t\t\tSqlAdministratorLogin:           pulumi.String(\"sqladminuser\"),\n\t\t\tSqlAdministratorLoginPassword:   pulumi.String(\"H@Sh1CoR3!\"),\n\t\t\tIdentity: \u0026synapse.WorkspaceIdentityArgs{\n\t\t\t\tType: pulumi.String(\"SystemAssigned\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSqlPool, err := synapse.NewSqlPool(ctx, \"example\", \u0026synapse.SqlPoolArgs{\n\t\t\tName:               pulumi.String(\"example\"),\n\t\t\tSynapseWorkspaceId: exampleWorkspace.ID(),\n\t\t\tSkuName:            pulumi.String(\"DW100c\"),\n\t\t\tCreateMode:         pulumi.String(\"Default\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSqlPoolWorkloadGroup, err := synapse.NewSqlPoolWorkloadGroup(ctx, \"example\", \u0026synapse.SqlPoolWorkloadGroupArgs{\n\t\t\tName:                           pulumi.String(\"example\"),\n\t\t\tSqlPoolId:                      exampleSqlPool.ID(),\n\t\t\tImportance:                     pulumi.String(\"normal\"),\n\t\t\tMaxResourcePercent:             pulumi.Int(100),\n\t\t\tMinResourcePercent:             pulumi.Int(0),\n\t\t\tMaxResourcePercentPerRequest:   pulumi.Float64(3),\n\t\t\tMinResourcePercentPerRequest:   pulumi.Float64(3),\n\t\t\tQueryExecutionTimeoutInSeconds: pulumi.Int(0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = synapse.NewSqlPoolWorkloadClassifier(ctx, \"example\", \u0026synapse.SqlPoolWorkloadClassifierArgs{\n\t\t\tName:            pulumi.String(\"example\"),\n\t\t\tWorkloadGroupId: exampleSqlPoolWorkloadGroup.ID(),\n\t\t\tContext:         pulumi.String(\"example_context\"),\n\t\t\tEndTime:         pulumi.String(\"14:00\"),\n\t\t\tImportance:      pulumi.String(\"high\"),\n\t\t\tLabel:           pulumi.String(\"example_label\"),\n\t\t\tMemberName:      pulumi.String(\"dbo\"),\n\t\t\tStartTime:       pulumi.String(\"12:00\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.storage.Account;\nimport com.pulumi.azure.storage.AccountArgs;\nimport com.pulumi.azure.storage.DataLakeGen2Filesystem;\nimport com.pulumi.azure.storage.DataLakeGen2FilesystemArgs;\nimport com.pulumi.azure.synapse.Workspace;\nimport com.pulumi.azure.synapse.WorkspaceArgs;\nimport com.pulumi.azure.synapse.inputs.WorkspaceIdentityArgs;\nimport com.pulumi.azure.synapse.SqlPool;\nimport com.pulumi.azure.synapse.SqlPoolArgs;\nimport com.pulumi.azure.synapse.SqlPoolWorkloadGroup;\nimport com.pulumi.azure.synapse.SqlPoolWorkloadGroupArgs;\nimport com.pulumi.azure.synapse.SqlPoolWorkloadClassifier;\nimport com.pulumi.azure.synapse.SqlPoolWorkloadClassifierArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"example\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .accountKind(\"BlobStorage\")\n            .accountTier(\"Standard\")\n            .accountReplicationType(\"LRS\")\n            .build());\n\n        var exampleDataLakeGen2Filesystem = new DataLakeGen2Filesystem(\"exampleDataLakeGen2Filesystem\", DataLakeGen2FilesystemArgs.builder()\n            .name(\"example\")\n            .storageAccountId(exampleAccount.id())\n            .build());\n\n        var exampleWorkspace = new Workspace(\"exampleWorkspace\", WorkspaceArgs.builder()\n            .name(\"example\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .storageDataLakeGen2FilesystemId(exampleDataLakeGen2Filesystem.id())\n            .sqlAdministratorLogin(\"sqladminuser\")\n            .sqlAdministratorLoginPassword(\"H@Sh1CoR3!\")\n            .identity(WorkspaceIdentityArgs.builder()\n                .type(\"SystemAssigned\")\n                .build())\n            .build());\n\n        var exampleSqlPool = new SqlPool(\"exampleSqlPool\", SqlPoolArgs.builder()\n            .name(\"example\")\n            .synapseWorkspaceId(exampleWorkspace.id())\n            .skuName(\"DW100c\")\n            .createMode(\"Default\")\n            .build());\n\n        var exampleSqlPoolWorkloadGroup = new SqlPoolWorkloadGroup(\"exampleSqlPoolWorkloadGroup\", SqlPoolWorkloadGroupArgs.builder()\n            .name(\"example\")\n            .sqlPoolId(exampleSqlPool.id())\n            .importance(\"normal\")\n            .maxResourcePercent(100)\n            .minResourcePercent(0)\n            .maxResourcePercentPerRequest(3.0)\n            .minResourcePercentPerRequest(3.0)\n            .queryExecutionTimeoutInSeconds(0)\n            .build());\n\n        var exampleSqlPoolWorkloadClassifier = new SqlPoolWorkloadClassifier(\"exampleSqlPoolWorkloadClassifier\", SqlPoolWorkloadClassifierArgs.builder()\n            .name(\"example\")\n            .workloadGroupId(exampleSqlPoolWorkloadGroup.id())\n            .context(\"example_context\")\n            .endTime(\"14:00\")\n            .importance(\"high\")\n            .label(\"example_label\")\n            .memberName(\"dbo\")\n            .startTime(\"12:00\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleAccount:\n    type: azure:storage:Account\n    name: example\n    properties:\n      name: example\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      accountKind: BlobStorage\n      accountTier: Standard\n      accountReplicationType: LRS\n  exampleDataLakeGen2Filesystem:\n    type: azure:storage:DataLakeGen2Filesystem\n    name: example\n    properties:\n      name: example\n      storageAccountId: ${exampleAccount.id}\n  exampleWorkspace:\n    type: azure:synapse:Workspace\n    name: example\n    properties:\n      name: example\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      storageDataLakeGen2FilesystemId: ${exampleDataLakeGen2Filesystem.id}\n      sqlAdministratorLogin: sqladminuser\n      sqlAdministratorLoginPassword: H@Sh1CoR3!\n      identity:\n        type: SystemAssigned\n  exampleSqlPool:\n    type: azure:synapse:SqlPool\n    name: example\n    properties:\n      name: example\n      synapseWorkspaceId: ${exampleWorkspace.id}\n      skuName: DW100c\n      createMode: Default\n  exampleSqlPoolWorkloadGroup:\n    type: azure:synapse:SqlPoolWorkloadGroup\n    name: example\n    properties:\n      name: example\n      sqlPoolId: ${exampleSqlPool.id}\n      importance: normal\n      maxResourcePercent: 100\n      minResourcePercent: 0\n      maxResourcePercentPerRequest: 3\n      minResourcePercentPerRequest: 3\n      queryExecutionTimeoutInSeconds: 0\n  exampleSqlPoolWorkloadClassifier:\n    type: azure:synapse:SqlPoolWorkloadClassifier\n    name: example\n    properties:\n      name: example\n      workloadGroupId: ${exampleSqlPoolWorkloadGroup.id}\n      context: example_context\n      endTime: 14:00\n      importance: high\n      label: example_label\n      memberName: dbo\n      startTime: 12:00\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nSynapse SQL Pool Workload Classifiers can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:synapse/sqlPoolWorkloadClassifier:SqlPoolWorkloadClassifier example /subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/resGroup1/providers/Microsoft.Synapse/workspaces/workspace1/sqlPools/sqlPool1/workloadGroups/workloadGroup1/workloadClassifiers/workloadClassifier1\n```\n\n","properties":{"context":{"type":"string","description":"Specifies the session context value that a request can be classified against.\n"},"endTime":{"type":"string","description":"The workload classifier end time for classification. It's of the `HH:MM` format in UTC time zone.\n"},"importance":{"type":"string","description":"The workload classifier importance. The allowed values are \u003cspan pulumi-lang-nodejs=\"`low`\" pulumi-lang-dotnet=\"`Low`\" pulumi-lang-go=\"`low`\" pulumi-lang-python=\"`low`\" pulumi-lang-yaml=\"`low`\" pulumi-lang-java=\"`low`\"\u003e`low`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`belowNormal`\" pulumi-lang-dotnet=\"`BelowNormal`\" pulumi-lang-go=\"`belowNormal`\" pulumi-lang-python=\"`below_normal`\" pulumi-lang-yaml=\"`belowNormal`\" pulumi-lang-java=\"`belowNormal`\"\u003e`below_normal`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`normal`\" pulumi-lang-dotnet=\"`Normal`\" pulumi-lang-go=\"`normal`\" pulumi-lang-python=\"`normal`\" pulumi-lang-yaml=\"`normal`\" pulumi-lang-java=\"`normal`\"\u003e`normal`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`aboveNormal`\" pulumi-lang-dotnet=\"`AboveNormal`\" pulumi-lang-go=\"`aboveNormal`\" pulumi-lang-python=\"`above_normal`\" pulumi-lang-yaml=\"`aboveNormal`\" pulumi-lang-java=\"`aboveNormal`\"\u003e`above_normal`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`high`\" pulumi-lang-dotnet=\"`High`\" pulumi-lang-go=\"`high`\" pulumi-lang-python=\"`high`\" pulumi-lang-yaml=\"`high`\" pulumi-lang-java=\"`high`\"\u003e`high`\u003c/span\u003e.\n"},"label":{"type":"string","description":"Specifies the label value that a request can be classified against.\n"},"memberName":{"type":"string","description":"The workload classifier member name used to classified against.\n"},"name":{"type":"string","description":"The name which should be used for this Synapse SQL Pool Workload Classifier. Changing this forces a new Synapse SQL Pool Workload Classifier to be created.\n"},"startTime":{"type":"string","description":"The workload classifier start time for classification. It's of the `HH:MM` format in UTC time zone.\n"},"workloadGroupId":{"type":"string","description":"The ID of the Synapse SQL Pool Workload Group. Changing this forces a new Synapse SQL Pool Workload Classifier to be created.\n"}},"required":["memberName","name","workloadGroupId"],"inputProperties":{"context":{"type":"string","description":"Specifies the session context value that a request can be classified against.\n"},"endTime":{"type":"string","description":"The workload classifier end time for classification. It's of the `HH:MM` format in UTC time zone.\n"},"importance":{"type":"string","description":"The workload classifier importance. The allowed values are \u003cspan pulumi-lang-nodejs=\"`low`\" pulumi-lang-dotnet=\"`Low`\" pulumi-lang-go=\"`low`\" pulumi-lang-python=\"`low`\" pulumi-lang-yaml=\"`low`\" pulumi-lang-java=\"`low`\"\u003e`low`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`belowNormal`\" pulumi-lang-dotnet=\"`BelowNormal`\" pulumi-lang-go=\"`belowNormal`\" pulumi-lang-python=\"`below_normal`\" pulumi-lang-yaml=\"`belowNormal`\" pulumi-lang-java=\"`belowNormal`\"\u003e`below_normal`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`normal`\" pulumi-lang-dotnet=\"`Normal`\" pulumi-lang-go=\"`normal`\" pulumi-lang-python=\"`normal`\" pulumi-lang-yaml=\"`normal`\" pulumi-lang-java=\"`normal`\"\u003e`normal`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`aboveNormal`\" pulumi-lang-dotnet=\"`AboveNormal`\" pulumi-lang-go=\"`aboveNormal`\" pulumi-lang-python=\"`above_normal`\" pulumi-lang-yaml=\"`aboveNormal`\" pulumi-lang-java=\"`aboveNormal`\"\u003e`above_normal`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`high`\" pulumi-lang-dotnet=\"`High`\" pulumi-lang-go=\"`high`\" pulumi-lang-python=\"`high`\" pulumi-lang-yaml=\"`high`\" pulumi-lang-java=\"`high`\"\u003e`high`\u003c/span\u003e.\n"},"label":{"type":"string","description":"Specifies the label value that a request can be classified against.\n"},"memberName":{"type":"string","description":"The workload classifier member name used to classified against.\n"},"name":{"type":"string","description":"The name which should be used for this Synapse SQL Pool Workload Classifier. Changing this forces a new Synapse SQL Pool Workload Classifier to be created.\n","willReplaceOnChanges":true},"startTime":{"type":"string","description":"The workload classifier start time for classification. It's of the `HH:MM` format in UTC time zone.\n"},"workloadGroupId":{"type":"string","description":"The ID of the Synapse SQL Pool Workload Group. Changing this forces a new Synapse SQL Pool Workload Classifier to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["memberName","workloadGroupId"],"stateInputs":{"description":"Input properties used for looking up and filtering SqlPoolWorkloadClassifier resources.\n","properties":{"context":{"type":"string","description":"Specifies the session context value that a request can be classified against.\n"},"endTime":{"type":"string","description":"The workload classifier end time for classification. It's of the `HH:MM` format in UTC time zone.\n"},"importance":{"type":"string","description":"The workload classifier importance. The allowed values are \u003cspan pulumi-lang-nodejs=\"`low`\" pulumi-lang-dotnet=\"`Low`\" pulumi-lang-go=\"`low`\" pulumi-lang-python=\"`low`\" pulumi-lang-yaml=\"`low`\" pulumi-lang-java=\"`low`\"\u003e`low`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`belowNormal`\" pulumi-lang-dotnet=\"`BelowNormal`\" pulumi-lang-go=\"`belowNormal`\" pulumi-lang-python=\"`below_normal`\" pulumi-lang-yaml=\"`belowNormal`\" pulumi-lang-java=\"`belowNormal`\"\u003e`below_normal`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`normal`\" pulumi-lang-dotnet=\"`Normal`\" pulumi-lang-go=\"`normal`\" pulumi-lang-python=\"`normal`\" pulumi-lang-yaml=\"`normal`\" pulumi-lang-java=\"`normal`\"\u003e`normal`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`aboveNormal`\" pulumi-lang-dotnet=\"`AboveNormal`\" pulumi-lang-go=\"`aboveNormal`\" pulumi-lang-python=\"`above_normal`\" pulumi-lang-yaml=\"`aboveNormal`\" pulumi-lang-java=\"`aboveNormal`\"\u003e`above_normal`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`high`\" pulumi-lang-dotnet=\"`High`\" pulumi-lang-go=\"`high`\" pulumi-lang-python=\"`high`\" pulumi-lang-yaml=\"`high`\" pulumi-lang-java=\"`high`\"\u003e`high`\u003c/span\u003e.\n"},"label":{"type":"string","description":"Specifies the label value that a request can be classified against.\n"},"memberName":{"type":"string","description":"The workload classifier member name used to classified against.\n"},"name":{"type":"string","description":"The name which should be used for this Synapse SQL Pool Workload Classifier. Changing this forces a new Synapse SQL Pool Workload Classifier to be created.\n","willReplaceOnChanges":true},"startTime":{"type":"string","description":"The workload classifier start time for classification. It's of the `HH:MM` format in UTC time zone.\n"},"workloadGroupId":{"type":"string","description":"The ID of the Synapse SQL Pool Workload Group. Changing this forces a new Synapse SQL Pool Workload Classifier to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:synapse/sqlPoolWorkloadGroup:SqlPoolWorkloadGroup":{"description":"Manages a Synapse SQL Pool Workload Group.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example\",\n    location: \"west europe\",\n});\nconst exampleAccount = new azure.storage.Account(\"example\", {\n    name: \"example\",\n    resourceGroupName: example.name,\n    location: example.location,\n    accountKind: \"BlobStorage\",\n    accountTier: \"Standard\",\n    accountReplicationType: \"LRS\",\n});\nconst exampleDataLakeGen2Filesystem = new azure.storage.DataLakeGen2Filesystem(\"example\", {\n    name: \"example\",\n    storageAccountId: exampleAccount.id,\n});\nconst exampleWorkspace = new azure.synapse.Workspace(\"example\", {\n    name: \"example\",\n    resourceGroupName: example.name,\n    location: example.location,\n    storageDataLakeGen2FilesystemId: exampleDataLakeGen2Filesystem.id,\n    sqlAdministratorLogin: \"sqladminuser\",\n    sqlAdministratorLoginPassword: \"H@Sh1CoR3!\",\n    identity: {\n        type: \"SystemAssigned\",\n    },\n});\nconst exampleSqlPool = new azure.synapse.SqlPool(\"example\", {\n    name: \"example\",\n    synapseWorkspaceId: exampleWorkspace.id,\n    skuName: \"DW100c\",\n    createMode: \"Default\",\n});\nconst exampleSqlPoolWorkloadGroup = new azure.synapse.SqlPoolWorkloadGroup(\"example\", {\n    name: \"example\",\n    sqlPoolId: exampleSqlPool.id,\n    importance: \"normal\",\n    maxResourcePercent: 100,\n    minResourcePercent: 0,\n    maxResourcePercentPerRequest: 3,\n    minResourcePercentPerRequest: 3,\n    queryExecutionTimeoutInSeconds: 0,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example\",\n    location=\"west europe\")\nexample_account = azure.storage.Account(\"example\",\n    name=\"example\",\n    resource_group_name=example.name,\n    location=example.location,\n    account_kind=\"BlobStorage\",\n    account_tier=\"Standard\",\n    account_replication_type=\"LRS\")\nexample_data_lake_gen2_filesystem = azure.storage.DataLakeGen2Filesystem(\"example\",\n    name=\"example\",\n    storage_account_id=example_account.id)\nexample_workspace = azure.synapse.Workspace(\"example\",\n    name=\"example\",\n    resource_group_name=example.name,\n    location=example.location,\n    storage_data_lake_gen2_filesystem_id=example_data_lake_gen2_filesystem.id,\n    sql_administrator_login=\"sqladminuser\",\n    sql_administrator_login_password=\"H@Sh1CoR3!\",\n    identity={\n        \"type\": \"SystemAssigned\",\n    })\nexample_sql_pool = azure.synapse.SqlPool(\"example\",\n    name=\"example\",\n    synapse_workspace_id=example_workspace.id,\n    sku_name=\"DW100c\",\n    create_mode=\"Default\")\nexample_sql_pool_workload_group = azure.synapse.SqlPoolWorkloadGroup(\"example\",\n    name=\"example\",\n    sql_pool_id=example_sql_pool.id,\n    importance=\"normal\",\n    max_resource_percent=100,\n    min_resource_percent=0,\n    max_resource_percent_per_request=3,\n    min_resource_percent_per_request=3,\n    query_execution_timeout_in_seconds=0)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example\",\n        Location = \"west europe\",\n    });\n\n    var exampleAccount = new Azure.Storage.Account(\"example\", new()\n    {\n        Name = \"example\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        AccountKind = \"BlobStorage\",\n        AccountTier = \"Standard\",\n        AccountReplicationType = \"LRS\",\n    });\n\n    var exampleDataLakeGen2Filesystem = new Azure.Storage.DataLakeGen2Filesystem(\"example\", new()\n    {\n        Name = \"example\",\n        StorageAccountId = exampleAccount.Id,\n    });\n\n    var exampleWorkspace = new Azure.Synapse.Workspace(\"example\", new()\n    {\n        Name = \"example\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        StorageDataLakeGen2FilesystemId = exampleDataLakeGen2Filesystem.Id,\n        SqlAdministratorLogin = \"sqladminuser\",\n        SqlAdministratorLoginPassword = \"H@Sh1CoR3!\",\n        Identity = new Azure.Synapse.Inputs.WorkspaceIdentityArgs\n        {\n            Type = \"SystemAssigned\",\n        },\n    });\n\n    var exampleSqlPool = new Azure.Synapse.SqlPool(\"example\", new()\n    {\n        Name = \"example\",\n        SynapseWorkspaceId = exampleWorkspace.Id,\n        SkuName = \"DW100c\",\n        CreateMode = \"Default\",\n    });\n\n    var exampleSqlPoolWorkloadGroup = new Azure.Synapse.SqlPoolWorkloadGroup(\"example\", new()\n    {\n        Name = \"example\",\n        SqlPoolId = exampleSqlPool.Id,\n        Importance = \"normal\",\n        MaxResourcePercent = 100,\n        MinResourcePercent = 0,\n        MaxResourcePercentPerRequest = 3,\n        MinResourcePercentPerRequest = 3,\n        QueryExecutionTimeoutInSeconds = 0,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/synapse\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example\"),\n\t\t\tLocation: pulumi.String(\"west europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := storage.NewAccount(ctx, \"example\", \u0026storage.AccountArgs{\n\t\t\tName:                   pulumi.String(\"example\"),\n\t\t\tResourceGroupName:      example.Name,\n\t\t\tLocation:               example.Location,\n\t\t\tAccountKind:            pulumi.String(\"BlobStorage\"),\n\t\t\tAccountTier:            pulumi.String(\"Standard\"),\n\t\t\tAccountReplicationType: pulumi.String(\"LRS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleDataLakeGen2Filesystem, err := storage.NewDataLakeGen2Filesystem(ctx, \"example\", \u0026storage.DataLakeGen2FilesystemArgs{\n\t\t\tName:             pulumi.String(\"example\"),\n\t\t\tStorageAccountId: exampleAccount.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleWorkspace, err := synapse.NewWorkspace(ctx, \"example\", \u0026synapse.WorkspaceArgs{\n\t\t\tName:                            pulumi.String(\"example\"),\n\t\t\tResourceGroupName:               example.Name,\n\t\t\tLocation:                        example.Location,\n\t\t\tStorageDataLakeGen2FilesystemId: exampleDataLakeGen2Filesystem.ID(),\n\t\t\tSqlAdministratorLogin:           pulumi.String(\"sqladminuser\"),\n\t\t\tSqlAdministratorLoginPassword:   pulumi.String(\"H@Sh1CoR3!\"),\n\t\t\tIdentity: \u0026synapse.WorkspaceIdentityArgs{\n\t\t\t\tType: pulumi.String(\"SystemAssigned\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSqlPool, err := synapse.NewSqlPool(ctx, \"example\", \u0026synapse.SqlPoolArgs{\n\t\t\tName:               pulumi.String(\"example\"),\n\t\t\tSynapseWorkspaceId: exampleWorkspace.ID(),\n\t\t\tSkuName:            pulumi.String(\"DW100c\"),\n\t\t\tCreateMode:         pulumi.String(\"Default\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = synapse.NewSqlPoolWorkloadGroup(ctx, \"example\", \u0026synapse.SqlPoolWorkloadGroupArgs{\n\t\t\tName:                           pulumi.String(\"example\"),\n\t\t\tSqlPoolId:                      exampleSqlPool.ID(),\n\t\t\tImportance:                     pulumi.String(\"normal\"),\n\t\t\tMaxResourcePercent:             pulumi.Int(100),\n\t\t\tMinResourcePercent:             pulumi.Int(0),\n\t\t\tMaxResourcePercentPerRequest:   pulumi.Float64(3),\n\t\t\tMinResourcePercentPerRequest:   pulumi.Float64(3),\n\t\t\tQueryExecutionTimeoutInSeconds: pulumi.Int(0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.storage.Account;\nimport com.pulumi.azure.storage.AccountArgs;\nimport com.pulumi.azure.storage.DataLakeGen2Filesystem;\nimport com.pulumi.azure.storage.DataLakeGen2FilesystemArgs;\nimport com.pulumi.azure.synapse.Workspace;\nimport com.pulumi.azure.synapse.WorkspaceArgs;\nimport com.pulumi.azure.synapse.inputs.WorkspaceIdentityArgs;\nimport com.pulumi.azure.synapse.SqlPool;\nimport com.pulumi.azure.synapse.SqlPoolArgs;\nimport com.pulumi.azure.synapse.SqlPoolWorkloadGroup;\nimport com.pulumi.azure.synapse.SqlPoolWorkloadGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example\")\n            .location(\"west europe\")\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"example\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .accountKind(\"BlobStorage\")\n            .accountTier(\"Standard\")\n            .accountReplicationType(\"LRS\")\n            .build());\n\n        var exampleDataLakeGen2Filesystem = new DataLakeGen2Filesystem(\"exampleDataLakeGen2Filesystem\", DataLakeGen2FilesystemArgs.builder()\n            .name(\"example\")\n            .storageAccountId(exampleAccount.id())\n            .build());\n\n        var exampleWorkspace = new Workspace(\"exampleWorkspace\", WorkspaceArgs.builder()\n            .name(\"example\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .storageDataLakeGen2FilesystemId(exampleDataLakeGen2Filesystem.id())\n            .sqlAdministratorLogin(\"sqladminuser\")\n            .sqlAdministratorLoginPassword(\"H@Sh1CoR3!\")\n            .identity(WorkspaceIdentityArgs.builder()\n                .type(\"SystemAssigned\")\n                .build())\n            .build());\n\n        var exampleSqlPool = new SqlPool(\"exampleSqlPool\", SqlPoolArgs.builder()\n            .name(\"example\")\n            .synapseWorkspaceId(exampleWorkspace.id())\n            .skuName(\"DW100c\")\n            .createMode(\"Default\")\n            .build());\n\n        var exampleSqlPoolWorkloadGroup = new SqlPoolWorkloadGroup(\"exampleSqlPoolWorkloadGroup\", SqlPoolWorkloadGroupArgs.builder()\n            .name(\"example\")\n            .sqlPoolId(exampleSqlPool.id())\n            .importance(\"normal\")\n            .maxResourcePercent(100)\n            .minResourcePercent(0)\n            .maxResourcePercentPerRequest(3.0)\n            .minResourcePercentPerRequest(3.0)\n            .queryExecutionTimeoutInSeconds(0)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example\n      location: west europe\n  exampleAccount:\n    type: azure:storage:Account\n    name: example\n    properties:\n      name: example\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      accountKind: BlobStorage\n      accountTier: Standard\n      accountReplicationType: LRS\n  exampleDataLakeGen2Filesystem:\n    type: azure:storage:DataLakeGen2Filesystem\n    name: example\n    properties:\n      name: example\n      storageAccountId: ${exampleAccount.id}\n  exampleWorkspace:\n    type: azure:synapse:Workspace\n    name: example\n    properties:\n      name: example\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      storageDataLakeGen2FilesystemId: ${exampleDataLakeGen2Filesystem.id}\n      sqlAdministratorLogin: sqladminuser\n      sqlAdministratorLoginPassword: H@Sh1CoR3!\n      identity:\n        type: SystemAssigned\n  exampleSqlPool:\n    type: azure:synapse:SqlPool\n    name: example\n    properties:\n      name: example\n      synapseWorkspaceId: ${exampleWorkspace.id}\n      skuName: DW100c\n      createMode: Default\n  exampleSqlPoolWorkloadGroup:\n    type: azure:synapse:SqlPoolWorkloadGroup\n    name: example\n    properties:\n      name: example\n      sqlPoolId: ${exampleSqlPool.id}\n      importance: normal\n      maxResourcePercent: 100\n      minResourcePercent: 0\n      maxResourcePercentPerRequest: 3\n      minResourcePercentPerRequest: 3\n      queryExecutionTimeoutInSeconds: 0\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nSynapse SQL Pool Workload Groups can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:synapse/sqlPoolWorkloadGroup:SqlPoolWorkloadGroup example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resGroup1/providers/Microsoft.Synapse/workspaces/workspace1/sqlPools/sqlPool1/workloadGroups/workloadGroup1\n```\n\n","properties":{"importance":{"type":"string","description":"The workload group importance level. Defaults to \u003cspan pulumi-lang-nodejs=\"`normal`\" pulumi-lang-dotnet=\"`Normal`\" pulumi-lang-go=\"`normal`\" pulumi-lang-python=\"`normal`\" pulumi-lang-yaml=\"`normal`\" pulumi-lang-java=\"`normal`\"\u003e`normal`\u003c/span\u003e.\n"},"maxResourcePercent":{"type":"integer","description":"The workload group cap percentage resource.\n"},"maxResourcePercentPerRequest":{"type":"number","description":"The workload group request maximum grant percentage. Defaults to \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e.\n"},"minResourcePercent":{"type":"integer","description":"The workload group minimum percentage resource.\n"},"minResourcePercentPerRequest":{"type":"number","description":"The workload group request minimum grant percentage.\n"},"name":{"type":"string","description":"The name which should be used for this Synapse SQL Pool Workload Group. Changing this forces a new Synapse SQL Pool Workload Group to be created.\n"},"queryExecutionTimeoutInSeconds":{"type":"integer","description":"The workload group query execution timeout.\n"},"sqlPoolId":{"type":"string","description":"The ID of the Synapse SQL Pool. Changing this forces a new Synapse SQL Pool Workload Group to be created.\n"}},"required":["maxResourcePercent","minResourcePercent","name","sqlPoolId"],"inputProperties":{"importance":{"type":"string","description":"The workload group importance level. Defaults to \u003cspan pulumi-lang-nodejs=\"`normal`\" pulumi-lang-dotnet=\"`Normal`\" pulumi-lang-go=\"`normal`\" pulumi-lang-python=\"`normal`\" pulumi-lang-yaml=\"`normal`\" pulumi-lang-java=\"`normal`\"\u003e`normal`\u003c/span\u003e.\n"},"maxResourcePercent":{"type":"integer","description":"The workload group cap percentage resource.\n"},"maxResourcePercentPerRequest":{"type":"number","description":"The workload group request maximum grant percentage. Defaults to \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e.\n"},"minResourcePercent":{"type":"integer","description":"The workload group minimum percentage resource.\n"},"minResourcePercentPerRequest":{"type":"number","description":"The workload group request minimum grant percentage.\n"},"name":{"type":"string","description":"The name which should be used for this Synapse SQL Pool Workload Group. Changing this forces a new Synapse SQL Pool Workload Group to be created.\n","willReplaceOnChanges":true},"queryExecutionTimeoutInSeconds":{"type":"integer","description":"The workload group query execution timeout.\n"},"sqlPoolId":{"type":"string","description":"The ID of the Synapse SQL Pool. Changing this forces a new Synapse SQL Pool Workload Group to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["maxResourcePercent","minResourcePercent","sqlPoolId"],"stateInputs":{"description":"Input properties used for looking up and filtering SqlPoolWorkloadGroup resources.\n","properties":{"importance":{"type":"string","description":"The workload group importance level. Defaults to \u003cspan pulumi-lang-nodejs=\"`normal`\" pulumi-lang-dotnet=\"`Normal`\" pulumi-lang-go=\"`normal`\" pulumi-lang-python=\"`normal`\" pulumi-lang-yaml=\"`normal`\" pulumi-lang-java=\"`normal`\"\u003e`normal`\u003c/span\u003e.\n"},"maxResourcePercent":{"type":"integer","description":"The workload group cap percentage resource.\n"},"maxResourcePercentPerRequest":{"type":"number","description":"The workload group request maximum grant percentage. Defaults to \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e.\n"},"minResourcePercent":{"type":"integer","description":"The workload group minimum percentage resource.\n"},"minResourcePercentPerRequest":{"type":"number","description":"The workload group request minimum grant percentage.\n"},"name":{"type":"string","description":"The name which should be used for this Synapse SQL Pool Workload Group. Changing this forces a new Synapse SQL Pool Workload Group to be created.\n","willReplaceOnChanges":true},"queryExecutionTimeoutInSeconds":{"type":"integer","description":"The workload group query execution timeout.\n"},"sqlPoolId":{"type":"string","description":"The ID of the Synapse SQL Pool. Changing this forces a new Synapse SQL Pool Workload Group to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:synapse/workspace:Workspace":{"description":"Manages a Synapse Workspace.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleAccount = new azure.storage.Account(\"example\", {\n    name: \"examplestorageacc\",\n    resourceGroupName: example.name,\n    location: example.location,\n    accountTier: \"Standard\",\n    accountReplicationType: \"LRS\",\n    accountKind: \"StorageV2\",\n    isHnsEnabled: true,\n});\nconst exampleDataLakeGen2Filesystem = new azure.storage.DataLakeGen2Filesystem(\"example\", {\n    name: \"example\",\n    storageAccountId: exampleAccount.id,\n});\nconst exampleWorkspace = new azure.synapse.Workspace(\"example\", {\n    name: \"example\",\n    resourceGroupName: example.name,\n    location: example.location,\n    storageDataLakeGen2FilesystemId: exampleDataLakeGen2Filesystem.id,\n    sqlAdministratorLogin: \"sqladminuser\",\n    sqlAdministratorLoginPassword: \"H@Sh1CoR3!\",\n    identity: {\n        type: \"SystemAssigned\",\n    },\n    tags: {\n        Env: \"production\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_account = azure.storage.Account(\"example\",\n    name=\"examplestorageacc\",\n    resource_group_name=example.name,\n    location=example.location,\n    account_tier=\"Standard\",\n    account_replication_type=\"LRS\",\n    account_kind=\"StorageV2\",\n    is_hns_enabled=True)\nexample_data_lake_gen2_filesystem = azure.storage.DataLakeGen2Filesystem(\"example\",\n    name=\"example\",\n    storage_account_id=example_account.id)\nexample_workspace = azure.synapse.Workspace(\"example\",\n    name=\"example\",\n    resource_group_name=example.name,\n    location=example.location,\n    storage_data_lake_gen2_filesystem_id=example_data_lake_gen2_filesystem.id,\n    sql_administrator_login=\"sqladminuser\",\n    sql_administrator_login_password=\"H@Sh1CoR3!\",\n    identity={\n        \"type\": \"SystemAssigned\",\n    },\n    tags={\n        \"Env\": \"production\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleAccount = new Azure.Storage.Account(\"example\", new()\n    {\n        Name = \"examplestorageacc\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        AccountTier = \"Standard\",\n        AccountReplicationType = \"LRS\",\n        AccountKind = \"StorageV2\",\n        IsHnsEnabled = true,\n    });\n\n    var exampleDataLakeGen2Filesystem = new Azure.Storage.DataLakeGen2Filesystem(\"example\", new()\n    {\n        Name = \"example\",\n        StorageAccountId = exampleAccount.Id,\n    });\n\n    var exampleWorkspace = new Azure.Synapse.Workspace(\"example\", new()\n    {\n        Name = \"example\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        StorageDataLakeGen2FilesystemId = exampleDataLakeGen2Filesystem.Id,\n        SqlAdministratorLogin = \"sqladminuser\",\n        SqlAdministratorLoginPassword = \"H@Sh1CoR3!\",\n        Identity = new Azure.Synapse.Inputs.WorkspaceIdentityArgs\n        {\n            Type = \"SystemAssigned\",\n        },\n        Tags = \n        {\n            { \"Env\", \"production\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/synapse\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := storage.NewAccount(ctx, \"example\", \u0026storage.AccountArgs{\n\t\t\tName:                   pulumi.String(\"examplestorageacc\"),\n\t\t\tResourceGroupName:      example.Name,\n\t\t\tLocation:               example.Location,\n\t\t\tAccountTier:            pulumi.String(\"Standard\"),\n\t\t\tAccountReplicationType: pulumi.String(\"LRS\"),\n\t\t\tAccountKind:            pulumi.String(\"StorageV2\"),\n\t\t\tIsHnsEnabled:           pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleDataLakeGen2Filesystem, err := storage.NewDataLakeGen2Filesystem(ctx, \"example\", \u0026storage.DataLakeGen2FilesystemArgs{\n\t\t\tName:             pulumi.String(\"example\"),\n\t\t\tStorageAccountId: exampleAccount.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = synapse.NewWorkspace(ctx, \"example\", \u0026synapse.WorkspaceArgs{\n\t\t\tName:                            pulumi.String(\"example\"),\n\t\t\tResourceGroupName:               example.Name,\n\t\t\tLocation:                        example.Location,\n\t\t\tStorageDataLakeGen2FilesystemId: exampleDataLakeGen2Filesystem.ID(),\n\t\t\tSqlAdministratorLogin:           pulumi.String(\"sqladminuser\"),\n\t\t\tSqlAdministratorLoginPassword:   pulumi.String(\"H@Sh1CoR3!\"),\n\t\t\tIdentity: \u0026synapse.WorkspaceIdentityArgs{\n\t\t\t\tType: pulumi.String(\"SystemAssigned\"),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Env\": pulumi.String(\"production\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.storage.Account;\nimport com.pulumi.azure.storage.AccountArgs;\nimport com.pulumi.azure.storage.DataLakeGen2Filesystem;\nimport com.pulumi.azure.storage.DataLakeGen2FilesystemArgs;\nimport com.pulumi.azure.synapse.Workspace;\nimport com.pulumi.azure.synapse.WorkspaceArgs;\nimport com.pulumi.azure.synapse.inputs.WorkspaceIdentityArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"examplestorageacc\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .accountTier(\"Standard\")\n            .accountReplicationType(\"LRS\")\n            .accountKind(\"StorageV2\")\n            .isHnsEnabled(true)\n            .build());\n\n        var exampleDataLakeGen2Filesystem = new DataLakeGen2Filesystem(\"exampleDataLakeGen2Filesystem\", DataLakeGen2FilesystemArgs.builder()\n            .name(\"example\")\n            .storageAccountId(exampleAccount.id())\n            .build());\n\n        var exampleWorkspace = new Workspace(\"exampleWorkspace\", WorkspaceArgs.builder()\n            .name(\"example\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .storageDataLakeGen2FilesystemId(exampleDataLakeGen2Filesystem.id())\n            .sqlAdministratorLogin(\"sqladminuser\")\n            .sqlAdministratorLoginPassword(\"H@Sh1CoR3!\")\n            .identity(WorkspaceIdentityArgs.builder()\n                .type(\"SystemAssigned\")\n                .build())\n            .tags(Map.of(\"Env\", \"production\"))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleAccount:\n    type: azure:storage:Account\n    name: example\n    properties:\n      name: examplestorageacc\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      accountTier: Standard\n      accountReplicationType: LRS\n      accountKind: StorageV2\n      isHnsEnabled: 'true'\n  exampleDataLakeGen2Filesystem:\n    type: azure:storage:DataLakeGen2Filesystem\n    name: example\n    properties:\n      name: example\n      storageAccountId: ${exampleAccount.id}\n  exampleWorkspace:\n    type: azure:synapse:Workspace\n    name: example\n    properties:\n      name: example\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      storageDataLakeGen2FilesystemId: ${exampleDataLakeGen2Filesystem.id}\n      sqlAdministratorLogin: sqladminuser\n      sqlAdministratorLoginPassword: H@Sh1CoR3!\n      identity:\n        type: SystemAssigned\n      tags:\n        Env: production\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Creating A Workspace With Customer Managed Key And Azure AD Admin\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst current = azure.core.getClientConfig({});\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleAccount = new azure.storage.Account(\"example\", {\n    name: \"examplestorageacc\",\n    resourceGroupName: example.name,\n    location: example.location,\n    accountTier: \"Standard\",\n    accountReplicationType: \"LRS\",\n    accountKind: \"StorageV2\",\n    isHnsEnabled: true,\n});\nconst exampleDataLakeGen2Filesystem = new azure.storage.DataLakeGen2Filesystem(\"example\", {\n    name: \"example\",\n    storageAccountId: exampleAccount.id,\n});\nconst exampleKeyVault = new azure.keyvault.KeyVault(\"example\", {\n    name: \"example\",\n    location: example.location,\n    resourceGroupName: example.name,\n    tenantId: current.then(current =\u003e current.tenantId),\n    skuName: \"standard\",\n    purgeProtectionEnabled: true,\n});\nconst deployer = new azure.keyvault.AccessPolicy(\"deployer\", {\n    keyVaultId: exampleKeyVault.id,\n    tenantId: current.then(current =\u003e current.tenantId),\n    objectId: current.then(current =\u003e current.objectId),\n    keyPermissions: [\n        \"Create\",\n        \"Get\",\n        \"Delete\",\n        \"Purge\",\n        \"GetRotationPolicy\",\n    ],\n});\nconst exampleKey = new azure.keyvault.Key(\"example\", {\n    name: \"workspaceencryptionkey\",\n    keyVaultId: exampleKeyVault.id,\n    keyType: \"RSA\",\n    keySize: 2048,\n    keyOpts: [\n        \"unwrapKey\",\n        \"wrapKey\",\n    ],\n}, {\n    dependsOn: [deployer],\n});\nconst exampleWorkspace = new azure.synapse.Workspace(\"example\", {\n    name: \"example\",\n    resourceGroupName: example.name,\n    location: example.location,\n    storageDataLakeGen2FilesystemId: exampleDataLakeGen2Filesystem.id,\n    sqlAdministratorLogin: \"sqladminuser\",\n    sqlAdministratorLoginPassword: \"H@Sh1CoR3!\",\n    customerManagedKey: {\n        keyVersionlessId: exampleKey.versionlessId,\n        keyName: \"enckey\",\n    },\n    identity: {\n        type: \"SystemAssigned\",\n    },\n    tags: {\n        Env: \"production\",\n    },\n});\nconst workspacePolicy = new azure.keyvault.AccessPolicy(\"workspace_policy\", {\n    keyVaultId: exampleKeyVault.id,\n    tenantId: exampleWorkspace.identity.apply(identity =\u003e identity?.tenantId),\n    objectId: exampleWorkspace.identity.apply(identity =\u003e identity?.principalId),\n    keyPermissions: [\n        \"Get\",\n        \"WrapKey\",\n        \"UnwrapKey\",\n    ],\n});\nconst exampleWorkspaceKey = new azure.synapse.WorkspaceKey(\"example\", {\n    customerManagedKeyVersionlessId: exampleKey.versionlessId,\n    synapseWorkspaceId: exampleWorkspace.id,\n    active: true,\n    customerManagedKeyName: \"enckey\",\n}, {\n    dependsOn: [workspacePolicy],\n});\nconst exampleWorkspaceAadAdmin = new azure.synapse.WorkspaceAadAdmin(\"example\", {\n    synapseWorkspaceId: exampleWorkspace.id,\n    login: \"AzureAD Admin\",\n    objectId: \"00000000-0000-0000-0000-000000000000\",\n    tenantId: \"00000000-0000-0000-0000-000000000000\",\n}, {\n    dependsOn: [exampleWorkspaceKey],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\ncurrent = azure.core.get_client_config()\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_account = azure.storage.Account(\"example\",\n    name=\"examplestorageacc\",\n    resource_group_name=example.name,\n    location=example.location,\n    account_tier=\"Standard\",\n    account_replication_type=\"LRS\",\n    account_kind=\"StorageV2\",\n    is_hns_enabled=True)\nexample_data_lake_gen2_filesystem = azure.storage.DataLakeGen2Filesystem(\"example\",\n    name=\"example\",\n    storage_account_id=example_account.id)\nexample_key_vault = azure.keyvault.KeyVault(\"example\",\n    name=\"example\",\n    location=example.location,\n    resource_group_name=example.name,\n    tenant_id=current.tenant_id,\n    sku_name=\"standard\",\n    purge_protection_enabled=True)\ndeployer = azure.keyvault.AccessPolicy(\"deployer\",\n    key_vault_id=example_key_vault.id,\n    tenant_id=current.tenant_id,\n    object_id=current.object_id,\n    key_permissions=[\n        \"Create\",\n        \"Get\",\n        \"Delete\",\n        \"Purge\",\n        \"GetRotationPolicy\",\n    ])\nexample_key = azure.keyvault.Key(\"example\",\n    name=\"workspaceencryptionkey\",\n    key_vault_id=example_key_vault.id,\n    key_type=\"RSA\",\n    key_size=2048,\n    key_opts=[\n        \"unwrapKey\",\n        \"wrapKey\",\n    ],\n    opts = pulumi.ResourceOptions(depends_on=[deployer]))\nexample_workspace = azure.synapse.Workspace(\"example\",\n    name=\"example\",\n    resource_group_name=example.name,\n    location=example.location,\n    storage_data_lake_gen2_filesystem_id=example_data_lake_gen2_filesystem.id,\n    sql_administrator_login=\"sqladminuser\",\n    sql_administrator_login_password=\"H@Sh1CoR3!\",\n    customer_managed_key={\n        \"key_versionless_id\": example_key.versionless_id,\n        \"key_name\": \"enckey\",\n    },\n    identity={\n        \"type\": \"SystemAssigned\",\n    },\n    tags={\n        \"Env\": \"production\",\n    })\nworkspace_policy = azure.keyvault.AccessPolicy(\"workspace_policy\",\n    key_vault_id=example_key_vault.id,\n    tenant_id=example_workspace.identity.tenant_id,\n    object_id=example_workspace.identity.principal_id,\n    key_permissions=[\n        \"Get\",\n        \"WrapKey\",\n        \"UnwrapKey\",\n    ])\nexample_workspace_key = azure.synapse.WorkspaceKey(\"example\",\n    customer_managed_key_versionless_id=example_key.versionless_id,\n    synapse_workspace_id=example_workspace.id,\n    active=True,\n    customer_managed_key_name=\"enckey\",\n    opts = pulumi.ResourceOptions(depends_on=[workspace_policy]))\nexample_workspace_aad_admin = azure.synapse.WorkspaceAadAdmin(\"example\",\n    synapse_workspace_id=example_workspace.id,\n    login=\"AzureAD Admin\",\n    object_id=\"00000000-0000-0000-0000-000000000000\",\n    tenant_id=\"00000000-0000-0000-0000-000000000000\",\n    opts = pulumi.ResourceOptions(depends_on=[example_workspace_key]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var current = Azure.Core.GetClientConfig.Invoke();\n\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleAccount = new Azure.Storage.Account(\"example\", new()\n    {\n        Name = \"examplestorageacc\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        AccountTier = \"Standard\",\n        AccountReplicationType = \"LRS\",\n        AccountKind = \"StorageV2\",\n        IsHnsEnabled = true,\n    });\n\n    var exampleDataLakeGen2Filesystem = new Azure.Storage.DataLakeGen2Filesystem(\"example\", new()\n    {\n        Name = \"example\",\n        StorageAccountId = exampleAccount.Id,\n    });\n\n    var exampleKeyVault = new Azure.KeyVault.KeyVault(\"example\", new()\n    {\n        Name = \"example\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        TenantId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.TenantId),\n        SkuName = \"standard\",\n        PurgeProtectionEnabled = true,\n    });\n\n    var deployer = new Azure.KeyVault.AccessPolicy(\"deployer\", new()\n    {\n        KeyVaultId = exampleKeyVault.Id,\n        TenantId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.TenantId),\n        ObjectId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.ObjectId),\n        KeyPermissions = new[]\n        {\n            \"Create\",\n            \"Get\",\n            \"Delete\",\n            \"Purge\",\n            \"GetRotationPolicy\",\n        },\n    });\n\n    var exampleKey = new Azure.KeyVault.Key(\"example\", new()\n    {\n        Name = \"workspaceencryptionkey\",\n        KeyVaultId = exampleKeyVault.Id,\n        KeyType = \"RSA\",\n        KeySize = 2048,\n        KeyOpts = new[]\n        {\n            \"unwrapKey\",\n            \"wrapKey\",\n        },\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            deployer,\n        },\n    });\n\n    var exampleWorkspace = new Azure.Synapse.Workspace(\"example\", new()\n    {\n        Name = \"example\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        StorageDataLakeGen2FilesystemId = exampleDataLakeGen2Filesystem.Id,\n        SqlAdministratorLogin = \"sqladminuser\",\n        SqlAdministratorLoginPassword = \"H@Sh1CoR3!\",\n        CustomerManagedKey = new Azure.Synapse.Inputs.WorkspaceCustomerManagedKeyArgs\n        {\n            KeyVersionlessId = exampleKey.VersionlessId,\n            KeyName = \"enckey\",\n        },\n        Identity = new Azure.Synapse.Inputs.WorkspaceIdentityArgs\n        {\n            Type = \"SystemAssigned\",\n        },\n        Tags = \n        {\n            { \"Env\", \"production\" },\n        },\n    });\n\n    var workspacePolicy = new Azure.KeyVault.AccessPolicy(\"workspace_policy\", new()\n    {\n        KeyVaultId = exampleKeyVault.Id,\n        TenantId = exampleWorkspace.Identity.Apply(identity =\u003e identity?.TenantId),\n        ObjectId = exampleWorkspace.Identity.Apply(identity =\u003e identity?.PrincipalId),\n        KeyPermissions = new[]\n        {\n            \"Get\",\n            \"WrapKey\",\n            \"UnwrapKey\",\n        },\n    });\n\n    var exampleWorkspaceKey = new Azure.Synapse.WorkspaceKey(\"example\", new()\n    {\n        CustomerManagedKeyVersionlessId = exampleKey.VersionlessId,\n        SynapseWorkspaceId = exampleWorkspace.Id,\n        Active = true,\n        CustomerManagedKeyName = \"enckey\",\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            workspacePolicy,\n        },\n    });\n\n    var exampleWorkspaceAadAdmin = new Azure.Synapse.WorkspaceAadAdmin(\"example\", new()\n    {\n        SynapseWorkspaceId = exampleWorkspace.Id,\n        Login = \"AzureAD Admin\",\n        ObjectId = \"00000000-0000-0000-0000-000000000000\",\n        TenantId = \"00000000-0000-0000-0000-000000000000\",\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            exampleWorkspaceKey,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/keyvault\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/synapse\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := core.GetClientConfig(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := storage.NewAccount(ctx, \"example\", \u0026storage.AccountArgs{\n\t\t\tName:                   pulumi.String(\"examplestorageacc\"),\n\t\t\tResourceGroupName:      example.Name,\n\t\t\tLocation:               example.Location,\n\t\t\tAccountTier:            pulumi.String(\"Standard\"),\n\t\t\tAccountReplicationType: pulumi.String(\"LRS\"),\n\t\t\tAccountKind:            pulumi.String(\"StorageV2\"),\n\t\t\tIsHnsEnabled:           pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleDataLakeGen2Filesystem, err := storage.NewDataLakeGen2Filesystem(ctx, \"example\", \u0026storage.DataLakeGen2FilesystemArgs{\n\t\t\tName:             pulumi.String(\"example\"),\n\t\t\tStorageAccountId: exampleAccount.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleKeyVault, err := keyvault.NewKeyVault(ctx, \"example\", \u0026keyvault.KeyVaultArgs{\n\t\t\tName:                   pulumi.String(\"example\"),\n\t\t\tLocation:               example.Location,\n\t\t\tResourceGroupName:      example.Name,\n\t\t\tTenantId:               pulumi.String(current.TenantId),\n\t\t\tSkuName:                pulumi.String(\"standard\"),\n\t\t\tPurgeProtectionEnabled: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdeployer, err := keyvault.NewAccessPolicy(ctx, \"deployer\", \u0026keyvault.AccessPolicyArgs{\n\t\t\tKeyVaultId: exampleKeyVault.ID(),\n\t\t\tTenantId:   pulumi.String(current.TenantId),\n\t\t\tObjectId:   pulumi.String(current.ObjectId),\n\t\t\tKeyPermissions: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"Create\"),\n\t\t\t\tpulumi.String(\"Get\"),\n\t\t\t\tpulumi.String(\"Delete\"),\n\t\t\t\tpulumi.String(\"Purge\"),\n\t\t\t\tpulumi.String(\"GetRotationPolicy\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleKey, err := keyvault.NewKey(ctx, \"example\", \u0026keyvault.KeyArgs{\n\t\t\tName:       pulumi.String(\"workspaceencryptionkey\"),\n\t\t\tKeyVaultId: exampleKeyVault.ID(),\n\t\t\tKeyType:    pulumi.String(\"RSA\"),\n\t\t\tKeySize:    pulumi.Int(2048),\n\t\t\tKeyOpts: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"unwrapKey\"),\n\t\t\t\tpulumi.String(\"wrapKey\"),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tdeployer,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleWorkspace, err := synapse.NewWorkspace(ctx, \"example\", \u0026synapse.WorkspaceArgs{\n\t\t\tName:                            pulumi.String(\"example\"),\n\t\t\tResourceGroupName:               example.Name,\n\t\t\tLocation:                        example.Location,\n\t\t\tStorageDataLakeGen2FilesystemId: exampleDataLakeGen2Filesystem.ID(),\n\t\t\tSqlAdministratorLogin:           pulumi.String(\"sqladminuser\"),\n\t\t\tSqlAdministratorLoginPassword:   pulumi.String(\"H@Sh1CoR3!\"),\n\t\t\tCustomerManagedKey: \u0026synapse.WorkspaceCustomerManagedKeyArgs{\n\t\t\t\tKeyVersionlessId: exampleKey.VersionlessId,\n\t\t\t\tKeyName:          pulumi.String(\"enckey\"),\n\t\t\t},\n\t\t\tIdentity: \u0026synapse.WorkspaceIdentityArgs{\n\t\t\t\tType: pulumi.String(\"SystemAssigned\"),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Env\": pulumi.String(\"production\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tworkspacePolicy, err := keyvault.NewAccessPolicy(ctx, \"workspace_policy\", \u0026keyvault.AccessPolicyArgs{\n\t\t\tKeyVaultId: exampleKeyVault.ID(),\n\t\t\tTenantId: pulumi.String(exampleWorkspace.Identity.ApplyT(func(identity synapse.WorkspaceIdentity) (*string, error) {\n\t\t\t\treturn \u0026identity.TenantId, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tObjectId: pulumi.String(exampleWorkspace.Identity.ApplyT(func(identity synapse.WorkspaceIdentity) (*string, error) {\n\t\t\t\treturn \u0026identity.PrincipalId, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tKeyPermissions: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"Get\"),\n\t\t\t\tpulumi.String(\"WrapKey\"),\n\t\t\t\tpulumi.String(\"UnwrapKey\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleWorkspaceKey, err := synapse.NewWorkspaceKey(ctx, \"example\", \u0026synapse.WorkspaceKeyArgs{\n\t\t\tCustomerManagedKeyVersionlessId: exampleKey.VersionlessId,\n\t\t\tSynapseWorkspaceId:              exampleWorkspace.ID(),\n\t\t\tActive:                          pulumi.Bool(true),\n\t\t\tCustomerManagedKeyName:          pulumi.String(\"enckey\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tworkspacePolicy,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = synapse.NewWorkspaceAadAdmin(ctx, \"example\", \u0026synapse.WorkspaceAadAdminArgs{\n\t\t\tSynapseWorkspaceId: exampleWorkspace.ID(),\n\t\t\tLogin:              pulumi.String(\"AzureAD Admin\"),\n\t\t\tObjectId:           pulumi.String(\"00000000-0000-0000-0000-000000000000\"),\n\t\t\tTenantId:           pulumi.String(\"00000000-0000-0000-0000-000000000000\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleWorkspaceKey,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.storage.Account;\nimport com.pulumi.azure.storage.AccountArgs;\nimport com.pulumi.azure.storage.DataLakeGen2Filesystem;\nimport com.pulumi.azure.storage.DataLakeGen2FilesystemArgs;\nimport com.pulumi.azure.keyvault.KeyVault;\nimport com.pulumi.azure.keyvault.KeyVaultArgs;\nimport com.pulumi.azure.keyvault.AccessPolicy;\nimport com.pulumi.azure.keyvault.AccessPolicyArgs;\nimport com.pulumi.azure.keyvault.Key;\nimport com.pulumi.azure.keyvault.KeyArgs;\nimport com.pulumi.azure.synapse.Workspace;\nimport com.pulumi.azure.synapse.WorkspaceArgs;\nimport com.pulumi.azure.synapse.inputs.WorkspaceCustomerManagedKeyArgs;\nimport com.pulumi.azure.synapse.inputs.WorkspaceIdentityArgs;\nimport com.pulumi.azure.synapse.WorkspaceKey;\nimport com.pulumi.azure.synapse.WorkspaceKeyArgs;\nimport com.pulumi.azure.synapse.WorkspaceAadAdmin;\nimport com.pulumi.azure.synapse.WorkspaceAadAdminArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var current = CoreFunctions.getClientConfig(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"examplestorageacc\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .accountTier(\"Standard\")\n            .accountReplicationType(\"LRS\")\n            .accountKind(\"StorageV2\")\n            .isHnsEnabled(true)\n            .build());\n\n        var exampleDataLakeGen2Filesystem = new DataLakeGen2Filesystem(\"exampleDataLakeGen2Filesystem\", DataLakeGen2FilesystemArgs.builder()\n            .name(\"example\")\n            .storageAccountId(exampleAccount.id())\n            .build());\n\n        var exampleKeyVault = new KeyVault(\"exampleKeyVault\", KeyVaultArgs.builder()\n            .name(\"example\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .tenantId(current.tenantId())\n            .skuName(\"standard\")\n            .purgeProtectionEnabled(true)\n            .build());\n\n        var deployer = new AccessPolicy(\"deployer\", AccessPolicyArgs.builder()\n            .keyVaultId(exampleKeyVault.id())\n            .tenantId(current.tenantId())\n            .objectId(current.objectId())\n            .keyPermissions(            \n                \"Create\",\n                \"Get\",\n                \"Delete\",\n                \"Purge\",\n                \"GetRotationPolicy\")\n            .build());\n\n        var exampleKey = new Key(\"exampleKey\", KeyArgs.builder()\n            .name(\"workspaceencryptionkey\")\n            .keyVaultId(exampleKeyVault.id())\n            .keyType(\"RSA\")\n            .keySize(2048)\n            .keyOpts(            \n                \"unwrapKey\",\n                \"wrapKey\")\n            .build(), CustomResourceOptions.builder()\n                .dependsOn(deployer)\n                .build());\n\n        var exampleWorkspace = new Workspace(\"exampleWorkspace\", WorkspaceArgs.builder()\n            .name(\"example\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .storageDataLakeGen2FilesystemId(exampleDataLakeGen2Filesystem.id())\n            .sqlAdministratorLogin(\"sqladminuser\")\n            .sqlAdministratorLoginPassword(\"H@Sh1CoR3!\")\n            .customerManagedKey(WorkspaceCustomerManagedKeyArgs.builder()\n                .keyVersionlessId(exampleKey.versionlessId())\n                .keyName(\"enckey\")\n                .build())\n            .identity(WorkspaceIdentityArgs.builder()\n                .type(\"SystemAssigned\")\n                .build())\n            .tags(Map.of(\"Env\", \"production\"))\n            .build());\n\n        var workspacePolicy = new AccessPolicy(\"workspacePolicy\", AccessPolicyArgs.builder()\n            .keyVaultId(exampleKeyVault.id())\n            .tenantId(exampleWorkspace.identity().applyValue(_identity -\u003e _identity.tenantId()))\n            .objectId(exampleWorkspace.identity().applyValue(_identity -\u003e _identity.principalId()))\n            .keyPermissions(            \n                \"Get\",\n                \"WrapKey\",\n                \"UnwrapKey\")\n            .build());\n\n        var exampleWorkspaceKey = new WorkspaceKey(\"exampleWorkspaceKey\", WorkspaceKeyArgs.builder()\n            .customerManagedKeyVersionlessId(exampleKey.versionlessId())\n            .synapseWorkspaceId(exampleWorkspace.id())\n            .active(true)\n            .customerManagedKeyName(\"enckey\")\n            .build(), CustomResourceOptions.builder()\n                .dependsOn(workspacePolicy)\n                .build());\n\n        var exampleWorkspaceAadAdmin = new WorkspaceAadAdmin(\"exampleWorkspaceAadAdmin\", WorkspaceAadAdminArgs.builder()\n            .synapseWorkspaceId(exampleWorkspace.id())\n            .login(\"AzureAD Admin\")\n            .objectId(\"00000000-0000-0000-0000-000000000000\")\n            .tenantId(\"00000000-0000-0000-0000-000000000000\")\n            .build(), CustomResourceOptions.builder()\n                .dependsOn(exampleWorkspaceKey)\n                .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleAccount:\n    type: azure:storage:Account\n    name: example\n    properties:\n      name: examplestorageacc\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      accountTier: Standard\n      accountReplicationType: LRS\n      accountKind: StorageV2\n      isHnsEnabled: 'true'\n  exampleDataLakeGen2Filesystem:\n    type: azure:storage:DataLakeGen2Filesystem\n    name: example\n    properties:\n      name: example\n      storageAccountId: ${exampleAccount.id}\n  exampleKeyVault:\n    type: azure:keyvault:KeyVault\n    name: example\n    properties:\n      name: example\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      tenantId: ${current.tenantId}\n      skuName: standard\n      purgeProtectionEnabled: true\n  deployer:\n    type: azure:keyvault:AccessPolicy\n    properties:\n      keyVaultId: ${exampleKeyVault.id}\n      tenantId: ${current.tenantId}\n      objectId: ${current.objectId}\n      keyPermissions:\n        - Create\n        - Get\n        - Delete\n        - Purge\n        - GetRotationPolicy\n  exampleKey:\n    type: azure:keyvault:Key\n    name: example\n    properties:\n      name: workspaceencryptionkey\n      keyVaultId: ${exampleKeyVault.id}\n      keyType: RSA\n      keySize: 2048\n      keyOpts:\n        - unwrapKey\n        - wrapKey\n    options:\n      dependsOn:\n        - ${deployer}\n  exampleWorkspace:\n    type: azure:synapse:Workspace\n    name: example\n    properties:\n      name: example\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      storageDataLakeGen2FilesystemId: ${exampleDataLakeGen2Filesystem.id}\n      sqlAdministratorLogin: sqladminuser\n      sqlAdministratorLoginPassword: H@Sh1CoR3!\n      customerManagedKey:\n        keyVersionlessId: ${exampleKey.versionlessId}\n        keyName: enckey\n      identity:\n        type: SystemAssigned\n      tags:\n        Env: production\n  workspacePolicy:\n    type: azure:keyvault:AccessPolicy\n    name: workspace_policy\n    properties:\n      keyVaultId: ${exampleKeyVault.id}\n      tenantId: ${exampleWorkspace.identity.tenantId}\n      objectId: ${exampleWorkspace.identity.principalId}\n      keyPermissions:\n        - Get\n        - WrapKey\n        - UnwrapKey\n  exampleWorkspaceKey:\n    type: azure:synapse:WorkspaceKey\n    name: example\n    properties:\n      customerManagedKeyVersionlessId: ${exampleKey.versionlessId}\n      synapseWorkspaceId: ${exampleWorkspace.id}\n      active: true\n      customerManagedKeyName: enckey\n    options:\n      dependsOn:\n        - ${workspacePolicy}\n  exampleWorkspaceAadAdmin:\n    type: azure:synapse:WorkspaceAadAdmin\n    name: example\n    properties:\n      synapseWorkspaceId: ${exampleWorkspace.id}\n      login: AzureAD Admin\n      objectId: 00000000-0000-0000-0000-000000000000\n      tenantId: 00000000-0000-0000-0000-000000000000\n    options:\n      dependsOn:\n        - ${exampleWorkspaceKey}\nvariables:\n  current:\n    fn::invoke:\n      function: azure:core:getClientConfig\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nSynapse Workspace can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:synapse/workspace:Workspace example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Synapse/workspaces/workspace1\n```\n\n","properties":{"azureDevopsRepo":{"$ref":"#/types/azure:synapse/WorkspaceAzureDevopsRepo:WorkspaceAzureDevopsRepo","description":"An \u003cspan pulumi-lang-nodejs=\"`azureDevopsRepo`\" pulumi-lang-dotnet=\"`AzureDevopsRepo`\" pulumi-lang-go=\"`azureDevopsRepo`\" pulumi-lang-python=\"`azure_devops_repo`\" pulumi-lang-yaml=\"`azureDevopsRepo`\" pulumi-lang-java=\"`azureDevopsRepo`\"\u003e`azure_devops_repo`\u003c/span\u003e block as defined below.\n"},"azureadAuthenticationOnly":{"type":"boolean","description":"Is Azure Active Directory Authentication the only way to authenticate with resources inside this synapse Workspace. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"computeSubnetId":{"type":"string","description":"Subnet ID used for computes in workspace Changing this forces a new resource to be created.\n"},"connectivityEndpoints":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of Connectivity endpoints for this Synapse Workspace. Possible key values are \u003cspan pulumi-lang-nodejs=\"`dev`\" pulumi-lang-dotnet=\"`Dev`\" pulumi-lang-go=\"`dev`\" pulumi-lang-python=\"`dev`\" pulumi-lang-yaml=\"`dev`\" pulumi-lang-java=\"`dev`\"\u003e`dev`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`sql`\" pulumi-lang-dotnet=\"`Sql`\" pulumi-lang-go=\"`sql`\" pulumi-lang-python=\"`sql`\" pulumi-lang-yaml=\"`sql`\" pulumi-lang-java=\"`sql`\"\u003e`sql`\u003c/span\u003e, `sqlOnDemand`, and \u003cspan pulumi-lang-nodejs=\"`web`\" pulumi-lang-dotnet=\"`Web`\" pulumi-lang-go=\"`web`\" pulumi-lang-python=\"`web`\" pulumi-lang-yaml=\"`web`\" pulumi-lang-java=\"`web`\"\u003e`web`\u003c/span\u003e.\n"},"customerManagedKey":{"$ref":"#/types/azure:synapse/WorkspaceCustomerManagedKey:WorkspaceCustomerManagedKey","description":"A \u003cspan pulumi-lang-nodejs=\"`customerManagedKey`\" pulumi-lang-dotnet=\"`CustomerManagedKey`\" pulumi-lang-go=\"`customerManagedKey`\" pulumi-lang-python=\"`customer_managed_key`\" pulumi-lang-yaml=\"`customerManagedKey`\" pulumi-lang-java=\"`customerManagedKey`\"\u003e`customer_managed_key`\u003c/span\u003e block as defined below.\n"},"dataExfiltrationProtectionEnabled":{"type":"boolean","description":"Is data exfiltration protection enabled in this workspace? If set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`managedVirtualNetworkEnabled`\" pulumi-lang-dotnet=\"`ManagedVirtualNetworkEnabled`\" pulumi-lang-go=\"`managedVirtualNetworkEnabled`\" pulumi-lang-python=\"`managed_virtual_network_enabled`\" pulumi-lang-yaml=\"`managedVirtualNetworkEnabled`\" pulumi-lang-java=\"`managedVirtualNetworkEnabled`\"\u003e`managed_virtual_network_enabled`\u003c/span\u003e must also be set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e. Changing this forces a new resource to be created.\n"},"githubRepo":{"$ref":"#/types/azure:synapse/WorkspaceGithubRepo:WorkspaceGithubRepo","description":"A \u003cspan pulumi-lang-nodejs=\"`githubRepo`\" pulumi-lang-dotnet=\"`GithubRepo`\" pulumi-lang-go=\"`githubRepo`\" pulumi-lang-python=\"`github_repo`\" pulumi-lang-yaml=\"`githubRepo`\" pulumi-lang-java=\"`githubRepo`\"\u003e`github_repo`\u003c/span\u003e block as defined below.\n"},"identity":{"$ref":"#/types/azure:synapse/WorkspaceIdentity:WorkspaceIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"linkingAllowedForAadTenantIds":{"type":"array","items":{"type":"string"},"description":"Allowed AAD Tenant Ids For Linking.\n"},"location":{"type":"string","description":"Specifies the Azure Region where the synapse Workspace should exist. Changing this forces a new resource to be created.\n"},"managedResourceGroupName":{"type":"string","description":"Workspace managed resource group. Changing this forces a new resource to be created.\n"},"managedVirtualNetworkEnabled":{"type":"boolean","description":"Is Virtual Network enabled for all computes in this workspace? Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"Specifies the name which should be used for this synapse Workspace. Changing this forces a new resource to be created.\n"},"publicNetworkAccessEnabled":{"type":"boolean","description":"Whether public network access is allowed for the Cognitive Account. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"purviewId":{"type":"string","description":"The ID of purview account.\n"},"resourceGroupName":{"type":"string","description":"Specifies the name of the Resource Group where the synapse Workspace should exist. Changing this forces a new resource to be created.\n"},"sqlAdministratorLogin":{"type":"string","description":"Specifies The login name of the SQL administrator. Changing this forces a new resource to be created. If this is not provided \u003cspan pulumi-lang-nodejs=\"`customerManagedKey`\" pulumi-lang-dotnet=\"`CustomerManagedKey`\" pulumi-lang-go=\"`customerManagedKey`\" pulumi-lang-python=\"`customer_managed_key`\" pulumi-lang-yaml=\"`customerManagedKey`\" pulumi-lang-java=\"`customerManagedKey`\"\u003e`customer_managed_key`\u003c/span\u003e must be provided.\n"},"sqlAdministratorLoginPassword":{"type":"string","description":"The Password associated with the \u003cspan pulumi-lang-nodejs=\"`sqlAdministratorLogin`\" pulumi-lang-dotnet=\"`SqlAdministratorLogin`\" pulumi-lang-go=\"`sqlAdministratorLogin`\" pulumi-lang-python=\"`sql_administrator_login`\" pulumi-lang-yaml=\"`sqlAdministratorLogin`\" pulumi-lang-java=\"`sqlAdministratorLogin`\"\u003e`sql_administrator_login`\u003c/span\u003e for the SQL administrator. If this is not provided \u003cspan pulumi-lang-nodejs=\"`customerManagedKey`\" pulumi-lang-dotnet=\"`CustomerManagedKey`\" pulumi-lang-go=\"`customerManagedKey`\" pulumi-lang-python=\"`customer_managed_key`\" pulumi-lang-yaml=\"`customerManagedKey`\" pulumi-lang-java=\"`customerManagedKey`\"\u003e`customer_managed_key`\u003c/span\u003e must be provided.\n","secret":true},"sqlIdentityControlEnabled":{"type":"boolean","description":"Are pipelines (running as workspace's system assigned identity) allowed to access SQL pools?\n"},"storageDataLakeGen2FilesystemId":{"type":"string","description":"Specifies the ID of storage data lake gen2 filesystem resource. Changing this forces a new resource to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Synapse Workspace.\n"}},"required":["connectivityEndpoints","location","managedResourceGroupName","name","resourceGroupName","storageDataLakeGen2FilesystemId"],"inputProperties":{"azureDevopsRepo":{"$ref":"#/types/azure:synapse/WorkspaceAzureDevopsRepo:WorkspaceAzureDevopsRepo","description":"An \u003cspan pulumi-lang-nodejs=\"`azureDevopsRepo`\" pulumi-lang-dotnet=\"`AzureDevopsRepo`\" pulumi-lang-go=\"`azureDevopsRepo`\" pulumi-lang-python=\"`azure_devops_repo`\" pulumi-lang-yaml=\"`azureDevopsRepo`\" pulumi-lang-java=\"`azureDevopsRepo`\"\u003e`azure_devops_repo`\u003c/span\u003e block as defined below.\n"},"azureadAuthenticationOnly":{"type":"boolean","description":"Is Azure Active Directory Authentication the only way to authenticate with resources inside this synapse Workspace. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"computeSubnetId":{"type":"string","description":"Subnet ID used for computes in workspace Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"customerManagedKey":{"$ref":"#/types/azure:synapse/WorkspaceCustomerManagedKey:WorkspaceCustomerManagedKey","description":"A \u003cspan pulumi-lang-nodejs=\"`customerManagedKey`\" pulumi-lang-dotnet=\"`CustomerManagedKey`\" pulumi-lang-go=\"`customerManagedKey`\" pulumi-lang-python=\"`customer_managed_key`\" pulumi-lang-yaml=\"`customerManagedKey`\" pulumi-lang-java=\"`customerManagedKey`\"\u003e`customer_managed_key`\u003c/span\u003e block as defined below.\n"},"dataExfiltrationProtectionEnabled":{"type":"boolean","description":"Is data exfiltration protection enabled in this workspace? If set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`managedVirtualNetworkEnabled`\" pulumi-lang-dotnet=\"`ManagedVirtualNetworkEnabled`\" pulumi-lang-go=\"`managedVirtualNetworkEnabled`\" pulumi-lang-python=\"`managed_virtual_network_enabled`\" pulumi-lang-yaml=\"`managedVirtualNetworkEnabled`\" pulumi-lang-java=\"`managedVirtualNetworkEnabled`\"\u003e`managed_virtual_network_enabled`\u003c/span\u003e must also be set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"githubRepo":{"$ref":"#/types/azure:synapse/WorkspaceGithubRepo:WorkspaceGithubRepo","description":"A \u003cspan pulumi-lang-nodejs=\"`githubRepo`\" pulumi-lang-dotnet=\"`GithubRepo`\" pulumi-lang-go=\"`githubRepo`\" pulumi-lang-python=\"`github_repo`\" pulumi-lang-yaml=\"`githubRepo`\" pulumi-lang-java=\"`githubRepo`\"\u003e`github_repo`\u003c/span\u003e block as defined below.\n"},"identity":{"$ref":"#/types/azure:synapse/WorkspaceIdentity:WorkspaceIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"linkingAllowedForAadTenantIds":{"type":"array","items":{"type":"string"},"description":"Allowed AAD Tenant Ids For Linking.\n"},"location":{"type":"string","description":"Specifies the Azure Region where the synapse Workspace should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"managedResourceGroupName":{"type":"string","description":"Workspace managed resource group. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"managedVirtualNetworkEnabled":{"type":"boolean","description":"Is Virtual Network enabled for all computes in this workspace? Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name which should be used for this synapse Workspace. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"publicNetworkAccessEnabled":{"type":"boolean","description":"Whether public network access is allowed for the Cognitive Account. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"purviewId":{"type":"string","description":"The ID of purview account.\n"},"resourceGroupName":{"type":"string","description":"Specifies the name of the Resource Group where the synapse Workspace should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sqlAdministratorLogin":{"type":"string","description":"Specifies The login name of the SQL administrator. Changing this forces a new resource to be created. If this is not provided \u003cspan pulumi-lang-nodejs=\"`customerManagedKey`\" pulumi-lang-dotnet=\"`CustomerManagedKey`\" pulumi-lang-go=\"`customerManagedKey`\" pulumi-lang-python=\"`customer_managed_key`\" pulumi-lang-yaml=\"`customerManagedKey`\" pulumi-lang-java=\"`customerManagedKey`\"\u003e`customer_managed_key`\u003c/span\u003e must be provided.\n","willReplaceOnChanges":true},"sqlAdministratorLoginPassword":{"type":"string","description":"The Password associated with the \u003cspan pulumi-lang-nodejs=\"`sqlAdministratorLogin`\" pulumi-lang-dotnet=\"`SqlAdministratorLogin`\" pulumi-lang-go=\"`sqlAdministratorLogin`\" pulumi-lang-python=\"`sql_administrator_login`\" pulumi-lang-yaml=\"`sqlAdministratorLogin`\" pulumi-lang-java=\"`sqlAdministratorLogin`\"\u003e`sql_administrator_login`\u003c/span\u003e for the SQL administrator. If this is not provided \u003cspan pulumi-lang-nodejs=\"`customerManagedKey`\" pulumi-lang-dotnet=\"`CustomerManagedKey`\" pulumi-lang-go=\"`customerManagedKey`\" pulumi-lang-python=\"`customer_managed_key`\" pulumi-lang-yaml=\"`customerManagedKey`\" pulumi-lang-java=\"`customerManagedKey`\"\u003e`customer_managed_key`\u003c/span\u003e must be provided.\n","secret":true},"sqlIdentityControlEnabled":{"type":"boolean","description":"Are pipelines (running as workspace's system assigned identity) allowed to access SQL pools?\n"},"storageDataLakeGen2FilesystemId":{"type":"string","description":"Specifies the ID of storage data lake gen2 filesystem resource. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Synapse Workspace.\n"}},"requiredInputs":["resourceGroupName","storageDataLakeGen2FilesystemId"],"stateInputs":{"description":"Input properties used for looking up and filtering Workspace resources.\n","properties":{"azureDevopsRepo":{"$ref":"#/types/azure:synapse/WorkspaceAzureDevopsRepo:WorkspaceAzureDevopsRepo","description":"An \u003cspan pulumi-lang-nodejs=\"`azureDevopsRepo`\" pulumi-lang-dotnet=\"`AzureDevopsRepo`\" pulumi-lang-go=\"`azureDevopsRepo`\" pulumi-lang-python=\"`azure_devops_repo`\" pulumi-lang-yaml=\"`azureDevopsRepo`\" pulumi-lang-java=\"`azureDevopsRepo`\"\u003e`azure_devops_repo`\u003c/span\u003e block as defined below.\n"},"azureadAuthenticationOnly":{"type":"boolean","description":"Is Azure Active Directory Authentication the only way to authenticate with resources inside this synapse Workspace. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"computeSubnetId":{"type":"string","description":"Subnet ID used for computes in workspace Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"connectivityEndpoints":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of Connectivity endpoints for this Synapse Workspace. Possible key values are \u003cspan pulumi-lang-nodejs=\"`dev`\" pulumi-lang-dotnet=\"`Dev`\" pulumi-lang-go=\"`dev`\" pulumi-lang-python=\"`dev`\" pulumi-lang-yaml=\"`dev`\" pulumi-lang-java=\"`dev`\"\u003e`dev`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`sql`\" pulumi-lang-dotnet=\"`Sql`\" pulumi-lang-go=\"`sql`\" pulumi-lang-python=\"`sql`\" pulumi-lang-yaml=\"`sql`\" pulumi-lang-java=\"`sql`\"\u003e`sql`\u003c/span\u003e, `sqlOnDemand`, and \u003cspan pulumi-lang-nodejs=\"`web`\" pulumi-lang-dotnet=\"`Web`\" pulumi-lang-go=\"`web`\" pulumi-lang-python=\"`web`\" pulumi-lang-yaml=\"`web`\" pulumi-lang-java=\"`web`\"\u003e`web`\u003c/span\u003e.\n"},"customerManagedKey":{"$ref":"#/types/azure:synapse/WorkspaceCustomerManagedKey:WorkspaceCustomerManagedKey","description":"A \u003cspan pulumi-lang-nodejs=\"`customerManagedKey`\" pulumi-lang-dotnet=\"`CustomerManagedKey`\" pulumi-lang-go=\"`customerManagedKey`\" pulumi-lang-python=\"`customer_managed_key`\" pulumi-lang-yaml=\"`customerManagedKey`\" pulumi-lang-java=\"`customerManagedKey`\"\u003e`customer_managed_key`\u003c/span\u003e block as defined below.\n"},"dataExfiltrationProtectionEnabled":{"type":"boolean","description":"Is data exfiltration protection enabled in this workspace? If set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`managedVirtualNetworkEnabled`\" pulumi-lang-dotnet=\"`ManagedVirtualNetworkEnabled`\" pulumi-lang-go=\"`managedVirtualNetworkEnabled`\" pulumi-lang-python=\"`managed_virtual_network_enabled`\" pulumi-lang-yaml=\"`managedVirtualNetworkEnabled`\" pulumi-lang-java=\"`managedVirtualNetworkEnabled`\"\u003e`managed_virtual_network_enabled`\u003c/span\u003e must also be set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"githubRepo":{"$ref":"#/types/azure:synapse/WorkspaceGithubRepo:WorkspaceGithubRepo","description":"A \u003cspan pulumi-lang-nodejs=\"`githubRepo`\" pulumi-lang-dotnet=\"`GithubRepo`\" pulumi-lang-go=\"`githubRepo`\" pulumi-lang-python=\"`github_repo`\" pulumi-lang-yaml=\"`githubRepo`\" pulumi-lang-java=\"`githubRepo`\"\u003e`github_repo`\u003c/span\u003e block as defined below.\n"},"identity":{"$ref":"#/types/azure:synapse/WorkspaceIdentity:WorkspaceIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"linkingAllowedForAadTenantIds":{"type":"array","items":{"type":"string"},"description":"Allowed AAD Tenant Ids For Linking.\n"},"location":{"type":"string","description":"Specifies the Azure Region where the synapse Workspace should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"managedResourceGroupName":{"type":"string","description":"Workspace managed resource group. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"managedVirtualNetworkEnabled":{"type":"boolean","description":"Is Virtual Network enabled for all computes in this workspace? Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name which should be used for this synapse Workspace. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"publicNetworkAccessEnabled":{"type":"boolean","description":"Whether public network access is allowed for the Cognitive Account. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"purviewId":{"type":"string","description":"The ID of purview account.\n"},"resourceGroupName":{"type":"string","description":"Specifies the name of the Resource Group where the synapse Workspace should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sqlAdministratorLogin":{"type":"string","description":"Specifies The login name of the SQL administrator. Changing this forces a new resource to be created. If this is not provided \u003cspan pulumi-lang-nodejs=\"`customerManagedKey`\" pulumi-lang-dotnet=\"`CustomerManagedKey`\" pulumi-lang-go=\"`customerManagedKey`\" pulumi-lang-python=\"`customer_managed_key`\" pulumi-lang-yaml=\"`customerManagedKey`\" pulumi-lang-java=\"`customerManagedKey`\"\u003e`customer_managed_key`\u003c/span\u003e must be provided.\n","willReplaceOnChanges":true},"sqlAdministratorLoginPassword":{"type":"string","description":"The Password associated with the \u003cspan pulumi-lang-nodejs=\"`sqlAdministratorLogin`\" pulumi-lang-dotnet=\"`SqlAdministratorLogin`\" pulumi-lang-go=\"`sqlAdministratorLogin`\" pulumi-lang-python=\"`sql_administrator_login`\" pulumi-lang-yaml=\"`sqlAdministratorLogin`\" pulumi-lang-java=\"`sqlAdministratorLogin`\"\u003e`sql_administrator_login`\u003c/span\u003e for the SQL administrator. If this is not provided \u003cspan pulumi-lang-nodejs=\"`customerManagedKey`\" pulumi-lang-dotnet=\"`CustomerManagedKey`\" pulumi-lang-go=\"`customerManagedKey`\" pulumi-lang-python=\"`customer_managed_key`\" pulumi-lang-yaml=\"`customerManagedKey`\" pulumi-lang-java=\"`customerManagedKey`\"\u003e`customer_managed_key`\u003c/span\u003e must be provided.\n","secret":true},"sqlIdentityControlEnabled":{"type":"boolean","description":"Are pipelines (running as workspace's system assigned identity) allowed to access SQL pools?\n"},"storageDataLakeGen2FilesystemId":{"type":"string","description":"Specifies the ID of storage data lake gen2 filesystem resource. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Synapse Workspace.\n"}},"type":"object"}},"azure:synapse/workspaceAadAdmin:WorkspaceAadAdmin":{"description":"Manages an Azure Active Directory Administrator setting for a Synapse Workspace\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleAccount = new azure.storage.Account(\"example\", {\n    name: \"examplestorageacc\",\n    resourceGroupName: example.name,\n    location: example.location,\n    accountTier: \"Standard\",\n    accountReplicationType: \"LRS\",\n    accountKind: \"StorageV2\",\n    isHnsEnabled: true,\n});\nconst exampleDataLakeGen2Filesystem = new azure.storage.DataLakeGen2Filesystem(\"example\", {\n    name: \"example\",\n    storageAccountId: exampleAccount.id,\n});\nconst current = azure.core.getClientConfig({});\nconst exampleKeyVault = new azure.keyvault.KeyVault(\"example\", {\n    name: \"example\",\n    location: example.location,\n    resourceGroupName: example.name,\n    tenantId: current.then(current =\u003e current.tenantId),\n    skuName: \"standard\",\n    purgeProtectionEnabled: true,\n});\nconst deployer = new azure.keyvault.AccessPolicy(\"deployer\", {\n    keyVaultId: exampleKeyVault.id,\n    tenantId: current.then(current =\u003e current.tenantId),\n    objectId: current.then(current =\u003e current.objectId),\n    keyPermissions: [\n        \"Create\",\n        \"Get\",\n        \"Delete\",\n        \"Purge\",\n        \"GetRotationPolicy\",\n    ],\n});\nconst exampleKey = new azure.keyvault.Key(\"example\", {\n    name: \"workspace-encryption-key\",\n    keyVaultId: exampleKeyVault.id,\n    keyType: \"RSA\",\n    keySize: 2048,\n    keyOpts: [\n        \"unwrapKey\",\n        \"wrapKey\",\n    ],\n}, {\n    dependsOn: [deployer],\n});\nconst exampleWorkspace = new azure.synapse.Workspace(\"example\", {\n    name: \"example\",\n    resourceGroupName: example.name,\n    location: example.location,\n    storageDataLakeGen2FilesystemId: exampleDataLakeGen2Filesystem.id,\n    sqlAdministratorLogin: \"sqladminuser\",\n    sqlAdministratorLoginPassword: \"H@Sh1CoR3!\",\n    identity: {\n        type: \"SystemAssigned\",\n    },\n    tags: {\n        Env: \"production\",\n    },\n});\nconst exampleWorkspaceAadAdmin = new azure.synapse.WorkspaceAadAdmin(\"example\", {\n    synapseWorkspaceId: exampleWorkspace.id,\n    login: \"AzureAD Admin\",\n    objectId: current.then(current =\u003e current.objectId),\n    tenantId: current.then(current =\u003e current.tenantId),\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_account = azure.storage.Account(\"example\",\n    name=\"examplestorageacc\",\n    resource_group_name=example.name,\n    location=example.location,\n    account_tier=\"Standard\",\n    account_replication_type=\"LRS\",\n    account_kind=\"StorageV2\",\n    is_hns_enabled=True)\nexample_data_lake_gen2_filesystem = azure.storage.DataLakeGen2Filesystem(\"example\",\n    name=\"example\",\n    storage_account_id=example_account.id)\ncurrent = azure.core.get_client_config()\nexample_key_vault = azure.keyvault.KeyVault(\"example\",\n    name=\"example\",\n    location=example.location,\n    resource_group_name=example.name,\n    tenant_id=current.tenant_id,\n    sku_name=\"standard\",\n    purge_protection_enabled=True)\ndeployer = azure.keyvault.AccessPolicy(\"deployer\",\n    key_vault_id=example_key_vault.id,\n    tenant_id=current.tenant_id,\n    object_id=current.object_id,\n    key_permissions=[\n        \"Create\",\n        \"Get\",\n        \"Delete\",\n        \"Purge\",\n        \"GetRotationPolicy\",\n    ])\nexample_key = azure.keyvault.Key(\"example\",\n    name=\"workspace-encryption-key\",\n    key_vault_id=example_key_vault.id,\n    key_type=\"RSA\",\n    key_size=2048,\n    key_opts=[\n        \"unwrapKey\",\n        \"wrapKey\",\n    ],\n    opts = pulumi.ResourceOptions(depends_on=[deployer]))\nexample_workspace = azure.synapse.Workspace(\"example\",\n    name=\"example\",\n    resource_group_name=example.name,\n    location=example.location,\n    storage_data_lake_gen2_filesystem_id=example_data_lake_gen2_filesystem.id,\n    sql_administrator_login=\"sqladminuser\",\n    sql_administrator_login_password=\"H@Sh1CoR3!\",\n    identity={\n        \"type\": \"SystemAssigned\",\n    },\n    tags={\n        \"Env\": \"production\",\n    })\nexample_workspace_aad_admin = azure.synapse.WorkspaceAadAdmin(\"example\",\n    synapse_workspace_id=example_workspace.id,\n    login=\"AzureAD Admin\",\n    object_id=current.object_id,\n    tenant_id=current.tenant_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleAccount = new Azure.Storage.Account(\"example\", new()\n    {\n        Name = \"examplestorageacc\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        AccountTier = \"Standard\",\n        AccountReplicationType = \"LRS\",\n        AccountKind = \"StorageV2\",\n        IsHnsEnabled = true,\n    });\n\n    var exampleDataLakeGen2Filesystem = new Azure.Storage.DataLakeGen2Filesystem(\"example\", new()\n    {\n        Name = \"example\",\n        StorageAccountId = exampleAccount.Id,\n    });\n\n    var current = Azure.Core.GetClientConfig.Invoke();\n\n    var exampleKeyVault = new Azure.KeyVault.KeyVault(\"example\", new()\n    {\n        Name = \"example\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        TenantId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.TenantId),\n        SkuName = \"standard\",\n        PurgeProtectionEnabled = true,\n    });\n\n    var deployer = new Azure.KeyVault.AccessPolicy(\"deployer\", new()\n    {\n        KeyVaultId = exampleKeyVault.Id,\n        TenantId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.TenantId),\n        ObjectId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.ObjectId),\n        KeyPermissions = new[]\n        {\n            \"Create\",\n            \"Get\",\n            \"Delete\",\n            \"Purge\",\n            \"GetRotationPolicy\",\n        },\n    });\n\n    var exampleKey = new Azure.KeyVault.Key(\"example\", new()\n    {\n        Name = \"workspace-encryption-key\",\n        KeyVaultId = exampleKeyVault.Id,\n        KeyType = \"RSA\",\n        KeySize = 2048,\n        KeyOpts = new[]\n        {\n            \"unwrapKey\",\n            \"wrapKey\",\n        },\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            deployer,\n        },\n    });\n\n    var exampleWorkspace = new Azure.Synapse.Workspace(\"example\", new()\n    {\n        Name = \"example\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        StorageDataLakeGen2FilesystemId = exampleDataLakeGen2Filesystem.Id,\n        SqlAdministratorLogin = \"sqladminuser\",\n        SqlAdministratorLoginPassword = \"H@Sh1CoR3!\",\n        Identity = new Azure.Synapse.Inputs.WorkspaceIdentityArgs\n        {\n            Type = \"SystemAssigned\",\n        },\n        Tags = \n        {\n            { \"Env\", \"production\" },\n        },\n    });\n\n    var exampleWorkspaceAadAdmin = new Azure.Synapse.WorkspaceAadAdmin(\"example\", new()\n    {\n        SynapseWorkspaceId = exampleWorkspace.Id,\n        Login = \"AzureAD Admin\",\n        ObjectId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.ObjectId),\n        TenantId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.TenantId),\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/keyvault\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/synapse\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := storage.NewAccount(ctx, \"example\", \u0026storage.AccountArgs{\n\t\t\tName:                   pulumi.String(\"examplestorageacc\"),\n\t\t\tResourceGroupName:      example.Name,\n\t\t\tLocation:               example.Location,\n\t\t\tAccountTier:            pulumi.String(\"Standard\"),\n\t\t\tAccountReplicationType: pulumi.String(\"LRS\"),\n\t\t\tAccountKind:            pulumi.String(\"StorageV2\"),\n\t\t\tIsHnsEnabled:           pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleDataLakeGen2Filesystem, err := storage.NewDataLakeGen2Filesystem(ctx, \"example\", \u0026storage.DataLakeGen2FilesystemArgs{\n\t\t\tName:             pulumi.String(\"example\"),\n\t\t\tStorageAccountId: exampleAccount.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrent, err := core.GetClientConfig(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleKeyVault, err := keyvault.NewKeyVault(ctx, \"example\", \u0026keyvault.KeyVaultArgs{\n\t\t\tName:                   pulumi.String(\"example\"),\n\t\t\tLocation:               example.Location,\n\t\t\tResourceGroupName:      example.Name,\n\t\t\tTenantId:               pulumi.String(current.TenantId),\n\t\t\tSkuName:                pulumi.String(\"standard\"),\n\t\t\tPurgeProtectionEnabled: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdeployer, err := keyvault.NewAccessPolicy(ctx, \"deployer\", \u0026keyvault.AccessPolicyArgs{\n\t\t\tKeyVaultId: exampleKeyVault.ID(),\n\t\t\tTenantId:   pulumi.String(current.TenantId),\n\t\t\tObjectId:   pulumi.String(current.ObjectId),\n\t\t\tKeyPermissions: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"Create\"),\n\t\t\t\tpulumi.String(\"Get\"),\n\t\t\t\tpulumi.String(\"Delete\"),\n\t\t\t\tpulumi.String(\"Purge\"),\n\t\t\t\tpulumi.String(\"GetRotationPolicy\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = keyvault.NewKey(ctx, \"example\", \u0026keyvault.KeyArgs{\n\t\t\tName:       pulumi.String(\"workspace-encryption-key\"),\n\t\t\tKeyVaultId: exampleKeyVault.ID(),\n\t\t\tKeyType:    pulumi.String(\"RSA\"),\n\t\t\tKeySize:    pulumi.Int(2048),\n\t\t\tKeyOpts: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"unwrapKey\"),\n\t\t\t\tpulumi.String(\"wrapKey\"),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tdeployer,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleWorkspace, err := synapse.NewWorkspace(ctx, \"example\", \u0026synapse.WorkspaceArgs{\n\t\t\tName:                            pulumi.String(\"example\"),\n\t\t\tResourceGroupName:               example.Name,\n\t\t\tLocation:                        example.Location,\n\t\t\tStorageDataLakeGen2FilesystemId: exampleDataLakeGen2Filesystem.ID(),\n\t\t\tSqlAdministratorLogin:           pulumi.String(\"sqladminuser\"),\n\t\t\tSqlAdministratorLoginPassword:   pulumi.String(\"H@Sh1CoR3!\"),\n\t\t\tIdentity: \u0026synapse.WorkspaceIdentityArgs{\n\t\t\t\tType: pulumi.String(\"SystemAssigned\"),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Env\": pulumi.String(\"production\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = synapse.NewWorkspaceAadAdmin(ctx, \"example\", \u0026synapse.WorkspaceAadAdminArgs{\n\t\t\tSynapseWorkspaceId: exampleWorkspace.ID(),\n\t\t\tLogin:              pulumi.String(\"AzureAD Admin\"),\n\t\t\tObjectId:           pulumi.String(current.ObjectId),\n\t\t\tTenantId:           pulumi.String(current.TenantId),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.storage.Account;\nimport com.pulumi.azure.storage.AccountArgs;\nimport com.pulumi.azure.storage.DataLakeGen2Filesystem;\nimport com.pulumi.azure.storage.DataLakeGen2FilesystemArgs;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.keyvault.KeyVault;\nimport com.pulumi.azure.keyvault.KeyVaultArgs;\nimport com.pulumi.azure.keyvault.AccessPolicy;\nimport com.pulumi.azure.keyvault.AccessPolicyArgs;\nimport com.pulumi.azure.keyvault.Key;\nimport com.pulumi.azure.keyvault.KeyArgs;\nimport com.pulumi.azure.synapse.Workspace;\nimport com.pulumi.azure.synapse.WorkspaceArgs;\nimport com.pulumi.azure.synapse.inputs.WorkspaceIdentityArgs;\nimport com.pulumi.azure.synapse.WorkspaceAadAdmin;\nimport com.pulumi.azure.synapse.WorkspaceAadAdminArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"examplestorageacc\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .accountTier(\"Standard\")\n            .accountReplicationType(\"LRS\")\n            .accountKind(\"StorageV2\")\n            .isHnsEnabled(true)\n            .build());\n\n        var exampleDataLakeGen2Filesystem = new DataLakeGen2Filesystem(\"exampleDataLakeGen2Filesystem\", DataLakeGen2FilesystemArgs.builder()\n            .name(\"example\")\n            .storageAccountId(exampleAccount.id())\n            .build());\n\n        final var current = CoreFunctions.getClientConfig(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n        var exampleKeyVault = new KeyVault(\"exampleKeyVault\", KeyVaultArgs.builder()\n            .name(\"example\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .tenantId(current.tenantId())\n            .skuName(\"standard\")\n            .purgeProtectionEnabled(true)\n            .build());\n\n        var deployer = new AccessPolicy(\"deployer\", AccessPolicyArgs.builder()\n            .keyVaultId(exampleKeyVault.id())\n            .tenantId(current.tenantId())\n            .objectId(current.objectId())\n            .keyPermissions(            \n                \"Create\",\n                \"Get\",\n                \"Delete\",\n                \"Purge\",\n                \"GetRotationPolicy\")\n            .build());\n\n        var exampleKey = new Key(\"exampleKey\", KeyArgs.builder()\n            .name(\"workspace-encryption-key\")\n            .keyVaultId(exampleKeyVault.id())\n            .keyType(\"RSA\")\n            .keySize(2048)\n            .keyOpts(            \n                \"unwrapKey\",\n                \"wrapKey\")\n            .build(), CustomResourceOptions.builder()\n                .dependsOn(deployer)\n                .build());\n\n        var exampleWorkspace = new Workspace(\"exampleWorkspace\", WorkspaceArgs.builder()\n            .name(\"example\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .storageDataLakeGen2FilesystemId(exampleDataLakeGen2Filesystem.id())\n            .sqlAdministratorLogin(\"sqladminuser\")\n            .sqlAdministratorLoginPassword(\"H@Sh1CoR3!\")\n            .identity(WorkspaceIdentityArgs.builder()\n                .type(\"SystemAssigned\")\n                .build())\n            .tags(Map.of(\"Env\", \"production\"))\n            .build());\n\n        var exampleWorkspaceAadAdmin = new WorkspaceAadAdmin(\"exampleWorkspaceAadAdmin\", WorkspaceAadAdminArgs.builder()\n            .synapseWorkspaceId(exampleWorkspace.id())\n            .login(\"AzureAD Admin\")\n            .objectId(current.objectId())\n            .tenantId(current.tenantId())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleAccount:\n    type: azure:storage:Account\n    name: example\n    properties:\n      name: examplestorageacc\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      accountTier: Standard\n      accountReplicationType: LRS\n      accountKind: StorageV2\n      isHnsEnabled: 'true'\n  exampleDataLakeGen2Filesystem:\n    type: azure:storage:DataLakeGen2Filesystem\n    name: example\n    properties:\n      name: example\n      storageAccountId: ${exampleAccount.id}\n  exampleKeyVault:\n    type: azure:keyvault:KeyVault\n    name: example\n    properties:\n      name: example\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      tenantId: ${current.tenantId}\n      skuName: standard\n      purgeProtectionEnabled: true\n  deployer:\n    type: azure:keyvault:AccessPolicy\n    properties:\n      keyVaultId: ${exampleKeyVault.id}\n      tenantId: ${current.tenantId}\n      objectId: ${current.objectId}\n      keyPermissions:\n        - Create\n        - Get\n        - Delete\n        - Purge\n        - GetRotationPolicy\n  exampleKey:\n    type: azure:keyvault:Key\n    name: example\n    properties:\n      name: workspace-encryption-key\n      keyVaultId: ${exampleKeyVault.id}\n      keyType: RSA\n      keySize: 2048\n      keyOpts:\n        - unwrapKey\n        - wrapKey\n    options:\n      dependsOn:\n        - ${deployer}\n  exampleWorkspace:\n    type: azure:synapse:Workspace\n    name: example\n    properties:\n      name: example\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      storageDataLakeGen2FilesystemId: ${exampleDataLakeGen2Filesystem.id}\n      sqlAdministratorLogin: sqladminuser\n      sqlAdministratorLoginPassword: H@Sh1CoR3!\n      identity:\n        type: SystemAssigned\n      tags:\n        Env: production\n  exampleWorkspaceAadAdmin:\n    type: azure:synapse:WorkspaceAadAdmin\n    name: example\n    properties:\n      synapseWorkspaceId: ${exampleWorkspace.id}\n      login: AzureAD Admin\n      objectId: ${current.objectId}\n      tenantId: ${current.tenantId}\nvariables:\n  current:\n    fn::invoke:\n      function: azure:core:getClientConfig\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nSynapse Workspace Azure AD Administrator can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:synapse/workspaceAadAdmin:WorkspaceAadAdmin example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup1/providers/Microsoft.Synapse/workspaces/workspace1/administrators/activeDirectory\n```\n\n","properties":{"login":{"type":"string","description":"The login name of the Azure AD Administrator of this Synapse Workspace.\n"},"objectId":{"type":"string","description":"The object id of the Azure AD Administrator of this Synapse Workspace.\n"},"synapseWorkspaceId":{"type":"string","description":"The ID of the Synapse Workspace where the Azure AD Administrator should be configured.\n"},"tenantId":{"type":"string","description":"The tenant id of the Azure AD Administrator of this Synapse Workspace.\n"}},"required":["login","objectId","synapseWorkspaceId","tenantId"],"inputProperties":{"login":{"type":"string","description":"The login name of the Azure AD Administrator of this Synapse Workspace.\n"},"objectId":{"type":"string","description":"The object id of the Azure AD Administrator of this Synapse Workspace.\n"},"synapseWorkspaceId":{"type":"string","description":"The ID of the Synapse Workspace where the Azure AD Administrator should be configured.\n"},"tenantId":{"type":"string","description":"The tenant id of the Azure AD Administrator of this Synapse Workspace.\n"}},"requiredInputs":["login","objectId","synapseWorkspaceId","tenantId"],"stateInputs":{"description":"Input properties used for looking up and filtering WorkspaceAadAdmin resources.\n","properties":{"login":{"type":"string","description":"The login name of the Azure AD Administrator of this Synapse Workspace.\n"},"objectId":{"type":"string","description":"The object id of the Azure AD Administrator of this Synapse Workspace.\n"},"synapseWorkspaceId":{"type":"string","description":"The ID of the Synapse Workspace where the Azure AD Administrator should be configured.\n"},"tenantId":{"type":"string","description":"The tenant id of the Azure AD Administrator of this Synapse Workspace.\n"}},"type":"object"}},"azure:synapse/workspaceExtendedAuditingPolicy:WorkspaceExtendedAuditingPolicy":{"description":"Manages a Synapse Workspace Extended Auditing Policy.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleAccount = new azure.storage.Account(\"example\", {\n    name: \"examplestorageacc\",\n    resourceGroupName: example.name,\n    location: example.location,\n    accountTier: \"Standard\",\n    accountReplicationType: \"LRS\",\n    accountKind: \"BlobStorage\",\n});\nconst exampleDataLakeGen2Filesystem = new azure.storage.DataLakeGen2Filesystem(\"example\", {\n    name: \"example\",\n    storageAccountId: exampleAccount.id,\n});\nconst exampleWorkspace = new azure.synapse.Workspace(\"example\", {\n    name: \"example\",\n    resourceGroupName: example.name,\n    location: example.location,\n    storageDataLakeGen2FilesystemId: exampleDataLakeGen2Filesystem.id,\n    sqlAdministratorLogin: \"sqladminuser\",\n    sqlAdministratorLoginPassword: \"H@Sh1CoR3!\",\n    identity: {\n        type: \"SystemAssigned\",\n    },\n});\nconst auditLogs = new azure.storage.Account(\"audit_logs\", {\n    name: \"examplesa\",\n    resourceGroupName: example.name,\n    location: example.location,\n    accountTier: \"Standard\",\n    accountReplicationType: \"LRS\",\n});\nconst exampleWorkspaceExtendedAuditingPolicy = new azure.synapse.WorkspaceExtendedAuditingPolicy(\"example\", {\n    synapseWorkspaceId: exampleWorkspace.id,\n    storageEndpoint: auditLogs.primaryBlobEndpoint,\n    storageAccountAccessKey: auditLogs.primaryAccessKey,\n    storageAccountAccessKeyIsSecondary: false,\n    retentionInDays: 6,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_account = azure.storage.Account(\"example\",\n    name=\"examplestorageacc\",\n    resource_group_name=example.name,\n    location=example.location,\n    account_tier=\"Standard\",\n    account_replication_type=\"LRS\",\n    account_kind=\"BlobStorage\")\nexample_data_lake_gen2_filesystem = azure.storage.DataLakeGen2Filesystem(\"example\",\n    name=\"example\",\n    storage_account_id=example_account.id)\nexample_workspace = azure.synapse.Workspace(\"example\",\n    name=\"example\",\n    resource_group_name=example.name,\n    location=example.location,\n    storage_data_lake_gen2_filesystem_id=example_data_lake_gen2_filesystem.id,\n    sql_administrator_login=\"sqladminuser\",\n    sql_administrator_login_password=\"H@Sh1CoR3!\",\n    identity={\n        \"type\": \"SystemAssigned\",\n    })\naudit_logs = azure.storage.Account(\"audit_logs\",\n    name=\"examplesa\",\n    resource_group_name=example.name,\n    location=example.location,\n    account_tier=\"Standard\",\n    account_replication_type=\"LRS\")\nexample_workspace_extended_auditing_policy = azure.synapse.WorkspaceExtendedAuditingPolicy(\"example\",\n    synapse_workspace_id=example_workspace.id,\n    storage_endpoint=audit_logs.primary_blob_endpoint,\n    storage_account_access_key=audit_logs.primary_access_key,\n    storage_account_access_key_is_secondary=False,\n    retention_in_days=6)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleAccount = new Azure.Storage.Account(\"example\", new()\n    {\n        Name = \"examplestorageacc\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        AccountTier = \"Standard\",\n        AccountReplicationType = \"LRS\",\n        AccountKind = \"BlobStorage\",\n    });\n\n    var exampleDataLakeGen2Filesystem = new Azure.Storage.DataLakeGen2Filesystem(\"example\", new()\n    {\n        Name = \"example\",\n        StorageAccountId = exampleAccount.Id,\n    });\n\n    var exampleWorkspace = new Azure.Synapse.Workspace(\"example\", new()\n    {\n        Name = \"example\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        StorageDataLakeGen2FilesystemId = exampleDataLakeGen2Filesystem.Id,\n        SqlAdministratorLogin = \"sqladminuser\",\n        SqlAdministratorLoginPassword = \"H@Sh1CoR3!\",\n        Identity = new Azure.Synapse.Inputs.WorkspaceIdentityArgs\n        {\n            Type = \"SystemAssigned\",\n        },\n    });\n\n    var auditLogs = new Azure.Storage.Account(\"audit_logs\", new()\n    {\n        Name = \"examplesa\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        AccountTier = \"Standard\",\n        AccountReplicationType = \"LRS\",\n    });\n\n    var exampleWorkspaceExtendedAuditingPolicy = new Azure.Synapse.WorkspaceExtendedAuditingPolicy(\"example\", new()\n    {\n        SynapseWorkspaceId = exampleWorkspace.Id,\n        StorageEndpoint = auditLogs.PrimaryBlobEndpoint,\n        StorageAccountAccessKey = auditLogs.PrimaryAccessKey,\n        StorageAccountAccessKeyIsSecondary = false,\n        RetentionInDays = 6,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/synapse\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := storage.NewAccount(ctx, \"example\", \u0026storage.AccountArgs{\n\t\t\tName:                   pulumi.String(\"examplestorageacc\"),\n\t\t\tResourceGroupName:      example.Name,\n\t\t\tLocation:               example.Location,\n\t\t\tAccountTier:            pulumi.String(\"Standard\"),\n\t\t\tAccountReplicationType: pulumi.String(\"LRS\"),\n\t\t\tAccountKind:            pulumi.String(\"BlobStorage\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleDataLakeGen2Filesystem, err := storage.NewDataLakeGen2Filesystem(ctx, \"example\", \u0026storage.DataLakeGen2FilesystemArgs{\n\t\t\tName:             pulumi.String(\"example\"),\n\t\t\tStorageAccountId: exampleAccount.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleWorkspace, err := synapse.NewWorkspace(ctx, \"example\", \u0026synapse.WorkspaceArgs{\n\t\t\tName:                            pulumi.String(\"example\"),\n\t\t\tResourceGroupName:               example.Name,\n\t\t\tLocation:                        example.Location,\n\t\t\tStorageDataLakeGen2FilesystemId: exampleDataLakeGen2Filesystem.ID(),\n\t\t\tSqlAdministratorLogin:           pulumi.String(\"sqladminuser\"),\n\t\t\tSqlAdministratorLoginPassword:   pulumi.String(\"H@Sh1CoR3!\"),\n\t\t\tIdentity: \u0026synapse.WorkspaceIdentityArgs{\n\t\t\t\tType: pulumi.String(\"SystemAssigned\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tauditLogs, err := storage.NewAccount(ctx, \"audit_logs\", \u0026storage.AccountArgs{\n\t\t\tName:                   pulumi.String(\"examplesa\"),\n\t\t\tResourceGroupName:      example.Name,\n\t\t\tLocation:               example.Location,\n\t\t\tAccountTier:            pulumi.String(\"Standard\"),\n\t\t\tAccountReplicationType: pulumi.String(\"LRS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = synapse.NewWorkspaceExtendedAuditingPolicy(ctx, \"example\", \u0026synapse.WorkspaceExtendedAuditingPolicyArgs{\n\t\t\tSynapseWorkspaceId:                 exampleWorkspace.ID(),\n\t\t\tStorageEndpoint:                    auditLogs.PrimaryBlobEndpoint,\n\t\t\tStorageAccountAccessKey:            auditLogs.PrimaryAccessKey,\n\t\t\tStorageAccountAccessKeyIsSecondary: pulumi.Bool(false),\n\t\t\tRetentionInDays:                    pulumi.Int(6),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.storage.Account;\nimport com.pulumi.azure.storage.AccountArgs;\nimport com.pulumi.azure.storage.DataLakeGen2Filesystem;\nimport com.pulumi.azure.storage.DataLakeGen2FilesystemArgs;\nimport com.pulumi.azure.synapse.Workspace;\nimport com.pulumi.azure.synapse.WorkspaceArgs;\nimport com.pulumi.azure.synapse.inputs.WorkspaceIdentityArgs;\nimport com.pulumi.azure.synapse.WorkspaceExtendedAuditingPolicy;\nimport com.pulumi.azure.synapse.WorkspaceExtendedAuditingPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"examplestorageacc\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .accountTier(\"Standard\")\n            .accountReplicationType(\"LRS\")\n            .accountKind(\"BlobStorage\")\n            .build());\n\n        var exampleDataLakeGen2Filesystem = new DataLakeGen2Filesystem(\"exampleDataLakeGen2Filesystem\", DataLakeGen2FilesystemArgs.builder()\n            .name(\"example\")\n            .storageAccountId(exampleAccount.id())\n            .build());\n\n        var exampleWorkspace = new Workspace(\"exampleWorkspace\", WorkspaceArgs.builder()\n            .name(\"example\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .storageDataLakeGen2FilesystemId(exampleDataLakeGen2Filesystem.id())\n            .sqlAdministratorLogin(\"sqladminuser\")\n            .sqlAdministratorLoginPassword(\"H@Sh1CoR3!\")\n            .identity(WorkspaceIdentityArgs.builder()\n                .type(\"SystemAssigned\")\n                .build())\n            .build());\n\n        var auditLogs = new Account(\"auditLogs\", AccountArgs.builder()\n            .name(\"examplesa\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .accountTier(\"Standard\")\n            .accountReplicationType(\"LRS\")\n            .build());\n\n        var exampleWorkspaceExtendedAuditingPolicy = new WorkspaceExtendedAuditingPolicy(\"exampleWorkspaceExtendedAuditingPolicy\", WorkspaceExtendedAuditingPolicyArgs.builder()\n            .synapseWorkspaceId(exampleWorkspace.id())\n            .storageEndpoint(auditLogs.primaryBlobEndpoint())\n            .storageAccountAccessKey(auditLogs.primaryAccessKey())\n            .storageAccountAccessKeyIsSecondary(false)\n            .retentionInDays(6)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleAccount:\n    type: azure:storage:Account\n    name: example\n    properties:\n      name: examplestorageacc\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      accountTier: Standard\n      accountReplicationType: LRS\n      accountKind: BlobStorage\n  exampleDataLakeGen2Filesystem:\n    type: azure:storage:DataLakeGen2Filesystem\n    name: example\n    properties:\n      name: example\n      storageAccountId: ${exampleAccount.id}\n  exampleWorkspace:\n    type: azure:synapse:Workspace\n    name: example\n    properties:\n      name: example\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      storageDataLakeGen2FilesystemId: ${exampleDataLakeGen2Filesystem.id}\n      sqlAdministratorLogin: sqladminuser\n      sqlAdministratorLoginPassword: H@Sh1CoR3!\n      identity:\n        type: SystemAssigned\n  auditLogs:\n    type: azure:storage:Account\n    name: audit_logs\n    properties:\n      name: examplesa\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      accountTier: Standard\n      accountReplicationType: LRS\n  exampleWorkspaceExtendedAuditingPolicy:\n    type: azure:synapse:WorkspaceExtendedAuditingPolicy\n    name: example\n    properties:\n      synapseWorkspaceId: ${exampleWorkspace.id}\n      storageEndpoint: ${auditLogs.primaryBlobEndpoint}\n      storageAccountAccessKey: ${auditLogs.primaryAccessKey}\n      storageAccountAccessKeyIsSecondary: false\n      retentionInDays: 6\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nSynapse Workspace Extended Auditing Policies can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:synapse/workspaceExtendedAuditingPolicy:WorkspaceExtendedAuditingPolicy example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Synapse/workspaces/workspace1/extendedAuditingSettings/default\n```\n\n","properties":{"logMonitoringEnabled":{"type":"boolean","description":"Enable audit events to Azure Monitor? To enable server audit events to Azure Monitor, please enable its master database audit events to Azure Monitor. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"retentionInDays":{"type":"integer","description":"The number of days to retain logs for in the storage account. Defaults to \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"storageAccountAccessKey":{"type":"string","description":"The access key to use for the auditing storage account.\n","secret":true},"storageAccountAccessKeyIsSecondary":{"type":"boolean","description":"Is \u003cspan pulumi-lang-nodejs=\"`storageAccountAccessKey`\" pulumi-lang-dotnet=\"`StorageAccountAccessKey`\" pulumi-lang-go=\"`storageAccountAccessKey`\" pulumi-lang-python=\"`storage_account_access_key`\" pulumi-lang-yaml=\"`storageAccountAccessKey`\" pulumi-lang-java=\"`storageAccountAccessKey`\"\u003e`storage_account_access_key`\u003c/span\u003e value the storage's secondary key?\n"},"storageEndpoint":{"type":"string","description":"The blob storage endpoint (e.g. \u003chttps://example.blob.core.windows.net\u003e). This blob storage will hold all extended auditing logs.\n"},"synapseWorkspaceId":{"type":"string","description":"The ID of the Synapse workspace to set the extended auditing policy. Changing this forces a new resource to be created.\n"}},"required":["synapseWorkspaceId"],"inputProperties":{"logMonitoringEnabled":{"type":"boolean","description":"Enable audit events to Azure Monitor? To enable server audit events to Azure Monitor, please enable its master database audit events to Azure Monitor. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"retentionInDays":{"type":"integer","description":"The number of days to retain logs for in the storage account. Defaults to \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"storageAccountAccessKey":{"type":"string","description":"The access key to use for the auditing storage account.\n","secret":true},"storageAccountAccessKeyIsSecondary":{"type":"boolean","description":"Is \u003cspan pulumi-lang-nodejs=\"`storageAccountAccessKey`\" pulumi-lang-dotnet=\"`StorageAccountAccessKey`\" pulumi-lang-go=\"`storageAccountAccessKey`\" pulumi-lang-python=\"`storage_account_access_key`\" pulumi-lang-yaml=\"`storageAccountAccessKey`\" pulumi-lang-java=\"`storageAccountAccessKey`\"\u003e`storage_account_access_key`\u003c/span\u003e value the storage's secondary key?\n"},"storageEndpoint":{"type":"string","description":"The blob storage endpoint (e.g. \u003chttps://example.blob.core.windows.net\u003e). This blob storage will hold all extended auditing logs.\n"},"synapseWorkspaceId":{"type":"string","description":"The ID of the Synapse workspace to set the extended auditing policy. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["synapseWorkspaceId"],"stateInputs":{"description":"Input properties used for looking up and filtering WorkspaceExtendedAuditingPolicy resources.\n","properties":{"logMonitoringEnabled":{"type":"boolean","description":"Enable audit events to Azure Monitor? To enable server audit events to Azure Monitor, please enable its master database audit events to Azure Monitor. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"retentionInDays":{"type":"integer","description":"The number of days to retain logs for in the storage account. Defaults to \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"storageAccountAccessKey":{"type":"string","description":"The access key to use for the auditing storage account.\n","secret":true},"storageAccountAccessKeyIsSecondary":{"type":"boolean","description":"Is \u003cspan pulumi-lang-nodejs=\"`storageAccountAccessKey`\" pulumi-lang-dotnet=\"`StorageAccountAccessKey`\" pulumi-lang-go=\"`storageAccountAccessKey`\" pulumi-lang-python=\"`storage_account_access_key`\" pulumi-lang-yaml=\"`storageAccountAccessKey`\" pulumi-lang-java=\"`storageAccountAccessKey`\"\u003e`storage_account_access_key`\u003c/span\u003e value the storage's secondary key?\n"},"storageEndpoint":{"type":"string","description":"The blob storage endpoint (e.g. \u003chttps://example.blob.core.windows.net\u003e). This blob storage will hold all extended auditing logs.\n"},"synapseWorkspaceId":{"type":"string","description":"The ID of the Synapse workspace to set the extended auditing policy. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:synapse/workspaceKey:WorkspaceKey":{"description":"Manages Synapse Workspace keys\n\n\u003e **Note:** Keys that are actively protecting a workspace cannot be deleted. When the keys resource is deleted, if the key is inactive it will be deleted, if it is active it will not be deleted.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleAccount = new azure.storage.Account(\"example\", {\n    name: \"examplestorageacc\",\n    resourceGroupName: example.name,\n    location: example.location,\n    accountTier: \"Standard\",\n    accountReplicationType: \"LRS\",\n    accountKind: \"StorageV2\",\n    isHnsEnabled: true,\n});\nconst exampleDataLakeGen2Filesystem = new azure.storage.DataLakeGen2Filesystem(\"example\", {\n    name: \"example\",\n    storageAccountId: exampleAccount.id,\n});\nconst current = azure.core.getClientConfig({});\nconst exampleKeyVault = new azure.keyvault.KeyVault(\"example\", {\n    name: \"example\",\n    location: example.location,\n    resourceGroupName: example.name,\n    tenantId: current.then(current =\u003e current.tenantId),\n    skuName: \"standard\",\n    purgeProtectionEnabled: true,\n});\nconst deployer = new azure.keyvault.AccessPolicy(\"deployer\", {\n    keyVaultId: exampleKeyVault.id,\n    tenantId: current.then(current =\u003e current.tenantId),\n    objectId: current.then(current =\u003e current.objectId),\n    keyPermissions: [\n        \"Create\",\n        \"Get\",\n        \"Delete\",\n        \"Purge\",\n        \"GetRotationPolicy\",\n    ],\n});\nconst exampleKey = new azure.keyvault.Key(\"example\", {\n    name: \"workspaceEncryptionKey\",\n    keyVaultId: exampleKeyVault.id,\n    keyType: \"RSA\",\n    keySize: 2048,\n    keyOpts: [\n        \"unwrapKey\",\n        \"wrapKey\",\n    ],\n}, {\n    dependsOn: [deployer],\n});\nconst exampleWorkspace = new azure.synapse.Workspace(\"example\", {\n    name: \"example\",\n    resourceGroupName: example.name,\n    location: example.location,\n    storageDataLakeGen2FilesystemId: exampleDataLakeGen2Filesystem.id,\n    sqlAdministratorLogin: \"sqladminuser\",\n    sqlAdministratorLoginPassword: \"H@Sh1CoR3!\",\n    customerManagedKey: {\n        keyVersionlessId: exampleKey.versionlessId,\n        keyName: \"enckey\",\n    },\n    identity: {\n        type: \"SystemAssigned\",\n    },\n    tags: {\n        Env: \"production\",\n    },\n});\nconst workspacePolicy = new azure.keyvault.AccessPolicy(\"workspace_policy\", {\n    keyVaultId: exampleKeyVault.id,\n    tenantId: exampleWorkspace.identity.apply(identity =\u003e identity?.tenantId),\n    objectId: exampleWorkspace.identity.apply(identity =\u003e identity?.principalId),\n    keyPermissions: [\n        \"Get\",\n        \"WrapKey\",\n        \"UnwrapKey\",\n    ],\n});\nconst exampleWorkspaceKey = new azure.synapse.WorkspaceKey(\"example\", {\n    customerManagedKeyVersionlessId: exampleKey.versionlessId,\n    synapseWorkspaceId: exampleWorkspace.id,\n    active: true,\n    customerManagedKeyName: \"enckey\",\n}, {\n    dependsOn: [workspacePolicy],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_account = azure.storage.Account(\"example\",\n    name=\"examplestorageacc\",\n    resource_group_name=example.name,\n    location=example.location,\n    account_tier=\"Standard\",\n    account_replication_type=\"LRS\",\n    account_kind=\"StorageV2\",\n    is_hns_enabled=True)\nexample_data_lake_gen2_filesystem = azure.storage.DataLakeGen2Filesystem(\"example\",\n    name=\"example\",\n    storage_account_id=example_account.id)\ncurrent = azure.core.get_client_config()\nexample_key_vault = azure.keyvault.KeyVault(\"example\",\n    name=\"example\",\n    location=example.location,\n    resource_group_name=example.name,\n    tenant_id=current.tenant_id,\n    sku_name=\"standard\",\n    purge_protection_enabled=True)\ndeployer = azure.keyvault.AccessPolicy(\"deployer\",\n    key_vault_id=example_key_vault.id,\n    tenant_id=current.tenant_id,\n    object_id=current.object_id,\n    key_permissions=[\n        \"Create\",\n        \"Get\",\n        \"Delete\",\n        \"Purge\",\n        \"GetRotationPolicy\",\n    ])\nexample_key = azure.keyvault.Key(\"example\",\n    name=\"workspaceEncryptionKey\",\n    key_vault_id=example_key_vault.id,\n    key_type=\"RSA\",\n    key_size=2048,\n    key_opts=[\n        \"unwrapKey\",\n        \"wrapKey\",\n    ],\n    opts = pulumi.ResourceOptions(depends_on=[deployer]))\nexample_workspace = azure.synapse.Workspace(\"example\",\n    name=\"example\",\n    resource_group_name=example.name,\n    location=example.location,\n    storage_data_lake_gen2_filesystem_id=example_data_lake_gen2_filesystem.id,\n    sql_administrator_login=\"sqladminuser\",\n    sql_administrator_login_password=\"H@Sh1CoR3!\",\n    customer_managed_key={\n        \"key_versionless_id\": example_key.versionless_id,\n        \"key_name\": \"enckey\",\n    },\n    identity={\n        \"type\": \"SystemAssigned\",\n    },\n    tags={\n        \"Env\": \"production\",\n    })\nworkspace_policy = azure.keyvault.AccessPolicy(\"workspace_policy\",\n    key_vault_id=example_key_vault.id,\n    tenant_id=example_workspace.identity.tenant_id,\n    object_id=example_workspace.identity.principal_id,\n    key_permissions=[\n        \"Get\",\n        \"WrapKey\",\n        \"UnwrapKey\",\n    ])\nexample_workspace_key = azure.synapse.WorkspaceKey(\"example\",\n    customer_managed_key_versionless_id=example_key.versionless_id,\n    synapse_workspace_id=example_workspace.id,\n    active=True,\n    customer_managed_key_name=\"enckey\",\n    opts = pulumi.ResourceOptions(depends_on=[workspace_policy]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleAccount = new Azure.Storage.Account(\"example\", new()\n    {\n        Name = \"examplestorageacc\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        AccountTier = \"Standard\",\n        AccountReplicationType = \"LRS\",\n        AccountKind = \"StorageV2\",\n        IsHnsEnabled = true,\n    });\n\n    var exampleDataLakeGen2Filesystem = new Azure.Storage.DataLakeGen2Filesystem(\"example\", new()\n    {\n        Name = \"example\",\n        StorageAccountId = exampleAccount.Id,\n    });\n\n    var current = Azure.Core.GetClientConfig.Invoke();\n\n    var exampleKeyVault = new Azure.KeyVault.KeyVault(\"example\", new()\n    {\n        Name = \"example\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        TenantId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.TenantId),\n        SkuName = \"standard\",\n        PurgeProtectionEnabled = true,\n    });\n\n    var deployer = new Azure.KeyVault.AccessPolicy(\"deployer\", new()\n    {\n        KeyVaultId = exampleKeyVault.Id,\n        TenantId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.TenantId),\n        ObjectId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.ObjectId),\n        KeyPermissions = new[]\n        {\n            \"Create\",\n            \"Get\",\n            \"Delete\",\n            \"Purge\",\n            \"GetRotationPolicy\",\n        },\n    });\n\n    var exampleKey = new Azure.KeyVault.Key(\"example\", new()\n    {\n        Name = \"workspaceEncryptionKey\",\n        KeyVaultId = exampleKeyVault.Id,\n        KeyType = \"RSA\",\n        KeySize = 2048,\n        KeyOpts = new[]\n        {\n            \"unwrapKey\",\n            \"wrapKey\",\n        },\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            deployer,\n        },\n    });\n\n    var exampleWorkspace = new Azure.Synapse.Workspace(\"example\", new()\n    {\n        Name = \"example\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        StorageDataLakeGen2FilesystemId = exampleDataLakeGen2Filesystem.Id,\n        SqlAdministratorLogin = \"sqladminuser\",\n        SqlAdministratorLoginPassword = \"H@Sh1CoR3!\",\n        CustomerManagedKey = new Azure.Synapse.Inputs.WorkspaceCustomerManagedKeyArgs\n        {\n            KeyVersionlessId = exampleKey.VersionlessId,\n            KeyName = \"enckey\",\n        },\n        Identity = new Azure.Synapse.Inputs.WorkspaceIdentityArgs\n        {\n            Type = \"SystemAssigned\",\n        },\n        Tags = \n        {\n            { \"Env\", \"production\" },\n        },\n    });\n\n    var workspacePolicy = new Azure.KeyVault.AccessPolicy(\"workspace_policy\", new()\n    {\n        KeyVaultId = exampleKeyVault.Id,\n        TenantId = exampleWorkspace.Identity.Apply(identity =\u003e identity?.TenantId),\n        ObjectId = exampleWorkspace.Identity.Apply(identity =\u003e identity?.PrincipalId),\n        KeyPermissions = new[]\n        {\n            \"Get\",\n            \"WrapKey\",\n            \"UnwrapKey\",\n        },\n    });\n\n    var exampleWorkspaceKey = new Azure.Synapse.WorkspaceKey(\"example\", new()\n    {\n        CustomerManagedKeyVersionlessId = exampleKey.VersionlessId,\n        SynapseWorkspaceId = exampleWorkspace.Id,\n        Active = true,\n        CustomerManagedKeyName = \"enckey\",\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            workspacePolicy,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/keyvault\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/synapse\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := storage.NewAccount(ctx, \"example\", \u0026storage.AccountArgs{\n\t\t\tName:                   pulumi.String(\"examplestorageacc\"),\n\t\t\tResourceGroupName:      example.Name,\n\t\t\tLocation:               example.Location,\n\t\t\tAccountTier:            pulumi.String(\"Standard\"),\n\t\t\tAccountReplicationType: pulumi.String(\"LRS\"),\n\t\t\tAccountKind:            pulumi.String(\"StorageV2\"),\n\t\t\tIsHnsEnabled:           pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleDataLakeGen2Filesystem, err := storage.NewDataLakeGen2Filesystem(ctx, \"example\", \u0026storage.DataLakeGen2FilesystemArgs{\n\t\t\tName:             pulumi.String(\"example\"),\n\t\t\tStorageAccountId: exampleAccount.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrent, err := core.GetClientConfig(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleKeyVault, err := keyvault.NewKeyVault(ctx, \"example\", \u0026keyvault.KeyVaultArgs{\n\t\t\tName:                   pulumi.String(\"example\"),\n\t\t\tLocation:               example.Location,\n\t\t\tResourceGroupName:      example.Name,\n\t\t\tTenantId:               pulumi.String(current.TenantId),\n\t\t\tSkuName:                pulumi.String(\"standard\"),\n\t\t\tPurgeProtectionEnabled: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdeployer, err := keyvault.NewAccessPolicy(ctx, \"deployer\", \u0026keyvault.AccessPolicyArgs{\n\t\t\tKeyVaultId: exampleKeyVault.ID(),\n\t\t\tTenantId:   pulumi.String(current.TenantId),\n\t\t\tObjectId:   pulumi.String(current.ObjectId),\n\t\t\tKeyPermissions: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"Create\"),\n\t\t\t\tpulumi.String(\"Get\"),\n\t\t\t\tpulumi.String(\"Delete\"),\n\t\t\t\tpulumi.String(\"Purge\"),\n\t\t\t\tpulumi.String(\"GetRotationPolicy\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleKey, err := keyvault.NewKey(ctx, \"example\", \u0026keyvault.KeyArgs{\n\t\t\tName:       pulumi.String(\"workspaceEncryptionKey\"),\n\t\t\tKeyVaultId: exampleKeyVault.ID(),\n\t\t\tKeyType:    pulumi.String(\"RSA\"),\n\t\t\tKeySize:    pulumi.Int(2048),\n\t\t\tKeyOpts: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"unwrapKey\"),\n\t\t\t\tpulumi.String(\"wrapKey\"),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tdeployer,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleWorkspace, err := synapse.NewWorkspace(ctx, \"example\", \u0026synapse.WorkspaceArgs{\n\t\t\tName:                            pulumi.String(\"example\"),\n\t\t\tResourceGroupName:               example.Name,\n\t\t\tLocation:                        example.Location,\n\t\t\tStorageDataLakeGen2FilesystemId: exampleDataLakeGen2Filesystem.ID(),\n\t\t\tSqlAdministratorLogin:           pulumi.String(\"sqladminuser\"),\n\t\t\tSqlAdministratorLoginPassword:   pulumi.String(\"H@Sh1CoR3!\"),\n\t\t\tCustomerManagedKey: \u0026synapse.WorkspaceCustomerManagedKeyArgs{\n\t\t\t\tKeyVersionlessId: exampleKey.VersionlessId,\n\t\t\t\tKeyName:          pulumi.String(\"enckey\"),\n\t\t\t},\n\t\t\tIdentity: \u0026synapse.WorkspaceIdentityArgs{\n\t\t\t\tType: pulumi.String(\"SystemAssigned\"),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Env\": pulumi.String(\"production\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tworkspacePolicy, err := keyvault.NewAccessPolicy(ctx, \"workspace_policy\", \u0026keyvault.AccessPolicyArgs{\n\t\t\tKeyVaultId: exampleKeyVault.ID(),\n\t\t\tTenantId: pulumi.String(exampleWorkspace.Identity.ApplyT(func(identity synapse.WorkspaceIdentity) (*string, error) {\n\t\t\t\treturn \u0026identity.TenantId, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tObjectId: pulumi.String(exampleWorkspace.Identity.ApplyT(func(identity synapse.WorkspaceIdentity) (*string, error) {\n\t\t\t\treturn \u0026identity.PrincipalId, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tKeyPermissions: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"Get\"),\n\t\t\t\tpulumi.String(\"WrapKey\"),\n\t\t\t\tpulumi.String(\"UnwrapKey\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = synapse.NewWorkspaceKey(ctx, \"example\", \u0026synapse.WorkspaceKeyArgs{\n\t\t\tCustomerManagedKeyVersionlessId: exampleKey.VersionlessId,\n\t\t\tSynapseWorkspaceId:              exampleWorkspace.ID(),\n\t\t\tActive:                          pulumi.Bool(true),\n\t\t\tCustomerManagedKeyName:          pulumi.String(\"enckey\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tworkspacePolicy,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.storage.Account;\nimport com.pulumi.azure.storage.AccountArgs;\nimport com.pulumi.azure.storage.DataLakeGen2Filesystem;\nimport com.pulumi.azure.storage.DataLakeGen2FilesystemArgs;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.keyvault.KeyVault;\nimport com.pulumi.azure.keyvault.KeyVaultArgs;\nimport com.pulumi.azure.keyvault.AccessPolicy;\nimport com.pulumi.azure.keyvault.AccessPolicyArgs;\nimport com.pulumi.azure.keyvault.Key;\nimport com.pulumi.azure.keyvault.KeyArgs;\nimport com.pulumi.azure.synapse.Workspace;\nimport com.pulumi.azure.synapse.WorkspaceArgs;\nimport com.pulumi.azure.synapse.inputs.WorkspaceCustomerManagedKeyArgs;\nimport com.pulumi.azure.synapse.inputs.WorkspaceIdentityArgs;\nimport com.pulumi.azure.synapse.WorkspaceKey;\nimport com.pulumi.azure.synapse.WorkspaceKeyArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"examplestorageacc\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .accountTier(\"Standard\")\n            .accountReplicationType(\"LRS\")\n            .accountKind(\"StorageV2\")\n            .isHnsEnabled(true)\n            .build());\n\n        var exampleDataLakeGen2Filesystem = new DataLakeGen2Filesystem(\"exampleDataLakeGen2Filesystem\", DataLakeGen2FilesystemArgs.builder()\n            .name(\"example\")\n            .storageAccountId(exampleAccount.id())\n            .build());\n\n        final var current = CoreFunctions.getClientConfig(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n        var exampleKeyVault = new KeyVault(\"exampleKeyVault\", KeyVaultArgs.builder()\n            .name(\"example\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .tenantId(current.tenantId())\n            .skuName(\"standard\")\n            .purgeProtectionEnabled(true)\n            .build());\n\n        var deployer = new AccessPolicy(\"deployer\", AccessPolicyArgs.builder()\n            .keyVaultId(exampleKeyVault.id())\n            .tenantId(current.tenantId())\n            .objectId(current.objectId())\n            .keyPermissions(            \n                \"Create\",\n                \"Get\",\n                \"Delete\",\n                \"Purge\",\n                \"GetRotationPolicy\")\n            .build());\n\n        var exampleKey = new Key(\"exampleKey\", KeyArgs.builder()\n            .name(\"workspaceEncryptionKey\")\n            .keyVaultId(exampleKeyVault.id())\n            .keyType(\"RSA\")\n            .keySize(2048)\n            .keyOpts(            \n                \"unwrapKey\",\n                \"wrapKey\")\n            .build(), CustomResourceOptions.builder()\n                .dependsOn(deployer)\n                .build());\n\n        var exampleWorkspace = new Workspace(\"exampleWorkspace\", WorkspaceArgs.builder()\n            .name(\"example\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .storageDataLakeGen2FilesystemId(exampleDataLakeGen2Filesystem.id())\n            .sqlAdministratorLogin(\"sqladminuser\")\n            .sqlAdministratorLoginPassword(\"H@Sh1CoR3!\")\n            .customerManagedKey(WorkspaceCustomerManagedKeyArgs.builder()\n                .keyVersionlessId(exampleKey.versionlessId())\n                .keyName(\"enckey\")\n                .build())\n            .identity(WorkspaceIdentityArgs.builder()\n                .type(\"SystemAssigned\")\n                .build())\n            .tags(Map.of(\"Env\", \"production\"))\n            .build());\n\n        var workspacePolicy = new AccessPolicy(\"workspacePolicy\", AccessPolicyArgs.builder()\n            .keyVaultId(exampleKeyVault.id())\n            .tenantId(exampleWorkspace.identity().applyValue(_identity -\u003e _identity.tenantId()))\n            .objectId(exampleWorkspace.identity().applyValue(_identity -\u003e _identity.principalId()))\n            .keyPermissions(            \n                \"Get\",\n                \"WrapKey\",\n                \"UnwrapKey\")\n            .build());\n\n        var exampleWorkspaceKey = new WorkspaceKey(\"exampleWorkspaceKey\", WorkspaceKeyArgs.builder()\n            .customerManagedKeyVersionlessId(exampleKey.versionlessId())\n            .synapseWorkspaceId(exampleWorkspace.id())\n            .active(true)\n            .customerManagedKeyName(\"enckey\")\n            .build(), CustomResourceOptions.builder()\n                .dependsOn(workspacePolicy)\n                .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleAccount:\n    type: azure:storage:Account\n    name: example\n    properties:\n      name: examplestorageacc\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      accountTier: Standard\n      accountReplicationType: LRS\n      accountKind: StorageV2\n      isHnsEnabled: 'true'\n  exampleDataLakeGen2Filesystem:\n    type: azure:storage:DataLakeGen2Filesystem\n    name: example\n    properties:\n      name: example\n      storageAccountId: ${exampleAccount.id}\n  exampleKeyVault:\n    type: azure:keyvault:KeyVault\n    name: example\n    properties:\n      name: example\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      tenantId: ${current.tenantId}\n      skuName: standard\n      purgeProtectionEnabled: true\n  deployer:\n    type: azure:keyvault:AccessPolicy\n    properties:\n      keyVaultId: ${exampleKeyVault.id}\n      tenantId: ${current.tenantId}\n      objectId: ${current.objectId}\n      keyPermissions:\n        - Create\n        - Get\n        - Delete\n        - Purge\n        - GetRotationPolicy\n  exampleKey:\n    type: azure:keyvault:Key\n    name: example\n    properties:\n      name: workspaceEncryptionKey\n      keyVaultId: ${exampleKeyVault.id}\n      keyType: RSA\n      keySize: 2048\n      keyOpts:\n        - unwrapKey\n        - wrapKey\n    options:\n      dependsOn:\n        - ${deployer}\n  exampleWorkspace:\n    type: azure:synapse:Workspace\n    name: example\n    properties:\n      name: example\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      storageDataLakeGen2FilesystemId: ${exampleDataLakeGen2Filesystem.id}\n      sqlAdministratorLogin: sqladminuser\n      sqlAdministratorLoginPassword: H@Sh1CoR3!\n      customerManagedKey:\n        keyVersionlessId: ${exampleKey.versionlessId}\n        keyName: enckey\n      identity:\n        type: SystemAssigned\n      tags:\n        Env: production\n  workspacePolicy:\n    type: azure:keyvault:AccessPolicy\n    name: workspace_policy\n    properties:\n      keyVaultId: ${exampleKeyVault.id}\n      tenantId: ${exampleWorkspace.identity.tenantId}\n      objectId: ${exampleWorkspace.identity.principalId}\n      keyPermissions:\n        - Get\n        - WrapKey\n        - UnwrapKey\n  exampleWorkspaceKey:\n    type: azure:synapse:WorkspaceKey\n    name: example\n    properties:\n      customerManagedKeyVersionlessId: ${exampleKey.versionlessId}\n      synapseWorkspaceId: ${exampleWorkspace.id}\n      active: true\n      customerManagedKeyName: enckey\n    options:\n      dependsOn:\n        - ${workspacePolicy}\nvariables:\n  current:\n    fn::invoke:\n      function: azure:core:getClientConfig\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nSynapse Workspace Keys can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:synapse/workspaceKey:WorkspaceKey example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Synapse/workspaces/workspace1/keys/key1\n```\n\n","properties":{"active":{"type":"boolean","description":"Specifies if the workspace should be encrypted with this key.\n\n\u003e **Note:** Only one key can actively encrypt a workspace. When performing a key rotation, setting a new key as the active key will disable existing keys.\n"},"customerManagedKeyName":{"type":"string","description":"Specifies the name of the workspace key. Should match the name of the key in the synapse workspace.\n"},"customerManagedKeyVersionlessId":{"type":"string","description":"The Azure Key Vault Key Versionless ID to be used as the Customer Managed Key (CMK) for double encryption\n"},"synapseWorkspaceId":{"type":"string","description":"The ID of the Synapse Workspace where the encryption key should be configured.\n"}},"required":["active","customerManagedKeyName","synapseWorkspaceId"],"inputProperties":{"active":{"type":"boolean","description":"Specifies if the workspace should be encrypted with this key.\n\n\u003e **Note:** Only one key can actively encrypt a workspace. When performing a key rotation, setting a new key as the active key will disable existing keys.\n"},"customerManagedKeyName":{"type":"string","description":"Specifies the name of the workspace key. Should match the name of the key in the synapse workspace.\n"},"customerManagedKeyVersionlessId":{"type":"string","description":"The Azure Key Vault Key Versionless ID to be used as the Customer Managed Key (CMK) for double encryption\n"},"synapseWorkspaceId":{"type":"string","description":"The ID of the Synapse Workspace where the encryption key should be configured.\n"}},"requiredInputs":["active","customerManagedKeyName","synapseWorkspaceId"],"stateInputs":{"description":"Input properties used for looking up and filtering WorkspaceKey resources.\n","properties":{"active":{"type":"boolean","description":"Specifies if the workspace should be encrypted with this key.\n\n\u003e **Note:** Only one key can actively encrypt a workspace. When performing a key rotation, setting a new key as the active key will disable existing keys.\n"},"customerManagedKeyName":{"type":"string","description":"Specifies the name of the workspace key. Should match the name of the key in the synapse workspace.\n"},"customerManagedKeyVersionlessId":{"type":"string","description":"The Azure Key Vault Key Versionless ID to be used as the Customer Managed Key (CMK) for double encryption\n"},"synapseWorkspaceId":{"type":"string","description":"The ID of the Synapse Workspace where the encryption key should be configured.\n"}},"type":"object"}},"azure:synapse/workspaceSecurityAlertPolicy:WorkspaceSecurityAlertPolicy":{"description":"Manages a Security Alert Policy for a Synapse Workspace.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleAccount = new azure.storage.Account(\"example\", {\n    name: \"examplestorageacc\",\n    resourceGroupName: example.name,\n    location: example.location,\n    accountTier: \"Standard\",\n    accountReplicationType: \"LRS\",\n    accountKind: \"StorageV2\",\n    isHnsEnabled: true,\n});\nconst exampleDataLakeGen2Filesystem = new azure.storage.DataLakeGen2Filesystem(\"example\", {\n    name: \"example\",\n    storageAccountId: exampleAccount.id,\n});\nconst exampleWorkspace = new azure.synapse.Workspace(\"example\", {\n    name: \"example\",\n    resourceGroupName: example.name,\n    location: example.location,\n    storageDataLakeGen2FilesystemId: exampleDataLakeGen2Filesystem.id,\n    sqlAdministratorLogin: \"sqladminuser\",\n    sqlAdministratorLoginPassword: \"H@Sh1CoR3!\",\n    aadAdmin: [{\n        login: \"AzureAD Admin\",\n        objectId: \"00000000-0000-0000-0000-000000000000\",\n        tenantId: \"00000000-0000-0000-0000-000000000000\",\n    }],\n    identity: {\n        type: \"SystemAssigned\",\n    },\n    tags: {\n        Env: \"production\",\n    },\n});\nconst auditLogs = new azure.storage.Account(\"audit_logs\", {\n    name: \"examplesa\",\n    resourceGroupName: example.name,\n    location: example.location,\n    accountTier: \"Standard\",\n    accountReplicationType: \"LRS\",\n});\nconst exampleWorkspaceSecurityAlertPolicy = new azure.synapse.WorkspaceSecurityAlertPolicy(\"example\", {\n    synapseWorkspaceId: exampleWorkspace.id,\n    policyState: \"Enabled\",\n    storageEndpoint: auditLogs.primaryBlobEndpoint,\n    storageAccountAccessKey: auditLogs.primaryAccessKey,\n    disabledAlerts: [\n        \"Sql_Injection\",\n        \"Data_Exfiltration\",\n    ],\n    retentionDays: 20,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_account = azure.storage.Account(\"example\",\n    name=\"examplestorageacc\",\n    resource_group_name=example.name,\n    location=example.location,\n    account_tier=\"Standard\",\n    account_replication_type=\"LRS\",\n    account_kind=\"StorageV2\",\n    is_hns_enabled=True)\nexample_data_lake_gen2_filesystem = azure.storage.DataLakeGen2Filesystem(\"example\",\n    name=\"example\",\n    storage_account_id=example_account.id)\nexample_workspace = azure.synapse.Workspace(\"example\",\n    name=\"example\",\n    resource_group_name=example.name,\n    location=example.location,\n    storage_data_lake_gen2_filesystem_id=example_data_lake_gen2_filesystem.id,\n    sql_administrator_login=\"sqladminuser\",\n    sql_administrator_login_password=\"H@Sh1CoR3!\",\n    aad_admin=[{\n        \"login\": \"AzureAD Admin\",\n        \"objectId\": \"00000000-0000-0000-0000-000000000000\",\n        \"tenantId\": \"00000000-0000-0000-0000-000000000000\",\n    }],\n    identity={\n        \"type\": \"SystemAssigned\",\n    },\n    tags={\n        \"Env\": \"production\",\n    })\naudit_logs = azure.storage.Account(\"audit_logs\",\n    name=\"examplesa\",\n    resource_group_name=example.name,\n    location=example.location,\n    account_tier=\"Standard\",\n    account_replication_type=\"LRS\")\nexample_workspace_security_alert_policy = azure.synapse.WorkspaceSecurityAlertPolicy(\"example\",\n    synapse_workspace_id=example_workspace.id,\n    policy_state=\"Enabled\",\n    storage_endpoint=audit_logs.primary_blob_endpoint,\n    storage_account_access_key=audit_logs.primary_access_key,\n    disabled_alerts=[\n        \"Sql_Injection\",\n        \"Data_Exfiltration\",\n    ],\n    retention_days=20)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleAccount = new Azure.Storage.Account(\"example\", new()\n    {\n        Name = \"examplestorageacc\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        AccountTier = \"Standard\",\n        AccountReplicationType = \"LRS\",\n        AccountKind = \"StorageV2\",\n        IsHnsEnabled = true,\n    });\n\n    var exampleDataLakeGen2Filesystem = new Azure.Storage.DataLakeGen2Filesystem(\"example\", new()\n    {\n        Name = \"example\",\n        StorageAccountId = exampleAccount.Id,\n    });\n\n    var exampleWorkspace = new Azure.Synapse.Workspace(\"example\", new()\n    {\n        Name = \"example\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        StorageDataLakeGen2FilesystemId = exampleDataLakeGen2Filesystem.Id,\n        SqlAdministratorLogin = \"sqladminuser\",\n        SqlAdministratorLoginPassword = \"H@Sh1CoR3!\",\n        AadAdmin = new[]\n        {\n            \n            {\n                { \"login\", \"AzureAD Admin\" },\n                { \"objectId\", \"00000000-0000-0000-0000-000000000000\" },\n                { \"tenantId\", \"00000000-0000-0000-0000-000000000000\" },\n            },\n        },\n        Identity = new Azure.Synapse.Inputs.WorkspaceIdentityArgs\n        {\n            Type = \"SystemAssigned\",\n        },\n        Tags = \n        {\n            { \"Env\", \"production\" },\n        },\n    });\n\n    var auditLogs = new Azure.Storage.Account(\"audit_logs\", new()\n    {\n        Name = \"examplesa\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        AccountTier = \"Standard\",\n        AccountReplicationType = \"LRS\",\n    });\n\n    var exampleWorkspaceSecurityAlertPolicy = new Azure.Synapse.WorkspaceSecurityAlertPolicy(\"example\", new()\n    {\n        SynapseWorkspaceId = exampleWorkspace.Id,\n        PolicyState = \"Enabled\",\n        StorageEndpoint = auditLogs.PrimaryBlobEndpoint,\n        StorageAccountAccessKey = auditLogs.PrimaryAccessKey,\n        DisabledAlerts = new[]\n        {\n            \"Sql_Injection\",\n            \"Data_Exfiltration\",\n        },\n        RetentionDays = 20,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/synapse\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := storage.NewAccount(ctx, \"example\", \u0026storage.AccountArgs{\n\t\t\tName:                   pulumi.String(\"examplestorageacc\"),\n\t\t\tResourceGroupName:      example.Name,\n\t\t\tLocation:               example.Location,\n\t\t\tAccountTier:            pulumi.String(\"Standard\"),\n\t\t\tAccountReplicationType: pulumi.String(\"LRS\"),\n\t\t\tAccountKind:            pulumi.String(\"StorageV2\"),\n\t\t\tIsHnsEnabled:           pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleDataLakeGen2Filesystem, err := storage.NewDataLakeGen2Filesystem(ctx, \"example\", \u0026storage.DataLakeGen2FilesystemArgs{\n\t\t\tName:             pulumi.String(\"example\"),\n\t\t\tStorageAccountId: exampleAccount.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleWorkspace, err := synapse.NewWorkspace(ctx, \"example\", \u0026synapse.WorkspaceArgs{\n\t\t\tName:                            pulumi.String(\"example\"),\n\t\t\tResourceGroupName:               example.Name,\n\t\t\tLocation:                        example.Location,\n\t\t\tStorageDataLakeGen2FilesystemId: exampleDataLakeGen2Filesystem.ID(),\n\t\t\tSqlAdministratorLogin:           pulumi.String(\"sqladminuser\"),\n\t\t\tSqlAdministratorLoginPassword:   pulumi.String(\"H@Sh1CoR3!\"),\n\t\t\tAadAdmin: []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"login\":    \"AzureAD Admin\",\n\t\t\t\t\t\"objectId\": \"00000000-0000-0000-0000-000000000000\",\n\t\t\t\t\t\"tenantId\": \"00000000-0000-0000-0000-000000000000\",\n\t\t\t\t},\n\t\t\t},\n\t\t\tIdentity: \u0026synapse.WorkspaceIdentityArgs{\n\t\t\t\tType: pulumi.String(\"SystemAssigned\"),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Env\": pulumi.String(\"production\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tauditLogs, err := storage.NewAccount(ctx, \"audit_logs\", \u0026storage.AccountArgs{\n\t\t\tName:                   pulumi.String(\"examplesa\"),\n\t\t\tResourceGroupName:      example.Name,\n\t\t\tLocation:               example.Location,\n\t\t\tAccountTier:            pulumi.String(\"Standard\"),\n\t\t\tAccountReplicationType: pulumi.String(\"LRS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = synapse.NewWorkspaceSecurityAlertPolicy(ctx, \"example\", \u0026synapse.WorkspaceSecurityAlertPolicyArgs{\n\t\t\tSynapseWorkspaceId:      exampleWorkspace.ID(),\n\t\t\tPolicyState:             pulumi.String(\"Enabled\"),\n\t\t\tStorageEndpoint:         auditLogs.PrimaryBlobEndpoint,\n\t\t\tStorageAccountAccessKey: auditLogs.PrimaryAccessKey,\n\t\t\tDisabledAlerts: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"Sql_Injection\"),\n\t\t\t\tpulumi.String(\"Data_Exfiltration\"),\n\t\t\t},\n\t\t\tRetentionDays: pulumi.Int(20),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.storage.Account;\nimport com.pulumi.azure.storage.AccountArgs;\nimport com.pulumi.azure.storage.DataLakeGen2Filesystem;\nimport com.pulumi.azure.storage.DataLakeGen2FilesystemArgs;\nimport com.pulumi.azure.synapse.Workspace;\nimport com.pulumi.azure.synapse.WorkspaceArgs;\nimport com.pulumi.azure.synapse.inputs.WorkspaceIdentityArgs;\nimport com.pulumi.azure.synapse.WorkspaceSecurityAlertPolicy;\nimport com.pulumi.azure.synapse.WorkspaceSecurityAlertPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"examplestorageacc\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .accountTier(\"Standard\")\n            .accountReplicationType(\"LRS\")\n            .accountKind(\"StorageV2\")\n            .isHnsEnabled(true)\n            .build());\n\n        var exampleDataLakeGen2Filesystem = new DataLakeGen2Filesystem(\"exampleDataLakeGen2Filesystem\", DataLakeGen2FilesystemArgs.builder()\n            .name(\"example\")\n            .storageAccountId(exampleAccount.id())\n            .build());\n\n        var exampleWorkspace = new Workspace(\"exampleWorkspace\", WorkspaceArgs.builder()\n            .name(\"example\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .storageDataLakeGen2FilesystemId(exampleDataLakeGen2Filesystem.id())\n            .sqlAdministratorLogin(\"sqladminuser\")\n            .sqlAdministratorLoginPassword(\"H@Sh1CoR3!\")\n            .aadAdmin(List.of(Map.ofEntries(\n                Map.entry(\"login\", \"AzureAD Admin\"),\n                Map.entry(\"objectId\", \"00000000-0000-0000-0000-000000000000\"),\n                Map.entry(\"tenantId\", \"00000000-0000-0000-0000-000000000000\")\n            )))\n            .identity(WorkspaceIdentityArgs.builder()\n                .type(\"SystemAssigned\")\n                .build())\n            .tags(Map.of(\"Env\", \"production\"))\n            .build());\n\n        var auditLogs = new Account(\"auditLogs\", AccountArgs.builder()\n            .name(\"examplesa\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .accountTier(\"Standard\")\n            .accountReplicationType(\"LRS\")\n            .build());\n\n        var exampleWorkspaceSecurityAlertPolicy = new WorkspaceSecurityAlertPolicy(\"exampleWorkspaceSecurityAlertPolicy\", WorkspaceSecurityAlertPolicyArgs.builder()\n            .synapseWorkspaceId(exampleWorkspace.id())\n            .policyState(\"Enabled\")\n            .storageEndpoint(auditLogs.primaryBlobEndpoint())\n            .storageAccountAccessKey(auditLogs.primaryAccessKey())\n            .disabledAlerts(            \n                \"Sql_Injection\",\n                \"Data_Exfiltration\")\n            .retentionDays(20)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleAccount:\n    type: azure:storage:Account\n    name: example\n    properties:\n      name: examplestorageacc\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      accountTier: Standard\n      accountReplicationType: LRS\n      accountKind: StorageV2\n      isHnsEnabled: 'true'\n  exampleDataLakeGen2Filesystem:\n    type: azure:storage:DataLakeGen2Filesystem\n    name: example\n    properties:\n      name: example\n      storageAccountId: ${exampleAccount.id}\n  exampleWorkspace:\n    type: azure:synapse:Workspace\n    name: example\n    properties:\n      name: example\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      storageDataLakeGen2FilesystemId: ${exampleDataLakeGen2Filesystem.id}\n      sqlAdministratorLogin: sqladminuser\n      sqlAdministratorLoginPassword: H@Sh1CoR3!\n      aadAdmin:\n        - login: AzureAD Admin\n          objectId: 00000000-0000-0000-0000-000000000000\n          tenantId: 00000000-0000-0000-0000-000000000000\n      identity:\n        type: SystemAssigned\n      tags:\n        Env: production\n  auditLogs:\n    type: azure:storage:Account\n    name: audit_logs\n    properties:\n      name: examplesa\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      accountTier: Standard\n      accountReplicationType: LRS\n  exampleWorkspaceSecurityAlertPolicy:\n    type: azure:synapse:WorkspaceSecurityAlertPolicy\n    name: example\n    properties:\n      synapseWorkspaceId: ${exampleWorkspace.id}\n      policyState: Enabled\n      storageEndpoint: ${auditLogs.primaryBlobEndpoint}\n      storageAccountAccessKey: ${auditLogs.primaryAccessKey}\n      disabledAlerts:\n        - Sql_Injection\n        - Data_Exfiltration\n      retentionDays: 20\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nSynapse Workspace Security Alert Policies can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:synapse/workspaceSecurityAlertPolicy:WorkspaceSecurityAlertPolicy example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Synapse/workspaces/workspace1/securityAlertPolicies/Default\n```\n\n","properties":{"disabledAlerts":{"type":"array","items":{"type":"string"},"description":"Specifies an array of alerts that are disabled. Allowed values are: `Sql_Injection`, `Sql_Injection_Vulnerability`, `Access_Anomaly`, `Data_Exfiltration`, `Unsafe_Action`.\n"},"emailAccountAdminsEnabled":{"type":"boolean","description":"Boolean flag which specifies if the alert is sent to the account administrators or not. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"emailAddresses":{"type":"array","items":{"type":"string"},"description":"Specifies an array of email addresses to which the alert is sent.\n"},"policyState":{"type":"string","description":"Specifies the state of the policy, whether it is enabled or disabled or a policy has not been applied yet on the specific workspace. Possible values are `Disabled`, `Enabled` and `New`.\n"},"retentionDays":{"type":"integer","description":"Specifies the number of days to keep in the Threat Detection audit logs. Defaults to \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"storageAccountAccessKey":{"type":"string","description":"Specifies the identifier key of the Threat Detection audit storage account.\n","secret":true},"storageEndpoint":{"type":"string","description":"Specifies the blob storage endpoint (e.g. \u003chttps://example.blob.core.windows.net\u003e). This blob storage will hold all Threat Detection audit logs.\n"},"synapseWorkspaceId":{"type":"string","description":"Specifies the ID of the Synapse Workspace. Changing this forces a new resource to be created.\n"}},"required":["policyState","synapseWorkspaceId"],"inputProperties":{"disabledAlerts":{"type":"array","items":{"type":"string"},"description":"Specifies an array of alerts that are disabled. Allowed values are: `Sql_Injection`, `Sql_Injection_Vulnerability`, `Access_Anomaly`, `Data_Exfiltration`, `Unsafe_Action`.\n"},"emailAccountAdminsEnabled":{"type":"boolean","description":"Boolean flag which specifies if the alert is sent to the account administrators or not. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"emailAddresses":{"type":"array","items":{"type":"string"},"description":"Specifies an array of email addresses to which the alert is sent.\n"},"policyState":{"type":"string","description":"Specifies the state of the policy, whether it is enabled or disabled or a policy has not been applied yet on the specific workspace. Possible values are `Disabled`, `Enabled` and `New`.\n"},"retentionDays":{"type":"integer","description":"Specifies the number of days to keep in the Threat Detection audit logs. Defaults to \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"storageAccountAccessKey":{"type":"string","description":"Specifies the identifier key of the Threat Detection audit storage account.\n","secret":true},"storageEndpoint":{"type":"string","description":"Specifies the blob storage endpoint (e.g. \u003chttps://example.blob.core.windows.net\u003e). This blob storage will hold all Threat Detection audit logs.\n"},"synapseWorkspaceId":{"type":"string","description":"Specifies the ID of the Synapse Workspace. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["policyState","synapseWorkspaceId"],"stateInputs":{"description":"Input properties used for looking up and filtering WorkspaceSecurityAlertPolicy resources.\n","properties":{"disabledAlerts":{"type":"array","items":{"type":"string"},"description":"Specifies an array of alerts that are disabled. Allowed values are: `Sql_Injection`, `Sql_Injection_Vulnerability`, `Access_Anomaly`, `Data_Exfiltration`, `Unsafe_Action`.\n"},"emailAccountAdminsEnabled":{"type":"boolean","description":"Boolean flag which specifies if the alert is sent to the account administrators or not. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"emailAddresses":{"type":"array","items":{"type":"string"},"description":"Specifies an array of email addresses to which the alert is sent.\n"},"policyState":{"type":"string","description":"Specifies the state of the policy, whether it is enabled or disabled or a policy has not been applied yet on the specific workspace. Possible values are `Disabled`, `Enabled` and `New`.\n"},"retentionDays":{"type":"integer","description":"Specifies the number of days to keep in the Threat Detection audit logs. Defaults to \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"storageAccountAccessKey":{"type":"string","description":"Specifies the identifier key of the Threat Detection audit storage account.\n","secret":true},"storageEndpoint":{"type":"string","description":"Specifies the blob storage endpoint (e.g. \u003chttps://example.blob.core.windows.net\u003e). This blob storage will hold all Threat Detection audit logs.\n"},"synapseWorkspaceId":{"type":"string","description":"Specifies the ID of the Synapse Workspace. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:synapse/workspaceSqlAadAdmin:WorkspaceSqlAadAdmin":{"description":"Manages an Azure Active Directory SQL Administrator setting for a Synapse Workspace\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleAccount = new azure.storage.Account(\"example\", {\n    name: \"examplestorageacc\",\n    resourceGroupName: example.name,\n    location: example.location,\n    accountTier: \"Standard\",\n    accountReplicationType: \"LRS\",\n    accountKind: \"StorageV2\",\n    isHnsEnabled: true,\n});\nconst exampleDataLakeGen2Filesystem = new azure.storage.DataLakeGen2Filesystem(\"example\", {\n    name: \"example\",\n    storageAccountId: exampleAccount.id,\n});\nconst current = azure.core.getClientConfig({});\nconst exampleKeyVault = new azure.keyvault.KeyVault(\"example\", {\n    name: \"example\",\n    location: example.location,\n    resourceGroupName: example.name,\n    tenantId: current.then(current =\u003e current.tenantId),\n    skuName: \"standard\",\n    purgeProtectionEnabled: true,\n});\nconst deployer = new azure.keyvault.AccessPolicy(\"deployer\", {\n    keyVaultId: exampleKeyVault.id,\n    tenantId: current.then(current =\u003e current.tenantId),\n    objectId: current.then(current =\u003e current.objectId),\n    keyPermissions: [\n        \"Create\",\n        \"Get\",\n        \"Delete\",\n        \"Purge\",\n        \"GetRotationPolicy\",\n    ],\n});\nconst exampleKey = new azure.keyvault.Key(\"example\", {\n    name: \"workspace-encryption-key\",\n    keyVaultId: exampleKeyVault.id,\n    keyType: \"RSA\",\n    keySize: 2048,\n    keyOpts: [\n        \"unwrapKey\",\n        \"wrapKey\",\n    ],\n}, {\n    dependsOn: [deployer],\n});\nconst exampleWorkspace = new azure.synapse.Workspace(\"example\", {\n    name: \"example\",\n    resourceGroupName: example.name,\n    location: example.location,\n    storageDataLakeGen2FilesystemId: exampleDataLakeGen2Filesystem.id,\n    sqlAdministratorLogin: \"sqladminuser\",\n    sqlAdministratorLoginPassword: \"H@Sh1CoR3!\",\n    identity: {\n        type: \"SystemAssigned\",\n    },\n    tags: {\n        Env: \"production\",\n    },\n});\nconst exampleWorkspaceSqlAadAdmin = new azure.synapse.WorkspaceSqlAadAdmin(\"example\", {\n    synapseWorkspaceId: exampleWorkspace.id,\n    login: \"AzureAD Admin\",\n    objectId: current.then(current =\u003e current.objectId),\n    tenantId: current.then(current =\u003e current.tenantId),\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_account = azure.storage.Account(\"example\",\n    name=\"examplestorageacc\",\n    resource_group_name=example.name,\n    location=example.location,\n    account_tier=\"Standard\",\n    account_replication_type=\"LRS\",\n    account_kind=\"StorageV2\",\n    is_hns_enabled=True)\nexample_data_lake_gen2_filesystem = azure.storage.DataLakeGen2Filesystem(\"example\",\n    name=\"example\",\n    storage_account_id=example_account.id)\ncurrent = azure.core.get_client_config()\nexample_key_vault = azure.keyvault.KeyVault(\"example\",\n    name=\"example\",\n    location=example.location,\n    resource_group_name=example.name,\n    tenant_id=current.tenant_id,\n    sku_name=\"standard\",\n    purge_protection_enabled=True)\ndeployer = azure.keyvault.AccessPolicy(\"deployer\",\n    key_vault_id=example_key_vault.id,\n    tenant_id=current.tenant_id,\n    object_id=current.object_id,\n    key_permissions=[\n        \"Create\",\n        \"Get\",\n        \"Delete\",\n        \"Purge\",\n        \"GetRotationPolicy\",\n    ])\nexample_key = azure.keyvault.Key(\"example\",\n    name=\"workspace-encryption-key\",\n    key_vault_id=example_key_vault.id,\n    key_type=\"RSA\",\n    key_size=2048,\n    key_opts=[\n        \"unwrapKey\",\n        \"wrapKey\",\n    ],\n    opts = pulumi.ResourceOptions(depends_on=[deployer]))\nexample_workspace = azure.synapse.Workspace(\"example\",\n    name=\"example\",\n    resource_group_name=example.name,\n    location=example.location,\n    storage_data_lake_gen2_filesystem_id=example_data_lake_gen2_filesystem.id,\n    sql_administrator_login=\"sqladminuser\",\n    sql_administrator_login_password=\"H@Sh1CoR3!\",\n    identity={\n        \"type\": \"SystemAssigned\",\n    },\n    tags={\n        \"Env\": \"production\",\n    })\nexample_workspace_sql_aad_admin = azure.synapse.WorkspaceSqlAadAdmin(\"example\",\n    synapse_workspace_id=example_workspace.id,\n    login=\"AzureAD Admin\",\n    object_id=current.object_id,\n    tenant_id=current.tenant_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleAccount = new Azure.Storage.Account(\"example\", new()\n    {\n        Name = \"examplestorageacc\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        AccountTier = \"Standard\",\n        AccountReplicationType = \"LRS\",\n        AccountKind = \"StorageV2\",\n        IsHnsEnabled = true,\n    });\n\n    var exampleDataLakeGen2Filesystem = new Azure.Storage.DataLakeGen2Filesystem(\"example\", new()\n    {\n        Name = \"example\",\n        StorageAccountId = exampleAccount.Id,\n    });\n\n    var current = Azure.Core.GetClientConfig.Invoke();\n\n    var exampleKeyVault = new Azure.KeyVault.KeyVault(\"example\", new()\n    {\n        Name = \"example\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        TenantId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.TenantId),\n        SkuName = \"standard\",\n        PurgeProtectionEnabled = true,\n    });\n\n    var deployer = new Azure.KeyVault.AccessPolicy(\"deployer\", new()\n    {\n        KeyVaultId = exampleKeyVault.Id,\n        TenantId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.TenantId),\n        ObjectId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.ObjectId),\n        KeyPermissions = new[]\n        {\n            \"Create\",\n            \"Get\",\n            \"Delete\",\n            \"Purge\",\n            \"GetRotationPolicy\",\n        },\n    });\n\n    var exampleKey = new Azure.KeyVault.Key(\"example\", new()\n    {\n        Name = \"workspace-encryption-key\",\n        KeyVaultId = exampleKeyVault.Id,\n        KeyType = \"RSA\",\n        KeySize = 2048,\n        KeyOpts = new[]\n        {\n            \"unwrapKey\",\n            \"wrapKey\",\n        },\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            deployer,\n        },\n    });\n\n    var exampleWorkspace = new Azure.Synapse.Workspace(\"example\", new()\n    {\n        Name = \"example\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        StorageDataLakeGen2FilesystemId = exampleDataLakeGen2Filesystem.Id,\n        SqlAdministratorLogin = \"sqladminuser\",\n        SqlAdministratorLoginPassword = \"H@Sh1CoR3!\",\n        Identity = new Azure.Synapse.Inputs.WorkspaceIdentityArgs\n        {\n            Type = \"SystemAssigned\",\n        },\n        Tags = \n        {\n            { \"Env\", \"production\" },\n        },\n    });\n\n    var exampleWorkspaceSqlAadAdmin = new Azure.Synapse.WorkspaceSqlAadAdmin(\"example\", new()\n    {\n        SynapseWorkspaceId = exampleWorkspace.Id,\n        Login = \"AzureAD Admin\",\n        ObjectId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.ObjectId),\n        TenantId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.TenantId),\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/keyvault\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/synapse\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := storage.NewAccount(ctx, \"example\", \u0026storage.AccountArgs{\n\t\t\tName:                   pulumi.String(\"examplestorageacc\"),\n\t\t\tResourceGroupName:      example.Name,\n\t\t\tLocation:               example.Location,\n\t\t\tAccountTier:            pulumi.String(\"Standard\"),\n\t\t\tAccountReplicationType: pulumi.String(\"LRS\"),\n\t\t\tAccountKind:            pulumi.String(\"StorageV2\"),\n\t\t\tIsHnsEnabled:           pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleDataLakeGen2Filesystem, err := storage.NewDataLakeGen2Filesystem(ctx, \"example\", \u0026storage.DataLakeGen2FilesystemArgs{\n\t\t\tName:             pulumi.String(\"example\"),\n\t\t\tStorageAccountId: exampleAccount.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrent, err := core.GetClientConfig(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleKeyVault, err := keyvault.NewKeyVault(ctx, \"example\", \u0026keyvault.KeyVaultArgs{\n\t\t\tName:                   pulumi.String(\"example\"),\n\t\t\tLocation:               example.Location,\n\t\t\tResourceGroupName:      example.Name,\n\t\t\tTenantId:               pulumi.String(current.TenantId),\n\t\t\tSkuName:                pulumi.String(\"standard\"),\n\t\t\tPurgeProtectionEnabled: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdeployer, err := keyvault.NewAccessPolicy(ctx, \"deployer\", \u0026keyvault.AccessPolicyArgs{\n\t\t\tKeyVaultId: exampleKeyVault.ID(),\n\t\t\tTenantId:   pulumi.String(current.TenantId),\n\t\t\tObjectId:   pulumi.String(current.ObjectId),\n\t\t\tKeyPermissions: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"Create\"),\n\t\t\t\tpulumi.String(\"Get\"),\n\t\t\t\tpulumi.String(\"Delete\"),\n\t\t\t\tpulumi.String(\"Purge\"),\n\t\t\t\tpulumi.String(\"GetRotationPolicy\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = keyvault.NewKey(ctx, \"example\", \u0026keyvault.KeyArgs{\n\t\t\tName:       pulumi.String(\"workspace-encryption-key\"),\n\t\t\tKeyVaultId: exampleKeyVault.ID(),\n\t\t\tKeyType:    pulumi.String(\"RSA\"),\n\t\t\tKeySize:    pulumi.Int(2048),\n\t\t\tKeyOpts: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"unwrapKey\"),\n\t\t\t\tpulumi.String(\"wrapKey\"),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tdeployer,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleWorkspace, err := synapse.NewWorkspace(ctx, \"example\", \u0026synapse.WorkspaceArgs{\n\t\t\tName:                            pulumi.String(\"example\"),\n\t\t\tResourceGroupName:               example.Name,\n\t\t\tLocation:                        example.Location,\n\t\t\tStorageDataLakeGen2FilesystemId: exampleDataLakeGen2Filesystem.ID(),\n\t\t\tSqlAdministratorLogin:           pulumi.String(\"sqladminuser\"),\n\t\t\tSqlAdministratorLoginPassword:   pulumi.String(\"H@Sh1CoR3!\"),\n\t\t\tIdentity: \u0026synapse.WorkspaceIdentityArgs{\n\t\t\t\tType: pulumi.String(\"SystemAssigned\"),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Env\": pulumi.String(\"production\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = synapse.NewWorkspaceSqlAadAdmin(ctx, \"example\", \u0026synapse.WorkspaceSqlAadAdminArgs{\n\t\t\tSynapseWorkspaceId: exampleWorkspace.ID(),\n\t\t\tLogin:              pulumi.String(\"AzureAD Admin\"),\n\t\t\tObjectId:           pulumi.String(current.ObjectId),\n\t\t\tTenantId:           pulumi.String(current.TenantId),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.storage.Account;\nimport com.pulumi.azure.storage.AccountArgs;\nimport com.pulumi.azure.storage.DataLakeGen2Filesystem;\nimport com.pulumi.azure.storage.DataLakeGen2FilesystemArgs;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.keyvault.KeyVault;\nimport com.pulumi.azure.keyvault.KeyVaultArgs;\nimport com.pulumi.azure.keyvault.AccessPolicy;\nimport com.pulumi.azure.keyvault.AccessPolicyArgs;\nimport com.pulumi.azure.keyvault.Key;\nimport com.pulumi.azure.keyvault.KeyArgs;\nimport com.pulumi.azure.synapse.Workspace;\nimport com.pulumi.azure.synapse.WorkspaceArgs;\nimport com.pulumi.azure.synapse.inputs.WorkspaceIdentityArgs;\nimport com.pulumi.azure.synapse.WorkspaceSqlAadAdmin;\nimport com.pulumi.azure.synapse.WorkspaceSqlAadAdminArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"examplestorageacc\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .accountTier(\"Standard\")\n            .accountReplicationType(\"LRS\")\n            .accountKind(\"StorageV2\")\n            .isHnsEnabled(true)\n            .build());\n\n        var exampleDataLakeGen2Filesystem = new DataLakeGen2Filesystem(\"exampleDataLakeGen2Filesystem\", DataLakeGen2FilesystemArgs.builder()\n            .name(\"example\")\n            .storageAccountId(exampleAccount.id())\n            .build());\n\n        final var current = CoreFunctions.getClientConfig(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n        var exampleKeyVault = new KeyVault(\"exampleKeyVault\", KeyVaultArgs.builder()\n            .name(\"example\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .tenantId(current.tenantId())\n            .skuName(\"standard\")\n            .purgeProtectionEnabled(true)\n            .build());\n\n        var deployer = new AccessPolicy(\"deployer\", AccessPolicyArgs.builder()\n            .keyVaultId(exampleKeyVault.id())\n            .tenantId(current.tenantId())\n            .objectId(current.objectId())\n            .keyPermissions(            \n                \"Create\",\n                \"Get\",\n                \"Delete\",\n                \"Purge\",\n                \"GetRotationPolicy\")\n            .build());\n\n        var exampleKey = new Key(\"exampleKey\", KeyArgs.builder()\n            .name(\"workspace-encryption-key\")\n            .keyVaultId(exampleKeyVault.id())\n            .keyType(\"RSA\")\n            .keySize(2048)\n            .keyOpts(            \n                \"unwrapKey\",\n                \"wrapKey\")\n            .build(), CustomResourceOptions.builder()\n                .dependsOn(deployer)\n                .build());\n\n        var exampleWorkspace = new Workspace(\"exampleWorkspace\", WorkspaceArgs.builder()\n            .name(\"example\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .storageDataLakeGen2FilesystemId(exampleDataLakeGen2Filesystem.id())\n            .sqlAdministratorLogin(\"sqladminuser\")\n            .sqlAdministratorLoginPassword(\"H@Sh1CoR3!\")\n            .identity(WorkspaceIdentityArgs.builder()\n                .type(\"SystemAssigned\")\n                .build())\n            .tags(Map.of(\"Env\", \"production\"))\n            .build());\n\n        var exampleWorkspaceSqlAadAdmin = new WorkspaceSqlAadAdmin(\"exampleWorkspaceSqlAadAdmin\", WorkspaceSqlAadAdminArgs.builder()\n            .synapseWorkspaceId(exampleWorkspace.id())\n            .login(\"AzureAD Admin\")\n            .objectId(current.objectId())\n            .tenantId(current.tenantId())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleAccount:\n    type: azure:storage:Account\n    name: example\n    properties:\n      name: examplestorageacc\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      accountTier: Standard\n      accountReplicationType: LRS\n      accountKind: StorageV2\n      isHnsEnabled: 'true'\n  exampleDataLakeGen2Filesystem:\n    type: azure:storage:DataLakeGen2Filesystem\n    name: example\n    properties:\n      name: example\n      storageAccountId: ${exampleAccount.id}\n  exampleKeyVault:\n    type: azure:keyvault:KeyVault\n    name: example\n    properties:\n      name: example\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      tenantId: ${current.tenantId}\n      skuName: standard\n      purgeProtectionEnabled: true\n  deployer:\n    type: azure:keyvault:AccessPolicy\n    properties:\n      keyVaultId: ${exampleKeyVault.id}\n      tenantId: ${current.tenantId}\n      objectId: ${current.objectId}\n      keyPermissions:\n        - Create\n        - Get\n        - Delete\n        - Purge\n        - GetRotationPolicy\n  exampleKey:\n    type: azure:keyvault:Key\n    name: example\n    properties:\n      name: workspace-encryption-key\n      keyVaultId: ${exampleKeyVault.id}\n      keyType: RSA\n      keySize: 2048\n      keyOpts:\n        - unwrapKey\n        - wrapKey\n    options:\n      dependsOn:\n        - ${deployer}\n  exampleWorkspace:\n    type: azure:synapse:Workspace\n    name: example\n    properties:\n      name: example\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      storageDataLakeGen2FilesystemId: ${exampleDataLakeGen2Filesystem.id}\n      sqlAdministratorLogin: sqladminuser\n      sqlAdministratorLoginPassword: H@Sh1CoR3!\n      identity:\n        type: SystemAssigned\n      tags:\n        Env: production\n  exampleWorkspaceSqlAadAdmin:\n    type: azure:synapse:WorkspaceSqlAadAdmin\n    name: example\n    properties:\n      synapseWorkspaceId: ${exampleWorkspace.id}\n      login: AzureAD Admin\n      objectId: ${current.objectId}\n      tenantId: ${current.tenantId}\nvariables:\n  current:\n    fn::invoke:\n      function: azure:core:getClientConfig\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nSynapse Workspace Azure AD SQL Administrator can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:synapse/workspaceSqlAadAdmin:WorkspaceSqlAadAdmin example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup1/providers/Microsoft.Synapse/workspaces/workspace1/sqlAdministrators/activeDirectory\n```\n\n","properties":{"login":{"type":"string","description":"The login name of the Azure AD SQL Administrator of this Synapse Workspace.\n"},"objectId":{"type":"string","description":"The object id of the Azure AD SQL Administrator of this Synapse Workspace.\n"},"synapseWorkspaceId":{"type":"string","description":"The ID of the Synapse Workspace where the Azure AD SQL Administrator should be configured.\n"},"tenantId":{"type":"string","description":"The tenant id of the Azure AD SQL Administrator of this Synapse Workspace.\n"}},"required":["login","objectId","synapseWorkspaceId","tenantId"],"inputProperties":{"login":{"type":"string","description":"The login name of the Azure AD SQL Administrator of this Synapse Workspace.\n"},"objectId":{"type":"string","description":"The object id of the Azure AD SQL Administrator of this Synapse Workspace.\n"},"synapseWorkspaceId":{"type":"string","description":"The ID of the Synapse Workspace where the Azure AD SQL Administrator should be configured.\n"},"tenantId":{"type":"string","description":"The tenant id of the Azure AD SQL Administrator of this Synapse Workspace.\n"}},"requiredInputs":["login","objectId","synapseWorkspaceId","tenantId"],"stateInputs":{"description":"Input properties used for looking up and filtering WorkspaceSqlAadAdmin resources.\n","properties":{"login":{"type":"string","description":"The login name of the Azure AD SQL Administrator of this Synapse Workspace.\n"},"objectId":{"type":"string","description":"The object id of the Azure AD SQL Administrator of this Synapse Workspace.\n"},"synapseWorkspaceId":{"type":"string","description":"The ID of the Synapse Workspace where the Azure AD SQL Administrator should be configured.\n"},"tenantId":{"type":"string","description":"The tenant id of the Azure AD SQL Administrator of this Synapse Workspace.\n"}},"type":"object"}},"azure:synapse/workspaceVulnerabilityAssessment:WorkspaceVulnerabilityAssessment":{"description":"Manages the Vulnerability Assessment for a Synapse Workspace.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleAccount = new azure.storage.Account(\"example\", {\n    name: \"examplestorageacc\",\n    resourceGroupName: example.name,\n    location: example.location,\n    accountTier: \"Standard\",\n    accountReplicationType: \"LRS\",\n    accountKind: \"StorageV2\",\n    isHnsEnabled: true,\n});\nconst exampleContainer = new azure.storage.Container(\"example\", {\n    name: \"example\",\n    storageAccountName: exampleAccount.name,\n});\nconst exampleDataLakeGen2Filesystem = new azure.storage.DataLakeGen2Filesystem(\"example\", {\n    name: \"example\",\n    storageAccountId: exampleAccount.id,\n});\nconst exampleWorkspace = new azure.synapse.Workspace(\"example\", {\n    name: \"example\",\n    resourceGroupName: example.name,\n    location: example.location,\n    storageDataLakeGen2FilesystemId: exampleDataLakeGen2Filesystem.id,\n    sqlAdministratorLogin: \"sqladminuser\",\n    sqlAdministratorLoginPassword: \"H@Sh1CoR3!\",\n    aadAdmin: [{\n        login: \"AzureAD Admin\",\n        objectId: \"00000000-0000-0000-0000-000000000000\",\n        tenantId: \"00000000-0000-0000-0000-000000000000\",\n    }],\n    identity: {\n        type: \"SystemAssigned\",\n    },\n    tags: {\n        Env: \"production\",\n    },\n});\nconst auditLogs = new azure.storage.Account(\"audit_logs\", {\n    name: \"examplesa\",\n    resourceGroupName: example.name,\n    location: example.location,\n    accountTier: \"Standard\",\n    accountReplicationType: \"LRS\",\n});\nconst exampleWorkspaceSecurityAlertPolicy = new azure.synapse.WorkspaceSecurityAlertPolicy(\"example\", {\n    synapseWorkspaceId: exampleWorkspace.id,\n    policyState: \"Enabled\",\n    storageEndpoint: auditLogs.primaryBlobEndpoint,\n    storageAccountAccessKey: auditLogs.primaryAccessKey,\n    disabledAlerts: [\n        \"Sql_Injection\",\n        \"Data_Exfiltration\",\n    ],\n    retentionDays: 20,\n});\nconst exampleWorkspaceVulnerabilityAssessment = new azure.synapse.WorkspaceVulnerabilityAssessment(\"example\", {\n    workspaceSecurityAlertPolicyId: exampleWorkspaceSecurityAlertPolicy.id,\n    storageContainerPath: pulumi.interpolate`${exampleAccount.primaryBlobEndpoint}${exampleContainer.name}/`,\n    storageAccountAccessKey: exampleAccount.primaryAccessKey,\n    recurringScans: {\n        enabled: true,\n        emails: [\n            \"email@example1.com\",\n            \"email@example2.com\",\n        ],\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_account = azure.storage.Account(\"example\",\n    name=\"examplestorageacc\",\n    resource_group_name=example.name,\n    location=example.location,\n    account_tier=\"Standard\",\n    account_replication_type=\"LRS\",\n    account_kind=\"StorageV2\",\n    is_hns_enabled=True)\nexample_container = azure.storage.Container(\"example\",\n    name=\"example\",\n    storage_account_name=example_account.name)\nexample_data_lake_gen2_filesystem = azure.storage.DataLakeGen2Filesystem(\"example\",\n    name=\"example\",\n    storage_account_id=example_account.id)\nexample_workspace = azure.synapse.Workspace(\"example\",\n    name=\"example\",\n    resource_group_name=example.name,\n    location=example.location,\n    storage_data_lake_gen2_filesystem_id=example_data_lake_gen2_filesystem.id,\n    sql_administrator_login=\"sqladminuser\",\n    sql_administrator_login_password=\"H@Sh1CoR3!\",\n    aad_admin=[{\n        \"login\": \"AzureAD Admin\",\n        \"objectId\": \"00000000-0000-0000-0000-000000000000\",\n        \"tenantId\": \"00000000-0000-0000-0000-000000000000\",\n    }],\n    identity={\n        \"type\": \"SystemAssigned\",\n    },\n    tags={\n        \"Env\": \"production\",\n    })\naudit_logs = azure.storage.Account(\"audit_logs\",\n    name=\"examplesa\",\n    resource_group_name=example.name,\n    location=example.location,\n    account_tier=\"Standard\",\n    account_replication_type=\"LRS\")\nexample_workspace_security_alert_policy = azure.synapse.WorkspaceSecurityAlertPolicy(\"example\",\n    synapse_workspace_id=example_workspace.id,\n    policy_state=\"Enabled\",\n    storage_endpoint=audit_logs.primary_blob_endpoint,\n    storage_account_access_key=audit_logs.primary_access_key,\n    disabled_alerts=[\n        \"Sql_Injection\",\n        \"Data_Exfiltration\",\n    ],\n    retention_days=20)\nexample_workspace_vulnerability_assessment = azure.synapse.WorkspaceVulnerabilityAssessment(\"example\",\n    workspace_security_alert_policy_id=example_workspace_security_alert_policy.id,\n    storage_container_path=pulumi.Output.all(\n        primary_blob_endpoint=example_account.primary_blob_endpoint,\n        name=example_container.name\n).apply(lambda resolved_outputs: f\"{resolved_outputs['primary_blob_endpoint']}{resolved_outputs['name']}/\")\n,\n    storage_account_access_key=example_account.primary_access_key,\n    recurring_scans={\n        \"enabled\": True,\n        \"emails\": [\n            \"email@example1.com\",\n            \"email@example2.com\",\n        ],\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleAccount = new Azure.Storage.Account(\"example\", new()\n    {\n        Name = \"examplestorageacc\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        AccountTier = \"Standard\",\n        AccountReplicationType = \"LRS\",\n        AccountKind = \"StorageV2\",\n        IsHnsEnabled = true,\n    });\n\n    var exampleContainer = new Azure.Storage.Container(\"example\", new()\n    {\n        Name = \"example\",\n        StorageAccountName = exampleAccount.Name,\n    });\n\n    var exampleDataLakeGen2Filesystem = new Azure.Storage.DataLakeGen2Filesystem(\"example\", new()\n    {\n        Name = \"example\",\n        StorageAccountId = exampleAccount.Id,\n    });\n\n    var exampleWorkspace = new Azure.Synapse.Workspace(\"example\", new()\n    {\n        Name = \"example\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        StorageDataLakeGen2FilesystemId = exampleDataLakeGen2Filesystem.Id,\n        SqlAdministratorLogin = \"sqladminuser\",\n        SqlAdministratorLoginPassword = \"H@Sh1CoR3!\",\n        AadAdmin = new[]\n        {\n            \n            {\n                { \"login\", \"AzureAD Admin\" },\n                { \"objectId\", \"00000000-0000-0000-0000-000000000000\" },\n                { \"tenantId\", \"00000000-0000-0000-0000-000000000000\" },\n            },\n        },\n        Identity = new Azure.Synapse.Inputs.WorkspaceIdentityArgs\n        {\n            Type = \"SystemAssigned\",\n        },\n        Tags = \n        {\n            { \"Env\", \"production\" },\n        },\n    });\n\n    var auditLogs = new Azure.Storage.Account(\"audit_logs\", new()\n    {\n        Name = \"examplesa\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        AccountTier = \"Standard\",\n        AccountReplicationType = \"LRS\",\n    });\n\n    var exampleWorkspaceSecurityAlertPolicy = new Azure.Synapse.WorkspaceSecurityAlertPolicy(\"example\", new()\n    {\n        SynapseWorkspaceId = exampleWorkspace.Id,\n        PolicyState = \"Enabled\",\n        StorageEndpoint = auditLogs.PrimaryBlobEndpoint,\n        StorageAccountAccessKey = auditLogs.PrimaryAccessKey,\n        DisabledAlerts = new[]\n        {\n            \"Sql_Injection\",\n            \"Data_Exfiltration\",\n        },\n        RetentionDays = 20,\n    });\n\n    var exampleWorkspaceVulnerabilityAssessment = new Azure.Synapse.WorkspaceVulnerabilityAssessment(\"example\", new()\n    {\n        WorkspaceSecurityAlertPolicyId = exampleWorkspaceSecurityAlertPolicy.Id,\n        StorageContainerPath = Output.Tuple(exampleAccount.PrimaryBlobEndpoint, exampleContainer.Name).Apply(values =\u003e\n        {\n            var primaryBlobEndpoint = values.Item1;\n            var name = values.Item2;\n            return $\"{primaryBlobEndpoint}{name}/\";\n        }),\n        StorageAccountAccessKey = exampleAccount.PrimaryAccessKey,\n        RecurringScans = new Azure.Synapse.Inputs.WorkspaceVulnerabilityAssessmentRecurringScansArgs\n        {\n            Enabled = true,\n            Emails = new[]\n            {\n                \"email@example1.com\",\n                \"email@example2.com\",\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/synapse\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := storage.NewAccount(ctx, \"example\", \u0026storage.AccountArgs{\n\t\t\tName:                   pulumi.String(\"examplestorageacc\"),\n\t\t\tResourceGroupName:      example.Name,\n\t\t\tLocation:               example.Location,\n\t\t\tAccountTier:            pulumi.String(\"Standard\"),\n\t\t\tAccountReplicationType: pulumi.String(\"LRS\"),\n\t\t\tAccountKind:            pulumi.String(\"StorageV2\"),\n\t\t\tIsHnsEnabled:           pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleContainer, err := storage.NewContainer(ctx, \"example\", \u0026storage.ContainerArgs{\n\t\t\tName:               pulumi.String(\"example\"),\n\t\t\tStorageAccountName: exampleAccount.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleDataLakeGen2Filesystem, err := storage.NewDataLakeGen2Filesystem(ctx, \"example\", \u0026storage.DataLakeGen2FilesystemArgs{\n\t\t\tName:             pulumi.String(\"example\"),\n\t\t\tStorageAccountId: exampleAccount.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleWorkspace, err := synapse.NewWorkspace(ctx, \"example\", \u0026synapse.WorkspaceArgs{\n\t\t\tName:                            pulumi.String(\"example\"),\n\t\t\tResourceGroupName:               example.Name,\n\t\t\tLocation:                        example.Location,\n\t\t\tStorageDataLakeGen2FilesystemId: exampleDataLakeGen2Filesystem.ID(),\n\t\t\tSqlAdministratorLogin:           pulumi.String(\"sqladminuser\"),\n\t\t\tSqlAdministratorLoginPassword:   pulumi.String(\"H@Sh1CoR3!\"),\n\t\t\tAadAdmin: []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"login\":    \"AzureAD Admin\",\n\t\t\t\t\t\"objectId\": \"00000000-0000-0000-0000-000000000000\",\n\t\t\t\t\t\"tenantId\": \"00000000-0000-0000-0000-000000000000\",\n\t\t\t\t},\n\t\t\t},\n\t\t\tIdentity: \u0026synapse.WorkspaceIdentityArgs{\n\t\t\t\tType: pulumi.String(\"SystemAssigned\"),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Env\": pulumi.String(\"production\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tauditLogs, err := storage.NewAccount(ctx, \"audit_logs\", \u0026storage.AccountArgs{\n\t\t\tName:                   pulumi.String(\"examplesa\"),\n\t\t\tResourceGroupName:      example.Name,\n\t\t\tLocation:               example.Location,\n\t\t\tAccountTier:            pulumi.String(\"Standard\"),\n\t\t\tAccountReplicationType: pulumi.String(\"LRS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleWorkspaceSecurityAlertPolicy, err := synapse.NewWorkspaceSecurityAlertPolicy(ctx, \"example\", \u0026synapse.WorkspaceSecurityAlertPolicyArgs{\n\t\t\tSynapseWorkspaceId:      exampleWorkspace.ID(),\n\t\t\tPolicyState:             pulumi.String(\"Enabled\"),\n\t\t\tStorageEndpoint:         auditLogs.PrimaryBlobEndpoint,\n\t\t\tStorageAccountAccessKey: auditLogs.PrimaryAccessKey,\n\t\t\tDisabledAlerts: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"Sql_Injection\"),\n\t\t\t\tpulumi.String(\"Data_Exfiltration\"),\n\t\t\t},\n\t\t\tRetentionDays: pulumi.Int(20),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = synapse.NewWorkspaceVulnerabilityAssessment(ctx, \"example\", \u0026synapse.WorkspaceVulnerabilityAssessmentArgs{\n\t\t\tWorkspaceSecurityAlertPolicyId: exampleWorkspaceSecurityAlertPolicy.ID(),\n\t\t\tStorageContainerPath: pulumi.All(exampleAccount.PrimaryBlobEndpoint, exampleContainer.Name).ApplyT(func(_args []interface{}) (string, error) {\n\t\t\t\tprimaryBlobEndpoint := _args[0].(string)\n\t\t\t\tname := _args[1].(string)\n\t\t\t\treturn fmt.Sprintf(\"%v%v/\", primaryBlobEndpoint, name), nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t\tStorageAccountAccessKey: exampleAccount.PrimaryAccessKey,\n\t\t\tRecurringScans: \u0026synapse.WorkspaceVulnerabilityAssessmentRecurringScansArgs{\n\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\tEmails: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"email@example1.com\"),\n\t\t\t\t\tpulumi.String(\"email@example2.com\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.storage.Account;\nimport com.pulumi.azure.storage.AccountArgs;\nimport com.pulumi.azure.storage.Container;\nimport com.pulumi.azure.storage.ContainerArgs;\nimport com.pulumi.azure.storage.DataLakeGen2Filesystem;\nimport com.pulumi.azure.storage.DataLakeGen2FilesystemArgs;\nimport com.pulumi.azure.synapse.Workspace;\nimport com.pulumi.azure.synapse.WorkspaceArgs;\nimport com.pulumi.azure.synapse.inputs.WorkspaceIdentityArgs;\nimport com.pulumi.azure.synapse.WorkspaceSecurityAlertPolicy;\nimport com.pulumi.azure.synapse.WorkspaceSecurityAlertPolicyArgs;\nimport com.pulumi.azure.synapse.WorkspaceVulnerabilityAssessment;\nimport com.pulumi.azure.synapse.WorkspaceVulnerabilityAssessmentArgs;\nimport com.pulumi.azure.synapse.inputs.WorkspaceVulnerabilityAssessmentRecurringScansArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"examplestorageacc\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .accountTier(\"Standard\")\n            .accountReplicationType(\"LRS\")\n            .accountKind(\"StorageV2\")\n            .isHnsEnabled(true)\n            .build());\n\n        var exampleContainer = new Container(\"exampleContainer\", ContainerArgs.builder()\n            .name(\"example\")\n            .storageAccountName(exampleAccount.name())\n            .build());\n\n        var exampleDataLakeGen2Filesystem = new DataLakeGen2Filesystem(\"exampleDataLakeGen2Filesystem\", DataLakeGen2FilesystemArgs.builder()\n            .name(\"example\")\n            .storageAccountId(exampleAccount.id())\n            .build());\n\n        var exampleWorkspace = new Workspace(\"exampleWorkspace\", WorkspaceArgs.builder()\n            .name(\"example\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .storageDataLakeGen2FilesystemId(exampleDataLakeGen2Filesystem.id())\n            .sqlAdministratorLogin(\"sqladminuser\")\n            .sqlAdministratorLoginPassword(\"H@Sh1CoR3!\")\n            .aadAdmin(List.of(Map.ofEntries(\n                Map.entry(\"login\", \"AzureAD Admin\"),\n                Map.entry(\"objectId\", \"00000000-0000-0000-0000-000000000000\"),\n                Map.entry(\"tenantId\", \"00000000-0000-0000-0000-000000000000\")\n            )))\n            .identity(WorkspaceIdentityArgs.builder()\n                .type(\"SystemAssigned\")\n                .build())\n            .tags(Map.of(\"Env\", \"production\"))\n            .build());\n\n        var auditLogs = new Account(\"auditLogs\", AccountArgs.builder()\n            .name(\"examplesa\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .accountTier(\"Standard\")\n            .accountReplicationType(\"LRS\")\n            .build());\n\n        var exampleWorkspaceSecurityAlertPolicy = new WorkspaceSecurityAlertPolicy(\"exampleWorkspaceSecurityAlertPolicy\", WorkspaceSecurityAlertPolicyArgs.builder()\n            .synapseWorkspaceId(exampleWorkspace.id())\n            .policyState(\"Enabled\")\n            .storageEndpoint(auditLogs.primaryBlobEndpoint())\n            .storageAccountAccessKey(auditLogs.primaryAccessKey())\n            .disabledAlerts(            \n                \"Sql_Injection\",\n                \"Data_Exfiltration\")\n            .retentionDays(20)\n            .build());\n\n        var exampleWorkspaceVulnerabilityAssessment = new WorkspaceVulnerabilityAssessment(\"exampleWorkspaceVulnerabilityAssessment\", WorkspaceVulnerabilityAssessmentArgs.builder()\n            .workspaceSecurityAlertPolicyId(exampleWorkspaceSecurityAlertPolicy.id())\n            .storageContainerPath(Output.tuple(exampleAccount.primaryBlobEndpoint(), exampleContainer.name()).applyValue(values -\u003e {\n                var primaryBlobEndpoint = values.t1;\n                var name = values.t2;\n                return String.format(\"%s%s/\", primaryBlobEndpoint,name);\n            }))\n            .storageAccountAccessKey(exampleAccount.primaryAccessKey())\n            .recurringScans(WorkspaceVulnerabilityAssessmentRecurringScansArgs.builder()\n                .enabled(true)\n                .emails(                \n                    \"email@example1.com\",\n                    \"email@example2.com\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleAccount:\n    type: azure:storage:Account\n    name: example\n    properties:\n      name: examplestorageacc\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      accountTier: Standard\n      accountReplicationType: LRS\n      accountKind: StorageV2\n      isHnsEnabled: 'true'\n  exampleContainer:\n    type: azure:storage:Container\n    name: example\n    properties:\n      name: example\n      storageAccountName: ${exampleAccount.name}\n  exampleDataLakeGen2Filesystem:\n    type: azure:storage:DataLakeGen2Filesystem\n    name: example\n    properties:\n      name: example\n      storageAccountId: ${exampleAccount.id}\n  exampleWorkspace:\n    type: azure:synapse:Workspace\n    name: example\n    properties:\n      name: example\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      storageDataLakeGen2FilesystemId: ${exampleDataLakeGen2Filesystem.id}\n      sqlAdministratorLogin: sqladminuser\n      sqlAdministratorLoginPassword: H@Sh1CoR3!\n      aadAdmin:\n        - login: AzureAD Admin\n          objectId: 00000000-0000-0000-0000-000000000000\n          tenantId: 00000000-0000-0000-0000-000000000000\n      identity:\n        type: SystemAssigned\n      tags:\n        Env: production\n  auditLogs:\n    type: azure:storage:Account\n    name: audit_logs\n    properties:\n      name: examplesa\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      accountTier: Standard\n      accountReplicationType: LRS\n  exampleWorkspaceSecurityAlertPolicy:\n    type: azure:synapse:WorkspaceSecurityAlertPolicy\n    name: example\n    properties:\n      synapseWorkspaceId: ${exampleWorkspace.id}\n      policyState: Enabled\n      storageEndpoint: ${auditLogs.primaryBlobEndpoint}\n      storageAccountAccessKey: ${auditLogs.primaryAccessKey}\n      disabledAlerts:\n        - Sql_Injection\n        - Data_Exfiltration\n      retentionDays: 20\n  exampleWorkspaceVulnerabilityAssessment:\n    type: azure:synapse:WorkspaceVulnerabilityAssessment\n    name: example\n    properties:\n      workspaceSecurityAlertPolicyId: ${exampleWorkspaceSecurityAlertPolicy.id}\n      storageContainerPath: ${exampleAccount.primaryBlobEndpoint}${exampleContainer.name}/\n      storageAccountAccessKey: ${exampleAccount.primaryAccessKey}\n      recurringScans:\n        enabled: true\n        emails:\n          - email@example1.com\n          - email@example2.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nSynapse Workspace Vulnerability Assessment can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:synapse/workspaceVulnerabilityAssessment:WorkspaceVulnerabilityAssessment example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Synapse/workspaces/workspace1/vulnerabilityAssessments/default\n```\n\n","properties":{"recurringScans":{"$ref":"#/types/azure:synapse/WorkspaceVulnerabilityAssessmentRecurringScans:WorkspaceVulnerabilityAssessmentRecurringScans","description":"The recurring scans settings. The \u003cspan pulumi-lang-nodejs=\"`recurringScans`\" pulumi-lang-dotnet=\"`RecurringScans`\" pulumi-lang-go=\"`recurringScans`\" pulumi-lang-python=\"`recurring_scans`\" pulumi-lang-yaml=\"`recurringScans`\" pulumi-lang-java=\"`recurringScans`\"\u003e`recurring_scans`\u003c/span\u003e block supports fields documented below.\n"},"storageAccountAccessKey":{"type":"string","description":"Specifies the identifier key of the storage account for vulnerability assessment scan results. If \u003cspan pulumi-lang-nodejs=\"`storageContainerSasKey`\" pulumi-lang-dotnet=\"`StorageContainerSasKey`\" pulumi-lang-go=\"`storageContainerSasKey`\" pulumi-lang-python=\"`storage_container_sas_key`\" pulumi-lang-yaml=\"`storageContainerSasKey`\" pulumi-lang-java=\"`storageContainerSasKey`\"\u003e`storage_container_sas_key`\u003c/span\u003e isn't specified, \u003cspan pulumi-lang-nodejs=\"`storageAccountAccessKey`\" pulumi-lang-dotnet=\"`StorageAccountAccessKey`\" pulumi-lang-go=\"`storageAccountAccessKey`\" pulumi-lang-python=\"`storage_account_access_key`\" pulumi-lang-yaml=\"`storageAccountAccessKey`\" pulumi-lang-java=\"`storageAccountAccessKey`\"\u003e`storage_account_access_key`\u003c/span\u003e is required.\n","secret":true},"storageContainerPath":{"type":"string","description":"A blob storage container path to hold the scan results (e.g. \u003chttps://example.blob.core.windows.net/VaScans/\u003e).\n"},"storageContainerSasKey":{"type":"string","description":"A shared access signature (SAS Key) that has write access to the blob container specified in \u003cspan pulumi-lang-nodejs=\"`storageContainerPath`\" pulumi-lang-dotnet=\"`StorageContainerPath`\" pulumi-lang-go=\"`storageContainerPath`\" pulumi-lang-python=\"`storage_container_path`\" pulumi-lang-yaml=\"`storageContainerPath`\" pulumi-lang-java=\"`storageContainerPath`\"\u003e`storage_container_path`\u003c/span\u003e parameter. If \u003cspan pulumi-lang-nodejs=\"`storageAccountAccessKey`\" pulumi-lang-dotnet=\"`StorageAccountAccessKey`\" pulumi-lang-go=\"`storageAccountAccessKey`\" pulumi-lang-python=\"`storage_account_access_key`\" pulumi-lang-yaml=\"`storageAccountAccessKey`\" pulumi-lang-java=\"`storageAccountAccessKey`\"\u003e`storage_account_access_key`\u003c/span\u003e isn't specified, \u003cspan pulumi-lang-nodejs=\"`storageContainerSasKey`\" pulumi-lang-dotnet=\"`StorageContainerSasKey`\" pulumi-lang-go=\"`storageContainerSasKey`\" pulumi-lang-python=\"`storage_container_sas_key`\" pulumi-lang-yaml=\"`storageContainerSasKey`\" pulumi-lang-java=\"`storageContainerSasKey`\"\u003e`storage_container_sas_key`\u003c/span\u003e is required.\n","secret":true},"workspaceSecurityAlertPolicyId":{"type":"string","description":"The ID of the security alert policy of the Synapse Workspace. Changing this forces a new resource to be created.\n"}},"required":["recurringScans","storageContainerPath","workspaceSecurityAlertPolicyId"],"inputProperties":{"recurringScans":{"$ref":"#/types/azure:synapse/WorkspaceVulnerabilityAssessmentRecurringScans:WorkspaceVulnerabilityAssessmentRecurringScans","description":"The recurring scans settings. The \u003cspan pulumi-lang-nodejs=\"`recurringScans`\" pulumi-lang-dotnet=\"`RecurringScans`\" pulumi-lang-go=\"`recurringScans`\" pulumi-lang-python=\"`recurring_scans`\" pulumi-lang-yaml=\"`recurringScans`\" pulumi-lang-java=\"`recurringScans`\"\u003e`recurring_scans`\u003c/span\u003e block supports fields documented below.\n"},"storageAccountAccessKey":{"type":"string","description":"Specifies the identifier key of the storage account for vulnerability assessment scan results. If \u003cspan pulumi-lang-nodejs=\"`storageContainerSasKey`\" pulumi-lang-dotnet=\"`StorageContainerSasKey`\" pulumi-lang-go=\"`storageContainerSasKey`\" pulumi-lang-python=\"`storage_container_sas_key`\" pulumi-lang-yaml=\"`storageContainerSasKey`\" pulumi-lang-java=\"`storageContainerSasKey`\"\u003e`storage_container_sas_key`\u003c/span\u003e isn't specified, \u003cspan pulumi-lang-nodejs=\"`storageAccountAccessKey`\" pulumi-lang-dotnet=\"`StorageAccountAccessKey`\" pulumi-lang-go=\"`storageAccountAccessKey`\" pulumi-lang-python=\"`storage_account_access_key`\" pulumi-lang-yaml=\"`storageAccountAccessKey`\" pulumi-lang-java=\"`storageAccountAccessKey`\"\u003e`storage_account_access_key`\u003c/span\u003e is required.\n","secret":true},"storageContainerPath":{"type":"string","description":"A blob storage container path to hold the scan results (e.g. \u003chttps://example.blob.core.windows.net/VaScans/\u003e).\n"},"storageContainerSasKey":{"type":"string","description":"A shared access signature (SAS Key) that has write access to the blob container specified in \u003cspan pulumi-lang-nodejs=\"`storageContainerPath`\" pulumi-lang-dotnet=\"`StorageContainerPath`\" pulumi-lang-go=\"`storageContainerPath`\" pulumi-lang-python=\"`storage_container_path`\" pulumi-lang-yaml=\"`storageContainerPath`\" pulumi-lang-java=\"`storageContainerPath`\"\u003e`storage_container_path`\u003c/span\u003e parameter. If \u003cspan pulumi-lang-nodejs=\"`storageAccountAccessKey`\" pulumi-lang-dotnet=\"`StorageAccountAccessKey`\" pulumi-lang-go=\"`storageAccountAccessKey`\" pulumi-lang-python=\"`storage_account_access_key`\" pulumi-lang-yaml=\"`storageAccountAccessKey`\" pulumi-lang-java=\"`storageAccountAccessKey`\"\u003e`storage_account_access_key`\u003c/span\u003e isn't specified, \u003cspan pulumi-lang-nodejs=\"`storageContainerSasKey`\" pulumi-lang-dotnet=\"`StorageContainerSasKey`\" pulumi-lang-go=\"`storageContainerSasKey`\" pulumi-lang-python=\"`storage_container_sas_key`\" pulumi-lang-yaml=\"`storageContainerSasKey`\" pulumi-lang-java=\"`storageContainerSasKey`\"\u003e`storage_container_sas_key`\u003c/span\u003e is required.\n","secret":true},"workspaceSecurityAlertPolicyId":{"type":"string","description":"The ID of the security alert policy of the Synapse Workspace. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["storageContainerPath","workspaceSecurityAlertPolicyId"],"stateInputs":{"description":"Input properties used for looking up and filtering WorkspaceVulnerabilityAssessment resources.\n","properties":{"recurringScans":{"$ref":"#/types/azure:synapse/WorkspaceVulnerabilityAssessmentRecurringScans:WorkspaceVulnerabilityAssessmentRecurringScans","description":"The recurring scans settings. The \u003cspan pulumi-lang-nodejs=\"`recurringScans`\" pulumi-lang-dotnet=\"`RecurringScans`\" pulumi-lang-go=\"`recurringScans`\" pulumi-lang-python=\"`recurring_scans`\" pulumi-lang-yaml=\"`recurringScans`\" pulumi-lang-java=\"`recurringScans`\"\u003e`recurring_scans`\u003c/span\u003e block supports fields documented below.\n"},"storageAccountAccessKey":{"type":"string","description":"Specifies the identifier key of the storage account for vulnerability assessment scan results. If \u003cspan pulumi-lang-nodejs=\"`storageContainerSasKey`\" pulumi-lang-dotnet=\"`StorageContainerSasKey`\" pulumi-lang-go=\"`storageContainerSasKey`\" pulumi-lang-python=\"`storage_container_sas_key`\" pulumi-lang-yaml=\"`storageContainerSasKey`\" pulumi-lang-java=\"`storageContainerSasKey`\"\u003e`storage_container_sas_key`\u003c/span\u003e isn't specified, \u003cspan pulumi-lang-nodejs=\"`storageAccountAccessKey`\" pulumi-lang-dotnet=\"`StorageAccountAccessKey`\" pulumi-lang-go=\"`storageAccountAccessKey`\" pulumi-lang-python=\"`storage_account_access_key`\" pulumi-lang-yaml=\"`storageAccountAccessKey`\" pulumi-lang-java=\"`storageAccountAccessKey`\"\u003e`storage_account_access_key`\u003c/span\u003e is required.\n","secret":true},"storageContainerPath":{"type":"string","description":"A blob storage container path to hold the scan results (e.g. \u003chttps://example.blob.core.windows.net/VaScans/\u003e).\n"},"storageContainerSasKey":{"type":"string","description":"A shared access signature (SAS Key) that has write access to the blob container specified in \u003cspan pulumi-lang-nodejs=\"`storageContainerPath`\" pulumi-lang-dotnet=\"`StorageContainerPath`\" pulumi-lang-go=\"`storageContainerPath`\" pulumi-lang-python=\"`storage_container_path`\" pulumi-lang-yaml=\"`storageContainerPath`\" pulumi-lang-java=\"`storageContainerPath`\"\u003e`storage_container_path`\u003c/span\u003e parameter. If \u003cspan pulumi-lang-nodejs=\"`storageAccountAccessKey`\" pulumi-lang-dotnet=\"`StorageAccountAccessKey`\" pulumi-lang-go=\"`storageAccountAccessKey`\" pulumi-lang-python=\"`storage_account_access_key`\" pulumi-lang-yaml=\"`storageAccountAccessKey`\" pulumi-lang-java=\"`storageAccountAccessKey`\"\u003e`storage_account_access_key`\u003c/span\u003e isn't specified, \u003cspan pulumi-lang-nodejs=\"`storageContainerSasKey`\" pulumi-lang-dotnet=\"`StorageContainerSasKey`\" pulumi-lang-go=\"`storageContainerSasKey`\" pulumi-lang-python=\"`storage_container_sas_key`\" pulumi-lang-yaml=\"`storageContainerSasKey`\" pulumi-lang-java=\"`storageContainerSasKey`\"\u003e`storage_container_sas_key`\u003c/span\u003e is required.\n","secret":true},"workspaceSecurityAlertPolicyId":{"type":"string","description":"The ID of the security alert policy of the Synapse Workspace. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:systemcenter/virtualMachineManagerAvailabilitySet:VirtualMachineManagerAvailabilitySet":{"description":"Manages a System Center Virtual Machine Manager Availability Set.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleVirtualMachineManagerServer = new azure.systemcenter.VirtualMachineManagerServer(\"example\", {\n    name: \"example-scvmmms\",\n    resourceGroupName: example.name,\n    location: example.location,\n    customLocationId: \"/subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/resGroup1/providers/Microsoft.ExtendedLocation/customLocations/customLocation1\",\n    fqdn: \"example.labtest\",\n    username: \"testUser\",\n    password: \"H@Sh1CoR3!\",\n});\nconst exampleVirtualMachineManagerAvailabilitySet = new azure.systemcenter.VirtualMachineManagerAvailabilitySet(\"example\", {\n    name: \"example-scvmmas\",\n    resourceGroupName: example.name,\n    location: example.location,\n    customLocationId: exampleVirtualMachineManagerServer.customLocationId,\n    systemCenterVirtualMachineManagerServerId: exampleVirtualMachineManagerServer.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_virtual_machine_manager_server = azure.systemcenter.VirtualMachineManagerServer(\"example\",\n    name=\"example-scvmmms\",\n    resource_group_name=example.name,\n    location=example.location,\n    custom_location_id=\"/subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/resGroup1/providers/Microsoft.ExtendedLocation/customLocations/customLocation1\",\n    fqdn=\"example.labtest\",\n    username=\"testUser\",\n    password=\"H@Sh1CoR3!\")\nexample_virtual_machine_manager_availability_set = azure.systemcenter.VirtualMachineManagerAvailabilitySet(\"example\",\n    name=\"example-scvmmas\",\n    resource_group_name=example.name,\n    location=example.location,\n    custom_location_id=example_virtual_machine_manager_server.custom_location_id,\n    system_center_virtual_machine_manager_server_id=example_virtual_machine_manager_server.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleVirtualMachineManagerServer = new Azure.SystemCenter.VirtualMachineManagerServer(\"example\", new()\n    {\n        Name = \"example-scvmmms\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        CustomLocationId = \"/subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/resGroup1/providers/Microsoft.ExtendedLocation/customLocations/customLocation1\",\n        Fqdn = \"example.labtest\",\n        Username = \"testUser\",\n        Password = \"H@Sh1CoR3!\",\n    });\n\n    var exampleVirtualMachineManagerAvailabilitySet = new Azure.SystemCenter.VirtualMachineManagerAvailabilitySet(\"example\", new()\n    {\n        Name = \"example-scvmmas\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        CustomLocationId = exampleVirtualMachineManagerServer.CustomLocationId,\n        SystemCenterVirtualMachineManagerServerId = exampleVirtualMachineManagerServer.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/systemcenter\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualMachineManagerServer, err := systemcenter.NewVirtualMachineManagerServer(ctx, \"example\", \u0026systemcenter.VirtualMachineManagerServerArgs{\n\t\t\tName:              pulumi.String(\"example-scvmmms\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tCustomLocationId:  pulumi.String(\"/subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/resGroup1/providers/Microsoft.ExtendedLocation/customLocations/customLocation1\"),\n\t\t\tFqdn:              pulumi.String(\"example.labtest\"),\n\t\t\tUsername:          pulumi.String(\"testUser\"),\n\t\t\tPassword:          pulumi.String(\"H@Sh1CoR3!\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = systemcenter.NewVirtualMachineManagerAvailabilitySet(ctx, \"example\", \u0026systemcenter.VirtualMachineManagerAvailabilitySetArgs{\n\t\t\tName:              pulumi.String(\"example-scvmmas\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tCustomLocationId:  exampleVirtualMachineManagerServer.CustomLocationId,\n\t\t\tSystemCenterVirtualMachineManagerServerId: exampleVirtualMachineManagerServer.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.systemcenter.VirtualMachineManagerServer;\nimport com.pulumi.azure.systemcenter.VirtualMachineManagerServerArgs;\nimport com.pulumi.azure.systemcenter.VirtualMachineManagerAvailabilitySet;\nimport com.pulumi.azure.systemcenter.VirtualMachineManagerAvailabilitySetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleVirtualMachineManagerServer = new VirtualMachineManagerServer(\"exampleVirtualMachineManagerServer\", VirtualMachineManagerServerArgs.builder()\n            .name(\"example-scvmmms\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .customLocationId(\"/subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/resGroup1/providers/Microsoft.ExtendedLocation/customLocations/customLocation1\")\n            .fqdn(\"example.labtest\")\n            .username(\"testUser\")\n            .password(\"H@Sh1CoR3!\")\n            .build());\n\n        var exampleVirtualMachineManagerAvailabilitySet = new VirtualMachineManagerAvailabilitySet(\"exampleVirtualMachineManagerAvailabilitySet\", VirtualMachineManagerAvailabilitySetArgs.builder()\n            .name(\"example-scvmmas\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .customLocationId(exampleVirtualMachineManagerServer.customLocationId())\n            .systemCenterVirtualMachineManagerServerId(exampleVirtualMachineManagerServer.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleVirtualMachineManagerServer:\n    type: azure:systemcenter:VirtualMachineManagerServer\n    name: example\n    properties:\n      name: example-scvmmms\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      customLocationId: /subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/resGroup1/providers/Microsoft.ExtendedLocation/customLocations/customLocation1\n      fqdn: example.labtest\n      username: testUser\n      password: H@Sh1CoR3!\n  exampleVirtualMachineManagerAvailabilitySet:\n    type: azure:systemcenter:VirtualMachineManagerAvailabilitySet\n    name: example\n    properties:\n      name: example-scvmmas\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      customLocationId: ${exampleVirtualMachineManagerServer.customLocationId}\n      systemCenterVirtualMachineManagerServerId: ${exampleVirtualMachineManagerServer.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.ScVmm` - 2023-10-07\n\n## Import\n\nSystem Center Virtual Machine Manager Availability Sets can be imported into Pulumi using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:systemcenter/virtualMachineManagerAvailabilitySet:VirtualMachineManagerAvailabilitySet example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup1/providers/Microsoft.ScVmm/availabilitySets/availabilitySet1\n```\n\n","properties":{"customLocationId":{"type":"string","description":"The ID of the Custom Location for the System Center Virtual Machine Manager Availability Set. Changing this forces a new resource to be created.\n"},"location":{"type":"string","description":"The Azure Region where the System Center Virtual Machine Manager Availability Set should exist. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"The name of the System Center Virtual Machine Manager Availability Set. Changing this forces a new resource to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the System Center Virtual Machine Availability Set should exist. Changing this forces a new resource to be created.\n"},"systemCenterVirtualMachineManagerServerId":{"type":"string","description":"The ID of the System Center Virtual Machine Manager Server. Changing this forces a new resource to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the System Center Virtual Machine Manager Availability Set.\n"}},"required":["customLocationId","location","name","resourceGroupName","systemCenterVirtualMachineManagerServerId"],"inputProperties":{"customLocationId":{"type":"string","description":"The ID of the Custom Location for the System Center Virtual Machine Manager Availability Set. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"location":{"type":"string","description":"The Azure Region where the System Center Virtual Machine Manager Availability Set should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the System Center Virtual Machine Manager Availability Set. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the System Center Virtual Machine Availability Set should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"systemCenterVirtualMachineManagerServerId":{"type":"string","description":"The ID of the System Center Virtual Machine Manager Server. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the System Center Virtual Machine Manager Availability Set.\n"}},"requiredInputs":["customLocationId","resourceGroupName","systemCenterVirtualMachineManagerServerId"],"stateInputs":{"description":"Input properties used for looking up and filtering VirtualMachineManagerAvailabilitySet resources.\n","properties":{"customLocationId":{"type":"string","description":"The ID of the Custom Location for the System Center Virtual Machine Manager Availability Set. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"location":{"type":"string","description":"The Azure Region where the System Center Virtual Machine Manager Availability Set should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the System Center Virtual Machine Manager Availability Set. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the System Center Virtual Machine Availability Set should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"systemCenterVirtualMachineManagerServerId":{"type":"string","description":"The ID of the System Center Virtual Machine Manager Server. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the System Center Virtual Machine Manager Availability Set.\n"}},"type":"object"}},"azure:systemcenter/virtualMachineManagerCloud:VirtualMachineManagerCloud":{"description":"Manages a System Center Virtual Machine Manager Cloud.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleVirtualMachineManagerServer = new azure.systemcenter.VirtualMachineManagerServer(\"example\", {\n    name: \"example-scvmmms\",\n    resourceGroupName: exampleResourceGroup.name,\n    location: exampleResourceGroup.location,\n    customLocationId: \"/subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/resGroup1/providers/Microsoft.ExtendedLocation/customLocations/customLocation1\",\n    fqdn: \"example.labtest\",\n    username: \"testUser\",\n    password: \"H@Sh1CoR3!\",\n});\nconst example = azure.systemcenter.getVirtualMachineManagerInventoryItemsOutput({\n    inventoryType: \"Cloud\",\n    systemCenterVirtualMachineManagerServerId: exampleVirtualMachineManagerServer.id,\n});\nconst exampleVirtualMachineManagerCloud = new azure.systemcenter.VirtualMachineManagerCloud(\"example\", {\n    name: \"example-scvmmcloud\",\n    resourceGroupName: exampleResourceGroup.name,\n    location: exampleResourceGroup.location,\n    customLocationId: exampleVirtualMachineManagerServer.customLocationId,\n    systemCenterVirtualMachineManagerServerInventoryItemId: example.apply(example =\u003e example.inventoryItems?.[0]?.id),\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_virtual_machine_manager_server = azure.systemcenter.VirtualMachineManagerServer(\"example\",\n    name=\"example-scvmmms\",\n    resource_group_name=example_resource_group.name,\n    location=example_resource_group.location,\n    custom_location_id=\"/subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/resGroup1/providers/Microsoft.ExtendedLocation/customLocations/customLocation1\",\n    fqdn=\"example.labtest\",\n    username=\"testUser\",\n    password=\"H@Sh1CoR3!\")\nexample = azure.systemcenter.get_virtual_machine_manager_inventory_items_output(inventory_type=\"Cloud\",\n    system_center_virtual_machine_manager_server_id=example_virtual_machine_manager_server.id)\nexample_virtual_machine_manager_cloud = azure.systemcenter.VirtualMachineManagerCloud(\"example\",\n    name=\"example-scvmmcloud\",\n    resource_group_name=example_resource_group.name,\n    location=example_resource_group.location,\n    custom_location_id=example_virtual_machine_manager_server.custom_location_id,\n    system_center_virtual_machine_manager_server_inventory_item_id=example.inventory_items[0].id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleResourceGroup = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleVirtualMachineManagerServer = new Azure.SystemCenter.VirtualMachineManagerServer(\"example\", new()\n    {\n        Name = \"example-scvmmms\",\n        ResourceGroupName = exampleResourceGroup.Name,\n        Location = exampleResourceGroup.Location,\n        CustomLocationId = \"/subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/resGroup1/providers/Microsoft.ExtendedLocation/customLocations/customLocation1\",\n        Fqdn = \"example.labtest\",\n        Username = \"testUser\",\n        Password = \"H@Sh1CoR3!\",\n    });\n\n    var example = Azure.SystemCenter.GetVirtualMachineManagerInventoryItems.Invoke(new()\n    {\n        InventoryType = \"Cloud\",\n        SystemCenterVirtualMachineManagerServerId = exampleVirtualMachineManagerServer.Id,\n    });\n\n    var exampleVirtualMachineManagerCloud = new Azure.SystemCenter.VirtualMachineManagerCloud(\"example\", new()\n    {\n        Name = \"example-scvmmcloud\",\n        ResourceGroupName = exampleResourceGroup.Name,\n        Location = exampleResourceGroup.Location,\n        CustomLocationId = exampleVirtualMachineManagerServer.CustomLocationId,\n        SystemCenterVirtualMachineManagerServerInventoryItemId = example.Apply(getVirtualMachineManagerInventoryItemsResult =\u003e getVirtualMachineManagerInventoryItemsResult.InventoryItems[0]?.Id),\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/systemcenter\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualMachineManagerServer, err := systemcenter.NewVirtualMachineManagerServer(ctx, \"example\", \u0026systemcenter.VirtualMachineManagerServerArgs{\n\t\t\tName:              pulumi.String(\"example-scvmmms\"),\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tLocation:          exampleResourceGroup.Location,\n\t\t\tCustomLocationId:  pulumi.String(\"/subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/resGroup1/providers/Microsoft.ExtendedLocation/customLocations/customLocation1\"),\n\t\t\tFqdn:              pulumi.String(\"example.labtest\"),\n\t\t\tUsername:          pulumi.String(\"testUser\"),\n\t\t\tPassword:          pulumi.String(\"H@Sh1CoR3!\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample := systemcenter.GetVirtualMachineManagerInventoryItemsOutput(ctx, systemcenter.GetVirtualMachineManagerInventoryItemsOutputArgs{\n\t\t\tInventoryType: pulumi.String(\"Cloud\"),\n\t\t\tSystemCenterVirtualMachineManagerServerId: exampleVirtualMachineManagerServer.ID(),\n\t\t}, nil)\n\t\t_, err = systemcenter.NewVirtualMachineManagerCloud(ctx, \"example\", \u0026systemcenter.VirtualMachineManagerCloudArgs{\n\t\t\tName:              pulumi.String(\"example-scvmmcloud\"),\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tLocation:          exampleResourceGroup.Location,\n\t\t\tCustomLocationId:  exampleVirtualMachineManagerServer.CustomLocationId,\n\t\t\tSystemCenterVirtualMachineManagerServerInventoryItemId: pulumi.String(example.ApplyT(func(example systemcenter.GetVirtualMachineManagerInventoryItemsResult) (*string, error) {\n\t\t\t\treturn \u0026example.InventoryItems[0].Id, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.systemcenter.VirtualMachineManagerServer;\nimport com.pulumi.azure.systemcenter.VirtualMachineManagerServerArgs;\nimport com.pulumi.azure.systemcenter.SystemcenterFunctions;\nimport com.pulumi.azure.systemcenter.inputs.GetVirtualMachineManagerInventoryItemsArgs;\nimport com.pulumi.azure.systemcenter.VirtualMachineManagerCloud;\nimport com.pulumi.azure.systemcenter.VirtualMachineManagerCloudArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var exampleResourceGroup = new ResourceGroup(\"exampleResourceGroup\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleVirtualMachineManagerServer = new VirtualMachineManagerServer(\"exampleVirtualMachineManagerServer\", VirtualMachineManagerServerArgs.builder()\n            .name(\"example-scvmmms\")\n            .resourceGroupName(exampleResourceGroup.name())\n            .location(exampleResourceGroup.location())\n            .customLocationId(\"/subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/resGroup1/providers/Microsoft.ExtendedLocation/customLocations/customLocation1\")\n            .fqdn(\"example.labtest\")\n            .username(\"testUser\")\n            .password(\"H@Sh1CoR3!\")\n            .build());\n\n        final var example = SystemcenterFunctions.getVirtualMachineManagerInventoryItems(GetVirtualMachineManagerInventoryItemsArgs.builder()\n            .inventoryType(\"Cloud\")\n            .systemCenterVirtualMachineManagerServerId(exampleVirtualMachineManagerServer.id())\n            .build());\n\n        var exampleVirtualMachineManagerCloud = new VirtualMachineManagerCloud(\"exampleVirtualMachineManagerCloud\", VirtualMachineManagerCloudArgs.builder()\n            .name(\"example-scvmmcloud\")\n            .resourceGroupName(exampleResourceGroup.name())\n            .location(exampleResourceGroup.location())\n            .customLocationId(exampleVirtualMachineManagerServer.customLocationId())\n            .systemCenterVirtualMachineManagerServerInventoryItemId(example.applyValue(_example -\u003e _example.inventoryItems()[0].id()))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleResourceGroup:\n    type: azure:core:ResourceGroup\n    name: example\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleVirtualMachineManagerServer:\n    type: azure:systemcenter:VirtualMachineManagerServer\n    name: example\n    properties:\n      name: example-scvmmms\n      resourceGroupName: ${exampleResourceGroup.name}\n      location: ${exampleResourceGroup.location}\n      customLocationId: /subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/resGroup1/providers/Microsoft.ExtendedLocation/customLocations/customLocation1\n      fqdn: example.labtest\n      username: testUser\n      password: H@Sh1CoR3!\n  exampleVirtualMachineManagerCloud:\n    type: azure:systemcenter:VirtualMachineManagerCloud\n    name: example\n    properties:\n      name: example-scvmmcloud\n      resourceGroupName: ${exampleResourceGroup.name}\n      location: ${exampleResourceGroup.location}\n      customLocationId: ${exampleVirtualMachineManagerServer.customLocationId}\n      systemCenterVirtualMachineManagerServerInventoryItemId: ${example.inventoryItems[0].id}\nvariables:\n  example:\n    fn::invoke:\n      function: azure:systemcenter:getVirtualMachineManagerInventoryItems\n      arguments:\n        inventoryType: Cloud\n        systemCenterVirtualMachineManagerServerId: ${exampleVirtualMachineManagerServer.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.ScVmm` - 2023-10-07\n\n## Import\n\nSystem Center Virtual Machine Manager Clouds can be imported into Pulumi using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:systemcenter/virtualMachineManagerCloud:VirtualMachineManagerCloud example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup1/providers/Microsoft.ScVmm/clouds/cloud1\n```\n\n","properties":{"customLocationId":{"type":"string","description":"The ID of the Custom Location for the System Center Virtual Machine Manager Cloud. Changing this forces a new resource to be created.\n"},"location":{"type":"string","description":"The Azure Region where the System Center Virtual Machine Manager Cloud should exist. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"The name of the System Center Virtual Machine Manager Cloud. Changing this forces a new resource to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the System Center Virtual Machine Cloud should exist. Changing this forces a new resource to be created.\n"},"systemCenterVirtualMachineManagerServerInventoryItemId":{"type":"string","description":"The ID of the System Center Virtual Machine Manager Server Inventory Item. Changing this forces a new resource to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the System Center Virtual Machine Manager Cloud.\n"}},"required":["customLocationId","location","name","resourceGroupName","systemCenterVirtualMachineManagerServerInventoryItemId"],"inputProperties":{"customLocationId":{"type":"string","description":"The ID of the Custom Location for the System Center Virtual Machine Manager Cloud. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"location":{"type":"string","description":"The Azure Region where the System Center Virtual Machine Manager Cloud should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the System Center Virtual Machine Manager Cloud. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the System Center Virtual Machine Cloud should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"systemCenterVirtualMachineManagerServerInventoryItemId":{"type":"string","description":"The ID of the System Center Virtual Machine Manager Server Inventory Item. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the System Center Virtual Machine Manager Cloud.\n"}},"requiredInputs":["customLocationId","resourceGroupName","systemCenterVirtualMachineManagerServerInventoryItemId"],"stateInputs":{"description":"Input properties used for looking up and filtering VirtualMachineManagerCloud resources.\n","properties":{"customLocationId":{"type":"string","description":"The ID of the Custom Location for the System Center Virtual Machine Manager Cloud. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"location":{"type":"string","description":"The Azure Region where the System Center Virtual Machine Manager Cloud should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the System Center Virtual Machine Manager Cloud. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the System Center Virtual Machine Cloud should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"systemCenterVirtualMachineManagerServerInventoryItemId":{"type":"string","description":"The ID of the System Center Virtual Machine Manager Server Inventory Item. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the System Center Virtual Machine Manager Cloud.\n"}},"type":"object"}},"azure:systemcenter/virtualMachineManagerServer:VirtualMachineManagerServer":{"description":"Manages a System Center Virtual Machine Manager Server.\n\n\u003e **Note:** By request of the service team the provider no longer automatically registering the `Microsoft.ScVmm` Resource Provider for this resource. To register it you can run `az provider register --namespace Microsoft.ScVmm`.\n\n\u003e **Note:** This resource depends on an existing `System Center Virtual Machine Manager Host Machine`, `Arc Resource Bridge` and `Custom Location`. Installing and configuring these dependencies is outside the scope of this document. See [Virtual Machine Manager documentation](https://learn.microsoft.com/en-us/system-center/vmm/?view=sc-vmm-2022) and [Install VMM](https://learn.microsoft.com/en-us/system-center/vmm/install?view=sc-vmm-2022) for more details of `System Center Virtual Machine Manager Host Machine`. See [What is Azure Arc resource bridge](https://learn.microsoft.com/en-us/azure/azure-arc/resource-bridge/overview) and [Overview of Arc-enabled System Center Virtual Machine Manager](https://learn.microsoft.com/en-us/azure/azure-arc/system-center-virtual-machine-manager/overview) for more details of `Arc Resource Bridge/Appliance`. See [Create and manage custom locations on Azure Arc-enabled Kubernetes](https://learn.microsoft.com/en-us/azure/azure-arc/kubernetes/custom-locations) for more details of `Custom Location`. If you encounter issues while configuring, we'd recommend opening a ticket with Microsoft Support.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleVirtualMachineManagerServer = new azure.systemcenter.VirtualMachineManagerServer(\"example\", {\n    name: \"example-scvmmms\",\n    resourceGroupName: example.name,\n    location: example.location,\n    customLocationId: \"/subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/resGroup1/providers/Microsoft.ExtendedLocation/customLocations/customLocation1\",\n    fqdn: \"example.labtest\",\n    username: \"testUser\",\n    password: \"H@Sh1CoR3!\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_virtual_machine_manager_server = azure.systemcenter.VirtualMachineManagerServer(\"example\",\n    name=\"example-scvmmms\",\n    resource_group_name=example.name,\n    location=example.location,\n    custom_location_id=\"/subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/resGroup1/providers/Microsoft.ExtendedLocation/customLocations/customLocation1\",\n    fqdn=\"example.labtest\",\n    username=\"testUser\",\n    password=\"H@Sh1CoR3!\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleVirtualMachineManagerServer = new Azure.SystemCenter.VirtualMachineManagerServer(\"example\", new()\n    {\n        Name = \"example-scvmmms\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        CustomLocationId = \"/subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/resGroup1/providers/Microsoft.ExtendedLocation/customLocations/customLocation1\",\n        Fqdn = \"example.labtest\",\n        Username = \"testUser\",\n        Password = \"H@Sh1CoR3!\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/systemcenter\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = systemcenter.NewVirtualMachineManagerServer(ctx, \"example\", \u0026systemcenter.VirtualMachineManagerServerArgs{\n\t\t\tName:              pulumi.String(\"example-scvmmms\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tCustomLocationId:  pulumi.String(\"/subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/resGroup1/providers/Microsoft.ExtendedLocation/customLocations/customLocation1\"),\n\t\t\tFqdn:              pulumi.String(\"example.labtest\"),\n\t\t\tUsername:          pulumi.String(\"testUser\"),\n\t\t\tPassword:          pulumi.String(\"H@Sh1CoR3!\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.systemcenter.VirtualMachineManagerServer;\nimport com.pulumi.azure.systemcenter.VirtualMachineManagerServerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleVirtualMachineManagerServer = new VirtualMachineManagerServer(\"exampleVirtualMachineManagerServer\", VirtualMachineManagerServerArgs.builder()\n            .name(\"example-scvmmms\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .customLocationId(\"/subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/resGroup1/providers/Microsoft.ExtendedLocation/customLocations/customLocation1\")\n            .fqdn(\"example.labtest\")\n            .username(\"testUser\")\n            .password(\"H@Sh1CoR3!\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleVirtualMachineManagerServer:\n    type: azure:systemcenter:VirtualMachineManagerServer\n    name: example\n    properties:\n      name: example-scvmmms\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      customLocationId: /subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/resGroup1/providers/Microsoft.ExtendedLocation/customLocations/customLocation1\n      fqdn: example.labtest\n      username: testUser\n      password: H@Sh1CoR3!\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.ScVmm` - 2023-10-07\n\n## Import\n\nSystem Center Virtual Machine Manager Servers can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:systemcenter/virtualMachineManagerServer:VirtualMachineManagerServer example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup1/providers/Microsoft.ScVmm/vmmServers/vmmServer1\n```\n\n","properties":{"customLocationId":{"type":"string","description":"The ID of the Custom Location for the System Center Virtual Machine Manager Server. Changing this forces a new resource to be created.\n"},"fqdn":{"type":"string","description":"The FQDN of the System Center Virtual Machine Manager Server. Changing this forces a new resource to be created.\n"},"location":{"type":"string","description":"The Azure Region where the System Center Virtual Machine Manager Server should exist. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"The name of the System Center Virtual Machine Manager Server. Changing this forces a new resource to be created.\n"},"password":{"type":"string","description":"The password that is used to connect to the System Center Virtual Machine Manager Server. Changing this forces a new resource to be created.\n","secret":true},"port":{"type":"integer","description":"The port on which the System Center Virtual Machine Manager Server is listening. Possible values are between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`65535`\" pulumi-lang-dotnet=\"`65535`\" pulumi-lang-go=\"`65535`\" pulumi-lang-python=\"`65535`\" pulumi-lang-yaml=\"`65535`\" pulumi-lang-java=\"`65535`\"\u003e`65535`\u003c/span\u003e. Changing this forces a new resource to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the System Center Virtual Machine Manager should exist. Changing this forces a new resource to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the System Center Virtual Machine Manager Server.\n"},"username":{"type":"string","description":"The username that is used to connect to the System Center Virtual Machine Manager Server. Changing this forces a new resource to be created.\n"}},"required":["customLocationId","fqdn","location","name","password","resourceGroupName","username"],"inputProperties":{"customLocationId":{"type":"string","description":"The ID of the Custom Location for the System Center Virtual Machine Manager Server. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"fqdn":{"type":"string","description":"The FQDN of the System Center Virtual Machine Manager Server. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"location":{"type":"string","description":"The Azure Region where the System Center Virtual Machine Manager Server should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the System Center Virtual Machine Manager Server. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"password":{"type":"string","description":"The password that is used to connect to the System Center Virtual Machine Manager Server. Changing this forces a new resource to be created.\n","secret":true,"willReplaceOnChanges":true},"port":{"type":"integer","description":"The port on which the System Center Virtual Machine Manager Server is listening. Possible values are between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`65535`\" pulumi-lang-dotnet=\"`65535`\" pulumi-lang-go=\"`65535`\" pulumi-lang-python=\"`65535`\" pulumi-lang-yaml=\"`65535`\" pulumi-lang-java=\"`65535`\"\u003e`65535`\u003c/span\u003e. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the System Center Virtual Machine Manager should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the System Center Virtual Machine Manager Server.\n"},"username":{"type":"string","description":"The username that is used to connect to the System Center Virtual Machine Manager Server. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["customLocationId","fqdn","password","resourceGroupName","username"],"stateInputs":{"description":"Input properties used for looking up and filtering VirtualMachineManagerServer resources.\n","properties":{"customLocationId":{"type":"string","description":"The ID of the Custom Location for the System Center Virtual Machine Manager Server. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"fqdn":{"type":"string","description":"The FQDN of the System Center Virtual Machine Manager Server. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"location":{"type":"string","description":"The Azure Region where the System Center Virtual Machine Manager Server should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the System Center Virtual Machine Manager Server. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"password":{"type":"string","description":"The password that is used to connect to the System Center Virtual Machine Manager Server. Changing this forces a new resource to be created.\n","secret":true,"willReplaceOnChanges":true},"port":{"type":"integer","description":"The port on which the System Center Virtual Machine Manager Server is listening. Possible values are between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`65535`\" pulumi-lang-dotnet=\"`65535`\" pulumi-lang-go=\"`65535`\" pulumi-lang-python=\"`65535`\" pulumi-lang-yaml=\"`65535`\" pulumi-lang-java=\"`65535`\"\u003e`65535`\u003c/span\u003e. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the System Center Virtual Machine Manager should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the System Center Virtual Machine Manager Server.\n"},"username":{"type":"string","description":"The username that is used to connect to the System Center Virtual Machine Manager Server. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:systemcenter/virtualMachineManagerVirtualMachineInstance:VirtualMachineManagerVirtualMachineInstance":{"description":"Manages a System Center Virtual Machine Manager Virtual Machine Instance.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleArcMachine = new azure.arcmachine.ArcMachine(\"example\", {\n    name: \"example-arcmachine\",\n    resourceGroupName: exampleResourceGroup.name,\n    location: exampleResourceGroup.location,\n    kind: \"SCVMM\",\n});\nconst exampleVirtualMachineManagerServer = new azure.systemcenter.VirtualMachineManagerServer(\"example\", {\n    name: \"example-scvmmms\",\n    resourceGroupName: exampleResourceGroup.name,\n    location: exampleResourceGroup.location,\n    customLocationId: \"/subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/resGroup1/providers/Microsoft.ExtendedLocation/customLocations/customLocation1\",\n    fqdn: \"example.labtest\",\n    username: \"testUser\",\n    password: \"H@Sh1CoR3!\",\n});\nconst example = azure.systemcenter.getVirtualMachineManagerInventoryItemsOutput({\n    inventoryType: \"Cloud\",\n    systemCenterVirtualMachineManagerServerId: exampleVirtualMachineManagerServer.id,\n});\nconst exampleVirtualMachineManagerCloud = new azure.systemcenter.VirtualMachineManagerCloud(\"example\", {\n    name: \"example-scvmmc\",\n    location: exampleResourceGroup.location,\n    resourceGroupName: exampleResourceGroup.name,\n    customLocationId: exampleVirtualMachineManagerServer.customLocationId,\n    systemCenterVirtualMachineManagerServerInventoryItemId: example.apply(example =\u003e example.inventoryItems?.[0]?.id),\n});\nconst example2 = azure.systemcenter.getVirtualMachineManagerInventoryItemsOutput({\n    inventoryType: \"VirtualMachineTemplate\",\n    systemCenterVirtualMachineManagerServerId: exampleVirtualMachineManagerServer.id,\n});\nconst exampleVirtualMachineManagerVirtualMachineTemplate = new azure.systemcenter.VirtualMachineManagerVirtualMachineTemplate(\"example\", {\n    name: \"example-scvmmvmt\",\n    location: exampleResourceGroup.location,\n    resourceGroupName: exampleResourceGroup.name,\n    customLocationId: exampleVirtualMachineManagerServer.customLocationId,\n    systemCenterVirtualMachineManagerServerInventoryItemId: example2.apply(example2 =\u003e example2.inventoryItems?.[0]?.id),\n});\nconst exampleVirtualMachineManagerVirtualMachineInstance = new azure.systemcenter.VirtualMachineManagerVirtualMachineInstance(\"example\", {\n    scopedResourceId: exampleArcMachine.id,\n    customLocationId: exampleVirtualMachineManagerServer.customLocationId,\n    infrastructure: {\n        systemCenterVirtualMachineManagerCloudId: exampleVirtualMachineManagerCloud.id,\n        systemCenterVirtualMachineManagerTemplateId: exampleVirtualMachineManagerVirtualMachineTemplate.id,\n        systemCenterVirtualMachineManagerVirtualMachineServerId: exampleVirtualMachineManagerServer.id,\n    },\n    operatingSystem: {\n        computerName: \"testComputer\",\n    },\n    hardware: {\n        cpuCount: 1,\n        memoryInMb: 1024,\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_arc_machine = azure.arcmachine.ArcMachine(\"example\",\n    name=\"example-arcmachine\",\n    resource_group_name=example_resource_group.name,\n    location=example_resource_group.location,\n    kind=\"SCVMM\")\nexample_virtual_machine_manager_server = azure.systemcenter.VirtualMachineManagerServer(\"example\",\n    name=\"example-scvmmms\",\n    resource_group_name=example_resource_group.name,\n    location=example_resource_group.location,\n    custom_location_id=\"/subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/resGroup1/providers/Microsoft.ExtendedLocation/customLocations/customLocation1\",\n    fqdn=\"example.labtest\",\n    username=\"testUser\",\n    password=\"H@Sh1CoR3!\")\nexample = azure.systemcenter.get_virtual_machine_manager_inventory_items_output(inventory_type=\"Cloud\",\n    system_center_virtual_machine_manager_server_id=example_virtual_machine_manager_server.id)\nexample_virtual_machine_manager_cloud = azure.systemcenter.VirtualMachineManagerCloud(\"example\",\n    name=\"example-scvmmc\",\n    location=example_resource_group.location,\n    resource_group_name=example_resource_group.name,\n    custom_location_id=example_virtual_machine_manager_server.custom_location_id,\n    system_center_virtual_machine_manager_server_inventory_item_id=example.inventory_items[0].id)\nexample2 = azure.systemcenter.get_virtual_machine_manager_inventory_items_output(inventory_type=\"VirtualMachineTemplate\",\n    system_center_virtual_machine_manager_server_id=example_virtual_machine_manager_server.id)\nexample_virtual_machine_manager_virtual_machine_template = azure.systemcenter.VirtualMachineManagerVirtualMachineTemplate(\"example\",\n    name=\"example-scvmmvmt\",\n    location=example_resource_group.location,\n    resource_group_name=example_resource_group.name,\n    custom_location_id=example_virtual_machine_manager_server.custom_location_id,\n    system_center_virtual_machine_manager_server_inventory_item_id=example2.inventory_items[0].id)\nexample_virtual_machine_manager_virtual_machine_instance = azure.systemcenter.VirtualMachineManagerVirtualMachineInstance(\"example\",\n    scoped_resource_id=example_arc_machine.id,\n    custom_location_id=example_virtual_machine_manager_server.custom_location_id,\n    infrastructure={\n        \"system_center_virtual_machine_manager_cloud_id\": example_virtual_machine_manager_cloud.id,\n        \"system_center_virtual_machine_manager_template_id\": example_virtual_machine_manager_virtual_machine_template.id,\n        \"system_center_virtual_machine_manager_virtual_machine_server_id\": example_virtual_machine_manager_server.id,\n    },\n    operating_system={\n        \"computer_name\": \"testComputer\",\n    },\n    hardware={\n        \"cpu_count\": 1,\n        \"memory_in_mb\": 1024,\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleResourceGroup = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleArcMachine = new Azure.ArcMachine.ArcMachine(\"example\", new()\n    {\n        Name = \"example-arcmachine\",\n        ResourceGroupName = exampleResourceGroup.Name,\n        Location = exampleResourceGroup.Location,\n        Kind = \"SCVMM\",\n    });\n\n    var exampleVirtualMachineManagerServer = new Azure.SystemCenter.VirtualMachineManagerServer(\"example\", new()\n    {\n        Name = \"example-scvmmms\",\n        ResourceGroupName = exampleResourceGroup.Name,\n        Location = exampleResourceGroup.Location,\n        CustomLocationId = \"/subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/resGroup1/providers/Microsoft.ExtendedLocation/customLocations/customLocation1\",\n        Fqdn = \"example.labtest\",\n        Username = \"testUser\",\n        Password = \"H@Sh1CoR3!\",\n    });\n\n    var example = Azure.SystemCenter.GetVirtualMachineManagerInventoryItems.Invoke(new()\n    {\n        InventoryType = \"Cloud\",\n        SystemCenterVirtualMachineManagerServerId = exampleVirtualMachineManagerServer.Id,\n    });\n\n    var exampleVirtualMachineManagerCloud = new Azure.SystemCenter.VirtualMachineManagerCloud(\"example\", new()\n    {\n        Name = \"example-scvmmc\",\n        Location = exampleResourceGroup.Location,\n        ResourceGroupName = exampleResourceGroup.Name,\n        CustomLocationId = exampleVirtualMachineManagerServer.CustomLocationId,\n        SystemCenterVirtualMachineManagerServerInventoryItemId = example.Apply(getVirtualMachineManagerInventoryItemsResult =\u003e getVirtualMachineManagerInventoryItemsResult.InventoryItems[0]?.Id),\n    });\n\n    var example2 = Azure.SystemCenter.GetVirtualMachineManagerInventoryItems.Invoke(new()\n    {\n        InventoryType = \"VirtualMachineTemplate\",\n        SystemCenterVirtualMachineManagerServerId = exampleVirtualMachineManagerServer.Id,\n    });\n\n    var exampleVirtualMachineManagerVirtualMachineTemplate = new Azure.SystemCenter.VirtualMachineManagerVirtualMachineTemplate(\"example\", new()\n    {\n        Name = \"example-scvmmvmt\",\n        Location = exampleResourceGroup.Location,\n        ResourceGroupName = exampleResourceGroup.Name,\n        CustomLocationId = exampleVirtualMachineManagerServer.CustomLocationId,\n        SystemCenterVirtualMachineManagerServerInventoryItemId = example2.Apply(getVirtualMachineManagerInventoryItemsResult =\u003e getVirtualMachineManagerInventoryItemsResult.InventoryItems[0]?.Id),\n    });\n\n    var exampleVirtualMachineManagerVirtualMachineInstance = new Azure.SystemCenter.VirtualMachineManagerVirtualMachineInstance(\"example\", new()\n    {\n        ScopedResourceId = exampleArcMachine.Id,\n        CustomLocationId = exampleVirtualMachineManagerServer.CustomLocationId,\n        Infrastructure = new Azure.SystemCenter.Inputs.VirtualMachineManagerVirtualMachineInstanceInfrastructureArgs\n        {\n            SystemCenterVirtualMachineManagerCloudId = exampleVirtualMachineManagerCloud.Id,\n            SystemCenterVirtualMachineManagerTemplateId = exampleVirtualMachineManagerVirtualMachineTemplate.Id,\n            SystemCenterVirtualMachineManagerVirtualMachineServerId = exampleVirtualMachineManagerServer.Id,\n        },\n        OperatingSystem = new Azure.SystemCenter.Inputs.VirtualMachineManagerVirtualMachineInstanceOperatingSystemArgs\n        {\n            ComputerName = \"testComputer\",\n        },\n        Hardware = new Azure.SystemCenter.Inputs.VirtualMachineManagerVirtualMachineInstanceHardwareArgs\n        {\n            CpuCount = 1,\n            MemoryInMb = 1024,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/arcmachine\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/systemcenter\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleArcMachine, err := arcmachine.NewArcMachine(ctx, \"example\", \u0026arcmachine.ArcMachineArgs{\n\t\t\tName:              pulumi.String(\"example-arcmachine\"),\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tLocation:          exampleResourceGroup.Location,\n\t\t\tKind:              pulumi.String(\"SCVMM\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualMachineManagerServer, err := systemcenter.NewVirtualMachineManagerServer(ctx, \"example\", \u0026systemcenter.VirtualMachineManagerServerArgs{\n\t\t\tName:              pulumi.String(\"example-scvmmms\"),\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tLocation:          exampleResourceGroup.Location,\n\t\t\tCustomLocationId:  pulumi.String(\"/subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/resGroup1/providers/Microsoft.ExtendedLocation/customLocations/customLocation1\"),\n\t\t\tFqdn:              pulumi.String(\"example.labtest\"),\n\t\t\tUsername:          pulumi.String(\"testUser\"),\n\t\t\tPassword:          pulumi.String(\"H@Sh1CoR3!\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample := systemcenter.GetVirtualMachineManagerInventoryItemsOutput(ctx, systemcenter.GetVirtualMachineManagerInventoryItemsOutputArgs{\n\t\t\tInventoryType: pulumi.String(\"Cloud\"),\n\t\t\tSystemCenterVirtualMachineManagerServerId: exampleVirtualMachineManagerServer.ID(),\n\t\t}, nil)\n\t\texampleVirtualMachineManagerCloud, err := systemcenter.NewVirtualMachineManagerCloud(ctx, \"example\", \u0026systemcenter.VirtualMachineManagerCloudArgs{\n\t\t\tName:              pulumi.String(\"example-scvmmc\"),\n\t\t\tLocation:          exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tCustomLocationId:  exampleVirtualMachineManagerServer.CustomLocationId,\n\t\t\tSystemCenterVirtualMachineManagerServerInventoryItemId: pulumi.String(example.ApplyT(func(example systemcenter.GetVirtualMachineManagerInventoryItemsResult) (*string, error) {\n\t\t\t\treturn \u0026example.InventoryItems[0].Id, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample2 := systemcenter.GetVirtualMachineManagerInventoryItemsOutput(ctx, systemcenter.GetVirtualMachineManagerInventoryItemsOutputArgs{\n\t\t\tInventoryType: pulumi.String(\"VirtualMachineTemplate\"),\n\t\t\tSystemCenterVirtualMachineManagerServerId: exampleVirtualMachineManagerServer.ID(),\n\t\t}, nil)\n\t\texampleVirtualMachineManagerVirtualMachineTemplate, err := systemcenter.NewVirtualMachineManagerVirtualMachineTemplate(ctx, \"example\", \u0026systemcenter.VirtualMachineManagerVirtualMachineTemplateArgs{\n\t\t\tName:              pulumi.String(\"example-scvmmvmt\"),\n\t\t\tLocation:          exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tCustomLocationId:  exampleVirtualMachineManagerServer.CustomLocationId,\n\t\t\tSystemCenterVirtualMachineManagerServerInventoryItemId: pulumi.String(example2.ApplyT(func(example2 systemcenter.GetVirtualMachineManagerInventoryItemsResult) (*string, error) {\n\t\t\t\treturn \u0026example2.InventoryItems[0].Id, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = systemcenter.NewVirtualMachineManagerVirtualMachineInstance(ctx, \"example\", \u0026systemcenter.VirtualMachineManagerVirtualMachineInstanceArgs{\n\t\t\tScopedResourceId: exampleArcMachine.ID(),\n\t\t\tCustomLocationId: exampleVirtualMachineManagerServer.CustomLocationId,\n\t\t\tInfrastructure: \u0026systemcenter.VirtualMachineManagerVirtualMachineInstanceInfrastructureArgs{\n\t\t\t\tSystemCenterVirtualMachineManagerCloudId:                exampleVirtualMachineManagerCloud.ID(),\n\t\t\t\tSystemCenterVirtualMachineManagerTemplateId:             exampleVirtualMachineManagerVirtualMachineTemplate.ID(),\n\t\t\t\tSystemCenterVirtualMachineManagerVirtualMachineServerId: exampleVirtualMachineManagerServer.ID(),\n\t\t\t},\n\t\t\tOperatingSystem: \u0026systemcenter.VirtualMachineManagerVirtualMachineInstanceOperatingSystemArgs{\n\t\t\t\tComputerName: pulumi.String(\"testComputer\"),\n\t\t\t},\n\t\t\tHardware: \u0026systemcenter.VirtualMachineManagerVirtualMachineInstanceHardwareArgs{\n\t\t\t\tCpuCount:   pulumi.Int(1),\n\t\t\t\tMemoryInMb: pulumi.Int(1024),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.arcmachine.ArcMachine;\nimport com.pulumi.azure.arcmachine.ArcMachineArgs;\nimport com.pulumi.azure.systemcenter.VirtualMachineManagerServer;\nimport com.pulumi.azure.systemcenter.VirtualMachineManagerServerArgs;\nimport com.pulumi.azure.systemcenter.SystemcenterFunctions;\nimport com.pulumi.azure.systemcenter.inputs.GetVirtualMachineManagerInventoryItemsArgs;\nimport com.pulumi.azure.systemcenter.VirtualMachineManagerCloud;\nimport com.pulumi.azure.systemcenter.VirtualMachineManagerCloudArgs;\nimport com.pulumi.azure.systemcenter.VirtualMachineManagerVirtualMachineTemplate;\nimport com.pulumi.azure.systemcenter.VirtualMachineManagerVirtualMachineTemplateArgs;\nimport com.pulumi.azure.systemcenter.VirtualMachineManagerVirtualMachineInstance;\nimport com.pulumi.azure.systemcenter.VirtualMachineManagerVirtualMachineInstanceArgs;\nimport com.pulumi.azure.systemcenter.inputs.VirtualMachineManagerVirtualMachineInstanceInfrastructureArgs;\nimport com.pulumi.azure.systemcenter.inputs.VirtualMachineManagerVirtualMachineInstanceOperatingSystemArgs;\nimport com.pulumi.azure.systemcenter.inputs.VirtualMachineManagerVirtualMachineInstanceHardwareArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var exampleResourceGroup = new ResourceGroup(\"exampleResourceGroup\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleArcMachine = new ArcMachine(\"exampleArcMachine\", ArcMachineArgs.builder()\n            .name(\"example-arcmachine\")\n            .resourceGroupName(exampleResourceGroup.name())\n            .location(exampleResourceGroup.location())\n            .kind(\"SCVMM\")\n            .build());\n\n        var exampleVirtualMachineManagerServer = new VirtualMachineManagerServer(\"exampleVirtualMachineManagerServer\", VirtualMachineManagerServerArgs.builder()\n            .name(\"example-scvmmms\")\n            .resourceGroupName(exampleResourceGroup.name())\n            .location(exampleResourceGroup.location())\n            .customLocationId(\"/subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/resGroup1/providers/Microsoft.ExtendedLocation/customLocations/customLocation1\")\n            .fqdn(\"example.labtest\")\n            .username(\"testUser\")\n            .password(\"H@Sh1CoR3!\")\n            .build());\n\n        final var example = SystemcenterFunctions.getVirtualMachineManagerInventoryItems(GetVirtualMachineManagerInventoryItemsArgs.builder()\n            .inventoryType(\"Cloud\")\n            .systemCenterVirtualMachineManagerServerId(exampleVirtualMachineManagerServer.id())\n            .build());\n\n        var exampleVirtualMachineManagerCloud = new VirtualMachineManagerCloud(\"exampleVirtualMachineManagerCloud\", VirtualMachineManagerCloudArgs.builder()\n            .name(\"example-scvmmc\")\n            .location(exampleResourceGroup.location())\n            .resourceGroupName(exampleResourceGroup.name())\n            .customLocationId(exampleVirtualMachineManagerServer.customLocationId())\n            .systemCenterVirtualMachineManagerServerInventoryItemId(example.applyValue(_example -\u003e _example.inventoryItems()[0].id()))\n            .build());\n\n        final var example2 = SystemcenterFunctions.getVirtualMachineManagerInventoryItems(GetVirtualMachineManagerInventoryItemsArgs.builder()\n            .inventoryType(\"VirtualMachineTemplate\")\n            .systemCenterVirtualMachineManagerServerId(exampleVirtualMachineManagerServer.id())\n            .build());\n\n        var exampleVirtualMachineManagerVirtualMachineTemplate = new VirtualMachineManagerVirtualMachineTemplate(\"exampleVirtualMachineManagerVirtualMachineTemplate\", VirtualMachineManagerVirtualMachineTemplateArgs.builder()\n            .name(\"example-scvmmvmt\")\n            .location(exampleResourceGroup.location())\n            .resourceGroupName(exampleResourceGroup.name())\n            .customLocationId(exampleVirtualMachineManagerServer.customLocationId())\n            .systemCenterVirtualMachineManagerServerInventoryItemId(example2.applyValue(_example2 -\u003e _example2.inventoryItems()[0].id()))\n            .build());\n\n        var exampleVirtualMachineManagerVirtualMachineInstance = new VirtualMachineManagerVirtualMachineInstance(\"exampleVirtualMachineManagerVirtualMachineInstance\", VirtualMachineManagerVirtualMachineInstanceArgs.builder()\n            .scopedResourceId(exampleArcMachine.id())\n            .customLocationId(exampleVirtualMachineManagerServer.customLocationId())\n            .infrastructure(VirtualMachineManagerVirtualMachineInstanceInfrastructureArgs.builder()\n                .systemCenterVirtualMachineManagerCloudId(exampleVirtualMachineManagerCloud.id())\n                .systemCenterVirtualMachineManagerTemplateId(exampleVirtualMachineManagerVirtualMachineTemplate.id())\n                .systemCenterVirtualMachineManagerVirtualMachineServerId(exampleVirtualMachineManagerServer.id())\n                .build())\n            .operatingSystem(VirtualMachineManagerVirtualMachineInstanceOperatingSystemArgs.builder()\n                .computerName(\"testComputer\")\n                .build())\n            .hardware(VirtualMachineManagerVirtualMachineInstanceHardwareArgs.builder()\n                .cpuCount(1)\n                .memoryInMb(1024)\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleResourceGroup:\n    type: azure:core:ResourceGroup\n    name: example\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleArcMachine:\n    type: azure:arcmachine:ArcMachine\n    name: example\n    properties:\n      name: example-arcmachine\n      resourceGroupName: ${exampleResourceGroup.name}\n      location: ${exampleResourceGroup.location}\n      kind: SCVMM\n  exampleVirtualMachineManagerServer:\n    type: azure:systemcenter:VirtualMachineManagerServer\n    name: example\n    properties:\n      name: example-scvmmms\n      resourceGroupName: ${exampleResourceGroup.name}\n      location: ${exampleResourceGroup.location}\n      customLocationId: /subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/resGroup1/providers/Microsoft.ExtendedLocation/customLocations/customLocation1\n      fqdn: example.labtest\n      username: testUser\n      password: H@Sh1CoR3!\n  exampleVirtualMachineManagerCloud:\n    type: azure:systemcenter:VirtualMachineManagerCloud\n    name: example\n    properties:\n      name: example-scvmmc\n      location: ${exampleResourceGroup.location}\n      resourceGroupName: ${exampleResourceGroup.name}\n      customLocationId: ${exampleVirtualMachineManagerServer.customLocationId}\n      systemCenterVirtualMachineManagerServerInventoryItemId: ${example.inventoryItems[0].id}\n  exampleVirtualMachineManagerVirtualMachineTemplate:\n    type: azure:systemcenter:VirtualMachineManagerVirtualMachineTemplate\n    name: example\n    properties:\n      name: example-scvmmvmt\n      location: ${exampleResourceGroup.location}\n      resourceGroupName: ${exampleResourceGroup.name}\n      customLocationId: ${exampleVirtualMachineManagerServer.customLocationId}\n      systemCenterVirtualMachineManagerServerInventoryItemId: ${example2.inventoryItems[0].id}\n  exampleVirtualMachineManagerVirtualMachineInstance:\n    type: azure:systemcenter:VirtualMachineManagerVirtualMachineInstance\n    name: example\n    properties:\n      scopedResourceId: ${exampleArcMachine.id}\n      customLocationId: ${exampleVirtualMachineManagerServer.customLocationId}\n      infrastructure:\n        systemCenterVirtualMachineManagerCloudId: ${exampleVirtualMachineManagerCloud.id}\n        systemCenterVirtualMachineManagerTemplateId: ${exampleVirtualMachineManagerVirtualMachineTemplate.id}\n        systemCenterVirtualMachineManagerVirtualMachineServerId: ${exampleVirtualMachineManagerServer.id}\n      operatingSystem:\n        computerName: testComputer\n      hardware:\n        cpuCount: 1\n        memoryInMb: 1024\nvariables:\n  example:\n    fn::invoke:\n      function: azure:systemcenter:getVirtualMachineManagerInventoryItems\n      arguments:\n        inventoryType: Cloud\n        systemCenterVirtualMachineManagerServerId: ${exampleVirtualMachineManagerServer.id}\n  example2:\n    fn::invoke:\n      function: azure:systemcenter:getVirtualMachineManagerInventoryItems\n      arguments:\n        inventoryType: VirtualMachineTemplate\n        systemCenterVirtualMachineManagerServerId: ${exampleVirtualMachineManagerServer.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.ScVmm` - 2023-10-07\n\n## Import\n\nSystem Center Virtual Machine Manager Virtual Machine Instances can be imported into Pulumi using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:systemcenter/virtualMachineManagerVirtualMachineInstance:VirtualMachineManagerVirtualMachineInstance example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resGroup1/providers/Microsoft.HybridCompute/machines/machine1/providers/Microsoft.ScVmm/virtualMachineInstances/default\n```\n\n","properties":{"customLocationId":{"type":"string","description":"The ID of the Custom Location for the System Center Virtual Machine Manager Virtual Machine Instance. Changing this forces a new resource to be created.\n"},"hardware":{"$ref":"#/types/azure:systemcenter/VirtualMachineManagerVirtualMachineInstanceHardware:VirtualMachineManagerVirtualMachineInstanceHardware","description":"A \u003cspan pulumi-lang-nodejs=\"`hardware`\" pulumi-lang-dotnet=\"`Hardware`\" pulumi-lang-go=\"`hardware`\" pulumi-lang-python=\"`hardware`\" pulumi-lang-yaml=\"`hardware`\" pulumi-lang-java=\"`hardware`\"\u003e`hardware`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n\n\u003e **Note:** This resource will be restarted while updating \u003cspan pulumi-lang-nodejs=\"`hardware`\" pulumi-lang-dotnet=\"`Hardware`\" pulumi-lang-go=\"`hardware`\" pulumi-lang-python=\"`hardware`\" pulumi-lang-yaml=\"`hardware`\" pulumi-lang-java=\"`hardware`\"\u003e`hardware`\u003c/span\u003e.\n"},"infrastructure":{"$ref":"#/types/azure:systemcenter/VirtualMachineManagerVirtualMachineInstanceInfrastructure:VirtualMachineManagerVirtualMachineInstanceInfrastructure","description":"An \u003cspan pulumi-lang-nodejs=\"`infrastructure`\" pulumi-lang-dotnet=\"`Infrastructure`\" pulumi-lang-go=\"`infrastructure`\" pulumi-lang-python=\"`infrastructure`\" pulumi-lang-yaml=\"`infrastructure`\" pulumi-lang-java=\"`infrastructure`\"\u003e`infrastructure`\u003c/span\u003e block as defined below.\n"},"networkInterfaces":{"type":"array","items":{"$ref":"#/types/azure:systemcenter/VirtualMachineManagerVirtualMachineInstanceNetworkInterface:VirtualMachineManagerVirtualMachineInstanceNetworkInterface"},"description":"A \u003cspan pulumi-lang-nodejs=\"`networkInterface`\" pulumi-lang-dotnet=\"`NetworkInterface`\" pulumi-lang-go=\"`networkInterface`\" pulumi-lang-python=\"`network_interface`\" pulumi-lang-yaml=\"`networkInterface`\" pulumi-lang-java=\"`networkInterface`\"\u003e`network_interface`\u003c/span\u003e block as defined below.\n\n\u003e **Note:** This resource will be restarted while updating \u003cspan pulumi-lang-nodejs=\"`networkInterface`\" pulumi-lang-dotnet=\"`NetworkInterface`\" pulumi-lang-go=\"`networkInterface`\" pulumi-lang-python=\"`network_interface`\" pulumi-lang-yaml=\"`networkInterface`\" pulumi-lang-java=\"`networkInterface`\"\u003e`network_interface`\u003c/span\u003e.\n"},"operatingSystem":{"$ref":"#/types/azure:systemcenter/VirtualMachineManagerVirtualMachineInstanceOperatingSystem:VirtualMachineManagerVirtualMachineInstanceOperatingSystem","description":"An \u003cspan pulumi-lang-nodejs=\"`operatingSystem`\" pulumi-lang-dotnet=\"`OperatingSystem`\" pulumi-lang-go=\"`operatingSystem`\" pulumi-lang-python=\"`operating_system`\" pulumi-lang-yaml=\"`operatingSystem`\" pulumi-lang-java=\"`operatingSystem`\"\u003e`operating_system`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n"},"scopedResourceId":{"type":"string","description":"The ID of the Hybrid Compute Machine where this System Center Virtual Machine Manager Virtual Machine Instance is stored. Changing this forces a new resource to be created.\n"},"storageDisks":{"type":"array","items":{"$ref":"#/types/azure:systemcenter/VirtualMachineManagerVirtualMachineInstanceStorageDisk:VirtualMachineManagerVirtualMachineInstanceStorageDisk"},"description":"A \u003cspan pulumi-lang-nodejs=\"`storageDisk`\" pulumi-lang-dotnet=\"`StorageDisk`\" pulumi-lang-go=\"`storageDisk`\" pulumi-lang-python=\"`storage_disk`\" pulumi-lang-yaml=\"`storageDisk`\" pulumi-lang-java=\"`storageDisk`\"\u003e`storage_disk`\u003c/span\u003e block as defined below.\n\n\u003e **Note:** This resource will be restarted while updating \u003cspan pulumi-lang-nodejs=\"`storageDisk`\" pulumi-lang-dotnet=\"`StorageDisk`\" pulumi-lang-go=\"`storageDisk`\" pulumi-lang-python=\"`storage_disk`\" pulumi-lang-yaml=\"`storageDisk`\" pulumi-lang-java=\"`storageDisk`\"\u003e`storage_disk`\u003c/span\u003e.\n"},"systemCenterVirtualMachineManagerAvailabilitySetIds":{"type":"array","items":{"type":"string"},"description":"A list of IDs of System Center Virtual Machine Manager Availability Set.\n"}},"required":["customLocationId","infrastructure","scopedResourceId"],"inputProperties":{"customLocationId":{"type":"string","description":"The ID of the Custom Location for the System Center Virtual Machine Manager Virtual Machine Instance. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"hardware":{"$ref":"#/types/azure:systemcenter/VirtualMachineManagerVirtualMachineInstanceHardware:VirtualMachineManagerVirtualMachineInstanceHardware","description":"A \u003cspan pulumi-lang-nodejs=\"`hardware`\" pulumi-lang-dotnet=\"`Hardware`\" pulumi-lang-go=\"`hardware`\" pulumi-lang-python=\"`hardware`\" pulumi-lang-yaml=\"`hardware`\" pulumi-lang-java=\"`hardware`\"\u003e`hardware`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n\n\u003e **Note:** This resource will be restarted while updating \u003cspan pulumi-lang-nodejs=\"`hardware`\" pulumi-lang-dotnet=\"`Hardware`\" pulumi-lang-go=\"`hardware`\" pulumi-lang-python=\"`hardware`\" pulumi-lang-yaml=\"`hardware`\" pulumi-lang-java=\"`hardware`\"\u003e`hardware`\u003c/span\u003e.\n","willReplaceOnChanges":true},"infrastructure":{"$ref":"#/types/azure:systemcenter/VirtualMachineManagerVirtualMachineInstanceInfrastructure:VirtualMachineManagerVirtualMachineInstanceInfrastructure","description":"An \u003cspan pulumi-lang-nodejs=\"`infrastructure`\" pulumi-lang-dotnet=\"`Infrastructure`\" pulumi-lang-go=\"`infrastructure`\" pulumi-lang-python=\"`infrastructure`\" pulumi-lang-yaml=\"`infrastructure`\" pulumi-lang-java=\"`infrastructure`\"\u003e`infrastructure`\u003c/span\u003e block as defined below.\n"},"networkInterfaces":{"type":"array","items":{"$ref":"#/types/azure:systemcenter/VirtualMachineManagerVirtualMachineInstanceNetworkInterface:VirtualMachineManagerVirtualMachineInstanceNetworkInterface"},"description":"A \u003cspan pulumi-lang-nodejs=\"`networkInterface`\" pulumi-lang-dotnet=\"`NetworkInterface`\" pulumi-lang-go=\"`networkInterface`\" pulumi-lang-python=\"`network_interface`\" pulumi-lang-yaml=\"`networkInterface`\" pulumi-lang-java=\"`networkInterface`\"\u003e`network_interface`\u003c/span\u003e block as defined below.\n\n\u003e **Note:** This resource will be restarted while updating \u003cspan pulumi-lang-nodejs=\"`networkInterface`\" pulumi-lang-dotnet=\"`NetworkInterface`\" pulumi-lang-go=\"`networkInterface`\" pulumi-lang-python=\"`network_interface`\" pulumi-lang-yaml=\"`networkInterface`\" pulumi-lang-java=\"`networkInterface`\"\u003e`network_interface`\u003c/span\u003e.\n"},"operatingSystem":{"$ref":"#/types/azure:systemcenter/VirtualMachineManagerVirtualMachineInstanceOperatingSystem:VirtualMachineManagerVirtualMachineInstanceOperatingSystem","description":"An \u003cspan pulumi-lang-nodejs=\"`operatingSystem`\" pulumi-lang-dotnet=\"`OperatingSystem`\" pulumi-lang-go=\"`operatingSystem`\" pulumi-lang-python=\"`operating_system`\" pulumi-lang-yaml=\"`operatingSystem`\" pulumi-lang-java=\"`operatingSystem`\"\u003e`operating_system`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"scopedResourceId":{"type":"string","description":"The ID of the Hybrid Compute Machine where this System Center Virtual Machine Manager Virtual Machine Instance is stored. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"storageDisks":{"type":"array","items":{"$ref":"#/types/azure:systemcenter/VirtualMachineManagerVirtualMachineInstanceStorageDisk:VirtualMachineManagerVirtualMachineInstanceStorageDisk"},"description":"A \u003cspan pulumi-lang-nodejs=\"`storageDisk`\" pulumi-lang-dotnet=\"`StorageDisk`\" pulumi-lang-go=\"`storageDisk`\" pulumi-lang-python=\"`storage_disk`\" pulumi-lang-yaml=\"`storageDisk`\" pulumi-lang-java=\"`storageDisk`\"\u003e`storage_disk`\u003c/span\u003e block as defined below.\n\n\u003e **Note:** This resource will be restarted while updating \u003cspan pulumi-lang-nodejs=\"`storageDisk`\" pulumi-lang-dotnet=\"`StorageDisk`\" pulumi-lang-go=\"`storageDisk`\" pulumi-lang-python=\"`storage_disk`\" pulumi-lang-yaml=\"`storageDisk`\" pulumi-lang-java=\"`storageDisk`\"\u003e`storage_disk`\u003c/span\u003e.\n"},"systemCenterVirtualMachineManagerAvailabilitySetIds":{"type":"array","items":{"type":"string"},"description":"A list of IDs of System Center Virtual Machine Manager Availability Set.\n"}},"requiredInputs":["customLocationId","infrastructure","scopedResourceId"],"stateInputs":{"description":"Input properties used for looking up and filtering VirtualMachineManagerVirtualMachineInstance resources.\n","properties":{"customLocationId":{"type":"string","description":"The ID of the Custom Location for the System Center Virtual Machine Manager Virtual Machine Instance. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"hardware":{"$ref":"#/types/azure:systemcenter/VirtualMachineManagerVirtualMachineInstanceHardware:VirtualMachineManagerVirtualMachineInstanceHardware","description":"A \u003cspan pulumi-lang-nodejs=\"`hardware`\" pulumi-lang-dotnet=\"`Hardware`\" pulumi-lang-go=\"`hardware`\" pulumi-lang-python=\"`hardware`\" pulumi-lang-yaml=\"`hardware`\" pulumi-lang-java=\"`hardware`\"\u003e`hardware`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n\n\u003e **Note:** This resource will be restarted while updating \u003cspan pulumi-lang-nodejs=\"`hardware`\" pulumi-lang-dotnet=\"`Hardware`\" pulumi-lang-go=\"`hardware`\" pulumi-lang-python=\"`hardware`\" pulumi-lang-yaml=\"`hardware`\" pulumi-lang-java=\"`hardware`\"\u003e`hardware`\u003c/span\u003e.\n","willReplaceOnChanges":true},"infrastructure":{"$ref":"#/types/azure:systemcenter/VirtualMachineManagerVirtualMachineInstanceInfrastructure:VirtualMachineManagerVirtualMachineInstanceInfrastructure","description":"An \u003cspan pulumi-lang-nodejs=\"`infrastructure`\" pulumi-lang-dotnet=\"`Infrastructure`\" pulumi-lang-go=\"`infrastructure`\" pulumi-lang-python=\"`infrastructure`\" pulumi-lang-yaml=\"`infrastructure`\" pulumi-lang-java=\"`infrastructure`\"\u003e`infrastructure`\u003c/span\u003e block as defined below.\n"},"networkInterfaces":{"type":"array","items":{"$ref":"#/types/azure:systemcenter/VirtualMachineManagerVirtualMachineInstanceNetworkInterface:VirtualMachineManagerVirtualMachineInstanceNetworkInterface"},"description":"A \u003cspan pulumi-lang-nodejs=\"`networkInterface`\" pulumi-lang-dotnet=\"`NetworkInterface`\" pulumi-lang-go=\"`networkInterface`\" pulumi-lang-python=\"`network_interface`\" pulumi-lang-yaml=\"`networkInterface`\" pulumi-lang-java=\"`networkInterface`\"\u003e`network_interface`\u003c/span\u003e block as defined below.\n\n\u003e **Note:** This resource will be restarted while updating \u003cspan pulumi-lang-nodejs=\"`networkInterface`\" pulumi-lang-dotnet=\"`NetworkInterface`\" pulumi-lang-go=\"`networkInterface`\" pulumi-lang-python=\"`network_interface`\" pulumi-lang-yaml=\"`networkInterface`\" pulumi-lang-java=\"`networkInterface`\"\u003e`network_interface`\u003c/span\u003e.\n"},"operatingSystem":{"$ref":"#/types/azure:systemcenter/VirtualMachineManagerVirtualMachineInstanceOperatingSystem:VirtualMachineManagerVirtualMachineInstanceOperatingSystem","description":"An \u003cspan pulumi-lang-nodejs=\"`operatingSystem`\" pulumi-lang-dotnet=\"`OperatingSystem`\" pulumi-lang-go=\"`operatingSystem`\" pulumi-lang-python=\"`operating_system`\" pulumi-lang-yaml=\"`operatingSystem`\" pulumi-lang-java=\"`operatingSystem`\"\u003e`operating_system`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"scopedResourceId":{"type":"string","description":"The ID of the Hybrid Compute Machine where this System Center Virtual Machine Manager Virtual Machine Instance is stored. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"storageDisks":{"type":"array","items":{"$ref":"#/types/azure:systemcenter/VirtualMachineManagerVirtualMachineInstanceStorageDisk:VirtualMachineManagerVirtualMachineInstanceStorageDisk"},"description":"A \u003cspan pulumi-lang-nodejs=\"`storageDisk`\" pulumi-lang-dotnet=\"`StorageDisk`\" pulumi-lang-go=\"`storageDisk`\" pulumi-lang-python=\"`storage_disk`\" pulumi-lang-yaml=\"`storageDisk`\" pulumi-lang-java=\"`storageDisk`\"\u003e`storage_disk`\u003c/span\u003e block as defined below.\n\n\u003e **Note:** This resource will be restarted while updating \u003cspan pulumi-lang-nodejs=\"`storageDisk`\" pulumi-lang-dotnet=\"`StorageDisk`\" pulumi-lang-go=\"`storageDisk`\" pulumi-lang-python=\"`storage_disk`\" pulumi-lang-yaml=\"`storageDisk`\" pulumi-lang-java=\"`storageDisk`\"\u003e`storage_disk`\u003c/span\u003e.\n"},"systemCenterVirtualMachineManagerAvailabilitySetIds":{"type":"array","items":{"type":"string"},"description":"A list of IDs of System Center Virtual Machine Manager Availability Set.\n"}},"type":"object"}},"azure:systemcenter/virtualMachineManagerVirtualMachineInstanceGuestAgent:VirtualMachineManagerVirtualMachineInstanceGuestAgent":{"description":"Manages a System Center Virtual Machine Manager Virtual Machine Instance Guest Agent.\n\n\u003e **Note:** By request of the service team the provider is no longer automatically registering the `Microsoft.ScVmm` Resource Provider for this resource. To register it you can run `az provider register --namespace Microsoft.ScVmm`.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleArcMachine = new azure.arcmachine.ArcMachine(\"example\", {\n    name: \"example-arcmachine\",\n    resourceGroupName: exampleResourceGroup.name,\n    location: exampleResourceGroup.location,\n    kind: \"SCVMM\",\n    identity: {\n        type: \"SystemAssigned\",\n    },\n});\nconst exampleVirtualMachineManagerServer = new azure.systemcenter.VirtualMachineManagerServer(\"example\", {\n    name: \"example-scvmmms\",\n    resourceGroupName: exampleResourceGroup.name,\n    location: exampleResourceGroup.location,\n    customLocationId: \"/subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/resGroup1/providers/Microsoft.ExtendedLocation/customLocations/customLocation1\",\n    fqdn: \"example.labtest\",\n    username: \"testUser\",\n    password: \"H@Sh1CoR3!\",\n});\nconst example = azure.systemcenter.getVirtualMachineManagerInventoryItemsOutput({\n    inventoryType: \"Cloud\",\n    systemCenterVirtualMachineManagerServerId: exampleVirtualMachineManagerServer.id,\n});\nconst exampleVirtualMachineManagerCloud = new azure.systemcenter.VirtualMachineManagerCloud(\"example\", {\n    name: \"example-scvmmc\",\n    location: exampleResourceGroup.location,\n    resourceGroupName: exampleResourceGroup.name,\n    customLocationId: exampleVirtualMachineManagerServer.customLocationId,\n    systemCenterVirtualMachineManagerServerInventoryItemId: example.apply(example =\u003e example.inventoryItems?.[0]?.id),\n});\nconst example2 = azure.systemcenter.getVirtualMachineManagerInventoryItemsOutput({\n    inventoryType: \"VirtualMachineTemplate\",\n    systemCenterVirtualMachineManagerServerId: exampleVirtualMachineManagerServer.id,\n});\nconst exampleVirtualMachineManagerVirtualMachineTemplate = new azure.systemcenter.VirtualMachineManagerVirtualMachineTemplate(\"example\", {\n    name: \"example-scvmmvmt\",\n    location: exampleResourceGroup.location,\n    resourceGroupName: exampleResourceGroup.name,\n    customLocationId: exampleVirtualMachineManagerServer.customLocationId,\n    systemCenterVirtualMachineManagerServerInventoryItemId: example2.apply(example2 =\u003e example2.inventoryItems?.[0]?.id),\n});\nconst exampleVirtualMachineManagerVirtualMachineInstance = new azure.systemcenter.VirtualMachineManagerVirtualMachineInstance(\"example\", {\n    scopedResourceId: exampleArcMachine.id,\n    customLocationId: exampleVirtualMachineManagerServer.customLocationId,\n    infrastructure: {\n        checkpointType: \"Standard\",\n        systemCenterVirtualMachineManagerCloudId: exampleVirtualMachineManagerCloud.id,\n        systemCenterVirtualMachineManagerTemplateId: exampleVirtualMachineManagerVirtualMachineTemplate.id,\n        systemCenterVirtualMachineManagerVirtualMachineServerId: exampleVirtualMachineManagerServer.id,\n    },\n    operatingSystem: {\n        adminPassword: \"AdminPassword123!\",\n    },\n});\nconst exampleVirtualMachineManagerVirtualMachineInstanceGuestAgent = new azure.systemcenter.VirtualMachineManagerVirtualMachineInstanceGuestAgent(\"example\", {\n    scopedResourceId: exampleArcMachine.id,\n    username: \"Administrator\",\n    password: \"AdminPassword123!\",\n}, {\n    dependsOn: [exampleVirtualMachineManagerVirtualMachineInstance],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_arc_machine = azure.arcmachine.ArcMachine(\"example\",\n    name=\"example-arcmachine\",\n    resource_group_name=example_resource_group.name,\n    location=example_resource_group.location,\n    kind=\"SCVMM\",\n    identity={\n        \"type\": \"SystemAssigned\",\n    })\nexample_virtual_machine_manager_server = azure.systemcenter.VirtualMachineManagerServer(\"example\",\n    name=\"example-scvmmms\",\n    resource_group_name=example_resource_group.name,\n    location=example_resource_group.location,\n    custom_location_id=\"/subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/resGroup1/providers/Microsoft.ExtendedLocation/customLocations/customLocation1\",\n    fqdn=\"example.labtest\",\n    username=\"testUser\",\n    password=\"H@Sh1CoR3!\")\nexample = azure.systemcenter.get_virtual_machine_manager_inventory_items_output(inventory_type=\"Cloud\",\n    system_center_virtual_machine_manager_server_id=example_virtual_machine_manager_server.id)\nexample_virtual_machine_manager_cloud = azure.systemcenter.VirtualMachineManagerCloud(\"example\",\n    name=\"example-scvmmc\",\n    location=example_resource_group.location,\n    resource_group_name=example_resource_group.name,\n    custom_location_id=example_virtual_machine_manager_server.custom_location_id,\n    system_center_virtual_machine_manager_server_inventory_item_id=example.inventory_items[0].id)\nexample2 = azure.systemcenter.get_virtual_machine_manager_inventory_items_output(inventory_type=\"VirtualMachineTemplate\",\n    system_center_virtual_machine_manager_server_id=example_virtual_machine_manager_server.id)\nexample_virtual_machine_manager_virtual_machine_template = azure.systemcenter.VirtualMachineManagerVirtualMachineTemplate(\"example\",\n    name=\"example-scvmmvmt\",\n    location=example_resource_group.location,\n    resource_group_name=example_resource_group.name,\n    custom_location_id=example_virtual_machine_manager_server.custom_location_id,\n    system_center_virtual_machine_manager_server_inventory_item_id=example2.inventory_items[0].id)\nexample_virtual_machine_manager_virtual_machine_instance = azure.systemcenter.VirtualMachineManagerVirtualMachineInstance(\"example\",\n    scoped_resource_id=example_arc_machine.id,\n    custom_location_id=example_virtual_machine_manager_server.custom_location_id,\n    infrastructure={\n        \"checkpoint_type\": \"Standard\",\n        \"system_center_virtual_machine_manager_cloud_id\": example_virtual_machine_manager_cloud.id,\n        \"system_center_virtual_machine_manager_template_id\": example_virtual_machine_manager_virtual_machine_template.id,\n        \"system_center_virtual_machine_manager_virtual_machine_server_id\": example_virtual_machine_manager_server.id,\n    },\n    operating_system={\n        \"admin_password\": \"AdminPassword123!\",\n    })\nexample_virtual_machine_manager_virtual_machine_instance_guest_agent = azure.systemcenter.VirtualMachineManagerVirtualMachineInstanceGuestAgent(\"example\",\n    scoped_resource_id=example_arc_machine.id,\n    username=\"Administrator\",\n    password=\"AdminPassword123!\",\n    opts = pulumi.ResourceOptions(depends_on=[example_virtual_machine_manager_virtual_machine_instance]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleResourceGroup = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleArcMachine = new Azure.ArcMachine.ArcMachine(\"example\", new()\n    {\n        Name = \"example-arcmachine\",\n        ResourceGroupName = exampleResourceGroup.Name,\n        Location = exampleResourceGroup.Location,\n        Kind = \"SCVMM\",\n        Identity = new Azure.ArcMachine.Inputs.ArcMachineIdentityArgs\n        {\n            Type = \"SystemAssigned\",\n        },\n    });\n\n    var exampleVirtualMachineManagerServer = new Azure.SystemCenter.VirtualMachineManagerServer(\"example\", new()\n    {\n        Name = \"example-scvmmms\",\n        ResourceGroupName = exampleResourceGroup.Name,\n        Location = exampleResourceGroup.Location,\n        CustomLocationId = \"/subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/resGroup1/providers/Microsoft.ExtendedLocation/customLocations/customLocation1\",\n        Fqdn = \"example.labtest\",\n        Username = \"testUser\",\n        Password = \"H@Sh1CoR3!\",\n    });\n\n    var example = Azure.SystemCenter.GetVirtualMachineManagerInventoryItems.Invoke(new()\n    {\n        InventoryType = \"Cloud\",\n        SystemCenterVirtualMachineManagerServerId = exampleVirtualMachineManagerServer.Id,\n    });\n\n    var exampleVirtualMachineManagerCloud = new Azure.SystemCenter.VirtualMachineManagerCloud(\"example\", new()\n    {\n        Name = \"example-scvmmc\",\n        Location = exampleResourceGroup.Location,\n        ResourceGroupName = exampleResourceGroup.Name,\n        CustomLocationId = exampleVirtualMachineManagerServer.CustomLocationId,\n        SystemCenterVirtualMachineManagerServerInventoryItemId = example.Apply(getVirtualMachineManagerInventoryItemsResult =\u003e getVirtualMachineManagerInventoryItemsResult.InventoryItems[0]?.Id),\n    });\n\n    var example2 = Azure.SystemCenter.GetVirtualMachineManagerInventoryItems.Invoke(new()\n    {\n        InventoryType = \"VirtualMachineTemplate\",\n        SystemCenterVirtualMachineManagerServerId = exampleVirtualMachineManagerServer.Id,\n    });\n\n    var exampleVirtualMachineManagerVirtualMachineTemplate = new Azure.SystemCenter.VirtualMachineManagerVirtualMachineTemplate(\"example\", new()\n    {\n        Name = \"example-scvmmvmt\",\n        Location = exampleResourceGroup.Location,\n        ResourceGroupName = exampleResourceGroup.Name,\n        CustomLocationId = exampleVirtualMachineManagerServer.CustomLocationId,\n        SystemCenterVirtualMachineManagerServerInventoryItemId = example2.Apply(getVirtualMachineManagerInventoryItemsResult =\u003e getVirtualMachineManagerInventoryItemsResult.InventoryItems[0]?.Id),\n    });\n\n    var exampleVirtualMachineManagerVirtualMachineInstance = new Azure.SystemCenter.VirtualMachineManagerVirtualMachineInstance(\"example\", new()\n    {\n        ScopedResourceId = exampleArcMachine.Id,\n        CustomLocationId = exampleVirtualMachineManagerServer.CustomLocationId,\n        Infrastructure = new Azure.SystemCenter.Inputs.VirtualMachineManagerVirtualMachineInstanceInfrastructureArgs\n        {\n            CheckpointType = \"Standard\",\n            SystemCenterVirtualMachineManagerCloudId = exampleVirtualMachineManagerCloud.Id,\n            SystemCenterVirtualMachineManagerTemplateId = exampleVirtualMachineManagerVirtualMachineTemplate.Id,\n            SystemCenterVirtualMachineManagerVirtualMachineServerId = exampleVirtualMachineManagerServer.Id,\n        },\n        OperatingSystem = new Azure.SystemCenter.Inputs.VirtualMachineManagerVirtualMachineInstanceOperatingSystemArgs\n        {\n            AdminPassword = \"AdminPassword123!\",\n        },\n    });\n\n    var exampleVirtualMachineManagerVirtualMachineInstanceGuestAgent = new Azure.SystemCenter.VirtualMachineManagerVirtualMachineInstanceGuestAgent(\"example\", new()\n    {\n        ScopedResourceId = exampleArcMachine.Id,\n        Username = \"Administrator\",\n        Password = \"AdminPassword123!\",\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            exampleVirtualMachineManagerVirtualMachineInstance,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/arcmachine\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/systemcenter\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleArcMachine, err := arcmachine.NewArcMachine(ctx, \"example\", \u0026arcmachine.ArcMachineArgs{\n\t\t\tName:              pulumi.String(\"example-arcmachine\"),\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tLocation:          exampleResourceGroup.Location,\n\t\t\tKind:              pulumi.String(\"SCVMM\"),\n\t\t\tIdentity: \u0026arcmachine.ArcMachineIdentityArgs{\n\t\t\t\tType: pulumi.String(\"SystemAssigned\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualMachineManagerServer, err := systemcenter.NewVirtualMachineManagerServer(ctx, \"example\", \u0026systemcenter.VirtualMachineManagerServerArgs{\n\t\t\tName:              pulumi.String(\"example-scvmmms\"),\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tLocation:          exampleResourceGroup.Location,\n\t\t\tCustomLocationId:  pulumi.String(\"/subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/resGroup1/providers/Microsoft.ExtendedLocation/customLocations/customLocation1\"),\n\t\t\tFqdn:              pulumi.String(\"example.labtest\"),\n\t\t\tUsername:          pulumi.String(\"testUser\"),\n\t\t\tPassword:          pulumi.String(\"H@Sh1CoR3!\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample := systemcenter.GetVirtualMachineManagerInventoryItemsOutput(ctx, systemcenter.GetVirtualMachineManagerInventoryItemsOutputArgs{\n\t\t\tInventoryType: pulumi.String(\"Cloud\"),\n\t\t\tSystemCenterVirtualMachineManagerServerId: exampleVirtualMachineManagerServer.ID(),\n\t\t}, nil)\n\t\texampleVirtualMachineManagerCloud, err := systemcenter.NewVirtualMachineManagerCloud(ctx, \"example\", \u0026systemcenter.VirtualMachineManagerCloudArgs{\n\t\t\tName:              pulumi.String(\"example-scvmmc\"),\n\t\t\tLocation:          exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tCustomLocationId:  exampleVirtualMachineManagerServer.CustomLocationId,\n\t\t\tSystemCenterVirtualMachineManagerServerInventoryItemId: pulumi.String(example.ApplyT(func(example systemcenter.GetVirtualMachineManagerInventoryItemsResult) (*string, error) {\n\t\t\t\treturn \u0026example.InventoryItems[0].Id, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample2 := systemcenter.GetVirtualMachineManagerInventoryItemsOutput(ctx, systemcenter.GetVirtualMachineManagerInventoryItemsOutputArgs{\n\t\t\tInventoryType: pulumi.String(\"VirtualMachineTemplate\"),\n\t\t\tSystemCenterVirtualMachineManagerServerId: exampleVirtualMachineManagerServer.ID(),\n\t\t}, nil)\n\t\texampleVirtualMachineManagerVirtualMachineTemplate, err := systemcenter.NewVirtualMachineManagerVirtualMachineTemplate(ctx, \"example\", \u0026systemcenter.VirtualMachineManagerVirtualMachineTemplateArgs{\n\t\t\tName:              pulumi.String(\"example-scvmmvmt\"),\n\t\t\tLocation:          exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tCustomLocationId:  exampleVirtualMachineManagerServer.CustomLocationId,\n\t\t\tSystemCenterVirtualMachineManagerServerInventoryItemId: pulumi.String(example2.ApplyT(func(example2 systemcenter.GetVirtualMachineManagerInventoryItemsResult) (*string, error) {\n\t\t\t\treturn \u0026example2.InventoryItems[0].Id, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualMachineManagerVirtualMachineInstance, err := systemcenter.NewVirtualMachineManagerVirtualMachineInstance(ctx, \"example\", \u0026systemcenter.VirtualMachineManagerVirtualMachineInstanceArgs{\n\t\t\tScopedResourceId: exampleArcMachine.ID(),\n\t\t\tCustomLocationId: exampleVirtualMachineManagerServer.CustomLocationId,\n\t\t\tInfrastructure: \u0026systemcenter.VirtualMachineManagerVirtualMachineInstanceInfrastructureArgs{\n\t\t\t\tCheckpointType:                                          pulumi.String(\"Standard\"),\n\t\t\t\tSystemCenterVirtualMachineManagerCloudId:                exampleVirtualMachineManagerCloud.ID(),\n\t\t\t\tSystemCenterVirtualMachineManagerTemplateId:             exampleVirtualMachineManagerVirtualMachineTemplate.ID(),\n\t\t\t\tSystemCenterVirtualMachineManagerVirtualMachineServerId: exampleVirtualMachineManagerServer.ID(),\n\t\t\t},\n\t\t\tOperatingSystem: \u0026systemcenter.VirtualMachineManagerVirtualMachineInstanceOperatingSystemArgs{\n\t\t\t\tAdminPassword: pulumi.String(\"AdminPassword123!\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = systemcenter.NewVirtualMachineManagerVirtualMachineInstanceGuestAgent(ctx, \"example\", \u0026systemcenter.VirtualMachineManagerVirtualMachineInstanceGuestAgentArgs{\n\t\t\tScopedResourceId: exampleArcMachine.ID(),\n\t\t\tUsername:         pulumi.String(\"Administrator\"),\n\t\t\tPassword:         pulumi.String(\"AdminPassword123!\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleVirtualMachineManagerVirtualMachineInstance,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.arcmachine.ArcMachine;\nimport com.pulumi.azure.arcmachine.ArcMachineArgs;\nimport com.pulumi.azure.arcmachine.inputs.ArcMachineIdentityArgs;\nimport com.pulumi.azure.systemcenter.VirtualMachineManagerServer;\nimport com.pulumi.azure.systemcenter.VirtualMachineManagerServerArgs;\nimport com.pulumi.azure.systemcenter.SystemcenterFunctions;\nimport com.pulumi.azure.systemcenter.inputs.GetVirtualMachineManagerInventoryItemsArgs;\nimport com.pulumi.azure.systemcenter.VirtualMachineManagerCloud;\nimport com.pulumi.azure.systemcenter.VirtualMachineManagerCloudArgs;\nimport com.pulumi.azure.systemcenter.VirtualMachineManagerVirtualMachineTemplate;\nimport com.pulumi.azure.systemcenter.VirtualMachineManagerVirtualMachineTemplateArgs;\nimport com.pulumi.azure.systemcenter.VirtualMachineManagerVirtualMachineInstance;\nimport com.pulumi.azure.systemcenter.VirtualMachineManagerVirtualMachineInstanceArgs;\nimport com.pulumi.azure.systemcenter.inputs.VirtualMachineManagerVirtualMachineInstanceInfrastructureArgs;\nimport com.pulumi.azure.systemcenter.inputs.VirtualMachineManagerVirtualMachineInstanceOperatingSystemArgs;\nimport com.pulumi.azure.systemcenter.VirtualMachineManagerVirtualMachineInstanceGuestAgent;\nimport com.pulumi.azure.systemcenter.VirtualMachineManagerVirtualMachineInstanceGuestAgentArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var exampleResourceGroup = new ResourceGroup(\"exampleResourceGroup\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleArcMachine = new ArcMachine(\"exampleArcMachine\", ArcMachineArgs.builder()\n            .name(\"example-arcmachine\")\n            .resourceGroupName(exampleResourceGroup.name())\n            .location(exampleResourceGroup.location())\n            .kind(\"SCVMM\")\n            .identity(ArcMachineIdentityArgs.builder()\n                .type(\"SystemAssigned\")\n                .build())\n            .build());\n\n        var exampleVirtualMachineManagerServer = new VirtualMachineManagerServer(\"exampleVirtualMachineManagerServer\", VirtualMachineManagerServerArgs.builder()\n            .name(\"example-scvmmms\")\n            .resourceGroupName(exampleResourceGroup.name())\n            .location(exampleResourceGroup.location())\n            .customLocationId(\"/subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/resGroup1/providers/Microsoft.ExtendedLocation/customLocations/customLocation1\")\n            .fqdn(\"example.labtest\")\n            .username(\"testUser\")\n            .password(\"H@Sh1CoR3!\")\n            .build());\n\n        final var example = SystemcenterFunctions.getVirtualMachineManagerInventoryItems(GetVirtualMachineManagerInventoryItemsArgs.builder()\n            .inventoryType(\"Cloud\")\n            .systemCenterVirtualMachineManagerServerId(exampleVirtualMachineManagerServer.id())\n            .build());\n\n        var exampleVirtualMachineManagerCloud = new VirtualMachineManagerCloud(\"exampleVirtualMachineManagerCloud\", VirtualMachineManagerCloudArgs.builder()\n            .name(\"example-scvmmc\")\n            .location(exampleResourceGroup.location())\n            .resourceGroupName(exampleResourceGroup.name())\n            .customLocationId(exampleVirtualMachineManagerServer.customLocationId())\n            .systemCenterVirtualMachineManagerServerInventoryItemId(example.applyValue(_example -\u003e _example.inventoryItems()[0].id()))\n            .build());\n\n        final var example2 = SystemcenterFunctions.getVirtualMachineManagerInventoryItems(GetVirtualMachineManagerInventoryItemsArgs.builder()\n            .inventoryType(\"VirtualMachineTemplate\")\n            .systemCenterVirtualMachineManagerServerId(exampleVirtualMachineManagerServer.id())\n            .build());\n\n        var exampleVirtualMachineManagerVirtualMachineTemplate = new VirtualMachineManagerVirtualMachineTemplate(\"exampleVirtualMachineManagerVirtualMachineTemplate\", VirtualMachineManagerVirtualMachineTemplateArgs.builder()\n            .name(\"example-scvmmvmt\")\n            .location(exampleResourceGroup.location())\n            .resourceGroupName(exampleResourceGroup.name())\n            .customLocationId(exampleVirtualMachineManagerServer.customLocationId())\n            .systemCenterVirtualMachineManagerServerInventoryItemId(example2.applyValue(_example2 -\u003e _example2.inventoryItems()[0].id()))\n            .build());\n\n        var exampleVirtualMachineManagerVirtualMachineInstance = new VirtualMachineManagerVirtualMachineInstance(\"exampleVirtualMachineManagerVirtualMachineInstance\", VirtualMachineManagerVirtualMachineInstanceArgs.builder()\n            .scopedResourceId(exampleArcMachine.id())\n            .customLocationId(exampleVirtualMachineManagerServer.customLocationId())\n            .infrastructure(VirtualMachineManagerVirtualMachineInstanceInfrastructureArgs.builder()\n                .checkpointType(\"Standard\")\n                .systemCenterVirtualMachineManagerCloudId(exampleVirtualMachineManagerCloud.id())\n                .systemCenterVirtualMachineManagerTemplateId(exampleVirtualMachineManagerVirtualMachineTemplate.id())\n                .systemCenterVirtualMachineManagerVirtualMachineServerId(exampleVirtualMachineManagerServer.id())\n                .build())\n            .operatingSystem(VirtualMachineManagerVirtualMachineInstanceOperatingSystemArgs.builder()\n                .adminPassword(\"AdminPassword123!\")\n                .build())\n            .build());\n\n        var exampleVirtualMachineManagerVirtualMachineInstanceGuestAgent = new VirtualMachineManagerVirtualMachineInstanceGuestAgent(\"exampleVirtualMachineManagerVirtualMachineInstanceGuestAgent\", VirtualMachineManagerVirtualMachineInstanceGuestAgentArgs.builder()\n            .scopedResourceId(exampleArcMachine.id())\n            .username(\"Administrator\")\n            .password(\"AdminPassword123!\")\n            .build(), CustomResourceOptions.builder()\n                .dependsOn(exampleVirtualMachineManagerVirtualMachineInstance)\n                .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleResourceGroup:\n    type: azure:core:ResourceGroup\n    name: example\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleArcMachine:\n    type: azure:arcmachine:ArcMachine\n    name: example\n    properties:\n      name: example-arcmachine\n      resourceGroupName: ${exampleResourceGroup.name}\n      location: ${exampleResourceGroup.location}\n      kind: SCVMM\n      identity:\n        type: SystemAssigned\n  exampleVirtualMachineManagerServer:\n    type: azure:systemcenter:VirtualMachineManagerServer\n    name: example\n    properties:\n      name: example-scvmmms\n      resourceGroupName: ${exampleResourceGroup.name}\n      location: ${exampleResourceGroup.location}\n      customLocationId: /subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/resGroup1/providers/Microsoft.ExtendedLocation/customLocations/customLocation1\n      fqdn: example.labtest\n      username: testUser\n      password: H@Sh1CoR3!\n  exampleVirtualMachineManagerCloud:\n    type: azure:systemcenter:VirtualMachineManagerCloud\n    name: example\n    properties:\n      name: example-scvmmc\n      location: ${exampleResourceGroup.location}\n      resourceGroupName: ${exampleResourceGroup.name}\n      customLocationId: ${exampleVirtualMachineManagerServer.customLocationId}\n      systemCenterVirtualMachineManagerServerInventoryItemId: ${example.inventoryItems[0].id}\n  exampleVirtualMachineManagerVirtualMachineTemplate:\n    type: azure:systemcenter:VirtualMachineManagerVirtualMachineTemplate\n    name: example\n    properties:\n      name: example-scvmmvmt\n      location: ${exampleResourceGroup.location}\n      resourceGroupName: ${exampleResourceGroup.name}\n      customLocationId: ${exampleVirtualMachineManagerServer.customLocationId}\n      systemCenterVirtualMachineManagerServerInventoryItemId: ${example2.inventoryItems[0].id}\n  exampleVirtualMachineManagerVirtualMachineInstance:\n    type: azure:systemcenter:VirtualMachineManagerVirtualMachineInstance\n    name: example\n    properties:\n      scopedResourceId: ${exampleArcMachine.id}\n      customLocationId: ${exampleVirtualMachineManagerServer.customLocationId}\n      infrastructure:\n        checkpointType: Standard\n        systemCenterVirtualMachineManagerCloudId: ${exampleVirtualMachineManagerCloud.id}\n        systemCenterVirtualMachineManagerTemplateId: ${exampleVirtualMachineManagerVirtualMachineTemplate.id}\n        systemCenterVirtualMachineManagerVirtualMachineServerId: ${exampleVirtualMachineManagerServer.id}\n      operatingSystem:\n        adminPassword: AdminPassword123!\n  exampleVirtualMachineManagerVirtualMachineInstanceGuestAgent:\n    type: azure:systemcenter:VirtualMachineManagerVirtualMachineInstanceGuestAgent\n    name: example\n    properties:\n      scopedResourceId: ${exampleArcMachine.id}\n      username: Administrator\n      password: AdminPassword123!\n    options:\n      dependsOn:\n        - ${exampleVirtualMachineManagerVirtualMachineInstance}\nvariables:\n  example:\n    fn::invoke:\n      function: azure:systemcenter:getVirtualMachineManagerInventoryItems\n      arguments:\n        inventoryType: Cloud\n        systemCenterVirtualMachineManagerServerId: ${exampleVirtualMachineManagerServer.id}\n  example2:\n    fn::invoke:\n      function: azure:systemcenter:getVirtualMachineManagerInventoryItems\n      arguments:\n        inventoryType: VirtualMachineTemplate\n        systemCenterVirtualMachineManagerServerId: ${exampleVirtualMachineManagerServer.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.ScVmm` - 2023-10-07\n\n## Import\n\nSystem Center Virtual Machine Manager Virtual Machine Instance Guest Agents can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:systemcenter/virtualMachineManagerVirtualMachineInstanceGuestAgent:VirtualMachineManagerVirtualMachineInstanceGuestAgent example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup1/providers/Microsoft.HybridCompute/machines/machine1/providers/Microsoft.ScVmm/virtualMachineInstances/default/guestAgents/default\n```\n\n","properties":{"password":{"type":"string","description":"The password that is used to connect to the System Center Virtual Machine Manager Virtual Machine Instance Guest Agent. Changing this forces a new resource to be created.\n","secret":true},"provisioningAction":{"type":"string","description":"The provisioning action that is used to define the different types of operations for the System Center Virtual Machine Manager Virtual Machine Instance Guest Agent. Possible values are \u003cspan pulumi-lang-nodejs=\"`install`\" pulumi-lang-dotnet=\"`Install`\" pulumi-lang-go=\"`install`\" pulumi-lang-python=\"`install`\" pulumi-lang-yaml=\"`install`\" pulumi-lang-java=\"`install`\"\u003e`install`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`repair`\" pulumi-lang-dotnet=\"`Repair`\" pulumi-lang-go=\"`repair`\" pulumi-lang-python=\"`repair`\" pulumi-lang-yaml=\"`repair`\" pulumi-lang-java=\"`repair`\"\u003e`repair`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`uninstall`\" pulumi-lang-dotnet=\"`Uninstall`\" pulumi-lang-go=\"`uninstall`\" pulumi-lang-python=\"`uninstall`\" pulumi-lang-yaml=\"`uninstall`\" pulumi-lang-java=\"`uninstall`\"\u003e`uninstall`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`install`\" pulumi-lang-dotnet=\"`Install`\" pulumi-lang-go=\"`install`\" pulumi-lang-python=\"`install`\" pulumi-lang-yaml=\"`install`\" pulumi-lang-java=\"`install`\"\u003e`install`\u003c/span\u003e. Changing this forces a new resource to be created.\n"},"scopedResourceId":{"type":"string","description":"The ID of the Hybrid Compute Machine where this System Center Virtual Machine Manager Virtual Machine Instance Guest Agent is stored. Changing this forces a new resource to be created.\n"},"username":{"type":"string","description":"The username that is used to connect to the System Center Virtual Machine Manager Virtual Machine Instance Guest Agent. Changing this forces a new resource to be created.\n"}},"required":["password","scopedResourceId","username"],"inputProperties":{"password":{"type":"string","description":"The password that is used to connect to the System Center Virtual Machine Manager Virtual Machine Instance Guest Agent. Changing this forces a new resource to be created.\n","secret":true,"willReplaceOnChanges":true},"provisioningAction":{"type":"string","description":"The provisioning action that is used to define the different types of operations for the System Center Virtual Machine Manager Virtual Machine Instance Guest Agent. Possible values are \u003cspan pulumi-lang-nodejs=\"`install`\" pulumi-lang-dotnet=\"`Install`\" pulumi-lang-go=\"`install`\" pulumi-lang-python=\"`install`\" pulumi-lang-yaml=\"`install`\" pulumi-lang-java=\"`install`\"\u003e`install`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`repair`\" pulumi-lang-dotnet=\"`Repair`\" pulumi-lang-go=\"`repair`\" pulumi-lang-python=\"`repair`\" pulumi-lang-yaml=\"`repair`\" pulumi-lang-java=\"`repair`\"\u003e`repair`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`uninstall`\" pulumi-lang-dotnet=\"`Uninstall`\" pulumi-lang-go=\"`uninstall`\" pulumi-lang-python=\"`uninstall`\" pulumi-lang-yaml=\"`uninstall`\" pulumi-lang-java=\"`uninstall`\"\u003e`uninstall`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`install`\" pulumi-lang-dotnet=\"`Install`\" pulumi-lang-go=\"`install`\" pulumi-lang-python=\"`install`\" pulumi-lang-yaml=\"`install`\" pulumi-lang-java=\"`install`\"\u003e`install`\u003c/span\u003e. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"scopedResourceId":{"type":"string","description":"The ID of the Hybrid Compute Machine where this System Center Virtual Machine Manager Virtual Machine Instance Guest Agent is stored. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"username":{"type":"string","description":"The username that is used to connect to the System Center Virtual Machine Manager Virtual Machine Instance Guest Agent. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["password","scopedResourceId","username"],"stateInputs":{"description":"Input properties used for looking up and filtering VirtualMachineManagerVirtualMachineInstanceGuestAgent resources.\n","properties":{"password":{"type":"string","description":"The password that is used to connect to the System Center Virtual Machine Manager Virtual Machine Instance Guest Agent. Changing this forces a new resource to be created.\n","secret":true,"willReplaceOnChanges":true},"provisioningAction":{"type":"string","description":"The provisioning action that is used to define the different types of operations for the System Center Virtual Machine Manager Virtual Machine Instance Guest Agent. Possible values are \u003cspan pulumi-lang-nodejs=\"`install`\" pulumi-lang-dotnet=\"`Install`\" pulumi-lang-go=\"`install`\" pulumi-lang-python=\"`install`\" pulumi-lang-yaml=\"`install`\" pulumi-lang-java=\"`install`\"\u003e`install`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`repair`\" pulumi-lang-dotnet=\"`Repair`\" pulumi-lang-go=\"`repair`\" pulumi-lang-python=\"`repair`\" pulumi-lang-yaml=\"`repair`\" pulumi-lang-java=\"`repair`\"\u003e`repair`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`uninstall`\" pulumi-lang-dotnet=\"`Uninstall`\" pulumi-lang-go=\"`uninstall`\" pulumi-lang-python=\"`uninstall`\" pulumi-lang-yaml=\"`uninstall`\" pulumi-lang-java=\"`uninstall`\"\u003e`uninstall`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`install`\" pulumi-lang-dotnet=\"`Install`\" pulumi-lang-go=\"`install`\" pulumi-lang-python=\"`install`\" pulumi-lang-yaml=\"`install`\" pulumi-lang-java=\"`install`\"\u003e`install`\u003c/span\u003e. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"scopedResourceId":{"type":"string","description":"The ID of the Hybrid Compute Machine where this System Center Virtual Machine Manager Virtual Machine Instance Guest Agent is stored. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"username":{"type":"string","description":"The username that is used to connect to the System Center Virtual Machine Manager Virtual Machine Instance Guest Agent. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:systemcenter/virtualMachineManagerVirtualMachineTemplate:VirtualMachineManagerVirtualMachineTemplate":{"description":"Manages a System Center Virtual Machine Manager Virtual Machine Template.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleVirtualMachineManagerServer = new azure.systemcenter.VirtualMachineManagerServer(\"example\", {\n    name: \"example-scvmmms\",\n    resourceGroupName: exampleResourceGroup.name,\n    location: exampleResourceGroup.location,\n    customLocationId: \"/subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/resGroup1/providers/Microsoft.ExtendedLocation/customLocations/customLocation1\",\n    fqdn: \"example.labtest\",\n    username: \"testUser\",\n    password: \"H@Sh1CoR3!\",\n});\nconst example = azure.systemcenter.getVirtualMachineManagerInventoryItemsOutput({\n    inventoryType: \"VirtualMachineTemplate\",\n    systemCenterVirtualMachineManagerServerId: exampleVirtualMachineManagerServer.id,\n});\nconst exampleVirtualMachineManagerVirtualMachineTemplate = new azure.systemcenter.VirtualMachineManagerVirtualMachineTemplate(\"example\", {\n    name: \"example-scvmmvmtemplate\",\n    resourceGroupName: exampleResourceGroup.name,\n    location: exampleResourceGroup.location,\n    customLocationId: exampleVirtualMachineManagerServer.customLocationId,\n    systemCenterVirtualMachineManagerServerInventoryItemId: example.apply(example =\u003e example.inventoryItems?.[0]?.id),\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_virtual_machine_manager_server = azure.systemcenter.VirtualMachineManagerServer(\"example\",\n    name=\"example-scvmmms\",\n    resource_group_name=example_resource_group.name,\n    location=example_resource_group.location,\n    custom_location_id=\"/subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/resGroup1/providers/Microsoft.ExtendedLocation/customLocations/customLocation1\",\n    fqdn=\"example.labtest\",\n    username=\"testUser\",\n    password=\"H@Sh1CoR3!\")\nexample = azure.systemcenter.get_virtual_machine_manager_inventory_items_output(inventory_type=\"VirtualMachineTemplate\",\n    system_center_virtual_machine_manager_server_id=example_virtual_machine_manager_server.id)\nexample_virtual_machine_manager_virtual_machine_template = azure.systemcenter.VirtualMachineManagerVirtualMachineTemplate(\"example\",\n    name=\"example-scvmmvmtemplate\",\n    resource_group_name=example_resource_group.name,\n    location=example_resource_group.location,\n    custom_location_id=example_virtual_machine_manager_server.custom_location_id,\n    system_center_virtual_machine_manager_server_inventory_item_id=example.inventory_items[0].id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleResourceGroup = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleVirtualMachineManagerServer = new Azure.SystemCenter.VirtualMachineManagerServer(\"example\", new()\n    {\n        Name = \"example-scvmmms\",\n        ResourceGroupName = exampleResourceGroup.Name,\n        Location = exampleResourceGroup.Location,\n        CustomLocationId = \"/subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/resGroup1/providers/Microsoft.ExtendedLocation/customLocations/customLocation1\",\n        Fqdn = \"example.labtest\",\n        Username = \"testUser\",\n        Password = \"H@Sh1CoR3!\",\n    });\n\n    var example = Azure.SystemCenter.GetVirtualMachineManagerInventoryItems.Invoke(new()\n    {\n        InventoryType = \"VirtualMachineTemplate\",\n        SystemCenterVirtualMachineManagerServerId = exampleVirtualMachineManagerServer.Id,\n    });\n\n    var exampleVirtualMachineManagerVirtualMachineTemplate = new Azure.SystemCenter.VirtualMachineManagerVirtualMachineTemplate(\"example\", new()\n    {\n        Name = \"example-scvmmvmtemplate\",\n        ResourceGroupName = exampleResourceGroup.Name,\n        Location = exampleResourceGroup.Location,\n        CustomLocationId = exampleVirtualMachineManagerServer.CustomLocationId,\n        SystemCenterVirtualMachineManagerServerInventoryItemId = example.Apply(getVirtualMachineManagerInventoryItemsResult =\u003e getVirtualMachineManagerInventoryItemsResult.InventoryItems[0]?.Id),\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/systemcenter\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualMachineManagerServer, err := systemcenter.NewVirtualMachineManagerServer(ctx, \"example\", \u0026systemcenter.VirtualMachineManagerServerArgs{\n\t\t\tName:              pulumi.String(\"example-scvmmms\"),\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tLocation:          exampleResourceGroup.Location,\n\t\t\tCustomLocationId:  pulumi.String(\"/subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/resGroup1/providers/Microsoft.ExtendedLocation/customLocations/customLocation1\"),\n\t\t\tFqdn:              pulumi.String(\"example.labtest\"),\n\t\t\tUsername:          pulumi.String(\"testUser\"),\n\t\t\tPassword:          pulumi.String(\"H@Sh1CoR3!\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample := systemcenter.GetVirtualMachineManagerInventoryItemsOutput(ctx, systemcenter.GetVirtualMachineManagerInventoryItemsOutputArgs{\n\t\t\tInventoryType: pulumi.String(\"VirtualMachineTemplate\"),\n\t\t\tSystemCenterVirtualMachineManagerServerId: exampleVirtualMachineManagerServer.ID(),\n\t\t}, nil)\n\t\t_, err = systemcenter.NewVirtualMachineManagerVirtualMachineTemplate(ctx, \"example\", \u0026systemcenter.VirtualMachineManagerVirtualMachineTemplateArgs{\n\t\t\tName:              pulumi.String(\"example-scvmmvmtemplate\"),\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tLocation:          exampleResourceGroup.Location,\n\t\t\tCustomLocationId:  exampleVirtualMachineManagerServer.CustomLocationId,\n\t\t\tSystemCenterVirtualMachineManagerServerInventoryItemId: pulumi.String(example.ApplyT(func(example systemcenter.GetVirtualMachineManagerInventoryItemsResult) (*string, error) {\n\t\t\t\treturn \u0026example.InventoryItems[0].Id, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.systemcenter.VirtualMachineManagerServer;\nimport com.pulumi.azure.systemcenter.VirtualMachineManagerServerArgs;\nimport com.pulumi.azure.systemcenter.SystemcenterFunctions;\nimport com.pulumi.azure.systemcenter.inputs.GetVirtualMachineManagerInventoryItemsArgs;\nimport com.pulumi.azure.systemcenter.VirtualMachineManagerVirtualMachineTemplate;\nimport com.pulumi.azure.systemcenter.VirtualMachineManagerVirtualMachineTemplateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var exampleResourceGroup = new ResourceGroup(\"exampleResourceGroup\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleVirtualMachineManagerServer = new VirtualMachineManagerServer(\"exampleVirtualMachineManagerServer\", VirtualMachineManagerServerArgs.builder()\n            .name(\"example-scvmmms\")\n            .resourceGroupName(exampleResourceGroup.name())\n            .location(exampleResourceGroup.location())\n            .customLocationId(\"/subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/resGroup1/providers/Microsoft.ExtendedLocation/customLocations/customLocation1\")\n            .fqdn(\"example.labtest\")\n            .username(\"testUser\")\n            .password(\"H@Sh1CoR3!\")\n            .build());\n\n        final var example = SystemcenterFunctions.getVirtualMachineManagerInventoryItems(GetVirtualMachineManagerInventoryItemsArgs.builder()\n            .inventoryType(\"VirtualMachineTemplate\")\n            .systemCenterVirtualMachineManagerServerId(exampleVirtualMachineManagerServer.id())\n            .build());\n\n        var exampleVirtualMachineManagerVirtualMachineTemplate = new VirtualMachineManagerVirtualMachineTemplate(\"exampleVirtualMachineManagerVirtualMachineTemplate\", VirtualMachineManagerVirtualMachineTemplateArgs.builder()\n            .name(\"example-scvmmvmtemplate\")\n            .resourceGroupName(exampleResourceGroup.name())\n            .location(exampleResourceGroup.location())\n            .customLocationId(exampleVirtualMachineManagerServer.customLocationId())\n            .systemCenterVirtualMachineManagerServerInventoryItemId(example.applyValue(_example -\u003e _example.inventoryItems()[0].id()))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleResourceGroup:\n    type: azure:core:ResourceGroup\n    name: example\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleVirtualMachineManagerServer:\n    type: azure:systemcenter:VirtualMachineManagerServer\n    name: example\n    properties:\n      name: example-scvmmms\n      resourceGroupName: ${exampleResourceGroup.name}\n      location: ${exampleResourceGroup.location}\n      customLocationId: /subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/resGroup1/providers/Microsoft.ExtendedLocation/customLocations/customLocation1\n      fqdn: example.labtest\n      username: testUser\n      password: H@Sh1CoR3!\n  exampleVirtualMachineManagerVirtualMachineTemplate:\n    type: azure:systemcenter:VirtualMachineManagerVirtualMachineTemplate\n    name: example\n    properties:\n      name: example-scvmmvmtemplate\n      resourceGroupName: ${exampleResourceGroup.name}\n      location: ${exampleResourceGroup.location}\n      customLocationId: ${exampleVirtualMachineManagerServer.customLocationId}\n      systemCenterVirtualMachineManagerServerInventoryItemId: ${example.inventoryItems[0].id}\nvariables:\n  example:\n    fn::invoke:\n      function: azure:systemcenter:getVirtualMachineManagerInventoryItems\n      arguments:\n        inventoryType: VirtualMachineTemplate\n        systemCenterVirtualMachineManagerServerId: ${exampleVirtualMachineManagerServer.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.ScVmm` - 2023-10-07\n\n## Import\n\nSystem Center Virtual Machine Manager Virtual Machine Templates can be imported into Pulumi using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:systemcenter/virtualMachineManagerVirtualMachineTemplate:VirtualMachineManagerVirtualMachineTemplate example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup1/providers/Microsoft.ScVmm/virtualMachineTemplates/virtualMachineTemplate1\n```\n\n","properties":{"customLocationId":{"type":"string","description":"The ID of the Custom Location for the System Center Virtual Machine Manager Virtual Machine Template. Changing this forces a new resource to be created.\n"},"location":{"type":"string","description":"The Azure Region where the System Center Virtual Machine Manager Virtual Machine Template should exist. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"The name of the System Center Virtual Machine Manager Virtual Machine Template. Changing this forces a new resource to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the System Center Virtual Machine Manager Virtual Machine Template should exist. Changing this forces a new resource to be created.\n"},"systemCenterVirtualMachineManagerServerInventoryItemId":{"type":"string","description":"The ID of the System Center Virtual Machine Manager Server Inventory Item. Changing this forces a new resource to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the System Center Virtual Machine Manager Virtual Machine Template.\n"}},"required":["customLocationId","location","name","resourceGroupName","systemCenterVirtualMachineManagerServerInventoryItemId"],"inputProperties":{"customLocationId":{"type":"string","description":"The ID of the Custom Location for the System Center Virtual Machine Manager Virtual Machine Template. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"location":{"type":"string","description":"The Azure Region where the System Center Virtual Machine Manager Virtual Machine Template should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the System Center Virtual Machine Manager Virtual Machine Template. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the System Center Virtual Machine Manager Virtual Machine Template should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"systemCenterVirtualMachineManagerServerInventoryItemId":{"type":"string","description":"The ID of the System Center Virtual Machine Manager Server Inventory Item. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the System Center Virtual Machine Manager Virtual Machine Template.\n"}},"requiredInputs":["customLocationId","resourceGroupName","systemCenterVirtualMachineManagerServerInventoryItemId"],"stateInputs":{"description":"Input properties used for looking up and filtering VirtualMachineManagerVirtualMachineTemplate resources.\n","properties":{"customLocationId":{"type":"string","description":"The ID of the Custom Location for the System Center Virtual Machine Manager Virtual Machine Template. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"location":{"type":"string","description":"The Azure Region where the System Center Virtual Machine Manager Virtual Machine Template should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the System Center Virtual Machine Manager Virtual Machine Template. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the System Center Virtual Machine Manager Virtual Machine Template should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"systemCenterVirtualMachineManagerServerInventoryItemId":{"type":"string","description":"The ID of the System Center Virtual Machine Manager Server Inventory Item. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the System Center Virtual Machine Manager Virtual Machine Template.\n"}},"type":"object"}},"azure:systemcenter/virtualMachineManagerVirtualNetwork:VirtualMachineManagerVirtualNetwork":{"description":"Manages a System Center Virtual Machine Manager Virtual Network.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleVirtualMachineManagerServer = new azure.systemcenter.VirtualMachineManagerServer(\"example\", {\n    name: \"example-scvmmms\",\n    resourceGroupName: exampleResourceGroup.name,\n    location: exampleResourceGroup.location,\n    customLocationId: \"/subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/resGroup1/providers/Microsoft.ExtendedLocation/customLocations/customLocation1\",\n    fqdn: \"example.labtest\",\n    username: \"testUser\",\n    password: \"H@Sh1CoR3!\",\n});\nconst example = azure.systemcenter.getVirtualMachineManagerInventoryItemsOutput({\n    inventoryType: \"VirtualNetwork\",\n    systemCenterVirtualMachineManagerServerId: exampleVirtualMachineManagerServer.id,\n});\nconst exampleVirtualMachineManagerVirtualNetwork = new azure.systemcenter.VirtualMachineManagerVirtualNetwork(\"example\", {\n    name: \"example-scvmmvnet\",\n    resourceGroupName: exampleResourceGroup.name,\n    location: exampleResourceGroup.location,\n    customLocationId: exampleVirtualMachineManagerServer.customLocationId,\n    systemCenterVirtualMachineManagerServerInventoryItemId: example.apply(example =\u003e example.inventoryItems?.[0]?.id),\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_virtual_machine_manager_server = azure.systemcenter.VirtualMachineManagerServer(\"example\",\n    name=\"example-scvmmms\",\n    resource_group_name=example_resource_group.name,\n    location=example_resource_group.location,\n    custom_location_id=\"/subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/resGroup1/providers/Microsoft.ExtendedLocation/customLocations/customLocation1\",\n    fqdn=\"example.labtest\",\n    username=\"testUser\",\n    password=\"H@Sh1CoR3!\")\nexample = azure.systemcenter.get_virtual_machine_manager_inventory_items_output(inventory_type=\"VirtualNetwork\",\n    system_center_virtual_machine_manager_server_id=example_virtual_machine_manager_server.id)\nexample_virtual_machine_manager_virtual_network = azure.systemcenter.VirtualMachineManagerVirtualNetwork(\"example\",\n    name=\"example-scvmmvnet\",\n    resource_group_name=example_resource_group.name,\n    location=example_resource_group.location,\n    custom_location_id=example_virtual_machine_manager_server.custom_location_id,\n    system_center_virtual_machine_manager_server_inventory_item_id=example.inventory_items[0].id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleResourceGroup = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleVirtualMachineManagerServer = new Azure.SystemCenter.VirtualMachineManagerServer(\"example\", new()\n    {\n        Name = \"example-scvmmms\",\n        ResourceGroupName = exampleResourceGroup.Name,\n        Location = exampleResourceGroup.Location,\n        CustomLocationId = \"/subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/resGroup1/providers/Microsoft.ExtendedLocation/customLocations/customLocation1\",\n        Fqdn = \"example.labtest\",\n        Username = \"testUser\",\n        Password = \"H@Sh1CoR3!\",\n    });\n\n    var example = Azure.SystemCenter.GetVirtualMachineManagerInventoryItems.Invoke(new()\n    {\n        InventoryType = \"VirtualNetwork\",\n        SystemCenterVirtualMachineManagerServerId = exampleVirtualMachineManagerServer.Id,\n    });\n\n    var exampleVirtualMachineManagerVirtualNetwork = new Azure.SystemCenter.VirtualMachineManagerVirtualNetwork(\"example\", new()\n    {\n        Name = \"example-scvmmvnet\",\n        ResourceGroupName = exampleResourceGroup.Name,\n        Location = exampleResourceGroup.Location,\n        CustomLocationId = exampleVirtualMachineManagerServer.CustomLocationId,\n        SystemCenterVirtualMachineManagerServerInventoryItemId = example.Apply(getVirtualMachineManagerInventoryItemsResult =\u003e getVirtualMachineManagerInventoryItemsResult.InventoryItems[0]?.Id),\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/systemcenter\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualMachineManagerServer, err := systemcenter.NewVirtualMachineManagerServer(ctx, \"example\", \u0026systemcenter.VirtualMachineManagerServerArgs{\n\t\t\tName:              pulumi.String(\"example-scvmmms\"),\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tLocation:          exampleResourceGroup.Location,\n\t\t\tCustomLocationId:  pulumi.String(\"/subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/resGroup1/providers/Microsoft.ExtendedLocation/customLocations/customLocation1\"),\n\t\t\tFqdn:              pulumi.String(\"example.labtest\"),\n\t\t\tUsername:          pulumi.String(\"testUser\"),\n\t\t\tPassword:          pulumi.String(\"H@Sh1CoR3!\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample := systemcenter.GetVirtualMachineManagerInventoryItemsOutput(ctx, systemcenter.GetVirtualMachineManagerInventoryItemsOutputArgs{\n\t\t\tInventoryType: pulumi.String(\"VirtualNetwork\"),\n\t\t\tSystemCenterVirtualMachineManagerServerId: exampleVirtualMachineManagerServer.ID(),\n\t\t}, nil)\n\t\t_, err = systemcenter.NewVirtualMachineManagerVirtualNetwork(ctx, \"example\", \u0026systemcenter.VirtualMachineManagerVirtualNetworkArgs{\n\t\t\tName:              pulumi.String(\"example-scvmmvnet\"),\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tLocation:          exampleResourceGroup.Location,\n\t\t\tCustomLocationId:  exampleVirtualMachineManagerServer.CustomLocationId,\n\t\t\tSystemCenterVirtualMachineManagerServerInventoryItemId: pulumi.String(example.ApplyT(func(example systemcenter.GetVirtualMachineManagerInventoryItemsResult) (*string, error) {\n\t\t\t\treturn \u0026example.InventoryItems[0].Id, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.systemcenter.VirtualMachineManagerServer;\nimport com.pulumi.azure.systemcenter.VirtualMachineManagerServerArgs;\nimport com.pulumi.azure.systemcenter.SystemcenterFunctions;\nimport com.pulumi.azure.systemcenter.inputs.GetVirtualMachineManagerInventoryItemsArgs;\nimport com.pulumi.azure.systemcenter.VirtualMachineManagerVirtualNetwork;\nimport com.pulumi.azure.systemcenter.VirtualMachineManagerVirtualNetworkArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var exampleResourceGroup = new ResourceGroup(\"exampleResourceGroup\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleVirtualMachineManagerServer = new VirtualMachineManagerServer(\"exampleVirtualMachineManagerServer\", VirtualMachineManagerServerArgs.builder()\n            .name(\"example-scvmmms\")\n            .resourceGroupName(exampleResourceGroup.name())\n            .location(exampleResourceGroup.location())\n            .customLocationId(\"/subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/resGroup1/providers/Microsoft.ExtendedLocation/customLocations/customLocation1\")\n            .fqdn(\"example.labtest\")\n            .username(\"testUser\")\n            .password(\"H@Sh1CoR3!\")\n            .build());\n\n        final var example = SystemcenterFunctions.getVirtualMachineManagerInventoryItems(GetVirtualMachineManagerInventoryItemsArgs.builder()\n            .inventoryType(\"VirtualNetwork\")\n            .systemCenterVirtualMachineManagerServerId(exampleVirtualMachineManagerServer.id())\n            .build());\n\n        var exampleVirtualMachineManagerVirtualNetwork = new VirtualMachineManagerVirtualNetwork(\"exampleVirtualMachineManagerVirtualNetwork\", VirtualMachineManagerVirtualNetworkArgs.builder()\n            .name(\"example-scvmmvnet\")\n            .resourceGroupName(exampleResourceGroup.name())\n            .location(exampleResourceGroup.location())\n            .customLocationId(exampleVirtualMachineManagerServer.customLocationId())\n            .systemCenterVirtualMachineManagerServerInventoryItemId(example.applyValue(_example -\u003e _example.inventoryItems()[0].id()))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleResourceGroup:\n    type: azure:core:ResourceGroup\n    name: example\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleVirtualMachineManagerServer:\n    type: azure:systemcenter:VirtualMachineManagerServer\n    name: example\n    properties:\n      name: example-scvmmms\n      resourceGroupName: ${exampleResourceGroup.name}\n      location: ${exampleResourceGroup.location}\n      customLocationId: /subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/resGroup1/providers/Microsoft.ExtendedLocation/customLocations/customLocation1\n      fqdn: example.labtest\n      username: testUser\n      password: H@Sh1CoR3!\n  exampleVirtualMachineManagerVirtualNetwork:\n    type: azure:systemcenter:VirtualMachineManagerVirtualNetwork\n    name: example\n    properties:\n      name: example-scvmmvnet\n      resourceGroupName: ${exampleResourceGroup.name}\n      location: ${exampleResourceGroup.location}\n      customLocationId: ${exampleVirtualMachineManagerServer.customLocationId}\n      systemCenterVirtualMachineManagerServerInventoryItemId: ${example.inventoryItems[0].id}\nvariables:\n  example:\n    fn::invoke:\n      function: azure:systemcenter:getVirtualMachineManagerInventoryItems\n      arguments:\n        inventoryType: VirtualNetwork\n        systemCenterVirtualMachineManagerServerId: ${exampleVirtualMachineManagerServer.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.ScVmm` - 2023-10-07\n\n## Import\n\nSystem Center Virtual Machine Manager Virtual Networks can be imported into Pulumi using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:systemcenter/virtualMachineManagerVirtualNetwork:VirtualMachineManagerVirtualNetwork example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup1/providers/Microsoft.ScVmm/virtualNetworks/virtualNetwork1\n```\n\n","properties":{"customLocationId":{"type":"string","description":"The ID of the Custom Location for the System Center Virtual Machine Manager Virtual Network. Changing this forces a new resource to be created.\n"},"location":{"type":"string","description":"The Azure Region where the System Center Virtual Machine Manager Virtual Network should exist. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"The name of the System Center Virtual Machine Manager Virtual Network. Changing this forces a new resource to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the System Center Virtual Machine Virtual Network should exist. Changing this forces a new resource to be created.\n"},"systemCenterVirtualMachineManagerServerInventoryItemId":{"type":"string","description":"The ID of the System Center Virtual Machine Manager Server Inventory Item. Changing this forces a new resource to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the System Center Virtual Machine Manager Virtual Network.\n"}},"required":["customLocationId","location","name","resourceGroupName","systemCenterVirtualMachineManagerServerInventoryItemId"],"inputProperties":{"customLocationId":{"type":"string","description":"The ID of the Custom Location for the System Center Virtual Machine Manager Virtual Network. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"location":{"type":"string","description":"The Azure Region where the System Center Virtual Machine Manager Virtual Network should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the System Center Virtual Machine Manager Virtual Network. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the System Center Virtual Machine Virtual Network should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"systemCenterVirtualMachineManagerServerInventoryItemId":{"type":"string","description":"The ID of the System Center Virtual Machine Manager Server Inventory Item. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the System Center Virtual Machine Manager Virtual Network.\n"}},"requiredInputs":["customLocationId","resourceGroupName","systemCenterVirtualMachineManagerServerInventoryItemId"],"stateInputs":{"description":"Input properties used for looking up and filtering VirtualMachineManagerVirtualNetwork resources.\n","properties":{"customLocationId":{"type":"string","description":"The ID of the Custom Location for the System Center Virtual Machine Manager Virtual Network. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"location":{"type":"string","description":"The Azure Region where the System Center Virtual Machine Manager Virtual Network should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the System Center Virtual Machine Manager Virtual Network. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the System Center Virtual Machine Virtual Network should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"systemCenterVirtualMachineManagerServerInventoryItemId":{"type":"string","description":"The ID of the System Center Virtual Machine Manager Server Inventory Item. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the System Center Virtual Machine Manager Virtual Network.\n"}},"type":"object"}},"azure:trafficmanager/profile:Profile":{"description":"Manages a Traffic Manager Profile to which multiple endpoints can be attached.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\nimport * as random from \"@pulumi/random\";\n\nconst server = new random.index.Id(\"server\", {\n    keepers: {\n        aziId: 1,\n    },\n    byteLength: 8,\n});\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"trafficmanagerProfile\",\n    location: \"West Europe\",\n});\nconst exampleTrafficManagerProfile = new azure.network.TrafficManagerProfile(\"example\", {\n    name: server.hex,\n    resourceGroupName: example.name,\n    trafficRoutingMethod: \"Weighted\",\n    dnsConfig: {\n        relativeName: server.hex,\n        ttl: 100,\n    },\n    monitorConfig: {\n        protocol: \"HTTP\",\n        port: 80,\n        path: \"/\",\n        intervalInSeconds: 30,\n        timeoutInSeconds: 9,\n        toleratedNumberOfFailures: 3,\n    },\n    tags: {\n        environment: \"Production\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\nimport pulumi_random as random\n\nserver = random.index.Id(\"server\",\n    keepers={\n        aziId: 1,\n    },\n    byte_length=8)\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"trafficmanagerProfile\",\n    location=\"West Europe\")\nexample_traffic_manager_profile = azure.network.TrafficManagerProfile(\"example\",\n    name=server[\"hex\"],\n    resource_group_name=example.name,\n    traffic_routing_method=\"Weighted\",\n    dns_config={\n        \"relative_name\": server[\"hex\"],\n        \"ttl\": 100,\n    },\n    monitor_config={\n        \"protocol\": \"HTTP\",\n        \"port\": 80,\n        \"path\": \"/\",\n        \"interval_in_seconds\": 30,\n        \"timeout_in_seconds\": 9,\n        \"tolerated_number_of_failures\": 3,\n    },\n    tags={\n        \"environment\": \"Production\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var server = new Random.Index.Id(\"server\", new()\n    {\n        Keepers = \n        {\n            { \"aziId\", 1 },\n        },\n        ByteLength = 8,\n    });\n\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"trafficmanagerProfile\",\n        Location = \"West Europe\",\n    });\n\n    var exampleTrafficManagerProfile = new Azure.Network.TrafficManagerProfile(\"example\", new()\n    {\n        Name = server.Hex,\n        ResourceGroupName = example.Name,\n        TrafficRoutingMethod = \"Weighted\",\n        DnsConfig = new Azure.Network.Inputs.TrafficManagerProfileDnsConfigArgs\n        {\n            RelativeName = server.Hex,\n            Ttl = 100,\n        },\n        MonitorConfig = new Azure.Network.Inputs.TrafficManagerProfileMonitorConfigArgs\n        {\n            Protocol = \"HTTP\",\n            Port = 80,\n            Path = \"/\",\n            IntervalInSeconds = 30,\n            TimeoutInSeconds = 9,\n            ToleratedNumberOfFailures = 3,\n        },\n        Tags = \n        {\n            { \"environment\", \"Production\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tserver, err := random.NewId(ctx, \"server\", \u0026random.IdArgs{\n\t\t\tKeepers: map[string]interface{}{\n\t\t\t\t\"aziId\": 1,\n\t\t\t},\n\t\t\tByteLength: 8,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"trafficmanagerProfile\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = network.NewTrafficManagerProfile(ctx, \"example\", \u0026network.TrafficManagerProfileArgs{\n\t\t\tName:                 server.Hex,\n\t\t\tResourceGroupName:    example.Name,\n\t\t\tTrafficRoutingMethod: pulumi.String(\"Weighted\"),\n\t\t\tDnsConfig: \u0026network.TrafficManagerProfileDnsConfigArgs{\n\t\t\t\tRelativeName: server.Hex,\n\t\t\t\tTtl:          pulumi.Int(100),\n\t\t\t},\n\t\t\tMonitorConfig: \u0026network.TrafficManagerProfileMonitorConfigArgs{\n\t\t\t\tProtocol:                  pulumi.String(\"HTTP\"),\n\t\t\t\tPort:                      pulumi.Int(80),\n\t\t\t\tPath:                      pulumi.String(\"/\"),\n\t\t\t\tIntervalInSeconds:         pulumi.Int(30),\n\t\t\t\tTimeoutInSeconds:          pulumi.Int(9),\n\t\t\t\tToleratedNumberOfFailures: pulumi.Int(3),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"environment\": pulumi.String(\"Production\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.random.Id;\nimport com.pulumi.random.IdArgs;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.TrafficManagerProfile;\nimport com.pulumi.azure.network.TrafficManagerProfileArgs;\nimport com.pulumi.azure.network.inputs.TrafficManagerProfileDnsConfigArgs;\nimport com.pulumi.azure.network.inputs.TrafficManagerProfileMonitorConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var server = new Id(\"server\", IdArgs.builder()\n            .keepers(Map.of(\"aziId\", 1))\n            .byteLength(8)\n            .build());\n\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"trafficmanagerProfile\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleTrafficManagerProfile = new TrafficManagerProfile(\"exampleTrafficManagerProfile\", TrafficManagerProfileArgs.builder()\n            .name(server.hex())\n            .resourceGroupName(example.name())\n            .trafficRoutingMethod(\"Weighted\")\n            .dnsConfig(TrafficManagerProfileDnsConfigArgs.builder()\n                .relativeName(server.hex())\n                .ttl(100)\n                .build())\n            .monitorConfig(TrafficManagerProfileMonitorConfigArgs.builder()\n                .protocol(\"HTTP\")\n                .port(80)\n                .path(\"/\")\n                .intervalInSeconds(30)\n                .timeoutInSeconds(9)\n                .toleratedNumberOfFailures(3)\n                .build())\n            .tags(Map.of(\"environment\", \"Production\"))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  server:\n    type: random:Id\n    properties:\n      keepers:\n        aziId: 1\n      byteLength: 8\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: trafficmanagerProfile\n      location: West Europe\n  exampleTrafficManagerProfile:\n    type: azure:network:TrafficManagerProfile\n    name: example\n    properties:\n      name: ${server.hex}\n      resourceGroupName: ${example.name}\n      trafficRoutingMethod: Weighted\n      dnsConfig:\n        relativeName: ${server.hex}\n        ttl: 100\n      monitorConfig:\n        protocol: HTTP\n        port: 80\n        path: /\n        intervalInSeconds: 30\n        timeoutInSeconds: 9\n        toleratedNumberOfFailures: 3\n      tags:\n        environment: Production\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2022-04-01\n\n## Import\n\nTraffic Manager Profiles can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:trafficmanager/profile:Profile exampleProfile /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Network/trafficManagerProfiles/mytrafficmanagerprofile1\n```\n\n","properties":{"dnsConfig":{"$ref":"#/types/azure:trafficmanager/ProfileDnsConfig:ProfileDnsConfig","description":"This block specifies the DNS configuration of the Profile. One \u003cspan pulumi-lang-nodejs=\"`dnsConfig`\" pulumi-lang-dotnet=\"`DnsConfig`\" pulumi-lang-go=\"`dnsConfig`\" pulumi-lang-python=\"`dns_config`\" pulumi-lang-yaml=\"`dnsConfig`\" pulumi-lang-java=\"`dnsConfig`\"\u003e`dns_config`\u003c/span\u003e block as defined below.\n"},"fqdn":{"type":"string","description":"The FQDN of the created Profile.\n"},"maxReturn":{"type":"integer","description":"The amount of endpoints to return for DNS queries to this Profile. Possible values range from \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`8`\" pulumi-lang-dotnet=\"`8`\" pulumi-lang-go=\"`8`\" pulumi-lang-python=\"`8`\" pulumi-lang-yaml=\"`8`\" pulumi-lang-java=\"`8`\"\u003e`8`\u003c/span\u003e.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`maxReturn`\" pulumi-lang-dotnet=\"`MaxReturn`\" pulumi-lang-go=\"`maxReturn`\" pulumi-lang-python=\"`max_return`\" pulumi-lang-yaml=\"`maxReturn`\" pulumi-lang-java=\"`maxReturn`\"\u003e`max_return`\u003c/span\u003e must be set when the \u003cspan pulumi-lang-nodejs=\"`trafficRoutingMethod`\" pulumi-lang-dotnet=\"`TrafficRoutingMethod`\" pulumi-lang-go=\"`trafficRoutingMethod`\" pulumi-lang-python=\"`traffic_routing_method`\" pulumi-lang-yaml=\"`trafficRoutingMethod`\" pulumi-lang-java=\"`trafficRoutingMethod`\"\u003e`traffic_routing_method`\u003c/span\u003e is `MultiValue`.\n"},"monitorConfig":{"$ref":"#/types/azure:trafficmanager/ProfileMonitorConfig:ProfileMonitorConfig","description":"This block specifies the Endpoint monitoring configuration for the Profile. One \u003cspan pulumi-lang-nodejs=\"`monitorConfig`\" pulumi-lang-dotnet=\"`MonitorConfig`\" pulumi-lang-go=\"`monitorConfig`\" pulumi-lang-python=\"`monitor_config`\" pulumi-lang-yaml=\"`monitorConfig`\" pulumi-lang-java=\"`monitorConfig`\"\u003e`monitor_config`\u003c/span\u003e block as defined below.\n"},"name":{"type":"string","description":"The name of the Traffic Manager profile. Changing this forces a new resource to be created.\n"},"profileStatus":{"type":"string","description":"The status of the profile, can be set to either `Enabled` or `Disabled`. Defaults to `Enabled`.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the Traffic Manager profile. Changing this forces a new resource to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"trafficRoutingMethod":{"type":"string","description":"Specifies the algorithm used to route traffic. Possible values are `Geographic`, `Weighted`, `Performance`, `Priority`, `Subnet` and `MultiValue`.\n* `Geographic` - Traffic is routed based on Geographic regions specified in the Endpoint.\n* `MultiValue` - All healthy Endpoints are returned.  MultiValue routing method works only if all the endpoints of type `External` and are specified as IPv4 or IPv6 addresses.\n* `Performance` - Traffic is routed via the User's closest Endpoint\n* `Priority` - Traffic is routed to the Endpoint with the lowest \u003cspan pulumi-lang-nodejs=\"`priority`\" pulumi-lang-dotnet=\"`Priority`\" pulumi-lang-go=\"`priority`\" pulumi-lang-python=\"`priority`\" pulumi-lang-yaml=\"`priority`\" pulumi-lang-java=\"`priority`\"\u003e`priority`\u003c/span\u003e value.\n* `Subnet` - Traffic is routed based on a mapping of sets of end-user IP address ranges to a specific Endpoint within a Traffic Manager profile.\n* `Weighted` - Traffic is spread across Endpoints proportional to their \u003cspan pulumi-lang-nodejs=\"`weight`\" pulumi-lang-dotnet=\"`Weight`\" pulumi-lang-go=\"`weight`\" pulumi-lang-python=\"`weight`\" pulumi-lang-yaml=\"`weight`\" pulumi-lang-java=\"`weight`\"\u003e`weight`\u003c/span\u003e value.\n"},"trafficViewEnabled":{"type":"boolean","description":"Indicates whether Traffic View is enabled for the Traffic Manager profile.\n"}},"required":["dnsConfig","fqdn","monitorConfig","name","resourceGroupName","trafficRoutingMethod"],"inputProperties":{"dnsConfig":{"$ref":"#/types/azure:trafficmanager/ProfileDnsConfig:ProfileDnsConfig","description":"This block specifies the DNS configuration of the Profile. One \u003cspan pulumi-lang-nodejs=\"`dnsConfig`\" pulumi-lang-dotnet=\"`DnsConfig`\" pulumi-lang-go=\"`dnsConfig`\" pulumi-lang-python=\"`dns_config`\" pulumi-lang-yaml=\"`dnsConfig`\" pulumi-lang-java=\"`dnsConfig`\"\u003e`dns_config`\u003c/span\u003e block as defined below.\n"},"maxReturn":{"type":"integer","description":"The amount of endpoints to return for DNS queries to this Profile. Possible values range from \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`8`\" pulumi-lang-dotnet=\"`8`\" pulumi-lang-go=\"`8`\" pulumi-lang-python=\"`8`\" pulumi-lang-yaml=\"`8`\" pulumi-lang-java=\"`8`\"\u003e`8`\u003c/span\u003e.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`maxReturn`\" pulumi-lang-dotnet=\"`MaxReturn`\" pulumi-lang-go=\"`maxReturn`\" pulumi-lang-python=\"`max_return`\" pulumi-lang-yaml=\"`maxReturn`\" pulumi-lang-java=\"`maxReturn`\"\u003e`max_return`\u003c/span\u003e must be set when the \u003cspan pulumi-lang-nodejs=\"`trafficRoutingMethod`\" pulumi-lang-dotnet=\"`TrafficRoutingMethod`\" pulumi-lang-go=\"`trafficRoutingMethod`\" pulumi-lang-python=\"`traffic_routing_method`\" pulumi-lang-yaml=\"`trafficRoutingMethod`\" pulumi-lang-java=\"`trafficRoutingMethod`\"\u003e`traffic_routing_method`\u003c/span\u003e is `MultiValue`.\n"},"monitorConfig":{"$ref":"#/types/azure:trafficmanager/ProfileMonitorConfig:ProfileMonitorConfig","description":"This block specifies the Endpoint monitoring configuration for the Profile. One \u003cspan pulumi-lang-nodejs=\"`monitorConfig`\" pulumi-lang-dotnet=\"`MonitorConfig`\" pulumi-lang-go=\"`monitorConfig`\" pulumi-lang-python=\"`monitor_config`\" pulumi-lang-yaml=\"`monitorConfig`\" pulumi-lang-java=\"`monitorConfig`\"\u003e`monitor_config`\u003c/span\u003e block as defined below.\n"},"name":{"type":"string","description":"The name of the Traffic Manager profile. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"profileStatus":{"type":"string","description":"The status of the profile, can be set to either `Enabled` or `Disabled`. Defaults to `Enabled`.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the Traffic Manager profile. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"trafficRoutingMethod":{"type":"string","description":"Specifies the algorithm used to route traffic. Possible values are `Geographic`, `Weighted`, `Performance`, `Priority`, `Subnet` and `MultiValue`.\n* `Geographic` - Traffic is routed based on Geographic regions specified in the Endpoint.\n* `MultiValue` - All healthy Endpoints are returned.  MultiValue routing method works only if all the endpoints of type `External` and are specified as IPv4 or IPv6 addresses.\n* `Performance` - Traffic is routed via the User's closest Endpoint\n* `Priority` - Traffic is routed to the Endpoint with the lowest \u003cspan pulumi-lang-nodejs=\"`priority`\" pulumi-lang-dotnet=\"`Priority`\" pulumi-lang-go=\"`priority`\" pulumi-lang-python=\"`priority`\" pulumi-lang-yaml=\"`priority`\" pulumi-lang-java=\"`priority`\"\u003e`priority`\u003c/span\u003e value.\n* `Subnet` - Traffic is routed based on a mapping of sets of end-user IP address ranges to a specific Endpoint within a Traffic Manager profile.\n* `Weighted` - Traffic is spread across Endpoints proportional to their \u003cspan pulumi-lang-nodejs=\"`weight`\" pulumi-lang-dotnet=\"`Weight`\" pulumi-lang-go=\"`weight`\" pulumi-lang-python=\"`weight`\" pulumi-lang-yaml=\"`weight`\" pulumi-lang-java=\"`weight`\"\u003e`weight`\u003c/span\u003e value.\n"},"trafficViewEnabled":{"type":"boolean","description":"Indicates whether Traffic View is enabled for the Traffic Manager profile.\n"}},"requiredInputs":["dnsConfig","monitorConfig","resourceGroupName","trafficRoutingMethod"],"stateInputs":{"description":"Input properties used for looking up and filtering Profile resources.\n","properties":{"dnsConfig":{"$ref":"#/types/azure:trafficmanager/ProfileDnsConfig:ProfileDnsConfig","description":"This block specifies the DNS configuration of the Profile. One \u003cspan pulumi-lang-nodejs=\"`dnsConfig`\" pulumi-lang-dotnet=\"`DnsConfig`\" pulumi-lang-go=\"`dnsConfig`\" pulumi-lang-python=\"`dns_config`\" pulumi-lang-yaml=\"`dnsConfig`\" pulumi-lang-java=\"`dnsConfig`\"\u003e`dns_config`\u003c/span\u003e block as defined below.\n"},"fqdn":{"type":"string","description":"The FQDN of the created Profile.\n"},"maxReturn":{"type":"integer","description":"The amount of endpoints to return for DNS queries to this Profile. Possible values range from \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`8`\" pulumi-lang-dotnet=\"`8`\" pulumi-lang-go=\"`8`\" pulumi-lang-python=\"`8`\" pulumi-lang-yaml=\"`8`\" pulumi-lang-java=\"`8`\"\u003e`8`\u003c/span\u003e.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`maxReturn`\" pulumi-lang-dotnet=\"`MaxReturn`\" pulumi-lang-go=\"`maxReturn`\" pulumi-lang-python=\"`max_return`\" pulumi-lang-yaml=\"`maxReturn`\" pulumi-lang-java=\"`maxReturn`\"\u003e`max_return`\u003c/span\u003e must be set when the \u003cspan pulumi-lang-nodejs=\"`trafficRoutingMethod`\" pulumi-lang-dotnet=\"`TrafficRoutingMethod`\" pulumi-lang-go=\"`trafficRoutingMethod`\" pulumi-lang-python=\"`traffic_routing_method`\" pulumi-lang-yaml=\"`trafficRoutingMethod`\" pulumi-lang-java=\"`trafficRoutingMethod`\"\u003e`traffic_routing_method`\u003c/span\u003e is `MultiValue`.\n"},"monitorConfig":{"$ref":"#/types/azure:trafficmanager/ProfileMonitorConfig:ProfileMonitorConfig","description":"This block specifies the Endpoint monitoring configuration for the Profile. One \u003cspan pulumi-lang-nodejs=\"`monitorConfig`\" pulumi-lang-dotnet=\"`MonitorConfig`\" pulumi-lang-go=\"`monitorConfig`\" pulumi-lang-python=\"`monitor_config`\" pulumi-lang-yaml=\"`monitorConfig`\" pulumi-lang-java=\"`monitorConfig`\"\u003e`monitor_config`\u003c/span\u003e block as defined below.\n"},"name":{"type":"string","description":"The name of the Traffic Manager profile. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"profileStatus":{"type":"string","description":"The status of the profile, can be set to either `Enabled` or `Disabled`. Defaults to `Enabled`.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the Traffic Manager profile. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"trafficRoutingMethod":{"type":"string","description":"Specifies the algorithm used to route traffic. Possible values are `Geographic`, `Weighted`, `Performance`, `Priority`, `Subnet` and `MultiValue`.\n* `Geographic` - Traffic is routed based on Geographic regions specified in the Endpoint.\n* `MultiValue` - All healthy Endpoints are returned.  MultiValue routing method works only if all the endpoints of type `External` and are specified as IPv4 or IPv6 addresses.\n* `Performance` - Traffic is routed via the User's closest Endpoint\n* `Priority` - Traffic is routed to the Endpoint with the lowest \u003cspan pulumi-lang-nodejs=\"`priority`\" pulumi-lang-dotnet=\"`Priority`\" pulumi-lang-go=\"`priority`\" pulumi-lang-python=\"`priority`\" pulumi-lang-yaml=\"`priority`\" pulumi-lang-java=\"`priority`\"\u003e`priority`\u003c/span\u003e value.\n* `Subnet` - Traffic is routed based on a mapping of sets of end-user IP address ranges to a specific Endpoint within a Traffic Manager profile.\n* `Weighted` - Traffic is spread across Endpoints proportional to their \u003cspan pulumi-lang-nodejs=\"`weight`\" pulumi-lang-dotnet=\"`Weight`\" pulumi-lang-go=\"`weight`\" pulumi-lang-python=\"`weight`\" pulumi-lang-yaml=\"`weight`\" pulumi-lang-java=\"`weight`\"\u003e`weight`\u003c/span\u003e value.\n"},"trafficViewEnabled":{"type":"boolean","description":"Indicates whether Traffic View is enabled for the Traffic Manager profile.\n"}},"type":"object"},"deprecationMessage":"azure.trafficmanager.Profile has been deprecated in favor of azure.network.TrafficManagerProfile"},"azure:trustedsigning/account:Account":{"description":"Manages a Trusted Signing Account.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example\",\n    location: \"West Europe\",\n});\nconst exampleAccount = new azure.trustedsigning.Account(\"example\", {\n    name: \"example-account\",\n    resourceGroupName: example.name,\n    location: \"West Europe\",\n    skuName: \"Basic\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example\",\n    location=\"West Europe\")\nexample_account = azure.trustedsigning.Account(\"example\",\n    name=\"example-account\",\n    resource_group_name=example.name,\n    location=\"West Europe\",\n    sku_name=\"Basic\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example\",\n        Location = \"West Europe\",\n    });\n\n    var exampleAccount = new Azure.TrustedSigning.Account(\"example\", new()\n    {\n        Name = \"example-account\",\n        ResourceGroupName = example.Name,\n        Location = \"West Europe\",\n        SkuName = \"Basic\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/trustedsigning\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = trustedsigning.NewAccount(ctx, \"example\", \u0026trustedsigning.AccountArgs{\n\t\t\tName:              pulumi.String(\"example-account\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          pulumi.String(\"West Europe\"),\n\t\t\tSkuName:           pulumi.String(\"Basic\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.trustedsigning.Account;\nimport com.pulumi.azure.trustedsigning.AccountArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"example-account\")\n            .resourceGroupName(example.name())\n            .location(\"West Europe\")\n            .skuName(\"Basic\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example\n      location: West Europe\n  exampleAccount:\n    type: azure:trustedsigning:Account\n    name: example\n    properties:\n      name: example-account\n      resourceGroupName: ${example.name}\n      location: West Europe\n      skuName: Basic\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.CodeSigning` - 2024-09-30-preview\n\n## Import\n\nTrusted Signing Accounts can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:trustedsigning/account:Account example /subscriptions/0000000-0000-0000-0000-000000000000/resourceGroups/example-rg/providers/Microsoft.CodeSigning/codeSigningAccounts/example-account\n```\n\n","properties":{"accountUri":{"type":"string","description":"The URI of the Trusted Signing Account which is used during signing files.\n"},"location":{"type":"string","description":"The Azure Region where the Trusted Signing Account should exist. Changing this forces a new Trusted Signing Account to be created.\n"},"name":{"type":"string","description":"The name which should be used for this Trusted Signing Account. Changing this forces a new Trusted Signing Account to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Trusted Signing Account should exist. Changing this forces a new Trusted Signing Account to be created.\n"},"skuName":{"type":"string","description":"The sku name of this Trusted Signing Account. Possible values are `Basic` and `Premium`.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Trusted Signing Account.\n"}},"required":["accountUri","location","name","resourceGroupName","skuName"],"inputProperties":{"location":{"type":"string","description":"The Azure Region where the Trusted Signing Account should exist. Changing this forces a new Trusted Signing Account to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Trusted Signing Account. Changing this forces a new Trusted Signing Account to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Trusted Signing Account should exist. Changing this forces a new Trusted Signing Account to be created.\n","willReplaceOnChanges":true},"skuName":{"type":"string","description":"The sku name of this Trusted Signing Account. Possible values are `Basic` and `Premium`.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Trusted Signing Account.\n"}},"requiredInputs":["resourceGroupName","skuName"],"stateInputs":{"description":"Input properties used for looking up and filtering Account resources.\n","properties":{"accountUri":{"type":"string","description":"The URI of the Trusted Signing Account which is used during signing files.\n"},"location":{"type":"string","description":"The Azure Region where the Trusted Signing Account should exist. Changing this forces a new Trusted Signing Account to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Trusted Signing Account. Changing this forces a new Trusted Signing Account to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Trusted Signing Account should exist. Changing this forces a new Trusted Signing Account to be created.\n","willReplaceOnChanges":true},"skuName":{"type":"string","description":"The sku name of this Trusted Signing Account. Possible values are `Basic` and `Premium`.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Trusted Signing Account.\n"}},"type":"object"}},"azure:videoindexer/account:Account":{"description":"Manages a Video Indexer Account\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example\",\n    location: \"West Europe\",\n});\nconst exampleAccount = new azure.storage.Account(\"example\", {\n    name: \"example\",\n    resourceGroupName: example.name,\n    location: example.location,\n    accountTier: \"Standard\",\n    accountReplicationType: \"LRS\",\n});\nconst exampleAccount2 = new azure.videoindexer.Account(\"example\", {\n    name: \"example\",\n    resourceGroupName: example.name,\n    location: \"West Europe\",\n    storage: {\n        storageAccountId: exampleAccount.id,\n    },\n    identity: {\n        type: \"SystemAssigned\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example\",\n    location=\"West Europe\")\nexample_account = azure.storage.Account(\"example\",\n    name=\"example\",\n    resource_group_name=example.name,\n    location=example.location,\n    account_tier=\"Standard\",\n    account_replication_type=\"LRS\")\nexample_account2 = azure.videoindexer.Account(\"example\",\n    name=\"example\",\n    resource_group_name=example.name,\n    location=\"West Europe\",\n    storage={\n        \"storage_account_id\": example_account.id,\n    },\n    identity={\n        \"type\": \"SystemAssigned\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example\",\n        Location = \"West Europe\",\n    });\n\n    var exampleAccount = new Azure.Storage.Account(\"example\", new()\n    {\n        Name = \"example\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        AccountTier = \"Standard\",\n        AccountReplicationType = \"LRS\",\n    });\n\n    var exampleAccount2 = new Azure.VideoIndexer.Account(\"example\", new()\n    {\n        Name = \"example\",\n        ResourceGroupName = example.Name,\n        Location = \"West Europe\",\n        Storage = new Azure.VideoIndexer.Inputs.AccountStorageArgs\n        {\n            StorageAccountId = exampleAccount.Id,\n        },\n        Identity = new Azure.VideoIndexer.Inputs.AccountIdentityArgs\n        {\n            Type = \"SystemAssigned\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/videoindexer\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := storage.NewAccount(ctx, \"example\", \u0026storage.AccountArgs{\n\t\t\tName:                   pulumi.String(\"example\"),\n\t\t\tResourceGroupName:      example.Name,\n\t\t\tLocation:               example.Location,\n\t\t\tAccountTier:            pulumi.String(\"Standard\"),\n\t\t\tAccountReplicationType: pulumi.String(\"LRS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = videoindexer.NewAccount(ctx, \"example\", \u0026videoindexer.AccountArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          pulumi.String(\"West Europe\"),\n\t\t\tStorage: \u0026videoindexer.AccountStorageArgs{\n\t\t\t\tStorageAccountId: exampleAccount.ID(),\n\t\t\t},\n\t\t\tIdentity: \u0026videoindexer.AccountIdentityArgs{\n\t\t\t\tType: pulumi.String(\"SystemAssigned\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.videoindexer.inputs.AccountStorageArgs;\nimport com.pulumi.azure.videoindexer.inputs.AccountIdentityArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleAccount = new com.pulumi.azure.storage.Account(\"exampleAccount\", com.pulumi.azure.storage.AccountArgs.builder()\n            .name(\"example\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .accountTier(\"Standard\")\n            .accountReplicationType(\"LRS\")\n            .build());\n\n        var exampleAccount2 = new com.pulumi.azure.videoindexer.Account(\"exampleAccount2\", com.pulumi.azure.videoindexer.AccountArgs.builder()\n            .name(\"example\")\n            .resourceGroupName(example.name())\n            .location(\"West Europe\")\n            .storage(AccountStorageArgs.builder()\n                .storageAccountId(exampleAccount.id())\n                .build())\n            .identity(AccountIdentityArgs.builder()\n                .type(\"SystemAssigned\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example\n      location: West Europe\n  exampleAccount:\n    type: azure:storage:Account\n    name: example\n    properties:\n      name: example\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      accountTier: Standard\n      accountReplicationType: LRS\n  exampleAccount2:\n    type: azure:videoindexer:Account\n    name: example\n    properties:\n      name: example\n      resourceGroupName: ${example.name}\n      location: West Europe\n      storage:\n        storageAccountId: ${exampleAccount.id}\n      identity:\n        type: SystemAssigned\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.VideoIndexer` - 2025-04-01\n\n## Import\n\nVideo Indexer Accounts can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:videoindexer/account:Account example /subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/example-resource-group/providers/Microsoft.VideoIndexer/accounts/example-account-name\n```\n\n","properties":{"identity":{"$ref":"#/types/azure:videoindexer/AccountIdentity:AccountIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"location":{"type":"string","description":"The Azure location where the Video Indexer Account exists. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"The name of the Video Indexer Account. Changing the name forces a new resource to be created.\n"},"publicNetworkAccess":{"type":"string","description":"The public network access for the Video Indexer Account. Possible values are `Enabled` and `Disabled`. Defaults to `Enabled`.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group that the Video Indexer Account will be associated with. Changing the name forces a new resource to be created.\n"},"storage":{"$ref":"#/types/azure:videoindexer/AccountStorage:AccountStorage","description":"A \u003cspan pulumi-lang-nodejs=\"`storage`\" pulumi-lang-dotnet=\"`Storage`\" pulumi-lang-go=\"`storage`\" pulumi-lang-python=\"`storage`\" pulumi-lang-yaml=\"`storage`\" pulumi-lang-java=\"`storage`\"\u003e`storage`\u003c/span\u003e block as defined below.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"required":["identity","location","name","resourceGroupName","storage"],"inputProperties":{"identity":{"$ref":"#/types/azure:videoindexer/AccountIdentity:AccountIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"location":{"type":"string","description":"The Azure location where the Video Indexer Account exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the Video Indexer Account. Changing the name forces a new resource to be created.\n","willReplaceOnChanges":true},"publicNetworkAccess":{"type":"string","description":"The public network access for the Video Indexer Account. Possible values are `Enabled` and `Disabled`. Defaults to `Enabled`.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group that the Video Indexer Account will be associated with. Changing the name forces a new resource to be created.\n","willReplaceOnChanges":true},"storage":{"$ref":"#/types/azure:videoindexer/AccountStorage:AccountStorage","description":"A \u003cspan pulumi-lang-nodejs=\"`storage`\" pulumi-lang-dotnet=\"`Storage`\" pulumi-lang-go=\"`storage`\" pulumi-lang-python=\"`storage`\" pulumi-lang-yaml=\"`storage`\" pulumi-lang-java=\"`storage`\"\u003e`storage`\u003c/span\u003e block as defined below.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"requiredInputs":["identity","resourceGroupName","storage"],"stateInputs":{"description":"Input properties used for looking up and filtering Account resources.\n","properties":{"identity":{"$ref":"#/types/azure:videoindexer/AccountIdentity:AccountIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"location":{"type":"string","description":"The Azure location where the Video Indexer Account exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the Video Indexer Account. Changing the name forces a new resource to be created.\n","willReplaceOnChanges":true},"publicNetworkAccess":{"type":"string","description":"The public network access for the Video Indexer Account. Possible values are `Enabled` and `Disabled`. Defaults to `Enabled`.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group that the Video Indexer Account will be associated with. Changing the name forces a new resource to be created.\n","willReplaceOnChanges":true},"storage":{"$ref":"#/types/azure:videoindexer/AccountStorage:AccountStorage","description":"A \u003cspan pulumi-lang-nodejs=\"`storage`\" pulumi-lang-dotnet=\"`Storage`\" pulumi-lang-go=\"`storage`\" pulumi-lang-python=\"`storage`\" pulumi-lang-yaml=\"`storage`\" pulumi-lang-java=\"`storage`\"\u003e`storage`\u003c/span\u003e block as defined below.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"}},"type":"object"}},"azure:voice/servicesCommunicationsGateway:ServicesCommunicationsGateway":{"description":"Manages a Voice Services Communications Gateways.\n\n!\u003e **Note:** You must have signed an Operator Connect agreement with Microsoft to use this resource. For more information, see [`Prerequisites`](https://learn.microsoft.com/en-us/azure/communications-gateway/prepare-to-deploy#prerequisites).\n\n!\u003e **Note:** Access to Azure Communications Gateway is restricted, see [`Get access to Azure Communications Gateway for your Azure subscription`](https://learn.microsoft.com/en-us/azure/communications-gateway/prepare-to-deploy#9-get-access-to-azure-communications-gateway-for-your-azure-subscription) for details.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleServicesCommunicationsGateway = new azure.voice.ServicesCommunicationsGateway(\"example\", {\n    name: \"example-vcg\",\n    location: \"West Europe\",\n    resourceGroupName: example.name,\n    connectivity: \"PublicAddress\",\n    codecs: \"PCMA\",\n    e911Type: \"DirectToEsrp\",\n    platforms: [\n        \"OperatorConnect\",\n        \"TeamsPhoneMobile\",\n    ],\n    serviceLocations: [\n        {\n            location: \"eastus\",\n            allowedMediaSourceAddressPrefixes: [\"10.1.2.0/24\"],\n            allowedSignalingSourceAddressPrefixes: [\"10.1.1.0/24\"],\n            esrpAddresses: [\"198.51.100.3\"],\n            operatorAddresses: [\"198.51.100.1\"],\n        },\n        {\n            location: \"eastus2\",\n            allowedMediaSourceAddressPrefixes: [\"10.2.2.0/24\"],\n            allowedSignalingSourceAddressPrefixes: [\"10.2.1.0/24\"],\n            esrpAddresses: [\"198.51.100.4\"],\n            operatorAddresses: [\"198.51.100.2\"],\n        },\n    ],\n    autoGeneratedDomainNameLabelScope: \"SubscriptionReuse\",\n    apiBridge: JSON.stringify({}),\n    emergencyDialStrings: [\n        \"911\",\n        \"933\",\n    ],\n    onPremMcpEnabled: false,\n    tags: {\n        key: \"value\",\n    },\n    microsoftTeamsVoicemailPilotNumber: \"1\",\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_services_communications_gateway = azure.voice.ServicesCommunicationsGateway(\"example\",\n    name=\"example-vcg\",\n    location=\"West Europe\",\n    resource_group_name=example.name,\n    connectivity=\"PublicAddress\",\n    codecs=\"PCMA\",\n    e911_type=\"DirectToEsrp\",\n    platforms=[\n        \"OperatorConnect\",\n        \"TeamsPhoneMobile\",\n    ],\n    service_locations=[\n        {\n            \"location\": \"eastus\",\n            \"allowed_media_source_address_prefixes\": [\"10.1.2.0/24\"],\n            \"allowed_signaling_source_address_prefixes\": [\"10.1.1.0/24\"],\n            \"esrp_addresses\": [\"198.51.100.3\"],\n            \"operator_addresses\": [\"198.51.100.1\"],\n        },\n        {\n            \"location\": \"eastus2\",\n            \"allowed_media_source_address_prefixes\": [\"10.2.2.0/24\"],\n            \"allowed_signaling_source_address_prefixes\": [\"10.2.1.0/24\"],\n            \"esrp_addresses\": [\"198.51.100.4\"],\n            \"operator_addresses\": [\"198.51.100.2\"],\n        },\n    ],\n    auto_generated_domain_name_label_scope=\"SubscriptionReuse\",\n    api_bridge=json.dumps({}),\n    emergency_dial_strings=[\n        \"911\",\n        \"933\",\n    ],\n    on_prem_mcp_enabled=False,\n    tags={\n        \"key\": \"value\",\n    },\n    microsoft_teams_voicemail_pilot_number=\"1\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleServicesCommunicationsGateway = new Azure.Voice.ServicesCommunicationsGateway(\"example\", new()\n    {\n        Name = \"example-vcg\",\n        Location = \"West Europe\",\n        ResourceGroupName = example.Name,\n        Connectivity = \"PublicAddress\",\n        Codecs = \"PCMA\",\n        E911Type = \"DirectToEsrp\",\n        Platforms = new[]\n        {\n            \"OperatorConnect\",\n            \"TeamsPhoneMobile\",\n        },\n        ServiceLocations = new[]\n        {\n            new Azure.Voice.Inputs.ServicesCommunicationsGatewayServiceLocationArgs\n            {\n                Location = \"eastus\",\n                AllowedMediaSourceAddressPrefixes = new[]\n                {\n                    \"10.1.2.0/24\",\n                },\n                AllowedSignalingSourceAddressPrefixes = new[]\n                {\n                    \"10.1.1.0/24\",\n                },\n                EsrpAddresses = new[]\n                {\n                    \"198.51.100.3\",\n                },\n                OperatorAddresses = new[]\n                {\n                    \"198.51.100.1\",\n                },\n            },\n            new Azure.Voice.Inputs.ServicesCommunicationsGatewayServiceLocationArgs\n            {\n                Location = \"eastus2\",\n                AllowedMediaSourceAddressPrefixes = new[]\n                {\n                    \"10.2.2.0/24\",\n                },\n                AllowedSignalingSourceAddressPrefixes = new[]\n                {\n                    \"10.2.1.0/24\",\n                },\n                EsrpAddresses = new[]\n                {\n                    \"198.51.100.4\",\n                },\n                OperatorAddresses = new[]\n                {\n                    \"198.51.100.2\",\n                },\n            },\n        },\n        AutoGeneratedDomainNameLabelScope = \"SubscriptionReuse\",\n        ApiBridge = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n        {\n        }),\n        EmergencyDialStrings = new[]\n        {\n            \"911\",\n            \"933\",\n        },\n        OnPremMcpEnabled = false,\n        Tags = \n        {\n            { \"key\", \"value\" },\n        },\n        MicrosoftTeamsVoicemailPilotNumber = \"1\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/voice\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson0 := string(tmpJSON0)\n\t\t_, err = voice.NewServicesCommunicationsGateway(ctx, \"example\", \u0026voice.ServicesCommunicationsGatewayArgs{\n\t\t\tName:              pulumi.String(\"example-vcg\"),\n\t\t\tLocation:          pulumi.String(\"West Europe\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tConnectivity:      pulumi.String(\"PublicAddress\"),\n\t\t\tCodecs:            pulumi.String(\"PCMA\"),\n\t\t\tE911Type:          pulumi.String(\"DirectToEsrp\"),\n\t\t\tPlatforms: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"OperatorConnect\"),\n\t\t\t\tpulumi.String(\"TeamsPhoneMobile\"),\n\t\t\t},\n\t\t\tServiceLocations: voice.ServicesCommunicationsGatewayServiceLocationArray{\n\t\t\t\t\u0026voice.ServicesCommunicationsGatewayServiceLocationArgs{\n\t\t\t\t\tLocation: pulumi.String(\"eastus\"),\n\t\t\t\t\tAllowedMediaSourceAddressPrefixes: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"10.1.2.0/24\"),\n\t\t\t\t\t},\n\t\t\t\t\tAllowedSignalingSourceAddressPrefixes: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"10.1.1.0/24\"),\n\t\t\t\t\t},\n\t\t\t\t\tEsrpAddresses: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"198.51.100.3\"),\n\t\t\t\t\t},\n\t\t\t\t\tOperatorAddresses: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"198.51.100.1\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026voice.ServicesCommunicationsGatewayServiceLocationArgs{\n\t\t\t\t\tLocation: pulumi.String(\"eastus2\"),\n\t\t\t\t\tAllowedMediaSourceAddressPrefixes: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"10.2.2.0/24\"),\n\t\t\t\t\t},\n\t\t\t\t\tAllowedSignalingSourceAddressPrefixes: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"10.2.1.0/24\"),\n\t\t\t\t\t},\n\t\t\t\t\tEsrpAddresses: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"198.51.100.4\"),\n\t\t\t\t\t},\n\t\t\t\t\tOperatorAddresses: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"198.51.100.2\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tAutoGeneratedDomainNameLabelScope: pulumi.String(\"SubscriptionReuse\"),\n\t\t\tApiBridge:                         pulumi.String(json0),\n\t\t\tEmergencyDialStrings: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"911\"),\n\t\t\t\tpulumi.String(\"933\"),\n\t\t\t},\n\t\t\tOnPremMcpEnabled: pulumi.Bool(false),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"key\": pulumi.String(\"value\"),\n\t\t\t},\n\t\t\tMicrosoftTeamsVoicemailPilotNumber: pulumi.String(\"1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.voice.ServicesCommunicationsGateway;\nimport com.pulumi.azure.voice.ServicesCommunicationsGatewayArgs;\nimport com.pulumi.azure.voice.inputs.ServicesCommunicationsGatewayServiceLocationArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleServicesCommunicationsGateway = new ServicesCommunicationsGateway(\"exampleServicesCommunicationsGateway\", ServicesCommunicationsGatewayArgs.builder()\n            .name(\"example-vcg\")\n            .location(\"West Europe\")\n            .resourceGroupName(example.name())\n            .connectivity(\"PublicAddress\")\n            .codecs(\"PCMA\")\n            .e911Type(\"DirectToEsrp\")\n            .platforms(            \n                \"OperatorConnect\",\n                \"TeamsPhoneMobile\")\n            .serviceLocations(            \n                ServicesCommunicationsGatewayServiceLocationArgs.builder()\n                    .location(\"eastus\")\n                    .allowedMediaSourceAddressPrefixes(\"10.1.2.0/24\")\n                    .allowedSignalingSourceAddressPrefixes(\"10.1.1.0/24\")\n                    .esrpAddresses(\"198.51.100.3\")\n                    .operatorAddresses(\"198.51.100.1\")\n                    .build(),\n                ServicesCommunicationsGatewayServiceLocationArgs.builder()\n                    .location(\"eastus2\")\n                    .allowedMediaSourceAddressPrefixes(\"10.2.2.0/24\")\n                    .allowedSignalingSourceAddressPrefixes(\"10.2.1.0/24\")\n                    .esrpAddresses(\"198.51.100.4\")\n                    .operatorAddresses(\"198.51.100.2\")\n                    .build())\n            .autoGeneratedDomainNameLabelScope(\"SubscriptionReuse\")\n            .apiBridge(serializeJson(\n                jsonObject(\n\n                )))\n            .emergencyDialStrings(            \n                \"911\",\n                \"933\")\n            .onPremMcpEnabled(false)\n            .tags(Map.of(\"key\", \"value\"))\n            .microsoftTeamsVoicemailPilotNumber(\"1\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleServicesCommunicationsGateway:\n    type: azure:voice:ServicesCommunicationsGateway\n    name: example\n    properties:\n      name: example-vcg\n      location: West Europe\n      resourceGroupName: ${example.name}\n      connectivity: PublicAddress\n      codecs: PCMA\n      e911Type: DirectToEsrp\n      platforms:\n        - OperatorConnect\n        - TeamsPhoneMobile\n      serviceLocations:\n        - location: eastus\n          allowedMediaSourceAddressPrefixes:\n            - 10.1.2.0/24\n          allowedSignalingSourceAddressPrefixes:\n            - 10.1.1.0/24\n          esrpAddresses:\n            - 198.51.100.3\n          operatorAddresses:\n            - 198.51.100.1\n        - location: eastus2\n          allowedMediaSourceAddressPrefixes:\n            - 10.2.2.0/24\n          allowedSignalingSourceAddressPrefixes:\n            - 10.2.1.0/24\n          esrpAddresses:\n            - 198.51.100.4\n          operatorAddresses:\n            - 198.51.100.2\n      autoGeneratedDomainNameLabelScope: SubscriptionReuse\n      apiBridge:\n        fn::toJSON: {}\n      emergencyDialStrings:\n        - '911'\n        - '933'\n      onPremMcpEnabled: false\n      tags:\n        key: value\n      microsoftTeamsVoicemailPilotNumber: '1'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.VoiceServices` - 2023-04-03\n\n## Import\n\nVoice Services Communications Gateways can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:voice/servicesCommunicationsGateway:ServicesCommunicationsGateway example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup1/providers/Microsoft.VoiceServices/communicationsGateways/communicationsGateway1\n```\n\n","properties":{"apiBridge":{"type":"string","description":"Details of API bridge functionality, if required.\n"},"autoGeneratedDomainNameLabelScope":{"type":"string","description":"Specifies the scope at which the auto-generated domain name can be re-used. Possible values are `TenantReuse`, `SubscriptionReuse`, `ResourceGroupReuse` and `NoReuse` . Changing this forces a new resource to be created. Defaults to `TenantReuse`.\n"},"codecs":{"type":"string","description":"The voice codecs expected for communication with Teams. Possible values are `PCMA`, `PCMU`,`G722`,`G722_2`,`SILK_8` and `SILK_16`.\n"},"connectivity":{"type":"string","description":"How to connect back to the operator network, e.g. MAPS. Possible values is `PublicAddress`. Changing this forces a new Voice Services Communications Gateways to be created.\n"},"e911Type":{"type":"string","description":"How to handle 911 calls. Possible values are `Standard` and `DirectToEsrp`.\n"},"emergencyDialStrings":{"type":"array","items":{"type":"string"},"description":"A list of dial strings used for emergency calling.\n"},"location":{"type":"string","description":"Specifies the Azure Region where the Voice Services Communications Gateways should exist. Changing this forces a new resource to be created.\n"},"microsoftTeamsVoicemailPilotNumber":{"type":"string","description":"This number is used in Teams Phone Mobile scenarios for access to the voicemail IVR from the native dialer.\n"},"name":{"type":"string","description":"Specifies the name which should be used for this Voice Services Communications Gateways. Changing this forces a new resource to be created.\n"},"onPremMcpEnabled":{"type":"boolean","description":"Whether an on-premises Mobile Control Point is in use.\n"},"platforms":{"type":"array","items":{"type":"string"},"description":"The Voice Services Communications GatewaysAvailable supports platform types. Possible values are `OperatorConnect`, `TeamsPhoneMobile`.\n"},"resourceGroupName":{"type":"string","description":"Specifies the name of the Resource Group where the Voice Services Communications Gateways should exist. Changing this forces a new resource to be created.\n"},"serviceLocations":{"type":"array","items":{"$ref":"#/types/azure:voice/ServicesCommunicationsGatewayServiceLocation:ServicesCommunicationsGatewayServiceLocation"},"description":"A \u003cspan pulumi-lang-nodejs=\"`serviceLocation`\" pulumi-lang-dotnet=\"`ServiceLocation`\" pulumi-lang-go=\"`serviceLocation`\" pulumi-lang-python=\"`service_location`\" pulumi-lang-yaml=\"`serviceLocation`\" pulumi-lang-java=\"`serviceLocation`\"\u003e`service_location`\u003c/span\u003e block as defined below.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Voice Services Communications Gateways.\n"}},"required":["codecs","connectivity","e911Type","location","name","platforms","resourceGroupName","serviceLocations"],"inputProperties":{"apiBridge":{"type":"string","description":"Details of API bridge functionality, if required.\n"},"autoGeneratedDomainNameLabelScope":{"type":"string","description":"Specifies the scope at which the auto-generated domain name can be re-used. Possible values are `TenantReuse`, `SubscriptionReuse`, `ResourceGroupReuse` and `NoReuse` . Changing this forces a new resource to be created. Defaults to `TenantReuse`.\n","willReplaceOnChanges":true},"codecs":{"type":"string","description":"The voice codecs expected for communication with Teams. Possible values are `PCMA`, `PCMU`,`G722`,`G722_2`,`SILK_8` and `SILK_16`.\n"},"connectivity":{"type":"string","description":"How to connect back to the operator network, e.g. MAPS. Possible values is `PublicAddress`. Changing this forces a new Voice Services Communications Gateways to be created.\n","willReplaceOnChanges":true},"e911Type":{"type":"string","description":"How to handle 911 calls. Possible values are `Standard` and `DirectToEsrp`.\n"},"emergencyDialStrings":{"type":"array","items":{"type":"string"},"description":"A list of dial strings used for emergency calling.\n"},"location":{"type":"string","description":"Specifies the Azure Region where the Voice Services Communications Gateways should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"microsoftTeamsVoicemailPilotNumber":{"type":"string","description":"This number is used in Teams Phone Mobile scenarios for access to the voicemail IVR from the native dialer.\n"},"name":{"type":"string","description":"Specifies the name which should be used for this Voice Services Communications Gateways. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"onPremMcpEnabled":{"type":"boolean","description":"Whether an on-premises Mobile Control Point is in use.\n"},"platforms":{"type":"array","items":{"type":"string"},"description":"The Voice Services Communications GatewaysAvailable supports platform types. Possible values are `OperatorConnect`, `TeamsPhoneMobile`.\n"},"resourceGroupName":{"type":"string","description":"Specifies the name of the Resource Group where the Voice Services Communications Gateways should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"serviceLocations":{"type":"array","items":{"$ref":"#/types/azure:voice/ServicesCommunicationsGatewayServiceLocation:ServicesCommunicationsGatewayServiceLocation"},"description":"A \u003cspan pulumi-lang-nodejs=\"`serviceLocation`\" pulumi-lang-dotnet=\"`ServiceLocation`\" pulumi-lang-go=\"`serviceLocation`\" pulumi-lang-python=\"`service_location`\" pulumi-lang-yaml=\"`serviceLocation`\" pulumi-lang-java=\"`serviceLocation`\"\u003e`service_location`\u003c/span\u003e block as defined below.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Voice Services Communications Gateways.\n"}},"requiredInputs":["codecs","connectivity","e911Type","platforms","resourceGroupName","serviceLocations"],"stateInputs":{"description":"Input properties used for looking up and filtering ServicesCommunicationsGateway resources.\n","properties":{"apiBridge":{"type":"string","description":"Details of API bridge functionality, if required.\n"},"autoGeneratedDomainNameLabelScope":{"type":"string","description":"Specifies the scope at which the auto-generated domain name can be re-used. Possible values are `TenantReuse`, `SubscriptionReuse`, `ResourceGroupReuse` and `NoReuse` . Changing this forces a new resource to be created. Defaults to `TenantReuse`.\n","willReplaceOnChanges":true},"codecs":{"type":"string","description":"The voice codecs expected for communication with Teams. Possible values are `PCMA`, `PCMU`,`G722`,`G722_2`,`SILK_8` and `SILK_16`.\n"},"connectivity":{"type":"string","description":"How to connect back to the operator network, e.g. MAPS. Possible values is `PublicAddress`. Changing this forces a new Voice Services Communications Gateways to be created.\n","willReplaceOnChanges":true},"e911Type":{"type":"string","description":"How to handle 911 calls. Possible values are `Standard` and `DirectToEsrp`.\n"},"emergencyDialStrings":{"type":"array","items":{"type":"string"},"description":"A list of dial strings used for emergency calling.\n"},"location":{"type":"string","description":"Specifies the Azure Region where the Voice Services Communications Gateways should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"microsoftTeamsVoicemailPilotNumber":{"type":"string","description":"This number is used in Teams Phone Mobile scenarios for access to the voicemail IVR from the native dialer.\n"},"name":{"type":"string","description":"Specifies the name which should be used for this Voice Services Communications Gateways. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"onPremMcpEnabled":{"type":"boolean","description":"Whether an on-premises Mobile Control Point is in use.\n"},"platforms":{"type":"array","items":{"type":"string"},"description":"The Voice Services Communications GatewaysAvailable supports platform types. Possible values are `OperatorConnect`, `TeamsPhoneMobile`.\n"},"resourceGroupName":{"type":"string","description":"Specifies the name of the Resource Group where the Voice Services Communications Gateways should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"serviceLocations":{"type":"array","items":{"$ref":"#/types/azure:voice/ServicesCommunicationsGatewayServiceLocation:ServicesCommunicationsGatewayServiceLocation"},"description":"A \u003cspan pulumi-lang-nodejs=\"`serviceLocation`\" pulumi-lang-dotnet=\"`ServiceLocation`\" pulumi-lang-go=\"`serviceLocation`\" pulumi-lang-python=\"`service_location`\" pulumi-lang-yaml=\"`serviceLocation`\" pulumi-lang-java=\"`serviceLocation`\"\u003e`service_location`\u003c/span\u003e block as defined below.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Voice Services Communications Gateways.\n"}},"type":"object"}},"azure:voice/servicesCommunicationsGatewayTestLine:ServicesCommunicationsGatewayTestLine":{"description":"Manages a Voice Services Communications Gateway Test Line.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Central US\",\n});\nconst exampleServicesCommunicationsGateway = new azure.voice.ServicesCommunicationsGateway(\"example\", {\n    name: \"example-vcg\",\n    resourceGroupName: example.name,\n});\nconst exampleServicesCommunicationsGatewayTestLine = new azure.voice.ServicesCommunicationsGatewayTestLine(\"example\", {\n    name: \"example-vtl\",\n    location: \"West Central US\",\n    voiceServicesCommunicationsGatewayId: exampleServicesCommunicationsGateway.id,\n    phoneNumber: \"123456789\",\n    purpose: \"Automated\",\n    tags: {\n        key: \"value\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Central US\")\nexample_services_communications_gateway = azure.voice.ServicesCommunicationsGateway(\"example\",\n    name=\"example-vcg\",\n    resource_group_name=example.name)\nexample_services_communications_gateway_test_line = azure.voice.ServicesCommunicationsGatewayTestLine(\"example\",\n    name=\"example-vtl\",\n    location=\"West Central US\",\n    voice_services_communications_gateway_id=example_services_communications_gateway.id,\n    phone_number=\"123456789\",\n    purpose=\"Automated\",\n    tags={\n        \"key\": \"value\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Central US\",\n    });\n\n    var exampleServicesCommunicationsGateway = new Azure.Voice.ServicesCommunicationsGateway(\"example\", new()\n    {\n        Name = \"example-vcg\",\n        ResourceGroupName = example.Name,\n    });\n\n    var exampleServicesCommunicationsGatewayTestLine = new Azure.Voice.ServicesCommunicationsGatewayTestLine(\"example\", new()\n    {\n        Name = \"example-vtl\",\n        Location = \"West Central US\",\n        VoiceServicesCommunicationsGatewayId = exampleServicesCommunicationsGateway.Id,\n        PhoneNumber = \"123456789\",\n        Purpose = \"Automated\",\n        Tags = \n        {\n            { \"key\", \"value\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/voice\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Central US\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleServicesCommunicationsGateway, err := voice.NewServicesCommunicationsGateway(ctx, \"example\", \u0026voice.ServicesCommunicationsGatewayArgs{\n\t\t\tName:              pulumi.String(\"example-vcg\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = voice.NewServicesCommunicationsGatewayTestLine(ctx, \"example\", \u0026voice.ServicesCommunicationsGatewayTestLineArgs{\n\t\t\tName:                                 pulumi.String(\"example-vtl\"),\n\t\t\tLocation:                             pulumi.String(\"West Central US\"),\n\t\t\tVoiceServicesCommunicationsGatewayId: exampleServicesCommunicationsGateway.ID(),\n\t\t\tPhoneNumber:                          pulumi.String(\"123456789\"),\n\t\t\tPurpose:                              pulumi.String(\"Automated\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"key\": pulumi.String(\"value\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.voice.ServicesCommunicationsGateway;\nimport com.pulumi.azure.voice.ServicesCommunicationsGatewayArgs;\nimport com.pulumi.azure.voice.ServicesCommunicationsGatewayTestLine;\nimport com.pulumi.azure.voice.ServicesCommunicationsGatewayTestLineArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Central US\")\n            .build());\n\n        var exampleServicesCommunicationsGateway = new ServicesCommunicationsGateway(\"exampleServicesCommunicationsGateway\", ServicesCommunicationsGatewayArgs.builder()\n            .name(\"example-vcg\")\n            .resourceGroupName(example.name())\n            .build());\n\n        var exampleServicesCommunicationsGatewayTestLine = new ServicesCommunicationsGatewayTestLine(\"exampleServicesCommunicationsGatewayTestLine\", ServicesCommunicationsGatewayTestLineArgs.builder()\n            .name(\"example-vtl\")\n            .location(\"West Central US\")\n            .voiceServicesCommunicationsGatewayId(exampleServicesCommunicationsGateway.id())\n            .phoneNumber(\"123456789\")\n            .purpose(\"Automated\")\n            .tags(Map.of(\"key\", \"value\"))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Central US\n  exampleServicesCommunicationsGateway:\n    type: azure:voice:ServicesCommunicationsGateway\n    name: example\n    properties:\n      name: example-vcg\n      resourceGroupName: ${example.name}\n  exampleServicesCommunicationsGatewayTestLine:\n    type: azure:voice:ServicesCommunicationsGatewayTestLine\n    name: example\n    properties:\n      name: example-vtl\n      location: West Central US\n      voiceServicesCommunicationsGatewayId: ${exampleServicesCommunicationsGateway.id}\n      phoneNumber: '123456789'\n      purpose: Automated\n      tags:\n        key: value\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.VoiceServices` - 2023-04-03\n\n## Import\n\nVoice Services Communications Gateway Test Line can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:voice/servicesCommunicationsGatewayTestLine:ServicesCommunicationsGatewayTestLine example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup1/providers/Microsoft.VoiceServices/communicationsGateways/communicationsGateway1/testLines/testLine1\n```\n\n","properties":{"location":{"type":"string","description":"Specifies the Azure Region where the Voice Services Communications Gateway Test Line should exist. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"Specifies the name which should be used for this Voice Services Communications Gateway Test Line. Changing this forces a new resource to be created.\n"},"phoneNumber":{"type":"string","description":"Specifies the phone number.\n"},"purpose":{"type":"string","description":"The purpose of the Voice Services Communications Gateway Test Line. Possible values are `Automated` or `Manual`.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Voice Services Communications Gateway Test Line.\n"},"voiceServicesCommunicationsGatewayId":{"type":"string","description":"Specifies the ID of the Voice Services Communications Gateway. Changing this forces a new resource to be created.\n"}},"required":["location","name","phoneNumber","purpose","voiceServicesCommunicationsGatewayId"],"inputProperties":{"location":{"type":"string","description":"Specifies the Azure Region where the Voice Services Communications Gateway Test Line should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name which should be used for this Voice Services Communications Gateway Test Line. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"phoneNumber":{"type":"string","description":"Specifies the phone number.\n"},"purpose":{"type":"string","description":"The purpose of the Voice Services Communications Gateway Test Line. Possible values are `Automated` or `Manual`.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Voice Services Communications Gateway Test Line.\n"},"voiceServicesCommunicationsGatewayId":{"type":"string","description":"Specifies the ID of the Voice Services Communications Gateway. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["phoneNumber","purpose","voiceServicesCommunicationsGatewayId"],"stateInputs":{"description":"Input properties used for looking up and filtering ServicesCommunicationsGatewayTestLine resources.\n","properties":{"location":{"type":"string","description":"Specifies the Azure Region where the Voice Services Communications Gateway Test Line should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name which should be used for this Voice Services Communications Gateway Test Line. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"phoneNumber":{"type":"string","description":"Specifies the phone number.\n"},"purpose":{"type":"string","description":"The purpose of the Voice Services Communications Gateway Test Line. Possible values are `Automated` or `Manual`.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Voice Services Communications Gateway Test Line.\n"},"voiceServicesCommunicationsGatewayId":{"type":"string","description":"Specifies the ID of the Voice Services Communications Gateway. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:waf/policy:Policy":{"description":"Manages a Azure Web Application Firewall Policy instance.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-rg\",\n    location: \"West Europe\",\n});\nconst examplePolicy = new azure.waf.Policy(\"example\", {\n    name: \"example-wafpolicy\",\n    resourceGroupName: example.name,\n    location: example.location,\n    customRules: [\n        {\n            name: \"Rule1\",\n            priority: 1,\n            ruleType: \"MatchRule\",\n            matchConditions: [{\n                matchVariables: [{\n                    variableName: \"RemoteAddr\",\n                }],\n                operator: \"IPMatch\",\n                negationCondition: false,\n                matchValues: [\n                    \"192.168.1.0/24\",\n                    \"10.0.0.0/24\",\n                ],\n            }],\n            action: \"Block\",\n        },\n        {\n            name: \"Rule2\",\n            priority: 2,\n            ruleType: \"MatchRule\",\n            matchConditions: [\n                {\n                    matchVariables: [{\n                        variableName: \"RemoteAddr\",\n                    }],\n                    operator: \"IPMatch\",\n                    negationCondition: false,\n                    matchValues: [\"192.168.1.0/24\"],\n                },\n                {\n                    matchVariables: [{\n                        variableName: \"RequestHeaders\",\n                        selector: \"UserAgent\",\n                    }],\n                    operator: \"Contains\",\n                    negationCondition: false,\n                    matchValues: [\"Windows\"],\n                },\n            ],\n            action: \"Block\",\n        },\n    ],\n    policySettings: {\n        enabled: true,\n        mode: \"Prevention\",\n        requestBodyCheck: true,\n        fileUploadLimitInMb: 100,\n        maxRequestBodySizeInKb: 128,\n    },\n    managedRules: {\n        exclusions: [\n            {\n                matchVariable: \"RequestHeaderNames\",\n                selector: \"x-company-secret-header\",\n                selectorMatchOperator: \"Equals\",\n            },\n            {\n                matchVariable: \"RequestCookieNames\",\n                selector: \"too-tasty\",\n                selectorMatchOperator: \"EndsWith\",\n            },\n        ],\n        managedRuleSets: [{\n            type: \"OWASP\",\n            version: \"3.2\",\n            ruleGroupOverrides: [{\n                ruleGroupName: \"REQUEST-920-PROTOCOL-ENFORCEMENT\",\n                rules: [\n                    {\n                        id: \"920300\",\n                        enabled: true,\n                        action: \"Log\",\n                    },\n                    {\n                        id: \"920440\",\n                        enabled: true,\n                        action: \"Block\",\n                    },\n                ],\n            }],\n        }],\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-rg\",\n    location=\"West Europe\")\nexample_policy = azure.waf.Policy(\"example\",\n    name=\"example-wafpolicy\",\n    resource_group_name=example.name,\n    location=example.location,\n    custom_rules=[\n        {\n            \"name\": \"Rule1\",\n            \"priority\": 1,\n            \"rule_type\": \"MatchRule\",\n            \"match_conditions\": [{\n                \"match_variables\": [{\n                    \"variable_name\": \"RemoteAddr\",\n                }],\n                \"operator\": \"IPMatch\",\n                \"negation_condition\": False,\n                \"match_values\": [\n                    \"192.168.1.0/24\",\n                    \"10.0.0.0/24\",\n                ],\n            }],\n            \"action\": \"Block\",\n        },\n        {\n            \"name\": \"Rule2\",\n            \"priority\": 2,\n            \"rule_type\": \"MatchRule\",\n            \"match_conditions\": [\n                {\n                    \"match_variables\": [{\n                        \"variable_name\": \"RemoteAddr\",\n                    }],\n                    \"operator\": \"IPMatch\",\n                    \"negation_condition\": False,\n                    \"match_values\": [\"192.168.1.0/24\"],\n                },\n                {\n                    \"match_variables\": [{\n                        \"variable_name\": \"RequestHeaders\",\n                        \"selector\": \"UserAgent\",\n                    }],\n                    \"operator\": \"Contains\",\n                    \"negation_condition\": False,\n                    \"match_values\": [\"Windows\"],\n                },\n            ],\n            \"action\": \"Block\",\n        },\n    ],\n    policy_settings={\n        \"enabled\": True,\n        \"mode\": \"Prevention\",\n        \"request_body_check\": True,\n        \"file_upload_limit_in_mb\": 100,\n        \"max_request_body_size_in_kb\": 128,\n    },\n    managed_rules={\n        \"exclusions\": [\n            {\n                \"match_variable\": \"RequestHeaderNames\",\n                \"selector\": \"x-company-secret-header\",\n                \"selector_match_operator\": \"Equals\",\n            },\n            {\n                \"match_variable\": \"RequestCookieNames\",\n                \"selector\": \"too-tasty\",\n                \"selector_match_operator\": \"EndsWith\",\n            },\n        ],\n        \"managed_rule_sets\": [{\n            \"type\": \"OWASP\",\n            \"version\": \"3.2\",\n            \"rule_group_overrides\": [{\n                \"rule_group_name\": \"REQUEST-920-PROTOCOL-ENFORCEMENT\",\n                \"rules\": [\n                    {\n                        \"id\": \"920300\",\n                        \"enabled\": True,\n                        \"action\": \"Log\",\n                    },\n                    {\n                        \"id\": \"920440\",\n                        \"enabled\": True,\n                        \"action\": \"Block\",\n                    },\n                ],\n            }],\n        }],\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-rg\",\n        Location = \"West Europe\",\n    });\n\n    var examplePolicy = new Azure.Waf.Policy(\"example\", new()\n    {\n        Name = \"example-wafpolicy\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        CustomRules = new[]\n        {\n            new Azure.Waf.Inputs.PolicyCustomRuleArgs\n            {\n                Name = \"Rule1\",\n                Priority = 1,\n                RuleType = \"MatchRule\",\n                MatchConditions = new[]\n                {\n                    new Azure.Waf.Inputs.PolicyCustomRuleMatchConditionArgs\n                    {\n                        MatchVariables = new[]\n                        {\n                            new Azure.Waf.Inputs.PolicyCustomRuleMatchConditionMatchVariableArgs\n                            {\n                                VariableName = \"RemoteAddr\",\n                            },\n                        },\n                        Operator = \"IPMatch\",\n                        NegationCondition = false,\n                        MatchValues = new[]\n                        {\n                            \"192.168.1.0/24\",\n                            \"10.0.0.0/24\",\n                        },\n                    },\n                },\n                Action = \"Block\",\n            },\n            new Azure.Waf.Inputs.PolicyCustomRuleArgs\n            {\n                Name = \"Rule2\",\n                Priority = 2,\n                RuleType = \"MatchRule\",\n                MatchConditions = new[]\n                {\n                    new Azure.Waf.Inputs.PolicyCustomRuleMatchConditionArgs\n                    {\n                        MatchVariables = new[]\n                        {\n                            new Azure.Waf.Inputs.PolicyCustomRuleMatchConditionMatchVariableArgs\n                            {\n                                VariableName = \"RemoteAddr\",\n                            },\n                        },\n                        Operator = \"IPMatch\",\n                        NegationCondition = false,\n                        MatchValues = new[]\n                        {\n                            \"192.168.1.0/24\",\n                        },\n                    },\n                    new Azure.Waf.Inputs.PolicyCustomRuleMatchConditionArgs\n                    {\n                        MatchVariables = new[]\n                        {\n                            new Azure.Waf.Inputs.PolicyCustomRuleMatchConditionMatchVariableArgs\n                            {\n                                VariableName = \"RequestHeaders\",\n                                Selector = \"UserAgent\",\n                            },\n                        },\n                        Operator = \"Contains\",\n                        NegationCondition = false,\n                        MatchValues = new[]\n                        {\n                            \"Windows\",\n                        },\n                    },\n                },\n                Action = \"Block\",\n            },\n        },\n        PolicySettings = new Azure.Waf.Inputs.PolicyPolicySettingsArgs\n        {\n            Enabled = true,\n            Mode = \"Prevention\",\n            RequestBodyCheck = true,\n            FileUploadLimitInMb = 100,\n            MaxRequestBodySizeInKb = 128,\n        },\n        ManagedRules = new Azure.Waf.Inputs.PolicyManagedRulesArgs\n        {\n            Exclusions = new[]\n            {\n                new Azure.Waf.Inputs.PolicyManagedRulesExclusionArgs\n                {\n                    MatchVariable = \"RequestHeaderNames\",\n                    Selector = \"x-company-secret-header\",\n                    SelectorMatchOperator = \"Equals\",\n                },\n                new Azure.Waf.Inputs.PolicyManagedRulesExclusionArgs\n                {\n                    MatchVariable = \"RequestCookieNames\",\n                    Selector = \"too-tasty\",\n                    SelectorMatchOperator = \"EndsWith\",\n                },\n            },\n            ManagedRuleSets = new[]\n            {\n                new Azure.Waf.Inputs.PolicyManagedRulesManagedRuleSetArgs\n                {\n                    Type = \"OWASP\",\n                    Version = \"3.2\",\n                    RuleGroupOverrides = new[]\n                    {\n                        new Azure.Waf.Inputs.PolicyManagedRulesManagedRuleSetRuleGroupOverrideArgs\n                        {\n                            RuleGroupName = \"REQUEST-920-PROTOCOL-ENFORCEMENT\",\n                            Rules = new[]\n                            {\n                                new Azure.Waf.Inputs.PolicyManagedRulesManagedRuleSetRuleGroupOverrideRuleArgs\n                                {\n                                    Id = \"920300\",\n                                    Enabled = true,\n                                    Action = \"Log\",\n                                },\n                                new Azure.Waf.Inputs.PolicyManagedRulesManagedRuleSetRuleGroupOverrideRuleArgs\n                                {\n                                    Id = \"920440\",\n                                    Enabled = true,\n                                    Action = \"Block\",\n                                },\n                            },\n                        },\n                    },\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/waf\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-rg\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = waf.NewPolicy(ctx, \"example\", \u0026waf.PolicyArgs{\n\t\t\tName:              pulumi.String(\"example-wafpolicy\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tCustomRules: waf.PolicyCustomRuleArray{\n\t\t\t\t\u0026waf.PolicyCustomRuleArgs{\n\t\t\t\t\tName:     pulumi.String(\"Rule1\"),\n\t\t\t\t\tPriority: pulumi.Int(1),\n\t\t\t\t\tRuleType: pulumi.String(\"MatchRule\"),\n\t\t\t\t\tMatchConditions: waf.PolicyCustomRuleMatchConditionArray{\n\t\t\t\t\t\t\u0026waf.PolicyCustomRuleMatchConditionArgs{\n\t\t\t\t\t\t\tMatchVariables: waf.PolicyCustomRuleMatchConditionMatchVariableArray{\n\t\t\t\t\t\t\t\t\u0026waf.PolicyCustomRuleMatchConditionMatchVariableArgs{\n\t\t\t\t\t\t\t\t\tVariableName: pulumi.String(\"RemoteAddr\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tOperator:          pulumi.String(\"IPMatch\"),\n\t\t\t\t\t\t\tNegationCondition: pulumi.Bool(false),\n\t\t\t\t\t\t\tMatchValues: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"192.168.1.0/24\"),\n\t\t\t\t\t\t\t\tpulumi.String(\"10.0.0.0/24\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tAction: pulumi.String(\"Block\"),\n\t\t\t\t},\n\t\t\t\t\u0026waf.PolicyCustomRuleArgs{\n\t\t\t\t\tName:     pulumi.String(\"Rule2\"),\n\t\t\t\t\tPriority: pulumi.Int(2),\n\t\t\t\t\tRuleType: pulumi.String(\"MatchRule\"),\n\t\t\t\t\tMatchConditions: waf.PolicyCustomRuleMatchConditionArray{\n\t\t\t\t\t\t\u0026waf.PolicyCustomRuleMatchConditionArgs{\n\t\t\t\t\t\t\tMatchVariables: waf.PolicyCustomRuleMatchConditionMatchVariableArray{\n\t\t\t\t\t\t\t\t\u0026waf.PolicyCustomRuleMatchConditionMatchVariableArgs{\n\t\t\t\t\t\t\t\t\tVariableName: pulumi.String(\"RemoteAddr\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tOperator:          pulumi.String(\"IPMatch\"),\n\t\t\t\t\t\t\tNegationCondition: pulumi.Bool(false),\n\t\t\t\t\t\t\tMatchValues: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"192.168.1.0/24\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026waf.PolicyCustomRuleMatchConditionArgs{\n\t\t\t\t\t\t\tMatchVariables: waf.PolicyCustomRuleMatchConditionMatchVariableArray{\n\t\t\t\t\t\t\t\t\u0026waf.PolicyCustomRuleMatchConditionMatchVariableArgs{\n\t\t\t\t\t\t\t\t\tVariableName: pulumi.String(\"RequestHeaders\"),\n\t\t\t\t\t\t\t\t\tSelector:     pulumi.String(\"UserAgent\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tOperator:          pulumi.String(\"Contains\"),\n\t\t\t\t\t\t\tNegationCondition: pulumi.Bool(false),\n\t\t\t\t\t\t\tMatchValues: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"Windows\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tAction: pulumi.String(\"Block\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tPolicySettings: \u0026waf.PolicyPolicySettingsArgs{\n\t\t\t\tEnabled:                pulumi.Bool(true),\n\t\t\t\tMode:                   pulumi.String(\"Prevention\"),\n\t\t\t\tRequestBodyCheck:       pulumi.Bool(true),\n\t\t\t\tFileUploadLimitInMb:    pulumi.Int(100),\n\t\t\t\tMaxRequestBodySizeInKb: pulumi.Int(128),\n\t\t\t},\n\t\t\tManagedRules: \u0026waf.PolicyManagedRulesArgs{\n\t\t\t\tExclusions: waf.PolicyManagedRulesExclusionArray{\n\t\t\t\t\t\u0026waf.PolicyManagedRulesExclusionArgs{\n\t\t\t\t\t\tMatchVariable:         pulumi.String(\"RequestHeaderNames\"),\n\t\t\t\t\t\tSelector:              pulumi.String(\"x-company-secret-header\"),\n\t\t\t\t\t\tSelectorMatchOperator: pulumi.String(\"Equals\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026waf.PolicyManagedRulesExclusionArgs{\n\t\t\t\t\t\tMatchVariable:         pulumi.String(\"RequestCookieNames\"),\n\t\t\t\t\t\tSelector:              pulumi.String(\"too-tasty\"),\n\t\t\t\t\t\tSelectorMatchOperator: pulumi.String(\"EndsWith\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tManagedRuleSets: waf.PolicyManagedRulesManagedRuleSetArray{\n\t\t\t\t\t\u0026waf.PolicyManagedRulesManagedRuleSetArgs{\n\t\t\t\t\t\tType:    pulumi.String(\"OWASP\"),\n\t\t\t\t\t\tVersion: pulumi.String(\"3.2\"),\n\t\t\t\t\t\tRuleGroupOverrides: waf.PolicyManagedRulesManagedRuleSetRuleGroupOverrideArray{\n\t\t\t\t\t\t\t\u0026waf.PolicyManagedRulesManagedRuleSetRuleGroupOverrideArgs{\n\t\t\t\t\t\t\t\tRuleGroupName: pulumi.String(\"REQUEST-920-PROTOCOL-ENFORCEMENT\"),\n\t\t\t\t\t\t\t\tRules: waf.PolicyManagedRulesManagedRuleSetRuleGroupOverrideRuleArray{\n\t\t\t\t\t\t\t\t\t\u0026waf.PolicyManagedRulesManagedRuleSetRuleGroupOverrideRuleArgs{\n\t\t\t\t\t\t\t\t\t\tId:      pulumi.String(\"920300\"),\n\t\t\t\t\t\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\t\t\t\t\t\tAction:  pulumi.String(\"Log\"),\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\u0026waf.PolicyManagedRulesManagedRuleSetRuleGroupOverrideRuleArgs{\n\t\t\t\t\t\t\t\t\t\tId:      pulumi.String(\"920440\"),\n\t\t\t\t\t\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\t\t\t\t\t\tAction:  pulumi.String(\"Block\"),\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.waf.Policy;\nimport com.pulumi.azure.waf.PolicyArgs;\nimport com.pulumi.azure.waf.inputs.PolicyCustomRuleArgs;\nimport com.pulumi.azure.waf.inputs.PolicyPolicySettingsArgs;\nimport com.pulumi.azure.waf.inputs.PolicyManagedRulesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-rg\")\n            .location(\"West Europe\")\n            .build());\n\n        var examplePolicy = new Policy(\"examplePolicy\", PolicyArgs.builder()\n            .name(\"example-wafpolicy\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .customRules(            \n                PolicyCustomRuleArgs.builder()\n                    .name(\"Rule1\")\n                    .priority(1)\n                    .ruleType(\"MatchRule\")\n                    .matchConditions(PolicyCustomRuleMatchConditionArgs.builder()\n                        .matchVariables(PolicyCustomRuleMatchConditionMatchVariableArgs.builder()\n                            .variableName(\"RemoteAddr\")\n                            .build())\n                        .operator(\"IPMatch\")\n                        .negationCondition(false)\n                        .matchValues(                        \n                            \"192.168.1.0/24\",\n                            \"10.0.0.0/24\")\n                        .build())\n                    .action(\"Block\")\n                    .build(),\n                PolicyCustomRuleArgs.builder()\n                    .name(\"Rule2\")\n                    .priority(2)\n                    .ruleType(\"MatchRule\")\n                    .matchConditions(                    \n                        PolicyCustomRuleMatchConditionArgs.builder()\n                            .matchVariables(PolicyCustomRuleMatchConditionMatchVariableArgs.builder()\n                                .variableName(\"RemoteAddr\")\n                                .build())\n                            .operator(\"IPMatch\")\n                            .negationCondition(false)\n                            .matchValues(\"192.168.1.0/24\")\n                            .build(),\n                        PolicyCustomRuleMatchConditionArgs.builder()\n                            .matchVariables(PolicyCustomRuleMatchConditionMatchVariableArgs.builder()\n                                .variableName(\"RequestHeaders\")\n                                .selector(\"UserAgent\")\n                                .build())\n                            .operator(\"Contains\")\n                            .negationCondition(false)\n                            .matchValues(\"Windows\")\n                            .build())\n                    .action(\"Block\")\n                    .build())\n            .policySettings(PolicyPolicySettingsArgs.builder()\n                .enabled(true)\n                .mode(\"Prevention\")\n                .requestBodyCheck(true)\n                .fileUploadLimitInMb(100)\n                .maxRequestBodySizeInKb(128)\n                .build())\n            .managedRules(PolicyManagedRulesArgs.builder()\n                .exclusions(                \n                    PolicyManagedRulesExclusionArgs.builder()\n                        .matchVariable(\"RequestHeaderNames\")\n                        .selector(\"x-company-secret-header\")\n                        .selectorMatchOperator(\"Equals\")\n                        .build(),\n                    PolicyManagedRulesExclusionArgs.builder()\n                        .matchVariable(\"RequestCookieNames\")\n                        .selector(\"too-tasty\")\n                        .selectorMatchOperator(\"EndsWith\")\n                        .build())\n                .managedRuleSets(PolicyManagedRulesManagedRuleSetArgs.builder()\n                    .type(\"OWASP\")\n                    .version(\"3.2\")\n                    .ruleGroupOverrides(PolicyManagedRulesManagedRuleSetRuleGroupOverrideArgs.builder()\n                        .ruleGroupName(\"REQUEST-920-PROTOCOL-ENFORCEMENT\")\n                        .rules(                        \n                            PolicyManagedRulesManagedRuleSetRuleGroupOverrideRuleArgs.builder()\n                                .id(\"920300\")\n                                .enabled(true)\n                                .action(\"Log\")\n                                .build(),\n                            PolicyManagedRulesManagedRuleSetRuleGroupOverrideRuleArgs.builder()\n                                .id(\"920440\")\n                                .enabled(true)\n                                .action(\"Block\")\n                                .build())\n                        .build())\n                    .build())\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-rg\n      location: West Europe\n  examplePolicy:\n    type: azure:waf:Policy\n    name: example\n    properties:\n      name: example-wafpolicy\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      customRules:\n        - name: Rule1\n          priority: 1\n          ruleType: MatchRule\n          matchConditions:\n            - matchVariables:\n                - variableName: RemoteAddr\n              operator: IPMatch\n              negationCondition: false\n              matchValues:\n                - 192.168.1.0/24\n                - 10.0.0.0/24\n          action: Block\n        - name: Rule2\n          priority: 2\n          ruleType: MatchRule\n          matchConditions:\n            - matchVariables:\n                - variableName: RemoteAddr\n              operator: IPMatch\n              negationCondition: false\n              matchValues:\n                - 192.168.1.0/24\n            - matchVariables:\n                - variableName: RequestHeaders\n                  selector: UserAgent\n              operator: Contains\n              negationCondition: false\n              matchValues:\n                - Windows\n          action: Block\n      policySettings:\n        enabled: true\n        mode: Prevention\n        requestBodyCheck: true\n        fileUploadLimitInMb: 100\n        maxRequestBodySizeInKb: 128\n      managedRules:\n        exclusions:\n          - matchVariable: RequestHeaderNames\n            selector: x-company-secret-header\n            selectorMatchOperator: Equals\n          - matchVariable: RequestCookieNames\n            selector: too-tasty\n            selectorMatchOperator: EndsWith\n        managedRuleSets:\n          - type: OWASP\n            version: '3.2'\n            ruleGroupOverrides:\n              - ruleGroupName: REQUEST-920-PROTOCOL-ENFORCEMENT\n                rules:\n                  - id: '920300'\n                    enabled: true\n                    action: Log\n                  - id: '920440'\n                    enabled: true\n                    action: Block\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2025-01-01\n\n## Import\n\nWeb Application Firewall Policy can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:waf/policy:Policy example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/example-rg/providers/Microsoft.Network/applicationGatewayWebApplicationFirewallPolicies/example-wafpolicy\n```\n\n","properties":{"customRules":{"type":"array","items":{"$ref":"#/types/azure:waf/PolicyCustomRule:PolicyCustomRule"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`customRules`\" pulumi-lang-dotnet=\"`CustomRules`\" pulumi-lang-go=\"`customRules`\" pulumi-lang-python=\"`custom_rules`\" pulumi-lang-yaml=\"`customRules`\" pulumi-lang-java=\"`customRules`\"\u003e`custom_rules`\u003c/span\u003e blocks as defined below.\n"},"httpListenerIds":{"type":"array","items":{"type":"string"},"description":"A list of HTTP Listener IDs from an \u003cspan pulumi-lang-nodejs=\"`azure.network.ApplicationGateway`\" pulumi-lang-dotnet=\"`azure.network.ApplicationGateway`\" pulumi-lang-go=\"`network.ApplicationGateway`\" pulumi-lang-python=\"`network.ApplicationGateway`\" pulumi-lang-yaml=\"`azure.network.ApplicationGateway`\" pulumi-lang-java=\"`azure.network.ApplicationGateway`\"\u003e`azure.network.ApplicationGateway`\u003c/span\u003e.\n"},"location":{"type":"string","description":"Resource location. Changing this forces a new resource to be created.\n"},"managedRules":{"$ref":"#/types/azure:waf/PolicyManagedRules:PolicyManagedRules","description":"A \u003cspan pulumi-lang-nodejs=\"`managedRules`\" pulumi-lang-dotnet=\"`ManagedRules`\" pulumi-lang-go=\"`managedRules`\" pulumi-lang-python=\"`managed_rules`\" pulumi-lang-yaml=\"`managedRules`\" pulumi-lang-java=\"`managedRules`\"\u003e`managed_rules`\u003c/span\u003e blocks as defined below.\n"},"name":{"type":"string","description":"The name of the policy. Changing this forces a new resource to be created.\n"},"pathBasedRuleIds":{"type":"array","items":{"type":"string"},"description":"A list of URL Path Map Path Rule IDs from an \u003cspan pulumi-lang-nodejs=\"`azure.network.ApplicationGateway`\" pulumi-lang-dotnet=\"`azure.network.ApplicationGateway`\" pulumi-lang-go=\"`network.ApplicationGateway`\" pulumi-lang-python=\"`network.ApplicationGateway`\" pulumi-lang-yaml=\"`azure.network.ApplicationGateway`\" pulumi-lang-java=\"`azure.network.ApplicationGateway`\"\u003e`azure.network.ApplicationGateway`\u003c/span\u003e.\n"},"policySettings":{"$ref":"#/types/azure:waf/PolicyPolicySettings:PolicyPolicySettings","description":"A \u003cspan pulumi-lang-nodejs=\"`policySettings`\" pulumi-lang-dotnet=\"`PolicySettings`\" pulumi-lang-go=\"`policySettings`\" pulumi-lang-python=\"`policy_settings`\" pulumi-lang-yaml=\"`policySettings`\" pulumi-lang-java=\"`policySettings`\"\u003e`policy_settings`\u003c/span\u003e block as defined below.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group. Changing this forces a new resource to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the Web Application Firewall Policy.\n"}},"required":["httpListenerIds","location","managedRules","name","pathBasedRuleIds","resourceGroupName"],"inputProperties":{"customRules":{"type":"array","items":{"$ref":"#/types/azure:waf/PolicyCustomRule:PolicyCustomRule"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`customRules`\" pulumi-lang-dotnet=\"`CustomRules`\" pulumi-lang-go=\"`customRules`\" pulumi-lang-python=\"`custom_rules`\" pulumi-lang-yaml=\"`customRules`\" pulumi-lang-java=\"`customRules`\"\u003e`custom_rules`\u003c/span\u003e blocks as defined below.\n"},"location":{"type":"string","description":"Resource location. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"managedRules":{"$ref":"#/types/azure:waf/PolicyManagedRules:PolicyManagedRules","description":"A \u003cspan pulumi-lang-nodejs=\"`managedRules`\" pulumi-lang-dotnet=\"`ManagedRules`\" pulumi-lang-go=\"`managedRules`\" pulumi-lang-python=\"`managed_rules`\" pulumi-lang-yaml=\"`managedRules`\" pulumi-lang-java=\"`managedRules`\"\u003e`managed_rules`\u003c/span\u003e blocks as defined below.\n"},"name":{"type":"string","description":"The name of the policy. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"policySettings":{"$ref":"#/types/azure:waf/PolicyPolicySettings:PolicyPolicySettings","description":"A \u003cspan pulumi-lang-nodejs=\"`policySettings`\" pulumi-lang-dotnet=\"`PolicySettings`\" pulumi-lang-go=\"`policySettings`\" pulumi-lang-python=\"`policy_settings`\" pulumi-lang-yaml=\"`policySettings`\" pulumi-lang-java=\"`policySettings`\"\u003e`policy_settings`\u003c/span\u003e block as defined below.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the Web Application Firewall Policy.\n"}},"requiredInputs":["managedRules","resourceGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering Policy resources.\n","properties":{"customRules":{"type":"array","items":{"$ref":"#/types/azure:waf/PolicyCustomRule:PolicyCustomRule"},"description":"One or more \u003cspan pulumi-lang-nodejs=\"`customRules`\" pulumi-lang-dotnet=\"`CustomRules`\" pulumi-lang-go=\"`customRules`\" pulumi-lang-python=\"`custom_rules`\" pulumi-lang-yaml=\"`customRules`\" pulumi-lang-java=\"`customRules`\"\u003e`custom_rules`\u003c/span\u003e blocks as defined below.\n"},"httpListenerIds":{"type":"array","items":{"type":"string"},"description":"A list of HTTP Listener IDs from an \u003cspan pulumi-lang-nodejs=\"`azure.network.ApplicationGateway`\" pulumi-lang-dotnet=\"`azure.network.ApplicationGateway`\" pulumi-lang-go=\"`network.ApplicationGateway`\" pulumi-lang-python=\"`network.ApplicationGateway`\" pulumi-lang-yaml=\"`azure.network.ApplicationGateway`\" pulumi-lang-java=\"`azure.network.ApplicationGateway`\"\u003e`azure.network.ApplicationGateway`\u003c/span\u003e.\n"},"location":{"type":"string","description":"Resource location. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"managedRules":{"$ref":"#/types/azure:waf/PolicyManagedRules:PolicyManagedRules","description":"A \u003cspan pulumi-lang-nodejs=\"`managedRules`\" pulumi-lang-dotnet=\"`ManagedRules`\" pulumi-lang-go=\"`managedRules`\" pulumi-lang-python=\"`managed_rules`\" pulumi-lang-yaml=\"`managedRules`\" pulumi-lang-java=\"`managedRules`\"\u003e`managed_rules`\u003c/span\u003e blocks as defined below.\n"},"name":{"type":"string","description":"The name of the policy. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"pathBasedRuleIds":{"type":"array","items":{"type":"string"},"description":"A list of URL Path Map Path Rule IDs from an \u003cspan pulumi-lang-nodejs=\"`azure.network.ApplicationGateway`\" pulumi-lang-dotnet=\"`azure.network.ApplicationGateway`\" pulumi-lang-go=\"`network.ApplicationGateway`\" pulumi-lang-python=\"`network.ApplicationGateway`\" pulumi-lang-yaml=\"`azure.network.ApplicationGateway`\" pulumi-lang-java=\"`azure.network.ApplicationGateway`\"\u003e`azure.network.ApplicationGateway`\u003c/span\u003e.\n"},"policySettings":{"$ref":"#/types/azure:waf/PolicyPolicySettings:PolicyPolicySettings","description":"A \u003cspan pulumi-lang-nodejs=\"`policySettings`\" pulumi-lang-dotnet=\"`PolicySettings`\" pulumi-lang-go=\"`policySettings`\" pulumi-lang-python=\"`policy_settings`\" pulumi-lang-yaml=\"`policySettings`\" pulumi-lang-java=\"`policySettings`\"\u003e`policy_settings`\u003c/span\u003e block as defined below.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the Web Application Firewall Policy.\n"}},"type":"object"}},"azure:webpubsub/customCertificate:CustomCertificate":{"description":"Manages an Azure Web PubSub Custom Certificate.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\nimport * as azurerm from \"@pulumi/azurerm\";\nimport * as std from \"@pulumi/std\";\n\nconst current = azure.core.getClientConfig({});\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleWebPubsubService = new azurerm.index.WebPubsubService(\"example\", {\n    name: \"example-webpubsub\",\n    location: testAzurermResourceGroup.location,\n    resourceGroupName: testAzurermResourceGroup.name,\n    sku: [{\n        name: \"Premium_P1\",\n        capacity: 1,\n    }],\n    identity: [{\n        type: \"SystemAssigned\",\n    }],\n});\nconst exampleKeyVault = new azure.keyvault.KeyVault(\"example\", {\n    name: \"examplekeyvault\",\n    location: example.location,\n    resourceGroupName: example.name,\n    tenantId: current.then(current =\u003e current.tenantId),\n    skuName: \"premium\",\n    accessPolicies: [\n        {\n            tenantId: current.then(current =\u003e current.tenantId),\n            objectId: current.then(current =\u003e current.objectId),\n            certificatePermissions: [\n                \"Create\",\n                \"Get\",\n                \"List\",\n            ],\n            secretPermissions: [\n                \"Get\",\n                \"List\",\n            ],\n        },\n        {\n            tenantId: current.then(current =\u003e current.tenantId),\n            objectId: testAzurermWebPubsubService.identity[0].principalId,\n            certificatePermissions: [\n                \"Create\",\n                \"Get\",\n                \"List\",\n            ],\n            secretPermissions: [\n                \"Get\",\n                \"List\",\n            ],\n        },\n    ],\n});\nconst exampleCertificate = new azure.keyvault.Certificate(\"example\", {\n    name: \"imported-cert\",\n    keyVaultId: exampleKeyVault.id,\n    certificate: {\n        contents: std.filebase64({\n            input: \"certificate-to-import.pfx\",\n        }).then(invoke =\u003e invoke.result),\n        password: \"\",\n    },\n});\nconst test = new azure.webpubsub.CustomCertificate(\"test\", {\n    name: \"example-cert\",\n    webPubsubId: exampleWebPubsubService.id,\n    customCertificateId: exampleCertificate.id,\n}, {\n    dependsOn: [exampleAzurermKeyVaultAccessPolicy],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\nimport pulumi_azurerm as azurerm\nimport pulumi_std as std\n\ncurrent = azure.core.get_client_config()\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_web_pubsub_service = azurerm.index.WebPubsubService(\"example\",\n    name=example-webpubsub,\n    location=test_azurerm_resource_group.location,\n    resource_group_name=test_azurerm_resource_group.name,\n    sku=[{\n        name: Premium_P1,\n        capacity: 1,\n    }],\n    identity=[{\n        type: SystemAssigned,\n    }])\nexample_key_vault = azure.keyvault.KeyVault(\"example\",\n    name=\"examplekeyvault\",\n    location=example.location,\n    resource_group_name=example.name,\n    tenant_id=current.tenant_id,\n    sku_name=\"premium\",\n    access_policies=[\n        {\n            \"tenant_id\": current.tenant_id,\n            \"object_id\": current.object_id,\n            \"certificate_permissions\": [\n                \"Create\",\n                \"Get\",\n                \"List\",\n            ],\n            \"secret_permissions\": [\n                \"Get\",\n                \"List\",\n            ],\n        },\n        {\n            \"tenant_id\": current.tenant_id,\n            \"object_id\": test_azurerm_web_pubsub_service[\"identity\"][0][\"principalId\"],\n            \"certificate_permissions\": [\n                \"Create\",\n                \"Get\",\n                \"List\",\n            ],\n            \"secret_permissions\": [\n                \"Get\",\n                \"List\",\n            ],\n        },\n    ])\nexample_certificate = azure.keyvault.Certificate(\"example\",\n    name=\"imported-cert\",\n    key_vault_id=example_key_vault.id,\n    certificate={\n        \"contents\": std.filebase64(input=\"certificate-to-import.pfx\").result,\n        \"password\": \"\",\n    })\ntest = azure.webpubsub.CustomCertificate(\"test\",\n    name=\"example-cert\",\n    web_pubsub_id=example_web_pubsub_service[\"id\"],\n    custom_certificate_id=example_certificate.id,\n    opts = pulumi.ResourceOptions(depends_on=[example_azurerm_key_vault_access_policy]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\nusing Azurerm = Pulumi.Azurerm;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var current = Azure.Core.GetClientConfig.Invoke();\n\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleWebPubsubService = new Azurerm.Index.WebPubsubService(\"example\", new()\n    {\n        Name = \"example-webpubsub\",\n        Location = testAzurermResourceGroup.Location,\n        ResourceGroupName = testAzurermResourceGroup.Name,\n        Sku = new[]\n        {\n            \n            {\n                { \"name\", \"Premium_P1\" },\n                { \"capacity\", 1 },\n            },\n        },\n        Identity = new[]\n        {\n            \n            {\n                { \"type\", \"SystemAssigned\" },\n            },\n        },\n    });\n\n    var exampleKeyVault = new Azure.KeyVault.KeyVault(\"example\", new()\n    {\n        Name = \"examplekeyvault\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        TenantId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.TenantId),\n        SkuName = \"premium\",\n        AccessPolicies = new[]\n        {\n            new Azure.KeyVault.Inputs.KeyVaultAccessPolicyArgs\n            {\n                TenantId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.TenantId),\n                ObjectId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.ObjectId),\n                CertificatePermissions = new[]\n                {\n                    \"Create\",\n                    \"Get\",\n                    \"List\",\n                },\n                SecretPermissions = new[]\n                {\n                    \"Get\",\n                    \"List\",\n                },\n            },\n            new Azure.KeyVault.Inputs.KeyVaultAccessPolicyArgs\n            {\n                TenantId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.TenantId),\n                ObjectId = testAzurermWebPubsubService.Identity[0].PrincipalId,\n                CertificatePermissions = new[]\n                {\n                    \"Create\",\n                    \"Get\",\n                    \"List\",\n                },\n                SecretPermissions = new[]\n                {\n                    \"Get\",\n                    \"List\",\n                },\n            },\n        },\n    });\n\n    var exampleCertificate = new Azure.KeyVault.Certificate(\"example\", new()\n    {\n        Name = \"imported-cert\",\n        KeyVaultId = exampleKeyVault.Id,\n        KeyVaultCertificate = new Azure.KeyVault.Inputs.CertificateCertificateArgs\n        {\n            Contents = Std.Filebase64.Invoke(new()\n            {\n                Input = \"certificate-to-import.pfx\",\n            }).Apply(invoke =\u003e invoke.Result),\n            Password = \"\",\n        },\n    });\n\n    var test = new Azure.WebPubSub.CustomCertificate(\"test\", new()\n    {\n        Name = \"example-cert\",\n        WebPubsubId = exampleWebPubsubService.Id,\n        CustomCertificateId = exampleCertificate.Id,\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            exampleAzurermKeyVaultAccessPolicy,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/keyvault\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/webpubsub\"\n\t\"github.com/pulumi/pulumi-azurerm/sdk/go/azurerm\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := core.GetClientConfig(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleWebPubsubService, err := azurerm.NewWebPubsubService(ctx, \"example\", \u0026azurerm.WebPubsubServiceArgs{\n\t\t\tName:              \"example-webpubsub\",\n\t\t\tLocation:          testAzurermResourceGroup.Location,\n\t\t\tResourceGroupName: testAzurermResourceGroup.Name,\n\t\t\tSku: []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"name\":     \"Premium_P1\",\n\t\t\t\t\t\"capacity\": 1,\n\t\t\t\t},\n\t\t\t},\n\t\t\tIdentity: []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"type\": \"SystemAssigned\",\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleKeyVault, err := keyvault.NewKeyVault(ctx, \"example\", \u0026keyvault.KeyVaultArgs{\n\t\t\tName:              pulumi.String(\"examplekeyvault\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tTenantId:          pulumi.String(current.TenantId),\n\t\t\tSkuName:           pulumi.String(\"premium\"),\n\t\t\tAccessPolicies: keyvault.KeyVaultAccessPolicyArray{\n\t\t\t\t\u0026keyvault.KeyVaultAccessPolicyArgs{\n\t\t\t\t\tTenantId: pulumi.String(current.TenantId),\n\t\t\t\t\tObjectId: pulumi.String(current.ObjectId),\n\t\t\t\t\tCertificatePermissions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"Create\"),\n\t\t\t\t\t\tpulumi.String(\"Get\"),\n\t\t\t\t\t\tpulumi.String(\"List\"),\n\t\t\t\t\t},\n\t\t\t\t\tSecretPermissions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"Get\"),\n\t\t\t\t\t\tpulumi.String(\"List\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026keyvault.KeyVaultAccessPolicyArgs{\n\t\t\t\t\tTenantId: pulumi.String(current.TenantId),\n\t\t\t\t\tObjectId: pulumi.Any(testAzurermWebPubsubService.Identity[0].PrincipalId),\n\t\t\t\t\tCertificatePermissions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"Create\"),\n\t\t\t\t\t\tpulumi.String(\"Get\"),\n\t\t\t\t\t\tpulumi.String(\"List\"),\n\t\t\t\t\t},\n\t\t\t\t\tSecretPermissions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"Get\"),\n\t\t\t\t\t\tpulumi.String(\"List\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFilebase64, err := std.Filebase64(ctx, \u0026std.Filebase64Args{\n\t\t\tInput: \"certificate-to-import.pfx\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleCertificate, err := keyvault.NewCertificate(ctx, \"example\", \u0026keyvault.CertificateArgs{\n\t\t\tName:       pulumi.String(\"imported-cert\"),\n\t\t\tKeyVaultId: exampleKeyVault.ID(),\n\t\t\tCertificate: \u0026keyvault.CertificateCertificateArgs{\n\t\t\t\tContents: pulumi.String(invokeFilebase64.Result),\n\t\t\t\tPassword: pulumi.String(\"\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = webpubsub.NewCustomCertificate(ctx, \"test\", \u0026webpubsub.CustomCertificateArgs{\n\t\t\tName:                pulumi.String(\"example-cert\"),\n\t\t\tWebPubsubId:         exampleWebPubsubService.Id,\n\t\t\tCustomCertificateId: exampleCertificate.ID(),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleAzurermKeyVaultAccessPolicy,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azurerm.WebPubsubService;\nimport com.pulumi.azurerm.WebPubsubServiceArgs;\nimport com.pulumi.azure.keyvault.KeyVault;\nimport com.pulumi.azure.keyvault.KeyVaultArgs;\nimport com.pulumi.azure.keyvault.inputs.KeyVaultAccessPolicyArgs;\nimport com.pulumi.azure.keyvault.Certificate;\nimport com.pulumi.azure.keyvault.CertificateArgs;\nimport com.pulumi.azure.keyvault.inputs.CertificateCertificateArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.Filebase64Args;\nimport com.pulumi.azure.webpubsub.CustomCertificate;\nimport com.pulumi.azure.webpubsub.CustomCertificateArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var current = CoreFunctions.getClientConfig(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleWebPubsubService = new WebPubsubService(\"exampleWebPubsubService\", WebPubsubServiceArgs.builder()\n            .name(\"example-webpubsub\")\n            .location(testAzurermResourceGroup.location())\n            .resourceGroupName(testAzurermResourceGroup.name())\n            .sku(List.of(Map.ofEntries(\n                Map.entry(\"name\", \"Premium_P1\"),\n                Map.entry(\"capacity\", 1)\n            )))\n            .identity(List.of(Map.of(\"type\", \"SystemAssigned\")))\n            .build());\n\n        var exampleKeyVault = new KeyVault(\"exampleKeyVault\", KeyVaultArgs.builder()\n            .name(\"examplekeyvault\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .tenantId(current.tenantId())\n            .skuName(\"premium\")\n            .accessPolicies(            \n                KeyVaultAccessPolicyArgs.builder()\n                    .tenantId(current.tenantId())\n                    .objectId(current.objectId())\n                    .certificatePermissions(                    \n                        \"Create\",\n                        \"Get\",\n                        \"List\")\n                    .secretPermissions(                    \n                        \"Get\",\n                        \"List\")\n                    .build(),\n                KeyVaultAccessPolicyArgs.builder()\n                    .tenantId(current.tenantId())\n                    .objectId(testAzurermWebPubsubService.identity()[0].principalId())\n                    .certificatePermissions(                    \n                        \"Create\",\n                        \"Get\",\n                        \"List\")\n                    .secretPermissions(                    \n                        \"Get\",\n                        \"List\")\n                    .build())\n            .build());\n\n        var exampleCertificate = new Certificate(\"exampleCertificate\", CertificateArgs.builder()\n            .name(\"imported-cert\")\n            .keyVaultId(exampleKeyVault.id())\n            .certificate(CertificateCertificateArgs.builder()\n                .contents(StdFunctions.filebase64(Filebase64Args.builder()\n                    .input(\"certificate-to-import.pfx\")\n                    .build()).result())\n                .password(\"\")\n                .build())\n            .build());\n\n        var test = new CustomCertificate(\"test\", CustomCertificateArgs.builder()\n            .name(\"example-cert\")\n            .webPubsubId(exampleWebPubsubService.id())\n            .customCertificateId(exampleCertificate.id())\n            .build(), CustomResourceOptions.builder()\n                .dependsOn(exampleAzurermKeyVaultAccessPolicy)\n                .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleWebPubsubService:\n    type: azurerm:WebPubsubService\n    name: example\n    properties:\n      name: example-webpubsub\n      location: ${testAzurermResourceGroup.location}\n      resourceGroupName: ${testAzurermResourceGroup.name}\n      sku:\n        - name: Premium_P1\n          capacity: 1\n      identity:\n        - type: SystemAssigned\n  exampleKeyVault:\n    type: azure:keyvault:KeyVault\n    name: example\n    properties:\n      name: examplekeyvault\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      tenantId: ${current.tenantId}\n      skuName: premium\n      accessPolicies:\n        - tenantId: ${current.tenantId}\n          objectId: ${current.objectId}\n          certificatePermissions:\n            - Create\n            - Get\n            - List\n          secretPermissions:\n            - Get\n            - List\n        - tenantId: ${current.tenantId}\n          objectId: ${testAzurermWebPubsubService.identity[0].principalId}\n          certificatePermissions:\n            - Create\n            - Get\n            - List\n          secretPermissions:\n            - Get\n            - List\n  exampleCertificate:\n    type: azure:keyvault:Certificate\n    name: example\n    properties:\n      name: imported-cert\n      keyVaultId: ${exampleKeyVault.id}\n      certificate:\n        contents:\n          fn::invoke:\n            function: std:filebase64\n            arguments:\n              input: certificate-to-import.pfx\n            return: result\n        password: \"\"\n  test:\n    type: azure:webpubsub:CustomCertificate\n    properties:\n      name: example-cert\n      webPubsubId: ${exampleWebPubsubService.id}\n      customCertificateId: ${exampleCertificate.id}\n    options:\n      dependsOn:\n        - ${exampleAzurermKeyVaultAccessPolicy}\nvariables:\n  current:\n    fn::invoke:\n      function: azure:core:getClientConfig\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.SignalRService` - 2024-03-01\n\n## Import\n\nCustom Certificate for a Web PubSub service can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:webpubsub/customCertificate:CustomCertificate example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.SignalRService/webPubSub/WebPubsub1/customCertificates/cert1\n```\n\n","properties":{"certificateVersion":{"type":"string","description":"The certificate version of the Web PubSub Custom Certificate.\n"},"customCertificateId":{"type":"string","description":"The certificate ID of the Web PubSub Custom Certificate. Changing this forces a new resource to be created.\n\n\u003e **Note:** Self assigned certificate is not supported and the provisioning status will fail.\n"},"name":{"type":"string","description":"The name of the Web PubSub Custom Certificate. Changing this forces a new resource to be created.\n"},"webPubsubId":{"type":"string","description":"The Web PubSub ID of the Web PubSub Custom Certificate. Changing this forces a new resource to be created.\n\n\u003e **Note:** custom certificate is only available for Web PubSub Premium tier. Please enable managed identity in the corresponding Web PubSub Service and give the managed identity access to the key vault, the required permission is Get Certificate and Secret.\n"}},"required":["certificateVersion","customCertificateId","name","webPubsubId"],"inputProperties":{"customCertificateId":{"type":"string","description":"The certificate ID of the Web PubSub Custom Certificate. Changing this forces a new resource to be created.\n\n\u003e **Note:** Self assigned certificate is not supported and the provisioning status will fail.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the Web PubSub Custom Certificate. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"webPubsubId":{"type":"string","description":"The Web PubSub ID of the Web PubSub Custom Certificate. Changing this forces a new resource to be created.\n\n\u003e **Note:** custom certificate is only available for Web PubSub Premium tier. Please enable managed identity in the corresponding Web PubSub Service and give the managed identity access to the key vault, the required permission is Get Certificate and Secret.\n","willReplaceOnChanges":true}},"requiredInputs":["customCertificateId","webPubsubId"],"stateInputs":{"description":"Input properties used for looking up and filtering CustomCertificate resources.\n","properties":{"certificateVersion":{"type":"string","description":"The certificate version of the Web PubSub Custom Certificate.\n"},"customCertificateId":{"type":"string","description":"The certificate ID of the Web PubSub Custom Certificate. Changing this forces a new resource to be created.\n\n\u003e **Note:** Self assigned certificate is not supported and the provisioning status will fail.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the Web PubSub Custom Certificate. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"webPubsubId":{"type":"string","description":"The Web PubSub ID of the Web PubSub Custom Certificate. Changing this forces a new resource to be created.\n\n\u003e **Note:** custom certificate is only available for Web PubSub Premium tier. Please enable managed identity in the corresponding Web PubSub Service and give the managed identity access to the key vault, the required permission is Get Certificate and Secret.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:webpubsub/customDomain:CustomDomain":{"description":"Manages an Azure Web PubSub Custom Domain.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleService:\n    type: azure:webpubsub:Service\n    name: example\n    properties:\n      name: example-webpubsub\n      location: ${testAzurermResourceGroup.location}\n      resourceGroupName: ${testAzurermResourceGroup.name}\n      sku:\n        - name: Premium_P1\n          capacity: 1\n      identity:\n        type: SystemAssigned\n  exampleKeyVault:\n    type: azure:keyvault:KeyVault\n    name: example\n    properties:\n      name: examplekeyvault\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      tenantId: ${current.tenantId}\n      skuName: premium\n      accessPolicies:\n        - tenantId: ${current.tenantId}\n          objectId: ${current.objectId}\n          certificatePermissions:\n            - Create\n            - Get\n            - List\n          secretPermissions:\n            - Get\n            - List\n        - tenantId: ${current.tenantId}\n          objectId: ${testAzurermWebPubsub.identity[0].principalId}\n          certificatePermissions:\n            - Create\n            - Get\n            - List\n          secretPermissions:\n            - Get\n            - List\n  exampleCertificate:\n    type: azure:keyvault:Certificate\n    name: example\n    properties:\n      name: imported-cert\n      keyVaultId: ${exampleKeyVault.id}\n      certificate:\n        contents:\n          fn::invoke:\n            function: std:filebase64\n            arguments:\n              input: certificate-to-import.pfx\n            return: result\n        password: \"\"\n  test:\n    type: azure:webpubsub:CustomCertificate\n    properties:\n      name: example-cert\n      webPubsubId: ${exampleService.id}\n      customCertificateId: ${exampleCertificate.id}\n    options:\n      dependsOn:\n        - ${exampleAzurermKeyVaultAccessPolicy}\n  testCustomDomain:\n    type: azure:webpubsub:CustomDomain\n    name: test\n    properties:\n      name: example-domain\n      domainName: tftest.com\n      webPubsubId: ${testAzurermWebPubsub.id}\n      webPubsubCustomCertificateId: ${test.id}\nvariables:\n  current:\n    fn::invoke:\n      function: azure:core:getClientConfig\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.SignalRService` - 2024-03-01\n\n## Import\n\nCustom Domain for a Web PubSub service can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:webpubsub/customDomain:CustomDomain example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.SignalRService/webPubSub/webpubsub1/customDomains/customDomain1\n```\n\n","properties":{"domainName":{"type":"string","description":"Specifies the custom domain name of the Web PubSub Custom Domain. Changing this forces a new resource to be created.\n\n\u003e **Note:** Please ensure the custom domain name is included in the Subject Alternative Names of the selected Web PubSub Custom Certificate.\n"},"name":{"type":"string","description":"Specifies the name of the Web PubSub Custom Domain. Changing this forces a new resource to be created.\n"},"webPubsubCustomCertificateId":{"type":"string","description":"Specifies the Web PubSub Custom Certificate ID of the Web PubSub Custom Domain. Changing this forces a new resource to be created.\n"},"webPubsubId":{"type":"string","description":"Specifies the Web PubSub ID of the Web PubSub Custom Domain. Changing this forces a new resource to be created.\n"}},"required":["domainName","name","webPubsubCustomCertificateId","webPubsubId"],"inputProperties":{"domainName":{"type":"string","description":"Specifies the custom domain name of the Web PubSub Custom Domain. Changing this forces a new resource to be created.\n\n\u003e **Note:** Please ensure the custom domain name is included in the Subject Alternative Names of the selected Web PubSub Custom Certificate.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the Web PubSub Custom Domain. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"webPubsubCustomCertificateId":{"type":"string","description":"Specifies the Web PubSub Custom Certificate ID of the Web PubSub Custom Domain. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"webPubsubId":{"type":"string","description":"Specifies the Web PubSub ID of the Web PubSub Custom Domain. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["domainName","webPubsubCustomCertificateId","webPubsubId"],"stateInputs":{"description":"Input properties used for looking up and filtering CustomDomain resources.\n","properties":{"domainName":{"type":"string","description":"Specifies the custom domain name of the Web PubSub Custom Domain. Changing this forces a new resource to be created.\n\n\u003e **Note:** Please ensure the custom domain name is included in the Subject Alternative Names of the selected Web PubSub Custom Certificate.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the Web PubSub Custom Domain. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"webPubsubCustomCertificateId":{"type":"string","description":"Specifies the Web PubSub Custom Certificate ID of the Web PubSub Custom Domain. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"webPubsubId":{"type":"string","description":"Specifies the Web PubSub ID of the Web PubSub Custom Domain. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:webpubsub/hub:Hub":{"description":"Manages the hub settings for a Web Pubsub.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"terraform-webpubsub\",\n    location: \"east us\",\n});\nconst exampleUserAssignedIdentity = new azure.authorization.UserAssignedIdentity(\"example\", {\n    name: \"tfex-uai\",\n    resourceGroupName: example.name,\n    location: example.location,\n});\nconst exampleService = new azure.webpubsub.Service(\"example\", {\n    name: \"tfex-webpubsub\",\n    location: example.location,\n    resourceGroupName: example.name,\n    sku: \"Standard_S1\",\n    capacity: 1,\n});\nconst exampleHub = new azure.webpubsub.Hub(\"example\", {\n    name: \"tfex_wpsh\",\n    webPubsubId: exampleService.id,\n    eventHandlers: [\n        {\n            urlTemplate: \"https://test.com/api/{hub}/{event}\",\n            userEventPattern: \"*\",\n            systemEvents: [\n                \"connect\",\n                \"connected\",\n            ],\n        },\n        {\n            urlTemplate: \"https://test.com/api/{hub}/{event}\",\n            userEventPattern: \"event1, event2\",\n            systemEvents: [\"connected\"],\n            auth: {\n                managedIdentityId: exampleUserAssignedIdentity.id,\n            },\n        },\n    ],\n    eventListeners: [\n        {\n            systemEventNameFilters: [\"connected\"],\n            userEventNameFilters: [\n                \"event1\",\n                \"event2\",\n            ],\n            eventhubNamespaceName: test.name,\n            eventhubName: test1.name,\n        },\n        {\n            systemEventNameFilters: [\"connected\"],\n            userEventNameFilters: [\"*\"],\n            eventhubNamespaceName: test.name,\n            eventhubName: test1.name,\n        },\n        {\n            systemEventNameFilters: [\"connected\"],\n            userEventNameFilters: [\"event1\"],\n            eventhubNamespaceName: test.name,\n            eventhubName: test1.name,\n        },\n    ],\n    anonymousConnectionsEnabled: true,\n}, {\n    dependsOn: [exampleService],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"terraform-webpubsub\",\n    location=\"east us\")\nexample_user_assigned_identity = azure.authorization.UserAssignedIdentity(\"example\",\n    name=\"tfex-uai\",\n    resource_group_name=example.name,\n    location=example.location)\nexample_service = azure.webpubsub.Service(\"example\",\n    name=\"tfex-webpubsub\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku=\"Standard_S1\",\n    capacity=1)\nexample_hub = azure.webpubsub.Hub(\"example\",\n    name=\"tfex_wpsh\",\n    web_pubsub_id=example_service.id,\n    event_handlers=[\n        {\n            \"url_template\": \"https://test.com/api/{hub}/{event}\",\n            \"user_event_pattern\": \"*\",\n            \"system_events\": [\n                \"connect\",\n                \"connected\",\n            ],\n        },\n        {\n            \"url_template\": \"https://test.com/api/{hub}/{event}\",\n            \"user_event_pattern\": \"event1, event2\",\n            \"system_events\": [\"connected\"],\n            \"auth\": {\n                \"managed_identity_id\": example_user_assigned_identity.id,\n            },\n        },\n    ],\n    event_listeners=[\n        {\n            \"system_event_name_filters\": [\"connected\"],\n            \"user_event_name_filters\": [\n                \"event1\",\n                \"event2\",\n            ],\n            \"eventhub_namespace_name\": test[\"name\"],\n            \"eventhub_name\": test1[\"name\"],\n        },\n        {\n            \"system_event_name_filters\": [\"connected\"],\n            \"user_event_name_filters\": [\"*\"],\n            \"eventhub_namespace_name\": test[\"name\"],\n            \"eventhub_name\": test1[\"name\"],\n        },\n        {\n            \"system_event_name_filters\": [\"connected\"],\n            \"user_event_name_filters\": [\"event1\"],\n            \"eventhub_namespace_name\": test[\"name\"],\n            \"eventhub_name\": test1[\"name\"],\n        },\n    ],\n    anonymous_connections_enabled=True,\n    opts = pulumi.ResourceOptions(depends_on=[example_service]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"terraform-webpubsub\",\n        Location = \"east us\",\n    });\n\n    var exampleUserAssignedIdentity = new Azure.Authorization.UserAssignedIdentity(\"example\", new()\n    {\n        Name = \"tfex-uai\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n    });\n\n    var exampleService = new Azure.WebPubSub.Service(\"example\", new()\n    {\n        Name = \"tfex-webpubsub\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Sku = \"Standard_S1\",\n        Capacity = 1,\n    });\n\n    var exampleHub = new Azure.WebPubSub.Hub(\"example\", new()\n    {\n        Name = \"tfex_wpsh\",\n        WebPubsubId = exampleService.Id,\n        EventHandlers = new[]\n        {\n            new Azure.WebPubSub.Inputs.HubEventHandlerArgs\n            {\n                UrlTemplate = \"https://test.com/api/{hub}/{event}\",\n                UserEventPattern = \"*\",\n                SystemEvents = new[]\n                {\n                    \"connect\",\n                    \"connected\",\n                },\n            },\n            new Azure.WebPubSub.Inputs.HubEventHandlerArgs\n            {\n                UrlTemplate = \"https://test.com/api/{hub}/{event}\",\n                UserEventPattern = \"event1, event2\",\n                SystemEvents = new[]\n                {\n                    \"connected\",\n                },\n                Auth = new Azure.WebPubSub.Inputs.HubEventHandlerAuthArgs\n                {\n                    ManagedIdentityId = exampleUserAssignedIdentity.Id,\n                },\n            },\n        },\n        EventListeners = new[]\n        {\n            new Azure.WebPubSub.Inputs.HubEventListenerArgs\n            {\n                SystemEventNameFilters = new[]\n                {\n                    \"connected\",\n                },\n                UserEventNameFilters = new[]\n                {\n                    \"event1\",\n                    \"event2\",\n                },\n                EventhubNamespaceName = test.Name,\n                EventhubName = test1.Name,\n            },\n            new Azure.WebPubSub.Inputs.HubEventListenerArgs\n            {\n                SystemEventNameFilters = new[]\n                {\n                    \"connected\",\n                },\n                UserEventNameFilters = new[]\n                {\n                    \"*\",\n                },\n                EventhubNamespaceName = test.Name,\n                EventhubName = test1.Name,\n            },\n            new Azure.WebPubSub.Inputs.HubEventListenerArgs\n            {\n                SystemEventNameFilters = new[]\n                {\n                    \"connected\",\n                },\n                UserEventNameFilters = new[]\n                {\n                    \"event1\",\n                },\n                EventhubNamespaceName = test.Name,\n                EventhubName = test1.Name,\n            },\n        },\n        AnonymousConnectionsEnabled = true,\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            exampleService,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/authorization\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/webpubsub\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"terraform-webpubsub\"),\n\t\t\tLocation: pulumi.String(\"east us\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleUserAssignedIdentity, err := authorization.NewUserAssignedIdentity(ctx, \"example\", \u0026authorization.UserAssignedIdentityArgs{\n\t\t\tName:              pulumi.String(\"tfex-uai\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleService, err := webpubsub.NewService(ctx, \"example\", \u0026webpubsub.ServiceArgs{\n\t\t\tName:              pulumi.String(\"tfex-webpubsub\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSku:               pulumi.String(\"Standard_S1\"),\n\t\t\tCapacity:          pulumi.Int(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = webpubsub.NewHub(ctx, \"example\", \u0026webpubsub.HubArgs{\n\t\t\tName:        pulumi.String(\"tfex_wpsh\"),\n\t\t\tWebPubsubId: exampleService.ID(),\n\t\t\tEventHandlers: webpubsub.HubEventHandlerArray{\n\t\t\t\t\u0026webpubsub.HubEventHandlerArgs{\n\t\t\t\t\tUrlTemplate:      pulumi.String(\"https://test.com/api/{hub}/{event}\"),\n\t\t\t\t\tUserEventPattern: pulumi.String(\"*\"),\n\t\t\t\t\tSystemEvents: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"connect\"),\n\t\t\t\t\t\tpulumi.String(\"connected\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026webpubsub.HubEventHandlerArgs{\n\t\t\t\t\tUrlTemplate:      pulumi.String(\"https://test.com/api/{hub}/{event}\"),\n\t\t\t\t\tUserEventPattern: pulumi.String(\"event1, event2\"),\n\t\t\t\t\tSystemEvents: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"connected\"),\n\t\t\t\t\t},\n\t\t\t\t\tAuth: \u0026webpubsub.HubEventHandlerAuthArgs{\n\t\t\t\t\t\tManagedIdentityId: exampleUserAssignedIdentity.ID(),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tEventListeners: webpubsub.HubEventListenerArray{\n\t\t\t\t\u0026webpubsub.HubEventListenerArgs{\n\t\t\t\t\tSystemEventNameFilters: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"connected\"),\n\t\t\t\t\t},\n\t\t\t\t\tUserEventNameFilters: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"event1\"),\n\t\t\t\t\t\tpulumi.String(\"event2\"),\n\t\t\t\t\t},\n\t\t\t\t\tEventhubNamespaceName: pulumi.Any(test.Name),\n\t\t\t\t\tEventhubName:          pulumi.Any(test1.Name),\n\t\t\t\t},\n\t\t\t\t\u0026webpubsub.HubEventListenerArgs{\n\t\t\t\t\tSystemEventNameFilters: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"connected\"),\n\t\t\t\t\t},\n\t\t\t\t\tUserEventNameFilters: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"*\"),\n\t\t\t\t\t},\n\t\t\t\t\tEventhubNamespaceName: pulumi.Any(test.Name),\n\t\t\t\t\tEventhubName:          pulumi.Any(test1.Name),\n\t\t\t\t},\n\t\t\t\t\u0026webpubsub.HubEventListenerArgs{\n\t\t\t\t\tSystemEventNameFilters: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"connected\"),\n\t\t\t\t\t},\n\t\t\t\t\tUserEventNameFilters: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"event1\"),\n\t\t\t\t\t},\n\t\t\t\t\tEventhubNamespaceName: pulumi.Any(test.Name),\n\t\t\t\t\tEventhubName:          pulumi.Any(test1.Name),\n\t\t\t\t},\n\t\t\t},\n\t\t\tAnonymousConnectionsEnabled: pulumi.Bool(true),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleService,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.authorization.UserAssignedIdentity;\nimport com.pulumi.azure.authorization.UserAssignedIdentityArgs;\nimport com.pulumi.azure.webpubsub.Service;\nimport com.pulumi.azure.webpubsub.ServiceArgs;\nimport com.pulumi.azure.webpubsub.Hub;\nimport com.pulumi.azure.webpubsub.HubArgs;\nimport com.pulumi.azure.webpubsub.inputs.HubEventHandlerArgs;\nimport com.pulumi.azure.webpubsub.inputs.HubEventHandlerAuthArgs;\nimport com.pulumi.azure.webpubsub.inputs.HubEventListenerArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"terraform-webpubsub\")\n            .location(\"east us\")\n            .build());\n\n        var exampleUserAssignedIdentity = new UserAssignedIdentity(\"exampleUserAssignedIdentity\", UserAssignedIdentityArgs.builder()\n            .name(\"tfex-uai\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .build());\n\n        var exampleService = new Service(\"exampleService\", ServiceArgs.builder()\n            .name(\"tfex-webpubsub\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .sku(\"Standard_S1\")\n            .capacity(1)\n            .build());\n\n        var exampleHub = new Hub(\"exampleHub\", HubArgs.builder()\n            .name(\"tfex_wpsh\")\n            .webPubsubId(exampleService.id())\n            .eventHandlers(            \n                HubEventHandlerArgs.builder()\n                    .urlTemplate(\"https://test.com/api/{hub}/{event}\")\n                    .userEventPattern(\"*\")\n                    .systemEvents(                    \n                        \"connect\",\n                        \"connected\")\n                    .build(),\n                HubEventHandlerArgs.builder()\n                    .urlTemplate(\"https://test.com/api/{hub}/{event}\")\n                    .userEventPattern(\"event1, event2\")\n                    .systemEvents(\"connected\")\n                    .auth(HubEventHandlerAuthArgs.builder()\n                        .managedIdentityId(exampleUserAssignedIdentity.id())\n                        .build())\n                    .build())\n            .eventListeners(            \n                HubEventListenerArgs.builder()\n                    .systemEventNameFilters(\"connected\")\n                    .userEventNameFilters(                    \n                        \"event1\",\n                        \"event2\")\n                    .eventhubNamespaceName(test.name())\n                    .eventhubName(test1.name())\n                    .build(),\n                HubEventListenerArgs.builder()\n                    .systemEventNameFilters(\"connected\")\n                    .userEventNameFilters(\"*\")\n                    .eventhubNamespaceName(test.name())\n                    .eventhubName(test1.name())\n                    .build(),\n                HubEventListenerArgs.builder()\n                    .systemEventNameFilters(\"connected\")\n                    .userEventNameFilters(\"event1\")\n                    .eventhubNamespaceName(test.name())\n                    .eventhubName(test1.name())\n                    .build())\n            .anonymousConnectionsEnabled(true)\n            .build(), CustomResourceOptions.builder()\n                .dependsOn(exampleService)\n                .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: terraform-webpubsub\n      location: east us\n  exampleUserAssignedIdentity:\n    type: azure:authorization:UserAssignedIdentity\n    name: example\n    properties:\n      name: tfex-uai\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n  exampleService:\n    type: azure:webpubsub:Service\n    name: example\n    properties:\n      name: tfex-webpubsub\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      sku: Standard_S1\n      capacity: 1\n  exampleHub:\n    type: azure:webpubsub:Hub\n    name: example\n    properties:\n      name: tfex_wpsh\n      webPubsubId: ${exampleService.id}\n      eventHandlers:\n        - urlTemplate: https://test.com/api/{hub}/{event}\n          userEventPattern: '*'\n          systemEvents:\n            - connect\n            - connected\n        - urlTemplate: https://test.com/api/{hub}/{event}\n          userEventPattern: event1, event2\n          systemEvents:\n            - connected\n          auth:\n            managedIdentityId: ${exampleUserAssignedIdentity.id}\n      eventListeners:\n        - systemEventNameFilters:\n            - connected\n          userEventNameFilters:\n            - event1\n            - event2\n          eventhubNamespaceName: ${test.name}\n          eventhubName: ${test1.name}\n        - systemEventNameFilters:\n            - connected\n          userEventNameFilters:\n            - '*'\n          eventhubNamespaceName: ${test.name}\n          eventhubName: ${test1.name}\n        - systemEventNameFilters:\n            - connected\n          userEventNameFilters:\n            - event1\n          eventhubNamespaceName: ${test.name}\n          eventhubName: ${test1.name}\n      anonymousConnectionsEnabled: true\n    options:\n      dependsOn:\n        - ${exampleService}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.SignalRService` - 2024-03-01\n\n## Import\n\nWeb Pubsub Hub can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:webpubsub/hub:Hub example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.SignalRService/webPubSub/webPubSub1/hubs/webPubSubhub1\n```\n\n","properties":{"anonymousConnectionsEnabled":{"type":"boolean","description":"Is anonymous connections are allowed for this hub? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\nPossible values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"eventHandlers":{"type":"array","items":{"$ref":"#/types/azure:webpubsub/HubEventHandler:HubEventHandler"},"description":"An \u003cspan pulumi-lang-nodejs=\"`eventHandler`\" pulumi-lang-dotnet=\"`EventHandler`\" pulumi-lang-go=\"`eventHandler`\" pulumi-lang-python=\"`event_handler`\" pulumi-lang-yaml=\"`eventHandler`\" pulumi-lang-java=\"`eventHandler`\"\u003e`event_handler`\u003c/span\u003e block as defined below.\n\n\u003e **Note:** User can change the order of \u003cspan pulumi-lang-nodejs=\"`eventHandler`\" pulumi-lang-dotnet=\"`EventHandler`\" pulumi-lang-go=\"`eventHandler`\" pulumi-lang-python=\"`event_handler`\" pulumi-lang-yaml=\"`eventHandler`\" pulumi-lang-java=\"`eventHandler`\"\u003e`event_handler`\u003c/span\u003e to change the priority accordingly.\n"},"eventListeners":{"type":"array","items":{"$ref":"#/types/azure:webpubsub/HubEventListener:HubEventListener"},"description":"An \u003cspan pulumi-lang-nodejs=\"`eventListener`\" pulumi-lang-dotnet=\"`EventListener`\" pulumi-lang-go=\"`eventListener`\" pulumi-lang-python=\"`event_listener`\" pulumi-lang-yaml=\"`eventListener`\" pulumi-lang-java=\"`eventListener`\"\u003e`event_listener`\u003c/span\u003e block as defined below.\n\n\u003e **Note:** The managed identity of Web PubSub service must be enabled and the identity must have the \"Azure Event Hubs Data sender\" role to access the Event Hub.\n"},"name":{"type":"string","description":"The name of the Web Pubsub hub service. Changing this forces a new resource to be created.\n"},"webPubsubId":{"type":"string","description":"Specifies the id of the Web Pubsub. Changing this forces a new resource to be created.\n"}},"required":["name","webPubsubId"],"inputProperties":{"anonymousConnectionsEnabled":{"type":"boolean","description":"Is anonymous connections are allowed for this hub? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\nPossible values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"eventHandlers":{"type":"array","items":{"$ref":"#/types/azure:webpubsub/HubEventHandler:HubEventHandler"},"description":"An \u003cspan pulumi-lang-nodejs=\"`eventHandler`\" pulumi-lang-dotnet=\"`EventHandler`\" pulumi-lang-go=\"`eventHandler`\" pulumi-lang-python=\"`event_handler`\" pulumi-lang-yaml=\"`eventHandler`\" pulumi-lang-java=\"`eventHandler`\"\u003e`event_handler`\u003c/span\u003e block as defined below.\n\n\u003e **Note:** User can change the order of \u003cspan pulumi-lang-nodejs=\"`eventHandler`\" pulumi-lang-dotnet=\"`EventHandler`\" pulumi-lang-go=\"`eventHandler`\" pulumi-lang-python=\"`event_handler`\" pulumi-lang-yaml=\"`eventHandler`\" pulumi-lang-java=\"`eventHandler`\"\u003e`event_handler`\u003c/span\u003e to change the priority accordingly.\n"},"eventListeners":{"type":"array","items":{"$ref":"#/types/azure:webpubsub/HubEventListener:HubEventListener"},"description":"An \u003cspan pulumi-lang-nodejs=\"`eventListener`\" pulumi-lang-dotnet=\"`EventListener`\" pulumi-lang-go=\"`eventListener`\" pulumi-lang-python=\"`event_listener`\" pulumi-lang-yaml=\"`eventListener`\" pulumi-lang-java=\"`eventListener`\"\u003e`event_listener`\u003c/span\u003e block as defined below.\n\n\u003e **Note:** The managed identity of Web PubSub service must be enabled and the identity must have the \"Azure Event Hubs Data sender\" role to access the Event Hub.\n"},"name":{"type":"string","description":"The name of the Web Pubsub hub service. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"webPubsubId":{"type":"string","description":"Specifies the id of the Web Pubsub. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["webPubsubId"],"stateInputs":{"description":"Input properties used for looking up and filtering Hub resources.\n","properties":{"anonymousConnectionsEnabled":{"type":"boolean","description":"Is anonymous connections are allowed for this hub? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\nPossible values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"eventHandlers":{"type":"array","items":{"$ref":"#/types/azure:webpubsub/HubEventHandler:HubEventHandler"},"description":"An \u003cspan pulumi-lang-nodejs=\"`eventHandler`\" pulumi-lang-dotnet=\"`EventHandler`\" pulumi-lang-go=\"`eventHandler`\" pulumi-lang-python=\"`event_handler`\" pulumi-lang-yaml=\"`eventHandler`\" pulumi-lang-java=\"`eventHandler`\"\u003e`event_handler`\u003c/span\u003e block as defined below.\n\n\u003e **Note:** User can change the order of \u003cspan pulumi-lang-nodejs=\"`eventHandler`\" pulumi-lang-dotnet=\"`EventHandler`\" pulumi-lang-go=\"`eventHandler`\" pulumi-lang-python=\"`event_handler`\" pulumi-lang-yaml=\"`eventHandler`\" pulumi-lang-java=\"`eventHandler`\"\u003e`event_handler`\u003c/span\u003e to change the priority accordingly.\n"},"eventListeners":{"type":"array","items":{"$ref":"#/types/azure:webpubsub/HubEventListener:HubEventListener"},"description":"An \u003cspan pulumi-lang-nodejs=\"`eventListener`\" pulumi-lang-dotnet=\"`EventListener`\" pulumi-lang-go=\"`eventListener`\" pulumi-lang-python=\"`event_listener`\" pulumi-lang-yaml=\"`eventListener`\" pulumi-lang-java=\"`eventListener`\"\u003e`event_listener`\u003c/span\u003e block as defined below.\n\n\u003e **Note:** The managed identity of Web PubSub service must be enabled and the identity must have the \"Azure Event Hubs Data sender\" role to access the Event Hub.\n"},"name":{"type":"string","description":"The name of the Web Pubsub hub service. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"webPubsubId":{"type":"string","description":"Specifies the id of the Web Pubsub. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:webpubsub/networkAcl:NetworkAcl":{"description":"Manages the Network ACL for a Web Pubsub.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"terraform-webpubsub\",\n    location: \"east us\",\n});\nconst exampleService = new azure.webpubsub.Service(\"example\", {\n    name: \"tfex-webpubsub\",\n    location: example.location,\n    resourceGroupName: example.name,\n    sku: \"Standard_S1\",\n    capacity: 1,\n});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"example\", {\n    name: \"example-vnet\",\n    resourceGroupName: example.name,\n    location: example.location,\n    addressSpaces: [\"10.5.0.0/16\"],\n});\nconst exampleSubnet = new azure.network.Subnet(\"example\", {\n    name: \"example-subnet\",\n    resourceGroupName: example.name,\n    virtualNetworkName: exampleVirtualNetwork.name,\n    addressPrefixes: [\"10.5.2.0/24\"],\n    enforcePrivateLinkEndpointNetworkPolicies: true,\n});\nconst exampleEndpoint = new azure.privatelink.Endpoint(\"example\", {\n    name: \"example-privateendpoint\",\n    resourceGroupName: example.name,\n    location: example.location,\n    subnetId: exampleSubnet.id,\n    privateServiceConnection: {\n        name: \"psc-sig-test\",\n        isManualConnection: false,\n        privateConnectionResourceId: exampleService.id,\n        subresourceNames: [\"webpubsub\"],\n    },\n});\nconst exampleNetworkAcl = new azure.webpubsub.NetworkAcl(\"example\", {\n    webPubsubId: exampleService.id,\n    defaultAction: \"Allow\",\n    publicNetwork: {\n        deniedRequestTypes: [\"ClientConnection\"],\n    },\n    privateEndpoints: [{\n        id: exampleEndpoint.id,\n        deniedRequestTypes: [\n            \"RESTAPI\",\n            \"ClientConnection\",\n        ],\n    }],\n}, {\n    dependsOn: [exampleEndpoint],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"terraform-webpubsub\",\n    location=\"east us\")\nexample_service = azure.webpubsub.Service(\"example\",\n    name=\"tfex-webpubsub\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku=\"Standard_S1\",\n    capacity=1)\nexample_virtual_network = azure.network.VirtualNetwork(\"example\",\n    name=\"example-vnet\",\n    resource_group_name=example.name,\n    location=example.location,\n    address_spaces=[\"10.5.0.0/16\"])\nexample_subnet = azure.network.Subnet(\"example\",\n    name=\"example-subnet\",\n    resource_group_name=example.name,\n    virtual_network_name=example_virtual_network.name,\n    address_prefixes=[\"10.5.2.0/24\"],\n    enforce_private_link_endpoint_network_policies=True)\nexample_endpoint = azure.privatelink.Endpoint(\"example\",\n    name=\"example-privateendpoint\",\n    resource_group_name=example.name,\n    location=example.location,\n    subnet_id=example_subnet.id,\n    private_service_connection={\n        \"name\": \"psc-sig-test\",\n        \"is_manual_connection\": False,\n        \"private_connection_resource_id\": example_service.id,\n        \"subresource_names\": [\"webpubsub\"],\n    })\nexample_network_acl = azure.webpubsub.NetworkAcl(\"example\",\n    web_pubsub_id=example_service.id,\n    default_action=\"Allow\",\n    public_network={\n        \"denied_request_types\": [\"ClientConnection\"],\n    },\n    private_endpoints=[{\n        \"id\": example_endpoint.id,\n        \"denied_request_types\": [\n            \"RESTAPI\",\n            \"ClientConnection\",\n        ],\n    }],\n    opts = pulumi.ResourceOptions(depends_on=[example_endpoint]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"terraform-webpubsub\",\n        Location = \"east us\",\n    });\n\n    var exampleService = new Azure.WebPubSub.Service(\"example\", new()\n    {\n        Name = \"tfex-webpubsub\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Sku = \"Standard_S1\",\n        Capacity = 1,\n    });\n\n    var exampleVirtualNetwork = new Azure.Network.VirtualNetwork(\"example\", new()\n    {\n        Name = \"example-vnet\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        AddressSpaces = new[]\n        {\n            \"10.5.0.0/16\",\n        },\n    });\n\n    var exampleSubnet = new Azure.Network.Subnet(\"example\", new()\n    {\n        Name = \"example-subnet\",\n        ResourceGroupName = example.Name,\n        VirtualNetworkName = exampleVirtualNetwork.Name,\n        AddressPrefixes = new[]\n        {\n            \"10.5.2.0/24\",\n        },\n        EnforcePrivateLinkEndpointNetworkPolicies = true,\n    });\n\n    var exampleEndpoint = new Azure.PrivateLink.Endpoint(\"example\", new()\n    {\n        Name = \"example-privateendpoint\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        SubnetId = exampleSubnet.Id,\n        PrivateServiceConnection = new Azure.PrivateLink.Inputs.EndpointPrivateServiceConnectionArgs\n        {\n            Name = \"psc-sig-test\",\n            IsManualConnection = false,\n            PrivateConnectionResourceId = exampleService.Id,\n            SubresourceNames = new[]\n            {\n                \"webpubsub\",\n            },\n        },\n    });\n\n    var exampleNetworkAcl = new Azure.WebPubSub.NetworkAcl(\"example\", new()\n    {\n        WebPubsubId = exampleService.Id,\n        DefaultAction = \"Allow\",\n        PublicNetwork = new Azure.WebPubSub.Inputs.NetworkAclPublicNetworkArgs\n        {\n            DeniedRequestTypes = new[]\n            {\n                \"ClientConnection\",\n            },\n        },\n        PrivateEndpoints = new[]\n        {\n            new Azure.WebPubSub.Inputs.NetworkAclPrivateEndpointArgs\n            {\n                Id = exampleEndpoint.Id,\n                DeniedRequestTypes = new[]\n                {\n                    \"RESTAPI\",\n                    \"ClientConnection\",\n                },\n            },\n        },\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            exampleEndpoint,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/privatelink\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/webpubsub\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"terraform-webpubsub\"),\n\t\t\tLocation: pulumi.String(\"east us\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleService, err := webpubsub.NewService(ctx, \"example\", \u0026webpubsub.ServiceArgs{\n\t\t\tName:              pulumi.String(\"tfex-webpubsub\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSku:               pulumi.String(\"Standard_S1\"),\n\t\t\tCapacity:          pulumi.Int(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, \"example\", \u0026network.VirtualNetworkArgs{\n\t\t\tName:              pulumi.String(\"example-vnet\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tAddressSpaces: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.5.0.0/16\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSubnet, err := network.NewSubnet(ctx, \"example\", \u0026network.SubnetArgs{\n\t\t\tName:               pulumi.String(\"example-subnet\"),\n\t\t\tResourceGroupName:  example.Name,\n\t\t\tVirtualNetworkName: exampleVirtualNetwork.Name,\n\t\t\tAddressPrefixes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.5.2.0/24\"),\n\t\t\t},\n\t\t\tEnforcePrivateLinkEndpointNetworkPolicies: true,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleEndpoint, err := privatelink.NewEndpoint(ctx, \"example\", \u0026privatelink.EndpointArgs{\n\t\t\tName:              pulumi.String(\"example-privateendpoint\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tSubnetId:          exampleSubnet.ID(),\n\t\t\tPrivateServiceConnection: \u0026privatelink.EndpointPrivateServiceConnectionArgs{\n\t\t\t\tName:                        pulumi.String(\"psc-sig-test\"),\n\t\t\t\tIsManualConnection:          pulumi.Bool(false),\n\t\t\t\tPrivateConnectionResourceId: exampleService.ID(),\n\t\t\t\tSubresourceNames: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"webpubsub\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = webpubsub.NewNetworkAcl(ctx, \"example\", \u0026webpubsub.NetworkAclArgs{\n\t\t\tWebPubsubId:   exampleService.ID(),\n\t\t\tDefaultAction: pulumi.String(\"Allow\"),\n\t\t\tPublicNetwork: \u0026webpubsub.NetworkAclPublicNetworkArgs{\n\t\t\t\tDeniedRequestTypes: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"ClientConnection\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tPrivateEndpoints: webpubsub.NetworkAclPrivateEndpointArray{\n\t\t\t\t\u0026webpubsub.NetworkAclPrivateEndpointArgs{\n\t\t\t\t\tId: exampleEndpoint.ID(),\n\t\t\t\t\tDeniedRequestTypes: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"RESTAPI\"),\n\t\t\t\t\t\tpulumi.String(\"ClientConnection\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleEndpoint,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.webpubsub.Service;\nimport com.pulumi.azure.webpubsub.ServiceArgs;\nimport com.pulumi.azure.network.VirtualNetwork;\nimport com.pulumi.azure.network.VirtualNetworkArgs;\nimport com.pulumi.azure.network.Subnet;\nimport com.pulumi.azure.network.SubnetArgs;\nimport com.pulumi.azure.privatelink.Endpoint;\nimport com.pulumi.azure.privatelink.EndpointArgs;\nimport com.pulumi.azure.privatelink.inputs.EndpointPrivateServiceConnectionArgs;\nimport com.pulumi.azure.webpubsub.NetworkAcl;\nimport com.pulumi.azure.webpubsub.NetworkAclArgs;\nimport com.pulumi.azure.webpubsub.inputs.NetworkAclPublicNetworkArgs;\nimport com.pulumi.azure.webpubsub.inputs.NetworkAclPrivateEndpointArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"terraform-webpubsub\")\n            .location(\"east us\")\n            .build());\n\n        var exampleService = new Service(\"exampleService\", ServiceArgs.builder()\n            .name(\"tfex-webpubsub\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .sku(\"Standard_S1\")\n            .capacity(1)\n            .build());\n\n        var exampleVirtualNetwork = new VirtualNetwork(\"exampleVirtualNetwork\", VirtualNetworkArgs.builder()\n            .name(\"example-vnet\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .addressSpaces(\"10.5.0.0/16\")\n            .build());\n\n        var exampleSubnet = new Subnet(\"exampleSubnet\", SubnetArgs.builder()\n            .name(\"example-subnet\")\n            .resourceGroupName(example.name())\n            .virtualNetworkName(exampleVirtualNetwork.name())\n            .addressPrefixes(\"10.5.2.0/24\")\n            .enforcePrivateLinkEndpointNetworkPolicies(true)\n            .build());\n\n        var exampleEndpoint = new Endpoint(\"exampleEndpoint\", EndpointArgs.builder()\n            .name(\"example-privateendpoint\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .subnetId(exampleSubnet.id())\n            .privateServiceConnection(EndpointPrivateServiceConnectionArgs.builder()\n                .name(\"psc-sig-test\")\n                .isManualConnection(false)\n                .privateConnectionResourceId(exampleService.id())\n                .subresourceNames(\"webpubsub\")\n                .build())\n            .build());\n\n        var exampleNetworkAcl = new NetworkAcl(\"exampleNetworkAcl\", NetworkAclArgs.builder()\n            .webPubsubId(exampleService.id())\n            .defaultAction(\"Allow\")\n            .publicNetwork(NetworkAclPublicNetworkArgs.builder()\n                .deniedRequestTypes(\"ClientConnection\")\n                .build())\n            .privateEndpoints(NetworkAclPrivateEndpointArgs.builder()\n                .id(exampleEndpoint.id())\n                .deniedRequestTypes(                \n                    \"RESTAPI\",\n                    \"ClientConnection\")\n                .build())\n            .build(), CustomResourceOptions.builder()\n                .dependsOn(exampleEndpoint)\n                .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: terraform-webpubsub\n      location: east us\n  exampleService:\n    type: azure:webpubsub:Service\n    name: example\n    properties:\n      name: tfex-webpubsub\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      sku: Standard_S1\n      capacity: 1\n  exampleVirtualNetwork:\n    type: azure:network:VirtualNetwork\n    name: example\n    properties:\n      name: example-vnet\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      addressSpaces:\n        - 10.5.0.0/16\n  exampleSubnet:\n    type: azure:network:Subnet\n    name: example\n    properties:\n      name: example-subnet\n      resourceGroupName: ${example.name}\n      virtualNetworkName: ${exampleVirtualNetwork.name}\n      addressPrefixes:\n        - 10.5.2.0/24\n      enforcePrivateLinkEndpointNetworkPolicies: true\n  exampleEndpoint:\n    type: azure:privatelink:Endpoint\n    name: example\n    properties:\n      name: example-privateendpoint\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      subnetId: ${exampleSubnet.id}\n      privateServiceConnection:\n        name: psc-sig-test\n        isManualConnection: false\n        privateConnectionResourceId: ${exampleService.id}\n        subresourceNames:\n          - webpubsub\n  exampleNetworkAcl:\n    type: azure:webpubsub:NetworkAcl\n    name: example\n    properties:\n      webPubsubId: ${exampleService.id}\n      defaultAction: Allow\n      publicNetwork:\n        deniedRequestTypes:\n          - ClientConnection\n      privateEndpoints:\n        - id: ${exampleEndpoint.id}\n          deniedRequestTypes:\n            - RESTAPI\n            - ClientConnection\n    options:\n      dependsOn:\n        - ${exampleEndpoint}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.SignalRService` - 2024-03-01\n\n## Import\n\nNetwork ACLs for a Web Pubsub service can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:webpubsub/networkAcl:NetworkAcl example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.SignalRService/webPubSub/webpubsub1\n```\n\n","properties":{"defaultAction":{"type":"string","description":"The default action to control the network access when no other rule matches. Possible values are `Allow` and `Deny`. Defaults to `Deny`.\n"},"privateEndpoints":{"type":"array","items":{"$ref":"#/types/azure:webpubsub/NetworkAclPrivateEndpoint:NetworkAclPrivateEndpoint"},"description":"A \u003cspan pulumi-lang-nodejs=\"`privateEndpoint`\" pulumi-lang-dotnet=\"`PrivateEndpoint`\" pulumi-lang-go=\"`privateEndpoint`\" pulumi-lang-python=\"`private_endpoint`\" pulumi-lang-yaml=\"`privateEndpoint`\" pulumi-lang-java=\"`privateEndpoint`\"\u003e`private_endpoint`\u003c/span\u003e block as defined below.\n"},"publicNetwork":{"$ref":"#/types/azure:webpubsub/NetworkAclPublicNetwork:NetworkAclPublicNetwork","description":"A \u003cspan pulumi-lang-nodejs=\"`publicNetwork`\" pulumi-lang-dotnet=\"`PublicNetwork`\" pulumi-lang-go=\"`publicNetwork`\" pulumi-lang-python=\"`public_network`\" pulumi-lang-yaml=\"`publicNetwork`\" pulumi-lang-java=\"`publicNetwork`\"\u003e`public_network`\u003c/span\u003e block as defined below.\n"},"webPubsubId":{"type":"string","description":"The ID of the Web Pubsub service. Changing this forces a new resource to be created.\n"}},"required":["publicNetwork","webPubsubId"],"inputProperties":{"defaultAction":{"type":"string","description":"The default action to control the network access when no other rule matches. Possible values are `Allow` and `Deny`. Defaults to `Deny`.\n"},"privateEndpoints":{"type":"array","items":{"$ref":"#/types/azure:webpubsub/NetworkAclPrivateEndpoint:NetworkAclPrivateEndpoint"},"description":"A \u003cspan pulumi-lang-nodejs=\"`privateEndpoint`\" pulumi-lang-dotnet=\"`PrivateEndpoint`\" pulumi-lang-go=\"`privateEndpoint`\" pulumi-lang-python=\"`private_endpoint`\" pulumi-lang-yaml=\"`privateEndpoint`\" pulumi-lang-java=\"`privateEndpoint`\"\u003e`private_endpoint`\u003c/span\u003e block as defined below.\n"},"publicNetwork":{"$ref":"#/types/azure:webpubsub/NetworkAclPublicNetwork:NetworkAclPublicNetwork","description":"A \u003cspan pulumi-lang-nodejs=\"`publicNetwork`\" pulumi-lang-dotnet=\"`PublicNetwork`\" pulumi-lang-go=\"`publicNetwork`\" pulumi-lang-python=\"`public_network`\" pulumi-lang-yaml=\"`publicNetwork`\" pulumi-lang-java=\"`publicNetwork`\"\u003e`public_network`\u003c/span\u003e block as defined below.\n"},"webPubsubId":{"type":"string","description":"The ID of the Web Pubsub service. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["publicNetwork","webPubsubId"],"stateInputs":{"description":"Input properties used for looking up and filtering NetworkAcl resources.\n","properties":{"defaultAction":{"type":"string","description":"The default action to control the network access when no other rule matches. Possible values are `Allow` and `Deny`. Defaults to `Deny`.\n"},"privateEndpoints":{"type":"array","items":{"$ref":"#/types/azure:webpubsub/NetworkAclPrivateEndpoint:NetworkAclPrivateEndpoint"},"description":"A \u003cspan pulumi-lang-nodejs=\"`privateEndpoint`\" pulumi-lang-dotnet=\"`PrivateEndpoint`\" pulumi-lang-go=\"`privateEndpoint`\" pulumi-lang-python=\"`private_endpoint`\" pulumi-lang-yaml=\"`privateEndpoint`\" pulumi-lang-java=\"`privateEndpoint`\"\u003e`private_endpoint`\u003c/span\u003e block as defined below.\n"},"publicNetwork":{"$ref":"#/types/azure:webpubsub/NetworkAclPublicNetwork:NetworkAclPublicNetwork","description":"A \u003cspan pulumi-lang-nodejs=\"`publicNetwork`\" pulumi-lang-dotnet=\"`PublicNetwork`\" pulumi-lang-go=\"`publicNetwork`\" pulumi-lang-python=\"`public_network`\" pulumi-lang-yaml=\"`publicNetwork`\" pulumi-lang-java=\"`publicNetwork`\"\u003e`public_network`\u003c/span\u003e block as defined below.\n"},"webPubsubId":{"type":"string","description":"The ID of the Web Pubsub service. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:webpubsub/service:Service":{"description":"Manages an Azure Web PubSub Service.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"terraform-webpubsub\",\n    location: \"east us\",\n});\nconst exampleService = new azure.webpubsub.Service(\"example\", {\n    name: \"tfex-webpubsub\",\n    location: example.location,\n    resourceGroupName: example.name,\n    sku: \"Standard_S1\",\n    capacity: 1,\n    publicNetworkAccessEnabled: false,\n    liveTrace: {\n        enabled: true,\n        messagingLogsEnabled: true,\n        connectivityLogsEnabled: false,\n    },\n    identity: {\n        type: \"SystemAssigned\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"terraform-webpubsub\",\n    location=\"east us\")\nexample_service = azure.webpubsub.Service(\"example\",\n    name=\"tfex-webpubsub\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku=\"Standard_S1\",\n    capacity=1,\n    public_network_access_enabled=False,\n    live_trace={\n        \"enabled\": True,\n        \"messaging_logs_enabled\": True,\n        \"connectivity_logs_enabled\": False,\n    },\n    identity={\n        \"type\": \"SystemAssigned\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"terraform-webpubsub\",\n        Location = \"east us\",\n    });\n\n    var exampleService = new Azure.WebPubSub.Service(\"example\", new()\n    {\n        Name = \"tfex-webpubsub\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Sku = \"Standard_S1\",\n        Capacity = 1,\n        PublicNetworkAccessEnabled = false,\n        LiveTrace = new Azure.WebPubSub.Inputs.ServiceLiveTraceArgs\n        {\n            Enabled = true,\n            MessagingLogsEnabled = true,\n            ConnectivityLogsEnabled = false,\n        },\n        Identity = new Azure.WebPubSub.Inputs.ServiceIdentityArgs\n        {\n            Type = \"SystemAssigned\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/webpubsub\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"terraform-webpubsub\"),\n\t\t\tLocation: pulumi.String(\"east us\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = webpubsub.NewService(ctx, \"example\", \u0026webpubsub.ServiceArgs{\n\t\t\tName:                       pulumi.String(\"tfex-webpubsub\"),\n\t\t\tLocation:                   example.Location,\n\t\t\tResourceGroupName:          example.Name,\n\t\t\tSku:                        pulumi.String(\"Standard_S1\"),\n\t\t\tCapacity:                   pulumi.Int(1),\n\t\t\tPublicNetworkAccessEnabled: pulumi.Bool(false),\n\t\t\tLiveTrace: \u0026webpubsub.ServiceLiveTraceArgs{\n\t\t\t\tEnabled:                 pulumi.Bool(true),\n\t\t\t\tMessagingLogsEnabled:    pulumi.Bool(true),\n\t\t\t\tConnectivityLogsEnabled: pulumi.Bool(false),\n\t\t\t},\n\t\t\tIdentity: \u0026webpubsub.ServiceIdentityArgs{\n\t\t\t\tType: pulumi.String(\"SystemAssigned\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.webpubsub.Service;\nimport com.pulumi.azure.webpubsub.ServiceArgs;\nimport com.pulumi.azure.webpubsub.inputs.ServiceLiveTraceArgs;\nimport com.pulumi.azure.webpubsub.inputs.ServiceIdentityArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"terraform-webpubsub\")\n            .location(\"east us\")\n            .build());\n\n        var exampleService = new Service(\"exampleService\", ServiceArgs.builder()\n            .name(\"tfex-webpubsub\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .sku(\"Standard_S1\")\n            .capacity(1)\n            .publicNetworkAccessEnabled(false)\n            .liveTrace(ServiceLiveTraceArgs.builder()\n                .enabled(true)\n                .messagingLogsEnabled(true)\n                .connectivityLogsEnabled(false)\n                .build())\n            .identity(ServiceIdentityArgs.builder()\n                .type(\"SystemAssigned\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: terraform-webpubsub\n      location: east us\n  exampleService:\n    type: azure:webpubsub:Service\n    name: example\n    properties:\n      name: tfex-webpubsub\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      sku: Standard_S1\n      capacity: 1\n      publicNetworkAccessEnabled: false\n      liveTrace:\n        enabled: true\n        messagingLogsEnabled: true\n        connectivityLogsEnabled: false\n      identity:\n        type: SystemAssigned\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.SignalRService` - 2024-03-01\n\n## Import\n\nWeb PubSub services can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:webpubsub/service:Service example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.SignalRService/webPubSub/pubsub1\n```\n\n","properties":{"aadAuthEnabled":{"type":"boolean","description":"Whether to enable AAD auth? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"capacity":{"type":"integer","description":"Specifies the number of units associated with this Web PubSub resource. Valid values are \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`4`\" pulumi-lang-dotnet=\"`4`\" pulumi-lang-go=\"`4`\" pulumi-lang-python=\"`4`\" pulumi-lang-yaml=\"`4`\" pulumi-lang-java=\"`4`\"\u003e`4`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`5`\" pulumi-lang-dotnet=\"`5`\" pulumi-lang-go=\"`5`\" pulumi-lang-python=\"`5`\" pulumi-lang-yaml=\"`5`\" pulumi-lang-java=\"`5`\"\u003e`5`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`6`\" pulumi-lang-dotnet=\"`6`\" pulumi-lang-go=\"`6`\" pulumi-lang-python=\"`6`\" pulumi-lang-yaml=\"`6`\" pulumi-lang-java=\"`6`\"\u003e`6`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`7`\" pulumi-lang-dotnet=\"`7`\" pulumi-lang-go=\"`7`\" pulumi-lang-python=\"`7`\" pulumi-lang-yaml=\"`7`\" pulumi-lang-java=\"`7`\"\u003e`7`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`8`\" pulumi-lang-dotnet=\"`8`\" pulumi-lang-go=\"`8`\" pulumi-lang-python=\"`8`\" pulumi-lang-yaml=\"`8`\" pulumi-lang-java=\"`8`\"\u003e`8`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`9`\" pulumi-lang-dotnet=\"`9`\" pulumi-lang-go=\"`9`\" pulumi-lang-python=\"`9`\" pulumi-lang-yaml=\"`9`\" pulumi-lang-java=\"`9`\"\u003e`9`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`10`\" pulumi-lang-dotnet=\"`10`\" pulumi-lang-go=\"`10`\" pulumi-lang-python=\"`10`\" pulumi-lang-yaml=\"`10`\" pulumi-lang-java=\"`10`\"\u003e`10`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`20`\" pulumi-lang-dotnet=\"`20`\" pulumi-lang-go=\"`20`\" pulumi-lang-python=\"`20`\" pulumi-lang-yaml=\"`20`\" pulumi-lang-java=\"`20`\"\u003e`20`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`30`\" pulumi-lang-dotnet=\"`30`\" pulumi-lang-go=\"`30`\" pulumi-lang-python=\"`30`\" pulumi-lang-yaml=\"`30`\" pulumi-lang-java=\"`30`\"\u003e`30`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`40`\" pulumi-lang-dotnet=\"`40`\" pulumi-lang-go=\"`40`\" pulumi-lang-python=\"`40`\" pulumi-lang-yaml=\"`40`\" pulumi-lang-java=\"`40`\"\u003e`40`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`50`\" pulumi-lang-dotnet=\"`50`\" pulumi-lang-go=\"`50`\" pulumi-lang-python=\"`50`\" pulumi-lang-yaml=\"`50`\" pulumi-lang-java=\"`50`\"\u003e`50`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`60`\" pulumi-lang-dotnet=\"`60`\" pulumi-lang-go=\"`60`\" pulumi-lang-python=\"`60`\" pulumi-lang-yaml=\"`60`\" pulumi-lang-java=\"`60`\"\u003e`60`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`70`\" pulumi-lang-dotnet=\"`70`\" pulumi-lang-go=\"`70`\" pulumi-lang-python=\"`70`\" pulumi-lang-yaml=\"`70`\" pulumi-lang-java=\"`70`\"\u003e`70`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`80`\" pulumi-lang-dotnet=\"`80`\" pulumi-lang-go=\"`80`\" pulumi-lang-python=\"`80`\" pulumi-lang-yaml=\"`80`\" pulumi-lang-java=\"`80`\"\u003e`80`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`90`\" pulumi-lang-dotnet=\"`90`\" pulumi-lang-go=\"`90`\" pulumi-lang-python=\"`90`\" pulumi-lang-yaml=\"`90`\" pulumi-lang-java=\"`90`\"\u003e`90`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`100`\" pulumi-lang-dotnet=\"`100`\" pulumi-lang-go=\"`100`\" pulumi-lang-python=\"`100`\" pulumi-lang-yaml=\"`100`\" pulumi-lang-java=\"`100`\"\u003e`100`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`200`\" pulumi-lang-dotnet=\"`200`\" pulumi-lang-go=\"`200`\" pulumi-lang-python=\"`200`\" pulumi-lang-yaml=\"`200`\" pulumi-lang-java=\"`200`\"\u003e`200`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`300`\" pulumi-lang-dotnet=\"`300`\" pulumi-lang-go=\"`300`\" pulumi-lang-python=\"`300`\" pulumi-lang-yaml=\"`300`\" pulumi-lang-java=\"`300`\"\u003e`300`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`400`\" pulumi-lang-dotnet=\"`400`\" pulumi-lang-go=\"`400`\" pulumi-lang-python=\"`400`\" pulumi-lang-yaml=\"`400`\" pulumi-lang-java=\"`400`\"\u003e`400`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`500`\" pulumi-lang-dotnet=\"`500`\" pulumi-lang-go=\"`500`\" pulumi-lang-python=\"`500`\" pulumi-lang-yaml=\"`500`\" pulumi-lang-java=\"`500`\"\u003e`500`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`600`\" pulumi-lang-dotnet=\"`600`\" pulumi-lang-go=\"`600`\" pulumi-lang-python=\"`600`\" pulumi-lang-yaml=\"`600`\" pulumi-lang-java=\"`600`\"\u003e`600`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`700`\" pulumi-lang-dotnet=\"`700`\" pulumi-lang-go=\"`700`\" pulumi-lang-python=\"`700`\" pulumi-lang-yaml=\"`700`\" pulumi-lang-java=\"`700`\"\u003e`700`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`800`\" pulumi-lang-dotnet=\"`800`\" pulumi-lang-go=\"`800`\" pulumi-lang-python=\"`800`\" pulumi-lang-yaml=\"`800`\" pulumi-lang-java=\"`800`\"\u003e`800`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`900`\" pulumi-lang-dotnet=\"`900`\" pulumi-lang-go=\"`900`\" pulumi-lang-python=\"`900`\" pulumi-lang-yaml=\"`900`\" pulumi-lang-java=\"`900`\"\u003e`900`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`1000`\" pulumi-lang-dotnet=\"`1000`\" pulumi-lang-go=\"`1000`\" pulumi-lang-python=\"`1000`\" pulumi-lang-yaml=\"`1000`\" pulumi-lang-java=\"`1000`\"\u003e`1000`\u003c/span\u003e.\n\n\u003e **Note:** The valid capacity range for sku `Free_F1` is \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e, for sku `Premium_P2` is from \u003cspan pulumi-lang-nodejs=\"`100`\" pulumi-lang-dotnet=\"`100`\" pulumi-lang-go=\"`100`\" pulumi-lang-python=\"`100`\" pulumi-lang-yaml=\"`100`\" pulumi-lang-java=\"`100`\"\u003e`100`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`1000`\" pulumi-lang-dotnet=\"`1000`\" pulumi-lang-go=\"`1000`\" pulumi-lang-python=\"`1000`\" pulumi-lang-yaml=\"`1000`\" pulumi-lang-java=\"`1000`\"\u003e`1000`\u003c/span\u003e, and from \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`100`\" pulumi-lang-dotnet=\"`100`\" pulumi-lang-go=\"`100`\" pulumi-lang-python=\"`100`\" pulumi-lang-yaml=\"`100`\" pulumi-lang-java=\"`100`\"\u003e`100`\u003c/span\u003e for sku `Standard_S1` and `Premium_P1`.\n"},"externalIp":{"type":"string","description":"The publicly accessible IP of the Web PubSub service.\n"},"hostname":{"type":"string","description":"The FQDN of the Web PubSub service.\n"},"identity":{"$ref":"#/types/azure:webpubsub/ServiceIdentity:ServiceIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"liveTrace":{"$ref":"#/types/azure:webpubsub/ServiceLiveTrace:ServiceLiveTrace","description":"A \u003cspan pulumi-lang-nodejs=\"`liveTrace`\" pulumi-lang-dotnet=\"`LiveTrace`\" pulumi-lang-go=\"`liveTrace`\" pulumi-lang-python=\"`live_trace`\" pulumi-lang-yaml=\"`liveTrace`\" pulumi-lang-java=\"`liveTrace`\"\u003e`live_trace`\u003c/span\u003e block as defined below.\n"},"localAuthEnabled":{"type":"boolean","description":"Whether to enable local auth? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the Web PubSub service exists. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"The name of the Web PubSub service. Changing this forces a new resource to be created.\n"},"primaryAccessKey":{"type":"string","description":"The primary access key for the Web PubSub service.\n","secret":true},"primaryConnectionString":{"type":"string","description":"The primary connection string for the Web PubSub service.\n","secret":true},"publicNetworkAccessEnabled":{"type":"boolean","description":"Whether to enable public network access? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"publicPort":{"type":"integer","description":"The publicly accessible port of the Web PubSub service which is designed for browser/client use.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the Web PubSub service. Changing this forces a new resource to be created.\n"},"secondaryAccessKey":{"type":"string","description":"The secondary access key for the Web PubSub service.\n","secret":true},"secondaryConnectionString":{"type":"string","description":"The secondary connection string for the Web PubSub service.\n","secret":true},"serverPort":{"type":"integer","description":"The publicly accessible port of the Web PubSub service which is designed for customer server side use.\n"},"sku":{"type":"string","description":"Specifies which SKU to use. Possible values are `Free_F1`, `Standard_S1`, `Premium_P1` and `Premium_P2`.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"tlsClientCertEnabled":{"type":"boolean","description":"Whether to request client certificate during TLS handshake? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"version":{"type":"string"}},"required":["externalIp","hostname","location","name","primaryAccessKey","primaryConnectionString","publicPort","resourceGroupName","secondaryAccessKey","secondaryConnectionString","serverPort","sku","version"],"inputProperties":{"aadAuthEnabled":{"type":"boolean","description":"Whether to enable AAD auth? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"capacity":{"type":"integer","description":"Specifies the number of units associated with this Web PubSub resource. Valid values are \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`4`\" pulumi-lang-dotnet=\"`4`\" pulumi-lang-go=\"`4`\" pulumi-lang-python=\"`4`\" pulumi-lang-yaml=\"`4`\" pulumi-lang-java=\"`4`\"\u003e`4`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`5`\" pulumi-lang-dotnet=\"`5`\" pulumi-lang-go=\"`5`\" pulumi-lang-python=\"`5`\" pulumi-lang-yaml=\"`5`\" pulumi-lang-java=\"`5`\"\u003e`5`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`6`\" pulumi-lang-dotnet=\"`6`\" pulumi-lang-go=\"`6`\" pulumi-lang-python=\"`6`\" pulumi-lang-yaml=\"`6`\" pulumi-lang-java=\"`6`\"\u003e`6`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`7`\" pulumi-lang-dotnet=\"`7`\" pulumi-lang-go=\"`7`\" pulumi-lang-python=\"`7`\" pulumi-lang-yaml=\"`7`\" pulumi-lang-java=\"`7`\"\u003e`7`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`8`\" pulumi-lang-dotnet=\"`8`\" pulumi-lang-go=\"`8`\" pulumi-lang-python=\"`8`\" pulumi-lang-yaml=\"`8`\" pulumi-lang-java=\"`8`\"\u003e`8`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`9`\" pulumi-lang-dotnet=\"`9`\" pulumi-lang-go=\"`9`\" pulumi-lang-python=\"`9`\" pulumi-lang-yaml=\"`9`\" pulumi-lang-java=\"`9`\"\u003e`9`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`10`\" pulumi-lang-dotnet=\"`10`\" pulumi-lang-go=\"`10`\" pulumi-lang-python=\"`10`\" pulumi-lang-yaml=\"`10`\" pulumi-lang-java=\"`10`\"\u003e`10`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`20`\" pulumi-lang-dotnet=\"`20`\" pulumi-lang-go=\"`20`\" pulumi-lang-python=\"`20`\" pulumi-lang-yaml=\"`20`\" pulumi-lang-java=\"`20`\"\u003e`20`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`30`\" pulumi-lang-dotnet=\"`30`\" pulumi-lang-go=\"`30`\" pulumi-lang-python=\"`30`\" pulumi-lang-yaml=\"`30`\" pulumi-lang-java=\"`30`\"\u003e`30`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`40`\" pulumi-lang-dotnet=\"`40`\" pulumi-lang-go=\"`40`\" pulumi-lang-python=\"`40`\" pulumi-lang-yaml=\"`40`\" pulumi-lang-java=\"`40`\"\u003e`40`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`50`\" pulumi-lang-dotnet=\"`50`\" pulumi-lang-go=\"`50`\" pulumi-lang-python=\"`50`\" pulumi-lang-yaml=\"`50`\" pulumi-lang-java=\"`50`\"\u003e`50`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`60`\" pulumi-lang-dotnet=\"`60`\" pulumi-lang-go=\"`60`\" pulumi-lang-python=\"`60`\" pulumi-lang-yaml=\"`60`\" pulumi-lang-java=\"`60`\"\u003e`60`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`70`\" pulumi-lang-dotnet=\"`70`\" pulumi-lang-go=\"`70`\" pulumi-lang-python=\"`70`\" pulumi-lang-yaml=\"`70`\" pulumi-lang-java=\"`70`\"\u003e`70`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`80`\" pulumi-lang-dotnet=\"`80`\" pulumi-lang-go=\"`80`\" pulumi-lang-python=\"`80`\" pulumi-lang-yaml=\"`80`\" pulumi-lang-java=\"`80`\"\u003e`80`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`90`\" pulumi-lang-dotnet=\"`90`\" pulumi-lang-go=\"`90`\" pulumi-lang-python=\"`90`\" pulumi-lang-yaml=\"`90`\" pulumi-lang-java=\"`90`\"\u003e`90`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`100`\" pulumi-lang-dotnet=\"`100`\" pulumi-lang-go=\"`100`\" pulumi-lang-python=\"`100`\" pulumi-lang-yaml=\"`100`\" pulumi-lang-java=\"`100`\"\u003e`100`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`200`\" pulumi-lang-dotnet=\"`200`\" pulumi-lang-go=\"`200`\" pulumi-lang-python=\"`200`\" pulumi-lang-yaml=\"`200`\" pulumi-lang-java=\"`200`\"\u003e`200`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`300`\" pulumi-lang-dotnet=\"`300`\" pulumi-lang-go=\"`300`\" pulumi-lang-python=\"`300`\" pulumi-lang-yaml=\"`300`\" pulumi-lang-java=\"`300`\"\u003e`300`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`400`\" pulumi-lang-dotnet=\"`400`\" pulumi-lang-go=\"`400`\" pulumi-lang-python=\"`400`\" pulumi-lang-yaml=\"`400`\" pulumi-lang-java=\"`400`\"\u003e`400`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`500`\" pulumi-lang-dotnet=\"`500`\" pulumi-lang-go=\"`500`\" pulumi-lang-python=\"`500`\" pulumi-lang-yaml=\"`500`\" pulumi-lang-java=\"`500`\"\u003e`500`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`600`\" pulumi-lang-dotnet=\"`600`\" pulumi-lang-go=\"`600`\" pulumi-lang-python=\"`600`\" pulumi-lang-yaml=\"`600`\" pulumi-lang-java=\"`600`\"\u003e`600`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`700`\" pulumi-lang-dotnet=\"`700`\" pulumi-lang-go=\"`700`\" pulumi-lang-python=\"`700`\" pulumi-lang-yaml=\"`700`\" pulumi-lang-java=\"`700`\"\u003e`700`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`800`\" pulumi-lang-dotnet=\"`800`\" pulumi-lang-go=\"`800`\" pulumi-lang-python=\"`800`\" pulumi-lang-yaml=\"`800`\" pulumi-lang-java=\"`800`\"\u003e`800`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`900`\" pulumi-lang-dotnet=\"`900`\" pulumi-lang-go=\"`900`\" pulumi-lang-python=\"`900`\" pulumi-lang-yaml=\"`900`\" pulumi-lang-java=\"`900`\"\u003e`900`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`1000`\" pulumi-lang-dotnet=\"`1000`\" pulumi-lang-go=\"`1000`\" pulumi-lang-python=\"`1000`\" pulumi-lang-yaml=\"`1000`\" pulumi-lang-java=\"`1000`\"\u003e`1000`\u003c/span\u003e.\n\n\u003e **Note:** The valid capacity range for sku `Free_F1` is \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e, for sku `Premium_P2` is from \u003cspan pulumi-lang-nodejs=\"`100`\" pulumi-lang-dotnet=\"`100`\" pulumi-lang-go=\"`100`\" pulumi-lang-python=\"`100`\" pulumi-lang-yaml=\"`100`\" pulumi-lang-java=\"`100`\"\u003e`100`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`1000`\" pulumi-lang-dotnet=\"`1000`\" pulumi-lang-go=\"`1000`\" pulumi-lang-python=\"`1000`\" pulumi-lang-yaml=\"`1000`\" pulumi-lang-java=\"`1000`\"\u003e`1000`\u003c/span\u003e, and from \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`100`\" pulumi-lang-dotnet=\"`100`\" pulumi-lang-go=\"`100`\" pulumi-lang-python=\"`100`\" pulumi-lang-yaml=\"`100`\" pulumi-lang-java=\"`100`\"\u003e`100`\u003c/span\u003e for sku `Standard_S1` and `Premium_P1`.\n"},"identity":{"$ref":"#/types/azure:webpubsub/ServiceIdentity:ServiceIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"liveTrace":{"$ref":"#/types/azure:webpubsub/ServiceLiveTrace:ServiceLiveTrace","description":"A \u003cspan pulumi-lang-nodejs=\"`liveTrace`\" pulumi-lang-dotnet=\"`LiveTrace`\" pulumi-lang-go=\"`liveTrace`\" pulumi-lang-python=\"`live_trace`\" pulumi-lang-yaml=\"`liveTrace`\" pulumi-lang-java=\"`liveTrace`\"\u003e`live_trace`\u003c/span\u003e block as defined below.\n"},"localAuthEnabled":{"type":"boolean","description":"Whether to enable local auth? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the Web PubSub service exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the Web PubSub service. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"publicNetworkAccessEnabled":{"type":"boolean","description":"Whether to enable public network access? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the Web PubSub service. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sku":{"type":"string","description":"Specifies which SKU to use. Possible values are `Free_F1`, `Standard_S1`, `Premium_P1` and `Premium_P2`.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"tlsClientCertEnabled":{"type":"boolean","description":"Whether to request client certificate during TLS handshake? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"}},"requiredInputs":["resourceGroupName","sku"],"stateInputs":{"description":"Input properties used for looking up and filtering Service resources.\n","properties":{"aadAuthEnabled":{"type":"boolean","description":"Whether to enable AAD auth? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"capacity":{"type":"integer","description":"Specifies the number of units associated with this Web PubSub resource. Valid values are \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`4`\" pulumi-lang-dotnet=\"`4`\" pulumi-lang-go=\"`4`\" pulumi-lang-python=\"`4`\" pulumi-lang-yaml=\"`4`\" pulumi-lang-java=\"`4`\"\u003e`4`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`5`\" pulumi-lang-dotnet=\"`5`\" pulumi-lang-go=\"`5`\" pulumi-lang-python=\"`5`\" pulumi-lang-yaml=\"`5`\" pulumi-lang-java=\"`5`\"\u003e`5`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`6`\" pulumi-lang-dotnet=\"`6`\" pulumi-lang-go=\"`6`\" pulumi-lang-python=\"`6`\" pulumi-lang-yaml=\"`6`\" pulumi-lang-java=\"`6`\"\u003e`6`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`7`\" pulumi-lang-dotnet=\"`7`\" pulumi-lang-go=\"`7`\" pulumi-lang-python=\"`7`\" pulumi-lang-yaml=\"`7`\" pulumi-lang-java=\"`7`\"\u003e`7`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`8`\" pulumi-lang-dotnet=\"`8`\" pulumi-lang-go=\"`8`\" pulumi-lang-python=\"`8`\" pulumi-lang-yaml=\"`8`\" pulumi-lang-java=\"`8`\"\u003e`8`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`9`\" pulumi-lang-dotnet=\"`9`\" pulumi-lang-go=\"`9`\" pulumi-lang-python=\"`9`\" pulumi-lang-yaml=\"`9`\" pulumi-lang-java=\"`9`\"\u003e`9`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`10`\" pulumi-lang-dotnet=\"`10`\" pulumi-lang-go=\"`10`\" pulumi-lang-python=\"`10`\" pulumi-lang-yaml=\"`10`\" pulumi-lang-java=\"`10`\"\u003e`10`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`20`\" pulumi-lang-dotnet=\"`20`\" pulumi-lang-go=\"`20`\" pulumi-lang-python=\"`20`\" pulumi-lang-yaml=\"`20`\" pulumi-lang-java=\"`20`\"\u003e`20`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`30`\" pulumi-lang-dotnet=\"`30`\" pulumi-lang-go=\"`30`\" pulumi-lang-python=\"`30`\" pulumi-lang-yaml=\"`30`\" pulumi-lang-java=\"`30`\"\u003e`30`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`40`\" pulumi-lang-dotnet=\"`40`\" pulumi-lang-go=\"`40`\" pulumi-lang-python=\"`40`\" pulumi-lang-yaml=\"`40`\" pulumi-lang-java=\"`40`\"\u003e`40`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`50`\" pulumi-lang-dotnet=\"`50`\" pulumi-lang-go=\"`50`\" pulumi-lang-python=\"`50`\" pulumi-lang-yaml=\"`50`\" pulumi-lang-java=\"`50`\"\u003e`50`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`60`\" pulumi-lang-dotnet=\"`60`\" pulumi-lang-go=\"`60`\" pulumi-lang-python=\"`60`\" pulumi-lang-yaml=\"`60`\" pulumi-lang-java=\"`60`\"\u003e`60`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`70`\" pulumi-lang-dotnet=\"`70`\" pulumi-lang-go=\"`70`\" pulumi-lang-python=\"`70`\" pulumi-lang-yaml=\"`70`\" pulumi-lang-java=\"`70`\"\u003e`70`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`80`\" pulumi-lang-dotnet=\"`80`\" pulumi-lang-go=\"`80`\" pulumi-lang-python=\"`80`\" pulumi-lang-yaml=\"`80`\" pulumi-lang-java=\"`80`\"\u003e`80`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`90`\" pulumi-lang-dotnet=\"`90`\" pulumi-lang-go=\"`90`\" pulumi-lang-python=\"`90`\" pulumi-lang-yaml=\"`90`\" pulumi-lang-java=\"`90`\"\u003e`90`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`100`\" pulumi-lang-dotnet=\"`100`\" pulumi-lang-go=\"`100`\" pulumi-lang-python=\"`100`\" pulumi-lang-yaml=\"`100`\" pulumi-lang-java=\"`100`\"\u003e`100`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`200`\" pulumi-lang-dotnet=\"`200`\" pulumi-lang-go=\"`200`\" pulumi-lang-python=\"`200`\" pulumi-lang-yaml=\"`200`\" pulumi-lang-java=\"`200`\"\u003e`200`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`300`\" pulumi-lang-dotnet=\"`300`\" pulumi-lang-go=\"`300`\" pulumi-lang-python=\"`300`\" pulumi-lang-yaml=\"`300`\" pulumi-lang-java=\"`300`\"\u003e`300`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`400`\" pulumi-lang-dotnet=\"`400`\" pulumi-lang-go=\"`400`\" pulumi-lang-python=\"`400`\" pulumi-lang-yaml=\"`400`\" pulumi-lang-java=\"`400`\"\u003e`400`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`500`\" pulumi-lang-dotnet=\"`500`\" pulumi-lang-go=\"`500`\" pulumi-lang-python=\"`500`\" pulumi-lang-yaml=\"`500`\" pulumi-lang-java=\"`500`\"\u003e`500`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`600`\" pulumi-lang-dotnet=\"`600`\" pulumi-lang-go=\"`600`\" pulumi-lang-python=\"`600`\" pulumi-lang-yaml=\"`600`\" pulumi-lang-java=\"`600`\"\u003e`600`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`700`\" pulumi-lang-dotnet=\"`700`\" pulumi-lang-go=\"`700`\" pulumi-lang-python=\"`700`\" pulumi-lang-yaml=\"`700`\" pulumi-lang-java=\"`700`\"\u003e`700`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`800`\" pulumi-lang-dotnet=\"`800`\" pulumi-lang-go=\"`800`\" pulumi-lang-python=\"`800`\" pulumi-lang-yaml=\"`800`\" pulumi-lang-java=\"`800`\"\u003e`800`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`900`\" pulumi-lang-dotnet=\"`900`\" pulumi-lang-go=\"`900`\" pulumi-lang-python=\"`900`\" pulumi-lang-yaml=\"`900`\" pulumi-lang-java=\"`900`\"\u003e`900`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`1000`\" pulumi-lang-dotnet=\"`1000`\" pulumi-lang-go=\"`1000`\" pulumi-lang-python=\"`1000`\" pulumi-lang-yaml=\"`1000`\" pulumi-lang-java=\"`1000`\"\u003e`1000`\u003c/span\u003e.\n\n\u003e **Note:** The valid capacity range for sku `Free_F1` is \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e, for sku `Premium_P2` is from \u003cspan pulumi-lang-nodejs=\"`100`\" pulumi-lang-dotnet=\"`100`\" pulumi-lang-go=\"`100`\" pulumi-lang-python=\"`100`\" pulumi-lang-yaml=\"`100`\" pulumi-lang-java=\"`100`\"\u003e`100`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`1000`\" pulumi-lang-dotnet=\"`1000`\" pulumi-lang-go=\"`1000`\" pulumi-lang-python=\"`1000`\" pulumi-lang-yaml=\"`1000`\" pulumi-lang-java=\"`1000`\"\u003e`1000`\u003c/span\u003e, and from \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`100`\" pulumi-lang-dotnet=\"`100`\" pulumi-lang-go=\"`100`\" pulumi-lang-python=\"`100`\" pulumi-lang-yaml=\"`100`\" pulumi-lang-java=\"`100`\"\u003e`100`\u003c/span\u003e for sku `Standard_S1` and `Premium_P1`.\n"},"externalIp":{"type":"string","description":"The publicly accessible IP of the Web PubSub service.\n"},"hostname":{"type":"string","description":"The FQDN of the Web PubSub service.\n"},"identity":{"$ref":"#/types/azure:webpubsub/ServiceIdentity:ServiceIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"liveTrace":{"$ref":"#/types/azure:webpubsub/ServiceLiveTrace:ServiceLiveTrace","description":"A \u003cspan pulumi-lang-nodejs=\"`liveTrace`\" pulumi-lang-dotnet=\"`LiveTrace`\" pulumi-lang-go=\"`liveTrace`\" pulumi-lang-python=\"`live_trace`\" pulumi-lang-yaml=\"`liveTrace`\" pulumi-lang-java=\"`liveTrace`\"\u003e`live_trace`\u003c/span\u003e block as defined below.\n"},"localAuthEnabled":{"type":"boolean","description":"Whether to enable local auth? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"location":{"type":"string","description":"Specifies the supported Azure location where the Web PubSub service exists. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the Web PubSub service. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"primaryAccessKey":{"type":"string","description":"The primary access key for the Web PubSub service.\n","secret":true},"primaryConnectionString":{"type":"string","description":"The primary connection string for the Web PubSub service.\n","secret":true},"publicNetworkAccessEnabled":{"type":"boolean","description":"Whether to enable public network access? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"publicPort":{"type":"integer","description":"The publicly accessible port of the Web PubSub service which is designed for browser/client use.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the Web PubSub service. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"secondaryAccessKey":{"type":"string","description":"The secondary access key for the Web PubSub service.\n","secret":true},"secondaryConnectionString":{"type":"string","description":"The secondary connection string for the Web PubSub service.\n","secret":true},"serverPort":{"type":"integer","description":"The publicly accessible port of the Web PubSub service which is designed for customer server side use.\n"},"sku":{"type":"string","description":"Specifies which SKU to use. Possible values are `Free_F1`, `Standard_S1`, `Premium_P1` and `Premium_P2`.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"tlsClientCertEnabled":{"type":"boolean","description":"Whether to request client certificate during TLS handshake? Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"version":{"type":"string"}},"type":"object"}},"azure:webpubsub/sharedPrivateLinkResource:SharedPrivateLinkResource":{"description":"Manages the Shared Private Link Resource for a Web Pubsub service.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst current = azure.core.getClientConfig({});\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"terraform-webpubsub\",\n    location: \"east us\",\n});\nconst exampleKeyVault = new azure.keyvault.KeyVault(\"example\", {\n    name: \"examplekeyvault\",\n    location: example.location,\n    resourceGroupName: example.name,\n    tenantId: current.then(current =\u003e current.tenantId),\n    skuName: \"standard\",\n    softDeleteRetentionDays: 7,\n    accessPolicies: [{\n        tenantId: current.then(current =\u003e current.tenantId),\n        objectId: current.then(current =\u003e current.objectId),\n        certificatePermissions: [\"managecontacts\"],\n        keyPermissions: [\"create\"],\n        secretPermissions: [\"set\"],\n    }],\n});\nconst exampleService = new azure.webpubsub.Service(\"example\", {\n    name: \"tfex-webpubsub\",\n    location: example.location,\n    resourceGroupName: example.name,\n    sku: \"Standard_S1\",\n    capacity: 1,\n});\nconst exampleSharedPrivateLinkResource = new azure.webpubsub.SharedPrivateLinkResource(\"example\", {\n    name: \"tfex-webpubsub-splr\",\n    webPubsubId: exampleService.id,\n    subresourceName: \"vault\",\n    targetResourceId: exampleKeyVault.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\ncurrent = azure.core.get_client_config()\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"terraform-webpubsub\",\n    location=\"east us\")\nexample_key_vault = azure.keyvault.KeyVault(\"example\",\n    name=\"examplekeyvault\",\n    location=example.location,\n    resource_group_name=example.name,\n    tenant_id=current.tenant_id,\n    sku_name=\"standard\",\n    soft_delete_retention_days=7,\n    access_policies=[{\n        \"tenant_id\": current.tenant_id,\n        \"object_id\": current.object_id,\n        \"certificate_permissions\": [\"managecontacts\"],\n        \"key_permissions\": [\"create\"],\n        \"secret_permissions\": [\"set\"],\n    }])\nexample_service = azure.webpubsub.Service(\"example\",\n    name=\"tfex-webpubsub\",\n    location=example.location,\n    resource_group_name=example.name,\n    sku=\"Standard_S1\",\n    capacity=1)\nexample_shared_private_link_resource = azure.webpubsub.SharedPrivateLinkResource(\"example\",\n    name=\"tfex-webpubsub-splr\",\n    web_pubsub_id=example_service.id,\n    subresource_name=\"vault\",\n    target_resource_id=example_key_vault.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var current = Azure.Core.GetClientConfig.Invoke();\n\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"terraform-webpubsub\",\n        Location = \"east us\",\n    });\n\n    var exampleKeyVault = new Azure.KeyVault.KeyVault(\"example\", new()\n    {\n        Name = \"examplekeyvault\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        TenantId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.TenantId),\n        SkuName = \"standard\",\n        SoftDeleteRetentionDays = 7,\n        AccessPolicies = new[]\n        {\n            new Azure.KeyVault.Inputs.KeyVaultAccessPolicyArgs\n            {\n                TenantId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.TenantId),\n                ObjectId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.ObjectId),\n                CertificatePermissions = new[]\n                {\n                    \"managecontacts\",\n                },\n                KeyPermissions = new[]\n                {\n                    \"create\",\n                },\n                SecretPermissions = new[]\n                {\n                    \"set\",\n                },\n            },\n        },\n    });\n\n    var exampleService = new Azure.WebPubSub.Service(\"example\", new()\n    {\n        Name = \"tfex-webpubsub\",\n        Location = example.Location,\n        ResourceGroupName = example.Name,\n        Sku = \"Standard_S1\",\n        Capacity = 1,\n    });\n\n    var exampleSharedPrivateLinkResource = new Azure.WebPubSub.SharedPrivateLinkResource(\"example\", new()\n    {\n        Name = \"tfex-webpubsub-splr\",\n        WebPubsubId = exampleService.Id,\n        SubresourceName = \"vault\",\n        TargetResourceId = exampleKeyVault.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/keyvault\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/webpubsub\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := core.GetClientConfig(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"terraform-webpubsub\"),\n\t\t\tLocation: pulumi.String(\"east us\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleKeyVault, err := keyvault.NewKeyVault(ctx, \"example\", \u0026keyvault.KeyVaultArgs{\n\t\t\tName:                    pulumi.String(\"examplekeyvault\"),\n\t\t\tLocation:                example.Location,\n\t\t\tResourceGroupName:       example.Name,\n\t\t\tTenantId:                pulumi.String(current.TenantId),\n\t\t\tSkuName:                 pulumi.String(\"standard\"),\n\t\t\tSoftDeleteRetentionDays: pulumi.Int(7),\n\t\t\tAccessPolicies: keyvault.KeyVaultAccessPolicyArray{\n\t\t\t\t\u0026keyvault.KeyVaultAccessPolicyArgs{\n\t\t\t\t\tTenantId: pulumi.String(current.TenantId),\n\t\t\t\t\tObjectId: pulumi.String(current.ObjectId),\n\t\t\t\t\tCertificatePermissions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"managecontacts\"),\n\t\t\t\t\t},\n\t\t\t\t\tKeyPermissions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"create\"),\n\t\t\t\t\t},\n\t\t\t\t\tSecretPermissions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"set\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleService, err := webpubsub.NewService(ctx, \"example\", \u0026webpubsub.ServiceArgs{\n\t\t\tName:              pulumi.String(\"tfex-webpubsub\"),\n\t\t\tLocation:          example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSku:               pulumi.String(\"Standard_S1\"),\n\t\t\tCapacity:          pulumi.Int(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = webpubsub.NewSharedPrivateLinkResource(ctx, \"example\", \u0026webpubsub.SharedPrivateLinkResourceArgs{\n\t\t\tName:             pulumi.String(\"tfex-webpubsub-splr\"),\n\t\t\tWebPubsubId:      exampleService.ID(),\n\t\t\tSubresourceName:  pulumi.String(\"vault\"),\n\t\t\tTargetResourceId: exampleKeyVault.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.keyvault.KeyVault;\nimport com.pulumi.azure.keyvault.KeyVaultArgs;\nimport com.pulumi.azure.keyvault.inputs.KeyVaultAccessPolicyArgs;\nimport com.pulumi.azure.webpubsub.Service;\nimport com.pulumi.azure.webpubsub.ServiceArgs;\nimport com.pulumi.azure.webpubsub.SharedPrivateLinkResource;\nimport com.pulumi.azure.webpubsub.SharedPrivateLinkResourceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var current = CoreFunctions.getClientConfig(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"terraform-webpubsub\")\n            .location(\"east us\")\n            .build());\n\n        var exampleKeyVault = new KeyVault(\"exampleKeyVault\", KeyVaultArgs.builder()\n            .name(\"examplekeyvault\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .tenantId(current.tenantId())\n            .skuName(\"standard\")\n            .softDeleteRetentionDays(7)\n            .accessPolicies(KeyVaultAccessPolicyArgs.builder()\n                .tenantId(current.tenantId())\n                .objectId(current.objectId())\n                .certificatePermissions(\"managecontacts\")\n                .keyPermissions(\"create\")\n                .secretPermissions(\"set\")\n                .build())\n            .build());\n\n        var exampleService = new Service(\"exampleService\", ServiceArgs.builder()\n            .name(\"tfex-webpubsub\")\n            .location(example.location())\n            .resourceGroupName(example.name())\n            .sku(\"Standard_S1\")\n            .capacity(1)\n            .build());\n\n        var exampleSharedPrivateLinkResource = new SharedPrivateLinkResource(\"exampleSharedPrivateLinkResource\", SharedPrivateLinkResourceArgs.builder()\n            .name(\"tfex-webpubsub-splr\")\n            .webPubsubId(exampleService.id())\n            .subresourceName(\"vault\")\n            .targetResourceId(exampleKeyVault.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: terraform-webpubsub\n      location: east us\n  exampleKeyVault:\n    type: azure:keyvault:KeyVault\n    name: example\n    properties:\n      name: examplekeyvault\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      tenantId: ${current.tenantId}\n      skuName: standard\n      softDeleteRetentionDays: 7\n      accessPolicies:\n        - tenantId: ${current.tenantId}\n          objectId: ${current.objectId}\n          certificatePermissions:\n            - managecontacts\n          keyPermissions:\n            - create\n          secretPermissions:\n            - set\n  exampleService:\n    type: azure:webpubsub:Service\n    name: example\n    properties:\n      name: tfex-webpubsub\n      location: ${example.location}\n      resourceGroupName: ${example.name}\n      sku: Standard_S1\n      capacity: 1\n  exampleSharedPrivateLinkResource:\n    type: azure:webpubsub:SharedPrivateLinkResource\n    name: example\n    properties:\n      name: tfex-webpubsub-splr\n      webPubsubId: ${exampleService.id}\n      subresourceName: vault\n      targetResourceId: ${exampleKeyVault.id}\nvariables:\n  current:\n    fn::invoke:\n      function: azure:core:getClientConfig\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.SignalRService` - 2024-03-01\n\n## Import\n\nWeb Pubsub Shared Private Link Resource can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:webpubsub/sharedPrivateLinkResource:SharedPrivateLinkResource example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.SignalRService/webPubSub/webPubSub1/sharedPrivateLinkResources/resource1\n```\n\n","properties":{"name":{"type":"string","description":"Specify the name of the Web Pubsub Shared Private Link Resource. Changing this forces a new resource to be created.\n"},"requestMessage":{"type":"string","description":"Specify the request message for requesting approval of the Shared Private Link Enabled Remote Resource.\n"},"status":{"type":"string","description":"The status of a private endpoint connection. Possible values are Pending, Approved, Rejected or Disconnected.\n"},"subresourceName":{"type":"string","description":"Specify the sub resource name which the Web Pubsub Private Endpoint is able to connect to. Changing this forces a new resource to be created.\n\n\u003e **Note:** The available sub resource can be retrieved by using \u003cspan pulumi-lang-nodejs=\"`azure.webpubsub.getPrivateLinkResource`\" pulumi-lang-dotnet=\"`azure.webpubsub.getPrivateLinkResource`\" pulumi-lang-go=\"`webpubsub.getPrivateLinkResource`\" pulumi-lang-python=\"`webpubsub_get_private_link_resource`\" pulumi-lang-yaml=\"`azure.webpubsub.getPrivateLinkResource`\" pulumi-lang-java=\"`azure.webpubsub.getPrivateLinkResource`\"\u003e`azure.webpubsub.getPrivateLinkResource`\u003c/span\u003e data source.\n"},"targetResourceId":{"type":"string","description":"Specify the ID of the Shared Private Link Enabled Remote Resource which this Web Pubsub Private Endpoint should be connected to. Changing this forces a new resource to be created.\n\n\u003e **Note:** The sub resource name should match with the type of the target resource id that's being specified.\n"},"webPubsubId":{"type":"string","description":"Specify the id of the Web Pubsub. Changing this forces a new resource to be created.\n"}},"required":["name","status","subresourceName","targetResourceId","webPubsubId"],"inputProperties":{"name":{"type":"string","description":"Specify the name of the Web Pubsub Shared Private Link Resource. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"requestMessage":{"type":"string","description":"Specify the request message for requesting approval of the Shared Private Link Enabled Remote Resource.\n"},"subresourceName":{"type":"string","description":"Specify the sub resource name which the Web Pubsub Private Endpoint is able to connect to. Changing this forces a new resource to be created.\n\n\u003e **Note:** The available sub resource can be retrieved by using \u003cspan pulumi-lang-nodejs=\"`azure.webpubsub.getPrivateLinkResource`\" pulumi-lang-dotnet=\"`azure.webpubsub.getPrivateLinkResource`\" pulumi-lang-go=\"`webpubsub.getPrivateLinkResource`\" pulumi-lang-python=\"`webpubsub_get_private_link_resource`\" pulumi-lang-yaml=\"`azure.webpubsub.getPrivateLinkResource`\" pulumi-lang-java=\"`azure.webpubsub.getPrivateLinkResource`\"\u003e`azure.webpubsub.getPrivateLinkResource`\u003c/span\u003e data source.\n","willReplaceOnChanges":true},"targetResourceId":{"type":"string","description":"Specify the ID of the Shared Private Link Enabled Remote Resource which this Web Pubsub Private Endpoint should be connected to. Changing this forces a new resource to be created.\n\n\u003e **Note:** The sub resource name should match with the type of the target resource id that's being specified.\n","willReplaceOnChanges":true},"webPubsubId":{"type":"string","description":"Specify the id of the Web Pubsub. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["subresourceName","targetResourceId","webPubsubId"],"stateInputs":{"description":"Input properties used for looking up and filtering SharedPrivateLinkResource resources.\n","properties":{"name":{"type":"string","description":"Specify the name of the Web Pubsub Shared Private Link Resource. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"requestMessage":{"type":"string","description":"Specify the request message for requesting approval of the Shared Private Link Enabled Remote Resource.\n"},"status":{"type":"string","description":"The status of a private endpoint connection. Possible values are Pending, Approved, Rejected or Disconnected.\n"},"subresourceName":{"type":"string","description":"Specify the sub resource name which the Web Pubsub Private Endpoint is able to connect to. Changing this forces a new resource to be created.\n\n\u003e **Note:** The available sub resource can be retrieved by using \u003cspan pulumi-lang-nodejs=\"`azure.webpubsub.getPrivateLinkResource`\" pulumi-lang-dotnet=\"`azure.webpubsub.getPrivateLinkResource`\" pulumi-lang-go=\"`webpubsub.getPrivateLinkResource`\" pulumi-lang-python=\"`webpubsub_get_private_link_resource`\" pulumi-lang-yaml=\"`azure.webpubsub.getPrivateLinkResource`\" pulumi-lang-java=\"`azure.webpubsub.getPrivateLinkResource`\"\u003e`azure.webpubsub.getPrivateLinkResource`\u003c/span\u003e data source.\n","willReplaceOnChanges":true},"targetResourceId":{"type":"string","description":"Specify the ID of the Shared Private Link Enabled Remote Resource which this Web Pubsub Private Endpoint should be connected to. Changing this forces a new resource to be created.\n\n\u003e **Note:** The sub resource name should match with the type of the target resource id that's being specified.\n","willReplaceOnChanges":true},"webPubsubId":{"type":"string","description":"Specify the id of the Web Pubsub. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}},"azure:webpubsub/socketio:Socketio":{"description":"Manages a Web PubSub Service for Socket.IO.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example\",\n    location: \"West Europe\",\n});\nconst exampleSocketio = new azure.webpubsub.Socketio(\"example\", {\n    name: \"example\",\n    resourceGroupName: example.name,\n    location: example.location,\n    sku: \"Free_F1\"[0],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example\",\n    location=\"West Europe\")\nexample_socketio = azure.webpubsub.Socketio(\"example\",\n    name=\"example\",\n    resource_group_name=example.name,\n    location=example.location,\n    sku=\"Free_F1\"[0])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example\",\n        Location = \"West Europe\",\n    });\n\n    var exampleSocketio = new Azure.WebPubSub.Socketio(\"example\", new()\n    {\n        Name = \"example\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        Sku = \"Free_F1\"[0],\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/webpubsub\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = webpubsub.NewSocketio(ctx, \"example\", \u0026webpubsub.SocketioArgs{\n\t\t\tName:              pulumi.String(\"example\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation:          example.Location,\n\t\t\tSku:               \"Free_F1\"[0],\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.webpubsub.Socketio;\nimport com.pulumi.azure.webpubsub.SocketioArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleSocketio = new Socketio(\"exampleSocketio\", SocketioArgs.builder()\n            .name(\"example\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .sku(\"Free_F1\"[0])\n            .build());\n\n    }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.SignalRService` - 2024-03-01\n\n## Import\n\nWeb PubSub Service for Socket.IOs can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:webpubsub/socketio:Socketio example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.SignalRService/webPubSub/pubsub1\n```\n\n","properties":{"aadAuthEnabled":{"type":"boolean","description":"Whether Azure Active Directory authentication is enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"externalIp":{"type":"string","description":"The publicly accessible IP address of the Web PubSub Service.\n"},"hostname":{"type":"string","description":"The FQDN of the Web PubSub Service.\n"},"identity":{"$ref":"#/types/azure:webpubsub/SocketioIdentity:SocketioIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"liveTraceConnectivityLogsEnabled":{"type":"boolean","description":"Whether the connectivity log category for live trace is enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"liveTraceEnabled":{"type":"boolean","description":"Whether the live trace tool is enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"liveTraceHttpRequestLogsEnabled":{"type":"boolean","description":"Whether the HTTP request log category for live trace is enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"liveTraceMessagingLogsEnabled":{"type":"boolean","description":"Whether the messaging log category for live trace is enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"localAuthEnabled":{"type":"boolean","description":"Whether local authentication using an access key is enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"location":{"type":"string","description":"The Azure Region where the Web PubSub Service should exist. Changing this forces a new Web PubSub Service to be created.\n"},"name":{"type":"string","description":"The name which should be used for this Web PubSub Service. Changing this forces a new Web PubSub Service to be created.\n"},"primaryAccessKey":{"type":"string","description":"The primary access key for the Web PubSub Service.\n","secret":true},"primaryConnectionString":{"type":"string","description":"The primary connection string for the Web PubSub Service.\n","secret":true},"publicNetworkAccess":{"type":"string","description":"Whether public network access is enabled. Defaults to `Enabled`. Possible values are `Enabled` and `Disabled`.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`publicNetworkAccess`\" pulumi-lang-dotnet=\"`PublicNetworkAccess`\" pulumi-lang-go=\"`publicNetworkAccess`\" pulumi-lang-python=\"`public_network_access`\" pulumi-lang-yaml=\"`publicNetworkAccess`\" pulumi-lang-java=\"`publicNetworkAccess`\"\u003e`public_network_access`\u003c/span\u003e cannot be set to `Disabled` when \u003cspan pulumi-lang-nodejs=\"`sku`\" pulumi-lang-dotnet=\"`Sku`\" pulumi-lang-go=\"`sku`\" pulumi-lang-python=\"`sku`\" pulumi-lang-yaml=\"`sku`\" pulumi-lang-java=\"`sku`\"\u003e`sku`\u003c/span\u003e is `Free_F1`.\n"},"publicPort":{"type":"integer","description":"The publicly accessible port for client-side usage of the Web PubSub Service.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Web PubSub Service should exist. Changing this forces a new Web PubSub Service to be created.\n"},"secondaryAccessKey":{"type":"string","description":"The secondary access key for the Web PubSub Service.\n","secret":true},"secondaryConnectionString":{"type":"string","description":"The secondary connection string for the Web PubSub Service.\n","secret":true},"serverPort":{"type":"integer","description":"The publicly accessible port for server-side usage of the Web PubSub Service.\n"},"serviceMode":{"type":"string","description":"The service mode of this Web PubSub Service. Defaults to `Default`. Possible values are `Default` and `Serverless`.\n"},"sku":{"$ref":"#/types/azure:webpubsub/SocketioSku:SocketioSku","description":"One or more \u003cspan pulumi-lang-nodejs=\"`sku`\" pulumi-lang-dotnet=\"`Sku`\" pulumi-lang-go=\"`sku`\" pulumi-lang-python=\"`sku`\" pulumi-lang-yaml=\"`sku`\" pulumi-lang-java=\"`sku`\"\u003e`sku`\u003c/span\u003e blocks as defined below.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Web PubSub Service.\n"},"tlsClientCertEnabled":{"type":"boolean","description":"Whether the service should request a client certificate during a TLS handshake. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`tlsClientCertEnabled`\" pulumi-lang-dotnet=\"`TlsClientCertEnabled`\" pulumi-lang-go=\"`tlsClientCertEnabled`\" pulumi-lang-python=\"`tls_client_cert_enabled`\" pulumi-lang-yaml=\"`tlsClientCertEnabled`\" pulumi-lang-java=\"`tlsClientCertEnabled`\"\u003e`tls_client_cert_enabled`\u003c/span\u003e cannot be set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e when \u003cspan pulumi-lang-nodejs=\"`sku`\" pulumi-lang-dotnet=\"`Sku`\" pulumi-lang-go=\"`sku`\" pulumi-lang-python=\"`sku`\" pulumi-lang-yaml=\"`sku`\" pulumi-lang-java=\"`sku`\"\u003e`sku`\u003c/span\u003e is `Free_F1`.\n"}},"required":["externalIp","hostname","location","name","primaryAccessKey","primaryConnectionString","publicPort","resourceGroupName","secondaryAccessKey","secondaryConnectionString","serverPort","sku"],"inputProperties":{"aadAuthEnabled":{"type":"boolean","description":"Whether Azure Active Directory authentication is enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"identity":{"$ref":"#/types/azure:webpubsub/SocketioIdentity:SocketioIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"liveTraceConnectivityLogsEnabled":{"type":"boolean","description":"Whether the connectivity log category for live trace is enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"liveTraceEnabled":{"type":"boolean","description":"Whether the live trace tool is enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"liveTraceHttpRequestLogsEnabled":{"type":"boolean","description":"Whether the HTTP request log category for live trace is enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"liveTraceMessagingLogsEnabled":{"type":"boolean","description":"Whether the messaging log category for live trace is enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"localAuthEnabled":{"type":"boolean","description":"Whether local authentication using an access key is enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"location":{"type":"string","description":"The Azure Region where the Web PubSub Service should exist. Changing this forces a new Web PubSub Service to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Web PubSub Service. Changing this forces a new Web PubSub Service to be created.\n","willReplaceOnChanges":true},"publicNetworkAccess":{"type":"string","description":"Whether public network access is enabled. Defaults to `Enabled`. Possible values are `Enabled` and `Disabled`.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`publicNetworkAccess`\" pulumi-lang-dotnet=\"`PublicNetworkAccess`\" pulumi-lang-go=\"`publicNetworkAccess`\" pulumi-lang-python=\"`public_network_access`\" pulumi-lang-yaml=\"`publicNetworkAccess`\" pulumi-lang-java=\"`publicNetworkAccess`\"\u003e`public_network_access`\u003c/span\u003e cannot be set to `Disabled` when \u003cspan pulumi-lang-nodejs=\"`sku`\" pulumi-lang-dotnet=\"`Sku`\" pulumi-lang-go=\"`sku`\" pulumi-lang-python=\"`sku`\" pulumi-lang-yaml=\"`sku`\" pulumi-lang-java=\"`sku`\"\u003e`sku`\u003c/span\u003e is `Free_F1`.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Web PubSub Service should exist. Changing this forces a new Web PubSub Service to be created.\n","willReplaceOnChanges":true},"serviceMode":{"type":"string","description":"The service mode of this Web PubSub Service. Defaults to `Default`. Possible values are `Default` and `Serverless`.\n"},"sku":{"$ref":"#/types/azure:webpubsub/SocketioSku:SocketioSku","description":"One or more \u003cspan pulumi-lang-nodejs=\"`sku`\" pulumi-lang-dotnet=\"`Sku`\" pulumi-lang-go=\"`sku`\" pulumi-lang-python=\"`sku`\" pulumi-lang-yaml=\"`sku`\" pulumi-lang-java=\"`sku`\"\u003e`sku`\u003c/span\u003e blocks as defined below.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Web PubSub Service.\n"},"tlsClientCertEnabled":{"type":"boolean","description":"Whether the service should request a client certificate during a TLS handshake. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`tlsClientCertEnabled`\" pulumi-lang-dotnet=\"`TlsClientCertEnabled`\" pulumi-lang-go=\"`tlsClientCertEnabled`\" pulumi-lang-python=\"`tls_client_cert_enabled`\" pulumi-lang-yaml=\"`tlsClientCertEnabled`\" pulumi-lang-java=\"`tlsClientCertEnabled`\"\u003e`tls_client_cert_enabled`\u003c/span\u003e cannot be set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e when \u003cspan pulumi-lang-nodejs=\"`sku`\" pulumi-lang-dotnet=\"`Sku`\" pulumi-lang-go=\"`sku`\" pulumi-lang-python=\"`sku`\" pulumi-lang-yaml=\"`sku`\" pulumi-lang-java=\"`sku`\"\u003e`sku`\u003c/span\u003e is `Free_F1`.\n"}},"requiredInputs":["resourceGroupName","sku"],"stateInputs":{"description":"Input properties used for looking up and filtering Socketio resources.\n","properties":{"aadAuthEnabled":{"type":"boolean","description":"Whether Azure Active Directory authentication is enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"externalIp":{"type":"string","description":"The publicly accessible IP address of the Web PubSub Service.\n"},"hostname":{"type":"string","description":"The FQDN of the Web PubSub Service.\n"},"identity":{"$ref":"#/types/azure:webpubsub/SocketioIdentity:SocketioIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"liveTraceConnectivityLogsEnabled":{"type":"boolean","description":"Whether the connectivity log category for live trace is enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"liveTraceEnabled":{"type":"boolean","description":"Whether the live trace tool is enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"liveTraceHttpRequestLogsEnabled":{"type":"boolean","description":"Whether the HTTP request log category for live trace is enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"liveTraceMessagingLogsEnabled":{"type":"boolean","description":"Whether the messaging log category for live trace is enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"localAuthEnabled":{"type":"boolean","description":"Whether local authentication using an access key is enabled. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"location":{"type":"string","description":"The Azure Region where the Web PubSub Service should exist. Changing this forces a new Web PubSub Service to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name which should be used for this Web PubSub Service. Changing this forces a new Web PubSub Service to be created.\n","willReplaceOnChanges":true},"primaryAccessKey":{"type":"string","description":"The primary access key for the Web PubSub Service.\n","secret":true},"primaryConnectionString":{"type":"string","description":"The primary connection string for the Web PubSub Service.\n","secret":true},"publicNetworkAccess":{"type":"string","description":"Whether public network access is enabled. Defaults to `Enabled`. Possible values are `Enabled` and `Disabled`.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`publicNetworkAccess`\" pulumi-lang-dotnet=\"`PublicNetworkAccess`\" pulumi-lang-go=\"`publicNetworkAccess`\" pulumi-lang-python=\"`public_network_access`\" pulumi-lang-yaml=\"`publicNetworkAccess`\" pulumi-lang-java=\"`publicNetworkAccess`\"\u003e`public_network_access`\u003c/span\u003e cannot be set to `Disabled` when \u003cspan pulumi-lang-nodejs=\"`sku`\" pulumi-lang-dotnet=\"`Sku`\" pulumi-lang-go=\"`sku`\" pulumi-lang-python=\"`sku`\" pulumi-lang-yaml=\"`sku`\" pulumi-lang-java=\"`sku`\"\u003e`sku`\u003c/span\u003e is `Free_F1`.\n"},"publicPort":{"type":"integer","description":"The publicly accessible port for client-side usage of the Web PubSub Service.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Web PubSub Service should exist. Changing this forces a new Web PubSub Service to be created.\n","willReplaceOnChanges":true},"secondaryAccessKey":{"type":"string","description":"The secondary access key for the Web PubSub Service.\n","secret":true},"secondaryConnectionString":{"type":"string","description":"The secondary connection string for the Web PubSub Service.\n","secret":true},"serverPort":{"type":"integer","description":"The publicly accessible port for server-side usage of the Web PubSub Service.\n"},"serviceMode":{"type":"string","description":"The service mode of this Web PubSub Service. Defaults to `Default`. Possible values are `Default` and `Serverless`.\n"},"sku":{"$ref":"#/types/azure:webpubsub/SocketioSku:SocketioSku","description":"One or more \u003cspan pulumi-lang-nodejs=\"`sku`\" pulumi-lang-dotnet=\"`Sku`\" pulumi-lang-go=\"`sku`\" pulumi-lang-python=\"`sku`\" pulumi-lang-yaml=\"`sku`\" pulumi-lang-java=\"`sku`\"\u003e`sku`\u003c/span\u003e blocks as defined below.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Web PubSub Service.\n"},"tlsClientCertEnabled":{"type":"boolean","description":"Whether the service should request a client certificate during a TLS handshake. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **Note:** \u003cspan pulumi-lang-nodejs=\"`tlsClientCertEnabled`\" pulumi-lang-dotnet=\"`TlsClientCertEnabled`\" pulumi-lang-go=\"`tlsClientCertEnabled`\" pulumi-lang-python=\"`tls_client_cert_enabled`\" pulumi-lang-yaml=\"`tlsClientCertEnabled`\" pulumi-lang-java=\"`tlsClientCertEnabled`\"\u003e`tls_client_cert_enabled`\u003c/span\u003e cannot be set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e when \u003cspan pulumi-lang-nodejs=\"`sku`\" pulumi-lang-dotnet=\"`Sku`\" pulumi-lang-go=\"`sku`\" pulumi-lang-python=\"`sku`\" pulumi-lang-yaml=\"`sku`\" pulumi-lang-java=\"`sku`\"\u003e`sku`\u003c/span\u003e is `Free_F1`.\n"}},"type":"object"}},"azure:workloadssap/discoveryVirtualInstance:DiscoveryVirtualInstance":{"description":"Manages an SAP Discovery Virtual Instance.\n\n\u003e **Note:** Before using this resource, it's required to submit the request of registering the Resource Provider with Azure CLI `az provider register --namespace \"Microsoft.Workloads\"`. The Resource Provider can take a while to register, you can check the status by running `az provider show --namespace \"Microsoft.Workloads\" --query \"registrationState\"`. Once this outputs \"Registered\" the Resource Provider is available for use.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-sapvis\",\n    location: \"West Europe\",\n});\nconst exampleDiscoveryVirtualInstance = new azure.workloadssap.DiscoveryVirtualInstance(\"example\", {\n    name: \"X01\",\n    resourceGroupName: example.name,\n    location: example.location,\n    environment: \"NonProd\",\n    sapProduct: \"S4HANA\",\n    centralServerVirtualMachineId: \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/exampleRG/providers/Microsoft.Compute/virtualMachines/csvm1\",\n    managedStorageAccountName: \"managedsa\",\n    identity: {\n        type: \"UserAssigned\",\n        identityIds: [\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/exampleRG/providers/Microsoft.ManagedIdentity/userAssignedIdentities/uai1\"],\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n    name=\"example-sapvis\",\n    location=\"West Europe\")\nexample_discovery_virtual_instance = azure.workloadssap.DiscoveryVirtualInstance(\"example\",\n    name=\"X01\",\n    resource_group_name=example.name,\n    location=example.location,\n    environment=\"NonProd\",\n    sap_product=\"S4HANA\",\n    central_server_virtual_machine_id=\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/exampleRG/providers/Microsoft.Compute/virtualMachines/csvm1\",\n    managed_storage_account_name=\"managedsa\",\n    identity={\n        \"type\": \"UserAssigned\",\n        \"identity_ids\": [\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/exampleRG/providers/Microsoft.ManagedIdentity/userAssignedIdentities/uai1\"],\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-sapvis\",\n        Location = \"West Europe\",\n    });\n\n    var exampleDiscoveryVirtualInstance = new Azure.WorkloadsSAP.DiscoveryVirtualInstance(\"example\", new()\n    {\n        Name = \"X01\",\n        ResourceGroupName = example.Name,\n        Location = example.Location,\n        Environment = \"NonProd\",\n        SapProduct = \"S4HANA\",\n        CentralServerVirtualMachineId = \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/exampleRG/providers/Microsoft.Compute/virtualMachines/csvm1\",\n        ManagedStorageAccountName = \"managedsa\",\n        Identity = new Azure.WorkloadsSAP.Inputs.DiscoveryVirtualInstanceIdentityArgs\n        {\n            Type = \"UserAssigned\",\n            IdentityIds = new[]\n            {\n                \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/exampleRG/providers/Microsoft.ManagedIdentity/userAssignedIdentities/uai1\",\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/workloadssap\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-sapvis\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = workloadssap.NewDiscoveryVirtualInstance(ctx, \"example\", \u0026workloadssap.DiscoveryVirtualInstanceArgs{\n\t\t\tName:                          pulumi.String(\"X01\"),\n\t\t\tResourceGroupName:             example.Name,\n\t\t\tLocation:                      example.Location,\n\t\t\tEnvironment:                   pulumi.String(\"NonProd\"),\n\t\t\tSapProduct:                    pulumi.String(\"S4HANA\"),\n\t\t\tCentralServerVirtualMachineId: pulumi.String(\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/exampleRG/providers/Microsoft.Compute/virtualMachines/csvm1\"),\n\t\t\tManagedStorageAccountName:     pulumi.String(\"managedsa\"),\n\t\t\tIdentity: \u0026workloadssap.DiscoveryVirtualInstanceIdentityArgs{\n\t\t\t\tType: pulumi.String(\"UserAssigned\"),\n\t\t\t\tIdentityIds: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/exampleRG/providers/Microsoft.ManagedIdentity/userAssignedIdentities/uai1\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.workloadssap.DiscoveryVirtualInstance;\nimport com.pulumi.azure.workloadssap.DiscoveryVirtualInstanceArgs;\nimport com.pulumi.azure.workloadssap.inputs.DiscoveryVirtualInstanceIdentityArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n            .name(\"example-sapvis\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleDiscoveryVirtualInstance = new DiscoveryVirtualInstance(\"exampleDiscoveryVirtualInstance\", DiscoveryVirtualInstanceArgs.builder()\n            .name(\"X01\")\n            .resourceGroupName(example.name())\n            .location(example.location())\n            .environment(\"NonProd\")\n            .sapProduct(\"S4HANA\")\n            .centralServerVirtualMachineId(\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/exampleRG/providers/Microsoft.Compute/virtualMachines/csvm1\")\n            .managedStorageAccountName(\"managedsa\")\n            .identity(DiscoveryVirtualInstanceIdentityArgs.builder()\n                .type(\"UserAssigned\")\n                .identityIds(\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/exampleRG/providers/Microsoft.ManagedIdentity/userAssignedIdentities/uai1\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-sapvis\n      location: West Europe\n  exampleDiscoveryVirtualInstance:\n    type: azure:workloadssap:DiscoveryVirtualInstance\n    name: example\n    properties:\n      name: X01\n      resourceGroupName: ${example.name}\n      location: ${example.location}\n      environment: NonProd\n      sapProduct: S4HANA\n      centralServerVirtualMachineId: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/exampleRG/providers/Microsoft.Compute/virtualMachines/csvm1\n      managedStorageAccountName: managedsa\n      identity:\n        type: UserAssigned\n        identityIds:\n          - /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/exampleRG/providers/Microsoft.ManagedIdentity/userAssignedIdentities/uai1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Workloads` - 2024-09-01\n\n## Import\n\nSAP Discovery Virtual Instances can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:workloadssap/discoveryVirtualInstance:DiscoveryVirtualInstance example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Workloads/sapVirtualInstances/vis1\n```\n\n","properties":{"centralServerVirtualMachineId":{"type":"string","description":"The ID of the Virtual Machine of the Central Server. Changing this forces a new resource to be created.\n"},"environment":{"type":"string","description":"The environment type for the SAP Discovery Virtual Instance. Possible values are `NonProd` and `Prod`. Changing this forces a new resource to be created.\n"},"identity":{"$ref":"#/types/azure:workloadssap/DiscoveryVirtualInstanceIdentity:DiscoveryVirtualInstanceIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"location":{"type":"string","description":"The Azure Region where the SAP Discovery Virtual Instance should exist. Changing this forces a new resource to be created.\n"},"managedResourceGroupName":{"type":"string","description":"The name of the managed Resource Group for the SAP Discovery Virtual Instance. Changing this forces a new resource to be created.\n"},"managedResourcesNetworkAccessType":{"type":"string","description":"The network access type for managed resources. Possible values are `Private` and `Public`. Defaults to `Public`.\n"},"managedStorageAccountName":{"type":"string","description":"The name of the custom Storage Account created by the service in the managed Resource Group. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"Specifies the name of the SAP Discovery Virtual Instance. Changing this forces a new resource to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the SAP Discovery Virtual Instance should exist. Changing this forces a new resource to be created.\n"},"sapProduct":{"type":"string","description":"The SAP Product type for the SAP Discovery Virtual Instance. Possible values are `ECC`, `Other` and `S4HANA`. Changing this forces a new resource to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the SAP Discovery Virtual Instance.\n"}},"required":["centralServerVirtualMachineId","environment","location","name","resourceGroupName","sapProduct"],"inputProperties":{"centralServerVirtualMachineId":{"type":"string","description":"The ID of the Virtual Machine of the Central Server. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"environment":{"type":"string","description":"The environment type for the SAP Discovery Virtual Instance. Possible values are `NonProd` and `Prod`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"identity":{"$ref":"#/types/azure:workloadssap/DiscoveryVirtualInstanceIdentity:DiscoveryVirtualInstanceIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"location":{"type":"string","description":"The Azure Region where the SAP Discovery Virtual Instance should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"managedResourceGroupName":{"type":"string","description":"The name of the managed Resource Group for the SAP Discovery Virtual Instance. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"managedResourcesNetworkAccessType":{"type":"string","description":"The network access type for managed resources. Possible values are `Private` and `Public`. Defaults to `Public`.\n"},"managedStorageAccountName":{"type":"string","description":"The name of the custom Storage Account created by the service in the managed Resource Group. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the SAP Discovery Virtual Instance. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the SAP Discovery Virtual Instance should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sapProduct":{"type":"string","description":"The SAP Product type for the SAP Discovery Virtual Instance. Possible values are `ECC`, `Other` and `S4HANA`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the SAP Discovery Virtual Instance.\n"}},"requiredInputs":["centralServerVirtualMachineId","environment","resourceGroupName","sapProduct"],"stateInputs":{"description":"Input properties used for looking up and filtering DiscoveryVirtualInstance resources.\n","properties":{"centralServerVirtualMachineId":{"type":"string","description":"The ID of the Virtual Machine of the Central Server. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"environment":{"type":"string","description":"The environment type for the SAP Discovery Virtual Instance. Possible values are `NonProd` and `Prod`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"identity":{"$ref":"#/types/azure:workloadssap/DiscoveryVirtualInstanceIdentity:DiscoveryVirtualInstanceIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"location":{"type":"string","description":"The Azure Region where the SAP Discovery Virtual Instance should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"managedResourceGroupName":{"type":"string","description":"The name of the managed Resource Group for the SAP Discovery Virtual Instance. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"managedResourcesNetworkAccessType":{"type":"string","description":"The network access type for managed resources. Possible values are `Private` and `Public`. Defaults to `Public`.\n"},"managedStorageAccountName":{"type":"string","description":"The name of the custom Storage Account created by the service in the managed Resource Group. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the SAP Discovery Virtual Instance. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the SAP Discovery Virtual Instance should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sapProduct":{"type":"string","description":"The SAP Product type for the SAP Discovery Virtual Instance. Possible values are `ECC`, `Other` and `S4HANA`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the SAP Discovery Virtual Instance.\n"}},"type":"object"}},"azure:workloadssap/singleNodeVirtualInstance:SingleNodeVirtualInstance":{"description":"Manages an SAP Single Node Virtual Instance with new SAP System.\n\n\u003e **Note:** Before using this resource, it's required to submit the request of registering the Resource Provider with Azure CLI `az provider register --namespace \"Microsoft.Workloads\"`. The Resource Provider can take a while to register, you can check the status by running `az provider show --namespace \"Microsoft.Workloads\" --query \"registrationState\"`. Once this outputs \"Registered\" the Resource Provider is available for use.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\nimport * as tls from \"@pulumi/tls\";\n\nconst current = azure.core.getSubscription({});\nconst examplePrivateKey = new tls.index.PrivateKey(\"example\", {\n    algorithm: \"RSA\",\n    rsaBits: 4096,\n});\nconst example = tls.index.PublicKey({\n    privateKeyPem: examplePrivateKey.privateKeyPem,\n});\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleUserAssignedIdentity = new azure.authorization.UserAssignedIdentity(\"example\", {\n    name: \"example-uai\",\n    location: exampleResourceGroup.location,\n    resourceGroupName: exampleResourceGroup.name,\n});\nconst exampleAssignment = new azure.authorization.Assignment(\"example\", {\n    scope: current.then(current =\u003e current.id),\n    roleDefinitionName: \"Azure Center for SAP solutions service role\",\n    principalId: exampleUserAssignedIdentity.principalId,\n});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"example\", {\n    name: \"example-vnet\",\n    addressSpaces: [\"10.0.0.0/16\"],\n    location: exampleResourceGroup.location,\n    resourceGroupName: exampleResourceGroup.name,\n});\nconst exampleSubnet = new azure.network.Subnet(\"example\", {\n    name: \"example-subnet\",\n    resourceGroupName: exampleResourceGroup.name,\n    virtualNetworkName: exampleVirtualNetwork.name,\n    addressPrefixes: [\"10.0.2.0/24\"],\n});\nconst app = new azure.core.ResourceGroup(\"app\", {\n    name: \"example-sapapp\",\n    location: \"West Europe\",\n}, {\n    dependsOn: [exampleSubnet],\n});\nconst exampleSingleNodeVirtualInstance = new azure.workloadssap.SingleNodeVirtualInstance(\"example\", {\n    name: \"X05\",\n    resourceGroupName: exampleResourceGroup.name,\n    location: exampleResourceGroup.location,\n    environment: \"NonProd\",\n    sapProduct: \"S4HANA\",\n    managedResourceGroupName: \"managedTestRG\",\n    appLocation: app.location,\n    sapFqdn: \"sap.bpaas.com\",\n    singleServerConfiguration: {\n        appResourceGroupName: app.name,\n        subnetId: exampleSubnet.id,\n        databaseType: \"HANA\",\n        secondaryIpEnabled: true,\n        virtualMachineConfiguration: {\n            virtualMachineSize: \"Standard_E32ds_v4\",\n            image: {\n                offer: \"RHEL-SAP-HA\",\n                publisher: \"RedHat\",\n                sku: \"82sapha-gen2\",\n                version: \"latest\",\n            },\n            osProfile: {\n                adminUsername: \"testAdmin\",\n                sshPrivateKey: examplePrivateKey.privateKeyPem,\n                sshPublicKey: example.publicKeyOpenssh,\n            },\n        },\n        diskVolumeConfigurations: [\n            {\n                volumeName: \"hana/data\",\n                numberOfDisks: 3,\n                sizeInGb: 128,\n                skuName: \"Premium_LRS\",\n            },\n            {\n                volumeName: \"hana/log\",\n                numberOfDisks: 3,\n                sizeInGb: 128,\n                skuName: \"Premium_LRS\",\n            },\n            {\n                volumeName: \"hana/shared\",\n                numberOfDisks: 1,\n                sizeInGb: 256,\n                skuName: \"Premium_LRS\",\n            },\n            {\n                volumeName: \"usr/sap\",\n                numberOfDisks: 1,\n                sizeInGb: 128,\n                skuName: \"Premium_LRS\",\n            },\n            {\n                volumeName: \"backup\",\n                numberOfDisks: 2,\n                sizeInGb: 256,\n                skuName: \"StandardSSD_LRS\",\n            },\n            {\n                volumeName: \"os\",\n                numberOfDisks: 1,\n                sizeInGb: 64,\n                skuName: \"StandardSSD_LRS\",\n            },\n        ],\n        virtualMachineResourceNames: {\n            hostName: \"apphostName0\",\n            osDiskName: \"app0osdisk\",\n            virtualMachineName: \"appvm0\",\n            networkInterfaceNames: [\"appnic0\"],\n            dataDisks: [{\n                volumeName: \"default\",\n                names: [\"app0disk0\"],\n            }],\n        },\n    },\n    identity: {\n        type: \"UserAssigned\",\n        identityIds: [exampleUserAssignedIdentity.id],\n    },\n}, {\n    dependsOn: [exampleAssignment],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\nimport pulumi_tls as tls\n\ncurrent = azure.core.get_subscription()\nexample_private_key = tls.index.PrivateKey(\"example\",\n    algorithm=RSA,\n    rsa_bits=4096)\nexample = tls.index.public_key(private_key_pem=example_private_key[\"privateKeyPem\"])\nexample_resource_group = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_user_assigned_identity = azure.authorization.UserAssignedIdentity(\"example\",\n    name=\"example-uai\",\n    location=example_resource_group.location,\n    resource_group_name=example_resource_group.name)\nexample_assignment = azure.authorization.Assignment(\"example\",\n    scope=current.id,\n    role_definition_name=\"Azure Center for SAP solutions service role\",\n    principal_id=example_user_assigned_identity.principal_id)\nexample_virtual_network = azure.network.VirtualNetwork(\"example\",\n    name=\"example-vnet\",\n    address_spaces=[\"10.0.0.0/16\"],\n    location=example_resource_group.location,\n    resource_group_name=example_resource_group.name)\nexample_subnet = azure.network.Subnet(\"example\",\n    name=\"example-subnet\",\n    resource_group_name=example_resource_group.name,\n    virtual_network_name=example_virtual_network.name,\n    address_prefixes=[\"10.0.2.0/24\"])\napp = azure.core.ResourceGroup(\"app\",\n    name=\"example-sapapp\",\n    location=\"West Europe\",\n    opts = pulumi.ResourceOptions(depends_on=[example_subnet]))\nexample_single_node_virtual_instance = azure.workloadssap.SingleNodeVirtualInstance(\"example\",\n    name=\"X05\",\n    resource_group_name=example_resource_group.name,\n    location=example_resource_group.location,\n    environment=\"NonProd\",\n    sap_product=\"S4HANA\",\n    managed_resource_group_name=\"managedTestRG\",\n    app_location=app.location,\n    sap_fqdn=\"sap.bpaas.com\",\n    single_server_configuration={\n        \"app_resource_group_name\": app.name,\n        \"subnet_id\": example_subnet.id,\n        \"database_type\": \"HANA\",\n        \"secondary_ip_enabled\": True,\n        \"virtual_machine_configuration\": {\n            \"virtual_machine_size\": \"Standard_E32ds_v4\",\n            \"image\": {\n                \"offer\": \"RHEL-SAP-HA\",\n                \"publisher\": \"RedHat\",\n                \"sku\": \"82sapha-gen2\",\n                \"version\": \"latest\",\n            },\n            \"os_profile\": {\n                \"admin_username\": \"testAdmin\",\n                \"ssh_private_key\": example_private_key[\"privateKeyPem\"],\n                \"ssh_public_key\": example[\"publicKeyOpenssh\"],\n            },\n        },\n        \"disk_volume_configurations\": [\n            {\n                \"volume_name\": \"hana/data\",\n                \"number_of_disks\": 3,\n                \"size_in_gb\": 128,\n                \"sku_name\": \"Premium_LRS\",\n            },\n            {\n                \"volume_name\": \"hana/log\",\n                \"number_of_disks\": 3,\n                \"size_in_gb\": 128,\n                \"sku_name\": \"Premium_LRS\",\n            },\n            {\n                \"volume_name\": \"hana/shared\",\n                \"number_of_disks\": 1,\n                \"size_in_gb\": 256,\n                \"sku_name\": \"Premium_LRS\",\n            },\n            {\n                \"volume_name\": \"usr/sap\",\n                \"number_of_disks\": 1,\n                \"size_in_gb\": 128,\n                \"sku_name\": \"Premium_LRS\",\n            },\n            {\n                \"volume_name\": \"backup\",\n                \"number_of_disks\": 2,\n                \"size_in_gb\": 256,\n                \"sku_name\": \"StandardSSD_LRS\",\n            },\n            {\n                \"volume_name\": \"os\",\n                \"number_of_disks\": 1,\n                \"size_in_gb\": 64,\n                \"sku_name\": \"StandardSSD_LRS\",\n            },\n        ],\n        \"virtual_machine_resource_names\": {\n            \"host_name\": \"apphostName0\",\n            \"os_disk_name\": \"app0osdisk\",\n            \"virtual_machine_name\": \"appvm0\",\n            \"network_interface_names\": [\"appnic0\"],\n            \"data_disks\": [{\n                \"volume_name\": \"default\",\n                \"names\": [\"app0disk0\"],\n            }],\n        },\n    },\n    identity={\n        \"type\": \"UserAssigned\",\n        \"identity_ids\": [example_user_assigned_identity.id],\n    },\n    opts = pulumi.ResourceOptions(depends_on=[example_assignment]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\nusing Tls = Pulumi.Tls;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var current = Azure.Core.GetSubscription.Invoke();\n\n    var examplePrivateKey = new Tls.Index.PrivateKey(\"example\", new()\n    {\n        Algorithm = \"RSA\",\n        RsaBits = 4096,\n    });\n\n    var example = Tls.Index.PublicKey.Invoke(new()\n    {\n        PrivateKeyPem = examplePrivateKey.PrivateKeyPem,\n    });\n\n    var exampleResourceGroup = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleUserAssignedIdentity = new Azure.Authorization.UserAssignedIdentity(\"example\", new()\n    {\n        Name = \"example-uai\",\n        Location = exampleResourceGroup.Location,\n        ResourceGroupName = exampleResourceGroup.Name,\n    });\n\n    var exampleAssignment = new Azure.Authorization.Assignment(\"example\", new()\n    {\n        Scope = current.Apply(getSubscriptionResult =\u003e getSubscriptionResult.Id),\n        RoleDefinitionName = \"Azure Center for SAP solutions service role\",\n        PrincipalId = exampleUserAssignedIdentity.PrincipalId,\n    });\n\n    var exampleVirtualNetwork = new Azure.Network.VirtualNetwork(\"example\", new()\n    {\n        Name = \"example-vnet\",\n        AddressSpaces = new[]\n        {\n            \"10.0.0.0/16\",\n        },\n        Location = exampleResourceGroup.Location,\n        ResourceGroupName = exampleResourceGroup.Name,\n    });\n\n    var exampleSubnet = new Azure.Network.Subnet(\"example\", new()\n    {\n        Name = \"example-subnet\",\n        ResourceGroupName = exampleResourceGroup.Name,\n        VirtualNetworkName = exampleVirtualNetwork.Name,\n        AddressPrefixes = new[]\n        {\n            \"10.0.2.0/24\",\n        },\n    });\n\n    var app = new Azure.Core.ResourceGroup(\"app\", new()\n    {\n        Name = \"example-sapapp\",\n        Location = \"West Europe\",\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            exampleSubnet,\n        },\n    });\n\n    var exampleSingleNodeVirtualInstance = new Azure.WorkloadsSAP.SingleNodeVirtualInstance(\"example\", new()\n    {\n        Name = \"X05\",\n        ResourceGroupName = exampleResourceGroup.Name,\n        Location = exampleResourceGroup.Location,\n        Environment = \"NonProd\",\n        SapProduct = \"S4HANA\",\n        ManagedResourceGroupName = \"managedTestRG\",\n        AppLocation = app.Location,\n        SapFqdn = \"sap.bpaas.com\",\n        SingleServerConfiguration = new Azure.WorkloadsSAP.Inputs.SingleNodeVirtualInstanceSingleServerConfigurationArgs\n        {\n            AppResourceGroupName = app.Name,\n            SubnetId = exampleSubnet.Id,\n            DatabaseType = \"HANA\",\n            SecondaryIpEnabled = true,\n            VirtualMachineConfiguration = new Azure.WorkloadsSAP.Inputs.SingleNodeVirtualInstanceSingleServerConfigurationVirtualMachineConfigurationArgs\n            {\n                VirtualMachineSize = \"Standard_E32ds_v4\",\n                Image = new Azure.WorkloadsSAP.Inputs.SingleNodeVirtualInstanceSingleServerConfigurationVirtualMachineConfigurationImageArgs\n                {\n                    Offer = \"RHEL-SAP-HA\",\n                    Publisher = \"RedHat\",\n                    Sku = \"82sapha-gen2\",\n                    Version = \"latest\",\n                },\n                OsProfile = new Azure.WorkloadsSAP.Inputs.SingleNodeVirtualInstanceSingleServerConfigurationVirtualMachineConfigurationOsProfileArgs\n                {\n                    AdminUsername = \"testAdmin\",\n                    SshPrivateKey = examplePrivateKey.PrivateKeyPem,\n                    SshPublicKey = example.PublicKeyOpenssh,\n                },\n            },\n            DiskVolumeConfigurations = new[]\n            {\n                new Azure.WorkloadsSAP.Inputs.SingleNodeVirtualInstanceSingleServerConfigurationDiskVolumeConfigurationArgs\n                {\n                    VolumeName = \"hana/data\",\n                    NumberOfDisks = 3,\n                    SizeInGb = 128,\n                    SkuName = \"Premium_LRS\",\n                },\n                new Azure.WorkloadsSAP.Inputs.SingleNodeVirtualInstanceSingleServerConfigurationDiskVolumeConfigurationArgs\n                {\n                    VolumeName = \"hana/log\",\n                    NumberOfDisks = 3,\n                    SizeInGb = 128,\n                    SkuName = \"Premium_LRS\",\n                },\n                new Azure.WorkloadsSAP.Inputs.SingleNodeVirtualInstanceSingleServerConfigurationDiskVolumeConfigurationArgs\n                {\n                    VolumeName = \"hana/shared\",\n                    NumberOfDisks = 1,\n                    SizeInGb = 256,\n                    SkuName = \"Premium_LRS\",\n                },\n                new Azure.WorkloadsSAP.Inputs.SingleNodeVirtualInstanceSingleServerConfigurationDiskVolumeConfigurationArgs\n                {\n                    VolumeName = \"usr/sap\",\n                    NumberOfDisks = 1,\n                    SizeInGb = 128,\n                    SkuName = \"Premium_LRS\",\n                },\n                new Azure.WorkloadsSAP.Inputs.SingleNodeVirtualInstanceSingleServerConfigurationDiskVolumeConfigurationArgs\n                {\n                    VolumeName = \"backup\",\n                    NumberOfDisks = 2,\n                    SizeInGb = 256,\n                    SkuName = \"StandardSSD_LRS\",\n                },\n                new Azure.WorkloadsSAP.Inputs.SingleNodeVirtualInstanceSingleServerConfigurationDiskVolumeConfigurationArgs\n                {\n                    VolumeName = \"os\",\n                    NumberOfDisks = 1,\n                    SizeInGb = 64,\n                    SkuName = \"StandardSSD_LRS\",\n                },\n            },\n            VirtualMachineResourceNames = new Azure.WorkloadsSAP.Inputs.SingleNodeVirtualInstanceSingleServerConfigurationVirtualMachineResourceNamesArgs\n            {\n                HostName = \"apphostName0\",\n                OsDiskName = \"app0osdisk\",\n                VirtualMachineName = \"appvm0\",\n                NetworkInterfaceNames = new[]\n                {\n                    \"appnic0\",\n                },\n                DataDisks = new[]\n                {\n                    new Azure.WorkloadsSAP.Inputs.SingleNodeVirtualInstanceSingleServerConfigurationVirtualMachineResourceNamesDataDiskArgs\n                    {\n                        VolumeName = \"default\",\n                        Names = new[]\n                        {\n                            \"app0disk0\",\n                        },\n                    },\n                },\n            },\n        },\n        Identity = new Azure.WorkloadsSAP.Inputs.SingleNodeVirtualInstanceIdentityArgs\n        {\n            Type = \"UserAssigned\",\n            IdentityIds = new[]\n            {\n                exampleUserAssignedIdentity.Id,\n            },\n        },\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            exampleAssignment,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/authorization\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/workloadssap\"\n\t\"github.com/pulumi/pulumi-tls/sdk/go/tls\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := core.LookupSubscription(ctx, \u0026core.LookupSubscriptionArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texamplePrivateKey, err := tls.NewPrivateKey(ctx, \"example\", \u0026tls.PrivateKeyArgs{\n\t\t\tAlgorithm: \"RSA\",\n\t\t\tRsaBits:   4096,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := tls.PublicKey(ctx, map[string]interface{}{\n\t\t\t\"privateKeyPem\": examplePrivateKey.PrivateKeyPem,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleUserAssignedIdentity, err := authorization.NewUserAssignedIdentity(ctx, \"example\", \u0026authorization.UserAssignedIdentityArgs{\n\t\t\tName:              pulumi.String(\"example-uai\"),\n\t\t\tLocation:          exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAssignment, err := authorization.NewAssignment(ctx, \"example\", \u0026authorization.AssignmentArgs{\n\t\t\tScope:              pulumi.String(current.Id),\n\t\t\tRoleDefinitionName: pulumi.String(\"Azure Center for SAP solutions service role\"),\n\t\t\tPrincipalId:        exampleUserAssignedIdentity.PrincipalId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, \"example\", \u0026network.VirtualNetworkArgs{\n\t\t\tName: pulumi.String(\"example-vnet\"),\n\t\t\tAddressSpaces: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.0.0/16\"),\n\t\t\t},\n\t\t\tLocation:          exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSubnet, err := network.NewSubnet(ctx, \"example\", \u0026network.SubnetArgs{\n\t\t\tName:               pulumi.String(\"example-subnet\"),\n\t\t\tResourceGroupName:  exampleResourceGroup.Name,\n\t\t\tVirtualNetworkName: exampleVirtualNetwork.Name,\n\t\t\tAddressPrefixes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.2.0/24\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tapp, err := core.NewResourceGroup(ctx, \"app\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-sapapp\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleSubnet,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = workloadssap.NewSingleNodeVirtualInstance(ctx, \"example\", \u0026workloadssap.SingleNodeVirtualInstanceArgs{\n\t\t\tName:                     pulumi.String(\"X05\"),\n\t\t\tResourceGroupName:        exampleResourceGroup.Name,\n\t\t\tLocation:                 exampleResourceGroup.Location,\n\t\t\tEnvironment:              pulumi.String(\"NonProd\"),\n\t\t\tSapProduct:               pulumi.String(\"S4HANA\"),\n\t\t\tManagedResourceGroupName: pulumi.String(\"managedTestRG\"),\n\t\t\tAppLocation:              app.Location,\n\t\t\tSapFqdn:                  pulumi.String(\"sap.bpaas.com\"),\n\t\t\tSingleServerConfiguration: \u0026workloadssap.SingleNodeVirtualInstanceSingleServerConfigurationArgs{\n\t\t\t\tAppResourceGroupName: app.Name,\n\t\t\t\tSubnetId:             exampleSubnet.ID(),\n\t\t\t\tDatabaseType:         pulumi.String(\"HANA\"),\n\t\t\t\tSecondaryIpEnabled:   pulumi.Bool(true),\n\t\t\t\tVirtualMachineConfiguration: \u0026workloadssap.SingleNodeVirtualInstanceSingleServerConfigurationVirtualMachineConfigurationArgs{\n\t\t\t\t\tVirtualMachineSize: pulumi.String(\"Standard_E32ds_v4\"),\n\t\t\t\t\tImage: \u0026workloadssap.SingleNodeVirtualInstanceSingleServerConfigurationVirtualMachineConfigurationImageArgs{\n\t\t\t\t\t\tOffer:     pulumi.String(\"RHEL-SAP-HA\"),\n\t\t\t\t\t\tPublisher: pulumi.String(\"RedHat\"),\n\t\t\t\t\t\tSku:       pulumi.String(\"82sapha-gen2\"),\n\t\t\t\t\t\tVersion:   pulumi.String(\"latest\"),\n\t\t\t\t\t},\n\t\t\t\t\tOsProfile: \u0026workloadssap.SingleNodeVirtualInstanceSingleServerConfigurationVirtualMachineConfigurationOsProfileArgs{\n\t\t\t\t\t\tAdminUsername: pulumi.String(\"testAdmin\"),\n\t\t\t\t\t\tSshPrivateKey: examplePrivateKey.PrivateKeyPem,\n\t\t\t\t\t\tSshPublicKey:  pulumi.Any(example.PublicKeyOpenssh),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tDiskVolumeConfigurations: workloadssap.SingleNodeVirtualInstanceSingleServerConfigurationDiskVolumeConfigurationArray{\n\t\t\t\t\t\u0026workloadssap.SingleNodeVirtualInstanceSingleServerConfigurationDiskVolumeConfigurationArgs{\n\t\t\t\t\t\tVolumeName:    pulumi.String(\"hana/data\"),\n\t\t\t\t\t\tNumberOfDisks: pulumi.Int(3),\n\t\t\t\t\t\tSizeInGb:      pulumi.Int(128),\n\t\t\t\t\t\tSkuName:       pulumi.String(\"Premium_LRS\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026workloadssap.SingleNodeVirtualInstanceSingleServerConfigurationDiskVolumeConfigurationArgs{\n\t\t\t\t\t\tVolumeName:    pulumi.String(\"hana/log\"),\n\t\t\t\t\t\tNumberOfDisks: pulumi.Int(3),\n\t\t\t\t\t\tSizeInGb:      pulumi.Int(128),\n\t\t\t\t\t\tSkuName:       pulumi.String(\"Premium_LRS\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026workloadssap.SingleNodeVirtualInstanceSingleServerConfigurationDiskVolumeConfigurationArgs{\n\t\t\t\t\t\tVolumeName:    pulumi.String(\"hana/shared\"),\n\t\t\t\t\t\tNumberOfDisks: pulumi.Int(1),\n\t\t\t\t\t\tSizeInGb:      pulumi.Int(256),\n\t\t\t\t\t\tSkuName:       pulumi.String(\"Premium_LRS\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026workloadssap.SingleNodeVirtualInstanceSingleServerConfigurationDiskVolumeConfigurationArgs{\n\t\t\t\t\t\tVolumeName:    pulumi.String(\"usr/sap\"),\n\t\t\t\t\t\tNumberOfDisks: pulumi.Int(1),\n\t\t\t\t\t\tSizeInGb:      pulumi.Int(128),\n\t\t\t\t\t\tSkuName:       pulumi.String(\"Premium_LRS\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026workloadssap.SingleNodeVirtualInstanceSingleServerConfigurationDiskVolumeConfigurationArgs{\n\t\t\t\t\t\tVolumeName:    pulumi.String(\"backup\"),\n\t\t\t\t\t\tNumberOfDisks: pulumi.Int(2),\n\t\t\t\t\t\tSizeInGb:      pulumi.Int(256),\n\t\t\t\t\t\tSkuName:       pulumi.String(\"StandardSSD_LRS\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026workloadssap.SingleNodeVirtualInstanceSingleServerConfigurationDiskVolumeConfigurationArgs{\n\t\t\t\t\t\tVolumeName:    pulumi.String(\"os\"),\n\t\t\t\t\t\tNumberOfDisks: pulumi.Int(1),\n\t\t\t\t\t\tSizeInGb:      pulumi.Int(64),\n\t\t\t\t\t\tSkuName:       pulumi.String(\"StandardSSD_LRS\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tVirtualMachineResourceNames: \u0026workloadssap.SingleNodeVirtualInstanceSingleServerConfigurationVirtualMachineResourceNamesArgs{\n\t\t\t\t\tHostName:           pulumi.String(\"apphostName0\"),\n\t\t\t\t\tOsDiskName:         pulumi.String(\"app0osdisk\"),\n\t\t\t\t\tVirtualMachineName: pulumi.String(\"appvm0\"),\n\t\t\t\t\tNetworkInterfaceNames: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"appnic0\"),\n\t\t\t\t\t},\n\t\t\t\t\tDataDisks: workloadssap.SingleNodeVirtualInstanceSingleServerConfigurationVirtualMachineResourceNamesDataDiskArray{\n\t\t\t\t\t\t\u0026workloadssap.SingleNodeVirtualInstanceSingleServerConfigurationVirtualMachineResourceNamesDataDiskArgs{\n\t\t\t\t\t\t\tVolumeName: pulumi.String(\"default\"),\n\t\t\t\t\t\t\tNames: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"app0disk0\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tIdentity: \u0026workloadssap.SingleNodeVirtualInstanceIdentityArgs{\n\t\t\t\tType: pulumi.String(\"UserAssigned\"),\n\t\t\t\tIdentityIds: pulumi.StringArray{\n\t\t\t\t\texampleUserAssignedIdentity.ID(),\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleAssignment,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.core.inputs.GetSubscriptionArgs;\nimport com.pulumi.tls.PrivateKey;\nimport com.pulumi.tls.PrivateKeyArgs;\nimport com.pulumi.tls.TlsFunctions;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.authorization.UserAssignedIdentity;\nimport com.pulumi.azure.authorization.UserAssignedIdentityArgs;\nimport com.pulumi.azure.authorization.Assignment;\nimport com.pulumi.azure.authorization.AssignmentArgs;\nimport com.pulumi.azure.network.VirtualNetwork;\nimport com.pulumi.azure.network.VirtualNetworkArgs;\nimport com.pulumi.azure.network.Subnet;\nimport com.pulumi.azure.network.SubnetArgs;\nimport com.pulumi.azure.workloadssap.SingleNodeVirtualInstance;\nimport com.pulumi.azure.workloadssap.SingleNodeVirtualInstanceArgs;\nimport com.pulumi.azure.workloadssap.inputs.SingleNodeVirtualInstanceSingleServerConfigurationArgs;\nimport com.pulumi.azure.workloadssap.inputs.SingleNodeVirtualInstanceSingleServerConfigurationVirtualMachineConfigurationArgs;\nimport com.pulumi.azure.workloadssap.inputs.SingleNodeVirtualInstanceSingleServerConfigurationVirtualMachineConfigurationImageArgs;\nimport com.pulumi.azure.workloadssap.inputs.SingleNodeVirtualInstanceSingleServerConfigurationVirtualMachineConfigurationOsProfileArgs;\nimport com.pulumi.azure.workloadssap.inputs.SingleNodeVirtualInstanceSingleServerConfigurationVirtualMachineResourceNamesArgs;\nimport com.pulumi.azure.workloadssap.inputs.SingleNodeVirtualInstanceIdentityArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var current = CoreFunctions.getSubscription(GetSubscriptionArgs.builder()\n            .build());\n\n        var examplePrivateKey = new PrivateKey(\"examplePrivateKey\", PrivateKeyArgs.builder()\n            .algorithm(\"RSA\")\n            .rsaBits(4096)\n            .build());\n\n        final var example = TlsFunctions.PublicKey(Map.of(\"privateKeyPem\", examplePrivateKey.privateKeyPem()));\n\n        var exampleResourceGroup = new ResourceGroup(\"exampleResourceGroup\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleUserAssignedIdentity = new UserAssignedIdentity(\"exampleUserAssignedIdentity\", UserAssignedIdentityArgs.builder()\n            .name(\"example-uai\")\n            .location(exampleResourceGroup.location())\n            .resourceGroupName(exampleResourceGroup.name())\n            .build());\n\n        var exampleAssignment = new Assignment(\"exampleAssignment\", AssignmentArgs.builder()\n            .scope(current.id())\n            .roleDefinitionName(\"Azure Center for SAP solutions service role\")\n            .principalId(exampleUserAssignedIdentity.principalId())\n            .build());\n\n        var exampleVirtualNetwork = new VirtualNetwork(\"exampleVirtualNetwork\", VirtualNetworkArgs.builder()\n            .name(\"example-vnet\")\n            .addressSpaces(\"10.0.0.0/16\")\n            .location(exampleResourceGroup.location())\n            .resourceGroupName(exampleResourceGroup.name())\n            .build());\n\n        var exampleSubnet = new Subnet(\"exampleSubnet\", SubnetArgs.builder()\n            .name(\"example-subnet\")\n            .resourceGroupName(exampleResourceGroup.name())\n            .virtualNetworkName(exampleVirtualNetwork.name())\n            .addressPrefixes(\"10.0.2.0/24\")\n            .build());\n\n        var app = new ResourceGroup(\"app\", ResourceGroupArgs.builder()\n            .name(\"example-sapapp\")\n            .location(\"West Europe\")\n            .build(), CustomResourceOptions.builder()\n                .dependsOn(exampleSubnet)\n                .build());\n\n        var exampleSingleNodeVirtualInstance = new SingleNodeVirtualInstance(\"exampleSingleNodeVirtualInstance\", SingleNodeVirtualInstanceArgs.builder()\n            .name(\"X05\")\n            .resourceGroupName(exampleResourceGroup.name())\n            .location(exampleResourceGroup.location())\n            .environment(\"NonProd\")\n            .sapProduct(\"S4HANA\")\n            .managedResourceGroupName(\"managedTestRG\")\n            .appLocation(app.location())\n            .sapFqdn(\"sap.bpaas.com\")\n            .singleServerConfiguration(SingleNodeVirtualInstanceSingleServerConfigurationArgs.builder()\n                .appResourceGroupName(app.name())\n                .subnetId(exampleSubnet.id())\n                .databaseType(\"HANA\")\n                .secondaryIpEnabled(true)\n                .virtualMachineConfiguration(SingleNodeVirtualInstanceSingleServerConfigurationVirtualMachineConfigurationArgs.builder()\n                    .virtualMachineSize(\"Standard_E32ds_v4\")\n                    .image(SingleNodeVirtualInstanceSingleServerConfigurationVirtualMachineConfigurationImageArgs.builder()\n                        .offer(\"RHEL-SAP-HA\")\n                        .publisher(\"RedHat\")\n                        .sku(\"82sapha-gen2\")\n                        .version(\"latest\")\n                        .build())\n                    .osProfile(SingleNodeVirtualInstanceSingleServerConfigurationVirtualMachineConfigurationOsProfileArgs.builder()\n                        .adminUsername(\"testAdmin\")\n                        .sshPrivateKey(examplePrivateKey.privateKeyPem())\n                        .sshPublicKey(example.publicKeyOpenssh())\n                        .build())\n                    .build())\n                .diskVolumeConfigurations(                \n                    SingleNodeVirtualInstanceSingleServerConfigurationDiskVolumeConfigurationArgs.builder()\n                        .volumeName(\"hana/data\")\n                        .numberOfDisks(3)\n                        .sizeInGb(128)\n                        .skuName(\"Premium_LRS\")\n                        .build(),\n                    SingleNodeVirtualInstanceSingleServerConfigurationDiskVolumeConfigurationArgs.builder()\n                        .volumeName(\"hana/log\")\n                        .numberOfDisks(3)\n                        .sizeInGb(128)\n                        .skuName(\"Premium_LRS\")\n                        .build(),\n                    SingleNodeVirtualInstanceSingleServerConfigurationDiskVolumeConfigurationArgs.builder()\n                        .volumeName(\"hana/shared\")\n                        .numberOfDisks(1)\n                        .sizeInGb(256)\n                        .skuName(\"Premium_LRS\")\n                        .build(),\n                    SingleNodeVirtualInstanceSingleServerConfigurationDiskVolumeConfigurationArgs.builder()\n                        .volumeName(\"usr/sap\")\n                        .numberOfDisks(1)\n                        .sizeInGb(128)\n                        .skuName(\"Premium_LRS\")\n                        .build(),\n                    SingleNodeVirtualInstanceSingleServerConfigurationDiskVolumeConfigurationArgs.builder()\n                        .volumeName(\"backup\")\n                        .numberOfDisks(2)\n                        .sizeInGb(256)\n                        .skuName(\"StandardSSD_LRS\")\n                        .build(),\n                    SingleNodeVirtualInstanceSingleServerConfigurationDiskVolumeConfigurationArgs.builder()\n                        .volumeName(\"os\")\n                        .numberOfDisks(1)\n                        .sizeInGb(64)\n                        .skuName(\"StandardSSD_LRS\")\n                        .build())\n                .virtualMachineResourceNames(SingleNodeVirtualInstanceSingleServerConfigurationVirtualMachineResourceNamesArgs.builder()\n                    .hostName(\"apphostName0\")\n                    .osDiskName(\"app0osdisk\")\n                    .virtualMachineName(\"appvm0\")\n                    .networkInterfaceNames(\"appnic0\")\n                    .dataDisks(SingleNodeVirtualInstanceSingleServerConfigurationVirtualMachineResourceNamesDataDiskArgs.builder()\n                        .volumeName(\"default\")\n                        .names(\"app0disk0\")\n                        .build())\n                    .build())\n                .build())\n            .identity(SingleNodeVirtualInstanceIdentityArgs.builder()\n                .type(\"UserAssigned\")\n                .identityIds(exampleUserAssignedIdentity.id())\n                .build())\n            .build(), CustomResourceOptions.builder()\n                .dependsOn(exampleAssignment)\n                .build());\n\n    }\n}\n```\n```yaml\nresources:\n  examplePrivateKey:\n    type: tls:PrivateKey\n    name: example\n    properties:\n      algorithm: RSA\n      rsaBits: 4096\n  exampleResourceGroup:\n    type: azure:core:ResourceGroup\n    name: example\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleUserAssignedIdentity:\n    type: azure:authorization:UserAssignedIdentity\n    name: example\n    properties:\n      name: example-uai\n      location: ${exampleResourceGroup.location}\n      resourceGroupName: ${exampleResourceGroup.name}\n  exampleAssignment:\n    type: azure:authorization:Assignment\n    name: example\n    properties:\n      scope: ${current.id}\n      roleDefinitionName: Azure Center for SAP solutions service role\n      principalId: ${exampleUserAssignedIdentity.principalId}\n  exampleVirtualNetwork:\n    type: azure:network:VirtualNetwork\n    name: example\n    properties:\n      name: example-vnet\n      addressSpaces:\n        - 10.0.0.0/16\n      location: ${exampleResourceGroup.location}\n      resourceGroupName: ${exampleResourceGroup.name}\n  exampleSubnet:\n    type: azure:network:Subnet\n    name: example\n    properties:\n      name: example-subnet\n      resourceGroupName: ${exampleResourceGroup.name}\n      virtualNetworkName: ${exampleVirtualNetwork.name}\n      addressPrefixes:\n        - 10.0.2.0/24\n  app:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-sapapp\n      location: West Europe\n    options:\n      dependsOn:\n        - ${exampleSubnet}\n  exampleSingleNodeVirtualInstance:\n    type: azure:workloadssap:SingleNodeVirtualInstance\n    name: example\n    properties:\n      name: X05\n      resourceGroupName: ${exampleResourceGroup.name}\n      location: ${exampleResourceGroup.location}\n      environment: NonProd\n      sapProduct: S4HANA\n      managedResourceGroupName: managedTestRG\n      appLocation: ${app.location}\n      sapFqdn: sap.bpaas.com\n      singleServerConfiguration:\n        appResourceGroupName: ${app.name}\n        subnetId: ${exampleSubnet.id}\n        databaseType: HANA\n        secondaryIpEnabled: true\n        virtualMachineConfiguration:\n          virtualMachineSize: Standard_E32ds_v4\n          image:\n            offer: RHEL-SAP-HA\n            publisher: RedHat\n            sku: 82sapha-gen2\n            version: latest\n          osProfile:\n            adminUsername: testAdmin\n            sshPrivateKey: ${examplePrivateKey.privateKeyPem}\n            sshPublicKey: ${example.publicKeyOpenssh}\n        diskVolumeConfigurations:\n          - volumeName: hana/data\n            numberOfDisks: 3\n            sizeInGb: 128\n            skuName: Premium_LRS\n          - volumeName: hana/log\n            numberOfDisks: 3\n            sizeInGb: 128\n            skuName: Premium_LRS\n          - volumeName: hana/shared\n            numberOfDisks: 1\n            sizeInGb: 256\n            skuName: Premium_LRS\n          - volumeName: usr/sap\n            numberOfDisks: 1\n            sizeInGb: 128\n            skuName: Premium_LRS\n          - volumeName: backup\n            numberOfDisks: 2\n            sizeInGb: 256\n            skuName: StandardSSD_LRS\n          - volumeName: os\n            numberOfDisks: 1\n            sizeInGb: 64\n            skuName: StandardSSD_LRS\n        virtualMachineResourceNames:\n          hostName: apphostName0\n          osDiskName: app0osdisk\n          virtualMachineName: appvm0\n          networkInterfaceNames:\n            - appnic0\n          dataDisks:\n            - volumeName: default\n              names:\n                - app0disk0\n      identity:\n        type: UserAssigned\n        identityIds:\n          - ${exampleUserAssignedIdentity.id}\n    options:\n      dependsOn:\n        - ${exampleAssignment}\nvariables:\n  current:\n    fn::invoke:\n      function: azure:core:getSubscription\n      arguments: {}\n  example:\n    fn::invoke:\n      function: tls:PublicKey\n      arguments:\n        privateKeyPem: ${examplePrivateKey.privateKeyPem}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Workloads` - 2024-09-01\n\n## Import\n\nSAP Single Node Virtual Instances with new SAP Systems can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:workloadssap/singleNodeVirtualInstance:SingleNodeVirtualInstance example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Workloads/sapVirtualInstances/vis1\n```\n\n","properties":{"appLocation":{"type":"string","description":"The Geo-Location where the SAP system is to be created. Changing this forces a new resource to be created.\n"},"environment":{"type":"string","description":"The environment type for the SAP Single Node Virtual Instance. Possible values are `NonProd` and `Prod`. Changing this forces a new resource to be created.\n"},"identity":{"$ref":"#/types/azure:workloadssap/SingleNodeVirtualInstanceIdentity:SingleNodeVirtualInstanceIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"location":{"type":"string","description":"The Azure Region where the SAP Single Node Virtual Instance should exist. Changing this forces a new resource to be created.\n"},"managedResourceGroupName":{"type":"string","description":"The name of the managed Resource Group for the SAP Single Node Virtual Instance. Changing this forces a new resource to be created.\n"},"managedResourcesNetworkAccessType":{"type":"string","description":"The network access type for managed resources. Possible values are `Private` and `Public`. Defaults to `Public`.\n"},"name":{"type":"string","description":"Specifies the name of this SAP Single Node Virtual Instance. Changing this forces a new resource to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the SAP Single Node Virtual Instance should exist. Changing this forces a new resource to be created.\n"},"sapFqdn":{"type":"string","description":"The fully qualified domain name for the SAP system. Changing this forces a new resource to be created.\n"},"sapProduct":{"type":"string","description":"The SAP Product type for the SAP Single Node Virtual Instance. Possible values are `ECC`, `Other` and `S4HANA`. Changing this forces a new resource to be created.\n"},"singleServerConfiguration":{"$ref":"#/types/azure:workloadssap/SingleNodeVirtualInstanceSingleServerConfiguration:SingleNodeVirtualInstanceSingleServerConfiguration","description":"A \u003cspan pulumi-lang-nodejs=\"`singleServerConfiguration`\" pulumi-lang-dotnet=\"`SingleServerConfiguration`\" pulumi-lang-go=\"`singleServerConfiguration`\" pulumi-lang-python=\"`single_server_configuration`\" pulumi-lang-yaml=\"`singleServerConfiguration`\" pulumi-lang-java=\"`singleServerConfiguration`\"\u003e`single_server_configuration`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the SAP Single Node Virtual Instance.\n"}},"required":["appLocation","environment","location","name","resourceGroupName","sapFqdn","sapProduct","singleServerConfiguration"],"inputProperties":{"appLocation":{"type":"string","description":"The Geo-Location where the SAP system is to be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"environment":{"type":"string","description":"The environment type for the SAP Single Node Virtual Instance. Possible values are `NonProd` and `Prod`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"identity":{"$ref":"#/types/azure:workloadssap/SingleNodeVirtualInstanceIdentity:SingleNodeVirtualInstanceIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"location":{"type":"string","description":"The Azure Region where the SAP Single Node Virtual Instance should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"managedResourceGroupName":{"type":"string","description":"The name of the managed Resource Group for the SAP Single Node Virtual Instance. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"managedResourcesNetworkAccessType":{"type":"string","description":"The network access type for managed resources. Possible values are `Private` and `Public`. Defaults to `Public`.\n"},"name":{"type":"string","description":"Specifies the name of this SAP Single Node Virtual Instance. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the SAP Single Node Virtual Instance should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sapFqdn":{"type":"string","description":"The fully qualified domain name for the SAP system. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sapProduct":{"type":"string","description":"The SAP Product type for the SAP Single Node Virtual Instance. Possible values are `ECC`, `Other` and `S4HANA`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"singleServerConfiguration":{"$ref":"#/types/azure:workloadssap/SingleNodeVirtualInstanceSingleServerConfiguration:SingleNodeVirtualInstanceSingleServerConfiguration","description":"A \u003cspan pulumi-lang-nodejs=\"`singleServerConfiguration`\" pulumi-lang-dotnet=\"`SingleServerConfiguration`\" pulumi-lang-go=\"`singleServerConfiguration`\" pulumi-lang-python=\"`single_server_configuration`\" pulumi-lang-yaml=\"`singleServerConfiguration`\" pulumi-lang-java=\"`singleServerConfiguration`\"\u003e`single_server_configuration`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the SAP Single Node Virtual Instance.\n"}},"requiredInputs":["appLocation","environment","resourceGroupName","sapFqdn","sapProduct","singleServerConfiguration"],"stateInputs":{"description":"Input properties used for looking up and filtering SingleNodeVirtualInstance resources.\n","properties":{"appLocation":{"type":"string","description":"The Geo-Location where the SAP system is to be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"environment":{"type":"string","description":"The environment type for the SAP Single Node Virtual Instance. Possible values are `NonProd` and `Prod`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"identity":{"$ref":"#/types/azure:workloadssap/SingleNodeVirtualInstanceIdentity:SingleNodeVirtualInstanceIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"location":{"type":"string","description":"The Azure Region where the SAP Single Node Virtual Instance should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"managedResourceGroupName":{"type":"string","description":"The name of the managed Resource Group for the SAP Single Node Virtual Instance. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"managedResourcesNetworkAccessType":{"type":"string","description":"The network access type for managed resources. Possible values are `Private` and `Public`. Defaults to `Public`.\n"},"name":{"type":"string","description":"Specifies the name of this SAP Single Node Virtual Instance. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the SAP Single Node Virtual Instance should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sapFqdn":{"type":"string","description":"The fully qualified domain name for the SAP system. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sapProduct":{"type":"string","description":"The SAP Product type for the SAP Single Node Virtual Instance. Possible values are `ECC`, `Other` and `S4HANA`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"singleServerConfiguration":{"$ref":"#/types/azure:workloadssap/SingleNodeVirtualInstanceSingleServerConfiguration:SingleNodeVirtualInstanceSingleServerConfiguration","description":"A \u003cspan pulumi-lang-nodejs=\"`singleServerConfiguration`\" pulumi-lang-dotnet=\"`SingleServerConfiguration`\" pulumi-lang-go=\"`singleServerConfiguration`\" pulumi-lang-python=\"`single_server_configuration`\" pulumi-lang-yaml=\"`singleServerConfiguration`\" pulumi-lang-java=\"`singleServerConfiguration`\"\u003e`single_server_configuration`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the SAP Single Node Virtual Instance.\n"}},"type":"object"}},"azure:workloadssap/threeTierVirtualInstance:ThreeTierVirtualInstance":{"description":"Manages an SAP Three Tier Virtual Instance with a new SAP System.\n\n\u003e **Note:** Before using this resource, it's required to submit the request of registering the Resource Provider with Azure CLI `az provider register --namespace \"Microsoft.Workloads\"`. The Resource Provider can take a while to register, you can check the status by running `az provider show --namespace \"Microsoft.Workloads\" --query \"registrationState\"`. Once this outputs \"Registered\" the Resource Provider is available for use.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\nimport * as tls from \"@pulumi/tls\";\n\nconst examplePrivateKey = new tls.index.PrivateKey(\"example\", {\n    algorithm: \"RSA\",\n    rsaBits: 4096,\n});\nconst example = tls.index.PublicKey({\n    privateKeyPem: examplePrivateKey.privateKeyPem,\n});\nconst current = azure.core.getSubscription({});\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleUserAssignedIdentity = new azure.authorization.UserAssignedIdentity(\"example\", {\n    name: \"example-uai\",\n    location: exampleResourceGroup.location,\n    resourceGroupName: exampleResourceGroup.name,\n});\nconst exampleAssignment = new azure.authorization.Assignment(\"example\", {\n    scope: current.then(current =\u003e current.id),\n    roleDefinitionName: \"Azure Center for SAP solutions service role\",\n    principalId: exampleUserAssignedIdentity.principalId,\n});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"example\", {\n    name: \"example-vnet\",\n    addressSpaces: [\"10.0.0.0/16\"],\n    location: exampleResourceGroup.location,\n    resourceGroupName: exampleResourceGroup.name,\n});\nconst exampleSubnet = new azure.network.Subnet(\"example\", {\n    name: \"example-subnet\",\n    resourceGroupName: exampleResourceGroup.name,\n    virtualNetworkName: exampleVirtualNetwork.name,\n    addressPrefixes: [\"10.0.2.0/24\"],\n});\nconst app = new azure.core.ResourceGroup(\"app\", {\n    name: \"example-sapapp\",\n    location: \"West Europe\",\n}, {\n    dependsOn: [exampleSubnet],\n});\nconst exampleAccount = new azure.storage.Account(\"example\", {\n    name: \"examplesa\",\n    resourceGroupName: exampleResourceGroup.name,\n    location: exampleResourceGroup.location,\n    accountTier: \"Standard\",\n    accountReplicationType: \"LRS\",\n});\nconst exampleThreeTierVirtualInstance = new azure.workloadssap.ThreeTierVirtualInstance(\"example\", {\n    name: \"X05\",\n    resourceGroupName: exampleResourceGroup.name,\n    location: exampleResourceGroup.location,\n    environment: \"NonProd\",\n    sapProduct: \"S4HANA\",\n    managedResourceGroupName: \"exampleManagedRG\",\n    appLocation: app.location,\n    sapFqdn: \"sap.bpaas.com\",\n    threeTierConfiguration: {\n        appResourceGroupName: app.name,\n        secondaryIpEnabled: true,\n        applicationServerConfiguration: {\n            instanceCount: 1,\n            subnetId: exampleSubnet.id,\n            virtualMachineConfiguration: {\n                virtualMachineSize: \"Standard_D16ds_v4\",\n                image: {\n                    offer: \"RHEL-SAP-HA\",\n                    publisher: \"RedHat\",\n                    sku: \"82sapha-gen2\",\n                    version: \"latest\",\n                },\n                osProfile: {\n                    adminUsername: \"testAdmin\",\n                    sshPrivateKey: examplePrivateKey.privateKeyPem,\n                    sshPublicKey: example.publicKeyOpenssh,\n                },\n            },\n        },\n        centralServerConfiguration: {\n            instanceCount: 1,\n            subnetId: exampleSubnet.id,\n            virtualMachineConfiguration: {\n                virtualMachineSize: \"Standard_D16ds_v4\",\n                image: {\n                    offer: \"RHEL-SAP-HA\",\n                    publisher: \"RedHat\",\n                    sku: \"82sapha-gen2\",\n                    version: \"latest\",\n                },\n                osProfile: {\n                    adminUsername: \"testAdmin\",\n                    sshPrivateKey: examplePrivateKey.privateKeyPem,\n                    sshPublicKey: example.publicKeyOpenssh,\n                },\n            },\n        },\n        databaseServerConfiguration: {\n            instanceCount: 1,\n            subnetId: exampleSubnet.id,\n            databaseType: \"HANA\",\n            virtualMachineConfiguration: {\n                virtualMachineSize: \"Standard_E16ds_v4\",\n                image: {\n                    offer: \"RHEL-SAP-HA\",\n                    publisher: \"RedHat\",\n                    sku: \"82sapha-gen2\",\n                    version: \"latest\",\n                },\n                osProfile: {\n                    adminUsername: \"testAdmin\",\n                    sshPrivateKey: examplePrivateKey.privateKeyPem,\n                    sshPublicKey: example.publicKeyOpenssh,\n                },\n            },\n            diskVolumeConfigurations: [\n                {\n                    volumeName: \"hana/data\",\n                    numberOfDisks: 3,\n                    sizeInGb: 128,\n                    skuName: \"Premium_LRS\",\n                },\n                {\n                    volumeName: \"hana/log\",\n                    numberOfDisks: 3,\n                    sizeInGb: 128,\n                    skuName: \"Premium_LRS\",\n                },\n                {\n                    volumeName: \"hana/shared\",\n                    numberOfDisks: 1,\n                    sizeInGb: 256,\n                    skuName: \"Premium_LRS\",\n                },\n                {\n                    volumeName: \"usr/sap\",\n                    numberOfDisks: 1,\n                    sizeInGb: 128,\n                    skuName: \"Premium_LRS\",\n                },\n                {\n                    volumeName: \"backup\",\n                    numberOfDisks: 2,\n                    sizeInGb: 256,\n                    skuName: \"StandardSSD_LRS\",\n                },\n                {\n                    volumeName: \"os\",\n                    numberOfDisks: 1,\n                    sizeInGb: 64,\n                    skuName: \"StandardSSD_LRS\",\n                },\n            ],\n        },\n        resourceNames: {\n            applicationServer: {\n                availabilitySetName: \"appAvSet\",\n                virtualMachines: [{\n                    hostName: \"apphostName0\",\n                    osDiskName: \"app0osdisk\",\n                    virtualMachineName: \"appvm0\",\n                    networkInterfaceNames: [\"appnic0\"],\n                    dataDisks: [{\n                        volumeName: \"default\",\n                        names: [\"app0disk0\"],\n                    }],\n                }],\n            },\n            centralServer: {\n                availabilitySetName: \"csAvSet\",\n                loadBalancer: {\n                    name: \"ascslb\",\n                    backendPoolNames: [\"ascsBackendPool\"],\n                    frontendIpConfigurationNames: [\"ascsip0\"],\n                    healthProbeNames: [\"ascsHealthProbe\"],\n                },\n                virtualMachines: [{\n                    hostName: \"ascshostName\",\n                    osDiskName: \"ascsosdisk\",\n                    virtualMachineName: \"ascsvm\",\n                    networkInterfaceNames: [\"ascsnic\"],\n                    dataDisks: [{\n                        volumeName: \"default\",\n                        names: [\"ascsdisk\"],\n                    }],\n                }],\n            },\n            databaseServer: {\n                availabilitySetName: \"dbAvSet\",\n                loadBalancer: {\n                    name: \"dblb\",\n                    backendPoolNames: [\"dbBackendPool\"],\n                    frontendIpConfigurationNames: [\"dbip\"],\n                    healthProbeNames: [\"dbHealthProbe\"],\n                },\n                virtualMachines: [{\n                    hostName: \"dbprhost\",\n                    osDiskName: \"dbprosdisk\",\n                    virtualMachineName: \"dbvmpr\",\n                    networkInterfaceNames: [\"dbprnic\"],\n                    dataDisks: [\n                        {\n                            volumeName: \"hanaData\",\n                            names: [\n                                \"hanadatapr0\",\n                                \"hanadatapr1\",\n                            ],\n                        },\n                        {\n                            volumeName: \"hanaLog\",\n                            names: [\n                                \"hanalogpr0\",\n                                \"hanalogpr1\",\n                                \"hanalogpr2\",\n                            ],\n                        },\n                        {\n                            volumeName: \"usrSap\",\n                            names: [\"usrsappr0\"],\n                        },\n                        {\n                            volumeName: \"hanaShared\",\n                            names: [\n                                \"hanasharedpr0\",\n                                \"hanasharedpr1\",\n                            ],\n                        },\n                    ],\n                }],\n            },\n            sharedStorage: {\n                accountName: \"sharedexamplesa\",\n                privateEndpointName: \"examplePE\",\n            },\n        },\n        transportCreateAndMount: {\n            resourceGroupId: app.id,\n            storageAccountName: \"exampletranssa\",\n        },\n    },\n    identity: {\n        type: \"UserAssigned\",\n        identityIds: [exampleUserAssignedIdentity.id],\n    },\n    tags: {\n        Env: \"Test\",\n    },\n}, {\n    dependsOn: [exampleAssignment],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\nimport pulumi_tls as tls\n\nexample_private_key = tls.index.PrivateKey(\"example\",\n    algorithm=RSA,\n    rsa_bits=4096)\nexample = tls.index.public_key(private_key_pem=example_private_key[\"privateKeyPem\"])\ncurrent = azure.core.get_subscription()\nexample_resource_group = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_user_assigned_identity = azure.authorization.UserAssignedIdentity(\"example\",\n    name=\"example-uai\",\n    location=example_resource_group.location,\n    resource_group_name=example_resource_group.name)\nexample_assignment = azure.authorization.Assignment(\"example\",\n    scope=current.id,\n    role_definition_name=\"Azure Center for SAP solutions service role\",\n    principal_id=example_user_assigned_identity.principal_id)\nexample_virtual_network = azure.network.VirtualNetwork(\"example\",\n    name=\"example-vnet\",\n    address_spaces=[\"10.0.0.0/16\"],\n    location=example_resource_group.location,\n    resource_group_name=example_resource_group.name)\nexample_subnet = azure.network.Subnet(\"example\",\n    name=\"example-subnet\",\n    resource_group_name=example_resource_group.name,\n    virtual_network_name=example_virtual_network.name,\n    address_prefixes=[\"10.0.2.0/24\"])\napp = azure.core.ResourceGroup(\"app\",\n    name=\"example-sapapp\",\n    location=\"West Europe\",\n    opts = pulumi.ResourceOptions(depends_on=[example_subnet]))\nexample_account = azure.storage.Account(\"example\",\n    name=\"examplesa\",\n    resource_group_name=example_resource_group.name,\n    location=example_resource_group.location,\n    account_tier=\"Standard\",\n    account_replication_type=\"LRS\")\nexample_three_tier_virtual_instance = azure.workloadssap.ThreeTierVirtualInstance(\"example\",\n    name=\"X05\",\n    resource_group_name=example_resource_group.name,\n    location=example_resource_group.location,\n    environment=\"NonProd\",\n    sap_product=\"S4HANA\",\n    managed_resource_group_name=\"exampleManagedRG\",\n    app_location=app.location,\n    sap_fqdn=\"sap.bpaas.com\",\n    three_tier_configuration={\n        \"app_resource_group_name\": app.name,\n        \"secondary_ip_enabled\": True,\n        \"application_server_configuration\": {\n            \"instance_count\": 1,\n            \"subnet_id\": example_subnet.id,\n            \"virtual_machine_configuration\": {\n                \"virtual_machine_size\": \"Standard_D16ds_v4\",\n                \"image\": {\n                    \"offer\": \"RHEL-SAP-HA\",\n                    \"publisher\": \"RedHat\",\n                    \"sku\": \"82sapha-gen2\",\n                    \"version\": \"latest\",\n                },\n                \"os_profile\": {\n                    \"admin_username\": \"testAdmin\",\n                    \"ssh_private_key\": example_private_key[\"privateKeyPem\"],\n                    \"ssh_public_key\": example[\"publicKeyOpenssh\"],\n                },\n            },\n        },\n        \"central_server_configuration\": {\n            \"instance_count\": 1,\n            \"subnet_id\": example_subnet.id,\n            \"virtual_machine_configuration\": {\n                \"virtual_machine_size\": \"Standard_D16ds_v4\",\n                \"image\": {\n                    \"offer\": \"RHEL-SAP-HA\",\n                    \"publisher\": \"RedHat\",\n                    \"sku\": \"82sapha-gen2\",\n                    \"version\": \"latest\",\n                },\n                \"os_profile\": {\n                    \"admin_username\": \"testAdmin\",\n                    \"ssh_private_key\": example_private_key[\"privateKeyPem\"],\n                    \"ssh_public_key\": example[\"publicKeyOpenssh\"],\n                },\n            },\n        },\n        \"database_server_configuration\": {\n            \"instance_count\": 1,\n            \"subnet_id\": example_subnet.id,\n            \"database_type\": \"HANA\",\n            \"virtual_machine_configuration\": {\n                \"virtual_machine_size\": \"Standard_E16ds_v4\",\n                \"image\": {\n                    \"offer\": \"RHEL-SAP-HA\",\n                    \"publisher\": \"RedHat\",\n                    \"sku\": \"82sapha-gen2\",\n                    \"version\": \"latest\",\n                },\n                \"os_profile\": {\n                    \"admin_username\": \"testAdmin\",\n                    \"ssh_private_key\": example_private_key[\"privateKeyPem\"],\n                    \"ssh_public_key\": example[\"publicKeyOpenssh\"],\n                },\n            },\n            \"disk_volume_configurations\": [\n                {\n                    \"volume_name\": \"hana/data\",\n                    \"number_of_disks\": 3,\n                    \"size_in_gb\": 128,\n                    \"sku_name\": \"Premium_LRS\",\n                },\n                {\n                    \"volume_name\": \"hana/log\",\n                    \"number_of_disks\": 3,\n                    \"size_in_gb\": 128,\n                    \"sku_name\": \"Premium_LRS\",\n                },\n                {\n                    \"volume_name\": \"hana/shared\",\n                    \"number_of_disks\": 1,\n                    \"size_in_gb\": 256,\n                    \"sku_name\": \"Premium_LRS\",\n                },\n                {\n                    \"volume_name\": \"usr/sap\",\n                    \"number_of_disks\": 1,\n                    \"size_in_gb\": 128,\n                    \"sku_name\": \"Premium_LRS\",\n                },\n                {\n                    \"volume_name\": \"backup\",\n                    \"number_of_disks\": 2,\n                    \"size_in_gb\": 256,\n                    \"sku_name\": \"StandardSSD_LRS\",\n                },\n                {\n                    \"volume_name\": \"os\",\n                    \"number_of_disks\": 1,\n                    \"size_in_gb\": 64,\n                    \"sku_name\": \"StandardSSD_LRS\",\n                },\n            ],\n        },\n        \"resource_names\": {\n            \"application_server\": {\n                \"availability_set_name\": \"appAvSet\",\n                \"virtual_machines\": [{\n                    \"host_name\": \"apphostName0\",\n                    \"os_disk_name\": \"app0osdisk\",\n                    \"virtual_machine_name\": \"appvm0\",\n                    \"network_interface_names\": [\"appnic0\"],\n                    \"data_disks\": [{\n                        \"volume_name\": \"default\",\n                        \"names\": [\"app0disk0\"],\n                    }],\n                }],\n            },\n            \"central_server\": {\n                \"availability_set_name\": \"csAvSet\",\n                \"load_balancer\": {\n                    \"name\": \"ascslb\",\n                    \"backend_pool_names\": [\"ascsBackendPool\"],\n                    \"frontend_ip_configuration_names\": [\"ascsip0\"],\n                    \"health_probe_names\": [\"ascsHealthProbe\"],\n                },\n                \"virtual_machines\": [{\n                    \"host_name\": \"ascshostName\",\n                    \"os_disk_name\": \"ascsosdisk\",\n                    \"virtual_machine_name\": \"ascsvm\",\n                    \"network_interface_names\": [\"ascsnic\"],\n                    \"data_disks\": [{\n                        \"volume_name\": \"default\",\n                        \"names\": [\"ascsdisk\"],\n                    }],\n                }],\n            },\n            \"database_server\": {\n                \"availability_set_name\": \"dbAvSet\",\n                \"load_balancer\": {\n                    \"name\": \"dblb\",\n                    \"backend_pool_names\": [\"dbBackendPool\"],\n                    \"frontend_ip_configuration_names\": [\"dbip\"],\n                    \"health_probe_names\": [\"dbHealthProbe\"],\n                },\n                \"virtual_machines\": [{\n                    \"host_name\": \"dbprhost\",\n                    \"os_disk_name\": \"dbprosdisk\",\n                    \"virtual_machine_name\": \"dbvmpr\",\n                    \"network_interface_names\": [\"dbprnic\"],\n                    \"data_disks\": [\n                        {\n                            \"volume_name\": \"hanaData\",\n                            \"names\": [\n                                \"hanadatapr0\",\n                                \"hanadatapr1\",\n                            ],\n                        },\n                        {\n                            \"volume_name\": \"hanaLog\",\n                            \"names\": [\n                                \"hanalogpr0\",\n                                \"hanalogpr1\",\n                                \"hanalogpr2\",\n                            ],\n                        },\n                        {\n                            \"volume_name\": \"usrSap\",\n                            \"names\": [\"usrsappr0\"],\n                        },\n                        {\n                            \"volume_name\": \"hanaShared\",\n                            \"names\": [\n                                \"hanasharedpr0\",\n                                \"hanasharedpr1\",\n                            ],\n                        },\n                    ],\n                }],\n            },\n            \"shared_storage\": {\n                \"account_name\": \"sharedexamplesa\",\n                \"private_endpoint_name\": \"examplePE\",\n            },\n        },\n        \"transport_create_and_mount\": {\n            \"resource_group_id\": app.id,\n            \"storage_account_name\": \"exampletranssa\",\n        },\n    },\n    identity={\n        \"type\": \"UserAssigned\",\n        \"identity_ids\": [example_user_assigned_identity.id],\n    },\n    tags={\n        \"Env\": \"Test\",\n    },\n    opts = pulumi.ResourceOptions(depends_on=[example_assignment]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\nusing Tls = Pulumi.Tls;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var examplePrivateKey = new Tls.Index.PrivateKey(\"example\", new()\n    {\n        Algorithm = \"RSA\",\n        RsaBits = 4096,\n    });\n\n    var example = Tls.Index.PublicKey.Invoke(new()\n    {\n        PrivateKeyPem = examplePrivateKey.PrivateKeyPem,\n    });\n\n    var current = Azure.Core.GetSubscription.Invoke();\n\n    var exampleResourceGroup = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleUserAssignedIdentity = new Azure.Authorization.UserAssignedIdentity(\"example\", new()\n    {\n        Name = \"example-uai\",\n        Location = exampleResourceGroup.Location,\n        ResourceGroupName = exampleResourceGroup.Name,\n    });\n\n    var exampleAssignment = new Azure.Authorization.Assignment(\"example\", new()\n    {\n        Scope = current.Apply(getSubscriptionResult =\u003e getSubscriptionResult.Id),\n        RoleDefinitionName = \"Azure Center for SAP solutions service role\",\n        PrincipalId = exampleUserAssignedIdentity.PrincipalId,\n    });\n\n    var exampleVirtualNetwork = new Azure.Network.VirtualNetwork(\"example\", new()\n    {\n        Name = \"example-vnet\",\n        AddressSpaces = new[]\n        {\n            \"10.0.0.0/16\",\n        },\n        Location = exampleResourceGroup.Location,\n        ResourceGroupName = exampleResourceGroup.Name,\n    });\n\n    var exampleSubnet = new Azure.Network.Subnet(\"example\", new()\n    {\n        Name = \"example-subnet\",\n        ResourceGroupName = exampleResourceGroup.Name,\n        VirtualNetworkName = exampleVirtualNetwork.Name,\n        AddressPrefixes = new[]\n        {\n            \"10.0.2.0/24\",\n        },\n    });\n\n    var app = new Azure.Core.ResourceGroup(\"app\", new()\n    {\n        Name = \"example-sapapp\",\n        Location = \"West Europe\",\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            exampleSubnet,\n        },\n    });\n\n    var exampleAccount = new Azure.Storage.Account(\"example\", new()\n    {\n        Name = \"examplesa\",\n        ResourceGroupName = exampleResourceGroup.Name,\n        Location = exampleResourceGroup.Location,\n        AccountTier = \"Standard\",\n        AccountReplicationType = \"LRS\",\n    });\n\n    var exampleThreeTierVirtualInstance = new Azure.WorkloadsSAP.ThreeTierVirtualInstance(\"example\", new()\n    {\n        Name = \"X05\",\n        ResourceGroupName = exampleResourceGroup.Name,\n        Location = exampleResourceGroup.Location,\n        Environment = \"NonProd\",\n        SapProduct = \"S4HANA\",\n        ManagedResourceGroupName = \"exampleManagedRG\",\n        AppLocation = app.Location,\n        SapFqdn = \"sap.bpaas.com\",\n        ThreeTierConfiguration = new Azure.WorkloadsSAP.Inputs.ThreeTierVirtualInstanceThreeTierConfigurationArgs\n        {\n            AppResourceGroupName = app.Name,\n            SecondaryIpEnabled = true,\n            ApplicationServerConfiguration = new Azure.WorkloadsSAP.Inputs.ThreeTierVirtualInstanceThreeTierConfigurationApplicationServerConfigurationArgs\n            {\n                InstanceCount = 1,\n                SubnetId = exampleSubnet.Id,\n                VirtualMachineConfiguration = new Azure.WorkloadsSAP.Inputs.ThreeTierVirtualInstanceThreeTierConfigurationApplicationServerConfigurationVirtualMachineConfigurationArgs\n                {\n                    VirtualMachineSize = \"Standard_D16ds_v4\",\n                    Image = new Azure.WorkloadsSAP.Inputs.ThreeTierVirtualInstanceThreeTierConfigurationApplicationServerConfigurationVirtualMachineConfigurationImageArgs\n                    {\n                        Offer = \"RHEL-SAP-HA\",\n                        Publisher = \"RedHat\",\n                        Sku = \"82sapha-gen2\",\n                        Version = \"latest\",\n                    },\n                    OsProfile = new Azure.WorkloadsSAP.Inputs.ThreeTierVirtualInstanceThreeTierConfigurationApplicationServerConfigurationVirtualMachineConfigurationOsProfileArgs\n                    {\n                        AdminUsername = \"testAdmin\",\n                        SshPrivateKey = examplePrivateKey.PrivateKeyPem,\n                        SshPublicKey = example.PublicKeyOpenssh,\n                    },\n                },\n            },\n            CentralServerConfiguration = new Azure.WorkloadsSAP.Inputs.ThreeTierVirtualInstanceThreeTierConfigurationCentralServerConfigurationArgs\n            {\n                InstanceCount = 1,\n                SubnetId = exampleSubnet.Id,\n                VirtualMachineConfiguration = new Azure.WorkloadsSAP.Inputs.ThreeTierVirtualInstanceThreeTierConfigurationCentralServerConfigurationVirtualMachineConfigurationArgs\n                {\n                    VirtualMachineSize = \"Standard_D16ds_v4\",\n                    Image = new Azure.WorkloadsSAP.Inputs.ThreeTierVirtualInstanceThreeTierConfigurationCentralServerConfigurationVirtualMachineConfigurationImageArgs\n                    {\n                        Offer = \"RHEL-SAP-HA\",\n                        Publisher = \"RedHat\",\n                        Sku = \"82sapha-gen2\",\n                        Version = \"latest\",\n                    },\n                    OsProfile = new Azure.WorkloadsSAP.Inputs.ThreeTierVirtualInstanceThreeTierConfigurationCentralServerConfigurationVirtualMachineConfigurationOsProfileArgs\n                    {\n                        AdminUsername = \"testAdmin\",\n                        SshPrivateKey = examplePrivateKey.PrivateKeyPem,\n                        SshPublicKey = example.PublicKeyOpenssh,\n                    },\n                },\n            },\n            DatabaseServerConfiguration = new Azure.WorkloadsSAP.Inputs.ThreeTierVirtualInstanceThreeTierConfigurationDatabaseServerConfigurationArgs\n            {\n                InstanceCount = 1,\n                SubnetId = exampleSubnet.Id,\n                DatabaseType = \"HANA\",\n                VirtualMachineConfiguration = new Azure.WorkloadsSAP.Inputs.ThreeTierVirtualInstanceThreeTierConfigurationDatabaseServerConfigurationVirtualMachineConfigurationArgs\n                {\n                    VirtualMachineSize = \"Standard_E16ds_v4\",\n                    Image = new Azure.WorkloadsSAP.Inputs.ThreeTierVirtualInstanceThreeTierConfigurationDatabaseServerConfigurationVirtualMachineConfigurationImageArgs\n                    {\n                        Offer = \"RHEL-SAP-HA\",\n                        Publisher = \"RedHat\",\n                        Sku = \"82sapha-gen2\",\n                        Version = \"latest\",\n                    },\n                    OsProfile = new Azure.WorkloadsSAP.Inputs.ThreeTierVirtualInstanceThreeTierConfigurationDatabaseServerConfigurationVirtualMachineConfigurationOsProfileArgs\n                    {\n                        AdminUsername = \"testAdmin\",\n                        SshPrivateKey = examplePrivateKey.PrivateKeyPem,\n                        SshPublicKey = example.PublicKeyOpenssh,\n                    },\n                },\n                DiskVolumeConfigurations = new[]\n                {\n                    new Azure.WorkloadsSAP.Inputs.ThreeTierVirtualInstanceThreeTierConfigurationDatabaseServerConfigurationDiskVolumeConfigurationArgs\n                    {\n                        VolumeName = \"hana/data\",\n                        NumberOfDisks = 3,\n                        SizeInGb = 128,\n                        SkuName = \"Premium_LRS\",\n                    },\n                    new Azure.WorkloadsSAP.Inputs.ThreeTierVirtualInstanceThreeTierConfigurationDatabaseServerConfigurationDiskVolumeConfigurationArgs\n                    {\n                        VolumeName = \"hana/log\",\n                        NumberOfDisks = 3,\n                        SizeInGb = 128,\n                        SkuName = \"Premium_LRS\",\n                    },\n                    new Azure.WorkloadsSAP.Inputs.ThreeTierVirtualInstanceThreeTierConfigurationDatabaseServerConfigurationDiskVolumeConfigurationArgs\n                    {\n                        VolumeName = \"hana/shared\",\n                        NumberOfDisks = 1,\n                        SizeInGb = 256,\n                        SkuName = \"Premium_LRS\",\n                    },\n                    new Azure.WorkloadsSAP.Inputs.ThreeTierVirtualInstanceThreeTierConfigurationDatabaseServerConfigurationDiskVolumeConfigurationArgs\n                    {\n                        VolumeName = \"usr/sap\",\n                        NumberOfDisks = 1,\n                        SizeInGb = 128,\n                        SkuName = \"Premium_LRS\",\n                    },\n                    new Azure.WorkloadsSAP.Inputs.ThreeTierVirtualInstanceThreeTierConfigurationDatabaseServerConfigurationDiskVolumeConfigurationArgs\n                    {\n                        VolumeName = \"backup\",\n                        NumberOfDisks = 2,\n                        SizeInGb = 256,\n                        SkuName = \"StandardSSD_LRS\",\n                    },\n                    new Azure.WorkloadsSAP.Inputs.ThreeTierVirtualInstanceThreeTierConfigurationDatabaseServerConfigurationDiskVolumeConfigurationArgs\n                    {\n                        VolumeName = \"os\",\n                        NumberOfDisks = 1,\n                        SizeInGb = 64,\n                        SkuName = \"StandardSSD_LRS\",\n                    },\n                },\n            },\n            ResourceNames = new Azure.WorkloadsSAP.Inputs.ThreeTierVirtualInstanceThreeTierConfigurationResourceNamesArgs\n            {\n                ApplicationServer = new Azure.WorkloadsSAP.Inputs.ThreeTierVirtualInstanceThreeTierConfigurationResourceNamesApplicationServerArgs\n                {\n                    AvailabilitySetName = \"appAvSet\",\n                    VirtualMachines = new[]\n                    {\n                        new Azure.WorkloadsSAP.Inputs.ThreeTierVirtualInstanceThreeTierConfigurationResourceNamesApplicationServerVirtualMachineArgs\n                        {\n                            HostName = \"apphostName0\",\n                            OsDiskName = \"app0osdisk\",\n                            VirtualMachineName = \"appvm0\",\n                            NetworkInterfaceNames = new[]\n                            {\n                                \"appnic0\",\n                            },\n                            DataDisks = new[]\n                            {\n                                new Azure.WorkloadsSAP.Inputs.ThreeTierVirtualInstanceThreeTierConfigurationResourceNamesApplicationServerVirtualMachineDataDiskArgs\n                                {\n                                    VolumeName = \"default\",\n                                    Names = new[]\n                                    {\n                                        \"app0disk0\",\n                                    },\n                                },\n                            },\n                        },\n                    },\n                },\n                CentralServer = new Azure.WorkloadsSAP.Inputs.ThreeTierVirtualInstanceThreeTierConfigurationResourceNamesCentralServerArgs\n                {\n                    AvailabilitySetName = \"csAvSet\",\n                    LoadBalancer = new Azure.WorkloadsSAP.Inputs.ThreeTierVirtualInstanceThreeTierConfigurationResourceNamesCentralServerLoadBalancerArgs\n                    {\n                        Name = \"ascslb\",\n                        BackendPoolNames = new[]\n                        {\n                            \"ascsBackendPool\",\n                        },\n                        FrontendIpConfigurationNames = new[]\n                        {\n                            \"ascsip0\",\n                        },\n                        HealthProbeNames = new[]\n                        {\n                            \"ascsHealthProbe\",\n                        },\n                    },\n                    VirtualMachines = new[]\n                    {\n                        new Azure.WorkloadsSAP.Inputs.ThreeTierVirtualInstanceThreeTierConfigurationResourceNamesCentralServerVirtualMachineArgs\n                        {\n                            HostName = \"ascshostName\",\n                            OsDiskName = \"ascsosdisk\",\n                            VirtualMachineName = \"ascsvm\",\n                            NetworkInterfaceNames = new[]\n                            {\n                                \"ascsnic\",\n                            },\n                            DataDisks = new[]\n                            {\n                                new Azure.WorkloadsSAP.Inputs.ThreeTierVirtualInstanceThreeTierConfigurationResourceNamesCentralServerVirtualMachineDataDiskArgs\n                                {\n                                    VolumeName = \"default\",\n                                    Names = new[]\n                                    {\n                                        \"ascsdisk\",\n                                    },\n                                },\n                            },\n                        },\n                    },\n                },\n                DatabaseServer = new Azure.WorkloadsSAP.Inputs.ThreeTierVirtualInstanceThreeTierConfigurationResourceNamesDatabaseServerArgs\n                {\n                    AvailabilitySetName = \"dbAvSet\",\n                    LoadBalancer = new Azure.WorkloadsSAP.Inputs.ThreeTierVirtualInstanceThreeTierConfigurationResourceNamesDatabaseServerLoadBalancerArgs\n                    {\n                        Name = \"dblb\",\n                        BackendPoolNames = new[]\n                        {\n                            \"dbBackendPool\",\n                        },\n                        FrontendIpConfigurationNames = new[]\n                        {\n                            \"dbip\",\n                        },\n                        HealthProbeNames = new[]\n                        {\n                            \"dbHealthProbe\",\n                        },\n                    },\n                    VirtualMachines = new[]\n                    {\n                        new Azure.WorkloadsSAP.Inputs.ThreeTierVirtualInstanceThreeTierConfigurationResourceNamesDatabaseServerVirtualMachineArgs\n                        {\n                            HostName = \"dbprhost\",\n                            OsDiskName = \"dbprosdisk\",\n                            VirtualMachineName = \"dbvmpr\",\n                            NetworkInterfaceNames = new[]\n                            {\n                                \"dbprnic\",\n                            },\n                            DataDisks = new[]\n                            {\n                                new Azure.WorkloadsSAP.Inputs.ThreeTierVirtualInstanceThreeTierConfigurationResourceNamesDatabaseServerVirtualMachineDataDiskArgs\n                                {\n                                    VolumeName = \"hanaData\",\n                                    Names = new[]\n                                    {\n                                        \"hanadatapr0\",\n                                        \"hanadatapr1\",\n                                    },\n                                },\n                                new Azure.WorkloadsSAP.Inputs.ThreeTierVirtualInstanceThreeTierConfigurationResourceNamesDatabaseServerVirtualMachineDataDiskArgs\n                                {\n                                    VolumeName = \"hanaLog\",\n                                    Names = new[]\n                                    {\n                                        \"hanalogpr0\",\n                                        \"hanalogpr1\",\n                                        \"hanalogpr2\",\n                                    },\n                                },\n                                new Azure.WorkloadsSAP.Inputs.ThreeTierVirtualInstanceThreeTierConfigurationResourceNamesDatabaseServerVirtualMachineDataDiskArgs\n                                {\n                                    VolumeName = \"usrSap\",\n                                    Names = new[]\n                                    {\n                                        \"usrsappr0\",\n                                    },\n                                },\n                                new Azure.WorkloadsSAP.Inputs.ThreeTierVirtualInstanceThreeTierConfigurationResourceNamesDatabaseServerVirtualMachineDataDiskArgs\n                                {\n                                    VolumeName = \"hanaShared\",\n                                    Names = new[]\n                                    {\n                                        \"hanasharedpr0\",\n                                        \"hanasharedpr1\",\n                                    },\n                                },\n                            },\n                        },\n                    },\n                },\n                SharedStorage = new Azure.WorkloadsSAP.Inputs.ThreeTierVirtualInstanceThreeTierConfigurationResourceNamesSharedStorageArgs\n                {\n                    AccountName = \"sharedexamplesa\",\n                    PrivateEndpointName = \"examplePE\",\n                },\n            },\n            TransportCreateAndMount = new Azure.WorkloadsSAP.Inputs.ThreeTierVirtualInstanceThreeTierConfigurationTransportCreateAndMountArgs\n            {\n                ResourceGroupId = app.Id,\n                StorageAccountName = \"exampletranssa\",\n            },\n        },\n        Identity = new Azure.WorkloadsSAP.Inputs.ThreeTierVirtualInstanceIdentityArgs\n        {\n            Type = \"UserAssigned\",\n            IdentityIds = new[]\n            {\n                exampleUserAssignedIdentity.Id,\n            },\n        },\n        Tags = \n        {\n            { \"Env\", \"Test\" },\n        },\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            exampleAssignment,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/authorization\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/workloadssap\"\n\t\"github.com/pulumi/pulumi-tls/sdk/go/tls\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texamplePrivateKey, err := tls.NewPrivateKey(ctx, \"example\", \u0026tls.PrivateKeyArgs{\n\t\t\tAlgorithm: \"RSA\",\n\t\t\tRsaBits:   4096,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := tls.PublicKey(ctx, map[string]interface{}{\n\t\t\t\"privateKeyPem\": examplePrivateKey.PrivateKeyPem,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrent, err := core.LookupSubscription(ctx, \u0026core.LookupSubscriptionArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleUserAssignedIdentity, err := authorization.NewUserAssignedIdentity(ctx, \"example\", \u0026authorization.UserAssignedIdentityArgs{\n\t\t\tName:              pulumi.String(\"example-uai\"),\n\t\t\tLocation:          exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAssignment, err := authorization.NewAssignment(ctx, \"example\", \u0026authorization.AssignmentArgs{\n\t\t\tScope:              pulumi.String(current.Id),\n\t\t\tRoleDefinitionName: pulumi.String(\"Azure Center for SAP solutions service role\"),\n\t\t\tPrincipalId:        exampleUserAssignedIdentity.PrincipalId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, \"example\", \u0026network.VirtualNetworkArgs{\n\t\t\tName: pulumi.String(\"example-vnet\"),\n\t\t\tAddressSpaces: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.0.0/16\"),\n\t\t\t},\n\t\t\tLocation:          exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSubnet, err := network.NewSubnet(ctx, \"example\", \u0026network.SubnetArgs{\n\t\t\tName:               pulumi.String(\"example-subnet\"),\n\t\t\tResourceGroupName:  exampleResourceGroup.Name,\n\t\t\tVirtualNetworkName: exampleVirtualNetwork.Name,\n\t\t\tAddressPrefixes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.2.0/24\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tapp, err := core.NewResourceGroup(ctx, \"app\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-sapapp\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleSubnet,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = storage.NewAccount(ctx, \"example\", \u0026storage.AccountArgs{\n\t\t\tName:                   pulumi.String(\"examplesa\"),\n\t\t\tResourceGroupName:      exampleResourceGroup.Name,\n\t\t\tLocation:               exampleResourceGroup.Location,\n\t\t\tAccountTier:            pulumi.String(\"Standard\"),\n\t\t\tAccountReplicationType: pulumi.String(\"LRS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = workloadssap.NewThreeTierVirtualInstance(ctx, \"example\", \u0026workloadssap.ThreeTierVirtualInstanceArgs{\n\t\t\tName:                     pulumi.String(\"X05\"),\n\t\t\tResourceGroupName:        exampleResourceGroup.Name,\n\t\t\tLocation:                 exampleResourceGroup.Location,\n\t\t\tEnvironment:              pulumi.String(\"NonProd\"),\n\t\t\tSapProduct:               pulumi.String(\"S4HANA\"),\n\t\t\tManagedResourceGroupName: pulumi.String(\"exampleManagedRG\"),\n\t\t\tAppLocation:              app.Location,\n\t\t\tSapFqdn:                  pulumi.String(\"sap.bpaas.com\"),\n\t\t\tThreeTierConfiguration: \u0026workloadssap.ThreeTierVirtualInstanceThreeTierConfigurationArgs{\n\t\t\t\tAppResourceGroupName: app.Name,\n\t\t\t\tSecondaryIpEnabled:   pulumi.Bool(true),\n\t\t\t\tApplicationServerConfiguration: \u0026workloadssap.ThreeTierVirtualInstanceThreeTierConfigurationApplicationServerConfigurationArgs{\n\t\t\t\t\tInstanceCount: pulumi.Int(1),\n\t\t\t\t\tSubnetId:      exampleSubnet.ID(),\n\t\t\t\t\tVirtualMachineConfiguration: \u0026workloadssap.ThreeTierVirtualInstanceThreeTierConfigurationApplicationServerConfigurationVirtualMachineConfigurationArgs{\n\t\t\t\t\t\tVirtualMachineSize: pulumi.String(\"Standard_D16ds_v4\"),\n\t\t\t\t\t\tImage: \u0026workloadssap.ThreeTierVirtualInstanceThreeTierConfigurationApplicationServerConfigurationVirtualMachineConfigurationImageArgs{\n\t\t\t\t\t\t\tOffer:     pulumi.String(\"RHEL-SAP-HA\"),\n\t\t\t\t\t\t\tPublisher: pulumi.String(\"RedHat\"),\n\t\t\t\t\t\t\tSku:       pulumi.String(\"82sapha-gen2\"),\n\t\t\t\t\t\t\tVersion:   pulumi.String(\"latest\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tOsProfile: \u0026workloadssap.ThreeTierVirtualInstanceThreeTierConfigurationApplicationServerConfigurationVirtualMachineConfigurationOsProfileArgs{\n\t\t\t\t\t\t\tAdminUsername: pulumi.String(\"testAdmin\"),\n\t\t\t\t\t\t\tSshPrivateKey: examplePrivateKey.PrivateKeyPem,\n\t\t\t\t\t\t\tSshPublicKey:  pulumi.Any(example.PublicKeyOpenssh),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tCentralServerConfiguration: \u0026workloadssap.ThreeTierVirtualInstanceThreeTierConfigurationCentralServerConfigurationArgs{\n\t\t\t\t\tInstanceCount: pulumi.Int(1),\n\t\t\t\t\tSubnetId:      exampleSubnet.ID(),\n\t\t\t\t\tVirtualMachineConfiguration: \u0026workloadssap.ThreeTierVirtualInstanceThreeTierConfigurationCentralServerConfigurationVirtualMachineConfigurationArgs{\n\t\t\t\t\t\tVirtualMachineSize: pulumi.String(\"Standard_D16ds_v4\"),\n\t\t\t\t\t\tImage: \u0026workloadssap.ThreeTierVirtualInstanceThreeTierConfigurationCentralServerConfigurationVirtualMachineConfigurationImageArgs{\n\t\t\t\t\t\t\tOffer:     pulumi.String(\"RHEL-SAP-HA\"),\n\t\t\t\t\t\t\tPublisher: pulumi.String(\"RedHat\"),\n\t\t\t\t\t\t\tSku:       pulumi.String(\"82sapha-gen2\"),\n\t\t\t\t\t\t\tVersion:   pulumi.String(\"latest\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tOsProfile: \u0026workloadssap.ThreeTierVirtualInstanceThreeTierConfigurationCentralServerConfigurationVirtualMachineConfigurationOsProfileArgs{\n\t\t\t\t\t\t\tAdminUsername: pulumi.String(\"testAdmin\"),\n\t\t\t\t\t\t\tSshPrivateKey: examplePrivateKey.PrivateKeyPem,\n\t\t\t\t\t\t\tSshPublicKey:  pulumi.Any(example.PublicKeyOpenssh),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tDatabaseServerConfiguration: \u0026workloadssap.ThreeTierVirtualInstanceThreeTierConfigurationDatabaseServerConfigurationArgs{\n\t\t\t\t\tInstanceCount: pulumi.Int(1),\n\t\t\t\t\tSubnetId:      exampleSubnet.ID(),\n\t\t\t\t\tDatabaseType:  pulumi.String(\"HANA\"),\n\t\t\t\t\tVirtualMachineConfiguration: \u0026workloadssap.ThreeTierVirtualInstanceThreeTierConfigurationDatabaseServerConfigurationVirtualMachineConfigurationArgs{\n\t\t\t\t\t\tVirtualMachineSize: pulumi.String(\"Standard_E16ds_v4\"),\n\t\t\t\t\t\tImage: \u0026workloadssap.ThreeTierVirtualInstanceThreeTierConfigurationDatabaseServerConfigurationVirtualMachineConfigurationImageArgs{\n\t\t\t\t\t\t\tOffer:     pulumi.String(\"RHEL-SAP-HA\"),\n\t\t\t\t\t\t\tPublisher: pulumi.String(\"RedHat\"),\n\t\t\t\t\t\t\tSku:       pulumi.String(\"82sapha-gen2\"),\n\t\t\t\t\t\t\tVersion:   pulumi.String(\"latest\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tOsProfile: \u0026workloadssap.ThreeTierVirtualInstanceThreeTierConfigurationDatabaseServerConfigurationVirtualMachineConfigurationOsProfileArgs{\n\t\t\t\t\t\t\tAdminUsername: pulumi.String(\"testAdmin\"),\n\t\t\t\t\t\t\tSshPrivateKey: examplePrivateKey.PrivateKeyPem,\n\t\t\t\t\t\t\tSshPublicKey:  pulumi.Any(example.PublicKeyOpenssh),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tDiskVolumeConfigurations: workloadssap.ThreeTierVirtualInstanceThreeTierConfigurationDatabaseServerConfigurationDiskVolumeConfigurationArray{\n\t\t\t\t\t\t\u0026workloadssap.ThreeTierVirtualInstanceThreeTierConfigurationDatabaseServerConfigurationDiskVolumeConfigurationArgs{\n\t\t\t\t\t\t\tVolumeName:    pulumi.String(\"hana/data\"),\n\t\t\t\t\t\t\tNumberOfDisks: pulumi.Int(3),\n\t\t\t\t\t\t\tSizeInGb:      pulumi.Int(128),\n\t\t\t\t\t\t\tSkuName:       pulumi.String(\"Premium_LRS\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026workloadssap.ThreeTierVirtualInstanceThreeTierConfigurationDatabaseServerConfigurationDiskVolumeConfigurationArgs{\n\t\t\t\t\t\t\tVolumeName:    pulumi.String(\"hana/log\"),\n\t\t\t\t\t\t\tNumberOfDisks: pulumi.Int(3),\n\t\t\t\t\t\t\tSizeInGb:      pulumi.Int(128),\n\t\t\t\t\t\t\tSkuName:       pulumi.String(\"Premium_LRS\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026workloadssap.ThreeTierVirtualInstanceThreeTierConfigurationDatabaseServerConfigurationDiskVolumeConfigurationArgs{\n\t\t\t\t\t\t\tVolumeName:    pulumi.String(\"hana/shared\"),\n\t\t\t\t\t\t\tNumberOfDisks: pulumi.Int(1),\n\t\t\t\t\t\t\tSizeInGb:      pulumi.Int(256),\n\t\t\t\t\t\t\tSkuName:       pulumi.String(\"Premium_LRS\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026workloadssap.ThreeTierVirtualInstanceThreeTierConfigurationDatabaseServerConfigurationDiskVolumeConfigurationArgs{\n\t\t\t\t\t\t\tVolumeName:    pulumi.String(\"usr/sap\"),\n\t\t\t\t\t\t\tNumberOfDisks: pulumi.Int(1),\n\t\t\t\t\t\t\tSizeInGb:      pulumi.Int(128),\n\t\t\t\t\t\t\tSkuName:       pulumi.String(\"Premium_LRS\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026workloadssap.ThreeTierVirtualInstanceThreeTierConfigurationDatabaseServerConfigurationDiskVolumeConfigurationArgs{\n\t\t\t\t\t\t\tVolumeName:    pulumi.String(\"backup\"),\n\t\t\t\t\t\t\tNumberOfDisks: pulumi.Int(2),\n\t\t\t\t\t\t\tSizeInGb:      pulumi.Int(256),\n\t\t\t\t\t\t\tSkuName:       pulumi.String(\"StandardSSD_LRS\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026workloadssap.ThreeTierVirtualInstanceThreeTierConfigurationDatabaseServerConfigurationDiskVolumeConfigurationArgs{\n\t\t\t\t\t\t\tVolumeName:    pulumi.String(\"os\"),\n\t\t\t\t\t\t\tNumberOfDisks: pulumi.Int(1),\n\t\t\t\t\t\t\tSizeInGb:      pulumi.Int(64),\n\t\t\t\t\t\t\tSkuName:       pulumi.String(\"StandardSSD_LRS\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tResourceNames: \u0026workloadssap.ThreeTierVirtualInstanceThreeTierConfigurationResourceNamesArgs{\n\t\t\t\t\tApplicationServer: \u0026workloadssap.ThreeTierVirtualInstanceThreeTierConfigurationResourceNamesApplicationServerArgs{\n\t\t\t\t\t\tAvailabilitySetName: pulumi.String(\"appAvSet\"),\n\t\t\t\t\t\tVirtualMachines: workloadssap.ThreeTierVirtualInstanceThreeTierConfigurationResourceNamesApplicationServerVirtualMachineArray{\n\t\t\t\t\t\t\t\u0026workloadssap.ThreeTierVirtualInstanceThreeTierConfigurationResourceNamesApplicationServerVirtualMachineArgs{\n\t\t\t\t\t\t\t\tHostName:           pulumi.String(\"apphostName0\"),\n\t\t\t\t\t\t\t\tOsDiskName:         pulumi.String(\"app0osdisk\"),\n\t\t\t\t\t\t\t\tVirtualMachineName: pulumi.String(\"appvm0\"),\n\t\t\t\t\t\t\t\tNetworkInterfaceNames: pulumi.StringArray{\n\t\t\t\t\t\t\t\t\tpulumi.String(\"appnic0\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tDataDisks: workloadssap.ThreeTierVirtualInstanceThreeTierConfigurationResourceNamesApplicationServerVirtualMachineDataDiskArray{\n\t\t\t\t\t\t\t\t\t\u0026workloadssap.ThreeTierVirtualInstanceThreeTierConfigurationResourceNamesApplicationServerVirtualMachineDataDiskArgs{\n\t\t\t\t\t\t\t\t\t\tVolumeName: pulumi.String(\"default\"),\n\t\t\t\t\t\t\t\t\t\tNames: pulumi.StringArray{\n\t\t\t\t\t\t\t\t\t\t\tpulumi.String(\"app0disk0\"),\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tCentralServer: \u0026workloadssap.ThreeTierVirtualInstanceThreeTierConfigurationResourceNamesCentralServerArgs{\n\t\t\t\t\t\tAvailabilitySetName: pulumi.String(\"csAvSet\"),\n\t\t\t\t\t\tLoadBalancer: \u0026workloadssap.ThreeTierVirtualInstanceThreeTierConfigurationResourceNamesCentralServerLoadBalancerArgs{\n\t\t\t\t\t\t\tName: pulumi.String(\"ascslb\"),\n\t\t\t\t\t\t\tBackendPoolNames: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"ascsBackendPool\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tFrontendIpConfigurationNames: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"ascsip0\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tHealthProbeNames: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"ascsHealthProbe\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tVirtualMachines: workloadssap.ThreeTierVirtualInstanceThreeTierConfigurationResourceNamesCentralServerVirtualMachineArray{\n\t\t\t\t\t\t\t\u0026workloadssap.ThreeTierVirtualInstanceThreeTierConfigurationResourceNamesCentralServerVirtualMachineArgs{\n\t\t\t\t\t\t\t\tHostName:           pulumi.String(\"ascshostName\"),\n\t\t\t\t\t\t\t\tOsDiskName:         pulumi.String(\"ascsosdisk\"),\n\t\t\t\t\t\t\t\tVirtualMachineName: pulumi.String(\"ascsvm\"),\n\t\t\t\t\t\t\t\tNetworkInterfaceNames: pulumi.StringArray{\n\t\t\t\t\t\t\t\t\tpulumi.String(\"ascsnic\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tDataDisks: workloadssap.ThreeTierVirtualInstanceThreeTierConfigurationResourceNamesCentralServerVirtualMachineDataDiskArray{\n\t\t\t\t\t\t\t\t\t\u0026workloadssap.ThreeTierVirtualInstanceThreeTierConfigurationResourceNamesCentralServerVirtualMachineDataDiskArgs{\n\t\t\t\t\t\t\t\t\t\tVolumeName: pulumi.String(\"default\"),\n\t\t\t\t\t\t\t\t\t\tNames: pulumi.StringArray{\n\t\t\t\t\t\t\t\t\t\t\tpulumi.String(\"ascsdisk\"),\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tDatabaseServer: \u0026workloadssap.ThreeTierVirtualInstanceThreeTierConfigurationResourceNamesDatabaseServerArgs{\n\t\t\t\t\t\tAvailabilitySetName: pulumi.String(\"dbAvSet\"),\n\t\t\t\t\t\tLoadBalancer: \u0026workloadssap.ThreeTierVirtualInstanceThreeTierConfigurationResourceNamesDatabaseServerLoadBalancerArgs{\n\t\t\t\t\t\t\tName: pulumi.String(\"dblb\"),\n\t\t\t\t\t\t\tBackendPoolNames: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"dbBackendPool\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tFrontendIpConfigurationNames: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"dbip\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tHealthProbeNames: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"dbHealthProbe\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tVirtualMachines: workloadssap.ThreeTierVirtualInstanceThreeTierConfigurationResourceNamesDatabaseServerVirtualMachineArray{\n\t\t\t\t\t\t\t\u0026workloadssap.ThreeTierVirtualInstanceThreeTierConfigurationResourceNamesDatabaseServerVirtualMachineArgs{\n\t\t\t\t\t\t\t\tHostName:           pulumi.String(\"dbprhost\"),\n\t\t\t\t\t\t\t\tOsDiskName:         pulumi.String(\"dbprosdisk\"),\n\t\t\t\t\t\t\t\tVirtualMachineName: pulumi.String(\"dbvmpr\"),\n\t\t\t\t\t\t\t\tNetworkInterfaceNames: pulumi.StringArray{\n\t\t\t\t\t\t\t\t\tpulumi.String(\"dbprnic\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tDataDisks: workloadssap.ThreeTierVirtualInstanceThreeTierConfigurationResourceNamesDatabaseServerVirtualMachineDataDiskArray{\n\t\t\t\t\t\t\t\t\t\u0026workloadssap.ThreeTierVirtualInstanceThreeTierConfigurationResourceNamesDatabaseServerVirtualMachineDataDiskArgs{\n\t\t\t\t\t\t\t\t\t\tVolumeName: pulumi.String(\"hanaData\"),\n\t\t\t\t\t\t\t\t\t\tNames: pulumi.StringArray{\n\t\t\t\t\t\t\t\t\t\t\tpulumi.String(\"hanadatapr0\"),\n\t\t\t\t\t\t\t\t\t\t\tpulumi.String(\"hanadatapr1\"),\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\u0026workloadssap.ThreeTierVirtualInstanceThreeTierConfigurationResourceNamesDatabaseServerVirtualMachineDataDiskArgs{\n\t\t\t\t\t\t\t\t\t\tVolumeName: pulumi.String(\"hanaLog\"),\n\t\t\t\t\t\t\t\t\t\tNames: pulumi.StringArray{\n\t\t\t\t\t\t\t\t\t\t\tpulumi.String(\"hanalogpr0\"),\n\t\t\t\t\t\t\t\t\t\t\tpulumi.String(\"hanalogpr1\"),\n\t\t\t\t\t\t\t\t\t\t\tpulumi.String(\"hanalogpr2\"),\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\u0026workloadssap.ThreeTierVirtualInstanceThreeTierConfigurationResourceNamesDatabaseServerVirtualMachineDataDiskArgs{\n\t\t\t\t\t\t\t\t\t\tVolumeName: pulumi.String(\"usrSap\"),\n\t\t\t\t\t\t\t\t\t\tNames: pulumi.StringArray{\n\t\t\t\t\t\t\t\t\t\t\tpulumi.String(\"usrsappr0\"),\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\u0026workloadssap.ThreeTierVirtualInstanceThreeTierConfigurationResourceNamesDatabaseServerVirtualMachineDataDiskArgs{\n\t\t\t\t\t\t\t\t\t\tVolumeName: pulumi.String(\"hanaShared\"),\n\t\t\t\t\t\t\t\t\t\tNames: pulumi.StringArray{\n\t\t\t\t\t\t\t\t\t\t\tpulumi.String(\"hanasharedpr0\"),\n\t\t\t\t\t\t\t\t\t\t\tpulumi.String(\"hanasharedpr1\"),\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tSharedStorage: \u0026workloadssap.ThreeTierVirtualInstanceThreeTierConfigurationResourceNamesSharedStorageArgs{\n\t\t\t\t\t\tAccountName:         pulumi.String(\"sharedexamplesa\"),\n\t\t\t\t\t\tPrivateEndpointName: pulumi.String(\"examplePE\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tTransportCreateAndMount: \u0026workloadssap.ThreeTierVirtualInstanceThreeTierConfigurationTransportCreateAndMountArgs{\n\t\t\t\t\tResourceGroupId:    app.ID(),\n\t\t\t\t\tStorageAccountName: pulumi.String(\"exampletranssa\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tIdentity: \u0026workloadssap.ThreeTierVirtualInstanceIdentityArgs{\n\t\t\t\tType: pulumi.String(\"UserAssigned\"),\n\t\t\t\tIdentityIds: pulumi.StringArray{\n\t\t\t\t\texampleUserAssignedIdentity.ID(),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Env\": pulumi.String(\"Test\"),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleAssignment,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.tls.PrivateKey;\nimport com.pulumi.tls.PrivateKeyArgs;\nimport com.pulumi.tls.TlsFunctions;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.core.inputs.GetSubscriptionArgs;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.authorization.UserAssignedIdentity;\nimport com.pulumi.azure.authorization.UserAssignedIdentityArgs;\nimport com.pulumi.azure.authorization.Assignment;\nimport com.pulumi.azure.authorization.AssignmentArgs;\nimport com.pulumi.azure.network.VirtualNetwork;\nimport com.pulumi.azure.network.VirtualNetworkArgs;\nimport com.pulumi.azure.network.Subnet;\nimport com.pulumi.azure.network.SubnetArgs;\nimport com.pulumi.azure.storage.Account;\nimport com.pulumi.azure.storage.AccountArgs;\nimport com.pulumi.azure.workloadssap.ThreeTierVirtualInstance;\nimport com.pulumi.azure.workloadssap.ThreeTierVirtualInstanceArgs;\nimport com.pulumi.azure.workloadssap.inputs.ThreeTierVirtualInstanceThreeTierConfigurationArgs;\nimport com.pulumi.azure.workloadssap.inputs.ThreeTierVirtualInstanceThreeTierConfigurationApplicationServerConfigurationArgs;\nimport com.pulumi.azure.workloadssap.inputs.ThreeTierVirtualInstanceThreeTierConfigurationApplicationServerConfigurationVirtualMachineConfigurationArgs;\nimport com.pulumi.azure.workloadssap.inputs.ThreeTierVirtualInstanceThreeTierConfigurationApplicationServerConfigurationVirtualMachineConfigurationImageArgs;\nimport com.pulumi.azure.workloadssap.inputs.ThreeTierVirtualInstanceThreeTierConfigurationApplicationServerConfigurationVirtualMachineConfigurationOsProfileArgs;\nimport com.pulumi.azure.workloadssap.inputs.ThreeTierVirtualInstanceThreeTierConfigurationCentralServerConfigurationArgs;\nimport com.pulumi.azure.workloadssap.inputs.ThreeTierVirtualInstanceThreeTierConfigurationCentralServerConfigurationVirtualMachineConfigurationArgs;\nimport com.pulumi.azure.workloadssap.inputs.ThreeTierVirtualInstanceThreeTierConfigurationCentralServerConfigurationVirtualMachineConfigurationImageArgs;\nimport com.pulumi.azure.workloadssap.inputs.ThreeTierVirtualInstanceThreeTierConfigurationCentralServerConfigurationVirtualMachineConfigurationOsProfileArgs;\nimport com.pulumi.azure.workloadssap.inputs.ThreeTierVirtualInstanceThreeTierConfigurationDatabaseServerConfigurationArgs;\nimport com.pulumi.azure.workloadssap.inputs.ThreeTierVirtualInstanceThreeTierConfigurationDatabaseServerConfigurationVirtualMachineConfigurationArgs;\nimport com.pulumi.azure.workloadssap.inputs.ThreeTierVirtualInstanceThreeTierConfigurationDatabaseServerConfigurationVirtualMachineConfigurationImageArgs;\nimport com.pulumi.azure.workloadssap.inputs.ThreeTierVirtualInstanceThreeTierConfigurationDatabaseServerConfigurationVirtualMachineConfigurationOsProfileArgs;\nimport com.pulumi.azure.workloadssap.inputs.ThreeTierVirtualInstanceThreeTierConfigurationResourceNamesArgs;\nimport com.pulumi.azure.workloadssap.inputs.ThreeTierVirtualInstanceThreeTierConfigurationResourceNamesApplicationServerArgs;\nimport com.pulumi.azure.workloadssap.inputs.ThreeTierVirtualInstanceThreeTierConfigurationResourceNamesCentralServerArgs;\nimport com.pulumi.azure.workloadssap.inputs.ThreeTierVirtualInstanceThreeTierConfigurationResourceNamesCentralServerLoadBalancerArgs;\nimport com.pulumi.azure.workloadssap.inputs.ThreeTierVirtualInstanceThreeTierConfigurationResourceNamesDatabaseServerArgs;\nimport com.pulumi.azure.workloadssap.inputs.ThreeTierVirtualInstanceThreeTierConfigurationResourceNamesDatabaseServerLoadBalancerArgs;\nimport com.pulumi.azure.workloadssap.inputs.ThreeTierVirtualInstanceThreeTierConfigurationResourceNamesSharedStorageArgs;\nimport com.pulumi.azure.workloadssap.inputs.ThreeTierVirtualInstanceThreeTierConfigurationTransportCreateAndMountArgs;\nimport com.pulumi.azure.workloadssap.inputs.ThreeTierVirtualInstanceIdentityArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var examplePrivateKey = new PrivateKey(\"examplePrivateKey\", PrivateKeyArgs.builder()\n            .algorithm(\"RSA\")\n            .rsaBits(4096)\n            .build());\n\n        final var example = TlsFunctions.PublicKey(Map.of(\"privateKeyPem\", examplePrivateKey.privateKeyPem()));\n\n        final var current = CoreFunctions.getSubscription(GetSubscriptionArgs.builder()\n            .build());\n\n        var exampleResourceGroup = new ResourceGroup(\"exampleResourceGroup\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleUserAssignedIdentity = new UserAssignedIdentity(\"exampleUserAssignedIdentity\", UserAssignedIdentityArgs.builder()\n            .name(\"example-uai\")\n            .location(exampleResourceGroup.location())\n            .resourceGroupName(exampleResourceGroup.name())\n            .build());\n\n        var exampleAssignment = new Assignment(\"exampleAssignment\", AssignmentArgs.builder()\n            .scope(current.id())\n            .roleDefinitionName(\"Azure Center for SAP solutions service role\")\n            .principalId(exampleUserAssignedIdentity.principalId())\n            .build());\n\n        var exampleVirtualNetwork = new VirtualNetwork(\"exampleVirtualNetwork\", VirtualNetworkArgs.builder()\n            .name(\"example-vnet\")\n            .addressSpaces(\"10.0.0.0/16\")\n            .location(exampleResourceGroup.location())\n            .resourceGroupName(exampleResourceGroup.name())\n            .build());\n\n        var exampleSubnet = new Subnet(\"exampleSubnet\", SubnetArgs.builder()\n            .name(\"example-subnet\")\n            .resourceGroupName(exampleResourceGroup.name())\n            .virtualNetworkName(exampleVirtualNetwork.name())\n            .addressPrefixes(\"10.0.2.0/24\")\n            .build());\n\n        var app = new ResourceGroup(\"app\", ResourceGroupArgs.builder()\n            .name(\"example-sapapp\")\n            .location(\"West Europe\")\n            .build(), CustomResourceOptions.builder()\n                .dependsOn(exampleSubnet)\n                .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"examplesa\")\n            .resourceGroupName(exampleResourceGroup.name())\n            .location(exampleResourceGroup.location())\n            .accountTier(\"Standard\")\n            .accountReplicationType(\"LRS\")\n            .build());\n\n        var exampleThreeTierVirtualInstance = new ThreeTierVirtualInstance(\"exampleThreeTierVirtualInstance\", ThreeTierVirtualInstanceArgs.builder()\n            .name(\"X05\")\n            .resourceGroupName(exampleResourceGroup.name())\n            .location(exampleResourceGroup.location())\n            .environment(\"NonProd\")\n            .sapProduct(\"S4HANA\")\n            .managedResourceGroupName(\"exampleManagedRG\")\n            .appLocation(app.location())\n            .sapFqdn(\"sap.bpaas.com\")\n            .threeTierConfiguration(ThreeTierVirtualInstanceThreeTierConfigurationArgs.builder()\n                .appResourceGroupName(app.name())\n                .secondaryIpEnabled(true)\n                .applicationServerConfiguration(ThreeTierVirtualInstanceThreeTierConfigurationApplicationServerConfigurationArgs.builder()\n                    .instanceCount(1)\n                    .subnetId(exampleSubnet.id())\n                    .virtualMachineConfiguration(ThreeTierVirtualInstanceThreeTierConfigurationApplicationServerConfigurationVirtualMachineConfigurationArgs.builder()\n                        .virtualMachineSize(\"Standard_D16ds_v4\")\n                        .image(ThreeTierVirtualInstanceThreeTierConfigurationApplicationServerConfigurationVirtualMachineConfigurationImageArgs.builder()\n                            .offer(\"RHEL-SAP-HA\")\n                            .publisher(\"RedHat\")\n                            .sku(\"82sapha-gen2\")\n                            .version(\"latest\")\n                            .build())\n                        .osProfile(ThreeTierVirtualInstanceThreeTierConfigurationApplicationServerConfigurationVirtualMachineConfigurationOsProfileArgs.builder()\n                            .adminUsername(\"testAdmin\")\n                            .sshPrivateKey(examplePrivateKey.privateKeyPem())\n                            .sshPublicKey(example.publicKeyOpenssh())\n                            .build())\n                        .build())\n                    .build())\n                .centralServerConfiguration(ThreeTierVirtualInstanceThreeTierConfigurationCentralServerConfigurationArgs.builder()\n                    .instanceCount(1)\n                    .subnetId(exampleSubnet.id())\n                    .virtualMachineConfiguration(ThreeTierVirtualInstanceThreeTierConfigurationCentralServerConfigurationVirtualMachineConfigurationArgs.builder()\n                        .virtualMachineSize(\"Standard_D16ds_v4\")\n                        .image(ThreeTierVirtualInstanceThreeTierConfigurationCentralServerConfigurationVirtualMachineConfigurationImageArgs.builder()\n                            .offer(\"RHEL-SAP-HA\")\n                            .publisher(\"RedHat\")\n                            .sku(\"82sapha-gen2\")\n                            .version(\"latest\")\n                            .build())\n                        .osProfile(ThreeTierVirtualInstanceThreeTierConfigurationCentralServerConfigurationVirtualMachineConfigurationOsProfileArgs.builder()\n                            .adminUsername(\"testAdmin\")\n                            .sshPrivateKey(examplePrivateKey.privateKeyPem())\n                            .sshPublicKey(example.publicKeyOpenssh())\n                            .build())\n                        .build())\n                    .build())\n                .databaseServerConfiguration(ThreeTierVirtualInstanceThreeTierConfigurationDatabaseServerConfigurationArgs.builder()\n                    .instanceCount(1)\n                    .subnetId(exampleSubnet.id())\n                    .databaseType(\"HANA\")\n                    .virtualMachineConfiguration(ThreeTierVirtualInstanceThreeTierConfigurationDatabaseServerConfigurationVirtualMachineConfigurationArgs.builder()\n                        .virtualMachineSize(\"Standard_E16ds_v4\")\n                        .image(ThreeTierVirtualInstanceThreeTierConfigurationDatabaseServerConfigurationVirtualMachineConfigurationImageArgs.builder()\n                            .offer(\"RHEL-SAP-HA\")\n                            .publisher(\"RedHat\")\n                            .sku(\"82sapha-gen2\")\n                            .version(\"latest\")\n                            .build())\n                        .osProfile(ThreeTierVirtualInstanceThreeTierConfigurationDatabaseServerConfigurationVirtualMachineConfigurationOsProfileArgs.builder()\n                            .adminUsername(\"testAdmin\")\n                            .sshPrivateKey(examplePrivateKey.privateKeyPem())\n                            .sshPublicKey(example.publicKeyOpenssh())\n                            .build())\n                        .build())\n                    .diskVolumeConfigurations(                    \n                        ThreeTierVirtualInstanceThreeTierConfigurationDatabaseServerConfigurationDiskVolumeConfigurationArgs.builder()\n                            .volumeName(\"hana/data\")\n                            .numberOfDisks(3)\n                            .sizeInGb(128)\n                            .skuName(\"Premium_LRS\")\n                            .build(),\n                        ThreeTierVirtualInstanceThreeTierConfigurationDatabaseServerConfigurationDiskVolumeConfigurationArgs.builder()\n                            .volumeName(\"hana/log\")\n                            .numberOfDisks(3)\n                            .sizeInGb(128)\n                            .skuName(\"Premium_LRS\")\n                            .build(),\n                        ThreeTierVirtualInstanceThreeTierConfigurationDatabaseServerConfigurationDiskVolumeConfigurationArgs.builder()\n                            .volumeName(\"hana/shared\")\n                            .numberOfDisks(1)\n                            .sizeInGb(256)\n                            .skuName(\"Premium_LRS\")\n                            .build(),\n                        ThreeTierVirtualInstanceThreeTierConfigurationDatabaseServerConfigurationDiskVolumeConfigurationArgs.builder()\n                            .volumeName(\"usr/sap\")\n                            .numberOfDisks(1)\n                            .sizeInGb(128)\n                            .skuName(\"Premium_LRS\")\n                            .build(),\n                        ThreeTierVirtualInstanceThreeTierConfigurationDatabaseServerConfigurationDiskVolumeConfigurationArgs.builder()\n                            .volumeName(\"backup\")\n                            .numberOfDisks(2)\n                            .sizeInGb(256)\n                            .skuName(\"StandardSSD_LRS\")\n                            .build(),\n                        ThreeTierVirtualInstanceThreeTierConfigurationDatabaseServerConfigurationDiskVolumeConfigurationArgs.builder()\n                            .volumeName(\"os\")\n                            .numberOfDisks(1)\n                            .sizeInGb(64)\n                            .skuName(\"StandardSSD_LRS\")\n                            .build())\n                    .build())\n                .resourceNames(ThreeTierVirtualInstanceThreeTierConfigurationResourceNamesArgs.builder()\n                    .applicationServer(ThreeTierVirtualInstanceThreeTierConfigurationResourceNamesApplicationServerArgs.builder()\n                        .availabilitySetName(\"appAvSet\")\n                        .virtualMachines(ThreeTierVirtualInstanceThreeTierConfigurationResourceNamesApplicationServerVirtualMachineArgs.builder()\n                            .hostName(\"apphostName0\")\n                            .osDiskName(\"app0osdisk\")\n                            .virtualMachineName(\"appvm0\")\n                            .networkInterfaceNames(\"appnic0\")\n                            .dataDisks(ThreeTierVirtualInstanceThreeTierConfigurationResourceNamesApplicationServerVirtualMachineDataDiskArgs.builder()\n                                .volumeName(\"default\")\n                                .names(\"app0disk0\")\n                                .build())\n                            .build())\n                        .build())\n                    .centralServer(ThreeTierVirtualInstanceThreeTierConfigurationResourceNamesCentralServerArgs.builder()\n                        .availabilitySetName(\"csAvSet\")\n                        .loadBalancer(ThreeTierVirtualInstanceThreeTierConfigurationResourceNamesCentralServerLoadBalancerArgs.builder()\n                            .name(\"ascslb\")\n                            .backendPoolNames(\"ascsBackendPool\")\n                            .frontendIpConfigurationNames(\"ascsip0\")\n                            .healthProbeNames(\"ascsHealthProbe\")\n                            .build())\n                        .virtualMachines(ThreeTierVirtualInstanceThreeTierConfigurationResourceNamesCentralServerVirtualMachineArgs.builder()\n                            .hostName(\"ascshostName\")\n                            .osDiskName(\"ascsosdisk\")\n                            .virtualMachineName(\"ascsvm\")\n                            .networkInterfaceNames(\"ascsnic\")\n                            .dataDisks(ThreeTierVirtualInstanceThreeTierConfigurationResourceNamesCentralServerVirtualMachineDataDiskArgs.builder()\n                                .volumeName(\"default\")\n                                .names(\"ascsdisk\")\n                                .build())\n                            .build())\n                        .build())\n                    .databaseServer(ThreeTierVirtualInstanceThreeTierConfigurationResourceNamesDatabaseServerArgs.builder()\n                        .availabilitySetName(\"dbAvSet\")\n                        .loadBalancer(ThreeTierVirtualInstanceThreeTierConfigurationResourceNamesDatabaseServerLoadBalancerArgs.builder()\n                            .name(\"dblb\")\n                            .backendPoolNames(\"dbBackendPool\")\n                            .frontendIpConfigurationNames(\"dbip\")\n                            .healthProbeNames(\"dbHealthProbe\")\n                            .build())\n                        .virtualMachines(ThreeTierVirtualInstanceThreeTierConfigurationResourceNamesDatabaseServerVirtualMachineArgs.builder()\n                            .hostName(\"dbprhost\")\n                            .osDiskName(\"dbprosdisk\")\n                            .virtualMachineName(\"dbvmpr\")\n                            .networkInterfaceNames(\"dbprnic\")\n                            .dataDisks(                            \n                                ThreeTierVirtualInstanceThreeTierConfigurationResourceNamesDatabaseServerVirtualMachineDataDiskArgs.builder()\n                                    .volumeName(\"hanaData\")\n                                    .names(                                    \n                                        \"hanadatapr0\",\n                                        \"hanadatapr1\")\n                                    .build(),\n                                ThreeTierVirtualInstanceThreeTierConfigurationResourceNamesDatabaseServerVirtualMachineDataDiskArgs.builder()\n                                    .volumeName(\"hanaLog\")\n                                    .names(                                    \n                                        \"hanalogpr0\",\n                                        \"hanalogpr1\",\n                                        \"hanalogpr2\")\n                                    .build(),\n                                ThreeTierVirtualInstanceThreeTierConfigurationResourceNamesDatabaseServerVirtualMachineDataDiskArgs.builder()\n                                    .volumeName(\"usrSap\")\n                                    .names(\"usrsappr0\")\n                                    .build(),\n                                ThreeTierVirtualInstanceThreeTierConfigurationResourceNamesDatabaseServerVirtualMachineDataDiskArgs.builder()\n                                    .volumeName(\"hanaShared\")\n                                    .names(                                    \n                                        \"hanasharedpr0\",\n                                        \"hanasharedpr1\")\n                                    .build())\n                            .build())\n                        .build())\n                    .sharedStorage(ThreeTierVirtualInstanceThreeTierConfigurationResourceNamesSharedStorageArgs.builder()\n                        .accountName(\"sharedexamplesa\")\n                        .privateEndpointName(\"examplePE\")\n                        .build())\n                    .build())\n                .transportCreateAndMount(ThreeTierVirtualInstanceThreeTierConfigurationTransportCreateAndMountArgs.builder()\n                    .resourceGroupId(app.id())\n                    .storageAccountName(\"exampletranssa\")\n                    .build())\n                .build())\n            .identity(ThreeTierVirtualInstanceIdentityArgs.builder()\n                .type(\"UserAssigned\")\n                .identityIds(exampleUserAssignedIdentity.id())\n                .build())\n            .tags(Map.of(\"Env\", \"Test\"))\n            .build(), CustomResourceOptions.builder()\n                .dependsOn(exampleAssignment)\n                .build());\n\n    }\n}\n```\n```yaml\nresources:\n  examplePrivateKey:\n    type: tls:PrivateKey\n    name: example\n    properties:\n      algorithm: RSA\n      rsaBits: 4096\n  exampleResourceGroup:\n    type: azure:core:ResourceGroup\n    name: example\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleUserAssignedIdentity:\n    type: azure:authorization:UserAssignedIdentity\n    name: example\n    properties:\n      name: example-uai\n      location: ${exampleResourceGroup.location}\n      resourceGroupName: ${exampleResourceGroup.name}\n  exampleAssignment:\n    type: azure:authorization:Assignment\n    name: example\n    properties:\n      scope: ${current.id}\n      roleDefinitionName: Azure Center for SAP solutions service role\n      principalId: ${exampleUserAssignedIdentity.principalId}\n  exampleVirtualNetwork:\n    type: azure:network:VirtualNetwork\n    name: example\n    properties:\n      name: example-vnet\n      addressSpaces:\n        - 10.0.0.0/16\n      location: ${exampleResourceGroup.location}\n      resourceGroupName: ${exampleResourceGroup.name}\n  exampleSubnet:\n    type: azure:network:Subnet\n    name: example\n    properties:\n      name: example-subnet\n      resourceGroupName: ${exampleResourceGroup.name}\n      virtualNetworkName: ${exampleVirtualNetwork.name}\n      addressPrefixes:\n        - 10.0.2.0/24\n  app:\n    type: azure:core:ResourceGroup\n    properties:\n      name: example-sapapp\n      location: West Europe\n    options:\n      dependsOn:\n        - ${exampleSubnet}\n  exampleAccount:\n    type: azure:storage:Account\n    name: example\n    properties:\n      name: examplesa\n      resourceGroupName: ${exampleResourceGroup.name}\n      location: ${exampleResourceGroup.location}\n      accountTier: Standard\n      accountReplicationType: LRS\n  exampleThreeTierVirtualInstance:\n    type: azure:workloadssap:ThreeTierVirtualInstance\n    name: example\n    properties:\n      name: X05\n      resourceGroupName: ${exampleResourceGroup.name}\n      location: ${exampleResourceGroup.location}\n      environment: NonProd\n      sapProduct: S4HANA\n      managedResourceGroupName: exampleManagedRG\n      appLocation: ${app.location}\n      sapFqdn: sap.bpaas.com\n      threeTierConfiguration:\n        appResourceGroupName: ${app.name}\n        secondaryIpEnabled: true\n        applicationServerConfiguration:\n          instanceCount: 1\n          subnetId: ${exampleSubnet.id}\n          virtualMachineConfiguration:\n            virtualMachineSize: Standard_D16ds_v4\n            image:\n              offer: RHEL-SAP-HA\n              publisher: RedHat\n              sku: 82sapha-gen2\n              version: latest\n            osProfile:\n              adminUsername: testAdmin\n              sshPrivateKey: ${examplePrivateKey.privateKeyPem}\n              sshPublicKey: ${example.publicKeyOpenssh}\n        centralServerConfiguration:\n          instanceCount: 1\n          subnetId: ${exampleSubnet.id}\n          virtualMachineConfiguration:\n            virtualMachineSize: Standard_D16ds_v4\n            image:\n              offer: RHEL-SAP-HA\n              publisher: RedHat\n              sku: 82sapha-gen2\n              version: latest\n            osProfile:\n              adminUsername: testAdmin\n              sshPrivateKey: ${examplePrivateKey.privateKeyPem}\n              sshPublicKey: ${example.publicKeyOpenssh}\n        databaseServerConfiguration:\n          instanceCount: 1\n          subnetId: ${exampleSubnet.id}\n          databaseType: HANA\n          virtualMachineConfiguration:\n            virtualMachineSize: Standard_E16ds_v4\n            image:\n              offer: RHEL-SAP-HA\n              publisher: RedHat\n              sku: 82sapha-gen2\n              version: latest\n            osProfile:\n              adminUsername: testAdmin\n              sshPrivateKey: ${examplePrivateKey.privateKeyPem}\n              sshPublicKey: ${example.publicKeyOpenssh}\n          diskVolumeConfigurations:\n            - volumeName: hana/data\n              numberOfDisks: 3\n              sizeInGb: 128\n              skuName: Premium_LRS\n            - volumeName: hana/log\n              numberOfDisks: 3\n              sizeInGb: 128\n              skuName: Premium_LRS\n            - volumeName: hana/shared\n              numberOfDisks: 1\n              sizeInGb: 256\n              skuName: Premium_LRS\n            - volumeName: usr/sap\n              numberOfDisks: 1\n              sizeInGb: 128\n              skuName: Premium_LRS\n            - volumeName: backup\n              numberOfDisks: 2\n              sizeInGb: 256\n              skuName: StandardSSD_LRS\n            - volumeName: os\n              numberOfDisks: 1\n              sizeInGb: 64\n              skuName: StandardSSD_LRS\n        resourceNames:\n          applicationServer:\n            availabilitySetName: appAvSet\n            virtualMachines:\n              - hostName: apphostName0\n                osDiskName: app0osdisk\n                virtualMachineName: appvm0\n                networkInterfaceNames:\n                  - appnic0\n                dataDisks:\n                  - volumeName: default\n                    names:\n                      - app0disk0\n          centralServer:\n            availabilitySetName: csAvSet\n            loadBalancer:\n              name: ascslb\n              backendPoolNames:\n                - ascsBackendPool\n              frontendIpConfigurationNames:\n                - ascsip0\n              healthProbeNames:\n                - ascsHealthProbe\n            virtualMachines:\n              - hostName: ascshostName\n                osDiskName: ascsosdisk\n                virtualMachineName: ascsvm\n                networkInterfaceNames:\n                  - ascsnic\n                dataDisks:\n                  - volumeName: default\n                    names:\n                      - ascsdisk\n          databaseServer:\n            availabilitySetName: dbAvSet\n            loadBalancer:\n              name: dblb\n              backendPoolNames:\n                - dbBackendPool\n              frontendIpConfigurationNames:\n                - dbip\n              healthProbeNames:\n                - dbHealthProbe\n            virtualMachines:\n              - hostName: dbprhost\n                osDiskName: dbprosdisk\n                virtualMachineName: dbvmpr\n                networkInterfaceNames:\n                  - dbprnic\n                dataDisks:\n                  - volumeName: hanaData\n                    names:\n                      - hanadatapr0\n                      - hanadatapr1\n                  - volumeName: hanaLog\n                    names:\n                      - hanalogpr0\n                      - hanalogpr1\n                      - hanalogpr2\n                  - volumeName: usrSap\n                    names:\n                      - usrsappr0\n                  - volumeName: hanaShared\n                    names:\n                      - hanasharedpr0\n                      - hanasharedpr1\n          sharedStorage:\n            accountName: sharedexamplesa\n            privateEndpointName: examplePE\n        transportCreateAndMount:\n          resourceGroupId: ${app.id}\n          storageAccountName: exampletranssa\n      identity:\n        type: UserAssigned\n        identityIds:\n          - ${exampleUserAssignedIdentity.id}\n      tags:\n        Env: Test\n    options:\n      dependsOn:\n        - ${exampleAssignment}\nvariables:\n  example:\n    fn::invoke:\n      function: tls:PublicKey\n      arguments:\n        privateKeyPem: ${examplePrivateKey.privateKeyPem}\n  current:\n    fn::invoke:\n      function: azure:core:getSubscription\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis resource uses the following Azure API Providers:\n\n* `Microsoft.Workloads` - 2024-09-01\n\n## Import\n\nSAP Three Tier Virtual Instances with new SAP Systems can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:workloadssap/threeTierVirtualInstance:ThreeTierVirtualInstance example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Workloads/sapVirtualInstances/vis1\n```\n\n","properties":{"appLocation":{"type":"string","description":"The Geo-Location where the SAP system is to be created. Changing this forces a new resource to be created.\n"},"environment":{"type":"string","description":"The environment type for the SAP Three Tier Virtual Instance. Possible values are `NonProd` and `Prod`. Changing this forces a new resource to be created.\n"},"identity":{"$ref":"#/types/azure:workloadssap/ThreeTierVirtualInstanceIdentity:ThreeTierVirtualInstanceIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"location":{"type":"string","description":"The Azure Region where the SAP Three Tier Virtual Instance should exist. Changing this forces a new resource to be created.\n"},"managedResourceGroupName":{"type":"string","description":"The name of the managed Resource Group for the SAP Three Tier Virtual Instance. Changing this forces a new resource to be created.\n"},"managedResourcesNetworkAccessType":{"type":"string","description":"The network access type for managed resources. Possible values are `Private` and `Public`. Defaults to `Public`.\n"},"name":{"type":"string","description":"Specifies the name of this SAP Three Tier Virtual Instance. Changing this forces a new resource to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the SAP Three Tier Virtual Instance should exist. Changing this forces a new resource to be created.\n"},"sapFqdn":{"type":"string","description":"The FQDN of the SAP system. Changing this forces a new resource to be created.\n"},"sapProduct":{"type":"string","description":"The SAP Product type for the SAP Three Tier Virtual Instance. Possible values are `ECC`, `Other` and `S4HANA`. Changing this forces a new resource to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the SAP Three Tier Virtual Instance.\n"},"threeTierConfiguration":{"$ref":"#/types/azure:workloadssap/ThreeTierVirtualInstanceThreeTierConfiguration:ThreeTierVirtualInstanceThreeTierConfiguration","description":"A \u003cspan pulumi-lang-nodejs=\"`threeTierConfiguration`\" pulumi-lang-dotnet=\"`ThreeTierConfiguration`\" pulumi-lang-go=\"`threeTierConfiguration`\" pulumi-lang-python=\"`three_tier_configuration`\" pulumi-lang-yaml=\"`threeTierConfiguration`\" pulumi-lang-java=\"`threeTierConfiguration`\"\u003e`three_tier_configuration`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n"}},"required":["appLocation","environment","location","name","resourceGroupName","sapFqdn","sapProduct","threeTierConfiguration"],"inputProperties":{"appLocation":{"type":"string","description":"The Geo-Location where the SAP system is to be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"environment":{"type":"string","description":"The environment type for the SAP Three Tier Virtual Instance. Possible values are `NonProd` and `Prod`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"identity":{"$ref":"#/types/azure:workloadssap/ThreeTierVirtualInstanceIdentity:ThreeTierVirtualInstanceIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"location":{"type":"string","description":"The Azure Region where the SAP Three Tier Virtual Instance should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"managedResourceGroupName":{"type":"string","description":"The name of the managed Resource Group for the SAP Three Tier Virtual Instance. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"managedResourcesNetworkAccessType":{"type":"string","description":"The network access type for managed resources. Possible values are `Private` and `Public`. Defaults to `Public`.\n"},"name":{"type":"string","description":"Specifies the name of this SAP Three Tier Virtual Instance. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the SAP Three Tier Virtual Instance should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sapFqdn":{"type":"string","description":"The FQDN of the SAP system. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sapProduct":{"type":"string","description":"The SAP Product type for the SAP Three Tier Virtual Instance. Possible values are `ECC`, `Other` and `S4HANA`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the SAP Three Tier Virtual Instance.\n"},"threeTierConfiguration":{"$ref":"#/types/azure:workloadssap/ThreeTierVirtualInstanceThreeTierConfiguration:ThreeTierVirtualInstanceThreeTierConfiguration","description":"A \u003cspan pulumi-lang-nodejs=\"`threeTierConfiguration`\" pulumi-lang-dotnet=\"`ThreeTierConfiguration`\" pulumi-lang-go=\"`threeTierConfiguration`\" pulumi-lang-python=\"`three_tier_configuration`\" pulumi-lang-yaml=\"`threeTierConfiguration`\" pulumi-lang-java=\"`threeTierConfiguration`\"\u003e`three_tier_configuration`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"requiredInputs":["appLocation","environment","resourceGroupName","sapFqdn","sapProduct","threeTierConfiguration"],"stateInputs":{"description":"Input properties used for looking up and filtering ThreeTierVirtualInstance resources.\n","properties":{"appLocation":{"type":"string","description":"The Geo-Location where the SAP system is to be created. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"environment":{"type":"string","description":"The environment type for the SAP Three Tier Virtual Instance. Possible values are `NonProd` and `Prod`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"identity":{"$ref":"#/types/azure:workloadssap/ThreeTierVirtualInstanceIdentity:ThreeTierVirtualInstanceIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"location":{"type":"string","description":"The Azure Region where the SAP Three Tier Virtual Instance should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"managedResourceGroupName":{"type":"string","description":"The name of the managed Resource Group for the SAP Three Tier Virtual Instance. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"managedResourcesNetworkAccessType":{"type":"string","description":"The network access type for managed resources. Possible values are `Private` and `Public`. Defaults to `Public`.\n"},"name":{"type":"string","description":"Specifies the name of this SAP Three Tier Virtual Instance. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the SAP Three Tier Virtual Instance should exist. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sapFqdn":{"type":"string","description":"The FQDN of the SAP system. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"sapProduct":{"type":"string","description":"The SAP Product type for the SAP Three Tier Virtual Instance. Possible values are `ECC`, `Other` and `S4HANA`. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the SAP Three Tier Virtual Instance.\n"},"threeTierConfiguration":{"$ref":"#/types/azure:workloadssap/ThreeTierVirtualInstanceThreeTierConfiguration:ThreeTierVirtualInstanceThreeTierConfiguration","description":"A \u003cspan pulumi-lang-nodejs=\"`threeTierConfiguration`\" pulumi-lang-dotnet=\"`ThreeTierConfiguration`\" pulumi-lang-go=\"`threeTierConfiguration`\" pulumi-lang-python=\"`three_tier_configuration`\" pulumi-lang-yaml=\"`threeTierConfiguration`\" pulumi-lang-java=\"`threeTierConfiguration`\"\u003e`three_tier_configuration`\u003c/span\u003e block as defined below. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object"}}},"functions":{"azure:aadb2c/getDirectory:getDirectory":{"description":"Use this data source to access information about an existing AAD B2C Directory.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.aadb2c.getDirectory({\n    resourceGroupName: \"example-rg\",\n    domainName: \"exampleb2ctenant.onmicrosoft.com\",\n});\nexport const tenantId = example.then(example =\u003e example.tenantId);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.aadb2c.get_directory(resource_group_name=\"example-rg\",\n    domain_name=\"exampleb2ctenant.onmicrosoft.com\")\npulumi.export(\"tenantId\", example.tenant_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.AadB2C.GetDirectory.Invoke(new()\n    {\n        ResourceGroupName = \"example-rg\",\n        DomainName = \"exampleb2ctenant.onmicrosoft.com\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"tenantId\"] = example.Apply(getDirectoryResult =\u003e getDirectoryResult.TenantId),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/aadb2c\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := aadb2c.LookupDirectory(ctx, \u0026aadb2c.LookupDirectoryArgs{\n\t\t\tResourceGroupName: \"example-rg\",\n\t\t\tDomainName:        \"exampleb2ctenant.onmicrosoft.com\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"tenantId\", example.TenantId)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.aadb2c.Aadb2cFunctions;\nimport com.pulumi.azure.aadb2c.inputs.GetDirectoryArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = Aadb2cFunctions.getDirectory(GetDirectoryArgs.builder()\n            .resourceGroupName(\"example-rg\")\n            .domainName(\"exampleb2ctenant.onmicrosoft.com\")\n            .build());\n\n        ctx.export(\"tenantId\", example.tenantId());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:aadb2c:getDirectory\n      arguments:\n        resourceGroupName: example-rg\n        domainName: exampleb2ctenant.onmicrosoft.com\noutputs:\n  tenantId: ${example.tenantId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.AzureActiveDirectory` - 2021-04-01-preview\n","inputs":{"description":"A collection of arguments for invoking getDirectory.\n","properties":{"domainName":{"type":"string","description":"Domain name of the B2C tenant, including the `.onmicrosoft.com` suffix.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the AAD B2C Directory exists.\n"}},"type":"object","required":["domainName","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getDirectory.\n","properties":{"billingType":{"description":"The type of billing for the AAD B2C tenant. Possible values include: `MAU` or `Auths`.\n","type":"string"},"dataResidencyLocation":{"description":"Location in which the B2C tenant is hosted and data resides. See [official docs](https://aka.ms/B2CDataResidenc) for more information.\n","type":"string"},"domainName":{"type":"string"},"effectiveStartDate":{"description":"The date from which the billing type took effect. May not be populated until after the first billing cycle.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"resourceGroupName":{"type":"string"},"skuName":{"description":"Billing SKU for the B2C tenant. See [official docs](https://aka.ms/b2cBilling) for more information.\n","type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"A mapping of tags assigned to the AAD B2C Directory.\n","type":"object"},"tenantId":{"description":"The Tenant ID for the AAD B2C tenant.\n","type":"string"}},"required":["billingType","dataResidencyLocation","domainName","effectiveStartDate","resourceGroupName","skuName","tags","tenantId","id"],"type":"object"}},"azure:advisor/getRecommendations:getRecommendations":{"description":"Use this data source to access information about an existing Advisor Recommendations.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.advisor.getRecommendations({\n    filterByCategories: [\n        \"security\",\n        \"cost\",\n    ],\n    filterByResourceGroups: [\"example-resgroups\"],\n});\nexport const recommendations = example.then(example =\u003e example.recommendations);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.advisor.get_recommendations(filter_by_categories=[\n        \"security\",\n        \"cost\",\n    ],\n    filter_by_resource_groups=[\"example-resgroups\"])\npulumi.export(\"recommendations\", example.recommendations)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Advisor.GetRecommendations.Invoke(new()\n    {\n        FilterByCategories = new[]\n        {\n            \"security\",\n            \"cost\",\n        },\n        FilterByResourceGroups = new[]\n        {\n            \"example-resgroups\",\n        },\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"recommendations\"] = example.Apply(getRecommendationsResult =\u003e getRecommendationsResult.Recommendations),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/advisor\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := advisor.GetRecommendations(ctx, \u0026advisor.GetRecommendationsArgs{\n\t\t\tFilterByCategories: []string{\n\t\t\t\t\"security\",\n\t\t\t\t\"cost\",\n\t\t\t},\n\t\t\tFilterByResourceGroups: []string{\n\t\t\t\t\"example-resgroups\",\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"recommendations\", example.Recommendations)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.advisor.AdvisorFunctions;\nimport com.pulumi.azure.advisor.inputs.GetRecommendationsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = AdvisorFunctions.getRecommendations(GetRecommendationsArgs.builder()\n            .filterByCategories(            \n                \"security\",\n                \"cost\")\n            .filterByResourceGroups(\"example-resgroups\")\n            .build());\n\n        ctx.export(\"recommendations\", example.recommendations());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:advisor:getRecommendations\n      arguments:\n        filterByCategories:\n          - security\n          - cost\n        filterByResourceGroups:\n          - example-resgroups\noutputs:\n  recommendations: ${example.recommendations}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.Advisor` - 2023-01-01\n","inputs":{"description":"A collection of arguments for invoking getRecommendations.\n","properties":{"filterByCategories":{"type":"array","items":{"type":"string"},"description":"Specifies a list of categories in which the Advisor Recommendations will be listed. Possible values are `HighAvailability`, `Security`, `Performance`, `Cost` and `OperationalExcellence`.\n"},"filterByResourceGroups":{"type":"array","items":{"type":"string"},"description":"Specifies a list of resource groups about which the Advisor Recommendations will be listed.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getRecommendations.\n","properties":{"filterByCategories":{"items":{"type":"string"},"type":"array"},"filterByResourceGroups":{"items":{"type":"string"},"type":"array"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"recommendations":{"description":"One or more \u003cspan pulumi-lang-nodejs=\"`recommendations`\" pulumi-lang-dotnet=\"`Recommendations`\" pulumi-lang-go=\"`recommendations`\" pulumi-lang-python=\"`recommendations`\" pulumi-lang-yaml=\"`recommendations`\" pulumi-lang-java=\"`recommendations`\"\u003e`recommendations`\u003c/span\u003e blocks as defined below.\n","items":{"$ref":"#/types/azure:advisor/getRecommendationsRecommendation:getRecommendationsRecommendation"},"type":"array"}},"required":["recommendations","id"],"type":"object"}},"azure:apimanagement/getApi:getApi":{"description":"Use this data source to access information about an existing API Management API.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.apimanagement.getApi({\n    name: \"search-api\",\n    apiManagementName: \"search-api-management\",\n    resourceGroupName: \"search-service\",\n    revision: \"2\",\n});\nexport const apiManagementApiId = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.apimanagement.get_api(name=\"search-api\",\n    api_management_name=\"search-api-management\",\n    resource_group_name=\"search-service\",\n    revision=\"2\")\npulumi.export(\"apiManagementApiId\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.ApiManagement.GetApi.Invoke(new()\n    {\n        Name = \"search-api\",\n        ApiManagementName = \"search-api-management\",\n        ResourceGroupName = \"search-service\",\n        Revision = \"2\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"apiManagementApiId\"] = example.Apply(getApiResult =\u003e getApiResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/apimanagement\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := apimanagement.LookupApi(ctx, \u0026apimanagement.LookupApiArgs{\n\t\t\tName:              \"search-api\",\n\t\t\tApiManagementName: \"search-api-management\",\n\t\t\tResourceGroupName: \"search-service\",\n\t\t\tRevision:          \"2\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"apiManagementApiId\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.apimanagement.ApimanagementFunctions;\nimport com.pulumi.azure.apimanagement.inputs.GetApiArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = ApimanagementFunctions.getApi(GetApiArgs.builder()\n            .name(\"search-api\")\n            .apiManagementName(\"search-api-management\")\n            .resourceGroupName(\"search-service\")\n            .revision(\"2\")\n            .build());\n\n        ctx.export(\"apiManagementApiId\", example.id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:apimanagement:getApi\n      arguments:\n        name: search-api\n        apiManagementName: search-api-management\n        resourceGroupName: search-service\n        revision: '2'\noutputs:\n  apiManagementApiId: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.ApiManagement` - 2022-08-01\n","inputs":{"description":"A collection of arguments for invoking getApi.\n","properties":{"apiManagementName":{"type":"string","description":"The name of the API Management Service in which the API Management API exists.\n"},"name":{"type":"string","description":"The name of the API Management API.\n"},"resourceGroupName":{"type":"string","description":"The Name of the Resource Group in which the API Management Service exists.\n"},"revision":{"type":"string","description":"The Revision of the API Management API.\n"}},"type":"object","required":["apiManagementName","name","resourceGroupName","revision"]},"outputs":{"description":"A collection of values returned by getApi.\n","properties":{"apiManagementName":{"type":"string"},"description":{"description":"A description of the API Management API, which may include HTML formatting tags.\n","type":"string"},"displayName":{"description":"The display name of the API.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"isCurrent":{"description":"Is this the current API Revision?\n","type":"boolean"},"isOnline":{"description":"Is this API Revision online/accessible via the Gateway?\n","type":"boolean"},"name":{"type":"string"},"path":{"description":"The Path for this API Management API.\n","type":"string"},"protocols":{"description":"A list of protocols the operations in this API can be invoked.\n","items":{"type":"string"},"type":"array"},"resourceGroupName":{"type":"string"},"revision":{"type":"string"},"serviceUrl":{"description":"Absolute URL of the backend service implementing this API.\n","type":"string"},"soapPassThrough":{"description":"Should this API expose a SOAP frontend, rather than a HTTP frontend?\n","type":"boolean"},"subscriptionKeyParameterNames":{"description":"A \u003cspan pulumi-lang-nodejs=\"`subscriptionKeyParameterNames`\" pulumi-lang-dotnet=\"`SubscriptionKeyParameterNames`\" pulumi-lang-go=\"`subscriptionKeyParameterNames`\" pulumi-lang-python=\"`subscription_key_parameter_names`\" pulumi-lang-yaml=\"`subscriptionKeyParameterNames`\" pulumi-lang-java=\"`subscriptionKeyParameterNames`\"\u003e`subscription_key_parameter_names`\u003c/span\u003e block as documented below.\n","items":{"$ref":"#/types/azure:apimanagement/getApiSubscriptionKeyParameterName:getApiSubscriptionKeyParameterName"},"type":"array"},"subscriptionRequired":{"description":"Should this API require a subscription key?\n","type":"boolean"},"version":{"description":"The Version number of this API, if this API is versioned.\n","type":"string"},"versionSetId":{"description":"The ID of the Version Set which this API is associated with.\n","type":"string"}},"required":["apiManagementName","description","displayName","isCurrent","isOnline","name","path","protocols","resourceGroupName","revision","serviceUrl","soapPassThrough","subscriptionKeyParameterNames","subscriptionRequired","version","versionSetId","id"],"type":"object"}},"azure:apimanagement/getApiVersionSet:getApiVersionSet":{"description":"Uses this data source to access information about an API Version Set within an API Management Service.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.apimanagement.getApiVersionSet({\n    resourceGroupName: \"example-resources\",\n    apiManagementName: \"example-api\",\n    name: \"example-api-version-set\",\n});\nexport const apiManagementApiVersionSetId = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.apimanagement.get_api_version_set(resource_group_name=\"example-resources\",\n    api_management_name=\"example-api\",\n    name=\"example-api-version-set\")\npulumi.export(\"apiManagementApiVersionSetId\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.ApiManagement.GetApiVersionSet.Invoke(new()\n    {\n        ResourceGroupName = \"example-resources\",\n        ApiManagementName = \"example-api\",\n        Name = \"example-api-version-set\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"apiManagementApiVersionSetId\"] = example.Apply(getApiVersionSetResult =\u003e getApiVersionSetResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/apimanagement\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := apimanagement.LookupApiVersionSet(ctx, \u0026apimanagement.LookupApiVersionSetArgs{\n\t\t\tResourceGroupName: \"example-resources\",\n\t\t\tApiManagementName: \"example-api\",\n\t\t\tName:              \"example-api-version-set\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"apiManagementApiVersionSetId\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.apimanagement.ApimanagementFunctions;\nimport com.pulumi.azure.apimanagement.inputs.GetApiVersionSetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = ApimanagementFunctions.getApiVersionSet(GetApiVersionSetArgs.builder()\n            .resourceGroupName(\"example-resources\")\n            .apiManagementName(\"example-api\")\n            .name(\"example-api-version-set\")\n            .build());\n\n        ctx.export(\"apiManagementApiVersionSetId\", example.id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:apimanagement:getApiVersionSet\n      arguments:\n        resourceGroupName: example-resources\n        apiManagementName: example-api\n        name: example-api-version-set\noutputs:\n  apiManagementApiVersionSetId: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.ApiManagement` - 2022-08-01\n","inputs":{"description":"A collection of arguments for invoking getApiVersionSet.\n","properties":{"apiManagementName":{"type":"string","description":"The name of the API Management Service where the API Version Set exists.\n"},"name":{"type":"string","description":"The name of the API Version Set.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group in which the parent API Management Service exists.\n"}},"type":"object","required":["apiManagementName","name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getApiVersionSet.\n","properties":{"apiManagementName":{"type":"string"},"description":{"description":"The description of API Version Set.\n","type":"string"},"displayName":{"description":"The display name of this API Version Set.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"name":{"type":"string"},"resourceGroupName":{"type":"string"},"versionHeaderName":{"description":"The name of the Header which should be read from Inbound Requests which defines the API Version.\n","type":"string"},"versionQueryName":{"description":"The name of the Query String which should be read from Inbound Requests which defines the API Version.\n","type":"string"},"versioningScheme":{"type":"string"}},"required":["apiManagementName","description","displayName","name","resourceGroupName","versionHeaderName","versionQueryName","versioningScheme","id"],"type":"object"}},"azure:apimanagement/getGateway:getGateway":{"description":"Use this data source to access information about an existing API Management Gateway.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.apimanagement.getService({\n    name: \"example-apim\",\n    resourceGroupName: \"example-rg\",\n});\nconst exampleGetGateway = example.then(example =\u003e azure.apimanagement.getGateway({\n    name: \"example-api-gateway\",\n    apiManagementId: example.id,\n}));\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.apimanagement.get_service(name=\"example-apim\",\n    resource_group_name=\"example-rg\")\nexample_get_gateway = azure.apimanagement.get_gateway(name=\"example-api-gateway\",\n    api_management_id=example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.ApiManagement.GetService.Invoke(new()\n    {\n        Name = \"example-apim\",\n        ResourceGroupName = \"example-rg\",\n    });\n\n    var exampleGetGateway = Azure.ApiManagement.GetGateway.Invoke(new()\n    {\n        Name = \"example-api-gateway\",\n        ApiManagementId = example.Apply(getServiceResult =\u003e getServiceResult.Id),\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/apimanagement\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := apimanagement.LookupService(ctx, \u0026apimanagement.LookupServiceArgs{\n\t\t\tName:              \"example-apim\",\n\t\t\tResourceGroupName: \"example-rg\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = apimanagement.LookupGateway(ctx, \u0026apimanagement.LookupGatewayArgs{\n\t\t\tName:            \"example-api-gateway\",\n\t\t\tApiManagementId: example.Id,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.apimanagement.ApimanagementFunctions;\nimport com.pulumi.azure.apimanagement.inputs.GetServiceArgs;\nimport com.pulumi.azure.apimanagement.inputs.GetGatewayArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = ApimanagementFunctions.getService(GetServiceArgs.builder()\n            .name(\"example-apim\")\n            .resourceGroupName(\"example-rg\")\n            .build());\n\n        final var exampleGetGateway = ApimanagementFunctions.getGateway(GetGatewayArgs.builder()\n            .name(\"example-api-gateway\")\n            .apiManagementId(example.id())\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:apimanagement:getService\n      arguments:\n        name: example-apim\n        resourceGroupName: example-rg\n  exampleGetGateway:\n    fn::invoke:\n      function: azure:apimanagement:getGateway\n      arguments:\n        name: example-api-gateway\n        apiManagementId: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.ApiManagement` - 2022-08-01\n","inputs":{"description":"A collection of arguments for invoking getGateway.\n","properties":{"apiManagementId":{"type":"string","description":"The ID of the API Management Service in which the Gateway exists.\n"},"name":{"type":"string","description":"The name of the API Management Gateway.\n"}},"type":"object","required":["apiManagementId","name"]},"outputs":{"description":"A collection of values returned by getGateway.\n","properties":{"apiManagementId":{"type":"string"},"description":{"description":"The description of the API Management Gateway.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"locationDatas":{"description":"A \u003cspan pulumi-lang-nodejs=\"`locationData`\" pulumi-lang-dotnet=\"`LocationData`\" pulumi-lang-go=\"`locationData`\" pulumi-lang-python=\"`location_data`\" pulumi-lang-yaml=\"`locationData`\" pulumi-lang-java=\"`locationData`\"\u003e`location_data`\u003c/span\u003e block as documented below.\n","items":{"$ref":"#/types/azure:apimanagement/getGatewayLocationData:getGatewayLocationData"},"type":"array"},"name":{"description":"A canonical name for the geographic or physical location.\n","type":"string"}},"required":["apiManagementId","description","locationDatas","name","id"],"type":"object"}},"azure:apimanagement/getGatewayHostNameConfiguration:getGatewayHostNameConfiguration":{"description":"Use this data source to access information about an existing API Management Gateway Host Configuration.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.apimanagement.getService({\n    name: \"example-apim\",\n    resourceGroupName: \"example-resources\",\n});\nconst exampleGetGateway = azure.apimanagement.getGateway({\n    name: \"example-gateway\",\n    apiManagementId: main.id,\n});\nconst exampleGetGatewayHostNameConfiguration = Promise.all([example, exampleGetGateway]).then(([example, exampleGetGateway]) =\u003e azure.apimanagement.getGatewayHostNameConfiguration({\n    name: \"example-host-configuration\",\n    apiManagementId: example.id,\n    gatewayName: exampleGetGateway.name,\n}));\nexport const hostName = exampleGetGatewayHostNameConfiguration.then(exampleGetGatewayHostNameConfiguration =\u003e exampleGetGatewayHostNameConfiguration.hostName);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.apimanagement.get_service(name=\"example-apim\",\n    resource_group_name=\"example-resources\")\nexample_get_gateway = azure.apimanagement.get_gateway(name=\"example-gateway\",\n    api_management_id=main[\"id\"])\nexample_get_gateway_host_name_configuration = azure.apimanagement.get_gateway_host_name_configuration(name=\"example-host-configuration\",\n    api_management_id=example.id,\n    gateway_name=example_get_gateway.name)\npulumi.export(\"hostName\", example_get_gateway_host_name_configuration.host_name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.ApiManagement.GetService.Invoke(new()\n    {\n        Name = \"example-apim\",\n        ResourceGroupName = \"example-resources\",\n    });\n\n    var exampleGetGateway = Azure.ApiManagement.GetGateway.Invoke(new()\n    {\n        Name = \"example-gateway\",\n        ApiManagementId = main.Id,\n    });\n\n    var exampleGetGatewayHostNameConfiguration = Azure.ApiManagement.GetGatewayHostNameConfiguration.Invoke(new()\n    {\n        Name = \"example-host-configuration\",\n        ApiManagementId = example.Apply(getServiceResult =\u003e getServiceResult.Id),\n        GatewayName = exampleGetGateway.Apply(getGatewayResult =\u003e getGatewayResult.Name),\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"hostName\"] = exampleGetGatewayHostNameConfiguration.Apply(getGatewayHostNameConfigurationResult =\u003e getGatewayHostNameConfigurationResult.HostName),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/apimanagement\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := apimanagement.LookupService(ctx, \u0026apimanagement.LookupServiceArgs{\n\t\t\tName:              \"example-apim\",\n\t\t\tResourceGroupName: \"example-resources\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleGetGateway, err := apimanagement.LookupGateway(ctx, \u0026apimanagement.LookupGatewayArgs{\n\t\t\tName:            \"example-gateway\",\n\t\t\tApiManagementId: main.Id,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleGetGatewayHostNameConfiguration, err := apimanagement.LookupGatewayHostNameConfiguration(ctx, \u0026apimanagement.LookupGatewayHostNameConfigurationArgs{\n\t\t\tName:            \"example-host-configuration\",\n\t\t\tApiManagementId: example.Id,\n\t\t\tGatewayName:     exampleGetGateway.Name,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"hostName\", exampleGetGatewayHostNameConfiguration.HostName)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.apimanagement.ApimanagementFunctions;\nimport com.pulumi.azure.apimanagement.inputs.GetServiceArgs;\nimport com.pulumi.azure.apimanagement.inputs.GetGatewayArgs;\nimport com.pulumi.azure.apimanagement.inputs.GetGatewayHostNameConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = ApimanagementFunctions.getService(GetServiceArgs.builder()\n            .name(\"example-apim\")\n            .resourceGroupName(\"example-resources\")\n            .build());\n\n        final var exampleGetGateway = ApimanagementFunctions.getGateway(GetGatewayArgs.builder()\n            .name(\"example-gateway\")\n            .apiManagementId(main.id())\n            .build());\n\n        final var exampleGetGatewayHostNameConfiguration = ApimanagementFunctions.getGatewayHostNameConfiguration(GetGatewayHostNameConfigurationArgs.builder()\n            .name(\"example-host-configuration\")\n            .apiManagementId(example.id())\n            .gatewayName(exampleGetGateway.name())\n            .build());\n\n        ctx.export(\"hostName\", exampleGetGatewayHostNameConfiguration.hostName());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:apimanagement:getService\n      arguments:\n        name: example-apim\n        resourceGroupName: example-resources\n  exampleGetGateway:\n    fn::invoke:\n      function: azure:apimanagement:getGateway\n      arguments:\n        name: example-gateway\n        apiManagementId: ${main.id}\n  exampleGetGatewayHostNameConfiguration:\n    fn::invoke:\n      function: azure:apimanagement:getGatewayHostNameConfiguration\n      arguments:\n        name: example-host-configuration\n        apiManagementId: ${example.id}\n        gatewayName: ${exampleGetGateway.name}\noutputs:\n  hostName: ${exampleGetGatewayHostNameConfiguration.hostName}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.ApiManagement` - 2022-08-01\n","inputs":{"description":"A collection of arguments for invoking getGatewayHostNameConfiguration.\n","properties":{"apiManagementId":{"type":"string","description":"The ID of the API Management Service.\n"},"gatewayName":{"type":"string","description":"The name of the API Management Gateway.\n*\n"},"name":{"type":"string","description":"The name of the API Management Gateway Host Name Configuration.\n"}},"type":"object","required":["apiManagementId","gatewayName","name"]},"outputs":{"description":"A collection of values returned by getGatewayHostNameConfiguration.\n","properties":{"apiManagementId":{"type":"string"},"certificateId":{"description":"The ID of the certificate used for TLS connection establishment.\n","type":"string"},"gatewayName":{"type":"string"},"hostName":{"description":"The host name used for the API Management Gateway Host Name Configuration.\n","type":"string"},"http2Enabled":{"description":"Whether HTTP/2.0 is supported.\n","type":"boolean"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"name":{"type":"string"},"requestClientCertificateEnabled":{"description":"Whether the API Management Gateway requests a client certificate.\n","type":"boolean"},"tls10Enabled":{"description":"Whether TLS 1.0 is supported.\n","type":"boolean"},"tls11Enabled":{"description":"Whether TLS 1.1 is supported.\n","type":"boolean"}},"required":["apiManagementId","certificateId","gatewayName","hostName","http2Enabled","name","requestClientCertificateEnabled","tls10Enabled","tls11Enabled","id"],"type":"object"}},"azure:apimanagement/getGroup:getGroup":{"description":"Use this data source to access information about an existing API Management Group.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.apimanagement.getGroup({\n    name: \"my-group\",\n    apiManagementName: \"example-apim\",\n    resourceGroupName: \"search-service\",\n});\nexport const groupType = example.then(example =\u003e example.type);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.apimanagement.get_group(name=\"my-group\",\n    api_management_name=\"example-apim\",\n    resource_group_name=\"search-service\")\npulumi.export(\"groupType\", example.type)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.ApiManagement.GetGroup.Invoke(new()\n    {\n        Name = \"my-group\",\n        ApiManagementName = \"example-apim\",\n        ResourceGroupName = \"search-service\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"groupType\"] = example.Apply(getGroupResult =\u003e getGroupResult.Type),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/apimanagement\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := apimanagement.LookupGroup(ctx, \u0026apimanagement.LookupGroupArgs{\n\t\t\tName:              \"my-group\",\n\t\t\tApiManagementName: \"example-apim\",\n\t\t\tResourceGroupName: \"search-service\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"groupType\", example.Type)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.apimanagement.ApimanagementFunctions;\nimport com.pulumi.azure.apimanagement.inputs.GetGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = ApimanagementFunctions.getGroup(GetGroupArgs.builder()\n            .name(\"my-group\")\n            .apiManagementName(\"example-apim\")\n            .resourceGroupName(\"search-service\")\n            .build());\n\n        ctx.export(\"groupType\", example.type());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:apimanagement:getGroup\n      arguments:\n        name: my-group\n        apiManagementName: example-apim\n        resourceGroupName: search-service\noutputs:\n  groupType: ${example.type}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.ApiManagement` - 2022-08-01\n","inputs":{"description":"A collection of arguments for invoking getGroup.\n","properties":{"apiManagementName":{"type":"string","description":"The Name of the API Management Service in which this Group exists.\n"},"name":{"type":"string","description":"The Name of the API Management Group.\n"},"resourceGroupName":{"type":"string","description":"The Name of the Resource Group in which the API Management Service exists.\n"}},"type":"object","required":["apiManagementName","name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getGroup.\n","properties":{"apiManagementName":{"type":"string"},"description":{"description":"The description of this API Management Group.\n","type":"string"},"displayName":{"description":"The display name of this API Management Group.\n","type":"string"},"externalId":{"description":"The identifier of the external Group.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"name":{"type":"string"},"resourceGroupName":{"type":"string"},"type":{"description":"The type of this API Management Group, such as \u003cspan pulumi-lang-nodejs=\"`custom`\" pulumi-lang-dotnet=\"`Custom`\" pulumi-lang-go=\"`custom`\" pulumi-lang-python=\"`custom`\" pulumi-lang-yaml=\"`custom`\" pulumi-lang-java=\"`custom`\"\u003e`custom`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`external`\" pulumi-lang-dotnet=\"`External`\" pulumi-lang-go=\"`external`\" pulumi-lang-python=\"`external`\" pulumi-lang-yaml=\"`external`\" pulumi-lang-java=\"`external`\"\u003e`external`\u003c/span\u003e.\n","type":"string"}},"required":["apiManagementName","description","displayName","externalId","name","resourceGroupName","type","id"],"type":"object"}},"azure:apimanagement/getProduct:getProduct":{"description":"Use this data source to access information about an existing API Management Product.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.apimanagement.getProduct({\n    productId: \"my-product\",\n    apiManagementName: \"example-apim\",\n    resourceGroupName: \"search-service\",\n});\nexport const productTerms = example.then(example =\u003e example.terms);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.apimanagement.get_product(product_id=\"my-product\",\n    api_management_name=\"example-apim\",\n    resource_group_name=\"search-service\")\npulumi.export(\"productTerms\", example.terms)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.ApiManagement.GetProduct.Invoke(new()\n    {\n        ProductId = \"my-product\",\n        ApiManagementName = \"example-apim\",\n        ResourceGroupName = \"search-service\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"productTerms\"] = example.Apply(getProductResult =\u003e getProductResult.Terms),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/apimanagement\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := apimanagement.LookupProduct(ctx, \u0026apimanagement.LookupProductArgs{\n\t\t\tProductId:         \"my-product\",\n\t\t\tApiManagementName: \"example-apim\",\n\t\t\tResourceGroupName: \"search-service\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"productTerms\", example.Terms)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.apimanagement.ApimanagementFunctions;\nimport com.pulumi.azure.apimanagement.inputs.GetProductArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = ApimanagementFunctions.getProduct(GetProductArgs.builder()\n            .productId(\"my-product\")\n            .apiManagementName(\"example-apim\")\n            .resourceGroupName(\"search-service\")\n            .build());\n\n        ctx.export(\"productTerms\", example.terms());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:apimanagement:getProduct\n      arguments:\n        productId: my-product\n        apiManagementName: example-apim\n        resourceGroupName: search-service\noutputs:\n  productTerms: ${example.terms}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.ApiManagement` - 2022-08-01\n","inputs":{"description":"A collection of arguments for invoking getProduct.\n","properties":{"apiManagementName":{"type":"string","description":"The Name of the API Management Service in which this Product exists.\n"},"productId":{"type":"string","description":"The Identifier for the API Management Product.\n"},"resourceGroupName":{"type":"string","description":"The Name of the Resource Group in which the API Management Service exists.\n","willReplaceOnChanges":true}},"type":"object","required":["apiManagementName","productId","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getProduct.\n","properties":{"apiManagementName":{"type":"string"},"approvalRequired":{"description":"Do subscribers need to be approved prior to being able to use the Product?\n","type":"boolean"},"description":{"description":"The description of this Product, which may include HTML formatting tags.\n","type":"string"},"displayName":{"description":"The Display Name for this API Management Product.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"productId":{"type":"string"},"published":{"description":"Is this Product Published?\n","type":"boolean"},"resourceGroupName":{"type":"string"},"subscriptionRequired":{"description":"Is a Subscription required to access API's included in this Product?\n","type":"boolean"},"subscriptionsLimit":{"description":"The number of subscriptions a user can have to this Product at the same time.\n","type":"integer"},"terms":{"description":"Any Terms and Conditions for this Product, which must be accepted by Developers before they can begin the Subscription process.\n","type":"string"}},"required":["apiManagementName","approvalRequired","description","displayName","productId","published","resourceGroupName","subscriptionRequired","subscriptionsLimit","terms","id"],"type":"object"}},"azure:apimanagement/getService:getService":{"description":"Use this data source to access information about an existing API Management Service.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.apimanagement.getService({\n    name: \"search-api\",\n    resourceGroupName: \"search-service\",\n});\nexport const apiManagementId = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.apimanagement.get_service(name=\"search-api\",\n    resource_group_name=\"search-service\")\npulumi.export(\"apiManagementId\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.ApiManagement.GetService.Invoke(new()\n    {\n        Name = \"search-api\",\n        ResourceGroupName = \"search-service\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"apiManagementId\"] = example.Apply(getServiceResult =\u003e getServiceResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/apimanagement\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := apimanagement.LookupService(ctx, \u0026apimanagement.LookupServiceArgs{\n\t\t\tName:              \"search-api\",\n\t\t\tResourceGroupName: \"search-service\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"apiManagementId\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.apimanagement.ApimanagementFunctions;\nimport com.pulumi.azure.apimanagement.inputs.GetServiceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = ApimanagementFunctions.getService(GetServiceArgs.builder()\n            .name(\"search-api\")\n            .resourceGroupName(\"search-service\")\n            .build());\n\n        ctx.export(\"apiManagementId\", example.id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:apimanagement:getService\n      arguments:\n        name: search-api\n        resourceGroupName: search-service\noutputs:\n  apiManagementId: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.ApiManagement` - 2024-05-01, 2022-08-01\n","inputs":{"description":"A collection of arguments for invoking getService.\n","properties":{"name":{"type":"string","description":"The name of the API Management service.\n"},"resourceGroupName":{"type":"string","description":"The Name of the Resource Group in which the API Management Service exists.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags assigned to the resource.\n"}},"type":"object","required":["name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getService.\n","properties":{"additionalLocations":{"description":"Zero or more \u003cspan pulumi-lang-nodejs=\"`additionalLocation`\" pulumi-lang-dotnet=\"`AdditionalLocation`\" pulumi-lang-go=\"`additionalLocation`\" pulumi-lang-python=\"`additional_location`\" pulumi-lang-yaml=\"`additionalLocation`\" pulumi-lang-java=\"`additionalLocation`\"\u003e`additional_location`\u003c/span\u003e blocks as defined below\n","items":{"$ref":"#/types/azure:apimanagement/getServiceAdditionalLocation:getServiceAdditionalLocation"},"type":"array"},"developerPortalUrl":{"description":"The URL for the Developer Portal associated with this API Management service.\n","type":"string"},"gatewayRegionalUrl":{"description":"Gateway URL of the API Management service in the Region.\n","type":"string"},"gatewayUrl":{"description":"The URL for the API Management Service's Gateway.\n","type":"string"},"hostnameConfigurations":{"description":"A \u003cspan pulumi-lang-nodejs=\"`hostnameConfiguration`\" pulumi-lang-dotnet=\"`HostnameConfiguration`\" pulumi-lang-go=\"`hostnameConfiguration`\" pulumi-lang-python=\"`hostname_configuration`\" pulumi-lang-yaml=\"`hostnameConfiguration`\" pulumi-lang-java=\"`hostnameConfiguration`\"\u003e`hostname_configuration`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:apimanagement/getServiceHostnameConfiguration:getServiceHostnameConfiguration"},"type":"array"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"identities":{"description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:apimanagement/getServiceIdentity:getServiceIdentity"},"type":"array"},"location":{"description":"The location name of the additional region among Azure Data center regions.\n","type":"string"},"managementApiUrl":{"description":"The URL for the Management API.\n","type":"string"},"name":{"type":"string"},"notificationSenderEmail":{"description":"The email address from which the notification will be sent.\n","type":"string"},"portalUrl":{"description":"The URL of the Publisher Portal.\n","type":"string"},"privateIpAddresses":{"description":"Private IP addresses of the API Management service in the additional location, for instances using virtual network mode.\n","items":{"type":"string"},"type":"array"},"publicIpAddressId":{"description":"ID of the standard SKU IPv4 Public IP. Available only for Premium SKU deployed in a virtual network.\n","type":"string"},"publicIpAddresses":{"description":"Public Static Load Balanced IP addresses of the API Management service in the additional location. Available only for Basic, Standard and Premium SKU.\n","items":{"type":"string"},"type":"array"},"publisherEmail":{"description":"The email of Publisher/Company of the API Management Service.\n","type":"string"},"publisherName":{"description":"The name of the Publisher/Company of the API Management Service.\n","type":"string"},"resourceGroupName":{"type":"string"},"scmUrl":{"description":"The SCM (Source Code Management) endpoint.\n","type":"string"},"skuName":{"description":"The SKU of the API Management Service consisting of the name and capacity, separated by an underscore.\n","type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"A mapping of tags assigned to the resource.\n","type":"object"},"tenantAccesses":{"description":"A \u003cspan pulumi-lang-nodejs=\"`tenantAccess`\" pulumi-lang-dotnet=\"`TenantAccess`\" pulumi-lang-go=\"`tenantAccess`\" pulumi-lang-python=\"`tenant_access`\" pulumi-lang-yaml=\"`tenantAccess`\" pulumi-lang-java=\"`tenantAccess`\"\u003e`tenant_access`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:apimanagement/getServiceTenantAccess:getServiceTenantAccess"},"type":"array"}},"required":["additionalLocations","developerPortalUrl","gatewayRegionalUrl","gatewayUrl","hostnameConfigurations","identities","location","managementApiUrl","name","notificationSenderEmail","portalUrl","privateIpAddresses","publicIpAddressId","publicIpAddresses","publisherEmail","publisherName","resourceGroupName","scmUrl","skuName","tenantAccesses","id"],"type":"object"}},"azure:apimanagement/getSubscription:getSubscription":{"description":"Use this data source to access information about an existing API Management Subscription.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.apimanagement.getSubscription({\n    apiManagementId: \"example-apim\",\n    subscriptionId: \"example-subscription-id\",\n});\nexport const id = example.then(example =\u003e example.subscriptionId);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.apimanagement.get_subscription(api_management_id=\"example-apim\",\n    subscription_id=\"example-subscription-id\")\npulumi.export(\"id\", example.subscription_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.ApiManagement.GetSubscription.Invoke(new()\n    {\n        ApiManagementId = \"example-apim\",\n        SubscriptionId = \"example-subscription-id\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"id\"] = example.Apply(getSubscriptionResult =\u003e getSubscriptionResult.SubscriptionId),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/apimanagement\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := apimanagement.LookupSubscription(ctx, \u0026apimanagement.LookupSubscriptionArgs{\n\t\t\tApiManagementId: \"example-apim\",\n\t\t\tSubscriptionId:  \"example-subscription-id\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"id\", example.SubscriptionId)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.apimanagement.ApimanagementFunctions;\nimport com.pulumi.azure.apimanagement.inputs.GetSubscriptionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = ApimanagementFunctions.getSubscription(GetSubscriptionArgs.builder()\n            .apiManagementId(\"example-apim\")\n            .subscriptionId(\"example-subscription-id\")\n            .build());\n\n        ctx.export(\"id\", example.subscriptionId());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:apimanagement:getSubscription\n      arguments:\n        apiManagementId: example-apim\n        subscriptionId: example-subscription-id\noutputs:\n  id: ${example.subscriptionId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.ApiManagement` - 2022-08-01\n","inputs":{"description":"A collection of arguments for invoking getSubscription.\n","properties":{"apiManagementId":{"type":"string","description":"The ID of the API Management Service in which this Subscription exists.\n","willReplaceOnChanges":true},"subscriptionId":{"type":"string","description":"The Identifier for the API Management Subscription.\n"}},"type":"object","required":["apiManagementId","subscriptionId"]},"outputs":{"description":"A collection of values returned by getSubscription.\n","properties":{"allowTracing":{"description":"Indicates whether tracing is enabled.\n","type":"boolean"},"apiId":{"description":"The ID of the API assigned to this Subscription.\n","type":"string"},"apiManagementId":{"type":"string"},"displayName":{"description":"The display name of this Subscription.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"primaryKey":{"description":"The primary key for this subscription.\n","secret":true,"type":"string"},"productId":{"description":"The ID of the Product assigned to this Subscription.\n","type":"string"},"secondaryKey":{"description":"The secondary key for this subscription.\n","secret":true,"type":"string"},"state":{"description":"The state of this Subscription.\n","type":"string"},"subscriptionId":{"type":"string"},"userId":{"description":"The ID of the User assigned to this Subscription.\n","type":"string"}},"required":["allowTracing","apiId","apiManagementId","displayName","primaryKey","productId","secondaryKey","state","subscriptionId","userId","id"],"type":"object"}},"azure:apimanagement/getUser:getUser":{"description":"Use this data source to access information about an existing API Management User.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.apimanagement.getUser({\n    userId: \"my-user\",\n    apiManagementName: \"example-apim\",\n    resourceGroupName: \"search-service\",\n});\nexport const notes = example.then(example =\u003e example.notes);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.apimanagement.get_user(user_id=\"my-user\",\n    api_management_name=\"example-apim\",\n    resource_group_name=\"search-service\")\npulumi.export(\"notes\", example.notes)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.ApiManagement.GetUser.Invoke(new()\n    {\n        UserId = \"my-user\",\n        ApiManagementName = \"example-apim\",\n        ResourceGroupName = \"search-service\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"notes\"] = example.Apply(getUserResult =\u003e getUserResult.Notes),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/apimanagement\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := apimanagement.LookupUser(ctx, \u0026apimanagement.LookupUserArgs{\n\t\t\tUserId:            \"my-user\",\n\t\t\tApiManagementName: \"example-apim\",\n\t\t\tResourceGroupName: \"search-service\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"notes\", example.Notes)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.apimanagement.ApimanagementFunctions;\nimport com.pulumi.azure.apimanagement.inputs.GetUserArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = ApimanagementFunctions.getUser(GetUserArgs.builder()\n            .userId(\"my-user\")\n            .apiManagementName(\"example-apim\")\n            .resourceGroupName(\"search-service\")\n            .build());\n\n        ctx.export(\"notes\", example.notes());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:apimanagement:getUser\n      arguments:\n        userId: my-user\n        apiManagementName: example-apim\n        resourceGroupName: search-service\noutputs:\n  notes: ${example.notes}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.ApiManagement` - 2022-08-01\n","inputs":{"description":"A collection of arguments for invoking getUser.\n","properties":{"apiManagementName":{"type":"string","description":"The Name of the API Management Service in which this User exists.\n"},"resourceGroupName":{"type":"string","description":"The Name of the Resource Group in which the API Management Service exists.\n"},"userId":{"type":"string","description":"The Identifier for the User.\n"}},"type":"object","required":["apiManagementName","resourceGroupName","userId"]},"outputs":{"description":"A collection of values returned by getUser.\n","properties":{"apiManagementName":{"type":"string"},"email":{"description":"The Email Address used for this User.\n","type":"string"},"firstName":{"description":"The First Name for the User.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"lastName":{"description":"The Last Name for the User.\n","type":"string"},"note":{"description":"Any notes about this User.\n","type":"string"},"resourceGroupName":{"type":"string"},"state":{"description":"The current state of this User, for example \u003cspan pulumi-lang-nodejs=\"`active`\" pulumi-lang-dotnet=\"`Active`\" pulumi-lang-go=\"`active`\" pulumi-lang-python=\"`active`\" pulumi-lang-yaml=\"`active`\" pulumi-lang-java=\"`active`\"\u003e`active`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`blocked`\" pulumi-lang-dotnet=\"`Blocked`\" pulumi-lang-go=\"`blocked`\" pulumi-lang-python=\"`blocked`\" pulumi-lang-yaml=\"`blocked`\" pulumi-lang-java=\"`blocked`\"\u003e`blocked`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`pending`\" pulumi-lang-dotnet=\"`Pending`\" pulumi-lang-go=\"`pending`\" pulumi-lang-python=\"`pending`\" pulumi-lang-yaml=\"`pending`\" pulumi-lang-java=\"`pending`\"\u003e`pending`\u003c/span\u003e.\n","type":"string"},"userId":{"type":"string"}},"required":["apiManagementName","email","firstName","lastName","note","resourceGroupName","state","userId","id"],"type":"object"}},"azure:apimanagement/getWorkspace:getWorkspace":{"description":"Use this data source to access information about an existing API Management Workspace.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleService = new azure.apimanagement.Service(\"example\", {\n    name: \"example-apimanagement\",\n    location: exampleResourceGroup.location,\n    resourceGroupName: exampleResourceGroup.name,\n    publisherName: \"pub1\",\n    publisherEmail: \"pub1@email.com\",\n    skuName: \"Premium_1\",\n});\nconst example = azure.apimanagement.getWorkspaceOutput({\n    name: \"existing\",\n    apiManagementId: exampleService.id,\n});\nexport const id = example.apply(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_service = azure.apimanagement.Service(\"example\",\n    name=\"example-apimanagement\",\n    location=example_resource_group.location,\n    resource_group_name=example_resource_group.name,\n    publisher_name=\"pub1\",\n    publisher_email=\"pub1@email.com\",\n    sku_name=\"Premium_1\")\nexample = azure.apimanagement.get_workspace_output(name=\"existing\",\n    api_management_id=example_service.id)\npulumi.export(\"id\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleResourceGroup = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleService = new Azure.ApiManagement.Service(\"example\", new()\n    {\n        Name = \"example-apimanagement\",\n        Location = exampleResourceGroup.Location,\n        ResourceGroupName = exampleResourceGroup.Name,\n        PublisherName = \"pub1\",\n        PublisherEmail = \"pub1@email.com\",\n        SkuName = \"Premium_1\",\n    });\n\n    var example = Azure.ApiManagement.GetWorkspace.Invoke(new()\n    {\n        Name = \"existing\",\n        ApiManagementId = exampleService.Id,\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"id\"] = example.Apply(getWorkspaceResult =\u003e getWorkspaceResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/apimanagement\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleService, err := apimanagement.NewService(ctx, \"example\", \u0026apimanagement.ServiceArgs{\n\t\t\tName:              pulumi.String(\"example-apimanagement\"),\n\t\t\tLocation:          exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tPublisherName:     pulumi.String(\"pub1\"),\n\t\t\tPublisherEmail:    pulumi.String(\"pub1@email.com\"),\n\t\t\tSkuName:           pulumi.String(\"Premium_1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample := apimanagement.LookupWorkspaceOutput(ctx, apimanagement.GetWorkspaceOutputArgs{\n\t\t\tName:            pulumi.String(\"existing\"),\n\t\t\tApiManagementId: exampleService.ID(),\n\t\t}, nil)\n\t\tctx.Export(\"id\", example.ApplyT(func(example apimanagement.GetWorkspaceResult) (*string, error) {\n\t\t\treturn \u0026example.Id, nil\n\t\t}).(pulumi.StringPtrOutput))\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.apimanagement.Service;\nimport com.pulumi.azure.apimanagement.ServiceArgs;\nimport com.pulumi.azure.apimanagement.ApimanagementFunctions;\nimport com.pulumi.azure.apimanagement.inputs.GetWorkspaceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var exampleResourceGroup = new ResourceGroup(\"exampleResourceGroup\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleService = new Service(\"exampleService\", ServiceArgs.builder()\n            .name(\"example-apimanagement\")\n            .location(exampleResourceGroup.location())\n            .resourceGroupName(exampleResourceGroup.name())\n            .publisherName(\"pub1\")\n            .publisherEmail(\"pub1@email.com\")\n            .skuName(\"Premium_1\")\n            .build());\n\n        final var example = ApimanagementFunctions.getWorkspace(GetWorkspaceArgs.builder()\n            .name(\"existing\")\n            .apiManagementId(exampleService.id())\n            .build());\n\n        ctx.export(\"id\", example.applyValue(_example -\u003e _example.id()));\n    }\n}\n```\n```yaml\nresources:\n  exampleResourceGroup:\n    type: azure:core:ResourceGroup\n    name: example\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleService:\n    type: azure:apimanagement:Service\n    name: example\n    properties:\n      name: example-apimanagement\n      location: ${exampleResourceGroup.location}\n      resourceGroupName: ${exampleResourceGroup.name}\n      publisherName: pub1\n      publisherEmail: pub1@email.com\n      skuName: Premium_1\nvariables:\n  example:\n    fn::invoke:\n      function: azure:apimanagement:getWorkspace\n      arguments:\n        name: existing\n        apiManagementId: ${exampleService.id}\noutputs:\n  id: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.ApiManagement` - 2024-05-01\n","inputs":{"description":"A collection of arguments for invoking getWorkspace.\n","properties":{"apiManagementId":{"type":"string","description":"The ID of the API Management Workspace.\n"},"name":{"type":"string","description":"The name of this API Management Workspace.\n"}},"type":"object","required":["apiManagementId","name"]},"outputs":{"description":"A collection of values returned by getWorkspace.\n","properties":{"apiManagementId":{"type":"string"},"displayName":{"description":"The display name of the API Management Workspace.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"name":{"type":"string"}},"required":["apiManagementId","displayName","name","id"],"type":"object"}},"azure:appconfiguration/getConfigurationKey:getConfigurationKey":{"description":"Use this data source to access information about an existing Azure App Configuration Key.\n\n\u003e **Note:** App Configuration Keys are provisioned using a Data Plane API which requires the role `App Configuration Data Owner` on either the App Configuration or a parent scope (such as the Resource Group/Subscription). [More information can be found in the Azure Documentation for App Configuration](https://docs.microsoft.com/azure/azure-app-configuration/concept-enable-rbac#azure-built-in-roles-for-azure-app-configuration).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst test = azure.appconfiguration.getConfigurationKey({\n    configurationStoreId: appconf.id,\n    key: \"appConfKey1\",\n    label: \"somelabel\",\n});\nexport const value = test.then(test =\u003e test.value);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\ntest = azure.appconfiguration.get_configuration_key(configuration_store_id=appconf[\"id\"],\n    key=\"appConfKey1\",\n    label=\"somelabel\")\npulumi.export(\"value\", test.value)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var test = Azure.AppConfiguration.GetConfigurationKey.Invoke(new()\n    {\n        ConfigurationStoreId = appconf.Id,\n        Key = \"appConfKey1\",\n        Label = \"somelabel\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"value\"] = test.Apply(getConfigurationKeyResult =\u003e getConfigurationKeyResult.Value),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/appconfiguration\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttest, err := appconfiguration.LookupConfigurationKey(ctx, \u0026appconfiguration.LookupConfigurationKeyArgs{\n\t\t\tConfigurationStoreId: appconf.Id,\n\t\t\tKey:                  \"appConfKey1\",\n\t\t\tLabel:                pulumi.StringRef(\"somelabel\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"value\", test.Value)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.appconfiguration.AppconfigurationFunctions;\nimport com.pulumi.azure.appconfiguration.inputs.GetConfigurationKeyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var test = AppconfigurationFunctions.getConfigurationKey(GetConfigurationKeyArgs.builder()\n            .configurationStoreId(appconf.id())\n            .key(\"appConfKey1\")\n            .label(\"somelabel\")\n            .build());\n\n        ctx.export(\"value\", test.value());\n    }\n}\n```\n```yaml\nvariables:\n  test:\n    fn::invoke:\n      function: azure:appconfiguration:getConfigurationKey\n      arguments:\n        configurationStoreId: ${appconf.id}\n        key: appConfKey1\n        label: somelabel\noutputs:\n  value: ${test.value}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getConfigurationKey.\n","properties":{"configurationStoreId":{"type":"string","description":"Specifies the id of the App Configuration.\n"},"key":{"type":"string","description":"The name of the App Configuration Key.\n"},"label":{"type":"string","description":"The label of the App Configuration Key.\n"}},"type":"object","required":["configurationStoreId","key"]},"outputs":{"description":"A collection of values returned by getConfigurationKey.\n","properties":{"configurationStoreId":{"type":"string"},"contentType":{"description":"The content type of the App Configuration Key.\n","type":"string"},"etag":{"description":"The ETag of the key.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"key":{"type":"string"},"label":{"type":"string"},"locked":{"description":"Is this App Configuration Key be Locked to prevent changes.\n","type":"boolean"},"tags":{"additionalProperties":{"type":"string"},"description":"A mapping of tags assigned to the resource.\n","type":"object"},"type":{"description":"The type of the App Configuration Key. It can either be \u003cspan pulumi-lang-nodejs=\"`kv`\" pulumi-lang-dotnet=\"`Kv`\" pulumi-lang-go=\"`kv`\" pulumi-lang-python=\"`kv`\" pulumi-lang-yaml=\"`kv`\" pulumi-lang-java=\"`kv`\"\u003e`kv`\u003c/span\u003e (simple [key/value](https://docs.microsoft.com/azure/azure-app-configuration/concept-key-value)) or \u003cspan pulumi-lang-nodejs=\"`vault`\" pulumi-lang-dotnet=\"`Vault`\" pulumi-lang-go=\"`vault`\" pulumi-lang-python=\"`vault`\" pulumi-lang-yaml=\"`vault`\" pulumi-lang-java=\"`vault`\"\u003e`vault`\u003c/span\u003e (where the value is a reference to a [Key Vault Secret](https://azure.microsoft.com/en-gb/services/key-vault/).\n","type":"string"},"value":{"description":"The value of the App Configuration Key.\n","type":"string"},"vaultKeyReference":{"description":"The ID of the vault secret this App Configuration Key refers to, when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`vault`\" pulumi-lang-dotnet=\"`Vault`\" pulumi-lang-go=\"`vault`\" pulumi-lang-python=\"`vault`\" pulumi-lang-yaml=\"`vault`\" pulumi-lang-java=\"`vault`\"\u003e`vault`\u003c/span\u003e.\n","type":"string"}},"required":["configurationStoreId","contentType","etag","key","locked","tags","type","value","vaultKeyReference","id"],"type":"object"}},"azure:appconfiguration/getConfigurationKeys:getConfigurationKeys":{"description":"Use this data source to access information about existing Azure App Configuration Keys.\n\n\u003e **Note:** App Configuration Keys are provisioned using a Data Plane API which requires the role `App Configuration Data Owner` on either the App Configuration or a parent scope (such as the Resource Group/Subscription). [More information can be found in the Azure Documentation for App Configuration](https://docs.microsoft.com/azure/azure-app-configuration/concept-enable-rbac#azure-built-in-roles-for-azure-app-configuration).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst test = azure.appconfiguration.getConfigurationKeys({\n    configurationStoreId: appconf.id,\n});\nexport const value = test.then(test =\u003e test.items);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\ntest = azure.appconfiguration.get_configuration_keys(configuration_store_id=appconf[\"id\"])\npulumi.export(\"value\", test.items)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var test = Azure.AppConfiguration.GetConfigurationKeys.Invoke(new()\n    {\n        ConfigurationStoreId = appconf.Id,\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"value\"] = test.Apply(getConfigurationKeysResult =\u003e getConfigurationKeysResult.Items),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/appconfiguration\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttest, err := appconfiguration.GetConfigurationKeys(ctx, \u0026appconfiguration.GetConfigurationKeysArgs{\n\t\t\tConfigurationStoreId: appconf.Id,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"value\", test.Items)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.appconfiguration.AppconfigurationFunctions;\nimport com.pulumi.azure.appconfiguration.inputs.GetConfigurationKeysArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var test = AppconfigurationFunctions.getConfigurationKeys(GetConfigurationKeysArgs.builder()\n            .configurationStoreId(appconf.id())\n            .build());\n\n        ctx.export(\"value\", test.items());\n    }\n}\n```\n```yaml\nvariables:\n  test:\n    fn::invoke:\n      function: azure:appconfiguration:getConfigurationKeys\n      arguments:\n        configurationStoreId: ${appconf.id}\noutputs:\n  value: ${test.items}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getConfigurationKeys.\n","properties":{"configurationStoreId":{"type":"string","description":"Specifies the id of the App Configuration.\n"},"key":{"type":"string","description":"The name of the App Configuration Keys to look up.\n"},"label":{"type":"string","description":"The label of the App Configuration Keys tp look up.\n"}},"type":"object","required":["configurationStoreId"]},"outputs":{"description":"A collection of values returned by getConfigurationKeys.\n","properties":{"configurationStoreId":{"type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"items":{"description":"A list of \u003cspan pulumi-lang-nodejs=\"`items`\" pulumi-lang-dotnet=\"`Items`\" pulumi-lang-go=\"`items`\" pulumi-lang-python=\"`items`\" pulumi-lang-yaml=\"`items`\" pulumi-lang-java=\"`items`\"\u003e`items`\u003c/span\u003e blocks as defined below.\n","items":{"$ref":"#/types/azure:appconfiguration/getConfigurationKeysItem:getConfigurationKeysItem"},"type":"array"},"key":{"description":"The name of the App Configuration Key.\n","type":"string"},"label":{"description":"The label of the App Configuration Key.\n","type":"string"}},"required":["configurationStoreId","items","id"],"type":"object"}},"azure:appconfiguration/getConfigurationStore:getConfigurationStore":{"description":"Use this data source to access information about an existing App Configuration.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.appconfiguration.getConfigurationStore({\n    name: \"existing\",\n    resourceGroupName: \"existing\",\n});\nexport const id = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.appconfiguration.get_configuration_store(name=\"existing\",\n    resource_group_name=\"existing\")\npulumi.export(\"id\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.AppConfiguration.GetConfigurationStore.Invoke(new()\n    {\n        Name = \"existing\",\n        ResourceGroupName = \"existing\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"id\"] = example.Apply(getConfigurationStoreResult =\u003e getConfigurationStoreResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/appconfiguration\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := appconfiguration.LookupConfigurationStore(ctx, \u0026appconfiguration.LookupConfigurationStoreArgs{\n\t\t\tName:              \"existing\",\n\t\t\tResourceGroupName: \"existing\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"id\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.appconfiguration.AppconfigurationFunctions;\nimport com.pulumi.azure.appconfiguration.inputs.GetConfigurationStoreArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = AppconfigurationFunctions.getConfigurationStore(GetConfigurationStoreArgs.builder()\n            .name(\"existing\")\n            .resourceGroupName(\"existing\")\n            .build());\n\n        ctx.export(\"id\", example.id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:appconfiguration:getConfigurationStore\n      arguments:\n        name: existing\n        resourceGroupName: existing\noutputs:\n  id: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.AppConfiguration` - 2024-05-01\n","inputs":{"description":"A collection of arguments for invoking getConfigurationStore.\n","properties":{"name":{"type":"string","description":"The Name of this App Configuration.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the App Configuration exists.\n"}},"type":"object","required":["name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getConfigurationStore.\n","properties":{"dataPlaneProxyAuthenticationMode":{"description":"The data plane proxy authentication mode.\n","type":"string"},"dataPlaneProxyPrivateLinkDelegationEnabled":{"description":"Whether data plane proxy private link delegation is enabled.\n","type":"boolean"},"encryptions":{"description":"An \u003cspan pulumi-lang-nodejs=\"`encryption`\" pulumi-lang-dotnet=\"`Encryption`\" pulumi-lang-go=\"`encryption`\" pulumi-lang-python=\"`encryption`\" pulumi-lang-yaml=\"`encryption`\" pulumi-lang-java=\"`encryption`\"\u003e`encryption`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:appconfiguration/getConfigurationStoreEncryption:getConfigurationStoreEncryption"},"type":"array"},"endpoint":{"description":"The URL of the App Configuration Replica.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"identities":{"description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:appconfiguration/getConfigurationStoreIdentity:getConfigurationStoreIdentity"},"type":"array"},"localAuthEnabled":{"description":"Whether local authentication methods are enabled.\n","type":"boolean"},"location":{"description":"The supported Azure location where the App Configuration Replica exists.\n","type":"string"},"name":{"description":"The name of the App Configuration Replica.\n","type":"string"},"primaryReadKeys":{"description":"A \u003cspan pulumi-lang-nodejs=\"`primaryReadKey`\" pulumi-lang-dotnet=\"`PrimaryReadKey`\" pulumi-lang-go=\"`primaryReadKey`\" pulumi-lang-python=\"`primary_read_key`\" pulumi-lang-yaml=\"`primaryReadKey`\" pulumi-lang-java=\"`primaryReadKey`\"\u003e`primary_read_key`\u003c/span\u003e block as defined below containing the primary read access key.\n","items":{"$ref":"#/types/azure:appconfiguration/getConfigurationStorePrimaryReadKey:getConfigurationStorePrimaryReadKey"},"type":"array"},"primaryWriteKeys":{"description":"A \u003cspan pulumi-lang-nodejs=\"`primaryWriteKey`\" pulumi-lang-dotnet=\"`PrimaryWriteKey`\" pulumi-lang-go=\"`primaryWriteKey`\" pulumi-lang-python=\"`primary_write_key`\" pulumi-lang-yaml=\"`primaryWriteKey`\" pulumi-lang-java=\"`primaryWriteKey`\"\u003e`primary_write_key`\u003c/span\u003e block as defined below containing the primary write access key.\n","items":{"$ref":"#/types/azure:appconfiguration/getConfigurationStorePrimaryWriteKey:getConfigurationStorePrimaryWriteKey"},"type":"array"},"publicNetworkAccess":{"description":"The Public Network Access setting of this App Configuration.\n","type":"string"},"publicNetworkAccessEnabled":{"type":"boolean"},"purgeProtectionEnabled":{"description":"Whether Purge Protection is enabled.\n","type":"boolean"},"replicas":{"description":"One or more \u003cspan pulumi-lang-nodejs=\"`replica`\" pulumi-lang-dotnet=\"`Replica`\" pulumi-lang-go=\"`replica`\" pulumi-lang-python=\"`replica`\" pulumi-lang-yaml=\"`replica`\" pulumi-lang-java=\"`replica`\"\u003e`replica`\u003c/span\u003e blocks as defined below.\n","items":{"$ref":"#/types/azure:appconfiguration/getConfigurationStoreReplica:getConfigurationStoreReplica"},"type":"array"},"resourceGroupName":{"type":"string"},"secondaryReadKeys":{"description":"A \u003cspan pulumi-lang-nodejs=\"`secondaryReadKey`\" pulumi-lang-dotnet=\"`SecondaryReadKey`\" pulumi-lang-go=\"`secondaryReadKey`\" pulumi-lang-python=\"`secondary_read_key`\" pulumi-lang-yaml=\"`secondaryReadKey`\" pulumi-lang-java=\"`secondaryReadKey`\"\u003e`secondary_read_key`\u003c/span\u003e block as defined below containing the secondary read access key.\n","items":{"$ref":"#/types/azure:appconfiguration/getConfigurationStoreSecondaryReadKey:getConfigurationStoreSecondaryReadKey"},"type":"array"},"secondaryWriteKeys":{"description":"A \u003cspan pulumi-lang-nodejs=\"`secondaryWriteKey`\" pulumi-lang-dotnet=\"`SecondaryWriteKey`\" pulumi-lang-go=\"`secondaryWriteKey`\" pulumi-lang-python=\"`secondary_write_key`\" pulumi-lang-yaml=\"`secondaryWriteKey`\" pulumi-lang-java=\"`secondaryWriteKey`\"\u003e`secondary_write_key`\u003c/span\u003e block as defined below containing the secondary write access key.\n","items":{"$ref":"#/types/azure:appconfiguration/getConfigurationStoreSecondaryWriteKey:getConfigurationStoreSecondaryWriteKey"},"type":"array"},"sku":{"description":"The name of the SKU used for this App Configuration.\n","type":"string"},"softDeleteRetentionDays":{"description":"The number of days that items should be retained for once soft-deleted.\n","type":"integer"},"tags":{"additionalProperties":{"type":"string"},"description":"A mapping of tags assigned to the App Configuration.\n","type":"object"}},"required":["dataPlaneProxyAuthenticationMode","dataPlaneProxyPrivateLinkDelegationEnabled","encryptions","endpoint","identities","localAuthEnabled","location","name","primaryReadKeys","primaryWriteKeys","publicNetworkAccess","publicNetworkAccessEnabled","purgeProtectionEnabled","replicas","resourceGroupName","secondaryReadKeys","secondaryWriteKeys","sku","softDeleteRetentionDays","tags","id"],"type":"object"}},"azure:appinsights/getInsights:getInsights":{"description":"Use this data source to access information about an existing Application Insights component.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.appinsights.getInsights({\n    name: \"production\",\n    resourceGroupName: \"networking\",\n});\nexport const applicationInsightsInstrumentationKey = example.then(example =\u003e example.instrumentationKey);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.appinsights.get_insights(name=\"production\",\n    resource_group_name=\"networking\")\npulumi.export(\"applicationInsightsInstrumentationKey\", example.instrumentation_key)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.AppInsights.GetInsights.Invoke(new()\n    {\n        Name = \"production\",\n        ResourceGroupName = \"networking\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"applicationInsightsInstrumentationKey\"] = example.Apply(getInsightsResult =\u003e getInsightsResult.InstrumentationKey),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/appinsights\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := appinsights.LookupInsights(ctx, \u0026appinsights.LookupInsightsArgs{\n\t\t\tName:              \"production\",\n\t\t\tResourceGroupName: \"networking\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"applicationInsightsInstrumentationKey\", example.InstrumentationKey)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.appinsights.AppinsightsFunctions;\nimport com.pulumi.azure.appinsights.inputs.GetInsightsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = AppinsightsFunctions.getInsights(GetInsightsArgs.builder()\n            .name(\"production\")\n            .resourceGroupName(\"networking\")\n            .build());\n\n        ctx.export(\"applicationInsightsInstrumentationKey\", example.instrumentationKey());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:appinsights:getInsights\n      arguments:\n        name: production\n        resourceGroupName: networking\noutputs:\n  applicationInsightsInstrumentationKey: ${example.instrumentationKey}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.Insights` - 2020-02-02\n","inputs":{"description":"A collection of arguments for invoking getInsights.\n","properties":{"name":{"type":"string","description":"Specifies the name of the Application Insights component.\n"},"resourceGroupName":{"type":"string","description":"Specifies the name of the resource group the Application Insights component is located in.\n"}},"type":"object","required":["name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getInsights.\n","properties":{"appId":{"description":"The App ID associated with this Application Insights component.\n","type":"string"},"applicationType":{"description":"The type of the component.\n","type":"string"},"connectionString":{"description":"The connection string of the Application Insights component. (Sensitive)\n","secret":true,"type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"instrumentationKey":{"description":"The instrumentation key of the Application Insights component.\n","type":"string"},"location":{"description":"The Azure location where the component exists.\n","type":"string"},"name":{"type":"string"},"resourceGroupName":{"type":"string"},"retentionInDays":{"description":"The retention period in days.\n","type":"integer"},"tags":{"additionalProperties":{"type":"string"},"description":"Tags applied to the component.\n","type":"object"},"workspaceId":{"description":"The id of the associated Log Analytics workspace\n","type":"string"}},"required":["appId","applicationType","connectionString","instrumentationKey","location","name","resourceGroupName","retentionInDays","tags","workspaceId","id"],"type":"object"}},"azure:appplatform/getSpringCloudApp:getSpringCloudApp":{"description":"Use this data source to access information about an existing Spring Cloud Application.\n\n!\u003e **Note:** Azure Spring Apps is now deprecated and will be retired on 2028-05-31 - as such the \u003cspan pulumi-lang-nodejs=\"`azure.appplatform.SpringCloudApp`\" pulumi-lang-dotnet=\"`azure.appplatform.SpringCloudApp`\" pulumi-lang-go=\"`appplatform.SpringCloudApp`\" pulumi-lang-python=\"`appplatform.SpringCloudApp`\" pulumi-lang-yaml=\"`azure.appplatform.SpringCloudApp`\" pulumi-lang-java=\"`azure.appplatform.SpringCloudApp`\"\u003e`azure.appplatform.SpringCloudApp`\u003c/span\u003e data source is deprecated and will be removed in a future major version of the AzureRM Provider. See https://aka.ms/asaretirement for more information.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.appplatform.getSpringCloudApp({\n    name: exampleAzurermSpringCloudApp.name,\n    resourceGroupName: exampleAzurermSpringCloudApp.resourceGroupName,\n    serviceName: exampleAzurermSpringCloudApp.serviceName,\n});\nexport const springCloudAppId = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.appplatform.get_spring_cloud_app(name=example_azurerm_spring_cloud_app[\"name\"],\n    resource_group_name=example_azurerm_spring_cloud_app[\"resourceGroupName\"],\n    service_name=example_azurerm_spring_cloud_app[\"serviceName\"])\npulumi.export(\"springCloudAppId\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.AppPlatform.GetSpringCloudApp.Invoke(new()\n    {\n        Name = exampleAzurermSpringCloudApp.Name,\n        ResourceGroupName = exampleAzurermSpringCloudApp.ResourceGroupName,\n        ServiceName = exampleAzurermSpringCloudApp.ServiceName,\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"springCloudAppId\"] = example.Apply(getSpringCloudAppResult =\u003e getSpringCloudAppResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/appplatform\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := appplatform.LookupSpringCloudApp(ctx, \u0026appplatform.LookupSpringCloudAppArgs{\n\t\t\tName:              exampleAzurermSpringCloudApp.Name,\n\t\t\tResourceGroupName: exampleAzurermSpringCloudApp.ResourceGroupName,\n\t\t\tServiceName:       exampleAzurermSpringCloudApp.ServiceName,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"springCloudAppId\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.appplatform.AppplatformFunctions;\nimport com.pulumi.azure.appplatform.inputs.GetSpringCloudAppArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = AppplatformFunctions.getSpringCloudApp(GetSpringCloudAppArgs.builder()\n            .name(exampleAzurermSpringCloudApp.name())\n            .resourceGroupName(exampleAzurermSpringCloudApp.resourceGroupName())\n            .serviceName(exampleAzurermSpringCloudApp.serviceName())\n            .build());\n\n        ctx.export(\"springCloudAppId\", example.id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:appplatform:getSpringCloudApp\n      arguments:\n        name: ${exampleAzurermSpringCloudApp.name}\n        resourceGroupName: ${exampleAzurermSpringCloudApp.resourceGroupName}\n        serviceName: ${exampleAzurermSpringCloudApp.serviceName}\noutputs:\n  springCloudAppId: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getSpringCloudApp.\n","properties":{"name":{"type":"string","description":"The name of the Spring Cloud Application.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Spring Cloud Application exists.\n"},"serviceName":{"type":"string","description":"The name of the Spring Cloud Service.\n"}},"type":"object","required":["name","resourceGroupName","serviceName"]},"outputs":{"description":"A collection of values returned by getSpringCloudApp.\n","properties":{"fqdn":{"description":"The Fully Qualified DNS Name.\n","type":"string"},"httpsOnly":{"description":"Is only HTTPS allowed?\n","type":"boolean"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"identities":{"description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:appplatform/getSpringCloudAppIdentity:getSpringCloudAppIdentity"},"type":"array"},"isPublic":{"description":"Does the Spring Cloud Application have public endpoint?\n","type":"boolean"},"name":{"type":"string"},"persistentDisks":{"description":"A \u003cspan pulumi-lang-nodejs=\"`persistentDisk`\" pulumi-lang-dotnet=\"`PersistentDisk`\" pulumi-lang-go=\"`persistentDisk`\" pulumi-lang-python=\"`persistent_disk`\" pulumi-lang-yaml=\"`persistentDisk`\" pulumi-lang-java=\"`persistentDisk`\"\u003e`persistent_disk`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:appplatform/getSpringCloudAppPersistentDisk:getSpringCloudAppPersistentDisk"},"type":"array"},"resourceGroupName":{"type":"string"},"serviceName":{"type":"string"},"tlsEnabled":{"description":"Is End to End TLS Enabled?\n","type":"boolean"},"url":{"description":"The public endpoint of the Spring Cloud Application.\n","type":"string"}},"required":["fqdn","httpsOnly","identities","isPublic","name","persistentDisks","resourceGroupName","serviceName","tlsEnabled","url","id"],"type":"object"}},"azure:appplatform/getSpringCloudService:getSpringCloudService":{"description":"Use this data source to access information about an existing Spring Cloud Service.\n\n!\u003e **Note:** Azure Spring Apps is now deprecated and will be retired on 2028-05-31 - as such the \u003cspan pulumi-lang-nodejs=\"`azure.appplatform.SpringCloudService`\" pulumi-lang-dotnet=\"`azure.appplatform.SpringCloudService`\" pulumi-lang-go=\"`appplatform.SpringCloudService`\" pulumi-lang-python=\"`appplatform.SpringCloudService`\" pulumi-lang-yaml=\"`azure.appplatform.SpringCloudService`\" pulumi-lang-java=\"`azure.appplatform.SpringCloudService`\"\u003e`azure.appplatform.SpringCloudService`\u003c/span\u003e data source is deprecated and will be removed in a future major version of the AzureRM Provider. See https://aka.ms/asaretirement for more information.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.appplatform.getSpringCloudService({\n    name: exampleAzurermSpringCloudService.name,\n    resourceGroupName: exampleAzurermSpringCloudService.resourceGroupName,\n});\nexport const springCloudServiceId = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.appplatform.get_spring_cloud_service(name=example_azurerm_spring_cloud_service[\"name\"],\n    resource_group_name=example_azurerm_spring_cloud_service[\"resourceGroupName\"])\npulumi.export(\"springCloudServiceId\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.AppPlatform.GetSpringCloudService.Invoke(new()\n    {\n        Name = exampleAzurermSpringCloudService.Name,\n        ResourceGroupName = exampleAzurermSpringCloudService.ResourceGroupName,\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"springCloudServiceId\"] = example.Apply(getSpringCloudServiceResult =\u003e getSpringCloudServiceResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/appplatform\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := appplatform.LookupSpringCloudService(ctx, \u0026appplatform.LookupSpringCloudServiceArgs{\n\t\t\tName:              exampleAzurermSpringCloudService.Name,\n\t\t\tResourceGroupName: exampleAzurermSpringCloudService.ResourceGroupName,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"springCloudServiceId\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.appplatform.AppplatformFunctions;\nimport com.pulumi.azure.appplatform.inputs.GetSpringCloudServiceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = AppplatformFunctions.getSpringCloudService(GetSpringCloudServiceArgs.builder()\n            .name(exampleAzurermSpringCloudService.name())\n            .resourceGroupName(exampleAzurermSpringCloudService.resourceGroupName())\n            .build());\n\n        ctx.export(\"springCloudServiceId\", example.id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:appplatform:getSpringCloudService\n      arguments:\n        name: ${exampleAzurermSpringCloudService.name}\n        resourceGroupName: ${exampleAzurermSpringCloudService.resourceGroupName}\noutputs:\n  springCloudServiceId: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getSpringCloudService.\n","properties":{"name":{"type":"string","description":"Specifies The name of the Spring Cloud Service resource.\n"},"resourceGroupName":{"type":"string","description":"Specifies the name of the Resource Group where the Spring Cloud Service exists.\n"}},"type":"object","required":["name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getSpringCloudService.\n","properties":{"configServerGitSettings":{"description":"A \u003cspan pulumi-lang-nodejs=\"`configServerGitSetting`\" pulumi-lang-dotnet=\"`ConfigServerGitSetting`\" pulumi-lang-go=\"`configServerGitSetting`\" pulumi-lang-python=\"`config_server_git_setting`\" pulumi-lang-yaml=\"`configServerGitSetting`\" pulumi-lang-java=\"`configServerGitSetting`\"\u003e`config_server_git_setting`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:appplatform/getSpringCloudServiceConfigServerGitSetting:getSpringCloudServiceConfigServerGitSetting"},"type":"array"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"location":{"description":"The location of Spring Cloud Service.\n","type":"string"},"name":{"description":"The name to identify on the Git repository.\n","type":"string"},"outboundPublicIpAddresses":{"description":"A list of the outbound Public IP Addresses used by this Spring Cloud Service.\n","items":{"type":"string"},"type":"array"},"requiredNetworkTrafficRules":{"description":"A list of \u003cspan pulumi-lang-nodejs=\"`requiredNetworkTrafficRules`\" pulumi-lang-dotnet=\"`RequiredNetworkTrafficRules`\" pulumi-lang-go=\"`requiredNetworkTrafficRules`\" pulumi-lang-python=\"`required_network_traffic_rules`\" pulumi-lang-yaml=\"`requiredNetworkTrafficRules`\" pulumi-lang-java=\"`requiredNetworkTrafficRules`\"\u003e`required_network_traffic_rules`\u003c/span\u003e blocks as defined below.\n","items":{"$ref":"#/types/azure:appplatform/getSpringCloudServiceRequiredNetworkTrafficRule:getSpringCloudServiceRequiredNetworkTrafficRule"},"type":"array"},"resourceGroupName":{"type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"A mapping of tags assigned to Spring Cloud Service.\n","type":"object"}},"required":["configServerGitSettings","location","name","outboundPublicIpAddresses","requiredNetworkTrafficRules","resourceGroupName","tags","id"],"type":"object"}},"azure:appservice/getAppService:getAppService":{"description":"Use this data source to access information about an existing App Service.\n\n!\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`azure.appservice.AppService`\" pulumi-lang-dotnet=\"`azure.appservice.AppService`\" pulumi-lang-go=\"`appservice.AppService`\" pulumi-lang-python=\"`appservice.AppService`\" pulumi-lang-yaml=\"`azure.appservice.AppService`\" pulumi-lang-java=\"`azure.appservice.AppService`\"\u003e`azure.appservice.AppService`\u003c/span\u003e data source is deprecated in version 5.0 of the provider and will be removed in version 6.0. Please use the \u003cspan pulumi-lang-nodejs=\"`azure.appservice.LinuxWebApp`\" pulumi-lang-dotnet=\"`azure.appservice.LinuxWebApp`\" pulumi-lang-go=\"`appservice.LinuxWebApp`\" pulumi-lang-python=\"`appservice.LinuxWebApp`\" pulumi-lang-yaml=\"`azure.appservice.LinuxWebApp`\" pulumi-lang-java=\"`azure.appservice.LinuxWebApp`\"\u003e`azure.appservice.LinuxWebApp`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`azure.appservice.WindowsWebApp`\" pulumi-lang-dotnet=\"`azure.appservice.WindowsWebApp`\" pulumi-lang-go=\"`appservice.WindowsWebApp`\" pulumi-lang-python=\"`appservice.WindowsWebApp`\" pulumi-lang-yaml=\"`azure.appservice.WindowsWebApp`\" pulumi-lang-java=\"`azure.appservice.WindowsWebApp`\"\u003e`azure.appservice.WindowsWebApp`\u003c/span\u003e data sources instead.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.appservice.getAppService({\n    name: \"search-app-service\",\n    resourceGroupName: \"search-service\",\n});\nexport const appServiceId = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.appservice.get_app_service(name=\"search-app-service\",\n    resource_group_name=\"search-service\")\npulumi.export(\"appServiceId\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.AppService.GetAppService.Invoke(new()\n    {\n        Name = \"search-app-service\",\n        ResourceGroupName = \"search-service\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"appServiceId\"] = example.Apply(getAppServiceResult =\u003e getAppServiceResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/appservice\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := appservice.LookupAppService(ctx, \u0026appservice.LookupAppServiceArgs{\n\t\t\tName:              \"search-app-service\",\n\t\t\tResourceGroupName: \"search-service\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"appServiceId\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.appservice.AppserviceFunctions;\nimport com.pulumi.azure.appservice.inputs.GetAppServiceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = AppserviceFunctions.getAppService(GetAppServiceArgs.builder()\n            .name(\"search-app-service\")\n            .resourceGroupName(\"search-service\")\n            .build());\n\n        ctx.export(\"appServiceId\", example.id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:appservice:getAppService\n      arguments:\n        name: search-app-service\n        resourceGroupName: search-service\noutputs:\n  appServiceId: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getAppService.\n","properties":{"name":{"type":"string","description":"The name of the App Service.\n"},"resourceGroupName":{"type":"string","description":"The Name of the Resource Group where the App Service exists.\n"}},"type":"object","required":["name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getAppService.\n","properties":{"appServicePlanId":{"description":"The ID of the App Service Plan within which the App Service exists.\n","type":"string"},"appSettings":{"additionalProperties":{"type":"string"},"description":"A key-value pair of App Settings for the App Service.\n","type":"object"},"clientAffinityEnabled":{"description":"Does the App Service send session affinity cookies, which route client requests in the same session to the same instance?\n","type":"boolean"},"clientCertEnabled":{"description":"Does the App Service require client certificates for incoming requests?\n","type":"boolean"},"connectionStrings":{"description":"An \u003cspan pulumi-lang-nodejs=\"`connectionString`\" pulumi-lang-dotnet=\"`ConnectionString`\" pulumi-lang-go=\"`connectionString`\" pulumi-lang-python=\"`connection_string`\" pulumi-lang-yaml=\"`connectionString`\" pulumi-lang-java=\"`connectionString`\"\u003e`connection_string`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:appservice/getAppServiceConnectionString:getAppServiceConnectionString"},"type":"array"},"customDomainVerificationId":{"description":"An identifier used by App Service to perform domain ownership verification via DNS TXT record.\n","type":"string"},"defaultSiteHostname":{"description":"The Default Hostname associated with the App Service - such as `mysite.azurewebsites.net`\n","type":"string"},"enabled":{"description":"Is the App Service Enabled?\n","type":"boolean"},"httpsOnly":{"description":"Can the App Service only be accessed via HTTPS?\n","type":"boolean"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"location":{"description":"The Azure location where the App Service exists.\n","type":"string"},"name":{"description":"The name for this IP Restriction.\n","type":"string"},"outboundIpAddressLists":{"description":"A list of outbound IP addresses - such as `[\"52.23.25.3\", \"52.143.43.12\"]`\n","items":{"type":"string"},"type":"array"},"outboundIpAddresses":{"description":"A comma separated list of outbound IP addresses - such as `52.23.25.3,52.143.43.12`\n","type":"string"},"possibleOutboundIpAddressLists":{"description":"A list of outbound IP addresses - such as `[\"52.23.25.3\", \"52.143.43.12\", \"52.143.43.17\"]` - not all of which are necessarily in use. Superset of \u003cspan pulumi-lang-nodejs=\"`outboundIpAddressList`\" pulumi-lang-dotnet=\"`OutboundIpAddressList`\" pulumi-lang-go=\"`outboundIpAddressList`\" pulumi-lang-python=\"`outbound_ip_address_list`\" pulumi-lang-yaml=\"`outboundIpAddressList`\" pulumi-lang-java=\"`outboundIpAddressList`\"\u003e`outbound_ip_address_list`\u003c/span\u003e.\n","items":{"type":"string"},"type":"array"},"possibleOutboundIpAddresses":{"description":"A comma separated list of outbound IP addresses - such as `52.23.25.3,52.143.43.12,52.143.43.17` - not all of which are necessarily in use. Superset of \u003cspan pulumi-lang-nodejs=\"`outboundIpAddresses`\" pulumi-lang-dotnet=\"`OutboundIpAddresses`\" pulumi-lang-go=\"`outboundIpAddresses`\" pulumi-lang-python=\"`outbound_ip_addresses`\" pulumi-lang-yaml=\"`outboundIpAddresses`\" pulumi-lang-java=\"`outboundIpAddresses`\"\u003e`outbound_ip_addresses`\u003c/span\u003e.\n","type":"string"},"resourceGroupName":{"type":"string"},"siteConfigs":{"description":"A \u003cspan pulumi-lang-nodejs=\"`siteConfig`\" pulumi-lang-dotnet=\"`SiteConfig`\" pulumi-lang-go=\"`siteConfig`\" pulumi-lang-python=\"`site_config`\" pulumi-lang-yaml=\"`siteConfig`\" pulumi-lang-java=\"`siteConfig`\"\u003e`site_config`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:appservice/getAppServiceSiteConfig:getAppServiceSiteConfig"},"type":"array"},"siteCredentials":{"items":{"$ref":"#/types/azure:appservice/getAppServiceSiteCredential:getAppServiceSiteCredential"},"type":"array"},"sourceControls":{"description":"A \u003cspan pulumi-lang-nodejs=\"`sourceControl`\" pulumi-lang-dotnet=\"`SourceControl`\" pulumi-lang-go=\"`sourceControl`\" pulumi-lang-python=\"`source_control`\" pulumi-lang-yaml=\"`sourceControl`\" pulumi-lang-java=\"`sourceControl`\"\u003e`source_control`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:appservice/getAppServiceSourceControl:getAppServiceSourceControl"},"type":"array"},"tags":{"additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n","type":"object"}},"required":["appServicePlanId","appSettings","clientAffinityEnabled","clientCertEnabled","connectionStrings","customDomainVerificationId","defaultSiteHostname","enabled","httpsOnly","location","name","outboundIpAddressLists","outboundIpAddresses","possibleOutboundIpAddressLists","possibleOutboundIpAddresses","resourceGroupName","siteConfigs","siteCredentials","sourceControls","tags","id"],"type":"object"}},"azure:appservice/getAppServicePlan:getAppServicePlan":{"description":"Use this data source to access information about an existing App Service Plan (formerly known as a `Server Farm`).\n\n!\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`azure.appservice.Plan`\" pulumi-lang-dotnet=\"`azure.appservice.Plan`\" pulumi-lang-go=\"`appservice.Plan`\" pulumi-lang-python=\"`appservice.Plan`\" pulumi-lang-yaml=\"`azure.appservice.Plan`\" pulumi-lang-java=\"`azure.appservice.Plan`\"\u003e`azure.appservice.Plan`\u003c/span\u003e data source is deprecated in version 5.0 of the provider and will be removed in version 6.0. Please use the \u003cspan pulumi-lang-nodejs=\"`azure.appservice.ServicePlan`\" pulumi-lang-dotnet=\"`azure.appservice.ServicePlan`\" pulumi-lang-go=\"`appservice.ServicePlan`\" pulumi-lang-python=\"`appservice.ServicePlan`\" pulumi-lang-yaml=\"`azure.appservice.ServicePlan`\" pulumi-lang-java=\"`azure.appservice.ServicePlan`\"\u003e`azure.appservice.ServicePlan`\u003c/span\u003e data source instead.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.appservice.getAppServicePlan({\n    name: \"search-app-service-plan\",\n    resourceGroupName: \"search-service\",\n});\nexport const appServicePlanId = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.appservice.get_app_service_plan(name=\"search-app-service-plan\",\n    resource_group_name=\"search-service\")\npulumi.export(\"appServicePlanId\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.AppService.GetAppServicePlan.Invoke(new()\n    {\n        Name = \"search-app-service-plan\",\n        ResourceGroupName = \"search-service\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"appServicePlanId\"] = example.Apply(getAppServicePlanResult =\u003e getAppServicePlanResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/appservice\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := appservice.GetAppServicePlan(ctx, \u0026appservice.GetAppServicePlanArgs{\n\t\t\tName:              \"search-app-service-plan\",\n\t\t\tResourceGroupName: \"search-service\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"appServicePlanId\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.appservice.AppserviceFunctions;\nimport com.pulumi.azure.appservice.inputs.GetAppServicePlanArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = AppserviceFunctions.getAppServicePlan(GetAppServicePlanArgs.builder()\n            .name(\"search-app-service-plan\")\n            .resourceGroupName(\"search-service\")\n            .build());\n\n        ctx.export(\"appServicePlanId\", example.id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:appservice:getAppServicePlan\n      arguments:\n        name: search-app-service-plan\n        resourceGroupName: search-service\noutputs:\n  appServicePlanId: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getAppServicePlan.\n","properties":{"name":{"type":"string","description":"The name of the App Service Plan.\n"},"resourceGroupName":{"type":"string","description":"The Name of the Resource Group where the App Service Plan exists.\n"}},"type":"object","required":["name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getAppServicePlan.\n","properties":{"appServiceEnvironmentId":{"description":"The ID of the App Service Environment where the App Service Plan is located.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"isXenon":{"description":"A flag that indicates if it's a xenon plan (support for Windows Container)\n","type":"boolean"},"kind":{"description":"The Operating System type of the App Service Plan\n","type":"string"},"location":{"description":"The Azure location where the App Service Plan exists\n","type":"string"},"maximumElasticWorkerCount":{"description":"The maximum number of total workers allowed for this ElasticScaleEnabled App Service Plan.\n","type":"integer"},"maximumNumberOfWorkers":{"description":"The maximum number of workers supported with the App Service Plan's sku.\n","type":"integer"},"name":{"type":"string"},"perSiteScaling":{"description":"Can Apps assigned to this App Service Plan be scaled independently?\n","type":"boolean"},"reserved":{"description":"Is this App Service Plan `Reserved`?\n","type":"boolean"},"resourceGroupName":{"type":"string"},"sku":{"$ref":"#/types/azure:appservice/getAppServicePlanSku:getAppServicePlanSku","description":"A \u003cspan pulumi-lang-nodejs=\"`sku`\" pulumi-lang-dotnet=\"`Sku`\" pulumi-lang-go=\"`sku`\" pulumi-lang-python=\"`sku`\" pulumi-lang-yaml=\"`sku`\" pulumi-lang-java=\"`sku`\"\u003e`sku`\u003c/span\u003e block as documented below.\n"},"tags":{"additionalProperties":{"type":"string"},"description":"A mapping of tags assigned to the resource.\n","type":"object"},"zoneRedundant":{"description":"App Service Plan perform availability zone balancing.\n","type":"boolean"}},"required":["appServiceEnvironmentId","isXenon","kind","location","maximumElasticWorkerCount","maximumNumberOfWorkers","name","perSiteScaling","reserved","resourceGroupName","sku","tags","zoneRedundant","id"],"type":"object"}},"azure:appservice/getCertificate:getCertificate":{"description":"Use this data source to access information about an App Service Certificate.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.appservice.getCertificate({\n    name: \"example-app-service-certificate\",\n    resourceGroupName: \"example-rg\",\n});\nexport const appServiceCertificateId = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.appservice.get_certificate(name=\"example-app-service-certificate\",\n    resource_group_name=\"example-rg\")\npulumi.export(\"appServiceCertificateId\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.AppService.GetCertificate.Invoke(new()\n    {\n        Name = \"example-app-service-certificate\",\n        ResourceGroupName = \"example-rg\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"appServiceCertificateId\"] = example.Apply(getCertificateResult =\u003e getCertificateResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/appservice\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := appservice.LookupCertificate(ctx, \u0026appservice.LookupCertificateArgs{\n\t\t\tName:              \"example-app-service-certificate\",\n\t\t\tResourceGroupName: \"example-rg\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"appServiceCertificateId\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.appservice.AppserviceFunctions;\nimport com.pulumi.azure.appservice.inputs.GetCertificateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = AppserviceFunctions.getCertificate(GetCertificateArgs.builder()\n            .name(\"example-app-service-certificate\")\n            .resourceGroupName(\"example-rg\")\n            .build());\n\n        ctx.export(\"appServiceCertificateId\", example.id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:appservice:getCertificate\n      arguments:\n        name: example-app-service-certificate\n        resourceGroupName: example-rg\noutputs:\n  appServiceCertificateId: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getCertificate.\n","properties":{"name":{"type":"string","description":"Specifies the name of the certificate.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the certificate.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"}}},"type":"object","required":["name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getCertificate.\n","properties":{"expirationDate":{"description":"The expiration date for the certificate.\n","type":"string"},"friendlyName":{"description":"The friendly name of the certificate.\n","type":"string"},"hostNames":{"description":"List of host names the certificate applies to.\n","items":{"type":"string"},"type":"array"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"issueDate":{"description":"The issue date for the certificate.\n","type":"string"},"issuer":{"description":"The name of the certificate issuer.\n","type":"string"},"location":{"type":"string"},"name":{"type":"string"},"resourceGroupName":{"type":"string"},"subjectName":{"description":"The subject name of the certificate.\n","type":"string"},"tags":{"additionalProperties":{"type":"string"},"type":"object"},"thumbprint":{"description":"The thumbprint for the certificate.\n","type":"string"}},"required":["expirationDate","friendlyName","hostNames","issueDate","issuer","location","name","resourceGroupName","subjectName","thumbprint","id"],"type":"object"}},"azure:appservice/getCertificateOrder:getCertificateOrder":{"description":"Use this data source to access information about an existing App Service Certificate Order.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.appservice.getCertificateOrder({\n    name: \"example-cert-order\",\n    resourceGroupName: \"example-resources\",\n});\nexport const certificateOrderId = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.appservice.get_certificate_order(name=\"example-cert-order\",\n    resource_group_name=\"example-resources\")\npulumi.export(\"certificateOrderId\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.AppService.GetCertificateOrder.Invoke(new()\n    {\n        Name = \"example-cert-order\",\n        ResourceGroupName = \"example-resources\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"certificateOrderId\"] = example.Apply(getCertificateOrderResult =\u003e getCertificateOrderResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/appservice\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := appservice.LookupCertificateOrder(ctx, \u0026appservice.LookupCertificateOrderArgs{\n\t\t\tName:              \"example-cert-order\",\n\t\t\tResourceGroupName: \"example-resources\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"certificateOrderId\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.appservice.AppserviceFunctions;\nimport com.pulumi.azure.appservice.inputs.GetCertificateOrderArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = AppserviceFunctions.getCertificateOrder(GetCertificateOrderArgs.builder()\n            .name(\"example-cert-order\")\n            .resourceGroupName(\"example-resources\")\n            .build());\n\n        ctx.export(\"certificateOrderId\", example.id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:appservice:getCertificateOrder\n      arguments:\n        name: example-cert-order\n        resourceGroupName: example-resources\noutputs:\n  certificateOrderId: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getCertificateOrder.\n","properties":{"name":{"type":"string","description":"The name of the App Service.\n"},"resourceGroupName":{"type":"string","description":"The Name of the Resource Group where the App Service exists.\n"}},"type":"object","required":["name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getCertificateOrder.\n","properties":{"appServiceCertificateNotRenewableReasons":{"description":"Reasons why App Service Certificate is not renewable at the current moment.\n","items":{"type":"string"},"type":"array"},"autoRenew":{"description":"true if the certificate should be automatically renewed when it expires; otherwise, false.\n","type":"boolean"},"certificates":{"description":"State of the Key Vault secret. A \u003cspan pulumi-lang-nodejs=\"`certificates`\" pulumi-lang-dotnet=\"`Certificates`\" pulumi-lang-go=\"`certificates`\" pulumi-lang-python=\"`certificates`\" pulumi-lang-yaml=\"`certificates`\" pulumi-lang-java=\"`certificates`\"\u003e`certificates`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:appservice/getCertificateOrderCertificate:getCertificateOrderCertificate"},"type":"array"},"csr":{"description":"Last CSR that was created for this order.\n","type":"string"},"distinguishedName":{"description":"The Distinguished Name for the App Service Certificate Order.\n","type":"string"},"domainVerificationToken":{"description":"Domain verification token.\n","type":"string"},"expirationTime":{"description":"Certificate expiration time.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"intermediateThumbprint":{"description":"Certificate thumbprint intermediate certificate.\n","type":"string"},"isPrivateKeyExternal":{"description":"Whether the private key is external or not.\n","type":"boolean"},"keySize":{"description":"Certificate key size.\n","type":"integer"},"location":{"description":"The Azure location where the App Service exists.\n","type":"string"},"name":{"type":"string"},"productType":{"description":"Certificate product type, such as `Standard` or `WildCard`.\n","type":"string"},"resourceGroupName":{"type":"string"},"rootThumbprint":{"description":"Certificate thumbprint for root certificate.\n","type":"string"},"signedCertificateThumbprint":{"description":"Certificate thumbprint for signed certificate.\n","type":"string"},"status":{"description":"Current order status.\n","type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n","type":"object"},"validityInYears":{"description":"Duration in years (must be between 1 and 3).\n","type":"integer"}},"required":["appServiceCertificateNotRenewableReasons","autoRenew","certificates","csr","distinguishedName","domainVerificationToken","expirationTime","intermediateThumbprint","isPrivateKeyExternal","keySize","location","name","productType","resourceGroupName","rootThumbprint","signedCertificateThumbprint","status","tags","validityInYears","id"],"type":"object"}},"azure:appservice/getEnvironmentV3:getEnvironmentV3":{"description":"Use this data source to access information about an existing 3rd Generation (v3) App Service Environment.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.appservice.getEnvironmentV3({\n    name: \"example-ASE\",\n    resourceGroupName: \"example-resource-group\",\n});\nexport const id = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.appservice.get_environment_v3(name=\"example-ASE\",\n    resource_group_name=\"example-resource-group\")\npulumi.export(\"id\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.AppService.GetEnvironmentV3.Invoke(new()\n    {\n        Name = \"example-ASE\",\n        ResourceGroupName = \"example-resource-group\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"id\"] = example.Apply(getEnvironmentV3Result =\u003e getEnvironmentV3Result.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/appservice\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := appservice.LookupEnvironmentV3(ctx, \u0026appservice.LookupEnvironmentV3Args{\n\t\t\tName:              \"example-ASE\",\n\t\t\tResourceGroupName: \"example-resource-group\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"id\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.appservice.AppserviceFunctions;\nimport com.pulumi.azure.appservice.inputs.GetEnvironmentV3Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = AppserviceFunctions.getEnvironmentV3(GetEnvironmentV3Args.builder()\n            .name(\"example-ASE\")\n            .resourceGroupName(\"example-resource-group\")\n            .build());\n\n        ctx.export(\"id\", example.id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:appservice:getEnvironmentV3\n      arguments:\n        name: example-ASE\n        resourceGroupName: example-resource-group\noutputs:\n  id: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.Web` - 2023-01-01\n","inputs":{"description":"A collection of arguments for invoking getEnvironmentV3.\n","properties":{"name":{"type":"string","description":"The name of this v3 App Service Environment.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the v3 App Service Environment exists.\n"}},"type":"object","required":["name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getEnvironmentV3.\n","properties":{"allowNewPrivateEndpointConnections":{"description":"Are new Private Endpoint Connections allowed.\n","type":"boolean"},"clusterSettings":{"description":"A \u003cspan pulumi-lang-nodejs=\"`clusterSetting`\" pulumi-lang-dotnet=\"`ClusterSetting`\" pulumi-lang-go=\"`clusterSetting`\" pulumi-lang-python=\"`cluster_setting`\" pulumi-lang-yaml=\"`clusterSetting`\" pulumi-lang-java=\"`clusterSetting`\"\u003e`cluster_setting`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:appservice/getEnvironmentV3ClusterSetting:getEnvironmentV3ClusterSetting"},"type":"array"},"dedicatedHostCount":{"description":"The number of Dedicated Hosts used by this ASEv3.\n","type":"integer"},"dnsSuffix":{"description":"the DNS suffix for this App Service Environment V3.\n","type":"string"},"externalInboundIpAddresses":{"description":"The external inbound IP addresses of the App Service Environment V3.\n","items":{"type":"string"},"type":"array"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"inboundNetworkDependencies":{"description":"An Inbound Network Dependencies block as defined below.\n","items":{"$ref":"#/types/azure:appservice/getEnvironmentV3InboundNetworkDependency:getEnvironmentV3InboundNetworkDependency"},"type":"array"},"internalInboundIpAddresses":{"description":"The internal inbound IP addresses of the App Service Environment V3.\n","items":{"type":"string"},"type":"array"},"internalLoadBalancingMode":{"description":"The Internal Load Balancing Mode of this ASEv3.\n","type":"string"},"ipSslAddressCount":{"description":"The number of IP SSL addresses reserved for the App Service Environment V3.\n","type":"integer"},"linuxOutboundIpAddresses":{"description":"The list of Outbound IP Addresses of Linux based Apps in this App Service Environment V3.\n","items":{"type":"string"},"type":"array"},"location":{"description":"The location where the App Service Environment exists.\n","type":"string"},"name":{"description":"The name of the Cluster Setting.\n","type":"string"},"pricingTier":{"description":"Pricing tier for the front end instances.\n","type":"string"},"remoteDebuggingEnabled":{"type":"boolean"},"resourceGroupName":{"type":"string"},"subnetId":{"description":"The ID of the v3 App Service Environment Subnet.\n","type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"A mapping of tags assigned to the v3 App Service Environment.\n","type":"object"},"windowsOutboundIpAddresses":{"description":"Outbound addresses of Windows based Apps in this App Service Environment V3.\n","items":{"type":"string"},"type":"array"},"zoneRedundant":{"type":"boolean"}},"required":["allowNewPrivateEndpointConnections","clusterSettings","dedicatedHostCount","dnsSuffix","externalInboundIpAddresses","inboundNetworkDependencies","internalInboundIpAddresses","internalLoadBalancingMode","ipSslAddressCount","linuxOutboundIpAddresses","location","name","pricingTier","remoteDebuggingEnabled","resourceGroupName","subnetId","tags","windowsOutboundIpAddresses","zoneRedundant","id"],"type":"object"}},"azure:appservice/getFunctionApp:getFunctionApp":{"description":"Use this data source to access information about a Function App.\n\n!\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`azure.appservice.FunctionApp`\" pulumi-lang-dotnet=\"`azure.appservice.FunctionApp`\" pulumi-lang-go=\"`appservice.FunctionApp`\" pulumi-lang-python=\"`appservice.FunctionApp`\" pulumi-lang-yaml=\"`azure.appservice.FunctionApp`\" pulumi-lang-java=\"`azure.appservice.FunctionApp`\"\u003e`azure.appservice.FunctionApp`\u003c/span\u003e data source is deprecated in version 5.0 of the AzureRM provider and will be removed in version 6.0. Please use the \u003cspan pulumi-lang-nodejs=\"`azure.appservice.LinuxFunctionApp`\" pulumi-lang-dotnet=\"`azure.appservice.LinuxFunctionApp`\" pulumi-lang-go=\"`appservice.LinuxFunctionApp`\" pulumi-lang-python=\"`appservice.LinuxFunctionApp`\" pulumi-lang-yaml=\"`azure.appservice.LinuxFunctionApp`\" pulumi-lang-java=\"`azure.appservice.LinuxFunctionApp`\"\u003e`azure.appservice.LinuxFunctionApp`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`azure.appservice.WindowsFunctionApp`\" pulumi-lang-dotnet=\"`azure.appservice.WindowsFunctionApp`\" pulumi-lang-go=\"`appservice.WindowsFunctionApp`\" pulumi-lang-python=\"`appservice.WindowsFunctionApp`\" pulumi-lang-yaml=\"`azure.appservice.WindowsFunctionApp`\" pulumi-lang-java=\"`azure.appservice.WindowsFunctionApp`\"\u003e`azure.appservice.WindowsFunctionApp`\u003c/span\u003e data sources instead.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.appservice.getFunctionApp({\n    name: \"test-azure-functions\",\n    resourceGroupName: exampleAzurermResourceGroup.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.appservice.get_function_app(name=\"test-azure-functions\",\n    resource_group_name=example_azurerm_resource_group[\"name\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.AppService.GetFunctionApp.Invoke(new()\n    {\n        Name = \"test-azure-functions\",\n        ResourceGroupName = exampleAzurermResourceGroup.Name,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/appservice\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := appservice.LookupFunctionApp(ctx, \u0026appservice.LookupFunctionAppArgs{\n\t\t\tName:              \"test-azure-functions\",\n\t\t\tResourceGroupName: exampleAzurermResourceGroup.Name,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.appservice.AppserviceFunctions;\nimport com.pulumi.azure.appservice.inputs.GetFunctionAppArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = AppserviceFunctions.getFunctionApp(GetFunctionAppArgs.builder()\n            .name(\"test-azure-functions\")\n            .resourceGroupName(exampleAzurermResourceGroup.name())\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:appservice:getFunctionApp\n      arguments:\n        name: test-azure-functions\n        resourceGroupName: ${exampleAzurermResourceGroup.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getFunctionApp.\n","properties":{"name":{"type":"string","description":"The name of the Function App resource.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Function App exists.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"}}},"type":"object","required":["name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getFunctionApp.\n","properties":{"appServicePlanId":{"description":"The ID of the App Service Plan within which to create this Function App.\n","type":"string"},"appSettings":{"additionalProperties":{"type":"string"},"description":"A key-value pair of App Settings.\n","type":"object"},"clientCertMode":{"description":"The mode of the Function App's client certificates requirement for incoming requests.\n","type":"string"},"connectionStrings":{"description":"An \u003cspan pulumi-lang-nodejs=\"`connectionString`\" pulumi-lang-dotnet=\"`ConnectionString`\" pulumi-lang-go=\"`connectionString`\" pulumi-lang-python=\"`connection_string`\" pulumi-lang-yaml=\"`connectionString`\" pulumi-lang-java=\"`connectionString`\"\u003e`connection_string`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:appservice/getFunctionAppConnectionString:getFunctionAppConnectionString"},"type":"array"},"customDomainVerificationId":{"description":"An identifier used by App Service to perform domain ownership verification via DNS TXT record.\n","type":"string"},"defaultHostname":{"description":"The default hostname associated with the Function App.\n","type":"string"},"enabled":{"description":"Is the Function App enabled?\n","type":"boolean"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"identities":{"description":"A \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:appservice/getFunctionAppIdentity:getFunctionAppIdentity"},"type":"array"},"location":{"type":"string"},"name":{"description":"The name for this IP Restriction.\n","type":"string"},"osType":{"description":"A string indicating the Operating System type for this function app.\n","type":"string"},"outboundIpAddresses":{"description":"A comma separated list of outbound IP addresses.\n","type":"string"},"possibleOutboundIpAddresses":{"description":"A comma separated list of outbound IP addresses, not all of which are necessarily in use. Superset of \u003cspan pulumi-lang-nodejs=\"`outboundIpAddresses`\" pulumi-lang-dotnet=\"`OutboundIpAddresses`\" pulumi-lang-go=\"`outboundIpAddresses`\" pulumi-lang-python=\"`outbound_ip_addresses`\" pulumi-lang-yaml=\"`outboundIpAddresses`\" pulumi-lang-java=\"`outboundIpAddresses`\"\u003e`outbound_ip_addresses`\u003c/span\u003e.\n","type":"string"},"resourceGroupName":{"type":"string"},"siteConfigs":{"items":{"$ref":"#/types/azure:appservice/getFunctionAppSiteConfig:getFunctionAppSiteConfig"},"type":"array"},"siteCredentials":{"description":"A \u003cspan pulumi-lang-nodejs=\"`siteCredential`\" pulumi-lang-dotnet=\"`SiteCredential`\" pulumi-lang-go=\"`siteCredential`\" pulumi-lang-python=\"`site_credential`\" pulumi-lang-yaml=\"`siteCredential`\" pulumi-lang-java=\"`siteCredential`\"\u003e`site_credential`\u003c/span\u003e block as defined below, which contains the site-level credentials used to publish to this App Service.\n","items":{"$ref":"#/types/azure:appservice/getFunctionAppSiteCredential:getFunctionAppSiteCredential"},"type":"array"},"sourceControls":{"description":"A \u003cspan pulumi-lang-nodejs=\"`sourceControl`\" pulumi-lang-dotnet=\"`SourceControl`\" pulumi-lang-go=\"`sourceControl`\" pulumi-lang-python=\"`source_control`\" pulumi-lang-yaml=\"`sourceControl`\" pulumi-lang-java=\"`sourceControl`\"\u003e`source_control`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:appservice/getFunctionAppSourceControl:getFunctionAppSourceControl"},"type":"array"},"tags":{"additionalProperties":{"type":"string"},"type":"object"}},"required":["appServicePlanId","appSettings","clientCertMode","connectionStrings","customDomainVerificationId","defaultHostname","enabled","identities","location","name","osType","outboundIpAddresses","possibleOutboundIpAddresses","resourceGroupName","siteConfigs","siteCredentials","sourceControls","id"],"type":"object"}},"azure:appservice/getFunctionAppHostKeys:getFunctionAppHostKeys":{"description":"Use this data source to fetch the Host Keys of an existing Function App\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.appservice.getFunctionAppHostKeys({\n    name: \"example-function\",\n    resourceGroupName: exampleAzurermResourceGroup.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.appservice.get_function_app_host_keys(name=\"example-function\",\n    resource_group_name=example_azurerm_resource_group[\"name\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.AppService.GetFunctionAppHostKeys.Invoke(new()\n    {\n        Name = \"example-function\",\n        ResourceGroupName = exampleAzurermResourceGroup.Name,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/appservice\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := appservice.GetFunctionAppHostKeys(ctx, \u0026appservice.GetFunctionAppHostKeysArgs{\n\t\t\tName:              \"example-function\",\n\t\t\tResourceGroupName: exampleAzurermResourceGroup.Name,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.appservice.AppserviceFunctions;\nimport com.pulumi.azure.appservice.inputs.GetFunctionAppHostKeysArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = AppserviceFunctions.getFunctionAppHostKeys(GetFunctionAppHostKeysArgs.builder()\n            .name(\"example-function\")\n            .resourceGroupName(exampleAzurermResourceGroup.name())\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:appservice:getFunctionAppHostKeys\n      arguments:\n        name: example-function\n        resourceGroupName: ${exampleAzurermResourceGroup.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getFunctionAppHostKeys.\n","properties":{"name":{"type":"string","description":"The name of the Function App.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Function App exists.\n"}},"type":"object","required":["name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getFunctionAppHostKeys.\n","properties":{"blobsExtensionKey":{"description":"Function App resource's Blobs Extension system key.\n","secret":true,"type":"string"},"defaultFunctionKey":{"description":"Function App resource's default function key.\n","secret":true,"type":"string"},"durabletaskExtensionKey":{"description":"Function App resource's Durable Task Extension system key.\n","secret":true,"type":"string"},"eventGridExtensionConfigKey":{"description":"Function App resource's Event Grid Extension Config system key.\n","secret":true,"type":"string"},"eventGridExtensionKey":{"secret":true,"type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"name":{"type":"string"},"primaryKey":{"description":"Function App resource's secret key\n","secret":true,"type":"string"},"resourceGroupName":{"type":"string"},"signalrExtensionKey":{"description":"Function App resource's SignalR Extension system key.\n","secret":true,"type":"string"},"webpubsubExtensionKey":{"description":"Function App resource's Web PubSub Extension system key.\n","secret":true,"type":"string"}},"required":["blobsExtensionKey","defaultFunctionKey","durabletaskExtensionKey","eventGridExtensionConfigKey","eventGridExtensionKey","name","primaryKey","resourceGroupName","signalrExtensionKey","webpubsubExtensionKey","id"],"type":"object"}},"azure:appservice/getLinuxFunctionApp:getLinuxFunctionApp":{"description":"Use this data source to access information about an existing Linux Function App.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.appservice.getLinuxFunctionApp({\n    name: \"existing\",\n    resourceGroupName: \"existing\",\n});\nexport const id = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.appservice.get_linux_function_app(name=\"existing\",\n    resource_group_name=\"existing\")\npulumi.export(\"id\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.AppService.GetLinuxFunctionApp.Invoke(new()\n    {\n        Name = \"existing\",\n        ResourceGroupName = \"existing\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"id\"] = example.Apply(getLinuxFunctionAppResult =\u003e getLinuxFunctionAppResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/appservice\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := appservice.LookupLinuxFunctionApp(ctx, \u0026appservice.LookupLinuxFunctionAppArgs{\n\t\t\tName:              \"existing\",\n\t\t\tResourceGroupName: \"existing\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"id\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.appservice.AppserviceFunctions;\nimport com.pulumi.azure.appservice.inputs.GetLinuxFunctionAppArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = AppserviceFunctions.getLinuxFunctionApp(GetLinuxFunctionAppArgs.builder()\n            .name(\"existing\")\n            .resourceGroupName(\"existing\")\n            .build());\n\n        ctx.export(\"id\", example.id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:appservice:getLinuxFunctionApp\n      arguments:\n        name: existing\n        resourceGroupName: existing\noutputs:\n  id: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.Web` - 2023-12-01\n","inputs":{"description":"A collection of arguments for invoking getLinuxFunctionApp.\n","properties":{"name":{"type":"string","description":"The name which should be used for this Linux Function App.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Linux Function App should exist.\n"}},"type":"object","required":["name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getLinuxFunctionApp.\n","properties":{"appSettings":{"additionalProperties":{"type":"string"},"description":"A map of key-value pairs for [App Settings](https://docs.microsoft.com/azure/azure-functions/functions-app-settings) and custom values.\n","type":"object"},"authSettings":{"description":"A \u003cspan pulumi-lang-nodejs=\"`authSettings`\" pulumi-lang-dotnet=\"`AuthSettings`\" pulumi-lang-go=\"`authSettings`\" pulumi-lang-python=\"`auth_settings`\" pulumi-lang-yaml=\"`authSettings`\" pulumi-lang-java=\"`authSettings`\"\u003e`auth_settings`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:appservice/getLinuxFunctionAppAuthSetting:getLinuxFunctionAppAuthSetting"},"type":"array"},"authSettingsV2s":{"description":"A \u003cspan pulumi-lang-nodejs=\"`authSettingsV2`\" pulumi-lang-dotnet=\"`AuthSettingsV2`\" pulumi-lang-go=\"`authSettingsV2`\" pulumi-lang-python=\"`auth_settings_v2`\" pulumi-lang-yaml=\"`authSettingsV2`\" pulumi-lang-java=\"`authSettingsV2`\"\u003e`auth_settings_v2`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:appservice/getLinuxFunctionAppAuthSettingsV2:getLinuxFunctionAppAuthSettingsV2"},"type":"array"},"availability":{"description":"The current availability state. Possible values are `Normal`, `Limited`, and `DisasterRecoveryMode`.\n","type":"string"},"backups":{"description":"A \u003cspan pulumi-lang-nodejs=\"`backup`\" pulumi-lang-dotnet=\"`Backup`\" pulumi-lang-go=\"`backup`\" pulumi-lang-python=\"`backup`\" pulumi-lang-yaml=\"`backup`\" pulumi-lang-java=\"`backup`\"\u003e`backup`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:appservice/getLinuxFunctionAppBackup:getLinuxFunctionAppBackup"},"type":"array"},"builtinLoggingEnabled":{"description":"Is built in logging enabled?\n","type":"boolean"},"clientCertificateEnabled":{"description":"Are Client Certificates enabled?\n","type":"boolean"},"clientCertificateExclusionPaths":{"description":"Paths to exclude when using client certificates, separated by ;\n","type":"string"},"clientCertificateMode":{"description":"The mode of the Function App's client certificates requirement for incoming requests.\n","type":"string"},"connectionStrings":{"description":"A \u003cspan pulumi-lang-nodejs=\"`connectionString`\" pulumi-lang-dotnet=\"`ConnectionString`\" pulumi-lang-go=\"`connectionString`\" pulumi-lang-python=\"`connection_string`\" pulumi-lang-yaml=\"`connectionString`\" pulumi-lang-java=\"`connectionString`\"\u003e`connection_string`\u003c/span\u003e blocks as defined below.\n","items":{"$ref":"#/types/azure:appservice/getLinuxFunctionAppConnectionString:getLinuxFunctionAppConnectionString"},"type":"array"},"contentShareForceDisabled":{"description":"Are the settings for linking the Function App to storage suppressed?\n","type":"boolean"},"customDomainVerificationId":{"description":"The identifier used by App Service to perform domain ownership verification via DNS TXT record.\n","secret":true,"type":"string"},"dailyMemoryTimeQuota":{"description":"The amount of memory in gigabyte-seconds that your application is allowed to consume per day.\n","type":"integer"},"defaultHostname":{"description":"The default hostname of the Linux Function App.\n","type":"string"},"enabled":{"description":"Is this backup job enabled?\n","type":"boolean"},"ftpPublishBasicAuthenticationEnabled":{"description":"Are the default FTP Basic Authentication publishing credentials enabled.\n","type":"boolean"},"functionsExtensionVersion":{"description":"The runtime version associated with the Function App.\n","type":"string"},"hostingEnvironmentId":{"description":"The ID of the App Service Environment used by Function App.\n","type":"string"},"httpsOnly":{"description":"Can the Function App only be accessed via HTTPS?\n","type":"boolean"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"identities":{"description":"A \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:appservice/getLinuxFunctionAppIdentity:getLinuxFunctionAppIdentity"},"type":"array"},"kind":{"description":"The Kind value for this Linux Function App.\n","type":"string"},"location":{"description":"The Azure Region where the Linux Function App exists.\n","type":"string"},"name":{"description":"The Site Credentials Username used for publishing.\n","type":"string"},"outboundIpAddressLists":{"description":"A list of outbound IP addresses. For example `[\"52.23.25.3\", \"52.143.43.12\"]`\n","items":{"type":"string"},"type":"array"},"outboundIpAddresses":{"description":"A comma separated list of outbound IP addresses as a string. For example `52.23.25.3,52.143.43.12`.\n","type":"string"},"possibleOutboundIpAddressLists":{"description":"A list of possible outbound IP addresses, not all of which are necessarily in use. This is a superset of \u003cspan pulumi-lang-nodejs=\"`outboundIpAddressList`\" pulumi-lang-dotnet=\"`OutboundIpAddressList`\" pulumi-lang-go=\"`outboundIpAddressList`\" pulumi-lang-python=\"`outbound_ip_address_list`\" pulumi-lang-yaml=\"`outboundIpAddressList`\" pulumi-lang-java=\"`outboundIpAddressList`\"\u003e`outbound_ip_address_list`\u003c/span\u003e. For example `[\"52.23.25.3\", \"52.143.43.12\"]`.\n","items":{"type":"string"},"type":"array"},"possibleOutboundIpAddresses":{"description":"A comma separated list of possible outbound IP addresses as a string. For example `52.23.25.3,52.143.43.12,52.143.43.17`. This is a superset of \u003cspan pulumi-lang-nodejs=\"`outboundIpAddresses`\" pulumi-lang-dotnet=\"`OutboundIpAddresses`\" pulumi-lang-go=\"`outboundIpAddresses`\" pulumi-lang-python=\"`outbound_ip_addresses`\" pulumi-lang-yaml=\"`outboundIpAddresses`\" pulumi-lang-java=\"`outboundIpAddresses`\"\u003e`outbound_ip_addresses`\u003c/span\u003e.\n","type":"string"},"publicNetworkAccessEnabled":{"description":"Is Public Network Access enabled for this Linux Function App.\n","type":"boolean"},"resourceGroupName":{"type":"string"},"servicePlanId":{"description":"The ID of the App Service Plan within which this Function App has been created.\n","type":"string"},"siteConfigs":{"description":"A \u003cspan pulumi-lang-nodejs=\"`siteConfig`\" pulumi-lang-dotnet=\"`SiteConfig`\" pulumi-lang-go=\"`siteConfig`\" pulumi-lang-python=\"`site_config`\" pulumi-lang-yaml=\"`siteConfig`\" pulumi-lang-java=\"`siteConfig`\"\u003e`site_config`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:appservice/getLinuxFunctionAppSiteConfig:getLinuxFunctionAppSiteConfig"},"type":"array"},"siteCredentials":{"description":"A \u003cspan pulumi-lang-nodejs=\"`siteCredential`\" pulumi-lang-dotnet=\"`SiteCredential`\" pulumi-lang-go=\"`siteCredential`\" pulumi-lang-python=\"`site_credential`\" pulumi-lang-yaml=\"`siteCredential`\" pulumi-lang-java=\"`siteCredential`\"\u003e`site_credential`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:appservice/getLinuxFunctionAppSiteCredential:getLinuxFunctionAppSiteCredential"},"secret":true,"type":"array"},"stickySettings":{"description":"A \u003cspan pulumi-lang-nodejs=\"`stickySettings`\" pulumi-lang-dotnet=\"`StickySettings`\" pulumi-lang-go=\"`stickySettings`\" pulumi-lang-python=\"`sticky_settings`\" pulumi-lang-yaml=\"`stickySettings`\" pulumi-lang-java=\"`stickySettings`\"\u003e`sticky_settings`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:appservice/getLinuxFunctionAppStickySetting:getLinuxFunctionAppStickySetting"},"type":"array"},"storageAccountAccessKey":{"description":"The access key used to access the backend storage account for the Function App.\n","secret":true,"type":"string"},"storageAccountName":{"description":"The backend storage account name used by this Function App.\n","type":"string"},"storageKeyVaultSecretId":{"description":"The Key Vault Secret ID, including version, that contains the Connection String to connect to the storage account for this Function App.\n","type":"string"},"storageUsesManagedIdentity":{"description":"Does the Function App use Managed Identity to access the storage account?\n","type":"boolean"},"tags":{"additionalProperties":{"type":"string"},"description":"A mapping of tags which are assigned to the Linux Function App.\n","type":"object"},"usage":{"description":"The current usage state. Possible values are `Normal` and `Exceeded`.\n","type":"string"},"virtualNetworkBackupRestoreEnabled":{"description":"Whether backup and restore operations over the linked virtual network are enabled.\n","type":"boolean"},"virtualNetworkSubnetId":{"description":"The Virtual Network Subnet ID used for this IP Restriction.\n","type":"string"},"webdeployPublishBasicAuthenticationEnabled":{"description":"Are the default WebDeploy Basic Authentication publishing credentials enabled.\n","type":"boolean"}},"required":["appSettings","authSettings","authSettingsV2s","availability","backups","builtinLoggingEnabled","clientCertificateEnabled","clientCertificateExclusionPaths","clientCertificateMode","connectionStrings","contentShareForceDisabled","customDomainVerificationId","dailyMemoryTimeQuota","defaultHostname","enabled","ftpPublishBasicAuthenticationEnabled","functionsExtensionVersion","hostingEnvironmentId","httpsOnly","identities","kind","location","name","outboundIpAddressLists","outboundIpAddresses","possibleOutboundIpAddressLists","possibleOutboundIpAddresses","publicNetworkAccessEnabled","resourceGroupName","servicePlanId","siteConfigs","siteCredentials","stickySettings","storageAccountAccessKey","storageAccountName","storageKeyVaultSecretId","storageUsesManagedIdentity","tags","usage","virtualNetworkBackupRestoreEnabled","virtualNetworkSubnetId","webdeployPublishBasicAuthenticationEnabled","id"],"type":"object"}},"azure:appservice/getLinuxWebApp:getLinuxWebApp":{"description":"Use this data source to access information about an existing Linux Web App.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.appservice.getLinuxWebApp({\n    name: \"existing\",\n    resourceGroupName: \"existing\",\n});\nexport const id = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.appservice.get_linux_web_app(name=\"existing\",\n    resource_group_name=\"existing\")\npulumi.export(\"id\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.AppService.GetLinuxWebApp.Invoke(new()\n    {\n        Name = \"existing\",\n        ResourceGroupName = \"existing\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"id\"] = example.Apply(getLinuxWebAppResult =\u003e getLinuxWebAppResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/appservice\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := appservice.LookupLinuxWebApp(ctx, \u0026appservice.LookupLinuxWebAppArgs{\n\t\t\tName:              \"existing\",\n\t\t\tResourceGroupName: \"existing\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"id\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.appservice.AppserviceFunctions;\nimport com.pulumi.azure.appservice.inputs.GetLinuxWebAppArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = AppserviceFunctions.getLinuxWebApp(GetLinuxWebAppArgs.builder()\n            .name(\"existing\")\n            .resourceGroupName(\"existing\")\n            .build());\n\n        ctx.export(\"id\", example.id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:appservice:getLinuxWebApp\n      arguments:\n        name: existing\n        resourceGroupName: existing\noutputs:\n  id: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.Web` - 2023-12-01\n","inputs":{"description":"A collection of arguments for invoking getLinuxWebApp.\n","properties":{"name":{"type":"string","description":"The name of this Linux Web App.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Linux Web App exists.\n"}},"type":"object","required":["name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getLinuxWebApp.\n","properties":{"appMetadata":{"additionalProperties":{"type":"string"},"description":"An \u003cspan pulumi-lang-nodejs=\"`appMetadata`\" pulumi-lang-dotnet=\"`AppMetadata`\" pulumi-lang-go=\"`appMetadata`\" pulumi-lang-python=\"`app_metadata`\" pulumi-lang-yaml=\"`appMetadata`\" pulumi-lang-java=\"`appMetadata`\"\u003e`app_metadata`\u003c/span\u003e block as defined below.\n","type":"object"},"appSettings":{"additionalProperties":{"type":"string"},"description":"An \u003cspan pulumi-lang-nodejs=\"`appSettings`\" pulumi-lang-dotnet=\"`AppSettings`\" pulumi-lang-go=\"`appSettings`\" pulumi-lang-python=\"`app_settings`\" pulumi-lang-yaml=\"`appSettings`\" pulumi-lang-java=\"`appSettings`\"\u003e`app_settings`\u003c/span\u003e block as defined below.\n","type":"object"},"authSettings":{"description":"An \u003cspan pulumi-lang-nodejs=\"`authSettings`\" pulumi-lang-dotnet=\"`AuthSettings`\" pulumi-lang-go=\"`authSettings`\" pulumi-lang-python=\"`auth_settings`\" pulumi-lang-yaml=\"`authSettings`\" pulumi-lang-java=\"`authSettings`\"\u003e`auth_settings`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:appservice/getLinuxWebAppAuthSetting:getLinuxWebAppAuthSetting"},"type":"array"},"authSettingsV2s":{"description":"An \u003cspan pulumi-lang-nodejs=\"`authSettingsV2`\" pulumi-lang-dotnet=\"`AuthSettingsV2`\" pulumi-lang-go=\"`authSettingsV2`\" pulumi-lang-python=\"`auth_settings_v2`\" pulumi-lang-yaml=\"`authSettingsV2`\" pulumi-lang-java=\"`authSettingsV2`\"\u003e`auth_settings_v2`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:appservice/getLinuxWebAppAuthSettingsV2:getLinuxWebAppAuthSettingsV2"},"type":"array"},"availability":{"description":"The current availability state. Possible values are `Normal`, `Limited`, and `DisasterRecoveryMode`.\n","type":"string"},"backups":{"description":"A \u003cspan pulumi-lang-nodejs=\"`backup`\" pulumi-lang-dotnet=\"`Backup`\" pulumi-lang-go=\"`backup`\" pulumi-lang-python=\"`backup`\" pulumi-lang-yaml=\"`backup`\" pulumi-lang-java=\"`backup`\"\u003e`backup`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:appservice/getLinuxWebAppBackup:getLinuxWebAppBackup"},"type":"array"},"clientAffinityEnabled":{"description":"Is Client Affinity enabled?\n","type":"boolean"},"clientCertificateEnabled":{"description":"Are Client Certificates enabled?\n","type":"boolean"},"clientCertificateExclusionPaths":{"description":"Paths to exclude when using client certificates, separated by ;\n","type":"string"},"clientCertificateMode":{"description":"The Client Certificate mode.\n","type":"string"},"connectionStrings":{"description":"A \u003cspan pulumi-lang-nodejs=\"`connectionString`\" pulumi-lang-dotnet=\"`ConnectionString`\" pulumi-lang-go=\"`connectionString`\" pulumi-lang-python=\"`connection_string`\" pulumi-lang-yaml=\"`connectionString`\" pulumi-lang-java=\"`connectionString`\"\u003e`connection_string`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:appservice/getLinuxWebAppConnectionString:getLinuxWebAppConnectionString"},"type":"array"},"customDomainVerificationId":{"description":"The identifier used by App Service to perform domain ownership verification via DNS TXT record.\n","secret":true,"type":"string"},"defaultHostname":{"description":"The default hostname of the Linux Web App.\n","type":"string"},"enabled":{"description":"Is the Backup enabled?\n","type":"boolean"},"ftpPublishBasicAuthenticationEnabled":{"description":"Are the default FTP Basic Authentication publishing credentials enabled.\n","type":"boolean"},"hostingEnvironmentId":{"description":"The ID of the App Service Environment used by App Service.\n","type":"string"},"httpsOnly":{"description":"Should the Linux Web App require HTTPS connections.\n","type":"boolean"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"identities":{"description":"A \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:appservice/getLinuxWebAppIdentity:getLinuxWebAppIdentity"},"type":"array"},"keyVaultReferenceIdentityId":{"type":"string"},"kind":{"description":"The Kind value for this Linux Web App.\n","type":"string"},"location":{"description":"The Azure Region where the Linux Web App exists.\n","type":"string"},"logs":{"description":"A \u003cspan pulumi-lang-nodejs=\"`logs`\" pulumi-lang-dotnet=\"`Logs`\" pulumi-lang-go=\"`logs`\" pulumi-lang-python=\"`logs`\" pulumi-lang-yaml=\"`logs`\" pulumi-lang-java=\"`logs`\"\u003e`logs`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:appservice/getLinuxWebAppLog:getLinuxWebAppLog"},"type":"array"},"name":{"description":"The name of this Storage Account.\n","type":"string"},"outboundIpAddressLists":{"description":"A \u003cspan pulumi-lang-nodejs=\"`outboundIpAddressList`\" pulumi-lang-dotnet=\"`OutboundIpAddressList`\" pulumi-lang-go=\"`outboundIpAddressList`\" pulumi-lang-python=\"`outbound_ip_address_list`\" pulumi-lang-yaml=\"`outboundIpAddressList`\" pulumi-lang-java=\"`outboundIpAddressList`\"\u003e`outbound_ip_address_list`\u003c/span\u003e block as defined below.\n","items":{"type":"string"},"type":"array"},"outboundIpAddresses":{"description":"A comma separated list of outbound IP addresses - such as `52.23.25.3,52.143.43.12`.\n","type":"string"},"possibleOutboundIpAddressLists":{"description":"A \u003cspan pulumi-lang-nodejs=\"`possibleOutboundIpAddressList`\" pulumi-lang-dotnet=\"`PossibleOutboundIpAddressList`\" pulumi-lang-go=\"`possibleOutboundIpAddressList`\" pulumi-lang-python=\"`possible_outbound_ip_address_list`\" pulumi-lang-yaml=\"`possibleOutboundIpAddressList`\" pulumi-lang-java=\"`possibleOutboundIpAddressList`\"\u003e`possible_outbound_ip_address_list`\u003c/span\u003e block as defined below.\n","items":{"type":"string"},"type":"array"},"possibleOutboundIpAddresses":{"description":"A comma separated list of outbound IP addresses - such as `52.23.25.3,52.143.43.12,52.143.43.17` - not all of which are necessarily in use. Superset of \u003cspan pulumi-lang-nodejs=\"`outboundIpAddresses`\" pulumi-lang-dotnet=\"`OutboundIpAddresses`\" pulumi-lang-go=\"`outboundIpAddresses`\" pulumi-lang-python=\"`outbound_ip_addresses`\" pulumi-lang-yaml=\"`outboundIpAddresses`\" pulumi-lang-java=\"`outboundIpAddresses`\"\u003e`outbound_ip_addresses`\u003c/span\u003e.\n","type":"string"},"publicNetworkAccessEnabled":{"description":"Is Public Network Access enabled for this Linux Web App.\n","type":"boolean"},"resourceGroupName":{"type":"string"},"servicePlanId":{"description":"The ID of the Service Plan that this Linux Web App exists in.\n","type":"string"},"siteConfigs":{"description":"A \u003cspan pulumi-lang-nodejs=\"`siteConfig`\" pulumi-lang-dotnet=\"`SiteConfig`\" pulumi-lang-go=\"`siteConfig`\" pulumi-lang-python=\"`site_config`\" pulumi-lang-yaml=\"`siteConfig`\" pulumi-lang-java=\"`siteConfig`\"\u003e`site_config`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:appservice/getLinuxWebAppSiteConfig:getLinuxWebAppSiteConfig"},"type":"array"},"siteCredentials":{"description":"A \u003cspan pulumi-lang-nodejs=\"`siteCredential`\" pulumi-lang-dotnet=\"`SiteCredential`\" pulumi-lang-go=\"`siteCredential`\" pulumi-lang-python=\"`site_credential`\" pulumi-lang-yaml=\"`siteCredential`\" pulumi-lang-java=\"`siteCredential`\"\u003e`site_credential`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:appservice/getLinuxWebAppSiteCredential:getLinuxWebAppSiteCredential"},"secret":true,"type":"array"},"stickySettings":{"description":"A \u003cspan pulumi-lang-nodejs=\"`stickySettings`\" pulumi-lang-dotnet=\"`StickySettings`\" pulumi-lang-go=\"`stickySettings`\" pulumi-lang-python=\"`sticky_settings`\" pulumi-lang-yaml=\"`stickySettings`\" pulumi-lang-java=\"`stickySettings`\"\u003e`sticky_settings`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:appservice/getLinuxWebAppStickySetting:getLinuxWebAppStickySetting"},"type":"array"},"storageAccounts":{"description":"A \u003cspan pulumi-lang-nodejs=\"`storageAccount`\" pulumi-lang-dotnet=\"`StorageAccount`\" pulumi-lang-go=\"`storageAccount`\" pulumi-lang-python=\"`storage_account`\" pulumi-lang-yaml=\"`storageAccount`\" pulumi-lang-java=\"`storageAccount`\"\u003e`storage_account`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:appservice/getLinuxWebAppStorageAccount:getLinuxWebAppStorageAccount"},"type":"array"},"tags":{"additionalProperties":{"type":"string"},"description":"A mapping of tags assigned to the Linux Web App.\n","type":"object"},"usage":{"description":"The current usage state. Possible values are `Normal` and `Exceeded`.\n","type":"string"},"virtualNetworkBackupRestoreEnabled":{"description":"Whether backup and restore operations over the linked virtual network are enabled.\n","type":"boolean"},"virtualNetworkSubnetId":{"description":"The subnet id which the Linux Web App is vNet Integrated with.\n","type":"string"},"webdeployPublishBasicAuthenticationEnabled":{"description":"Are the default WebDeploy Basic Authentication publishing credentials enabled.\n","type":"boolean"}},"required":["appMetadata","appSettings","authSettings","authSettingsV2s","availability","backups","clientAffinityEnabled","clientCertificateEnabled","clientCertificateExclusionPaths","clientCertificateMode","connectionStrings","customDomainVerificationId","defaultHostname","enabled","ftpPublishBasicAuthenticationEnabled","hostingEnvironmentId","httpsOnly","identities","keyVaultReferenceIdentityId","kind","location","logs","name","outboundIpAddressLists","outboundIpAddresses","possibleOutboundIpAddressLists","possibleOutboundIpAddresses","publicNetworkAccessEnabled","resourceGroupName","servicePlanId","siteConfigs","siteCredentials","stickySettings","storageAccounts","tags","usage","virtualNetworkBackupRestoreEnabled","virtualNetworkSubnetId","webdeployPublishBasicAuthenticationEnabled","id"],"type":"object"}},"azure:appservice/getServicePlan:getServicePlan":{"description":"Use this data source to access information about an existing Service Plan.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.appservice.getServicePlan({\n    name: \"existing\",\n    resourceGroupName: \"existing\",\n});\nexport const id = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.appservice.get_service_plan(name=\"existing\",\n    resource_group_name=\"existing\")\npulumi.export(\"id\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.AppService.GetServicePlan.Invoke(new()\n    {\n        Name = \"existing\",\n        ResourceGroupName = \"existing\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"id\"] = example.Apply(getServicePlanResult =\u003e getServicePlanResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/appservice\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := appservice.LookupServicePlan(ctx, \u0026appservice.LookupServicePlanArgs{\n\t\t\tName:              \"existing\",\n\t\t\tResourceGroupName: \"existing\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"id\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.appservice.AppserviceFunctions;\nimport com.pulumi.azure.appservice.inputs.GetServicePlanArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = AppserviceFunctions.getServicePlan(GetServicePlanArgs.builder()\n            .name(\"existing\")\n            .resourceGroupName(\"existing\")\n            .build());\n\n        ctx.export(\"id\", example.id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:appservice:getServicePlan\n      arguments:\n        name: existing\n        resourceGroupName: existing\noutputs:\n  id: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.Web` - 2023-12-01\n","inputs":{"description":"A collection of arguments for invoking getServicePlan.\n","properties":{"name":{"type":"string","description":"The name of this Service Plan.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Service Plan exists.\n"}},"type":"object","required":["name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getServicePlan.\n","properties":{"appServiceEnvironmentId":{"description":"The ID of the App Service Environment this Service Plan is part of.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"kind":{"description":"A string representing the Kind of Service Plan.\n","type":"string"},"location":{"description":"The Azure Region where the Service Plan exists.\n","type":"string"},"maximumElasticWorkerCount":{"description":"The maximum number of workers in use in an Elastic SKU Plan.\n","type":"integer"},"name":{"type":"string"},"osType":{"description":"The O/S type for the App Services hosted in this plan.\n","type":"string"},"perSiteScalingEnabled":{"description":"Is Per Site Scaling be enabled?\n","type":"boolean"},"reserved":{"description":"Whether this is a reserved Service Plan Type. \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e if \u003cspan pulumi-lang-nodejs=\"`osType`\" pulumi-lang-dotnet=\"`OsType`\" pulumi-lang-go=\"`osType`\" pulumi-lang-python=\"`os_type`\" pulumi-lang-yaml=\"`osType`\" pulumi-lang-java=\"`osType`\"\u003e`os_type`\u003c/span\u003e is `Linux`, otherwise \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n","type":"boolean"},"resourceGroupName":{"type":"string"},"skuName":{"description":"The SKU for the Service Plan.\n","type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"A mapping of tags assigned to the Service Plan.\n","type":"object"},"workerCount":{"description":"The number of Workers (instances) allocated.\n","type":"integer"},"zoneBalancingEnabled":{"description":"Is the Service Plan balance across Availability Zones in the region?\n","type":"boolean"}},"required":["appServiceEnvironmentId","kind","location","maximumElasticWorkerCount","name","osType","perSiteScalingEnabled","reserved","resourceGroupName","skuName","tags","workerCount","zoneBalancingEnabled","id"],"type":"object"}},"azure:appservice/getSourceControlToken:getSourceControlToken":{"description":"Use this data source to access information about an existing App Service Source Control Token.\n\n\u003e **Note:** This value can only be queried for the user or service principal that is executing Terraform. It is not possible to retrieve for another user.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.appservice.getSourceControlToken({\n    type: \"GitHub\",\n});\nexport const id = exampleAzurermAppServiceGithubToken.id;\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.appservice.get_source_control_token(type=\"GitHub\")\npulumi.export(\"id\", example_azurerm_app_service_github_token[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.AppService.GetSourceControlToken.Invoke(new()\n    {\n        Type = \"GitHub\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"id\"] = exampleAzurermAppServiceGithubToken.Id,\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/appservice\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := appservice.LookupSourceControlToken(ctx, \u0026appservice.LookupSourceControlTokenArgs{\n\t\t\tType: \"GitHub\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"id\", exampleAzurermAppServiceGithubToken.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.appservice.AppserviceFunctions;\nimport com.pulumi.azure.appservice.inputs.GetSourceControlTokenArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = AppserviceFunctions.getSourceControlToken(GetSourceControlTokenArgs.builder()\n            .type(\"GitHub\")\n            .build());\n\n        ctx.export(\"id\", exampleAzurermAppServiceGithubToken.id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:appservice:getSourceControlToken\n      arguments:\n        type: GitHub\noutputs:\n  id: ${exampleAzurermAppServiceGithubToken.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.Web` - 2023-01-01\n","inputs":{"description":"A collection of arguments for invoking getSourceControlToken.\n","properties":{"type":{"type":"string","description":"The Token type. Possible values include `Bitbucket`, `Dropbox`, `Github`, and `OneDrive`.\n"}},"type":"object","required":["type"]},"outputs":{"description":"A collection of values returned by getSourceControlToken.\n","properties":{"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"token":{"description":"The GitHub Token value.\n","secret":true,"type":"string"},"tokenSecret":{"secret":true,"type":"string"},"type":{"type":"string"}},"required":["token","tokenSecret","type","id"],"type":"object"}},"azure:appservice/getStaticWebApp:getStaticWebApp":{"description":"Use this data source to access information about an existing Static Web App.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.appservice.getStaticWebApp({\n    name: \"existing\",\n    resourceGroupName: \"existing\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.appservice.get_static_web_app(name=\"existing\",\n    resource_group_name=\"existing\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.AppService.GetStaticWebApp.Invoke(new()\n    {\n        Name = \"existing\",\n        ResourceGroupName = \"existing\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/appservice\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := appservice.LookupStaticWebApp(ctx, \u0026appservice.LookupStaticWebAppArgs{\n\t\t\tName:              \"existing\",\n\t\t\tResourceGroupName: \"existing\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.appservice.AppserviceFunctions;\nimport com.pulumi.azure.appservice.inputs.GetStaticWebAppArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = AppserviceFunctions.getStaticWebApp(GetStaticWebAppArgs.builder()\n            .name(\"existing\")\n            .resourceGroupName(\"existing\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:appservice:getStaticWebApp\n      arguments:\n        name: existing\n        resourceGroupName: existing\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.Web` - 2023-01-01\n","inputs":{"description":"A collection of arguments for invoking getStaticWebApp.\n","properties":{"name":{"type":"string","description":"The name of this Static Web App.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Static Web App exists.\n"}},"type":"object","required":["name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getStaticWebApp.\n","properties":{"apiKey":{"description":"The API key of this Static Web App, which is used for later interacting with this Static Web App from other clients, e.g. GitHub Action.\n","secret":true,"type":"string"},"appSettings":{"additionalProperties":{"type":"string"},"description":"The map of key-value pairs of App Settings for the Static Web App.\n","type":"object"},"basicAuths":{"description":"A \u003cspan pulumi-lang-nodejs=\"`basicAuth`\" pulumi-lang-dotnet=\"`BasicAuth`\" pulumi-lang-go=\"`basicAuth`\" pulumi-lang-python=\"`basic_auth`\" pulumi-lang-yaml=\"`basicAuth`\" pulumi-lang-java=\"`basicAuth`\"\u003e`basic_auth`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:appservice/getStaticWebAppBasicAuth:getStaticWebAppBasicAuth"},"secret":true,"type":"array"},"configurationFileChangesEnabled":{"description":"Are changes to the configuration file permitted.\n","type":"boolean"},"defaultHostName":{"description":"The default host name of the Static Web App.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"identities":{"description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:appservice/getStaticWebAppIdentity:getStaticWebAppIdentity"},"type":"array"},"location":{"description":"The Azure region in which this Static Web App exists.\n","type":"string"},"name":{"type":"string"},"previewEnvironmentsEnabled":{"description":"Are Preview (Staging) environments enabled.\n","type":"boolean"},"publicNetworkAccessEnabled":{"description":"Should public network access be enabled for the Static Web App.\n","type":"boolean"},"repositoryBranch":{"description":"Repository branch of the Static Web App.\n","type":"string"},"repositoryUrl":{"description":"Repository URL of the Static Web App.\n","type":"string"},"resourceGroupName":{"type":"string"},"skuSize":{"description":"The SKU size of the Static Web App.\n","type":"string"},"skuTier":{"description":"The SKU tier of the Static Web App.\n","type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"The mapping of tags assigned to the resource.\n","type":"object"}},"required":["apiKey","appSettings","basicAuths","configurationFileChangesEnabled","defaultHostName","identities","location","name","previewEnvironmentsEnabled","publicNetworkAccessEnabled","repositoryBranch","repositoryUrl","resourceGroupName","skuSize","skuTier","tags","id"],"type":"object"}},"azure:appservice/getWindowsFunctionApp:getWindowsFunctionApp":{"description":"Use this data source to access information about an existing Windows Function App.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.appservice.getWindowsFunctionApp({\n    name: \"existing\",\n    resourceGroupName: \"existing\",\n});\nexport const id = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.appservice.get_windows_function_app(name=\"existing\",\n    resource_group_name=\"existing\")\npulumi.export(\"id\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.AppService.GetWindowsFunctionApp.Invoke(new()\n    {\n        Name = \"existing\",\n        ResourceGroupName = \"existing\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"id\"] = example.Apply(getWindowsFunctionAppResult =\u003e getWindowsFunctionAppResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/appservice\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := appservice.LookupWindowsFunctionApp(ctx, \u0026appservice.LookupWindowsFunctionAppArgs{\n\t\t\tName:              \"existing\",\n\t\t\tResourceGroupName: \"existing\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"id\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.appservice.AppserviceFunctions;\nimport com.pulumi.azure.appservice.inputs.GetWindowsFunctionAppArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = AppserviceFunctions.getWindowsFunctionApp(GetWindowsFunctionAppArgs.builder()\n            .name(\"existing\")\n            .resourceGroupName(\"existing\")\n            .build());\n\n        ctx.export(\"id\", example.id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:appservice:getWindowsFunctionApp\n      arguments:\n        name: existing\n        resourceGroupName: existing\noutputs:\n  id: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.Web` - 2023-12-01\n","inputs":{"description":"A collection of arguments for invoking getWindowsFunctionApp.\n","properties":{"name":{"type":"string","description":"The name of this Windows Function App.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Windows Function App exists.\n"}},"type":"object","required":["name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getWindowsFunctionApp.\n","properties":{"appSettings":{"additionalProperties":{"type":"string"},"description":"A `map of key-value pairs for App Settings and custom values.\n","type":"object"},"authSettings":{"description":"A \u003cspan pulumi-lang-nodejs=\"`authSettings`\" pulumi-lang-dotnet=\"`AuthSettings`\" pulumi-lang-go=\"`authSettings`\" pulumi-lang-python=\"`auth_settings`\" pulumi-lang-yaml=\"`authSettings`\" pulumi-lang-java=\"`authSettings`\"\u003e`auth_settings`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:appservice/getWindowsFunctionAppAuthSetting:getWindowsFunctionAppAuthSetting"},"type":"array"},"authSettingsV2s":{"description":"A \u003cspan pulumi-lang-nodejs=\"`authSettingsV2`\" pulumi-lang-dotnet=\"`AuthSettingsV2`\" pulumi-lang-go=\"`authSettingsV2`\" pulumi-lang-python=\"`auth_settings_v2`\" pulumi-lang-yaml=\"`authSettingsV2`\" pulumi-lang-java=\"`authSettingsV2`\"\u003e`auth_settings_v2`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:appservice/getWindowsFunctionAppAuthSettingsV2:getWindowsFunctionAppAuthSettingsV2"},"type":"array"},"backups":{"description":"A \u003cspan pulumi-lang-nodejs=\"`backup`\" pulumi-lang-dotnet=\"`Backup`\" pulumi-lang-go=\"`backup`\" pulumi-lang-python=\"`backup`\" pulumi-lang-yaml=\"`backup`\" pulumi-lang-java=\"`backup`\"\u003e`backup`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:appservice/getWindowsFunctionAppBackup:getWindowsFunctionAppBackup"},"type":"array"},"builtinLoggingEnabled":{"description":"Is the built-in logging enabled?\n","type":"boolean"},"clientCertificateEnabled":{"description":"Is the use of Client Certificates enabled?\n","type":"boolean"},"clientCertificateExclusionPaths":{"description":"Paths to exclude when using client certificates, separated by ;\n","type":"string"},"clientCertificateMode":{"description":"The mode of the Function App's client certificates requirement for incoming requests.\n","type":"string"},"connectionStrings":{"description":"One or more \u003cspan pulumi-lang-nodejs=\"`connectionString`\" pulumi-lang-dotnet=\"`ConnectionString`\" pulumi-lang-go=\"`connectionString`\" pulumi-lang-python=\"`connection_string`\" pulumi-lang-yaml=\"`connectionString`\" pulumi-lang-java=\"`connectionString`\"\u003e`connection_string`\u003c/span\u003e blocks as defined below.\n","items":{"$ref":"#/types/azure:appservice/getWindowsFunctionAppConnectionString:getWindowsFunctionAppConnectionString"},"type":"array"},"contentShareForceDisabled":{"description":"Are Content Share Settings disabled?\n","type":"boolean"},"customDomainVerificationId":{"description":"The identifier used by App Service to perform domain ownership verification via DNS TXT record.\n","secret":true,"type":"string"},"dailyMemoryTimeQuota":{"description":"The amount of memory in gigabyte-seconds that your application is allowed to consume per day.\n","type":"integer"},"defaultHostname":{"description":"The default hostname of the Windows Function App.\n","type":"string"},"enabled":{"description":"Is the Backup Job enabled?\n","type":"boolean"},"ftpPublishBasicAuthenticationEnabled":{"description":"Are the default FTP Basic Authentication publishing credentials enabled.\n","type":"boolean"},"functionsExtensionVersion":{"description":"The runtime version associated with the Function App.\n","type":"string"},"hostingEnvironmentId":{"description":"The ID of the App Service Environment used by Function App.\n","type":"string"},"httpsOnly":{"description":"Is the Function App only accessible via HTTPS?\n","type":"boolean"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"identities":{"description":"A \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:appservice/getWindowsFunctionAppIdentity:getWindowsFunctionAppIdentity"},"type":"array"},"kind":{"description":"The Kind value for this Windows Function App.\n","type":"string"},"location":{"description":"The Azure Region where the Windows Function App exists.\n","type":"string"},"name":{"description":"The Site Credentials Username used for publishing.\n","type":"string"},"outboundIpAddressLists":{"description":"A list of outbound IP addresses. For example `[\"52.23.25.3\", \"52.143.43.12\"]`\n","items":{"type":"string"},"type":"array"},"outboundIpAddresses":{"description":"A comma separated list of outbound IP addresses as a string. For example `52.23.25.3,52.143.43.12`.\n","type":"string"},"possibleOutboundIpAddressLists":{"description":"A list of possible outbound IP addresses, not all of which are necessarily in use. This is a superset of \u003cspan pulumi-lang-nodejs=\"`outboundIpAddressList`\" pulumi-lang-dotnet=\"`OutboundIpAddressList`\" pulumi-lang-go=\"`outboundIpAddressList`\" pulumi-lang-python=\"`outbound_ip_address_list`\" pulumi-lang-yaml=\"`outboundIpAddressList`\" pulumi-lang-java=\"`outboundIpAddressList`\"\u003e`outbound_ip_address_list`\u003c/span\u003e. For example `[\"52.23.25.3\", \"52.143.43.12\"]`.\n","items":{"type":"string"},"type":"array"},"possibleOutboundIpAddresses":{"description":"A comma separated list of possible outbound IP addresses as a string. For example `52.23.25.3,52.143.43.12,52.143.43.17`. This is a superset of \u003cspan pulumi-lang-nodejs=\"`outboundIpAddresses`\" pulumi-lang-dotnet=\"`OutboundIpAddresses`\" pulumi-lang-go=\"`outboundIpAddresses`\" pulumi-lang-python=\"`outbound_ip_addresses`\" pulumi-lang-yaml=\"`outboundIpAddresses`\" pulumi-lang-java=\"`outboundIpAddresses`\"\u003e`outbound_ip_addresses`\u003c/span\u003e.\n","type":"string"},"publicNetworkAccessEnabled":{"description":"Is Public Network Access enabled for the Windows Function App.\n","type":"boolean"},"resourceGroupName":{"type":"string"},"servicePlanId":{"description":"The ID of the App Service Plan.\n","type":"string"},"siteConfigs":{"description":"A \u003cspan pulumi-lang-nodejs=\"`siteConfig`\" pulumi-lang-dotnet=\"`SiteConfig`\" pulumi-lang-go=\"`siteConfig`\" pulumi-lang-python=\"`site_config`\" pulumi-lang-yaml=\"`siteConfig`\" pulumi-lang-java=\"`siteConfig`\"\u003e`site_config`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:appservice/getWindowsFunctionAppSiteConfig:getWindowsFunctionAppSiteConfig"},"type":"array"},"siteCredentials":{"description":"A \u003cspan pulumi-lang-nodejs=\"`siteCredential`\" pulumi-lang-dotnet=\"`SiteCredential`\" pulumi-lang-go=\"`siteCredential`\" pulumi-lang-python=\"`site_credential`\" pulumi-lang-yaml=\"`siteCredential`\" pulumi-lang-java=\"`siteCredential`\"\u003e`site_credential`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:appservice/getWindowsFunctionAppSiteCredential:getWindowsFunctionAppSiteCredential"},"secret":true,"type":"array"},"stickySettings":{"description":"A \u003cspan pulumi-lang-nodejs=\"`stickySettings`\" pulumi-lang-dotnet=\"`StickySettings`\" pulumi-lang-go=\"`stickySettings`\" pulumi-lang-python=\"`sticky_settings`\" pulumi-lang-yaml=\"`stickySettings`\" pulumi-lang-java=\"`stickySettings`\"\u003e`sticky_settings`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:appservice/getWindowsFunctionAppStickySetting:getWindowsFunctionAppStickySetting"},"type":"array"},"storageAccountAccessKey":{"description":"The access key which is used to access the backend storage account for the Function App.\n","type":"string"},"storageAccountName":{"description":"The backend storage account name which is used by this Function App.\n","type":"string"},"storageKeyVaultSecretId":{"description":"The Key Vault Secret ID, including version, that contains the Connection String used to connect to the storage account for this Function App.\n","type":"string"},"storageUsesManagedIdentity":{"description":"Is the Function App using a Managed Identity to access the storage account?\n","type":"boolean"},"tags":{"additionalProperties":{"type":"string"},"description":"A mapping of tags assigned to the Windows Function App.\n","type":"object"},"virtualNetworkBackupRestoreEnabled":{"description":"Whether backup and restore operations over the linked virtual network are enabled.\n","type":"boolean"},"virtualNetworkSubnetId":{"description":"The subnet id which the Windows Function App is vNet Integrated with.\n","type":"string"},"webdeployPublishBasicAuthenticationEnabled":{"description":"Are the default WebDeploy Basic Authentication publishing credentials enabled.\n","type":"boolean"}},"required":["appSettings","authSettings","authSettingsV2s","backups","builtinLoggingEnabled","clientCertificateEnabled","clientCertificateExclusionPaths","clientCertificateMode","connectionStrings","contentShareForceDisabled","customDomainVerificationId","dailyMemoryTimeQuota","defaultHostname","enabled","ftpPublishBasicAuthenticationEnabled","functionsExtensionVersion","hostingEnvironmentId","httpsOnly","identities","kind","location","name","outboundIpAddressLists","outboundIpAddresses","possibleOutboundIpAddressLists","possibleOutboundIpAddresses","publicNetworkAccessEnabled","resourceGroupName","servicePlanId","siteConfigs","siteCredentials","stickySettings","storageAccountAccessKey","storageAccountName","storageKeyVaultSecretId","storageUsesManagedIdentity","tags","virtualNetworkBackupRestoreEnabled","virtualNetworkSubnetId","webdeployPublishBasicAuthenticationEnabled","id"],"type":"object"}},"azure:appservice/getWindowsWebApp:getWindowsWebApp":{"description":"Use this data source to access information about an existing Windows Web App.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.appservice.getWindowsWebApp({\n    name: \"existing\",\n    resourceGroupName: \"existing\",\n});\nexport const id = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.appservice.get_windows_web_app(name=\"existing\",\n    resource_group_name=\"existing\")\npulumi.export(\"id\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.AppService.GetWindowsWebApp.Invoke(new()\n    {\n        Name = \"existing\",\n        ResourceGroupName = \"existing\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"id\"] = example.Apply(getWindowsWebAppResult =\u003e getWindowsWebAppResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/appservice\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := appservice.LookupWindowsWebApp(ctx, \u0026appservice.LookupWindowsWebAppArgs{\n\t\t\tName:              \"existing\",\n\t\t\tResourceGroupName: \"existing\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"id\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.appservice.AppserviceFunctions;\nimport com.pulumi.azure.appservice.inputs.GetWindowsWebAppArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = AppserviceFunctions.getWindowsWebApp(GetWindowsWebAppArgs.builder()\n            .name(\"existing\")\n            .resourceGroupName(\"existing\")\n            .build());\n\n        ctx.export(\"id\", example.id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:appservice:getWindowsWebApp\n      arguments:\n        name: existing\n        resourceGroupName: existing\noutputs:\n  id: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.Web` - 2023-12-01\n","inputs":{"description":"A collection of arguments for invoking getWindowsWebApp.\n","properties":{"name":{"type":"string","description":"The name of this Windows Web App.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Windows Web App exists.\n"}},"type":"object","required":["name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getWindowsWebApp.\n","properties":{"appSettings":{"additionalProperties":{"type":"string"},"description":"A map of key-value pairs of App Settings.\n","type":"object"},"authSettings":{"description":"A \u003cspan pulumi-lang-nodejs=\"`authSettings`\" pulumi-lang-dotnet=\"`AuthSettings`\" pulumi-lang-go=\"`authSettings`\" pulumi-lang-python=\"`auth_settings`\" pulumi-lang-yaml=\"`authSettings`\" pulumi-lang-java=\"`authSettings`\"\u003e`auth_settings`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:appservice/getWindowsWebAppAuthSetting:getWindowsWebAppAuthSetting"},"type":"array"},"authSettingsV2s":{"description":"An \u003cspan pulumi-lang-nodejs=\"`authSettingsV2`\" pulumi-lang-dotnet=\"`AuthSettingsV2`\" pulumi-lang-go=\"`authSettingsV2`\" pulumi-lang-python=\"`auth_settings_v2`\" pulumi-lang-yaml=\"`authSettingsV2`\" pulumi-lang-java=\"`authSettingsV2`\"\u003e`auth_settings_v2`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:appservice/getWindowsWebAppAuthSettingsV2:getWindowsWebAppAuthSettingsV2"},"type":"array"},"backups":{"description":"A \u003cspan pulumi-lang-nodejs=\"`backup`\" pulumi-lang-dotnet=\"`Backup`\" pulumi-lang-go=\"`backup`\" pulumi-lang-python=\"`backup`\" pulumi-lang-yaml=\"`backup`\" pulumi-lang-java=\"`backup`\"\u003e`backup`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:appservice/getWindowsWebAppBackup:getWindowsWebAppBackup"},"type":"array"},"clientAffinityEnabled":{"description":"Is Client Affinity enabled?\n","type":"boolean"},"clientCertificateEnabled":{"description":"Are Client Certificates enabled?\n","type":"boolean"},"clientCertificateExclusionPaths":{"description":"Paths to exclude when using client certificates, separated by ;\n","type":"string"},"clientCertificateMode":{"description":"The Client Certificate mode.\n","type":"string"},"connectionStrings":{"description":"A \u003cspan pulumi-lang-nodejs=\"`connectionString`\" pulumi-lang-dotnet=\"`ConnectionString`\" pulumi-lang-go=\"`connectionString`\" pulumi-lang-python=\"`connection_string`\" pulumi-lang-yaml=\"`connectionString`\" pulumi-lang-java=\"`connectionString`\"\u003e`connection_string`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:appservice/getWindowsWebAppConnectionString:getWindowsWebAppConnectionString"},"type":"array"},"customDomainVerificationId":{"description":"The identifier used by App Service to perform domain ownership verification via DNS TXT record.\n","secret":true,"type":"string"},"defaultHostname":{"description":"The Default Hostname of the Windows Web App.\n","type":"string"},"enabled":{"description":"Is the Backup enabled?\n","type":"boolean"},"ftpPublishBasicAuthenticationEnabled":{"description":"Are the default FTP Basic Authentication publishing credentials enabled.\n","type":"boolean"},"hostingEnvironmentId":{"description":"The ID of the App Service Environment used by App Service.\n","type":"string"},"httpsOnly":{"description":"Does the Windows Web App require HTTPS connections.\n","type":"boolean"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"identities":{"description":"A \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:appservice/getWindowsWebAppIdentity:getWindowsWebAppIdentity"},"type":"array"},"kind":{"description":"The string representation of the Windows Web App Kind.\n","type":"string"},"location":{"description":"The Azure Region where the Windows Web App exists.\n","type":"string"},"logs":{"description":"A \u003cspan pulumi-lang-nodejs=\"`logs`\" pulumi-lang-dotnet=\"`Logs`\" pulumi-lang-go=\"`logs`\" pulumi-lang-python=\"`logs`\" pulumi-lang-yaml=\"`logs`\" pulumi-lang-java=\"`logs`\"\u003e`logs`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:appservice/getWindowsWebAppLog:getWindowsWebAppLog"},"type":"array"},"name":{"description":"The name of this Storage Account.\n","type":"string"},"outboundIpAddressLists":{"description":"The list of Outbound IP Addresses for this Windows Web App.\n","items":{"type":"string"},"type":"array"},"outboundIpAddresses":{"description":"A string representation of the list of Outbound IP Addresses for this Windows Web App.\n","type":"string"},"possibleOutboundIpAddressLists":{"description":"The list of Possible Outbound IP Addresses that could be used by this Windows Web App.\n","items":{"type":"string"},"type":"array"},"possibleOutboundIpAddresses":{"description":"The string representation of the list of Possible Outbound IP Addresses that could be used by this Windows Web App.\n","type":"string"},"publicNetworkAccessEnabled":{"description":"Is Public Network Access enabled for the Windows Web App.\n","type":"boolean"},"resourceGroupName":{"type":"string"},"servicePlanId":{"description":"The ID of the Service Plan in which this Windows Web App resides.\n","type":"string"},"siteConfigs":{"description":"A \u003cspan pulumi-lang-nodejs=\"`siteConfig`\" pulumi-lang-dotnet=\"`SiteConfig`\" pulumi-lang-go=\"`siteConfig`\" pulumi-lang-python=\"`site_config`\" pulumi-lang-yaml=\"`siteConfig`\" pulumi-lang-java=\"`siteConfig`\"\u003e`site_config`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:appservice/getWindowsWebAppSiteConfig:getWindowsWebAppSiteConfig"},"type":"array"},"siteCredentials":{"description":"A \u003cspan pulumi-lang-nodejs=\"`siteCredential`\" pulumi-lang-dotnet=\"`SiteCredential`\" pulumi-lang-go=\"`siteCredential`\" pulumi-lang-python=\"`site_credential`\" pulumi-lang-yaml=\"`siteCredential`\" pulumi-lang-java=\"`siteCredential`\"\u003e`site_credential`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:appservice/getWindowsWebAppSiteCredential:getWindowsWebAppSiteCredential"},"secret":true,"type":"array"},"stickySettings":{"description":"A \u003cspan pulumi-lang-nodejs=\"`stickySettings`\" pulumi-lang-dotnet=\"`StickySettings`\" pulumi-lang-go=\"`stickySettings`\" pulumi-lang-python=\"`sticky_settings`\" pulumi-lang-yaml=\"`stickySettings`\" pulumi-lang-java=\"`stickySettings`\"\u003e`sticky_settings`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:appservice/getWindowsWebAppStickySetting:getWindowsWebAppStickySetting"},"type":"array"},"storageAccounts":{"description":"A \u003cspan pulumi-lang-nodejs=\"`storageAccount`\" pulumi-lang-dotnet=\"`StorageAccount`\" pulumi-lang-go=\"`storageAccount`\" pulumi-lang-python=\"`storage_account`\" pulumi-lang-yaml=\"`storageAccount`\" pulumi-lang-java=\"`storageAccount`\"\u003e`storage_account`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:appservice/getWindowsWebAppStorageAccount:getWindowsWebAppStorageAccount"},"type":"array"},"tags":{"additionalProperties":{"type":"string"},"description":"A mapping of tags assigned to the Windows Web App.\n","type":"object"},"virtualNetworkBackupRestoreEnabled":{"type":"boolean"},"virtualNetworkSubnetId":{"description":"The subnet id which the Windows Web App is vNet Integrated with.\n","type":"string"},"webdeployPublishBasicAuthenticationEnabled":{"description":"Are the default WebDeploy Basic Authentication publishing credentials enabled.\n","type":"boolean"}},"required":["appSettings","authSettings","authSettingsV2s","backups","clientAffinityEnabled","clientCertificateEnabled","clientCertificateExclusionPaths","clientCertificateMode","connectionStrings","customDomainVerificationId","defaultHostname","enabled","ftpPublishBasicAuthenticationEnabled","hostingEnvironmentId","httpsOnly","identities","kind","location","logs","name","outboundIpAddressLists","outboundIpAddresses","possibleOutboundIpAddressLists","possibleOutboundIpAddresses","publicNetworkAccessEnabled","resourceGroupName","servicePlanId","siteConfigs","siteCredentials","stickySettings","storageAccounts","tags","virtualNetworkBackupRestoreEnabled","virtualNetworkSubnetId","webdeployPublishBasicAuthenticationEnabled","id"],"type":"object"}},"azure:arc/getResourceBridgeAppliance:getResourceBridgeAppliance":{"description":"Use this data source to access information about an existing Arc Resource Bridge Appliance.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.arc.getResourceBridgeAppliance({\n    name: \"existing\",\n    resourceGroupName: \"existing\",\n});\nexport const id = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.arc.get_resource_bridge_appliance(name=\"existing\",\n    resource_group_name=\"existing\")\npulumi.export(\"id\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Arc.GetResourceBridgeAppliance.Invoke(new()\n    {\n        Name = \"existing\",\n        ResourceGroupName = \"existing\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"id\"] = example.Apply(getResourceBridgeApplianceResult =\u003e getResourceBridgeApplianceResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/arc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := arc.LookupResourceBridgeAppliance(ctx, \u0026arc.LookupResourceBridgeApplianceArgs{\n\t\t\tName:              \"existing\",\n\t\t\tResourceGroupName: \"existing\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"id\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.arc.ArcFunctions;\nimport com.pulumi.azure.arc.inputs.GetResourceBridgeApplianceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = ArcFunctions.getResourceBridgeAppliance(GetResourceBridgeApplianceArgs.builder()\n            .name(\"existing\")\n            .resourceGroupName(\"existing\")\n            .build());\n\n        ctx.export(\"id\", example.id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:arc:getResourceBridgeAppliance\n      arguments:\n        name: existing\n        resourceGroupName: existing\noutputs:\n  id: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.ResourceConnector` - 2022-10-27\n","inputs":{"description":"A collection of arguments for invoking getResourceBridgeAppliance.\n","properties":{"name":{"type":"string","description":"The name of this Arc Resource Bridge Appliance.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Arc Resource Bridge Appliance exists.\n"}},"type":"object","required":["name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getResourceBridgeAppliance.\n","properties":{"distro":{"description":"Fabric/Infrastructure for this Arc Resource Bridge Appliance.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"identities":{"description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:arc/getResourceBridgeApplianceIdentity:getResourceBridgeApplianceIdentity"},"type":"array"},"infrastructureProvider":{"description":"The infrastructure provider about the connected Arc Resource Bridge Appliance.\n","type":"string"},"location":{"description":"The Azure Region where the Arc Resource Bridge Appliance exists.\n","type":"string"},"name":{"type":"string"},"publicKeyBase64":{"description":"RSA public key in PKCS1 format encoded in base64.\n","type":"string"},"resourceGroupName":{"type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"A mapping of tags assigned to the Arc Resource Bridge Appliance.\n","type":"object"}},"required":["distro","identities","infrastructureProvider","location","name","publicKeyBase64","resourceGroupName","tags","id"],"type":"object"}},"azure:arcmachine/get:get":{"description":"Use this data source to access information about an existing Azure Arc machine.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.arcmachine.get({\n    name: \"existing-hcmachine\",\n    resourceGroupName: \"existing-rg\",\n});\nexport const id = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.arcmachine.get(name=\"existing-hcmachine\",\n    resource_group_name=\"existing-rg\")\npulumi.export(\"id\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.ArcMachine.Get.Invoke(new()\n    {\n        Name = \"existing-hcmachine\",\n        ResourceGroupName = \"existing-rg\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"id\"] = example.Apply(getResult =\u003e getResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/arcmachine\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := arcmachine.Get(ctx, \u0026arcmachine.GetArgs{\n\t\t\tName:              \"existing-hcmachine\",\n\t\t\tResourceGroupName: \"existing-rg\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"id\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.arcmachine.ArcmachineFunctions;\nimport com.pulumi.azure.arcmachine.inputs.GetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = ArcmachineFunctions.get(GetArgs.builder()\n            .name(\"existing-hcmachine\")\n            .resourceGroupName(\"existing-rg\")\n            .build());\n\n        ctx.export(\"id\", example.id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:arcmachine:get\n      arguments:\n        name: existing-hcmachine\n        resourceGroupName: existing-rg\noutputs:\n  id: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.HybridCompute` - 2022-11-10\n","inputs":{"description":"A collection of arguments for invoking get.\n","properties":{"name":{"type":"string","description":"The name of this Azure Arc machine.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Hybrid Compute exists.\n"}},"type":"object","required":["name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by get.\n","properties":{"activeDirectoryFqdn":{"description":"Specifies the AD fully qualified display name.\n","type":"string"},"agentVersion":{"description":"The Azure Arc machine agent full version.\n","type":"string"},"agents":{"description":"A \u003cspan pulumi-lang-nodejs=\"`agent`\" pulumi-lang-dotnet=\"`Agent`\" pulumi-lang-go=\"`agent`\" pulumi-lang-python=\"`agent`\" pulumi-lang-yaml=\"`agent`\" pulumi-lang-java=\"`agent`\"\u003e`agent`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:arcmachine/getAgent:getAgent"},"type":"array"},"clientPublicKey":{"description":"Public Key that the client provides to be used during initial resource onboarding.\n","type":"string"},"cloudMetadatas":{"description":"A \u003cspan pulumi-lang-nodejs=\"`cloudMetadata`\" pulumi-lang-dotnet=\"`CloudMetadata`\" pulumi-lang-go=\"`cloudMetadata`\" pulumi-lang-python=\"`cloud_metadata`\" pulumi-lang-yaml=\"`cloudMetadata`\" pulumi-lang-java=\"`cloudMetadata`\"\u003e`cloud_metadata`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:arcmachine/getCloudMetadata:getCloudMetadata"},"type":"array"},"detectedProperties":{"additionalProperties":{"type":"string"},"description":"A \u003cspan pulumi-lang-nodejs=\"`detectedProperties`\" pulumi-lang-dotnet=\"`DetectedProperties`\" pulumi-lang-go=\"`detectedProperties`\" pulumi-lang-python=\"`detected_properties`\" pulumi-lang-yaml=\"`detectedProperties`\" pulumi-lang-java=\"`detectedProperties`\"\u003e`detected_properties`\u003c/span\u003e block as defined below.\n","type":"object"},"displayName":{"description":"Specifies the Azure Arc machine display name.\n","type":"string"},"dnsFqdn":{"description":"Specifies the DNS fully qualified display name.\n","type":"string"},"domainName":{"description":"Specifies the Windows domain name.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"identities":{"description":"A \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:arcmachine/getIdentity:getIdentity"},"type":"array"},"lastStatusChangeTime":{"description":"The time of the last status change.\n","type":"string"},"location":{"description":"The Azure Region where the Azure Arc machine exists.\n","type":"string"},"locationDatas":{"description":"A \u003cspan pulumi-lang-nodejs=\"`locationData`\" pulumi-lang-dotnet=\"`LocationData`\" pulumi-lang-go=\"`locationData`\" pulumi-lang-python=\"`location_data`\" pulumi-lang-yaml=\"`locationData`\" pulumi-lang-java=\"`locationData`\"\u003e`location_data`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:arcmachine/getLocationData:getLocationData"},"type":"array"},"machineFqdn":{"description":"Specifies the Azure Arc machine fully qualified display name.\n","type":"string"},"mssqlDiscovered":{"description":"Specifies whether any MS SQL instance is discovered on the machine.\n","type":"boolean"},"name":{"description":"A canonical name for the geographic or physical location.\n","type":"string"},"osName":{"description":"The Operating System running on the Azure Arc machine.\n","type":"string"},"osProfiles":{"description":"A \u003cspan pulumi-lang-nodejs=\"`osProfile`\" pulumi-lang-dotnet=\"`OsProfile`\" pulumi-lang-go=\"`osProfile`\" pulumi-lang-python=\"`os_profile`\" pulumi-lang-yaml=\"`osProfile`\" pulumi-lang-java=\"`osProfile`\"\u003e`os_profile`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:arcmachine/getOsProfile:getOsProfile"},"type":"array"},"osSku":{"description":"Specifies the Operating System product SKU.\n","type":"string"},"osType":{"description":"The type of Operating System. Possible values are \u003cspan pulumi-lang-nodejs=\"`windows`\" pulumi-lang-dotnet=\"`Windows`\" pulumi-lang-go=\"`windows`\" pulumi-lang-python=\"`windows`\" pulumi-lang-yaml=\"`windows`\" pulumi-lang-java=\"`windows`\"\u003e`windows`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`linux`\" pulumi-lang-dotnet=\"`Linux`\" pulumi-lang-go=\"`linux`\" pulumi-lang-python=\"`linux`\" pulumi-lang-yaml=\"`linux`\" pulumi-lang-java=\"`linux`\"\u003e`linux`\u003c/span\u003e.\n","type":"string"},"osVersion":{"description":"The version of Operating System running on the Azure Arc machine.\n","type":"string"},"parentClusterResourceId":{"description":"The resource id of the parent cluster (Azure HCI) this machine is assigned to, if any.\n","type":"string"},"privateLinkScopeResourceId":{"description":"The resource id of the parent cluster (Azure HCI) this machine is assigned to, if any.\n","type":"string"},"resourceGroupName":{"type":"string"},"serviceStatuses":{"description":"A \u003cspan pulumi-lang-nodejs=\"`serviceStatus`\" pulumi-lang-dotnet=\"`ServiceStatus`\" pulumi-lang-go=\"`serviceStatus`\" pulumi-lang-python=\"`service_status`\" pulumi-lang-yaml=\"`serviceStatus`\" pulumi-lang-java=\"`serviceStatus`\"\u003e`service_status`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:arcmachine/getServiceStatus:getServiceStatus"},"type":"array"},"status":{"description":"The current status of the service.\n","type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"A mapping of tags assigned to the Hybrid Compute.\n","type":"object"},"vmId":{"description":"Specifies the Azure Arc machine unique ID.\n","type":"string"},"vmUuid":{"description":"Specifies the Arc Machine's unique SMBIOS ID.\n","type":"string"}},"required":["activeDirectoryFqdn","agents","agentVersion","clientPublicKey","cloudMetadatas","detectedProperties","displayName","dnsFqdn","domainName","identities","lastStatusChangeTime","location","locationDatas","machineFqdn","mssqlDiscovered","name","osName","osProfiles","osSku","osType","osVersion","parentClusterResourceId","privateLinkScopeResourceId","resourceGroupName","serviceStatuses","status","tags","vmId","vmUuid","id"],"type":"object"}},"azure:attestation/getProvider:getProvider":{"description":"Use this data source to access information about an existing Attestation Provider.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azurerm from \"@pulumi/azurerm\";\n\nconst example = azurerm.index.Attestation({\n    name: \"example-attestationprovider\",\n    resourceGroupName: \"example-resource-group\",\n});\nexport const id = example.id;\n```\n```python\nimport pulumi\nimport pulumi_azurerm as azurerm\n\nexample = azurerm.index.attestation(name=\"example-attestationprovider\",\n    resource_group_name=\"example-resource-group\")\npulumi.export(\"id\", example[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azurerm = Pulumi.Azurerm;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azurerm.Index.Attestation.Invoke(new()\n    {\n        Name = \"example-attestationprovider\",\n        ResourceGroupName = \"example-resource-group\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"id\"] = example.Id,\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azurerm/sdk/go/azurerm\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := azurerm.Attestation(ctx, map[string]interface{}{\n\t\t\t\"name\":              \"example-attestationprovider\",\n\t\t\t\"resourceGroupName\": \"example-resource-group\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"id\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azurerm.AzurermFunctions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = AzurermFunctions.Attestation(Map.ofEntries(\n            Map.entry(\"name\", \"example-attestationprovider\"),\n            Map.entry(\"resourceGroupName\", \"example-resource-group\")\n        ));\n\n        ctx.export(\"id\", example.id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azurerm:Attestation\n      arguments:\n        name: example-attestationprovider\n        resourceGroupName: example-resource-group\noutputs:\n  id: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.Attestation` - 2020-10-01\n","inputs":{"description":"A collection of arguments for invoking getProvider.\n","properties":{"name":{"type":"string","description":"The name of this Attestation Provider.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Attestation Provider exists.\n"}},"type":"object","required":["name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getProvider.\n","properties":{"attestationUri":{"description":"The (Endpoint|URI) of the Attestation Service.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"location":{"description":"The Azure Region where the Attestation Provider exists.\n","type":"string"},"name":{"type":"string"},"resourceGroupName":{"type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"A mapping of tags assigned to the Attestation Provider.\n","type":"object"},"trustModel":{"description":"Trust model used for the Attestation Service.\n","type":"string"}},"required":["attestationUri","location","name","resourceGroupName","tags","trustModel","id"],"type":"object"}},"azure:authorization/getRoleDefinition:getRoleDefinition":{"description":"Use this data source to access information about an existing Role Definition.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst primary = azure.core.getSubscription({});\nconst customRoleDefinition = new azure.authorization.RoleDefinition(\"custom\", {\n    roleDefinitionId: \"00000000-0000-0000-0000-000000000000\",\n    name: \"CustomRoleDef\",\n    scope: primary.then(primary =\u003e primary.id),\n});\nconst custom = pulumi.all([customRoleDefinition.roleDefinitionId, primary]).apply(([roleDefinitionId, primary]) =\u003e azure.authorization.getRoleDefinitionOutput({\n    roleDefinitionId: roleDefinitionId,\n    scope: primary.id,\n}));\nconst custom_byname = pulumi.all([customRoleDefinition.name, primary]).apply(([name, primary]) =\u003e azure.authorization.getRoleDefinitionOutput({\n    name: name,\n    scope: primary.id,\n}));\nconst builtin = azure.authorization.getRoleDefinition({\n    name: \"Contributor\",\n});\nexport const customRoleDefinitionId = custom.apply(custom =\u003e custom.id);\nexport const contributorRoleDefinitionId = builtin.then(builtin =\u003e builtin.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nprimary = azure.core.get_subscription()\ncustom_role_definition = azure.authorization.RoleDefinition(\"custom\",\n    role_definition_id=\"00000000-0000-0000-0000-000000000000\",\n    name=\"CustomRoleDef\",\n    scope=primary.id)\ncustom = custom_role_definition.role_definition_id.apply(lambda role_definition_id: azure.authorization.get_role_definition(role_definition_id=role_definition_id,\n    scope=primary.id))\ncustom_byname = custom_role_definition.name.apply(lambda name: azure.authorization.get_role_definition(name=name,\n    scope=primary.id))\nbuiltin = azure.authorization.get_role_definition(name=\"Contributor\")\npulumi.export(\"customRoleDefinitionId\", custom.id)\npulumi.export(\"contributorRoleDefinitionId\", builtin.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var primary = Azure.Core.GetSubscription.Invoke();\n\n    var customRoleDefinition = new Azure.Authorization.RoleDefinition(\"custom\", new()\n    {\n        RoleDefinitionId = \"00000000-0000-0000-0000-000000000000\",\n        Name = \"CustomRoleDef\",\n        Scope = primary.Apply(getSubscriptionResult =\u003e getSubscriptionResult.Id),\n    });\n\n    var custom = Azure.Authorization.GetRoleDefinition.Invoke(new()\n    {\n        RoleDefinitionId = customRoleDefinition.RoleDefinitionId,\n        Scope = primary.Apply(getSubscriptionResult =\u003e getSubscriptionResult.Id),\n    });\n\n    var custom_byname = Azure.Authorization.GetRoleDefinition.Invoke(new()\n    {\n        Name = customRoleDefinition.Name,\n        Scope = primary.Apply(getSubscriptionResult =\u003e getSubscriptionResult.Id),\n    });\n\n    var builtin = Azure.Authorization.GetRoleDefinition.Invoke(new()\n    {\n        Name = \"Contributor\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"customRoleDefinitionId\"] = custom.Apply(getRoleDefinitionResult =\u003e getRoleDefinitionResult.Id),\n        [\"contributorRoleDefinitionId\"] = builtin.Apply(getRoleDefinitionResult =\u003e getRoleDefinitionResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/authorization\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tprimary, err := core.LookupSubscription(ctx, \u0026core.LookupSubscriptionArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcustomRoleDefinition, err := authorization.NewRoleDefinition(ctx, \"custom\", \u0026authorization.RoleDefinitionArgs{\n\t\t\tRoleDefinitionId: pulumi.String(\"00000000-0000-0000-0000-000000000000\"),\n\t\t\tName:             pulumi.String(\"CustomRoleDef\"),\n\t\t\tScope:            pulumi.String(primary.Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcustom := customRoleDefinition.RoleDefinitionId.ApplyT(func(roleDefinitionId string) (authorization.GetRoleDefinitionResult, error) {\n\t\t\treturn authorization.GetRoleDefinitionResult(authorization.LookupRoleDefinition(ctx, \u0026authorization.LookupRoleDefinitionArgs{\n\t\t\t\tRoleDefinitionId: pulumi.StringRef(pulumi.StringRef(roleDefinitionId)),\n\t\t\t\tScope:            pulumi.StringRef(pulumi.StringRef(primary.Id)),\n\t\t\t}, nil)), nil\n\t\t}).(authorization.GetRoleDefinitionResultOutput)\n\t\t_ = customRoleDefinition.Name.ApplyT(func(name string) (authorization.GetRoleDefinitionResult, error) {\n\t\t\treturn authorization.GetRoleDefinitionResult(authorization.LookupRoleDefinition(ctx, \u0026authorization.LookupRoleDefinitionArgs{\n\t\t\t\tName:  pulumi.StringRef(pulumi.StringRef(name)),\n\t\t\t\tScope: pulumi.StringRef(pulumi.StringRef(primary.Id)),\n\t\t\t}, nil)), nil\n\t\t}).(authorization.GetRoleDefinitionResultOutput)\n\t\tbuiltin, err := authorization.LookupRoleDefinition(ctx, \u0026authorization.LookupRoleDefinitionArgs{\n\t\t\tName: pulumi.StringRef(\"Contributor\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"customRoleDefinitionId\", custom.Id)\n\t\tctx.Export(\"contributorRoleDefinitionId\", builtin.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.core.inputs.GetSubscriptionArgs;\nimport com.pulumi.azure.authorization.RoleDefinition;\nimport com.pulumi.azure.authorization.RoleDefinitionArgs;\nimport com.pulumi.azure.authorization.AuthorizationFunctions;\nimport com.pulumi.azure.authorization.inputs.GetRoleDefinitionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var primary = CoreFunctions.getSubscription(GetSubscriptionArgs.builder()\n            .build());\n\n        var customRoleDefinition = new RoleDefinition(\"customRoleDefinition\", RoleDefinitionArgs.builder()\n            .roleDefinitionId(\"00000000-0000-0000-0000-000000000000\")\n            .name(\"CustomRoleDef\")\n            .scope(primary.id())\n            .build());\n\n        final var custom = customRoleDefinition.roleDefinitionId().applyValue(_roleDefinitionId -\u003e AuthorizationFunctions.getRoleDefinition(GetRoleDefinitionArgs.builder()\n            .roleDefinitionId(_roleDefinitionId)\n            .scope(primary.id())\n            .build()));\n\n        final var custom-byname = customRoleDefinition.name().applyValue(_name -\u003e AuthorizationFunctions.getRoleDefinition(GetRoleDefinitionArgs.builder()\n            .name(_name)\n            .scope(primary.id())\n            .build()));\n\n        final var builtin = AuthorizationFunctions.getRoleDefinition(GetRoleDefinitionArgs.builder()\n            .name(\"Contributor\")\n            .build());\n\n        ctx.export(\"customRoleDefinitionId\", custom.id());\n        ctx.export(\"contributorRoleDefinitionId\", builtin.id());\n    }\n}\n```\n```yaml\nresources:\n  customRoleDefinition:\n    type: azure:authorization:RoleDefinition\n    name: custom\n    properties:\n      roleDefinitionId: 00000000-0000-0000-0000-000000000000\n      name: CustomRoleDef\n      scope: ${primary.id}\nvariables:\n  primary:\n    fn::invoke:\n      function: azure:core:getSubscription\n      arguments: {}\n  custom:\n    fn::invoke:\n      function: azure:authorization:getRoleDefinition\n      arguments:\n        roleDefinitionId: ${customRoleDefinition.roleDefinitionId}\n        scope: ${primary.id}\n  custom-byname:\n    fn::invoke:\n      function: azure:authorization:getRoleDefinition\n      arguments:\n        name: ${customRoleDefinition.name}\n        scope: ${primary.id}\n  builtin:\n    fn::invoke:\n      function: azure:authorization:getRoleDefinition\n      arguments:\n        name: Contributor\noutputs:\n  customRoleDefinitionId: ${custom.id}\n  contributorRoleDefinitionId: ${builtin.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.Authorization` - 2022-05-01-preview\n","inputs":{"description":"A collection of arguments for invoking getRoleDefinition.\n","properties":{"name":{"type":"string","description":"Specifies the Name of either a built-in or custom Role Definition.\n\n\u003e **Note:** You can also use this for built-in roles such as `Contributor`, `Owner`, `Reader` and `Virtual Machine Contributor`\n"},"roleDefinitionId":{"type":"string","description":"Specifies the ID of the Role Definition as a UUID/GUID.\n"},"scope":{"type":"string","description":"Specifies the Scope at which the Custom Role Definition exists.\n\n\u003e **Note:** One of \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`roleDefinitionId`\" pulumi-lang-dotnet=\"`RoleDefinitionId`\" pulumi-lang-go=\"`roleDefinitionId`\" pulumi-lang-python=\"`role_definition_id`\" pulumi-lang-yaml=\"`roleDefinitionId`\" pulumi-lang-java=\"`roleDefinitionId`\"\u003e`role_definition_id`\u003c/span\u003e must be specified.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getRoleDefinition.\n","properties":{"assignableScopes":{"description":"One or more assignable scopes for this Role Definition, such as `/subscriptions/0b1f6471-1bf0-4dda-aec3-111122223333`, `/subscriptions/0b1f6471-1bf0-4dda-aec3-111122223333/resourceGroups/myGroup`, or `/subscriptions/0b1f6471-1bf0-4dda-aec3-111122223333/resourceGroups/myGroup/providers/Microsoft.Compute/virtualMachines/myVM`.\n","items":{"type":"string"},"type":"array"},"description":{"description":"The Description of the built-in Role.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"name":{"type":"string"},"permissions":{"description":"A \u003cspan pulumi-lang-nodejs=\"`permissions`\" pulumi-lang-dotnet=\"`Permissions`\" pulumi-lang-go=\"`permissions`\" pulumi-lang-python=\"`permissions`\" pulumi-lang-yaml=\"`permissions`\" pulumi-lang-java=\"`permissions`\"\u003e`permissions`\u003c/span\u003e block as documented below.\n","items":{"$ref":"#/types/azure:authorization/getRoleDefinitionPermission:getRoleDefinitionPermission"},"type":"array"},"roleDefinitionId":{"type":"string"},"scope":{"type":"string"},"type":{"description":"The Type of the Role.\n","type":"string"}},"required":["assignableScopes","description","name","permissions","roleDefinitionId","type","id"],"type":"object"}},"azure:authorization/getUserAssignedIdentity:getUserAssignedIdentity":{"description":"Use this data source to access information about an existing User Assigned Identity.\n\n## Example Usage\n\n### Reference An Existing)\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.authorization.getUserAssignedIdentity({\n    name: \"name_of_user_assigned_identity\",\n    resourceGroupName: \"name_of_resource_group\",\n});\nexport const uaiClientId = example.then(example =\u003e example.clientId);\nexport const uaiPrincipalId = example.then(example =\u003e example.principalId);\nexport const uaiTenantId = example.then(example =\u003e example.tenantId);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.authorization.get_user_assigned_identity(name=\"name_of_user_assigned_identity\",\n    resource_group_name=\"name_of_resource_group\")\npulumi.export(\"uaiClientId\", example.client_id)\npulumi.export(\"uaiPrincipalId\", example.principal_id)\npulumi.export(\"uaiTenantId\", example.tenant_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Authorization.GetUserAssignedIdentity.Invoke(new()\n    {\n        Name = \"name_of_user_assigned_identity\",\n        ResourceGroupName = \"name_of_resource_group\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"uaiClientId\"] = example.Apply(getUserAssignedIdentityResult =\u003e getUserAssignedIdentityResult.ClientId),\n        [\"uaiPrincipalId\"] = example.Apply(getUserAssignedIdentityResult =\u003e getUserAssignedIdentityResult.PrincipalId),\n        [\"uaiTenantId\"] = example.Apply(getUserAssignedIdentityResult =\u003e getUserAssignedIdentityResult.TenantId),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/authorization\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := authorization.LookupUserAssignedIdentity(ctx, \u0026authorization.LookupUserAssignedIdentityArgs{\n\t\t\tName:              \"name_of_user_assigned_identity\",\n\t\t\tResourceGroupName: \"name_of_resource_group\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"uaiClientId\", example.ClientId)\n\t\tctx.Export(\"uaiPrincipalId\", example.PrincipalId)\n\t\tctx.Export(\"uaiTenantId\", example.TenantId)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.authorization.AuthorizationFunctions;\nimport com.pulumi.azure.authorization.inputs.GetUserAssignedIdentityArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = AuthorizationFunctions.getUserAssignedIdentity(GetUserAssignedIdentityArgs.builder()\n            .name(\"name_of_user_assigned_identity\")\n            .resourceGroupName(\"name_of_resource_group\")\n            .build());\n\n        ctx.export(\"uaiClientId\", example.clientId());\n        ctx.export(\"uaiPrincipalId\", example.principalId());\n        ctx.export(\"uaiTenantId\", example.tenantId());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:authorization:getUserAssignedIdentity\n      arguments:\n        name: name_of_user_assigned_identity\n        resourceGroupName: name_of_resource_group\noutputs:\n  uaiClientId: ${example.clientId}\n  uaiPrincipalId: ${example.principalId}\n  uaiTenantId: ${example.tenantId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.ManagedIdentity` - 2024-11-30\n","inputs":{"description":"A collection of arguments for invoking getUserAssignedIdentity.\n","properties":{"name":{"type":"string","description":"The name of the User Assigned Identity.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group in which the User Assigned Identity exists.\n"}},"type":"object","required":["name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getUserAssignedIdentity.\n","properties":{"clientId":{"description":"The Client ID of the User Assigned Identity.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"isolationScope":{"description":"The isolation scope for the User Assigned Identity.\n","type":"string"},"location":{"description":"The Azure location where the User Assigned Identity exists.\n","type":"string"},"name":{"type":"string"},"principalId":{"description":"The Service Principal ID of the User Assigned Identity.\n","type":"string"},"resourceGroupName":{"type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"A mapping of tags assigned to the User Assigned Identity.\n","type":"object"},"tenantId":{"description":"The Tenant ID of the User Assigned Identity.\n","type":"string"}},"required":["clientId","isolationScope","location","name","principalId","resourceGroupName","tags","tenantId","id"],"type":"object"}},"azure:automation/getAccount:getAccount":{"description":"Use this data source to access information about an existing Automation Account.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.automation.getAccount({\n    name: \"example-account\",\n    resourceGroupName: \"example-resources\",\n});\nexport const automationAccountId = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.automation.get_account(name=\"example-account\",\n    resource_group_name=\"example-resources\")\npulumi.export(\"automationAccountId\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Automation.GetAccount.Invoke(new()\n    {\n        Name = \"example-account\",\n        ResourceGroupName = \"example-resources\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"automationAccountId\"] = example.Apply(getAccountResult =\u003e getAccountResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/automation\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := automation.LookupAccount(ctx, \u0026automation.LookupAccountArgs{\n\t\t\tName:              \"example-account\",\n\t\t\tResourceGroupName: \"example-resources\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"automationAccountId\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.automation.AutomationFunctions;\nimport com.pulumi.azure.automation.inputs.GetAccountArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = AutomationFunctions.getAccount(GetAccountArgs.builder()\n            .name(\"example-account\")\n            .resourceGroupName(\"example-resources\")\n            .build());\n\n        ctx.export(\"automationAccountId\", example.id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:automation:getAccount\n      arguments:\n        name: example-account\n        resourceGroupName: example-resources\noutputs:\n  automationAccountId: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.Automation` - 2024-10-23, 2019-06-01\n","inputs":{"description":"A collection of arguments for invoking getAccount.\n","properties":{"name":{"type":"string","description":"The name of the Automation Account.\n"},"resourceGroupName":{"type":"string","description":"Specifies the name of the Resource Group where the Automation Account exists.\n"}},"type":"object","required":["name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getAccount.\n","properties":{"endpoint":{"description":"The Endpoint for this Automation Account.\n","type":"string"},"hybridServiceUrl":{"description":"The URL of automation hybrid service which is used for hybrid worker on-boarding With this Automation Account.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"identities":{"description":"(Optional) An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:automation/getAccountIdentity:getAccountIdentity"},"type":"array"},"name":{"type":"string"},"primaryKey":{"description":"The Primary Access Key for the Automation Account.\n","type":"string"},"privateEndpointConnections":{"items":{"$ref":"#/types/azure:automation/getAccountPrivateEndpointConnection:getAccountPrivateEndpointConnection"},"type":"array"},"resourceGroupName":{"type":"string"},"secondaryKey":{"description":"The Secondary Access Key for the Automation Account.\n","type":"string"}},"required":["endpoint","hybridServiceUrl","identities","name","primaryKey","privateEndpointConnections","resourceGroupName","secondaryKey","id"],"type":"object"}},"azure:automation/getBoolVariable:getBoolVariable":{"description":"Use this data source to access information about an existing Automation Bool Variable.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.automation.getBoolVariable({\n    name: \"tfex-example-var\",\n    resourceGroupName: \"tfex-example-rg\",\n    automationAccountName: \"tfex-example-account\",\n});\nexport const variableId = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.automation.get_bool_variable(name=\"tfex-example-var\",\n    resource_group_name=\"tfex-example-rg\",\n    automation_account_name=\"tfex-example-account\")\npulumi.export(\"variableId\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Automation.GetBoolVariable.Invoke(new()\n    {\n        Name = \"tfex-example-var\",\n        ResourceGroupName = \"tfex-example-rg\",\n        AutomationAccountName = \"tfex-example-account\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"variableId\"] = example.Apply(getBoolVariableResult =\u003e getBoolVariableResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/automation\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := automation.LookupBoolVariable(ctx, \u0026automation.LookupBoolVariableArgs{\n\t\t\tName:                  \"tfex-example-var\",\n\t\t\tResourceGroupName:     \"tfex-example-rg\",\n\t\t\tAutomationAccountName: \"tfex-example-account\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"variableId\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.automation.AutomationFunctions;\nimport com.pulumi.azure.automation.inputs.GetBoolVariableArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = AutomationFunctions.getBoolVariable(GetBoolVariableArgs.builder()\n            .name(\"tfex-example-var\")\n            .resourceGroupName(\"tfex-example-rg\")\n            .automationAccountName(\"tfex-example-account\")\n            .build());\n\n        ctx.export(\"variableId\", example.id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:automation:getBoolVariable\n      arguments:\n        name: tfex-example-var\n        resourceGroupName: tfex-example-rg\n        automationAccountName: tfex-example-account\noutputs:\n  variableId: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getBoolVariable.\n","properties":{"automationAccountName":{"type":"string","description":"The name of the automation account in which the Automation Variable exists.\n"},"name":{"type":"string","description":"The name of the Automation Variable.\n"},"resourceGroupName":{"type":"string","description":"The Name of the Resource Group where the automation account exists.\n","willReplaceOnChanges":true}},"type":"object","required":["automationAccountName","name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getBoolVariable.\n","properties":{"automationAccountName":{"type":"string"},"description":{"description":"The description of the Automation Variable.\n","type":"string"},"encrypted":{"description":"Specifies if the Automation Variable is encrypted. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n","type":"boolean"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"name":{"type":"string"},"resourceGroupName":{"type":"string"},"value":{"description":"The value of the Automation Variable as a \u003cspan pulumi-lang-nodejs=\"`boolean`\" pulumi-lang-dotnet=\"`Boolean`\" pulumi-lang-go=\"`boolean`\" pulumi-lang-python=\"`boolean`\" pulumi-lang-yaml=\"`boolean`\" pulumi-lang-java=\"`boolean`\"\u003e`boolean`\u003c/span\u003e.\n","type":"boolean"}},"required":["automationAccountName","description","encrypted","name","resourceGroupName","value","id"],"type":"object"}},"azure:automation/getDateTimeVariable:getDateTimeVariable":{"description":"Use this data source to access information about an existing Automation Datetime Variable.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.automation.getDateTimeVariable({\n    name: \"tfex-example-var\",\n    resourceGroupName: \"tfex-example-rg\",\n    automationAccountName: \"tfex-example-account\",\n});\nexport const variableId = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.automation.get_date_time_variable(name=\"tfex-example-var\",\n    resource_group_name=\"tfex-example-rg\",\n    automation_account_name=\"tfex-example-account\")\npulumi.export(\"variableId\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Automation.GetDateTimeVariable.Invoke(new()\n    {\n        Name = \"tfex-example-var\",\n        ResourceGroupName = \"tfex-example-rg\",\n        AutomationAccountName = \"tfex-example-account\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"variableId\"] = example.Apply(getDateTimeVariableResult =\u003e getDateTimeVariableResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/automation\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := automation.LookupDateTimeVariable(ctx, \u0026automation.LookupDateTimeVariableArgs{\n\t\t\tName:                  \"tfex-example-var\",\n\t\t\tResourceGroupName:     \"tfex-example-rg\",\n\t\t\tAutomationAccountName: \"tfex-example-account\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"variableId\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.automation.AutomationFunctions;\nimport com.pulumi.azure.automation.inputs.GetDateTimeVariableArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = AutomationFunctions.getDateTimeVariable(GetDateTimeVariableArgs.builder()\n            .name(\"tfex-example-var\")\n            .resourceGroupName(\"tfex-example-rg\")\n            .automationAccountName(\"tfex-example-account\")\n            .build());\n\n        ctx.export(\"variableId\", example.id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:automation:getDateTimeVariable\n      arguments:\n        name: tfex-example-var\n        resourceGroupName: tfex-example-rg\n        automationAccountName: tfex-example-account\noutputs:\n  variableId: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getDateTimeVariable.\n","properties":{"automationAccountName":{"type":"string","description":"The name of the automation account in which the Automation Variable exists.\n"},"name":{"type":"string","description":"The name of the Automation Variable.\n"},"resourceGroupName":{"type":"string","description":"The Name of the Resource Group where the automation account exists.\n","willReplaceOnChanges":true}},"type":"object","required":["automationAccountName","name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getDateTimeVariable.\n","properties":{"automationAccountName":{"type":"string"},"description":{"description":"The description of the Automation Variable.\n","type":"string"},"encrypted":{"description":"Specifies if the Automation Variable is encrypted. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n","type":"boolean"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"name":{"type":"string"},"resourceGroupName":{"type":"string"},"value":{"description":"The value of the Automation Variable in the [RFC3339 Section 5.6 Internet Date/Time Format](https://tools.ietf.org/html/rfc3339#section-5.6).\n","type":"string"}},"required":["automationAccountName","description","encrypted","name","resourceGroupName","value","id"],"type":"object"}},"azure:automation/getIntVariable:getIntVariable":{"description":"Use this data source to access information about an existing Automation Int Variable.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.automation.getIntVariable({\n    name: \"tfex-example-var\",\n    resourceGroupName: \"tfex-example-rg\",\n    automationAccountName: \"tfex-example-account\",\n});\nexport const variableId = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.automation.get_int_variable(name=\"tfex-example-var\",\n    resource_group_name=\"tfex-example-rg\",\n    automation_account_name=\"tfex-example-account\")\npulumi.export(\"variableId\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Automation.GetIntVariable.Invoke(new()\n    {\n        Name = \"tfex-example-var\",\n        ResourceGroupName = \"tfex-example-rg\",\n        AutomationAccountName = \"tfex-example-account\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"variableId\"] = example.Apply(getIntVariableResult =\u003e getIntVariableResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/automation\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := automation.LookupIntVariable(ctx, \u0026automation.LookupIntVariableArgs{\n\t\t\tName:                  \"tfex-example-var\",\n\t\t\tResourceGroupName:     \"tfex-example-rg\",\n\t\t\tAutomationAccountName: \"tfex-example-account\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"variableId\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.automation.AutomationFunctions;\nimport com.pulumi.azure.automation.inputs.GetIntVariableArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = AutomationFunctions.getIntVariable(GetIntVariableArgs.builder()\n            .name(\"tfex-example-var\")\n            .resourceGroupName(\"tfex-example-rg\")\n            .automationAccountName(\"tfex-example-account\")\n            .build());\n\n        ctx.export(\"variableId\", example.id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:automation:getIntVariable\n      arguments:\n        name: tfex-example-var\n        resourceGroupName: tfex-example-rg\n        automationAccountName: tfex-example-account\noutputs:\n  variableId: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getIntVariable.\n","properties":{"automationAccountName":{"type":"string","description":"The name of the automation account in which the Automation Variable exists.\n"},"name":{"type":"string","description":"The name of the Automation Variable.\n"},"resourceGroupName":{"type":"string","description":"The Name of the Resource Group where the automation account exists.\n","willReplaceOnChanges":true}},"type":"object","required":["automationAccountName","name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getIntVariable.\n","properties":{"automationAccountName":{"type":"string"},"description":{"description":"The description of the Automation Variable.\n","type":"string"},"encrypted":{"description":"Specifies if the Automation Variable is encrypted. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n","type":"boolean"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"name":{"type":"string"},"resourceGroupName":{"type":"string"},"value":{"description":"The value of the Automation Variable as a \u003cspan pulumi-lang-nodejs=\"`integer`\" pulumi-lang-dotnet=\"`Integer`\" pulumi-lang-go=\"`integer`\" pulumi-lang-python=\"`integer`\" pulumi-lang-yaml=\"`integer`\" pulumi-lang-java=\"`integer`\"\u003e`integer`\u003c/span\u003e.\n","type":"integer"}},"required":["automationAccountName","description","encrypted","name","resourceGroupName","value","id"],"type":"object"}},"azure:automation/getRunbook:getRunbook":{"description":"Use this data source to access information about an existing Automation Runbook.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.automation.getRunbook({\n    name: \"existing-runbook\",\n    resourceGroupName: \"existing\",\n    automationAccountName: \"existing-automation\",\n});\nexport const id = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.automation.get_runbook(name=\"existing-runbook\",\n    resource_group_name=\"existing\",\n    automation_account_name=\"existing-automation\")\npulumi.export(\"id\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Automation.GetRunbook.Invoke(new()\n    {\n        Name = \"existing-runbook\",\n        ResourceGroupName = \"existing\",\n        AutomationAccountName = \"existing-automation\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"id\"] = example.Apply(getRunbookResult =\u003e getRunbookResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/automation\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := automation.GetRunbook(ctx, \u0026automation.GetRunbookArgs{\n\t\t\tName:                  \"existing-runbook\",\n\t\t\tResourceGroupName:     \"existing\",\n\t\t\tAutomationAccountName: \"existing-automation\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"id\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.automation.AutomationFunctions;\nimport com.pulumi.azure.automation.inputs.GetRunbookArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = AutomationFunctions.getRunbook(GetRunbookArgs.builder()\n            .name(\"existing-runbook\")\n            .resourceGroupName(\"existing\")\n            .automationAccountName(\"existing-automation\")\n            .build());\n\n        ctx.export(\"id\", example.id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:automation:getRunbook\n      arguments:\n        name: existing-runbook\n        resourceGroupName: existing\n        automationAccountName: existing-automation\noutputs:\n  id: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.Automation` - 2024-10-23\n","inputs":{"description":"A collection of arguments for invoking getRunbook.\n","properties":{"automationAccountName":{"type":"string","description":"The name of the Automation Account the runbook belongs to.\n"},"name":{"type":"string","description":"The name of the Automation Runbook.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Automation exists.\n"}},"type":"object","required":["automationAccountName","name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getRunbook.\n","properties":{"automationAccountName":{"type":"string"},"content":{"description":"The content of the Runbook.\n","type":"string"},"description":{"description":"The description of the Runbook.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"location":{"description":"The Azure Region where the Runbook exists.\n","type":"string"},"logActivityTraceLevel":{"description":"The activity-level tracing of the Runbook.\n","type":"integer"},"logProgress":{"description":"The Progress log option of the Runbook.\n","type":"boolean"},"logVerbose":{"description":"The Verbose log option of the Runbook.\n","type":"boolean"},"name":{"type":"string"},"resourceGroupName":{"type":"string"},"runbookType":{"description":"The type of Runbook.\n","type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"A mapping of tags assigned to the Runbook.\n","type":"object"}},"required":["automationAccountName","content","description","location","logActivityTraceLevel","logProgress","logVerbose","name","resourceGroupName","runbookType","tags","id"],"type":"object"}},"azure:automation/getStringVariable:getStringVariable":{"description":"Use this data source to access information about an existing Automation String Variable.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.automation.getStringVariable({\n    name: \"tfex-example-var\",\n    resourceGroupName: \"tfex-example-rg\",\n    automationAccountName: \"tfex-example-account\",\n});\nexport const variableId = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.automation.get_string_variable(name=\"tfex-example-var\",\n    resource_group_name=\"tfex-example-rg\",\n    automation_account_name=\"tfex-example-account\")\npulumi.export(\"variableId\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Automation.GetStringVariable.Invoke(new()\n    {\n        Name = \"tfex-example-var\",\n        ResourceGroupName = \"tfex-example-rg\",\n        AutomationAccountName = \"tfex-example-account\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"variableId\"] = example.Apply(getStringVariableResult =\u003e getStringVariableResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/automation\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := automation.LookupStringVariable(ctx, \u0026automation.LookupStringVariableArgs{\n\t\t\tName:                  \"tfex-example-var\",\n\t\t\tResourceGroupName:     \"tfex-example-rg\",\n\t\t\tAutomationAccountName: \"tfex-example-account\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"variableId\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.automation.AutomationFunctions;\nimport com.pulumi.azure.automation.inputs.GetStringVariableArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = AutomationFunctions.getStringVariable(GetStringVariableArgs.builder()\n            .name(\"tfex-example-var\")\n            .resourceGroupName(\"tfex-example-rg\")\n            .automationAccountName(\"tfex-example-account\")\n            .build());\n\n        ctx.export(\"variableId\", example.id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:automation:getStringVariable\n      arguments:\n        name: tfex-example-var\n        resourceGroupName: tfex-example-rg\n        automationAccountName: tfex-example-account\noutputs:\n  variableId: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getStringVariable.\n","properties":{"automationAccountName":{"type":"string","description":"The name of the automation account in which the Automation Variable exists.\n"},"name":{"type":"string","description":"The name of the Automation Variable.\n"},"resourceGroupName":{"type":"string","description":"The Name of the Resource Group where the automation account exists.\n","willReplaceOnChanges":true}},"type":"object","required":["automationAccountName","name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getStringVariable.\n","properties":{"automationAccountName":{"type":"string"},"description":{"description":"The description of the Automation Variable.\n","type":"string"},"encrypted":{"description":"Specifies if the Automation Variable is encrypted. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n","type":"boolean"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"name":{"type":"string"},"resourceGroupName":{"type":"string"},"value":{"description":"The value of the Automation Variable as a \u003cspan pulumi-lang-nodejs=\"`string`\" pulumi-lang-dotnet=\"`String`\" pulumi-lang-go=\"`string`\" pulumi-lang-python=\"`string`\" pulumi-lang-yaml=\"`string`\" pulumi-lang-java=\"`string`\"\u003e`string`\u003c/span\u003e.\n","type":"string"}},"required":["automationAccountName","description","encrypted","name","resourceGroupName","value","id"],"type":"object"}},"azure:automation/getVariableObject:getVariableObject":{"description":"Use this data source to access information about an existing Automation Object Variable.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\nimport * as std from \"@pulumi/std\";\n\nconst example = azure.automation.getVariableObject({\n    name: \"tfex-example-var\",\n    resourceGroupName: \"tfex-example-rg\",\n    automationAccountName: \"tfex-example-account\",\n});\nexport const variable = example.then(example =\u003e std.jsondecode({\n    input: example.value,\n})).then(invoke =\u003e invoke.result);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\nimport pulumi_std as std\n\nexample = azure.automation.get_variable_object(name=\"tfex-example-var\",\n    resource_group_name=\"tfex-example-rg\",\n    automation_account_name=\"tfex-example-account\")\npulumi.export(\"variable\", std.jsondecode(input=example.value).result)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Automation.GetVariableObject.Invoke(new()\n    {\n        Name = \"tfex-example-var\",\n        ResourceGroupName = \"tfex-example-rg\",\n        AutomationAccountName = \"tfex-example-account\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"variable\"] = Std.Jsondecode.Invoke(new()\n        {\n            Input = example.Apply(getVariableObjectResult =\u003e getVariableObjectResult.Value),\n        }).Apply(invoke =\u003e invoke.Result),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/automation\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := automation.LookupVariableObject(ctx, \u0026automation.LookupVariableObjectArgs{\n\t\t\tName:                  \"tfex-example-var\",\n\t\t\tResourceGroupName:     \"tfex-example-rg\",\n\t\t\tAutomationAccountName: \"tfex-example-account\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"variable\", pulumi.Any(std.Jsondecode(ctx, \u0026std.JsondecodeArgs{\n\t\t\tInput: example.Value,\n\t\t}, nil).Result))\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.automation.AutomationFunctions;\nimport com.pulumi.azure.automation.inputs.GetVariableObjectArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.JsondecodeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = AutomationFunctions.getVariableObject(GetVariableObjectArgs.builder()\n            .name(\"tfex-example-var\")\n            .resourceGroupName(\"tfex-example-rg\")\n            .automationAccountName(\"tfex-example-account\")\n            .build());\n\n        ctx.export(\"variable\", StdFunctions.jsondecode(JsondecodeArgs.builder()\n            .input(example.value())\n            .build()).result());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:automation:getVariableObject\n      arguments:\n        name: tfex-example-var\n        resourceGroupName: tfex-example-rg\n        automationAccountName: tfex-example-account\noutputs:\n  variable:\n    fn::invoke:\n      function: std:jsondecode\n      arguments:\n        input: ${example.value}\n      return: result\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getVariableObject.\n","properties":{"automationAccountName":{"type":"string","description":"The name of the automation account in which the Automation Variable exists.\n"},"name":{"type":"string","description":"The name of the Automation Variable.\n"},"resourceGroupName":{"type":"string","description":"The Name of the Resource Group where the automation account exists.\n","willReplaceOnChanges":true}},"type":"object","required":["automationAccountName","name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getVariableObject.\n","properties":{"automationAccountName":{"type":"string"},"description":{"description":"The description of the Automation Variable.\n","type":"string"},"encrypted":{"description":"Specifies if the Automation Variable is encrypted. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n","type":"boolean"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"name":{"type":"string"},"resourceGroupName":{"type":"string"},"value":{"description":"The value of the Automation Variable as a json encoded \u003cspan pulumi-lang-nodejs=\"`string`\" pulumi-lang-dotnet=\"`String`\" pulumi-lang-go=\"`string`\" pulumi-lang-python=\"`string`\" pulumi-lang-yaml=\"`string`\" pulumi-lang-java=\"`string`\"\u003e`string`\u003c/span\u003e.\n","type":"string"}},"required":["automationAccountName","description","encrypted","name","resourceGroupName","value","id"],"type":"object"}},"azure:automation/getVariables:getVariables":{"description":"Use this data source to get all variables in an Automation Account.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.automation.getAccount({\n    name: \"example-account\",\n    resourceGroupName: \"example-resources\",\n});\nconst exampleGetVariables = example.then(example =\u003e azure.automation.getVariables({\n    automationAccountId: example.id,\n}));\nexport const stringVars = exampleAzurermAutomationVariableString.string;\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.automation.get_account(name=\"example-account\",\n    resource_group_name=\"example-resources\")\nexample_get_variables = azure.automation.get_variables(automation_account_id=example.id)\npulumi.export(\"stringVars\", example_azurerm_automation_variable_string[\"string\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Automation.GetAccount.Invoke(new()\n    {\n        Name = \"example-account\",\n        ResourceGroupName = \"example-resources\",\n    });\n\n    var exampleGetVariables = Azure.Automation.GetVariables.Invoke(new()\n    {\n        AutomationAccountId = example.Apply(getAccountResult =\u003e getAccountResult.Id),\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"stringVars\"] = exampleAzurermAutomationVariableString.String,\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/automation\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := automation.LookupAccount(ctx, \u0026automation.LookupAccountArgs{\n\t\t\tName:              \"example-account\",\n\t\t\tResourceGroupName: \"example-resources\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = automation.GetVariables(ctx, \u0026automation.GetVariablesArgs{\n\t\t\tAutomationAccountId: example.Id,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"stringVars\", exampleAzurermAutomationVariableString.String)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.automation.AutomationFunctions;\nimport com.pulumi.azure.automation.inputs.GetAccountArgs;\nimport com.pulumi.azure.automation.inputs.GetVariablesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = AutomationFunctions.getAccount(GetAccountArgs.builder()\n            .name(\"example-account\")\n            .resourceGroupName(\"example-resources\")\n            .build());\n\n        final var exampleGetVariables = AutomationFunctions.getVariables(GetVariablesArgs.builder()\n            .automationAccountId(example.id())\n            .build());\n\n        ctx.export(\"stringVars\", exampleAzurermAutomationVariableString.string());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:automation:getAccount\n      arguments:\n        name: example-account\n        resourceGroupName: example-resources\n  exampleGetVariables:\n    fn::invoke:\n      function: azure:automation:getVariables\n      arguments:\n        automationAccountId: ${example.id}\noutputs:\n  stringVars: ${exampleAzurermAutomationVariableString.string}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.Automation` - 2024-10-23\n","inputs":{"description":"A collection of arguments for invoking getVariables.\n","properties":{"automationAccountId":{"type":"string","description":"The resource ID of the automation account.\n"}},"type":"object","required":["automationAccountId"]},"outputs":{"description":"A collection of values returned by getVariables.\n","properties":{"automationAccountId":{"type":"string"},"bools":{"description":"One or more \u003cspan pulumi-lang-nodejs=\"`variable`\" pulumi-lang-dotnet=\"`Variable`\" pulumi-lang-go=\"`variable`\" pulumi-lang-python=\"`variable`\" pulumi-lang-yaml=\"`variable`\" pulumi-lang-java=\"`variable`\"\u003e`variable`\u003c/span\u003e blocks as defined below for each boolean variable.\n","items":{"$ref":"#/types/azure:automation/getVariablesBool:getVariablesBool"},"type":"array"},"datetimes":{"description":"One or more \u003cspan pulumi-lang-nodejs=\"`variable`\" pulumi-lang-dotnet=\"`Variable`\" pulumi-lang-go=\"`variable`\" pulumi-lang-python=\"`variable`\" pulumi-lang-yaml=\"`variable`\" pulumi-lang-java=\"`variable`\"\u003e`variable`\u003c/span\u003e blocks as defined below for each datetime variable.\n","items":{"$ref":"#/types/azure:automation/getVariablesDatetime:getVariablesDatetime"},"type":"array"},"encrypteds":{"description":"Specifies if the Automation Variable is encrypted.\n","items":{"$ref":"#/types/azure:automation/getVariablesEncrypted:getVariablesEncrypted"},"type":"array"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"ints":{"description":"One or more \u003cspan pulumi-lang-nodejs=\"`variable`\" pulumi-lang-dotnet=\"`Variable`\" pulumi-lang-go=\"`variable`\" pulumi-lang-python=\"`variable`\" pulumi-lang-yaml=\"`variable`\" pulumi-lang-java=\"`variable`\"\u003e`variable`\u003c/span\u003e blocks as defined below for each int variable.\n","items":{"$ref":"#/types/azure:automation/getVariablesInt:getVariablesInt"},"type":"array"},"nulls":{"description":"One or more \u003cspan pulumi-lang-nodejs=\"`variable`\" pulumi-lang-dotnet=\"`Variable`\" pulumi-lang-go=\"`variable`\" pulumi-lang-python=\"`variable`\" pulumi-lang-yaml=\"`variable`\" pulumi-lang-java=\"`variable`\"\u003e`variable`\u003c/span\u003e blocks as defined below for each null variable.\n","items":{"$ref":"#/types/azure:automation/getVariablesNull:getVariablesNull"},"type":"array"},"objects":{"items":{"$ref":"#/types/azure:automation/getVariablesObject:getVariablesObject"},"type":"array"},"strings":{"description":"One or more \u003cspan pulumi-lang-nodejs=\"`variable`\" pulumi-lang-dotnet=\"`Variable`\" pulumi-lang-go=\"`variable`\" pulumi-lang-python=\"`variable`\" pulumi-lang-yaml=\"`variable`\" pulumi-lang-java=\"`variable`\"\u003e`variable`\u003c/span\u003e blocks as defined below for each string variable.\n","items":{"$ref":"#/types/azure:automation/getVariablesString:getVariablesString"},"type":"array"}},"required":["automationAccountId","bools","datetimes","encrypteds","ints","nulls","objects","strings","id"],"type":"object"}},"azure:avs/getPrivateCloud:getPrivateCloud":{"description":"Use this data source to access information about an existing Azure VMware Solution Private Cloud.\n\n## Example Usage\n\n\u003e **Note:** Normal `pulumi up` could ignore this note. Please disable correlation request id for continuous operations in one build (like acctest). The continuous operations like \u003cspan pulumi-lang-nodejs=\"`update`\" pulumi-lang-dotnet=\"`Update`\" pulumi-lang-go=\"`update`\" pulumi-lang-python=\"`update`\" pulumi-lang-yaml=\"`update`\" pulumi-lang-java=\"`update`\"\u003e`update`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`delete`\" pulumi-lang-dotnet=\"`Delete`\" pulumi-lang-go=\"`delete`\" pulumi-lang-python=\"`delete`\" pulumi-lang-yaml=\"`delete`\" pulumi-lang-java=\"`delete`\"\u003e`delete`\u003c/span\u003e could not be triggered when it shares the same `correlation-id` with its previous operation.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.avs.getPrivateCloud({\n    name: \"existing-vmware-private-cloud\",\n    resourceGroupName: \"existing-resgroup\",\n});\nexport const id = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.avs.get_private_cloud(name=\"existing-vmware-private-cloud\",\n    resource_group_name=\"existing-resgroup\")\npulumi.export(\"id\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Avs.GetPrivateCloud.Invoke(new()\n    {\n        Name = \"existing-vmware-private-cloud\",\n        ResourceGroupName = \"existing-resgroup\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"id\"] = example.Apply(getPrivateCloudResult =\u003e getPrivateCloudResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/avs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := avs.LookupPrivateCloud(ctx, \u0026avs.LookupPrivateCloudArgs{\n\t\t\tName:              \"existing-vmware-private-cloud\",\n\t\t\tResourceGroupName: \"existing-resgroup\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"id\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.avs.AvsFunctions;\nimport com.pulumi.azure.avs.inputs.GetPrivateCloudArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = AvsFunctions.getPrivateCloud(GetPrivateCloudArgs.builder()\n            .name(\"existing-vmware-private-cloud\")\n            .resourceGroupName(\"existing-resgroup\")\n            .build());\n\n        ctx.export(\"id\", example.id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:avs:getPrivateCloud\n      arguments:\n        name: existing-vmware-private-cloud\n        resourceGroupName: existing-resgroup\noutputs:\n  id: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.AVS` - 2022-05-01\n","inputs":{"description":"A collection of arguments for invoking getPrivateCloud.\n","properties":{"name":{"type":"string","description":"The name of this Azure VMware Solution Private Cloud.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Azure VMware Solution Private Cloud exists.\n"}},"type":"object","required":["name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getPrivateCloud.\n","properties":{"circuits":{"description":"A \u003cspan pulumi-lang-nodejs=\"`circuit`\" pulumi-lang-dotnet=\"`Circuit`\" pulumi-lang-go=\"`circuit`\" pulumi-lang-python=\"`circuit`\" pulumi-lang-yaml=\"`circuit`\" pulumi-lang-java=\"`circuit`\"\u003e`circuit`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:avs/getPrivateCloudCircuit:getPrivateCloudCircuit"},"type":"array"},"hcxCloudManagerEndpoint":{"description":"The endpoint for the VMware HCX Cloud Manager.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"internetConnectionEnabled":{"description":"Is the Azure VMware Solution Private Cloud connected to the internet?\n","type":"boolean"},"location":{"description":"The Azure Region where the Azure VMware Solution Private Cloud exists.\n","type":"string"},"managementClusters":{"description":"A \u003cspan pulumi-lang-nodejs=\"`managementCluster`\" pulumi-lang-dotnet=\"`ManagementCluster`\" pulumi-lang-go=\"`managementCluster`\" pulumi-lang-python=\"`management_cluster`\" pulumi-lang-yaml=\"`managementCluster`\" pulumi-lang-java=\"`managementCluster`\"\u003e`management_cluster`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:avs/getPrivateCloudManagementCluster:getPrivateCloudManagementCluster"},"type":"array"},"managementSubnetCidr":{"description":"The network used to access VMware vCenter Server and NSX Manager.\n","type":"string"},"name":{"type":"string"},"networkSubnetCidr":{"description":"The subnet CIDR of the Azure VMware Solution Private Cloud.\n","type":"string"},"nsxtCertificateThumbprint":{"description":"The thumbprint of the VMware NSX Manager SSL certificate.\n","type":"string"},"nsxtManagerEndpoint":{"description":"The endpoint for the VMware NSX Manager.\n","type":"string"},"provisioningSubnetCidr":{"description":"The network which isused for virtual machine cold migration, cloning, and snapshot migration.\n","type":"string"},"resourceGroupName":{"type":"string"},"skuName":{"description":"The Name of the SKU used for this Azure VMware Solution Private Cloud.\n","type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"A mapping of tags assigned to the Azure VMware Solution Private Cloud.\n","type":"object"},"vcenterCertificateThumbprint":{"description":"The thumbprint of the VMware vCenter Server SSL certificate.\n","type":"string"},"vcsaEndpoint":{"description":"The endpoint for VMware vCenter Server Appliance.\n","type":"string"},"vmotionSubnetCidr":{"description":"The network which is used for live migration of virtual machines.\n","type":"string"}},"required":["circuits","hcxCloudManagerEndpoint","internetConnectionEnabled","location","managementClusters","managementSubnetCidr","name","networkSubnetCidr","nsxtCertificateThumbprint","nsxtManagerEndpoint","provisioningSubnetCidr","resourceGroupName","skuName","tags","vcenterCertificateThumbprint","vcsaEndpoint","vmotionSubnetCidr","id"],"type":"object"}},"azure:backup/getPolicyFileshare:getPolicyFileshare":{"description":"Use this data source to access information about an existing File Share Backup Policy.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst policy = azure.backup.getPolicyFileshare({\n    name: \"policy\",\n    recoveryVaultName: \"recovery_vault\",\n    resourceGroupName: \"resource_group\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\npolicy = azure.backup.get_policy_fileshare(name=\"policy\",\n    recovery_vault_name=\"recovery_vault\",\n    resource_group_name=\"resource_group\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var policy = Azure.Backup.GetPolicyFileshare.Invoke(new()\n    {\n        Name = \"policy\",\n        RecoveryVaultName = \"recovery_vault\",\n        ResourceGroupName = \"resource_group\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/backup\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := backup.GetPolicyFileshare(ctx, \u0026backup.GetPolicyFileshareArgs{\n\t\t\tName:              \"policy\",\n\t\t\tRecoveryVaultName: \"recovery_vault\",\n\t\t\tResourceGroupName: \"resource_group\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.backup.BackupFunctions;\nimport com.pulumi.azure.backup.inputs.GetPolicyFileshareArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var policy = BackupFunctions.getPolicyFileshare(GetPolicyFileshareArgs.builder()\n            .name(\"policy\")\n            .recoveryVaultName(\"recovery_vault\")\n            .resourceGroupName(\"resource_group\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  policy:\n    fn::invoke:\n      function: azure:backup:getPolicyFileshare\n      arguments:\n        name: policy\n        recoveryVaultName: recovery_vault\n        resourceGroupName: resource_group\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getPolicyFileshare.\n","properties":{"name":{"type":"string","description":"Specifies the name of the File Share Backup Policy.\n"},"recoveryVaultName":{"type":"string","description":"Specifies the name of the Recovery Services Vault.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the File Share Backup Policy resides.\n"}},"type":"object","required":["name","recoveryVaultName","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getPolicyFileshare.\n","properties":{"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"name":{"type":"string"},"recoveryVaultName":{"type":"string"},"resourceGroupName":{"type":"string"}},"required":["name","recoveryVaultName","resourceGroupName","id"],"type":"object"}},"azure:backup/getPolicyVM:getPolicyVM":{"description":"Use this data source to access information about an existing VM Backup Policy.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst policy = azure.backup.getPolicyVM({\n    name: \"policy\",\n    recoveryVaultName: \"recovery_vault\",\n    resourceGroupName: \"resource_group\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\npolicy = azure.backup.get_policy_vm(name=\"policy\",\n    recovery_vault_name=\"recovery_vault\",\n    resource_group_name=\"resource_group\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var policy = Azure.Backup.GetPolicyVM.Invoke(new()\n    {\n        Name = \"policy\",\n        RecoveryVaultName = \"recovery_vault\",\n        ResourceGroupName = \"resource_group\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/backup\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := backup.LookupPolicyVM(ctx, \u0026backup.LookupPolicyVMArgs{\n\t\t\tName:              \"policy\",\n\t\t\tRecoveryVaultName: \"recovery_vault\",\n\t\t\tResourceGroupName: \"resource_group\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.backup.BackupFunctions;\nimport com.pulumi.azure.backup.inputs.GetPolicyVMArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var policy = BackupFunctions.getPolicyVM(GetPolicyVMArgs.builder()\n            .name(\"policy\")\n            .recoveryVaultName(\"recovery_vault\")\n            .resourceGroupName(\"resource_group\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  policy:\n    fn::invoke:\n      function: azure:backup:getPolicyVM\n      arguments:\n        name: policy\n        recoveryVaultName: recovery_vault\n        resourceGroupName: resource_group\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getPolicyVM.\n","properties":{"name":{"type":"string","description":"Specifies the name of the VM Backup Policy.\n"},"recoveryVaultName":{"type":"string","description":"Specifies the name of the Recovery Services Vault.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the VM Backup Policy resides.\n"}},"type":"object","required":["name","recoveryVaultName","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getPolicyVM.\n","properties":{"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"name":{"type":"string"},"recoveryVaultName":{"type":"string"},"resourceGroupName":{"type":"string"}},"required":["name","recoveryVaultName","resourceGroupName","id"],"type":"object"}},"azure:batch/getAccount:getAccount":{"description":"Use this data source to access information about an existing Batch Account.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.batch.getAccount({\n    name: \"testbatchaccount\",\n    resourceGroupName: \"test\",\n});\nexport const poolAllocationMode = example.then(example =\u003e example.poolAllocationMode);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.batch.get_account(name=\"testbatchaccount\",\n    resource_group_name=\"test\")\npulumi.export(\"poolAllocationMode\", example.pool_allocation_mode)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Batch.GetAccount.Invoke(new()\n    {\n        Name = \"testbatchaccount\",\n        ResourceGroupName = \"test\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"poolAllocationMode\"] = example.Apply(getAccountResult =\u003e getAccountResult.PoolAllocationMode),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/batch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := batch.LookupAccount(ctx, \u0026batch.LookupAccountArgs{\n\t\t\tName:              \"testbatchaccount\",\n\t\t\tResourceGroupName: \"test\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"poolAllocationMode\", example.PoolAllocationMode)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.batch.BatchFunctions;\nimport com.pulumi.azure.batch.inputs.GetAccountArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = BatchFunctions.getAccount(GetAccountArgs.builder()\n            .name(\"testbatchaccount\")\n            .resourceGroupName(\"test\")\n            .build());\n\n        ctx.export(\"poolAllocationMode\", example.poolAllocationMode());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:batch:getAccount\n      arguments:\n        name: testbatchaccount\n        resourceGroupName: test\noutputs:\n  poolAllocationMode: ${example.poolAllocationMode}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.Batch` - 2024-07-01\n","inputs":{"description":"A collection of arguments for invoking getAccount.\n","properties":{"name":{"type":"string","description":"The name of the Batch account.\n"},"resourceGroupName":{"type":"string","description":"The Name of the Resource Group where this Batch account exists.\n"}},"type":"object","required":["name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getAccount.\n","properties":{"accountEndpoint":{"description":"The account endpoint used to interact with the Batch service.\n","type":"string"},"encryptions":{"description":"The \u003cspan pulumi-lang-nodejs=\"`encryption`\" pulumi-lang-dotnet=\"`Encryption`\" pulumi-lang-go=\"`encryption`\" pulumi-lang-python=\"`encryption`\" pulumi-lang-yaml=\"`encryption`\" pulumi-lang-java=\"`encryption`\"\u003e`encryption`\u003c/span\u003e block that describes the Azure KeyVault key reference used to encrypt data for the Azure Batch account.\n","items":{"$ref":"#/types/azure:batch/getAccountEncryption:getAccountEncryption"},"type":"array"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"keyVaultReferences":{"description":"The \u003cspan pulumi-lang-nodejs=\"`keyVaultReference`\" pulumi-lang-dotnet=\"`KeyVaultReference`\" pulumi-lang-go=\"`keyVaultReference`\" pulumi-lang-python=\"`key_vault_reference`\" pulumi-lang-yaml=\"`keyVaultReference`\" pulumi-lang-java=\"`keyVaultReference`\"\u003e`key_vault_reference`\u003c/span\u003e block that describes the Azure KeyVault reference to use when deploying the Azure Batch account using the `UserSubscription` pool allocation mode.\n","items":{"$ref":"#/types/azure:batch/getAccountKeyVaultReference:getAccountKeyVaultReference"},"type":"array"},"location":{"description":"The Azure Region in which this Batch account exists.\n","type":"string"},"name":{"description":"The Batch account name.\n","type":"string"},"poolAllocationMode":{"description":"The pool allocation mode configured for this Batch account.\n","type":"string"},"primaryAccessKey":{"description":"The Batch account primary access key.\n","secret":true,"type":"string"},"resourceGroupName":{"type":"string"},"secondaryAccessKey":{"description":"The Batch account secondary access key.\n","secret":true,"type":"string"},"storageAccountId":{"description":"The ID of the Storage Account used for this Batch account.\n","type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"A map of tags assigned to the Batch account.\n","type":"object"}},"required":["accountEndpoint","encryptions","keyVaultReferences","location","name","poolAllocationMode","primaryAccessKey","resourceGroupName","secondaryAccessKey","storageAccountId","tags","id"],"type":"object"}},"azure:batch/getApplication:getApplication":{"description":"Use this data source to access information about an existing Batch Application instance.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.batch.getApplication({\n    name: \"testapplication\",\n    resourceGroupName: \"test\",\n    accountName: \"testbatchaccount\",\n});\nexport const batchApplicationId = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.batch.get_application(name=\"testapplication\",\n    resource_group_name=\"test\",\n    account_name=\"testbatchaccount\")\npulumi.export(\"batchApplicationId\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Batch.GetApplication.Invoke(new()\n    {\n        Name = \"testapplication\",\n        ResourceGroupName = \"test\",\n        AccountName = \"testbatchaccount\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"batchApplicationId\"] = example.Apply(getApplicationResult =\u003e getApplicationResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/batch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := batch.LookupApplication(ctx, \u0026batch.LookupApplicationArgs{\n\t\t\tName:              \"testapplication\",\n\t\t\tResourceGroupName: \"test\",\n\t\t\tAccountName:       \"testbatchaccount\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"batchApplicationId\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.batch.BatchFunctions;\nimport com.pulumi.azure.batch.inputs.GetApplicationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = BatchFunctions.getApplication(GetApplicationArgs.builder()\n            .name(\"testapplication\")\n            .resourceGroupName(\"test\")\n            .accountName(\"testbatchaccount\")\n            .build());\n\n        ctx.export(\"batchApplicationId\", example.id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:batch:getApplication\n      arguments:\n        name: testapplication\n        resourceGroupName: test\n        accountName: testbatchaccount\noutputs:\n  batchApplicationId: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.Batch` - 2024-07-01\n","inputs":{"description":"A collection of arguments for invoking getApplication.\n","properties":{"accountName":{"type":"string","description":"The name of the Batch account.\n"},"name":{"type":"string","description":"The name of the Application.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where this Batch account exists.\n"}},"type":"object","required":["accountName","name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getApplication.\n","properties":{"accountName":{"type":"string"},"allowUpdates":{"description":"May packages within the application be overwritten using the same version string.\n","type":"boolean"},"defaultVersion":{"description":"The package to use if a client requests the application but does not specify a version.\n","type":"string"},"displayName":{"description":"The display name for the application.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"name":{"description":"The Batch application name.\n","type":"string"},"resourceGroupName":{"type":"string"}},"required":["accountName","allowUpdates","defaultVersion","displayName","name","resourceGroupName","id"],"type":"object"}},"azure:batch/getCertificate:getCertificate":{"description":"Use this data source to access information about an existing certificate in a Batch Account.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`azure.batch.Certificate`\" pulumi-lang-dotnet=\"`azure.batch.Certificate`\" pulumi-lang-go=\"`batch.Certificate`\" pulumi-lang-python=\"`batch.Certificate`\" pulumi-lang-yaml=\"`azure.batch.Certificate`\" pulumi-lang-java=\"`azure.batch.Certificate`\"\u003e`azure.batch.Certificate`\u003c/span\u003e data source has been deprecated due to Azure retiring the Azure Batch Account Certificates Feature, and will be removed in v5.0 of the AzureRM provider.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.batch.getCertificate({\n    name: \"SHA1-42C107874FD0E4A9583292A2F1098E8FE4B2EDDA\",\n    accountName: \"examplebatchaccount\",\n    resourceGroupName: \"example\",\n});\nexport const thumbprint = example.then(example =\u003e example.thumbprint);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.batch.get_certificate(name=\"SHA1-42C107874FD0E4A9583292A2F1098E8FE4B2EDDA\",\n    account_name=\"examplebatchaccount\",\n    resource_group_name=\"example\")\npulumi.export(\"thumbprint\", example.thumbprint)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Batch.GetCertificate.Invoke(new()\n    {\n        Name = \"SHA1-42C107874FD0E4A9583292A2F1098E8FE4B2EDDA\",\n        AccountName = \"examplebatchaccount\",\n        ResourceGroupName = \"example\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"thumbprint\"] = example.Apply(getCertificateResult =\u003e getCertificateResult.Thumbprint),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/batch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := batch.LookupCertificate(ctx, \u0026batch.LookupCertificateArgs{\n\t\t\tName:              \"SHA1-42C107874FD0E4A9583292A2F1098E8FE4B2EDDA\",\n\t\t\tAccountName:       \"examplebatchaccount\",\n\t\t\tResourceGroupName: \"example\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"thumbprint\", example.Thumbprint)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.batch.BatchFunctions;\nimport com.pulumi.azure.batch.inputs.GetCertificateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = BatchFunctions.getCertificate(GetCertificateArgs.builder()\n            .name(\"SHA1-42C107874FD0E4A9583292A2F1098E8FE4B2EDDA\")\n            .accountName(\"examplebatchaccount\")\n            .resourceGroupName(\"example\")\n            .build());\n\n        ctx.export(\"thumbprint\", example.thumbprint());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:batch:getCertificate\n      arguments:\n        name: SHA1-42C107874FD0E4A9583292A2F1098E8FE4B2EDDA\n        accountName: examplebatchaccount\n        resourceGroupName: example\noutputs:\n  thumbprint: ${example.thumbprint}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.Batch` - 2024-07-01\n","inputs":{"description":"A collection of arguments for invoking getCertificate.\n","properties":{"accountName":{"type":"string","description":"The name of the Batch account.\n"},"name":{"type":"string","description":"The name of the Batch certificate.\n"},"resourceGroupName":{"type":"string","description":"The Name of the Resource Group where this Batch account exists.\n"}},"type":"object","required":["accountName","name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getCertificate.\n","properties":{"accountName":{"type":"string"},"format":{"description":"The format of the certificate, such as `Cer` or `Pfx`.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"name":{"type":"string"},"publicData":{"description":"The public key of the certificate.\n","type":"string"},"resourceGroupName":{"type":"string"},"thumbprint":{"description":"The thumbprint of the certificate.\n","type":"string"},"thumbprintAlgorithm":{"description":"The algorithm of the certificate thumbprint.\n","type":"string"}},"required":["accountName","format","name","publicData","resourceGroupName","thumbprint","thumbprintAlgorithm","id"],"type":"object"}},"azure:batch/getPool:getPool":{"description":"Use this data source to access information about an existing Batch pool\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.batch.getPool({\n    name: \"examplebatchpool\",\n    accountName: \"examplebatchaccount\",\n    resourceGroupName: \"example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.batch.get_pool(name=\"examplebatchpool\",\n    account_name=\"examplebatchaccount\",\n    resource_group_name=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Batch.GetPool.Invoke(new()\n    {\n        Name = \"examplebatchpool\",\n        AccountName = \"examplebatchaccount\",\n        ResourceGroupName = \"example\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/batch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := batch.LookupPool(ctx, \u0026batch.LookupPoolArgs{\n\t\t\tName:              \"examplebatchpool\",\n\t\t\tAccountName:       \"examplebatchaccount\",\n\t\t\tResourceGroupName: \"example\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.batch.BatchFunctions;\nimport com.pulumi.azure.batch.inputs.GetPoolArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = BatchFunctions.getPool(GetPoolArgs.builder()\n            .name(\"examplebatchpool\")\n            .accountName(\"examplebatchaccount\")\n            .resourceGroupName(\"example\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:batch:getPool\n      arguments:\n        name: examplebatchpool\n        accountName: examplebatchaccount\n        resourceGroupName: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.Batch` - 2024-07-01\n","inputs":{"description":"A collection of arguments for invoking getPool.\n","properties":{"accountName":{"type":"string","description":"The Batch Account name associated with the Batch pool.\n"},"name":{"type":"string","description":"The name of the Batch pool.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the Batch pool exists.\n"}},"type":"object","required":["accountName","name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getPool.\n","properties":{"accountName":{"description":"The Azure Storage Account name.\n","type":"string"},"autoScales":{"description":"A \u003cspan pulumi-lang-nodejs=\"`autoScale`\" pulumi-lang-dotnet=\"`AutoScale`\" pulumi-lang-go=\"`autoScale`\" pulumi-lang-python=\"`auto_scale`\" pulumi-lang-yaml=\"`autoScale`\" pulumi-lang-java=\"`autoScale`\"\u003e`auto_scale`\u003c/span\u003e block that describes the scale settings when using auto scale.\n","items":{"$ref":"#/types/azure:batch/getPoolAutoScale:getPoolAutoScale"},"type":"array"},"certificates":{"deprecationMessage":"the \u003cspan pulumi-lang-nodejs=\"`certificate`\" pulumi-lang-dotnet=\"`Certificate`\" pulumi-lang-go=\"`certificate`\" pulumi-lang-python=\"`certificate`\" pulumi-lang-yaml=\"`certificate`\" pulumi-lang-java=\"`certificate`\"\u003e`certificate`\u003c/span\u003e property has been deprecated and will be removed in v5.0 of the AzureRM provider.","items":{"$ref":"#/types/azure:batch/getPoolCertificate:getPoolCertificate"},"type":"array"},"containerConfigurations":{"description":"The container configuration used in the pool's VMs.\n","items":{"$ref":"#/types/azure:batch/getPoolContainerConfiguration:getPoolContainerConfiguration"},"type":"array"},"dataDisks":{"description":"A \u003cspan pulumi-lang-nodejs=\"`dataDisks`\" pulumi-lang-dotnet=\"`DataDisks`\" pulumi-lang-go=\"`dataDisks`\" pulumi-lang-python=\"`data_disks`\" pulumi-lang-yaml=\"`dataDisks`\" pulumi-lang-java=\"`dataDisks`\"\u003e`data_disks`\u003c/span\u003e block describes the data disk settings.\n","items":{"$ref":"#/types/azure:batch/getPoolDataDisk:getPoolDataDisk"},"type":"array"},"diskEncryptions":{"description":"A \u003cspan pulumi-lang-nodejs=\"`diskEncryption`\" pulumi-lang-dotnet=\"`DiskEncryption`\" pulumi-lang-go=\"`diskEncryption`\" pulumi-lang-python=\"`disk_encryption`\" pulumi-lang-yaml=\"`diskEncryption`\" pulumi-lang-java=\"`diskEncryption`\"\u003e`disk_encryption`\u003c/span\u003e block describes the disk encryption configuration applied on compute nodes in the pool.\n","items":{"$ref":"#/types/azure:batch/getPoolDiskEncryption:getPoolDiskEncryption"},"type":"array"},"displayName":{"type":"string"},"extensions":{"description":"An \u003cspan pulumi-lang-nodejs=\"`extensions`\" pulumi-lang-dotnet=\"`Extensions`\" pulumi-lang-go=\"`extensions`\" pulumi-lang-python=\"`extensions`\" pulumi-lang-yaml=\"`extensions`\" pulumi-lang-java=\"`extensions`\"\u003e`extensions`\u003c/span\u003e block describes the extension settings\n","items":{"$ref":"#/types/azure:batch/getPoolExtension:getPoolExtension"},"type":"array"},"fixedScales":{"description":"A \u003cspan pulumi-lang-nodejs=\"`fixedScale`\" pulumi-lang-dotnet=\"`FixedScale`\" pulumi-lang-go=\"`fixedScale`\" pulumi-lang-python=\"`fixed_scale`\" pulumi-lang-yaml=\"`fixedScale`\" pulumi-lang-java=\"`fixedScale`\"\u003e`fixed_scale`\u003c/span\u003e block that describes the scale settings when using fixed scale.\n","items":{"$ref":"#/types/azure:batch/getPoolFixedScale:getPoolFixedScale"},"type":"array"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"interNodeCommunication":{"description":"Whether the pool permits direct communication between nodes. This imposes restrictions on which nodes can be assigned to the pool. Enabling this value can reduce the chance of the requested number of nodes to be allocated in the pool.\n","type":"string"},"licenseType":{"description":"The type of on-premises license to be used when deploying the operating system.\n","type":"string"},"maxTasksPerNode":{"description":"The maximum number of tasks that can run concurrently on a single compute node in the pool.\n","type":"integer"},"metadata":{"additionalProperties":{"type":"string"},"type":"object"},"mounts":{"description":"A \u003cspan pulumi-lang-nodejs=\"`mount`\" pulumi-lang-dotnet=\"`Mount`\" pulumi-lang-go=\"`mount`\" pulumi-lang-python=\"`mount`\" pulumi-lang-yaml=\"`mount`\" pulumi-lang-java=\"`mount`\"\u003e`mount`\u003c/span\u003e block that describes mount configuration.\n","items":{"$ref":"#/types/azure:batch/getPoolMount:getPoolMount"},"type":"array"},"name":{"description":"The name of the user account.\n","type":"string"},"networkConfigurations":{"items":{"$ref":"#/types/azure:batch/getPoolNetworkConfiguration:getPoolNetworkConfiguration"},"type":"array"},"nodeAgentSkuId":{"description":"The SKU of the node agents in the Batch pool.\n","type":"string"},"nodePlacements":{"description":"A \u003cspan pulumi-lang-nodejs=\"`nodePlacement`\" pulumi-lang-dotnet=\"`NodePlacement`\" pulumi-lang-go=\"`nodePlacement`\" pulumi-lang-python=\"`node_placement`\" pulumi-lang-yaml=\"`nodePlacement`\" pulumi-lang-java=\"`nodePlacement`\"\u003e`node_placement`\u003c/span\u003e block that describes the placement policy for allocating nodes in the pool.\n","items":{"$ref":"#/types/azure:batch/getPoolNodePlacement:getPoolNodePlacement"},"type":"array"},"osDiskPlacement":{"description":"Specifies the ephemeral disk placement for operating system disk for all VMs in the pool.\n","type":"string"},"resourceGroupName":{"type":"string"},"startTasks":{"description":"A \u003cspan pulumi-lang-nodejs=\"`startTask`\" pulumi-lang-dotnet=\"`StartTask`\" pulumi-lang-go=\"`startTask`\" pulumi-lang-python=\"`start_task`\" pulumi-lang-yaml=\"`startTask`\" pulumi-lang-java=\"`startTask`\"\u003e`start_task`\u003c/span\u003e block that describes the start task settings for the Batch pool.\n","items":{"$ref":"#/types/azure:batch/getPoolStartTask:getPoolStartTask"},"type":"array"},"storageImageReferences":{"description":"The reference of the storage image used by the nodes in the Batch pool.\n","items":{"$ref":"#/types/azure:batch/getPoolStorageImageReference:getPoolStorageImageReference"},"type":"array"},"taskSchedulingPolicies":{"description":"A \u003cspan pulumi-lang-nodejs=\"`taskSchedulingPolicy`\" pulumi-lang-dotnet=\"`TaskSchedulingPolicy`\" pulumi-lang-go=\"`taskSchedulingPolicy`\" pulumi-lang-python=\"`task_scheduling_policy`\" pulumi-lang-yaml=\"`taskSchedulingPolicy`\" pulumi-lang-java=\"`taskSchedulingPolicy`\"\u003e`task_scheduling_policy`\u003c/span\u003e block that describes how tasks are distributed across compute nodes in a pool.\n","items":{"$ref":"#/types/azure:batch/getPoolTaskSchedulingPolicy:getPoolTaskSchedulingPolicy"},"type":"array"},"userAccounts":{"description":"A \u003cspan pulumi-lang-nodejs=\"`userAccounts`\" pulumi-lang-dotnet=\"`UserAccounts`\" pulumi-lang-go=\"`userAccounts`\" pulumi-lang-python=\"`user_accounts`\" pulumi-lang-yaml=\"`userAccounts`\" pulumi-lang-java=\"`userAccounts`\"\u003e`user_accounts`\u003c/span\u003e block that describes the list of user accounts to be created on each node in the pool.\n","items":{"$ref":"#/types/azure:batch/getPoolUserAccount:getPoolUserAccount"},"type":"array"},"vmSize":{"description":"The size of the VM created in the Batch pool.\n","type":"string"},"windows":{"description":"A \u003cspan pulumi-lang-nodejs=\"`windows`\" pulumi-lang-dotnet=\"`Windows`\" pulumi-lang-go=\"`windows`\" pulumi-lang-python=\"`windows`\" pulumi-lang-yaml=\"`windows`\" pulumi-lang-java=\"`windows`\"\u003e`windows`\u003c/span\u003e block that describes the Windows configuration in the pool.\n","items":{"$ref":"#/types/azure:batch/getPoolWindow:getPoolWindow"},"type":"array"}},"required":["accountName","autoScales","certificates","containerConfigurations","dataDisks","diskEncryptions","displayName","extensions","fixedScales","interNodeCommunication","licenseType","maxTasksPerNode","metadata","mounts","name","networkConfigurations","nodeAgentSkuId","nodePlacements","osDiskPlacement","resourceGroupName","startTasks","storageImageReferences","taskSchedulingPolicies","userAccounts","vmSize","windows","id"],"type":"object"}},"azure:billing/getEnrollmentAccountScope:getEnrollmentAccountScope":{"description":"Use this data source to access information about an existing Enrollment Account Billing Scope.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.billing.getEnrollmentAccountScope({\n    billingAccountName: \"existing\",\n    enrollmentAccountName: \"existing\",\n});\nexport const id = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.billing.get_enrollment_account_scope(billing_account_name=\"existing\",\n    enrollment_account_name=\"existing\")\npulumi.export(\"id\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Billing.GetEnrollmentAccountScope.Invoke(new()\n    {\n        BillingAccountName = \"existing\",\n        EnrollmentAccountName = \"existing\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"id\"] = example.Apply(getEnrollmentAccountScopeResult =\u003e getEnrollmentAccountScopeResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/billing\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := billing.GetEnrollmentAccountScope(ctx, \u0026billing.GetEnrollmentAccountScopeArgs{\n\t\t\tBillingAccountName:    \"existing\",\n\t\t\tEnrollmentAccountName: \"existing\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"id\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.billing.BillingFunctions;\nimport com.pulumi.azure.billing.inputs.GetEnrollmentAccountScopeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = BillingFunctions.getEnrollmentAccountScope(GetEnrollmentAccountScopeArgs.builder()\n            .billingAccountName(\"existing\")\n            .enrollmentAccountName(\"existing\")\n            .build());\n\n        ctx.export(\"id\", example.id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:billing:getEnrollmentAccountScope\n      arguments:\n        billingAccountName: existing\n        enrollmentAccountName: existing\noutputs:\n  id: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getEnrollmentAccountScope.\n","properties":{"billingAccountName":{"type":"string","description":"The Billing Account Name of the Enterprise Account.\n"},"enrollmentAccountName":{"type":"string","description":"The Enrollment Account Name in the above Enterprise Account.\n"}},"type":"object","required":["billingAccountName","enrollmentAccountName"]},"outputs":{"description":"A collection of values returned by getEnrollmentAccountScope.\n","properties":{"billingAccountName":{"type":"string"},"enrollmentAccountName":{"type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"}},"required":["billingAccountName","enrollmentAccountName","id"],"type":"object"}},"azure:billing/getMcaAccountScope:getMcaAccountScope":{"description":"Use this data source to access an ID for your MCA Account billing scope.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.billing.getMcaAccountScope({\n    billingAccountName: \"e879cf0f-2b4d-5431-109a-f72fc9868693:024cabf4-7321-4cf9-be59-df0c77ca51de_2019-05-31\",\n    billingProfileName: \"PE2Q-NOIT-BG7-TGB\",\n    invoiceSectionName: \"MTT4-OBS7-PJA-TGB\",\n});\nexport const id = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.billing.get_mca_account_scope(billing_account_name=\"e879cf0f-2b4d-5431-109a-f72fc9868693:024cabf4-7321-4cf9-be59-df0c77ca51de_2019-05-31\",\n    billing_profile_name=\"PE2Q-NOIT-BG7-TGB\",\n    invoice_section_name=\"MTT4-OBS7-PJA-TGB\")\npulumi.export(\"id\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Billing.GetMcaAccountScope.Invoke(new()\n    {\n        BillingAccountName = \"e879cf0f-2b4d-5431-109a-f72fc9868693:024cabf4-7321-4cf9-be59-df0c77ca51de_2019-05-31\",\n        BillingProfileName = \"PE2Q-NOIT-BG7-TGB\",\n        InvoiceSectionName = \"MTT4-OBS7-PJA-TGB\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"id\"] = example.Apply(getMcaAccountScopeResult =\u003e getMcaAccountScopeResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/billing\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := billing.GetMcaAccountScope(ctx, \u0026billing.GetMcaAccountScopeArgs{\n\t\t\tBillingAccountName: \"e879cf0f-2b4d-5431-109a-f72fc9868693:024cabf4-7321-4cf9-be59-df0c77ca51de_2019-05-31\",\n\t\t\tBillingProfileName: \"PE2Q-NOIT-BG7-TGB\",\n\t\t\tInvoiceSectionName: \"MTT4-OBS7-PJA-TGB\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"id\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.billing.BillingFunctions;\nimport com.pulumi.azure.billing.inputs.GetMcaAccountScopeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = BillingFunctions.getMcaAccountScope(GetMcaAccountScopeArgs.builder()\n            .billingAccountName(\"e879cf0f-2b4d-5431-109a-f72fc9868693:024cabf4-7321-4cf9-be59-df0c77ca51de_2019-05-31\")\n            .billingProfileName(\"PE2Q-NOIT-BG7-TGB\")\n            .invoiceSectionName(\"MTT4-OBS7-PJA-TGB\")\n            .build());\n\n        ctx.export(\"id\", example.id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:billing:getMcaAccountScope\n      arguments:\n        billingAccountName: e879cf0f-2b4d-5431-109a-f72fc9868693:024cabf4-7321-4cf9-be59-df0c77ca51de_2019-05-31\n        billingProfileName: PE2Q-NOIT-BG7-TGB\n        invoiceSectionName: MTT4-OBS7-PJA-TGB\noutputs:\n  id: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getMcaAccountScope.\n","properties":{"billingAccountName":{"type":"string","description":"The Billing Account Name of the MCA account.\n"},"billingProfileName":{"type":"string","description":"The Billing Profile Name in the above Billing Account.\n"},"invoiceSectionName":{"type":"string","description":"The Invoice Section Name in the above Billing Profile.\n"}},"type":"object","required":["billingAccountName","billingProfileName","invoiceSectionName"]},"outputs":{"description":"A collection of values returned by getMcaAccountScope.\n","properties":{"billingAccountName":{"type":"string"},"billingProfileName":{"type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"invoiceSectionName":{"type":"string"}},"required":["billingAccountName","billingProfileName","invoiceSectionName","id"],"type":"object"}},"azure:billing/getMpaAccountScope:getMpaAccountScope":{"description":"Use this data source to access an ID for your MPA Account billing scope.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.billing.getMpaAccountScope({\n    billingAccountName: \"e879cf0f-2b4d-5431-109a-f72fc9868693:024cabf4-7321-4cf9-be59-df0c77ca51de_2019-05-31\",\n    customerName: \"2281f543-7321-4cf9-1e23-edb4Oc31a31c\",\n});\nexport const id = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.billing.get_mpa_account_scope(billing_account_name=\"e879cf0f-2b4d-5431-109a-f72fc9868693:024cabf4-7321-4cf9-be59-df0c77ca51de_2019-05-31\",\n    customer_name=\"2281f543-7321-4cf9-1e23-edb4Oc31a31c\")\npulumi.export(\"id\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Billing.GetMpaAccountScope.Invoke(new()\n    {\n        BillingAccountName = \"e879cf0f-2b4d-5431-109a-f72fc9868693:024cabf4-7321-4cf9-be59-df0c77ca51de_2019-05-31\",\n        CustomerName = \"2281f543-7321-4cf9-1e23-edb4Oc31a31c\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"id\"] = example.Apply(getMpaAccountScopeResult =\u003e getMpaAccountScopeResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/billing\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := billing.GetMpaAccountScope(ctx, \u0026billing.GetMpaAccountScopeArgs{\n\t\t\tBillingAccountName: \"e879cf0f-2b4d-5431-109a-f72fc9868693:024cabf4-7321-4cf9-be59-df0c77ca51de_2019-05-31\",\n\t\t\tCustomerName:       \"2281f543-7321-4cf9-1e23-edb4Oc31a31c\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"id\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.billing.BillingFunctions;\nimport com.pulumi.azure.billing.inputs.GetMpaAccountScopeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = BillingFunctions.getMpaAccountScope(GetMpaAccountScopeArgs.builder()\n            .billingAccountName(\"e879cf0f-2b4d-5431-109a-f72fc9868693:024cabf4-7321-4cf9-be59-df0c77ca51de_2019-05-31\")\n            .customerName(\"2281f543-7321-4cf9-1e23-edb4Oc31a31c\")\n            .build());\n\n        ctx.export(\"id\", example.id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:billing:getMpaAccountScope\n      arguments:\n        billingAccountName: e879cf0f-2b4d-5431-109a-f72fc9868693:024cabf4-7321-4cf9-be59-df0c77ca51de_2019-05-31\n        customerName: 2281f543-7321-4cf9-1e23-edb4Oc31a31c\noutputs:\n  id: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getMpaAccountScope.\n","properties":{"billingAccountName":{"type":"string","description":"The Billing Account Name of the MPA account.\n"},"customerName":{"type":"string","description":"The Customer Name in the above Billing Account.\n"}},"type":"object","required":["billingAccountName","customerName"]},"outputs":{"description":"A collection of values returned by getMpaAccountScope.\n","properties":{"billingAccountName":{"type":"string"},"customerName":{"type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"}},"required":["billingAccountName","customerName","id"],"type":"object"}},"azure:blueprint/getDefinition:getDefinition":{"description":"Use this data source to access information about an existing Azure Blueprint Definition\n\n\u003e **Note:** Azure Blueprints are in Preview and potentially subject to breaking change without notice.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst current = azure.core.getClientConfig({});\nconst root = current.then(current =\u003e azure.management.getGroup({\n    name: current.tenantId,\n}));\nconst example = root.then(root =\u003e azure.blueprint.getDefinition({\n    name: \"exampleManagementGroupBP\",\n    scopeId: root.id,\n}));\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\ncurrent = azure.core.get_client_config()\nroot = azure.management.get_group(name=current.tenant_id)\nexample = azure.blueprint.get_definition(name=\"exampleManagementGroupBP\",\n    scope_id=root.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var current = Azure.Core.GetClientConfig.Invoke();\n\n    var root = Azure.Management.GetGroup.Invoke(new()\n    {\n        Name = current.Apply(getClientConfigResult =\u003e getClientConfigResult.TenantId),\n    });\n\n    var example = Azure.Blueprint.GetDefinition.Invoke(new()\n    {\n        Name = \"exampleManagementGroupBP\",\n        ScopeId = root.Apply(getGroupResult =\u003e getGroupResult.Id),\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/blueprint\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/management\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := core.GetClientConfig(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\troot, err := management.LookupGroup(ctx, \u0026management.LookupGroupArgs{\n\t\t\tName: pulumi.StringRef(current.TenantId),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = blueprint.GetDefinition(ctx, \u0026blueprint.GetDefinitionArgs{\n\t\t\tName:    \"exampleManagementGroupBP\",\n\t\t\tScopeId: root.Id,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.management.ManagementFunctions;\nimport com.pulumi.azure.management.inputs.GetGroupArgs;\nimport com.pulumi.azure.blueprint.BlueprintFunctions;\nimport com.pulumi.azure.blueprint.inputs.GetDefinitionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var current = CoreFunctions.getClientConfig(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n        final var root = ManagementFunctions.getGroup(GetGroupArgs.builder()\n            .name(current.tenantId())\n            .build());\n\n        final var example = BlueprintFunctions.getDefinition(GetDefinitionArgs.builder()\n            .name(\"exampleManagementGroupBP\")\n            .scopeId(root.id())\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  current:\n    fn::invoke:\n      function: azure:core:getClientConfig\n      arguments: {}\n  root:\n    fn::invoke:\n      function: azure:management:getGroup\n      arguments:\n        name: ${current.tenantId}\n  example:\n    fn::invoke:\n      function: azure:blueprint:getDefinition\n      arguments:\n        name: exampleManagementGroupBP\n        scopeId: ${root.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.Blueprint` - 2018-11-01-preview\n","inputs":{"description":"A collection of arguments for invoking getDefinition.\n","properties":{"name":{"type":"string","description":"The name of the Blueprint.\n"},"scopeId":{"type":"string","description":"The ID of the Subscription or Management Group, as the scope at which the blueprint definition is stored.\n"}},"type":"object","required":["name","scopeId"]},"outputs":{"description":"A collection of values returned by getDefinition.\n","properties":{"description":{"description":"The description of the Blueprint Definition.\n","type":"string"},"displayName":{"description":"The display name of the Blueprint Definition.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"lastModified":{"description":"The timestamp of when this last modification was saved to the Blueprint Definition.\n","type":"string"},"name":{"type":"string"},"scopeId":{"type":"string"},"targetScope":{"description":"The target scope.\n","type":"string"},"timeCreated":{"description":"The timestamp of when this Blueprint Definition was created.\n","type":"string"},"versions":{"description":"A list of versions published for this Blueprint Definition.\n","items":{"type":"string"},"type":"array"}},"required":["description","displayName","lastModified","name","scopeId","targetScope","timeCreated","versions","id"],"type":"object"}},"azure:blueprint/getPublishedVersion:getPublishedVersion":{"description":"Use this data source to access information about an existing Blueprint Published Version\n\n\u003e **Note:** Azure Blueprints are in Preview and potentially subject to breaking change without notice.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst current = azure.core.getSubscription({});\nconst test = current.then(current =\u003e azure.blueprint.getPublishedVersion({\n    scopeId: current.id,\n    blueprintName: \"exampleBluePrint\",\n    version: \"dev_v2.3\",\n}));\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\ncurrent = azure.core.get_subscription()\ntest = azure.blueprint.get_published_version(scope_id=current.id,\n    blueprint_name=\"exampleBluePrint\",\n    version=\"dev_v2.3\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var current = Azure.Core.GetSubscription.Invoke();\n\n    var test = Azure.Blueprint.GetPublishedVersion.Invoke(new()\n    {\n        ScopeId = current.Apply(getSubscriptionResult =\u003e getSubscriptionResult.Id),\n        BlueprintName = \"exampleBluePrint\",\n        Version = \"dev_v2.3\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/blueprint\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := core.LookupSubscription(ctx, \u0026core.LookupSubscriptionArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = blueprint.GetPublishedVersion(ctx, \u0026blueprint.GetPublishedVersionArgs{\n\t\t\tScopeId:       current.Id,\n\t\t\tBlueprintName: \"exampleBluePrint\",\n\t\t\tVersion:       \"dev_v2.3\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.core.inputs.GetSubscriptionArgs;\nimport com.pulumi.azure.blueprint.BlueprintFunctions;\nimport com.pulumi.azure.blueprint.inputs.GetPublishedVersionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var current = CoreFunctions.getSubscription(GetSubscriptionArgs.builder()\n            .build());\n\n        final var test = BlueprintFunctions.getPublishedVersion(GetPublishedVersionArgs.builder()\n            .scopeId(current.id())\n            .blueprintName(\"exampleBluePrint\")\n            .version(\"dev_v2.3\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  current:\n    fn::invoke:\n      function: azure:core:getSubscription\n      arguments: {}\n  test:\n    fn::invoke:\n      function: azure:blueprint:getPublishedVersion\n      arguments:\n        scopeId: ${current.id}\n        blueprintName: exampleBluePrint\n        version: dev_v2.3\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.Blueprint` - 2018-11-01-preview\n","inputs":{"description":"A collection of arguments for invoking getPublishedVersion.\n","properties":{"blueprintName":{"type":"string","description":"The name of the Blueprint Definition\n"},"scopeId":{"type":"string","description":"The ID of the Management Group / Subscription where this Blueprint Definition is stored.\n"},"version":{"type":"string","description":"The Version name of the Published Version of the Blueprint Definition\n"}},"type":"object","required":["blueprintName","scopeId","version"]},"outputs":{"description":"A collection of values returned by getPublishedVersion.\n","properties":{"blueprintName":{"type":"string"},"description":{"description":"The description of the Blueprint Published Version\n","type":"string"},"displayName":{"description":"The display name of the Blueprint Published Version\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"lastModified":{"type":"string"},"scopeId":{"type":"string"},"targetScope":{"description":"The target scope\n","type":"string"},"timeCreated":{"type":"string"},"type":{"description":"The type of the Blueprint\n","type":"string"},"version":{"type":"string"}},"required":["blueprintName","description","displayName","lastModified","scopeId","targetScope","timeCreated","type","version","id"],"type":"object"}},"azure:cdn/getFrontdoorCustomDomain:getFrontdoorCustomDomain":{"description":"Use this data source to access information about an existing Front Door (standard/premium) Custom Domain.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.cdn.getFrontdoorCustomDomain({\n    name: exampleAzurermCdnFrontdoorCustomDomain.name,\n    profileName: exampleAzurermCdnFrontdoorProfile.name,\n    resourceGroupName: exampleAzurermCdnFrontdoorProfile.resourceGroupName,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.cdn.get_frontdoor_custom_domain(name=example_azurerm_cdn_frontdoor_custom_domain[\"name\"],\n    profile_name=example_azurerm_cdn_frontdoor_profile[\"name\"],\n    resource_group_name=example_azurerm_cdn_frontdoor_profile[\"resourceGroupName\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Cdn.GetFrontdoorCustomDomain.Invoke(new()\n    {\n        Name = exampleAzurermCdnFrontdoorCustomDomain.Name,\n        ProfileName = exampleAzurermCdnFrontdoorProfile.Name,\n        ResourceGroupName = exampleAzurermCdnFrontdoorProfile.ResourceGroupName,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/cdn\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cdn.LookupFrontdoorCustomDomain(ctx, \u0026cdn.LookupFrontdoorCustomDomainArgs{\n\t\t\tName:              exampleAzurermCdnFrontdoorCustomDomain.Name,\n\t\t\tProfileName:       exampleAzurermCdnFrontdoorProfile.Name,\n\t\t\tResourceGroupName: exampleAzurermCdnFrontdoorProfile.ResourceGroupName,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.cdn.CdnFunctions;\nimport com.pulumi.azure.cdn.inputs.GetFrontdoorCustomDomainArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = CdnFunctions.getFrontdoorCustomDomain(GetFrontdoorCustomDomainArgs.builder()\n            .name(exampleAzurermCdnFrontdoorCustomDomain.name())\n            .profileName(exampleAzurermCdnFrontdoorProfile.name())\n            .resourceGroupName(exampleAzurermCdnFrontdoorProfile.resourceGroupName())\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:cdn:getFrontdoorCustomDomain\n      arguments:\n        name: ${exampleAzurermCdnFrontdoorCustomDomain.name}\n        profileName: ${exampleAzurermCdnFrontdoorProfile.name}\n        resourceGroupName: ${exampleAzurermCdnFrontdoorProfile.resourceGroupName}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getFrontdoorCustomDomain.\n","properties":{"name":{"type":"string","description":"The name of the Front Door Custom Domain.\n"},"profileName":{"type":"string","description":"The name of the Front Door Profile which the Front Door Custom Domain is bound to.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Front Door Profile exists.\n"}},"type":"object","required":["name","profileName","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getFrontdoorCustomDomain.\n","properties":{"cdnFrontdoorProfileId":{"description":"The ID of the Front Door Profile which the Front Door Custom Domain is bound to.\n","type":"string"},"dnsZoneId":{"type":"string"},"expirationDate":{"description":"The date time that the token expires.\n","type":"string"},"hostName":{"description":"The host name of the domain.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"name":{"type":"string"},"profileName":{"type":"string"},"resourceGroupName":{"type":"string"},"tls":{"description":"A \u003cspan pulumi-lang-nodejs=\"`tls`\" pulumi-lang-dotnet=\"`Tls`\" pulumi-lang-go=\"`tls`\" pulumi-lang-python=\"`tls`\" pulumi-lang-yaml=\"`tls`\" pulumi-lang-java=\"`tls`\"\u003e`tls`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:cdn/getFrontdoorCustomDomainTl:getFrontdoorCustomDomainTl"},"type":"array"},"validationToken":{"description":"The challenge used for DNS TXT record or file based validation.\n","type":"string"}},"required":["cdnFrontdoorProfileId","dnsZoneId","expirationDate","hostName","name","profileName","resourceGroupName","tls","validationToken","id"],"type":"object"}},"azure:cdn/getFrontdoorEndpoint:getFrontdoorEndpoint":{"description":"Use this data source to access information about an existing Front Door (standard/premium) Endpoint.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.cdn.getFrontdoorEndpoint({\n    name: \"existing-endpoint\",\n    profileName: \"existing-cdn-profile\",\n    resourceGroupName: \"existing-resources\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.cdn.get_frontdoor_endpoint(name=\"existing-endpoint\",\n    profile_name=\"existing-cdn-profile\",\n    resource_group_name=\"existing-resources\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Cdn.GetFrontdoorEndpoint.Invoke(new()\n    {\n        Name = \"existing-endpoint\",\n        ProfileName = \"existing-cdn-profile\",\n        ResourceGroupName = \"existing-resources\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/cdn\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cdn.LookupFrontdoorEndpoint(ctx, \u0026cdn.LookupFrontdoorEndpointArgs{\n\t\t\tName:              \"existing-endpoint\",\n\t\t\tProfileName:       \"existing-cdn-profile\",\n\t\t\tResourceGroupName: \"existing-resources\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.cdn.CdnFunctions;\nimport com.pulumi.azure.cdn.inputs.GetFrontdoorEndpointArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = CdnFunctions.getFrontdoorEndpoint(GetFrontdoorEndpointArgs.builder()\n            .name(\"existing-endpoint\")\n            .profileName(\"existing-cdn-profile\")\n            .resourceGroupName(\"existing-resources\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:cdn:getFrontdoorEndpoint\n      arguments:\n        name: existing-endpoint\n        profileName: existing-cdn-profile\n        resourceGroupName: existing-resources\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getFrontdoorEndpoint.\n","properties":{"name":{"type":"string","description":"Specifies the name of the Front Door Endpoint.\n"},"profileName":{"type":"string","description":"The name of the Front Door Profile within which Front Door Endpoint exists.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Front Door Profile exists.\n"}},"type":"object","required":["name","profileName","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getFrontdoorEndpoint.\n","properties":{"enabled":{"description":"Specifies whether this Front Door Endpoint is enabled or not.\n","type":"boolean"},"hostName":{"description":"Specifies the host name of the Front Door Endpoint, in the format `{endpointName}.{dnsZone}` (for example, `contoso.azureedge.net`).\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"name":{"type":"string"},"profileName":{"type":"string"},"resourceGroupName":{"type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"Specifies a mapping of Tags assigned to this Front Door Endpoint.\n","type":"object"}},"required":["enabled","hostName","name","profileName","resourceGroupName","tags","id"],"type":"object"}},"azure:cdn/getFrontdoorFirewallPolicy:getFrontdoorFirewallPolicy":{"description":"Use this data source to access information about an existing Front Door (standard/premium) Firewall Policy.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.cdn.getFrontdoorFirewallPolicy({\n    name: \"examplecdnfdwafpolicy\",\n    resourceGroupName: exampleAzurermResourceGroup.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.cdn.get_frontdoor_firewall_policy(name=\"examplecdnfdwafpolicy\",\n    resource_group_name=example_azurerm_resource_group[\"name\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Cdn.GetFrontdoorFirewallPolicy.Invoke(new()\n    {\n        Name = \"examplecdnfdwafpolicy\",\n        ResourceGroupName = exampleAzurermResourceGroup.Name,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/cdn\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cdn.LookupFrontdoorFirewallPolicy(ctx, \u0026cdn.LookupFrontdoorFirewallPolicyArgs{\n\t\t\tName:              \"examplecdnfdwafpolicy\",\n\t\t\tResourceGroupName: exampleAzurermResourceGroup.Name,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.cdn.CdnFunctions;\nimport com.pulumi.azure.cdn.inputs.GetFrontdoorFirewallPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = CdnFunctions.getFrontdoorFirewallPolicy(GetFrontdoorFirewallPolicyArgs.builder()\n            .name(\"examplecdnfdwafpolicy\")\n            .resourceGroupName(exampleAzurermResourceGroup.name())\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:cdn:getFrontdoorFirewallPolicy\n      arguments:\n        name: examplecdnfdwafpolicy\n        resourceGroupName: ${exampleAzurermResourceGroup.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getFrontdoorFirewallPolicy.\n","properties":{"name":{"type":"string","description":"The name of the Front Door Firewall Policy.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group.\n"}},"type":"object","required":["name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getFrontdoorFirewallPolicy.\n","properties":{"captchaCookieExpirationInMinutes":{"description":"The Front Door Firewall Policy Captcha cookie lifetime in minutes.\n","type":"integer"},"enabled":{"description":"The enabled state of the Front Door Firewall Policy.\n","type":"boolean"},"frontendEndpointIds":{"description":"The Front Door Profiles frontend endpoints associated with this Front Door Firewall Policy.\n","items":{"type":"string"},"type":"array"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"jsChallengeCookieExpirationInMinutes":{"description":"The Front Door Firewall Policy JavaScript challenge cookie lifetime in minutes.\n","type":"integer"},"mode":{"description":"The Front Door Firewall Policy mode.\n","type":"string"},"name":{"type":"string"},"redirectUrl":{"description":"The redirect URL for the client.\n","type":"string"},"resourceGroupName":{"type":"string"},"skuName":{"description":"The sku's pricing tier for this Front Door Firewall Policy.\n","type":"string"}},"required":["captchaCookieExpirationInMinutes","enabled","frontendEndpointIds","jsChallengeCookieExpirationInMinutes","mode","name","redirectUrl","resourceGroupName","skuName","id"],"type":"object"}},"azure:cdn/getFrontdoorOriginGroup:getFrontdoorOriginGroup":{"description":"Use this data source to access information about an existing Front Door (standard/premium) Origin Group.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.cdn.getFrontdoorOriginGroup({\n    name: \"example-origin-group\",\n    profileName: \"example-profile\",\n    resourceGroupName: \"example-resources\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.cdn.get_frontdoor_origin_group(name=\"example-origin-group\",\n    profile_name=\"example-profile\",\n    resource_group_name=\"example-resources\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Cdn.GetFrontdoorOriginGroup.Invoke(new()\n    {\n        Name = \"example-origin-group\",\n        ProfileName = \"example-profile\",\n        ResourceGroupName = \"example-resources\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/cdn\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cdn.LookupFrontdoorOriginGroup(ctx, \u0026cdn.LookupFrontdoorOriginGroupArgs{\n\t\t\tName:              \"example-origin-group\",\n\t\t\tProfileName:       \"example-profile\",\n\t\t\tResourceGroupName: \"example-resources\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.cdn.CdnFunctions;\nimport com.pulumi.azure.cdn.inputs.GetFrontdoorOriginGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = CdnFunctions.getFrontdoorOriginGroup(GetFrontdoorOriginGroupArgs.builder()\n            .name(\"example-origin-group\")\n            .profileName(\"example-profile\")\n            .resourceGroupName(\"example-resources\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:cdn:getFrontdoorOriginGroup\n      arguments:\n        name: example-origin-group\n        profileName: example-profile\n        resourceGroupName: example-resources\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getFrontdoorOriginGroup.\n","properties":{"name":{"type":"string","description":"Specifies the name of the Front Door Origin Group.\n"},"profileName":{"type":"string","description":"The name of the Front Door Profile within which Front Door Origin Group exists.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Front Door Profile exists.\n"}},"type":"object","required":["name","profileName","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getFrontdoorOriginGroup.\n","properties":{"cdnFrontdoorProfileId":{"description":"Specifies the ID of the Front Door Profile within which this Front Door Origin Group exists.\n","type":"string"},"healthProbes":{"description":"A \u003cspan pulumi-lang-nodejs=\"`healthProbe`\" pulumi-lang-dotnet=\"`HealthProbe`\" pulumi-lang-go=\"`healthProbe`\" pulumi-lang-python=\"`health_probe`\" pulumi-lang-yaml=\"`healthProbe`\" pulumi-lang-java=\"`healthProbe`\"\u003e`health_probe`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:cdn/getFrontdoorOriginGroupHealthProbe:getFrontdoorOriginGroupHealthProbe"},"type":"array"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"loadBalancings":{"description":"A \u003cspan pulumi-lang-nodejs=\"`loadBalancing`\" pulumi-lang-dotnet=\"`LoadBalancing`\" pulumi-lang-go=\"`loadBalancing`\" pulumi-lang-python=\"`load_balancing`\" pulumi-lang-yaml=\"`loadBalancing`\" pulumi-lang-java=\"`loadBalancing`\"\u003e`load_balancing`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:cdn/getFrontdoorOriginGroupLoadBalancing:getFrontdoorOriginGroupLoadBalancing"},"type":"array"},"name":{"type":"string"},"profileName":{"type":"string"},"resourceGroupName":{"type":"string"},"restoreTrafficTimeToHealedOrNewEndpointInMinutes":{"type":"integer"},"sessionAffinityEnabled":{"description":"Specifies whether session affinity is enabled on this host.\n","type":"boolean"}},"required":["cdnFrontdoorProfileId","healthProbes","loadBalancings","name","profileName","resourceGroupName","restoreTrafficTimeToHealedOrNewEndpointInMinutes","sessionAffinityEnabled","id"],"type":"object"}},"azure:cdn/getFrontdoorProfile:getFrontdoorProfile":{"description":"Use this data source to access information about an existing Front Door (standard/premium) Profile.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.cdn.getFrontdoorProfile({\n    name: \"existing-cdn-profile\",\n    resourceGroupName: \"existing-resources\",\n});\nexport const frontDoorId = example.then(example =\u003e example.id);\nexport const logScrubbingMatchVariable = example.then(example =\u003e example.logScrubbingRules?.[0]?.matchVariable);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.cdn.get_frontdoor_profile(name=\"existing-cdn-profile\",\n    resource_group_name=\"existing-resources\")\npulumi.export(\"frontDoorId\", example.id)\npulumi.export(\"logScrubbingMatchVariable\", example.log_scrubbing_rules[0].match_variable)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Cdn.GetFrontdoorProfile.Invoke(new()\n    {\n        Name = \"existing-cdn-profile\",\n        ResourceGroupName = \"existing-resources\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"frontDoorId\"] = example.Apply(getFrontdoorProfileResult =\u003e getFrontdoorProfileResult.Id),\n        [\"logScrubbingMatchVariable\"] = example.Apply(getFrontdoorProfileResult =\u003e getFrontdoorProfileResult.LogScrubbingRules[0]?.MatchVariable),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/cdn\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := cdn.LookupFrontdoorProfile(ctx, \u0026cdn.LookupFrontdoorProfileArgs{\n\t\t\tName:              \"existing-cdn-profile\",\n\t\t\tResourceGroupName: \"existing-resources\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"frontDoorId\", example.Id)\n\t\tctx.Export(\"logScrubbingMatchVariable\", example.LogScrubbingRules[0].MatchVariable)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.cdn.CdnFunctions;\nimport com.pulumi.azure.cdn.inputs.GetFrontdoorProfileArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = CdnFunctions.getFrontdoorProfile(GetFrontdoorProfileArgs.builder()\n            .name(\"existing-cdn-profile\")\n            .resourceGroupName(\"existing-resources\")\n            .build());\n\n        ctx.export(\"frontDoorId\", example.id());\n        ctx.export(\"logScrubbingMatchVariable\", example.logScrubbingRules()[0].matchVariable());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:cdn:getFrontdoorProfile\n      arguments:\n        name: existing-cdn-profile\n        resourceGroupName: existing-resources\noutputs:\n  frontDoorId: ${example.id}\n  logScrubbingMatchVariable: ${example.logScrubbingRules[0].matchVariable}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.Cdn` - 2024-02-01\n","inputs":{"description":"A collection of arguments for invoking getFrontdoorProfile.\n","properties":{"name":{"type":"string","description":"Specifies the name of the Front Door Profile.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where this Front Door Profile exists.\n"}},"type":"object","required":["name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getFrontdoorProfile.\n","properties":{"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"identity":{"$ref":"#/types/azure:cdn/getFrontdoorProfileIdentity:getFrontdoorProfileIdentity","description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n"},"logScrubbingRules":{"description":"One or more \u003cspan pulumi-lang-nodejs=\"`logScrubbingRule`\" pulumi-lang-dotnet=\"`LogScrubbingRule`\" pulumi-lang-go=\"`logScrubbingRule`\" pulumi-lang-python=\"`log_scrubbing_rule`\" pulumi-lang-yaml=\"`logScrubbingRule`\" pulumi-lang-java=\"`logScrubbingRule`\"\u003e`log_scrubbing_rule`\u003c/span\u003e blocks as defined below.\n","items":{"$ref":"#/types/azure:cdn/getFrontdoorProfileLogScrubbingRule:getFrontdoorProfileLogScrubbingRule"},"type":"array"},"name":{"type":"string"},"resourceGroupName":{"type":"string"},"resourceGuid":{"description":"The UUID of the Front Door Profile which will be sent in the HTTP Header as the `X-Azure-FDID` attribute.\n","type":"string"},"responseTimeoutSeconds":{"description":"Specifies the maximum response timeout in seconds.\n","type":"integer"},"skuName":{"description":"Specifies the SKU for this Front Door Profile.\n","type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"Specifies a mapping of Tags assigned to this Front Door Profile.\n","type":"object"}},"required":["identity","logScrubbingRules","name","resourceGroupName","resourceGuid","responseTimeoutSeconds","skuName","tags","id"],"type":"object"}},"azure:cdn/getFrontdoorRuleSet:getFrontdoorRuleSet":{"description":"Use this data source to access information about an existing Front Door (standard/premium) Rule Set.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.cdn.getFrontdoorRuleSet({\n    name: \"existing-rule-set\",\n    profileName: \"existing-profile\",\n    resourceGroupName: \"existing-resources\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.cdn.get_frontdoor_rule_set(name=\"existing-rule-set\",\n    profile_name=\"existing-profile\",\n    resource_group_name=\"existing-resources\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Cdn.GetFrontdoorRuleSet.Invoke(new()\n    {\n        Name = \"existing-rule-set\",\n        ProfileName = \"existing-profile\",\n        ResourceGroupName = \"existing-resources\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/cdn\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cdn.LookupFrontdoorRuleSet(ctx, \u0026cdn.LookupFrontdoorRuleSetArgs{\n\t\t\tName:              \"existing-rule-set\",\n\t\t\tProfileName:       \"existing-profile\",\n\t\t\tResourceGroupName: \"existing-resources\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.cdn.CdnFunctions;\nimport com.pulumi.azure.cdn.inputs.GetFrontdoorRuleSetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = CdnFunctions.getFrontdoorRuleSet(GetFrontdoorRuleSetArgs.builder()\n            .name(\"existing-rule-set\")\n            .profileName(\"existing-profile\")\n            .resourceGroupName(\"existing-resources\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:cdn:getFrontdoorRuleSet\n      arguments:\n        name: existing-rule-set\n        profileName: existing-profile\n        resourceGroupName: existing-resources\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.Cdn` - 2024-02-01\n","inputs":{"description":"A collection of arguments for invoking getFrontdoorRuleSet.\n","properties":{"name":{"type":"string","description":"Specifies the name of the Front Door Rule Set to retrieve.\n"},"profileName":{"type":"string","description":"Specifies the name of the Front Door Profile where this Front Door Rule Set exists.\n"},"resourceGroupName":{"type":"string","description":"Specifies the name of the Resource Group where the Front Door Profile exists.\n"}},"type":"object","required":["name","profileName","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getFrontdoorRuleSet.\n","properties":{"cdnFrontdoorProfileId":{"description":"The ID of the Front Door Profile within which this Front Door Rule Set exists.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"name":{"type":"string"},"profileName":{"type":"string"},"resourceGroupName":{"type":"string"}},"required":["cdnFrontdoorProfileId","name","profileName","resourceGroupName","id"],"type":"object"}},"azure:cdn/getFrontdoorSecret:getFrontdoorSecret":{"description":"Use this data source to access information about an existing Front Door (standard/premium) Secret.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.cdn.getFrontdoorSecret({\n    name: \"example-secret\",\n    profileName: \"example-profile\",\n    resourceGroupName: \"example-resources\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.cdn.get_frontdoor_secret(name=\"example-secret\",\n    profile_name=\"example-profile\",\n    resource_group_name=\"example-resources\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Cdn.GetFrontdoorSecret.Invoke(new()\n    {\n        Name = \"example-secret\",\n        ProfileName = \"example-profile\",\n        ResourceGroupName = \"example-resources\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/cdn\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cdn.LookupFrontdoorSecret(ctx, \u0026cdn.LookupFrontdoorSecretArgs{\n\t\t\tName:              \"example-secret\",\n\t\t\tProfileName:       \"example-profile\",\n\t\t\tResourceGroupName: \"example-resources\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.cdn.CdnFunctions;\nimport com.pulumi.azure.cdn.inputs.GetFrontdoorSecretArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = CdnFunctions.getFrontdoorSecret(GetFrontdoorSecretArgs.builder()\n            .name(\"example-secret\")\n            .profileName(\"example-profile\")\n            .resourceGroupName(\"example-resources\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:cdn:getFrontdoorSecret\n      arguments:\n        name: example-secret\n        profileName: example-profile\n        resourceGroupName: example-resources\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getFrontdoorSecret.\n","properties":{"name":{"type":"string","description":"Specifies the name of the Front Door Secret.\n"},"profileName":{"type":"string","description":"The name of the Front Door Profile within which the Front Door Secret exists.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Front Door Profile exists.\n"}},"type":"object","required":["name","profileName","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getFrontdoorSecret.\n","properties":{"cdnFrontdoorProfileId":{"description":"Specifies the ID of the Front Door Profile within which this Front Door Secret exists.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"name":{"type":"string"},"profileName":{"type":"string"},"resourceGroupName":{"type":"string"},"secrets":{"description":"A \u003cspan pulumi-lang-nodejs=\"`secret`\" pulumi-lang-dotnet=\"`Secret`\" pulumi-lang-go=\"`secret`\" pulumi-lang-python=\"`secret`\" pulumi-lang-yaml=\"`secret`\" pulumi-lang-java=\"`secret`\"\u003e`secret`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:cdn/getFrontdoorSecretSecret:getFrontdoorSecretSecret"},"type":"array"}},"required":["cdnFrontdoorProfileId","name","profileName","resourceGroupName","secrets","id"],"type":"object"}},"azure:cdn/getProfile:getProfile":{"description":"Use this data source to access information about an existing CDN Profile.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.cdn.getProfile({\n    name: \"myfirstcdnprofile\",\n    resourceGroupName: \"example-resources\",\n});\nexport const cdnProfileId = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.cdn.get_profile(name=\"myfirstcdnprofile\",\n    resource_group_name=\"example-resources\")\npulumi.export(\"cdnProfileId\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Cdn.GetProfile.Invoke(new()\n    {\n        Name = \"myfirstcdnprofile\",\n        ResourceGroupName = \"example-resources\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"cdnProfileId\"] = example.Apply(getProfileResult =\u003e getProfileResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/cdn\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := cdn.LookupProfile(ctx, \u0026cdn.LookupProfileArgs{\n\t\t\tName:              \"myfirstcdnprofile\",\n\t\t\tResourceGroupName: \"example-resources\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"cdnProfileId\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.cdn.CdnFunctions;\nimport com.pulumi.azure.cdn.inputs.GetProfileArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = CdnFunctions.getProfile(GetProfileArgs.builder()\n            .name(\"myfirstcdnprofile\")\n            .resourceGroupName(\"example-resources\")\n            .build());\n\n        ctx.export(\"cdnProfileId\", example.id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:cdn:getProfile\n      arguments:\n        name: myfirstcdnprofile\n        resourceGroupName: example-resources\noutputs:\n  cdnProfileId: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getProfile.\n","properties":{"name":{"type":"string","description":"The name of the CDN Profile.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the CDN Profile exists.\n"}},"type":"object","required":["name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getProfile.\n","properties":{"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"location":{"description":"The Azure Region where the resource exists.\n","type":"string"},"name":{"type":"string"},"resourceGroupName":{"type":"string"},"sku":{"description":"The pricing related information of current CDN profile.\n","type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"A mapping of tags assigned to the resource.\n","type":"object"}},"required":["location","name","resourceGroupName","sku","tags","id"],"type":"object"}},"azure:cognitive/getAccount:getAccount":{"description":"Use this data source to access information about an existing Cognitive Services Account.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst test = azure.cognitive.getAccount({\n    name: \"example-account\",\n    resourceGroupName: \"cognitive_account_rg\",\n});\nexport const primaryAccessKey = test.then(test =\u003e test.primaryAccessKey);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\ntest = azure.cognitive.get_account(name=\"example-account\",\n    resource_group_name=\"cognitive_account_rg\")\npulumi.export(\"primaryAccessKey\", test.primary_access_key)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var test = Azure.Cognitive.GetAccount.Invoke(new()\n    {\n        Name = \"example-account\",\n        ResourceGroupName = \"cognitive_account_rg\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"primaryAccessKey\"] = test.Apply(getAccountResult =\u003e getAccountResult.PrimaryAccessKey),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/cognitive\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttest, err := cognitive.LookupAccount(ctx, \u0026cognitive.LookupAccountArgs{\n\t\t\tName:              \"example-account\",\n\t\t\tResourceGroupName: \"cognitive_account_rg\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"primaryAccessKey\", test.PrimaryAccessKey)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.cognitive.CognitiveFunctions;\nimport com.pulumi.azure.cognitive.inputs.GetAccountArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var test = CognitiveFunctions.getAccount(GetAccountArgs.builder()\n            .name(\"example-account\")\n            .resourceGroupName(\"cognitive_account_rg\")\n            .build());\n\n        ctx.export(\"primaryAccessKey\", test.primaryAccessKey());\n    }\n}\n```\n```yaml\nvariables:\n  test:\n    fn::invoke:\n      function: azure:cognitive:getAccount\n      arguments:\n        name: example-account\n        resourceGroupName: cognitive_account_rg\noutputs:\n  primaryAccessKey: ${test.primaryAccessKey}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.CognitiveServices` - 2025-06-01\n","inputs":{"description":"A collection of arguments for invoking getAccount.\n","properties":{"name":{"type":"string","description":"Specifies the name of the Cognitive Services Account.\n"},"resourceGroupName":{"type":"string","description":"Specifies the name of the resource group where the Cognitive Services Account resides.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assigned to the resource.\n"}},"type":"object","required":["name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getAccount.\n","properties":{"customQuestionAnsweringSearchServiceId":{"description":"The ID of the search service.\n","type":"string"},"customSubdomainName":{"description":"The subdomain name used for Entra ID token-based authentication.\n","type":"string"},"customerManagedKeys":{"description":"A \u003cspan pulumi-lang-nodejs=\"`customerManagedKey`\" pulumi-lang-dotnet=\"`CustomerManagedKey`\" pulumi-lang-go=\"`customerManagedKey`\" pulumi-lang-python=\"`customer_managed_key`\" pulumi-lang-yaml=\"`customerManagedKey`\" pulumi-lang-java=\"`customerManagedKey`\"\u003e`customer_managed_key`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:cognitive/getAccountCustomerManagedKey:getAccountCustomerManagedKey"},"type":"array"},"dynamicThrottlingEnabled":{"description":"Whether dynamic throttling is enabled for this Cognitive Services Account.\n","type":"boolean"},"endpoint":{"description":"The endpoint of the Cognitive Services Account.\n","type":"string"},"fqdns":{"description":"List of FQDNs allowed for the Cognitive Services Account.\n","items":{"type":"string"},"type":"array"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"identities":{"description":"A \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:cognitive/getAccountIdentity:getAccountIdentity"},"type":"array"},"kind":{"description":"The type of the Cognitive Services Account.\n","type":"string"},"localAuthEnabled":{"description":"Whether local authentication methods are enabled for the Cognitive Services Account.\n","type":"boolean"},"location":{"description":"The Azure location where the Cognitive Services Account exists.\n","type":"string"},"metricsAdvisorAadClientId":{"description":"The Microsoft Entra Application (client) ID.\n","type":"string"},"metricsAdvisorAadTenantId":{"description":"The Microsoft Entra Tenant ID.\n","type":"string"},"metricsAdvisorSuperUserName":{"description":"The super user of Metrics Advisor.\n","type":"string"},"metricsAdvisorWebsiteName":{"description":"The website name of Metrics Advisor.\n","type":"string"},"name":{"type":"string"},"networkAcls":{"description":"A \u003cspan pulumi-lang-nodejs=\"`networkAcls`\" pulumi-lang-dotnet=\"`NetworkAcls`\" pulumi-lang-go=\"`networkAcls`\" pulumi-lang-python=\"`network_acls`\" pulumi-lang-yaml=\"`networkAcls`\" pulumi-lang-java=\"`networkAcls`\"\u003e`network_acls`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:cognitive/getAccountNetworkAcl:getAccountNetworkAcl"},"type":"array"},"networkInjections":{"description":"A \u003cspan pulumi-lang-nodejs=\"`networkInjection`\" pulumi-lang-dotnet=\"`NetworkInjection`\" pulumi-lang-go=\"`networkInjection`\" pulumi-lang-python=\"`network_injection`\" pulumi-lang-yaml=\"`networkInjection`\" pulumi-lang-java=\"`networkInjection`\"\u003e`network_injection`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:cognitive/getAccountNetworkInjection:getAccountNetworkInjection"},"type":"array"},"outboundNetworkAccessRestricted":{"description":"Whether outbound network access is restricted for the Cognitive Services Account.\n","type":"boolean"},"primaryAccessKey":{"description":"The primary access key of the Cognitive Services Account.\n","secret":true,"type":"string"},"projectManagementEnabled":{"description":"Whether project management is enabled.\n","type":"boolean"},"publicNetworkAccessEnabled":{"description":"Whether public network access is allowed for the Cognitive Services Account.\n","type":"boolean"},"qnaRuntimeEndpoint":{"description":"The link to the QNA runtime.\n","type":"string"},"resourceGroupName":{"type":"string"},"secondaryAccessKey":{"description":"The secondary access key of the Cognitive Services Account.\n","secret":true,"type":"string"},"skuName":{"description":"The SKU name of the Cognitive Services Account.\n","type":"string"},"storages":{"description":"A \u003cspan pulumi-lang-nodejs=\"`storage`\" pulumi-lang-dotnet=\"`Storage`\" pulumi-lang-go=\"`storage`\" pulumi-lang-python=\"`storage`\" pulumi-lang-yaml=\"`storage`\" pulumi-lang-java=\"`storage`\"\u003e`storage`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:cognitive/getAccountStorage:getAccountStorage"},"type":"array"},"tags":{"additionalProperties":{"type":"string"},"description":"A mapping of tags to assigned to the resource.\n","type":"object"}},"required":["customQuestionAnsweringSearchServiceId","customSubdomainName","customerManagedKeys","dynamicThrottlingEnabled","endpoint","fqdns","identities","kind","localAuthEnabled","location","metricsAdvisorAadClientId","metricsAdvisorAadTenantId","metricsAdvisorSuperUserName","metricsAdvisorWebsiteName","name","networkAcls","networkInjections","outboundNetworkAccessRestricted","primaryAccessKey","projectManagementEnabled","publicNetworkAccessEnabled","qnaRuntimeEndpoint","resourceGroupName","secondaryAccessKey","skuName","storages","id"],"type":"object"}},"azure:cognitive/getAccountProject:getAccountProject":{"description":"Use this data source to access information about an existing Cognitive Services Account Project.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.cognitive.getAccountProject({\n    name: \"example-project\",\n    cognitiveAccountName: \"example-account\",\n    resourceGroupName: \"example-resources\",\n});\nexport const id = example.then(example =\u003e example.id);\nexport const location = example.then(example =\u003e example.location);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.cognitive.get_account_project(name=\"example-project\",\n    cognitive_account_name=\"example-account\",\n    resource_group_name=\"example-resources\")\npulumi.export(\"id\", example.id)\npulumi.export(\"location\", example.location)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Cognitive.GetAccountProject.Invoke(new()\n    {\n        Name = \"example-project\",\n        CognitiveAccountName = \"example-account\",\n        ResourceGroupName = \"example-resources\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"id\"] = example.Apply(getAccountProjectResult =\u003e getAccountProjectResult.Id),\n        [\"location\"] = example.Apply(getAccountProjectResult =\u003e getAccountProjectResult.Location),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/cognitive\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := cognitive.LookupAccountProject(ctx, \u0026cognitive.LookupAccountProjectArgs{\n\t\t\tName:                 \"example-project\",\n\t\t\tCognitiveAccountName: \"example-account\",\n\t\t\tResourceGroupName:    \"example-resources\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"id\", example.Id)\n\t\tctx.Export(\"location\", example.Location)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.cognitive.CognitiveFunctions;\nimport com.pulumi.azure.cognitive.inputs.GetAccountProjectArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = CognitiveFunctions.getAccountProject(GetAccountProjectArgs.builder()\n            .name(\"example-project\")\n            .cognitiveAccountName(\"example-account\")\n            .resourceGroupName(\"example-resources\")\n            .build());\n\n        ctx.export(\"id\", example.id());\n        ctx.export(\"location\", example.location());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:cognitive:getAccountProject\n      arguments:\n        name: example-project\n        cognitiveAccountName: example-account\n        resourceGroupName: example-resources\noutputs:\n  id: ${example.id}\n  location: ${example.location}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.CognitiveServices` - 2025-06-01\n","inputs":{"description":"A collection of arguments for invoking getAccountProject.\n","properties":{"cognitiveAccountName":{"type":"string","description":"The name of the Cognitive Services Account in which the Project exists.\n"},"name":{"type":"string","description":"The name of the Cognitive Services Account Project.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Cognitive Services Account exists.\n"}},"type":"object","required":["cognitiveAccountName","name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getAccountProject.\n","properties":{"cognitiveAccountName":{"type":"string"},"default":{"description":"Whether this is the default project for the Cognitive Services Account.\n","type":"boolean"},"description":{"description":"The description of the Cognitive Services Account Project.\n","type":"string"},"displayName":{"description":"The display name of the Cognitive Services Account Project.\n","type":"string"},"endpoints":{"additionalProperties":{"type":"string"},"description":"A mapping of endpoint names to endpoint URLs for the Cognitive Services Account Project.\n","type":"object"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"identities":{"description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:cognitive/getAccountProjectIdentity:getAccountProjectIdentity"},"type":"array"},"location":{"description":"The Azure Region where the Cognitive Services Account Project exists.\n","type":"string"},"name":{"type":"string"},"resourceGroupName":{"type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"A mapping of tags assigned to the Cognitive Services Account Project.\n","type":"object"}},"required":["cognitiveAccountName","default","description","displayName","endpoints","identities","location","name","resourceGroupName","tags","id"],"type":"object"}},"azure:communication/getService:getService":{"description":"Use this data source to access information about an existing Communication Service.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.communication.getService({\n    name: \"existing\",\n    resourceGroupName: \"existing\",\n});\nexport const id = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.communication.get_service(name=\"existing\",\n    resource_group_name=\"existing\")\npulumi.export(\"id\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Communication.GetService.Invoke(new()\n    {\n        Name = \"existing\",\n        ResourceGroupName = \"existing\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"id\"] = example.Apply(getServiceResult =\u003e getServiceResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/communication\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := communication.LookupService(ctx, \u0026communication.LookupServiceArgs{\n\t\t\tName:              \"existing\",\n\t\t\tResourceGroupName: \"existing\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"id\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.communication.CommunicationFunctions;\nimport com.pulumi.azure.communication.inputs.GetServiceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = CommunicationFunctions.getService(GetServiceArgs.builder()\n            .name(\"existing\")\n            .resourceGroupName(\"existing\")\n            .build());\n\n        ctx.export(\"id\", example.id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:communication:getService\n      arguments:\n        name: existing\n        resourceGroupName: existing\noutputs:\n  id: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.Communication` - 2023-03-31\n","inputs":{"description":"A collection of arguments for invoking getService.\n","properties":{"name":{"type":"string","description":"The name of this Communication Service.\n*\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Communication Service exists.\n*\n"}},"type":"object","required":["name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getService.\n","properties":{"dataLocation":{"description":"The location where the Communication service stores its data at rest.\n","type":"string"},"hostname":{"description":"The hostname of the Communication Service.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"immutableResourceId":{"description":"The immutable resource id of the Communication Service.\n","type":"string"},"name":{"type":"string"},"primaryConnectionString":{"description":"The primary connection string of the Communication Service.\n","secret":true,"type":"string"},"primaryKey":{"description":"The primary key of the Communication Service.\n","secret":true,"type":"string"},"resourceGroupName":{"type":"string"},"secondaryConnectionString":{"description":"The secondary connection string of the Communication Service.\n","secret":true,"type":"string"},"secondaryKey":{"description":"The secondary key of the Communication Service.\n","secret":true,"type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"A mapping of tags assigned to the Communication Service.\n","type":"object"}},"required":["dataLocation","hostname","immutableResourceId","name","primaryConnectionString","primaryKey","resourceGroupName","secondaryConnectionString","secondaryKey","tags","id"],"type":"object"}},"azure:compute/getAvailabilitySet:getAvailabilitySet":{"description":"Use this data source to access information about an existing Availability Set.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.compute.getAvailabilitySet({\n    name: \"tf-appsecuritygroup\",\n    resourceGroupName: \"my-resource-group\",\n});\nexport const availabilitySetId = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.compute.get_availability_set(name=\"tf-appsecuritygroup\",\n    resource_group_name=\"my-resource-group\")\npulumi.export(\"availabilitySetId\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Compute.GetAvailabilitySet.Invoke(new()\n    {\n        Name = \"tf-appsecuritygroup\",\n        ResourceGroupName = \"my-resource-group\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"availabilitySetId\"] = example.Apply(getAvailabilitySetResult =\u003e getAvailabilitySetResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/compute\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := compute.LookupAvailabilitySet(ctx, \u0026compute.LookupAvailabilitySetArgs{\n\t\t\tName:              \"tf-appsecuritygroup\",\n\t\t\tResourceGroupName: \"my-resource-group\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"availabilitySetId\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.compute.ComputeFunctions;\nimport com.pulumi.azure.compute.inputs.GetAvailabilitySetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = ComputeFunctions.getAvailabilitySet(GetAvailabilitySetArgs.builder()\n            .name(\"tf-appsecuritygroup\")\n            .resourceGroupName(\"my-resource-group\")\n            .build());\n\n        ctx.export(\"availabilitySetId\", example.id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:compute:getAvailabilitySet\n      arguments:\n        name: tf-appsecuritygroup\n        resourceGroupName: my-resource-group\noutputs:\n  availabilitySetId: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.Compute` - 2024-03-01\n","inputs":{"description":"A collection of arguments for invoking getAvailabilitySet.\n","properties":{"name":{"type":"string","description":"The name of the Availability Set.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the Availability Set exists.\n"}},"type":"object","required":["name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getAvailabilitySet.\n","properties":{"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"location":{"description":"The supported Azure location where the Availability Set exists.\n","type":"string"},"managed":{"description":"Whether the availability set is managed or not.\n","type":"boolean"},"name":{"type":"string"},"platformFaultDomainCount":{"description":"The number of fault domains that are used.\n","type":"string"},"platformUpdateDomainCount":{"description":"The number of update domains that are used.\n","type":"string"},"resourceGroupName":{"type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"A mapping of tags assigned to the resource.\n","type":"object"}},"required":["location","managed","name","platformFaultDomainCount","platformUpdateDomainCount","resourceGroupName","tags","id"],"type":"object"}},"azure:compute/getBastionHost:getBastionHost":{"description":"Use this data source to access information about an existing Bastion Host.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.compute.getBastionHost({\n    name: \"existing-bastion\",\n    resourceGroupName: \"existing-resources\",\n});\nexport const id = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.compute.get_bastion_host(name=\"existing-bastion\",\n    resource_group_name=\"existing-resources\")\npulumi.export(\"id\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Compute.GetBastionHost.Invoke(new()\n    {\n        Name = \"existing-bastion\",\n        ResourceGroupName = \"existing-resources\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"id\"] = example.Apply(getBastionHostResult =\u003e getBastionHostResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/compute\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := compute.LookupBastionHost(ctx, \u0026compute.LookupBastionHostArgs{\n\t\t\tName:              \"existing-bastion\",\n\t\t\tResourceGroupName: \"existing-resources\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"id\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.compute.ComputeFunctions;\nimport com.pulumi.azure.compute.inputs.GetBastionHostArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = ComputeFunctions.getBastionHost(GetBastionHostArgs.builder()\n            .name(\"existing-bastion\")\n            .resourceGroupName(\"existing-resources\")\n            .build());\n\n        ctx.export(\"id\", example.id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:compute:getBastionHost\n      arguments:\n        name: existing-bastion\n        resourceGroupName: existing-resources\noutputs:\n  id: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2024-01-01\n","inputs":{"description":"A collection of arguments for invoking getBastionHost.\n","properties":{"name":{"type":"string","description":"The name of the Bastion Host.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Bastion Host exists.\n"}},"type":"object","required":["name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getBastionHost.\n","properties":{"copyPasteEnabled":{"description":"Is Copy/Paste feature enabled for the Bastion Host.\n","type":"boolean"},"dnsName":{"description":"The FQDN for the Bastion Host.\n","type":"string"},"fileCopyEnabled":{"description":"Is File Copy feature enabled for the Bastion Host.\n","type":"boolean"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"ipConfigurations":{"description":"A \u003cspan pulumi-lang-nodejs=\"`ipConfiguration`\" pulumi-lang-dotnet=\"`IpConfiguration`\" pulumi-lang-go=\"`ipConfiguration`\" pulumi-lang-python=\"`ip_configuration`\" pulumi-lang-yaml=\"`ipConfiguration`\" pulumi-lang-java=\"`ipConfiguration`\"\u003e`ip_configuration`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:compute/getBastionHostIpConfiguration:getBastionHostIpConfiguration"},"type":"array"},"ipConnectEnabled":{"description":"Is IP Connect feature enabled for the Bastion Host.\n","type":"boolean"},"location":{"description":"The Azure Region where the Bastion Host exists.\n","type":"string"},"name":{"description":"The name of the IP configuration.\n","type":"string"},"resourceGroupName":{"type":"string"},"scaleUnits":{"description":"The number of scale units provisioned for the Bastion Host.\n","type":"integer"},"sessionRecordingEnabled":{"description":"Is Session Recording feature enabled for the Bastion Host.\n","type":"boolean"},"shareableLinkEnabled":{"description":"Is Shareable Link feature enabled for the Bastion Host.\n","type":"boolean"},"sku":{"description":"The SKU of the Bastion Host.\n","type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"A mapping of tags assigned to the Bastion Host.\n","type":"object"},"tunnelingEnabled":{"description":"Is Tunneling feature enabled for the Bastion Host.\n","type":"boolean"},"zones":{"description":"A list of Availability Zones in which this Bastion Host is located.\n","items":{"type":"string"},"type":"array"}},"required":["copyPasteEnabled","dnsName","fileCopyEnabled","ipConfigurations","ipConnectEnabled","location","name","resourceGroupName","scaleUnits","sessionRecordingEnabled","shareableLinkEnabled","sku","tags","tunnelingEnabled","zones","id"],"type":"object"}},"azure:compute/getConfidentialLedger:getConfidentialLedger":{"description":"Gets information about an existing Confidential Ledger.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst current = azure.compute.getConfidentialLedger({\n    name: \"example-ledger\",\n    resourceGroupName: \"example-resources\",\n});\nexport const ledgerEndpoint = current.then(current =\u003e current.ledgerEndpoint);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\ncurrent = azure.compute.get_confidential_ledger(name=\"example-ledger\",\n    resource_group_name=\"example-resources\")\npulumi.export(\"ledgerEndpoint\", current.ledger_endpoint)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var current = Azure.Compute.GetConfidentialLedger.Invoke(new()\n    {\n        Name = \"example-ledger\",\n        ResourceGroupName = \"example-resources\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"ledgerEndpoint\"] = current.Apply(getConfidentialLedgerResult =\u003e getConfidentialLedgerResult.LedgerEndpoint),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/compute\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := compute.GetConfidentialLedger(ctx, \u0026compute.GetConfidentialLedgerArgs{\n\t\t\tName:              \"example-ledger\",\n\t\t\tResourceGroupName: \"example-resources\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"ledgerEndpoint\", current.LedgerEndpoint)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.compute.ComputeFunctions;\nimport com.pulumi.azure.compute.inputs.GetConfidentialLedgerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var current = ComputeFunctions.getConfidentialLedger(GetConfidentialLedgerArgs.builder()\n            .name(\"example-ledger\")\n            .resourceGroupName(\"example-resources\")\n            .build());\n\n        ctx.export(\"ledgerEndpoint\", current.ledgerEndpoint());\n    }\n}\n```\n```yaml\nvariables:\n  current:\n    fn::invoke:\n      function: azure:compute:getConfidentialLedger\n      arguments:\n        name: example-ledger\n        resourceGroupName: example-resources\noutputs:\n  ledgerEndpoint: ${current.ledgerEndpoint}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.ConfidentialLedger` - 2022-05-13\n","inputs":{"description":"A collection of arguments for invoking getConfidentialLedger.\n","properties":{"name":{"type":"string","description":"Specifies the name of this Confidential Ledger.\n"},"resourceGroupName":{"type":"string","description":"Specifies the name of the Resource Group where this Confidential Ledger exists.\n"}},"type":"object","required":["name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getConfidentialLedger.\n","properties":{"azureadBasedServicePrincipals":{"items":{"$ref":"#/types/azure:compute/getConfidentialLedgerAzureadBasedServicePrincipal:getConfidentialLedgerAzureadBasedServicePrincipal"},"type":"array"},"certificateBasedSecurityPrincipals":{"items":{"$ref":"#/types/azure:compute/getConfidentialLedgerCertificateBasedSecurityPrincipal:getConfidentialLedgerCertificateBasedSecurityPrincipal"},"type":"array"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"identityServiceEndpoint":{"description":"The Identity Service Endpoint for this Confidential Ledger.\n","type":"string"},"ledgerEndpoint":{"description":"The Endpoint for this Confidential Ledger.\n","type":"string"},"ledgerType":{"description":"The type of Confidential Ledger.\n","type":"string"},"location":{"description":"The supported Azure location where the Confidential Ledger exists.\n","type":"string"},"name":{"type":"string"},"resourceGroupName":{"type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the Confidential Ledger.\n","type":"object"}},"required":["azureadBasedServicePrincipals","certificateBasedSecurityPrincipals","identityServiceEndpoint","ledgerEndpoint","ledgerType","location","name","resourceGroupName","tags","id"],"type":"object"}},"azure:compute/getDedicatedHost:getDedicatedHost":{"description":"Use this data source to access information about an existing Dedicated Host.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.compute.getDedicatedHost({\n    name: \"example-host\",\n    dedicatedHostGroupName: \"example-host-group\",\n    resourceGroupName: \"example-resources\",\n});\nexport const dedicatedHostId = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.compute.get_dedicated_host(name=\"example-host\",\n    dedicated_host_group_name=\"example-host-group\",\n    resource_group_name=\"example-resources\")\npulumi.export(\"dedicatedHostId\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Compute.GetDedicatedHost.Invoke(new()\n    {\n        Name = \"example-host\",\n        DedicatedHostGroupName = \"example-host-group\",\n        ResourceGroupName = \"example-resources\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"dedicatedHostId\"] = example.Apply(getDedicatedHostResult =\u003e getDedicatedHostResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/compute\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := compute.LookupDedicatedHost(ctx, \u0026compute.LookupDedicatedHostArgs{\n\t\t\tName:                   \"example-host\",\n\t\t\tDedicatedHostGroupName: \"example-host-group\",\n\t\t\tResourceGroupName:      \"example-resources\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"dedicatedHostId\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.compute.ComputeFunctions;\nimport com.pulumi.azure.compute.inputs.GetDedicatedHostArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = ComputeFunctions.getDedicatedHost(GetDedicatedHostArgs.builder()\n            .name(\"example-host\")\n            .dedicatedHostGroupName(\"example-host-group\")\n            .resourceGroupName(\"example-resources\")\n            .build());\n\n        ctx.export(\"dedicatedHostId\", example.id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:compute:getDedicatedHost\n      arguments:\n        name: example-host\n        dedicatedHostGroupName: example-host-group\n        resourceGroupName: example-resources\noutputs:\n  dedicatedHostId: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.Compute` - 2024-03-01\n","inputs":{"description":"A collection of arguments for invoking getDedicatedHost.\n","properties":{"dedicatedHostGroupName":{"type":"string","description":"Specifies the name of the Dedicated Host Group the Dedicated Host is located in.\n"},"name":{"type":"string","description":"Specifies the name of the Dedicated Host.\n"},"resourceGroupName":{"type":"string","description":"Specifies the name of the resource group the Dedicated Host is located in.\n"}},"type":"object","required":["dedicatedHostGroupName","name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getDedicatedHost.\n","properties":{"dedicatedHostGroupName":{"type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"location":{"description":"The location where the Dedicated Host exists.\n","type":"string"},"name":{"type":"string"},"resourceGroupName":{"type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"A mapping of tags assigned to the Dedicated Host.\n","type":"object"}},"required":["dedicatedHostGroupName","location","name","resourceGroupName","tags","id"],"type":"object"}},"azure:compute/getDedicatedHostGroup:getDedicatedHostGroup":{"description":"Use this data source to access information about an existing Dedicated Host Group.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.compute.getDedicatedHostGroup({\n    name: \"example-dedicated-host-group\",\n    resourceGroupName: \"example-rg\",\n});\nexport const id = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.compute.get_dedicated_host_group(name=\"example-dedicated-host-group\",\n    resource_group_name=\"example-rg\")\npulumi.export(\"id\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Compute.GetDedicatedHostGroup.Invoke(new()\n    {\n        Name = \"example-dedicated-host-group\",\n        ResourceGroupName = \"example-rg\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"id\"] = example.Apply(getDedicatedHostGroupResult =\u003e getDedicatedHostGroupResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/compute\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := compute.LookupDedicatedHostGroup(ctx, \u0026compute.LookupDedicatedHostGroupArgs{\n\t\t\tName:              \"example-dedicated-host-group\",\n\t\t\tResourceGroupName: \"example-rg\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"id\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.compute.ComputeFunctions;\nimport com.pulumi.azure.compute.inputs.GetDedicatedHostGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = ComputeFunctions.getDedicatedHostGroup(GetDedicatedHostGroupArgs.builder()\n            .name(\"example-dedicated-host-group\")\n            .resourceGroupName(\"example-rg\")\n            .build());\n\n        ctx.export(\"id\", example.id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:compute:getDedicatedHostGroup\n      arguments:\n        name: example-dedicated-host-group\n        resourceGroupName: example-rg\noutputs:\n  id: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.Compute` - 2024-03-01\n","inputs":{"description":"A collection of arguments for invoking getDedicatedHostGroup.\n","properties":{"name":{"type":"string","description":"Specifies the name of the Dedicated Host Group.\n"},"resourceGroupName":{"type":"string","description":"Specifies the name of the resource group the Dedicated Host Group is located in.\n"}},"type":"object","required":["name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getDedicatedHostGroup.\n","properties":{"automaticPlacementEnabled":{"description":"Whether virtual machines or virtual machine scale sets be placed automatically on this Dedicated Host Group.\n","type":"boolean"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"location":{"description":"The Azure location where the Dedicated Host Group exists.\n","type":"string"},"name":{"type":"string"},"platformFaultDomainCount":{"description":"The number of fault domains that the Dedicated Host Group spans.\n","type":"integer"},"resourceGroupName":{"type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"A mapping of tags assigned to the resource.\n","type":"object"},"zones":{"description":"A list of Availability Zones in which this Dedicated Host Group is located.\n","items":{"type":"string"},"type":"array"}},"required":["automaticPlacementEnabled","location","name","platformFaultDomainCount","resourceGroupName","tags","zones","id"],"type":"object"}},"azure:compute/getDiskAccess:getDiskAccess":{"description":"Use this data source to access information about an existing Disk Access.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.compute.getDiskAccess({\n    name: \"existing\",\n    resourceGroupName: \"existing\",\n});\nexport const id = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.compute.get_disk_access(name=\"existing\",\n    resource_group_name=\"existing\")\npulumi.export(\"id\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Compute.GetDiskAccess.Invoke(new()\n    {\n        Name = \"existing\",\n        ResourceGroupName = \"existing\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"id\"] = example.Apply(getDiskAccessResult =\u003e getDiskAccessResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/compute\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := compute.LookupDiskAccess(ctx, \u0026compute.LookupDiskAccessArgs{\n\t\t\tName:              \"existing\",\n\t\t\tResourceGroupName: \"existing\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"id\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.compute.ComputeFunctions;\nimport com.pulumi.azure.compute.inputs.GetDiskAccessArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = ComputeFunctions.getDiskAccess(GetDiskAccessArgs.builder()\n            .name(\"existing\")\n            .resourceGroupName(\"existing\")\n            .build());\n\n        ctx.export(\"id\", example.id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:compute:getDiskAccess\n      arguments:\n        name: existing\n        resourceGroupName: existing\noutputs:\n  id: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.Compute` - 2022-03-02\n","inputs":{"description":"A collection of arguments for invoking getDiskAccess.\n","properties":{"name":{"type":"string","description":"The name of this Disk Access.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Disk Access exists.\n"}},"type":"object","required":["name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getDiskAccess.\n","properties":{"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"name":{"type":"string"},"resourceGroupName":{"type":"string"},"tags":{"additionalProperties":{"type":"string"},"type":"object"}},"required":["name","resourceGroupName","tags","id"],"type":"object"}},"azure:compute/getDiskEncryptionSet:getDiskEncryptionSet":{"description":"Use this data source to access information about an existing Disk Encryption Set.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst existing = azure.compute.getDiskEncryptionSet({\n    name: \"example-des\",\n    resourceGroupName: \"example-resources\",\n});\nexport const id = existing.then(existing =\u003e existing.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexisting = azure.compute.get_disk_encryption_set(name=\"example-des\",\n    resource_group_name=\"example-resources\")\npulumi.export(\"id\", existing.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var existing = Azure.Compute.GetDiskEncryptionSet.Invoke(new()\n    {\n        Name = \"example-des\",\n        ResourceGroupName = \"example-resources\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"id\"] = existing.Apply(getDiskEncryptionSetResult =\u003e getDiskEncryptionSetResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/compute\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texisting, err := compute.LookupDiskEncryptionSet(ctx, \u0026compute.LookupDiskEncryptionSetArgs{\n\t\t\tName:              \"example-des\",\n\t\t\tResourceGroupName: \"example-resources\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"id\", existing.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.compute.ComputeFunctions;\nimport com.pulumi.azure.compute.inputs.GetDiskEncryptionSetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var existing = ComputeFunctions.getDiskEncryptionSet(GetDiskEncryptionSetArgs.builder()\n            .name(\"example-des\")\n            .resourceGroupName(\"example-resources\")\n            .build());\n\n        ctx.export(\"id\", existing.id());\n    }\n}\n```\n```yaml\nvariables:\n  existing:\n    fn::invoke:\n      function: azure:compute:getDiskEncryptionSet\n      arguments:\n        name: example-des\n        resourceGroupName: example-resources\noutputs:\n  id: ${existing.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.Compute` - 2022-03-02\n","inputs":{"description":"A collection of arguments for invoking getDiskEncryptionSet.\n","properties":{"name":{"type":"string","description":"The name of the existing Disk Encryption Set.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Disk Encryption Set exists.\n"}},"type":"object","required":["name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getDiskEncryptionSet.\n","properties":{"autoKeyRotationEnabled":{"description":"Is the Azure Disk Encryption Set Key automatically rotated to latest version?\n","type":"boolean"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"identities":{"description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:compute/getDiskEncryptionSetIdentity:getDiskEncryptionSetIdentity"},"type":"array"},"keyVaultKeyUrl":{"description":"The URL for the Key Vault Key or Key Vault Secret that is currently being used by the service.\n","type":"string"},"location":{"description":"The location where the Disk Encryption Set exists.\n","type":"string"},"name":{"type":"string"},"resourceGroupName":{"type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"A mapping of tags assigned to the Disk Encryption Set.\n","type":"object"}},"required":["autoKeyRotationEnabled","identities","keyVaultKeyUrl","location","name","resourceGroupName","tags","id"],"type":"object"}},"azure:compute/getImage:getImage":{"description":"Use this data source to access information about an existing Image.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst search = azure.compute.getImage({\n    name: \"search-api\",\n    resourceGroupName: \"packerimages\",\n});\nexport const imageId = search.then(search =\u003e search.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nsearch = azure.compute.get_image(name=\"search-api\",\n    resource_group_name=\"packerimages\")\npulumi.export(\"imageId\", search.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var search = Azure.Compute.GetImage.Invoke(new()\n    {\n        Name = \"search-api\",\n        ResourceGroupName = \"packerimages\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"imageId\"] = search.Apply(getImageResult =\u003e getImageResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/compute\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tsearch, err := compute.LookupImage(ctx, \u0026compute.LookupImageArgs{\n\t\t\tName:              pulumi.StringRef(\"search-api\"),\n\t\t\tResourceGroupName: \"packerimages\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"imageId\", search.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.compute.ComputeFunctions;\nimport com.pulumi.azure.compute.inputs.GetImageArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var search = ComputeFunctions.getImage(GetImageArgs.builder()\n            .name(\"search-api\")\n            .resourceGroupName(\"packerimages\")\n            .build());\n\n        ctx.export(\"imageId\", search.id());\n    }\n}\n```\n```yaml\nvariables:\n  search:\n    fn::invoke:\n      function: azure:compute:getImage\n      arguments:\n        name: search-api\n        resourceGroupName: packerimages\noutputs:\n  imageId: ${search.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.Compute` - 2022-03-01\n","inputs":{"description":"A collection of arguments for invoking getImage.\n","properties":{"name":{"type":"string","description":"The name of the Image.\n"},"nameRegex":{"type":"string","description":"Regex pattern of the image to match.\n"},"resourceGroupName":{"type":"string","description":"The Name of the Resource Group where this Image exists.\n"},"sortDescending":{"type":"boolean","description":"By default when matching by regex, images are sorted by name in ascending order and the first match is chosen, to sort descending, set this flag.\n"}},"type":"object","required":["resourceGroupName"]},"outputs":{"description":"A collection of values returned by getImage.\n","properties":{"dataDisks":{"description":"a collection of \u003cspan pulumi-lang-nodejs=\"`dataDisk`\" pulumi-lang-dotnet=\"`DataDisk`\" pulumi-lang-go=\"`dataDisk`\" pulumi-lang-python=\"`data_disk`\" pulumi-lang-yaml=\"`dataDisk`\" pulumi-lang-java=\"`dataDisk`\"\u003e`data_disk`\u003c/span\u003e blocks as defined below.\n","items":{"$ref":"#/types/azure:compute/getImageDataDisk:getImageDataDisk"},"type":"array"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"location":{"description":"the Azure Location where this Image exists.\n","type":"string"},"name":{"description":"the name of the Image.\n","type":"string"},"nameRegex":{"type":"string"},"osDisks":{"description":"a \u003cspan pulumi-lang-nodejs=\"`osDisk`\" pulumi-lang-dotnet=\"`OsDisk`\" pulumi-lang-go=\"`osDisk`\" pulumi-lang-python=\"`os_disk`\" pulumi-lang-yaml=\"`osDisk`\" pulumi-lang-java=\"`osDisk`\"\u003e`os_disk`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:compute/getImageOsDisk:getImageOsDisk"},"type":"array"},"resourceGroupName":{"type":"string"},"sortDescending":{"type":"boolean"},"tags":{"additionalProperties":{"type":"string"},"description":"a mapping of tags to assigned to the resource.\n","type":"object"},"zoneResilient":{"description":"is zone resiliency enabled?\n","type":"boolean"}},"required":["dataDisks","location","osDisks","resourceGroupName","tags","zoneResilient","id"],"type":"object"}},"azure:compute/getImages:getImages":{"description":"Use this data source to access information about existing Images within a Resource Group.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.compute.getImages({\n    resourceGroupName: \"example-resources\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.compute.get_images(resource_group_name=\"example-resources\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Compute.GetImages.Invoke(new()\n    {\n        ResourceGroupName = \"example-resources\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/compute\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := compute.GetImages(ctx, \u0026compute.GetImagesArgs{\n\t\t\tResourceGroupName: \"example-resources\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.compute.ComputeFunctions;\nimport com.pulumi.azure.compute.inputs.GetImagesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = ComputeFunctions.getImages(GetImagesArgs.builder()\n            .resourceGroupName(\"example-resources\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:compute:getImages\n      arguments:\n        resourceGroupName: example-resources\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.Compute` - 2022-03-01\n","inputs":{"description":"A collection of arguments for invoking getImages.\n","properties":{"resourceGroupName":{"type":"string","description":"The name of the Resource Group in which the Image exists.\n"},"tagsFilter":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to filter the list of images against.\n"}},"type":"object","required":["resourceGroupName"]},"outputs":{"description":"A collection of values returned by getImages.\n","properties":{"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"images":{"description":"One or more \u003cspan pulumi-lang-nodejs=\"`images`\" pulumi-lang-dotnet=\"`Images`\" pulumi-lang-go=\"`images`\" pulumi-lang-python=\"`images`\" pulumi-lang-yaml=\"`images`\" pulumi-lang-java=\"`images`\"\u003e`images`\u003c/span\u003e blocks as defined below:\n","items":{"$ref":"#/types/azure:compute/getImagesImage:getImagesImage"},"type":"array"},"resourceGroupName":{"type":"string"},"tagsFilter":{"additionalProperties":{"type":"string"},"type":"object"}},"required":["images","resourceGroupName","id"],"type":"object"}},"azure:compute/getManagedDisk:getManagedDisk":{"description":"Use this data source to access information about an existing Managed Disk.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst existing = azure.compute.getManagedDisk({\n    name: \"example-datadisk\",\n    resourceGroupName: \"example-resources\",\n});\nexport const id = existing.then(existing =\u003e existing.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexisting = azure.compute.get_managed_disk(name=\"example-datadisk\",\n    resource_group_name=\"example-resources\")\npulumi.export(\"id\", existing.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var existing = Azure.Compute.GetManagedDisk.Invoke(new()\n    {\n        Name = \"example-datadisk\",\n        ResourceGroupName = \"example-resources\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"id\"] = existing.Apply(getManagedDiskResult =\u003e getManagedDiskResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/compute\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texisting, err := compute.LookupManagedDisk(ctx, \u0026compute.LookupManagedDiskArgs{\n\t\t\tName:              \"example-datadisk\",\n\t\t\tResourceGroupName: \"example-resources\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"id\", existing.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.compute.ComputeFunctions;\nimport com.pulumi.azure.compute.inputs.GetManagedDiskArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var existing = ComputeFunctions.getManagedDisk(GetManagedDiskArgs.builder()\n            .name(\"example-datadisk\")\n            .resourceGroupName(\"example-resources\")\n            .build());\n\n        ctx.export(\"id\", existing.id());\n    }\n}\n```\n```yaml\nvariables:\n  existing:\n    fn::invoke:\n      function: azure:compute:getManagedDisk\n      arguments:\n        name: example-datadisk\n        resourceGroupName: example-resources\noutputs:\n  id: ${existing.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.Compute` - 2023-04-02\n","inputs":{"description":"A collection of arguments for invoking getManagedDisk.\n","properties":{"name":{"type":"string","description":"Specifies the name of the Managed Disk.\n"},"resourceGroupName":{"type":"string","description":"Specifies the name of the Resource Group where this Managed Disk exists.\n"}},"type":"object","required":["name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getManagedDisk.\n","properties":{"createOption":{"type":"string"},"diskAccessId":{"description":"The ID of the disk access resource for using private endpoints on disks.\n","type":"string"},"diskEncryptionSetId":{"description":"The ID of the Disk Encryption Set used to encrypt this Managed Disk.\n","type":"string"},"diskIopsReadWrite":{"description":"The number of IOPS allowed for this disk, where one operation can transfer between 4k and 256k bytes.\n","type":"integer"},"diskMbpsReadWrite":{"description":"The bandwidth allowed for this disk.\n","type":"integer"},"diskSizeGb":{"description":"The size of the Managed Disk in gigabytes.\n","type":"integer"},"encryptionSettings":{"description":"A \u003cspan pulumi-lang-nodejs=\"`encryptionSettings`\" pulumi-lang-dotnet=\"`EncryptionSettings`\" pulumi-lang-go=\"`encryptionSettings`\" pulumi-lang-python=\"`encryption_settings`\" pulumi-lang-yaml=\"`encryptionSettings`\" pulumi-lang-java=\"`encryptionSettings`\"\u003e`encryption_settings`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:compute/getManagedDiskEncryptionSetting:getManagedDiskEncryptionSetting"},"type":"array"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"imageReferenceId":{"description":"The ID of the source image used for creating this Managed Disk.\n","type":"string"},"location":{"description":"The Azure location of the Managed Disk.\n","type":"string"},"name":{"type":"string"},"networkAccessPolicy":{"description":"Policy for accessing the disk via network.\n","type":"string"},"osType":{"description":"The operating system used for this Managed Disk.\n","type":"string"},"resourceGroupName":{"type":"string"},"sourceResourceId":{"description":"The ID of an existing Managed Disk which this Disk was created from.\n","type":"string"},"sourceUri":{"description":"The Source URI for this Managed Disk.\n","type":"string"},"storageAccountId":{"description":"The ID of the Storage Account where the \u003cspan pulumi-lang-nodejs=\"`sourceUri`\" pulumi-lang-dotnet=\"`SourceUri`\" pulumi-lang-go=\"`sourceUri`\" pulumi-lang-python=\"`source_uri`\" pulumi-lang-yaml=\"`sourceUri`\" pulumi-lang-java=\"`sourceUri`\"\u003e`source_uri`\u003c/span\u003e is located.\n","type":"string"},"storageAccountType":{"description":"The storage account type for the Managed Disk.\n","type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"A mapping of tags assigned to the resource.\n","type":"object"},"zones":{"description":"A list of Availability Zones where the Managed Disk exists.\n","items":{"type":"string"},"type":"array"}},"required":["createOption","diskAccessId","diskEncryptionSetId","diskIopsReadWrite","diskMbpsReadWrite","diskSizeGb","encryptionSettings","imageReferenceId","location","name","networkAccessPolicy","osType","resourceGroupName","sourceResourceId","sourceUri","storageAccountId","storageAccountType","tags","zones","id"],"type":"object"}},"azure:compute/getManagedDisks:getManagedDisks":{"description":"Use this data source to access information about an existing Managed Disk.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst existing = azure.compute.getManagedDisks({\n    resourceGroupName: \"example-resources\",\n});\nexport const firstDiskId = existingAzurermManagedDisk.disk[0].id;\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexisting = azure.compute.get_managed_disks(resource_group_name=\"example-resources\")\npulumi.export(\"firstDiskId\", existing_azurerm_managed_disk[\"disk\"][0][\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var existing = Azure.Compute.GetManagedDisks.Invoke(new()\n    {\n        ResourceGroupName = \"example-resources\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"firstDiskId\"] = existingAzurermManagedDisk.Disk[0].Id,\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/compute\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := compute.GetManagedDisks(ctx, \u0026compute.GetManagedDisksArgs{\n\t\t\tResourceGroupName: \"example-resources\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"firstDiskId\", existingAzurermManagedDisk.Disk[0].Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.compute.ComputeFunctions;\nimport com.pulumi.azure.compute.inputs.GetManagedDisksArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var existing = ComputeFunctions.getManagedDisks(GetManagedDisksArgs.builder()\n            .resourceGroupName(\"example-resources\")\n            .build());\n\n        ctx.export(\"firstDiskId\", existingAzurermManagedDisk.disk()[0].id());\n    }\n}\n```\n```yaml\nvariables:\n  existing:\n    fn::invoke:\n      function: azure:compute:getManagedDisks\n      arguments:\n        resourceGroupName: example-resources\noutputs:\n  firstDiskId: ${existingAzurermManagedDisk.disk[0].id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.Compute` - 2023-04-02\n","inputs":{"description":"A collection of arguments for invoking getManagedDisks.\n","properties":{"resourceGroupName":{"type":"string","description":"Specifies the name of the Resource Group where this Managed Disk exists.\n"}},"type":"object","required":["resourceGroupName"]},"outputs":{"description":"A collection of values returned by getManagedDisks.\n","properties":{"disks":{"description":"a \u003cspan pulumi-lang-nodejs=\"`disk`\" pulumi-lang-dotnet=\"`Disk`\" pulumi-lang-go=\"`disk`\" pulumi-lang-python=\"`disk`\" pulumi-lang-yaml=\"`disk`\" pulumi-lang-java=\"`disk`\"\u003e`disk`\u003c/span\u003e block as detailed below.\n","items":{"$ref":"#/types/azure:compute/getManagedDisksDisk:getManagedDisksDisk"},"type":"array"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"resourceGroupName":{"type":"string"}},"required":["disks","resourceGroupName","id"],"type":"object"}},"azure:compute/getOrchestratedVirtualMachineScaleSet:getOrchestratedVirtualMachineScaleSet":{"description":"Use this data source to access information about an existing Orchestrated Virtual Machine Scale Set.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.compute.getOrchestratedVirtualMachineScaleSet({\n    name: \"existing\",\n    resourceGroupName: \"existing\",\n});\nexport const id = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.compute.get_orchestrated_virtual_machine_scale_set(name=\"existing\",\n    resource_group_name=\"existing\")\npulumi.export(\"id\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Compute.GetOrchestratedVirtualMachineScaleSet.Invoke(new()\n    {\n        Name = \"existing\",\n        ResourceGroupName = \"existing\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"id\"] = example.Apply(getOrchestratedVirtualMachineScaleSetResult =\u003e getOrchestratedVirtualMachineScaleSetResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/compute\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := compute.LookupOrchestratedVirtualMachineScaleSet(ctx, \u0026compute.LookupOrchestratedVirtualMachineScaleSetArgs{\n\t\t\tName:              \"existing\",\n\t\t\tResourceGroupName: \"existing\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"id\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.compute.ComputeFunctions;\nimport com.pulumi.azure.compute.inputs.GetOrchestratedVirtualMachineScaleSetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = ComputeFunctions.getOrchestratedVirtualMachineScaleSet(GetOrchestratedVirtualMachineScaleSetArgs.builder()\n            .name(\"existing\")\n            .resourceGroupName(\"existing\")\n            .build());\n\n        ctx.export(\"id\", example.id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:compute:getOrchestratedVirtualMachineScaleSet\n      arguments:\n        name: existing\n        resourceGroupName: existing\noutputs:\n  id: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.Compute` - 2024-11-01\n","inputs":{"description":"A collection of arguments for invoking getOrchestratedVirtualMachineScaleSet.\n","properties":{"name":{"type":"string","description":"The name of this Orchestrated Virtual Machine Scale Set.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Orchestrated Virtual Machine Scale Set exists.\n"}},"type":"object","required":["name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getOrchestratedVirtualMachineScaleSet.\n","properties":{"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"identities":{"description":"A \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:compute/getOrchestratedVirtualMachineScaleSetIdentity:getOrchestratedVirtualMachineScaleSetIdentity"},"type":"array"},"location":{"description":"The Azure Region in which this Orchestrated Virtual Machine Scale Set exists.\n","type":"string"},"name":{"description":"The name of the public IP address configuration\n","type":"string"},"networkInterfaces":{"description":"A list of \u003cspan pulumi-lang-nodejs=\"`networkInterface`\" pulumi-lang-dotnet=\"`NetworkInterface`\" pulumi-lang-go=\"`networkInterface`\" pulumi-lang-python=\"`network_interface`\" pulumi-lang-yaml=\"`networkInterface`\" pulumi-lang-java=\"`networkInterface`\"\u003e`network_interface`\u003c/span\u003e blocks as defined below.\n","items":{"$ref":"#/types/azure:compute/getOrchestratedVirtualMachineScaleSetNetworkInterface:getOrchestratedVirtualMachineScaleSetNetworkInterface"},"type":"array"},"resourceGroupName":{"type":"string"}},"required":["identities","location","name","networkInterfaces","resourceGroupName","id"],"type":"object"}},"azure:compute/getPlatformImage:getPlatformImage":{"description":"Use this data source to access information about a Platform Image.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.compute.getPlatformImage({\n    location: \"West Europe\",\n    publisher: \"Canonical\",\n    offer: \"0001-com-ubuntu-server-focal\",\n    sku: \"20_04-lts\",\n});\nexport const id = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.compute.get_platform_image(location=\"West Europe\",\n    publisher=\"Canonical\",\n    offer=\"0001-com-ubuntu-server-focal\",\n    sku=\"20_04-lts\")\npulumi.export(\"id\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Compute.GetPlatformImage.Invoke(new()\n    {\n        Location = \"West Europe\",\n        Publisher = \"Canonical\",\n        Offer = \"0001-com-ubuntu-server-focal\",\n        Sku = \"20_04-lts\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"id\"] = example.Apply(getPlatformImageResult =\u003e getPlatformImageResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/compute\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := compute.GetPlatformImage(ctx, \u0026compute.GetPlatformImageArgs{\n\t\t\tLocation:  \"West Europe\",\n\t\t\tPublisher: \"Canonical\",\n\t\t\tOffer:     \"0001-com-ubuntu-server-focal\",\n\t\t\tSku:       \"20_04-lts\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"id\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.compute.ComputeFunctions;\nimport com.pulumi.azure.compute.inputs.GetPlatformImageArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = ComputeFunctions.getPlatformImage(GetPlatformImageArgs.builder()\n            .location(\"West Europe\")\n            .publisher(\"Canonical\")\n            .offer(\"0001-com-ubuntu-server-focal\")\n            .sku(\"20_04-lts\")\n            .build());\n\n        ctx.export(\"id\", example.id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:compute:getPlatformImage\n      arguments:\n        location: West Europe\n        publisher: Canonical\n        offer: 0001-com-ubuntu-server-focal\n        sku: 20_04-lts\noutputs:\n  id: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.Compute` - 2024-03-01\n","inputs":{"description":"A collection of arguments for invoking getPlatformImage.\n","properties":{"location":{"type":"string","description":"Specifies the Location to pull information about this Platform Image from.\n","willReplaceOnChanges":true},"offer":{"type":"string","description":"Specifies the Offer associated with the Platform Image.\n"},"publisher":{"type":"string","description":"Specifies the Publisher associated with the Platform Image.\n"},"sku":{"type":"string","description":"Specifies the SKU of the Platform Image.\n"},"version":{"type":"string","description":"The version of the Platform Image.\n"}},"type":"object","required":["location","offer","publisher","sku"]},"outputs":{"description":"A collection of values returned by getPlatformImage.\n","properties":{"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"location":{"type":"string"},"offer":{"type":"string"},"publisher":{"type":"string"},"sku":{"type":"string"},"version":{"type":"string"}},"required":["location","offer","publisher","sku","version","id"],"type":"object"}},"azure:compute/getSharedImage:getSharedImage":{"description":"Use this data source to access information about an existing Shared Image within a Shared Image Gallery.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.compute.getSharedImage({\n    name: \"my-image\",\n    galleryName: \"my-image-gallery\",\n    resourceGroupName: \"example-resources\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.compute.get_shared_image(name=\"my-image\",\n    gallery_name=\"my-image-gallery\",\n    resource_group_name=\"example-resources\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Compute.GetSharedImage.Invoke(new()\n    {\n        Name = \"my-image\",\n        GalleryName = \"my-image-gallery\",\n        ResourceGroupName = \"example-resources\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/compute\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := compute.LookupSharedImage(ctx, \u0026compute.LookupSharedImageArgs{\n\t\t\tName:              \"my-image\",\n\t\t\tGalleryName:       \"my-image-gallery\",\n\t\t\tResourceGroupName: \"example-resources\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.compute.ComputeFunctions;\nimport com.pulumi.azure.compute.inputs.GetSharedImageArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = ComputeFunctions.getSharedImage(GetSharedImageArgs.builder()\n            .name(\"my-image\")\n            .galleryName(\"my-image-gallery\")\n            .resourceGroupName(\"example-resources\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:compute:getSharedImage\n      arguments:\n        name: my-image\n        galleryName: my-image-gallery\n        resourceGroupName: example-resources\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.Compute` - 2022-03-03\n","inputs":{"description":"A collection of arguments for invoking getSharedImage.\n","properties":{"galleryName":{"type":"string","description":"The name of the Shared Image Gallery in which the Shared Image exists.\n"},"name":{"type":"string","description":"The name of the Shared Image.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group in which the Shared Image Gallery exists.\n"}},"type":"object","required":["galleryName","name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getSharedImage.\n","properties":{"acceleratedNetworkSupportEnabled":{"description":"Specifies if the Shared Image supports Accelerated Network.\n","type":"boolean"},"architecture":{"type":"string"},"confidentialVmEnabled":{"description":"Specifies if Confidential Virtual Machines enabled. It will enable all the features of trusted, with higher confidentiality features for isolate machines or encrypted data. Available for Gen2 machines.\n","type":"boolean"},"confidentialVmSupported":{"description":"Specifies if supports creation of both Confidential virtual machines and Gen2 virtual machines with standard security from a compatible Gen2 OS disk VHD or Gen2 Managed image.\n","type":"boolean"},"description":{"description":"The description of this Shared Image.\n","type":"string"},"eula":{"description":"The End User Licence Agreement for the Shared Image.\n","type":"string"},"galleryName":{"type":"string"},"hibernationEnabled":{"description":"Specifies if the Shared Image supports hibernation.\n","type":"boolean"},"hyperVGeneration":{"description":"The generation of HyperV that the Virtual Machine used to create the Shared Image is based on.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"identifiers":{"description":"An \u003cspan pulumi-lang-nodejs=\"`identifier`\" pulumi-lang-dotnet=\"`Identifier`\" pulumi-lang-go=\"`identifier`\" pulumi-lang-python=\"`identifier`\" pulumi-lang-yaml=\"`identifier`\" pulumi-lang-java=\"`identifier`\"\u003e`identifier`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:compute/getSharedImageIdentifier:getSharedImageIdentifier"},"type":"array"},"location":{"description":"The supported Azure location where the Shared Image Gallery exists.\n","type":"string"},"name":{"description":"(Required) The Purchase Plan Name for this Shared Image.\n","type":"string"},"osType":{"description":"The type of Operating System present in this Shared Image.\n","type":"string"},"privacyStatementUri":{"description":"The URI containing the Privacy Statement for this Shared Image.\n","type":"string"},"purchasePlans":{"description":"(Optional) A \u003cspan pulumi-lang-nodejs=\"`purchasePlan`\" pulumi-lang-dotnet=\"`PurchasePlan`\" pulumi-lang-go=\"`purchasePlan`\" pulumi-lang-python=\"`purchase_plan`\" pulumi-lang-yaml=\"`purchasePlan`\" pulumi-lang-java=\"`purchasePlan`\"\u003e`purchase_plan`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:compute/getSharedImagePurchasePlan:getSharedImagePurchasePlan"},"type":"array"},"releaseNoteUri":{"description":"The URI containing the Release Notes for this Shared Image.\n","type":"string"},"resourceGroupName":{"type":"string"},"specialized":{"description":"Specifies that the Operating System used inside this Image has not been Generalized (for example, \u003cspan pulumi-lang-nodejs=\"`sysprep`\" pulumi-lang-dotnet=\"`Sysprep`\" pulumi-lang-go=\"`sysprep`\" pulumi-lang-python=\"`sysprep`\" pulumi-lang-yaml=\"`sysprep`\" pulumi-lang-java=\"`sysprep`\"\u003e`sysprep`\u003c/span\u003e on Windows has not been run).\n","type":"boolean"},"tags":{"additionalProperties":{"type":"string"},"description":"A mapping of tags assigned to the Shared Image.\n","type":"object"},"trustedLaunchEnabled":{"description":"Specifies if Trusted Launch has to be enabled for the Virtual Machine created from the Shared Image.\n","type":"boolean"},"trustedLaunchSupported":{"description":"Specifies if supports creation of both Trusted Launch virtual machines and Gen2 virtual machines with standard security created from the Shared Image.\n","type":"boolean"}},"required":["acceleratedNetworkSupportEnabled","architecture","confidentialVmEnabled","confidentialVmSupported","description","eula","galleryName","hibernationEnabled","hyperVGeneration","identifiers","location","name","osType","privacyStatementUri","purchasePlans","releaseNoteUri","resourceGroupName","specialized","tags","trustedLaunchEnabled","trustedLaunchSupported","id"],"type":"object"}},"azure:compute/getSharedImageGallery:getSharedImageGallery":{"description":"Use this data source to access information about an existing Shared Image Gallery.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.compute.getSharedImageGallery({\n    name: \"my-image-gallery\",\n    resourceGroupName: \"example-resources\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.compute.get_shared_image_gallery(name=\"my-image-gallery\",\n    resource_group_name=\"example-resources\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Compute.GetSharedImageGallery.Invoke(new()\n    {\n        Name = \"my-image-gallery\",\n        ResourceGroupName = \"example-resources\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/compute\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := compute.LookupSharedImageGallery(ctx, \u0026compute.LookupSharedImageGalleryArgs{\n\t\t\tName:              \"my-image-gallery\",\n\t\t\tResourceGroupName: \"example-resources\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.compute.ComputeFunctions;\nimport com.pulumi.azure.compute.inputs.GetSharedImageGalleryArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = ComputeFunctions.getSharedImageGallery(GetSharedImageGalleryArgs.builder()\n            .name(\"my-image-gallery\")\n            .resourceGroupName(\"example-resources\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:compute:getSharedImageGallery\n      arguments:\n        name: my-image-gallery\n        resourceGroupName: example-resources\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.Compute` - 2022-03-03\n","inputs":{"description":"A collection of arguments for invoking getSharedImageGallery.\n","properties":{"name":{"type":"string","description":"The name of the Shared Image Gallery.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group in which the Shared Image Gallery exists.\n"}},"type":"object","required":["name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getSharedImageGallery.\n","properties":{"description":{"description":"A description for the Shared Image Gallery.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"imageNames":{"description":"A list of Shared Image names within this Shared Image Gallery.\n","items":{"type":"string"},"type":"array"},"location":{"type":"string"},"name":{"type":"string"},"resourceGroupName":{"type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"A mapping of tags which are assigned to the Shared Image Gallery.\n","type":"object"},"uniqueName":{"description":"The unique name assigned to the Shared Image Gallery.\n","type":"string"}},"required":["description","imageNames","location","name","resourceGroupName","tags","uniqueName","id"],"type":"object"}},"azure:compute/getSharedImageVersion:getSharedImageVersion":{"description":"Use this data source to access information about an existing Version of a Shared Image within a Shared Image Gallery.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.compute.getSharedImageVersion({\n    name: \"1.0.0\",\n    imageName: \"my-image\",\n    galleryName: \"my-image-gallery\",\n    resourceGroupName: \"example-resources\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.compute.get_shared_image_version(name=\"1.0.0\",\n    image_name=\"my-image\",\n    gallery_name=\"my-image-gallery\",\n    resource_group_name=\"example-resources\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Compute.GetSharedImageVersion.Invoke(new()\n    {\n        Name = \"1.0.0\",\n        ImageName = \"my-image\",\n        GalleryName = \"my-image-gallery\",\n        ResourceGroupName = \"example-resources\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/compute\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := compute.LookupSharedImageVersion(ctx, \u0026compute.LookupSharedImageVersionArgs{\n\t\t\tName:              \"1.0.0\",\n\t\t\tImageName:         \"my-image\",\n\t\t\tGalleryName:       \"my-image-gallery\",\n\t\t\tResourceGroupName: \"example-resources\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.compute.ComputeFunctions;\nimport com.pulumi.azure.compute.inputs.GetSharedImageVersionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = ComputeFunctions.getSharedImageVersion(GetSharedImageVersionArgs.builder()\n            .name(\"1.0.0\")\n            .imageName(\"my-image\")\n            .galleryName(\"my-image-gallery\")\n            .resourceGroupName(\"example-resources\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:compute:getSharedImageVersion\n      arguments:\n        name: 1.0.0\n        imageName: my-image\n        galleryName: my-image-gallery\n        resourceGroupName: example-resources\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.Compute` - 2023-07-03\n","inputs":{"description":"A collection of arguments for invoking getSharedImageVersion.\n","properties":{"galleryName":{"type":"string","description":"The name of the Shared Image Gallery in which the Shared Image exists.\n"},"imageName":{"type":"string","description":"The name of the Shared Image in which this Version exists.\n"},"name":{"type":"string","description":"The name of the Image Version.\n\n\u003e **Note:** You may specify \u003cspan pulumi-lang-nodejs=\"`latest`\" pulumi-lang-dotnet=\"`Latest`\" pulumi-lang-go=\"`latest`\" pulumi-lang-python=\"`latest`\" pulumi-lang-yaml=\"`latest`\" pulumi-lang-java=\"`latest`\"\u003e`latest`\u003c/span\u003e to obtain the latest version or \u003cspan pulumi-lang-nodejs=\"`recent`\" pulumi-lang-dotnet=\"`Recent`\" pulumi-lang-go=\"`recent`\" pulumi-lang-python=\"`recent`\" pulumi-lang-yaml=\"`recent`\" pulumi-lang-java=\"`recent`\"\u003e`recent`\u003c/span\u003e to obtain the most recently updated version.\n\n\u003e **Note:** In 3.0, \u003cspan pulumi-lang-nodejs=\"`latest`\" pulumi-lang-dotnet=\"`Latest`\" pulumi-lang-go=\"`latest`\" pulumi-lang-python=\"`latest`\" pulumi-lang-yaml=\"`latest`\" pulumi-lang-java=\"`latest`\"\u003e`latest`\u003c/span\u003e may return an image version with \u003cspan pulumi-lang-nodejs=\"`excludeFromLatest`\" pulumi-lang-dotnet=\"`ExcludeFromLatest`\" pulumi-lang-go=\"`excludeFromLatest`\" pulumi-lang-python=\"`exclude_from_latest`\" pulumi-lang-yaml=\"`excludeFromLatest`\" pulumi-lang-java=\"`excludeFromLatest`\"\u003e`exclude_from_latest`\u003c/span\u003e set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e. Starting from 4.0 onwards \u003cspan pulumi-lang-nodejs=\"`latest`\" pulumi-lang-dotnet=\"`Latest`\" pulumi-lang-go=\"`latest`\" pulumi-lang-python=\"`latest`\" pulumi-lang-yaml=\"`latest`\" pulumi-lang-java=\"`latest`\"\u003e`latest`\u003c/span\u003e will not return image versions with \u003cspan pulumi-lang-nodejs=\"`exludeFromLatest`\" pulumi-lang-dotnet=\"`ExludeFromLatest`\" pulumi-lang-go=\"`exludeFromLatest`\" pulumi-lang-python=\"`exlude_from_latest`\" pulumi-lang-yaml=\"`exludeFromLatest`\" pulumi-lang-java=\"`exludeFromLatest`\"\u003e`exlude_from_latest`\u003c/span\u003e set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group in which the Shared Image Gallery exists.\n"},"sortVersionsBySemver":{"type":"boolean","description":"Sort available versions taking SemVer versioning scheme into account. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags assigned to the Shared Image.\n"}},"type":"object","required":["galleryName","imageName","name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getSharedImageVersion.\n","properties":{"excludeFromLatest":{"description":"Is this Image Version excluded from the \u003cspan pulumi-lang-nodejs=\"`latest`\" pulumi-lang-dotnet=\"`Latest`\" pulumi-lang-go=\"`latest`\" pulumi-lang-python=\"`latest`\" pulumi-lang-yaml=\"`latest`\" pulumi-lang-java=\"`latest`\"\u003e`latest`\u003c/span\u003e filter?\n","type":"boolean"},"galleryName":{"type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"imageName":{"type":"string"},"location":{"description":"The supported Azure location where the Shared Image Gallery exists.\n","type":"string"},"managedImageId":{"description":"The ID of the Managed Image which was the source of this Shared Image Version.\n","type":"string"},"name":{"description":"The Azure Region in which this Image Version exists.\n","type":"string"},"osDiskImageSizeGb":{"description":"The size of the OS disk snapshot (in Gigabytes) which was the source of this Shared Image Version.\n","type":"integer"},"osDiskSnapshotId":{"description":"The ID of the OS disk snapshot which was the source of this Shared Image Version.\n","type":"string"},"resourceGroupName":{"type":"string"},"sortVersionsBySemver":{"type":"boolean"},"tags":{"additionalProperties":{"type":"string"},"description":"A mapping of tags assigned to the Shared Image.\n","type":"object"},"targetRegions":{"description":"One or more \u003cspan pulumi-lang-nodejs=\"`targetRegion`\" pulumi-lang-dotnet=\"`TargetRegion`\" pulumi-lang-go=\"`targetRegion`\" pulumi-lang-python=\"`target_region`\" pulumi-lang-yaml=\"`targetRegion`\" pulumi-lang-java=\"`targetRegion`\"\u003e`target_region`\u003c/span\u003e blocks as documented below.\n","items":{"$ref":"#/types/azure:compute/getSharedImageVersionTargetRegion:getSharedImageVersionTargetRegion"},"type":"array"}},"required":["excludeFromLatest","galleryName","imageName","location","managedImageId","name","osDiskImageSizeGb","osDiskSnapshotId","resourceGroupName","targetRegions","id"],"type":"object"}},"azure:compute/getSharedImageVersions:getSharedImageVersions":{"description":"Use this data source to access information about existing Versions of a Shared Image within a Shared Image Gallery.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.compute.getSharedImageVersions({\n    imageName: \"my-image\",\n    galleryName: \"my-image-gallery\",\n    resourceGroupName: \"example-resources\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.compute.get_shared_image_versions(image_name=\"my-image\",\n    gallery_name=\"my-image-gallery\",\n    resource_group_name=\"example-resources\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Compute.GetSharedImageVersions.Invoke(new()\n    {\n        ImageName = \"my-image\",\n        GalleryName = \"my-image-gallery\",\n        ResourceGroupName = \"example-resources\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/compute\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := compute.GetSharedImageVersions(ctx, \u0026compute.GetSharedImageVersionsArgs{\n\t\t\tImageName:         \"my-image\",\n\t\t\tGalleryName:       \"my-image-gallery\",\n\t\t\tResourceGroupName: \"example-resources\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.compute.ComputeFunctions;\nimport com.pulumi.azure.compute.inputs.GetSharedImageVersionsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = ComputeFunctions.getSharedImageVersions(GetSharedImageVersionsArgs.builder()\n            .imageName(\"my-image\")\n            .galleryName(\"my-image-gallery\")\n            .resourceGroupName(\"example-resources\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:compute:getSharedImageVersions\n      arguments:\n        imageName: my-image\n        galleryName: my-image-gallery\n        resourceGroupName: example-resources\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.Compute` - 2023-07-03\n","inputs":{"description":"A collection of arguments for invoking getSharedImageVersions.\n","properties":{"galleryName":{"type":"string","description":"The name of the Shared Image in which the Shared Image exists.\n"},"imageName":{"type":"string","description":"The name of the Shared Image in which this Version exists.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group in which the Shared Image Gallery exists.\n"},"tagsFilter":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to filter the list of images against.\n"}},"type":"object","required":["galleryName","imageName","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getSharedImageVersions.\n","properties":{"galleryName":{"type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"imageName":{"type":"string"},"images":{"description":"An \u003cspan pulumi-lang-nodejs=\"`images`\" pulumi-lang-dotnet=\"`Images`\" pulumi-lang-go=\"`images`\" pulumi-lang-python=\"`images`\" pulumi-lang-yaml=\"`images`\" pulumi-lang-java=\"`images`\"\u003e`images`\u003c/span\u003e block as defined below:\n","items":{"$ref":"#/types/azure:compute/getSharedImageVersionsImage:getSharedImageVersionsImage"},"type":"array"},"resourceGroupName":{"type":"string"},"tagsFilter":{"additionalProperties":{"type":"string"},"type":"object"}},"required":["galleryName","imageName","images","resourceGroupName","id"],"type":"object"}},"azure:compute/getSnapshot:getSnapshot":{"description":"Use this data source to access information about an existing Snapshot.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.compute.getSnapshot({\n    name: \"my-snapshot\",\n    resourceGroupName: \"my-resource-group\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.compute.get_snapshot(name=\"my-snapshot\",\n    resource_group_name=\"my-resource-group\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Compute.GetSnapshot.Invoke(new()\n    {\n        Name = \"my-snapshot\",\n        ResourceGroupName = \"my-resource-group\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/compute\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := compute.LookupSnapshot(ctx, \u0026compute.LookupSnapshotArgs{\n\t\t\tName:              \"my-snapshot\",\n\t\t\tResourceGroupName: \"my-resource-group\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.compute.ComputeFunctions;\nimport com.pulumi.azure.compute.inputs.GetSnapshotArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = ComputeFunctions.getSnapshot(GetSnapshotArgs.builder()\n            .name(\"my-snapshot\")\n            .resourceGroupName(\"my-resource-group\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:compute:getSnapshot\n      arguments:\n        name: my-snapshot\n        resourceGroupName: my-resource-group\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.Compute` - 2022-03-02\n","inputs":{"description":"A collection of arguments for invoking getSnapshot.\n","properties":{"name":{"type":"string","description":"Specifies the name of the Snapshot.\n"},"resourceGroupName":{"type":"string","description":"Specifies the name of the resource group the Snapshot is located in.\n"}},"type":"object","required":["name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getSnapshot.\n","properties":{"creationOption":{"type":"string"},"diskSizeGb":{"description":"The size of the Snapshotted Disk in GB.\n","type":"integer"},"encryptionSettings":{"items":{"$ref":"#/types/azure:compute/getSnapshotEncryptionSetting:getSnapshotEncryptionSetting"},"type":"array"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"name":{"type":"string"},"osType":{"type":"string"},"resourceGroupName":{"type":"string"},"sourceResourceId":{"description":"The reference to an existing snapshot.\n","type":"string"},"sourceUri":{"description":"The URI to a Managed or Unmanaged Disk.\n","type":"string"},"storageAccountId":{"description":"The ID of an storage account.\n","type":"string"},"timeCreated":{"type":"string"},"trustedLaunchEnabled":{"description":"Whether Trusted Launch is enabled for the Snapshot.\n","type":"boolean"}},"required":["creationOption","diskSizeGb","encryptionSettings","name","osType","resourceGroupName","sourceResourceId","sourceUri","storageAccountId","timeCreated","trustedLaunchEnabled","id"],"type":"object"}},"azure:compute/getSshPublicKey:getSshPublicKey":{"description":"Use this data source to access information about an existing SSH Public Key.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.compute.getSshPublicKey({\n    name: \"existing\",\n    resourceGroupName: \"existing\",\n});\nexport const id = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.compute.get_ssh_public_key(name=\"existing\",\n    resource_group_name=\"existing\")\npulumi.export(\"id\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Compute.GetSshPublicKey.Invoke(new()\n    {\n        Name = \"existing\",\n        ResourceGroupName = \"existing\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"id\"] = example.Apply(getSshPublicKeyResult =\u003e getSshPublicKeyResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/compute\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := compute.LookupSshPublicKey(ctx, \u0026compute.LookupSshPublicKeyArgs{\n\t\t\tName:              \"existing\",\n\t\t\tResourceGroupName: \"existing\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"id\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.compute.ComputeFunctions;\nimport com.pulumi.azure.compute.inputs.GetSshPublicKeyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = ComputeFunctions.getSshPublicKey(GetSshPublicKeyArgs.builder()\n            .name(\"existing\")\n            .resourceGroupName(\"existing\")\n            .build());\n\n        ctx.export(\"id\", example.id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:compute:getSshPublicKey\n      arguments:\n        name: existing\n        resourceGroupName: existing\noutputs:\n  id: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.Compute` - 2024-03-01\n","inputs":{"description":"A collection of arguments for invoking getSshPublicKey.\n","properties":{"name":{"type":"string","description":"The name of this SSH Public Key.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the SSH Public Key exists.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the SSH Public Key.\n"}},"type":"object","required":["name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getSshPublicKey.\n","properties":{"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"name":{"type":"string"},"publicKey":{"description":"The SSH public key used to authenticate to a virtual machine through ssh.\n","type":"string"},"resourceGroupName":{"type":"string"},"tags":{"additionalProperties":{"type":"string"},"type":"object"}},"required":["name","publicKey","resourceGroupName","id"],"type":"object"}},"azure:compute/getVirtualMachine:getVirtualMachine":{"description":"Use this data source to access information about an existing Virtual Machine.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.compute.getVirtualMachine({\n    name: \"production\",\n    resourceGroupName: \"networking\",\n});\nexport const virtualMachineId = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.compute.get_virtual_machine(name=\"production\",\n    resource_group_name=\"networking\")\npulumi.export(\"virtualMachineId\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Compute.GetVirtualMachine.Invoke(new()\n    {\n        Name = \"production\",\n        ResourceGroupName = \"networking\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"virtualMachineId\"] = example.Apply(getVirtualMachineResult =\u003e getVirtualMachineResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/compute\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := compute.LookupVirtualMachine(ctx, \u0026compute.LookupVirtualMachineArgs{\n\t\t\tName:              \"production\",\n\t\t\tResourceGroupName: \"networking\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"virtualMachineId\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.compute.ComputeFunctions;\nimport com.pulumi.azure.compute.inputs.GetVirtualMachineArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = ComputeFunctions.getVirtualMachine(GetVirtualMachineArgs.builder()\n            .name(\"production\")\n            .resourceGroupName(\"networking\")\n            .build());\n\n        ctx.export(\"virtualMachineId\", example.id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:compute:getVirtualMachine\n      arguments:\n        name: production\n        resourceGroupName: networking\noutputs:\n  virtualMachineId: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.Compute` - 2024-03-01\n","inputs":{"description":"A collection of arguments for invoking getVirtualMachine.\n","properties":{"name":{"type":"string","description":"Specifies the name of the Virtual Machine.\n"},"resourceGroupName":{"type":"string","description":"Specifies the name of the resource group the Virtual Machine is located in.\n"}},"type":"object","required":["name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getVirtualMachine.\n","properties":{"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"identities":{"description":"A \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:compute/getVirtualMachineIdentity:getVirtualMachineIdentity"},"type":"array"},"location":{"type":"string"},"name":{"type":"string"},"powerState":{"description":"The power state of the virtual machine.\n","type":"string"},"privateIpAddress":{"description":"The Primary Private IP Address assigned to this Virtual Machine.\n","type":"string"},"privateIpAddresses":{"description":"A list of Private IP Addresses assigned to this Virtual Machine.\n","items":{"type":"string"},"type":"array"},"publicIpAddress":{"description":"The Primary Public IP Address assigned to this Virtual Machine.\n","type":"string"},"publicIpAddresses":{"description":"A list of the Public IP Addresses assigned to this Virtual Machine.\n","items":{"type":"string"},"type":"array"},"resourceGroupName":{"type":"string"}},"required":["identities","location","name","powerState","privateIpAddress","privateIpAddresses","publicIpAddress","publicIpAddresses","resourceGroupName","id"],"type":"object"}},"azure:compute/getVirtualMachineScaleSet:getVirtualMachineScaleSet":{"description":"Use this data source to access information about an existing Virtual Machine Scale Set.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.compute.getVirtualMachineScaleSet({\n    name: \"existing\",\n    resourceGroupName: \"existing\",\n});\nexport const id = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.compute.get_virtual_machine_scale_set(name=\"existing\",\n    resource_group_name=\"existing\")\npulumi.export(\"id\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Compute.GetVirtualMachineScaleSet.Invoke(new()\n    {\n        Name = \"existing\",\n        ResourceGroupName = \"existing\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"id\"] = example.Apply(getVirtualMachineScaleSetResult =\u003e getVirtualMachineScaleSetResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/compute\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := compute.GetVirtualMachineScaleSet(ctx, \u0026compute.GetVirtualMachineScaleSetArgs{\n\t\t\tName:              \"existing\",\n\t\t\tResourceGroupName: \"existing\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"id\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.compute.ComputeFunctions;\nimport com.pulumi.azure.compute.inputs.GetVirtualMachineScaleSetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = ComputeFunctions.getVirtualMachineScaleSet(GetVirtualMachineScaleSetArgs.builder()\n            .name(\"existing\")\n            .resourceGroupName(\"existing\")\n            .build());\n\n        ctx.export(\"id\", example.id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:compute:getVirtualMachineScaleSet\n      arguments:\n        name: existing\n        resourceGroupName: existing\noutputs:\n  id: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.Compute` - 2024-11-01, 2024-03-01, 2023-09-01\n","inputs":{"description":"A collection of arguments for invoking getVirtualMachineScaleSet.\n","properties":{"name":{"type":"string","description":"The name of this Virtual Machine Scale Set.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Virtual Machine Scale Set exists.\n"}},"type":"object","required":["name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getVirtualMachineScaleSet.\n","properties":{"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"identities":{"description":"A \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:compute/getVirtualMachineScaleSetIdentity:getVirtualMachineScaleSetIdentity"},"type":"array"},"instances":{"description":"A list of \u003cspan pulumi-lang-nodejs=\"`instances`\" pulumi-lang-dotnet=\"`Instances`\" pulumi-lang-go=\"`instances`\" pulumi-lang-python=\"`instances`\" pulumi-lang-yaml=\"`instances`\" pulumi-lang-java=\"`instances`\"\u003e`instances`\u003c/span\u003e blocks as defined below.\n","items":{"$ref":"#/types/azure:compute/getVirtualMachineScaleSetInstance:getVirtualMachineScaleSetInstance"},"type":"array"},"location":{"description":"The Azure Region in which this Virtual Machine Scale Set exists.\n","type":"string"},"name":{"description":"The name of the public IP address configuration\n","type":"string"},"networkInterfaces":{"description":"A list of \u003cspan pulumi-lang-nodejs=\"`networkInterface`\" pulumi-lang-dotnet=\"`NetworkInterface`\" pulumi-lang-go=\"`networkInterface`\" pulumi-lang-python=\"`network_interface`\" pulumi-lang-yaml=\"`networkInterface`\" pulumi-lang-java=\"`networkInterface`\"\u003e`network_interface`\u003c/span\u003e blocks as defined below.\n","items":{"$ref":"#/types/azure:compute/getVirtualMachineScaleSetNetworkInterface:getVirtualMachineScaleSetNetworkInterface"},"type":"array"},"resourceGroupName":{"type":"string"}},"required":["identities","instances","location","name","networkInterfaces","resourceGroupName","id"],"type":"object"}},"azure:connections/getApiConnection:getApiConnection":{"description":"Use this data source to access information about an existing API Connection.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.connections.getApiConnection({\n    name: \"example-connection\",\n    resourceGroupName: \"example-resources\",\n});\nexport const connectionId = example.then(example =\u003e example.id);\nexport const connectionName = example.then(example =\u003e example.name);\nexport const managedApiId = example.then(example =\u003e example.managedApiId);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.connections.get_api_connection(name=\"example-connection\",\n    resource_group_name=\"example-resources\")\npulumi.export(\"connectionId\", example.id)\npulumi.export(\"connectionName\", example.name)\npulumi.export(\"managedApiId\", example.managed_api_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Connections.GetApiConnection.Invoke(new()\n    {\n        Name = \"example-connection\",\n        ResourceGroupName = \"example-resources\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"connectionId\"] = example.Apply(getApiConnectionResult =\u003e getApiConnectionResult.Id),\n        [\"connectionName\"] = example.Apply(getApiConnectionResult =\u003e getApiConnectionResult.Name),\n        [\"managedApiId\"] = example.Apply(getApiConnectionResult =\u003e getApiConnectionResult.ManagedApiId),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/connections\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := connections.LookupApiConnection(ctx, \u0026connections.LookupApiConnectionArgs{\n\t\t\tName:              \"example-connection\",\n\t\t\tResourceGroupName: \"example-resources\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"connectionId\", example.Id)\n\t\tctx.Export(\"connectionName\", example.Name)\n\t\tctx.Export(\"managedApiId\", example.ManagedApiId)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.connections.ConnectionsFunctions;\nimport com.pulumi.azure.connections.inputs.GetApiConnectionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = ConnectionsFunctions.getApiConnection(GetApiConnectionArgs.builder()\n            .name(\"example-connection\")\n            .resourceGroupName(\"example-resources\")\n            .build());\n\n        ctx.export(\"connectionId\", example.id());\n        ctx.export(\"connectionName\", example.name());\n        ctx.export(\"managedApiId\", example.managedApiId());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:connections:getApiConnection\n      arguments:\n        name: example-connection\n        resourceGroupName: example-resources\noutputs:\n  connectionId: ${example.id}\n  connectionName: ${example.name}\n  managedApiId: ${example.managedApiId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.Web` - 2016-06-01\n","inputs":{"description":"A collection of arguments for invoking getApiConnection.\n","properties":{"name":{"type":"string","description":"The name of the API Connection.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the API Connection exists.\n"}},"type":"object","required":["name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getApiConnection.\n","properties":{"displayName":{"description":"The display name of the API Connection.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"location":{"description":"The Azure Region where the API Connection exists.\n","type":"string"},"managedApiId":{"description":"The ID of the Managed API that this connection is linked to.\n","type":"string"},"name":{"type":"string"},"parameterValues":{"additionalProperties":{"type":"string"},"description":"A mapping of parameter names to their values for the API Connection.\n","type":"object"},"resourceGroupName":{"type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"A mapping of tags assigned to the API Connection.\n","type":"object"}},"required":["displayName","location","managedApiId","name","parameterValues","resourceGroupName","tags","id"],"type":"object"}},"azure:connections/getManagedApi:getManagedApi":{"description":"Uses this data source to access information about an existing Managed API.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.connections.getManagedApi({\n    name: \"servicebus\",\n    location: \"West Europe\",\n});\nexport const id = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.connections.get_managed_api(name=\"servicebus\",\n    location=\"West Europe\")\npulumi.export(\"id\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Connections.GetManagedApi.Invoke(new()\n    {\n        Name = \"servicebus\",\n        Location = \"West Europe\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"id\"] = example.Apply(getManagedApiResult =\u003e getManagedApiResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/connections\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := connections.GetManagedApi(ctx, \u0026connections.GetManagedApiArgs{\n\t\t\tName:     \"servicebus\",\n\t\t\tLocation: \"West Europe\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"id\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.connections.ConnectionsFunctions;\nimport com.pulumi.azure.connections.inputs.GetManagedApiArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = ConnectionsFunctions.getManagedApi(GetManagedApiArgs.builder()\n            .name(\"servicebus\")\n            .location(\"West Europe\")\n            .build());\n\n        ctx.export(\"id\", example.id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:connections:getManagedApi\n      arguments:\n        name: servicebus\n        location: West Europe\noutputs:\n  id: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.Web` - 2016-06-01\n","inputs":{"description":"A collection of arguments for invoking getManagedApi.\n","properties":{"location":{"type":"string","description":"The Azure location for this Managed API.\n"},"name":{"type":"string","description":"Specifies the name of the Managed API.\n"}},"type":"object","required":["location","name"]},"outputs":{"description":"A collection of values returned by getManagedApi.\n","properties":{"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"location":{"type":"string"},"name":{"type":"string"},"tags":{"additionalProperties":{"type":"string"},"type":"object"}},"required":["location","name","tags","id"],"type":"object"}},"azure:consumption/getBudgetResourceGroup:getBudgetResourceGroup":{"description":"Use this data source to access information about an existing Consumption Budget for a specific resource group.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.consumption.getBudgetResourceGroup({\n    name: \"existing\",\n    resourceGroupId: exampleAzurermResourceGroup.id,\n});\nexport const id = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.consumption.get_budget_resource_group(name=\"existing\",\n    resource_group_id=example_azurerm_resource_group[\"id\"])\npulumi.export(\"id\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Consumption.GetBudgetResourceGroup.Invoke(new()\n    {\n        Name = \"existing\",\n        ResourceGroupId = exampleAzurermResourceGroup.Id,\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"id\"] = example.Apply(getBudgetResourceGroupResult =\u003e getBudgetResourceGroupResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/consumption\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := consumption.LookupBudgetResourceGroup(ctx, \u0026consumption.LookupBudgetResourceGroupArgs{\n\t\t\tName:            \"existing\",\n\t\t\tResourceGroupId: exampleAzurermResourceGroup.Id,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"id\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.consumption.ConsumptionFunctions;\nimport com.pulumi.azure.consumption.inputs.GetBudgetResourceGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = ConsumptionFunctions.getBudgetResourceGroup(GetBudgetResourceGroupArgs.builder()\n            .name(\"existing\")\n            .resourceGroupId(exampleAzurermResourceGroup.id())\n            .build());\n\n        ctx.export(\"id\", example.id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:consumption:getBudgetResourceGroup\n      arguments:\n        name: existing\n        resourceGroupId: ${exampleAzurermResourceGroup.id}\noutputs:\n  id: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.Consumption` - 2019-10-01\n","inputs":{"description":"A collection of arguments for invoking getBudgetResourceGroup.\n","properties":{"name":{"type":"string","description":"The name of this Consumption Budget.\n"},"resourceGroupId":{"type":"string","description":"The ID of the subscription.\n"}},"type":"object","required":["name","resourceGroupId"]},"outputs":{"description":"A collection of values returned by getBudgetResourceGroup.\n","properties":{"amount":{"description":"The total amount of cost to track with the budget.\n","type":"number"},"filters":{"description":"A \u003cspan pulumi-lang-nodejs=\"`filter`\" pulumi-lang-dotnet=\"`Filter`\" pulumi-lang-go=\"`filter`\" pulumi-lang-python=\"`filter`\" pulumi-lang-yaml=\"`filter`\" pulumi-lang-java=\"`filter`\"\u003e`filter`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:consumption/getBudgetResourceGroupFilter:getBudgetResourceGroupFilter"},"type":"array"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"name":{"description":"The name of the tag used for the filter.\n","type":"string"},"notifications":{"description":"A \u003cspan pulumi-lang-nodejs=\"`notification`\" pulumi-lang-dotnet=\"`Notification`\" pulumi-lang-go=\"`notification`\" pulumi-lang-python=\"`notification`\" pulumi-lang-yaml=\"`notification`\" pulumi-lang-java=\"`notification`\"\u003e`notification`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:consumption/getBudgetResourceGroupNotification:getBudgetResourceGroupNotification"},"type":"array"},"resourceGroupId":{"type":"string"},"timeGrain":{"description":"The time covered by a budget.\n","type":"string"},"timePeriods":{"description":"A \u003cspan pulumi-lang-nodejs=\"`timePeriod`\" pulumi-lang-dotnet=\"`TimePeriod`\" pulumi-lang-go=\"`timePeriod`\" pulumi-lang-python=\"`time_period`\" pulumi-lang-yaml=\"`timePeriod`\" pulumi-lang-java=\"`timePeriod`\"\u003e`time_period`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:consumption/getBudgetResourceGroupTimePeriod:getBudgetResourceGroupTimePeriod"},"type":"array"}},"required":["amount","filters","name","notifications","resourceGroupId","timeGrain","timePeriods","id"],"type":"object"}},"azure:consumption/getBudgetSubscription:getBudgetSubscription":{"description":"Use this data source to access information about an existing Consumption Budget for a specific subscription.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.consumption.getBudgetSubscription({\n    name: \"existing\",\n    subscriptionId: \"/subscriptions/00000000-0000-0000-0000-000000000000/\",\n});\nexport const id = exampleAzurermConsumptionBudget.id;\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.consumption.get_budget_subscription(name=\"existing\",\n    subscription_id=\"/subscriptions/00000000-0000-0000-0000-000000000000/\")\npulumi.export(\"id\", example_azurerm_consumption_budget[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Consumption.GetBudgetSubscription.Invoke(new()\n    {\n        Name = \"existing\",\n        SubscriptionId = \"/subscriptions/00000000-0000-0000-0000-000000000000/\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"id\"] = exampleAzurermConsumptionBudget.Id,\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/consumption\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := consumption.LookupBudgetSubscription(ctx, \u0026consumption.LookupBudgetSubscriptionArgs{\n\t\t\tName:           \"existing\",\n\t\t\tSubscriptionId: \"/subscriptions/00000000-0000-0000-0000-000000000000/\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"id\", exampleAzurermConsumptionBudget.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.consumption.ConsumptionFunctions;\nimport com.pulumi.azure.consumption.inputs.GetBudgetSubscriptionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = ConsumptionFunctions.getBudgetSubscription(GetBudgetSubscriptionArgs.builder()\n            .name(\"existing\")\n            .subscriptionId(\"/subscriptions/00000000-0000-0000-0000-000000000000/\")\n            .build());\n\n        ctx.export(\"id\", exampleAzurermConsumptionBudget.id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:consumption:getBudgetSubscription\n      arguments:\n        name: existing\n        subscriptionId: /subscriptions/00000000-0000-0000-0000-000000000000/\noutputs:\n  id: ${exampleAzurermConsumptionBudget.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.Consumption` - 2019-10-01\n","inputs":{"description":"A collection of arguments for invoking getBudgetSubscription.\n","properties":{"name":{"type":"string","description":"The name of this Consumption Budget.\n"},"subscriptionId":{"type":"string","description":"The ID of the subscription.\n"}},"type":"object","required":["name","subscriptionId"]},"outputs":{"description":"A collection of values returned by getBudgetSubscription.\n","properties":{"amount":{"description":"The total amount of cost to track with the budget.\n","type":"number"},"filters":{"description":"A \u003cspan pulumi-lang-nodejs=\"`filter`\" pulumi-lang-dotnet=\"`Filter`\" pulumi-lang-go=\"`filter`\" pulumi-lang-python=\"`filter`\" pulumi-lang-yaml=\"`filter`\" pulumi-lang-java=\"`filter`\"\u003e`filter`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:consumption/getBudgetSubscriptionFilter:getBudgetSubscriptionFilter"},"type":"array"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"name":{"description":"The name of the tag to use for the filter.\n","type":"string"},"notifications":{"description":"A \u003cspan pulumi-lang-nodejs=\"`notification`\" pulumi-lang-dotnet=\"`Notification`\" pulumi-lang-go=\"`notification`\" pulumi-lang-python=\"`notification`\" pulumi-lang-yaml=\"`notification`\" pulumi-lang-java=\"`notification`\"\u003e`notification`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:consumption/getBudgetSubscriptionNotification:getBudgetSubscriptionNotification"},"type":"array"},"subscriptionId":{"type":"string"},"timeGrain":{"description":"The time covered by a budget.\n","type":"string"},"timePeriods":{"description":"A \u003cspan pulumi-lang-nodejs=\"`timePeriod`\" pulumi-lang-dotnet=\"`TimePeriod`\" pulumi-lang-go=\"`timePeriod`\" pulumi-lang-python=\"`time_period`\" pulumi-lang-yaml=\"`timePeriod`\" pulumi-lang-java=\"`timePeriod`\"\u003e`time_period`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:consumption/getBudgetSubscriptionTimePeriod:getBudgetSubscriptionTimePeriod"},"type":"array"}},"required":["amount","filters","name","notifications","subscriptionId","timeGrain","timePeriods","id"],"type":"object"}},"azure:containerapp/getApp:getApp":{"description":"Use this data source to access information about an existing Container App.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.containerapp.getApp({\n    name: \"example-app\",\n    resourceGroupName: \"example-resources\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.containerapp.get_app(name=\"example-app\",\n    resource_group_name=\"example-resources\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.ContainerApp.GetApp.Invoke(new()\n    {\n        Name = \"example-app\",\n        ResourceGroupName = \"example-resources\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/containerapp\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := containerapp.LookupApp(ctx, \u0026containerapp.LookupAppArgs{\n\t\t\tName:              \"example-app\",\n\t\t\tResourceGroupName: \"example-resources\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.containerapp.ContainerappFunctions;\nimport com.pulumi.azure.containerapp.inputs.GetAppArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = ContainerappFunctions.getApp(GetAppArgs.builder()\n            .name(\"example-app\")\n            .resourceGroupName(\"example-resources\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:containerapp:getApp\n      arguments:\n        name: example-app\n        resourceGroupName: example-resources\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.App` - 2025-07-01\n","inputs":{"description":"A collection of arguments for invoking getApp.\n","properties":{"name":{"type":"string","description":"The name of the Container App.\n"},"readSecrets":{"type":"boolean","description":"Should the data source read the secrets from the Container App? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where this Container App exists.\n"}},"type":"object","required":["name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getApp.\n","properties":{"containerAppEnvironmentId":{"description":"The ID of the Container App Environment this Container App is linked to.\n","type":"string"},"customDomainVerificationId":{"secret":true,"type":"string"},"daprs":{"description":"A \u003cspan pulumi-lang-nodejs=\"`dapr`\" pulumi-lang-dotnet=\"`Dapr`\" pulumi-lang-go=\"`dapr`\" pulumi-lang-python=\"`dapr`\" pulumi-lang-yaml=\"`dapr`\" pulumi-lang-java=\"`dapr`\"\u003e`dapr`\u003c/span\u003e block as detailed below.\n","items":{"$ref":"#/types/azure:containerapp/getAppDapr:getAppDapr"},"type":"array"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"identities":{"description":"Resource ID for the User Assigned Managed identity to use when pulling from the Container Registry.\n","items":{"$ref":"#/types/azure:containerapp/getAppIdentity:getAppIdentity"},"type":"array"},"ingresses":{"description":"An \u003cspan pulumi-lang-nodejs=\"`ingress`\" pulumi-lang-dotnet=\"`Ingress`\" pulumi-lang-go=\"`ingress`\" pulumi-lang-python=\"`ingress`\" pulumi-lang-yaml=\"`ingress`\" pulumi-lang-java=\"`ingress`\"\u003e`ingress`\u003c/span\u003e block as detailed below.\n","items":{"$ref":"#/types/azure:containerapp/getAppIngress:getAppIngress"},"type":"array"},"latestRevisionFqdn":{"type":"string"},"latestRevisionName":{"type":"string"},"location":{"type":"string"},"maxInactiveRevisions":{"description":"The max inactive revisions for this Container App.\n","type":"integer"},"name":{"description":"Name for the IP restriction rule.\n","type":"string"},"outboundIpAddresses":{"items":{"type":"string"},"type":"array"},"readSecrets":{"type":"boolean"},"registries":{"description":"A \u003cspan pulumi-lang-nodejs=\"`registry`\" pulumi-lang-dotnet=\"`Registry`\" pulumi-lang-go=\"`registry`\" pulumi-lang-python=\"`registry`\" pulumi-lang-yaml=\"`registry`\" pulumi-lang-java=\"`registry`\"\u003e`registry`\u003c/span\u003e block as detailed below.\n","items":{"$ref":"#/types/azure:containerapp/getAppRegistry:getAppRegistry"},"type":"array"},"resourceGroupName":{"type":"string"},"revisionMode":{"description":"The revision mode of the Container App.\n","type":"string"},"secrets":{"description":"One or more \u003cspan pulumi-lang-nodejs=\"`secret`\" pulumi-lang-dotnet=\"`Secret`\" pulumi-lang-go=\"`secret`\" pulumi-lang-python=\"`secret`\" pulumi-lang-yaml=\"`secret`\" pulumi-lang-java=\"`secret`\"\u003e`secret`\u003c/span\u003e block as detailed below.\n","items":{"$ref":"#/types/azure:containerapp/getAppSecret:getAppSecret"},"secret":true,"type":"array"},"tags":{"additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the Container App.\n","type":"object"},"templates":{"description":"A \u003cspan pulumi-lang-nodejs=\"`template`\" pulumi-lang-dotnet=\"`Template`\" pulumi-lang-go=\"`template`\" pulumi-lang-python=\"`template`\" pulumi-lang-yaml=\"`template`\" pulumi-lang-java=\"`template`\"\u003e`template`\u003c/span\u003e block as detailed below.\n","items":{"$ref":"#/types/azure:containerapp/getAppTemplate:getAppTemplate"},"type":"array"},"workloadProfileName":{"description":"The name of the Workload Profile in the Container App Environment in which this Container App is running.\n","type":"string"}},"required":["containerAppEnvironmentId","customDomainVerificationId","daprs","identities","ingresses","latestRevisionFqdn","latestRevisionName","location","maxInactiveRevisions","name","outboundIpAddresses","registries","resourceGroupName","revisionMode","secrets","tags","templates","workloadProfileName","id"],"type":"object"}},"azure:containerapp/getEnvironment:getEnvironment":{"description":"Use this data source to access information about an existing Container App Environment.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.containerapp.getEnvironment({\n    name: \"example-environment\",\n    resourceGroupName: \"example-resources\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.containerapp.get_environment(name=\"example-environment\",\n    resource_group_name=\"example-resources\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.ContainerApp.GetEnvironment.Invoke(new()\n    {\n        Name = \"example-environment\",\n        ResourceGroupName = \"example-resources\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/containerapp\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := containerapp.LookupEnvironment(ctx, \u0026containerapp.LookupEnvironmentArgs{\n\t\t\tName:              \"example-environment\",\n\t\t\tResourceGroupName: \"example-resources\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.containerapp.ContainerappFunctions;\nimport com.pulumi.azure.containerapp.inputs.GetEnvironmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = ContainerappFunctions.getEnvironment(GetEnvironmentArgs.builder()\n            .name(\"example-environment\")\n            .resourceGroupName(\"example-resources\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:containerapp:getEnvironment\n      arguments:\n        name: example-environment\n        resourceGroupName: example-resources\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.App` - 2025-07-01\n\n* `Microsoft.OperationalInsights` - 2020-08-01\n","inputs":{"description":"A collection of arguments for invoking getEnvironment.\n","properties":{"name":{"type":"string","description":"The name of the Container Apps Managed Environment.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where this Container App Environment exists.\n","willReplaceOnChanges":true}},"type":"object","required":["name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getEnvironment.\n","properties":{"customDomainVerificationId":{"description":"The ID of the Custom Domain Verification for this Container App Environment.\n","type":"string"},"defaultDomain":{"description":"The default publicly resolvable name of this Container App Environment. This is generated at creation time to be globally unique.\n","type":"string"},"dockerBridgeCidr":{"description":"The network addressing in which the Container Apps in this Container App Environment will reside in CIDR notation.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"infrastructureSubnetId":{"description":"The ID of the Subnet in use by the Container Apps Control Plane.\n","type":"string"},"internalLoadBalancerEnabled":{"description":"Does the Container App Environment operate in Internal Load Balancing Mode?\n","type":"boolean"},"location":{"description":"The Azure Location where this Container App Environment exists.\n","type":"string"},"logAnalyticsWorkspaceName":{"description":"The name of the Log Analytics Workspace this Container Apps Managed Environment is linked to.\n","type":"string"},"name":{"type":"string"},"platformReservedCidr":{"description":"The IP range, in CIDR notation, that is reserved for environment infrastructure IP addresses.\n","type":"string"},"platformReservedDnsIpAddress":{"description":"The IP address from the IP range defined by \u003cspan pulumi-lang-nodejs=\"`platformReservedCidr`\" pulumi-lang-dotnet=\"`PlatformReservedCidr`\" pulumi-lang-go=\"`platformReservedCidr`\" pulumi-lang-python=\"`platform_reserved_cidr`\" pulumi-lang-yaml=\"`platformReservedCidr`\" pulumi-lang-java=\"`platformReservedCidr`\"\u003e`platform_reserved_cidr`\u003c/span\u003e that is reserved for the internal DNS server.\n","type":"string"},"publicNetworkAccess":{"description":"The public network access setting for this Container App Environment.\n","type":"string"},"resourceGroupName":{"type":"string"},"staticIpAddress":{"description":"The Static IP address of the Environment.\n","type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"A mapping of tags assigned to the resource.\n","type":"object"}},"required":["customDomainVerificationId","defaultDomain","dockerBridgeCidr","infrastructureSubnetId","internalLoadBalancerEnabled","location","logAnalyticsWorkspaceName","name","platformReservedCidr","platformReservedDnsIpAddress","publicNetworkAccess","resourceGroupName","staticIpAddress","tags","id"],"type":"object"}},"azure:containerapp/getEnvironmentCertificate:getEnvironmentCertificate":{"description":"Use this data source to access information about an existing Container App Environment Certificate.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.containerapp.getEnvironment({\n    name: \"example-environment\",\n    resourceGroupName: \"example-resources\",\n});\nconst exampleGetEnvironmentCertificate = example.then(example =\u003e azure.containerapp.getEnvironmentCertificate({\n    name: \"mycertificate\",\n    containerAppEnvironmentId: example.id,\n}));\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.containerapp.get_environment(name=\"example-environment\",\n    resource_group_name=\"example-resources\")\nexample_get_environment_certificate = azure.containerapp.get_environment_certificate(name=\"mycertificate\",\n    container_app_environment_id=example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.ContainerApp.GetEnvironment.Invoke(new()\n    {\n        Name = \"example-environment\",\n        ResourceGroupName = \"example-resources\",\n    });\n\n    var exampleGetEnvironmentCertificate = Azure.ContainerApp.GetEnvironmentCertificate.Invoke(new()\n    {\n        Name = \"mycertificate\",\n        ContainerAppEnvironmentId = example.Apply(getEnvironmentResult =\u003e getEnvironmentResult.Id),\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/containerapp\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := containerapp.LookupEnvironment(ctx, \u0026containerapp.LookupEnvironmentArgs{\n\t\t\tName:              \"example-environment\",\n\t\t\tResourceGroupName: \"example-resources\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = containerapp.LookupEnvironmentCertificate(ctx, \u0026containerapp.LookupEnvironmentCertificateArgs{\n\t\t\tName:                      \"mycertificate\",\n\t\t\tContainerAppEnvironmentId: example.Id,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.containerapp.ContainerappFunctions;\nimport com.pulumi.azure.containerapp.inputs.GetEnvironmentArgs;\nimport com.pulumi.azure.containerapp.inputs.GetEnvironmentCertificateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = ContainerappFunctions.getEnvironment(GetEnvironmentArgs.builder()\n            .name(\"example-environment\")\n            .resourceGroupName(\"example-resources\")\n            .build());\n\n        final var exampleGetEnvironmentCertificate = ContainerappFunctions.getEnvironmentCertificate(GetEnvironmentCertificateArgs.builder()\n            .name(\"mycertificate\")\n            .containerAppEnvironmentId(example.id())\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:containerapp:getEnvironment\n      arguments:\n        name: example-environment\n        resourceGroupName: example-resources\n  exampleGetEnvironmentCertificate:\n    fn::invoke:\n      function: azure:containerapp:getEnvironmentCertificate\n      arguments:\n        name: mycertificate\n        containerAppEnvironmentId: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.App` - 2025-07-01\n","inputs":{"description":"A collection of arguments for invoking getEnvironmentCertificate.\n","properties":{"containerAppEnvironmentId":{"type":"string","description":"The ID of the Container App Environment to configure this Certificate on. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the Container Apps Certificate. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["containerAppEnvironmentId","name"]},"outputs":{"description":"A collection of values returned by getEnvironmentCertificate.\n","properties":{"containerAppEnvironmentId":{"type":"string"},"expirationDate":{"description":"The expiration date for the Certificate.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"issueDate":{"description":"The date of issue for the Certificate.\n","type":"string"},"issuer":{"description":"The Certificate Issuer.\n","type":"string"},"name":{"type":"string"},"subjectName":{"description":"The Subject Name for the Certificate.\n","type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"A mapping of tags assigned to the resource.\n","type":"object"},"thumbprint":{"description":"The Thumbprint of the Certificate.\n","type":"string"}},"required":["containerAppEnvironmentId","expirationDate","issueDate","issuer","name","subjectName","tags","thumbprint","id"],"type":"object"}},"azure:containerservice/getClusterNodePool:getClusterNodePool":{"description":"Use this data source to access information about an existing Kubernetes Cluster Node Pool.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.containerservice.getClusterNodePool({\n    name: \"existing\",\n    kubernetesClusterName: \"existing-cluster\",\n    resourceGroupName: \"existing-resource-group\",\n});\nexport const id = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.containerservice.get_cluster_node_pool(name=\"existing\",\n    kubernetes_cluster_name=\"existing-cluster\",\n    resource_group_name=\"existing-resource-group\")\npulumi.export(\"id\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.ContainerService.GetClusterNodePool.Invoke(new()\n    {\n        Name = \"existing\",\n        KubernetesClusterName = \"existing-cluster\",\n        ResourceGroupName = \"existing-resource-group\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"id\"] = example.Apply(getClusterNodePoolResult =\u003e getClusterNodePoolResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/containerservice\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := containerservice.GetClusterNodePool(ctx, \u0026containerservice.GetClusterNodePoolArgs{\n\t\t\tName:                  \"existing\",\n\t\t\tKubernetesClusterName: \"existing-cluster\",\n\t\t\tResourceGroupName:     \"existing-resource-group\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"id\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.containerservice.ContainerserviceFunctions;\nimport com.pulumi.azure.containerservice.inputs.GetClusterNodePoolArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = ContainerserviceFunctions.getClusterNodePool(GetClusterNodePoolArgs.builder()\n            .name(\"existing\")\n            .kubernetesClusterName(\"existing-cluster\")\n            .resourceGroupName(\"existing-resource-group\")\n            .build());\n\n        ctx.export(\"id\", example.id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:containerservice:getClusterNodePool\n      arguments:\n        name: existing\n        kubernetesClusterName: existing-cluster\n        resourceGroupName: existing-resource-group\noutputs:\n  id: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.ContainerService` - 2025-07-01\n","inputs":{"description":"A collection of arguments for invoking getClusterNodePool.\n","properties":{"kubernetesClusterName":{"type":"string","description":"The Name of the Kubernetes Cluster where this Node Pool is located.\n"},"name":{"type":"string","description":"The name of this Kubernetes Cluster Node Pool.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Kubernetes Cluster exists.\n"}},"type":"object","required":["kubernetesClusterName","name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getClusterNodePool.\n","properties":{"autoScalingEnabled":{"description":"Does this Node Pool have Auto-Scaling enabled?\n","type":"boolean"},"evictionPolicy":{"description":"The eviction policy used for Virtual Machines in the Virtual Machine Scale Set, when \u003cspan pulumi-lang-nodejs=\"`priority`\" pulumi-lang-dotnet=\"`Priority`\" pulumi-lang-go=\"`priority`\" pulumi-lang-python=\"`priority`\" pulumi-lang-yaml=\"`priority`\" pulumi-lang-java=\"`priority`\"\u003e`priority`\u003c/span\u003e is set to `Spot`.\n","type":"string"},"gpuDriver":{"type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"kubernetesClusterName":{"type":"string"},"maxCount":{"description":"The maximum number of Nodes allowed when auto-scaling is enabled.\n","type":"integer"},"maxPods":{"description":"The maximum number of Pods allowed on each Node in this Node Pool.\n","type":"integer"},"minCount":{"description":"The minimum number of Nodes allowed when auto-scaling is enabled.\n","type":"integer"},"mode":{"description":"The Mode for this Node Pool, specifying how these Nodes should be used (for either System or User resources).\n","type":"string"},"name":{"type":"string"},"nodeCount":{"description":"The current number of Nodes in the Node Pool.\n","type":"integer"},"nodeLabels":{"additionalProperties":{"type":"string"},"description":"A map of Kubernetes Labels applied to each Node in this Node Pool.\n","type":"object"},"nodePublicIpEnabled":{"description":"Do nodes in this Node Pool have a Public IP Address?\n","type":"boolean"},"nodePublicIpPrefixId":{"description":"Resource ID for the Public IP Addresses Prefix for the nodes in this Agent Pool.\n","type":"string"},"nodeTaints":{"description":"A map of Kubernetes Taints applied to each Node in this Node Pool.\n","items":{"type":"string"},"type":"array"},"orchestratorVersion":{"description":"The version of Kubernetes configured on each Node in this Node Pool.\n","type":"string"},"osDiskSizeGb":{"description":"The size of the OS Disk on each Node in this Node Pool.\n","type":"integer"},"osDiskType":{"description":"The type of the OS Disk on each Node in this Node Pool.\n","type":"string"},"osType":{"description":"The operating system used on each Node in this Node Pool.\n","type":"string"},"priority":{"description":"The priority of the Virtual Machines in the Virtual Machine Scale Set backing this Node Pool.\n","type":"string"},"proximityPlacementGroupId":{"description":"The ID of the Proximity Placement Group where the Virtual Machine Scale Set backing this Node Pool will be placed.\n","type":"string"},"resourceGroupName":{"type":"string"},"spotMaxPrice":{"description":"The maximum price being paid for Virtual Machines in this Scale Set. `-1` means the current on-demand price for a Virtual Machine.\n","type":"number"},"tags":{"additionalProperties":{"type":"string"},"description":"A mapping of tags assigned to the Kubernetes Cluster Node Pool.\n","type":"object"},"upgradeSettings":{"description":"A \u003cspan pulumi-lang-nodejs=\"`upgradeSettings`\" pulumi-lang-dotnet=\"`UpgradeSettings`\" pulumi-lang-go=\"`upgradeSettings`\" pulumi-lang-python=\"`upgrade_settings`\" pulumi-lang-yaml=\"`upgradeSettings`\" pulumi-lang-java=\"`upgradeSettings`\"\u003e`upgrade_settings`\u003c/span\u003e block as documented below.\n","items":{"$ref":"#/types/azure:containerservice/getClusterNodePoolUpgradeSetting:getClusterNodePoolUpgradeSetting"},"type":"array"},"vmSize":{"description":"The size of the Virtual Machines used in the Virtual Machine Scale Set backing this Node Pool.\n","type":"string"},"vnetSubnetId":{"description":"The ID of the Subnet in which this Node Pool exists.\n","type":"string"},"zones":{"description":"A list of the Availability Zones where the Nodes in this Node Pool exist.\n","items":{"type":"string"},"type":"array"}},"required":["autoScalingEnabled","evictionPolicy","gpuDriver","kubernetesClusterName","maxCount","maxPods","minCount","mode","name","nodeCount","nodeLabels","nodePublicIpEnabled","nodePublicIpPrefixId","nodeTaints","orchestratorVersion","osDiskSizeGb","osDiskType","osType","priority","proximityPlacementGroupId","resourceGroupName","spotMaxPrice","tags","upgradeSettings","vmSize","vnetSubnetId","zones","id"],"type":"object"}},"azure:containerservice/getFleetManager:getFleetManager":{"description":"Use this data source to access information about an existing Kubernetes Fleet Manager.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.containerservice.getFleetManager({\n    name: \"example\",\n    resourceGroupName: \"example-resource-group\",\n});\nexport const id = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.containerservice.get_fleet_manager(name=\"example\",\n    resource_group_name=\"example-resource-group\")\npulumi.export(\"id\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.ContainerService.GetFleetManager.Invoke(new()\n    {\n        Name = \"example\",\n        ResourceGroupName = \"example-resource-group\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"id\"] = example.Apply(getFleetManagerResult =\u003e getFleetManagerResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/containerservice\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := containerservice.GetFleetManager(ctx, \u0026containerservice.GetFleetManagerArgs{\n\t\t\tName:              \"example\",\n\t\t\tResourceGroupName: \"example-resource-group\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"id\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.containerservice.ContainerserviceFunctions;\nimport com.pulumi.azure.containerservice.inputs.GetFleetManagerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = ContainerserviceFunctions.getFleetManager(GetFleetManagerArgs.builder()\n            .name(\"example\")\n            .resourceGroupName(\"example-resource-group\")\n            .build());\n\n        ctx.export(\"id\", example.id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:containerservice:getFleetManager\n      arguments:\n        name: example\n        resourceGroupName: example-resource-group\noutputs:\n  id: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.ContainerService` - 2024-04-01\n","inputs":{"description":"A collection of arguments for invoking getFleetManager.\n","properties":{"name":{"type":"string","description":"The name of this Kubernetes Fleet Manager.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Kubernetes Fleet Manager exists.\n"}},"type":"object","required":["name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getFleetManager.\n","properties":{"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"location":{"description":"The Azure Region where the Kubernetes Fleet Manager exists.\n","type":"string"},"name":{"type":"string"},"resourceGroupName":{"type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"A mapping of tags assigned to the Kubernetes Fleet Manager.\n","type":"object"}},"required":["location","name","resourceGroupName","tags","id"],"type":"object"}},"azure:containerservice/getGroup:getGroup":{"description":"Use this data source to access information about an existing Container Group instance.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.containerservice.getGroup({\n    name: \"existing\",\n    resourceGroupName: \"existing\",\n});\nexport const id = example.then(example =\u003e example.id);\nexport const ipAddress = example.then(example =\u003e example.ipAddress);\nexport const fqdn = example.then(example =\u003e example.fqdn);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.containerservice.get_group(name=\"existing\",\n    resource_group_name=\"existing\")\npulumi.export(\"id\", example.id)\npulumi.export(\"ipAddress\", example.ip_address)\npulumi.export(\"fqdn\", example.fqdn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.ContainerService.GetGroup.Invoke(new()\n    {\n        Name = \"existing\",\n        ResourceGroupName = \"existing\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"id\"] = example.Apply(getGroupResult =\u003e getGroupResult.Id),\n        [\"ipAddress\"] = example.Apply(getGroupResult =\u003e getGroupResult.IpAddress),\n        [\"fqdn\"] = example.Apply(getGroupResult =\u003e getGroupResult.Fqdn),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/containerservice\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := containerservice.LookupGroup(ctx, \u0026containerservice.LookupGroupArgs{\n\t\t\tName:              \"existing\",\n\t\t\tResourceGroupName: \"existing\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"id\", example.Id)\n\t\tctx.Export(\"ipAddress\", example.IpAddress)\n\t\tctx.Export(\"fqdn\", example.Fqdn)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.containerservice.ContainerserviceFunctions;\nimport com.pulumi.azure.containerservice.inputs.GetGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = ContainerserviceFunctions.getGroup(GetGroupArgs.builder()\n            .name(\"existing\")\n            .resourceGroupName(\"existing\")\n            .build());\n\n        ctx.export(\"id\", example.id());\n        ctx.export(\"ipAddress\", example.ipAddress());\n        ctx.export(\"fqdn\", example.fqdn());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:containerservice:getGroup\n      arguments:\n        name: existing\n        resourceGroupName: existing\noutputs:\n  id: ${example.id}\n  ipAddress: ${example.ipAddress}\n  fqdn: ${example.fqdn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.ContainerInstance` - 2025-09-01\n","inputs":{"description":"A collection of arguments for invoking getGroup.\n","properties":{"name":{"type":"string","description":"The name of this Container Group instance.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Container Group instance exists.\n"},"zones":{"type":"array","items":{"type":"string"},"description":"A list of Availability Zones in which this Container Group is located.\n","willReplaceOnChanges":true}},"type":"object","required":["name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getGroup.\n","properties":{"fqdn":{"description":"The FQDN of the Container Group instance derived from \u003cspan pulumi-lang-nodejs=\"`dnsNameLabel`\" pulumi-lang-dotnet=\"`DnsNameLabel`\" pulumi-lang-go=\"`dnsNameLabel`\" pulumi-lang-python=\"`dns_name_label`\" pulumi-lang-yaml=\"`dnsNameLabel`\" pulumi-lang-java=\"`dnsNameLabel`\"\u003e`dns_name_label`\u003c/span\u003e.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"identities":{"description":"A \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:containerservice/getGroupIdentity:getGroupIdentity"},"type":"array"},"ipAddress":{"description":"The IP address allocated to the Container Group instance.\n","type":"string"},"location":{"description":"The Azure Region where the Container Group instance exists.\n","type":"string"},"name":{"type":"string"},"resourceGroupName":{"type":"string"},"subnetIds":{"description":"The subnet resource IDs for a container group.\n","items":{"type":"string"},"type":"array"},"tags":{"additionalProperties":{"type":"string"},"description":"A mapping of tags assigned to the Container Group instance.\n","type":"object"},"zones":{"description":"A list of Availability Zones in which this Container Group is located.\n","items":{"type":"string"},"type":"array"}},"required":["fqdn","identities","ipAddress","location","name","resourceGroupName","subnetIds","tags","id"],"type":"object"}},"azure:containerservice/getKubernetesCluster:getKubernetesCluster":{"description":"Use this data source to access information about an existing Managed Kubernetes Cluster (AKS).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.containerservice.getKubernetesCluster({\n    name: \"myakscluster\",\n    resourceGroupName: \"my-example-resource-group\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.containerservice.get_kubernetes_cluster(name=\"myakscluster\",\n    resource_group_name=\"my-example-resource-group\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.ContainerService.GetKubernetesCluster.Invoke(new()\n    {\n        Name = \"myakscluster\",\n        ResourceGroupName = \"my-example-resource-group\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/containerservice\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := containerservice.LookupKubernetesCluster(ctx, \u0026containerservice.LookupKubernetesClusterArgs{\n\t\t\tName:              \"myakscluster\",\n\t\t\tResourceGroupName: \"my-example-resource-group\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.containerservice.ContainerserviceFunctions;\nimport com.pulumi.azure.containerservice.inputs.GetKubernetesClusterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = ContainerserviceFunctions.getKubernetesCluster(GetKubernetesClusterArgs.builder()\n            .name(\"myakscluster\")\n            .resourceGroupName(\"my-example-resource-group\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:containerservice:getKubernetesCluster\n      arguments:\n        name: myakscluster\n        resourceGroupName: my-example-resource-group\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.ContainerService` - 2025-07-01\n","inputs":{"description":"A collection of arguments for invoking getKubernetesCluster.\n","properties":{"name":{"type":"string","description":"The name of the managed Kubernetes Cluster.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group in which the managed Kubernetes Cluster exists.\n"}},"type":"object","required":["name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getKubernetesCluster.\n","properties":{"aciConnectorLinuxes":{"description":"An \u003cspan pulumi-lang-nodejs=\"`aciConnectorLinux`\" pulumi-lang-dotnet=\"`AciConnectorLinux`\" pulumi-lang-go=\"`aciConnectorLinux`\" pulumi-lang-python=\"`aci_connector_linux`\" pulumi-lang-yaml=\"`aciConnectorLinux`\" pulumi-lang-java=\"`aciConnectorLinux`\"\u003e`aci_connector_linux`\u003c/span\u003e block as documented below.\n","items":{"$ref":"#/types/azure:containerservice/getKubernetesClusterAciConnectorLinux:getKubernetesClusterAciConnectorLinux"},"type":"array"},"agentPoolProfiles":{"description":"An \u003cspan pulumi-lang-nodejs=\"`agentPoolProfile`\" pulumi-lang-dotnet=\"`AgentPoolProfile`\" pulumi-lang-go=\"`agentPoolProfile`\" pulumi-lang-python=\"`agent_pool_profile`\" pulumi-lang-yaml=\"`agentPoolProfile`\" pulumi-lang-java=\"`agentPoolProfile`\"\u003e`agent_pool_profile`\u003c/span\u003e block as documented below.\n","items":{"$ref":"#/types/azure:containerservice/getKubernetesClusterAgentPoolProfile:getKubernetesClusterAgentPoolProfile"},"type":"array"},"apiServerAuthorizedIpRanges":{"description":"The IP ranges to whitelist for incoming traffic to the primaries.\n","items":{"type":"string"},"type":"array"},"azureActiveDirectoryRoleBasedAccessControls":{"description":"An \u003cspan pulumi-lang-nodejs=\"`azureActiveDirectoryRoleBasedAccessControl`\" pulumi-lang-dotnet=\"`AzureActiveDirectoryRoleBasedAccessControl`\" pulumi-lang-go=\"`azureActiveDirectoryRoleBasedAccessControl`\" pulumi-lang-python=\"`azure_active_directory_role_based_access_control`\" pulumi-lang-yaml=\"`azureActiveDirectoryRoleBasedAccessControl`\" pulumi-lang-java=\"`azureActiveDirectoryRoleBasedAccessControl`\"\u003e`azure_active_directory_role_based_access_control`\u003c/span\u003e block as documented below.\n","items":{"$ref":"#/types/azure:containerservice/getKubernetesClusterAzureActiveDirectoryRoleBasedAccessControl:getKubernetesClusterAzureActiveDirectoryRoleBasedAccessControl"},"type":"array"},"azurePolicyEnabled":{"description":"Is Azure Policy enabled on this managed Kubernetes Cluster?\n","type":"boolean"},"currentKubernetesVersion":{"description":"Contains the current version of Kubernetes running on the Cluster.\n","type":"string"},"diskEncryptionSetId":{"description":"The ID of the Disk Encryption Set used for the Nodes and Volumes.\n","type":"string"},"dnsPrefix":{"description":"The DNS Prefix of the managed Kubernetes cluster.\n","type":"string"},"fqdn":{"description":"The FQDN of the Azure Kubernetes Managed Cluster.\n","type":"string"},"httpApplicationRoutingEnabled":{"description":"Is HTTP Application Routing enabled for this managed Kubernetes Cluster?\n","type":"boolean"},"httpApplicationRoutingZoneName":{"description":"The Zone Name of the HTTP Application Routing.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"identities":{"description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as documented below.\n","items":{"$ref":"#/types/azure:containerservice/getKubernetesClusterIdentity:getKubernetesClusterIdentity"},"type":"array"},"ingressApplicationGateways":{"description":"An \u003cspan pulumi-lang-nodejs=\"`ingressApplicationGateway`\" pulumi-lang-dotnet=\"`IngressApplicationGateway`\" pulumi-lang-go=\"`ingressApplicationGateway`\" pulumi-lang-python=\"`ingress_application_gateway`\" pulumi-lang-yaml=\"`ingressApplicationGateway`\" pulumi-lang-java=\"`ingressApplicationGateway`\"\u003e`ingress_application_gateway`\u003c/span\u003e block as documented below.\n","items":{"$ref":"#/types/azure:containerservice/getKubernetesClusterIngressApplicationGateway:getKubernetesClusterIngressApplicationGateway"},"type":"array"},"keyManagementServices":{"description":"A \u003cspan pulumi-lang-nodejs=\"`keyManagementService`\" pulumi-lang-dotnet=\"`KeyManagementService`\" pulumi-lang-go=\"`keyManagementService`\" pulumi-lang-python=\"`key_management_service`\" pulumi-lang-yaml=\"`keyManagementService`\" pulumi-lang-java=\"`keyManagementService`\"\u003e`key_management_service`\u003c/span\u003e block as documented below.\n","items":{"$ref":"#/types/azure:containerservice/getKubernetesClusterKeyManagementService:getKubernetesClusterKeyManagementService"},"type":"array"},"keyVaultSecretsProviders":{"description":"A \u003cspan pulumi-lang-nodejs=\"`keyVaultSecretsProvider`\" pulumi-lang-dotnet=\"`KeyVaultSecretsProvider`\" pulumi-lang-go=\"`keyVaultSecretsProvider`\" pulumi-lang-python=\"`key_vault_secrets_provider`\" pulumi-lang-yaml=\"`keyVaultSecretsProvider`\" pulumi-lang-java=\"`keyVaultSecretsProvider`\"\u003e`key_vault_secrets_provider`\u003c/span\u003e block as documented below.\n","items":{"$ref":"#/types/azure:containerservice/getKubernetesClusterKeyVaultSecretsProvider:getKubernetesClusterKeyVaultSecretsProvider"},"type":"array"},"kubeAdminConfigRaw":{"description":"Raw Kubernetes config for the admin account to be used by [kubectl](https://kubernetes.io/docs/reference/kubectl/overview/) and other compatible tools. This is only available when Role Based Access Control with Azure Active Directory is enabled and local accounts are not disabled.\n","secret":true,"type":"string"},"kubeAdminConfigs":{"description":"A \u003cspan pulumi-lang-nodejs=\"`kubeAdminConfig`\" pulumi-lang-dotnet=\"`KubeAdminConfig`\" pulumi-lang-go=\"`kubeAdminConfig`\" pulumi-lang-python=\"`kube_admin_config`\" pulumi-lang-yaml=\"`kubeAdminConfig`\" pulumi-lang-java=\"`kubeAdminConfig`\"\u003e`kube_admin_config`\u003c/span\u003e block as defined below. This is only available when Role Based Access Control with Azure Active Directory is enabled and local accounts are not disabled.\n","items":{"$ref":"#/types/azure:containerservice/getKubernetesClusterKubeAdminConfig:getKubernetesClusterKubeAdminConfig"},"secret":true,"type":"array"},"kubeConfigRaw":{"description":"Base64 encoded Kubernetes configuration.\n","secret":true,"type":"string"},"kubeConfigs":{"description":"A \u003cspan pulumi-lang-nodejs=\"`kubeConfig`\" pulumi-lang-dotnet=\"`KubeConfig`\" pulumi-lang-go=\"`kubeConfig`\" pulumi-lang-python=\"`kube_config`\" pulumi-lang-yaml=\"`kubeConfig`\" pulumi-lang-java=\"`kubeConfig`\"\u003e`kube_config`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:containerservice/getKubernetesClusterKubeConfig:getKubernetesClusterKubeConfig"},"secret":true,"type":"array"},"kubeletIdentities":{"description":"A \u003cspan pulumi-lang-nodejs=\"`kubeletIdentity`\" pulumi-lang-dotnet=\"`KubeletIdentity`\" pulumi-lang-go=\"`kubeletIdentity`\" pulumi-lang-python=\"`kubelet_identity`\" pulumi-lang-yaml=\"`kubeletIdentity`\" pulumi-lang-java=\"`kubeletIdentity`\"\u003e`kubelet_identity`\u003c/span\u003e block as documented below.\n","items":{"$ref":"#/types/azure:containerservice/getKubernetesClusterKubeletIdentity:getKubernetesClusterKubeletIdentity"},"type":"array"},"kubernetesVersion":{"description":"The version of Kubernetes used on the managed Kubernetes Cluster.\n","type":"string"},"linuxProfiles":{"description":"A \u003cspan pulumi-lang-nodejs=\"`linuxProfile`\" pulumi-lang-dotnet=\"`LinuxProfile`\" pulumi-lang-go=\"`linuxProfile`\" pulumi-lang-python=\"`linux_profile`\" pulumi-lang-yaml=\"`linuxProfile`\" pulumi-lang-java=\"`linuxProfile`\"\u003e`linux_profile`\u003c/span\u003e block as documented below.\n","items":{"$ref":"#/types/azure:containerservice/getKubernetesClusterLinuxProfile:getKubernetesClusterLinuxProfile"},"type":"array"},"location":{"description":"The Azure Region in which the managed Kubernetes Cluster exists.\n","type":"string"},"microsoftDefenders":{"description":"A \u003cspan pulumi-lang-nodejs=\"`microsoftDefender`\" pulumi-lang-dotnet=\"`MicrosoftDefender`\" pulumi-lang-go=\"`microsoftDefender`\" pulumi-lang-python=\"`microsoft_defender`\" pulumi-lang-yaml=\"`microsoftDefender`\" pulumi-lang-java=\"`microsoftDefender`\"\u003e`microsoft_defender`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:containerservice/getKubernetesClusterMicrosoftDefender:getKubernetesClusterMicrosoftDefender"},"type":"array"},"name":{"description":"The name assigned to this pool of agents.\n","type":"string"},"networkProfiles":{"description":"A \u003cspan pulumi-lang-nodejs=\"`networkProfile`\" pulumi-lang-dotnet=\"`NetworkProfile`\" pulumi-lang-go=\"`networkProfile`\" pulumi-lang-python=\"`network_profile`\" pulumi-lang-yaml=\"`networkProfile`\" pulumi-lang-java=\"`networkProfile`\"\u003e`network_profile`\u003c/span\u003e block as documented below.\n","items":{"$ref":"#/types/azure:containerservice/getKubernetesClusterNetworkProfile:getKubernetesClusterNetworkProfile"},"type":"array"},"nodeResourceGroup":{"description":"Auto-generated Resource Group containing AKS Cluster resources.\n","type":"string"},"nodeResourceGroupId":{"description":"The ID of the Resource Group containing the resources for this Managed Kubernetes Cluster.\n","type":"string"},"oidcIssuerEnabled":{"description":"Whether or not the OIDC feature is enabled or disabled.\n","type":"boolean"},"oidcIssuerUrl":{"description":"The OIDC issuer URL that is associated with the cluster.\n","type":"string"},"omsAgents":{"description":"An \u003cspan pulumi-lang-nodejs=\"`omsAgent`\" pulumi-lang-dotnet=\"`OmsAgent`\" pulumi-lang-go=\"`omsAgent`\" pulumi-lang-python=\"`oms_agent`\" pulumi-lang-yaml=\"`omsAgent`\" pulumi-lang-java=\"`omsAgent`\"\u003e`oms_agent`\u003c/span\u003e block as documented below.\n","items":{"$ref":"#/types/azure:containerservice/getKubernetesClusterOmsAgent:getKubernetesClusterOmsAgent"},"type":"array"},"openServiceMeshEnabled":{"description":"Is Open Service Mesh enabled for this managed Kubernetes Cluster?\n","type":"boolean"},"privateClusterEnabled":{"description":"If the cluster has the Kubernetes API only exposed on internal IP addresses.\n","type":"boolean"},"privateFqdn":{"description":"The FQDN of this Kubernetes Cluster when private link has been enabled. This name is only resolvable inside the Virtual Network where the Azure Kubernetes Service is located\n","type":"string"},"resourceGroupName":{"type":"string"},"roleBasedAccessControlEnabled":{"description":"Is Role Based Access Control enabled for this managed Kubernetes Cluster?\n","type":"boolean"},"serviceMeshProfiles":{"items":{"$ref":"#/types/azure:containerservice/getKubernetesClusterServiceMeshProfile:getKubernetesClusterServiceMeshProfile"},"type":"array"},"servicePrincipals":{"description":"A \u003cspan pulumi-lang-nodejs=\"`servicePrincipal`\" pulumi-lang-dotnet=\"`ServicePrincipal`\" pulumi-lang-go=\"`servicePrincipal`\" pulumi-lang-python=\"`service_principal`\" pulumi-lang-yaml=\"`servicePrincipal`\" pulumi-lang-java=\"`servicePrincipal`\"\u003e`service_principal`\u003c/span\u003e block as documented below.\n","items":{"$ref":"#/types/azure:containerservice/getKubernetesClusterServicePrincipal:getKubernetesClusterServicePrincipal"},"type":"array"},"storageProfiles":{"description":"A \u003cspan pulumi-lang-nodejs=\"`storageProfile`\" pulumi-lang-dotnet=\"`StorageProfile`\" pulumi-lang-go=\"`storageProfile`\" pulumi-lang-python=\"`storage_profile`\" pulumi-lang-yaml=\"`storageProfile`\" pulumi-lang-java=\"`storageProfile`\"\u003e`storage_profile`\u003c/span\u003e block as documented below.\n","items":{"$ref":"#/types/azure:containerservice/getKubernetesClusterStorageProfile:getKubernetesClusterStorageProfile"},"type":"array"},"tags":{"additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n","type":"object"},"windowsProfiles":{"description":"A \u003cspan pulumi-lang-nodejs=\"`windowsProfile`\" pulumi-lang-dotnet=\"`WindowsProfile`\" pulumi-lang-go=\"`windowsProfile`\" pulumi-lang-python=\"`windows_profile`\" pulumi-lang-yaml=\"`windowsProfile`\" pulumi-lang-java=\"`windowsProfile`\"\u003e`windows_profile`\u003c/span\u003e block as documented below.\n","items":{"$ref":"#/types/azure:containerservice/getKubernetesClusterWindowsProfile:getKubernetesClusterWindowsProfile"},"type":"array"}},"required":["aciConnectorLinuxes","agentPoolProfiles","apiServerAuthorizedIpRanges","azureActiveDirectoryRoleBasedAccessControls","azurePolicyEnabled","currentKubernetesVersion","diskEncryptionSetId","dnsPrefix","fqdn","httpApplicationRoutingEnabled","httpApplicationRoutingZoneName","identities","ingressApplicationGateways","keyManagementServices","keyVaultSecretsProviders","kubeAdminConfigs","kubeAdminConfigRaw","kubeConfigs","kubeConfigRaw","kubeletIdentities","kubernetesVersion","linuxProfiles","location","microsoftDefenders","name","networkProfiles","nodeResourceGroup","nodeResourceGroupId","oidcIssuerEnabled","oidcIssuerUrl","omsAgents","openServiceMeshEnabled","privateClusterEnabled","privateFqdn","resourceGroupName","roleBasedAccessControlEnabled","serviceMeshProfiles","servicePrincipals","storageProfiles","tags","windowsProfiles","id"],"type":"object"}},"azure:containerservice/getKubernetesNodePoolSnapshot:getKubernetesNodePoolSnapshot":{"description":"Use this data source to access information about an existing Kubernetes Node Pool Snapshot.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.containerservice.getKubernetesNodePoolSnapshot({\n    name: \"example\",\n    resourceGroupName: \"example-resources\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.containerservice.get_kubernetes_node_pool_snapshot(name=\"example\",\n    resource_group_name=\"example-resources\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.ContainerService.GetKubernetesNodePoolSnapshot.Invoke(new()\n    {\n        Name = \"example\",\n        ResourceGroupName = \"example-resources\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/containerservice\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := containerservice.GetKubernetesNodePoolSnapshot(ctx, \u0026containerservice.GetKubernetesNodePoolSnapshotArgs{\n\t\t\tName:              \"example\",\n\t\t\tResourceGroupName: \"example-resources\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.containerservice.ContainerserviceFunctions;\nimport com.pulumi.azure.containerservice.inputs.GetKubernetesNodePoolSnapshotArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = ContainerserviceFunctions.getKubernetesNodePoolSnapshot(GetKubernetesNodePoolSnapshotArgs.builder()\n            .name(\"example\")\n            .resourceGroupName(\"example-resources\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:containerservice:getKubernetesNodePoolSnapshot\n      arguments:\n        name: example\n        resourceGroupName: example-resources\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.ContainerService` - 2025-07-01\n","inputs":{"description":"A collection of arguments for invoking getKubernetesNodePoolSnapshot.\n","properties":{"name":{"type":"string","description":"The name of the Kubernetes Node Pool Snapshot.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group in which the Kubernetes Node Pool Snapshot exists.\n"}},"type":"object","required":["name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getKubernetesNodePoolSnapshot.\n","properties":{"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"name":{"type":"string"},"resourceGroupName":{"type":"string"},"sourceNodePoolId":{"description":"The ID of the source Node Pool.\n","type":"string"},"tags":{"additionalProperties":{"type":"string"},"type":"object"}},"required":["name","resourceGroupName","sourceNodePoolId","tags","id"],"type":"object"}},"azure:containerservice/getKubernetesServiceVersions:getKubernetesServiceVersions":{"description":"Use this data source to retrieve the version of Kubernetes supported by Azure Kubernetes Service.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst current = azure.containerservice.getKubernetesServiceVersions({\n    location: \"West Europe\",\n});\nexport const versions = current.then(current =\u003e current.versions);\nexport const latestVersion = current.then(current =\u003e current.latestVersion);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\ncurrent = azure.containerservice.get_kubernetes_service_versions(location=\"West Europe\")\npulumi.export(\"versions\", current.versions)\npulumi.export(\"latestVersion\", current.latest_version)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var current = Azure.ContainerService.GetKubernetesServiceVersions.Invoke(new()\n    {\n        Location = \"West Europe\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"versions\"] = current.Apply(getKubernetesServiceVersionsResult =\u003e getKubernetesServiceVersionsResult.Versions),\n        [\"latestVersion\"] = current.Apply(getKubernetesServiceVersionsResult =\u003e getKubernetesServiceVersionsResult.LatestVersion),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/containerservice\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := containerservice.GetKubernetesServiceVersions(ctx, \u0026containerservice.GetKubernetesServiceVersionsArgs{\n\t\t\tLocation: \"West Europe\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"versions\", current.Versions)\n\t\tctx.Export(\"latestVersion\", current.LatestVersion)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.containerservice.ContainerserviceFunctions;\nimport com.pulumi.azure.containerservice.inputs.GetKubernetesServiceVersionsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var current = ContainerserviceFunctions.getKubernetesServiceVersions(GetKubernetesServiceVersionsArgs.builder()\n            .location(\"West Europe\")\n            .build());\n\n        ctx.export(\"versions\", current.versions());\n        ctx.export(\"latestVersion\", current.latestVersion());\n    }\n}\n```\n```yaml\nvariables:\n  current:\n    fn::invoke:\n      function: azure:containerservice:getKubernetesServiceVersions\n      arguments:\n        location: West Europe\noutputs:\n  versions: ${current.versions}\n  latestVersion: ${current.latestVersion}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.ContainerService` - 2019-08-01\n","inputs":{"description":"A collection of arguments for invoking getKubernetesServiceVersions.\n","properties":{"includePreview":{"type":"boolean","description":"Should Preview versions of Kubernetes in AKS be included? Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e\n"},"location":{"type":"string","description":"Specifies the location in which to query for versions.\n","willReplaceOnChanges":true},"versionPrefix":{"type":"string","description":"A prefix filter for the versions of Kubernetes which should be returned; for example `1.` will return `1.9` to `1.14`, whereas `1.12` will return `1.12.2`.\n"}},"type":"object","required":["location"]},"outputs":{"description":"A collection of values returned by getKubernetesServiceVersions.\n","properties":{"defaultVersion":{"description":"The N-1 minor non-preview version and latest patch.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"includePreview":{"type":"boolean"},"latestVersion":{"description":"The most recent version available. If \u003cspan pulumi-lang-nodejs=\"`includePreview \" pulumi-lang-dotnet=\"`IncludePreview \" pulumi-lang-go=\"`includePreview \" pulumi-lang-python=\"`include_preview \" pulumi-lang-yaml=\"`includePreview \" pulumi-lang-java=\"`includePreview \"\u003e`include_preview \u003c/span\u003e== false`, this is the most recent non-preview version available.\n","type":"string"},"location":{"type":"string"},"versionPrefix":{"type":"string"},"versions":{"description":"The list of all supported versions.\n","items":{"type":"string"},"type":"array"}},"required":["defaultVersion","latestVersion","location","versions","id"],"type":"object"}},"azure:containerservice/getRegistry:getRegistry":{"description":"Use this data source to access information about an existing Container Registry.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.containerservice.getRegistry({\n    name: \"testacr\",\n    resourceGroupName: \"test\",\n});\nexport const loginServer = example.then(example =\u003e example.loginServer);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.containerservice.get_registry(name=\"testacr\",\n    resource_group_name=\"test\")\npulumi.export(\"loginServer\", example.login_server)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.ContainerService.GetRegistry.Invoke(new()\n    {\n        Name = \"testacr\",\n        ResourceGroupName = \"test\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"loginServer\"] = example.Apply(getRegistryResult =\u003e getRegistryResult.LoginServer),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/containerservice\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := containerservice.LookupRegistry(ctx, \u0026containerservice.LookupRegistryArgs{\n\t\t\tName:              \"testacr\",\n\t\t\tResourceGroupName: \"test\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"loginServer\", example.LoginServer)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.containerservice.ContainerserviceFunctions;\nimport com.pulumi.azure.containerservice.inputs.GetRegistryArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = ContainerserviceFunctions.getRegistry(GetRegistryArgs.builder()\n            .name(\"testacr\")\n            .resourceGroupName(\"test\")\n            .build());\n\n        ctx.export(\"loginServer\", example.loginServer());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:containerservice:getRegistry\n      arguments:\n        name: testacr\n        resourceGroupName: test\noutputs:\n  loginServer: ${example.loginServer}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.ContainerRegistry` - 2025-11-01\n","inputs":{"description":"A collection of arguments for invoking getRegistry.\n","properties":{"name":{"type":"string","description":"The name of the Container Registry.\n"},"resourceGroupName":{"type":"string","description":"The Name of the Resource Group where this Container Registry exists.\n"}},"type":"object","required":["name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getRegistry.\n","properties":{"adminEnabled":{"description":"Is the Administrator account enabled for this Container Registry.\n","type":"boolean"},"adminPassword":{"description":"The Password associated with the Container Registry Admin account - if the admin account is enabled.\n","secret":true,"type":"string"},"adminUsername":{"description":"The Username associated with the Container Registry Admin account - if the admin account is enabled.\n","type":"string"},"dataEndpointEnabled":{"description":"Whether dedicated data endpoints for this Container Registry are enabled?\n","type":"boolean"},"dataEndpointHostNames":{"description":"A set of data endpoint hostnames associated with the container registry if data endpoints are enabled.\n","items":{"type":"string"},"type":"array"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"location":{"description":"The Azure Region in which this Container Registry exists.\n","type":"string"},"loginServer":{"description":"The URL that can be used to log into the container registry.\n","type":"string"},"name":{"type":"string"},"resourceGroupName":{"type":"string"},"sku":{"description":"The SKU of this Container Registry, such as `Basic`.\n","type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"A map of tags assigned to the Container Registry.\n","type":"object"}},"required":["adminEnabled","adminPassword","adminUsername","dataEndpointEnabled","dataEndpointHostNames","location","loginServer","name","resourceGroupName","sku","tags","id"],"type":"object"}},"azure:containerservice/getRegistryCacheRule:getRegistryCacheRule":{"description":"Use this data source to access information about an existing Container Registry Cache Rule.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:containerservice:getRegistry\n      arguments:\n        name: testacr\n        containerRegistryId: test\noutputs:\n  cacheRuleSourceRepo: ${exampleAzurermContainerRegistryCacheRule.sourceRepo}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.ContainerRegistry` - 2023-07-01\n","inputs":{"description":"A collection of arguments for invoking getRegistryCacheRule.\n","properties":{"containerRegistryId":{"type":"string","description":"The ID of the container registry where the cache rule should apply. Changing this forces a new resource to be created.\n"},"name":{"type":"string","description":"Specifies the name of the Container Registry Cache Rule. Only Alphanumeric characters allowed. Changing this forces a new resource to be created.\n"}},"type":"object","required":["containerRegistryId","name"]},"outputs":{"description":"A collection of values returned by getRegistryCacheRule.\n","properties":{"containerRegistryId":{"type":"string"},"credentialSetId":{"description":"The ARM resource ID of the credential store which is associated with the cache rule.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"name":{"type":"string"},"sourceRepo":{"description":"The name of the source repository path.\n","type":"string"},"targetRepo":{"description":"The name of the new repository path to store artifacts.\n","type":"string"}},"required":["containerRegistryId","credentialSetId","name","sourceRepo","targetRepo","id"],"type":"object"}},"azure:containerservice/getRegistryScopeMap:getRegistryScopeMap":{"description":"Use this data source to access information about an existing Container Registry scope map.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.containerservice.getRegistryScopeMap({\n    name: \"example-scope-map\",\n    resourceGroupName: \"example-resource-group\",\n    containerRegistryName: \"example-registry\",\n});\nexport const actions = example.then(example =\u003e example.actions);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.containerservice.get_registry_scope_map(name=\"example-scope-map\",\n    resource_group_name=\"example-resource-group\",\n    container_registry_name=\"example-registry\")\npulumi.export(\"actions\", example.actions)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.ContainerService.GetRegistryScopeMap.Invoke(new()\n    {\n        Name = \"example-scope-map\",\n        ResourceGroupName = \"example-resource-group\",\n        ContainerRegistryName = \"example-registry\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"actions\"] = example.Apply(getRegistryScopeMapResult =\u003e getRegistryScopeMapResult.Actions),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/containerservice\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := containerservice.LookupRegistryScopeMap(ctx, \u0026containerservice.LookupRegistryScopeMapArgs{\n\t\t\tName:                  \"example-scope-map\",\n\t\t\tResourceGroupName:     \"example-resource-group\",\n\t\t\tContainerRegistryName: \"example-registry\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"actions\", example.Actions)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.containerservice.ContainerserviceFunctions;\nimport com.pulumi.azure.containerservice.inputs.GetRegistryScopeMapArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = ContainerserviceFunctions.getRegistryScopeMap(GetRegistryScopeMapArgs.builder()\n            .name(\"example-scope-map\")\n            .resourceGroupName(\"example-resource-group\")\n            .containerRegistryName(\"example-registry\")\n            .build());\n\n        ctx.export(\"actions\", example.actions());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:containerservice:getRegistryScopeMap\n      arguments:\n        name: example-scope-map\n        resourceGroupName: example-resource-group\n        containerRegistryName: example-registry\noutputs:\n  actions: ${example.actions}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.ContainerRegistry` - 2025-11-01\n","inputs":{"description":"A collection of arguments for invoking getRegistryScopeMap.\n","properties":{"containerRegistryName":{"type":"string","description":"The Name of the Container Registry where the token exists.\n"},"name":{"type":"string","description":"The name of the Container Registry token.\n"},"resourceGroupName":{"type":"string","description":"The Name of the Resource Group where this Container Registry token exists.\n"}},"type":"object","required":["containerRegistryName","name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getRegistryScopeMap.\n","properties":{"actions":{"description":"The actions for the Scope Map.\n","items":{"type":"string"},"type":"array"},"containerRegistryName":{"type":"string"},"description":{"type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"name":{"type":"string"},"resourceGroupName":{"type":"string"}},"required":["actions","containerRegistryName","description","name","resourceGroupName","id"],"type":"object"}},"azure:containerservice/getRegistryToken:getRegistryToken":{"description":"Use this data source to access information about an existing Container Registry token.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.containerservice.getRegistryToken({\n    name: \"exampletoken\",\n    resourceGroupName: \"example-resource-group\",\n    containerRegistryName: \"example-registry\",\n});\nexport const scopeMapId = example.then(example =\u003e example.scopeMapId);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.containerservice.get_registry_token(name=\"exampletoken\",\n    resource_group_name=\"example-resource-group\",\n    container_registry_name=\"example-registry\")\npulumi.export(\"scopeMapId\", example.scope_map_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.ContainerService.GetRegistryToken.Invoke(new()\n    {\n        Name = \"exampletoken\",\n        ResourceGroupName = \"example-resource-group\",\n        ContainerRegistryName = \"example-registry\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"scopeMapId\"] = example.Apply(getRegistryTokenResult =\u003e getRegistryTokenResult.ScopeMapId),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/containerservice\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := containerservice.LookupRegistryToken(ctx, \u0026containerservice.LookupRegistryTokenArgs{\n\t\t\tName:                  \"exampletoken\",\n\t\t\tResourceGroupName:     \"example-resource-group\",\n\t\t\tContainerRegistryName: \"example-registry\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"scopeMapId\", example.ScopeMapId)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.containerservice.ContainerserviceFunctions;\nimport com.pulumi.azure.containerservice.inputs.GetRegistryTokenArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = ContainerserviceFunctions.getRegistryToken(GetRegistryTokenArgs.builder()\n            .name(\"exampletoken\")\n            .resourceGroupName(\"example-resource-group\")\n            .containerRegistryName(\"example-registry\")\n            .build());\n\n        ctx.export(\"scopeMapId\", example.scopeMapId());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:containerservice:getRegistryToken\n      arguments:\n        name: exampletoken\n        resourceGroupName: example-resource-group\n        containerRegistryName: example-registry\noutputs:\n  scopeMapId: ${example.scopeMapId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.ContainerRegistry` - 2025-11-01\n","inputs":{"description":"A collection of arguments for invoking getRegistryToken.\n","properties":{"containerRegistryName":{"type":"string","description":"The Name of the Container Registry where the token exists.\n"},"name":{"type":"string","description":"The name of the Container Registry token.\n"},"resourceGroupName":{"type":"string","description":"The Name of the Resource Group where this Container Registry token exists.\n"}},"type":"object","required":["containerRegistryName","name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getRegistryToken.\n","properties":{"containerRegistryName":{"type":"string"},"enabled":{"description":"Whether this Token is enabled.\n","type":"boolean"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"name":{"type":"string"},"resourceGroupName":{"type":"string"},"scopeMapId":{"description":"The Scope Map ID used by the token.\n","type":"string"}},"required":["containerRegistryName","enabled","name","resourceGroupName","scopeMapId","id"],"type":"object"}},"azure:core/getClientConfig:getClientConfig":{"description":"Use this data source to access the configuration of the AzureRM provider.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst current = azure.core.getClientConfig({});\nexport const accountId = current.then(current =\u003e current.clientId);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\ncurrent = azure.core.get_client_config()\npulumi.export(\"accountId\", current.client_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var current = Azure.Core.GetClientConfig.Invoke();\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"accountId\"] = current.Apply(getClientConfigResult =\u003e getClientConfigResult.ClientId),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := core.GetClientConfig(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"accountId\", current.ClientId)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.CoreFunctions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var current = CoreFunctions.getClientConfig(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n        ctx.export(\"accountId\", current.clientId());\n    }\n}\n```\n```yaml\nvariables:\n  current:\n    fn::invoke:\n      function: azure:core:getClientConfig\n      arguments: {}\noutputs:\n  accountId: ${current.clientId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","outputs":{"description":"A collection of values returned by getClientConfig.\n","properties":{"clientId":{"description":"is set to the Azure Client ID (Application Object ID).\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"objectId":{"description":"is set to the Azure Object ID.\n","type":"string"},"subscriptionId":{"description":"is set to the Azure Subscription ID.\n","type":"string"},"tenantId":{"description":"is set to the Azure Tenant ID.\n","type":"string"}},"required":["clientId","objectId","subscriptionId","tenantId","id"],"type":"object"}},"azure:core/getExtendedLocations:getExtendedLocations":{"description":"This data source return the available Extended Locations for a specific Azure Region.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.core.getExtendedLocations({\n    location: \"West Europe\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.get_extended_locations(location=\"West Europe\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Core.GetExtendedLocations.Invoke(new()\n    {\n        Location = \"West Europe\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := core.GetExtendedLocations(ctx, \u0026core.GetExtendedLocationsArgs{\n\t\t\tLocation: \"West Europe\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.core.inputs.GetExtendedLocationsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = CoreFunctions.getExtendedLocations(GetExtendedLocationsArgs.builder()\n            .location(\"West Europe\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:core:getExtendedLocations\n      arguments:\n        location: West Europe\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getExtendedLocations.\n","properties":{"location":{"type":"string","description":"The Azure location to retrieve the Extended Locations for.\n"}},"type":"object","required":["location"]},"outputs":{"description":"A collection of values returned by getExtendedLocations.\n","properties":{"extendedLocations":{"description":"The available extended locations for the Azure Location.\n","items":{"type":"string"},"type":"array"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"location":{"type":"string"}},"required":["extendedLocations","location","id"],"type":"object"}},"azure:core/getLocation:getLocation":{"description":"Use this data source to access information of a specific physical location.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.core.getLocation({\n    location: \"West Europe\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.get_location(location=\"West Europe\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Core.GetLocation.Invoke(new()\n    {\n        Location = \"West Europe\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := core.GetLocation(ctx, \u0026core.GetLocationArgs{\n\t\t\tLocation: \"West Europe\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.core.inputs.GetLocationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = CoreFunctions.getLocation(GetLocationArgs.builder()\n            .location(\"West Europe\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:core:getLocation\n      arguments:\n        location: West Europe\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getLocation.\n","properties":{"location":{"type":"string","description":"Specifies the supported Azure location where the resource exists.\n"}},"type":"object","required":["location"]},"outputs":{"description":"A collection of values returned by getLocation.\n","properties":{"displayName":{"description":"The display name of the location.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"location":{"type":"string"},"zoneMappings":{"description":"A \u003cspan pulumi-lang-nodejs=\"`zoneMappings`\" pulumi-lang-dotnet=\"`ZoneMappings`\" pulumi-lang-go=\"`zoneMappings`\" pulumi-lang-python=\"`zone_mappings`\" pulumi-lang-yaml=\"`zoneMappings`\" pulumi-lang-java=\"`zoneMappings`\"\u003e`zone_mappings`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:core/getLocationZoneMapping:getLocationZoneMapping"},"type":"array"}},"required":["displayName","location","zoneMappings","id"],"type":"object"}},"azure:core/getResourceGroup:getResourceGroup":{"description":"Use this data source to access information about an existing Resource Group.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.core.getResourceGroup({\n    name: \"existing\",\n});\nexport const id = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.get_resource_group(name=\"existing\")\npulumi.export(\"id\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Core.GetResourceGroup.Invoke(new()\n    {\n        Name = \"existing\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"id\"] = example.Apply(getResourceGroupResult =\u003e getResourceGroupResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.LookupResourceGroup(ctx, \u0026core.LookupResourceGroupArgs{\n\t\t\tName: \"existing\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"id\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.core.inputs.GetResourceGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = CoreFunctions.getResourceGroup(GetResourceGroupArgs.builder()\n            .name(\"existing\")\n            .build());\n\n        ctx.export(\"id\", example.id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:core:getResourceGroup\n      arguments:\n        name: existing\noutputs:\n  id: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getResourceGroup.\n","properties":{"name":{"type":"string","description":"The Name of this Resource Group.\n"}},"type":"object","required":["name"]},"outputs":{"description":"A collection of values returned by getResourceGroup.\n","properties":{"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"location":{"description":"The Azure Region where the Resource Group exists.\n","type":"string"},"managedBy":{"type":"string"},"name":{"type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"A mapping of tags assigned to the Resource Group.\n","type":"object"}},"required":["location","managedBy","name","tags","id"],"type":"object"}},"azure:core/getResourceGroupTemplateDeployment:getResourceGroupTemplateDeployment":{"description":"Use this data source to access information about an existing Resource Group Template Deployment.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\nimport * as std from \"@pulumi/std\";\n\nconst example = azure.core.getResourceGroupTemplateDeployment({\n    name: \"existing\",\n    resourceGroupName: \"existing\",\n});\nexport const id = example.then(example =\u003e example.id);\nexport const exampleOutput = example.then(example =\u003e std.jsondecode({\n    input: example.outputContent,\n})).then(invoke =\u003e invoke.result?.exampleOutput?.value);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\nimport pulumi_std as std\n\nexample = azure.core.get_resource_group_template_deployment(name=\"existing\",\n    resource_group_name=\"existing\")\npulumi.export(\"id\", example.id)\npulumi.export(\"exampleOutput\", std.jsondecode(input=example.output_content).result[\"exampleOutput\"][\"value\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Core.GetResourceGroupTemplateDeployment.Invoke(new()\n    {\n        Name = \"existing\",\n        ResourceGroupName = \"existing\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"id\"] = example.Apply(getResourceGroupTemplateDeploymentResult =\u003e getResourceGroupTemplateDeploymentResult.Id),\n        [\"exampleOutput\"] = Std.Jsondecode.Invoke(new()\n        {\n            Input = example.Apply(getResourceGroupTemplateDeploymentResult =\u003e getResourceGroupTemplateDeploymentResult.OutputContent),\n        }).Apply(invoke =\u003e invoke.Result?.ExampleOutput?.Value),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.LookupResourceGroupTemplateDeployment(ctx, \u0026core.LookupResourceGroupTemplateDeploymentArgs{\n\t\t\tName:              \"existing\",\n\t\t\tResourceGroupName: \"existing\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"id\", example.Id)\n\t\tctx.Export(\"exampleOutput\", pulumi.Any(std.Jsondecode(ctx, \u0026std.JsondecodeArgs{\n\t\t\tInput: example.OutputContent,\n\t\t}, nil).Result.ExampleOutput.Value))\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.core.inputs.GetResourceGroupTemplateDeploymentArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.JsondecodeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = CoreFunctions.getResourceGroupTemplateDeployment(GetResourceGroupTemplateDeploymentArgs.builder()\n            .name(\"existing\")\n            .resourceGroupName(\"existing\")\n            .build());\n\n        ctx.export(\"id\", example.id());\n        ctx.export(\"exampleOutput\", StdFunctions.jsondecode(JsondecodeArgs.builder()\n            .input(example.outputContent())\n            .build()).result().exampleOutput().value());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:core:getResourceGroupTemplateDeployment\n      arguments:\n        name: existing\n        resourceGroupName: existing\noutputs:\n  id: ${example.id}\n  exampleOutput:\n    fn::invoke:\n      function: std:jsondecode\n      arguments:\n        input: ${example.outputContent}\n      return: result.exampleOutput.value\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getResourceGroupTemplateDeployment.\n","properties":{"name":{"type":"string","description":"The name of this Resource Group Template Deployment.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group to which the Resource Group Template Deployment was applied.\n"}},"type":"object","required":["name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getResourceGroupTemplateDeployment.\n","properties":{"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"name":{"type":"string"},"outputContent":{"description":"The JSON Content of the Outputs of the ARM Template Deployment.\n","type":"string"},"resourceGroupName":{"type":"string"}},"required":["name","outputContent","resourceGroupName","id"],"type":"object"}},"azure:core/getResources:getResources":{"description":"Use this data source to access information about existing resources.\n\n","inputs":{"description":"A collection of arguments for invoking getResources.\n","properties":{"name":{"type":"string","description":"The name of the Resource.\n"},"requiredTags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which the resource has to have in order to be included in the result.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource group where the Resources are located.\n"},"type":{"type":"string","description":"The Resource Type of the Resources you want to list (e.g. `Microsoft.Network/virtualNetworks`). A resource type's name follows the format: `{resource-provider}/{resource-type}`. The resource type for a key vault is `Microsoft.KeyVault/vaults`. A full list of available Resource Providers can be found [here](https://docs.microsoft.com/azure/azure-resource-manager/azure-services-resource-providers). A full list of Resources Types can be found [here](https://learn.microsoft.com/en-us/azure/templates/#find-resources).\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getResources.\n","properties":{"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"name":{"description":"The name of this Resource.\n","type":"string"},"requiredTags":{"additionalProperties":{"type":"string"},"type":"object"},"resourceGroupName":{"description":"The name of the Resource Group in which this Resource exists.\n","type":"string"},"resources":{"description":"One or more \u003cspan pulumi-lang-nodejs=\"`resource`\" pulumi-lang-dotnet=\"`Resource`\" pulumi-lang-go=\"`resource`\" pulumi-lang-python=\"`resource`\" pulumi-lang-yaml=\"`resource`\" pulumi-lang-java=\"`resource`\"\u003e`resource`\u003c/span\u003e blocks as defined below.\n","items":{"$ref":"#/types/azure:core/getResourcesResource:getResourcesResource"},"type":"array"},"type":{"description":"The type of this Resource. (e.g. `Microsoft.Network/virtualNetworks`).\n","type":"string"}},"required":["name","resourceGroupName","resources","type","id"],"type":"object"}},"azure:core/getSubscription:getSubscription":{"description":"Use this data source to access information about an existing Subscription.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst current = azure.core.getSubscription({});\nexport const currentSubscriptionDisplayName = current.then(current =\u003e current.displayName);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\ncurrent = azure.core.get_subscription()\npulumi.export(\"currentSubscriptionDisplayName\", current.display_name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var current = Azure.Core.GetSubscription.Invoke();\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"currentSubscriptionDisplayName\"] = current.Apply(getSubscriptionResult =\u003e getSubscriptionResult.DisplayName),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := core.LookupSubscription(ctx, \u0026core.LookupSubscriptionArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"currentSubscriptionDisplayName\", current.DisplayName)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.core.inputs.GetSubscriptionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var current = CoreFunctions.getSubscription(GetSubscriptionArgs.builder()\n            .build());\n\n        ctx.export(\"currentSubscriptionDisplayName\", current.displayName());\n    }\n}\n```\n```yaml\nvariables:\n  current:\n    fn::invoke:\n      function: azure:core:getSubscription\n      arguments: {}\noutputs:\n  currentSubscriptionDisplayName: ${current.displayName}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getSubscription.\n","properties":{"subscriptionId":{"type":"string","description":"Specifies the ID of the subscription. If this argument is omitted, the subscription ID of the current Azure Resource Manager provider is used.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getSubscription.\n","properties":{"displayName":{"description":"The subscription display name.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"locationPlacementId":{"description":"The subscription location placement ID.\n","type":"string"},"quotaId":{"description":"The subscription quota ID.\n","type":"string"},"spendingLimit":{"description":"The subscription spending limit.\n","type":"string"},"state":{"description":"The subscription state. Possible values are Enabled, Warned, PastDue, Disabled, and Deleted.\n","type":"string"},"subscriptionId":{"description":"The subscription GUID.\n","type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"A mapping of tags assigned to the Subscription.\n","type":"object"},"tenantId":{"description":"The subscription tenant ID.\n","type":"string"}},"required":["displayName","locationPlacementId","quotaId","spendingLimit","state","subscriptionId","tags","tenantId","id"],"type":"object"}},"azure:core/getSubscriptionTemplateDeployment:getSubscriptionTemplateDeployment":{"description":"Use this data source to access information about an existing Subscription Template Deployment.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\nimport * as std from \"@pulumi/std\";\n\nconst example = azure.core.getSubscriptionTemplateDeployment({\n    name: \"existing\",\n});\nexport const id = example.then(example =\u003e example.id);\nexport const exampleOutput = example.then(example =\u003e std.jsondecode({\n    input: example.outputContent,\n})).then(invoke =\u003e invoke.result?.exampleOutput?.value);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\nimport pulumi_std as std\n\nexample = azure.core.get_subscription_template_deployment(name=\"existing\")\npulumi.export(\"id\", example.id)\npulumi.export(\"exampleOutput\", std.jsondecode(input=example.output_content).result[\"exampleOutput\"][\"value\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Core.GetSubscriptionTemplateDeployment.Invoke(new()\n    {\n        Name = \"existing\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"id\"] = example.Apply(getSubscriptionTemplateDeploymentResult =\u003e getSubscriptionTemplateDeploymentResult.Id),\n        [\"exampleOutput\"] = Std.Jsondecode.Invoke(new()\n        {\n            Input = example.Apply(getSubscriptionTemplateDeploymentResult =\u003e getSubscriptionTemplateDeploymentResult.OutputContent),\n        }).Apply(invoke =\u003e invoke.Result?.ExampleOutput?.Value),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.LookupSubscriptionTemplateDeployment(ctx, \u0026core.LookupSubscriptionTemplateDeploymentArgs{\n\t\t\tName: \"existing\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"id\", example.Id)\n\t\tctx.Export(\"exampleOutput\", pulumi.Any(std.Jsondecode(ctx, \u0026std.JsondecodeArgs{\n\t\t\tInput: example.OutputContent,\n\t\t}, nil).Result.ExampleOutput.Value))\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.core.inputs.GetSubscriptionTemplateDeploymentArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.JsondecodeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = CoreFunctions.getSubscriptionTemplateDeployment(GetSubscriptionTemplateDeploymentArgs.builder()\n            .name(\"existing\")\n            .build());\n\n        ctx.export(\"id\", example.id());\n        ctx.export(\"exampleOutput\", StdFunctions.jsondecode(JsondecodeArgs.builder()\n            .input(example.outputContent())\n            .build()).result().exampleOutput().value());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:core:getSubscriptionTemplateDeployment\n      arguments:\n        name: existing\noutputs:\n  id: ${example.id}\n  exampleOutput:\n    fn::invoke:\n      function: std:jsondecode\n      arguments:\n        input: ${example.outputContent}\n      return: result.exampleOutput.value\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getSubscriptionTemplateDeployment.\n","properties":{"name":{"type":"string","description":"The name of this Subscription Template Deployment.\n"}},"type":"object","required":["name"]},"outputs":{"description":"A collection of values returned by getSubscriptionTemplateDeployment.\n","properties":{"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"name":{"type":"string"},"outputContent":{"description":"The JSON Content of the Outputs of the ARM Template Deployment.\n","type":"string"}},"required":["name","outputContent","id"],"type":"object"}},"azure:core/getSubscriptions:getSubscriptions":{"description":"Use this data source to access information about all the Subscriptions currently available.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst available = azure.core.getSubscriptions({});\nexport const availableSubscriptions = available.then(available =\u003e available.subscriptions);\nexport const firstAvailableSubscriptionDisplayName = available.then(available =\u003e available.subscriptions?.[0]?.displayName);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\navailable = azure.core.get_subscriptions()\npulumi.export(\"availableSubscriptions\", available.subscriptions)\npulumi.export(\"firstAvailableSubscriptionDisplayName\", available.subscriptions[0].display_name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var available = Azure.Core.GetSubscriptions.Invoke();\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"availableSubscriptions\"] = available.Apply(getSubscriptionsResult =\u003e getSubscriptionsResult.Subscriptions),\n        [\"firstAvailableSubscriptionDisplayName\"] = available.Apply(getSubscriptionsResult =\u003e getSubscriptionsResult.Subscriptions[0]?.DisplayName),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tavailable, err := core.GetSubscriptions(ctx, \u0026core.GetSubscriptionsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"availableSubscriptions\", available.Subscriptions)\n\t\tctx.Export(\"firstAvailableSubscriptionDisplayName\", available.Subscriptions[0].DisplayName)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.core.inputs.GetSubscriptionsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var available = CoreFunctions.getSubscriptions(GetSubscriptionsArgs.builder()\n            .build());\n\n        ctx.export(\"availableSubscriptions\", available.subscriptions());\n        ctx.export(\"firstAvailableSubscriptionDisplayName\", available.subscriptions()[0].displayName());\n    }\n}\n```\n```yaml\nvariables:\n  available:\n    fn::invoke:\n      function: azure:core:getSubscriptions\n      arguments: {}\noutputs:\n  availableSubscriptions: ${available.subscriptions}\n  firstAvailableSubscriptionDisplayName: ${available.subscriptions[0].displayName}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getSubscriptions.\n","properties":{"displayNameContains":{"type":"string","description":"A case-insensitive value which must be contained within the \u003cspan pulumi-lang-nodejs=\"`displayName`\" pulumi-lang-dotnet=\"`DisplayName`\" pulumi-lang-go=\"`displayName`\" pulumi-lang-python=\"`display_name`\" pulumi-lang-yaml=\"`displayName`\" pulumi-lang-java=\"`displayName`\"\u003e`display_name`\u003c/span\u003e field, used to filter the results\n"},"displayNamePrefix":{"type":"string","description":"A case-insensitive prefix which can be used to filter on the \u003cspan pulumi-lang-nodejs=\"`displayName`\" pulumi-lang-dotnet=\"`DisplayName`\" pulumi-lang-go=\"`displayName`\" pulumi-lang-python=\"`display_name`\" pulumi-lang-yaml=\"`displayName`\" pulumi-lang-java=\"`displayName`\"\u003e`display_name`\u003c/span\u003e field\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getSubscriptions.\n","properties":{"displayNameContains":{"type":"string"},"displayNamePrefix":{"type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"subscriptions":{"description":"One or more \u003cspan pulumi-lang-nodejs=\"`subscription`\" pulumi-lang-dotnet=\"`Subscription`\" pulumi-lang-go=\"`subscription`\" pulumi-lang-python=\"`subscription`\" pulumi-lang-yaml=\"`subscription`\" pulumi-lang-java=\"`subscription`\"\u003e`subscription`\u003c/span\u003e blocks as defined below.\n","items":{"$ref":"#/types/azure:core/getSubscriptionsSubscription:getSubscriptionsSubscription"},"type":"array"}},"required":["subscriptions","id"],"type":"object"}},"azure:core/getTemplateSpecVersion:getTemplateSpecVersion":{"description":"Use this data source to access information about an existing Template Spec Version.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.core.getTemplateSpecVersion({\n    name: \"exampleTemplateSpec\",\n    resourceGroupName: \"MyResourceGroup\",\n    version: \"v1.0.4\",\n});\nexport const id = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.get_template_spec_version(name=\"exampleTemplateSpec\",\n    resource_group_name=\"MyResourceGroup\",\n    version=\"v1.0.4\")\npulumi.export(\"id\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Core.GetTemplateSpecVersion.Invoke(new()\n    {\n        Name = \"exampleTemplateSpec\",\n        ResourceGroupName = \"MyResourceGroup\",\n        Version = \"v1.0.4\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"id\"] = example.Apply(getTemplateSpecVersionResult =\u003e getTemplateSpecVersionResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.GetTemplateSpecVersion(ctx, \u0026core.GetTemplateSpecVersionArgs{\n\t\t\tName:              \"exampleTemplateSpec\",\n\t\t\tResourceGroupName: \"MyResourceGroup\",\n\t\t\tVersion:           \"v1.0.4\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"id\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.core.inputs.GetTemplateSpecVersionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = CoreFunctions.getTemplateSpecVersion(GetTemplateSpecVersionArgs.builder()\n            .name(\"exampleTemplateSpec\")\n            .resourceGroupName(\"MyResourceGroup\")\n            .version(\"v1.0.4\")\n            .build());\n\n        ctx.export(\"id\", example.id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:core:getTemplateSpecVersion\n      arguments:\n        name: exampleTemplateSpec\n        resourceGroupName: MyResourceGroup\n        version: v1.0.4\noutputs:\n  id: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.Resources` - 2022-02-01\n","inputs":{"description":"A collection of arguments for invoking getTemplateSpecVersion.\n","properties":{"name":{"type":"string","description":"The name of this Template Spec.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Template Spec exists.\n"},"version":{"type":"string","description":"The Version Name of the Template Spec.\n"}},"type":"object","required":["name","resourceGroupName","version"]},"outputs":{"description":"A collection of values returned by getTemplateSpecVersion.\n","properties":{"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"name":{"type":"string"},"resourceGroupName":{"type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"A mapping of tags assigned to the Template.\n","type":"object"},"templateBody":{"description":"The ARM Template body of the Template Spec Version.\n","type":"string"},"version":{"type":"string"}},"required":["name","resourceGroupName","tags","templateBody","version","id"],"type":"object"}},"azure:core/getTenantTemplateDeployment:getTenantTemplateDeployment":{"description":"Use this data source to access information about an existing Tenant Template Deployment.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\nimport * as std from \"@pulumi/std\";\n\nconst example = azure.core.getTenantTemplateDeployment({\n    name: \"existing\",\n});\nexport const id = example.then(example =\u003e example.id);\nexport const exampleOutput = example.then(example =\u003e std.jsondecode({\n    input: example.outputContent,\n})).then(invoke =\u003e invoke.result?.exampleOutput?.value);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\nimport pulumi_std as std\n\nexample = azure.core.get_tenant_template_deployment(name=\"existing\")\npulumi.export(\"id\", example.id)\npulumi.export(\"exampleOutput\", std.jsondecode(input=example.output_content).result[\"exampleOutput\"][\"value\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Core.GetTenantTemplateDeployment.Invoke(new()\n    {\n        Name = \"existing\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"id\"] = example.Apply(getTenantTemplateDeploymentResult =\u003e getTenantTemplateDeploymentResult.Id),\n        [\"exampleOutput\"] = Std.Jsondecode.Invoke(new()\n        {\n            Input = example.Apply(getTenantTemplateDeploymentResult =\u003e getTenantTemplateDeploymentResult.OutputContent),\n        }).Apply(invoke =\u003e invoke.Result?.ExampleOutput?.Value),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.LookupTenantTemplateDeployment(ctx, \u0026core.LookupTenantTemplateDeploymentArgs{\n\t\t\tName: \"existing\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"id\", example.Id)\n\t\tctx.Export(\"exampleOutput\", pulumi.Any(std.Jsondecode(ctx, \u0026std.JsondecodeArgs{\n\t\t\tInput: example.OutputContent,\n\t\t}, nil).Result.ExampleOutput.Value))\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.core.inputs.GetTenantTemplateDeploymentArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.JsondecodeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = CoreFunctions.getTenantTemplateDeployment(GetTenantTemplateDeploymentArgs.builder()\n            .name(\"existing\")\n            .build());\n\n        ctx.export(\"id\", example.id());\n        ctx.export(\"exampleOutput\", StdFunctions.jsondecode(JsondecodeArgs.builder()\n            .input(example.outputContent())\n            .build()).result().exampleOutput().value());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:core:getTenantTemplateDeployment\n      arguments:\n        name: existing\noutputs:\n  id: ${example.id}\n  exampleOutput:\n    fn::invoke:\n      function: std:jsondecode\n      arguments:\n        input: ${example.outputContent}\n      return: result.exampleOutput.value\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getTenantTemplateDeployment.\n","properties":{"name":{"type":"string","description":"The name of this Tenant Template Deployment.\n"}},"type":"object","required":["name"]},"outputs":{"description":"A collection of values returned by getTenantTemplateDeployment.\n","properties":{"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"name":{"type":"string"},"outputContent":{"description":"The JSON Content of the Outputs of the ARM Template Deployment.\n","type":"string"}},"required":["name","outputContent","id"],"type":"object"}},"azure:core/getUserAssignedIdentity:getUserAssignedIdentity":{"deprecationMessage":"azure.core.getUserAssignedIdentity has been deprecated in favor of azure.authorization.getUserAssignedIdentity","description":"Use this data source to access information about an existing User Assigned Identity.\n\n## Example Usage\n\n### Reference An Existing)\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.authorization.getUserAssignedIdentity({\n    name: \"name_of_user_assigned_identity\",\n    resourceGroupName: \"name_of_resource_group\",\n});\nexport const uaiClientId = example.then(example =\u003e example.clientId);\nexport const uaiPrincipalId = example.then(example =\u003e example.principalId);\nexport const uaiTenantId = example.then(example =\u003e example.tenantId);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.authorization.get_user_assigned_identity(name=\"name_of_user_assigned_identity\",\n    resource_group_name=\"name_of_resource_group\")\npulumi.export(\"uaiClientId\", example.client_id)\npulumi.export(\"uaiPrincipalId\", example.principal_id)\npulumi.export(\"uaiTenantId\", example.tenant_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Authorization.GetUserAssignedIdentity.Invoke(new()\n    {\n        Name = \"name_of_user_assigned_identity\",\n        ResourceGroupName = \"name_of_resource_group\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"uaiClientId\"] = example.Apply(getUserAssignedIdentityResult =\u003e getUserAssignedIdentityResult.ClientId),\n        [\"uaiPrincipalId\"] = example.Apply(getUserAssignedIdentityResult =\u003e getUserAssignedIdentityResult.PrincipalId),\n        [\"uaiTenantId\"] = example.Apply(getUserAssignedIdentityResult =\u003e getUserAssignedIdentityResult.TenantId),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/authorization\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := authorization.LookupUserAssignedIdentity(ctx, \u0026authorization.LookupUserAssignedIdentityArgs{\n\t\t\tName:              \"name_of_user_assigned_identity\",\n\t\t\tResourceGroupName: \"name_of_resource_group\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"uaiClientId\", example.ClientId)\n\t\tctx.Export(\"uaiPrincipalId\", example.PrincipalId)\n\t\tctx.Export(\"uaiTenantId\", example.TenantId)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.authorization.AuthorizationFunctions;\nimport com.pulumi.azure.authorization.inputs.GetUserAssignedIdentityArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = AuthorizationFunctions.getUserAssignedIdentity(GetUserAssignedIdentityArgs.builder()\n            .name(\"name_of_user_assigned_identity\")\n            .resourceGroupName(\"name_of_resource_group\")\n            .build());\n\n        ctx.export(\"uaiClientId\", example.clientId());\n        ctx.export(\"uaiPrincipalId\", example.principalId());\n        ctx.export(\"uaiTenantId\", example.tenantId());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:authorization:getUserAssignedIdentity\n      arguments:\n        name: name_of_user_assigned_identity\n        resourceGroupName: name_of_resource_group\noutputs:\n  uaiClientId: ${example.clientId}\n  uaiPrincipalId: ${example.principalId}\n  uaiTenantId: ${example.tenantId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.ManagedIdentity` - 2024-11-30\n","inputs":{"description":"A collection of arguments for invoking getUserAssignedIdentity.\n","properties":{"name":{"type":"string","description":"The name of the User Assigned Identity.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group in which the User Assigned Identity exists.\n"}},"type":"object","required":["name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getUserAssignedIdentity.\n","properties":{"clientId":{"description":"The Client ID of the User Assigned Identity.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"isolationScope":{"description":"The isolation scope for the User Assigned Identity.\n","type":"string"},"location":{"description":"The Azure location where the User Assigned Identity exists.\n","type":"string"},"name":{"type":"string"},"principalId":{"description":"The Service Principal ID of the User Assigned Identity.\n","type":"string"},"resourceGroupName":{"type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"A mapping of tags assigned to the User Assigned Identity.\n","type":"object"},"tenantId":{"description":"The Tenant ID of the User Assigned Identity.\n","type":"string"}},"required":["clientId","isolationScope","location","name","principalId","resourceGroupName","tags","tenantId","id"],"type":"object"}},"azure:cosmosdb/getAccount:getAccount":{"description":"Use this data source to access information about an existing CosmosDB (formally DocumentDB) Account.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.cosmosdb.getAccount({\n    name: \"tfex-cosmosdb-account\",\n    resourceGroupName: \"tfex-cosmosdb-account-rg\",\n});\nexport const cosmosdbAccountEndpoint = example.then(example =\u003e example.endpoint);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.cosmosdb.get_account(name=\"tfex-cosmosdb-account\",\n    resource_group_name=\"tfex-cosmosdb-account-rg\")\npulumi.export(\"cosmosdbAccountEndpoint\", example.endpoint)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.CosmosDB.GetAccount.Invoke(new()\n    {\n        Name = \"tfex-cosmosdb-account\",\n        ResourceGroupName = \"tfex-cosmosdb-account-rg\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"cosmosdbAccountEndpoint\"] = example.Apply(getAccountResult =\u003e getAccountResult.Endpoint),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/cosmosdb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := cosmosdb.LookupAccount(ctx, \u0026cosmosdb.LookupAccountArgs{\n\t\t\tName:              \"tfex-cosmosdb-account\",\n\t\t\tResourceGroupName: \"tfex-cosmosdb-account-rg\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"cosmosdbAccountEndpoint\", example.Endpoint)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.cosmosdb.CosmosdbFunctions;\nimport com.pulumi.azure.cosmosdb.inputs.GetAccountArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = CosmosdbFunctions.getAccount(GetAccountArgs.builder()\n            .name(\"tfex-cosmosdb-account\")\n            .resourceGroupName(\"tfex-cosmosdb-account-rg\")\n            .build());\n\n        ctx.export(\"cosmosdbAccountEndpoint\", example.endpoint());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:cosmosdb:getAccount\n      arguments:\n        name: tfex-cosmosdb-account\n        resourceGroupName: tfex-cosmosdb-account-rg\noutputs:\n  cosmosdbAccountEndpoint: ${example.endpoint}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.DocumentDB` - 2024-08-15\n","inputs":{"description":"A collection of arguments for invoking getAccount.\n","properties":{"name":{"type":"string","description":"Specifies the name of the CosmosDB Account.\n"},"resourceGroupName":{"type":"string","description":"Specifies the name of the resource group in which the CosmosDB Account resides.\n"}},"type":"object","required":["name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getAccount.\n","properties":{"automaticFailoverEnabled":{"description":"If automatic failover is enabled for this CosmosDB Account.\n","type":"boolean"},"capabilities":{"description":"Capabilities enabled on this Cosmos DB account.\n","items":{"$ref":"#/types/azure:cosmosdb/getAccountCapability:getAccountCapability"},"type":"array"},"consistencyPolicies":{"items":{"$ref":"#/types/azure:cosmosdb/getAccountConsistencyPolicy:getAccountConsistencyPolicy"},"type":"array"},"endpoint":{"description":"The endpoint used to connect to the CosmosDB account.\n","type":"string"},"freeTierEnabled":{"description":"If Free Tier pricing option is enabled for this CosmosDB Account. You can have up to one free tier Azure Cosmos DB account per Azure subscription.\n","type":"boolean"},"geoLocations":{"items":{"$ref":"#/types/azure:cosmosdb/getAccountGeoLocation:getAccountGeoLocation"},"type":"array"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"ipRangeFilter":{"description":"The current IP Filter for this CosmosDB account\n","type":"string"},"isVirtualNetworkFilterEnabled":{"description":"If virtual network filtering is enabled for this Cosmos DB account.\n","type":"boolean"},"keyVaultKeyId":{"description":"The Key Vault key URI for CMK encryption.\n","type":"string"},"kind":{"description":"The Kind of the CosmosDB account.\n","type":"string"},"location":{"description":"The name of the Azure region hosting replicated data.\n","type":"string"},"multipleWriteLocationsEnabled":{"description":"If multiple write locations are enabled for this Cosmos DB account.\n","type":"boolean"},"name":{"type":"string"},"offerType":{"description":"The Offer Type to used by this CosmosDB Account.\n","type":"string"},"primaryKey":{"description":"The primary key for the CosmosDB account.\n","secret":true,"type":"string"},"primaryMongodbConnectionString":{"description":"The primary Mongodb connection string for the CosmosDB account.\n","secret":true,"type":"string"},"primaryReadonlyKey":{"description":"The primary read-only Key for the CosmosDB account.\n","secret":true,"type":"string"},"primaryReadonlyMongodbConnectionString":{"description":"The primary readonly Mongodb connection string for the CosmosDB account.\n","secret":true,"type":"string"},"primaryReadonlySqlConnectionString":{"description":"The primary read-only SQL connection string for the CosmosDB account.\n","secret":true,"type":"string"},"primarySqlConnectionString":{"description":"The primary SQL connection string for the CosmosDB Account.\n","secret":true,"type":"string"},"readEndpoints":{"description":"A list of read endpoints available for this CosmosDB account.\n","items":{"type":"string"},"type":"array"},"resourceGroupName":{"type":"string"},"secondaryKey":{"description":"The secondary key for the CosmosDB account.\n","secret":true,"type":"string"},"secondaryMongodbConnectionString":{"description":"The secondary Mongodb connection string for the CosmosDB account.\n","secret":true,"type":"string"},"secondaryReadonlyKey":{"description":"The secondary read-only key for the CosmosDB account.\n","secret":true,"type":"string"},"secondaryReadonlyMongodbConnectionString":{"description":"The secondary readonly Mongodb connection string for the CosmosDB account.\n","secret":true,"type":"string"},"secondaryReadonlySqlConnectionString":{"description":"The secondary read-only SQL connection string for the CosmosDB account.\n","secret":true,"type":"string"},"secondarySqlConnectionString":{"description":"The secondary SQL connection string for the CosmosDB Account.\n","secret":true,"type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"A mapping of tags assigned to the resource.\n","type":"object"},"virtualNetworkRules":{"description":"Subnets that are allowed to access this CosmosDB account.\n","items":{"$ref":"#/types/azure:cosmosdb/getAccountVirtualNetworkRule:getAccountVirtualNetworkRule"},"type":"array"},"writeEndpoints":{"description":"A list of write endpoints available for this CosmosDB account.\n","items":{"type":"string"},"type":"array"}},"required":["automaticFailoverEnabled","capabilities","consistencyPolicies","endpoint","freeTierEnabled","geoLocations","ipRangeFilter","isVirtualNetworkFilterEnabled","keyVaultKeyId","kind","location","multipleWriteLocationsEnabled","name","offerType","primaryKey","primaryMongodbConnectionString","primaryReadonlyKey","primaryReadonlyMongodbConnectionString","primaryReadonlySqlConnectionString","primarySqlConnectionString","readEndpoints","resourceGroupName","secondaryKey","secondaryMongodbConnectionString","secondaryReadonlyKey","secondaryReadonlyMongodbConnectionString","secondaryReadonlySqlConnectionString","secondarySqlConnectionString","tags","virtualNetworkRules","writeEndpoints","id"],"type":"object"}},"azure:cosmosdb/getMongoDatabase:getMongoDatabase":{"description":"Use this data source to access information about an existing Cosmos DB Mongo Database.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.cosmosdb.getMongoDatabase({\n    name: \"test-cosmosdb-mongo-db\",\n    resourceGroupName: \"test-cosmosdb-account-rg\",\n    accountName: \"test-cosmosdb-account\",\n});\nexport const id = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.cosmosdb.get_mongo_database(name=\"test-cosmosdb-mongo-db\",\n    resource_group_name=\"test-cosmosdb-account-rg\",\n    account_name=\"test-cosmosdb-account\")\npulumi.export(\"id\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.CosmosDB.GetMongoDatabase.Invoke(new()\n    {\n        Name = \"test-cosmosdb-mongo-db\",\n        ResourceGroupName = \"test-cosmosdb-account-rg\",\n        AccountName = \"test-cosmosdb-account\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"id\"] = example.Apply(getMongoDatabaseResult =\u003e getMongoDatabaseResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/cosmosdb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := cosmosdb.LookupMongoDatabase(ctx, \u0026cosmosdb.LookupMongoDatabaseArgs{\n\t\t\tName:              \"test-cosmosdb-mongo-db\",\n\t\t\tResourceGroupName: \"test-cosmosdb-account-rg\",\n\t\t\tAccountName:       \"test-cosmosdb-account\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"id\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.cosmosdb.CosmosdbFunctions;\nimport com.pulumi.azure.cosmosdb.inputs.GetMongoDatabaseArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = CosmosdbFunctions.getMongoDatabase(GetMongoDatabaseArgs.builder()\n            .name(\"test-cosmosdb-mongo-db\")\n            .resourceGroupName(\"test-cosmosdb-account-rg\")\n            .accountName(\"test-cosmosdb-account\")\n            .build());\n\n        ctx.export(\"id\", example.id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:cosmosdb:getMongoDatabase\n      arguments:\n        name: test-cosmosdb-mongo-db\n        resourceGroupName: test-cosmosdb-account-rg\n        accountName: test-cosmosdb-account\noutputs:\n  id: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getMongoDatabase.\n","properties":{"accountName":{"type":"string","description":"The name of the Cosmos DB Account where the Mongo Database exists.\n"},"name":{"type":"string","description":"The name of this Cosmos DB Mongo Database.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Cosmos DB Mongo Database exists.\n"}},"type":"object","required":["accountName","name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getMongoDatabase.\n","properties":{"accountName":{"type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"name":{"type":"string"},"resourceGroupName":{"type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"A mapping of tags assigned to the Cosmos DB Mongo Database.\n","type":"object"}},"required":["accountName","name","resourceGroupName","tags","id"],"type":"object"}},"azure:cosmosdb/getRestorableDatabaseAccounts:getRestorableDatabaseAccounts":{"description":"Use this data source to access information about Cosmos DB Restorable Database Accounts.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.cosmosdb.getRestorableDatabaseAccounts({\n    name: \"example-ca\",\n    location: \"West Europe\",\n});\nexport const id = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.cosmosdb.get_restorable_database_accounts(name=\"example-ca\",\n    location=\"West Europe\")\npulumi.export(\"id\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.CosmosDB.GetRestorableDatabaseAccounts.Invoke(new()\n    {\n        Name = \"example-ca\",\n        Location = \"West Europe\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"id\"] = example.Apply(getRestorableDatabaseAccountsResult =\u003e getRestorableDatabaseAccountsResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/cosmosdb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := cosmosdb.GetRestorableDatabaseAccounts(ctx, \u0026cosmosdb.GetRestorableDatabaseAccountsArgs{\n\t\t\tName:     \"example-ca\",\n\t\t\tLocation: \"West Europe\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"id\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.cosmosdb.CosmosdbFunctions;\nimport com.pulumi.azure.cosmosdb.inputs.GetRestorableDatabaseAccountsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = CosmosdbFunctions.getRestorableDatabaseAccounts(GetRestorableDatabaseAccountsArgs.builder()\n            .name(\"example-ca\")\n            .location(\"West Europe\")\n            .build());\n\n        ctx.export(\"id\", example.id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:cosmosdb:getRestorableDatabaseAccounts\n      arguments:\n        name: example-ca\n        location: West Europe\noutputs:\n  id: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getRestorableDatabaseAccounts.\n","properties":{"location":{"type":"string","description":"The location where the Cosmos DB Database Account.\n"},"name":{"type":"string","description":"The name of this Cosmos DB Database Account.\n"}},"type":"object","required":["location","name"]},"outputs":{"description":"A collection of values returned by getRestorableDatabaseAccounts.\n","properties":{"accounts":{"description":"One or more \u003cspan pulumi-lang-nodejs=\"`accounts`\" pulumi-lang-dotnet=\"`Accounts`\" pulumi-lang-go=\"`accounts`\" pulumi-lang-python=\"`accounts`\" pulumi-lang-yaml=\"`accounts`\" pulumi-lang-java=\"`accounts`\"\u003e`accounts`\u003c/span\u003e blocks as defined below.\n","items":{"$ref":"#/types/azure:cosmosdb/getRestorableDatabaseAccountsAccount:getRestorableDatabaseAccountsAccount"},"type":"array"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"location":{"description":"The location of the regional Cosmos DB Restorable Database Account.\n","type":"string"},"name":{"type":"string"}},"required":["accounts","location","name","id"],"type":"object"}},"azure:cosmosdb/getSqlDatabase:getSqlDatabase":{"description":"Use this data source to access information about an existing CosmosDB SQL Database.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.cosmosdb.getSqlDatabase({\n    name: \"tfex-cosmosdb-sql-database\",\n    resourceGroupName: \"tfex-cosmosdb-sql-database-rg\",\n    accountName: \"tfex-cosmosdb-sql-database-account-name\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.cosmosdb.get_sql_database(name=\"tfex-cosmosdb-sql-database\",\n    resource_group_name=\"tfex-cosmosdb-sql-database-rg\",\n    account_name=\"tfex-cosmosdb-sql-database-account-name\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.CosmosDB.GetSqlDatabase.Invoke(new()\n    {\n        Name = \"tfex-cosmosdb-sql-database\",\n        ResourceGroupName = \"tfex-cosmosdb-sql-database-rg\",\n        AccountName = \"tfex-cosmosdb-sql-database-account-name\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/cosmosdb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cosmosdb.LookupSqlDatabase(ctx, \u0026cosmosdb.LookupSqlDatabaseArgs{\n\t\t\tName:              \"tfex-cosmosdb-sql-database\",\n\t\t\tResourceGroupName: \"tfex-cosmosdb-sql-database-rg\",\n\t\t\tAccountName:       \"tfex-cosmosdb-sql-database-account-name\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.cosmosdb.CosmosdbFunctions;\nimport com.pulumi.azure.cosmosdb.inputs.GetSqlDatabaseArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = CosmosdbFunctions.getSqlDatabase(GetSqlDatabaseArgs.builder()\n            .name(\"tfex-cosmosdb-sql-database\")\n            .resourceGroupName(\"tfex-cosmosdb-sql-database-rg\")\n            .accountName(\"tfex-cosmosdb-sql-database-account-name\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:cosmosdb:getSqlDatabase\n      arguments:\n        name: tfex-cosmosdb-sql-database\n        resourceGroupName: tfex-cosmosdb-sql-database-rg\n        accountName: tfex-cosmosdb-sql-database-account-name\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getSqlDatabase.\n","properties":{"accountName":{"type":"string","description":"The name of the Cosmos DB SQL Database to create the table within.\n"},"name":{"type":"string","description":"Specifies the name of the Cosmos DB SQL Database.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the Cosmos DB SQL Database is created.\n","willReplaceOnChanges":true}},"type":"object","required":["accountName","name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getSqlDatabase.\n","properties":{"accountName":{"type":"string"},"autoscaleSettings":{"description":"An \u003cspan pulumi-lang-nodejs=\"`autoscaleSettings`\" pulumi-lang-dotnet=\"`AutoscaleSettings`\" pulumi-lang-go=\"`autoscaleSettings`\" pulumi-lang-python=\"`autoscale_settings`\" pulumi-lang-yaml=\"`autoscaleSettings`\" pulumi-lang-java=\"`autoscaleSettings`\"\u003e`autoscale_settings`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:cosmosdb/getSqlDatabaseAutoscaleSetting:getSqlDatabaseAutoscaleSetting"},"type":"array"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"name":{"type":"string"},"resourceGroupName":{"type":"string"},"throughput":{"description":"The throughput of SQL database (RU/s).\n","type":"integer"}},"required":["accountName","autoscaleSettings","name","resourceGroupName","throughput","id"],"type":"object"}},"azure:cosmosdb/getSqlRoleDefinition:getSqlRoleDefinition":{"description":"Use this data source to access information about an existing Cosmos DB SQL Role Definition.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.cosmosdb.getSqlRoleDefinition({\n    resourceGroupName: \"tfex-cosmosdb-sql-role-definition-rg\",\n    accountName: \"tfex-cosmosdb-sql-role-definition-account-name\",\n    roleDefinitionId: \"00000000-0000-0000-0000-000000000000\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.cosmosdb.get_sql_role_definition(resource_group_name=\"tfex-cosmosdb-sql-role-definition-rg\",\n    account_name=\"tfex-cosmosdb-sql-role-definition-account-name\",\n    role_definition_id=\"00000000-0000-0000-0000-000000000000\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.CosmosDB.GetSqlRoleDefinition.Invoke(new()\n    {\n        ResourceGroupName = \"tfex-cosmosdb-sql-role-definition-rg\",\n        AccountName = \"tfex-cosmosdb-sql-role-definition-account-name\",\n        RoleDefinitionId = \"00000000-0000-0000-0000-000000000000\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/cosmosdb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cosmosdb.LookupSqlRoleDefinition(ctx, \u0026cosmosdb.LookupSqlRoleDefinitionArgs{\n\t\t\tResourceGroupName: \"tfex-cosmosdb-sql-role-definition-rg\",\n\t\t\tAccountName:       \"tfex-cosmosdb-sql-role-definition-account-name\",\n\t\t\tRoleDefinitionId:  \"00000000-0000-0000-0000-000000000000\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.cosmosdb.CosmosdbFunctions;\nimport com.pulumi.azure.cosmosdb.inputs.GetSqlRoleDefinitionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = CosmosdbFunctions.getSqlRoleDefinition(GetSqlRoleDefinitionArgs.builder()\n            .resourceGroupName(\"tfex-cosmosdb-sql-role-definition-rg\")\n            .accountName(\"tfex-cosmosdb-sql-role-definition-account-name\")\n            .roleDefinitionId(\"00000000-0000-0000-0000-000000000000\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:cosmosdb:getSqlRoleDefinition\n      arguments:\n        resourceGroupName: tfex-cosmosdb-sql-role-definition-rg\n        accountName: tfex-cosmosdb-sql-role-definition-account-name\n        roleDefinitionId: 00000000-0000-0000-0000-000000000000\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getSqlRoleDefinition.\n","properties":{"accountName":{"type":"string","description":"The name of the Cosmos DB Account.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group in which the Cosmos DB SQL Role Definition is created.\n","willReplaceOnChanges":true},"roleDefinitionId":{"type":"string","description":"The GUID as the name of the Cosmos DB SQL Role Definition.\n"}},"type":"object","required":["accountName","resourceGroupName","roleDefinitionId"]},"outputs":{"description":"A collection of values returned by getSqlRoleDefinition.\n","properties":{"accountName":{"type":"string"},"assignableScopes":{"description":"A list of fully qualified scopes at or below which Role Assignments may be created using this Cosmos DB SQL Role Definition.\n","items":{"type":"string"},"type":"array"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"name":{"description":"The role name of the Cosmos DB SQL Role Definition.\n","type":"string"},"permissions":{"description":"A \u003cspan pulumi-lang-nodejs=\"`permissions`\" pulumi-lang-dotnet=\"`Permissions`\" pulumi-lang-go=\"`permissions`\" pulumi-lang-python=\"`permissions`\" pulumi-lang-yaml=\"`permissions`\" pulumi-lang-java=\"`permissions`\"\u003e`permissions`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:cosmosdb/getSqlRoleDefinitionPermission:getSqlRoleDefinitionPermission"},"type":"array"},"resourceGroupName":{"type":"string"},"roleDefinitionId":{"type":"string"},"type":{"description":"The type of the Cosmos DB SQL Role Definition.\n","type":"string"}},"required":["accountName","assignableScopes","name","permissions","resourceGroupName","roleDefinitionId","type","id"],"type":"object"}},"azure:dashboard/azurerm_portal_dashboard:azurerm_portal_dashboard":{"deprecationMessage":"azure.dashboard/azurerm_portal_dashboard.azurerm_portal_dashboard has been deprecated in favor of azure.portal/azurerm_portal_dashboard.azurerm_portal_dashboard","description":"Use this data source to access information about an existing shared dashboard in the Azure Portal. This is the data source of the \u003cspan pulumi-lang-nodejs=\"`azurermDashboard`\" pulumi-lang-dotnet=\"`AzurermDashboard`\" pulumi-lang-go=\"`azurermDashboard`\" pulumi-lang-python=\"`azurerm_dashboard`\" pulumi-lang-yaml=\"`azurermDashboard`\" pulumi-lang-java=\"`azurermDashboard`\"\u003e`azurerm_dashboard`\u003c/span\u003e resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.portal.azurerm_portal_dashboard({\n    name: \"existing-dashboard\",\n    resourceGroupName: \"dashboard-rg\",\n});\nexport const id = exampleAzurermDashboard.id;\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.portal.azurerm_portal_dashboard(name=\"existing-dashboard\",\n    resource_group_name=\"dashboard-rg\")\npulumi.export(\"id\", example_azurerm_dashboard[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Portal.Azurerm_portal_dashboard.Invoke(new()\n    {\n        Name = \"existing-dashboard\",\n        ResourceGroupName = \"dashboard-rg\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"id\"] = exampleAzurermDashboard.Id,\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/portal\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := portal.Azurerm_portal_dashboard(ctx, \u0026portal.Azurerm_portal_dashboardArgs{\n\t\t\tName:              pulumi.StringRef(\"existing-dashboard\"),\n\t\t\tResourceGroupName: \"dashboard-rg\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"id\", exampleAzurermDashboard.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.portal.PortalFunctions;\nimport com.pulumi.azure.portal.inputs.Azurerm_portal_dashboardArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = PortalFunctions.azurerm_portal_dashboard(Azurerm_portal_dashboardArgs.builder()\n            .name(\"existing-dashboard\")\n            .resourceGroupName(\"dashboard-rg\")\n            .build());\n\n        ctx.export(\"id\", exampleAzurermDashboard.id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:portal:azurerm_portal_dashboard\n      arguments:\n        name: existing-dashboard\n        resourceGroupName: dashboard-rg\noutputs:\n  id: ${exampleAzurermDashboard.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.Portal` - 2019-01-01-preview\n","inputs":{"description":"A collection of arguments for invoking azurerm_portal_dashboard.\n","properties":{"dashboardProperties":{"type":"string","description":"JSON data representing dashboard body.\n"},"displayName":{"type":"string","description":"Specifies the display name of the shared Azure Portal Dashboard.\n"},"name":{"type":"string","description":"Specifies the name of the shared Azure Portal Dashboard.\n"},"resourceGroupName":{"type":"string","description":"Specifies the name of the resource group the shared Azure Portal Dashboard is located in.\n"}},"type":"object","required":["resourceGroupName"]},"outputs":{"description":"A collection of values returned by azurerm_portal_dashboard.\n","properties":{"dashboardProperties":{"description":"JSON data representing dashboard body.\n","type":"string"},"displayName":{"type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"location":{"description":"The Azure Region where the shared Azure Portal dashboard exists.\n","type":"string"},"name":{"type":"string"},"resourceGroupName":{"type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"A mapping of tags assigned to the shared Azure Portal dashboard.\n","type":"object"}},"required":["dashboardProperties","location","resourceGroupName","tags","id"],"type":"object"}},"azure:dashboard/getGrafana:getGrafana":{"description":"Use this data source to access information about an existing Grafana Dashboard.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.dashboard.getGrafana({\n    name: \"example-grafana-dashboard\",\n    resourceGroupName: \"example-rg\",\n});\nexport const name = example.then(example =\u003e example.name);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.dashboard.get_grafana(name=\"example-grafana-dashboard\",\n    resource_group_name=\"example-rg\")\npulumi.export(\"name\", example.name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Dashboard.GetGrafana.Invoke(new()\n    {\n        Name = \"example-grafana-dashboard\",\n        ResourceGroupName = \"example-rg\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"name\"] = example.Apply(getGrafanaResult =\u003e getGrafanaResult.Name),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/dashboard\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := dashboard.LookupGrafana(ctx, \u0026dashboard.LookupGrafanaArgs{\n\t\t\tName:              \"example-grafana-dashboard\",\n\t\t\tResourceGroupName: \"example-rg\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"name\", example.Name)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.dashboard.DashboardFunctions;\nimport com.pulumi.azure.dashboard.inputs.GetGrafanaArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = DashboardFunctions.getGrafana(GetGrafanaArgs.builder()\n            .name(\"example-grafana-dashboard\")\n            .resourceGroupName(\"example-rg\")\n            .build());\n\n        ctx.export(\"name\", example.name());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:dashboard:getGrafana\n      arguments:\n        name: example-grafana-dashboard\n        resourceGroupName: example-rg\noutputs:\n  name: ${example.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.Dashboard` - 2025-08-01\n","inputs":{"description":"A collection of arguments for invoking getGrafana.\n","properties":{"identity":{"$ref":"#/types/azure:dashboard/getGrafanaIdentity:getGrafanaIdentity","description":"The managed identity of the grafana resource.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Name of the grafana dashboard.\n"},"resourceGroupName":{"type":"string","description":"Name of the resource group where resource belongs to.\n"}},"type":"object","required":["name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getGrafana.\n","properties":{"apiKeyEnabled":{"description":"Whether the api key setting of the Grafana instance is enabled.\n","type":"boolean"},"autoGeneratedDomainNameLabelScope":{"description":"Scope for dns deterministic name hash calculation.\n","type":"string"},"azureMonitorWorkspaceIntegrations":{"description":"Integrations for Azure Monitor Workspace.\n","items":{"$ref":"#/types/azure:dashboard/getGrafanaAzureMonitorWorkspaceIntegration:getGrafanaAzureMonitorWorkspaceIntegration"},"type":"array"},"deterministicOutboundIpEnabled":{"description":"Whether the Grafana instance uses deterministic outbound IPs.\n","type":"boolean"},"endpoint":{"description":"The endpoint of the Grafana instance.\n","type":"string"},"grafanaMajorVersion":{"description":"Major version of Grafana instance.\n","type":"string"},"grafanaVersion":{"description":"The full Grafana software semantic version deployed.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"identity":{"$ref":"#/types/azure:dashboard/getGrafanaIdentity:getGrafanaIdentity","description":"The managed identity of the grafana resource.\n"},"location":{"description":"Azure location where the resource exists.\n","type":"string"},"name":{"type":"string"},"outboundIps":{"items":{"type":"string"},"type":"array"},"publicNetworkAccessEnabled":{"description":"Whether or not public endpoint access is allowed for this server.\n","type":"boolean"},"resourceGroupName":{"type":"string"},"sku":{"description":"The name of the SKU used for the Grafana instance.\n","type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"A mapping of tags to assigned to the resource.\n","type":"object"},"zoneRedundancyEnabled":{"description":"The zone redundancy setting of the Grafana instance.\n","type":"boolean"}},"required":["apiKeyEnabled","autoGeneratedDomainNameLabelScope","azureMonitorWorkspaceIntegrations","deterministicOutboundIpEnabled","endpoint","grafanaMajorVersion","grafanaVersion","location","name","outboundIps","publicNetworkAccessEnabled","resourceGroupName","sku","tags","zoneRedundancyEnabled","id"],"type":"object"}},"azure:databasemigration/getProject:getProject":{"description":"Use this data source to access information about an existing Database Migration Project.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.databasemigration.getProject({\n    name: \"example-dbms-project\",\n    resourceGroupName: \"example-rg\",\n    serviceName: \"example-dbms\",\n});\nexport const name = example.then(example =\u003e example.name);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.databasemigration.get_project(name=\"example-dbms-project\",\n    resource_group_name=\"example-rg\",\n    service_name=\"example-dbms\")\npulumi.export(\"name\", example.name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.DatabaseMigration.GetProject.Invoke(new()\n    {\n        Name = \"example-dbms-project\",\n        ResourceGroupName = \"example-rg\",\n        ServiceName = \"example-dbms\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"name\"] = example.Apply(getProjectResult =\u003e getProjectResult.Name),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/databasemigration\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := databasemigration.LookupProject(ctx, \u0026databasemigration.LookupProjectArgs{\n\t\t\tName:              \"example-dbms-project\",\n\t\t\tResourceGroupName: \"example-rg\",\n\t\t\tServiceName:       \"example-dbms\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"name\", example.Name)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.databasemigration.DatabasemigrationFunctions;\nimport com.pulumi.azure.databasemigration.inputs.GetProjectArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = DatabasemigrationFunctions.getProject(GetProjectArgs.builder()\n            .name(\"example-dbms-project\")\n            .resourceGroupName(\"example-rg\")\n            .serviceName(\"example-dbms\")\n            .build());\n\n        ctx.export(\"name\", example.name());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:databasemigration:getProject\n      arguments:\n        name: example-dbms-project\n        resourceGroupName: example-rg\n        serviceName: example-dbms\noutputs:\n  name: ${example.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.DataMigration` - 2021-06-30\n","inputs":{"description":"A collection of arguments for invoking getProject.\n","properties":{"name":{"type":"string","description":"Name of the database migration project.\n"},"resourceGroupName":{"type":"string","description":"Name of the resource group where resource belongs to.\n"},"serviceName":{"type":"string","description":"Name of the database migration service where resource belongs to.\n"}},"type":"object","required":["name","resourceGroupName","serviceName"]},"outputs":{"description":"A collection of values returned by getProject.\n","properties":{"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"location":{"description":"Azure location where the resource exists.\n","type":"string"},"name":{"type":"string"},"resourceGroupName":{"type":"string"},"serviceName":{"type":"string"},"sourcePlatform":{"description":"The platform type of the migration source.\n","type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"A mapping of tags to assigned to the resource.\n","type":"object"},"targetPlatform":{"description":"The platform type of the migration target.\n","type":"string"}},"required":["location","name","resourceGroupName","serviceName","sourcePlatform","tags","targetPlatform","id"],"type":"object"}},"azure:databasemigration/getService:getService":{"description":"Use this data source to access information about an existing Database Migration Service.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.databasemigration.getService({\n    name: \"example-dms\",\n    resourceGroupName: \"example-rg\",\n});\nexport const azurermDmsId = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.databasemigration.get_service(name=\"example-dms\",\n    resource_group_name=\"example-rg\")\npulumi.export(\"azurermDmsId\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.DatabaseMigration.GetService.Invoke(new()\n    {\n        Name = \"example-dms\",\n        ResourceGroupName = \"example-rg\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"azurermDmsId\"] = example.Apply(getServiceResult =\u003e getServiceResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/databasemigration\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := databasemigration.LookupService(ctx, \u0026databasemigration.LookupServiceArgs{\n\t\t\tName:              \"example-dms\",\n\t\t\tResourceGroupName: \"example-rg\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"azurermDmsId\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.databasemigration.DatabasemigrationFunctions;\nimport com.pulumi.azure.databasemigration.inputs.GetServiceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = DatabasemigrationFunctions.getService(GetServiceArgs.builder()\n            .name(\"example-dms\")\n            .resourceGroupName(\"example-rg\")\n            .build());\n\n        ctx.export(\"azurermDmsId\", example.id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:databasemigration:getService\n      arguments:\n        name: example-dms\n        resourceGroupName: example-rg\noutputs:\n  azurermDmsId: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.DataMigration` - 2021-06-30\n","inputs":{"description":"A collection of arguments for invoking getService.\n","properties":{"name":{"type":"string","description":"Specify the name of the database migration service.\n"},"resourceGroupName":{"type":"string","description":"Specifies the Name of the Resource Group within which the database migration service exists\n"}},"type":"object","required":["name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getService.\n","properties":{"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"location":{"description":"Azure location where the resource exists.\n","type":"string"},"name":{"type":"string"},"resourceGroupName":{"type":"string"},"skuName":{"description":"The SKU name of database migration service.\n","type":"string"},"subnetId":{"description":"The ID of the virtual subnet resource to which the database migration service exists.\n","type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"A mapping of tags to assigned to the resource.\n","type":"object"}},"required":["location","name","resourceGroupName","skuName","subnetId","tags","id"],"type":"object"}},"azure:databoxedge/getDevice:getDevice":{"description":"Get information about a Databox Edge Device.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.databoxedge.getDevice({\n    name: \"example-device\",\n    resourceGroupName: \"example-rg\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.databoxedge.get_device(name=\"example-device\",\n    resource_group_name=\"example-rg\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.DataboxEdge.GetDevice.Invoke(new()\n    {\n        Name = \"example-device\",\n        ResourceGroupName = \"example-rg\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/databoxedge\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := databoxedge.LookupDevice(ctx, \u0026databoxedge.LookupDeviceArgs{\n\t\t\tName:              \"example-device\",\n\t\t\tResourceGroupName: \"example-rg\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.databoxedge.DataboxedgeFunctions;\nimport com.pulumi.azure.databoxedge.inputs.GetDeviceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = DataboxedgeFunctions.getDevice(GetDeviceArgs.builder()\n            .name(\"example-device\")\n            .resourceGroupName(\"example-rg\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:databoxedge:getDevice\n      arguments:\n        name: example-device\n        resourceGroupName: example-rg\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.DataBoxEdge` - 2022-03-01\n","inputs":{"description":"A collection of arguments for invoking getDevice.\n","properties":{"name":{"type":"string","description":"The name which should be used for this Databox Edge Device. Changing this forces a new Databox Edge Device to be created.\n","willReplaceOnChanges":true},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Databox Edge Device should exist. Changing this forces a new Databox Edge Device to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getDevice.\n","properties":{"deviceProperties":{"description":"A \u003cspan pulumi-lang-nodejs=\"`deviceProperties`\" pulumi-lang-dotnet=\"`DeviceProperties`\" pulumi-lang-go=\"`deviceProperties`\" pulumi-lang-python=\"`device_properties`\" pulumi-lang-yaml=\"`deviceProperties`\" pulumi-lang-java=\"`deviceProperties`\"\u003e`device_properties`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:databoxedge/getDeviceDeviceProperty:getDeviceDeviceProperty"},"type":"array"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"location":{"description":"The Azure Region where the Databox Edge Device should exist.\n","type":"string"},"name":{"type":"string"},"resourceGroupName":{"type":"string"},"skuName":{"description":"The \u003cspan pulumi-lang-nodejs=\"`skuName`\" pulumi-lang-dotnet=\"`SkuName`\" pulumi-lang-go=\"`skuName`\" pulumi-lang-python=\"`sku_name`\" pulumi-lang-yaml=\"`skuName`\" pulumi-lang-java=\"`skuName`\"\u003e`sku_name`\u003c/span\u003e is comprised of two segments separated by a hyphen (e.g. `TEA_1Node_UPS_Heater-Standard`). The first segment of the \u003cspan pulumi-lang-nodejs=\"`skuName`\" pulumi-lang-dotnet=\"`SkuName`\" pulumi-lang-go=\"`skuName`\" pulumi-lang-python=\"`sku_name`\" pulumi-lang-yaml=\"`skuName`\" pulumi-lang-java=\"`skuName`\"\u003e`sku_name`\u003c/span\u003e defines the \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e of the SKU. The second segment defines the \u003cspan pulumi-lang-nodejs=\"`tier`\" pulumi-lang-dotnet=\"`Tier`\" pulumi-lang-go=\"`tier`\" pulumi-lang-python=\"`tier`\" pulumi-lang-yaml=\"`tier`\" pulumi-lang-java=\"`tier`\"\u003e`tier`\u003c/span\u003e of the \u003cspan pulumi-lang-nodejs=\"`skuName`\" pulumi-lang-dotnet=\"`SkuName`\" pulumi-lang-go=\"`skuName`\" pulumi-lang-python=\"`sku_name`\" pulumi-lang-yaml=\"`skuName`\" pulumi-lang-java=\"`skuName`\"\u003e`sku_name`\u003c/span\u003e. For more information see the product documentation.\n","type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Databox Edge Device.\n","type":"object"}},"required":["deviceProperties","location","name","resourceGroupName","skuName","tags","id"],"type":"object"}},"azure:databricks/getAccessConnector:getAccessConnector":{"description":"Use this data source to access information about an existing Databricks Access Connector.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.databricks.getAccessConnector({\n    name: \"existing\",\n    resourceGroupName: \"existing\",\n});\nexport const id = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.databricks.get_access_connector(name=\"existing\",\n    resource_group_name=\"existing\")\npulumi.export(\"id\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.DataBricks.GetAccessConnector.Invoke(new()\n    {\n        Name = \"existing\",\n        ResourceGroupName = \"existing\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"id\"] = example.Apply(getAccessConnectorResult =\u003e getAccessConnectorResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/databricks\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := databricks.LookupAccessConnector(ctx, \u0026databricks.LookupAccessConnectorArgs{\n\t\t\tName:              \"existing\",\n\t\t\tResourceGroupName: \"existing\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"id\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.databricks.DatabricksFunctions;\nimport com.pulumi.azure.databricks.inputs.GetAccessConnectorArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = DatabricksFunctions.getAccessConnector(GetAccessConnectorArgs.builder()\n            .name(\"existing\")\n            .resourceGroupName(\"existing\")\n            .build());\n\n        ctx.export(\"id\", example.id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:databricks:getAccessConnector\n      arguments:\n        name: existing\n        resourceGroupName: existing\noutputs:\n  id: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.Databricks` - 2022-10-01-preview\n","inputs":{"description":"A collection of arguments for invoking getAccessConnector.\n","properties":{"name":{"type":"string","description":"The name of this Databricks Access Connector.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Databricks Access Connector exists. Changing this forces a new Databricks Access Connector to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getAccessConnector.\n","properties":{"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"identities":{"description":"A \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:databricks/getAccessConnectorIdentity:getAccessConnectorIdentity"},"type":"array"},"location":{"description":"The Azure Region where the Databricks Access Connector exists.\n","type":"string"},"name":{"type":"string"},"resourceGroupName":{"type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"A mapping of tags assigned to the Databricks Access Connector.\n","type":"object"}},"required":["identities","location","name","resourceGroupName","tags","id"],"type":"object"}},"azure:databricks/getWorkspace:getWorkspace":{"description":"Use this data source to access information about an existing Databricks workspace.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.databricks.getWorkspace({\n    name: \"example-workspace\",\n    resourceGroupName: \"example-rg\",\n});\nexport const databricksWorkspaceId = example.then(example =\u003e example.workspaceId);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.databricks.get_workspace(name=\"example-workspace\",\n    resource_group_name=\"example-rg\")\npulumi.export(\"databricksWorkspaceId\", example.workspace_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.DataBricks.GetWorkspace.Invoke(new()\n    {\n        Name = \"example-workspace\",\n        ResourceGroupName = \"example-rg\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"databricksWorkspaceId\"] = example.Apply(getWorkspaceResult =\u003e getWorkspaceResult.WorkspaceId),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/databricks\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := databricks.LookupWorkspace(ctx, \u0026databricks.LookupWorkspaceArgs{\n\t\t\tName:              \"example-workspace\",\n\t\t\tResourceGroupName: \"example-rg\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"databricksWorkspaceId\", example.WorkspaceId)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.databricks.DatabricksFunctions;\nimport com.pulumi.azure.databricks.inputs.GetWorkspaceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = DatabricksFunctions.getWorkspace(GetWorkspaceArgs.builder()\n            .name(\"example-workspace\")\n            .resourceGroupName(\"example-rg\")\n            .build());\n\n        ctx.export(\"databricksWorkspaceId\", example.workspaceId());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:databricks:getWorkspace\n      arguments:\n        name: example-workspace\n        resourceGroupName: example-rg\noutputs:\n  databricksWorkspaceId: ${example.workspaceId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.Databricks` - 2024-05-01\n","inputs":{"description":"A collection of arguments for invoking getWorkspace.\n","properties":{"name":{"type":"string","description":"The name of the Databricks Workspace.\n"},"resourceGroupName":{"type":"string","description":"The Name of the Resource Group where the Databricks Workspace exists.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the Databricks Workspace.\n"}},"type":"object","required":["name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getWorkspace.\n","properties":{"customParameters":{"description":"A \u003cspan pulumi-lang-nodejs=\"`customParameters`\" pulumi-lang-dotnet=\"`CustomParameters`\" pulumi-lang-go=\"`customParameters`\" pulumi-lang-python=\"`custom_parameters`\" pulumi-lang-yaml=\"`customParameters`\" pulumi-lang-java=\"`customParameters`\"\u003e`custom_parameters`\u003c/span\u003e block as documented below.\n*\n","items":{"$ref":"#/types/azure:databricks/getWorkspaceCustomParameter:getWorkspaceCustomParameter"},"type":"array"},"enhancedSecurityCompliances":{"description":"An \u003cspan pulumi-lang-nodejs=\"`enhancedSecurityCompliance`\" pulumi-lang-dotnet=\"`EnhancedSecurityCompliance`\" pulumi-lang-go=\"`enhancedSecurityCompliance`\" pulumi-lang-python=\"`enhanced_security_compliance`\" pulumi-lang-yaml=\"`enhancedSecurityCompliance`\" pulumi-lang-java=\"`enhancedSecurityCompliance`\"\u003e`enhanced_security_compliance`\u003c/span\u003e block as documented below.\n","items":{"$ref":"#/types/azure:databricks/getWorkspaceEnhancedSecurityCompliance:getWorkspaceEnhancedSecurityCompliance"},"type":"array"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"location":{"description":"The Azure location where the Databricks Workspace exists.\n","type":"string"},"managedDiskIdentities":{"description":"A \u003cspan pulumi-lang-nodejs=\"`managedDiskIdentity`\" pulumi-lang-dotnet=\"`ManagedDiskIdentity`\" pulumi-lang-go=\"`managedDiskIdentity`\" pulumi-lang-python=\"`managed_disk_identity`\" pulumi-lang-yaml=\"`managedDiskIdentity`\" pulumi-lang-java=\"`managedDiskIdentity`\"\u003e`managed_disk_identity`\u003c/span\u003e block as documented below.\n","items":{"$ref":"#/types/azure:databricks/getWorkspaceManagedDiskIdentity:getWorkspaceManagedDiskIdentity"},"type":"array"},"name":{"type":"string"},"resourceGroupName":{"type":"string"},"sku":{"description":"SKU of this Databricks Workspace.\n","type":"string"},"storageAccountIdentities":{"description":"A \u003cspan pulumi-lang-nodejs=\"`storageAccountIdentity`\" pulumi-lang-dotnet=\"`StorageAccountIdentity`\" pulumi-lang-go=\"`storageAccountIdentity`\" pulumi-lang-python=\"`storage_account_identity`\" pulumi-lang-yaml=\"`storageAccountIdentity`\" pulumi-lang-java=\"`storageAccountIdentity`\"\u003e`storage_account_identity`\u003c/span\u003e block as documented below.\n","items":{"$ref":"#/types/azure:databricks/getWorkspaceStorageAccountIdentity:getWorkspaceStorageAccountIdentity"},"type":"array"},"tags":{"additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the Databricks Workspace.\n","type":"object"},"workspaceId":{"description":"Unique ID of this Databricks Workspace in Databricks management plane.\n","type":"string"},"workspaceUrl":{"description":"URL this Databricks Workspace is accessible on.\n","type":"string"}},"required":["customParameters","enhancedSecurityCompliances","location","managedDiskIdentities","name","resourceGroupName","sku","storageAccountIdentities","workspaceId","workspaceUrl","id"],"type":"object"}},"azure:databricks/getWorkspacePrivateEndpointConnection:getWorkspacePrivateEndpointConnection":{"description":"Use this data source to access information on an existing Databricks Workspace private endpoint connection state.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.databricks.getWorkspacePrivateEndpointConnection({\n    workspaceId: exampleAzurermDatabricksWorkspace.id,\n    privateEndpointId: exampleAzurermPrivateEndpoint.id,\n});\nexport const databricksWorkspacePrivateEndpointConnectionStatus = example.then(example =\u003e example.connections?.[0]?.status);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.databricks.get_workspace_private_endpoint_connection(workspace_id=example_azurerm_databricks_workspace[\"id\"],\n    private_endpoint_id=example_azurerm_private_endpoint[\"id\"])\npulumi.export(\"databricksWorkspacePrivateEndpointConnectionStatus\", example.connections[0].status)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.DataBricks.GetWorkspacePrivateEndpointConnection.Invoke(new()\n    {\n        WorkspaceId = exampleAzurermDatabricksWorkspace.Id,\n        PrivateEndpointId = exampleAzurermPrivateEndpoint.Id,\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"databricksWorkspacePrivateEndpointConnectionStatus\"] = example.Apply(getWorkspacePrivateEndpointConnectionResult =\u003e getWorkspacePrivateEndpointConnectionResult.Connections[0]?.Status),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/databricks\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := databricks.GetWorkspacePrivateEndpointConnection(ctx, \u0026databricks.GetWorkspacePrivateEndpointConnectionArgs{\n\t\t\tWorkspaceId:       exampleAzurermDatabricksWorkspace.Id,\n\t\t\tPrivateEndpointId: exampleAzurermPrivateEndpoint.Id,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"databricksWorkspacePrivateEndpointConnectionStatus\", example.Connections[0].Status)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.databricks.DatabricksFunctions;\nimport com.pulumi.azure.databricks.inputs.GetWorkspacePrivateEndpointConnectionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = DatabricksFunctions.getWorkspacePrivateEndpointConnection(GetWorkspacePrivateEndpointConnectionArgs.builder()\n            .workspaceId(exampleAzurermDatabricksWorkspace.id())\n            .privateEndpointId(exampleAzurermPrivateEndpoint.id())\n            .build());\n\n        ctx.export(\"databricksWorkspacePrivateEndpointConnectionStatus\", example.connections()[0].status());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:databricks:getWorkspacePrivateEndpointConnection\n      arguments:\n        workspaceId: ${exampleAzurermDatabricksWorkspace.id}\n        privateEndpointId: ${exampleAzurermPrivateEndpoint.id}\noutputs:\n  databricksWorkspacePrivateEndpointConnectionStatus: ${example.connections[0].status}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.Databricks` - 2024-05-01\n","inputs":{"description":"A collection of arguments for invoking getWorkspacePrivateEndpointConnection.\n","properties":{"privateEndpointId":{"type":"string","description":"The resource ID of the Private Endpoint.\n"},"workspaceId":{"type":"string","description":"The resource ID of the Databricks Workspace.\n"}},"type":"object","required":["privateEndpointId","workspaceId"]},"outputs":{"description":"A collection of values returned by getWorkspacePrivateEndpointConnection.\n","properties":{"connections":{"description":"A \u003cspan pulumi-lang-nodejs=\"`connections`\" pulumi-lang-dotnet=\"`Connections`\" pulumi-lang-go=\"`connections`\" pulumi-lang-python=\"`connections`\" pulumi-lang-yaml=\"`connections`\" pulumi-lang-java=\"`connections`\"\u003e`connections`\u003c/span\u003e block as documented below.\n","items":{"$ref":"#/types/azure:databricks/getWorkspacePrivateEndpointConnectionConnection:getWorkspacePrivateEndpointConnectionConnection"},"type":"array"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"privateEndpointId":{"description":"The resource ID of the Private Endpoint.\n","type":"string"},"workspaceId":{"description":"The resource ID of the Databricks Workspace.\n","type":"string"}},"required":["connections","privateEndpointId","workspaceId","id"],"type":"object"}},"azure:datafactory/getFactory:getFactory":{"description":"Use this data source to access information about an existing Azure Data Factory (Version 2).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.datafactory.getFactory({\n    name: \"existing-adf\",\n    resourceGroupName: \"existing-rg\",\n});\nexport const id = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.datafactory.get_factory(name=\"existing-adf\",\n    resource_group_name=\"existing-rg\")\npulumi.export(\"id\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.DataFactory.GetFactory.Invoke(new()\n    {\n        Name = \"existing-adf\",\n        ResourceGroupName = \"existing-rg\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"id\"] = example.Apply(getFactoryResult =\u003e getFactoryResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/datafactory\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := datafactory.LookupFactory(ctx, \u0026datafactory.LookupFactoryArgs{\n\t\t\tName:              \"existing-adf\",\n\t\t\tResourceGroupName: \"existing-rg\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"id\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.datafactory.DatafactoryFunctions;\nimport com.pulumi.azure.datafactory.inputs.GetFactoryArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = DatafactoryFunctions.getFactory(GetFactoryArgs.builder()\n            .name(\"existing-adf\")\n            .resourceGroupName(\"existing-rg\")\n            .build());\n\n        ctx.export(\"id\", example.id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:datafactory:getFactory\n      arguments:\n        name: existing-adf\n        resourceGroupName: existing-rg\noutputs:\n  id: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.DataFactory` - 2018-06-01\n","inputs":{"description":"A collection of arguments for invoking getFactory.\n","properties":{"name":{"type":"string","description":"The name of this Azure Data Factory.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Azure Data Factory exists.\n"}},"type":"object","required":["name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getFactory.\n","properties":{"githubConfigurations":{"description":"A \u003cspan pulumi-lang-nodejs=\"`githubConfiguration`\" pulumi-lang-dotnet=\"`GithubConfiguration`\" pulumi-lang-go=\"`githubConfiguration`\" pulumi-lang-python=\"`github_configuration`\" pulumi-lang-yaml=\"`githubConfiguration`\" pulumi-lang-java=\"`githubConfiguration`\"\u003e`github_configuration`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:datafactory/getFactoryGithubConfiguration:getFactoryGithubConfiguration"},"type":"array"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"identities":{"description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:datafactory/getFactoryIdentity:getFactoryIdentity"},"type":"array"},"location":{"description":"The Azure Region where the Azure Data Factory exists.\n","type":"string"},"name":{"type":"string"},"resourceGroupName":{"type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"A mapping of tags assigned to the Azure Data Factory.\n","type":"object"},"vstsConfigurations":{"description":"A \u003cspan pulumi-lang-nodejs=\"`vstsConfiguration`\" pulumi-lang-dotnet=\"`VstsConfiguration`\" pulumi-lang-go=\"`vstsConfiguration`\" pulumi-lang-python=\"`vsts_configuration`\" pulumi-lang-yaml=\"`vstsConfiguration`\" pulumi-lang-java=\"`vstsConfiguration`\"\u003e`vsts_configuration`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:datafactory/getFactoryVstsConfiguration:getFactoryVstsConfiguration"},"type":"array"}},"required":["githubConfigurations","identities","location","name","resourceGroupName","tags","vstsConfigurations","id"],"type":"object"}},"azure:datafactory/getTriggerSchedule:getTriggerSchedule":{"description":"Use this data source to access information about a trigger schedule in Azure Data Factory.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.datafactory.getTriggerSchedule({\n    name: \"example_trigger\",\n    dataFactoryId: \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.DataFactory/factories/datafactory1\",\n});\nexport const id = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.datafactory.get_trigger_schedule(name=\"example_trigger\",\n    data_factory_id=\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.DataFactory/factories/datafactory1\")\npulumi.export(\"id\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.DataFactory.GetTriggerSchedule.Invoke(new()\n    {\n        Name = \"example_trigger\",\n        DataFactoryId = \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.DataFactory/factories/datafactory1\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"id\"] = example.Apply(getTriggerScheduleResult =\u003e getTriggerScheduleResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/datafactory\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := datafactory.LookupTriggerSchedule(ctx, \u0026datafactory.LookupTriggerScheduleArgs{\n\t\t\tName:          \"example_trigger\",\n\t\t\tDataFactoryId: \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.DataFactory/factories/datafactory1\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"id\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.datafactory.DatafactoryFunctions;\nimport com.pulumi.azure.datafactory.inputs.GetTriggerScheduleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = DatafactoryFunctions.getTriggerSchedule(GetTriggerScheduleArgs.builder()\n            .name(\"example_trigger\")\n            .dataFactoryId(\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.DataFactory/factories/datafactory1\")\n            .build());\n\n        ctx.export(\"id\", example.id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:datafactory:getTriggerSchedule\n      arguments:\n        name: example_trigger\n        dataFactoryId: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.DataFactory/factories/datafactory1\noutputs:\n  id: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getTriggerSchedule.\n","properties":{"dataFactoryId":{"type":"string","description":"The ID of the Azure Data Factory to fetch trigger schedule from.\n"},"name":{"type":"string","description":"The name of the trigger schedule.\n"}},"type":"object","required":["dataFactoryId","name"]},"outputs":{"description":"A collection of values returned by getTriggerSchedule.\n","properties":{"activated":{"description":"Specifies if the Data Factory Schedule Trigger is activated.\n","type":"boolean"},"annotations":{"description":"List of tags that can be used for describing the Data Factory Schedule Trigger.\n","items":{"type":"string"},"type":"array"},"dataFactoryId":{"type":"string"},"description":{"description":"The Schedule Trigger's description.\n","type":"string"},"endTime":{"description":"The time the Schedule Trigger should end. The time will be represented in UTC.\n","type":"string"},"frequency":{"description":"The trigger frequency.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"interval":{"description":"The interval for how often the trigger occurs.\n","type":"integer"},"name":{"type":"string"},"pipelineName":{"description":"The Data Factory Pipeline name that the trigger will act on.\n","type":"string"},"schedules":{"description":"A \u003cspan pulumi-lang-nodejs=\"`schedule`\" pulumi-lang-dotnet=\"`Schedule`\" pulumi-lang-go=\"`schedule`\" pulumi-lang-python=\"`schedule`\" pulumi-lang-yaml=\"`schedule`\" pulumi-lang-java=\"`schedule`\"\u003e`schedule`\u003c/span\u003e block as described below, which further specifies the recurrence schedule for the trigger.\n","items":{"$ref":"#/types/azure:datafactory/getTriggerScheduleSchedule:getTriggerScheduleSchedule"},"type":"array"},"startTime":{"description":"The time the Schedule Trigger will start. The time will be represented in UTC.\n","type":"string"},"timeZone":{"description":"The timezone of the start/end time.\n","type":"string"}},"required":["activated","annotations","dataFactoryId","description","endTime","frequency","interval","name","pipelineName","schedules","startTime","timeZone","id"],"type":"object"}},"azure:datafactory/getTriggerSchedules:getTriggerSchedules":{"description":"Use this data source to access information about all existing trigger schedules in Azure Data Factory.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.datafactory.getTriggerSchedules({\n    dataFactoryId: \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.DataFactory/factories/datafactory1\",\n});\nexport const items = example.then(example =\u003e example.items);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.datafactory.get_trigger_schedules(data_factory_id=\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.DataFactory/factories/datafactory1\")\npulumi.export(\"items\", example.items)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.DataFactory.GetTriggerSchedules.Invoke(new()\n    {\n        DataFactoryId = \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.DataFactory/factories/datafactory1\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"items\"] = example.Apply(getTriggerSchedulesResult =\u003e getTriggerSchedulesResult.Items),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/datafactory\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := datafactory.GetTriggerSchedules(ctx, \u0026datafactory.GetTriggerSchedulesArgs{\n\t\t\tDataFactoryId: \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.DataFactory/factories/datafactory1\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"items\", example.Items)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.datafactory.DatafactoryFunctions;\nimport com.pulumi.azure.datafactory.inputs.GetTriggerSchedulesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = DatafactoryFunctions.getTriggerSchedules(GetTriggerSchedulesArgs.builder()\n            .dataFactoryId(\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.DataFactory/factories/datafactory1\")\n            .build());\n\n        ctx.export(\"items\", example.items());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:datafactory:getTriggerSchedules\n      arguments:\n        dataFactoryId: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.DataFactory/factories/datafactory1\noutputs:\n  items: ${example.items}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getTriggerSchedules.\n","properties":{"dataFactoryId":{"type":"string","description":"The ID of the Azure Data Factory to fetch trigger schedules from.\n"}},"type":"object","required":["dataFactoryId"]},"outputs":{"description":"A collection of values returned by getTriggerSchedules.\n","properties":{"dataFactoryId":{"type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"items":{"description":"A list of trigger schedule names available in this Azure Data Factory.\n","items":{"type":"string"},"type":"array"}},"required":["dataFactoryId","items","id"],"type":"object"}},"azure:dataprotection/getBackupVault:getBackupVault":{"description":"Use this data source to access information about an existing Backup Vault.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.dataprotection.getBackupVault({\n    name: \"existing-backup-vault\",\n    resourceGroupName: \"existing-resource-group\",\n});\nexport const azurermDataProtectionBackupVaultId = exampleAzurermVpnGateway.id;\nexport const azurermDataProtectionBackupVaultPrincipalId = example.then(example =\u003e example.identities?.[0]?.principalId);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.dataprotection.get_backup_vault(name=\"existing-backup-vault\",\n    resource_group_name=\"existing-resource-group\")\npulumi.export(\"azurermDataProtectionBackupVaultId\", example_azurerm_vpn_gateway[\"id\"])\npulumi.export(\"azurermDataProtectionBackupVaultPrincipalId\", example.identities[0].principal_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.DataProtection.GetBackupVault.Invoke(new()\n    {\n        Name = \"existing-backup-vault\",\n        ResourceGroupName = \"existing-resource-group\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"azurermDataProtectionBackupVaultId\"] = exampleAzurermVpnGateway.Id,\n        [\"azurermDataProtectionBackupVaultPrincipalId\"] = example.Apply(getBackupVaultResult =\u003e getBackupVaultResult.Identities[0]?.PrincipalId),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/dataprotection\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := dataprotection.LookupBackupVault(ctx, \u0026dataprotection.LookupBackupVaultArgs{\n\t\t\tName:              \"existing-backup-vault\",\n\t\t\tResourceGroupName: \"existing-resource-group\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"azurermDataProtectionBackupVaultId\", exampleAzurermVpnGateway.Id)\n\t\tctx.Export(\"azurermDataProtectionBackupVaultPrincipalId\", example.Identities[0].PrincipalId)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.dataprotection.DataprotectionFunctions;\nimport com.pulumi.azure.dataprotection.inputs.GetBackupVaultArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = DataprotectionFunctions.getBackupVault(GetBackupVaultArgs.builder()\n            .name(\"existing-backup-vault\")\n            .resourceGroupName(\"existing-resource-group\")\n            .build());\n\n        ctx.export(\"azurermDataProtectionBackupVaultId\", exampleAzurermVpnGateway.id());\n        ctx.export(\"azurermDataProtectionBackupVaultPrincipalId\", example.identities()[0].principalId());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:dataprotection:getBackupVault\n      arguments:\n        name: existing-backup-vault\n        resourceGroupName: existing-resource-group\noutputs:\n  azurermDataProtectionBackupVaultId: ${exampleAzurermVpnGateway.id}\n  azurermDataProtectionBackupVaultPrincipalId: ${example.identities[0].principalId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.DataProtection` - 2024-04-01\n","inputs":{"description":"A collection of arguments for invoking getBackupVault.\n","properties":{"name":{"type":"string","description":"Specifies the name of the Backup Vault.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Backup Vault exists.\n"}},"type":"object","required":["name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getBackupVault.\n","properties":{"datastoreType":{"description":"Specifies the type of the data store.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"identities":{"description":"A \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:dataprotection/getBackupVaultIdentity:getBackupVaultIdentity"},"type":"array"},"location":{"description":"The Azure Region where the Backup Vault exists.\n","type":"string"},"name":{"type":"string"},"redundancy":{"description":"Specifies the backup storage redundancy.\n","type":"string"},"resourceGroupName":{"type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"A mapping of tags which are assigned to the Backup Vault.\n","type":"object"}},"required":["datastoreType","identities","location","name","redundancy","resourceGroupName","tags","id"],"type":"object"}},"azure:datashare/getAccount:getAccount":{"description":"Use this data source to access information about an existing Data Share Account.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.datashare.getAccount({\n    name: \"example-account\",\n    resourceGroupName: \"example-resource-group\",\n});\nexport const id = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.datashare.get_account(name=\"example-account\",\n    resource_group_name=\"example-resource-group\")\npulumi.export(\"id\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.DataShare.GetAccount.Invoke(new()\n    {\n        Name = \"example-account\",\n        ResourceGroupName = \"example-resource-group\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"id\"] = example.Apply(getAccountResult =\u003e getAccountResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/datashare\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := datashare.LookupAccount(ctx, \u0026datashare.LookupAccountArgs{\n\t\t\tName:              \"example-account\",\n\t\t\tResourceGroupName: \"example-resource-group\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"id\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.datashare.DatashareFunctions;\nimport com.pulumi.azure.datashare.inputs.GetAccountArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = DatashareFunctions.getAccount(GetAccountArgs.builder()\n            .name(\"example-account\")\n            .resourceGroupName(\"example-resource-group\")\n            .build());\n\n        ctx.export(\"id\", example.id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:datashare:getAccount\n      arguments:\n        name: example-account\n        resourceGroupName: example-resource-group\noutputs:\n  id: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.DataShare` - 2019-11-01\n","inputs":{"description":"A collection of arguments for invoking getAccount.\n","properties":{"name":{"type":"string","description":"The name of this Data Share Account.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Data Share Account exists.\n"}},"type":"object","required":["name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getAccount.\n","properties":{"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"identities":{"description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:datashare/getAccountIdentity:getAccountIdentity"},"type":"array"},"name":{"type":"string"},"resourceGroupName":{"type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"A mapping of tags assigned to the Data Share Account.\n","type":"object"}},"required":["identities","name","resourceGroupName","tags","id"],"type":"object"}},"azure:datashare/getDatasetBlobStorage:getDatasetBlobStorage":{"description":"Use this data source to access information about an existing Data Share Blob Storage Dataset.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.datashare.getDatasetBlobStorage({\n    name: \"example-dsbsds\",\n    dataShareId: \"example-share-id\",\n});\nexport const id = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.datashare.get_dataset_blob_storage(name=\"example-dsbsds\",\n    data_share_id=\"example-share-id\")\npulumi.export(\"id\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.DataShare.GetDatasetBlobStorage.Invoke(new()\n    {\n        Name = \"example-dsbsds\",\n        DataShareId = \"example-share-id\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"id\"] = example.Apply(getDatasetBlobStorageResult =\u003e getDatasetBlobStorageResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/datashare\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := datashare.LookupDatasetBlobStorage(ctx, \u0026datashare.LookupDatasetBlobStorageArgs{\n\t\t\tName:        \"example-dsbsds\",\n\t\t\tDataShareId: \"example-share-id\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"id\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.datashare.DatashareFunctions;\nimport com.pulumi.azure.datashare.inputs.GetDatasetBlobStorageArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = DatashareFunctions.getDatasetBlobStorage(GetDatasetBlobStorageArgs.builder()\n            .name(\"example-dsbsds\")\n            .dataShareId(\"example-share-id\")\n            .build());\n\n        ctx.export(\"id\", example.id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:datashare:getDatasetBlobStorage\n      arguments:\n        name: example-dsbsds\n        dataShareId: example-share-id\noutputs:\n  id: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.DataShare` - 2019-11-01\n","inputs":{"description":"A collection of arguments for invoking getDatasetBlobStorage.\n","properties":{"dataShareId":{"type":"string","description":"The ID of the Data Share in which this Data Share Blob Storage Dataset should be created.\n"},"name":{"type":"string","description":"The name of this Data Share Blob Storage Dataset.\n"}},"type":"object","required":["dataShareId","name"]},"outputs":{"description":"A collection of values returned by getDatasetBlobStorage.\n","properties":{"containerName":{"description":"The name of the storage account container to be shared with the receiver.\n","type":"string"},"dataShareId":{"type":"string"},"displayName":{"description":"The name of the Data Share Dataset.\n","type":"string"},"filePath":{"description":"The path of the file in the storage container to be shared with the receiver.\n","type":"string"},"folderPath":{"description":"The folder path of the file in the storage container to be shared with the receiver.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"name":{"description":"The name of the storage account to be shared with the receiver.\n","type":"string"},"storageAccounts":{"description":"A \u003cspan pulumi-lang-nodejs=\"`storageAccount`\" pulumi-lang-dotnet=\"`StorageAccount`\" pulumi-lang-go=\"`storageAccount`\" pulumi-lang-python=\"`storage_account`\" pulumi-lang-yaml=\"`storageAccount`\" pulumi-lang-java=\"`storageAccount`\"\u003e`storage_account`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:datashare/getDatasetBlobStorageStorageAccount:getDatasetBlobStorageStorageAccount"},"type":"array"}},"required":["containerName","dataShareId","displayName","filePath","folderPath","name","storageAccounts","id"],"type":"object"}},"azure:datashare/getDatasetDataLakeGen2:getDatasetDataLakeGen2":{"description":"Use this data source to access information about an existing Data Share Data Lake Gen2 Dataset.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.datashare.getDatasetDataLakeGen2({\n    name: \"example-dsdlg2ds\",\n    shareId: \"example-share-id\",\n});\nexport const id = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.datashare.get_dataset_data_lake_gen2(name=\"example-dsdlg2ds\",\n    share_id=\"example-share-id\")\npulumi.export(\"id\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.DataShare.GetDatasetDataLakeGen2.Invoke(new()\n    {\n        Name = \"example-dsdlg2ds\",\n        ShareId = \"example-share-id\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"id\"] = example.Apply(getDatasetDataLakeGen2Result =\u003e getDatasetDataLakeGen2Result.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/datashare\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := datashare.LookupDatasetDataLakeGen2(ctx, \u0026datashare.LookupDatasetDataLakeGen2Args{\n\t\t\tName:    \"example-dsdlg2ds\",\n\t\t\tShareId: \"example-share-id\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"id\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.datashare.DatashareFunctions;\nimport com.pulumi.azure.datashare.inputs.GetDatasetDataLakeGen2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = DatashareFunctions.getDatasetDataLakeGen2(GetDatasetDataLakeGen2Args.builder()\n            .name(\"example-dsdlg2ds\")\n            .shareId(\"example-share-id\")\n            .build());\n\n        ctx.export(\"id\", example.id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:datashare:getDatasetDataLakeGen2\n      arguments:\n        name: example-dsdlg2ds\n        shareId: example-share-id\noutputs:\n  id: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.DataShare` - 2019-11-01\n","inputs":{"description":"A collection of arguments for invoking getDatasetDataLakeGen2.\n","properties":{"name":{"type":"string","description":"The name of this Data Share Data Lake Gen2 Dataset.\n"},"shareId":{"type":"string","description":"The resource ID of the Data Share where this Data Share Data Lake Gen2 Dataset should be created.\n"}},"type":"object","required":["name","shareId"]},"outputs":{"description":"A collection of values returned by getDatasetDataLakeGen2.\n","properties":{"displayName":{"description":"The name of the Data Share Dataset.\n","type":"string"},"filePath":{"description":"The path of the file in the data lake file system to be shared with the receiver.\n","type":"string"},"fileSystemName":{"description":"The name of the data lake file system to be shared with the receiver.\n","type":"string"},"folderPath":{"description":"The folder path in the data lake file system to be shared with the receiver.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"name":{"type":"string"},"shareId":{"type":"string"},"storageAccountId":{"description":"The resource ID of the storage account of the data lake file system to be shared with the receiver.\n","type":"string"}},"required":["displayName","filePath","fileSystemName","folderPath","name","shareId","storageAccountId","id"],"type":"object"}},"azure:datashare/getDatasetKustoCluster:getDatasetKustoCluster":{"description":"Use this data source to access information about an existing Data Share Kusto Cluster Dataset.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.datashare.getDatasetKustoCluster({\n    name: \"example-dskc\",\n    shareId: \"example-share-id\",\n});\nexport const id = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.datashare.get_dataset_kusto_cluster(name=\"example-dskc\",\n    share_id=\"example-share-id\")\npulumi.export(\"id\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.DataShare.GetDatasetKustoCluster.Invoke(new()\n    {\n        Name = \"example-dskc\",\n        ShareId = \"example-share-id\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"id\"] = example.Apply(getDatasetKustoClusterResult =\u003e getDatasetKustoClusterResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/datashare\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := datashare.LookupDatasetKustoCluster(ctx, \u0026datashare.LookupDatasetKustoClusterArgs{\n\t\t\tName:    \"example-dskc\",\n\t\t\tShareId: \"example-share-id\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"id\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.datashare.DatashareFunctions;\nimport com.pulumi.azure.datashare.inputs.GetDatasetKustoClusterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = DatashareFunctions.getDatasetKustoCluster(GetDatasetKustoClusterArgs.builder()\n            .name(\"example-dskc\")\n            .shareId(\"example-share-id\")\n            .build());\n\n        ctx.export(\"id\", example.id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:datashare:getDatasetKustoCluster\n      arguments:\n        name: example-dskc\n        shareId: example-share-id\noutputs:\n  id: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.DataShare` - 2019-11-01\n","inputs":{"description":"A collection of arguments for invoking getDatasetKustoCluster.\n","properties":{"name":{"type":"string","description":"The name of this Data Share Kusto Cluster Dataset.\n"},"shareId":{"type":"string","description":"The resource ID of the Data Share where this Data Share Kusto Cluster Dataset should be created.\n"}},"type":"object","required":["name","shareId"]},"outputs":{"description":"A collection of values returned by getDatasetKustoCluster.\n","properties":{"displayName":{"description":"The name of the Data Share Dataset.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"kustoClusterId":{"description":"The resource ID of the Kusto Cluster to be shared with the receiver.\n","type":"string"},"kustoClusterLocation":{"description":"The location of the Kusto Cluster.\n","type":"string"},"name":{"type":"string"},"shareId":{"type":"string"}},"required":["displayName","kustoClusterId","kustoClusterLocation","name","shareId","id"],"type":"object"}},"azure:datashare/getDatasetKustoDatabase:getDatasetKustoDatabase":{"description":"Use this data source to access information about an existing Data Share Kusto Database Dataset.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.datashare.getDatasetKustoDatabase({\n    name: \"example-dskdds\",\n    shareId: \"example-share-id\",\n});\nexport const id = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.datashare.get_dataset_kusto_database(name=\"example-dskdds\",\n    share_id=\"example-share-id\")\npulumi.export(\"id\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.DataShare.GetDatasetKustoDatabase.Invoke(new()\n    {\n        Name = \"example-dskdds\",\n        ShareId = \"example-share-id\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"id\"] = example.Apply(getDatasetKustoDatabaseResult =\u003e getDatasetKustoDatabaseResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/datashare\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := datashare.LookupDatasetKustoDatabase(ctx, \u0026datashare.LookupDatasetKustoDatabaseArgs{\n\t\t\tName:    \"example-dskdds\",\n\t\t\tShareId: \"example-share-id\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"id\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.datashare.DatashareFunctions;\nimport com.pulumi.azure.datashare.inputs.GetDatasetKustoDatabaseArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = DatashareFunctions.getDatasetKustoDatabase(GetDatasetKustoDatabaseArgs.builder()\n            .name(\"example-dskdds\")\n            .shareId(\"example-share-id\")\n            .build());\n\n        ctx.export(\"id\", example.id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:datashare:getDatasetKustoDatabase\n      arguments:\n        name: example-dskdds\n        shareId: example-share-id\noutputs:\n  id: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.DataShare` - 2019-11-01\n","inputs":{"description":"A collection of arguments for invoking getDatasetKustoDatabase.\n","properties":{"name":{"type":"string","description":"The name of this Data Share Kusto Database Dataset.\n"},"shareId":{"type":"string","description":"The resource ID of the Data Share where this Data Share Kusto Database Dataset should be created.\n"}},"type":"object","required":["name","shareId"]},"outputs":{"description":"A collection of values returned by getDatasetKustoDatabase.\n","properties":{"displayName":{"description":"The name of the Data Share Dataset.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"kustoClusterLocation":{"description":"The location of the Kusto Cluster.\n","type":"string"},"kustoDatabaseId":{"description":"The resource ID of the Kusto Cluster Database to be shared with the receiver.\n","type":"string"},"name":{"type":"string"},"shareId":{"type":"string"}},"required":["displayName","kustoClusterLocation","kustoDatabaseId","name","shareId","id"],"type":"object"}},"azure:datashare/getShare:getShare":{"description":"Use this data source to access information about an existing Data Share.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.datashare.getAccount({\n    name: \"example-account\",\n    resourceGroupName: \"example-resource-group\",\n});\nconst exampleGetShare = example.then(example =\u003e azure.datashare.getShare({\n    name: \"existing\",\n    accountId: example.id,\n}));\nexport const id = exampleGetShare.then(exampleGetShare =\u003e exampleGetShare.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.datashare.get_account(name=\"example-account\",\n    resource_group_name=\"example-resource-group\")\nexample_get_share = azure.datashare.get_share(name=\"existing\",\n    account_id=example.id)\npulumi.export(\"id\", example_get_share.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.DataShare.GetAccount.Invoke(new()\n    {\n        Name = \"example-account\",\n        ResourceGroupName = \"example-resource-group\",\n    });\n\n    var exampleGetShare = Azure.DataShare.GetShare.Invoke(new()\n    {\n        Name = \"existing\",\n        AccountId = example.Apply(getAccountResult =\u003e getAccountResult.Id),\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"id\"] = exampleGetShare.Apply(getShareResult =\u003e getShareResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/datashare\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := datashare.LookupAccount(ctx, \u0026datashare.LookupAccountArgs{\n\t\t\tName:              \"example-account\",\n\t\t\tResourceGroupName: \"example-resource-group\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleGetShare, err := datashare.LookupShare(ctx, \u0026datashare.LookupShareArgs{\n\t\t\tName:      \"existing\",\n\t\t\tAccountId: example.Id,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"id\", exampleGetShare.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.datashare.DatashareFunctions;\nimport com.pulumi.azure.datashare.inputs.GetAccountArgs;\nimport com.pulumi.azure.datashare.inputs.GetShareArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = DatashareFunctions.getAccount(GetAccountArgs.builder()\n            .name(\"example-account\")\n            .resourceGroupName(\"example-resource-group\")\n            .build());\n\n        final var exampleGetShare = DatashareFunctions.getShare(GetShareArgs.builder()\n            .name(\"existing\")\n            .accountId(example.id())\n            .build());\n\n        ctx.export(\"id\", exampleGetShare.id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:datashare:getAccount\n      arguments:\n        name: example-account\n        resourceGroupName: example-resource-group\n  exampleGetShare:\n    fn::invoke:\n      function: azure:datashare:getShare\n      arguments:\n        name: existing\n        accountId: ${example.id}\noutputs:\n  id: ${exampleGetShare.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.DataShare` - 2019-11-01\n","inputs":{"description":"A collection of arguments for invoking getShare.\n","properties":{"accountId":{"type":"string","description":"The ID of the Data Share account in which the Data Share is created.\n"},"name":{"type":"string","description":"The name of this Data Share.\n"}},"type":"object","required":["accountId","name"]},"outputs":{"description":"A collection of values returned by getShare.\n","properties":{"accountId":{"type":"string"},"description":{"description":"The description of the Data Share.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"kind":{"description":"The kind of the Data Share.\n","type":"string"},"name":{"description":"The name of the snapshot schedule.\n","type":"string"},"snapshotSchedules":{"description":"A \u003cspan pulumi-lang-nodejs=\"`snapshotSchedule`\" pulumi-lang-dotnet=\"`SnapshotSchedule`\" pulumi-lang-go=\"`snapshotSchedule`\" pulumi-lang-python=\"`snapshot_schedule`\" pulumi-lang-yaml=\"`snapshotSchedule`\" pulumi-lang-java=\"`snapshotSchedule`\"\u003e`snapshot_schedule`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:datashare/getShareSnapshotSchedule:getShareSnapshotSchedule"},"type":"array"},"terms":{"description":"The terms of the Data Share.\n","type":"string"}},"required":["accountId","description","kind","name","snapshotSchedules","terms","id"],"type":"object"}},"azure:desktopvirtualization/getApplicationGroup:getApplicationGroup":{"description":"Use this data source to access information about an existing Application Group.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.desktopvirtualization.getApplicationGroup({\n    name: \"existing\",\n    resourceGroupName: \"existing\",\n});\nexport const id = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.desktopvirtualization.get_application_group(name=\"existing\",\n    resource_group_name=\"existing\")\npulumi.export(\"id\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.DesktopVirtualization.GetApplicationGroup.Invoke(new()\n    {\n        Name = \"existing\",\n        ResourceGroupName = \"existing\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"id\"] = example.Apply(getApplicationGroupResult =\u003e getApplicationGroupResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/desktopvirtualization\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := desktopvirtualization.LookupApplicationGroup(ctx, \u0026desktopvirtualization.LookupApplicationGroupArgs{\n\t\t\tName:              \"existing\",\n\t\t\tResourceGroupName: \"existing\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"id\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.desktopvirtualization.DesktopvirtualizationFunctions;\nimport com.pulumi.azure.desktopvirtualization.inputs.GetApplicationGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = DesktopvirtualizationFunctions.getApplicationGroup(GetApplicationGroupArgs.builder()\n            .name(\"existing\")\n            .resourceGroupName(\"existing\")\n            .build());\n\n        ctx.export(\"id\", example.id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:desktopvirtualization:getApplicationGroup\n      arguments:\n        name: existing\n        resourceGroupName: existing\noutputs:\n  id: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.DesktopVirtualization` - 2024-04-03\n","inputs":{"description":"A collection of arguments for invoking getApplicationGroup.\n","properties":{"name":{"type":"string","description":"The name of this Application Group.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Application Group exists.\n"}},"type":"object","required":["name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getApplicationGroup.\n","properties":{"description":{"description":"The description of the Application Group.\n","type":"string"},"friendlyName":{"description":"The friendly name of the Application Group.\n","type":"string"},"hostPoolId":{"description":"The Virtual Desktop Host Pool ID the Application Group is associated to.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"location":{"description":"The Azure Region where the Application Group exists.\n","type":"string"},"name":{"type":"string"},"resourceGroupName":{"type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"A mapping of tags assigned to the Application Group.\n","type":"object"},"type":{"description":"The type of Application Group (`RemoteApp` or `Desktop`).\n","type":"string"},"workspaceId":{"description":"The Virtual Desktop Workspace ID the Application Group is associated to.\n","type":"string"}},"required":["description","friendlyName","hostPoolId","location","name","resourceGroupName","tags","type","workspaceId","id"],"type":"object"}},"azure:desktopvirtualization/getHostPool:getHostPool":{"description":"Use this data source to access information about an existing Virtual Desktop Host Pool.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.desktopvirtualization.getHostPool({\n    name: \"example-pool\",\n    resourceGroupName: \"example-resources\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.desktopvirtualization.get_host_pool(name=\"example-pool\",\n    resource_group_name=\"example-resources\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.DesktopVirtualization.GetHostPool.Invoke(new()\n    {\n        Name = \"example-pool\",\n        ResourceGroupName = \"example-resources\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/desktopvirtualization\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := desktopvirtualization.LookupHostPool(ctx, \u0026desktopvirtualization.LookupHostPoolArgs{\n\t\t\tName:              \"example-pool\",\n\t\t\tResourceGroupName: \"example-resources\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.desktopvirtualization.DesktopvirtualizationFunctions;\nimport com.pulumi.azure.desktopvirtualization.inputs.GetHostPoolArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = DesktopvirtualizationFunctions.getHostPool(GetHostPoolArgs.builder()\n            .name(\"example-pool\")\n            .resourceGroupName(\"example-resources\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:desktopvirtualization:getHostPool\n      arguments:\n        name: example-pool\n        resourceGroupName: example-resources\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.DesktopVirtualization` - 2024-04-03\n","inputs":{"description":"A collection of arguments for invoking getHostPool.\n","properties":{"name":{"type":"string","description":"The name of the Virtual Desktop Host Pool to retrieve.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group where the Virtual Desktop Host Pool exists.\n"}},"type":"object","required":["name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getHostPool.\n","properties":{"customRdpProperties":{"description":"The custom RDP properties string for the Virtual Desktop Host Pool.\n","type":"string"},"description":{"description":"The description for the Virtual Desktop Host Pool.\n","type":"string"},"friendlyName":{"description":"The friendly name for the Virtual Desktop Host Pool.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"loadBalancerType":{"description":"The type of load balancing performed by the Host Pool\n","type":"string"},"location":{"description":"The location/region where the Virtual Desktop Host Pool is located.\n","type":"string"},"maximumSessionsAllowed":{"description":"The maximum number of users that can have concurrent sessions on a session host.\n","type":"integer"},"name":{"type":"string"},"personalDesktopAssignmentType":{"description":"The type of personal desktop assignment in use by the Host Pool\n","type":"string"},"preferredAppGroupType":{"description":"The preferred Application Group type for the Virtual Desktop Host Pool.\n","type":"string"},"resourceGroupName":{"type":"string"},"scheduledAgentUpdates":{"description":"A \u003cspan pulumi-lang-nodejs=\"`scheduledAgentUpdates`\" pulumi-lang-dotnet=\"`ScheduledAgentUpdates`\" pulumi-lang-go=\"`scheduledAgentUpdates`\" pulumi-lang-python=\"`scheduled_agent_updates`\" pulumi-lang-yaml=\"`scheduledAgentUpdates`\" pulumi-lang-java=\"`scheduledAgentUpdates`\"\u003e`scheduled_agent_updates`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:desktopvirtualization/getHostPoolScheduledAgentUpdate:getHostPoolScheduledAgentUpdate"},"type":"array"},"startVmOnConnect":{"description":"Returns \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e if the Start VM on Connection Feature is enabled.\n","type":"boolean"},"tags":{"additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n","type":"object"},"type":{"description":"The type of the Virtual Desktop Host Pool.\n","type":"string"},"validateEnvironment":{"description":"Returns \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e if the Host Pool is in Validation mode.\n","type":"boolean"}},"required":["customRdpProperties","description","friendlyName","loadBalancerType","location","maximumSessionsAllowed","name","personalDesktopAssignmentType","preferredAppGroupType","resourceGroupName","scheduledAgentUpdates","startVmOnConnect","tags","type","validateEnvironment","id"],"type":"object"}},"azure:desktopvirtualization/getWorkspace:getWorkspace":{"description":"Use this data source to access information about an existing Virtual Desktop Workspace.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.desktopvirtualization.getWorkspace({\n    name: \"existing\",\n    resourceGroupName: \"existing\",\n});\nexport const id = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.desktopvirtualization.get_workspace(name=\"existing\",\n    resource_group_name=\"existing\")\npulumi.export(\"id\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.DesktopVirtualization.GetWorkspace.Invoke(new()\n    {\n        Name = \"existing\",\n        ResourceGroupName = \"existing\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"id\"] = example.Apply(getWorkspaceResult =\u003e getWorkspaceResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/desktopvirtualization\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := desktopvirtualization.LookupWorkspace(ctx, \u0026desktopvirtualization.LookupWorkspaceArgs{\n\t\t\tName:              \"existing\",\n\t\t\tResourceGroupName: \"existing\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"id\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.desktopvirtualization.DesktopvirtualizationFunctions;\nimport com.pulumi.azure.desktopvirtualization.inputs.GetWorkspaceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = DesktopvirtualizationFunctions.getWorkspace(GetWorkspaceArgs.builder()\n            .name(\"existing\")\n            .resourceGroupName(\"existing\")\n            .build());\n\n        ctx.export(\"id\", example.id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:desktopvirtualization:getWorkspace\n      arguments:\n        name: existing\n        resourceGroupName: existing\noutputs:\n  id: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.DesktopVirtualization` - 2024-04-03\n","inputs":{"description":"A collection of arguments for invoking getWorkspace.\n","properties":{"name":{"type":"string","description":"The name of this Virtual Desktop Workspace to retrieve.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Virtual Desktop Workspace exists.\n"}},"type":"object","required":["name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getWorkspace.\n","properties":{"description":{"description":"The description for the Virtual Desktop Workspace.\n","type":"string"},"friendlyName":{"description":"The friendly name for the Virtual Desktop Workspace.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"location":{"description":"The Azure Region where the Virtual Desktop Workspace exists.\n","type":"string"},"name":{"type":"string"},"publicNetworkAccessEnabled":{"description":"Is public network access enabled?\n","type":"boolean"},"resourceGroupName":{"type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"A mapping of tags assigned to the Virtual Desktop Workspace.\n","type":"object"}},"required":["description","friendlyName","location","name","publicNetworkAccessEnabled","resourceGroupName","tags","id"],"type":"object"}},"azure:devcenter/get:get":{"description":"Use this data source to access information about an existing Dev Center.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.devcenter.get({\n    name: \"example\",\n    resourceGroupName: \"example-resource-group\",\n});\nexport const id = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.devcenter.get(name=\"example\",\n    resource_group_name=\"example-resource-group\")\npulumi.export(\"id\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.DevCenter.Get.Invoke(new()\n    {\n        Name = \"example\",\n        ResourceGroupName = \"example-resource-group\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"id\"] = example.Apply(getResult =\u003e getResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/devcenter\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := devcenter.Get(ctx, \u0026devcenter.GetArgs{\n\t\t\tName:              \"example\",\n\t\t\tResourceGroupName: \"example-resource-group\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"id\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.devcenter.DevcenterFunctions;\nimport com.pulumi.azure.devcenter.inputs.GetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = DevcenterFunctions.get(GetArgs.builder()\n            .name(\"example\")\n            .resourceGroupName(\"example-resource-group\")\n            .build());\n\n        ctx.export(\"id\", example.id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:devcenter:get\n      arguments:\n        name: example\n        resourceGroupName: example-resource-group\noutputs:\n  id: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.DevCenter` - 2025-02-01\n","inputs":{"description":"A collection of arguments for invoking get.\n","properties":{"name":{"type":"string","description":"The name of this Dev Center.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Dev Center exists.\n"}},"type":"object","required":["name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by get.\n","properties":{"devCenterUri":{"description":"The URI of the Dev Center.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"identities":{"description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:devcenter/getIdentity:getIdentity"},"type":"array"},"location":{"description":"The Azure Region where the Dev Center exists.\n","type":"string"},"name":{"type":"string"},"resourceGroupName":{"type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"A mapping of tags assigned to the Dev Center.\n","type":"object"}},"required":["devCenterUri","identities","location","name","resourceGroupName","tags","id"],"type":"object"}},"azure:devcenter/getAttachedNetwork:getAttachedNetwork":{"description":"Use this data source to access information about an existing Dev Center Attached Network.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.devcenter.getAttachedNetwork({\n    name: exampleAzurermDevCenterAttachedNetwork.name,\n    devCenterId: exampleAzurermDevCenterAttachedNetwork.devCenterId,\n});\nexport const id = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.devcenter.get_attached_network(name=example_azurerm_dev_center_attached_network[\"name\"],\n    dev_center_id=example_azurerm_dev_center_attached_network[\"devCenterId\"])\npulumi.export(\"id\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.DevCenter.GetAttachedNetwork.Invoke(new()\n    {\n        Name = exampleAzurermDevCenterAttachedNetwork.Name,\n        DevCenterId = exampleAzurermDevCenterAttachedNetwork.DevCenterId,\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"id\"] = example.Apply(getAttachedNetworkResult =\u003e getAttachedNetworkResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/devcenter\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := devcenter.LookupAttachedNetwork(ctx, \u0026devcenter.LookupAttachedNetworkArgs{\n\t\t\tName:        exampleAzurermDevCenterAttachedNetwork.Name,\n\t\t\tDevCenterId: exampleAzurermDevCenterAttachedNetwork.DevCenterId,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"id\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.devcenter.DevcenterFunctions;\nimport com.pulumi.azure.devcenter.inputs.GetAttachedNetworkArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = DevcenterFunctions.getAttachedNetwork(GetAttachedNetworkArgs.builder()\n            .name(exampleAzurermDevCenterAttachedNetwork.name())\n            .devCenterId(exampleAzurermDevCenterAttachedNetwork.devCenterId())\n            .build());\n\n        ctx.export(\"id\", example.id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:devcenter:getAttachedNetwork\n      arguments:\n        name: ${exampleAzurermDevCenterAttachedNetwork.name}\n        devCenterId: ${exampleAzurermDevCenterAttachedNetwork.devCenterId}\noutputs:\n  id: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.DevCenter` - 2025-02-01\n","inputs":{"description":"A collection of arguments for invoking getAttachedNetwork.\n","properties":{"devCenterId":{"type":"string","description":"The ID of the associated Dev Center.\n"},"name":{"type":"string","description":"The name of this Dev Center Attached Network.\n"}},"type":"object","required":["devCenterId","name"]},"outputs":{"description":"A collection of values returned by getAttachedNetwork.\n","properties":{"devCenterId":{"type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"name":{"type":"string"},"networkConnectionId":{"description":"The ID of the attached Dev Center Network Connection.\n","type":"string"}},"required":["devCenterId","name","networkConnectionId","id"],"type":"object"}},"azure:devcenter/getCatalog:getCatalog":{"description":"Use this data source to access information about an existing Dev Center Catalog.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.devcenter.getCatalog({\n    name: exampleAzurermDevCenterCatalog.name,\n    devCenterId: exampleAzurermDevCenterCatalog.devCenterId,\n});\nexport const id = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.devcenter.get_catalog(name=example_azurerm_dev_center_catalog[\"name\"],\n    dev_center_id=example_azurerm_dev_center_catalog[\"devCenterId\"])\npulumi.export(\"id\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.DevCenter.GetCatalog.Invoke(new()\n    {\n        Name = exampleAzurermDevCenterCatalog.Name,\n        DevCenterId = exampleAzurermDevCenterCatalog.DevCenterId,\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"id\"] = example.Apply(getCatalogResult =\u003e getCatalogResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/devcenter\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := devcenter.LookupCatalog(ctx, \u0026devcenter.LookupCatalogArgs{\n\t\t\tName:        exampleAzurermDevCenterCatalog.Name,\n\t\t\tDevCenterId: exampleAzurermDevCenterCatalog.DevCenterId,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"id\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.devcenter.DevcenterFunctions;\nimport com.pulumi.azure.devcenter.inputs.GetCatalogArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = DevcenterFunctions.getCatalog(GetCatalogArgs.builder()\n            .name(exampleAzurermDevCenterCatalog.name())\n            .devCenterId(exampleAzurermDevCenterCatalog.devCenterId())\n            .build());\n\n        ctx.export(\"id\", example.id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:devcenter:getCatalog\n      arguments:\n        name: ${exampleAzurermDevCenterCatalog.name}\n        devCenterId: ${exampleAzurermDevCenterCatalog.devCenterId}\noutputs:\n  id: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.DevCenter` - 2025-02-01\n","inputs":{"description":"A collection of arguments for invoking getCatalog.\n","properties":{"devCenterId":{"type":"string","description":"Specifies the Dev Center Id within which this Dev Center Catalog should exist.\n"},"name":{"type":"string","description":"The name of this Dev Center Catalog.\n"}},"type":"object","required":["devCenterId","name"]},"outputs":{"description":"A collection of values returned by getCatalog.\n","properties":{"catalogAdogits":{"description":"A \u003cspan pulumi-lang-nodejs=\"`catalogAdogit`\" pulumi-lang-dotnet=\"`CatalogAdogit`\" pulumi-lang-go=\"`catalogAdogit`\" pulumi-lang-python=\"`catalog_adogit`\" pulumi-lang-yaml=\"`catalogAdogit`\" pulumi-lang-java=\"`catalogAdogit`\"\u003e`catalog_adogit`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:devcenter/getCatalogCatalogAdogit:getCatalogCatalogAdogit"},"type":"array"},"catalogGithubs":{"description":"A \u003cspan pulumi-lang-nodejs=\"`catalogGithub`\" pulumi-lang-dotnet=\"`CatalogGithub`\" pulumi-lang-go=\"`catalogGithub`\" pulumi-lang-python=\"`catalog_github`\" pulumi-lang-yaml=\"`catalogGithub`\" pulumi-lang-java=\"`catalogGithub`\"\u003e`catalog_github`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:devcenter/getCatalogCatalogGithub:getCatalogCatalogGithub"},"type":"array"},"devCenterId":{"type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"name":{"type":"string"}},"required":["catalogAdogits","catalogGithubs","devCenterId","name","id"],"type":"object"}},"azure:devcenter/getDevBoxDefinition:getDevBoxDefinition":{"description":"Use this data source to access information about an existing Dev Center Dev Box Definition.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.devcenter.getDevBoxDefinition({\n    name: exampleAzurermDevCenterDevBoxDefinition.name,\n    devCenterId: exampleAzurermDevCenterDevBoxDefinition.devCenterId,\n});\nexport const id = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.devcenter.get_dev_box_definition(name=example_azurerm_dev_center_dev_box_definition[\"name\"],\n    dev_center_id=example_azurerm_dev_center_dev_box_definition[\"devCenterId\"])\npulumi.export(\"id\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.DevCenter.GetDevBoxDefinition.Invoke(new()\n    {\n        Name = exampleAzurermDevCenterDevBoxDefinition.Name,\n        DevCenterId = exampleAzurermDevCenterDevBoxDefinition.DevCenterId,\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"id\"] = example.Apply(getDevBoxDefinitionResult =\u003e getDevBoxDefinitionResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/devcenter\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := devcenter.LookupDevBoxDefinition(ctx, \u0026devcenter.LookupDevBoxDefinitionArgs{\n\t\t\tName:        exampleAzurermDevCenterDevBoxDefinition.Name,\n\t\t\tDevCenterId: exampleAzurermDevCenterDevBoxDefinition.DevCenterId,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"id\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.devcenter.DevcenterFunctions;\nimport com.pulumi.azure.devcenter.inputs.GetDevBoxDefinitionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = DevcenterFunctions.getDevBoxDefinition(GetDevBoxDefinitionArgs.builder()\n            .name(exampleAzurermDevCenterDevBoxDefinition.name())\n            .devCenterId(exampleAzurermDevCenterDevBoxDefinition.devCenterId())\n            .build());\n\n        ctx.export(\"id\", example.id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:devcenter:getDevBoxDefinition\n      arguments:\n        name: ${exampleAzurermDevCenterDevBoxDefinition.name}\n        devCenterId: ${exampleAzurermDevCenterDevBoxDefinition.devCenterId}\noutputs:\n  id: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.DevCenter` - 2025-02-01\n","inputs":{"description":"A collection of arguments for invoking getDevBoxDefinition.\n","properties":{"devCenterId":{"type":"string","description":"The ID of the associated Dev Center.\n"},"name":{"type":"string","description":"The name of this Dev Center Dev Box Definition.\n"}},"type":"object","required":["devCenterId","name"]},"outputs":{"description":"A collection of values returned by getDevBoxDefinition.\n","properties":{"devCenterId":{"type":"string"},"hibernateSupportEnabled":{"description":"Whether Dev Boxes created with this definition are capable of hibernation.\n","type":"boolean"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"imageReferenceId":{"description":"The ID of the image for the Dev Center Dev Box Definition.\n","type":"string"},"location":{"description":"The Azure Region where the Dev Center Dev Box Definition exists.\n","type":"string"},"name":{"type":"string"},"skuName":{"description":"The name of the SKU for the Dev Center Dev Box Definition.\n","type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"A mapping of tags assigned to the Dev Center Dev Box Definition.\n","type":"object"}},"required":["devCenterId","hibernateSupportEnabled","imageReferenceId","location","name","skuName","tags","id"],"type":"object"}},"azure:devcenter/getEnvironmentType:getEnvironmentType":{"description":"Use this data source to access information about an existing Dev Center Environment Type.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.devcenter.getEnvironmentType({\n    name: exampleAzurermDevCenterEnvironmentType.name,\n    devCenterId: exampleAzurermDevCenterEnvironmentType.devCenterId,\n});\nexport const id = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.devcenter.get_environment_type(name=example_azurerm_dev_center_environment_type[\"name\"],\n    dev_center_id=example_azurerm_dev_center_environment_type[\"devCenterId\"])\npulumi.export(\"id\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.DevCenter.GetEnvironmentType.Invoke(new()\n    {\n        Name = exampleAzurermDevCenterEnvironmentType.Name,\n        DevCenterId = exampleAzurermDevCenterEnvironmentType.DevCenterId,\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"id\"] = example.Apply(getEnvironmentTypeResult =\u003e getEnvironmentTypeResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/devcenter\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := devcenter.LookupEnvironmentType(ctx, \u0026devcenter.LookupEnvironmentTypeArgs{\n\t\t\tName:        exampleAzurermDevCenterEnvironmentType.Name,\n\t\t\tDevCenterId: exampleAzurermDevCenterEnvironmentType.DevCenterId,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"id\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.devcenter.DevcenterFunctions;\nimport com.pulumi.azure.devcenter.inputs.GetEnvironmentTypeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = DevcenterFunctions.getEnvironmentType(GetEnvironmentTypeArgs.builder()\n            .name(exampleAzurermDevCenterEnvironmentType.name())\n            .devCenterId(exampleAzurermDevCenterEnvironmentType.devCenterId())\n            .build());\n\n        ctx.export(\"id\", example.id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:devcenter:getEnvironmentType\n      arguments:\n        name: ${exampleAzurermDevCenterEnvironmentType.name}\n        devCenterId: ${exampleAzurermDevCenterEnvironmentType.devCenterId}\noutputs:\n  id: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.DevCenter` - 2025-02-01\n","inputs":{"description":"A collection of arguments for invoking getEnvironmentType.\n","properties":{"devCenterId":{"type":"string","description":"The ID of the associated Dev Center.\n"},"name":{"type":"string","description":"The name of this Dev Center Environment Type.\n"}},"type":"object","required":["devCenterId","name"]},"outputs":{"description":"A collection of values returned by getEnvironmentType.\n","properties":{"devCenterId":{"type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"name":{"type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"A mapping of tags assigned to the Dev Center Environment Type.\n","type":"object"}},"required":["devCenterId","name","tags","id"],"type":"object"}},"azure:devcenter/getGallery:getGallery":{"description":"Use this data source to access information about an existing Dev Center Gallery.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.devcenter.getGallery({\n    name: exampleAzurermDevCenterGallery.name,\n    devCenterId: exampleAzurermDevCenterGallery.devCenterId,\n});\nexport const id = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.devcenter.get_gallery(name=example_azurerm_dev_center_gallery[\"name\"],\n    dev_center_id=example_azurerm_dev_center_gallery[\"devCenterId\"])\npulumi.export(\"id\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.DevCenter.GetGallery.Invoke(new()\n    {\n        Name = exampleAzurermDevCenterGallery.Name,\n        DevCenterId = exampleAzurermDevCenterGallery.DevCenterId,\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"id\"] = example.Apply(getGalleryResult =\u003e getGalleryResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/devcenter\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := devcenter.LookupGallery(ctx, \u0026devcenter.LookupGalleryArgs{\n\t\t\tName:        exampleAzurermDevCenterGallery.Name,\n\t\t\tDevCenterId: exampleAzurermDevCenterGallery.DevCenterId,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"id\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.devcenter.DevcenterFunctions;\nimport com.pulumi.azure.devcenter.inputs.GetGalleryArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = DevcenterFunctions.getGallery(GetGalleryArgs.builder()\n            .name(exampleAzurermDevCenterGallery.name())\n            .devCenterId(exampleAzurermDevCenterGallery.devCenterId())\n            .build());\n\n        ctx.export(\"id\", example.id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:devcenter:getGallery\n      arguments:\n        name: ${exampleAzurermDevCenterGallery.name}\n        devCenterId: ${exampleAzurermDevCenterGallery.devCenterId}\noutputs:\n  id: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.DevCenter` - 2025-02-01\n","inputs":{"description":"A collection of arguments for invoking getGallery.\n","properties":{"devCenterId":{"type":"string","description":"The ID of the Dev Center which contains the Dev Center Gallery.\n"},"name":{"type":"string","description":"The name of this Dev Center Gallery.\n"}},"type":"object","required":["devCenterId","name"]},"outputs":{"description":"A collection of values returned by getGallery.\n","properties":{"devCenterId":{"type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"name":{"type":"string"},"sharedGalleryId":{"description":"The ID of the Shared Gallery connected to the Dev Center Gallery.\n","type":"string"}},"required":["devCenterId","name","sharedGalleryId","id"],"type":"object"}},"azure:devcenter/getNetworkConnection:getNetworkConnection":{"description":"Use this data source to access information about an existing Dev Center Network Connection.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.devcenter.getNetworkConnection({\n    name: \"example\",\n    resourceGroupName: \"example-resource-group\",\n});\nexport const id = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.devcenter.get_network_connection(name=\"example\",\n    resource_group_name=\"example-resource-group\")\npulumi.export(\"id\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.DevCenter.GetNetworkConnection.Invoke(new()\n    {\n        Name = \"example\",\n        ResourceGroupName = \"example-resource-group\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"id\"] = example.Apply(getNetworkConnectionResult =\u003e getNetworkConnectionResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/devcenter\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := devcenter.LookupNetworkConnection(ctx, \u0026devcenter.LookupNetworkConnectionArgs{\n\t\t\tName:              \"example\",\n\t\t\tResourceGroupName: \"example-resource-group\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"id\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.devcenter.DevcenterFunctions;\nimport com.pulumi.azure.devcenter.inputs.GetNetworkConnectionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = DevcenterFunctions.getNetworkConnection(GetNetworkConnectionArgs.builder()\n            .name(\"example\")\n            .resourceGroupName(\"example-resource-group\")\n            .build());\n\n        ctx.export(\"id\", example.id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:devcenter:getNetworkConnection\n      arguments:\n        name: example\n        resourceGroupName: example-resource-group\noutputs:\n  id: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.DevCenter` - 2025-02-01\n","inputs":{"description":"A collection of arguments for invoking getNetworkConnection.\n","properties":{"name":{"type":"string","description":"The name of this Dev Center Network Connection.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Dev Center Network Connection exists.\n"}},"type":"object","required":["name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getNetworkConnection.\n","properties":{"domainJoinType":{"description":"The Azure Active Directory Join type.\n","type":"string"},"domainName":{"description":"The name of the Azure Active Directory domain.\n","type":"string"},"domainUsername":{"description":"The username of the Azure Active Directory account (user or service account) that has permissions to create computer objects in Active Directory.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"location":{"description":"The Azure Region where the Dev Center Network Connection exists.\n","type":"string"},"name":{"type":"string"},"organizationUnit":{"description":"The Azure Active Directory domain Organization Unit (OU).\n","type":"string"},"resourceGroupName":{"type":"string"},"subnetId":{"description":"The ID of the Subnet that is used to attach Virtual Machines.\n","type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"A mapping of tags assigned to the Dev Center Network Connection.\n","type":"object"}},"required":["domainJoinType","domainName","domainUsername","location","name","organizationUnit","resourceGroupName","subnetId","tags","id"],"type":"object"}},"azure:devcenter/getProject:getProject":{"description":"Use this data source to access information about an existing Dev Center Project.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.devcenter.getProject({\n    name: \"example\",\n    resourceGroupName: \"example-resource-group\",\n});\nexport const id = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.devcenter.get_project(name=\"example\",\n    resource_group_name=\"example-resource-group\")\npulumi.export(\"id\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.DevCenter.GetProject.Invoke(new()\n    {\n        Name = \"example\",\n        ResourceGroupName = \"example-resource-group\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"id\"] = example.Apply(getProjectResult =\u003e getProjectResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/devcenter\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := devcenter.LookupProject(ctx, \u0026devcenter.LookupProjectArgs{\n\t\t\tName:              \"example\",\n\t\t\tResourceGroupName: \"example-resource-group\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"id\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.devcenter.DevcenterFunctions;\nimport com.pulumi.azure.devcenter.inputs.GetProjectArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = DevcenterFunctions.getProject(GetProjectArgs.builder()\n            .name(\"example\")\n            .resourceGroupName(\"example-resource-group\")\n            .build());\n\n        ctx.export(\"id\", example.id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:devcenter:getProject\n      arguments:\n        name: example\n        resourceGroupName: example-resource-group\noutputs:\n  id: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.DevCenter` - 2025-02-01\n","inputs":{"description":"A collection of arguments for invoking getProject.\n","properties":{"name":{"type":"string","description":"The name of this Dev Center Project.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Dev Center Project exists.\n"}},"type":"object","required":["name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getProject.\n","properties":{"description":{"description":"The description of the Dev Center Project.\n","type":"string"},"devCenterId":{"description":"The ID of the associated Dev Center.\n","type":"string"},"devCenterUri":{"description":"The URI of the Dev Center.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"identities":{"description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:devcenter/getProjectIdentity:getProjectIdentity"},"type":"array"},"location":{"description":"The Azure Region where the Dev Center Project exists.\n","type":"string"},"maximumDevBoxesPerUser":{"description":"The maximum number of Dev Boxes a single user can create across all pools in the project.\n","type":"integer"},"name":{"type":"string"},"resourceGroupName":{"type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"A mapping of tags assigned to the Dev Center Project.\n","type":"object"}},"required":["description","devCenterId","devCenterUri","identities","location","maximumDevBoxesPerUser","name","resourceGroupName","tags","id"],"type":"object"}},"azure:devcenter/getProjectEnvironmentType:getProjectEnvironmentType":{"description":"Use this data source to access information about an existing Dev Center Project Environment Type.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.devcenter.getProjectEnvironmentType({\n    name: exampleAzurermDevCenterProjectEnvironmentType.name,\n    devCenterProjectId: exampleAzurermDevCenterProjectEnvironmentType.devCenterProjectId,\n});\nexport const id = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.devcenter.get_project_environment_type(name=example_azurerm_dev_center_project_environment_type[\"name\"],\n    dev_center_project_id=example_azurerm_dev_center_project_environment_type[\"devCenterProjectId\"])\npulumi.export(\"id\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.DevCenter.GetProjectEnvironmentType.Invoke(new()\n    {\n        Name = exampleAzurermDevCenterProjectEnvironmentType.Name,\n        DevCenterProjectId = exampleAzurermDevCenterProjectEnvironmentType.DevCenterProjectId,\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"id\"] = example.Apply(getProjectEnvironmentTypeResult =\u003e getProjectEnvironmentTypeResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/devcenter\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := devcenter.LookupProjectEnvironmentType(ctx, \u0026devcenter.LookupProjectEnvironmentTypeArgs{\n\t\t\tName:               exampleAzurermDevCenterProjectEnvironmentType.Name,\n\t\t\tDevCenterProjectId: exampleAzurermDevCenterProjectEnvironmentType.DevCenterProjectId,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"id\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.devcenter.DevcenterFunctions;\nimport com.pulumi.azure.devcenter.inputs.GetProjectEnvironmentTypeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = DevcenterFunctions.getProjectEnvironmentType(GetProjectEnvironmentTypeArgs.builder()\n            .name(exampleAzurermDevCenterProjectEnvironmentType.name())\n            .devCenterProjectId(exampleAzurermDevCenterProjectEnvironmentType.devCenterProjectId())\n            .build());\n\n        ctx.export(\"id\", example.id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:devcenter:getProjectEnvironmentType\n      arguments:\n        name: ${exampleAzurermDevCenterProjectEnvironmentType.name}\n        devCenterProjectId: ${exampleAzurermDevCenterProjectEnvironmentType.devCenterProjectId}\noutputs:\n  id: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.DevCenter` - 2025-02-01\n","inputs":{"description":"A collection of arguments for invoking getProjectEnvironmentType.\n","properties":{"devCenterProjectId":{"type":"string","description":"The ID of the associated Dev Center Project.\n"},"name":{"type":"string","description":"The name of this Dev Center Project Environment Type.\n"}},"type":"object","required":["devCenterProjectId","name"]},"outputs":{"description":"A collection of values returned by getProjectEnvironmentType.\n","properties":{"creatorRoleAssignmentRoles":{"description":"A list of roles assigned to the environment creator.\n","items":{"type":"string"},"type":"array"},"deploymentTargetId":{"description":"The ID of the subscription that the Environment Type is mapped to.\n","type":"string"},"devCenterProjectId":{"type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"identities":{"description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:devcenter/getProjectEnvironmentTypeIdentity:getProjectEnvironmentTypeIdentity"},"type":"array"},"location":{"description":"The Azure Region where the Dev Center Project Environment Type exists.\n","type":"string"},"name":{"type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"A mapping of tags assigned to the Dev Center Project Environment Type.\n","type":"object"},"userRoleAssignments":{"description":"A \u003cspan pulumi-lang-nodejs=\"`userRoleAssignment`\" pulumi-lang-dotnet=\"`UserRoleAssignment`\" pulumi-lang-go=\"`userRoleAssignment`\" pulumi-lang-python=\"`user_role_assignment`\" pulumi-lang-yaml=\"`userRoleAssignment`\" pulumi-lang-java=\"`userRoleAssignment`\"\u003e`user_role_assignment`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:devcenter/getProjectEnvironmentTypeUserRoleAssignment:getProjectEnvironmentTypeUserRoleAssignment"},"type":"array"}},"required":["creatorRoleAssignmentRoles","deploymentTargetId","devCenterProjectId","identities","location","name","tags","userRoleAssignments","id"],"type":"object"}},"azure:devcenter/getProjectPool:getProjectPool":{"description":"Use this data source to access information about an existing Dev Center Project Pool.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.devcenter.getProjectPool({\n    name: exampleAzurermDevCenterProjectPool.name,\n    devCenterProjectId: exampleAzurermDevCenterProjectPool.devCenterProjectId,\n});\nexport const id = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.devcenter.get_project_pool(name=example_azurerm_dev_center_project_pool[\"name\"],\n    dev_center_project_id=example_azurerm_dev_center_project_pool[\"devCenterProjectId\"])\npulumi.export(\"id\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.DevCenter.GetProjectPool.Invoke(new()\n    {\n        Name = exampleAzurermDevCenterProjectPool.Name,\n        DevCenterProjectId = exampleAzurermDevCenterProjectPool.DevCenterProjectId,\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"id\"] = example.Apply(getProjectPoolResult =\u003e getProjectPoolResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/devcenter\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := devcenter.LookupProjectPool(ctx, \u0026devcenter.LookupProjectPoolArgs{\n\t\t\tName:               exampleAzurermDevCenterProjectPool.Name,\n\t\t\tDevCenterProjectId: exampleAzurermDevCenterProjectPool.DevCenterProjectId,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"id\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.devcenter.DevcenterFunctions;\nimport com.pulumi.azure.devcenter.inputs.GetProjectPoolArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = DevcenterFunctions.getProjectPool(GetProjectPoolArgs.builder()\n            .name(exampleAzurermDevCenterProjectPool.name())\n            .devCenterProjectId(exampleAzurermDevCenterProjectPool.devCenterProjectId())\n            .build());\n\n        ctx.export(\"id\", example.id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:devcenter:getProjectPool\n      arguments:\n        name: ${exampleAzurermDevCenterProjectPool.name}\n        devCenterProjectId: ${exampleAzurermDevCenterProjectPool.devCenterProjectId}\noutputs:\n  id: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.DevCenter` - 2025-02-01\n","inputs":{"description":"A collection of arguments for invoking getProjectPool.\n","properties":{"devCenterProjectId":{"type":"string","description":"The ID of the associated Dev Center Project.\n"},"name":{"type":"string","description":"The name of this Dev Center Project Pool.\n"}},"type":"object","required":["devCenterProjectId","name"]},"outputs":{"description":"A collection of values returned by getProjectPool.\n","properties":{"devBoxDefinitionName":{"description":"The name of the Dev Center Dev Box Definition.\n","type":"string"},"devCenterAttachedNetworkName":{"description":"The name of the Dev Center Attached Network in parent Project of the Dev Center Project Pool.\n","type":"string"},"devCenterProjectId":{"type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"localAdministratorEnabled":{"description":"Specifies whether owners of Dev Boxes in the Dev Center Project Pool are added as local administrators on the Dev Box.\n","type":"boolean"},"location":{"description":"The Azure Region where the Dev Center Project Pool exists.\n","type":"string"},"name":{"type":"string"},"singleSignOnEnabled":{"description":"Specifies whether Dev Boxes in the Pool will have SSO enabled or disabled.\n","type":"boolean"},"stopOnDisconnectGracePeriodMinutes":{"description":"The specified time in minutes to wait before stopping a Dev Center Dev Box once disconnect is detected.\n","type":"integer"},"tags":{"additionalProperties":{"type":"string"},"description":"A mapping of tags assigned to the Dev Center Project Pool.\n","type":"object"}},"required":["devBoxDefinitionName","devCenterAttachedNetworkName","devCenterProjectId","localAdministratorEnabled","location","name","singleSignOnEnabled","stopOnDisconnectGracePeriodMinutes","tags","id"],"type":"object"}},"azure:devtest/getLab:getLab":{"description":"Use this data source to access information about an existing Dev Test Lab.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.devtest.getLab({\n    name: \"example-lab\",\n    resourceGroupName: \"example-resources\",\n});\nexport const uniqueIdentifier = example.then(example =\u003e example.uniqueIdentifier);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.devtest.get_lab(name=\"example-lab\",\n    resource_group_name=\"example-resources\")\npulumi.export(\"uniqueIdentifier\", example.unique_identifier)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.DevTest.GetLab.Invoke(new()\n    {\n        Name = \"example-lab\",\n        ResourceGroupName = \"example-resources\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"uniqueIdentifier\"] = example.Apply(getLabResult =\u003e getLabResult.UniqueIdentifier),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/devtest\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := devtest.LookupLab(ctx, \u0026devtest.LookupLabArgs{\n\t\t\tName:              \"example-lab\",\n\t\t\tResourceGroupName: \"example-resources\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"uniqueIdentifier\", example.UniqueIdentifier)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.devtest.DevtestFunctions;\nimport com.pulumi.azure.devtest.inputs.GetLabArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = DevtestFunctions.getLab(GetLabArgs.builder()\n            .name(\"example-lab\")\n            .resourceGroupName(\"example-resources\")\n            .build());\n\n        ctx.export(\"uniqueIdentifier\", example.uniqueIdentifier());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:devtest:getLab\n      arguments:\n        name: example-lab\n        resourceGroupName: example-resources\noutputs:\n  uniqueIdentifier: ${example.uniqueIdentifier}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.DevTestLab` - 2018-09-15\n","inputs":{"description":"A collection of arguments for invoking getLab.\n","properties":{"name":{"type":"string","description":"The name of the Dev Test Lab.\n"},"resourceGroupName":{"type":"string","description":"The Name of the Resource Group where the Dev Test Lab exists.\n"}},"type":"object","required":["name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getLab.\n","properties":{"artifactsStorageAccountId":{"description":"The ID of the Storage Account used for Artifact Storage.\n","type":"string"},"defaultPremiumStorageAccountId":{"description":"The ID of the Default Premium Storage Account for this Dev Test Lab.\n","type":"string"},"defaultStorageAccountId":{"description":"The ID of the Default Storage Account for this Dev Test Lab.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"keyVaultId":{"description":"The ID of the Key used for this Dev Test Lab.\n","type":"string"},"location":{"description":"The Azure location where the Dev Test Lab exists.\n","type":"string"},"name":{"type":"string"},"premiumDataDiskStorageAccountId":{"description":"The ID of the Storage Account used for Storage of Premium Data Disk.\n","type":"string"},"resourceGroupName":{"type":"string"},"storageType":{"description":"The type of storage used by the Dev Test Lab.\n","type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n","type":"object"},"uniqueIdentifier":{"description":"The unique immutable identifier of the Dev Test Lab.\n","type":"string"}},"required":["artifactsStorageAccountId","defaultPremiumStorageAccountId","defaultStorageAccountId","keyVaultId","location","name","premiumDataDiskStorageAccountId","resourceGroupName","storageType","tags","uniqueIdentifier","id"],"type":"object"}},"azure:devtest/getVirtualNetwork:getVirtualNetwork":{"description":"Use this data source to access information about an existing Dev Test Lab Virtual Network.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.devtest.getVirtualNetwork({\n    name: \"example-network\",\n    labName: \"examplelab\",\n    resourceGroupName: \"example-resource\",\n});\nexport const labSubnetName = example.then(example =\u003e example.allowedSubnets?.[0]?.labSubnetName);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.devtest.get_virtual_network(name=\"example-network\",\n    lab_name=\"examplelab\",\n    resource_group_name=\"example-resource\")\npulumi.export(\"labSubnetName\", example.allowed_subnets[0].lab_subnet_name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.DevTest.GetVirtualNetwork.Invoke(new()\n    {\n        Name = \"example-network\",\n        LabName = \"examplelab\",\n        ResourceGroupName = \"example-resource\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"labSubnetName\"] = example.Apply(getVirtualNetworkResult =\u003e getVirtualNetworkResult.AllowedSubnets[0]?.LabSubnetName),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/devtest\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := devtest.LookupVirtualNetwork(ctx, \u0026devtest.LookupVirtualNetworkArgs{\n\t\t\tName:              \"example-network\",\n\t\t\tLabName:           \"examplelab\",\n\t\t\tResourceGroupName: \"example-resource\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"labSubnetName\", example.AllowedSubnets[0].LabSubnetName)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.devtest.DevtestFunctions;\nimport com.pulumi.azure.devtest.inputs.GetVirtualNetworkArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = DevtestFunctions.getVirtualNetwork(GetVirtualNetworkArgs.builder()\n            .name(\"example-network\")\n            .labName(\"examplelab\")\n            .resourceGroupName(\"example-resource\")\n            .build());\n\n        ctx.export(\"labSubnetName\", example.allowedSubnets()[0].labSubnetName());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:devtest:getVirtualNetwork\n      arguments:\n        name: example-network\n        labName: examplelab\n        resourceGroupName: example-resource\noutputs:\n  labSubnetName: ${example.allowedSubnets[0].labSubnetName}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.DevTestLab` - 2018-09-15\n","inputs":{"description":"A collection of arguments for invoking getVirtualNetwork.\n","properties":{"labName":{"type":"string","description":"Specifies the name of the Dev Test Lab.\n"},"name":{"type":"string","description":"Specifies the name of the Virtual Network.\n"},"resourceGroupName":{"type":"string","description":"Specifies the name of the resource group that contains the Virtual Network.\n"}},"type":"object","required":["labName","name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getVirtualNetwork.\n","properties":{"allowedSubnets":{"description":"The list of subnets enabled for the virtual network as defined below.\n","items":{"$ref":"#/types/azure:devtest/getVirtualNetworkAllowedSubnet:getVirtualNetworkAllowedSubnet"},"type":"array"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"labName":{"type":"string"},"name":{"type":"string"},"resourceGroupName":{"type":"string"},"subnetOverrides":{"description":"The list of permission overrides for the subnets as defined below.\n","items":{"$ref":"#/types/azure:devtest/getVirtualNetworkSubnetOverride:getVirtualNetworkSubnetOverride"},"type":"array"},"uniqueIdentifier":{"description":"The unique immutable identifier of the virtual network.\n","type":"string"}},"required":["allowedSubnets","labName","name","resourceGroupName","subnetOverrides","uniqueIdentifier","id"],"type":"object"}},"azure:digitaltwins/getInstance:getInstance":{"description":"Use this data source to access information about an existing Digital Twins instance.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.digitaltwins.getInstance({\n    name: \"existing-digital-twins\",\n    resourceGroupName: \"existing-resgroup\",\n});\nexport const id = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.digitaltwins.get_instance(name=\"existing-digital-twins\",\n    resource_group_name=\"existing-resgroup\")\npulumi.export(\"id\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.DigitalTwins.GetInstance.Invoke(new()\n    {\n        Name = \"existing-digital-twins\",\n        ResourceGroupName = \"existing-resgroup\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"id\"] = example.Apply(getInstanceResult =\u003e getInstanceResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/digitaltwins\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := digitaltwins.LookupInstance(ctx, \u0026digitaltwins.LookupInstanceArgs{\n\t\t\tName:              \"existing-digital-twins\",\n\t\t\tResourceGroupName: \"existing-resgroup\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"id\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.digitaltwins.DigitaltwinsFunctions;\nimport com.pulumi.azure.digitaltwins.inputs.GetInstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = DigitaltwinsFunctions.getInstance(GetInstanceArgs.builder()\n            .name(\"existing-digital-twins\")\n            .resourceGroupName(\"existing-resgroup\")\n            .build());\n\n        ctx.export(\"id\", example.id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:digitaltwins:getInstance\n      arguments:\n        name: existing-digital-twins\n        resourceGroupName: existing-resgroup\noutputs:\n  id: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.DigitalTwins` - 2023-01-31\n","inputs":{"description":"A collection of arguments for invoking getInstance.\n","properties":{"name":{"type":"string","description":"The name of this Digital Twins instance.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Digital Twins instance exists.\n"}},"type":"object","required":["name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getInstance.\n","properties":{"hostName":{"description":"The API endpoint to work with this Digital Twins instance.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"location":{"description":"The Azure Region where the Digital Twins instance exists.\n","type":"string"},"name":{"type":"string"},"resourceGroupName":{"type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"A mapping of tags assigned to the Digital Twins instance.\n","type":"object"}},"required":["hostName","location","name","resourceGroupName","tags","id"],"type":"object"}},"azure:dns/getAAAARecord:getAAAARecord":{"description":"Use this data source to access information about an existing DNS AAAA Record within Azure DNS.\n\n\u003e **Note:** [The Azure DNS API has a throttle limit of 500 read (GET) operations per 5 minutes](https://docs.microsoft.com/azure/azure-resource-manager/management/request-limits-and-throttling#network-throttling) - whilst the default read timeouts will work for most cases - in larger configurations you may need to set a larger read timeout then the default 5min. Although, we'd generally recommend that you split the resources out into smaller Terraform configurations to avoid the problem entirely.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.dns.getAAAARecord({\n    name: \"test\",\n    zoneName: \"test-zone\",\n    resourceGroupName: \"test-rg\",\n});\nexport const dnsAaaaRecordId = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.dns.get_aaaa_record(name=\"test\",\n    zone_name=\"test-zone\",\n    resource_group_name=\"test-rg\")\npulumi.export(\"dnsAaaaRecordId\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Dns.GetAAAARecord.Invoke(new()\n    {\n        Name = \"test\",\n        ZoneName = \"test-zone\",\n        ResourceGroupName = \"test-rg\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"dnsAaaaRecordId\"] = example.Apply(getAAAARecordResult =\u003e getAAAARecordResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/dns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := dns.GetAAAARecord(ctx, \u0026dns.GetAAAARecordArgs{\n\t\t\tName:              \"test\",\n\t\t\tZoneName:          \"test-zone\",\n\t\t\tResourceGroupName: \"test-rg\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"dnsAaaaRecordId\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.dns.DnsFunctions;\nimport com.pulumi.azure.dns.inputs.GetAAAARecordArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = DnsFunctions.getAAAARecord(GetAAAARecordArgs.builder()\n            .name(\"test\")\n            .zoneName(\"test-zone\")\n            .resourceGroupName(\"test-rg\")\n            .build());\n\n        ctx.export(\"dnsAaaaRecordId\", example.id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:dns:getAAAARecord\n      arguments:\n        name: test\n        zoneName: test-zone\n        resourceGroupName: test-rg\noutputs:\n  dnsAaaaRecordId: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2018-05-01\n","inputs":{"description":"A collection of arguments for invoking getAAAARecord.\n","properties":{"name":{"type":"string","description":"The name of the DNS AAAA Record.\n"},"resourceGroupName":{"type":"string","description":"Specifies the resource group where the DNS Zone (parent resource) exists.\n"},"zoneName":{"type":"string","description":"Specifies the DNS Zone where the resource exists.\n"}},"type":"object","required":["name","resourceGroupName","zoneName"]},"outputs":{"description":"A collection of values returned by getAAAARecord.\n","properties":{"fqdn":{"description":"The FQDN of the DNS AAAA Record.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"name":{"type":"string"},"records":{"description":"List of IPv6 Addresses.\n","items":{"type":"string"},"type":"array"},"resourceGroupName":{"type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"A mapping of tags assigned to the resource.\n","type":"object"},"targetResourceId":{"description":"The Azure resource id of the target object from where the dns resource value is taken.\n","type":"string"},"ttl":{"description":"The Time To Live (TTL) of the DNS record in seconds.\n","type":"integer"},"zoneName":{"type":"string"}},"required":["fqdn","name","records","resourceGroupName","tags","targetResourceId","ttl","zoneName","id"],"type":"object"}},"azure:dns/getARecord:getARecord":{"description":"Use this data source to access information about an existing DNS A Record within Azure DNS.\n\n\u003e **Note:** [The Azure DNS API has a throttle limit of 500 read (GET) operations per 5 minutes](https://docs.microsoft.com/azure/azure-resource-manager/management/request-limits-and-throttling#network-throttling) - whilst the default read timeouts will work for most cases - in larger configurations you may need to set a larger read timeout then the default 5min. Although, we'd generally recommend that you split the resources out into smaller Terraform configurations to avoid the problem entirely.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.dns.getARecord({\n    name: \"test\",\n    zoneName: \"test-zone\",\n    resourceGroupName: \"test-rg\",\n});\nexport const dnsARecordId = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.dns.get_a_record(name=\"test\",\n    zone_name=\"test-zone\",\n    resource_group_name=\"test-rg\")\npulumi.export(\"dnsARecordId\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Dns.GetARecord.Invoke(new()\n    {\n        Name = \"test\",\n        ZoneName = \"test-zone\",\n        ResourceGroupName = \"test-rg\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"dnsARecordId\"] = example.Apply(getARecordResult =\u003e getARecordResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/dns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := dns.LookupARecord(ctx, \u0026dns.LookupARecordArgs{\n\t\t\tName:              \"test\",\n\t\t\tZoneName:          \"test-zone\",\n\t\t\tResourceGroupName: \"test-rg\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"dnsARecordId\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.dns.DnsFunctions;\nimport com.pulumi.azure.dns.inputs.GetARecordArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = DnsFunctions.getARecord(GetARecordArgs.builder()\n            .name(\"test\")\n            .zoneName(\"test-zone\")\n            .resourceGroupName(\"test-rg\")\n            .build());\n\n        ctx.export(\"dnsARecordId\", example.id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:dns:getARecord\n      arguments:\n        name: test\n        zoneName: test-zone\n        resourceGroupName: test-rg\noutputs:\n  dnsARecordId: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2018-05-01\n","inputs":{"description":"A collection of arguments for invoking getARecord.\n","properties":{"name":{"type":"string","description":"The name of the DNS A Record.\n"},"resourceGroupName":{"type":"string","description":"Specifies the resource group where the DNS Zone (parent resource) exists.\n"},"zoneName":{"type":"string","description":"Specifies the DNS Zone where the resource exists.\n"}},"type":"object","required":["name","resourceGroupName","zoneName"]},"outputs":{"description":"A collection of values returned by getARecord.\n","properties":{"fqdn":{"description":"The FQDN of the DNS A Record.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"name":{"type":"string"},"records":{"description":"List of IPv4 Addresses.\n","items":{"type":"string"},"type":"array"},"resourceGroupName":{"type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"A mapping of tags assigned to the DNS A Record.\n","type":"object"},"targetResourceId":{"description":"The Azure resource id of the target object from where the dns resource value is taken.\n","type":"string"},"ttl":{"description":"The Time To Live (TTL) of the DNS record in seconds.\n","type":"integer"},"zoneName":{"type":"string"}},"required":["fqdn","name","records","resourceGroupName","tags","targetResourceId","ttl","zoneName","id"],"type":"object"}},"azure:dns/getCAARecord:getCAARecord":{"description":"Use this data source to access information about an existing DNS CAA Record within Azure DNS.\n\n\u003e **Note:** [The Azure DNS API has a throttle limit of 500 read (GET) operations per 5 minutes](https://docs.microsoft.com/azure/azure-resource-manager/management/request-limits-and-throttling#network-throttling) - whilst the default read timeouts will work for most cases - in larger configurations you may need to set a larger read timeout then the default 5min. Although, we'd generally recommend that you split the resources out into smaller Terraform configurations to avoid the problem entirely.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.dns.getCAARecord({\n    name: \"test\",\n    zoneName: \"test-zone\",\n    resourceGroupName: \"test-rg\",\n});\nexport const dnsCaaRecordId = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.dns.get_caa_record(name=\"test\",\n    zone_name=\"test-zone\",\n    resource_group_name=\"test-rg\")\npulumi.export(\"dnsCaaRecordId\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Dns.GetCAARecord.Invoke(new()\n    {\n        Name = \"test\",\n        ZoneName = \"test-zone\",\n        ResourceGroupName = \"test-rg\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"dnsCaaRecordId\"] = example.Apply(getCAARecordResult =\u003e getCAARecordResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/dns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := dns.GetCAARecord(ctx, \u0026dns.GetCAARecordArgs{\n\t\t\tName:              \"test\",\n\t\t\tZoneName:          \"test-zone\",\n\t\t\tResourceGroupName: \"test-rg\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"dnsCaaRecordId\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.dns.DnsFunctions;\nimport com.pulumi.azure.dns.inputs.GetCAARecordArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = DnsFunctions.getCAARecord(GetCAARecordArgs.builder()\n            .name(\"test\")\n            .zoneName(\"test-zone\")\n            .resourceGroupName(\"test-rg\")\n            .build());\n\n        ctx.export(\"dnsCaaRecordId\", example.id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:dns:getCAARecord\n      arguments:\n        name: test\n        zoneName: test-zone\n        resourceGroupName: test-rg\noutputs:\n  dnsCaaRecordId: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2018-05-01\n","inputs":{"description":"A collection of arguments for invoking getCAARecord.\n","properties":{"name":{"type":"string","description":"The name of the DNS CAA Record.\n"},"resourceGroupName":{"type":"string","description":"Specifies the resource group where the DNS Zone (parent resource) exists.\n"},"zoneName":{"type":"string","description":"Specifies the DNS Zone where the resource exists.\n"}},"type":"object","required":["name","resourceGroupName","zoneName"]},"outputs":{"description":"A collection of values returned by getCAARecord.\n","properties":{"fqdn":{"description":"The FQDN of the DNS CAA Record.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"name":{"type":"string"},"records":{"description":"A list of values that make up the CAA record. Each \u003cspan pulumi-lang-nodejs=\"`record`\" pulumi-lang-dotnet=\"`Record`\" pulumi-lang-go=\"`record`\" pulumi-lang-python=\"`record`\" pulumi-lang-yaml=\"`record`\" pulumi-lang-java=\"`record`\"\u003e`record`\u003c/span\u003e block supports fields documented below.\n","items":{"$ref":"#/types/azure:dns/getCAARecordRecord:getCAARecordRecord"},"type":"array"},"resourceGroupName":{"type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"A mapping of tags assigned to the resource.\n","type":"object"},"ttl":{"description":"The Time To Live (TTL) of the DNS record in seconds.\n","type":"integer"},"zoneName":{"type":"string"}},"required":["fqdn","name","records","resourceGroupName","tags","ttl","zoneName","id"],"type":"object"}},"azure:dns/getCnameRecord:getCnameRecord":{"description":"Use this data source to access information about an existing DNS CNAME Record within Azure DNS.\n\n\u003e **Note:** [The Azure DNS API has a throttle limit of 500 read (GET) operations per 5 minutes](https://docs.microsoft.com/azure/azure-resource-manager/management/request-limits-and-throttling#network-throttling) - whilst the default read timeouts will work for most cases - in larger configurations you may need to set a larger read timeout then the default 5min. Although, we'd generally recommend that you split the resources out into smaller Terraform configurations to avoid the problem entirely.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.dns.getCnameRecord({\n    name: \"test\",\n    zoneName: \"test-zone\",\n    resourceGroupName: \"test-rg\",\n});\nexport const dnsCnameRecordId = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.dns.get_cname_record(name=\"test\",\n    zone_name=\"test-zone\",\n    resource_group_name=\"test-rg\")\npulumi.export(\"dnsCnameRecordId\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Dns.GetCnameRecord.Invoke(new()\n    {\n        Name = \"test\",\n        ZoneName = \"test-zone\",\n        ResourceGroupName = \"test-rg\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"dnsCnameRecordId\"] = example.Apply(getCnameRecordResult =\u003e getCnameRecordResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/dns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := dns.GetCnameRecord(ctx, \u0026dns.GetCnameRecordArgs{\n\t\t\tName:              \"test\",\n\t\t\tZoneName:          \"test-zone\",\n\t\t\tResourceGroupName: \"test-rg\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"dnsCnameRecordId\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.dns.DnsFunctions;\nimport com.pulumi.azure.dns.inputs.GetCnameRecordArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = DnsFunctions.getCnameRecord(GetCnameRecordArgs.builder()\n            .name(\"test\")\n            .zoneName(\"test-zone\")\n            .resourceGroupName(\"test-rg\")\n            .build());\n\n        ctx.export(\"dnsCnameRecordId\", example.id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:dns:getCnameRecord\n      arguments:\n        name: test\n        zoneName: test-zone\n        resourceGroupName: test-rg\noutputs:\n  dnsCnameRecordId: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2018-05-01\n","inputs":{"description":"A collection of arguments for invoking getCnameRecord.\n","properties":{"name":{"type":"string","description":"The name of the DNS CNAME Record.\n"},"resourceGroupName":{"type":"string","description":"Specifies the resource group where the DNS Zone (parent resource) exists.\n"},"zoneName":{"type":"string","description":"Specifies the DNS Zone where the resource exists.\n"}},"type":"object","required":["name","resourceGroupName","zoneName"]},"outputs":{"description":"A collection of values returned by getCnameRecord.\n","properties":{"fqdn":{"description":"The FQDN of the DNS CName Record.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"name":{"type":"string"},"record":{"description":"The target of the CNAME.\n","type":"string"},"resourceGroupName":{"type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"A mapping of tags assigned to the resource.\n","type":"object"},"targetResourceId":{"description":"The Azure resource id of the target object from where the dns resource value is taken.\n","type":"string"},"ttl":{"description":"The Time To Live (TTL) of the DNS record in seconds.\n","type":"integer"},"zoneName":{"type":"string"}},"required":["fqdn","name","record","resourceGroupName","tags","targetResourceId","ttl","zoneName","id"],"type":"object"}},"azure:dns/getMxRecord:getMxRecord":{"description":"Use this data source to access information about an existing DNS MX Record within Azure DNS.\n\n\u003e **Note:** [The Azure DNS API has a throttle limit of 500 read (GET) operations per 5 minutes](https://docs.microsoft.com/azure/azure-resource-manager/management/request-limits-and-throttling#network-throttling) - whilst the default read timeouts will work for most cases - in larger configurations you may need to set a larger read timeout then the default 5min. Although, we'd generally recommend that you split the resources out into smaller Terraform configurations to avoid the problem entirely.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.dns.getMxRecord({\n    name: \"test\",\n    zoneName: \"test-zone\",\n    resourceGroupName: \"test-rg\",\n});\nexport const dnsMxRecordId = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.dns.get_mx_record(name=\"test\",\n    zone_name=\"test-zone\",\n    resource_group_name=\"test-rg\")\npulumi.export(\"dnsMxRecordId\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Dns.GetMxRecord.Invoke(new()\n    {\n        Name = \"test\",\n        ZoneName = \"test-zone\",\n        ResourceGroupName = \"test-rg\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"dnsMxRecordId\"] = example.Apply(getMxRecordResult =\u003e getMxRecordResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/dns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := dns.LookupMxRecord(ctx, \u0026dns.LookupMxRecordArgs{\n\t\t\tName:              pulumi.StringRef(\"test\"),\n\t\t\tZoneName:          \"test-zone\",\n\t\t\tResourceGroupName: \"test-rg\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"dnsMxRecordId\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.dns.DnsFunctions;\nimport com.pulumi.azure.dns.inputs.GetMxRecordArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = DnsFunctions.getMxRecord(GetMxRecordArgs.builder()\n            .name(\"test\")\n            .zoneName(\"test-zone\")\n            .resourceGroupName(\"test-rg\")\n            .build());\n\n        ctx.export(\"dnsMxRecordId\", example.id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:dns:getMxRecord\n      arguments:\n        name: test\n        zoneName: test-zone\n        resourceGroupName: test-rg\noutputs:\n  dnsMxRecordId: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2018-05-01\n","inputs":{"description":"A collection of arguments for invoking getMxRecord.\n","properties":{"name":{"type":"string","description":"The name of the DNS MX Record.\n"},"resourceGroupName":{"type":"string","description":"Specifies the resource group where the DNS Zone (parent resource) exists.\n"},"zoneName":{"type":"string","description":"Specifies the DNS Zone where the resource exists.\n"}},"type":"object","required":["resourceGroupName","zoneName"]},"outputs":{"description":"A collection of values returned by getMxRecord.\n","properties":{"fqdn":{"description":"The FQDN of the DNS MX Record.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"name":{"type":"string"},"records":{"description":"A list of values that make up the MX record. Each \u003cspan pulumi-lang-nodejs=\"`record`\" pulumi-lang-dotnet=\"`Record`\" pulumi-lang-go=\"`record`\" pulumi-lang-python=\"`record`\" pulumi-lang-yaml=\"`record`\" pulumi-lang-java=\"`record`\"\u003e`record`\u003c/span\u003e block supports fields documented below.\n","items":{"$ref":"#/types/azure:dns/getMxRecordRecord:getMxRecordRecord"},"type":"array"},"resourceGroupName":{"type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"A mapping of tags assigned to the resource.\n","type":"object"},"ttl":{"description":"The Time To Live (TTL) of the DNS record in seconds.\n","type":"integer"},"zoneName":{"type":"string"}},"required":["fqdn","records","resourceGroupName","tags","ttl","zoneName","id"],"type":"object"}},"azure:dns/getNsRecord:getNsRecord":{"description":"Use this data source to access information about an existing DNS NS Record within Azure DNS.\n\n\u003e **Note:** [The Azure DNS API has a throttle limit of 500 read (GET) operations per 5 minutes](https://docs.microsoft.com/azure/azure-resource-manager/management/request-limits-and-throttling#network-throttling) - whilst the default read timeouts will work for most cases - in larger configurations you may need to set a larger read timeout then the default 5min. Although, we'd generally recommend that you split the resources out into smaller Terraform configurations to avoid the problem entirely.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.dns.getNsRecord({\n    name: \"test\",\n    zoneName: \"test-zone\",\n    resourceGroupName: \"test-rg\",\n});\nexport const dnsNsRecordId = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.dns.get_ns_record(name=\"test\",\n    zone_name=\"test-zone\",\n    resource_group_name=\"test-rg\")\npulumi.export(\"dnsNsRecordId\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Dns.GetNsRecord.Invoke(new()\n    {\n        Name = \"test\",\n        ZoneName = \"test-zone\",\n        ResourceGroupName = \"test-rg\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"dnsNsRecordId\"] = example.Apply(getNsRecordResult =\u003e getNsRecordResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/dns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := dns.LookupNsRecord(ctx, \u0026dns.LookupNsRecordArgs{\n\t\t\tName:              \"test\",\n\t\t\tZoneName:          \"test-zone\",\n\t\t\tResourceGroupName: \"test-rg\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"dnsNsRecordId\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.dns.DnsFunctions;\nimport com.pulumi.azure.dns.inputs.GetNsRecordArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = DnsFunctions.getNsRecord(GetNsRecordArgs.builder()\n            .name(\"test\")\n            .zoneName(\"test-zone\")\n            .resourceGroupName(\"test-rg\")\n            .build());\n\n        ctx.export(\"dnsNsRecordId\", example.id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:dns:getNsRecord\n      arguments:\n        name: test\n        zoneName: test-zone\n        resourceGroupName: test-rg\noutputs:\n  dnsNsRecordId: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2018-05-01\n","inputs":{"description":"A collection of arguments for invoking getNsRecord.\n","properties":{"name":{"type":"string","description":"The name of the DNS NS Record.\n"},"resourceGroupName":{"type":"string","description":"Specifies the resource group where the DNS Zone (parent resource) exists.\n"},"zoneName":{"type":"string","description":"Specifies the DNS Zone where the resource exists.\n"}},"type":"object","required":["name","resourceGroupName","zoneName"]},"outputs":{"description":"A collection of values returned by getNsRecord.\n","properties":{"fqdn":{"description":"The FQDN of the DNS NS Record.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"name":{"type":"string"},"records":{"description":"A list of values that make up the NS record.\n","items":{"type":"string"},"type":"array"},"resourceGroupName":{"type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"A mapping of tags assigned to the resource.\n","type":"object"},"ttl":{"description":"The Time To Live (TTL) of the DNS record in seconds.\n","type":"integer"},"zoneName":{"type":"string"}},"required":["fqdn","name","records","resourceGroupName","tags","ttl","zoneName","id"],"type":"object"}},"azure:dns/getPtrRecord:getPtrRecord":{"description":"Use this data source to access information about an existing DNS PTR Record within Azure DNS.\n\n\u003e **Note:** [The Azure DNS API has a throttle limit of 500 read (GET) operations per 5 minutes](https://docs.microsoft.com/azure/azure-resource-manager/management/request-limits-and-throttling#network-throttling) - whilst the default read timeouts will work for most cases - in larger configurations you may need to set a larger read timeout then the default 5min. Although, we'd generally recommend that you split the resources out into smaller Terraform configurations to avoid the problem entirely.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.dns.getPtrRecord({\n    name: \"test\",\n    zoneName: \"test-zone\",\n    resourceGroupName: \"test-rg\",\n});\nexport const dnsPtrRecordId = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.dns.get_ptr_record(name=\"test\",\n    zone_name=\"test-zone\",\n    resource_group_name=\"test-rg\")\npulumi.export(\"dnsPtrRecordId\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Dns.GetPtrRecord.Invoke(new()\n    {\n        Name = \"test\",\n        ZoneName = \"test-zone\",\n        ResourceGroupName = \"test-rg\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"dnsPtrRecordId\"] = example.Apply(getPtrRecordResult =\u003e getPtrRecordResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/dns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := dns.LookupPtrRecord(ctx, \u0026dns.LookupPtrRecordArgs{\n\t\t\tName:              \"test\",\n\t\t\tZoneName:          \"test-zone\",\n\t\t\tResourceGroupName: \"test-rg\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"dnsPtrRecordId\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.dns.DnsFunctions;\nimport com.pulumi.azure.dns.inputs.GetPtrRecordArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = DnsFunctions.getPtrRecord(GetPtrRecordArgs.builder()\n            .name(\"test\")\n            .zoneName(\"test-zone\")\n            .resourceGroupName(\"test-rg\")\n            .build());\n\n        ctx.export(\"dnsPtrRecordId\", example.id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:dns:getPtrRecord\n      arguments:\n        name: test\n        zoneName: test-zone\n        resourceGroupName: test-rg\noutputs:\n  dnsPtrRecordId: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2018-05-01\n","inputs":{"description":"A collection of arguments for invoking getPtrRecord.\n","properties":{"name":{"type":"string","description":"The name of the DNS PTR Record.\n"},"resourceGroupName":{"type":"string","description":"Specifies the resource group where the DNS Zone (parent resource) exists.\n"},"zoneName":{"type":"string","description":"Specifies the DNS Zone where the resource exists.\n"}},"type":"object","required":["name","resourceGroupName","zoneName"]},"outputs":{"description":"A collection of values returned by getPtrRecord.\n","properties":{"fqdn":{"description":"The FQDN of the DNS PTR Record.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"name":{"type":"string"},"records":{"description":"List of Fully Qualified Domain Names.\n","items":{"type":"string"},"type":"array"},"resourceGroupName":{"type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"A mapping of tags assigned to the resource.\n","type":"object"},"ttl":{"description":"The Time To Live (TTL) of the DNS record in seconds.\n","type":"integer"},"zoneName":{"type":"string"}},"required":["fqdn","name","records","resourceGroupName","tags","ttl","zoneName","id"],"type":"object"}},"azure:dns/getSoaRecord:getSoaRecord":{"description":"Use this data source to access information about an existing DNS SOA Record within Azure DNS.\n\n\u003e **Note:** [The Azure DNS API has a throttle limit of 500 read (GET) operations per 5 minutes](https://docs.microsoft.com/azure/azure-resource-manager/management/request-limits-and-throttling#network-throttling) - whilst the default read timeouts will work for most cases - in larger configurations you may need to set a larger read timeout then the default 5min. Although, we'd generally recommend that you split the resources out into smaller Terraform configurations to avoid the problem entirely.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.dns.getSoaRecord({\n    zoneName: \"test-zone\",\n    resourceGroupName: \"test-rg\",\n});\nexport const dnsSoaRecordId = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.dns.get_soa_record(zone_name=\"test-zone\",\n    resource_group_name=\"test-rg\")\npulumi.export(\"dnsSoaRecordId\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Dns.GetSoaRecord.Invoke(new()\n    {\n        ZoneName = \"test-zone\",\n        ResourceGroupName = \"test-rg\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"dnsSoaRecordId\"] = example.Apply(getSoaRecordResult =\u003e getSoaRecordResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/dns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := dns.GetSoaRecord(ctx, \u0026dns.GetSoaRecordArgs{\n\t\t\tZoneName:          \"test-zone\",\n\t\t\tResourceGroupName: \"test-rg\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"dnsSoaRecordId\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.dns.DnsFunctions;\nimport com.pulumi.azure.dns.inputs.GetSoaRecordArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = DnsFunctions.getSoaRecord(GetSoaRecordArgs.builder()\n            .zoneName(\"test-zone\")\n            .resourceGroupName(\"test-rg\")\n            .build());\n\n        ctx.export(\"dnsSoaRecordId\", example.id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:dns:getSoaRecord\n      arguments:\n        zoneName: test-zone\n        resourceGroupName: test-rg\noutputs:\n  dnsSoaRecordId: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2018-05-01\n","inputs":{"description":"A collection of arguments for invoking getSoaRecord.\n","properties":{"name":{"type":"string","description":"The name of the DNS SOA Record.\n"},"resourceGroupName":{"type":"string","description":"Specifies the resource group where the DNS Zone (parent resource) exists.\n"},"zoneName":{"type":"string","description":"Specifies the DNS Zone where the resource exists.\n"}},"type":"object","required":["resourceGroupName","zoneName"]},"outputs":{"description":"A collection of values returned by getSoaRecord.\n","properties":{"email":{"description":"The email contact for the SOA record.\n","type":"string"},"expireTime":{"description":"The expire time for the SOA record.\n","type":"integer"},"fqdn":{"description":"The FQDN of the DNS SOA Record.\n","type":"string"},"hostName":{"description":"The domain name of the authoritative name server for the SOA record.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"minimumTtl":{"description":"The minimum Time To Live for the SOA record. By convention, it is used to determine the negative caching duration.\n","type":"integer"},"name":{"description":"The name of the DNS SOA Record.\n","type":"string"},"refreshTime":{"description":"The refresh time for the SOA record.\n","type":"integer"},"resourceGroupName":{"type":"string"},"retryTime":{"description":"The retry time for the SOA record.\n","type":"integer"},"serialNumber":{"description":"The serial number for the SOA record.\n","type":"integer"},"tags":{"additionalProperties":{"type":"string"},"description":"A mapping of tags assigned to the resource.\n","type":"object"},"ttl":{"description":"The Time To Live (TTL) of the DNS record in seconds.\n","type":"integer"},"zoneName":{"type":"string"}},"required":["email","expireTime","fqdn","hostName","minimumTtl","refreshTime","resourceGroupName","retryTime","serialNumber","tags","ttl","zoneName","id"],"type":"object"}},"azure:dns/getSrvRecord:getSrvRecord":{"description":"Use this data source to access information about an existing DNS SRV Record within Azure DNS.\n\n\u003e **Note:** [The Azure DNS API has a throttle limit of 500 read (GET) operations per 5 minutes](https://docs.microsoft.com/azure/azure-resource-manager/management/request-limits-and-throttling#network-throttling) - whilst the default read timeouts will work for most cases - in larger configurations you may need to set a larger read timeout then the default 5min. Although, we'd generally recommend that you split the resources out into smaller Terraform configurations to avoid the problem entirely.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.dns.getSrvRecord({\n    name: \"test\",\n    zoneName: \"test-zone\",\n    resourceGroupName: \"test-rg\",\n});\nexport const dnsSrvRecordId = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.dns.get_srv_record(name=\"test\",\n    zone_name=\"test-zone\",\n    resource_group_name=\"test-rg\")\npulumi.export(\"dnsSrvRecordId\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Dns.GetSrvRecord.Invoke(new()\n    {\n        Name = \"test\",\n        ZoneName = \"test-zone\",\n        ResourceGroupName = \"test-rg\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"dnsSrvRecordId\"] = example.Apply(getSrvRecordResult =\u003e getSrvRecordResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/dns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := dns.LookupSrvRecord(ctx, \u0026dns.LookupSrvRecordArgs{\n\t\t\tName:              \"test\",\n\t\t\tZoneName:          \"test-zone\",\n\t\t\tResourceGroupName: \"test-rg\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"dnsSrvRecordId\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.dns.DnsFunctions;\nimport com.pulumi.azure.dns.inputs.GetSrvRecordArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = DnsFunctions.getSrvRecord(GetSrvRecordArgs.builder()\n            .name(\"test\")\n            .zoneName(\"test-zone\")\n            .resourceGroupName(\"test-rg\")\n            .build());\n\n        ctx.export(\"dnsSrvRecordId\", example.id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:dns:getSrvRecord\n      arguments:\n        name: test\n        zoneName: test-zone\n        resourceGroupName: test-rg\noutputs:\n  dnsSrvRecordId: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2018-05-01\n","inputs":{"description":"A collection of arguments for invoking getSrvRecord.\n","properties":{"name":{"type":"string","description":"The name of the DNS SRV Record.\n"},"resourceGroupName":{"type":"string","description":"Specifies the resource group where the DNS Zone (parent resource) exists.\n"},"zoneName":{"type":"string","description":"Specifies the DNS Zone where the resource exists.\n"}},"type":"object","required":["name","resourceGroupName","zoneName"]},"outputs":{"description":"A collection of values returned by getSrvRecord.\n","properties":{"fqdn":{"description":"The FQDN of the DNS SRV Record.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"name":{"type":"string"},"records":{"description":"A list of values that make up the SRV record. Each \u003cspan pulumi-lang-nodejs=\"`record`\" pulumi-lang-dotnet=\"`Record`\" pulumi-lang-go=\"`record`\" pulumi-lang-python=\"`record`\" pulumi-lang-yaml=\"`record`\" pulumi-lang-java=\"`record`\"\u003e`record`\u003c/span\u003e block supports fields documented below.\n","items":{"$ref":"#/types/azure:dns/getSrvRecordRecord:getSrvRecordRecord"},"type":"array"},"resourceGroupName":{"type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"A mapping of tags assigned to the resource.\n","type":"object"},"ttl":{"description":"The Time To Live (TTL) of the DNS record in seconds.\n","type":"integer"},"zoneName":{"type":"string"}},"required":["fqdn","name","records","resourceGroupName","tags","ttl","zoneName","id"],"type":"object"}},"azure:dns/getTxtRecord:getTxtRecord":{"description":"Use this data source to access information about an existing DNS TXT Record within Azure DNS.\n\n\u003e **Note:** [The Azure DNS API has a throttle limit of 500 read (GET) operations per 5 minutes](https://docs.microsoft.com/azure/azure-resource-manager/management/request-limits-and-throttling#network-throttling) - whilst the default read timeouts will work for most cases - in larger configurations you may need to set a larger read timeout then the default 5min. Although, we'd generally recommend that you split the resources out into smaller Terraform configurations to avoid the problem entirely.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.dns.getTxtRecord({\n    name: \"test\",\n    zoneName: \"test-zone\",\n    resourceGroupName: \"test-rg\",\n});\nexport const dnsTxtRecordId = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.dns.get_txt_record(name=\"test\",\n    zone_name=\"test-zone\",\n    resource_group_name=\"test-rg\")\npulumi.export(\"dnsTxtRecordId\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Dns.GetTxtRecord.Invoke(new()\n    {\n        Name = \"test\",\n        ZoneName = \"test-zone\",\n        ResourceGroupName = \"test-rg\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"dnsTxtRecordId\"] = example.Apply(getTxtRecordResult =\u003e getTxtRecordResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/dns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := dns.LookupTxtRecord(ctx, \u0026dns.LookupTxtRecordArgs{\n\t\t\tName:              \"test\",\n\t\t\tZoneName:          \"test-zone\",\n\t\t\tResourceGroupName: \"test-rg\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"dnsTxtRecordId\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.dns.DnsFunctions;\nimport com.pulumi.azure.dns.inputs.GetTxtRecordArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = DnsFunctions.getTxtRecord(GetTxtRecordArgs.builder()\n            .name(\"test\")\n            .zoneName(\"test-zone\")\n            .resourceGroupName(\"test-rg\")\n            .build());\n\n        ctx.export(\"dnsTxtRecordId\", example.id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:dns:getTxtRecord\n      arguments:\n        name: test\n        zoneName: test-zone\n        resourceGroupName: test-rg\noutputs:\n  dnsTxtRecordId: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2018-05-01\n","inputs":{"description":"A collection of arguments for invoking getTxtRecord.\n","properties":{"name":{"type":"string","description":"The name of the DNS TXT Record.\n"},"resourceGroupName":{"type":"string","description":"Specifies the resource group where the DNS Zone (parent resource) exists.\n"},"zoneName":{"type":"string","description":"Specifies the DNS Zone where the resource exists.\n"}},"type":"object","required":["name","resourceGroupName","zoneName"]},"outputs":{"description":"A collection of values returned by getTxtRecord.\n","properties":{"fqdn":{"description":"The FQDN of the DNS TXT Record.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"name":{"type":"string"},"records":{"description":"A list of values that make up the txt record. Each \u003cspan pulumi-lang-nodejs=\"`record`\" pulumi-lang-dotnet=\"`Record`\" pulumi-lang-go=\"`record`\" pulumi-lang-python=\"`record`\" pulumi-lang-yaml=\"`record`\" pulumi-lang-java=\"`record`\"\u003e`record`\u003c/span\u003e block supports fields documented below.\n","items":{"$ref":"#/types/azure:dns/getTxtRecordRecord:getTxtRecordRecord"},"type":"array"},"resourceGroupName":{"type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"A mapping of tags assigned to the resource.\n","type":"object"},"ttl":{"description":"The Time To Live (TTL) of the DNS record in seconds.\n","type":"integer"},"zoneName":{"type":"string"}},"required":["fqdn","name","records","resourceGroupName","tags","ttl","zoneName","id"],"type":"object"}},"azure:dns/getZone:getZone":{"description":"Use this data source to access information about an existing DNS Zone.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.dns.getZone({\n    name: \"search-eventhubns\",\n    resourceGroupName: \"search-service\",\n});\nexport const dnsZoneId = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.dns.get_zone(name=\"search-eventhubns\",\n    resource_group_name=\"search-service\")\npulumi.export(\"dnsZoneId\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Dns.GetZone.Invoke(new()\n    {\n        Name = \"search-eventhubns\",\n        ResourceGroupName = \"search-service\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"dnsZoneId\"] = example.Apply(getZoneResult =\u003e getZoneResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/dns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := dns.LookupZone(ctx, \u0026dns.LookupZoneArgs{\n\t\t\tName:              \"search-eventhubns\",\n\t\t\tResourceGroupName: pulumi.StringRef(\"search-service\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"dnsZoneId\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.dns.DnsFunctions;\nimport com.pulumi.azure.dns.inputs.GetZoneArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = DnsFunctions.getZone(GetZoneArgs.builder()\n            .name(\"search-eventhubns\")\n            .resourceGroupName(\"search-service\")\n            .build());\n\n        ctx.export(\"dnsZoneId\", example.id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:dns:getZone\n      arguments:\n        name: search-eventhubns\n        resourceGroupName: search-service\noutputs:\n  dnsZoneId: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2018-05-01\n","inputs":{"description":"A collection of arguments for invoking getZone.\n","properties":{"name":{"type":"string","description":"The name of the DNS Zone.\n"},"resourceGroupName":{"type":"string","description":"The Name of the Resource Group where the DNS Zone exists.\nIf the Name of the Resource Group is not provided, the first DNS Zone from the list of DNS Zones\nin your subscription that matches \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e will be returned.\n"}},"type":"object","required":["name"]},"outputs":{"description":"A collection of values returned by getZone.\n","properties":{"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"maxNumberOfRecordSets":{"description":"Maximum number of Records in the zone.\n","type":"integer"},"name":{"type":"string"},"nameServers":{"description":"A list of values that make up the NS record for the zone.\n","items":{"type":"string"},"type":"array"},"numberOfRecordSets":{"description":"The number of records already in the zone.\n","type":"integer"},"resourceGroupName":{"type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"A mapping of tags assigned to the DNS Zone.\n","type":"object"}},"required":["maxNumberOfRecordSets","name","nameServers","numberOfRecordSets","resourceGroupName","tags","id"],"type":"object"}},"azure:domainservices/getService:getService":{"description":"Gets information about an Active Directory Domain Service.\n\n\u003e **Note:** At present this data source only supports **User Forest** mode and _not_ **Resource Forest** mode. [Read more](https://docs.microsoft.com/azure/active-directory-domain-services/concepts-resource-forest) about the different operation modes for this service.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.domainservices.getService({\n    name: \"example-aadds\",\n    resourceGroupName: \"example-aadds-rg\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.domainservices.get_service(name=\"example-aadds\",\n    resource_group_name=\"example-aadds-rg\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.DomainServices.GetService.Invoke(new()\n    {\n        Name = \"example-aadds\",\n        ResourceGroupName = \"example-aadds-rg\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/domainservices\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := domainservices.LookupService(ctx, \u0026domainservices.LookupServiceArgs{\n\t\t\tName:              \"example-aadds\",\n\t\t\tResourceGroupName: \"example-aadds-rg\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.domainservices.DomainservicesFunctions;\nimport com.pulumi.azure.domainservices.inputs.GetServiceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = DomainservicesFunctions.getService(GetServiceArgs.builder()\n            .name(\"example-aadds\")\n            .resourceGroupName(\"example-aadds-rg\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:domainservices:getService\n      arguments:\n        name: example-aadds\n        resourceGroupName: example-aadds-rg\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.AAD` - 2021-05-01\n","inputs":{"description":"A collection of arguments for invoking getService.\n","properties":{"name":{"type":"string","description":"The display name for your managed Active Directory Domain Service resource. Changing this forces a new resource to be created.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group in which the Domain Service should exist. Changing this forces a new resource to be created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags assigned to the resource.\n"}},"type":"object","required":["name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getService.\n","properties":{"deploymentId":{"description":"A unique ID for the managed domain deployment.\n","type":"string"},"domainConfigurationType":{"description":"The forest type used by the managed domain. One of `ResourceTrusting`, for a _Resource Forest_, or blank, for a _User Forest_.\n","type":"string"},"domainName":{"description":"The Active Directory domain of the Domain Service. See [official documentation](https://docs.microsoft.com/azure/active-directory-domain-services/tutorial-create-instance#create-a-managed-domain) for constraints and recommendations.\n","type":"string"},"filteredSyncEnabled":{"description":"Whether group-based filtered sync (also called scoped synchronisation) is enabled.\n","type":"boolean"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"location":{"description":"The Azure location in which the replica set resides.\n","type":"string"},"name":{"type":"string"},"notifications":{"description":"A \u003cspan pulumi-lang-nodejs=\"`notifications`\" pulumi-lang-dotnet=\"`Notifications`\" pulumi-lang-go=\"`notifications`\" pulumi-lang-python=\"`notifications`\" pulumi-lang-yaml=\"`notifications`\" pulumi-lang-java=\"`notifications`\"\u003e`notifications`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:domainservices/getServiceNotification:getServiceNotification"},"type":"array"},"replicaSets":{"description":"One or more \u003cspan pulumi-lang-nodejs=\"`replicaSet`\" pulumi-lang-dotnet=\"`ReplicaSet`\" pulumi-lang-go=\"`replicaSet`\" pulumi-lang-python=\"`replica_set`\" pulumi-lang-yaml=\"`replicaSet`\" pulumi-lang-java=\"`replicaSet`\"\u003e`replica_set`\u003c/span\u003e blocks as defined below.\n","items":{"$ref":"#/types/azure:domainservices/getServiceReplicaSet:getServiceReplicaSet"},"type":"array"},"resourceGroupName":{"type":"string"},"resourceId":{"type":"string"},"secureLdaps":{"description":"A \u003cspan pulumi-lang-nodejs=\"`secureLdap`\" pulumi-lang-dotnet=\"`SecureLdap`\" pulumi-lang-go=\"`secureLdap`\" pulumi-lang-python=\"`secure_ldap`\" pulumi-lang-yaml=\"`secureLdap`\" pulumi-lang-java=\"`secureLdap`\"\u003e`secure_ldap`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:domainservices/getServiceSecureLdap:getServiceSecureLdap"},"type":"array"},"securities":{"description":"A \u003cspan pulumi-lang-nodejs=\"`security`\" pulumi-lang-dotnet=\"`Security`\" pulumi-lang-go=\"`security`\" pulumi-lang-python=\"`security`\" pulumi-lang-yaml=\"`security`\" pulumi-lang-java=\"`security`\"\u003e`security`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:domainservices/getServiceSecurity:getServiceSecurity"},"type":"array"},"sku":{"description":"The SKU of the Domain Service resource. One of `Standard`, `Enterprise` or `Premium`.\n","type":"string"},"syncOwner":{"type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"A mapping of tags assigned to the resource.\n","type":"object"},"tenantId":{"type":"string"},"version":{"type":"integer"}},"required":["deploymentId","domainConfigurationType","domainName","filteredSyncEnabled","location","name","notifications","replicaSets","resourceGroupName","resourceId","secureLdaps","securities","sku","syncOwner","tenantId","version","id"],"type":"object"}},"azure:dynatrace/getMonitor:getMonitor":{"description":"Use this data source to access information about an existing Dynatrace Monitor.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.dynatrace.getMonitor({\n    name: \"example-dynatracemonitor\",\n    resourceGroupName: \"example-resources\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.dynatrace.get_monitor(name=\"example-dynatracemonitor\",\n    resource_group_name=\"example-resources\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Dynatrace.GetMonitor.Invoke(new()\n    {\n        Name = \"example-dynatracemonitor\",\n        ResourceGroupName = \"example-resources\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/dynatrace\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := dynatrace.LookupMonitor(ctx, \u0026dynatrace.LookupMonitorArgs{\n\t\t\tName:              \"example-dynatracemonitor\",\n\t\t\tResourceGroupName: \"example-resources\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.dynatrace.DynatraceFunctions;\nimport com.pulumi.azure.dynatrace.inputs.GetMonitorArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = DynatraceFunctions.getMonitor(GetMonitorArgs.builder()\n            .name(\"example-dynatracemonitor\")\n            .resourceGroupName(\"example-resources\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:dynatrace:getMonitor\n      arguments:\n        name: example-dynatracemonitor\n        resourceGroupName: example-resources\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Dynatrace.Observability` - 2023-04-27\n","inputs":{"description":"A collection of arguments for invoking getMonitor.\n","properties":{"name":{"type":"string","description":"Name of the Dynatrace monitor.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Dynatrace monitor should exist.\n"}},"type":"object","required":["name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getMonitor.\n","properties":{"environmentProperties":{"items":{"$ref":"#/types/azure:dynatrace/getMonitorEnvironmentProperty:getMonitorEnvironmentProperty"},"type":"array"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"identities":{"description":"The kind of managed identity assigned to this resource.  A \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:dynatrace/getMonitorIdentity:getMonitorIdentity"},"type":"array"},"location":{"description":"The Azure Region where the Dynatrace monitor should exist.\n","type":"string"},"marketplaceSubscription":{"description":"Flag specifying the Marketplace Subscription Status of the resource. If payment is not made in time, the resource will go in Suspended state.\n","type":"string"},"monitoringEnabled":{"description":"Flag specifying if the resource monitoring is enabled or disabled.\n","type":"boolean"},"name":{"type":"string"},"plans":{"description":"Plan id as published by Dynatrace.\n","items":{"$ref":"#/types/azure:dynatrace/getMonitorPlan:getMonitorPlan"},"type":"array"},"resourceGroupName":{"type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n","type":"object"},"users":{"description":"User's information. A \u003cspan pulumi-lang-nodejs=\"`user`\" pulumi-lang-dotnet=\"`User`\" pulumi-lang-go=\"`user`\" pulumi-lang-python=\"`user`\" pulumi-lang-yaml=\"`user`\" pulumi-lang-java=\"`user`\"\u003e`user`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:dynatrace/getMonitorUser:getMonitorUser"},"type":"array"}},"required":["environmentProperties","identities","location","marketplaceSubscription","monitoringEnabled","name","plans","resourceGroupName","tags","users","id"],"type":"object"}},"azure:elasticcloud/getElasticsearch:getElasticsearch":{"description":"Use this data source to access information about an existing Elasticsearch resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.elasticcloud.getElasticsearch({\n    name: \"my-elastic-search\",\n    resourceGroupName: \"example-resources\",\n});\nexport const elasticsearchEndpoint = example.then(example =\u003e example.elasticsearchServiceUrl);\nexport const kibanaEndpoint = example.then(example =\u003e example.kibanaServiceUrl);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.elasticcloud.get_elasticsearch(name=\"my-elastic-search\",\n    resource_group_name=\"example-resources\")\npulumi.export(\"elasticsearchEndpoint\", example.elasticsearch_service_url)\npulumi.export(\"kibanaEndpoint\", example.kibana_service_url)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.ElasticCloud.GetElasticsearch.Invoke(new()\n    {\n        Name = \"my-elastic-search\",\n        ResourceGroupName = \"example-resources\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"elasticsearchEndpoint\"] = example.Apply(getElasticsearchResult =\u003e getElasticsearchResult.ElasticsearchServiceUrl),\n        [\"kibanaEndpoint\"] = example.Apply(getElasticsearchResult =\u003e getElasticsearchResult.KibanaServiceUrl),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/elasticcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := elasticcloud.LookupElasticsearch(ctx, \u0026elasticcloud.LookupElasticsearchArgs{\n\t\t\tName:              \"my-elastic-search\",\n\t\t\tResourceGroupName: \"example-resources\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"elasticsearchEndpoint\", example.ElasticsearchServiceUrl)\n\t\tctx.Export(\"kibanaEndpoint\", example.KibanaServiceUrl)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.elasticcloud.ElasticcloudFunctions;\nimport com.pulumi.azure.elasticcloud.inputs.GetElasticsearchArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = ElasticcloudFunctions.getElasticsearch(GetElasticsearchArgs.builder()\n            .name(\"my-elastic-search\")\n            .resourceGroupName(\"example-resources\")\n            .build());\n\n        ctx.export(\"elasticsearchEndpoint\", example.elasticsearchServiceUrl());\n        ctx.export(\"kibanaEndpoint\", example.kibanaServiceUrl());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:elasticcloud:getElasticsearch\n      arguments:\n        name: my-elastic-search\n        resourceGroupName: example-resources\noutputs:\n  elasticsearchEndpoint: ${example.elasticsearchServiceUrl}\n  kibanaEndpoint: ${example.kibanaServiceUrl}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.Elastic` - 2023-06-01\n","inputs":{"description":"A collection of arguments for invoking getElasticsearch.\n","properties":{"logs":{"type":"array","items":{"$ref":"#/types/azure:elasticcloud/getElasticsearchLog:getElasticsearchLog"},"description":"A \u003cspan pulumi-lang-nodejs=\"`logs`\" pulumi-lang-dotnet=\"`Logs`\" pulumi-lang-go=\"`logs`\" pulumi-lang-python=\"`logs`\" pulumi-lang-yaml=\"`logs`\" pulumi-lang-java=\"`logs`\"\u003e`logs`\u003c/span\u003e block as defined below.\n"},"name":{"type":"string","description":"The name of the Elasticsearch resource.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the Elasticsearch exists.\n"}},"type":"object","required":["name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getElasticsearch.\n","properties":{"elasticCloudDeploymentId":{"description":"The ID of the Deployment within Elastic Cloud.\n","type":"string"},"elasticCloudEmailAddress":{"description":"The Email Address which is associated with this Elasticsearch account.\n","type":"string"},"elasticCloudSsoDefaultUrl":{"description":"The Default URL used for Single Sign On (SSO) to Elastic Cloud.\n","type":"string"},"elasticCloudUserId":{"description":"The ID of the User Account within Elastic Cloud.\n","type":"string"},"elasticsearchServiceUrl":{"description":"The URL to the Elasticsearch Service associated with this Elasticsearch.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"kibanaServiceUrl":{"description":"The URL to the Kibana Dashboard associated with this Elasticsearch.\n","type":"string"},"kibanaSsoUri":{"description":"The URI used for SSO to the Kibana Dashboard associated with this Elasticsearch.\n","type":"string"},"location":{"description":"The Azure Region in which this Elasticsearch exists.\n","type":"string"},"logs":{"description":"A \u003cspan pulumi-lang-nodejs=\"`logs`\" pulumi-lang-dotnet=\"`Logs`\" pulumi-lang-go=\"`logs`\" pulumi-lang-python=\"`logs`\" pulumi-lang-yaml=\"`logs`\" pulumi-lang-java=\"`logs`\"\u003e`logs`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:elasticcloud/getElasticsearchLog:getElasticsearchLog"},"type":"array"},"monitoringEnabled":{"description":"Specifies if monitoring is enabled on this Elasticsearch or not.\n","type":"boolean"},"name":{"description":"The name (key) of the Tag which should be filtered.\n","type":"string"},"resourceGroupName":{"type":"string"},"skuName":{"description":"The name of the SKU used for this Elasticsearch.\n","type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"A mapping of tags assigned to the Elasticsearch.\n","type":"object"}},"required":["elasticCloudDeploymentId","elasticCloudEmailAddress","elasticCloudSsoDefaultUrl","elasticCloudUserId","elasticsearchServiceUrl","kibanaServiceUrl","kibanaSsoUri","location","logs","monitoringEnabled","name","resourceGroupName","skuName","tags","id"],"type":"object"}},"azure:elasticsan/get:get":{"description":"Use this data source to access information about an existing Elastic SAN.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.elasticsan.get({\n    name: \"existing\",\n    resourceGroupName: \"existing\",\n});\nexport const id = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.elasticsan.get(name=\"existing\",\n    resource_group_name=\"existing\")\npulumi.export(\"id\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.ElasticSan.Get.Invoke(new()\n    {\n        Name = \"existing\",\n        ResourceGroupName = \"existing\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"id\"] = example.Apply(getResult =\u003e getResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/elasticsan\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := elasticsan.Get(ctx, \u0026elasticsan.GetArgs{\n\t\t\tName:              \"existing\",\n\t\t\tResourceGroupName: \"existing\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"id\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.elasticsan.ElasticsanFunctions;\nimport com.pulumi.azure.elasticsan.inputs.GetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = ElasticsanFunctions.get(GetArgs.builder()\n            .name(\"existing\")\n            .resourceGroupName(\"existing\")\n            .build());\n\n        ctx.export(\"id\", example.id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:elasticsan:get\n      arguments:\n        name: existing\n        resourceGroupName: existing\noutputs:\n  id: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.ElasticSan` - 2023-01-01\n","inputs":{"description":"A collection of arguments for invoking get.\n","properties":{"name":{"type":"string","description":"The name of this Elastic SAN.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Elastic SAN exists.\n"}},"type":"object","required":["name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by get.\n","properties":{"baseSizeInTib":{"description":"The base size of the Elastic SAN resource in TiB.\n","type":"integer"},"extendedSizeInTib":{"description":"The base size of the Elastic SAN resource in TiB.\n","type":"integer"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"location":{"description":"The Azure Region where the Elastic SAN exists.\n","type":"string"},"name":{"description":"The SKU name.\n","type":"string"},"resourceGroupName":{"type":"string"},"skus":{"description":"A \u003cspan pulumi-lang-nodejs=\"`sku`\" pulumi-lang-dotnet=\"`Sku`\" pulumi-lang-go=\"`sku`\" pulumi-lang-python=\"`sku`\" pulumi-lang-yaml=\"`sku`\" pulumi-lang-java=\"`sku`\"\u003e`sku`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:elasticsan/getSkus:getSkus"},"type":"array"},"tags":{"additionalProperties":{"type":"string"},"description":"A mapping of tags assigned to the Elastic SAN.\n","type":"object"},"totalIops":{"description":"Total Provisioned IOps of the Elastic SAN resource.\n","type":"integer"},"totalMbps":{"description":"Total Provisioned MBps Elastic SAN resource.\n","type":"integer"},"totalSizeInTib":{"description":"Total size of the Elastic SAN resource in TB.\n","type":"integer"},"totalVolumeSizeInGib":{"description":"Total size of the provisioned Volumes in GiB.\n","type":"integer"},"volumeGroupCount":{"description":"Total number of volume groups in this Elastic SAN resource.\n","type":"integer"},"zones":{"description":"Logical zone for the Elastic SAN resource.\n","items":{"type":"string"},"type":"array"}},"required":["baseSizeInTib","extendedSizeInTib","location","name","resourceGroupName","skus","tags","totalIops","totalMbps","totalSizeInTib","totalVolumeSizeInGib","volumeGroupCount","zones","id"],"type":"object"}},"azure:elasticsan/getVolumeGroup:getVolumeGroup":{"description":"Use this data source to access information about an existing Elastic SAN Volume Group.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.elasticsan.get({\n    name: \"existing\",\n    resourceGroupName: \"existing\",\n});\nconst exampleGetVolumeGroup = example.then(example =\u003e azure.elasticsan.getVolumeGroup({\n    name: \"existing\",\n    elasticSanId: example.id,\n}));\nexport const id = exampleGetVolumeGroup.then(exampleGetVolumeGroup =\u003e exampleGetVolumeGroup.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.elasticsan.get(name=\"existing\",\n    resource_group_name=\"existing\")\nexample_get_volume_group = azure.elasticsan.get_volume_group(name=\"existing\",\n    elastic_san_id=example.id)\npulumi.export(\"id\", example_get_volume_group.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.ElasticSan.Get.Invoke(new()\n    {\n        Name = \"existing\",\n        ResourceGroupName = \"existing\",\n    });\n\n    var exampleGetVolumeGroup = Azure.ElasticSan.GetVolumeGroup.Invoke(new()\n    {\n        Name = \"existing\",\n        ElasticSanId = example.Apply(getResult =\u003e getResult.Id),\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"id\"] = exampleGetVolumeGroup.Apply(getVolumeGroupResult =\u003e getVolumeGroupResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/elasticsan\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := elasticsan.Get(ctx, \u0026elasticsan.GetArgs{\n\t\t\tName:              \"existing\",\n\t\t\tResourceGroupName: \"existing\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleGetVolumeGroup, err := elasticsan.LookupVolumeGroup(ctx, \u0026elasticsan.LookupVolumeGroupArgs{\n\t\t\tName:         \"existing\",\n\t\t\tElasticSanId: example.Id,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"id\", exampleGetVolumeGroup.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.elasticsan.ElasticsanFunctions;\nimport com.pulumi.azure.elasticsan.inputs.GetArgs;\nimport com.pulumi.azure.elasticsan.inputs.GetVolumeGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = ElasticsanFunctions.get(GetArgs.builder()\n            .name(\"existing\")\n            .resourceGroupName(\"existing\")\n            .build());\n\n        final var exampleGetVolumeGroup = ElasticsanFunctions.getVolumeGroup(GetVolumeGroupArgs.builder()\n            .name(\"existing\")\n            .elasticSanId(example.id())\n            .build());\n\n        ctx.export(\"id\", exampleGetVolumeGroup.id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:elasticsan:get\n      arguments:\n        name: existing\n        resourceGroupName: existing\n  exampleGetVolumeGroup:\n    fn::invoke:\n      function: azure:elasticsan:getVolumeGroup\n      arguments:\n        name: existing\n        elasticSanId: ${example.id}\noutputs:\n  id: ${exampleGetVolumeGroup.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.ElasticSan` - 2023-01-01\n","inputs":{"description":"A collection of arguments for invoking getVolumeGroup.\n","properties":{"elasticSanId":{"type":"string","description":"The Elastic SAN ID within which the Elastic SAN Volume Group exists.\n"},"name":{"type":"string","description":"The name of the Elastic SAN Volume Group.\n"}},"type":"object","required":["elasticSanId","name"]},"outputs":{"description":"A collection of values returned by getVolumeGroup.\n","properties":{"elasticSanId":{"type":"string"},"encryptionType":{"description":"The type of the key used to encrypt the data of the disk.\n","type":"string"},"encryptions":{"description":"An \u003cspan pulumi-lang-nodejs=\"`encryption`\" pulumi-lang-dotnet=\"`Encryption`\" pulumi-lang-go=\"`encryption`\" pulumi-lang-python=\"`encryption`\" pulumi-lang-yaml=\"`encryption`\" pulumi-lang-java=\"`encryption`\"\u003e`encryption`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:elasticsan/getVolumeGroupEncryption:getVolumeGroupEncryption"},"type":"array"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"identities":{"description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:elasticsan/getVolumeGroupIdentity:getVolumeGroupIdentity"},"type":"array"},"name":{"type":"string"},"networkRules":{"description":"One or more \u003cspan pulumi-lang-nodejs=\"`networkRule`\" pulumi-lang-dotnet=\"`NetworkRule`\" pulumi-lang-go=\"`networkRule`\" pulumi-lang-python=\"`network_rule`\" pulumi-lang-yaml=\"`networkRule`\" pulumi-lang-java=\"`networkRule`\"\u003e`network_rule`\u003c/span\u003e blocks as defined below.\n","items":{"$ref":"#/types/azure:elasticsan/getVolumeGroupNetworkRule:getVolumeGroupNetworkRule"},"type":"array"},"protocolType":{"description":"The type of the storage target.\n","type":"string"}},"required":["elasticSanId","encryptions","encryptionType","identities","name","networkRules","protocolType","id"],"type":"object"}},"azure:elasticsan/getVolumeSnapshot:getVolumeSnapshot":{"description":"Use this data source to access information about an existing Elastic SAN Volume Snapshot.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.elasticsan.get({\n    name: \"existing\",\n    resourceGroupName: \"existing\",\n});\nconst exampleGetVolumeGroup = example.then(example =\u003e azure.elasticsan.getVolumeGroup({\n    name: \"existing\",\n    elasticSanId: example.id,\n}));\nconst exampleGetVolumeSnapshot = exampleGetVolumeGroup.then(exampleGetVolumeGroup =\u003e azure.elasticsan.getVolumeSnapshot({\n    name: \"existing\",\n    volumeGroupId: exampleGetVolumeGroup.id,\n}));\nexport const id = exampleGetVolumeSnapshot.then(exampleGetVolumeSnapshot =\u003e exampleGetVolumeSnapshot.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.elasticsan.get(name=\"existing\",\n    resource_group_name=\"existing\")\nexample_get_volume_group = azure.elasticsan.get_volume_group(name=\"existing\",\n    elastic_san_id=example.id)\nexample_get_volume_snapshot = azure.elasticsan.get_volume_snapshot(name=\"existing\",\n    volume_group_id=example_get_volume_group.id)\npulumi.export(\"id\", example_get_volume_snapshot.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.ElasticSan.Get.Invoke(new()\n    {\n        Name = \"existing\",\n        ResourceGroupName = \"existing\",\n    });\n\n    var exampleGetVolumeGroup = Azure.ElasticSan.GetVolumeGroup.Invoke(new()\n    {\n        Name = \"existing\",\n        ElasticSanId = example.Apply(getResult =\u003e getResult.Id),\n    });\n\n    var exampleGetVolumeSnapshot = Azure.ElasticSan.GetVolumeSnapshot.Invoke(new()\n    {\n        Name = \"existing\",\n        VolumeGroupId = exampleGetVolumeGroup.Apply(getVolumeGroupResult =\u003e getVolumeGroupResult.Id),\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"id\"] = exampleGetVolumeSnapshot.Apply(getVolumeSnapshotResult =\u003e getVolumeSnapshotResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/elasticsan\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := elasticsan.Get(ctx, \u0026elasticsan.GetArgs{\n\t\t\tName:              \"existing\",\n\t\t\tResourceGroupName: \"existing\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleGetVolumeGroup, err := elasticsan.LookupVolumeGroup(ctx, \u0026elasticsan.LookupVolumeGroupArgs{\n\t\t\tName:         \"existing\",\n\t\t\tElasticSanId: example.Id,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleGetVolumeSnapshot, err := elasticsan.GetVolumeSnapshot(ctx, \u0026elasticsan.GetVolumeSnapshotArgs{\n\t\t\tName:          \"existing\",\n\t\t\tVolumeGroupId: exampleGetVolumeGroup.Id,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"id\", exampleGetVolumeSnapshot.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.elasticsan.ElasticsanFunctions;\nimport com.pulumi.azure.elasticsan.inputs.GetArgs;\nimport com.pulumi.azure.elasticsan.inputs.GetVolumeGroupArgs;\nimport com.pulumi.azure.elasticsan.inputs.GetVolumeSnapshotArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = ElasticsanFunctions.get(GetArgs.builder()\n            .name(\"existing\")\n            .resourceGroupName(\"existing\")\n            .build());\n\n        final var exampleGetVolumeGroup = ElasticsanFunctions.getVolumeGroup(GetVolumeGroupArgs.builder()\n            .name(\"existing\")\n            .elasticSanId(example.id())\n            .build());\n\n        final var exampleGetVolumeSnapshot = ElasticsanFunctions.getVolumeSnapshot(GetVolumeSnapshotArgs.builder()\n            .name(\"existing\")\n            .volumeGroupId(exampleGetVolumeGroup.id())\n            .build());\n\n        ctx.export(\"id\", exampleGetVolumeSnapshot.id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:elasticsan:get\n      arguments:\n        name: existing\n        resourceGroupName: existing\n  exampleGetVolumeGroup:\n    fn::invoke:\n      function: azure:elasticsan:getVolumeGroup\n      arguments:\n        name: existing\n        elasticSanId: ${example.id}\n  exampleGetVolumeSnapshot:\n    fn::invoke:\n      function: azure:elasticsan:getVolumeSnapshot\n      arguments:\n        name: existing\n        volumeGroupId: ${exampleGetVolumeGroup.id}\noutputs:\n  id: ${exampleGetVolumeSnapshot.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.ElasticSan` - 2023-01-01\n","inputs":{"description":"A collection of arguments for invoking getVolumeSnapshot.\n","properties":{"name":{"type":"string","description":"The name of the Elastic SAN Volume Snapshot.\n"},"volumeGroupId":{"type":"string","description":"The Elastic SAN Volume Group ID within which the Elastic SAN Volume Snapshot exists.\n","willReplaceOnChanges":true}},"type":"object","required":["name","volumeGroupId"]},"outputs":{"description":"A collection of values returned by getVolumeSnapshot.\n","properties":{"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"name":{"type":"string"},"sourceId":{"description":"The resource ID from which the Snapshot is created.\n","type":"string"},"sourceVolumeSizeInGib":{"description":"The size of source volume.\n","type":"integer"},"volumeGroupId":{"type":"string"},"volumeName":{"description":"The source volume name of the Snapshot.\n","type":"string"}},"required":["name","sourceId","sourceVolumeSizeInGib","volumeGroupId","volumeName","id"],"type":"object"}},"azure:eventgrid/getDomain:getDomain":{"description":"Use this data source to access information about an existing EventGrid Domain\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.eventgrid.getDomain({\n    name: \"my-eventgrid-domain\",\n    resourceGroupName: \"example-resources\",\n});\nexport const eventgridDomainMappingTopic = example.then(example =\u003e example.inputMappingFields?.[0]?.topic);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.eventgrid.get_domain(name=\"my-eventgrid-domain\",\n    resource_group_name=\"example-resources\")\npulumi.export(\"eventgridDomainMappingTopic\", example.input_mapping_fields[0].topic)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.EventGrid.GetDomain.Invoke(new()\n    {\n        Name = \"my-eventgrid-domain\",\n        ResourceGroupName = \"example-resources\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"eventgridDomainMappingTopic\"] = example.Apply(getDomainResult =\u003e getDomainResult.InputMappingFields[0]?.Topic),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/eventgrid\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := eventgrid.LookupDomain(ctx, \u0026eventgrid.LookupDomainArgs{\n\t\t\tName:              \"my-eventgrid-domain\",\n\t\t\tResourceGroupName: \"example-resources\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"eventgridDomainMappingTopic\", example.InputMappingFields[0].Topic)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.eventgrid.EventgridFunctions;\nimport com.pulumi.azure.eventgrid.inputs.GetDomainArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = EventgridFunctions.getDomain(GetDomainArgs.builder()\n            .name(\"my-eventgrid-domain\")\n            .resourceGroupName(\"example-resources\")\n            .build());\n\n        ctx.export(\"eventgridDomainMappingTopic\", example.inputMappingFields()[0].topic());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:eventgrid:getDomain\n      arguments:\n        name: my-eventgrid-domain\n        resourceGroupName: example-resources\noutputs:\n  eventgridDomainMappingTopic: ${example.inputMappingFields[0].topic}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.EventGrid` - 2025-02-15\n","inputs":{"description":"A collection of arguments for invoking getDomain.\n","properties":{"name":{"type":"string","description":"The name of the EventGrid Domain resource.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the EventGrid Domain exists.\n"}},"type":"object","required":["name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getDomain.\n","properties":{"endpoint":{"description":"The Endpoint associated with the EventGrid Domain.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"identities":{"description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as documented below.\n","items":{"$ref":"#/types/azure:eventgrid/getDomainIdentity:getDomainIdentity"},"type":"array"},"inboundIpRules":{"description":"One or more \u003cspan pulumi-lang-nodejs=\"`inboundIpRule`\" pulumi-lang-dotnet=\"`InboundIpRule`\" pulumi-lang-go=\"`inboundIpRule`\" pulumi-lang-python=\"`inbound_ip_rule`\" pulumi-lang-yaml=\"`inboundIpRule`\" pulumi-lang-java=\"`inboundIpRule`\"\u003e`inbound_ip_rule`\u003c/span\u003e blocks as defined below.\n","items":{"$ref":"#/types/azure:eventgrid/getDomainInboundIpRule:getDomainInboundIpRule"},"type":"array"},"inputMappingDefaultValues":{"description":"A \u003cspan pulumi-lang-nodejs=\"`inputMappingDefaultValues`\" pulumi-lang-dotnet=\"`InputMappingDefaultValues`\" pulumi-lang-go=\"`inputMappingDefaultValues`\" pulumi-lang-python=\"`input_mapping_default_values`\" pulumi-lang-yaml=\"`inputMappingDefaultValues`\" pulumi-lang-java=\"`inputMappingDefaultValues`\"\u003e`input_mapping_default_values`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:eventgrid/getDomainInputMappingDefaultValue:getDomainInputMappingDefaultValue"},"type":"array"},"inputMappingFields":{"description":"A \u003cspan pulumi-lang-nodejs=\"`inputMappingFields`\" pulumi-lang-dotnet=\"`InputMappingFields`\" pulumi-lang-go=\"`inputMappingFields`\" pulumi-lang-python=\"`input_mapping_fields`\" pulumi-lang-yaml=\"`inputMappingFields`\" pulumi-lang-java=\"`inputMappingFields`\"\u003e`input_mapping_fields`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:eventgrid/getDomainInputMappingField:getDomainInputMappingField"},"type":"array"},"inputSchema":{"description":"The schema in which incoming events will be published to this domain. Possible values are `CloudEventSchemaV1_0`, `CustomEventSchema`, or `EventGridSchema`.\n","type":"string"},"location":{"description":"The Azure Region in which this EventGrid Domain exists.\n","type":"string"},"name":{"type":"string"},"primaryAccessKey":{"description":"The primary access key associated with the EventGrid Domain.\n","secret":true,"type":"string"},"publicNetworkAccessEnabled":{"description":"Whether or not public network access is allowed for this server.\n","type":"boolean"},"resourceGroupName":{"type":"string"},"secondaryAccessKey":{"description":"The secondary access key associated with the EventGrid Domain.\n","secret":true,"type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"A mapping of tags assigned to the EventGrid Domain.\n","type":"object"}},"required":["endpoint","identities","inboundIpRules","inputMappingDefaultValues","inputMappingFields","inputSchema","location","name","primaryAccessKey","publicNetworkAccessEnabled","resourceGroupName","secondaryAccessKey","tags","id"],"type":"object"}},"azure:eventgrid/getDomainTopic:getDomainTopic":{"description":"Use this data source to access information about an existing EventGrid Domain Topic\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.eventgrid.getDomainTopic({\n    name: \"my-eventgrid-domain-topic\",\n    resourceGroupName: \"example-resources\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.eventgrid.get_domain_topic(name=\"my-eventgrid-domain-topic\",\n    resource_group_name=\"example-resources\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.EventGrid.GetDomainTopic.Invoke(new()\n    {\n        Name = \"my-eventgrid-domain-topic\",\n        ResourceGroupName = \"example-resources\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/eventgrid\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := eventgrid.LookupDomainTopic(ctx, \u0026eventgrid.LookupDomainTopicArgs{\n\t\t\tName:              \"my-eventgrid-domain-topic\",\n\t\t\tResourceGroupName: \"example-resources\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.eventgrid.EventgridFunctions;\nimport com.pulumi.azure.eventgrid.inputs.GetDomainTopicArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = EventgridFunctions.getDomainTopic(GetDomainTopicArgs.builder()\n            .name(\"my-eventgrid-domain-topic\")\n            .resourceGroupName(\"example-resources\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:eventgrid:getDomainTopic\n      arguments:\n        name: my-eventgrid-domain-topic\n        resourceGroupName: example-resources\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.EventGrid` - 2025-02-15\n","inputs":{"description":"A collection of arguments for invoking getDomainTopic.\n","properties":{"domainName":{"type":"string","description":"The name of the EventGrid Domain Topic domain.\n"},"name":{"type":"string","description":"The name of the EventGrid Domain Topic resource.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the EventGrid Domain Topic exists.\n"}},"type":"object","required":["domainName","name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getDomainTopic.\n","properties":{"domainName":{"description":"The EventGrid Domain Topic Domain name.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"name":{"type":"string"},"resourceGroupName":{"type":"string"}},"required":["domainName","name","resourceGroupName","id"],"type":"object"}},"azure:eventgrid/getPartnerNamespace:getPartnerNamespace":{"description":"Use this data source to access information about an existing Event Grid Partner Namespace\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.eventgrid.getPartnerNamespace({\n    name: \"my-eventgrid-partner-namespace\",\n    resourceGroupName: \"example-resources\",\n});\nexport const eventgridPartnerNamespaceEndpoint = example.then(example =\u003e example.endpoint);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.eventgrid.get_partner_namespace(name=\"my-eventgrid-partner-namespace\",\n    resource_group_name=\"example-resources\")\npulumi.export(\"eventgridPartnerNamespaceEndpoint\", example.endpoint)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.EventGrid.GetPartnerNamespace.Invoke(new()\n    {\n        Name = \"my-eventgrid-partner-namespace\",\n        ResourceGroupName = \"example-resources\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"eventgridPartnerNamespaceEndpoint\"] = example.Apply(getPartnerNamespaceResult =\u003e getPartnerNamespaceResult.Endpoint),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/eventgrid\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := eventgrid.LookupPartnerNamespace(ctx, \u0026eventgrid.LookupPartnerNamespaceArgs{\n\t\t\tName:              \"my-eventgrid-partner-namespace\",\n\t\t\tResourceGroupName: \"example-resources\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"eventgridPartnerNamespaceEndpoint\", example.Endpoint)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.eventgrid.EventgridFunctions;\nimport com.pulumi.azure.eventgrid.inputs.GetPartnerNamespaceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = EventgridFunctions.getPartnerNamespace(GetPartnerNamespaceArgs.builder()\n            .name(\"my-eventgrid-partner-namespace\")\n            .resourceGroupName(\"example-resources\")\n            .build());\n\n        ctx.export(\"eventgridPartnerNamespaceEndpoint\", example.endpoint());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:eventgrid:getPartnerNamespace\n      arguments:\n        name: my-eventgrid-partner-namespace\n        resourceGroupName: example-resources\noutputs:\n  eventgridPartnerNamespaceEndpoint: ${example.endpoint}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.EventGrid` - 2025-02-15\n","inputs":{"description":"A collection of arguments for invoking getPartnerNamespace.\n","properties":{"name":{"type":"string","description":"The name of the Event Grid Partner Namespace resource.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the Event Grid Partner Namespace exists.\n"}},"type":"object","required":["name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getPartnerNamespace.\n","properties":{"endpoint":{"description":"The endpoint for the Event Grid Partner Namespace.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"inboundIpRules":{"description":"One or more \u003cspan pulumi-lang-nodejs=\"`inboundIpRule`\" pulumi-lang-dotnet=\"`InboundIpRule`\" pulumi-lang-go=\"`inboundIpRule`\" pulumi-lang-python=\"`inbound_ip_rule`\" pulumi-lang-yaml=\"`inboundIpRule`\" pulumi-lang-java=\"`inboundIpRule`\"\u003e`inbound_ip_rule`\u003c/span\u003e blocks as defined below.\n","items":{"$ref":"#/types/azure:eventgrid/getPartnerNamespaceInboundIpRule:getPartnerNamespaceInboundIpRule"},"type":"array"},"localAuthenticationEnabled":{"description":"Whether local authentication methods are enabled for the Event Grid Partner Namespace.\n","type":"boolean"},"location":{"description":"The Azure Region where the Event Grid Partner Namespace exists.\n","type":"string"},"name":{"type":"string"},"partnerRegistrationId":{"description":"The resource Id of the partner registration associated with this Event Grid Partner Namespace.\n","type":"string"},"partnerTopicRoutingMode":{"description":"The partner topic routing mode.\n","type":"string"},"publicNetworkAccess":{"description":"Whether or not public network access is allowed for this server.\n","type":"string"},"resourceGroupName":{"type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"A mapping of tags which are assigned to the Event Grid Partner Namespace.\n","type":"object"}},"required":["endpoint","inboundIpRules","localAuthenticationEnabled","location","name","partnerRegistrationId","partnerTopicRoutingMode","publicNetworkAccess","resourceGroupName","tags","id"],"type":"object"}},"azure:eventgrid/getPartnerRegistration:getPartnerRegistration":{"description":"Use this data source to access information about an existing EventGrid Partner Registration\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.eventgrid.getPartnerRegistration({\n    name: \"my-eventgrid-partner-registration\",\n    resourceGroupName: \"example-resources\",\n});\nexport const eventgridPartnerRegistrationId = example.then(example =\u003e example.partnerRegistrationId);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.eventgrid.get_partner_registration(name=\"my-eventgrid-partner-registration\",\n    resource_group_name=\"example-resources\")\npulumi.export(\"eventgridPartnerRegistrationId\", example.partner_registration_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.EventGrid.GetPartnerRegistration.Invoke(new()\n    {\n        Name = \"my-eventgrid-partner-registration\",\n        ResourceGroupName = \"example-resources\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"eventgridPartnerRegistrationId\"] = example.Apply(getPartnerRegistrationResult =\u003e getPartnerRegistrationResult.PartnerRegistrationId),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/eventgrid\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := eventgrid.LookupPartnerRegistration(ctx, \u0026eventgrid.LookupPartnerRegistrationArgs{\n\t\t\tName:              \"my-eventgrid-partner-registration\",\n\t\t\tResourceGroupName: \"example-resources\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"eventgridPartnerRegistrationId\", example.PartnerRegistrationId)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.eventgrid.EventgridFunctions;\nimport com.pulumi.azure.eventgrid.inputs.GetPartnerRegistrationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = EventgridFunctions.getPartnerRegistration(GetPartnerRegistrationArgs.builder()\n            .name(\"my-eventgrid-partner-registration\")\n            .resourceGroupName(\"example-resources\")\n            .build());\n\n        ctx.export(\"eventgridPartnerRegistrationId\", example.partnerRegistrationId());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:eventgrid:getPartnerRegistration\n      arguments:\n        name: my-eventgrid-partner-registration\n        resourceGroupName: example-resources\noutputs:\n  eventgridPartnerRegistrationId: ${example.partnerRegistrationId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.EventGrid` - 2025-02-15\n","inputs":{"description":"A collection of arguments for invoking getPartnerRegistration.\n","properties":{"name":{"type":"string","description":"The name of the EventGrid Partner Registration resource.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the EventGrid Partner Registration exists.\n"}},"type":"object","required":["name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getPartnerRegistration.\n","properties":{"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"name":{"type":"string"},"partnerRegistrationId":{"description":"The immutable id of the corresponding partner registration.\n","type":"string"},"resourceGroupName":{"type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"A mapping of tags which are assigned to the EventGrid Partner Registration.\n","type":"object"}},"required":["name","partnerRegistrationId","resourceGroupName","tags","id"],"type":"object"}},"azure:eventgrid/getSystemTopic:getSystemTopic":{"description":"Use this data source to access information about an existing Event Grid System Topic\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.eventgrid.getSystemTopic({\n    name: \"eventgrid-system-topic\",\n    resourceGroupName: \"example-resources\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.eventgrid.get_system_topic(name=\"eventgrid-system-topic\",\n    resource_group_name=\"example-resources\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.EventGrid.GetSystemTopic.Invoke(new()\n    {\n        Name = \"eventgrid-system-topic\",\n        ResourceGroupName = \"example-resources\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/eventgrid\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := eventgrid.LookupSystemTopic(ctx, \u0026eventgrid.LookupSystemTopicArgs{\n\t\t\tName:              \"eventgrid-system-topic\",\n\t\t\tResourceGroupName: \"example-resources\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.eventgrid.EventgridFunctions;\nimport com.pulumi.azure.eventgrid.inputs.GetSystemTopicArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = EventgridFunctions.getSystemTopic(GetSystemTopicArgs.builder()\n            .name(\"eventgrid-system-topic\")\n            .resourceGroupName(\"example-resources\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:eventgrid:getSystemTopic\n      arguments:\n        name: eventgrid-system-topic\n        resourceGroupName: example-resources\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.EventGrid` - 2025-02-15\n","inputs":{"description":"A collection of arguments for invoking getSystemTopic.\n","properties":{"name":{"type":"string","description":"The name of the Event Grid System Topic resource.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the Event Grid System Topic exists.\n"}},"type":"object","required":["name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getSystemTopic.\n","properties":{"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"identities":{"description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below, which contains the Managed Service Identity information for this Event Grid System Topic.\n","items":{"$ref":"#/types/azure:eventgrid/getSystemTopicIdentity:getSystemTopicIdentity"},"type":"array"},"location":{"type":"string"},"metricArmResourceId":{"type":"string"},"metricResourceId":{"description":"The Metric Resource ID of the Event Grid System Topic.\n","type":"string"},"name":{"type":"string"},"resourceGroupName":{"type":"string"},"sourceArmResourceId":{"type":"string"},"sourceResourceId":{"description":"The ID of the Event Grid System Topic ARM Source.\n","type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"A mapping of tags which are assigned to the Event Grid System Topic.\n","type":"object"},"topicType":{"description":"The Topic Type of the Event Grid System Topic.\n","type":"string"}},"required":["identities","location","metricArmResourceId","metricResourceId","name","resourceGroupName","sourceArmResourceId","sourceResourceId","tags","topicType","id"],"type":"object"}},"azure:eventgrid/getTopic:getTopic":{"description":"Use this data source to access information about an existing EventGrid Topic\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.eventgrid.getTopic({\n    name: \"my-eventgrid-topic\",\n    resourceGroupName: \"example-resources\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.eventgrid.get_topic(name=\"my-eventgrid-topic\",\n    resource_group_name=\"example-resources\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.EventGrid.GetTopic.Invoke(new()\n    {\n        Name = \"my-eventgrid-topic\",\n        ResourceGroupName = \"example-resources\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/eventgrid\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := eventgrid.LookupTopic(ctx, \u0026eventgrid.LookupTopicArgs{\n\t\t\tName:              \"my-eventgrid-topic\",\n\t\t\tResourceGroupName: \"example-resources\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.eventgrid.EventgridFunctions;\nimport com.pulumi.azure.eventgrid.inputs.GetTopicArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = EventgridFunctions.getTopic(GetTopicArgs.builder()\n            .name(\"my-eventgrid-topic\")\n            .resourceGroupName(\"example-resources\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:eventgrid:getTopic\n      arguments:\n        name: my-eventgrid-topic\n        resourceGroupName: example-resources\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.EventGrid` - 2025-02-15\n","inputs":{"description":"A collection of arguments for invoking getTopic.\n","properties":{"name":{"type":"string","description":"The name of the EventGrid Topic resource.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the EventGrid Topic exists.\n"}},"type":"object","required":["name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getTopic.\n","properties":{"endpoint":{"description":"The Endpoint associated with the EventGrid Topic.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"location":{"type":"string"},"name":{"type":"string"},"primaryAccessKey":{"description":"The Primary Shared Access Key associated with the EventGrid Topic.\n","secret":true,"type":"string"},"resourceGroupName":{"type":"string"},"secondaryAccessKey":{"description":"The Secondary Shared Access Key associated with the EventGrid Topic.\n","secret":true,"type":"string"},"tags":{"additionalProperties":{"type":"string"},"type":"object"}},"required":["endpoint","location","name","primaryAccessKey","resourceGroupName","secondaryAccessKey","tags","id"],"type":"object"}},"azure:eventhub/getAuthorizationRule:getAuthorizationRule":{"description":"Use this data source to access information about an existing Event Hubs Authorization Rule within an Event Hub.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst test = azure.eventhub.getAuthorizationRule({\n    name: \"test\",\n    namespaceName: testAzurermEventhubNamespace.name,\n    eventhubName: testAzurermEventhub.name,\n    resourceGroupName: testAzurermResourceGroup.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\ntest = azure.eventhub.get_authorization_rule(name=\"test\",\n    namespace_name=test_azurerm_eventhub_namespace[\"name\"],\n    eventhub_name=test_azurerm_eventhub[\"name\"],\n    resource_group_name=test_azurerm_resource_group[\"name\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var test = Azure.EventHub.GetAuthorizationRule.Invoke(new()\n    {\n        Name = \"test\",\n        NamespaceName = testAzurermEventhubNamespace.Name,\n        EventhubName = testAzurermEventhub.Name,\n        ResourceGroupName = testAzurermResourceGroup.Name,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/eventhub\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := eventhub.LookupAuthorizationRule(ctx, \u0026eventhub.LookupAuthorizationRuleArgs{\n\t\t\tName:              \"test\",\n\t\t\tNamespaceName:     testAzurermEventhubNamespace.Name,\n\t\t\tEventhubName:      testAzurermEventhub.Name,\n\t\t\tResourceGroupName: testAzurermResourceGroup.Name,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.eventhub.EventhubFunctions;\nimport com.pulumi.azure.eventhub.inputs.GetAuthorizationRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var test = EventhubFunctions.getAuthorizationRule(GetAuthorizationRuleArgs.builder()\n            .name(\"test\")\n            .namespaceName(testAzurermEventhubNamespace.name())\n            .eventhubName(testAzurermEventhub.name())\n            .resourceGroupName(testAzurermResourceGroup.name())\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  test:\n    fn::invoke:\n      function: azure:eventhub:getAuthorizationRule\n      arguments:\n        name: test\n        namespaceName: ${testAzurermEventhubNamespace.name}\n        eventhubName: ${testAzurermEventhub.name}\n        resourceGroupName: ${testAzurermResourceGroup.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.EventHub` - 2024-01-01\n","inputs":{"description":"A collection of arguments for invoking getAuthorizationRule.\n","properties":{"eventhubName":{"type":"string","description":"Specifies the name of the EventHub.\n"},"listen":{"type":"boolean"},"manage":{"type":"boolean"},"name":{"type":"string","description":"Specifies the name of the EventHub Authorization Rule resource. be created.\n"},"namespaceName":{"type":"string","description":"Specifies the name of the grandparent EventHub Namespace.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the EventHub Authorization Rule's grandparent Namespace exists.\n"},"send":{"type":"boolean"}},"type":"object","required":["eventhubName","name","namespaceName","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getAuthorizationRule.\n","properties":{"eventhubName":{"type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"listen":{"type":"boolean"},"manage":{"type":"boolean"},"name":{"type":"string"},"namespaceName":{"type":"string"},"primaryConnectionString":{"description":"The Primary Connection String for the Event Hubs Authorization Rule.\n","secret":true,"type":"string"},"primaryConnectionStringAlias":{"description":"The alias of the Primary Connection String for the Event Hubs Authorization Rule.\n","secret":true,"type":"string"},"primaryKey":{"description":"The Primary Key for the Event Hubs Authorization Rule.\n","secret":true,"type":"string"},"resourceGroupName":{"type":"string"},"secondaryConnectionString":{"description":"The Secondary Connection String for the Event Hubs Authorization Rule.\n","secret":true,"type":"string"},"secondaryConnectionStringAlias":{"description":"The alias of the Secondary Connection String for the Event Hubs Authorization Rule.\n","secret":true,"type":"string"},"secondaryKey":{"description":"The Secondary Key for the Event Hubs Authorization Rule.\n","secret":true,"type":"string"},"send":{"type":"boolean"}},"required":["eventhubName","name","namespaceName","primaryConnectionString","primaryConnectionStringAlias","primaryKey","resourceGroupName","secondaryConnectionString","secondaryConnectionStringAlias","secondaryKey","id"],"type":"object"}},"azure:eventhub/getCluster:getCluster":{"description":"Use this data source to access information about an existing EventHub.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.eventhub.getCluster({\n    name: \"search-eventhub\",\n    resourceGroupName: \"search-service\",\n});\nexport const eventhubId = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.eventhub.get_cluster(name=\"search-eventhub\",\n    resource_group_name=\"search-service\")\npulumi.export(\"eventhubId\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.EventHub.GetCluster.Invoke(new()\n    {\n        Name = \"search-eventhub\",\n        ResourceGroupName = \"search-service\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"eventhubId\"] = example.Apply(getClusterResult =\u003e getClusterResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/eventhub\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := eventhub.LookupCluster(ctx, \u0026eventhub.LookupClusterArgs{\n\t\t\tName:              \"search-eventhub\",\n\t\t\tResourceGroupName: \"search-service\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"eventhubId\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.eventhub.EventhubFunctions;\nimport com.pulumi.azure.eventhub.inputs.GetClusterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = EventhubFunctions.getCluster(GetClusterArgs.builder()\n            .name(\"search-eventhub\")\n            .resourceGroupName(\"search-service\")\n            .build());\n\n        ctx.export(\"eventhubId\", example.id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:eventhub:getCluster\n      arguments:\n        name: search-eventhub\n        resourceGroupName: search-service\noutputs:\n  eventhubId: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.EventHub` - 2024-01-01\n","inputs":{"description":"A collection of arguments for invoking getCluster.\n","properties":{"name":{"type":"string","description":"The name of this EventHub Cluster.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the EventHub Cluster exists.\n"}},"type":"object","required":["name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getCluster.\n","properties":{"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"location":{"description":"Location of the EventHub Cluster.\n","type":"string"},"name":{"type":"string"},"resourceGroupName":{"type":"string"},"skuName":{"description":"SKU name of the EventHub Cluster.\n","type":"string"}},"required":["location","name","resourceGroupName","skuName","id"],"type":"object"}},"azure:eventhub/getConsumeGroup:getConsumeGroup":{"description":"Use this data source to access information about an existing Event Hubs Consumer Group within an Event Hub.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst test = azure.eventhub.getConsumeGroup({\n    name: testAzurermEventhubConsumerGroup.name,\n    namespaceName: testAzurermEventhubNamespace.name,\n    eventhubName: testAzurermEventhub.name,\n    resourceGroupName: testAzurermResourceGroup.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\ntest = azure.eventhub.get_consume_group(name=test_azurerm_eventhub_consumer_group[\"name\"],\n    namespace_name=test_azurerm_eventhub_namespace[\"name\"],\n    eventhub_name=test_azurerm_eventhub[\"name\"],\n    resource_group_name=test_azurerm_resource_group[\"name\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var test = Azure.EventHub.GetConsumeGroup.Invoke(new()\n    {\n        Name = testAzurermEventhubConsumerGroup.Name,\n        NamespaceName = testAzurermEventhubNamespace.Name,\n        EventhubName = testAzurermEventhub.Name,\n        ResourceGroupName = testAzurermResourceGroup.Name,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/eventhub\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := eventhub.GetConsumeGroup(ctx, \u0026eventhub.GetConsumeGroupArgs{\n\t\t\tName:              testAzurermEventhubConsumerGroup.Name,\n\t\t\tNamespaceName:     testAzurermEventhubNamespace.Name,\n\t\t\tEventhubName:      testAzurermEventhub.Name,\n\t\t\tResourceGroupName: testAzurermResourceGroup.Name,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.eventhub.EventhubFunctions;\nimport com.pulumi.azure.eventhub.inputs.GetConsumeGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var test = EventhubFunctions.getConsumeGroup(GetConsumeGroupArgs.builder()\n            .name(testAzurermEventhubConsumerGroup.name())\n            .namespaceName(testAzurermEventhubNamespace.name())\n            .eventhubName(testAzurermEventhub.name())\n            .resourceGroupName(testAzurermResourceGroup.name())\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  test:\n    fn::invoke:\n      function: azure:eventhub:getConsumeGroup\n      arguments:\n        name: ${testAzurermEventhubConsumerGroup.name}\n        namespaceName: ${testAzurermEventhubNamespace.name}\n        eventhubName: ${testAzurermEventhub.name}\n        resourceGroupName: ${testAzurermResourceGroup.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.EventHub` - 2024-01-01\n","inputs":{"description":"A collection of arguments for invoking getConsumeGroup.\n","properties":{"eventhubName":{"type":"string","description":"Specifies the name of the EventHub.\n"},"name":{"type":"string","description":"Specifies the name of the EventHub Consumer Group resource.\n"},"namespaceName":{"type":"string","description":"Specifies the name of the grandparent EventHub Namespace.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the EventHub Consumer Group's grandparent Namespace exists.\n"}},"type":"object","required":["eventhubName","name","namespaceName","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getConsumeGroup.\n","properties":{"eventhubName":{"type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"name":{"type":"string"},"namespaceName":{"type":"string"},"resourceGroupName":{"type":"string"},"userMetadata":{"description":"Specifies the user metadata.\n","type":"string"}},"required":["eventhubName","name","namespaceName","resourceGroupName","userMetadata","id"],"type":"object"}},"azure:eventhub/getEventHub:getEventHub":{"description":"Use this data source to access information about an existing EventHub.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.eventhub.getEventHub({\n    name: \"search-eventhub\",\n    resourceGroupName: \"search-service\",\n    namespaceName: \"search-eventhubns\",\n});\nexport const eventhubId = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.eventhub.get_event_hub(name=\"search-eventhub\",\n    resource_group_name=\"search-service\",\n    namespace_name=\"search-eventhubns\")\npulumi.export(\"eventhubId\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.EventHub.GetEventHub.Invoke(new()\n    {\n        Name = \"search-eventhub\",\n        ResourceGroupName = \"search-service\",\n        NamespaceName = \"search-eventhubns\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"eventhubId\"] = example.Apply(getEventHubResult =\u003e getEventHubResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/eventhub\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := eventhub.LookupEventHub(ctx, \u0026eventhub.LookupEventHubArgs{\n\t\t\tName:              \"search-eventhub\",\n\t\t\tResourceGroupName: \"search-service\",\n\t\t\tNamespaceName:     \"search-eventhubns\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"eventhubId\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.eventhub.EventhubFunctions;\nimport com.pulumi.azure.eventhub.inputs.GetEventHubArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = EventhubFunctions.getEventHub(GetEventHubArgs.builder()\n            .name(\"search-eventhub\")\n            .resourceGroupName(\"search-service\")\n            .namespaceName(\"search-eventhubns\")\n            .build());\n\n        ctx.export(\"eventhubId\", example.id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:eventhub:getEventHub\n      arguments:\n        name: search-eventhub\n        resourceGroupName: search-service\n        namespaceName: search-eventhubns\noutputs:\n  eventhubId: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.EventHub` - 2024-01-01\n","inputs":{"description":"A collection of arguments for invoking getEventHub.\n","properties":{"name":{"type":"string","description":"The name of this EventHub.\n"},"namespaceName":{"type":"string","description":"The name of the EventHub Namespace where the EventHub exists.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the EventHub exists.\n"}},"type":"object","required":["name","namespaceName","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getEventHub.\n","properties":{"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"name":{"type":"string"},"namespaceName":{"type":"string"},"partitionCount":{"description":"The number of partitions in the EventHub.\n","type":"integer"},"partitionIds":{"description":"The identifiers for the partitions of this EventHub.\n","items":{"type":"string"},"type":"array"},"resourceGroupName":{"type":"string"}},"required":["name","namespaceName","partitionCount","partitionIds","resourceGroupName","id"],"type":"object"}},"azure:eventhub/getEventhubNamespace:getEventhubNamespace":{"deprecationMessage":"azure.eventhub.getEventhubNamespace has been deprecated in favor of azure.eventhub.getNamespace","description":"Use this data source to access information about an existing EventHub Namespace.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.eventhub.getNamespace({\n    name: \"search-eventhubns\",\n    resourceGroupName: \"search-service\",\n});\nexport const eventhubNamespaceId = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.eventhub.get_namespace(name=\"search-eventhubns\",\n    resource_group_name=\"search-service\")\npulumi.export(\"eventhubNamespaceId\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.EventHub.GetNamespace.Invoke(new()\n    {\n        Name = \"search-eventhubns\",\n        ResourceGroupName = \"search-service\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"eventhubNamespaceId\"] = example.Apply(getNamespaceResult =\u003e getNamespaceResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/eventhub\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := eventhub.LookupNamespace(ctx, \u0026eventhub.LookupNamespaceArgs{\n\t\t\tName:              \"search-eventhubns\",\n\t\t\tResourceGroupName: \"search-service\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"eventhubNamespaceId\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.eventhub.EventhubFunctions;\nimport com.pulumi.azure.eventhub.inputs.GetNamespaceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = EventhubFunctions.getNamespace(GetNamespaceArgs.builder()\n            .name(\"search-eventhubns\")\n            .resourceGroupName(\"search-service\")\n            .build());\n\n        ctx.export(\"eventhubNamespaceId\", example.id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:eventhub:getNamespace\n      arguments:\n        name: search-eventhubns\n        resourceGroupName: search-service\noutputs:\n  eventhubNamespaceId: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.EventHub` - 2024-01-01\n","inputs":{"description":"A collection of arguments for invoking getEventhubNamespace.\n","properties":{"name":{"type":"string","description":"The name of the EventHub Namespace.\n"},"resourceGroupName":{"type":"string","description":"The Name of the Resource Group where the EventHub Namespace exists.\n"}},"type":"object","required":["name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getEventhubNamespace.\n","properties":{"autoInflateEnabled":{"description":"Is Auto Inflate enabled for the EventHub Namespace?\n","type":"boolean"},"capacity":{"description":"The Capacity / Throughput Units for a `Standard` SKU namespace.\n","type":"integer"},"dedicatedClusterId":{"description":"The ID of the EventHub Dedicated Cluster where this Namespace exists.\n","type":"string"},"defaultPrimaryConnectionString":{"description":"The primary connection string for the authorization\nrule `RootManageSharedAccessKey`.\n","secret":true,"type":"string"},"defaultPrimaryConnectionStringAlias":{"description":"The alias of the primary connection string for the authorization\nrule `RootManageSharedAccessKey`.\n","secret":true,"type":"string"},"defaultPrimaryKey":{"description":"The primary access key for the authorization rule `RootManageSharedAccessKey`.\n","secret":true,"type":"string"},"defaultSecondaryConnectionString":{"description":"The secondary connection string for the\nauthorization rule `RootManageSharedAccessKey`.\n","secret":true,"type":"string"},"defaultSecondaryConnectionStringAlias":{"description":"The alias of the secondary connection string for the\nauthorization rule `RootManageSharedAccessKey`.\n","secret":true,"type":"string"},"defaultSecondaryKey":{"description":"The secondary access key for the authorization rule `RootManageSharedAccessKey`.\n","secret":true,"type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"kafkaEnabled":{"type":"boolean"},"location":{"description":"The Azure location where the EventHub Namespace exists\n","type":"string"},"maximumThroughputUnits":{"description":"Specifies the maximum number of throughput units when Auto Inflate is Enabled.\n","type":"integer"},"name":{"type":"string"},"resourceGroupName":{"type":"string"},"sku":{"description":"Defines which tier to use.\n","type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the EventHub Namespace.\n","type":"object"}},"required":["autoInflateEnabled","capacity","dedicatedClusterId","defaultPrimaryConnectionString","defaultPrimaryConnectionStringAlias","defaultPrimaryKey","defaultSecondaryConnectionString","defaultSecondaryConnectionStringAlias","defaultSecondaryKey","kafkaEnabled","location","maximumThroughputUnits","name","resourceGroupName","sku","tags","id"],"type":"object"}},"azure:eventhub/getNamespace:getNamespace":{"description":"Use this data source to access information about an existing EventHub Namespace.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.eventhub.getNamespace({\n    name: \"search-eventhubns\",\n    resourceGroupName: \"search-service\",\n});\nexport const eventhubNamespaceId = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.eventhub.get_namespace(name=\"search-eventhubns\",\n    resource_group_name=\"search-service\")\npulumi.export(\"eventhubNamespaceId\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.EventHub.GetNamespace.Invoke(new()\n    {\n        Name = \"search-eventhubns\",\n        ResourceGroupName = \"search-service\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"eventhubNamespaceId\"] = example.Apply(getNamespaceResult =\u003e getNamespaceResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/eventhub\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := eventhub.LookupNamespace(ctx, \u0026eventhub.LookupNamespaceArgs{\n\t\t\tName:              \"search-eventhubns\",\n\t\t\tResourceGroupName: \"search-service\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"eventhubNamespaceId\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.eventhub.EventhubFunctions;\nimport com.pulumi.azure.eventhub.inputs.GetNamespaceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = EventhubFunctions.getNamespace(GetNamespaceArgs.builder()\n            .name(\"search-eventhubns\")\n            .resourceGroupName(\"search-service\")\n            .build());\n\n        ctx.export(\"eventhubNamespaceId\", example.id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:eventhub:getNamespace\n      arguments:\n        name: search-eventhubns\n        resourceGroupName: search-service\noutputs:\n  eventhubNamespaceId: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.EventHub` - 2024-01-01\n","inputs":{"description":"A collection of arguments for invoking getNamespace.\n","properties":{"name":{"type":"string","description":"The name of the EventHub Namespace.\n"},"resourceGroupName":{"type":"string","description":"The Name of the Resource Group where the EventHub Namespace exists.\n"}},"type":"object","required":["name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getNamespace.\n","properties":{"autoInflateEnabled":{"description":"Is Auto Inflate enabled for the EventHub Namespace?\n","type":"boolean"},"capacity":{"description":"The Capacity / Throughput Units for a `Standard` SKU namespace.\n","type":"integer"},"dedicatedClusterId":{"description":"The ID of the EventHub Dedicated Cluster where this Namespace exists.\n","type":"string"},"defaultPrimaryConnectionString":{"description":"The primary connection string for the authorization\nrule `RootManageSharedAccessKey`.\n","secret":true,"type":"string"},"defaultPrimaryConnectionStringAlias":{"description":"The alias of the primary connection string for the authorization\nrule `RootManageSharedAccessKey`.\n","secret":true,"type":"string"},"defaultPrimaryKey":{"description":"The primary access key for the authorization rule `RootManageSharedAccessKey`.\n","secret":true,"type":"string"},"defaultSecondaryConnectionString":{"description":"The secondary connection string for the\nauthorization rule `RootManageSharedAccessKey`.\n","secret":true,"type":"string"},"defaultSecondaryConnectionStringAlias":{"description":"The alias of the secondary connection string for the\nauthorization rule `RootManageSharedAccessKey`.\n","secret":true,"type":"string"},"defaultSecondaryKey":{"description":"The secondary access key for the authorization rule `RootManageSharedAccessKey`.\n","secret":true,"type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"kafkaEnabled":{"type":"boolean"},"location":{"description":"The Azure location where the EventHub Namespace exists\n","type":"string"},"maximumThroughputUnits":{"description":"Specifies the maximum number of throughput units when Auto Inflate is Enabled.\n","type":"integer"},"name":{"type":"string"},"resourceGroupName":{"type":"string"},"sku":{"description":"Defines which tier to use.\n","type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the EventHub Namespace.\n","type":"object"}},"required":["autoInflateEnabled","capacity","dedicatedClusterId","defaultPrimaryConnectionString","defaultPrimaryConnectionStringAlias","defaultPrimaryKey","defaultSecondaryConnectionString","defaultSecondaryConnectionStringAlias","defaultSecondaryKey","kafkaEnabled","location","maximumThroughputUnits","name","resourceGroupName","sku","tags","id"],"type":"object"}},"azure:eventhub/getNamespaceAuthorizationRule:getNamespaceAuthorizationRule":{"description":"Use this data source to access information about an Authorization Rule for an Event Hub Namespace.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.eventhub.getNamespaceAuthorizationRule({\n    name: \"navi\",\n    resourceGroupName: \"example-resources\",\n    namespaceName: \"example-ns\",\n});\nexport const eventhubAuthorizationRuleId = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.eventhub.get_namespace_authorization_rule(name=\"navi\",\n    resource_group_name=\"example-resources\",\n    namespace_name=\"example-ns\")\npulumi.export(\"eventhubAuthorizationRuleId\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.EventHub.GetNamespaceAuthorizationRule.Invoke(new()\n    {\n        Name = \"navi\",\n        ResourceGroupName = \"example-resources\",\n        NamespaceName = \"example-ns\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"eventhubAuthorizationRuleId\"] = example.Apply(getNamespaceAuthorizationRuleResult =\u003e getNamespaceAuthorizationRuleResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/eventhub\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := eventhub.LookupNamespaceAuthorizationRule(ctx, \u0026eventhub.LookupNamespaceAuthorizationRuleArgs{\n\t\t\tName:              \"navi\",\n\t\t\tResourceGroupName: \"example-resources\",\n\t\t\tNamespaceName:     \"example-ns\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"eventhubAuthorizationRuleId\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.eventhub.EventhubFunctions;\nimport com.pulumi.azure.eventhub.inputs.GetNamespaceAuthorizationRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = EventhubFunctions.getNamespaceAuthorizationRule(GetNamespaceAuthorizationRuleArgs.builder()\n            .name(\"navi\")\n            .resourceGroupName(\"example-resources\")\n            .namespaceName(\"example-ns\")\n            .build());\n\n        ctx.export(\"eventhubAuthorizationRuleId\", example.id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:eventhub:getNamespaceAuthorizationRule\n      arguments:\n        name: navi\n        resourceGroupName: example-resources\n        namespaceName: example-ns\noutputs:\n  eventhubAuthorizationRuleId: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.EventHub` - 2024-01-01\n","inputs":{"description":"A collection of arguments for invoking getNamespaceAuthorizationRule.\n","properties":{"name":{"type":"string","description":"The name of the EventHub Authorization Rule resource.\n"},"namespaceName":{"type":"string","description":"Specifies the name of the EventHub Namespace.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the EventHub Namespace exists.\n"}},"type":"object","required":["name","namespaceName","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getNamespaceAuthorizationRule.\n","properties":{"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"listen":{"description":"Does this Authorization Rule have permissions to Listen to the Event Hub?\n","type":"boolean"},"manage":{"description":"Does this Authorization Rule have permissions to Manage to the Event Hub?\n","type":"boolean"},"name":{"type":"string"},"namespaceName":{"type":"string"},"primaryConnectionString":{"description":"The Primary Connection String for the Event Hubs authorization Rule.\n","secret":true,"type":"string"},"primaryConnectionStringAlias":{"description":"The alias of the Primary Connection String for the Event Hubs authorization Rule.\n","secret":true,"type":"string"},"primaryKey":{"description":"The Primary Key for the Event Hubs authorization Rule.\n","secret":true,"type":"string"},"resourceGroupName":{"type":"string"},"secondaryConnectionString":{"description":"The Secondary Connection String for the Event Hubs authorization Rule.\n","secret":true,"type":"string"},"secondaryConnectionStringAlias":{"description":"The alias of the Secondary Connection String for the Event Hubs authorization Rule.\n","secret":true,"type":"string"},"secondaryKey":{"description":"The Secondary Key for the Event Hubs authorization Rule.\n","secret":true,"type":"string"},"send":{"description":"Does this Authorization Rule have permissions to Send to the Event Hub?\n","type":"boolean"}},"required":["listen","manage","name","namespaceName","primaryConnectionString","primaryConnectionStringAlias","primaryKey","resourceGroupName","secondaryConnectionString","secondaryConnectionStringAlias","secondaryKey","send","id"],"type":"object"}},"azure:eventhub/getSas:getSas":{"description":"Use this data source to obtain a Shared Access Signature (SAS Token) for an existing Event Hub.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleEventHubNamespace = new azure.eventhub.EventHubNamespace(\"example\", {\n    name: \"example-ehn\",\n    location: exampleResourceGroup.location,\n    resourceGroupName: exampleResourceGroup.name,\n    sku: \"Basic\",\n});\nconst exampleEventHub = new azure.eventhub.EventHub(\"example\", {\n    name: \"example-eh\",\n    namespaceName: exampleEventHubNamespace.name,\n    resourceGroupName: exampleResourceGroup.name,\n    partitionCount: 1,\n    messageRetention: 1,\n});\nconst exampleAuthorizationRule = new azure.eventhub.AuthorizationRule(\"example\", {\n    name: \"example-ehar\",\n    namespaceName: exampleEventHubNamespace.name,\n    eventhubName: exampleEventHub.name,\n    resourceGroupName: exampleResourceGroup.name,\n    listen: true,\n    send: true,\n    manage: true,\n});\nconst example = azure.eventhub.getAuthorizationRuleOutput({\n    name: exampleAuthorizationRule.name,\n    namespaceName: exampleEventHubNamespace.name,\n    eventhubName: exampleEventHub.name,\n    resourceGroupName: exampleResourceGroup.name,\n});\nconst exampleGetSas = example.apply(example =\u003e azure.eventhub.getSasOutput({\n    connectionString: example.primaryConnectionString,\n    expiry: \"2023-06-23T00:00:00Z\",\n}));\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_event_hub_namespace = azure.eventhub.EventHubNamespace(\"example\",\n    name=\"example-ehn\",\n    location=example_resource_group.location,\n    resource_group_name=example_resource_group.name,\n    sku=\"Basic\")\nexample_event_hub = azure.eventhub.EventHub(\"example\",\n    name=\"example-eh\",\n    namespace_name=example_event_hub_namespace.name,\n    resource_group_name=example_resource_group.name,\n    partition_count=1,\n    message_retention=1)\nexample_authorization_rule = azure.eventhub.AuthorizationRule(\"example\",\n    name=\"example-ehar\",\n    namespace_name=example_event_hub_namespace.name,\n    eventhub_name=example_event_hub.name,\n    resource_group_name=example_resource_group.name,\n    listen=True,\n    send=True,\n    manage=True)\nexample = azure.eventhub.get_authorization_rule_output(name=example_authorization_rule.name,\n    namespace_name=example_event_hub_namespace.name,\n    eventhub_name=example_event_hub.name,\n    resource_group_name=example_resource_group.name)\nexample_get_sas = example.apply(lambda example: azure.eventhub.get_sas_output(connection_string=example.primary_connection_string,\n    expiry=\"2023-06-23T00:00:00Z\"))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleResourceGroup = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleEventHubNamespace = new Azure.EventHub.EventHubNamespace(\"example\", new()\n    {\n        Name = \"example-ehn\",\n        Location = exampleResourceGroup.Location,\n        ResourceGroupName = exampleResourceGroup.Name,\n        Sku = \"Basic\",\n    });\n\n    var exampleEventHub = new Azure.EventHub.EventHub(\"example\", new()\n    {\n        Name = \"example-eh\",\n        NamespaceName = exampleEventHubNamespace.Name,\n        ResourceGroupName = exampleResourceGroup.Name,\n        PartitionCount = 1,\n        MessageRetention = 1,\n    });\n\n    var exampleAuthorizationRule = new Azure.EventHub.AuthorizationRule(\"example\", new()\n    {\n        Name = \"example-ehar\",\n        NamespaceName = exampleEventHubNamespace.Name,\n        EventhubName = exampleEventHub.Name,\n        ResourceGroupName = exampleResourceGroup.Name,\n        Listen = true,\n        Send = true,\n        Manage = true,\n    });\n\n    var example = Azure.EventHub.GetAuthorizationRule.Invoke(new()\n    {\n        Name = exampleAuthorizationRule.Name,\n        NamespaceName = exampleEventHubNamespace.Name,\n        EventhubName = exampleEventHub.Name,\n        ResourceGroupName = exampleResourceGroup.Name,\n    });\n\n    var exampleGetSas = Azure.EventHub.GetSas.Invoke(new()\n    {\n        ConnectionString = example.Apply(getAuthorizationRuleResult =\u003e getAuthorizationRuleResult.PrimaryConnectionString),\n        Expiry = \"2023-06-23T00:00:00Z\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/eventhub\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleEventHubNamespace, err := eventhub.NewEventHubNamespace(ctx, \"example\", \u0026eventhub.EventHubNamespaceArgs{\n\t\t\tName:              pulumi.String(\"example-ehn\"),\n\t\t\tLocation:          exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tSku:               pulumi.String(\"Basic\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleEventHub, err := eventhub.NewEventHub(ctx, \"example\", \u0026eventhub.EventHubArgs{\n\t\t\tName:              pulumi.String(\"example-eh\"),\n\t\t\tNamespaceName:     exampleEventHubNamespace.Name,\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tPartitionCount:    pulumi.Int(1),\n\t\t\tMessageRetention:  pulumi.Int(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAuthorizationRule, err := eventhub.NewAuthorizationRule(ctx, \"example\", \u0026eventhub.AuthorizationRuleArgs{\n\t\t\tName:              pulumi.String(\"example-ehar\"),\n\t\t\tNamespaceName:     exampleEventHubNamespace.Name,\n\t\t\tEventhubName:      exampleEventHub.Name,\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tListen:            pulumi.Bool(true),\n\t\t\tSend:              pulumi.Bool(true),\n\t\t\tManage:            pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample := eventhub.LookupAuthorizationRuleOutput(ctx, eventhub.GetAuthorizationRuleOutputArgs{\n\t\t\tName:              exampleAuthorizationRule.Name,\n\t\t\tNamespaceName:     exampleEventHubNamespace.Name,\n\t\t\tEventhubName:      exampleEventHub.Name,\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t}, nil)\n\t\t_ = example.ApplyT(func(example eventhub.GetAuthorizationRuleResult) (eventhub.GetSasResult, error) {\n\t\t\treturn eventhub.GetSasResult(interface{}(eventhub.GetSas(ctx, \u0026eventhub.GetSasArgs{\n\t\t\t\tConnectionString: example.PrimaryConnectionString,\n\t\t\t\tExpiry:           \"2023-06-23T00:00:00Z\",\n\t\t\t}, nil))), nil\n\t\t}).(eventhub.GetSasResultOutput)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.eventhub.EventHubNamespace;\nimport com.pulumi.azure.eventhub.EventHubNamespaceArgs;\nimport com.pulumi.azure.eventhub.EventHub;\nimport com.pulumi.azure.eventhub.EventHubArgs;\nimport com.pulumi.azure.eventhub.AuthorizationRule;\nimport com.pulumi.azure.eventhub.AuthorizationRuleArgs;\nimport com.pulumi.azure.eventhub.EventhubFunctions;\nimport com.pulumi.azure.eventhub.inputs.GetAuthorizationRuleArgs;\nimport com.pulumi.azure.eventhub.inputs.GetSasArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var exampleResourceGroup = new ResourceGroup(\"exampleResourceGroup\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleEventHubNamespace = new EventHubNamespace(\"exampleEventHubNamespace\", EventHubNamespaceArgs.builder()\n            .name(\"example-ehn\")\n            .location(exampleResourceGroup.location())\n            .resourceGroupName(exampleResourceGroup.name())\n            .sku(\"Basic\")\n            .build());\n\n        var exampleEventHub = new EventHub(\"exampleEventHub\", EventHubArgs.builder()\n            .name(\"example-eh\")\n            .namespaceName(exampleEventHubNamespace.name())\n            .resourceGroupName(exampleResourceGroup.name())\n            .partitionCount(1)\n            .messageRetention(1)\n            .build());\n\n        var exampleAuthorizationRule = new AuthorizationRule(\"exampleAuthorizationRule\", AuthorizationRuleArgs.builder()\n            .name(\"example-ehar\")\n            .namespaceName(exampleEventHubNamespace.name())\n            .eventhubName(exampleEventHub.name())\n            .resourceGroupName(exampleResourceGroup.name())\n            .listen(true)\n            .send(true)\n            .manage(true)\n            .build());\n\n        final var example = EventhubFunctions.getAuthorizationRule(GetAuthorizationRuleArgs.builder()\n            .name(exampleAuthorizationRule.name())\n            .namespaceName(exampleEventHubNamespace.name())\n            .eventhubName(exampleEventHub.name())\n            .resourceGroupName(exampleResourceGroup.name())\n            .build());\n\n        final var exampleGetSas = example.applyValue(_example -\u003e EventhubFunctions.getSas(GetSasArgs.builder()\n            .connectionString(_example.primaryConnectionString())\n            .expiry(\"2023-06-23T00:00:00Z\")\n            .build()));\n\n    }\n}\n```\n```yaml\nresources:\n  exampleResourceGroup:\n    type: azure:core:ResourceGroup\n    name: example\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleEventHubNamespace:\n    type: azure:eventhub:EventHubNamespace\n    name: example\n    properties:\n      name: example-ehn\n      location: ${exampleResourceGroup.location}\n      resourceGroupName: ${exampleResourceGroup.name}\n      sku: Basic\n  exampleEventHub:\n    type: azure:eventhub:EventHub\n    name: example\n    properties:\n      name: example-eh\n      namespaceName: ${exampleEventHubNamespace.name}\n      resourceGroupName: ${exampleResourceGroup.name}\n      partitionCount: 1\n      messageRetention: 1\n  exampleAuthorizationRule:\n    type: azure:eventhub:AuthorizationRule\n    name: example\n    properties:\n      name: example-ehar\n      namespaceName: ${exampleEventHubNamespace.name}\n      eventhubName: ${exampleEventHub.name}\n      resourceGroupName: ${exampleResourceGroup.name}\n      listen: true\n      send: true\n      manage: true\nvariables:\n  example:\n    fn::invoke:\n      function: azure:eventhub:getAuthorizationRule\n      arguments:\n        name: ${exampleAuthorizationRule.name}\n        namespaceName: ${exampleEventHubNamespace.name}\n        eventhubName: ${exampleEventHub.name}\n        resourceGroupName: ${exampleResourceGroup.name}\n  exampleGetSas:\n    fn::invoke:\n      function: azure:eventhub:getSas\n      arguments:\n        connectionString: ${example.primaryConnectionString}\n        expiry: 2023-06-23T00:00:00Z\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getSas.\n","properties":{"connectionString":{"type":"string","description":"The connection string for the Event Hub to which this SAS applies.\n","secret":true},"expiry":{"type":"string","description":"The expiration time and date of this SAS. Must be a valid ISO-8601 format time/date string.\n"}},"type":"object","required":["connectionString","expiry"]},"outputs":{"description":"A collection of values returned by getSas.\n","properties":{"connectionString":{"secret":true,"type":"string"},"expiry":{"type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"sas":{"description":"The computed Event Hub Shared Access Signature (SAS).\n","secret":true,"type":"string"}},"required":["connectionString","expiry","sas","id"],"type":"object"}},"azure:eventhub/getServiceBusNamespace:getServiceBusNamespace":{"deprecationMessage":"azure.eventhub.getServiceBusNamespace has been deprecated in favor of azure.servicebus.getNamespace","description":"Use this data source to access information about an existing ServiceBus Namespace.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.servicebus.getNamespace({\n    name: \"examplenamespace\",\n    resourceGroupName: \"example-resources\",\n});\nexport const location = example.then(example =\u003e example.location);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.servicebus.get_namespace(name=\"examplenamespace\",\n    resource_group_name=\"example-resources\")\npulumi.export(\"location\", example.location)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.ServiceBus.GetNamespace.Invoke(new()\n    {\n        Name = \"examplenamespace\",\n        ResourceGroupName = \"example-resources\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"location\"] = example.Apply(getNamespaceResult =\u003e getNamespaceResult.Location),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/servicebus\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := servicebus.LookupNamespace(ctx, \u0026servicebus.LookupNamespaceArgs{\n\t\t\tName:              \"examplenamespace\",\n\t\t\tResourceGroupName: \"example-resources\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"location\", example.Location)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.servicebus.ServicebusFunctions;\nimport com.pulumi.azure.servicebus.inputs.GetNamespaceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = ServicebusFunctions.getNamespace(GetNamespaceArgs.builder()\n            .name(\"examplenamespace\")\n            .resourceGroupName(\"example-resources\")\n            .build());\n\n        ctx.export(\"location\", example.location());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:servicebus:getNamespace\n      arguments:\n        name: examplenamespace\n        resourceGroupName: example-resources\noutputs:\n  location: ${example.location}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.ServiceBus` - 2024-01-01\n","inputs":{"description":"A collection of arguments for invoking getServiceBusNamespace.\n","properties":{"name":{"type":"string","description":"Specifies the name of the ServiceBus Namespace.\n"},"resourceGroupName":{"type":"string","description":"Specifies the name of the Resource Group where the ServiceBus Namespace exists.\n"}},"type":"object","required":["name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getServiceBusNamespace.\n","properties":{"capacity":{"description":"The capacity of the ServiceBus Namespace.\n","type":"integer"},"defaultPrimaryConnectionString":{"description":"The primary connection string for the authorization\nrule `RootManageSharedAccessKey`.\n","secret":true,"type":"string"},"defaultPrimaryKey":{"description":"The primary access key for the authorization rule `RootManageSharedAccessKey`.\n","secret":true,"type":"string"},"defaultSecondaryConnectionString":{"description":"The secondary connection string for the\nauthorization rule `RootManageSharedAccessKey`.\n","secret":true,"type":"string"},"defaultSecondaryKey":{"description":"The secondary access key for the authorization rule `RootManageSharedAccessKey`.\n","secret":true,"type":"string"},"endpoint":{"description":"The URL to access the ServiceBus Namespace.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"location":{"description":"The location of the Resource Group in which the ServiceBus Namespace exists.\n","type":"string"},"name":{"type":"string"},"premiumMessagingPartitions":{"description":"The messaging partitions of the ServiceBus Namespace.\n","type":"integer"},"resourceGroupName":{"type":"string"},"sku":{"description":"The Tier used for the ServiceBus Namespace.\n","type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"A mapping of tags assigned to the resource.\n","type":"object"}},"required":["capacity","defaultPrimaryConnectionString","defaultPrimaryKey","defaultSecondaryConnectionString","defaultSecondaryKey","endpoint","location","name","premiumMessagingPartitions","resourceGroupName","sku","tags","id"],"type":"object"}},"azure:expressroute/getCircuitPeering:getCircuitPeering":{"description":"Use this data source to access information about an existing ExpressRoute Circuit Peering.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.expressroute.getCircuitPeering({\n    peeringType: \"example-peering\",\n    expressRouteCircuitName: \"example-expressroute\",\n    resourceGroupName: \"example-resources\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.expressroute.get_circuit_peering(peering_type=\"example-peering\",\n    express_route_circuit_name=\"example-expressroute\",\n    resource_group_name=\"example-resources\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.ExpressRoute.GetCircuitPeering.Invoke(new()\n    {\n        PeeringType = \"example-peering\",\n        ExpressRouteCircuitName = \"example-expressroute\",\n        ResourceGroupName = \"example-resources\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/expressroute\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := expressroute.GetCircuitPeering(ctx, \u0026expressroute.GetCircuitPeeringArgs{\n\t\t\tPeeringType:             \"example-peering\",\n\t\t\tExpressRouteCircuitName: \"example-expressroute\",\n\t\t\tResourceGroupName:       \"example-resources\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.expressroute.ExpressrouteFunctions;\nimport com.pulumi.azure.expressroute.inputs.GetCircuitPeeringArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = ExpressrouteFunctions.getCircuitPeering(GetCircuitPeeringArgs.builder()\n            .peeringType(\"example-peering\")\n            .expressRouteCircuitName(\"example-expressroute\")\n            .resourceGroupName(\"example-resources\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:expressroute:getCircuitPeering\n      arguments:\n        peeringType: example-peering\n        expressRouteCircuitName: example-expressroute\n        resourceGroupName: example-resources\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2025-01-01\n","inputs":{"description":"A collection of arguments for invoking getCircuitPeering.\n","properties":{"expressRouteCircuitName":{"type":"string","description":"The name of the ExpressRoute Circuit in which to create the Peering. Changing this forces a new resource to be created.\n"},"peeringType":{"type":"string","description":"The type of the ExpressRoute Circuit Peering. Acceptable values include `AzurePrivatePeering`, `AzurePublicPeering` and `MicrosoftPeering`.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which to create the Express Route Circuit Peering. Changing this forces a new resource to be created.\n"}},"type":"object","required":["expressRouteCircuitName","peeringType","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getCircuitPeering.\n","properties":{"azureAsn":{"description":"The ASN used by Azure for the peering.\n","type":"integer"},"expressRouteCircuitName":{"type":"string"},"gatewayManagerEtag":{"type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"ipv4Enabled":{"description":"Indicates if IPv4 is enabled.\n","type":"boolean"},"peerAsn":{"type":"integer"},"peeringType":{"description":"The type of the ExpressRoute Circuit Peering.\n","type":"string"},"primaryAzurePort":{"description":"The primary port used by Azure for this peering.\n","type":"string"},"primaryPeerAddressPrefix":{"description":"The primary peer address prefix.\n","type":"string"},"resourceGroupName":{"type":"string"},"routeFilterId":{"type":"string"},"secondaryAzurePort":{"description":"The secondary port used by Azure for this peering.\n","type":"string"},"secondaryPeerAddressPrefix":{"description":"The secondary peer address prefix.\n","type":"string"},"sharedKey":{"type":"string"},"vlanId":{"description":"The VLAN ID used for this peering.\n","type":"integer"}},"required":["azureAsn","expressRouteCircuitName","gatewayManagerEtag","ipv4Enabled","peerAsn","peeringType","primaryAzurePort","primaryPeerAddressPrefix","resourceGroupName","routeFilterId","secondaryAzurePort","secondaryPeerAddressPrefix","sharedKey","vlanId","id"],"type":"object"}},"azure:extendedlocation/getCustomLocation:getCustomLocation":{"description":"Use this data source to access information about an existing Custom Location within an Extended Location.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.extendedlocation.getCustomLocation({\n    name: exampleAzurermExtendedLocationCustomLocation.name,\n    resourceGroupName: exampleAzurermResourceGroup.name,\n});\nexport const customLocationId = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.extendedlocation.get_custom_location(name=example_azurerm_extended_location_custom_location[\"name\"],\n    resource_group_name=example_azurerm_resource_group[\"name\"])\npulumi.export(\"customLocationId\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.ExtendedLocation.GetCustomLocation.Invoke(new()\n    {\n        Name = exampleAzurermExtendedLocationCustomLocation.Name,\n        ResourceGroupName = exampleAzurermResourceGroup.Name,\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"customLocationId\"] = example.Apply(getCustomLocationResult =\u003e getCustomLocationResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/extendedlocation\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := extendedlocation.LookupCustomLocation(ctx, \u0026extendedlocation.LookupCustomLocationArgs{\n\t\t\tName:              exampleAzurermExtendedLocationCustomLocation.Name,\n\t\t\tResourceGroupName: exampleAzurermResourceGroup.Name,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"customLocationId\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.extendedlocation.ExtendedlocationFunctions;\nimport com.pulumi.azure.extendedlocation.inputs.GetCustomLocationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = ExtendedlocationFunctions.getCustomLocation(GetCustomLocationArgs.builder()\n            .name(exampleAzurermExtendedLocationCustomLocation.name())\n            .resourceGroupName(exampleAzurermResourceGroup.name())\n            .build());\n\n        ctx.export(\"customLocationId\", example.id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:extendedlocation:getCustomLocation\n      arguments:\n        name: ${exampleAzurermExtendedLocationCustomLocation.name}\n        resourceGroupName: ${exampleAzurermResourceGroup.name}\noutputs:\n  customLocationId: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.ExtendedLocation` - 2021-08-15\n","inputs":{"description":"A collection of arguments for invoking getCustomLocation.\n","properties":{"name":{"type":"string","description":"The name of the Custom Location.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Custom Location exists.\n"}},"type":"object","required":["name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getCustomLocation.\n","properties":{"authentications":{"description":"An \u003cspan pulumi-lang-nodejs=\"`authentication`\" pulumi-lang-dotnet=\"`Authentication`\" pulumi-lang-go=\"`authentication`\" pulumi-lang-python=\"`authentication`\" pulumi-lang-yaml=\"`authentication`\" pulumi-lang-java=\"`authentication`\"\u003e`authentication`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:extendedlocation/getCustomLocationAuthentication:getCustomLocationAuthentication"},"type":"array"},"clusterExtensionIds":{"description":"The list of Cluster Extension IDs.\n","items":{"type":"string"},"type":"array"},"displayName":{"description":"The display name of the Custom Location.\n","type":"string"},"hostResourceId":{"description":"The host resource ID.\n","type":"string"},"hostType":{"description":"The host type of the Custom Location.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"location":{"description":"The Azure location where the Custom Location exists.\n","type":"string"},"name":{"type":"string"},"namespace":{"description":"The namespace of the Custom Location.\n","type":"string"},"resourceGroupName":{"type":"string"}},"required":["authentications","clusterExtensionIds","displayName","hostResourceId","hostType","location","name","namespace","resourceGroupName","id"],"type":"object"}},"azure:graph/getServicesAccount:getServicesAccount":{"description":"Use this data source to access information about an existing Graph Services Account.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.graph.getServicesAccount({\n    name: \"example-graph-services-account\",\n    resourceGroupName: \"example-resources\",\n});\nexport const applicationId = example.then(example =\u003e example.applicationId);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.graph.get_services_account(name=\"example-graph-services-account\",\n    resource_group_name=\"example-resources\")\npulumi.export(\"applicationId\", example.application_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Graph.GetServicesAccount.Invoke(new()\n    {\n        Name = \"example-graph-services-account\",\n        ResourceGroupName = \"example-resources\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"applicationId\"] = example.Apply(getServicesAccountResult =\u003e getServicesAccountResult.ApplicationId),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/graph\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := graph.LookupServicesAccount(ctx, \u0026graph.LookupServicesAccountArgs{\n\t\t\tName:              \"example-graph-services-account\",\n\t\t\tResourceGroupName: \"example-resources\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"applicationId\", example.ApplicationId)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.graph.GraphFunctions;\nimport com.pulumi.azure.graph.inputs.GetServicesAccountArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = GraphFunctions.getServicesAccount(GetServicesAccountArgs.builder()\n            .name(\"example-graph-services-account\")\n            .resourceGroupName(\"example-resources\")\n            .build());\n\n        ctx.export(\"applicationId\", example.applicationId());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:graph:getServicesAccount\n      arguments:\n        name: example-graph-services-account\n        resourceGroupName: example-resources\noutputs:\n  applicationId: ${example.applicationId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.GraphServices` - 2023-04-13\n","inputs":{"description":"A collection of arguments for invoking getServicesAccount.\n","properties":{"name":{"type":"string","description":"The name of the Graph Services Account.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Graph Services Account exists.\n"}},"type":"object","required":["name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getServicesAccount.\n","properties":{"applicationId":{"description":"The application ID associated with the Graph Services Account.\n","type":"string"},"billingPlanId":{"description":"The billing plan ID for the Graph Services Account.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"name":{"type":"string"},"resourceGroupName":{"type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"A mapping of tags assigned to the Graph Services Account.\n","type":"object"}},"required":["applicationId","billingPlanId","name","resourceGroupName","tags","id"],"type":"object"}},"azure:hdinsight/getCluster:getCluster":{"description":"Use this data source to access information about an existing HDInsight Cluster.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.hdinsight.getCluster({\n    name: \"example\",\n    resourceGroupName: \"example-resources\",\n});\nexport const httpsEndpoint = example.then(example =\u003e example.httpsEndpoint);\nexport const clusterId = example.then(example =\u003e example.clusterId);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.hdinsight.get_cluster(name=\"example\",\n    resource_group_name=\"example-resources\")\npulumi.export(\"httpsEndpoint\", example.https_endpoint)\npulumi.export(\"clusterId\", example.cluster_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.HDInsight.GetCluster.Invoke(new()\n    {\n        Name = \"example\",\n        ResourceGroupName = \"example-resources\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"httpsEndpoint\"] = example.Apply(getClusterResult =\u003e getClusterResult.HttpsEndpoint),\n        [\"clusterId\"] = example.Apply(getClusterResult =\u003e getClusterResult.ClusterId),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/hdinsight\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := hdinsight.GetCluster(ctx, \u0026hdinsight.GetClusterArgs{\n\t\t\tName:              \"example\",\n\t\t\tResourceGroupName: \"example-resources\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"httpsEndpoint\", example.HttpsEndpoint)\n\t\tctx.Export(\"clusterId\", example.ClusterId)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.hdinsight.HdinsightFunctions;\nimport com.pulumi.azure.hdinsight.inputs.GetClusterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = HdinsightFunctions.getCluster(GetClusterArgs.builder()\n            .name(\"example\")\n            .resourceGroupName(\"example-resources\")\n            .build());\n\n        ctx.export(\"httpsEndpoint\", example.httpsEndpoint());\n        ctx.export(\"clusterId\", example.clusterId());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:hdinsight:getCluster\n      arguments:\n        name: example\n        resourceGroupName: example-resources\noutputs:\n  httpsEndpoint: ${example.httpsEndpoint}\n  clusterId: ${example.clusterId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.HDInsight` - 2021-06-01\n","inputs":{"description":"A collection of arguments for invoking getCluster.\n","properties":{"name":{"type":"string","description":"Specifies the name of this HDInsight Cluster.\n"},"resourceGroupName":{"type":"string","description":"Specifies the name of the Resource Group in which this HDInsight Cluster exists.\n"}},"type":"object","required":["name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getCluster.\n","properties":{"clusterId":{"description":"The HDInsight Cluster ID.\n","type":"string"},"clusterVersion":{"description":"The version of HDInsights which is used on this HDInsight Cluster.\n","type":"string"},"componentVersions":{"additionalProperties":{"type":"string"},"description":"A map of versions of software used on this HDInsights Cluster.\n","type":"object"},"edgeSshEndpoint":{"description":"The SSH Endpoint of the Edge Node for this HDInsight Cluster, if an Edge Node exists.\n","type":"string"},"gateways":{"description":"A \u003cspan pulumi-lang-nodejs=\"`gateway`\" pulumi-lang-dotnet=\"`Gateway`\" pulumi-lang-go=\"`gateway`\" pulumi-lang-python=\"`gateway`\" pulumi-lang-yaml=\"`gateway`\" pulumi-lang-java=\"`gateway`\"\u003e`gateway`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:hdinsight/getClusterGateway:getClusterGateway"},"type":"array"},"httpsEndpoint":{"description":"The HTTPS Endpoint for this HDInsight Cluster.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"kafkaRestProxyEndpoint":{"description":"The Kafka Rest Proxy Endpoint for this HDInsight Cluster.\n","type":"string"},"kind":{"description":"The kind of HDInsight Cluster this is, such as a Spark or Storm cluster.\n","type":"string"},"location":{"description":"The Azure Region in which this HDInsight Cluster exists.\n","type":"string"},"name":{"description":"The HDInsight Cluster name.\n","type":"string"},"resourceGroupName":{"type":"string"},"sshEndpoint":{"description":"The SSH Endpoint for this HDInsight Cluster.\n","type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"A map of tags assigned to the HDInsight Cluster.\n","type":"object"},"tier":{"description":"The SKU / Tier of this HDInsight Cluster.\n","type":"string"},"tlsMinVersion":{"description":"The minimal supported TLS version.\n","type":"string"}},"required":["clusterId","clusterVersion","componentVersions","edgeSshEndpoint","gateways","httpsEndpoint","kafkaRestProxyEndpoint","kind","location","name","resourceGroupName","sshEndpoint","tags","tier","tlsMinVersion","id"],"type":"object"}},"azure:healthcare/getDicomService:getDicomService":{"description":"Use this data source to access information about an existing Healthcare DICOM Service\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.healthcare.getDicomService({\n    name: \"example-healthcare_dicom_service\",\n    workspaceId: exampleAzurermHealthcareWorkspace.id,\n});\nexport const azurermHealthcareDicomService = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.healthcare.get_dicom_service(name=\"example-healthcare_dicom_service\",\n    workspace_id=example_azurerm_healthcare_workspace[\"id\"])\npulumi.export(\"azurermHealthcareDicomService\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Healthcare.GetDicomService.Invoke(new()\n    {\n        Name = \"example-healthcare_dicom_service\",\n        WorkspaceId = exampleAzurermHealthcareWorkspace.Id,\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"azurermHealthcareDicomService\"] = example.Apply(getDicomServiceResult =\u003e getDicomServiceResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/healthcare\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := healthcare.LookupDicomService(ctx, \u0026healthcare.LookupDicomServiceArgs{\n\t\t\tName:        \"example-healthcare_dicom_service\",\n\t\t\tWorkspaceId: exampleAzurermHealthcareWorkspace.Id,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"azurermHealthcareDicomService\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.healthcare.HealthcareFunctions;\nimport com.pulumi.azure.healthcare.inputs.GetDicomServiceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = HealthcareFunctions.getDicomService(GetDicomServiceArgs.builder()\n            .name(\"example-healthcare_dicom_service\")\n            .workspaceId(exampleAzurermHealthcareWorkspace.id())\n            .build());\n\n        ctx.export(\"azurermHealthcareDicomService\", example.id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:healthcare:getDicomService\n      arguments:\n        name: example-healthcare_dicom_service\n        workspaceId: ${exampleAzurermHealthcareWorkspace.id}\noutputs:\n  azurermHealthcareDicomService: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.HealthcareApis` - 2024-03-31\n","inputs":{"description":"A collection of arguments for invoking getDicomService.\n","properties":{"name":{"type":"string","description":"The name of the Healthcare DICOM Service\n"},"workspaceId":{"type":"string","description":"The ID of the Healthcare Workspace in which the Healthcare DICOM Service exists.\n"}},"type":"object","required":["name","workspaceId"]},"outputs":{"description":"A collection of values returned by getDicomService.\n","properties":{"authentications":{"description":"The \u003cspan pulumi-lang-nodejs=\"`authentication`\" pulumi-lang-dotnet=\"`Authentication`\" pulumi-lang-go=\"`authentication`\" pulumi-lang-python=\"`authentication`\" pulumi-lang-yaml=\"`authentication`\" pulumi-lang-java=\"`authentication`\"\u003e`authentication`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:healthcare/getDicomServiceAuthentication:getDicomServiceAuthentication"},"type":"array"},"cors":{"description":"The \u003cspan pulumi-lang-nodejs=\"`cors`\" pulumi-lang-dotnet=\"`Cors`\" pulumi-lang-go=\"`cors`\" pulumi-lang-python=\"`cors`\" pulumi-lang-yaml=\"`cors`\" pulumi-lang-java=\"`cors`\"\u003e`cors`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:healthcare/getDicomServiceCor:getDicomServiceCor"},"type":"array"},"dataPartitionsEnabled":{"description":"If data partitions are enabled or not.\n","type":"boolean"},"encryptionKeyUrl":{"description":"The URL of the key to use for encryption as part of the customer-managed key encryption settings.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"identities":{"items":{"$ref":"#/types/azure:healthcare/getDicomServiceIdentity:getDicomServiceIdentity"},"type":"array"},"location":{"description":"The Azure Region where the Healthcare DICOM Service is located.\n","type":"string"},"name":{"type":"string"},"privateEndpoints":{"items":{"$ref":"#/types/azure:healthcare/getDicomServicePrivateEndpoint:getDicomServicePrivateEndpoint"},"type":"array"},"serviceUrl":{"description":"The url of the Healthcare DICOM Services.\n","type":"string"},"storages":{"description":"The \u003cspan pulumi-lang-nodejs=\"`storage`\" pulumi-lang-dotnet=\"`Storage`\" pulumi-lang-go=\"`storage`\" pulumi-lang-python=\"`storage`\" pulumi-lang-yaml=\"`storage`\" pulumi-lang-java=\"`storage`\"\u003e`storage`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:healthcare/getDicomServiceStorage:getDicomServiceStorage"},"type":"array"},"tags":{"additionalProperties":{"type":"string"},"description":"A map of tags assigned to the Healthcare DICOM Service.\n","type":"object"},"workspaceId":{"type":"string"}},"required":["authentications","cors","dataPartitionsEnabled","encryptionKeyUrl","identities","location","name","privateEndpoints","serviceUrl","storages","tags","workspaceId","id"],"type":"object"}},"azure:healthcare/getFhirService:getFhirService":{"description":"Use this data source to access information about an existing Healthcare FHIR Service(Fast Healthcare Interoperability Resources).\n\n","inputs":{"description":"A collection of arguments for invoking getFhirService.\n","properties":{"name":{"type":"string","description":"The name of the Healthcare FHIR Service.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"The map of tags assigned to the Healthcare FHIR Service.\n"},"workspaceId":{"type":"string","description":"The id of the Healthcare Workspace in which the Healthcare FHIR Service exists.\n"}},"type":"object","required":["name","workspaceId"]},"outputs":{"description":"A collection of values returned by getFhirService.\n","properties":{"accessPolicyObjectIds":{"description":"The list of the access policies of the service instance.\n","items":{"type":"string"},"type":"array"},"authentications":{"description":"The \u003cspan pulumi-lang-nodejs=\"`authentication`\" pulumi-lang-dotnet=\"`Authentication`\" pulumi-lang-go=\"`authentication`\" pulumi-lang-python=\"`authentication`\" pulumi-lang-yaml=\"`authentication`\" pulumi-lang-java=\"`authentication`\"\u003e`authentication`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:healthcare/getFhirServiceAuthentication:getFhirServiceAuthentication"},"type":"array"},"configurationExportStorageAccountName":{"description":"The name of the storage account which the operation configuration information is exported to.\n","type":"string"},"containerRegistryLoginServerUrls":{"description":"The list of azure container registry settings used for convert data operation of the service instance.\n","items":{"type":"string"},"type":"array"},"cors":{"description":"The \u003cspan pulumi-lang-nodejs=\"`cors`\" pulumi-lang-dotnet=\"`Cors`\" pulumi-lang-go=\"`cors`\" pulumi-lang-python=\"`cors`\" pulumi-lang-yaml=\"`cors`\" pulumi-lang-java=\"`cors`\"\u003e`cors`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:healthcare/getFhirServiceCor:getFhirServiceCor"},"type":"array"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"identities":{"description":"The \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:healthcare/getFhirServiceIdentity:getFhirServiceIdentity"},"type":"array"},"kind":{"description":"The kind of the Healthcare FHIR Service.\n","type":"string"},"location":{"description":"The Azure Region where the Healthcare FHIR Service is located.\n","type":"string"},"name":{"type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"The map of tags assigned to the Healthcare FHIR Service.\n","type":"object"},"workspaceId":{"type":"string"}},"required":["accessPolicyObjectIds","authentications","configurationExportStorageAccountName","containerRegistryLoginServerUrls","cors","identities","kind","location","name","workspaceId","id"],"type":"object"}},"azure:healthcare/getMedtechService:getMedtechService":{"description":"Use this data source to access information about an existing Healthcare Med Tech Service\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.healthcare.getMedtechService({\n    name: \"tfexmedtech\",\n    workspaceId: \"tfexwks\",\n});\nexport const azurermHealthcareMedtechServiceId = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.healthcare.get_medtech_service(name=\"tfexmedtech\",\n    workspace_id=\"tfexwks\")\npulumi.export(\"azurermHealthcareMedtechServiceId\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Healthcare.GetMedtechService.Invoke(new()\n    {\n        Name = \"tfexmedtech\",\n        WorkspaceId = \"tfexwks\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"azurermHealthcareMedtechServiceId\"] = example.Apply(getMedtechServiceResult =\u003e getMedtechServiceResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/healthcare\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := healthcare.LookupMedtechService(ctx, \u0026healthcare.LookupMedtechServiceArgs{\n\t\t\tName:        \"tfexmedtech\",\n\t\t\tWorkspaceId: \"tfexwks\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"azurermHealthcareMedtechServiceId\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.healthcare.HealthcareFunctions;\nimport com.pulumi.azure.healthcare.inputs.GetMedtechServiceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = HealthcareFunctions.getMedtechService(GetMedtechServiceArgs.builder()\n            .name(\"tfexmedtech\")\n            .workspaceId(\"tfexwks\")\n            .build());\n\n        ctx.export(\"azurermHealthcareMedtechServiceId\", example.id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:healthcare:getMedtechService\n      arguments:\n        name: tfexmedtech\n        workspaceId: tfexwks\noutputs:\n  azurermHealthcareMedtechServiceId: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.HealthcareApis` - 2022-12-01\n","inputs":{"description":"A collection of arguments for invoking getMedtechService.\n","properties":{"name":{"type":"string","description":"The name of the Healthcare Med Tech Service.\n"},"workspaceId":{"type":"string","description":"The id of the Healthcare Workspace in which the Healthcare Med Tech Service exists.\n"}},"type":"object","required":["name","workspaceId"]},"outputs":{"description":"A collection of values returned by getMedtechService.\n","properties":{"deviceMappingJson":{"description":"The Device Mappings of the Med Tech Service.\n","type":"string"},"eventhubConsumerGroupName":{"description":"The Consumer Group of the Event Hub of the Healthcare Med Tech Service.\n","type":"string"},"eventhubName":{"description":"The name of the Event Hub of the Healthcare Med Tech Service.\n","type":"string"},"eventhubNamespaceName":{"description":"The namespace name of the Event Hub of the Healthcare Med Tech Service.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"identities":{"description":"The \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:healthcare/getMedtechServiceIdentity:getMedtechServiceIdentity"},"type":"array"},"name":{"type":"string"},"workspaceId":{"type":"string"}},"required":["deviceMappingJson","eventhubConsumerGroupName","eventhubName","eventhubNamespaceName","identities","name","workspaceId","id"],"type":"object"}},"azure:healthcare/getService:getService":{"description":"Use this data source to access information about an existing Healthcare Service\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.healthcare.getService({\n    name: \"example-healthcare_service\",\n    resourceGroupName: \"example-resources\",\n    location: \"westus2\",\n});\nexport const healthcareServiceId = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.healthcare.get_service(name=\"example-healthcare_service\",\n    resource_group_name=\"example-resources\",\n    location=\"westus2\")\npulumi.export(\"healthcareServiceId\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Healthcare.GetService.Invoke(new()\n    {\n        Name = \"example-healthcare_service\",\n        ResourceGroupName = \"example-resources\",\n        Location = \"westus2\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"healthcareServiceId\"] = example.Apply(getServiceResult =\u003e getServiceResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/healthcare\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := healthcare.LookupService(ctx, \u0026healthcare.LookupServiceArgs{\n\t\t\tName:              \"example-healthcare_service\",\n\t\t\tResourceGroupName: \"example-resources\",\n\t\t\tLocation:          \"westus2\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"healthcareServiceId\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.healthcare.HealthcareFunctions;\nimport com.pulumi.azure.healthcare.inputs.GetServiceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = HealthcareFunctions.getService(GetServiceArgs.builder()\n            .name(\"example-healthcare_service\")\n            .resourceGroupName(\"example-resources\")\n            .location(\"westus2\")\n            .build());\n\n        ctx.export(\"healthcareServiceId\", example.id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:healthcare:getService\n      arguments:\n        name: example-healthcare_service\n        resourceGroupName: example-resources\n        location: westus2\noutputs:\n  healthcareServiceId: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.HealthcareApis` - 2022-12-01\n","inputs":{"description":"A collection of arguments for invoking getService.\n","properties":{"location":{"type":"string","description":"The Azure Region where the Service is located.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the Healthcare Service.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group in which the Healthcare Service exists.\n","willReplaceOnChanges":true}},"type":"object","required":["location","name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getService.\n","properties":{"accessPolicyObjectIds":{"items":{"type":"string"},"type":"array"},"authenticationConfigurations":{"description":"An \u003cspan pulumi-lang-nodejs=\"`authenticationConfiguration`\" pulumi-lang-dotnet=\"`AuthenticationConfiguration`\" pulumi-lang-go=\"`authenticationConfiguration`\" pulumi-lang-python=\"`authentication_configuration`\" pulumi-lang-yaml=\"`authenticationConfiguration`\" pulumi-lang-java=\"`authenticationConfiguration`\"\u003e`authentication_configuration`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:healthcare/getServiceAuthenticationConfiguration:getServiceAuthenticationConfiguration"},"type":"array"},"corsConfigurations":{"description":"A \u003cspan pulumi-lang-nodejs=\"`corsConfiguration`\" pulumi-lang-dotnet=\"`CorsConfiguration`\" pulumi-lang-go=\"`corsConfiguration`\" pulumi-lang-python=\"`cors_configuration`\" pulumi-lang-yaml=\"`corsConfiguration`\" pulumi-lang-java=\"`corsConfiguration`\"\u003e`cors_configuration`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:healthcare/getServiceCorsConfiguration:getServiceCorsConfiguration"},"type":"array"},"cosmosdbKeyVaultKeyVersionlessId":{"description":"The versionless Key Vault Key ID for CMK encryption of the backing database.\n","type":"string"},"cosmosdbThroughput":{"description":"The provisioned throughput for the backing database.\n","type":"integer"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"kind":{"description":"The type of the service.\n","type":"string"},"location":{"description":"The Azure Region where the Service is located.\n","type":"string"},"name":{"type":"string"},"resourceGroupName":{"type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n","type":"object"}},"required":["accessPolicyObjectIds","authenticationConfigurations","corsConfigurations","cosmosdbKeyVaultKeyVersionlessId","cosmosdbThroughput","kind","location","name","resourceGroupName","tags","id"],"type":"object"}},"azure:healthcare/getWorkspace:getWorkspace":{"description":"Use this data source to access information about an existing Healthcare Workspace\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.healthcare.getWorkspace({\n    name: \"example-healthcare_service\",\n    resourceGroupName: \"example-resources\",\n});\nexport const healthcareWorkspaceId = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.healthcare.get_workspace(name=\"example-healthcare_service\",\n    resource_group_name=\"example-resources\")\npulumi.export(\"healthcareWorkspaceId\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Healthcare.GetWorkspace.Invoke(new()\n    {\n        Name = \"example-healthcare_service\",\n        ResourceGroupName = \"example-resources\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"healthcareWorkspaceId\"] = example.Apply(getWorkspaceResult =\u003e getWorkspaceResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/healthcare\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := healthcare.LookupWorkspace(ctx, \u0026healthcare.LookupWorkspaceArgs{\n\t\t\tName:              \"example-healthcare_service\",\n\t\t\tResourceGroupName: \"example-resources\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"healthcareWorkspaceId\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.healthcare.HealthcareFunctions;\nimport com.pulumi.azure.healthcare.inputs.GetWorkspaceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = HealthcareFunctions.getWorkspace(GetWorkspaceArgs.builder()\n            .name(\"example-healthcare_service\")\n            .resourceGroupName(\"example-resources\")\n            .build());\n\n        ctx.export(\"healthcareWorkspaceId\", example.id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:healthcare:getWorkspace\n      arguments:\n        name: example-healthcare_service\n        resourceGroupName: example-resources\noutputs:\n  healthcareWorkspaceId: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.HealthcareApis` - 2024-03-31\n","inputs":{"description":"A collection of arguments for invoking getWorkspace.\n","properties":{"name":{"type":"string","description":"The name of the Healthcare Workspace.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group in which the Healthcare Workspace exists.\n","willReplaceOnChanges":true}},"type":"object","required":["name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getWorkspace.\n","properties":{"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"location":{"description":"The Azure Region where the Healthcare Workspace is located.\n","type":"string"},"name":{"type":"string"},"resourceGroupName":{"type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"A map of tags assigned to the Healthcare Workspace.\n","type":"object"}},"required":["location","name","resourceGroupName","tags","id"],"type":"object"}},"azure:iot/getDps:getDps":{"description":"Use this data source to access information about an existing IotHub Device Provisioning Service.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.iot.getDps({\n    name: \"iot_hub_dps_test\",\n    resourceGroupName: \"iothub_dps_rg\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.iot.get_dps(name=\"iot_hub_dps_test\",\n    resource_group_name=\"iothub_dps_rg\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Iot.GetDps.Invoke(new()\n    {\n        Name = \"iot_hub_dps_test\",\n        ResourceGroupName = \"iothub_dps_rg\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/iot\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := iot.GetDps(ctx, \u0026iot.GetDpsArgs{\n\t\t\tName:              \"iot_hub_dps_test\",\n\t\t\tResourceGroupName: \"iothub_dps_rg\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.iot.IotFunctions;\nimport com.pulumi.azure.iot.inputs.GetDpsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = IotFunctions.getDps(GetDpsArgs.builder()\n            .name(\"iot_hub_dps_test\")\n            .resourceGroupName(\"iothub_dps_rg\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:iot:getDps\n      arguments:\n        name: iot_hub_dps_test\n        resourceGroupName: iothub_dps_rg\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.Devices` - 2022-02-05\n","inputs":{"description":"A collection of arguments for invoking getDps.\n","properties":{"name":{"type":"string","description":"Specifies the name of the Iot Device Provisioning Service resource.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group under which the Iot Device Provisioning Service is located in.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"}}},"type":"object","required":["name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getDps.\n","properties":{"allocationPolicy":{"description":"The allocation policy of the IoT Device Provisioning Service.\n","type":"string"},"deviceProvisioningHostName":{"description":"The device endpoint of the IoT Device Provisioning Service.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"idScope":{"description":"The unique identifier of the IoT Device Provisioning Service.\n","type":"string"},"location":{"description":"Specifies the supported Azure location where the IoT Device Provisioning Service exists.\n","type":"string"},"name":{"type":"string"},"resourceGroupName":{"type":"string"},"serviceOperationsHostName":{"description":"The service endpoint of the IoT Device Provisioning Service.\n","type":"string"},"tags":{"additionalProperties":{"type":"string"},"type":"object"}},"required":["allocationPolicy","deviceProvisioningHostName","idScope","location","name","resourceGroupName","serviceOperationsHostName","id"],"type":"object"}},"azure:iot/getDpsSharedAccessPolicy:getDpsSharedAccessPolicy":{"description":"Use this data source to access information about an existing IotHub Device Provisioning Service Shared Access Policy\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.iot.getDpsSharedAccessPolicy({\n    name: \"example\",\n    resourceGroupName: exampleAzurermResourceGroup.name,\n    iothubDpsName: exampleAzurermIothubDps.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.iot.get_dps_shared_access_policy(name=\"example\",\n    resource_group_name=example_azurerm_resource_group[\"name\"],\n    iothub_dps_name=example_azurerm_iothub_dps[\"name\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Iot.GetDpsSharedAccessPolicy.Invoke(new()\n    {\n        Name = \"example\",\n        ResourceGroupName = exampleAzurermResourceGroup.Name,\n        IothubDpsName = exampleAzurermIothubDps.Name,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/iot\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := iot.LookupDpsSharedAccessPolicy(ctx, \u0026iot.LookupDpsSharedAccessPolicyArgs{\n\t\t\tName:              \"example\",\n\t\t\tResourceGroupName: exampleAzurermResourceGroup.Name,\n\t\t\tIothubDpsName:     exampleAzurermIothubDps.Name,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.iot.IotFunctions;\nimport com.pulumi.azure.iot.inputs.GetDpsSharedAccessPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = IotFunctions.getDpsSharedAccessPolicy(GetDpsSharedAccessPolicyArgs.builder()\n            .name(\"example\")\n            .resourceGroupName(exampleAzurermResourceGroup.name())\n            .iothubDpsName(exampleAzurermIothubDps.name())\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:iot:getDpsSharedAccessPolicy\n      arguments:\n        name: example\n        resourceGroupName: ${exampleAzurermResourceGroup.name}\n        iothubDpsName: ${exampleAzurermIothubDps.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.Devices` - 2022-02-05\n","inputs":{"description":"A collection of arguments for invoking getDpsSharedAccessPolicy.\n","properties":{"iothubDpsName":{"type":"string","description":"Specifies the name of the IoT Hub Device Provisioning service to which the Shared Access Policy belongs.\n"},"name":{"type":"string","description":"Specifies the name of the IotHub Shared Access Policy.\n"},"resourceGroupName":{"type":"string","description":"Specifies the name of the resource group under which the IotHub Shared Access Policy resource exists.\n"}},"type":"object","required":["iothubDpsName","name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getDpsSharedAccessPolicy.\n","properties":{"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"iothubDpsName":{"type":"string"},"name":{"type":"string"},"primaryConnectionString":{"description":"The primary connection string of the Shared Access Policy.\n","secret":true,"type":"string"},"primaryKey":{"description":"The primary key used to create the authentication token.\n","secret":true,"type":"string"},"resourceGroupName":{"type":"string"},"secondaryConnectionString":{"description":"The secondary connection string of the Shared Access Policy.\n","secret":true,"type":"string"},"secondaryKey":{"description":"The secondary key used to create the authentication token.\n","secret":true,"type":"string"}},"required":["iothubDpsName","name","primaryConnectionString","primaryKey","resourceGroupName","secondaryConnectionString","secondaryKey","id"],"type":"object"}},"azure:iot/getIotHub:getIotHub":{"description":"Use this data source to access information about an existing IoTHub.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.iot.getIotHub({\n    name: \"existing\",\n    resourceGroupName: \"existing\",\n});\nexport const id = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.iot.get_iot_hub(name=\"existing\",\n    resource_group_name=\"existing\")\npulumi.export(\"id\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Iot.GetIotHub.Invoke(new()\n    {\n        Name = \"existing\",\n        ResourceGroupName = \"existing\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"id\"] = example.Apply(getIotHubResult =\u003e getIotHubResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/iot\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := iot.GetIotHub(ctx, \u0026iot.GetIotHubArgs{\n\t\t\tName:              \"existing\",\n\t\t\tResourceGroupName: \"existing\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"id\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.iot.IotFunctions;\nimport com.pulumi.azure.iot.inputs.GetIotHubArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = IotFunctions.getIotHub(GetIotHubArgs.builder()\n            .name(\"existing\")\n            .resourceGroupName(\"existing\")\n            .build());\n\n        ctx.export(\"id\", example.id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:iot:getIotHub\n      arguments:\n        name: existing\n        resourceGroupName: existing\noutputs:\n  id: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getIotHub.\n","properties":{"name":{"type":"string","description":"The name of this IoTHub.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the IoTHub exists.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the IoTHub.\n"}},"type":"object","required":["name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getIotHub.\n","properties":{"hostname":{"description":"The Hostname of the IoTHub.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"identities":{"description":"A \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:iot/getIotHubIdentity:getIotHubIdentity"},"type":"array"},"name":{"type":"string"},"resourceGroupName":{"type":"string"},"tags":{"additionalProperties":{"type":"string"},"type":"object"}},"required":["hostname","identities","name","resourceGroupName","id"],"type":"object"}},"azure:iot/getSharedAccessPolicy:getSharedAccessPolicy":{"description":"Use this data source to access information about an existing IotHub Shared Access Policy\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.iot.getSharedAccessPolicy({\n    name: \"example\",\n    resourceGroupName: exampleAzurermResourceGroup.name,\n    iothubName: exampleAzurermIothub.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.iot.get_shared_access_policy(name=\"example\",\n    resource_group_name=example_azurerm_resource_group[\"name\"],\n    iothub_name=example_azurerm_iothub[\"name\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Iot.GetSharedAccessPolicy.Invoke(new()\n    {\n        Name = \"example\",\n        ResourceGroupName = exampleAzurermResourceGroup.Name,\n        IothubName = exampleAzurermIothub.Name,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/iot\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := iot.LookupSharedAccessPolicy(ctx, \u0026iot.LookupSharedAccessPolicyArgs{\n\t\t\tName:              \"example\",\n\t\t\tResourceGroupName: exampleAzurermResourceGroup.Name,\n\t\t\tIothubName:        exampleAzurermIothub.Name,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.iot.IotFunctions;\nimport com.pulumi.azure.iot.inputs.GetSharedAccessPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = IotFunctions.getSharedAccessPolicy(GetSharedAccessPolicyArgs.builder()\n            .name(\"example\")\n            .resourceGroupName(exampleAzurermResourceGroup.name())\n            .iothubName(exampleAzurermIothub.name())\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:iot:getSharedAccessPolicy\n      arguments:\n        name: example\n        resourceGroupName: ${exampleAzurermResourceGroup.name}\n        iothubName: ${exampleAzurermIothub.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getSharedAccessPolicy.\n","properties":{"iothubName":{"type":"string","description":"The name of the IoTHub to which this Shared Access Policy belongs.\n"},"name":{"type":"string","description":"Specifies the name of the IotHub Shared Access Policy resource.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group under which the IotHub Shared Access Policy resource has to be created.\n"}},"type":"object","required":["iothubName","name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getSharedAccessPolicy.\n","properties":{"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"iothubName":{"type":"string"},"name":{"type":"string"},"primaryConnectionString":{"description":"The primary connection string of the Shared Access Policy.\n","secret":true,"type":"string"},"primaryKey":{"description":"The primary key used to create the authentication token.\n","secret":true,"type":"string"},"resourceGroupName":{"type":"string"},"secondaryConnectionString":{"description":"The secondary connection string of the Shared Access Policy.\n","secret":true,"type":"string"},"secondaryKey":{"description":"The secondary key used to create the authentication token.\n","secret":true,"type":"string"}},"required":["iothubName","name","primaryConnectionString","primaryKey","resourceGroupName","secondaryConnectionString","secondaryKey","id"],"type":"object"}},"azure:keyvault/getAccessPolicy:getAccessPolicy":{"description":"Use this data source to access information about the permissions from the Management Key Vault Templates.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst contributor = azure.keyvault.getAccessPolicy({\n    name: \"Key Management\",\n});\nexport const accessPolicyKeyPermissions = contributor.then(contributor =\u003e contributor.keyPermissions);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\ncontributor = azure.keyvault.get_access_policy(name=\"Key Management\")\npulumi.export(\"accessPolicyKeyPermissions\", contributor.key_permissions)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var contributor = Azure.KeyVault.GetAccessPolicy.Invoke(new()\n    {\n        Name = \"Key Management\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"accessPolicyKeyPermissions\"] = contributor.Apply(getAccessPolicyResult =\u003e getAccessPolicyResult.KeyPermissions),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/keyvault\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcontributor, err := keyvault.LookupAccessPolicy(ctx, \u0026keyvault.LookupAccessPolicyArgs{\n\t\t\tName: \"Key Management\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"accessPolicyKeyPermissions\", contributor.KeyPermissions)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.keyvault.KeyvaultFunctions;\nimport com.pulumi.azure.keyvault.inputs.GetAccessPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var contributor = KeyvaultFunctions.getAccessPolicy(GetAccessPolicyArgs.builder()\n            .name(\"Key Management\")\n            .build());\n\n        ctx.export(\"accessPolicyKeyPermissions\", contributor.keyPermissions());\n    }\n}\n```\n```yaml\nvariables:\n  contributor:\n    fn::invoke:\n      function: azure:keyvault:getAccessPolicy\n      arguments:\n        name: Key Management\noutputs:\n  accessPolicyKeyPermissions: ${contributor.keyPermissions}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getAccessPolicy.\n","properties":{"name":{"type":"string","description":"Specifies the name of the Management Template. Possible values are: `Key Management`,\n`Secret Management`, `Certificate Management`, `Key \u0026 Secret Management`, `Key \u0026 Certificate Management`,\n`Secret \u0026 Certificate Management`,  `Key, Secret, \u0026 Certificate Management`\n"}},"type":"object","required":["name"]},"outputs":{"description":"A collection of values returned by getAccessPolicy.\n","properties":{"certificatePermissions":{"description":"the certificate permissions for the access policy\n","items":{"type":"string"},"type":"array"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"keyPermissions":{"description":"the key permissions for the access policy\n","items":{"type":"string"},"type":"array"},"name":{"type":"string"},"secretPermissions":{"description":"the secret permissions for the access policy\n","items":{"type":"string"},"type":"array"}},"required":["certificatePermissions","keyPermissions","name","secretPermissions","id"],"type":"object"}},"azure:keyvault/getCertificate:getCertificate":{"description":"Use this data source to access information about an existing Key Vault Certificate.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.keyvault.getKeyVault({\n    name: \"examplekv\",\n    resourceGroupName: \"some-resource-group\",\n});\nconst exampleGetCertificate = example.then(example =\u003e azure.keyvault.getCertificate({\n    name: \"secret-sauce\",\n    keyVaultId: example.id,\n}));\nexport const certificateThumbprint = exampleGetCertificate.then(exampleGetCertificate =\u003e exampleGetCertificate.thumbprint);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.keyvault.get_key_vault(name=\"examplekv\",\n    resource_group_name=\"some-resource-group\")\nexample_get_certificate = azure.keyvault.get_certificate(name=\"secret-sauce\",\n    key_vault_id=example.id)\npulumi.export(\"certificateThumbprint\", example_get_certificate.thumbprint)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.KeyVault.GetKeyVault.Invoke(new()\n    {\n        Name = \"examplekv\",\n        ResourceGroupName = \"some-resource-group\",\n    });\n\n    var exampleGetCertificate = Azure.KeyVault.GetCertificate.Invoke(new()\n    {\n        Name = \"secret-sauce\",\n        KeyVaultId = example.Apply(getKeyVaultResult =\u003e getKeyVaultResult.Id),\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"certificateThumbprint\"] = exampleGetCertificate.Apply(getCertificateResult =\u003e getCertificateResult.Thumbprint),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/keyvault\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := keyvault.LookupKeyVault(ctx, \u0026keyvault.LookupKeyVaultArgs{\n\t\t\tName:              \"examplekv\",\n\t\t\tResourceGroupName: \"some-resource-group\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleGetCertificate, err := keyvault.LookupCertificate(ctx, \u0026keyvault.LookupCertificateArgs{\n\t\t\tName:       \"secret-sauce\",\n\t\t\tKeyVaultId: example.Id,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"certificateThumbprint\", exampleGetCertificate.Thumbprint)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.keyvault.KeyvaultFunctions;\nimport com.pulumi.azure.keyvault.inputs.GetKeyVaultArgs;\nimport com.pulumi.azure.keyvault.inputs.GetCertificateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = KeyvaultFunctions.getKeyVault(GetKeyVaultArgs.builder()\n            .name(\"examplekv\")\n            .resourceGroupName(\"some-resource-group\")\n            .build());\n\n        final var exampleGetCertificate = KeyvaultFunctions.getCertificate(GetCertificateArgs.builder()\n            .name(\"secret-sauce\")\n            .keyVaultId(example.id())\n            .build());\n\n        ctx.export(\"certificateThumbprint\", exampleGetCertificate.thumbprint());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:keyvault:getKeyVault\n      arguments:\n        name: examplekv\n        resourceGroupName: some-resource-group\n  exampleGetCertificate:\n    fn::invoke:\n      function: azure:keyvault:getCertificate\n      arguments:\n        name: secret-sauce\n        keyVaultId: ${example.id}\noutputs:\n  certificateThumbprint: ${exampleGetCertificate.thumbprint}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getCertificate.\n","properties":{"keyVaultId":{"type":"string","description":"Specifies the ID of the Key Vault instance where the Secret resides, available on the \u003cspan pulumi-lang-nodejs=\"`azure.keyvault.KeyVault`\" pulumi-lang-dotnet=\"`azure.keyvault.KeyVault`\" pulumi-lang-go=\"`keyvault.KeyVault`\" pulumi-lang-python=\"`keyvault.KeyVault`\" pulumi-lang-yaml=\"`azure.keyvault.KeyVault`\" pulumi-lang-java=\"`azure.keyvault.KeyVault`\"\u003e`azure.keyvault.KeyVault`\u003c/span\u003e Data Source / Resource.\n"},"name":{"type":"string","description":"Specifies the name of the Key Vault Certificate.\n"},"version":{"type":"string","description":"Specifies the version of the certificate to look up.  (Defaults to latest)\n\n\u003e **Note:** The vault must be in the same subscription as the provider. If the vault is in another subscription, you must create an aliased provider for that subscription.\n"}},"type":"object","required":["keyVaultId","name"]},"outputs":{"description":"A collection of values returned by getCertificate.\n","properties":{"certificateData":{"description":"The raw Key Vault Certificate data represented as a hexadecimal string.\n","type":"string"},"certificateDataBase64":{"description":"The raw Key Vault Certificate data represented as a base64 string.\n","type":"string"},"certificatePolicies":{"description":"A \u003cspan pulumi-lang-nodejs=\"`certificatePolicy`\" pulumi-lang-dotnet=\"`CertificatePolicy`\" pulumi-lang-go=\"`certificatePolicy`\" pulumi-lang-python=\"`certificate_policy`\" pulumi-lang-yaml=\"`certificatePolicy`\" pulumi-lang-java=\"`certificatePolicy`\"\u003e`certificate_policy`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:keyvault/getCertificateCertificatePolicy:getCertificateCertificatePolicy"},"type":"array"},"expires":{"description":"Expiry date of certificate in RFC3339 format.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"keyVaultId":{"type":"string"},"name":{"description":"The name of the Certificate Issuer.\n","type":"string"},"notBefore":{"description":"Not Before date of certificate in RFC3339 format.\n","type":"string"},"resourceManagerId":{"description":"The (Versioned) ID for this Key Vault Certificate. This property points to a specific version of a Key Vault Certificate, as such using this won't auto-rotate values if used in other Azure Services.\n","type":"string"},"resourceManagerVersionlessId":{"description":"The Versionless ID of the Key Vault Certificate. This property allows other Azure Services (that support it) to auto-rotate their value when the Key Vault Certificate is updated.\n","type":"string"},"secretId":{"description":"The ID of the associated Key Vault Secret.\n","type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n","type":"object"},"thumbprint":{"description":"The X509 Thumbprint of the Key Vault Certificate represented as a hexadecimal string.\n","type":"string"},"version":{"description":"The current version of the Key Vault Certificate.\n","type":"string"},"versionlessId":{"description":"The Base ID of the Key Vault Certificate.\n","type":"string"},"versionlessSecretId":{"description":"The Base ID of the Key Vault Secret.\n","type":"string"}},"required":["certificateData","certificateDataBase64","certificatePolicies","expires","keyVaultId","name","notBefore","resourceManagerId","resourceManagerVersionlessId","secretId","tags","thumbprint","version","versionlessId","versionlessSecretId","id"],"type":"object"}},"azure:keyvault/getCertificateData:getCertificateData":{"description":"Use this data source to access data stored in an existing Key Vault Certificate.\n\n\u003e **Note:** This data source uses the `GetSecret` function of the Azure API, to get the key of the certificate. Therefore you need secret/get permission\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.keyvault.getKeyVault({\n    name: \"examplekv\",\n    resourceGroupName: \"some-resource-group\",\n});\nconst exampleGetCertificateData = example.then(example =\u003e azure.keyvault.getCertificateData({\n    name: \"secret-sauce\",\n    keyVaultId: example.id,\n}));\nexport const examplePem = exampleGetCertificateData.then(exampleGetCertificateData =\u003e exampleGetCertificateData.pem);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.keyvault.get_key_vault(name=\"examplekv\",\n    resource_group_name=\"some-resource-group\")\nexample_get_certificate_data = azure.keyvault.get_certificate_data(name=\"secret-sauce\",\n    key_vault_id=example.id)\npulumi.export(\"examplePem\", example_get_certificate_data.pem)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.KeyVault.GetKeyVault.Invoke(new()\n    {\n        Name = \"examplekv\",\n        ResourceGroupName = \"some-resource-group\",\n    });\n\n    var exampleGetCertificateData = Azure.KeyVault.GetCertificateData.Invoke(new()\n    {\n        Name = \"secret-sauce\",\n        KeyVaultId = example.Apply(getKeyVaultResult =\u003e getKeyVaultResult.Id),\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"examplePem\"] = exampleGetCertificateData.Apply(getCertificateDataResult =\u003e getCertificateDataResult.Pem),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/keyvault\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := keyvault.LookupKeyVault(ctx, \u0026keyvault.LookupKeyVaultArgs{\n\t\t\tName:              \"examplekv\",\n\t\t\tResourceGroupName: \"some-resource-group\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleGetCertificateData, err := keyvault.GetCertificateData(ctx, \u0026keyvault.GetCertificateDataArgs{\n\t\t\tName:       \"secret-sauce\",\n\t\t\tKeyVaultId: example.Id,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"examplePem\", exampleGetCertificateData.Pem)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.keyvault.KeyvaultFunctions;\nimport com.pulumi.azure.keyvault.inputs.GetKeyVaultArgs;\nimport com.pulumi.azure.keyvault.inputs.GetCertificateDataArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = KeyvaultFunctions.getKeyVault(GetKeyVaultArgs.builder()\n            .name(\"examplekv\")\n            .resourceGroupName(\"some-resource-group\")\n            .build());\n\n        final var exampleGetCertificateData = KeyvaultFunctions.getCertificateData(GetCertificateDataArgs.builder()\n            .name(\"secret-sauce\")\n            .keyVaultId(example.id())\n            .build());\n\n        ctx.export(\"examplePem\", exampleGetCertificateData.pem());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:keyvault:getKeyVault\n      arguments:\n        name: examplekv\n        resourceGroupName: some-resource-group\n  exampleGetCertificateData:\n    fn::invoke:\n      function: azure:keyvault:getCertificateData\n      arguments:\n        name: secret-sauce\n        keyVaultId: ${example.id}\noutputs:\n  examplePem: ${exampleGetCertificateData.pem}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getCertificateData.\n","properties":{"keyVaultId":{"type":"string","description":"Specifies the ID of the Key Vault instance where the Secret resides, available on the \u003cspan pulumi-lang-nodejs=\"`azure.keyvault.KeyVault`\" pulumi-lang-dotnet=\"`azure.keyvault.KeyVault`\" pulumi-lang-go=\"`keyvault.KeyVault`\" pulumi-lang-python=\"`keyvault.KeyVault`\" pulumi-lang-yaml=\"`azure.keyvault.KeyVault`\" pulumi-lang-java=\"`azure.keyvault.KeyVault`\"\u003e`azure.keyvault.KeyVault`\u003c/span\u003e Data Source / Resource.\n"},"name":{"type":"string","description":"Specifies the name of the Key Vault Secret.\n"},"version":{"type":"string","description":"Specifies the version of the certificate to look up.  (Defaults to latest)\n\n\u003e **Note:** The vault must be in the same subscription as the provider. If the vault is in another subscription, you must create an aliased provider for that subscription.\n"}},"type":"object","required":["keyVaultId","name"]},"outputs":{"description":"A collection of values returned by getCertificateData.\n","properties":{"certificatesCount":{"description":"Amount of certificates in the chain in case Key Vault Certificate is a bundle (e.g. has an intermediate certificate).\n","type":"integer"},"expires":{"description":"Expiry date of certificate in RFC3339 format.\n","type":"string"},"hex":{"description":"The raw Key Vault Certificate data represented as a hexadecimal string.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"key":{"description":"The Key Vault Certificate Key.\n","secret":true,"type":"string"},"keyVaultId":{"type":"string"},"name":{"type":"string"},"notBefore":{"description":"Not Before date of certificate in RFC3339 format.\n","type":"string"},"pem":{"description":"The Key Vault Certificate in PEM format.\n","type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n","type":"object"},"version":{"type":"string"}},"required":["certificatesCount","expires","hex","key","keyVaultId","name","notBefore","pem","tags","version","id"],"type":"object"}},"azure:keyvault/getCertificateIssuer:getCertificateIssuer":{"description":"Use this data source to access information about an existing Key Vault Certificate Issuer.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.keyvault.getKeyVault({\n    name: \"mykeyvault\",\n    resourceGroupName: \"some-resource-group\",\n});\nconst exampleGetCertificateIssuer = example.then(example =\u003e azure.keyvault.getCertificateIssuer({\n    name: \"existing\",\n    keyVaultId: example.id,\n}));\nexport const id = exampleGetCertificateIssuer.then(exampleGetCertificateIssuer =\u003e exampleGetCertificateIssuer.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.keyvault.get_key_vault(name=\"mykeyvault\",\n    resource_group_name=\"some-resource-group\")\nexample_get_certificate_issuer = azure.keyvault.get_certificate_issuer(name=\"existing\",\n    key_vault_id=example.id)\npulumi.export(\"id\", example_get_certificate_issuer.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.KeyVault.GetKeyVault.Invoke(new()\n    {\n        Name = \"mykeyvault\",\n        ResourceGroupName = \"some-resource-group\",\n    });\n\n    var exampleGetCertificateIssuer = Azure.KeyVault.GetCertificateIssuer.Invoke(new()\n    {\n        Name = \"existing\",\n        KeyVaultId = example.Apply(getKeyVaultResult =\u003e getKeyVaultResult.Id),\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"id\"] = exampleGetCertificateIssuer.Apply(getCertificateIssuerResult =\u003e getCertificateIssuerResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/keyvault\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := keyvault.LookupKeyVault(ctx, \u0026keyvault.LookupKeyVaultArgs{\n\t\t\tName:              \"mykeyvault\",\n\t\t\tResourceGroupName: \"some-resource-group\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleGetCertificateIssuer, err := keyvault.LookupCertificateIssuer(ctx, \u0026keyvault.LookupCertificateIssuerArgs{\n\t\t\tName:       \"existing\",\n\t\t\tKeyVaultId: example.Id,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"id\", exampleGetCertificateIssuer.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.keyvault.KeyvaultFunctions;\nimport com.pulumi.azure.keyvault.inputs.GetKeyVaultArgs;\nimport com.pulumi.azure.keyvault.inputs.GetCertificateIssuerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = KeyvaultFunctions.getKeyVault(GetKeyVaultArgs.builder()\n            .name(\"mykeyvault\")\n            .resourceGroupName(\"some-resource-group\")\n            .build());\n\n        final var exampleGetCertificateIssuer = KeyvaultFunctions.getCertificateIssuer(GetCertificateIssuerArgs.builder()\n            .name(\"existing\")\n            .keyVaultId(example.id())\n            .build());\n\n        ctx.export(\"id\", exampleGetCertificateIssuer.id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:keyvault:getKeyVault\n      arguments:\n        name: mykeyvault\n        resourceGroupName: some-resource-group\n  exampleGetCertificateIssuer:\n    fn::invoke:\n      function: azure:keyvault:getCertificateIssuer\n      arguments:\n        name: existing\n        keyVaultId: ${example.id}\noutputs:\n  id: ${exampleGetCertificateIssuer.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getCertificateIssuer.\n","properties":{"keyVaultId":{"type":"string","description":"The ID of the Key Vault in which to locate the Certificate Issuer.\n"},"name":{"type":"string","description":"The name of the Key Vault Certificate Issuer.\n"}},"type":"object","required":["keyVaultId","name"]},"outputs":{"description":"A collection of values returned by getCertificateIssuer.\n","properties":{"accountId":{"description":"The account number with the third-party Certificate Issuer.\n","type":"string"},"admins":{"description":"A list of \u003cspan pulumi-lang-nodejs=\"`admin`\" pulumi-lang-dotnet=\"`Admin`\" pulumi-lang-go=\"`admin`\" pulumi-lang-python=\"`admin`\" pulumi-lang-yaml=\"`admin`\" pulumi-lang-java=\"`admin`\"\u003e`admin`\u003c/span\u003e blocks as defined below.\n","items":{"$ref":"#/types/azure:keyvault/getCertificateIssuerAdmin:getCertificateIssuerAdmin"},"type":"array"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"keyVaultId":{"type":"string"},"name":{"type":"string"},"orgId":{"description":"The organization ID with the third-party Certificate Issuer.\n","type":"string"},"providerName":{"description":"The name of the third-party Certificate Issuer.\n","type":"string"}},"required":["accountId","admins","keyVaultId","name","orgId","providerName","id"],"type":"object"}},"azure:keyvault/getCertificates:getCertificates":{"description":"Use this data source to retrieve a list of certificate names from an existing Key Vault.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\nimport * as std from \"@pulumi/std\";\n\nconst example = azure.keyvault.getCertificates({\n    keyVaultId: existing.id,\n});\nconst exampleGetCertificate = example.then(example =\u003e std.toset({\n    input: example.names,\n})).then(invoke =\u003e .reduce((__obj, [__key, __value]) =\u003e ({ ...__obj, [__key]: azure.keyvault.getCertificate({\n    name: __key,\n    keyVaultId: existing.id,\n}) })));\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\nimport pulumi_std as std\n\nexample = azure.keyvault.get_certificates(key_vault_id=existing[\"id\"])\nexample_get_certificate = {__key: azure.keyvault.get_certificate(name=__key,\n    key_vault_id=existing[\"id\"]) for __key, __value in std.toset(input=example.names).result}\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.KeyVault.GetCertificates.Invoke(new()\n    {\n        KeyVaultId = existing.Id,\n    });\n\n    var exampleGetCertificate = Std.Toset.Invoke(new()\n    {\n        Input = example.Apply(getCertificatesResult =\u003e getCertificatesResult.Names),\n    }).Apply(invoke =\u003e );\n\n});\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getCertificates.\n","properties":{"includePending":{"type":"boolean","description":"Specifies whether to include certificates which are not completely provisioned. Defaults to true.\n"},"keyVaultId":{"type":"string","description":"Specifies the ID of the Key Vault instance to fetch certificate names from, available on the \u003cspan pulumi-lang-nodejs=\"`azure.keyvault.KeyVault`\" pulumi-lang-dotnet=\"`azure.keyvault.KeyVault`\" pulumi-lang-go=\"`keyvault.KeyVault`\" pulumi-lang-python=\"`keyvault.KeyVault`\" pulumi-lang-yaml=\"`azure.keyvault.KeyVault`\" pulumi-lang-java=\"`azure.keyvault.KeyVault`\"\u003e`azure.keyvault.KeyVault`\u003c/span\u003e Data Source / Resource.\n\n\u003e **Note:** The vault must be in the same subscription as the provider. If the vault is in another subscription, you must create an aliased provider for that subscription.\n"}},"type":"object","required":["keyVaultId"]},"outputs":{"description":"A collection of values returned by getCertificates.\n","properties":{"certificates":{"description":"One or more \u003cspan pulumi-lang-nodejs=\"`certificates`\" pulumi-lang-dotnet=\"`Certificates`\" pulumi-lang-go=\"`certificates`\" pulumi-lang-python=\"`certificates`\" pulumi-lang-yaml=\"`certificates`\" pulumi-lang-java=\"`certificates`\"\u003e`certificates`\u003c/span\u003e blocks as defined below.\n","items":{"$ref":"#/types/azure:keyvault/getCertificatesCertificate:getCertificatesCertificate"},"type":"array"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"includePending":{"type":"boolean"},"keyVaultId":{"description":"The Key Vault ID.\n","type":"string"},"names":{"description":"List containing names of certificates that exist in this Key Vault.\n","items":{"type":"string"},"type":"array"}},"required":["certificates","keyVaultId","names","id"],"type":"object"}},"azure:keyvault/getEncryptedValue:getEncryptedValue":{"description":"Encrypts or Decrypts a value using a Key Vault Key.\n\n","inputs":{"description":"A collection of arguments for invoking getEncryptedValue.\n","properties":{"algorithm":{"type":"string","description":"The Algorithm which should be used to Decrypt/Encrypt this Value. Possible values are `RSA1_5`, `RSA-OAEP` and `RSA-OAEP-256`.\n"},"encryptedData":{"type":"string","description":"The Base64 URL Encoded Encrypted Data which should be decrypted into \u003cspan pulumi-lang-nodejs=\"`plainTextValue`\" pulumi-lang-dotnet=\"`PlainTextValue`\" pulumi-lang-go=\"`plainTextValue`\" pulumi-lang-python=\"`plain_text_value`\" pulumi-lang-yaml=\"`plainTextValue`\" pulumi-lang-java=\"`plainTextValue`\"\u003e`plain_text_value`\u003c/span\u003e.\n","secret":true},"keyVaultKeyId":{"type":"string","description":"The ID of the Key Vault Key which should be used to Decrypt/Encrypt this Value.\n"},"plainTextValue":{"type":"string","description":"The plain-text value which should be Encrypted into \u003cspan pulumi-lang-nodejs=\"`encryptedData`\" pulumi-lang-dotnet=\"`EncryptedData`\" pulumi-lang-go=\"`encryptedData`\" pulumi-lang-python=\"`encrypted_data`\" pulumi-lang-yaml=\"`encryptedData`\" pulumi-lang-java=\"`encryptedData`\"\u003e`encrypted_data`\u003c/span\u003e.\n\n\u003e **Note:** One of either \u003cspan pulumi-lang-nodejs=\"`encryptedData`\" pulumi-lang-dotnet=\"`EncryptedData`\" pulumi-lang-go=\"`encryptedData`\" pulumi-lang-python=\"`encrypted_data`\" pulumi-lang-yaml=\"`encryptedData`\" pulumi-lang-java=\"`encryptedData`\"\u003e`encrypted_data`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`plainTextValue`\" pulumi-lang-dotnet=\"`PlainTextValue`\" pulumi-lang-go=\"`plainTextValue`\" pulumi-lang-python=\"`plain_text_value`\" pulumi-lang-yaml=\"`plainTextValue`\" pulumi-lang-java=\"`plainTextValue`\"\u003e`plain_text_value`\u003c/span\u003e must be specified and is used to populate the encrypted/decrypted value for the other field.\n","secret":true}},"type":"object","required":["algorithm","keyVaultKeyId"]},"outputs":{"description":"A collection of values returned by getEncryptedValue.\n","properties":{"algorithm":{"type":"string"},"decodedPlainTextValue":{"description":"The Base64URL decoded string of \u003cspan pulumi-lang-nodejs=\"`plainTextValue`\" pulumi-lang-dotnet=\"`PlainTextValue`\" pulumi-lang-go=\"`plainTextValue`\" pulumi-lang-python=\"`plain_text_value`\" pulumi-lang-yaml=\"`plainTextValue`\" pulumi-lang-java=\"`plainTextValue`\"\u003e`plain_text_value`\u003c/span\u003e. Because the API would remove padding characters of \u003cspan pulumi-lang-nodejs=\"`plainTextValue`\" pulumi-lang-dotnet=\"`PlainTextValue`\" pulumi-lang-go=\"`plainTextValue`\" pulumi-lang-python=\"`plain_text_value`\" pulumi-lang-yaml=\"`plainTextValue`\" pulumi-lang-java=\"`plainTextValue`\"\u003e`plain_text_value`\u003c/span\u003e when encrypting, this attribute is useful to get the original value.\n","secret":true,"type":"string"},"encryptedData":{"secret":true,"type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"keyVaultKeyId":{"type":"string"},"plainTextValue":{"secret":true,"type":"string"}},"required":["algorithm","decodedPlainTextValue","keyVaultKeyId","id"],"type":"object"}},"azure:keyvault/getKey:getKey":{"description":"Use this data source to access information about an existing Key Vault Key.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.keyvault.getKey({\n    name: \"secret-sauce\",\n    keyVaultId: existing.id,\n});\nexport const keyType = example.then(example =\u003e example.keyType);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.keyvault.get_key(name=\"secret-sauce\",\n    key_vault_id=existing[\"id\"])\npulumi.export(\"keyType\", example.key_type)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.KeyVault.GetKey.Invoke(new()\n    {\n        Name = \"secret-sauce\",\n        KeyVaultId = existing.Id,\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"keyType\"] = example.Apply(getKeyResult =\u003e getKeyResult.KeyType),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/keyvault\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := keyvault.LookupKey(ctx, \u0026keyvault.LookupKeyArgs{\n\t\t\tName:       \"secret-sauce\",\n\t\t\tKeyVaultId: existing.Id,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"keyType\", example.KeyType)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.keyvault.KeyvaultFunctions;\nimport com.pulumi.azure.keyvault.inputs.GetKeyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = KeyvaultFunctions.getKey(GetKeyArgs.builder()\n            .name(\"secret-sauce\")\n            .keyVaultId(existing.id())\n            .build());\n\n        ctx.export(\"keyType\", example.keyType());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:keyvault:getKey\n      arguments:\n        name: secret-sauce\n        keyVaultId: ${existing.id}\noutputs:\n  keyType: ${example.keyType}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getKey.\n","properties":{"keyVaultId":{"type":"string","description":"Specifies the ID of the Key Vault instance where the Secret resides, available on the \u003cspan pulumi-lang-nodejs=\"`azure.keyvault.KeyVault`\" pulumi-lang-dotnet=\"`azure.keyvault.KeyVault`\" pulumi-lang-go=\"`keyvault.KeyVault`\" pulumi-lang-python=\"`keyvault.KeyVault`\" pulumi-lang-yaml=\"`azure.keyvault.KeyVault`\" pulumi-lang-java=\"`azure.keyvault.KeyVault`\"\u003e`azure.keyvault.KeyVault`\u003c/span\u003e Data Source / Resource.\n\n\u003e **Note:** The vault must be in the same subscription as the provider. If the vault is in another subscription, you must create an aliased provider for that subscription.\n"},"name":{"type":"string","description":"Specifies the name of the Key Vault Key.\n"}},"type":"object","required":["keyVaultId","name"]},"outputs":{"description":"A collection of values returned by getKey.\n","properties":{"curve":{"description":"The EC Curve name of this Key Vault Key.\n","type":"string"},"e":{"description":"The RSA public exponent of this Key Vault Key.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"keyOpts":{"description":"A list of JSON web key operations assigned to this Key Vault Key\n","items":{"type":"string"},"type":"array"},"keySize":{"description":"Specifies the Size of this Key Vault Key.\n","type":"integer"},"keyType":{"description":"Specifies the Key Type of this Key Vault Key\n","type":"string"},"keyVaultId":{"type":"string"},"n":{"description":"The RSA modulus of this Key Vault Key.\n","type":"string"},"name":{"type":"string"},"publicKeyOpenssh":{"description":"The OpenSSH encoded public key of this Key Vault Key.\n","type":"string"},"publicKeyPem":{"description":"The PEM encoded public key of this Key Vault Key.\n","type":"string"},"resourceId":{"description":"The (Versioned) ID for this Key Vault Key. This property points to a specific version of a Key Vault Key, as such using this won't auto-rotate values if used in other Azure Services.\n","type":"string"},"resourceVersionlessId":{"description":"The Versionless ID of the Key Vault Key. This property allows other Azure Services (that support it) to auto-rotate their value when the Key Vault Key is updated.\n","type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"A mapping of tags assigned to this Key Vault Key.\n","type":"object"},"version":{"description":"The current version of the Key Vault Key.\n","type":"string"},"versionlessId":{"description":"The Base ID of the Key Vault Key.\n","type":"string"},"x":{"description":"The EC X component of this Key Vault Key.\n","type":"string"},"y":{"description":"The EC Y component of this Key Vault Key.\n","type":"string"}},"required":["curve","e","keyOpts","keySize","keyType","keyVaultId","n","name","publicKeyOpenssh","publicKeyPem","resourceId","resourceVersionlessId","tags","version","versionlessId","x","y","id"],"type":"object"}},"azure:keyvault/getKeyVault:getKeyVault":{"description":"Use this data source to access information about an existing Key Vault.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.keyvault.getKeyVault({\n    name: \"mykeyvault\",\n    resourceGroupName: \"some-resource-group\",\n});\nexport const vaultUri = example.then(example =\u003e example.vaultUri);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.keyvault.get_key_vault(name=\"mykeyvault\",\n    resource_group_name=\"some-resource-group\")\npulumi.export(\"vaultUri\", example.vault_uri)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.KeyVault.GetKeyVault.Invoke(new()\n    {\n        Name = \"mykeyvault\",\n        ResourceGroupName = \"some-resource-group\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"vaultUri\"] = example.Apply(getKeyVaultResult =\u003e getKeyVaultResult.VaultUri),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/keyvault\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := keyvault.LookupKeyVault(ctx, \u0026keyvault.LookupKeyVaultArgs{\n\t\t\tName:              \"mykeyvault\",\n\t\t\tResourceGroupName: \"some-resource-group\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"vaultUri\", example.VaultUri)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.keyvault.KeyvaultFunctions;\nimport com.pulumi.azure.keyvault.inputs.GetKeyVaultArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = KeyvaultFunctions.getKeyVault(GetKeyVaultArgs.builder()\n            .name(\"mykeyvault\")\n            .resourceGroupName(\"some-resource-group\")\n            .build());\n\n        ctx.export(\"vaultUri\", example.vaultUri());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:keyvault:getKeyVault\n      arguments:\n        name: mykeyvault\n        resourceGroupName: some-resource-group\noutputs:\n  vaultUri: ${example.vaultUri}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getKeyVault.\n","properties":{"name":{"type":"string","description":"Specifies the name of the Key Vault.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group in which the Key Vault exists.\n"}},"type":"object","required":["name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getKeyVault.\n","properties":{"accessPolicies":{"description":"One or more \u003cspan pulumi-lang-nodejs=\"`accessPolicy`\" pulumi-lang-dotnet=\"`AccessPolicy`\" pulumi-lang-go=\"`accessPolicy`\" pulumi-lang-python=\"`access_policy`\" pulumi-lang-yaml=\"`accessPolicy`\" pulumi-lang-java=\"`accessPolicy`\"\u003e`access_policy`\u003c/span\u003e blocks as defined below.\n","items":{"$ref":"#/types/azure:keyvault/getKeyVaultAccessPolicy:getKeyVaultAccessPolicy"},"type":"array"},"enableRbacAuthorization":{"deprecationMessage":"the \u003cspan pulumi-lang-nodejs=\"`enableRbacAuthorization`\" pulumi-lang-dotnet=\"`EnableRbacAuthorization`\" pulumi-lang-go=\"`enableRbacAuthorization`\" pulumi-lang-python=\"`enable_rbac_authorization`\" pulumi-lang-yaml=\"`enableRbacAuthorization`\" pulumi-lang-java=\"`enableRbacAuthorization`\"\u003e`enable_rbac_authorization`\u003c/span\u003e property is deprecated in favour of \u003cspan pulumi-lang-nodejs=\"`rbacAuthorizationEnabled`\" pulumi-lang-dotnet=\"`RbacAuthorizationEnabled`\" pulumi-lang-go=\"`rbacAuthorizationEnabled`\" pulumi-lang-python=\"`rbac_authorization_enabled`\" pulumi-lang-yaml=\"`rbacAuthorizationEnabled`\" pulumi-lang-java=\"`rbacAuthorizationEnabled`\"\u003e`rbac_authorization_enabled`\u003c/span\u003e and will be removed in v5.0 of the AzureRM Provider.","description":"Is Role Based Access Control (RBAC) for authorization of data actions enabled on this Key Vault?\n","type":"boolean"},"enabledForDeployment":{"description":"Can Azure Virtual Machines retrieve certificates stored as secrets from the Key Vault?\n","type":"boolean"},"enabledForDiskEncryption":{"description":"Can Azure Disk Encryption retrieve secrets from the Key Vault?\n","type":"boolean"},"enabledForTemplateDeployment":{"description":"Can Azure Resource Manager retrieve secrets from the Key Vault?\n","type":"boolean"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"location":{"description":"The Azure Region in which the Key Vault exists.\n","type":"string"},"name":{"type":"string"},"networkAcls":{"items":{"$ref":"#/types/azure:keyvault/getKeyVaultNetworkAcl:getKeyVaultNetworkAcl"},"type":"array"},"publicNetworkAccessEnabled":{"description":"Is public network access enabled on this Key Vault?\n","type":"boolean"},"purgeProtectionEnabled":{"description":"Is purge protection enabled on this Key Vault?\n","type":"boolean"},"rbacAuthorizationEnabled":{"type":"boolean"},"resourceGroupName":{"type":"string"},"skuName":{"description":"The Name of the SKU used for this Key Vault.\n","type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"A mapping of tags assigned to the Key Vault.\n","type":"object"},"tenantId":{"description":"The Azure Active Directory Tenant ID used to authenticate requests for this Key Vault.\n","type":"string"},"vaultUri":{"description":"The URI of the vault for performing operations on keys and secrets.\n","type":"string"}},"required":["accessPolicies","enableRbacAuthorization","enabledForDeployment","enabledForDiskEncryption","enabledForTemplateDeployment","location","name","networkAcls","publicNetworkAccessEnabled","purgeProtectionEnabled","rbacAuthorizationEnabled","resourceGroupName","skuName","tags","tenantId","vaultUri","id"],"type":"object"}},"azure:keyvault/getManagedHardwareSecurityModule:getManagedHardwareSecurityModule":{"description":"Use this data source to access information about an existing Key Vault Managed Hardware Security Module.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.keyvault.getManagedHardwareSecurityModule({\n    name: \"mykeyvaultHsm\",\n    resourceGroupName: \"some-resource-group\",\n});\nexport const hsmUri = example.then(example =\u003e example.hsmUri);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.keyvault.get_managed_hardware_security_module(name=\"mykeyvaultHsm\",\n    resource_group_name=\"some-resource-group\")\npulumi.export(\"hsmUri\", example.hsm_uri)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.KeyVault.GetManagedHardwareSecurityModule.Invoke(new()\n    {\n        Name = \"mykeyvaultHsm\",\n        ResourceGroupName = \"some-resource-group\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"hsmUri\"] = example.Apply(getManagedHardwareSecurityModuleResult =\u003e getManagedHardwareSecurityModuleResult.HsmUri),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/keyvault\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := keyvault.LookupManagedHardwareSecurityModule(ctx, \u0026keyvault.LookupManagedHardwareSecurityModuleArgs{\n\t\t\tName:              \"mykeyvaultHsm\",\n\t\t\tResourceGroupName: \"some-resource-group\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"hsmUri\", example.HsmUri)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.keyvault.KeyvaultFunctions;\nimport com.pulumi.azure.keyvault.inputs.GetManagedHardwareSecurityModuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = KeyvaultFunctions.getManagedHardwareSecurityModule(GetManagedHardwareSecurityModuleArgs.builder()\n            .name(\"mykeyvaultHsm\")\n            .resourceGroupName(\"some-resource-group\")\n            .build());\n\n        ctx.export(\"hsmUri\", example.hsmUri());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:keyvault:getManagedHardwareSecurityModule\n      arguments:\n        name: mykeyvaultHsm\n        resourceGroupName: some-resource-group\noutputs:\n  hsmUri: ${example.hsmUri}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.KeyVault` - 2023-07-01\n","inputs":{"description":"A collection of arguments for invoking getManagedHardwareSecurityModule.\n","properties":{"name":{"type":"string","description":"The name of the Key Vault Managed Hardware Security Module.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group in which the Key Vault Managed Hardware Security Module exists.\n"}},"type":"object","required":["name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getManagedHardwareSecurityModule.\n","properties":{"adminObjectIds":{"description":"Specifies a list of administrators object IDs for the key vault Managed Hardware Security Module.\n","items":{"type":"string"},"type":"array"},"hsmUri":{"description":"The URI of the Hardware Security Module for performing operations on keys and secrets.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"location":{"description":"The Azure Region in which the Key Vault managed Hardware Security Module exists.\n","type":"string"},"name":{"type":"string"},"purgeProtectionEnabled":{"description":"Is purge protection enabled on this Key Vault Managed Hardware Security Module?\n","type":"boolean"},"resourceGroupName":{"type":"string"},"skuName":{"description":"The Name of the SKU used for this Key Vault Managed Hardware Security Module.\n","type":"string"},"softDeleteRetentionDays":{"description":"The number of days that items should be retained for soft-deleted.\n","type":"integer"},"tags":{"additionalProperties":{"type":"string"},"description":"A mapping of tags assigned to the Key Vault Managed Hardware Security Module.\n","type":"object"},"tenantId":{"description":"The Azure Active Directory Tenant ID used for authenticating requests to the Key Vault Managed Hardware Security Module.\n","type":"string"}},"required":["adminObjectIds","hsmUri","location","name","purgeProtectionEnabled","resourceGroupName","skuName","softDeleteRetentionDays","tags","tenantId","id"],"type":"object"}},"azure:keyvault/getManagedHardwareSecurityModuleKey:getManagedHardwareSecurityModuleKey":{"description":"Use this data source to access information about an existing Managed Hardware Security Module Key.\n\n\u003e **Note:** All arguments including the secret value will be stored in the raw state as plain-text.\n[Read more about sensitive data in state](https://www.terraform.io/docs/state/sensitive-data.html).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nexport = async () =\u003e {\n    const example = await azure.keyvault.getManagedHardwareSecurityModuleKey({\n        managedHsmId: exampleAzurermKeyVaultManagedHardwareSecurityModule.id,\n        name: exampleAzurermKeyVaultManagedHardwareSecurityModuleKey.name,\n    });\n    return {\n        \"hsm-key-vesrion\": example.version,\n    };\n}\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.keyvault.get_managed_hardware_security_module_key(managed_hsm_id=example_azurerm_key_vault_managed_hardware_security_module[\"id\"],\n    name=example_azurerm_key_vault_managed_hardware_security_module_key[\"name\"])\npulumi.export(\"hsm-key-vesrion\", example.version)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.KeyVault.GetManagedHardwareSecurityModuleKey.Invoke(new()\n    {\n        ManagedHsmId = exampleAzurermKeyVaultManagedHardwareSecurityModule.Id,\n        Name = exampleAzurermKeyVaultManagedHardwareSecurityModuleKey.Name,\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"hsm-key-vesrion\"] = example.Apply(getManagedHardwareSecurityModuleKeyResult =\u003e getManagedHardwareSecurityModuleKeyResult.Version),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/keyvault\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := keyvault.LookupManagedHardwareSecurityModuleKey(ctx, \u0026keyvault.LookupManagedHardwareSecurityModuleKeyArgs{\n\t\t\tManagedHsmId: exampleAzurermKeyVaultManagedHardwareSecurityModule.Id,\n\t\t\tName:         exampleAzurermKeyVaultManagedHardwareSecurityModuleKey.Name,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"hsm-key-vesrion\", example.Version)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.keyvault.KeyvaultFunctions;\nimport com.pulumi.azure.keyvault.inputs.GetManagedHardwareSecurityModuleKeyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = KeyvaultFunctions.getManagedHardwareSecurityModuleKey(GetManagedHardwareSecurityModuleKeyArgs.builder()\n            .managedHsmId(exampleAzurermKeyVaultManagedHardwareSecurityModule.id())\n            .name(exampleAzurermKeyVaultManagedHardwareSecurityModuleKey.name())\n            .build());\n\n        ctx.export(\"hsm-key-vesrion\", example.version());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:keyvault:getManagedHardwareSecurityModuleKey\n      arguments:\n        managedHsmId: ${exampleAzurermKeyVaultManagedHardwareSecurityModule.id}\n        name: ${exampleAzurermKeyVaultManagedHardwareSecurityModuleKey.name}\noutputs:\n  hsm-key-vesrion: ${example.version}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getManagedHardwareSecurityModuleKey.\n","properties":{"managedHsmId":{"type":"string","description":"Specifies the ID of the Managed Hardware Security Module instance where the Secret resides, available on the \u003cspan pulumi-lang-nodejs=\"`azure.keyvault.ManagedHardwareSecurityModuleKey`\" pulumi-lang-dotnet=\"`azure.keyvault.ManagedHardwareSecurityModuleKey`\" pulumi-lang-go=\"`keyvault.ManagedHardwareSecurityModuleKey`\" pulumi-lang-python=\"`keyvault.ManagedHardwareSecurityModuleKey`\" pulumi-lang-yaml=\"`azure.keyvault.ManagedHardwareSecurityModuleKey`\" pulumi-lang-java=\"`azure.keyvault.ManagedHardwareSecurityModuleKey`\"\u003e`azure.keyvault.ManagedHardwareSecurityModuleKey`\u003c/span\u003e Data Source / Resource.\n\n\u003e **Note:** The Managed Hardware Security Module must be in the same subscription as the provider. If the Managed Hardware Security Module is in another subscription, you must create an aliased provider for that subscription.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Specifies the name of the Managed Hardware Security Module Key.\n","willReplaceOnChanges":true}},"type":"object","required":["managedHsmId","name"]},"outputs":{"description":"A collection of values returned by getManagedHardwareSecurityModuleKey.\n","properties":{"curve":{"description":"The EC Curve name of this Managed Hardware Security Module Key.\n","type":"string"},"expirationDate":{"type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"keyOpts":{"description":"A list of JSON web key operations assigned to this Managed Hardware Security Module Key\n","items":{"type":"string"},"type":"array"},"keySize":{"description":"Specifies the Size of this Managed Hardware Security Module Key.\n","type":"integer"},"keyType":{"description":"Specifies the Key Type of this Managed Hardware Security Module Key\n","type":"string"},"managedHsmId":{"type":"string"},"name":{"type":"string"},"notBeforeDate":{"type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"A mapping of tags assigned to this Managed Hardware Security Module Key.\n","type":"object"},"version":{"description":"The current version of the Managed Hardware Security Module Key.\n","type":"string"},"versionedId":{"description":"The versioned ID of the Managed Hardware Security Module Key.\n","type":"string"}},"required":["curve","expirationDate","keyOpts","keySize","keyType","managedHsmId","name","notBeforeDate","tags","version","versionedId","id"],"type":"object"}},"azure:keyvault/getManagedHardwareSecurityModuleRoleDefinition:getManagedHardwareSecurityModuleRoleDefinition":{"description":"Use this data source to access information about an existing Key Vault Managed Hardware Security Module Role Definition.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.keyvault.getManagedHardwareSecurityModuleRoleDefinition({\n    managedHsmId: exampleAzurermKeyVaultManagedHardwareSecurityModule.id,\n    name: \"21dbd100-6940-42c2-9190-5d6cb909625b\",\n});\nexport const id = example.then(example =\u003e example.resourceManagerId);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.keyvault.get_managed_hardware_security_module_role_definition(managed_hsm_id=example_azurerm_key_vault_managed_hardware_security_module[\"id\"],\n    name=\"21dbd100-6940-42c2-9190-5d6cb909625b\")\npulumi.export(\"id\", example.resource_manager_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.KeyVault.GetManagedHardwareSecurityModuleRoleDefinition.Invoke(new()\n    {\n        ManagedHsmId = exampleAzurermKeyVaultManagedHardwareSecurityModule.Id,\n        Name = \"21dbd100-6940-42c2-9190-5d6cb909625b\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"id\"] = example.Apply(getManagedHardwareSecurityModuleRoleDefinitionResult =\u003e getManagedHardwareSecurityModuleRoleDefinitionResult.ResourceManagerId),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/keyvault\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := keyvault.LookupManagedHardwareSecurityModuleRoleDefinition(ctx, \u0026keyvault.LookupManagedHardwareSecurityModuleRoleDefinitionArgs{\n\t\t\tManagedHsmId: exampleAzurermKeyVaultManagedHardwareSecurityModule.Id,\n\t\t\tName:         \"21dbd100-6940-42c2-9190-5d6cb909625b\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"id\", example.ResourceManagerId)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.keyvault.KeyvaultFunctions;\nimport com.pulumi.azure.keyvault.inputs.GetManagedHardwareSecurityModuleRoleDefinitionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = KeyvaultFunctions.getManagedHardwareSecurityModuleRoleDefinition(GetManagedHardwareSecurityModuleRoleDefinitionArgs.builder()\n            .managedHsmId(exampleAzurermKeyVaultManagedHardwareSecurityModule.id())\n            .name(\"21dbd100-6940-42c2-9190-5d6cb909625b\")\n            .build());\n\n        ctx.export(\"id\", example.resourceManagerId());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:keyvault:getManagedHardwareSecurityModuleRoleDefinition\n      arguments:\n        managedHsmId: ${exampleAzurermKeyVaultManagedHardwareSecurityModule.id}\n        name: 21dbd100-6940-42c2-9190-5d6cb909625b\noutputs:\n  id: ${example.resourceManagerId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getManagedHardwareSecurityModuleRoleDefinition.\n","properties":{"managedHsmId":{"type":"string","description":"The ID of the Key Vault Managed Hardware Security Module.\n"},"name":{"type":"string","description":"The name in UUID notation of this Key Vault Managed Hardware Security Module Role Definition.\n"}},"type":"object","required":["managedHsmId","name"]},"outputs":{"description":"A collection of values returned by getManagedHardwareSecurityModuleRoleDefinition.\n","properties":{"assignableScopes":{"description":"A list of assignable role scopes. Possible values are `/` and `/keys`.\n","items":{"type":"string"},"type":"array"},"description":{"description":"A text description of the Key Vault Managed Hardware Security Module Role Definition.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"managedHsmId":{"type":"string"},"name":{"type":"string"},"permissions":{"description":"A \u003cspan pulumi-lang-nodejs=\"`permission`\" pulumi-lang-dotnet=\"`Permission`\" pulumi-lang-go=\"`permission`\" pulumi-lang-python=\"`permission`\" pulumi-lang-yaml=\"`permission`\" pulumi-lang-java=\"`permission`\"\u003e`permission`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:keyvault/getManagedHardwareSecurityModuleRoleDefinitionPermission:getManagedHardwareSecurityModuleRoleDefinitionPermission"},"type":"array"},"resourceManagerId":{"description":"The ID of the Key Vault Managed Hardware Security Module Role Definition resource without base url.\n","type":"string"},"roleName":{"description":"The display name of the Key Vault Managed Hardware Security Module Role Definition.\n","type":"string"},"roleType":{"description":"The type of the Key Vault Managed Hardware Security Module Role Definition. Possible values are `AKVBuiltInRole` and `CustomRole`.\n","type":"string"}},"required":["assignableScopes","description","managedHsmId","name","permissions","resourceManagerId","roleName","roleType","id"],"type":"object"}},"azure:keyvault/getSecret:getSecret":{"description":"Use this data source to access information about an existing Key Vault Secret.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.keyvault.getSecret({\n    name: \"secret-sauce\",\n    keyVaultId: existing.id,\n});\nexport const secretValue = example.then(example =\u003e example.value);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.keyvault.get_secret(name=\"secret-sauce\",\n    key_vault_id=existing[\"id\"])\npulumi.export(\"secretValue\", example.value)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.KeyVault.GetSecret.Invoke(new()\n    {\n        Name = \"secret-sauce\",\n        KeyVaultId = existing.Id,\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"secretValue\"] = example.Apply(getSecretResult =\u003e getSecretResult.Value),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/keyvault\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := keyvault.LookupSecret(ctx, \u0026keyvault.LookupSecretArgs{\n\t\t\tName:       \"secret-sauce\",\n\t\t\tKeyVaultId: existing.Id,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"secretValue\", example.Value)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.keyvault.KeyvaultFunctions;\nimport com.pulumi.azure.keyvault.inputs.GetSecretArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = KeyvaultFunctions.getSecret(GetSecretArgs.builder()\n            .name(\"secret-sauce\")\n            .keyVaultId(existing.id())\n            .build());\n\n        ctx.export(\"secretValue\", example.value());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:keyvault:getSecret\n      arguments:\n        name: secret-sauce\n        keyVaultId: ${existing.id}\noutputs:\n  secretValue: ${example.value}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getSecret.\n","properties":{"keyVaultId":{"type":"string","description":"Specifies the ID of the Key Vault instance to fetch secret names from, available on the \u003cspan pulumi-lang-nodejs=\"`azure.keyvault.KeyVault`\" pulumi-lang-dotnet=\"`azure.keyvault.KeyVault`\" pulumi-lang-go=\"`keyvault.KeyVault`\" pulumi-lang-python=\"`keyvault.KeyVault`\" pulumi-lang-yaml=\"`azure.keyvault.KeyVault`\" pulumi-lang-java=\"`azure.keyvault.KeyVault`\"\u003e`azure.keyvault.KeyVault`\u003c/span\u003e Data Source / Resource.\n"},"name":{"type":"string","description":"Specifies the name of the Key Vault Secret.\n"},"version":{"type":"string","description":"Specifies the version of the Key Vault Secret. Defaults to the current version of the Key Vault Secret.\n\n\u003e **Note:** The vault must be in the same subscription as the provider. If the vault is in another subscription, you must create an aliased provider for that subscription.\n"}},"type":"object","required":["keyVaultId","name"]},"outputs":{"description":"A collection of values returned by getSecret.\n","properties":{"contentType":{"description":"The content type for the Key Vault Secret.\n","type":"string"},"expirationDate":{"description":"The date and time at which the Key Vault Secret expires and is no longer valid.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"keyVaultId":{"type":"string"},"name":{"type":"string"},"notBeforeDate":{"description":"The earliest date at which the Key Vault Secret can be used.\n","type":"string"},"resourceId":{"description":"The (Versioned) ID for this Key Vault Secret. This property points to a specific version of a Key Vault Secret, as such using this won't auto-rotate values if used in other Azure Services.\n","type":"string"},"resourceVersionlessId":{"description":"The Versionless ID of the Key Vault Secret. This property allows other Azure Services (that support it) to auto-rotate their value when the Key Vault Secret is updated.\n","type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"Any tags assigned to this resource.\n","type":"object"},"value":{"description":"The value of the Key Vault Secret.\n","secret":true,"type":"string"},"version":{"type":"string"},"versionlessId":{"description":"The Versionless ID of the Key Vault Secret. This can be used to always get latest secret value, and enable fetching automatically rotating secrets.\n","type":"string"}},"required":["contentType","expirationDate","keyVaultId","name","notBeforeDate","resourceId","resourceVersionlessId","tags","value","versionlessId","id"],"type":"object"}},"azure:keyvault/getSecrets:getSecrets":{"description":"Use this data source to retrieve a list of secret names from an existing Key Vault Secret.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\nimport * as std from \"@pulumi/std\";\n\nconst example = azure.keyvault.getSecrets({\n    keyVaultId: existing.id,\n});\nconst exampleGetSecret = example.then(example =\u003e std.toset({\n    input: example.names,\n})).then(invoke =\u003e .reduce((__obj, [__key, __value]) =\u003e ({ ...__obj, [__key]: azure.keyvault.getSecret({\n    name: __key,\n    keyVaultId: existing.id,\n}) })));\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\nimport pulumi_std as std\n\nexample = azure.keyvault.get_secrets(key_vault_id=existing[\"id\"])\nexample_get_secret = {__key: azure.keyvault.get_secret(name=__key,\n    key_vault_id=existing[\"id\"]) for __key, __value in std.toset(input=example.names).result}\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.KeyVault.GetSecrets.Invoke(new()\n    {\n        KeyVaultId = existing.Id,\n    });\n\n    var exampleGetSecret = Std.Toset.Invoke(new()\n    {\n        Input = example.Apply(getSecretsResult =\u003e getSecretsResult.Names),\n    }).Apply(invoke =\u003e );\n\n});\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getSecrets.\n","properties":{"keyVaultId":{"type":"string","description":"Specifies the ID of the Key Vault instance to fetch secret names from, available on the \u003cspan pulumi-lang-nodejs=\"`azure.keyvault.KeyVault`\" pulumi-lang-dotnet=\"`azure.keyvault.KeyVault`\" pulumi-lang-go=\"`keyvault.KeyVault`\" pulumi-lang-python=\"`keyvault.KeyVault`\" pulumi-lang-yaml=\"`azure.keyvault.KeyVault`\" pulumi-lang-java=\"`azure.keyvault.KeyVault`\"\u003e`azure.keyvault.KeyVault`\u003c/span\u003e Data Source / Resource.\n\n\u003e **Note:** The vault must be in the same subscription as the provider. If the vault is in another subscription, you must create an aliased provider for that subscription.\n"}},"type":"object","required":["keyVaultId"]},"outputs":{"description":"A collection of values returned by getSecrets.\n","properties":{"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"keyVaultId":{"type":"string"},"names":{"description":"List containing names of secrets that exist in this Key Vault.\n","items":{"type":"string"},"type":"array"},"secrets":{"description":"One or more \u003cspan pulumi-lang-nodejs=\"`secrets`\" pulumi-lang-dotnet=\"`Secrets`\" pulumi-lang-go=\"`secrets`\" pulumi-lang-python=\"`secrets`\" pulumi-lang-yaml=\"`secrets`\" pulumi-lang-java=\"`secrets`\"\u003e`secrets`\u003c/span\u003e blocks as defined below.\n","items":{"$ref":"#/types/azure:keyvault/getSecretsSecret:getSecretsSecret"},"type":"array"}},"required":["keyVaultId","names","secrets","id"],"type":"object"}},"azure:kusto/getCluster:getCluster":{"description":"Use this data source to access information about an existing Kusto (also known as Azure Data Explorer) Cluster\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.kusto.getCluster({\n    name: \"kustocluster\",\n    resourceGroupName: \"test_resource_group\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.kusto.get_cluster(name=\"kustocluster\",\n    resource_group_name=\"test_resource_group\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Kusto.GetCluster.Invoke(new()\n    {\n        Name = \"kustocluster\",\n        ResourceGroupName = \"test_resource_group\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/kusto\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := kusto.LookupCluster(ctx, \u0026kusto.LookupClusterArgs{\n\t\t\tName:              \"kustocluster\",\n\t\t\tResourceGroupName: \"test_resource_group\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.kusto.KustoFunctions;\nimport com.pulumi.azure.kusto.inputs.GetClusterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = KustoFunctions.getCluster(GetClusterArgs.builder()\n            .name(\"kustocluster\")\n            .resourceGroupName(\"test_resource_group\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:kusto:getCluster\n      arguments:\n        name: kustocluster\n        resourceGroupName: test_resource_group\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.Kusto` - 2024-04-13\n","inputs":{"description":"A collection of arguments for invoking getCluster.\n","properties":{"name":{"type":"string","description":"Specifies the name of the Kusto Cluster.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Kusto Cluster exists.\n"}},"type":"object","required":["name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getCluster.\n","properties":{"dataIngestionUri":{"description":"The Kusto Cluster URI to be used for data ingestion.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"identities":{"description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:kusto/getClusterIdentity:getClusterIdentity"},"type":"array"},"location":{"type":"string"},"name":{"type":"string"},"resourceGroupName":{"type":"string"},"tags":{"additionalProperties":{"type":"string"},"type":"object"},"uri":{"description":"The FQDN of the Azure Kusto Cluster.\n","type":"string"}},"required":["dataIngestionUri","identities","location","name","resourceGroupName","tags","uri","id"],"type":"object"}},"azure:kusto/getDatabase:getDatabase":{"description":"Use this data source to access information about an existing Kusto Database\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.kusto.getDatabase({\n    name: \"my-kusto-database\",\n    resourceGroupName: \"test_resource_group\",\n    clusterName: \"test_cluster\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.kusto.get_database(name=\"my-kusto-database\",\n    resource_group_name=\"test_resource_group\",\n    cluster_name=\"test_cluster\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Kusto.GetDatabase.Invoke(new()\n    {\n        Name = \"my-kusto-database\",\n        ResourceGroupName = \"test_resource_group\",\n        ClusterName = \"test_cluster\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/kusto\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := kusto.LookupDatabase(ctx, \u0026kusto.LookupDatabaseArgs{\n\t\t\tName:              \"my-kusto-database\",\n\t\t\tResourceGroupName: \"test_resource_group\",\n\t\t\tClusterName:       \"test_cluster\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.kusto.KustoFunctions;\nimport com.pulumi.azure.kusto.inputs.GetDatabaseArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = KustoFunctions.getDatabase(GetDatabaseArgs.builder()\n            .name(\"my-kusto-database\")\n            .resourceGroupName(\"test_resource_group\")\n            .clusterName(\"test_cluster\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:kusto:getDatabase\n      arguments:\n        name: my-kusto-database\n        resourceGroupName: test_resource_group\n        clusterName: test_cluster\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.Kusto` - 2024-04-13\n","inputs":{"description":"A collection of arguments for invoking getDatabase.\n","properties":{"clusterName":{"type":"string","description":"The name of the Kusto Cluster this database is added to.\n"},"name":{"type":"string","description":"The name of the Kusto Database.\n"},"resourceGroupName":{"type":"string","description":"The Resource Group where the Kusto Database exists.\n"}},"type":"object","required":["clusterName","name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getDatabase.\n","properties":{"clusterName":{"type":"string"},"hotCachePeriod":{"description":"The time the data that should be kept in cache for fast queries as ISO 8601 timespan.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"location":{"description":"The Azure Region in which the managed Kusto Database exists.\n","type":"string"},"name":{"type":"string"},"resourceGroupName":{"type":"string"},"size":{"description":"The size of the database in bytes.\n","type":"number"},"softDeletePeriod":{"description":"The time the data should be kept before it stops being accessible to queries as ISO 8601 timespan.\n","type":"string"}},"required":["clusterName","hotCachePeriod","location","name","resourceGroupName","size","softDeletePeriod","id"],"type":"object"}},"azure:lb/getBackendAddressPool:getBackendAddressPool":{"description":"Use this data source to access information about an existing Load Balancer's Backend Address Pool.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.lb.getLB({\n    name: \"example-lb\",\n    resourceGroupName: \"example-resources\",\n});\nconst exampleGetBackendAddressPool = example.then(example =\u003e azure.lb.getBackendAddressPool({\n    name: \"first\",\n    loadbalancerId: example.id,\n}));\nexport const backendAddressPoolId = exampleGetBackendAddressPool.then(exampleGetBackendAddressPool =\u003e exampleGetBackendAddressPool.id);\nexport const backendIpConfigurationIds = beap.backendIpConfigurations.map(__item =\u003e __item.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.lb.get_lb(name=\"example-lb\",\n    resource_group_name=\"example-resources\")\nexample_get_backend_address_pool = azure.lb.get_backend_address_pool(name=\"first\",\n    loadbalancer_id=example.id)\npulumi.export(\"backendAddressPoolId\", example_get_backend_address_pool.id)\npulumi.export(\"backendIpConfigurationIds\", [__item[\"id\"] for __item in beap[\"backendIpConfigurations\"]])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Lb.GetLB.Invoke(new()\n    {\n        Name = \"example-lb\",\n        ResourceGroupName = \"example-resources\",\n    });\n\n    var exampleGetBackendAddressPool = Azure.Lb.GetBackendAddressPool.Invoke(new()\n    {\n        Name = \"first\",\n        LoadbalancerId = example.Apply(getLBResult =\u003e getLBResult.Id),\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"backendAddressPoolId\"] = exampleGetBackendAddressPool.Apply(getBackendAddressPoolResult =\u003e getBackendAddressPoolResult.Id),\n        [\"backendIpConfigurationIds\"] = beap.BackendIpConfigurations.Select(__item =\u003e __item.Id).ToList(),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/lb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\nexample, err := lb.GetLB(ctx, \u0026lb.GetLBArgs{\nName: \"example-lb\",\nResourceGroupName: \"example-resources\",\n}, nil);\nif err != nil {\nreturn err\n}\nexampleGetBackendAddressPool, err := lb.LookupBackendAddressPool(ctx, \u0026lb.LookupBackendAddressPoolArgs{\nName: \"first\",\nLoadbalancerId: example.Id,\n}, nil);\nif err != nil {\nreturn err\n}\nctx.Export(\"backendAddressPoolId\", exampleGetBackendAddressPool.Id)\nctx.Export(\"backendIpConfigurationIds\", pulumi.Array(%!v(PANIC=Format method: fatal: A failure has occurred: unlowered splat expression @ example.pp:15,11-45)))\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.lb.LbFunctions;\nimport com.pulumi.azure.lb.inputs.GetLBArgs;\nimport com.pulumi.azure.lb.inputs.GetBackendAddressPoolArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = LbFunctions.getLB(GetLBArgs.builder()\n            .name(\"example-lb\")\n            .resourceGroupName(\"example-resources\")\n            .build());\n\n        final var exampleGetBackendAddressPool = LbFunctions.getBackendAddressPool(GetBackendAddressPoolArgs.builder()\n            .name(\"first\")\n            .loadbalancerId(example.id())\n            .build());\n\n        ctx.export(\"backendAddressPoolId\", exampleGetBackendAddressPool.id());\n        ctx.export(\"backendIpConfigurationIds\", beap.backendIpConfigurations().stream().map(element -\u003e element.id()).collect(toList()));\n    }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2023-09-01\n","inputs":{"description":"A collection of arguments for invoking getBackendAddressPool.\n","properties":{"loadbalancerId":{"type":"string","description":"The ID of the Load Balancer in which the Backend Address Pool exists.\n"},"name":{"type":"string","description":"Specifies the name of the Backend Address Pool.\n"}},"type":"object","required":["loadbalancerId","name"]},"outputs":{"description":"A collection of values returned by getBackendAddressPool.\n","properties":{"backendAddresses":{"description":"A list of \u003cspan pulumi-lang-nodejs=\"`backendAddress`\" pulumi-lang-dotnet=\"`BackendAddress`\" pulumi-lang-go=\"`backendAddress`\" pulumi-lang-python=\"`backend_address`\" pulumi-lang-yaml=\"`backendAddress`\" pulumi-lang-java=\"`backendAddress`\"\u003e`backend_address`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:lb/getBackendAddressPoolBackendAddress:getBackendAddressPoolBackendAddress"},"type":"array"},"backendIpConfigurations":{"description":"A list of references to IP addresses defined in network interfaces.\n","items":{"$ref":"#/types/azure:lb/getBackendAddressPoolBackendIpConfiguration:getBackendAddressPoolBackendIpConfiguration"},"type":"array"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"inboundNatRules":{"description":"A list of the Load Balancing Inbound NAT Rules associated with this Backend Address Pool.\n","items":{"type":"string"},"type":"array"},"loadBalancingRules":{"description":"A list of the Load Balancing Rules associated with this Backend Address Pool.\n","items":{"type":"string"},"type":"array"},"loadbalancerId":{"type":"string"},"name":{"description":"The name of the Backend Address.\n","type":"string"},"outboundRules":{"description":"A list of the Load Balancing Outbound Rules associated with this Backend Address Pool.\n","items":{"type":"string"},"type":"array"}},"required":["backendAddresses","backendIpConfigurations","inboundNatRules","loadBalancingRules","loadbalancerId","name","outboundRules","id"],"type":"object"}},"azure:lb/getLB:getLB":{"description":"Use this data source to access information about an existing Load Balancer\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.lb.getLB({\n    name: \"example-lb\",\n    resourceGroupName: \"example-resources\",\n});\nexport const loadbalancerId = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.lb.get_lb(name=\"example-lb\",\n    resource_group_name=\"example-resources\")\npulumi.export(\"loadbalancerId\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Lb.GetLB.Invoke(new()\n    {\n        Name = \"example-lb\",\n        ResourceGroupName = \"example-resources\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"loadbalancerId\"] = example.Apply(getLBResult =\u003e getLBResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/lb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := lb.GetLB(ctx, \u0026lb.GetLBArgs{\n\t\t\tName:              \"example-lb\",\n\t\t\tResourceGroupName: \"example-resources\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"loadbalancerId\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.lb.LbFunctions;\nimport com.pulumi.azure.lb.inputs.GetLBArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = LbFunctions.getLB(GetLBArgs.builder()\n            .name(\"example-lb\")\n            .resourceGroupName(\"example-resources\")\n            .build());\n\n        ctx.export(\"loadbalancerId\", example.id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:lb:getLB\n      arguments:\n        name: example-lb\n        resourceGroupName: example-resources\noutputs:\n  loadbalancerId: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2023-09-01\n","inputs":{"description":"A collection of arguments for invoking getLB.\n","properties":{"name":{"type":"string","description":"Specifies the name of the Load Balancer.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group in which the Load Balancer exists.\n"}},"type":"object","required":["name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getLB.\n","properties":{"frontendIpConfigurations":{"description":"A \u003cspan pulumi-lang-nodejs=\"`frontendIpConfiguration`\" pulumi-lang-dotnet=\"`FrontendIpConfiguration`\" pulumi-lang-go=\"`frontendIpConfiguration`\" pulumi-lang-python=\"`frontend_ip_configuration`\" pulumi-lang-yaml=\"`frontendIpConfiguration`\" pulumi-lang-java=\"`frontendIpConfiguration`\"\u003e`frontend_ip_configuration`\u003c/span\u003e block as documented below.\n","items":{"$ref":"#/types/azure:lb/getLBFrontendIpConfiguration:getLBFrontendIpConfiguration"},"type":"array"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"location":{"description":"The Azure location where the Load Balancer exists.\n","type":"string"},"name":{"description":"The name of the Frontend IP Configuration.\n","type":"string"},"privateIpAddress":{"description":"Private IP Address to assign to the Load Balancer.\n","type":"string"},"privateIpAddresses":{"description":"The list of private IP address assigned to the load balancer in \u003cspan pulumi-lang-nodejs=\"`frontendIpConfiguration`\" pulumi-lang-dotnet=\"`FrontendIpConfiguration`\" pulumi-lang-go=\"`frontendIpConfiguration`\" pulumi-lang-python=\"`frontend_ip_configuration`\" pulumi-lang-yaml=\"`frontendIpConfiguration`\" pulumi-lang-java=\"`frontendIpConfiguration`\"\u003e`frontend_ip_configuration`\u003c/span\u003e blocks, if any.\n","items":{"type":"string"},"type":"array"},"resourceGroupName":{"type":"string"},"sku":{"description":"The SKU of the Load Balancer.\n","type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"A mapping of tags assigned to the resource.\n","type":"object"}},"required":["frontendIpConfigurations","location","name","privateIpAddress","privateIpAddresses","resourceGroupName","sku","tags","id"],"type":"object"}},"azure:lb/getLBOutboundRule:getLBOutboundRule":{"description":"Use this data source to access information about an existing Load Balancer Outbound Rule.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.lb.getLBOutboundRule({\n    name: \"existing_lb_outbound_rule\",\n    loadbalancerId: \"existing_load_balancer_id\",\n});\nexport const id = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.lb.get_lb_outbound_rule(name=\"existing_lb_outbound_rule\",\n    loadbalancer_id=\"existing_load_balancer_id\")\npulumi.export(\"id\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Lb.GetLBOutboundRule.Invoke(new()\n    {\n        Name = \"existing_lb_outbound_rule\",\n        LoadbalancerId = \"existing_load_balancer_id\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"id\"] = example.Apply(getLBOutboundRuleResult =\u003e getLBOutboundRuleResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/lb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := lb.GetLBOutboundRule(ctx, \u0026lb.GetLBOutboundRuleArgs{\n\t\t\tName:           \"existing_lb_outbound_rule\",\n\t\t\tLoadbalancerId: \"existing_load_balancer_id\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"id\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.lb.LbFunctions;\nimport com.pulumi.azure.lb.inputs.GetLBOutboundRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = LbFunctions.getLBOutboundRule(GetLBOutboundRuleArgs.builder()\n            .name(\"existing_lb_outbound_rule\")\n            .loadbalancerId(\"existing_load_balancer_id\")\n            .build());\n\n        ctx.export(\"id\", example.id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:lb:getLBOutboundRule\n      arguments:\n        name: existing_lb_outbound_rule\n        loadbalancerId: existing_load_balancer_id\noutputs:\n  id: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2023-09-01\n","inputs":{"description":"A collection of arguments for invoking getLBOutboundRule.\n","properties":{"loadbalancerId":{"type":"string","description":"The ID of the Load Balancer in which the Outbound Rule exists.\n"},"name":{"type":"string","description":"The name of this Load Balancer Outbound Rule.\n"}},"type":"object","required":["loadbalancerId","name"]},"outputs":{"description":"A collection of values returned by getLBOutboundRule.\n","properties":{"allocatedOutboundPorts":{"description":"The number of outbound ports used for NAT.\n","type":"integer"},"backendAddressPoolId":{"description":"The ID of the Backend Address Pool. Outbound traffic is randomly load balanced across IPs in the backend IPs.\n","type":"string"},"enableTcpReset":{"type":"boolean"},"frontendIpConfigurations":{"description":"A \u003cspan pulumi-lang-nodejs=\"`frontendIpConfiguration`\" pulumi-lang-dotnet=\"`FrontendIpConfiguration`\" pulumi-lang-go=\"`frontendIpConfiguration`\" pulumi-lang-python=\"`frontend_ip_configuration`\" pulumi-lang-yaml=\"`frontendIpConfiguration`\" pulumi-lang-java=\"`frontendIpConfiguration`\"\u003e`frontend_ip_configuration`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:lb/getLBOutboundRuleFrontendIpConfiguration:getLBOutboundRuleFrontendIpConfiguration"},"type":"array"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"idleTimeoutInMinutes":{"description":"The timeout for the TCP idle connection.\n","type":"integer"},"loadbalancerId":{"type":"string"},"name":{"description":"The name of the Frontend IP Configuration.\n","type":"string"},"protocol":{"description":"The transport protocol for the external endpoint.\n","type":"string"},"tcpResetEnabled":{"description":"Is the bidirectional TCP Reset on TCP flow idle timeout or unexpected connection termination enabled? This value is useful when the protocol is set to TCP.\n","type":"boolean"}},"required":["allocatedOutboundPorts","backendAddressPoolId","enableTcpReset","frontendIpConfigurations","idleTimeoutInMinutes","loadbalancerId","name","protocol","tcpResetEnabled","id"],"type":"object"}},"azure:lb/getLBRule:getLBRule":{"description":"Use this data source to access information about an existing Load Balancer Rule.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:lb:getLB\n      arguments:\n        name: example-lb\n        resourceGroupName: example-resources\n  exampleGetLBRule:\n    fn::invoke:\n      function: azure:lb:getLBRule\n      arguments:\n        name: first\n        resourceGroupName: example-resources\n        loadbalancerId: ${example.id}\noutputs:\n  lbRuleId: ${exampleGetLBRule.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2023-09-01\n","inputs":{"description":"A collection of arguments for invoking getLBRule.\n","properties":{"loadbalancerId":{"type":"string","description":"The ID of the Load Balancer Rule.\n"},"name":{"type":"string","description":"The name of this Load Balancer Rule.\n"}},"type":"object","required":["loadbalancerId","name"]},"outputs":{"description":"A collection of values returned by getLBRule.\n","properties":{"backendAddressPoolId":{"description":"A reference to a Backend Address Pool over which this Load Balancing Rule operates.\n","type":"string"},"backendPort":{"description":"The port used for internal connections on the endpoint.\n","type":"integer"},"disableOutboundSnat":{"description":"If outbound SNAT is enabled for this Load Balancer Rule.\n","type":"boolean"},"enableFloatingIp":{"deprecationMessage":"The property \u003cspan pulumi-lang-nodejs=\"`enableFloatingIp`\" pulumi-lang-dotnet=\"`EnableFloatingIp`\" pulumi-lang-go=\"`enableFloatingIp`\" pulumi-lang-python=\"`enable_floating_ip`\" pulumi-lang-yaml=\"`enableFloatingIp`\" pulumi-lang-java=\"`enableFloatingIp`\"\u003e`enable_floating_ip`\u003c/span\u003e has been deprecated in favour of \u003cspan pulumi-lang-nodejs=\"`floatingIpEnabled`\" pulumi-lang-dotnet=\"`FloatingIpEnabled`\" pulumi-lang-go=\"`floatingIpEnabled`\" pulumi-lang-python=\"`floating_ip_enabled`\" pulumi-lang-yaml=\"`floatingIpEnabled`\" pulumi-lang-java=\"`floatingIpEnabled`\"\u003e`floating_ip_enabled`\u003c/span\u003e and will be removed in version 5.0 of the provider","description":"If Floating IPs are enabled for this Load Balancer Rule\n","type":"boolean"},"enableTcpReset":{"deprecationMessage":"The property \u003cspan pulumi-lang-nodejs=\"`enableTcpReset`\" pulumi-lang-dotnet=\"`EnableTcpReset`\" pulumi-lang-go=\"`enableTcpReset`\" pulumi-lang-python=\"`enable_tcp_reset`\" pulumi-lang-yaml=\"`enableTcpReset`\" pulumi-lang-java=\"`enableTcpReset`\"\u003e`enable_tcp_reset`\u003c/span\u003e has been deprecated in favour of \u003cspan pulumi-lang-nodejs=\"`tcpResetEnabled`\" pulumi-lang-dotnet=\"`TcpResetEnabled`\" pulumi-lang-go=\"`tcpResetEnabled`\" pulumi-lang-python=\"`tcp_reset_enabled`\" pulumi-lang-yaml=\"`tcpResetEnabled`\" pulumi-lang-java=\"`tcpResetEnabled`\"\u003e`tcp_reset_enabled`\u003c/span\u003e and will be removed in version 5.0 of the provider","description":"If TCP Reset is enabled for this Load Balancer Rule.\n","type":"boolean"},"floatingIpEnabled":{"type":"boolean"},"frontendIpConfigurationName":{"description":"The name of the frontend IP configuration to which the rule is associated.\n","type":"string"},"frontendPort":{"description":"The port for the external endpoint.\n","type":"integer"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"idleTimeoutInMinutes":{"description":"Specifies the idle timeout in minutes for TCP connections.\n","type":"integer"},"loadDistribution":{"description":"Specifies the load balancing distribution type used by the Load Balancer.\n","type":"string"},"loadbalancerId":{"type":"string"},"name":{"type":"string"},"probeId":{"description":"A reference to a Probe used by this Load Balancing Rule.\n","type":"string"},"protocol":{"description":"The transport protocol for the external endpoint.\n","type":"string"},"tcpResetEnabled":{"type":"boolean"}},"required":["backendAddressPoolId","backendPort","disableOutboundSnat","enableFloatingIp","enableTcpReset","floatingIpEnabled","frontendIpConfigurationName","frontendPort","idleTimeoutInMinutes","loadDistribution","loadbalancerId","name","probeId","protocol","tcpResetEnabled","id"],"type":"object"}},"azure:loadtest/get:get":{"description":"Use this data source to access information about a Load Test Service.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.loadtest.get({\n    resourceGroupName: \"example-resources\",\n    name: \"example-load-test\",\n});\nexport const loadTestId = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.loadtest.get(resource_group_name=\"example-resources\",\n    name=\"example-load-test\")\npulumi.export(\"loadTestId\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.LoadTest.Get.Invoke(new()\n    {\n        ResourceGroupName = \"example-resources\",\n        Name = \"example-load-test\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"loadTestId\"] = example.Apply(getResult =\u003e getResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/loadtest\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := loadtest.Get(ctx, \u0026loadtest.GetArgs{\n\t\t\tResourceGroupName: \"example-resources\",\n\t\t\tName:              \"example-load-test\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"loadTestId\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.loadtest.LoadtestFunctions;\nimport com.pulumi.azure.loadtest.inputs.GetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = LoadtestFunctions.get(GetArgs.builder()\n            .resourceGroupName(\"example-resources\")\n            .name(\"example-load-test\")\n            .build());\n\n        ctx.export(\"loadTestId\", example.id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:loadtest:get\n      arguments:\n        resourceGroupName: example-resources\n        name: example-load-test\noutputs:\n  loadTestId: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.LoadTestService` - 2022-12-01\n","inputs":{"description":"A collection of arguments for invoking get.\n","properties":{"name":{"type":"string","description":"The name of the Load Test Service.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group in which the Load Test Service exists.\n"}},"type":"object","required":["name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by get.\n","properties":{"dataPlaneUri":{"description":"Resource data plane URI.\n","type":"string"},"description":{"description":"Description of the resource.\n","type":"string"},"encryptions":{"description":"An \u003cspan pulumi-lang-nodejs=\"`encryption`\" pulumi-lang-dotnet=\"`Encryption`\" pulumi-lang-go=\"`encryption`\" pulumi-lang-python=\"`encryption`\" pulumi-lang-yaml=\"`encryption`\" pulumi-lang-java=\"`encryption`\"\u003e`encryption`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:loadtest/getEncryption:getEncryption"},"type":"array"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"identities":{"description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:loadtest/getIdentity:getIdentity"},"type":"array"},"location":{"description":"The Azure Region where the Load Test exists.\n","type":"string"},"name":{"type":"string"},"resourceGroupName":{"type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"A mapping of tags assigned to the Load Test Service.\n","type":"object"}},"required":["dataPlaneUri","description","encryptions","identities","location","name","resourceGroupName","tags","id"],"type":"object"}},"azure:loganalytics/getWorkspaceTable:getWorkspaceTable":{"description":"Use this data source to access information about an existing Log Analytics Workspace Table.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.loganalytics.getWorkspaceTable({\n    name: \"InsightsMetrics\",\n    workspaceId: exampleAzurermLogAnalyticsWorkspace.id,\n});\nexport const retentionInDays = example.then(example =\u003e example.retentionInDays);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.loganalytics.get_workspace_table(name=\"InsightsMetrics\",\n    workspace_id=example_azurerm_log_analytics_workspace[\"id\"])\npulumi.export(\"retentionInDays\", example.retention_in_days)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.LogAnalytics.GetWorkspaceTable.Invoke(new()\n    {\n        Name = \"InsightsMetrics\",\n        WorkspaceId = exampleAzurermLogAnalyticsWorkspace.Id,\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"retentionInDays\"] = example.Apply(getWorkspaceTableResult =\u003e getWorkspaceTableResult.RetentionInDays),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/loganalytics\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := loganalytics.LookupWorkspaceTable(ctx, \u0026loganalytics.LookupWorkspaceTableArgs{\n\t\t\tName:        \"InsightsMetrics\",\n\t\t\tWorkspaceId: exampleAzurermLogAnalyticsWorkspace.Id,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"retentionInDays\", example.RetentionInDays)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.loganalytics.LoganalyticsFunctions;\nimport com.pulumi.azure.loganalytics.inputs.GetWorkspaceTableArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = LoganalyticsFunctions.getWorkspaceTable(GetWorkspaceTableArgs.builder()\n            .name(\"InsightsMetrics\")\n            .workspaceId(exampleAzurermLogAnalyticsWorkspace.id())\n            .build());\n\n        ctx.export(\"retentionInDays\", example.retentionInDays());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:loganalytics:getWorkspaceTable\n      arguments:\n        name: InsightsMetrics\n        workspaceId: ${exampleAzurermLogAnalyticsWorkspace.id}\noutputs:\n  retentionInDays: ${example.retentionInDays}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.OperationalInsights` - 2022-10-01\n","inputs":{"description":"A collection of arguments for invoking getWorkspaceTable.\n","properties":{"name":{"type":"string","description":"The name of this Log Analytics Workspace Table.\n"},"workspaceId":{"type":"string","description":"The ID of the Log Analytics Workspace the table belongs to.\n"}},"type":"object","required":["name","workspaceId"]},"outputs":{"description":"A collection of values returned by getWorkspaceTable.\n","properties":{"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"name":{"type":"string"},"plan":{"description":"The billing plan information for the Log Analytics Workspace Table.\n","type":"string"},"retentionInDays":{"description":"The table's data retention in days.\n","type":"integer"},"totalRetentionInDays":{"description":"The table's total data retention in days.\n","type":"integer"},"workspaceId":{"type":"string"}},"required":["name","plan","retentionInDays","totalRetentionInDays","workspaceId","id"],"type":"object"}},"azure:logicapps/getIntegrationAccount:getIntegrationAccount":{"description":"Use this data source to access information about an existing Logic App Integration Account.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.logicapps.getIntegrationAccount({\n    name: \"example-account\",\n    resourceGroupName: \"example-resource-group\",\n});\nexport const id = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.logicapps.get_integration_account(name=\"example-account\",\n    resource_group_name=\"example-resource-group\")\npulumi.export(\"id\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.LogicApps.GetIntegrationAccount.Invoke(new()\n    {\n        Name = \"example-account\",\n        ResourceGroupName = \"example-resource-group\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"id\"] = example.Apply(getIntegrationAccountResult =\u003e getIntegrationAccountResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/logicapps\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := logicapps.LookupIntegrationAccount(ctx, \u0026logicapps.LookupIntegrationAccountArgs{\n\t\t\tName:              \"example-account\",\n\t\t\tResourceGroupName: \"example-resource-group\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"id\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.logicapps.LogicappsFunctions;\nimport com.pulumi.azure.logicapps.inputs.GetIntegrationAccountArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = LogicappsFunctions.getIntegrationAccount(GetIntegrationAccountArgs.builder()\n            .name(\"example-account\")\n            .resourceGroupName(\"example-resource-group\")\n            .build());\n\n        ctx.export(\"id\", example.id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:logicapps:getIntegrationAccount\n      arguments:\n        name: example-account\n        resourceGroupName: example-resource-group\noutputs:\n  id: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.Logic` - 2019-05-01\n","inputs":{"description":"A collection of arguments for invoking getIntegrationAccount.\n","properties":{"name":{"type":"string","description":"The name of this Logic App Integration Account.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Logic App Integration Account exists.\n"}},"type":"object","required":["name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getIntegrationAccount.\n","properties":{"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"location":{"description":"The Azure Region where the Logic App Integration Account exists.\n","type":"string"},"name":{"type":"string"},"resourceGroupName":{"type":"string"},"skuName":{"description":"The SKU name of the Logic App Integration Account.\n","type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"A mapping of tags assigned to the Logic App Integration Account.\n","type":"object"}},"required":["location","name","resourceGroupName","skuName","tags","id"],"type":"object"}},"azure:logicapps/getStandard:getStandard":{"description":"Use this data source to access information about an existing Logic App Standard instance.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.logicapps.getStandard({\n    name: \"example-logic-app\",\n    resourceGroupName: \"example-rg\",\n});\nexport const id = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.logicapps.get_standard(name=\"example-logic-app\",\n    resource_group_name=\"example-rg\")\npulumi.export(\"id\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.LogicApps.GetStandard.Invoke(new()\n    {\n        Name = \"example-logic-app\",\n        ResourceGroupName = \"example-rg\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"id\"] = example.Apply(getStandardResult =\u003e getStandardResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/logicapps\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := logicapps.LookupStandard(ctx, \u0026logicapps.LookupStandardArgs{\n\t\t\tName:              \"example-logic-app\",\n\t\t\tResourceGroupName: \"example-rg\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"id\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.logicapps.LogicappsFunctions;\nimport com.pulumi.azure.logicapps.inputs.GetStandardArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = LogicappsFunctions.getStandard(GetStandardArgs.builder()\n            .name(\"example-logic-app\")\n            .resourceGroupName(\"example-rg\")\n            .build());\n\n        ctx.export(\"id\", example.id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:logicapps:getStandard\n      arguments:\n        name: example-logic-app\n        resourceGroupName: example-rg\noutputs:\n  id: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.Web` - 2023-12-01\n","inputs":{"description":"A collection of arguments for invoking getStandard.\n","properties":{"name":{"type":"string","description":"The name of the Logic App.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Logic App exists.\n"}},"type":"object","required":["name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getStandard.\n","properties":{"appServicePlanId":{"description":"The ID of the App Service Plan.\n","type":"string"},"appSettings":{"additionalProperties":{"type":"string"},"description":"A map of key-value pairs for [App Settings](https://docs.microsoft.com/azure/azure-functions/functions-app-settings) and custom values.\n","type":"object"},"bundleVersion":{"description":"Controls the allowed range for bundle versions.\n","type":"string"},"clientAffinityEnabled":{"description":"Should the Logic App send session affinity cookies, which route client requests in the same session to the same instance.\n","type":"boolean"},"clientCertificateMode":{"description":"The mode of the Logic App's client certificates requirement for incoming requests.\n","type":"string"},"connectionStrings":{"description":"A \u003cspan pulumi-lang-nodejs=\"`connectionString`\" pulumi-lang-dotnet=\"`ConnectionString`\" pulumi-lang-go=\"`connectionString`\" pulumi-lang-python=\"`connection_string`\" pulumi-lang-yaml=\"`connectionString`\" pulumi-lang-java=\"`connectionString`\"\u003e`connection_string`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:logicapps/getStandardConnectionString:getStandardConnectionString"},"type":"array"},"customDomainVerificationId":{"description":"The custom domain verification of the Logic App.\n","type":"string"},"defaultHostname":{"description":"The default hostname of the Logic App.\n","type":"string"},"enabled":{"description":"Whether the Logic App is enabled.\n","type":"boolean"},"ftpPublishBasicAuthenticationEnabled":{"description":"Whether the default FTP basic authentication publishing profile is enabled.\n","type":"boolean"},"httpsOnly":{"description":"Whether the Logic App can only be accessed via HTTPS.\n","type":"boolean"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"identities":{"description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:logicapps/getStandardIdentity:getStandardIdentity"},"type":"array"},"kind":{"description":"The kind of the Logic App.\n","type":"string"},"location":{"description":"The Azure location where the Logic App Standard exists.\n","type":"string"},"name":{"description":"The name for this IP Restriction.\n","type":"string"},"outboundIpAddresses":{"description":"The outbound IP addresses of the Logic App.\n","type":"string"},"possibleOutboundIpAddresses":{"description":"The possible outbound IP addresses of the Logic App.\n","type":"string"},"publicNetworkAccess":{"description":"Whether Public Network Access should be enabled or not.\n","type":"string"},"resourceGroupName":{"type":"string"},"scmPublishBasicAuthenticationEnabled":{"description":"Whether the default SCM basic authentication publishing profile is enabled.\n","type":"boolean"},"siteConfig":{"$ref":"#/types/azure:logicapps/getStandardSiteConfig:getStandardSiteConfig","description":"A \u003cspan pulumi-lang-nodejs=\"`siteConfig`\" pulumi-lang-dotnet=\"`SiteConfig`\" pulumi-lang-go=\"`siteConfig`\" pulumi-lang-python=\"`site_config`\" pulumi-lang-yaml=\"`siteConfig`\" pulumi-lang-java=\"`siteConfig`\"\u003e`site_config`\u003c/span\u003e object as defined below.\n"},"siteCredentials":{"description":"A \u003cspan pulumi-lang-nodejs=\"`siteCredential`\" pulumi-lang-dotnet=\"`SiteCredential`\" pulumi-lang-go=\"`siteCredential`\" pulumi-lang-python=\"`site_credential`\" pulumi-lang-yaml=\"`siteCredential`\" pulumi-lang-java=\"`siteCredential`\"\u003e`site_credential`\u003c/span\u003e block as defined below, which contains the site-level credentials used to publish to this Logic App.\n","items":{"$ref":"#/types/azure:logicapps/getStandardSiteCredential:getStandardSiteCredential"},"type":"array"},"storageAccountAccessKey":{"description":"The access key which will be used to access the backend storage account for the Logic App.\n","secret":true,"type":"string"},"storageAccountName":{"description":"The backend storage account name which will be used by this Logic App (e.g. for Stateful workflows data).\n","type":"string"},"storageAccountShareName":{"description":"The name of the share used by the logic app.\n","type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"A mapping of tags assigned to the resource.\n","type":"object"},"useExtensionBundle":{"description":"Whether the logic app should use the bundled extension package.\n","type":"boolean"},"version":{"description":"The runtime version associated with the Logic App.\n","type":"string"},"virtualNetworkSubnetId":{"description":"The Virtual Network Subnet ID used for this IP Restriction.\n","type":"string"}},"required":["appServicePlanId","appSettings","bundleVersion","clientAffinityEnabled","clientCertificateMode","connectionStrings","customDomainVerificationId","defaultHostname","enabled","ftpPublishBasicAuthenticationEnabled","httpsOnly","identities","kind","location","name","outboundIpAddresses","possibleOutboundIpAddresses","publicNetworkAccess","resourceGroupName","scmPublishBasicAuthenticationEnabled","siteConfig","siteCredentials","storageAccountAccessKey","storageAccountName","storageAccountShareName","tags","useExtensionBundle","version","virtualNetworkSubnetId","id"],"type":"object"}},"azure:logicapps/getWorkflow:getWorkflow":{"description":"Use this data source to access information about an existing Logic App Workflow.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.logicapps.getWorkflow({\n    name: \"workflow1\",\n    resourceGroupName: \"my-resource-group\",\n});\nexport const accessEndpoint = example.then(example =\u003e example.accessEndpoint);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.logicapps.get_workflow(name=\"workflow1\",\n    resource_group_name=\"my-resource-group\")\npulumi.export(\"accessEndpoint\", example.access_endpoint)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.LogicApps.GetWorkflow.Invoke(new()\n    {\n        Name = \"workflow1\",\n        ResourceGroupName = \"my-resource-group\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"accessEndpoint\"] = example.Apply(getWorkflowResult =\u003e getWorkflowResult.AccessEndpoint),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/logicapps\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := logicapps.LookupWorkflow(ctx, \u0026logicapps.LookupWorkflowArgs{\n\t\t\tName:              \"workflow1\",\n\t\t\tResourceGroupName: \"my-resource-group\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"accessEndpoint\", example.AccessEndpoint)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.logicapps.LogicappsFunctions;\nimport com.pulumi.azure.logicapps.inputs.GetWorkflowArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = LogicappsFunctions.getWorkflow(GetWorkflowArgs.builder()\n            .name(\"workflow1\")\n            .resourceGroupName(\"my-resource-group\")\n            .build());\n\n        ctx.export(\"accessEndpoint\", example.accessEndpoint());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:logicapps:getWorkflow\n      arguments:\n        name: workflow1\n        resourceGroupName: my-resource-group\noutputs:\n  accessEndpoint: ${example.accessEndpoint}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.Logic` - 2019-05-01\n","inputs":{"description":"A collection of arguments for invoking getWorkflow.\n","properties":{"name":{"type":"string","description":"The name of the Logic App Workflow.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group in which the Logic App Workflow exists.\n"}},"type":"object","required":["name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getWorkflow.\n","properties":{"accessEndpoint":{"description":"The Access Endpoint for the Logic App Workflow\n","type":"string"},"connectorEndpointIpAddresses":{"description":"The list of access endpoint IP addresses of connector.\n","items":{"type":"string"},"type":"array"},"connectorOutboundIpAddresses":{"description":"The list of outgoing IP addresses of connector.\n","items":{"type":"string"},"type":"array"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"identities":{"description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:logicapps/getWorkflowIdentity:getWorkflowIdentity"},"type":"array"},"location":{"description":"The Azure location where the Logic App Workflow exists.\n","type":"string"},"logicAppIntegrationAccountId":{"description":"The ID of the integration account linked by this Logic App Workflow.\n","type":"string"},"name":{"type":"string"},"parameters":{"additionalProperties":{"type":"string"},"description":"A map of Key-Value pairs.\n","type":"object"},"resourceGroupName":{"type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"A mapping of tags assigned to the resource.\n","type":"object"},"workflowEndpointIpAddresses":{"description":"The list of access endpoint IP addresses of workflow.\n","items":{"type":"string"},"type":"array"},"workflowOutboundIpAddresses":{"description":"The list of outgoing IP addresses of workflow.\n","items":{"type":"string"},"type":"array"},"workflowSchema":{"description":"The Schema used for this Logic App Workflow.\n","type":"string"},"workflowVersion":{"description":"The version of the Schema used for this Logic App Workflow. Defaults to `1.0.0.0`.\n","type":"string"}},"required":["accessEndpoint","connectorEndpointIpAddresses","connectorOutboundIpAddresses","identities","location","logicAppIntegrationAccountId","name","parameters","resourceGroupName","tags","workflowEndpointIpAddresses","workflowOutboundIpAddresses","workflowSchema","workflowVersion","id"],"type":"object"}},"azure:machinelearning/getWorkspace:getWorkspace":{"description":"Use this data source to access information about an existing Machine Learning Workspace.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst existing = azure.machinelearning.getWorkspace({\n    name: \"example-workspace\",\n    resourceGroupName: \"example-resources\",\n});\nexport const id = existing.then(existing =\u003e existing.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexisting = azure.machinelearning.get_workspace(name=\"example-workspace\",\n    resource_group_name=\"example-resources\")\npulumi.export(\"id\", existing.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var existing = Azure.MachineLearning.GetWorkspace.Invoke(new()\n    {\n        Name = \"example-workspace\",\n        ResourceGroupName = \"example-resources\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"id\"] = existing.Apply(getWorkspaceResult =\u003e getWorkspaceResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/machinelearning\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texisting, err := machinelearning.LookupWorkspace(ctx, \u0026machinelearning.LookupWorkspaceArgs{\n\t\t\tName:              \"example-workspace\",\n\t\t\tResourceGroupName: \"example-resources\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"id\", existing.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.machinelearning.MachinelearningFunctions;\nimport com.pulumi.azure.machinelearning.inputs.GetWorkspaceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var existing = MachinelearningFunctions.getWorkspace(GetWorkspaceArgs.builder()\n            .name(\"example-workspace\")\n            .resourceGroupName(\"example-resources\")\n            .build());\n\n        ctx.export(\"id\", existing.id());\n    }\n}\n```\n```yaml\nvariables:\n  existing:\n    fn::invoke:\n      function: azure:machinelearning:getWorkspace\n      arguments:\n        name: example-workspace\n        resourceGroupName: example-resources\noutputs:\n  id: ${existing.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.MachineLearningServices` - 2025-06-01\n","inputs":{"description":"A collection of arguments for invoking getWorkspace.\n","properties":{"name":{"type":"string","description":"The name of the Machine Learning Workspace exists.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Machine Learning Workspace exists.\n"}},"type":"object","required":["name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getWorkspace.\n","properties":{"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"identities":{"description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:machinelearning/getWorkspaceIdentity:getWorkspaceIdentity"},"type":"array"},"location":{"description":"The location where the Machine Learning Workspace exists.\n","type":"string"},"name":{"type":"string"},"resourceGroupName":{"type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"A mapping of tags assigned to the Machine Learning Workspace.\n","type":"object"}},"required":["identities","location","name","resourceGroupName","tags","id"],"type":"object"}},"azure:maintenance/getConfiguration:getConfiguration":{"description":"Use this data source to access information about an existing Maintenance Configuration.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst existing = azure.maintenance.getConfiguration({\n    name: \"example-mc\",\n    resourceGroupName: \"example-resources\",\n});\nexport const id = existingAzurermMaintenanceConfiguration.id;\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexisting = azure.maintenance.get_configuration(name=\"example-mc\",\n    resource_group_name=\"example-resources\")\npulumi.export(\"id\", existing_azurerm_maintenance_configuration[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var existing = Azure.Maintenance.GetConfiguration.Invoke(new()\n    {\n        Name = \"example-mc\",\n        ResourceGroupName = \"example-resources\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"id\"] = existingAzurermMaintenanceConfiguration.Id,\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/maintenance\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := maintenance.LookupConfiguration(ctx, \u0026maintenance.LookupConfigurationArgs{\n\t\t\tName:              \"example-mc\",\n\t\t\tResourceGroupName: \"example-resources\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"id\", existingAzurermMaintenanceConfiguration.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.maintenance.MaintenanceFunctions;\nimport com.pulumi.azure.maintenance.inputs.GetConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var existing = MaintenanceFunctions.getConfiguration(GetConfigurationArgs.builder()\n            .name(\"example-mc\")\n            .resourceGroupName(\"example-resources\")\n            .build());\n\n        ctx.export(\"id\", existingAzurermMaintenanceConfiguration.id());\n    }\n}\n```\n```yaml\nvariables:\n  existing:\n    fn::invoke:\n      function: azure:maintenance:getConfiguration\n      arguments:\n        name: example-mc\n        resourceGroupName: example-resources\noutputs:\n  id: ${existingAzurermMaintenanceConfiguration.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.Maintenance` - 2023-04-01\n","inputs":{"description":"A collection of arguments for invoking getConfiguration.\n","properties":{"name":{"type":"string","description":"Specifies the name of the Maintenance Configuration.\n"},"resourceGroupName":{"type":"string","description":"Specifies the name of the Resource Group where this Maintenance Configuration exists.\n"}},"type":"object","required":["name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getConfiguration.\n","properties":{"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"inGuestUserPatchMode":{"description":"The in guest user patch mode.\n","type":"string"},"installPatches":{"description":"An \u003cspan pulumi-lang-nodejs=\"`installPatches`\" pulumi-lang-dotnet=\"`InstallPatches`\" pulumi-lang-go=\"`installPatches`\" pulumi-lang-python=\"`install_patches`\" pulumi-lang-yaml=\"`installPatches`\" pulumi-lang-java=\"`installPatches`\"\u003e`install_patches`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:maintenance/getConfigurationInstallPatch:getConfigurationInstallPatch"},"type":"array"},"location":{"description":"The Azure location where the resource exists.\n","type":"string"},"name":{"type":"string"},"properties":{"additionalProperties":{"type":"string"},"description":"The properties assigned to the resource.\n","type":"object"},"resourceGroupName":{"type":"string"},"scope":{"description":"The scope of the Maintenance Configuration.\n","type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"A mapping of tags assigned to the resource.\n","type":"object"},"visibility":{"description":"The visibility of the Maintenance Configuration.\n","type":"string"},"windows":{"description":"A \u003cspan pulumi-lang-nodejs=\"`window`\" pulumi-lang-dotnet=\"`Window`\" pulumi-lang-go=\"`window`\" pulumi-lang-python=\"`window`\" pulumi-lang-yaml=\"`window`\" pulumi-lang-java=\"`window`\"\u003e`window`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:maintenance/getConfigurationWindow:getConfigurationWindow"},"type":"array"}},"required":["inGuestUserPatchMode","installPatches","location","name","properties","resourceGroupName","scope","tags","visibility","windows","id"],"type":"object"}},"azure:maintenance/getPublicConfigurations:getPublicConfigurations":{"description":"Use this data source to access information about existing Public Maintenance Configurations.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst existing = azure.maintenance.getPublicConfigurations({\n    location: \"West Europe\",\n    scope: \"SQLManagedInstance\",\n    recurEvery: \"Monday-Thursday\",\n});\nexport const name = existing.then(existing =\u003e existing.configs?.[0]?.name);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexisting = azure.maintenance.get_public_configurations(location=\"West Europe\",\n    scope=\"SQLManagedInstance\",\n    recur_every=\"Monday-Thursday\")\npulumi.export(\"name\", existing.configs[0].name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var existing = Azure.Maintenance.GetPublicConfigurations.Invoke(new()\n    {\n        Location = \"West Europe\",\n        Scope = \"SQLManagedInstance\",\n        RecurEvery = \"Monday-Thursday\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"name\"] = existing.Apply(getPublicConfigurationsResult =\u003e getPublicConfigurationsResult.Configs[0]?.Name),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/maintenance\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texisting, err := maintenance.GetPublicConfigurations(ctx, \u0026maintenance.GetPublicConfigurationsArgs{\n\t\t\tLocation:   pulumi.StringRef(\"West Europe\"),\n\t\t\tScope:      pulumi.StringRef(\"SQLManagedInstance\"),\n\t\t\tRecurEvery: pulumi.StringRef(\"Monday-Thursday\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"name\", existing.Configs[0].Name)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.maintenance.MaintenanceFunctions;\nimport com.pulumi.azure.maintenance.inputs.GetPublicConfigurationsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var existing = MaintenanceFunctions.getPublicConfigurations(GetPublicConfigurationsArgs.builder()\n            .location(\"West Europe\")\n            .scope(\"SQLManagedInstance\")\n            .recurEvery(\"Monday-Thursday\")\n            .build());\n\n        ctx.export(\"name\", existing.configs()[0].name());\n    }\n}\n```\n```yaml\nvariables:\n  existing:\n    fn::invoke:\n      function: azure:maintenance:getPublicConfigurations\n      arguments:\n        location: West Europe\n        scope: SQLManagedInstance\n        recurEvery: Monday-Thursday\noutputs:\n  name: ${existing.configs[0].name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.Maintenance` - 2023-04-01\n","inputs":{"description":"A collection of arguments for invoking getPublicConfigurations.\n","properties":{"location":{"type":"string","description":"The Azure location to filter the list of Public Maintenance Configurations against.\n"},"recurEvery":{"type":"string","description":"The recurring window to filter the list of Public Maintenance Configurations against. Possible values are `Monday-Thursday` and `Friday-Sunday`\n"},"scope":{"type":"string","description":"The scope to filter the list of Public Maintenance Configurations against. Possible values are `Extension`, `Host`, `InGuestPatch`, `OSImage`, `SQLDB` and `SQLManagedInstance`.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getPublicConfigurations.\n","properties":{"configs":{"description":"A \u003cspan pulumi-lang-nodejs=\"`configs`\" pulumi-lang-dotnet=\"`Configs`\" pulumi-lang-go=\"`configs`\" pulumi-lang-python=\"`configs`\" pulumi-lang-yaml=\"`configs`\" pulumi-lang-java=\"`configs`\"\u003e`configs`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:maintenance/getPublicConfigurationsConfig:getPublicConfigurationsConfig"},"type":"array"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"location":{"description":"The Azure location of the Public Maintenance Configuration.\n","type":"string"},"recurEvery":{"description":"The rate at which a maintenance window is expected to recur.\n","type":"string"},"scope":{"type":"string"}},"required":["configs","id"],"type":"object"}},"azure:managedapplication/getDefinition:getDefinition":{"description":"Uses this data source to access information about an existing Managed Application Definition.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.managedapplication.getDefinition({\n    name: \"examplemanagedappdef\",\n    resourceGroupName: \"exampleresources\",\n});\nexport const id = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.managedapplication.get_definition(name=\"examplemanagedappdef\",\n    resource_group_name=\"exampleresources\")\npulumi.export(\"id\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.ManagedApplication.GetDefinition.Invoke(new()\n    {\n        Name = \"examplemanagedappdef\",\n        ResourceGroupName = \"exampleresources\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"id\"] = example.Apply(getDefinitionResult =\u003e getDefinitionResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/managedapplication\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := managedapplication.LookupDefinition(ctx, \u0026managedapplication.LookupDefinitionArgs{\n\t\t\tName:              \"examplemanagedappdef\",\n\t\t\tResourceGroupName: \"exampleresources\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"id\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.managedapplication.ManagedapplicationFunctions;\nimport com.pulumi.azure.managedapplication.inputs.GetDefinitionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = ManagedapplicationFunctions.getDefinition(GetDefinitionArgs.builder()\n            .name(\"examplemanagedappdef\")\n            .resourceGroupName(\"exampleresources\")\n            .build());\n\n        ctx.export(\"id\", example.id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:managedapplication:getDefinition\n      arguments:\n        name: examplemanagedappdef\n        resourceGroupName: exampleresources\noutputs:\n  id: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.Solutions` - 2021-07-01\n","inputs":{"description":"A collection of arguments for invoking getDefinition.\n","properties":{"name":{"type":"string","description":"Specifies the name of the Managed Application Definition.\n"},"resourceGroupName":{"type":"string","description":"Specifies the name of the Resource Group where this Managed Application Definition exists.\n"}},"type":"object","required":["name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getDefinition.\n","properties":{"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"location":{"type":"string"},"name":{"type":"string"},"resourceGroupName":{"type":"string"}},"required":["location","name","resourceGroupName","id"],"type":"object"}},"azure:managedredis/get:get":{"description":"Use this data source to access information about an existing Managed Redis instance.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.managedredis.get({\n    name: \"example-managed-redis\",\n    resourceGroupName: \"example-resources\",\n});\nexport const managedRedisHostname = example.then(example =\u003e example.hostname);\nexport const managedRedisPrimaryAccessKey = example.then(example =\u003e example.defaultDatabases?.[0]?.primaryAccessKey);\nexport const managedRedisSecondaryAccessKey = example.then(example =\u003e example.defaultDatabases?.[0]?.secondaryAccessKey);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.managedredis.get(name=\"example-managed-redis\",\n    resource_group_name=\"example-resources\")\npulumi.export(\"managedRedisHostname\", example.hostname)\npulumi.export(\"managedRedisPrimaryAccessKey\", example.default_databases[0].primary_access_key)\npulumi.export(\"managedRedisSecondaryAccessKey\", example.default_databases[0].secondary_access_key)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.ManagedRedis.Get.Invoke(new()\n    {\n        Name = \"example-managed-redis\",\n        ResourceGroupName = \"example-resources\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"managedRedisHostname\"] = example.Apply(getResult =\u003e getResult.Hostname),\n        [\"managedRedisPrimaryAccessKey\"] = example.Apply(getResult =\u003e getResult.DefaultDatabases[0]?.PrimaryAccessKey),\n        [\"managedRedisSecondaryAccessKey\"] = example.Apply(getResult =\u003e getResult.DefaultDatabases[0]?.SecondaryAccessKey),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/managedredis\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := managedredis.Get(ctx, \u0026managedredis.GetArgs{\n\t\t\tName:              \"example-managed-redis\",\n\t\t\tResourceGroupName: \"example-resources\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"managedRedisHostname\", example.Hostname)\n\t\tctx.Export(\"managedRedisPrimaryAccessKey\", example.DefaultDatabases[0].PrimaryAccessKey)\n\t\tctx.Export(\"managedRedisSecondaryAccessKey\", example.DefaultDatabases[0].SecondaryAccessKey)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.managedredis.ManagedredisFunctions;\nimport com.pulumi.azure.managedredis.inputs.GetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = ManagedredisFunctions.get(GetArgs.builder()\n            .name(\"example-managed-redis\")\n            .resourceGroupName(\"example-resources\")\n            .build());\n\n        ctx.export(\"managedRedisHostname\", example.hostname());\n        ctx.export(\"managedRedisPrimaryAccessKey\", example.defaultDatabases()[0].primaryAccessKey());\n        ctx.export(\"managedRedisSecondaryAccessKey\", example.defaultDatabases()[0].secondaryAccessKey());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:managedredis:get\n      arguments:\n        name: example-managed-redis\n        resourceGroupName: example-resources\noutputs:\n  managedRedisHostname: ${example.hostname}\n  managedRedisPrimaryAccessKey: ${example.defaultDatabases[0].primaryAccessKey}\n  managedRedisSecondaryAccessKey: ${example.defaultDatabases[0].secondaryAccessKey}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.Cache` - 2025-07-01\n","inputs":{"description":"A collection of arguments for invoking get.\n","properties":{"name":{"type":"string","description":"The name of the Managed Redis instance.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Managed Redis instance exists.\n"}},"type":"object","required":["name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by get.\n","properties":{"customerManagedKeys":{"description":"A \u003cspan pulumi-lang-nodejs=\"`customerManagedKey`\" pulumi-lang-dotnet=\"`CustomerManagedKey`\" pulumi-lang-go=\"`customerManagedKey`\" pulumi-lang-python=\"`customer_managed_key`\" pulumi-lang-yaml=\"`customerManagedKey`\" pulumi-lang-java=\"`customerManagedKey`\"\u003e`customer_managed_key`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:managedredis/getCustomerManagedKey:getCustomerManagedKey"},"type":"array"},"defaultDatabases":{"description":"A \u003cspan pulumi-lang-nodejs=\"`defaultDatabase`\" pulumi-lang-dotnet=\"`DefaultDatabase`\" pulumi-lang-go=\"`defaultDatabase`\" pulumi-lang-python=\"`default_database`\" pulumi-lang-yaml=\"`defaultDatabase`\" pulumi-lang-java=\"`defaultDatabase`\"\u003e`default_database`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:managedredis/getDefaultDatabase:getDefaultDatabase"},"type":"array"},"highAvailabilityEnabled":{"description":"Whether high availability is enabled for the Managed Redis instance.\n","type":"boolean"},"hostname":{"description":"The DNS hostname of the Managed Redis instance.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"identities":{"description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:managedredis/getIdentity:getIdentity"},"type":"array"},"location":{"description":"The Azure Region where the Managed Redis instance exists.\n","type":"string"},"name":{"description":"The name of the Redis module.\n","type":"string"},"publicNetworkAccess":{"description":"The public network access setting for the Managed Redis instance.\n","type":"string"},"resourceGroupName":{"type":"string"},"skuName":{"description":"The SKU name of the Managed Redis instance.\n","type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"A mapping of tags assigned to the Managed Redis instance.\n","type":"object"}},"required":["customerManagedKeys","defaultDatabases","highAvailabilityEnabled","hostname","identities","location","name","publicNetworkAccess","resourceGroupName","skuName","tags","id"],"type":"object"}},"azure:managedredis/getAccessPolicyAssignment:getAccessPolicyAssignment":{"description":"Use this data source to access information about an existing Managed Redis Access Policy Assignment.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.managedredis.getAccessPolicyAssignment({\n    objectId: \"00000000-0000-0000-0000-000000000000\",\n    managedRedisName: \"example-managedredis\",\n    resourceGroupName: \"example-resources\",\n});\nexport const objectId = example.then(example =\u003e example.objectId);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.managedredis.get_access_policy_assignment(object_id=\"00000000-0000-0000-0000-000000000000\",\n    managed_redis_name=\"example-managedredis\",\n    resource_group_name=\"example-resources\")\npulumi.export(\"objectId\", example.object_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.ManagedRedis.GetAccessPolicyAssignment.Invoke(new()\n    {\n        ObjectId = \"00000000-0000-0000-0000-000000000000\",\n        ManagedRedisName = \"example-managedredis\",\n        ResourceGroupName = \"example-resources\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"objectId\"] = example.Apply(getAccessPolicyAssignmentResult =\u003e getAccessPolicyAssignmentResult.ObjectId),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/managedredis\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := managedredis.LookupAccessPolicyAssignment(ctx, \u0026managedredis.LookupAccessPolicyAssignmentArgs{\n\t\t\tObjectId:          \"00000000-0000-0000-0000-000000000000\",\n\t\t\tManagedRedisName:  \"example-managedredis\",\n\t\t\tResourceGroupName: \"example-resources\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"objectId\", example.ObjectId)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.managedredis.ManagedredisFunctions;\nimport com.pulumi.azure.managedredis.inputs.GetAccessPolicyAssignmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = ManagedredisFunctions.getAccessPolicyAssignment(GetAccessPolicyAssignmentArgs.builder()\n            .objectId(\"00000000-0000-0000-0000-000000000000\")\n            .managedRedisName(\"example-managedredis\")\n            .resourceGroupName(\"example-resources\")\n            .build());\n\n        ctx.export(\"objectId\", example.objectId());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:managedredis:getAccessPolicyAssignment\n      arguments:\n        objectId: 00000000-0000-0000-0000-000000000000\n        managedRedisName: example-managedredis\n        resourceGroupName: example-resources\noutputs:\n  objectId: ${example.objectId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.Cache` - 2025-07-01\n","inputs":{"description":"A collection of arguments for invoking getAccessPolicyAssignment.\n","properties":{"managedRedisName":{"type":"string","description":"The name of the Managed Redis instance.\n"},"objectId":{"type":"string","description":"The object ID of the Azure Active Directory user, group, service principal, or managed identity.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Managed Redis instance exists.\n\n\u003e **Note:** This data source retrieves Access Policy Assignments from the \u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\"\u003e`default`\u003c/span\u003e database of the Managed Redis instance.\n"}},"type":"object","required":["managedRedisName","objectId","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getAccessPolicyAssignment.\n","properties":{"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"managedRedisName":{"type":"string"},"objectId":{"type":"string"},"resourceGroupName":{"type":"string"}},"required":["managedRedisName","objectId","resourceGroupName","id"],"type":"object"}},"azure:management/getGroup:getGroup":{"description":"Use this data source to access information about an existing Management Group.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.management.getGroup({\n    name: \"00000000-0000-0000-0000-000000000000\",\n});\nexport const displayName = example.then(example =\u003e example.displayName);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.management.get_group(name=\"00000000-0000-0000-0000-000000000000\")\npulumi.export(\"displayName\", example.display_name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Management.GetGroup.Invoke(new()\n    {\n        Name = \"00000000-0000-0000-0000-000000000000\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"displayName\"] = example.Apply(getGroupResult =\u003e getGroupResult.DisplayName),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/management\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := management.LookupGroup(ctx, \u0026management.LookupGroupArgs{\n\t\t\tName: pulumi.StringRef(\"00000000-0000-0000-0000-000000000000\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"displayName\", example.DisplayName)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.management.ManagementFunctions;\nimport com.pulumi.azure.management.inputs.GetGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = ManagementFunctions.getGroup(GetGroupArgs.builder()\n            .name(\"00000000-0000-0000-0000-000000000000\")\n            .build());\n\n        ctx.export(\"displayName\", example.displayName());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:management:getGroup\n      arguments:\n        name: 00000000-0000-0000-0000-000000000000\noutputs:\n  displayName: ${example.displayName}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.Management` - 2020-05-01\n","inputs":{"description":"A collection of arguments for invoking getGroup.\n","properties":{"displayName":{"type":"string","description":"Specifies the display name of this Management Group.\n\n\u003e **NOTE** Whilst multiple management groups may share the same display name, when filtering, the provider expects a single management group to be found with this name.\n"},"name":{"type":"string","description":"Specifies the name or UUID of this Management Group.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getGroup.\n","properties":{"allManagementGroupIds":{"description":"A list of Management Group IDs which directly or indirectly belong to this Management Group.\n","items":{"type":"string"},"type":"array"},"allSubscriptionIds":{"description":"A list of Subscription IDs which are assigned to this Management Group or its children Management Groups.\n","items":{"type":"string"},"type":"array"},"displayName":{"type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"managementGroupIds":{"description":"A list of Management Group IDs which directly belong to this Management Group.\n","items":{"type":"string"},"type":"array"},"name":{"type":"string"},"parentManagementGroupId":{"description":"The ID of any Parent Management Group.\n","type":"string"},"subscriptionIds":{"description":"A list of Subscription IDs which are directly assigned to this Management Group.\n","items":{"type":"string"},"type":"array"},"tenantScopedId":{"description":"The Management Group ID with the Tenant ID prefix.\n","type":"string"}},"required":["allManagementGroupIds","allSubscriptionIds","displayName","managementGroupIds","name","parentManagementGroupId","subscriptionIds","tenantScopedId","id"],"type":"object"}},"azure:management/getGroupTemplateDeployment:getGroupTemplateDeployment":{"description":"Use this data source to access information about an existing Management Group Template Deployment.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\nimport * as std from \"@pulumi/std\";\n\nconst example = azure.management.getGroupTemplateDeployment({\n    name: \"existing\",\n    managementGroupId: \"00000000-0000-0000-000000000000\",\n});\nexport const id = example.then(example =\u003e example.id);\nexport const exampleOutput = example.then(example =\u003e std.jsondecode({\n    input: example.outputContent,\n})).then(invoke =\u003e invoke.result?.exampleOutput?.value);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\nimport pulumi_std as std\n\nexample = azure.management.get_group_template_deployment(name=\"existing\",\n    management_group_id=\"00000000-0000-0000-000000000000\")\npulumi.export(\"id\", example.id)\npulumi.export(\"exampleOutput\", std.jsondecode(input=example.output_content).result[\"exampleOutput\"][\"value\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Management.GetGroupTemplateDeployment.Invoke(new()\n    {\n        Name = \"existing\",\n        ManagementGroupId = \"00000000-0000-0000-000000000000\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"id\"] = example.Apply(getGroupTemplateDeploymentResult =\u003e getGroupTemplateDeploymentResult.Id),\n        [\"exampleOutput\"] = Std.Jsondecode.Invoke(new()\n        {\n            Input = example.Apply(getGroupTemplateDeploymentResult =\u003e getGroupTemplateDeploymentResult.OutputContent),\n        }).Apply(invoke =\u003e invoke.Result?.ExampleOutput?.Value),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/management\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := management.LookupGroupTemplateDeployment(ctx, \u0026management.LookupGroupTemplateDeploymentArgs{\n\t\t\tName:              \"existing\",\n\t\t\tManagementGroupId: \"00000000-0000-0000-000000000000\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"id\", example.Id)\n\t\tctx.Export(\"exampleOutput\", pulumi.Any(std.Jsondecode(ctx, \u0026std.JsondecodeArgs{\n\t\t\tInput: example.OutputContent,\n\t\t}, nil).Result.ExampleOutput.Value))\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.management.ManagementFunctions;\nimport com.pulumi.azure.management.inputs.GetGroupTemplateDeploymentArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.JsondecodeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = ManagementFunctions.getGroupTemplateDeployment(GetGroupTemplateDeploymentArgs.builder()\n            .name(\"existing\")\n            .managementGroupId(\"00000000-0000-0000-000000000000\")\n            .build());\n\n        ctx.export(\"id\", example.id());\n        ctx.export(\"exampleOutput\", StdFunctions.jsondecode(JsondecodeArgs.builder()\n            .input(example.outputContent())\n            .build()).result().exampleOutput().value());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:management:getGroupTemplateDeployment\n      arguments:\n        name: existing\n        managementGroupId: 00000000-0000-0000-000000000000\noutputs:\n  id: ${example.id}\n  exampleOutput:\n    fn::invoke:\n      function: std:jsondecode\n      arguments:\n        input: ${example.outputContent}\n      return: result.exampleOutput.value\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getGroupTemplateDeployment.\n","properties":{"managementGroupId":{"type":"string","description":"The ID of the Management Group to which this template was applied.\n"},"name":{"type":"string","description":"The name of this Management Group Template Deployment.\n"}},"type":"object","required":["managementGroupId","name"]},"outputs":{"description":"A collection of values returned by getGroupTemplateDeployment.\n","properties":{"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"managementGroupId":{"type":"string"},"name":{"type":"string"},"outputContent":{"description":"The JSON Content of the Outputs of the ARM Template Deployment.\n","type":"string"}},"required":["managementGroupId","name","outputContent","id"],"type":"object"}},"azure:managementgroups/getManagementGroup:getManagementGroup":{"deprecationMessage":"azure.managementgroups.getManagementGroup has been deprecated in favor of azure.management.getGroup","description":"Use this data source to access information about an existing Management Group.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.management.getGroup({\n    name: \"00000000-0000-0000-0000-000000000000\",\n});\nexport const displayName = example.then(example =\u003e example.displayName);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.management.get_group(name=\"00000000-0000-0000-0000-000000000000\")\npulumi.export(\"displayName\", example.display_name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Management.GetGroup.Invoke(new()\n    {\n        Name = \"00000000-0000-0000-0000-000000000000\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"displayName\"] = example.Apply(getGroupResult =\u003e getGroupResult.DisplayName),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/management\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := management.LookupGroup(ctx, \u0026management.LookupGroupArgs{\n\t\t\tName: pulumi.StringRef(\"00000000-0000-0000-0000-000000000000\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"displayName\", example.DisplayName)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.management.ManagementFunctions;\nimport com.pulumi.azure.management.inputs.GetGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = ManagementFunctions.getGroup(GetGroupArgs.builder()\n            .name(\"00000000-0000-0000-0000-000000000000\")\n            .build());\n\n        ctx.export(\"displayName\", example.displayName());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:management:getGroup\n      arguments:\n        name: 00000000-0000-0000-0000-000000000000\noutputs:\n  displayName: ${example.displayName}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.Management` - 2020-05-01\n","inputs":{"description":"A collection of arguments for invoking getManagementGroup.\n","properties":{"displayName":{"type":"string","description":"Specifies the display name of this Management Group.\n\n\u003e **NOTE** Whilst multiple management groups may share the same display name, when filtering, the provider expects a single management group to be found with this name.\n"},"name":{"type":"string","description":"Specifies the name or UUID of this Management Group.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getManagementGroup.\n","properties":{"allManagementGroupIds":{"description":"A list of Management Group IDs which directly or indirectly belong to this Management Group.\n","items":{"type":"string"},"type":"array"},"allSubscriptionIds":{"description":"A list of Subscription IDs which are assigned to this Management Group or its children Management Groups.\n","items":{"type":"string"},"type":"array"},"displayName":{"type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"managementGroupIds":{"description":"A list of Management Group IDs which directly belong to this Management Group.\n","items":{"type":"string"},"type":"array"},"name":{"type":"string"},"parentManagementGroupId":{"description":"The ID of any Parent Management Group.\n","type":"string"},"subscriptionIds":{"description":"A list of Subscription IDs which are directly assigned to this Management Group.\n","items":{"type":"string"},"type":"array"},"tenantScopedId":{"description":"The Management Group ID with the Tenant ID prefix.\n","type":"string"}},"required":["allManagementGroupIds","allSubscriptionIds","displayName","managementGroupIds","name","parentManagementGroupId","subscriptionIds","tenantScopedId","id"],"type":"object"}},"azure:maps/getAccount:getAccount":{"description":"Use this data source to access information about an existing Azure Maps Account.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.maps.getAccount({\n    name: \"production\",\n    resourceGroupName: \"maps\",\n});\nexport const mapsAccountId = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.maps.get_account(name=\"production\",\n    resource_group_name=\"maps\")\npulumi.export(\"mapsAccountId\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Maps.GetAccount.Invoke(new()\n    {\n        Name = \"production\",\n        ResourceGroupName = \"maps\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"mapsAccountId\"] = example.Apply(getAccountResult =\u003e getAccountResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/maps\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := maps.LookupAccount(ctx, \u0026maps.LookupAccountArgs{\n\t\t\tName:              \"production\",\n\t\t\tResourceGroupName: \"maps\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"mapsAccountId\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.maps.MapsFunctions;\nimport com.pulumi.azure.maps.inputs.GetAccountArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = MapsFunctions.getAccount(GetAccountArgs.builder()\n            .name(\"production\")\n            .resourceGroupName(\"maps\")\n            .build());\n\n        ctx.export(\"mapsAccountId\", example.id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:maps:getAccount\n      arguments:\n        name: production\n        resourceGroupName: maps\noutputs:\n  mapsAccountId: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.Maps` - 2023-06-01\n","inputs":{"description":"A collection of arguments for invoking getAccount.\n","properties":{"name":{"type":"string","description":"Specifies the name of the Maps Account.\n"},"resourceGroupName":{"type":"string","description":"Specifies the name of the Resource Group in which the Maps Account is located.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"}}},"type":"object","required":["name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getAccount.\n","properties":{"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"name":{"type":"string"},"primaryAccessKey":{"description":"The primary key used to authenticate and authorize access to the Maps REST APIs.\n","secret":true,"type":"string"},"resourceGroupName":{"type":"string"},"secondaryAccessKey":{"description":"The primary key used to authenticate and authorize access to the Maps REST APIs. The second key is given to provide seamless key regeneration.\n","secret":true,"type":"string"},"skuName":{"description":"The SKU of the Azure Maps Account.\n","type":"string"},"tags":{"additionalProperties":{"type":"string"},"type":"object"},"xMsClientId":{"description":"A unique identifier for the Maps Account.\n","type":"string"}},"required":["name","primaryAccessKey","resourceGroupName","secondaryAccessKey","skuName","xMsClientId","id"],"type":"object"}},"azure:marketplace/getAgreement:getAgreement":{"description":"Uses this data source to access information about an existing Marketplace Agreement.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst barracuda = azure.marketplace.getAgreement({\n    publisher: \"barracudanetworks\",\n    offer: \"waf\",\n    plan: \"hourly\",\n});\nexport const azurermMarketplaceAgreementId = id;\nexport const azurermMarketplaceAgreementAccepted = accepted;\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nbarracuda = azure.marketplace.get_agreement(publisher=\"barracudanetworks\",\n    offer=\"waf\",\n    plan=\"hourly\")\npulumi.export(\"azurermMarketplaceAgreementId\", id)\npulumi.export(\"azurermMarketplaceAgreementAccepted\", accepted)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var barracuda = Azure.Marketplace.GetAgreement.Invoke(new()\n    {\n        Publisher = \"barracudanetworks\",\n        Offer = \"waf\",\n        Plan = \"hourly\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"azurermMarketplaceAgreementId\"] = id,\n        [\"azurermMarketplaceAgreementAccepted\"] = accepted,\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/marketplace\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := marketplace.LookupAgreement(ctx, \u0026marketplace.LookupAgreementArgs{\n\t\t\tPublisher: \"barracudanetworks\",\n\t\t\tOffer:     \"waf\",\n\t\t\tPlan:      \"hourly\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"azurermMarketplaceAgreementId\", id)\n\t\tctx.Export(\"azurermMarketplaceAgreementAccepted\", accepted)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.marketplace.MarketplaceFunctions;\nimport com.pulumi.azure.marketplace.inputs.GetAgreementArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var barracuda = MarketplaceFunctions.getAgreement(GetAgreementArgs.builder()\n            .publisher(\"barracudanetworks\")\n            .offer(\"waf\")\n            .plan(\"hourly\")\n            .build());\n\n        ctx.export(\"azurermMarketplaceAgreementId\", id);\n        ctx.export(\"azurermMarketplaceAgreementAccepted\", accepted);\n    }\n}\n```\n```yaml\nvariables:\n  barracuda:\n    fn::invoke:\n      function: azure:marketplace:getAgreement\n      arguments:\n        publisher: barracudanetworks\n        offer: waf\n        plan: hourly\noutputs:\n  azurermMarketplaceAgreementId: ${id}\n  azurermMarketplaceAgreementAccepted: ${accepted}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.MarketplaceOrdering` - 2015-06-01\n","inputs":{"description":"A collection of arguments for invoking getAgreement.\n","properties":{"offer":{"type":"string","description":"The Offer of the Marketplace Image.\n"},"plan":{"type":"string","description":"The Plan of the Marketplace Image.\n"},"publisher":{"type":"string","description":"The Publisher of the Marketplace Image.\n"}},"type":"object","required":["offer","plan","publisher"]},"outputs":{"description":"A collection of values returned by getAgreement.\n","properties":{"accepted":{"description":"Whether the Marketplace Agreement has been accepted.\n","type":"boolean"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"licenseTextLink":{"type":"string"},"offer":{"type":"string"},"plan":{"type":"string"},"privacyPolicyLink":{"type":"string"},"publisher":{"type":"string"}},"required":["accepted","licenseTextLink","offer","plan","privacyPolicyLink","publisher","id"],"type":"object"}},"azure:monitoring/getActionGroup:getActionGroup":{"description":"Use this data source to access the properties of an Action Group.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.monitoring.getActionGroup({\n    resourceGroupName: \"example-rg\",\n    name: \"tfex-actiongroup\",\n});\nexport const actionGroupId = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.monitoring.get_action_group(resource_group_name=\"example-rg\",\n    name=\"tfex-actiongroup\")\npulumi.export(\"actionGroupId\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Monitoring.GetActionGroup.Invoke(new()\n    {\n        ResourceGroupName = \"example-rg\",\n        Name = \"tfex-actiongroup\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"actionGroupId\"] = example.Apply(getActionGroupResult =\u003e getActionGroupResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/monitoring\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := monitoring.LookupActionGroup(ctx, \u0026monitoring.LookupActionGroupArgs{\n\t\t\tResourceGroupName: \"example-rg\",\n\t\t\tName:              \"tfex-actiongroup\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"actionGroupId\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.monitoring.MonitoringFunctions;\nimport com.pulumi.azure.monitoring.inputs.GetActionGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = MonitoringFunctions.getActionGroup(GetActionGroupArgs.builder()\n            .resourceGroupName(\"example-rg\")\n            .name(\"tfex-actiongroup\")\n            .build());\n\n        ctx.export(\"actionGroupId\", example.id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:monitoring:getActionGroup\n      arguments:\n        resourceGroupName: example-rg\n        name: tfex-actiongroup\noutputs:\n  actionGroupId: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.Insights` - 2023-01-01\n","inputs":{"description":"A collection of arguments for invoking getActionGroup.\n","properties":{"name":{"type":"string","description":"Specifies the name of the Action Group.\n"},"resourceGroupName":{"type":"string","description":"Specifies the name of the resource group the Action Group is located in.\n"}},"type":"object","required":["name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getActionGroup.\n","properties":{"armRoleReceivers":{"description":"One or more \u003cspan pulumi-lang-nodejs=\"`armRoleReceiver`\" pulumi-lang-dotnet=\"`ArmRoleReceiver`\" pulumi-lang-go=\"`armRoleReceiver`\" pulumi-lang-python=\"`arm_role_receiver`\" pulumi-lang-yaml=\"`armRoleReceiver`\" pulumi-lang-java=\"`armRoleReceiver`\"\u003e`arm_role_receiver`\u003c/span\u003e blocks as defined below.\n","items":{"$ref":"#/types/azure:monitoring/getActionGroupArmRoleReceiver:getActionGroupArmRoleReceiver"},"type":"array"},"automationRunbookReceivers":{"description":"One or more \u003cspan pulumi-lang-nodejs=\"`automationRunbookReceiver`\" pulumi-lang-dotnet=\"`AutomationRunbookReceiver`\" pulumi-lang-go=\"`automationRunbookReceiver`\" pulumi-lang-python=\"`automation_runbook_receiver`\" pulumi-lang-yaml=\"`automationRunbookReceiver`\" pulumi-lang-java=\"`automationRunbookReceiver`\"\u003e`automation_runbook_receiver`\u003c/span\u003e blocks as defined below.\n","items":{"$ref":"#/types/azure:monitoring/getActionGroupAutomationRunbookReceiver:getActionGroupAutomationRunbookReceiver"},"type":"array"},"azureAppPushReceivers":{"description":"One or more \u003cspan pulumi-lang-nodejs=\"`azureAppPushReceiver`\" pulumi-lang-dotnet=\"`AzureAppPushReceiver`\" pulumi-lang-go=\"`azureAppPushReceiver`\" pulumi-lang-python=\"`azure_app_push_receiver`\" pulumi-lang-yaml=\"`azureAppPushReceiver`\" pulumi-lang-java=\"`azureAppPushReceiver`\"\u003e`azure_app_push_receiver`\u003c/span\u003e blocks as defined below.\n","items":{"$ref":"#/types/azure:monitoring/getActionGroupAzureAppPushReceiver:getActionGroupAzureAppPushReceiver"},"type":"array"},"azureFunctionReceivers":{"description":"One or more \u003cspan pulumi-lang-nodejs=\"`azureFunctionReceiver`\" pulumi-lang-dotnet=\"`AzureFunctionReceiver`\" pulumi-lang-go=\"`azureFunctionReceiver`\" pulumi-lang-python=\"`azure_function_receiver`\" pulumi-lang-yaml=\"`azureFunctionReceiver`\" pulumi-lang-java=\"`azureFunctionReceiver`\"\u003e`azure_function_receiver`\u003c/span\u003e blocks as defined below.\n","items":{"$ref":"#/types/azure:monitoring/getActionGroupAzureFunctionReceiver:getActionGroupAzureFunctionReceiver"},"type":"array"},"emailReceivers":{"description":"One or more \u003cspan pulumi-lang-nodejs=\"`emailReceiver`\" pulumi-lang-dotnet=\"`EmailReceiver`\" pulumi-lang-go=\"`emailReceiver`\" pulumi-lang-python=\"`email_receiver`\" pulumi-lang-yaml=\"`emailReceiver`\" pulumi-lang-java=\"`emailReceiver`\"\u003e`email_receiver`\u003c/span\u003e blocks as defined below.\n","items":{"$ref":"#/types/azure:monitoring/getActionGroupEmailReceiver:getActionGroupEmailReceiver"},"type":"array"},"enabled":{"description":"Whether this action group is enabled.\n","type":"boolean"},"eventHubReceivers":{"description":"One or more \u003cspan pulumi-lang-nodejs=\"`eventHubReceiver`\" pulumi-lang-dotnet=\"`EventHubReceiver`\" pulumi-lang-go=\"`eventHubReceiver`\" pulumi-lang-python=\"`event_hub_receiver`\" pulumi-lang-yaml=\"`eventHubReceiver`\" pulumi-lang-java=\"`eventHubReceiver`\"\u003e`event_hub_receiver`\u003c/span\u003e blocks as defined below.\n","items":{"$ref":"#/types/azure:monitoring/getActionGroupEventHubReceiver:getActionGroupEventHubReceiver"},"type":"array"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"itsmReceivers":{"description":"One or more \u003cspan pulumi-lang-nodejs=\"`itsmReceiver`\" pulumi-lang-dotnet=\"`ItsmReceiver`\" pulumi-lang-go=\"`itsmReceiver`\" pulumi-lang-python=\"`itsm_receiver`\" pulumi-lang-yaml=\"`itsmReceiver`\" pulumi-lang-java=\"`itsmReceiver`\"\u003e`itsm_receiver`\u003c/span\u003e blocks as defined below.\n","items":{"$ref":"#/types/azure:monitoring/getActionGroupItsmReceiver:getActionGroupItsmReceiver"},"type":"array"},"logicAppReceivers":{"description":"One or more \u003cspan pulumi-lang-nodejs=\"`logicAppReceiver`\" pulumi-lang-dotnet=\"`LogicAppReceiver`\" pulumi-lang-go=\"`logicAppReceiver`\" pulumi-lang-python=\"`logic_app_receiver`\" pulumi-lang-yaml=\"`logicAppReceiver`\" pulumi-lang-java=\"`logicAppReceiver`\"\u003e`logic_app_receiver`\u003c/span\u003e blocks as defined below.\n","items":{"$ref":"#/types/azure:monitoring/getActionGroupLogicAppReceiver:getActionGroupLogicAppReceiver"},"type":"array"},"name":{"description":"The name of the webhook receiver.\n","type":"string"},"resourceGroupName":{"type":"string"},"shortName":{"description":"The short name of the action group.\n","type":"string"},"smsReceivers":{"description":"One or more \u003cspan pulumi-lang-nodejs=\"`smsReceiver`\" pulumi-lang-dotnet=\"`SmsReceiver`\" pulumi-lang-go=\"`smsReceiver`\" pulumi-lang-python=\"`sms_receiver`\" pulumi-lang-yaml=\"`smsReceiver`\" pulumi-lang-java=\"`smsReceiver`\"\u003e`sms_receiver`\u003c/span\u003e blocks as defined below.\n","items":{"$ref":"#/types/azure:monitoring/getActionGroupSmsReceiver:getActionGroupSmsReceiver"},"type":"array"},"voiceReceivers":{"description":"One or more \u003cspan pulumi-lang-nodejs=\"`voiceReceiver`\" pulumi-lang-dotnet=\"`VoiceReceiver`\" pulumi-lang-go=\"`voiceReceiver`\" pulumi-lang-python=\"`voice_receiver`\" pulumi-lang-yaml=\"`voiceReceiver`\" pulumi-lang-java=\"`voiceReceiver`\"\u003e`voice_receiver`\u003c/span\u003e blocks as defined below.\n","items":{"$ref":"#/types/azure:monitoring/getActionGroupVoiceReceiver:getActionGroupVoiceReceiver"},"type":"array"},"webhookReceivers":{"description":"One or more \u003cspan pulumi-lang-nodejs=\"`webhookReceiver`\" pulumi-lang-dotnet=\"`WebhookReceiver`\" pulumi-lang-go=\"`webhookReceiver`\" pulumi-lang-python=\"`webhook_receiver`\" pulumi-lang-yaml=\"`webhookReceiver`\" pulumi-lang-java=\"`webhookReceiver`\"\u003e`webhook_receiver`\u003c/span\u003e blocks as defined below.\n","items":{"$ref":"#/types/azure:monitoring/getActionGroupWebhookReceiver:getActionGroupWebhookReceiver"},"type":"array"}},"required":["armRoleReceivers","automationRunbookReceivers","azureAppPushReceivers","azureFunctionReceivers","emailReceivers","enabled","eventHubReceivers","itsmReceivers","logicAppReceivers","name","resourceGroupName","shortName","smsReceivers","voiceReceivers","webhookReceivers","id"],"type":"object"}},"azure:monitoring/getDataCollectionEndpoint:getDataCollectionEndpoint":{"description":"Use this data source to access information about an existing Data Collection Endpoint.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.monitoring.getDataCollectionEndpoint({\n    name: \"example-mdce\",\n    resourceGroupName: exampleAzurermResourceGroup.name,\n});\nexport const endpointId = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.monitoring.get_data_collection_endpoint(name=\"example-mdce\",\n    resource_group_name=example_azurerm_resource_group[\"name\"])\npulumi.export(\"endpointId\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Monitoring.GetDataCollectionEndpoint.Invoke(new()\n    {\n        Name = \"example-mdce\",\n        ResourceGroupName = exampleAzurermResourceGroup.Name,\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"endpointId\"] = example.Apply(getDataCollectionEndpointResult =\u003e getDataCollectionEndpointResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/monitoring\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := monitoring.LookupDataCollectionEndpoint(ctx, \u0026monitoring.LookupDataCollectionEndpointArgs{\n\t\t\tName:              \"example-mdce\",\n\t\t\tResourceGroupName: exampleAzurermResourceGroup.Name,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"endpointId\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.monitoring.MonitoringFunctions;\nimport com.pulumi.azure.monitoring.inputs.GetDataCollectionEndpointArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = MonitoringFunctions.getDataCollectionEndpoint(GetDataCollectionEndpointArgs.builder()\n            .name(\"example-mdce\")\n            .resourceGroupName(exampleAzurermResourceGroup.name())\n            .build());\n\n        ctx.export(\"endpointId\", example.id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:monitoring:getDataCollectionEndpoint\n      arguments:\n        name: example-mdce\n        resourceGroupName: ${exampleAzurermResourceGroup.name}\noutputs:\n  endpointId: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.Insights` - 2023-03-11\n","inputs":{"description":"A collection of arguments for invoking getDataCollectionEndpoint.\n","properties":{"name":{"type":"string","description":"Specifies the name of the Data Collection Endpoint.\n"},"resourceGroupName":{"type":"string","description":"Specifies the name of the resource group the Data Collection Endpoint is located in.\n"}},"type":"object","required":["name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getDataCollectionEndpoint.\n","properties":{"configurationAccessEndpoint":{"description":"The endpoint used for accessing configuration, e.g., `https://mydce-abcd.eastus-1.control.monitor.azure.com`.\n","type":"string"},"description":{"description":"Specifies a description for the Data Collection Endpoint.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"immutableId":{"description":"The immutable ID of the Data Collection Endpoint.\n","type":"string"},"kind":{"description":"The kind of the Data Collection Endpoint. Possible values are `Linux` and `Windows`.\n","type":"string"},"location":{"description":"The Azure Region where the Data Collection Endpoint should exist.\n","type":"string"},"logsIngestionEndpoint":{"description":"The endpoint used for ingesting logs, e.g., `https://mydce-abcd.eastus-1.ingest.monitor.azure.com`.\n","type":"string"},"metricsIngestionEndpoint":{"description":"The endpoint used for ingesting metrics, e.g., `https://mydce-abcd.eastus-1.metrics.ingest.monitor.azure.com`.\n","type":"string"},"name":{"type":"string"},"publicNetworkAccessEnabled":{"description":"Whether network access from public internet to the Data Collection Endpoint are allowed. Possible values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n","type":"boolean"},"resourceGroupName":{"type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Data Collection Endpoint.\n","type":"object"}},"required":["configurationAccessEndpoint","description","immutableId","kind","location","logsIngestionEndpoint","metricsIngestionEndpoint","name","publicNetworkAccessEnabled","resourceGroupName","tags","id"],"type":"object"}},"azure:monitoring/getDataCollectionRule:getDataCollectionRule":{"description":"Use this data source to access information about an existing Data Collection Rule.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.monitoring.getDataCollectionRule({\n    name: \"example-rule\",\n    resourceGroupName: exampleAzurermResourceGroup.name,\n});\nexport const ruleId = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.monitoring.get_data_collection_rule(name=\"example-rule\",\n    resource_group_name=example_azurerm_resource_group[\"name\"])\npulumi.export(\"ruleId\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Monitoring.GetDataCollectionRule.Invoke(new()\n    {\n        Name = \"example-rule\",\n        ResourceGroupName = exampleAzurermResourceGroup.Name,\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"ruleId\"] = example.Apply(getDataCollectionRuleResult =\u003e getDataCollectionRuleResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/monitoring\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := monitoring.LookupDataCollectionRule(ctx, \u0026monitoring.LookupDataCollectionRuleArgs{\n\t\t\tName:              \"example-rule\",\n\t\t\tResourceGroupName: exampleAzurermResourceGroup.Name,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"ruleId\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.monitoring.MonitoringFunctions;\nimport com.pulumi.azure.monitoring.inputs.GetDataCollectionRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = MonitoringFunctions.getDataCollectionRule(GetDataCollectionRuleArgs.builder()\n            .name(\"example-rule\")\n            .resourceGroupName(exampleAzurermResourceGroup.name())\n            .build());\n\n        ctx.export(\"ruleId\", example.id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:monitoring:getDataCollectionRule\n      arguments:\n        name: example-rule\n        resourceGroupName: ${exampleAzurermResourceGroup.name}\noutputs:\n  ruleId: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.Insights` - 2023-03-11\n","inputs":{"description":"A collection of arguments for invoking getDataCollectionRule.\n","properties":{"name":{"type":"string","description":"Specifies the name of the Data Collection Rule.\n"},"resourceGroupName":{"type":"string","description":"Specifies the name of the resource group the Data Collection Rule is located in.\n"}},"type":"object","required":["name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getDataCollectionRule.\n","properties":{"dataCollectionEndpointId":{"description":"The resource ID of the Data Collection Endpoint that this rule can be used with.\n","type":"string"},"dataFlows":{"description":"One or more \u003cspan pulumi-lang-nodejs=\"`dataFlow`\" pulumi-lang-dotnet=\"`DataFlow`\" pulumi-lang-go=\"`dataFlow`\" pulumi-lang-python=\"`data_flow`\" pulumi-lang-yaml=\"`dataFlow`\" pulumi-lang-java=\"`dataFlow`\"\u003e`data_flow`\u003c/span\u003e blocks as defined below.\n","items":{"$ref":"#/types/azure:monitoring/getDataCollectionRuleDataFlow:getDataCollectionRuleDataFlow"},"type":"array"},"dataSources":{"description":"A \u003cspan pulumi-lang-nodejs=\"`dataSources`\" pulumi-lang-dotnet=\"`DataSources`\" pulumi-lang-go=\"`dataSources`\" pulumi-lang-python=\"`data_sources`\" pulumi-lang-yaml=\"`dataSources`\" pulumi-lang-java=\"`dataSources`\"\u003e`data_sources`\u003c/span\u003e block as defined below. This property is optional and can be omitted if the rule is meant to be used via direct calls to the provisioned endpoint.\n","items":{"$ref":"#/types/azure:monitoring/getDataCollectionRuleDataSource:getDataCollectionRuleDataSource"},"type":"array"},"description":{"description":"The description of the Data Collection Rule.\n","type":"string"},"destinations":{"description":"Specifies a list of destination names. A \u003cspan pulumi-lang-nodejs=\"`azureMonitorMetrics`\" pulumi-lang-dotnet=\"`AzureMonitorMetrics`\" pulumi-lang-go=\"`azureMonitorMetrics`\" pulumi-lang-python=\"`azure_monitor_metrics`\" pulumi-lang-yaml=\"`azureMonitorMetrics`\" pulumi-lang-java=\"`azureMonitorMetrics`\"\u003e`azure_monitor_metrics`\u003c/span\u003e data source only allows for stream of kind `Microsoft-InsightsMetrics`.\n","items":{"$ref":"#/types/azure:monitoring/getDataCollectionRuleDestination:getDataCollectionRuleDestination"},"type":"array"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"identities":{"description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:monitoring/getDataCollectionRuleIdentity:getDataCollectionRuleIdentity"},"type":"array"},"immutableId":{"type":"string"},"kind":{"description":"The kind of the Data Collection Rule. Possible values are `Linux`, `Windows`,and `AgentDirectToStore`. A rule of kind `Linux` does not allow for \u003cspan pulumi-lang-nodejs=\"`windowsEventLog`\" pulumi-lang-dotnet=\"`WindowsEventLog`\" pulumi-lang-go=\"`windowsEventLog`\" pulumi-lang-python=\"`windows_event_log`\" pulumi-lang-yaml=\"`windowsEventLog`\" pulumi-lang-java=\"`windowsEventLog`\"\u003e`windows_event_log`\u003c/span\u003e data sources. And a rule of kind `Windows` does not allow for \u003cspan pulumi-lang-nodejs=\"`syslog`\" pulumi-lang-dotnet=\"`Syslog`\" pulumi-lang-go=\"`syslog`\" pulumi-lang-python=\"`syslog`\" pulumi-lang-yaml=\"`syslog`\" pulumi-lang-java=\"`syslog`\"\u003e`syslog`\u003c/span\u003e data sources. If kind is not specified, all kinds of data sources are allowed.\n","type":"string"},"location":{"description":"The Azure Region where the Data Collection Rule should exist. Changing this forces a new Data Collection Rule to be created.\n","type":"string"},"name":{"description":"The name which should be used for this data source. This name should be unique across all data sources regardless of type within the Data Collection Rule.\n","type":"string"},"resourceGroupName":{"type":"string"},"streamDeclarations":{"description":"A \u003cspan pulumi-lang-nodejs=\"`streamDeclaration`\" pulumi-lang-dotnet=\"`StreamDeclaration`\" pulumi-lang-go=\"`streamDeclaration`\" pulumi-lang-python=\"`stream_declaration`\" pulumi-lang-yaml=\"`streamDeclaration`\" pulumi-lang-java=\"`streamDeclaration`\"\u003e`stream_declaration`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:monitoring/getDataCollectionRuleStreamDeclaration:getDataCollectionRuleStreamDeclaration"},"type":"array"},"tags":{"additionalProperties":{"type":"string"},"description":"A mapping of tags which should be assigned to the Data Collection Rule.\n","type":"object"}},"required":["dataCollectionEndpointId","dataFlows","dataSources","description","destinations","identities","immutableId","kind","location","name","resourceGroupName","streamDeclarations","tags","id"],"type":"object"}},"azure:monitoring/getDiagnosticCategories:getDiagnosticCategories":{"description":"Use this data source to access information about the Monitor Diagnostics Categories supported by an existing Resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.keyvault.getKeyVault({\n    name: exampleAzurermKeyVault.name,\n    resourceGroupName: exampleAzurermKeyVault.resourceGroupName,\n});\nconst exampleGetDiagnosticCategories = example.then(example =\u003e azure.monitoring.getDiagnosticCategories({\n    resourceId: example.id,\n}));\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.keyvault.get_key_vault(name=example_azurerm_key_vault[\"name\"],\n    resource_group_name=example_azurerm_key_vault[\"resourceGroupName\"])\nexample_get_diagnostic_categories = azure.monitoring.get_diagnostic_categories(resource_id=example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.KeyVault.GetKeyVault.Invoke(new()\n    {\n        Name = exampleAzurermKeyVault.Name,\n        ResourceGroupName = exampleAzurermKeyVault.ResourceGroupName,\n    });\n\n    var exampleGetDiagnosticCategories = Azure.Monitoring.GetDiagnosticCategories.Invoke(new()\n    {\n        ResourceId = example.Apply(getKeyVaultResult =\u003e getKeyVaultResult.Id),\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/keyvault\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/monitoring\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := keyvault.LookupKeyVault(ctx, \u0026keyvault.LookupKeyVaultArgs{\n\t\t\tName:              exampleAzurermKeyVault.Name,\n\t\t\tResourceGroupName: exampleAzurermKeyVault.ResourceGroupName,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = monitoring.GetDiagnosticCategories(ctx, \u0026monitoring.GetDiagnosticCategoriesArgs{\n\t\t\tResourceId: example.Id,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.keyvault.KeyvaultFunctions;\nimport com.pulumi.azure.keyvault.inputs.GetKeyVaultArgs;\nimport com.pulumi.azure.monitoring.MonitoringFunctions;\nimport com.pulumi.azure.monitoring.inputs.GetDiagnosticCategoriesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = KeyvaultFunctions.getKeyVault(GetKeyVaultArgs.builder()\n            .name(exampleAzurermKeyVault.name())\n            .resourceGroupName(exampleAzurermKeyVault.resourceGroupName())\n            .build());\n\n        final var exampleGetDiagnosticCategories = MonitoringFunctions.getDiagnosticCategories(GetDiagnosticCategoriesArgs.builder()\n            .resourceId(example.id())\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:keyvault:getKeyVault\n      arguments:\n        name: ${exampleAzurermKeyVault.name}\n        resourceGroupName: ${exampleAzurermKeyVault.resourceGroupName}\n  exampleGetDiagnosticCategories:\n    fn::invoke:\n      function: azure:monitoring:getDiagnosticCategories\n      arguments:\n        resourceId: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.Insights` - 2021-05-01-preview\n","inputs":{"description":"A collection of arguments for invoking getDiagnosticCategories.\n","properties":{"resourceId":{"type":"string","description":"The ID of an existing Resource which Monitor Diagnostics Categories should be retrieved for.\n"}},"type":"object","required":["resourceId"]},"outputs":{"description":"A collection of values returned by getDiagnosticCategories.\n","properties":{"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"logCategoryGroups":{"description":"A list of the supported log category groups of this resource to send to the destination.\n","items":{"type":"string"},"type":"array"},"logCategoryTypes":{"description":"A list of the supported log category types of this resource to send to the destination.\n","items":{"type":"string"},"type":"array"},"metrics":{"description":"A list of the Metric Categories supported for this Resource.\n","items":{"type":"string"},"type":"array"},"resourceId":{"type":"string"}},"required":["logCategoryGroups","logCategoryTypes","metrics","resourceId","id"],"type":"object"}},"azure:monitoring/getScheduledQueryRulesAlert:getScheduledQueryRulesAlert":{"description":"Use this data source to access the properties of an AlertingAction scheduled query rule.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.monitoring.getScheduledQueryRulesAlert({\n    resourceGroupName: \"example-rg\",\n    name: \"tfex-queryrule\",\n});\nexport const queryRuleId = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.monitoring.get_scheduled_query_rules_alert(resource_group_name=\"example-rg\",\n    name=\"tfex-queryrule\")\npulumi.export(\"queryRuleId\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Monitoring.GetScheduledQueryRulesAlert.Invoke(new()\n    {\n        ResourceGroupName = \"example-rg\",\n        Name = \"tfex-queryrule\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"queryRuleId\"] = example.Apply(getScheduledQueryRulesAlertResult =\u003e getScheduledQueryRulesAlertResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/monitoring\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := monitoring.LookupScheduledQueryRulesAlert(ctx, \u0026monitoring.LookupScheduledQueryRulesAlertArgs{\n\t\t\tResourceGroupName: \"example-rg\",\n\t\t\tName:              \"tfex-queryrule\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"queryRuleId\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.monitoring.MonitoringFunctions;\nimport com.pulumi.azure.monitoring.inputs.GetScheduledQueryRulesAlertArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = MonitoringFunctions.getScheduledQueryRulesAlert(GetScheduledQueryRulesAlertArgs.builder()\n            .resourceGroupName(\"example-rg\")\n            .name(\"tfex-queryrule\")\n            .build());\n\n        ctx.export(\"queryRuleId\", example.id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:monitoring:getScheduledQueryRulesAlert\n      arguments:\n        resourceGroupName: example-rg\n        name: tfex-queryrule\noutputs:\n  queryRuleId: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.Insights` - 2018-04-16\n","inputs":{"description":"A collection of arguments for invoking getScheduledQueryRulesAlert.\n","properties":{"name":{"type":"string","description":"Specifies the name of the scheduled query rule.\n"},"resourceGroupName":{"type":"string","description":"Specifies the name of the resource group where the scheduled query rule is located.\n"}},"type":"object","required":["name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getScheduledQueryRulesAlert.\n","properties":{"actions":{"description":"supports the following:\n","items":{"$ref":"#/types/azure:monitoring/getScheduledQueryRulesAlertAction:getScheduledQueryRulesAlertAction"},"type":"array"},"authorizedResourceIds":{"description":"The list of Resource IDs referred into query.\n","items":{"type":"string"},"type":"array"},"dataSourceId":{"description":"The resource URI over which log search query is to be run.\n","type":"string"},"description":{"description":"The description of the scheduled query rule.\n","type":"string"},"enabled":{"description":"Whether this scheduled query rule is enabled.\n","type":"boolean"},"frequency":{"description":"Frequency at which rule condition should be evaluated.\n","type":"integer"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"location":{"description":"Specifies the Azure Region where the resource should exist.\n","type":"string"},"name":{"type":"string"},"query":{"description":"Log search query.\n","type":"string"},"queryType":{"description":"The type of query results.\n","type":"string"},"resourceGroupName":{"type":"string"},"severity":{"description":"Severity of the alert.\n","type":"integer"},"tags":{"additionalProperties":{"type":"string"},"type":"object"},"throttling":{"description":"Time for which alerts should be throttled or suppressed.\n","type":"integer"},"timeWindow":{"description":"Time window for which data needs to be fetched for query.\n","type":"integer"},"triggers":{"description":"A \u003cspan pulumi-lang-nodejs=\"`trigger`\" pulumi-lang-dotnet=\"`Trigger`\" pulumi-lang-go=\"`trigger`\" pulumi-lang-python=\"`trigger`\" pulumi-lang-yaml=\"`trigger`\" pulumi-lang-java=\"`trigger`\"\u003e`trigger`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:monitoring/getScheduledQueryRulesAlertTrigger:getScheduledQueryRulesAlertTrigger"},"type":"array"}},"required":["actions","authorizedResourceIds","dataSourceId","description","enabled","frequency","location","name","query","queryType","resourceGroupName","severity","tags","throttling","timeWindow","triggers","id"],"type":"object"}},"azure:monitoring/getScheduledQueryRulesLog:getScheduledQueryRulesLog":{"description":"Use this data source to access the properties of a LogToMetricAction scheduled query rule.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.monitoring.getScheduledQueryRulesLog({\n    resourceGroupName: \"example-rg\",\n    name: \"tfex-queryrule\",\n});\nexport const queryRuleId = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.monitoring.get_scheduled_query_rules_log(resource_group_name=\"example-rg\",\n    name=\"tfex-queryrule\")\npulumi.export(\"queryRuleId\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Monitoring.GetScheduledQueryRulesLog.Invoke(new()\n    {\n        ResourceGroupName = \"example-rg\",\n        Name = \"tfex-queryrule\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"queryRuleId\"] = example.Apply(getScheduledQueryRulesLogResult =\u003e getScheduledQueryRulesLogResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/monitoring\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := monitoring.LookupScheduledQueryRulesLog(ctx, \u0026monitoring.LookupScheduledQueryRulesLogArgs{\n\t\t\tResourceGroupName: \"example-rg\",\n\t\t\tName:              \"tfex-queryrule\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"queryRuleId\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.monitoring.MonitoringFunctions;\nimport com.pulumi.azure.monitoring.inputs.GetScheduledQueryRulesLogArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = MonitoringFunctions.getScheduledQueryRulesLog(GetScheduledQueryRulesLogArgs.builder()\n            .resourceGroupName(\"example-rg\")\n            .name(\"tfex-queryrule\")\n            .build());\n\n        ctx.export(\"queryRuleId\", example.id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:monitoring:getScheduledQueryRulesLog\n      arguments:\n        resourceGroupName: example-rg\n        name: tfex-queryrule\noutputs:\n  queryRuleId: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.Insights` - 2018-04-16\n","inputs":{"description":"A collection of arguments for invoking getScheduledQueryRulesLog.\n","properties":{"name":{"type":"string","description":"Specifies the name of the scheduled query rule.\n"},"resourceGroupName":{"type":"string","description":"Specifies the name of the resource group where the scheduled query rule is located.\n"}},"type":"object","required":["name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getScheduledQueryRulesLog.\n","properties":{"authorizedResourceIds":{"description":"A list of IDs of Resources referred into query.\n","items":{"type":"string"},"type":"array"},"criterias":{"description":"A \u003cspan pulumi-lang-nodejs=\"`criteria`\" pulumi-lang-dotnet=\"`Criteria`\" pulumi-lang-go=\"`criteria`\" pulumi-lang-python=\"`criteria`\" pulumi-lang-yaml=\"`criteria`\" pulumi-lang-java=\"`criteria`\"\u003e`criteria`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:monitoring/getScheduledQueryRulesLogCriteria:getScheduledQueryRulesLogCriteria"},"type":"array"},"dataSourceId":{"description":"The resource URI over which log search query is to be run.\n","type":"string"},"description":{"description":"The description of the scheduled query rule.\n","type":"string"},"enabled":{"description":"Whether this scheduled query rule is enabled.\n","type":"boolean"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"location":{"description":"Specifies the Azure Region where the resource should exist.\n","type":"string"},"name":{"description":"Name of the dimension.\n","type":"string"},"resourceGroupName":{"type":"string"},"tags":{"additionalProperties":{"type":"string"},"type":"object"}},"required":["authorizedResourceIds","criterias","dataSourceId","description","enabled","location","name","resourceGroupName","tags","id"],"type":"object"}},"azure:monitoring/getWorkspace:getWorkspace":{"description":"Use this data source to access information about an existing Workspace.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.monitoring.getWorkspace({\n    name: \"example-workspace\",\n    resourceGroupName: exampleAzurermResourceGroup.name,\n});\nexport const queryEndpoint = example.then(example =\u003e example.queryEndpoint);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.monitoring.get_workspace(name=\"example-workspace\",\n    resource_group_name=example_azurerm_resource_group[\"name\"])\npulumi.export(\"queryEndpoint\", example.query_endpoint)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Monitoring.GetWorkspace.Invoke(new()\n    {\n        Name = \"example-workspace\",\n        ResourceGroupName = exampleAzurermResourceGroup.Name,\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"queryEndpoint\"] = example.Apply(getWorkspaceResult =\u003e getWorkspaceResult.QueryEndpoint),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/monitoring\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := monitoring.LookupWorkspace(ctx, \u0026monitoring.LookupWorkspaceArgs{\n\t\t\tName:              \"example-workspace\",\n\t\t\tResourceGroupName: exampleAzurermResourceGroup.Name,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"queryEndpoint\", example.QueryEndpoint)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.monitoring.MonitoringFunctions;\nimport com.pulumi.azure.monitoring.inputs.GetWorkspaceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = MonitoringFunctions.getWorkspace(GetWorkspaceArgs.builder()\n            .name(\"example-workspace\")\n            .resourceGroupName(exampleAzurermResourceGroup.name())\n            .build());\n\n        ctx.export(\"queryEndpoint\", example.queryEndpoint());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:monitoring:getWorkspace\n      arguments:\n        name: example-workspace\n        resourceGroupName: ${exampleAzurermResourceGroup.name}\noutputs:\n  queryEndpoint: ${example.queryEndpoint}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.Monitor` - 2023-04-03\n","inputs":{"description":"A collection of arguments for invoking getWorkspace.\n","properties":{"name":{"type":"string","description":"Specifies the name of the Workspace.\n"},"resourceGroupName":{"type":"string","description":"Specifies the name of the resource group the Workspace is located in.\n"}},"type":"object","required":["name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getWorkspace.\n","properties":{"defaultDataCollectionEndpointId":{"description":"The ID of the managed default Data Collection Endpoint created with the Azure Monitor Workspace.\n","type":"string"},"defaultDataCollectionRuleId":{"description":"The ID of the managed default Data Collection Rule created with the Azure Monitor Workspace.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"location":{"description":"The Azure Region where the Workspace is located.\n","type":"string"},"name":{"type":"string"},"publicNetworkAccessEnabled":{"description":"Whether network access from public internet to the Workspace are allowed.\n","type":"boolean"},"queryEndpoint":{"description":"The query endpoint for the Azure Monitor Workspace.\n","type":"string"},"resourceGroupName":{"type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"A mapping of tags that are assigned to the Workspace.\n","type":"object"}},"required":["defaultDataCollectionEndpointId","defaultDataCollectionRuleId","location","name","publicNetworkAccessEnabled","queryEndpoint","resourceGroupName","tags","id"],"type":"object"}},"azure:mssql/getDatabase:getDatabase":{"description":"Use this data source to access information about an existing SQL database.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleServer = new azure.mssql.Server(\"example\", {\n    name: \"example\",\n    resourceGroupName: exampleResourceGroup.name,\n    location: exampleResourceGroup.location,\n    version: \"12.0\",\n    administratorLogin: \"4dm1n157r470r\",\n    administratorLoginPassword: \"4-v3ry-53cr37-p455w0rd\",\n});\nconst example = azure.mssql.getDatabaseOutput({\n    name: \"example-mssql-db\",\n    serverId: exampleServer.id,\n});\nexport const databaseId = example.apply(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_server = azure.mssql.Server(\"example\",\n    name=\"example\",\n    resource_group_name=example_resource_group.name,\n    location=example_resource_group.location,\n    version=\"12.0\",\n    administrator_login=\"4dm1n157r470r\",\n    administrator_login_password=\"4-v3ry-53cr37-p455w0rd\")\nexample = azure.mssql.get_database_output(name=\"example-mssql-db\",\n    server_id=example_server.id)\npulumi.export(\"databaseId\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleResourceGroup = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleServer = new Azure.MSSql.Server(\"example\", new()\n    {\n        Name = \"example\",\n        ResourceGroupName = exampleResourceGroup.Name,\n        Location = exampleResourceGroup.Location,\n        Version = \"12.0\",\n        AdministratorLogin = \"4dm1n157r470r\",\n        AdministratorLoginPassword = \"4-v3ry-53cr37-p455w0rd\",\n    });\n\n    var example = Azure.MSSql.GetDatabase.Invoke(new()\n    {\n        Name = \"example-mssql-db\",\n        ServerId = exampleServer.Id,\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"databaseId\"] = example.Apply(getDatabaseResult =\u003e getDatabaseResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/mssql\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleServer, err := mssql.NewServer(ctx, \"example\", \u0026mssql.ServerArgs{\n\t\t\tName:                       pulumi.String(\"example\"),\n\t\t\tResourceGroupName:          exampleResourceGroup.Name,\n\t\t\tLocation:                   exampleResourceGroup.Location,\n\t\t\tVersion:                    pulumi.String(\"12.0\"),\n\t\t\tAdministratorLogin:         pulumi.String(\"4dm1n157r470r\"),\n\t\t\tAdministratorLoginPassword: pulumi.String(\"4-v3ry-53cr37-p455w0rd\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample := mssql.LookupDatabaseOutput(ctx, mssql.GetDatabaseOutputArgs{\n\t\t\tName:     pulumi.String(\"example-mssql-db\"),\n\t\t\tServerId: exampleServer.ID(),\n\t\t}, nil)\n\t\tctx.Export(\"databaseId\", example.ApplyT(func(example mssql.GetDatabaseResult) (*string, error) {\n\t\t\treturn \u0026example.Id, nil\n\t\t}).(pulumi.StringPtrOutput))\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.mssql.Server;\nimport com.pulumi.azure.mssql.ServerArgs;\nimport com.pulumi.azure.mssql.MssqlFunctions;\nimport com.pulumi.azure.mssql.inputs.GetDatabaseArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var exampleResourceGroup = new ResourceGroup(\"exampleResourceGroup\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleServer = new Server(\"exampleServer\", ServerArgs.builder()\n            .name(\"example\")\n            .resourceGroupName(exampleResourceGroup.name())\n            .location(exampleResourceGroup.location())\n            .version(\"12.0\")\n            .administratorLogin(\"4dm1n157r470r\")\n            .administratorLoginPassword(\"4-v3ry-53cr37-p455w0rd\")\n            .build());\n\n        final var example = MssqlFunctions.getDatabase(GetDatabaseArgs.builder()\n            .name(\"example-mssql-db\")\n            .serverId(exampleServer.id())\n            .build());\n\n        ctx.export(\"databaseId\", example.applyValue(_example -\u003e _example.id()));\n    }\n}\n```\n```yaml\nresources:\n  exampleResourceGroup:\n    type: azure:core:ResourceGroup\n    name: example\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleServer:\n    type: azure:mssql:Server\n    name: example\n    properties:\n      name: example\n      resourceGroupName: ${exampleResourceGroup.name}\n      location: ${exampleResourceGroup.location}\n      version: '12.0'\n      administratorLogin: 4dm1n157r470r\n      administratorLoginPassword: 4-v3ry-53cr37-p455w0rd\nvariables:\n  example:\n    fn::invoke:\n      function: azure:mssql:getDatabase\n      arguments:\n        name: example-mssql-db\n        serverId: ${exampleServer.id}\noutputs:\n  databaseId: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.Sql` - 2023-08-01-preview\n","inputs":{"description":"A collection of arguments for invoking getDatabase.\n","properties":{"name":{"type":"string","description":"The name of the MS SQL Database.\n"},"serverId":{"type":"string","description":"The id of the MS SQL Server on which to read the database.\n"}},"type":"object","required":["name","serverId"]},"outputs":{"description":"A collection of values returned by getDatabase.\n","properties":{"collation":{"description":"The collation of the database.\n","type":"string"},"elasticPoolId":{"description":"The id of the elastic pool containing this database.\n","type":"string"},"enclaveType":{"description":"The type of enclave being used by the database.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"identities":{"description":"A \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:mssql/getDatabaseIdentity:getDatabaseIdentity"},"type":"array"},"licenseType":{"description":"The license type to apply for this database.\n","type":"string"},"maxSizeGb":{"description":"The max size of the database in gigabytes.\n","type":"integer"},"name":{"type":"string"},"readReplicaCount":{"description":"The number of readonly secondary replicas associated with the database to which readonly application intent connections may be routed.\n","type":"integer"},"readScale":{"description":"If enabled, connections that have application intent set to readonly in their connection string may be routed to a readonly secondary replica.\n","type":"boolean"},"serverId":{"type":"string"},"skuName":{"description":"The name of the SKU of the database.\n","type":"string"},"storageAccountType":{"description":"The storage account type used to store backups for this database.\n","type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n","type":"object"},"transparentDataEncryptionEnabled":{"description":"Whether or not Transparent Data Encryption is enabled.\n","type":"boolean"},"transparentDataEncryptionKeyAutomaticRotationEnabled":{"description":"Whether or not TDE automatically rotates the encryption Key to latest version.\n","type":"boolean"},"transparentDataEncryptionKeyVaultKeyId":{"description":"The Key Vault key URI to be used as the `Customer Managed Key`(CMK/BYOK) for the `Transparent Data Encryption`(TDE) layer.\n","type":"string"},"zoneRedundant":{"description":"Whether or not this database is zone redundant, which means the replicas of this database will be spread across multiple availability zones.\n","type":"boolean"}},"required":["collation","elasticPoolId","enclaveType","identities","licenseType","maxSizeGb","name","readReplicaCount","readScale","serverId","skuName","storageAccountType","tags","transparentDataEncryptionEnabled","transparentDataEncryptionKeyAutomaticRotationEnabled","transparentDataEncryptionKeyVaultKeyId","zoneRedundant","id"],"type":"object"}},"azure:mssql/getElasticPool:getElasticPool":{"description":"Use this data source to access information about an existing SQL elastic pool.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.mssql.getElasticPool({\n    name: \"mssqlelasticpoolname\",\n    resourceGroupName: \"example-resources\",\n    serverName: \"example-sql-server\",\n});\nexport const elasticpoolId = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.mssql.get_elastic_pool(name=\"mssqlelasticpoolname\",\n    resource_group_name=\"example-resources\",\n    server_name=\"example-sql-server\")\npulumi.export(\"elasticpoolId\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.MSSql.GetElasticPool.Invoke(new()\n    {\n        Name = \"mssqlelasticpoolname\",\n        ResourceGroupName = \"example-resources\",\n        ServerName = \"example-sql-server\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"elasticpoolId\"] = example.Apply(getElasticPoolResult =\u003e getElasticPoolResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/mssql\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := mssql.LookupElasticPool(ctx, \u0026mssql.LookupElasticPoolArgs{\n\t\t\tName:              \"mssqlelasticpoolname\",\n\t\t\tResourceGroupName: \"example-resources\",\n\t\t\tServerName:        \"example-sql-server\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"elasticpoolId\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.mssql.MssqlFunctions;\nimport com.pulumi.azure.mssql.inputs.GetElasticPoolArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = MssqlFunctions.getElasticPool(GetElasticPoolArgs.builder()\n            .name(\"mssqlelasticpoolname\")\n            .resourceGroupName(\"example-resources\")\n            .serverName(\"example-sql-server\")\n            .build());\n\n        ctx.export(\"elasticpoolId\", example.id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:mssql:getElasticPool\n      arguments:\n        name: mssqlelasticpoolname\n        resourceGroupName: example-resources\n        serverName: example-sql-server\noutputs:\n  elasticpoolId: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.Sql` - 2023-08-01-preview\n","inputs":{"description":"A collection of arguments for invoking getElasticPool.\n","properties":{"name":{"type":"string","description":"The name of the elastic pool.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group which contains the elastic pool.\n"},"serverName":{"type":"string","description":"The name of the SQL Server which contains the elastic pool.\n"}},"type":"object","required":["name","resourceGroupName","serverName"]},"outputs":{"description":"A collection of values returned by getElasticPool.\n","properties":{"enclaveType":{"description":"The type of enclave being used by the elastic pool.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"licenseType":{"description":"The license type to apply for this elastic pool.\n","type":"string"},"location":{"description":"Specifies the supported Azure location where the resource exists.\n","type":"string"},"maxSizeBytes":{"description":"The max data size of the elastic pool in bytes.\n","type":"integer"},"maxSizeGb":{"description":"The max data size of the elastic pool in gigabytes.\n","type":"number"},"name":{"description":"Specifies the SKU Name for this Elasticpool.\n","type":"string"},"perDbMaxCapacity":{"description":"The maximum capacity any one database can consume.\n","type":"integer"},"perDbMinCapacity":{"description":"The minimum capacity all databases are guaranteed.\n","type":"integer"},"resourceGroupName":{"type":"string"},"serverName":{"type":"string"},"skus":{"description":"A \u003cspan pulumi-lang-nodejs=\"`sku`\" pulumi-lang-dotnet=\"`Sku`\" pulumi-lang-go=\"`sku`\" pulumi-lang-python=\"`sku`\" pulumi-lang-yaml=\"`sku`\" pulumi-lang-java=\"`sku`\"\u003e`sku`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:mssql/getElasticPoolSkus:getElasticPoolSkus"},"type":"array"},"tags":{"additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n","type":"object"},"zoneRedundant":{"description":"Whether or not this elastic pool is zone redundant.\n","type":"boolean"}},"required":["enclaveType","licenseType","location","maxSizeBytes","maxSizeGb","name","perDbMaxCapacity","perDbMinCapacity","resourceGroupName","serverName","skus","tags","zoneRedundant","id"],"type":"object"}},"azure:mssql/getFailoverGroup:getFailoverGroup":{"description":"Use this data source to access information about an existing Microsoft Azure SQL Failover Group.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.mssql.getFailoverGroup({\n    name: \"example\",\n    serverId: \"example-sql-server\",\n});\nexport const mssqlFailoverGroupId = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.mssql.get_failover_group(name=\"example\",\n    server_id=\"example-sql-server\")\npulumi.export(\"mssqlFailoverGroupId\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.MSSql.GetFailoverGroup.Invoke(new()\n    {\n        Name = \"example\",\n        ServerId = \"example-sql-server\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"mssqlFailoverGroupId\"] = example.Apply(getFailoverGroupResult =\u003e getFailoverGroupResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/mssql\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := mssql.LookupFailoverGroup(ctx, \u0026mssql.LookupFailoverGroupArgs{\n\t\t\tName:     \"example\",\n\t\t\tServerId: \"example-sql-server\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"mssqlFailoverGroupId\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.mssql.MssqlFunctions;\nimport com.pulumi.azure.mssql.inputs.GetFailoverGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = MssqlFunctions.getFailoverGroup(GetFailoverGroupArgs.builder()\n            .name(\"example\")\n            .serverId(\"example-sql-server\")\n            .build());\n\n        ctx.export(\"mssqlFailoverGroupId\", example.id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:mssql:getFailoverGroup\n      arguments:\n        name: example\n        serverId: example-sql-server\noutputs:\n  mssqlFailoverGroupId: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.Sql` - 2023-08-01-preview\n","inputs":{"description":"A collection of arguments for invoking getFailoverGroup.\n","properties":{"name":{"type":"string","description":"The name of the Failover Group.\n"},"serverId":{"type":"string","description":"The ID of the primary SQL Server where the Failover Group exists.\n"}},"type":"object","required":["name","serverId"]},"outputs":{"description":"A collection of values returned by getFailoverGroup.\n","properties":{"databases":{"description":"A set of database names in the Failover Group.\n","items":{"type":"string"},"type":"array"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"name":{"type":"string"},"partnerServers":{"description":"A \u003cspan pulumi-lang-nodejs=\"`partnerServer`\" pulumi-lang-dotnet=\"`PartnerServer`\" pulumi-lang-go=\"`partnerServer`\" pulumi-lang-python=\"`partner_server`\" pulumi-lang-yaml=\"`partnerServer`\" pulumi-lang-java=\"`partnerServer`\"\u003e`partner_server`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:mssql/getFailoverGroupPartnerServer:getFailoverGroupPartnerServer"},"type":"array"},"readWriteEndpointFailoverPolicies":{"description":"A \u003cspan pulumi-lang-nodejs=\"`readWriteEndpointFailoverPolicy`\" pulumi-lang-dotnet=\"`ReadWriteEndpointFailoverPolicy`\" pulumi-lang-go=\"`readWriteEndpointFailoverPolicy`\" pulumi-lang-python=\"`read_write_endpoint_failover_policy`\" pulumi-lang-yaml=\"`readWriteEndpointFailoverPolicy`\" pulumi-lang-java=\"`readWriteEndpointFailoverPolicy`\"\u003e`read_write_endpoint_failover_policy`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:mssql/getFailoverGroupReadWriteEndpointFailoverPolicy:getFailoverGroupReadWriteEndpointFailoverPolicy"},"type":"array"},"readonlyEndpointFailoverPolicyEnabled":{"description":"Whether failover is enabled for the readonly endpoint.\n","type":"boolean"},"serverId":{"type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"A mapping of tags which are assigned to the resource.\n","type":"object"}},"required":["databases","name","partnerServers","readWriteEndpointFailoverPolicies","readonlyEndpointFailoverPolicyEnabled","serverId","tags","id"],"type":"object"}},"azure:mssql/getManagedDatabase:getManagedDatabase":{"description":"Use this data source to access information about an existing Azure SQL Azure Managed Database.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:mssql:getManagedDatabase\n      arguments:\n        name: example\n        resourceGroupName: ${exampleAzurermResourceGroup.name}\n        managedInstanceName: ${exampleAzurermMssqlManagedInstance.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.Sql` - 2023-08-01-preview\n","inputs":{"description":"A collection of arguments for invoking getManagedDatabase.\n","properties":{"managedInstanceId":{"type":"string","description":"The SQL Managed Instance ID.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of this Azure SQL Azure Managed Database.\n","willReplaceOnChanges":true}},"type":"object","required":["managedInstanceId","name"]},"outputs":{"description":"A collection of values returned by getManagedDatabase.\n","properties":{"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"longTermRetentionPolicies":{"description":"A \u003cspan pulumi-lang-nodejs=\"`longTermRetentionPolicy`\" pulumi-lang-dotnet=\"`LongTermRetentionPolicy`\" pulumi-lang-go=\"`longTermRetentionPolicy`\" pulumi-lang-python=\"`long_term_retention_policy`\" pulumi-lang-yaml=\"`longTermRetentionPolicy`\" pulumi-lang-java=\"`longTermRetentionPolicy`\"\u003e`long_term_retention_policy`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:mssql/getManagedDatabaseLongTermRetentionPolicy:getManagedDatabaseLongTermRetentionPolicy"},"type":"array"},"managedInstanceId":{"type":"string"},"managedInstanceName":{"description":"The name of the Managed Instance.\n","type":"string"},"name":{"type":"string"},"pointInTimeRestores":{"description":"A \u003cspan pulumi-lang-nodejs=\"`pointInTimeRestore`\" pulumi-lang-dotnet=\"`PointInTimeRestore`\" pulumi-lang-go=\"`pointInTimeRestore`\" pulumi-lang-python=\"`point_in_time_restore`\" pulumi-lang-yaml=\"`pointInTimeRestore`\" pulumi-lang-java=\"`pointInTimeRestore`\"\u003e`point_in_time_restore`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:mssql/getManagedDatabasePointInTimeRestore:getManagedDatabasePointInTimeRestore"},"type":"array"},"resourceGroupName":{"description":"The name of the Resource Group where the Azure SQL Azure Managed Instance exists.\n","type":"string"},"shortTermRetentionDays":{"description":"The backup retention period in days. This is how many days Point-in-Time Restore will be supported.\n","type":"integer"}},"required":["longTermRetentionPolicies","managedInstanceId","managedInstanceName","name","pointInTimeRestores","resourceGroupName","shortTermRetentionDays","id"],"type":"object"}},"azure:mssql/getManagedInstance:getManagedInstance":{"description":"Use this data source to access information about an existing Microsoft SQL Azure Managed Instance.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.mssql.getManagedInstance({\n    name: \"managedsqlinstance\",\n    resourceGroupName: exampleAzurermResourceGroup.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.mssql.get_managed_instance(name=\"managedsqlinstance\",\n    resource_group_name=example_azurerm_resource_group[\"name\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.MSSql.GetManagedInstance.Invoke(new()\n    {\n        Name = \"managedsqlinstance\",\n        ResourceGroupName = exampleAzurermResourceGroup.Name,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/mssql\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := mssql.LookupManagedInstance(ctx, \u0026mssql.LookupManagedInstanceArgs{\n\t\t\tName:              \"managedsqlinstance\",\n\t\t\tResourceGroupName: exampleAzurermResourceGroup.Name,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.mssql.MssqlFunctions;\nimport com.pulumi.azure.mssql.inputs.GetManagedInstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = MssqlFunctions.getManagedInstance(GetManagedInstanceArgs.builder()\n            .name(\"managedsqlinstance\")\n            .resourceGroupName(exampleAzurermResourceGroup.name())\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:mssql:getManagedInstance\n      arguments:\n        name: managedsqlinstance\n        resourceGroupName: ${exampleAzurermResourceGroup.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.Sql` - 2023-08-01-preview\n","inputs":{"description":"A collection of arguments for invoking getManagedInstance.\n","properties":{"name":{"type":"string","description":"The name of the SQL Managed Instance.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group where the SQL Managed Instance exists.\n"}},"type":"object","required":["name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getManagedInstance.\n","properties":{"administratorLogin":{"description":"The administrator login name for the SQL Managed Instance.\n","type":"string"},"collation":{"description":"Specifies how the SQL Managed Instance will be collated.\n","type":"string"},"customerManagedKeyId":{"type":"string"},"dnsZone":{"description":"The Dns Zone where the SQL Managed Instance is located.\n","type":"string"},"dnsZonePartnerId":{"description":"The ID of the SQL Managed Instance which shares the DNS zone.\n","type":"string"},"fqdn":{"description":"The fully qualified domain name of the Azure Managed SQL Instance.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"identities":{"description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:mssql/getManagedInstanceIdentity:getManagedInstanceIdentity"},"type":"array"},"licenseType":{"description":"What type of license the SQL Managed Instance uses.\n","type":"string"},"location":{"description":"Specifies the supported Azure location where the resource exists.\n","type":"string"},"minimumTlsVersion":{"description":"The Minimum TLS Version.\n","type":"string"},"name":{"type":"string"},"proxyOverride":{"description":"Specifies how the SQL Managed Instance will be accessed.\n","type":"string"},"publicDataEndpointEnabled":{"description":"Whether the public data endpoint is enabled.\n","type":"boolean"},"resourceGroupName":{"type":"string"},"skuName":{"description":"Specifies the SKU Name of the SQL Managed Instance.\n","type":"string"},"storageAccountType":{"description":"Specifies the storage account type used to store backups for this database.\n","type":"string"},"storageSizeInGb":{"description":"Maximum storage space allocated for the SQL Managed Instance.\n","type":"integer"},"subnetId":{"description":"The subnet resource ID that the SQL Managed Instance is associated with.\n","type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"A mapping of tags assigned to the resource.\n","type":"object"},"timezoneId":{"description":"The TimeZone ID that the SQL Managed Instance is running in.\n","type":"string"},"vcores":{"description":"Number of cores that are assigned to the SQL Managed Instance.\n","type":"integer"}},"required":["administratorLogin","collation","customerManagedKeyId","dnsZone","dnsZonePartnerId","fqdn","identities","licenseType","location","minimumTlsVersion","name","proxyOverride","publicDataEndpointEnabled","resourceGroupName","skuName","storageAccountType","storageSizeInGb","subnetId","tags","timezoneId","vcores","id"],"type":"object"}},"azure:mssql/getServer:getServer":{"description":"Use this data source to access information about an existing Microsoft SQL Server.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.mssql.getServer({\n    name: \"existingMsSqlServer\",\n    resourceGroupName: \"existingResGroup\",\n});\nexport const id = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.mssql.get_server(name=\"existingMsSqlServer\",\n    resource_group_name=\"existingResGroup\")\npulumi.export(\"id\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.MSSql.GetServer.Invoke(new()\n    {\n        Name = \"existingMsSqlServer\",\n        ResourceGroupName = \"existingResGroup\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"id\"] = example.Apply(getServerResult =\u003e getServerResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/mssql\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := mssql.LookupServer(ctx, \u0026mssql.LookupServerArgs{\n\t\t\tName:              \"existingMsSqlServer\",\n\t\t\tResourceGroupName: \"existingResGroup\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"id\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.mssql.MssqlFunctions;\nimport com.pulumi.azure.mssql.inputs.GetServerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = MssqlFunctions.getServer(GetServerArgs.builder()\n            .name(\"existingMsSqlServer\")\n            .resourceGroupName(\"existingResGroup\")\n            .build());\n\n        ctx.export(\"id\", example.id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:mssql:getServer\n      arguments:\n        name: existingMsSqlServer\n        resourceGroupName: existingResGroup\noutputs:\n  id: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.Sql` - 2023-08-01-preview\n","inputs":{"description":"A collection of arguments for invoking getServer.\n","properties":{"name":{"type":"string","description":"The name of this Microsoft SQL Server.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Microsoft SQL Server exists.\n"}},"type":"object","required":["name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getServer.\n","properties":{"administratorLogin":{"description":"The administrator login name of the Microsoft SQL Server.\n","type":"string"},"expressVulnerabilityAssessmentEnabled":{"description":"Whether the Express Vulnerability Assessment Configuration is enabled.\n","type":"boolean"},"fullyQualifiedDomainName":{"description":"The fully qualified domain name of the Microsoft SQL Server.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"identities":{"description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:mssql/getServerIdentity:getServerIdentity"},"type":"array"},"location":{"description":"The Azure Region where the Microsoft SQL Server exists.\n","type":"string"},"name":{"type":"string"},"resourceGroupName":{"type":"string"},"restorableDroppedDatabaseIds":{"description":"A list of dropped restorable database IDs on the Microsoft SQL Server.\n","items":{"type":"string"},"type":"array"},"tags":{"additionalProperties":{"type":"string"},"description":"A mapping of tags assigned to this Microsoft SQL Server.\n","type":"object"},"transparentDataEncryptionKeyVaultKeyId":{"description":"The Key Vault Key URI to be used as the `Customer Managed Key` (CMK/BYOK) for the `Transparent Data Encryption` (TDE) layer.\n","type":"string"},"version":{"description":"The version of the Microsoft SQL Server.\n","type":"string"}},"required":["administratorLogin","expressVulnerabilityAssessmentEnabled","fullyQualifiedDomainName","identities","location","name","resourceGroupName","restorableDroppedDatabaseIds","tags","transparentDataEncryptionKeyVaultKeyId","version","id"],"type":"object"}},"azure:mysql/getFlexibleServer:getFlexibleServer":{"description":"Use this data source to access information about an existing MySQL Flexible Server.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.mysql.getFlexibleServer({\n    name: \"existingMySqlFlexibleServer\",\n    resourceGroupName: \"existingResGroup\",\n});\nexport const id = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.mysql.get_flexible_server(name=\"existingMySqlFlexibleServer\",\n    resource_group_name=\"existingResGroup\")\npulumi.export(\"id\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.MySql.GetFlexibleServer.Invoke(new()\n    {\n        Name = \"existingMySqlFlexibleServer\",\n        ResourceGroupName = \"existingResGroup\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"id\"] = example.Apply(getFlexibleServerResult =\u003e getFlexibleServerResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/mysql\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := mysql.LookupFlexibleServer(ctx, \u0026mysql.LookupFlexibleServerArgs{\n\t\t\tName:              \"existingMySqlFlexibleServer\",\n\t\t\tResourceGroupName: \"existingResGroup\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"id\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.mysql.MysqlFunctions;\nimport com.pulumi.azure.mysql.inputs.GetFlexibleServerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = MysqlFunctions.getFlexibleServer(GetFlexibleServerArgs.builder()\n            .name(\"existingMySqlFlexibleServer\")\n            .resourceGroupName(\"existingResGroup\")\n            .build());\n\n        ctx.export(\"id\", example.id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:mysql:getFlexibleServer\n      arguments:\n        name: existingMySqlFlexibleServer\n        resourceGroupName: existingResGroup\noutputs:\n  id: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.DBforMySQL` - 2023-12-30\n","inputs":{"description":"A collection of arguments for invoking getFlexibleServer.\n","properties":{"name":{"type":"string","description":"Specifies the name of the MySQL Flexible Server.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group for the MySQL Flexible Server.\n"}},"type":"object","required":["name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getFlexibleServer.\n","properties":{"administratorLogin":{"description":"The Administrator login of the MySQL Flexible Server.\n","type":"string"},"backupRetentionDays":{"description":"The backup retention days of the MySQL Flexible Server.\n","type":"integer"},"delegatedSubnetId":{"description":"The ID of the virtual network subnet the MySQL Flexible Server is created in.\n","type":"string"},"fqdn":{"description":"The fully qualified domain name of the MySQL Flexible Server.\n","type":"string"},"geoRedundantBackupEnabled":{"description":"Is geo redundant backup enabled?\n","type":"boolean"},"highAvailabilities":{"description":"A \u003cspan pulumi-lang-nodejs=\"`highAvailability`\" pulumi-lang-dotnet=\"`HighAvailability`\" pulumi-lang-go=\"`highAvailability`\" pulumi-lang-python=\"`high_availability`\" pulumi-lang-yaml=\"`highAvailability`\" pulumi-lang-java=\"`highAvailability`\"\u003e`high_availability`\u003c/span\u003e block for this MySQL Flexible Server as defined below.\n","items":{"$ref":"#/types/azure:mysql/getFlexibleServerHighAvailability:getFlexibleServerHighAvailability"},"type":"array"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"location":{"description":"The Azure Region of the MySQL Flexible Server.\n","type":"string"},"maintenanceWindows":{"description":"A \u003cspan pulumi-lang-nodejs=\"`maintenanceWindow`\" pulumi-lang-dotnet=\"`MaintenanceWindow`\" pulumi-lang-go=\"`maintenanceWindow`\" pulumi-lang-python=\"`maintenance_window`\" pulumi-lang-yaml=\"`maintenanceWindow`\" pulumi-lang-java=\"`maintenanceWindow`\"\u003e`maintenance_window`\u003c/span\u003e block for this MySQL Flexible Server as defined below.\n","items":{"$ref":"#/types/azure:mysql/getFlexibleServerMaintenanceWindow:getFlexibleServerMaintenanceWindow"},"type":"array"},"name":{"type":"string"},"privateDnsZoneId":{"description":"The ID of the Private DNS zone of the MySQL Flexible Server.\n","type":"string"},"publicNetworkAccessEnabled":{"description":"Is the public network access enabled?\n","type":"boolean"},"replicaCapacity":{"description":"The maximum number of replicas that a primary MySQL Flexible Server can have.\n","type":"integer"},"replicationRole":{"description":"The replication role of the MySQL Flexible Server.\n","type":"string"},"resourceGroupName":{"type":"string"},"restorePointInTime":{"type":"string"},"skuName":{"description":"The SKU Name of the MySQL Flexible Server.\n","type":"string"},"storages":{"description":"A \u003cspan pulumi-lang-nodejs=\"`storage`\" pulumi-lang-dotnet=\"`Storage`\" pulumi-lang-go=\"`storage`\" pulumi-lang-python=\"`storage`\" pulumi-lang-yaml=\"`storage`\" pulumi-lang-java=\"`storage`\"\u003e`storage`\u003c/span\u003e block for this MySQL Flexible Server as defined below.\n","items":{"$ref":"#/types/azure:mysql/getFlexibleServerStorage:getFlexibleServerStorage"},"type":"array"},"tags":{"additionalProperties":{"type":"string"},"description":"A mapping of tags which are assigned to the MySQL Flexible Server.\n","type":"object"},"version":{"description":"The version of the MySQL Flexible Server.\n","type":"string"},"zone":{"description":"The Availability Zones where this MySQL Flexible Server is located.\n","type":"string"}},"required":["administratorLogin","backupRetentionDays","delegatedSubnetId","fqdn","geoRedundantBackupEnabled","highAvailabilities","location","maintenanceWindows","name","privateDnsZoneId","publicNetworkAccessEnabled","replicaCapacity","replicationRole","resourceGroupName","restorePointInTime","skuName","storages","tags","version","zone","id"],"type":"object"}},"azure:netapp/getAccount:getAccount":{"description":"Uses this data source to access information about an existing NetApp Account.\n\n## NetApp Account Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.netapp.getAccount({\n    resourceGroupName: \"acctestRG\",\n    name: \"acctestnetappaccount\",\n});\nexport const netappAccountId = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.netapp.get_account(resource_group_name=\"acctestRG\",\n    name=\"acctestnetappaccount\")\npulumi.export(\"netappAccountId\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.NetApp.GetAccount.Invoke(new()\n    {\n        ResourceGroupName = \"acctestRG\",\n        Name = \"acctestnetappaccount\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"netappAccountId\"] = example.Apply(getAccountResult =\u003e getAccountResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/netapp\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := netapp.LookupAccount(ctx, \u0026netapp.LookupAccountArgs{\n\t\t\tResourceGroupName: \"acctestRG\",\n\t\t\tName:              \"acctestnetappaccount\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"netappAccountId\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.netapp.NetappFunctions;\nimport com.pulumi.azure.netapp.inputs.GetAccountArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = NetappFunctions.getAccount(GetAccountArgs.builder()\n            .resourceGroupName(\"acctestRG\")\n            .name(\"acctestnetappaccount\")\n            .build());\n\n        ctx.export(\"netappAccountId\", example.id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:netapp:getAccount\n      arguments:\n        resourceGroupName: acctestRG\n        name: acctestnetappaccount\noutputs:\n  netappAccountId: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.NetApp` - 2025-06-01\n","inputs":{"description":"A collection of arguments for invoking getAccount.\n","properties":{"identity":{"$ref":"#/types/azure:netapp/getAccountIdentity:getAccountIdentity"},"name":{"type":"string","description":"The name of the NetApp Account.\n"},"resourceGroupName":{"type":"string","description":"The Name of the Resource Group where the NetApp Account exists.\n"}},"type":"object","required":["name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getAccount.\n","properties":{"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"identity":{"$ref":"#/types/azure:netapp/getAccountIdentity:getAccountIdentity"},"location":{"description":"The Azure Region where the NetApp Account exists.\n","type":"string"},"name":{"type":"string"},"resourceGroupName":{"type":"string"},"tags":{"additionalProperties":{"type":"string"},"type":"object"}},"required":["location","name","resourceGroupName","tags","id"],"type":"object"}},"azure:netapp/getAccountEncryption:getAccountEncryption":{"description":"Use this data source to access information about an existing NetApp Account Encryption Resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.netapp.getAccountEncryption({\n    netappAccountId: \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.NetApp/netAppAccounts/account1\",\n});\nexport const id = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.netapp.get_account_encryption(netapp_account_id=\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.NetApp/netAppAccounts/account1\")\npulumi.export(\"id\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.NetApp.GetAccountEncryption.Invoke(new()\n    {\n        NetappAccountId = \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.NetApp/netAppAccounts/account1\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"id\"] = example.Apply(getAccountEncryptionResult =\u003e getAccountEncryptionResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/netapp\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := netapp.LookupAccountEncryption(ctx, \u0026netapp.LookupAccountEncryptionArgs{\n\t\t\tNetappAccountId: \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.NetApp/netAppAccounts/account1\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"id\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.netapp.NetappFunctions;\nimport com.pulumi.azure.netapp.inputs.GetAccountEncryptionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = NetappFunctions.getAccountEncryption(GetAccountEncryptionArgs.builder()\n            .netappAccountId(\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.NetApp/netAppAccounts/account1\")\n            .build());\n\n        ctx.export(\"id\", example.id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:netapp:getAccountEncryption\n      arguments:\n        netappAccountId: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.NetApp/netAppAccounts/account1\noutputs:\n  id: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.NetApp` - 2025-06-01\n","inputs":{"description":"A collection of arguments for invoking getAccountEncryption.\n","properties":{"netappAccountId":{"type":"string","description":"The ID of the NetApp account where customer managed keys-based encryption is enabled.\n"}},"type":"object","required":["netappAccountId"]},"outputs":{"description":"A collection of values returned by getAccountEncryption.\n","properties":{"crossTenantKeyVaultResourceId":{"type":"string"},"encryptionKey":{"type":"string"},"federatedClientId":{"type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"netappAccountId":{"type":"string"},"systemAssignedIdentityPrincipalId":{"type":"string"},"userAssignedIdentityId":{"type":"string"}},"required":["crossTenantKeyVaultResourceId","encryptionKey","federatedClientId","netappAccountId","systemAssignedIdentityPrincipalId","userAssignedIdentityId","id"],"type":"object"}},"azure:netapp/getBackupPolicy:getBackupPolicy":{"description":"Use this data source to access information about an existing NetApp Backup Vault.\n\n## NetApp Backup Policy Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.netapp.getBackupPolicy({\n    resourceGroupName: \"example-resource-group\",\n    accountName: \"example-netappaccount\",\n    name: \"example-backuppolicy\",\n});\nexport const backupPolicyId = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.netapp.get_backup_policy(resource_group_name=\"example-resource-group\",\n    account_name=\"example-netappaccount\",\n    name=\"example-backuppolicy\")\npulumi.export(\"backupPolicyId\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.NetApp.GetBackupPolicy.Invoke(new()\n    {\n        ResourceGroupName = \"example-resource-group\",\n        AccountName = \"example-netappaccount\",\n        Name = \"example-backuppolicy\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"backupPolicyId\"] = example.Apply(getBackupPolicyResult =\u003e getBackupPolicyResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/netapp\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := netapp.LookupBackupPolicy(ctx, \u0026netapp.LookupBackupPolicyArgs{\n\t\t\tResourceGroupName: \"example-resource-group\",\n\t\t\tAccountName:       \"example-netappaccount\",\n\t\t\tName:              \"example-backuppolicy\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"backupPolicyId\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.netapp.NetappFunctions;\nimport com.pulumi.azure.netapp.inputs.GetBackupPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = NetappFunctions.getBackupPolicy(GetBackupPolicyArgs.builder()\n            .resourceGroupName(\"example-resource-group\")\n            .accountName(\"example-netappaccount\")\n            .name(\"example-backuppolicy\")\n            .build());\n\n        ctx.export(\"backupPolicyId\", example.id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:netapp:getBackupPolicy\n      arguments:\n        resourceGroupName: example-resource-group\n        accountName: example-netappaccount\n        name: example-backuppolicy\noutputs:\n  backupPolicyId: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.NetApp` - 2025-06-01\n","inputs":{"description":"A collection of arguments for invoking getBackupPolicy.\n","properties":{"accountName":{"type":"string","description":"The name of the NetApp Account in which the NetApp Policy exists.\n"},"name":{"type":"string","description":"The name of the NetApp Backup Policy.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group where the NetApp Backup Policy exists.\n","willReplaceOnChanges":true}},"type":"object","required":["accountName","name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getBackupPolicy.\n","properties":{"accountName":{"description":"The name of the NetApp account in which the NetApp Policy exists.\n","type":"string"},"dailyBackupsToKeep":{"description":"The number of daily backups to keep.\n","type":"integer"},"enabled":{"description":"Whether the Backup Policy is enabled.\n","type":"boolean"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"location":{"description":"NetApp Backup Policy location.\n","type":"string"},"monthlyBackupsToKeep":{"description":"The number of monthly backups to keep.\n","type":"integer"},"name":{"type":"string"},"resourceGroupName":{"type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"List of tags assigned to the resource.\n","type":"object"},"weeklyBackupsToKeep":{"description":"The number of weekly backups to keep.\n","type":"integer"}},"required":["accountName","dailyBackupsToKeep","enabled","location","monthlyBackupsToKeep","name","resourceGroupName","tags","weeklyBackupsToKeep","id"],"type":"object"}},"azure:netapp/getBackupVault:getBackupVault":{"description":"Use this data source to access information about an existing NetApp Backup Vault.\n\n## NetApp Backup Vault Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.netapp.getBackupVault({\n    resourceGroupName: \"example-resource-group\",\n    accountName: \"example-netappaccount\",\n    name: \"example-backupvault\",\n});\nexport const backupVaultId = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.netapp.get_backup_vault(resource_group_name=\"example-resource-group\",\n    account_name=\"example-netappaccount\",\n    name=\"example-backupvault\")\npulumi.export(\"backupVaultId\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.NetApp.GetBackupVault.Invoke(new()\n    {\n        ResourceGroupName = \"example-resource-group\",\n        AccountName = \"example-netappaccount\",\n        Name = \"example-backupvault\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"backupVaultId\"] = example.Apply(getBackupVaultResult =\u003e getBackupVaultResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/netapp\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := netapp.LookupBackupVault(ctx, \u0026netapp.LookupBackupVaultArgs{\n\t\t\tResourceGroupName: \"example-resource-group\",\n\t\t\tAccountName:       \"example-netappaccount\",\n\t\t\tName:              \"example-backupvault\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"backupVaultId\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.netapp.NetappFunctions;\nimport com.pulumi.azure.netapp.inputs.GetBackupVaultArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = NetappFunctions.getBackupVault(GetBackupVaultArgs.builder()\n            .resourceGroupName(\"example-resource-group\")\n            .accountName(\"example-netappaccount\")\n            .name(\"example-backupvault\")\n            .build());\n\n        ctx.export(\"backupVaultId\", example.id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:netapp:getBackupVault\n      arguments:\n        resourceGroupName: example-resource-group\n        accountName: example-netappaccount\n        name: example-backupvault\noutputs:\n  backupVaultId: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.NetApp` - 2025-06-01\n","inputs":{"description":"A collection of arguments for invoking getBackupVault.\n","properties":{"accountName":{"type":"string","description":"The name of the NetApp Account in which the NetApp Vault exists.\n"},"name":{"type":"string","description":"The name of the NetApp Backup Vault.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group where the NetApp Backup Vault exists.\n","willReplaceOnChanges":true}},"type":"object","required":["accountName","name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getBackupVault.\n","properties":{"accountName":{"type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"location":{"type":"string"},"name":{"type":"string"},"resourceGroupName":{"type":"string"},"tags":{"additionalProperties":{"type":"string"},"type":"object"}},"required":["accountName","location","name","resourceGroupName","tags","id"],"type":"object"}},"azure:netapp/getPool:getPool":{"description":"Uses this data source to access information about an existing NetApp Pool.\n\n## NetApp Pool Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.netapp.getPool({\n    resourceGroupName: \"acctestRG\",\n    accountName: \"acctestnetappaccount\",\n    name: \"acctestnetapppool\",\n});\nexport const netappPoolId = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.netapp.get_pool(resource_group_name=\"acctestRG\",\n    account_name=\"acctestnetappaccount\",\n    name=\"acctestnetapppool\")\npulumi.export(\"netappPoolId\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.NetApp.GetPool.Invoke(new()\n    {\n        ResourceGroupName = \"acctestRG\",\n        AccountName = \"acctestnetappaccount\",\n        Name = \"acctestnetapppool\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"netappPoolId\"] = example.Apply(getPoolResult =\u003e getPoolResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/netapp\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := netapp.LookupPool(ctx, \u0026netapp.LookupPoolArgs{\n\t\t\tResourceGroupName: \"acctestRG\",\n\t\t\tAccountName:       \"acctestnetappaccount\",\n\t\t\tName:              \"acctestnetapppool\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"netappPoolId\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.netapp.NetappFunctions;\nimport com.pulumi.azure.netapp.inputs.GetPoolArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = NetappFunctions.getPool(GetPoolArgs.builder()\n            .resourceGroupName(\"acctestRG\")\n            .accountName(\"acctestnetappaccount\")\n            .name(\"acctestnetapppool\")\n            .build());\n\n        ctx.export(\"netappPoolId\", example.id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:netapp:getPool\n      arguments:\n        resourceGroupName: acctestRG\n        accountName: acctestnetappaccount\n        name: acctestnetapppool\noutputs:\n  netappPoolId: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.NetApp` - 2025-06-01\n","inputs":{"description":"A collection of arguments for invoking getPool.\n","properties":{"accountName":{"type":"string","description":"The name of the NetApp account where the NetApp pool exists.\n"},"name":{"type":"string","description":"The name of the NetApp Pool.\n"},"resourceGroupName":{"type":"string","description":"The Name of the Resource Group where the NetApp Pool exists.\n"}},"type":"object","required":["accountName","name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getPool.\n","properties":{"accountName":{"type":"string"},"coolAccessEnabled":{"description":"Whether the NetApp Pool can hold cool access enabled volumes.\n","type":"boolean"},"customThroughputMibps":{"description":"The custom throughput for the pool in MiB/s.\n","type":"integer"},"encryptionType":{"description":"The encryption type of the pool.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"location":{"description":"The Azure Region where the NetApp Pool exists.\n","type":"string"},"name":{"type":"string"},"resourceGroupName":{"type":"string"},"serviceLevel":{"description":"The service level of the file system.\n","type":"string"},"sizeInTb":{"description":"Provisioned size of the pool in TB.\n","type":"integer"}},"required":["accountName","coolAccessEnabled","customThroughputMibps","encryptionType","location","name","resourceGroupName","serviceLevel","sizeInTb","id"],"type":"object"}},"azure:netapp/getSnapshot:getSnapshot":{"description":"Uses this data source to access information about an existing NetApp Snapshot.\n\n## NetApp Snapshot Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst test = azure.netapp.getSnapshot({\n    resourceGroupName: \"acctestRG\",\n    name: \"acctestnetappsnapshot\",\n    accountName: \"acctestnetappaccount\",\n    poolName: \"acctestnetapppool\",\n    volumeName: \"acctestnetappvolume\",\n});\nexport const netappSnapshotId = example.id;\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\ntest = azure.netapp.get_snapshot(resource_group_name=\"acctestRG\",\n    name=\"acctestnetappsnapshot\",\n    account_name=\"acctestnetappaccount\",\n    pool_name=\"acctestnetapppool\",\n    volume_name=\"acctestnetappvolume\")\npulumi.export(\"netappSnapshotId\", example[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var test = Azure.NetApp.GetSnapshot.Invoke(new()\n    {\n        ResourceGroupName = \"acctestRG\",\n        Name = \"acctestnetappsnapshot\",\n        AccountName = \"acctestnetappaccount\",\n        PoolName = \"acctestnetapppool\",\n        VolumeName = \"acctestnetappvolume\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"netappSnapshotId\"] = example.Id,\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/netapp\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := netapp.LookupSnapshot(ctx, \u0026netapp.LookupSnapshotArgs{\n\t\t\tResourceGroupName: \"acctestRG\",\n\t\t\tName:              \"acctestnetappsnapshot\",\n\t\t\tAccountName:       \"acctestnetappaccount\",\n\t\t\tPoolName:          \"acctestnetapppool\",\n\t\t\tVolumeName:        \"acctestnetappvolume\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"netappSnapshotId\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.netapp.NetappFunctions;\nimport com.pulumi.azure.netapp.inputs.GetSnapshotArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var test = NetappFunctions.getSnapshot(GetSnapshotArgs.builder()\n            .resourceGroupName(\"acctestRG\")\n            .name(\"acctestnetappsnapshot\")\n            .accountName(\"acctestnetappaccount\")\n            .poolName(\"acctestnetapppool\")\n            .volumeName(\"acctestnetappvolume\")\n            .build());\n\n        ctx.export(\"netappSnapshotId\", example.id());\n    }\n}\n```\n```yaml\nvariables:\n  test:\n    fn::invoke:\n      function: azure:netapp:getSnapshot\n      arguments:\n        resourceGroupName: acctestRG\n        name: acctestnetappsnapshot\n        accountName: acctestnetappaccount\n        poolName: acctestnetapppool\n        volumeName: acctestnetappvolume\noutputs:\n  netappSnapshotId: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.NetApp` - 2025-06-01\n","inputs":{"description":"A collection of arguments for invoking getSnapshot.\n","properties":{"accountName":{"type":"string","description":"The name of the NetApp Account where the NetApp Pool exists.\n"},"name":{"type":"string","description":"The name of the NetApp Snapshot.\n"},"poolName":{"type":"string","description":"The name of the NetApp Pool where the NetApp Volume exists.\n"},"resourceGroupName":{"type":"string","description":"The Name of the Resource Group where the NetApp Snapshot exists.\n"},"volumeName":{"type":"string","description":"The name of the NetApp Volume where the NetApp Snapshot exists.\n"}},"type":"object","required":["accountName","name","poolName","resourceGroupName","volumeName"]},"outputs":{"description":"A collection of values returned by getSnapshot.\n","properties":{"accountName":{"type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"location":{"description":"The Azure Region where the NetApp Snapshot exists.\n","type":"string"},"name":{"type":"string"},"poolName":{"type":"string"},"resourceGroupName":{"type":"string"},"volumeName":{"type":"string"}},"required":["accountName","location","name","poolName","resourceGroupName","volumeName","id"],"type":"object"}},"azure:netapp/getSnapshotPolicy:getSnapshotPolicy":{"description":"Uses this data source to access information about an existing NetApp Snapshot Policy.\n\n## NetApp Snapshot Policy Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.netapp.getSnapshotPolicy({\n    resourceGroupName: \"acctestRG\",\n    accountName: \"acctestnetappaccount\",\n    name: \"example-snapshot-policy\",\n});\nexport const id = example.then(example =\u003e example.id);\nexport const name = example.then(example =\u003e example.name);\nexport const enabled = example.then(example =\u003e example.enabled);\nexport const hourlySchedule = example.then(example =\u003e example.hourlySchedules);\nexport const dailySchedule = example.then(example =\u003e example.dailySchedules);\nexport const weeklySchedule = example.then(example =\u003e example.weeklySchedules);\nexport const monthlySchedule = example.then(example =\u003e example.monthlySchedules);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.netapp.get_snapshot_policy(resource_group_name=\"acctestRG\",\n    account_name=\"acctestnetappaccount\",\n    name=\"example-snapshot-policy\")\npulumi.export(\"id\", example.id)\npulumi.export(\"name\", example.name)\npulumi.export(\"enabled\", example.enabled)\npulumi.export(\"hourlySchedule\", example.hourly_schedules)\npulumi.export(\"dailySchedule\", example.daily_schedules)\npulumi.export(\"weeklySchedule\", example.weekly_schedules)\npulumi.export(\"monthlySchedule\", example.monthly_schedules)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.NetApp.GetSnapshotPolicy.Invoke(new()\n    {\n        ResourceGroupName = \"acctestRG\",\n        AccountName = \"acctestnetappaccount\",\n        Name = \"example-snapshot-policy\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"id\"] = example.Apply(getSnapshotPolicyResult =\u003e getSnapshotPolicyResult.Id),\n        [\"name\"] = example.Apply(getSnapshotPolicyResult =\u003e getSnapshotPolicyResult.Name),\n        [\"enabled\"] = example.Apply(getSnapshotPolicyResult =\u003e getSnapshotPolicyResult.Enabled),\n        [\"hourlySchedule\"] = example.Apply(getSnapshotPolicyResult =\u003e getSnapshotPolicyResult.HourlySchedules),\n        [\"dailySchedule\"] = example.Apply(getSnapshotPolicyResult =\u003e getSnapshotPolicyResult.DailySchedules),\n        [\"weeklySchedule\"] = example.Apply(getSnapshotPolicyResult =\u003e getSnapshotPolicyResult.WeeklySchedules),\n        [\"monthlySchedule\"] = example.Apply(getSnapshotPolicyResult =\u003e getSnapshotPolicyResult.MonthlySchedules),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/netapp\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := netapp.LookupSnapshotPolicy(ctx, \u0026netapp.LookupSnapshotPolicyArgs{\n\t\t\tResourceGroupName: \"acctestRG\",\n\t\t\tAccountName:       \"acctestnetappaccount\",\n\t\t\tName:              \"example-snapshot-policy\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"id\", example.Id)\n\t\tctx.Export(\"name\", example.Name)\n\t\tctx.Export(\"enabled\", example.Enabled)\n\t\tctx.Export(\"hourlySchedule\", example.HourlySchedules)\n\t\tctx.Export(\"dailySchedule\", example.DailySchedules)\n\t\tctx.Export(\"weeklySchedule\", example.WeeklySchedules)\n\t\tctx.Export(\"monthlySchedule\", example.MonthlySchedules)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.netapp.NetappFunctions;\nimport com.pulumi.azure.netapp.inputs.GetSnapshotPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = NetappFunctions.getSnapshotPolicy(GetSnapshotPolicyArgs.builder()\n            .resourceGroupName(\"acctestRG\")\n            .accountName(\"acctestnetappaccount\")\n            .name(\"example-snapshot-policy\")\n            .build());\n\n        ctx.export(\"id\", example.id());\n        ctx.export(\"name\", example.name());\n        ctx.export(\"enabled\", example.enabled());\n        ctx.export(\"hourlySchedule\", example.hourlySchedules());\n        ctx.export(\"dailySchedule\", example.dailySchedules());\n        ctx.export(\"weeklySchedule\", example.weeklySchedules());\n        ctx.export(\"monthlySchedule\", example.monthlySchedules());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:netapp:getSnapshotPolicy\n      arguments:\n        resourceGroupName: acctestRG\n        accountName: acctestnetappaccount\n        name: example-snapshot-policy\noutputs:\n  id: ${example.id}\n  name: ${example.name}\n  enabled: ${example.enabled}\n  hourlySchedule: ${example.hourlySchedules}\n  dailySchedule: ${example.dailySchedules}\n  weeklySchedule: ${example.weeklySchedules}\n  monthlySchedule: ${example.monthlySchedules}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.NetApp` - 2025-06-01\n","inputs":{"description":"A collection of arguments for invoking getSnapshotPolicy.\n","properties":{"accountName":{"type":"string","description":"The name of the NetApp account where the NetApp Snapshot Policy exists.\n"},"name":{"type":"string","description":"The name of the NetApp Snapshot Policy.\n"},"resourceGroupName":{"type":"string","description":"The Name of the Resource Group where the NetApp Snapshot Policy exists.\n"}},"type":"object","required":["accountName","name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getSnapshotPolicy.\n","properties":{"accountName":{"description":"The name of the NetApp Account in which the NetApp Snapshot Policy was created.\n","type":"string"},"dailySchedules":{"description":"Daily snapshot schedule.\n","items":{"$ref":"#/types/azure:netapp/getSnapshotPolicyDailySchedule:getSnapshotPolicyDailySchedule"},"type":"array"},"enabled":{"description":"Defines that the NetApp Snapshot Policy is enabled or not.\n","type":"boolean"},"hourlySchedules":{"description":"Hourly snapshot schedule.\n","items":{"$ref":"#/types/azure:netapp/getSnapshotPolicyHourlySchedule:getSnapshotPolicyHourlySchedule"},"type":"array"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"location":{"description":"Specifies the supported Azure location where the resource exists.\n","type":"string"},"monthlySchedules":{"description":"List of the days of the month when the snapshots will be created.\n","items":{"$ref":"#/types/azure:netapp/getSnapshotPolicyMonthlySchedule:getSnapshotPolicyMonthlySchedule"},"type":"array"},"name":{"description":"The name of the NetApp Snapshot Policy.\n","type":"string"},"resourceGroupName":{"description":"The name of the resource group where the NetApp Snapshot Policy should be created.\n","type":"string"},"tags":{"additionalProperties":{"type":"string"},"type":"object"},"weeklySchedules":{"description":"Weekly snapshot schedule.\n","items":{"$ref":"#/types/azure:netapp/getSnapshotPolicyWeeklySchedule:getSnapshotPolicyWeeklySchedule"},"type":"array"}},"required":["accountName","dailySchedules","enabled","hourlySchedules","location","monthlySchedules","name","resourceGroupName","tags","weeklySchedules","id"],"type":"object"}},"azure:netapp/getVolume:getVolume":{"description":"Uses this data source to access information about an existing NetApp Volume.\n\n## NetApp Volume Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.netapp.getVolume({\n    resourceGroupName: \"acctestRG\",\n    accountName: \"acctestnetappaccount\",\n    poolName: \"acctestnetapppool\",\n    name: \"example-volume\",\n});\nexport const netappVolumeId = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.netapp.get_volume(resource_group_name=\"acctestRG\",\n    account_name=\"acctestnetappaccount\",\n    pool_name=\"acctestnetapppool\",\n    name=\"example-volume\")\npulumi.export(\"netappVolumeId\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.NetApp.GetVolume.Invoke(new()\n    {\n        ResourceGroupName = \"acctestRG\",\n        AccountName = \"acctestnetappaccount\",\n        PoolName = \"acctestnetapppool\",\n        Name = \"example-volume\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"netappVolumeId\"] = example.Apply(getVolumeResult =\u003e getVolumeResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/netapp\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := netapp.LookupVolume(ctx, \u0026netapp.LookupVolumeArgs{\n\t\t\tResourceGroupName: \"acctestRG\",\n\t\t\tAccountName:       \"acctestnetappaccount\",\n\t\t\tPoolName:          \"acctestnetapppool\",\n\t\t\tName:              \"example-volume\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"netappVolumeId\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.netapp.NetappFunctions;\nimport com.pulumi.azure.netapp.inputs.GetVolumeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = NetappFunctions.getVolume(GetVolumeArgs.builder()\n            .resourceGroupName(\"acctestRG\")\n            .accountName(\"acctestnetappaccount\")\n            .poolName(\"acctestnetapppool\")\n            .name(\"example-volume\")\n            .build());\n\n        ctx.export(\"netappVolumeId\", example.id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:netapp:getVolume\n      arguments:\n        resourceGroupName: acctestRG\n        accountName: acctestnetappaccount\n        poolName: acctestnetapppool\n        name: example-volume\noutputs:\n  netappVolumeId: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.NetApp` - 2025-06-01\n","inputs":{"description":"A collection of arguments for invoking getVolume.\n","properties":{"accountName":{"type":"string","description":"The name of the NetApp account where the NetApp pool exists.\n"},"name":{"type":"string","description":"The name of the NetApp Volume.\n"},"poolName":{"type":"string","description":"The name of the NetApp pool where the NetApp volume exists.\n"},"resourceGroupName":{"type":"string","description":"The Name of the Resource Group where the NetApp Volume exists.\n"},"securityStyle":{"type":"string","description":"Volume security style\n"}},"type":"object","required":["accountName","name","poolName","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getVolume.\n","properties":{"acceptGrowCapacityPoolForShortTermCloneSplit":{"description":"The accept grow capacity pool for short term clone split property.\n","type":"string"},"accountName":{"type":"string"},"dataProtectionBackupPolicies":{"description":"A data protecion backup policy block\n","items":{"$ref":"#/types/azure:netapp/getVolumeDataProtectionBackupPolicy:getVolumeDataProtectionBackupPolicy"},"type":"array"},"dataProtectionReplications":{"description":"Volume data protection replication block\n","items":{"$ref":"#/types/azure:netapp/getVolumeDataProtectionReplication:getVolumeDataProtectionReplication"},"type":"array"},"encryptionKeySource":{"type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"keyVaultPrivateEndpointId":{"type":"string"},"largeVolumeEnabled":{"description":"Indicates if the volume is a large volume.\n","type":"boolean"},"location":{"description":"The Azure Region where the NetApp Volume exists.\n","type":"string"},"mountIpAddresses":{"description":"A list of IPv4 Addresses which should be used to mount the volume.\n","items":{"type":"string"},"type":"array"},"name":{"type":"string"},"networkFeatures":{"description":"Network features in use `Basic` or `Standard`.\n","type":"string"},"poolName":{"type":"string"},"protocols":{"description":"A list of protocol types enabled on volume.\n","items":{"type":"string"},"type":"array"},"resourceGroupName":{"type":"string"},"securityStyle":{"description":"Volume security style\n","type":"string"},"serviceLevel":{"description":"The service level of the file system.\n","type":"string"},"smbAccessBasedEnumerationEnabled":{"description":"Limits enumeration of files and folders (that is, listing the contents) in SMB only to users with allowed access on the share.\n","type":"boolean"},"smbNonBrowsableEnabled":{"description":"Limits clients from browsing for an SMB share.\n","type":"boolean"},"storageQuotaInGb":{"description":"The maximum Storage Quota in Gigabytes allowed for a file system.\n","type":"integer"},"subnetId":{"description":"The ID of a Subnet in which the NetApp Volume resides.\n","type":"string"},"volumePath":{"description":"The unique file path of the volume.\n","type":"string"},"zone":{"description":"The Availability Zone in which the Volume is located.\n","type":"string"}},"required":["acceptGrowCapacityPoolForShortTermCloneSplit","accountName","dataProtectionBackupPolicies","dataProtectionReplications","encryptionKeySource","keyVaultPrivateEndpointId","largeVolumeEnabled","location","mountIpAddresses","name","networkFeatures","poolName","protocols","resourceGroupName","serviceLevel","smbAccessBasedEnumerationEnabled","smbNonBrowsableEnabled","storageQuotaInGb","subnetId","volumePath","zone","id"],"type":"object"}},"azure:netapp/getVolumeGroupOracle:getVolumeGroupOracle":{"description":"Use this data source to access information about an existing Application Volume Group for Oracle application.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.netapp.getVolumeGroupOracle({\n    name: \"existing application volume group name\",\n    resourceGroupName: \"resource group name where the account and volume group belong to\",\n    accountName: \"existing account where the application volume group belong to\",\n});\nexport const id = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.netapp.get_volume_group_oracle(name=\"existing application volume group name\",\n    resource_group_name=\"resource group name where the account and volume group belong to\",\n    account_name=\"existing account where the application volume group belong to\")\npulumi.export(\"id\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.NetApp.GetVolumeGroupOracle.Invoke(new()\n    {\n        Name = \"existing application volume group name\",\n        ResourceGroupName = \"resource group name where the account and volume group belong to\",\n        AccountName = \"existing account where the application volume group belong to\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"id\"] = example.Apply(getVolumeGroupOracleResult =\u003e getVolumeGroupOracleResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/netapp\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := netapp.LookupVolumeGroupOracle(ctx, \u0026netapp.LookupVolumeGroupOracleArgs{\n\t\t\tName:              \"existing application volume group name\",\n\t\t\tResourceGroupName: \"resource group name where the account and volume group belong to\",\n\t\t\tAccountName:       \"existing account where the application volume group belong to\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"id\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.netapp.NetappFunctions;\nimport com.pulumi.azure.netapp.inputs.GetVolumeGroupOracleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = NetappFunctions.getVolumeGroupOracle(GetVolumeGroupOracleArgs.builder()\n            .name(\"existing application volume group name\")\n            .resourceGroupName(\"resource group name where the account and volume group belong to\")\n            .accountName(\"existing account where the application volume group belong to\")\n            .build());\n\n        ctx.export(\"id\", example.id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:netapp:getVolumeGroupOracle\n      arguments:\n        name: existing application volume group name\n        resourceGroupName: resource group name where the account and volume group belong to\n        accountName: existing account where the application volume group belong to\noutputs:\n  id: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.NetApp` - 2025-06-01\n","inputs":{"description":"A collection of arguments for invoking getVolumeGroupOracle.\n","properties":{"accountName":{"type":"string","description":"Name of the account where the application volume group belong to.\n"},"name":{"type":"string","description":"The name of this Application Volume Group for Oracle application.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Application Volume Group exists.\n","willReplaceOnChanges":true}},"type":"object","required":["accountName","name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getVolumeGroupOracle.\n","properties":{"accountName":{"type":"string"},"applicationIdentifier":{"description":"The application identifier.\n","type":"string"},"groupDescription":{"description":"Volume group description.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"location":{"description":"The Azure Region where the Application Volume Group exists.\n","type":"string"},"name":{"description":"The name of this volume.\n","type":"string"},"resourceGroupName":{"type":"string"},"volumes":{"description":"A \u003cspan pulumi-lang-nodejs=\"`volume`\" pulumi-lang-dotnet=\"`Volume`\" pulumi-lang-go=\"`volume`\" pulumi-lang-python=\"`volume`\" pulumi-lang-yaml=\"`volume`\" pulumi-lang-java=\"`volume`\"\u003e`volume`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:netapp/getVolumeGroupOracleVolume:getVolumeGroupOracleVolume"},"type":"array"}},"required":["accountName","applicationIdentifier","groupDescription","location","name","resourceGroupName","volumes","id"],"type":"object"}},"azure:netapp/getVolumeGroupSapHana:getVolumeGroupSapHana":{"description":"Use this data source to access information about an existing Application Volume Group for SAP HANA application.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.netapp.getVolumeGroupSapHana({\n    name: \"existing application volume group name\",\n    resourceGroupName: \"resource group name where the account and volume group belong to\",\n    accountName: \"existing account where the application volume group belong to\",\n});\nexport const id = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.netapp.get_volume_group_sap_hana(name=\"existing application volume group name\",\n    resource_group_name=\"resource group name where the account and volume group belong to\",\n    account_name=\"existing account where the application volume group belong to\")\npulumi.export(\"id\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.NetApp.GetVolumeGroupSapHana.Invoke(new()\n    {\n        Name = \"existing application volume group name\",\n        ResourceGroupName = \"resource group name where the account and volume group belong to\",\n        AccountName = \"existing account where the application volume group belong to\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"id\"] = example.Apply(getVolumeGroupSapHanaResult =\u003e getVolumeGroupSapHanaResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/netapp\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := netapp.LookupVolumeGroupSapHana(ctx, \u0026netapp.LookupVolumeGroupSapHanaArgs{\n\t\t\tName:              \"existing application volume group name\",\n\t\t\tResourceGroupName: \"resource group name where the account and volume group belong to\",\n\t\t\tAccountName:       \"existing account where the application volume group belong to\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"id\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.netapp.NetappFunctions;\nimport com.pulumi.azure.netapp.inputs.GetVolumeGroupSapHanaArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = NetappFunctions.getVolumeGroupSapHana(GetVolumeGroupSapHanaArgs.builder()\n            .name(\"existing application volume group name\")\n            .resourceGroupName(\"resource group name where the account and volume group belong to\")\n            .accountName(\"existing account where the application volume group belong to\")\n            .build());\n\n        ctx.export(\"id\", example.id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:netapp:getVolumeGroupSapHana\n      arguments:\n        name: existing application volume group name\n        resourceGroupName: resource group name where the account and volume group belong to\n        accountName: existing account where the application volume group belong to\noutputs:\n  id: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.NetApp` - 2025-06-01\n","inputs":{"description":"A collection of arguments for invoking getVolumeGroupSapHana.\n","properties":{"accountName":{"type":"string","description":"Name of the account where the application volume group belong to.\n"},"name":{"type":"string","description":"The name of this Application Volume Group for SAP HANA application.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Application Volume Group exists.\n","willReplaceOnChanges":true}},"type":"object","required":["accountName","name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getVolumeGroupSapHana.\n","properties":{"accountName":{"type":"string"},"applicationIdentifier":{"description":"The application identifier.\n","type":"string"},"groupDescription":{"description":"Volume group description.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"location":{"description":"The Azure Region where the Application Volume Group exists.\n","type":"string"},"name":{"description":"The name of this volume.\n","type":"string"},"resourceGroupName":{"type":"string"},"volumes":{"description":"A \u003cspan pulumi-lang-nodejs=\"`volume`\" pulumi-lang-dotnet=\"`Volume`\" pulumi-lang-go=\"`volume`\" pulumi-lang-python=\"`volume`\" pulumi-lang-yaml=\"`volume`\" pulumi-lang-java=\"`volume`\"\u003e`volume`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:netapp/getVolumeGroupSapHanaVolume:getVolumeGroupSapHanaVolume"},"type":"array"}},"required":["accountName","applicationIdentifier","groupDescription","location","name","resourceGroupName","volumes","id"],"type":"object"}},"azure:netapp/getVolumeQuotaRule:getVolumeQuotaRule":{"description":"Use this data source to access information about an existing Volume Quota Rule.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.netapp.getVolumeQuotaRule({\n    name: \"exampleQuotaRule\",\n    volumeId: \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/vol1\",\n});\nexport const id = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.netapp.get_volume_quota_rule(name=\"exampleQuotaRule\",\n    volume_id=\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/vol1\")\npulumi.export(\"id\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.NetApp.GetVolumeQuotaRule.Invoke(new()\n    {\n        Name = \"exampleQuotaRule\",\n        VolumeId = \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/vol1\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"id\"] = example.Apply(getVolumeQuotaRuleResult =\u003e getVolumeQuotaRuleResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/netapp\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := netapp.LookupVolumeQuotaRule(ctx, \u0026netapp.LookupVolumeQuotaRuleArgs{\n\t\t\tName:     \"exampleQuotaRule\",\n\t\t\tVolumeId: \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/vol1\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"id\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.netapp.NetappFunctions;\nimport com.pulumi.azure.netapp.inputs.GetVolumeQuotaRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = NetappFunctions.getVolumeQuotaRule(GetVolumeQuotaRuleArgs.builder()\n            .name(\"exampleQuotaRule\")\n            .volumeId(\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/vol1\")\n            .build());\n\n        ctx.export(\"id\", example.id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:netapp:getVolumeQuotaRule\n      arguments:\n        name: exampleQuotaRule\n        volumeId: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/vol1\noutputs:\n  id: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.NetApp` - 2025-06-01\n","inputs":{"description":"A collection of arguments for invoking getVolumeQuotaRule.\n","properties":{"name":{"type":"string","description":"The name of this Volume Quota Rule.\n"},"volumeId":{"type":"string","description":"The NetApp volume ID where the Volume Quota Rule is assigned to.\n","willReplaceOnChanges":true}},"type":"object","required":["name","volumeId"]},"outputs":{"description":"A collection of values returned by getVolumeQuotaRule.\n","properties":{"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"location":{"description":"The Azure Region where the Volume Quota Rule exists.\n","type":"string"},"name":{"type":"string"},"quotaSizeInKib":{"description":"The quota size in kibibytes.\n","type":"integer"},"quotaTarget":{"description":"The quota Target.\n","type":"string"},"quotaType":{"description":"The quota type.\n","type":"string"},"volumeId":{"type":"string"}},"required":["location","name","quotaSizeInKib","quotaTarget","quotaType","volumeId","id"],"type":"object"}},"azure:network/getApplicationGateway:getApplicationGateway":{"description":"Use this data source to access information about an existing Application Gateway.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.network.getApplicationGateway({\n    name: \"existing-app-gateway\",\n    resourceGroupName: \"existing-resources\",\n});\nexport const id = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.network.get_application_gateway(name=\"existing-app-gateway\",\n    resource_group_name=\"existing-resources\")\npulumi.export(\"id\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Network.GetApplicationGateway.Invoke(new()\n    {\n        Name = \"existing-app-gateway\",\n        ResourceGroupName = \"existing-resources\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"id\"] = example.Apply(getApplicationGatewayResult =\u003e getApplicationGatewayResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := network.LookupApplicationGateway(ctx, \u0026network.LookupApplicationGatewayArgs{\n\t\t\tName:              \"existing-app-gateway\",\n\t\t\tResourceGroupName: \"existing-resources\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"id\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.network.NetworkFunctions;\nimport com.pulumi.azure.network.inputs.GetApplicationGatewayArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = NetworkFunctions.getApplicationGateway(GetApplicationGatewayArgs.builder()\n            .name(\"existing-app-gateway\")\n            .resourceGroupName(\"existing-resources\")\n            .build());\n\n        ctx.export(\"id\", example.id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:network:getApplicationGateway\n      arguments:\n        name: existing-app-gateway\n        resourceGroupName: existing-resources\noutputs:\n  id: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2025-01-01\n","inputs":{"description":"A collection of arguments for invoking getApplicationGateway.\n","properties":{"name":{"type":"string","description":"The name of this Application Gateway.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Application Gateway exists.\n"}},"type":"object","required":["name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getApplicationGateway.\n","properties":{"authenticationCertificates":{"description":"One or more \u003cspan pulumi-lang-nodejs=\"`authenticationCertificate`\" pulumi-lang-dotnet=\"`AuthenticationCertificate`\" pulumi-lang-go=\"`authenticationCertificate`\" pulumi-lang-python=\"`authentication_certificate`\" pulumi-lang-yaml=\"`authenticationCertificate`\" pulumi-lang-java=\"`authenticationCertificate`\"\u003e`authentication_certificate`\u003c/span\u003e blocks as defined below.\n","items":{"$ref":"#/types/azure:network/getApplicationGatewayAuthenticationCertificate:getApplicationGatewayAuthenticationCertificate"},"type":"array"},"autoscaleConfigurations":{"description":"An \u003cspan pulumi-lang-nodejs=\"`autoscaleConfiguration`\" pulumi-lang-dotnet=\"`AutoscaleConfiguration`\" pulumi-lang-go=\"`autoscaleConfiguration`\" pulumi-lang-python=\"`autoscale_configuration`\" pulumi-lang-yaml=\"`autoscaleConfiguration`\" pulumi-lang-java=\"`autoscaleConfiguration`\"\u003e`autoscale_configuration`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:network/getApplicationGatewayAutoscaleConfiguration:getApplicationGatewayAutoscaleConfiguration"},"type":"array"},"backendAddressPools":{"description":"One or more \u003cspan pulumi-lang-nodejs=\"`backendAddressPool`\" pulumi-lang-dotnet=\"`BackendAddressPool`\" pulumi-lang-go=\"`backendAddressPool`\" pulumi-lang-python=\"`backend_address_pool`\" pulumi-lang-yaml=\"`backendAddressPool`\" pulumi-lang-java=\"`backendAddressPool`\"\u003e`backend_address_pool`\u003c/span\u003e blocks as defined below.\n","items":{"$ref":"#/types/azure:network/getApplicationGatewayBackendAddressPool:getApplicationGatewayBackendAddressPool"},"type":"array"},"backendHttpSettings":{"description":"One or more \u003cspan pulumi-lang-nodejs=\"`backendHttpSettings`\" pulumi-lang-dotnet=\"`BackendHttpSettings`\" pulumi-lang-go=\"`backendHttpSettings`\" pulumi-lang-python=\"`backend_http_settings`\" pulumi-lang-yaml=\"`backendHttpSettings`\" pulumi-lang-java=\"`backendHttpSettings`\"\u003e`backend_http_settings`\u003c/span\u003e blocks as defined below.\n","items":{"$ref":"#/types/azure:network/getApplicationGatewayBackendHttpSetting:getApplicationGatewayBackendHttpSetting"},"type":"array"},"customErrorConfigurations":{"description":"One or more \u003cspan pulumi-lang-nodejs=\"`customErrorConfiguration`\" pulumi-lang-dotnet=\"`CustomErrorConfiguration`\" pulumi-lang-go=\"`customErrorConfiguration`\" pulumi-lang-python=\"`custom_error_configuration`\" pulumi-lang-yaml=\"`customErrorConfiguration`\" pulumi-lang-java=\"`customErrorConfiguration`\"\u003e`custom_error_configuration`\u003c/span\u003e blocks as defined below.\n","items":{"$ref":"#/types/azure:network/getApplicationGatewayCustomErrorConfiguration:getApplicationGatewayCustomErrorConfiguration"},"type":"array"},"fipsEnabled":{"description":"Is FIPS enabled on the Application Gateway?\n","type":"boolean"},"firewallPolicyId":{"description":"The ID of the Web Application Firewall Policy which is used as an HTTP Listener for this Path Rule.\n","type":"string"},"forceFirewallPolicyAssociation":{"description":"Is the Firewall Policy associated with the Application Gateway?\n","type":"boolean"},"frontendIpConfigurations":{"description":"One or more \u003cspan pulumi-lang-nodejs=\"`frontendIpConfiguration`\" pulumi-lang-dotnet=\"`FrontendIpConfiguration`\" pulumi-lang-go=\"`frontendIpConfiguration`\" pulumi-lang-python=\"`frontend_ip_configuration`\" pulumi-lang-yaml=\"`frontendIpConfiguration`\" pulumi-lang-java=\"`frontendIpConfiguration`\"\u003e`frontend_ip_configuration`\u003c/span\u003e blocks as defined below.\n","items":{"$ref":"#/types/azure:network/getApplicationGatewayFrontendIpConfiguration:getApplicationGatewayFrontendIpConfiguration"},"type":"array"},"frontendPorts":{"description":"One or more \u003cspan pulumi-lang-nodejs=\"`frontendPort`\" pulumi-lang-dotnet=\"`FrontendPort`\" pulumi-lang-go=\"`frontendPort`\" pulumi-lang-python=\"`frontend_port`\" pulumi-lang-yaml=\"`frontendPort`\" pulumi-lang-java=\"`frontendPort`\"\u003e`frontend_port`\u003c/span\u003e blocks as defined below.\n","items":{"$ref":"#/types/azure:network/getApplicationGatewayFrontendPort:getApplicationGatewayFrontendPort"},"type":"array"},"gatewayIpConfigurations":{"description":"One or more \u003cspan pulumi-lang-nodejs=\"`gatewayIpConfiguration`\" pulumi-lang-dotnet=\"`GatewayIpConfiguration`\" pulumi-lang-go=\"`gatewayIpConfiguration`\" pulumi-lang-python=\"`gateway_ip_configuration`\" pulumi-lang-yaml=\"`gatewayIpConfiguration`\" pulumi-lang-java=\"`gatewayIpConfiguration`\"\u003e`gateway_ip_configuration`\u003c/span\u003e blocks as defined below.\n","items":{"$ref":"#/types/azure:network/getApplicationGatewayGatewayIpConfiguration:getApplicationGatewayGatewayIpConfiguration"},"type":"array"},"globals":{"description":"A \u003cspan pulumi-lang-nodejs=\"`global`\" pulumi-lang-dotnet=\"`Global`\" pulumi-lang-go=\"`global`\" pulumi-lang-python=\"`global`\" pulumi-lang-yaml=\"`global`\" pulumi-lang-java=\"`global`\"\u003e`global`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:network/getApplicationGatewayGlobal:getApplicationGatewayGlobal"},"type":"array"},"http2Enabled":{"description":"Is HTTP2 enabled on the application gateway resource?\n","type":"boolean"},"httpListeners":{"description":"One or more \u003cspan pulumi-lang-nodejs=\"`httpListener`\" pulumi-lang-dotnet=\"`HttpListener`\" pulumi-lang-go=\"`httpListener`\" pulumi-lang-python=\"`http_listener`\" pulumi-lang-yaml=\"`httpListener`\" pulumi-lang-java=\"`httpListener`\"\u003e`http_listener`\u003c/span\u003e blocks as defined below.\n","items":{"$ref":"#/types/azure:network/getApplicationGatewayHttpListener:getApplicationGatewayHttpListener"},"type":"array"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"identities":{"description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:network/getApplicationGatewayIdentity:getApplicationGatewayIdentity"},"type":"array"},"location":{"description":"The Azure region where the Application Gateway exists.\n","type":"string"},"name":{"description":"Unique name of the Rewrite Rule\n","type":"string"},"privateEndpointConnections":{"items":{"$ref":"#/types/azure:network/getApplicationGatewayPrivateEndpointConnection:getApplicationGatewayPrivateEndpointConnection"},"type":"array"},"privateLinkConfigurations":{"description":"One or more \u003cspan pulumi-lang-nodejs=\"`privateLinkConfiguration`\" pulumi-lang-dotnet=\"`PrivateLinkConfiguration`\" pulumi-lang-go=\"`privateLinkConfiguration`\" pulumi-lang-python=\"`private_link_configuration`\" pulumi-lang-yaml=\"`privateLinkConfiguration`\" pulumi-lang-java=\"`privateLinkConfiguration`\"\u003e`private_link_configuration`\u003c/span\u003e blocks as defined below.\n","items":{"$ref":"#/types/azure:network/getApplicationGatewayPrivateLinkConfiguration:getApplicationGatewayPrivateLinkConfiguration"},"type":"array"},"probes":{"description":"One or more \u003cspan pulumi-lang-nodejs=\"`probe`\" pulumi-lang-dotnet=\"`Probe`\" pulumi-lang-go=\"`probe`\" pulumi-lang-python=\"`probe`\" pulumi-lang-yaml=\"`probe`\" pulumi-lang-java=\"`probe`\"\u003e`probe`\u003c/span\u003e blocks as defined below.\n","items":{"$ref":"#/types/azure:network/getApplicationGatewayProbe:getApplicationGatewayProbe"},"type":"array"},"redirectConfigurations":{"description":"One or more \u003cspan pulumi-lang-nodejs=\"`redirectConfiguration`\" pulumi-lang-dotnet=\"`RedirectConfiguration`\" pulumi-lang-go=\"`redirectConfiguration`\" pulumi-lang-python=\"`redirect_configuration`\" pulumi-lang-yaml=\"`redirectConfiguration`\" pulumi-lang-java=\"`redirectConfiguration`\"\u003e`redirect_configuration`\u003c/span\u003e blocks as defined below.\n","items":{"$ref":"#/types/azure:network/getApplicationGatewayRedirectConfiguration:getApplicationGatewayRedirectConfiguration"},"type":"array"},"requestRoutingRules":{"description":"One or more \u003cspan pulumi-lang-nodejs=\"`requestRoutingRule`\" pulumi-lang-dotnet=\"`RequestRoutingRule`\" pulumi-lang-go=\"`requestRoutingRule`\" pulumi-lang-python=\"`request_routing_rule`\" pulumi-lang-yaml=\"`requestRoutingRule`\" pulumi-lang-java=\"`requestRoutingRule`\"\u003e`request_routing_rule`\u003c/span\u003e blocks as defined below.\n","items":{"$ref":"#/types/azure:network/getApplicationGatewayRequestRoutingRule:getApplicationGatewayRequestRoutingRule"},"type":"array"},"resourceGroupName":{"type":"string"},"rewriteRuleSets":{"description":"One or more \u003cspan pulumi-lang-nodejs=\"`rewriteRuleSet`\" pulumi-lang-dotnet=\"`RewriteRuleSet`\" pulumi-lang-go=\"`rewriteRuleSet`\" pulumi-lang-python=\"`rewrite_rule_set`\" pulumi-lang-yaml=\"`rewriteRuleSet`\" pulumi-lang-java=\"`rewriteRuleSet`\"\u003e`rewrite_rule_set`\u003c/span\u003e blocks as defined below.\n","items":{"$ref":"#/types/azure:network/getApplicationGatewayRewriteRuleSet:getApplicationGatewayRewriteRuleSet"},"type":"array"},"skus":{"description":"A \u003cspan pulumi-lang-nodejs=\"`sku`\" pulumi-lang-dotnet=\"`Sku`\" pulumi-lang-go=\"`sku`\" pulumi-lang-python=\"`sku`\" pulumi-lang-yaml=\"`sku`\" pulumi-lang-java=\"`sku`\"\u003e`sku`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:network/getApplicationGatewaySkus:getApplicationGatewaySkus"},"type":"array"},"sslCertificates":{"description":"One or more \u003cspan pulumi-lang-nodejs=\"`sslCertificate`\" pulumi-lang-dotnet=\"`SslCertificate`\" pulumi-lang-go=\"`sslCertificate`\" pulumi-lang-python=\"`ssl_certificate`\" pulumi-lang-yaml=\"`sslCertificate`\" pulumi-lang-java=\"`sslCertificate`\"\u003e`ssl_certificate`\u003c/span\u003e blocks as defined below.\n","items":{"$ref":"#/types/azure:network/getApplicationGatewaySslCertificate:getApplicationGatewaySslCertificate"},"type":"array"},"sslPolicies":{"description":"a \u003cspan pulumi-lang-nodejs=\"`sslPolicy`\" pulumi-lang-dotnet=\"`SslPolicy`\" pulumi-lang-go=\"`sslPolicy`\" pulumi-lang-python=\"`ssl_policy`\" pulumi-lang-yaml=\"`sslPolicy`\" pulumi-lang-java=\"`sslPolicy`\"\u003e`ssl_policy`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:network/getApplicationGatewaySslPolicy:getApplicationGatewaySslPolicy"},"type":"array"},"sslProfiles":{"description":"One or more \u003cspan pulumi-lang-nodejs=\"`sslProfile`\" pulumi-lang-dotnet=\"`SslProfile`\" pulumi-lang-go=\"`sslProfile`\" pulumi-lang-python=\"`ssl_profile`\" pulumi-lang-yaml=\"`sslProfile`\" pulumi-lang-java=\"`sslProfile`\"\u003e`ssl_profile`\u003c/span\u003e blocks as defined below.\n","items":{"$ref":"#/types/azure:network/getApplicationGatewaySslProfile:getApplicationGatewaySslProfile"},"type":"array"},"tags":{"additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n","type":"object"},"trustedClientCertificates":{"description":"One or more \u003cspan pulumi-lang-nodejs=\"`trustedClientCertificate`\" pulumi-lang-dotnet=\"`TrustedClientCertificate`\" pulumi-lang-go=\"`trustedClientCertificate`\" pulumi-lang-python=\"`trusted_client_certificate`\" pulumi-lang-yaml=\"`trustedClientCertificate`\" pulumi-lang-java=\"`trustedClientCertificate`\"\u003e`trusted_client_certificate`\u003c/span\u003e blocks as defined below.\n","items":{"$ref":"#/types/azure:network/getApplicationGatewayTrustedClientCertificate:getApplicationGatewayTrustedClientCertificate"},"type":"array"},"trustedRootCertificates":{"description":"One or more \u003cspan pulumi-lang-nodejs=\"`trustedRootCertificate`\" pulumi-lang-dotnet=\"`TrustedRootCertificate`\" pulumi-lang-go=\"`trustedRootCertificate`\" pulumi-lang-python=\"`trusted_root_certificate`\" pulumi-lang-yaml=\"`trustedRootCertificate`\" pulumi-lang-java=\"`trustedRootCertificate`\"\u003e`trusted_root_certificate`\u003c/span\u003e blocks as defined below.\n","items":{"$ref":"#/types/azure:network/getApplicationGatewayTrustedRootCertificate:getApplicationGatewayTrustedRootCertificate"},"type":"array"},"urlPathMaps":{"description":"One or more \u003cspan pulumi-lang-nodejs=\"`urlPathMap`\" pulumi-lang-dotnet=\"`UrlPathMap`\" pulumi-lang-go=\"`urlPathMap`\" pulumi-lang-python=\"`url_path_map`\" pulumi-lang-yaml=\"`urlPathMap`\" pulumi-lang-java=\"`urlPathMap`\"\u003e`url_path_map`\u003c/span\u003e blocks as defined below.\n","items":{"$ref":"#/types/azure:network/getApplicationGatewayUrlPathMap:getApplicationGatewayUrlPathMap"},"type":"array"},"wafConfigurations":{"description":"A \u003cspan pulumi-lang-nodejs=\"`wafConfiguration`\" pulumi-lang-dotnet=\"`WafConfiguration`\" pulumi-lang-go=\"`wafConfiguration`\" pulumi-lang-python=\"`waf_configuration`\" pulumi-lang-yaml=\"`wafConfiguration`\" pulumi-lang-java=\"`wafConfiguration`\"\u003e`waf_configuration`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:network/getApplicationGatewayWafConfiguration:getApplicationGatewayWafConfiguration"},"type":"array"},"zones":{"description":"The list of Availability Zones in which this Application Gateway can use.\n","items":{"type":"string"},"type":"array"}},"required":["authenticationCertificates","autoscaleConfigurations","backendAddressPools","backendHttpSettings","customErrorConfigurations","fipsEnabled","firewallPolicyId","forceFirewallPolicyAssociation","frontendIpConfigurations","frontendPorts","gatewayIpConfigurations","globals","http2Enabled","httpListeners","identities","location","name","privateEndpointConnections","privateLinkConfigurations","probes","redirectConfigurations","requestRoutingRules","resourceGroupName","rewriteRuleSets","skus","sslCertificates","sslPolicies","sslProfiles","tags","trustedClientCertificates","trustedRootCertificates","urlPathMaps","wafConfigurations","zones","id"],"type":"object"}},"azure:network/getApplicationSecurityGroup:getApplicationSecurityGroup":{"description":"Use this data source to access information about an existing Application Security Group.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.network.getApplicationSecurityGroup({\n    name: \"tf-appsecuritygroup\",\n    resourceGroupName: \"my-resource-group\",\n});\nexport const applicationSecurityGroupId = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.network.get_application_security_group(name=\"tf-appsecuritygroup\",\n    resource_group_name=\"my-resource-group\")\npulumi.export(\"applicationSecurityGroupId\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Network.GetApplicationSecurityGroup.Invoke(new()\n    {\n        Name = \"tf-appsecuritygroup\",\n        ResourceGroupName = \"my-resource-group\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"applicationSecurityGroupId\"] = example.Apply(getApplicationSecurityGroupResult =\u003e getApplicationSecurityGroupResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := network.LookupApplicationSecurityGroup(ctx, \u0026network.LookupApplicationSecurityGroupArgs{\n\t\t\tName:              \"tf-appsecuritygroup\",\n\t\t\tResourceGroupName: \"my-resource-group\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"applicationSecurityGroupId\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.network.NetworkFunctions;\nimport com.pulumi.azure.network.inputs.GetApplicationSecurityGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = NetworkFunctions.getApplicationSecurityGroup(GetApplicationSecurityGroupArgs.builder()\n            .name(\"tf-appsecuritygroup\")\n            .resourceGroupName(\"my-resource-group\")\n            .build());\n\n        ctx.export(\"applicationSecurityGroupId\", example.id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:network:getApplicationSecurityGroup\n      arguments:\n        name: tf-appsecuritygroup\n        resourceGroupName: my-resource-group\noutputs:\n  applicationSecurityGroupId: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2025-01-01\n","inputs":{"description":"A collection of arguments for invoking getApplicationSecurityGroup.\n","properties":{"name":{"type":"string","description":"The name of the Application Security Group.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the Application Security Group exists.\n"}},"type":"object","required":["name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getApplicationSecurityGroup.\n","properties":{"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"location":{"description":"The supported Azure location where the Application Security Group exists.\n","type":"string"},"name":{"type":"string"},"resourceGroupName":{"type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"A mapping of tags assigned to the resource.\n","type":"object"}},"required":["location","name","resourceGroupName","tags","id"],"type":"object"}},"azure:network/getExpressRouteCircuit:getExpressRouteCircuit":{"description":"Use this data source to access information about an existing ExpressRoute circuit.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.network.getExpressRouteCircuit({\n    resourceGroupName: exampleAzurermResourceGroup.name,\n    name: exampleAzurermExpressRouteCircuit.name,\n});\nexport const expressRouteCircuitId = example.then(example =\u003e example.id);\nexport const serviceKey = example.then(example =\u003e example.serviceKey);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.network.get_express_route_circuit(resource_group_name=example_azurerm_resource_group[\"name\"],\n    name=example_azurerm_express_route_circuit[\"name\"])\npulumi.export(\"expressRouteCircuitId\", example.id)\npulumi.export(\"serviceKey\", example.service_key)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Network.GetExpressRouteCircuit.Invoke(new()\n    {\n        ResourceGroupName = exampleAzurermResourceGroup.Name,\n        Name = exampleAzurermExpressRouteCircuit.Name,\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"expressRouteCircuitId\"] = example.Apply(getExpressRouteCircuitResult =\u003e getExpressRouteCircuitResult.Id),\n        [\"serviceKey\"] = example.Apply(getExpressRouteCircuitResult =\u003e getExpressRouteCircuitResult.ServiceKey),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := network.LookupExpressRouteCircuit(ctx, \u0026network.LookupExpressRouteCircuitArgs{\n\t\t\tResourceGroupName: exampleAzurermResourceGroup.Name,\n\t\t\tName:              exampleAzurermExpressRouteCircuit.Name,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"expressRouteCircuitId\", example.Id)\n\t\tctx.Export(\"serviceKey\", example.ServiceKey)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.network.NetworkFunctions;\nimport com.pulumi.azure.network.inputs.GetExpressRouteCircuitArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = NetworkFunctions.getExpressRouteCircuit(GetExpressRouteCircuitArgs.builder()\n            .resourceGroupName(exampleAzurermResourceGroup.name())\n            .name(exampleAzurermExpressRouteCircuit.name())\n            .build());\n\n        ctx.export(\"expressRouteCircuitId\", example.id());\n        ctx.export(\"serviceKey\", example.serviceKey());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:network:getExpressRouteCircuit\n      arguments:\n        resourceGroupName: ${exampleAzurermResourceGroup.name}\n        name: ${exampleAzurermExpressRouteCircuit.name}\noutputs:\n  expressRouteCircuitId: ${example.id}\n  serviceKey: ${example.serviceKey}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2025-01-01\n","inputs":{"description":"A collection of arguments for invoking getExpressRouteCircuit.\n","properties":{"name":{"type":"string","description":"The name of the ExpressRoute circuit.\n"},"resourceGroupName":{"type":"string","description":"The Name of the Resource Group where the ExpressRoute circuit exists.\n"}},"type":"object","required":["name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getExpressRouteCircuit.\n","properties":{"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"location":{"description":"The Azure location where the ExpressRoute circuit exists\n","type":"string"},"name":{"type":"string"},"peerings":{"description":"A \u003cspan pulumi-lang-nodejs=\"`peerings`\" pulumi-lang-dotnet=\"`Peerings`\" pulumi-lang-go=\"`peerings`\" pulumi-lang-python=\"`peerings`\" pulumi-lang-yaml=\"`peerings`\" pulumi-lang-java=\"`peerings`\"\u003e`peerings`\u003c/span\u003e block for the ExpressRoute circuit as documented below\n","items":{"$ref":"#/types/azure:network/getExpressRouteCircuitPeering:getExpressRouteCircuitPeering"},"type":"array"},"resourceGroupName":{"type":"string"},"serviceKey":{"description":"The string needed by the service provider to provision the ExpressRoute circuit.\n","type":"string"},"serviceProviderProperties":{"description":"A \u003cspan pulumi-lang-nodejs=\"`serviceProviderProperties`\" pulumi-lang-dotnet=\"`ServiceProviderProperties`\" pulumi-lang-go=\"`serviceProviderProperties`\" pulumi-lang-python=\"`service_provider_properties`\" pulumi-lang-yaml=\"`serviceProviderProperties`\" pulumi-lang-java=\"`serviceProviderProperties`\"\u003e`service_provider_properties`\u003c/span\u003e block for the ExpressRoute circuit as documented below\n","items":{"$ref":"#/types/azure:network/getExpressRouteCircuitServiceProviderProperty:getExpressRouteCircuitServiceProviderProperty"},"type":"array"},"serviceProviderProvisioningState":{"description":"The ExpressRoute circuit provisioning state from your chosen service provider. Possible values are `NotProvisioned`, `Provisioning`, `Provisioned`, and `Deprovisioning`.\n","type":"string"},"sku":{"$ref":"#/types/azure:network/getExpressRouteCircuitSku:getExpressRouteCircuitSku","description":"A \u003cspan pulumi-lang-nodejs=\"`sku`\" pulumi-lang-dotnet=\"`Sku`\" pulumi-lang-go=\"`sku`\" pulumi-lang-python=\"`sku`\" pulumi-lang-yaml=\"`sku`\" pulumi-lang-java=\"`sku`\"\u003e`sku`\u003c/span\u003e block for the ExpressRoute circuit as documented below.\n"}},"required":["location","name","peerings","resourceGroupName","serviceKey","serviceProviderProperties","serviceProviderProvisioningState","sku","id"],"type":"object"}},"azure:network/getFirewall:getFirewall":{"description":"Use this data source to access information about an existing Azure Firewall.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.network.getFirewall({\n    name: \"firewall1\",\n    resourceGroupName: \"firewall-RG\",\n});\nexport const firewallPrivateIp = example.then(example =\u003e example.ipConfigurations?.[0]?.privateIpAddress);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.network.get_firewall(name=\"firewall1\",\n    resource_group_name=\"firewall-RG\")\npulumi.export(\"firewallPrivateIp\", example.ip_configurations[0].private_ip_address)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Network.GetFirewall.Invoke(new()\n    {\n        Name = \"firewall1\",\n        ResourceGroupName = \"firewall-RG\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"firewallPrivateIp\"] = example.Apply(getFirewallResult =\u003e getFirewallResult.IpConfigurations[0]?.PrivateIpAddress),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := network.LookupFirewall(ctx, \u0026network.LookupFirewallArgs{\n\t\t\tName:              \"firewall1\",\n\t\t\tResourceGroupName: \"firewall-RG\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"firewallPrivateIp\", example.IpConfigurations[0].PrivateIpAddress)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.network.NetworkFunctions;\nimport com.pulumi.azure.network.inputs.GetFirewallArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = NetworkFunctions.getFirewall(GetFirewallArgs.builder()\n            .name(\"firewall1\")\n            .resourceGroupName(\"firewall-RG\")\n            .build());\n\n        ctx.export(\"firewallPrivateIp\", example.ipConfigurations()[0].privateIpAddress());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:network:getFirewall\n      arguments:\n        name: firewall1\n        resourceGroupName: firewall-RG\noutputs:\n  firewallPrivateIp: ${example.ipConfigurations[0].privateIpAddress}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2025-01-01\n","inputs":{"description":"A collection of arguments for invoking getFirewall.\n","properties":{"dnsProxyEnabled":{"type":"boolean","description":"Whether DNS proxy is enabled. It will forward DNS requests to the DNS servers when it is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"name":{"type":"string","description":"The name of the Azure Firewall.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group in which the Azure Firewall exists.\n"}},"type":"object","required":["name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getFirewall.\n","properties":{"dnsProxyEnabled":{"description":"Whether DNS proxy is enabled. It will forward DNS requests to the DNS servers when it is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n","type":"boolean"},"dnsServers":{"description":"The list of DNS servers that the Azure Firewall will direct DNS traffic to for name resolution.\n","items":{"type":"string"},"type":"array"},"firewallPolicyId":{"description":"The ID of the Firewall Policy applied to the Azure Firewall.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"ipConfigurations":{"description":"A \u003cspan pulumi-lang-nodejs=\"`ipConfiguration`\" pulumi-lang-dotnet=\"`IpConfiguration`\" pulumi-lang-go=\"`ipConfiguration`\" pulumi-lang-python=\"`ip_configuration`\" pulumi-lang-yaml=\"`ipConfiguration`\" pulumi-lang-java=\"`ipConfiguration`\"\u003e`ip_configuration`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:network/getFirewallIpConfiguration:getFirewallIpConfiguration"},"type":"array"},"location":{"description":"The Azure location where the Azure Firewall exists.\n","type":"string"},"managementIpConfigurations":{"description":"A \u003cspan pulumi-lang-nodejs=\"`managementIpConfiguration`\" pulumi-lang-dotnet=\"`ManagementIpConfiguration`\" pulumi-lang-go=\"`managementIpConfiguration`\" pulumi-lang-python=\"`management_ip_configuration`\" pulumi-lang-yaml=\"`managementIpConfiguration`\" pulumi-lang-java=\"`managementIpConfiguration`\"\u003e`management_ip_configuration`\u003c/span\u003e block as defined below, which allows force-tunnelling of traffic to be performed by the firewall.\n","items":{"$ref":"#/types/azure:network/getFirewallManagementIpConfiguration:getFirewallManagementIpConfiguration"},"type":"array"},"name":{"type":"string"},"resourceGroupName":{"type":"string"},"skuName":{"description":"The SKU name of the Azure Firewall.\n","type":"string"},"skuTier":{"description":"The SKU tier of the Azure Firewall.\n","type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"A mapping of tags assigned to the Azure Firewall.\n","type":"object"},"threatIntelMode":{"description":"The operation mode for threat intelligence-based filtering.\n","type":"string"},"virtualHubs":{"description":"A \u003cspan pulumi-lang-nodejs=\"`virtualHub`\" pulumi-lang-dotnet=\"`VirtualHub`\" pulumi-lang-go=\"`virtualHub`\" pulumi-lang-python=\"`virtual_hub`\" pulumi-lang-yaml=\"`virtualHub`\" pulumi-lang-java=\"`virtualHub`\"\u003e`virtual_hub`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:network/getFirewallVirtualHub:getFirewallVirtualHub"},"type":"array"},"zones":{"description":"A list of Availability Zones in which this Azure Firewall is located.\n","items":{"type":"string"},"type":"array"}},"required":["dnsProxyEnabled","dnsServers","firewallPolicyId","ipConfigurations","location","managementIpConfigurations","name","resourceGroupName","skuName","skuTier","tags","threatIntelMode","virtualHubs","zones","id"],"type":"object"}},"azure:network/getFirewallPolicy:getFirewallPolicy":{"description":"Use this data source to access information about an existing Firewall Policy.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.network.getFirewallPolicy({\n    name: \"existing\",\n    resourceGroupName: \"existing\",\n});\nexport const id = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.network.get_firewall_policy(name=\"existing\",\n    resource_group_name=\"existing\")\npulumi.export(\"id\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Network.GetFirewallPolicy.Invoke(new()\n    {\n        Name = \"existing\",\n        ResourceGroupName = \"existing\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"id\"] = example.Apply(getFirewallPolicyResult =\u003e getFirewallPolicyResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := network.LookupFirewallPolicy(ctx, \u0026network.LookupFirewallPolicyArgs{\n\t\t\tName:              \"existing\",\n\t\t\tResourceGroupName: \"existing\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"id\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.network.NetworkFunctions;\nimport com.pulumi.azure.network.inputs.GetFirewallPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = NetworkFunctions.getFirewallPolicy(GetFirewallPolicyArgs.builder()\n            .name(\"existing\")\n            .resourceGroupName(\"existing\")\n            .build());\n\n        ctx.export(\"id\", example.id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:network:getFirewallPolicy\n      arguments:\n        name: existing\n        resourceGroupName: existing\noutputs:\n  id: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2025-01-01\n","inputs":{"description":"A collection of arguments for invoking getFirewallPolicy.\n","properties":{"name":{"type":"string","description":"The name of this Firewall Policy.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Firewall Policy exists.\n"}},"type":"object","required":["name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getFirewallPolicy.\n","properties":{"basePolicyId":{"type":"string"},"childPolicies":{"items":{"type":"string"},"type":"array"},"dns":{"items":{"$ref":"#/types/azure:network/getFirewallPolicyDn:getFirewallPolicyDn"},"type":"array"},"firewalls":{"items":{"type":"string"},"type":"array"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"location":{"type":"string"},"name":{"type":"string"},"resourceGroupName":{"type":"string"},"ruleCollectionGroups":{"items":{"type":"string"},"type":"array"},"tags":{"additionalProperties":{"type":"string"},"description":"A mapping of tags assigned to the Firewall Policy.\n","type":"object"},"threatIntelligenceAllowlists":{"items":{"$ref":"#/types/azure:network/getFirewallPolicyThreatIntelligenceAllowlist:getFirewallPolicyThreatIntelligenceAllowlist"},"type":"array"},"threatIntelligenceMode":{"type":"string"}},"required":["basePolicyId","childPolicies","dns","firewalls","location","name","resourceGroupName","ruleCollectionGroups","tags","threatIntelligenceAllowlists","threatIntelligenceMode","id"],"type":"object"}},"azure:network/getGatewayConnection:getGatewayConnection":{"description":"Use this data source to access information about an existing Virtual Network Gateway Connection.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.network.getGatewayConnection({\n    name: \"production\",\n    resourceGroupName: \"networking\",\n});\nexport const virtualNetworkGatewayConnectionId = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.network.get_gateway_connection(name=\"production\",\n    resource_group_name=\"networking\")\npulumi.export(\"virtualNetworkGatewayConnectionId\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Network.GetGatewayConnection.Invoke(new()\n    {\n        Name = \"production\",\n        ResourceGroupName = \"networking\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"virtualNetworkGatewayConnectionId\"] = example.Apply(getGatewayConnectionResult =\u003e getGatewayConnectionResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := network.GetGatewayConnection(ctx, \u0026network.GetGatewayConnectionArgs{\n\t\t\tName:              \"production\",\n\t\t\tResourceGroupName: \"networking\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"virtualNetworkGatewayConnectionId\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.network.NetworkFunctions;\nimport com.pulumi.azure.network.inputs.GetGatewayConnectionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = NetworkFunctions.getGatewayConnection(GetGatewayConnectionArgs.builder()\n            .name(\"production\")\n            .resourceGroupName(\"networking\")\n            .build());\n\n        ctx.export(\"virtualNetworkGatewayConnectionId\", example.id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:network:getGatewayConnection\n      arguments:\n        name: production\n        resourceGroupName: networking\noutputs:\n  virtualNetworkGatewayConnectionId: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2025-01-01\n","inputs":{"description":"A collection of arguments for invoking getGatewayConnection.\n","properties":{"name":{"type":"string","description":"Specifies the name of the Virtual Network Gateway Connection.\n"},"resourceGroupName":{"type":"string","description":"Specifies the name of the resource group the Virtual Network Gateway Connection is located in.\n"}},"type":"object","required":["name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getGatewayConnection.\n","properties":{"authorizationKey":{"description":"The authorization key associated with the\nExpress Route Circuit. This field is present only if the type is an\nExpressRoute connection.\n","type":"string"},"connectionProtocol":{"type":"string"},"dpdTimeoutSeconds":{"description":"The dead peer detection timeout of this connection in seconds.\n","type":"integer"},"egressBytesTransferred":{"type":"integer"},"enableBgp":{"description":"If \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, BGP (Border Gateway Protocol) is enabled\nfor this connection.\n","type":"boolean"},"expressRouteCircuitId":{"description":"The ID of the Express Route Circuit\n(i.e. when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is `ExpressRoute`).\n","type":"string"},"expressRouteGatewayBypass":{"description":"If \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, data packets will bypass ExpressRoute Gateway for data forwarding. This is only valid for ExpressRoute connections.\n","type":"boolean"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"ingressBytesTransferred":{"type":"integer"},"ipsecPolicies":{"description":"(Optional) A \u003cspan pulumi-lang-nodejs=\"`ipsecPolicy`\" pulumi-lang-dotnet=\"`IpsecPolicy`\" pulumi-lang-go=\"`ipsecPolicy`\" pulumi-lang-python=\"`ipsec_policy`\" pulumi-lang-yaml=\"`ipsecPolicy`\" pulumi-lang-java=\"`ipsecPolicy`\"\u003e`ipsec_policy`\u003c/span\u003e block which is documented below.\nOnly a single policy can be defined for a connection. For details on\ncustom policies refer to [the relevant section in the Azure documentation](https://docs.microsoft.com/azure/vpn-gateway/vpn-gateway-ipsecikepolicy-rm-powershell).\n","items":{"$ref":"#/types/azure:network/getGatewayConnectionIpsecPolicy:getGatewayConnectionIpsecPolicy"},"type":"array"},"localAzureIpAddressEnabled":{"description":"Use private local Azure IP for the connection.\n","type":"boolean"},"localNetworkGatewayId":{"description":"The ID of the local network gateway\nwhen a Site-to-Site connection (i.e. when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is `IPsec`).\n","type":"string"},"location":{"description":"The location/region where the connection is\nlocated.\n","type":"string"},"name":{"type":"string"},"peerVirtualNetworkGatewayId":{"description":"The ID of the peer virtual\nnetwork gateway when a VNet-to-VNet connection (i.e. when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e\nis `Vnet2Vnet`).\n","type":"string"},"privateLinkFastPathEnabled":{"description":"If \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, data packets will bypass the Express Route gateway when accessing private-links.\nThis is only valid for ExpressRoute connections, on the conditions described in [the relevant section in the Azure documentation](https://learn.microsoft.com/en-us/azure/expressroute/expressroute-howto-linkvnet-arm#fastpath-virtual-network-peering-user-defined-routes-udrs-and-private-link-support-for-expressroute-direct-connections)\n","type":"boolean"},"resourceGroupName":{"type":"string"},"resourceGuid":{"type":"string"},"routingWeight":{"description":"The routing weight.\n","type":"integer"},"sharedKey":{"description":"The shared IPSec key.\n","type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n","type":"object"},"trafficSelectorPolicies":{"description":"One or more \u003cspan pulumi-lang-nodejs=\"`trafficSelectorPolicy`\" pulumi-lang-dotnet=\"`TrafficSelectorPolicy`\" pulumi-lang-go=\"`trafficSelectorPolicy`\" pulumi-lang-python=\"`traffic_selector_policy`\" pulumi-lang-yaml=\"`trafficSelectorPolicy`\" pulumi-lang-java=\"`trafficSelectorPolicy`\"\u003e`traffic_selector_policy`\u003c/span\u003e blocks which are documented below.\nA \u003cspan pulumi-lang-nodejs=\"`trafficSelectorPolicy`\" pulumi-lang-dotnet=\"`TrafficSelectorPolicy`\" pulumi-lang-go=\"`trafficSelectorPolicy`\" pulumi-lang-python=\"`traffic_selector_policy`\" pulumi-lang-yaml=\"`trafficSelectorPolicy`\" pulumi-lang-java=\"`trafficSelectorPolicy`\"\u003e`traffic_selector_policy`\u003c/span\u003e allows to specify a traffic selector policy proposal to be used in a virtual network gateway connection.\nFor details about traffic selectors refer to [the relevant section in the Azure documentation](https://docs.microsoft.com/azure/vpn-gateway/vpn-gateway-connect-multiple-policybased-rm-ps).\n","items":{"$ref":"#/types/azure:network/getGatewayConnectionTrafficSelectorPolicy:getGatewayConnectionTrafficSelectorPolicy"},"type":"array"},"type":{"description":"The type of connection. Valid options are `IPsec`\n(Site-to-Site), `ExpressRoute` (ExpressRoute), and `Vnet2Vnet` (VNet-to-VNet).\n","type":"string"},"usePolicyBasedTrafficSelectors":{"description":"If \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, policy-based traffic\nselectors are enabled for this connection. Enabling policy-based traffic\nselectors requires an \u003cspan pulumi-lang-nodejs=\"`ipsecPolicy`\" pulumi-lang-dotnet=\"`IpsecPolicy`\" pulumi-lang-go=\"`ipsecPolicy`\" pulumi-lang-python=\"`ipsec_policy`\" pulumi-lang-yaml=\"`ipsecPolicy`\" pulumi-lang-java=\"`ipsecPolicy`\"\u003e`ipsec_policy`\u003c/span\u003e block.\n","type":"boolean"},"virtualNetworkGatewayId":{"description":"The ID of the Virtual Network Gateway\nin which the connection is created.\n","type":"string"}},"required":["authorizationKey","connectionProtocol","dpdTimeoutSeconds","egressBytesTransferred","enableBgp","expressRouteCircuitId","expressRouteGatewayBypass","ingressBytesTransferred","ipsecPolicies","localAzureIpAddressEnabled","localNetworkGatewayId","location","name","peerVirtualNetworkGatewayId","privateLinkFastPathEnabled","resourceGroupName","resourceGuid","routingWeight","sharedKey","tags","trafficSelectorPolicies","type","usePolicyBasedTrafficSelectors","virtualNetworkGatewayId","id"],"type":"object"}},"azure:network/getIpGroup:getIpGroup":{"description":"Use this data source to access information about an existing IP Group.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.network.getIpGroup({\n    name: \"example1-ipgroup\",\n    resourceGroupName: \"example-rg\",\n});\nexport const cidrs = example.then(example =\u003e example.cidrs);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.network.get_ip_group(name=\"example1-ipgroup\",\n    resource_group_name=\"example-rg\")\npulumi.export(\"cidrs\", example.cidrs)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Network.GetIpGroup.Invoke(new()\n    {\n        Name = \"example1-ipgroup\",\n        ResourceGroupName = \"example-rg\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"cidrs\"] = example.Apply(getIpGroupResult =\u003e getIpGroupResult.Cidrs),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := network.GetIpGroup(ctx, \u0026network.GetIpGroupArgs{\n\t\t\tName:              \"example1-ipgroup\",\n\t\t\tResourceGroupName: \"example-rg\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"cidrs\", example.Cidrs)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.network.NetworkFunctions;\nimport com.pulumi.azure.network.inputs.GetIpGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = NetworkFunctions.getIpGroup(GetIpGroupArgs.builder()\n            .name(\"example1-ipgroup\")\n            .resourceGroupName(\"example-rg\")\n            .build());\n\n        ctx.export(\"cidrs\", example.cidrs());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:network:getIpGroup\n      arguments:\n        name: example1-ipgroup\n        resourceGroupName: example-rg\noutputs:\n  cidrs: ${example.cidrs}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2025-01-01\n","inputs":{"description":"A collection of arguments for invoking getIpGroup.\n","properties":{"name":{"type":"string","description":"Specifies the Name of the IP Group.\n"},"resourceGroupName":{"type":"string","description":"Specifies the Name of the Resource Group within which the IP Group exists\n"}},"type":"object","required":["name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getIpGroup.\n","properties":{"cidrs":{"description":"A list of CIDRs or IP addresses.\n","items":{"type":"string"},"type":"array"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"location":{"description":"The supported Azure location where the resource exists.\n","type":"string"},"name":{"type":"string"},"resourceGroupName":{"type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"A mapping of tags assigned to the resource.\n","type":"object"}},"required":["cidrs","location","name","resourceGroupName","tags","id"],"type":"object"}},"azure:network/getIpGroups:getIpGroups":{"description":"Use this data source to access information about existing IP Groups.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.network.getIpGroups({\n    name: \"existing\",\n    resourceGroupName: \"existing\",\n});\nexport const ids = example.then(example =\u003e example.ids);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.network.get_ip_groups(name=\"existing\",\n    resource_group_name=\"existing\")\npulumi.export(\"ids\", example.ids)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Network.GetIpGroups.Invoke(new()\n    {\n        Name = \"existing\",\n        ResourceGroupName = \"existing\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"ids\"] = example.Apply(getIpGroupsResult =\u003e getIpGroupsResult.Ids),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := network.GetIpGroups(ctx, \u0026network.GetIpGroupsArgs{\n\t\t\tName:              \"existing\",\n\t\t\tResourceGroupName: \"existing\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"ids\", example.Ids)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.network.NetworkFunctions;\nimport com.pulumi.azure.network.inputs.GetIpGroupsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = NetworkFunctions.getIpGroups(GetIpGroupsArgs.builder()\n            .name(\"existing\")\n            .resourceGroupName(\"existing\")\n            .build());\n\n        ctx.export(\"ids\", example.ids());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:network:getIpGroups\n      arguments:\n        name: existing\n        resourceGroupName: existing\noutputs:\n  ids: ${example.ids}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2025-01-01\n","inputs":{"description":"A collection of arguments for invoking getIpGroups.\n","properties":{"name":{"type":"string","description":"A substring to match some number of IP Groups.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the IP Groups exist.\n"}},"type":"object","required":["name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getIpGroups.\n","properties":{"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"ids":{"description":"A list of IP Group IDs.\n","items":{"type":"string"},"type":"array"},"location":{"type":"string"},"name":{"type":"string"},"names":{"description":"A list of IP Group Names.\n","items":{"type":"string"},"type":"array"},"resourceGroupName":{"type":"string"},"tags":{"additionalProperties":{"type":"string"},"type":"object"}},"required":["ids","location","name","names","resourceGroupName","tags","id"],"type":"object"}},"azure:network/getLocalNetworkGateway:getLocalNetworkGateway":{"description":"Use this data source to access information about an existing Local Network Gateway.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.network.getLocalNetworkGateway({\n    name: \"existing-local-network-gateway\",\n    resourceGroupName: \"existing-resources\",\n});\nexport const id = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.network.get_local_network_gateway(name=\"existing-local-network-gateway\",\n    resource_group_name=\"existing-resources\")\npulumi.export(\"id\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Network.GetLocalNetworkGateway.Invoke(new()\n    {\n        Name = \"existing-local-network-gateway\",\n        ResourceGroupName = \"existing-resources\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"id\"] = example.Apply(getLocalNetworkGatewayResult =\u003e getLocalNetworkGatewayResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := network.LookupLocalNetworkGateway(ctx, \u0026network.LookupLocalNetworkGatewayArgs{\n\t\t\tName:              \"existing-local-network-gateway\",\n\t\t\tResourceGroupName: \"existing-resources\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"id\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.network.NetworkFunctions;\nimport com.pulumi.azure.network.inputs.GetLocalNetworkGatewayArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = NetworkFunctions.getLocalNetworkGateway(GetLocalNetworkGatewayArgs.builder()\n            .name(\"existing-local-network-gateway\")\n            .resourceGroupName(\"existing-resources\")\n            .build());\n\n        ctx.export(\"id\", example.id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:network:getLocalNetworkGateway\n      arguments:\n        name: existing-local-network-gateway\n        resourceGroupName: existing-resources\noutputs:\n  id: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2025-01-01\n","inputs":{"description":"A collection of arguments for invoking getLocalNetworkGateway.\n","properties":{"name":{"type":"string","description":"The name of the Local Network Gateway.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Local Network Gateway exists.\n"}},"type":"object","required":["name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getLocalNetworkGateway.\n","properties":{"addressSpaces":{"description":"The list of string CIDRs representing the address spaces the gateway exposes.\n","items":{"type":"string"},"type":"array"},"bgpSettings":{"description":"A \u003cspan pulumi-lang-nodejs=\"`bgpSettings`\" pulumi-lang-dotnet=\"`BgpSettings`\" pulumi-lang-go=\"`bgpSettings`\" pulumi-lang-python=\"`bgp_settings`\" pulumi-lang-yaml=\"`bgpSettings`\" pulumi-lang-java=\"`bgpSettings`\"\u003e`bgp_settings`\u003c/span\u003e block as defined below containing the Local Network Gateway's BGP speaker settings.\n","items":{"$ref":"#/types/azure:network/getLocalNetworkGatewayBgpSetting:getLocalNetworkGatewayBgpSetting"},"type":"array"},"gatewayAddress":{"description":"The gateway IP address the Local Network Gateway uses.\n","type":"string"},"gatewayFqdn":{"description":"The gateway FQDN the Local Network Gateway uses.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"location":{"description":"The Azure Region where the Local Network Gateway exists.\n","type":"string"},"name":{"type":"string"},"resourceGroupName":{"type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"A mapping of tags assigned to the Local Network Gateway.\n","type":"object"}},"required":["addressSpaces","bgpSettings","gatewayAddress","gatewayFqdn","location","name","resourceGroupName","tags","id"],"type":"object"}},"azure:network/getNatGateway:getNatGateway":{"description":"Use this data source to access information about an existing NAT Gateway.\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2025-01-01\n","inputs":{"description":"A collection of arguments for invoking getNatGateway.\n","properties":{"name":{"type":"string","description":"Specifies the Name of the NAT Gateway.\n"},"publicIpAddressIds":{"type":"array","items":{"type":"string"},"description":"A list of existing Public IP Address resource IDs which the NAT Gateway is using.\n"},"publicIpPrefixIds":{"type":"array","items":{"type":"string"},"description":"A list of existing Public IP Prefix resource IDs which the NAT Gateway is using.\n"},"resourceGroupName":{"type":"string","description":"Specifies the name of the Resource Group where the NAT Gateway exists.\n"}},"type":"object","required":["name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getNatGateway.\n","properties":{"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"idleTimeoutInMinutes":{"description":"The idle timeout in minutes which is used for the NAT Gateway.\n","type":"integer"},"location":{"description":"The location where the NAT Gateway exists.\n","type":"string"},"name":{"type":"string"},"publicIpAddressIds":{"description":"A list of existing Public IP Address resource IDs which the NAT Gateway is using.\n","items":{"type":"string"},"type":"array"},"publicIpPrefixIds":{"description":"A list of existing Public IP Prefix resource IDs which the NAT Gateway is using.\n","items":{"type":"string"},"type":"array"},"resourceGroupName":{"type":"string"},"resourceGuid":{"description":"The Resource GUID of the NAT Gateway.\n","type":"string"},"skuName":{"description":"The SKU used by the NAT Gateway.\n","type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"A mapping of tags assigned to the resource.\n","type":"object"},"zones":{"description":"A list of Availability Zones which the NAT Gateway exists in.\n","items":{"type":"string"},"type":"array"}},"required":["idleTimeoutInMinutes","location","name","publicIpAddressIds","publicIpPrefixIds","resourceGroupName","resourceGuid","skuName","tags","zones","id"],"type":"object"}},"azure:network/getNetworkDdosProtectionPlan:getNetworkDdosProtectionPlan":{"description":"Use this data source to access information about an existing Azure Network DDoS Protection Plan.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.network.getNetworkDdosProtectionPlan({\n    name: exampleAzurermNetworkDdosProtectionPlan.name,\n    resourceGroupName: exampleAzurermNetworkDdosProtectionPlan.resourceGroupName,\n});\nexport const ddosProtectionPlanId = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.network.get_network_ddos_protection_plan(name=example_azurerm_network_ddos_protection_plan[\"name\"],\n    resource_group_name=example_azurerm_network_ddos_protection_plan[\"resourceGroupName\"])\npulumi.export(\"ddosProtectionPlanId\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Network.GetNetworkDdosProtectionPlan.Invoke(new()\n    {\n        Name = exampleAzurermNetworkDdosProtectionPlan.Name,\n        ResourceGroupName = exampleAzurermNetworkDdosProtectionPlan.ResourceGroupName,\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"ddosProtectionPlanId\"] = example.Apply(getNetworkDdosProtectionPlanResult =\u003e getNetworkDdosProtectionPlanResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := network.GetNetworkDdosProtectionPlan(ctx, \u0026network.GetNetworkDdosProtectionPlanArgs{\n\t\t\tName:              exampleAzurermNetworkDdosProtectionPlan.Name,\n\t\t\tResourceGroupName: exampleAzurermNetworkDdosProtectionPlan.ResourceGroupName,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"ddosProtectionPlanId\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.network.NetworkFunctions;\nimport com.pulumi.azure.network.inputs.GetNetworkDdosProtectionPlanArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = NetworkFunctions.getNetworkDdosProtectionPlan(GetNetworkDdosProtectionPlanArgs.builder()\n            .name(exampleAzurermNetworkDdosProtectionPlan.name())\n            .resourceGroupName(exampleAzurermNetworkDdosProtectionPlan.resourceGroupName())\n            .build());\n\n        ctx.export(\"ddosProtectionPlanId\", example.id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:network:getNetworkDdosProtectionPlan\n      arguments:\n        name: ${exampleAzurermNetworkDdosProtectionPlan.name}\n        resourceGroupName: ${exampleAzurermNetworkDdosProtectionPlan.resourceGroupName}\noutputs:\n  ddosProtectionPlanId: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2025-01-01\n","inputs":{"description":"A collection of arguments for invoking getNetworkDdosProtectionPlan.\n","properties":{"name":{"type":"string","description":"The name of the Network DDoS Protection Plan.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group where the Network DDoS Protection Plan exists.\n"}},"type":"object","required":["name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getNetworkDdosProtectionPlan.\n","properties":{"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"location":{"description":"Specifies the supported Azure location where the resource exists.\n","type":"string"},"name":{"type":"string"},"resourceGroupName":{"type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"A mapping of tags assigned to the resource.\n","type":"object"},"virtualNetworkIds":{"description":"A list of IDs of the Virtual Networks associated with this DDoS Protection Plan.\n","items":{"type":"string"},"type":"array"}},"required":["location","name","resourceGroupName","tags","virtualNetworkIds","id"],"type":"object"}},"azure:network/getNetworkInterface:getNetworkInterface":{"description":"Use this data source to access information about an existing Network Interface.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.network.getNetworkInterface({\n    name: \"acctest-nic\",\n    resourceGroupName: \"networking\",\n});\nexport const networkInterfaceId = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.network.get_network_interface(name=\"acctest-nic\",\n    resource_group_name=\"networking\")\npulumi.export(\"networkInterfaceId\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Network.GetNetworkInterface.Invoke(new()\n    {\n        Name = \"acctest-nic\",\n        ResourceGroupName = \"networking\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"networkInterfaceId\"] = example.Apply(getNetworkInterfaceResult =\u003e getNetworkInterfaceResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := network.LookupNetworkInterface(ctx, \u0026network.LookupNetworkInterfaceArgs{\n\t\t\tName:              \"acctest-nic\",\n\t\t\tResourceGroupName: \"networking\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"networkInterfaceId\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.network.NetworkFunctions;\nimport com.pulumi.azure.network.inputs.GetNetworkInterfaceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = NetworkFunctions.getNetworkInterface(GetNetworkInterfaceArgs.builder()\n            .name(\"acctest-nic\")\n            .resourceGroupName(\"networking\")\n            .build());\n\n        ctx.export(\"networkInterfaceId\", example.id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:network:getNetworkInterface\n      arguments:\n        name: acctest-nic\n        resourceGroupName: networking\noutputs:\n  networkInterfaceId: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2025-01-01\n","inputs":{"description":"A collection of arguments for invoking getNetworkInterface.\n","properties":{"name":{"type":"string","description":"Specifies the name of the Network Interface.\n"},"resourceGroupName":{"type":"string","description":"Specifies the name of the resource group the Network Interface is located in.\n"}},"type":"object","required":["name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getNetworkInterface.\n","properties":{"acceleratedNetworkingEnabled":{"description":"Indicates if accelerated networking is set on the specified Network Interface.\n","type":"boolean"},"appliedDnsServers":{"description":"List of DNS servers applied to the specified Network Interface.\n","items":{"type":"string"},"type":"array"},"dnsServers":{"description":"The list of DNS servers used by the specified Network Interface.\n","items":{"type":"string"},"type":"array"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"internalDnsNameLabel":{"description":"The internal DNS name label of the specified Network Interface.\n","type":"string"},"ipConfigurations":{"description":"One or more \u003cspan pulumi-lang-nodejs=\"`ipConfiguration`\" pulumi-lang-dotnet=\"`IpConfiguration`\" pulumi-lang-go=\"`ipConfiguration`\" pulumi-lang-python=\"`ip_configuration`\" pulumi-lang-yaml=\"`ipConfiguration`\" pulumi-lang-java=\"`ipConfiguration`\"\u003e`ip_configuration`\u003c/span\u003e blocks as defined below.\n","items":{"$ref":"#/types/azure:network/getNetworkInterfaceIpConfiguration:getNetworkInterfaceIpConfiguration"},"type":"array"},"ipForwardingEnabled":{"description":"Indicate if IP forwarding is set on the specified Network Interface.\n","type":"boolean"},"location":{"description":"The location of the specified Network Interface.\n","type":"string"},"macAddress":{"description":"The MAC address used by the specified Network Interface.\n","type":"string"},"name":{"description":"The name of the IP Configuration.\n","type":"string"},"networkSecurityGroupId":{"description":"The ID of the network security group associated to the specified Network Interface.\n","type":"string"},"privateIpAddress":{"description":"The Private IP Address assigned to this Network Interface.\n","type":"string"},"privateIpAddresses":{"description":"The list of private IP addresses associates to the specified Network Interface.\n","items":{"type":"string"},"type":"array"},"resourceGroupName":{"type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"List the tags associated to the specified Network Interface.\n","type":"object"},"virtualMachineId":{"description":"The ID of the virtual machine that the specified Network Interface is attached to.\n","type":"string"}},"required":["acceleratedNetworkingEnabled","appliedDnsServers","dnsServers","internalDnsNameLabel","ipConfigurations","ipForwardingEnabled","location","macAddress","name","networkSecurityGroupId","privateIpAddress","privateIpAddresses","resourceGroupName","tags","virtualMachineId","id"],"type":"object"}},"azure:network/getNetworkManager:getNetworkManager":{"description":"Use this data source to access information about a Network Manager.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst current = azure.core.getSubscription({});\nconst exampleNetworkManager = new azure.network.NetworkManager(\"example\", {\n    name: \"example-network-manager\",\n    location: exampleResourceGroup.location,\n    resourceGroupName: exampleResourceGroup.name,\n    scope: {\n        subscriptionIds: [current.then(current =\u003e current.id)],\n    },\n    scopeAccesses: [\n        \"Connectivity\",\n        \"SecurityAdmin\",\n    ],\n    description: \"example network manager\",\n});\nconst example = azure.network.getNetworkManagerOutput({\n    name: exampleNetworkManager.name,\n    resourceGroupName: exampleNetworkManager.resourceGroupName,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\ncurrent = azure.core.get_subscription()\nexample_network_manager = azure.network.NetworkManager(\"example\",\n    name=\"example-network-manager\",\n    location=example_resource_group.location,\n    resource_group_name=example_resource_group.name,\n    scope={\n        \"subscription_ids\": [current.id],\n    },\n    scope_accesses=[\n        \"Connectivity\",\n        \"SecurityAdmin\",\n    ],\n    description=\"example network manager\")\nexample = azure.network.get_network_manager_output(name=example_network_manager.name,\n    resource_group_name=example_network_manager.resource_group_name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleResourceGroup = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var current = Azure.Core.GetSubscription.Invoke();\n\n    var exampleNetworkManager = new Azure.Network.NetworkManager(\"example\", new()\n    {\n        Name = \"example-network-manager\",\n        Location = exampleResourceGroup.Location,\n        ResourceGroupName = exampleResourceGroup.Name,\n        Scope = new Azure.Network.Inputs.NetworkManagerScopeArgs\n        {\n            SubscriptionIds = new[]\n            {\n                current.Apply(getSubscriptionResult =\u003e getSubscriptionResult.Id),\n            },\n        },\n        ScopeAccesses = new[]\n        {\n            \"Connectivity\",\n            \"SecurityAdmin\",\n        },\n        Description = \"example network manager\",\n    });\n\n    var example = Azure.Network.GetNetworkManager.Invoke(new()\n    {\n        Name = exampleNetworkManager.Name,\n        ResourceGroupName = exampleNetworkManager.ResourceGroupName,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrent, err := core.LookupSubscription(ctx, \u0026core.LookupSubscriptionArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNetworkManager, err := network.NewNetworkManager(ctx, \"example\", \u0026network.NetworkManagerArgs{\n\t\t\tName:              pulumi.String(\"example-network-manager\"),\n\t\t\tLocation:          exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tScope: \u0026network.NetworkManagerScopeArgs{\n\t\t\t\tSubscriptionIds: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(current.Id),\n\t\t\t\t},\n\t\t\t},\n\t\t\tScopeAccesses: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"Connectivity\"),\n\t\t\t\tpulumi.String(\"SecurityAdmin\"),\n\t\t\t},\n\t\t\tDescription: pulumi.String(\"example network manager\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_ = network.LookupNetworkManagerOutput(ctx, network.GetNetworkManagerOutputArgs{\n\t\t\tName:              exampleNetworkManager.Name,\n\t\t\tResourceGroupName: exampleNetworkManager.ResourceGroupName,\n\t\t}, nil)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.core.inputs.GetSubscriptionArgs;\nimport com.pulumi.azure.network.NetworkManager;\nimport com.pulumi.azure.network.NetworkManagerArgs;\nimport com.pulumi.azure.network.inputs.NetworkManagerScopeArgs;\nimport com.pulumi.azure.network.NetworkFunctions;\nimport com.pulumi.azure.network.inputs.GetNetworkManagerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var exampleResourceGroup = new ResourceGroup(\"exampleResourceGroup\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        final var current = CoreFunctions.getSubscription(GetSubscriptionArgs.builder()\n            .build());\n\n        var exampleNetworkManager = new NetworkManager(\"exampleNetworkManager\", NetworkManagerArgs.builder()\n            .name(\"example-network-manager\")\n            .location(exampleResourceGroup.location())\n            .resourceGroupName(exampleResourceGroup.name())\n            .scope(NetworkManagerScopeArgs.builder()\n                .subscriptionIds(current.id())\n                .build())\n            .scopeAccesses(            \n                \"Connectivity\",\n                \"SecurityAdmin\")\n            .description(\"example network manager\")\n            .build());\n\n        final var example = NetworkFunctions.getNetworkManager(GetNetworkManagerArgs.builder()\n            .name(exampleNetworkManager.name())\n            .resourceGroupName(exampleNetworkManager.resourceGroupName())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleResourceGroup:\n    type: azure:core:ResourceGroup\n    name: example\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleNetworkManager:\n    type: azure:network:NetworkManager\n    name: example\n    properties:\n      name: example-network-manager\n      location: ${exampleResourceGroup.location}\n      resourceGroupName: ${exampleResourceGroup.name}\n      scope:\n        subscriptionIds:\n          - ${current.id}\n      scopeAccesses:\n        - Connectivity\n        - SecurityAdmin\n      description: example network manager\nvariables:\n  current:\n    fn::invoke:\n      function: azure:core:getSubscription\n      arguments: {}\n  example:\n    fn::invoke:\n      function: azure:network:getNetworkManager\n      arguments:\n        name: ${exampleNetworkManager.name}\n        resourceGroupName: ${exampleNetworkManager.resourceGroupName}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2025-01-01\n","inputs":{"description":"A collection of arguments for invoking getNetworkManager.\n","properties":{"name":{"type":"string","description":"The name of the Network Manager.\n"},"resourceGroupName":{"type":"string","description":"The Name of the Resource Group where the Network Manager exists.\n"}},"type":"object","required":["name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getNetworkManager.\n","properties":{"crossTenantScopes":{"description":"One or more \u003cspan pulumi-lang-nodejs=\"`crossTenantScopes`\" pulumi-lang-dotnet=\"`CrossTenantScopes`\" pulumi-lang-go=\"`crossTenantScopes`\" pulumi-lang-python=\"`cross_tenant_scopes`\" pulumi-lang-yaml=\"`crossTenantScopes`\" pulumi-lang-java=\"`crossTenantScopes`\"\u003e`cross_tenant_scopes`\u003c/span\u003e blocks as defined below.\n","items":{"$ref":"#/types/azure:network/getNetworkManagerCrossTenantScope:getNetworkManagerCrossTenantScope"},"type":"array"},"description":{"description":"A description of the Network Manager.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"location":{"description":"The Azure Region where the Network Manager exists.\n","type":"string"},"name":{"type":"string"},"resourceGroupName":{"type":"string"},"scopeAccesses":{"description":"A list of configuration deployment type configured on the Network Manager.\n","items":{"type":"string"},"type":"array"},"scopes":{"description":"A \u003cspan pulumi-lang-nodejs=\"`scope`\" pulumi-lang-dotnet=\"`Scope`\" pulumi-lang-go=\"`scope`\" pulumi-lang-python=\"`scope`\" pulumi-lang-yaml=\"`scope`\" pulumi-lang-java=\"`scope`\"\u003e`scope`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:network/getNetworkManagerScope:getNetworkManagerScope"},"type":"array"},"tags":{"additionalProperties":{"type":"string"},"description":"A mapping of tags assigned to the Network Manager.\n","type":"object"}},"required":["crossTenantScopes","description","location","name","resourceGroupName","scopes","scopeAccesses","tags","id"],"type":"object"}},"azure:network/getNetworkManagerConnectivityConfiguration:getNetworkManagerConnectivityConfiguration":{"description":"Use this data source to access information about an existing Network Manager Connectivity Configuration.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.network.getNetworkManagerConnectivityConfiguration({\n    name: \"existing\",\n    networkManagerId: \"TODO\",\n});\nexport const id = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.network.get_network_manager_connectivity_configuration(name=\"existing\",\n    network_manager_id=\"TODO\")\npulumi.export(\"id\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Network.GetNetworkManagerConnectivityConfiguration.Invoke(new()\n    {\n        Name = \"existing\",\n        NetworkManagerId = \"TODO\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"id\"] = example.Apply(getNetworkManagerConnectivityConfigurationResult =\u003e getNetworkManagerConnectivityConfigurationResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := network.LookupNetworkManagerConnectivityConfiguration(ctx, \u0026network.LookupNetworkManagerConnectivityConfigurationArgs{\n\t\t\tName:             \"existing\",\n\t\t\tNetworkManagerId: \"TODO\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"id\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.network.NetworkFunctions;\nimport com.pulumi.azure.network.inputs.GetNetworkManagerConnectivityConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = NetworkFunctions.getNetworkManagerConnectivityConfiguration(GetNetworkManagerConnectivityConfigurationArgs.builder()\n            .name(\"existing\")\n            .networkManagerId(\"TODO\")\n            .build());\n\n        ctx.export(\"id\", example.id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:network:getNetworkManagerConnectivityConfiguration\n      arguments:\n        name: existing\n        networkManagerId: TODO\noutputs:\n  id: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2025-01-01\n","inputs":{"description":"A collection of arguments for invoking getNetworkManagerConnectivityConfiguration.\n","properties":{"name":{"type":"string","description":"The name of this Network Manager Connectivity Configuration.\n"},"networkManagerId":{"type":"string","description":"The ID of the Network Manager.\n"}},"type":"object","required":["name","networkManagerId"]},"outputs":{"description":"A collection of values returned by getNetworkManagerConnectivityConfiguration.\n","properties":{"appliesToGroups":{"description":"An \u003cspan pulumi-lang-nodejs=\"`appliesToGroup`\" pulumi-lang-dotnet=\"`AppliesToGroup`\" pulumi-lang-go=\"`appliesToGroup`\" pulumi-lang-python=\"`applies_to_group`\" pulumi-lang-yaml=\"`appliesToGroup`\" pulumi-lang-java=\"`appliesToGroup`\"\u003e`applies_to_group`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:network/getNetworkManagerConnectivityConfigurationAppliesToGroup:getNetworkManagerConnectivityConfigurationAppliesToGroup"},"type":"array"},"connectivityTopology":{"description":"The connectivity topology type.\n","type":"string"},"deleteExistingPeeringEnabled":{"description":"Whether to current existing Virtual Network Peering in the Connectivity Configuration affected scope.\n","type":"boolean"},"description":{"description":"The description of the Connectivity Configuration.\n","type":"string"},"globalMeshEnabled":{"description":"Whether global mesh is supported.\n","type":"boolean"},"hubs":{"description":"A \u003cspan pulumi-lang-nodejs=\"`hub`\" pulumi-lang-dotnet=\"`Hub`\" pulumi-lang-go=\"`hub`\" pulumi-lang-python=\"`hub`\" pulumi-lang-yaml=\"`hub`\" pulumi-lang-java=\"`hub`\"\u003e`hub`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:network/getNetworkManagerConnectivityConfigurationHub:getNetworkManagerConnectivityConfigurationHub"},"type":"array"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"name":{"type":"string"},"networkManagerId":{"type":"string"}},"required":["appliesToGroups","connectivityTopology","deleteExistingPeeringEnabled","description","globalMeshEnabled","hubs","name","networkManagerId","id"],"type":"object"}},"azure:network/getNetworkManagerIpamPool:getNetworkManagerIpamPool":{"description":"Use this data source to access information about an existing Network Manager IPAM Pool.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst current = azure.core.getSubscription({});\nconst exampleNetworkManager = new azure.network.NetworkManager(\"example\", {\n    name: \"example-network-manager\",\n    location: exampleResourceGroup.location,\n    resourceGroupName: exampleResourceGroup.name,\n    scope: {\n        subscriptionIds: [current.then(current =\u003e current.id)],\n    },\n});\nconst exampleNetworkManagerIpamPool = new azure.network.NetworkManagerIpamPool(\"example\", {\n    name: \"example-ipam-pool\",\n    location: \"West Europe\",\n    networkManagerId: exampleNetworkManager.id,\n    displayName: \"example-pool\",\n    addressPrefixes: [\"10.0.0.0/24\"],\n});\nconst example = azure.network.getNetworkManagerIpamPoolOutput({\n    name: exampleNetworkManagerIpamPool.name,\n    networkManagerId: exampleNetworkManager.id,\n});\nexport const id = example.apply(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\ncurrent = azure.core.get_subscription()\nexample_network_manager = azure.network.NetworkManager(\"example\",\n    name=\"example-network-manager\",\n    location=example_resource_group.location,\n    resource_group_name=example_resource_group.name,\n    scope={\n        \"subscription_ids\": [current.id],\n    })\nexample_network_manager_ipam_pool = azure.network.NetworkManagerIpamPool(\"example\",\n    name=\"example-ipam-pool\",\n    location=\"West Europe\",\n    network_manager_id=example_network_manager.id,\n    display_name=\"example-pool\",\n    address_prefixes=[\"10.0.0.0/24\"])\nexample = azure.network.get_network_manager_ipam_pool_output(name=example_network_manager_ipam_pool.name,\n    network_manager_id=example_network_manager.id)\npulumi.export(\"id\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleResourceGroup = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var current = Azure.Core.GetSubscription.Invoke();\n\n    var exampleNetworkManager = new Azure.Network.NetworkManager(\"example\", new()\n    {\n        Name = \"example-network-manager\",\n        Location = exampleResourceGroup.Location,\n        ResourceGroupName = exampleResourceGroup.Name,\n        Scope = new Azure.Network.Inputs.NetworkManagerScopeArgs\n        {\n            SubscriptionIds = new[]\n            {\n                current.Apply(getSubscriptionResult =\u003e getSubscriptionResult.Id),\n            },\n        },\n    });\n\n    var exampleNetworkManagerIpamPool = new Azure.Network.NetworkManagerIpamPool(\"example\", new()\n    {\n        Name = \"example-ipam-pool\",\n        Location = \"West Europe\",\n        NetworkManagerId = exampleNetworkManager.Id,\n        DisplayName = \"example-pool\",\n        AddressPrefixes = new[]\n        {\n            \"10.0.0.0/24\",\n        },\n    });\n\n    var example = Azure.Network.GetNetworkManagerIpamPool.Invoke(new()\n    {\n        Name = exampleNetworkManagerIpamPool.Name,\n        NetworkManagerId = exampleNetworkManager.Id,\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"id\"] = example.Apply(getNetworkManagerIpamPoolResult =\u003e getNetworkManagerIpamPoolResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrent, err := core.LookupSubscription(ctx, \u0026core.LookupSubscriptionArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNetworkManager, err := network.NewNetworkManager(ctx, \"example\", \u0026network.NetworkManagerArgs{\n\t\t\tName:              pulumi.String(\"example-network-manager\"),\n\t\t\tLocation:          exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tScope: \u0026network.NetworkManagerScopeArgs{\n\t\t\t\tSubscriptionIds: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(current.Id),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNetworkManagerIpamPool, err := network.NewNetworkManagerIpamPool(ctx, \"example\", \u0026network.NetworkManagerIpamPoolArgs{\n\t\t\tName:             pulumi.String(\"example-ipam-pool\"),\n\t\t\tLocation:         pulumi.String(\"West Europe\"),\n\t\t\tNetworkManagerId: exampleNetworkManager.ID(),\n\t\t\tDisplayName:      pulumi.String(\"example-pool\"),\n\t\t\tAddressPrefixes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.0.0/24\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample := network.LookupNetworkManagerIpamPoolOutput(ctx, network.GetNetworkManagerIpamPoolOutputArgs{\n\t\t\tName:             exampleNetworkManagerIpamPool.Name,\n\t\t\tNetworkManagerId: exampleNetworkManager.ID(),\n\t\t}, nil)\n\t\tctx.Export(\"id\", example.ApplyT(func(example network.GetNetworkManagerIpamPoolResult) (*string, error) {\n\t\t\treturn \u0026example.Id, nil\n\t\t}).(pulumi.StringPtrOutput))\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.core.inputs.GetSubscriptionArgs;\nimport com.pulumi.azure.network.NetworkManager;\nimport com.pulumi.azure.network.NetworkManagerArgs;\nimport com.pulumi.azure.network.inputs.NetworkManagerScopeArgs;\nimport com.pulumi.azure.network.NetworkManagerIpamPool;\nimport com.pulumi.azure.network.NetworkManagerIpamPoolArgs;\nimport com.pulumi.azure.network.NetworkFunctions;\nimport com.pulumi.azure.network.inputs.GetNetworkManagerIpamPoolArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var exampleResourceGroup = new ResourceGroup(\"exampleResourceGroup\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        final var current = CoreFunctions.getSubscription(GetSubscriptionArgs.builder()\n            .build());\n\n        var exampleNetworkManager = new NetworkManager(\"exampleNetworkManager\", NetworkManagerArgs.builder()\n            .name(\"example-network-manager\")\n            .location(exampleResourceGroup.location())\n            .resourceGroupName(exampleResourceGroup.name())\n            .scope(NetworkManagerScopeArgs.builder()\n                .subscriptionIds(current.id())\n                .build())\n            .build());\n\n        var exampleNetworkManagerIpamPool = new NetworkManagerIpamPool(\"exampleNetworkManagerIpamPool\", NetworkManagerIpamPoolArgs.builder()\n            .name(\"example-ipam-pool\")\n            .location(\"West Europe\")\n            .networkManagerId(exampleNetworkManager.id())\n            .displayName(\"example-pool\")\n            .addressPrefixes(\"10.0.0.0/24\")\n            .build());\n\n        final var example = NetworkFunctions.getNetworkManagerIpamPool(GetNetworkManagerIpamPoolArgs.builder()\n            .name(exampleNetworkManagerIpamPool.name())\n            .networkManagerId(exampleNetworkManager.id())\n            .build());\n\n        ctx.export(\"id\", example.applyValue(_example -\u003e _example.id()));\n    }\n}\n```\n```yaml\nresources:\n  exampleResourceGroup:\n    type: azure:core:ResourceGroup\n    name: example\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleNetworkManager:\n    type: azure:network:NetworkManager\n    name: example\n    properties:\n      name: example-network-manager\n      location: ${exampleResourceGroup.location}\n      resourceGroupName: ${exampleResourceGroup.name}\n      scope:\n        subscriptionIds:\n          - ${current.id}\n  exampleNetworkManagerIpamPool:\n    type: azure:network:NetworkManagerIpamPool\n    name: example\n    properties:\n      name: example-ipam-pool\n      location: West Europe\n      networkManagerId: ${exampleNetworkManager.id}\n      displayName: example-pool\n      addressPrefixes:\n        - 10.0.0.0/24\nvariables:\n  current:\n    fn::invoke:\n      function: azure:core:getSubscription\n      arguments: {}\n  example:\n    fn::invoke:\n      function: azure:network:getNetworkManagerIpamPool\n      arguments:\n        name: ${exampleNetworkManagerIpamPool.name}\n        networkManagerId: ${exampleNetworkManager.id}\noutputs:\n  id: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2025-01-01\n","inputs":{"description":"A collection of arguments for invoking getNetworkManagerIpamPool.\n","properties":{"name":{"type":"string","description":"The name of this Network Manager IPAM Pool.\n"},"networkManagerId":{"type":"string","description":"The ID of the parent Network Manager.\n"}},"type":"object","required":["name","networkManagerId"]},"outputs":{"description":"A collection of values returned by getNetworkManagerIpamPool.\n","properties":{"addressPrefixes":{"description":"A list of IPv4 or IPv6 IP address prefixes assigned to the Network Manager IPAM Pool.\n","items":{"type":"string"},"type":"array"},"description":{"description":"The description of the Network Manager IPAM Pool.\n","type":"string"},"displayName":{"description":"The display name of the Network Manager IPAM Pool.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"location":{"description":"The Azure Region where the Network Manager IPAM Pool exists.\n","type":"string"},"name":{"type":"string"},"networkManagerId":{"type":"string"},"parentPoolName":{"description":"The name of the parent IPAM Pool.\n","type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"A mapping of tags assigned to the Network Manager IPAM Pool.\n","type":"object"}},"required":["addressPrefixes","description","displayName","location","name","networkManagerId","parentPoolName","tags","id"],"type":"object"}},"azure:network/getNetworkManagerNetworkGroup:getNetworkManagerNetworkGroup":{"description":"Use this data source to access information about a Network Manager Network Group.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst current = azure.core.getSubscription({});\nconst exampleNetworkManager = new azure.network.NetworkManager(\"example\", {\n    name: \"example-network-manager\",\n    location: exampleResourceGroup.location,\n    resourceGroupName: exampleResourceGroup.name,\n    scope: {\n        subscriptionIds: [current.then(current =\u003e current.id)],\n    },\n    scopeAccesses: [\n        \"Connectivity\",\n        \"SecurityAdmin\",\n    ],\n    description: \"example network manager\",\n});\nconst exampleNetworkManagerNetworkGroup = new azure.network.NetworkManagerNetworkGroup(\"example\", {\n    name: \"example-group\",\n    networkManagerId: exampleNetworkManager.id,\n});\nconst example = azure.network.getNetworkManagerNetworkGroupOutput({\n    name: exampleNetworkManagerNetworkGroup.name,\n    networkManagerId: exampleNetworkManager.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\ncurrent = azure.core.get_subscription()\nexample_network_manager = azure.network.NetworkManager(\"example\",\n    name=\"example-network-manager\",\n    location=example_resource_group.location,\n    resource_group_name=example_resource_group.name,\n    scope={\n        \"subscription_ids\": [current.id],\n    },\n    scope_accesses=[\n        \"Connectivity\",\n        \"SecurityAdmin\",\n    ],\n    description=\"example network manager\")\nexample_network_manager_network_group = azure.network.NetworkManagerNetworkGroup(\"example\",\n    name=\"example-group\",\n    network_manager_id=example_network_manager.id)\nexample = azure.network.get_network_manager_network_group_output(name=example_network_manager_network_group.name,\n    network_manager_id=example_network_manager.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleResourceGroup = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var current = Azure.Core.GetSubscription.Invoke();\n\n    var exampleNetworkManager = new Azure.Network.NetworkManager(\"example\", new()\n    {\n        Name = \"example-network-manager\",\n        Location = exampleResourceGroup.Location,\n        ResourceGroupName = exampleResourceGroup.Name,\n        Scope = new Azure.Network.Inputs.NetworkManagerScopeArgs\n        {\n            SubscriptionIds = new[]\n            {\n                current.Apply(getSubscriptionResult =\u003e getSubscriptionResult.Id),\n            },\n        },\n        ScopeAccesses = new[]\n        {\n            \"Connectivity\",\n            \"SecurityAdmin\",\n        },\n        Description = \"example network manager\",\n    });\n\n    var exampleNetworkManagerNetworkGroup = new Azure.Network.NetworkManagerNetworkGroup(\"example\", new()\n    {\n        Name = \"example-group\",\n        NetworkManagerId = exampleNetworkManager.Id,\n    });\n\n    var example = Azure.Network.GetNetworkManagerNetworkGroup.Invoke(new()\n    {\n        Name = exampleNetworkManagerNetworkGroup.Name,\n        NetworkManagerId = exampleNetworkManager.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrent, err := core.LookupSubscription(ctx, \u0026core.LookupSubscriptionArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNetworkManager, err := network.NewNetworkManager(ctx, \"example\", \u0026network.NetworkManagerArgs{\n\t\t\tName:              pulumi.String(\"example-network-manager\"),\n\t\t\tLocation:          exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tScope: \u0026network.NetworkManagerScopeArgs{\n\t\t\t\tSubscriptionIds: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(current.Id),\n\t\t\t\t},\n\t\t\t},\n\t\t\tScopeAccesses: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"Connectivity\"),\n\t\t\t\tpulumi.String(\"SecurityAdmin\"),\n\t\t\t},\n\t\t\tDescription: pulumi.String(\"example network manager\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNetworkManagerNetworkGroup, err := network.NewNetworkManagerNetworkGroup(ctx, \"example\", \u0026network.NetworkManagerNetworkGroupArgs{\n\t\t\tName:             pulumi.String(\"example-group\"),\n\t\t\tNetworkManagerId: exampleNetworkManager.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_ = network.LookupNetworkManagerNetworkGroupOutput(ctx, network.GetNetworkManagerNetworkGroupOutputArgs{\n\t\t\tName:             exampleNetworkManagerNetworkGroup.Name,\n\t\t\tNetworkManagerId: exampleNetworkManager.ID(),\n\t\t}, nil)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.core.inputs.GetSubscriptionArgs;\nimport com.pulumi.azure.network.NetworkManager;\nimport com.pulumi.azure.network.NetworkManagerArgs;\nimport com.pulumi.azure.network.inputs.NetworkManagerScopeArgs;\nimport com.pulumi.azure.network.NetworkManagerNetworkGroup;\nimport com.pulumi.azure.network.NetworkManagerNetworkGroupArgs;\nimport com.pulumi.azure.network.NetworkFunctions;\nimport com.pulumi.azure.network.inputs.GetNetworkManagerNetworkGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var exampleResourceGroup = new ResourceGroup(\"exampleResourceGroup\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        final var current = CoreFunctions.getSubscription(GetSubscriptionArgs.builder()\n            .build());\n\n        var exampleNetworkManager = new NetworkManager(\"exampleNetworkManager\", NetworkManagerArgs.builder()\n            .name(\"example-network-manager\")\n            .location(exampleResourceGroup.location())\n            .resourceGroupName(exampleResourceGroup.name())\n            .scope(NetworkManagerScopeArgs.builder()\n                .subscriptionIds(current.id())\n                .build())\n            .scopeAccesses(            \n                \"Connectivity\",\n                \"SecurityAdmin\")\n            .description(\"example network manager\")\n            .build());\n\n        var exampleNetworkManagerNetworkGroup = new NetworkManagerNetworkGroup(\"exampleNetworkManagerNetworkGroup\", NetworkManagerNetworkGroupArgs.builder()\n            .name(\"example-group\")\n            .networkManagerId(exampleNetworkManager.id())\n            .build());\n\n        final var example = NetworkFunctions.getNetworkManagerNetworkGroup(GetNetworkManagerNetworkGroupArgs.builder()\n            .name(exampleNetworkManagerNetworkGroup.name())\n            .networkManagerId(exampleNetworkManager.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleResourceGroup:\n    type: azure:core:ResourceGroup\n    name: example\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleNetworkManager:\n    type: azure:network:NetworkManager\n    name: example\n    properties:\n      name: example-network-manager\n      location: ${exampleResourceGroup.location}\n      resourceGroupName: ${exampleResourceGroup.name}\n      scope:\n        subscriptionIds:\n          - ${current.id}\n      scopeAccesses:\n        - Connectivity\n        - SecurityAdmin\n      description: example network manager\n  exampleNetworkManagerNetworkGroup:\n    type: azure:network:NetworkManagerNetworkGroup\n    name: example\n    properties:\n      name: example-group\n      networkManagerId: ${exampleNetworkManager.id}\nvariables:\n  current:\n    fn::invoke:\n      function: azure:core:getSubscription\n      arguments: {}\n  example:\n    fn::invoke:\n      function: azure:network:getNetworkManagerNetworkGroup\n      arguments:\n        name: ${exampleNetworkManagerNetworkGroup.name}\n        networkManagerId: ${exampleNetworkManager.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2025-01-01\n","inputs":{"description":"A collection of arguments for invoking getNetworkManagerNetworkGroup.\n","properties":{"name":{"type":"string","description":"Specifies the name of the Network Manager Network Group.\n"},"networkManagerId":{"type":"string","description":"Specifies the ID of the Network Manager.\n"}},"type":"object","required":["name","networkManagerId"]},"outputs":{"description":"A collection of values returned by getNetworkManagerNetworkGroup.\n","properties":{"description":{"description":"A description of the Network Manager Network Group.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"memberType":{"description":"The member type of the Network Manager Network Group.\n","type":"string"},"name":{"type":"string"},"networkManagerId":{"type":"string"}},"required":["description","memberType","name","networkManagerId","id"],"type":"object"}},"azure:network/getNetworkSecurityGroup:getNetworkSecurityGroup":{"description":"Use this data source to access information about an existing Network Security Group.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.network.getNetworkSecurityGroup({\n    name: \"example\",\n    resourceGroupName: exampleAzurermResourceGroup.name,\n});\nexport const location = example.then(example =\u003e example.location);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.network.get_network_security_group(name=\"example\",\n    resource_group_name=example_azurerm_resource_group[\"name\"])\npulumi.export(\"location\", example.location)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Network.GetNetworkSecurityGroup.Invoke(new()\n    {\n        Name = \"example\",\n        ResourceGroupName = exampleAzurermResourceGroup.Name,\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"location\"] = example.Apply(getNetworkSecurityGroupResult =\u003e getNetworkSecurityGroupResult.Location),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := network.LookupNetworkSecurityGroup(ctx, \u0026network.LookupNetworkSecurityGroupArgs{\n\t\t\tName:              \"example\",\n\t\t\tResourceGroupName: exampleAzurermResourceGroup.Name,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"location\", example.Location)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.network.NetworkFunctions;\nimport com.pulumi.azure.network.inputs.GetNetworkSecurityGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = NetworkFunctions.getNetworkSecurityGroup(GetNetworkSecurityGroupArgs.builder()\n            .name(\"example\")\n            .resourceGroupName(exampleAzurermResourceGroup.name())\n            .build());\n\n        ctx.export(\"location\", example.location());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:network:getNetworkSecurityGroup\n      arguments:\n        name: example\n        resourceGroupName: ${exampleAzurermResourceGroup.name}\noutputs:\n  location: ${example.location}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2025-01-01\n","inputs":{"description":"A collection of arguments for invoking getNetworkSecurityGroup.\n","properties":{"name":{"type":"string","description":"Specifies the Name of the Network Security Group.\n"},"resourceGroupName":{"type":"string","description":"Specifies the Name of the Resource Group within which the Network Security Group exists\n"}},"type":"object","required":["name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getNetworkSecurityGroup.\n","properties":{"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"location":{"description":"The supported Azure location where the resource exists.\n","type":"string"},"name":{"description":"The name of the security rule.\n","type":"string"},"resourceGroupName":{"type":"string"},"securityRules":{"description":"One or more \u003cspan pulumi-lang-nodejs=\"`securityRule`\" pulumi-lang-dotnet=\"`SecurityRule`\" pulumi-lang-go=\"`securityRule`\" pulumi-lang-python=\"`security_rule`\" pulumi-lang-yaml=\"`securityRule`\" pulumi-lang-java=\"`securityRule`\"\u003e`security_rule`\u003c/span\u003e blocks as defined below.\n","items":{"$ref":"#/types/azure:network/getNetworkSecurityGroupSecurityRule:getNetworkSecurityGroupSecurityRule"},"type":"array"},"tags":{"additionalProperties":{"type":"string"},"description":"A mapping of tags assigned to the resource.\n","type":"object"}},"required":["location","name","resourceGroupName","securityRules","tags","id"],"type":"object"}},"azure:network/getNetworkSecurityPerimeter:getNetworkSecurityPerimeter":{"description":"Use this data source to access information about an existing Network Security Perimeter.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.network.getNetworkSecurityPerimeter({\n    name: \"existing\",\n    resourceGroupName: \"existing\",\n});\nexport const id = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.network.get_network_security_perimeter(name=\"existing\",\n    resource_group_name=\"existing\")\npulumi.export(\"id\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Network.GetNetworkSecurityPerimeter.Invoke(new()\n    {\n        Name = \"existing\",\n        ResourceGroupName = \"existing\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"id\"] = example.Apply(getNetworkSecurityPerimeterResult =\u003e getNetworkSecurityPerimeterResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := network.LookupNetworkSecurityPerimeter(ctx, \u0026network.LookupNetworkSecurityPerimeterArgs{\n\t\t\tName:              \"existing\",\n\t\t\tResourceGroupName: \"existing\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"id\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.network.NetworkFunctions;\nimport com.pulumi.azure.network.inputs.GetNetworkSecurityPerimeterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = NetworkFunctions.getNetworkSecurityPerimeter(GetNetworkSecurityPerimeterArgs.builder()\n            .name(\"existing\")\n            .resourceGroupName(\"existing\")\n            .build());\n\n        ctx.export(\"id\", example.id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:network:getNetworkSecurityPerimeter\n      arguments:\n        name: existing\n        resourceGroupName: existing\noutputs:\n  id: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2025-01-01\n","inputs":{"description":"A collection of arguments for invoking getNetworkSecurityPerimeter.\n","properties":{"name":{"type":"string","description":"The name of this Network Security Perimeter.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Network Security Perimeter exists.\n"}},"type":"object","required":["name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getNetworkSecurityPerimeter.\n","properties":{"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"location":{"description":"The Azure Region where the Network Security Perimeter exists.\n","type":"string"},"name":{"type":"string"},"resourceGroupName":{"type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"A mapping of tags assigned to the Network Security Perimeter.\n","type":"object"}},"required":["location","name","resourceGroupName","tags","id"],"type":"object"}},"azure:network/getNetworkSecurityPerimeterProfile:getNetworkSecurityPerimeterProfile":{"description":"Use this data source to access information about an existing Network Security Perimeter Profile.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.network.getNetworkSecurityPerimeter({\n    name: \"existing\",\n    resourceGroupName: \"existing\",\n});\nconst exampleGetNetworkSecurityPerimeterProfile = example.then(example =\u003e azure.network.getNetworkSecurityPerimeterProfile({\n    name: \"existing\",\n    networkSecurityPerimeterId: example.id,\n}));\nexport const id = exampleGetNetworkSecurityPerimeterProfile.then(exampleGetNetworkSecurityPerimeterProfile =\u003e exampleGetNetworkSecurityPerimeterProfile.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.network.get_network_security_perimeter(name=\"existing\",\n    resource_group_name=\"existing\")\nexample_get_network_security_perimeter_profile = azure.network.get_network_security_perimeter_profile(name=\"existing\",\n    network_security_perimeter_id=example.id)\npulumi.export(\"id\", example_get_network_security_perimeter_profile.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Network.GetNetworkSecurityPerimeter.Invoke(new()\n    {\n        Name = \"existing\",\n        ResourceGroupName = \"existing\",\n    });\n\n    var exampleGetNetworkSecurityPerimeterProfile = Azure.Network.GetNetworkSecurityPerimeterProfile.Invoke(new()\n    {\n        Name = \"existing\",\n        NetworkSecurityPerimeterId = example.Apply(getNetworkSecurityPerimeterResult =\u003e getNetworkSecurityPerimeterResult.Id),\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"id\"] = exampleGetNetworkSecurityPerimeterProfile.Apply(getNetworkSecurityPerimeterProfileResult =\u003e getNetworkSecurityPerimeterProfileResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := network.LookupNetworkSecurityPerimeter(ctx, \u0026network.LookupNetworkSecurityPerimeterArgs{\n\t\t\tName:              \"existing\",\n\t\t\tResourceGroupName: \"existing\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleGetNetworkSecurityPerimeterProfile, err := network.LookupNetworkSecurityPerimeterProfile(ctx, \u0026network.LookupNetworkSecurityPerimeterProfileArgs{\n\t\t\tName:                       \"existing\",\n\t\t\tNetworkSecurityPerimeterId: example.Id,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"id\", exampleGetNetworkSecurityPerimeterProfile.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.network.NetworkFunctions;\nimport com.pulumi.azure.network.inputs.GetNetworkSecurityPerimeterArgs;\nimport com.pulumi.azure.network.inputs.GetNetworkSecurityPerimeterProfileArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = NetworkFunctions.getNetworkSecurityPerimeter(GetNetworkSecurityPerimeterArgs.builder()\n            .name(\"existing\")\n            .resourceGroupName(\"existing\")\n            .build());\n\n        final var exampleGetNetworkSecurityPerimeterProfile = NetworkFunctions.getNetworkSecurityPerimeterProfile(GetNetworkSecurityPerimeterProfileArgs.builder()\n            .name(\"existing\")\n            .networkSecurityPerimeterId(example.id())\n            .build());\n\n        ctx.export(\"id\", exampleGetNetworkSecurityPerimeterProfile.id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:network:getNetworkSecurityPerimeter\n      arguments:\n        name: existing\n        resourceGroupName: existing\n  exampleGetNetworkSecurityPerimeterProfile:\n    fn::invoke:\n      function: azure:network:getNetworkSecurityPerimeterProfile\n      arguments:\n        name: existing\n        networkSecurityPerimeterId: ${example.id}\noutputs:\n  id: ${exampleGetNetworkSecurityPerimeterProfile.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2025-01-01\n","inputs":{"description":"A collection of arguments for invoking getNetworkSecurityPerimeterProfile.\n","properties":{"name":{"type":"string","description":"The name of this Network Security Perimeter Profile.\n"},"networkSecurityPerimeterId":{"type":"string","description":"The ID of the Network Security Perimeter.\n"}},"type":"object","required":["name","networkSecurityPerimeterId"]},"outputs":{"description":"A collection of values returned by getNetworkSecurityPerimeterProfile.\n","properties":{"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"name":{"type":"string"},"networkSecurityPerimeterId":{"type":"string"}},"required":["name","networkSecurityPerimeterId","id"],"type":"object"}},"azure:network/getNetworkWatcher:getNetworkWatcher":{"description":"Use this data source to access information about an existing Network Watcher.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.network.getNetworkWatcher({\n    name: exampleAzurermNetworkWatcher.name,\n    resourceGroupName: exampleAzurermResourceGroup.name,\n});\nexport const networkWatcherId = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.network.get_network_watcher(name=example_azurerm_network_watcher[\"name\"],\n    resource_group_name=example_azurerm_resource_group[\"name\"])\npulumi.export(\"networkWatcherId\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Network.GetNetworkWatcher.Invoke(new()\n    {\n        Name = exampleAzurermNetworkWatcher.Name,\n        ResourceGroupName = exampleAzurermResourceGroup.Name,\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"networkWatcherId\"] = example.Apply(getNetworkWatcherResult =\u003e getNetworkWatcherResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := network.LookupNetworkWatcher(ctx, \u0026network.LookupNetworkWatcherArgs{\n\t\t\tName:              exampleAzurermNetworkWatcher.Name,\n\t\t\tResourceGroupName: exampleAzurermResourceGroup.Name,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"networkWatcherId\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.network.NetworkFunctions;\nimport com.pulumi.azure.network.inputs.GetNetworkWatcherArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = NetworkFunctions.getNetworkWatcher(GetNetworkWatcherArgs.builder()\n            .name(exampleAzurermNetworkWatcher.name())\n            .resourceGroupName(exampleAzurermResourceGroup.name())\n            .build());\n\n        ctx.export(\"networkWatcherId\", example.id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:network:getNetworkWatcher\n      arguments:\n        name: ${exampleAzurermNetworkWatcher.name}\n        resourceGroupName: ${exampleAzurermResourceGroup.name}\noutputs:\n  networkWatcherId: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2025-01-01\n","inputs":{"description":"A collection of arguments for invoking getNetworkWatcher.\n","properties":{"name":{"type":"string","description":"Specifies the Name of the Network Watcher.\n"},"resourceGroupName":{"type":"string","description":"Specifies the Name of the Resource Group within which the Network Watcher exists.\n"}},"type":"object","required":["name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getNetworkWatcher.\n","properties":{"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"location":{"description":"The supported Azure location where the resource exists.\n","type":"string"},"name":{"type":"string"},"resourceGroupName":{"type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"A mapping of tags assigned to the resource.\n","type":"object"}},"required":["location","name","resourceGroupName","tags","id"],"type":"object"}},"azure:network/getPublicIP:getPublicIP":{"description":"Use this data source to access information about an existing Public IP Address.\n\n## Example Usage\n\n### Reference An Existing)\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.network.getPublicIP({\n    name: \"name_of_public_ip\",\n    resourceGroupName: \"name_of_resource_group\",\n});\nexport const domainNameLabel = example.then(example =\u003e example.domainNameLabel);\nexport const publicIpAddress = example.then(example =\u003e example.ipAddress);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.network.get_public_ip(name=\"name_of_public_ip\",\n    resource_group_name=\"name_of_resource_group\")\npulumi.export(\"domainNameLabel\", example.domain_name_label)\npulumi.export(\"publicIpAddress\", example.ip_address)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Network.GetPublicIP.Invoke(new()\n    {\n        Name = \"name_of_public_ip\",\n        ResourceGroupName = \"name_of_resource_group\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"domainNameLabel\"] = example.Apply(getPublicIPResult =\u003e getPublicIPResult.DomainNameLabel),\n        [\"publicIpAddress\"] = example.Apply(getPublicIPResult =\u003e getPublicIPResult.IpAddress),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := network.GetPublicIP(ctx, \u0026network.GetPublicIPArgs{\n\t\t\tName:              \"name_of_public_ip\",\n\t\t\tResourceGroupName: \"name_of_resource_group\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"domainNameLabel\", example.DomainNameLabel)\n\t\tctx.Export(\"publicIpAddress\", example.IpAddress)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.network.NetworkFunctions;\nimport com.pulumi.azure.network.inputs.GetPublicIPArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = NetworkFunctions.getPublicIP(GetPublicIPArgs.builder()\n            .name(\"name_of_public_ip\")\n            .resourceGroupName(\"name_of_resource_group\")\n            .build());\n\n        ctx.export(\"domainNameLabel\", example.domainNameLabel());\n        ctx.export(\"publicIpAddress\", example.ipAddress());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:network:getPublicIP\n      arguments:\n        name: name_of_public_ip\n        resourceGroupName: name_of_resource_group\noutputs:\n  domainNameLabel: ${example.domainNameLabel}\n  publicIpAddress: ${example.ipAddress}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\n### Retrieve The Dynamic Public IP Of A New VM)\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"example\", {\n    name: \"test-resources\",\n    location: \"West Europe\",\n});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"example\", {\n    name: \"test-network\",\n    addressSpaces: [\"10.0.0.0/16\"],\n    location: exampleResourceGroup.location,\n    resourceGroupName: exampleResourceGroup.name,\n});\nconst exampleSubnet = new azure.network.Subnet(\"example\", {\n    name: \"acctsub\",\n    resourceGroupName: exampleResourceGroup.name,\n    virtualNetworkName: exampleVirtualNetwork.name,\n    addressPrefixes: [\"10.0.2.0/24\"],\n});\nconst examplePublicIp = new azure.network.PublicIp(\"example\", {\n    name: \"test-pip\",\n    location: exampleResourceGroup.location,\n    resourceGroupName: exampleResourceGroup.name,\n    allocationMethod: \"Dynamic\",\n    idleTimeoutInMinutes: 30,\n    tags: {\n        environment: \"test\",\n    },\n});\nconst exampleNetworkInterface = new azure.network.NetworkInterface(\"example\", {\n    name: \"test-nic\",\n    location: exampleResourceGroup.location,\n    resourceGroupName: exampleResourceGroup.name,\n    ipConfigurations: [{\n        name: \"testconfiguration1\",\n        subnetId: exampleSubnet.id,\n        privateIpAddressAllocation: \"Static\",\n        privateIpAddress: \"10.0.2.5\",\n        publicIpAddressId: examplePublicIp.id,\n    }],\n});\nconst exampleVirtualMachine = new azure.compute.VirtualMachine(\"example\", {\n    name: \"test-vm\",\n    location: exampleResourceGroup.location,\n    resourceGroupName: exampleResourceGroup.name,\n    networkInterfaceIds: [exampleNetworkInterface.id],\n});\nconst example = azure.network.getPublicIPOutput({\n    name: examplePublicIp.name,\n    resourceGroupName: exampleVirtualMachine.resourceGroupName,\n});\nexport const publicIpAddress = example.apply(example =\u003e example.ipAddress);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"example\",\n    name=\"test-resources\",\n    location=\"West Europe\")\nexample_virtual_network = azure.network.VirtualNetwork(\"example\",\n    name=\"test-network\",\n    address_spaces=[\"10.0.0.0/16\"],\n    location=example_resource_group.location,\n    resource_group_name=example_resource_group.name)\nexample_subnet = azure.network.Subnet(\"example\",\n    name=\"acctsub\",\n    resource_group_name=example_resource_group.name,\n    virtual_network_name=example_virtual_network.name,\n    address_prefixes=[\"10.0.2.0/24\"])\nexample_public_ip = azure.network.PublicIp(\"example\",\n    name=\"test-pip\",\n    location=example_resource_group.location,\n    resource_group_name=example_resource_group.name,\n    allocation_method=\"Dynamic\",\n    idle_timeout_in_minutes=30,\n    tags={\n        \"environment\": \"test\",\n    })\nexample_network_interface = azure.network.NetworkInterface(\"example\",\n    name=\"test-nic\",\n    location=example_resource_group.location,\n    resource_group_name=example_resource_group.name,\n    ip_configurations=[{\n        \"name\": \"testconfiguration1\",\n        \"subnet_id\": example_subnet.id,\n        \"private_ip_address_allocation\": \"Static\",\n        \"private_ip_address\": \"10.0.2.5\",\n        \"public_ip_address_id\": example_public_ip.id,\n    }])\nexample_virtual_machine = azure.compute.VirtualMachine(\"example\",\n    name=\"test-vm\",\n    location=example_resource_group.location,\n    resource_group_name=example_resource_group.name,\n    network_interface_ids=[example_network_interface.id])\nexample = azure.network.get_public_ip_output(name=example_public_ip.name,\n    resource_group_name=example_virtual_machine.resource_group_name)\npulumi.export(\"publicIpAddress\", example.ip_address)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleResourceGroup = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"test-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleVirtualNetwork = new Azure.Network.VirtualNetwork(\"example\", new()\n    {\n        Name = \"test-network\",\n        AddressSpaces = new[]\n        {\n            \"10.0.0.0/16\",\n        },\n        Location = exampleResourceGroup.Location,\n        ResourceGroupName = exampleResourceGroup.Name,\n    });\n\n    var exampleSubnet = new Azure.Network.Subnet(\"example\", new()\n    {\n        Name = \"acctsub\",\n        ResourceGroupName = exampleResourceGroup.Name,\n        VirtualNetworkName = exampleVirtualNetwork.Name,\n        AddressPrefixes = new[]\n        {\n            \"10.0.2.0/24\",\n        },\n    });\n\n    var examplePublicIp = new Azure.Network.PublicIp(\"example\", new()\n    {\n        Name = \"test-pip\",\n        Location = exampleResourceGroup.Location,\n        ResourceGroupName = exampleResourceGroup.Name,\n        AllocationMethod = \"Dynamic\",\n        IdleTimeoutInMinutes = 30,\n        Tags = \n        {\n            { \"environment\", \"test\" },\n        },\n    });\n\n    var exampleNetworkInterface = new Azure.Network.NetworkInterface(\"example\", new()\n    {\n        Name = \"test-nic\",\n        Location = exampleResourceGroup.Location,\n        ResourceGroupName = exampleResourceGroup.Name,\n        IpConfigurations = new[]\n        {\n            new Azure.Network.Inputs.NetworkInterfaceIpConfigurationArgs\n            {\n                Name = \"testconfiguration1\",\n                SubnetId = exampleSubnet.Id,\n                PrivateIpAddressAllocation = \"Static\",\n                PrivateIpAddress = \"10.0.2.5\",\n                PublicIpAddressId = examplePublicIp.Id,\n            },\n        },\n    });\n\n    var exampleVirtualMachine = new Azure.Compute.VirtualMachine(\"example\", new()\n    {\n        Name = \"test-vm\",\n        Location = exampleResourceGroup.Location,\n        ResourceGroupName = exampleResourceGroup.Name,\n        NetworkInterfaceIds = new[]\n        {\n            exampleNetworkInterface.Id,\n        },\n    });\n\n    var example = Azure.Network.GetPublicIP.Invoke(new()\n    {\n        Name = examplePublicIp.Name,\n        ResourceGroupName = exampleVirtualMachine.ResourceGroupName,\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"publicIpAddress\"] = example.Apply(getPublicIPResult =\u003e getPublicIPResult.IpAddress),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/compute\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"test-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, \"example\", \u0026network.VirtualNetworkArgs{\n\t\t\tName: pulumi.String(\"test-network\"),\n\t\t\tAddressSpaces: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.0.0/16\"),\n\t\t\t},\n\t\t\tLocation:          exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSubnet, err := network.NewSubnet(ctx, \"example\", \u0026network.SubnetArgs{\n\t\t\tName:               pulumi.String(\"acctsub\"),\n\t\t\tResourceGroupName:  exampleResourceGroup.Name,\n\t\t\tVirtualNetworkName: exampleVirtualNetwork.Name,\n\t\t\tAddressPrefixes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.2.0/24\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texamplePublicIp, err := network.NewPublicIp(ctx, \"example\", \u0026network.PublicIpArgs{\n\t\t\tName:                 pulumi.String(\"test-pip\"),\n\t\t\tLocation:             exampleResourceGroup.Location,\n\t\t\tResourceGroupName:    exampleResourceGroup.Name,\n\t\t\tAllocationMethod:     pulumi.String(\"Dynamic\"),\n\t\t\tIdleTimeoutInMinutes: pulumi.Int(30),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"environment\": pulumi.String(\"test\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNetworkInterface, err := network.NewNetworkInterface(ctx, \"example\", \u0026network.NetworkInterfaceArgs{\n\t\t\tName:              pulumi.String(\"test-nic\"),\n\t\t\tLocation:          exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tIpConfigurations: network.NetworkInterfaceIpConfigurationArray{\n\t\t\t\t\u0026network.NetworkInterfaceIpConfigurationArgs{\n\t\t\t\t\tName:                       pulumi.String(\"testconfiguration1\"),\n\t\t\t\t\tSubnetId:                   exampleSubnet.ID(),\n\t\t\t\t\tPrivateIpAddressAllocation: pulumi.String(\"Static\"),\n\t\t\t\t\tPrivateIpAddress:           pulumi.String(\"10.0.2.5\"),\n\t\t\t\t\tPublicIpAddressId:          examplePublicIp.ID(),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualMachine, err := compute.NewVirtualMachine(ctx, \"example\", \u0026compute.VirtualMachineArgs{\n\t\t\tName:              pulumi.String(\"test-vm\"),\n\t\t\tLocation:          exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tNetworkInterfaceIds: pulumi.StringArray{\n\t\t\t\texampleNetworkInterface.ID(),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample := network.GetPublicIPOutput(ctx, network.GetPublicIPOutputArgs{\n\t\t\tName:              examplePublicIp.Name,\n\t\t\tResourceGroupName: exampleVirtualMachine.ResourceGroupName,\n\t\t}, nil)\n\t\tctx.Export(\"publicIpAddress\", example.ApplyT(func(example network.GetPublicIPResult) (*string, error) {\n\t\t\treturn \u0026example.IpAddress, nil\n\t\t}).(pulumi.StringPtrOutput))\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.VirtualNetwork;\nimport com.pulumi.azure.network.VirtualNetworkArgs;\nimport com.pulumi.azure.network.Subnet;\nimport com.pulumi.azure.network.SubnetArgs;\nimport com.pulumi.azure.network.PublicIp;\nimport com.pulumi.azure.network.PublicIpArgs;\nimport com.pulumi.azure.network.NetworkInterface;\nimport com.pulumi.azure.network.NetworkInterfaceArgs;\nimport com.pulumi.azure.network.inputs.NetworkInterfaceIpConfigurationArgs;\nimport com.pulumi.azure.compute.VirtualMachine;\nimport com.pulumi.azure.compute.VirtualMachineArgs;\nimport com.pulumi.azure.network.NetworkFunctions;\nimport com.pulumi.azure.network.inputs.GetPublicIPArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var exampleResourceGroup = new ResourceGroup(\"exampleResourceGroup\", ResourceGroupArgs.builder()\n            .name(\"test-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleVirtualNetwork = new VirtualNetwork(\"exampleVirtualNetwork\", VirtualNetworkArgs.builder()\n            .name(\"test-network\")\n            .addressSpaces(\"10.0.0.0/16\")\n            .location(exampleResourceGroup.location())\n            .resourceGroupName(exampleResourceGroup.name())\n            .build());\n\n        var exampleSubnet = new Subnet(\"exampleSubnet\", SubnetArgs.builder()\n            .name(\"acctsub\")\n            .resourceGroupName(exampleResourceGroup.name())\n            .virtualNetworkName(exampleVirtualNetwork.name())\n            .addressPrefixes(\"10.0.2.0/24\")\n            .build());\n\n        var examplePublicIp = new PublicIp(\"examplePublicIp\", PublicIpArgs.builder()\n            .name(\"test-pip\")\n            .location(exampleResourceGroup.location())\n            .resourceGroupName(exampleResourceGroup.name())\n            .allocationMethod(\"Dynamic\")\n            .idleTimeoutInMinutes(30)\n            .tags(Map.of(\"environment\", \"test\"))\n            .build());\n\n        var exampleNetworkInterface = new NetworkInterface(\"exampleNetworkInterface\", NetworkInterfaceArgs.builder()\n            .name(\"test-nic\")\n            .location(exampleResourceGroup.location())\n            .resourceGroupName(exampleResourceGroup.name())\n            .ipConfigurations(NetworkInterfaceIpConfigurationArgs.builder()\n                .name(\"testconfiguration1\")\n                .subnetId(exampleSubnet.id())\n                .privateIpAddressAllocation(\"Static\")\n                .privateIpAddress(\"10.0.2.5\")\n                .publicIpAddressId(examplePublicIp.id())\n                .build())\n            .build());\n\n        var exampleVirtualMachine = new VirtualMachine(\"exampleVirtualMachine\", VirtualMachineArgs.builder()\n            .name(\"test-vm\")\n            .location(exampleResourceGroup.location())\n            .resourceGroupName(exampleResourceGroup.name())\n            .networkInterfaceIds(exampleNetworkInterface.id())\n            .build());\n\n        final var example = NetworkFunctions.getPublicIP(GetPublicIPArgs.builder()\n            .name(examplePublicIp.name())\n            .resourceGroupName(exampleVirtualMachine.resourceGroupName())\n            .build());\n\n        ctx.export(\"publicIpAddress\", example.applyValue(_example -\u003e _example.ipAddress()));\n    }\n}\n```\n```yaml\nresources:\n  exampleResourceGroup:\n    type: azure:core:ResourceGroup\n    name: example\n    properties:\n      name: test-resources\n      location: West Europe\n  exampleVirtualNetwork:\n    type: azure:network:VirtualNetwork\n    name: example\n    properties:\n      name: test-network\n      addressSpaces:\n        - 10.0.0.0/16\n      location: ${exampleResourceGroup.location}\n      resourceGroupName: ${exampleResourceGroup.name}\n  exampleSubnet:\n    type: azure:network:Subnet\n    name: example\n    properties:\n      name: acctsub\n      resourceGroupName: ${exampleResourceGroup.name}\n      virtualNetworkName: ${exampleVirtualNetwork.name}\n      addressPrefixes:\n        - 10.0.2.0/24\n  examplePublicIp:\n    type: azure:network:PublicIp\n    name: example\n    properties:\n      name: test-pip\n      location: ${exampleResourceGroup.location}\n      resourceGroupName: ${exampleResourceGroup.name}\n      allocationMethod: Dynamic\n      idleTimeoutInMinutes: 30\n      tags:\n        environment: test\n  exampleNetworkInterface:\n    type: azure:network:NetworkInterface\n    name: example\n    properties:\n      name: test-nic\n      location: ${exampleResourceGroup.location}\n      resourceGroupName: ${exampleResourceGroup.name}\n      ipConfigurations:\n        - name: testconfiguration1\n          subnetId: ${exampleSubnet.id}\n          privateIpAddressAllocation: Static\n          privateIpAddress: 10.0.2.5\n          publicIpAddressId: ${examplePublicIp.id}\n  exampleVirtualMachine:\n    type: azure:compute:VirtualMachine\n    name: example\n    properties:\n      name: test-vm\n      location: ${exampleResourceGroup.location}\n      resourceGroupName: ${exampleResourceGroup.name}\n      networkInterfaceIds: # ...\n        - ${exampleNetworkInterface.id}\nvariables:\n  example:\n    fn::invoke:\n      function: azure:network:getPublicIP\n      arguments:\n        name: ${examplePublicIp.name}\n        resourceGroupName: ${exampleVirtualMachine.resourceGroupName}\noutputs:\n  publicIpAddress: ${example.ipAddress}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2025-01-01\n","inputs":{"description":"A collection of arguments for invoking getPublicIP.\n","properties":{"name":{"type":"string","description":"Specifies the name of the public IP address.\n"},"resourceGroupName":{"type":"string","description":"Specifies the name of the resource group.\n"}},"type":"object","required":["name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getPublicIP.\n","properties":{"allocationMethod":{"description":"The allocation method for this IP address. Possible values are `Static` or `Dynamic`.\n","type":"string"},"ddosProtectionMode":{"description":"The DDoS protection mode of the public IP.\n","type":"string"},"ddosProtectionPlanId":{"description":"The ID of DDoS protection plan associated with the public IP.\n","type":"string"},"domainNameLabel":{"description":"The label for the Domain Name.\n","type":"string"},"fqdn":{"description":"Fully qualified domain name of the A DNS record associated with the public IP. This is the concatenation of the domainNameLabel and the regionalized DNS zone.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"idleTimeoutInMinutes":{"description":"Specifies the timeout for the TCP idle connection.\n","type":"integer"},"ipAddress":{"description":"The IP address value that was allocated.\n","type":"string"},"ipTags":{"additionalProperties":{"type":"string"},"description":"A mapping of tags to assigned to the resource.\n","type":"object"},"ipVersion":{"description":"The IP version being used, for example `IPv4` or `IPv6`.\n","type":"string"},"location":{"description":"The region that this public ip exists.\n","type":"string"},"name":{"type":"string"},"resourceGroupName":{"type":"string"},"reverseFqdn":{"description":"The fully qualified domain name that resolves to this public IP address.\n","type":"string"},"sku":{"description":"The SKU of the Public IP.\n","type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"A mapping of tags to assigned to the resource.\n","type":"object"},"zones":{"description":"A list of Availability Zones in which this Public IP is located.\n","items":{"type":"string"},"type":"array"}},"required":["allocationMethod","ddosProtectionMode","ddosProtectionPlanId","domainNameLabel","fqdn","idleTimeoutInMinutes","ipAddress","ipTags","ipVersion","location","name","resourceGroupName","reverseFqdn","sku","tags","zones","id"],"type":"object"}},"azure:network/getPublicIPs:getPublicIPs":{"description":"Use this data source to access information about a set of existing Public IP Addresses.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.network.getPublicIPs({\n    resourceGroupName: \"pip-test\",\n    attachmentStatus: \"Attached\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.network.get_public_i_ps(resource_group_name=\"pip-test\",\n    attachment_status=\"Attached\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Network.GetPublicIPs.Invoke(new()\n    {\n        ResourceGroupName = \"pip-test\",\n        AttachmentStatus = \"Attached\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := network.GetPublicIPs(ctx, \u0026network.GetPublicIPsArgs{\n\t\t\tResourceGroupName: \"pip-test\",\n\t\t\tAttachmentStatus:  pulumi.StringRef(\"Attached\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.network.NetworkFunctions;\nimport com.pulumi.azure.network.inputs.GetPublicIPsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = NetworkFunctions.getPublicIPs(GetPublicIPsArgs.builder()\n            .resourceGroupName(\"pip-test\")\n            .attachmentStatus(\"Attached\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:network:getPublicIPs\n      arguments:\n        resourceGroupName: pip-test\n        attachmentStatus: Attached\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2025-01-01\n","inputs":{"description":"A collection of arguments for invoking getPublicIPs.\n","properties":{"allocationType":{"type":"string","description":"The Allocation Type for the Public IP Address. Possible values include `Static` or `Dynamic`.\n"},"attachmentStatus":{"type":"string","description":"Filter to include IP Addresses which are attached to a device, such as a VM/LB (`Attached`) or unattached (`Unattached`).\n"},"namePrefix":{"type":"string","description":"A prefix match used for the IP Addresses \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e field, case sensitive.\n"},"resourceGroupName":{"type":"string","description":"Specifies the name of the resource group.\n"}},"type":"object","required":["resourceGroupName"]},"outputs":{"description":"A collection of values returned by getPublicIPs.\n","properties":{"allocationType":{"type":"string"},"attachmentStatus":{"type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"namePrefix":{"type":"string"},"publicIps":{"description":"A List of \u003cspan pulumi-lang-nodejs=\"`publicIps`\" pulumi-lang-dotnet=\"`PublicIps`\" pulumi-lang-go=\"`publicIps`\" pulumi-lang-python=\"`public_ips`\" pulumi-lang-yaml=\"`publicIps`\" pulumi-lang-java=\"`publicIps`\"\u003e`public_ips`\u003c/span\u003e blocks as defined below filtered by the criteria above.\n","items":{"$ref":"#/types/azure:network/getPublicIPsPublicIp:getPublicIPsPublicIp"},"type":"array"},"resourceGroupName":{"type":"string"}},"required":["publicIps","resourceGroupName","id"],"type":"object"}},"azure:network/getPublicIpPrefix:getPublicIpPrefix":{"description":"Use this data source to access information about an existing Public IP Prefix.\n\n## Example Usage\n\n### Reference An Existing)\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.network.getPublicIpPrefix({\n    name: \"name_of_public_ip\",\n    resourceGroupName: \"name_of_resource_group\",\n});\nexport const publicIpPrefix = example.then(example =\u003e example.ipPrefix);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.network.get_public_ip_prefix(name=\"name_of_public_ip\",\n    resource_group_name=\"name_of_resource_group\")\npulumi.export(\"publicIpPrefix\", example.ip_prefix)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Network.GetPublicIpPrefix.Invoke(new()\n    {\n        Name = \"name_of_public_ip\",\n        ResourceGroupName = \"name_of_resource_group\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"publicIpPrefix\"] = example.Apply(getPublicIpPrefixResult =\u003e getPublicIpPrefixResult.IpPrefix),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := network.LookupPublicIpPrefix(ctx, \u0026network.LookupPublicIpPrefixArgs{\n\t\t\tName:              \"name_of_public_ip\",\n\t\t\tResourceGroupName: \"name_of_resource_group\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"publicIpPrefix\", example.IpPrefix)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.network.NetworkFunctions;\nimport com.pulumi.azure.network.inputs.GetPublicIpPrefixArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = NetworkFunctions.getPublicIpPrefix(GetPublicIpPrefixArgs.builder()\n            .name(\"name_of_public_ip\")\n            .resourceGroupName(\"name_of_resource_group\")\n            .build());\n\n        ctx.export(\"publicIpPrefix\", example.ipPrefix());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:network:getPublicIpPrefix\n      arguments:\n        name: name_of_public_ip\n        resourceGroupName: name_of_resource_group\noutputs:\n  publicIpPrefix: ${example.ipPrefix}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2025-01-01\n","inputs":{"description":"A collection of arguments for invoking getPublicIpPrefix.\n","properties":{"name":{"type":"string","description":"Specifies the name of the public IP prefix.\n"},"resourceGroupName":{"type":"string","description":"Specifies the name of the resource group.\n"}},"type":"object","required":["name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getPublicIpPrefix.\n","properties":{"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"ipPrefix":{"description":"The Public IP address range, in CIDR notation.\n","type":"string"},"location":{"description":"The supported Azure location where the resource exists.\n","type":"string"},"name":{"type":"string"},"prefixLength":{"description":"The number of bits of the prefix.\n","type":"integer"},"resourceGroupName":{"type":"string"},"sku":{"description":"The SKU of the Public IP Prefix.\n","type":"string"},"skuTier":{"description":"The SKU Tier of the Public IP.\n","type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"A mapping of tags to assigned to the resource.\n","type":"object"},"zones":{"description":"A list of Availability Zones in which this Public IP Prefix is located.\n","items":{"type":"string"},"type":"array"}},"required":["ipPrefix","location","name","prefixLength","resourceGroupName","sku","skuTier","tags","zones","id"],"type":"object"}},"azure:network/getRouteFilter:getRouteFilter":{"description":"Use this data source to access information about an existing Route Filter.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.network.getRouteFilter({\n    name: \"existing\",\n    resourceGroupName: \"existing\",\n});\nexport const id = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.network.get_route_filter(name=\"existing\",\n    resource_group_name=\"existing\")\npulumi.export(\"id\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Network.GetRouteFilter.Invoke(new()\n    {\n        Name = \"existing\",\n        ResourceGroupName = \"existing\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"id\"] = example.Apply(getRouteFilterResult =\u003e getRouteFilterResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := network.LookupRouteFilter(ctx, \u0026network.LookupRouteFilterArgs{\n\t\t\tName:              \"existing\",\n\t\t\tResourceGroupName: \"existing\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"id\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.network.NetworkFunctions;\nimport com.pulumi.azure.network.inputs.GetRouteFilterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = NetworkFunctions.getRouteFilter(GetRouteFilterArgs.builder()\n            .name(\"existing\")\n            .resourceGroupName(\"existing\")\n            .build());\n\n        ctx.export(\"id\", example.id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:network:getRouteFilter\n      arguments:\n        name: existing\n        resourceGroupName: existing\noutputs:\n  id: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2025-01-01\n","inputs":{"description":"A collection of arguments for invoking getRouteFilter.\n","properties":{"name":{"type":"string","description":"The Name of this Route Filter.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Route Filter exists.\n"}},"type":"object","required":["name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getRouteFilter.\n","properties":{"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"location":{"description":"The Azure Region where the Route Filter exists.\n","type":"string"},"name":{"description":"The Name of Route Filter Rule\n","type":"string"},"resourceGroupName":{"type":"string"},"rules":{"description":"A \u003cspan pulumi-lang-nodejs=\"`rule`\" pulumi-lang-dotnet=\"`Rule`\" pulumi-lang-go=\"`rule`\" pulumi-lang-python=\"`rule`\" pulumi-lang-yaml=\"`rule`\" pulumi-lang-java=\"`rule`\"\u003e`rule`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:network/getRouteFilterRule:getRouteFilterRule"},"type":"array"},"tags":{"additionalProperties":{"type":"string"},"description":"A mapping of tags assigned to the Route Filter.\n","type":"object"}},"required":["location","name","resourceGroupName","rules","tags","id"],"type":"object"}},"azure:network/getRouteTable:getRouteTable":{"description":"Use this data source to access information about an existing Route Table.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.network.getRouteTable({\n    name: \"myroutetable\",\n    resourceGroupName: \"some-resource-group\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.network.get_route_table(name=\"myroutetable\",\n    resource_group_name=\"some-resource-group\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Network.GetRouteTable.Invoke(new()\n    {\n        Name = \"myroutetable\",\n        ResourceGroupName = \"some-resource-group\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := network.LookupRouteTable(ctx, \u0026network.LookupRouteTableArgs{\n\t\t\tName:              \"myroutetable\",\n\t\t\tResourceGroupName: \"some-resource-group\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.network.NetworkFunctions;\nimport com.pulumi.azure.network.inputs.GetRouteTableArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = NetworkFunctions.getRouteTable(GetRouteTableArgs.builder()\n            .name(\"myroutetable\")\n            .resourceGroupName(\"some-resource-group\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:network:getRouteTable\n      arguments:\n        name: myroutetable\n        resourceGroupName: some-resource-group\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2025-01-01\n","inputs":{"description":"A collection of arguments for invoking getRouteTable.\n","properties":{"name":{"type":"string","description":"The name of the Route Table.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group in which the Route Table exists.\n"}},"type":"object","required":["name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getRouteTable.\n","properties":{"bgpRoutePropagationEnabled":{"description":"Boolean flag which controls propagation of routes learned by BGP on that route table.\n","type":"boolean"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"location":{"description":"The Azure Region in which the Route Table exists.\n","type":"string"},"name":{"description":"The name of the Route.\n","type":"string"},"resourceGroupName":{"type":"string"},"routes":{"description":"One or more \u003cspan pulumi-lang-nodejs=\"`route`\" pulumi-lang-dotnet=\"`Route`\" pulumi-lang-go=\"`route`\" pulumi-lang-python=\"`route`\" pulumi-lang-yaml=\"`route`\" pulumi-lang-java=\"`route`\"\u003e`route`\u003c/span\u003e blocks as documented below.\n","items":{"$ref":"#/types/azure:network/getRouteTableRoute:getRouteTableRoute"},"type":"array"},"subnets":{"description":"The collection of Subnets associated with this route table.\n","items":{"type":"string"},"type":"array"},"tags":{"additionalProperties":{"type":"string"},"description":"A mapping of tags assigned to the Route Table.\n","type":"object"}},"required":["bgpRoutePropagationEnabled","location","name","resourceGroupName","routes","subnets","tags","id"],"type":"object"}},"azure:network/getServiceTags:getServiceTags":{"description":"Use this data source to access information about Service Tags.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.network.getServiceTags({\n    location: \"westcentralus\",\n    service: \"AzureKeyVault\",\n    locationFilter: \"northeurope\",\n});\nexport const addressPrefixes = example.then(example =\u003e example.addressPrefixes);\nexport const ipv4Cidrs = example.then(example =\u003e example.ipv4Cidrs);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.network.get_service_tags(location=\"westcentralus\",\n    service=\"AzureKeyVault\",\n    location_filter=\"northeurope\")\npulumi.export(\"addressPrefixes\", example.address_prefixes)\npulumi.export(\"ipv4Cidrs\", example.ipv4_cidrs)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Network.GetServiceTags.Invoke(new()\n    {\n        Location = \"westcentralus\",\n        Service = \"AzureKeyVault\",\n        LocationFilter = \"northeurope\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"addressPrefixes\"] = example.Apply(getServiceTagsResult =\u003e getServiceTagsResult.AddressPrefixes),\n        [\"ipv4Cidrs\"] = example.Apply(getServiceTagsResult =\u003e getServiceTagsResult.Ipv4Cidrs),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := network.GetServiceTags(ctx, \u0026network.GetServiceTagsArgs{\n\t\t\tLocation:       \"westcentralus\",\n\t\t\tService:        \"AzureKeyVault\",\n\t\t\tLocationFilter: pulumi.StringRef(\"northeurope\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"addressPrefixes\", example.AddressPrefixes)\n\t\tctx.Export(\"ipv4Cidrs\", example.Ipv4Cidrs)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.network.NetworkFunctions;\nimport com.pulumi.azure.network.inputs.GetServiceTagsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = NetworkFunctions.getServiceTags(GetServiceTagsArgs.builder()\n            .location(\"westcentralus\")\n            .service(\"AzureKeyVault\")\n            .locationFilter(\"northeurope\")\n            .build());\n\n        ctx.export(\"addressPrefixes\", example.addressPrefixes());\n        ctx.export(\"ipv4Cidrs\", example.ipv4Cidrs());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:network:getServiceTags\n      arguments:\n        location: westcentralus\n        service: AzureKeyVault\n        locationFilter: northeurope\noutputs:\n  addressPrefixes: ${example.addressPrefixes}\n  ipv4Cidrs: ${example.ipv4Cidrs}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2025-01-01\n","inputs":{"description":"A collection of arguments for invoking getServiceTags.\n","properties":{"location":{"type":"string","description":"The Azure Region where the Service Tags exists. This value is not used to filter the results but for specifying the region to request. For filtering by region use \u003cspan pulumi-lang-nodejs=\"`locationFilter`\" pulumi-lang-dotnet=\"`LocationFilter`\" pulumi-lang-go=\"`locationFilter`\" pulumi-lang-python=\"`location_filter`\" pulumi-lang-yaml=\"`locationFilter`\" pulumi-lang-java=\"`locationFilter`\"\u003e`location_filter`\u003c/span\u003e instead.  More information can be found here: [Service Tags URL parameters](https://docs.microsoft.com/rest/api/virtualnetwork/servicetags/list#uri-parameters).\n","willReplaceOnChanges":true},"locationFilter":{"type":"string","description":"Changes the scope of the service tags. Can be any value that is also valid for \u003cspan pulumi-lang-nodejs=\"`location`\" pulumi-lang-dotnet=\"`Location`\" pulumi-lang-go=\"`location`\" pulumi-lang-python=\"`location`\" pulumi-lang-yaml=\"`location`\" pulumi-lang-java=\"`location`\"\u003e`location`\u003c/span\u003e. If this field is empty then all address prefixes are considered instead of only location specific ones.\n","willReplaceOnChanges":true},"service":{"type":"string","description":"The type of the service for which address prefixes will be fetched. Available service tags can be found here: [Available service tags](https://docs.microsoft.com/azure/virtual-network/service-tags-overview#available-service-tags).\n"}},"type":"object","required":["location","service"]},"outputs":{"description":"A collection of values returned by getServiceTags.\n","properties":{"addressPrefixes":{"description":"List of address prefixes for the service type (and optionally a specific region).\n","items":{"type":"string"},"type":"array"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"ipv4Cidrs":{"description":"List of IPv4 addresses for the service type (and optionally a specific region)\n","items":{"type":"string"},"type":"array"},"ipv6Cidrs":{"description":"List of IPv6 addresses for the service type (and optionally a specific region)\n","items":{"type":"string"},"type":"array"},"location":{"type":"string"},"locationFilter":{"type":"string"},"name":{"description":"The name of this Service Tags block.\n","type":"string"},"service":{"type":"string"}},"required":["addressPrefixes","ipv4Cidrs","ipv6Cidrs","location","name","service","id"],"type":"object"}},"azure:network/getSubnet:getSubnet":{"description":"Use this data source to access information about an existing Subnet within a Virtual Network.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.network.getSubnet({\n    name: \"backend\",\n    virtualNetworkName: \"production\",\n    resourceGroupName: \"networking\",\n});\nexport const subnetId = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.network.get_subnet(name=\"backend\",\n    virtual_network_name=\"production\",\n    resource_group_name=\"networking\")\npulumi.export(\"subnetId\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Network.GetSubnet.Invoke(new()\n    {\n        Name = \"backend\",\n        VirtualNetworkName = \"production\",\n        ResourceGroupName = \"networking\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"subnetId\"] = example.Apply(getSubnetResult =\u003e getSubnetResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := network.LookupSubnet(ctx, \u0026network.LookupSubnetArgs{\n\t\t\tName:               \"backend\",\n\t\t\tVirtualNetworkName: \"production\",\n\t\t\tResourceGroupName:  \"networking\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"subnetId\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.network.NetworkFunctions;\nimport com.pulumi.azure.network.inputs.GetSubnetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = NetworkFunctions.getSubnet(GetSubnetArgs.builder()\n            .name(\"backend\")\n            .virtualNetworkName(\"production\")\n            .resourceGroupName(\"networking\")\n            .build());\n\n        ctx.export(\"subnetId\", example.id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:network:getSubnet\n      arguments:\n        name: backend\n        virtualNetworkName: production\n        resourceGroupName: networking\noutputs:\n  subnetId: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2025-01-01\n","inputs":{"description":"A collection of arguments for invoking getSubnet.\n","properties":{"name":{"type":"string","description":"Specifies the name of the Subnet.\n"},"resourceGroupName":{"type":"string","description":"Specifies the name of the resource group the Virtual Network is located in.\n"},"virtualNetworkName":{"type":"string","description":"Specifies the name of the Virtual Network this Subnet is located within.\n"}},"type":"object","required":["name","resourceGroupName","virtualNetworkName"]},"outputs":{"description":"A collection of values returned by getSubnet.\n","properties":{"addressPrefix":{"type":"string"},"addressPrefixes":{"description":"The address prefixes for the subnet.\n","items":{"type":"string"},"type":"array"},"defaultOutboundAccessEnabled":{"description":"Is the default outbound access enabled for the subnet.\n","type":"boolean"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"name":{"type":"string"},"networkSecurityGroupId":{"description":"The ID of the Network Security Group associated with the subnet.\n","type":"string"},"privateEndpointNetworkPolicies":{"description":"Enable or Disable network policies for the private endpoint on the subnet.\n","type":"string"},"privateLinkServiceNetworkPoliciesEnabled":{"description":"Enable or Disable network policies for the private link service on the subnet.\n","type":"boolean"},"resourceGroupName":{"type":"string"},"routeTableId":{"description":"The ID of the Route Table associated with this subnet.\n","type":"string"},"serviceEndpoints":{"description":"A list of Service Endpoints within this subnet.\n","items":{"type":"string"},"type":"array"},"virtualNetworkName":{"type":"string"}},"required":["addressPrefix","addressPrefixes","defaultOutboundAccessEnabled","name","networkSecurityGroupId","privateEndpointNetworkPolicies","privateLinkServiceNetworkPoliciesEnabled","resourceGroupName","routeTableId","serviceEndpoints","virtualNetworkName","id"],"type":"object"}},"azure:network/getTrafficManager:getTrafficManager":{"description":"Use this data source to access the ID of a specified Traffic Manager Geographical Location within the Geographical Hierarchy.\n\n## Example Usage\n\n### World)\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.network.getTrafficManager({\n    name: \"World\",\n});\nexport const locationCode = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.network.get_traffic_manager(name=\"World\")\npulumi.export(\"locationCode\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Network.GetTrafficManager.Invoke(new()\n    {\n        Name = \"World\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"locationCode\"] = example.Apply(getTrafficManagerResult =\u003e getTrafficManagerResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := network.GetTrafficManager(ctx, \u0026network.GetTrafficManagerArgs{\n\t\t\tName: \"World\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"locationCode\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.network.NetworkFunctions;\nimport com.pulumi.azure.network.inputs.GetTrafficManagerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = NetworkFunctions.getTrafficManager(GetTrafficManagerArgs.builder()\n            .name(\"World\")\n            .build());\n\n        ctx.export(\"locationCode\", example.id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:network:getTrafficManager\n      arguments:\n        name: World\noutputs:\n  locationCode: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2022-04-01\n","inputs":{"description":"A collection of arguments for invoking getTrafficManager.\n","properties":{"name":{"type":"string","description":"Specifies the name of the Location, for example `World`, `Europe` or `Germany`.\n"}},"type":"object","required":["name"]},"outputs":{"description":"A collection of values returned by getTrafficManager.\n","properties":{"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"name":{"type":"string"}},"required":["name","id"],"type":"object"}},"azure:network/getTrafficManagerProfile:getTrafficManagerProfile":{"description":"Use this data source to access information about an existing Traffic Manager Profile.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.network.getTrafficManagerProfile({\n    name: \"test\",\n    resourceGroupName: \"test\",\n});\nexport const trafficRoutingMethod = example.then(example =\u003e example.trafficRoutingMethod);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.network.get_traffic_manager_profile(name=\"test\",\n    resource_group_name=\"test\")\npulumi.export(\"trafficRoutingMethod\", example.traffic_routing_method)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Network.GetTrafficManagerProfile.Invoke(new()\n    {\n        Name = \"test\",\n        ResourceGroupName = \"test\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"trafficRoutingMethod\"] = example.Apply(getTrafficManagerProfileResult =\u003e getTrafficManagerProfileResult.TrafficRoutingMethod),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := network.LookupTrafficManagerProfile(ctx, \u0026network.LookupTrafficManagerProfileArgs{\n\t\t\tName:              \"test\",\n\t\t\tResourceGroupName: \"test\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"trafficRoutingMethod\", example.TrafficRoutingMethod)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.network.NetworkFunctions;\nimport com.pulumi.azure.network.inputs.GetTrafficManagerProfileArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = NetworkFunctions.getTrafficManagerProfile(GetTrafficManagerProfileArgs.builder()\n            .name(\"test\")\n            .resourceGroupName(\"test\")\n            .build());\n\n        ctx.export(\"trafficRoutingMethod\", example.trafficRoutingMethod());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:network:getTrafficManagerProfile\n      arguments:\n        name: test\n        resourceGroupName: test\noutputs:\n  trafficRoutingMethod: ${example.trafficRoutingMethod}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2022-04-01\n","inputs":{"description":"A collection of arguments for invoking getTrafficManagerProfile.\n","properties":{"name":{"type":"string","description":"Specifies the name of the Traffic Manager Profile.\n"},"resourceGroupName":{"type":"string","description":"Specifies the name of the resource group the Traffic Manager Profile is located in.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n"},"trafficViewEnabled":{"type":"boolean","description":"Indicates whether Traffic View is enabled for the Traffic Manager profile.\n"}},"type":"object","required":["name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getTrafficManagerProfile.\n","properties":{"dnsConfigs":{"description":"This block specifies the DNS configuration of the Profile.\n","items":{"$ref":"#/types/azure:network/getTrafficManagerProfileDnsConfig:getTrafficManagerProfileDnsConfig"},"type":"array"},"fqdn":{"description":"The FQDN of the created Profile.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"monitorConfigs":{"description":"This block specifies the Endpoint monitoring configuration for the Profile.\n","items":{"$ref":"#/types/azure:network/getTrafficManagerProfileMonitorConfig:getTrafficManagerProfileMonitorConfig"},"type":"array"},"name":{"description":"The name of the custom header.\n","type":"string"},"profileStatus":{"description":"The status of the profile.\n","type":"string"},"resourceGroupName":{"type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n","type":"object"},"trafficRoutingMethod":{"description":"Specifies the algorithm used to route traffic.\n","type":"string"},"trafficViewEnabled":{"description":"Indicates whether Traffic View is enabled for the Traffic Manager profile.\n","type":"boolean"}},"required":["dnsConfigs","fqdn","monitorConfigs","name","profileStatus","resourceGroupName","trafficRoutingMethod","id"],"type":"object"}},"azure:network/getVirtualHub:getVirtualHub":{"description":"Uses this data source to access information about an existing Virtual Hub.\n\n## Virtual Hub Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.network.getVirtualHub({\n    name: \"example-hub\",\n    resourceGroupName: \"example-resources\",\n});\nexport const virtualHubId = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.network.get_virtual_hub(name=\"example-hub\",\n    resource_group_name=\"example-resources\")\npulumi.export(\"virtualHubId\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Network.GetVirtualHub.Invoke(new()\n    {\n        Name = \"example-hub\",\n        ResourceGroupName = \"example-resources\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"virtualHubId\"] = example.Apply(getVirtualHubResult =\u003e getVirtualHubResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := network.LookupVirtualHub(ctx, \u0026network.LookupVirtualHubArgs{\n\t\t\tName:              \"example-hub\",\n\t\t\tResourceGroupName: \"example-resources\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"virtualHubId\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.network.NetworkFunctions;\nimport com.pulumi.azure.network.inputs.GetVirtualHubArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = NetworkFunctions.getVirtualHub(GetVirtualHubArgs.builder()\n            .name(\"example-hub\")\n            .resourceGroupName(\"example-resources\")\n            .build());\n\n        ctx.export(\"virtualHubId\", example.id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:network:getVirtualHub\n      arguments:\n        name: example-hub\n        resourceGroupName: example-resources\noutputs:\n  virtualHubId: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2025-01-01\n","inputs":{"description":"A collection of arguments for invoking getVirtualHub.\n","properties":{"name":{"type":"string","description":"The name of the Virtual Hub.\n"},"resourceGroupName":{"type":"string","description":"The Name of the Resource Group where the Virtual Hub exists.\n"}},"type":"object","required":["name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getVirtualHub.\n","properties":{"addressPrefix":{"description":"The Address Prefix used for this Virtual Hub.\n","type":"string"},"defaultRouteTableId":{"description":"The ID of the default Route Table in the Virtual Hub.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"location":{"description":"The Azure Region where the Virtual Hub exists.\n","type":"string"},"name":{"type":"string"},"resourceGroupName":{"type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"A mapping of tags assigned to the Virtual Hub.\n","type":"object"},"virtualRouterAsn":{"description":"The Autonomous System Number of the Virtual Hub BGP router.\n","type":"integer"},"virtualRouterIps":{"description":"The IP addresses of the Virtual Hub BGP router.\n","items":{"type":"string"},"type":"array"},"virtualWanId":{"description":"The ID of the Virtual WAN within which the Virtual Hub exists.\n","type":"string"}},"required":["addressPrefix","defaultRouteTableId","location","name","resourceGroupName","tags","virtualRouterAsn","virtualRouterIps","virtualWanId","id"],"type":"object"}},"azure:network/getVirtualHubConnection:getVirtualHubConnection":{"description":"Uses this data source to access information about an existing Virtual Hub Connection.\n\n## Virtual Hub Connection Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.network.getVirtualHubConnection({\n    name: \"example-connection\",\n    resourceGroupName: \"example-resources\",\n    virtualHubName: \"example-hub-name\",\n});\nexport const virtualHubConnectionId = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.network.get_virtual_hub_connection(name=\"example-connection\",\n    resource_group_name=\"example-resources\",\n    virtual_hub_name=\"example-hub-name\")\npulumi.export(\"virtualHubConnectionId\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Network.GetVirtualHubConnection.Invoke(new()\n    {\n        Name = \"example-connection\",\n        ResourceGroupName = \"example-resources\",\n        VirtualHubName = \"example-hub-name\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"virtualHubConnectionId\"] = example.Apply(getVirtualHubConnectionResult =\u003e getVirtualHubConnectionResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := network.LookupVirtualHubConnection(ctx, \u0026network.LookupVirtualHubConnectionArgs{\n\t\t\tName:              \"example-connection\",\n\t\t\tResourceGroupName: \"example-resources\",\n\t\t\tVirtualHubName:    \"example-hub-name\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"virtualHubConnectionId\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.network.NetworkFunctions;\nimport com.pulumi.azure.network.inputs.GetVirtualHubConnectionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = NetworkFunctions.getVirtualHubConnection(GetVirtualHubConnectionArgs.builder()\n            .name(\"example-connection\")\n            .resourceGroupName(\"example-resources\")\n            .virtualHubName(\"example-hub-name\")\n            .build());\n\n        ctx.export(\"virtualHubConnectionId\", example.id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:network:getVirtualHubConnection\n      arguments:\n        name: example-connection\n        resourceGroupName: example-resources\n        virtualHubName: example-hub-name\noutputs:\n  virtualHubConnectionId: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2025-01-01\n","inputs":{"description":"A collection of arguments for invoking getVirtualHubConnection.\n","properties":{"name":{"type":"string","description":"The name of the Connection which should be retrieved.\n"},"resourceGroupName":{"type":"string","description":"The Name of the Resource Group where the Virtual Hub Connection exists.\n"},"virtualHubName":{"type":"string","description":"The name of the Virtual Hub where this Connection exists.\n"}},"type":"object","required":["name","resourceGroupName","virtualHubName"]},"outputs":{"description":"A collection of values returned by getVirtualHubConnection.\n","properties":{"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"internetSecurityEnabled":{"description":"Whether Internet Security is enabled to secure internet traffic on this connection\n","type":"boolean"},"name":{"description":"The name which is used for this Static Route.\n","type":"string"},"remoteVirtualNetworkId":{"description":"The ID of the Virtual Network which the Virtual Hub is connected\n","type":"string"},"resourceGroupName":{"type":"string"},"routings":{"description":"A \u003cspan pulumi-lang-nodejs=\"`routing`\" pulumi-lang-dotnet=\"`Routing`\" pulumi-lang-go=\"`routing`\" pulumi-lang-python=\"`routing`\" pulumi-lang-yaml=\"`routing`\" pulumi-lang-java=\"`routing`\"\u003e`routing`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:network/getVirtualHubConnectionRouting:getVirtualHubConnectionRouting"},"type":"array"},"virtualHubId":{"description":"The ID of the Virtual Hub within which this connection is created\n","type":"string"},"virtualHubName":{"type":"string"}},"required":["internetSecurityEnabled","name","remoteVirtualNetworkId","resourceGroupName","routings","virtualHubId","virtualHubName","id"],"type":"object"}},"azure:network/getVirtualHubRouteTable:getVirtualHubRouteTable":{"description":"Uses this data source to access information about an existing Virtual Hub Route Table.\n\n## Virtual Hub Route Table Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.network.getVirtualHubRouteTable({\n    name: \"example-hub-route-table\",\n    resourceGroupName: \"example-resources\",\n    virtualHubName: \"example-hub-name\",\n});\nexport const virtualHubRouteTableId = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.network.get_virtual_hub_route_table(name=\"example-hub-route-table\",\n    resource_group_name=\"example-resources\",\n    virtual_hub_name=\"example-hub-name\")\npulumi.export(\"virtualHubRouteTableId\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Network.GetVirtualHubRouteTable.Invoke(new()\n    {\n        Name = \"example-hub-route-table\",\n        ResourceGroupName = \"example-resources\",\n        VirtualHubName = \"example-hub-name\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"virtualHubRouteTableId\"] = example.Apply(getVirtualHubRouteTableResult =\u003e getVirtualHubRouteTableResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := network.LookupVirtualHubRouteTable(ctx, \u0026network.LookupVirtualHubRouteTableArgs{\n\t\t\tName:              \"example-hub-route-table\",\n\t\t\tResourceGroupName: \"example-resources\",\n\t\t\tVirtualHubName:    \"example-hub-name\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"virtualHubRouteTableId\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.network.NetworkFunctions;\nimport com.pulumi.azure.network.inputs.GetVirtualHubRouteTableArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = NetworkFunctions.getVirtualHubRouteTable(GetVirtualHubRouteTableArgs.builder()\n            .name(\"example-hub-route-table\")\n            .resourceGroupName(\"example-resources\")\n            .virtualHubName(\"example-hub-name\")\n            .build());\n\n        ctx.export(\"virtualHubRouteTableId\", example.id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:network:getVirtualHubRouteTable\n      arguments:\n        name: example-hub-route-table\n        resourceGroupName: example-resources\n        virtualHubName: example-hub-name\noutputs:\n  virtualHubRouteTableId: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2025-01-01\n","inputs":{"description":"A collection of arguments for invoking getVirtualHubRouteTable.\n","properties":{"name":{"type":"string","description":"The name of the Virtual Hub Route Table.\n"},"resourceGroupName":{"type":"string","description":"The Name of the Resource Group where the Virtual Hub Route Table exists.\n"},"virtualHubName":{"type":"string","description":"The name which should be used for Virtual Hub Route Table.\n"}},"type":"object","required":["name","resourceGroupName","virtualHubName"]},"outputs":{"description":"A collection of values returned by getVirtualHubRouteTable.\n","properties":{"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"labels":{"description":"List of labels associated with this route table.\n","items":{"type":"string"},"type":"array"},"name":{"description":"The name which is used for this route.\n","type":"string"},"resourceGroupName":{"type":"string"},"routes":{"description":"A \u003cspan pulumi-lang-nodejs=\"`route`\" pulumi-lang-dotnet=\"`Route`\" pulumi-lang-go=\"`route`\" pulumi-lang-python=\"`route`\" pulumi-lang-yaml=\"`route`\" pulumi-lang-java=\"`route`\"\u003e`route`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:network/getVirtualHubRouteTableRoute:getVirtualHubRouteTableRoute"},"type":"array"},"virtualHubId":{"description":"The ID of the Virtual Hub within which this route table is created\n","type":"string"},"virtualHubName":{"type":"string"}},"required":["labels","name","resourceGroupName","routes","virtualHubId","virtualHubName","id"],"type":"object"}},"azure:network/getVirtualNetwork:getVirtualNetwork":{"description":"Use this data source to access information about an existing Virtual Network.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.network.getVirtualNetwork({\n    name: \"production\",\n    resourceGroupName: \"networking\",\n});\nexport const virtualNetworkId = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.network.get_virtual_network(name=\"production\",\n    resource_group_name=\"networking\")\npulumi.export(\"virtualNetworkId\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Network.GetVirtualNetwork.Invoke(new()\n    {\n        Name = \"production\",\n        ResourceGroupName = \"networking\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"virtualNetworkId\"] = example.Apply(getVirtualNetworkResult =\u003e getVirtualNetworkResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := network.LookupVirtualNetwork(ctx, \u0026network.LookupVirtualNetworkArgs{\n\t\t\tName:              \"production\",\n\t\t\tResourceGroupName: \"networking\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"virtualNetworkId\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.network.NetworkFunctions;\nimport com.pulumi.azure.network.inputs.GetVirtualNetworkArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = NetworkFunctions.getVirtualNetwork(GetVirtualNetworkArgs.builder()\n            .name(\"production\")\n            .resourceGroupName(\"networking\")\n            .build());\n\n        ctx.export(\"virtualNetworkId\", example.id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:network:getVirtualNetwork\n      arguments:\n        name: production\n        resourceGroupName: networking\noutputs:\n  virtualNetworkId: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2025-01-01\n","inputs":{"description":"A collection of arguments for invoking getVirtualNetwork.\n","properties":{"name":{"type":"string","description":"Specifies the name of the Virtual Network.\n"},"resourceGroupName":{"type":"string","description":"Specifies the name of the resource group the Virtual Network is located in.\n"}},"type":"object","required":["name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getVirtualNetwork.\n","properties":{"addressSpaces":{"description":"The list of address spaces used by the virtual network.\n","items":{"type":"string"},"type":"array"},"dnsServers":{"description":"The list of DNS servers used by the virtual network.\n","items":{"type":"string"},"type":"array"},"guid":{"description":"The GUID of the virtual network.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"location":{"description":"Location of the virtual network.\n","type":"string"},"name":{"type":"string"},"resourceGroupName":{"type":"string"},"subnets":{"description":"The list of name of the subnets that are attached to this virtual network.\n","items":{"type":"string"},"type":"array"},"tags":{"additionalProperties":{"type":"string"},"description":"A mapping of tags to assigned to the resource.\n","type":"object"},"vnetPeerings":{"additionalProperties":{"type":"string"},"description":"A mapping of name - virtual network id of the virtual network peerings.\n","type":"object"},"vnetPeeringsAddresses":{"description":"A list of virtual network peerings IP addresses.\n","items":{"type":"string"},"type":"array"}},"required":["addressSpaces","dnsServers","guid","location","name","resourceGroupName","subnets","tags","vnetPeerings","vnetPeeringsAddresses","id"],"type":"object"}},"azure:network/getVirtualNetworkGateway:getVirtualNetworkGateway":{"description":"Use this data source to access information about an existing Virtual Network Gateway.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.network.getVirtualNetworkGateway({\n    name: \"production\",\n    resourceGroupName: \"networking\",\n});\nexport const virtualNetworkGatewayId = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.network.get_virtual_network_gateway(name=\"production\",\n    resource_group_name=\"networking\")\npulumi.export(\"virtualNetworkGatewayId\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Network.GetVirtualNetworkGateway.Invoke(new()\n    {\n        Name = \"production\",\n        ResourceGroupName = \"networking\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"virtualNetworkGatewayId\"] = example.Apply(getVirtualNetworkGatewayResult =\u003e getVirtualNetworkGatewayResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := network.LookupVirtualNetworkGateway(ctx, \u0026network.LookupVirtualNetworkGatewayArgs{\n\t\t\tName:              \"production\",\n\t\t\tResourceGroupName: \"networking\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"virtualNetworkGatewayId\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.network.NetworkFunctions;\nimport com.pulumi.azure.network.inputs.GetVirtualNetworkGatewayArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = NetworkFunctions.getVirtualNetworkGateway(GetVirtualNetworkGatewayArgs.builder()\n            .name(\"production\")\n            .resourceGroupName(\"networking\")\n            .build());\n\n        ctx.export(\"virtualNetworkGatewayId\", example.id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:network:getVirtualNetworkGateway\n      arguments:\n        name: production\n        resourceGroupName: networking\noutputs:\n  virtualNetworkGatewayId: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2025-01-01\n","inputs":{"description":"A collection of arguments for invoking getVirtualNetworkGateway.\n","properties":{"name":{"type":"string","description":"Specifies the name of the Virtual Network Gateway.\n"},"resourceGroupName":{"type":"string","description":"Specifies the name of the resource group the Virtual Network Gateway is located in.\n"}},"type":"object","required":["name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getVirtualNetworkGateway.\n","properties":{"activeActive":{"description":"Is this an Active-Active Gateway?\n","type":"boolean"},"bgpSettings":{"items":{"$ref":"#/types/azure:network/getVirtualNetworkGatewayBgpSetting:getVirtualNetworkGatewayBgpSetting"},"type":"array"},"customRoutes":{"items":{"$ref":"#/types/azure:network/getVirtualNetworkGatewayCustomRoute:getVirtualNetworkGatewayCustomRoute"},"type":"array"},"defaultLocalNetworkGatewayId":{"description":"The ID of the local network gateway\nthrough which outbound Internet traffic from the virtual network in which the\ngateway is created will be routed (*forced tunneling*). Refer to the\n[Azure documentation on forced tunneling](https://docs.microsoft.com/azure/vpn-gateway/vpn-gateway-forced-tunneling-rm).\n","type":"string"},"enableBgp":{"description":"Will BGP (Border Gateway Protocol) will be enabled\nfor this Virtual Network Gateway.\n","type":"boolean"},"generation":{"description":"The Generation of the Virtual Network Gateway.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"ipConfigurations":{"description":"One or two \u003cspan pulumi-lang-nodejs=\"`ipConfiguration`\" pulumi-lang-dotnet=\"`IpConfiguration`\" pulumi-lang-go=\"`ipConfiguration`\" pulumi-lang-python=\"`ip_configuration`\" pulumi-lang-yaml=\"`ipConfiguration`\" pulumi-lang-java=\"`ipConfiguration`\"\u003e`ip_configuration`\u003c/span\u003e blocks documented below.\n","items":{"$ref":"#/types/azure:network/getVirtualNetworkGatewayIpConfiguration:getVirtualNetworkGatewayIpConfiguration"},"type":"array"},"location":{"description":"The location/region where the Virtual Network Gateway is located.\n","type":"string"},"name":{"description":"The user-defined name of the root certificate.\n","type":"string"},"privateIpAddressEnabled":{"description":"Whether a private IP will be used for this  gateway for connections.\n","type":"boolean"},"resourceGroupName":{"type":"string"},"sku":{"description":"Configuration of the size and capacity of the Virtual Network Gateway.\n","type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"A mapping of tags assigned to the resource.\n","type":"object"},"type":{"description":"The type of the Virtual Network Gateway.\n","type":"string"},"vpnClientConfigurations":{"description":"A \u003cspan pulumi-lang-nodejs=\"`vpnClientConfiguration`\" pulumi-lang-dotnet=\"`VpnClientConfiguration`\" pulumi-lang-go=\"`vpnClientConfiguration`\" pulumi-lang-python=\"`vpn_client_configuration`\" pulumi-lang-yaml=\"`vpnClientConfiguration`\" pulumi-lang-java=\"`vpnClientConfiguration`\"\u003e`vpn_client_configuration`\u003c/span\u003e block which is documented below.\n","items":{"$ref":"#/types/azure:network/getVirtualNetworkGatewayVpnClientConfiguration:getVirtualNetworkGatewayVpnClientConfiguration"},"type":"array"},"vpnType":{"description":"The routing type of the Virtual Network Gateway.\n","type":"string"}},"required":["activeActive","bgpSettings","customRoutes","defaultLocalNetworkGatewayId","enableBgp","generation","ipConfigurations","location","name","privateIpAddressEnabled","resourceGroupName","sku","tags","type","vpnClientConfigurations","vpnType","id"],"type":"object"}},"azure:network/getVirtualNetworkPeering:getVirtualNetworkPeering":{"description":"Use this data source to access information about an existing virtual network peering.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.network.getVirtualNetwork({\n    name: \"vnet01\",\n    resourceGroupName: \"networking\",\n});\nconst exampleGetVirtualNetworkPeering = example.then(example =\u003e azure.network.getVirtualNetworkPeering({\n    name: \"peer-vnet01-to-vnet02\",\n    virtualNetworkId: example.id,\n}));\nexport const id = exampleGetVirtualNetworkPeering.then(exampleGetVirtualNetworkPeering =\u003e exampleGetVirtualNetworkPeering.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.network.get_virtual_network(name=\"vnet01\",\n    resource_group_name=\"networking\")\nexample_get_virtual_network_peering = azure.network.get_virtual_network_peering(name=\"peer-vnet01-to-vnet02\",\n    virtual_network_id=example.id)\npulumi.export(\"id\", example_get_virtual_network_peering.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Network.GetVirtualNetwork.Invoke(new()\n    {\n        Name = \"vnet01\",\n        ResourceGroupName = \"networking\",\n    });\n\n    var exampleGetVirtualNetworkPeering = Azure.Network.GetVirtualNetworkPeering.Invoke(new()\n    {\n        Name = \"peer-vnet01-to-vnet02\",\n        VirtualNetworkId = example.Apply(getVirtualNetworkResult =\u003e getVirtualNetworkResult.Id),\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"id\"] = exampleGetVirtualNetworkPeering.Apply(getVirtualNetworkPeeringResult =\u003e getVirtualNetworkPeeringResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := network.LookupVirtualNetwork(ctx, \u0026network.LookupVirtualNetworkArgs{\n\t\t\tName:              \"vnet01\",\n\t\t\tResourceGroupName: \"networking\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleGetVirtualNetworkPeering, err := network.LookupVirtualNetworkPeering(ctx, \u0026network.LookupVirtualNetworkPeeringArgs{\n\t\t\tName:             \"peer-vnet01-to-vnet02\",\n\t\t\tVirtualNetworkId: example.Id,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"id\", exampleGetVirtualNetworkPeering.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.network.NetworkFunctions;\nimport com.pulumi.azure.network.inputs.GetVirtualNetworkArgs;\nimport com.pulumi.azure.network.inputs.GetVirtualNetworkPeeringArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = NetworkFunctions.getVirtualNetwork(GetVirtualNetworkArgs.builder()\n            .name(\"vnet01\")\n            .resourceGroupName(\"networking\")\n            .build());\n\n        final var exampleGetVirtualNetworkPeering = NetworkFunctions.getVirtualNetworkPeering(GetVirtualNetworkPeeringArgs.builder()\n            .name(\"peer-vnet01-to-vnet02\")\n            .virtualNetworkId(example.id())\n            .build());\n\n        ctx.export(\"id\", exampleGetVirtualNetworkPeering.id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:network:getVirtualNetwork\n      arguments:\n        name: vnet01\n        resourceGroupName: networking\n  exampleGetVirtualNetworkPeering:\n    fn::invoke:\n      function: azure:network:getVirtualNetworkPeering\n      arguments:\n        name: peer-vnet01-to-vnet02\n        virtualNetworkId: ${example.id}\noutputs:\n  id: ${exampleGetVirtualNetworkPeering.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2025-01-01\n","inputs":{"description":"A collection of arguments for invoking getVirtualNetworkPeering.\n","properties":{"name":{"type":"string","description":"The name of this virtual network peering.\n"},"virtualNetworkId":{"type":"string","description":"The resource ID of the virtual network.\n"}},"type":"object","required":["name","virtualNetworkId"]},"outputs":{"description":"A collection of values returned by getVirtualNetworkPeering.\n","properties":{"allowForwardedTraffic":{"description":"Controls if forwarded traffic from VMs in the remote virtual network is allowed.\n","type":"boolean"},"allowGatewayTransit":{"description":"Controls gatewayLinks can be used in the remote virtual network’s link to the local virtual network.\n","type":"boolean"},"allowVirtualNetworkAccess":{"description":"Controls if the traffic from the local virtual network can reach the remote virtual network.\n","type":"boolean"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"name":{"type":"string"},"onlyIpv6PeeringEnabled":{"description":"Specifies whether only IPv6 address space is peered for Subnet peering.\n","type":"boolean"},"peerCompleteVirtualNetworksEnabled":{"description":"Specifies whether complete Virtual Network address space is peered.\n","type":"boolean"},"remoteVirtualNetworkId":{"description":"The full Azure resource ID of the remote virtual network.\n","type":"string"},"useRemoteGateways":{"description":"Controls if remote gateways can be used on the local virtual network.\n","type":"boolean"},"virtualNetworkId":{"type":"string"}},"required":["allowForwardedTraffic","allowGatewayTransit","allowVirtualNetworkAccess","name","onlyIpv6PeeringEnabled","peerCompleteVirtualNetworksEnabled","remoteVirtualNetworkId","useRemoteGateways","virtualNetworkId","id"],"type":"object"}},"azure:network/getVirtualWan:getVirtualWan":{"description":"Use this data source to access information about an existing Virtual Wan.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.network.getVirtualWan({\n    name: \"existing\",\n    resourceGroupName: \"existing\",\n});\nexport const id = example.then(example =\u003e example.id);\nexport const allowBranchToBranchTraffic = example.then(example =\u003e example.allowBranchToBranchTraffic);\nexport const disableVpnEncryption = example.then(example =\u003e example.disableVpnEncryption);\nexport const location = example.then(example =\u003e example.location);\nexport const office365LocalBreakoutCategory = example.then(example =\u003e example.office365LocalBreakoutCategory);\nexport const sku = example.then(example =\u003e example.sku);\nexport const tags = example.then(example =\u003e example.tags);\nexport const virtualHubs = example.then(example =\u003e example.virtualHubs);\nexport const vpnSites = example.then(example =\u003e example.vpnSites);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.network.get_virtual_wan(name=\"existing\",\n    resource_group_name=\"existing\")\npulumi.export(\"id\", example.id)\npulumi.export(\"allowBranchToBranchTraffic\", example.allow_branch_to_branch_traffic)\npulumi.export(\"disableVpnEncryption\", example.disable_vpn_encryption)\npulumi.export(\"location\", example.location)\npulumi.export(\"office365LocalBreakoutCategory\", example.office365_local_breakout_category)\npulumi.export(\"sku\", example.sku)\npulumi.export(\"tags\", example.tags)\npulumi.export(\"virtualHubs\", example.virtual_hubs)\npulumi.export(\"vpnSites\", example.vpn_sites)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Network.GetVirtualWan.Invoke(new()\n    {\n        Name = \"existing\",\n        ResourceGroupName = \"existing\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"id\"] = example.Apply(getVirtualWanResult =\u003e getVirtualWanResult.Id),\n        [\"allowBranchToBranchTraffic\"] = example.Apply(getVirtualWanResult =\u003e getVirtualWanResult.AllowBranchToBranchTraffic),\n        [\"disableVpnEncryption\"] = example.Apply(getVirtualWanResult =\u003e getVirtualWanResult.DisableVpnEncryption),\n        [\"location\"] = example.Apply(getVirtualWanResult =\u003e getVirtualWanResult.Location),\n        [\"office365LocalBreakoutCategory\"] = example.Apply(getVirtualWanResult =\u003e getVirtualWanResult.Office365LocalBreakoutCategory),\n        [\"sku\"] = example.Apply(getVirtualWanResult =\u003e getVirtualWanResult.Sku),\n        [\"tags\"] = example.Apply(getVirtualWanResult =\u003e getVirtualWanResult.Tags),\n        [\"virtualHubs\"] = example.Apply(getVirtualWanResult =\u003e getVirtualWanResult.VirtualHubs),\n        [\"vpnSites\"] = example.Apply(getVirtualWanResult =\u003e getVirtualWanResult.VpnSites),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := network.LookupVirtualWan(ctx, \u0026network.LookupVirtualWanArgs{\n\t\t\tName:              \"existing\",\n\t\t\tResourceGroupName: \"existing\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"id\", example.Id)\n\t\tctx.Export(\"allowBranchToBranchTraffic\", example.AllowBranchToBranchTraffic)\n\t\tctx.Export(\"disableVpnEncryption\", example.DisableVpnEncryption)\n\t\tctx.Export(\"location\", example.Location)\n\t\tctx.Export(\"office365LocalBreakoutCategory\", example.Office365LocalBreakoutCategory)\n\t\tctx.Export(\"sku\", example.Sku)\n\t\tctx.Export(\"tags\", example.Tags)\n\t\tctx.Export(\"virtualHubs\", example.VirtualHubs)\n\t\tctx.Export(\"vpnSites\", example.VpnSites)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.network.NetworkFunctions;\nimport com.pulumi.azure.network.inputs.GetVirtualWanArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = NetworkFunctions.getVirtualWan(GetVirtualWanArgs.builder()\n            .name(\"existing\")\n            .resourceGroupName(\"existing\")\n            .build());\n\n        ctx.export(\"id\", example.id());\n        ctx.export(\"allowBranchToBranchTraffic\", example.allowBranchToBranchTraffic());\n        ctx.export(\"disableVpnEncryption\", example.disableVpnEncryption());\n        ctx.export(\"location\", example.location());\n        ctx.export(\"office365LocalBreakoutCategory\", example.office365LocalBreakoutCategory());\n        ctx.export(\"sku\", example.sku());\n        ctx.export(\"tags\", example.tags());\n        ctx.export(\"virtualHubs\", example.virtualHubs());\n        ctx.export(\"vpnSites\", example.vpnSites());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:network:getVirtualWan\n      arguments:\n        name: existing\n        resourceGroupName: existing\noutputs:\n  id: ${example.id}\n  allowBranchToBranchTraffic: ${example.allowBranchToBranchTraffic}\n  disableVpnEncryption: ${example.disableVpnEncryption}\n  location: ${example.location}\n  office365LocalBreakoutCategory: ${example.office365LocalBreakoutCategory}\n  sku: ${example.sku}\n  tags: ${example.tags}\n  virtualHubs: ${example.virtualHubs}\n  vpnSites: ${example.vpnSites}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2025-01-01\n","inputs":{"description":"A collection of arguments for invoking getVirtualWan.\n","properties":{"name":{"type":"string","description":"The name of this Virtual Wan.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Virtual Wan exists.\n"}},"type":"object","required":["name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getVirtualWan.\n","properties":{"allowBranchToBranchTraffic":{"description":"Is branch to branch traffic is allowed?\n","type":"boolean"},"disableVpnEncryption":{"description":"Is VPN Encryption disabled?\n","type":"boolean"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"location":{"description":"The Azure Region where the Virtual Wan exists.\n","type":"string"},"name":{"type":"string"},"office365LocalBreakoutCategory":{"description":"The Office365 Local Breakout Category.\n","type":"string"},"resourceGroupName":{"type":"string"},"sku":{"description":"Type of Virtual Wan (Basic or Standard).\n","type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"A mapping of tags assigned to the Virtual Wan.\n","type":"object"},"virtualHubIds":{"description":"A list of Virtual Hubs IDs attached to this Virtual WAN.\n","items":{"type":"string"},"type":"array"},"vpnSiteIds":{"description":"A list of VPN Site IDs attached to this Virtual WAN.\n","items":{"type":"string"},"type":"array"}},"required":["allowBranchToBranchTraffic","disableVpnEncryption","location","name","office365LocalBreakoutCategory","resourceGroupName","sku","tags","virtualHubIds","vpnSiteIds","id"],"type":"object"}},"azure:network/getVpnGateway:getVpnGateway":{"description":"Use this data source to access information about an existing VPN Gateway within a Virtual Hub.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.network.getVpnGateway({\n    name: \"existing-local-vpn_gateway\",\n    resourceGroupName: \"existing-vpn_gateway\",\n});\nexport const azurermVpnGatewayId = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.network.get_vpn_gateway(name=\"existing-local-vpn_gateway\",\n    resource_group_name=\"existing-vpn_gateway\")\npulumi.export(\"azurermVpnGatewayId\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Network.GetVpnGateway.Invoke(new()\n    {\n        Name = \"existing-local-vpn_gateway\",\n        ResourceGroupName = \"existing-vpn_gateway\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"azurermVpnGatewayId\"] = example.Apply(getVpnGatewayResult =\u003e getVpnGatewayResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := network.LookupVpnGateway(ctx, \u0026network.LookupVpnGatewayArgs{\n\t\t\tName:              \"existing-local-vpn_gateway\",\n\t\t\tResourceGroupName: \"existing-vpn_gateway\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"azurermVpnGatewayId\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.network.NetworkFunctions;\nimport com.pulumi.azure.network.inputs.GetVpnGatewayArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = NetworkFunctions.getVpnGateway(GetVpnGatewayArgs.builder()\n            .name(\"existing-local-vpn_gateway\")\n            .resourceGroupName(\"existing-vpn_gateway\")\n            .build());\n\n        ctx.export(\"azurermVpnGatewayId\", example.id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:network:getVpnGateway\n      arguments:\n        name: existing-local-vpn_gateway\n        resourceGroupName: existing-vpn_gateway\noutputs:\n  azurermVpnGatewayId: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2025-01-01\n","inputs":{"description":"A collection of arguments for invoking getVpnGateway.\n","properties":{"name":{"type":"string","description":"The Name of the VPN Gateway.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the VPN Gateway exists.\n"}},"type":"object","required":["name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getVpnGateway.\n","properties":{"bgpSettings":{"description":"A \u003cspan pulumi-lang-nodejs=\"`bgpSettings`\" pulumi-lang-dotnet=\"`BgpSettings`\" pulumi-lang-go=\"`bgpSettings`\" pulumi-lang-python=\"`bgp_settings`\" pulumi-lang-yaml=\"`bgpSettings`\" pulumi-lang-java=\"`bgpSettings`\"\u003e`bgp_settings`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:network/getVpnGatewayBgpSetting:getVpnGatewayBgpSetting"},"type":"array"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"ipConfigurations":{"description":"An \u003cspan pulumi-lang-nodejs=\"`ipConfiguration`\" pulumi-lang-dotnet=\"`IpConfiguration`\" pulumi-lang-go=\"`ipConfiguration`\" pulumi-lang-python=\"`ip_configuration`\" pulumi-lang-yaml=\"`ipConfiguration`\" pulumi-lang-java=\"`ipConfiguration`\"\u003e`ip_configuration`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:network/getVpnGatewayIpConfiguration:getVpnGatewayIpConfiguration"},"type":"array"},"location":{"description":"The Azure location where the VPN Gateway exists.\n","type":"string"},"name":{"type":"string"},"resourceGroupName":{"type":"string"},"scaleUnit":{"description":"The Scale Unit of this VPN Gateway.\n","type":"integer"},"tags":{"additionalProperties":{"type":"string"},"description":"A mapping of tags assigned to the VPN Gateway.\n","type":"object"},"virtualHubId":{"description":"The ID of the Virtual Hub within which this VPN Gateway has been created.\n","type":"string"}},"required":["bgpSettings","ipConfigurations","location","name","resourceGroupName","scaleUnit","tags","virtualHubId","id"],"type":"object"}},"azure:network/getVpnServerConfiguration:getVpnServerConfiguration":{"description":"Use this data source to access information about an existing VPN Server Configuration.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.network.getVpnServerConfiguration({\n    name: \"existing-local-vpn-server-configuration\",\n    resourceGroupName: \"existing-resource-group\",\n});\nexport const azurermVpnServerConfiguration = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.network.get_vpn_server_configuration(name=\"existing-local-vpn-server-configuration\",\n    resource_group_name=\"existing-resource-group\")\npulumi.export(\"azurermVpnServerConfiguration\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Network.GetVpnServerConfiguration.Invoke(new()\n    {\n        Name = \"existing-local-vpn-server-configuration\",\n        ResourceGroupName = \"existing-resource-group\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"azurermVpnServerConfiguration\"] = example.Apply(getVpnServerConfigurationResult =\u003e getVpnServerConfigurationResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := network.LookupVpnServerConfiguration(ctx, \u0026network.LookupVpnServerConfigurationArgs{\n\t\t\tName:              \"existing-local-vpn-server-configuration\",\n\t\t\tResourceGroupName: \"existing-resource-group\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"azurermVpnServerConfiguration\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.network.NetworkFunctions;\nimport com.pulumi.azure.network.inputs.GetVpnServerConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = NetworkFunctions.getVpnServerConfiguration(GetVpnServerConfigurationArgs.builder()\n            .name(\"existing-local-vpn-server-configuration\")\n            .resourceGroupName(\"existing-resource-group\")\n            .build());\n\n        ctx.export(\"azurermVpnServerConfiguration\", example.id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:network:getVpnServerConfiguration\n      arguments:\n        name: existing-local-vpn-server-configuration\n        resourceGroupName: existing-resource-group\noutputs:\n  azurermVpnServerConfiguration: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2025-01-01\n","inputs":{"description":"A collection of arguments for invoking getVpnServerConfiguration.\n","properties":{"name":{"type":"string","description":"The Name of the VPN Server Configuration.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the VPN Server Configuration exists.\n"}},"type":"object","required":["name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getVpnServerConfiguration.\n","properties":{"azureActiveDirectoryAuthentications":{"description":"A \u003cspan pulumi-lang-nodejs=\"`azureActiveDirectoryAuthentication`\" pulumi-lang-dotnet=\"`AzureActiveDirectoryAuthentication`\" pulumi-lang-go=\"`azureActiveDirectoryAuthentication`\" pulumi-lang-python=\"`azure_active_directory_authentication`\" pulumi-lang-yaml=\"`azureActiveDirectoryAuthentication`\" pulumi-lang-java=\"`azureActiveDirectoryAuthentication`\"\u003e`azure_active_directory_authentication`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:network/getVpnServerConfigurationAzureActiveDirectoryAuthentication:getVpnServerConfigurationAzureActiveDirectoryAuthentication"},"type":"array"},"clientRevokedCertificates":{"description":"One or more \u003cspan pulumi-lang-nodejs=\"`clientRevokedCertificate`\" pulumi-lang-dotnet=\"`ClientRevokedCertificate`\" pulumi-lang-go=\"`clientRevokedCertificate`\" pulumi-lang-python=\"`client_revoked_certificate`\" pulumi-lang-yaml=\"`clientRevokedCertificate`\" pulumi-lang-java=\"`clientRevokedCertificate`\"\u003e`client_revoked_certificate`\u003c/span\u003e blocks as defined below.\n","items":{"$ref":"#/types/azure:network/getVpnServerConfigurationClientRevokedCertificate:getVpnServerConfigurationClientRevokedCertificate"},"type":"array"},"clientRootCertificates":{"description":"One or more \u003cspan pulumi-lang-nodejs=\"`clientRootCertificate`\" pulumi-lang-dotnet=\"`ClientRootCertificate`\" pulumi-lang-go=\"`clientRootCertificate`\" pulumi-lang-python=\"`client_root_certificate`\" pulumi-lang-yaml=\"`clientRootCertificate`\" pulumi-lang-java=\"`clientRootCertificate`\"\u003e`client_root_certificate`\u003c/span\u003e blocks as defined below.\n","items":{"$ref":"#/types/azure:network/getVpnServerConfigurationClientRootCertificate:getVpnServerConfigurationClientRootCertificate"},"type":"array"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"ipsecPolicies":{"description":"The \u003cspan pulumi-lang-nodejs=\"`bgpSettings`\" pulumi-lang-dotnet=\"`BgpSettings`\" pulumi-lang-go=\"`bgpSettings`\" pulumi-lang-python=\"`bgp_settings`\" pulumi-lang-yaml=\"`bgpSettings`\" pulumi-lang-java=\"`bgpSettings`\"\u003e`bgp_settings`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:network/getVpnServerConfigurationIpsecPolicy:getVpnServerConfigurationIpsecPolicy"},"type":"array"},"location":{"description":"The Azure Region where the VPN Server Configuration exists.\n","type":"string"},"name":{"description":"The name used to uniquely identify this certificate.\n","type":"string"},"radii":{"description":"A \u003cspan pulumi-lang-nodejs=\"`radius`\" pulumi-lang-dotnet=\"`Radius`\" pulumi-lang-go=\"`radius`\" pulumi-lang-python=\"`radius`\" pulumi-lang-yaml=\"`radius`\" pulumi-lang-java=\"`radius`\"\u003e`radius`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:network/getVpnServerConfigurationRadius:getVpnServerConfigurationRadius"},"type":"array"},"resourceGroupName":{"type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the VPN Server Configuration.\n","type":"object"},"vpnAuthenticationTypes":{"description":"The list of Authentication Types applicable for the VPN Server Configuration.\n","items":{"type":"string"},"type":"array"},"vpnProtocols":{"description":"The list of VPN Protocols to use for the VPN Server Configuration.\n","items":{"type":"string"},"type":"array"}},"required":["azureActiveDirectoryAuthentications","clientRevokedCertificates","clientRootCertificates","ipsecPolicies","location","name","radii","resourceGroupName","tags","vpnAuthenticationTypes","vpnProtocols","id"],"type":"object"}},"azure:nginx/getApiKey:getApiKey":{"description":"Use this data source to access information about an existing NGINX Dataplane API Key.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.nginx.getApiKey({\n    name: \"existing\",\n    nginxDeploymentId: exampleAzurermNginxDeployment.id,\n});\nexport const id = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.nginx.get_api_key(name=\"existing\",\n    nginx_deployment_id=example_azurerm_nginx_deployment[\"id\"])\npulumi.export(\"id\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Nginx.GetApiKey.Invoke(new()\n    {\n        Name = \"existing\",\n        NginxDeploymentId = exampleAzurermNginxDeployment.Id,\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"id\"] = example.Apply(getApiKeyResult =\u003e getApiKeyResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/nginx\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := nginx.LookupApiKey(ctx, \u0026nginx.LookupApiKeyArgs{\n\t\t\tName:              \"existing\",\n\t\t\tNginxDeploymentId: exampleAzurermNginxDeployment.Id,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"id\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.nginx.NginxFunctions;\nimport com.pulumi.azure.nginx.inputs.GetApiKeyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = NginxFunctions.getApiKey(GetApiKeyArgs.builder()\n            .name(\"existing\")\n            .nginxDeploymentId(exampleAzurermNginxDeployment.id())\n            .build());\n\n        ctx.export(\"id\", example.id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:nginx:getApiKey\n      arguments:\n        name: existing\n        nginxDeploymentId: ${exampleAzurermNginxDeployment.id}\noutputs:\n  id: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Nginx.NginxPlus` - 2024-11-01-preview\n","inputs":{"description":"A collection of arguments for invoking getApiKey.\n","properties":{"name":{"type":"string","description":"The name of the NGINX Dataplane API Key.\n"},"nginxDeploymentId":{"type":"string","description":"The ID of the NGINX Deployment that the API key is associated with.\n"}},"type":"object","required":["name","nginxDeploymentId"]},"outputs":{"description":"A collection of values returned by getApiKey.\n","properties":{"endDateTime":{"description":"The RFC3339 formatted time after which this Dataplane API Key is no longer valid.\n","type":"string"},"hint":{"description":"The first three characters of the secret text to help identify it in use.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"name":{"type":"string"},"nginxDeploymentId":{"type":"string"}},"required":["endDateTime","hint","name","nginxDeploymentId","id"],"type":"object"}},"azure:nginx/getCertificate:getCertificate":{"description":"Use this data source to access information about an existing NGINX Certificate.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.nginx.getCertificate({\n    name: \"existing\",\n    nginxDeploymentId: exampleAzurermNginxDeployment.id,\n});\nexport const id = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.nginx.get_certificate(name=\"existing\",\n    nginx_deployment_id=example_azurerm_nginx_deployment[\"id\"])\npulumi.export(\"id\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Nginx.GetCertificate.Invoke(new()\n    {\n        Name = \"existing\",\n        NginxDeploymentId = exampleAzurermNginxDeployment.Id,\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"id\"] = example.Apply(getCertificateResult =\u003e getCertificateResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/nginx\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := nginx.LookupCertificate(ctx, \u0026nginx.LookupCertificateArgs{\n\t\t\tName:              \"existing\",\n\t\t\tNginxDeploymentId: exampleAzurermNginxDeployment.Id,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"id\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.nginx.NginxFunctions;\nimport com.pulumi.azure.nginx.inputs.GetCertificateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = NginxFunctions.getCertificate(GetCertificateArgs.builder()\n            .name(\"existing\")\n            .nginxDeploymentId(exampleAzurermNginxDeployment.id())\n            .build());\n\n        ctx.export(\"id\", example.id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:nginx:getCertificate\n      arguments:\n        name: existing\n        nginxDeploymentId: ${exampleAzurermNginxDeployment.id}\noutputs:\n  id: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Nginx.NginxPlus` - 2024-11-01-preview\n","inputs":{"description":"A collection of arguments for invoking getCertificate.\n","properties":{"name":{"type":"string","description":"The name of the NGINX Certificate.\n"},"nginxDeploymentId":{"type":"string","description":"The ID of the NGINX Deployment that the certificate is associated with.\n"}},"type":"object","required":["name","nginxDeploymentId"]},"outputs":{"description":"A collection of values returned by getCertificate.\n","properties":{"certificateVirtualPath":{"description":"The path to the certificate file of the certificate.\n","type":"string"},"errorCode":{"description":"The error code of the certificate error, if any.\n","type":"string"},"errorMessage":{"description":"The error message of the certificate error, if any.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"keyVaultSecretCreationDate":{"description":"The date/time the certificate was created in Azure Key Vault.\n","type":"string"},"keyVaultSecretId":{"description":"The ID of the Key Vault Secret for the certificate.\n","type":"string"},"keyVaultSecretVersion":{"description":"The version of the certificate.\n","type":"string"},"keyVirtualPath":{"description":"The path to the key file of the certificate.\n","type":"string"},"name":{"type":"string"},"nginxDeploymentId":{"type":"string"},"sha1Thumbprint":{"description":"The SHA-1 thumbprint of the certificate.\n","type":"string"}},"required":["certificateVirtualPath","errorCode","errorMessage","keyVaultSecretCreationDate","keyVaultSecretId","keyVaultSecretVersion","keyVirtualPath","name","nginxDeploymentId","sha1Thumbprint","id"],"type":"object"}},"azure:nginx/getConfiguration:getConfiguration":{"description":"Use this data source to access information about an existing Nginx Configuration.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.nginx.getConfiguration({\n    nginxDeploymentId: exampleAzurermNginxDeployment.id,\n});\nexport const id = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.nginx.get_configuration(nginx_deployment_id=example_azurerm_nginx_deployment[\"id\"])\npulumi.export(\"id\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Nginx.GetConfiguration.Invoke(new()\n    {\n        NginxDeploymentId = exampleAzurermNginxDeployment.Id,\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"id\"] = example.Apply(getConfigurationResult =\u003e getConfigurationResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/nginx\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := nginx.LookupConfiguration(ctx, \u0026nginx.LookupConfigurationArgs{\n\t\t\tNginxDeploymentId: exampleAzurermNginxDeployment.Id,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"id\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.nginx.NginxFunctions;\nimport com.pulumi.azure.nginx.inputs.GetConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = NginxFunctions.getConfiguration(GetConfigurationArgs.builder()\n            .nginxDeploymentId(exampleAzurermNginxDeployment.id())\n            .build());\n\n        ctx.export(\"id\", example.id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:nginx:getConfiguration\n      arguments:\n        nginxDeploymentId: ${exampleAzurermNginxDeployment.id}\noutputs:\n  id: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Nginx.NginxPlus` - 2024-11-01-preview\n","inputs":{"description":"A collection of arguments for invoking getConfiguration.\n","properties":{"nginxDeploymentId":{"type":"string","description":"The ID of the Nginx Deployment.\n"}},"type":"object","required":["nginxDeploymentId"]},"outputs":{"description":"A collection of values returned by getConfiguration.\n","properties":{"configFiles":{"description":"A \u003cspan pulumi-lang-nodejs=\"`configFile`\" pulumi-lang-dotnet=\"`ConfigFile`\" pulumi-lang-go=\"`configFile`\" pulumi-lang-python=\"`config_file`\" pulumi-lang-yaml=\"`configFile`\" pulumi-lang-java=\"`configFile`\"\u003e`config_file`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:nginx/getConfigurationConfigFile:getConfigurationConfigFile"},"type":"array"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"nginxDeploymentId":{"type":"string"},"packageData":{"description":"The package data for this configuration.\n","type":"string"},"protectedFiles":{"description":"A \u003cspan pulumi-lang-nodejs=\"`protectedFile`\" pulumi-lang-dotnet=\"`ProtectedFile`\" pulumi-lang-go=\"`protectedFile`\" pulumi-lang-python=\"`protected_file`\" pulumi-lang-yaml=\"`protectedFile`\" pulumi-lang-java=\"`protectedFile`\"\u003e`protected_file`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:nginx/getConfigurationProtectedFile:getConfigurationProtectedFile"},"type":"array"},"rootFile":{"description":"The root file path of this Nginx Configuration.\n","type":"string"}},"required":["configFiles","nginxDeploymentId","packageData","protectedFiles","rootFile","id"],"type":"object"}},"azure:nginx/getDeployment:getDeployment":{"description":"Use this data source to access information about an existing NGINX Deployment.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.nginx.getDeployment({\n    name: \"existing\",\n    resourceGroupName: \"existing\",\n});\nexport const id = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.nginx.get_deployment(name=\"existing\",\n    resource_group_name=\"existing\")\npulumi.export(\"id\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Nginx.GetDeployment.Invoke(new()\n    {\n        Name = \"existing\",\n        ResourceGroupName = \"existing\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"id\"] = example.Apply(getDeploymentResult =\u003e getDeploymentResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/nginx\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := nginx.LookupDeployment(ctx, \u0026nginx.LookupDeploymentArgs{\n\t\t\tName:              \"existing\",\n\t\t\tResourceGroupName: \"existing\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"id\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.nginx.NginxFunctions;\nimport com.pulumi.azure.nginx.inputs.GetDeploymentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = NginxFunctions.getDeployment(GetDeploymentArgs.builder()\n            .name(\"existing\")\n            .resourceGroupName(\"existing\")\n            .build());\n\n        ctx.export(\"id\", example.id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:nginx:getDeployment\n      arguments:\n        name: existing\n        resourceGroupName: existing\noutputs:\n  id: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Nginx.NginxPlus` - 2024-11-01-preview\n","inputs":{"description":"A collection of arguments for invoking getDeployment.\n","properties":{"name":{"type":"string","description":"The name of this NGINX Deployment.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the NGINX Deployment exists.\n"}},"type":"object","required":["name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getDeployment.\n","properties":{"autoScaleProfiles":{"description":"An \u003cspan pulumi-lang-nodejs=\"`autoScaleProfile`\" pulumi-lang-dotnet=\"`AutoScaleProfile`\" pulumi-lang-go=\"`autoScaleProfile`\" pulumi-lang-python=\"`auto_scale_profile`\" pulumi-lang-yaml=\"`autoScaleProfile`\" pulumi-lang-java=\"`autoScaleProfile`\"\u003e`auto_scale_profile`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:nginx/getDeploymentAutoScaleProfile:getDeploymentAutoScaleProfile"},"type":"array"},"automaticUpgradeChannel":{"description":"The automatic upgrade channel for this NGINX deployment.\n","type":"string"},"capacity":{"description":"The number of NGINX capacity units for this NGINX Deployment.\n","type":"integer"},"dataplaneApiEndpoint":{"description":"The dataplane API endpoint of the NGINX Deployment.\n","type":"string"},"diagnoseSupportEnabled":{"description":"Whether metrics are exported to Azure Monitor.\n","type":"boolean"},"email":{"description":"Preferred email associated with the NGINX Deployment.\n","type":"string"},"frontendPrivates":{"description":"A \u003cspan pulumi-lang-nodejs=\"`frontendPrivate`\" pulumi-lang-dotnet=\"`FrontendPrivate`\" pulumi-lang-go=\"`frontendPrivate`\" pulumi-lang-python=\"`frontend_private`\" pulumi-lang-yaml=\"`frontendPrivate`\" pulumi-lang-java=\"`frontendPrivate`\"\u003e`frontend_private`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:nginx/getDeploymentFrontendPrivate:getDeploymentFrontendPrivate"},"type":"array"},"frontendPublics":{"description":"A \u003cspan pulumi-lang-nodejs=\"`frontendPublic`\" pulumi-lang-dotnet=\"`FrontendPublic`\" pulumi-lang-go=\"`frontendPublic`\" pulumi-lang-python=\"`frontend_public`\" pulumi-lang-yaml=\"`frontendPublic`\" pulumi-lang-java=\"`frontendPublic`\"\u003e`frontend_public`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:nginx/getDeploymentFrontendPublic:getDeploymentFrontendPublic"},"type":"array"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"identities":{"description":"A \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:nginx/getDeploymentIdentity:getDeploymentIdentity"},"type":"array"},"ipAddress":{"description":"The list of Public IP Resource IDs for this NGINX Deployment.\n","type":"string"},"location":{"description":"The Azure Region where the NGINX Deployment exists.\n","type":"string"},"loggingStorageAccounts":{"deprecationMessage":"The \u003cspan pulumi-lang-nodejs=\"`loggingStorageAccount`\" pulumi-lang-dotnet=\"`LoggingStorageAccount`\" pulumi-lang-go=\"`loggingStorageAccount`\" pulumi-lang-python=\"`logging_storage_account`\" pulumi-lang-yaml=\"`loggingStorageAccount`\" pulumi-lang-java=\"`loggingStorageAccount`\"\u003e`logging_storage_account`\u003c/span\u003e block has been deprecated and will be removed in v5.0 of the AzureRM Provider.","items":{"$ref":"#/types/azure:nginx/getDeploymentLoggingStorageAccount:getDeploymentLoggingStorageAccount"},"type":"array"},"managedResourceGroup":{"deprecationMessage":"The \u003cspan pulumi-lang-nodejs=\"`managedResourceGroup`\" pulumi-lang-dotnet=\"`ManagedResourceGroup`\" pulumi-lang-go=\"`managedResourceGroup`\" pulumi-lang-python=\"`managed_resource_group`\" pulumi-lang-yaml=\"`managedResourceGroup`\" pulumi-lang-java=\"`managedResourceGroup`\"\u003e`managed_resource_group`\u003c/span\u003e field isn't supported by the API anymore and has been deprecated and will be removed in v5.0 of the AzureRM Provider.","type":"string"},"name":{"description":"Name of the autoscaling profile.\n","type":"string"},"networkInterfaces":{"description":"A \u003cspan pulumi-lang-nodejs=\"`networkInterface`\" pulumi-lang-dotnet=\"`NetworkInterface`\" pulumi-lang-go=\"`networkInterface`\" pulumi-lang-python=\"`network_interface`\" pulumi-lang-yaml=\"`networkInterface`\" pulumi-lang-java=\"`networkInterface`\"\u003e`network_interface`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:nginx/getDeploymentNetworkInterface:getDeploymentNetworkInterface"},"type":"array"},"nginxVersion":{"description":"NGINX version of the Deployment.\n","type":"string"},"resourceGroupName":{"type":"string"},"sku":{"description":"The NGINX Deployment SKU.\n","type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"A mapping of tags assigned to the NGINX Deployment.\n","type":"object"},"webApplicationFirewalls":{"description":"A \u003cspan pulumi-lang-nodejs=\"`webApplicationFirewall`\" pulumi-lang-dotnet=\"`WebApplicationFirewall`\" pulumi-lang-go=\"`webApplicationFirewall`\" pulumi-lang-python=\"`web_application_firewall`\" pulumi-lang-yaml=\"`webApplicationFirewall`\" pulumi-lang-java=\"`webApplicationFirewall`\"\u003e`web_application_firewall`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:nginx/getDeploymentWebApplicationFirewall:getDeploymentWebApplicationFirewall"},"type":"array"}},"required":["autoScaleProfiles","automaticUpgradeChannel","capacity","dataplaneApiEndpoint","diagnoseSupportEnabled","email","frontendPrivates","frontendPublics","identities","ipAddress","location","loggingStorageAccounts","managedResourceGroup","name","networkInterfaces","nginxVersion","resourceGroupName","sku","tags","webApplicationFirewalls","id"],"type":"object"}},"azure:notificationhub/getHub:getHub":{"description":"Use this data source to access information about an existing Notification Hub within a Notification Hub Namespace.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.notificationhub.getHub({\n    name: \"notification-hub\",\n    namespaceName: \"namespace-name\",\n    resourceGroupName: \"resource-group-name\",\n});\nexport const id = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.notificationhub.get_hub(name=\"notification-hub\",\n    namespace_name=\"namespace-name\",\n    resource_group_name=\"resource-group-name\")\npulumi.export(\"id\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.NotificationHub.GetHub.Invoke(new()\n    {\n        Name = \"notification-hub\",\n        NamespaceName = \"namespace-name\",\n        ResourceGroupName = \"resource-group-name\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"id\"] = example.Apply(getHubResult =\u003e getHubResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/notificationhub\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := notificationhub.LookupHub(ctx, \u0026notificationhub.LookupHubArgs{\n\t\t\tName:              \"notification-hub\",\n\t\t\tNamespaceName:     \"namespace-name\",\n\t\t\tResourceGroupName: \"resource-group-name\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"id\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.notificationhub.NotificationhubFunctions;\nimport com.pulumi.azure.notificationhub.inputs.GetHubArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = NotificationhubFunctions.getHub(GetHubArgs.builder()\n            .name(\"notification-hub\")\n            .namespaceName(\"namespace-name\")\n            .resourceGroupName(\"resource-group-name\")\n            .build());\n\n        ctx.export(\"id\", example.id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:notificationhub:getHub\n      arguments:\n        name: notification-hub\n        namespaceName: namespace-name\n        resourceGroupName: resource-group-name\noutputs:\n  id: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.NotificationHubs` - 2023-09-01\n","inputs":{"description":"A collection of arguments for invoking getHub.\n","properties":{"name":{"type":"string","description":"Specifies the Name of the Notification Hub.\n"},"namespaceName":{"type":"string","description":"Specifies the Name of the Notification Hub Namespace which contains the Notification Hub.\n"},"resourceGroupName":{"type":"string","description":"Specifies the Name of the Resource Group within which the Notification Hub exists.\n"}},"type":"object","required":["name","namespaceName","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getHub.\n","properties":{"apnsCredentials":{"description":"A \u003cspan pulumi-lang-nodejs=\"`apnsCredential`\" pulumi-lang-dotnet=\"`ApnsCredential`\" pulumi-lang-go=\"`apnsCredential`\" pulumi-lang-python=\"`apns_credential`\" pulumi-lang-yaml=\"`apnsCredential`\" pulumi-lang-java=\"`apnsCredential`\"\u003e`apns_credential`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:notificationhub/getHubApnsCredential:getHubApnsCredential"},"type":"array"},"gcmCredentials":{"description":"A \u003cspan pulumi-lang-nodejs=\"`gcmCredential`\" pulumi-lang-dotnet=\"`GcmCredential`\" pulumi-lang-go=\"`gcmCredential`\" pulumi-lang-python=\"`gcm_credential`\" pulumi-lang-yaml=\"`gcmCredential`\" pulumi-lang-java=\"`gcmCredential`\"\u003e`gcm_credential`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:notificationhub/getHubGcmCredential:getHubGcmCredential"},"type":"array"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"location":{"description":"The Azure Region in which this Notification Hub exists.\n","type":"string"},"name":{"type":"string"},"namespaceName":{"type":"string"},"resourceGroupName":{"type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n","type":"object"}},"required":["apnsCredentials","gcmCredentials","location","name","namespaceName","resourceGroupName","tags","id"],"type":"object"}},"azure:notificationhub/getNamespace:getNamespace":{"description":"Use this data source to access information about an existing Notification Hub Namespace.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.notificationhub.getNamespace({\n    name: \"my-namespace\",\n    resourceGroupName: \"my-resource-group\",\n});\nexport const servicebusEndpoint = example.then(example =\u003e example.servicebusEndpoint);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.notificationhub.get_namespace(name=\"my-namespace\",\n    resource_group_name=\"my-resource-group\")\npulumi.export(\"servicebusEndpoint\", example.servicebus_endpoint)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.NotificationHub.GetNamespace.Invoke(new()\n    {\n        Name = \"my-namespace\",\n        ResourceGroupName = \"my-resource-group\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"servicebusEndpoint\"] = example.Apply(getNamespaceResult =\u003e getNamespaceResult.ServicebusEndpoint),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/notificationhub\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := notificationhub.LookupNamespace(ctx, \u0026notificationhub.LookupNamespaceArgs{\n\t\t\tName:              \"my-namespace\",\n\t\t\tResourceGroupName: \"my-resource-group\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"servicebusEndpoint\", example.ServicebusEndpoint)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.notificationhub.NotificationhubFunctions;\nimport com.pulumi.azure.notificationhub.inputs.GetNamespaceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = NotificationhubFunctions.getNamespace(GetNamespaceArgs.builder()\n            .name(\"my-namespace\")\n            .resourceGroupName(\"my-resource-group\")\n            .build());\n\n        ctx.export(\"servicebusEndpoint\", example.servicebusEndpoint());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:notificationhub:getNamespace\n      arguments:\n        name: my-namespace\n        resourceGroupName: my-resource-group\noutputs:\n  servicebusEndpoint: ${example.servicebusEndpoint}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.NotificationHubs` - 2023-09-01\n","inputs":{"description":"A collection of arguments for invoking getNamespace.\n","properties":{"name":{"type":"string","description":"Specifies the Name of the Notification Hub Namespace.\n"},"resourceGroupName":{"type":"string","description":"Specifies the Name of the Resource Group within which the Notification Hub exists.\n"}},"type":"object","required":["name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getNamespace.\n","properties":{"enabled":{"description":"Is this Notification Hub Namespace enabled?\n","type":"boolean"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"location":{"description":"The Azure Region in which this Notification Hub Namespace exists.\n","type":"string"},"name":{"description":"The name of the SKU to use for this Notification Hub Namespace. Possible values are `Free`, `Basic` or `Standard.`\n","type":"string"},"namespaceType":{"description":"The Type of Namespace, such as `Messaging` or `NotificationHub`.\n","type":"string"},"resourceGroupName":{"type":"string"},"servicebusEndpoint":{"type":"string"},"sku":{"$ref":"#/types/azure:notificationhub/getNamespaceSku:getNamespaceSku","description":"A \u003cspan pulumi-lang-nodejs=\"`sku`\" pulumi-lang-dotnet=\"`Sku`\" pulumi-lang-go=\"`sku`\" pulumi-lang-python=\"`sku`\" pulumi-lang-yaml=\"`sku`\" pulumi-lang-java=\"`sku`\"\u003e`sku`\u003c/span\u003e block as defined below.\n"},"tags":{"additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n","type":"object"}},"required":["enabled","location","name","namespaceType","resourceGroupName","servicebusEndpoint","sku","tags","id"],"type":"object"}},"azure:operationalinsights/getAnalyticsWorkspace:getAnalyticsWorkspace":{"description":"Use this data source to access information about an existing Log Analytics (formally Operational Insights) Workspace.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.operationalinsights.getAnalyticsWorkspace({\n    name: \"acctest-01\",\n    resourceGroupName: \"acctest\",\n});\nexport const logAnalyticsWorkspaceId = example.then(example =\u003e example.workspaceId);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.operationalinsights.get_analytics_workspace(name=\"acctest-01\",\n    resource_group_name=\"acctest\")\npulumi.export(\"logAnalyticsWorkspaceId\", example.workspace_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.OperationalInsights.GetAnalyticsWorkspace.Invoke(new()\n    {\n        Name = \"acctest-01\",\n        ResourceGroupName = \"acctest\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"logAnalyticsWorkspaceId\"] = example.Apply(getAnalyticsWorkspaceResult =\u003e getAnalyticsWorkspaceResult.WorkspaceId),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/operationalinsights\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := operationalinsights.LookupAnalyticsWorkspace(ctx, \u0026operationalinsights.LookupAnalyticsWorkspaceArgs{\n\t\t\tName:              \"acctest-01\",\n\t\t\tResourceGroupName: \"acctest\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"logAnalyticsWorkspaceId\", example.WorkspaceId)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.operationalinsights.OperationalinsightsFunctions;\nimport com.pulumi.azure.operationalinsights.inputs.GetAnalyticsWorkspaceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = OperationalinsightsFunctions.getAnalyticsWorkspace(GetAnalyticsWorkspaceArgs.builder()\n            .name(\"acctest-01\")\n            .resourceGroupName(\"acctest\")\n            .build());\n\n        ctx.export(\"logAnalyticsWorkspaceId\", example.workspaceId());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:operationalinsights:getAnalyticsWorkspace\n      arguments:\n        name: acctest-01\n        resourceGroupName: acctest\noutputs:\n  logAnalyticsWorkspaceId: ${example.workspaceId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.OperationalInsights` - 2020-08-01\n","inputs":{"description":"A collection of arguments for invoking getAnalyticsWorkspace.\n","properties":{"name":{"type":"string","description":"Specifies the name of the Log Analytics Workspace.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the Log Analytics workspace is located in.\n"}},"type":"object","required":["name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getAnalyticsWorkspace.\n","properties":{"dailyQuotaGb":{"description":"The workspace daily quota for ingestion in GB.\n","type":"number"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"location":{"type":"string"},"name":{"type":"string"},"primarySharedKey":{"description":"The Primary shared key for the Log Analytics Workspace.\n","secret":true,"type":"string"},"resourceGroupName":{"type":"string"},"retentionInDays":{"description":"The workspace data retention in days.\n","type":"integer"},"secondarySharedKey":{"description":"The Secondary shared key for the Log Analytics Workspace.\n","secret":true,"type":"string"},"sku":{"description":"The SKU of the Log Analytics Workspace.\n","type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"A mapping of tags assigned to the resource.\n","type":"object"},"workspaceId":{"description":"The Workspace (or Customer) ID for the Log Analytics Workspace.\n","type":"string"}},"required":["dailyQuotaGb","location","name","primarySharedKey","resourceGroupName","retentionInDays","secondarySharedKey","sku","tags","workspaceId","id"],"type":"object"}},"azure:oracle/getAdbsCharacterSets:getAdbsCharacterSets":{"description":"Gets a list of supported character sets.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nexport = async () =\u003e {\n    const example = await azure.oracle.getAdbsCharacterSets({\n        location: \"West Europe\",\n    });\n    return {\n        example: example,\n    };\n}\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.oracle.get_adbs_character_sets(location=\"West Europe\")\npulumi.export(\"example\", example)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Oracle.GetAdbsCharacterSets.Invoke(new()\n    {\n        Location = \"West Europe\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"example\"] = example,\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/oracle\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := oracle.GetAdbsCharacterSets(ctx, \u0026oracle.GetAdbsCharacterSetsArgs{\n\t\t\tLocation: \"West Europe\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"example\", example)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.oracle.OracleFunctions;\nimport com.pulumi.azure.oracle.inputs.GetAdbsCharacterSetsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = OracleFunctions.getAdbsCharacterSets(GetAdbsCharacterSetsArgs.builder()\n            .location(\"West Europe\")\n            .build());\n\n        ctx.export(\"example\", example);\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:oracle:getAdbsCharacterSets\n      arguments:\n        location: West Europe\noutputs:\n  example: ${example}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Oracle.Database` - 2025-09-01\n","inputs":{"description":"A collection of arguments for invoking getAdbsCharacterSets.\n","properties":{"location":{"type":"string","description":"The Azure Region to query for the character sets in.\n","willReplaceOnChanges":true}},"type":"object","required":["location"]},"outputs":{"description":"A collection of values returned by getAdbsCharacterSets.\n","properties":{"characterSets":{"description":"A \u003cspan pulumi-lang-nodejs=\"`characterSets`\" pulumi-lang-dotnet=\"`CharacterSets`\" pulumi-lang-go=\"`characterSets`\" pulumi-lang-python=\"`character_sets`\" pulumi-lang-yaml=\"`characterSets`\" pulumi-lang-java=\"`characterSets`\"\u003e`character_sets`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:oracle/getAdbsCharacterSetsCharacterSet:getAdbsCharacterSetsCharacterSet"},"type":"array"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"location":{"type":"string"}},"required":["characterSets","location","id"],"type":"object"}},"azure:oracle/getAdbsNationalCharacterSets:getAdbsNationalCharacterSets":{"description":"Gets a list of supported national character sets.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nexport = async () =\u003e {\n    const example = await azure.oracle.getAdbsCharacterSets({\n        location: \"West Europe\",\n    });\n    return {\n        example: exampleAzurermOracleAdbsNationalCharacterSets,\n    };\n}\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.oracle.get_adbs_character_sets(location=\"West Europe\")\npulumi.export(\"example\", example_azurerm_oracle_adbs_national_character_sets)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Oracle.GetAdbsCharacterSets.Invoke(new()\n    {\n        Location = \"West Europe\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"example\"] = exampleAzurermOracleAdbsNationalCharacterSets,\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/oracle\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := oracle.GetAdbsCharacterSets(ctx, \u0026oracle.GetAdbsCharacterSetsArgs{\n\t\t\tLocation: \"West Europe\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"example\", exampleAzurermOracleAdbsNationalCharacterSets)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.oracle.OracleFunctions;\nimport com.pulumi.azure.oracle.inputs.GetAdbsCharacterSetsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = OracleFunctions.getAdbsCharacterSets(GetAdbsCharacterSetsArgs.builder()\n            .location(\"West Europe\")\n            .build());\n\n        ctx.export(\"example\", exampleAzurermOracleAdbsNationalCharacterSets);\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:oracle:getAdbsCharacterSets\n      arguments:\n        location: West Europe\noutputs:\n  example: ${exampleAzurermOracleAdbsNationalCharacterSets}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Oracle.Database` - 2025-09-01\n","inputs":{"description":"A collection of arguments for invoking getAdbsNationalCharacterSets.\n","properties":{"location":{"type":"string","description":"The Azure Region to query for the national character sets in.\n","willReplaceOnChanges":true}},"type":"object","required":["location"]},"outputs":{"description":"A collection of values returned by getAdbsNationalCharacterSets.\n","properties":{"characterSets":{"description":"A \u003cspan pulumi-lang-nodejs=\"`characterSets`\" pulumi-lang-dotnet=\"`CharacterSets`\" pulumi-lang-go=\"`characterSets`\" pulumi-lang-python=\"`character_sets`\" pulumi-lang-yaml=\"`characterSets`\" pulumi-lang-java=\"`characterSets`\"\u003e`character_sets`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:oracle/getAdbsNationalCharacterSetsCharacterSet:getAdbsNationalCharacterSetsCharacterSet"},"type":"array"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"location":{"type":"string"}},"required":["characterSets","location","id"],"type":"object"}},"azure:oracle/getAutonomousDatabase:getAutonomousDatabase":{"description":"Use this data source to access information about an existing Autonomous Database.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.oracle.getAutonomousDatabase({\n    name: \"existing\",\n    resourceGroupName: \"existing\",\n});\nexport const id = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.oracle.get_autonomous_database(name=\"existing\",\n    resource_group_name=\"existing\")\npulumi.export(\"id\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Oracle.GetAutonomousDatabase.Invoke(new()\n    {\n        Name = \"existing\",\n        ResourceGroupName = \"existing\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"id\"] = example.Apply(getAutonomousDatabaseResult =\u003e getAutonomousDatabaseResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/oracle\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := oracle.LookupAutonomousDatabase(ctx, \u0026oracle.LookupAutonomousDatabaseArgs{\n\t\t\tName:              \"existing\",\n\t\t\tResourceGroupName: \"existing\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"id\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.oracle.OracleFunctions;\nimport com.pulumi.azure.oracle.inputs.GetAutonomousDatabaseArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = OracleFunctions.getAutonomousDatabase(GetAutonomousDatabaseArgs.builder()\n            .name(\"existing\")\n            .resourceGroupName(\"existing\")\n            .build());\n\n        ctx.export(\"id\", example.id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:oracle:getAutonomousDatabase\n      arguments:\n        name: existing\n        resourceGroupName: existing\noutputs:\n  id: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Oracle.Database` - 2025-09-01\n","inputs":{"description":"A collection of arguments for invoking getAutonomousDatabase.\n","properties":{"name":{"type":"string","description":"The name of this Autonomous Database.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Autonomous Database exists.\n"}},"type":"object","required":["name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getAutonomousDatabase.\n","properties":{"actualUsedDataStorageSizeInTbs":{"description":"The current amount of storage in use for user and system data, in terabytes (TB).\n","type":"number"},"allocatedStorageSizeInTbs":{"description":"The amount of storage currently allocated for the database tables and billed for, rounded up. When auto-scaling is not enabled, this value is equal to the `dataStorageSizeInTBs` value. You can compare this value to the `actualUsedDataStorageSizeInTBs` value to determine if a manual shrink operation is appropriate for your allocated storage.\n","type":"number"},"allowedIps":{"description":"The client IP access control list (ACL). This feature is available for [Autonomous Database Serverless] (https://docs.oracle.com/en/cloud/paas/autonomous-database/index.html) and on Exadata Cloud@Customer. Only clients connecting from an IP address included in the ACL may access the Autonomous Database instance. If `arePrimaryWhitelistedIpsUsed` is 'TRUE' then Autonomous Database uses this primary's IP access control list (ACL) for the disaster recovery peer called \u003cspan pulumi-lang-nodejs=\"`standbywhitelistedips`\" pulumi-lang-dotnet=\"`Standbywhitelistedips`\" pulumi-lang-go=\"`standbywhitelistedips`\" pulumi-lang-python=\"`standbywhitelistedips`\" pulumi-lang-yaml=\"`standbywhitelistedips`\" pulumi-lang-java=\"`standbywhitelistedips`\"\u003e`standbywhitelistedips`\u003c/span\u003e.\n","items":{"type":"integer"},"type":"array"},"autoScalingEnabled":{"description":"Indicates if auto scaling is enabled for the Autonomous Database CPU core count.\n","type":"boolean"},"autoScalingForStorageEnabled":{"description":"Indicates if auto scaling is enabled for the Autonomous Database storage.\n","type":"boolean"},"autonomousDatabaseId":{"description":"The database [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm).\n","type":"string"},"availableUpgradeVersions":{"description":"List of Oracle Database versions available for a database upgrade. If there are no version upgrades available, this list is empty.\n","items":{"type":"string"},"type":"array"},"backupRetentionPeriodInDays":{"description":"Retention period, in days, for backups.\n","type":"integer"},"characterSet":{"description":"The character set for the autonomous database.\n","type":"string"},"computeCount":{"description":"The compute amount (CPUs) available to the database.\n","type":"number"},"cpuCoreCount":{"description":"The number of CPU cores to be made available to the database. When the ECPU is selected, the value for cpuCoreCount is 0. For Autonomous Database on Dedicated Exadata infrastructure, the maximum number of cores is determined by the infrastructure shape. See [Characteristics of Infrastructure Shapes](https://www.oracle.com/pls/topic/lookup?ctx=en/cloud/paas/autonomous-database\u0026id=ATPFG-GUID-B0F033C1-CC5A-42F0-B2E7-3CECFEDA1FD1) for shape details.\n","type":"integer"},"dataStorageSizeInGbs":{"description":"The quantity of data in the database, in gigabytes.\n","type":"integer"},"dataStorageSizeInTbs":{"description":"The maximum storage that can be allocated for the database, in terabytes.\n","type":"integer"},"dbNodeStorageSizeInGbs":{"description":"The DB node storage size in, in gigabytes.\n","type":"integer"},"dbVersion":{"description":"A valid Oracle Database version for Autonomous Database.\n","type":"string"},"displayName":{"description":"The user-friendly name for the Autonomous Database. The name does not have to be unique.\n","type":"string"},"failedDataRecoveryInSeconds":{"description":"Indicates the number of seconds of data loss for a Data Guard failover.\n","type":"integer"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"inMemoryAreaInGbs":{"description":"The area assigned to In-Memory tables in Autonomous Database.\n","type":"integer"},"lifecycleDetails":{"description":"Information about the current lifecycle state.\n","type":"string"},"localAdgAutoFailoverMaxDataLossLimit":{"description":"Parameter that allows users to select an acceptable maximum data loss limit in seconds, up to which Automatic Failover will be triggered when necessary for a Local Autonomous Data Guard\n","type":"integer"},"localDataGuardEnabled":{"description":"Indicates whether the Autonomous Database has local (in-region) Data Guard enabled. Not applicable to cross-region Autonomous Data Guard associations, or to Autonomous Databases using dedicated Exadata infrastructure or Exadata Cloud@Customer infrastructure.\n","type":"boolean"},"location":{"description":"The Azure Region where the Autonomous Database exists.\n","type":"string"},"longTermBackupSchedules":{"description":"A \u003cspan pulumi-lang-nodejs=\"`longTermBackupSchedule`\" pulumi-lang-dotnet=\"`LongTermBackupSchedule`\" pulumi-lang-go=\"`longTermBackupSchedule`\" pulumi-lang-python=\"`long_term_backup_schedule`\" pulumi-lang-yaml=\"`longTermBackupSchedule`\" pulumi-lang-java=\"`longTermBackupSchedule`\"\u003e`long_term_backup_schedule`\u003c/span\u003e block as defined below\n","items":{"$ref":"#/types/azure:oracle/getAutonomousDatabaseLongTermBackupSchedule:getAutonomousDatabaseLongTermBackupSchedule"},"type":"array"},"memoryPerOracleComputeUnitInGbs":{"description":"The amount of memory (in GBs) enabled per ECPU or OCPU.\n","type":"integer"},"mtlsConnectionRequired":{"description":"Specifies if the Autonomous Database requires mTLS connections.\n","type":"boolean"},"name":{"type":"string"},"nationalCharacterSet":{"description":"The national character set for the autonomous database.  The default is AL16UTF16. Allowed values are: AL16UTF16 or UTF8.\n","type":"string"},"nextLongTermBackupTimeStamp":{"description":"The date and time when the next long-term backup would be created.\n","type":"string"},"ociUrl":{"description":"The URL of the resource in the OCI console.\n","type":"string"},"ocid":{"description":"The [OCID](https://docs.oracle.com/en-us/iaas/Content/General/Concepts/identifiers.htm) of the autonomous database.\n","type":"string"},"peerDbId":{"type":"string"},"peerDbIds":{"description":"The list of [OCIDs](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of standby databases located in Autonomous Data Guard remote regions that are associated with the source database. Note that for Autonomous Database Serverless instances, standby databases located in the same region as the source primary database do not have OCIDs.\n","items":{"type":"string"},"type":"array"},"preview":{"description":"Indicates if the Autonomous Database version is a preview version.\n","type":"boolean"},"previewVersionWithServiceTermsAccepted":{"description":"Indicates if the Autonomous Database version is a preview version with service terms accepted.\n","type":"boolean"},"privateEndpoint":{"description":"The private endpoint for the resource.\n","type":"string"},"privateEndpointIp":{"description":"The private endpoint Ip address for the resource.\n","type":"string"},"privateEndpointLabel":{"description":"The private endpoint label for the resource.\n","type":"string"},"provisionableCpuses":{"description":"An array of CPU values that an Autonomous Database can be scaled to.\n","items":{"type":"integer"},"type":"array"},"remoteDataGuardEnabled":{"description":"Indicates whether the Autonomous Database has Cross Region Data Guard enabled. Not applicable to Autonomous Databases using dedicated Exadata infrastructure or Exadata Cloud@Customer infrastructure.\n","type":"boolean"},"resourceGroupName":{"type":"string"},"serviceConsoleUrl":{"description":"The URL of the Service Console for the Autonomous Database.\n","type":"string"},"sqlWebDeveloperUrl":{"description":"The URL of the SQL web developer.\n","type":"string"},"subnetId":{"description":"The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the subnet the resource is associated with.\n","type":"string"},"supportedRegionsToCloneTos":{"description":"The list of regions that support the creation of an Autonomous Database clone or an Autonomous Data Guard standby database.\n","items":{"type":"string"},"type":"array"},"tags":{"additionalProperties":{"type":"string"},"description":"A mapping of tags assigned to the Autonomous Database.\n","type":"object"},"timeCreated":{"description":"The date and time the Autonomous Database was created.\n","type":"string"},"timeDataGuardRoleChanged":{"description":"The date and time the Autonomous Data Guard role was switched for the Autonomous Database. For databases that have standbys in both the primary Data Guard region and a remote Data Guard standby region, this is the latest timestamp of either the database using the \"primary\" role in the primary Data Guard region, or database located in the remote Data Guard standby region.\n","type":"string"},"timeDeletionOfFreeAutonomousDatabase":{"description":"The date and time the Always Free database will be automatically deleted because of inactivity. If the database is in the STOPPED state and without activity until this time, it will be deleted.\n","type":"string"},"timeLocalDataGuardEnabledOn":{"description":"The date and time that Autonomous Data Guard was enabled for an Autonomous Database where the standby was provisioned in the same region as the primary database.\n","type":"string"},"timeMaintenanceBegin":{"description":"The date and time when maintenance will begin.\n","type":"string"},"timeMaintenanceEnd":{"description":"The date and time when maintenance will end.\n","type":"string"},"timeOfLastFailover":{"description":"The timestamp of the last failover operation.\n","type":"string"},"timeOfLastRefresh":{"description":"The date and time when last refresh happened.\n","type":"string"},"timeOfLastRefreshPoint":{"description":"The refresh point timestamp (UTC). The refresh point is the time to which the database was most recently refreshed. Data created after the refresh point is not included in the refresh.\n","type":"string"},"timeOfLastSwitchover":{"description":"The timestamp of the last switchover operation for the Autonomous Database.\n","type":"string"},"timeReclamationOfFreeAutonomousDatabase":{"description":"The date and time the Always Free database will be stopped because of inactivity. If this time is reached without any database activity, the database will automatically be put into the STOPPED state.\n","type":"string"},"usedDataStorageSizeInGbs":{"description":"The storage space consumed by Autonomous Database in GBs.\n","type":"integer"},"usedDataStorageSizeInTbs":{"description":"The amount of storage that has been used, in terabytes.\n","type":"integer"},"virtualNetworkId":{"description":"The ID to an Azure Resource Manager vnet resource.\n","type":"string"}},"required":["actualUsedDataStorageSizeInTbs","allocatedStorageSizeInTbs","allowedIps","autoScalingEnabled","autoScalingForStorageEnabled","autonomousDatabaseId","availableUpgradeVersions","backupRetentionPeriodInDays","characterSet","computeCount","cpuCoreCount","dataStorageSizeInGbs","dataStorageSizeInTbs","dbNodeStorageSizeInGbs","dbVersion","displayName","failedDataRecoveryInSeconds","inMemoryAreaInGbs","lifecycleDetails","localAdgAutoFailoverMaxDataLossLimit","localDataGuardEnabled","location","longTermBackupSchedules","memoryPerOracleComputeUnitInGbs","mtlsConnectionRequired","name","nationalCharacterSet","nextLongTermBackupTimeStamp","ociUrl","ocid","peerDbId","peerDbIds","preview","previewVersionWithServiceTermsAccepted","privateEndpoint","privateEndpointIp","privateEndpointLabel","provisionableCpuses","remoteDataGuardEnabled","resourceGroupName","serviceConsoleUrl","sqlWebDeveloperUrl","subnetId","supportedRegionsToCloneTos","tags","timeCreated","timeDataGuardRoleChanged","timeDeletionOfFreeAutonomousDatabase","timeLocalDataGuardEnabledOn","timeMaintenanceBegin","timeMaintenanceEnd","timeOfLastFailover","timeOfLastRefresh","timeOfLastRefreshPoint","timeOfLastSwitchover","timeReclamationOfFreeAutonomousDatabase","usedDataStorageSizeInGbs","usedDataStorageSizeInTbs","virtualNetworkId","id"],"type":"object"}},"azure:oracle/getAutonomousDatabaseBackup:getAutonomousDatabaseBackup":{"description":"Use this data source to access information about existing Autonomous Database Backups.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.oracle.getAutonomousDatabaseBackup({\n    autonomousDatabaseId: exampleAzurermOracleAutonomousDatabase.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.oracle.get_autonomous_database_backup(autonomous_database_id=example_azurerm_oracle_autonomous_database[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Oracle.GetAutonomousDatabaseBackup.Invoke(new()\n    {\n        AutonomousDatabaseId = exampleAzurermOracleAutonomousDatabase.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/oracle\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := oracle.LookupAutonomousDatabaseBackup(ctx, \u0026oracle.LookupAutonomousDatabaseBackupArgs{\n\t\t\tAutonomousDatabaseId: exampleAzurermOracleAutonomousDatabase.Id,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.oracle.OracleFunctions;\nimport com.pulumi.azure.oracle.inputs.GetAutonomousDatabaseBackupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = OracleFunctions.getAutonomousDatabaseBackup(GetAutonomousDatabaseBackupArgs.builder()\n            .autonomousDatabaseId(exampleAzurermOracleAutonomousDatabase.id())\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:oracle:getAutonomousDatabaseBackup\n      arguments:\n        autonomousDatabaseId: ${exampleAzurermOracleAutonomousDatabase.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Oracle.Database` - 2025-09-01\n","inputs":{"description":"A collection of arguments for invoking getAutonomousDatabaseBackup.\n","properties":{"autonomousDatabaseId":{"type":"string","description":"The azureId of the Autonomous Database for we will be listing the backups.\n"},"name":{"type":"string"}},"type":"object","required":["autonomousDatabaseId","name"]},"outputs":{"description":"A collection of values returned by getAutonomousDatabaseBackup.\n","properties":{"automatic":{"type":"boolean"},"autonomousDatabaseBackupOcid":{"description":"The backup OCID.\n","type":"string"},"autonomousDatabaseId":{"type":"string"},"autonomousDatabaseOcid":{"description":"The OCID of the Autonomous Database OCID.\n","type":"string"},"databaseBackupSizeInTbs":{"type":"number"},"databaseVersion":{"type":"string"},"displayName":{"description":"The user-friendly name of the backup.\n","type":"string"},"id":{"description":"The ID of the Autonomous Database Backup.\n","type":"string"},"lifecycleDetails":{"description":"Information about the current lifecycle state of the backup.\n","type":"string"},"lifecycleState":{"description":"The current state of the backup.\n","type":"string"},"location":{"description":"`- The Azure Region where the Autonomous Database Backup exists.\n","type":"string"},"name":{"type":"string"},"provisioningState":{"description":"The current provisioning state of the Autonomous Database Backup.\n","type":"string"},"restorable":{"type":"boolean"},"retentionPeriodInDays":{"description":"The retention period in days for the Autonomous Database Backup.\n","type":"integer"},"timeAvailableTil":{"description":"The date and time the backup will become unusable.\n","type":"string"},"timeEnded":{"description":"The date and time the backup was completed.\n","type":"string"},"timeStarted":{"description":"The date and time the backup started.\n","type":"string"},"type":{"type":"string"}},"required":["automatic","autonomousDatabaseBackupOcid","autonomousDatabaseId","autonomousDatabaseOcid","databaseBackupSizeInTbs","databaseVersion","displayName","id","lifecycleDetails","lifecycleState","location","name","provisioningState","restorable","retentionPeriodInDays","timeAvailableTil","timeEnded","timeStarted","type"],"type":"object"}},"azure:oracle/getAutonomousDatabaseBackups:getAutonomousDatabaseBackups":{"description":"Use this data source to access information about existing Autonomous Database Backups.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.oracle.getAutonomousDatabaseBackups({\n    autonomousDatabaseId: exampleAzurermOracleAutonomousDatabase.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.oracle.get_autonomous_database_backups(autonomous_database_id=example_azurerm_oracle_autonomous_database[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Oracle.GetAutonomousDatabaseBackups.Invoke(new()\n    {\n        AutonomousDatabaseId = exampleAzurermOracleAutonomousDatabase.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/oracle\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := oracle.GetAutonomousDatabaseBackups(ctx, \u0026oracle.GetAutonomousDatabaseBackupsArgs{\n\t\t\tAutonomousDatabaseId: exampleAzurermOracleAutonomousDatabase.Id,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.oracle.OracleFunctions;\nimport com.pulumi.azure.oracle.inputs.GetAutonomousDatabaseBackupsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = OracleFunctions.getAutonomousDatabaseBackups(GetAutonomousDatabaseBackupsArgs.builder()\n            .autonomousDatabaseId(exampleAzurermOracleAutonomousDatabase.id())\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:oracle:getAutonomousDatabaseBackups\n      arguments:\n        autonomousDatabaseId: ${exampleAzurermOracleAutonomousDatabase.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Oracle.Database` - 2025-09-01\n","inputs":{"description":"A collection of arguments for invoking getAutonomousDatabaseBackups.\n","properties":{"autonomousDatabaseId":{"type":"string","description":"The azureId of the Autonomous Database for which the backups will be listed.\n"}},"type":"object","required":["autonomousDatabaseId"]},"outputs":{"description":"A collection of values returned by getAutonomousDatabaseBackups.\n","properties":{"autonomousDatabaseBackups":{"description":"An \u003cspan pulumi-lang-nodejs=\"`autonomousDatabaseBackups`\" pulumi-lang-dotnet=\"`AutonomousDatabaseBackups`\" pulumi-lang-go=\"`autonomousDatabaseBackups`\" pulumi-lang-python=\"`autonomous_database_backups`\" pulumi-lang-yaml=\"`autonomousDatabaseBackups`\" pulumi-lang-java=\"`autonomousDatabaseBackups`\"\u003e`autonomous_database_backups`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:oracle/getAutonomousDatabaseBackupsAutonomousDatabaseBackup:getAutonomousDatabaseBackupsAutonomousDatabaseBackup"},"type":"array"},"autonomousDatabaseId":{"type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"}},"required":["autonomousDatabaseBackups","autonomousDatabaseId","id"],"type":"object"}},"azure:oracle/getAutonomousDatabaseCloneFromBackup:getAutonomousDatabaseCloneFromBackup":{"description":"Use this data source to access information about an existing autonomous database clone from backup.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.oracle.getAutonomousDatabaseCloneFromBackup({\n    name: \"existing\",\n    resourceGroupName: \"existing\",\n});\nexport const id = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.oracle.get_autonomous_database_clone_from_backup(name=\"existing\",\n    resource_group_name=\"existing\")\npulumi.export(\"id\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Oracle.GetAutonomousDatabaseCloneFromBackup.Invoke(new()\n    {\n        Name = \"existing\",\n        ResourceGroupName = \"existing\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"id\"] = example.Apply(getAutonomousDatabaseCloneFromBackupResult =\u003e getAutonomousDatabaseCloneFromBackupResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/oracle\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := oracle.LookupAutonomousDatabaseCloneFromBackup(ctx, \u0026oracle.LookupAutonomousDatabaseCloneFromBackupArgs{\n\t\t\tName:              \"existing\",\n\t\t\tResourceGroupName: \"existing\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"id\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.oracle.OracleFunctions;\nimport com.pulumi.azure.oracle.inputs.GetAutonomousDatabaseCloneFromBackupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = OracleFunctions.getAutonomousDatabaseCloneFromBackup(GetAutonomousDatabaseCloneFromBackupArgs.builder()\n            .name(\"existing\")\n            .resourceGroupName(\"existing\")\n            .build());\n\n        ctx.export(\"id\", example.id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:oracle:getAutonomousDatabaseCloneFromBackup\n      arguments:\n        name: existing\n        resourceGroupName: existing\noutputs:\n  id: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Oracle.Database` - 2025-09-01\n","inputs":{"description":"A collection of arguments for invoking getAutonomousDatabaseCloneFromBackup.\n","properties":{"name":{"type":"string","description":"The name of this autonomous database clone from backup.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Autonomous Database Clone exists.\n"}},"type":"object","required":["name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getAutonomousDatabaseCloneFromBackup.\n","properties":{"actualUsedDataStorageSizeInTb":{"description":"The current amount of storage in use for user and system data in terabytes.\n","type":"number"},"allocatedStorageSizeInTb":{"description":"The amount of storage currently allocated for the database tables and billed for, rounded up. When auto-scaling is not enabled, this value is equal to the \u003cspan pulumi-lang-nodejs=\"`dataStorageSizeInTb`\" pulumi-lang-dotnet=\"`DataStorageSizeInTb`\" pulumi-lang-go=\"`dataStorageSizeInTb`\" pulumi-lang-python=\"`data_storage_size_in_tb`\" pulumi-lang-yaml=\"`dataStorageSizeInTb`\" pulumi-lang-java=\"`dataStorageSizeInTb`\"\u003e`data_storage_size_in_tb`\u003c/span\u003e value. You can compare this value to the \u003cspan pulumi-lang-nodejs=\"`actualUsedDataStorageSizeInTb`\" pulumi-lang-dotnet=\"`ActualUsedDataStorageSizeInTb`\" pulumi-lang-go=\"`actualUsedDataStorageSizeInTb`\" pulumi-lang-python=\"`actual_used_data_storage_size_in_tb`\" pulumi-lang-yaml=\"`actualUsedDataStorageSizeInTb`\" pulumi-lang-java=\"`actualUsedDataStorageSizeInTb`\"\u003e`actual_used_data_storage_size_in_tb`\u003c/span\u003e value to determine if a manual shrink operation is appropriate for your allocated storage.\n","type":"number"},"allowedIpAddresses":{"description":"A list of IP addresses on the access control list.\n","items":{"type":"string"},"type":"array"},"autoScalingEnabled":{"description":"Whether auto-scaling is enabled for the Autonomous Database CPU core count.\n","type":"boolean"},"autoScalingForStorageEnabled":{"description":"Whether auto-scaling is enabled for the Autonomous Database storage.\n","type":"boolean"},"availableUpgradeVersions":{"description":"A list of Oracle Database versions available for a database upgrade. If there are no version upgrades available, this list is empty.\n","items":{"type":"string"},"type":"array"},"backupRetentionPeriodInDays":{"description":"The backup retention period in days.\n","type":"integer"},"characterSet":{"description":"The character set for the autonomous database.\n","type":"string"},"computeCount":{"description":"The compute amount (CPUs) available to the database.\n","type":"number"},"computeModel":{"description":"The compute model of the Autonomous Database.\n","type":"string"},"connectionStrings":{"description":"The connection string used to connect to the Autonomous Database.\n","items":{"type":"string"},"type":"array"},"cpuCoreCount":{"description":"The number of CPU cores available to the database. When the ECPU is selected, the value for cpuCoreCount is 0.\n","type":"integer"},"customerContacts":{"description":"A list of Customer's contact email addresses.\n","items":{"type":"string"},"type":"array"},"dataStorageSizeInGb":{"description":"The quantity of data in the database in gigabytes.\n","type":"integer"},"dataStorageSizeInTb":{"description":"The maximum storage that can be allocated for the database in terabytes.\n","type":"integer"},"databaseVersion":{"description":"The Oracle Database version for Autonomous Database.\n","type":"string"},"databaseWorkload":{"description":"The Autonomous Database workload type.\n","type":"string"},"displayName":{"description":"The display name for the Autonomous Database.\n","type":"string"},"failedDataRecoveryInSeconds":{"description":"Indicates the number of seconds of data loss for Data Guard failover.\n","type":"integer"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"inMemoryAreaInGb":{"description":"The area assigned to In-Memory tables in Autonomous Database.\n","type":"integer"},"licenseModel":{"description":"The Oracle license model that applied to the Oracle Autonomous Database.\n","type":"string"},"lifecycleDetails":{"description":"Information about the current lifecycle state.\n","type":"string"},"lifecycleState":{"description":"The current state of the backup.\n","type":"string"},"localAdgAutoFailoverMaxDataLossLimitInSeconds":{"description":"Parameter that allows users to select an acceptable maximum data loss limit in seconds, up to which Automatic Failover will be triggered when necessary for a Local Autonomous Data Guard.\n","type":"integer"},"localDataGuardEnabled":{"description":"Indicates whether the Autonomous Database has local (in-region) Data Guard enabled. Not applicable to cross-region Autonomous Data Guard associations, or to Autonomous Databases using dedicated Exadata infrastructure or Exadata Cloud@Customer infrastructure.\n","type":"boolean"},"location":{"description":"The Azure Region where the autonomous database cloned from backup exists.\n","type":"string"},"longTermBackupSchedules":{"description":"A \u003cspan pulumi-lang-nodejs=\"`longTermBackupSchedule`\" pulumi-lang-dotnet=\"`LongTermBackupSchedule`\" pulumi-lang-go=\"`longTermBackupSchedule`\" pulumi-lang-python=\"`long_term_backup_schedule`\" pulumi-lang-yaml=\"`longTermBackupSchedule`\" pulumi-lang-java=\"`longTermBackupSchedule`\"\u003e`long_term_backup_schedule`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:oracle/getAutonomousDatabaseCloneFromBackupLongTermBackupSchedule:getAutonomousDatabaseCloneFromBackupLongTermBackupSchedule"},"type":"array"},"memoryPerOracleComputeUnitInGb":{"description":"The amount of memory in gigabytes per ECPU or OCPU.\n","type":"integer"},"mtlsConnectionRequired":{"description":"Specifies if the Autonomous Database requires mTLS connections.\n","type":"boolean"},"name":{"type":"string"},"nationalCharacterSet":{"description":"The national character set for the autonomous database.\n","type":"string"},"nextLongTermBackupTimestamp":{"type":"string"},"ociUrl":{"description":"The URL of the resource in the OCI console.\n","type":"string"},"ocid":{"description":"The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the autonomous database.\n","type":"string"},"peerDatabaseIds":{"description":"The list of [OCIDs](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of standby databases located in Autonomous Data Guard remote regions that are associated with the source database. Note that for Autonomous Database Serverless instances, standby databases located in the same region as the source primary database do not have OCIDs.\n","items":{"type":"string"},"type":"array"},"preview":{"description":"Indicates if the Autonomous Database version is a preview version.\n","type":"boolean"},"previewVersionWithServiceTermsAccepted":{"description":"Indicates if the Autonomous Database version is a preview version with service terms accepted.\n","type":"boolean"},"privateEndpointIp":{"description":"The private endpoint IP address for the resource.\n","type":"string"},"privateEndpointLabel":{"description":"The private endpoint label for the resource.\n","type":"string"},"privateEndpointUrl":{"description":"The private endpoint for the resource.\n","type":"string"},"provisionableCpuses":{"description":"An array of CPU values that an Autonomous Database can be scaled to.\n","items":{"type":"integer"},"type":"array"},"remoteDataGuardEnabled":{"description":"Indicates whether the Autonomous Database has Cross Region Data Guard enabled. Not applicable to Autonomous Databases using dedicated Exadata infrastructure or Exadata Cloud@Customer infrastructure.\n","type":"boolean"},"resourceGroupName":{"type":"string"},"serviceConsoleUrl":{"description":"The URL of the Service Console for the Autonomous Database.\n","type":"string"},"sourceAutonomousDatabaseId":{"description":"The ID of the source Autonomous Database from which this clone was created.\n","type":"string"},"sqlWebDeveloperUrl":{"description":"The URL of the SQL web developer portal.\n","type":"string"},"subnetId":{"description":"The ID to an Azure Resource Manager subnet the resource is associated with.\n","type":"string"},"supportedRegionsToCloneTos":{"description":"The list of regions that support the creation of an Autonomous Database clone or an Autonomous Data Guard standby database.\n","items":{"type":"string"},"type":"array"},"tags":{"additionalProperties":{"type":"string"},"description":"A mapping of tags assigned to the autonomous database clone from backup.\n","type":"object"},"timeCreatedInUtc":{"description":"The timestamp the Autonomous Database was created.\n","type":"string"},"timeDataGuardRoleChangedInUtc":{"description":"The timestamp the Autonomous Data Guard role was switched for the Autonomous Database. For databases that have standbys in both the primary Data Guard region and a remote Data Guard standby region, this is the latest timestamp of either the database using the \"primary\" role in the primary Data Guard region, or database located in the remote Data Guard standby region.\n","type":"string"},"timeDeletionOfFreeAutonomousDatabaseInUtc":{"description":"The timestamp the Always Free database will be automatically deleted because of inactivity. If the database is in the STOPPED state and without activity until this time, it will be deleted.\n","type":"string"},"timeLocalDataGuardEnabledInUtc":{"description":"The timestamp that Autonomous Data Guard was enabled for an Autonomous Database where the standby was provisioned in the same region as the primary database.\n","type":"string"},"timeMaintenanceBeginInUtc":{"description":"The timestamp when maintenance will begin.\n","type":"string"},"timeMaintenanceEndInUtc":{"description":"The timestamp when maintenance will end.\n","type":"string"},"timeOfLastFailoverInUtc":{"description":"The timestamp of the last failover operation.\n","type":"string"},"timeOfLastRefreshInUtc":{"description":"The timestamp when the last refresh happened.\n","type":"string"},"timeOfLastRefreshPointInUtc":{"description":"The refresh point timestamp (UTC). The refresh point is the time to which the database was most recently refreshed. Data created after the refresh point is not included in the refresh.\n","type":"string"},"timeOfLastSwitchoverInUtc":{"description":"The timestamp of the last switchover operation for the Autonomous Database.\n","type":"string"},"timeReclamationOfFreeAutonomousDatabaseInUtc":{"description":"The timestamp the Always Free database will be stopped because of inactivity. If this time is reached without any database activity, the database will automatically be put into the STOPPED state.\n","type":"string"},"usedDataStorageSizeInGb":{"description":"The storage space consumed by Autonomous Database in gigabytes.\n","type":"integer"},"usedDataStorageSizeInTb":{"description":"The amount of storage that has been used, in terabytes.\n","type":"integer"},"virtualNetworkId":{"description":"The ID to an Azure Resource Manager virtual network resource.\n","type":"string"}},"required":["actualUsedDataStorageSizeInTb","allocatedStorageSizeInTb","allowedIpAddresses","autoScalingEnabled","autoScalingForStorageEnabled","availableUpgradeVersions","backupRetentionPeriodInDays","characterSet","computeCount","computeModel","connectionStrings","cpuCoreCount","customerContacts","dataStorageSizeInGb","dataStorageSizeInTb","databaseVersion","databaseWorkload","displayName","failedDataRecoveryInSeconds","inMemoryAreaInGb","licenseModel","lifecycleDetails","lifecycleState","localAdgAutoFailoverMaxDataLossLimitInSeconds","localDataGuardEnabled","location","longTermBackupSchedules","memoryPerOracleComputeUnitInGb","mtlsConnectionRequired","name","nationalCharacterSet","nextLongTermBackupTimestamp","ociUrl","ocid","peerDatabaseIds","preview","previewVersionWithServiceTermsAccepted","privateEndpointIp","privateEndpointLabel","privateEndpointUrl","provisionableCpuses","remoteDataGuardEnabled","resourceGroupName","serviceConsoleUrl","sourceAutonomousDatabaseId","sqlWebDeveloperUrl","subnetId","supportedRegionsToCloneTos","tags","timeCreatedInUtc","timeDataGuardRoleChangedInUtc","timeDeletionOfFreeAutonomousDatabaseInUtc","timeLocalDataGuardEnabledInUtc","timeMaintenanceBeginInUtc","timeMaintenanceEndInUtc","timeOfLastFailoverInUtc","timeOfLastRefreshInUtc","timeOfLastRefreshPointInUtc","timeOfLastSwitchoverInUtc","timeReclamationOfFreeAutonomousDatabaseInUtc","usedDataStorageSizeInGb","usedDataStorageSizeInTb","virtualNetworkId","id"],"type":"object"}},"azure:oracle/getAutonomousDatabaseCloneFromDatabase:getAutonomousDatabaseCloneFromDatabase":{"description":"Use this data source to access information about an existing autonomous database clone from database.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.oracle.getAutonomousDatabaseCloneFromDatabase({\n    name: \"existing\",\n    resourceGroupName: \"existing\",\n});\nexport const id = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.oracle.get_autonomous_database_clone_from_database(name=\"existing\",\n    resource_group_name=\"existing\")\npulumi.export(\"id\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Oracle.GetAutonomousDatabaseCloneFromDatabase.Invoke(new()\n    {\n        Name = \"existing\",\n        ResourceGroupName = \"existing\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"id\"] = example.Apply(getAutonomousDatabaseCloneFromDatabaseResult =\u003e getAutonomousDatabaseCloneFromDatabaseResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/oracle\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := oracle.LookupAutonomousDatabaseCloneFromDatabase(ctx, \u0026oracle.LookupAutonomousDatabaseCloneFromDatabaseArgs{\n\t\t\tName:              \"existing\",\n\t\t\tResourceGroupName: \"existing\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"id\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.oracle.OracleFunctions;\nimport com.pulumi.azure.oracle.inputs.GetAutonomousDatabaseCloneFromDatabaseArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = OracleFunctions.getAutonomousDatabaseCloneFromDatabase(GetAutonomousDatabaseCloneFromDatabaseArgs.builder()\n            .name(\"existing\")\n            .resourceGroupName(\"existing\")\n            .build());\n\n        ctx.export(\"id\", example.id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:oracle:getAutonomousDatabaseCloneFromDatabase\n      arguments:\n        name: existing\n        resourceGroupName: existing\noutputs:\n  id: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Oracle.Database` - 2025-09-01\n","inputs":{"description":"A collection of arguments for invoking getAutonomousDatabaseCloneFromDatabase.\n","properties":{"name":{"type":"string","description":"The name of this autonomous database clone from database.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the autonomous database cloned from database exists.\n"}},"type":"object","required":["name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getAutonomousDatabaseCloneFromDatabase.\n","properties":{"actualUsedDataStorageSizeInTb":{"description":"The current amount of storage in use for user and system data, in terabytes (TB).\n","type":"number"},"allocatedStorageSizeInTb":{"description":"The amount of storage currently allocated for the database tables and billed for, rounded up. When auto-scaling is not enabled, this value is equal to the \u003cspan pulumi-lang-nodejs=\"`dataStorageSizeInTb`\" pulumi-lang-dotnet=\"`DataStorageSizeInTb`\" pulumi-lang-go=\"`dataStorageSizeInTb`\" pulumi-lang-python=\"`data_storage_size_in_tb`\" pulumi-lang-yaml=\"`dataStorageSizeInTb`\" pulumi-lang-java=\"`dataStorageSizeInTb`\"\u003e`data_storage_size_in_tb`\u003c/span\u003e value. You can compare this value to the \u003cspan pulumi-lang-nodejs=\"`actualUsedDataStorageSizeInTb`\" pulumi-lang-dotnet=\"`ActualUsedDataStorageSizeInTb`\" pulumi-lang-go=\"`actualUsedDataStorageSizeInTb`\" pulumi-lang-python=\"`actual_used_data_storage_size_in_tb`\" pulumi-lang-yaml=\"`actualUsedDataStorageSizeInTb`\" pulumi-lang-java=\"`actualUsedDataStorageSizeInTb`\"\u003e`actual_used_data_storage_size_in_tb`\u003c/span\u003e value to determine if a manual shrink operation is appropriate for your allocated storage.\n","type":"number"},"allowedIpAddresses":{"description":"A list of IP addresses on the access control list.\n","items":{"type":"string"},"type":"array"},"autoScalingEnabled":{"description":"Indicates if auto scaling is enabled for the Autonomous Database CPU core count.\n","type":"boolean"},"autoScalingForStorageEnabled":{"description":"Indicates if auto scaling is enabled for the Autonomous Database storage.\n","type":"boolean"},"availableUpgradeVersions":{"description":"A list of Oracle Database versions available for a database upgrade. If there are no version upgrades available, this list is empty.\n","items":{"type":"string"},"type":"array"},"backupRetentionPeriodInDays":{"description":"The backup retention period in days.\n","type":"integer"},"characterSet":{"description":"The character set for the autonomous database.\n","type":"string"},"computeCount":{"description":"The compute amount (CPUs) available to the database.\n","type":"number"},"computeModel":{"description":"The compute model of the Autonomous Database.\n","type":"string"},"connectionStrings":{"description":"The connection string used to connect to the Autonomous Database.\n","items":{"type":"string"},"type":"array"},"cpuCoreCount":{"description":"The number of CPU cores to be made available to the database. When the ECPU is selected, the value for cpuCoreCount is 0.\n","type":"integer"},"customerContacts":{"description":"A list of Customer's contact email addresses.\n","items":{"type":"string"},"type":"array"},"dataStorageSizeInGb":{"description":"The quantity of data in the database, in gigabytes.\n","type":"integer"},"dataStorageSizeInTb":{"description":"The maximum storage that can be allocated for the database, in terabytes.\n","type":"integer"},"databaseVersion":{"description":"The Oracle Database version for Autonomous Database.\n","type":"string"},"databaseWorkload":{"description":"The Autonomous Database workload type.\n","type":"string"},"displayName":{"description":"The display name for the Autonomous Database.\n","type":"string"},"failedDataRecoveryInSeconds":{"description":"Indicates the number of seconds of data loss for a Data Guard failover.\n","type":"integer"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"inMemoryAreaInGb":{"description":"The area assigned to In-Memory tables in Autonomous Database.\n","type":"integer"},"licenseModel":{"description":"The Oracle license model that applied to the Oracle Autonomous Database.\n","type":"string"},"lifecycleDetails":{"description":"Information about the current lifecycle state.\n","type":"string"},"lifecycleState":{"description":"The current state of the backup.\n","type":"string"},"localAdgAutoFailoverMaxDataLossLimitInSeconds":{"description":"Parameter that allows users to select an acceptable maximum data loss limit in seconds, up to which Automatic Failover will be triggered when necessary for a Local Autonomous Data Guard\n","type":"integer"},"localDataGuardEnabled":{"description":"Indicates whether the Autonomous Database has local (in-region) Data Guard enabled. Not applicable to cross-region Autonomous Data Guard associations, or to Autonomous Databases using dedicated Exadata infrastructure or Exadata Cloud@Customer infrastructure.\n","type":"boolean"},"location":{"description":"The Azure Region where the autonomous database cloned from database exists.\n","type":"string"},"longTermBackupSchedules":{"description":"A \u003cspan pulumi-lang-nodejs=\"`longTermBackupSchedule`\" pulumi-lang-dotnet=\"`LongTermBackupSchedule`\" pulumi-lang-go=\"`longTermBackupSchedule`\" pulumi-lang-python=\"`long_term_backup_schedule`\" pulumi-lang-yaml=\"`longTermBackupSchedule`\" pulumi-lang-java=\"`longTermBackupSchedule`\"\u003e`long_term_backup_schedule`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:oracle/getAutonomousDatabaseCloneFromDatabaseLongTermBackupSchedule:getAutonomousDatabaseCloneFromDatabaseLongTermBackupSchedule"},"type":"array"},"memoryPerOracleComputeUnitInGb":{"description":"The amount of memory in gigabytes per ECPU or OCPU.\n","type":"integer"},"mtlsConnectionRequired":{"description":"Specifies if the Autonomous Database requires mTLS connections.\n","type":"boolean"},"name":{"type":"string"},"nationalCharacterSet":{"description":"The national character set for the autonomous database.\n","type":"string"},"nextLongTermBackupTimestamp":{"type":"string"},"ociUrl":{"description":"The URL of the resource in the OCI console.\n","type":"string"},"ocid":{"description":"The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the autonomous database.\n","type":"string"},"peerDatabaseIds":{"description":"The list of [OCIDs](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of standby databases located in Autonomous Data Guard remote regions that are associated with the source database. Note that for Autonomous Database Serverless instances, standby databases located in the same region as the source primary database do not have OCIDs.\n","items":{"type":"string"},"type":"array"},"preview":{"description":"Indicates if the Autonomous Database version is a preview version.\n","type":"boolean"},"previewVersionWithServiceTermsAccepted":{"description":"Indicates if the Autonomous Database version is a preview version with service terms accepted.\n","type":"boolean"},"privateEndpointIp":{"description":"The private endpoint IP address for the resource.\n","type":"string"},"privateEndpointLabel":{"description":"The private endpoint label for the resource.\n","type":"string"},"privateEndpointUrl":{"description":"The private endpoint for the resource.\n","type":"string"},"provisionableCpuses":{"description":"An array of CPU values that an Autonomous Database can be scaled to.\n","items":{"type":"integer"},"type":"array"},"reconnectCloneEnabled":{"description":"Indicates whether reconnect clone is enabled.\n","type":"boolean"},"refreshableClone":{"description":"Indicates whether the clone is a refreshable clone.\n","type":"boolean"},"refreshableStatus":{"description":"The current refreshable status of the clone. Values include `Refreshing` and `NotRefreshing`.\n","type":"string"},"remoteDataGuardEnabled":{"description":"Indicates whether the Autonomous Database has Cross Region Data Guard enabled. Not applicable to Autonomous Databases using dedicated Exadata infrastructure or Exadata Cloud@Customer infrastructure.\n","type":"boolean"},"resourceGroupName":{"type":"string"},"serviceConsoleUrl":{"description":"The URL of the Service Console for the Autonomous Database.\n","type":"string"},"sourceAutonomousDatabaseId":{"description":"The ID of the source Autonomous Database from which this clone was created.\n","type":"string"},"sqlWebDeveloperUrl":{"description":"The URL of the SQL web developer portal.\n","type":"string"},"subnetId":{"description":"The ID to an Azure Resource Manager subnet the resource is associated with.\n","type":"string"},"supportedRegionsToCloneTos":{"description":"The list of regions that support the creation of an Autonomous Database clone or an Autonomous Data Guard standby database.\n","items":{"type":"string"},"type":"array"},"tags":{"additionalProperties":{"type":"string"},"description":"A mapping of tags assigned to the autonomous database clone from database.\n","type":"object"},"timeCreatedInUtc":{"description":"The timestamp the Autonomous Database was created.\n","type":"string"},"timeDataGuardRoleChangedInUtc":{"description":"The timestamp the Autonomous Data Guard role was switched for the Autonomous Database. For databases that have standbys in both the primary Data Guard region and a remote Data Guard standby region, this is the latest timestamp of either the database using the \"primary\" role in the primary Data Guard region, or database located in the remote Data Guard standby region.\n","type":"string"},"timeDeletionOfFreeAutonomousDatabaseInUtc":{"description":"The timestamp the Always Free database will be automatically deleted because of inactivity. If the database is in the STOPPED state and without activity until this time, it will be deleted.\n","type":"string"},"timeLocalDataGuardEnabledInUtc":{"description":"The timestamp that Autonomous Data Guard was enabled for an Autonomous Database where the standby was provisioned in the same region as the primary database.\n","type":"string"},"timeMaintenanceBeginInUtc":{"description":"The timestamp when maintenance will begin.\n","type":"string"},"timeMaintenanceEndInUtc":{"description":"The timestamp when maintenance will end.\n","type":"string"},"timeOfLastFailoverInUtc":{"description":"The timestamp of the last failover operation.\n","type":"string"},"timeOfLastRefreshInUtc":{"description":"The timestamp when the last refresh happened.\n","type":"string"},"timeOfLastRefreshPointInUtc":{"description":"The refresh point timestamp (UTC). The refresh point is the time to which the database was most recently refreshed. Data created after the refresh point is not included in the refresh.\n","type":"string"},"timeOfLastSwitchoverInUtc":{"description":"The timestamp of the last switchover operation for the Autonomous Database.\n","type":"string"},"timeReclamationOfFreeAutonomousDatabaseInUtc":{"description":"The timestamp the Always Free database will be stopped because of inactivity. If this time is reached without any database activity, the database will automatically be put into the STOPPED state.\n","type":"string"},"timeUntilReconnectInUtc":{"description":"The time until reconnect clone is enabled.\n","type":"string"},"usedDataStorageSizeInGb":{"description":"The storage space consumed by Autonomous Database in gigabytes.\n","type":"integer"},"usedDataStorageSizeInTb":{"description":"The amount of storage that has been used, in terabytes.\n","type":"integer"},"virtualNetworkId":{"description":"The ID to an Azure Resource Manager virtual network resource.\n","type":"string"}},"required":["actualUsedDataStorageSizeInTb","allocatedStorageSizeInTb","allowedIpAddresses","autoScalingEnabled","autoScalingForStorageEnabled","availableUpgradeVersions","backupRetentionPeriodInDays","characterSet","computeCount","computeModel","connectionStrings","cpuCoreCount","customerContacts","dataStorageSizeInGb","dataStorageSizeInTb","databaseVersion","databaseWorkload","displayName","failedDataRecoveryInSeconds","inMemoryAreaInGb","licenseModel","lifecycleDetails","lifecycleState","localAdgAutoFailoverMaxDataLossLimitInSeconds","localDataGuardEnabled","location","longTermBackupSchedules","memoryPerOracleComputeUnitInGb","mtlsConnectionRequired","name","nationalCharacterSet","nextLongTermBackupTimestamp","ociUrl","ocid","peerDatabaseIds","preview","previewVersionWithServiceTermsAccepted","privateEndpointIp","privateEndpointLabel","privateEndpointUrl","provisionableCpuses","reconnectCloneEnabled","refreshableClone","refreshableStatus","remoteDataGuardEnabled","resourceGroupName","serviceConsoleUrl","sourceAutonomousDatabaseId","sqlWebDeveloperUrl","subnetId","supportedRegionsToCloneTos","tags","timeCreatedInUtc","timeDataGuardRoleChangedInUtc","timeDeletionOfFreeAutonomousDatabaseInUtc","timeLocalDataGuardEnabledInUtc","timeMaintenanceBeginInUtc","timeMaintenanceEndInUtc","timeOfLastFailoverInUtc","timeOfLastRefreshInUtc","timeOfLastRefreshPointInUtc","timeOfLastSwitchoverInUtc","timeReclamationOfFreeAutonomousDatabaseInUtc","timeUntilReconnectInUtc","usedDataStorageSizeInGb","usedDataStorageSizeInTb","virtualNetworkId","id"],"type":"object"}},"azure:oracle/getCloudVmCluster:getCloudVmCluster":{"description":"Use this data source to access information about an existing Cloud VM Cluster.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.oracle.getCloudVmCluster({\n    name: \"existing\",\n    resourceGroupName: \"existing\",\n});\nexport const id = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.oracle.get_cloud_vm_cluster(name=\"existing\",\n    resource_group_name=\"existing\")\npulumi.export(\"id\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Oracle.GetCloudVmCluster.Invoke(new()\n    {\n        Name = \"existing\",\n        ResourceGroupName = \"existing\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"id\"] = example.Apply(getCloudVmClusterResult =\u003e getCloudVmClusterResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/oracle\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := oracle.LookupCloudVmCluster(ctx, \u0026oracle.LookupCloudVmClusterArgs{\n\t\t\tName:              \"existing\",\n\t\t\tResourceGroupName: \"existing\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"id\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.oracle.OracleFunctions;\nimport com.pulumi.azure.oracle.inputs.GetCloudVmClusterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = OracleFunctions.getCloudVmCluster(GetCloudVmClusterArgs.builder()\n            .name(\"existing\")\n            .resourceGroupName(\"existing\")\n            .build());\n\n        ctx.export(\"id\", example.id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:oracle:getCloudVmCluster\n      arguments:\n        name: existing\n        resourceGroupName: existing\noutputs:\n  id: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Oracle.Database` - 2025-09-01\n","inputs":{"description":"A collection of arguments for invoking getCloudVmCluster.\n","properties":{"name":{"type":"string","description":"The name of this Cloud VM Cluster.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Cloud VM Cluster exists.\n"}},"type":"object","required":["name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getCloudVmCluster.\n","properties":{"backupSubnetCidr":{"description":"Client OCI backup subnet CIDR, default is `192.168.252.0/22`.\n","type":"string"},"cloudExadataInfrastructureId":{"description":"The Cloud Exadata Infrastructure ID.\n","type":"string"},"clusterName":{"description":"The cluster name for Cloud VM Cluster.\n","type":"string"},"compartmentId":{"description":"The OCID of the compartment.\n","type":"string"},"computeModel":{"description":"The compute model of the Exadata Infrastructure.\n","type":"string"},"computeNodes":{"description":"A \u003cspan pulumi-lang-nodejs=\"`computeNodes`\" pulumi-lang-dotnet=\"`ComputeNodes`\" pulumi-lang-go=\"`computeNodes`\" pulumi-lang-python=\"`compute_nodes`\" pulumi-lang-yaml=\"`computeNodes`\" pulumi-lang-java=\"`computeNodes`\"\u003e`compute_nodes`\u003c/span\u003e block as defined below.\n","items":{"type":"string"},"type":"array"},"cpuCoreCount":{"description":"The number of CPU cores enabled on the Cloud VM Cluster.\n","type":"integer"},"dataCollectionOptions":{"description":"A \u003cspan pulumi-lang-nodejs=\"`dataCollectionOptions`\" pulumi-lang-dotnet=\"`DataCollectionOptions`\" pulumi-lang-go=\"`dataCollectionOptions`\" pulumi-lang-python=\"`data_collection_options`\" pulumi-lang-yaml=\"`dataCollectionOptions`\" pulumi-lang-java=\"`dataCollectionOptions`\"\u003e`data_collection_options`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:oracle/getCloudVmClusterDataCollectionOption:getCloudVmClusterDataCollectionOption"},"type":"array"},"dataStoragePercentage":{"description":"The percentage assigned to DATA storage (user data and database files). The remaining percentage is assigned to RECO storage (database redo logs, archive logs, and recovery manager backups). Accepted values are \u003cspan pulumi-lang-nodejs=\"`35`\" pulumi-lang-dotnet=\"`35`\" pulumi-lang-go=\"`35`\" pulumi-lang-python=\"`35`\" pulumi-lang-yaml=\"`35`\" pulumi-lang-java=\"`35`\"\u003e`35`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`40`\" pulumi-lang-dotnet=\"`40`\" pulumi-lang-go=\"`40`\" pulumi-lang-python=\"`40`\" pulumi-lang-yaml=\"`40`\" pulumi-lang-java=\"`40`\"\u003e`40`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`60`\" pulumi-lang-dotnet=\"`60`\" pulumi-lang-go=\"`60`\" pulumi-lang-python=\"`60`\" pulumi-lang-yaml=\"`60`\" pulumi-lang-java=\"`60`\"\u003e`60`\u003c/span\u003e, and 80. The default is \u003cspan pulumi-lang-nodejs=\"`80`\" pulumi-lang-dotnet=\"`80`\" pulumi-lang-go=\"`80`\" pulumi-lang-python=\"`80`\" pulumi-lang-yaml=\"`80`\" pulumi-lang-java=\"`80`\"\u003e`80`\u003c/span\u003e percent assigned to DATA storage. See [Storage Configuration](https://docs.oracle.com/en-us/iaas/exadatacloud/index.html#Exadata) in the Exadata documentation for details on the impact of the configuration settings on storage.\n","type":"integer"},"dataStorageSizeInTbs":{"description":"The data disk group size to be allocated in TBs.\n","type":"number"},"dbNodeStorageSizeInGbs":{"description":"The local node storage to be allocated in GBs.\n","type":"integer"},"dbServers":{"description":"A \u003cspan pulumi-lang-nodejs=\"`dbServers`\" pulumi-lang-dotnet=\"`DbServers`\" pulumi-lang-go=\"`dbServers`\" pulumi-lang-python=\"`db_servers`\" pulumi-lang-yaml=\"`dbServers`\" pulumi-lang-java=\"`dbServers`\"\u003e`db_servers`\u003c/span\u003e block as defined below.\n","items":{"type":"string"},"type":"array"},"diskRedundancy":{"description":"The type of redundancy configured for the Cloud Vm Cluster. `NORMAL` is 2-way redundancy. `HIGH` is 3-way redundancy.\n","type":"string"},"displayName":{"description":"The user-friendly name for the Cloud VM Cluster. The name does not need to be unique.\n","type":"string"},"domain":{"description":"The domain name for the Cloud VM Cluster.\n","type":"string"},"fileSystemConfigurations":{"description":"A \u003cspan pulumi-lang-nodejs=\"`fileSystemConfiguration`\" pulumi-lang-dotnet=\"`FileSystemConfiguration`\" pulumi-lang-go=\"`fileSystemConfiguration`\" pulumi-lang-python=\"`file_system_configuration`\" pulumi-lang-yaml=\"`fileSystemConfiguration`\" pulumi-lang-java=\"`fileSystemConfiguration`\"\u003e`file_system_configuration`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:oracle/getCloudVmClusterFileSystemConfiguration:getCloudVmClusterFileSystemConfiguration"},"type":"array"},"giVersion":{"description":"A valid Oracle Grid Infrastructure (GI) software version.\n","type":"string"},"hostname":{"description":"The hostname for the Cloud VM Cluster without suffix.\n","type":"string"},"hostnameActual":{"description":"The hostname for the Cloud VM Cluster with suffix.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"iormConfigCaches":{"description":"A \u003cspan pulumi-lang-nodejs=\"`iormConfigCache`\" pulumi-lang-dotnet=\"`IormConfigCache`\" pulumi-lang-go=\"`iormConfigCache`\" pulumi-lang-python=\"`iorm_config_cache`\" pulumi-lang-yaml=\"`iormConfigCache`\" pulumi-lang-java=\"`iormConfigCache`\"\u003e`iorm_config_cache`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:oracle/getCloudVmClusterIormConfigCache:getCloudVmClusterIormConfigCache"},"type":"array"},"lastUpdateHistoryEntryId":{"description":"The [OCID](https://docs.oracle.com/en-us/iaas/Content/General/Concepts/identifiers.htm) of the last maintenance update history entry. This value is updated when a maintenance update starts.\n","type":"string"},"licenseModel":{"description":"The Oracle license model that applies to the Cloud VM Cluster.\n","type":"string"},"lifecycleDetails":{"description":"Additional information about the current `lifecycleState`.\n","type":"string"},"lifecycleState":{"description":"The current state of IORM configuration for the Exadata DB system.\n","type":"string"},"listenerPort":{"description":"The port number configured for the listener on the Cloud VM Cluster.\n","type":"integer"},"localBackupEnabled":{"description":"If true, database backup on local Exadata storage is configured for the Cloud VM Cluster. If false, database backup on local Exadata storage is not available in the Cloud VM Cluster.\n","type":"boolean"},"location":{"description":"The Azure Region where the Cloud VM Cluster exists.\n","type":"string"},"memorySizeInGbs":{"description":"The memory to be allocated in GBs.\n","type":"integer"},"name":{"type":"string"},"nodeCount":{"description":"The number of nodes in the Cloud VM Cluster.\n","type":"integer"},"nsgUrl":{"description":"The list of [OCIDs](https://docs.oracle.com/en-us/iaas/Content/General/Concepts/identifiers.htm) for the network security groups (NSGs) to which this resource belongs. Setting this to an empty list removes all resources from all NSGs. For more information about NSGs, see [Security Rules](https://docs.oracle.com/en-us/iaas/Content/Network/Concepts/securityrules.htm). NsgIds restrictions:\n* A network security group (NSG) is optional for Autonomous Databases with private access. The nsgIds list can be empty.\n","type":"string"},"ociUrl":{"description":"The URL of the resource in the OCI console.\n","type":"string"},"ocid":{"description":"The [OCID](https://docs.oracle.com/en-us/iaas/Content/General/Concepts/identifiers.htm) of the Cloud VM Cluster.\n","type":"string"},"ocpuCount":{"description":"The number of OCPU cores to enable on the Cloud VM Cluster. Only 1 decimal place is allowed for the fractional part.\n","type":"number"},"resourceGroupName":{"type":"string"},"scanDnsName":{"description":"The FQDN of the DNS record for the SCAN IP addresses that are associated with the Cloud VM Cluster.\n","type":"string"},"scanDnsRecordId":{"description":"The [OCID](https://docs.oracle.com/en-us/iaas/Content/General/Concepts/identifiers.htm) of the DNS record for the SCAN IP addresses that are associated with the Cloud VM Cluster.\n","type":"string"},"scanIpIds":{"description":"A \u003cspan pulumi-lang-nodejs=\"`scanIpIds`\" pulumi-lang-dotnet=\"`ScanIpIds`\" pulumi-lang-go=\"`scanIpIds`\" pulumi-lang-python=\"`scan_ip_ids`\" pulumi-lang-yaml=\"`scanIpIds`\" pulumi-lang-java=\"`scanIpIds`\"\u003e`scan_ip_ids`\u003c/span\u003e block as defined below.\n","items":{"type":"string"},"type":"array"},"scanListenerPortTcp":{"description":"The TCP Single Client Access Name (SCAN) port. The default port is 1521.\n","type":"integer"},"scanListenerPortTcpSsl":{"description":"The TCPS Single Client Access Name (SCAN) port. The default port is 2484.\n","type":"integer"},"shape":{"description":"The model name of the Exadata hardware running the Cloud VM Cluster.\n","type":"string"},"sparseDiskgroupEnabled":{"description":"If true, sparse disk group is configured for the Cloud VM Cluster. If false, sparse disk group is not created.\n","type":"boolean"},"sshPublicKeys":{"description":"The public key portion of one or more key pairs used for SSH access to the Cloud VM Cluster.\n","items":{"type":"string"},"type":"array"},"storageSizeInGbs":{"description":"The storage allocation for the disk group, in gigabytes (GB).\n","type":"integer"},"subnetId":{"description":"The ID of the Azure Resource Manager subnet resource.\n","type":"string"},"subnetOcid":{"description":"The [OCID](https://docs.oracle.com/en-us/iaas/Content/General/Concepts/identifiers.htm) of the subnet associated with the Cloud VM Cluster.\n","type":"string"},"systemVersion":{"description":"Operating system version of the image.\n","type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"A mapping of tags assigned to the Cloud VM Cluster.\n","type":"object"},"timeCreated":{"description":"The date and time that the Cloud VM Cluster was created.\n","type":"string"},"timeZone":{"description":"The time zone of the Cloud VM Cluster. For details, see [Exadata Infrastructure Time Zones](https://docs.oracle.com/en-us/iaas/base-database/doc/manage-time-zone.html).\n","type":"string"},"vipOds":{"description":"The [OCID](https://docs.oracle.com/en-us/iaas/Content/General/Concepts/identifiers.htm) of the virtual IP (VIP) addresses associated with the Cloud VM Cluster. The Cluster Ready Services (CRS) creates and maintains one VIP address for each node in the Exadata Cloud Service instance to enable failover. If one node fails, the VIP is reassigned to another active node in the Cluster.\n","items":{"type":"string"},"type":"array"},"virtualNetworkId":{"description":"The ID to an Azure Resource Manager Virtual Network resource.\n","type":"string"},"zoneId":{"description":"The [OCID](https://docs.oracle.com/en-us/iaas/Content/General/Concepts/identifiers.htm) of the zone the Cloud VM Cluster is associated with.\n","type":"string"}},"required":["backupSubnetCidr","cloudExadataInfrastructureId","clusterName","compartmentId","computeModel","computeNodes","cpuCoreCount","dataCollectionOptions","dataStoragePercentage","dataStorageSizeInTbs","dbNodeStorageSizeInGbs","dbServers","diskRedundancy","displayName","domain","fileSystemConfigurations","giVersion","hostname","hostnameActual","iormConfigCaches","lastUpdateHistoryEntryId","licenseModel","lifecycleDetails","lifecycleState","listenerPort","localBackupEnabled","location","memorySizeInGbs","name","nodeCount","nsgUrl","ociUrl","ocid","ocpuCount","resourceGroupName","scanDnsName","scanDnsRecordId","scanIpIds","scanListenerPortTcp","scanListenerPortTcpSsl","shape","sparseDiskgroupEnabled","sshPublicKeys","storageSizeInGbs","subnetId","subnetOcid","systemVersion","tags","timeCreated","timeZone","vipOds","virtualNetworkId","zoneId","id"],"type":"object"}},"azure:oracle/getDatabaseSystemVersions:getDatabaseSystemVersions":{"description":"Use this data source to access information about existing Oracle Database Systems Versions.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.oracle.getDatabaseSystemVersions({\n    location: \"eastus\",\n});\nexport const id = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.oracle.get_database_system_versions(location=\"eastus\")\npulumi.export(\"id\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Oracle.GetDatabaseSystemVersions.Invoke(new()\n    {\n        Location = \"eastus\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"id\"] = example.Apply(getDatabaseSystemVersionsResult =\u003e getDatabaseSystemVersionsResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/oracle\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := oracle.GetDatabaseSystemVersions(ctx, \u0026oracle.GetDatabaseSystemVersionsArgs{\n\t\t\tLocation: \"eastus\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"id\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.oracle.OracleFunctions;\nimport com.pulumi.azure.oracle.inputs.GetDatabaseSystemVersionsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = OracleFunctions.getDatabaseSystemVersions(GetDatabaseSystemVersionsArgs.builder()\n            .location(\"eastus\")\n            .build());\n\n        ctx.export(\"id\", example.id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:oracle:getDatabaseSystemVersions\n      arguments:\n        location: eastus\noutputs:\n  id: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Oracle.Database` - 2025-09-01\n","inputs":{"description":"A collection of arguments for invoking getDatabaseSystemVersions.\n","properties":{"databaseSoftwareImageSupported":{"type":"boolean","description":"Whether to filter the results to the set of Oracle Database versions that are supported for the database software images.\n"},"databaseSystemShape":{"type":"string","description":"If provided, filters the results to the set of database versions which are supported for the given shape. The only possible value is `VM.Standard.x86`.\n"},"location":{"type":"string","description":"The Azure Region to query for the Oracle Database Systems Versions.\n","willReplaceOnChanges":true},"shapeFamily":{"type":"string","description":"If provided, filters the results to the set of database versions which are supported for the given shape family. Possible values are `EXADATA`, `EXADB_XS`, `SINGLENODE` and `VIRTUALMACHINE`.\n"},"storageManagement":{"type":"string","description":"The database system storage management option. Used to list database versions available for that storage manager. The only possible value is `LVM`.\n"},"upgradeSupported":{"type":"boolean","description":"Whether to filter the results to the set of database versions which are supported for upgrade.\n"}},"type":"object","required":["location"]},"outputs":{"description":"A collection of values returned by getDatabaseSystemVersions.\n","properties":{"databaseSoftwareImageSupported":{"type":"boolean"},"databaseSystemShape":{"type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"location":{"type":"string"},"shapeFamily":{"type":"string"},"storageManagement":{"type":"string"},"upgradeSupported":{"type":"boolean"},"versions":{"description":"A \u003cspan pulumi-lang-nodejs=\"`versions`\" pulumi-lang-dotnet=\"`Versions`\" pulumi-lang-go=\"`versions`\" pulumi-lang-python=\"`versions`\" pulumi-lang-yaml=\"`versions`\" pulumi-lang-java=\"`versions`\"\u003e`versions`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:oracle/getDatabaseSystemVersionsVersion:getDatabaseSystemVersionsVersion"},"type":"array"}},"required":["location","versions","id"],"type":"object"}},"azure:oracle/getDbNodes:getDbNodes":{"description":"Lists the database nodes for the specified Cloud VM Cluster.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nexport = async () =\u003e {\n    const example = await azure.oracle.getDbNodes({\n        cloudVmClusterId: \"existing\",\n    });\n    return {\n        example: example,\n    };\n}\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.oracle.get_db_nodes(cloud_vm_cluster_id=\"existing\")\npulumi.export(\"example\", example)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Oracle.GetDbNodes.Invoke(new()\n    {\n        CloudVmClusterId = \"existing\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"example\"] = example,\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/oracle\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := oracle.GetDbNodes(ctx, \u0026oracle.GetDbNodesArgs{\n\t\t\tCloudVmClusterId: \"existing\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"example\", example)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.oracle.OracleFunctions;\nimport com.pulumi.azure.oracle.inputs.GetDbNodesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = OracleFunctions.getDbNodes(GetDbNodesArgs.builder()\n            .cloudVmClusterId(\"existing\")\n            .build());\n\n        ctx.export(\"example\", example);\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:oracle:getDbNodes\n      arguments:\n        cloudVmClusterId: existing\noutputs:\n  example: ${example}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Oracle.Database` - 2025-09-01\n","inputs":{"description":"A collection of arguments for invoking getDbNodes.\n","properties":{"cloudVmClusterId":{"type":"string","description":"The id of the Cloud VM cluster.\n"}},"type":"object","required":["cloudVmClusterId"]},"outputs":{"description":"A collection of values returned by getDbNodes.\n","properties":{"cloudVmClusterId":{"type":"string"},"dbNodes":{"description":"A \u003cspan pulumi-lang-nodejs=\"`dbNodes`\" pulumi-lang-dotnet=\"`DbNodes`\" pulumi-lang-go=\"`dbNodes`\" pulumi-lang-python=\"`db_nodes`\" pulumi-lang-yaml=\"`dbNodes`\" pulumi-lang-java=\"`dbNodes`\"\u003e`db_nodes`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:oracle/getDbNodesDbNode:getDbNodesDbNode"},"type":"array"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"}},"required":["cloudVmClusterId","dbNodes","id"],"type":"object"}},"azure:oracle/getDbServers:getDbServers":{"description":"Use this data source to access information about existing DB Servers.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.oracle.getDbServers({\n    resourceGroupName: \"existing\",\n    cloudExadataInfrastructureName: \"existing\",\n});\nexport const id = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.oracle.get_db_servers(resource_group_name=\"existing\",\n    cloud_exadata_infrastructure_name=\"existing\")\npulumi.export(\"id\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Oracle.GetDbServers.Invoke(new()\n    {\n        ResourceGroupName = \"existing\",\n        CloudExadataInfrastructureName = \"existing\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"id\"] = example.Apply(getDbServersResult =\u003e getDbServersResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/oracle\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := oracle.GetDbServers(ctx, \u0026oracle.GetDbServersArgs{\n\t\t\tResourceGroupName:              \"existing\",\n\t\t\tCloudExadataInfrastructureName: \"existing\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"id\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.oracle.OracleFunctions;\nimport com.pulumi.azure.oracle.inputs.GetDbServersArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = OracleFunctions.getDbServers(GetDbServersArgs.builder()\n            .resourceGroupName(\"existing\")\n            .cloudExadataInfrastructureName(\"existing\")\n            .build());\n\n        ctx.export(\"id\", example.id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:oracle:getDbServers\n      arguments:\n        resourceGroupName: existing\n        cloudExadataInfrastructureName: existing\noutputs:\n  id: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Oracle.Database` - 2025-09-01\n","inputs":{"description":"A collection of arguments for invoking getDbServers.\n","properties":{"cloudExadataInfrastructureName":{"type":"string","description":"The name of the Cloud Exadata Infrastructure.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the DB Server exists.\n"}},"type":"object","required":["cloudExadataInfrastructureName","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getDbServers.\n","properties":{"cloudExadataInfrastructureName":{"type":"string"},"dbServers":{"description":"A \u003cspan pulumi-lang-nodejs=\"`dbServers`\" pulumi-lang-dotnet=\"`DbServers`\" pulumi-lang-go=\"`dbServers`\" pulumi-lang-python=\"`db_servers`\" pulumi-lang-yaml=\"`dbServers`\" pulumi-lang-java=\"`dbServers`\"\u003e`db_servers`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:oracle/getDbServersDbServer:getDbServersDbServer"},"type":"array"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"resourceGroupName":{"type":"string"}},"required":["cloudExadataInfrastructureName","dbServers","resourceGroupName","id"],"type":"object"}},"azure:oracle/getDbSystemShapes:getDbSystemShapes":{"description":"This data source provides the list of DB System Shapes in Oracle Cloud Infrastructure Database service.\n\nGets a list of the shapes that can be used to launch a new DB system. The shape determines resources to allocate to the DB system - CPU cores and memory for VM shapes; CPU cores, memory and storage for non-VM (or bare metal) shapes.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nexport = async () =\u003e {\n    const example = await azure.oracle.getDbSystemShapes({\n        location: \"eastus\",\n        zone: \"2\",\n    });\n    return {\n        example: example,\n    };\n}\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.oracle.get_db_system_shapes(location=\"eastus\",\n    zone=\"2\")\npulumi.export(\"example\", example)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Oracle.GetDbSystemShapes.Invoke(new()\n    {\n        Location = \"eastus\",\n        Zone = \"2\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"example\"] = example,\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/oracle\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := oracle.GetDbSystemShapes(ctx, \u0026oracle.GetDbSystemShapesArgs{\n\t\t\tLocation: \"eastus\",\n\t\t\tZone:     pulumi.StringRef(\"2\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"example\", example)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.oracle.OracleFunctions;\nimport com.pulumi.azure.oracle.inputs.GetDbSystemShapesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = OracleFunctions.getDbSystemShapes(GetDbSystemShapesArgs.builder()\n            .location(\"eastus\")\n            .zone(\"2\")\n            .build());\n\n        ctx.export(\"example\", example);\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:oracle:getDbSystemShapes\n      arguments:\n        location: eastus\n        zone: '2'\noutputs:\n  example: ${example}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Oracle.Database` - 2025-09-01\n","inputs":{"description":"A collection of arguments for invoking getDbSystemShapes.\n","properties":{"location":{"type":"string","description":"The Azure Region to query for the system shapes in.\n","willReplaceOnChanges":true},"zone":{"type":"string","description":"The Cloud Exadata Infrastructure Azure zone, used to filter out the available DB System Shapes in the specific zone.\n"}},"type":"object","required":["location"]},"outputs":{"description":"A collection of values returned by getDbSystemShapes.\n","properties":{"dbSystemShapes":{"description":"A \u003cspan pulumi-lang-nodejs=\"`dbSystemShapes`\" pulumi-lang-dotnet=\"`DbSystemShapes`\" pulumi-lang-go=\"`dbSystemShapes`\" pulumi-lang-python=\"`db_system_shapes`\" pulumi-lang-yaml=\"`dbSystemShapes`\" pulumi-lang-java=\"`dbSystemShapes`\"\u003e`db_system_shapes`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:oracle/getDbSystemShapesDbSystemShape:getDbSystemShapesDbSystemShape"},"type":"array"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"location":{"type":"string"},"zone":{"type":"string"}},"required":["dbSystemShapes","location","id"],"type":"object"}},"azure:oracle/getExadataInfrastructure:getExadataInfrastructure":{"description":"Use this data source to access information about an existing Cloud Exadata Infrastructure.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.oracle.getExadataInfrastructure({\n    name: \"existing\",\n    resourceGroupName: \"existing\",\n});\nexport const id = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.oracle.get_exadata_infrastructure(name=\"existing\",\n    resource_group_name=\"existing\")\npulumi.export(\"id\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Oracle.GetExadataInfrastructure.Invoke(new()\n    {\n        Name = \"existing\",\n        ResourceGroupName = \"existing\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"id\"] = example.Apply(getExadataInfrastructureResult =\u003e getExadataInfrastructureResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/oracle\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := oracle.LookupExadataInfrastructure(ctx, \u0026oracle.LookupExadataInfrastructureArgs{\n\t\t\tName:              \"existing\",\n\t\t\tResourceGroupName: \"existing\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"id\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.oracle.OracleFunctions;\nimport com.pulumi.azure.oracle.inputs.GetExadataInfrastructureArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = OracleFunctions.getExadataInfrastructure(GetExadataInfrastructureArgs.builder()\n            .name(\"existing\")\n            .resourceGroupName(\"existing\")\n            .build());\n\n        ctx.export(\"id\", example.id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:oracle:getExadataInfrastructure\n      arguments:\n        name: existing\n        resourceGroupName: existing\noutputs:\n  id: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Oracle.Database` - 2025-09-01\n","inputs":{"description":"A collection of arguments for invoking getExadataInfrastructure.\n","properties":{"name":{"type":"string","description":"The name of this Cloud Exadata Infrastructure.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Cloud Exadata Infrastructure exists.\n"}},"type":"object","required":["name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getExadataInfrastructure.\n","properties":{"activatedStorageCount":{"description":"The requested number of additional storage servers activated for the Cloud Exadata Infrastructure.\n","type":"integer"},"additionalStorageCount":{"description":"The requested number of additional storage servers for the Cloud Exadata Infrastructure.\n","type":"integer"},"availableStorageSizeInGbs":{"description":"The available storage can be allocated to the Cloud Exadata Infrastructure resource, in gigabytes (GB).\n","type":"integer"},"computeCount":{"description":"The number of compute servers for the Cloud Exadata Infrastructure.\n","type":"integer"},"computeModel":{"description":"The compute model of the Exadata Infrastructure.\n","type":"string"},"cpuCount":{"description":"The total number of CPU cores allocated.\n","type":"integer"},"customerContacts":{"description":"A \u003cspan pulumi-lang-nodejs=\"`customerContacts`\" pulumi-lang-dotnet=\"`CustomerContacts`\" pulumi-lang-go=\"`customerContacts`\" pulumi-lang-python=\"`customer_contacts`\" pulumi-lang-yaml=\"`customerContacts`\" pulumi-lang-java=\"`customerContacts`\"\u003e`customer_contacts`\u003c/span\u003e block as defined below.\n","items":{"type":"string"},"type":"array"},"dataStorageSizeInTbs":{"description":"The data storage size in terabytes of the DATA disk group.\n","type":"number"},"databaseServerType":{"description":"The database server model type of the cloud Exadata infrastructure resource.\n","type":"string"},"dbNodeStorageSizeInGbs":{"description":"The local node storage allocated in GBs.\n","type":"integer"},"dbServerVersion":{"description":"The software version of the database servers (dom0) in the Cloud Exadata Infrastructure.\n","type":"string"},"definedFileSystemConfigurations":{"description":"A \u003cspan pulumi-lang-nodejs=\"`definedFileSystemConfiguration`\" pulumi-lang-dotnet=\"`DefinedFileSystemConfiguration`\" pulumi-lang-go=\"`definedFileSystemConfiguration`\" pulumi-lang-python=\"`defined_file_system_configuration`\" pulumi-lang-yaml=\"`definedFileSystemConfiguration`\" pulumi-lang-java=\"`definedFileSystemConfiguration`\"\u003e`defined_file_system_configuration`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:oracle/getExadataInfrastructureDefinedFileSystemConfiguration:getExadataInfrastructureDefinedFileSystemConfiguration"},"type":"array"},"displayName":{"description":"The user-friendly name for the Cloud Exadata Infrastructure resource. The name does not need to be unique.\n","type":"string"},"estimatedPatchingTimes":{"description":"A \u003cspan pulumi-lang-nodejs=\"`estimatedPatchingTime`\" pulumi-lang-dotnet=\"`EstimatedPatchingTime`\" pulumi-lang-go=\"`estimatedPatchingTime`\" pulumi-lang-python=\"`estimated_patching_time`\" pulumi-lang-yaml=\"`estimatedPatchingTime`\" pulumi-lang-java=\"`estimatedPatchingTime`\"\u003e`estimated_patching_time`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:oracle/getExadataInfrastructureEstimatedPatchingTime:getExadataInfrastructureEstimatedPatchingTime"},"type":"array"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"lastMaintenanceRunId":{"description":"The [OCID](https://docs.oracle.com/en-us/iaas/Content/General/Concepts/identifiers.htm) of the last maintenance run.\n","type":"string"},"lifecycleDetails":{"description":"Additional information about the current lifecycle state.\n","type":"string"},"lifecycleState":{"description":"Cloud Exadata Infrastructure lifecycle state.\n","type":"string"},"location":{"description":"The Azure Region where the Cloud Exadata Infrastructure exists.\n","type":"string"},"maintenanceWindows":{"description":"A \u003cspan pulumi-lang-nodejs=\"`maintenanceWindow`\" pulumi-lang-dotnet=\"`MaintenanceWindow`\" pulumi-lang-go=\"`maintenanceWindow`\" pulumi-lang-python=\"`maintenance_window`\" pulumi-lang-yaml=\"`maintenanceWindow`\" pulumi-lang-java=\"`maintenanceWindow`\"\u003e`maintenance_window`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:oracle/getExadataInfrastructureMaintenanceWindow:getExadataInfrastructureMaintenanceWindow"},"type":"array"},"maxCpuCount":{"description":"The total number of CPU cores available.\n","type":"integer"},"maxDataStorageInTbs":{"description":"The total available DATA disk group size.\n","type":"number"},"maxDbNodeStorageSizeInGbs":{"description":"The total local node storage available in GBs.\n","type":"integer"},"maxMemoryInGbs":{"description":"The total memory available in GBs.\n","type":"integer"},"memorySizeInGbs":{"description":"The memory allocated in GBs.\n","type":"integer"},"monthlyDbServerVersion":{"description":"The monthly software version of the database servers (dom0) in the Cloud Exadata Infrastructure.\n","type":"string"},"monthlyStorageServerVersion":{"description":"The monthly software version of the storage servers (cells) in the Cloud Exadata Infrastructure.\n","type":"string"},"name":{"type":"string"},"nextMaintenanceRunId":{"description":"The [OCID](https://docs.oracle.com/en-us/iaas/Content/General/Concepts/identifiers.htm) of the next maintenance run.\n","type":"string"},"ociUrl":{"description":"The URL of the resource in the OCI console.\n","type":"string"},"ocid":{"description":"The [OCID](https://docs.oracle.com/en-us/iaas/Content/General/Concepts/identifiers.htm) of the Cloud Exadata Infrastructure.\n","type":"string"},"resourceGroupName":{"type":"string"},"shape":{"description":"The model name of the Cloud Exadata Infrastructure resource.\n","type":"string"},"storageCount":{"description":"The number of storage servers for the Cloud Exadata Infrastructure.\n","type":"integer"},"storageServerType":{"description":"The storage server model type of the cloud Exadata infrastructure resource.\n","type":"string"},"storageServerVersion":{"description":"The software version of the storage servers (cells) in the Cloud Exadata Infrastructure.\n","type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"A mapping of tags assigned to the Cloud Exadata Infrastructure.\n","type":"object"},"timeCreated":{"description":"The date and time the Cloud Exadata Infrastructure resource was created.\n","type":"string"},"totalStorageSizeInGbs":{"description":"The total storage allocated to the Cloud Exadata Infrastructure resource, in gigabytes (GB).\n","type":"integer"},"zones":{"description":"The Cloud Exadata Infrastructure Azure zones.\n","items":{"type":"string"},"type":"array"}},"required":["activatedStorageCount","additionalStorageCount","availableStorageSizeInGbs","computeCount","computeModel","cpuCount","customerContacts","dataStorageSizeInTbs","databaseServerType","dbNodeStorageSizeInGbs","dbServerVersion","definedFileSystemConfigurations","displayName","estimatedPatchingTimes","lastMaintenanceRunId","lifecycleDetails","lifecycleState","location","maintenanceWindows","maxCpuCount","maxDataStorageInTbs","maxDbNodeStorageSizeInGbs","maxMemoryInGbs","memorySizeInGbs","monthlyDbServerVersion","monthlyStorageServerVersion","name","nextMaintenanceRunId","ociUrl","ocid","resourceGroupName","shape","storageCount","storageServerType","storageServerVersion","tags","timeCreated","totalStorageSizeInGbs","zones","id"],"type":"object"}},"azure:oracle/getExascaleDatabaseStorageVault:getExascaleDatabaseStorageVault":{"description":"Use this data source to access information about an existing Exadata Database Storage Vault\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.oracle.getExascaleDatabaseStorageVault({\n    name: \"existing\",\n    resourceGroupName: \"existing\",\n});\nexport const id = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.oracle.get_exascale_database_storage_vault(name=\"existing\",\n    resource_group_name=\"existing\")\npulumi.export(\"id\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Oracle.GetExascaleDatabaseStorageVault.Invoke(new()\n    {\n        Name = \"existing\",\n        ResourceGroupName = \"existing\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"id\"] = example.Apply(getExascaleDatabaseStorageVaultResult =\u003e getExascaleDatabaseStorageVaultResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/oracle\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := oracle.LookupExascaleDatabaseStorageVault(ctx, \u0026oracle.LookupExascaleDatabaseStorageVaultArgs{\n\t\t\tName:              \"existing\",\n\t\t\tResourceGroupName: \"existing\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"id\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.oracle.OracleFunctions;\nimport com.pulumi.azure.oracle.inputs.GetExascaleDatabaseStorageVaultArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = OracleFunctions.getExascaleDatabaseStorageVault(GetExascaleDatabaseStorageVaultArgs.builder()\n            .name(\"existing\")\n            .resourceGroupName(\"existing\")\n            .build());\n\n        ctx.export(\"id\", example.id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:oracle:getExascaleDatabaseStorageVault\n      arguments:\n        name: existing\n        resourceGroupName: existing\noutputs:\n  id: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Oracle.Database` - 2025-09-01\n","inputs":{"description":"A collection of arguments for invoking getExascaleDatabaseStorageVault.\n","properties":{"name":{"type":"string","description":"The name of this Exadata Database Storage Vault.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Exadata Database Storage Vault exists.\n"}},"type":"object","required":["name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getExascaleDatabaseStorageVault.\n","properties":{"additionalFlashCachePercentage":{"description":"The size of additional Flash Cache in percentage of High Capacity database storage.\n","type":"integer"},"description":{"description":"Exadata Database Storage Vault description.\n","type":"string"},"displayName":{"description":"The user-friendly name for the Exadata Database Storage Vault.\n","type":"string"},"highCapacityDatabaseStorages":{"description":"A \u003cspan pulumi-lang-nodejs=\"`highCapacityDatabaseStorage`\" pulumi-lang-dotnet=\"`HighCapacityDatabaseStorage`\" pulumi-lang-go=\"`highCapacityDatabaseStorage`\" pulumi-lang-python=\"`high_capacity_database_storage`\" pulumi-lang-yaml=\"`highCapacityDatabaseStorage`\" pulumi-lang-java=\"`highCapacityDatabaseStorage`\"\u003e`high_capacity_database_storage`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:oracle/getExascaleDatabaseStorageVaultHighCapacityDatabaseStorage:getExascaleDatabaseStorageVaultHighCapacityDatabaseStorage"},"type":"array"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"lifecycleDetails":{"description":"Additional information about the current lifecycle state.\n","type":"string"},"lifecycleState":{"description":"Exadata Database Storage Vault lifecycle state enum.\n","type":"string"},"location":{"description":"The Azure Region where the Exadata Database Storage Vault exists.\n","type":"string"},"name":{"type":"string"},"ociUrl":{"description":"The URL of the resource in the OCI console.\n","type":"string"},"ocid":{"description":"The [OCID](https://docs.oracle.com/en-us/iaas/Content/General/Concepts/identifiers.htm) of the Exadata Database Storage Vault.\n","type":"string"},"resourceGroupName":{"type":"string"},"timeZone":{"description":"The time zone of the Exadata Database Storage Vault.\n","type":"string"},"virtualMachineClusterCount":{"description":"The number of Exadata virtual machine clusters used the Exadata Database Storage Vault.\n","type":"integer"},"zones":{"description":"The Exadata Database Storage Vault Azure zones.\n","items":{"type":"string"},"type":"array"}},"required":["additionalFlashCachePercentage","description","displayName","highCapacityDatabaseStorages","lifecycleDetails","lifecycleState","location","name","ociUrl","ocid","resourceGroupName","timeZone","virtualMachineClusterCount","zones","id"],"type":"object"}},"azure:oracle/getGiVersions:getGiVersions":{"description":"This data source provides the list of GI Versions in Oracle Cloud Infrastructure Database service.\n\nGets a list of supported GI versions.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nexport = async () =\u003e {\n    const example = await azure.oracle.getGiVersions({\n        location: \"eastus\",\n        zone: \"2\",\n        shape: \"Exadata.X9M\",\n    });\n    return {\n        example: example,\n    };\n}\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.oracle.get_gi_versions(location=\"eastus\",\n    zone=\"2\",\n    shape=\"Exadata.X9M\")\npulumi.export(\"example\", example)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Oracle.GetGiVersions.Invoke(new()\n    {\n        Location = \"eastus\",\n        Zone = \"2\",\n        Shape = \"Exadata.X9M\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"example\"] = example,\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/oracle\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := oracle.GetGiVersions(ctx, \u0026oracle.GetGiVersionsArgs{\n\t\t\tLocation: \"eastus\",\n\t\t\tZone:     pulumi.StringRef(\"2\"),\n\t\t\tShape:    pulumi.StringRef(\"Exadata.X9M\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"example\", example)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.oracle.OracleFunctions;\nimport com.pulumi.azure.oracle.inputs.GetGiVersionsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = OracleFunctions.getGiVersions(GetGiVersionsArgs.builder()\n            .location(\"eastus\")\n            .zone(\"2\")\n            .shape(\"Exadata.X9M\")\n            .build());\n\n        ctx.export(\"example\", example);\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:oracle:getGiVersions\n      arguments:\n        location: eastus\n        zone: '2'\n        shape: Exadata.X9M\noutputs:\n  example: ${example}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Oracle.Database` - 2025-09-01\n","inputs":{"description":"A collection of arguments for invoking getGiVersions.\n","properties":{"location":{"type":"string","description":"The Azure Region to query for the GI Versions in.\n","willReplaceOnChanges":true},"shape":{"type":"string","description":"The model name of the Cloud Exadata Infrastructure resource. Possible values are `ExaDbXS`, `Exadata.X9M`, and `Exadata.X11M`. This is used to filter out the available GI versions compatible with the given model.\n"},"zone":{"type":"string","description":"Indicates the Azure zone for the Cloud Exadata Infrastructure, used to filter the available GI versions within a given zone.\n"}},"type":"object","required":["location"]},"outputs":{"description":"A collection of values returned by getGiVersions.\n","properties":{"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"location":{"type":"string"},"shape":{"type":"string"},"versions":{"description":"A list of valid GI software versions.\n","items":{"type":"string"},"type":"array"},"zone":{"type":"string"}},"required":["location","versions","id"],"type":"object"}},"azure:oracle/getResourceAnchor:getResourceAnchor":{"description":"Use this data source to access information about an existing Oracle Resource Anchor.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.oracle.getResourceAnchor({\n    name: \"existing\",\n    resourceGroupName: \"existing\",\n});\nexport const id = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.oracle.get_resource_anchor(name=\"existing\",\n    resource_group_name=\"existing\")\npulumi.export(\"id\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Oracle.GetResourceAnchor.Invoke(new()\n    {\n        Name = \"existing\",\n        ResourceGroupName = \"existing\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"id\"] = example.Apply(getResourceAnchorResult =\u003e getResourceAnchorResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/oracle\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := oracle.LookupResourceAnchor(ctx, \u0026oracle.LookupResourceAnchorArgs{\n\t\t\tName:              \"existing\",\n\t\t\tResourceGroupName: \"existing\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"id\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.oracle.OracleFunctions;\nimport com.pulumi.azure.oracle.inputs.GetResourceAnchorArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = OracleFunctions.getResourceAnchor(GetResourceAnchorArgs.builder()\n            .name(\"existing\")\n            .resourceGroupName(\"existing\")\n            .build());\n\n        ctx.export(\"id\", example.id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:oracle:getResourceAnchor\n      arguments:\n        name: existing\n        resourceGroupName: existing\noutputs:\n  id: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Oracle.Database` - 2025-09-01\n","inputs":{"description":"A collection of arguments for invoking getResourceAnchor.\n","properties":{"name":{"type":"string","description":"The name of this Oracle Resource Anchor.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Oracle Resource Anchor exists.\n"}},"type":"object","required":["name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getResourceAnchor.\n","properties":{"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"linkedCompartmentId":{"description":"Oracle Cloud Infrastructure compartment [OCID](https://docs.oracle.com/en-us/iaas/Content/General/Concepts/identifiers.htm) which was created or linked by customer with Resource Anchor.\n","type":"string"},"location":{"description":"The Azure Region where the Oracle Resource Anchor exists.\n","type":"string"},"name":{"type":"string"},"resourceGroupName":{"type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"A mapping of tags assigned to the Oracle Resource Anchor.\n","type":"object"}},"required":["linkedCompartmentId","location","name","resourceGroupName","tags","id"],"type":"object"}},"azure:paloalto/getLocalRulestack:getLocalRulestack":{"description":"Use this data source to access information about an existing Palo Alto Networks Rulestack.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.paloalto.getLocalRulestack({\n    name: \"existing\",\n    resourceGroupName: \"existing\",\n});\nexport const id = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.paloalto.get_local_rulestack(name=\"existing\",\n    resource_group_name=\"existing\")\npulumi.export(\"id\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.PaloAlto.GetLocalRulestack.Invoke(new()\n    {\n        Name = \"existing\",\n        ResourceGroupName = \"existing\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"id\"] = example.Apply(getLocalRulestackResult =\u003e getLocalRulestackResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/paloalto\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := paloalto.LookupLocalRulestack(ctx, \u0026paloalto.LookupLocalRulestackArgs{\n\t\t\tName:              \"existing\",\n\t\t\tResourceGroupName: \"existing\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"id\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.paloalto.PaloaltoFunctions;\nimport com.pulumi.azure.paloalto.inputs.GetLocalRulestackArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = PaloaltoFunctions.getLocalRulestack(GetLocalRulestackArgs.builder()\n            .name(\"existing\")\n            .resourceGroupName(\"existing\")\n            .build());\n\n        ctx.export(\"id\", example.id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:paloalto:getLocalRulestack\n      arguments:\n        name: existing\n        resourceGroupName: existing\noutputs:\n  id: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `PaloAltoNetworks.Cloudngfw` - 2022-08-29\n","inputs":{"description":"A collection of arguments for invoking getLocalRulestack.\n","properties":{"name":{"type":"string","description":"The name of this Palo Alto Networks Rulestack.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Palo Alto Networks Rulestack exists.\n"}},"type":"object","required":["name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getLocalRulestack.\n","properties":{"antiSpywareProfile":{"description":"The Anti-Spyware setting used by the Palo Alto Networks Rulestack.\n","type":"string"},"antiVirusProfile":{"description":"The Anti-Virus setting used by the Palo Alto Networks Rulestack.\n","type":"string"},"description":{"description":"The description of the Palo Alto Networks Rulestack.\n","type":"string"},"dnsSubscription":{"description":"The DNS Subscription setting used by the Palo Alto Networks Rulestack.\n","type":"string"},"fileBlockingProfile":{"description":"The File Blocking Profile used by the Palo Alto Networks Rulestack.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"location":{"description":"The Azure Region where the Palo Alto Networks Rulestack exists.\n","type":"string"},"name":{"type":"string"},"outboundTrustCertificate":{"description":"The trusted egress decryption profile data for the Palo Alto Networks Rulestack.\n","type":"string"},"outboundUntrustCertificate":{"description":"The untrusted egress decryption profile data for the Palo Alto Networks Rulestack.\n","type":"string"},"resourceGroupName":{"type":"string"},"urlFilteringProfile":{"description":"The URL Filtering Profile used by the Palo Alto Networks Rulestack.\n","type":"string"},"vulnerabilityProfile":{"description":"The Vulnerability Profile used by the Palo Alto Networks Rulestack.\n","type":"string"}},"required":["antiSpywareProfile","antiVirusProfile","description","dnsSubscription","fileBlockingProfile","location","name","outboundTrustCertificate","outboundUntrustCertificate","resourceGroupName","urlFilteringProfile","vulnerabilityProfile","id"],"type":"object"}},"azure:pim/getRoleAssignments:getRoleAssignments":{"description":"Use this data source to access information about existing Role Assignments.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"example\", {\n    name: \"example\",\n    location: \"West Europe\",\n});\nconst example = azure.pim.getRoleAssignmentsOutput({\n    scope: exampleResourceGroup.id,\n});\nexport const id = example.apply(example =\u003e example.roleAssignments);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"example\",\n    name=\"example\",\n    location=\"West Europe\")\nexample = azure.pim.get_role_assignments_output(scope=example_resource_group.id)\npulumi.export(\"id\", example.role_assignments)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleResourceGroup = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example\",\n        Location = \"West Europe\",\n    });\n\n    var example = Azure.Pim.GetRoleAssignments.Invoke(new()\n    {\n        Scope = exampleResourceGroup.Id,\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"id\"] = example.Apply(getRoleAssignmentsResult =\u003e getRoleAssignmentsResult.RoleAssignments),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/pim\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample := pim.GetRoleAssignmentsOutput(ctx, pim.GetRoleAssignmentsOutputArgs{\n\t\t\tScope: exampleResourceGroup.ID(),\n\t\t}, nil)\n\t\tctx.Export(\"id\", example.ApplyT(func(example pim.GetRoleAssignmentsResult) ([]pim.GetRoleAssignmentsRoleAssignment, error) {\n\t\t\treturn []pim.GetRoleAssignmentsRoleAssignment(example.RoleAssignments), nil\n\t\t}).([]pim.GetRoleAssignmentsRoleAssignmentOutput))\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.pim.PimFunctions;\nimport com.pulumi.azure.pim.inputs.GetRoleAssignmentsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var exampleResourceGroup = new ResourceGroup(\"exampleResourceGroup\", ResourceGroupArgs.builder()\n            .name(\"example\")\n            .location(\"West Europe\")\n            .build());\n\n        final var example = PimFunctions.getRoleAssignments(GetRoleAssignmentsArgs.builder()\n            .scope(exampleResourceGroup.id())\n            .build());\n\n        ctx.export(\"id\", example.applyValue(_example -\u003e _example.roleAssignments()));\n    }\n}\n```\n```yaml\nresources:\n  exampleResourceGroup:\n    type: azure:core:ResourceGroup\n    name: example\n    properties:\n      name: example\n      location: West Europe\nvariables:\n  example:\n    fn::invoke:\n      function: azure:pim:getRoleAssignments\n      arguments:\n        scope: ${exampleResourceGroup.id}\noutputs:\n  id: ${example.roleAssignments}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.Authorization` - 2022-04-01\n","inputs":{"description":"A collection of arguments for invoking getRoleAssignments.\n","properties":{"limitAtScope":{"type":"boolean","description":"Whether to limit the result exactly at the specified scope and not above or below it. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"principalId":{"type":"string","description":"The principal ID to filter the list of Role Assignments against.\n"},"scope":{"type":"string","description":"The scope at which to list Role Assignments.\n"},"tenantId":{"type":"string","description":"The tenant ID for cross-tenant requests.\n"}},"type":"object","required":["scope"]},"outputs":{"description":"A collection of values returned by getRoleAssignments.\n","properties":{"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"limitAtScope":{"type":"boolean"},"principalId":{"description":"The principal ID.\n","type":"string"},"roleAssignments":{"description":"A \u003cspan pulumi-lang-nodejs=\"`roleAssignments`\" pulumi-lang-dotnet=\"`RoleAssignments`\" pulumi-lang-go=\"`roleAssignments`\" pulumi-lang-python=\"`role_assignments`\" pulumi-lang-yaml=\"`roleAssignments`\" pulumi-lang-java=\"`roleAssignments`\"\u003e`role_assignments`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:pim/getRoleAssignmentsRoleAssignment:getRoleAssignmentsRoleAssignment"},"type":"array"},"scope":{"type":"string"},"tenantId":{"type":"string"}},"required":["roleAssignments","scope","id"],"type":"object"}},"azure:pim/getRoleManagementPolicy:getRoleManagementPolicy":{"description":"Use this data source to get information on a role policy for an Azure Management Group, Subscription, Resource Group or resource.\n\n## Example Usage\n\n### Resource Group\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.core.getResourceGroup({\n    name: \"example-rg\",\n});\nconst rgContributor = example.then(example =\u003e azure.authorization.getRoleDefinition({\n    name: \"Contributor\",\n    scope: example.id,\n}));\nconst exampleGetRoleManagementPolicy = azure.pim.getRoleManagementPolicy({\n    scope: test.id,\n    roleDefinitionId: contributor.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.get_resource_group(name=\"example-rg\")\nrg_contributor = azure.authorization.get_role_definition(name=\"Contributor\",\n    scope=example.id)\nexample_get_role_management_policy = azure.pim.get_role_management_policy(scope=test[\"id\"],\n    role_definition_id=contributor[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Core.GetResourceGroup.Invoke(new()\n    {\n        Name = \"example-rg\",\n    });\n\n    var rgContributor = Azure.Authorization.GetRoleDefinition.Invoke(new()\n    {\n        Name = \"Contributor\",\n        Scope = example.Apply(getResourceGroupResult =\u003e getResourceGroupResult.Id),\n    });\n\n    var exampleGetRoleManagementPolicy = Azure.Pim.GetRoleManagementPolicy.Invoke(new()\n    {\n        Scope = test.Id,\n        RoleDefinitionId = contributor.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/authorization\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/pim\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.LookupResourceGroup(ctx, \u0026core.LookupResourceGroupArgs{\n\t\t\tName: \"example-rg\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = authorization.LookupRoleDefinition(ctx, \u0026authorization.LookupRoleDefinitionArgs{\n\t\t\tName:  pulumi.StringRef(\"Contributor\"),\n\t\t\tScope: pulumi.StringRef(example.Id),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = pim.LookupRoleManagementPolicy(ctx, \u0026pim.LookupRoleManagementPolicyArgs{\n\t\t\tScope:            test.Id,\n\t\t\tRoleDefinitionId: contributor.Id,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.core.inputs.GetResourceGroupArgs;\nimport com.pulumi.azure.authorization.AuthorizationFunctions;\nimport com.pulumi.azure.authorization.inputs.GetRoleDefinitionArgs;\nimport com.pulumi.azure.pim.PimFunctions;\nimport com.pulumi.azure.pim.inputs.GetRoleManagementPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = CoreFunctions.getResourceGroup(GetResourceGroupArgs.builder()\n            .name(\"example-rg\")\n            .build());\n\n        final var rgContributor = AuthorizationFunctions.getRoleDefinition(GetRoleDefinitionArgs.builder()\n            .name(\"Contributor\")\n            .scope(example.id())\n            .build());\n\n        final var exampleGetRoleManagementPolicy = PimFunctions.getRoleManagementPolicy(GetRoleManagementPolicyArgs.builder()\n            .scope(test.id())\n            .roleDefinitionId(contributor.id())\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:core:getResourceGroup\n      arguments:\n        name: example-rg\n  rgContributor:\n    fn::invoke:\n      function: azure:authorization:getRoleDefinition\n      arguments:\n        name: Contributor\n        scope: ${example.id}\n  exampleGetRoleManagementPolicy:\n    fn::invoke:\n      function: azure:pim:getRoleManagementPolicy\n      arguments:\n        scope: ${test.id}\n        roleDefinitionId: ${contributor.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Management Group\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.management.getGroup({\n    name: \"example-group\",\n});\nconst mgContributor = azure.authorization.getRoleDefinition({\n    name: \"Contributor\",\n    scope: exampleAzurermManagementGroup.id,\n});\nconst exampleGetRoleManagementPolicy = Promise.all([example, mgContributor]).then(([example, mgContributor]) =\u003e azure.pim.getRoleManagementPolicy({\n    scope: example.id,\n    roleDefinitionId: mgContributor.id,\n}));\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.management.get_group(name=\"example-group\")\nmg_contributor = azure.authorization.get_role_definition(name=\"Contributor\",\n    scope=example_azurerm_management_group[\"id\"])\nexample_get_role_management_policy = azure.pim.get_role_management_policy(scope=example.id,\n    role_definition_id=mg_contributor.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Management.GetGroup.Invoke(new()\n    {\n        Name = \"example-group\",\n    });\n\n    var mgContributor = Azure.Authorization.GetRoleDefinition.Invoke(new()\n    {\n        Name = \"Contributor\",\n        Scope = exampleAzurermManagementGroup.Id,\n    });\n\n    var exampleGetRoleManagementPolicy = Azure.Pim.GetRoleManagementPolicy.Invoke(new()\n    {\n        Scope = example.Apply(getGroupResult =\u003e getGroupResult.Id),\n        RoleDefinitionId = mgContributor.Apply(getRoleDefinitionResult =\u003e getRoleDefinitionResult.Id),\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/authorization\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/management\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/pim\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := management.LookupGroup(ctx, \u0026management.LookupGroupArgs{\n\t\t\tName: pulumi.StringRef(\"example-group\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmgContributor, err := authorization.LookupRoleDefinition(ctx, \u0026authorization.LookupRoleDefinitionArgs{\n\t\t\tName:  pulumi.StringRef(\"Contributor\"),\n\t\t\tScope: pulumi.StringRef(exampleAzurermManagementGroup.Id),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = pim.LookupRoleManagementPolicy(ctx, \u0026pim.LookupRoleManagementPolicyArgs{\n\t\t\tScope:            example.Id,\n\t\t\tRoleDefinitionId: mgContributor.Id,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.management.ManagementFunctions;\nimport com.pulumi.azure.management.inputs.GetGroupArgs;\nimport com.pulumi.azure.authorization.AuthorizationFunctions;\nimport com.pulumi.azure.authorization.inputs.GetRoleDefinitionArgs;\nimport com.pulumi.azure.pim.PimFunctions;\nimport com.pulumi.azure.pim.inputs.GetRoleManagementPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = ManagementFunctions.getGroup(GetGroupArgs.builder()\n            .name(\"example-group\")\n            .build());\n\n        final var mgContributor = AuthorizationFunctions.getRoleDefinition(GetRoleDefinitionArgs.builder()\n            .name(\"Contributor\")\n            .scope(exampleAzurermManagementGroup.id())\n            .build());\n\n        final var exampleGetRoleManagementPolicy = PimFunctions.getRoleManagementPolicy(GetRoleManagementPolicyArgs.builder()\n            .scope(example.id())\n            .roleDefinitionId(mgContributor.id())\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:management:getGroup\n      arguments:\n        name: example-group\n  mgContributor:\n    fn::invoke:\n      function: azure:authorization:getRoleDefinition\n      arguments:\n        name: Contributor\n        scope: ${exampleAzurermManagementGroup.id}\n  exampleGetRoleManagementPolicy:\n    fn::invoke:\n      function: azure:pim:getRoleManagementPolicy\n      arguments:\n        scope: ${example.id}\n        roleDefinitionId: ${mgContributor.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.Authorization` - 2020-10-01\n","inputs":{"description":"A collection of arguments for invoking getRoleManagementPolicy.\n","properties":{"roleDefinitionId":{"type":"string","description":"The scoped Role Definition ID of the role for which this policy applies.\n"},"scope":{"type":"string","description":"The scope to which this Role Management Policy applies. Can refer to a management group, a subscription, a resource group or a resource.\n"}},"type":"object","required":["roleDefinitionId","scope"]},"outputs":{"description":"A collection of values returned by getRoleManagementPolicy.\n","properties":{"activationRules":{"description":"An \u003cspan pulumi-lang-nodejs=\"`activationRules`\" pulumi-lang-dotnet=\"`ActivationRules`\" pulumi-lang-go=\"`activationRules`\" pulumi-lang-python=\"`activation_rules`\" pulumi-lang-yaml=\"`activationRules`\" pulumi-lang-java=\"`activationRules`\"\u003e`activation_rules`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:pim/getRoleManagementPolicyActivationRule:getRoleManagementPolicyActivationRule"},"type":"array"},"activeAssignmentRules":{"description":"An \u003cspan pulumi-lang-nodejs=\"`activeAssignmentRules`\" pulumi-lang-dotnet=\"`ActiveAssignmentRules`\" pulumi-lang-go=\"`activeAssignmentRules`\" pulumi-lang-python=\"`active_assignment_rules`\" pulumi-lang-yaml=\"`activeAssignmentRules`\" pulumi-lang-java=\"`activeAssignmentRules`\"\u003e`active_assignment_rules`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:pim/getRoleManagementPolicyActiveAssignmentRule:getRoleManagementPolicyActiveAssignmentRule"},"type":"array"},"description":{"description":"(String) The description of this policy.\n","type":"string"},"eligibleAssignmentRules":{"description":"An \u003cspan pulumi-lang-nodejs=\"`eligibleAssignmentRules`\" pulumi-lang-dotnet=\"`EligibleAssignmentRules`\" pulumi-lang-go=\"`eligibleAssignmentRules`\" pulumi-lang-python=\"`eligible_assignment_rules`\" pulumi-lang-yaml=\"`eligibleAssignmentRules`\" pulumi-lang-java=\"`eligibleAssignmentRules`\"\u003e`eligible_assignment_rules`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:pim/getRoleManagementPolicyEligibleAssignmentRule:getRoleManagementPolicyEligibleAssignmentRule"},"type":"array"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"name":{"description":"(String) The name of this policy, which is typically a UUID and may change over time.\n","type":"string"},"notificationRules":{"description":"A \u003cspan pulumi-lang-nodejs=\"`notificationRules`\" pulumi-lang-dotnet=\"`NotificationRules`\" pulumi-lang-go=\"`notificationRules`\" pulumi-lang-python=\"`notification_rules`\" pulumi-lang-yaml=\"`notificationRules`\" pulumi-lang-java=\"`notificationRules`\"\u003e`notification_rules`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:pim/getRoleManagementPolicyNotificationRule:getRoleManagementPolicyNotificationRule"},"type":"array"},"roleDefinitionId":{"type":"string"},"scope":{"type":"string"}},"required":["activationRules","activeAssignmentRules","description","eligibleAssignmentRules","name","notificationRules","roleDefinitionId","scope","id"],"type":"object"}},"azure:policy/getPolicyAssignment:getPolicyAssignment":{"description":"Use this data source to access information about an existing Policy Assignment.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.policy.getPolicyAssignment({\n    name: \"existing\",\n    scopeId: exampleAzurermResourceGroup.id,\n});\nexport const id = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.policy.get_policy_assignment(name=\"existing\",\n    scope_id=example_azurerm_resource_group[\"id\"])\npulumi.export(\"id\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Policy.GetPolicyAssignment.Invoke(new()\n    {\n        Name = \"existing\",\n        ScopeId = exampleAzurermResourceGroup.Id,\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"id\"] = example.Apply(getPolicyAssignmentResult =\u003e getPolicyAssignmentResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/policy\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := policy.GetPolicyAssignment(ctx, \u0026policy.GetPolicyAssignmentArgs{\n\t\t\tName:    \"existing\",\n\t\t\tScopeId: exampleAzurermResourceGroup.Id,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"id\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.policy.PolicyFunctions;\nimport com.pulumi.azure.policy.inputs.GetPolicyAssignmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = PolicyFunctions.getPolicyAssignment(GetPolicyAssignmentArgs.builder()\n            .name(\"existing\")\n            .scopeId(exampleAzurermResourceGroup.id())\n            .build());\n\n        ctx.export(\"id\", example.id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:policy:getPolicyAssignment\n      arguments:\n        name: existing\n        scopeId: ${exampleAzurermResourceGroup.id}\noutputs:\n  id: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.Authorization` - 2022-06-01\n","inputs":{"description":"A collection of arguments for invoking getPolicyAssignment.\n","properties":{"name":{"type":"string","description":"The name of this Policy Assignment. Changing this forces a new Policy Assignment to be created.\n","willReplaceOnChanges":true},"scopeId":{"type":"string","description":"The ID of the scope this Policy Assignment is assigned to. The \u003cspan pulumi-lang-nodejs=\"`scopeId`\" pulumi-lang-dotnet=\"`ScopeId`\" pulumi-lang-go=\"`scopeId`\" pulumi-lang-python=\"`scope_id`\" pulumi-lang-yaml=\"`scopeId`\" pulumi-lang-java=\"`scopeId`\"\u003e`scope_id`\u003c/span\u003e can be a subscription id, a resource group id, a management group id, or an ID of any resource that is assigned with a policy. Changing this forces a new Policy Assignment to be created.\n","willReplaceOnChanges":true}},"type":"object","required":["name","scopeId"]},"outputs":{"description":"A collection of values returned by getPolicyAssignment.\n","properties":{"description":{"description":"The description of this Policy Assignment.\n","type":"string"},"displayName":{"description":"The display name of this Policy Assignment.\n","type":"string"},"enforce":{"description":"Whether this Policy is enforced or not?\n","type":"boolean"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"identities":{"description":"A \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:policy/getPolicyAssignmentIdentity:getPolicyAssignmentIdentity"},"type":"array"},"location":{"description":"The Azure Region where the Policy Assignment exists.\n","type":"string"},"metadata":{"description":"A JSON mapping of any Metadata for this Policy.\n","type":"string"},"name":{"type":"string"},"nonComplianceMessages":{"description":"A \u003cspan pulumi-lang-nodejs=\"`nonComplianceMessage`\" pulumi-lang-dotnet=\"`NonComplianceMessage`\" pulumi-lang-go=\"`nonComplianceMessage`\" pulumi-lang-python=\"`non_compliance_message`\" pulumi-lang-yaml=\"`nonComplianceMessage`\" pulumi-lang-java=\"`nonComplianceMessage`\"\u003e`non_compliance_message`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:policy/getPolicyAssignmentNonComplianceMessage:getPolicyAssignmentNonComplianceMessage"},"type":"array"},"notScopes":{"description":"A \u003cspan pulumi-lang-nodejs=\"`notScopes`\" pulumi-lang-dotnet=\"`NotScopes`\" pulumi-lang-go=\"`notScopes`\" pulumi-lang-python=\"`not_scopes`\" pulumi-lang-yaml=\"`notScopes`\" pulumi-lang-java=\"`notScopes`\"\u003e`not_scopes`\u003c/span\u003e block as defined below.\n","items":{"type":"string"},"type":"array"},"parameters":{"description":"A JSON mapping of any Parameters for this Policy.\n","type":"string"},"policyDefinitionId":{"description":"The ID of the assigned Policy Definition.\n","type":"string"},"scopeId":{"type":"string"}},"required":["description","displayName","enforce","identities","location","metadata","name","nonComplianceMessages","notScopes","parameters","policyDefinitionId","scopeId","id"],"type":"object"}},"azure:policy/getPolicyDefintion:getPolicyDefintion":{"description":"Use this data source to access information about a Policy Definition, both custom and built in. Retrieves Policy Definitions from your current subscription by default.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.policy.getPolicyDefintion({\n    displayName: \"Allowed resource types\",\n});\nexport const id = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.policy.get_policy_defintion(display_name=\"Allowed resource types\")\npulumi.export(\"id\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Policy.GetPolicyDefintion.Invoke(new()\n    {\n        DisplayName = \"Allowed resource types\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"id\"] = example.Apply(getPolicyDefintionResult =\u003e getPolicyDefintionResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/policy\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := policy.GetPolicyDefintion(ctx, \u0026policy.GetPolicyDefintionArgs{\n\t\t\tDisplayName: pulumi.StringRef(\"Allowed resource types\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"id\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.policy.PolicyFunctions;\nimport com.pulumi.azure.policy.inputs.GetPolicyDefintionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = PolicyFunctions.getPolicyDefintion(GetPolicyDefintionArgs.builder()\n            .displayName(\"Allowed resource types\")\n            .build());\n\n        ctx.export(\"id\", example.id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:policy:getPolicyDefintion\n      arguments:\n        displayName: Allowed resource types\noutputs:\n  id: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getPolicyDefintion.\n","properties":{"displayName":{"type":"string","description":"Specifies the display name of the Policy Definition. Conflicts with \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e.\n\n\u003e **Note:** Looking up policies by \u003cspan pulumi-lang-nodejs=\"`displayName`\" pulumi-lang-dotnet=\"`DisplayName`\" pulumi-lang-go=\"`displayName`\" pulumi-lang-python=\"`display_name`\" pulumi-lang-yaml=\"`displayName`\" pulumi-lang-java=\"`displayName`\"\u003e`display_name`\u003c/span\u003e is not recommended by the Azure Policy team as the property is not unique nor immutable. As such errors may occur when there are multiple policy definitions with same display name or the display name is changed. To avoid these types of errors you may wish to use the \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e property instead.\n"},"managementGroupName":{"type":"string","description":"Only retrieve Policy Definitions from this Management Group.\n"},"name":{"type":"string","description":"Specifies the name of the Policy Definition. Conflicts with \u003cspan pulumi-lang-nodejs=\"`displayName`\" pulumi-lang-dotnet=\"`DisplayName`\" pulumi-lang-go=\"`displayName`\" pulumi-lang-python=\"`display_name`\" pulumi-lang-yaml=\"`displayName`\" pulumi-lang-java=\"`displayName`\"\u003e`display_name`\u003c/span\u003e.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getPolicyDefintion.\n","properties":{"description":{"description":"The Description of the Policy.\n","type":"string"},"displayName":{"type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"managementGroupName":{"type":"string"},"metadata":{"description":"Any Metadata defined in the Policy.\n","type":"string"},"mode":{"description":"The Mode of the Policy.\n","type":"string"},"name":{"type":"string"},"parameters":{"description":"Any Parameters defined in the Policy.\n","type":"string"},"policyRule":{"description":"The Rule as defined (in JSON) in the Policy.\n","type":"string"},"policyType":{"description":"The Type of the Policy. Possible values are `BuiltIn`, `Custom` and `NotSpecified`.\n","type":"string"},"roleDefinitionIds":{"description":"A list of role definition id extracted from \u003cspan pulumi-lang-nodejs=\"`policyRule`\" pulumi-lang-dotnet=\"`PolicyRule`\" pulumi-lang-go=\"`policyRule`\" pulumi-lang-python=\"`policy_rule`\" pulumi-lang-yaml=\"`policyRule`\" pulumi-lang-java=\"`policyRule`\"\u003e`policy_rule`\u003c/span\u003e required for remediation.\n","items":{"type":"string"},"type":"array"},"type":{"description":"The Type of Policy.\n","type":"string"}},"required":["description","displayName","metadata","mode","name","parameters","policyRule","policyType","roleDefinitionIds","type","id"],"type":"object"}},"azure:policy/getPolicyDefintionBuiltIn:getPolicyDefintionBuiltIn":{"description":"Use this data source to access information about a Built-In Policy Definition. Retrieves Policy Definitions from your current subscription by default.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.policy.getPolicyDefintionBuiltIn({\n    displayName: \"Allowed resource types\",\n});\nexport const id = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.policy.get_policy_defintion_built_in(display_name=\"Allowed resource types\")\npulumi.export(\"id\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Policy.GetPolicyDefintionBuiltIn.Invoke(new()\n    {\n        DisplayName = \"Allowed resource types\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"id\"] = example.Apply(getPolicyDefintionBuiltInResult =\u003e getPolicyDefintionBuiltInResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/policy\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := policy.GetPolicyDefintionBuiltIn(ctx, \u0026policy.GetPolicyDefintionBuiltInArgs{\n\t\t\tDisplayName: pulumi.StringRef(\"Allowed resource types\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"id\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.policy.PolicyFunctions;\nimport com.pulumi.azure.policy.inputs.GetPolicyDefintionBuiltInArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = PolicyFunctions.getPolicyDefintionBuiltIn(GetPolicyDefintionBuiltInArgs.builder()\n            .displayName(\"Allowed resource types\")\n            .build());\n\n        ctx.export(\"id\", example.id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:policy:getPolicyDefintionBuiltIn\n      arguments:\n        displayName: Allowed resource types\noutputs:\n  id: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getPolicyDefintionBuiltIn.\n","properties":{"displayName":{"type":"string","description":"Specifies the display name of the Policy Definition. Conflicts with \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e.\n\n\u003e **Note:** As \u003cspan pulumi-lang-nodejs=\"`displayName`\" pulumi-lang-dotnet=\"`DisplayName`\" pulumi-lang-go=\"`displayName`\" pulumi-lang-python=\"`display_name`\" pulumi-lang-yaml=\"`displayName`\" pulumi-lang-java=\"`displayName`\"\u003e`display_name`\u003c/span\u003e is not unique errors may occur when there are multiple policy definitions with same display name.\n"},"managementGroupName":{"type":"string","description":"Only retrieve Policy Definitions from this Management Group.\n"},"name":{"type":"string","description":"Specifies the name of the Policy Definition. Conflicts with \u003cspan pulumi-lang-nodejs=\"`displayName`\" pulumi-lang-dotnet=\"`DisplayName`\" pulumi-lang-go=\"`displayName`\" pulumi-lang-python=\"`display_name`\" pulumi-lang-yaml=\"`displayName`\" pulumi-lang-java=\"`displayName`\"\u003e`display_name`\u003c/span\u003e.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getPolicyDefintionBuiltIn.\n","properties":{"description":{"description":"The Description of the Policy.\n","type":"string"},"displayName":{"type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"managementGroupName":{"type":"string"},"metadata":{"description":"Any Metadata defined in the Policy.\n","type":"string"},"mode":{"description":"The Mode of the Policy.\n","type":"string"},"name":{"type":"string"},"parameters":{"description":"Any Parameters defined in the Policy.\n","type":"string"},"policyRule":{"description":"The Rule as defined (in JSON) in the Policy.\n","type":"string"},"policyType":{"description":"The Type of the Policy. Possible values are `BuiltIn`, `Custom` and `NotSpecified`.\n","type":"string"},"roleDefinitionIds":{"description":"A list of role definition id extracted from \u003cspan pulumi-lang-nodejs=\"`policyRule`\" pulumi-lang-dotnet=\"`PolicyRule`\" pulumi-lang-go=\"`policyRule`\" pulumi-lang-python=\"`policy_rule`\" pulumi-lang-yaml=\"`policyRule`\" pulumi-lang-java=\"`policyRule`\"\u003e`policy_rule`\u003c/span\u003e required for remediation.\n","items":{"type":"string"},"type":"array"},"type":{"description":"The Type of Policy.\n","type":"string"}},"required":["description","displayName","metadata","mode","name","parameters","policyRule","policyType","roleDefinitionIds","type","id"],"type":"object"}},"azure:policy/getPolicySetDefinition:getPolicySetDefinition":{"description":"Use this data source to access information about an existing Policy Set Definition.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.policy.getPolicySetDefinition({\n    displayName: \"Policy Set Definition Example\",\n});\nexport const id = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.policy.get_policy_set_definition(display_name=\"Policy Set Definition Example\")\npulumi.export(\"id\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Policy.GetPolicySetDefinition.Invoke(new()\n    {\n        DisplayName = \"Policy Set Definition Example\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"id\"] = example.Apply(getPolicySetDefinitionResult =\u003e getPolicySetDefinitionResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/policy\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := policy.LookupPolicySetDefinition(ctx, \u0026policy.LookupPolicySetDefinitionArgs{\n\t\t\tDisplayName: pulumi.StringRef(\"Policy Set Definition Example\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"id\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.policy.PolicyFunctions;\nimport com.pulumi.azure.policy.inputs.GetPolicySetDefinitionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = PolicyFunctions.getPolicySetDefinition(GetPolicySetDefinitionArgs.builder()\n            .displayName(\"Policy Set Definition Example\")\n            .build());\n\n        ctx.export(\"id\", example.id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:policy:getPolicySetDefinition\n      arguments:\n        displayName: Policy Set Definition Example\noutputs:\n  id: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getPolicySetDefinition.\n","properties":{"displayName":{"type":"string","description":"Specifies the display name of the Policy Set Definition. Conflicts with \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e.\n\n**NOTE** As \u003cspan pulumi-lang-nodejs=\"`displayName`\" pulumi-lang-dotnet=\"`DisplayName`\" pulumi-lang-go=\"`displayName`\" pulumi-lang-python=\"`display_name`\" pulumi-lang-yaml=\"`displayName`\" pulumi-lang-java=\"`displayName`\"\u003e`display_name`\u003c/span\u003e is not unique errors may occur when there are multiple policy set definitions with same display name.\n"},"managementGroupName":{"type":"string","description":"Only retrieve Policy Set Definitions from this Management Group.\n"},"name":{"type":"string","description":"Specifies the name of the Policy Set Definition. Conflicts with \u003cspan pulumi-lang-nodejs=\"`displayName`\" pulumi-lang-dotnet=\"`DisplayName`\" pulumi-lang-go=\"`displayName`\" pulumi-lang-python=\"`display_name`\" pulumi-lang-yaml=\"`displayName`\" pulumi-lang-java=\"`displayName`\"\u003e`display_name`\u003c/span\u003e.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getPolicySetDefinition.\n","properties":{"description":{"description":"The description of this policy definition group.\n","type":"string"},"displayName":{"description":"The display name of this policy definition group.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"managementGroupName":{"type":"string"},"metadata":{"description":"Any Metadata defined in the Policy Set Definition.\n","type":"string"},"name":{"description":"The name of this policy definition group.\n","type":"string"},"parameters":{"description":"The mapping of the parameter values for the referenced policy rule. The keys are the parameter names.\n","type":"string"},"policyDefinitionGroups":{"description":"One or more \u003cspan pulumi-lang-nodejs=\"`policyDefinitionGroup`\" pulumi-lang-dotnet=\"`PolicyDefinitionGroup`\" pulumi-lang-go=\"`policyDefinitionGroup`\" pulumi-lang-python=\"`policy_definition_group`\" pulumi-lang-yaml=\"`policyDefinitionGroup`\" pulumi-lang-java=\"`policyDefinitionGroup`\"\u003e`policy_definition_group`\u003c/span\u003e blocks as defined below.\n","items":{"$ref":"#/types/azure:policy/getPolicySetDefinitionPolicyDefinitionGroup:getPolicySetDefinitionPolicyDefinitionGroup"},"type":"array"},"policyDefinitionReferences":{"description":"One or more \u003cspan pulumi-lang-nodejs=\"`policyDefinitionReference`\" pulumi-lang-dotnet=\"`PolicyDefinitionReference`\" pulumi-lang-go=\"`policyDefinitionReference`\" pulumi-lang-python=\"`policy_definition_reference`\" pulumi-lang-yaml=\"`policyDefinitionReference`\" pulumi-lang-java=\"`policyDefinitionReference`\"\u003e`policy_definition_reference`\u003c/span\u003e blocks as defined below.\n","items":{"$ref":"#/types/azure:policy/getPolicySetDefinitionPolicyDefinitionReference:getPolicySetDefinitionPolicyDefinitionReference"},"type":"array"},"policyDefinitions":{"description":"The policy definitions contained within the policy set definition.\n","type":"string"},"policyType":{"description":"The Type of the Policy Set Definition.\n","type":"string"}},"required":["description","displayName","metadata","name","parameters","policyDefinitionGroups","policyDefinitionReferences","policyDefinitions","policyType","id"],"type":"object"}},"azure:policy/getVirtualMachineConfigurationAssignment:getVirtualMachineConfigurationAssignment":{"description":"Use this data source to access information about an existing Guest Configuration Policy.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.policy.getVirtualMachineConfigurationAssignment({\n    name: \"AzureWindowsBaseline\",\n    resourceGroupName: \"example-RG\",\n    virtualMachineName: \"example-vm\",\n});\nexport const complianceStatus = example.then(example =\u003e example.complianceStatus);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.policy.get_virtual_machine_configuration_assignment(name=\"AzureWindowsBaseline\",\n    resource_group_name=\"example-RG\",\n    virtual_machine_name=\"example-vm\")\npulumi.export(\"complianceStatus\", example.compliance_status)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Policy.GetVirtualMachineConfigurationAssignment.Invoke(new()\n    {\n        Name = \"AzureWindowsBaseline\",\n        ResourceGroupName = \"example-RG\",\n        VirtualMachineName = \"example-vm\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"complianceStatus\"] = example.Apply(getVirtualMachineConfigurationAssignmentResult =\u003e getVirtualMachineConfigurationAssignmentResult.ComplianceStatus),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/policy\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := policy.LookupVirtualMachineConfigurationAssignment(ctx, \u0026policy.LookupVirtualMachineConfigurationAssignmentArgs{\n\t\t\tName:               \"AzureWindowsBaseline\",\n\t\t\tResourceGroupName:  \"example-RG\",\n\t\t\tVirtualMachineName: \"example-vm\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"complianceStatus\", example.ComplianceStatus)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.policy.PolicyFunctions;\nimport com.pulumi.azure.policy.inputs.GetVirtualMachineConfigurationAssignmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = PolicyFunctions.getVirtualMachineConfigurationAssignment(GetVirtualMachineConfigurationAssignmentArgs.builder()\n            .name(\"AzureWindowsBaseline\")\n            .resourceGroupName(\"example-RG\")\n            .virtualMachineName(\"example-vm\")\n            .build());\n\n        ctx.export(\"complianceStatus\", example.complianceStatus());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:policy:getVirtualMachineConfigurationAssignment\n      arguments:\n        name: AzureWindowsBaseline\n        resourceGroupName: example-RG\n        virtualMachineName: example-vm\noutputs:\n  complianceStatus: ${example.complianceStatus}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.Compute` - 2024-04-05\n","inputs":{"description":"A collection of arguments for invoking getVirtualMachineConfigurationAssignment.\n","properties":{"name":{"type":"string","description":"Specifies the name of the Guest Configuration Assignment.\n"},"resourceGroupName":{"type":"string","description":"Specifies the Name of the Resource Group where the Guest Configuration Assignment exists.\n"},"virtualMachineName":{"type":"string","description":"Only retrieve Policy Set Definitions from this Management Group.\n"}},"type":"object","required":["name","resourceGroupName","virtualMachineName"]},"outputs":{"description":"A collection of values returned by getVirtualMachineConfigurationAssignment.\n","properties":{"assignmentHash":{"description":"Combined hash of the configuration package and parameters.\n","type":"string"},"complianceStatus":{"description":"A value indicating compliance status of the machine for the assigned guest configuration. Possible return values are `Compliant`, `NonCompliant` and `Pending`.\n","type":"string"},"contentHash":{"description":"The content hash for the Guest Configuration package.\n","type":"string"},"contentUri":{"description":"The content URI where the Guest Configuration package is stored.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"lastComplianceStatusChecked":{"description":"Date and time, in RFC3339 format, when the machines compliance status was last checked.\n","type":"string"},"latestReportId":{"description":"The ID of the latest report for the guest configuration assignment.\n","type":"string"},"name":{"type":"string"},"resourceGroupName":{"type":"string"},"virtualMachineName":{"type":"string"}},"required":["assignmentHash","complianceStatus","contentHash","contentUri","lastComplianceStatusChecked","latestReportId","name","resourceGroupName","virtualMachineName","id"],"type":"object"}},"azure:portal/azurerm_portal_dashboard:azurerm_portal_dashboard":{"description":"Use this data source to access information about an existing shared dashboard in the Azure Portal. This is the data source of the \u003cspan pulumi-lang-nodejs=\"`azurermDashboard`\" pulumi-lang-dotnet=\"`AzurermDashboard`\" pulumi-lang-go=\"`azurermDashboard`\" pulumi-lang-python=\"`azurerm_dashboard`\" pulumi-lang-yaml=\"`azurermDashboard`\" pulumi-lang-java=\"`azurermDashboard`\"\u003e`azurerm_dashboard`\u003c/span\u003e resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.portal.azurerm_portal_dashboard({\n    name: \"existing-dashboard\",\n    resourceGroupName: \"dashboard-rg\",\n});\nexport const id = exampleAzurermDashboard.id;\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.portal.azurerm_portal_dashboard(name=\"existing-dashboard\",\n    resource_group_name=\"dashboard-rg\")\npulumi.export(\"id\", example_azurerm_dashboard[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Portal.Azurerm_portal_dashboard.Invoke(new()\n    {\n        Name = \"existing-dashboard\",\n        ResourceGroupName = \"dashboard-rg\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"id\"] = exampleAzurermDashboard.Id,\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/portal\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := portal.Azurerm_portal_dashboard(ctx, \u0026portal.Azurerm_portal_dashboardArgs{\n\t\t\tName:              pulumi.StringRef(\"existing-dashboard\"),\n\t\t\tResourceGroupName: \"dashboard-rg\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"id\", exampleAzurermDashboard.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.portal.PortalFunctions;\nimport com.pulumi.azure.portal.inputs.Azurerm_portal_dashboardArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = PortalFunctions.azurerm_portal_dashboard(Azurerm_portal_dashboardArgs.builder()\n            .name(\"existing-dashboard\")\n            .resourceGroupName(\"dashboard-rg\")\n            .build());\n\n        ctx.export(\"id\", exampleAzurermDashboard.id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:portal:azurerm_portal_dashboard\n      arguments:\n        name: existing-dashboard\n        resourceGroupName: dashboard-rg\noutputs:\n  id: ${exampleAzurermDashboard.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.Portal` - 2019-01-01-preview\n","inputs":{"description":"A collection of arguments for invoking azurerm_portal_dashboard.\n","properties":{"dashboardProperties":{"type":"string","description":"JSON data representing dashboard body.\n"},"displayName":{"type":"string","description":"Specifies the display name of the shared Azure Portal Dashboard.\n"},"name":{"type":"string","description":"Specifies the name of the shared Azure Portal Dashboard.\n"},"resourceGroupName":{"type":"string","description":"Specifies the name of the resource group the shared Azure Portal Dashboard is located in.\n"}},"type":"object","required":["resourceGroupName"]},"outputs":{"description":"A collection of values returned by azurerm_portal_dashboard.\n","properties":{"dashboardProperties":{"description":"JSON data representing dashboard body.\n","type":"string"},"displayName":{"type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"location":{"description":"The Azure Region where the shared Azure Portal dashboard exists.\n","type":"string"},"name":{"type":"string"},"resourceGroupName":{"type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"A mapping of tags assigned to the shared Azure Portal dashboard.\n","type":"object"}},"required":["dashboardProperties","location","resourceGroupName","tags","id"],"type":"object"}},"azure:postgresql/getFlexibleServer:getFlexibleServer":{"description":"Use this data source to access information about an existing PostgreSQL Flexible Server.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.postgresql.getFlexibleServer({\n    name: \"existing-postgresql-fs\",\n    resourceGroupName: \"existing-postgresql-resgroup\",\n});\nexport const id = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.postgresql.get_flexible_server(name=\"existing-postgresql-fs\",\n    resource_group_name=\"existing-postgresql-resgroup\")\npulumi.export(\"id\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.PostgreSql.GetFlexibleServer.Invoke(new()\n    {\n        Name = \"existing-postgresql-fs\",\n        ResourceGroupName = \"existing-postgresql-resgroup\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"id\"] = example.Apply(getFlexibleServerResult =\u003e getFlexibleServerResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/postgresql\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := postgresql.LookupFlexibleServer(ctx, \u0026postgresql.LookupFlexibleServerArgs{\n\t\t\tName:              \"existing-postgresql-fs\",\n\t\t\tResourceGroupName: \"existing-postgresql-resgroup\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"id\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.postgresql.PostgresqlFunctions;\nimport com.pulumi.azure.postgresql.inputs.GetFlexibleServerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = PostgresqlFunctions.getFlexibleServer(GetFlexibleServerArgs.builder()\n            .name(\"existing-postgresql-fs\")\n            .resourceGroupName(\"existing-postgresql-resgroup\")\n            .build());\n\n        ctx.export(\"id\", example.id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:postgresql:getFlexibleServer\n      arguments:\n        name: existing-postgresql-fs\n        resourceGroupName: existing-postgresql-resgroup\noutputs:\n  id: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.DBforPostgreSQL` - 2025-08-01\n","inputs":{"description":"A collection of arguments for invoking getFlexibleServer.\n","properties":{"name":{"type":"string","description":"The name of this PostgreSQL Flexible Server.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the PostgreSQL Flexible Server exists.\n"}},"type":"object","required":["name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getFlexibleServer.\n","properties":{"administratorLogin":{"description":"The Administrator login for the PostgreSQL Flexible Server.\n","type":"string"},"autoGrowEnabled":{"description":"Is the storage auto grow for PostgreSQL Flexible Server enabled?\n","type":"boolean"},"backupRetentionDays":{"description":"The backup retention days for the PostgreSQL Flexible Server.\n","type":"integer"},"delegatedSubnetId":{"description":"The ID of the virtual network subnet to create the PostgreSQL Flexible Server.\n","type":"string"},"fqdn":{"description":"The FQDN of the PostgreSQL Flexible Server.\n","type":"string"},"highAvailabilities":{"description":"A \u003cspan pulumi-lang-nodejs=\"`highAvailability`\" pulumi-lang-dotnet=\"`HighAvailability`\" pulumi-lang-go=\"`highAvailability`\" pulumi-lang-python=\"`high_availability`\" pulumi-lang-yaml=\"`highAvailability`\" pulumi-lang-java=\"`highAvailability`\"\u003e`high_availability`\u003c/span\u003e block for this PostgreSQL Flexible Server as defined below.\n","items":{"$ref":"#/types/azure:postgresql/getFlexibleServerHighAvailability:getFlexibleServerHighAvailability"},"type":"array"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"location":{"description":"The Azure Region where the PostgreSQL Flexible Server exists.\n","type":"string"},"name":{"type":"string"},"publicNetworkAccessEnabled":{"description":"Is public network access enabled?\n","type":"boolean"},"resourceGroupName":{"type":"string"},"skuName":{"description":"The SKU Name for the PostgreSQL Flexible Server. The name of the SKU, follows the \u003cspan pulumi-lang-nodejs=\"`tier`\" pulumi-lang-dotnet=\"`Tier`\" pulumi-lang-go=\"`tier`\" pulumi-lang-python=\"`tier`\" pulumi-lang-yaml=\"`tier`\" pulumi-lang-java=\"`tier`\"\u003e`tier`\u003c/span\u003e + \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e pattern (e.g. `B_Standard_B1ms`, `GP_Standard_D2s_v3`, `MO_Standard_E4s_v3`).\n","type":"string"},"storageMb":{"description":"The max storage allowed for the PostgreSQL Flexible Server.\n","type":"integer"},"tags":{"additionalProperties":{"type":"string"},"description":"A mapping of tags assigned to the PostgreSQL Flexible Server.\n","type":"object"},"version":{"description":"The version of PostgreSQL Flexible Server to use.\n","type":"string"},"zone":{"description":"The Availability Zones where this PostgreSQL Flexible Server is located.\n","type":"string"}},"required":["administratorLogin","autoGrowEnabled","backupRetentionDays","delegatedSubnetId","fqdn","highAvailabilities","location","name","publicNetworkAccessEnabled","resourceGroupName","skuName","storageMb","tags","version","zone","id"],"type":"object"}},"azure:postgresql/getServer:getServer":{"description":"Use this data source to access information about an existing PostgreSQL Azure Database Server.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`azure.postgresql.Server`\" pulumi-lang-dotnet=\"`azure.postgresql.Server`\" pulumi-lang-go=\"`postgresql.Server`\" pulumi-lang-python=\"`postgresql.Server`\" pulumi-lang-yaml=\"`azure.postgresql.Server`\" pulumi-lang-java=\"`azure.postgresql.Server`\"\u003e`azure.postgresql.Server`\u003c/span\u003e data source is deprecated and will be removed in v5.0 of the AzureRM Provider. Azure Database for PostgreSQL Single Server and its sub resources have been retired as of 2025-03-28, please use the \u003cspan pulumi-lang-nodejs=\"`azure.postgresql.FlexibleServer`\" pulumi-lang-dotnet=\"`azure.postgresql.FlexibleServer`\" pulumi-lang-go=\"`postgresql.FlexibleServer`\" pulumi-lang-python=\"`postgresql.FlexibleServer`\" pulumi-lang-yaml=\"`azure.postgresql.FlexibleServer`\" pulumi-lang-java=\"`azure.postgresql.FlexibleServer`\"\u003e`azure.postgresql.FlexibleServer`\u003c/span\u003e data source instead. For more information, see https://techcommunity.microsoft.com/blog/adforpostgresql/retiring-azure-database-for-postgresql-single-server-in-2025/3783783.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.postgresql.getServer({\n    name: \"postgresql-server-1\",\n    resourceGroupName: \"api-rg-pro\",\n});\nexport const postgresqlServerId = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.postgresql.get_server(name=\"postgresql-server-1\",\n    resource_group_name=\"api-rg-pro\")\npulumi.export(\"postgresqlServerId\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.PostgreSql.GetServer.Invoke(new()\n    {\n        Name = \"postgresql-server-1\",\n        ResourceGroupName = \"api-rg-pro\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"postgresqlServerId\"] = example.Apply(getServerResult =\u003e getServerResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/postgresql\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := postgresql.LookupServer(ctx, \u0026postgresql.LookupServerArgs{\n\t\t\tName:              \"postgresql-server-1\",\n\t\t\tResourceGroupName: \"api-rg-pro\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"postgresqlServerId\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.postgresql.PostgresqlFunctions;\nimport com.pulumi.azure.postgresql.inputs.GetServerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = PostgresqlFunctions.getServer(GetServerArgs.builder()\n            .name(\"postgresql-server-1\")\n            .resourceGroupName(\"api-rg-pro\")\n            .build());\n\n        ctx.export(\"postgresqlServerId\", example.id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:postgresql:getServer\n      arguments:\n        name: postgresql-server-1\n        resourceGroupName: api-rg-pro\noutputs:\n  postgresqlServerId: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.DBforPostgreSQL` - 2017-12-01\n","inputs":{"description":"A collection of arguments for invoking getServer.\n","properties":{"name":{"type":"string","description":"The name of the PostgreSQL Server.\n"},"resourceGroupName":{"type":"string","description":"Specifies the name of the Resource Group where the PostgreSQL Server exists.\n"}},"type":"object","required":["name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getServer.\n","properties":{"administratorLogin":{"description":"The administrator username of the PostgreSQL Server.\n","type":"string"},"fqdn":{"description":"The fully qualified domain name of the PostgreSQL Server.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"identities":{"description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:postgresql/getServerIdentity:getServerIdentity"},"type":"array"},"location":{"description":"The location of the Resource Group in which the PostgreSQL Server exists.\n","type":"string"},"name":{"type":"string"},"resourceGroupName":{"type":"string"},"skuName":{"description":"The SKU name of the PostgreSQL Server.\n","type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"A mapping of tags assigned to the resource.\n","type":"object"},"version":{"description":"The version of the PostgreSQL Server.\n","type":"string"}},"required":["administratorLogin","fqdn","identities","location","name","resourceGroupName","skuName","tags","version","id"],"type":"object"}},"azure:privatedns/getAAAARecord:getAAAARecord":{"description":"Use this data source to access information about an existing Private DNS AAAA Record within Azure DNS.\n\n\u003e **Note:** [The Azure DNS API has a throttle limit of 500 read (GET) operations per 5 minutes](https://docs.microsoft.com/azure/azure-resource-manager/management/request-limits-and-throttling#network-throttling) - whilst the default read timeouts will work for most cases - in larger configurations you may need to set a larger read timeout then the default 5min. Although, we'd generally recommend that you split the resources out into smaller Terraform configurations to avoid the problem entirely.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.privatedns.AAAARecord(\"example\", {\n    name: \"test\",\n    zoneName: \"test-zone\",\n    resourceGroupName: \"test-rg\",\n});\nexport const privateDnsAaaaRecordId = exampleAzurermPrivateDnsAaaaRecord.id;\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.privatedns.AAAARecord(\"example\",\n    name=\"test\",\n    zone_name=\"test-zone\",\n    resource_group_name=\"test-rg\")\npulumi.export(\"privateDnsAaaaRecordId\", example_azurerm_private_dns_aaaa_record[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.PrivateDns.AAAARecord(\"example\", new()\n    {\n        Name = \"test\",\n        ZoneName = \"test-zone\",\n        ResourceGroupName = \"test-rg\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"privateDnsAaaaRecordId\"] = exampleAzurermPrivateDnsAaaaRecord.Id,\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/privatedns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := privatedns.NewAAAARecord(ctx, \"example\", \u0026privatedns.AAAARecordArgs{\n\t\t\tName:              pulumi.String(\"test\"),\n\t\t\tZoneName:          pulumi.String(\"test-zone\"),\n\t\t\tResourceGroupName: pulumi.String(\"test-rg\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"privateDnsAaaaRecordId\", exampleAzurermPrivateDnsAaaaRecord.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.privatedns.AAAARecord;\nimport com.pulumi.azure.privatedns.AAAARecordArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new AAAARecord(\"example\", AAAARecordArgs.builder()\n            .name(\"test\")\n            .zoneName(\"test-zone\")\n            .resourceGroupName(\"test-rg\")\n            .build());\n\n        ctx.export(\"privateDnsAaaaRecordId\", exampleAzurermPrivateDnsAaaaRecord.id());\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:privatedns:AAAARecord\n    properties:\n      name: test\n      zoneName: test-zone\n      resourceGroupName: test-rg\noutputs:\n  privateDnsAaaaRecordId: ${exampleAzurermPrivateDnsAaaaRecord.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2024-06-01\n","inputs":{"description":"A collection of arguments for invoking getAAAARecord.\n","properties":{"name":{"type":"string","description":"The name of the Private DNS AAAA Record.\n"},"resourceGroupName":{"type":"string","description":"Specifies the resource group where the Private DNS Zone (parent resource) exists.\n"},"zoneName":{"type":"string","description":"Specifies the Private DNS Zone where the resource exists.\n"}},"type":"object","required":["name","resourceGroupName","zoneName"]},"outputs":{"description":"A collection of values returned by getAAAARecord.\n","properties":{"fqdn":{"description":"The FQDN of the Private DNS AAAA Record.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"name":{"type":"string"},"records":{"description":"List of IPv6 Addresses.\n","items":{"type":"string"},"type":"array"},"resourceGroupName":{"type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"A mapping of tags assigned to the resource.\n","type":"object"},"ttl":{"description":"The Time To Live (TTL) of the Private DNS record in seconds.\n","type":"integer"},"zoneName":{"type":"string"}},"required":["fqdn","name","records","resourceGroupName","tags","ttl","zoneName","id"],"type":"object"}},"azure:privatedns/getARecord:getARecord":{"description":"Use this data source to access information about an existing Private DNS A Record within Azure DNS.\n\n\u003e **Note:** [The Azure DNS API has a throttle limit of 500 read (GET) operations per 5 minutes](https://docs.microsoft.com/azure/azure-resource-manager/management/request-limits-and-throttling#network-throttling) - whilst the default read timeouts will work for most cases - in larger configurations you may need to set a larger read timeout then the default 5min. Although, we'd generally recommend that you split the resources out into smaller Terraform configurations to avoid the problem entirely.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.privatedns.getARecord({\n    name: \"test\",\n    zoneName: \"test-zone\",\n    resourceGroupName: \"test-rg\",\n});\nexport const privateDnsARecordId = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.privatedns.get_a_record(name=\"test\",\n    zone_name=\"test-zone\",\n    resource_group_name=\"test-rg\")\npulumi.export(\"privateDnsARecordId\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.PrivateDns.GetARecord.Invoke(new()\n    {\n        Name = \"test\",\n        ZoneName = \"test-zone\",\n        ResourceGroupName = \"test-rg\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"privateDnsARecordId\"] = example.Apply(getARecordResult =\u003e getARecordResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/privatedns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := privatedns.LookupARecord(ctx, \u0026privatedns.LookupARecordArgs{\n\t\t\tName:              \"test\",\n\t\t\tZoneName:          \"test-zone\",\n\t\t\tResourceGroupName: \"test-rg\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"privateDnsARecordId\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.privatedns.PrivatednsFunctions;\nimport com.pulumi.azure.privatedns.inputs.GetARecordArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = PrivatednsFunctions.getARecord(GetARecordArgs.builder()\n            .name(\"test\")\n            .zoneName(\"test-zone\")\n            .resourceGroupName(\"test-rg\")\n            .build());\n\n        ctx.export(\"privateDnsARecordId\", example.id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:privatedns:getARecord\n      arguments:\n        name: test\n        zoneName: test-zone\n        resourceGroupName: test-rg\noutputs:\n  privateDnsARecordId: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2024-06-01\n","inputs":{"description":"A collection of arguments for invoking getARecord.\n","properties":{"name":{"type":"string","description":"The name of the Private DNS A Record.\n"},"resourceGroupName":{"type":"string","description":"Specifies the resource group where the Private DNS Zone (parent resource) exists.\n"},"zoneName":{"type":"string","description":"Specifies the Private DNS Zone where the resource exists.\n"}},"type":"object","required":["name","resourceGroupName","zoneName"]},"outputs":{"description":"A collection of values returned by getARecord.\n","properties":{"fqdn":{"description":"The FQDN of the Private DNS A Record.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"name":{"type":"string"},"records":{"description":"List of IPv4 Addresses.\n","items":{"type":"string"},"type":"array"},"resourceGroupName":{"type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"A mapping of tags assigned to the Private DNS A Record.\n","type":"object"},"ttl":{"description":"The Time To Live (TTL) of the Private DNS record in seconds.\n","type":"integer"},"zoneName":{"type":"string"}},"required":["fqdn","name","records","resourceGroupName","tags","ttl","zoneName","id"],"type":"object"}},"azure:privatedns/getCnameRecord:getCnameRecord":{"description":"Use this data source to access information about an existing Private DNS CNAME Record within Azure DNS.\n\n\u003e **Note:** [The Azure DNS API has a throttle limit of 500 read (GET) operations per 5 minutes](https://docs.microsoft.com/azure/azure-resource-manager/management/request-limits-and-throttling#network-throttling) - whilst the default read timeouts will work for most cases - in larger configurations you may need to set a larger read timeout then the default 5min. Although, we'd generally recommend that you split the resources out into smaller Terraform configurations to avoid the problem entirely.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.privatedns.CnameRecord(\"example\", {\n    name: \"test\",\n    zoneName: \"test-zone\",\n    resourceGroupName: \"test-rg\",\n});\nexport const privateDnsCnameRecordId = exampleAzurermPrivateDnsCnameRecord.id;\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.privatedns.CnameRecord(\"example\",\n    name=\"test\",\n    zone_name=\"test-zone\",\n    resource_group_name=\"test-rg\")\npulumi.export(\"privateDnsCnameRecordId\", example_azurerm_private_dns_cname_record[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.PrivateDns.CnameRecord(\"example\", new()\n    {\n        Name = \"test\",\n        ZoneName = \"test-zone\",\n        ResourceGroupName = \"test-rg\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"privateDnsCnameRecordId\"] = exampleAzurermPrivateDnsCnameRecord.Id,\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/privatedns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := privatedns.NewCnameRecord(ctx, \"example\", \u0026privatedns.CnameRecordArgs{\n\t\t\tName:              pulumi.String(\"test\"),\n\t\t\tZoneName:          pulumi.String(\"test-zone\"),\n\t\t\tResourceGroupName: pulumi.String(\"test-rg\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"privateDnsCnameRecordId\", exampleAzurermPrivateDnsCnameRecord.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.privatedns.CnameRecord;\nimport com.pulumi.azure.privatedns.CnameRecordArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new CnameRecord(\"example\", CnameRecordArgs.builder()\n            .name(\"test\")\n            .zoneName(\"test-zone\")\n            .resourceGroupName(\"test-rg\")\n            .build());\n\n        ctx.export(\"privateDnsCnameRecordId\", exampleAzurermPrivateDnsCnameRecord.id());\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:privatedns:CnameRecord\n    properties:\n      name: test\n      zoneName: test-zone\n      resourceGroupName: test-rg\noutputs:\n  privateDnsCnameRecordId: ${exampleAzurermPrivateDnsCnameRecord.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2024-06-01\n","inputs":{"description":"A collection of arguments for invoking getCnameRecord.\n","properties":{"name":{"type":"string","description":"The name of the Private DNS CNAME Record.\n"},"resourceGroupName":{"type":"string","description":"Specifies the resource group where the Private DNS Zone (parent resource) exists.\n"},"zoneName":{"type":"string","description":"Specifies the Private DNS Zone where the resource exists.\n"}},"type":"object","required":["name","resourceGroupName","zoneName"]},"outputs":{"description":"A collection of values returned by getCnameRecord.\n","properties":{"fqdn":{"description":"The FQDN of the Private DNS CName Record.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"name":{"type":"string"},"record":{"description":"The target of the CNAME.\n","type":"string"},"resourceGroupName":{"type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"A mapping of tags assigned to the resource.\n","type":"object"},"targetResourceId":{"type":"string"},"ttl":{"description":"The Time To Live (TTL) of the Private DNS record in seconds.\n","type":"integer"},"zoneName":{"type":"string"}},"required":["fqdn","name","record","resourceGroupName","tags","targetResourceId","ttl","zoneName","id"],"type":"object"}},"azure:privatedns/getDnsZone:getDnsZone":{"description":"Use this data source to access information about an existing Private DNS Zone.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.privatedns.getDnsZone({\n    name: \"contoso.internal\",\n    resourceGroupName: \"contoso-dns\",\n});\nexport const privateDnsZoneId = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.privatedns.get_dns_zone(name=\"contoso.internal\",\n    resource_group_name=\"contoso-dns\")\npulumi.export(\"privateDnsZoneId\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.PrivateDns.GetDnsZone.Invoke(new()\n    {\n        Name = \"contoso.internal\",\n        ResourceGroupName = \"contoso-dns\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"privateDnsZoneId\"] = example.Apply(getDnsZoneResult =\u003e getDnsZoneResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/privatedns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := privatedns.GetDnsZone(ctx, \u0026privatedns.GetDnsZoneArgs{\n\t\t\tName:              \"contoso.internal\",\n\t\t\tResourceGroupName: pulumi.StringRef(\"contoso-dns\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"privateDnsZoneId\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.privatedns.PrivatednsFunctions;\nimport com.pulumi.azure.privatedns.inputs.GetDnsZoneArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = PrivatednsFunctions.getDnsZone(GetDnsZoneArgs.builder()\n            .name(\"contoso.internal\")\n            .resourceGroupName(\"contoso-dns\")\n            .build());\n\n        ctx.export(\"privateDnsZoneId\", example.id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:privatedns:getDnsZone\n      arguments:\n        name: contoso.internal\n        resourceGroupName: contoso-dns\noutputs:\n  privateDnsZoneId: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getDnsZone.\n","properties":{"name":{"type":"string","description":"The name of the Private DNS Zone.\n"},"resourceGroupName":{"type":"string","description":"The Name of the Resource Group where the Private DNS Zone exists.\nIf the Name of the Resource Group is not provided, the first Private DNS Zone from the list of Private\nDNS Zones in your subscription that matches \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e will be returned.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags for the zone.\n"}},"type":"object","required":["name"]},"outputs":{"description":"A collection of values returned by getDnsZone.\n","properties":{"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"maxNumberOfRecordSets":{"description":"Maximum number of recordsets that can be created in this Private Zone.\n","type":"integer"},"maxNumberOfVirtualNetworkLinks":{"description":"Maximum number of Virtual Networks that can be linked to this Private Zone.\n","type":"integer"},"maxNumberOfVirtualNetworkLinksWithRegistration":{"description":"Maximum number of Virtual Networks that can be linked to this Private Zone with registration enabled.\n","type":"integer"},"name":{"type":"string"},"numberOfRecordSets":{"description":"The number of recordsets currently in the zone.\n","type":"integer"},"resourceGroupName":{"type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"A mapping of tags for the zone.\n","type":"object"}},"required":["maxNumberOfRecordSets","maxNumberOfVirtualNetworkLinks","maxNumberOfVirtualNetworkLinksWithRegistration","name","numberOfRecordSets","resourceGroupName","id"],"type":"object"}},"azure:privatedns/getMxRecord:getMxRecord":{"description":"Use this data source to access information about an existing Private DNS MX Record within Azure DNS.\n\n\u003e **Note:** [The Azure DNS API has a throttle limit of 500 read (GET) operations per 5 minutes](https://docs.microsoft.com/azure/azure-resource-manager/management/request-limits-and-throttling#network-throttling) - whilst the default read timeouts will work for most cases - in larger configurations you may need to set a larger read timeout then the default 5min. Although, we'd generally recommend that you split the resources out into smaller Terraform configurations to avoid the problem entirely.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.privatedns.MxRecord(\"example\", {\n    name: \"test\",\n    zoneName: \"test-zone\",\n    resourceGroupName: \"test-rg\",\n});\nexport const privateDnsMxRecordId = exampleAzurermPrivateDnsMxRecord.id;\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.privatedns.MxRecord(\"example\",\n    name=\"test\",\n    zone_name=\"test-zone\",\n    resource_group_name=\"test-rg\")\npulumi.export(\"privateDnsMxRecordId\", example_azurerm_private_dns_mx_record[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.PrivateDns.MxRecord(\"example\", new()\n    {\n        Name = \"test\",\n        ZoneName = \"test-zone\",\n        ResourceGroupName = \"test-rg\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"privateDnsMxRecordId\"] = exampleAzurermPrivateDnsMxRecord.Id,\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/privatedns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := privatedns.NewMxRecord(ctx, \"example\", \u0026privatedns.MxRecordArgs{\n\t\t\tName:              pulumi.String(\"test\"),\n\t\t\tZoneName:          pulumi.String(\"test-zone\"),\n\t\t\tResourceGroupName: pulumi.String(\"test-rg\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"privateDnsMxRecordId\", exampleAzurermPrivateDnsMxRecord.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.privatedns.MxRecord;\nimport com.pulumi.azure.privatedns.MxRecordArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new MxRecord(\"example\", MxRecordArgs.builder()\n            .name(\"test\")\n            .zoneName(\"test-zone\")\n            .resourceGroupName(\"test-rg\")\n            .build());\n\n        ctx.export(\"privateDnsMxRecordId\", exampleAzurermPrivateDnsMxRecord.id());\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:privatedns:MxRecord\n    properties:\n      name: test\n      zoneName: test-zone\n      resourceGroupName: test-rg\noutputs:\n  privateDnsMxRecordId: ${exampleAzurermPrivateDnsMxRecord.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2024-06-01\n","inputs":{"description":"A collection of arguments for invoking getMxRecord.\n","properties":{"name":{"type":"string","description":"The name of the Private DNS MX Record.\n"},"resourceGroupName":{"type":"string","description":"Specifies the resource group where the Private DNS Zone (parent resource) exists.\n"},"zoneName":{"type":"string","description":"Specifies the Private DNS Zone where the resource exists.\n"}},"type":"object","required":["resourceGroupName","zoneName"]},"outputs":{"description":"A collection of values returned by getMxRecord.\n","properties":{"fqdn":{"description":"The FQDN of the Private DNS MX Record.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"name":{"type":"string"},"records":{"description":"A list of values that make up the MX record. Each \u003cspan pulumi-lang-nodejs=\"`record`\" pulumi-lang-dotnet=\"`Record`\" pulumi-lang-go=\"`record`\" pulumi-lang-python=\"`record`\" pulumi-lang-yaml=\"`record`\" pulumi-lang-java=\"`record`\"\u003e`record`\u003c/span\u003e block supports fields documented below.\n","items":{"$ref":"#/types/azure:privatedns/getMxRecordRecord:getMxRecordRecord"},"type":"array"},"resourceGroupName":{"type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"A mapping of tags assigned to the resource.\n","type":"object"},"ttl":{"description":"The Time To Live (TTL) of the Private DNS record in seconds.\n","type":"integer"},"zoneName":{"type":"string"}},"required":["fqdn","records","resourceGroupName","tags","ttl","zoneName","id"],"type":"object"}},"azure:privatedns/getPtrRecord:getPtrRecord":{"description":"Use this data source to access information about an existing Private DNS PTR Record within Azure DNS.\n\n\u003e **Note:** [The Azure DNS API has a throttle limit of 500 read (GET) operations per 5 minutes](https://docs.microsoft.com/azure/azure-resource-manager/management/request-limits-and-throttling#network-throttling) - whilst the default read timeouts will work for most cases - in larger configurations you may need to set a larger read timeout then the default 5min. Although, we'd generally recommend that you split the resources out into smaller Terraform configurations to avoid the problem entirely.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.privatedns.PTRRecord(\"example\", {\n    name: \"test\",\n    zoneName: \"test-zone\",\n    resourceGroupName: \"test-rg\",\n});\nexport const privateDnsPtrRecordId = exampleAzurermPrivateDnsPtrRecord.id;\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.privatedns.PTRRecord(\"example\",\n    name=\"test\",\n    zone_name=\"test-zone\",\n    resource_group_name=\"test-rg\")\npulumi.export(\"privateDnsPtrRecordId\", example_azurerm_private_dns_ptr_record[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.PrivateDns.PTRRecord(\"example\", new()\n    {\n        Name = \"test\",\n        ZoneName = \"test-zone\",\n        ResourceGroupName = \"test-rg\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"privateDnsPtrRecordId\"] = exampleAzurermPrivateDnsPtrRecord.Id,\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/privatedns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := privatedns.NewPTRRecord(ctx, \"example\", \u0026privatedns.PTRRecordArgs{\n\t\t\tName:              pulumi.String(\"test\"),\n\t\t\tZoneName:          pulumi.String(\"test-zone\"),\n\t\t\tResourceGroupName: pulumi.String(\"test-rg\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"privateDnsPtrRecordId\", exampleAzurermPrivateDnsPtrRecord.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.privatedns.PTRRecord;\nimport com.pulumi.azure.privatedns.PTRRecordArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new PTRRecord(\"example\", PTRRecordArgs.builder()\n            .name(\"test\")\n            .zoneName(\"test-zone\")\n            .resourceGroupName(\"test-rg\")\n            .build());\n\n        ctx.export(\"privateDnsPtrRecordId\", exampleAzurermPrivateDnsPtrRecord.id());\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:privatedns:PTRRecord\n    properties:\n      name: test\n      zoneName: test-zone\n      resourceGroupName: test-rg\noutputs:\n  privateDnsPtrRecordId: ${exampleAzurermPrivateDnsPtrRecord.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2024-06-01\n","inputs":{"description":"A collection of arguments for invoking getPtrRecord.\n","properties":{"name":{"type":"string","description":"The name of the Private DNS PTR Record.\n"},"resourceGroupName":{"type":"string","description":"Specifies the resource group where the Private DNS Zone (parent resource) exists.\n"},"zoneName":{"type":"string","description":"Specifies the Private DNS Zone where the resource exists.\n"}},"type":"object","required":["name","resourceGroupName","zoneName"]},"outputs":{"description":"A collection of values returned by getPtrRecord.\n","properties":{"fqdn":{"description":"The FQDN of the Private DNS PTR Record.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"name":{"type":"string"},"records":{"description":"List of Fully Qualified Domain Names.\n","items":{"type":"string"},"type":"array"},"resourceGroupName":{"type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"A mapping of tags assigned to the resource.\n","type":"object"},"ttl":{"description":"The Time To Live (TTL) of the Private DNS record in seconds.\n","type":"integer"},"zoneName":{"type":"string"}},"required":["fqdn","name","records","resourceGroupName","tags","ttl","zoneName","id"],"type":"object"}},"azure:privatedns/getResolver:getResolver":{"description":"Gets information about an existing Private DNS Resolver.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst test = azure.privatedns.getResolver({\n    name: \"example\",\n    resourceGroupName: \"example-resourcegroup-name\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\ntest = azure.privatedns.get_resolver(name=\"example\",\n    resource_group_name=\"example-resourcegroup-name\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var test = Azure.PrivateDns.GetResolver.Invoke(new()\n    {\n        Name = \"example\",\n        ResourceGroupName = \"example-resourcegroup-name\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/privatedns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := privatedns.LookupResolver(ctx, \u0026privatedns.LookupResolverArgs{\n\t\t\tName:              \"example\",\n\t\t\tResourceGroupName: \"example-resourcegroup-name\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.privatedns.PrivatednsFunctions;\nimport com.pulumi.azure.privatedns.inputs.GetResolverArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var test = PrivatednsFunctions.getResolver(GetResolverArgs.builder()\n            .name(\"example\")\n            .resourceGroupName(\"example-resourcegroup-name\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  test:\n    fn::invoke:\n      function: azure:privatedns:getResolver\n      arguments:\n        name: example\n        resourceGroupName: example-resourcegroup-name\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2022-07-01\n","inputs":{"description":"A collection of arguments for invoking getResolver.\n","properties":{"name":{"type":"string","description":"Name of the Private DNS Resolver.\n"},"resourceGroupName":{"type":"string","description":"Name of the Resource Group where the Private DNS Resolver exists.\n","willReplaceOnChanges":true}},"type":"object","required":["name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getResolver.\n","properties":{"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"location":{"description":"The Azure Region where the Private DNS Resolver exists.\n","type":"string"},"name":{"type":"string"},"resourceGroupName":{"type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"The tags assigned to the Private DNS Resolver.\n","type":"object"},"virtualNetworkId":{"description":"The ID of the Virtual Network that is linked to the Private DNS Resolver.\n","type":"string"}},"required":["location","name","resourceGroupName","tags","virtualNetworkId","id"],"type":"object"}},"azure:privatedns/getResolverDnsForwardingRuleset:getResolverDnsForwardingRuleset":{"description":"Gets information about an existing Private DNS Resolver Dns Forwarding Ruleset.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.privatedns.getResolverDnsForwardingRuleset({\n    name: \"example-ruleset\",\n    resourceGroupName: \"example-ruleset-resourcegroup\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.privatedns.get_resolver_dns_forwarding_ruleset(name=\"example-ruleset\",\n    resource_group_name=\"example-ruleset-resourcegroup\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.PrivateDns.GetResolverDnsForwardingRuleset.Invoke(new()\n    {\n        Name = \"example-ruleset\",\n        ResourceGroupName = \"example-ruleset-resourcegroup\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/privatedns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := privatedns.LookupResolverDnsForwardingRuleset(ctx, \u0026privatedns.LookupResolverDnsForwardingRulesetArgs{\n\t\t\tName:              \"example-ruleset\",\n\t\t\tResourceGroupName: \"example-ruleset-resourcegroup\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.privatedns.PrivatednsFunctions;\nimport com.pulumi.azure.privatedns.inputs.GetResolverDnsForwardingRulesetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = PrivatednsFunctions.getResolverDnsForwardingRuleset(GetResolverDnsForwardingRulesetArgs.builder()\n            .name(\"example-ruleset\")\n            .resourceGroupName(\"example-ruleset-resourcegroup\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:privatedns:getResolverDnsForwardingRuleset\n      arguments:\n        name: example-ruleset\n        resourceGroupName: example-ruleset-resourcegroup\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2022-07-01\n","inputs":{"description":"A collection of arguments for invoking getResolverDnsForwardingRuleset.\n","properties":{"name":{"type":"string","description":"Name of the existing Private DNS Resolver Dns Forwarding Ruleset.\n"},"resourceGroupName":{"type":"string","description":"Name of the Resource Group where the Private DNS Resolver Dns Forwarding Ruleset exists.\n","willReplaceOnChanges":true}},"type":"object","required":["name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getResolverDnsForwardingRuleset.\n","properties":{"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"location":{"description":"The Azure Region where the Private DNS Resolver Dns Forwarding Ruleset exists.\n","type":"string"},"name":{"type":"string"},"privateDnsResolverOutboundEndpointIds":{"description":"The IDs list of the Private DNS Resolver Outbound Endpoints that are linked to the Private DNS Resolver Dns Forwarding Ruleset.\n","items":{"type":"string"},"type":"array"},"resourceGroupName":{"type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"The tags assigned to the Private DNS Resolver Dns Forwarding Ruleset.\n","type":"object"}},"required":["location","name","privateDnsResolverOutboundEndpointIds","resourceGroupName","tags","id"],"type":"object"}},"azure:privatedns/getResolverForwardingRule:getResolverForwardingRule":{"description":"Gets information about an existing Private DNS Resolver Forwarding Rule.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.privatedns.getResolverForwardingRule({\n    name: \"example-rule\",\n    dnsForwardingRulesetId: \"example-forwarding-rulset-id\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.privatedns.get_resolver_forwarding_rule(name=\"example-rule\",\n    dns_forwarding_ruleset_id=\"example-forwarding-rulset-id\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.PrivateDns.GetResolverForwardingRule.Invoke(new()\n    {\n        Name = \"example-rule\",\n        DnsForwardingRulesetId = \"example-forwarding-rulset-id\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/privatedns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := privatedns.LookupResolverForwardingRule(ctx, \u0026privatedns.LookupResolverForwardingRuleArgs{\n\t\t\tName:                   \"example-rule\",\n\t\t\tDnsForwardingRulesetId: \"example-forwarding-rulset-id\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.privatedns.PrivatednsFunctions;\nimport com.pulumi.azure.privatedns.inputs.GetResolverForwardingRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = PrivatednsFunctions.getResolverForwardingRule(GetResolverForwardingRuleArgs.builder()\n            .name(\"example-rule\")\n            .dnsForwardingRulesetId(\"example-forwarding-rulset-id\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:privatedns:getResolverForwardingRule\n      arguments:\n        name: example-rule\n        dnsForwardingRulesetId: example-forwarding-rulset-id\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2022-07-01\n","inputs":{"description":"A collection of arguments for invoking getResolverForwardingRule.\n","properties":{"dnsForwardingRulesetId":{"type":"string","description":"ID of the Private DNS Resolver Forwarding Ruleset.\n"},"name":{"type":"string","description":"Name of the Private DNS Resolver Forwarding Rule.\n"}},"type":"object","required":["dnsForwardingRulesetId","name"]},"outputs":{"description":"A collection of values returned by getResolverForwardingRule.\n","properties":{"dnsForwardingRulesetId":{"type":"string"},"domainName":{"description":"The domain name for the Private DNS Resolver Forwarding Rule.\n","type":"string"},"enabled":{"description":"Is the Private DNS Resolver Forwarding Rule enabled?\n","type":"boolean"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"metadata":{"additionalProperties":{"type":"string"},"description":"The metadata attached to the Private DNS Resolver Forwarding Rule.\n","type":"object"},"name":{"type":"string"},"targetDnsServers":{"description":"A list of \u003cspan pulumi-lang-nodejs=\"`targetDnsServers`\" pulumi-lang-dotnet=\"`TargetDnsServers`\" pulumi-lang-go=\"`targetDnsServers`\" pulumi-lang-python=\"`target_dns_servers`\" pulumi-lang-yaml=\"`targetDnsServers`\" pulumi-lang-java=\"`targetDnsServers`\"\u003e`target_dns_servers`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:privatedns/getResolverForwardingRuleTargetDnsServer:getResolverForwardingRuleTargetDnsServer"},"type":"array"}},"required":["dnsForwardingRulesetId","domainName","enabled","metadata","name","targetDnsServers","id"],"type":"object"}},"azure:privatedns/getResolverInboundEndpoint:getResolverInboundEndpoint":{"description":"Gets information about an existing Private DNS Resolver Inbound Endpoint.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.privatedns.getResolverInboundEndpoint({\n    name: \"example-drie\",\n    privateDnsResolverId: \"example-private-dns-resolver-id\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.privatedns.get_resolver_inbound_endpoint(name=\"example-drie\",\n    private_dns_resolver_id=\"example-private-dns-resolver-id\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.PrivateDns.GetResolverInboundEndpoint.Invoke(new()\n    {\n        Name = \"example-drie\",\n        PrivateDnsResolverId = \"example-private-dns-resolver-id\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/privatedns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := privatedns.LookupResolverInboundEndpoint(ctx, \u0026privatedns.LookupResolverInboundEndpointArgs{\n\t\t\tName:                 \"example-drie\",\n\t\t\tPrivateDnsResolverId: \"example-private-dns-resolver-id\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.privatedns.PrivatednsFunctions;\nimport com.pulumi.azure.privatedns.inputs.GetResolverInboundEndpointArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = PrivatednsFunctions.getResolverInboundEndpoint(GetResolverInboundEndpointArgs.builder()\n            .name(\"example-drie\")\n            .privateDnsResolverId(\"example-private-dns-resolver-id\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:privatedns:getResolverInboundEndpoint\n      arguments:\n        name: example-drie\n        privateDnsResolverId: example-private-dns-resolver-id\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2022-07-01\n","inputs":{"description":"A collection of arguments for invoking getResolverInboundEndpoint.\n","properties":{"name":{"type":"string","description":"Name of the Private DNS Resolver Inbound Endpoint.\n"},"privateDnsResolverId":{"type":"string","description":"ID of the Private DNS Resolver.\n"}},"type":"object","required":["name","privateDnsResolverId"]},"outputs":{"description":"A collection of values returned by getResolverInboundEndpoint.\n","properties":{"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"ipConfigurations":{"description":"A list of \u003cspan pulumi-lang-nodejs=\"`ipConfigurations`\" pulumi-lang-dotnet=\"`IpConfigurations`\" pulumi-lang-go=\"`ipConfigurations`\" pulumi-lang-python=\"`ip_configurations`\" pulumi-lang-yaml=\"`ipConfigurations`\" pulumi-lang-java=\"`ipConfigurations`\"\u003e`ip_configurations`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:privatedns/getResolverInboundEndpointIpConfiguration:getResolverInboundEndpointIpConfiguration"},"type":"array"},"location":{"description":"The Azure Region where the Private DNS Resolver Inbound Endpoint exists.\n","type":"string"},"name":{"type":"string"},"privateDnsResolverId":{"type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"The tags assigned to the Private DNS Resolver Inbound Endpoint.\n","type":"object"}},"required":["ipConfigurations","location","name","privateDnsResolverId","tags","id"],"type":"object"}},"azure:privatedns/getResolverOutboundEndpoint:getResolverOutboundEndpoint":{"description":"Gets information about an existing Private DNS Resolver Outbound Endpoint.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.privatedns.getResolverOutboundEndpoint({\n    name: \"example-endpoint\",\n    privateDnsResolverId: \"example-private-dns-resolver-id\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.privatedns.get_resolver_outbound_endpoint(name=\"example-endpoint\",\n    private_dns_resolver_id=\"example-private-dns-resolver-id\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.PrivateDns.GetResolverOutboundEndpoint.Invoke(new()\n    {\n        Name = \"example-endpoint\",\n        PrivateDnsResolverId = \"example-private-dns-resolver-id\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/privatedns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := privatedns.LookupResolverOutboundEndpoint(ctx, \u0026privatedns.LookupResolverOutboundEndpointArgs{\n\t\t\tName:                 \"example-endpoint\",\n\t\t\tPrivateDnsResolverId: \"example-private-dns-resolver-id\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.privatedns.PrivatednsFunctions;\nimport com.pulumi.azure.privatedns.inputs.GetResolverOutboundEndpointArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = PrivatednsFunctions.getResolverOutboundEndpoint(GetResolverOutboundEndpointArgs.builder()\n            .name(\"example-endpoint\")\n            .privateDnsResolverId(\"example-private-dns-resolver-id\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:privatedns:getResolverOutboundEndpoint\n      arguments:\n        name: example-endpoint\n        privateDnsResolverId: example-private-dns-resolver-id\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2022-07-01\n","inputs":{"description":"A collection of arguments for invoking getResolverOutboundEndpoint.\n","properties":{"name":{"type":"string","description":"Name of the Private DNS Resolver Outbound Endpoint.\n"},"privateDnsResolverId":{"type":"string","description":"ID of the Private DNS Resolver Outbound Endpoint.\n"}},"type":"object","required":["name","privateDnsResolverId"]},"outputs":{"description":"A collection of values returned by getResolverOutboundEndpoint.\n","properties":{"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"location":{"description":"The Azure Region where the Private DNS Resolver Outbound Endpoint exists.\n","type":"string"},"name":{"type":"string"},"privateDnsResolverId":{"type":"string"},"subnetId":{"description":"The ID of the Subnet that is linked to the Private DNS Resolver Outbound Endpoint.\n","type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"The tags assigned to the Private DNS Resolver Outbound Endpoint.\n","type":"object"}},"required":["location","name","privateDnsResolverId","subnetId","tags","id"],"type":"object"}},"azure:privatedns/getResolverVirtualNetworkLink:getResolverVirtualNetworkLink":{"description":"Gets information about an existing Private DNS Resolver Virtual Network Link.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.privatedns.getResolverVirtualNetworkLink({\n    name: \"example-link\",\n    dnsForwardingRulesetId: \"example-dns-forwarding-ruleset-id\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.privatedns.get_resolver_virtual_network_link(name=\"example-link\",\n    dns_forwarding_ruleset_id=\"example-dns-forwarding-ruleset-id\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.PrivateDns.GetResolverVirtualNetworkLink.Invoke(new()\n    {\n        Name = \"example-link\",\n        DnsForwardingRulesetId = \"example-dns-forwarding-ruleset-id\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/privatedns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := privatedns.LookupResolverVirtualNetworkLink(ctx, \u0026privatedns.LookupResolverVirtualNetworkLinkArgs{\n\t\t\tName:                   \"example-link\",\n\t\t\tDnsForwardingRulesetId: \"example-dns-forwarding-ruleset-id\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.privatedns.PrivatednsFunctions;\nimport com.pulumi.azure.privatedns.inputs.GetResolverVirtualNetworkLinkArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = PrivatednsFunctions.getResolverVirtualNetworkLink(GetResolverVirtualNetworkLinkArgs.builder()\n            .name(\"example-link\")\n            .dnsForwardingRulesetId(\"example-dns-forwarding-ruleset-id\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:privatedns:getResolverVirtualNetworkLink\n      arguments:\n        name: example-link\n        dnsForwardingRulesetId: example-dns-forwarding-ruleset-id\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2022-07-01\n","inputs":{"description":"A collection of arguments for invoking getResolverVirtualNetworkLink.\n","properties":{"dnsForwardingRulesetId":{"type":"string","description":"ID of the Private DNS Resolver DNS Forwarding Ruleset.\n"},"name":{"type":"string","description":"Name of the Private DNS Resolver Virtual Network Link.\n"}},"type":"object","required":["dnsForwardingRulesetId","name"]},"outputs":{"description":"A collection of values returned by getResolverVirtualNetworkLink.\n","properties":{"dnsForwardingRulesetId":{"type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"metadata":{"additionalProperties":{"type":"string"},"description":"The metadata attached to the Private DNS Resolver Virtual Network Link.\n","type":"object"},"name":{"type":"string"},"virtualNetworkId":{"description":"The ID of the Virtual Network that is linked to the Private DNS Resolver Virtual Network Link.\n","type":"string"}},"required":["dnsForwardingRulesetId","metadata","name","virtualNetworkId","id"],"type":"object"}},"azure:privatedns/getSoaRecord:getSoaRecord":{"description":"Use this data source to access information about an existing Private DNS SOA Record within Azure DNS.\n\n\u003e **Note:** [The Azure DNS API has a throttle limit of 500 read (GET) operations per 5 minutes](https://docs.microsoft.com/azure/azure-resource-manager/management/request-limits-and-throttling#network-throttling) - whilst the default read timeouts will work for most cases - in larger configurations you may need to set a larger read timeout then the default 5min. Although, we'd generally recommend that you split the resources out into smaller Terraform configurations to avoid the problem entirely.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azurerm from \"@pulumi/azurerm\";\n\nconst example = new azurerm.index.PrivateDnsSoaRecord(\"example\", {\n    zoneName: \"test-zone\",\n    resourceGroupName: \"test-rg\",\n});\nexport const privateDnsSoaRecordId = exampleAzurermPrivateDnsSoaRecord.id;\n```\n```python\nimport pulumi\nimport pulumi_azurerm as azurerm\n\nexample = azurerm.index.PrivateDnsSoaRecord(\"example\",\n    zone_name=test-zone,\n    resource_group_name=test-rg)\npulumi.export(\"privateDnsSoaRecordId\", example_azurerm_private_dns_soa_record[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azurerm = Pulumi.Azurerm;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azurerm.Index.PrivateDnsSoaRecord(\"example\", new()\n    {\n        ZoneName = \"test-zone\",\n        ResourceGroupName = \"test-rg\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"privateDnsSoaRecordId\"] = exampleAzurermPrivateDnsSoaRecord.Id,\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azurerm/sdk/go/azurerm\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := azurerm.NewPrivateDnsSoaRecord(ctx, \"example\", \u0026azurerm.PrivateDnsSoaRecordArgs{\n\t\t\tZoneName:          \"test-zone\",\n\t\t\tResourceGroupName: \"test-rg\",\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"privateDnsSoaRecordId\", exampleAzurermPrivateDnsSoaRecord.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azurerm.PrivateDnsSoaRecord;\nimport com.pulumi.azurerm.PrivateDnsSoaRecordArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new PrivateDnsSoaRecord(\"example\", PrivateDnsSoaRecordArgs.builder()\n            .zoneName(\"test-zone\")\n            .resourceGroupName(\"test-rg\")\n            .build());\n\n        ctx.export(\"privateDnsSoaRecordId\", exampleAzurermPrivateDnsSoaRecord.id());\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azurerm:PrivateDnsSoaRecord\n    properties:\n      zoneName: test-zone\n      resourceGroupName: test-rg\noutputs:\n  privateDnsSoaRecordId: ${exampleAzurermPrivateDnsSoaRecord.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2024-06-01\n","inputs":{"description":"A collection of arguments for invoking getSoaRecord.\n","properties":{"name":{"type":"string","description":"The name of the Private DNS SOA Record.\n"},"resourceGroupName":{"type":"string","description":"Specifies the resource group where the Private DNS Zone (parent resource) exists.\n"},"zoneName":{"type":"string","description":"Specifies the Private DNS Zone where the resource exists.\n"}},"type":"object","required":["resourceGroupName","zoneName"]},"outputs":{"description":"A collection of values returned by getSoaRecord.\n","properties":{"email":{"description":"The email contact for the SOA record.\n","type":"string"},"expireTime":{"description":"The expire time for the SOA record.\n","type":"integer"},"fqdn":{"description":"The FQDN of the Private DNS SOA Record.\n","type":"string"},"hostName":{"description":"The domain name of the authoritative name server for the SOA record.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"minimumTtl":{"description":"The minimum Time To Live for the SOA record. By convention, it is used to determine the negative caching duration.\n","type":"integer"},"name":{"description":"The name of the Private DNS SOA Record.\n","type":"string"},"refreshTime":{"description":"The refresh time for the SOA record.\n","type":"integer"},"resourceGroupName":{"type":"string"},"retryTime":{"description":"The retry time for the SOA record.\n","type":"integer"},"serialNumber":{"description":"The serial number for the SOA record.\n","type":"integer"},"tags":{"additionalProperties":{"type":"string"},"description":"A mapping of tags assigned to the resource.\n","type":"object"},"ttl":{"description":"The Time To Live (TTL) of the Private DNS record in seconds.\n","type":"integer"},"zoneName":{"type":"string"}},"required":["email","expireTime","fqdn","hostName","minimumTtl","refreshTime","resourceGroupName","retryTime","serialNumber","tags","ttl","zoneName","id"],"type":"object"}},"azure:privatedns/getSrvRecord:getSrvRecord":{"description":"Use this data source to access information about an existing Private DNS SRV Record within Azure DNS.\n\n\u003e **Note:** [The Azure DNS API has a throttle limit of 500 read (GET) operations per 5 minutes](https://docs.microsoft.com/azure/azure-resource-manager/management/request-limits-and-throttling#network-throttling) - whilst the default read timeouts will work for most cases - in larger configurations you may need to set a larger read timeout then the default 5min. Although, we'd generally recommend that you split the resources out into smaller Terraform configurations to avoid the problem entirely.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.privatedns.SRVRecord(\"example\", {\n    name: \"test\",\n    zoneName: \"test-zone\",\n    resourceGroupName: \"test-rg\",\n});\nexport const privateDnsSrvRecordId = exampleAzurermPrivateDnsSrvRecord.id;\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.privatedns.SRVRecord(\"example\",\n    name=\"test\",\n    zone_name=\"test-zone\",\n    resource_group_name=\"test-rg\")\npulumi.export(\"privateDnsSrvRecordId\", example_azurerm_private_dns_srv_record[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.PrivateDns.SRVRecord(\"example\", new()\n    {\n        Name = \"test\",\n        ZoneName = \"test-zone\",\n        ResourceGroupName = \"test-rg\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"privateDnsSrvRecordId\"] = exampleAzurermPrivateDnsSrvRecord.Id,\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/privatedns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := privatedns.NewSRVRecord(ctx, \"example\", \u0026privatedns.SRVRecordArgs{\n\t\t\tName:              pulumi.String(\"test\"),\n\t\t\tZoneName:          pulumi.String(\"test-zone\"),\n\t\t\tResourceGroupName: pulumi.String(\"test-rg\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"privateDnsSrvRecordId\", exampleAzurermPrivateDnsSrvRecord.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.privatedns.SRVRecord;\nimport com.pulumi.azure.privatedns.SRVRecordArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new SRVRecord(\"example\", SRVRecordArgs.builder()\n            .name(\"test\")\n            .zoneName(\"test-zone\")\n            .resourceGroupName(\"test-rg\")\n            .build());\n\n        ctx.export(\"privateDnsSrvRecordId\", exampleAzurermPrivateDnsSrvRecord.id());\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:privatedns:SRVRecord\n    properties:\n      name: test\n      zoneName: test-zone\n      resourceGroupName: test-rg\noutputs:\n  privateDnsSrvRecordId: ${exampleAzurermPrivateDnsSrvRecord.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2024-06-01\n","inputs":{"description":"A collection of arguments for invoking getSrvRecord.\n","properties":{"name":{"type":"string","description":"The name of the Private DNS SRV Record.\n"},"resourceGroupName":{"type":"string","description":"Specifies the resource group where the Private DNS Zone (parent resource) exists.\n"},"zoneName":{"type":"string","description":"Specifies the Private DNS Zone where the resource exists.\n"}},"type":"object","required":["name","resourceGroupName","zoneName"]},"outputs":{"description":"A collection of values returned by getSrvRecord.\n","properties":{"fqdn":{"description":"The FQDN of the Private DNS SRV Record.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"name":{"type":"string"},"records":{"description":"A list of values that make up the SRV record. Each \u003cspan pulumi-lang-nodejs=\"`record`\" pulumi-lang-dotnet=\"`Record`\" pulumi-lang-go=\"`record`\" pulumi-lang-python=\"`record`\" pulumi-lang-yaml=\"`record`\" pulumi-lang-java=\"`record`\"\u003e`record`\u003c/span\u003e block supports fields documented below.\n","items":{"$ref":"#/types/azure:privatedns/getSrvRecordRecord:getSrvRecordRecord"},"type":"array"},"resourceGroupName":{"type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"A mapping of tags assigned to the resource.\n","type":"object"},"ttl":{"description":"The Time To Live (TTL) of the Private DNS record in seconds.\n","type":"integer"},"zoneName":{"type":"string"}},"required":["fqdn","name","records","resourceGroupName","tags","ttl","zoneName","id"],"type":"object"}},"azure:privatedns/getTxtRecord:getTxtRecord":{"description":"Use this data source to access information about an existing Private DNS TXT Record within Azure DNS.\n\n\u003e **Note:** [The Azure DNS API has a throttle limit of 500 read (GET) operations per 5 minutes](https://docs.microsoft.com/azure/azure-resource-manager/management/request-limits-and-throttling#network-throttling) - whilst the default read timeouts will work for most cases - in larger configurations you may need to set a larger read timeout then the default 5min. Although, we'd generally recommend that you split the resources out into smaller Terraform configurations to avoid the problem entirely.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.privatedns.TxtRecord(\"example\", {\n    name: \"test\",\n    zoneName: \"test-zone\",\n    resourceGroupName: \"test-rg\",\n});\nexport const privateDnsTxtRecordId = exampleAzurermPrivateDnsTxtRecord.id;\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.privatedns.TxtRecord(\"example\",\n    name=\"test\",\n    zone_name=\"test-zone\",\n    resource_group_name=\"test-rg\")\npulumi.export(\"privateDnsTxtRecordId\", example_azurerm_private_dns_txt_record[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azure.PrivateDns.TxtRecord(\"example\", new()\n    {\n        Name = \"test\",\n        ZoneName = \"test-zone\",\n        ResourceGroupName = \"test-rg\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"privateDnsTxtRecordId\"] = exampleAzurermPrivateDnsTxtRecord.Id,\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/privatedns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := privatedns.NewTxtRecord(ctx, \"example\", \u0026privatedns.TxtRecordArgs{\n\t\t\tName:              pulumi.String(\"test\"),\n\t\t\tZoneName:          pulumi.String(\"test-zone\"),\n\t\t\tResourceGroupName: pulumi.String(\"test-rg\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"privateDnsTxtRecordId\", exampleAzurermPrivateDnsTxtRecord.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.privatedns.TxtRecord;\nimport com.pulumi.azure.privatedns.TxtRecordArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new TxtRecord(\"example\", TxtRecordArgs.builder()\n            .name(\"test\")\n            .zoneName(\"test-zone\")\n            .resourceGroupName(\"test-rg\")\n            .build());\n\n        ctx.export(\"privateDnsTxtRecordId\", exampleAzurermPrivateDnsTxtRecord.id());\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azure:privatedns:TxtRecord\n    properties:\n      name: test\n      zoneName: test-zone\n      resourceGroupName: test-rg\noutputs:\n  privateDnsTxtRecordId: ${exampleAzurermPrivateDnsTxtRecord.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2024-06-01\n","inputs":{"description":"A collection of arguments for invoking getTxtRecord.\n","properties":{"name":{"type":"string","description":"The name of the Private DNS TXT Record.\n"},"resourceGroupName":{"type":"string","description":"Specifies the resource group where the Private DNS Zone (parent resource) exists.\n"},"zoneName":{"type":"string","description":"Specifies the Private DNS Zone where the resource exists.\n"}},"type":"object","required":["name","resourceGroupName","zoneName"]},"outputs":{"description":"A collection of values returned by getTxtRecord.\n","properties":{"fqdn":{"description":"The FQDN of the Private DNS TXT Record.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"name":{"type":"string"},"records":{"description":"A list of values that make up the txt record. Each \u003cspan pulumi-lang-nodejs=\"`record`\" pulumi-lang-dotnet=\"`Record`\" pulumi-lang-go=\"`record`\" pulumi-lang-python=\"`record`\" pulumi-lang-yaml=\"`record`\" pulumi-lang-java=\"`record`\"\u003e`record`\u003c/span\u003e block supports fields documented below.\n","items":{"$ref":"#/types/azure:privatedns/getTxtRecordRecord:getTxtRecordRecord"},"type":"array"},"resourceGroupName":{"type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"A mapping of tags assigned to the resource.\n","type":"object"},"ttl":{"description":"The Time To Live (TTL) of the Private DNS record in seconds.\n","type":"integer"},"zoneName":{"type":"string"}},"required":["fqdn","name","records","resourceGroupName","tags","ttl","zoneName","id"],"type":"object"}},"azure:privatedns/getZoneVirtualNetworkLink:getZoneVirtualNetworkLink":{"description":"Use this data source to access information about an existing Private DNS zone Virtual Network Link. These Links enable DNS resolution and registration inside Azure Virtual Networks using Azure Private DNS.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.privatedns.getZoneVirtualNetworkLink({\n    name: \"test\",\n    resourceGroupName: \"test-rg\",\n    privateDnsZoneName: \"test-zone\",\n});\nexport const privateDnsARecordId = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.privatedns.get_zone_virtual_network_link(name=\"test\",\n    resource_group_name=\"test-rg\",\n    private_dns_zone_name=\"test-zone\")\npulumi.export(\"privateDnsARecordId\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.PrivateDns.GetZoneVirtualNetworkLink.Invoke(new()\n    {\n        Name = \"test\",\n        ResourceGroupName = \"test-rg\",\n        PrivateDnsZoneName = \"test-zone\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"privateDnsARecordId\"] = example.Apply(getZoneVirtualNetworkLinkResult =\u003e getZoneVirtualNetworkLinkResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/privatedns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := privatedns.LookupZoneVirtualNetworkLink(ctx, \u0026privatedns.LookupZoneVirtualNetworkLinkArgs{\n\t\t\tName:               \"test\",\n\t\t\tResourceGroupName:  \"test-rg\",\n\t\t\tPrivateDnsZoneName: \"test-zone\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"privateDnsARecordId\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.privatedns.PrivatednsFunctions;\nimport com.pulumi.azure.privatedns.inputs.GetZoneVirtualNetworkLinkArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = PrivatednsFunctions.getZoneVirtualNetworkLink(GetZoneVirtualNetworkLinkArgs.builder()\n            .name(\"test\")\n            .resourceGroupName(\"test-rg\")\n            .privateDnsZoneName(\"test-zone\")\n            .build());\n\n        ctx.export(\"privateDnsARecordId\", example.id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:privatedns:getZoneVirtualNetworkLink\n      arguments:\n        name: test\n        resourceGroupName: test-rg\n        privateDnsZoneName: test-zone\noutputs:\n  privateDnsARecordId: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2024-06-01\n","inputs":{"description":"A collection of arguments for invoking getZoneVirtualNetworkLink.\n","properties":{"name":{"type":"string","description":"The name of the Private DNS Zone Virtual Network Link.\n"},"privateDnsZoneName":{"type":"string","description":"The name of the Private DNS zone (without a terminating dot).\n"},"resourceGroupName":{"type":"string","description":"Specifies the resource group where the Private DNS Zone exists.\n"}},"type":"object","required":["name","privateDnsZoneName","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getZoneVirtualNetworkLink.\n","properties":{"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"name":{"type":"string"},"privateDnsZoneName":{"type":"string"},"registrationEnabled":{"description":"Whether the auto-registration of virtual machine records in the virtual network in the Private DNS zone is enabled or not.\n","type":"boolean"},"resolutionPolicy":{"description":"The resolution policy of the Private DNS Zone Virtual Network Link.\n","type":"string"},"resourceGroupName":{"type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n","type":"object"},"virtualNetworkId":{"description":"The ID of the Virtual Network that is linked to the DNS Zone.\n","type":"string"}},"required":["name","privateDnsZoneName","registrationEnabled","resolutionPolicy","resourceGroupName","tags","virtualNetworkId","id"],"type":"object"}},"azure:privatelink/getEndpointConnection:getEndpointConnection":{"description":"Use this data source to access the connection status information about an existing Private Endpoint Connection.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.privatelink.getEndpointConnection({\n    name: \"example-private-endpoint\",\n    resourceGroupName: \"example-rg\",\n});\nexport const privateEndpointStatus = example.then(example =\u003e example.privateServiceConnections?.[0]?.status);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.privatelink.get_endpoint_connection(name=\"example-private-endpoint\",\n    resource_group_name=\"example-rg\")\npulumi.export(\"privateEndpointStatus\", example.private_service_connections[0].status)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.PrivateLink.GetEndpointConnection.Invoke(new()\n    {\n        Name = \"example-private-endpoint\",\n        ResourceGroupName = \"example-rg\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"privateEndpointStatus\"] = example.Apply(getEndpointConnectionResult =\u003e getEndpointConnectionResult.PrivateServiceConnections[0]?.Status),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/privatelink\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := privatelink.GetEndpointConnection(ctx, \u0026privatelink.GetEndpointConnectionArgs{\n\t\t\tName:              \"example-private-endpoint\",\n\t\t\tResourceGroupName: \"example-rg\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"privateEndpointStatus\", example.PrivateServiceConnections[0].Status)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.privatelink.PrivatelinkFunctions;\nimport com.pulumi.azure.privatelink.inputs.GetEndpointConnectionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = PrivatelinkFunctions.getEndpointConnection(GetEndpointConnectionArgs.builder()\n            .name(\"example-private-endpoint\")\n            .resourceGroupName(\"example-rg\")\n            .build());\n\n        ctx.export(\"privateEndpointStatus\", example.privateServiceConnections()[0].status());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:privatelink:getEndpointConnection\n      arguments:\n        name: example-private-endpoint\n        resourceGroupName: example-rg\noutputs:\n  privateEndpointStatus: ${example.privateServiceConnections[0].status}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2025-01-01\n","inputs":{"description":"A collection of arguments for invoking getEndpointConnection.\n","properties":{"name":{"type":"string","description":"Specifies the Name of the private endpoint.\n"},"resourceGroupName":{"type":"string","description":"Specifies the Name of the Resource Group within which the private endpoint exists.\n"}},"type":"object","required":["name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getEndpointConnection.\n","properties":{"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"location":{"description":"The supported Azure location where the resource exists.\n","type":"string"},"name":{"description":"The name of the private endpoint.\n","type":"string"},"networkInterfaces":{"items":{"$ref":"#/types/azure:privatelink/getEndpointConnectionNetworkInterface:getEndpointConnectionNetworkInterface"},"type":"array"},"privateServiceConnections":{"items":{"$ref":"#/types/azure:privatelink/getEndpointConnectionPrivateServiceConnection:getEndpointConnectionPrivateServiceConnection"},"type":"array"},"resourceGroupName":{"type":"string"}},"required":["location","name","networkInterfaces","privateServiceConnections","resourceGroupName","id"],"type":"object"}},"azure:privatelink/getService:getService":{"description":"Use this data source to access information about an existing Private Link Service.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.privatelink.getService({\n    name: \"myPrivateLinkService\",\n    resourceGroupName: \"PrivateLinkServiceRG\",\n});\nexport const privateLinkServiceId = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.privatelink.get_service(name=\"myPrivateLinkService\",\n    resource_group_name=\"PrivateLinkServiceRG\")\npulumi.export(\"privateLinkServiceId\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.PrivateLink.GetService.Invoke(new()\n    {\n        Name = \"myPrivateLinkService\",\n        ResourceGroupName = \"PrivateLinkServiceRG\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"privateLinkServiceId\"] = example.Apply(getServiceResult =\u003e getServiceResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/privatelink\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := privatelink.GetService(ctx, \u0026privatelink.GetServiceArgs{\n\t\t\tName:              \"myPrivateLinkService\",\n\t\t\tResourceGroupName: \"PrivateLinkServiceRG\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"privateLinkServiceId\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.privatelink.PrivatelinkFunctions;\nimport com.pulumi.azure.privatelink.inputs.GetServiceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = PrivatelinkFunctions.getService(GetServiceArgs.builder()\n            .name(\"myPrivateLinkService\")\n            .resourceGroupName(\"PrivateLinkServiceRG\")\n            .build());\n\n        ctx.export(\"privateLinkServiceId\", example.id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:privatelink:getService\n      arguments:\n        name: myPrivateLinkService\n        resourceGroupName: PrivateLinkServiceRG\noutputs:\n  privateLinkServiceId: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2025-01-01\n","inputs":{"description":"A collection of arguments for invoking getService.\n","properties":{"name":{"type":"string","description":"The name of the private link service.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the private link service resides.\n"}},"type":"object","required":["name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getService.\n","properties":{"alias":{"description":"The alias is a globally unique name for your private link service which Azure generates for you. Your can use this alias to request a connection to your private link service.\n","type":"string"},"autoApprovalSubscriptionIds":{"description":"The list of subscription(s) globally unique identifiers that will be auto approved to use the private link service.\n","items":{"type":"string"},"type":"array"},"enableProxyProtocol":{"description":"Does the Private Link Service support the Proxy Protocol?\n","type":"boolean"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"loadBalancerFrontendIpConfigurationIds":{"description":"The list of Standard Load Balancer(SLB) resource IDs. The Private Link service is tied to the frontend IP address of a SLB. All traffic destined for the private link service will reach the frontend of the SLB. You can configure SLB rules to direct this traffic to appropriate backend pools where your applications are running.\n","items":{"type":"string"},"type":"array"},"location":{"description":"The supported Azure location where the resource exists.\n","type":"string"},"name":{"description":"The name of private link service NAT IP configuration.\n","type":"string"},"natIpConfigurations":{"description":"The \u003cspan pulumi-lang-nodejs=\"`natIpConfiguration`\" pulumi-lang-dotnet=\"`NatIpConfiguration`\" pulumi-lang-go=\"`natIpConfiguration`\" pulumi-lang-python=\"`nat_ip_configuration`\" pulumi-lang-yaml=\"`natIpConfiguration`\" pulumi-lang-java=\"`natIpConfiguration`\"\u003e`nat_ip_configuration`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:privatelink/getServiceNatIpConfiguration:getServiceNatIpConfiguration"},"type":"array"},"resourceGroupName":{"type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the resource.\n","type":"object"},"visibilitySubscriptionIds":{"description":"The list of subscription(s) globally unique identifiers(GUID) that will be able to see the private link service.\n","items":{"type":"string"},"type":"array"}},"required":["alias","autoApprovalSubscriptionIds","enableProxyProtocol","loadBalancerFrontendIpConfigurationIds","location","name","natIpConfigurations","resourceGroupName","tags","visibilitySubscriptionIds","id"],"type":"object"}},"azure:privatelink/getServiceEndpointConnections:getServiceEndpointConnections":{"description":"Use this data source to access endpoint connection information about an existing Private Link Service.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.privatelink.getServiceEndpointConnections({\n    serviceId: exampleAzurermPrivateLinkService.id,\n    resourceGroupName: exampleAzurermResourceGroup.name,\n});\nexport const privateEndpointStatus = example.then(example =\u003e example.privateEndpointConnections?.[0]?.status);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.privatelink.get_service_endpoint_connections(service_id=example_azurerm_private_link_service[\"id\"],\n    resource_group_name=example_azurerm_resource_group[\"name\"])\npulumi.export(\"privateEndpointStatus\", example.private_endpoint_connections[0].status)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.PrivateLink.GetServiceEndpointConnections.Invoke(new()\n    {\n        ServiceId = exampleAzurermPrivateLinkService.Id,\n        ResourceGroupName = exampleAzurermResourceGroup.Name,\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"privateEndpointStatus\"] = example.Apply(getServiceEndpointConnectionsResult =\u003e getServiceEndpointConnectionsResult.PrivateEndpointConnections[0]?.Status),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/privatelink\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := privatelink.GetServiceEndpointConnections(ctx, \u0026privatelink.GetServiceEndpointConnectionsArgs{\n\t\t\tServiceId:         exampleAzurermPrivateLinkService.Id,\n\t\t\tResourceGroupName: exampleAzurermResourceGroup.Name,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"privateEndpointStatus\", example.PrivateEndpointConnections[0].Status)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.privatelink.PrivatelinkFunctions;\nimport com.pulumi.azure.privatelink.inputs.GetServiceEndpointConnectionsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = PrivatelinkFunctions.getServiceEndpointConnections(GetServiceEndpointConnectionsArgs.builder()\n            .serviceId(exampleAzurermPrivateLinkService.id())\n            .resourceGroupName(exampleAzurermResourceGroup.name())\n            .build());\n\n        ctx.export(\"privateEndpointStatus\", example.privateEndpointConnections()[0].status());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:privatelink:getServiceEndpointConnections\n      arguments:\n        serviceId: ${exampleAzurermPrivateLinkService.id}\n        resourceGroupName: ${exampleAzurermResourceGroup.name}\noutputs:\n  privateEndpointStatus: ${example.privateEndpointConnections[0].status}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2025-01-01\n","inputs":{"description":"A collection of arguments for invoking getServiceEndpointConnections.\n","properties":{"resourceGroupName":{"type":"string","description":"The name of the resource group in which the private link service resides.\n"},"serviceId":{"type":"string","description":"The resource ID of the private link service.\n"}},"type":"object","required":["resourceGroupName","serviceId"]},"outputs":{"description":"A collection of values returned by getServiceEndpointConnections.\n","properties":{"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"location":{"type":"string"},"privateEndpointConnections":{"items":{"$ref":"#/types/azure:privatelink/getServiceEndpointConnectionsPrivateEndpointConnection:getServiceEndpointConnectionsPrivateEndpointConnection"},"type":"array"},"resourceGroupName":{"type":"string"},"serviceId":{"type":"string"},"serviceName":{"description":"The name of the private link service.\n","type":"string"}},"required":["location","privateEndpointConnections","resourceGroupName","serviceId","serviceName","id"],"type":"object"}},"azure:proximity/getPlacementGroup:getPlacementGroup":{"description":"Use this data source to access information about an existing Proximity Placement Group.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.proximity.getPlacementGroup({\n    name: \"tf-appsecuritygroup\",\n    resourceGroupName: \"my-resource-group\",\n});\nexport const proximityPlacementGroupId = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.proximity.get_placement_group(name=\"tf-appsecuritygroup\",\n    resource_group_name=\"my-resource-group\")\npulumi.export(\"proximityPlacementGroupId\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Proximity.GetPlacementGroup.Invoke(new()\n    {\n        Name = \"tf-appsecuritygroup\",\n        ResourceGroupName = \"my-resource-group\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"proximityPlacementGroupId\"] = example.Apply(getPlacementGroupResult =\u003e getPlacementGroupResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/proximity\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := proximity.LookupPlacementGroup(ctx, \u0026proximity.LookupPlacementGroupArgs{\n\t\t\tName:              \"tf-appsecuritygroup\",\n\t\t\tResourceGroupName: \"my-resource-group\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"proximityPlacementGroupId\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.proximity.ProximityFunctions;\nimport com.pulumi.azure.proximity.inputs.GetPlacementGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = ProximityFunctions.getPlacementGroup(GetPlacementGroupArgs.builder()\n            .name(\"tf-appsecuritygroup\")\n            .resourceGroupName(\"my-resource-group\")\n            .build());\n\n        ctx.export(\"proximityPlacementGroupId\", example.id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:proximity:getPlacementGroup\n      arguments:\n        name: tf-appsecuritygroup\n        resourceGroupName: my-resource-group\noutputs:\n  proximityPlacementGroupId: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.Compute` - 2022-03-01\n","inputs":{"description":"A collection of arguments for invoking getPlacementGroup.\n","properties":{"name":{"type":"string","description":"The name of the Proximity Placement Group.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the Proximity Placement Group exists.\n"}},"type":"object","required":["name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getPlacementGroup.\n","properties":{"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"location":{"type":"string"},"name":{"type":"string"},"resourceGroupName":{"type":"string"},"tags":{"additionalProperties":{"type":"string"},"type":"object"}},"required":["location","name","resourceGroupName","tags","id"],"type":"object"}},"azure:recoveryservices/getVault:getVault":{"description":"Use this data source to access information about an existing Recovery Services Vault.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst vault = azure.recoveryservices.getVault({\n    name: \"tfex-recovery_vault\",\n    resourceGroupName: \"tfex-resource_group\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nvault = azure.recoveryservices.get_vault(name=\"tfex-recovery_vault\",\n    resource_group_name=\"tfex-resource_group\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var vault = Azure.RecoveryServices.GetVault.Invoke(new()\n    {\n        Name = \"tfex-recovery_vault\",\n        ResourceGroupName = \"tfex-resource_group\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/recoveryservices\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := recoveryservices.LookupVault(ctx, \u0026recoveryservices.LookupVaultArgs{\n\t\t\tName:              \"tfex-recovery_vault\",\n\t\t\tResourceGroupName: \"tfex-resource_group\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.recoveryservices.RecoveryservicesFunctions;\nimport com.pulumi.azure.recoveryservices.inputs.GetVaultArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var vault = RecoveryservicesFunctions.getVault(GetVaultArgs.builder()\n            .name(\"tfex-recovery_vault\")\n            .resourceGroupName(\"tfex-resource_group\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  vault:\n    fn::invoke:\n      function: azure:recoveryservices:getVault\n      arguments:\n        name: tfex-recovery_vault\n        resourceGroupName: tfex-resource_group\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.RecoveryServices` - 2024-01-01\n","inputs":{"description":"A collection of arguments for invoking getVault.\n","properties":{"name":{"type":"string","description":"Specifies the name of the Recovery Services Vault.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the Recovery Services Vault resides.\n"}},"type":"object","required":["name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getVault.\n","properties":{"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"identities":{"description":"(Optional) An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:recoveryservices/getVaultIdentity:getVaultIdentity"},"type":"array"},"location":{"description":"The Azure location where the resource resides.\n","type":"string"},"name":{"type":"string"},"resourceGroupName":{"type":"string"},"sku":{"description":"The vault's current SKU.\n","type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"A mapping of tags assigned to the resource.\n","type":"object"}},"required":["identities","location","name","resourceGroupName","sku","tags","id"],"type":"object"}},"azure:redis/getCache:getCache":{"description":"Use this data source to access information about an existing Redis Cache\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.redis.getCache({\n    name: \"myrediscache\",\n    resourceGroupName: \"redis-cache\",\n});\nexport const primaryAccessKey = example.then(example =\u003e example.primaryAccessKey);\nexport const hostname = example.then(example =\u003e example.hostname);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.redis.get_cache(name=\"myrediscache\",\n    resource_group_name=\"redis-cache\")\npulumi.export(\"primaryAccessKey\", example.primary_access_key)\npulumi.export(\"hostname\", example.hostname)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Redis.GetCache.Invoke(new()\n    {\n        Name = \"myrediscache\",\n        ResourceGroupName = \"redis-cache\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"primaryAccessKey\"] = example.Apply(getCacheResult =\u003e getCacheResult.PrimaryAccessKey),\n        [\"hostname\"] = example.Apply(getCacheResult =\u003e getCacheResult.Hostname),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/redis\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := redis.LookupCache(ctx, \u0026redis.LookupCacheArgs{\n\t\t\tName:              \"myrediscache\",\n\t\t\tResourceGroupName: \"redis-cache\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"primaryAccessKey\", example.PrimaryAccessKey)\n\t\tctx.Export(\"hostname\", example.Hostname)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.redis.RedisFunctions;\nimport com.pulumi.azure.redis.inputs.GetCacheArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = RedisFunctions.getCache(GetCacheArgs.builder()\n            .name(\"myrediscache\")\n            .resourceGroupName(\"redis-cache\")\n            .build());\n\n        ctx.export(\"primaryAccessKey\", example.primaryAccessKey());\n        ctx.export(\"hostname\", example.hostname());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:redis:getCache\n      arguments:\n        name: myrediscache\n        resourceGroupName: redis-cache\noutputs:\n  primaryAccessKey: ${example.primaryAccessKey}\n  hostname: ${example.hostname}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.Cache` - 2024-11-01\n","inputs":{"description":"A collection of arguments for invoking getCache.\n","properties":{"name":{"type":"string","description":"The name of the Redis cache\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group the Redis cache instance is located in.\n"}},"type":"object","required":["name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getCache.\n","properties":{"accessKeysAuthenticationEnabled":{"description":"Specifies if access key authentication is enabled.\n","type":"boolean"},"capacity":{"description":"The size of the Redis Cache deployed.\n","type":"integer"},"family":{"description":"The SKU family/pricing group used. Possible values are `C` (for Basic/Standard SKU family) and `P` (for `Premium`)\n","type":"string"},"hostname":{"description":"The Hostname of the Redis Instance\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"location":{"description":"The location of the Redis Cache.\n","type":"string"},"minimumTlsVersion":{"description":"The minimum TLS version.\n","type":"string"},"name":{"type":"string"},"nonSslPortEnabled":{"type":"boolean"},"patchSchedules":{"description":"A list of \u003cspan pulumi-lang-nodejs=\"`patchSchedule`\" pulumi-lang-dotnet=\"`PatchSchedule`\" pulumi-lang-go=\"`patchSchedule`\" pulumi-lang-python=\"`patch_schedule`\" pulumi-lang-yaml=\"`patchSchedule`\" pulumi-lang-java=\"`patchSchedule`\"\u003e`patch_schedule`\u003c/span\u003e blocks as defined below.\n","items":{"$ref":"#/types/azure:redis/getCachePatchSchedule:getCachePatchSchedule"},"type":"array"},"port":{"description":"The non-SSL Port of the Redis Instance\n","type":"integer"},"primaryAccessKey":{"description":"The Primary Access Key for the Redis Instance\n","secret":true,"type":"string"},"primaryConnectionString":{"description":"The primary connection string of the Redis Instance.\n","secret":true,"type":"string"},"privateStaticIpAddress":{"description":"The Static IP Address assigned to the Redis Cache when hosted inside the Virtual Network.\n","type":"string"},"redisConfigurations":{"description":"A \u003cspan pulumi-lang-nodejs=\"`redisConfiguration`\" pulumi-lang-dotnet=\"`RedisConfiguration`\" pulumi-lang-go=\"`redisConfiguration`\" pulumi-lang-python=\"`redis_configuration`\" pulumi-lang-yaml=\"`redisConfiguration`\" pulumi-lang-java=\"`redisConfiguration`\"\u003e`redis_configuration`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:redis/getCacheRedisConfiguration:getCacheRedisConfiguration"},"type":"array"},"resourceGroupName":{"type":"string"},"secondaryAccessKey":{"description":"The Secondary Access Key for the Redis Instance\n","secret":true,"type":"string"},"secondaryConnectionString":{"description":"The secondary connection string of the Redis Instance.\n","secret":true,"type":"string"},"shardCount":{"type":"integer"},"skuName":{"description":"The SKU of Redis used. Possible values are `Basic`, `Standard` and `Premium`.\n","type":"string"},"sslPort":{"description":"The SSL Port of the Redis Instance\n","type":"integer"},"subnetId":{"type":"string"},"tags":{"additionalProperties":{"type":"string"},"type":"object"},"zones":{"description":"A list of Availability Zones in which this Redis Cache is located.\n","items":{"type":"string"},"type":"array"}},"required":["accessKeysAuthenticationEnabled","capacity","family","hostname","location","minimumTlsVersion","name","nonSslPortEnabled","patchSchedules","port","primaryAccessKey","primaryConnectionString","privateStaticIpAddress","redisConfigurations","resourceGroupName","secondaryAccessKey","secondaryConnectionString","shardCount","skuName","sslPort","subnetId","tags","zones","id"],"type":"object"}},"azure:redis/getEnterpriseDatabase:getEnterpriseDatabase":{"description":"Use this data source to access information about an existing Redis Enterprise Database\n\n\u003e **Note:** This data source has been deprecated in favor of azurerm_managed_redis.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:redis:getEnterpriseDatabase\n      arguments:\n        name: default\n        resourceGroupName: ${exampleAzurermResourceGroup.name}\n        clusterId: ${exampleAzurermRedisEnterpriseCluster.id}\noutputs:\n  redisEnterpriseDatabasePrimaryKey: ${example.primaryAccessKey}\n  redisEnterpriseDatabaseSecondaryKey: ${example.secondaryAccessKey}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.Cache` - 2024-10-01\n","inputs":{"description":"A collection of arguments for invoking getEnterpriseDatabase.\n","properties":{"clusterId":{"type":"string","description":"The resource ID of Redis Enterprise Cluster which hosts the Redis Enterprise Database instance.\n"},"name":{"type":"string","description":"The name of the Redis Enterprise Database.\n"}},"type":"object","required":["clusterId","name"]},"outputs":{"description":"A collection of values returned by getEnterpriseDatabase.\n","properties":{"clusterId":{"description":"The Redis Enterprise Cluster ID that is hosting the Redis Enterprise Database.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"linkedDatabaseGroupNickname":{"description":"The Linked Database Group Nickname for the Redis Enterprise Database instance.\n","type":"string"},"linkedDatabaseIds":{"description":"The Linked Database list for the Redis Enterprise Database instance.\n","items":{"type":"string"},"type":"array"},"name":{"description":"The Redis Enterprise Database name.\n","type":"string"},"primaryAccessKey":{"description":"The Primary Access Key for the Redis Enterprise Database instance.\n","secret":true,"type":"string"},"secondaryAccessKey":{"description":"The Secondary Access Key for the Redis Enterprise Database instance.\n","secret":true,"type":"string"}},"required":["clusterId","linkedDatabaseGroupNickname","linkedDatabaseIds","name","primaryAccessKey","secondaryAccessKey","id"],"type":"object"}},"azure:role/getRoleDefinition:getRoleDefinition":{"deprecationMessage":"azure.role.getRoleDefinition has been deprecated in favor of azure.authorization.getRoleDefinition","description":"Use this data source to access information about an existing Role Definition.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst primary = azure.core.getSubscription({});\nconst customRoleDefinition = new azure.authorization.RoleDefinition(\"custom\", {\n    roleDefinitionId: \"00000000-0000-0000-0000-000000000000\",\n    name: \"CustomRoleDef\",\n    scope: primary.then(primary =\u003e primary.id),\n});\nconst custom = pulumi.all([customRoleDefinition.roleDefinitionId, primary]).apply(([roleDefinitionId, primary]) =\u003e azure.authorization.getRoleDefinitionOutput({\n    roleDefinitionId: roleDefinitionId,\n    scope: primary.id,\n}));\nconst custom_byname = pulumi.all([customRoleDefinition.name, primary]).apply(([name, primary]) =\u003e azure.authorization.getRoleDefinitionOutput({\n    name: name,\n    scope: primary.id,\n}));\nconst builtin = azure.authorization.getRoleDefinition({\n    name: \"Contributor\",\n});\nexport const customRoleDefinitionId = custom.apply(custom =\u003e custom.id);\nexport const contributorRoleDefinitionId = builtin.then(builtin =\u003e builtin.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nprimary = azure.core.get_subscription()\ncustom_role_definition = azure.authorization.RoleDefinition(\"custom\",\n    role_definition_id=\"00000000-0000-0000-0000-000000000000\",\n    name=\"CustomRoleDef\",\n    scope=primary.id)\ncustom = custom_role_definition.role_definition_id.apply(lambda role_definition_id: azure.authorization.get_role_definition(role_definition_id=role_definition_id,\n    scope=primary.id))\ncustom_byname = custom_role_definition.name.apply(lambda name: azure.authorization.get_role_definition(name=name,\n    scope=primary.id))\nbuiltin = azure.authorization.get_role_definition(name=\"Contributor\")\npulumi.export(\"customRoleDefinitionId\", custom.id)\npulumi.export(\"contributorRoleDefinitionId\", builtin.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var primary = Azure.Core.GetSubscription.Invoke();\n\n    var customRoleDefinition = new Azure.Authorization.RoleDefinition(\"custom\", new()\n    {\n        RoleDefinitionId = \"00000000-0000-0000-0000-000000000000\",\n        Name = \"CustomRoleDef\",\n        Scope = primary.Apply(getSubscriptionResult =\u003e getSubscriptionResult.Id),\n    });\n\n    var custom = Azure.Authorization.GetRoleDefinition.Invoke(new()\n    {\n        RoleDefinitionId = customRoleDefinition.RoleDefinitionId,\n        Scope = primary.Apply(getSubscriptionResult =\u003e getSubscriptionResult.Id),\n    });\n\n    var custom_byname = Azure.Authorization.GetRoleDefinition.Invoke(new()\n    {\n        Name = customRoleDefinition.Name,\n        Scope = primary.Apply(getSubscriptionResult =\u003e getSubscriptionResult.Id),\n    });\n\n    var builtin = Azure.Authorization.GetRoleDefinition.Invoke(new()\n    {\n        Name = \"Contributor\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"customRoleDefinitionId\"] = custom.Apply(getRoleDefinitionResult =\u003e getRoleDefinitionResult.Id),\n        [\"contributorRoleDefinitionId\"] = builtin.Apply(getRoleDefinitionResult =\u003e getRoleDefinitionResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/authorization\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tprimary, err := core.LookupSubscription(ctx, \u0026core.LookupSubscriptionArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcustomRoleDefinition, err := authorization.NewRoleDefinition(ctx, \"custom\", \u0026authorization.RoleDefinitionArgs{\n\t\t\tRoleDefinitionId: pulumi.String(\"00000000-0000-0000-0000-000000000000\"),\n\t\t\tName:             pulumi.String(\"CustomRoleDef\"),\n\t\t\tScope:            pulumi.String(primary.Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcustom := customRoleDefinition.RoleDefinitionId.ApplyT(func(roleDefinitionId string) (authorization.GetRoleDefinitionResult, error) {\n\t\t\treturn authorization.GetRoleDefinitionResult(authorization.LookupRoleDefinition(ctx, \u0026authorization.LookupRoleDefinitionArgs{\n\t\t\t\tRoleDefinitionId: pulumi.StringRef(pulumi.StringRef(roleDefinitionId)),\n\t\t\t\tScope:            pulumi.StringRef(pulumi.StringRef(primary.Id)),\n\t\t\t}, nil)), nil\n\t\t}).(authorization.GetRoleDefinitionResultOutput)\n\t\t_ = customRoleDefinition.Name.ApplyT(func(name string) (authorization.GetRoleDefinitionResult, error) {\n\t\t\treturn authorization.GetRoleDefinitionResult(authorization.LookupRoleDefinition(ctx, \u0026authorization.LookupRoleDefinitionArgs{\n\t\t\t\tName:  pulumi.StringRef(pulumi.StringRef(name)),\n\t\t\t\tScope: pulumi.StringRef(pulumi.StringRef(primary.Id)),\n\t\t\t}, nil)), nil\n\t\t}).(authorization.GetRoleDefinitionResultOutput)\n\t\tbuiltin, err := authorization.LookupRoleDefinition(ctx, \u0026authorization.LookupRoleDefinitionArgs{\n\t\t\tName: pulumi.StringRef(\"Contributor\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"customRoleDefinitionId\", custom.Id)\n\t\tctx.Export(\"contributorRoleDefinitionId\", builtin.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.core.inputs.GetSubscriptionArgs;\nimport com.pulumi.azure.authorization.RoleDefinition;\nimport com.pulumi.azure.authorization.RoleDefinitionArgs;\nimport com.pulumi.azure.authorization.AuthorizationFunctions;\nimport com.pulumi.azure.authorization.inputs.GetRoleDefinitionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var primary = CoreFunctions.getSubscription(GetSubscriptionArgs.builder()\n            .build());\n\n        var customRoleDefinition = new RoleDefinition(\"customRoleDefinition\", RoleDefinitionArgs.builder()\n            .roleDefinitionId(\"00000000-0000-0000-0000-000000000000\")\n            .name(\"CustomRoleDef\")\n            .scope(primary.id())\n            .build());\n\n        final var custom = customRoleDefinition.roleDefinitionId().applyValue(_roleDefinitionId -\u003e AuthorizationFunctions.getRoleDefinition(GetRoleDefinitionArgs.builder()\n            .roleDefinitionId(_roleDefinitionId)\n            .scope(primary.id())\n            .build()));\n\n        final var custom-byname = customRoleDefinition.name().applyValue(_name -\u003e AuthorizationFunctions.getRoleDefinition(GetRoleDefinitionArgs.builder()\n            .name(_name)\n            .scope(primary.id())\n            .build()));\n\n        final var builtin = AuthorizationFunctions.getRoleDefinition(GetRoleDefinitionArgs.builder()\n            .name(\"Contributor\")\n            .build());\n\n        ctx.export(\"customRoleDefinitionId\", custom.id());\n        ctx.export(\"contributorRoleDefinitionId\", builtin.id());\n    }\n}\n```\n```yaml\nresources:\n  customRoleDefinition:\n    type: azure:authorization:RoleDefinition\n    name: custom\n    properties:\n      roleDefinitionId: 00000000-0000-0000-0000-000000000000\n      name: CustomRoleDef\n      scope: ${primary.id}\nvariables:\n  primary:\n    fn::invoke:\n      function: azure:core:getSubscription\n      arguments: {}\n  custom:\n    fn::invoke:\n      function: azure:authorization:getRoleDefinition\n      arguments:\n        roleDefinitionId: ${customRoleDefinition.roleDefinitionId}\n        scope: ${primary.id}\n  custom-byname:\n    fn::invoke:\n      function: azure:authorization:getRoleDefinition\n      arguments:\n        name: ${customRoleDefinition.name}\n        scope: ${primary.id}\n  builtin:\n    fn::invoke:\n      function: azure:authorization:getRoleDefinition\n      arguments:\n        name: Contributor\noutputs:\n  customRoleDefinitionId: ${custom.id}\n  contributorRoleDefinitionId: ${builtin.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.Authorization` - 2022-05-01-preview\n","inputs":{"description":"A collection of arguments for invoking getRoleDefinition.\n","properties":{"name":{"type":"string","description":"Specifies the Name of either a built-in or custom Role Definition.\n\n\u003e **Note:** You can also use this for built-in roles such as `Contributor`, `Owner`, `Reader` and `Virtual Machine Contributor`\n"},"roleDefinitionId":{"type":"string","description":"Specifies the ID of the Role Definition as a UUID/GUID.\n"},"scope":{"type":"string","description":"Specifies the Scope at which the Custom Role Definition exists.\n\n\u003e **Note:** One of \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`roleDefinitionId`\" pulumi-lang-dotnet=\"`RoleDefinitionId`\" pulumi-lang-go=\"`roleDefinitionId`\" pulumi-lang-python=\"`role_definition_id`\" pulumi-lang-yaml=\"`roleDefinitionId`\" pulumi-lang-java=\"`roleDefinitionId`\"\u003e`role_definition_id`\u003c/span\u003e must be specified.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getRoleDefinition.\n","properties":{"assignableScopes":{"description":"One or more assignable scopes for this Role Definition, such as `/subscriptions/0b1f6471-1bf0-4dda-aec3-111122223333`, `/subscriptions/0b1f6471-1bf0-4dda-aec3-111122223333/resourceGroups/myGroup`, or `/subscriptions/0b1f6471-1bf0-4dda-aec3-111122223333/resourceGroups/myGroup/providers/Microsoft.Compute/virtualMachines/myVM`.\n","items":{"type":"string"},"type":"array"},"description":{"description":"The Description of the built-in Role.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"name":{"type":"string"},"permissions":{"description":"A \u003cspan pulumi-lang-nodejs=\"`permissions`\" pulumi-lang-dotnet=\"`Permissions`\" pulumi-lang-go=\"`permissions`\" pulumi-lang-python=\"`permissions`\" pulumi-lang-yaml=\"`permissions`\" pulumi-lang-java=\"`permissions`\"\u003e`permissions`\u003c/span\u003e block as documented below.\n","items":{"$ref":"#/types/azure:role/getRoleDefinitionPermission:getRoleDefinitionPermission"},"type":"array"},"roleDefinitionId":{"type":"string"},"scope":{"type":"string"},"type":{"description":"The Type of the Role.\n","type":"string"}},"required":["assignableScopes","description","name","permissions","roleDefinitionId","type","id"],"type":"object"}},"azure:search/getService:getService":{"description":"Manages a Search Service.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst example = azure.search.getServiceOutput({\n    name: \"example-search-service\",\n    resourceGroupName: exampleResourceGroup.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample = azure.search.get_service_output(name=\"example-search-service\",\n    resource_group_name=example_resource_group.name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleResourceGroup = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var example = Azure.Search.GetService.Invoke(new()\n    {\n        Name = \"example-search-service\",\n        ResourceGroupName = exampleResourceGroup.Name,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/search\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_ = search.LookupServiceOutput(ctx, search.GetServiceOutputArgs{\n\t\t\tName:              pulumi.String(\"example-search-service\"),\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t}, nil)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.search.SearchFunctions;\nimport com.pulumi.azure.search.inputs.GetServiceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var exampleResourceGroup = new ResourceGroup(\"exampleResourceGroup\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        final var example = SearchFunctions.getService(GetServiceArgs.builder()\n            .name(\"example-search-service\")\n            .resourceGroupName(exampleResourceGroup.name())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleResourceGroup:\n    type: azure:core:ResourceGroup\n    name: example\n    properties:\n      name: example-resources\n      location: West Europe\nvariables:\n  example:\n    fn::invoke:\n      function: azure:search:getService\n      arguments:\n        name: example-search-service\n        resourceGroupName: ${exampleResourceGroup.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.Search` - 2025-05-01\n","inputs":{"description":"A collection of arguments for invoking getService.\n","properties":{"name":{"type":"string","description":"The Name of the Search Service.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Search Service exists.\n"}},"type":"object","required":["name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getService.\n","properties":{"customerManagedKeyEncryptionComplianceStatus":{"description":"Describes whether the search service is compliant or not with respect to having non-customer encrypted resources. If a service has more than one non-customer encrypted resource and `Enforcement` is \u003cspan pulumi-lang-nodejs=\"`enabled`\" pulumi-lang-dotnet=\"`Enabled`\" pulumi-lang-go=\"`enabled`\" pulumi-lang-python=\"`enabled`\" pulumi-lang-yaml=\"`enabled`\" pulumi-lang-java=\"`enabled`\"\u003e`enabled`\u003c/span\u003e then the service will be marked as `NonCompliant`. If all the resources are customer encrypted, then the service will be marked as `Compliant`.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"identities":{"description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:search/getServiceIdentity:getServiceIdentity"},"type":"array"},"name":{"description":"The name of this Query Key.\n","type":"string"},"partitionCount":{"description":"The number of partitions which have been created.\n","type":"integer"},"primaryKey":{"description":"The Primary Key used for Search Service Administration.\n","secret":true,"type":"string"},"publicNetworkAccessEnabled":{"description":"Whether or not public network access is enabled for this resource.\n","type":"boolean"},"queryKeys":{"description":"A \u003cspan pulumi-lang-nodejs=\"`queryKeys`\" pulumi-lang-dotnet=\"`QueryKeys`\" pulumi-lang-go=\"`queryKeys`\" pulumi-lang-python=\"`query_keys`\" pulumi-lang-yaml=\"`queryKeys`\" pulumi-lang-java=\"`queryKeys`\"\u003e`query_keys`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:search/getServiceQueryKey:getServiceQueryKey"},"type":"array"},"replicaCount":{"description":"The number of replica's which have been created.\n","type":"integer"},"resourceGroupName":{"type":"string"},"secondaryKey":{"description":"The Secondary Key used for Search Service Administration.\n","secret":true,"type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"A mapping of tags assigned to the resource.\n","type":"object"}},"required":["customerManagedKeyEncryptionComplianceStatus","identities","name","partitionCount","primaryKey","publicNetworkAccessEnabled","queryKeys","replicaCount","resourceGroupName","secondaryKey","tags","id"],"type":"object"}},"azure:sentinel/getAlertRule:getAlertRule":{"description":"Use this data source to access information about an existing Sentinel Alert Rule.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.operationalinsights.getAnalyticsWorkspace({\n    name: \"example\",\n    resourceGroupName: \"example-resources\",\n});\nconst exampleGetAlertRule = example.then(example =\u003e azure.sentinel.getAlertRule({\n    name: \"existing\",\n    logAnalyticsWorkspaceId: example.id,\n}));\nexport const id = exampleGetAlertRule.then(exampleGetAlertRule =\u003e exampleGetAlertRule.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.operationalinsights.get_analytics_workspace(name=\"example\",\n    resource_group_name=\"example-resources\")\nexample_get_alert_rule = azure.sentinel.get_alert_rule(name=\"existing\",\n    log_analytics_workspace_id=example.id)\npulumi.export(\"id\", example_get_alert_rule.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.OperationalInsights.GetAnalyticsWorkspace.Invoke(new()\n    {\n        Name = \"example\",\n        ResourceGroupName = \"example-resources\",\n    });\n\n    var exampleGetAlertRule = Azure.Sentinel.GetAlertRule.Invoke(new()\n    {\n        Name = \"existing\",\n        LogAnalyticsWorkspaceId = example.Apply(getAnalyticsWorkspaceResult =\u003e getAnalyticsWorkspaceResult.Id),\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"id\"] = exampleGetAlertRule.Apply(getAlertRuleResult =\u003e getAlertRuleResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/operationalinsights\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/sentinel\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := operationalinsights.LookupAnalyticsWorkspace(ctx, \u0026operationalinsights.LookupAnalyticsWorkspaceArgs{\n\t\t\tName:              \"example\",\n\t\t\tResourceGroupName: \"example-resources\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleGetAlertRule, err := sentinel.GetAlertRule(ctx, \u0026sentinel.GetAlertRuleArgs{\n\t\t\tName:                    \"existing\",\n\t\t\tLogAnalyticsWorkspaceId: example.Id,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"id\", exampleGetAlertRule.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.operationalinsights.OperationalinsightsFunctions;\nimport com.pulumi.azure.operationalinsights.inputs.GetAnalyticsWorkspaceArgs;\nimport com.pulumi.azure.sentinel.SentinelFunctions;\nimport com.pulumi.azure.sentinel.inputs.GetAlertRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = OperationalinsightsFunctions.getAnalyticsWorkspace(GetAnalyticsWorkspaceArgs.builder()\n            .name(\"example\")\n            .resourceGroupName(\"example-resources\")\n            .build());\n\n        final var exampleGetAlertRule = SentinelFunctions.getAlertRule(GetAlertRuleArgs.builder()\n            .name(\"existing\")\n            .logAnalyticsWorkspaceId(example.id())\n            .build());\n\n        ctx.export(\"id\", exampleGetAlertRule.id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:operationalinsights:getAnalyticsWorkspace\n      arguments:\n        name: example\n        resourceGroupName: example-resources\n  exampleGetAlertRule:\n    fn::invoke:\n      function: azure:sentinel:getAlertRule\n      arguments:\n        name: existing\n        logAnalyticsWorkspaceId: ${example.id}\noutputs:\n  id: ${exampleGetAlertRule.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.OperationalInsights` - 2023-12-01-preview\n","inputs":{"description":"A collection of arguments for invoking getAlertRule.\n","properties":{"logAnalyticsWorkspaceId":{"type":"string","description":"The ID of the Log Analytics Workspace this Sentinel Alert Rule belongs to.\n"},"name":{"type":"string","description":"The name which should be used for this Sentinel Alert Rule.\n"}},"type":"object","required":["logAnalyticsWorkspaceId","name"]},"outputs":{"description":"A collection of values returned by getAlertRule.\n","properties":{"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"logAnalyticsWorkspaceId":{"type":"string"},"name":{"type":"string"}},"required":["logAnalyticsWorkspaceId","name","id"],"type":"object"}},"azure:sentinel/getAlertRuleAnomaly:getAlertRuleAnomaly":{"description":"Use this data source to access information about an existing Anomaly Alert Rule.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"example\", {\n    name: \"example-resources\",\n    location: \"West Europe\",\n});\nconst exampleAnalyticsWorkspace = new azure.operationalinsights.AnalyticsWorkspace(\"example\", {\n    name: \"example-law\",\n    location: exampleResourceGroup.location,\n    resourceGroupName: exampleResourceGroup.name,\n    sku: \"PerGB2018\",\n});\nconst exampleLogAnalyticsWorkspaceOnboarding = new azure.sentinel.LogAnalyticsWorkspaceOnboarding(\"example\", {\n    workspaceId: exampleAnalyticsWorkspace.id,\n    customerManagedKeyEnabled: false,\n});\nconst example = azure.sentinel.getAlertRuleAnomalyOutput({\n    logAnalyticsWorkspaceId: exampleLogAnalyticsWorkspaceOnboarding.workspaceId,\n    displayName: \"Potential data staging\",\n});\nexport const id = example.apply(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"example\",\n    name=\"example-resources\",\n    location=\"West Europe\")\nexample_analytics_workspace = azure.operationalinsights.AnalyticsWorkspace(\"example\",\n    name=\"example-law\",\n    location=example_resource_group.location,\n    resource_group_name=example_resource_group.name,\n    sku=\"PerGB2018\")\nexample_log_analytics_workspace_onboarding = azure.sentinel.LogAnalyticsWorkspaceOnboarding(\"example\",\n    workspace_id=example_analytics_workspace.id,\n    customer_managed_key_enabled=False)\nexample = azure.sentinel.get_alert_rule_anomaly_output(log_analytics_workspace_id=example_log_analytics_workspace_onboarding.workspace_id,\n    display_name=\"Potential data staging\")\npulumi.export(\"id\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleResourceGroup = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"example-resources\",\n        Location = \"West Europe\",\n    });\n\n    var exampleAnalyticsWorkspace = new Azure.OperationalInsights.AnalyticsWorkspace(\"example\", new()\n    {\n        Name = \"example-law\",\n        Location = exampleResourceGroup.Location,\n        ResourceGroupName = exampleResourceGroup.Name,\n        Sku = \"PerGB2018\",\n    });\n\n    var exampleLogAnalyticsWorkspaceOnboarding = new Azure.Sentinel.LogAnalyticsWorkspaceOnboarding(\"example\", new()\n    {\n        WorkspaceId = exampleAnalyticsWorkspace.Id,\n        CustomerManagedKeyEnabled = false,\n    });\n\n    var example = Azure.Sentinel.GetAlertRuleAnomaly.Invoke(new()\n    {\n        LogAnalyticsWorkspaceId = exampleLogAnalyticsWorkspaceOnboarding.WorkspaceId,\n        DisplayName = \"Potential data staging\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"id\"] = example.Apply(getAlertRuleAnomalyResult =\u003e getAlertRuleAnomalyResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/operationalinsights\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/sentinel\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAnalyticsWorkspace, err := operationalinsights.NewAnalyticsWorkspace(ctx, \"example\", \u0026operationalinsights.AnalyticsWorkspaceArgs{\n\t\t\tName:              pulumi.String(\"example-law\"),\n\t\t\tLocation:          exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tSku:               pulumi.String(\"PerGB2018\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleLogAnalyticsWorkspaceOnboarding, err := sentinel.NewLogAnalyticsWorkspaceOnboarding(ctx, \"example\", \u0026sentinel.LogAnalyticsWorkspaceOnboardingArgs{\n\t\t\tWorkspaceId:               exampleAnalyticsWorkspace.ID(),\n\t\t\tCustomerManagedKeyEnabled: pulumi.Bool(false),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample := sentinel.GetAlertRuleAnomalyOutput(ctx, sentinel.GetAlertRuleAnomalyOutputArgs{\n\t\t\tLogAnalyticsWorkspaceId: exampleLogAnalyticsWorkspaceOnboarding.WorkspaceId,\n\t\t\tDisplayName:             pulumi.String(\"Potential data staging\"),\n\t\t}, nil)\n\t\tctx.Export(\"id\", example.ApplyT(func(example sentinel.GetAlertRuleAnomalyResult) (*string, error) {\n\t\t\treturn \u0026example.Id, nil\n\t\t}).(pulumi.StringPtrOutput))\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.operationalinsights.AnalyticsWorkspace;\nimport com.pulumi.azure.operationalinsights.AnalyticsWorkspaceArgs;\nimport com.pulumi.azure.sentinel.LogAnalyticsWorkspaceOnboarding;\nimport com.pulumi.azure.sentinel.LogAnalyticsWorkspaceOnboardingArgs;\nimport com.pulumi.azure.sentinel.SentinelFunctions;\nimport com.pulumi.azure.sentinel.inputs.GetAlertRuleAnomalyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var exampleResourceGroup = new ResourceGroup(\"exampleResourceGroup\", ResourceGroupArgs.builder()\n            .name(\"example-resources\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleAnalyticsWorkspace = new AnalyticsWorkspace(\"exampleAnalyticsWorkspace\", AnalyticsWorkspaceArgs.builder()\n            .name(\"example-law\")\n            .location(exampleResourceGroup.location())\n            .resourceGroupName(exampleResourceGroup.name())\n            .sku(\"PerGB2018\")\n            .build());\n\n        var exampleLogAnalyticsWorkspaceOnboarding = new LogAnalyticsWorkspaceOnboarding(\"exampleLogAnalyticsWorkspaceOnboarding\", LogAnalyticsWorkspaceOnboardingArgs.builder()\n            .workspaceId(exampleAnalyticsWorkspace.id())\n            .customerManagedKeyEnabled(false)\n            .build());\n\n        final var example = SentinelFunctions.getAlertRuleAnomaly(GetAlertRuleAnomalyArgs.builder()\n            .logAnalyticsWorkspaceId(exampleLogAnalyticsWorkspaceOnboarding.workspaceId())\n            .displayName(\"Potential data staging\")\n            .build());\n\n        ctx.export(\"id\", example.applyValue(_example -\u003e _example.id()));\n    }\n}\n```\n```yaml\nresources:\n  exampleResourceGroup:\n    type: azure:core:ResourceGroup\n    name: example\n    properties:\n      name: example-resources\n      location: West Europe\n  exampleAnalyticsWorkspace:\n    type: azure:operationalinsights:AnalyticsWorkspace\n    name: example\n    properties:\n      name: example-law\n      location: ${exampleResourceGroup.location}\n      resourceGroupName: ${exampleResourceGroup.name}\n      sku: PerGB2018\n  exampleLogAnalyticsWorkspaceOnboarding:\n    type: azure:sentinel:LogAnalyticsWorkspaceOnboarding\n    name: example\n    properties:\n      workspaceId: ${exampleAnalyticsWorkspace.id}\n      customerManagedKeyEnabled: false\nvariables:\n  example:\n    fn::invoke:\n      function: azure:sentinel:getAlertRuleAnomaly\n      arguments:\n        logAnalyticsWorkspaceId: ${exampleLogAnalyticsWorkspaceOnboarding.workspaceId}\n        displayName: Potential data staging\noutputs:\n  id: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getAlertRuleAnomaly.\n","properties":{"displayName":{"type":"string","description":"The display name of this Sentinel Alert Rule Template. Either \u003cspan pulumi-lang-nodejs=\"`displayName`\" pulumi-lang-dotnet=\"`DisplayName`\" pulumi-lang-go=\"`displayName`\" pulumi-lang-python=\"`display_name`\" pulumi-lang-yaml=\"`displayName`\" pulumi-lang-java=\"`displayName`\"\u003e`display_name`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e have to be specified.\n\n\u003e **Note:** One of \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`displayName`\" pulumi-lang-dotnet=\"`DisplayName`\" pulumi-lang-go=\"`displayName`\" pulumi-lang-python=\"`display_name`\" pulumi-lang-yaml=\"`displayName`\" pulumi-lang-java=\"`displayName`\"\u003e`display_name`\u003c/span\u003e must be specified.\n"},"logAnalyticsWorkspaceId":{"type":"string","description":"The ID of the Log Analytics Workspace.\n"},"name":{"type":"string","description":"The guid of this Sentinel Alert Rule Template. Either \u003cspan pulumi-lang-nodejs=\"`displayName`\" pulumi-lang-dotnet=\"`DisplayName`\" pulumi-lang-go=\"`displayName`\" pulumi-lang-python=\"`display_name`\" pulumi-lang-yaml=\"`displayName`\" pulumi-lang-java=\"`displayName`\"\u003e`display_name`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e have to be specified.\n"}},"type":"object","required":["logAnalyticsWorkspaceId"]},"outputs":{"description":"A collection of values returned by getAlertRuleAnomaly.\n","properties":{"anomalySettingsVersion":{"description":"The version of the Anomaly Security ML Analytics Settings.\n","type":"integer"},"anomalyVersion":{"description":"The anomaly version of the Anomaly Alert Rule.\n","type":"string"},"description":{"description":"The description of the threshold observation.\n","type":"string"},"displayName":{"type":"string"},"enabled":{"description":"Is the Anomaly Alert Rule enabled?\n","type":"boolean"},"frequency":{"description":"The frequency the Anomaly Alert Rule will be run.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"logAnalyticsWorkspaceId":{"type":"string"},"mode":{"type":"string"},"multiSelectObservations":{"description":"A list of \u003cspan pulumi-lang-nodejs=\"`multiSelectObservation`\" pulumi-lang-dotnet=\"`MultiSelectObservation`\" pulumi-lang-go=\"`multiSelectObservation`\" pulumi-lang-python=\"`multi_select_observation`\" pulumi-lang-yaml=\"`multiSelectObservation`\" pulumi-lang-java=\"`multiSelectObservation`\"\u003e`multi_select_observation`\u003c/span\u003e blocks as defined below.\n","items":{"$ref":"#/types/azure:sentinel/getAlertRuleAnomalyMultiSelectObservation:getAlertRuleAnomalyMultiSelectObservation"},"type":"array"},"name":{"description":"The name of the threshold observation.\n","type":"string"},"prioritizedExcludeObservations":{"description":"A list of \u003cspan pulumi-lang-nodejs=\"`prioritizedExcludeObservation`\" pulumi-lang-dotnet=\"`PrioritizedExcludeObservation`\" pulumi-lang-go=\"`prioritizedExcludeObservation`\" pulumi-lang-python=\"`prioritized_exclude_observation`\" pulumi-lang-yaml=\"`prioritizedExcludeObservation`\" pulumi-lang-java=\"`prioritizedExcludeObservation`\"\u003e`prioritized_exclude_observation`\u003c/span\u003e blocks as defined below.\n","items":{"$ref":"#/types/azure:sentinel/getAlertRuleAnomalyPrioritizedExcludeObservation:getAlertRuleAnomalyPrioritizedExcludeObservation"},"type":"array"},"requiredDataConnectors":{"description":"A \u003cspan pulumi-lang-nodejs=\"`requiredDataConnector`\" pulumi-lang-dotnet=\"`RequiredDataConnector`\" pulumi-lang-go=\"`requiredDataConnector`\" pulumi-lang-python=\"`required_data_connector`\" pulumi-lang-yaml=\"`requiredDataConnector`\" pulumi-lang-java=\"`requiredDataConnector`\"\u003e`required_data_connector`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:sentinel/getAlertRuleAnomalyRequiredDataConnector:getAlertRuleAnomalyRequiredDataConnector"},"type":"array"},"settingsDefinitionId":{"description":"The ID of the anomaly settings definition Id.\n","type":"string"},"singleSelectObservations":{"description":"A list of \u003cspan pulumi-lang-nodejs=\"`singleSelectObservation`\" pulumi-lang-dotnet=\"`SingleSelectObservation`\" pulumi-lang-go=\"`singleSelectObservation`\" pulumi-lang-python=\"`single_select_observation`\" pulumi-lang-yaml=\"`singleSelectObservation`\" pulumi-lang-java=\"`singleSelectObservation`\"\u003e`single_select_observation`\u003c/span\u003e blocks as defined below.\n","items":{"$ref":"#/types/azure:sentinel/getAlertRuleAnomalySingleSelectObservation:getAlertRuleAnomalySingleSelectObservation"},"type":"array"},"tactics":{"description":"A list of categories of attacks by which to classify the rule.\n","items":{"type":"string"},"type":"array"},"techniques":{"description":"A list of techniques of attacks by which to classify the rule.\n","items":{"type":"string"},"type":"array"},"thresholdObservations":{"description":"A list of \u003cspan pulumi-lang-nodejs=\"`thresholdObservation`\" pulumi-lang-dotnet=\"`ThresholdObservation`\" pulumi-lang-go=\"`thresholdObservation`\" pulumi-lang-python=\"`threshold_observation`\" pulumi-lang-yaml=\"`thresholdObservation`\" pulumi-lang-java=\"`thresholdObservation`\"\u003e`threshold_observation`\u003c/span\u003e blocks as defined below.\n","items":{"$ref":"#/types/azure:sentinel/getAlertRuleAnomalyThresholdObservation:getAlertRuleAnomalyThresholdObservation"},"type":"array"}},"required":["anomalySettingsVersion","anomalyVersion","description","displayName","enabled","frequency","logAnalyticsWorkspaceId","mode","multiSelectObservations","name","prioritizedExcludeObservations","requiredDataConnectors","settingsDefinitionId","singleSelectObservations","tactics","techniques","thresholdObservations","id"],"type":"object"}},"azure:sentinel/getAlertRuleTemplate:getAlertRuleTemplate":{"description":"Use this data source to access information about an existing Sentinel Alert Rule Template.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.sentinel.getAlertRuleTemplate({\n    logAnalyticsWorkspaceId: \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.OperationalInsights/workspaces/workspace1\",\n    displayName: \"Create incidents based on Azure Security Center for IoT alerts\",\n});\nexport const id = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.sentinel.get_alert_rule_template(log_analytics_workspace_id=\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.OperationalInsights/workspaces/workspace1\",\n    display_name=\"Create incidents based on Azure Security Center for IoT alerts\")\npulumi.export(\"id\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Sentinel.GetAlertRuleTemplate.Invoke(new()\n    {\n        LogAnalyticsWorkspaceId = \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.OperationalInsights/workspaces/workspace1\",\n        DisplayName = \"Create incidents based on Azure Security Center for IoT alerts\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"id\"] = example.Apply(getAlertRuleTemplateResult =\u003e getAlertRuleTemplateResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/sentinel\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := sentinel.GetAlertRuleTemplate(ctx, \u0026sentinel.GetAlertRuleTemplateArgs{\n\t\t\tLogAnalyticsWorkspaceId: \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.OperationalInsights/workspaces/workspace1\",\n\t\t\tDisplayName:             pulumi.StringRef(\"Create incidents based on Azure Security Center for IoT alerts\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"id\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.sentinel.SentinelFunctions;\nimport com.pulumi.azure.sentinel.inputs.GetAlertRuleTemplateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = SentinelFunctions.getAlertRuleTemplate(GetAlertRuleTemplateArgs.builder()\n            .logAnalyticsWorkspaceId(\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.OperationalInsights/workspaces/workspace1\")\n            .displayName(\"Create incidents based on Azure Security Center for IoT alerts\")\n            .build());\n\n        ctx.export(\"id\", example.id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:sentinel:getAlertRuleTemplate\n      arguments:\n        logAnalyticsWorkspaceId: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.OperationalInsights/workspaces/workspace1\n        displayName: Create incidents based on Azure Security Center for IoT alerts\noutputs:\n  id: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getAlertRuleTemplate.\n","properties":{"displayName":{"type":"string","description":"The display name of this Sentinel Alert Rule Template. Either \u003cspan pulumi-lang-nodejs=\"`displayName`\" pulumi-lang-dotnet=\"`DisplayName`\" pulumi-lang-go=\"`displayName`\" pulumi-lang-python=\"`display_name`\" pulumi-lang-yaml=\"`displayName`\" pulumi-lang-java=\"`displayName`\"\u003e`display_name`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e have to be specified.\n\n\u003e **Note:** As \u003cspan pulumi-lang-nodejs=\"`displayName`\" pulumi-lang-dotnet=\"`DisplayName`\" pulumi-lang-go=\"`displayName`\" pulumi-lang-python=\"`display_name`\" pulumi-lang-yaml=\"`displayName`\" pulumi-lang-java=\"`displayName`\"\u003e`display_name`\u003c/span\u003e is not unique, errors may occur when there are multiple Sentinel Alert Rule Template with same \u003cspan pulumi-lang-nodejs=\"`displayName`\" pulumi-lang-dotnet=\"`DisplayName`\" pulumi-lang-go=\"`displayName`\" pulumi-lang-python=\"`display_name`\" pulumi-lang-yaml=\"`displayName`\" pulumi-lang-java=\"`displayName`\"\u003e`display_name`\u003c/span\u003e.\n"},"logAnalyticsWorkspaceId":{"type":"string","description":"The ID of the Log Analytics Workspace.\n"},"name":{"type":"string","description":"The name of this Sentinel Alert Rule Template. Either \u003cspan pulumi-lang-nodejs=\"`displayName`\" pulumi-lang-dotnet=\"`DisplayName`\" pulumi-lang-go=\"`displayName`\" pulumi-lang-python=\"`display_name`\" pulumi-lang-yaml=\"`displayName`\" pulumi-lang-java=\"`displayName`\"\u003e`display_name`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e have to be specified.\n"}},"type":"object","required":["logAnalyticsWorkspaceId"]},"outputs":{"description":"A collection of values returned by getAlertRuleTemplate.\n","properties":{"displayName":{"type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"logAnalyticsWorkspaceId":{"type":"string"},"name":{"type":"string"},"nrtTemplates":{"description":"A \u003cspan pulumi-lang-nodejs=\"`nrtTemplate`\" pulumi-lang-dotnet=\"`NrtTemplate`\" pulumi-lang-go=\"`nrtTemplate`\" pulumi-lang-python=\"`nrt_template`\" pulumi-lang-yaml=\"`nrtTemplate`\" pulumi-lang-java=\"`nrtTemplate`\"\u003e`nrt_template`\u003c/span\u003e block as defined below. This only applies to Sentinel NRT Alert Rule Template.\n","items":{"$ref":"#/types/azure:sentinel/getAlertRuleTemplateNrtTemplate:getAlertRuleTemplateNrtTemplate"},"type":"array"},"scheduledTemplates":{"description":"A \u003cspan pulumi-lang-nodejs=\"`scheduledTemplate`\" pulumi-lang-dotnet=\"`ScheduledTemplate`\" pulumi-lang-go=\"`scheduledTemplate`\" pulumi-lang-python=\"`scheduled_template`\" pulumi-lang-yaml=\"`scheduledTemplate`\" pulumi-lang-java=\"`scheduledTemplate`\"\u003e`scheduled_template`\u003c/span\u003e block as defined below. This only applies to Sentinel Scheduled Alert Rule Template.\n","items":{"$ref":"#/types/azure:sentinel/getAlertRuleTemplateScheduledTemplate:getAlertRuleTemplateScheduledTemplate"},"type":"array"},"securityIncidentTemplates":{"description":"A \u003cspan pulumi-lang-nodejs=\"`securityIncidentTemplate`\" pulumi-lang-dotnet=\"`SecurityIncidentTemplate`\" pulumi-lang-go=\"`securityIncidentTemplate`\" pulumi-lang-python=\"`security_incident_template`\" pulumi-lang-yaml=\"`securityIncidentTemplate`\" pulumi-lang-java=\"`securityIncidentTemplate`\"\u003e`security_incident_template`\u003c/span\u003e block as defined below. This only applies to Sentinel MS Security Incident Alert Rule Template.\n","items":{"$ref":"#/types/azure:sentinel/getAlertRuleTemplateSecurityIncidentTemplate:getAlertRuleTemplateSecurityIncidentTemplate"},"type":"array"}},"required":["displayName","logAnalyticsWorkspaceId","name","nrtTemplates","scheduledTemplates","securityIncidentTemplates","id"],"type":"object"}},"azure:servicebus/getNamespace:getNamespace":{"description":"Use this data source to access information about an existing ServiceBus Namespace.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.servicebus.getNamespace({\n    name: \"examplenamespace\",\n    resourceGroupName: \"example-resources\",\n});\nexport const location = example.then(example =\u003e example.location);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.servicebus.get_namespace(name=\"examplenamespace\",\n    resource_group_name=\"example-resources\")\npulumi.export(\"location\", example.location)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.ServiceBus.GetNamespace.Invoke(new()\n    {\n        Name = \"examplenamespace\",\n        ResourceGroupName = \"example-resources\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"location\"] = example.Apply(getNamespaceResult =\u003e getNamespaceResult.Location),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/servicebus\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := servicebus.LookupNamespace(ctx, \u0026servicebus.LookupNamespaceArgs{\n\t\t\tName:              \"examplenamespace\",\n\t\t\tResourceGroupName: \"example-resources\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"location\", example.Location)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.servicebus.ServicebusFunctions;\nimport com.pulumi.azure.servicebus.inputs.GetNamespaceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = ServicebusFunctions.getNamespace(GetNamespaceArgs.builder()\n            .name(\"examplenamespace\")\n            .resourceGroupName(\"example-resources\")\n            .build());\n\n        ctx.export(\"location\", example.location());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:servicebus:getNamespace\n      arguments:\n        name: examplenamespace\n        resourceGroupName: example-resources\noutputs:\n  location: ${example.location}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.ServiceBus` - 2024-01-01\n","inputs":{"description":"A collection of arguments for invoking getNamespace.\n","properties":{"name":{"type":"string","description":"Specifies the name of the ServiceBus Namespace.\n"},"resourceGroupName":{"type":"string","description":"Specifies the name of the Resource Group where the ServiceBus Namespace exists.\n"}},"type":"object","required":["name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getNamespace.\n","properties":{"capacity":{"description":"The capacity of the ServiceBus Namespace.\n","type":"integer"},"defaultPrimaryConnectionString":{"description":"The primary connection string for the authorization\nrule `RootManageSharedAccessKey`.\n","secret":true,"type":"string"},"defaultPrimaryKey":{"description":"The primary access key for the authorization rule `RootManageSharedAccessKey`.\n","secret":true,"type":"string"},"defaultSecondaryConnectionString":{"description":"The secondary connection string for the\nauthorization rule `RootManageSharedAccessKey`.\n","secret":true,"type":"string"},"defaultSecondaryKey":{"description":"The secondary access key for the authorization rule `RootManageSharedAccessKey`.\n","secret":true,"type":"string"},"endpoint":{"description":"The URL to access the ServiceBus Namespace.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"location":{"description":"The location of the Resource Group in which the ServiceBus Namespace exists.\n","type":"string"},"name":{"type":"string"},"premiumMessagingPartitions":{"description":"The messaging partitions of the ServiceBus Namespace.\n","type":"integer"},"resourceGroupName":{"type":"string"},"sku":{"description":"The Tier used for the ServiceBus Namespace.\n","type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"A mapping of tags assigned to the resource.\n","type":"object"}},"required":["capacity","defaultPrimaryConnectionString","defaultPrimaryKey","defaultSecondaryConnectionString","defaultSecondaryKey","endpoint","location","name","premiumMessagingPartitions","resourceGroupName","sku","tags","id"],"type":"object"}},"azure:servicebus/getNamespaceAuthorizationRule:getNamespaceAuthorizationRule":{"description":"Use this data source to access information about an existing ServiceBus Namespace Authorization Rule.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.servicebus.getNamespaceAuthorizationRule({\n    name: \"examplerule\",\n    namespaceId: \"examplenamespace\",\n});\nexport const ruleId = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.servicebus.get_namespace_authorization_rule(name=\"examplerule\",\n    namespace_id=\"examplenamespace\")\npulumi.export(\"ruleId\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.ServiceBus.GetNamespaceAuthorizationRule.Invoke(new()\n    {\n        Name = \"examplerule\",\n        NamespaceId = \"examplenamespace\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"ruleId\"] = example.Apply(getNamespaceAuthorizationRuleResult =\u003e getNamespaceAuthorizationRuleResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/servicebus\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := servicebus.LookupNamespaceAuthorizationRule(ctx, \u0026servicebus.LookupNamespaceAuthorizationRuleArgs{\n\t\t\tName:        \"examplerule\",\n\t\t\tNamespaceId: pulumi.StringRef(\"examplenamespace\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"ruleId\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.servicebus.ServicebusFunctions;\nimport com.pulumi.azure.servicebus.inputs.GetNamespaceAuthorizationRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = ServicebusFunctions.getNamespaceAuthorizationRule(GetNamespaceAuthorizationRuleArgs.builder()\n            .name(\"examplerule\")\n            .namespaceId(\"examplenamespace\")\n            .build());\n\n        ctx.export(\"ruleId\", example.id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:servicebus:getNamespaceAuthorizationRule\n      arguments:\n        name: examplerule\n        namespaceId: examplenamespace\noutputs:\n  ruleId: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.ServiceBus` - 2024-01-01\n","inputs":{"description":"A collection of arguments for invoking getNamespaceAuthorizationRule.\n","properties":{"name":{"type":"string","description":"Specifies the name of the ServiceBus Namespace Authorization Rule.\n"},"namespaceId":{"type":"string","description":"Specifies the ID of the ServiceBus Namespace where the Service Bus Namespace Authorization Rule exists.\n"},"namespaceName":{"type":"string","deprecationMessage":"\u003cspan pulumi-lang-nodejs=\"`namespaceName`\" pulumi-lang-dotnet=\"`NamespaceName`\" pulumi-lang-go=\"`namespaceName`\" pulumi-lang-python=\"`namespace_name`\" pulumi-lang-yaml=\"`namespaceName`\" pulumi-lang-java=\"`namespaceName`\"\u003e`namespace_name`\u003c/span\u003e will be removed in favour of the property \u003cspan pulumi-lang-nodejs=\"`namespaceId`\" pulumi-lang-dotnet=\"`NamespaceId`\" pulumi-lang-go=\"`namespaceId`\" pulumi-lang-python=\"`namespace_id`\" pulumi-lang-yaml=\"`namespaceId`\" pulumi-lang-java=\"`namespaceId`\"\u003e`namespace_id`\u003c/span\u003e in v5.0 of the AzureRM Provider."},"resourceGroupName":{"type":"string","deprecationMessage":"\u003cspan pulumi-lang-nodejs=\"`resourceGroupName`\" pulumi-lang-dotnet=\"`ResourceGroupName`\" pulumi-lang-go=\"`resourceGroupName`\" pulumi-lang-python=\"`resource_group_name`\" pulumi-lang-yaml=\"`resourceGroupName`\" pulumi-lang-java=\"`resourceGroupName`\"\u003e`resource_group_name`\u003c/span\u003e will be removed in favour of the property \u003cspan pulumi-lang-nodejs=\"`namespaceId`\" pulumi-lang-dotnet=\"`NamespaceId`\" pulumi-lang-go=\"`namespaceId`\" pulumi-lang-python=\"`namespace_id`\" pulumi-lang-yaml=\"`namespaceId`\" pulumi-lang-java=\"`namespaceId`\"\u003e`namespace_id`\u003c/span\u003e in v5.0 of the AzureRM Provider."}},"type":"object","required":["name"]},"outputs":{"description":"A collection of values returned by getNamespaceAuthorizationRule.\n","properties":{"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"name":{"type":"string"},"namespaceId":{"type":"string"},"namespaceName":{"deprecationMessage":"\u003cspan pulumi-lang-nodejs=\"`namespaceName`\" pulumi-lang-dotnet=\"`NamespaceName`\" pulumi-lang-go=\"`namespaceName`\" pulumi-lang-python=\"`namespace_name`\" pulumi-lang-yaml=\"`namespaceName`\" pulumi-lang-java=\"`namespaceName`\"\u003e`namespace_name`\u003c/span\u003e will be removed in favour of the property \u003cspan pulumi-lang-nodejs=\"`namespaceId`\" pulumi-lang-dotnet=\"`NamespaceId`\" pulumi-lang-go=\"`namespaceId`\" pulumi-lang-python=\"`namespace_id`\" pulumi-lang-yaml=\"`namespaceId`\" pulumi-lang-java=\"`namespaceId`\"\u003e`namespace_id`\u003c/span\u003e in v5.0 of the AzureRM Provider.","type":"string"},"primaryConnectionString":{"description":"The primary connection string for the authorization rule.\n","secret":true,"type":"string"},"primaryConnectionStringAlias":{"description":"The alias Primary Connection String for the ServiceBus Namespace, if the namespace is Geo DR paired.\n","secret":true,"type":"string"},"primaryKey":{"description":"The primary access key for the authorization rule.\n","secret":true,"type":"string"},"resourceGroupName":{"deprecationMessage":"\u003cspan pulumi-lang-nodejs=\"`resourceGroupName`\" pulumi-lang-dotnet=\"`ResourceGroupName`\" pulumi-lang-go=\"`resourceGroupName`\" pulumi-lang-python=\"`resource_group_name`\" pulumi-lang-yaml=\"`resourceGroupName`\" pulumi-lang-java=\"`resourceGroupName`\"\u003e`resource_group_name`\u003c/span\u003e will be removed in favour of the property \u003cspan pulumi-lang-nodejs=\"`namespaceId`\" pulumi-lang-dotnet=\"`NamespaceId`\" pulumi-lang-go=\"`namespaceId`\" pulumi-lang-python=\"`namespace_id`\" pulumi-lang-yaml=\"`namespaceId`\" pulumi-lang-java=\"`namespaceId`\"\u003e`namespace_id`\u003c/span\u003e in v5.0 of the AzureRM Provider.","type":"string"},"secondaryConnectionString":{"description":"The secondary connection string for the authorization rule.\n","secret":true,"type":"string"},"secondaryConnectionStringAlias":{"description":"The alias Secondary Connection String for the ServiceBus Namespace\n","secret":true,"type":"string"},"secondaryKey":{"description":"The secondary access key for the authorization rule.\n","secret":true,"type":"string"}},"required":["name","primaryConnectionString","primaryConnectionStringAlias","primaryKey","secondaryConnectionString","secondaryConnectionStringAlias","secondaryKey","id"],"type":"object"}},"azure:servicebus/getNamespaceDisasterRecoveryConfig:getNamespaceDisasterRecoveryConfig":{"description":"Use this data source to access information about an existing Service Bus Disaster Recovery Config.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.servicebus.getNamespaceDisasterRecoveryConfig({\n    name: \"existing\",\n    namespaceId: \"example-namespace-id\",\n});\nexport const id = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.servicebus.get_namespace_disaster_recovery_config(name=\"existing\",\n    namespace_id=\"example-namespace-id\")\npulumi.export(\"id\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.ServiceBus.GetNamespaceDisasterRecoveryConfig.Invoke(new()\n    {\n        Name = \"existing\",\n        NamespaceId = \"example-namespace-id\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"id\"] = example.Apply(getNamespaceDisasterRecoveryConfigResult =\u003e getNamespaceDisasterRecoveryConfigResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/servicebus\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := servicebus.LookupNamespaceDisasterRecoveryConfig(ctx, \u0026servicebus.LookupNamespaceDisasterRecoveryConfigArgs{\n\t\t\tName:        \"existing\",\n\t\t\tNamespaceId: pulumi.StringRef(\"example-namespace-id\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"id\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.servicebus.ServicebusFunctions;\nimport com.pulumi.azure.servicebus.inputs.GetNamespaceDisasterRecoveryConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = ServicebusFunctions.getNamespaceDisasterRecoveryConfig(GetNamespaceDisasterRecoveryConfigArgs.builder()\n            .name(\"existing\")\n            .namespaceId(\"example-namespace-id\")\n            .build());\n\n        ctx.export(\"id\", example.id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:servicebus:getNamespaceDisasterRecoveryConfig\n      arguments:\n        name: existing\n        namespaceId: example-namespace-id\noutputs:\n  id: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.ServiceBus` - 2024-01-01\n","inputs":{"description":"A collection of arguments for invoking getNamespaceDisasterRecoveryConfig.\n","properties":{"aliasAuthorizationRuleId":{"type":"string","description":"The Shared access policies used to access the connection string for the alias.\n"},"name":{"type":"string","description":"The name of this Service Bus Disaster Recovery Config.\n"},"namespaceId":{"type":"string","description":"The ID of the Service Bus Namespace.\n"},"namespaceName":{"type":"string","deprecationMessage":"\u003cspan pulumi-lang-nodejs=\"`namespaceName`\" pulumi-lang-dotnet=\"`NamespaceName`\" pulumi-lang-go=\"`namespaceName`\" pulumi-lang-python=\"`namespace_name`\" pulumi-lang-yaml=\"`namespaceName`\" pulumi-lang-java=\"`namespaceName`\"\u003e`namespace_name`\u003c/span\u003e will be removed in favour of the property \u003cspan pulumi-lang-nodejs=\"`namespaceId`\" pulumi-lang-dotnet=\"`NamespaceId`\" pulumi-lang-go=\"`namespaceId`\" pulumi-lang-python=\"`namespace_id`\" pulumi-lang-yaml=\"`namespaceId`\" pulumi-lang-java=\"`namespaceId`\"\u003e`namespace_id`\u003c/span\u003e in version 5.0 of the AzureRM Provider."},"resourceGroupName":{"type":"string","deprecationMessage":"\u003cspan pulumi-lang-nodejs=\"`resourceGroupName`\" pulumi-lang-dotnet=\"`ResourceGroupName`\" pulumi-lang-go=\"`resourceGroupName`\" pulumi-lang-python=\"`resource_group_name`\" pulumi-lang-yaml=\"`resourceGroupName`\" pulumi-lang-java=\"`resourceGroupName`\"\u003e`resource_group_name`\u003c/span\u003e will be removed in favour of the property \u003cspan pulumi-lang-nodejs=\"`namespaceId`\" pulumi-lang-dotnet=\"`NamespaceId`\" pulumi-lang-go=\"`namespaceId`\" pulumi-lang-python=\"`namespace_id`\" pulumi-lang-yaml=\"`namespaceId`\" pulumi-lang-java=\"`namespaceId`\"\u003e`namespace_id`\u003c/span\u003e in version 5.0 of the AzureRM Provider."}},"type":"object","required":["name"]},"outputs":{"description":"A collection of values returned by getNamespaceDisasterRecoveryConfig.\n","properties":{"aliasAuthorizationRuleId":{"type":"string"},"defaultPrimaryKey":{"description":"The primary access key for the authorization rule `RootManageSharedAccessKey`.\n","secret":true,"type":"string"},"defaultSecondaryKey":{"description":"The secondary access key for the authorization rule `RootManageSharedAccessKey`.\n","secret":true,"type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"name":{"type":"string"},"namespaceId":{"type":"string"},"namespaceName":{"deprecationMessage":"\u003cspan pulumi-lang-nodejs=\"`namespaceName`\" pulumi-lang-dotnet=\"`NamespaceName`\" pulumi-lang-go=\"`namespaceName`\" pulumi-lang-python=\"`namespace_name`\" pulumi-lang-yaml=\"`namespaceName`\" pulumi-lang-java=\"`namespaceName`\"\u003e`namespace_name`\u003c/span\u003e will be removed in favour of the property \u003cspan pulumi-lang-nodejs=\"`namespaceId`\" pulumi-lang-dotnet=\"`NamespaceId`\" pulumi-lang-go=\"`namespaceId`\" pulumi-lang-python=\"`namespace_id`\" pulumi-lang-yaml=\"`namespaceId`\" pulumi-lang-java=\"`namespaceId`\"\u003e`namespace_id`\u003c/span\u003e in version 5.0 of the AzureRM Provider.","type":"string"},"partnerNamespaceId":{"description":"The ID of the Service Bus Namespace to replicate to.\n","type":"string"},"primaryConnectionStringAlias":{"description":"The alias Primary Connection String for the ServiceBus Namespace.\n","secret":true,"type":"string"},"resourceGroupName":{"deprecationMessage":"\u003cspan pulumi-lang-nodejs=\"`resourceGroupName`\" pulumi-lang-dotnet=\"`ResourceGroupName`\" pulumi-lang-go=\"`resourceGroupName`\" pulumi-lang-python=\"`resource_group_name`\" pulumi-lang-yaml=\"`resourceGroupName`\" pulumi-lang-java=\"`resourceGroupName`\"\u003e`resource_group_name`\u003c/span\u003e will be removed in favour of the property \u003cspan pulumi-lang-nodejs=\"`namespaceId`\" pulumi-lang-dotnet=\"`NamespaceId`\" pulumi-lang-go=\"`namespaceId`\" pulumi-lang-python=\"`namespace_id`\" pulumi-lang-yaml=\"`namespaceId`\" pulumi-lang-java=\"`namespaceId`\"\u003e`namespace_id`\u003c/span\u003e in version 5.0 of the AzureRM Provider.","type":"string"},"secondaryConnectionStringAlias":{"description":"The alias Secondary Connection String for the ServiceBus Namespace\n","secret":true,"type":"string"}},"required":["defaultPrimaryKey","defaultSecondaryKey","name","namespaceId","namespaceName","partnerNamespaceId","primaryConnectionStringAlias","resourceGroupName","secondaryConnectionStringAlias","id"],"type":"object"}},"azure:servicebus/getQueue:getQueue":{"description":"Use this data source to access information about an existing Service Bus Queue.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.servicebus.getQueue({\n    name: \"existing\",\n    namespaceId: \"existing\",\n});\nexport const id = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.servicebus.get_queue(name=\"existing\",\n    namespace_id=\"existing\")\npulumi.export(\"id\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.ServiceBus.GetQueue.Invoke(new()\n    {\n        Name = \"existing\",\n        NamespaceId = \"existing\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"id\"] = example.Apply(getQueueResult =\u003e getQueueResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/servicebus\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := servicebus.LookupQueue(ctx, \u0026servicebus.LookupQueueArgs{\n\t\t\tName:        \"existing\",\n\t\t\tNamespaceId: pulumi.StringRef(\"existing\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"id\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.servicebus.ServicebusFunctions;\nimport com.pulumi.azure.servicebus.inputs.GetQueueArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = ServicebusFunctions.getQueue(GetQueueArgs.builder()\n            .name(\"existing\")\n            .namespaceId(\"existing\")\n            .build());\n\n        ctx.export(\"id\", example.id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:servicebus:getQueue\n      arguments:\n        name: existing\n        namespaceId: existing\noutputs:\n  id: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.ServiceBus` - 2024-01-01\n","inputs":{"description":"A collection of arguments for invoking getQueue.\n","properties":{"name":{"type":"string","description":"The name of this Service Bus Queue.\n"},"namespaceId":{"type":"string","description":"The ID of the ServiceBus Namespace where the Service Bus Queue exists.\n"},"namespaceName":{"type":"string","deprecationMessage":"\u003cspan pulumi-lang-nodejs=\"`namespaceName`\" pulumi-lang-dotnet=\"`NamespaceName`\" pulumi-lang-go=\"`namespaceName`\" pulumi-lang-python=\"`namespace_name`\" pulumi-lang-yaml=\"`namespaceName`\" pulumi-lang-java=\"`namespaceName`\"\u003e`namespace_name`\u003c/span\u003e will be removed in favour of the property \u003cspan pulumi-lang-nodejs=\"`namespaceId`\" pulumi-lang-dotnet=\"`NamespaceId`\" pulumi-lang-go=\"`namespaceId`\" pulumi-lang-python=\"`namespace_id`\" pulumi-lang-yaml=\"`namespaceId`\" pulumi-lang-java=\"`namespaceId`\"\u003e`namespace_id`\u003c/span\u003e in version 5.0 of the AzureRM Provider."},"resourceGroupName":{"type":"string","deprecationMessage":"\u003cspan pulumi-lang-nodejs=\"`resourceGroupName`\" pulumi-lang-dotnet=\"`ResourceGroupName`\" pulumi-lang-go=\"`resourceGroupName`\" pulumi-lang-python=\"`resource_group_name`\" pulumi-lang-yaml=\"`resourceGroupName`\" pulumi-lang-java=\"`resourceGroupName`\"\u003e`resource_group_name`\u003c/span\u003e will be removed in favour of the property \u003cspan pulumi-lang-nodejs=\"`namespaceId`\" pulumi-lang-dotnet=\"`NamespaceId`\" pulumi-lang-go=\"`namespaceId`\" pulumi-lang-python=\"`namespace_id`\" pulumi-lang-yaml=\"`namespaceId`\" pulumi-lang-java=\"`namespaceId`\"\u003e`namespace_id`\u003c/span\u003e in version 5.0 of the AzureRM Provider."}},"type":"object","required":["name"]},"outputs":{"description":"A collection of values returned by getQueue.\n","properties":{"autoDeleteOnIdle":{"description":"The ISO 8601 timespan duration of the idle interval after which the Queue is automatically deleted, minimum of 5 minutes.\n","type":"string"},"batchedOperationsEnabled":{"description":"Boolean flag which controls whether server-side batched operations are enabled.\n","type":"boolean"},"deadLetteringOnMessageExpiration":{"description":"Boolean flag which controls whether the Queue has dead letter support when a message expires.\n","type":"boolean"},"defaultMessageTtl":{"description":"The ISO 8601 timespan duration of the TTL of messages sent to this queue. This is the default value used when TTL is not set on a message itself.\n","type":"string"},"duplicateDetectionHistoryTimeWindow":{"description":"The ISO 8601 timespan duration during which duplicates can be detected.\n","type":"string"},"enableBatchedOperations":{"type":"boolean"},"enableExpress":{"type":"boolean"},"enablePartitioning":{"type":"boolean"},"expressEnabled":{"description":"Boolean flag which controls whether Express Entities are enabled. An express queue holds a message in memory temporarily before writing it to persistent storage.\n","type":"boolean"},"forwardDeadLetteredMessagesTo":{"description":"The name of a Queue or Topic to automatically forward dead lettered messages to.\n","type":"string"},"forwardTo":{"description":"The name of a Queue or Topic to automatically forward messages to. Please [see the documentation](https://docs.microsoft.com/azure/service-bus-messaging/service-bus-auto-forwarding) for more information.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"lockDuration":{"description":"The ISO 8601 timespan duration of a peek-lock; that is, the amount of time that the message is locked for other receivers.\n","type":"string"},"maxDeliveryCount":{"description":"Integer value which controls when a message is automatically dead lettered.\n","type":"integer"},"maxSizeInMegabytes":{"description":"Integer value which controls the size of memory allocated for the queue. For supported values see the \"Queue or topic size\" section of [Service Bus Quotas](https://docs.microsoft.com/azure/service-bus-messaging/service-bus-quotas).\n","type":"integer"},"name":{"type":"string"},"namespaceId":{"type":"string"},"namespaceName":{"deprecationMessage":"\u003cspan pulumi-lang-nodejs=\"`namespaceName`\" pulumi-lang-dotnet=\"`NamespaceName`\" pulumi-lang-go=\"`namespaceName`\" pulumi-lang-python=\"`namespace_name`\" pulumi-lang-yaml=\"`namespaceName`\" pulumi-lang-java=\"`namespaceName`\"\u003e`namespace_name`\u003c/span\u003e will be removed in favour of the property \u003cspan pulumi-lang-nodejs=\"`namespaceId`\" pulumi-lang-dotnet=\"`NamespaceId`\" pulumi-lang-go=\"`namespaceId`\" pulumi-lang-python=\"`namespace_id`\" pulumi-lang-yaml=\"`namespaceId`\" pulumi-lang-java=\"`namespaceId`\"\u003e`namespace_id`\u003c/span\u003e in version 5.0 of the AzureRM Provider.","type":"string"},"partitioningEnabled":{"description":"Boolean flag which controls whether to enable the queue to be partitioned across multiple message brokers.\n","type":"boolean"},"requiresDuplicateDetection":{"description":"Boolean flag which controls whether the Queue requires duplicate detection.\n","type":"boolean"},"requiresSession":{"description":"Boolean flag which controls whether the Queue requires sessions. This will allow ordered handling of unbounded sequences of related messages. With sessions enabled a queue can guarantee first-in-first-out delivery of messages.\n","type":"boolean"},"resourceGroupName":{"deprecationMessage":"\u003cspan pulumi-lang-nodejs=\"`resourceGroupName`\" pulumi-lang-dotnet=\"`ResourceGroupName`\" pulumi-lang-go=\"`resourceGroupName`\" pulumi-lang-python=\"`resource_group_name`\" pulumi-lang-yaml=\"`resourceGroupName`\" pulumi-lang-java=\"`resourceGroupName`\"\u003e`resource_group_name`\u003c/span\u003e will be removed in favour of the property \u003cspan pulumi-lang-nodejs=\"`namespaceId`\" pulumi-lang-dotnet=\"`NamespaceId`\" pulumi-lang-go=\"`namespaceId`\" pulumi-lang-python=\"`namespace_id`\" pulumi-lang-yaml=\"`namespaceId`\" pulumi-lang-java=\"`namespaceId`\"\u003e`namespace_id`\u003c/span\u003e in version 5.0 of the AzureRM Provider.","type":"string"},"status":{"description":"The status of the Queue. Possible values are `Active`, `Creating`, `Deleting`, `Disabled`, `ReceiveDisabled`, `Renaming`, `SendDisabled`, `Unknown`.\n","type":"string"}},"required":["autoDeleteOnIdle","batchedOperationsEnabled","deadLetteringOnMessageExpiration","defaultMessageTtl","duplicateDetectionHistoryTimeWindow","enableBatchedOperations","enableExpress","enablePartitioning","expressEnabled","forwardDeadLetteredMessagesTo","forwardTo","lockDuration","maxDeliveryCount","maxSizeInMegabytes","name","partitioningEnabled","requiresDuplicateDetection","requiresSession","status","id"],"type":"object"}},"azure:servicebus/getQueueAuthorizationRule:getQueueAuthorizationRule":{"description":"Use this data source to access information about an existing ServiceBus Queue Authorisation Rule within a ServiceBus Queue.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.servicebus.getQueueAuthorizationRule({\n    name: \"example-tfex_name\",\n    resourceGroupName: \"example-resources\",\n    queueName: \"example-servicebus_queue\",\n    namespaceName: \"example-namespace\",\n});\nexport const id = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.servicebus.get_queue_authorization_rule(name=\"example-tfex_name\",\n    resource_group_name=\"example-resources\",\n    queue_name=\"example-servicebus_queue\",\n    namespace_name=\"example-namespace\")\npulumi.export(\"id\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.ServiceBus.GetQueueAuthorizationRule.Invoke(new()\n    {\n        Name = \"example-tfex_name\",\n        ResourceGroupName = \"example-resources\",\n        QueueName = \"example-servicebus_queue\",\n        NamespaceName = \"example-namespace\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"id\"] = example.Apply(getQueueAuthorizationRuleResult =\u003e getQueueAuthorizationRuleResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/servicebus\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := servicebus.LookupQueueAuthorizationRule(ctx, \u0026servicebus.LookupQueueAuthorizationRuleArgs{\n\t\t\tName:              \"example-tfex_name\",\n\t\t\tResourceGroupName: pulumi.StringRef(\"example-resources\"),\n\t\t\tQueueName:         pulumi.StringRef(\"example-servicebus_queue\"),\n\t\t\tNamespaceName:     pulumi.StringRef(\"example-namespace\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"id\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.servicebus.ServicebusFunctions;\nimport com.pulumi.azure.servicebus.inputs.GetQueueAuthorizationRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = ServicebusFunctions.getQueueAuthorizationRule(GetQueueAuthorizationRuleArgs.builder()\n            .name(\"example-tfex_name\")\n            .resourceGroupName(\"example-resources\")\n            .queueName(\"example-servicebus_queue\")\n            .namespaceName(\"example-namespace\")\n            .build());\n\n        ctx.export(\"id\", example.id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:servicebus:getQueueAuthorizationRule\n      arguments:\n        name: example-tfex_name\n        resourceGroupName: example-resources\n        queueName: example-servicebus_queue\n        namespaceName: example-namespace\noutputs:\n  id: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.ServiceBus` - 2024-01-01\n","inputs":{"description":"A collection of arguments for invoking getQueueAuthorizationRule.\n","properties":{"name":{"type":"string","description":"The name of this ServiceBus Queue Authorisation Rule.\n"},"namespaceName":{"type":"string","description":"The name of the ServiceBus Namespace.\n"},"queueId":{"type":"string"},"queueName":{"type":"string","description":"The name of the ServiceBus Queue.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the ServiceBus Queue Authorisation Rule exists.\n"}},"type":"object","required":["name"]},"outputs":{"description":"A collection of values returned by getQueueAuthorizationRule.\n","properties":{"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"listen":{"type":"boolean"},"manage":{"type":"boolean"},"name":{"type":"string"},"namespaceName":{"type":"string"},"primaryConnectionString":{"description":"The Primary Connection String for the ServiceBus Queue authorization Rule.\n","secret":true,"type":"string"},"primaryConnectionStringAlias":{"description":"The alias Primary Connection String for the ServiceBus Namespace, if the namespace is Geo DR paired.\n","secret":true,"type":"string"},"primaryKey":{"description":"The Primary Key for the ServiceBus Queue authorization Rule.\n","secret":true,"type":"string"},"queueId":{"type":"string"},"queueName":{"type":"string"},"resourceGroupName":{"type":"string"},"secondaryConnectionString":{"description":"The Secondary Connection String for the ServiceBus Queue authorization Rule.\n","secret":true,"type":"string"},"secondaryConnectionStringAlias":{"description":"The alias Secondary Connection String for the ServiceBus Namespace\n","secret":true,"type":"string"},"secondaryKey":{"description":"The Secondary Key for the ServiceBus Queue authorization Rule.\n","secret":true,"type":"string"},"send":{"type":"boolean"}},"required":["listen","manage","name","primaryConnectionString","primaryConnectionStringAlias","primaryKey","secondaryConnectionString","secondaryConnectionStringAlias","secondaryKey","send","id"],"type":"object"}},"azure:servicebus/getSubscription:getSubscription":{"description":"Use this data source to access information about an existing ServiceBus Subscription.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.servicebus.getSubscription({\n    name: \"examplesubscription\",\n    topicId: \"exampletopic\",\n});\nexport const servicebusSubscription = exampleAzurermServicebusNamespace;\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.servicebus.get_subscription(name=\"examplesubscription\",\n    topic_id=\"exampletopic\")\npulumi.export(\"servicebusSubscription\", example_azurerm_servicebus_namespace)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.ServiceBus.GetSubscription.Invoke(new()\n    {\n        Name = \"examplesubscription\",\n        TopicId = \"exampletopic\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"servicebusSubscription\"] = exampleAzurermServicebusNamespace,\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/servicebus\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := servicebus.LookupSubscription(ctx, \u0026servicebus.LookupSubscriptionArgs{\n\t\t\tName:    \"examplesubscription\",\n\t\t\tTopicId: pulumi.StringRef(\"exampletopic\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"servicebusSubscription\", exampleAzurermServicebusNamespace)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.servicebus.ServicebusFunctions;\nimport com.pulumi.azure.servicebus.inputs.GetSubscriptionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = ServicebusFunctions.getSubscription(GetSubscriptionArgs.builder()\n            .name(\"examplesubscription\")\n            .topicId(\"exampletopic\")\n            .build());\n\n        ctx.export(\"servicebusSubscription\", exampleAzurermServicebusNamespace);\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:servicebus:getSubscription\n      arguments:\n        name: examplesubscription\n        topicId: exampletopic\noutputs:\n  servicebusSubscription: ${exampleAzurermServicebusNamespace}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.ServiceBus` - 2024-01-01\n","inputs":{"description":"A collection of arguments for invoking getSubscription.\n","properties":{"name":{"type":"string","description":"Specifies the name of the ServiceBus Subscription.\n"},"namespaceName":{"type":"string","deprecationMessage":"\u003cspan pulumi-lang-nodejs=\"`namespaceName`\" pulumi-lang-dotnet=\"`NamespaceName`\" pulumi-lang-go=\"`namespaceName`\" pulumi-lang-python=\"`namespace_name`\" pulumi-lang-yaml=\"`namespaceName`\" pulumi-lang-java=\"`namespaceName`\"\u003e`namespace_name`\u003c/span\u003e will be removed in favour of the property \u003cspan pulumi-lang-nodejs=\"`topicId`\" pulumi-lang-dotnet=\"`TopicId`\" pulumi-lang-go=\"`topicId`\" pulumi-lang-python=\"`topic_id`\" pulumi-lang-yaml=\"`topicId`\" pulumi-lang-java=\"`topicId`\"\u003e`topic_id`\u003c/span\u003e in version 5.0 of the AzureRM Provider."},"resourceGroupName":{"type":"string","deprecationMessage":"\u003cspan pulumi-lang-nodejs=\"`resourceGroupName`\" pulumi-lang-dotnet=\"`ResourceGroupName`\" pulumi-lang-go=\"`resourceGroupName`\" pulumi-lang-python=\"`resource_group_name`\" pulumi-lang-yaml=\"`resourceGroupName`\" pulumi-lang-java=\"`resourceGroupName`\"\u003e`resource_group_name`\u003c/span\u003e will be removed in favour of the property \u003cspan pulumi-lang-nodejs=\"`topicId`\" pulumi-lang-dotnet=\"`TopicId`\" pulumi-lang-go=\"`topicId`\" pulumi-lang-python=\"`topic_id`\" pulumi-lang-yaml=\"`topicId`\" pulumi-lang-java=\"`topicId`\"\u003e`topic_id`\u003c/span\u003e in version 5.0 of the AzureRM Provider."},"topicId":{"type":"string","description":"The ID of the ServiceBus Topic where the Service Bus Subscription exists.\n"},"topicName":{"type":"string","deprecationMessage":"\u003cspan pulumi-lang-nodejs=\"`topicName`\" pulumi-lang-dotnet=\"`TopicName`\" pulumi-lang-go=\"`topicName`\" pulumi-lang-python=\"`topic_name`\" pulumi-lang-yaml=\"`topicName`\" pulumi-lang-java=\"`topicName`\"\u003e`topic_name`\u003c/span\u003e will be removed in favour of the property \u003cspan pulumi-lang-nodejs=\"`topicId`\" pulumi-lang-dotnet=\"`TopicId`\" pulumi-lang-go=\"`topicId`\" pulumi-lang-python=\"`topic_id`\" pulumi-lang-yaml=\"`topicId`\" pulumi-lang-java=\"`topicId`\"\u003e`topic_id`\u003c/span\u003e in version 5.0 of the AzureRM Provider."}},"type":"object","required":["name"]},"outputs":{"description":"A collection of values returned by getSubscription.\n","properties":{"autoDeleteOnIdle":{"description":"The idle interval after which the Subscription is automatically deleted.\n","type":"string"},"batchedOperationsEnabled":{"description":"Whether batched operations are enabled.\n","type":"boolean"},"deadLetteringOnFilterEvaluationError":{"description":"Does the ServiceBus Subscription have dead letter support on filter evaluation exceptions?\n","type":"boolean"},"deadLetteringOnMessageExpiration":{"description":"Does the Service Bus Subscription have dead letter support when a message expires?\n","type":"boolean"},"defaultMessageTtl":{"description":"The Default message timespan to live. This is the duration after which the message expires, starting from when the message is sent to Service Bus. This is the default value used when TimeToLive is not set on a message itself.\n","type":"string"},"enableBatchedOperations":{"type":"boolean"},"forwardDeadLetteredMessagesTo":{"description":"The name of a Queue or Topic to automatically forward Dead Letter messages to.\n","type":"string"},"forwardTo":{"description":"The name of a ServiceBus Queue or ServiceBus Topic where messages are automatically forwarded.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"lockDuration":{"description":"The lock duration for the subscription.\n","type":"string"},"maxDeliveryCount":{"description":"The maximum number of deliveries.\n","type":"integer"},"name":{"type":"string"},"namespaceName":{"deprecationMessage":"\u003cspan pulumi-lang-nodejs=\"`namespaceName`\" pulumi-lang-dotnet=\"`NamespaceName`\" pulumi-lang-go=\"`namespaceName`\" pulumi-lang-python=\"`namespace_name`\" pulumi-lang-yaml=\"`namespaceName`\" pulumi-lang-java=\"`namespaceName`\"\u003e`namespace_name`\u003c/span\u003e will be removed in favour of the property \u003cspan pulumi-lang-nodejs=\"`topicId`\" pulumi-lang-dotnet=\"`TopicId`\" pulumi-lang-go=\"`topicId`\" pulumi-lang-python=\"`topic_id`\" pulumi-lang-yaml=\"`topicId`\" pulumi-lang-java=\"`topicId`\"\u003e`topic_id`\u003c/span\u003e in version 5.0 of the AzureRM Provider.","type":"string"},"requiresSession":{"description":"Whether this ServiceBus Subscription supports session.\n","type":"boolean"},"resourceGroupName":{"deprecationMessage":"\u003cspan pulumi-lang-nodejs=\"`resourceGroupName`\" pulumi-lang-dotnet=\"`ResourceGroupName`\" pulumi-lang-go=\"`resourceGroupName`\" pulumi-lang-python=\"`resource_group_name`\" pulumi-lang-yaml=\"`resourceGroupName`\" pulumi-lang-java=\"`resourceGroupName`\"\u003e`resource_group_name`\u003c/span\u003e will be removed in favour of the property \u003cspan pulumi-lang-nodejs=\"`topicId`\" pulumi-lang-dotnet=\"`TopicId`\" pulumi-lang-go=\"`topicId`\" pulumi-lang-python=\"`topic_id`\" pulumi-lang-yaml=\"`topicId`\" pulumi-lang-java=\"`topicId`\"\u003e`topic_id`\u003c/span\u003e in version 5.0 of the AzureRM Provider.","type":"string"},"topicId":{"type":"string"},"topicName":{"deprecationMessage":"\u003cspan pulumi-lang-nodejs=\"`topicName`\" pulumi-lang-dotnet=\"`TopicName`\" pulumi-lang-go=\"`topicName`\" pulumi-lang-python=\"`topic_name`\" pulumi-lang-yaml=\"`topicName`\" pulumi-lang-java=\"`topicName`\"\u003e`topic_name`\u003c/span\u003e will be removed in favour of the property \u003cspan pulumi-lang-nodejs=\"`topicId`\" pulumi-lang-dotnet=\"`TopicId`\" pulumi-lang-go=\"`topicId`\" pulumi-lang-python=\"`topic_id`\" pulumi-lang-yaml=\"`topicId`\" pulumi-lang-java=\"`topicId`\"\u003e`topic_id`\u003c/span\u003e in version 5.0 of the AzureRM Provider.","type":"string"}},"required":["autoDeleteOnIdle","batchedOperationsEnabled","deadLetteringOnFilterEvaluationError","deadLetteringOnMessageExpiration","defaultMessageTtl","enableBatchedOperations","forwardDeadLetteredMessagesTo","forwardTo","lockDuration","maxDeliveryCount","name","requiresSession","id"],"type":"object"}},"azure:servicebus/getTopic:getTopic":{"description":"Use this data source to access information about an existing Service Bus Topic.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.servicebus.getTopic({\n    name: \"existing\",\n    namespaceId: \"existing\",\n});\nexport const id = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.servicebus.get_topic(name=\"existing\",\n    namespace_id=\"existing\")\npulumi.export(\"id\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.ServiceBus.GetTopic.Invoke(new()\n    {\n        Name = \"existing\",\n        NamespaceId = \"existing\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"id\"] = example.Apply(getTopicResult =\u003e getTopicResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/servicebus\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := servicebus.LookupTopic(ctx, \u0026servicebus.LookupTopicArgs{\n\t\t\tName:        \"existing\",\n\t\t\tNamespaceId: pulumi.StringRef(\"existing\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"id\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.servicebus.ServicebusFunctions;\nimport com.pulumi.azure.servicebus.inputs.GetTopicArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = ServicebusFunctions.getTopic(GetTopicArgs.builder()\n            .name(\"existing\")\n            .namespaceId(\"existing\")\n            .build());\n\n        ctx.export(\"id\", example.id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:servicebus:getTopic\n      arguments:\n        name: existing\n        namespaceId: existing\noutputs:\n  id: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.ServiceBus` - 2024-01-01\n","inputs":{"description":"A collection of arguments for invoking getTopic.\n","properties":{"name":{"type":"string","description":"The name of this Service Bus Topic.\n"},"namespaceId":{"type":"string","description":"The ID of the ServiceBus Namespace where the Service Bus Topic exists.\n"},"namespaceName":{"type":"string","deprecationMessage":"\u003cspan pulumi-lang-nodejs=\"`namespaceName`\" pulumi-lang-dotnet=\"`NamespaceName`\" pulumi-lang-go=\"`namespaceName`\" pulumi-lang-python=\"`namespace_name`\" pulumi-lang-yaml=\"`namespaceName`\" pulumi-lang-java=\"`namespaceName`\"\u003e`namespace_name`\u003c/span\u003e will be removed in favour of the \u003cspan pulumi-lang-nodejs=\"`namespaceId`\" pulumi-lang-dotnet=\"`NamespaceId`\" pulumi-lang-go=\"`namespaceId`\" pulumi-lang-python=\"`namespace_id`\" pulumi-lang-yaml=\"`namespaceId`\" pulumi-lang-java=\"`namespaceId`\"\u003e`namespace_id`\u003c/span\u003e property in v5.0 of the AzureRM Provider."},"resourceGroupName":{"type":"string","deprecationMessage":"\u003cspan pulumi-lang-nodejs=\"`resourceGroupName`\" pulumi-lang-dotnet=\"`ResourceGroupName`\" pulumi-lang-go=\"`resourceGroupName`\" pulumi-lang-python=\"`resource_group_name`\" pulumi-lang-yaml=\"`resourceGroupName`\" pulumi-lang-java=\"`resourceGroupName`\"\u003e`resource_group_name`\u003c/span\u003e will be removed in favour of the \u003cspan pulumi-lang-nodejs=\"`namespaceId`\" pulumi-lang-dotnet=\"`NamespaceId`\" pulumi-lang-go=\"`namespaceId`\" pulumi-lang-python=\"`namespace_id`\" pulumi-lang-yaml=\"`namespaceId`\" pulumi-lang-java=\"`namespaceId`\"\u003e`namespace_id`\u003c/span\u003e property in v5.0 of the AzureRM Provider."}},"type":"object","required":["name"]},"outputs":{"description":"A collection of values returned by getTopic.\n","properties":{"autoDeleteOnIdle":{"description":"The ISO 8601 timespan duration of the idle interval after which the Topic is automatically deleted, minimum of 5 minutes.\n","type":"string"},"batchedOperationsEnabled":{"description":"Boolean flag which controls if server-side batched operations are enabled.\n","type":"boolean"},"defaultMessageTtl":{"description":"The ISO 8601 timespan duration of TTL of messages sent to this topic if no TTL value is set on the message itself.\n","type":"string"},"duplicateDetectionHistoryTimeWindow":{"description":"The ISO 8601 timespan duration during which duplicates can be detected.\n","type":"string"},"enableBatchedOperations":{"type":"boolean"},"enableExpress":{"type":"boolean"},"enablePartitioning":{"type":"boolean"},"expressEnabled":{"description":"Boolean flag which controls whether Express Entities are enabled. An express topic holds a message in memory temporarily before writing it to persistent storage.\n","type":"boolean"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"maxSizeInMegabytes":{"description":"Integer value which controls the size of memory allocated for the topic. For supported values see the \"Queue/topic size\" section of [this document](https://docs.microsoft.com/azure/service-bus-messaging/service-bus-quotas).\n","type":"integer"},"name":{"type":"string"},"namespaceId":{"type":"string"},"namespaceName":{"deprecationMessage":"\u003cspan pulumi-lang-nodejs=\"`namespaceName`\" pulumi-lang-dotnet=\"`NamespaceName`\" pulumi-lang-go=\"`namespaceName`\" pulumi-lang-python=\"`namespace_name`\" pulumi-lang-yaml=\"`namespaceName`\" pulumi-lang-java=\"`namespaceName`\"\u003e`namespace_name`\u003c/span\u003e will be removed in favour of the \u003cspan pulumi-lang-nodejs=\"`namespaceId`\" pulumi-lang-dotnet=\"`NamespaceId`\" pulumi-lang-go=\"`namespaceId`\" pulumi-lang-python=\"`namespace_id`\" pulumi-lang-yaml=\"`namespaceId`\" pulumi-lang-java=\"`namespaceId`\"\u003e`namespace_id`\u003c/span\u003e property in v5.0 of the AzureRM Provider.","type":"string"},"partitioningEnabled":{"description":"Boolean flag which controls whether to enable the topic to be partitioned across multiple message brokers.\n","type":"boolean"},"requiresDuplicateDetection":{"description":"Boolean flag which controls whether the Topic requires duplicate detection.\n","type":"boolean"},"resourceGroupName":{"deprecationMessage":"\u003cspan pulumi-lang-nodejs=\"`resourceGroupName`\" pulumi-lang-dotnet=\"`ResourceGroupName`\" pulumi-lang-go=\"`resourceGroupName`\" pulumi-lang-python=\"`resource_group_name`\" pulumi-lang-yaml=\"`resourceGroupName`\" pulumi-lang-java=\"`resourceGroupName`\"\u003e`resource_group_name`\u003c/span\u003e will be removed in favour of the \u003cspan pulumi-lang-nodejs=\"`namespaceId`\" pulumi-lang-dotnet=\"`NamespaceId`\" pulumi-lang-go=\"`namespaceId`\" pulumi-lang-python=\"`namespace_id`\" pulumi-lang-yaml=\"`namespaceId`\" pulumi-lang-java=\"`namespaceId`\"\u003e`namespace_id`\u003c/span\u003e property in v5.0 of the AzureRM Provider.","type":"string"},"status":{"description":"The Status of the Service Bus Topic. Acceptable values are Active or Disabled.\n","type":"string"},"supportOrdering":{"description":"Boolean flag which controls whether the Topic supports ordering.\n","type":"boolean"}},"required":["autoDeleteOnIdle","batchedOperationsEnabled","defaultMessageTtl","duplicateDetectionHistoryTimeWindow","enableBatchedOperations","enableExpress","enablePartitioning","expressEnabled","maxSizeInMegabytes","name","partitioningEnabled","requiresDuplicateDetection","status","supportOrdering","id"],"type":"object"}},"azure:servicebus/getTopicAuthorizationRule:getTopicAuthorizationRule":{"description":"Use this data source to access information about a ServiceBus Topic Authorization Rule within a ServiceBus Topic.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.servicebus.getTopicAuthorizationRule({\n    name: \"example-tfex_name\",\n    resourceGroupName: \"example-resources\",\n    namespaceName: \"example-namespace\",\n    topicName: \"example-servicebus_topic\",\n});\nexport const servicebusAuthorizationRuleId = exampleAzuremServicebusTopicAuthorizationRule.id;\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.servicebus.get_topic_authorization_rule(name=\"example-tfex_name\",\n    resource_group_name=\"example-resources\",\n    namespace_name=\"example-namespace\",\n    topic_name=\"example-servicebus_topic\")\npulumi.export(\"servicebusAuthorizationRuleId\", example_azurem_servicebus_topic_authorization_rule[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.ServiceBus.GetTopicAuthorizationRule.Invoke(new()\n    {\n        Name = \"example-tfex_name\",\n        ResourceGroupName = \"example-resources\",\n        NamespaceName = \"example-namespace\",\n        TopicName = \"example-servicebus_topic\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"servicebusAuthorizationRuleId\"] = exampleAzuremServicebusTopicAuthorizationRule.Id,\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/servicebus\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := servicebus.LookupTopicAuthorizationRule(ctx, \u0026servicebus.LookupTopicAuthorizationRuleArgs{\n\t\t\tName:              \"example-tfex_name\",\n\t\t\tResourceGroupName: pulumi.StringRef(\"example-resources\"),\n\t\t\tNamespaceName:     pulumi.StringRef(\"example-namespace\"),\n\t\t\tTopicName:         pulumi.StringRef(\"example-servicebus_topic\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"servicebusAuthorizationRuleId\", exampleAzuremServicebusTopicAuthorizationRule.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.servicebus.ServicebusFunctions;\nimport com.pulumi.azure.servicebus.inputs.GetTopicAuthorizationRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = ServicebusFunctions.getTopicAuthorizationRule(GetTopicAuthorizationRuleArgs.builder()\n            .name(\"example-tfex_name\")\n            .resourceGroupName(\"example-resources\")\n            .namespaceName(\"example-namespace\")\n            .topicName(\"example-servicebus_topic\")\n            .build());\n\n        ctx.export(\"servicebusAuthorizationRuleId\", exampleAzuremServicebusTopicAuthorizationRule.id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:servicebus:getTopicAuthorizationRule\n      arguments:\n        name: example-tfex_name\n        resourceGroupName: example-resources\n        namespaceName: example-namespace\n        topicName: example-servicebus_topic\noutputs:\n  servicebusAuthorizationRuleId: ${exampleAzuremServicebusTopicAuthorizationRule.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.ServiceBus` - 2024-01-01\n","inputs":{"description":"A collection of arguments for invoking getTopicAuthorizationRule.\n","properties":{"name":{"type":"string","description":"The name of the ServiceBus Topic Authorization Rule resource.\n"},"namespaceName":{"type":"string","description":"The name of the ServiceBus Namespace.\n"},"queueName":{"type":"string"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the ServiceBus Namespace exists.\n"},"topicId":{"type":"string"},"topicName":{"type":"string","description":"The name of the ServiceBus Topic.\n"}},"type":"object","required":["name"]},"outputs":{"description":"A collection of values returned by getTopicAuthorizationRule.\n","properties":{"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"listen":{"type":"boolean"},"manage":{"type":"boolean"},"name":{"type":"string"},"namespaceName":{"type":"string"},"primaryConnectionString":{"description":"The Primary Connection String for the ServiceBus Topic authorization Rule.\n","secret":true,"type":"string"},"primaryConnectionStringAlias":{"description":"The alias Primary Connection String for the ServiceBus Namespace, if the namespace is Geo DR paired.\n","secret":true,"type":"string"},"primaryKey":{"description":"The Primary Key for the ServiceBus Topic authorization Rule.\n","secret":true,"type":"string"},"queueName":{"type":"string"},"resourceGroupName":{"type":"string"},"secondaryConnectionString":{"description":"The Secondary Connection String for the ServiceBus Topic authorization Rule.\n","secret":true,"type":"string"},"secondaryConnectionStringAlias":{"description":"The alias Secondary Connection String for the ServiceBus Namespace\n","secret":true,"type":"string"},"secondaryKey":{"description":"The Secondary Key for the ServiceBus Topic authorization Rule.\n","secret":true,"type":"string"},"send":{"type":"boolean"},"topicId":{"type":"string"},"topicName":{"type":"string"}},"required":["listen","manage","name","primaryConnectionString","primaryConnectionStringAlias","primaryKey","secondaryConnectionString","secondaryConnectionStringAlias","secondaryKey","send","id"],"type":"object"}},"azure:signalr/getService:getService":{"description":"Use this data source to access information about an existing Azure SignalR service.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.signalr.getService({\n    name: \"test-signalr\",\n    resourceGroupName: \"signalr-resource-group\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.signalr.get_service(name=\"test-signalr\",\n    resource_group_name=\"signalr-resource-group\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.SignalR.GetService.Invoke(new()\n    {\n        Name = \"test-signalr\",\n        ResourceGroupName = \"signalr-resource-group\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/signalr\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := signalr.LookupService(ctx, \u0026signalr.LookupServiceArgs{\n\t\t\tName:              \"test-signalr\",\n\t\t\tResourceGroupName: \"signalr-resource-group\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.signalr.SignalrFunctions;\nimport com.pulumi.azure.signalr.inputs.GetServiceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = SignalrFunctions.getService(GetServiceArgs.builder()\n            .name(\"test-signalr\")\n            .resourceGroupName(\"signalr-resource-group\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:signalr:getService\n      arguments:\n        name: test-signalr\n        resourceGroupName: signalr-resource-group\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.SignalRService` - 2024-03-01\n","inputs":{"description":"A collection of arguments for invoking getService.\n","properties":{"name":{"type":"string","description":"Specifies the name of the SignalR service.\n"},"resourceGroupName":{"type":"string","description":"Specifies the name of the resource group the SignalR service is located in.\n"}},"type":"object","required":["name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getService.\n","properties":{"aadAuthEnabled":{"description":"Is aad auth enabled for this SignalR service?\n","type":"boolean"},"hostname":{"description":"The FQDN of the SignalR service.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"ipAddress":{"description":"The publicly accessible IP of the SignalR service.\n","type":"string"},"localAuthEnabled":{"description":"Is local auth enable for this SignalR serviced?\n","type":"boolean"},"location":{"description":"Specifies the supported Azure location where the SignalR service exists.\n","type":"string"},"name":{"type":"string"},"primaryAccessKey":{"description":"The primary access key of the SignalR service.\n","secret":true,"type":"string"},"primaryConnectionString":{"description":"The primary connection string of the SignalR service.\n","secret":true,"type":"string"},"publicNetworkAccessEnabled":{"description":"Is public network access enabled for this SignalR service?\n","type":"boolean"},"publicPort":{"description":"The publicly accessible port of the SignalR service which is designed for browser/client use.\n","type":"integer"},"resourceGroupName":{"type":"string"},"secondaryAccessKey":{"description":"The secondary access key of the SignalR service.\n","secret":true,"type":"string"},"secondaryConnectionString":{"description":"The secondary connection string of the SignalR service.\n","secret":true,"type":"string"},"serverPort":{"description":"The publicly accessible port of the SignalR service which is designed for customer server side use.\n","type":"integer"},"serverlessConnectionTimeoutInSeconds":{"description":"The serverless connection timeout of this SignalR service.\n","type":"integer"},"tags":{"additionalProperties":{"type":"string"},"type":"object"},"tlsClientCertEnabled":{"description":"Is tls client cert enabled for this SignalR service?\n","type":"boolean"}},"required":["aadAuthEnabled","hostname","ipAddress","localAuthEnabled","location","name","primaryAccessKey","primaryConnectionString","publicNetworkAccessEnabled","publicPort","resourceGroupName","secondaryAccessKey","secondaryConnectionString","serverPort","serverlessConnectionTimeoutInSeconds","tags","tlsClientCertEnabled","id"],"type":"object"}},"azure:siterecovery/getFabric:getFabric":{"description":"Use this data source to access information about an existing Site Recovery Replication Fabric.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst fabric = azure.siterecovery.getFabric({\n    name: \"primary-fabric\",\n    recoveryVaultName: \"tfex-recovery_vault\",\n    resourceGroupName: \"tfex-resource_group\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nfabric = azure.siterecovery.get_fabric(name=\"primary-fabric\",\n    recovery_vault_name=\"tfex-recovery_vault\",\n    resource_group_name=\"tfex-resource_group\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var fabric = Azure.SiteRecovery.GetFabric.Invoke(new()\n    {\n        Name = \"primary-fabric\",\n        RecoveryVaultName = \"tfex-recovery_vault\",\n        ResourceGroupName = \"tfex-resource_group\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/siterecovery\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := siterecovery.LookupFabric(ctx, \u0026siterecovery.LookupFabricArgs{\n\t\t\tName:              \"primary-fabric\",\n\t\t\tRecoveryVaultName: \"tfex-recovery_vault\",\n\t\t\tResourceGroupName: \"tfex-resource_group\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.siterecovery.SiterecoveryFunctions;\nimport com.pulumi.azure.siterecovery.inputs.GetFabricArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var fabric = SiterecoveryFunctions.getFabric(GetFabricArgs.builder()\n            .name(\"primary-fabric\")\n            .recoveryVaultName(\"tfex-recovery_vault\")\n            .resourceGroupName(\"tfex-resource_group\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  fabric:\n    fn::invoke:\n      function: azure:siterecovery:getFabric\n      arguments:\n        name: primary-fabric\n        recoveryVaultName: tfex-recovery_vault\n        resourceGroupName: tfex-resource_group\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.RecoveryServices` - 2024-04-01\n","inputs":{"description":"A collection of arguments for invoking getFabric.\n","properties":{"name":{"type":"string","description":"Specifies the name of the Site Recovery Replication Fabric.\n"},"recoveryVaultName":{"type":"string","description":"The name of the Recovery Services Vault that the Site Recovery Replication Fabric is associated witth.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the associated Recovery Services Vault resides.\n"}},"type":"object","required":["name","recoveryVaultName","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getFabric.\n","properties":{"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"location":{"description":"The Azure location where the Site Recovery Replication Fabric resides.\n","type":"string"},"name":{"type":"string"},"recoveryVaultName":{"type":"string"},"resourceGroupName":{"type":"string"}},"required":["location","name","recoveryVaultName","resourceGroupName","id"],"type":"object"}},"azure:siterecovery/getProtectionContainer:getProtectionContainer":{"description":"Use this data source to access information about an existing site recovery services protection container.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst container = azure.siterecovery.getProtectionContainer({\n    name: \"primary-container\",\n    recoveryVaultName: \"tfex-recovery_vault\",\n    resourceGroupName: \"tfex-resource_group\",\n    recoveryFabricName: \"primary-fabric\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\ncontainer = azure.siterecovery.get_protection_container(name=\"primary-container\",\n    recovery_vault_name=\"tfex-recovery_vault\",\n    resource_group_name=\"tfex-resource_group\",\n    recovery_fabric_name=\"primary-fabric\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var container = Azure.SiteRecovery.GetProtectionContainer.Invoke(new()\n    {\n        Name = \"primary-container\",\n        RecoveryVaultName = \"tfex-recovery_vault\",\n        ResourceGroupName = \"tfex-resource_group\",\n        RecoveryFabricName = \"primary-fabric\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/siterecovery\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := siterecovery.LookupProtectionContainer(ctx, \u0026siterecovery.LookupProtectionContainerArgs{\n\t\t\tName:               \"primary-container\",\n\t\t\tRecoveryVaultName:  \"tfex-recovery_vault\",\n\t\t\tResourceGroupName:  \"tfex-resource_group\",\n\t\t\tRecoveryFabricName: \"primary-fabric\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.siterecovery.SiterecoveryFunctions;\nimport com.pulumi.azure.siterecovery.inputs.GetProtectionContainerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var container = SiterecoveryFunctions.getProtectionContainer(GetProtectionContainerArgs.builder()\n            .name(\"primary-container\")\n            .recoveryVaultName(\"tfex-recovery_vault\")\n            .resourceGroupName(\"tfex-resource_group\")\n            .recoveryFabricName(\"primary-fabric\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  container:\n    fn::invoke:\n      function: azure:siterecovery:getProtectionContainer\n      arguments:\n        name: primary-container\n        recoveryVaultName: tfex-recovery_vault\n        resourceGroupName: tfex-resource_group\n        recoveryFabricName: primary-fabric\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.RecoveryServices` - 2024-04-01\n","inputs":{"description":"A collection of arguments for invoking getProtectionContainer.\n","properties":{"name":{"type":"string","description":"Specifies the name of the protection container.\n"},"recoveryFabricName":{"type":"string","description":"The name of the fabric that contains the protection container.\n"},"recoveryVaultName":{"type":"string","description":"The name of the Recovery Services Vault that the protection container is associated witth.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the associated protection container resides.\n"}},"type":"object","required":["name","recoveryFabricName","recoveryVaultName","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getProtectionContainer.\n","properties":{"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"name":{"type":"string"},"recoveryFabricName":{"type":"string"},"recoveryVaultName":{"type":"string"},"resourceGroupName":{"type":"string"}},"required":["name","recoveryFabricName","recoveryVaultName","resourceGroupName","id"],"type":"object"}},"azure:siterecovery/getReplicationPolicy:getReplicationPolicy":{"description":"Use this data source to access information about an existing Azure Site Recovery replication policy.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst policy = azure.siterecovery.getReplicationPolicy({\n    name: \"replication-policy\",\n    recoveryVaultName: \"tfex-recovery_vault\",\n    resourceGroupName: \"tfex-resource_group\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\npolicy = azure.siterecovery.get_replication_policy(name=\"replication-policy\",\n    recovery_vault_name=\"tfex-recovery_vault\",\n    resource_group_name=\"tfex-resource_group\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var policy = Azure.SiteRecovery.GetReplicationPolicy.Invoke(new()\n    {\n        Name = \"replication-policy\",\n        RecoveryVaultName = \"tfex-recovery_vault\",\n        ResourceGroupName = \"tfex-resource_group\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/siterecovery\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := siterecovery.LookupReplicationPolicy(ctx, \u0026siterecovery.LookupReplicationPolicyArgs{\n\t\t\tName:              \"replication-policy\",\n\t\t\tRecoveryVaultName: \"tfex-recovery_vault\",\n\t\t\tResourceGroupName: \"tfex-resource_group\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.siterecovery.SiterecoveryFunctions;\nimport com.pulumi.azure.siterecovery.inputs.GetReplicationPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var policy = SiterecoveryFunctions.getReplicationPolicy(GetReplicationPolicyArgs.builder()\n            .name(\"replication-policy\")\n            .recoveryVaultName(\"tfex-recovery_vault\")\n            .resourceGroupName(\"tfex-resource_group\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  policy:\n    fn::invoke:\n      function: azure:siterecovery:getReplicationPolicy\n      arguments:\n        name: replication-policy\n        recoveryVaultName: tfex-recovery_vault\n        resourceGroupName: tfex-resource_group\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.RecoveryServices` - 2024-04-01\n","inputs":{"description":"A collection of arguments for invoking getReplicationPolicy.\n","properties":{"name":{"type":"string","description":"Specifies the name of the Azure Site Recovery replication policy.\n"},"recoveryVaultName":{"type":"string","description":"The name of the Recovery Services Vault that the Azure Site Recovery replication policy is associated witth.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group in which the associated Azure Site Recovery replication policy resides.\n"}},"type":"object","required":["name","recoveryVaultName","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getReplicationPolicy.\n","properties":{"applicationConsistentSnapshotFrequencyInMinutes":{"description":"Specifies the frequency (in minutes) at which to create application consistent recovery.\n","type":"integer"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"name":{"type":"string"},"recoveryPointRetentionInMinutes":{"description":"The duration in minutes for which the recovery points need to be stored.\n","type":"integer"},"recoveryVaultName":{"type":"string"},"resourceGroupName":{"type":"string"}},"required":["applicationConsistentSnapshotFrequencyInMinutes","name","recoveryPointRetentionInMinutes","recoveryVaultName","resourceGroupName","id"],"type":"object"}},"azure:siterecovery/getReplicationRecoveryPlan:getReplicationRecoveryPlan":{"description":"Get information about an Azure Site Recovery Plan within a Recovery Services vault. A recovery plan gathers machines into recovery groups for the purpose of failover.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst vault = azure.recoveryservices.getVault({\n    name: \"tfex-recovery_vault\",\n    resourceGroupName: \"tfex-resource_group\",\n});\nconst example = vault.then(vault =\u003e azure.siterecovery.getReplicationRecoveryPlan({\n    name: \"example-recovery-plan\",\n    recoveryVaultId: vault.id,\n}));\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nvault = azure.recoveryservices.get_vault(name=\"tfex-recovery_vault\",\n    resource_group_name=\"tfex-resource_group\")\nexample = azure.siterecovery.get_replication_recovery_plan(name=\"example-recovery-plan\",\n    recovery_vault_id=vault.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var vault = Azure.RecoveryServices.GetVault.Invoke(new()\n    {\n        Name = \"tfex-recovery_vault\",\n        ResourceGroupName = \"tfex-resource_group\",\n    });\n\n    var example = Azure.SiteRecovery.GetReplicationRecoveryPlan.Invoke(new()\n    {\n        Name = \"example-recovery-plan\",\n        RecoveryVaultId = vault.Apply(getVaultResult =\u003e getVaultResult.Id),\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/recoveryservices\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/siterecovery\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tvault, err := recoveryservices.LookupVault(ctx, \u0026recoveryservices.LookupVaultArgs{\n\t\t\tName:              \"tfex-recovery_vault\",\n\t\t\tResourceGroupName: \"tfex-resource_group\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = siterecovery.LookupReplicationRecoveryPlan(ctx, \u0026siterecovery.LookupReplicationRecoveryPlanArgs{\n\t\t\tName:            \"example-recovery-plan\",\n\t\t\tRecoveryVaultId: vault.Id,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.recoveryservices.RecoveryservicesFunctions;\nimport com.pulumi.azure.recoveryservices.inputs.GetVaultArgs;\nimport com.pulumi.azure.siterecovery.SiterecoveryFunctions;\nimport com.pulumi.azure.siterecovery.inputs.GetReplicationRecoveryPlanArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var vault = RecoveryservicesFunctions.getVault(GetVaultArgs.builder()\n            .name(\"tfex-recovery_vault\")\n            .resourceGroupName(\"tfex-resource_group\")\n            .build());\n\n        final var example = SiterecoveryFunctions.getReplicationRecoveryPlan(GetReplicationRecoveryPlanArgs.builder()\n            .name(\"example-recovery-plan\")\n            .recoveryVaultId(vault.id())\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  vault:\n    fn::invoke:\n      function: azure:recoveryservices:getVault\n      arguments:\n        name: tfex-recovery_vault\n        resourceGroupName: tfex-resource_group\n  example:\n    fn::invoke:\n      function: azure:siterecovery:getReplicationRecoveryPlan\n      arguments:\n        name: example-recovery-plan\n        recoveryVaultId: ${vault.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.RecoveryServices` - 2024-04-01\n","inputs":{"description":"A collection of arguments for invoking getReplicationRecoveryPlan.\n","properties":{"name":{"type":"string","description":"The name of the Replication Plan.\n"},"recoveryVaultId":{"type":"string","description":"The ID of the vault that should be updated.\n"}},"type":"object","required":["name","recoveryVaultId"]},"outputs":{"description":"A collection of values returned by getReplicationRecoveryPlan.\n","properties":{"azureToAzureSettings":{"items":{"$ref":"#/types/azure:siterecovery/getReplicationRecoveryPlanAzureToAzureSetting:getReplicationRecoveryPlanAzureToAzureSetting"},"type":"array"},"failoverDeploymentModel":{"type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"name":{"description":"Name of the Action.\n","type":"string"},"recoveryGroups":{"description":"\u003cspan pulumi-lang-nodejs=\"`recoveryGroup`\" pulumi-lang-dotnet=\"`RecoveryGroup`\" pulumi-lang-go=\"`recoveryGroup`\" pulumi-lang-python=\"`recovery_group`\" pulumi-lang-yaml=\"`recoveryGroup`\" pulumi-lang-java=\"`recoveryGroup`\"\u003e`recovery_group`\u003c/span\u003e block defined as below.\n","items":{"$ref":"#/types/azure:siterecovery/getReplicationRecoveryPlanRecoveryGroup:getReplicationRecoveryPlanRecoveryGroup"},"type":"array"},"recoveryVaultId":{"type":"string"},"sourceRecoveryFabricId":{"description":"The ID of source fabric to be recovered from.\n","type":"string"},"targetRecoveryFabricId":{"description":"The ID of target fabric to recover.\n","type":"string"}},"required":["azureToAzureSettings","failoverDeploymentModel","name","recoveryGroups","recoveryVaultId","sourceRecoveryFabricId","targetRecoveryFabricId","id"],"type":"object"}},"azure:stack/getHciCluster:getHciCluster":{"description":"Use this data source to access information about an existing Azure Stack HCI Cluster instance.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.stack.getHciCluster({\n    name: \"existing\",\n    resourceGroupName: \"existing\",\n});\nexport const id = example.then(example =\u003e example.id);\nexport const location = example.then(example =\u003e example.location);\nexport const clientId = example.then(example =\u003e example.clientId);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.stack.get_hci_cluster(name=\"existing\",\n    resource_group_name=\"existing\")\npulumi.export(\"id\", example.id)\npulumi.export(\"location\", example.location)\npulumi.export(\"clientId\", example.client_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Stack.GetHciCluster.Invoke(new()\n    {\n        Name = \"existing\",\n        ResourceGroupName = \"existing\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"id\"] = example.Apply(getHciClusterResult =\u003e getHciClusterResult.Id),\n        [\"location\"] = example.Apply(getHciClusterResult =\u003e getHciClusterResult.Location),\n        [\"clientId\"] = example.Apply(getHciClusterResult =\u003e getHciClusterResult.ClientId),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/stack\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := stack.LookupHciCluster(ctx, \u0026stack.LookupHciClusterArgs{\n\t\t\tName:              \"existing\",\n\t\t\tResourceGroupName: \"existing\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"id\", example.Id)\n\t\tctx.Export(\"location\", example.Location)\n\t\tctx.Export(\"clientId\", example.ClientId)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.stack.StackFunctions;\nimport com.pulumi.azure.stack.inputs.GetHciClusterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = StackFunctions.getHciCluster(GetHciClusterArgs.builder()\n            .name(\"existing\")\n            .resourceGroupName(\"existing\")\n            .build());\n\n        ctx.export(\"id\", example.id());\n        ctx.export(\"location\", example.location());\n        ctx.export(\"clientId\", example.clientId());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:stack:getHciCluster\n      arguments:\n        name: existing\n        resourceGroupName: existing\noutputs:\n  id: ${example.id}\n  location: ${example.location}\n  clientId: ${example.clientId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.AzureStackHCI` - 2024-01-01, 2022-05-04\n","inputs":{"description":"A collection of arguments for invoking getHciCluster.\n","properties":{"name":{"type":"string","description":"The name of the Azure Stack HCI Cluster.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Azure Stack HCI Cluster exists.\n","willReplaceOnChanges":true}},"type":"object","required":["name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getHciCluster.\n","properties":{"automanageConfigurationId":{"description":"The ID of the Automanage Configuration assigned to the Azure Stack HCI Cluster.\n","type":"string"},"clientId":{"description":"The Client ID of the Azure Active Directory used by the Azure Stack HCI Cluster.\n","type":"string"},"cloudId":{"description":"An immutable UUID for the Azure Stack HCI Cluster.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"identities":{"description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:stack/getHciClusterIdentity:getHciClusterIdentity"},"type":"array"},"location":{"description":"The Azure Region where the Azure Stack HCI Cluster exists.\n","type":"string"},"name":{"type":"string"},"resourceGroupName":{"type":"string"},"resourceProviderObjectId":{"description":"The object ID of the Resource Provider Service Principal.\n","type":"string"},"serviceEndpoint":{"description":"The region specific Data Path Endpoint of the Azure Stack HCI Cluster.\n","type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"A mapping of tags assigned to the Azure Stack HCI Cluster.\n","type":"object"},"tenantId":{"description":"The Tenant ID associated with this Managed Service Identity.\n","type":"string"}},"required":["automanageConfigurationId","clientId","cloudId","identities","location","name","resourceGroupName","resourceProviderObjectId","serviceEndpoint","tags","tenantId","id"],"type":"object"}},"azure:stack/getHciStoragePath:getHciStoragePath":{"description":"Use this data source to access information about an existing Stack HCI Storage Path.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.stack.getHciStoragePath({\n    name: \"example-hci-storage-path-name\",\n    resourceGroupName: \"example-rg\",\n});\nexport const id = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.stack.get_hci_storage_path(name=\"example-hci-storage-path-name\",\n    resource_group_name=\"example-rg\")\npulumi.export(\"id\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Stack.GetHciStoragePath.Invoke(new()\n    {\n        Name = \"example-hci-storage-path-name\",\n        ResourceGroupName = \"example-rg\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"id\"] = example.Apply(getHciStoragePathResult =\u003e getHciStoragePathResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/stack\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := stack.LookupHciStoragePath(ctx, \u0026stack.LookupHciStoragePathArgs{\n\t\t\tName:              \"example-hci-storage-path-name\",\n\t\t\tResourceGroupName: \"example-rg\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"id\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.stack.StackFunctions;\nimport com.pulumi.azure.stack.inputs.GetHciStoragePathArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = StackFunctions.getHciStoragePath(GetHciStoragePathArgs.builder()\n            .name(\"example-hci-storage-path-name\")\n            .resourceGroupName(\"example-rg\")\n            .build());\n\n        ctx.export(\"id\", example.id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:stack:getHciStoragePath\n      arguments:\n        name: example-hci-storage-path-name\n        resourceGroupName: example-rg\noutputs:\n  id: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.AzureStackHCI` - 2024-01-01\n","inputs":{"description":"A collection of arguments for invoking getHciStoragePath.\n","properties":{"name":{"type":"string","description":"The name of this Stack HCI Storage Path.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Stack HCI Storage Path exists.\n"}},"type":"object","required":["name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getHciStoragePath.\n","properties":{"customLocationId":{"description":"The ID of the Custom Location where the Stack HCI Storage Path exists.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"location":{"description":"The Azure Region where the Stack HCI Storage Path exists.\n","type":"string"},"name":{"type":"string"},"path":{"description":"The file path on the disk where the Stack HCI Storage Path was created.\n","type":"string"},"resourceGroupName":{"type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"A mapping of tags assigned to the Stack HCI Storage Path.\n","type":"object"}},"required":["customLocationId","location","name","path","resourceGroupName","tags","id"],"type":"object"}},"azure:storage/getAccount:getAccount":{"description":"Use this data source to access information about an existing Storage Account.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.storage.getAccount({\n    name: \"packerimages\",\n    resourceGroupName: \"packer-storage\",\n});\nexport const storageAccountTier = example.then(example =\u003e example.accountTier);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.storage.get_account(name=\"packerimages\",\n    resource_group_name=\"packer-storage\")\npulumi.export(\"storageAccountTier\", example.account_tier)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Storage.GetAccount.Invoke(new()\n    {\n        Name = \"packerimages\",\n        ResourceGroupName = \"packer-storage\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"storageAccountTier\"] = example.Apply(getAccountResult =\u003e getAccountResult.AccountTier),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := storage.LookupAccount(ctx, \u0026storage.LookupAccountArgs{\n\t\t\tName:              \"packerimages\",\n\t\t\tResourceGroupName: pulumi.StringRef(\"packer-storage\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"storageAccountTier\", example.AccountTier)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.storage.StorageFunctions;\nimport com.pulumi.azure.storage.inputs.GetAccountArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = StorageFunctions.getAccount(GetAccountArgs.builder()\n            .name(\"packerimages\")\n            .resourceGroupName(\"packer-storage\")\n            .build());\n\n        ctx.export(\"storageAccountTier\", example.accountTier());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:storage:getAccount\n      arguments:\n        name: packerimages\n        resourceGroupName: packer-storage\noutputs:\n  storageAccountTier: ${example.accountTier}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.Storage` - 2023-05-01\n","inputs":{"description":"A collection of arguments for invoking getAccount.\n","properties":{"minTlsVersion":{"type":"string","description":"The minimum supported TLS version for this storage account.\n"},"name":{"type":"string","description":"Specifies the name of the Storage Account\n"},"resourceGroupName":{"type":"string","description":"Specifies the name of the resource group the Storage Account is located in.\n"}},"type":"object","required":["name"]},"outputs":{"description":"A collection of values returned by getAccount.\n","properties":{"accessTier":{"description":"The access tier for `BlobStorage` accounts.\n","type":"string"},"accountKind":{"description":"The Kind of account.\n","type":"string"},"accountReplicationType":{"description":"The type of replication used for this storage account.\n","type":"string"},"accountTier":{"description":"The Tier of this storage account.\n","type":"string"},"allowNestedItemsToBePublic":{"description":"Can nested items in the storage account opt into allowing public access?\n","type":"boolean"},"azureFilesAuthentications":{"description":"A \u003cspan pulumi-lang-nodejs=\"`azureFilesAuthentication`\" pulumi-lang-dotnet=\"`AzureFilesAuthentication`\" pulumi-lang-go=\"`azureFilesAuthentication`\" pulumi-lang-python=\"`azure_files_authentication`\" pulumi-lang-yaml=\"`azureFilesAuthentication`\" pulumi-lang-java=\"`azureFilesAuthentication`\"\u003e`azure_files_authentication`\u003c/span\u003e block as documented below.\n","items":{"$ref":"#/types/azure:storage/getAccountAzureFilesAuthentication:getAccountAzureFilesAuthentication"},"type":"array"},"customDomains":{"description":"supports the following:\n","items":{"$ref":"#/types/azure:storage/getAccountCustomDomain:getAccountCustomDomain"},"type":"array"},"dnsEndpointType":{"description":"Which DNS endpoint type is used - either `Standard` or `AzureDnsZone`.\n","type":"string"},"httpsTrafficOnlyEnabled":{"description":"Is traffic only allowed via HTTPS? See [here](https://docs.microsoft.com/azure/storage/storage-require-secure-transfer/) for more information.\n","type":"boolean"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"identities":{"description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as documented below.\n","items":{"$ref":"#/types/azure:storage/getAccountIdentity:getAccountIdentity"},"type":"array"},"infrastructureEncryptionEnabled":{"description":"Is infrastructure encryption enabled? See [here](https://docs.microsoft.com/azure/storage/common/infrastructure-encryption-enable/)\nfor more information.\n","type":"boolean"},"isHnsEnabled":{"description":"Is Hierarchical Namespace enabled?\n","type":"boolean"},"location":{"description":"The Azure location where the Storage Account exists\n","type":"string"},"minTlsVersion":{"description":"The minimum supported TLS version for this storage account.\n","type":"string"},"name":{"description":"The Custom Domain Name used for the Storage Account.\n","type":"string"},"nfsv3Enabled":{"description":"Is NFSv3 protocol enabled?\n","type":"boolean"},"primaryAccessKey":{"description":"The primary access key for the Storage Account.\n","secret":true,"type":"string"},"primaryBlobConnectionString":{"description":"The connection string associated with the primary blob location\n","secret":true,"type":"string"},"primaryBlobEndpoint":{"description":"The endpoint URL for blob storage in the primary location.\n","type":"string"},"primaryBlobHost":{"description":"The hostname with port if applicable for blob storage in the primary location.\n","type":"string"},"primaryBlobInternetEndpoint":{"description":"The internet routing endpoint URL for blob storage in the primary location.\n","type":"string"},"primaryBlobInternetHost":{"description":"The internet routing hostname with port if applicable for blob storage in the primary location.\n","type":"string"},"primaryBlobMicrosoftEndpoint":{"description":"The microsoft routing endpoint URL for blob storage in the primary location.\n","type":"string"},"primaryBlobMicrosoftHost":{"description":"The microsoft routing hostname with port if applicable for blob storage in the primary location.\n","type":"string"},"primaryConnectionString":{"description":"The connection string associated with the primary location\n","secret":true,"type":"string"},"primaryDfsEndpoint":{"description":"The endpoint URL for DFS storage in the primary location.\n","type":"string"},"primaryDfsHost":{"description":"The hostname with port if applicable for DFS storage in the primary location.\n","type":"string"},"primaryDfsInternetEndpoint":{"description":"The internet routing endpoint URL for DFS storage in the primary location.\n","type":"string"},"primaryDfsInternetHost":{"description":"The internet routing hostname with port if applicable for DFS storage in the primary location.\n","type":"string"},"primaryDfsMicrosoftEndpoint":{"description":"The microsoft routing endpoint URL for DFS storage in the primary location.\n","type":"string"},"primaryDfsMicrosoftHost":{"description":"The microsoft routing hostname with port if applicable for DFS storage in the primary location.\n","type":"string"},"primaryFileEndpoint":{"description":"The endpoint URL for file storage in the primary location.\n","type":"string"},"primaryFileHost":{"description":"The hostname with port if applicable for file storage in the primary location.\n","type":"string"},"primaryFileInternetEndpoint":{"description":"The internet routing endpoint URL for file storage in the primary location.\n","type":"string"},"primaryFileInternetHost":{"description":"The internet routing hostname with port if applicable for file storage in the primary location.\n","type":"string"},"primaryFileMicrosoftEndpoint":{"description":"The microsoft routing endpoint URL for file storage in the primary location.\n","type":"string"},"primaryFileMicrosoftHost":{"description":"The microsoft routing hostname with port if applicable for file storage in the primary location.\n","type":"string"},"primaryLocation":{"description":"The primary location of the Storage Account.\n","type":"string"},"primaryQueueEndpoint":{"description":"The endpoint URL for queue storage in the primary location.\n","type":"string"},"primaryQueueHost":{"description":"The hostname with port if applicable for queue storage in the primary location.\n","type":"string"},"primaryQueueMicrosoftEndpoint":{"description":"The microsoft routing endpoint URL for queue storage in the primary location.\n","type":"string"},"primaryQueueMicrosoftHost":{"description":"The microsoft routing hostname with port if applicable for queue storage in the primary location.\n","type":"string"},"primaryTableEndpoint":{"description":"The endpoint URL for table storage in the primary location.\n","type":"string"},"primaryTableHost":{"description":"The hostname with port if applicable for table storage in the primary location.\n","type":"string"},"primaryTableMicrosoftEndpoint":{"description":"The microsoft routing endpoint URL for table storage in the primary location.\n","type":"string"},"primaryTableMicrosoftHost":{"description":"The microsoft routing hostname with port if applicable for table storage in the primary location.\n","type":"string"},"primaryWebEndpoint":{"description":"The endpoint URL for web storage in the primary location.\n","type":"string"},"primaryWebHost":{"description":"The hostname with port if applicable for web storage in the primary location.\n","type":"string"},"primaryWebInternetEndpoint":{"description":"The internet routing endpoint URL for web storage in the primary location.\n","type":"string"},"primaryWebInternetHost":{"description":"The internet routing hostname with port if applicable for web storage in the primary location.\n","type":"string"},"primaryWebMicrosoftEndpoint":{"description":"The microsoft routing endpoint URL for web storage in the primary location.\n","type":"string"},"primaryWebMicrosoftHost":{"description":"The microsoft routing hostname with port if applicable for web storage in the primary location.\n","type":"string"},"queueEncryptionKeyType":{"description":"The encryption key type of the queue.\n","type":"string"},"resourceGroupName":{"type":"string"},"secondaryAccessKey":{"description":"The secondary access key for the Storage Account.\n","secret":true,"type":"string"},"secondaryBlobConnectionString":{"description":"The connection string associated with the secondary blob location\n","secret":true,"type":"string"},"secondaryBlobEndpoint":{"description":"The endpoint URL for blob storage in the secondary location.\n","type":"string"},"secondaryBlobHost":{"description":"The hostname with port if applicable for blob storage in the secondary location.\n","type":"string"},"secondaryBlobInternetEndpoint":{"description":"The internet routing endpoint URL for blob storage in the secondary location.\n","type":"string"},"secondaryBlobInternetHost":{"description":"The internet routing hostname with port if applicable for blob storage in the secondary location.\n","type":"string"},"secondaryBlobMicrosoftEndpoint":{"description":"The microsoft routing endpoint URL for blob storage in the secondary location.\n","type":"string"},"secondaryBlobMicrosoftHost":{"description":"The microsoft routing hostname with port if applicable for blob storage in the secondary location.\n","type":"string"},"secondaryConnectionString":{"description":"The connection string associated with the secondary location\n","secret":true,"type":"string"},"secondaryDfsEndpoint":{"description":"The endpoint URL for DFS storage in the secondary location.\n","type":"string"},"secondaryDfsHost":{"description":"The hostname with port if applicable for DFS storage in the secondary location.\n","type":"string"},"secondaryDfsInternetEndpoint":{"description":"The internet routing endpoint URL for DFS storage in the secondary location.\n","type":"string"},"secondaryDfsInternetHost":{"description":"The internet routing hostname with port if applicable for DFS storage in the secondary location.\n","type":"string"},"secondaryDfsMicrosoftEndpoint":{"description":"The microsoft routing endpoint URL for DFS storage in the secondary location.\n","type":"string"},"secondaryDfsMicrosoftHost":{"description":"The microsoft routing hostname with port if applicable for DFS storage in the secondary location.\n","type":"string"},"secondaryFileEndpoint":{"description":"The endpoint URL for file storage in the secondary location.\n","type":"string"},"secondaryFileHost":{"description":"The hostname with port if applicable for file storage in the secondary location.\n","type":"string"},"secondaryFileInternetEndpoint":{"description":"The internet routing endpoint URL for file storage in the secondary location.\n","type":"string"},"secondaryFileInternetHost":{"description":"The internet routing hostname with port if applicable for file storage in the secondary location.\n","type":"string"},"secondaryFileMicrosoftEndpoint":{"description":"The microsoft routing endpoint URL for file storage in the secondary location.\n","type":"string"},"secondaryFileMicrosoftHost":{"description":"The microsoft routing hostname with port if applicable for file storage in the secondary location.\n","type":"string"},"secondaryLocation":{"description":"The secondary location of the Storage Account.\n","type":"string"},"secondaryQueueEndpoint":{"description":"The endpoint URL for queue storage in the secondary location.\n","type":"string"},"secondaryQueueHost":{"description":"The hostname with port if applicable for queue storage in the secondary location.\n","type":"string"},"secondaryQueueMicrosoftEndpoint":{"description":"The microsoft routing endpoint URL for queue storage in the secondary location.\n","type":"string"},"secondaryQueueMicrosoftHost":{"description":"The microsoft routing hostname with port if applicable for queue storage in the secondary location.\n","type":"string"},"secondaryTableEndpoint":{"description":"The endpoint URL for table storage in the secondary location.\n","type":"string"},"secondaryTableHost":{"description":"The hostname with port if applicable for table storage in the secondary location.\n","type":"string"},"secondaryTableMicrosoftEndpoint":{"description":"The microsoft routing endpoint URL for table storage in the secondary location.\n","type":"string"},"secondaryTableMicrosoftHost":{"description":"The microsoft routing hostname with port if applicable for table storage in the secondary location.\n","type":"string"},"secondaryWebEndpoint":{"description":"The endpoint URL for web storage in the secondary location.\n","type":"string"},"secondaryWebHost":{"description":"The hostname with port if applicable for web storage in the secondary location.\n","type":"string"},"secondaryWebInternetEndpoint":{"description":"The internet routing endpoint URL for web storage in the secondary location.\n","type":"string"},"secondaryWebInternetHost":{"description":"The internet routing hostname with port if applicable for web storage in the secondary location.\n","type":"string"},"secondaryWebMicrosoftEndpoint":{"description":"The microsoft routing endpoint URL for web storage in the secondary location.\n","type":"string"},"secondaryWebMicrosoftHost":{"description":"The microsoft routing hostname with port if applicable for web storage in the secondary location.\n","type":"string"},"tableEncryptionKeyType":{"description":"The encryption key type of the table.\n","type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"A mapping of tags to assigned to the resource.\n","type":"object"}},"required":["accessTier","accountKind","accountReplicationType","accountTier","allowNestedItemsToBePublic","azureFilesAuthentications","customDomains","dnsEndpointType","httpsTrafficOnlyEnabled","identities","infrastructureEncryptionEnabled","isHnsEnabled","location","name","nfsv3Enabled","primaryAccessKey","primaryBlobConnectionString","primaryBlobEndpoint","primaryBlobHost","primaryBlobInternetEndpoint","primaryBlobInternetHost","primaryBlobMicrosoftEndpoint","primaryBlobMicrosoftHost","primaryConnectionString","primaryDfsEndpoint","primaryDfsHost","primaryDfsInternetEndpoint","primaryDfsInternetHost","primaryDfsMicrosoftEndpoint","primaryDfsMicrosoftHost","primaryFileEndpoint","primaryFileHost","primaryFileInternetEndpoint","primaryFileInternetHost","primaryFileMicrosoftEndpoint","primaryFileMicrosoftHost","primaryLocation","primaryQueueEndpoint","primaryQueueHost","primaryQueueMicrosoftEndpoint","primaryQueueMicrosoftHost","primaryTableEndpoint","primaryTableHost","primaryTableMicrosoftEndpoint","primaryTableMicrosoftHost","primaryWebEndpoint","primaryWebHost","primaryWebInternetEndpoint","primaryWebInternetHost","primaryWebMicrosoftEndpoint","primaryWebMicrosoftHost","queueEncryptionKeyType","secondaryAccessKey","secondaryBlobConnectionString","secondaryBlobEndpoint","secondaryBlobHost","secondaryBlobInternetEndpoint","secondaryBlobInternetHost","secondaryBlobMicrosoftEndpoint","secondaryBlobMicrosoftHost","secondaryConnectionString","secondaryDfsEndpoint","secondaryDfsHost","secondaryDfsInternetEndpoint","secondaryDfsInternetHost","secondaryDfsMicrosoftEndpoint","secondaryDfsMicrosoftHost","secondaryFileEndpoint","secondaryFileHost","secondaryFileInternetEndpoint","secondaryFileInternetHost","secondaryFileMicrosoftEndpoint","secondaryFileMicrosoftHost","secondaryLocation","secondaryQueueEndpoint","secondaryQueueHost","secondaryQueueMicrosoftEndpoint","secondaryQueueMicrosoftHost","secondaryTableEndpoint","secondaryTableHost","secondaryTableMicrosoftEndpoint","secondaryTableMicrosoftHost","secondaryWebEndpoint","secondaryWebHost","secondaryWebInternetEndpoint","secondaryWebInternetHost","secondaryWebMicrosoftEndpoint","secondaryWebMicrosoftHost","tableEncryptionKeyType","tags","id"],"type":"object"}},"azure:storage/getAccountBlobContainerSAS:getAccountBlobContainerSAS":{"description":"Use this data source to obtain a Shared Access Signature (SAS Token) for an existing Storage Account Blob Container.\n\nShared access signatures allow fine-grained, ephemeral access control to various aspects of an Azure Storage Account Blob Container.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst rg = new azure.core.ResourceGroup(\"rg\", {\n    name: \"resourceGroupName\",\n    location: \"West Europe\",\n});\nconst storage = new azure.storage.Account(\"storage\", {\n    name: \"storageaccountname\",\n    resourceGroupName: rg.name,\n    location: rg.location,\n    accountTier: \"Standard\",\n    accountReplicationType: \"LRS\",\n});\nconst container = new azure.storage.Container(\"container\", {\n    name: \"mycontainer\",\n    storageAccountName: storage.name,\n    containerAccessType: \"private\",\n});\nconst example = azure.storage.getAccountBlobContainerSASOutput({\n    connectionString: storage.primaryConnectionString,\n    containerName: container.name,\n    httpsOnly: true,\n    ipAddress: \"168.1.5.65\",\n    start: \"2018-03-21\",\n    expiry: \"2018-03-21\",\n    permissions: {\n        read: true,\n        add: true,\n        create: false,\n        write: false,\n        \"delete\": true,\n        list: true,\n    },\n    cacheControl: \"max-age=5\",\n    contentDisposition: \"inline\",\n    contentEncoding: \"deflate\",\n    contentLanguage: \"en-US\",\n    contentType: \"application/json\",\n});\nexport const sasUrlQueryString = example.apply(example =\u003e example.sas);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nrg = azure.core.ResourceGroup(\"rg\",\n    name=\"resourceGroupName\",\n    location=\"West Europe\")\nstorage = azure.storage.Account(\"storage\",\n    name=\"storageaccountname\",\n    resource_group_name=rg.name,\n    location=rg.location,\n    account_tier=\"Standard\",\n    account_replication_type=\"LRS\")\ncontainer = azure.storage.Container(\"container\",\n    name=\"mycontainer\",\n    storage_account_name=storage.name,\n    container_access_type=\"private\")\nexample = azure.storage.get_account_blob_container_sas_output(connection_string=storage.primary_connection_string,\n    container_name=container.name,\n    https_only=True,\n    ip_address=\"168.1.5.65\",\n    start=\"2018-03-21\",\n    expiry=\"2018-03-21\",\n    permissions={\n        \"read\": True,\n        \"add\": True,\n        \"create\": False,\n        \"write\": False,\n        \"delete\": True,\n        \"list\": True,\n    },\n    cache_control=\"max-age=5\",\n    content_disposition=\"inline\",\n    content_encoding=\"deflate\",\n    content_language=\"en-US\",\n    content_type=\"application/json\")\npulumi.export(\"sasUrlQueryString\", example.sas)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var rg = new Azure.Core.ResourceGroup(\"rg\", new()\n    {\n        Name = \"resourceGroupName\",\n        Location = \"West Europe\",\n    });\n\n    var storage = new Azure.Storage.Account(\"storage\", new()\n    {\n        Name = \"storageaccountname\",\n        ResourceGroupName = rg.Name,\n        Location = rg.Location,\n        AccountTier = \"Standard\",\n        AccountReplicationType = \"LRS\",\n    });\n\n    var container = new Azure.Storage.Container(\"container\", new()\n    {\n        Name = \"mycontainer\",\n        StorageAccountName = storage.Name,\n        ContainerAccessType = \"private\",\n    });\n\n    var example = Azure.Storage.GetAccountBlobContainerSAS.Invoke(new()\n    {\n        ConnectionString = storage.PrimaryConnectionString,\n        ContainerName = container.Name,\n        HttpsOnly = true,\n        IpAddress = \"168.1.5.65\",\n        Start = \"2018-03-21\",\n        Expiry = \"2018-03-21\",\n        Permissions = new Azure.Storage.Inputs.GetAccountBlobContainerSASPermissionsInputArgs\n        {\n            Read = true,\n            Add = true,\n            Create = false,\n            Write = false,\n            Delete = true,\n            List = true,\n        },\n        CacheControl = \"max-age=5\",\n        ContentDisposition = \"inline\",\n        ContentEncoding = \"deflate\",\n        ContentLanguage = \"en-US\",\n        ContentType = \"application/json\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"sasUrlQueryString\"] = example.Apply(getAccountBlobContainerSASResult =\u003e getAccountBlobContainerSASResult.Sas),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\trg, err := core.NewResourceGroup(ctx, \"rg\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"resourceGroupName\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tstorage, err := storage.NewAccount(ctx, \"storage\", \u0026storage.AccountArgs{\n\t\t\tName:                   pulumi.String(\"storageaccountname\"),\n\t\t\tResourceGroupName:      rg.Name,\n\t\t\tLocation:               rg.Location,\n\t\t\tAccountTier:            pulumi.String(\"Standard\"),\n\t\t\tAccountReplicationType: pulumi.String(\"LRS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcontainer, err := storage.NewContainer(ctx, \"container\", \u0026storage.ContainerArgs{\n\t\t\tName:                pulumi.String(\"mycontainer\"),\n\t\t\tStorageAccountName:  storage.Name,\n\t\t\tContainerAccessType: pulumi.String(\"private\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample := storage.GetAccountBlobContainerSASOutput(ctx, storage.GetAccountBlobContainerSASOutputArgs{\n\t\t\tConnectionString: storage.PrimaryConnectionString,\n\t\t\tContainerName:    container.Name,\n\t\t\tHttpsOnly:        pulumi.Bool(true),\n\t\t\tIpAddress:        pulumi.String(\"168.1.5.65\"),\n\t\t\tStart:            pulumi.String(\"2018-03-21\"),\n\t\t\tExpiry:           pulumi.String(\"2018-03-21\"),\n\t\t\tPermissions: \u0026storage.GetAccountBlobContainerSASPermissionsArgs{\n\t\t\t\tRead:   pulumi.Bool(true),\n\t\t\t\tAdd:    pulumi.Bool(true),\n\t\t\t\tCreate: pulumi.Bool(false),\n\t\t\t\tWrite:  pulumi.Bool(false),\n\t\t\t\tDelete: pulumi.Bool(true),\n\t\t\t\tList:   pulumi.Bool(true),\n\t\t\t},\n\t\t\tCacheControl:       pulumi.String(\"max-age=5\"),\n\t\t\tContentDisposition: pulumi.String(\"inline\"),\n\t\t\tContentEncoding:    pulumi.String(\"deflate\"),\n\t\t\tContentLanguage:    pulumi.String(\"en-US\"),\n\t\t\tContentType:        pulumi.String(\"application/json\"),\n\t\t}, nil)\n\t\tctx.Export(\"sasUrlQueryString\", example.ApplyT(func(example storage.GetAccountBlobContainerSASResult) (*string, error) {\n\t\t\treturn \u0026example.Sas, nil\n\t\t}).(pulumi.StringPtrOutput))\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.storage.Account;\nimport com.pulumi.azure.storage.AccountArgs;\nimport com.pulumi.azure.storage.Container;\nimport com.pulumi.azure.storage.ContainerArgs;\nimport com.pulumi.azure.storage.StorageFunctions;\nimport com.pulumi.azure.storage.inputs.GetAccountBlobContainerSASArgs;\nimport com.pulumi.azure.storage.inputs.GetAccountBlobContainerSASPermissionsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var rg = new ResourceGroup(\"rg\", ResourceGroupArgs.builder()\n            .name(\"resourceGroupName\")\n            .location(\"West Europe\")\n            .build());\n\n        var storage = new Account(\"storage\", AccountArgs.builder()\n            .name(\"storageaccountname\")\n            .resourceGroupName(rg.name())\n            .location(rg.location())\n            .accountTier(\"Standard\")\n            .accountReplicationType(\"LRS\")\n            .build());\n\n        var container = new Container(\"container\", ContainerArgs.builder()\n            .name(\"mycontainer\")\n            .storageAccountName(storage.name())\n            .containerAccessType(\"private\")\n            .build());\n\n        final var example = StorageFunctions.getAccountBlobContainerSAS(GetAccountBlobContainerSASArgs.builder()\n            .connectionString(storage.primaryConnectionString())\n            .containerName(container.name())\n            .httpsOnly(true)\n            .ipAddress(\"168.1.5.65\")\n            .start(\"2018-03-21\")\n            .expiry(\"2018-03-21\")\n            .permissions(GetAccountBlobContainerSASPermissionsArgs.builder()\n                .read(true)\n                .add(true)\n                .create(false)\n                .write(false)\n                .delete(true)\n                .list(true)\n                .build())\n            .cacheControl(\"max-age=5\")\n            .contentDisposition(\"inline\")\n            .contentEncoding(\"deflate\")\n            .contentLanguage(\"en-US\")\n            .contentType(\"application/json\")\n            .build());\n\n        ctx.export(\"sasUrlQueryString\", example.applyValue(_example -\u003e _example.sas()));\n    }\n}\n```\n```yaml\nresources:\n  rg:\n    type: azure:core:ResourceGroup\n    properties:\n      name: resourceGroupName\n      location: West Europe\n  storage:\n    type: azure:storage:Account\n    properties:\n      name: storageaccountname\n      resourceGroupName: ${rg.name}\n      location: ${rg.location}\n      accountTier: Standard\n      accountReplicationType: LRS\n  container:\n    type: azure:storage:Container\n    properties:\n      name: mycontainer\n      storageAccountName: ${storage.name}\n      containerAccessType: private\nvariables:\n  example:\n    fn::invoke:\n      function: azure:storage:getAccountBlobContainerSAS\n      arguments:\n        connectionString: ${storage.primaryConnectionString}\n        containerName: ${container.name}\n        httpsOnly: true\n        ipAddress: 168.1.5.65\n        start: 2018-03-21\n        expiry: 2018-03-21\n        permissions:\n          read: true\n          add: true\n          create: false\n          write: false\n          delete: true\n          list: true\n        cacheControl: max-age=5\n        contentDisposition: inline\n        contentEncoding: deflate\n        contentLanguage: en-US\n        contentType: application/json\noutputs:\n  sasUrlQueryString: ${example.sas}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getAccountBlobContainerSAS.\n","properties":{"cacheControl":{"type":"string","description":"The `Cache-Control` response header that is sent when this SAS token is used.\n"},"connectionString":{"type":"string","description":"The connection string for the storage account to which this SAS applies. Typically directly from the \u003cspan pulumi-lang-nodejs=\"`primaryConnectionString`\" pulumi-lang-dotnet=\"`PrimaryConnectionString`\" pulumi-lang-go=\"`primaryConnectionString`\" pulumi-lang-python=\"`primary_connection_string`\" pulumi-lang-yaml=\"`primaryConnectionString`\" pulumi-lang-java=\"`primaryConnectionString`\"\u003e`primary_connection_string`\u003c/span\u003e attribute of an \u003cspan pulumi-lang-nodejs=\"`azure.storage.Account`\" pulumi-lang-dotnet=\"`azure.storage.Account`\" pulumi-lang-go=\"`storage.Account`\" pulumi-lang-python=\"`storage.Account`\" pulumi-lang-yaml=\"`azure.storage.Account`\" pulumi-lang-java=\"`azure.storage.Account`\"\u003e`azure.storage.Account`\u003c/span\u003e resource.\n","secret":true},"containerName":{"type":"string","description":"Name of the container.\n"},"contentDisposition":{"type":"string","description":"The `Content-Disposition` response header that is sent when this SAS token is used.\n"},"contentEncoding":{"type":"string","description":"The `Content-Encoding` response header that is sent when this SAS token is used.\n"},"contentLanguage":{"type":"string","description":"The `Content-Language` response header that is sent when this SAS token is used.\n"},"contentType":{"type":"string","description":"The `Content-Type` response header that is sent when this SAS token is used.\n"},"expiry":{"type":"string","description":"The expiration time and date of this SAS. Must be a valid ISO-8601 format time/date string.\n\n\u003e **Note:** The [ISO-8601 Time offset from UTC](https://en.wikipedia.org/wiki/ISO_8601#Time_offsets_from_UTC) is currently not supported by the service, which will result into 409 error.\n"},"httpsOnly":{"type":"boolean","description":"Only permit \u003cspan pulumi-lang-nodejs=\"`https`\" pulumi-lang-dotnet=\"`Https`\" pulumi-lang-go=\"`https`\" pulumi-lang-python=\"`https`\" pulumi-lang-yaml=\"`https`\" pulumi-lang-java=\"`https`\"\u003e`https`\u003c/span\u003e access. If \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e, both \u003cspan pulumi-lang-nodejs=\"`http`\" pulumi-lang-dotnet=\"`Http`\" pulumi-lang-go=\"`http`\" pulumi-lang-python=\"`http`\" pulumi-lang-yaml=\"`http`\" pulumi-lang-java=\"`http`\"\u003e`http`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`https`\" pulumi-lang-dotnet=\"`Https`\" pulumi-lang-go=\"`https`\" pulumi-lang-python=\"`https`\" pulumi-lang-yaml=\"`https`\" pulumi-lang-java=\"`https`\"\u003e`https`\u003c/span\u003e are permitted. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"ipAddress":{"type":"string","description":"Single IPv4 address or range (connected with a dash) of IPv4 addresses.\n"},"permissions":{"$ref":"#/types/azure:storage/getAccountBlobContainerSASPermissions:getAccountBlobContainerSASPermissions","description":"A \u003cspan pulumi-lang-nodejs=\"`permissions`\" pulumi-lang-dotnet=\"`Permissions`\" pulumi-lang-go=\"`permissions`\" pulumi-lang-python=\"`permissions`\" pulumi-lang-yaml=\"`permissions`\" pulumi-lang-java=\"`permissions`\"\u003e`permissions`\u003c/span\u003e block as defined below.\n"},"start":{"type":"string","description":"The starting time and date of validity of this SAS. Must be a valid ISO-8601 format time/date string.\n"}},"type":"object","required":["connectionString","containerName","expiry","permissions","start"]},"outputs":{"description":"A collection of values returned by getAccountBlobContainerSAS.\n","properties":{"cacheControl":{"type":"string"},"connectionString":{"secret":true,"type":"string"},"containerName":{"type":"string"},"contentDisposition":{"type":"string"},"contentEncoding":{"type":"string"},"contentLanguage":{"type":"string"},"contentType":{"type":"string"},"expiry":{"type":"string"},"httpsOnly":{"type":"boolean"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"ipAddress":{"type":"string"},"permissions":{"$ref":"#/types/azure:storage/getAccountBlobContainerSASPermissions:getAccountBlobContainerSASPermissions"},"sas":{"description":"The computed Blob Container Shared Access Signature (SAS). The delimiter character ('?') for the query string is the prefix of \u003cspan pulumi-lang-nodejs=\"`sas`\" pulumi-lang-dotnet=\"`Sas`\" pulumi-lang-go=\"`sas`\" pulumi-lang-python=\"`sas`\" pulumi-lang-yaml=\"`sas`\" pulumi-lang-java=\"`sas`\"\u003e`sas`\u003c/span\u003e.\n","secret":true,"type":"string"},"start":{"type":"string"}},"required":["connectionString","containerName","expiry","permissions","sas","start","id"],"type":"object"}},"azure:storage/getAccountSAS:getAccountSAS":{"description":"Use this data source to obtain a Shared Access Signature (SAS Token) for an existing Storage Account.\n\nShared access signatures allow fine-grained, ephemeral access control to various aspects of an Azure Storage Account.\n\nNote that this is an [Account SAS](https://docs.microsoft.com/rest/api/storageservices/constructing-an-account-sas)\nand *not* a [Service SAS](https://docs.microsoft.com/rest/api/storageservices/constructing-a-service-sas).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"example\", {\n    name: \"resourceGroupName\",\n    location: \"West Europe\",\n});\nconst exampleAccount = new azure.storage.Account(\"example\", {\n    name: \"storageaccountname\",\n    resourceGroupName: exampleResourceGroup.name,\n    location: exampleResourceGroup.location,\n    accountTier: \"Standard\",\n    accountReplicationType: \"GRS\",\n    tags: {\n        environment: \"staging\",\n    },\n});\nconst example = azure.storage.getAccountSASOutput({\n    connectionString: exampleAccount.primaryConnectionString,\n    httpsOnly: true,\n    signedVersion: \"2022-11-02\",\n    resourceTypes: {\n        service: true,\n        container: false,\n        object: false,\n    },\n    services: {\n        blob: true,\n        queue: false,\n        table: false,\n        file: false,\n    },\n    start: \"2018-03-21T00:00:00Z\",\n    expiry: \"2020-03-21T00:00:00Z\",\n    permissions: {\n        read: true,\n        write: true,\n        \"delete\": false,\n        list: false,\n        add: true,\n        create: true,\n        update: false,\n        process: false,\n        tag: false,\n        filter: false,\n    },\n});\nexport const sasUrlQueryString = example.apply(example =\u003e example.sas);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"example\",\n    name=\"resourceGroupName\",\n    location=\"West Europe\")\nexample_account = azure.storage.Account(\"example\",\n    name=\"storageaccountname\",\n    resource_group_name=example_resource_group.name,\n    location=example_resource_group.location,\n    account_tier=\"Standard\",\n    account_replication_type=\"GRS\",\n    tags={\n        \"environment\": \"staging\",\n    })\nexample = azure.storage.get_account_sas_output(connection_string=example_account.primary_connection_string,\n    https_only=True,\n    signed_version=\"2022-11-02\",\n    resource_types={\n        \"service\": True,\n        \"container\": False,\n        \"object\": False,\n    },\n    services={\n        \"blob\": True,\n        \"queue\": False,\n        \"table\": False,\n        \"file\": False,\n    },\n    start=\"2018-03-21T00:00:00Z\",\n    expiry=\"2020-03-21T00:00:00Z\",\n    permissions={\n        \"read\": True,\n        \"write\": True,\n        \"delete\": False,\n        \"list\": False,\n        \"add\": True,\n        \"create\": True,\n        \"update\": False,\n        \"process\": False,\n        \"tag\": False,\n        \"filter\": False,\n    })\npulumi.export(\"sasUrlQueryString\", example.sas)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleResourceGroup = new Azure.Core.ResourceGroup(\"example\", new()\n    {\n        Name = \"resourceGroupName\",\n        Location = \"West Europe\",\n    });\n\n    var exampleAccount = new Azure.Storage.Account(\"example\", new()\n    {\n        Name = \"storageaccountname\",\n        ResourceGroupName = exampleResourceGroup.Name,\n        Location = exampleResourceGroup.Location,\n        AccountTier = \"Standard\",\n        AccountReplicationType = \"GRS\",\n        Tags = \n        {\n            { \"environment\", \"staging\" },\n        },\n    });\n\n    var example = Azure.Storage.GetAccountSAS.Invoke(new()\n    {\n        ConnectionString = exampleAccount.PrimaryConnectionString,\n        HttpsOnly = true,\n        SignedVersion = \"2022-11-02\",\n        ResourceTypes = new Azure.Storage.Inputs.GetAccountSASResourceTypesInputArgs\n        {\n            Service = true,\n            Container = false,\n            Object = false,\n        },\n        Services = new Azure.Storage.Inputs.GetAccountSASServicesInputArgs\n        {\n            Blob = true,\n            Queue = false,\n            Table = false,\n            File = false,\n        },\n        Start = \"2018-03-21T00:00:00Z\",\n        Expiry = \"2020-03-21T00:00:00Z\",\n        Permissions = new Azure.Storage.Inputs.GetAccountSASPermissionsInputArgs\n        {\n            Read = true,\n            Write = true,\n            Delete = false,\n            List = false,\n            Add = true,\n            Create = true,\n            Update = false,\n            Process = false,\n            Tag = false,\n            Filter = false,\n        },\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"sasUrlQueryString\"] = example.Apply(getAccountSASResult =\u003e getAccountSASResult.Sas),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"resourceGroupName\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := storage.NewAccount(ctx, \"example\", \u0026storage.AccountArgs{\n\t\t\tName:                   pulumi.String(\"storageaccountname\"),\n\t\t\tResourceGroupName:      exampleResourceGroup.Name,\n\t\t\tLocation:               exampleResourceGroup.Location,\n\t\t\tAccountTier:            pulumi.String(\"Standard\"),\n\t\t\tAccountReplicationType: pulumi.String(\"GRS\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"environment\": pulumi.String(\"staging\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample := storage.GetAccountSASOutput(ctx, storage.GetAccountSASOutputArgs{\n\t\t\tConnectionString: exampleAccount.PrimaryConnectionString,\n\t\t\tHttpsOnly:        pulumi.Bool(true),\n\t\t\tSignedVersion:    pulumi.String(\"2022-11-02\"),\n\t\t\tResourceTypes: \u0026storage.GetAccountSASResourceTypesArgs{\n\t\t\t\tService:   pulumi.Bool(true),\n\t\t\t\tContainer: pulumi.Bool(false),\n\t\t\t\tObject:    pulumi.Bool(false),\n\t\t\t},\n\t\t\tServices: \u0026storage.GetAccountSASServicesArgs{\n\t\t\t\tBlob:  pulumi.Bool(true),\n\t\t\t\tQueue: pulumi.Bool(false),\n\t\t\t\tTable: pulumi.Bool(false),\n\t\t\t\tFile:  pulumi.Bool(false),\n\t\t\t},\n\t\t\tStart:  pulumi.String(\"2018-03-21T00:00:00Z\"),\n\t\t\tExpiry: pulumi.String(\"2020-03-21T00:00:00Z\"),\n\t\t\tPermissions: \u0026storage.GetAccountSASPermissionsArgs{\n\t\t\t\tRead:    pulumi.Bool(true),\n\t\t\t\tWrite:   pulumi.Bool(true),\n\t\t\t\tDelete:  pulumi.Bool(false),\n\t\t\t\tList:    pulumi.Bool(false),\n\t\t\t\tAdd:     pulumi.Bool(true),\n\t\t\t\tCreate:  pulumi.Bool(true),\n\t\t\t\tUpdate:  pulumi.Bool(false),\n\t\t\t\tProcess: pulumi.Bool(false),\n\t\t\t\tTag:     pulumi.Bool(false),\n\t\t\t\tFilter:  pulumi.Bool(false),\n\t\t\t},\n\t\t}, nil)\n\t\tctx.Export(\"sasUrlQueryString\", example.ApplyT(func(example storage.GetAccountSASResult) (*string, error) {\n\t\t\treturn \u0026example.Sas, nil\n\t\t}).(pulumi.StringPtrOutput))\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.storage.Account;\nimport com.pulumi.azure.storage.AccountArgs;\nimport com.pulumi.azure.storage.StorageFunctions;\nimport com.pulumi.azure.storage.inputs.GetAccountSASArgs;\nimport com.pulumi.azure.storage.inputs.GetAccountSASResourceTypesArgs;\nimport com.pulumi.azure.storage.inputs.GetAccountSASServicesArgs;\nimport com.pulumi.azure.storage.inputs.GetAccountSASPermissionsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var exampleResourceGroup = new ResourceGroup(\"exampleResourceGroup\", ResourceGroupArgs.builder()\n            .name(\"resourceGroupName\")\n            .location(\"West Europe\")\n            .build());\n\n        var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n            .name(\"storageaccountname\")\n            .resourceGroupName(exampleResourceGroup.name())\n            .location(exampleResourceGroup.location())\n            .accountTier(\"Standard\")\n            .accountReplicationType(\"GRS\")\n            .tags(Map.of(\"environment\", \"staging\"))\n            .build());\n\n        final var example = StorageFunctions.getAccountSAS(GetAccountSASArgs.builder()\n            .connectionString(exampleAccount.primaryConnectionString())\n            .httpsOnly(true)\n            .signedVersion(\"2022-11-02\")\n            .resourceTypes(GetAccountSASResourceTypesArgs.builder()\n                .service(true)\n                .container(false)\n                .object(false)\n                .build())\n            .services(GetAccountSASServicesArgs.builder()\n                .blob(true)\n                .queue(false)\n                .table(false)\n                .file(false)\n                .build())\n            .start(\"2018-03-21T00:00:00Z\")\n            .expiry(\"2020-03-21T00:00:00Z\")\n            .permissions(GetAccountSASPermissionsArgs.builder()\n                .read(true)\n                .write(true)\n                .delete(false)\n                .list(false)\n                .add(true)\n                .create(true)\n                .update(false)\n                .process(false)\n                .tag(false)\n                .filter(false)\n                .build())\n            .build());\n\n        ctx.export(\"sasUrlQueryString\", example.applyValue(_example -\u003e _example.sas()));\n    }\n}\n```\n```yaml\nresources:\n  exampleResourceGroup:\n    type: azure:core:ResourceGroup\n    name: example\n    properties:\n      name: resourceGroupName\n      location: West Europe\n  exampleAccount:\n    type: azure:storage:Account\n    name: example\n    properties:\n      name: storageaccountname\n      resourceGroupName: ${exampleResourceGroup.name}\n      location: ${exampleResourceGroup.location}\n      accountTier: Standard\n      accountReplicationType: GRS\n      tags:\n        environment: staging\nvariables:\n  example:\n    fn::invoke:\n      function: azure:storage:getAccountSAS\n      arguments:\n        connectionString: ${exampleAccount.primaryConnectionString}\n        httpsOnly: true\n        signedVersion: 2022-11-02\n        resourceTypes:\n          service: true\n          container: false\n          object: false\n        services:\n          blob: true\n          queue: false\n          table: false\n          file: false\n        start: 2018-03-21T00:00:00Z\n        expiry: 2020-03-21T00:00:00Z\n        permissions:\n          read: true\n          write: true\n          delete: false\n          list: false\n          add: true\n          create: true\n          update: false\n          process: false\n          tag: false\n          filter: false\noutputs:\n  sasUrlQueryString: ${example.sas}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getAccountSAS.\n","properties":{"connectionString":{"type":"string","description":"The connection string for the storage account to which this SAS applies. Typically directly from the \u003cspan pulumi-lang-nodejs=\"`primaryConnectionString`\" pulumi-lang-dotnet=\"`PrimaryConnectionString`\" pulumi-lang-go=\"`primaryConnectionString`\" pulumi-lang-python=\"`primary_connection_string`\" pulumi-lang-yaml=\"`primaryConnectionString`\" pulumi-lang-java=\"`primaryConnectionString`\"\u003e`primary_connection_string`\u003c/span\u003e attribute of a \u003cspan pulumi-lang-nodejs=\"`azure.storage.Account`\" pulumi-lang-dotnet=\"`azure.storage.Account`\" pulumi-lang-go=\"`storage.Account`\" pulumi-lang-python=\"`storage.Account`\" pulumi-lang-yaml=\"`azure.storage.Account`\" pulumi-lang-java=\"`azure.storage.Account`\"\u003e`azure.storage.Account`\u003c/span\u003e resource.\n","secret":true},"expiry":{"type":"string","description":"The expiration time and date of this SAS. Must be a valid ISO-8601 format time/date string.\n\n\u003e **Note:** The [ISO-8601 Time offset from UTC](https://en.wikipedia.org/wiki/ISO_8601#Time_offsets_from_UTC) is currently not supported by the service, which will result into 409 error.\n"},"httpsOnly":{"type":"boolean","description":"Only permit \u003cspan pulumi-lang-nodejs=\"`https`\" pulumi-lang-dotnet=\"`Https`\" pulumi-lang-go=\"`https`\" pulumi-lang-python=\"`https`\" pulumi-lang-yaml=\"`https`\" pulumi-lang-java=\"`https`\"\u003e`https`\u003c/span\u003e access. If \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e, both \u003cspan pulumi-lang-nodejs=\"`http`\" pulumi-lang-dotnet=\"`Http`\" pulumi-lang-go=\"`http`\" pulumi-lang-python=\"`http`\" pulumi-lang-yaml=\"`http`\" pulumi-lang-java=\"`http`\"\u003e`http`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`https`\" pulumi-lang-dotnet=\"`Https`\" pulumi-lang-go=\"`https`\" pulumi-lang-python=\"`https`\" pulumi-lang-yaml=\"`https`\" pulumi-lang-java=\"`https`\"\u003e`https`\u003c/span\u003e are permitted. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"ipAddresses":{"type":"string","description":"IP address, or a range of IP addresses, from which to accept requests. When specifying a range, note that the range is inclusive.\n"},"permissions":{"$ref":"#/types/azure:storage/getAccountSASPermissions:getAccountSASPermissions","description":"A \u003cspan pulumi-lang-nodejs=\"`permissions`\" pulumi-lang-dotnet=\"`Permissions`\" pulumi-lang-go=\"`permissions`\" pulumi-lang-python=\"`permissions`\" pulumi-lang-yaml=\"`permissions`\" pulumi-lang-java=\"`permissions`\"\u003e`permissions`\u003c/span\u003e block as defined below.\n"},"resourceTypes":{"$ref":"#/types/azure:storage/getAccountSASResourceTypes:getAccountSASResourceTypes","description":"A \u003cspan pulumi-lang-nodejs=\"`resourceTypes`\" pulumi-lang-dotnet=\"`ResourceTypes`\" pulumi-lang-go=\"`resourceTypes`\" pulumi-lang-python=\"`resource_types`\" pulumi-lang-yaml=\"`resourceTypes`\" pulumi-lang-java=\"`resourceTypes`\"\u003e`resource_types`\u003c/span\u003e block as defined below.\n"},"services":{"$ref":"#/types/azure:storage/getAccountSASServices:getAccountSASServices","description":"A \u003cspan pulumi-lang-nodejs=\"`services`\" pulumi-lang-dotnet=\"`Services`\" pulumi-lang-go=\"`services`\" pulumi-lang-python=\"`services`\" pulumi-lang-yaml=\"`services`\" pulumi-lang-java=\"`services`\"\u003e`services`\u003c/span\u003e block as defined below.\n"},"signedVersion":{"type":"string","description":"Specifies the signed storage service version to use to authorize requests made with this account SAS. Defaults to `2022-11-02`.\n"},"start":{"type":"string","description":"The starting time and date of validity of this SAS. Must be a valid ISO-8601 format time/date string.\n"}},"type":"object","required":["connectionString","expiry","permissions","resourceTypes","services","start"]},"outputs":{"description":"A collection of values returned by getAccountSAS.\n","properties":{"connectionString":{"secret":true,"type":"string"},"expiry":{"type":"string"},"httpsOnly":{"type":"boolean"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"ipAddresses":{"type":"string"},"permissions":{"$ref":"#/types/azure:storage/getAccountSASPermissions:getAccountSASPermissions"},"resourceTypes":{"$ref":"#/types/azure:storage/getAccountSASResourceTypes:getAccountSASResourceTypes"},"sas":{"description":"The computed Account Shared Access Signature (SAS).\n","secret":true,"type":"string"},"services":{"$ref":"#/types/azure:storage/getAccountSASServices:getAccountSASServices"},"signedVersion":{"type":"string"},"start":{"type":"string"}},"required":["connectionString","expiry","permissions","resourceTypes","sas","services","start","id"],"type":"object"}},"azure:storage/getBlob:getBlob":{"description":"Use this data source to access information about an existing Storage Blob.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.storage.getBlob({\n    name: \"example-blob-name\",\n    storageAccountName: \"example-storage-account-name\",\n    storageContainerName: \"example-storage-container-name\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.storage.get_blob(name=\"example-blob-name\",\n    storage_account_name=\"example-storage-account-name\",\n    storage_container_name=\"example-storage-container-name\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Storage.GetBlob.Invoke(new()\n    {\n        Name = \"example-blob-name\",\n        StorageAccountName = \"example-storage-account-name\",\n        StorageContainerName = \"example-storage-container-name\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := storage.LookupBlob(ctx, \u0026storage.LookupBlobArgs{\n\t\t\tName:                 \"example-blob-name\",\n\t\t\tStorageAccountName:   \"example-storage-account-name\",\n\t\t\tStorageContainerName: \"example-storage-container-name\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.storage.StorageFunctions;\nimport com.pulumi.azure.storage.inputs.GetBlobArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = StorageFunctions.getBlob(GetBlobArgs.builder()\n            .name(\"example-blob-name\")\n            .storageAccountName(\"example-storage-account-name\")\n            .storageContainerName(\"example-storage-container-name\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:storage:getBlob\n      arguments:\n        name: example-blob-name\n        storageAccountName: example-storage-account-name\n        storageContainerName: example-storage-container-name\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getBlob.\n","properties":{"metadata":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of custom blob metadata.\n"},"name":{"type":"string","description":"The name of the Blob.\n"},"storageAccountName":{"type":"string","description":"The name of the Storage Account where the Container exists.\n"},"storageContainerName":{"type":"string","description":"The name of the Storage Container where the Blob exists.\n"}},"type":"object","required":["name","storageAccountName","storageContainerName"]},"outputs":{"description":"A collection of values returned by getBlob.\n","properties":{"accessTier":{"description":"The access tier of the storage blob.\n","type":"string"},"contentMd5":{"description":"The MD5 sum of the blob contents.\n","type":"string"},"contentType":{"description":"The content type of the storage blob.\n","type":"string"},"encryptionScope":{"description":"The encryption scope for this blob.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"metadata":{"additionalProperties":{"type":"string"},"description":"A map of custom blob metadata.\n","type":"object"},"name":{"type":"string"},"storageAccountName":{"type":"string"},"storageContainerName":{"type":"string"},"type":{"description":"The type of the storage blob\n","type":"string"},"url":{"description":"The URL of the storage blob.\n","type":"string"}},"required":["accessTier","contentMd5","contentType","encryptionScope","metadata","name","storageAccountName","storageContainerName","type","url","id"],"type":"object"}},"azure:storage/getContainers:getContainers":{"description":"Use this data source to access information about the existing Storage Containers within a Storage Account.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.storage.getContainers({\n    storageAccountId: \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Storage/storageAccounts/sa1\",\n});\nexport const containerId = example.then(example =\u003e example.containers?.[0]?.resourceManagerId);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.storage.get_containers(storage_account_id=\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Storage/storageAccounts/sa1\")\npulumi.export(\"containerId\", example.containers[0].resource_manager_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Storage.GetContainers.Invoke(new()\n    {\n        StorageAccountId = \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Storage/storageAccounts/sa1\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"containerId\"] = example.Apply(getContainersResult =\u003e getContainersResult.Containers[0]?.ResourceManagerId),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := storage.GetContainers(ctx, \u0026storage.GetContainersArgs{\n\t\t\tStorageAccountId: \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Storage/storageAccounts/sa1\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"containerId\", example.Containers[0].ResourceManagerId)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.storage.StorageFunctions;\nimport com.pulumi.azure.storage.inputs.GetContainersArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = StorageFunctions.getContainers(GetContainersArgs.builder()\n            .storageAccountId(\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Storage/storageAccounts/sa1\")\n            .build());\n\n        ctx.export(\"containerId\", example.containers()[0].resourceManagerId());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:storage:getContainers\n      arguments:\n        storageAccountId: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Storage/storageAccounts/sa1\noutputs:\n  containerId: ${example.containers[0].resourceManagerId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getContainers.\n","properties":{"namePrefix":{"type":"string","description":"A prefix match used for the Storage Container \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e field.\n"},"storageAccountId":{"type":"string","description":"The ID of the Storage Account that the Storage Containers reside in.\n"}},"type":"object","required":["storageAccountId"]},"outputs":{"description":"A collection of values returned by getContainers.\n","properties":{"containers":{"description":"A \u003cspan pulumi-lang-nodejs=\"`containers`\" pulumi-lang-dotnet=\"`Containers`\" pulumi-lang-go=\"`containers`\" pulumi-lang-python=\"`containers`\" pulumi-lang-yaml=\"`containers`\" pulumi-lang-java=\"`containers`\"\u003e`containers`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:storage/getContainersContainer:getContainersContainer"},"type":"array"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"namePrefix":{"type":"string"},"storageAccountId":{"type":"string"}},"required":["containers","storageAccountId","id"],"type":"object"}},"azure:storage/getEncryptionScope:getEncryptionScope":{"description":"Use this data source to access information about an existing Storage Encryption Scope.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.storage.getAccount({\n    name: \"storageaccountname\",\n    resourceGroupName: \"resourcegroupname\",\n});\nconst exampleGetEncryptionScope = example.then(example =\u003e azure.storage.getEncryptionScope({\n    name: \"existingStorageES\",\n    storageAccountId: example.id,\n}));\nexport const id = exampleGetEncryptionScope.then(exampleGetEncryptionScope =\u003e exampleGetEncryptionScope.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.storage.get_account(name=\"storageaccountname\",\n    resource_group_name=\"resourcegroupname\")\nexample_get_encryption_scope = azure.storage.get_encryption_scope(name=\"existingStorageES\",\n    storage_account_id=example.id)\npulumi.export(\"id\", example_get_encryption_scope.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Storage.GetAccount.Invoke(new()\n    {\n        Name = \"storageaccountname\",\n        ResourceGroupName = \"resourcegroupname\",\n    });\n\n    var exampleGetEncryptionScope = Azure.Storage.GetEncryptionScope.Invoke(new()\n    {\n        Name = \"existingStorageES\",\n        StorageAccountId = example.Apply(getAccountResult =\u003e getAccountResult.Id),\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"id\"] = exampleGetEncryptionScope.Apply(getEncryptionScopeResult =\u003e getEncryptionScopeResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := storage.LookupAccount(ctx, \u0026storage.LookupAccountArgs{\n\t\t\tName:              \"storageaccountname\",\n\t\t\tResourceGroupName: pulumi.StringRef(\"resourcegroupname\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleGetEncryptionScope, err := storage.LookupEncryptionScope(ctx, \u0026storage.LookupEncryptionScopeArgs{\n\t\t\tName:             \"existingStorageES\",\n\t\t\tStorageAccountId: example.Id,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"id\", exampleGetEncryptionScope.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.storage.StorageFunctions;\nimport com.pulumi.azure.storage.inputs.GetAccountArgs;\nimport com.pulumi.azure.storage.inputs.GetEncryptionScopeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = StorageFunctions.getAccount(GetAccountArgs.builder()\n            .name(\"storageaccountname\")\n            .resourceGroupName(\"resourcegroupname\")\n            .build());\n\n        final var exampleGetEncryptionScope = StorageFunctions.getEncryptionScope(GetEncryptionScopeArgs.builder()\n            .name(\"existingStorageES\")\n            .storageAccountId(example.id())\n            .build());\n\n        ctx.export(\"id\", exampleGetEncryptionScope.id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:storage:getAccount\n      arguments:\n        name: storageaccountname\n        resourceGroupName: resourcegroupname\n  exampleGetEncryptionScope:\n    fn::invoke:\n      function: azure:storage:getEncryptionScope\n      arguments:\n        name: existingStorageES\n        storageAccountId: ${example.id}\noutputs:\n  id: ${exampleGetEncryptionScope.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.Storage` - 2023-05-01\n","inputs":{"description":"A collection of arguments for invoking getEncryptionScope.\n","properties":{"name":{"type":"string","description":"The name of this Storage Encryption Scope.\n"},"storageAccountId":{"type":"string","description":"The ID of the Storage Account where this Storage Encryption Scope exists.\n"}},"type":"object","required":["name","storageAccountId"]},"outputs":{"description":"A collection of values returned by getEncryptionScope.\n","properties":{"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"keyVaultKeyId":{"description":"The ID of the Key Vault Key.\n","type":"string"},"name":{"type":"string"},"source":{"description":"The source of the Storage Encryption Scope.\n","type":"string"},"storageAccountId":{"type":"string"}},"required":["keyVaultKeyId","name","source","storageAccountId","id"],"type":"object"}},"azure:storage/getPolicy:getPolicy":{"description":"Use this data source to access information about an existing Storage Management Policy.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.storage.getAccount({\n    name: \"storageaccountname\",\n    resourceGroupName: \"resourcegroupname\",\n});\nconst exampleGetPolicy = example.then(example =\u003e azure.storage.getPolicy({\n    storageAccountId: example.id,\n}));\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.storage.get_account(name=\"storageaccountname\",\n    resource_group_name=\"resourcegroupname\")\nexample_get_policy = azure.storage.get_policy(storage_account_id=example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Storage.GetAccount.Invoke(new()\n    {\n        Name = \"storageaccountname\",\n        ResourceGroupName = \"resourcegroupname\",\n    });\n\n    var exampleGetPolicy = Azure.Storage.GetPolicy.Invoke(new()\n    {\n        StorageAccountId = example.Apply(getAccountResult =\u003e getAccountResult.Id),\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := storage.LookupAccount(ctx, \u0026storage.LookupAccountArgs{\n\t\t\tName:              \"storageaccountname\",\n\t\t\tResourceGroupName: pulumi.StringRef(\"resourcegroupname\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = storage.GetPolicy(ctx, \u0026storage.GetPolicyArgs{\n\t\t\tStorageAccountId: example.Id,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.storage.StorageFunctions;\nimport com.pulumi.azure.storage.inputs.GetAccountArgs;\nimport com.pulumi.azure.storage.inputs.GetPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = StorageFunctions.getAccount(GetAccountArgs.builder()\n            .name(\"storageaccountname\")\n            .resourceGroupName(\"resourcegroupname\")\n            .build());\n\n        final var exampleGetPolicy = StorageFunctions.getPolicy(GetPolicyArgs.builder()\n            .storageAccountId(example.id())\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:storage:getAccount\n      arguments:\n        name: storageaccountname\n        resourceGroupName: resourcegroupname\n  exampleGetPolicy:\n    fn::invoke:\n      function: azure:storage:getPolicy\n      arguments:\n        storageAccountId: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.Storage` - 2023-05-01\n","inputs":{"description":"A collection of arguments for invoking getPolicy.\n","properties":{"storageAccountId":{"type":"string","description":"Specifies the id of the storage account to retrieve the management policy for.\n"}},"type":"object","required":["storageAccountId"]},"outputs":{"description":"A collection of values returned by getPolicy.\n","properties":{"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"rules":{"description":"supports the following:\n","items":{"$ref":"#/types/azure:storage/getPolicyRule:getPolicyRule"},"type":"array"},"storageAccountId":{"type":"string"}},"required":["rules","storageAccountId","id"],"type":"object"}},"azure:storage/getQueue:getQueue":{"description":"Use this data source to access information about an existing Storage Queue.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.storage.getQueue({\n    name: \"example-queue-name\",\n    storageAccountName: \"example-storage-account-name\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.storage.get_queue(name=\"example-queue-name\",\n    storage_account_name=\"example-storage-account-name\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Storage.GetQueue.Invoke(new()\n    {\n        Name = \"example-queue-name\",\n        StorageAccountName = \"example-storage-account-name\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := storage.LookupQueue(ctx, \u0026storage.LookupQueueArgs{\n\t\t\tName:               \"example-queue-name\",\n\t\t\tStorageAccountName: pulumi.StringRef(\"example-storage-account-name\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.storage.StorageFunctions;\nimport com.pulumi.azure.storage.inputs.GetQueueArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = StorageFunctions.getQueue(GetQueueArgs.builder()\n            .name(\"example-queue-name\")\n            .storageAccountName(\"example-storage-account-name\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:storage:getQueue\n      arguments:\n        name: example-queue-name\n        storageAccountName: example-storage-account-name\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.Storage` - 2023-05-01\n","inputs":{"description":"A collection of arguments for invoking getQueue.\n","properties":{"metadata":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of MetaData for this Queue.\n"},"name":{"type":"string","description":"The name of the Queue.\n"},"storageAccountId":{"type":"string","description":"The name of the Storage Account where the Queue exists. This property will become Required in version 5.0 of the Provider.\n\n\u003e **Note:** One of \u003cspan pulumi-lang-nodejs=\"`storageAccountName`\" pulumi-lang-dotnet=\"`StorageAccountName`\" pulumi-lang-go=\"`storageAccountName`\" pulumi-lang-python=\"`storage_account_name`\" pulumi-lang-yaml=\"`storageAccountName`\" pulumi-lang-java=\"`storageAccountName`\"\u003e`storage_account_name`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`storageAccountId`\" pulumi-lang-dotnet=\"`StorageAccountId`\" pulumi-lang-go=\"`storageAccountId`\" pulumi-lang-python=\"`storage_account_id`\" pulumi-lang-yaml=\"`storageAccountId`\" pulumi-lang-java=\"`storageAccountId`\"\u003e`storage_account_id`\u003c/span\u003e must be specified. When specifying \u003cspan pulumi-lang-nodejs=\"`storageAccountId`\" pulumi-lang-dotnet=\"`StorageAccountId`\" pulumi-lang-go=\"`storageAccountId`\" pulumi-lang-python=\"`storage_account_id`\" pulumi-lang-yaml=\"`storageAccountId`\" pulumi-lang-java=\"`storageAccountId`\"\u003e`storage_account_id`\u003c/span\u003e the resource will use the Resource Manager API, rather than the Data Plane API.\n"},"storageAccountName":{"type":"string","description":"The name of the Storage Account where the Queue exists. This property is deprecated in favour of \u003cspan pulumi-lang-nodejs=\"`storageAccountId`\" pulumi-lang-dotnet=\"`StorageAccountId`\" pulumi-lang-go=\"`storageAccountId`\" pulumi-lang-python=\"`storage_account_id`\" pulumi-lang-yaml=\"`storageAccountId`\" pulumi-lang-java=\"`storageAccountId`\"\u003e`storage_account_id`\u003c/span\u003e.\n","deprecationMessage":"the \u003cspan pulumi-lang-nodejs=\"`storageAccountName`\" pulumi-lang-dotnet=\"`StorageAccountName`\" pulumi-lang-go=\"`storageAccountName`\" pulumi-lang-python=\"`storage_account_name`\" pulumi-lang-yaml=\"`storageAccountName`\" pulumi-lang-java=\"`storageAccountName`\"\u003e`storage_account_name`\u003c/span\u003e property has been deprecated in favour of \u003cspan pulumi-lang-nodejs=\"`storageAccountId`\" pulumi-lang-dotnet=\"`StorageAccountId`\" pulumi-lang-go=\"`storageAccountId`\" pulumi-lang-python=\"`storage_account_id`\" pulumi-lang-yaml=\"`storageAccountId`\" pulumi-lang-java=\"`storageAccountId`\"\u003e`storage_account_id`\u003c/span\u003e and will be removed in version 5.0 of the Provider."}},"type":"object","required":["name"]},"outputs":{"description":"A collection of values returned by getQueue.\n","properties":{"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"metadata":{"additionalProperties":{"type":"string"},"description":"A mapping of MetaData for this Queue.\n","type":"object"},"name":{"type":"string"},"resourceManagerId":{"deprecationMessage":"the \u003cspan pulumi-lang-nodejs=\"`resourceManagerId`\" pulumi-lang-dotnet=\"`ResourceManagerId`\" pulumi-lang-go=\"`resourceManagerId`\" pulumi-lang-python=\"`resource_manager_id`\" pulumi-lang-yaml=\"`resourceManagerId`\" pulumi-lang-java=\"`resourceManagerId`\"\u003e`resource_manager_id`\u003c/span\u003e property has been deprecated in favour of \u003cspan pulumi-lang-nodejs=\"`id`\" pulumi-lang-dotnet=\"`Id`\" pulumi-lang-go=\"`id`\" pulumi-lang-python=\"`id`\" pulumi-lang-yaml=\"`id`\" pulumi-lang-java=\"`id`\"\u003e`id`\u003c/span\u003e and will be removed in version 5.0 of the Provider.","description":"The Resource Manager ID of this Storage Queue.\n","type":"string"},"storageAccountId":{"type":"string"},"storageAccountName":{"deprecationMessage":"the \u003cspan pulumi-lang-nodejs=\"`storageAccountName`\" pulumi-lang-dotnet=\"`StorageAccountName`\" pulumi-lang-go=\"`storageAccountName`\" pulumi-lang-python=\"`storage_account_name`\" pulumi-lang-yaml=\"`storageAccountName`\" pulumi-lang-java=\"`storageAccountName`\"\u003e`storage_account_name`\u003c/span\u003e property has been deprecated in favour of \u003cspan pulumi-lang-nodejs=\"`storageAccountId`\" pulumi-lang-dotnet=\"`StorageAccountId`\" pulumi-lang-go=\"`storageAccountId`\" pulumi-lang-python=\"`storage_account_id`\" pulumi-lang-yaml=\"`storageAccountId`\" pulumi-lang-java=\"`storageAccountId`\"\u003e`storage_account_id`\u003c/span\u003e and will be removed in version 5.0 of the Provider.","type":"string"},"url":{"description":"The data plane URL of the Storage Queue in the format of `\u003cstorage queue endpoint\u003e/\u003cqueue name\u003e`. E.g. `https://example.queue.core.windows.net/queue1`.\n","type":"string"}},"required":["metadata","name","resourceManagerId","url","id"],"type":"object"}},"azure:storage/getShare:getShare":{"description":"Use this data source to access information about an existing File Share.\n\n\u003e **Note:** Shared Key authentication will always be used for this data source, as AzureAD authentication is not supported by the Storage API for files.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.storage.getAccount({\n    name: \"exampleaccount\",\n    resourceGroupName: \"examples\",\n});\nconst exampleGetShare = example.then(example =\u003e azure.storage.getShare({\n    name: \"existing\",\n    storageAccountId: example.id,\n}));\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.storage.get_account(name=\"exampleaccount\",\n    resource_group_name=\"examples\")\nexample_get_share = azure.storage.get_share(name=\"existing\",\n    storage_account_id=example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Storage.GetAccount.Invoke(new()\n    {\n        Name = \"exampleaccount\",\n        ResourceGroupName = \"examples\",\n    });\n\n    var exampleGetShare = Azure.Storage.GetShare.Invoke(new()\n    {\n        Name = \"existing\",\n        StorageAccountId = example.Apply(getAccountResult =\u003e getAccountResult.Id),\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := storage.LookupAccount(ctx, \u0026storage.LookupAccountArgs{\n\t\t\tName:              \"exampleaccount\",\n\t\t\tResourceGroupName: pulumi.StringRef(\"examples\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = storage.LookupShare(ctx, \u0026storage.LookupShareArgs{\n\t\t\tName:             \"existing\",\n\t\t\tStorageAccountId: pulumi.StringRef(example.Id),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.storage.StorageFunctions;\nimport com.pulumi.azure.storage.inputs.GetAccountArgs;\nimport com.pulumi.azure.storage.inputs.GetShareArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = StorageFunctions.getAccount(GetAccountArgs.builder()\n            .name(\"exampleaccount\")\n            .resourceGroupName(\"examples\")\n            .build());\n\n        final var exampleGetShare = StorageFunctions.getShare(GetShareArgs.builder()\n            .name(\"existing\")\n            .storageAccountId(example.id())\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:storage:getAccount\n      arguments:\n        name: exampleaccount\n        resourceGroupName: examples\n  exampleGetShare:\n    fn::invoke:\n      function: azure:storage:getShare\n      arguments:\n        name: existing\n        storageAccountId: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.Storage` - 2023-05-01\n","inputs":{"description":"A collection of arguments for invoking getShare.\n","properties":{"acls":{"type":"array","items":{"$ref":"#/types/azure:storage/getShareAcl:getShareAcl"},"description":"One or more acl blocks as defined below.\n"},"metadata":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of custom file share metadata.\n"},"name":{"type":"string","description":"The name of the share.\n"},"storageAccountId":{"type":"string","description":"The ID of the storage account in which the share exists.\n\n\u003e **Note:** One of \u003cspan pulumi-lang-nodejs=\"`storageAccountName`\" pulumi-lang-dotnet=\"`StorageAccountName`\" pulumi-lang-go=\"`storageAccountName`\" pulumi-lang-python=\"`storage_account_name`\" pulumi-lang-yaml=\"`storageAccountName`\" pulumi-lang-java=\"`storageAccountName`\"\u003e`storage_account_name`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`storageAccountId`\" pulumi-lang-dotnet=\"`StorageAccountId`\" pulumi-lang-go=\"`storageAccountId`\" pulumi-lang-python=\"`storage_account_id`\" pulumi-lang-yaml=\"`storageAccountId`\" pulumi-lang-java=\"`storageAccountId`\"\u003e`storage_account_id`\u003c/span\u003e must be specified. When specifying \u003cspan pulumi-lang-nodejs=\"`storageAccountId`\" pulumi-lang-dotnet=\"`StorageAccountId`\" pulumi-lang-go=\"`storageAccountId`\" pulumi-lang-python=\"`storage_account_id`\" pulumi-lang-yaml=\"`storageAccountId`\" pulumi-lang-java=\"`storageAccountId`\"\u003e`storage_account_id`\u003c/span\u003e the resource will use the Resource Manager API, rather than the Data Plane API.\n"},"storageAccountName":{"type":"string","description":"The name of the storage account in which the share exists. This property is deprecated in favour of \u003cspan pulumi-lang-nodejs=\"`storageAccountId`\" pulumi-lang-dotnet=\"`StorageAccountId`\" pulumi-lang-go=\"`storageAccountId`\" pulumi-lang-python=\"`storage_account_id`\" pulumi-lang-yaml=\"`storageAccountId`\" pulumi-lang-java=\"`storageAccountId`\"\u003e`storage_account_id`\u003c/span\u003e.\n"}},"type":"object","required":["name"]},"outputs":{"description":"A collection of values returned by getShare.\n","properties":{"acls":{"description":"One or more acl blocks as defined below.\n","items":{"$ref":"#/types/azure:storage/getShareAcl:getShareAcl"},"type":"array"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"metadata":{"additionalProperties":{"type":"string"},"description":"A map of custom file share metadata.\n","type":"object"},"name":{"type":"string"},"quota":{"description":"The quota of the File Share in GB.\n","type":"integer"},"resourceManagerId":{"deprecationMessage":"this property has been deprecated in favour of \u003cspan pulumi-lang-nodejs=\"`id`\" pulumi-lang-dotnet=\"`Id`\" pulumi-lang-go=\"`id`\" pulumi-lang-python=\"`id`\" pulumi-lang-yaml=\"`id`\" pulumi-lang-java=\"`id`\"\u003e`id`\u003c/span\u003e and will be removed in version 5.0 of the Provider.","type":"string"},"storageAccountId":{"type":"string"},"storageAccountName":{"type":"string"}},"required":["metadata","name","quota","resourceManagerId","id"],"type":"object"}},"azure:storage/getStorageContainer:getStorageContainer":{"description":"Use this data source to access information about an existing Storage Container.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.storage.getAccount({\n    name: \"exampleaccount\",\n    resourceGroupName: \"examples\",\n});\nconst exampleGetStorageContainer = example.then(example =\u003e azure.storage.getStorageContainer({\n    name: \"example-container-name\",\n    storageAccountId: example.id,\n}));\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.storage.get_account(name=\"exampleaccount\",\n    resource_group_name=\"examples\")\nexample_get_storage_container = azure.storage.get_storage_container(name=\"example-container-name\",\n    storage_account_id=example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Storage.GetAccount.Invoke(new()\n    {\n        Name = \"exampleaccount\",\n        ResourceGroupName = \"examples\",\n    });\n\n    var exampleGetStorageContainer = Azure.Storage.GetStorageContainer.Invoke(new()\n    {\n        Name = \"example-container-name\",\n        StorageAccountId = example.Apply(getAccountResult =\u003e getAccountResult.Id),\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := storage.LookupAccount(ctx, \u0026storage.LookupAccountArgs{\n\t\t\tName:              \"exampleaccount\",\n\t\t\tResourceGroupName: pulumi.StringRef(\"examples\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = storage.GetStorageContainer(ctx, \u0026storage.GetStorageContainerArgs{\n\t\t\tName:             \"example-container-name\",\n\t\t\tStorageAccountId: pulumi.StringRef(example.Id),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.storage.StorageFunctions;\nimport com.pulumi.azure.storage.inputs.GetAccountArgs;\nimport com.pulumi.azure.storage.inputs.GetStorageContainerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = StorageFunctions.getAccount(GetAccountArgs.builder()\n            .name(\"exampleaccount\")\n            .resourceGroupName(\"examples\")\n            .build());\n\n        final var exampleGetStorageContainer = StorageFunctions.getStorageContainer(GetStorageContainerArgs.builder()\n            .name(\"example-container-name\")\n            .storageAccountId(example.id())\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:storage:getAccount\n      arguments:\n        name: exampleaccount\n        resourceGroupName: examples\n  exampleGetStorageContainer:\n    fn::invoke:\n      function: azure:storage:getStorageContainer\n      arguments:\n        name: example-container-name\n        storageAccountId: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.Storage` - 2023-05-01\n","inputs":{"description":"A collection of arguments for invoking getStorageContainer.\n","properties":{"metadata":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of MetaData for this Container.\n"},"name":{"type":"string","description":"The name of the Container.\n"},"storageAccountId":{"type":"string","description":"The id of the Storage Account where the Container exists. This property will become Required in version 5.0 of the Provider.\n\n\u003e **Note:** One of \u003cspan pulumi-lang-nodejs=\"`storageAccountName`\" pulumi-lang-dotnet=\"`StorageAccountName`\" pulumi-lang-go=\"`storageAccountName`\" pulumi-lang-python=\"`storage_account_name`\" pulumi-lang-yaml=\"`storageAccountName`\" pulumi-lang-java=\"`storageAccountName`\"\u003e`storage_account_name`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`storageAccountId`\" pulumi-lang-dotnet=\"`StorageAccountId`\" pulumi-lang-go=\"`storageAccountId`\" pulumi-lang-python=\"`storage_account_id`\" pulumi-lang-yaml=\"`storageAccountId`\" pulumi-lang-java=\"`storageAccountId`\"\u003e`storage_account_id`\u003c/span\u003e must be specified. When specifying \u003cspan pulumi-lang-nodejs=\"`storageAccountId`\" pulumi-lang-dotnet=\"`StorageAccountId`\" pulumi-lang-go=\"`storageAccountId`\" pulumi-lang-python=\"`storage_account_id`\" pulumi-lang-yaml=\"`storageAccountId`\" pulumi-lang-java=\"`storageAccountId`\"\u003e`storage_account_id`\u003c/span\u003e the resource will use the Resource Manager API, rather than the Data Plane API.\n"},"storageAccountName":{"type":"string","description":"The name of the Storage Account where the Container exists. This property is deprecated in favour of \u003cspan pulumi-lang-nodejs=\"`storageAccountId`\" pulumi-lang-dotnet=\"`StorageAccountId`\" pulumi-lang-go=\"`storageAccountId`\" pulumi-lang-python=\"`storage_account_id`\" pulumi-lang-yaml=\"`storageAccountId`\" pulumi-lang-java=\"`storageAccountId`\"\u003e`storage_account_id`\u003c/span\u003e.\n"}},"type":"object","required":["name"]},"outputs":{"description":"A collection of values returned by getStorageContainer.\n","properties":{"containerAccessType":{"description":"The Access Level configured for this Container.\n","type":"string"},"defaultEncryptionScope":{"description":"The default encryption scope in use for blobs uploaded to this container.\n","type":"string"},"encryptionScopeOverrideEnabled":{"description":"Whether blobs are allowed to override the default encryption scope for this container.\n","type":"boolean"},"hasImmutabilityPolicy":{"description":"Is there an Immutability Policy configured on this Storage Container?\n","type":"boolean"},"hasLegalHold":{"description":"Is there a Legal Hold configured on this Storage Container?\n","type":"boolean"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"metadata":{"additionalProperties":{"type":"string"},"description":"A mapping of MetaData for this Container.\n","type":"object"},"name":{"type":"string"},"resourceManagerId":{"deprecationMessage":"this property has been deprecated in favour of \u003cspan pulumi-lang-nodejs=\"`id`\" pulumi-lang-dotnet=\"`Id`\" pulumi-lang-go=\"`id`\" pulumi-lang-python=\"`id`\" pulumi-lang-yaml=\"`id`\" pulumi-lang-java=\"`id`\"\u003e`id`\u003c/span\u003e and will be removed in version 5.0 of the Provider.","type":"string"},"storageAccountId":{"type":"string"},"storageAccountName":{"type":"string"}},"required":["containerAccessType","defaultEncryptionScope","encryptionScopeOverrideEnabled","hasImmutabilityPolicy","hasLegalHold","metadata","name","resourceManagerId","id"],"type":"object"}},"azure:storage/getSync:getSync":{"description":"Use this data source to access information about an existing Storage Sync.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.storage.getSync({\n    name: \"existingStorageSyncName\",\n    resourceGroupName: \"existingResGroup\",\n});\nexport const id = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.storage.get_sync(name=\"existingStorageSyncName\",\n    resource_group_name=\"existingResGroup\")\npulumi.export(\"id\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Storage.GetSync.Invoke(new()\n    {\n        Name = \"existingStorageSyncName\",\n        ResourceGroupName = \"existingResGroup\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"id\"] = example.Apply(getSyncResult =\u003e getSyncResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := storage.LookupSync(ctx, \u0026storage.LookupSyncArgs{\n\t\t\tName:              \"existingStorageSyncName\",\n\t\t\tResourceGroupName: \"existingResGroup\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"id\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.storage.StorageFunctions;\nimport com.pulumi.azure.storage.inputs.GetSyncArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = StorageFunctions.getSync(GetSyncArgs.builder()\n            .name(\"existingStorageSyncName\")\n            .resourceGroupName(\"existingResGroup\")\n            .build());\n\n        ctx.export(\"id\", example.id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:storage:getSync\n      arguments:\n        name: existingStorageSyncName\n        resourceGroupName: existingResGroup\noutputs:\n  id: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.StorageSync` - 2020-03-01\n","inputs":{"description":"A collection of arguments for invoking getSync.\n","properties":{"name":{"type":"string","description":"The name of this Storage Sync.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Storage Sync exists.\n"}},"type":"object","required":["name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getSync.\n","properties":{"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"incomingTrafficPolicy":{"description":"Incoming traffic policy.\n","type":"string"},"location":{"description":"The Azure Region where the Storage Sync exists.\n","type":"string"},"name":{"type":"string"},"resourceGroupName":{"type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"A mapping of tags assigned to the Storage Sync.\n","type":"object"}},"required":["incomingTrafficPolicy","location","name","resourceGroupName","tags","id"],"type":"object"}},"azure:storage/getSyncGroup:getSyncGroup":{"description":"Use this data source to access information about an existing Storage Sync Group.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.storage.getSyncGroup({\n    name: \"existing-ss-group\",\n    storageSyncId: \"existing-ss-id\",\n});\nexport const id = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.storage.get_sync_group(name=\"existing-ss-group\",\n    storage_sync_id=\"existing-ss-id\")\npulumi.export(\"id\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Storage.GetSyncGroup.Invoke(new()\n    {\n        Name = \"existing-ss-group\",\n        StorageSyncId = \"existing-ss-id\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"id\"] = example.Apply(getSyncGroupResult =\u003e getSyncGroupResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := storage.LookupSyncGroup(ctx, \u0026storage.LookupSyncGroupArgs{\n\t\t\tName:          \"existing-ss-group\",\n\t\t\tStorageSyncId: \"existing-ss-id\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"id\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.storage.StorageFunctions;\nimport com.pulumi.azure.storage.inputs.GetSyncGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = StorageFunctions.getSyncGroup(GetSyncGroupArgs.builder()\n            .name(\"existing-ss-group\")\n            .storageSyncId(\"existing-ss-id\")\n            .build());\n\n        ctx.export(\"id\", example.id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:storage:getSyncGroup\n      arguments:\n        name: existing-ss-group\n        storageSyncId: existing-ss-id\noutputs:\n  id: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.StorageSync` - 2020-03-01\n","inputs":{"description":"A collection of arguments for invoking getSyncGroup.\n","properties":{"name":{"type":"string","description":"The name of this Storage Sync Group.\n"},"storageSyncId":{"type":"string","description":"The resource ID of the Storage Sync where this Storage Sync Group is.\n"}},"type":"object","required":["name","storageSyncId"]},"outputs":{"description":"A collection of values returned by getSyncGroup.\n","properties":{"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"name":{"type":"string"},"storageSyncId":{"type":"string"}},"required":["name","storageSyncId","id"],"type":"object"}},"azure:storage/getTable:getTable":{"description":"Use this data source to access information about an existing Storage Table.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.storage.getTable({\n    name: \"example-table-name\",\n    storageAccountName: \"example-storage-account-name\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.storage.get_table(name=\"example-table-name\",\n    storage_account_name=\"example-storage-account-name\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Storage.GetTable.Invoke(new()\n    {\n        Name = \"example-table-name\",\n        StorageAccountName = \"example-storage-account-name\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := storage.LookupTable(ctx, \u0026storage.LookupTableArgs{\n\t\t\tName:               \"example-table-name\",\n\t\t\tStorageAccountName: \"example-storage-account-name\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.storage.StorageFunctions;\nimport com.pulumi.azure.storage.inputs.GetTableArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = StorageFunctions.getTable(GetTableArgs.builder()\n            .name(\"example-table-name\")\n            .storageAccountName(\"example-storage-account-name\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:storage:getTable\n      arguments:\n        name: example-table-name\n        storageAccountName: example-storage-account-name\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getTable.\n","properties":{"name":{"type":"string","description":"The name of the Table.\n"},"storageAccountName":{"type":"string","description":"The name of the Storage Account where the Table exists.\n"}},"type":"object","required":["name","storageAccountName"]},"outputs":{"description":"A collection of values returned by getTable.\n","properties":{"acls":{"description":"A mapping of ACLs for this Table.\n","items":{"$ref":"#/types/azure:storage/getTableAcl:getTableAcl"},"type":"array"},"id":{"description":"The ID of the Storage Table.\n","type":"string"},"name":{"type":"string"},"resourceManagerId":{"description":"The Resource Manager ID of this Storage Table.\n","type":"string"},"storageAccountName":{"type":"string"}},"required":["acls","id","name","resourceManagerId","storageAccountName"],"type":"object"}},"azure:storage/getTableEntities:getTableEntities":{"description":"Use this data source to access information about an existing Storage Table Entity.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.storage.getTableEntities({\n    storageTableId: exampleAzurermStorageTable.id,\n    filter: \"PartitionKey eq 'example'\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.storage.get_table_entities(storage_table_id=example_azurerm_storage_table[\"id\"],\n    filter=\"PartitionKey eq 'example'\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Storage.GetTableEntities.Invoke(new()\n    {\n        StorageTableId = exampleAzurermStorageTable.Id,\n        Filter = \"PartitionKey eq 'example'\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := storage.GetTableEntities(ctx, \u0026storage.GetTableEntitiesArgs{\n\t\t\tStorageTableId: exampleAzurermStorageTable.Id,\n\t\t\tFilter:         \"PartitionKey eq 'example'\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.storage.StorageFunctions;\nimport com.pulumi.azure.storage.inputs.GetTableEntitiesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = StorageFunctions.getTableEntities(GetTableEntitiesArgs.builder()\n            .storageTableId(exampleAzurermStorageTable.id())\n            .filter(\"PartitionKey eq 'example'\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:storage:getTableEntities\n      arguments:\n        storageTableId: ${exampleAzurermStorageTable.id}\n        filter: PartitionKey eq 'example'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getTableEntities.\n","properties":{"filter":{"type":"string","description":"The filter used to retrieve the entities.\n"},"selects":{"type":"array","items":{"type":"string"},"description":"A list of properties to select from the returned Storage Table Entities.\n"},"storageTableId":{"type":"string","description":"The Storage Table ID where the entities exist.\n"}},"type":"object","required":["filter","storageTableId"]},"outputs":{"description":"A collection of values returned by getTableEntities.\n","properties":{"filter":{"type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"items":{"description":"A list of \u003cspan pulumi-lang-nodejs=\"`items`\" pulumi-lang-dotnet=\"`Items`\" pulumi-lang-go=\"`items`\" pulumi-lang-python=\"`items`\" pulumi-lang-yaml=\"`items`\" pulumi-lang-java=\"`items`\"\u003e`items`\u003c/span\u003e blocks as defined below.\n","items":{"$ref":"#/types/azure:storage/getTableEntitiesItem:getTableEntitiesItem"},"type":"array"},"selects":{"items":{"type":"string"},"type":"array"},"storageTableId":{"type":"string"}},"required":["filter","items","storageTableId","id"],"type":"object"}},"azure:storage/getTableEntity:getTableEntity":{"description":"Use this data source to access information about an existing Storage Table Entity.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.storage.getTableEntity({\n    storageTableId: exampleAzurermStorageTable.id,\n    partitionKey: \"example-partition-key\",\n    rowKey: \"example-row-key\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.storage.get_table_entity(storage_table_id=example_azurerm_storage_table[\"id\"],\n    partition_key=\"example-partition-key\",\n    row_key=\"example-row-key\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Storage.GetTableEntity.Invoke(new()\n    {\n        StorageTableId = exampleAzurermStorageTable.Id,\n        PartitionKey = \"example-partition-key\",\n        RowKey = \"example-row-key\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := storage.LookupTableEntity(ctx, \u0026storage.LookupTableEntityArgs{\n\t\t\tStorageTableId: exampleAzurermStorageTable.Id,\n\t\t\tPartitionKey:   \"example-partition-key\",\n\t\t\tRowKey:         \"example-row-key\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.storage.StorageFunctions;\nimport com.pulumi.azure.storage.inputs.GetTableEntityArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = StorageFunctions.getTableEntity(GetTableEntityArgs.builder()\n            .storageTableId(exampleAzurermStorageTable.id())\n            .partitionKey(\"example-partition-key\")\n            .rowKey(\"example-row-key\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:storage:getTableEntity\n      arguments:\n        storageTableId: ${exampleAzurermStorageTable.id}\n        partitionKey: example-partition-key\n        rowKey: example-row-key\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getTableEntity.\n","properties":{"partitionKey":{"type":"string","description":"The key for the partition where the entity will be retrieved.\n"},"rowKey":{"type":"string","description":"The key for the row where the entity will be retrieved.\n"},"storageTableId":{"type":"string","description":"The Storage Table ID where the entity exists.\n"}},"type":"object","required":["partitionKey","rowKey","storageTableId"]},"outputs":{"description":"A collection of values returned by getTableEntity.\n","properties":{"entity":{"additionalProperties":{"type":"string"},"description":"A map of key/value pairs that describe the entity to be stored in the storage table.\n","type":"object"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"partitionKey":{"type":"string"},"rowKey":{"type":"string"},"storageTableId":{"type":"string"}},"required":["entity","partitionKey","rowKey","storageTableId","id"],"type":"object"}},"azure:streamanalytics/getJob:getJob":{"description":"Use this data source to access information about an existing Stream Analytics Job.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.streamanalytics.getJob({\n    name: \"example-job\",\n    resourceGroupName: \"example-resources\",\n});\nexport const jobId = example.then(example =\u003e example.jobId);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.streamanalytics.get_job(name=\"example-job\",\n    resource_group_name=\"example-resources\")\npulumi.export(\"jobId\", example.job_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.StreamAnalytics.GetJob.Invoke(new()\n    {\n        Name = \"example-job\",\n        ResourceGroupName = \"example-resources\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"jobId\"] = example.Apply(getJobResult =\u003e getJobResult.JobId),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/streamanalytics\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := streamanalytics.LookupJob(ctx, \u0026streamanalytics.LookupJobArgs{\n\t\t\tName:              \"example-job\",\n\t\t\tResourceGroupName: \"example-resources\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"jobId\", example.JobId)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.streamanalytics.StreamanalyticsFunctions;\nimport com.pulumi.azure.streamanalytics.inputs.GetJobArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = StreamanalyticsFunctions.getJob(GetJobArgs.builder()\n            .name(\"example-job\")\n            .resourceGroupName(\"example-resources\")\n            .build());\n\n        ctx.export(\"jobId\", example.jobId());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:streamanalytics:getJob\n      arguments:\n        name: example-job\n        resourceGroupName: example-resources\noutputs:\n  jobId: ${example.jobId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.StreamAnalytics` - 2021-10-01-preview\n","inputs":{"description":"A collection of arguments for invoking getJob.\n","properties":{"name":{"type":"string","description":"Specifies the name of the Stream Analytics Job.\n"},"resourceGroupName":{"type":"string","description":"Specifies the name of the resource group the Stream Analytics Job is located in.\n"}},"type":"object","required":["name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getJob.\n","properties":{"compatibilityLevel":{"description":"The compatibility level for this job.\n","type":"string"},"dataLocale":{"description":"The Data Locale of the Job.\n","type":"string"},"eventsLateArrivalMaxDelayInSeconds":{"description":"The maximum tolerable delay in seconds where events arriving late could be included.\n","type":"integer"},"eventsOutOfOrderMaxDelayInSeconds":{"description":"The maximum tolerable delay in seconds where out-of-order events can be adjusted to be back in order.\n","type":"integer"},"eventsOutOfOrderPolicy":{"description":"The policy which should be applied to events which arrive out of order in the input event stream.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"identities":{"description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:streamanalytics/getJobIdentity:getJobIdentity"},"type":"array"},"jobId":{"description":"The Job ID assigned by the Stream Analytics Job.\n","type":"string"},"lastOutputTime":{"description":"The time at which the Stream Analytics job last produced an output.\n","type":"string"},"location":{"description":"The Azure location where the Stream Analytics Job exists.\n","type":"string"},"name":{"type":"string"},"outputErrorPolicy":{"description":"The policy which should be applied to events which arrive at the output and cannot be written to the external storage due to being malformed (such as missing column values, column values of wrong type or size).\n","type":"string"},"resourceGroupName":{"type":"string"},"skuName":{"description":"The SKU Name to use for the Stream Analytics Job.\n","type":"string"},"startMode":{"description":"The starting mode set for this Stream Analytics Job.\n","type":"string"},"startTime":{"description":"The time at which this Stream Analytics Job was scheduled to start.\n","type":"string"},"streamingUnits":{"description":"The number of streaming units that this Stream Analytics Job uses.\n","type":"integer"},"transformationQuery":{"description":"The query that will be run in this Stream Analytics Job, [written in Stream Analytics Query Language (SAQL)](https://msdn.microsoft.com/library/azure/dn834998).\n","type":"string"}},"required":["compatibilityLevel","dataLocale","eventsLateArrivalMaxDelayInSeconds","eventsOutOfOrderMaxDelayInSeconds","eventsOutOfOrderPolicy","identities","jobId","lastOutputTime","location","name","outputErrorPolicy","resourceGroupName","skuName","startMode","startTime","streamingUnits","transformationQuery","id"],"type":"object"}},"azure:synapse/getWorkspace:getWorkspace":{"description":"Use this data source to access information about an existing Synapse Workspace.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.synapse.getWorkspace({\n    name: \"existing\",\n    resourceGroupName: \"example-resource-group\",\n});\nexport const id = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.synapse.get_workspace(name=\"existing\",\n    resource_group_name=\"example-resource-group\")\npulumi.export(\"id\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Synapse.GetWorkspace.Invoke(new()\n    {\n        Name = \"existing\",\n        ResourceGroupName = \"example-resource-group\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"id\"] = example.Apply(getWorkspaceResult =\u003e getWorkspaceResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/synapse\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := synapse.LookupWorkspace(ctx, \u0026synapse.LookupWorkspaceArgs{\n\t\t\tName:              \"existing\",\n\t\t\tResourceGroupName: \"example-resource-group\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"id\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.synapse.SynapseFunctions;\nimport com.pulumi.azure.synapse.inputs.GetWorkspaceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = SynapseFunctions.getWorkspace(GetWorkspaceArgs.builder()\n            .name(\"existing\")\n            .resourceGroupName(\"example-resource-group\")\n            .build());\n\n        ctx.export(\"id\", example.id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:synapse:getWorkspace\n      arguments:\n        name: existing\n        resourceGroupName: example-resource-group\noutputs:\n  id: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getWorkspace.\n","properties":{"name":{"type":"string","description":"The name of this Synapse Workspace.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Synapse Workspace exists.\n"}},"type":"object","required":["name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getWorkspace.\n","properties":{"connectivityEndpoints":{"additionalProperties":{"type":"string"},"description":"A map of Connectivity endpoints for this Synapse Workspace.\n","type":"object"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"identities":{"description":"An \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block as defined below, which contains the Managed Service Identity information for this Synapse Workspace.\n","items":{"$ref":"#/types/azure:synapse/getWorkspaceIdentity:getWorkspaceIdentity"},"type":"array"},"location":{"description":"The Azure location where the Synapse Workspace exists.\n","type":"string"},"name":{"type":"string"},"resourceGroupName":{"type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"A mapping of tags assigned to the resource.\n","type":"object"}},"required":["connectivityEndpoints","identities","location","name","resourceGroupName","tags","id"],"type":"object"}},"azure:systemcenter/getVirtualMachineManagerInventoryItems:getVirtualMachineManagerInventoryItems":{"description":"Use this data source to access information about existing System Center Virtual Machine Manager Inventory Items.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.systemcenter.getVirtualMachineManagerInventoryItems({\n    inventoryType: \"Cloud\",\n    systemCenterVirtualMachineManagerServerId: exampleAzurermSystemCenterVirtualMachineManagerServer.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.systemcenter.get_virtual_machine_manager_inventory_items(inventory_type=\"Cloud\",\n    system_center_virtual_machine_manager_server_id=example_azurerm_system_center_virtual_machine_manager_server[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.SystemCenter.GetVirtualMachineManagerInventoryItems.Invoke(new()\n    {\n        InventoryType = \"Cloud\",\n        SystemCenterVirtualMachineManagerServerId = exampleAzurermSystemCenterVirtualMachineManagerServer.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/systemcenter\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := systemcenter.GetVirtualMachineManagerInventoryItems(ctx, \u0026systemcenter.GetVirtualMachineManagerInventoryItemsArgs{\n\t\t\tInventoryType: \"Cloud\",\n\t\t\tSystemCenterVirtualMachineManagerServerId: exampleAzurermSystemCenterVirtualMachineManagerServer.Id,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.systemcenter.SystemcenterFunctions;\nimport com.pulumi.azure.systemcenter.inputs.GetVirtualMachineManagerInventoryItemsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = SystemcenterFunctions.getVirtualMachineManagerInventoryItems(GetVirtualMachineManagerInventoryItemsArgs.builder()\n            .inventoryType(\"Cloud\")\n            .systemCenterVirtualMachineManagerServerId(exampleAzurermSystemCenterVirtualMachineManagerServer.id())\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:systemcenter:getVirtualMachineManagerInventoryItems\n      arguments:\n        inventoryType: Cloud\n        systemCenterVirtualMachineManagerServerId: ${exampleAzurermSystemCenterVirtualMachineManagerServer.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.ScVmm` - 2023-10-07\n","inputs":{"description":"A collection of arguments for invoking getVirtualMachineManagerInventoryItems.\n","properties":{"inventoryType":{"type":"string","description":"The inventory type of the System Center Virtual Machine Manager Inventory Item. Possible values are `Cloud`, `VirtualMachine`, `VirtualMachineTemplate` and `VirtualNetwork`.\n"},"systemCenterVirtualMachineManagerServerId":{"type":"string","description":"The ID of the System Center Virtual Machine Manager Server.\n"}},"type":"object","required":["inventoryType","systemCenterVirtualMachineManagerServerId"]},"outputs":{"description":"A collection of values returned by getVirtualMachineManagerInventoryItems.\n","properties":{"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"inventoryItems":{"description":"One or more \u003cspan pulumi-lang-nodejs=\"`inventoryItems`\" pulumi-lang-dotnet=\"`InventoryItems`\" pulumi-lang-go=\"`inventoryItems`\" pulumi-lang-python=\"`inventory_items`\" pulumi-lang-yaml=\"`inventoryItems`\" pulumi-lang-java=\"`inventoryItems`\"\u003e`inventory_items`\u003c/span\u003e blocks as defined below.\n","items":{"$ref":"#/types/azure:systemcenter/getVirtualMachineManagerInventoryItemsInventoryItem:getVirtualMachineManagerInventoryItemsInventoryItem"},"type":"array"},"inventoryType":{"type":"string"},"systemCenterVirtualMachineManagerServerId":{"type":"string"}},"required":["inventoryItems","inventoryType","systemCenterVirtualMachineManagerServerId","id"],"type":"object"}},"azure:trafficmanager/getGeographicalLocation:getGeographicalLocation":{"deprecationMessage":"azure.trafficmanager.getGeographicalLocation has been deprecated in favor of azure.network.getTrafficManager","description":"Use this data source to access the ID of a specified Traffic Manager Geographical Location within the Geographical Hierarchy.\n\n## Example Usage\n\n### World)\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.network.getTrafficManager({\n    name: \"World\",\n});\nexport const locationCode = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.network.get_traffic_manager(name=\"World\")\npulumi.export(\"locationCode\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Network.GetTrafficManager.Invoke(new()\n    {\n        Name = \"World\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"locationCode\"] = example.Apply(getTrafficManagerResult =\u003e getTrafficManagerResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := network.GetTrafficManager(ctx, \u0026network.GetTrafficManagerArgs{\n\t\t\tName: \"World\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"locationCode\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.network.NetworkFunctions;\nimport com.pulumi.azure.network.inputs.GetTrafficManagerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = NetworkFunctions.getTrafficManager(GetTrafficManagerArgs.builder()\n            .name(\"World\")\n            .build());\n\n        ctx.export(\"locationCode\", example.id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:network:getTrafficManager\n      arguments:\n        name: World\noutputs:\n  locationCode: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2022-04-01\n","inputs":{"description":"A collection of arguments for invoking getGeographicalLocation.\n","properties":{"name":{"type":"string","description":"Specifies the name of the Location, for example `World`, `Europe` or `Germany`.\n"}},"type":"object","required":["name"]},"outputs":{"description":"A collection of values returned by getGeographicalLocation.\n","properties":{"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"name":{"type":"string"}},"required":["name","id"],"type":"object"}},"azure:trustedsigning/getAccount:getAccount":{"description":"Use this data source to access information about an existing Trusted Signing Account.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.trustedsigning.getAccount({\n    name: \"example-account\",\n    resourceGroupName: \"example-resource-group\",\n});\nexport const trustedSigningAccountId = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.trustedsigning.get_account(name=\"example-account\",\n    resource_group_name=\"example-resource-group\")\npulumi.export(\"trustedSigningAccountId\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.TrustedSigning.GetAccount.Invoke(new()\n    {\n        Name = \"example-account\",\n        ResourceGroupName = \"example-resource-group\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"trustedSigningAccountId\"] = example.Apply(getAccountResult =\u003e getAccountResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/trustedsigning\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := trustedsigning.LookupAccount(ctx, \u0026trustedsigning.LookupAccountArgs{\n\t\t\tName:              \"example-account\",\n\t\t\tResourceGroupName: \"example-resource-group\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"trustedSigningAccountId\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.trustedsigning.TrustedsigningFunctions;\nimport com.pulumi.azure.trustedsigning.inputs.GetAccountArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = TrustedsigningFunctions.getAccount(GetAccountArgs.builder()\n            .name(\"example-account\")\n            .resourceGroupName(\"example-resource-group\")\n            .build());\n\n        ctx.export(\"trustedSigningAccountId\", example.id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:trustedsigning:getAccount\n      arguments:\n        name: example-account\n        resourceGroupName: example-resource-group\noutputs:\n  trustedSigningAccountId: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.CodeSigning` - 2024-09-30-preview\n","inputs":{"description":"A collection of arguments for invoking getAccount.\n","properties":{"name":{"type":"string","description":"The name of the Trusted Signing Account.\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Trusted Signing Account exists.\n"}},"type":"object","required":["name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getAccount.\n","properties":{"accountUri":{"description":"The URI of the Trusted Signing Account.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"location":{"description":"The Azure Region where the Trusted Signing Account exists.\n","type":"string"},"name":{"type":"string"},"resourceGroupName":{"type":"string"},"skuName":{"description":"The sku name of the Trusted Signing Account.\n","type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"A mapping of tags assigned to the Trusted Signing Account.\n","type":"object"}},"required":["accountUri","location","name","resourceGroupName","skuName","tags","id"],"type":"object"}},"azure:waf/getFirewallPolicy:getFirewallPolicy":{"description":"Use this data source to access information about an existing Web Application Firewall Policy.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.waf.getFirewallPolicy({\n    resourceGroupName: \"existing\",\n    name: \"existing\",\n});\nexport const id = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.waf.get_firewall_policy(resource_group_name=\"existing\",\n    name=\"existing\")\npulumi.export(\"id\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.Waf.GetFirewallPolicy.Invoke(new()\n    {\n        ResourceGroupName = \"existing\",\n        Name = \"existing\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"id\"] = example.Apply(getFirewallPolicyResult =\u003e getFirewallPolicyResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/waf\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := waf.GetFirewallPolicy(ctx, \u0026waf.GetFirewallPolicyArgs{\n\t\t\tResourceGroupName: \"existing\",\n\t\t\tName:              \"existing\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"id\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.waf.WafFunctions;\nimport com.pulumi.azure.waf.inputs.GetFirewallPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = WafFunctions.getFirewallPolicy(GetFirewallPolicyArgs.builder()\n            .resourceGroupName(\"existing\")\n            .name(\"existing\")\n            .build());\n\n        ctx.export(\"id\", example.id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:waf:getFirewallPolicy\n      arguments:\n        resourceGroupName: existing\n        name: existing\noutputs:\n  id: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.Network` - 2025-01-01\n","inputs":{"description":"A collection of arguments for invoking getFirewallPolicy.\n","properties":{"name":{"type":"string","description":"The name of the Web Application Firewall Policy\n"},"resourceGroupName":{"type":"string","description":"The name of the Resource Group where the Web Application Firewall Policy exists.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"}}},"type":"object","required":["name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getFirewallPolicy.\n","properties":{"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"location":{"type":"string"},"name":{"type":"string"},"resourceGroupName":{"type":"string"},"tags":{"additionalProperties":{"type":"string"},"type":"object"}},"required":["location","name","resourceGroupName","id"],"type":"object"}},"azure:webpubsub/getPrivateLinkResource:getPrivateLinkResource":{"description":"Use this data source to access information about the Private Link Resource supported by the Web Pubsub Resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst testResourceGroup = new azure.core.ResourceGroup(\"test\", {\n    name: \"terraform-webpubsub\",\n    location: \"east us\",\n});\nconst testService = new azure.webpubsub.Service(\"test\", {\n    name: \"tfex-webpubsub\",\n    location: testResourceGroup.location,\n    resourceGroupName: testResourceGroup.name,\n    sku: \"Standard_S1\",\n    capacity: 1,\n});\nconst test = azure.webpubsub.getPrivateLinkResourceOutput({\n    webPubsubId: testService.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\ntest_resource_group = azure.core.ResourceGroup(\"test\",\n    name=\"terraform-webpubsub\",\n    location=\"east us\")\ntest_service = azure.webpubsub.Service(\"test\",\n    name=\"tfex-webpubsub\",\n    location=test_resource_group.location,\n    resource_group_name=test_resource_group.name,\n    sku=\"Standard_S1\",\n    capacity=1)\ntest = azure.webpubsub.get_private_link_resource_output(web_pubsub_id=test_service.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var testResourceGroup = new Azure.Core.ResourceGroup(\"test\", new()\n    {\n        Name = \"terraform-webpubsub\",\n        Location = \"east us\",\n    });\n\n    var testService = new Azure.WebPubSub.Service(\"test\", new()\n    {\n        Name = \"tfex-webpubsub\",\n        Location = testResourceGroup.Location,\n        ResourceGroupName = testResourceGroup.Name,\n        Sku = \"Standard_S1\",\n        Capacity = 1,\n    });\n\n    var test = Azure.WebPubSub.GetPrivateLinkResource.Invoke(new()\n    {\n        WebPubsubId = testService.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/webpubsub\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttestResourceGroup, err := core.NewResourceGroup(ctx, \"test\", \u0026core.ResourceGroupArgs{\n\t\t\tName:     pulumi.String(\"terraform-webpubsub\"),\n\t\t\tLocation: pulumi.String(\"east us\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestService, err := webpubsub.NewService(ctx, \"test\", \u0026webpubsub.ServiceArgs{\n\t\t\tName:              pulumi.String(\"tfex-webpubsub\"),\n\t\t\tLocation:          testResourceGroup.Location,\n\t\t\tResourceGroupName: testResourceGroup.Name,\n\t\t\tSku:               pulumi.String(\"Standard_S1\"),\n\t\t\tCapacity:          pulumi.Int(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_ = webpubsub.GetPrivateLinkResourceOutput(ctx, webpubsub.GetPrivateLinkResourceOutputArgs{\n\t\t\tWebPubsubId: testService.ID(),\n\t\t}, nil)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.webpubsub.Service;\nimport com.pulumi.azure.webpubsub.ServiceArgs;\nimport com.pulumi.azure.webpubsub.WebpubsubFunctions;\nimport com.pulumi.azure.webpubsub.inputs.GetPrivateLinkResourceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var testResourceGroup = new ResourceGroup(\"testResourceGroup\", ResourceGroupArgs.builder()\n            .name(\"terraform-webpubsub\")\n            .location(\"east us\")\n            .build());\n\n        var testService = new Service(\"testService\", ServiceArgs.builder()\n            .name(\"tfex-webpubsub\")\n            .location(testResourceGroup.location())\n            .resourceGroupName(testResourceGroup.name())\n            .sku(\"Standard_S1\")\n            .capacity(1)\n            .build());\n\n        final var test = WebpubsubFunctions.getPrivateLinkResource(GetPrivateLinkResourceArgs.builder()\n            .webPubsubId(testService.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  testResourceGroup:\n    type: azure:core:ResourceGroup\n    name: test\n    properties:\n      name: terraform-webpubsub\n      location: east us\n  testService:\n    type: azure:webpubsub:Service\n    name: test\n    properties:\n      name: tfex-webpubsub\n      location: ${testResourceGroup.location}\n      resourceGroupName: ${testResourceGroup.name}\n      sku: Standard_S1\n      capacity: 1\nvariables:\n  test:\n    fn::invoke:\n      function: azure:webpubsub:getPrivateLinkResource\n      arguments:\n        webPubsubId: ${testService.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.SignalRService` - 2024-03-01\n","inputs":{"description":"A collection of arguments for invoking getPrivateLinkResource.\n","properties":{"webPubsubId":{"type":"string","description":"The ID of an existing Web Pubsub Resource which Private Link Resource should be retrieved for.\n"}},"type":"object","required":["webPubsubId"]},"outputs":{"description":"A collection of values returned by getPrivateLinkResource.\n","properties":{"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"sharedPrivateLinkResourceTypes":{"description":"A \u003cspan pulumi-lang-nodejs=\"`sharedPrivateLinkResourceTypes`\" pulumi-lang-dotnet=\"`SharedPrivateLinkResourceTypes`\" pulumi-lang-go=\"`sharedPrivateLinkResourceTypes`\" pulumi-lang-python=\"`shared_private_link_resource_types`\" pulumi-lang-yaml=\"`sharedPrivateLinkResourceTypes`\" pulumi-lang-java=\"`sharedPrivateLinkResourceTypes`\"\u003e`shared_private_link_resource_types`\u003c/span\u003e block as defined below.\n","items":{"$ref":"#/types/azure:webpubsub/getPrivateLinkResourceSharedPrivateLinkResourceType:getPrivateLinkResourceSharedPrivateLinkResourceType"},"type":"array"},"webPubsubId":{"type":"string"}},"required":["sharedPrivateLinkResourceTypes","webPubsubId","id"],"type":"object"}},"azure:webpubsub/getService:getService":{"description":"Use this data source to access information about an existing Azure Web Pubsub service.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.webpubsub.getService({\n    name: \"test-webpubsub\",\n    resourceGroupName: \"wps-resource-group\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.webpubsub.get_service(name=\"test-webpubsub\",\n    resource_group_name=\"wps-resource-group\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Azure.WebPubSub.GetService.Invoke(new()\n    {\n        Name = \"test-webpubsub\",\n        ResourceGroupName = \"wps-resource-group\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/webpubsub\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := webpubsub.LookupService(ctx, \u0026webpubsub.LookupServiceArgs{\n\t\t\tName:              \"test-webpubsub\",\n\t\t\tResourceGroupName: \"wps-resource-group\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.webpubsub.WebpubsubFunctions;\nimport com.pulumi.azure.webpubsub.inputs.GetServiceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = WebpubsubFunctions.getService(GetServiceArgs.builder()\n            .name(\"test-webpubsub\")\n            .resourceGroupName(\"wps-resource-group\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: azure:webpubsub:getService\n      arguments:\n        name: test-webpubsub\n        resourceGroupName: wps-resource-group\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## API Providers\n\n\u003c!-- This section is generated, changes will be overwritten --\u003e\nThis data source uses the following Azure API Providers:\n\n* `Microsoft.SignalRService` - 2024-03-01\n","inputs":{"description":"A collection of arguments for invoking getService.\n","properties":{"name":{"type":"string","description":"Specifies the name of the Web Pubsub service.\n"},"resourceGroupName":{"type":"string","description":"Specifies the name of the resource group the Web Pubsub service is located in.\n"}},"type":"object","required":["name","resourceGroupName"]},"outputs":{"description":"A collection of values returned by getService.\n","properties":{"aadAuthEnabled":{"type":"boolean"},"capacity":{"type":"integer"},"externalIp":{"type":"string"},"hostname":{"description":"The FQDN of the Web Pubsub service.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"localAuthEnabled":{"type":"boolean"},"location":{"description":"The Azure location where the Web Pubsub service exists.\n","type":"string"},"name":{"type":"string"},"primaryAccessKey":{"description":"The primary access key of the Web Pubsub service.\n","secret":true,"type":"string"},"primaryConnectionString":{"description":"The primary connection string of the Web Pubsub service.\n","secret":true,"type":"string"},"publicNetworkAccessEnabled":{"type":"boolean"},"publicPort":{"description":"The publicly accessible port of the Web Pubsub service which is designed for browser/client use.\n","type":"integer"},"resourceGroupName":{"type":"string"},"secondaryAccessKey":{"description":"The secondary access key of the Web Pubsub service.\n","secret":true,"type":"string"},"secondaryConnectionString":{"description":"The secondary connection string of the Web Pubsub service.\n","secret":true,"type":"string"},"serverPort":{"description":"The publicly accessible port of the Web Pubsub service which is designed for customer server side use.\n","type":"integer"},"sku":{"type":"string"},"tags":{"additionalProperties":{"type":"string"},"type":"object"},"tlsClientCertEnabled":{"type":"boolean"},"version":{"type":"string"}},"required":["aadAuthEnabled","capacity","externalIp","hostname","localAuthEnabled","location","name","primaryAccessKey","primaryConnectionString","publicNetworkAccessEnabled","publicPort","resourceGroupName","secondaryAccessKey","secondaryConnectionString","serverPort","sku","tags","tlsClientCertEnabled","version","id"],"type":"object"}},"pulumi:providers:azure/terraformConfig":{"description":"This function returns a Terraform config object with terraform-namecased keys,to be used with the Terraform Module Provider.","inputs":{"properties":{"__self__":{"type":"ref","$ref":"#/provider"}},"type":"pulumi:providers:azure/terraformConfig","required":["__self__"]},"outputs":{"properties":{"result":{"additionalProperties":{"$ref":"pulumi.json#/Any"},"type":"object"}},"required":["result"],"type":"object"}}}}